From xen-devel-bounces@lists.xenproject.org Sat Mar 01 05:32:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Mar 2025 05:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899313.1307683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1toFSY-0006n0-JO; Sat, 01 Mar 2025 05:32:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899313.1307683; Sat, 01 Mar 2025 05:32: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 1toFSY-0006ml-Do; Sat, 01 Mar 2025 05:32:22 +0000
Received: by outflank-mailman (input) for mailman id 899313;
 Sat, 01 Mar 2025 05:32: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=FVjp=VU=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1toFSX-0006mf-1n
 for xen-devel@lists.xenproject.org; Sat, 01 Mar 2025 05:32: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 8a3aec55-f65e-11ef-9ab0-95dc52dad729;
 Sat, 01 Mar 2025 06:32:18 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 43B7F61160;
 Sat,  1 Mar 2025 05:32:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 322F8C4CEDD;
 Sat,  1 Mar 2025 05:32: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: 8a3aec55-f65e-11ef-9ab0-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1740807136;
	bh=hPXdQ/hFIPpJkdJk70/Oo9SCb0ot1PV7JSm65Zo7Cqg=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=yZynGDlYwSbyoqFxsYZl1iByokf6rG0lkNQ74A4dx6zWUHiE8rkNPKdaqpLCM49Bn
	 Uzrt/PWQSzWLM/oTxXcz3PcYxelzJVyoeGwpXCciRubcatryZJoBOlZTenvMi71GVA
	 2W0TdbFnLPo/0syo4YdyI4XV80EkIo0CIlMPU25o=
Date: Fri, 28 Feb 2025 20:19:47 -0800
From: Greg KH <gregkh@linuxfoundation.org>
To: Harshvardhan Jha <harshvardhan.j.jha@oracle.com>
Cc: =?iso-8859-1?Q?J=FCrgen_Gro=DF?= <jgross@suse.com>,
	Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>,
	Salvatore Bonaccorso <carnil@debian.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org, iommu@lists.linux.dev,
	Radoslav =?iso-8859-1?Q?Bod=F3?= <radoslav.bodo@igalileo.cz>,
	regressions@lists.linux.dev, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [6.1.y] Regression from b1e6e80a1b42 ("xen/swiotlb: add
 alignment check for dma buffers") when booting with Xen and mpt3sas_cm0
 _scsih_probe failures
Message-ID: <2025022853-undivided-scribing-70dd@gregkh>
References: <Z6d-l2nCO1mB4_wx@eldamar.lan>
 <fd650c88-9888-46bc-a448-9c1ddcf2b066@oracle.com>
 <Z6ukbNnyQVdw4kh0@eldamar.lan>
 <716f186d-924a-4f2c-828a-2080729abfe9@oracle.com>
 <6d7ed6bf-f8ad-438a-a368-724055b4f04c@suse.com>
 <2025021548-amiss-duffel-9dcf@gregkh>
 <74e74dde-0703-4709-96b8-e1615d40f19c@suse.com>
 <2025021533-grime-luminous-d598@gregkh>
 <e01c39ad-6f5e-449a-b24a-db3b7984030e@oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e01c39ad-6f5e-449a-b24a-db3b7984030e@oracle.com>

On Fri, Feb 28, 2025 at 01:50:12PM +0530, Harshvardhan Jha wrote:
> 
> On 15/02/25 8:25 PM, Greg KH wrote:
> > On Sat, Feb 15, 2025 at 02:39:46PM +0100, Jürgen Groß wrote:
> >> On 15.02.25 13:34, Greg KH wrote:
> >>> On Sat, Feb 15, 2025 at 12:47:57PM +0100, Jürgen Groß wrote:
> >>>> On 12.02.25 16:12, Harshit Mogalapalli wrote:
> >>>>> Hi Salvatore,
> >>>>>
> >>>>> On 12/02/25 00:56, Salvatore Bonaccorso wrote:
> >>>>>> Hi Harshit,
> >>>>>>
> >>>>>> On Sun, Feb 09, 2025 at 01:45:38AM +0530, Harshit Mogalapalli wrote:
> >>>>>>> Hi Salvatore,
> >>>>>>>
> >>>>>>> On 08/02/25 21:26, Salvatore Bonaccorso wrote:
> >>>>>>>> Hi Juergen, hi all,
> >>>>>>>>
> >>>>>>>> Radoslav Bodó reported in Debian an issue after updating our kernel
> >>>>>>>> from 6.1.112 to 6.1.115. His report in full is at:
> >>>>>>>>
> >>>>>>>> https://bugs.debian.org/1088159
> >>>>>>>>
> >>>>>>> Note:
> >>>>>>> We have seen this on 5.4.y kernel: More details here:
> >>>>>>> https://lore.kernel.org/all/9dd91f6e-1c66-4961-994e-dbda87d69dad@oracle.com/
> >>>>>> Thanks for the pointer, so looking at that thread I suspect the three
> >>>>>> referenced bugs in Debian are in the end all releated. We have one as
> >>>>>> well relating to the megasas_sas driver, this one for the mpt3sas
> >>>>>> driver and one for the i40e driver).
> >>>>>>
> >>>>>> AFAICS, there is not yet a patch which has landed upstream which I can
> >>>>>> redirect to a affected user to test?
> >>>>>>
> >>>>> Konrad pointed me at this thread: https://lore.kernel.org/
> >>>>> all/20250211120432.29493-1-jgross@suse.com/
> >>>>>
> >>>>> This has some fixes, but not landed upstream yet.
> >>>> Patches are upstream now. In case you still experience any problems, please
> >>>> speak up.
> >>> What specific commits should be backported here?
> >> Those are:
> >>
> >> e93ec87286bd1fd30b7389e7a387cfb259f297e3
> >> 85fcb57c983f423180ba6ec5d0034242da05cc54
> > Ugh, neither of them were marked for stable inclusion, why not?  Anyway,
> > I'll go queue them up after this round of kernels is released hopefully
> > tomorrow, but next time, please follow the stable kernel rules if you
> > know you want a patch included in a tree.
> 
> 
> Hi,
> 
> I see these patches in 6.12 now and upon manually checking these patches
> cleanly apply till 6.6 kernel so I guess they will be eventually back
> ported till there?

They are already in the following released kernels:
	6.1.129 6.6.79 6.12.16 6.13.4 6.14-rc3

and the first one is in the stable queues for 5.15, 5.10, and 5.4.  The
second one is not because as you mention:

> 6.1 and older kernels have conflicts while cherry
> picking these commits which makes it harder to verify them as the test
> machine I have runs on a much older kernel(5.4) unfortunately. If it
> could be at least be brought back till 5.15, testing this would become
> much easier.

The commit does not apply cleanly there.  If you need/want it there,
please provide a working and tested backport.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Sat Mar 01 11:43:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Mar 2025 11:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899372.1307703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1toLF8-000091-WE; Sat, 01 Mar 2025 11:42:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899372.1307703; Sat, 01 Mar 2025 11:42: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 1toLF8-00008e-RM; Sat, 01 Mar 2025 11:42:54 +0000
Received: by outflank-mailman (input) for mailman id 899372;
 Sat, 01 Mar 2025 11:42: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=Tn84=VU=gmail.com=andr2000@srs-se1.protection.inumbo.net>)
 id 1toLF7-0008Nf-EH
 for xen-devel@lists.xenproject.org; Sat, 01 Mar 2025 11:42:53 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e3dff74-f692-11ef-9898-31a8f345e629;
 Sat, 01 Mar 2025 12:42:51 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5454f00fc8dso2776583e87.0
 for <xen-devel@lists.xenproject.org>; Sat, 01 Mar 2025 03:42:51 -0800 (PST)
Received: from a2klaptop.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5494d7ac5aasm529435e87.120.2025.03.01.03.42.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 01 Mar 2025 03:42:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e3dff74-f692-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1740829370; x=1741434170; 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=CCxkccS7MSC0gdd3QuyN0yUbNtf2IsYb/tMqB6DPVK8=;
        b=a3VKwg+hgol/U5Vp8g06OqtSee3VViwecpkza2xoa6ZAPLqAmlpvAgcxOYcUPaFCKd
         eSK9a86ATU6EjlCQn3tRHa8FunSu1p9xjdgFK17axFHJlh7Uqjavrd5NeSvnzTILkFtQ
         4ukjS/le/8r75KKuGJxMhtb9nk7FR8tHJipcONVF/BAdPfVRWUd3t2FZ+NqkweC65boB
         O8onDep2RKb5z/FFzFuYb1uPM1GUADGZRVoj6fe1xHvF9iyyccYZiAWbHw1nPdOyVlMi
         fKcuZyCXI+SYp+4dCLxP13fkcz++XKuacUeL0hk6Uqk00NKBrSeiNq0DZqZHFpCdEklj
         1m/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740829370; x=1741434170;
        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=CCxkccS7MSC0gdd3QuyN0yUbNtf2IsYb/tMqB6DPVK8=;
        b=cubCHlvzD2aMWEDv/GPU2NZYlc5sAskCU5V0yawnQEBcuFqqmwovwUElr2tf/aipQB
         9s9zfB1M1JUGcxg8bN5sE9Fk2Q0TPvw5X9VaUE6kYJ+mkCs9bF+VxM+ghlcfP0TVAKza
         VVNOU6eRuq9i6ZwdEJtg1HGj/01I9xxhLpfwi3TfWTXAG0PYuLi1buR4C6B0U+ZjDaWx
         fPWy4qXK01WMFxsvwswp10HGyjqyJBqEHifK69F8X5bCsVsO2MK8dPgBVeIz7U54SFra
         RAg4TyUeh8+DFBsQW/atF9ToC84w1qKsJL7aEqQA/302cX61nelx5ZK1UY4YQXFcMi0W
         hVkQ==
X-Gm-Message-State: AOJu0YwfKzwT5X9Hw4SBMRaqWN7xr8KYGXNTO806rZstPY0WU0uLKE6C
	eyHj6yVs/XwV1S5SafAoMBLFjgPjvw5tA6msc0jw/UGhe0IHEl/enBL6b9pB
X-Gm-Gg: ASbGncuOrMMv/435fDUzPVv3YqI9/icYrOdWCnP0PRxb9m4mmd8g6Nz//bwiCx2B74L
	kj4rYhVjROfiLlxffDeuzOM8hoQhnHVOLB3YMOp9ELENNkc1LOcALg1AWtkFtAb+Gg8NPQvLAsd
	5ZdkVFVsINtxpX+u/ugj53/rrQQvT8JNPi6obDKgK584Cx4bAz6LB4LEr1h711zVr+EHvSnqGEX
	7euXTFvOF1wcqsU73Dfe77YV/gn5at7nBIgdJZFDwYwOqvxk+s7JwRhRR/W72ZU71yfO48osGQZ
	Hpto4A7sc/2OcqTQoVgBvanxu5USpSWYTm7RvPDsaImXPx7OLbKLJw==
X-Google-Smtp-Source: AGHT+IFK1Zbw56Ik5i18LJaC3F8zSfrHuz+EhjoUC3Ah7x4rc0AtRqJL72/whDBO6gbjwkdEFwRbdw==
X-Received: by 2002:a05:6512:71:b0:549:39b1:65c2 with SMTP id 2adb3069b0e04-5494c38c14emr2633136e87.48.1740829369324;
        Sat, 01 Mar 2025 03:42:49 -0800 (PST)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: andr2000@gmail.com,
	sstabellini@kernel.org,
	Artem_Mygaiev@epam.com,
	jbeulich@suse.com,
	Luca.Fancellu@arm.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	andrew.cooper3@citrix.com,
	anthony.perard@vates.tech,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH 1/4] Add .clang-format files to enable manual coding style checks
Date: Sat,  1 Mar 2025 13:42:39 +0200
Message-Id: <20250301114242.93650-2-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250301114242.93650-1-andr2000@gmail.com>
References: <20250301114242.93650-1-andr2000@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Disable coding style checks for the project, but xen/ folder:
this is done by providing a global .clang-format at the top level which
disables clang-format and only providing .clang-format for xen/.

clang-format version expected to be >15 and the latest tool can be
installed with:
python3 -m pip install clang-format

Please note, that no automatic code style checks are performed and all
those can be run manually:

- to see changes proposed to the patch being worked on (not committed yet):
git-clang-format --diff --style=file --verbose

- to run code formatting on the HEAD patch:
git-clang-format --style=file --verbose HEAD~1

Provided xen/.clang-format still has a lot of comments gathered from the
previous discussions. This is for purpose of better seeing why some of
the options have their values. Once option values are accepted all those
comments can be removed.

Signed-off-by: Oleksandr Andrushchenko <andr2000@gmail.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 .clang-format     |    5 +
 xen/.clang-format | 1380 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1385 insertions(+)
 create mode 100644 .clang-format
 create mode 100644 xen/.clang-format

diff --git a/.clang-format b/.clang-format
new file mode 100644
index 000000000000..fc3f8e167f65
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,5 @@
+---
+DisableFormat: true
+SortIncludes: Never
+...
+
diff --git a/xen/.clang-format b/xen/.clang-format
new file mode 100644
index 000000000000..480628544cdd
--- /dev/null
+++ b/xen/.clang-format
@@ -0,0 +1,1380 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# clang-format configuration file. Intended for clang-format >= 15.
+#
+# For more information, see:
+#
+#   Documentation/process/clang-format.rst
+#   https://clang.llvm.org/docs/ClangFormat.html
+#   https://clang.llvm.org/docs/ClangFormatStyleOptions.html
+#
+---
+
+################################################################################
+# How to review the changes
+################################################################################
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02126.html
+# ------------------------------------------------------------------------------
+# George Dunlap:
+# It's hard to agree on this one without seeing some of the examples of
+# what it does, some examples of the "weird behavior" Stefano &
+# Allejandro found, and some examples of places where it's going to
+# remove the alignment.
+#
+# I had tried to apply your series before and didn't get very far with
+# it for some reason ISTR.  One way to see the effect of individual
+# features would be:
+#
+# 1. Make a branch with one big patch applying clang-format for a given style
+#
+# 2. Change just one style line, re-run clang format, and create a new
+# patch from that
+#
+# Then it would be easy to see the difference between the two.  It might
+# actually be easier for individual reviewers to do that on their own
+# trees, rather than to ask you to try to generate and post such patches
+# somewhere.
+
+################################################################################
+# do/while loops
+################################################################################
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02276.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > I've read the past threads about the brave people who dared to try to
+# > introduce clang-format for the xen codebase, some of them from 5 years ago,
+# > two points were clear: 1) goto label needs to be indented and 2) do-while
+# > loops have the braket in the same line.
+# > While point 1) was quite a blocker, it seemd to me that point 2) was less
+# > controversial to be changed in the Xen codestyle, so the current wrapper
+# > script handles only the point 1 (which is easy), the point 2 can be more
+# > tricky to handle.
+#
+# I'm afraid I view the do/while part pretty much as a blocker as well.
+# While placing the opening brace according to our style elsewhere would
+# be okay-ish (just a little wasteful to have two almost empty lines),
+# having the closing brace on a separate line is problematic: At least I
+# consider a block / scope to end at the line where the closing brace is.
+# So the farther do and while are apart, the more
+#
+#    do
+#    {
+#        ...;
+#    }
+#    while ( cond );
+#    ...;
+#
+# is going to be misleading. While normally we would write potentially
+# conflicting constructs this way
+#
+#     while ( cond )
+#         ;
+#
+# the alternative spelling still isn't outright wrong in our style (I
+# believe):
+#
+#     while ( cond );
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02282.html
+# ------------------------------------------------------------------------------
+# Luca:
+# Thank you for your feedback, I could maybe misunderstood your reply, so please
+# tell me if I am wrong, the Xen coding style mandates this style for do-while
+# loops:
+#
+# do {
+# /* Do stuff. */
+# } while ( condition );
+#
+# Currently clang-format is able to do only this:
+#
+# do
+# {
+# /* Do stuff. */
+# } while ( condition );
+#
+# So the issue is only in the opening brackets, not the closing one. Is it a
+# blocker too?
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02284.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > do
+# > {
+# > /* Do stuff. */
+# > } while ( condition );
+#
+# Oh, I hadn't understood your description that way.
+#
+# > So the issue is only in the opening brackets, not the closing one. Is it a
+# > blocker too?
+#
+# No. I don't like the longer form, but I could live with it.
+
+################################################################################
+# clang version to use
+################################################################################
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02301.html
+# ------------------------------------------------------------------------------
+# Alejandro:
+# > The minimum clang-format version for the file is 15, my ubuntu 22.04 comes
+# > with it, we can reason if it's too high, or if we could also use the latest
+# > version maybe shipped inside a docker image.
+# 15 sounds ok \methinks. In practice we'll just stick it in GitLab and let
+# it check commits, so we'll be safe even in the case where every developer
+# has a slightly different version of the tool. I wouldn't try to make this
+# (hard) task harder by trying to retrofit it in an older version.
+#
+# It might be worth stitching a flag in the python script to scream if the
+#clang-format version doesn't match. Or it may do a mess of the tree.
+
+################################################################################
+# Options and their discussions
+################################################################################
+
+# [not specified]
+# Align function parameter that goes into a new line, under the open bracket
+# (supported in clang-format 3.8)
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
+# ------------------------------------------------------------------------------
+# Luca: This one is to align function parameters that overflows the line length,
+# I chose to align them to the open bracket to match the current codebase
+# (hopefully) e.g.:
+# someLongFunction(argument1,
+#                  argument2);
+#
+# This one can be a candidate for an entry in our coding style
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > e.g.:
+# > someLongFunction(argument1,
+# >                  argument2);
+# The above matches neither of the two generally permitted styles:
+#
+#    someLongFunction(argument1,
+#                     argument2);
+#
+#    someLongFunction(
+#        argument1,
+#        argument2);
+#
+# Then again from its name I would infer this isn't just about function
+# arguments?
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
+# ------------------------------------------------------------------------------
+# Luca:
+# I think it applies to parameters and arguments of functions and macro, given
+# the description in the docs.
+# I see your two snippets above but Iâve always found at least on arm a
+# predominance of the style above for functions, so arguments aligned after the
+# opening bracket, for macros there is a mix.
+# I might be wrong though and so another opinion from another maintainer would
+# help.
+# In any case we can choose among many value:
+# https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
+# but when we do so, we need to stick to one permitted style only, the tool donât
+# allow to specify more than one.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02311.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > I see your two snippets above but Iâve always found at least on arm a
+# > predominance of the style above for functions, so arguments aligned after
+# > the opening bracket, for macros there is a mix.
+#
+# The latter "above" refers to which form exactly? The one you originally
+# spelled out, or the former of what my reply had?
+#
+# > In any case we can choose among many value:
+# > https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
+# > but when we do so, we need to stick to one permitted style only, the tool
+# > donât allow to specify more than one.
+#
+# a2k: RED FLAG
+# On top of my earlier reply yet another reason perhaps that this tool then
+# won't really fit our intended use.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02356.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > The latter "above" refers to which form exactly? The one you originally
+# > spelled out, or the former of what my reply had?
+#
+# In my reply I was referring to the one I originally spelled out.
+#
+# > On top of my earlier reply yet another reason perhaps that this tool then
+# > won't really fit our intended use.
+# ok
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02361.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > In my reply I was referring to the one I originally spelled out.
+#
+# But that's properly malformed, for not aligning argument2 with argument1.
+# Where are such constructs commonly used? I just took one example (cpuerrata.c)
+# and only found my first form of wrapping.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02366.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > But that's properly malformed, for not aligning argument2 with argument1.
+# > Where are such constructs commonly used? I just took one example (cpuerrata.c)
+# > and only found my first form of wrapping.
+#
+# I had to go back to the thread to realise there was some style issue, the
+# snippet I thought I sent already had argument2 aligned under argument1, like
+# this:
+#
+# e.g.:
+# someLongFunction(argument1,
+#                                argument2);
+#
+# Even my wording was not really accurate, as I meant:
+# âThis one is to align function parameters that overflows the line length, I
+# chose to align them *after* the open bracket to match the current codebase
+# (hopefully)â
+# So to summarize, this value formats the code to have overflowing args/param
+# aligned after the open braket.
+#
+# But I understand that having only one format is not desirable.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02367.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > So to summarize, this value formats the code to have overflowing args/param
+# > aligned after the open braket.
+#
+# But the example above _again_ does not have the two arguments aligned.
+# I would have suspected a mail UI issue, but
+# https://lists.xen.org/archives/html/xen-devel/2023-11/msg02366.html
+# similarly shows way too many indenting blanks on the 2nd line.
+AlignAfterOpenBracket: Align
+
+# [not specified]
+# Align array of struct's elements by column and justify
+# struct test demo[] =
+# {
+#     {56, 23,    "hello"},
+#     {-1, 93463, "world"},
+#     {7,  5,     "!!"   }
+# };
+# (supported in clang-format 13)
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
+# ------------------------------------------------------------------------------
+# Luca: "When using initialization for an array of structs aligns the fields into
+# columns."
+# Itâs important to say that even if we specify "None", it is going to format the
+# data structure anyway, I choose left, but clearly Iâm open to suggestions.
+# I donât know how to phrase this one in our coding style
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
+# ------------------------------------------------------------------------------
+# Jan:
+# You don't say in which way it re-formats such constructs.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > You don't say in which way it re-formats such constructs.
+# Sure, taking as example an array of structure, xen/drivers/video/modelines.h,
+# With AlignArrayOfStructures: None we have this below.
+#
+# diff --git a/xen/drivers/video/modelines.h b/xen/drivers/video/modelines.h
+# index 9cb7cdde055f..3ff23ef1f8a7 100644
+# --- a/xen/drivers/video/modelines.h
+# +++ b/xen/drivers/video/modelines.h
+# @@ -42,36 +42,36 @@ struct modeline {
+#  };
+#
+#  struct modeline __initdata videomodes[] = {
+# -    { "640x480@60",   25175,  640,  16,   96,   48,   480,  11,   2,    31 },
+#
+# [snip]
+#
+# With AlignArrayOfStructures: Left we have (I noticed there might be a small
+# bug in clang-format since the first entry has no space after the opening curly
+# bracket):
+#
+# diff --git a/xen/drivers/video/modelines.h b/xen/drivers/video/modelines.h
+# index 9cb7cdde055f..1afe725dcb4c 100644
+# --- a/xen/drivers/video/modelines.h
+# +++ b/xen/drivers/video/modelines.h
+# @@ -42,36 +42,36 @@ struct modeline {
+#  };
+#
+#  struct modeline __initdata videomodes[] = {
+# -    { "640x480@60",   25175,  640,  16,   96,   48,   480,  11,   2,    31 },
+#
+# [snip]
+#
+# With AlignArrayOfStructures: Right we have:
+#
+# diff --git a/xen/drivers/video/modelines.h b/xen/drivers/video/modelines.h
+# index 9cb7cdde055f..539ab7c12d00 100644
+# --- a/xen/drivers/video/modelines.h
+# +++ b/xen/drivers/video/modelines.h
+# @@ -42,36 +42,36 @@ struct modeline {
+#  };
+#
+#  struct modeline __initdata videomodes[] = {
+# -    { "640x480@60",   25175,  640,  16,   96,   48,   480,  11,   2,    31 },
+#
+# [snip]
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02311.html
+# ------------------------------------------------------------------------------
+# Jan:
+# a2k: RED FLAG
+# None of which improve what we have at present, imo. Yet another reason not
+# to use this tool then, I would say.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02356.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > None of which improve what we have at present, imo. Yet another reason not
+# > to use this tool then, I would say.
+# Ok
+AlignArrayOfStructures: Left
+
+# [not specified]
+# Align consecutive assignments (supported in clang-format 3.8)
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
+# ------------------------------------------------------------------------------
+# Luca: This one is disabled because of feedbacks from Stefano and Alejandro
+# about some weird behaviour on our codebase.
+# This one could be phased along this line: âConsecutive assignments don't need
+# to be aligned.â, the issue is that in this way it seems that itâs optional,
+# but clang-format is going to remove the alignment anyway for assignment that
+# are consecutive and aligned.
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02126.html
+# ------------------------------------------------------------------------------
+# George: It's hard to agree on this one without seeing some of the examples of
+# what it does, some examples of the "weird behavior" Stefano &
+# Allejandro found, and some examples of places where it's going to
+# remove the alignment.
+#
+# I had tried to apply your series before and didn't get very far with
+# it for some reason ISTR.  One way to see the effect of individual
+# features would be:
+#
+# 1. Make a branch with one big patch applying clang-format for a given style
+# 2. Change just one style line, re-run clang format, and create a new
+# patch from that
+#
+# Then it would be easy to see the difference between the two.  It might
+# actually be easier for individual reviewers to do that on their own
+# trees, rather than to ask you to try to generate and post such patches
+# somewhere.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02132.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > It's hard to agree on this one without seeing some of the examples of
+# > what it does, some examples of the "weird behavior" Stefano &
+# > Allejandro found,
+# I think there was a comment from Stefano for the RFC v1:
+# https://patchwork.kernel.org/project/xen-devel/cover/20230728081144.4124309-1-luca.fancellu@xxxxxxx/#25447625
+#
+# a2k:
+# RFC v1: https://patchew.org/Xen/20230728081144.4124309-1-luca.fancellu@arm.com/
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > This one is disabled because of feedbacks from Stefano and Alejandro about
+# > some weird behaviour on our codebase.
+# > This one could be phased along this line: âConsecutive assignments don't need
+# > to be aligned.â, the issue is that in this way it seems that itâs optional,
+# > but clang-format is going to remove the alignment anyway for assignment
+# > that are consecutive and aligned.
+#
+# Like below if there's no way to say "leave alone", then I don't consider this
+# usable. Imo we want to permit people to align when they think it helps, but
+# we don't want to demand them doing so.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > Like below if there's no way to say "leave alone", then I don't consider this
+# > usable. Imo we want to permit people to align when they think it helps, but
+# > we don't want to demand them doing so.
+#
+# Yes I understand, unfortunately the tool doesnât allow that and if we donât
+# specify this configurable, it will take the default one which is disabled
+# (and so would remove the formatting from already aligned assignments
+# that it would eventually find).
+#
+# This most of the configurable, when not specified, they apply their default
+# to the code anyway.
+#AlignConsecutiveAssignments: None
+# According to https://releases.llvm.org/15.0.0/tools/clang/docs/ClangFormatStyleOptions.html
+# Nested configuration flags: Alignment options.
+#
+# a2k: FIXME: If we use None above then the below options are not needed?
+AlignConsecutiveAssignments:
+  Enabled: false
+  AcrossEmptyLines: false
+  AcrossComments: false
+
+# [not specified]
+# Do not align consecutive bit fields (supported in clang-format 11)
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
+# ------------------------------------------------------------------------------
+# Luca: Same thing as AlignConsecutiveAssignments, but for bitfields.
+AlignConsecutiveBitFields: None
+
+# [not specified]
+# Do not align values of consecutive declarations
+# (supported in clang-format 3.8)
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
+# ------------------------------------------------------------------------------
+# Luca: This aligns declarations names, same considerations as
+# AlignConsecutiveAssignments.
+AlignConsecutiveDeclarations: None
+
+# [not specified]
+# Align values of consecutive macros (supported in clang-format 9)
+AlignConsecutiveMacros:
+  Enabled: true
+  AcrossEmptyLines: false
+  AcrossComments: false
+
+# [not specified]
+# Align escaped newlines to the right (supported in clang-format 5)
+AlignEscapedNewlines: Right
+
+# [not specified]
+# Aligns operands of a single expression that needs to be split over multiple
+# lines (supported in clang-format 3.5)
+AlignOperands: Align
+
+# Do not align trailing consecutive comments (It helps to make clang-format
+# reproduce the same output when it runs on an already formatted file)
+# (supported in clang-format 3.7)
+AlignTrailingComments: true
+
+# [not specified]
+# Do not put all function call arguments on a new line, try to have at least
+# the first one close to the opening parenthesis (supported in clang-format 9)
+AllowAllArgumentsOnNextLine: false
+
+# [not specified]
+# Do not put all function declaration parameters on a new line, try to have at
+# least the first one close to the opening parenthesis
+# (supported in clang-format 3.3)
+AllowAllParametersOfDeclarationOnNextLine: false
+
+# Bracing condition needs to be respected even if the line is so short that the
+# final block brace can stay on a single line
+# (supported in clang-format 3.5)
+# Luca: AllowShortBlocksOnASingleLine: Never
+# Oleksandr: this is good for empty inline functions, e.g.
+#
+# -static inline void arm_smmu_disable_ats(struct arm_smmu_master *master) { }
+# +static inline void arm_smmu_disable_ats(struct arm_smmu_master *master)
+# +{}
+AllowShortBlocksOnASingleLine: Empty
+
+# (supported in clang-format 3.6)
+AllowShortCaseLabelsOnASingleLine: false
+
+# (supported in clang-format 3.11)
+AllowShortEnumsOnASingleLine: false
+
+# (supported in clang-format 3.5)
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02355.html
+# ------------------------------------------------------------------------------
+# Luca:
+# >> static void __init efi_arch_cpu(void)
+# >> -{
+# >> -}
+# >> +{}
+# >>
+#
+# Also this one can be changed I think by tweaking
+# AllowShortFunctionsOnASingleLine, so that we can have just:
+#
+# static void __init efi_arch_cpu(void) {}
+AllowShortFunctionsOnASingleLine: Empty
+
+# (supported in clang-format 3.3)
+AllowShortIfStatementsOnASingleLine: Never
+
+# (supported in clang-format 3.7)
+AllowShortLoopsOnASingleLine: false
+
+# [not specified]
+# Do not add a break after the definition return type
+# (supported in clang-format 3.8)
+AlwaysBreakAfterReturnType: None
+
+# [not specified]
+# There is no need to use a break after an assigment to a multiline string
+# (supported in clang-format 3.4)
+AlwaysBreakBeforeMultilineStrings: false
+
+# (supported in clang-format 3.4)
+AlwaysBreakTemplateDeclarations: false
+
+# Specify Xen's macro attributes (supported in clang-format 12)
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00833.html
+# ------------------------------------------------------------------------------
+# Jan: Like above, the significance of having this list and needing to keep it
+# up-to-date is unclear to me. I guess the same also applies to a few
+# further settings down from here.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00867.html
+# ------------------------------------------------------------------------------
+# Luca: From what I understand, we should give to the formatter tool all the hint
+# possible to make it do a good
+# job, for example here we should maintain a list of our attributes so that
+# clang-format doesnât think the function
+# below is called __init instead of device_tree_node_matches.
+
+# static bool __init device_tree_node_matches(const void *fdt, int node, const
+# char *match)
+# { ... }
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00888.html
+# ------------------------------------------------------------------------------
+# Jan: Well, perhaps they indeed need to do some level of syntax analysis, in
+# which case knowing which identifiers act as attributes is likely going
+# to help. Which is where the "needs keeping up-to-date" aspect comes into
+# play. The example above is simple enough that I wouldn't think a parser
+# needs to guess what this represents, but presumably there are cases
+# where ambiguities might arise. (I also wouldn't exclude that the more
+# involved syntax in C++ increases the desire to have apriori knowledge on
+# the purpose of certain identifiers. In the end, as per above, the tool
+# is being told to expect C++ code.)
+AttributeMacros:
+  - '__init'
+  - '__exit'
+  - '__initdata'
+  - '__initconst'
+  - '__initconstrel'
+  - '__initdata_cf_clobber'
+  - '__initconst_cf_clobber'
+  - '__hwdom_init'
+  - '__hwdom_initdata'
+  - '__maybe_unused'
+  - '__packed'
+  - '__stdcall'
+  - '__vfp_aligned'
+  - '__alt_call_maybe_initdata'
+  - '__cacheline_aligned'
+  - '__ro_after_init'
+  - 'always_inline'
+  - 'noinline'
+  - 'noreturn'
+  - '__weak'
+  - '__inline__'
+  - '__attribute_const__'
+  - '__transparent__'
+  - '__used'
+  - '__must_check'
+  - '__kprobes'
+
+# [not specified]
+# Try always to pack function call arguments on the same line before breaking
+# (supported in clang-format 3.7)
+BinPackArguments: true
+
+# [not specified]
+# Try always to pack function declaration parameters on the same line before
+# breaking (supported in clang-format 3.7)
+BinPackParameters: true
+
+# [not specified]
+# Do not add a spaces on bitfield 'unsigned bf:2;'
+# (supported in clang-format 12)
+BitFieldColonSpacing: None
+
+# Xen's coding style does not follow clang-format already available profiles for
+# breaking before braces, so set it to Custom and specify each case separately
+# (supported in clang-format 3.8)
+BraceWrapping:
+  # Braces ('{' and '}') are usually placed on a line of their own
+  AfterCaseLabel: true
+  AfterFunction: true
+  BeforeElse: true
+  AfterExternBlock: true
+  # except for the opening brace in definitions of enum, struct, and union
+  AfterEnum: false
+  AfterStruct: false
+  AfterUnion: false
+  # This is unlike the Linux coding style and unlike K&R.
+  #
+  # if ( condition )
+  # {
+  #     /* Do stuff. */
+  # }
+  # else
+  # {
+  #     /* Other stuff. */
+  # }
+  #
+  # while ( condition )
+  # {
+  #     /* Do stuff. */
+  # }
+  #
+  # [non-compliant]
+  # do-while is not compliant with CODING_STYLE because clang format doesn't
+  # support different styles for every control statement
+  # do
+  # {
+  #     /* Do stuff. */
+  # } while ( condition );
+  AfterControlStatement: Always
+  BeforeWhile: false
+  IndentBraces: false
+  # [not specified]
+  # Keep empty functions with braces style like this: 'void func() {}' instead
+  # of breaking the braces
+  SplitEmptyFunction: false
+  # Not related to C language, but specified for completeness
+  AfterClass: false
+  AfterNamespace: false
+  AfterObjCDeclaration: false
+  BeforeCatch: false
+  BeforeLambdaBody: false
+  SplitEmptyRecord: true
+  SplitEmptyNamespace: true
+
+# (supported in clang-format 3.18)
+BreakAdjacentStringLiterals: false
+
+# [not specified]
+# Break only after the operator in case of a long expression
+# (supported in clang-format 3.6)
+BreakBeforeBinaryOperators: None
+
+# Xen's coding style does not follow clang-format already available profiles for
+# breaking before braces, so set it to Custom and specify each case separately
+# (supported in clang-format 3.7)
+BreakBeforeBraces: Custom
+
+# [not specified]
+# Break before inline ASM colon if the line length is longer than column limit.
+# (This is a new feature upstreamed by EPAM during its work on clang-format for
+# Xen)
+# (supported in clang-format 16)
+BreakBeforeInlineASMColon: OnlyMultiline
+
+# [not specified]
+# Ternary operators '?, :' can be put after a line break
+# (supported in clang-format 3.7)
+BreakBeforeTernaryOperators: true
+
+# (supported in clang-format 5)
+BreakConstructorInitializers: BeforeComma
+
+# User visible strings (e.g., printk() messages) should not be split so they can
+# be searched for more easily. (supported in clang-format 3.9)
+BreakStringLiterals: false
+
+# Lines should be less than 80 characters in length
+# (supported in clang-format 3.7)
+ColumnLimit: 80
+
+# (supported in clang-format 3.7)
+CommentPragmas: '^ IWYU pragma:'
+
+# Code within blocks is indented by one extra indent level
+# (supported in clang-format 3.7)
+ContinuationIndentWidth: 4
+
+# Do not derive pointer alignment style from the file
+# (supported in clang-format 3.7)
+DerivePointerAlignment: false
+
+# Taken from:
+# git grep -h -i '^#define [^[:space:]]*for_each[^[:space:]]*(' xen/ \
+# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$,  - '\1',i" \
+# | LC_ALL=C sort -u
+# A vector of macros that should be interpreted as foreach loops instead of as
+# function calls.
+# (supported in clang-format 3.7)
+ForEachMacros:
+  - 'FOR_EACH_IOREQ_SERVER'
+  - '__list_for_each_rcu'
+  - 'dt_for_each_child_node'
+  - 'dt_for_each_device_node'
+  - 'dt_for_each_property_node'
+  - 'ebitmap_for_each_positive_bit'
+  - 'expr_list_for_each_sym'
+  - 'fdt_for_each_property_offset'
+  - 'fdt_for_each_subnode'
+  - 'for_each_affinity_balance_step'
+  - 'for_each_amd_iommu'
+  - 'for_each_cfg_sme'
+  - 'for_each_cpu'
+  - 'for_each_domain'
+  - 'for_each_domain_in_cpupool'
+  - 'for_each_drhd_unit'
+  - 'for_each_kimage_entry'
+  - 'for_each_node_mask'
+  - 'for_each_online_cpu'
+  - 'for_each_online_node'
+  - 'for_each_pdev'
+  - 'for_each_possible_cpu'
+  - 'for_each_present_cpu'
+  - 'for_each_rmrr_device'
+  - 'for_each_sched_unit'
+  - 'for_each_sched_unit_vcpu'
+  - 'for_each_set_bit'
+  - 'for_each_vcpu'
+  - 'for_each_vp'
+  - 'hlist_for_each'
+  - 'hlist_for_each_entry'
+  - 'hlist_for_each_entry_continue'
+  - 'hlist_for_each_entry_from'
+  - 'hlist_for_each_entry_rcu'
+  - 'hlist_for_each_entry_safe'
+  - 'hlist_for_each_safe'
+  - 'list_for_each'
+  - 'list_for_each_backwards_safe'
+  - 'list_for_each_continue_rcu'
+  - 'list_for_each_entry'
+  - 'list_for_each_entry_continue'
+  - 'list_for_each_entry_from'
+  - 'list_for_each_entry_rcu'
+  - 'list_for_each_entry_reverse'
+  - 'list_for_each_entry_safe'
+  - 'list_for_each_entry_safe_continue'
+  - 'list_for_each_entry_safe_from'
+  - 'list_for_each_entry_safe_reverse'
+  - 'list_for_each_prev'
+  - 'list_for_each_rcu'
+  - 'list_for_each_safe'
+  - 'list_for_each_safe_rcu'
+  - 'page_list_for_each'
+  - 'page_list_for_each_safe'
+  - 'page_list_for_each_safe_reverse'
+
+# A vector of macros that should be interpreted as conditionals instead of as
+# function calls. (supported in clang-format 13)
+#IfMacros:
+#  - ''
+
+# Sort include files by block of includes and not as only one group
+# (supported in clang-format 6)
+IncludeBlocks: Preserve
+
+# [not specified]
+# Regular expressions denoting the different #include categories used for
+# ordering #includes. (supported in clang-format 3.8)
+#IncludeCategories:
+#  - Regex: '.*'
+#    Priority: 1
+
+# When guessing whether a #include is the âmainâ include (to assign category 0,
+# see above), use this regex of allowed suffixes to the header stem. A partial
+# match is done, so that: - ââ means âarbitrary suffixâ - â$â means âno suffixâ
+# For example, if configured to â(_test)?$â, then a header a.h would be seen as
+# the âmainâ include in both a.cc and a_test.cc.
+# (Do we have a main include in Xen?)
+# (supported in clang-format 3.9)
+#IncludeIsMainRegex: '(Test)?$'
+
+# Non-case labels inside switch() bodies are preferred to be indented the same
+# as the block's case labels (supported in clang-format 11)
+IndentCaseBlocks: false
+
+# [not specified]
+# Do not indent case labels in the switch block (supported in clang-format 3.3)
+IndentCaseLabels: false
+
+# [not specified]
+# Do not indent extern "C" block
+# (supported in clang-format 11)
+IndentExternBlock: NoIndent
+
+# Due to the behavior of GNU diffutils "diff -p", labels should be indented by
+# at least one blank (supported in clang-format 10)
+IndentGotoLabels: true
+
+# [not specified]
+# Do not create indentation for the preprocessor directives
+# (supported in clang-format 6)
+IndentPPDirectives: AfterHash
+
+# An indent level consists of four spaces (supported in clang-format 3.7)
+IndentWidth: 4
+
+# [not specified]
+# In case a function definition or declaration needs to be wrapped after the
+# type, do not indent the new line (supported in clang-format 3.7)
+IndentWrappedFunctionNames: false
+
+# Braces should be omitted for blocks with a single statement. e.g.,
+# if ( condition )
+#     single_statement();
+# (supported in clang-format 15)
+InsertBraces: false
+
+# [not specified]
+# Every file needs to end with a new line
+# (supported in clang-format 16)
+# InsertNewlineAtEOF: true
+
+# [not specified]
+# Keep empty lines (up to MaxEmptyLinesToKeep) at end of file
+# (supported in clang-format 17)
+# KeepEmptyLinesAtEOF: true
+
+# [not specified]
+# Do not add a new empty line at the start of the block
+# (supported in clang-format 3.7)
+KeepEmptyLinesAtTheStartOfBlocks: false
+
+# The Xen Hypervisor is written in C language (supported in clang-format 3.5)
+Language: Cpp
+
+# [not specified]
+# Line ending style is '\n' (supported in clang-format 16)
+# LineEnding: LF
+
+# Specify Xen's macro that starts a block of code
+# (supported in clang-format 3.7)
+MacroBlockBegin: '^PLATFORM_START|^DT_DEVICE_START|^ACPI_DEVICE_START'
+
+# Specify Xen's macro that ends a block of code (supported in clang-format 3.7)
+MacroBlockEnd: '^PLATFORM_END|^DT_DEVICE_END|^ACPI_DEVICE_END'
+
+# [not specified]
+# Maximum consecutive empty lines allowed (supported in clang-format 3.7)
+MaxEmptyLinesToKeep: 1
+
+# Parameters to tweak to discourage clang-format to break something
+# (supported in clang-format 5)
+PenaltyBreakAssignment: 30
+# (supported in clang-format 3.7)
+PenaltyBreakBeforeFirstCallParameter: 30
+# (supported in clang-format 3.7)
+PenaltyBreakComment: 10
+# (supported in clang-format 3.7)
+PenaltyBreakFirstLessLess: 0
+# (supported in clang-format 14)
+PenaltyBreakOpenParenthesis: 100
+# (supported in clang-format 3.7)
+PenaltyBreakString: 10
+# (supported in clang-format 3.7)
+PenaltyExcessCharacter: 100
+# (supported in clang-format 12)
+PenaltyIndentedWhitespace: 0
+# (supported in clang-format 3.7)
+PenaltyReturnTypeOnItsOwnLine: 60
+
+# [not specified]
+# Pointer alignment style is on the right 'void *var'
+# (supported in clang-format 3.7)
+PointerAlignment: Right
+
+# [not specified]
+# The number of columns to use for indentation of preprocessor statements
+# When set to -1 (default) IndentWidth is used also for preprocessor statements.
+# (supported in clang-format 13)
+PPIndentWidth: -1
+
+# [not specified]
+# (supported in clang-format 14)
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
+# ------------------------------------------------------------------------------
+# Luca:
+# Our coding style doesnât mention anything about alignment, shall we add a new
+# section? I can send patches when we reach agreement on each of these rules.
+#
+# QualifierAlignment: Custom
+# QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
+#
+# ---
+# For âQualifierAlignmentâ I chose Custom in order to apply in âQualifierOrderâ
+# an order for the qualifiers that match the current codebase, we could specify
+# also âLeaveâ in order to keep them as they are.
+# Depending on how the discussion goes on this one, it could be an entry in our
+# coding style
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
+# ------------------------------------------------------------------------------
+# Jan: Where do attributes go in this sequence?
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > Where do attributes go in this sequence?
+#
+# I think function declaration/definition and variables.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02311.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > I think function declaration/definition and variables.
+#
+# How does this relate to my question? I asked about the sequence of elements
+# listed for QualifierOrder:, where attributes don't appear at all right now.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02356.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > How does this relate to my question? I asked about the sequence of elements
+# > listed for QualifierOrder:, where attributes don't appear at all right now.
+#
+# Sorry, I misread your question, attributes are like invisible for the tool,
+# they can be placed wherever between each of the QualifierOrder items.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02361.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > Sorry, I misread your question, attributes are like invisible for the tool,
+# > they can be placed wherever between each of the QualifierOrder items.
+#
+# Hoho, one thing where various options are tolerated.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02469.html
+# ------------------------------------------------------------------------------
+# Luca:
+# >> Hoho, one thing where various options are tolerated.
+#
+# I realise now that my answer above is not fully correct, I wanted to say that
+# the attributes are like invisible for the tool only when dealing with this
+# rule about ordering of the qualifiers.
+#
+# On the other hand, yes, if the QualifierAlignment is âLeaveâ, clang-format
+# wonât touch them.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02479.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > On the other hand, yes, if the QualifierAlignment is âLeaveâ, clang-format
+# > wonât touch them.
+#
+# Hmm - gets me back to wondering what "Alignment" in the name is about, when
+# order of syntactical elements is affected.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02481.html
+# ------------------------------------------------------------------------------
+# Luca:
+# Yes, probably QualifierAlignment is not the best name.
+QualifierAlignment: Custom
+
+# Specify in which order the qualifiers should appear 'static const int *var'
+# (supported in clang-format 14)
+QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
+
+# Don't try to reflow comments to respect the column limit (It helps to make
+# clang-format reproduce the same output when it runs on an already formatted
+# file)
+# (supported in clang-format 3.8)
+ReflowComments: true
+
+# [not specified]
+# Specifies the use of empty lines to separate definition blocks, including
+# structs, enums, and functions
+# (supported in clang-format 14)
+SeparateDefinitionBlocks: Always
+
+# [not specified]
+# Sort the include files by name (supported in clang-format 3.8)
+# TODO: enabling this will currently break the compilation, maybe fix?
+SortIncludes: Never
+
+# [not specified]
+# Do not format macro definition body
+# (supported in clang-format 3.18)
+SkipMacroDefinitionBody: true
+
+# [not specified]
+# Do not allow a space after a type cast '(type)var'
+# (supported in clang-format 3.5)
+SpaceAfterCStyleCast: false
+
+# [not specified]
+# Do not allow a space after the not operator '!var'
+# (supported in clang-format 9)
+SpaceAfterLogicalNot: false
+
+# Ensure that there is a space after pointer qualifiers, when used with
+# PointerAlignment of value Right it means 'void *const *x = NULL;'
+# (supported in clang-format 12)
+SpaceAroundPointerQualifiers: After
+
+# [not specified]
+# Always have a space after an assign operator or a compound operator, for
+# example '+=' (supported in clang-format 3.7)
+SpaceBeforeAssignmentOperators: true
+
+# [not specified]
+# Do not allow a space between the case argument and the final colon 'case 0:'
+# (supported in clang-format 12)
+SpaceBeforeCaseColon: false
+
+# [not specified]
+# Have a space before the parenthesis of a control statement, do an exception
+# for ForEach and If macros
+SpaceBeforeParens: ControlStatementsExceptForEachMacros
+
+# (supported in clang-format 7)
+SpaceBeforeRangeBasedForLoopColon: true
+
+# [not specified]
+# Do not add a spaces before square brackets 'int a[5];'
+# (supported in clang-format 10)
+SpaceBeforeSquareBrackets: false
+
+# [not specified]
+# Do not add a space inside empty parenthesis '()'
+# (supported in clang-format 3.7)
+SpaceInEmptyParentheses: false
+
+# (supported in clang-format 3.7)
+SpacesBeforeTrailingComments: 1
+
+# Space characters are used to spread out logical statements, such as in the
+# condition of an if or while 'if ( a )' 'while ( i < 5 )'
+# (supported in clang-format 10)
+SpacesInConditionalStatement: true
+
+# (supported in clang-format 3.7)
+SpacesInContainerLiterals: false
+
+# [not specified]
+# Do not add a spaces inside a type cast parenthesis '(int)var'
+# (supported in clang-format 3.7)
+SpacesInCStyleCastParentheses: false
+
+# [not specified]
+# Do not insert spaces in empty block '{}'
+# (supported in clang-format 3.5)
+SpaceInEmptyBlock: false
+
+# Only one space is allowed at the start of a line comment
+# (supported in clang-format 13)
+SpacesInLineCommentPrefix:
+  Minimum: 1
+  Maximum: -1
+
+# [not specified]
+# Do not add a spaces inside parenthesis '(var & var)'
+# (supported in clang-format 3.7)
+SpacesInParentheses: false
+
+# [not specified]
+# Do not add spaces inside square brakets 'int a[5];'
+# (supported in clang-format 3.7)
+SpacesInSquareBrackets: false
+
+# (supported in clang-format 3.7)
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00833.html
+# ------------------------------------------------------------------------------
+# Jan: Since I continue to be puzzled - iirc you said this is because of lack
+# of availability of "C99" as a value here. What's entirely unclear to
+# me is: How does this matter to a tool checking coding style (which is
+# largely about formatting, not any lexical or syntactical aspects)?
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00867.html
+# ------------------------------------------------------------------------------
+# Luca: Ok, maybe I understand your point, you are looking for a reason to declare this
+# configurable instead of not specifying it at all?
+# If itâs that, from what I understand clang-format will use the default value if
+# we donât specify anything for this one, so it will take âLatestâ. I think we
+# should put a value for this one to fix it and donât have surprises if that
+# behaviour changes and seeing that also in Linux that value is fixed
+# increased myconfidence.
+# However, if you feel that we should not specify it, Iâve done a test and not
+# specifying it is not changing the current output. I canât say that for a
+# different clang-format version though or if changes happen in the future.
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00887.html
+# ------------------------------------------------------------------------------
+# Alejandro: On C it _shouldn't_ matter because it's meant to affect C++ constructs
+# only. That said, clang-format doesn't understand (or care) whether the code
+# is C or C++, because C's syntax is strictly contained in that of C++ as far
+# as formatting cares.
+# While I agree it feels wrong to apply a C++ policy to a C project, it's
+# largely irrelevant. Setting a value here gives more deterministic output
+# because it fixes several options' default settings. One would hope none of
+# those settings affect C, but the world is complex and it's better to be
+# safe than sorry. Particularly when it's an inocuous one-liner.
+# There aren't strict C values. And Latest or Auto are simply shorthands for
+# one of the C++ options.
+#
+#  https://clang.llvm.org/docs/ClangFormatStyleOptions.html#standard
+#
+# IMO, C++03 is as good as any other. As long as it's a fixed one.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00888.html
+# ------------------------------------------------------------------------------
+# >>> This value is used also in Linux.
+# >>
+# >> Considering how different the two styles are, I don't think this is
+# >> overly relevant.
+# >
+# > Ok, maybe I understand your point, you are looking for a reason to declare
+# > this configurable instead of not specifying it at all?
+#
+# Jan: Not really, no. Here I was merely saying that with the styles being
+# sufficiently different, what Linux uses is probably not very significant
+# for our own decision.
+#
+# > However, if you feel that we should not specify it, Iâve done a test and not
+# > specifying it is not changing
+# > the current output. I canât say that for a different clang-format version
+# > though or if changes happen in the
+# > future.
+# Jan: It's fine to set values. All I'm saying is that at least I would prefer
+# if it was also clear what exact effect the setting of a value has,
+# especially when that does not really match the language we use in the
+# project.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01035.html
+# ------------------------------------------------------------------------------
+# Luca: Yes I agree, I think Alejandroâs reply to this configurable reflects my
+# thoughts about it.
+# So if we all agree that we should set this parameter, do we all agree that it
+# should be the value above?
+# Do you have other concerns regarding this or the other parameters in this
+# thread?
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01051.html
+# ------------------------------------------------------------------------------
+# Alejandro:
+# > > It's fine to set values. All I'm saying is that at least I would prefer
+# > > if it was also clear what exact effect the setting of a value has,
+# > > especially when that does not really match the language we use in the
+# > > project.
+# On C, allegedly, none. It ought to control defaults for things like
+# SpaceBeforeCpp11BracedList, SpacesInAngles and other C++-specific things,
+# because the C++ language sticks syntactical extensions every other Tuesday.
+# Alas, whatever it does (there's no full list). I'd feel a lot more
+# comfortable knowing it won't change under our feet.
+# For reference, clang-format's docs state as an example:
+# ```
+# c++03:                                 latest:
+# vector<set<int> > x;           vs.     vector<set<int>> x;
+# ```
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01062.html
+# ------------------------------------------------------------------------------
+# Jan:
+# > Do you have other concerns regarding this or the other parameters in this
+# > thread?
+# I did raise what was occurring to me. This doesn't mean that down the
+# road yet something else might not pop up.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01063.html
+# ------------------------------------------------------------------------------
+# Luca:
+# > I did raise what was occurring to me. This doesn't mean that down the
+# > road yet something else might not pop up.
+# Sure, thanks for raising your concern, Iâve asked so that at the deadline if no
+# other concern are raised, we can move on with another set of configurable to
+# discuss.
+Standard: C++03
+
+# Macros which are ignored in front of a statement, as if they were an
+# attribute. So that they are not parsed as identifier
+# (supported in clang-format 12)
+# StatementAttributeLikeMacros: ['']
+
+# A vector of macros that should be interpreted as complete statements.
+# Typical macros are expressions, and require a semi-colon to be added;
+# sometimes this is not the case, and this allows to make clang-format aware of
+# such cases. (supported in clang-format 8)
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00833.html
+# ------------------------------------------------------------------------------
+# Jan: Ah, just wanted to ask. I agree that we'd better have here only items
+# which truly require an exception.
+#
+# ------------------------------------------------------------------------------
+# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00867.html
+# ------------------------------------------------------------------------------
+# Luca: Yes my mistake, Iâll fix the list.
+StatementMacros:
+  - 'PROGRESS'
+  - 'PROGRESS_VCPU'
+  - 'bitop'
+  - 'guest_bitop'
+  - 'testop'
+  - 'guest_testop'
+
+# An indent level consists of four spaces (supported in clang-format 3.7)
+TabWidth: 4
+
+# A vector of macros that should be interpreted as type declarations instead of
+# as function calls (supported in clang-format 9)
+TypenameMacros:
+  - 'XEN_GUEST_HANDLE'
+  - 'XEN_GUEST_HANDLE_64'
+  - 'XEN_GUEST_HANDLE_PARAM'
+  - 'ELF_HANDLE_DECL'
+
+# Indentation is done using spaces, not tabs (supported in clang-format 3.7)
+UseTab: Never
+
+# A vector of macros which are whitespace-sensitive and should not be touched
+# (supported in clang-format 11)
+WhitespaceSensitiveMacros:
+  - '__stringify'
+
+## Not related to C language ###################################################
+
+# (supported in clang-format 3.3)
+AccessModifierOffset: -4
+
+# (supported in clang-format 9)
+AllowShortLambdasOnASingleLine: None
+
+# (supported in clang-format 16)
+# BreakAfterAttributes: Never
+
+# (supported in clang-format 3.8)
+BreakAfterJavaFieldAnnotations: false
+
+# (supported in clang-format 16)
+BreakArrays: true
+
+# (supported in clang-format 12)
+BreakBeforeConceptDeclarations: Never
+
+# (supported in clang-format 7)
+BreakInheritanceList: BeforeColon
+
+# (supported in clang-format 5)
+CompactNamespaces: false
+
+# (supported in clang-format 3.7)
+ConstructorInitializerAllOnOneLineOrOnePerLine: false
+
+# (supported in clang-format 3.7)
+ConstructorInitializerIndentWidth: 4
+
+# (supported in clang-format 3.4)
+Cpp11BracedListStyle: false
+
+# (supported in clang-format 13)
+EmptyLineAfterAccessModifier: Leave
+
+# (supported in clang-format 12)
+EmptyLineBeforeAccessModifier: Leave
+
+# (supported in clang-format 5)
+FixNamespaceComments: false
+
+# (supported in clang-format 13)
+IndentAccessModifiers: false
+
+# (supported in clang-format 15)
+IndentRequiresClause: false
+
+# (supported in clang-format 11)
+InsertTrailingCommas: None
+
+# (supported in clang-format 3.9)
+JavaScriptQuotes: Leave
+
+# (supported in clang-format 3.9)
+JavaScriptWrapImports: true
+
+# (supported in clang-format 3.7)
+NamespaceIndentation: None
+
+# (supported in clang-format 7)
+ObjCBinPackProtocolList: Auto
+
+# (supported in clang-format 3.7)
+ObjCBlockIndentWidth: 4
+
+# (supported in clang-format 11)
+ObjCBreakBeforeNestedBlockParam: false
+
+# (supported in clang-format 3.7)
+ObjCSpaceAfterProperty: true
+
+# (supported in clang-format 3.7)
+ObjCSpaceBeforeProtocolList: true
+
+# (supported in clang-format 14)
+PackConstructorInitializers: Never
+
+# (supported in clang-format 7)
+PenaltyBreakTemplateDeclaration: 0
+
+# (supported in clang-format 13)
+ReferenceAlignment: Right
+
+# (supported in clang-format 16)
+# RemoveSemicolon: false
+
+# (supported in clang-format 5)
+SortUsingDeclarations: false
+
+# (supported in clang-format 4)
+SpaceAfterTemplateKeyword: true
+
+# (supported in clang-format 7)
+SpaceBeforeCpp11BracedList: false
+
+# (supported in clang-format 7)
+SpaceBeforeCtorInitializerColon: false
+
+# (supported in clang-format 7)
+SpaceBeforeInheritanceColon: true
+
+# (supported in clang-format 3.4)
+SpacesInAngles: false
+
+RemoveBracesLLVM: true
+
+...
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 01 11:43:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Mar 2025 11:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899374.1307723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1toLFA-0000dN-He; Sat, 01 Mar 2025 11:42:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899374.1307723; Sat, 01 Mar 2025 11:42: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 1toLFA-0000dB-Ee; Sat, 01 Mar 2025 11:42:56 +0000
Received: by outflank-mailman (input) for mailman id 899374;
 Sat, 01 Mar 2025 11:42: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=Tn84=VU=gmail.com=andr2000@srs-se1.protection.inumbo.net>)
 id 1toLF9-0000De-H1
 for xen-devel@lists.xenproject.org; Sat, 01 Mar 2025 11:42:55 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5029b041-f692-11ef-9ab0-95dc52dad729;
 Sat, 01 Mar 2025 12:42:54 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-54957f0c657so1103483e87.0
 for <xen-devel@lists.xenproject.org>; Sat, 01 Mar 2025 03:42:54 -0800 (PST)
Received: from a2klaptop.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5494d7ac5aasm529435e87.120.2025.03.01.03.42.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 01 Mar 2025 03:42:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5029b041-f692-11ef-9ab0-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1740829373; x=1741434173; 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=8FflU+Os5qjZCptb7/2Oo5l7bXlBx0KY0qkevSMYIvQ=;
        b=nNJGd8/tc8v5FQsHxsl2CHKeshLlwoMmfgneUh/UkQkJr8J1d7PkdAu/M1CZcGfxF9
         feFvdK5QxV/qFJZp0NyvNNlWLSmJCjubz0Tskjd3FuVC7bcn7QI1rRi5hCuP6CDspkPS
         huu4ybxLaX8uN6AzqbPBuq+Nshi3LBgjbbWMCPgzpdn0UAn3VRmRAUdTm565js1YrU/1
         b8Xm1BqgaLKRZRm8LlI2XW72XeIbgQLuI0krmRyQDJPlJxpA+OhJWU8bLuMs74myuGUm
         DhoTBGBNpoG2WfrJ7WfFnVKe91e214RDIfV/eiBKm6ALxHHjW50vlKKXNvIlqx6zpO0i
         cQCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740829373; x=1741434173;
        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=8FflU+Os5qjZCptb7/2Oo5l7bXlBx0KY0qkevSMYIvQ=;
        b=X6pNKdQl3LosZrZMSidgJ390gNPWTsJZR1wekEaMx2L6cD0tUFDuDBCh/t1XK+lJdd
         YXo91YgZ1bDiayT7YdPwZJe1yLfYZzPVSQYF2pIB4lUH23pqP0F5wkSur7U8vkorS9HF
         WOAvdv8EhwBE4lcxF8f0L5QM60bi4mj4EhZ5c3HVMPhRCD/dR6UjRKAAdgjZygrms80y
         /IXTjLkPMW6xUHNEQ1ZGdsr3jmlOOZA4mPjJlrjUHEcfM/Od55Z5VaTZw8m50MjfQkte
         GtmQU4zJqzq5z3J5LF1DsZwtdX5hH1mFq9LZGQsMZcoCNDKAHrSz/hptCCMYMvCC2h4M
         5b0Q==
X-Gm-Message-State: AOJu0YwhMqVIPlKwyfJWuE3Q3txjQPdcrLgOPzbLoQnJG5y2oEDPCp0X
	gaNP75INkqJ6khoRbVcI1JhbOzyeHSvZs+h1EmUQVGnSy7J2WuY3mpBdXfhv
X-Gm-Gg: ASbGnctjtYl2cwmH5oPtzKMK640QUX8qInzQHIOrSPlJOOfOqC+hzBCbGWQayQdPUOj
	DUOnv5HcAnNEiYDOJ9+RkdVG8Yod6cwYI0OBv8TkfwCDN85PA8o+A4D0QiW0VTPCty1TP1l66tU
	ufluCtjDv9v709bueIh3HXi0vtLT677YqQNfJqDS1kDEwzBo+Vv78cXuYG9IhslRXGcE3FwNRZQ
	nhCc4/WaZXzG55RJzfUH0d0Wugy4k+8HmT90VaiUQ0o85j1pKFblECH0lU+krSs6X5fgo7OFO9j
	LQ976pC9ZdR4fo0aS3KiPL8LHL++c1biYlF345NbwMvI/iT+1VyXZw==
X-Google-Smtp-Source: AGHT+IHrO/PxJz1la6A2/UtF7kPd60s0hPMesf4wO9jK5XIhnmwC35ZO2bjPxQp/XuyLw1uhicpL0Q==
X-Received: by 2002:a05:6512:398e:b0:545:2cb2:8b25 with SMTP id 2adb3069b0e04-5494c323717mr2711013e87.14.1740829373290;
        Sat, 01 Mar 2025 03:42:53 -0800 (PST)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: andr2000@gmail.com,
	sstabellini@kernel.org,
	Artem_Mygaiev@epam.com,
	jbeulich@suse.com,
	Luca.Fancellu@arm.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	andrew.cooper3@citrix.com,
	anthony.perard@vates.tech
Subject: [PATCH 3/4] [EXAMPLE] Changes done by clang-format to the previous commit
Date: Sat,  1 Mar 2025 13:42:41 +0200
Message-Id: <20250301114242.93650-4-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250301114242.93650-1-andr2000@gmail.com>
References: <20250301114242.93650-1-andr2000@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch is the result of the:

$ git-clang-format --style=file --verbose HEAD~1
Running clang-format on the following files:
    tools/xl/xl_info.c
    xen/drivers/char/ns16550.c
old tree: dceb97b3ef3c80cbb9c29311a7f5783df2f69127
new tree: a8d36f8f45c3ee0d75e674ecda102ffc6a0a0ef3
changed files:
    xen/drivers/char/ns16550.c

It is seen that only xen/ part of the patch was touched. The result can
still be manually adjusted before committing.

Signed-off-by: Oleksandr Andrushchenko <andr2000@gmail.com>
---
 xen/drivers/char/ns16550.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 53586f110008..4d79ef2b08bc 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -340,7 +340,9 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
         if ( divisor )
             uart->baud = uart->clock_hz / (divisor << 4);
         else
-            printk(XENLOG_ERR "Automatic baud rate determination was requested,"  " but a baud rate was not set up\n");
+            printk(
+                XENLOG_ERR
+                "Automatic baud rate determination was requested," " but a baud rate was not set up\n");
     }
     ns_write_reg(uart, UART_LCR, lcr);
 
@@ -348,8 +350,9 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     ns_write_reg(uart, UART_MCR, UART_MCR_DTR | UART_MCR_RTS);
 
     /* Enable and clear the FIFOs. Set a large trigger threshold. */
-    ns_write_reg(uart, UART_FCR, UART_FCR_ENABLE | UART_FCR_CLRX |
-                 UART_FCR_CLTX | UART_FCR_TRG14);
+    ns_write_reg(uart, UART_FCR,
+                 UART_FCR_ENABLE | UART_FCR_CLRX | UART_FCR_CLTX |
+                     UART_FCR_TRG14);
 }
 
 static void __init cf_check ns16550_init_preirq(struct serial_port *port)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 01 11:43:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Mar 2025 11:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899375.1307733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1toLFD-0000uc-Oa; Sat, 01 Mar 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 899375.1307733; Sat, 01 Mar 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 1toLFD-0000uV-Km; Sat, 01 Mar 2025 11:42:59 +0000
Received: by outflank-mailman (input) for mailman id 899375;
 Sat, 01 Mar 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=Tn84=VU=gmail.com=andr2000@srs-se1.protection.inumbo.net>)
 id 1toLFC-0008Nf-9M
 for xen-devel@lists.xenproject.org; Sat, 01 Mar 2025 11:42:58 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 513e09d3-f692-11ef-9898-31a8f345e629;
 Sat, 01 Mar 2025 12:42:56 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5495c1e1b63so291827e87.0
 for <xen-devel@lists.xenproject.org>; Sat, 01 Mar 2025 03:42:56 -0800 (PST)
Received: from a2klaptop.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5494d7ac5aasm529435e87.120.2025.03.01.03.42.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 01 Mar 2025 03:42:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 513e09d3-f692-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1740829375; x=1741434175; 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=axvAG7yXQLFu5nS5bJa/2wSq+wnxBGBy0XSWklnH+fw=;
        b=knHB5EuhvCfELDaX3YIt+KUkYJtT2/zfw1rGkmShpYb3uPs4sU9NL4zU9bAO2LG7IE
         KuJzFGTD46zqf12cCTIWdbwRT4gJMhGXSbfbmDtc3Aa9Gf66UNA21LJMi6SS28hNHCFM
         AWAD8vspif1XU97QujYS774UwaAspg5OboYYeLCrCaYzMe0sMP8knF84/r2jdBPmX+JZ
         3bpPDrO3dZ474ntbxVbocUxNUDe26i6aOjZF1ARWUrXWuegK+4JMxB5M1aq6Hb90dpIF
         UlTZDV2PBnBe37gMl+YK1MLBUGkGtPqq2rhio6DFWRoAJtYZKmoY0SUJYA1Fn+xX7fqU
         7UJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740829375; x=1741434175;
        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=axvAG7yXQLFu5nS5bJa/2wSq+wnxBGBy0XSWklnH+fw=;
        b=iL9HzwkZ/5QPPoR6c397mqa4jcdcPazMUbvm5nJfn05+cuNUYOuwFNV1rVU3CdMnpX
         36lMGpoqO9yliOflxN7T+LXrwOCQ9rVE+2M1LgNBi5vOwC3lw6cXKAI3RE+1m6L6BvVG
         7jGQrEIqWi+TRmk7kPFJWXcvBXIebt+aN8QJBfqvOt3ijIOdg13PYVnBqMNjVxRQNUQ0
         B2bgt18cJvzOfIKUrLAn8Tzx+OfhotGMqhAGwt72/H+xk0AYqcCPoFiU4qqblBmrTW5H
         aZsmFWGfMhqZKw5ENGsGrxa2eKDoX7jEwYlt8ljGCErnk4WnFKyYw/SNY8AKr1lJpAIM
         Sx+A==
X-Gm-Message-State: AOJu0Yxf8lDSytE+I62BL9G1I3DULLINAe3FE6FUGYtdKNsvDy8xdoFm
	Ll5jc9H1t76y4Eqer54sUG+xns6jQ5+XCLwgubGKYC2XlpDpPj3hRqgsmMLT
X-Gm-Gg: ASbGncvzAiEMpDmd3TPwBE0KPNs0TVVdUiAEjux8p/JiT9ONIbQPBKOUfu09kAyrp5I
	CAihxpTjYJaWxqbolkmQqAjXlG4u1yB/JVxD8NdZB19Ji+IaGlk7wQHtGGsSdJ0uKWpGHf4KBlw
	svIsCWbgianDEOg4+KgzNf1kx9P4xu++4/Baswkq3rBA4/ekDANHmCi8gJyb5tJ+FHCjVkwfOpu
	tXckHr7VEOUOUyzKALrgqIvuFCHgHBp5yBZHlTjUhEXInY2LA7SoXGrKPZhRFeAbwVFgLp6Jp4S
	vEX9Wp4oUvoNEVDOMf7fwcDXeL+ZuiOJc/t5v58KO3P2trwvPbQsTQ==
X-Google-Smtp-Source: AGHT+IEjSeYWGLj0L7t9RcszqIcDV+Z6d3Wpo+NQhqRvHZcgW2nDXiOLIfsq008WjXK6qeoLfD+8mw==
X-Received: by 2002:a05:6512:3d19:b0:548:794f:f9dd with SMTP id 2adb3069b0e04-5494c111896mr2355079e87.10.1740829375158;
        Sat, 01 Mar 2025 03:42:55 -0800 (PST)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: andr2000@gmail.com,
	sstabellini@kernel.org,
	Artem_Mygaiev@epam.com,
	jbeulich@suse.com,
	Luca.Fancellu@arm.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	andrew.cooper3@citrix.com,
	anthony.perard@vates.tech
Subject: [PATCH 4/4] [EXAMPLE] Whole file code style formatting
Date: Sat,  1 Mar 2025 13:42:42 +0200
Message-Id: <20250301114242.93650-5-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250301114242.93650-1-andr2000@gmail.com>
References: <20250301114242.93650-1-andr2000@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch was produced by running clang-format on a file:
clang-format -i xen/drivers/pci/pci.c

Signed-off-by: Oleksandr Andrushchenko <andr2000@gmail.com>
---
 xen/drivers/pci/pci.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index edf5b9f7ae9f..f6d8222c1dd4 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -56,10 +56,8 @@ unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
         if ( id == 0xff )
             break;
         for ( i = 0; i < n; i++ )
-        {
             if ( id == caps[i] )
                 return pos;
-        }
 
         pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
     }
@@ -116,7 +114,8 @@ unsigned int pci_find_next_ext_capability(pci_sbdf_t sbdf, unsigned int start,
         return 0;
     ASSERT(start != pos || PCI_EXT_CAP_ID(header) == cap);
 
-    while ( ttl-- > 0 ) {
+    while ( ttl-- > 0 )
+    {
         if ( PCI_EXT_CAP_ID(header) == cap && pos != start )
             return pos;
         pos = PCI_EXT_CAP_NEXT(header);
@@ -174,8 +173,7 @@ const char *__init parse_pci_seg(const char *s, unsigned int *seg_p,
     }
     else
         func = 0;
-    if ( seg != (seg_p ? (u16)seg : 0) ||
-         bus != PCI_BUS(PCI_BDF(bus, 0)) ||
+    if ( seg != (seg_p ? (u16)seg : 0) || bus != PCI_BUS(PCI_BDF(bus, 0)) ||
          dev != PCI_SLOT(PCI_DEVFN(dev, 0)) ||
          func != PCI_FUNC(PCI_DEVFN(0, func)) )
         return NULL;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 01 11:43:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Mar 2025 11:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899373.1307707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1toLF9-0000D8-6E; Sat, 01 Mar 2025 11:42:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899373.1307707; Sat, 01 Mar 2025 11:42: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 1toLF9-0000Ba-25; Sat, 01 Mar 2025 11:42:55 +0000
Received: by outflank-mailman (input) for mailman id 899373;
 Sat, 01 Mar 2025 11:42: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=Tn84=VU=gmail.com=andr2000@srs-se1.protection.inumbo.net>)
 id 1toLF8-0008Nf-EX
 for xen-devel@lists.xenproject.org; Sat, 01 Mar 2025 11:42:54 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f1276aa-f692-11ef-9898-31a8f345e629;
 Sat, 01 Mar 2025 12:42:52 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-30615661f98so30134351fa.2
 for <xen-devel@lists.xenproject.org>; Sat, 01 Mar 2025 03:42:52 -0800 (PST)
Received: from a2klaptop.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5494d7ac5aasm529435e87.120.2025.03.01.03.42.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 01 Mar 2025 03:42:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f1276aa-f692-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1740829371; x=1741434171; 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=bXAxImwm4vbKts+Zk1RaNgL4ljo8Npday53UQ3vtoUY=;
        b=LgR8JB9T38/L7FWcmkOAS4Mb8FiGSqFFmolrMvbNlJ3LJKSDuHSshsY5s2MQ8z3p4R
         oktBBEtUjVjyTOlyNlIMlRh/bwuoBckFvC0VEOs51NCNJ/JRCHLnRXo0SW5zI69C3ZHN
         oykRUnF3vXdrsm8PiPfIPcNGGAMph4oCUtZiRdp2+lj9DcSqXiaSkGL5fXYNxBRLjUVl
         hj70lmvPGuBHWYc0o95NOfuiK63HHTH7SV/EEyn9uHYTMvp5N6OEuHj5FHFDBzaDpFPj
         iSHu48nmQceQwT2dmNy5prQ8dBiJsLm7uXbNMb1jsFUZso0ekVqSC1ZflGXDcJhsq0DS
         w1DQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740829371; x=1741434171;
        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=bXAxImwm4vbKts+Zk1RaNgL4ljo8Npday53UQ3vtoUY=;
        b=CtZHJN8+nspTLxC+5fR8jeU1CqmYjV5qJ6b3/mXXAzUogj98v8Tsz+zPMiaBlS1OVm
         mt2lvKhjYv6R6/1pVJJb52EKT6OOIaxO1prW2S/jTAwx3oHwbcR6cOm+XUQ9kcUtvSXI
         BGnmJ2um+Or6Si370g8J0/H6w//9FoChS3AsaqTP9gDzWM9BgqvpJoJrCZXMP5qViuSB
         JnEjdsPq3zewr6nRxVOqmiOsKYvpweA/BQwJtRbAQ3aIC4KCRSnB7zoOFV21uOP4ZPIK
         otiWh3bdhNnbxFHHNDgpdK3xTxYf0TifDI9nwY8HySuW/cbXC/8tkiFhFy+3vy8ZR3rE
         lefw==
X-Gm-Message-State: AOJu0YwQAj1Kh5roUGt32i0dJmhEn2GNtH0N5pGNMms2IcgI7hPx4o2G
	GyfT5ZNP1h14bbF774Vcwwxwi+6VLoEQM5eMZvvj1NGqVmzwtsdSlgEFlXgC
X-Gm-Gg: ASbGncsrqeL08tl5q8GxhKUqNCRcPZtpi1WZFr+MK4OFB+87UZWbKvMGhV2LtWHY3/T
	9RW1VNjBUQiEJthmjCR9KCgFu0dWQFOiJ8LDP1RHWgs3SOZ4JFRXB9i7URkBv9A5Nuk38FBNj7A
	PzAB4RIzx3nLEJsqMvGg7joDwW+09Mse9DQAMXXZnZ0e2Uwaa6XmGvzFToLHl0IE7dtoYyAgMlX
	uuXdN8U2zWWiKGLedJlMcq9KtuwL8a3FRqtViygKfp9CNIFbKw5mRAwbzGC0gYTBTGPBFjp+oRa
	bT4w+ff/6MVe08iZRzGtZWwc3C702VyLaVfvCwBAQfVVucliV1a1nQ==
X-Google-Smtp-Source: AGHT+IEk4H4TgXkpqJ68tLuz95VZH9b/vQeQfuDR/C5jZ9yu0y+AtXpPmYrqGsSr3Qc0Mih7K8R5dg==
X-Received: by 2002:a05:6512:a8b:b0:545:49d:547a with SMTP id 2adb3069b0e04-5494c122e84mr2681261e87.18.1740829371327;
        Sat, 01 Mar 2025 03:42:51 -0800 (PST)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: andr2000@gmail.com,
	sstabellini@kernel.org,
	Artem_Mygaiev@epam.com,
	jbeulich@suse.com,
	Luca.Fancellu@arm.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	andrew.cooper3@citrix.com,
	anthony.perard@vates.tech
Subject: [PATCH 2/4] [EXAMPLE] Provide an example of a malformed patch
Date: Sat,  1 Mar 2025 13:42:40 +0200
Message-Id: <20250301114242.93650-3-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250301114242.93650-1-andr2000@gmail.com>
References: <20250301114242.93650-1-andr2000@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch touches tools/xl and xen/. clang-format, if applied, will
only change xen/ part.

Signed-off-by: Oleksandr Andrushchenko <andr2000@gmail.com>
---
 tools/xl/xl_info.c         |  6 ++----
 xen/drivers/char/ns16550.c | 12 +++++-------
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 72e87eac46d1..cbb0f695685f 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -59,8 +59,7 @@ static int maybe_printf(const char *fmt, ...)
     return count;
 }
 
-static yajl_gen_status printf_info_one_json(yajl_gen hand, int domid,
-                                            libxl_domain_config *d_config)
+static yajl_gen_status printf_info_one_json(yajl_gen hand, int domid, libxl_domain_config *d_config)
 {
     yajl_gen_status s;
 
@@ -68,8 +67,7 @@ static yajl_gen_status printf_info_one_json(yajl_gen hand, int domid,
     if (s != yajl_gen_status_ok)
         goto out;
 
-    s = yajl_gen_string(hand, (const unsigned char *)"domid",
-                        sizeof("domid")-1);
+    s = yajl_gen_string(hand, (const unsigned char *)"domid", sizeof("domid")-1);
     if (s != yajl_gen_status_ok)
         goto out;
     if (domid != -1)
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index eaeb0e09d01e..53586f110008 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -340,9 +340,7 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
         if ( divisor )
             uart->baud = uart->clock_hz / (divisor << 4);
         else
-            printk(XENLOG_ERR
-                   "Automatic baud rate determination was requested,"
-                   " but a baud rate was not set up\n");
+            printk(XENLOG_ERR "Automatic baud rate determination was requested,"  " but a baud rate was not set up\n");
     }
     ns_write_reg(uart, UART_LCR, lcr);
 
@@ -350,8 +348,8 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     ns_write_reg(uart, UART_MCR, UART_MCR_DTR | UART_MCR_RTS);
 
     /* Enable and clear the FIFOs. Set a large trigger threshold. */
-    ns_write_reg(uart, UART_FCR,
-                 UART_FCR_ENABLE | UART_FCR_CLRX | UART_FCR_CLTX | UART_FCR_TRG14);
+    ns_write_reg(uart, UART_FCR, UART_FCR_ENABLE | UART_FCR_CLRX |
+                 UART_FCR_CLTX | UART_FCR_TRG14);
 }
 
 static void __init cf_check ns16550_init_preirq(struct serial_port *port)
@@ -398,8 +396,8 @@ static void ns16550_setup_postirq(struct ns16550 *uart)
     if ( uart->irq > 0 )
     {
         /* Master interrupt enable; also keep DTR/RTS asserted. */
-        ns_write_reg(uart,
-                     UART_MCR, UART_MCR_OUT2 | UART_MCR_DTR | UART_MCR_RTS);
+        ns_write_reg(uart, UART_MCR,
+                     UART_MCR_OUT2 | UART_MCR_DTR | UART_MCR_RTS);
 
         /* Enable receive interrupts. */
         ns_write_reg(uart, UART_IER, UART_IER_ERDAI);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 01 11:43:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Mar 2025 11:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899371.1307693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1toLF7-0008Nt-PM; Sat, 01 Mar 2025 11:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899371.1307693; Sat, 01 Mar 2025 11:42: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 1toLF7-0008Nl-Jl; Sat, 01 Mar 2025 11:42:53 +0000
Received: by outflank-mailman (input) for mailman id 899371;
 Sat, 01 Mar 2025 11:42: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=Tn84=VU=gmail.com=andr2000@srs-se1.protection.inumbo.net>)
 id 1toLF5-0008Nf-Q9
 for xen-devel@lists.xenproject.org; Sat, 01 Mar 2025 11:42:51 +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 4be08d6a-f692-11ef-9898-31a8f345e629;
 Sat, 01 Mar 2025 12:42:47 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-547bcef2f96so3201890e87.1
 for <xen-devel@lists.xenproject.org>; Sat, 01 Mar 2025 03:42:47 -0800 (PST)
Received: from a2klaptop.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5494d7ac5aasm529435e87.120.2025.03.01.03.42.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 01 Mar 2025 03:42:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4be08d6a-f692-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1740829366; x=1741434166; 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=o7rdHeuTiLHsNiFBTjiGacTB6Tl3gcIRWl5yc+vYoC4=;
        b=DdCNkDiWmgjo0mpQ04WaH5Cg8UyEsRNmom5rQs+USJHU0AIoSQbbRpraNxE3VYsbkh
         F7w/zKiVK6t6R+fB/QGJg8F8bju7Ts2Zyyt59t24bakk57Zq8yfs6+RbXy8KrmkOuvdF
         R1PrLdkpLTUnrZWByVs644rW19tf6lH6GLjiEHFO6IxcQUokF88x8L1s3TBoC4z2sMVq
         nKrXJaz2F5//wGejqgYCSdh1J/6EJkN/Y02XvjZEUrixdC9NhSADlk6x9U9h7hGQJcpD
         mPdhbRMO1yTYk6qFHwxMc242UT6rsrf4Tf5TFLIwEM40wOWS4xQVNMNfu6jSVqFLanDe
         0ptg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740829366; x=1741434166;
        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=o7rdHeuTiLHsNiFBTjiGacTB6Tl3gcIRWl5yc+vYoC4=;
        b=XsPaOVvmmCd7hH/wQejMtYWpvdcXOIerV5TYAK8QRSZ2c9ORekxPJIrPnLoPMLhzuc
         3ZUPqho5x9BOfelkqFTh+3jFbqkxE03abgzWtP6DhZjWV7k2oQ/P2v/DNYMFJSH5sb1W
         vrO/ydrvMdopre/UgPW9RFaqbGwUgEBnukHxUN0cdsIBNzbGSjPr7OsSxOX7v6U7IAio
         xBkpgVLGRbPNjhEGLLklqDzhhqdnXi3K8h8VzkDUNHN1OdVWSRWACQUcSrt74Cnbxhd5
         36bDZT4Okgv69CbYGBGp1OKzOSSnyEzl3pDy40VZcIQzXSWWUNqqICSkeGl7VHcJTSen
         uG4Q==
X-Gm-Message-State: AOJu0YyTyZVl2fYhAvlFIhiqrpPzVELJAj5YgNsrFqkA9XLgv6aduT1p
	MWIFNOb74x4QQII8ObYmQMZ7srEUheDNsxmXPEcIZbcpfq5TpFoHIc2PufnR
X-Gm-Gg: ASbGncsxxIXxCJrrA4vTwC6u3R2Fq4E3YbvpH6voC9iJxmIf0f4W89FzRZyClH8k7d/
	6UZ0XVR6at3dz+S8vABIlukA8H2p4ySHXwSBIgZwz387erXo0guHbc6M7Krt7uF3PImEPgY2iAN
	vwQKCio9MVbEnvVFUvjYpwxmr7rof662TmX+K5Vc0xjjqvLEdDdE8xb5+DeNHTWAVNICPBWIa2W
	8m0NfaPKL64Rw6hADd90uZX15FqnqhIR1YqLnIfV4Iq+VYz+kE/dAalmyZsVXaipGkrd2PjeQER
	w3FU+Yxz6YMleUIZMlfS46vk78chJd9H4VlwKKnk7NVl8+S90lHKXw==
X-Google-Smtp-Source: AGHT+IFKevPsZgSTAToH1G7zC3BCyInq6RkNb24XBkXrQFQHygG9rz9fab1NrsJXEkFueM4hxKDJng==
X-Received: by 2002:a19:385a:0:b0:545:3031:b4d7 with SMTP id 2adb3069b0e04-5494c11195dmr2010711e87.6.1740829366076;
        Sat, 01 Mar 2025 03:42:46 -0800 (PST)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: andr2000@gmail.com,
	sstabellini@kernel.org,
	Artem_Mygaiev@epam.com,
	jbeulich@suse.com,
	Luca.Fancellu@arm.com,
	roger.pau@citrix.com,
	marmarek@invisiblethingslab.com,
	andrew.cooper3@citrix.com,
	anthony.perard@vates.tech
Subject: [PATCH 0/4] clang-format with examples
Date: Sat,  1 Mar 2025 13:42:38 +0200
Message-Id: <20250301114242.93650-1-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit


Hello, everybody!

In order to continue activity started at [1] I am sending this series
which allows to manually run coding style checks and does not provide
any automation yet.

Only the first patch is the goal of this series and patches 2-4 are for
example only.

This proposal disables coding style checks for the project, but xen/
folder: this is done by providing a global .clang-format at the project
top level which disables clang-format and only providing .clang-format
for xen/ folder.

clang-format version expected to be >15 and the latest tool can be
installed with:
python3 -m pip install clang-format
This allows having the tool without the need to compile or install
anything else.

As no automatic code style checks are performed, so all those can be
run manually:

- to see changes proposed to the patch being worked on (not committed yet):
git-clang-format --diff --style=file --verbose

- to run code formatting on the HEAD patch:
git-clang-format --style=file --verbose HEAD~1

Provided xen/.clang-format still has a lot of comments gathered from the
previous discussions. This is for purpose of better seeing why some of
the options have their values. Once option values are accepted all those
comments can be removed.

Stay safe,
Oleksandr Andrushchenko

[1] https://lists.xen.org/archives/html/xen-devel/2025-02/msg00800.html

Oleksandr Andrushchenko (4):
  Add .clang-format files to enable manual coding style checks
  [EXAMPLE] Provide an example of a malformed patch
  [EXAMPLE] Changes done by clang-format to the previous commit
  [EXAMPLE] Whole file code style formatting

 .clang-format              |    5 +
 tools/xl/xl_info.c         |    6 +-
 xen/.clang-format          | 1380 ++++++++++++++++++++++++++++++++++++
 xen/drivers/char/ns16550.c |   13 +-
 xen/drivers/pci/pci.c      |    8 +-
 5 files changed, 1397 insertions(+), 15 deletions(-)
 create mode 100644 .clang-format
 create mode 100644 xen/.clang-format

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 02 14:56:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Mar 2025 14:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899722.1307795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tokjq-0001sf-NI; Sun, 02 Mar 2025 14:56:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899722.1307795; Sun, 02 Mar 2025 14: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 1tokjq-0001sY-Kk; Sun, 02 Mar 2025 14:56:18 +0000
Received: by outflank-mailman (input) for mailman id 899722;
 Sun, 02 Mar 2025 14:56: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=LRaO=VV=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tokjp-0001c4-4P
 for xen-devel@lists.xenproject.org; Sun, 02 Mar 2025 14:56:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7cb3eb1a-f776-11ef-9ab1-95dc52dad729;
 Sun, 02 Mar 2025 15:56:14 +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 4A5BE13D5;
 Sun,  2 Mar 2025 06:56:28 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7B5213F5A1;
 Sun,  2 Mar 2025 06:56:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cb3eb1a-f776-11ef-9ab1-95dc52dad729
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v1 2/4] sparc/mm: Disable preemption in lazy mmu mode
Date: Sun,  2 Mar 2025 14:55:52 +0000
Message-ID: <20250302145555.3236789-3-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250302145555.3236789-1-ryan.roberts@arm.com>
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Since commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with
lazy updates") it's been possible for arch_[enter|leave]_lazy_mmu_mode()
to be called without holding a page table lock (for the kernel mappings
case), and therefore it is possible that preemption may occur while in
the lazy mmu mode. The Sparc lazy mmu implementation is not robust to
preemption since it stores the lazy mode state in a per-cpu structure
and does not attempt to manage that state on task switch.

Powerpc had the same issue and fixed it by explicitly disabling
preemption in arch_enter_lazy_mmu_mode() and re-enabling in
arch_leave_lazy_mmu_mode(). See commit b9ef323ea168 ("powerpc/64s:
Disable preemption in hash lazy mmu mode").

Given Sparc's lazy mmu mode is based on powerpc's, let's fix it in the
same way here.

Fixes: 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy updates")
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 arch/sparc/mm/tlb.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index 8648a50afe88..a35ddcca5e76 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -52,8 +52,10 @@ void flush_tlb_pending(void)
 
 void arch_enter_lazy_mmu_mode(void)
 {
-	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
+	struct tlb_batch *tb;
 
+	preempt_disable();
+	tb = this_cpu_ptr(&tlb_batch);
 	tb->active = 1;
 }
 
@@ -64,6 +66,7 @@ void arch_leave_lazy_mmu_mode(void)
 	if (tb->tlb_nr)
 		flush_tlb_pending();
 	tb->active = 0;
+	preempt_enable();
 }
 
 static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sun Mar 02 14:56:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Mar 2025 14:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899721.1307785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tokjo-0001eG-Hf; Sun, 02 Mar 2025 14:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899721.1307785; Sun, 02 Mar 2025 14: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 1tokjo-0001df-EP; Sun, 02 Mar 2025 14:56:16 +0000
Received: by outflank-mailman (input) for mailman id 899721;
 Sun, 02 Mar 2025 14:56: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=LRaO=VV=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tokjn-0001QO-61
 for xen-devel@lists.xenproject.org; Sun, 02 Mar 2025 14:56:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7995bfc7-f776-11ef-9898-31a8f345e629;
 Sun, 02 Mar 2025 15:56:09 +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 F1AA2113E;
 Sun,  2 Mar 2025 06:56:22 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 294533F5A1;
 Sun,  2 Mar 2025 06:56:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7995bfc7-f776-11ef-9898-31a8f345e629
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v1 0/4] Fix lazy mmu mode
Date: Sun,  2 Mar 2025 14:55:50 +0000
Message-ID: <20250302145555.3236789-1-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi All,

I'm planning to implement lazy mmu mode for arm64 to optimize vmalloc. As part
of that, I will extend lazy mmu mode to cover kernel mappings in vmalloc table
walkers. While lazy mmu mode is already used for kernel mappings in a few
places, this will extend it's use significantly.

Having reviewed the existing lazy mmu implementations in powerpc, sparc and x86,
it looks like there are a bunch of bugs, some of which may be more likely to
trigger once I extend the use of lazy mmu. So this series attempts to clarify
the requirements and fix all the bugs in advance of that series. See patch #1
commit log for all the details.

Note that I have only been able to compile test these changes so appreciate any
help in testing.

Applies on Friday's mm-unstable (5f089a9aa987), as I assume this would be
preferred via that tree.

Thanks,
Ryan

Ryan Roberts (4):
  mm: Fix lazy mmu docs and usage
  sparc/mm: Disable preemption in lazy mmu mode
  sparc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes
  Revert "x86/xen: allow nesting of same lazy mode"

 arch/sparc/include/asm/pgtable_64.h   |  2 --
 arch/sparc/mm/tlb.c                   |  5 ++++-
 arch/x86/include/asm/xen/hypervisor.h | 15 ++-------------
 arch/x86/xen/enlighten_pv.c           |  1 -
 fs/proc/task_mmu.c                    | 11 ++++-------
 include/linux/pgtable.h               | 14 ++++++++------
 6 files changed, 18 insertions(+), 30 deletions(-)

--
2.43.0



From xen-devel-bounces@lists.xenproject.org Sun Mar 02 14:56:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Mar 2025 14:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899720.1307775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tokjn-0001Qg-DF; Sun, 02 Mar 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 899720.1307775; Sun, 02 Mar 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 1tokjn-0001QY-7l; Sun, 02 Mar 2025 14:56:15 +0000
Received: by outflank-mailman (input) for mailman id 899720;
 Sun, 02 Mar 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=LRaO=VV=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tokjm-0001QO-Gv
 for xen-devel@lists.xenproject.org; Sun, 02 Mar 2025 14:56:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7b20a9fc-f776-11ef-9898-31a8f345e629;
 Sun, 02 Mar 2025 15:56: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 A14C212FC;
 Sun,  2 Mar 2025 06:56:25 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CCBDB3F5A1;
 Sun,  2 Mar 2025 06:56:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b20a9fc-f776-11ef-9898-31a8f345e629
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
Date: Sun,  2 Mar 2025 14:55:51 +0000
Message-ID: <20250302145555.3236789-2-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250302145555.3236789-1-ryan.roberts@arm.com>
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
is a bit of a mess (to put it politely). There are a number of issues
related to nesting of lazy mmu regions and confusion over whether the
task, when in a lazy mmu region, is preemptible or not. Fix all the
issues relating to the core-mm. Follow up commits will fix the
arch-specific implementations. 3 arches implement lazy mmu; powerpc,
sparc and x86.

When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
expected that lazy mmu regions would never nest and that the appropriate
page table lock(s) would be held while in the region, thus ensuring the
region is non-preemptible. Additionally lazy mmu regions were only used
during manipulation of user mappings.

Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
updates") started invoking the lazy mmu mode in apply_to_pte_range(),
which is used for both user and kernel mappings. For kernel mappings the
region is no longer protected by any lock so there is no longer any
guarantee about non-preemptibility. Additionally, for RT configs, the
holding the PTL only implies no CPU migration, it doesn't prevent
preemption.

Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
set_ptes(), used by x86. So after this commit, lazy mmu regions can be
nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
page table range API") and commit 9fee28baa601 ("powerpc: implement the
new page table range API") did the same for the sparc and powerpc
set_ptes() overrides.

powerpc couldn't deal with preemption so avoids it in commit
b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
which explicitly disables preemption for the whole region in its
implementation. x86 can support preemption (or at least it could until
it tried to add support nesting; more on this below). Sparc looks to be
totally broken in the face of preemption, as far as I can tell.

powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
which removes the lazy mmu calls from its implementation of set_ptes().
x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
nesting of same lazy mode") but as far as I can tell, this breaks its
support for preemption.

In short, it's all a mess; the semantics for
arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
result the implementations all have different expectations, sticking
plasters and bugs.

arm64 is aiming to start using these hooks, so let's clean everything up
before adding an arm64 implementation. Update the documentation to state
that lazy mmu regions can never be nested, must not be called in
interrupt context and preemption may or may not be enabled for the
duration of the region.

Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
called in pagemap_scan_pmd_entry() to follow the normal pattern of
holding the ptl for user space mappings. As a result the scope is
reduced to only the pte table, but that's where most of the performance
win is. While I believe there wasn't technically a bug here, the
original scope made it easier to accidentally nest or, worse,
accidentally call something like kmap() which would expect an immediate
mode pte modification but it would end up deferred.

arch-specific fixes to conform to the new spec will proceed this one.

These issues were spotted by code review and I have no evidence of
issues being reported in the wild.

Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 fs/proc/task_mmu.c      | 11 ++++-------
 include/linux/pgtable.h | 14 ++++++++------
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index c17615e21a5d..b0f189815512 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -2459,22 +2459,19 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 	spinlock_t *ptl;
 	int ret;
 
-	arch_enter_lazy_mmu_mode();
-
 	ret = pagemap_scan_thp_entry(pmd, start, end, walk);
-	if (ret != -ENOENT) {
-		arch_leave_lazy_mmu_mode();
+	if (ret != -ENOENT)
 		return ret;
-	}
 
 	ret = 0;
 	start_pte = pte = pte_offset_map_lock(vma->vm_mm, pmd, start, &ptl);
 	if (!pte) {
-		arch_leave_lazy_mmu_mode();
 		walk->action = ACTION_AGAIN;
 		return 0;
 	}
 
+	arch_enter_lazy_mmu_mode();
+
 	if ((p->arg.flags & PM_SCAN_WP_MATCHING) && !p->vec_out) {
 		/* Fast path for performing exclusive WP */
 		for (addr = start; addr != end; pte++, addr += PAGE_SIZE) {
@@ -2543,8 +2540,8 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 	if (flush_end)
 		flush_tlb_range(vma, start, addr);
 
-	pte_unmap_unlock(start_pte, ptl);
 	arch_leave_lazy_mmu_mode();
+	pte_unmap_unlock(start_pte, ptl);
 
 	cond_resched();
 	return ret;
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 94d267d02372..787c632ee2c9 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -222,10 +222,14 @@ static inline int pmd_dirty(pmd_t pmd)
  * hazard could result in the direct mode hypervisor case, since the actual
  * write to the page tables may not yet have taken place, so reads though
  * a raw PTE pointer after it has been modified are not guaranteed to be
- * up to date.  This mode can only be entered and left under the protection of
- * the page table locks for all page tables which may be modified.  In the UP
- * case, this is required so that preemption is disabled, and in the SMP case,
- * it must synchronize the delayed page table writes properly on other CPUs.
+ * up to date.
+ *
+ * In the general case, no lock is guaranteed to be held between entry and exit
+ * 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.
  */
 #ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
 #define arch_enter_lazy_mmu_mode()	do {} while (0)
@@ -287,7 +291,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 {
 	page_table_check_ptes_set(mm, ptep, pte, nr);
 
-	arch_enter_lazy_mmu_mode();
 	for (;;) {
 		set_pte(ptep, pte);
 		if (--nr == 0)
@@ -295,7 +298,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		ptep++;
 		pte = pte_next_pfn(pte);
 	}
-	arch_leave_lazy_mmu_mode();
 }
 #endif
 #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sun Mar 02 14:56:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Mar 2025 14:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899723.1307805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tokjs-000280-UU; Sun, 02 Mar 2025 14:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899723.1307805; Sun, 02 Mar 2025 14:56: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 1tokjs-00027t-Rb; Sun, 02 Mar 2025 14:56:20 +0000
Received: by outflank-mailman (input) for mailman id 899723;
 Sun, 02 Mar 2025 14:56: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=LRaO=VV=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tokjq-0001QO-Nf
 for xen-devel@lists.xenproject.org; Sun, 02 Mar 2025 14:56:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7e551213-f776-11ef-9898-31a8f345e629;
 Sun, 02 Mar 2025 15:56:17 +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 EC74816F3;
 Sun,  2 Mar 2025 06:56:30 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 291D73F5A1;
 Sun,  2 Mar 2025 06:56:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e551213-f776-11ef-9898-31a8f345e629
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v1 3/4] sparc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes
Date: Sun,  2 Mar 2025 14:55:53 +0000
Message-ID: <20250302145555.3236789-4-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250302145555.3236789-1-ryan.roberts@arm.com>
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With commit 1a10a44dfc1d ("sparc64: implement the new page table range
API") set_ptes was added to the sparc architecture. The implementation
included calling arch_enter/leave_lazy_mmu() calls.

The patch removes the usage of arch_enter/leave_lazy_mmu() since this
implies nesting of lazy mmu regions which is not supported. Without this
fix, lazy mmu mode is effectively disabled because we exit the mode
after the first set_ptes:

remap_pte_range()
  -> arch_enter_lazy_mmu()
  -> set_ptes()
      -> arch_enter_lazy_mmu()
      -> arch_leave_lazy_mmu()
  -> arch_leave_lazy_mmu()

Powerpc suffered the same problem and fixed it in a corresponding way
with commit 47b8def9358c ("powerpc/mm: Avoid calling
arch_enter/leave_lazy_mmu() in set_ptes").

Fixes: 1a10a44dfc1d ("sparc64: implement the new page table range API")
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 arch/sparc/include/asm/pgtable_64.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
index 2b7f358762c1..dc28f2c4eee3 100644
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -936,7 +936,6 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
 static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		pte_t *ptep, pte_t pte, unsigned int nr)
 {
-	arch_enter_lazy_mmu_mode();
 	for (;;) {
 		__set_pte_at(mm, addr, ptep, pte, 0);
 		if (--nr == 0)
@@ -945,7 +944,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		pte_val(pte) += PAGE_SIZE;
 		addr += PAGE_SIZE;
 	}
-	arch_leave_lazy_mmu_mode();
 }
 #define set_ptes set_ptes
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sun Mar 02 14:56:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Mar 2025 14:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899724.1307815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tokjv-0002Oa-62; Sun, 02 Mar 2025 14:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899724.1307815; Sun, 02 Mar 2025 14:56: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 1tokjv-0002OR-2b; Sun, 02 Mar 2025 14:56:23 +0000
Received: by outflank-mailman (input) for mailman id 899724;
 Sun, 02 Mar 2025 14:56: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=LRaO=VV=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tokjt-0001QO-IT
 for xen-devel@lists.xenproject.org; Sun, 02 Mar 2025 14:56:21 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7fe5db7e-f776-11ef-9898-31a8f345e629;
 Sun, 02 Mar 2025 15:56:19 +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 9B79A16F8;
 Sun,  2 Mar 2025 06:56:33 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CB8B43F5A1;
 Sun,  2 Mar 2025 06:56:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fe5db7e-f776-11ef-9898-31a8f345e629
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v1 4/4] Revert "x86/xen: allow nesting of same lazy mode"
Date: Sun,  2 Mar 2025 14:55:54 +0000
Message-ID: <20250302145555.3236789-5-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250302145555.3236789-1-ryan.roberts@arm.com>
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit 49147beb0ccb ("x86/xen: allow nesting of same lazy mode") was
added as a solution for a core-mm code change where
arch_[enter|leave]_lazy_mmu_mode() started to be called in a nested
manner; see commit bcc6cc832573 ("mm: add default definition of
set_ptes()").

However, now that we have fixed the API to avoid nesting, we no longer
need this capability in the x86 implementation.

Additionally, from code review, I don't believe the fix was ever robust
in the case of preemption occurring while in the nested lazy mode. The
implementation usually deals with preemption by calling
arch_leave_lazy_mmu_mode() from xen_start_context_switch() for the
outgoing task if we are in the lazy mmu mode. Then in
xen_end_context_switch(), it restarts the lazy mode by calling
arch_enter_lazy_mmu_mode() for an incoming task that was in the lazy
mode when it was switched out. But arch_leave_lazy_mmu_mode() will only
unwind a single level of nesting. If we are in the double nest, then
it's not fully unwound and per-cpu variables are left in a bad state.

So the correct solution is to remove the possibility of nesting from the
higher level (which has now been done) and remove this x86-specific
solution.

Fixes: 49147beb0ccb ("x86/xen: allow nesting of same lazy mode")
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 arch/x86/include/asm/xen/hypervisor.h | 15 ++-------------
 arch/x86/xen/enlighten_pv.c           |  1 -
 2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index a9088250770f..bd0fc69a10a7 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -72,18 +72,10 @@ enum xen_lazy_mode {
 };
 
 DECLARE_PER_CPU(enum xen_lazy_mode, xen_lazy_mode);
-DECLARE_PER_CPU(unsigned int, xen_lazy_nesting);
 
 static inline void enter_lazy(enum xen_lazy_mode mode)
 {
-	enum xen_lazy_mode old_mode = this_cpu_read(xen_lazy_mode);
-
-	if (mode == old_mode) {
-		this_cpu_inc(xen_lazy_nesting);
-		return;
-	}
-
-	BUG_ON(old_mode != XEN_LAZY_NONE);
+	BUG_ON(this_cpu_read(xen_lazy_mode) != XEN_LAZY_NONE);
 
 	this_cpu_write(xen_lazy_mode, mode);
 }
@@ -92,10 +84,7 @@ static inline void leave_lazy(enum xen_lazy_mode mode)
 {
 	BUG_ON(this_cpu_read(xen_lazy_mode) != mode);
 
-	if (this_cpu_read(xen_lazy_nesting) == 0)
-		this_cpu_write(xen_lazy_mode, XEN_LAZY_NONE);
-	else
-		this_cpu_dec(xen_lazy_nesting);
+	this_cpu_write(xen_lazy_mode, XEN_LAZY_NONE);
 }
 
 enum xen_lazy_mode xen_get_lazy_mode(void);
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 5e57835e999d..919e4df9380b 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -99,7 +99,6 @@ struct tls_descs {
 };
 
 DEFINE_PER_CPU(enum xen_lazy_mode, xen_lazy_mode) = XEN_LAZY_NONE;
-DEFINE_PER_CPU(unsigned int, xen_lazy_nesting);
 
 enum xen_lazy_mode xen_get_lazy_mode(void)
 {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sun Mar 02 16:02:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Mar 2025 16:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899777.1307825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tollk-0005St-M3; Sun, 02 Mar 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 899777.1307825; Sun, 02 Mar 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 1tollk-0005Sm-J9; Sun, 02 Mar 2025 16:02:20 +0000
Received: by outflank-mailman (input) for mailman id 899777;
 Sun, 02 Mar 2025 16:02: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=EjyH=VV=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tollj-0005Sg-Pn
 for xen-devel@lists.xenproject.org; Sun, 02 Mar 2025 16:02:20 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20629.outbound.protection.outlook.com
 [2a01:111:f403:2416::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5457094-f77f-11ef-9898-31a8f345e629;
 Sun, 02 Mar 2025 17:02:17 +0100 (CET)
Received: from BLAPR03CA0135.namprd03.prod.outlook.com (2603:10b6:208:32e::20)
 by SJ1PR12MB6290.namprd12.prod.outlook.com (2603:10b6:a03:457::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Sun, 2 Mar
 2025 16:02:06 +0000
Received: from BN3PEPF0000B373.namprd21.prod.outlook.com
 (2603:10b6:208:32e:cafe::dd) by BLAPR03CA0135.outlook.office365.com
 (2603:10b6:208:32e::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.26 via Frontend Transport; Sun,
 2 Mar 2025 16:02:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B373.mail.protection.outlook.com (10.167.243.170) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.4 via Frontend Transport; Sun, 2 Mar 2025 16:02:06 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 2 Mar
 2025 10:02:05 -0600
Received: from [172.28.231.239] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Sun, 2 Mar 2025 10:02:03 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5457094-f77f-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MsWwBqA//Vg492HtFWJqlUr6DnOLG+Fv6+ui/IUhkZwuoCFD3ZbwKhAmF8Mq7YX7CZCNtZl5uQmT0jjttgE2MOO+/3ZQi2ICGz1haH4T94jKVfqN7Ao6Le9sbHWlqYP7XwxodMGq99q4qfQmhb28ncL80YmMSzNUsJzMMClU4GiXChfl9wTov7jTXVqKZLtaUs/gk0v9wc2zFYEWvUdTYkNs/d0fdWEQIrpCw8tF0AI/gtBAueul4GgFXt0482qWrX9bqFFJNX8TnL1i/dpZhZ7vE/yk62+LZ9CcVKqItlkeKPxiylk5Utmg3CCHErKhtPEgL3vVQsBcQjba5ozlew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zPt7Ti7IZGdt1x0wAsQw8O1i3BwrI4BT8gXRagBG8w8=;
 b=XHGDubZ0pQn3DbSAxqO9OYakcIeNsOPNF7dHKQ4mwzRuIRAd7zJGdj+5psoH0D2+RJYDPk6S4zlhSHtGRuWeqUwGDoCsfnDBy/DovQ5xXPMwsk79jsJMdV/gu6rPjBbQcrniiJ5NvQcxDRUegR2qvV0lpdyAAXhLbbtn9byfaj1gVSLFxNZA9mdZIw+SZz7OCaVMnNlwb4zh//wtFVXw8QxqKi8BPP3kglnvwOpywhtNmoJqct1s/J4UJOk8K1sX/RqhzLY4sBblSAfiEfIOTK45kzuXrWhhLed7xLtwbS8aSTq3eCYHekkc3yLrXWD+kiG6NyZuwn3ajlO3Pjn7JA==
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=zPt7Ti7IZGdt1x0wAsQw8O1i3BwrI4BT8gXRagBG8w8=;
 b=0A02PJEPT3NdQxd7ycdWx3f768v/91u4cDw38p12hBOnv5xWE8yaMSVGotijxMypdClIktlW+a+j9A7Is02q7vLyX+zQWFm6IjP3C1fyBIyzvRv82cXRhmBCoLdb7pDEFkcw07dPuKd4h2MrKewpOpZBaPBVk2ADioEiSZ/y1lU=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <5d965c79-296a-4319-b5c9-972b6a06ffd9@amd.com>
Date: Sun, 2 Mar 2025 11:01:58 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v16 0/5] PCI devices passthrough on Arm, part 3
To: Mykyta Poturai <Mykyta_Poturai@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>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <20240522225927.77398-1-stewart.hildebrand@amd.com>
 <1ef27a22-e541-4f44-97d5-400fe455222e@epam.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <1ef27a22-e541-4f44-97d5-400fe455222e@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B373:EE_|SJ1PR12MB6290:EE_
X-MS-Office365-Filtering-Correlation-Id: 51b96ef1-4647-47a6-da73-08dd59a39469
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TDZxNnBtc0g4amFwWmNRUFdseFRMYnBoWTk3Yi9QWUZaYTl2TndJNk4vaGpW?=
 =?utf-8?B?bUhrQzhHVSswTytLWXpsV0ZscnNYZllQMVRYVndHazN6cVI2d2xsaHJuanlj?=
 =?utf-8?B?dmpxbmJhWmw2bnJyQithQ1hVYldiLy9Xc2JUSmEwdldLSm5yakNscnNKcFd5?=
 =?utf-8?B?NkZmUWFMTFBqQmRXYm5reVdKd1N1SFJIVmNQOUpwOFc5L2VLV0VyMkRLMDJr?=
 =?utf-8?B?OFErQ0d4Z05MQlIrLzc4aDFSNlFjNHYyVEc1cGNsMlJlWm9LR3hSeUI0NGFm?=
 =?utf-8?B?ck9XWHVLc2pPdnpueXBObzlVUVBGN2dFbi9CZTRJZC9Sazh0c2ErVGNUSGNz?=
 =?utf-8?B?VjhEc2VzNEJmY2hPRnVoVUdicEUxdkVWTEM2NDQvZGtZVVVJU3F1QUMvcjJQ?=
 =?utf-8?B?eGYyZkR1QTJ1UEprVjY2NFBDeEc2c1lXcDBldTVpWSs4SWNhbk4xcE9YU1Rp?=
 =?utf-8?B?aHRuMDAxQTlhUjRZWEVBajJ1dEs3WEtMTFc1VHJ4VzFFM3Yvb2VpV2JWNUNH?=
 =?utf-8?B?am9rTWlYR21BcEJuNkc3QUtLeDJPOUR0dHZzMER5OXd2VTN3em5hTk1LSlpP?=
 =?utf-8?B?Zm9qb2d4WmRVckNPS1JwUjJGM2xSMXJBdWx2TUVSVDViTDg0OWNsSnBveDVJ?=
 =?utf-8?B?NmU1M2swa2JPQU5sYzA1Z3ZWMGFCYngrbDFhU2lYUGoxQUFqSDJYcHdONS9t?=
 =?utf-8?B?ZVQ0b0xabjk1SnVWZXprcDNBNnBlZXdOQ3Q3ZHB6ZyttWGRxeWpLNjQyTHpO?=
 =?utf-8?B?THhWOC8veXd4OFpUUFIrSXNvSnFUY3BaVkIrNnhIeGZPOXZRQXVZcTNxQlRo?=
 =?utf-8?B?bUh3TFFibU9EV0hZR2lva2FjZXZUSEhERXlnbnl4M1gwN2N1L1FDUFZUbEFE?=
 =?utf-8?B?S3NTZStQTnVFUGNaUmRkZ3RnVHM3cG9rOWpqMmxUbi9CU25zV0VlcXJIakxo?=
 =?utf-8?B?T0FDOXRvQWltZ1hGM2NZQ3k1VmIwVGNHUHJBUlN4S1B6Z2dsdnpKbUI5QitS?=
 =?utf-8?B?NmhNWlBHcXVtR3BHaFFoWDVnTEtFMEhJM1A5RWJabkFIOXlYM05LeGdFRnRk?=
 =?utf-8?B?dVROam9JSnduL3hZclZIdHhVVGtHV2s4bkFLa1dlc1F4OUxZcU1udE1XNXNH?=
 =?utf-8?B?bFZabEo4NVZldC9QbFFyKzdLcjdRSnl5bjlFcXV0eEVGc0k1b0puWTA0VUZJ?=
 =?utf-8?B?VTdDcm55NUpNSW5MRnM2dUIrRTRldC8zVHdUcFQ5M1QyQTRjVDc2WDFlclky?=
 =?utf-8?B?aFVHS3hCdHdSV1BnaUdCY0lyM05NZW9iWmtjdm15c2xkeE9vME9BNnUrV2Vl?=
 =?utf-8?B?K0xBVnV5WkdIRXB3YnBGSlJGSHNtZ2tHRTJlNmJjWXlGQkVUOElHdHIzNDBX?=
 =?utf-8?B?cDJlTi9WQ0daVkpmK1hMU1pLQUIweVFzKytQNGF2YXVsaDNYYS9YQ1RIUWxr?=
 =?utf-8?B?MHUzNDMrbk50QlRRKzhKekIzZzNvUjZBLzBrMXBteGVlM0JmRUEyMjNwZjVa?=
 =?utf-8?B?aHJUNHl1TUYrOC9WOG5ReTlNUFZFZlJUNCtVaExEalhFSG51UWFINTdPV3ZN?=
 =?utf-8?B?cnJwd0FNY2d4WHNuN2NXNUpxUXR1MTFGRCtIcUpPaStKUHJ0R2gxdjNLTEpo?=
 =?utf-8?B?VDIwc3djVWxEL3pqcFNkV2FMRmV3NUR5RXlXdk9zUkZnL3JCUTRwZ3NhbzVO?=
 =?utf-8?B?bVQ4VkJYam9LcWpFTXdVMlp2b1BUTjFGb2V6ekVFK0dFL3pCSjFUUFhSTWw1?=
 =?utf-8?B?ZXNEVFUyTTZPWTVpelgyWm9LNkJYRFl1REI1ZU1MNUF2ckx2cUtwdi9TQjRo?=
 =?utf-8?B?endxU0lkTWtpcG5WSmR0S0xsVzNqa2ljMlFLd3d5K0lvdVZmOStNSnE5MC9N?=
 =?utf-8?B?eTNMTmdWdWFiQXZvZEM2Wm1VZ2lXeTFyWS9nc2h1WjMrREI3aHREdUtHejlx?=
 =?utf-8?B?TUNDWStmSGdUUExxdTFZOXRsOWRSNHVsVEZ5OUNmaDZuekMvSjB3bTdQbmRB?=
 =?utf-8?Q?+nhHahU9QHHx2pM077557v1Mpt902U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2025 16:02:06.0359
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 51b96ef1-4647-47a6-da73-08dd59a39469
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B373.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6290

On 2/28/25 09:40, Mykyta Poturai wrote:
> On 23.05.24 01:59, Stewart Hildebrand wrote:
>> This is next version of vPCI rework. Aim of this series is to prepare
>> ground for introducing PCI support on ARM platform.
>>
>> in v16:
>>   - minor updates - see individual patches
>>
>> in v15:
>>   - reorder so ("arm/vpci: honor access size when returning an error")
>>     comes first
>>
>> in v14:
>>   - drop first 9 patches as they were committed
>>   - updated ("vpci/header: emulate PCI_COMMAND register for guests")
>>
>> in v13:
>>   - drop ("xen/arm: vpci: permit access to guest vpci space") as it was
>>     unnecessary
>>
>> in v12:
>>   - I (Stewart) coordinated with Volodomyr to send this whole series. So,
>>     add my (Stewart) Signed-off-by to all patches.
>>   - The biggest change is to re-work the PCI_COMMAND register patch.
>>     Additional feedback has also been addressed - see individual patches.
>>   - Drop ("pci: msi: pass pdev to pci_enable_msi() function") and
>>     ("pci: introduce per-domain PCI rwlock") as they were committed
>>   - Rename ("rangeset: add rangeset_empty() function")
>>         to ("rangeset: add rangeset_purge() function")
>>   - Rename ("vpci/header: rework exit path in init_bars")
>>         to ("vpci/header: rework exit path in init_header()")
>>
>> in v11:
>>   - Added my (Volodymyr) Signed-off-by tag to all patches
>>   - Patch "vpci/header: emulate PCI_COMMAND register for guests" is in
>>     intermediate state, because it was agreed to rework it once Stewart's
>>     series on register handling are in.
>>   - Addressed comments, please see patch descriptions for details.
>>
>> in v10:
>>
>>   - Removed patch ("xen/arm: vpci: check guest range"), proper fix
>>     for the issue is part of ("vpci/header: emulate PCI_COMMAND
>>     register for guests")
>>   - Removed patch ("pci/header: reset the command register when adding
>>     devices")
>>   - Added patch ("rangeset: add rangeset_empty() function") because
>>     this function is needed in ("vpci/header: handle p2m range sets
>>     per BAR")
>>   - Added ("vpci/header: handle p2m range sets per BAR") which addressed
>>     an issue discovered by Andrii Chepurnyi during virtio integration
>>   - Added ("pci: msi: pass pdev to pci_enable_msi() function"), which is
>>     prereq for ("pci: introduce per-domain PCI rwlock")
>>   - Fixed "Since v9/v8/... " comments in changelogs to reduce confusion.
>>     I left "Since" entries for older versions, because they were added
>>     by original author of the patches.
>>
>> in v9:
>>
>> v9 includes addressed commentes from a previous one. Also it
>> introduces a couple patches from Stewart. This patches are related to
>> vPCI use on ARM. Patch "vpci/header: rework exit path in init_bars"
>> was factored-out from "vpci/header: handle p2m range sets per BAR".
>>
>> in v8:
>>
>> The biggest change from previous, mistakenly named, v7 series is how
>> locking is implemented. Instead of d->vpci_rwlock we introduce
>> d->pci_lock which has broader scope, as it protects not only domain's
>> vpci state, but domain's list of PCI devices as well.
>>
>> As we discussed in IRC with Roger, it is not feasible to rework all
>> the existing code to use the new lock right away. It was agreed that
>> any write access to d->pdev_list will be protected by **both**
>> d->pci_lock in write mode and pcidevs_lock(). Read access on other
>> hand should be protected by either d->pci_lock in read mode or
>> pcidevs_lock(). It is expected that existing code will use
>> pcidevs_lock() and new users will use new rw lock. Of course, this
>> does not mean that new users shall not use pcidevs_lock() when it is
>> appropriate.
>>
>> Changes from previous versions are described in each separate patch.
>>
>> Oleksandr Andrushchenko (4):
>>    vpci/header: emulate PCI_COMMAND register for guests
>>    vpci: add initial support for virtual PCI bus topology
>>    xen/arm: translate virtual PCI bus topology for guests
>>    xen/arm: account IO handlers for emulated PCI MSI-X
>>
>> Volodymyr Babchuk (1):
>>    arm/vpci: honor access size when returning an error
>>
>>   xen/arch/arm/vpci.c        | 63 +++++++++++++++++++++++------
>>   xen/drivers/Kconfig        |  4 ++
>>   xen/drivers/vpci/header.c  | 60 +++++++++++++++++++++++++---
>>   xen/drivers/vpci/msi.c     |  9 +++++
>>   xen/drivers/vpci/msix.c    |  7 ++++
>>   xen/drivers/vpci/vpci.c    | 81 ++++++++++++++++++++++++++++++++++++++
>>   xen/include/xen/pci_regs.h |  1 +
>>   xen/include/xen/sched.h    | 10 ++++-
>>   xen/include/xen/vpci.h     | 28 +++++++++++++
>>   9 files changed, 244 insertions(+), 19 deletions(-)
>>
>>
>> base-commit: ced21fbb2842ac4655048bdee56232974ff9ff9c
> 
> 
> Hi everyone
> I see that the first three patches from this series were merged, but 
> patches 4 and 5 were not, despite having acks. Is there something else 
> wrong with them that needs addressing, or were they just missed by accident?

("xen/arm: account IO handlers for emulated PCI MSI-X") was sort of a
presumptive change related to future work, and I think it should wait
until the IO handlers are present on Arm, if they are even needed at
all.

There was some additional dialogue following ("xen/arm: translate
virtual PCI bus topology for guests") that may need to be investigated.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:50:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:50:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899908.1307835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1Um-0008DJ-QK; Mon, 03 Mar 2025 08:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899908.1307835; Mon, 03 Mar 2025 08: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 1tp1Um-0008DC-NI; Mon, 03 Mar 2025 08:49:52 +0000
Received: by outflank-mailman (input) for mailman id 899908;
 Mon, 03 Mar 2025 08:49: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=8eIf=VW=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tp1Ul-0008D6-N9
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:49:51 +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 7597cdca-f80c-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 09:49:47 +0100 (CET)
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-483-TRm7uBtiO1WgBBtbSwNUGg-1; Mon, 03 Mar 2025 03:49:45 -0500
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-43bbfc1681eso3711735e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 00:49:44 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bc032d049sm33471735e9.5.2025.03.03.00.49.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 00:49:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7597cdca-f80c-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740991786;
	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=HZgsvoWWTlj/z7Wx3jz+2Ap6TQJJXYjKQ3XMWzn2w2I=;
	b=WZuWs5FeYhZzMltbArYJ8wXFzdDj9k3Fyt56lTlajF9tpixE3/xxY2PxYMpSeCrgmL4B2+
	XPAY3FjsKausWFXzeZ+/HT7oLw7EE+WhVw6vQtQfbqFIfiWtwKTJ5ED2G0xoT/3rpBWBA9
	3mqUMPZrKjuRbmxaQEbZ56CnY8V+Ojk=
X-MC-Unique: TRm7uBtiO1WgBBtbSwNUGg-1
X-Mimecast-MFC-AGG-ID: TRm7uBtiO1WgBBtbSwNUGg_1740991784
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740991784; x=1741596584;
        h=content-transfer-encoding:in-reply-to:organization: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=HZgsvoWWTlj/z7Wx3jz+2Ap6TQJJXYjKQ3XMWzn2w2I=;
        b=e/9G5UTVEIdlvITsOAm08muL8L+BusGxpeFALinQsObVTn7D0IdYT32xyeowjq7GTk
         jNMQKXg01V7QtqMlxQovPRdyvjamfkThmZmSY2XOUny46JApQajzCGceWL7t2znb1iHC
         aGppHuuBcyn2Ia0xaCKrg/QEW2xdUHdaPWQUpvGnBE/bhvlbFnv566SlVyWoMhrp18um
         JliRO2z98N/IdWI2XVeZUgZamBqdpM+Fch3wbBMu/G91XG5lrkiTZd9RnkNB052sVpS8
         RAJRepgvsZuWFQoPPJF49+/QujVZ1CYN4W2gzWU9MRGifI7KkViRfBo1kHX9sPesH9Ul
         0aKg==
X-Forwarded-Encrypted: i=1; AJvYcCWYWuzD/3ii83gElutfVK8XZoND07+eR+v8YYd6XcMg98DfSfuzChr8fkGHADGLAqTwkmkxKFt4JZ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDjgrsnlBN6eCrr61kttrD/aZ4m+Rf7xyiw/LgxykqRxNCrhhy
	p23KT3DzdmvSmdNKabS5pnL4w3FlQOrkTiftzJtvgUw5DXQnCK0SJg9zDNgLGfuHmWqr7tq0J5E
	aqLjFORqUQeyvEerXPM3uJGCVglgwQqpLQXFNwFOWS5RqS+ruKg9b1cBMxsohOSBD
X-Gm-Gg: ASbGncs5zBXokY9nIlM1vZFOhtjfaqHnS7na4mIjU5adNpC45KLN2DrCkEh8on3CTS/
	6WK7Ok464IqXhDsYAtF32RHIEnOqXvm87Vda7SzpEjELiJrp9ZYRKCT93j0HchpG1beY7eL/FWf
	yhpO55ufboHhk0WcahOXSqK0+SZvRtiAu3XoAWaj/AsrvwLeWOaJA3wwReM8V3DRuKcWtzKmit+
	S8Xjn6c18oYF8qWPXLzr52ABKDMukrSnfw1eOLJKeYD6MSUBwvj5ZY4mB+n2/mOfNCu289M0qc9
	ObEkzP0mFAmz0cE6/pSbolf/+IgBXhjpFImPV485URzj4Kiugru0X4q00+MesdfIx2BjiJqOcRq
	YXkcD/ixJnq0h3a+1NYqXnvpHS7lRr3/u5jgOv/XgfLs=
X-Received: by 2002:a05:600c:6a98:b0:43b:c1ac:aeeb with SMTP id 5b1f17b1804b1-43bc1acb051mr17807965e9.2.1740991783872;
        Mon, 03 Mar 2025 00:49:43 -0800 (PST)
X-Google-Smtp-Source: AGHT+IGfkTeqUr6av3ulFhHw4w32J7M9dmMHOsqprQVn7qo3OHB2JAoIA5h/UZCV7efl/bOzE0qShA==
X-Received: by 2002:a05:600c:6a98:b0:43b:c1ac:aeeb with SMTP id 5b1f17b1804b1-43bc1acb051mr17807725e9.2.1740991783445;
        Mon, 03 Mar 2025 00:49:43 -0800 (PST)
Message-ID: <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
Date: Mon, 3 Mar 2025 09:49:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250302145555.3236789-2-ryan.roberts@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: gjB5rh2uYJxJG38V3sdiS6QGKach9c1yTzT0F7JOnFw_1740991784
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02.03.25 15:55, Ryan Roberts wrote:
> The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
> is a bit of a mess (to put it politely). There are a number of issues
> related to nesting of lazy mmu regions and confusion over whether the
> task, when in a lazy mmu region, is preemptible or not. Fix all the
> issues relating to the core-mm. Follow up commits will fix the
> arch-specific implementations. 3 arches implement lazy mmu; powerpc,
> sparc and x86.
> 
> When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
> 6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
> expected that lazy mmu regions would never nest and that the appropriate
> page table lock(s) would be held while in the region, thus ensuring the
> region is non-preemptible. Additionally lazy mmu regions were only used
> during manipulation of user mappings.
> 
> Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
> updates") started invoking the lazy mmu mode in apply_to_pte_range(),
> which is used for both user and kernel mappings. For kernel mappings the
> region is no longer protected by any lock so there is no longer any
> guarantee about non-preemptibility. Additionally, for RT configs, the
> holding the PTL only implies no CPU migration, it doesn't prevent
> preemption.
> 
> Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
> arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
> set_ptes(), used by x86. So after this commit, lazy mmu regions can be
> nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
> page table range API") and commit 9fee28baa601 ("powerpc: implement the
> new page table range API") did the same for the sparc and powerpc
> set_ptes() overrides.
> 
> powerpc couldn't deal with preemption so avoids it in commit
> b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
> which explicitly disables preemption for the whole region in its
> implementation. x86 can support preemption (or at least it could until
> it tried to add support nesting; more on this below). Sparc looks to be
> totally broken in the face of preemption, as far as I can tell.
> 
> powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
> ("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
> which removes the lazy mmu calls from its implementation of set_ptes().
> x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
> nesting of same lazy mode") but as far as I can tell, this breaks its
> support for preemption.
> 
> In short, it's all a mess; the semantics for
> arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
> result the implementations all have different expectations, sticking
> plasters and bugs.
> 
> arm64 is aiming to start using these hooks, so let's clean everything up
> before adding an arm64 implementation. Update the documentation to state
> that lazy mmu regions can never be nested, must not be called in
> interrupt context and preemption may or may not be enabled for the
> duration of the region.
> 
> Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
> called in pagemap_scan_pmd_entry() to follow the normal pattern of
> holding the ptl for user space mappings. As a result the scope is
> reduced to only the pte table, but that's where most of the performance
> win is. While I believe there wasn't technically a bug here, the
> original scope made it easier to accidentally nest or, worse,
> accidentally call something like kmap() which would expect an immediate
> mode pte modification but it would end up deferred.
> 
> arch-specific fixes to conform to the new spec will proceed this one.
> 
> These issues were spotted by code review and I have no evidence of
> issues being reported in the wild.
> 

All looking good to me!

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:51:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899920.1307845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1Wa-0001Dw-5B; Mon, 03 Mar 2025 08:51:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899920.1307845; Mon, 03 Mar 2025 08:51: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 1tp1Wa-0001Dp-1t; Mon, 03 Mar 2025 08:51:44 +0000
Received: by outflank-mailman (input) for mailman id 899920;
 Mon, 03 Mar 2025 08:51: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=8eIf=VW=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tp1WY-0001Dj-Tq
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:51:42 +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 b8ad19d2-f80c-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 09:51:40 +0100 (CET)
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-528-TWOWeLwvNKmv6qDlNA0DgA-1; Mon, 03 Mar 2025 03:51:38 -0500
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-3910cd78330so163396f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 00:51:37 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4844a22sm13875701f8f.74.2025.03.03.00.51.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 00:51:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8ad19d2-f80c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740991899;
	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=PqwL+v3kSKyO1WWdOm3Dn4wn0YpaEHuXEacsy1CmEn4=;
	b=MUEEaKhHroJTTeUp4KpAtO7naUHm8iEdVaV1kb7KmpWFAiy5a8jkMMipWqsR8y8eLMSPp4
	dnrl21lc0/K2YOTKaSOBGn9zsA1kc9ocXtz5xe95YVTm0IVvFMv2MwtsCe+Cg53OMg8jXj
	RwijkMT2v03xMyv/FWpaAgt37lFShcQ=
X-MC-Unique: TWOWeLwvNKmv6qDlNA0DgA-1
X-Mimecast-MFC-AGG-ID: TWOWeLwvNKmv6qDlNA0DgA_1740991896
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740991896; x=1741596696;
        h=content-transfer-encoding:in-reply-to:organization: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=PqwL+v3kSKyO1WWdOm3Dn4wn0YpaEHuXEacsy1CmEn4=;
        b=XjbvhNLCyL2eddAVJoUJQeCrf/q+mBdtNGqydNk6s/+4yTRhy8e5C0QrP2eJLW5mQ9
         E4XKwUO6+hOdqzlB4Mh3gkyDYb9NeACM0gJ1Tx/7Jz5yGfGxUZcm9uenojVrfMitWx76
         3ZvokYcKgDvfLfamy4ERfLKTKdgmN2WiLHKA2YsoU00lgfmFxADl82jogPGTCQjWN6Hc
         7Y9dmcCQ7gyDmXpRq/jONOuw04EoGBxM6zEn4FIANuteu2BkLE2lERt3ugNNoKL6oN3o
         Ay7llasjnY9oXb0kklusOswCdIwZ+ntZxSFY31tohLJM5D/inirB6Lwi1hrfzNJSVisd
         kO6A==
X-Forwarded-Encrypted: i=1; AJvYcCV834i95fxzUsw0/gI7rsHdwY7ZORXH8C80Ol3LFdfE8i5MDHemy8EYNWWGz1Owy7PKO5sLNsU7Umo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzG30RydlL9xJ+ceKAQmQ3Ijs2YSt5tljENp3XZZSzM1lMWLU7e
	MJ2yUl8I2TzuwRmte9UBrZ4NVLqKJzY8LDztA5KyGfcz5jtqzOrRBLU6j693+NzbNZN4aWpWnaL
	0BRAdD+jUB+scCMRDM0nm/K2G14o1KCpRaQOdzIgRMhTSqaPj4N9hSzu+/HnYvQk8
X-Gm-Gg: ASbGncvp2vWDs7US5P8eyyNocuKSAx8j9n77YcTscJZ7qwDPIhu7d5ZCrtD76k3Ybeq
	FPGCVvp6KgLejIQrUX3qaB7as2r5UeDtbdvR088KCXW36aGHcnLIAz3izRomgzLFJmc8wff3MeZ
	H510mx4lJMdAbW9WIsdJmJa1HvQ6cspPbNpLXCHYYdtaP/0O7OZ5qyUfnzXRKWczMIO88/es8Qs
	edkWj+Fq8yyTAa69WbD/9Ccc8i+pXyVqHVLKeNcDc8+ot8s7ngrRlFN/Fs+LHbG6xMAY5q92M5g
	JwSebCcWkXmz7NO9FboVyBBddCKreuwCWRhT4THIXV74H13qgjAmEFsz7guDJ8SjfIqFRavukPj
	B98ypcGNcfusQOLCgdmjVNNaBNLN14MvhzXaOMlUGGJY=
X-Received: by 2002:a05:6000:1565:b0:391:9b2:f48d with SMTP id ffacd0b85a97d-39109b2f8ebmr2190204f8f.33.1740991896373;
        Mon, 03 Mar 2025 00:51:36 -0800 (PST)
X-Google-Smtp-Source: AGHT+IEiqrTykXg+NUm0kAtziKqLGECEKRMnAI63MS2I3V/WDMW5AEnsAxTN6b4wA0iNetJkZ/Gt5g==
X-Received: by 2002:a05:6000:1565:b0:391:9b2:f48d with SMTP id ffacd0b85a97d-39109b2f8ebmr2190184f8f.33.1740991895948;
        Mon, 03 Mar 2025 00:51:35 -0800 (PST)
Message-ID: <4af46304-cf25-4c4a-8e4a-3a566193ca62@redhat.com>
Date: Mon, 3 Mar 2025 09:51:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] sparc/mm: Disable preemption in lazy mmu mode
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-3-ryan.roberts@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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250302145555.3236789-3-ryan.roberts@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: CjXecJsR6joi1yo_jfWmXYmjvql60Ranyn8KpTLGY5w_1740991896
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02.03.25 15:55, Ryan Roberts wrote:
> Since commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with
> lazy updates") it's been possible for arch_[enter|leave]_lazy_mmu_mode()
> to be called without holding a page table lock (for the kernel mappings
> case), and therefore it is possible that preemption may occur while in
> the lazy mmu mode. The Sparc lazy mmu implementation is not robust to
> preemption since it stores the lazy mode state in a per-cpu structure
> and does not attempt to manage that state on task switch.
> 
> Powerpc had the same issue and fixed it by explicitly disabling
> preemption in arch_enter_lazy_mmu_mode() and re-enabling in
> arch_leave_lazy_mmu_mode(). See commit b9ef323ea168 ("powerpc/64s:
> Disable preemption in hash lazy mmu mode").
> 
> Given Sparc's lazy mmu mode is based on powerpc's, let's fix it in the
> same way here.
> 
> Fixes: 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy updates")
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>   arch/sparc/mm/tlb.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
> index 8648a50afe88..a35ddcca5e76 100644
> --- a/arch/sparc/mm/tlb.c
> +++ b/arch/sparc/mm/tlb.c
> @@ -52,8 +52,10 @@ void flush_tlb_pending(void)
>   
>   void arch_enter_lazy_mmu_mode(void)
>   {
> -	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
> +	struct tlb_batch *tb;
>   
> +	preempt_disable();
> +	tb = this_cpu_ptr(&tlb_batch);
>   	tb->active = 1;
>   }
>   
> @@ -64,6 +66,7 @@ void arch_leave_lazy_mmu_mode(void)
>   	if (tb->tlb_nr)
>   		flush_tlb_pending();
>   	tb->active = 0;
> +	preempt_enable();
>   }
>   
>   static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:52:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:52:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899925.1307855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1X4-0001eX-DL; Mon, 03 Mar 2025 08:52:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899925.1307855; Mon, 03 Mar 2025 08: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 1tp1X4-0001eQ-9b; Mon, 03 Mar 2025 08:52:14 +0000
Received: by outflank-mailman (input) for mailman id 899925;
 Mon, 03 Mar 2025 08:52: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=8eIf=VW=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tp1X2-0001Dj-SC
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:52:12 +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 cb131bc0-f80c-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 09:52:11 +0100 (CET)
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-37-uwwI43YOPC63LUVaDya3Rg-1; Mon, 03 Mar 2025 03:52:06 -0500
Received: by mail-wr1-f71.google.com with SMTP id
 ffacd0b85a97d-390e27150dbso3880648f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 00:52:06 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e485e13fsm13623429f8f.100.2025.03.03.00.52.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 00:52:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb131bc0-f80c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740991930;
	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=AD0BhRUSKUKI9Ce/AzRts0lu/YIF74G3wU8/3/wY5qk=;
	b=SxCeuxHehVcWI9BQYOmfFok5FXhF/OLd1+8LK+EKIVz1uydNDF2Dy9dk1yNafIsTv4or/e
	ssU+0E5QJxVaNBn61Btn8k4Fg2m5ieoPXHexQkYGEWBCOaVzw9bKKonbGljeDYeb0+0e+M
	FnxXtx0vZIfELC7HrjnTSLlCsVQPiRQ=
X-MC-Unique: uwwI43YOPC63LUVaDya3Rg-1
X-Mimecast-MFC-AGG-ID: uwwI43YOPC63LUVaDya3Rg_1740991926
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740991925; x=1741596725;
        h=content-transfer-encoding:in-reply-to:organization: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=AD0BhRUSKUKI9Ce/AzRts0lu/YIF74G3wU8/3/wY5qk=;
        b=N5Mrm7ZSKWnVDMOfAYAuV2JzNUQDar/CjkoUt2OuzViXwfEu1Pw04WObBgeGpp8nfO
         bR48wbrI8H53sAXIayqq0R/Nh1e4EloeZzGA17QlUF9DXY4GAYge3zdKDzQNpfP/LIEE
         xKOsjB9xdGwEpSJyWghXGJUuAEqZGgOAS3r8zQ15mkNPAyd3t83YiC04GounuBk/NoKa
         W50IA3N0PqSMDHTgphS3FfkTTDpad7BOjajZWsOSlnzozJtXEWkKsoM2gq/a4bPEvNMv
         HJw8j0O1pXciG6+zscoO0MqK8dTaks7CF8cJMBR3/HXGR71Iu4WuCtmBDbu65+CxkM8/
         yyvg==
X-Forwarded-Encrypted: i=1; AJvYcCXhhj4DVr/Zs+TlMLd9vlJia428t6pdNmOhZQUI/dKyNuW8HJhOSmTmgjKNf7quKQViMaJNhXJ/qQY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzERSaUMfgflJsVaNIe2yd2HqnjAvbPZ4pX5L5txl+/xvLfFNEC
	YrJpvvdm7wqBBK3220eE1s3EXwwt73LAP0j3hHw0vSWJyPqqtp2kNIjyP4RjVw2VPHyr8GP1Nkg
	Pp9dCVeoAeX6bWSdrp3fXgP06PxCDBuIeEKhBQJ2/tdeCk+BfslJxxnJn0RLS6d6g
X-Gm-Gg: ASbGnctTYs9Zx65AjAXBx9R1y8U4oRgQnart5iZ9UaLijUhi8t0VIMwTyO3JlwT5q8O
	TveX9ud4dt3YKKJ7MhOpDuuKrE5JDLWW3r/Aj5sFTBRxNJ2p00Yx9w6gqk6rcAxYINF4goHidcB
	DycLva/faixUako4BGirOO10VNOB92n52CbdseBR4vtURd5xBUi6S4YyHbYSFqkxFoYKAFjsrnZ
	lk73fNeUekc3vtG/p/GSILrkL4EUCXAV6WdCoMT0cjBRNSdfSMw7HrboSieQKZH3AnfjaFOwR+N
	rGHOi5f+rNo5nnaL1M+DZpJE777abJAP1yWcRZ02J7npA2lDYN6IpmLhFA83cOr2Z+5ofMImq0X
	7qhIGwU67n46L0w+Xfk/750XYzf4JKrB7S9zqEDo/VP0=
X-Received: by 2002:a5d:6d89:0:b0:390:f88c:a689 with SMTP id ffacd0b85a97d-390f88cadabmr5755544f8f.47.1740991925674;
        Mon, 03 Mar 2025 00:52:05 -0800 (PST)
X-Google-Smtp-Source: AGHT+IF3sqppN55tl5C45qFk6psMYLYRvi/O7tktf2gORA/1QEyfox9eLasRdl1uBOhQIOjNr4hTpA==
X-Received: by 2002:a5d:6d89:0:b0:390:f88c:a689 with SMTP id ffacd0b85a97d-390f88cadabmr5755517f8f.47.1740991925267;
        Mon, 03 Mar 2025 00:52:05 -0800 (PST)
Message-ID: <0db13472-d056-4e41-a42c-f4ca60483176@redhat.com>
Date: Mon, 3 Mar 2025 09:52:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] sparc/mm: Avoid calling
 arch_enter/leave_lazy_mmu() in set_ptes
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-4-ryan.roberts@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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250302145555.3236789-4-ryan.roberts@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: mM9A57ZSNF6KO7-IbFRE-5HdaUEKkRm2sa6rXhJN064_1740991926
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02.03.25 15:55, Ryan Roberts wrote:
> With commit 1a10a44dfc1d ("sparc64: implement the new page table range
> API") set_ptes was added to the sparc architecture. The implementation
> included calling arch_enter/leave_lazy_mmu() calls.
> 
> The patch removes the usage of arch_enter/leave_lazy_mmu() since this
> implies nesting of lazy mmu regions which is not supported. Without this
> fix, lazy mmu mode is effectively disabled because we exit the mode
> after the first set_ptes:
> 
> remap_pte_range()
>    -> arch_enter_lazy_mmu()
>    -> set_ptes()
>        -> arch_enter_lazy_mmu()
>        -> arch_leave_lazy_mmu()
>    -> arch_leave_lazy_mmu()
> 
> Powerpc suffered the same problem and fixed it in a corresponding way
> with commit 47b8def9358c ("powerpc/mm: Avoid calling
> arch_enter/leave_lazy_mmu() in set_ptes").
> 
> Fixes: 1a10a44dfc1d ("sparc64: implement the new page table range API")
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>   arch/sparc/include/asm/pgtable_64.h | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
> index 2b7f358762c1..dc28f2c4eee3 100644
> --- a/arch/sparc/include/asm/pgtable_64.h
> +++ b/arch/sparc/include/asm/pgtable_64.h
> @@ -936,7 +936,6 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
>   static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
>   		pte_t *ptep, pte_t pte, unsigned int nr)
>   {
> -	arch_enter_lazy_mmu_mode();
>   	for (;;) {
>   		__set_pte_at(mm, addr, ptep, pte, 0);
>   		if (--nr == 0)
> @@ -945,7 +944,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
>   		pte_val(pte) += PAGE_SIZE;
>   		addr += PAGE_SIZE;
>   	}
> -	arch_leave_lazy_mmu_mode();
>   }
>   #define set_ptes set_ptes
>   

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:53:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:53:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899941.1307864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1Xn-0002Ft-O6; Mon, 03 Mar 2025 08:52:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899941.1307864; Mon, 03 Mar 2025 08:52: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 1tp1Xn-0002Fm-L9; Mon, 03 Mar 2025 08:52:59 +0000
Received: by outflank-mailman (input) for mailman id 899941;
 Mon, 03 Mar 2025 08:52: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=8eIf=VW=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tp1Xm-0001Dj-Ny
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:52:58 +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 e67fc786-f80c-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 09:52:57 +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-687-C-bCpjm-MzmIWUy8hFaF0A-1; Mon, 03 Mar 2025 03:52:52 -0500
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-4388eee7073so21868125e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 00:52:52 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43b8d6bc3fcsm122643735e9.0.2025.03.03.00.52.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 00:52:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e67fc786-f80c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740991976;
	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=L2Teo9Rbchbz42+Q6lAs3ttlkWMO9/zXQmWUHGDFFeQ=;
	b=MvR+cGPavUsl3/jZDJh1Rh1PIvLsQCP03A6RihuXRMrIkjjAZek80A8iKCIBrSI5qXBSzE
	rDU6CSLl5LX+mjnz2S1i7gEEnfhMa1PmTGAB2xzE0B+nHjh8b4bvXotEJYBMnOskmVMS3P
	VHzFzpMFHZXlBei1szpvTEgVC7fQ+04=
X-MC-Unique: C-bCpjm-MzmIWUy8hFaF0A-1
X-Mimecast-MFC-AGG-ID: C-bCpjm-MzmIWUy8hFaF0A_1740991971
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740991971; x=1741596771;
        h=content-transfer-encoding:in-reply-to:organization: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=L2Teo9Rbchbz42+Q6lAs3ttlkWMO9/zXQmWUHGDFFeQ=;
        b=S9GQG8TkcfEsRIA8JMJFZJaNBthy0Q+uxm9FtGtyfMpik05GS4qDCnMo68Lgn+884D
         8jl+UrE+8iV8iJMPqSDZPLZ4YO12raVXvkmzGqjfpyNCpWcsVq7bOaQ8hiHdbF/SvrRv
         lUL6pRXGVZfmZ/Zwo3/N/u+dmTB6LQjIwAJAZ4kgMUJohB/dReSkg14ToU0bY6YtSQNX
         8an4jOSKU3Q7686rIwB7wHl5bSmhUOvqVxqU4a8Fn3IQodFcsMcqM+ryIxrVetTMGqMH
         N1jxyoCbvyoz0vNLywDkOQM0AmIDiMSNR4JjzphfVMbQwgR7s912kHWidolgs26r7+zg
         lP1w==
X-Forwarded-Encrypted: i=1; AJvYcCWXXAfvJwmPMVeQQmgna2K76mi30BQi+fFpJ/RXZnc2po3vs+Q7ARq+xRAfwgPsMIKQHQPFwIFsT2A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6/FRZjFg+gw48vzRyMawo4chYCfCDmlMdWvLRYGHHEf4cajSW
	WeDXzQCBqxc/m7WhjbapXY4o6AC9MMA2n3y+y/hzesV/aaOZHkZAnZxLoMzI3appwN2JuEcVpuz
	ruI0DargVXMzGFyPu9GtoLWCEZDrJITw8zjwyTgTZjniGPQ7v9Axj3312NPCfLdHS
X-Gm-Gg: ASbGncuyrVftgqcq87ozBJaBRKVyo2JHTjZRa083YZKKTLthDEwvdv84M4wGuvXJUNQ
	8kSyWeLPFw3beO1UNadZWF172l5ZgRd1+Ge6JomkQo43BKq2VEm9h6Haei/xII+PaR1vIXSBCp1
	7oBQ7LIQAKhDaBWi/Q51DaNcyzczjVUik6SnXxKJGPLmkUy1Q3VME+1L0CL4d5QeinmHAqDybuw
	CgnoMBloyg0RoLtuWrqGdEeXXssFuIa3Rfqer9vLZSoOkb4A7r6eNEUCy5ii8Aj6M+tVpIs2W5C
	cu39exGQxNa7PsGg4efDHxNnY4zqX1Z66lXURXb+tyw6A8b7ZY/rbZPni1fm3+hei1ZB1CWCI+I
	5gkArE5wJJGq1TNWSVXRzHRUQI5MW1VqBNOs6SvLBDoo=
X-Received: by 2002:a05:600c:1c9f:b0:434:9e17:190c with SMTP id 5b1f17b1804b1-43ba6188e94mr94869005e9.0.1740991971264;
        Mon, 03 Mar 2025 00:52:51 -0800 (PST)
X-Google-Smtp-Source: AGHT+IHlTwiOKza9n0r0V0jJ5URyFDI8eh36wv7IjAnT7iFLb3kZ3OtN1WSRH/ph1nyV3LFOLXmlUQ==
X-Received: by 2002:a05:600c:1c9f:b0:434:9e17:190c with SMTP id 5b1f17b1804b1-43ba6188e94mr94868805e9.0.1740991970936;
        Mon, 03 Mar 2025 00:52:50 -0800 (PST)
Message-ID: <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
Date: Mon, 3 Mar 2025 09:52:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
From: David Hildenbrand <david@redhat.com>
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
 <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: Tpv313W1E65ElnzQsY90QfiHRetdgtoNAse6-aAXzw4_1740991971
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03.03.25 09:49, David Hildenbrand wrote:
> On 02.03.25 15:55, Ryan Roberts wrote:
>> The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
>> is a bit of a mess (to put it politely). There are a number of issues
>> related to nesting of lazy mmu regions and confusion over whether the
>> task, when in a lazy mmu region, is preemptible or not. Fix all the
>> issues relating to the core-mm. Follow up commits will fix the
>> arch-specific implementations. 3 arches implement lazy mmu; powerpc,
>> sparc and x86.
>>
>> When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
>> 6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
>> expected that lazy mmu regions would never nest and that the appropriate
>> page table lock(s) would be held while in the region, thus ensuring the
>> region is non-preemptible. Additionally lazy mmu regions were only used
>> during manipulation of user mappings.
>>
>> Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
>> updates") started invoking the lazy mmu mode in apply_to_pte_range(),
>> which is used for both user and kernel mappings. For kernel mappings the
>> region is no longer protected by any lock so there is no longer any
>> guarantee about non-preemptibility. Additionally, for RT configs, the
>> holding the PTL only implies no CPU migration, it doesn't prevent
>> preemption.
>>
>> Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
>> arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
>> set_ptes(), used by x86. So after this commit, lazy mmu regions can be
>> nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
>> page table range API") and commit 9fee28baa601 ("powerpc: implement the
>> new page table range API") did the same for the sparc and powerpc
>> set_ptes() overrides.
>>
>> powerpc couldn't deal with preemption so avoids it in commit
>> b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
>> which explicitly disables preemption for the whole region in its
>> implementation. x86 can support preemption (or at least it could until
>> it tried to add support nesting; more on this below). Sparc looks to be
>> totally broken in the face of preemption, as far as I can tell.
>>
>> powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
>> ("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
>> which removes the lazy mmu calls from its implementation of set_ptes().
>> x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
>> nesting of same lazy mode") but as far as I can tell, this breaks its
>> support for preemption.
>>
>> In short, it's all a mess; the semantics for
>> arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
>> result the implementations all have different expectations, sticking
>> plasters and bugs.
>>
>> arm64 is aiming to start using these hooks, so let's clean everything up
>> before adding an arm64 implementation. Update the documentation to state
>> that lazy mmu regions can never be nested, must not be called in
>> interrupt context and preemption may or may not be enabled for the
>> duration of the region.
>>
>> Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
>> called in pagemap_scan_pmd_entry() to follow the normal pattern of
>> holding the ptl for user space mappings. As a result the scope is
>> reduced to only the pte table, but that's where most of the performance
>> win is. While I believe there wasn't technically a bug here, the
>> original scope made it easier to accidentally nest or, worse,
>> accidentally call something like kmap() which would expect an immediate
>> mode pte modification but it would end up deferred.
>>
>> arch-specific fixes to conform to the new spec will proceed this one.
>>
>> These issues were spotted by code review and I have no evidence of
>> issues being reported in the wild.
>>
> 
> All looking good to me!
> 
> Acked-by: David Hildenbrand <david@redhat.com>
> 

... but I do wonder if the set_ptes change should be split from the 
pagemap change.

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:57:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899951.1307875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1bk-0003E0-9K; Mon, 03 Mar 2025 08:57:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899951.1307875; Mon, 03 Mar 2025 08:57: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 1tp1bk-0003Dt-6O; Mon, 03 Mar 2025 08:57:04 +0000
Received: by outflank-mailman (input) for mailman id 899951;
 Mon, 03 Mar 2025 08:57: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp1bi-0003Dd-PL
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:57:02 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20615.outbound.protection.outlook.com
 [2a01:111:f403:2415::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75c21fb9-f80d-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 09:56:57 +0100 (CET)
Received: from BL0PR0102CA0047.prod.exchangelabs.com (2603:10b6:208:25::24) by
 BL1PR12MB5970.namprd12.prod.outlook.com (2603:10b6:208:399::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Mon, 3 Mar
 2025 08:56:54 +0000
Received: from BL6PEPF0001AB4F.namprd04.prod.outlook.com
 (2603:10b6:208:25:cafe::b1) by BL0PR0102CA0047.outlook.office365.com
 (2603:10b6:208:25::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Mon,
 3 Mar 2025 08:56:54 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB4F.mail.protection.outlook.com (10.167.242.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Mon, 3 Mar 2025 08:56:53 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 3 Mar
 2025 02:56:53 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Mon, 3 Mar 2025 02:56:51 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75c21fb9-f80d-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FG+R3DVYvG0g4HRAEjw1l/jKBTwqKgMzrYRhHCO3+mXONoc7DecLOvo8o4dcoZtLBhrSzfLhiJvitI96Nf05tWZF3Z6tjylmhdJGj1pTF5/jqJGSB5f+E8RfPlGM0DfC9LZ55q9HoHvGAjEDCDYV4a+QJZcyPvBbdcf9EAFkoaNPjDlaYzJXW03+EI8cB1cmJT8jbWsuahcVrM6oPZNd/PH+dEuTkkZOFEdsZ32t8t3Fxy8qnMxx9nd8dEk/rbmX9BNNdnZLYrHy4qYoBfreUUM2qYCchs+IxuNSbvp9hZLgCeJFnof+yqsYSVxEDvl/3vMr9jwdXphG17BPt906Lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=egJCmJhxu99LSlaa1eiDPpwpjCInS8hyXWJ2fmuGQGU=;
 b=nqhv7M38MFGf+bNqHOn/F8cnHIpZ8p/fbNzE4wQuU7hAKzNE3uNZ+y6G5cdQxWN5SgG0mDy4wRH48LtsWD1AzeB1Ap5Wb+sOYEQ+vzQycJgByB/1kbs8yFVCKaTigW4TTFYekPgwhnDlr1+3rkdUFcyzknPr6C8q/uDREgaVsIK8rpR39VNkgINNHCDuX4DGQFQRLY1faaDg4Np0LaxvaOtTcvDsiZ0xhP8YH89FF46Fmf485Bq3gcE58Zn8YunKaGc98KkcjZicw/+He81pBptmqTXMcrj9VcDpCtgRBIUTK5L8NpT17kcprn/6YyAqtORO8t2sP+w5s6vEc2ZIKA==
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=egJCmJhxu99LSlaa1eiDPpwpjCInS8hyXWJ2fmuGQGU=;
 b=48pNeFWU3i80kqdZD1yVZHOYJJektReH9jD0I0bdonGoT4HOaKh8ehPEtdKUPr88jsufubh9mk+BZmHbVYqYopXCEGEgrlp9ehNT7Y/gMQS+4kNj/pgioNCdr10eHL3PLilI0Wl68CfNIxqn2NvEyRidibHwhRtRJgO5gBliUZc=
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=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/4] xen/arm: misc tiny fixes
Date: Mon, 3 Mar 2025 09:56:46 +0100
Message-ID: <20250303085650.74098-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB4F:EE_|BL1PR12MB5970:EE_
X-MS-Office365-Filtering-Correlation-Id: 8c8fe7a8-2436-43f2-98d4-08dd5a315840
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:
	=?us-ascii?Q?H1MT74qaAVgUxXtoR1IyN3dt/K3Y29pvT9OEwPCv5lFU5WeN07+RJ/R/m6nQ?=
 =?us-ascii?Q?Olt0AMjjTLZiJcD6zbJx+k8oz1wd9iIIJRmoVZndNm2RnytPZ9RSIkv32W7z?=
 =?us-ascii?Q?V+aU8La6kPDJpblPuoTIckcwcDWR/Q08bTdPF+c97R71Nns0rBlfwnDO2WH6?=
 =?us-ascii?Q?TKV78PqQHxaVXbaFL08PDmqrDnqmQ9Fy9OqIRT3bgqOvFTqPFr/GEY0WAAYv?=
 =?us-ascii?Q?Iig0yrUXrWMCtqKSVoaIsh+WCSyIwyz+EjmxozR5kUrjbmZL6vFZTB7D0vrP?=
 =?us-ascii?Q?dMGkDj8bXSrjj043hIGOezxTezZfDN9fGP1aTme5thPh3Z6L2o6NzBsOI6wT?=
 =?us-ascii?Q?GFm3YpBg+tRAsrfWPs3kll5WXDHNLFammkfbZGIY2eZL32Rf9v7SiC6jEDe7?=
 =?us-ascii?Q?tKRnYCijKHQ2GXvRs1+M50WerDn07HPh8p7YbHmsGscv7UWWZQltMlxgZ5/t?=
 =?us-ascii?Q?2fRxLJhiuwjJmYIpT+FUV1cZwqJa9NdUEB+MEp0IyXnmMRLv/2mjCXYtPbaH?=
 =?us-ascii?Q?hAWp3Vspxsl+eGtfqS8k3OCNYuruLKWOtVak2BowN//JOxvDvUG3ZeqOIQJ4?=
 =?us-ascii?Q?BYjs3C8zDxZ28Ck6w3v6BxBn1C8Q3/1T+FzZWnYUMESdGj2B/INH5fjGSJjk?=
 =?us-ascii?Q?ajMFkYOsU29VOsV3xbBafDm1yYPohG3rgCThkQsWYakDVVJJ6+Qt+N4fzGN1?=
 =?us-ascii?Q?20Oeu02G7tVO5KqVhPQIyeRni4EaIJwI7XEFx//T2As3i7gXt71pkJVNaQmA?=
 =?us-ascii?Q?KWJmpS20CdIl3dIQ6jijvup5kmNiG4WnhHp/tFDO9vJP3Hm0fUMY66LRANDW?=
 =?us-ascii?Q?+l8DNbpND7NEFzuc83ijt9hVqjOI+cKhPaPy1kFn2pkD2OLzwWXQwWCDqnZM?=
 =?us-ascii?Q?oAdZXNguYVz58zY2dfe6viDlXxxh/XJKgtCAZrRQcG1vv7S0xKRBfikiEQc+?=
 =?us-ascii?Q?mZsNfbt7N7Aeij5pwQ1aLmgBNIgOY+p7tx7IJHy6F5hs6DAfK74gwEET/zfv?=
 =?us-ascii?Q?UxngdS0v4A5hfoK6WY1evrSAwDMYGBUDxU4RKWJGcdVyOjsS0ksbqMyhBzVa?=
 =?us-ascii?Q?OvAeMqrIsaujLSY1bY7cfOJ0igIBHbzo8YsIA5lnqPPPXRrV6wQfPB94Uroo?=
 =?us-ascii?Q?E+SqkgOIGChwfJIh5gMxRu3d7GEuaDYMDL448inmQXDHnOJ70TVscCFzioOI?=
 =?us-ascii?Q?FVdSUcixWIMNG3TBz2rtpI+jmw9LEtMZ6P2n34EYkchHhCMb+G027a+bhg6A?=
 =?us-ascii?Q?HSyGn1et+boN/qnLFZn7nnmhikU/LlTI03hghPWXNYnRCUm9g3OOLueIVE+W?=
 =?us-ascii?Q?t2NqBVcahavdRIiFwRSYN9WuAqXoIohUmeSC2BPWZ+MLdCl335EP+xh7je4p?=
 =?us-ascii?Q?f52oMsmokFaB0r3LiwXpW8DQmD1NIKxA2IhDhtAGgATq13aEW0x/XcnkyEQO?=
 =?us-ascii?Q?fJWFMpkIc1rxmLi3NWb/jNCQA+pWUUjkwKWxR6GPfOjbz+vWCexM79y8bmez?=
 =?us-ascii?Q?KsLUBYPO+Ibq/LE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 03 Mar 2025 08:56:53.6691
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c8fe7a8-2436-43f2-98d4-08dd5a315840
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB4F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5970

Series of unconnected, tiny patches accumulated recently.

Michal Orzel (4):
  xen/arm: dm: Bail out if padding != 0 for XEN_DMOP_set_irq_level
  xen/arm: Check return code from fdt_finish_reservemap()
  xen/arm: static-shmem: Drop unused size_cells
  xen/arm: Don't blindly print hwdom in generic panic messages

 xen/arch/arm/dm.c           | 2 +-
 xen/arch/arm/domain_build.c | 8 +++++---
 xen/arch/arm/kernel.c       | 4 ++--
 xen/arch/arm/static-shmem.c | 3 +--
 4 files changed, 9 insertions(+), 8 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:57:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899954.1307905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1bn-0003vS-1H; Mon, 03 Mar 2025 08:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899954.1307905; Mon, 03 Mar 2025 08:57: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 1tp1bm-0003vD-Tl; Mon, 03 Mar 2025 08:57:06 +0000
Received: by outflank-mailman (input) for mailman id 899954;
 Mon, 03 Mar 2025 08:57: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp1bm-0003Dc-0s
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:57:06 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20627.outbound.protection.outlook.com
 [2a01:111:f403:2417::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a515d6a-f80d-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 09:57:05 +0100 (CET)
Received: from BN9P221CA0004.NAMP221.PROD.OUTLOOK.COM (2603:10b6:408:10a::12)
 by SN7PR12MB6837.namprd12.prod.outlook.com (2603:10b6:806:267::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Mon, 3 Mar
 2025 08:57:00 +0000
Received: from BL02EPF0001A0FF.namprd03.prod.outlook.com
 (2603:10b6:408:10a:cafe::1a) by BN9P221CA0004.outlook.office365.com
 (2603:10b6:408:10a::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.27 via Frontend Transport; Mon,
 3 Mar 2025 08:57:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A0FF.mail.protection.outlook.com (10.167.242.106) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Mon, 3 Mar 2025 08:56:59 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 3 Mar
 2025 02:56:59 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Mon, 3 Mar 2025 02:56:58 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a515d6a-f80d-11ef-9ab2-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wvy1xcBad+iO+imkR1o+Pzl9v+7aMTTG1lbT7cOPMiRBgpPhmvWs0/IfgEqba7h4Jzh1Mkv+8xWrLx2le8CdevVaVTh4qEcQK6uG6290TaDYoUqnk1b/G+a63J1o+akdHnMJbzl15DF35b5/smx5L9qeiBydz5Y/sgu4MLf7IpFKmzQWkhsVkwnrftE057i6pZY1NfFXV698dOm2Tp8Q/zjIIU19qCkhFLtS9KUr6rf4pEqd6y6Hak/hKk3aa7JleHcWsP4OwxVpKFX59hyPb3AjmoqSgX3cXiQoQ1PzvPeIZQI48i4kiauQsxZl1Yml8MpTIpxEhiO0Xq79ML2Flg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2/bQ+H7J+bTS7mkQRIITAqEiowFLxZYtUi8lKZ2cQbE=;
 b=KmElTPAQYnXhUg5ChlEhXuR2Bo0CLiJwiPJK5+grlBj7Hx4yXYUOJLLckl31AOS9qY1jtoLa88QvK6gwVbSUZ/4YNpxi4YTZ0B45hVzdyz+XMD74RVAKLdweEaZmSnmsM4Jw7KYS9Lc8vCqN8TVVwY2NLU7lOTEv/9e4wVLgfQprCU3J7GvV5+ov9ALYOrIglFwll4G3pTf+9kEHLhZFITWxxNq5EFRaYbXtECXHoEASyNfIZpK17Txlc9KvDgO5IH/Ljivmwt5O1GUCxR2T4n7E2T89h1Bjq8Kc0wuPUkZSZwN2tk+C18d8eIFcCL9+LtDSf9q4Vs9fqF4nGhB36Q==
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=2/bQ+H7J+bTS7mkQRIITAqEiowFLxZYtUi8lKZ2cQbE=;
 b=wo1s2kbCKarijxgOrMNJNX1PEYGp/Sflbo5c5t57k68E4FV1qQEE6KMj/348hEurgqWRU/mdc8VCg8QgueoDU1zXLdRRbv0kgn8Ykc0txTFhX8JCcLvGwevxAkO+nYDoavkNGMY1zzeK2YIeDO0qfsiOAOJ2yIUyAUe/9lR2MuU=
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=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 4/4] xen/arm: Don't blindly print hwdom in generic panic messages
Date: Mon, 3 Mar 2025 09:56:50 +0100
Message-ID: <20250303085650.74098-5-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250303085650.74098-1-michal.orzel@amd.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
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: BL02EPF0001A0FF:EE_|SN7PR12MB6837:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a317e7b-4e47-4eb3-57aa-08dd5a315bee
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:
	=?us-ascii?Q?/bGMkLobgP1UIkvX9In49fSxyEa0duhwsuaGSEwKjGSmytFY/PRwk03rzo+L?=
 =?us-ascii?Q?bUpxfb8rIX9wlF/HFy15LFumbBZqm6y96atm6V6kunxpE8OIe0An0bl2EGlO?=
 =?us-ascii?Q?znhMC/cfHEs2qWJmC+rxa3eAItoLyU5KatgrxUrcgmJ02xqCWZD1VLiunwKP?=
 =?us-ascii?Q?AWapp8sQzbESh7Sm869NIZFC71NqR7o1UmqJSD0dvixPYyigDRiPHsIH961v?=
 =?us-ascii?Q?FjAe4TvQ7KJHzMbx8woqw/qCohRJ8ZlDhkMomQd6w1IlJccA7B5On63+35WB?=
 =?us-ascii?Q?m47X9AKlLV4Awr2PFkkA6uQzpiHD9Q8dK/xavTGNFQ9UlFHaWSxrm2K+VN4y?=
 =?us-ascii?Q?I1TuYeF/d0v5veSDc8zfGSmA11mU6zTiPGYpSbmxCZmd9msovuNp484aweWx?=
 =?us-ascii?Q?2xupnVrbOw8DQ4+nc4dN5x+ZqZXSvYuhsg1Ur7U+gVlJq1dJfZx1Xtg1jG6K?=
 =?us-ascii?Q?e3nNUYYE/VJo1UEwUlyP39+y8wcHTw2V+3koi3+3MSChlnpSGcoeesido0Zm?=
 =?us-ascii?Q?IrinbMRG4LlHxgd5fH/xA8BAd8UwQjWRoC8U79v09dsSW7hTTjWkeDN9z7rC?=
 =?us-ascii?Q?eeKvSsvKNHnyjIY4int1h5XXtuFlAfgmPS02Vbt/CrDOd5m7IielzUUfPJGR?=
 =?us-ascii?Q?/sB0vSUSaRbtbG1F/rDeK3WD2TQsce9ZplXu8QwoXBhTGHwXNWCxXkMAA5vg?=
 =?us-ascii?Q?mGfjjneTy/r6j08Mzy2Pd3R9oeTC3CK6vgjpqlfgANowtrXJ+bvpcr489MRV?=
 =?us-ascii?Q?CBMxS8UtX111my0s5Ms7p+YWC5JmqMqUYLPYLDLvYCfYaORuT6Pkj0Z6QUWa?=
 =?us-ascii?Q?+CDE9ABgJxIprXsx1H2PCBdIMsFpqhMmrgaTUC+G9qEt/TxahbKMuD5kK9iz?=
 =?us-ascii?Q?cI/UP6COGhqj/eUj0h1Znb0b2Fog+1eOxDP5fmRszr1UwUjEnXWHVseovVnY?=
 =?us-ascii?Q?M5+4DsrVpze/82eO1ana8UKM5j0w9tXedKzhO7VAx+YKRsKNHFTWIsnF2M83?=
 =?us-ascii?Q?uOt8KOHrMy9uAGnvwy9cXdZPlPcjLuOYCcdtBfcZaES9icQDJ/TOHZ8QCoYQ?=
 =?us-ascii?Q?/lGuXkGopAofgreRWTBAyVVkmSKSxdqT3DGehJpDGpOfM58T+cfWHg2UB4Xs?=
 =?us-ascii?Q?yZkd46cfzuPvD4X8snOXJTJXkGmUehwLBJx+aqDLv4wRkYnzEjocDFfDt2Vh?=
 =?us-ascii?Q?FuWIKBhYIFqEmBz0knBLxODCewZOZEnr/y5bbwpzG1qhXfoXrnBLycL7tEQ1?=
 =?us-ascii?Q?DQ2qlUO8B8SZ7XPGJ6/1C/ncSPXnvtL65ZYJwC3p4l2OOX/X6a3hugqA7vwM?=
 =?us-ascii?Q?et2kFIttwYFeRikSq3iaTIDsihweaMrYHfOYOX27mMw1chulxLrwc4xQwh4S?=
 =?us-ascii?Q?NIzOseSF0M9/xTg9Msny4QN/zxHg3keuGO65lKHXugu4GL1aCKI2qID4s3RV?=
 =?us-ascii?Q?jQar44htT//5dCfwgVlfFLqQdphIfmAWxAYVxPMxT1/Pl3MSBwfSETHaK5tf?=
 =?us-ascii?Q?6b34Gb47zc4yv20=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 03 Mar 2025 08:56:59.8253
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a317e7b-4e47-4eb3-57aa-08dd5a315bee
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A0FF.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6837

These functions are generic and used not only for hardware domain. This
creates confusion when printing any of these panic messages (e.g.
failure when loading domU kernel would result in informing a user about
a failure in loading hwdom kernel).

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c | 4 ++--
 xen/arch/arm/kernel.c       | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index fe05cf6d855f..6531fe019f79 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2112,12 +2112,12 @@ static void __init initrd_load(struct kernel_info *kinfo)
 
     initrd = ioremap_wc(paddr, len);
     if ( !initrd )
-        panic("Unable to map the hwdom initrd\n");
+        panic("Unable to map the %pd initrd\n", kinfo->d);
 
     res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
                                           initrd, len);
     if ( res != 0 )
-        panic("Unable to copy the initrd in the hwdom memory\n");
+        panic("Unable to copy the initrd in the %pd memory\n", kinfo->d);
 
     iounmap(initrd);
 }
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 80fad8b3362c..6eaf9e2b06b3 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -150,12 +150,12 @@ static void __init kernel_zimage_load(struct kernel_info *info)
 
     kernel = ioremap_wc(paddr, len);
     if ( !kernel )
-        panic("Unable to map the hwdom kernel\n");
+        panic("Unable to map the %pd kernel\n", info->d);
 
     rc = copy_to_guest_phys_flush_dcache(info->d, load_addr,
                                          kernel, len);
     if ( rc != 0 )
-        panic("Unable to copy the kernel in the hwdom memory\n");
+        panic("Unable to copy the kernel in the %pd memory\n", info->d);
 
     iounmap(kernel);
 }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:57:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899953.1307895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1bl-0003g9-Qp; Mon, 03 Mar 2025 08:57:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899953.1307895; Mon, 03 Mar 2025 08:57: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 1tp1bl-0003g2-Ms; Mon, 03 Mar 2025 08:57:05 +0000
Received: by outflank-mailman (input) for mailman id 899953;
 Mon, 03 Mar 2025 08:57: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp1bj-0003Dc-Lr
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:57:03 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2414::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78df5126-f80d-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 09:57:03 +0100 (CET)
Received: from MN0P221CA0010.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:52a::23)
 by DM4PR12MB5817.namprd12.prod.outlook.com (2603:10b6:8:60::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.24; Mon, 3 Mar
 2025 08:56:59 +0000
Received: from BL02EPF0001A100.namprd03.prod.outlook.com
 (2603:10b6:208:52a:cafe::7c) by MN0P221CA0010.outlook.office365.com
 (2603:10b6:208:52a::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Mon,
 3 Mar 2025 08:56:58 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A100.mail.protection.outlook.com (10.167.242.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Mon, 3 Mar 2025 08:56:58 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 3 Mar
 2025 02:56:57 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Mon, 3 Mar 2025 02:56:56 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78df5126-f80d-11ef-9ab2-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bVeYnvzewCGbDnShfsZytjwi3dG7GNDBUwZgVCWXgni8NKbdjHgNg6xAmUZZewDYNjEnlkbkcTzpFTdBtsKNFfHZh8rJCTu2w27e+hY+cLUS0frDiDjk2bK4vzUZLuCpKMEtK/MIkeU6uw8rC8v3blCkzhuILXpKW0lpSvYVM31i9YM9on4KkLX8vGwFq3Y50+t4os95QnwqZZPxZ31Ul6nQaCbfxx+WzA1LyMQbSCCC73ZY2LgE2UIF3nfk6FVmlW7GEizLG2V62IbJcFtwiSiXiv5Pshl4ALCc7voEPiMvWWI5AEIkzLNYWnFVat3TTd6VthhEyMx8oIiQ6354Iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yQmOEy7gXJx+DP+I6vy84CUACXTTBew/gftEYl44aIE=;
 b=qsJMYM3qp4NfI22CWqJTd3z15VU2m5OKXWPAE7wh+XFi5gv2ehGIddrgi/M9fTlrU+cJ/gO88skqbnhJwRqB3Tqoo3zNPpFVpsNqLCFh0AmTlAYEjIzsHKHVw0VI+9wG8+opkaCAV6WmpYxMweIChU59VhZ2K9uQOQhLy2xyOiCXILuFtagGzaC0GoFv3uRzwATaIP9YbphdZ+++PKA8XdJy5XhX28K2qfkPqdHWiO3ypnM8RmaLBqr/N34gJhdM3hy8u95+sTpHoDWIPvCAk88JDSGdvmF1CuvqBfXV3CssjcDvv5v1eQM6GhGgdczvUjiU2Zg7V5IDHvwEXHCVQw==
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=yQmOEy7gXJx+DP+I6vy84CUACXTTBew/gftEYl44aIE=;
 b=ArIFeSMh+v+GLQJduuw5/HcihjeTRL22zqWvYJ1gX3NLi7V8FMHxezCbIxptCkDnv7dpwJpfKk9joF1DBtDqri1MaxJPh2a0tfZTi+TH5BjX+QdyMZ201kw0p2EFRIGMd1wc/0X4oFlrIyg+Xqvvnhx3O6VI+6Rp6Xx9scvyc2Y=
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=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 3/4] xen/arm: static-shmem: Drop unused size_cells
Date: Mon, 3 Mar 2025 09:56:49 +0100
Message-ID: <20250303085650.74098-4-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250303085650.74098-1-michal.orzel@amd.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
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: BL02EPF0001A100:EE_|DM4PR12MB5817:EE_
X-MS-Office365-Filtering-Correlation-Id: 22eb8960-63a2-4a9a-e0b0-08dd5a315b04
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?SGqCdXH1UqBB/Qwtjk8ysa3bd6STpxF4sMRjT2HZ6HrqIZnqWDKSzX5tUET0?=
 =?us-ascii?Q?vlJrnUAvp3sPy4LWUTHB6T8CoDIAmn/b/Nu3nTcLKEYP1LR1ppAe83pa7LWb?=
 =?us-ascii?Q?DBXCgogiFoy3gFAHWO9jlfmX8aqQfn8q7qyL9lIwiojoRp8LsVgFkHftt+XU?=
 =?us-ascii?Q?X5H6whBIsjL7SsbNZjXnUWAIhg5VM3llmDSYW3Aw9Na6BQHW7bxUiQ5FyI3u?=
 =?us-ascii?Q?yhtjAFCc3shWMq5QT3S3KavZCUqeHsmn5w2j+4ySCSyNp3cpNeuLI+DfEsHE?=
 =?us-ascii?Q?MDvHSs6/k8pYiXz9viAAtlmu2XNnOAIh/1LRSPHhwleoOyvlS6F4l0kUv+Wv?=
 =?us-ascii?Q?LV0QEP9errSOvXrHorzmJ8p+fyPwiyQ1bWy4/UJohLvOchcWHv2GeSMfn83E?=
 =?us-ascii?Q?81i9DcXqFjVX7IA2mTAV66mZT+CuSnMpJrdFj/apKntZjPkw04tzuoJYSkAc?=
 =?us-ascii?Q?5v2/f5GCKAWXP+Gqv7Z7d6Zx7El+MU1g8IIyb65x8mg7Qd0uh95Ag1NY2Nm9?=
 =?us-ascii?Q?Ck+SFkLpE8zrw62tADghvvIACEr6beTa6qsqEMtOe1FQSvx3LcwYKtKx+N5y?=
 =?us-ascii?Q?2pqWFsAS2lUfqWLybwouuRI5E2WtQdRQzwRrgXcGWYkkLYy2CzMCE/iS9OT1?=
 =?us-ascii?Q?gfSE922JjbQaNagvDi+5nCQk1bWC8ixstV5eJUp+pPYTk/Y5FyCH1+tQHmUr?=
 =?us-ascii?Q?1kN1OxedYhrQq6+JdiJ+PPnV390c29rDPbVDrbJO3ov3eeGPcC9uu1nZ5TsB?=
 =?us-ascii?Q?XsQa4szxfqq1AaCnx7FG/sx+PEhkDNOW2g0UQ4vfKcpCRDrAADkA3Plv992g?=
 =?us-ascii?Q?Q/wcFDTA3ePWuGiLMwlxXSY5sVV69GPfjyBm4Ak2iI6jLptIpv2jOr+GBDT5?=
 =?us-ascii?Q?aC65qdOMREW+pZmyHp2JurtvI4En3SsEoQRc+CCgIhOPjkuAglKqkNQ9hG7Q?=
 =?us-ascii?Q?7XnnODr561pFDn3hwQqv9UKXuUqUbVHeLx6oAoXln1SJzr631tpKu8JtFUWh?=
 =?us-ascii?Q?vOdkxKaoIEhEOtumpfFHv6pqXtaKhONst+KA6JwiTY7S0/53WLH944Scu0Wg?=
 =?us-ascii?Q?eRTMW0AG02NekDPnfLDTLlsV8Kbs2Da2kiQ8GE10IcL7B17BvbarxeDBsZkX?=
 =?us-ascii?Q?IQU3uNWj2gB4ZS9bsgnJ/IhloLQasZowSZ4nXW3lgqRvJ62xTuAePirAhv5l?=
 =?us-ascii?Q?NfvLCTQAOeqNalv93THJ39qf9M1W0OETY0Yr2ddAgXm9S0gTXNg2aQNfASpF?=
 =?us-ascii?Q?oysIuDvRzpvMTWsiQ5tIDoeEeukBsxjXbkBI+lsI2zfzi3hM+MkxUOs1Mqv1?=
 =?us-ascii?Q?mO1aRzBruqIr96u2/pIyyiZL7K4SqM66SFL2EzzEowyxeJCJMW1AW0Pnz2OY?=
 =?us-ascii?Q?2DNAyz9II+9lDtqHy/qvSe0RAyW1Frc4QA5TthzLeZWJCEIO8eughHBOSQuH?=
 =?us-ascii?Q?hGfuZhJW/LuoBiz1pxgGYtythEK/ogJI4QI2Odc8WxcSzUuts43IKtIAMq04?=
 =?us-ascii?Q?YxGDgALGzgGe0ko=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 08:56:58.2953
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 22eb8960-63a2-4a9a-e0b0-08dd5a315b04
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A100.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5817

Value stored in size_cells is never read because we're only interested
in retrieving gbase address of shmem region for which we only need
address cells.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/static-shmem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 8f87154c3587..c74fa13d4847 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -302,7 +302,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         const struct membank *boot_shm_bank;
         const struct dt_property *prop;
         const __be32 *cells;
-        uint32_t addr_cells, size_cells;
+        uint32_t addr_cells;
         paddr_t gbase, pbase, psize;
         int ret = 0;
         unsigned int i;
@@ -338,7 +338,6 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
          * pbase is optional.
          */
         addr_cells = dt_n_addr_cells(shm_node);
-        size_cells = dt_n_size_cells(shm_node);
         prop = dt_find_property(shm_node, "xen,shared-mem", NULL);
         BUG_ON(!prop);
         cells = (const __be32 *)prop->value;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:57:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899952.1307881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1bk-0003HA-Ha; Mon, 03 Mar 2025 08:57:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899952.1307881; Mon, 03 Mar 2025 08:57: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 1tp1bk-0003GS-D7; Mon, 03 Mar 2025 08:57:04 +0000
Received: by outflank-mailman (input) for mailman id 899952;
 Mon, 03 Mar 2025 08:57: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp1bi-0003Dc-NB
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:57:02 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f403:200a::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 777991d9-f80d-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 09:57:01 +0100 (CET)
Received: from BL0PR0102CA0025.prod.exchangelabs.com (2603:10b6:207:18::38) by
 SJ0PR12MB6759.namprd12.prod.outlook.com (2603:10b6:a03:44b::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Mon, 3 Mar
 2025 08:56:56 +0000
Received: from BL6PEPF0001AB4D.namprd04.prod.outlook.com
 (2603:10b6:207:18:cafe::b5) by BL0PR0102CA0025.outlook.office365.com
 (2603:10b6:207:18::38) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.20 via Frontend Transport; Mon,
 3 Mar 2025 08:56:55 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB4D.mail.protection.outlook.com (10.167.242.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Mon, 3 Mar 2025 08:56:55 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 3 Mar
 2025 02:56:54 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Mon, 3 Mar 2025 02:56:53 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 777991d9-f80d-11ef-9ab2-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vEYjS1c+JWtBfF765rbGRaNCNN7onW5C78ja+aJgZfEhyWXzZ3Puz5LAGJuwPBrEzssT1rJfTkgmcBC/wHxiykw+KARlqNgA4Ke5A8mkydoU1sq3Yw9cUAEqh97NNSVgnd2UCIsusWkoGiALPm6UHOT81KPiorQGEN9a6+tSXQr08th98ERgQoXlVNMTPjtnHzVxcneWbhJD9pPXMtwt+uWZorczExwdcGRnpwDlbaS4WxpwYaE4fGMyXVE318YZdSAnzr17i8GloHteo/har2NeKpDalKpDRHROVDtQsnPmfvl/lSQJJJ+IUoJcG4Axwu5FqITOUC68c979dd02rg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QNJtj4GaA/ZHBC8mq/llWZAHZbNtifMc8lhwMOPIjDA=;
 b=LAitw6zphPQyLjqY1LTSF47Zpw9Ja9EhJDjDipFeLWJmhOkNzlw5M1sdLF/Gtxvpy7cIKCl6mx43Gxf7grvgtkKadH6nsF2iv1/H0nMo79ocVylXX6WNLYsImDEh7X/1kY3Be51fTGRqzO2pTAQYtZhbhi+KgTuqyDNT7fsZL5v4Qod+7v2AncUIiFv5h3WXdESRlCE8HHt1nlrDYv9owTdpaje6udHIiPhZ81xE/PgEylcbDzudWf5T5tAmQsHIPT0k7vU6/h/i8Kyd45T5A899Bx2syq524Jp020hyTBsKhQJvxmJhaNCkVM9Wnt7xkahsgn9IxJ6yqYvq9ibXWQ==
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=QNJtj4GaA/ZHBC8mq/llWZAHZbNtifMc8lhwMOPIjDA=;
 b=Ct75Kiq2lj5xjqljnVLQCCVRUiqCQ+kGqnxCZlb4FYzg7FWoWkisI4LQeLzv5a3b9g0GWbu4sZyJ5JTUg/jbhWU41wRDKJ6DJuwRag9sPX5bX79S0zh3VDMsPoBtu5G2CURgILwcCiJlBjww/JrZOnLSt4JN5VbOYNopv/qrn5E=
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=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/4] xen/arm: dm: Bail out if padding != 0 for XEN_DMOP_set_irq_level
Date: Mon, 3 Mar 2025 09:56:47 +0100
Message-ID: <20250303085650.74098-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250303085650.74098-1-michal.orzel@amd.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB4D:EE_|SJ0PR12MB6759:EE_
X-MS-Office365-Filtering-Correlation-Id: eafa3283-0eea-4c06-b2a0-08dd5a315937
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?LZ3V5Mu62SEglpJqaxZzBKB7VbTR6rm2Yo/4NKdNeKV1GpwAUiSRZVEdJAbg?=
 =?us-ascii?Q?rPELB7MTpFaTjrNmkPB7p9KaL2hINJO3Rmb9xnwQVJsSJFYNFzPD8ebQrJpj?=
 =?us-ascii?Q?uKXBCOXwjLud2W5ilqh10VoNnP+wSkfwv6h22+BPUap+5tHStrgRfGPpm3cU?=
 =?us-ascii?Q?FBcFKWCGscbmNq2/AzZIS/wCaXUjej0KYwvz9qx+kKfR6Qp1yrgIa30fSzUh?=
 =?us-ascii?Q?VZs4HSyFhMIkdHclNtg3oIMvKapc6buxHyvM1UGMuXO3+aFhevjN8EeKx8W5?=
 =?us-ascii?Q?QHC0oErKYTvmzVnvyfdJntstoxb06cFCk02WpdxB68QG8OCO6bN/ZudCwn7o?=
 =?us-ascii?Q?QB5LnINlRRrw46v9768vJEp++SnBmGqwRVfG0oB5gfa2orWu5jlzR5VuaPzT?=
 =?us-ascii?Q?WhmNl1sBtm6Rlt7crsWg2EB+uo8BOmmkdKO28CQKp8NCq+cFnooc0RQxwH98?=
 =?us-ascii?Q?44eiiTPebc2V6rfuYqmXMnrmOm294wmXrMOfal15NYhAPiUOwFFJdiWD/vxh?=
 =?us-ascii?Q?27fbi+UJvQ6plyfTyXjtcVLO0oYFFUwYRo+wTNrhGYmnMi2yG75kroSZf5y6?=
 =?us-ascii?Q?WlX+PKezteetgNR1FAdjcIO9e9GQvodxu3Sa7LjoPAFlQKXPTX4tGcnMFH2O?=
 =?us-ascii?Q?1s6gBWuDqyZLzfwmZGaPa7W2tj/Cdfee3NiIC/NEvhy0zuxpT9h3l4v9EtT9?=
 =?us-ascii?Q?yunXfeBPtHHXzIvCPQcv0RzeFeLmDxaCtE9+gmwqWyMrnH428uPc/Dfvf4Wi?=
 =?us-ascii?Q?aJiERPqEu6D5eH8ZXIXJNEC97cI0AexzrlZ4nhh7CICMNkpKRWchTfLUEcXw?=
 =?us-ascii?Q?CXTWxsnuAP082yhGWaD/2byrLfNCJ2jQyVqD4VN1a/p2W62tLij/tAO0bRdm?=
 =?us-ascii?Q?m4mZObhXl7nIdqpa4A8ZkSpg/8aKtB3swPJdrrjSuqEvIMHiAxe3MDQOkUbm?=
 =?us-ascii?Q?yOZTuGKU6LAso41A8yZbeEpj147cBGo5UqL6BINGgOnisZwOr8DZxXj3Wynq?=
 =?us-ascii?Q?Gcjc8/1grSNXoXqUm/IzFWGSaSjqXbcyllF1myytQ4lFSxQIcurN/USikHPU?=
 =?us-ascii?Q?2WWgwd9+0iVooII9zLyC02X0Kt0hbC5R4MuhSNlUJlkMkDFYtNNLglhBSUmF?=
 =?us-ascii?Q?QKOo2nGyJ53MEgdNyRThdGh29ky2cKx5sTsdQexv0lDHpa3nk/bF1GtVTG9w?=
 =?us-ascii?Q?8LIt259br5mrup3IyfW9iGdDgUUOtlZbyNMlBprfHPVFUTqIeLPs+I0Fnz4D?=
 =?us-ascii?Q?b+xZk3pvIIgL95g4+iwosnlZJpeMsm4jleJJZHtEr1pBe22Yxex0ltoBTgEo?=
 =?us-ascii?Q?o7i/355xTeLY5JhncYGu75SculAKo8iPN/6p/s+KaU860QZy6OIwt5AczyD8?=
 =?us-ascii?Q?x1oAstZUzT0VKwkNf/wsRffFO+vPVJ4wksCYRgSBcndWFhcj5h8UPaZoJZ+R?=
 =?us-ascii?Q?lhdFy9XSTH+ss9yzuZ7+K0Pahhe2MzuxQAdUOkPlhsJUmgJhS3WsFxySdVAw?=
 =?us-ascii?Q?S5Uqc3SDp3BUEmg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 08:56:55.2729
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eafa3283-0eea-4c06-b2a0-08dd5a315937
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB4D.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6759

XEN_DMOP_set_irq_level operation requires elements of pad array (being
member of xen_dm_op_set_irq_level structure) to be 0. While handling the
hypercall we validate this. If one of the elements is not zero, we set
rc to -EINVAL. At this point we should stop further DM handling and bail
out propagating the error to the caller. However, instead of goto the
code uses break which has basically no meaningful effect. The rc value
is never read and the code continues with the hypercall processing ending
up (possibly) with the interrupt injection. Fix it.

Fixes: 5d752df85f2c ("xen/dm: Introduce xendevicemodel_set_irq_level DM op")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/dm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/dm.c b/xen/arch/arm/dm.c
index 773a0a259272..fdb3d967ec98 100644
--- a/xen/arch/arm/dm.c
+++ b/xen/arch/arm/dm.c
@@ -93,7 +93,7 @@ int dm_op(const struct dmop_args *op_args)
             if ( data->pad[i] )
             {
                 rc = -EINVAL;
-                break;
+                goto out;
             }
         }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 08:57:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 08:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899956.1307914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1br-0004GV-7G; Mon, 03 Mar 2025 08:57:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899956.1307914; Mon, 03 Mar 2025 08:57: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 1tp1br-0004GM-3u; Mon, 03 Mar 2025 08:57:11 +0000
Received: by outflank-mailman (input) for mailman id 899956;
 Mon, 03 Mar 2025 08:57: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp1bq-0003Dc-AV
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 08:57:10 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20621.outbound.protection.outlook.com
 [2a01:111:f403:2412::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77cfd9d9-f80d-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 09:57:01 +0100 (CET)
Received: from BL0PR0102CA0004.prod.exchangelabs.com (2603:10b6:207:18::17) by
 DS7PR12MB8274.namprd12.prod.outlook.com (2603:10b6:8:da::13) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8489.23; Mon, 3 Mar 2025 08:56:56 +0000
Received: from BL6PEPF0001AB4D.namprd04.prod.outlook.com
 (2603:10b6:207:18:cafe::92) by BL0PR0102CA0004.outlook.office365.com
 (2603:10b6:207:18::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.24 via Frontend Transport; Mon,
 3 Mar 2025 08:56:56 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB4D.mail.protection.outlook.com (10.167.242.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Mon, 3 Mar 2025 08:56:56 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 3 Mar
 2025 02:56:56 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Mon, 3 Mar 2025 02:56:55 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77cfd9d9-f80d-11ef-9ab2-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VFcLwWoBsGkHznhuNS592/YvGst0L8lQYXGjQkf79yHfk/W77blGRcgZ6cZgGPOAdIroIXSnJTPGWOypNjIPnhGb8zfozj6szve/K/qXYoRCxc8+iOtjyBz6skRNai6O/4GYMRQouZmA8hiXu6TAiben+m9XpLG53SZidL0i8EOcDICmI2+FjCMyRxI/QZyGoeWZRcvSufxCesktUdeSI2VXDQ5gVE0UeBLJqUDa1oTg4IwnMRxRw2P2T3DEnhM+gmeQjPIJpO6UTe4TxLRqxWzJy7J7R16JHuU9+D7xo8rYRgd+sUEtReizJYFyDoBzzn/y1OPJGqYBi8AKdfiWCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OufWKULnetNUAK9GTpERGyY8WgmttM8kb3z75tr7XYs=;
 b=tuCTZJpt2z4NZqj2j7Xv8ioAIww+4hLRMjtCjt2SxoPOfYpolyA66GyGkHRqW1smqv7e3PC+I+GgO6CZ5gwdDYSAlOW+jzrJJ1plf9j4E7/RndBLON+fMtX68bbCLU/jK+xR/S9UeiyY1Qc75dDZ+VRl3qgoe4sM608RNsErptye22YK0DAnXqw/frYcDbMWoL7xoVienumViR760ThPMkE/74KrVbuA9vMYlZAcmeXr82DVPGDp/ylCytcoyTGzgBWfX4E3qc4gsxqNWxIOo09l3GJD2lADYIrjUI+axYHQeVQ5mSqNUdm+W+H5I9tMRycTOQETw/SqvYR4REsgsw==
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=OufWKULnetNUAK9GTpERGyY8WgmttM8kb3z75tr7XYs=;
 b=psLWLcBTkvCAXM+zq1fxlLKwsqLVbFgeiUvzq62DYWf6LXpWsyiPtL6ceMR+tYzkqDUOGmtIZbhrorVeXIwrDe9c3WfTHuNe3rGvIHF3oWwg+EyCAz0iAK3XkGSXGocLczlt8YgSKCdRjtcH1D2aqJ6PL54k+h+2YAAOj8h7j2g=
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=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/4] xen/arm: Check return code from fdt_finish_reservemap()
Date: Mon, 3 Mar 2025 09:56:48 +0100
Message-ID: <20250303085650.74098-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250303085650.74098-1-michal.orzel@amd.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB4D:EE_|DS7PR12MB8274:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e14ef30-ca63-4f2d-81fb-08dd5a315a09
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?UiS0ef3HGig3nCEWAVNCNgzPIFn8lzoQXbHedXjtnuYAYTJUHQ8TCohHiLgT?=
 =?us-ascii?Q?XqSaIIXOkUHxxHqn8IYlaPdswyqD3ejeNM7ywglVXy4r9WHvC57zEMuy1XH5?=
 =?us-ascii?Q?UePlqsqkDoRk0LrzuEp3bOLClmRDGjgv+vxAbYgrL5RHfj92ZbwyIJoMCWO/?=
 =?us-ascii?Q?9xErRBeVzVpBwmPT3MUoKzQKBwgQzAhmg0Oah9PdEk4Lg09scKgHhU/tMJyt?=
 =?us-ascii?Q?vxonSEX8MFCM8jyexpxFuyM5SuPcF7gpKHAWfu5HizzdozV/W2z/gPk6dLvK?=
 =?us-ascii?Q?10cIlGLa1f2jFFdJMVrFPU7M4CrNVVOdZx7ViZ1pswYu0AuUbjLUzux+XIJ3?=
 =?us-ascii?Q?5Cys3R/j4DqZtdY/da1R3RiL8dViU900vBs1sBMbFlCbK/nYVRFPr5+3wMIB?=
 =?us-ascii?Q?KdniKt9UL+yOJyQM7e8odWIUB9Lw0Jo9d+7i9hK5yGEOXkqqnhduyjqSzUNq?=
 =?us-ascii?Q?mhJgdPGI6DWOWSRdVy0NGg8gs/saZUtqH2dxaKQaL2BNMuaWt2iqsZQwW3bB?=
 =?us-ascii?Q?mhSSs6aExfqa5qrr/zBQE1wRJ3Qa2UBaTepC3p7mzxQ025YJMQJJFfID6/j2?=
 =?us-ascii?Q?6CTGK8iTP6Xf/MpPHMvid9f0Ebct9vVXW2IpLXxOHGPbBtHHQ/3lY5nV6aYZ?=
 =?us-ascii?Q?+8H0QDkO2ELeFUdKIgEKUJsHWk3+vsnrUgJDJgYVE0c0moRz42h/rdCSgIAT?=
 =?us-ascii?Q?nftdVXWEj0++3hw/nu/tsyEGvx3Q5enIwycz/+Zifk49jaNLULf7/U/ktHC4?=
 =?us-ascii?Q?xxBA9yttgrBIEdh1UOT+Ff8MvibGy0thvIiQnM05mnZHP1HsxtNTBJ2PTOHt?=
 =?us-ascii?Q?EKFG38hpN77VZ7jvrBQM3BYJn2HJZgjZHT3Xwzrre2GrcgpaoQYA9bwGSQmy?=
 =?us-ascii?Q?dzTqfPWEoycRmWk97FBYdouKC/Yb0tsUL0FaAmlZ+u2WxbdCKZnn5qh92w6+?=
 =?us-ascii?Q?EAAfgqqbrcj5x5pdfqvycsgqYR7PqLQz/ZkCC7Lhx2ivDy3lneWMuIzePZaU?=
 =?us-ascii?Q?FtRoRUYSbbEJ6Zymi8rNkfUkqrfcBDvBHr1zLfM6bK8Tpd8cc7EGHfsdiCri?=
 =?us-ascii?Q?ygKg8QE0Y3Ac2q/UrQM0FWdgZI2jbHljegMmjwU3UbG7+S+pyG6S0lnUBoUD?=
 =?us-ascii?Q?oKy4ZEtZGD80jvbiVM6WDWQwEERpJ5TSWWEpEaoHNgdZbgF9/jpMaSOw4msR?=
 =?us-ascii?Q?mVdW8NChBEJoKrPj5wC7ndtn5F5Y41irq52JdMUECbfNg/PpLhOf0AgUcOkW?=
 =?us-ascii?Q?6N2XwF2CCPE8+6ehMRpX/mQ+ybZ7udQqWIKggGtxzKJSaS6vt6NFrIWHpIwu?=
 =?us-ascii?Q?IfSPQkfz5pgUaHG1ltUFPekeGEBZLpMMuSP+ewUWdh/yDKIfzEYHbbSmT02f?=
 =?us-ascii?Q?e1gklYdYE9pIo6nQQU8uzVRuIiVVAkQM5GbjWpXSeAd3ni3IZg4uNGvipgZt?=
 =?us-ascii?Q?7uv5q7vgJPrCPmhLDbuiVo662oII1+F6uJ61F8gpkJpXjAV8SD+fDxqETFKl?=
 =?us-ascii?Q?e9T/6XaDpSXSaQg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 03 Mar 2025 08:56:56.6479
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e14ef30-ca63-4f2d-81fb-08dd5a315a09
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB4D.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8274

fdt_finish_reservemap() may fail (with -FDT_ERR_NOSPACE) in which case
further DTB creation (in prepare_dtb_hwdom()) makes no sense. Fix it.

Fixes: 13bb63b754e4 ("device tree,arm: supply a flat device tree to dom0")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7b47abade196..fe05cf6d855f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2033,7 +2033,9 @@ static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
     if ( ret < 0 )
         goto err;
 
-    fdt_finish_reservemap(kinfo->fdt);
+    ret = fdt_finish_reservemap(kinfo->fdt);
+    if ( ret )
+        goto err;
 
     ret = handle_node(d, kinfo, dt_host, default_p2mt);
     if ( ret )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:10:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:10:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899989.1307925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1oS-0008O3-IK; Mon, 03 Mar 2025 09:10:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899989.1307925; Mon, 03 Mar 2025 09:10: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 1tp1oS-0008Nw-F2; Mon, 03 Mar 2025 09:10:12 +0000
Received: by outflank-mailman (input) for mailman id 899989;
 Mon, 03 Mar 2025 09:10: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=W32C=VW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tp1oR-0008Nq-23
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:10:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2614::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b7eb229-f80f-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 10:10:05 +0100 (CET)
Received: from DU2PR04CA0179.eurprd04.prod.outlook.com (2603:10a6:10:2b0::34)
 by AS8PR08MB9314.eurprd08.prod.outlook.com (2603:10a6:20b:5a5::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 09:10:00 +0000
Received: from DB1PEPF00039234.eurprd03.prod.outlook.com
 (2603:10a6:10:2b0:cafe::50) by DU2PR04CA0179.outlook.office365.com
 (2603:10a6:10:2b0::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Mon,
 3 Mar 2025 09:10:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039234.mail.protection.outlook.com (10.167.8.107) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Mon, 3 Mar 2025 09:09:59 +0000
Received: ("Tessian outbound 93a06e49d4fd:v585");
 Mon, 03 Mar 2025 09:09:59 +0000
Received: from L2d7f5f37ff74.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5C20131F-B2A3-44DD-9067-26DDA6BF5898.1; 
 Mon, 03 Mar 2025 09:09:53 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L2d7f5f37ff74.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 03 Mar 2025 09:09:53 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAXPR08MB6590.eurprd08.prod.outlook.com (2603:10a6:102:152::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 09:09:51 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 09:09: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: 4b7eb229-f80f-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=bmMVZVnWpijYu1p0FJUSGm031vEI425i3Zlikp/q/O2O1+5cLHWzVFXMYoZjyqidkguIy7PSyDJLA2CdyzQNSpsvvvYBATB6Ot6msrmg98q6bTe7ln8IkDlkzkktXgJ6yYV9W/zdHjG0/S3aTobv5DopZiwsOx81jLB+YKaUalKMDFu8hBt4f6UTuXL84IDFFPOhLEUd/QoN9v4rMhtHQ7I7Zp2GzgW+nAQ3QwIrNLTfpqfv9NdzjOsRA3HpHnjxTavbdUwPuUuxfvK+regRUc2dRg+uGBXtMKt7F7DUSkuLS7HAoZIdz+u1IzUQrAM1e3Af73W9+KT38T3iESfOPA==
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=SLtSEBtH/YOjom9ksXtwr6R3PBcM23fI1z037HRSkg4=;
 b=t6JJyT1RlL/7JZ2LgcKnUUzW1ZEjzfueWQs84Z5YZorWGMuKgyxRGMnhLI36GijA439d8EMr/lBgyZE4QLqozvhXd8OE5/+UE3pPeUp6XjDAdM/egpfyJL/L17UbVQf8Smg7J0c8W0DuX62h6EYINBvJcDKCO5OC1qA9l/PmTvFssFxUR+SYvqEPx8ldjKzlyihaqVN2XeAYB0ERR0Oent8CR+uDZyzolR9yGdh+EIIbvBGBDBHFKvQJDdjpR0FDkmhM9IclqKX/xiqJuyj8i9yM/wM5C9Fo9Tif+GpstTSIMC6OA6z/Tj4miAlnnL7saT4iRJVZORk82t5LfR38Vg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=SLtSEBtH/YOjom9ksXtwr6R3PBcM23fI1z037HRSkg4=;
 b=Ta3QVgplm5mviYitBF7WvwfMrnKSWmc9WjOA6Fzu9Dv/2CRy7sisiDGCvQ/5jXA1fb3ssGbubi2SFTxDK8x+Wz+J/aCy+QomtVYRgp5y1mi92uWFgiVLq4TAlcaeOPr6rw7PmUduTGEtyHpe9azxKcP6BjzWK4QgPsFxrjx0UoQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 51414e6af33d89d7
X-TessianGatewayMetadata: Lu2rRnTd38ETXy51pMq/YDPwD/1SVL5LKNw9QwvyH/NWW9w4hw3NuA91be8AjPHobiZI4a++5m0ngpZKGuu7WRkSjDYY0jmvbe27BWWyqC7lh/dnGVzQizRz89HpcDHC8zXT+CQDMEqj16hLOn4bym6WnuQLB2oTRG+EeOPC0BE=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GmakqQHSqGKDibiJNiYKnjAHYDPjak/Kh+JXOlcUdV7/Qk+hk4WxI8qBgIuL7/N4fw4D9OQPw3bMBrjVacWwVpK5KsJu5CYa8Wd2yHXoAAx7oO0nx0DMV1zQc2K5ZlGe8LqyPIG+1u6cVSOuNaWg93sbEuFDCKZ94LMz0Pf0ih561Jp9AFN9uxJtB7/lXRf1oHhopEZzDPsRzJPNW8l1iowoRB4J6aZNzYuqxp1Uy5eBY8duE2rfU048hd2QydsuKJV4+Tdx7PbY99Nmiy9Y2lWCd6JNjeg4WVz81WFPUHrjtXF66swBH0flqLlR259T9ptF9Jks1QbjfBS/2oTwxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SLtSEBtH/YOjom9ksXtwr6R3PBcM23fI1z037HRSkg4=;
 b=Y90MZYNYym6m5g8vgRy+F79kGALlELZ98xR1bnCH8qIPGQTJX8EjiGWDkE3eoPSeM4z7w20a9X3BOh2JExf6Z1AAix5oT9ykMKEzWEaKXgJMeonWiQQVKJ4fHSOSawJlLuXKP9rTix4WxmhNlxb1tC9Inw77CgMEeYqrUyyHr00XFNhZPjsaHykI3GObynar4BTtAs+jsTMZVBUPum9T6PwjiNBobwNuKpwR8e5fdn+ldIF4FWEq+ekbYPWLrrxVEhGLUskwzS0ctLwnuBpWEsMN0LUNpju6rryXvU8EUqSBv/FV+QmMEHZE1m3Bjn6JDjTwsuhuGFW8JvAEo4l0QA==
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=SLtSEBtH/YOjom9ksXtwr6R3PBcM23fI1z037HRSkg4=;
 b=Ta3QVgplm5mviYitBF7WvwfMrnKSWmc9WjOA6Fzu9Dv/2CRy7sisiDGCvQ/5jXA1fb3ssGbubi2SFTxDK8x+Wz+J/aCy+QomtVYRgp5y1mi92uWFgiVLq4TAlcaeOPr6rw7PmUduTGEtyHpe9azxKcP6BjzWK4QgPsFxrjx0UoQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/4] xen/arm: dm: Bail out if padding != 0 for
 XEN_DMOP_set_irq_level
Thread-Topic: [PATCH 1/4] xen/arm: dm: Bail out if padding != 0 for
 XEN_DMOP_set_irq_level
Thread-Index: AQHbjBo7t73Clnqihk6b69GmAQ48FLNhH8gA
Date: Mon, 3 Mar 2025 09:09:50 +0000
Message-ID: <711E9F49-572E-4727-BD78-5CD34D71B4DB@arm.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
 <20250303085650.74098-2-michal.orzel@amd.com>
In-Reply-To: <20250303085650.74098-2-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAXPR08MB6590:EE_|DB1PEPF00039234:EE_|AS8PR08MB9314:EE_
X-MS-Office365-Filtering-Correlation-Id: d2baad2b-134a-4123-687c-08dd5a332ca8
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?NYhUnNrmF6WVYUhY40hKkhKsfk3+I5cbjP3Z2/g5D/cE6koEjqYZI3ZBXria?=
 =?us-ascii?Q?E/aH6uv3JAzqrc+ArylgxZu6CwUfDYh2A8r0AYfhK+1wLFMmgTMY7xM1GAW2?=
 =?us-ascii?Q?0i2SUB/5SEHwqiRtbDYMahP23vyzIB9BdwEj5iV0tQR0fweLb453kM+8+fkc?=
 =?us-ascii?Q?CWrOhtkpAUQAwvsLRFDBzhFKUk93QwqauYezDRRejqa8B5WelOYUTy2Ws3QO?=
 =?us-ascii?Q?uTDRZmQ7TkGfrR2ZktMwp2Glxc0qXZoVtZ0+XVW/3uisyBJAi5qiuU1q7o3/?=
 =?us-ascii?Q?reTt09TZUTdXbrGpaWik6WZjuPeedPOpY7Ufauma9dz/bcVQhzSG9p4By77Q?=
 =?us-ascii?Q?StV/RZL/6mwyztOgt4ed1+sRRHVo+rt4CJdgCYu3nOYJp8mKXccMMoKYBmrp?=
 =?us-ascii?Q?GeJGzqBueMM3Nu5yXWPFRhTwGA5zILy08TniSEZ0p2cHBBOKXGxuuIazCs/P?=
 =?us-ascii?Q?3K8+InrWPCCDAq18P3G8i+5eunLj5wdAzhVkhOnAWPPl6jKRWiu0boNBrH4q?=
 =?us-ascii?Q?HxbE08/9nOPb+scgsZp54x0zdONWmyGozVsXzSwAo/DMyDDsYRRxX7MzR8Tb?=
 =?us-ascii?Q?o40GZhMWlvRugyXwKZVWDnwU5Bc0b547HeZ6Sh80h6btvzJ71Xkk1a+n5hqd?=
 =?us-ascii?Q?OTKHF4fj1cRIS6GEvLw32bqbGjnenICFFLZfvwuiOMSHPH/WKqvOd1X3NHBd?=
 =?us-ascii?Q?AH6gcN/zVdlAl8ce6sQb1Yo2ybgeeG//c1LJQcP0A8XUC3ne7WRfP5PwEH+5?=
 =?us-ascii?Q?FdGcxx9wlOT7MH09SsaWYjLKbVAeT8U4U5e99tV4LV9lkVTYjSVjBzNwMQG/?=
 =?us-ascii?Q?vpnyWHlew/R+0ZKTGWzEm5cZ0puO+4Cbqh8a2KMbnEH3CpkIpJ2vuodAZXlL?=
 =?us-ascii?Q?E3Wl+ZlNfaLhTsva/Hin0L6tlFWYMMN1WY0gmB32LDX+JgK9pMDwjGFEFgj8?=
 =?us-ascii?Q?tLAqg88cpZwL3FTLxo6TUgm5/X/tFOk0lBTiZdlMIMxeyeW1s/kX8MHuh7xX?=
 =?us-ascii?Q?HXUbQaHULEYahM5pjrfCnRLC11McRGDgaFsu9U6CVCO1fK1+/ENBls9T0EJz?=
 =?us-ascii?Q?qVlbw82VRqqMU0KyUDryzEJhSBG3wvyuE9TLubvB1wG9LweM2/BLcMXTfnnW?=
 =?us-ascii?Q?pob5LARQNuTWWYOLgsaHvwQoRql7aCoDKiT346sqi1X+S1rrp/3BC6KFshAp?=
 =?us-ascii?Q?8fTwCzCqDDQId6/TnSo7DPiwksFImnB9p9RUTbZzpc+JnhiH7RgXY40qkLC5?=
 =?us-ascii?Q?6fDnhjB9EUjMoOjsn1PNfN+ehc/GdZANWj2bWVMnBDMV57UXMbVBiQChNKR4?=
 =?us-ascii?Q?emSsolBOHCYKon4jqSDDaJ+dJ0wmLfQ8RJxbNduhXl+kOVcRenzOMtbkrzyU?=
 =?us-ascii?Q?OsLRe9dCwDjBZKCT+HQ/dnlZ/1ya5t6TK+X5yhyO/u2nu2BAnq4P/plxeuhd?=
 =?us-ascii?Q?L+PoSpBe+/sZRZb8x0fggLxIjOugiH2u?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3BB180D9A38CCC4C87680424CB0A5B04@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6590
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF00039234.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	19f6d8cf-01b2-4e10-ede9-08dd5a33278f
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|1800799024|82310400026|36860700013|376014|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?9yyWOqTEDExxrInODi7Na+hq6zZfY0v8I9qWiNzhMDlDzxge2Rfopyo7Bkw9?=
 =?us-ascii?Q?knPX0To5bIODfzqBV9hR9GCruGVuUtiqnq150oKLyD0PlYtpdT72EDgWdu6r?=
 =?us-ascii?Q?4t4XF+YeF/HqBpYOhB2XZ2hr18qQd/sKCUGz/zr8cA6vacRiANv/c7xcejlP?=
 =?us-ascii?Q?pK0iWxcworaX6lodeJPMS30bFEt3/bTTCdFxlCERiJQ5OKccJ4eKC8QvR3eG?=
 =?us-ascii?Q?7syICulTGQyGNHBQAQcNZbvNwiR4f7IUiBvPPsjApOvXyHtOoQmw2x6bO8Cc?=
 =?us-ascii?Q?BRko/6I3rEJRLPqGm/C2NTU+1Tvn+IJIRxlzVm94ey1I8iL2niFLKG+pr5aZ?=
 =?us-ascii?Q?Ock7aYTq3JWWnvXmF69Ul/ngyvBGqgt5h0ma7ijLGOzlQWQ+gzCfaVxdmSIx?=
 =?us-ascii?Q?O4EjOw5pkzGw6getHKbNVhqi8SyERD8ZpkQq8Jp1T7tUt8INu3ZPSyGCUS9L?=
 =?us-ascii?Q?Ms+BIFtap2mXm7Z8yVs2FDxvyu4AMIpXM4evP098j5xNGAdljSrTKmPwtXnr?=
 =?us-ascii?Q?zzV43+2ZU5fLPDZY0OhYdiVr/SFxhj0AwMSDTLGQu91u1RSiSdeH/OWLjLY1?=
 =?us-ascii?Q?omI6nrbTR7fP3tpjFEs3cKFeL7kh74sFSUzqk4Ie9cwB6a3o8jMiND0laEKv?=
 =?us-ascii?Q?B+8Wr865IPFT3flUcTnw3s5gs4pgUO8LBRvP77EQOXAXI/6QoDDawGqAtPs0?=
 =?us-ascii?Q?WG+JR/+A6a8iZVkvSlFTeD4ZrsAKkWd+7xTZ2bhnFfNOM1zuWzf6KEkWJKqA?=
 =?us-ascii?Q?hQ/EZgtDg1iiQWUk2/OXhTDdQuPqPiYyJLItF5eQdeIlZ/lmX7Uw5viXQzZd?=
 =?us-ascii?Q?qpIysF71V9qG1hcaG50l+JXupGLpHwSt4h6vCZXs3txOEB2eKkwzfGP7vRtf?=
 =?us-ascii?Q?e+P2tquyBe4wO1XuKLELKj/e/scjwyKI9GhLOwNmruyejA++it2YtTeTZ/0r?=
 =?us-ascii?Q?OLccsU85R0WVPx2nPoGE/5vQKyVCqJbTEyhnam8QrxXE1unoRk924GgKAYr/?=
 =?us-ascii?Q?d+e9iql0ZXNXngbGuQLbwybuFPU0rws0QC/7hUIrQgrtY+oOllP+K6IwyI79?=
 =?us-ascii?Q?33uk2XM+us761nmmPFAKOKAsc+JReXJi3Y3XnBR2r0OvnktW5mXtu5qCew5w?=
 =?us-ascii?Q?j2d03Mr/I3h2Y4fWVvCVHgu6klXj7Q+UMmzhpkp5+6vbh5W5gHGcMvlD9DdU?=
 =?us-ascii?Q?tqjlrWF2n6YE7qUlcIRn1e0XKAG/7ZPdlhiF4DKiUV0Dsvu8BD61CFP4ZJL9?=
 =?us-ascii?Q?4urDPRCAwhBORLK3sJ8Ah8zRX5lbqAKYc/v4tbXWSBuI/7WBKUGG+KYi/Z/Y?=
 =?us-ascii?Q?aNi+jMB52kq0b5z68oCmr9qBZAIg5YdGJcew/QyydZSzS6Dleky5FfDUvEz5?=
 =?us-ascii?Q?gMYht/dNahsCNx8y0v/tRFlmFpMSyLYepEyZGw1bshhP93jxZoZr91SqlHWP?=
 =?us-ascii?Q?dkZASiAJsX1lzjyqumdwJqYb7jhiEkC9qeCnvkDN9CRL1TFOTLWxCt8/RtF4?=
 =?us-ascii?Q?B8bGP7nTXR9xVuw=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(1800799024)(82310400026)(36860700013)(376014)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 09:09:59.5388
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d2baad2b-134a-4123-687c-08dd5a332ca8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF00039234.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9314

Hi Michal,

> On 3 Mar 2025, at 09:56, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> XEN_DMOP_set_irq_level operation requires elements of pad array (being
> member of xen_dm_op_set_irq_level structure) to be 0. While handling the
> hypercall we validate this. If one of the elements is not zero, we set
> rc to -EINVAL. At this point we should stop further DM handling and bail
> out propagating the error to the caller. However, instead of goto the
> code uses break which has basically no meaningful effect. The rc value
> is never read and the code continues with the hypercall processing ending
> up (possibly) with the interrupt injection. Fix it.
>=20
> Fixes: 5d752df85f2c ("xen/dm: Introduce xendevicemodel_set_irq_level DM o=
p")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand


> ---
> xen/arch/arm/dm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/dm.c b/xen/arch/arm/dm.c
> index 773a0a259272..fdb3d967ec98 100644
> --- a/xen/arch/arm/dm.c
> +++ b/xen/arch/arm/dm.c
> @@ -93,7 +93,7 @@ int dm_op(const struct dmop_args *op_args)
>             if ( data->pad[i] )
>             {
>                 rc =3D -EINVAL;
> -                break;
> +                goto out;
>             }
>         }
>=20
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:10:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:10:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.899991.1307935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1og-0000ET-Pw; Mon, 03 Mar 2025 09:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 899991.1307935; Mon, 03 Mar 2025 09:10: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 1tp1og-0000EK-Mp; Mon, 03 Mar 2025 09:10:26 +0000
Received: by outflank-mailman (input) for mailman id 899991;
 Mon, 03 Mar 2025 09:10: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=W32C=VW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tp1oe-0008Nq-Mb
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:10:24 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2061d.outbound.protection.outlook.com
 [2a01:111:f403:260c::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 563a6970-f80f-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 10:10:23 +0100 (CET)
Received: from AM9P195CA0016.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::21)
 by AS4PR08MB7453.eurprd08.prod.outlook.com (2603:10a6:20b:4e4::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 09:10:17 +0000
Received: from AM3PEPF0000A79C.eurprd04.prod.outlook.com
 (2603:10a6:20b:21f:cafe::4a) by AM9P195CA0016.outlook.office365.com
 (2603:10a6:20b:21f::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Mon,
 3 Mar 2025 09:10:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A79C.mail.protection.outlook.com (10.167.16.107) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Mon, 3 Mar 2025 09:10:16 +0000
Received: ("Tessian outbound 0a056dca8bdd:v585");
 Mon, 03 Mar 2025 09:10:16 +0000
Received: from L1de0eecab397.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E8DB3C2B-5428-437B-ADEF-1382A17817DD.1; 
 Mon, 03 Mar 2025 09:10:08 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L1de0eecab397.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 03 Mar 2025 09:10:08 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAXPR08MB6590.eurprd08.prod.outlook.com (2603:10a6:102:152::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 09:10:07 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 09:10: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: 563a6970-f80f-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=eXIIlEO4LOJH6coDQMP4Lz0aWAPIuD9zK86P/qbxWYCaTdsVr534Szy6I7MsgWqCe4X3N3bwHwmJRnAFPNdZ2AfSbfa2xzLPP+f3yaoLLLQE/W4UBjEqSpSGwMqJoLO+E66nqnH/inQ/JZlQ9Gei0Sn46wqS+qtNikKPM8Fkc7F66rM02naqx1p444MPlogMQ7EC2D1NYhJeUjbtwUMk7kRTa0E5PZBHmZsjgM1YBtSTDvj2Bb547bZMyE5QPKsT+skkgS3h3sLTUHa8mK0UOesEzS+J/CdCl+vrQQsGmJZpx8YELnmQWxgALV0vPq7ipZPKgVGfeE3YP+agwb+MAg==
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=jnIFs8/rEBOiAcmY9FHzogK8jWg/5s0O8QhB1ONh5+o=;
 b=BVPgboZcSbQth5tPwrArnBbP6ZXUi9+sVSB2+zfFQ9HqIqVVAnRyZ6y93F+UqQnVqb7ccmk92wVj7ZC3aAX+oyer9AFBXFs9yHo9EM3tZXdOZwyfVJQYHFT+ap73j/4Dj62DIn9Y/YuS5h4VRs20G5km/hnOHjyKRkdqc4UDHw+XvLIhv98fL0lcqVcCUA1+Ecu+fbho0nMWgWLIsWzj+PpxNpBCr0hI8B4Imu3G2/O5uso8Q95chU+sCaHQVOBHCQsYnp0mWWODJZQnt/BMlOtgaO/dQjVw8jkjLJcyEScfYjti02ABfD8q4mCvuahrJYN/zwCN6DSvh2MQtN+TVw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=jnIFs8/rEBOiAcmY9FHzogK8jWg/5s0O8QhB1ONh5+o=;
 b=onTJrQWJbbY8K5NR7S+Sa+BUk8j4CyGRnkMzPTiaRZ2GI+ThqhxG6cY2yV6bg/gEXPJBIKsjNtJ95WvG2EW7nJrP+QPvQIi9EwDvzXh72EVOz0dMF2npaZGbArSuKbIlcqJHp/gUM69gC84lrrzSiYH8pg/6eyyhi7noKIYEfRw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d7787b4bcf06a5f7
X-TessianGatewayMetadata: G7f79dUeiRv/fCy/hPbmfEZ+l9jhFv+vLl5xidNI/jjZlNjzMPJoHNGPEdaVPRnHgyhLH5FL6fuUQ9fl0kmj0dBHu87Vcn/zF22qRkeyYJb2eqYzVG1ZyxuXSlS8N4zUVXOEEIg1ZRCxbXqEODvi1fKii72MS46lThOFlV82rUk=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aFz7oE4TOZdF6wB81Ygc6ihDS1SrsLqrYDAIcsOxvR59tjPybpxrxMqw0JbBnL8aCTxVsF+tG5EOcl9CmffbB8xMQESf7OOvwAYboNGbStkvLi9Dzzy4oGfqLbGFxpv9opKwJmv/DiramgUn+Himn8frx8YZ0B71zjeVg5DwPgZV7xp9PC9zigS5wnipotlO8DHFMTV5apPcq4NBbx9rFf3PUjNXbTAPOmQWrsn/W3UC6S9+Wpn/rIzYOw0YFH5+3kXCDr8Z/+rl8aOV8MNxuwkK/3u/RgqjJHA/OLCIhrW6q46UK6Lt/IhZtWevdf9qL8xNEuIMryC8nINA35cX2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jnIFs8/rEBOiAcmY9FHzogK8jWg/5s0O8QhB1ONh5+o=;
 b=rdwokJKQPpl56YvZpCAemVnXm9emEGSFUYaSh8rGl7AVfaYFk4uF6vuqesU2oiFRX0163Z6SG3pLV9BaGSQh1hgLZEFQkCKjr5HC4s1sKV7p7esUOhSm0XSawz0ZgCXfY+Vf0SzVXAf932CDWmQyBzGQigkJYZTuddnukNAYruAiiAFOawIjpp20VvfBllplEhVZZWYtoDR9kqFe8S0rNjXd0w8euzZGVcKQl62UqESLo64bbgaeCD3JKQnzRL5KHfALgAFOh3qCyyDZUxrjviAI8pc9ZiDiREoYzSX76lSoqPDg8h3iyOA7OFXnhR9tRuXK4ZmrYtd4PZcW1n0JjQ==
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=jnIFs8/rEBOiAcmY9FHzogK8jWg/5s0O8QhB1ONh5+o=;
 b=onTJrQWJbbY8K5NR7S+Sa+BUk8j4CyGRnkMzPTiaRZ2GI+ThqhxG6cY2yV6bg/gEXPJBIKsjNtJ95WvG2EW7nJrP+QPvQIi9EwDvzXh72EVOz0dMF2npaZGbArSuKbIlcqJHp/gUM69gC84lrrzSiYH8pg/6eyyhi7noKIYEfRw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/4] xen/arm: Check return code from
 fdt_finish_reservemap()
Thread-Topic: [PATCH 2/4] xen/arm: Check return code from
 fdt_finish_reservemap()
Thread-Index: AQHbjBo8JAfGWUcx3kan0vO/7ZnWI7NhH9yA
Date: Mon, 3 Mar 2025 09:10:07 +0000
Message-ID: <0FE3F34B-AEF8-491C-99D9-B470D75D0F99@arm.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
 <20250303085650.74098-3-michal.orzel@amd.com>
In-Reply-To: <20250303085650.74098-3-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAXPR08MB6590:EE_|AM3PEPF0000A79C:EE_|AS4PR08MB7453:EE_
X-MS-Office365-Filtering-Correlation-Id: 06ece0f2-e012-465f-17b8-08dd5a3336ce
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?X3y/MbAaU9TeLBd0HeucrgN6SHFB29yM7Bg0smgcHk/bkGPaMkONMl2odWfu?=
 =?us-ascii?Q?yzSHGRHxwKLNuucoIpYPjgeqrIfJf7/ugcKSgWVWHD3Z7cSeBP73BePivGjy?=
 =?us-ascii?Q?8aRaZIHGBoGh5s0zwkHyPKGdXFXzE217X7cjtUkVRoVvDp8Iz68d1+X8ZvfT?=
 =?us-ascii?Q?LVPvdHypyWhAAotFf6qhyvafoqo2shgSKr8eezffIrqHSJRcAYwT2DFHyat6?=
 =?us-ascii?Q?UA5zXB9WV1TopgrdMYkC7/pNH9xb567FCF1jwA279+4q81IZHTeaCygupcGX?=
 =?us-ascii?Q?QQ2wSXtStC/YOIJwkvxjWSqUsJ5MhFJgirdK95FdD9ifKUWouNa8ua8V1Dcy?=
 =?us-ascii?Q?c5D0cxh0BUXTABHe2MdOuC3J2Cz3tx75P2XdQwbAVs3I+QROgrRJVBq5l/5E?=
 =?us-ascii?Q?xjHbnXzZ8xcBOjq5N8gXclqZ70e+3H+2Pn9s4g7hWE4HJHAfOG2O2J6J3Muk?=
 =?us-ascii?Q?1J0Kwkf4Ao5EdWw2HMNDV/Pj9VE4X/clf8wo36ziNZ7+EE0GDXSIass2R0j4?=
 =?us-ascii?Q?LCWxwEv7oh13I7gM0lSyJQRqW+2JofYTQw2+ADKTAAm7OuYM6NGjfd0VpiYk?=
 =?us-ascii?Q?za6EIrVsLShZxdYwxIliep9FsYnIm/4ruw8lOsVujkDH1UYXQRVK1W68M1+p?=
 =?us-ascii?Q?GN7cs2kBURdDAbqSKcHqro0wU2nJDfD3qzEeQ8oKDI0YycT1gW5L4EgvQSOS?=
 =?us-ascii?Q?bCAfzGNWOkKYIy0/Bw6szJIKdRFt4kByardhObzwDm1kNSs3kyiGZ8QoNnty?=
 =?us-ascii?Q?AJ0WyQ4zHaS6R3RS7bLcnexEO0L3fYZ1zh6PTKGx8dpNilsv8XEmFl049O5r?=
 =?us-ascii?Q?NIe65pbc4zQ4IZTyAj3Gg9VohY34DlymHzzy+gWlTj57Gg3zDiQuIKri5nc/?=
 =?us-ascii?Q?Z/GCaUgTqQPlpe1bx1b4iIs4dG54L0iM3VysnYz6QaKV4ryoJdjIPKZQjkYk?=
 =?us-ascii?Q?OmEN9yN331P6ejZOvNehpicsCsp0+fQ931WU2Nh5haC98g37hYM8KKQn+1tq?=
 =?us-ascii?Q?89J4lZlF8J22Kc9fQevX7uX+HMYw1FVVK/iulHyM5DppQ7bphLtsve0cs6r4?=
 =?us-ascii?Q?ROhX64BApCBgBL/NWxz36Qsk7pYFXF/YeGQxQ1SJmpMV14++Qv2hzpWyEGQQ?=
 =?us-ascii?Q?Qxis+VV99shwJDi33Pa3JknkQI7jaMOhRu5jw/lN+gR0Vqtx5fGz4iQjPyoO?=
 =?us-ascii?Q?McmV9TuA+BLJBM4hN8+JpiMpDau91YWSZBZY8ES5+g9AH/1+hdBte372vpfb?=
 =?us-ascii?Q?wWveBtCsS6gbNzGA/5+fHhUcuLWhHy/64urYyAmNFnywRhXtcXP2JJQ2Piab?=
 =?us-ascii?Q?aLgMK+JcMPCwwLz0fD2iQnJhtqtskVouonZTZrIUK7fd1sPNgQ2uDTkpHbnj?=
 =?us-ascii?Q?2hhFYVxkyteejArqzYFsnak5dJyEyb0oZGRcyQ1pwY9pCFz6I5YYUd2TGxor?=
 =?us-ascii?Q?/ZGwIdpFaH1b5wKIDAp8qCFYoHtCcSwH?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <820506FB87B21440A2F2C0AABF621669@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6590
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A79C.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f8257b96-78e7-4ede-e37a-08dd5a333171
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|14060799003|82310400026|35042699022|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?ngY//7f3M9sVZPuCgHt6gEnZfjBryeqD8uLfTIyuPjjyUw/4sE+89pajRX+C?=
 =?us-ascii?Q?NQx82gHVPC8SJxjZlgW8w/Pd+cjyewjVPJYviJRg4ClTcPr1F8Ddgitr/WiA?=
 =?us-ascii?Q?bISNOzuaB4bMmyH/PZ8aLT8qrB/0aF4lf5ARh5xVAt8hSzTs7HPOnOBexIne?=
 =?us-ascii?Q?hekFeO0wlvopsO8iCGD0QGk3stDj9PLIf3zvBzATOGqT6cuBoV5Di0xcUTs6?=
 =?us-ascii?Q?qFzuI20FqV47t02y4gQjoGovcn7iXq2K6C0MA/OsOz1OBwfPWscUnhzgREBh?=
 =?us-ascii?Q?o6WZXRU8NT0Yz4GyuZSVGxg0SJKfSCkELNEb2NdtU6y/K4Beip82EljQpkdz?=
 =?us-ascii?Q?lc8c/ZAu3owh5JWev4LtfR4RMIBW/Uwo0kt5/h6Td53hIdx1binY6yezPnPr?=
 =?us-ascii?Q?5P7ZzeRyPhBAPXayjl7kPlq8hrT2a/r+93v0aGRIowXeFSygtcg/Q2pwxK6M?=
 =?us-ascii?Q?DBIqnhfTL+50Vv8GWyKXon97JFCKAU2XkjTGRlOSxqn7ITWjarBKEoNsA8Oo?=
 =?us-ascii?Q?N0mUb9PrfT9aZsmW4t3CmJzEbCbZkML9Ur82FX5jae/Dtxc3gqrOu1/GRAc8?=
 =?us-ascii?Q?ZWliP2xc+HVy+aH4wwhQYDASeHxFagyvlBJmmUbJGGXdoYJA6ZwivgvVeHIX?=
 =?us-ascii?Q?JEox0P6uD3oqBeIEZ3Nst4KxpRn1tQOIr9QEpE7UqSd2Lq4JbnVr9nnThHdb?=
 =?us-ascii?Q?BWzxNof7XbQbKlrJdMJGgtDx5bXlX3fKoUIp9Mpkb+nap0A6qbSalQQuN9N0?=
 =?us-ascii?Q?YhszZZpfOeaSjneU6oFeNTn+8YGA5HGT1XgkL+0wjuJS1GfJqRPW1PrssIML?=
 =?us-ascii?Q?8r+RKU9z1CwgEpCzfpS/2GFnldF66WyR/uTm4ZMLI1qknOGL93whjCTK6NvJ?=
 =?us-ascii?Q?vBIEow3zdcq5tRK2gFC2ZUOjeE1yY3erb+cb5VWjsX0opCbiVQfZeSBwRyBr?=
 =?us-ascii?Q?jqUkF7/uhHcdi0Os3yB9CyIaMdyn+fyIDPq2xYdjGO0CZ/LRE5F10ML/DtfS?=
 =?us-ascii?Q?w91VaWO8hB4eWGhVtsk5yT/P2AVBaXKRADTcrlnsYFeMRzfPRlEgFAIjIP+1?=
 =?us-ascii?Q?iuqqNxOy4zd3cfWk8JnwxiUR1kbnAFYMMBlzZ7A9S86GlI5e//w0ygEHoTdm?=
 =?us-ascii?Q?uopeKEMnsfejJn8si582BxkvdDmsEBAY+YC07jFbUG99pqqrvpTvBzzUso0v?=
 =?us-ascii?Q?f/O1Z0CAIR/Pxy8nu6RkQxKBR3YG+292yF5xJ0cDT7lrJ3pzZM7ehglbzX5P?=
 =?us-ascii?Q?MasB8acwI20EGhaTrjdvEUq4nWHFBjQnmG8pb1fR7GrH2X6ddfw1OWB4f9ZZ?=
 =?us-ascii?Q?TwOfP7n7DHIsK88T+aJPJ+G1z/rOnQ3kQQ/AUkOsU5YCJoiAE6kXC/i6ZiVM?=
 =?us-ascii?Q?HpODdHwDBK0aNhrOQ07M7YzyM8gsEmRxZo6gGUPzVFtFbt14KX4S8xVaCqE2?=
 =?us-ascii?Q?S0mIwwZy2jLtKzAI1V36a1XI25RntBlq83txwG/v+gEdrCX3HwzBvol3ycvL?=
 =?us-ascii?Q?gT//PMFX5Cn8dxk=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(14060799003)(82310400026)(35042699022)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 09:10:16.5317
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 06ece0f2-e012-465f-17b8-08dd5a3336ce
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A79C.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7453

Hi Michal,

> On 3 Mar 2025, at 09:56, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> fdt_finish_reservemap() may fail (with -FDT_ERR_NOSPACE) in which case
> further DTB creation (in prepare_dtb_hwdom()) makes no sense. Fix it.
>=20
> Fixes: 13bb63b754e4 ("device tree,arm: supply a flat device tree to dom0"=
)
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/domain_build.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 7b47abade196..fe05cf6d855f 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2033,7 +2033,9 @@ static int __init prepare_dtb_hwdom(struct domain *=
d, struct kernel_info *kinfo)
>     if ( ret < 0 )
>         goto err;
>=20
> -    fdt_finish_reservemap(kinfo->fdt);
> +    ret =3D fdt_finish_reservemap(kinfo->fdt);
> +    if ( ret )
> +        goto err;
>=20
>     ret =3D handle_node(d, kinfo, dt_host, default_p2mt);
>     if ( ret )
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:10:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900006.1307945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1pA-0000w6-8g; Mon, 03 Mar 2025 09:10:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900006.1307945; Mon, 03 Mar 2025 09:10: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 1tp1pA-0000vz-4m; Mon, 03 Mar 2025 09:10:56 +0000
Received: by outflank-mailman (input) for mailman id 900006;
 Mon, 03 Mar 2025 09:10: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=W32C=VW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tp1p9-0000kj-3t
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:10: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 69509d45-f80f-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 10:10:54 +0100 (CET)
Received: from DB6PR0301CA0077.eurprd03.prod.outlook.com (2603:10a6:6:30::24)
 by AS8PR08MB8777.eurprd08.prod.outlook.com (2603:10a6:20b:5c2::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Mon, 3 Mar
 2025 09:10:50 +0000
Received: from DB1PEPF000509EC.eurprd03.prod.outlook.com
 (2603:10a6:6:30:cafe::61) by DB6PR0301CA0077.outlook.office365.com
 (2603:10a6:6:30::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.27 via Frontend Transport; Mon,
 3 Mar 2025 09:10:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509EC.mail.protection.outlook.com (10.167.242.70) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Mon, 3 Mar 2025 09:10:49 +0000
Received: ("Tessian outbound 7c48d84d1965:v585");
 Mon, 03 Mar 2025 09:10:49 +0000
Received: from L834ee7631871.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8AC6E280-317A-4B66-9056-F705964685F9.1; 
 Mon, 03 Mar 2025 09:10:43 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L834ee7631871.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 03 Mar 2025 09:10:43 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB7616.eurprd08.prod.outlook.com (2603:10a6:10:320::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 09:10:41 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 09:10: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: 69509d45-f80f-11ef-9ab2-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=n4RIsEOW9gtIF9maeHjmfYjYrAMjkCB+y2QbFiqJt8EUgP4T0b041Gb/wXEGTn7JNPpJmoqXl6Z1ByHT/D2Nk8bo4MtYACx+53dooXdiGJXO8DLVVTx11/ZG6aKXoruM45aRhyV9R4YQQxz3XroRJA16OdfMccSWdKg4MSMrh5T3BkrWB+ZGyeMZjQPr5eih9rXERH+f+TqvPVep+TjZ/dWb+eyz3GyhWX5ufR/GUzMXxSGPJdujiBb9Jw6hqQ3uGT/BQ1bvtdGxHRCfcAY2T4xI2ojBK7JvzOx3x9qlTPyRDgzvzgNKd14OCmyXIS9CW42CuqnnC80msK54XaEesw==
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=fBmWDJFmfIyfZcTv14kRHtT+JnzsA3gF2Ynvbi6vSVQ=;
 b=CW4/ZZzFV9CuVprWOGHRJhIdGEbrpS1YqJ5Q6YyuscDVZaXWWaWTv5+UT9n4N2P3wAfRjiZx1bZ02TzSsWoOkakTAO88PNfHN+vJJm9lS4cwTGIt/dKAtRSzZwPItTJjkcjZOWmuIEdDYrCdIAj/Nw7htblH5GJrYhzCebnRWsW+JT3as9eTAP4zp4U1tUNvGO1lxM8zmcmHCdjj0YO9DKyy5Ld3OBWBtuJEqunqx1PYkiVeKMJVn3yPQVRn9pW0BVqH06GFxkEn0NtSb5R9lI9LoHDaoqUalgcG9Qxd/9X/eI9Ftogvv2P/oNABxkfNIX19dkd6DhKc7cfR03aiGA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=fBmWDJFmfIyfZcTv14kRHtT+JnzsA3gF2Ynvbi6vSVQ=;
 b=mZxZUxbWYclB0e0BuxR3Mylum8ju9sQnXWI31kV21UO7cs4/8vrkUyhi3d3pjFoP0nC5X0lxdhA8qmATYbC+P9Run5fkgXYrIhe+0US4LCgxJtoruCDvvRFdD2JuhKGhSiXG+QedixezyPLude8OkPH4ajtuNbL8zBAKRGeLGBE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bd2baf5c42f90223
X-TessianGatewayMetadata: 7Feww7TW9ti8hH9KzttH5KUk6H2WbVquiFC9sVuTDuyb+1qjP0XNkwo/5NIbPbPC5+QhrP/dr+j7wnpkfhl6ndbH7R7kYQVMmM44+8zuPRTF4Hn8xpEPPF/TcMHcCBVxXICs1n1KI7yu1aUmD+mxBm23mH93W8ah5mrpWib6Le0=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=l0pUSH6nXLKMQaUHxMRHUVrTEqGdLYaMP5U8ArbMK+BJ44ADN4dy6BtgF2ZOFss1OT8Y7VcyjN381xrarlTvTLrIElUS4t+KhfsJaCEgoaB1sBGMajL4RqmRBMu+GhZiXoApUPOhi/UCHUZ7HqrOHEu1Iro7gYnSz4GIsahZzDE8esKGG8VfLu/pLhrxtZnCCCRMlp2IOBQkAuC2qQ7RM0QC5kazmc+ZGOTdGklLm21Ke7XxqYCXoUnRWvGoWJLA6cj1bU6/WtLdoTWYdTVwCoQSFZDMiIJYwdZ4i0ca7If7WArgjOP9zYzwfCqUOTLO1dY3IQ1j0GJnFcRoMJOeoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fBmWDJFmfIyfZcTv14kRHtT+JnzsA3gF2Ynvbi6vSVQ=;
 b=VOyIm6AnmutQ5+kBMXn6Ns7jzo4S8Tyo8LldsVdapO1xTlYos7O3eMsRCN+YQwBx3ls/x5kRGL59UT3oLBslx2AdFQ72lzFtcdWMFCFOkz3C4Ugy9HAlFyiu45zR8g7PEDW5F1vD5ZUK3Tb7T2yS4DWV4WCSNaTxFjd8Lpz7bqlXGiQ+zth5NmnRyhk8KTVDLLr+KsTqNmFHHRR8BsTj2J39RWjgvoEZAtgUm6bCy7qGdDZue+82VBtvL4cuIPN5/09rxNaKewWzffqc5iFk5V3eNKVtD8whXQef086LQnNcg9NXR4ml2JpHBbctsOwMz1RcaO75kNOR159Cav3/4Q==
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=fBmWDJFmfIyfZcTv14kRHtT+JnzsA3gF2Ynvbi6vSVQ=;
 b=mZxZUxbWYclB0e0BuxR3Mylum8ju9sQnXWI31kV21UO7cs4/8vrkUyhi3d3pjFoP0nC5X0lxdhA8qmATYbC+P9Run5fkgXYrIhe+0US4LCgxJtoruCDvvRFdD2JuhKGhSiXG+QedixezyPLude8OkPH4ajtuNbL8zBAKRGeLGBE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 3/4] xen/arm: static-shmem: Drop unused size_cells
Thread-Topic: [PATCH 3/4] xen/arm: static-shmem: Drop unused size_cells
Thread-Index: AQHbjBo8nuO52Rl5EECHrCznAwnruLNhIAWA
Date: Mon, 3 Mar 2025 09:10:41 +0000
Message-ID: <88B8BC5D-61B1-4B85-93D5-DD2163B5B8F1@arm.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
 <20250303085650.74098-4-michal.orzel@amd.com>
In-Reply-To: <20250303085650.74098-4-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB7616:EE_|DB1PEPF000509EC:EE_|AS8PR08MB8777:EE_
X-MS-Office365-Filtering-Correlation-Id: 47852845-2473-499b-bae5-08dd5a334ab0
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?n3QiOZ6PGAuTSxw9Yw4HymgcEMvnxzDdBjo4VNlueWFvVZjwL4EWEgEWt634?=
 =?us-ascii?Q?vU0uyE9MshNTIcImew0rP/E3EkbJenwaySYfVdYn/2e4VsWpt7XMTiWnzRmM?=
 =?us-ascii?Q?2b42uAm0qO9n7J29eZpuhorUJ3cfB7ENjETeb5Yil49PRzSIHIuAt0PBg5KC?=
 =?us-ascii?Q?EHKNzXsHQYiy10M221jTieR4Xh3yk9+Wkis63n4bpuzOhpNRIkD117kuBnv1?=
 =?us-ascii?Q?KQg+sbEmSU4S+JOtf4y1Fo+O/NZRKoThQk8Si8/58VpFVUykRuckotX86ySF?=
 =?us-ascii?Q?z1meUO5Z+Z6oUVbAqiVn29EWarA3LpPPHbAmvXHDDCjCHUYIpbYBK9BmCgwD?=
 =?us-ascii?Q?gg6sR7J4smVRupzDcLh3MtEGtxJNrMfROWI4KqKvnPXftCE55dVAOOvW1Mlo?=
 =?us-ascii?Q?jH1AsY445Bg1XrhT0oLlw6pKWQfDkjmg2LQpqjSHMy3O4TvGCmEIAZeCgfcX?=
 =?us-ascii?Q?7xBX9YPkUiaQGiaECv+wNZuFEGFV6vcnmpCueFrtgs8a2vJEzJJoQ2giFSR6?=
 =?us-ascii?Q?xlXegyE2IZ05cCP0y3tOGlq5RPLe4aEzx+t3JmIC4GOhSyz8k+P0dcmjWU7K?=
 =?us-ascii?Q?qfLlYHikg7Ycj/ThoAPBSWQcml/q2U5BenxAnu7jKCrgwvPmldLxoMbxP4C0?=
 =?us-ascii?Q?Qff/Cz52ROqdiS/aLciQMgLQp92CMCnQftciSJj5TCxnoXhPXv5zwjkgwcjp?=
 =?us-ascii?Q?3fYCb9ZKJNbVdEM7oM2sASDBSTKpOr//5L3InawkzYqKO9P3yvbpbRPMJGM5?=
 =?us-ascii?Q?84kERup7gspgrkrTpl2NMrurzjYTFJiJAWWNUY3UCKMvk32p6PCoeIVxrnho?=
 =?us-ascii?Q?AkaflKKlN9TKeV1Er5gepM/hw0t5HNJaFUL2AGYcAv6+0PjY+9LeI+QQeq1W?=
 =?us-ascii?Q?njYCwBeNG2r+wmNO0WaNE5W88hbg7dq3gIv7iJtREquN5QdbwgVS0KoClOgu?=
 =?us-ascii?Q?KGYaqFdvh2HmyIHzg4zaJwJgSsecXof5ktPwoU4UXSXAA2KrlcQSCWRanPuf?=
 =?us-ascii?Q?Lje7gjkv8pvdezfITHa+avD3RRZ5wiZz+yAjx+c8X3OA9JgJ43gVmj8OoAvz?=
 =?us-ascii?Q?zCIKl3TJmxYumVvuQAp3snf/PDiF7Bm2I854Up8l2kkFIKs/hUq6ks/oSvox?=
 =?us-ascii?Q?r5U8EHlivKbOtk9GrDmjcgPXrqylL7tW0D7uHi07t7CNJ+Mm+FxGCeTpK5k5?=
 =?us-ascii?Q?/2wURWtwydA2BoSWawxqGGI5/uDl+FSnVMC6SiU6pEbxd/J8cDx4r8fvn/8W?=
 =?us-ascii?Q?aaDzpB8o7vr5Dij2JzjgM7OWGocgOMucYQVga/+pT+6cKmdbF+abJjZpwl1a?=
 =?us-ascii?Q?L/2HT1nMZQb89nAuYY4rIU0o3mqZ6vO2Aik5gGjPVinUxS9hX4nVhOjN4dK8?=
 =?us-ascii?Q?Stzvgliiug7ySYMLEtvfvf5L3Xqui7Aa3zpnOdWqawXrmLNBzNB5M6SpLmn+?=
 =?us-ascii?Q?QZgYtErGlnQkDzPC+aRCk3JNzFZcSgk0?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9EC729290DD22640B6E1BF8298D2FDD3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7616
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509EC.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	499d9b4a-778e-4552-17b0-08dd5a3345b6
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|35042699022|376014|36860700013|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?7oEBgLct7CxEsblonH1NMxigub+83P3jSjrORAxM0/KDo4Fe/WuuqYiGpbJz?=
 =?us-ascii?Q?mOL6illQYiIifrOts/+7T3mLKo3IEFItnh7AtNxNIcwLYDFhfN/4sSgmz9HI?=
 =?us-ascii?Q?56CYIqrfMfx+VdIHbcEIPOtFHZD8/OXz04cNbR2mCHR4Nq6chqGY2/n9ufFE?=
 =?us-ascii?Q?se9x2V1vqe+WDcsd+pK5flfQRpaAwjPEPVpeTiUCZEpkr3/N8693v+En5EQ2?=
 =?us-ascii?Q?6mqtyTP76CfS7vPxVZCumLGBRvQuBTAYoM1FiWpnImA53m5y1JDYBERg70zz?=
 =?us-ascii?Q?ol+9qcQMiXsQl72LWgkuI3Ocv9xkTSYylgC2RisBCvJWxZUM5w06JeWZ8AbR?=
 =?us-ascii?Q?Um1eWJQ6Hb8iFX3BBNBLpTrrd0R93HlbOQmzrfS1e8cOoCXRtL+5GbC5jyjI?=
 =?us-ascii?Q?oUvQwWMBmiPSchAMB2P4+68JsvwArdtzR/2ynL70CuNhpbMwAhI+T96InczQ?=
 =?us-ascii?Q?WBD1nkjkPCdj2huvwe6qdNXETz6c3j9AnbLe0uQJBQytqrK3/5UG8xXbSk5Y?=
 =?us-ascii?Q?qiB4dgiCapp1ODakYMgO2TjhnwBHxVn1U+tn7rKueApN/ejWkauqyNacNkbc?=
 =?us-ascii?Q?0cTnKFqHxKcvQGpohY9yLXbosRl5i2KWMqZUA/b2NcN89e4FPSu8/gPOfNMW?=
 =?us-ascii?Q?bEXRIHxqW981kqm2FDwfWwDFFgC86+RVw4XPhEgg2OrQ3Bu3NxKPdFfNf1rb?=
 =?us-ascii?Q?03mYvlf2FJUpzJO7S7JyaCYYG8wAHc0Yko+4mGVAmvSemHxvakDZLLbDRKUo?=
 =?us-ascii?Q?ONG4tn/H9fjxp0UJiaGvy+ULpserx7U5UpF4Vn1P+Y3hcigyvl4X+dU/+8Ww?=
 =?us-ascii?Q?Z9ELtk/ZFm+ZXjB19oTzAxCaM8vsPK4qma7x7nLuTAbOsjQnZANdimpUp2VL?=
 =?us-ascii?Q?2A42Qa8du4+QgtxON3gN2JqJXfQTk4+tT8B3iHQIa+AtLDpVupzPrXPdPIjw?=
 =?us-ascii?Q?GrD67O3haHIl5J6iRbK7ApZexO5sjhlvEKWoaOlLM1Oym5TgSIcmJSuOY0ur?=
 =?us-ascii?Q?6iiBOnRZv87e3KPCpvtl37QYdMCAlKNa2zX/eh+s9e1xSaj3Jsql4hP1QX+1?=
 =?us-ascii?Q?lQuC7k/LBgy5XUbQrw/E+j+C2j23RLBPEFBo6Q9b1BJYWYfpddUx6cYc8tcl?=
 =?us-ascii?Q?fjrYzZdgcR4OxKbnt9rgEILLGpnEwj4uDUSymJ4GWayVAHST/MVJwSwMG6GA?=
 =?us-ascii?Q?yCyD7MscPvlMM3tBIryqWLcGP8ex/QBOgnLb6twYDDqt1CkJCo3rkwWvqO72?=
 =?us-ascii?Q?cXbFC0xDRqt+gH2RKGcUL2ZblJWVUFqGEZvGW0/Rq0IHCnbms3RYsnIBWQ2k?=
 =?us-ascii?Q?qefpnFwDclYvPPglfvbJjFbB9GfI3FFP8PfdiCXSe4zOFLGIgp0V975shKrb?=
 =?us-ascii?Q?qdQ4Kzcv9AD0/Qkq6zf5q2P/5LsRv+3Hfyx4vu8gX/Y9R+0+oaip5ZYSFXP8?=
 =?us-ascii?Q?+S8ygbx2KDWH8jy+Zvz2yjt8/dSnnpB7kAvK6ku0DoOAeU4Jif9getNQ98iZ?=
 =?us-ascii?Q?nZjvzS3UrS5QeNY=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(35042699022)(376014)(36860700013)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 09:10:49.8625
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 47852845-2473-499b-bae5-08dd5a334ab0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509EC.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8777

Hi Michal,

> On 3 Mar 2025, at 09:56, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Value stored in size_cells is never read because we're only interested
> in retrieving gbase address of shmem region for which we only need
> address cells.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/static-shmem.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>=20
> diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
> index 8f87154c3587..c74fa13d4847 100644
> --- a/xen/arch/arm/static-shmem.c
> +++ b/xen/arch/arm/static-shmem.c
> @@ -302,7 +302,7 @@ int __init process_shm(struct domain *d, struct kerne=
l_info *kinfo,
>         const struct membank *boot_shm_bank;
>         const struct dt_property *prop;
>         const __be32 *cells;
> -        uint32_t addr_cells, size_cells;
> +        uint32_t addr_cells;
>         paddr_t gbase, pbase, psize;
>         int ret =3D 0;
>         unsigned int i;
> @@ -338,7 +338,6 @@ int __init process_shm(struct domain *d, struct kerne=
l_info *kinfo,
>          * pbase is optional.
>          */
>         addr_cells =3D dt_n_addr_cells(shm_node);
> -        size_cells =3D dt_n_size_cells(shm_node);
>         prop =3D dt_find_property(shm_node, "xen,shared-mem", NULL);
>         BUG_ON(!prop);
>         cells =3D (const __be32 *)prop->value;
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:11:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:11:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900020.1307955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1pv-0001n4-Hm; Mon, 03 Mar 2025 09:11:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900020.1307955; Mon, 03 Mar 2025 09:11: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 1tp1pv-0001mx-EJ; Mon, 03 Mar 2025 09:11:43 +0000
Received: by outflank-mailman (input) for mailman id 900020;
 Mon, 03 Mar 2025 09:11: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=W32C=VW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tp1pt-0008Nq-OP
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:11:41 +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 844f88df-f80f-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 10:11:40 +0100 (CET)
Received: from AS8PR07CA0014.eurprd07.prod.outlook.com (2603:10a6:20b:451::11)
 by DU0PR08MB7438.eurprd08.prod.outlook.com (2603:10a6:10:355::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 09:11:33 +0000
Received: from AM3PEPF00009BA0.eurprd04.prod.outlook.com
 (2603:10a6:20b:451:cafe::2a) by AS8PR07CA0014.outlook.office365.com
 (2603:10a6:20b:451::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.12 via Frontend Transport; Mon,
 3 Mar 2025 09:11:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF00009BA0.mail.protection.outlook.com (10.167.16.25) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Mon, 3 Mar 2025 09:11:32 +0000
Received: ("Tessian outbound 93a06e49d4fd:v585");
 Mon, 03 Mar 2025 09:11:32 +0000
Received: from L74e6d75403e3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 72664BC5-45D1-4D00-8A70-98C94D02308A.1; 
 Mon, 03 Mar 2025 09:11:25 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L74e6d75403e3.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 03 Mar 2025 09:11:25 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB7616.eurprd08.prod.outlook.com (2603:10a6:10:320::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 09:11:23 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 09:11: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: 844f88df-f80f-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=A/RevZ6QtMAWN4eajEXDslFZIOeQa3C+Qlvur7322C0XJ2eW0F3WRHq4u06rOGKgH6q2TbEMYM7UMEUsRpwvPlMHsL3dik3p0raaZhbZ2+L13aJo/NU0oYP5ezc0LapmHKuThU2EX+bW6WzIQjLkx10wZnBXFicqs1KzGSwvyAjsih5tuRq6bw3BmAMFCAhPH3h4S/a1SpksaACMJgZrwB2tjaN6D8pO//W96GFa4e6yfPO0Tr1lvFb7vzhua+XEjXhYshzexiO2MZvyiqmlg+4Gco11gNfIGq5GqRnjAi3Eb0jofQ4A3XDth1y2HjuE4uey2tFwKpRJut73DJWvEA==
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=QrEXBmqtB2OL9PYLmDwtUZ3XLsOvcPaENUy9zLZo234=;
 b=N2+HZuGrWafembRFs6DPYXmgqUEvs9fbbgkZzJ8norTJlg9DDSuadtag0QOQMmL16oncX/yDjrWYOr9feXMmkDWi/gbiTcDAqU1qecjHjPLIVjG1scuT1GckE9L+UnqOWSTv2X12kZ1hWoEbg+fE/nVT/kh46UnM8ZHYWp2ADhwrHRi/SkgkGEeUkHOuTfUpWvza2jK7Kd/4RnRW/T5H2i6T4a30JosofZ1Vono8H0fxp4SKOujrnRUBax+DmUFPQ+aOVC8EawrTVqKsUZnQGSXAZ7RX/A5vuKJAP7CoL/4I2fTqczyaHtz0knPzgBKHn19K5yKZOHIMzv4+wIswcA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=QrEXBmqtB2OL9PYLmDwtUZ3XLsOvcPaENUy9zLZo234=;
 b=fDZ6kcFWfcjzB1it6pxe0xh1rIWaPk/QYy05uUzUGABfAUw58n/YHP3n4QcezWq5rfOLX7nvsD7XOK6Q3zFMpefgDyl0fKYG3mXcmhx+FA6XbCGWZu+SeZ1vKLz9bBolAVenQVydghXqUrq6v0CYaaSkBziu1p99czbVljrr6T8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bc3e18ff044188b0
X-TessianGatewayMetadata: ax2Ov8GNp+dJby6astGx1v58mt780/tyNdU4waH4cEbYlilaCd48X7Woyc0JjeGughrvbS1b6CQWRUoPXhUhK4x7dScy7XVyr6lA03h2CyUNZ785VLslDtusw/fvM54fuQT0MxtwZaqtokMVlWNoPZMMJJbeqR0UkR+2Ymv5CsY=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vZtmV8L81wMuKSHEVshBY0LGva+BAkzFvmYZ3IzBFU/WTMpAimpGmSF/EII/SJi2Y/62umfwSms1ncxFjFgnFhctLIHhs6z0NXk9Hs9/eFJcCOnfoiPLMk46zZ6OyAzykjfz+vsbnI5cYb2EP6igMk30xmu9zGc+0hy/QlVE5YDLyKPvQWedDvOPun50w+ldPHEa2vO2u3G0CIzk5P0mUO8yl3YECrOmLdLm6NmHYoKsJgF6Kv0H6M1aUs6TkYlO0k5F1/uuZsNscIw3Oq9ZCo/tbxxDe5sgXZ/2sqJPM+c2wvk7/9uJP2cHBp1L6Hkul12TVmZzPqmw1JTUaFv5OA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QrEXBmqtB2OL9PYLmDwtUZ3XLsOvcPaENUy9zLZo234=;
 b=ER9oZzw939yaCQ3iU1hPvakqEoAPVwms2u/O8iOAQ5fp/V96BmXIgiIxFXWm2i7Onu9joXEWLgn60w6yxNs4tOJPycCp9sp9nhpPyV+G/4nZhLSdnrq7UnwSbdJPhcIyBApaR0iV5HtRvEa3GhIzs4YeBl5NTu0XNk9Ec/Y1SPixWlzKhA2ZPhTb5a6OBoM24/iDtJqGIpsAC+lL4wJyb/oBqKCsqCg1jlgB9eJm9zZG68abBrMWorgiJ+hSni0Ca+6IUC4ISFWqArZcLISUIJxBXn84fiQuOteNC3AMaYreNropGIsUTj+CEH9nekWleuoaomwCgaQCK9synQQABA==
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=QrEXBmqtB2OL9PYLmDwtUZ3XLsOvcPaENUy9zLZo234=;
 b=fDZ6kcFWfcjzB1it6pxe0xh1rIWaPk/QYy05uUzUGABfAUw58n/YHP3n4QcezWq5rfOLX7nvsD7XOK6Q3zFMpefgDyl0fKYG3mXcmhx+FA6XbCGWZu+SeZ1vKLz9bBolAVenQVydghXqUrq6v0CYaaSkBziu1p99czbVljrr6T8=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 4/4] xen/arm: Don't blindly print hwdom in generic panic
 messages
Thread-Topic: [PATCH 4/4] xen/arm: Don't blindly print hwdom in generic panic
 messages
Thread-Index: AQHbjBo/T2YeCrZVnUCj55dU9yGL9rNhIDYA
Date: Mon, 3 Mar 2025 09:11:22 +0000
Message-ID: <0514B625-C5B5-4842-A83B-27415F955964@arm.com>
References: <20250303085650.74098-1-michal.orzel@amd.com>
 <20250303085650.74098-5-michal.orzel@amd.com>
In-Reply-To: <20250303085650.74098-5-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB7616:EE_|AM3PEPF00009BA0:EE_|DU0PR08MB7438:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e54aa96-79b9-4484-b506-08dd5a33644c
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?POycjkI8W9neBkqD0pE9mrsHrIwfo5QfyKWbeYcoHYuSYNhRqzIqkZceYpym?=
 =?us-ascii?Q?XQhgZreK6wnnXkhLfOMqF7mK4E+jsaaf9H6VWi+0deeouAZcnj2bah1uEHdE?=
 =?us-ascii?Q?sdpcL9qlkkPowE5L6aSdRczA4i5G5868z47H53QA8dQ5kE9Op76OuwELB6AK?=
 =?us-ascii?Q?Yho5FHoEk9iAuU/JohmqsRROG+Xz8jFoIJ8KrV49ObTtaQLoVniV+G8sKfKv?=
 =?us-ascii?Q?FaqmV/kHLd3tr5oZWxfMdBtL3vHrh0+Ai+4Tufucs+e6pOoeUqANjLpFWWv8?=
 =?us-ascii?Q?RI2C+c6b70P711aXTrI8Xt4FlXOBBsuHBfNFBHdLWb/r6EyIZGKV2Vw05Z87?=
 =?us-ascii?Q?op0P9/orIk4ipuKg+/JivOCyKWY4Sq3abwAitKMJdvDX7VHnwRRsTiMyoSO4?=
 =?us-ascii?Q?CiOXHKB7L6lQt/81YHnDMx0DYBtjfhDDptxqmMJW8jAjyITTnyItbpPFx2oR?=
 =?us-ascii?Q?dLk0MEBaCVt9MwQJu6bfp+mbAxsqF+/gX2GBepQ2DtWY/hexyDI4jW7xaQel?=
 =?us-ascii?Q?37ZkfOHzOAl/EyHFcSSDCbMND83rrFfaaqh01rhuGgSHXvQz5oTelrD3FwYN?=
 =?us-ascii?Q?IBPRU2BWYaKd2xsW9yvAiaxG4jZVeggU+mCUarHUdBsOzlnXPI2jqgp2B+Pm?=
 =?us-ascii?Q?xy1WW3eFowcJubuurdhjh8sOZYkX0wjaXqxr8S7hyweZZa9K7lTYNDe6nJbr?=
 =?us-ascii?Q?LvA/D3alFAm5Rw/bOP/kH5Dg+Gd4ONtOtaYBZhkZP3uMI3KEnlxHIKUnvk1V?=
 =?us-ascii?Q?ZqtDg5MjUki1sb6ecId3Ta82OIeQemj9ur0VQafZOkesWxJMtYSIvEfe3Qyp?=
 =?us-ascii?Q?0UCJpi/d455qqizkVrb09kzLPzgKzm50bKFG02IDXIfy7rhe288RDVcj+2H1?=
 =?us-ascii?Q?JKyB3Lu4Msriwq6ttHTwQhO09WlK2TaL+JK+szoEH4xcOO/JWF7w1kbnEize?=
 =?us-ascii?Q?L1DGEnQ+xCHQC7TklgM/MzyC5vdXi7G5qtHz2ojsnPzPSVJqxfQGf1yv+/X6?=
 =?us-ascii?Q?VU6bEzfGgVKMw6wDN8N/JMPXuhhBIVLeeqrEWOFMPhTKgJGpQjnvLU1GYbaL?=
 =?us-ascii?Q?g3hWsz0eHWGx8Y7LeS/WSjpfOW1iy2Sknb7IZGYfvQVm9mBtJCosi6GWQj72?=
 =?us-ascii?Q?uV4h+8htvUoZE5Ia8fNYbqxarEVKyrmee9bbJKberNWXzhZ1ubLbWix35oXA?=
 =?us-ascii?Q?T/0gLl5hF8Hi/KecF0baZdoxxU2NXQ6p1F4RyeXEe6GXBEWtaEAduR8CFO5a?=
 =?us-ascii?Q?yu60ypR489VrI5WvCs9CEOZSpUytVDAG1QVUhfqelk277tRyLUtbWx8E2Hyt?=
 =?us-ascii?Q?2r1Mn2zoyo/bcDDtujZozXX7ufd4ZjaPQvxg1PyWTUTAT0j3l/egcRVJKP8q?=
 =?us-ascii?Q?QqYZ+Zr+LQ4JlAZdgmqLdrrwD7+w2qnO56fYQSw68cJJf50vMbN1b6nxwgny?=
 =?us-ascii?Q?tLRsnO2WK2NM1SVF+Hmaw//72dkbhEvt?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AD13BBE48683EF4EB92582FE29075C5E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7616
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF00009BA0.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cbde1081-d623-4a1c-27ca-08dd5a335e5b
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|14060799003|36860700013|35042699022|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?QDtvWiVI3LOvu4M0QDITZs3gFSYQB2bGt1/0HExtdk5M8ldtNY+VMDfsVdAT?=
 =?us-ascii?Q?AqjsHEBe6B2YJ1EPOn4yZUAcGvl6izUjIqz47UgybFoUTAPYYwTkH00udiAB?=
 =?us-ascii?Q?jvNLVwSxGxayiJSeZRhzrIFftA1cP/NJkovgC/QlhnKzjr4iTZST1tlwzq3Y?=
 =?us-ascii?Q?5OSYSfi4mlNmg/ip+QK5mDC+R5tclR+A54Ts6I3nHh/O7py7/2y3CtymV6KD?=
 =?us-ascii?Q?iK2702Zo7KrWOLlv3f2FN5aWLvNhzDNQu62QGU3QQjkI2I4Y1bAffb3AiPxE?=
 =?us-ascii?Q?kjKmBWCnquo1dc4Ef8rAX3+60CkHe/H16bK9LeImbywZBz74YRS7rjLtAkAd?=
 =?us-ascii?Q?Zfeif0gCw/y9vjFsxNuQI63Lv7H66Ku1HtEk9goeXP660hgmNUkbxKk88zh1?=
 =?us-ascii?Q?6nlj0PPvv1IEPuj8tOvKIzCnR2FdrxIGZS+mIbo4Jh73mc/zzWIGbOebgdiU?=
 =?us-ascii?Q?VCFJlBa90KX94vIuxt/YrG51L86mz6boWXZPUOjPkK0EE507QSNs/XvHxfDG?=
 =?us-ascii?Q?Yr0q8YRPnVfwFnE1HJzXi085wTUlGwOYElxhxDxF10zkvFP2v/VL7B4dArC8?=
 =?us-ascii?Q?4BoXwDnOwb1DGEOKOQbdI7XTfaO9CUhHjO6X6je6hBRdVFvUbYM28/loyT8X?=
 =?us-ascii?Q?sWIyj3m+Exi/F2mY9Vn2BMwOoIS8gdZxyp3/tWwRocExqQ4dqZcfMjW3+P0n?=
 =?us-ascii?Q?TmplBkrprCmDe7K700E0KPxZ/VNHNMlqicB43vUAYdnr+MsNqAIF3legu3Rk?=
 =?us-ascii?Q?Uch3ILt9mRIPMppNz0snsZ+O3iCbt8gJ6jk/B8ruTbEzuQQiiHsdv7DMzqUa?=
 =?us-ascii?Q?Fjxg8JrYZy/+BxrslC4WzLAIQM4IQmF061ExKMfT0m6WB339uV77IJWqQYMV?=
 =?us-ascii?Q?ry9mmIrOIj1vvnr5uK7WoK5NbDKNsuZNirm9o+jwTx+IjY/zrhk8hIjNz5rz?=
 =?us-ascii?Q?5K0sq0CjvqzUI7AAXTn8NXXft7eTHi+0P+zTTgQ5D+7/FA1Es2m7btQQcxsn?=
 =?us-ascii?Q?MTGHxMWqN+loxxDX56XuUudMrlTN5iU0JATd2an9bIYia4G65Iqv7F3HCi1Y?=
 =?us-ascii?Q?s4Y7F2nPmAIL1RZtT/eHupU0OcOCzt034IbVU0Mdn8jV2M0ctS/c91NsaGut?=
 =?us-ascii?Q?ZgHCBErjGGM/BiIokOQeoMhr0X7je69y9eOYBosNomVlE1raHlYFIWqElLia?=
 =?us-ascii?Q?MaWm+/rFM9JTayAjb68gGrzlGiHtsYzTHKJkWKxDjXfUQxJdWuimhuiiOdtE?=
 =?us-ascii?Q?X+i62RH2iR5epgRJxfF9Awzo2G9Hc8NVXnJPI8Cc2kYoIs4ZS8GjVS1hkHL2?=
 =?us-ascii?Q?8XAypMPjpiW5upiz8+y428AIgUxBjMhSJPpTcUvMX27M8CdU2PfV4I+sayAk?=
 =?us-ascii?Q?kiRelQtd29P8akY7c3zTIWaPHwYnvcv3MYeN/Cf/C34+k5ZYW4t6SkN1ZX9p?=
 =?us-ascii?Q?KS60OUDcRbwAdAi5pPJ11NBKCvq3WGL0avtL7ZGK3YONm2Bvf1N9OPfz6h7t?=
 =?us-ascii?Q?y/i8Hi8KKCMw0vA=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(14060799003)(36860700013)(35042699022)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 09:11:32.8434
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e54aa96-79b9-4484-b506-08dd5a33644c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF00009BA0.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7438

Hi Michal,

> On 3 Mar 2025, at 09:56, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> These functions are generic and used not only for hardware domain. This
> creates confusion when printing any of these panic messages (e.g.
> failure when loading domU kernel would result in informing a user about
> a failure in loading hwdom kernel).
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/domain_build.c | 4 ++--
> xen/arch/arm/kernel.c       | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>=20
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index fe05cf6d855f..6531fe019f79 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2112,12 +2112,12 @@ static void __init initrd_load(struct kernel_info=
 *kinfo)
>=20
>     initrd =3D ioremap_wc(paddr, len);
>     if ( !initrd )
> -        panic("Unable to map the hwdom initrd\n");
> +        panic("Unable to map the %pd initrd\n", kinfo->d);
>=20
>     res =3D copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
>                                           initrd, len);
>     if ( res !=3D 0 )
> -        panic("Unable to copy the initrd in the hwdom memory\n");
> +        panic("Unable to copy the initrd in the %pd memory\n", kinfo->d)=
;
>=20
>     iounmap(initrd);
> }
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index 80fad8b3362c..6eaf9e2b06b3 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -150,12 +150,12 @@ static void __init kernel_zimage_load(struct kernel=
_info *info)
>=20
>     kernel =3D ioremap_wc(paddr, len);
>     if ( !kernel )
> -        panic("Unable to map the hwdom kernel\n");
> +        panic("Unable to map the %pd kernel\n", info->d);
>=20
>     rc =3D copy_to_guest_phys_flush_dcache(info->d, load_addr,
>                                          kernel, len);
>     if ( rc !=3D 0 )
> -        panic("Unable to copy the kernel in the hwdom memory\n");
> +        panic("Unable to copy the kernel in the %pd memory\n", info->d);
>=20
>     iounmap(kernel);
> }
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:20:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:20:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900039.1307965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp1yQ-0004yO-Fj; Mon, 03 Mar 2025 09:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900039.1307965; Mon, 03 Mar 2025 09:20: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 1tp1yQ-0004yH-Bm; Mon, 03 Mar 2025 09:20:30 +0000
Received: by outflank-mailman (input) for mailman id 900039;
 Mon, 03 Mar 2025 09:20: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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp1yP-0004yB-B8
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:20:29 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be9e2793-f810-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 10:20:28 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-22339936bbfso60000695ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 01:20:28 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-2fe828745fasm10609503a91.15.2025.03.03.01.20.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 01:20:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be9e2793-f810-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1740993626; x=1741598426; 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=CmlP0FYVwsdsDylzPCiVqTENwkTTT+8lUOWed7LxWbQ=;
        b=g/s9vVFlSYeK3D/NOXDv5R8ai195mKnn+74/x1EmWgZupnhgj65uWpTdFOcefAlmxR
         cu+Ib5Er4lSoPkjfkJpsYZAGhT2JMAY7Fd5T9gIv9ovtX8RbVEyPovZT4v+kt86limwY
         DupPVqFaCG4qtQSUdOPY7dy8QTJk4UYc5aB7U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740993626; x=1741598426;
        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=CmlP0FYVwsdsDylzPCiVqTENwkTTT+8lUOWed7LxWbQ=;
        b=kRn2LJdx/6QSxvuowXd4GGjDhalL69uXNwP8pgf4xCug41FpHvADpdb7/E+ksPhTik
         9+9ubhvFpffq6waGwCRFg4k40aw51Vn50zbaGHi4AwkMuwi3bBDL4U+EXG+hGMf9tkyL
         C/rdgCW+fWwwDalKrTrlgLfggdhbGeYjOvt0+8pnIGt3OnTCr0rP/WYrT0xi4m8CI6oI
         S3DkkGa/shA/u/BmOrfCsQbbQahqPo/4bHwhAeXVg2HWNJkLLn+h9fcIOmVTVKvgUDk/
         NL9Y5soHsJ9EhkCnCzff+zS2rnPROfvrDDcZAbUAz4FoYa2GFnuQzf2oWUcZz1M89lp/
         WoJw==
X-Gm-Message-State: AOJu0Yy/0I0/dgWTm0pCkcw0L5gndp/Y4W7UlsQvXH8VJ1q8+I9V8qO0
	7KxVzxOwMVvyUP3ihy6koyMgARiRDSmELyW4OKoEbLWG9+W45+LXEKtNFHUoaRCOnudEngeCaO9
	4
X-Gm-Gg: ASbGncu7botApkFJluHumXxKRVthhassyegpDk5HGKYcvEqEQUo/PBcgUIptvYwU/ul
	FQ+x3/KHY3SqUKz9djn2WgvDL0t3CYgJhHN3o+kD4idSrhyLWcxR5ujQ0I9Kl9l/ruowefN/UUF
	4ksCerlvvFaJZfrRGshMhg/4sCSNOfI4uSY7JbU5we7h+m2xG9BzYdUmrB4sPg37gX+tzFqlRLv
	IZ3U+ydU8i7zZqU+yw/in/5DxfF5X3yIRK62+/aeZpIvWzTx7vFVAMvhEz+cBUwca4uj4R/PBjB
	DILVlMXfN0MnkryFcbBnOM+X40q+V9ipDhjq4qJHh9mwDLOUQA==
X-Google-Smtp-Source: AGHT+IGMvWnSNIP6bI6Wu/m0rFM3dVHTcwB48NIxNaLgeTUTxhUYxxMe/q0DFutrP4ISD3oIegw1Fw==
X-Received: by 2002:a17:903:32c8:b0:223:402b:cce2 with SMTP id d9443c01a7336-22369255582mr188769275ad.33.1740993626123;
        Mon, 03 Mar 2025 01:20:26 -0800 (PST)
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 v2] x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
Date: Mon,  3 Mar 2025 10:19:08 +0100
Message-ID: <20250303091908.38846-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The MMIO_CONF_BASE reports the base of the MCFG range on AMD systems.
Currently Linux is unconditionally attempting to read the MSR without a
safe MSR accessor, and since Xen doesn't allow access to it Linux reports
the following error:

unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
Call Trace:
 <TASK>
 ? ex_handler_msr+0x11e/0x150
 ? fixup_exception+0x81/0x300
 ? exc_general_protection+0x138/0x410
 ? asm_exc_general_protection+0x22/0x30
 ? xen_do_read_msr+0x7f/0xa0
 xen_read_msr+0x1e/0x30
 amd_get_mmconfig_range+0x2b/0x80
 quirk_amd_mmconfig_area+0x28/0x100
 ? quirk_system_pci_resources+0x2b/0x150
 pnp_fixup_device+0x39/0x50
 __pnp_add_device+0xf/0x150
 pnp_add_device+0x3d/0x100
 ? __pfx_pnpacpi_allocated_resource+0x10/0x10
 ? __pfx_pnpacpi_allocated_resource+0x10/0x10
 ? acpi_walk_resources+0xbb/0xd0
 pnpacpi_add_device_handler+0x1f9/0x280
 acpi_ns_get_device_callback+0x104/0x1c0
 ? _raw_spin_unlock_irqrestore+0x18/0x20
 ? down_timeout+0x3a/0x60
 ? _raw_spin_lock_irqsave+0x14/0x40
 acpi_ns_walk_namespace+0x1d0/0x260
 ? _raw_spin_unlock_irqrestore+0x18/0x20
 ? __pfx_acpi_ns_get_device_callback+0x10/0x10
 acpi_get_devices+0x8a/0xb0
 ? __pfx_pnpacpi_add_device_handler+0x10/0x10
 ? __pfx_pnpacpi_init+0x10/0x10
 pnpacpi_init+0x50/0x80
 do_one_initcall+0x46/0x2e0
 kernel_init_freeable+0x1da/0x2f0
 ? __pfx_kernel_init+0x10/0x10
 kernel_init+0x16/0x1b0
 ret_from_fork+0x30/0x50
 ? __pfx_kernel_init+0x10/0x10
 ret_from_fork_asm+0x1b/0x30
 </TASK>

Such access is conditional to the presence of a device with PnP ID
"PNP0c01", which triggers the execution of the quirk_amd_mmconfig_area()
function.  Note that prior to commit 3fac3734c43a MSR accesses when running
as a PV guest would always use the safe variant, and thus silently handle
the #GP.

Fix by allowing access to the MSR on AMD systems, returning 0 for
unprivileged domains (MMIO configuration space disabled), and the native
value for the hardware domain.

The non hardware domain logic will need to be adjusted if in the future we
expose an MCFG region to such domains.

Write attempts to the MSR will still result in #GP for all domain types.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v2:
 - Expand commit message to note which device triggers the MSR read.
---
 xen/arch/x86/msr.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 1550fd9ec9f3..c1e616a3a757 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -318,6 +318,21 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
         *val = 0;
         break;
 
+    case MSR_FAM10H_MMIO_CONF_BASE:
+        if ( !(cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) )
+            goto gp_fault;
+
+        /*
+         * Report MMIO configuration space is disabled unconditionally for
+         * domUs, as the emulated chipset doesn't support ECAM.  For dom0
+         * return the hardware value.
+         */
+        *val = 0;
+        if ( is_hardware_domain(d) && rdmsr_safe(msr, *val) )
+            goto gp_fault;
+
+        break;
+
     case MSR_VIRT_SPEC_CTRL:
         if ( !cp->extd.virt_ssbd )
             goto gp_fault;
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:38:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:38:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900057.1307975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2FY-0007r3-T7; Mon, 03 Mar 2025 09:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900057.1307975; Mon, 03 Mar 2025 09:38: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 1tp2FY-0007qw-QE; Mon, 03 Mar 2025 09:38:12 +0000
Received: by outflank-mailman (input) for mailman id 900057;
 Mon, 03 Mar 2025 09: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=kHuu=VW=redhat.com=lbulwahn@srs-se1.protection.inumbo.net>)
 id 1tp2FY-0007qq-0A
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:38:12 +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 36f040c2-f813-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 10:38:09 +0100 (CET)
Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com
 [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-250-kJAge1ofPyeM0hhBqOsSFw-1; Mon, 03 Mar 2025 04:38:06 -0500
Received: by mail-ed1-f69.google.com with SMTP id
 4fb4d7f45d1cf-5e496b51f38so5321097a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 01:38:06 -0800 (PST)
Received: from lbulwahn-thinkpadx1carbongen9.rmtde.csb
 ([2a02:810d:7e40:14b0:4ce1:e394:7ac0:6905])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e4c3b6cfd0sm6614899a12.28.2025.03.03.01.38.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 01:38:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36f040c2-f813-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740994688;
	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=jtFF5Isb4vaWOmkrbTb6ml0NHfU6CXUYn/xbKnf16mo=;
	b=WCgMyMPlVOhdpedDPQWW+VdymGv6D62Xh4ZMwgiH/nPz5LdmegEXfeWK6p74Dw97A0STuK
	ZDf5VsCOhY3U3QDhHus/3/VQNoY3euD6+dQBJiXSNQN03hwJEFsoRPE0bGiwreOVTXSz62
	qsDpMr1TxV4QMPZTLKqD9w3aUZfDahI=
X-MC-Unique: kJAge1ofPyeM0hhBqOsSFw-1
X-Mimecast-MFC-AGG-ID: kJAge1ofPyeM0hhBqOsSFw_1740994685
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740994685; x=1741599485;
        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=jtFF5Isb4vaWOmkrbTb6ml0NHfU6CXUYn/xbKnf16mo=;
        b=nXKqUEYeOTFFJl5V9OjGeEs+xpUCrN1Dxtk7rryw2lQwsbbGfnTsJccVoxi6WP9vWQ
         BNUIqNBVrAgxOybeoV3P2bEXrlh81fgVgd2oXCZoeuhWNim2TQeQ65WKq0ZkzBzc0Igl
         /z8yZmYsag2Wgd+e6D8bLFkzVT7xWiOxRwaZJ2JjkpRBLoHHBz1YE5g1ovFekE0ohqXB
         RVgKWJlg0MP64lUimzLQOQeff+jN+Vc0KM5KQYujtlk0BVW2mPZWlxjOVs91mQOwJouX
         FMWNL8krTE7ms+Pql+o9xxiDECzbP0YSmCmCaAYs9kJ+2+Vb+AIkeYTllSc2nFO7WxlG
         Gg9Q==
X-Forwarded-Encrypted: i=1; AJvYcCXgnKB2jgr3RH8s+lvtuFdktNJZ8GosasHIjvVqk+pNmVa2bAk3JdbkX8a2DqMOxSwkuMvgDuzD75s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwXn01OVjVWNtE8doBhGjZAbVUT0oYh1eJkWSR40kwEnoSj1OO6
	2wC/MHi9bkVNbiNOgRZGarEC4jU2TsiMH7fLE0x45w6ea1oy7Vc2tguPfHk88S3TBIrQuMKSHWe
	KIOiHqY808j8DhVJX3AoLRrEDzBFn4iVELfuj+A0fCOHHhQZW3A1Qjlf/wFi5iMSZ
X-Gm-Gg: ASbGnctPT/XgfKOv1Bu6Hne4S/OKd/5or2+RVOdJptH3KKMOd3unTYsIJUUkVQIHD6M
	NakOVlCgBYh/BYMULtgzhIZ+iNxCK/UoFDOVAcZa7r5R5C4MR/+riJZiczlOzVrK1vrLvxXYBlN
	0zyf/wxeZodIhF3bHd5vXwQ3hnQxtXnFrl0lW2O9KFUPW9rrZYr7WNWgAVQY8Z2uIAnytg1ByUZ
	Tsf5bIYfxwojyL8NE/BdzLBAy9QDG+iKA3obeftC+H9n7QJb/XMxGJCFn1BMu9n7sM4hgb4yd8/
	hANp7B+S/Lp8Sb3BmctSpgi0GBEnXt25ZgQCtN9HkSwEfdZnPIAr4KJX7ZgMimE=
X-Received: by 2002:a05:6402:51c6:b0:5de:5717:f235 with SMTP id 4fb4d7f45d1cf-5e4d6b6271cmr13603179a12.24.1740994684952;
        Mon, 03 Mar 2025 01:38:04 -0800 (PST)
X-Google-Smtp-Source: AGHT+IG0D4fk02QR9pNIZDoVtBIGIryV/5nnFm81RWTyHdja4tZ1wouSANXuFLVpCyDmAiODjbHbRQ==
X-Received: by 2002:a05:6402:51c6:b0:5de:5717:f235 with SMTP id 4fb4d7f45d1cf-5e4d6b6271cmr13603153a12.24.1740994684510;
        Mon, 03 Mar 2025 01:38:04 -0800 (PST)
From: Lukas Bulwahn <lbulwahn@redhat.com>
X-Google-Original-From: Lukas Bulwahn <lukas.bulwahn@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>,
	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>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@redhat.com>
Subject: [PATCH] xen: Kconfig: Drop reference to obsolete configs MCORE2 and MK8
Date: Mon,  3 Mar 2025 10:37:59 +0100
Message-ID: <20250303093759.371445-1-lukas.bulwahn@redhat.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: Qz4FpHhgFlBzsJ-bLL_9Uf0ELIzLVvc-vFrCD-Pd1xM_1740994685
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: 8bit
content-type: text/plain; charset="US-ASCII"; x-default=true

From: Lukas Bulwahn <lukas.bulwahn@redhat.com>

Commit f388f60ca904 ("x86/cpu: Drop configuration options for early 64-bit
CPUs") removes the config symbols MCORE2 and MK8.

With that, the references to those two config symbols in xen's x86 Kconfig
are obsolete. Drop them.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@redhat.com>
---
 arch/x86/xen/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
index 77e788e928cd..98d8a50d2aed 100644
--- a/arch/x86/xen/Kconfig
+++ b/arch/x86/xen/Kconfig
@@ -9,7 +9,7 @@ config XEN
 	select PARAVIRT_CLOCK
 	select X86_HV_CALLBACK_VECTOR
 	depends on X86_64 || (X86_32 && X86_PAE)
-	depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MCORE2 || MATOM || MK8)
+	depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MATOM)
 	depends on X86_LOCAL_APIC && X86_TSC
 	help
 	  This is the Linux Xen port.  Enabling this will allow the
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:46:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:46:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900066.1307985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2NJ-00014R-MQ; Mon, 03 Mar 2025 09:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900066.1307985; Mon, 03 Mar 2025 09:46: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 1tp2NJ-00014K-JF; Mon, 03 Mar 2025 09:46:13 +0000
Received: by outflank-mailman (input) for mailman id 900066;
 Mon, 03 Mar 2025 09: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=DNf3=VW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tp2NI-00014E-Ix
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:46:12 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 516fcfde-f814-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 10:46:02 +0100 (CET)
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 B7D911F383;
 Mon,  3 Mar 2025 09:46:00 +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 45ECD13A23;
 Mon,  3 Mar 2025 09:46:00 +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 ujhFD1h6xWfVDAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 03 Mar 2025 09:46: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: 516fcfde-f814-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1740995160; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=btGuiQsvJUrcV3Z0VzdNZzTVQyvdATEBZgfh4fD6XLo=;
	b=EuOdA2fUIeF2YRa3x0Uo1H2s4qcgJuh1EgBJh3/RNk7hvYEfdK+SzcHa5IZ0876i26z4Lq
	yT/wxby5+G9uuFBV8joPHdECGCWo2pcbyj9HmQl9CUCoH7fi+S6a0XLMkssTg9VTZPHkxj
	lQi58FoeKGocOCZxk9QK2p4X+KcpxJk=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=EuOdA2fU
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1740995160; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=btGuiQsvJUrcV3Z0VzdNZzTVQyvdATEBZgfh4fD6XLo=;
	b=EuOdA2fUIeF2YRa3x0Uo1H2s4qcgJuh1EgBJh3/RNk7hvYEfdK+SzcHa5IZ0876i26z4Lq
	yT/wxby5+G9uuFBV8joPHdECGCWo2pcbyj9HmQl9CUCoH7fi+S6a0XLMkssTg9VTZPHkxj
	lQi58FoeKGocOCZxk9QK2p4X+KcpxJk=
Message-ID: <f725ee84-e58d-4db6-aa8e-4779d330eb0f@suse.com>
Date: Mon, 3 Mar 2025 10:45:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Kconfig: Drop reference to obsolete configs MCORE2
 and MK8
To: Lukas Bulwahn <lbulwahn@redhat.com>, Arnd Bergmann <arnd@arndb.de>,
 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>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org,
 Lukas Bulwahn <lukas.bulwahn@redhat.com>
References: <20250303093759.371445-1-lukas.bulwahn@redhat.com>
Content-Language: en-US
From: Juergen Gross <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: <20250303093759.371445-1-lukas.bulwahn@redhat.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------XakfnydveI0W07SsQNR1YM9L"
X-Rspamd-Queue-Id: B7D911F383
X-Spam-Score: -5.41
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-5.41 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[13];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------XakfnydveI0W07SsQNR1YM9L
Content-Type: multipart/mixed; boundary="------------ewBz4ccCsmBopYeWOGlKnuRG";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Lukas Bulwahn <lbulwahn@redhat.com>, Arnd Bergmann <arnd@arndb.de>,
 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>,
 x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org,
 Lukas Bulwahn <lukas.bulwahn@redhat.com>
Message-ID: <f725ee84-e58d-4db6-aa8e-4779d330eb0f@suse.com>
Subject: Re: [PATCH] xen: Kconfig: Drop reference to obsolete configs MCORE2
 and MK8
References: <20250303093759.371445-1-lukas.bulwahn@redhat.com>
In-Reply-To: <20250303093759.371445-1-lukas.bulwahn@redhat.com>

--------------ewBz4ccCsmBopYeWOGlKnuRG
Content-Type: multipart/mixed; boundary="------------z08v8M0v0hesX6yrm6C1ZIc0"

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

T24gMDMuMDMuMjUgMTA6MzcsIEx1a2FzIEJ1bHdhaG4gd3JvdGU6DQo+IEZyb206IEx1a2Fz
IEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5AcmVkaGF0LmNvbT4NCj4gDQo+IENvbW1pdCBmMzg4
ZjYwY2E5MDQgKCJ4ODYvY3B1OiBEcm9wIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgZWFy
bHkgNjQtYml0DQo+IENQVXMiKSByZW1vdmVzIHRoZSBjb25maWcgc3ltYm9scyBNQ09SRTIg
YW5kIE1LOC4NCj4gDQo+IFdpdGggdGhhdCwgdGhlIHJlZmVyZW5jZXMgdG8gdGhvc2UgdHdv
IGNvbmZpZyBzeW1ib2xzIGluIHhlbidzIHg4NiBLY29uZmlnDQo+IGFyZSBvYnNvbGV0ZS4g
RHJvcCB0aGVtLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTHVrYXMgQnVsd2FobiA8bHVrYXMu
YnVsd2FobkByZWRoYXQuY29tPg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9z
c0BzdXNlLmNvbT4NCg0KQlRXLCBpdCB3b3VsZCBoYXZlIGhlbHBlZCB0byBub3RlIHRoYXQg
c2FpZCBjb21taXQgaXMgY3VycmVudGx5DQphdmFpbGFibGUgb25seSB2aWEgdGhlIHRpcCB0
cmVlLg0KDQpXaXRoIHRoYXQgSU1PIHRoaXMgcGF0Y2ggc2hvdWxkIGdvIGluIHZpYSB0aGUg
dGlwIHRyZWUsIHRvby4NCg0KSnVlcmdlbg0K
--------------z08v8M0v0hesX6yrm6C1ZIc0
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-----

--------------z08v8M0v0hesX6yrm6C1ZIc0--

--------------ewBz4ccCsmBopYeWOGlKnuRG--

--------------XakfnydveI0W07SsQNR1YM9L
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/Ey8FAmfFelcFAwAAAAAACgkQsN6d1ii/Ey+F
qQf/dayHyPt2EFfLTX5/ZHQZaJKv/jEQ089MCYbMM+hf9qUSjf48FSombXlvl7UCoffSoCYCvTNe
SeI8XZq3fsskD1MKNH90GZVUy3IT02shTQ5cTtHS+dg+UFRGkPZU2KrUM7rwkvQzjWKwAJoUhjjd
bDeHPPv3aO8Tl+FFO+8ksApteUr2xWc8xR0XlmgFhpXhQj4OEhcGSIKaNtyCHlLqGKP/sNp/QiPS
lLu0ZLgTIGGdsHGrA2L6EhJ15djTWFJhKnurBlWnbcRP/hnz0RcseAPcx28ykUgBSMkssvUyk9Bk
aMMHAvLYcuT0PPDZED3RBRxMdz+exxrxl+Hu6PNXaw==
=b0OO
-----END PGP SIGNATURE-----

--------------XakfnydveI0W07SsQNR1YM9L--


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 09:54:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 09:54:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900074.1307994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2V3-0002er-Db; Mon, 03 Mar 2025 09:54:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900074.1307994; Mon, 03 Mar 2025 09:54: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 1tp2V3-0002ek-Av; Mon, 03 Mar 2025 09:54:13 +0000
Received: by outflank-mailman (input) for mailman id 900074;
 Mon, 03 Mar 2025 09:54: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=aL/j=VW=arndb.de=arnd@srs-se1.protection.inumbo.net>)
 id 1tp2V2-0002ee-14
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 09:54:12 +0000
Received: from fout-b5-smtp.messagingengine.com
 (fout-b5-smtp.messagingengine.com [202.12.124.148])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72d8d6e9-f815-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 10:54:09 +0100 (CET)
Received: from phl-compute-09.internal (phl-compute-09.phl.internal
 [10.202.2.49])
 by mailfout.stl.internal (Postfix) with ESMTP id CA0E1114015F;
 Mon,  3 Mar 2025 04:54:06 -0500 (EST)
Received: from phl-imap-11 ([10.202.2.101])
 by phl-compute-09.internal (MEProxy); Mon, 03 Mar 2025 04:54:07 -0500
Received: by mailuser.phl.internal (Postfix, from userid 501)
 id D37942220072; Mon,  3 Mar 2025 04:54:04 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72d8d6e9-f815-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc
	:cc:content-transfer-encoding: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=fm3; t=1740995646;
	 x=1741082046; bh=i0sKfI9tTTb1ZD2DRP7zdoUwuzXHxf4k0a/M8kjuyBs=; b=
	k5ubPbsx6tA/kYMwljhSBfc5Yvqwz/HTODm+iQfpLWPVHROMLQF1cbaGOGMIpYeB
	LWyMOo5S5eHBiFUNx68UlmhtjM8zgJuSkJOx10goK3BmDmeZuW/nB9GsEp9x931c
	KRRgXv9Dw9GmSH37cOA6NqUQztwJz0/nxjDCVSNnaY0eGEQRD8g67KxtuZnK1K8z
	6HCjEzYmJPphusUyuGkWj5qVgv0beyq0pzGC+jcORyRI7WvB982ByxOkV5PUrTIe
	jvZrVTNCMfpQkyT0Cs7wllg+cutFmntGhVNlBPjHCmlByLsgldFquvbfe43FUR4C
	g4L3XErkvwYUOSv/Axz+Rg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=fm1; t=1740995646; x=
	1741082046; bh=i0sKfI9tTTb1ZD2DRP7zdoUwuzXHxf4k0a/M8kjuyBs=; b=d
	7OD48v0w9JZvh49zjOhKBIFsiknSxygZ8q7KKlCQ/zfqv3Qy3OhIqkk7ba33of4e
	WKVvM0t0jce4ZsQw5VBv/c+RB+IgWdyTVOw15z0s/plzN42OjZT7/vAG6b9sD7+h
	KaNgm7AQwXSprf2q80kKi8s6VX5FXvY2BqZFyx9WDJTw9BVMaX4lnmuI9ndtno4F
	afnNq9E/nJYUwtqWooWy2A6ZTLR57zretvz8u1KO91hjGR9zGv4D3/9pkrnhNAuG
	N5f3Cb2rRNZRabjs3ZDzpQywLgc7ANkvAWlNP7EYsc0zNIbQTWBb/kcGQiWG8W4/
	f1ZaTa2G294MU2whSLcXg==
X-ME-Sender: <xms:PXzFZ1j8h2lARuucU8b4g6ryyv7zT6H60UdhcIrqCHfodbAZBHbHwg>
    <xme:PXzFZ6Cds1SpPMUIDAMnm5A1MQT9K2PAYonLzqzVYyzP5I7NtPmhs5Ry_-sOybfja
    3mKToBEK8_ebkAorZw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdelkeekvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
    uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
    hnthhsucdlqddutddtmdenucfjughrpefoggffhffvvefkjghfufgtgfesthejredtredt
    tdenucfhrhhomhepfdetrhhnugcuuegvrhhgmhgrnhhnfdcuoegrrhhnugesrghrnhgusg
    druggvqeenucggtffrrghtthgvrhhnpefhtdfhvddtfeehudekteeggffghfejgeegteef
    gffgvedugeduveelvdekhfdvieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh
    epmhgrihhlfhhrohhmpegrrhhnugesrghrnhgusgdruggvpdhnsggprhgtphhtthhopedu
    fedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepsghpsegrlhhivghnkedruggvpd
    hrtghpthhtohepgiekieeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepthhglhigsehl
    ihhnuhhtrhhonhhigidruggvpdhrtghpthhtohepuggrvhgvrdhhrghnshgvnheslhhinh
    hugidrihhnthgvlhdrtghomhdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhs
    rdigvghnphhrohhjvggtthdrohhrghdprhgtphhtthhopegsohhrihhsrdhoshhtrhhovh
    hskhihsehorhgrtghlvgdrtghomhdprhgtphhtthhopehlsghulhifrghhnhesrhgvughh
    rghtrdgtohhmpdhrtghpthhtoheplhhukhgrshdrsghulhifrghhnhesrhgvughhrghtrd
    gtohhmpdhrtghpthhtohepmhhinhhgohesrhgvughhrghtrdgtohhm
X-ME-Proxy: <xmx:PXzFZ1E1-HaRsVwkZ1MhIegPAvtdR8mGUCheay-RQ2IP5t8ZMZEU3Q>
    <xmx:PXzFZ6TlJFElnaalbNy1m0NCFLMKP4Lb4tZgehC3tYqvYWMufvf_ig>
    <xmx:PXzFZyzjetqnFT-CQkBgwbqCrpfXHAc8tneFe15T8K4x8AOg23mBEQ>
    <xmx:PXzFZw7e4oNHlTkOvg9eXm2F0-krLJYvzuMIGwMvBHGelAY4NUwZEw>
    <xmx:PnzFZ9oIir42QEB-DozqsPBjsnF7ISxS98FsvsrM8lUkqPFOTMEimo4Q>
Feedback-ID: i56a14606:Fastmail
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
Date: Mon, 03 Mar 2025 10:53:43 +0100
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Lukas Bulwahn" <lbulwahn@redhat.com>, "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>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org,
 "Lukas Bulwahn" <lukas.bulwahn@redhat.com>
Message-Id: <c4f1640e-3046-4ad4-accf-bdfa97a3ce17@app.fastmail.com>
In-Reply-To: <20250303093759.371445-1-lukas.bulwahn@redhat.com>
References: <20250303093759.371445-1-lukas.bulwahn@redhat.com>
Subject: Re: [PATCH] xen: Kconfig: Drop reference to obsolete configs MCORE2 and MK8
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

On Mon, Mar 3, 2025, at 10:37, Lukas Bulwahn wrote:
> From: Lukas Bulwahn <lukas.bulwahn@redhat.com>
>
> Commit f388f60ca904 ("x86/cpu: Drop configuration options for early 64-bit
> CPUs") removes the config symbols MCORE2 and MK8.
>
> With that, the references to those two config symbols in xen's x86 Kconfig
> are obsolete. Drop them.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@redhat.com>

Good catch!

> diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
> index 77e788e928cd..98d8a50d2aed 100644
> --- a/arch/x86/xen/Kconfig
> +++ b/arch/x86/xen/Kconfig
> @@ -9,7 +9,7 @@ config XEN
>  	select PARAVIRT_CLOCK
>  	select X86_HV_CALLBACK_VECTOR
>  	depends on X86_64 || (X86_32 && X86_PAE)
> -	depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MCORE2 || MATOM || MK8)
> +	depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MATOM)
>  	depends on X86_LOCAL_APIC && X86_TSC
>  	help
>  	  This is the Linux Xen port.  Enabling this will allow the

I suspect some or all all of the other three options should be
dropped as well, given that 32-bit XEN_PV guests are already
unsupported as of

commit a13f2ef168cb2a033a284eb841bcc481ffbc90cf
Author: Juergen Gross <jgross@suse.com>
Date:   Mon Jun 29 10:35:39 2020 +0200

    x86/xen: remove 32-bit Xen PV guest support
    
    Xen is requiring 64-bit machines today and since Xen 4.14 it can be
    built without 32-bit PV guest support. There is no need to carry the
    burden of 32-bit PV guest support in the kernel any longer, as new
    guests can be either HVM or PVH, or they can use a 64 bit kernel.
    
    Remove the 32-bit Xen PV support from the kernel.

and 32-bit Pentium4 and Atom CPUs don't run modern Xen hosts.
Most likely this should be

   depends on X86_64 || (X86_32 && X86_PAE && X86_GENERIC)

to say that running 32-bit XEN_PVHVM guests is still supported
allowed on 64-bit hosts, but not on pure 32-bit machines.

    Arnd


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:08:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:08:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900086.1308005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2j1-0004vM-MD; Mon, 03 Mar 2025 10:08:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900086.1308005; Mon, 03 Mar 2025 10:08: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 1tp2j1-0004vF-Ik; Mon, 03 Mar 2025 10:08:39 +0000
Received: by outflank-mailman (input) for mailman id 900086;
 Mon, 03 Mar 2025 10:08: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=W32C=VW=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1tp2j0-0004ut-Ku
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:08:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 78602d2c-f817-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 11:08:36 +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 B27C4113E;
 Mon,  3 Mar 2025 02:08:49 -0800 (PST)
Received: from C3HXLD123V.arm.com (unknown [10.57.37.154])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5835A3F66E;
 Mon,  3 Mar 2025 02:08:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78602d2c-f817-11ef-9898-31a8f345e629
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: Fix platforms Kconfig indent
Date: Mon,  3 Mar 2025 11:08:23 +0100
Message-ID: <449a9f85d07aca65f607944c4bdab850760c9445.1740996436.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fix platforms/Kconfig help indent to respect the standard (tab + 2
spaces).

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/platforms/Kconfig | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index 6dbf6ec87b1d..b938de329762 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -2,15 +2,15 @@ choice
 	prompt "Platform Support" if MMU
 	default ALL_PLAT
 	help
-	Choose which hardware platform to enable in Xen.
+	  Choose which hardware platform to enable in Xen.
 
-	If unsure, choose ALL_PLAT.
+	  If unsure, choose ALL_PLAT.
 
 config ALL_PLAT
 	bool "All Platforms"
 	help
-	Enable support for all available hardware platforms. It doesn't
-	automatically select any of the related drivers.
+	  Enable support for all available hardware platforms. It doesn't
+	  automatically select any of the related drivers.
 
 config QEMU
 	bool "QEMU aarch virt machine support"
@@ -18,8 +18,8 @@ config QEMU
 	select GICV3
 	select HAS_PL011
 	help
-	Enable all the required drivers for QEMU aarch64 virt emulated
-	machine.
+	  Enable all the required drivers for QEMU aarch64 virt emulated
+	  machine.
 
 config RCAR3
 	bool "Renesas RCar3 support"
@@ -27,7 +27,7 @@ config RCAR3
 	select HAS_SCIF
 	select IPMMU_VMSA
 	help
-	Enable all the required drivers for Renesas RCar3
+	  Enable all the required drivers for Renesas RCar3
 
 config MPSOC
 	bool "Xilinx Ultrascale+ MPSoC support"
@@ -35,7 +35,7 @@ config MPSOC
 	select HAS_CADENCE_UART
 	select ARM_SMMU
 	help
-	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
+	  Enable all the required drivers for Xilinx Ultrascale+ MPSoC
 
 config S32G3
 	bool "NXP S32G3 Processors support"
@@ -43,12 +43,12 @@ config S32G3
 	select HAS_LINFLEX
 	select SCMI_SMC
 	help
-	Enable all the required drivers for NXP S32G3 Processors Family
+	  Enable all the required drivers for NXP S32G3 Processors Family
 
 config NO_PLAT
 	bool "No Platforms"
 	help
-	Do not enable specific support for any platform.
+	  Do not enable specific support for any platform.
 
 endchoice
 
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:14:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:14:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900095.1308015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2o5-0007HP-6p; Mon, 03 Mar 2025 10:13:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900095.1308015; Mon, 03 Mar 2025 10:13: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 1tp2o5-0007HI-41; Mon, 03 Mar 2025 10:13:53 +0000
Received: by outflank-mailman (input) for mailman id 900095;
 Mon, 03 Mar 2025 10:13: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp2o3-0007Fn-01
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:13:51 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2407::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 322870b2-f818-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 11:13:48 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS0PR12MB6461.namprd12.prod.outlook.com (2603:10b6:8:c7::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.21; Mon, 3 Mar
 2025 10:13:45 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 10:13: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: 322870b2-f818-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fCE4rvbA5rbKo+G5x2EFPFmdZVRqJ/qlfb/F44nI98AMurNOq6QDvfmbidauw3AU9OkH3uc1MjOzOiWpCoHi/2rcssR4wK0ntBa0QAxr0Lz/jecuMEiphtmbKOtDZ60XHl4CW4/JQbqkT9oYOKVCi/sHAt4yc71Pqv7Ca0qZz6aGir8VZzA/ShPiEzVn0nv8T8wEYRj9LcMPDjZKY9a2yZ0wSLWDx2iDHwVJxiVw10WYs8lUnUuqzxwkGL+To8hOTfC+9zzVC9FEj7Al3cUooRhrZ2DjbAaxoW1cMU5REAUGbYs04YqIkyFKuW74odDPAiAJCU+mF7f8Ne2IxRhlig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tI+GWHjQEm0xV2VMnKBjH49S4VCnf/d/i53rHzMg10o=;
 b=qzmAEShAZ1zJ9wQ03BGIMSHAD9GvPbscb6/M0EashRxDYuRi92d9NWdJlQGZDKlSLOtlOitJoHi1Wadyxm0OKqaWXgl3A9Ye/bTmwKKvyot6dPUtSkrl7rkWi6/yjq/076SzNdcKBEM2z8seOGM9QJoOB3cRRorET18tKxgLuC6PAqUTDdRe8DqZ+1G030XsjQW8tiGGEC01aO0XmaOQL8/lBcBL/fRMKjTSQ95dJmnJwia0/cc0Mps9rziNrWMMX8H1CJObUm7lgEovxeenChOIdAKt1ZIMontZj1eRFW1eU/Denb7UCN0Mypf3v4/3y7GBltMrLF0/eOEmAROkuw==
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=tI+GWHjQEm0xV2VMnKBjH49S4VCnf/d/i53rHzMg10o=;
 b=veaKSTF5Ng3+KkiM8LrU6owo5rfK354/l2l7dUaw1LYLF0K+yH24a92sa33B0PnaN0yLkTNu9nYXutoGIM8IS/bG3orxpJgApOHI0DWE4qJNix7lauvioYYgEyhluu/q4nHHBlHMQ6uOgJafGklnq/bFXkUU2LvEKFhNhNFMJ4M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <91efefb1-11e3-41d2-a098-3124cef6578e@amd.com>
Date: Mon, 3 Mar 2025 11:13:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Fix platforms Kconfig indent
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <449a9f85d07aca65f607944c4bdab850760c9445.1740996436.git.bertrand.marquis@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <449a9f85d07aca65f607944c4bdab850760c9445.1740996436.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0424.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d1::17) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS0PR12MB6461:EE_
X-MS-Office365-Filtering-Correlation-Id: 11a97095-f743-4403-71b4-08dd5a3c14d7
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?bjdJQUo4SzJCMU1rWExqWXREYUZMd3lEVGxvUll2RkRMR09Mbzk5TmFjTWs3?=
 =?utf-8?B?MGdqNWE0enhldmpDK0RXSE1SckNuSmhkUzRnOVQrbEJ3dTkyZkdBaXZ4dWFy?=
 =?utf-8?B?RmdxaTZnK0NlNUxmUTcxMFYwRGZhbUZSUDdUTkE3WEZabmxhbUdOTW1jVVdH?=
 =?utf-8?B?ZzUwTENHclJFNDhTZHp4MWZLM1lzbER3cVNUMWhCK1dtTnJ4ME11Z3paVmY1?=
 =?utf-8?B?U3gvRHJWYWppU3VUWkVHbGpJQXpkalRBSW1tVGUreTZ4U1cwcy9sam5yWnli?=
 =?utf-8?B?a0UrZGk4RkQ4VHZUbWVhZDV0c0c0UzdnZVJzejJKQmxMSDlhS0VkTE4zQXlH?=
 =?utf-8?B?RUN0MWFuWjJ3RVpnNDIvNzVLTDUyejFsdFVNaktjNWtqV2EwZzRSOVJLcEVZ?=
 =?utf-8?B?a3h3N3FQRlZBUUlLY3orVG9MMGg0OUhBZWlSNy9VZHZubld2MlBPOWdNTHpS?=
 =?utf-8?B?ZXhCc3JVTlVZZkVHWmM5U0ltR1dXUlBhMWxNanFSMk5mSEErOGZudVJyUG9h?=
 =?utf-8?B?OFNBUVZsWExEVEJGK2k4QmFucm5XeXIxK3JjNFlPQUlwcktZQXB0QUVSMUpa?=
 =?utf-8?B?d2dCTmN1Q2ZHbnB4VHh2aE42NXhrUWRBclRQdEUvUzBXa3RGd2NaRkwwRzhS?=
 =?utf-8?B?b0FJb0tET01MZDArKzJpVVpsQWxSTG9MZHlXZTVSRGtSS3hQZTk5L0hsZTVL?=
 =?utf-8?B?QytQS01yRXlRVEpZS0M2aGVaWVBaM1QyNjlOOW1jbjlwNUZ2Wkt6d3BQOFo1?=
 =?utf-8?B?QWtHTFQ5ck1rUFdrK1F6ZWRocHgyRVJDZ0NxNUE5NjNBVDcrUWhUY256cUE0?=
 =?utf-8?B?OWw4L2VPd2FrNEJSZHh0WVhIaENvalVTdmRFM2VlMVFxandKYjBrUysycU41?=
 =?utf-8?B?b3dHYUZVWmVhb2FvTG5lRHdxaDllSWhUc1QzaXZKRWFjUkx3VTFRVlNvYkxI?=
 =?utf-8?B?WnRHdkRNejdLbFBhMjdjc0wvV3lVdW04eVBxcmtTdndHcHVWWm9kbEI2eXll?=
 =?utf-8?B?U3lxK0hrT3hid3hVQ3M4ZnZTeVRSN0RrNUwxRkFvdy91NXp1d2xlYjlreE5x?=
 =?utf-8?B?MEZ3M1JuWkdheCtUWEVHMzhLbkpqZldJUzVXeUJtUGdYR1BRaG5UcnlRYzgz?=
 =?utf-8?B?WGZkNlZLRjdScmYxcjNXcllIOE5mY21OMjdGVHVIVWdoK3BJT1g1UDFrbTJ3?=
 =?utf-8?B?aUhic1lhdFU0YWFjOStJNEVFZDFET28raTFvcmo0aTkyM3RNM0JPd3FFRGph?=
 =?utf-8?B?WjNKV0xSSUdnNzhodHZzdkh0SDQ0NndIVG1mZzVOcXUxYnUwTStCTWxXVGNU?=
 =?utf-8?B?ZXZucVdHT0ZWOGQwRmlkVDF2M0p6QnpOWHJSSURkTDNBREMvUWxZbWxBcERU?=
 =?utf-8?B?YXc4RkhVOEFPaVBHS09hRzJqdytVNG12RllETDI1V3ZnaklvbldKWklPQWNp?=
 =?utf-8?B?UVI1ajVnR05BUS93SGRXTGRabWwrOUdqQkxlU3pUWXlocmlmNXpyU1NSTWlo?=
 =?utf-8?B?UVZ3YUpTRzFzZHlJR2I0UDllZ1o5WTBiUEN2Q0UzK0xXbStFVWN6UTZleFN2?=
 =?utf-8?B?c21Za0tYTXJCUkdhZDB0Mk1BdnpCTGVaY3RqcVlxY2s2UGt2RDhiYUdVOTR0?=
 =?utf-8?B?TEFGU2pwV2tjNUl2VEpkUzZVMTd0WU5sVFRsSTIzQytBcTdISDFTZnZCSGxE?=
 =?utf-8?B?KzVmTTJvRFdwSlNaN290QThNRVJFbHpkMWJHdXYyYlpFdVh0TVNCNWRqY0Fu?=
 =?utf-8?B?dVE0ZUk4QXJtcmtlM0I2RFJZdWUxVDl1OFJhNHNjZlV4NldFMXk2emZLUWk2?=
 =?utf-8?B?bjhzNjZ5TlhIQXQ0L0IvdDFpbEh5WkJ6VjVKa3UvaU5BYWJIZ2hPcDZSUVZi?=
 =?utf-8?Q?ok9ACPEUl7suJ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?Zjk3ZVhvTUd6cFV6MXB0Q05WVmFpQzZWbmR3SEFKdk9kY2NUbzkvVlA3L25y?=
 =?utf-8?B?TjRTb0lFVHMyNGhQZ0MwaVlISkJpWXhibjV0Mk1BTHNUU1JmRkI1TzJITi8y?=
 =?utf-8?B?OEE3bUlrRDNKTVp4SG5UNmRxS3FWaTJxSUhaT2JsTEVJTEd1VTczVEVvcGlt?=
 =?utf-8?B?WElOSGwwNVlsN2srS1I4VDVVdXNNSmxNYVlJZ0luRzgwNjd2bEdMcllpM0Zi?=
 =?utf-8?B?Z0VNNHZXWEcrTnRjbnpkR2JTdnZRS0VJRUhQWlNXYkRjT0RYSUtiZGJybkRQ?=
 =?utf-8?B?c2ZselZqdFA0SmNpbmFiOXVSZDlkK080aEErZW9MMUFLeUVSV0VVdUwrS0dl?=
 =?utf-8?B?M2pucEtrR09nL29zd3RZNFZUeDFnR0t2NndzOGxTdEw1NFAwYW44aG5DNHNG?=
 =?utf-8?B?OUhJR1RwYUVXcm51MW9maHdNUkRBVGJFeTJTRlc2RkRJazNqQzBERmpvM2Fs?=
 =?utf-8?B?bFRvWVZ5a3o4UjZpYmJ2NW5nVDAyaTd1UzJseWZubEduSU0ybnRNdURBYk91?=
 =?utf-8?B?VkdManY0cHBHMlhOWDVJT2c2NFRDV1ZiY1dCZm9sL3FCNEVUbkZOUVJNeXJx?=
 =?utf-8?B?S2JFb295cFpZWXV5eW5rTXZZeTQ1OEVpMFNkMWROcTcwOWVwbkJEeGk4S2dX?=
 =?utf-8?B?VUVNR1hhSldWUjhvY3E3cElRRk5zTGJSc2R6Q0V0Y1ZNWUM0UlhuV1Vjc0or?=
 =?utf-8?B?YXFuc3lTTk91WkJPTmxPcUtSUVFvQk0zYWlDRWJMNjZ3TEh6TTZxRXRSU2gy?=
 =?utf-8?B?Y2VsamdkdGRRdmo5WTZDZzFiOE9IWGlRUzNrUWpMcitSUStWYkpYKzk0M3dq?=
 =?utf-8?B?LytET2dKejZ2bDZvUG50L3Q4SC9HcVdydlZsWU9STkVrbmhINlBHWHV4dVJT?=
 =?utf-8?B?YW1KNi8xUlRxTG8xek1hUHpvWDNyZ25hQ2pXdFNMN1hQQ2oyU004d1paZFhD?=
 =?utf-8?B?SU0yclFEbW1YbXlHU25CdHFUancyWk1iY1lUckNraFpQTUgvQlladkZFWXJM?=
 =?utf-8?B?MmN2Um9ub0JQcmdRK3M3RTFRNWpxS1VJS0hYZWwvWmJGalluRDhEanZYSkw1?=
 =?utf-8?B?byt2YXk0YVhibngrNEZOaWFmYUtDL09FWmJjNC94SnE2M01nSWVRWW02QXht?=
 =?utf-8?B?L3dTdXVIK1ExdnBzVmFUNmoyVXBxUVZMbmlsdythZEZYMkJHb1ZsTkpvWUN5?=
 =?utf-8?B?ckpoREhVZXAwTEVtUjRyY1hTanhDZzc3bGRFYUg2V2dyRVlhQ3huRS9LbTJ0?=
 =?utf-8?B?NWdwVUduSnpZQ21FZ040MWExR2dlQzNpU0MvckpMNWtQbkdQc0llK0pxKzY3?=
 =?utf-8?B?MHFVSDlwUlNzK1V1NVIrbHIxeG1VYVVBdmJmc2M0MVFtWlZTWW9KYjNoTFZ2?=
 =?utf-8?B?YjlnODA0TE1lTEdlbmtXVjVYazI4Nk5xd0VGbGF1VzZ4dG0yek4vOGk2dTJO?=
 =?utf-8?B?UXBTdDVhRkxrUUJXb2crY1pSOTFDN0NZRUc3KzVRK29YRlZycm9hY25NK3F5?=
 =?utf-8?B?NzE4aEQwSHlSajQwOWJOQzQ5NEtpT0JSZy9hR0pDdWhHTE1ZN2xHNEQvcjRS?=
 =?utf-8?B?Z3ZGZzJzN3dZcHJrRXZ2a0NHeExEcXBJLzRteURyZ21PU0pSa3YxdnNTR1Jw?=
 =?utf-8?B?VnN6LzJ3UU5qb2I2bWFsejhmMWt6M21mNjJhN2RwZjVteVdzejBPek5tU2o5?=
 =?utf-8?B?eDRGMWNCeTJKY0xKcUNPa2R3YlUvZDVPTjVPM3d6bkQyOCtGL3hLS2JXSVBX?=
 =?utf-8?B?WnpXamZySTV2cTNNRk9PYTljcDd5SzFUc3Z0MW0yMmc2WW5vK2owVEd0RFg4?=
 =?utf-8?B?UlBGTGlqU0dtMzBHK2tERSs2aEx2WHZLdUJlOGhPc091eUVaOFBPWTc4RTdO?=
 =?utf-8?B?bnlGNXRKV05pNW56SmMvSXlyU1B6bUJsQzlQVGdnZk9yai91ZXlJT2tKR0VQ?=
 =?utf-8?B?UW1PVVVsbmFjWkdKL3lsNXc2Y3BzY3c0dmlGQzJZTWVEK0dIMmxJUFFwLzdj?=
 =?utf-8?B?T0RWWmkxZ1RpL0Vrc2lpQ1BjVVNGVHhpelY3TmtQUDFPaWFHZEdUOEEwMkZi?=
 =?utf-8?B?UC9HNUVvMWlUenFzK2RxTSs3WmVMWkk3cUVVU1pBOG1VaUhiRDhwTnhNbVM4?=
 =?utf-8?Q?EbWw=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 11a97095-f743-4403-71b4-08dd5a3c14d7
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 10:13:45.3278
 (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: Jndi94w0XfxSIWqEcrngFOHW6OS71+COjLVzVHMcKXDhllow+7QikmvV5/aKTMWP
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6461



On 03/03/2025 11:08, Bertrand Marquis wrote:
> 
> 
> Fix platforms/Kconfig help indent to respect the standard (tab + 2
> spaces).
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Do you plan to fix also arch/arm/Kconfig.debug? You could squeeze it in this
patch as well :)

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:16:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900105.1308025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2qD-00008Z-KX; Mon, 03 Mar 2025 10:16:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900105.1308025; Mon, 03 Mar 2025 10: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 1tp2qD-00008S-Gm; Mon, 03 Mar 2025 10:16:05 +0000
Received: by outflank-mailman (input) for mailman id 900105;
 Mon, 03 Mar 2025 10:16: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=W32C=VW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tp2qB-00006u-Lw
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:16:04 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 829506c5-f818-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 11:16:02 +0100 (CET)
Received: from AM0PR02CA0213.eurprd02.prod.outlook.com (2603:10a6:20b:28f::20)
 by DB8PR08MB5337.eurprd08.prod.outlook.com (2603:10a6:10:11e::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.27; Mon, 3 Mar
 2025 10:15:58 +0000
Received: from AM3PEPF00009B9C.eurprd04.prod.outlook.com
 (2603:10a6:20b:28f:cafe::60) by AM0PR02CA0213.outlook.office365.com
 (2603:10a6:20b:28f::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Mon,
 3 Mar 2025 10:15:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF00009B9C.mail.protection.outlook.com (10.167.16.21) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Mon, 3 Mar 2025 10:15:56 +0000
Received: ("Tessian outbound a81432d5988b:v585");
 Mon, 03 Mar 2025 10:15:56 +0000
Received: from Ldf2ef66d0bcf.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 98197E00-94DD-40F5-9716-F5EEC5FEA032.1; 
 Mon, 03 Mar 2025 10:15:49 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ldf2ef66d0bcf.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 03 Mar 2025 10:15:49 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS1PR08MB7475.eurprd08.prod.outlook.com (2603:10a6:20b:4dd::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.27; Mon, 3 Mar
 2025 10:15:44 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 10:15: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: 829506c5-f818-11ef-9ab2-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=oNf+ApEtqF970ALAWG3XRhSUVFiXrUzVTHoXQog6xq+eaNWs88AQTvwxos2EqMaCU2M1RxsO8Df+Mc3OyyJE5nJOLvE9CPwx1/0KbsL8r94QHitlb+wNkUbZ9+buBb8uataL7779GN4DQqMNGz7IIHSP7QPEjr+UF1WJzg94SXo9B8zUcmZeTLQ+ydKoJZo6qjjBRtMK8++g1bpsEZHrQ/kOOoaBGYwho7ARSm9Yle3YXM7r8dR4tVBrAU4+qg8NBp8aCcMZ3Dr32YYeGQIG982wa+CxG2COXc8/9IBY39TdIOyk1vEOQ8XjjrxuPmNCnDKGmrCeeVLNOmmhTip/ng==
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=5rINrDBy0uW6uPJghORlDzeLImTt+zbATwKhpVchNsg=;
 b=Ld4Bfo/4NY8mcYg9f8gYjoOMw8Qd0WNq6edfDhozMg6oIrk3Tguqs3BtZxG1DCfocSwDa3e2h+dg4a45tCbFd66uiWmf6eVVTccpxro3+P8ZBBpRrDq82o9ylk7JScWXAyEIZzXoONKgqldUnlFnZ8kiTFFthvgn22nZVqwy7dwBa7+lrIt+zyd4+a5H9uDhYaQcano0j2d7HPVG14gCldDO6QkQRVtR+ebZDEF4MlzCkPoopgc8qge8qG6bY/4nBZe2xtXj3hgZId3qEYTjUdF0wSClsYHno52xdk3du1vQK9aoeamSQ70N1U5I6Oe9SZdHGgkIgeYy1Gj2HVxu5w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=5rINrDBy0uW6uPJghORlDzeLImTt+zbATwKhpVchNsg=;
 b=YcEmEwwUtRWnvCLWywDieAos3n4VIHhKsbfxTrJr+TwT34woGDNyPZ4StOyL9PaI6zK55JOFW0GlJ6fcV1X4RMAPTGx2HB50CDvh+v/zA2is9S63U4YtjS+0mxB1s81Ab0RPSy+W5YG/uR9wniFEtKQPjGRTgy04pNZu13lInVw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f7f0790e83eed5eb
X-TessianGatewayMetadata: 4FijQYXym6qxgYm9VAYtgVq/8CqyJMnZ0I/r6OoGWvjthGis2Su3Hv9lThaUiBxLQCzBikbny3F5nwl9gfAeAMVDTJrn+fXv/J0xJeQK9lI7NmcPya4wLrzzpv3J0secIpME2dvsPC5Plye76XkbZhVIPo+5S8EFR0ejswyf7cE=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A/lZ5bLv8m5dmLdefqHSEd9eI8serLDfFUHxEJvsbmOTykOSehA+dxv1f7/0dhe9S0vmA6Jhhou2md6hqKO3971XbkG9yPAasOUuE6eEW/AIv+fMUIRCSly+mQp6gBdEyJitXiWe+WgSdr2vM6pzgTwYkjozOffdLWm2/E4Mad8uJ5kSOWX005k3Mr/x4XDlvuDR89cNc4jt2cDcL0aMNoWDHGmGvm5iIDFD7b0QNxnMjHVL01FOQV3ZxY8cX0NM7ete86Hzwnmtea1kvymHkgQPyps4f8O7jCG0v0bRd3jCtREpTvyH6ANf+o+KEQ8EQJfp+NrymWr+Z2L4Bq8gog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5rINrDBy0uW6uPJghORlDzeLImTt+zbATwKhpVchNsg=;
 b=G2XM52NdtZPn2JCakzWHKt9omG87R30+xJOX6kLCcj08LEOb/pxkuEDdIyODfn8GvGzbZ7ztYeD1hwTutcPuUzzqn1L2i61zTZz9VZyXqKPdt237bUjexmCUQOpP1JFir2beCZ9+tdOYhQHzXiMdDVJtyu+bQAm7fiLo17bGcKpD0bCpMvq14bsf8U/9txaR7dQ2Wmlirrb//m3+YS05Xx+naW7dNY4PcoVuQF4h4JmHjjNeAc+cr0r8+XBtdGhon+vG0/+vPp6Vsdajb3OAb1bosVV1LenjvXOEfJKQ8zAuhrf08FqfYjBt0XO4bQ8gozwgVrVrERI/48IxidiHQg==
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=5rINrDBy0uW6uPJghORlDzeLImTt+zbATwKhpVchNsg=;
 b=YcEmEwwUtRWnvCLWywDieAos3n4VIHhKsbfxTrJr+TwT34woGDNyPZ4StOyL9PaI6zK55JOFW0GlJ6fcV1X4RMAPTGx2HB50CDvh+v/zA2is9S63U4YtjS+0mxB1s81Ab0RPSy+W5YG/uR9wniFEtKQPjGRTgy04pNZu13lInVw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Orzel, Michal" <Michal.Orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: Fix platforms Kconfig indent
Thread-Topic: [PATCH] xen/arm: Fix platforms Kconfig indent
Thread-Index: AQHbjCRKzOONRh42LEq1htS2xcR2hbNhMZMAgAAAiYA=
Date: Mon, 3 Mar 2025 10:15:44 +0000
Message-ID: <14E001BC-6308-4F6A-BFBB-D6FD71883A07@arm.com>
References:
 <449a9f85d07aca65f607944c4bdab850760c9445.1740996436.git.bertrand.marquis@arm.com>
 <91efefb1-11e3-41d2-a098-3124cef6578e@amd.com>
In-Reply-To: <91efefb1-11e3-41d2-a098-3124cef6578e@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS1PR08MB7475:EE_|AM3PEPF00009B9C:EE_|DB8PR08MB5337:EE_
X-MS-Office365-Filtering-Correlation-Id: b90501e0-3230-4c6b-e78f-08dd5a3c633a
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?kkTiW9waeyz6xvUgacG3TSFxUMm5x2w9fqreigVX5ULZymeXtY+LfaMmyUg6?=
 =?us-ascii?Q?BjtVJdCY31DVmfLCfI7M6QyICBOVgoie7kQn3BLfxpk/sX6ezY1bQXxsnQEq?=
 =?us-ascii?Q?evpVXglK468dtNwaYlS3JQ+oL85BzWYl1bqtryUa8tS9ON1K7BwSzl9U+8sL?=
 =?us-ascii?Q?Iux/mYs3FOqmk0i253Y/VQkI/EqO2KAev7t8+Gs0tPOgRd08xLxag5PIKERR?=
 =?us-ascii?Q?4xwZUyU8KrZQMJLNF8PqyxL2lB/MxM8/71JOlY04PzsF7m4UBIqxiHOFm/5M?=
 =?us-ascii?Q?ZfhYy7GoaQKNWNVeVFp09epw0AyQCLWna2c2ZqAgIpcme42YYBpraA0JwTS1?=
 =?us-ascii?Q?/xwmSbgtPfnHiCqLaH0sSGUMfzOzobXg2j3ACYCafJ//kjGgg5thH8eitJtn?=
 =?us-ascii?Q?HoAugUT7ARXDHfBIVVLgBS80Jc1B4jK/mGsZJz/ifOUCdoODp+cIueDG5eiI?=
 =?us-ascii?Q?NXMR4/A++1QVP3r4ffSnRgKnKVH1C1DgUYMbrFfeENjZkhRNaTiu7VXpt8lM?=
 =?us-ascii?Q?ZYCWooB/BlfFcJBcpgDMDUa4djEtsNxHzZ8s7Jz5rCOH4eTGkPdtDqg9bUKz?=
 =?us-ascii?Q?0hzzpJGRXajcVp23ULee8KoNGWR7/nXVbB+QUWerU7HrTes4TZVHBlO6ycHb?=
 =?us-ascii?Q?p+alD1x9VPSJ4yQ/c4MhS1113x/DxKpjlWUUN+tUElr00JL1CetCFwZjELH4?=
 =?us-ascii?Q?yuG+ZjAAhgv7K2p2DLcx949H6FrglpDiTt4yvwzLTS5UbojjaExp02E+o9o0?=
 =?us-ascii?Q?4UY3zp2xox/PJN5Nrml6Xu8o/KR9fxdJX49qq3ad80Glmp80wIUAfs43geQB?=
 =?us-ascii?Q?HV4qfKk42YVJOl8StOfV8obZuNxmKu3COGTnnlbLhl4Vxdm7XtveM4d/aQ+V?=
 =?us-ascii?Q?57DYk0qLJ1tPt29lur6KO+dTtEzPIg+4HGsNN1SbdtxWKDHjZjddMn6gozlX?=
 =?us-ascii?Q?D0wpfbtAK8j70gP5xt5AzMY4KANp8cqa9cQYlNdpVVi6gmXvT8s2k7onK/u9?=
 =?us-ascii?Q?3JHs1H7uVFLxocbDjJllJrmCYJMxlnLvtubU9sucmcBfU/TSvUl3YeAED4Py?=
 =?us-ascii?Q?Dkf9TrimxfizF5/Kf7v4CT4i8zyc6pSXa50P7diBHcJtb1v4wR4IbsHomi8N?=
 =?us-ascii?Q?y0BUw0K4ZQPo1LNCXzRYheEaOCIgFH/n/8JD/bPK+MzHFtdIUBWSQNKngtcu?=
 =?us-ascii?Q?DE6ZmbfBd/Gev+G+Ot0Yo2K8tRw9MsfZBjkcuTv9fbdLs6UZCBwHUPBEQXYN?=
 =?us-ascii?Q?c6edfCmz73O8EH5o28jypskpuHjJ9TvzYHqyCOEZhPSo9m/jTH6FCWnzPM9Q?=
 =?us-ascii?Q?5G9vVNQ4YavrPtZfI9lfubfg8vvBqUz3xMMdlKl+4YbSf0MdCkafj8Zo8NQU?=
 =?us-ascii?Q?Gk4yx1UYEWItgJvamBRevpIpnV1UaBkG1ZjTVa18PkQkNxL31FXtRHwPXgDX?=
 =?us-ascii?Q?bmIOMjbCFUwcP4N/ccsR1YuKb7980Gsb?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <372E743CA6CDC84090731B8BE0FF2BB5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7475
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF00009B9C.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3a58e057-3d4f-4cec-6ce0-08dd5a3c5bea
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|14060799003|82310400026|1800799024|35042699022|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?FX2HzHuyILtzw6fXX+St2jOIoRa35ISxwhdoAGHntyHK4rh5yHH4xdm/5EKZ?=
 =?us-ascii?Q?XGX1V3SvzbSi4k1/hIoqiDRxRIV4bXqlKL8UHxQ/yEMEG2vwi4Jlmoowl2Gb?=
 =?us-ascii?Q?1eKt67YS8Zq7XEjRuPCgZfmpJ7dAMopfA91B+mM9jodrYERql+mjQMNDocVT?=
 =?us-ascii?Q?cTwlTSDvpk+SAFhWuRloK93hMB1NoS0jxh8lpkJhuR/wtpHf9Mksyj1Oc1eZ?=
 =?us-ascii?Q?r9Z5JR+LfLkRdOKID9bzbDXQleNu/SgoYlm5jIv6Z36xi6LDwCbYlLSBeNUt?=
 =?us-ascii?Q?n8VB6Oc6duK6RSB0AlpdcYb3iEG8uhPeljg4/PUdtL4UCyOliALqMSZNF9PK?=
 =?us-ascii?Q?nv8kn6dy+TuOkj9JWTR2o7u3X0UsfCwRxPgNVDLnnFu2y4ZmbwuljsCYIL0m?=
 =?us-ascii?Q?c3YKKs/GTO9TaTwfXyQXLMqfpc8uQzYsDTCyMsFmQdPS5jxL7uZEACYyB5da?=
 =?us-ascii?Q?+NlEgjC6ismWiK6fsB0LKQPdQ5Po15ZjzyKT7uy3lLKxoCeAhIg48UHkAns7?=
 =?us-ascii?Q?1xXK0m87K8+eIKocS1Y/1iQnUjK4h7JNkHepY/9oSHCKQ/D8m8AgUf6mes3L?=
 =?us-ascii?Q?V+zSsgVINZyxbWgezUKRI7tAL3HECj1uSfn9YofxBz3KuHNE0lwWkRUDQswU?=
 =?us-ascii?Q?PLVwDqmM/By9C1SKI8xuobq8hjZKdH14fTfl8viJVadVRyMcDeJaTvT86TfS?=
 =?us-ascii?Q?5aMjUoHEgIHlYDzn2ej2Nww7seTgBxq7et9GAdMRghGmQF8P9W1vNnoc2ztl?=
 =?us-ascii?Q?QgtI0QUCH9tC4/RAw91bMTolkuC8Lj3cevRLbVOovIk+OzzgcKgpe+Gxjrq1?=
 =?us-ascii?Q?Gz3iIFJziFLeTVZFoq/JeZW75GL6SqZvGriCt0gwO2LMvpzQSLdWQFFKbsUK?=
 =?us-ascii?Q?Pz2PfTsKldvq0522kYzcXpq3ItBQFFga2h2KOYC9NM6/h+7M75GGafb62utq?=
 =?us-ascii?Q?Sg5/0cwk+rj7BRf3NPCBj3AUtE2o3hDxqSvfl/nNaoG1MwejqugWaRT+qo3v?=
 =?us-ascii?Q?1Cf2L58J5Mwwz/vTiaShon5Q16eVclaHdYlOYZZ2bVXPCyc/1xl8+kW/fiKL?=
 =?us-ascii?Q?qaFwC3JB0dOw748Q/yFpZtLdRCzlJ2h7VY/ktYoR2hVyEJob4zEToko+kKsO?=
 =?us-ascii?Q?86moAXWz4ST1BUgS9YuQ6nkc3mqagpBCrl2EZvDzT2KvwUbmeZNe/Xu1EbHh?=
 =?us-ascii?Q?DafZT7co7Zw6cFWSN9D0e2HfySEAsdJktrSol+/gFNLC0V+QOpT2mWkDOG6+?=
 =?us-ascii?Q?Bnv2reYJXwYh7U6LdqMgp3Bo2m4ySswwaUMyTpA//7/2UbZXBeHIJWYmIAFn?=
 =?us-ascii?Q?Oz95Mlf4y1rJ0awBUH9HVVxvXQZhEy9geUNucFxa0aOpMDt96etiVTPqpR1B?=
 =?us-ascii?Q?Sw3Vpj7V+DjtdOoKWsecip55zKDX5Dqyp7bPwYHjW1wPFH0H0LJdgftxw04p?=
 =?us-ascii?Q?DpyZJsL8rTdsMYceYz3nfMwUG3E1QS2CK+Ml40KF/FIM5eFhZErqHe2D/W2M?=
 =?us-ascii?Q?PHW1pTe9IrLTh20=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(36860700013)(14060799003)(82310400026)(1800799024)(35042699022)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 10:15:56.5195
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b90501e0-3230-4c6b-e78f-08dd5a3c633a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF00009B9C.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5337

Hi Michal,

> On 3 Mar 2025, at 11:13, Orzel, Michal <Michal.Orzel@amd.com> wrote:
>=20
>=20
>=20
> On 03/03/2025 11:08, Bertrand Marquis wrote:
>>=20
>>=20
>> Fix platforms/Kconfig help indent to respect the standard (tab + 2
>> spaces).
>>=20
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>=20
> Do you plan to fix also arch/arm/Kconfig.debug? You could squeeze it in t=
his
> patch as well :)

This one was in my stack of stuff to push after the release.
Happy to also fix Kconfig.debug to.
I will push a v2 with Kconfig.debug

Cheers
Bertrand

>=20
> ~Michal
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:17:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:17:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900121.1308036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2rP-00039p-20; Mon, 03 Mar 2025 10:17:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900121.1308036; Mon, 03 Mar 2025 10:17: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 1tp2rO-00039i-Tx; Mon, 03 Mar 2025 10:17:18 +0000
Received: by outflank-mailman (input) for mailman id 900121;
 Mon, 03 Mar 2025 10:17: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=DNf3=VW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tp2rN-0001Bj-LS
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:17:17 +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 ae35c978-f818-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 11:17:15 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e4cbade42aso6211008a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 02:17:15 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-abf0c6ed7f1sm779447166b.120.2025.03.03.02.17.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 02:17:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae35c978-f818-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1740997035; x=1741601835; 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=f0+RXG1QXdetp1zSU7vRei+8efksYZBck+Kmn79XYV4=;
        b=B5sVZ7AKb/ekwPftOJ45muap1EalSdIgrn9YJwgO+4pcqWUIyhLZBWliV82zvTQtuw
         9MvZi97T8xCrAFF/mMKTy0PiNErioAgVWAJ7JUX26KEV1DPd+GK4mvZkvbAGpz8FCjyM
         Wm7ma4PjZZ9+p7PjQlbDeRrLyd0zsmu/TXkSZRUCn50tfA4q9ou91NO3xeOnATpeu9NQ
         HPYv/qpqUmq/j8a48HiySBEWxtLfWIAT7MiV+p9A738q+PNLNUnvOweQTzmTxKIMEsgh
         0UQxLjbZHCbzTgLwKAGOcRLQYPIpvncwFiH9paVV51mhvd/FGJ4TO3lT98oRW+uDc+Xq
         qKmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740997035; x=1741601835;
        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=f0+RXG1QXdetp1zSU7vRei+8efksYZBck+Kmn79XYV4=;
        b=Q839E6se7419Owyk9NTbhiYOek/AkFGXVZvHTT8LXC+LnCCi6unGk/YzdwOYUQ44MH
         7mFxhlBZsLD9qRlGfh6VK391ulKP0CxkVuITgozpyO/4b4bC02KuxXaLcOeiV0vcRDzA
         aJWKOdP2fMX3YetfqtpcxqBZX70gTyV5Eg8vN/5MmcQQd+qzLVgvb/5pFLSioHxtnaCU
         uu0yb3bVVMgYmg5eX+9hxHi4Vr0ObuZIUaPL5Q9+sIy11WhV6MwxEqewGau8vzf7CTzI
         rBNW8VoxFR/DiX2HDTcF7tyJZSVD5okdVYKXArQejjzpIbSpE132uX6i70NAW4ckNEPo
         aWLg==
X-Gm-Message-State: AOJu0YxMBgkd/6AtllDNu/QHMs4SmEB9BbhviO0WzcX5fGIgA/dqeP4f
	pgLPoOhJ0X0ZEUEViw+8Lb9IZsAsJv3pHYiIkHR/Cm46kshcG03NJ/PgfwnFq0A=
X-Gm-Gg: ASbGncvICG5O0xi+YEHyOvEuYLyECC1GLwwGZranFzkUItP9UA/Bn6p1spliTmpaezF
	tUFwxBwfMfGQNZ4QvdTMjofcGbw6pyvP7aUQuJPzrZGnWPRvHKVohrTZy2hhecqSdg4qekdmue2
	flqs1axKi2+/MxnjT2W3nMhFqLBFvJnHg0j2xWB14Gv7m1w4k7y88hZ7/FiGidXlbCETpfsV2nk
	k/vjzWq5wCRvcQnGKlVPUgS327oTe9wQ98s50i9IArh2shh0E8NE0Y6ynLuYE4o6W9LEARaNdm5
	sDewK6avHaC+3n1FGUJpnUFkKej35WxOyInIgbjRleJNGL9xKG3ZBC0A4CL2kZ36mpSApZlPDvj
	KTbjxi7ZNbuh0seEPpDw9MH7rZ0mAUZanYSvtVoUttu8lHvhq2AuDUQ9aTi/YuQTn0/o=
X-Google-Smtp-Source: AGHT+IGDDYAVEuEcz5HcqD8TrcKxJLGr6peVfb4k1NfRJDuuSCJYGc+m2OsVM8UyRfYFXMraiP9R8w==
X-Received: by 2002:a17:907:7283:b0:abf:6bda:e799 with SMTP id a640c23a62f3a-abf6bdae919mr496785766b.13.1740997035287;
        Mon, 03 Mar 2025 02:17:15 -0800 (PST)
Message-ID: <d807d308-4802-469c-b2e1-a16951b355fc@suse.com>
Date: Mon, 3 Mar 2025 11:17:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] tools/xl: fix channel configuration setting
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org
References: <20250225073033.20972-1-jgross@suse.com> <Z785WyG39EGCRM1y@l14>
 <e49861d8-2f8f-4747-8d26-59b6defce7c1@suse.com> <Z8HzmC4evOxa6yPs@l14>
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: <Z8HzmC4evOxa6yPs@l14>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------anriLwMwn29hV4TmwJ1odSCa"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------anriLwMwn29hV4TmwJ1odSCa
Content-Type: multipart/mixed; boundary="------------xSM10P8wpbDuHRe7rKpWMuE2";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org
Message-ID: <d807d308-4802-469c-b2e1-a16951b355fc@suse.com>
Subject: Re: [PATCH v2] tools/xl: fix channel configuration setting
References: <20250225073033.20972-1-jgross@suse.com> <Z785WyG39EGCRM1y@l14>
 <e49861d8-2f8f-4747-8d26-59b6defce7c1@suse.com> <Z8HzmC4evOxa6yPs@l14>
In-Reply-To: <Z8HzmC4evOxa6yPs@l14>

--------------xSM10P8wpbDuHRe7rKpWMuE2
Content-Type: multipart/mixed; boundary="------------f1YkY7gcfxM0MWTKM8CFbgFG"

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

T24gMjguMDIuMjUgMTg6MzQsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBUaHUsIEZl
YiAyNywgMjAyNSBhdCAwNDoxMDoyNVBNICswMTAwLCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0K
Pj4gT24gMjYuMDIuMjUgMTY6NTUsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPj4+IE9uIFR1
ZSwgRmViIDI1LCAyMDI1IGF0IDA4OjMwOjMzQU0gKzAxMDAsIEp1ZXJnZW4gR3Jvc3Mgd3Jv
dGU6DQo+Pj4+IENoYW5uZWxzIHdvcmsgZGlmZmVyZW50bHkgdGhhbiBvdGhlciBkZXZpY2Ug
dHlwZXM6IHRoZWlyIGRldmlkIHNob3VsZA0KPj4+PiBiZSAtMSBpbml0aWFsbHkgaW4gb3Jk
ZXIgdG8gZGlzdGluZ3Vpc2ggdGhlbSBmcm9tIHRoZSBwcmltYXJ5IGNvbnNvbGUNCj4+Pj4g
d2hpY2ggaGFzIHRoZSBkZXZpZCBvZiAwLg0KPj4+Pg0KPj4+PiBTbyB3aGVuIHBhcnNpbmcg
dGhlIGNoYW5uZWwgY29uZmlndXJhdGlvbiwgdXNlDQo+Pj4+IEFSUkFZX0VYVEVORF9JTklU
X05PREVWSUQoKSBpbiBvcmRlciB0byBhdm9pZCBvdmVyd3JpdGluZyB0aGUgZGV2aWQNCj4+
Pj4gc2V0IGJ5IGxpYnhsX2RldmljZV9jaGFubmVsX2luaXQoKS4NCj4+Pj4NCj4+Pj4gU2ln
bmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4+DQo+Pj4g
VGhpcyBtaWdodCB3YW50IGE6DQo+Pj4gICAgICAgRml4ZXM6IDNhNjY3OTYzNDc2NiAoImxp
YnhsOiBzZXQgY2hhbm5lbCBkZXZpZCB3aGVuIG5vdCBwcm92aWRlZCBieSBhcHBsaWNhdGlv
biIpDQo+Pj4NCj4+PiBCZWZvcmUgdGhhdCwgdGhlIGRldmlkIHNldCBieSBgeGxgIHdhcyBw
cm9iYWJseSBpZ25vcmVkLiBJIHRoaW5rIGJlZm9yZSwNCj4+PiB0aGUgY29uc29sZSBkZXZp
ZCB3b3VsZCBiZSB0YWtlbiBmcm9tIGxpYnhsX19pbml0X2NvbnNvbGVfZnJvbV9jaGFubmVs
KCkNCj4+PiBwYXJhbWV0dGVycywgc28gdGhlIGZpcnN0IGRldm51bSB3b3VsZCBiZSBgMCsx
YCwgc28gbmV2ZXIgMC4NCj4+Pg0KPj4+IERvIHlvdSBhZ3JlZT8NCj4+DQo+PiBJJ20gbm90
IHN1cmUgSSBkby4gVGhlIHVzZSBvZiBBUlJBWV9FWFRFTkRfSU5JVCgpIGluIHhsX3BhcnNl
LmMgcHJlZGF0ZXMNCj4+IGNvbW1pdCAzYTY2Nzk2MzQ3NjYsIHNvIHRoZXJlIGlzIGNlcnRh
aW5seSBtb3JlIHRoYW4gb25lIHBvdGVudGlhbCBGaXhlczoNCj4+IGNhbmRpZGF0ZS4NCj4g
DQo+IE9mIGNvdXJzZSwgdGhpcyB3YXMgbXkgZmlyc3QgY2FuZGlkYXRlIGFzIHdlbGwsIGJ1
dCB0aGF0J3MgcGFydCBvZiB0aGUNCj4gb3JpZ2luYWwgaW50cm9kdWN0aW9uIG9mIGNoYW5u
ZWwgdG8gdGhlIHNvdXJjZSBjb2RlLCBzbyBpdCBkaWRuJ3QgcmVhbGx5DQo+IG1ha2Ugc2Vu
c2UgdG8gdGhhdCB0aGUgZmVhdHVyZSB3YXMgY29tbWl0ZWQgd2l0aCBkZXZpZD0wLCBzdXJl
bHkgaXQNCj4gd291bGQgYWxyZWFkeSBiZWVuIGFuIGlzc3VlIGF0IHRoZSB0aW1lLiBUaGlz
IGlzIHdoeSBJIHN0YXJ0IGxvb2tpbmcNCj4gaW4gbGlieGwgb24gaG93IGRldmlkIHdhcyB1
c2VkLg0KPiANCj4+IFNvIGF0IGxlYXN0IGZvciB0aGUgeGwgY2FzZSBjb21taXQgM2E2Njc5
NjM0NzY2IGlzbid0IHJlbGV2YW50LCBhbmQgbXkgcGF0Y2gNCj4+IGlzIGZpeGluZyB0aGUg
eGwgY2FzZSBvbmx5Lg0KPiANCj4gTGFzdCB0aW1lIEkgY2hlY2ssIGB4bGAgaXMgdXNpbmcg
bGlieGwsIHNvIGFueSBjaGFuZ2UgdG8gbGlieGwgY2FuDQo+IGltcGFjdCB4bC4NCg0KT2Yg
Y291cnNlLCBidXQgd2l0aCB4bCBkZXZpZCB3YXMgbmV2ZXIgLTEsIHNvIDNhNjY3OTYzNDc2
NiBzaG91bGRuJ3QgbWFrZQ0KYSBkaWZmZXJlbmNlLg0KDQo+IEJlZm9yZSAzYTY2Nzk2MzQ3
NjYsIGNoYW5uZWwjMCB3b3VsZCBiZSBjb25uZWN0ZWQgdG8gY29uc29sZSMxIGJlY2F1c2UN
Cj4gbGlieGxfX2luaXRfY29uc29sZV9mcm9tX2NoYW5uZWwoKSB3YXMgY2FsbGVkIHdpdGgg
ZGV2X251bT1gY2hhbm5lbCMrMWAsDQo+IGFuZCAkZGV2X251bSB3YXMgdXNlZCB0byBzZXQg
Y29uc29sZS5kZXZpZC4NCj4gDQo+IEFmdGVyIDNhNjY3OTYzNDc2Niwgd2UgaGF2ZSBjb25z
b2xlLmRldmlkPWNoYW5uZWwuZGV2aWQ9ZGV2X251bSBpZg0KPiBjaGFubmVsLmRldmlkIGlz
IC0xLCBvciBjb25zb2xlLmRldmlkPWNoYW5uZWwuZGV2aWQuDQo+IA0KPiBXaXRob3V0IDNh
NjY3OTYzNDc2NiwgaGF2aW5nIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCB3aXRoIGRldmlkPS0x
IHdvdWxkDQo+IHJlc3VsdCBpbiBmYWlsaW5nIHRvIHN0YXJ0IGR1ZSB0byBoYXZpbmcgbW9y
ZSB0aGFuIG9uZSBjaGFubmVsIHdpdGggdGhlDQo+IHNhbWUgZGV2aWQuDQoNCkRvIHlvdSBo
YXZlIGFueSBwcm92ZSB0aGF0IG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBldmVyIHdvcmtlZD8N
Cg0KPiANCj4gU28gdGhlIG9ubHkgZ29vZCBjYW5kaWRhdGUgaXM6DQo+IEZpeGVzOiAzYTY2
Nzk2MzQ3NjYgKCJsaWJ4bDogc2V0IGNoYW5uZWwgZGV2aWQgd2hlbiBub3QgcHJvdmlkZWQg
YnkgYXBwbGljYXRpb24iKQ0KDQpJbiB0aGUgZW5kIEkgZG9uJ3QgZmVlbCBzdHJvbmcgd2l0
aCB0aGlzLiBJZiB5b3UgcmVhbGx5IHdhbnQsIEkgY2FuIGFkZA0KdGhpcyBGaXhlcyB0YWcu
DQoNCj4gQWxzbywgSSdtIG5vdCBzdXJlIGNoYW5uZWxzIGFyZSBnb2luZyB0byB3b3JrIHBy
b3Blcmx5IGlmIHRoZXJlJ3MgbW9yZQ0KPiB0aGFuIG9uZSBjb25zb2xlLCBsb3RzIG9mIGNv
ZGUgc2VlbXMgdG8gYXNzdW1lDQo+IGNvbnNvbGUuZGV2aWQ9Y2hhbm5lbC5kZXZpZCsxLCBh
bmQgdGhlcmUncyBwcm9iYWJseSBvdGhlciBpc3N1ZXMuDQoNCkkgYmVsaWV2ZSBjaGFubmVs
cyBhcmUgbm90IHRlc3RlZCBhIGxvdC4NCg0KDQpKdWVyZ2VuDQo=
--------------f1YkY7gcfxM0MWTKM8CFbgFG
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-----

--------------f1YkY7gcfxM0MWTKM8CFbgFG--

--------------xSM10P8wpbDuHRe7rKpWMuE2--

--------------anriLwMwn29hV4TmwJ1odSCa
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/Ey8FAmfFgaoFAwAAAAAACgkQsN6d1ii/Ey90
+Qf9Fu5rSlg/ewSAUAQoL9CZbr/vcZD44w4yIA1M0zsj12PCEjypN3Fss4wnJTpWucSIKAjuU4FI
5jwiqT9c46id2tIpmQDmN/a0bkojsBwzrlJnZtgBHRSzeQ+7SRa5GKDHuXb2W/tWTjUPMtyB5JBP
Zv32xOTYXYup9T4pJCXP2bUXgOBRGqDuuQRDp+0XKQPvalCBoX1MAfm7nWwvZQlswuRk+Rotu3Tr
+328WkIrXA0KejJ/kSXF3setbRSFfO2HYl9wGjC1iSe5BhKfdhb1FmZDZxXYtmwcE2SZX8jfSJ5n
DmeHcc3waZDY+X2eXD3wWMEMqAT1W4b1Wxt4NHymyQ==
=2x4I
-----END PGP SIGNATURE-----

--------------anriLwMwn29hV4TmwJ1odSCa--


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:17:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:17:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900125.1308045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2rg-0003VO-7r; Mon, 03 Mar 2025 10:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900125.1308045; Mon, 03 Mar 2025 10:17: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 1tp2rg-0003VH-4q; Mon, 03 Mar 2025 10:17:36 +0000
Received: by outflank-mailman (input) for mailman id 900125;
 Mon, 03 Mar 2025 10:17: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp2rf-000393-9r
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:17:35 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20631.outbound.protection.outlook.com
 [2a01:111:f403:2416::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b88b76c0-f818-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 11:17:34 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS0PR12MB6461.namprd12.prod.outlook.com (2603:10b6:8:c7::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.21; Mon, 3 Mar
 2025 10:17:30 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 10:17: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: b88b76c0-f818-11ef-9ab2-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ON6qeQbp2r8/rV1BNVxdYndceZArNxOCqaczz94r/8bbXw360imrktqYkdiDbP4RFK0VC7JUWiXfTUniYv9mIpVeXnO6t/7XsPpvueqvbIJATVjXoCF9oeJNHfuR8Lvj3oQJUvECocosAAOgUwbVJtxDfFULD9Sakk19pEZRC7SzO61XVvtD8Fkbjz4nnxEydrFvqvsYE7uOyYwvUDqGC+ymm0S+kcEUt1+Sp2gG4necS6vECdgBQQd9AMtUSePR8M9RrkuDfQ9xY8XWas5tdUZgUROpp6F3BmqTB1MqvNsnGWikkM8RlsSZV+TqqcnVXHaxlwxkNAkRCRl1GhTKnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tjnPGx+SW6SUeYSsfWN613+7fjuP7Vcfl9cO3fwRNN0=;
 b=YWuzV722qUtZGYwHgeOqSHhMhKoxxKF2Y2dLZdeUJGx0aiHCfc2MzMFz5NjRdWKMxyQzqUv28t26kpb8gVs15El7MPffAtOo0ksk08wEfg5RaU+vmbgg+IKgAmG2LyzUkLaF/er5Oir00qDNe7XRm9sDLOV1SNe/qm6bKJ7mdiC71ghrrgmUzb10i7cBewnxJouSvIrdBVKyELS+LJewXXRUFEFQwk7lfVs+85OQ5c1P/HimZObrnneFnW6KCUJHxpa7fiUf4+hKCwv9PYPaIe1WrmCiW/kFMOh3ZMETfskRvCie/QtJS9kY4H7Wfl/B5YFNHTbVrV7Qr+ZefPbYPg==
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=tjnPGx+SW6SUeYSsfWN613+7fjuP7Vcfl9cO3fwRNN0=;
 b=Gek5QmIne/bZlyg6p7UrB6AHsN5Vu1i7k2tm6HE+OOdqdbSkWYR2yqzgiEblU9TRl9UwOCGJew3ZQ6wW9W91XJi5y0uKYPu7n2FAnJhardWVLEH088xazMW6u3d5bqYbRdrLImMQ7wRXqv2rO+1G3+xCiBqOdyaRevyFbJrmRv8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <3c84bece-9d18-47db-ba96-f4aa8b14066f@amd.com>
Date: Mon, 3 Mar 2025 11:17:26 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Fix platforms Kconfig indent
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <449a9f85d07aca65f607944c4bdab850760c9445.1740996436.git.bertrand.marquis@arm.com>
 <91efefb1-11e3-41d2-a098-3124cef6578e@amd.com>
 <14E001BC-6308-4F6A-BFBB-D6FD71883A07@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <14E001BC-6308-4F6A-BFBB-D6FD71883A07@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS0PR12MB6461:EE_
X-MS-Office365-Filtering-Correlation-Id: 91522ac1-02ad-408c-f9b9-08dd5a3c9b3d
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?V0xVakNKTWpGWEZhbE90L0tyc3pwbmhtdk50QTVNdHlkT08wcEU3bzRzZWR1?=
 =?utf-8?B?cmtXenVuQjRrMTFBaHFiTzdXcFhSTmRRRjVYbVZxY0xIZTZBME9RUDZ0M2Rs?=
 =?utf-8?B?S0JOd0NSc3JYVERDbjhLa2RGa2dTeHZZVFFnRnJtdVpGL1FXVTJ3cDFTaGRB?=
 =?utf-8?B?WlZzaVMzMHY5WS9TNVFJRjhVaHZYMHNVRGo3TXJJaWIxMzNHSVdNY2FUV1Vw?=
 =?utf-8?B?dEYrTkMvdnBTLzhEYXpCTS9uYXVDR0ljTCthQ1J6TU1qUDZXalNmcGFCUDhI?=
 =?utf-8?B?ZzNTY3VzVklsVmJCYkNpbzJNblBJbXNHRGdZTlhSZnZFbmdMdDVOaGoxTGhO?=
 =?utf-8?B?eGhpaDFtd1ZqUk11d1dMVDdaMTlMblpSU1YxeHdsRkZtV0MzSmZpamJBTTZv?=
 =?utf-8?B?cGxPbGwyK1hOb3FpajRvQ0k2MDFQV0EyZFlXVDdiN3RLOGZWYy8zaUtsaWtI?=
 =?utf-8?B?VlJiWXkrdFVIcU1ZU2N5TUJMVFpNa1BlaDEwWC82NkJxdEpyYWRrK0dhYVBQ?=
 =?utf-8?B?cWUvZ003dEtxWi93cFJhaUlYQmxoUkFpb0pUcmdtZnJncmVCVnJjYURtNmkw?=
 =?utf-8?B?bHdlMFBzSFBNMHEwMm00MDhvemNZVE9CaCs1MEJEWmppNWliVTc5VG01Tjhv?=
 =?utf-8?B?bEVYOTZ5SVB1QUFPNTUzdEVsNDNuUlptMS81UDlCcnZZbkRiSkhFVGRVQ2FO?=
 =?utf-8?B?SUxYbUZHaFhvOXFvdkVmZ1FYL2lrcEhvQzBpMFRoN3VlbktIZ3BOemZtR3Qy?=
 =?utf-8?B?NnhZNW5LbkZYMGtQMkllL0NsT05NNVN5UXQweGpyRFdJaWF5ZlVaUGJiMjFr?=
 =?utf-8?B?NjRVSFdxN24xV2ZMaDRPQ0dIVEJmZG8zdTlKWFBSblR4cmtVL2plZ2NwR21j?=
 =?utf-8?B?MWhkUVRzYmlWQmgvQ3lyVHZua1pJNVRFelZBM2k1b1pqUEdSdWhjTFJmSUll?=
 =?utf-8?B?U1JLV08vN3IybE5zam5UaVcrdW5XUStORlpuMk1waUQ3RWVxOW9NTUV2NjFV?=
 =?utf-8?B?Z05EWUhsVk45Ukd5akJpRERka25MQkZFdEF6OStueVJjajZYRGYzYVBuVVJv?=
 =?utf-8?B?Ni9ZTWNZL2tldjYrUTR3NkNHRzdxemtUQ1VmTmZKVFFOVHZMNjA4eWFJbUxu?=
 =?utf-8?B?Y3JpNG9iLzQzSVNUQk5INjFMWjdNekNmM2lpeGQwazZiOVVjUWd0VThjODcv?=
 =?utf-8?B?bFUyeFJzY0ZMNWJPT1pYSzRnVHI1aUh5YXp4T25iNzJPaHlPQ2pPY1gvMEo3?=
 =?utf-8?B?bXh0ZFprcWZmUm9NOCs2VlRxWlJUaDdnaGlJeTNyUWo0THFJa2NRV3h2bDJG?=
 =?utf-8?B?cFFrZy9WTTArOThDdzBrZ214akJmTDlXV2dsaG44VE5xZDUyamN1dWZ6c3Vj?=
 =?utf-8?B?MXQ1RWF2SlBSSWgxQ1AwTzdSMDFFSWlhQzdHNi9aZnlaM2JhY3ErVjd5NnRY?=
 =?utf-8?B?VGxnZWlYbXlxMGhvWFBBcUFURlZqSGZjbUpMbFFEZGlJK1JMZTc4Nm5za01m?=
 =?utf-8?B?M1FtYlZlZjBHUEdGaWd0dCtoUzJEblhmaUpSeW9NODU5b2pqK05zL05ENVo3?=
 =?utf-8?B?ejBHbVNhRlI1bHEzQi9GMDFRRjUrSXhidGlLQmFtYndMYkwrdmoxbHcxK09y?=
 =?utf-8?B?eHlOZC9RZ3NVdC8xdEhxMEhOeGVRVEpzd1h2YkJxTlZEVkgrWFlZNEtPbGxn?=
 =?utf-8?B?anQ1K2R1QWtDUGRzNVBsaWJBZkh4dXBnbXU1dEZVK3ZBSGNyZ0tHTG5NbEdy?=
 =?utf-8?B?SENTUEQvSWw0TEdJOEw4YzdhSXFlOHRuM2ZJdzZWT3FiTVZsZUR5SmNxOE92?=
 =?utf-8?B?R3RaZzNVSkJlYTVYVXJMaUVEemNzcUJ5cXFlWUdNYnhaZkdINVUrbS9HQk5m?=
 =?utf-8?Q?wqno63HfjEFKh?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?V1Fmc2dDNC9GMnhON2lqUVA5blQvN2ZEVzJTVUxtQ3JZUnExSVI5RmpFWnVa?=
 =?utf-8?B?aFNYc3R1ajVYSVZWUEw5bVI3QkdGaldCcXBLdXJLM1o1a01ZcnNoTTluRkN3?=
 =?utf-8?B?eXlpenBPVFVReDdIbkZFYXl2Wmg5dXFmd2JiQktwUlZQakc3SnVOdk5HbEtY?=
 =?utf-8?B?aG1CWGVEWm9WdXB5aFU0b05QZmFQYmZTc0VheWVrcWZralYvTGg0N0FkZlRX?=
 =?utf-8?B?YkJ5NHhPc3lXTXdPbHFWd0J1akNEVnlGTk1vUFVVbE83dmZOaGF5V2VuRUlt?=
 =?utf-8?B?YWxLd0ZieFh3bmVQT04zYlpSeGJYSTBhbzUwOWlBMEVvUzlGMUVyZlUzZFhM?=
 =?utf-8?B?cGNoSmthazJWZDl6Y2Y3OXdCZVZVckFFU2lodEJEaHRhZFM2U01Fb0FDMmFY?=
 =?utf-8?B?NS9RNGREeEFCUTlCNUE3SVNsVkVtN1laVjk1bEtQaEVwblJwcS9pSVNxdnZt?=
 =?utf-8?B?cXh4UkRjSUhuKzJZUFo1c0c4OHdyaGNtZ01VQ0k5RktKVnVDRVNBOTlMUURS?=
 =?utf-8?B?am5sUzRUekNKSlZ4UVpMN044VVM4cEVhNkQ4bzFYeXZ6alUxeGFRSXFDbGRH?=
 =?utf-8?B?ODV4bmZaTWUzMWp3S2lGbFE1dlNIRnhkdlc2bTdoZTVId2p1cU5pSDlBbU1C?=
 =?utf-8?B?Z3Nrc1JQVmlpMnoyNDc1cUc4MDNwcWJVN2IxWGdJa0d4L0xLTE9MdzR2bjJZ?=
 =?utf-8?B?eGVtS3Y5Y1BPWllEQkp6SjIraXB1WTYwYWczdS9zcEJUckpSUnI3SWtMWmhl?=
 =?utf-8?B?NWpCYnVHYndHdzlDb0hxQTdSbkdaVGZvY2xlVFNUM0F0YU9CNk1tN0gyZ2Iz?=
 =?utf-8?B?UmtkRDhOa1Y0dlJwUjgrV3BWSDVacVRRbk9XNU10YU9jUHVlaHRQVXQwYXNO?=
 =?utf-8?B?TTJWb0lJeHNMU3BGTkpxNWFIeTdsSHJDY0Rvc2FTaFBjZ1NHRlc5Zml4ei9P?=
 =?utf-8?B?Y2hiK285S1paSEhheWNWZ1ZPVDFVams5YzVVTGFNZklZVzdES3NEYzNCWlNJ?=
 =?utf-8?B?TmVMNU1OZWprOVpNNHNIQXZwbUt4cm9MbnpKZVhOZDY5T2FsMEZsekI0Tngx?=
 =?utf-8?B?OHVDdk42SDkrbkdDWG0wdDFZVHVrT3M1WnFGZE01S0xLaG9ROUd1ZjI0K0gw?=
 =?utf-8?B?d3ArM0VzSVZ2Z014UWh2UnR5c1drQ25yWXZqbno4aDEwNjdHOXpDMnl5WDYr?=
 =?utf-8?B?cUVWeDhCT3ZKaG1WVFdPVG14OE9hakpjMUF6QWd2c3NjUUs0d1o5WEpvTXhR?=
 =?utf-8?B?NDFCanoySEVtelNDcWlyVVNSemFCUWl2K1ZTTmhEWnlmVzZIMWN2ZHZvbUo3?=
 =?utf-8?B?Y2JDQ0UxdkkxUGNKZlc3WFduM29SNXIxS2xhZmplaFduR1hIRTFxR1ZJa1pN?=
 =?utf-8?B?RXVlcVpXVEFwZEJmbGlvYlNBMXZrN3QvRGQyaXhtZjVXWVNBMExudVhqNWkw?=
 =?utf-8?B?YzY5S251QldyRWwrelNzRDhreWErMXEvbmJZQlV6Z244ZWdoUnYzb2lNTCtC?=
 =?utf-8?B?cVBWdkk5cnNqNnYxRXdtaCtBelhZOE9qblFXZzNtZkowdkhXbFVubWhLeUEz?=
 =?utf-8?B?eWtBN3gwNHQ0LzJaZkxyWVNVUExpdTRHWm84T2lEbWVWUVFzekdWVTJMNDM4?=
 =?utf-8?B?QVhLQkxoeVZNbDBUWjdrMmJBMUJnajYzMEZjN2pydmpucVJKdkpadVllcTNP?=
 =?utf-8?B?OC94SnhiaFNvcjJtM1BQdXExazhEV0dOSkFaN3BYendta2kxTytBWW5jQXV5?=
 =?utf-8?B?WkpMb25qdG4vZFNRSmZZbjlKOHRTdWhmcW9JaWNxS0g2WUcwQWtMS2tySWd6?=
 =?utf-8?B?ZkM3cFF6b1AraFdPeTZCaWZMY0ZEWDh6Ujgyc1NLcmdKamdoa2V4a1B1TU5X?=
 =?utf-8?B?Sm5iSkFxMTA5NDRqV2dxYW5JN0JQdFNtdWo3Z29nQlVheklwbWpLQTlOVDA2?=
 =?utf-8?B?RWcxZ2dXdlZhWW1iMUFkZ0ZheUUvRmZJd3QzUysyWDh3ZGV6NC94UnIxR3Rn?=
 =?utf-8?B?cWZnUnpaSEI3eWwxWUpWeDhEbzdZZ04yT3BJMFhQTVlFdjRlUnRtSWFCWmNK?=
 =?utf-8?B?S0tCZ1JkcFV3cjgrTU55ZG5RellpditZRkhjRU54cVdBU1RrdUJmMGVERndB?=
 =?utf-8?Q?ebQY=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91522ac1-02ad-408c-f9b9-08dd5a3c9b3d
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 10:17:30.7026
 (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: Fj5DrDFaRy8+Rr+JsoQsr/Yd9xD7/+8lcPurk6LTaqWzi0gjqWnPY7bitrlj5JPN
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6461



On 03/03/2025 11:15, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 3 Mar 2025, at 11:13, Orzel, Michal <Michal.Orzel@amd.com> wrote:
>>
>>
>>
>> On 03/03/2025 11:08, Bertrand Marquis wrote:
>>>
>>>
>>> Fix platforms/Kconfig help indent to respect the standard (tab + 2
>>> spaces).
>>>
>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>
>> Do you plan to fix also arch/arm/Kconfig.debug? You could squeeze it in this
>> patch as well :)
> 
> This one was in my stack of stuff to push after the release.
> Happy to also fix Kconfig.debug to.
> I will push a v2 with Kconfig.debug
Thank you very much. Feel free to retain the Rb tag.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:22:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900137.1308055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp2wE-0006IR-Po; Mon, 03 Mar 2025 10:22:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900137.1308055; Mon, 03 Mar 2025 10:22: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 1tp2wE-0006IK-MB; Mon, 03 Mar 2025 10:22:18 +0000
Received: by outflank-mailman (input) for mailman id 900137;
 Mon, 03 Mar 2025 10:22: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp2wD-0006IE-MR
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:22:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5db8801e-f819-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 11:22:10 +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 F08EC12FC;
 Mon,  3 Mar 2025 02:22:23 -0800 (PST)
Received: from [10.1.26.155] (XHFQ2J9959.cambridge.arm.com [10.1.26.155])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7EC963F66E;
 Mon,  3 Mar 2025 02:22:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5db8801e-f819-11ef-9898-31a8f345e629
Message-ID: <1ff509c7-187b-4e43-b266-db8ada33b9a2@arm.com>
Date: Mon, 3 Mar 2025 10:22:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
Content-Language: en-GB
To: David Hildenbrand <david@redhat.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
 <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
 <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
From: Ryan Roberts <ryan.roberts@arm.com>
In-Reply-To: <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/03/2025 08:52, David Hildenbrand wrote:
> On 03.03.25 09:49, David Hildenbrand wrote:
>> On 02.03.25 15:55, Ryan Roberts wrote:
>>> The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
>>> is a bit of a mess (to put it politely). There are a number of issues
>>> related to nesting of lazy mmu regions and confusion over whether the
>>> task, when in a lazy mmu region, is preemptible or not. Fix all the
>>> issues relating to the core-mm. Follow up commits will fix the
>>> arch-specific implementations. 3 arches implement lazy mmu; powerpc,
>>> sparc and x86.
>>>
>>> When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
>>> 6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
>>> expected that lazy mmu regions would never nest and that the appropriate
>>> page table lock(s) would be held while in the region, thus ensuring the
>>> region is non-preemptible. Additionally lazy mmu regions were only used
>>> during manipulation of user mappings.
>>>
>>> Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
>>> updates") started invoking the lazy mmu mode in apply_to_pte_range(),
>>> which is used for both user and kernel mappings. For kernel mappings the
>>> region is no longer protected by any lock so there is no longer any
>>> guarantee about non-preemptibility. Additionally, for RT configs, the
>>> holding the PTL only implies no CPU migration, it doesn't prevent
>>> preemption.
>>>
>>> Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
>>> arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
>>> set_ptes(), used by x86. So after this commit, lazy mmu regions can be
>>> nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
>>> page table range API") and commit 9fee28baa601 ("powerpc: implement the
>>> new page table range API") did the same for the sparc and powerpc
>>> set_ptes() overrides.
>>>
>>> powerpc couldn't deal with preemption so avoids it in commit
>>> b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
>>> which explicitly disables preemption for the whole region in its
>>> implementation. x86 can support preemption (or at least it could until
>>> it tried to add support nesting; more on this below). Sparc looks to be
>>> totally broken in the face of preemption, as far as I can tell.
>>>
>>> powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
>>> ("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
>>> which removes the lazy mmu calls from its implementation of set_ptes().
>>> x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
>>> nesting of same lazy mode") but as far as I can tell, this breaks its
>>> support for preemption.
>>>
>>> In short, it's all a mess; the semantics for
>>> arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
>>> result the implementations all have different expectations, sticking
>>> plasters and bugs.
>>>
>>> arm64 is aiming to start using these hooks, so let's clean everything up
>>> before adding an arm64 implementation. Update the documentation to state
>>> that lazy mmu regions can never be nested, must not be called in
>>> interrupt context and preemption may or may not be enabled for the
>>> duration of the region.
>>>
>>> Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
>>> called in pagemap_scan_pmd_entry() to follow the normal pattern of
>>> holding the ptl for user space mappings. As a result the scope is
>>> reduced to only the pte table, but that's where most of the performance
>>> win is. While I believe there wasn't technically a bug here, the
>>> original scope made it easier to accidentally nest or, worse,
>>> accidentally call something like kmap() which would expect an immediate
>>> mode pte modification but it would end up deferred.
>>>
>>> arch-specific fixes to conform to the new spec will proceed this one.
>>>
>>> These issues were spotted by code review and I have no evidence of
>>> issues being reported in the wild.
>>>
>>
>> All looking good to me!
>>
>> Acked-by: David Hildenbrand <david@redhat.com>
>>
> 
> ... but I do wonder if the set_ptes change should be split from the pagemap change.

So set_ptes + docs changes in one patch, and pagemap change in another? I can do
that.

I didn't actually cc stable on these, I'm wondering if I should do that? Perhaps
for all patches except the pagemap change?

Thanks for the quick review!


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:27:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900150.1308064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp31A-0006wQ-CX; Mon, 03 Mar 2025 10:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900150.1308064; Mon, 03 Mar 2025 10:27: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 1tp31A-0006wJ-A4; Mon, 03 Mar 2025 10:27:24 +0000
Received: by outflank-mailman (input) for mailman id 900150;
 Mon, 03 Mar 2025 10:27: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=W32C=VW=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1tp318-0006wD-Hx
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:27:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 17253ec7-f81a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 11:27:21 +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 10AA5113E;
 Mon,  3 Mar 2025 02:27:35 -0800 (PST)
Received: from C3HXLD123V.arm.com (unknown [10.57.37.154])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4B6B43F66E;
 Mon,  3 Mar 2025 02:27:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17253ec7-f81a-11ef-9ab2-95dc52dad729
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] xen/arm: Fix platforms Kconfig indent
Date: Mon,  3 Mar 2025 11:27:15 +0100
Message-ID: <fdf893f3d685ad48340ae8c11ecf0723523c35ad.1740997574.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fix platforms/Kconfig and Kconfig.debug help ident to respect the
standard (tab + 2 spaces).
While there also move some default in Kconfig.debug before the help
message.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- also fix help indent in Kconfig.debug
---
 xen/arch/arm/Kconfig.debug     | 82 +++++++++++++++++-----------------
 xen/arch/arm/platforms/Kconfig | 20 ++++-----
 2 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
index 84a0616102f2..5a03b220ac9e 100644
--- a/xen/arch/arm/Kconfig.debug
+++ b/xen/arch/arm/Kconfig.debug
@@ -2,85 +2,85 @@ choice
 	bool "Early printk"
 	optional
 	help
-		You may want to enable early printk if you are debugging code
-		that executes before the console is initialized.
+	  You may want to enable early printk if you are debugging code
+	  that executes before the console is initialized.
 
-		Note that selecting this option will limit Xen to a single UART
-		definition. Attempting to boot Xen image on a different
-		platform *will not work*, so this option should not be enable
-		for Xens that are intended to be portable.
+	  Note that selecting this option will limit Xen to a single UART
+	  definition. Attempting to boot Xen image on a different
+	  platform *will not work*, so this option should not be enable
+	  for Xens that are intended to be portable.
 
-		Choose one of the UART drivers for early printk, then you'll
-		have to specify the parameters, like the base address.
+	  Choose one of the UART drivers for early printk, then you'll
+	  have to specify the parameters, like the base address.
 
 	config EARLY_UART_CHOICE_8250
 		select EARLY_UART_8250
 		bool "Early printk via 8250 UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a 8250 UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a 8250 UART.
 
 	config EARLY_UART_CHOICE_CADENCE
 		select EARLY_UART_CADENCE
 		depends on ARM_64
 		bool "Early printk via Cadence UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a Cadence UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a Cadence UART.
 
 	config EARLY_UART_CHOICE_EXYNOS4210
 		select EARLY_UART_EXYNOS4210
 		depends on ARM_32
 		bool "Early printk via Exynos4210 UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a Exynos 4210 UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a Exynos 4210 UART.
 
 	config EARLY_UART_CHOICE_IMX_LPUART
 		select EARLY_UART_IMX_LPUART
 		depends on ARM_64
 		bool "Early printk via i.MX LPUART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a i.MX LPUART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a i.MX LPUART.
 
 	config EARLY_UART_CHOICE_LINFLEX
 		select EARLY_UART_LINFLEX
 		depends on ARM_64
 		bool "Early printk via NXP LINFlexD UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to an NXP LINFlexD UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to an NXP LINFlexD UART.
 
 	config EARLY_UART_CHOICE_MESON
 		select EARLY_UART_MESON
 		depends on ARM_64
 		bool "Early printk via MESON UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a MESON UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a MESON UART.
 
 	config EARLY_UART_CHOICE_MVEBU
 		select EARLY_UART_MVEBU
 		depends on ARM_64
 		bool "Early printk via MVEBU UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a MVEBU UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a MVEBU UART.
 
 	config EARLY_UART_CHOICE_PL011
 		select EARLY_UART_PL011
 		bool "Early printk via PL011 UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a PL011 UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a PL011 UART.
 
 	config EARLY_UART_CHOICE_SCIF
 		select EARLY_UART_SCIF
 		bool "Early printk via SCIF UART"
 		help
-			Say Y here if you wish the early printk to direct their
-			output to a SCIF UART.
+		  Say Y here if you wish the early printk to direct their
+		  output to a SCIF UART.
 
 endchoice
 
@@ -131,15 +131,14 @@ config EARLY_UART_SIZE
 config EARLY_UART_PL011_BAUD_RATE
 	depends on EARLY_UART_PL011
 	int "Early printk UART baud rate for pl011"
+	default 0
 	help
-		Optionally sets the baud rate which should be used to configure
-		the UART at start of day.
-
-		If EARLY_UART_PL011_BAUD_RATE is set to 0 then the code will
-		not try to initialize the UART, so that bootloader or firmware
-		settings can be used for maximum compatibility.
+	  Optionally sets the baud rate which should be used to configure
+	  the UART at start of day.
 
-	default 0
+	  If EARLY_UART_PL011_BAUD_RATE is set to 0 then the code will
+	  not try to initialize the UART, so that bootloader or firmware
+	  settings can be used for maximum compatibility.
 
 config EARLY_UART_PL011_MMIO32
 	bool "32-bit only MMIO for PL011 early printk"
@@ -155,24 +154,25 @@ config EARLY_UART_INIT
 config EARLY_UART_8250_REG_SHIFT
 	depends on EARLY_UART_8250
 	int "Early printk, left-shift to apply to the register offsets within the 8250 UART"
+	default 0
 	help
-		EARLY_UART_8250_REG_SHIFT is, optionally, the left-shift to
-		apply to the register offsets within the UART with early
-		printk.
+	  EARLY_UART_8250_REG_SHIFT is, optionally, the left-shift to
+	  apply to the register offsets within the UART with early
+	  printk.
 
-		Default to 0.
+	  Default to 0.
 
-	default 0
 
 choice EARLY_UART_SCIF_VERSION
 	prompt "Early printk UART SCIF interface version"
 	depends on EARLY_UART_SCIF
 	default EARLY_UART_SCIF_VERSION_NONE
 	help
-		Select the interface version of the SCIF UART.
+	  Select the interface version of the SCIF UART.
+
+	  Select EARLY_UART_SCIF_VERSION_NONE to use the default
+	  interface version (SCIF).
 
-		Select EARLY_UART_SCIF_VERSION_NONE to use the default
-		interface version (SCIF).
 	config EARLY_UART_SCIF_VERSION_NONE
 		bool "default SCIF UART interface"
 	config EARLY_UART_SCIF_VERSION_A
diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index 6dbf6ec87b1d..b938de329762 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -2,15 +2,15 @@ choice
 	prompt "Platform Support" if MMU
 	default ALL_PLAT
 	help
-	Choose which hardware platform to enable in Xen.
+	  Choose which hardware platform to enable in Xen.
 
-	If unsure, choose ALL_PLAT.
+	  If unsure, choose ALL_PLAT.
 
 config ALL_PLAT
 	bool "All Platforms"
 	help
-	Enable support for all available hardware platforms. It doesn't
-	automatically select any of the related drivers.
+	  Enable support for all available hardware platforms. It doesn't
+	  automatically select any of the related drivers.
 
 config QEMU
 	bool "QEMU aarch virt machine support"
@@ -18,8 +18,8 @@ config QEMU
 	select GICV3
 	select HAS_PL011
 	help
-	Enable all the required drivers for QEMU aarch64 virt emulated
-	machine.
+	  Enable all the required drivers for QEMU aarch64 virt emulated
+	  machine.
 
 config RCAR3
 	bool "Renesas RCar3 support"
@@ -27,7 +27,7 @@ config RCAR3
 	select HAS_SCIF
 	select IPMMU_VMSA
 	help
-	Enable all the required drivers for Renesas RCar3
+	  Enable all the required drivers for Renesas RCar3
 
 config MPSOC
 	bool "Xilinx Ultrascale+ MPSoC support"
@@ -35,7 +35,7 @@ config MPSOC
 	select HAS_CADENCE_UART
 	select ARM_SMMU
 	help
-	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
+	  Enable all the required drivers for Xilinx Ultrascale+ MPSoC
 
 config S32G3
 	bool "NXP S32G3 Processors support"
@@ -43,12 +43,12 @@ config S32G3
 	select HAS_LINFLEX
 	select SCMI_SMC
 	help
-	Enable all the required drivers for NXP S32G3 Processors Family
+	  Enable all the required drivers for NXP S32G3 Processors Family
 
 config NO_PLAT
 	bool "No Platforms"
 	help
-	Do not enable specific support for any platform.
+	  Do not enable specific support for any platform.
 
 endchoice
 
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:30:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:30:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900159.1308075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp33q-0008Nb-Pu; Mon, 03 Mar 2025 10:30:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900159.1308075; Mon, 03 Mar 2025 10:30: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 1tp33q-0008NU-N8; Mon, 03 Mar 2025 10:30:10 +0000
Received: by outflank-mailman (input) for mailman id 900159;
 Mon, 03 Mar 2025 10:30: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=8eIf=VW=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tp33q-0008NO-4K
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:30:10 +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 79f563c2-f81a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 11:30:08 +0100 (CET)
Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com
 [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-245-jApmRBGeMBG2ktgOndoGlg-1; Mon, 03 Mar 2025 05:30:05 -0500
Received: by mail-wr1-f72.google.com with SMTP id
 ffacd0b85a97d-3910034500eso576165f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 02:30:05 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b7b6asm14383034f8f.51.2025.03.03.02.30.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 02:30:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79f563c2-f81a-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740997806;
	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=XrsGCGG9AtfSViD3RsQm+eGPnJF4uoft9nYq0L+9jdk=;
	b=KZtc5OV4fX/X80X/MMaReiU/+3p0TvTV7sWi7NlgWYv/nKmLGGBeaMDe4/dt3UPdvnMJ7x
	ars7KHsWn4sTA59ftM+5oc2kRAVRp8Scv9F3CJDHdZaYYe+wo2aIPprQ7c3XkofgTxUSwA
	bPi4DIIu9IK+3RCH+PwHi9568NyTJbs=
X-MC-Unique: jApmRBGeMBG2ktgOndoGlg-1
X-Mimecast-MFC-AGG-ID: jApmRBGeMBG2ktgOndoGlg_1740997804
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740997804; x=1741602604;
        h=content-transfer-encoding:in-reply-to:organization: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=XrsGCGG9AtfSViD3RsQm+eGPnJF4uoft9nYq0L+9jdk=;
        b=uaCMWHGKcdzHurp6Q7dyAQg0U7LH0FFyHQ194Op90mGjWzTLqCWfEv/ohR2RyHPpBF
         NEzziGLvzHuBnVDnqkO6w4+3pmpdk6PdYKUmxTI7nG4Tqf1Smf5mizekCcUUbL73pmuY
         vyCyJW3Pbu6OxQcKb1R24yY6oEb2AJkl4zaYaMMWXa/s2xXAau9UkOOsc4pZdocUcyA+
         3dWo4WhDgUetFB/TBPPznhoR59E6MRvKn6yHf2X9Jw74YyoqXkb+obRD1COL+CM6+8iy
         SZZWuCIWgHsVyS+0fewCgbfBBwv9KT0X1aYe4yva7jkq+Vgjg9z5sXCBRzdqNOQUd1E/
         ddOA==
X-Forwarded-Encrypted: i=1; AJvYcCX5T8AoanvPwW6i2K/1sZMlUtyYKnvHRjXkSAV+WngGkKfXBGzqyjlmaMpc/e3oRYjsclfrE1PcHlg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFcWn7oBRCI/SJMLBOFt6FiLMw4ctxF3q/6UO6CNIKFdr7SKmx
	ZPLjfr4z9CJFJjDDkUHsDcUUlaqzA2ULreLGcQ9nczsspIHFIsDK1HV4rhlpapzwj1j1+FfHCfl
	ovT9FRRXHvX/viNQ1tKyoeQOSsI41VgFxQZWfN7G7jfTMqLru0kKVjJuUrKEmHiMa
X-Gm-Gg: ASbGnctv0NXDGdxKo5r+ZGqIDQ86HQ67+rA4xcwjWVu54pdiSEgjoyf1UvZzWR7EI3e
	t8f0+INq4K61+gjaZKHU/7G7iLrZl8HxKUYAuF/lG/9x8LbOLO7WAwMLgnehtSvdT718I0iziGl
	CtwE92KwiarNUwdkBambKbOPlN2ieqFt3/sjwjJv9+sseAYoxyYsn7iW+D8bqhWTA3PS9pTpqik
	jF+nGo0T48YEySU876KXZ7ILzoP+Hp+V9zxxLRuwsrSSNC6Xz/ZrM/p1q7beKA4NykKmJm80VHD
	eV8GMchctnuxgUnvHh6jtYkC2anbiRJWVRg6W38IUxgLdKTdQhNDFcDW4JDgho06W7hiJ4ZoJUE
	ex/I3yTDDNs2jB37Mb7QKc5DDLa2YWnGFKCcHxx4nE28=
X-Received: by 2002:a05:6000:186f:b0:390:fbba:e64e with SMTP id ffacd0b85a97d-390fbbb1cc2mr7331367f8f.38.1740997804366;
        Mon, 03 Mar 2025 02:30:04 -0800 (PST)
X-Google-Smtp-Source: AGHT+IFHoLAZ6fEWXVIxhxcXtWWYyuOPAHrr7D24c6RFsAPg6NR1E/hXM+QKIu4+7Y0Ej8r5W1JDdQ==
X-Received: by 2002:a05:6000:186f:b0:390:fbba:e64e with SMTP id ffacd0b85a97d-390fbbb1cc2mr7331318f8f.38.1740997803893;
        Mon, 03 Mar 2025 02:30:03 -0800 (PST)
Message-ID: <34388e5d-f9d1-4d29-a0e0-202a9fad345f@redhat.com>
Date: Mon, 3 Mar 2025 11:30:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
 <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
 <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
 <1ff509c7-187b-4e43-b266-db8ada33b9a2@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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <1ff509c7-187b-4e43-b266-db8ada33b9a2@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: GO6AlvHrSR2VQ51mRlqza4L9H-U4Wx9ivGsDMDfhNMM_1740997804
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03.03.25 11:22, Ryan Roberts wrote:
> On 03/03/2025 08:52, David Hildenbrand wrote:
>> On 03.03.25 09:49, David Hildenbrand wrote:
>>> On 02.03.25 15:55, Ryan Roberts wrote:
>>>> The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
>>>> is a bit of a mess (to put it politely). There are a number of issues
>>>> related to nesting of lazy mmu regions and confusion over whether the
>>>> task, when in a lazy mmu region, is preemptible or not. Fix all the
>>>> issues relating to the core-mm. Follow up commits will fix the
>>>> arch-specific implementations. 3 arches implement lazy mmu; powerpc,
>>>> sparc and x86.
>>>>
>>>> When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
>>>> 6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
>>>> expected that lazy mmu regions would never nest and that the appropriate
>>>> page table lock(s) would be held while in the region, thus ensuring the
>>>> region is non-preemptible. Additionally lazy mmu regions were only used
>>>> during manipulation of user mappings.
>>>>
>>>> Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
>>>> updates") started invoking the lazy mmu mode in apply_to_pte_range(),
>>>> which is used for both user and kernel mappings. For kernel mappings the
>>>> region is no longer protected by any lock so there is no longer any
>>>> guarantee about non-preemptibility. Additionally, for RT configs, the
>>>> holding the PTL only implies no CPU migration, it doesn't prevent
>>>> preemption.
>>>>
>>>> Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
>>>> arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
>>>> set_ptes(), used by x86. So after this commit, lazy mmu regions can be
>>>> nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
>>>> page table range API") and commit 9fee28baa601 ("powerpc: implement the
>>>> new page table range API") did the same for the sparc and powerpc
>>>> set_ptes() overrides.
>>>>
>>>> powerpc couldn't deal with preemption so avoids it in commit
>>>> b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
>>>> which explicitly disables preemption for the whole region in its
>>>> implementation. x86 can support preemption (or at least it could until
>>>> it tried to add support nesting; more on this below). Sparc looks to be
>>>> totally broken in the face of preemption, as far as I can tell.
>>>>
>>>> powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
>>>> ("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
>>>> which removes the lazy mmu calls from its implementation of set_ptes().
>>>> x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
>>>> nesting of same lazy mode") but as far as I can tell, this breaks its
>>>> support for preemption.
>>>>
>>>> In short, it's all a mess; the semantics for
>>>> arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
>>>> result the implementations all have different expectations, sticking
>>>> plasters and bugs.
>>>>
>>>> arm64 is aiming to start using these hooks, so let's clean everything up
>>>> before adding an arm64 implementation. Update the documentation to state
>>>> that lazy mmu regions can never be nested, must not be called in
>>>> interrupt context and preemption may or may not be enabled for the
>>>> duration of the region.
>>>>
>>>> Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
>>>> called in pagemap_scan_pmd_entry() to follow the normal pattern of
>>>> holding the ptl for user space mappings. As a result the scope is
>>>> reduced to only the pte table, but that's where most of the performance
>>>> win is. While I believe there wasn't technically a bug here, the
>>>> original scope made it easier to accidentally nest or, worse,
>>>> accidentally call something like kmap() which would expect an immediate
>>>> mode pte modification but it would end up deferred.
>>>>
>>>> arch-specific fixes to conform to the new spec will proceed this one.
>>>>
>>>> These issues were spotted by code review and I have no evidence of
>>>> issues being reported in the wild.
>>>>
>>>
>>> All looking good to me!
>>>
>>> Acked-by: David Hildenbrand <david@redhat.com>
>>>
>>
>> ... but I do wonder if the set_ptes change should be split from the pagemap change.
> 
> So set_ptes + docs changes in one patch, and pagemap change in another? I can do
> that.

Yes.

> 
> I didn't actually cc stable on these, I'm wondering if I should do that? Perhaps
> for all patches except the pagemap change?

That would make sense to me. CC stable likely doesn't hurt here. 
(although I wonder if anybody cares about stable on sparc :))

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:37:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:37:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900168.1308085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp3BJ-0000aw-KR; Mon, 03 Mar 2025 10:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900168.1308085; Mon, 03 Mar 2025 10:37: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 1tp3BJ-0000ap-ER; Mon, 03 Mar 2025 10:37:53 +0000
Received: by outflank-mailman (input) for mailman id 900168;
 Mon, 03 Mar 2025 10:37: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp3BI-0000aj-Rk
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:37:52 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2407::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 89a4caa7-f81b-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 11:37:43 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by BL3PR12MB6450.namprd12.prod.outlook.com (2603:10b6:208:3b9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Mon, 3 Mar
 2025 10:37:40 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 10:37: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: 89a4caa7-f81b-11ef-9ab2-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uc78cU1EDGa9etbJd6PPeU+1qaz9DuHOKHKjll31x8SFRPRUGAylu4PxbMDY3QFKlilJFt0hapsuSUh5Hg/yOxu7eOkLv/VNKQWASZBwsbB6eECNyX/IBOTrj81N+oahD0JIZgojzBTSiq47kyRy82j6gFYpblxcDItFXqi9brTaHvOtB5vD4o+p9DLKnpWoZaUrZmUb4eVOaXKmGrxsrAW3P1SFuarxo77yspS1dFbVPMk5lA9gvWwyZrUpufNUKAdGe1tiAjAVXulKY3JBvd9wfFuoqUXUJxPCk1mmdIdQhEu6XjjJ6/2PJe3LFRhVVzDzDfaw3QkIH5aNBAeJCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QtZ3WPDwBdUli6hx0UDzsPaHfRYaMKuScf7dDOJqVkQ=;
 b=FKifQbU3yF1S9zMFDojgX2aFAEqlAhydSADtm2F6Fm0sLKrEtaXK/whvu1SO1p6FYwBGm8GiCmJsPTOBZXV6hCkif47AbCOPy2Zy/RyRQu9hKJtSnRPfsBDQsZpfPQ7UBj4XSkePBtA5pZ1NOhWaSUJP/huKmHYO+0I3Ve3fikj8uCJI4cwedGiA6Bye68yRkhof17tNI5t+98G5JWssNlfYp55DrkBAeMWvHhLe5mFeBjgoLh1ahsWDghDiNLELnBPnEKySNQW8idRPbEQEaW7iXUrNnIluhA0rLDIHH9qJZamTKzPQ0vVuu6UkyTvA9+G3EdUspfZckpb5Md0N+g==
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=QtZ3WPDwBdUli6hx0UDzsPaHfRYaMKuScf7dDOJqVkQ=;
 b=bFWc6CjjiqL6Kn4YCxwtTb8xlWeUVCszlc2gIZjmtzooiF0SzxZMUjsZbyE75ZlLSQbPz+NWym5v4+0nTBs9GQbGnn394Uy8/xpptYi5hju1NMfDMmdNQX3Ld7SlKUUBPiLb7eoL6aANJiJ7Y9sqAzMiMGsfVsg7ENh7jtcFZfE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <8a557cb8-7640-4c67-b59e-d62accb56293@amd.com>
Date: Mon, 3 Mar 2025 11:37:35 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/arm: Fix platforms Kconfig indent
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <fdf893f3d685ad48340ae8c11ecf0723523c35ad.1740997574.git.bertrand.marquis@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <fdf893f3d685ad48340ae8c11ecf0723523c35ad.1740997574.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0346.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f4::10) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|BL3PR12MB6450:EE_
X-MS-Office365-Filtering-Correlation-Id: d92706cf-b1c8-4289-7ba3-08dd5a3f6c58
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?Z0tpM0hobTgxYXdJZHM2NzU3ZmFHU2Zqc2FrL3NwdXIvenFQUEhhNzNGYkcz?=
 =?utf-8?B?ZzA0MklKSHg1Yzc2dGl2cFd0dVprUEI4Y2ZhWlR5cjBxZXJVNE5qSGo2Z21L?=
 =?utf-8?B?TGFadVBpVFpNOTA2YkpwNiswTmIxUWpjVW5ZQThBcEp3d3pEcGYvSTlQeXBt?=
 =?utf-8?B?dDYvbEFyWDBncllsYit6TEx2ZC9PWkNJM3JmeGFpVlhIOGYvN09CaklTVUVL?=
 =?utf-8?B?bVpkTjY5Ujl0SURtdms1UUpzUzUwMEs0MXBsc2NQODQzMUFZZGRzeGowV0lM?=
 =?utf-8?B?QUY5ZUNYaXErbWsvNjM3MjhwNkoyanRTS3pWNE1uRU9jWXJtaUNsRlpKbm9G?=
 =?utf-8?B?aXduYzlNY1hvTW0ySDBycFRhUERIQTBpTTJNdy9NVjJYcEJ2ajU3bVRMMnNG?=
 =?utf-8?B?WTYvdy9vc05vak9DRmN1dWM5VlYrcHExV0p4Qjh3TEVnS0xwZHVmL1JBVzNl?=
 =?utf-8?B?WDBpN3cxbE9GRHNSbkNicTFmUDhrMDJUSS9EVnh6eGtSaVUvRkNaaUlWaGdR?=
 =?utf-8?B?L3REbmsyZ1BadGVsenpnY0VPcUVNMHF6ZWdDcUd4MUhSTVZOSlVBdTBLSnhy?=
 =?utf-8?B?RERzRlh0Qk5QSmdHRkJveVVZMHJpSGVKL0NySEdUQkNUTldMSFFXalJQd1B6?=
 =?utf-8?B?SmQrNldUVS9nRkIrOTJBMVVLTmZNU05lbUtYbW1WWGVlWm1qeEpsYnFhSlZi?=
 =?utf-8?B?RUs3cUVuSUR4VEJ2aVNxUUZDRUV4RkNQSW14bElDM0MvczhHSC82azlvaTZu?=
 =?utf-8?B?VThZR3c4ZkJoNFZ2Y1RUbHA2Sy9QMDhnU0JoYlpsYU4yUFpUZDFMclNqM0cz?=
 =?utf-8?B?TGtKSHJVcGFudE9sOW4za1poZ21WS21jOTZkUU1ab0hmb1ErSGFJTjI5RUVN?=
 =?utf-8?B?M2xVaVRyRW9DQVFacWYrY0R6SjJlZEJNeVFLWXpHUWcwUXhGeEwzT0JTVDJ6?=
 =?utf-8?B?VzZwL2lqSFRjTlM4Z0pENEUzKy9uNEtnd3Y3VmtlYTZCekdscWRSa2IvOEN5?=
 =?utf-8?B?Y0ZvczNiaVA4NG1tRHNkMXdNZy8zNkVWMnozVEVoSlY4dmpqT2JSYzRzLzRh?=
 =?utf-8?B?ekFOL1NZcFVMSUtDNGdWYUhLMW8wUkw0KzcrejJOeGJkNDdBU28yQXlsejI4?=
 =?utf-8?B?NFczajVtNUs5N3ErT3JCbU9rZmpvVUllb0xSRTFXWWY1c0d1VU5TQ1cxSTJl?=
 =?utf-8?B?Mk5MemdLL25GSG9iL0RwQWZMVnZsOTRSNlhpQ1V1aUtiMThhb3RXNm1UV0Q3?=
 =?utf-8?B?NVV6YkJFdjNRL0hZb2tkclRrU2NxTW92S2Y3VENtdE9XT0s5dy9kTzlGRnhr?=
 =?utf-8?B?enBRdWdQT0UyQzl1VHpGN3NXTzh5Qkl5ZHJQSXRYQmJpVm9od29DeDc5QjhF?=
 =?utf-8?B?aTFScy81NFNza3cwd0JDN3FISWRGc2EzK0dWdGd2T0lXdGw5OHpWSXdxVmNm?=
 =?utf-8?B?VGNYRmExSkkyWE5wRGJqK1cralpkUVAzNldJUDhvVW15WjduMk1nMEMwV3V6?=
 =?utf-8?B?Q3FrVnpNanJEY2xVREVrTW5MNUxHdUpnQTd3WmdxS1BmejlWc0dVSktzSjRo?=
 =?utf-8?B?akhPR1IyeFdhNkZlUmpzMVkwbmJpU3NYeHpvTXAvQmd5b0xFVjNmaGtJU3Vz?=
 =?utf-8?B?aHY1U2kvQVlTbkhBOGxLQVBuS0dyWlBsSFRLVWxhbVZ1ZW9jallBV2lqRURx?=
 =?utf-8?B?U28xbFN4bGg1OFpQYTVNSVFvMTFybmtrNngzQUR0NjJ2S09jaDNtU3pHUitX?=
 =?utf-8?B?RkhvVE5sYXJ0RHJlcElUT1J5R0hIL3ZHMTQvZ1hPSXhzYUZiT08rWnZXRXVM?=
 =?utf-8?B?c29vUE9VaXMzWitRRDRFZlNFRGRUZHprKy9nODBlanRFck05Rk9veG5HdklT?=
 =?utf-8?Q?rzAeRGMLT76Q7?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?RGkxcmt1UkIweEFacVJ0QkpUNGs0YzFER2NmeTdTMjZqUEppYno2b3FYYVMx?=
 =?utf-8?B?NkFFYXprYldPbHkvanhTNWx6Vzl1UjBVVDhINmJxUlY2N08xbGpUYlYybXN6?=
 =?utf-8?B?SU8zaFJVOE9nTXZqSjFxeVo2emNDL2ZXaDdwc21VT1A5ZHR1Uk52c0MvWjJ2?=
 =?utf-8?B?Y0RyN1dNQnp2ZzAvM3dpSlJKRE0zZ1RTYjIvUWJYWVlxem5ucUlodWlCcUhQ?=
 =?utf-8?B?WG9BNDhDYTlYQU4reE9IVno0NDY3cXdEZE5jY2cyOVlsSmF0d1BoQXUzQXpm?=
 =?utf-8?B?Zms4aVc1SzFZUWxycDZiaFpweFZjYkJZMmpkQ2YyaitRdjNkeGxhdWcrM1R1?=
 =?utf-8?B?NTFJditSMnpQVkl2MmVmc0VLK3lVdWVWYkdINmNLY0diZEZCcTlmUFZ6RmNq?=
 =?utf-8?B?bHk1c3BzSG9rdVI1L1FRTE9QL00rZXNxMXNNVWE4OEh3MzZhUkVTM0FPbjg0?=
 =?utf-8?B?SGNmSGVZTEtOblBYRTJ3eHo3SnBZeEpER29nSjltRGxuUHhja3ZzK3k4blJa?=
 =?utf-8?B?ZWdNRVlaV1phbVcyVnhNUFJhN0hRVHNiZldPQTlXWGNGMTB2dmFJMzZWUjlW?=
 =?utf-8?B?em5VU1ZpditINmpQaHJ2ZUZCSlZuSXlZL1pVQmJaSXgwdTkxMGVvK1JEWmZH?=
 =?utf-8?B?OGVHa2dLWHpYeXdvS1ZiUE92OXpHbFl1Qk8xa3NKRjFMNDhQczdEejZLTTkx?=
 =?utf-8?B?ZnFDQ3VETmljeXBPVW43V0JaaWwwSFBKbnQ4dVZ2S085QWxjN1JtcC9Rb0ZE?=
 =?utf-8?B?U1F1ZlBxekFUZm5CRlVldXZyNmhnQUtVN3gyMmx0VWlPNE1tQS9QQXErdjBv?=
 =?utf-8?B?azhheEtLQVcvOXBGbDg2cXRxQ29GNEUwOUJCU3FUMTFET21SajFWaG03YmRz?=
 =?utf-8?B?RGRpbDlIWE5aREptcWNpZFd5WVYvNzJXOThVSGRPR0RFSkNTZXdhbDMzSk51?=
 =?utf-8?B?T2JsTllJRjB1VW4zaGJISnF2ODdLRlBob1ZFWFl5YTVlYVFRVlJuZWtjZGwr?=
 =?utf-8?B?bXlKYnZkWjNHdXpIam1xQzlWK1VDc0M0Y3FqYmpYdHN0Y0lnWUovaVBvVDVD?=
 =?utf-8?B?ZmtsdEg2bTlsOHZ4MWVCaFNCemtZWkl1MXBTS3pvU3d2S0NkREZ4eGJwck9k?=
 =?utf-8?B?b2VIdEppL2pENVAwUWNsY2puVFBadnlaSFhFc1VCUDBKVVp6d3dCdTROcFNR?=
 =?utf-8?B?ZjhUTENTNVdONTQ5TmFSZ0g2RHIxUnB3dXZERnRBbWpURzBLcnhubWNzL2hP?=
 =?utf-8?B?c3ppbGE1YkVxVmtoNnVPNUdFTFp4b1M5Y1hIdCtBZFJ1T3NrSVhSR1NQSWJi?=
 =?utf-8?B?cW5kVkVzb1VSOGhZdkVwaGRwNXBaa0RwbzhNSXNnaWc1OEoyYzRLUmNpZFY2?=
 =?utf-8?B?ZHpLOEEzUVo4UTU5VnNxRDIwclVjRXpkVlk5Wmk4YUdxcHlaYTZ4amtEOG5V?=
 =?utf-8?B?Q0swQXppY1JPMHpYQWw4TUlmMnpzd0NKR0lSbWJaQUFaWXJJQkVaeU0yV1Y2?=
 =?utf-8?B?THlsL293ZGJMSUFUZTNTSzZRTzJHKy9iN05wWFJwUHhqb2JaLzZ2cGdIcUdY?=
 =?utf-8?B?UC9qK1dqa2FyKzlhcGZrRFo2QTFwU0JlVklSbzJIWUE3SUtqeGt5YnYvM3pk?=
 =?utf-8?B?MDNxVlVqd0hHME5tNlRpT0gxMkYwbHJRM1FkaGJmSDdUYXN3TjVheTRYTU5X?=
 =?utf-8?B?emw2c2VTOVRJdC9VWnR3a0R2NG9zOU8yRDJrcjkzSHZ3a0dwTzhFeUQrY0lZ?=
 =?utf-8?B?Y0VUbTBicmJjdEZiUnkxQjRrR01rLzJ1MGEzaTJRaDFkUWFSeWRRNC9lY1Ex?=
 =?utf-8?B?S1J4SWVYN3g2Z3NlZXdQOXFtYjBzbFJIK1U4VnRocmFKbUUyTHpaQmEzWldH?=
 =?utf-8?B?NjUxc0dNWVYzaE5VKzRyazFta05pYUNBMVpDU0RnU3l2MDUrOU9uZkUwbzVS?=
 =?utf-8?B?Y2dtZFpxT1Y5OTkrNS9xblE2c3R5UzdvTi9yUmlYTk1UVTE4WFhtc2l1OHV0?=
 =?utf-8?B?SWh4YUs4c2JDYzEwTk94SlEwSWxVS2lITTY1eE53NnhjMTBLZGpiOUs1QVhJ?=
 =?utf-8?B?S3djNW1uR3NWRktTejdmMUo5WXB2ZGVXeXNBUWgyVk1VeXY0R0pWbTRXeXN2?=
 =?utf-8?Q?h008=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d92706cf-b1c8-4289-7ba3-08dd5a3f6c58
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 10:37:40.5718
 (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: F6u151bB5amfFbkkS1vdh0ZUUiWAY8SuZHkhKd1xQBSU2Ej4HzroxVoGW+4f46bz
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6450



On 03/03/2025 11:27, Bertrand Marquis wrote:
> 
> 
> Fix platforms/Kconfig and Kconfig.debug help ident to respect the
NIT: s/ident/indent

> standard (tab + 2 spaces).
> While there also move some default in Kconfig.debug before the help
> message.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 10:55:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 10:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900180.1308095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp3SS-0003HZ-3Q; Mon, 03 Mar 2025 10:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900180.1308095; Mon, 03 Mar 2025 10:55: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 1tp3SR-0003HS-Vo; Mon, 03 Mar 2025 10:55:35 +0000
Received: by outflank-mailman (input) for mailman id 900180;
 Mon, 03 Mar 2025 10:55: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=W32C=VW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tp3SQ-0003HM-VW
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 10:55:35 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2606::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 062ff87a-f81e-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 11:55:31 +0100 (CET)
Received: from CWLP265CA0282.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5c::30)
 by AM7PR08MB5416.eurprd08.prod.outlook.com (2603:10a6:20b:10e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 10:55:28 +0000
Received: from AM4PEPF00027A60.eurprd04.prod.outlook.com
 (2603:10a6:401:5c:cafe::51) by CWLP265CA0282.outlook.office365.com
 (2603:10a6:401:5c::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Mon,
 3 Mar 2025 10:55:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A60.mail.protection.outlook.com (10.167.16.68) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Mon, 3 Mar 2025 10:55:26 +0000
Received: ("Tessian outbound c3a902884497:v585");
 Mon, 03 Mar 2025 10:55:25 +0000
Received: from L982abe5780b5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3CFC75D1-C5B3-4BFF-9FE8-4EE3E93100E1.1; 
 Mon, 03 Mar 2025 10:55:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L982abe5780b5.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 03 Mar 2025 10:55:16 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by VI1PR08MB10297.eurprd08.prod.outlook.com (2603:10a6:800:1be::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar
 2025 10:55:05 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 10:55: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: 062ff87a-f81e-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=tArGjVds1z3GoY+N9yV5C0nVrd4X6WExhnhozSX8Am+Qsk4Jr5M83KpZ95bcuk3V4i62RtMMndDWDD2sMX86tP1rLqiviIv7Iv5mdlE3/alpVNUTlTOdLpKaN47GdcGEiPlV6UXFXFcKunkryC3PrjwMwiDUB0QOyLhGAESY4YFgdN71tx+PhfKF4xciSxDsHlDs3wwLydgHdLKH9hdMVQ/r8PcMMZBtjrHQZQh3gWjRjP1lXTlNVV7ZTAE0PDYBTIisNpjYGxRc2qUc1GWxWNOuV4R8G/MbrOUQ0E2GgMuxlUVcWAFN/BXQIGabd4DZKy11tAn4VN/jbclR8krt2A==
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=KrdXhi2lIyRTdHeSLM75x+Fh+9AVE7Q6S4qMlPqNG6s=;
 b=UfYFLEnDkoeL150pGNOnJb0G83DNKeFuEuuj7jyH+gKBu5s/H2aYGq21DDqMg6SKBNRneGOk1Y2UuhA/+XiT3QwwEcSXBBjJ7YHCkzv8Q+u6OkA1A93pU2i7j1TYqd6eNMqPTxE3BpnFNOKpsrQE1Gng7bOy4u1LWH+jNb69pkuSusCqpv32x4IyQ3v6aS9YS5CV1obWqLjOHoVtc59KHMEUmvzMgQvjdbCcFI5JNUDWr+Nim6jSp6Ccj2MituzOT9paM9F0dIlR7Q0FUAL4y6gHeENaDYWlEXG3h3AqnN7ydZ0dIm9EwUf0XNi6j7+wGDhNz/XYmgCqsWf4rb4n6Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=KrdXhi2lIyRTdHeSLM75x+Fh+9AVE7Q6S4qMlPqNG6s=;
 b=UQ5VsQM3iABoms9V0JPmFvWQ3qgh4jKCOYMMGNxQR8ZFovhaxiC1R7eGMhSqWUxnFS0BWLwE9X7tkdeIsD2uhIipFC6VVhwz9C+cwY7eWramGOFBqa8DWEuuN1TzeIKTwR4+EYaaz0Ld5p9qEt/fZugnUfvREiXKwVoAlJH4HD4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ce0d29f39659946a
X-TessianGatewayMetadata: jTkNHHEtWj/ka4d1c0jlu1c5dV8SQ2eZ70vYqVrQBoMeE73bUqZDzo/I/QIQOVoODlxPG5qMvLccPPIjNDZ+T/yynLtrB+Pzrtt3MZVh4oZmUT4RZ9r9iGU3QdDMcUM9aGcE1ACjf0cbDrJuLb978w22zpoSCT9ybMdHQDgxaA4=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sJHbouuD5+AUAHHcD7Zb7K5i3LZAEXMjT5IrdiEDEAM2ZtTh2cv7gJlnynbgwWSN8VC43TgC1HSx1XN3hAE9Fncs3TFHKAa5lwYb23eW+1X6RDchQFBZeumnUYvPpyX6BQgLG2dwa5EFr4A7Atz9jdYP+1Q+NBWZHjmK/wl/Icnoo6hP+rDQuvZcZzOEU2KiXX+OZFBgPIf9tSHfRrxw+2aKlxpStgEbnoGWHKFWohc6l1k8I/q9/dRhzfbSLduwKOsrBfOv4UxL/6SbWEW04+7c5jutBi3sGyM7mcs+Zd2EAtH/PA3cQeXMEwb4YNxGGOzmMDDW6nHml8cAAJow4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KrdXhi2lIyRTdHeSLM75x+Fh+9AVE7Q6S4qMlPqNG6s=;
 b=atZuxpYwp7DLRUP+owZXhVQkfVswvM+EoWEu/PXmOxxDgdX0znZV5t/+APKP49Aj8wBRbNpgSG3/h9Qigb0zECQnaq3UeUUJb0dVyM0LxkuzsCdaV+meST0z61dE9wJ1dgOR3kNPOPlWncDu0/AxrlWuZIN05YHrvrvyBgSF7CJkhZRXiZmMYiikQsn5tkZtq34IU3VT5oXAP/thBModftUQHkUWkBp+KSNPtVFsnb+DRjgrigd10Ya22vWS4VNAuNzPxcvUTO2PngB9DcmiNb4htPB3LEPlvCLT0XkD9uJFML1rezMSnLytQn9XAFneAr0nKvwHop/wDHtKN6ETOQ==
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=KrdXhi2lIyRTdHeSLM75x+Fh+9AVE7Q6S4qMlPqNG6s=;
 b=UQ5VsQM3iABoms9V0JPmFvWQ3qgh4jKCOYMMGNxQR8ZFovhaxiC1R7eGMhSqWUxnFS0BWLwE9X7tkdeIsD2uhIipFC6VVhwz9C+cwY7eWramGOFBqa8DWEuuN1TzeIKTwR4+EYaaz0Ld5p9qEt/fZugnUfvREiXKwVoAlJH4HD4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2] xen/arm: Fix platforms Kconfig indent
Thread-Topic: [PATCH v2] xen/arm: Fix platforms Kconfig indent
Thread-Index: AQHbjCbmP0ZUYpmvC0C3Nis8IHvt5LNhOD+AgAAE2IA=
Date: Mon, 3 Mar 2025 10:55:05 +0000
Message-ID: <07C70CAD-EDFA-4E40-9957-5B1469C2B094@arm.com>
References:
 <fdf893f3d685ad48340ae8c11ecf0723523c35ad.1740997574.git.bertrand.marquis@arm.com>
 <8a557cb8-7640-4c67-b59e-d62accb56293@amd.com>
In-Reply-To: <8a557cb8-7640-4c67-b59e-d62accb56293@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|VI1PR08MB10297:EE_|AM4PEPF00027A60:EE_|AM7PR08MB5416:EE_
X-MS-Office365-Filtering-Correlation-Id: f94f5f85-1574-4185-e9e3-08dd5a41e7cf
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?DonP66DcSYiwymcWSsW06moeWJIoK0xXPWNWKKMsVuKeskp8DPtWsRKYKvj/?=
 =?us-ascii?Q?Bhcnue7YXZYUHF2osPL0o24EYocEhqmUZWkEZiVbktoOhmsOQMIoh0GXQD7/?=
 =?us-ascii?Q?aaYVZDJi6/Sb4JIro5sqq40dBoxYJiSqFOIutSIn5JuHoa2VI8KHnP0k7q2Y?=
 =?us-ascii?Q?dRNBbBJAQ8jOxcsY6VRtBlPAuu0VeHkqRMvFqXp9/scywQUr83qHW6qKZQC0?=
 =?us-ascii?Q?EbqjynE46IvJIA7sBsWCgpUXw7LdoSaazo3el9SllUJn2aedFDPWWh+dNOqi?=
 =?us-ascii?Q?h9pEG3Ga9R1lJpn7BYXfv6RsbtPuz2An0w/Pj2EKEAOXjer+H5GZ9tg/VFUA?=
 =?us-ascii?Q?vuGiE2lKmxRnd5F1l1VrY4yED3g79JEFQwaom2EUHagoFnW4OiHvRl55MSup?=
 =?us-ascii?Q?0e512sJdnI3+yq2zS7+6sksSQqjDlRto9hAcaPB+PgMJkELd9iBar01gHwB4?=
 =?us-ascii?Q?7GDxiYv8O5Qb6NF/FHjyTpa/ACkxEISjRMJ7CWQEuWsWwTaihAtfqhwhYwXa?=
 =?us-ascii?Q?vsLpzUXGa5kmwMjldVGLeF9tbV8UsPx8RlMoSxE8y9NzC0TSn5CIU1hE5je8?=
 =?us-ascii?Q?UorFyRATJbg1betuBQPSfOtamCCQ0Yqzm4Yy7O7BnZ+KPpKJ3yaT0uct0B5r?=
 =?us-ascii?Q?OfQ60LDpppio9u2KaO/Oij0S2AOxsQGV/dwBh5yxVHTBxCMImRVerD30gG3A?=
 =?us-ascii?Q?CYGHkEnFslFaXUYUUwLFzErTR6YzahKid2+1Xo2xFM659kW1+05z/VNnDDyi?=
 =?us-ascii?Q?JmmZXQi6LocSqhMeHrxI44e1jiE+Q/zPnLrIuvJJes/sI8TKdfN3PoMyqjkI?=
 =?us-ascii?Q?I4EfdtwlH+op8q7L3okk8ZcDTeJed6RwiOq26FsjhW+IEBKLCLVoD7KfD/8I?=
 =?us-ascii?Q?cxeKLwAd7qufG9y6P2UhLpRHUHakLLyNqs105Qv+2+9f/8vmZ4sANyWFUH7h?=
 =?us-ascii?Q?PWzGjkyFrHue+8SVt6yA+ZnfiBHbQ+1xVzcHLFKrwdq7KLIOXHtb4J3rwRhT?=
 =?us-ascii?Q?U8dQk+x5tQDGPzFj5va3HexNMMhbs1U5GJ885ke3R2bUTNFKwrn7CYMCme93?=
 =?us-ascii?Q?UfCDP3ecA83FOhwZjN6jM/Y2Us+zftcDIVxGcTPuOMaz/DccK5S1rEMUeC50?=
 =?us-ascii?Q?xEHuvwAb7gzzI3dDVFnt2Jb2aIP5xgN2w3pRP8SbSDIHVNybPapmsyYSonWA?=
 =?us-ascii?Q?92ov1lxx7+MeC/U0KuEkY//LCEA3N2TRpcHqi9h1z44enWXJfrUAwp2gXJOy?=
 =?us-ascii?Q?DKSbE8fj9MqtPdim1VKIKZuKorS22J9xfL+wyph6eQ6tVG9SkS7QTTccwd34?=
 =?us-ascii?Q?hlE5rIZR24tupsZUsw5gRiv3embV7cGvlWSjGJVL4fEvkvSM/COvLLvQL7A4?=
 =?us-ascii?Q?GJqlQhjEi5shkSm1+N/8+rdCHbkDfdnDHZihjWRGUWEUrD1enmRtVg+HG4Vh?=
 =?us-ascii?Q?z3jiOzlEqBTrOEf3s6a8acjDUajaXDMM?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9DA7AC3042ED73429E0DCCC525D447A3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10297
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM4PEPF00027A60.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4bfb3f3f-b041-4360-e2d8-08dd5a41db40
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|376014|36860700013|1800799024|35042699022|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?JHZTPw6YmLxsX3OruTuTE34WUzfkFy1ByEGknoMWROVywDGB15UZtqjx1aTD?=
 =?us-ascii?Q?Ok4QS6JCndDfeg0mej9qC3v9xURuRuYjUmXjGS8FKdD06f01tAYpd/vznMEM?=
 =?us-ascii?Q?RUm4/I2oy+jexwIBfe67k79zMNy9PJEzuyxxqiTfoomGuYN9X1NpiTK0C77t?=
 =?us-ascii?Q?P5K049t4a+408WlO0X9WZ4qxoIdaudxhLZ76EApOcAn5+9STcAGh2dQnk/lO?=
 =?us-ascii?Q?hr19XBboamClTGsCyAhYHA7PKrGH3+i212kPxVwpWahIDHOE5+qq+tajq8my?=
 =?us-ascii?Q?d4o2RDrlRoZ/Ql4z1lLosEF9Xaaw12lvpbmL0r6cwncTotfUMbjDFtp7rmc+?=
 =?us-ascii?Q?AocJvCSaeMXmsG4FTHa6WslAYdMlZP7TopLB9qvy/Ern2ycG9AyHcc2491Dw?=
 =?us-ascii?Q?X5C+KSB4zKyHALHYozgOlB4F8hs3klTprH0o9m1VcUb9m70VjL9ftvR6yFmj?=
 =?us-ascii?Q?033sOw0Pc+icbrGvSOpki5lvVRZHf2uXfwa+S9xV6+oSBOSuaT1ndbkoMtCq?=
 =?us-ascii?Q?OYKzuR0zZzWH8OMLF4ceLtYOjU/rMFl/iE6hOISxu0sHMh9p/XVis7f+Adra?=
 =?us-ascii?Q?c+mtlb7g0XkOIOoc065dP1TofRnQAGOKf0WqefbQ+keuV6nDW9sp3HcA98XD?=
 =?us-ascii?Q?OwZeJn7eiLOiEdPCGKyJj+StnQO92gMYr5OuO9oXmmE3z9k54axkxqGrhjCQ?=
 =?us-ascii?Q?6Nd/eENZxauKiZ4OYo2g7ymyOUzpqz4qxyeFYBR9FSao76Sk7rsatkGf0gtW?=
 =?us-ascii?Q?hK8gJ/AaZYlGWmSYda99rguCSH4NWMmZAYPbFnkF0sAc0mOItnXcXNLZEhEZ?=
 =?us-ascii?Q?z/NhtFbImmOnIuEk4703du1eEaa7a0EbaRgcGT1p/4XViwRfItzCFP7NaQi8?=
 =?us-ascii?Q?N3pbz96NSqEXpEn6O1p02rCN++mHkvlhFIeB0+oshQYfm5O983uNSKJQsn8C?=
 =?us-ascii?Q?yvNJsRMMxbJehGerhIP0ghFPoKlhelOG8uMkMV73ZJ2FHgAyklmLtHzqBFJn?=
 =?us-ascii?Q?TJnX4zmg0IkKjBHlPXlO1poxc1vnujNfIPRUq9ykcU2PnrOtrpEKCAqddhYl?=
 =?us-ascii?Q?M7BvwvNT+KIBUOL9TYnRtEJ1iL0b0vpIYeFIICoonc0trNGTI/p1jAqlIeba?=
 =?us-ascii?Q?ARoko8RkvTT9Qfmr/CuhcZCRz7Hovpg+7zb5K1JuEqU+QjI2Qp669pesfXE4?=
 =?us-ascii?Q?W22ttO9OwuV8QFGBU0ucKKJFN8KVQWUwnHz+DZ1xo5Qj+FMSwxSosa2JGb+J?=
 =?us-ascii?Q?ogvCgOEbyrs440gwwKDXIoBrSuN0f5QpA7qmLTK7BTAHEgiHTT9ngwgK58uN?=
 =?us-ascii?Q?/FdG0eJqDC3xQ5ffpurC+nvJrZsMHNYt/f503QwExTCUA32CS4/L4c8i4APd?=
 =?us-ascii?Q?aXYDG/SiYEM1eeral+Aoz8BmfgNCGxAyztIfbMRHfIt9UNl3eocxEvkG+RZy?=
 =?us-ascii?Q?fwwaM4sSACBBGbuufZErknPHXJdsJh0TxMNH0nvjr/18qOWtEXnfJnrRHbz4?=
 =?us-ascii?Q?ZikhULeJO/47CFY=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(376014)(36860700013)(1800799024)(35042699022)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 10:55:26.3765
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f94f5f85-1574-4185-e9e3-08dd5a41e7cf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM4PEPF00027A60.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5416



> On 3 Mar 2025, at 11:37, Orzel, Michal <michal.orzel@amd.com> wrote:
>=20
>=20
>=20
> On 03/03/2025 11:27, Bertrand Marquis wrote:
>>=20
>>=20
>> Fix platforms/Kconfig and Kconfig.debug help ident to respect the
> NIT: s/ident/indent

Right sorry for that.
Can it be fixed on commit ?

>=20
>> standard (tab + 2 spaces).
>> While there also move some default in Kconfig.debug before the help
>> message.
>>=20
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>=20

Thanks
Bertrand

> ~Michal
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 11:09:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 11:09:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900188.1308104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp3gE-0007zF-AN; Mon, 03 Mar 2025 11:09:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900188.1308104; Mon, 03 Mar 2025 11:09: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 1tp3gE-0007z8-7i; Mon, 03 Mar 2025 11:09:50 +0000
Received: by outflank-mailman (input) for mailman id 900188;
 Mon, 03 Mar 2025 11:09: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=Kv9T=VW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tp3gC-0007z1-U9
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 11:09:49 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20618.outbound.protection.outlook.com
 [2a01:111:f403:2413::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 035e2765-f820-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 12:09:46 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by IA1PR12MB7640.namprd12.prod.outlook.com (2603:10b6:208:424::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Mon, 3 Mar
 2025 11:09:43 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025
 11:09: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: 035e2765-f820-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P/uOhq5fl7rovbqB9Atu8GD3WJtc27aDh8P4SSEmGgR39DtRAGfr2xFxcv3Y+dZ3U99uOLYJp4ppAJNiIMblQX23Tnu24nquAhHjPabUGTPiiWD0I4KmPFeRIk1zuBVBzmO0JK558EOLU/aR4chvsDZ74Dd1SQQJimJtOqdLzubJI+XMbzK+GIk5n0glGBjoNbwEBE9g3A00YCppf7j3BENXLvJIKK74e0E1i5hfprn0BWTtMZKftO8TPygSzWhTwlsP8x8S3dkn8tAq9yz/sOX18c01zusdQBSyfQAj6Vj6SShiOn2n9FyFEqI+GwPW2p9wBg9CJz3KsTeohxj/Hw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1tELp48y7I2WF/EA0s5/dixBCPrMdkcHOHgRLnCnOEk=;
 b=FDVUdwuzhKnFOSKB+AnA/iKt9iFeZZIRf+ZROOwmmB3DkbW5TfEbHK25O+H2hGp8hKph/7YJuo8yYjtUhv+1v8gMO6MkvPtJdSMh83KWbItYYwv1bPv+6jxgLQOKDEVfrSxvLpzGcHFA5B4HLQHcH59cqb/aHzJFddpIQTguLgaUiucC6RRlTPXVNLhSHZ9C3YqD8pA1uzX1gdQh65oURLKglCCw2XDeKOe8zR4sNkU391lBR9sbjkWQmD/zx+3lMSWaQp4J+zbb9cur0zhRNO8mfQtOQ28HQfx+pRvxGK16c4hAkDCIBbnFaxrRGqdFWFUHaqyWV0SED6ir+Linpg==
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=1tELp48y7I2WF/EA0s5/dixBCPrMdkcHOHgRLnCnOEk=;
 b=WmhqOG8XVA6AptPW2mGAULAi3/T0RUaEqXDQ2saFMon1oe8JFTRubyyrlYFr9ZDglMSoYWPGV1fENqS3vpZwfgsAg9XLfchEzHfGe6TzV0ivO6AatFHDcdhsT0ZLD1fY51zfL95Xka9WUPU0fm6MjssdH2NbWWWEshbK+5IiWEk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <4b80eef4-52a0-4ffe-877d-6b4af781141a@amd.com>
Date: Mon, 3 Mar 2025 12:09:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/arm: Fix platforms Kconfig indent
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <fdf893f3d685ad48340ae8c11ecf0723523c35ad.1740997574.git.bertrand.marquis@arm.com>
 <8a557cb8-7640-4c67-b59e-d62accb56293@amd.com>
 <07C70CAD-EDFA-4E40-9957-5B1469C2B094@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <07C70CAD-EDFA-4E40-9957-5B1469C2B094@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0248.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::7) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|IA1PR12MB7640:EE_
X-MS-Office365-Filtering-Correlation-Id: 2154c0b6-2f57-4c95-95d0-08dd5a43e624
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?UklGY0RVYmxSY2VMYUsxL1FITkg0KzFnNG8zemlsRmgrRWwydklDajFMMVRH?=
 =?utf-8?B?T21SUEdDblNLQytQc0k3dDMwZGdNWXZxeDA0bHlhL2VrNFZCKzc3M2lxVGJx?=
 =?utf-8?B?NU9ISEE5RFVONkZSbFVjYXNrWWdURnV6djNKUnhab2JjbGFZT3hndWNrTTJu?=
 =?utf-8?B?T0tZRy9GdWYwQzRON3huZFZtTDdQMm82aXlBS3hkdFdmRjlhckJPY0tHTG5h?=
 =?utf-8?B?R0pxVk9RWXJZc1lzV3lwSnRQVmY1RFdGbm9FdXdyUXhJcElaM2Z5eHZOL2pm?=
 =?utf-8?B?Rmg5RkJlWDBXZFpqZTAyb0xLTktrbFB0Kyt0ZGtGNnRpMFdrdUZZMWhlbmdG?=
 =?utf-8?B?RWplQ0lnY013ZkR3a3k4eU9YV2pKaDMxd2NMRXFjdGo2S2lMWjhQVXdVUXVl?=
 =?utf-8?B?aXMwWXl0MHRxYkdyY3VFbGREellEa3dIdHEwUG5OZm1NTWcreHRQcWU2d1Jj?=
 =?utf-8?B?TnhkVDZFRFdlTEE4WENZa2ZVRmtPYk1hb1F2Vkd3KzE5WmI5SXl6emxaWlZp?=
 =?utf-8?B?d2pacHM4cFB4eE1jZ2srV09oRnIvdktiRGxSQklYVXRCNW5CRzZ0L2Y0cURu?=
 =?utf-8?B?YTZpWEk0M3NTQW5VUGZHNDE3YW1COWNwVVREZ0Q3Y3JNTkVUV1FrcjkxYkIx?=
 =?utf-8?B?NGFYbjcxUFRCVGhoNFBIUS9FTFBTTC9xdTZCTmVXQW9vTW1kMUx6RTlmQ0xh?=
 =?utf-8?B?YkM2bnJEaElwVk1TNDNoVlMxeXRSVzFNeUVwekVOMlVBVVZGcWpCSW1rNVRk?=
 =?utf-8?B?bWVWKzhqZitxNExxNmRmU2ZjMGhibGhsYVA1cjZ2VUovQmRrOHhvUjE0a3Js?=
 =?utf-8?B?eUw5WGcxQTEvUDMzaFU5ZDRYWjRBUjNCbnNBUytkaCtXSWR5N1dtVmZJbGVW?=
 =?utf-8?B?dStBNUhOaVJMTzgzRlVhSDQ0TjBSVnRKa3IybjRDeXRJZEoxOWgzbjJ3UjUr?=
 =?utf-8?B?c0wwWGJPZVBTaHJwYVlkemplemJTbEpoSzhlL3RNY1BETTFUcjFjb2NvSVdt?=
 =?utf-8?B?UWEvaTFndEpFUGQ4Q2hzZ2lOWkloWG05VUVYV2VTS1Y4NnQyQTNiWk1ZMk9m?=
 =?utf-8?B?TVZsMjdTa1ZPMnRwSXUwN1lrMWQ5TkUxY1RpWTZWelNPOTNsQm14aXhvcm40?=
 =?utf-8?B?ZTErTzJSazRFZmluMXRvdHpJbFhLTHFqNnpINis3L1kvREc1R0VXaW1mNm54?=
 =?utf-8?B?YVNULzY3WForbVpBbUZlbEFSWSs1NTNzS0ZTVE5hY2ZqRjlFRVhEb1d5VFh5?=
 =?utf-8?B?K1Y4UnljeldYSUd3K0dJRzJsNXRCbS84bXdNczhkZUlpWTJiNmdIWEFGUzd5?=
 =?utf-8?B?dnhrb2twa0JiVzhGWEtjaXA5RlNFbE1nNmpSNTR4TVBjL2VubitSRXlROHoz?=
 =?utf-8?B?RXJYQVRhWVpOREtvWVlNYzhjRFJHakV6dVd0WHNNODBPUXhpRXRudzdLMXJQ?=
 =?utf-8?B?Z2JUSmtGL0NPdVNkc1kwWDN3aUs0ODB5MWdDTEY4bWpBNGJXaXU2bEpZR3hF?=
 =?utf-8?B?YWtKK3BrMlhxSUltWmRKbVlaOG9oNXZvcTJhZEFVLy9XMzF5RzI2QWNpa0hL?=
 =?utf-8?B?UG1RMXNHQUdaaDA3aG1CSzZkWTh6UlRoY0k2L09GMktrQUlqa3pGcHNzMXBW?=
 =?utf-8?B?dlZjbzNWbWVQSUd2OTJtcXB1aFJXMi9yM09tcyt5WnZMVFZXa1k2YkhhUHlJ?=
 =?utf-8?B?Y1NINTJ0TkhnNHhGblJTbTRVMi9LNFBHSU1ZeEhUY1cvUGlBc2FMdE1Zblh5?=
 =?utf-8?B?TEJONVVmaStNdmlleHdQRXhDbkNqYVpRb2s1MCsxMjlqZ3A3dFc3c242ZCtZ?=
 =?utf-8?B?aWlUb3UrSDBBT1EvMjQyZEN5eHNiZzJmVGtoT2wreXRXTmlQbkJLVkpuR3ZF?=
 =?utf-8?Q?2AY6sBFAqYmwr?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?N2RGM3lqSm4yT2RMYXF4c0FWakt3cEdBRmNmWGZOQ3pSWEdVdVUxRlJEVHlY?=
 =?utf-8?B?S3gzOHpqeGZYa1Rmd0MvNXFxVnNJNW83TC8yeHhOYUswS1dlTFVyZ0U0WXV0?=
 =?utf-8?B?NWcxazd2QjB3WThaM0hCZk43bENhYS9yczFhRXlrT2wxMlNhbjErTnk3bk8v?=
 =?utf-8?B?R0F5YnRhSS91ZlpDL3M0ZE1Oam1BTWpKMFZBV1VsUG96V3NCcDYrMDNpaWZF?=
 =?utf-8?B?dzBLdjZCbVAvQlZobWQ0bmVYdjhvUjIvMFFQVExmanVkRkVPRVNqNlVpN0tv?=
 =?utf-8?B?NE9RemhSV0lkbjZ6SmdIUStkdDA2OFZnRGlQNWdIbjlMbk42VEtDTWJUOVdV?=
 =?utf-8?B?R3lkUDF2V0dhU3F6K293dkR0K2dKMVBneHZxME1UMEFHY3NFdWMyUnpHVU5Z?=
 =?utf-8?B?U3Q5cFRKSkpiMDFnUTBCVUhGaEpoYnlxMnBaWDFLOEdDaVJxWFFaNEdmb2Nh?=
 =?utf-8?B?V3NsdmdKTmlVb1I0OEY5ODY4YjZkcWZRYTRyLzhnUWYzNkxBVVdtV1c0RTM1?=
 =?utf-8?B?SUVvbi9EOVJMa1hJakZLOW02R3FJS0RReUJsbVlyZkFnUHhzSVRabzBycGRI?=
 =?utf-8?B?ekFtb3huQUZTQzR3S1djakNxa1hCeGFMS250OFJGNEFTM0pnWDJZUC9JM1hV?=
 =?utf-8?B?Nk0yVTZia3ZKR01BSDRzMTNuYklUZVMwc2RkbS9YTzUvRFAyd2NTR3g3Q1dC?=
 =?utf-8?B?b3BsV3UycWZTQzRuSXVvTHlqSkwrWXEzeWJoOWM2S3kwamh1UFIxdU5RcFg3?=
 =?utf-8?B?NVMyVGZua2FSZ1FJdXhsQ21hN2g0RXRNNkUzRTBmeXVrak50ak1rSi9wMmdT?=
 =?utf-8?B?L1dmZFFVS3hqcGU0cFo1cml0amRsRzVqcmVEVmNDalM1N1Foc3Vya3E5Z3o3?=
 =?utf-8?B?K0dRUmhWMmRWUC9RY0gvSlpyQ2xqemZjdTNDaGxkZ2xWT1ZzYldpWWgwNnBy?=
 =?utf-8?B?UFVacENFZDhPQ2p6RVNudE4zNWRURXZoQ2hnbUxsQUdEYWRGMHJ3SEpybHNm?=
 =?utf-8?B?dHZ4Z1hRYTFpdWJpT3VBQlNPdCtlYXl6eFN2NGE5RFZibFdhL0F6enRzQzI3?=
 =?utf-8?B?eFNFY1N1WFBWVkZXT1RMZE9wMFZlWFZuVDBFZE80Ym1ybFhOd0duellYZEsx?=
 =?utf-8?B?aTRaQ3lCa0FLTUd2Q1BJN3hMcHNuSHBwTm9tajJ5c1lyRXFhbzRvdENHbzJ6?=
 =?utf-8?B?OWF4N0VyalBTNjZwVVd3MExQM1hLZTBkL215QjgzSlV0b1VDN1pGNnd5Y2ZQ?=
 =?utf-8?B?MjVkcEJaMXVseHpWSW9vN2dnZThBYmpreE1lMElpYSt4aWxoTlJwN0RKMStY?=
 =?utf-8?B?V0VTR1ZQVWs3SWJMNm93bnNxS1l1dml2Nm9vUmtMd0NnZTFxRnQySWs0TDRM?=
 =?utf-8?B?bGZQT2lFYmlTdVcwN3d1UlFCcU1taHB6cjJZSGlhU21VSUdBenBObkZucUIv?=
 =?utf-8?B?Ulh4eWVndGNnTjJEdWpndXo4RENrVXlmVlkwNWowV0g5OGlpYXFISUxoVThP?=
 =?utf-8?B?TTZWSFNFWDlRb1IyanNNU0Y2RzNQcHkxc0d2V0tXMXJFc3hRZUxheCtOSm5J?=
 =?utf-8?B?MkFaY3FZSDZRRUFBdXdtbCtTTkZ4YzlzR3hsYi9OMmhjbWFlUjFsTmRzSGtQ?=
 =?utf-8?B?R0trNUJ4U0JGak03eEhyOHdQUU9PU1I4aFFjaC9DRFBZZHZIL3RHWlVTMTZE?=
 =?utf-8?B?dlErVEFMTUtTSGJGbElJdDZTUVdXOTdyVlN4eTZyYk9hZHVISlFDdUFWY3Uw?=
 =?utf-8?B?UXp3ZWdGK1NTNXBHd1lyZTJqYnlKNHl0M2loQ043MW5UYTVhbVhEckR6dGs4?=
 =?utf-8?B?cEo0NmNnZWswZWdwOTFTUEF1UjA2NExsaGY0MWhRdDJsaFp5cllYUEg4QWpv?=
 =?utf-8?B?MkZhSWJMcC9ENnhOaGVrZ2ZNb1djNUg1d3hCajV5dHlZVzAvUlZzdmtVdkVV?=
 =?utf-8?B?QWF2MjVaNlJMV2l4cjZ4MXY0aWtqbUFwUk9MR25yR3luNHA0dy9lTVpvZnZX?=
 =?utf-8?B?T2lONlYyVWNLYjlXMldaalhQVU11VWRJYno2Y0s0ZEk4MXR5N0EvNjFNMlpE?=
 =?utf-8?B?MlpyaFJobUZOZXp1d3ZlbGpBZFlPZys1T1hNS2lSaUtZaHFtb0dONTRkZmhp?=
 =?utf-8?Q?DNvc=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2154c0b6-2f57-4c95-95d0-08dd5a43e624
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 11:09:42.9564
 (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: dUE8ZriHkKorNrNBsi21zZk+GVrDJRuOAxDWKdCn01o8O6JDb3FEbV1BaXw5c/BS
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7640



On 03/03/2025 11:55, Bertrand Marquis wrote:
> 
> 
>> On 3 Mar 2025, at 11:37, Orzel, Michal <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 03/03/2025 11:27, Bertrand Marquis wrote:
>>>
>>>
>>> Fix platforms/Kconfig and Kconfig.debug help ident to respect the
>> NIT: s/ident/indent
> 
> Right sorry for that.
> Can it be fixed on commit ?
Of course. As for committing Arm patches I'd like to first wait for Stefano
to commit patches acked during freeze window that he apparently added to his list.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 11:11:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 11:11:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900196.1308114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp3iB-0001pn-MW; Mon, 03 Mar 2025 11:11:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900196.1308114; Mon, 03 Mar 2025 11: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 1tp3iB-0001pg-Jr; Mon, 03 Mar 2025 11:11:51 +0000
Received: by outflank-mailman (input) for mailman id 900196;
 Mon, 03 Mar 2025 11: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=8vS9=VW=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tp3iA-0001pY-It
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 11:11:50 +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 4ce9b261-f820-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 12:11:48 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-4398e839cd4so32388105e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 03:11:48 -0800 (PST)
Received: from [192.168.69.199] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bbf2ed24asm42494365e9.23.2025.03.03.03.11.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 03:11:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ce9b261-f820-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741000308; x=1741605108; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=TXePp6d66/7K7zoMgGcEq1LiVC+8JxroBjUksCe1hiA=;
        b=y2RJK1hZTHDI3TWzkyYyEuGS2OuAMml1tVJxLvif0AySuI0YyF7cObSLjUYGS5JW7W
         OwqD3XmXqK407MdS9+abx0BrezC3lgXHQHzIf0SsWTmTvgFftO3G9kS41uIxNPH5KuUl
         yCY+ILtCy96X8Nk0uj4RFCxhgeTubyVQPYMxN7wTptx2BaEYltF2xoBqxAyghYlrBKQy
         Op/Q3G5YkAXJh5PGvqaYRMO2UtRr10vlTZggndT3tbVNKL0Z8QMY1UH/69hIzlor8oTv
         0XlIyiMISkCsFMJJXHxRAtV+Rg9FcD5bLg2e4XKLTPb5OGScKdkrLE1j0D5hpp2gNWub
         gu2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741000308; x=1741605108;
        h=content-transfer-encoding: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=TXePp6d66/7K7zoMgGcEq1LiVC+8JxroBjUksCe1hiA=;
        b=I5LeIZ13qgqiVav9tBOG85v2XF5Ki04Som5q4Kq0C5qfGak8srV1o9DMbnAIXuvIby
         CdvVkb5CFFw//ixfwki62A2VrU0WEUrfpQ1vhdSw/kqfNuigvyjtrnyt4HmO64jHx0fl
         Ntbz8umT6h9h//HuDZWcK20kpF4/kWd/4U/gvKR08BmIgivB2E9dqk4K7JaGmVTxgB8L
         Xbag9LLKpmOBpQ3cq3xSzz0qSC9zqOtKlg5Y4+Obve4T5V5GHvCPWnsL1NMBq2J8eXq3
         qqGEM5Tjw6n+0XAcEhKQ43nLNwVzR0w/idgUVTTlqPa3yuFVhhpxBlgzSkz+j5yLlFcE
         JkZQ==
X-Forwarded-Encrypted: i=1; AJvYcCVbnWebcSahbwd7TfD0II38uaIwAiNaxPBLiZ/SprIeVkkmXc3vqB1PvnPZxb8+i5XulgzwAFjX4Yk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxdNQab1YbZ6vapCwmG2ebUncOiiTT+/gK19c6TxRtD4KZo+sEb
	bifC9r3ZfZyqZ3tZwmzx7ssK3BVhxMlMubpDjDUn5mqk5XKqMAawo7qsLA2aAck=
X-Gm-Gg: ASbGncuih/2fOqygfDau46Kn7AF1AYjuWNYk3JDrNpfBUCnDenWCnVJG5Ry+PCP2L9h
	EhaDqqSEZln+/NB9QR8Edfmf6buTz27dR3C5G+kAAFbRuW1ijymVmkvvfBv859Ge84bHmVSH/7Z
	Ecdul3fpNtBZW/8PDFkLc5Xapwh3yT3FujWAryuJb6gbTIwoJrGd2jyvmguF7hpy5I5IhgATpFq
	IsZAIcMnl6o6o7+M3NBn2OFzPtqY98UFGrBrSH2qSchszy2ZhhvkyJbUEeHS6ZM5H/XaW3pxzYn
	8X6McOjbhdE532s819slKoQC2lgs7kgzrUiriCyL8333q8ciznPkhVj51mqpeN8xaKeEmYDvxj3
	VD78lxARBLO7o
X-Google-Smtp-Source: AGHT+IGm6SS0Tx3aVo8Pdxgek5Qs1D2aBRLNyFmmaDPbcCk+FIV0Ui7BeXW1FUaE9y+wPzMb01+N2A==
X-Received: by 2002:a05:600c:548b:b0:439:9737:675b with SMTP id 5b1f17b1804b1-43ba6256610mr102706775e9.7.1741000308067;
        Mon, 03 Mar 2025 03:11:48 -0800 (PST)
Message-ID: <6fca1ca3-5746-4ca4-b8f3-c96cfe93a9e9@linaro.org>
Date: Mon, 3 Mar 2025 12:11:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/8] xen: Build fixes and dust removal
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-arm@nongnu.org,
 Anthony PERARD <anthony@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin"
 <mst@redhat.com>, David Woodhouse <dwmw2@infradead.org>,
 Vikram Garhwal <vikram.garhwal@bytedance.com>, Thomas Huth
 <thuth@redhat.com>, Jan Beulich <jbeulich@suse.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <20250218162618.46167-1-philmd@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250218162618.46167-1-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 18/2/25 17:26, Philippe Mathieu-DaudĂŠ wrote:

>    accel/Kconfig: Link XenPVH with GPEX PCIe bridge
>    hw/arm: Do not expose the virt machine on Xen-only binary
>    hw/arm/xen-pvh: Do not allow specifying any CPU type
>    hw/xen/xen-pvh: Reduce included headers
>    hw/xen/xen-hvm: Reduce included headers
>    hw/xen/xen-bus: Reduce included headers
>    hw/xen/xen-legacy-backend: Remove unused 'net/net.h' header
>    meson: Remove support for Xen on 32-bit ARM hosts

Queuing 1-2, 4-7 as I understand #8 needs rewording, thanks.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 11:52:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 11:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900208.1308124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp4Lo-00071M-Nv; Mon, 03 Mar 2025 11:52:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900208.1308124; Mon, 03 Mar 2025 11:52: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 1tp4Lo-00071F-L0; Mon, 03 Mar 2025 11:52:48 +0000
Received: by outflank-mailman (input) for mailman id 900208;
 Mon, 03 Mar 2025 11:52: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=8eIf=VW=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tp4Ln-000719-5r
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 11:52:47 +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 0238325f-f826-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 12:52:41 +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-141-3gNi_biRMyKoC-xLSZv9qg-1; Mon, 03 Mar 2025 06:52:36 -0500
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-4398ed35b10so19257415e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 03:52:36 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43aba5711fcsm193432675e9.28.2025.03.03.03.52.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 03:52:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0238325f-f826-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741002759;
	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=WCQNb4Zwl01zkLUWNEjK6UzQKXJ+OotwjxENzLzaBD0=;
	b=YZJIAcCe7EDsr7WrRM4AmNl4l3VuEU5fj2NaNwRVNqLllI/OfNibSqHfaAXinWh6+wc+d5
	V876DJt8dbBA9soLHi+0IAPvaqHLsSvJPjzfRWbdMfCFJ2TQlXzbWuyMGbGAQqllUvts7n
	ho0JtZXM/DKtjTPtf6h7/HkPtL3mNBw=
X-MC-Unique: 3gNi_biRMyKoC-xLSZv9qg-1
X-Mimecast-MFC-AGG-ID: 3gNi_biRMyKoC-xLSZv9qg_1741002755
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741002755; x=1741607555;
        h=content-transfer-encoding:in-reply-to:organization: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=WCQNb4Zwl01zkLUWNEjK6UzQKXJ+OotwjxENzLzaBD0=;
        b=ZZCHM3Yy3JZEIDtd2Zh6vbr7EtFVWALYEP38ImE6O1tyqDqcOUtJ3satWxXMU/rkAF
         XZaioWOW0ylJJSeffKRLYWpjfFQTNY8XZWEmIQqRlFxrpxiV/Ion+PWw7b2c/z7vohSd
         WQS1E/EBmlrv6otbCET3S6dDrKN+E3Mo5kHdZXp61zak2JYIC3vIgaizR+rIetIzem7M
         nCtIg5apuhwKrPlRHbBNbg7FNOSHXO/wufHajtnrLiFSYWRPTJtB7AzcFyR498ZQdMyB
         LiaJ+HDJtDqu4VOT1EdjYAKCgNNhu2YrGV3CL4EJrsVy/TXhyevZ20BzNJx+/RYxhMAq
         Mdtg==
X-Forwarded-Encrypted: i=1; AJvYcCVbDKV/PCBalwcpASlb5rWTkrYVlYG/IbqbjJZ9qTQ9gwpxWwOKwGcEYY8NUgfRSJfC53y/8atCDpQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHD7/bbXKbq4eXzZOsN+7R1IhCZl2hb5uqh2W+sDX8E8MeFHt6
	eY22bdxY9R3XSpW8DN3YcBD5IuAlDtN1v2kxc7kYnYZmJXIgG5cAiC+7x3kzCe9fm7R/LBFmLf6
	SjO2dLSPyTWBTcqe0PH0A7CT2UPPk+jUtOI1MUQ3TlVaANUIytiup06XoANtaZ0Ic
X-Gm-Gg: ASbGncsWuY/3nPa30iTjp0Z7EkSOR3J7bgM3N3RruxwB/u7VUhWJcUf6Yezfcpiyo+L
	oaLqkdS4bFjtzBAPpUTIef+IjQ7ULllnFLDsru3IlZeOrndWCixrdso8aQKggVctgc3QTFo28A4
	i3Xnmt3oJ8ztTqvrJAHDqHVmtB8gxzXSEUwJiXS+PYEpy1DqrE9ScPBaWUxXLdvN3PgQqPDYK8L
	G/WhNqrm+CKXrljmVhUOJI9ldvLb4XEUMXXl2T5vTXwxF4iAibLFOX7OYnpLYadCWmaEunyqBmk
	2guNKoBGQakNQRFpyrZBOrx5nUaJm5CHkLWDPLsyfqEsJq8B9jOsZqjbzfZx/+KXLdqKgw7+Ahc
	RnY8EwFwtCJHc3bvfW/8PGrcd9LoCndD+mJVmfWhMTGU=
X-Received: by 2002:a05:600c:3ca8:b0:439:a88f:8523 with SMTP id 5b1f17b1804b1-43ba6760622mr91900255e9.21.1741002755401;
        Mon, 03 Mar 2025 03:52:35 -0800 (PST)
X-Google-Smtp-Source: AGHT+IFTSfsUTkoO/or2iqdtsglYhk9ASXd3bpPBU2UgU+xONmgHuMQAHjbX/a34a1saMfjcf6uKjg==
X-Received: by 2002:a05:600c:3ca8:b0:439:a88f:8523 with SMTP id 5b1f17b1804b1-43ba6760622mr91900045e9.21.1741002755055;
        Mon, 03 Mar 2025 03:52:35 -0800 (PST)
Message-ID: <75031fe1-50d7-48d0-87bb-9c5c88f3b41c@redhat.com>
Date: Mon, 3 Mar 2025 12:52:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/4] Revert "x86/xen: allow nesting of same lazy mode"
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-5-ryan.roberts@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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250302145555.3236789-5-ryan.roberts@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: VzDvOGynh8Jr1Yr-z-CxwZpmcm1qbjOrKyU6nF-Y-CY_1741002755
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02.03.25 15:55, Ryan Roberts wrote:
> Commit 49147beb0ccb ("x86/xen: allow nesting of same lazy mode") was
> added as a solution for a core-mm code change where
> arch_[enter|leave]_lazy_mmu_mode() started to be called in a nested
> manner; see commit bcc6cc832573 ("mm: add default definition of
> set_ptes()").
> 
> However, now that we have fixed the API to avoid nesting, we no longer
> need this capability in the x86 implementation.
> 
> Additionally, from code review, I don't believe the fix was ever robust
> in the case of preemption occurring while in the nested lazy mode. The
> implementation usually deals with preemption by calling
> arch_leave_lazy_mmu_mode() from xen_start_context_switch() for the
> outgoing task if we are in the lazy mmu mode. Then in
> xen_end_context_switch(), it restarts the lazy mode by calling
> arch_enter_lazy_mmu_mode() for an incoming task that was in the lazy
> mode when it was switched out. But arch_leave_lazy_mmu_mode() will only
> unwind a single level of nesting. If we are in the double nest, then
> it's not fully unwound and per-cpu variables are left in a bad state.
> 
> So the correct solution is to remove the possibility of nesting from the
> higher level (which has now been done) and remove this x86-specific
> solution.
> 
> Fixes: 49147beb0ccb ("x86/xen: allow nesting of same lazy mode")

Does this patch here deserve this tag? IIUC, it's rather a cleanup now 
that it was properly fixed elsewhere.

> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 12:32:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 12:32:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900222.1308134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp4xk-0007uk-Lw; Mon, 03 Mar 2025 12:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900222.1308134; Mon, 03 Mar 2025 12: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 1tp4xk-0007ud-JO; Mon, 03 Mar 2025 12:32:00 +0000
Received: by outflank-mailman (input) for mailman id 900222;
 Mon, 03 Mar 2025 12:31: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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp4xj-0007uV-G1
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 12:31:59 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cf86eba-f82b-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 13:31:54 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-2235908a30aso58521515ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 04:31:54 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 41be03b00d2f7-aee7dec415asm8148550a12.54.2025.03.03.04.31.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 04:31:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cf86eba-f82b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741005113; x=1741609913; darn=lists.xenproject.org;
        h=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=Daj0dE4NslwzhQHXW+A3kG0p9KFFQL0eVUho/vVGfHA=;
        b=FUO2aCK6Ykcqzn6f+FyN0atFwxDRRhIndnr0nPt+ZiwBTiA6PBQJhyB4iX05lHUvKJ
         NZeC83f7U9l0HIRy54lz4KFR/Xc8Hirvgb91QLcsbX+Tk3iq2KFjanM6HES6o3Q8xVI6
         s9YTPJK1Fglp7eXAkgY8fmrOfTqUnMuh7VzhU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741005113; x=1741609913;
        h=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=Daj0dE4NslwzhQHXW+A3kG0p9KFFQL0eVUho/vVGfHA=;
        b=JBT602jqQ1Psx99PrJAFYEMrEu36UfXPc7PhrAl3DK/YM61Hy1mvtwNGAVvZ3EyC36
         94wpT+aDClpl6ooLqbnMjjeU8oH4e0RH8HcfWY5zpP0DmkB/jubwrQgs8IUXUWkI8fpj
         Nhx9YTbDLDO8p3qIXQEsMdOHzQV2B2ajZ3Q4QJOGg5le/RFya6dySJJs63o4WoJ5Sqzi
         ac1VutGcVMZUw3s53UgeTbUfMgSl0BSwKjV60RGgOgM5xLCbjZSe5/rTjaOGVgnEiW4S
         UARLSObwm6W8HLeb/XF1ORs2iWYd4GWvG2F4a9Ppldxstn5MPFbnd39Bdep7gMateUS7
         8ypw==
X-Gm-Message-State: AOJu0YzSaWSYqQsu/DyZkA3ze13G8cPB1Hf9jUhoeP7EI8PkZCCkL1ct
	2kpINmXg7w8H7QtyCplQfjVq9k/+YnwmQY2PYxUvexrcxsjkdP6KLguKwUEuNR8=
X-Gm-Gg: ASbGnctGXcqmmpFOFzDcJHSMmgnOOSjcfYW7KlmluieVroc8xcfeee/X8KQzE2T4T91
	aXPVeox7s9Gc+NjVUusnYfz+PiFGEbFAZyKInh2L3hfbUd7UfeGoVDnwJuv8PvPmK3+W1Uud/dM
	PlA9gYqBxbNl5BqJhgpZ8SzTakaNOhZgCyg7t61tKmj9RlsZXq25JXXXYeM/c4Zs4w7e/TOyPbT
	qAoQR5W3hDsmvU+cclagwwhjZI7fwnNqyztPNU6UaYIVnf5dKKD5ZNEUsOZ881Inzrk1FamN3H/
	IXHvM6sYAsXj3qUSBuNyXfYJxPP38FtKunLa26b1Uwu4R8bBjiePXW4=
X-Google-Smtp-Source: AGHT+IEcDwdH8vLK85pi9ZEl5PBH6IkPicfEJNCxQeanV3aq8D1maFiGqIvOdJUFTwjsjKFiTFXqeQ==
X-Received: by 2002:a05:6a20:72a1:b0:1f0:ea9e:bd6b with SMTP id adf61e73a8af0-1f2f4d222c5mr19065566637.20.1741005112964;
        Mon, 03 Mar 2025 04:31:52 -0800 (PST)
Date: Mon, 3 Mar 2025 13:31:46 +0100
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>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH] x86/asm: Remove semicolon from LOCK prefix
Message-ID: <Z8WhMupc003sQI69@macbook.local>
References: <20250228221213.2033895-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250228221213.2033895-1-andrew.cooper3@citrix.com>

On Fri, Feb 28, 2025 at 10:12:13PM +0000, Andrew Cooper wrote:
> Most of Xen's LOCK prefixes are already without semicolon, but we have a few
> still remaining in the tree.
> 
> As noted in the Linux patch, this adversly affects size/inlining decisions,
> and prevents the assembler from diagnosing some classes of error.
> 
> No functional change.
> 
> Link: https://lore.kernel.org/lkml/20250228085149.2478245-1-ubizjak@gmail.com/
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 12:33:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 12:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900229.1308145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp4zK-000064-0F; Mon, 03 Mar 2025 12:33:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900229.1308145; Mon, 03 Mar 2025 12: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 1tp4zJ-00005w-TC; Mon, 03 Mar 2025 12:33:37 +0000
Received: by outflank-mailman (input) for mailman id 900229;
 Mon, 03 Mar 2025 12: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp4zI-00005o-Be
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 12: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 b6d0b70d-f82b-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 13:33:31 +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 58026106F;
 Mon,  3 Mar 2025 04:33:44 -0800 (PST)
Received: from [10.1.26.155] (XHFQ2J9959.cambridge.arm.com [10.1.26.155])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E4DD33F673;
 Mon,  3 Mar 2025 04:33:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6d0b70d-f82b-11ef-9898-31a8f345e629
Message-ID: <8b218b95-f0e3-424c-815f-5131e3e54031@arm.com>
Date: Mon, 3 Mar 2025 12:33:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/4] Revert "x86/xen: allow nesting of same lazy mode"
Content-Language: en-GB
To: David Hildenbrand <david@redhat.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-5-ryan.roberts@arm.com>
 <75031fe1-50d7-48d0-87bb-9c5c88f3b41c@redhat.com>
From: Ryan Roberts <ryan.roberts@arm.com>
In-Reply-To: <75031fe1-50d7-48d0-87bb-9c5c88f3b41c@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/03/2025 11:52, David Hildenbrand wrote:
> On 02.03.25 15:55, Ryan Roberts wrote:
>> Commit 49147beb0ccb ("x86/xen: allow nesting of same lazy mode") was
>> added as a solution for a core-mm code change where
>> arch_[enter|leave]_lazy_mmu_mode() started to be called in a nested
>> manner; see commit bcc6cc832573 ("mm: add default definition of
>> set_ptes()").
>>
>> However, now that we have fixed the API to avoid nesting, we no longer
>> need this capability in the x86 implementation.
>>
>> Additionally, from code review, I don't believe the fix was ever robust
>> in the case of preemption occurring while in the nested lazy mode. The
>> implementation usually deals with preemption by calling
>> arch_leave_lazy_mmu_mode() from xen_start_context_switch() for the
>> outgoing task if we are in the lazy mmu mode. Then in
>> xen_end_context_switch(), it restarts the lazy mode by calling
>> arch_enter_lazy_mmu_mode() for an incoming task that was in the lazy
>> mode when it was switched out. But arch_leave_lazy_mmu_mode() will only
>> unwind a single level of nesting. If we are in the double nest, then
>> it's not fully unwound and per-cpu variables are left in a bad state.
>>
>> So the correct solution is to remove the possibility of nesting from the
>> higher level (which has now been done) and remove this x86-specific
>> solution.
>>
>> Fixes: 49147beb0ccb ("x86/xen: allow nesting of same lazy mode")
> 
> Does this patch here deserve this tag? IIUC, it's rather a cleanup now that it
> was properly fixed elsewhere.

Now that nesting is not possible, yes it is just a cleanup. But when nesting was
possible, as far as I can tell it was buggy, as per my description. So it's a
bug bug that won't ever trigger once the other fixes are applied. Happy to
remove the Fixes and then not include it for stable for v2. That's probably
simplest.

> 
>> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> 
> Acked-by: David Hildenbrand <david@redhat.com>
> 



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 12:49:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 12:49:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900239.1308154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp5Ee-0002JQ-7h; Mon, 03 Mar 2025 12:49:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900239.1308154; Mon, 03 Mar 2025 12:49: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 1tp5Ee-0002JJ-58; Mon, 03 Mar 2025 12:49:28 +0000
Received: by outflank-mailman (input) for mailman id 900239;
 Mon, 03 Mar 2025 12:49: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=WnrA=VW=gaisler.com=andreas@srs-se1.protection.inumbo.net>)
 id 1tp5Ed-0002JD-4E
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 12:49:27 +0000
Received: from smtp-out3.simply.com (smtp-out3.simply.com [94.231.106.210])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efdd03ba-f82d-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 13:49:25 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by smtp.simply.com (Simply.com) with ESMTP id 4Z5zCn0L6Nz1FbbL;
 Mon,  3 Mar 2025 13:49:25 +0100 (CET)
Received: from [10.10.15.10] (h-98-128-223-123.NA.cust.bahnhof.se
 [98.128.223.123])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by smtp.simply.com (Simply.com) with ESMTPSA id 4Z5zCm2wxFz1FbZs;
 Mon,  3 Mar 2025 13:49:24 +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: efdd03ba-f82d-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gaisler.com;
	s=unoeuro; t=1741006164;
	bh=uVrbTI227oB4DG3Xp0tOkuWBdxLi0PVMRa8nC6AqCqk=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To;
	b=nP9dd9JW/wd7xfGVmIclsUAW7Lk6Vl6kAIG/wni38v7deAa6waS1Ayjqwmql3o84n
	 DZdS63CtpqFoNU3dj2tHF2SuUw3KIn/WTjJVIXHYffz8D4NJUG2Hd1Uk8YLjjoYulN
	 RX9/cvuf0Gb2o/aPBXh4plpcFNu8CtVnLb9vpzg4=
Message-ID: <8367749d-8dd7-40f5-881e-8f45e432a91d@gaisler.com>
Date: Mon, 3 Mar 2025 13:49:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
To: David Hildenbrand <david@redhat.com>, Ryan Roberts
 <ryan.roberts@arm.com>, Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
 <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
 <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
 <1ff509c7-187b-4e43-b266-db8ada33b9a2@arm.com>
 <34388e5d-f9d1-4d29-a0e0-202a9fad345f@redhat.com>
Content-Language: en-US
From: Andreas Larsson <andreas@gaisler.com>
In-Reply-To: <34388e5d-f9d1-4d29-a0e0-202a9fad345f@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2025-03-03 11:30, David Hildenbrand wrote:
> On 03.03.25 11:22, Ryan Roberts wrote:[snip]
>>
>> I didn't actually cc stable on these, I'm wondering if I should do that? Perhaps
>> for all patches except the pagemap change?
> 
> That would make sense to me. CC stable likely doesn't hurt here. (although I wonder if anybody cares about stable on sparc :))

Yes, stable is important for sparc just as well as for other architectures.

Cheers,
Andreas


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 12:57:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 12:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900247.1308165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp5MJ-0003qQ-Vs; Mon, 03 Mar 2025 12:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900247.1308165; Mon, 03 Mar 2025 12: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 1tp5MJ-0003qJ-Sp; Mon, 03 Mar 2025 12:57:23 +0000
Received: by outflank-mailman (input) for mailman id 900247;
 Mon, 03 Mar 2025 12:57: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=8eIf=VW=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tp5MI-0003qD-S0
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 12:57:22 +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 0a566714-f82f-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 13:57:20 +0100 (CET)
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-643-yVRWKSThPwW7blzt9yi5bg-1; Mon, 03 Mar 2025 07:57:17 -0500
Received: by mail-wr1-f71.google.com with SMTP id
 ffacd0b85a97d-390eefb2913so1883013f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 04:57:17 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43aba58720esm192864235e9.40.2025.03.03.04.57.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 04:57:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a566714-f82f-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741006639;
	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=ZbBY5HPs9/ORp5FjR/nRtWeFfyn4LQ+KsSmcov6oEIs=;
	b=O8VUX6/41saOK9i2QbZoS/KjcVl1vYD7QFv6Xc/OBltqy3fLtc83JHAtjDweRXJaa2iSwg
	wPBc5L82YmMpfllNQhKs5Lc6/ysWMz7Vop9zAXI6M145Zv8soYf1zArWptLE58cZaVU3gU
	tYXRjPXnMbznMAuOu05o+uFQZbHD18s=
X-MC-Unique: yVRWKSThPwW7blzt9yi5bg-1
X-Mimecast-MFC-AGG-ID: yVRWKSThPwW7blzt9yi5bg_1741006636
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741006636; x=1741611436;
        h=content-transfer-encoding:in-reply-to:organization: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=ZbBY5HPs9/ORp5FjR/nRtWeFfyn4LQ+KsSmcov6oEIs=;
        b=gjXKv0Glp1CmYnVu4t4qtyqvJtKrHWfNUWtV1EuPxvHg1QDwTO8ij2vDmAUam+aXTU
         WB/PQe/MHjoWMqlNEz0ZyCFXnwRpgAh4bOei0stKb6M24fXBg6NnQ5VlTOIEbDW/2a0w
         jjOnqxgcftf7nLEaBGceb+CNjbwICHiyXC5mIqbQGfsuGFMckwZKtQUFDXTYTp/407NV
         GZ/l/eu5yZq7kvGijLvFfFYXjd/KQXPZjX2ZQwVc0YYKg5ay6kLunpTisb8FCyOG+nG9
         +e0I20WAZzu35VafrJUBev5nCv9pa/jbG4M62d64/jfZc31ulOYOm3KcTgS2PHS9pgh6
         zKtQ==
X-Forwarded-Encrypted: i=1; AJvYcCVJWcBY2H+mDWvjsoc6XdRcr078qC/8f+lKWnCX/JHKgV6UuQX0YI3qH8OPp+Ko0IZ8cng4y8uESP4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyoyswHKTCeZd6csxkpbArO5UmoZ/7uE2aC1/Raj+DShA42CTN/
	WWMEGBX7dS3k6U6DEhGOMZBCAF+WqTuoQh3ET96bii/zLxlaWry9DIrLRTUqg2zKGBFqQnEK9OQ
	oHBS+9gCc+gLqyryTwy9PWfLj6kzsf/RsP978e+umjooxFnPI3cPauPMLRoEi25ex
X-Gm-Gg: ASbGncs6SgwaBvLcHGByfXngkVjSFui7y1tSlGYFSuuEwC+Lyq95rxfmJiQfOLP7gZ7
	DatioYqVLVnr1Iqx3iDVOBXxvRBUBKCrDK/9hzxOxy0ciMY6zz7LJEnns/r0FM2n+SYTVTjC5yJ
	HZyZ648e4OCppHTVQyAv4KP468S33IPHa9h3ceZDq5i43F23ISsQr+Y7y7A+kzKRNaBQL2NKyd1
	Z4pEGYZCJhMFt9Ju+Un+5o2XgYsNjagnJQqbVPOG6QgTiIOpjbiotsGbA21PG6t+mu5P85UPida
	CGE/tA7YWsqk8KUzhk3aqvRTTEjRI5QIySTukJ/b0j0IY9vMptjNu+glgnCgpvLHweLJ7cvc8tf
	fDQDVkqq2DShhrQNn/m7rvXNpCTnaUu+LqEwdkH6UjQY=
X-Received: by 2002:a05:6000:1568:b0:390:f6aa:4e7c with SMTP id ffacd0b85a97d-390f6aa506dmr8548945f8f.28.1741006636466;
        Mon, 03 Mar 2025 04:57:16 -0800 (PST)
X-Google-Smtp-Source: AGHT+IGt3HqyWX69UNDm73XEavs4Jp5ikaGr7A82bFQLZfzfQ+Yf4WqMH1KFtPhi3+sLuqezP58sLw==
X-Received: by 2002:a05:6000:1568:b0:390:f6aa:4e7c with SMTP id ffacd0b85a97d-390f6aa506dmr8548914f8f.28.1741006636083;
        Mon, 03 Mar 2025 04:57:16 -0800 (PST)
Message-ID: <1fc8281b-72a2-454f-88dc-288084482cec@redhat.com>
Date: Mon, 3 Mar 2025 13:57:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/4] Revert "x86/xen: allow nesting of same lazy mode"
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-5-ryan.roberts@arm.com>
 <75031fe1-50d7-48d0-87bb-9c5c88f3b41c@redhat.com>
 <8b218b95-f0e3-424c-815f-5131e3e54031@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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <8b218b95-f0e3-424c-815f-5131e3e54031@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: RLs5DlJGQITdQSQlMpO3hv13fJSs2vyD9s7zNVJw2JM_1741006636
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03.03.25 13:33, Ryan Roberts wrote:
> On 03/03/2025 11:52, David Hildenbrand wrote:
>> On 02.03.25 15:55, Ryan Roberts wrote:
>>> Commit 49147beb0ccb ("x86/xen: allow nesting of same lazy mode") was
>>> added as a solution for a core-mm code change where
>>> arch_[enter|leave]_lazy_mmu_mode() started to be called in a nested
>>> manner; see commit bcc6cc832573 ("mm: add default definition of
>>> set_ptes()").
>>>
>>> However, now that we have fixed the API to avoid nesting, we no longer
>>> need this capability in the x86 implementation.
>>>
>>> Additionally, from code review, I don't believe the fix was ever robust
>>> in the case of preemption occurring while in the nested lazy mode. The
>>> implementation usually deals with preemption by calling
>>> arch_leave_lazy_mmu_mode() from xen_start_context_switch() for the
>>> outgoing task if we are in the lazy mmu mode. Then in
>>> xen_end_context_switch(), it restarts the lazy mode by calling
>>> arch_enter_lazy_mmu_mode() for an incoming task that was in the lazy
>>> mode when it was switched out. But arch_leave_lazy_mmu_mode() will only
>>> unwind a single level of nesting. If we are in the double nest, then
>>> it's not fully unwound and per-cpu variables are left in a bad state.
>>>
>>> So the correct solution is to remove the possibility of nesting from the
>>> higher level (which has now been done) and remove this x86-specific
>>> solution.
>>>
>>> Fixes: 49147beb0ccb ("x86/xen: allow nesting of same lazy mode")
>>
>> Does this patch here deserve this tag? IIUC, it's rather a cleanup now that it
>> was properly fixed elsewhere.
> 
> Now that nesting is not possible, yes it is just a cleanup. But when nesting was
> possible, as far as I can tell it was buggy, as per my description.

Right, I understood that part.

> So it's a
> bug bug that won't ever trigger once the other fixes are applied. Happy to
> remove the Fixes and then not include it for stable for v2. That's probably
> simplest.

I was just curious, because it sounded like the actual fix was the other 
patch. Whatever you think is best :)

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 13:39:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 13:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900261.1308174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp60z-0000mS-Uy; Mon, 03 Mar 2025 13:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900261.1308174; Mon, 03 Mar 2025 13:39: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 1tp60z-0000mL-SA; Mon, 03 Mar 2025 13:39:25 +0000
Received: by outflank-mailman (input) for mailman id 900261;
 Mon, 03 Mar 2025 13:39: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=WnrA=VW=gaisler.com=andreas@srs-se1.protection.inumbo.net>)
 id 1tp60y-0000mF-Jj
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 13:39:24 +0000
Received: from smtp-out3.simply.com (smtp-out3.simply.com [94.231.106.210])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea37ac34-f834-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 14:39:22 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by smtp.simply.com (Simply.com) with ESMTP id 4Z60KQ0fWkz1FbZy;
 Mon,  3 Mar 2025 14:39:22 +0100 (CET)
Received: from [10.10.15.10] (h-98-128-223-123.NA.cust.bahnhof.se
 [98.128.223.123])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by smtp.simply.com (Simply.com) with ESMTPSA id 4Z60KP1Hk1z1DDhC;
 Mon,  3 Mar 2025 14:39: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: ea37ac34-f834-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gaisler.com;
	s=unoeuro; t=1741009161;
	bh=/93h/VFBMXUYlK5HJY61WVbB5bIOZygI64XeIBe95nE=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To;
	b=RFhGDprUngIX8B/WksXu5qCl6jvG6Ue2AZeNLU2uztLVehbOrf4Be7sdpXV7apQAV
	 L5G/0zYDuoS1MZLUHtd9Cg4ltQmBCZYtoSFItZZTzSCMQlto/+shrAINuGubsl6a9Z
	 zhVJuX2/VxHBfRJjuhyVJhRfswfIwjfgKGq1o31k=
Message-ID: <b2b03b41-8442-4c68-9c00-05e524673fe0@gaisler.com>
Date: Mon, 3 Mar 2025 14:39:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] sparc/mm: Disable preemption in lazy mmu mode
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-3-ryan.roberts@arm.com>
Content-Language: en-US
From: Andreas Larsson <andreas@gaisler.com>
In-Reply-To: <20250302145555.3236789-3-ryan.roberts@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2025-03-02 15:55, Ryan Roberts wrote:
> Since commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with
> lazy updates") it's been possible for arch_[enter|leave]_lazy_mmu_mode()
> to be called without holding a page table lock (for the kernel mappings
> case), and therefore it is possible that preemption may occur while in
> the lazy mmu mode. The Sparc lazy mmu implementation is not robust to
> preemption since it stores the lazy mode state in a per-cpu structure
> and does not attempt to manage that state on task switch.
> 
> Powerpc had the same issue and fixed it by explicitly disabling
> preemption in arch_enter_lazy_mmu_mode() and re-enabling in
> arch_leave_lazy_mmu_mode(). See commit b9ef323ea168 ("powerpc/64s:
> Disable preemption in hash lazy mmu mode").
> 
> Given Sparc's lazy mmu mode is based on powerpc's, let's fix it in the
> same way here.
> 
> Fixes: 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy updates")
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>  arch/sparc/mm/tlb.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
> index 8648a50afe88..a35ddcca5e76 100644
> --- a/arch/sparc/mm/tlb.c
> +++ b/arch/sparc/mm/tlb.c
> @@ -52,8 +52,10 @@ void flush_tlb_pending(void)
>  
>  void arch_enter_lazy_mmu_mode(void)
>  {
> -	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
> +	struct tlb_batch *tb;
>  
> +	preempt_disable();
> +	tb = this_cpu_ptr(&tlb_batch);
>  	tb->active = 1;
>  }
>  
> @@ -64,6 +66,7 @@ void arch_leave_lazy_mmu_mode(void)
>  	if (tb->tlb_nr)
>  		flush_tlb_pending();
>  	tb->active = 0;
> +	preempt_enable();
>  }
>  
>  static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,

Acked-by: Andreas Larsson <andreas@gaisler.com>

Thanks,
Andreas


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 13:39:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 13:39:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900264.1308184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp61J-00014y-5e; Mon, 03 Mar 2025 13:39:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900264.1308184; Mon, 03 Mar 2025 13:39: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 1tp61J-00014r-2w; Mon, 03 Mar 2025 13:39:45 +0000
Received: by outflank-mailman (input) for mailman id 900264;
 Mon, 03 Mar 2025 13:39: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=WnrA=VW=gaisler.com=andreas@srs-se1.protection.inumbo.net>)
 id 1tp61H-0000mF-Gl
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 13:39:43 +0000
Received: from smtp-out3.simply.com (smtp-out3.simply.com [94.231.106.210])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f679572a-f834-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 14:39:42 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by smtp.simply.com (Simply.com) with ESMTP id 4Z60Kp3w73z1FbbW;
 Mon,  3 Mar 2025 14:39:42 +0100 (CET)
Received: from [10.10.15.10] (h-98-128-223-123.NA.cust.bahnhof.se
 [98.128.223.123])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by smtp.simply.com (Simply.com) with ESMTPSA id 4Z60Kn4PqSz1Fb3J;
 Mon,  3 Mar 2025 14:39:41 +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: f679572a-f834-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gaisler.com;
	s=unoeuro; t=1741009182;
	bh=U9UNcI/nx3v8USmf6+dAWPsF1rNLmjoWXEBhsh+2uHs=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To;
	b=p0KolgJx4p9btvk6fYlk/66A1PpkCAcDXoLwwd13tXWlLgCyaTRqeAZoowkRKGUcz
	 a93BO8cm7m7V9NR5W2AabYKC+pmXp6QfOyzdLHkjLMMme9YAVr/Jk545VauJVRJBRF
	 f0+BgLYnD++BR/MTcLl9Jh8F872XyJXNOzOZA4ck=
Message-ID: <f99125f1-e4e4-4ee8-909d-8e8d0618d54b@gaisler.com>
Date: Mon, 3 Mar 2025 14:39:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] sparc/mm: Avoid calling
 arch_enter/leave_lazy_mmu() in set_ptes
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-4-ryan.roberts@arm.com>
Content-Language: en-US
From: Andreas Larsson <andreas@gaisler.com>
In-Reply-To: <20250302145555.3236789-4-ryan.roberts@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2025-03-02 15:55, Ryan Roberts wrote:
> With commit 1a10a44dfc1d ("sparc64: implement the new page table range
> API") set_ptes was added to the sparc architecture. The implementation
> included calling arch_enter/leave_lazy_mmu() calls.
> 
> The patch removes the usage of arch_enter/leave_lazy_mmu() since this
> implies nesting of lazy mmu regions which is not supported. Without this
> fix, lazy mmu mode is effectively disabled because we exit the mode
> after the first set_ptes:
> 
> remap_pte_range()
>   -> arch_enter_lazy_mmu()
>   -> set_ptes()
>       -> arch_enter_lazy_mmu()
>       -> arch_leave_lazy_mmu()
>   -> arch_leave_lazy_mmu()
> 
> Powerpc suffered the same problem and fixed it in a corresponding way
> with commit 47b8def9358c ("powerpc/mm: Avoid calling
> arch_enter/leave_lazy_mmu() in set_ptes").
> 
> Fixes: 1a10a44dfc1d ("sparc64: implement the new page table range API")
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>  arch/sparc/include/asm/pgtable_64.h | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
> index 2b7f358762c1..dc28f2c4eee3 100644
> --- a/arch/sparc/include/asm/pgtable_64.h
> +++ b/arch/sparc/include/asm/pgtable_64.h
> @@ -936,7 +936,6 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
>  static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
>  		pte_t *ptep, pte_t pte, unsigned int nr)
>  {
> -	arch_enter_lazy_mmu_mode();
>  	for (;;) {
>  		__set_pte_at(mm, addr, ptep, pte, 0);
>  		if (--nr == 0)
> @@ -945,7 +944,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
>  		pte_val(pte) += PAGE_SIZE;
>  		addr += PAGE_SIZE;
>  	}
> -	arch_leave_lazy_mmu_mode();
>  }
>  #define set_ptes set_ptes

Acked-by: Andreas Larsson <andreas@gaisler.com>

Thanks,
Andreas


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 13:41:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 13:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900280.1308194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp62r-0002nb-I2; Mon, 03 Mar 2025 13:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900280.1308194; Mon, 03 Mar 2025 13: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 1tp62r-0002nU-FY; Mon, 03 Mar 2025 13:41:21 +0000
Received: by outflank-mailman (input) for mailman id 900280;
 Mon, 03 Mar 2025 13:41: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tp62p-0002nJ-Ng
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 13:41: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 2ececfb3-f835-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 14:41:17 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso28901115e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 05:41:17 -0800 (PST)
Received: from [10.81.43.157] ([46.149.103.8])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bc032d049sm42143815e9.5.2025.03.03.05.41.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 05:41:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ececfb3-f835-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741009277; x=1741614077; 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=NNWjXg2MbYw3M2sN0f6p8zueWcvOU/XnaalIRCv1Bio=;
        b=sVDQfxDaKx6UmxE+fzFxTs/pW7kafTeAX80RB194Xh7u6q7LgsQrQUwicpkE9PTJBy
         G6nUfCUievRtR4cNBfjaYWpb919MlEgK52Kz4mDCFKL9xbfn8Q6NB2L8d7+KQe8mSeiv
         tr9gqSEg0vu43SCk/pSIktkZJxIX9oRbrIBn8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741009277; x=1741614077;
        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=NNWjXg2MbYw3M2sN0f6p8zueWcvOU/XnaalIRCv1Bio=;
        b=nnRJyyIMmf9/I3Ve/4A6bCsEFQyGG459N8xA3ZezqOrAaDxmbDQBMfe9n4sNx9DK2m
         F6w0G1vW4gxqEQYkfuYr7ja8/JhWNVmk1P5J3ikaZumTzBKFu22PntmNfO/h+08O225Y
         FNNDYQEfROiYOsqEKPQgV9qYYmdQtstkX+y4NnmLA443Le8rw5WDFoDSzJeIG9GqfUc7
         ea7PuxGny5HeZmRy1N3lrjl1THV1DL4ZbZFUf11SJyRNq96FOMmoZdGeWO2dnxNCPVCW
         Dxx8KoabbbFsPn6h9uI8n0hmYsHgJNixslVjeotUykQVtJ/sKvuMT/ykh2V7IQxN1IHL
         Koog==
X-Forwarded-Encrypted: i=1; AJvYcCW6UQ49aPx+VPvEVhPHBxtw9NcSONldDjRONusR0+kbWuI7I2ku+ph1qJtVXX/h9NXy4/UbgN6A9yg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyfLzlV+35sw7f8XVTo6yChqgVeru9UCvYJ4bNQ+UkLst7h9YG5
	IItp4dzk9Jw5rOdZF8+fdcfcd5MVoXOUK+pqIfivQib45zSX/8jI3yCemNDUqbU=
X-Gm-Gg: ASbGncv2zTlhvGg0z9oYDI6kwpL7IrBdegt9PYSVeHb9flLR8lubZ5JBZtptD+yGUP1
	m8GOt1ZxTeHQOJmVAo+xGtr4hB2f4cruFeCB+AJKK1QlNbG9riZE4Q9guL0gfXrHGBHjiYaHsjd
	HLyEHt2GCVXYgo/R59l95qASbddkxO/i9M9VLqnc2FPK2Jblr01t2PYOx4kV1a6inTjFMXKzJtV
	NBOWw3iwtjLwGRtpR+B8Pygj54vVyuOovkKcPWC4Hvqs5RJvd7JKAO/fhyNjcfGl4jWlhKTrcdR
	lXfFKaC87ylO8T9Od2OoDC568d7RLpQG8Va85oN/3gkQ0eNs2iNelQ==
X-Google-Smtp-Source: AGHT+IHArfMtrlkDuSBkXTkU2cpDt/A9+4Fv1TN6tXHCzRqkeDa4hSNkCir7dHRqLHSTxQXm6v2lxQ==
X-Received: by 2002:a05:600c:5014:b0:439:9a40:aa09 with SMTP id 5b1f17b1804b1-43ba730d731mr92929715e9.25.1741009276888;
        Mon, 03 Mar 2025 05:41:16 -0800 (PST)
Message-ID: <915229bd-a930-422e-a915-6414c3224c93@citrix.com>
Date: Mon, 3 Mar 2025 13:41:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250303091908.38846-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: <20250303091908.38846-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/03/2025 9:19 am, Roger Pau Monne wrote:
> The MMIO_CONF_BASE reports the base of the MCFG range on AMD systems.
> Currently Linux is unconditionally attempting to read the MSR without a
> safe MSR accessor, and since Xen doesn't allow access to it Linux reports
> the following error:
>
> unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
> Call Trace:
>  <TASK>
>  ? ex_handler_msr+0x11e/0x150
>  ? fixup_exception+0x81/0x300
>  ? exc_general_protection+0x138/0x410
>  ? asm_exc_general_protection+0x22/0x30
>  ? xen_do_read_msr+0x7f/0xa0
>  xen_read_msr+0x1e/0x30
>  amd_get_mmconfig_range+0x2b/0x80
>  quirk_amd_mmconfig_area+0x28/0x100
>  ? quirk_system_pci_resources+0x2b/0x150
>  pnp_fixup_device+0x39/0x50
>  __pnp_add_device+0xf/0x150
>  pnp_add_device+0x3d/0x100
>  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
>  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
>  ? acpi_walk_resources+0xbb/0xd0
>  pnpacpi_add_device_handler+0x1f9/0x280
>  acpi_ns_get_device_callback+0x104/0x1c0
>  ? _raw_spin_unlock_irqrestore+0x18/0x20
>  ? down_timeout+0x3a/0x60
>  ? _raw_spin_lock_irqsave+0x14/0x40
>  acpi_ns_walk_namespace+0x1d0/0x260
>  ? _raw_spin_unlock_irqrestore+0x18/0x20
>  ? __pfx_acpi_ns_get_device_callback+0x10/0x10
>  acpi_get_devices+0x8a/0xb0
>  ? __pfx_pnpacpi_add_device_handler+0x10/0x10
>  ? __pfx_pnpacpi_init+0x10/0x10
>  pnpacpi_init+0x50/0x80
>  do_one_initcall+0x46/0x2e0
>  kernel_init_freeable+0x1da/0x2f0
>  ? __pfx_kernel_init+0x10/0x10
>  kernel_init+0x16/0x1b0
>  ret_from_fork+0x30/0x50
>  ? __pfx_kernel_init+0x10/0x10
>  ret_from_fork_asm+0x1b/0x30
>  </TASK>
>
> Such access is conditional to the presence of a device with PnP ID
> "PNP0c01", which triggers the execution of the quirk_amd_mmconfig_area()
> function.  Note that prior to commit 3fac3734c43a MSR accesses when running
> as a PV guest would always use the safe variant, and thus silently handle
> the #GP.
>
> Fix by allowing access to the MSR on AMD systems, returning 0 for
> unprivileged domains (MMIO configuration space disabled), and the native
> value for the hardware domain.
>
> The non hardware domain logic will need to be adjusted if in the future we
> expose an MCFG region to such domains.
>
> Write attempts to the MSR will still result in #GP for all domain types.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
> Changes since v2:
>  - Expand commit message to note which device triggers the MSR read.
> ---
>  xen/arch/x86/msr.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
> index 1550fd9ec9f3..c1e616a3a757 100644
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -318,6 +318,21 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
>          *val = 0;
>          break;
>  
> +    case MSR_FAM10H_MMIO_CONF_BASE:
> +        if ( !(cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) )
> +            goto gp_fault;
> +
> +        /*
> +         * Report MMIO configuration space is disabled unconditionally for
> +         * domUs, as the emulated chipset doesn't support ECAM.  For dom0
> +         * return the hardware value.
> +         */
> +        *val = 0;
> +        if ( is_hardware_domain(d) && rdmsr_safe(msr, *val) )
> +            goto gp_fault;
> +
> +        break;

It doesn't matter right now, but reporting MMCFG disable is likely to
interfere with Q35 support when we do present such a range.

For PVH dom0, do we guarantee this range is identity mapped?Â  Or at
least, doesn't have plain RAM in?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 13:52:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 13:52:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900298.1308205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6DW-0007Ok-Hn; Mon, 03 Mar 2025 13:52:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900298.1308205; Mon, 03 Mar 2025 13:52: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 1tp6DW-0007Od-ER; Mon, 03 Mar 2025 13:52:22 +0000
Received: by outflank-mailman (input) for mailman id 900298;
 Mon, 03 Mar 2025 13:52: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=1KmY=VW=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1tp6DV-0007OX-A7
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 13:52:21 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b97b7739-f836-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 14:52:19 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-abf4b376f2fso354442666b.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 05:52:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b97b7739-f836-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741009939; x=1741614739; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=QPnh8amj6enWKzIhR062+TBgsv+8vsn9HyG1cXAF+c8=;
        b=aEQ/jkTnNc1AmLySHZbGHooLIblph74R0NT5QHFbGs6x1M0czpD7FTfJ2DITd0zVtT
         GBBj44td0Wz0ai6h5FTP71jt2rm2WaR67Lrhx7IROCe6YZZu8uzphJaZMchpqq0LeG0e
         AyFYPDZwaOiUOvTgQYZbmRwtrBM1s9jyZHZOM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741009939; x=1741614739;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QPnh8amj6enWKzIhR062+TBgsv+8vsn9HyG1cXAF+c8=;
        b=NH1WfvYGtOMgRNShZHjTXi62aOJOir98F3Do/pNmR51RGR3js7zHaAgHDUpQJ1ksdk
         zwUOnE4w0VAhysu5k3F6UnAB18DbwdEc2AikWr9BunaefZ026YUH7roEXt7nflZKj97D
         sQIQHPSeCLIya8n0MSs0nInT02za8Uz8/HPltTfV03PE3mpK3ZgqoWQGDuY4C6cdpWsT
         ebvzkzej27PepMhWAgeWFVmgvStj6IZY+uBd5pgw9RLuWQSxDeCAUHYRyYeYWEK2SeAO
         nIyPGM00LQ9PkdiSGBwYTe8wpLCxOdUVNvcujE/shJY6MaOmKGJ3lv6t2i3bPM8TWXor
         qK0g==
X-Gm-Message-State: AOJu0YxDQigaqIOaEKn0eeyGC7wiLxTP4MZT71qZVetFKTfBYyPKrjHb
	0LVk+JJwWuhmiZOSkDQEpFw3Oxne2Iluf2ZtCSFinz06pMzp3Id24iT0bdmC/dt3PBtjI6/fBvY
	yGPYSbiS94nVAikJICtRFbZ/aHZyCkc7XoZxum/s9/zGD5XgnTw+3HA==
X-Gm-Gg: ASbGncvjaDW3esUvR1NE6NVdIHypxy6a8uVR7PRqQczGvSgpxwjcrv3LBH4QcsmiGPK
	jOblw2GVH0t7zwNhx0u7nA/57RNKBlYwm1PfNbYAHVwCGKV2rl0rMDjUSIyhqH/A5xhJwth4sDT
	H/D6Be6vLvDAP2zwnLDTLi8F3ChB4gy2RtDtyvi52IKjD+2XJWxRsIk74Kf4I=
X-Google-Smtp-Source: AGHT+IFYz7oejKfNoztgWDzw36/uQaD6w0XRMLwoX2QMYH0g6a7+xn4adMtqYqaauCAV6lbi1LzPdXe2zDNkIHgoPmE=
X-Received: by 2002:a17:907:7f25:b0:abf:7a26:c47b with SMTP id
 a640c23a62f3a-abf7a26c60bmr320980866b.39.1741009938613; Mon, 03 Mar 2025
 05:52:18 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 3 Mar 2025 13:51:42 +0000
X-Gm-Features: AQ5f1JoORI4O7QoY26oiFHIIvFLl-e6lagIjzPJuDCeRbnw-Twq5n4H7YKnj8DY
Message-ID: <CAO-mL=zHSabDAt5faxWgsH7aFjnAQUAd25OgA-GMxyrCynKC5A@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items - Community Call 6th March 2025
To: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000f1305d062f7076c4"

--000000000000f1305d062f7076c4
Content-Type: text/plain; charset="UTF-8"

Hi all,

Please add your proposed agenda items below. If any action items are
missing or have been resolved, please add/remove them from the sheet.

https://cryptpad.fr/pad/#/2/pad/edit/5aJq20OOLdSZ+nspYGPpVWYr/

*CALL LINK:* https://meet.jit.si/XenProjectCommunityCall
<https://www.google.com/url?q=https://meet.jit.si/XenProjectCommunityCall&sa=D&source=calendar&ust=1699196661201312&usg=AOvVaw1FcogEsMjFSd1Pmi7V0cBc>

*DATE: *Thursday 6th March 2025

*TIME: *1600 UTC (4 pm UK time)
*Note the following administrative conventions for the call:*


** To allow time to switch between meetings, we plan on starting theagenda
at 16:05 UTC sharp.  Aim to join by 16:03 UTC if possible to allocatetime
to sort out technical difficulties.*








** If you want to be CC'ed please add or remove yourself from
thesign-up-sheet
at https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/
<https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/>== Dial-in
Information ==## Meeting time16:00 - 17:00 British timeFurther
International meeting
times:*https://www.timeanddate.com/worldclock/meetingdetails.html?year=2025&month=3&day=6&hour=16&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179


## Dial in details
https://meet.jit.si/static/dialInInfo.html?room=XenProjectCommunityCall

Thanks,
Kelly Choi
Community Manager
Xen Project <https://xenproject.org/>

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

<div dir=3D"ltr"><div>Hi all,=C2=A0</div><div><div><p>Please add your propo=
sed agenda items below. If any action items are missing or have been resolv=
ed, please add/remove them from the sheet.=C2=A0</p><p><a href=3D"https://c=
ryptpad.fr/pad/#/2/pad/edit/5aJq20OOLdSZ+nspYGPpVWYr/">https://cryptpad.fr/=
pad/#/2/pad/edit/5aJq20OOLdSZ+nspYGPpVWYr/</a>=C2=A0</p><p><b><span class=
=3D"gmail-il">CALL</span>=C2=A0LINK:</b>=C2=A0<a href=3D"https://www.google=
.com/url?q=3Dhttps://meet.jit.si/XenProjectCommunityCall&amp;sa=3DD&amp;sou=
rce=3Dcalendar&amp;ust=3D1699196661201312&amp;usg=3DAOvVaw1FcogEsMjFSd1Pmi7=
V0cBc" target=3D"_blank">https://meet.jit.si/XenProjectCommunityCall</a></p=
><p><b>DATE:=C2=A0</b>Thursday 6th March 2025</p><p><b>TIME:=C2=A0</b>1600 =
UTC (4 pm UK time)</p><i>Note the following administrative conventions for =
the=C2=A0<span class=3D"gmail-il">call</span>:</i></div><div><div><i>* To a=
llow time to switch between meetings, we plan on starting the<br>agenda at =
16:05 UTC sharp.=C2=A0 Aim to join by 16:03 UTC if possible to allocate<br>=
time to sort out technical difficulties.</i></div><div><i><br>* If you want=
 to be CC&#39;ed please add or remove yourself from the<br>sign-up-sheet at=
=C2=A0<a href=3D"https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sR=
Cf+/" rel=3D"noreferrer" target=3D"_blank">https://cryptpad.fr/pad/#/2/pad/=
edit/D9vGzihPxxAOe6RFPz0sRCf+/</a><br><br>=3D=3D=C2=A0<span class=3D"gmail-=
il">Dial</span>-in Information =3D=3D<br>## Meeting time<br>16:00 - 17:00 B=
ritish time<br>Further International meeting times:<br></i><a href=3D"https=
://www.timeanddate.com/worldclock/meetingdetails.html?year=3D2025&amp;month=
=3D3&amp;day=3D6&amp;hour=3D16&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=
=3D37&amp;p3=3D224&amp;p4=3D179" target=3D"_blank">https://www.timeanddate.=
com/worldclock/meetingdetails.html?year=3D2025&amp;month=3D3&amp;day=3D6&am=
p;hour=3D16&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37&amp;p3=3D224&=
amp;p4=3D179  </a>=C2=A0<br><br>##=C2=A0<span class=3D"gmail-il">Dial</span=
>=C2=A0in details<br><a href=3D"https://meet.jit.si/static/dialInInfo.html?=
room=3DXenProjectCommunityCall" rel=3D"noreferrer" target=3D"_blank">https:=
//meet.jit.si/static/dialInInfo.html?room=3DXenProjectCommunityCall</a></di=
v></div></div><div><br></div><div><div dir=3D"ltr" class=3D"gmail_signature=
" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Thanks,</div><di=
v>Kelly Choi<br></div><div><div style=3D"color:rgb(136,136,136)">Community =
Manager</div><div style=3D"color:rgb(136,136,136)"><a href=3D"https://xenpr=
oject.org/" target=3D"_blank">Xen Project</a><br></div></div></div></div></=
div></div>

--000000000000f1305d062f7076c4--


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:10:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:10:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900308.1308214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6Uo-00030R-Ur; Mon, 03 Mar 2025 14:10:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900308.1308214; Mon, 03 Mar 2025 14:10: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 1tp6Uo-00030K-Rs; Mon, 03 Mar 2025 14:10:14 +0000
Received: by outflank-mailman (input) for mailman id 900308;
 Mon, 03 Mar 2025 14:10: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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp6Un-00030B-UL
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:10:13 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3324aa02-f839-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 15:10:03 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-22382657540so33697295ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 06:10:03 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-223504c59ecsm78050255ad.123.2025.03.03.06.09.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 06:10:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3324aa02-f839-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741011002; x=1741615802; darn=lists.xenproject.org;
        h=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=V7YKNbEtCKvClNkv4j7sl0onkgyhRRhalJ9m3Tg6rXY=;
        b=WzKZD9wj3hXL+M3eLAvl5yX0HyIggiuqatxTJtiuLwW0K8MjgJ4CE6CDyqAKWP8Dps
         zwfmRx/InSX/CnAKjqurTFVjjlKjTeoCP9bIbgp9xpV2kXYKy0RT/OauFS041H0Bmq69
         xbQYsfgZ6UFhCaVmSivwzt7DnIITZlQdRxhdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741011002; x=1741615802;
        h=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=V7YKNbEtCKvClNkv4j7sl0onkgyhRRhalJ9m3Tg6rXY=;
        b=utB5sApI6mbaJ4DKiBFRWhlz+JRcygdaX011yE/l9Vv67GEyfGJ2B8t9/I7u6gBsjK
         5Y3nt/KSF8FQ+wKSLNuQ6pPu4DjH9kHlIwd2fAvExHQJgPBoWVk3iSEJKYSYCC4dVJ/r
         KAWnsNlWuP8LnbnTNGRS6f/fVogGlvUh3rhIBS7nWHfknHUIB0QHN+OSLcZSJP7pvqMD
         vkImXsI2qk6UTcFGkdTwsB1p8Ub4iXrUTffiX1J2kgqqGd5b18f6NGnB0ra0uMNiuuWW
         V2Tlbk2MoqYI/jBdCeEf8CpAQrV27lI9dCBX0FIw+c01ux11THUrIjqLx3nsW67BmqW8
         fThA==
X-Gm-Message-State: AOJu0YxbFZqiQLp06XoXjhuc6SVm+MQWDP88Gq8/eOCZ/Z54Ek4DIV7X
	VX99luHsZnUn/c+lgd667WnSUfOJUbppN8i1sLU1ii7ae170kxpovWaWv+pVtpc=
X-Gm-Gg: ASbGnctl2VnkTUMFf9FIRD138I/sc5SUoAGeWqYqGfRYEN1sm4w/emnoCqeCHMN32fP
	9fDJvQ5Ysahv5Lzr7mjByStxO8ljuci+LvCFckO+Aa9spnOtUAO2SS+5qNed0fHuKiSlGYYxilj
	/dwbVOWzSebeO2+kYjPvINrkWDbNk7NlsFnegaNRHUo27f19FomBjcUXt+N+X+ft6tzAu1wkSut
	wuSpQDIxv3y+msg6DQBd2VYfCr/e6GhtBzeiBybWOlVef+MZW+9JTQJESqEaiphah40Xb4Tmqnf
	9HqlIzxih75ArWEbnkmI4QmBcjmi8T6UE//jKobQWjNiPpkVAg==
X-Google-Smtp-Source: AGHT+IHdi3g63gaWHlIVQu9lRtjgXka95xcFxI8zloNtmzxwHce3eGClSLZMzP4IMq3gadZTdblRGw==
X-Received: by 2002:a17:903:1b2c:b0:223:225a:7e4d with SMTP id d9443c01a7336-22368fba9efmr253404025ad.26.1741011002000;
        Mon, 03 Mar 2025 06:10:02 -0800 (PST)
Date: Mon, 3 Mar 2025 15:09:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: Re: [PATCH v9] vpci: Add resizable bar support
Message-ID: <Z8W4NFdcK1kuAH5q@macbook.local>
References: <20250224032433.1879630-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250224032433.1879630-1-Jiqian.Chen@amd.com>

On Mon, Feb 24, 2025 at 11:24:33AM +0800, Jiqian Chen wrote:
> Some devices, like AMDGPU, support resizable bar capability,
> but vpci of Xen doesn't support this feature, so they fail
> to resize bars and then cause probing failure.
> 
> According to PCIe spec, each bar that supports resizing has
> two registers, PCI_REBAR_CAP and PCI_REBAR_CTRL. So, add
> handlers to support resizing the size of BARs.
> 
> Note that Xen will only trap PCI_REBAR_CTRL, as PCI_REBAR_CAP
> is read-only register and the hardware domain already gets
> access to it without needing any setup.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>

Reviewed-by: Roger Pau MonnĂŠ <roger.pau@cirtrix.com>

Just one question below about a cosmetic adjustment.

> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> index 250ba106dbd3..2f1d0d63e962 100644
> --- a/xen/include/xen/pci_regs.h
> +++ b/xen/include/xen/pci_regs.h
> @@ -459,6 +459,7 @@
>  #define PCI_EXT_CAP_ID_ARI	14
>  #define PCI_EXT_CAP_ID_ATS	15
>  #define PCI_EXT_CAP_ID_SRIOV	16
> +#define PCI_EXT_CAP_ID_REBAR	21	/* Resizable BAR */
>  
>  /* Advanced Error Reporting */
>  #define PCI_ERR_UNCOR_STATUS	4	/* Uncorrectable Error Status */
> @@ -541,6 +542,20 @@
>  #define  PCI_VNDR_HEADER_REV(x)	(((x) >> 16) & 0xf)
>  #define  PCI_VNDR_HEADER_LEN(x)	(((x) >> 20) & 0xfff)
>  
> +/* Resizable BARs */
> +#define PCI_REBAR_CAP(n)	(4 + 8 * (n))	/* capability register */
> +#define  PCI_REBAR_CAP_SIZES_MASK	0xFFFFFFF0U	/* supported BAR sizes in CAP */
> +#define PCI_REBAR_CTRL(n)	(8 + 8 * (n))	/* control register */
> +#define  PCI_REBAR_CTRL_BAR_IDX		0x00000007	/* BAR index */
> +#define  PCI_REBAR_CTRL_NBAR_MASK	0x000000E0	/* # of resizable BARs */
> +#define  PCI_REBAR_CTRL_BAR_SIZE	0x00003F00	/* BAR size */
> +#define  PCI_REBAR_CTRL_SIZES_MASK	0xFFFF0000U	/* supported BAR sizes in CTRL */
> +
> +#define PCI_REBAR_CTRL_SIZE_BIAS	20
> +#define PCI_REBAR_CTRL_SIZE(v) \
> +    (1ULL << (MASK_EXTR(v, PCI_REBAR_CTRL_BAR_SIZE) \
> +                      + PCI_REBAR_CTRL_SIZE_BIAS))

I think this could fit on a single line if the indent was just 4
spaces.  Would you mind me adjusting it at commit if it fits?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:13:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:13:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900316.1308225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6Xg-0003y4-Cm; Mon, 03 Mar 2025 14:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900316.1308225; Mon, 03 Mar 2025 14:13: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 1tp6Xg-0003xx-9E; Mon, 03 Mar 2025 14:13:12 +0000
Received: by outflank-mailman (input) for mailman id 900316;
 Mon, 03 Mar 2025 14:13: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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp6Xe-0003xn-Me
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:13:10 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a20232db-f839-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:13:09 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-22113560c57so84840355ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 06:13:09 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-223501d287dsm78360915ad.43.2025.03.03.06.13.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 06:13:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a20232db-f839-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741011188; x=1741615988; darn=lists.xenproject.org;
        h=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=SDkAHYGnmOKCZQ4xdnOvipQSwms2wnvezNPcyYKyUoE=;
        b=Ou0iOWQAKGQ8M/tShKEqSrD6PdiZ+XbLU5LuiSnRXWrFXMFwID/Z5lduYFimW3rz1g
         Ef+2KaLOsfXDX34t8rkMjla5Zu2PdU4DlcuDkFYFV7qAaD0P4GV/RMaBVW5VgeIKcCR4
         uFiw7YIZIO839oue2qmJiczDmBtU/WlJ4XKzs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741011188; x=1741615988;
        h=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=SDkAHYGnmOKCZQ4xdnOvipQSwms2wnvezNPcyYKyUoE=;
        b=WJzIJYUxSIdLfhomxmPuy/hUmzGS5udvpTdBX7BLmdHyErUZ05KU82gjEs/CNJ/Yt9
         1h1hM/ZCg8E0BBacQGGUbgFF5oWyrJCBfexmxrLOJAttLr4jlgj5RvVYc9WuTizLNEZD
         kcyChAjUokxL/CTHpm/FvsQHAdMjCvsMzFUhcf96t7Q60F61Ue/Pac8CPv15Fl6Ky6Bg
         8QVvdpgmxmCVzhzEv1vg/hmKdSwNznue6U3kagjKc4uBfzMotVqJry2y5Lutqo9/1M1v
         R4MFbWM/cy5yJn9NJkiSKJ+nrP6ptH0y01urOLAwsgdIhPa0b0lp0+7ZkQwKArQbMpuA
         ikhg==
X-Gm-Message-State: AOJu0YwzLPnxAMM5Hw49lkB+EgUgo/6f48by3jxRnkFfmFz1JmNCVo0g
	9/ITDSgU4qyM1eqWJnpES0Fpp8Div2nCtBnynAMHQnmfK7motINGmB03DN6aMlY=
X-Gm-Gg: ASbGncsg5b023uc2IOES3JwFT5boI06OQvPRQ6M/t7V1Rf5w6FvQhvtFm5GZb3ivNQE
	bvWdMSNgKQEygS0ox3X+Q1pkUP72W3R78a3OQtNw0+HQzS7KBqCwL2yKxJMUPEUX76ALMCztRXm
	FiTJkQp7PW+NRRqkds2VVcP6cpwRVbBfAng87s2GkDcFHYea4jOR3GZ0NPVTziwtje/ZkqmqrXG
	4zblHKI6/Sr4HcLHNFAhyjVQzfgK/6pTmCrs15MVUnqrnH4pDfSwYRsLIu8xcKj0KHGBwP39qCw
	PIwG/woV3vT+34kqLoAtQMPCHthefKpBUfM6QjmhA4921nMCTg==
X-Google-Smtp-Source: AGHT+IFMMnte4MXhNVxfXi16q3DJ5ViFF3HaR79IKeWm62JAo6wDsPzFf5PP7N5r0rfakBHCyUOvsg==
X-Received: by 2002:a17:902:d2cc:b0:223:65a9:ab86 with SMTP id d9443c01a7336-22368f88ac0mr213727265ad.12.1741011187984;
        Mon, 03 Mar 2025 06:13:07 -0800 (PST)
Date: Mon, 3 Mar 2025 15:13:01 +0100
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>
Subject: Re: [PATCH v2] x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
Message-ID: <Z8W47V836vSWuAzw@macbook.local>
References: <20250303091908.38846-1-roger.pau@citrix.com>
 <915229bd-a930-422e-a915-6414c3224c93@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <915229bd-a930-422e-a915-6414c3224c93@citrix.com>

On Mon, Mar 03, 2025 at 01:41:15PM +0000, Andrew Cooper wrote:
> On 03/03/2025 9:19 am, Roger Pau Monne wrote:
> > The MMIO_CONF_BASE reports the base of the MCFG range on AMD systems.
> > Currently Linux is unconditionally attempting to read the MSR without a
> > safe MSR accessor, and since Xen doesn't allow access to it Linux reports
> > the following error:
> >
> > unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
> > Call Trace:
> >  <TASK>
> >  ? ex_handler_msr+0x11e/0x150
> >  ? fixup_exception+0x81/0x300
> >  ? exc_general_protection+0x138/0x410
> >  ? asm_exc_general_protection+0x22/0x30
> >  ? xen_do_read_msr+0x7f/0xa0
> >  xen_read_msr+0x1e/0x30
> >  amd_get_mmconfig_range+0x2b/0x80
> >  quirk_amd_mmconfig_area+0x28/0x100
> >  ? quirk_system_pci_resources+0x2b/0x150
> >  pnp_fixup_device+0x39/0x50
> >  __pnp_add_device+0xf/0x150
> >  pnp_add_device+0x3d/0x100
> >  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
> >  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
> >  ? acpi_walk_resources+0xbb/0xd0
> >  pnpacpi_add_device_handler+0x1f9/0x280
> >  acpi_ns_get_device_callback+0x104/0x1c0
> >  ? _raw_spin_unlock_irqrestore+0x18/0x20
> >  ? down_timeout+0x3a/0x60
> >  ? _raw_spin_lock_irqsave+0x14/0x40
> >  acpi_ns_walk_namespace+0x1d0/0x260
> >  ? _raw_spin_unlock_irqrestore+0x18/0x20
> >  ? __pfx_acpi_ns_get_device_callback+0x10/0x10
> >  acpi_get_devices+0x8a/0xb0
> >  ? __pfx_pnpacpi_add_device_handler+0x10/0x10
> >  ? __pfx_pnpacpi_init+0x10/0x10
> >  pnpacpi_init+0x50/0x80
> >  do_one_initcall+0x46/0x2e0
> >  kernel_init_freeable+0x1da/0x2f0
> >  ? __pfx_kernel_init+0x10/0x10
> >  kernel_init+0x16/0x1b0
> >  ret_from_fork+0x30/0x50
> >  ? __pfx_kernel_init+0x10/0x10
> >  ret_from_fork_asm+0x1b/0x30
> >  </TASK>
> >
> > Such access is conditional to the presence of a device with PnP ID
> > "PNP0c01", which triggers the execution of the quirk_amd_mmconfig_area()
> > function.  Note that prior to commit 3fac3734c43a MSR accesses when running
> > as a PV guest would always use the safe variant, and thus silently handle
> > the #GP.
> >
> > Fix by allowing access to the MSR on AMD systems, returning 0 for
> > unprivileged domains (MMIO configuration space disabled), and the native
> > value for the hardware domain.
> >
> > The non hardware domain logic will need to be adjusted if in the future we
> > expose an MCFG region to such domains.
> >
> > Write attempts to the MSR will still result in #GP for all domain types.
> >
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > ---
> > Changes since v2:
> >  - Expand commit message to note which device triggers the MSR read.
> > ---
> >  xen/arch/x86/msr.c | 15 +++++++++++++++
> >  1 file changed, 15 insertions(+)
> >
> > diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
> > index 1550fd9ec9f3..c1e616a3a757 100644
> > --- a/xen/arch/x86/msr.c
> > +++ b/xen/arch/x86/msr.c
> > @@ -318,6 +318,21 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
> >          *val = 0;
> >          break;
> >  
> > +    case MSR_FAM10H_MMIO_CONF_BASE:
> > +        if ( !(cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) )
> > +            goto gp_fault;
> > +
> > +        /*
> > +         * Report MMIO configuration space is disabled unconditionally for
> > +         * domUs, as the emulated chipset doesn't support ECAM.  For dom0
> > +         * return the hardware value.
> > +         */
> > +        *val = 0;
> > +        if ( is_hardware_domain(d) && rdmsr_safe(msr, *val) )
> > +            goto gp_fault;
> > +
> > +        break;
> 
> It doesn't matter right now, but reporting MMCFG disable is likely to
> interfere with Q35 support when we do present such a range.

Yup, that's why I mention that this will likely need  to be adjusted.
However Linux only reads MMIO_CONF_BASE if a PnP device with ID
"PNP0c01" is present, not sure whether that's (or will be the case)
with Q35 support.

> For PVH dom0, do we guarantee this range is identity mapped?Â  Or at
> least, doesn't have plain RAM in?

Yes, for PVH dom0 ECAM range(s) are always identity mapped.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:16:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900326.1308235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6aM-0004Ze-Sr; Mon, 03 Mar 2025 14:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900326.1308235; Mon, 03 Mar 2025 14:15: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 1tp6aM-0004ZX-Pp; Mon, 03 Mar 2025 14:15:58 +0000
Received: by outflank-mailman (input) for mailman id 900326;
 Mon, 03 Mar 2025 14:15: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp6aL-0004ZK-DB
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:15:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 04f62c8f-f83a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:15: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 535C3106F;
 Mon,  3 Mar 2025 06:16:08 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 46EB83F66E;
 Mon,  3 Mar 2025 06:15:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04f62c8f-f83a-11ef-9ab2-95dc52dad729
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/5] Fix lazy mmu mode
Date: Mon,  3 Mar 2025 14:15:34 +0000
Message-ID: <20250303141542.3371656-1-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi All,

I'm planning to implement lazy mmu mode for arm64 to optimize vmalloc. As part
of that, I will extend lazy mmu mode to cover kernel mappings in vmalloc table
walkers. While lazy mmu mode is already used for kernel mappings in a few
places, this will extend it's use significantly.

Having reviewed the existing lazy mmu implementations in powerpc, sparc and x86,
it looks like there are a bunch of bugs, some of which may be more likely to
trigger once I extend the use of lazy mmu. So this series attempts to clarify
the requirements and fix all the bugs in advance of that series. See patch #1
commit log for all the details.

Note that I have only been able to compile test these changes but I think they
are in good enough shape for some linux-next testing.

Applies on Friday's mm-unstable (5f089a9aa987), as I assume this would be
preferred via that tree.

Changes since v1
================
  - split v1 patch #1 into v2 patch #1 and #2; per David
  - Added Acked-by tags from David and Andreas; Thanks!
  - Refined the patches which are truely fixes and added to stable to cc

Thanks,
Ryan

Ryan Roberts (5):
  mm: Fix lazy mmu docs and usage
  fs/proc/task_mmu: Reduce scope of lazy mmu region
  sparc/mm: Disable preemption in lazy mmu mode
  sparc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes
  Revert "x86/xen: allow nesting of same lazy mode"

 arch/sparc/include/asm/pgtable_64.h   |  2 --
 arch/sparc/mm/tlb.c                   |  5 ++++-
 arch/x86/include/asm/xen/hypervisor.h | 15 ++-------------
 arch/x86/xen/enlighten_pv.c           |  1 -
 fs/proc/task_mmu.c                    | 11 ++++-------
 include/linux/pgtable.h               | 14 ++++++++------
 6 files changed, 18 insertions(+), 30 deletions(-)

--
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:16:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900327.1308245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6aO-0004nW-3T; Mon, 03 Mar 2025 14:16:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900327.1308245; Mon, 03 Mar 2025 14:16: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 1tp6aN-0004nP-Vi; Mon, 03 Mar 2025 14:15:59 +0000
Received: by outflank-mailman (input) for mailman id 900327;
 Mon, 03 Mar 2025 14:15: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp6aM-0004ZK-5S
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:15:58 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 065d83c2-f83a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:15: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 BDB7D113E;
 Mon,  3 Mar 2025 06:16:10 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 807673F66E;
 Mon,  3 Mar 2025 06:15:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 065d83c2-f83a-11ef-9ab2-95dc52dad729
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v2 1/5] mm: Fix lazy mmu docs and usage
Date: Mon,  3 Mar 2025 14:15:35 +0000
Message-ID: <20250303141542.3371656-2-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
is a bit of a mess (to put it politely). There are a number of issues
related to nesting of lazy mmu regions and confusion over whether the
task, when in a lazy mmu region, is preemptible or not. Fix all the
issues relating to the core-mm. Follow up commits will fix the
arch-specific implementations. 3 arches implement lazy mmu; powerpc,
sparc and x86.

When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
expected that lazy mmu regions would never nest and that the appropriate
page table lock(s) would be held while in the region, thus ensuring the
region is non-preemptible. Additionally lazy mmu regions were only used
during manipulation of user mappings.

Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
updates") started invoking the lazy mmu mode in apply_to_pte_range(),
which is used for both user and kernel mappings. For kernel mappings the
region is no longer protected by any lock so there is no longer any
guarantee about non-preemptibility. Additionally, for RT configs, the
holding the PTL only implies no CPU migration, it doesn't prevent
preemption.

Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
set_ptes(), used by x86. So after this commit, lazy mmu regions can be
nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
page table range API") and commit 9fee28baa601 ("powerpc: implement the
new page table range API") did the same for the sparc and powerpc
set_ptes() overrides.

powerpc couldn't deal with preemption so avoids it in commit
b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
which explicitly disables preemption for the whole region in its
implementation. x86 can support preemption (or at least it could until
it tried to add support nesting; more on this below). Sparc looks to be
totally broken in the face of preemption, as far as I can tell.

powerpc can't deal with nesting, so avoids it in commit 47b8def9358c
("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
which removes the lazy mmu calls from its implementation of set_ptes().
x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
nesting of same lazy mode") but as far as I can tell, this breaks its
support for preemption.

In short, it's all a mess; the semantics for
arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
result the implementations all have different expectations, sticking
plasters and bugs.

arm64 is aiming to start using these hooks, so let's clean everything up
before adding an arm64 implementation. Update the documentation to state
that lazy mmu regions can never be nested, must not be called in
interrupt context and preemption may or may not be enabled for the
duration of the region. And fix the generic implementation of set_ptes()
to avoid nesting.

arch-specific fixes to conform to the new spec will proceed this one.

These issues were spotted by code review and I have no evidence of
issues being reported in the wild.

Cc: <stable@vger.kernel.org>
Fixes: bcc6cc832573 ("mm: add default definition of set_ptes()")
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 include/linux/pgtable.h | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 94d267d02372..787c632ee2c9 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -222,10 +222,14 @@ static inline int pmd_dirty(pmd_t pmd)
  * hazard could result in the direct mode hypervisor case, since the actual
  * write to the page tables may not yet have taken place, so reads though
  * a raw PTE pointer after it has been modified are not guaranteed to be
- * up to date.  This mode can only be entered and left under the protection of
- * the page table locks for all page tables which may be modified.  In the UP
- * case, this is required so that preemption is disabled, and in the SMP case,
- * it must synchronize the delayed page table writes properly on other CPUs.
+ * up to date.
+ *
+ * In the general case, no lock is guaranteed to be held between entry and exit
+ * 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.
  */
 #ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
 #define arch_enter_lazy_mmu_mode()	do {} while (0)
@@ -287,7 +291,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 {
 	page_table_check_ptes_set(mm, ptep, pte, nr);
 
-	arch_enter_lazy_mmu_mode();
 	for (;;) {
 		set_pte(ptep, pte);
 		if (--nr == 0)
@@ -295,7 +298,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		ptep++;
 		pte = pte_next_pfn(pte);
 	}
-	arch_leave_lazy_mmu_mode();
 }
 #endif
 #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:16:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900328.1308256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6aR-00053q-BR; Mon, 03 Mar 2025 14:16:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900328.1308256; Mon, 03 Mar 2025 14:16: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 1tp6aR-00053j-67; Mon, 03 Mar 2025 14:16:03 +0000
Received: by outflank-mailman (input) for mailman id 900328;
 Mon, 03 Mar 2025 14:16: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp6aQ-0004ZK-Ma
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:16:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 093af2e1-f83a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:16:02 +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 865D01BCA;
 Mon,  3 Mar 2025 06:16:15 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 48FF23F66E;
 Mon,  3 Mar 2025 06:15:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 093af2e1-f83a-11ef-9ab2-95dc52dad729
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v2 3/5] sparc/mm: Disable preemption in lazy mmu mode
Date: Mon,  3 Mar 2025 14:15:37 +0000
Message-ID: <20250303141542.3371656-4-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Since commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with
lazy updates") it's been possible for arch_[enter|leave]_lazy_mmu_mode()
to be called without holding a page table lock (for the kernel mappings
case), and therefore it is possible that preemption may occur while in
the lazy mmu mode. The Sparc lazy mmu implementation is not robust to
preemption since it stores the lazy mode state in a per-cpu structure
and does not attempt to manage that state on task switch.

Powerpc had the same issue and fixed it by explicitly disabling
preemption in arch_enter_lazy_mmu_mode() and re-enabling in
arch_leave_lazy_mmu_mode(). See commit b9ef323ea168 ("powerpc/64s:
Disable preemption in hash lazy mmu mode").

Given Sparc's lazy mmu mode is based on powerpc's, let's fix it in the
same way here.

Cc: <stable@vger.kernel.org>
Fixes: 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy updates")
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 arch/sparc/mm/tlb.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index 8648a50afe88..a35ddcca5e76 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -52,8 +52,10 @@ void flush_tlb_pending(void)
 
 void arch_enter_lazy_mmu_mode(void)
 {
-	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
+	struct tlb_batch *tb;
 
+	preempt_disable();
+	tb = this_cpu_ptr(&tlb_batch);
 	tb->active = 1;
 }
 
@@ -64,6 +66,7 @@ void arch_leave_lazy_mmu_mode(void)
 	if (tb->tlb_nr)
 		flush_tlb_pending();
 	tb->active = 0;
+	preempt_enable();
 }
 
 static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:16:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:16:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900331.1308265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6aT-0005Kc-GD; Mon, 03 Mar 2025 14:16:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900331.1308265; Mon, 03 Mar 2025 14: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 1tp6aT-0005KT-Cp; Mon, 03 Mar 2025 14:16:05 +0000
Received: by outflank-mailman (input) for mailman id 900331;
 Mon, 03 Mar 2025 14: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp6aS-0005Dw-Rs
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:16:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 07d01255-f83a-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 15:15:59 +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 1ABF8175A;
 Mon,  3 Mar 2025 06:16:13 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EB6783F66E;
 Mon,  3 Mar 2025 06:15:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07d01255-f83a-11ef-9898-31a8f345e629
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v2 2/5] fs/proc/task_mmu: Reduce scope of lazy mmu region
Date: Mon,  3 Mar 2025 14:15:36 +0000
Message-ID: <20250303141542.3371656-3-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the way arch_[enter|leave]_lazy_mmu_mode() is called in
pagemap_scan_pmd_entry() to follow the normal pattern of holding the ptl
for user space mappings. As a result the scope is reduced to only the
pte table, but that's where most of the performance win is.

While I believe there wasn't technically a bug here, the original scope
made it easier to accidentally nest or, worse, accidentally call
something like kmap() which would expect an immediate mode pte
modification but it would end up deferred.

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 fs/proc/task_mmu.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index c17615e21a5d..b0f189815512 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -2459,22 +2459,19 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 	spinlock_t *ptl;
 	int ret;
 
-	arch_enter_lazy_mmu_mode();
-
 	ret = pagemap_scan_thp_entry(pmd, start, end, walk);
-	if (ret != -ENOENT) {
-		arch_leave_lazy_mmu_mode();
+	if (ret != -ENOENT)
 		return ret;
-	}
 
 	ret = 0;
 	start_pte = pte = pte_offset_map_lock(vma->vm_mm, pmd, start, &ptl);
 	if (!pte) {
-		arch_leave_lazy_mmu_mode();
 		walk->action = ACTION_AGAIN;
 		return 0;
 	}
 
+	arch_enter_lazy_mmu_mode();
+
 	if ((p->arg.flags & PM_SCAN_WP_MATCHING) && !p->vec_out) {
 		/* Fast path for performing exclusive WP */
 		for (addr = start; addr != end; pte++, addr += PAGE_SIZE) {
@@ -2543,8 +2540,8 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 	if (flush_end)
 		flush_tlb_range(vma, start, addr);
 
-	pte_unmap_unlock(start_pte, ptl);
 	arch_leave_lazy_mmu_mode();
+	pte_unmap_unlock(start_pte, ptl);
 
 	cond_resched();
 	return ret;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:16:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900332.1308275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6aV-0005cj-OD; Mon, 03 Mar 2025 14:16:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900332.1308275; Mon, 03 Mar 2025 14: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 1tp6aV-0005cY-L6; Mon, 03 Mar 2025 14:16:07 +0000
Received: by outflank-mailman (input) for mailman id 900332;
 Mon, 03 Mar 2025 14:16: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp6aU-0005Dw-0V
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:16:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 0aa57dd7-f83a-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 15:16:04 +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 F230A1C01;
 Mon,  3 Mar 2025 06:16:17 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B43663F66E;
 Mon,  3 Mar 2025 06:16:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0aa57dd7-f83a-11ef-9898-31a8f345e629
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v2 4/5] sparc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes
Date: Mon,  3 Mar 2025 14:15:38 +0000
Message-ID: <20250303141542.3371656-5-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With commit 1a10a44dfc1d ("sparc64: implement the new page table range
API") set_ptes was added to the sparc architecture. The implementation
included calling arch_enter/leave_lazy_mmu() calls.

The patch removes the usage of arch_enter/leave_lazy_mmu() since this
implies nesting of lazy mmu regions which is not supported. Without this
fix, lazy mmu mode is effectively disabled because we exit the mode
after the first set_ptes:

remap_pte_range()
  -> arch_enter_lazy_mmu()
  -> set_ptes()
      -> arch_enter_lazy_mmu()
      -> arch_leave_lazy_mmu()
  -> arch_leave_lazy_mmu()

Powerpc suffered the same problem and fixed it in a corresponding way
with commit 47b8def9358c ("powerpc/mm: Avoid calling
arch_enter/leave_lazy_mmu() in set_ptes").

Cc: <stable@vger.kernel.org>
Fixes: 1a10a44dfc1d ("sparc64: implement the new page table range API")
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 arch/sparc/include/asm/pgtable_64.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
index 2b7f358762c1..dc28f2c4eee3 100644
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -936,7 +936,6 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
 static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		pte_t *ptep, pte_t pte, unsigned int nr)
 {
-	arch_enter_lazy_mmu_mode();
 	for (;;) {
 		__set_pte_at(mm, addr, ptep, pte, 0);
 		if (--nr == 0)
@@ -945,7 +944,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		pte_val(pte) += PAGE_SIZE;
 		addr += PAGE_SIZE;
 	}
-	arch_leave_lazy_mmu_mode();
 }
 #define set_ptes set_ptes
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:16:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900334.1308286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6aY-0005wJ-5n; Mon, 03 Mar 2025 14:16:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900334.1308286; Mon, 03 Mar 2025 14:16: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 1tp6aX-0005vw-Uw; Mon, 03 Mar 2025 14:16:09 +0000
Received: by outflank-mailman (input) for mailman id 900334;
 Mon, 03 Mar 2025 14:16: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=jm5g=VW=arm.com=ryan.roberts@srs-se1.protection.inumbo.net>)
 id 1tp6aW-0005Dw-JC
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:16:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 0c137a29-f83a-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 15:16:06 +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 4F7BE106F;
 Mon,  3 Mar 2025 06:16:20 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2C3CA3F66E;
 Mon,  3 Mar 2025 06:16:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c137a29-f83a-11ef-9898-31a8f345e629
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v2 5/5] Revert "x86/xen: allow nesting of same lazy mode"
Date: Mon,  3 Mar 2025 14:15:39 +0000
Message-ID: <20250303141542.3371656-6-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit 49147beb0ccb ("x86/xen: allow nesting of same lazy mode") was
added as a solution for a core-mm code change where
arch_[enter|leave]_lazy_mmu_mode() started to be called in a nested
manner; see commit bcc6cc832573 ("mm: add default definition of
set_ptes()").

However, now that we have fixed the API to avoid nesting, we no longer
need this capability in the x86 implementation.

Additionally, from code review, I don't believe the fix was ever robust
in the case of preemption occurring while in the nested lazy mode. The
implementation usually deals with preemption by calling
arch_leave_lazy_mmu_mode() from xen_start_context_switch() for the
outgoing task if we are in the lazy mmu mode. Then in
xen_end_context_switch(), it restarts the lazy mode by calling
arch_enter_lazy_mmu_mode() for an incoming task that was in the lazy
mode when it was switched out. But arch_leave_lazy_mmu_mode() will only
unwind a single level of nesting. If we are in the double nest, then
it's not fully unwound and per-cpu variables are left in a bad state.

So the correct solution is to remove the possibility of nesting from the
higher level (which has now been done) and remove this x86-specific
solution.

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 arch/x86/include/asm/xen/hypervisor.h | 15 ++-------------
 arch/x86/xen/enlighten_pv.c           |  1 -
 2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index a9088250770f..bd0fc69a10a7 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -72,18 +72,10 @@ enum xen_lazy_mode {
 };
 
 DECLARE_PER_CPU(enum xen_lazy_mode, xen_lazy_mode);
-DECLARE_PER_CPU(unsigned int, xen_lazy_nesting);
 
 static inline void enter_lazy(enum xen_lazy_mode mode)
 {
-	enum xen_lazy_mode old_mode = this_cpu_read(xen_lazy_mode);
-
-	if (mode == old_mode) {
-		this_cpu_inc(xen_lazy_nesting);
-		return;
-	}
-
-	BUG_ON(old_mode != XEN_LAZY_NONE);
+	BUG_ON(this_cpu_read(xen_lazy_mode) != XEN_LAZY_NONE);
 
 	this_cpu_write(xen_lazy_mode, mode);
 }
@@ -92,10 +84,7 @@ static inline void leave_lazy(enum xen_lazy_mode mode)
 {
 	BUG_ON(this_cpu_read(xen_lazy_mode) != mode);
 
-	if (this_cpu_read(xen_lazy_nesting) == 0)
-		this_cpu_write(xen_lazy_mode, XEN_LAZY_NONE);
-	else
-		this_cpu_dec(xen_lazy_nesting);
+	this_cpu_write(xen_lazy_mode, XEN_LAZY_NONE);
 }
 
 enum xen_lazy_mode xen_get_lazy_mode(void);
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 5e57835e999d..919e4df9380b 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -99,7 +99,6 @@ struct tls_descs {
 };
 
 DEFINE_PER_CPU(enum xen_lazy_mode, xen_lazy_mode) = XEN_LAZY_NONE;
-DEFINE_PER_CPU(unsigned int, xen_lazy_nesting);
 
 enum xen_lazy_mode xen_get_lazy_mode(void)
 {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:18:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:18:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900365.1308305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6cL-0007tE-QZ; Mon, 03 Mar 2025 14:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900365.1308305; Mon, 03 Mar 2025 14:18: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 1tp6cL-0007t3-Nd; Mon, 03 Mar 2025 14:18:01 +0000
Received: by outflank-mailman (input) for mailman id 900365;
 Mon, 03 Mar 2025 14:18: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tp6cK-0007eo-Qb
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:18:00 +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 4fa044b4-f83a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:18:00 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-390eebcc371so1583833f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 06:18:00 -0800 (PST)
Received: from andrew-laptop.. ([46.149.103.9])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a5b96sm14550595f8f.29.2025.03.03.06.17.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 06:17:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fa044b4-f83a-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741011479; x=1741616279; 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=fbGflUeQTUr7Q1t1j8X1mzZe7fmBcVrZJ57y6gNFULg=;
        b=mtDyFD/p5iw+pfY6lnbepnHWkDimn2L8wDQBPbQqFj4AB6oDI4XdllVNgjR3Xekpbg
         yuh+Mv19AJAJ9YjF3qjjsIGddawPM96N91TYLzgnRCrZoWf9rhYZAMPfWvE9sjRO4Yqp
         3JujuiSUUqJr1Tb1zQql8xVB0ZmJifcDNBwYw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741011479; x=1741616279;
        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=fbGflUeQTUr7Q1t1j8X1mzZe7fmBcVrZJ57y6gNFULg=;
        b=s/ylFYzftFQUe/8hmAa0wgx48/4ea439GHOYJe3MLXAVUmfqSgpGMv5LFMb6HFPY0t
         +X6hdE/Q+vBtJtzGzS//V90zyIMw+IhxNbyX4GQh3wdX3vg6bLltR1PGjN/ZObV2lNSX
         sFH8x9pQRtS5oULuhgfCs0wCpLEaxoov5DXegOLS0CZSNZucIlu2B5n7HfgJn5mz0o4A
         4lLgvg61QUUexzD0Osxl7tTaFnHe/QtCSb8D5Q4B48u7eZog1v9vUpMHazrcvlUhafRl
         rFvlJin8YlGlyLKfl9XY0y7O5n8fneakZCqZnbsXKqL0dCWppCroXkErKV7ZTxrLYOu+
         JQJQ==
X-Gm-Message-State: AOJu0YxY2URrxHIIL3mNA4jc2wtuSEa4nu/zoQTetxR2kaLuE6n591n0
	HMxMCdBlOSFWuw48d/etPA/QFNWxSBt5g0RiE6WS9jVM3td9qHi8PfVnqKDgQTEemzafPBzPGRw
	T
X-Gm-Gg: ASbGncsRvT377FouJRFeNgEzQoYUwi2rDOiRUAHcKxC7DS27Yt4nGcwChFWG/yfUp06
	oiI6gQGpCYHClHyijbZaPeRdvmOgyo5k19r49i1K+8/g/g3NzjohJAgNpeFLzilXILUirrv6Al9
	SU9GvqJmml8zIivXEK1SVEmrdg6vs0qCbqnzWNeuxwj+P9J4N9q5UyjniGOqlBsSwuxfCx0Ldrq
	K/fyPbECyV4qVwzG2pG1ZlKZxl34Vkp0eVUPVh5vZf2bPFLT8DO8Yo4cvDyYHttow5AxPbomUj0
	bNMdpmCljnS+4S53jxcpv1NTdZCJeK7pmN4Qr5MIafYtMyqPOWxSxOo=
X-Google-Smtp-Source: AGHT+IEMm3P+ZQsaqsm93OAsNuMdwWxJjsNTrUx4rdaZbNWlHnkzjJkXM9zM1TfYks51GP4YXwRzhg==
X-Received: by 2002:a5d:64a6:0:b0:390:df6c:592a with SMTP id ffacd0b85a97d-390ec9bc813mr9892853f8f.29.1741011479287;
        Mon, 03 Mar 2025 06:17:59 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/2] CHANGELOG.md: Set release date for 4.20
Date: Mon,  3 Mar 2025 14:17:53 +0000
Message-Id: <20250303141754.26452-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250303141754.26452-1-andrew.cooper3@citrix.com>
References: <20250303141754.26452-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: 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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Backport to 4.20 too.
---
 CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c10df7d969ef..2b9ba4922533 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ Notable changes to Xen will be documented in this file.
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
-## [4.20.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05
 
 ### Changed
  - Fixed blkif protocol specification for sector sizes different than 512b.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:18:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:18:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900364.1308294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6cK-0007f3-Jp; Mon, 03 Mar 2025 14:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900364.1308294; Mon, 03 Mar 2025 14: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 1tp6cK-0007ew-H3; Mon, 03 Mar 2025 14:18:00 +0000
Received: by outflank-mailman (input) for mailman id 900364;
 Mon, 03 Mar 2025 14:18: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tp6cK-0007eo-4o
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:18:00 +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 4f24b9cb-f83a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:17:59 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43bbc8b7c65so12654585e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 06:17:59 -0800 (PST)
Received: from andrew-laptop.. ([46.149.103.9])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a5b96sm14550595f8f.29.2025.03.03.06.17.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 06:17:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f24b9cb-f83a-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741011478; x=1741616278; 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=ypSk08+aHnwtdeHOMqWqXrHn1qNJpa1wyymfXrKI3Ck=;
        b=eFVa9A5upqKlbn0qMfqiSXROAz945YhZSpSJ2rEK7W9Xn/60uOavrty4djv0jIEz4G
         NC1TuPmRc/Y/wUVja52/jcTqx6ZIsY8RTTXZrFnxMmdE/gv5nvmCaVhQxJPtXncDUvmb
         0dVOx+Ur3xWEg9kpncxfMMincjvk9j4QtGEEw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741011478; x=1741616278;
        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=ypSk08+aHnwtdeHOMqWqXrHn1qNJpa1wyymfXrKI3Ck=;
        b=NFDPDU/UozwJr3D6Mvll9RxO32EAboyQrJsrbJq9dT2sDCBUsi3c9jJAbVmBmj0A3/
         0Hh0KNbqQdXUqvTp0zdmjSdZWlbOuIH82wJbyuC1qdd4UXvraVEDhy2nBNUGiVT+dux7
         Q5LOAplX5+b7+rl5oLh+6fcjRuWf0swJerWRXmPibkBwn8XOkOeRC1bu4GVOGuAx/IrP
         kwaBgElDGuDBxBcTeRE14HkDR82pCAiroJIXbkGDYXY+hVmoIcK0W7kGJSMlQvSjaRbA
         n/pUSGgxwyXKwIBZrrWg6cvGAEcckb0ZKSE/8IDzrAeiM4QW5lsYSYtbZBy0d8HNfvY3
         byVA==
X-Gm-Message-State: AOJu0YxT6ewVJvAECUopomYN2lez8VuNjPkjqr+JWliFtRbzLOyrA8SK
	+3oxuMehrsQcmyoAoI3SXCFowFPNMCEB0gelGGzfqspxtM0NvRaZBEx2k/WjfstVJ565J6YzlcQ
	T
X-Gm-Gg: ASbGncs3LPv95L58l4u7vDw66ox+eAQkdU01TVW/b1v4t9SjcfCqvCgWh9PsCtGxv6Q
	Vklzd90gm/SwsRInI+ePYCzYSZ7GD6uhK0ngAaNfHRIs9Et6h/0ZtFkbrNENI2Ij9m88RJZgmmh
	BUfkR/BGQQRVNU7XOnVCTydZwYdcseubBmJ6zg6kkhdscNgan3MxYr1sHH8sJV/Cm9EePBz0TOo
	vbZG3FDvGFq+S9G7MAnK6aNJy/azpN7fMXLM8w2qFsStVOtoxxBZvYNJRSDeIbV07l6kF8qxcKJ
	2rPbB2EHHUFPS0C6a9dk1zF6kwyYzRGfD99euuHC5wLHSO7pVOwEX+0=
X-Google-Smtp-Source: AGHT+IEo9FDe8ah0+sBuzifdD9+kjC/0RjtrBGwqBvzFcDNhGMA9iZlnL/RAfCAdWcvWLju3pqgL4A==
X-Received: by 2002:a05:6000:118c:b0:390:e2a3:cb5b with SMTP id ffacd0b85a97d-390eca06e2emr10851276f8f.41.1741011478501;
        Mon, 03 Mar 2025 06:17:58 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 0/2] Set release date
Date: Mon,  3 Mar 2025 14:17:52 +0000
Message-Id: <20250303141754.26452-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Release paperwork.

Andrew Cooper (2):
  CHANGELOG.md: Set release date for 4.20
  SUPPORT.md: Define support lifetime

 CHANGELOG.md |  2 +-
 SUPPORT.md   | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:18:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900366.1308315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6cN-00088B-29; Mon, 03 Mar 2025 14:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900366.1308315; Mon, 03 Mar 2025 14: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 1tp6cM-000882-VJ; Mon, 03 Mar 2025 14:18:02 +0000
Received: by outflank-mailman (input) for mailman id 900366;
 Mon, 03 Mar 2025 14:18: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tp6cL-0007eo-Qc
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:18:01 +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 502341fc-f83a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:18:00 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-390df942558so3553339f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 06:18:00 -0800 (PST)
Received: from andrew-laptop.. ([46.149.103.9])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a5b96sm14550595f8f.29.2025.03.03.06.17.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 06:17:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 502341fc-f83a-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741011480; x=1741616280; 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=6bUcVUIZPypWgBJW2ze5YB6YSFj9zIZA8sIIcx52hs4=;
        b=mJOq+Qc4FCuSyeNS6KYwTMKnjPl9qnMdnyXef5x8cHfQWhK4l9gLZ26u/lpvR3oG3j
         T5kxVaj+fXhMu71bNQjR261PrmCcjWibJ7WrBzvAg1SZ5O4c+7idGiyfsZy13d2aLRvY
         kCm/VTmHhfpTpywqf5DdYchW3A35gPzxA2UA0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741011480; x=1741616280;
        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=6bUcVUIZPypWgBJW2ze5YB6YSFj9zIZA8sIIcx52hs4=;
        b=hp3JWamA+CpLR8ugfdHinGQT4a3JFRlZ/zXUdkJh1+GAFPP7ukLqQ5LnDcBXpVlEuo
         Kyehv+Yt7cn8795IWgW1upzcOejJJdRDOTWmcV7XALIw4ICcyCGAKkeFn8PqbXrc3Wwx
         fE4KhSnWOdQ1mSE7cxc4lTeLkndNWxpYhcqg23xsZtrJjwGFEPZncjb3xmSVnvvcUwHg
         3w88hFNDV1igdslgB5AYxjbnqWYYt/PCI0ndxQb/S/iL/a/bfL1Of97YIre100RDZNge
         XcWwvFm2NQu1MzMg/CQTK7FyEFP6ucCXvEs9mcnkjD45JZ/KeF69GxvPk3/3gNbwiAY3
         qdjQ==
X-Gm-Message-State: AOJu0YzCbeorBA6xRwg6y8SVQRU+KGhBI0yfjG0yxkwnK8Jz7XPgMi/E
	CmJupRNpq3GokQte85ffAOCpAR8r3jTWVVEEJGtEJyFfXYQCkHbda4o4SBeNwDCL7l5JiIRD0+K
	s
X-Gm-Gg: ASbGncsr7/Frv5QrBXfyunGhK4T1WTfCOe51O8e4XWZ/0od03XyI3Et2G8+SPC61fG+
	UlxZ1qGinLoUBcQJXCxmUmzZxJ7hbWCxUyb/zl4lrA9GRchikQWUJmc4fdIIf30Ri9DGCvUDLM1
	ceOkh+ykceYzrDnQAiVXYVWIBBe8F/Xqd5LD+L5/ha50C6epGSzLUCxTTwehpTkXThlefEHpY/v
	Dyc46nmkQ4dB1iPvtTsSq6L0FFsd56ZYSE9AZGE02b/lJR3R0XnToRvhx/mSxSIWowg6eK3/WVa
	7iJ7clMJ0iVNQPQrb23qj+e8GknnjNhyLildVu8Rui7Vv0PG515STbM=
X-Google-Smtp-Source: AGHT+IGOlVx31lQf7cBhOhbazTc/MgSK6oi161kfcrH+Z+/cEacfQJ4ZNfRqCNQdSppGdPDQ7bdBzA==
X-Received: by 2002:a5d:5889:0:b0:391:1222:b459 with SMTP id ffacd0b85a97d-3911222b5fdmr1741472f8f.49.1741011480090;
        Mon, 03 Mar 2025 06:18:00 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.20 2/2] SUPPORT.md: Define support lifetime
Date: Mon,  3 Mar 2025 14:17:54 +0000
Message-Id: <20250303141754.26452-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250303141754.26452-1-andrew.cooper3@citrix.com>
References: <20250303141754.26452-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: 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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

4.20 only.
---
 SUPPORT.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index 2bc5bd81ee39..a72798aeeae4 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,13 +9,13 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.20-rc
-    Initial-Release: n/a
-    Supported-Until: TBD
-    Security-Support-Until: Unreleased - not yet security-supported
+    Xen-Version: 4.20
+    Initial-Release: 2025-03-05
+    Supported-Until: 2028-03-05
+    Security-Support-Until: 2026-09-05
 
 Release Notes
-: <a href="https://wiki.xenproject.org/wiki/Xen_Project_X.YY_Release_Notes">RN</a>
+: <a href="https://wiki.xenproject.org/wiki/Xen_Project_4.20_Release_Notes">RN</a>
 
 # Feature Support
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:36:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900403.1308324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6uU-00048A-HQ; Mon, 03 Mar 2025 14:36:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900403.1308324; Mon, 03 Mar 2025 14:36: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 1tp6uU-000483-EF; Mon, 03 Mar 2025 14:36:46 +0000
Received: by outflank-mailman (input) for mailman id 900403;
 Mon, 03 Mar 2025 14:36: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=DNf3=VW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tp6uT-00046W-7r
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:36:45 +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 ecd983d9-f83c-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 15:36:42 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-39104c1cbbdso652401f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 06:36:42 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4844abbsm14539737f8f.70.2025.03.03.06.36.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 06:36:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecd983d9-f83c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741012602; x=1741617402; 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=R2KPH7xolSgRpERAbrimyPF/uYhIF+d26nYUpS/9Nl4=;
        b=KYhz6FNl8Qiocg9bsD8p9q0lATcAt8z1rdaTDUapDgXMucaFH7fD+5hCrJkjE4IuA6
         752oSJAUjvYNARTEhz/qDiZsEdKqVoyPE8CnTg2G9L1oryOPsX/6Qvg9Zucc4S2COEnu
         ATaLFZIOuWN4fd2DoBxtjAQ68ejGV6Rrusazk54U6Aye9pE1MpvPYgV9chOFsdrShz++
         q5sHUf2c9sNMQD3B57V5rP0DpXxFE1wI8ZyxXdYufm6HJ9fhjUa9rJo35isNJTtdf50O
         vuj7ybnWtiqTKyamQRanQDuUfTt91ysNNaSGZC7iJg6v0VMsO66gD+yRoVfkYTaOVNNR
         fQhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741012602; x=1741617402;
        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=R2KPH7xolSgRpERAbrimyPF/uYhIF+d26nYUpS/9Nl4=;
        b=kC12uOmbhvIr6/QAlcgpm4GHQq91AvxAqE0UGQvg4BQJ4sdOaEVEdthiNWjbAip7Z5
         Hq6zBARyq1jOJSxGAzAG0XxQ/WIDNpKc9jUc1c9PvjCDw8ux6vkMMz//B4YyTtzJ+/Mj
         JaBdTPrwiI9VIoAFcm5BgVmYrFKIV3YNeQ4rlkofNB6BEWGk2fsoUdalnsSlM4v7xYb2
         ZjyRwhTgdaHUsfYYaGpGt5PH7JmL/ckhCH0ubeLjT/l2EsvJMpYpckd4f+lvWiVfhiKO
         3Oip/cLd/Df8H+W8mPX6ab9qmBts9MJFW5OZVaxaV9cznVfTNX2gLxENr88UD4IFdajY
         a/qQ==
X-Forwarded-Encrypted: i=1; AJvYcCV8LGb7YcvxtW+VBeuCEV7NsQ7CjmoEalJmEJzv2gYtU1QStjuP3RXWWNxaqpKTyv1XrS6R/567KaM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy3EfO6tqk2a3BePxbmjHj0S1x4TqZ6eq0L0QQSAq7ZSZEpk1V5
	5VVidzkIZ80FXhzhix7zFGNxHcSWqURncma4GYlt0n1AUQHdnZ42Zx+ZQViWzBw=
X-Gm-Gg: ASbGncsECRxZ0azLsIe7BfzdPPtjuYNMRV2XVMRAdq4HAmP1+3CG+tu5/D+QFr3MP/+
	RyuTfBm0aC/PykOgKF5+Eaq+PB3ac7R6RdFymCnBlaf/CI6RdyEP6b/Dx6CbVpLjBNHxZFe3Moc
	rshTUAYbmzMj6+ldkyNE2cnpEUtsi5A0CZ9m6keKEyUNkkAeWCyUOz7GMnQPGQBJHlDnSdv1H+R
	BLgtR/qGFXSMjK7JdMcW5NInibxPS9Py+QypacgJVuZ8YtkQubcMGtGedzYIGCCZPi1aOjbAHwE
	PnavOSuw4cyMbqKIur2pVBF4khkkdhnhyj2VqQsJE/86Wavs1KJlobbKHnsPRK4axITtHaKHyiP
	dgubeSrFYcurdLZGUt4IL6AO9TAG9yzOWDJnQyah6kUijSEmWlcKJS7cLc977Q6iu/SA=
X-Google-Smtp-Source: AGHT+IHZG5boLzUXRaTet0jfOprLTQ+TmhwTynTWXlvVPZA4H0j5TEeDpiAF4xDj5sFXrKtG7EyUTQ==
X-Received: by 2002:a05:6000:23c7:b0:38f:218c:f672 with SMTP id ffacd0b85a97d-390eca41904mr7634141f8f.41.1741012602186;
        Mon, 03 Mar 2025 06:36:42 -0800 (PST)
Message-ID: <d0de16ad-33d5-4878-8e7f-8e8cd1d44585@suse.com>
Date: Mon, 3 Mar 2025 15:36:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 0/5] Fix lazy mmu mode
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250303141542.3371656-1-ryan.roberts@arm.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: <20250303141542.3371656-1-ryan.roberts@arm.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------j1JkPn85K8wsyuAVtwcVFZfT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------j1JkPn85K8wsyuAVtwcVFZfT
Content-Type: multipart/mixed; boundary="------------MxUlsgon821Y6J0ncZkjxNaY";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <d0de16ad-33d5-4878-8e7f-8e8cd1d44585@suse.com>
Subject: Re: [PATCH v2 0/5] Fix lazy mmu mode
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>

--------------MxUlsgon821Y6J0ncZkjxNaY
Content-Type: multipart/mixed; boundary="------------Dy08AUytJDFuCzLfWwyhli8T"

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

T24gMDMuMDMuMjUgMTU6MTUsIFJ5YW4gUm9iZXJ0cyB3cm90ZToNCj4gSGkgQWxsLA0KPiAN
Cj4gSSdtIHBsYW5uaW5nIHRvIGltcGxlbWVudCBsYXp5IG1tdSBtb2RlIGZvciBhcm02NCB0
byBvcHRpbWl6ZSB2bWFsbG9jLiBBcyBwYXJ0DQo+IG9mIHRoYXQsIEkgd2lsbCBleHRlbmQg
bGF6eSBtbXUgbW9kZSB0byBjb3ZlciBrZXJuZWwgbWFwcGluZ3MgaW4gdm1hbGxvYyB0YWJs
ZQ0KPiB3YWxrZXJzLiBXaGlsZSBsYXp5IG1tdSBtb2RlIGlzIGFscmVhZHkgdXNlZCBmb3Ig
a2VybmVsIG1hcHBpbmdzIGluIGEgZmV3DQo+IHBsYWNlcywgdGhpcyB3aWxsIGV4dGVuZCBp
dCdzIHVzZSBzaWduaWZpY2FudGx5Lg0KPiANCj4gSGF2aW5nIHJldmlld2VkIHRoZSBleGlz
dGluZyBsYXp5IG1tdSBpbXBsZW1lbnRhdGlvbnMgaW4gcG93ZXJwYywgc3BhcmMgYW5kIHg4
NiwNCj4gaXQgbG9va3MgbGlrZSB0aGVyZSBhcmUgYSBidW5jaCBvZiBidWdzLCBzb21lIG9m
IHdoaWNoIG1heSBiZSBtb3JlIGxpa2VseSB0bw0KPiB0cmlnZ2VyIG9uY2UgSSBleHRlbmQg
dGhlIHVzZSBvZiBsYXp5IG1tdS4gU28gdGhpcyBzZXJpZXMgYXR0ZW1wdHMgdG8gY2xhcmlm
eQ0KPiB0aGUgcmVxdWlyZW1lbnRzIGFuZCBmaXggYWxsIHRoZSBidWdzIGluIGFkdmFuY2Ug
b2YgdGhhdCBzZXJpZXMuIFNlZSBwYXRjaCAjMQ0KPiBjb21taXQgbG9nIGZvciBhbGwgdGhl
IGRldGFpbHMuDQo+IA0KPiBOb3RlIHRoYXQgSSBoYXZlIG9ubHkgYmVlbiBhYmxlIHRvIGNv
bXBpbGUgdGVzdCB0aGVzZSBjaGFuZ2VzIGJ1dCBJIHRoaW5rIHRoZXkNCj4gYXJlIGluIGdv
b2QgZW5vdWdoIHNoYXBlIGZvciBzb21lIGxpbnV4LW5leHQgdGVzdGluZy4NCj4gDQo+IEFw
cGxpZXMgb24gRnJpZGF5J3MgbW0tdW5zdGFibGUgKDVmMDg5YTlhYTk4NyksIGFzIEkgYXNz
dW1lIHRoaXMgd291bGQgYmUNCj4gcHJlZmVycmVkIHZpYSB0aGF0IHRyZWUuDQo+IA0KPiBD
aGFuZ2VzIHNpbmNlIHYxDQo+ID09PT09PT09PT09PT09PT0NCj4gICAgLSBzcGxpdCB2MSBw
YXRjaCAjMSBpbnRvIHYyIHBhdGNoICMxIGFuZCAjMjsgcGVyIERhdmlkDQo+ICAgIC0gQWRk
ZWQgQWNrZWQtYnkgdGFncyBmcm9tIERhdmlkIGFuZCBBbmRyZWFzOyBUaGFua3MhDQo+ICAg
IC0gUmVmaW5lZCB0aGUgcGF0Y2hlcyB3aGljaCBhcmUgdHJ1ZWx5IGZpeGVzIGFuZCBhZGRl
ZCB0byBzdGFibGUgdG8gY2MNCj4gDQo+IFRoYW5rcywNCj4gUnlhbg0KPiANCj4gUnlhbiBS
b2JlcnRzICg1KToNCj4gICAgbW06IEZpeCBsYXp5IG1tdSBkb2NzIGFuZCB1c2FnZQ0KPiAg
ICBmcy9wcm9jL3Rhc2tfbW11OiBSZWR1Y2Ugc2NvcGUgb2YgbGF6eSBtbXUgcmVnaW9uDQo+
ICAgIHNwYXJjL21tOiBEaXNhYmxlIHByZWVtcHRpb24gaW4gbGF6eSBtbXUgbW9kZQ0KPiAg
ICBzcGFyYy9tbTogQXZvaWQgY2FsbGluZyBhcmNoX2VudGVyL2xlYXZlX2xhenlfbW11KCkg
aW4gc2V0X3B0ZXMNCj4gICAgUmV2ZXJ0ICJ4ODYveGVuOiBhbGxvdyBuZXN0aW5nIG9mIHNh
bWUgbGF6eSBtb2RlIg0KPiANCj4gICBhcmNoL3NwYXJjL2luY2x1ZGUvYXNtL3BndGFibGVf
NjQuaCAgIHwgIDIgLS0NCj4gICBhcmNoL3NwYXJjL21tL3RsYi5jICAgICAgICAgICAgICAg
ICAgIHwgIDUgKysrKy0NCj4gICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJ2aXNv
ci5oIHwgMTUgKystLS0tLS0tLS0tLS0tDQo+ICAgYXJjaC94ODYveGVuL2VubGlnaHRlbl9w
di5jICAgICAgICAgICB8ICAxIC0NCj4gICBmcy9wcm9jL3Rhc2tfbW11LmMgICAgICAgICAg
ICAgICAgICAgIHwgMTEgKysrKy0tLS0tLS0NCj4gICBpbmNsdWRlL2xpbnV4L3BndGFibGUu
aCAgICAgICAgICAgICAgIHwgMTQgKysrKysrKystLS0tLS0NCj4gICA2IGZpbGVzIGNoYW5n
ZWQsIDE4IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQ0KDQpGb3IgdGhlIHNlcmll
czoNCg0KQWNrZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpK
dWVyZ2VuDQo=
--------------Dy08AUytJDFuCzLfWwyhli8T
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-----

--------------Dy08AUytJDFuCzLfWwyhli8T--

--------------MxUlsgon821Y6J0ncZkjxNaY--

--------------j1JkPn85K8wsyuAVtwcVFZfT
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/Ey8FAmfFvngFAwAAAAAACgkQsN6d1ii/Ey9N
HQf8CVGYvY31u+jZWErxqTSyDA7QQHaTw7tURzlm5l8yYeEnRGQwVGiLei6T5Ntjuj7NBN343O9f
09ZUt85SNGt0VcBYWrF2C3sTml+jsOUTF2kxZwRfVLyUQ8vpnPIcyC9XEicHLZTph7aCJ7rur1is
cJ4bCWKtarW+365ICzD5fLVso4JENnqDneUbtMJ2cibbsYPCSnq8VzLZjWLhPAxkybsCaBPc8e6A
jwWftIwIiqbJOuPprrf8QQ568TWkkm0cRoZqOorrwBbYbeOxDUXMVFH0xS8sMkWAXVYEMB0gOhoz
kGXdGm/0HeROKlLNMNPDmJCQ+cPKAHGHuqxdtCQM2A==
=6C3p
-----END PGP SIGNATURE-----

--------------j1JkPn85K8wsyuAVtwcVFZfT--


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 14:38:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 14:38:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900417.1308335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp6wT-0004rp-0r; Mon, 03 Mar 2025 14:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900417.1308335; Mon, 03 Mar 2025 14:38: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 1tp6wS-0004ri-UI; Mon, 03 Mar 2025 14:38:48 +0000
Received: by outflank-mailman (input) for mailman id 900417;
 Mon, 03 Mar 2025 14: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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp6b9-0004ZK-6S
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 14:16:47 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 235cf18b-f83a-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 15:16:46 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-223a7065ff8so31165425ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 06:16:46 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7364ef011c1sm2591656b3a.111.2025.03.03.06.16.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 06:16:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 235cf18b-f83a-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741011405; x=1741616205; darn=lists.xenproject.org;
        h=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=mHyQ1S6OcoiWu2NIhoviRiSzrc0wSkcr90Nm+vU00/w=;
        b=E2u2Kt6g7iaWK0Muhiq/Z5edKa2DFrUBIJkBsoCY1S/kgpL+m8eJAgfUG32fdDyhS6
         xRMIOtU1e/QTYPeZZOGyrWTU9pLZSJ7U96RjX7aqVVGjK5UxHUnF/SANlJZ4oBjfiFjm
         ju3oALIDrmzzNG1N7L3CKND7jRWBOaAyFn3KY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741011405; x=1741616205;
        h=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=mHyQ1S6OcoiWu2NIhoviRiSzrc0wSkcr90Nm+vU00/w=;
        b=lqr91KFAaR6Rxhwfwgz+++BeTuBxZtaOqJ5jJ9uMk/R+FAnWjXTF28gBa2449uVLyW
         dDyjjE2D4uBt9Aq6A3qZ9uI5vYCSFcuaTP7Nn2MQ4ESJjqCqXZPIPXJmKQ0lTBDla949
         luwD2k09c4942pg4UaoN9Og4Sw1IFiO2qp6xm4MBinDyaOexP6TfNOcpRLXLZYC3IH7L
         d/vVpdmx2zreCg7/OuiabokcybdFqXL7IOV02XRiWwfwH1SS0kRj74ivjsHF5z2+GoNE
         BfPNwSqMcOF+rSOhehGT6A9scwz6OTgI8W9KdFo56oDDbfdO359uHrIF/jwQFt1ScifB
         diGg==
X-Forwarded-Encrypted: i=1; AJvYcCXAn19xzyC7jy8g0TsW494Zoiey+BynC/7vM1JRGz8qJLrK63XG3NCZogkVWkpeb7zLDNB45DsIBmw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxHnJvk74nD2OD2mzfvsIb4Vl1Je8++eC2n4D8ztnKTMT1hXPIp
	wQGnXtsphc54t+HlqXF21i/YhIiEGnBAjvu+UGUM2SAMIT6fX8lIrth3Y117RDU=
X-Gm-Gg: ASbGncudrh0Is5ZDz20wInX1w0bFpxs5Hy5UhHTuDfVILu2bGg8wHm8xWGzjcm8HfVX
	DN0MisJ6AdaX4/Yj9nb21pws0M56/fOGINvEtiR6skmxEWl1xigYiM5oOPJVuFCYC3nMDWPhsFm
	zkdlpyOOOTc3sPhc3AK7kaP1kAJlZIn544dNWwzHHzhBPBUOIlfBW9+r06aCicfcT0bT0uIvwF8
	6wBEnBIqfLeMMA7NDsg7uIL7wNoyuze3cvNfYNDD29DNt+lzaD6l0hGsx0LhLll7q08ygKDeLdh
	uPaSu0acS/YGDf7nIkk0Z/nm6wWA1F086gUfo9jPfoUNL9j61g==
X-Google-Smtp-Source: AGHT+IGoLI4X4aCiq6Qh2tqDp2VFm/jy5ZG2qcvCISc/6H3iGzMjb0RkAikmZjUbfxoQpMD0LN0TIw==
X-Received: by 2002:a05:6a00:ccc:b0:736:48d1:57f7 with SMTP id d2e1a72fcca58-73648d159c8mr7714064b3a.7.1741011405046;
        Mon, 03 Mar 2025 06:16:45 -0800 (PST)
Date: Mon, 3 Mar 2025 15:16:39 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Nirmal Patel <nirmal.patel@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org,
	Jonathan Derrick <jonathan.derrick@linux.dev>,
	Lorenzo Pieralisi <lpieralisi@kernel.org>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
	Rob Herring <robh@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: [PATCH v3 2/3] PCI: vmd: Disable MSI remapping bypass under Xen
Message-ID: <Z8W5x73El3aUOs5i@macbook.local>
References: <20250219092059.90850-1-roger.pau@citrix.com>
 <20250219092059.90850-3-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250219092059.90850-3-roger.pau@citrix.com>

Hello Nirmal,

Can I please get an Ack or a request for changes on the patch below
for the VMD controller code?

Thanks, Roger.

On Wed, Feb 19, 2025 at 10:20:56AM +0100, Roger Pau Monne wrote:
> MSI remapping bypass (directly configuring MSI entries for devices on the
> VMD bus) won't work under Xen, as Xen is not aware of devices in such bus,
> and hence cannot configure the entries using the pIRQ interface in the PV
> case, and in the PVH case traps won't be setup for MSI entries for such
> devices.
> 
> Until Xen is aware of devices in the VMD bus prevent the
> VMD_FEAT_CAN_BYPASS_MSI_REMAP capability from being used when running as
> any kind of Xen guest.
> 
> The MSI remapping bypass is an optional feature of VMD bridges, and hence
> when running under Xen it will be masked and devices will be forced to
> redirect its interrupts from the VMD bridge.  That mode of operation must
> always be supported by VMD bridges and works when Xen is not aware of
> devices behind the VMD bridge.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
> Changes since v2:
>  - Adjust patch subject.
>  - Adjust code comment.
> 
> Changes since v1:
>  - Add xen header.
>  - Expand comment.
> ---
>  drivers/pci/controller/vmd.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
> index 9d9596947350..e619accca49d 100644
> --- a/drivers/pci/controller/vmd.c
> +++ b/drivers/pci/controller/vmd.c
> @@ -17,6 +17,8 @@
>  #include <linux/rculist.h>
>  #include <linux/rcupdate.h>
>  
> +#include <xen/xen.h>
> +
>  #include <asm/irqdomain.h>
>  
>  #define VMD_CFGBAR	0
> @@ -970,6 +972,24 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
>  	struct vmd_dev *vmd;
>  	int err;
>  
> +	if (xen_domain()) {
> +		/*
> +		 * Xen doesn't have knowledge about devices in the VMD bus
> +		 * because the config space of devices behind the VMD bridge is
> +		 * not known to Xen, and hence Xen cannot discover or configure
> +		 * them in any way.
> +		 *
> +		 * Bypass of MSI remapping won't work in that case as direct
> +		 * write by Linux to the MSI entries won't result in functional
> +		 * interrupts, as Xen is the entity that manages the host
> +		 * interrupt controller and must configure interrupts.  However
> +		 * multiplexing of interrupts by the VMD bridge will work under
> +		 * Xen, so force the usage of that mode which must always be
> +		 * supported by VMD bridges.
> +		 */
> +		features &= ~VMD_FEAT_CAN_BYPASS_MSI_REMAP;
> +	}
> +
>  	if (resource_size(&dev->resource[VMD_CFGBAR]) < (1 << 20))
>  		return -ENOMEM;
>  
> -- 
> 2.46.0
> 


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 15:06:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 15:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900452.1308344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp7Md-0001hA-0h; Mon, 03 Mar 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 900452.1308344; Mon, 03 Mar 2025 15:05: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 1tp7Mc-0001h3-Ts; Mon, 03 Mar 2025 15:05:50 +0000
Received: by outflank-mailman (input) for mailman id 900452;
 Mon, 03 Mar 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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp7Mc-0001gx-6v
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 15:05:50 +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 fb3c8c4d-f840-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 16:05:45 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-abf4d756135so362391966b.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 07:05:45 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac1e8a8c1f9sm43704466b.69.2025.03.03.07.05.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 07:05:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb3c8c4d-f840-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741014344; x=1741619144; darn=lists.xenproject.org;
        h=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=bTyjRjXa23YRmw8rBvnbHI5OgQQJDhI0b5KyaQ3Fbz8=;
        b=q5NNWyhwGgB0f29V/KUH8ZhYFWe3RSBrb/SI4FnWNmtgu2YCxevn+y58qhYCVsj1Gq
         Vvhz8G0U0IhXhv/RbNWd84KPqtLiilQCNayxEnW4cqcVbsmox/dBZmhiLFHGgSCOB3+H
         PLRynqhYqt0uQRokXDwudOkGcrbV2YxP8wGe8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741014344; x=1741619144;
        h=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=bTyjRjXa23YRmw8rBvnbHI5OgQQJDhI0b5KyaQ3Fbz8=;
        b=S1F/Nm0NFFSY/sXLyjhjYAV10Qg4d/ymbrXM/bdd3WhUY04pDwH2rEq8dvnT/WWKZi
         n7XmZsiSZwyWK/qup74d7q5Mr5E44DWr4InasRiID3yGZXUJNhgORdREksrkWnz4Huha
         F57/nAZJx4ZbcHPW9wP9TRAqZjxBBuIpSH8vZgJ5ECRKFX+OHXM4Ibn3TWPqXRjlgq5B
         I4ZDgS+y4s57qHLv0inQ9SDWsBaSQfxehqc3LPlP0pOYwtcC40IgL+NrYR43vNvC+Wb9
         ZrzPvj9rnfsxzP/T1XtyMzyYFyyx5/A9yJ2kZRGUd4ucn8pJNV7g1lQQ6icQEriowW11
         nl/g==
X-Gm-Message-State: AOJu0Yx98rvLKkRybIc9ThE/0iAhefbZQWT5cy1C0Yq2ajF30e9lpv4m
	kmRfB1+TBpE2/As+1+h4AdbQPytLK6Q4FK445H8WAHOsGVu+AaIXN/XC/RPlitQ=
X-Gm-Gg: ASbGncvI/kibt35XQxewNP2RpFF9ffV6W5d3mHG3VwhKoFAateO3gWSWtl3RIla2xjK
	nFglqv7pAbotR5DlKXuVgYJkOaMvKcv7hnVXMJIA48HiVqVxnLzjSADQPqUuUa7KahX9xVzO+6O
	oEj5Tk7LtOODpjys5Dr/xMLdaTrQhoDvhx2OPh4i20ALCbFpSaeQLBTKIpACg9ExSSU83AXBzD2
	9rI4BtUk+Oegnjq6ChPZCd8F+y4FutavT7C2dFKWKp6wwoAZkHz+epDzgnsatrmQjJFx1AntHpA
	wyG4g9gltj9/okqahzDQVU7ItwGXbiHYBqNrvWHwRNeDrS8sag==
X-Google-Smtp-Source: AGHT+IElmCxR13LVHYG1kez1bFffysb6oUgFc9/9iz0zkcGIS95Ol+Dq84BL6mJ6Grci/EjNOojWUw==
X-Received: by 2002:a17:907:6e90:b0:abf:71bb:c24a with SMTP id a640c23a62f3a-abf71bbc70dmr553324166b.17.1741014344095;
        Mon, 03 Mar 2025 07:05:44 -0800 (PST)
Date: Mon, 3 Mar 2025 16:05:42 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
	Artem_Mygaiev@epam.com, jbeulich@suse.com, Luca.Fancellu@arm.com,
	marmarek@invisiblethingslab.com, andrew.cooper3@citrix.com,
	anthony.perard@vates.tech
Subject: Re: [PATCH 1/4] Add .clang-format files to enable manual coding
 style checks
Message-ID: <Z8XFRmK_kL6Lp9Xk@macbook.local>
References: <20250301114242.93650-1-andr2000@gmail.com>
 <20250301114242.93650-2-andr2000@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250301114242.93650-2-andr2000@gmail.com>

On Sat, Mar 01, 2025 at 01:42:39PM +0200, Oleksandr Andrushchenko wrote:
> Disable coding style checks for the project, but xen/ folder:
> this is done by providing a global .clang-format at the top level which
> disables clang-format and only providing .clang-format for xen/.
> 
> clang-format version expected to be >15 and the latest tool can be
> installed with:
> python3 -m pip install clang-format
> 
> Please note, that no automatic code style checks are performed and all
> those can be run manually:
> 
> - to see changes proposed to the patch being worked on (not committed yet):
> git-clang-format --diff --style=file --verbose
> 
> - to run code formatting on the HEAD patch:
> git-clang-format --style=file --verbose HEAD~1
> 
> Provided xen/.clang-format still has a lot of comments gathered from the
> previous discussions. This is for purpose of better seeing why some of
> the options have their values. Once option values are accepted all those
> comments can be removed.

I think the comments need to be trimmed to a concise explanation of
why a setting is the way it is.  The (IMO overly long) excerpts from
email conversations are difficult to follow in this context.  Someone
has to spend the time to digest them and provide a shorter comment.

One thing that I'm missing: don't we need a list of excluded files
somewhere because they are imports from Linux and we would like to
keep the Linux coding style for avoiding conflicts when backporting
fixes?

> 
> Signed-off-by: Oleksandr Andrushchenko <andr2000@gmail.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  .clang-format     |    5 +
>  xen/.clang-format | 1380 +++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 1385 insertions(+)
>  create mode 100644 .clang-format
>  create mode 100644 xen/.clang-format
> 
> diff --git a/.clang-format b/.clang-format
> new file mode 100644
> index 000000000000..fc3f8e167f65
> --- /dev/null
> +++ b/.clang-format
> @@ -0,0 +1,5 @@
> +---
> +DisableFormat: true
> +SortIncludes: Never
> +...
> +
> diff --git a/xen/.clang-format b/xen/.clang-format
> new file mode 100644
> index 000000000000..480628544cdd
> --- /dev/null
> +++ b/xen/.clang-format
> @@ -0,0 +1,1380 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# clang-format configuration file. Intended for clang-format >= 15.

What happens if used with clang-format < 15?  I expect the tool gives
some kind of error about unknown options, rather than doing a wrong
formatting?

> +#
> +# For more information, see:
> +#
> +#   Documentation/process/clang-format.rst
> +#   https://clang.llvm.org/docs/ClangFormat.html
> +#   https://clang.llvm.org/docs/ClangFormatStyleOptions.html
> +#
> +---
> +
> +################################################################################
> +# How to review the changes
> +################################################################################
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02126.html
> +# ------------------------------------------------------------------------------
> +# George Dunlap:
> +# It's hard to agree on this one without seeing some of the examples of
> +# what it does, some examples of the "weird behavior" Stefano &
> +# Allejandro found, and some examples of places where it's going to
> +# remove the alignment.
> +#
> +# I had tried to apply your series before and didn't get very far with
> +# it for some reason ISTR.  One way to see the effect of individual
> +# features would be:
> +#
> +# 1. Make a branch with one big patch applying clang-format for a given style
> +#
> +# 2. Change just one style line, re-run clang format, and create a new
> +# patch from that
> +#
> +# Then it would be easy to see the difference between the two.  It might
> +# actually be easier for individual reviewers to do that on their own
> +# trees, rather than to ask you to try to generate and post such patches
> +# somewhere.
> +
> +################################################################################
> +# do/while loops
> +################################################################################
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02276.html
> +# ------------------------------------------------------------------------------
> +# Jan:
> +# > I've read the past threads about the brave people who dared to try to
> +# > introduce clang-format for the xen codebase, some of them from 5 years ago,
> +# > two points were clear: 1) goto label needs to be indented and 2) do-while
> +# > loops have the braket in the same line.
> +# > While point 1) was quite a blocker, it seemd to me that point 2) was less
> +# > controversial to be changed in the Xen codestyle, so the current wrapper
> +# > script handles only the point 1 (which is easy), the point 2 can be more
> +# > tricky to handle.
> +#
> +# I'm afraid I view the do/while part pretty much as a blocker as well.
> +# While placing the opening brace according to our style elsewhere would
> +# be okay-ish (just a little wasteful to have two almost empty lines),
> +# having the closing brace on a separate line is problematic: At least I
> +# consider a block / scope to end at the line where the closing brace is.
> +# So the farther do and while are apart, the more
> +#
> +#    do
> +#    {
> +#        ...;
> +#    }
> +#    while ( cond );
> +#    ...;
> +#
> +# is going to be misleading. While normally we would write potentially
> +# conflicting constructs this way
> +#
> +#     while ( cond )
> +#         ;
> +#
> +# the alternative spelling still isn't outright wrong in our style (I
> +# believe):
> +#
> +#     while ( cond );
> +#
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02282.html
> +# ------------------------------------------------------------------------------
> +# Luca:
> +# Thank you for your feedback, I could maybe misunderstood your reply, so please
> +# tell me if I am wrong, the Xen coding style mandates this style for do-while
> +# loops:
> +#
> +# do {
> +# /* Do stuff. */
> +# } while ( condition );
> +#
> +# Currently clang-format is able to do only this:
> +#
> +# do
> +# {
> +# /* Do stuff. */
> +# } while ( condition );
> +#
> +# So the issue is only in the opening brackets, not the closing one. Is it a
> +# blocker too?
> +#
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02284.html
> +# ------------------------------------------------------------------------------
> +# Jan:
> +# > do
> +# > {
> +# > /* Do stuff. */
> +# > } while ( condition );
> +#
> +# Oh, I hadn't understood your description that way.
> +#
> +# > So the issue is only in the opening brackets, not the closing one. Is it a
> +# > blocker too?
> +#
> +# No. I don't like the longer form, but I could live with it.
> +
> +################################################################################
> +# clang version to use
> +################################################################################
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02301.html
> +# ------------------------------------------------------------------------------
> +# Alejandro:
> +# > The minimum clang-format version for the file is 15, my ubuntu 22.04 comes
> +# > with it, we can reason if it's too high, or if we could also use the latest
> +# > version maybe shipped inside a docker image.
> +# 15 sounds ok \methinks. In practice we'll just stick it in GitLab and let
> +# it check commits, so we'll be safe even in the case where every developer
> +# has a slightly different version of the tool. I wouldn't try to make this
> +# (hard) task harder by trying to retrofit it in an older version.
> +#
> +# It might be worth stitching a flag in the python script to scream if the
> +#clang-format version doesn't match. Or it may do a mess of the tree.
    ^ missing space

Is it possible to add such flag and give a clear error when the wrong
clang-format version is used?

> +################################################################################
> +# Options and their discussions
> +################################################################################
> +
> +# [not specified]
> +# Align function parameter that goes into a new line, under the open bracket
> +# (supported in clang-format 3.8)
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
> +# ------------------------------------------------------------------------------
> +# Luca: This one is to align function parameters that overflows the line length,
> +# I chose to align them to the open bracket to match the current codebase
> +# (hopefully) e.g.:
> +# someLongFunction(argument1,
> +#                  argument2);
> +#
> +# This one can be a candidate for an entry in our coding style
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
> +# ------------------------------------------------------------------------------
> +# Jan:
> +# > e.g.:
> +# > someLongFunction(argument1,
> +# >                  argument2);
> +# The above matches neither of the two generally permitted styles:
> +#
> +#    someLongFunction(argument1,
> +#                     argument2);
> +#
> +#    someLongFunction(
> +#        argument1,
> +#        argument2);
> +#
> +# Then again from its name I would infer this isn't just about function
> +# arguments?
> +#
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
> +# ------------------------------------------------------------------------------
> +# Luca:
> +# I think it applies to parameters and arguments of functions and macro, given
> +# the description in the docs.
> +# I see your two snippets above but Iâve always found at least on arm a
> +# predominance of the style above for functions, so arguments aligned after the
> +# opening bracket, for macros there is a mix.
> +# I might be wrong though and so another opinion from another maintainer would
> +# help.
> +# In any case we can choose among many value:
> +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
> +# but when we do so, we need to stick to one permitted style only, the tool donât
> +# allow to specify more than one.
> +#
> +# ------------------------------------------------------------------------------
> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02311.html
> +# ------------------------------------------------------------------------------
> +# Jan:
> +# > I see your two snippets above but Iâve always found at least on arm a
> +# > predominance of the style above for functions, so arguments aligned after
> +# > the opening bracket, for macros there is a mix.
> +#
> +# The latter "above" refers to which form exactly? The one you originally
> +# spelled out, or the former of what my reply had?
> +#
> +# > In any case we can choose among many value:
> +# > https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
> +# > but when we do so, we need to stick to one permitted style only, the tool
> +# > donât allow to specify more than one.
> +#
> +# a2k: RED FLAG

What does 'a2k' mean?

I'm afraid this needs to be trimmed to a more manageable comment,
otherwise I simply get lost in the context.  Maybe it makes sense more
people involved in the discussion.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 15:13:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 15:13:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900466.1308354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp7Tr-0003XX-Nm; Mon, 03 Mar 2025 15:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900466.1308354; Mon, 03 Mar 2025 15:13: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 1tp7Tr-0003XQ-L3; Mon, 03 Mar 2025 15:13:19 +0000
Received: by outflank-mailman (input) for mailman id 900466;
 Mon, 03 Mar 2025 15: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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp7Tq-0003XI-6m
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 15:13:18 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07f18ecf-f842-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 16:13:16 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-2237cf6a45dso36820595ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 07:13:16 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-73631435aebsm5239359b3a.82.2025.03.03.07.13.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 07:13:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07f18ecf-f842-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741014795; x=1741619595; darn=lists.xenproject.org;
        h=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=nUh9ubw81EEspJjWHvDfrbcoNiqGGwOUOGCkcNRDtc8=;
        b=fUh+3U6ehe6Sm5aov3Id/y+tjM6kX2RvQYpvnRAdBriJNtwNCnscFIYubSeBGGcQWm
         TyZlTap4OopJuzGTK0Ql76ecgUBSFIjLdOArVCVw6fbdXCdrTxaujcXyCK5U24KX915a
         DyMEqs1YZoMzz3gyfSA5OTApid9qwOtNMQL7U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741014795; x=1741619595;
        h=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=nUh9ubw81EEspJjWHvDfrbcoNiqGGwOUOGCkcNRDtc8=;
        b=HaIIo9Hxc1J63WyYiYMGJIt5Dvg4d0tV6h+Fd0Wkpvn3I/4SCMBzlIAwAqJu1xZOut
         T+4T9Ow0R4VzFYeA9uOoAD5kkklpWb8qvyRwYPFGaVpm8BrNIYgC+2qskion+DfOgTWy
         rnOl50zhSFTmt5FF1OEmYFdiHJzgalE6piI779z001IvlVq23dhYFMJ/wNm86ZRFm9tV
         pZxAmck/C5ZLeMYw5zUpAYeFElAoorQroowXQijqAWw73y57r70O+KA+2//SMtqtvRzA
         IKRMl3jL+2M6RDwbNPYT6AcW8O0XUoIzzvIbX4uvjK/0aUjcM0p9M+QUR1Jdm0CKfQt5
         BZQA==
X-Gm-Message-State: AOJu0YxddWoI9SRUKX04FvAMHQh4yeGTUXgVMC5XBQGTB9Y31i0r/4n1
	HFh9797VutAsd9n/KhXSOmCFbMYBJqMCDfT6BYd1j8BwmLwv9rR0SDlbYpZxaRM=
X-Gm-Gg: ASbGncvaZpIEtmLPQrCazaMNM8xREDpQiBu/ST0sptFm3SxPgL54mxEWA9JL1Kp+0gN
	7DH2E86vpdtPEuup/t1JHXD1a/lFlhHCJQv30kmaQea/tt4GEuIgmsyT8vUgIiahDoO1UbGsMRl
	2In8mW83mxkpwsyFQeNFjF5BUF0sGbvHbKC47BAHycRJ87Q3Q9WYOxCGuJP3Aq9wr0l/vWWHUNY
	uSJsnMWPBeBydDn9Kdi2J9C+5OSPV2OiMH80KSfd/aGkSuYDW/oZ5MTYF8Z/S88yKHz5olEBMnf
	9UEYSv2+HfD7r7gagnPx9bVqhwWbaR+LO4TjBD+HT0oBMoPt3Q==
X-Google-Smtp-Source: AGHT+IGpelKPP8I0pnybMXQwJ7eLI/TP6b47Qp2x31GXZCvP0QgWSSx9fmyqInyQZLvts7zOu8TiSw==
X-Received: by 2002:a17:903:2ca:b0:21f:55e:ed64 with SMTP id d9443c01a7336-22368f6a609mr203817525ad.3.1741014794616;
        Mon, 03 Mar 2025 07:13:14 -0800 (PST)
Date: Mon, 3 Mar 2025 16:13:08 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.20 2/2] SUPPORT.md: Define support lifetime
Message-ID: <Z8XHBA7hL4uuU29w@macbook.local>
References: <20250303141754.26452-1-andrew.cooper3@citrix.com>
 <20250303141754.26452-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250303141754.26452-3-andrew.cooper3@citrix.com>

On Mon, Mar 03, 2025 at 02:17:54PM +0000, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> 4.20 only.
> ---
>  SUPPORT.md | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 2bc5bd81ee39..a72798aeeae4 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -9,13 +9,13 @@ for the definitions of the support status levels etc.
>  
>  # Release Support
>  
> -    Xen-Version: 4.20-rc
> -    Initial-Release: n/a
> -    Supported-Until: TBD
> -    Security-Support-Until: Unreleased - not yet security-supported
> +    Xen-Version: 4.20
> +    Initial-Release: 2025-03-05
> +    Supported-Until: 2028-03-05
> +    Security-Support-Until: 2026-09-05

I  think there's a typo here, it should be:

Initial-Release: 2025-03-05
Supported-Until: 2026-09-05
Security-Support-Until: 2028-03-05

So 1.5 years of support, and 3 years of security support?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 15:21:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 15:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900477.1308365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp7bw-0005Im-Gs; Mon, 03 Mar 2025 15:21:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900477.1308365; Mon, 03 Mar 2025 15:21: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 1tp7bw-0005If-Dl; Mon, 03 Mar 2025 15:21:40 +0000
Received: by outflank-mailman (input) for mailman id 900477;
 Mon, 03 Mar 2025 15:21: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tp7bv-0005IZ-Aw
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 15:21:39 +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 32d2d657-f843-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 16:21:37 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43994ef3872so29721315e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 07:21:37 -0800 (PST)
Received: from [10.81.43.157] ([46.149.103.15])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43b736f75c6sm162141035e9.1.2025.03.03.07.21.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 07:21:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32d2d657-f843-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741015297; x=1741620097; 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=PqYY4ajlQ/GTBXMkQJZSaO5R+/3SVrjjYulyoVX3xeA=;
        b=RYr59rEvbTE9QPKsf9EZEYvgaDXmXpJQJVrQtYv77C1fOk4wHPwf9563WM92N0TmNE
         jjzN2RLg6s8Y69WFVZf7fsU02ZI0RiSWo0xgvWplS0f4b2vYbczhFtle4erLdBtirhgH
         gtZk7U2/TIb/gcPqYvGX3RU6Fy3rAb47rzjcM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741015297; x=1741620097;
        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=PqYY4ajlQ/GTBXMkQJZSaO5R+/3SVrjjYulyoVX3xeA=;
        b=wKUmOLLFVmHe/7IDhYAqtdHV9L7uzf/+ZWAX8lNhHMv1bvA0VRa6B1qwyCYiXUYHgN
         dPq3/X6c2VsKPqzC3QcOjNHaYhOYdknHESqj9epxk+wFIms8VH++eGkJVuPRtFISXUde
         tkBvCJNesoCS3cPCGR/psRxEPmkRJFOtUti8J9tx2EUDJ6XsmpDE/3r+b2rFegMj5nyG
         ro9P0fV6lOoRax4x5LagmDkSPvLW3mC2siKsmB+ybRVcH69Q3BF3j+aise994GA+rTsX
         IJhTBaw4cpqG+QDEO8H4vX8+noRiZ4D50OXPXTZgZvmsZ3ToBaHGzWh52H7/jzg5Yn+Q
         d7Tg==
X-Gm-Message-State: AOJu0YxTWx9rAc9U8xPBTloj+NMd8n8f9nA/0e6JGgX3RoXz38CXlLdt
	59ipSHwFZ+WDY70zYxmT5Uukt2VYMPeGG0+plhmgM4GkQKDTwHo0rXXvz/fbVao=
X-Gm-Gg: ASbGncuTZ7PIJr8zcEGZauEVTbSHVri0IUn68+TC7z/ZSmLNQDG0pofwdIcq+ZgMi0g
	3l3OOw0elCQHSnO7gFZzT40U4gSdL9Ycpeu3e6dFiEliXaZETpmQPf2gNQYc6qy2z4mcbcHo9qK
	DnG0mhXTJ693/tTBBwVcyOavHgaM746NiMGOjGQoDSZu83QRURMTJcWaoQ8Psgc7E/TLZUtkWi3
	OPnRMBBi/q4mbiMnahL+UZ8ymJAgRTmaSMy2jVMXnaoThA4tZIGcLwjSScyszhLTX0rWUxoIEeO
	nD4bZMrI0Je6Y0ihZOMntKMTe28XbzVDqq+t8kZf+kMOgOh+9ttAmCo=
X-Google-Smtp-Source: AGHT+IF8j7w/kY2vRJVQzvXdr9Gi4/gGvmJ0pO0JI/LY0waMYO3JBSP/nMWzh81k7bLcbOCZmeSdew==
X-Received: by 2002:a05:600c:46c6:b0:439:942c:c1cd with SMTP id 5b1f17b1804b1-43ba6704504mr129466105e9.15.1741015296683;
        Mon, 03 Mar 2025 07:21:36 -0800 (PST)
Message-ID: <89fc9950-92bd-4226-b96e-f0e091a6071c@citrix.com>
Date: Mon, 3 Mar 2025 15:21:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.20 2/2] SUPPORT.md: Define support lifetime
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250303141754.26452-1-andrew.cooper3@citrix.com>
 <20250303141754.26452-3-andrew.cooper3@citrix.com>
 <Z8XHBA7hL4uuU29w@macbook.local>
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: <Z8XHBA7hL4uuU29w@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/03/2025 3:13 pm, Roger Pau MonnĂŠ wrote:
> On Mon, Mar 03, 2025 at 02:17:54PM +0000, Andrew Cooper wrote:
>> diff --git a/SUPPORT.md b/SUPPORT.md
>> index 2bc5bd81ee39..a72798aeeae4 100644
>> --- a/SUPPORT.md
>> +++ b/SUPPORT.md
>> @@ -9,13 +9,13 @@ for the definitions of the support status levels etc.
>>  
>>  # Release Support
>>  
>> -    Xen-Version: 4.20-rc
>> -    Initial-Release: n/a
>> -    Supported-Until: TBD
>> -    Security-Support-Until: Unreleased - not yet security-supported
>> +    Xen-Version: 4.20
>> +    Initial-Release: 2025-03-05
>> +    Supported-Until: 2028-03-05
>> +    Security-Support-Until: 2026-09-05
> I  think there's a typo here, it should be:
>
> Initial-Release: 2025-03-05
> Supported-Until: 2026-09-05
> Security-Support-Until: 2028-03-05
>
> So 1.5 years of support, and 3 years of security support?

Oh yes, I've got those two the wrong way around.Â  Fixed locally.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 16:12:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 16:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900497.1308376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp8PC-0005Q1-8S; Mon, 03 Mar 2025 16:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900497.1308376; Mon, 03 Mar 2025 16:12: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 1tp8PC-0005Pu-4W; Mon, 03 Mar 2025 16:12:34 +0000
Received: by outflank-mailman (input) for mailman id 900497;
 Mon, 03 Mar 2025 16:12: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=RjBI=VW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tp8PA-0005Pl-BF
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 16:12:32 +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 4d3a37a8-f84a-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 17:12:29 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-aaf0f1adef8so903545066b.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 08:12:28 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac1de2e7be2sm119318066b.32.2025.03.03.08.12.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 08:12:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d3a37a8-f84a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741018347; x=1741623147; darn=lists.xenproject.org;
        h=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=cL8SxB2MzLj/C9GQq1BmBvU9bu+fPXPvGSWwcxe3tjo=;
        b=j1SZF3ubZm7qrQgLd5OJa1hM2+lDyxxuf7Mgy+QO2I2eb2Kq7xTonPUtrrZeDeZhhe
         gHyTu0gAea2e4JDHUAJVSkM7ywDZwOoGhwugD1qL1utlUzwXhkuY3yPAIW8AmOzYu+TS
         ep7IpmXNVaAghIuO9fSuLCFm859rxe5wQlahE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741018347; x=1741623147;
        h=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=cL8SxB2MzLj/C9GQq1BmBvU9bu+fPXPvGSWwcxe3tjo=;
        b=lgXwIgbr+G5L71I9C8Ir5OTlX2lmxtZ1442xi+sqBNjvBW+Ok/O42cEZ7po/F+BEEm
         Tj7/J5FGrJF/wCWpp+vosMY+RKpmGeuKYr65hHkGEOEOAdg6il4Uez2pyq6I3KI/xJIM
         +z8KdltXEODOLC6eS/sFfW2Sg9guSJsCmZrtC8owjqYoDvQpDR5tHgiZlDjgaRQ2aRoF
         /VCpF5Mjj8U9w6Flqs9T2eMYwcGOsV4jEMT+OX7X12VJVz4mFNe24iDPCPpQP0OQn2z5
         4uybVnJ4DNPpdrFlDFXP6YWQFyKjJ3e5pm+8F8jQeKQp8dHm6jhBmzD7YOsVohZ3yz3k
         XyXA==
X-Gm-Message-State: AOJu0Yz26GrQ5YYOoek2tWis5ADWBlSOWM7z7pwdsBVL5mKW1czWJrC5
	jyMeuNHvCR588UvB6n+dUWWPkXcAZdrkdGgi3sXwPoDKSewlHMI2ToLzfZfiwbo=
X-Gm-Gg: ASbGncu0BPnRRPIMRgFGpCDWv/ALhiM7Ku73KXNK4iUzJz2bpjSkbAJuGIWiOWZCf89
	zNVe068N3vR4ree4fVgvk0U33MDAtEE8noYxnSwa/SH6l5lXAcdU1vDZ5q/67vPMJ6PZxQ0xo6j
	xvXCluDgElq+iETIg/cw0y2Vr0NZguSkfCCy1PaYgDWYLh5ZP3mRxxeN33frSqj3tYo9rB1+t7+
	zECvqiZgX2h6YGTKiEABr3Q5334Oh2vVGaMysV2EvXDO0IsWw3bk7NVxuBZHxpYhzp6HvgGgcY0
	WV/UBv9wgUcihGZB1rVRlwgRBRy4R3oRLRN3Tn0HSKCxrvtLbA==
X-Google-Smtp-Source: AGHT+IFPYk1ClwxCJkXejuLS7yZc5qfmQiXrrqh7GpPh5+G/JQ0mHc3IaBB+6ByPAm/UK69GGYTdiQ==
X-Received: by 2002:a17:907:7ba7:b0:ab7:ca44:feb8 with SMTP id a640c23a62f3a-abf268380b9mr1628327066b.52.1741018347347;
        Mon, 03 Mar 2025 08:12:27 -0800 (PST)
Date: Mon, 3 Mar 2025 17:12:26 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.20 2/2] SUPPORT.md: Define support lifetime
Message-ID: <Z8XU6m1nSIvRKxzJ@macbook.local>
References: <20250303141754.26452-1-andrew.cooper3@citrix.com>
 <20250303141754.26452-3-andrew.cooper3@citrix.com>
 <Z8XHBA7hL4uuU29w@macbook.local>
 <89fc9950-92bd-4226-b96e-f0e091a6071c@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <89fc9950-92bd-4226-b96e-f0e091a6071c@citrix.com>

On Mon, Mar 03, 2025 at 03:21:35PM +0000, Andrew Cooper wrote:
> On 03/03/2025 3:13 pm, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 03, 2025 at 02:17:54PM +0000, Andrew Cooper wrote:
> >> diff --git a/SUPPORT.md b/SUPPORT.md
> >> index 2bc5bd81ee39..a72798aeeae4 100644
> >> --- a/SUPPORT.md
> >> +++ b/SUPPORT.md
> >> @@ -9,13 +9,13 @@ for the definitions of the support status levels etc.
> >>  
> >>  # Release Support
> >>  
> >> -    Xen-Version: 4.20-rc
> >> -    Initial-Release: n/a
> >> -    Supported-Until: TBD
> >> -    Security-Support-Until: Unreleased - not yet security-supported
> >> +    Xen-Version: 4.20
> >> +    Initial-Release: 2025-03-05
> >> +    Supported-Until: 2028-03-05
> >> +    Security-Support-Until: 2026-09-05
> > I  think there's a typo here, it should be:
> >
> > Initial-Release: 2025-03-05
> > Supported-Until: 2026-09-05
> > Security-Support-Until: 2028-03-05
> >
> > So 1.5 years of support, and 3 years of security support?
> 
> Oh yes, I've got those two the wrong way around.Â  Fixed locally.

With that:

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

For both patches.

Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 16:52:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 16:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900508.1308385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp91U-00042Y-1z; Mon, 03 Mar 2025 16:52:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900508.1308385; Mon, 03 Mar 2025 16:52: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 1tp91T-00042Q-VU; Mon, 03 Mar 2025 16:52:07 +0000
Received: by outflank-mailman (input) for mailman id 900508;
 Mon, 03 Mar 2025 16:52: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tp91S-00042H-Pi
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 16:52:06 +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 d5ba38ed-f84f-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 17:52:04 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-390eebcc371so1705072f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 08:52:04 -0800 (PST)
Received: from [10.81.43.157] ([46.149.103.10])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e485ddedsm14739260f8f.89.2025.03.03.08.52.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 08:52:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5ba38ed-f84f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741020724; x=1741625524; 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=NFRKAUFNXywTBedhA1hgZsbJTtTluG3F2YU10PXHwho=;
        b=aDnRtGrE3ghDYlJmZ1JrlZV8k6nPWJZu+lFgXJqBa2nULgWSYgdK35jl30ZKKmlejd
         GEhBiQBJ/Lq1mM5QA6gvpN1s3w9HGqTz+B3srZAA8SNDEgErwePOGfuS4LeTjE8Hw4BU
         oounSJuC3tMJNDflE1j82IILjnN/iCeneuTEU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741020724; x=1741625524;
        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=NFRKAUFNXywTBedhA1hgZsbJTtTluG3F2YU10PXHwho=;
        b=nMzTS44pZjwDXrE1s9WV6GFWtKj+xpkX+5+edvvcWfOueF4AuE3YC1UpheZzXdr43n
         R4w19STzU4NkUugKUimP7zZX1ACBYUD3AHK2jtKU6FxyL9HUHz9CmTToBNOV8O8RZ8J+
         xVVIbum7so43s2a7n1KtLxWacjJWuVv9izqgSwPF57KHHq80bxezNziF7xadIO1PFM3m
         Fi7pAj27n/t940Do9AgIby0efXzUK3ejOHnx63/6hDkZfyC3Aq+EdwQuzurxIPDfSjCw
         EqKn+siet/DUOHptUBrUyU6JwLGE5EGcLDS/jxbUamNHbWzFT079+84Ts4HUQUsxTbhB
         MrCg==
X-Forwarded-Encrypted: i=1; AJvYcCWHL37R89ZRPsCyECQh9WXDi+82B4t8/xeAoq60eMnf4IFdgjat9ifFTDuvZ1zmvkDi70yt8Cz9Imc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywc3aRXceJYlXGo3PwgQdVcSmBvo7vewMKg8BmnQB4pdPRVEbCS
	L6xbRPJuk8d7Fw1apjbHeAdAIdwud/HPfPbRgat03qd4DLT/NLV8lcuP7aTpFUM=
X-Gm-Gg: ASbGncvrCoucm8QqMAKmIU/zz7c6rmj71PTXZti1WdKXrbvWkUOYAUxVXX3YK7FKkxA
	ZyMlpJ7tNqNWLgPqjHbuz4RWKjzVwQIgq19BnzpT30JCj2v1ohcjmwjhswZthRCBoa8uCHL197S
	FJPsIMpD+Vv11yewLG0gq6w9EwLuGj6wy7oqb+ths03HRXPinTFZKtQeBjnEGLjBTw70Bgy3f89
	Fu3Xpr9y5EOI2MCDhUZQUrEn0Zv6OI8Jo0REQ5BRvebjyF9Wr6yAcxQhftPAnnJ3A08ekUQsR/k
	NNvTlNNi24QDJSYj3KPVhciL0SoIb6Vpliav/3qy6xxQ0aGmMeMOE98=
X-Google-Smtp-Source: AGHT+IHdBBUsjF1aesgQcI1oKTAo8yhSmzTQOD7RRLb/OPur5BqnCxZk8MTLNRSmBxxMpwJmvQviJQ==
X-Received: by 2002:a05:6000:1aca:b0:391:10f9:f3aa with SMTP id ffacd0b85a97d-39110f9f4ccmr2360758f8f.9.1741020723944;
        Mon, 03 Mar 2025 08:52:03 -0800 (PST)
Message-ID: <f62841d3-b0e4-4007-a056-a807a19fc988@citrix.com>
Date: Mon, 3 Mar 2025 16:52:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Don't cast away const-ness in vcpu_show_registers()
To: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250225230213.1248136-1-andrew.cooper3@citrix.com>
 <7e77dceb-489b-4022-a665-2a008ddfe844@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: <7e77dceb-489b-4022-a665-2a008ddfe844@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/02/2025 7:33 am, Jan Beulich wrote:
> On 26.02.2025 00:02, Andrew Cooper wrote:
>> The final hunk is `(struct vcpu *)v` in disguise, expressed using a runtime
>> pointer chase through memory and a technicality of the C type system to work
>> around the fact that get_hvm_registers() strictly requires a mutable pointer.
>>
>> For anyone interested, this is one reason why C cannot optimise any reads
>> across sequence points, even for a function purporting to take a const object.
>>
>> Anyway, have the function correctly state that it needs a mutable vcpu.  All
>> callers have a mutable vCPU to hand, and it removes the runtime pointer chase
>> in x86.
>>
>> Make one style adjustment in ARM while adjusting the parameter type.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>
>> RISC-V and PPC don't have this helper yet, not even in stub form.
>>
>> I expect there will be one objection to this patch.  Since the last time we
>> fought over this, speculative vulnerabilities have demonstrated how dangerous
>> pointer chases are, and this is a violation of Misra Rule 11.8, even if it's
>> not reasonable for Eclair to be able to spot and reject it.
> On these grounds
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> irrespective of the fact that a function of this name and purpose really, really
> should be taking a pointer-to-const.

No - this is a perfect example of why most functions should *not* take
pointer-to-const for complex objects.

There is no such thing as an actually-const vcpu or domain; they are all
mutable.Â  The reason why x86 needs a strictly-mutable pointer is because
it needs to take a spinlock to negotiate for access to a hardware
resource to read some of the registers it needs.

This is where there is a semantic gap between "logically doesn't modify"
and what the C keyword means.

Anything except the-most-trivial trivial predates may reasonably need to
take a spinlock or some other safety primitive, even just to read
information.


Because this was gratuitously const in the first place, bad code was put
in place of making the prototype match reality.

This demonstrates a bigger failing in how code is reviewed and
maintained.Â  It is far too frequent that requests to const things don't
even compile.Â  It is also far too frequent that requests to const things
haven't read the full patch series to realise why not.Â  Both of these
are a source of friction during review.

But more than that, even if something could technically be const right
now, the request to do so forces churn into a future patch to de-const
it in order to make a clean change.Â  And for contributors who aren't
comfortable saying a firm no to a maintainer, this turns into a bad hack
instead.

i.e. requests to const accessors for complexity objects are making Xen
worse, not better, and we should stop doing it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 17:14:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 17:14:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900518.1308394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tp9MO-0006qt-NC; Mon, 03 Mar 2025 17:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900518.1308394; Mon, 03 Mar 2025 17: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 1tp9MO-0006qm-Kh; Mon, 03 Mar 2025 17:13:44 +0000
Received: by outflank-mailman (input) for mailman id 900518;
 Mon, 03 Mar 2025 17:13: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=ZaqW=VW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tp9MO-0006qN-0p
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 17:13:44 +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 db511229-f852-11ef-9ab2-95dc52dad729;
 Mon, 03 Mar 2025 18:13:42 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5e033c2f106so5316475a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 09:13:42 -0800 (PST)
Received: from [172.24.85.51] ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e4c43a668dsm6985544a12.70.2025.03.03.09.13.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 09:13:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db511229-f852-11ef-9ab2-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741022022; x=1741626822; 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=dEfseZrk7mZRoKfz15v2qnIqoNj1JYC/Q28w6CSmyfo=;
        b=lPETb8atHbPFu9NaZcRyZL2Q4SW4MIRhxOqSsFwCyZUgSxGo2rv8BMgimLm84hFmeI
         Z8DsKYnwmjLv3PK2Kx4uTqcdaHXvjp6PPvX5+Zf3FpDgBRVpKW+/kX1YIys3A1qY40FJ
         /R7FfJC3O7dXOZrjNPujJRjtxBxzpJXGHGAUxyVWM6k8PJbwPe4T8q0zoohzn4yDsRKp
         ZiKdRfA3Q4uxIeggJ7XdB2S7vtjfU9LIOtGiyOG5xMHcTHPX9VRHT3TY8ZbpSLp9F+9b
         eQKWipaJ+th2/5PCjum6Or1eFTDPnIq2no1yVMUQCCp8rEHTCWSNIHL4v8TWo3PHJopP
         D4nA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741022022; x=1741626822;
        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=dEfseZrk7mZRoKfz15v2qnIqoNj1JYC/Q28w6CSmyfo=;
        b=XGQWozUUa+XNOa5/QhsvPTArtFcNVnHurV3aovd3rmeR1DGbP5b+R+e/OeGzkkmaBO
         mSQxUjbuzWrr3zZlmkRztSB/D31/gK8TfDVq+Wsk1H0ysv49v7aGTS3zPPLKjZ5Cr7zA
         aDO0tjSQM9gepTBP9a0HbY70jDkW+zJQRENhGPpBF6rWfOSNuCl7ULyDjCOPTJoG4v1f
         eR7lUdhoZKPBQoer6cRB77NpsjhMsbFd7xuI4LdfR6zxYdYSnANjFOlmbJZDtjjJOWMr
         G47oud+DYN3fTpmBx18Y/S2nyXbztnsygRRJ5IMXyekOKtS5B5P9nnu5WxN7N4D6QHz3
         WMYg==
X-Forwarded-Encrypted: i=1; AJvYcCV0aTMI/IasB9DmtbOIy5LprUehWBi/JXGmPHB3W4NiqmryUZABQ+TNQ3osLTVKdjt9p5f9/Dkus2A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNjqqKfDqyB+QsKkjQL06kODk/sXnuIC47WgKPDEJ8tlqYUSxe
	dKDP8LCyjZqLTcaULhf0hqWcy0XLUvXV2UHHjm+TEu338Zd6i1S3
X-Gm-Gg: ASbGncsQoMjYfB9cqM43oT8Mlmg7q1uM0hXt3d0tmqV3NG4tBaGNwP7uFX+KGK/raWj
	47Li39BH8S5fvQas8J2cT3CQOhxoKVO0ZweMGkbksZvG7/q1or0BHjZJwrNlfA4vxkq6unadpyG
	f3J7MmOvnauSrq55WjtNyFwjokJ6c1j8GNuuL3uWboRJJrVPs6GS1bO/yQOZxo9O5s9BHgG/uMd
	cxW53OFYq/dC5nUrOESR2Tp97/LrRRZNYItw8WmQ4p8hGlbOxqIm+Z9uMZtCXXmCzuUHYMWpr18
	ATNZ7ru+BWQne12AvAqqOWSTl0E4WbC/TtJzbKNDbDwjEmpN3Wp0eA==
X-Google-Smtp-Source: AGHT+IHzSRpM8+xDJ0AJY/WZ9JlDsfomOp19d1RXhnQLXizQNk3zLnagLsSg6gde7snLaHP6gF2/1Q==
X-Received: by 2002:a05:6402:358f:b0:5dc:74fd:abf1 with SMTP id 4fb4d7f45d1cf-5e4d6af1677mr35683972a12.15.1741022021387;
        Mon, 03 Mar 2025 09:13:41 -0800 (PST)
Content-Type: multipart/alternative;
 boundary="------------g6woauVvpo3VjQYm89MR9ffa"
Message-ID: <63d2bd9b-0d4d-4ddd-a819-498aa151c34c@gmail.com>
Date: Mon, 3 Mar 2025 18:13:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] CHANGELOG.md: Set release date for 4.20
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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: <20250303141754.26452-1-andrew.cooper3@citrix.com>
 <20250303141754.26452-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250303141754.26452-2-andrew.cooper3@citrix.com>

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


On 3/3/25 3:17 PM, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>
> Backport to 4.20 too.
> ---
>   CHANGELOG.md | 2 +-

LGTM: Acked-by:Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii


>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index c10df7d969ef..2b9ba4922533 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -4,7 +4,7 @@ Notable changes to Xen will be documented in this file.
>   
>   The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   
> -## [4.20.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
> +## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05
>   
>   ### Changed
>    - Fixed blkif protocol specification for sector sizes different than 512b.
--------------g6woauVvpo3VjQYm89MR9ffa
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 3/3/25 3:17 PM, Andrew Cooper wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250303141754.26452-2-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">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: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
CC: Michal Orzel <a class="moz-txt-link-rfc2396E" href="mailto:michal.orzel@amd.com">&lt;michal.orzel@amd.com&gt;</a>
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
CC: Julien Grall <a class="moz-txt-link-rfc2396E" href="mailto:julien@xen.org">&lt;julien@xen.org&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: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Backport to 4.20 too.
---
 CHANGELOG.md | 2 +-</pre>
    </blockquote>
    <pre>LGTM: Acked-by: <span style="white-space: pre-wrap">Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a></span></pre>
    <pre><span style="white-space: pre-wrap">~ Oleksii
</span></pre>
    <br>
    <blockquote type="cite"
      cite="mid:20250303141754.26452-2-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c10df7d969ef..2b9ba4922533 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ Notable changes to Xen will be documented in this file.
 
 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>)
 
-## [4.20.0 UNRELEASED](<a class="moz-txt-link-freetext" href="https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging">https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging</a>) - TBD
+## [4.20.0](<a class="moz-txt-link-freetext" href="https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0">https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0</a>) - 2025-03-05
 
 ### Changed
  - Fixed blkif protocol specification for sector sizes different than 512b.
</pre>
    </blockquote>
  </body>
</html>

--------------g6woauVvpo3VjQYm89MR9ffa--


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 18:54:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 18:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900537.1308415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpAvP-0005tV-Rx; Mon, 03 Mar 2025 18:53:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900537.1308415; Mon, 03 Mar 2025 18: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 1tpAvP-0005tO-O1; Mon, 03 Mar 2025 18:53:59 +0000
Received: by outflank-mailman (input) for mailman id 900537;
 Mon, 03 Mar 2025 18: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpAvO-0005fK-26
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 18:53:58 +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 dbd0f8f6-f860-11ef-9ab3-95dc52dad729;
 Mon, 03 Mar 2025 19:53:56 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so2064206f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 10:53:56 -0800 (PST)
Received: from andrew-laptop.. ([46.149.103.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47965f3sm15140904f8f.9.2025.03.03.10.53.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 10:53:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbd0f8f6-f860-11ef-9ab3-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741028035; x=1741632835; 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=no6lAPMGHz402ofAq/shrhBk1BheSrPpX1ujOntJ00M=;
        b=Zs2yL8aEGZ9q+iJk45wc8aQW/5w8zp4flvWqclW5zy3W3noHjCXPEH8eGqm/ORHzEf
         x5K7plZUbjKLnHoJC8t/mJMFenfVwa5FlDwU4v1O76sZ33+68F+O8enxeg6C9CbkWdDl
         eO9K1TpYywlOMfF3oEHvfnZRciyhr3YOAoPlE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741028035; x=1741632835;
        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=no6lAPMGHz402ofAq/shrhBk1BheSrPpX1ujOntJ00M=;
        b=swY7WrAsFZ91EpUUWsEkdj1/WhQpVMdkNscKuFX569QI+UVc3u1fBevLtI+9S7IGav
         fhXjUESUWOKrCmlAdJNF7IvK3T76fD6kbGVrrjZlVapMNGJ8K/QYKya2h6uXIQifmgPG
         27z4SIGMYMK5aMT7Pi9oZh3JfCKUHxqLiDezvNvvPGv/CZMM2p4s1tY5nUZuB/pS5nNo
         uSrp1EHHyOZ8vpBteFSB3bUwEMLSNqX6PF8GmlkDHUL/BPyGTFLau5ywbYGT3VSZ60gw
         noXQdft3xfrjWgTnxYceGgU9yvBatiTr8TEPNb6qI7c+rYs0BChxME7CIWs8p240BXWf
         5Yjg==
X-Gm-Message-State: AOJu0Yw7iLrAXWhaVWKNo9Wd61S0JSjp91RjxxWu1lMpUZA7GU+YMFqt
	Im44jMYrgf2VI4o9lzaBZvyOTrVi6gpije3rEM8Ld8LwKqQ5H3LsqXt2rjtDQzEllo9RFH413Ax
	T
X-Gm-Gg: ASbGncuGGwCC4gyScq1et9SkevxGOE1dHs3dyvWw5bVDDGsOegaYtQfR3nIfIJMazQS
	3GhY0ahI9mVSd30bdLGqWxuWMKxP9Yx7+eHsXKT4y16Y5YcZ88t0RPFvhzJbvxhyK0s98Z37jkE
	WmtbnfW+BX39PRaGBov2hXW7PKPisP+sq5VW+txNW9SdhZnEvISimbzq9FSr1S/GI82GSs3C5lW
	EYYnun2qOUM7YLc4Ne5trjJtPDzwHM/5SUyqSUNnfORqnYNDAk95Ynn0nfASeSPmjK1RUzuOTdi
	7e5XEvkc87end02SKSY/+5u1eWgLjOJgO9axtOvT4S9nuPmAU9NYwKo=
X-Google-Smtp-Source: AGHT+IHR7t4FswyUwAJ+kRY1KOki20axtaa+iN7CPZmtJECVfeYVjgv5ixylfJsnB781TvFE530uzA==
X-Received: by 2002:a05:6000:4c6:b0:38d:c44a:a64b with SMTP id ffacd0b85a97d-390eca2589amr11532871f8f.48.1741028035383;
        Mon, 03 Mar 2025 10:53:55 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: 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 1/2] x86/vlapic: Fix handling of writes to APIC_ESR
Date: Mon,  3 Mar 2025 18:53:51 +0000
Message-Id: <20250303185352.86499-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250303185352.86499-1-andrew.cooper3@citrix.com>
References: <20250303185352.86499-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Xen currently presents APIC_ESR to guests as a simple read/write register.

This is incorrect.  The SDM states:

  The ESR is a write/read register. Before attempt to read from the ESR,
  software should first write to it. (The value written does not affect the
  values read subsequently; only zero may be written in x2APIC mode.) This
  write clears any previously logged errors and updates the ESR with any
  errors detected since the last write to the ESR.

Introduce a new pending_esr field in hvm_hw_lapic.

Update vlapic_error() to accumulate errors here, and extend vlapic_reg_write()
to discard the written value and transfer pending_esr into APIC_ESR.  Reads
are still as before.

Importantly, this means that guests no longer destroys the ESR value it's
looking for in the LVTERR handler when following the SDM instructions.

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

v2:
 * Minor adjustment to the commit message
---
 xen/arch/x86/hvm/vlapic.c              | 17 +++++++++++++++--
 xen/include/public/arch-x86/hvm/save.h |  1 +
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 3363926b487b..98394ed26a52 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -108,7 +108,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int errmask)
     uint32_t esr;
 
     spin_lock_irqsave(&vlapic->esr_lock, flags);
-    esr = vlapic_get_reg(vlapic, APIC_ESR);
+    esr = vlapic->hw.pending_esr;
     if ( (esr & errmask) != errmask )
     {
         uint32_t lvterr = vlapic_get_reg(vlapic, APIC_LVTERR);
@@ -127,7 +127,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int errmask)
                  errmask |= APIC_ESR_RECVILL;
         }
 
-        vlapic_set_reg(vlapic, APIC_ESR, esr | errmask);
+        vlapic->hw.pending_esr |= errmask;
 
         if ( inj )
             vlapic_set_irq(vlapic, lvterr & APIC_VECTOR_MASK, 0);
@@ -802,6 +802,19 @@ void vlapic_reg_write(struct vcpu *v, unsigned int reg, uint32_t val)
         vlapic_set_reg(vlapic, APIC_ID, val);
         break;
 
+    case APIC_ESR:
+    {
+        unsigned long flags;
+
+        spin_lock_irqsave(&vlapic->esr_lock, flags);
+        val = vlapic->hw.pending_esr;
+        vlapic->hw.pending_esr = 0;
+        spin_unlock_irqrestore(&vlapic->esr_lock, flags);
+
+        vlapic_set_reg(vlapic, APIC_ESR, val);
+        break;
+    }
+
     case APIC_TASKPRI:
         vlapic_set_reg(vlapic, APIC_TASKPRI, val & 0xff);
         break;
diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 7ecacadde165..9c4bfc7ebdac 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -394,6 +394,7 @@ struct hvm_hw_lapic {
     uint32_t             disabled; /* VLAPIC_xx_DISABLED */
     uint32_t             timer_divisor;
     uint64_t             tdt_msr;
+    uint32_t             pending_esr;
 };
 
 DECLARE_HVM_SAVE_TYPE(LAPIC, 5, struct hvm_hw_lapic);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 18:54:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 18:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900536.1308405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpAvO-0005fc-HX; Mon, 03 Mar 2025 18:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900536.1308405; Mon, 03 Mar 2025 18: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 1tpAvO-0005fV-EY; Mon, 03 Mar 2025 18:53:58 +0000
Received: by outflank-mailman (input) for mailman id 900536;
 Mon, 03 Mar 2025 18: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpAvN-0005fK-O4
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 18:53:57 +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 db5ea915-f860-11ef-9ab3-95dc52dad729;
 Mon, 03 Mar 2025 19:53:55 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-439a4fc2d65so51780085e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 10:53:55 -0800 (PST)
Received: from andrew-laptop.. ([46.149.103.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47965f3sm15140904f8f.9.2025.03.03.10.53.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 10:53:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db5ea915-f860-11ef-9ab3-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741028034; x=1741632834; 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=SXb6sYy/XnAXzqISnjQ/S5snGzuW0HU8RlEFyO+RPZI=;
        b=m911OlkB/05FcZpAYMTIJEfq7f7I/n8tAd6TxPy3yyOmPd9p3ftOP/eoVicxgDNlTX
         rskpuEHdwVeB+A13oIwvdy5yYGIVfnP3P2WTfWdhxaYO9WnMYvhVkWVDwEXqAOpu/a9o
         rK+50zRvtAVF8WL28HOoLzIIVRVxdGVoG3YEk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741028034; x=1741632834;
        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=SXb6sYy/XnAXzqISnjQ/S5snGzuW0HU8RlEFyO+RPZI=;
        b=vqDtgGLuLdRpTtJdph8g6/EeYpKJkDF4GDvOt1H/Q66dt5buaYEitH9V3gVPJKyawV
         cOqYljI2CXpFbdeCP+aOmhVvpk1Du/BS+hubb/K8XmvbNPlZ6fBtA0fg4oqTkwKMo7HF
         img+x5ugpp2a40vy213rswAb+o441sxIfpLT047om5TESJ28fcWrdgXL+iRe+BiZIeDF
         hDtCzm+RYJD7QZRzY/b0ZeH1oZkR2lKYHGNs2gs7zNMN1bogmqJOCvHeEzoByaIV5pl0
         fq/f4lQqeac/HOo1TUSO/QeciQ+UW/S6V8yKu2ei0RIpp6IiemCXQQULRGKfAZhAeX9G
         gtwQ==
X-Gm-Message-State: AOJu0YzjDlrd/IhPI07xk9ltjezghmJxRMh94LvylM7PyjuTc52rRzE0
	2+jOk4uhqb7TtnC5BC3ZNtgfvPL5YyLkZ3sZBHAFk9V6bLBl4GrK8yKAl4pNEXnIjicOlVi6Hb6
	5
X-Gm-Gg: ASbGncuJYjel7oyelrhZBeod1cRHr0Wt3+nH/qAsdBWnjWXWvujX0MkqfBPy9UcbM6J
	9RlckpdMvQQ46MBe5rNUHilzHlLsHr5+MTpsEgnGZG+U5wD+bWc3yY+vDYTNB+NoK9OiCWIzlZl
	TU0RKRZDhoQrmA+jsBCB6T4eZ99MIkDHqUO2fULhAiJA+DYGHOhxLovmHOM7thMikwwrdZOj7Z3
	TWfwY7PD9q0ofEaiYaorrItxXUxNX0jaVOULbezfNFLF0m4NwQ5vZUM4mCps3df6Dl4r8aVhyLV
	x1Vdk3sYjdFdufb7+LNugiQ5Wxcf2hpXd3O1jBiDCrWJK2LB3+rjk/Q=
X-Google-Smtp-Source: AGHT+IEy2Fkb9fgoHtZYEd0g1sFHiqQbjhbokw3NxJx4w3trL0nK4BwXfjCyinFmSN7yCHvr+fx2jg==
X-Received: by 2002:a05:600c:4fd3:b0:439:a255:b2ed with SMTP id 5b1f17b1804b1-43ba66e5f09mr144493115e9.9.1741028034622;
        Mon, 03 Mar 2025 10:53:54 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: 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 0/2] x86/vlapic: Fixes to APIC_ESR handling
Date: Mon,  3 Mar 2025 18:53:50 +0000
Message-Id: <20250303185352.86499-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Found because of yesterday's Pentium errata fun, and trying to
complete/publish the XSA-462 PoC.

v2 has involved substantial CPU archeology, but has confirmed that the
LVTERR delivery behaviour is implementation specific, and therefore
Xen is fine to stay with it's current behaviour.

Andrew Cooper (2):
  x86/vlapic: Fix handling of writes to APIC_ESR
  x86/vlapic: Drop vlapic->esr_lock

 xen/arch/x86/hvm/vlapic.c              | 34 ++++++++++++++------------
 xen/arch/x86/include/asm/hvm/vlapic.h  |  1 -
 xen/include/public/arch-x86/hvm/save.h |  1 +
 3 files changed, 19 insertions(+), 17 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 18:54:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 18:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900538.1308424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpAvV-00069P-1l; Mon, 03 Mar 2025 18:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900538.1308424; Mon, 03 Mar 2025 18: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 1tpAvU-00069I-Uh; Mon, 03 Mar 2025 18:54:04 +0000
Received: by outflank-mailman (input) for mailman id 900538;
 Mon, 03 Mar 2025 18:54: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpAvT-00067h-CZ
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 18:54:03 +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 dc48b8c9-f860-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 19:53:57 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43996e95114so33002795e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 10:53:56 -0800 (PST)
Received: from andrew-laptop.. ([46.149.103.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47965f3sm15140904f8f.9.2025.03.03.10.53.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 10:53:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc48b8c9-f860-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741028036; x=1741632836; 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=FezzsOImO4onsg7bakHI1l7rdGenIViqsoTWiG9gE8U=;
        b=Rfhx4BI9Rkhk49xzoovTYlv5iBcSWFy+tfuov2M3G7b80fOmpiJJhLWi58nRhPZjcG
         75nTH7yljc2oYiyqTzOMOBjWK+MVuis9aajUGMhxaVXj+p/p+7HuqQotucDVW1G7mq2b
         /hr6xw4d1CQWNsG5QuSKlL4QJ+jpKXEshGgXc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741028036; x=1741632836;
        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=FezzsOImO4onsg7bakHI1l7rdGenIViqsoTWiG9gE8U=;
        b=Cq7dsPzNaLfoTLW/d+2bTdir9RWrgs+w4sPK0URQHRaqmuKYWtxiIUMVSA3VT4GMJY
         FN2wlE9Y3TZOIwhxPZGGpUeEMbAJqpvlHxWv0xj3blzuo8ARPFdcGrOe5p2J/GjSIqXo
         1soznXy+82aYKtULbr/f9WbtZ5rXGheDZsn5FjLs18QjwOhxdqoA67q+n8Oo2dxzMhqL
         Fh+Cedkp4YfSaKldePfM20w5s1t+/lckt+iS4a1Q1EVagZ34zABW/GLmWsKmgBaJliEu
         jtVx+mmu+MCD+ONZKhnbHoJYZCOUHhVI5XROjbjAaw2MUZvh7mYa8Oujt2LibFpRy9Gd
         U0rg==
X-Gm-Message-State: AOJu0YxhOC0/4jtLZMhJeQjT4sR2a8OBWOlpQk6CsMwcdf1MOYj6yGg4
	xpkaiu4vBuJmWBU02vuyl52r35hVJNI3uMqkrKthS+1yRWhA/CLfcm6QSBboNwruQQTcQ08FHwt
	O
X-Gm-Gg: ASbGncsWaBpFyXPZ5JiAG7C/7As4GvyFTU/FaQfdE/dr+nqPTXdeVKxH+f6PS6iO1vx
	6x6NtDNPZzDxpOrY0DVAL8SAZOEH31wqR5M7QPQOIvSKkTXpP5DGzmAzubUaQifVFfzSb+XoGnj
	rSgeVeuzq80hIlA0mGkqU5G8GE0NMdHgY3agdrB62yP9Aa0V88dRaFrPNGFjYHOCBRYzv1QL42/
	3qjtSnzwtzkAb6GXis6HddRZfiSQ7CERoQkp8r16mVhfvxFmvXMohDcqDApTEThCqLlJdrlJ4eX
	57bR14WzGEcp6FzQaSEGMw0q0RedFtUJnV0YQ+RTytGS95ry/Zpmkag=
X-Google-Smtp-Source: AGHT+IH+eg7uJilgJ1jp88/bBwLgR10gQO/8K70Dfq8f9ofyOjYeXyNBJQDCNcnigq7hFD1ZFHYsZg==
X-Received: by 2002:a05:600c:3150:b0:43b:c826:8801 with SMTP id 5b1f17b1804b1-43bc82688c4mr26395725e9.12.1741028036162;
        Mon, 03 Mar 2025 10:53:56 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: 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 2/2] x86/vlapic: Drop vlapic->esr_lock
Date: Mon,  3 Mar 2025 18:53:52 +0000
Message-Id: <20250303185352.86499-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250303185352.86499-1-andrew.cooper3@citrix.com>
References: <20250303185352.86499-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The exact behaviour of LVTERR interrupt generation is implementation
specific.

 * Newer Intel CPUs generate an interrupt when pending_esr becomes
   nonzero.

 * Older Intel and all AMD CPUs generate an interrupt when any
   individual bit in pending_esr becomes nonzero.

Neither vendor documents their behaviour very well.  Xen implements
the per-bit behaviour and has done since support was added.

Importantly, the per-bit behaviour can be expressed using the atomic
operations available in the x86 architecture, whereas the
former (interrupt only on pending_esr becoming nonzero) cannot.

With vlapic->hw.pending_esr held outside of the main regs page, it's
much easier to use atomic operations.

Use xchg() in vlapic_reg_write(), and *set_bit() in vlapic_error().

The only interesting change is that vlapic_error() now needs to take a
single bit only, rather than a mask, but this fine for all current
callers and forseable changes.

No practical change.

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

Confirmed by Intel, AMD, and 3rd party sources.

https://sandpile.org/x86/apic.htm has been updated to note this
behaviour.  None of the vendors have indicated an enthusiasm to
clarify the behaviour in their docs.

v2:
 * Rewrite the commit message from scratch.
---
 xen/arch/x86/hvm/vlapic.c             | 39 ++++++++++-----------------
 xen/arch/x86/include/asm/hvm/vlapic.h |  1 -
 2 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 98394ed26a52..82b6d12e99d4 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -102,14 +102,16 @@ static int vlapic_find_highest_irr(struct vlapic *vlapic)
     return vlapic_find_highest_vector(&vlapic->regs->data[APIC_IRR]);
 }
 
-static void vlapic_error(struct vlapic *vlapic, unsigned int errmask)
+static void vlapic_error(struct vlapic *vlapic, unsigned int err_bit)
 {
-    unsigned long flags;
-    uint32_t esr;
-
-    spin_lock_irqsave(&vlapic->esr_lock, flags);
-    esr = vlapic->hw.pending_esr;
-    if ( (esr & errmask) != errmask )
+    /*
+     * Whether LVTERR is delivered on a per-bit basis, or only on
+     * pending_esr becoming nonzero is implementation specific.
+     *
+     * Xen implements the per-bit behaviour as it can be expressed
+     * locklessly.
+     */
+    if ( !test_and_set_bit(err_bit, &vlapic->hw.pending_esr) )
     {
         uint32_t lvterr = vlapic_get_reg(vlapic, APIC_LVTERR);
         bool inj = false;
@@ -124,15 +126,12 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int errmask)
             if ( (lvterr & APIC_VECTOR_MASK) >= 16 )
                  inj = true;
             else
-                 errmask |= APIC_ESR_RECVILL;
+                set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
         }
 
-        vlapic->hw.pending_esr |= errmask;
-
         if ( inj )
             vlapic_set_irq(vlapic, lvterr & APIC_VECTOR_MASK, 0);
     }
-    spin_unlock_irqrestore(&vlapic->esr_lock, flags);
 }
 
 bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec)
@@ -153,7 +152,7 @@ void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig)
 
     if ( unlikely(vec < 16) )
     {
-        vlapic_error(vlapic, APIC_ESR_RECVILL);
+        vlapic_error(vlapic, ilog2(APIC_ESR_RECVILL));
         return;
     }
 
@@ -525,7 +524,7 @@ void vlapic_ipi(
             vlapic_domain(vlapic), vlapic, short_hand, dest, dest_mode);
 
         if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
-            vlapic_error(vlapic, APIC_ESR_SENDILL);
+            vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
         else if ( target )
             vlapic_accept_irq(vlapic_vcpu(target), icr_low);
         break;
@@ -534,7 +533,7 @@ void vlapic_ipi(
     case APIC_DM_FIXED:
         if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
         {
-            vlapic_error(vlapic, APIC_ESR_SENDILL);
+            vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
             break;
         }
         /* fall through */
@@ -803,17 +802,9 @@ void vlapic_reg_write(struct vcpu *v, unsigned int reg, uint32_t val)
         break;
 
     case APIC_ESR:
-    {
-        unsigned long flags;
-
-        spin_lock_irqsave(&vlapic->esr_lock, flags);
-        val = vlapic->hw.pending_esr;
-        vlapic->hw.pending_esr = 0;
-        spin_unlock_irqrestore(&vlapic->esr_lock, flags);
-
+        val = xchg(&vlapic->hw.pending_esr, 0);
         vlapic_set_reg(vlapic, APIC_ESR, val);
         break;
-    }
 
     case APIC_TASKPRI:
         vlapic_set_reg(vlapic, APIC_TASKPRI, val & 0xff);
@@ -1716,8 +1707,6 @@ int vlapic_init(struct vcpu *v)
 
     vlapic_reset(vlapic);
 
-    spin_lock_init(&vlapic->esr_lock);
-
     tasklet_init(&vlapic->init_sipi.tasklet, vlapic_init_sipi_action, v);
 
     if ( v->vcpu_id == 0 )
diff --git a/xen/arch/x86/include/asm/hvm/vlapic.h b/xen/arch/x86/include/asm/hvm/vlapic.h
index 2c4ff94ae7a8..c38855119836 100644
--- a/xen/arch/x86/include/asm/hvm/vlapic.h
+++ b/xen/arch/x86/include/asm/hvm/vlapic.h
@@ -69,7 +69,6 @@ struct vlapic {
         bool                 hw, regs;
         uint32_t             id, ldr;
     }                        loaded;
-    spinlock_t               esr_lock;
     struct periodic_time     pt;
     s_time_t                 timer_last_update;
     struct page_info         *regs_page;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 19:00:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 19:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900565.1308435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpB1D-0007Kw-MR; Mon, 03 Mar 2025 18:59:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900565.1308435; Mon, 03 Mar 2025 18: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 1tpB1D-0007Kp-It; Mon, 03 Mar 2025 18:59:59 +0000
Received: by outflank-mailman (input) for mailman id 900565;
 Mon, 03 Mar 2025 18:59: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=5oqO=VW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tpB1C-0007Kj-4D
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 18:59:58 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b16736ed-f861-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 19:59:55 +0100 (CET)
Received: from MN2PR03CA0026.namprd03.prod.outlook.com (2603:10b6:208:23a::31)
 by PH8PR12MB6938.namprd12.prod.outlook.com (2603:10b6:510:1bd::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Mon, 3 Mar
 2025 18:59:43 +0000
Received: from BN3PEPF0000B076.namprd04.prod.outlook.com
 (2603:10b6:208:23a:cafe::bc) by MN2PR03CA0026.outlook.office365.com
 (2603:10b6:208:23a::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Mon,
 3 Mar 2025 18:59:43 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B076.mail.protection.outlook.com (10.167.243.121) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Mon, 3 Mar 2025 18:59:43 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 3 Mar
 2025 12:59:43 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 3 Mar
 2025 12:59:43 -0600
Received: from [172.27.162.189] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 3 Mar 2025 12:59:42 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b16736ed-f861-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M2va39xmRDTEv2Boclq/KcOyhbt7JSILqceORH/juhP880CZTTc8vjocJJrbUmmIlzi5BxF0xxnqgqV7MQbxaDSipihtZ/KfFhqdLOIu+7wQzz1hy/ofVEfAImEqWUuc4PcJQd9o3OcxZPTbnFP3B+wsgxqCzFN1pVnxssMv/SBLJdqJQRoBeyIB7/WfqCW+F1/mR8t6khxfWQtGcSYqEDyXlyk0oUN4IVAoyehlL/TdeGtjvMUeRk6tgyzIPWxlsngN/LbfUjD8z6UrQNlFlSEb25psLJwfIGGymxvEqu1Sz/bk1Hqlbo2B/vwKMYO7b7V0dZBxIEki0bCHecUumg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gAlKPD8M+QXMM1pKtowLvmg02A1U0SLrlcKtmwC9u2I=;
 b=FtyYEfCXZKTjcnbXnD3uZEC6d3E6za0aYyZcDzX6SE7KvNz1BDnUl1dw3YBPIN8gwRreirMtHDqt5RfYxXnEtE4HYJjDZb/Bh4PKzZTHX9SSv6H46cl0Qn5D6SjBgn1soliQD03LLFTWmhhJ9IZK3CfWQstKMcznSHVQXgQiEQ2QZ6zhjUB16qU3O9ou4ZM3FYvQ+6wCPHiU4shoQJIYFuakEZmA1WLQhGLsumxZIXjhnru+Nz50qkJ2jIknL24uT0kAi3ntWl5fXNcGVXFYt8LZTHqGO4CPedbTlzrLK974aB8Ph3dUosfNXI+50un6INvH2ru2cZneJVuiilmCPw==
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=gAlKPD8M+QXMM1pKtowLvmg02A1U0SLrlcKtmwC9u2I=;
 b=I5KoCfRFGwwKYyDLM1wKrz1CBt6TjQjfcHuMvG15NDMD6+VsMetnk3l3DsI4Ez0USThkRkRuq48CkGek7Wl3pvyz5WjwFTKdpWvVLtkQ3Rmd1LCJfDIsvSs3h9D87BT5/UWxQOIjv7Y2Jbd2MCeoHkx3F6xiYrsTMXPcD2Br1lU=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <8278d3e0-cba5-41ff-bdb0-199b3657af30@amd.com>
Date: Mon, 3 Mar 2025 13:59:42 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: fix build with CONFIG_HVM=n and -Og
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250213185055.711703-1-stewart.hildebrand@amd.com>
 <f5deca6a-313f-4daf-b774-cc05223ab034@citrix.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <f5deca6a-313f-4daf-b774-cc05223ab034@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B076:EE_|PH8PR12MB6938:EE_
X-MS-Office365-Filtering-Correlation-Id: f7146d72-4606-4345-9d63-08dd5a858f33
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?YVllbVgxcWViZDlwNGtQRVV1RVNmYUp6NjBwQW5UeHB4aVo1ZUQzVnpRcXky?=
 =?utf-8?B?YXdLaFdsNmxWcTFIa1JFQXdsditLU2Jham5Ccldwd25SWGlNa0dPdTAzYTNE?=
 =?utf-8?B?Z0NSd2xWMktSMHBTeGl1R2Q0Ym8wYzlTRytzSGVIYnJ4d0UzUmZEUHlGeTRK?=
 =?utf-8?B?V3kvVUtMd2F5VndZWHBtQkx0QXBYNUU5L2FkQ3FYUy9Pdy9BY28veUJrdHRU?=
 =?utf-8?B?K3V5NWV3T0trbVYrMks3NUFwQ0xJWGViWkE2SVZFMm92L05lOTd3MXF5ajRz?=
 =?utf-8?B?YWVzVWo4RUVzNmZtQklIMjh1eHNXdjlwcVVPQmlIT3U4S2xUa1FXOEY4OURl?=
 =?utf-8?B?ejJqVmcwclN3NWdzaHpkRE5wRFkwQWk2bGNqeFdOR2l6eTVMcFc3UnJDVWJw?=
 =?utf-8?B?a2RHZXh0bGxINlFGR3BpNGU3RFhnQkZ2U1hPdkRaN0ZDTG9oVkVVZE9HQ0Rz?=
 =?utf-8?B?dVVRWFR4dEUydWxBSkRubTNNN0ExZFBMallZUXpiVG1wQlpNbmViRVR4WjlR?=
 =?utf-8?B?WGpuWFR3NEZjSmozMHFCRjRVVUsyWjQyUVZOMXRkVmY4VkcvKzhiaUpzc1dG?=
 =?utf-8?B?d1dXSWpBMTlEQm1CR1daWEcyTkNiRDJnamMyZE1sVTJqUjREaWJsQW5nTEtn?=
 =?utf-8?B?cndhYzJTK2Z5cGsrU25pYytXdUFpZnd6end1cVVWb0JweDlIdHlUS1ZmR2FP?=
 =?utf-8?B?cWExbWJaSGRMZUVhUGtaOHpKL0k5ejRiTXhIOGhRNFpWaXlCU0dEdnovM1hG?=
 =?utf-8?B?RXNUcWdwSmRKTnFiWXozaXNsVTR5UlYyRVQvYU9tSWRRRDdveWhIeDB6MFJG?=
 =?utf-8?B?SHUyenhSb2pFMXdyUlcvMFJDZVgwVmc2RjhObTJ6VVRJTDVhNVpNd2w1UmJj?=
 =?utf-8?B?b3c3OXl1R3k4b3dPK2dIVkdFV2pHVDhkZzV3ZEt2bnpmdi9qTXoraEFNRS8w?=
 =?utf-8?B?T3hxQWtCbEhuZ0w5STlGcFhROVplTk1zYTN4K3o4ZWJDMW1sZkpNNDAyZCtF?=
 =?utf-8?B?TDBucHlMWTJLdStWdmRxem1GdTJ0VFFQSW43RTFXbk1GUFpBQW9mY0dTWTI3?=
 =?utf-8?B?VkpXSXRKMDFEQ1lqdE5Lejk2cHN0YUpFY2FKRUtYZDF0dzFINTBxSlUxbUxF?=
 =?utf-8?B?QXYyUXA2QVVVdnNDb2QzcXVKV0QxVGdIUVFteHNJdXdCM016QkQ1WU9Eamhj?=
 =?utf-8?B?QXJFZDJ5ZkZqRW9mUUFabkVBcjdUdWpoYlpnNmtLVkU5YlY3UnFiTUp2bnoz?=
 =?utf-8?B?TGR3bXc0LzRzeXpHY0RLL0hhc08wZUJjK1lheU0zMU5sYm0yUVF3dG8ydEpp?=
 =?utf-8?B?Sm5YbHBrc2hkRnNNZ1lFZkpjcVQwL2twK3BMb1BNUTFwTk9kNVNyWWh3MnBF?=
 =?utf-8?B?MnIrcXR2K3RETm5MOXd2TGJUOUIxdllLTkxMS2ROZTN6eG10UUMwOUtWVVFB?=
 =?utf-8?B?WXoxTmE3MXl6ZHFUZzZSdjNmTUQ0TnVBUlprSW1IZGJXRzdOVFhMWUMraDZr?=
 =?utf-8?B?b2xDZFE5WSt6QUZrN2V2Vk4rMHpjRXFjR2p2VkUyTTVtUXZ6dmh1WXN2VVlM?=
 =?utf-8?B?NGl0dHBBSGdwdUVYSlBGOUdFWHhEL1UrRmNnUWtXSXdUYmhPWlRFVk92ZG9Q?=
 =?utf-8?B?SWRPY1Bia0U2Qzl1ZXp1NGp4WDB2U3Zha0RhN2JlU3lEYVV1NVJnRGtjR2p6?=
 =?utf-8?B?TW5oRUhsVlFkeU8zL1lad3NVdmFoU2lMeUJaMVRrMlRueWtsbFA1QUFvOVRk?=
 =?utf-8?B?UmZFU09QSlJSWXNUbjN2Y3NwSGxYMEJRci85a0UwanFRTHZ2TUhnbldaKzJs?=
 =?utf-8?B?UlZROHJMSzdHSEk4VC9uV2M0ajZGZHZKRXFkdmZEK3liN2JtamExZE5xL2JT?=
 =?utf-8?B?WkJBeVhTN3R4MzZrNHZQT3RuTHZxRDdkVVBkZXp2c0R0Z3VYaXkxNXlrU2Vx?=
 =?utf-8?B?VGprcEdoSi93WmgwR2pvU1Y1SVlkRFdSQW1YNGMrcFpsTjZnNi9WcHk5T1ZB?=
 =?utf-8?Q?5zyJx3r8wP/aMSxYlhuud2T5a14IbA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 18:59:43.5528
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f7146d72-4606-4345-9d63-08dd5a858f33
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B076.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6938

On 2/13/25 20:05, Andrew Cooper wrote:
> On 13/02/2025 6:50 pm, Stewart Hildebrand wrote:
>> When building with CONFIG_HVM=n and -Og, we encounter:
>>
>> prelink.o: in function `pit_set_gate':
>> xen/xen/arch/x86/emul-i8254.c:195: undefined reference to `destroy_periodic_time'

<snip>

> Is this the singular failure with -Og, or are there others?Â  I never got
> it working, and there were quite a few failures that failed to get a
> resolution.

This is the only one that I'm aware of, and it only occurs when
CONFIG_HVM=n. I only happened to stumble upon this occurrence because
allyesconfig apparently results in CONFIG_HVM=n. I've been building Xen
with -Og in my development workflow for a couple of releases now.


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 19:20:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 19:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900580.1308445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpBKZ-0002y0-8o; Mon, 03 Mar 2025 19:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900580.1308445; Mon, 03 Mar 2025 19:19: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 1tpBKZ-0002xt-4t; Mon, 03 Mar 2025 19:19:59 +0000
Received: by outflank-mailman (input) for mailman id 900580;
 Mon, 03 Mar 2025 19:19: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpBKY-0002xn-Ha
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 19:19:58 +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 7e7a6227-f864-11ef-9ab3-95dc52dad729;
 Mon, 03 Mar 2025 20:19:57 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-390effd3e85so3504651f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 11:19:57 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4844a22sm15467213f8f.74.2025.03.03.11.19.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 11:19:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e7a6227-f864-11ef-9ab3-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741029597; x=1741634397; 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=xHzR2ZDLxVKksYckw4Jw1vc5Tj+aiXOQ4HPFz25BPEM=;
        b=m51qLlLY77+YHT0oim6tyzbgWoLoUs1MO6Nh63pmg8DPAktM+FnYNCkteBDGczhCia
         LKeHD1OkGcYwroxPBerDGyiWL4sb/IyxfOoSRIccqnSh6/CdXpU3Otw6xLILQHbtEuRY
         PNs05enFZx/1BZcyanS9K8Aa+ORblxtxlW7/Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741029597; x=1741634397;
        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=xHzR2ZDLxVKksYckw4Jw1vc5Tj+aiXOQ4HPFz25BPEM=;
        b=eO65RxCWgwdG4idXnlLEPZJs7eqxZDOxTSyiH5Uv+Q5pzY9W/7o0esQFpr2wsBQjPU
         kFq+zg/3zoNov62HmD4AG+GE8Zg91GErUSHN9ZQrKFsB9cyh3IFGelfJNgT2rSPlZDdz
         2m7Jq6hGSeMEBRr13KjCrpuXZ6TfheR5JVu6PIipJc27smP+B6d4+2DV/qQ1N4RBj0oY
         oxQ6JewYy5DWPcgxn5E7n06TerQANNtL9K8iUV9SQHBwqVTvm5P5TXuzs5TgbAPCtvIG
         t2pIYS+GsNbVR0w2k1MhONRMVlb46LM109pg5LQ+eoJagp0U5U67+HJG3VNIlYWfZbiT
         V4gw==
X-Forwarded-Encrypted: i=1; AJvYcCWhZVqs90PU8z8mXvKekTgYwiIMLd6NzU7wc2uQgqt7g+YAF3BICB1Nh/3yz8wMJBdO8leg0o144YE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2cDjY2Kgvo6sNWrm9nGauA/2y62HHwR9ODDK6FevxPy1gm7SK
	H2rFhvsndM4OI6Ta8Jq9OxbaVR03oDFBLKZxuViIFvqwlKUvN4xX6fuqlzS03NQ=
X-Gm-Gg: ASbGncviUVT6gfowazK7B5K6iWJ3sAzDZYMfjWZ6okUUaiDLqajTbEJPWJSgOc9xJCv
	3DOK8UpGaqu/g4pKgowPbLFiEbnTiUFH6S33agnE1MRbUAJqQ4lk2FGJro1DY0R+MVkbzdT7TrE
	/GgrPvaugisVs7rH7XppSA3ggwrbhT46IzF2LmNsAEE7iTVT6zAo/Sd6efgJFAkvW8ZyvuN9aZ0
	Xxot9Tal5Byk/Ah9zlzF5t3eZUxhi/i2c5gE1UWkYgvDrttFEbU2KI1uEwCF6B5vrL2inbTRAts
	xz/I3qDXZ1Y2ktVDRgk5g/nwQ4xvguFx/V5HLWAhdfIUzkN3EYqY8jJNWgxWaNcHvQZvU3TKQbw
	WKZHtd8hw
X-Google-Smtp-Source: AGHT+IEGwRIUcCurYRxzkVyDP+FQc2lyz91Ki0UI4kfYka7QXd8T34o9X1ufhgGz6oMa3q28TAzJrw==
X-Received: by 2002:a5d:5f84:0:b0:390:df83:1f5d with SMTP id ffacd0b85a97d-390eca52f6dmr15143331f8f.35.1741029597042;
        Mon, 03 Mar 2025 11:19:57 -0800 (PST)
Message-ID: <7ab6018f-4408-4feb-b3d7-e44bbfc2b095@citrix.com>
Date: Mon, 3 Mar 2025 19:19:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: fix build with CONFIG_HVM=n and -Og
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250213185055.711703-1-stewart.hildebrand@amd.com>
 <f5deca6a-313f-4daf-b774-cc05223ab034@citrix.com>
 <8278d3e0-cba5-41ff-bdb0-199b3657af30@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: <8278d3e0-cba5-41ff-bdb0-199b3657af30@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/03/2025 6:59 pm, Stewart Hildebrand wrote:
> On 2/13/25 20:05, Andrew Cooper wrote:
>> On 13/02/2025 6:50 pm, Stewart Hildebrand wrote:
>>> When building with CONFIG_HVM=n and -Og, we encounter:
>>>
>>> prelink.o: in function `pit_set_gate':
>>> xen/xen/arch/x86/emul-i8254.c:195: undefined reference to `destroy_periodic_time'
> <snip>
>
>> Is this the singular failure with -Og, or are there others?Â  I never got
>> it working, and there were quite a few failures that failed to get a
>> resolution.
> This is the only one that I'm aware of, and it only occurs when
> CONFIG_HVM=n. I only happened to stumble upon this occurrence because
> allyesconfig apparently results in CONFIG_HVM=n.

Yes.Â  That's a know misbehaviour that doesn't have a resolution that
everyone is happy with.

>  I've been building Xen
> with -Og in my development workflow for a couple of releases now.

We really ought to be using -Og rather than -O1 when available.

If you fix this bug, then change Xen's default, randconfig in CI will
keep it working.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 19:24:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 19:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900591.1308455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpBOV-0005A7-Ra; Mon, 03 Mar 2025 19:24:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900591.1308455; Mon, 03 Mar 2025 19:24: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 1tpBOV-0005A0-Ou; Mon, 03 Mar 2025 19:24:03 +0000
Received: by outflank-mailman (input) for mailman id 900591;
 Mon, 03 Mar 2025 19:24: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=0ljt=VW=gmail.com=andr2000@srs-se1.protection.inumbo.net>)
 id 1tpBOU-00059u-N1
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 19:24:02 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f9de88d-f865-11ef-9ab3-95dc52dad729;
 Mon, 03 Mar 2025 20:24:01 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-549662705ffso1724212e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 11:24:01 -0800 (PST)
Received: from [192.168.10.20] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495f82690fsm587150e87.42.2025.03.03.11.23.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 11:23:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f9de88d-f865-11ef-9ab3-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741029840; x=1741634640; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=+HJEdog4ob8xHrXpCAkgh5Ad9q9xvwuYiepcZpTKPz8=;
        b=a5ShoweCi11aRJJuM5KXAXYD3tBl0t3fk3O4C631I0ZauP8BtKNBEsZ7kgHdzNIk7E
         EmV8JprkWGefmwK1bOegkpuywQxLR5rekSFnWNupEeZaAYmHmJqZUTVVSEYl38825VBR
         Pga7WrjQ5Wkk8NSNytrG7wSFXZmlAakkYSEpvmnQGmahL25IJdp0Zlhn9ailQcBw9f/2
         ZizyxiXrUev3/PsTWnYwarzWMZgLLnMvtZU/Tx0MngoHYCgSm1xaOHScklGiA34Kj6Vt
         W1tz43XgGp7l1AaGpU/1VnpqnRLzFfs42K/5XmeR2S0z7eE929VGz0EYoztgoJfJD48f
         9Ckw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741029840; x=1741634640;
        h=content-transfer-encoding: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=+HJEdog4ob8xHrXpCAkgh5Ad9q9xvwuYiepcZpTKPz8=;
        b=feYOS7iTkCWY6vvqPHEyYuhfv4uT0BOX3+5F9Keerh/3ckmG19SNpweNy9KBXxlKI5
         Vi+TD56EOeQiAg6b/UoMxwD9kjnt/neFFxcTihGBD7orQWGTxzH+6dlnGvkLVGL460XG
         agxBz7fZ5rCw98gHy+o+LNRBOZZuMPMyShrcQuFGbTqP+PGxklp5gqJ2/2RK8ecISMRK
         EDk7Be+9P5xhD3gc0vYhb1aFq7VilDAnggv3m9Uq+TgHndtGplH0QlT6lxSa7PnZEjQN
         n+5vnPNGeG41snhFbgCXI6SjPtup/JDO+lqQ9WeTOMzkZzxg/8mTaJOAFXTLC7EUxvuE
         DVdA==
X-Gm-Message-State: AOJu0Yxt4ozsakgtddaXWnyXQkqvGu+Y9bYv1vJOHqcSRM6S1KamZ0D4
	0fMzk6pid03zh7vm0M/NYb4bgpwg/FvNMsSvoNrzumVk1jGX7Tp9
X-Gm-Gg: ASbGncvi3gC/8e6FgNw49eJRaR3bCYVv15/wRuRGMHZ3w7xbLSEYjpsFZa4sKJKA05x
	op9XO0L1B7kDh59ZLSaPldyIBnNtHtB2nJVf27HYTCiF4/6Iy0OtVJbY3jRDnBjMVLTGcNlKOqN
	rl/yNc+tyD5UARVrCrHrBjpiVl5Rdal5z+krzOMIeEmbNqBucWl9gDjgkQgSUQ+LJeieqkvHsHw
	MGCeiG8EvH4t1YItnMGngqCNgRAND1IfvNXlcwkoaQ+2LtI8r6sGdbdL0xQgBnYRQdea0t6fVNN
	FoNbEwELlv7bb5sxcx9FkyMKdHB5lJfC7Dg8MaMyUajjGw==
X-Google-Smtp-Source: AGHT+IHATMuZIoKL4SBi8P6xkY6zMSUjY8hFc9TP+081TnuJck2aeszk61uGx+6BZmoTuJmVJmS5iA==
X-Received: by 2002:a05:6512:1292:b0:545:10bc:20ca with SMTP id 2adb3069b0e04-5494c32afcamr6390569e87.24.1741029839892;
        Mon, 03 Mar 2025 11:23:59 -0800 (PST)
Message-ID: <2e26f594-edfc-4687-8433-4d04a527388e@gmail.com>
Date: Mon, 3 Mar 2025 21:23:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] Add .clang-format files to enable manual coding style
 checks
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 Artem_Mygaiev@epam.com, jbeulich@suse.com, Luca.Fancellu@arm.com,
 marmarek@invisiblethingslab.com, andrew.cooper3@citrix.com,
 anthony.perard@vates.tech
References: <20250301114242.93650-1-andr2000@gmail.com>
 <20250301114242.93650-2-andr2000@gmail.com> <Z8XFRmK_kL6Lp9Xk@macbook.local>
Content-Language: en-US
From: Oleksandr Andrushchenko <andr2000@gmail.com>
In-Reply-To: <Z8XFRmK_kL6Lp9Xk@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hello, Roger!

On 03.03.25 17:05, Roger Pau MonnĂŠ wrote:
> On Sat, Mar 01, 2025 at 01:42:39PM +0200, Oleksandr Andrushchenko wrote:
>> Disable coding style checks for the project, but xen/ folder:
>> this is done by providing a global .clang-format at the top level which
>> disables clang-format and only providing .clang-format for xen/.
>>
>> clang-format version expected to be >15 and the latest tool can be
>> installed with:
>> python3 -m pip install clang-format
>>
>> Please note, that no automatic code style checks are performed and all
>> those can be run manually:
>>
>> - to see changes proposed to the patch being worked on (not committed yet):
>> git-clang-format --diff --style=file --verbose
>>
>> - to run code formatting on the HEAD patch:
>> git-clang-format --style=file --verbose HEAD~1
>>
>> Provided xen/.clang-format still has a lot of comments gathered from the
>> previous discussions. This is for purpose of better seeing why some of
>> the options have their values. Once option values are accepted all those
>> comments can be removed.
> I think the comments need to be trimmed to a concise explanation of
> why a setting is the way it is.  The (IMO overly long) excerpts from
> email conversations are difficult to follow in this context.  Someone
> has to spend the time to digest them and provide a shorter comment.
This is the goal. I do not expect the patch to be committed right
now, so I left those intentionally to provide some background
when those options were discussed before and, possibly, to
address some questions which were brought earlier.
The final patch will have all those in the way you mention here
>
> One thing that I'm missing: don't we need a list of excluded files
> somewhere because they are imports from Linux and we would like to
> keep the Linux coding style for avoiding conflicts when backporting
> fixes?
All files are excluded from formatting, but xen/ directory: this is
by providing a top level .clang-format file which disables all
formatting and also providing xen/.clang-format which is exactly
for xen/.
What is more, there is no automation yet, so this is up to a user
to decide whether they want to run git clang-format or not.
>
>> Signed-off-by: Oleksandr Andrushchenko <andr2000@gmail.com>
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>>   .clang-format     |    5 +
>>   xen/.clang-format | 1380 +++++++++++++++++++++++++++++++++++++++++++++
>>   2 files changed, 1385 insertions(+)
>>   create mode 100644 .clang-format
>>   create mode 100644 xen/.clang-format
>>
>> diff --git a/.clang-format b/.clang-format
>> new file mode 100644
>> index 000000000000..fc3f8e167f65
>> --- /dev/null
>> +++ b/.clang-format
>> @@ -0,0 +1,5 @@
>> +---
>> +DisableFormat: true
>> +SortIncludes: Never
>> +...
>> +
>> diff --git a/xen/.clang-format b/xen/.clang-format
>> new file mode 100644
>> index 000000000000..480628544cdd
>> --- /dev/null
>> +++ b/xen/.clang-format
>> @@ -0,0 +1,1380 @@
>> +# SPDX-License-Identifier: GPL-2.0-only
>> +#
>> +# clang-format configuration file. Intended for clang-format >= 15.
> What happens if used with clang-format < 15?  I expect the tool gives
> some kind of error about unknown options, rather than doing a wrong
> formatting?
Exactly, it will throw an error.
>
>> +#
>> +# For more information, see:
>> +#
>> +#   Documentation/process/clang-format.rst
>> +#   https://clang.llvm.org/docs/ClangFormat.html
>> +#   https://clang.llvm.org/docs/ClangFormatStyleOptions.html
>> +#
>> +---
>> +
>> +################################################################################
>> +# How to review the changes
>> +################################################################################
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02126.html
>> +# ------------------------------------------------------------------------------
>> +# George Dunlap:
>> +# It's hard to agree on this one without seeing some of the examples of
>> +# what it does, some examples of the "weird behavior" Stefano &
>> +# Allejandro found, and some examples of places where it's going to
>> +# remove the alignment.
>> +#
>> +# I had tried to apply your series before and didn't get very far with
>> +# it for some reason ISTR.  One way to see the effect of individual
>> +# features would be:
>> +#
>> +# 1. Make a branch with one big patch applying clang-format for a given style
>> +#
>> +# 2. Change just one style line, re-run clang format, and create a new
>> +# patch from that
>> +#
>> +# Then it would be easy to see the difference between the two.  It might
>> +# actually be easier for individual reviewers to do that on their own
>> +# trees, rather than to ask you to try to generate and post such patches
>> +# somewhere.
>> +
>> +################################################################################
>> +# do/while loops
>> +################################################################################
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02276.html
>> +# ------------------------------------------------------------------------------
>> +# Jan:
>> +# > I've read the past threads about the brave people who dared to try to
>> +# > introduce clang-format for the xen codebase, some of them from 5 years ago,
>> +# > two points were clear: 1) goto label needs to be indented and 2) do-while
>> +# > loops have the braket in the same line.
>> +# > While point 1) was quite a blocker, it seemd to me that point 2) was less
>> +# > controversial to be changed in the Xen codestyle, so the current wrapper
>> +# > script handles only the point 1 (which is easy), the point 2 can be more
>> +# > tricky to handle.
>> +#
>> +# I'm afraid I view the do/while part pretty much as a blocker as well.
>> +# While placing the opening brace according to our style elsewhere would
>> +# be okay-ish (just a little wasteful to have two almost empty lines),
>> +# having the closing brace on a separate line is problematic: At least I
>> +# consider a block / scope to end at the line where the closing brace is.
>> +# So the farther do and while are apart, the more
>> +#
>> +#    do
>> +#    {
>> +#        ...;
>> +#    }
>> +#    while ( cond );
>> +#    ...;
>> +#
>> +# is going to be misleading. While normally we would write potentially
>> +# conflicting constructs this way
>> +#
>> +#     while ( cond )
>> +#         ;
>> +#
>> +# the alternative spelling still isn't outright wrong in our style (I
>> +# believe):
>> +#
>> +#     while ( cond );
>> +#
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02282.html
>> +# ------------------------------------------------------------------------------
>> +# Luca:
>> +# Thank you for your feedback, I could maybe misunderstood your reply, so please
>> +# tell me if I am wrong, the Xen coding style mandates this style for do-while
>> +# loops:
>> +#
>> +# do {
>> +# /* Do stuff. */
>> +# } while ( condition );
>> +#
>> +# Currently clang-format is able to do only this:
>> +#
>> +# do
>> +# {
>> +# /* Do stuff. */
>> +# } while ( condition );
>> +#
>> +# So the issue is only in the opening brackets, not the closing one. Is it a
>> +# blocker too?
>> +#
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02284.html
>> +# ------------------------------------------------------------------------------
>> +# Jan:
>> +# > do
>> +# > {
>> +# > /* Do stuff. */
>> +# > } while ( condition );
>> +#
>> +# Oh, I hadn't understood your description that way.
>> +#
>> +# > So the issue is only in the opening brackets, not the closing one. Is it a
>> +# > blocker too?
>> +#
>> +# No. I don't like the longer form, but I could live with it.
>> +
>> +################################################################################
>> +# clang version to use
>> +################################################################################
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg02301.html
>> +# ------------------------------------------------------------------------------
>> +# Alejandro:
>> +# > The minimum clang-format version for the file is 15, my ubuntu 22.04 comes
>> +# > with it, we can reason if it's too high, or if we could also use the latest
>> +# > version maybe shipped inside a docker image.
>> +# 15 sounds ok \methinks. In practice we'll just stick it in GitLab and let
>> +# it check commits, so we'll be safe even in the case where every developer
>> +# has a slightly different version of the tool. I wouldn't try to make this
>> +# (hard) task harder by trying to retrofit it in an older version.
>> +#
>> +# It might be worth stitching a flag in the python script to scream if the
>> +#clang-format version doesn't match. Or it may do a mess of the tree.
>      ^ missing space
>
> Is it possible to add such flag and give a clear error when the wrong
> clang-format version is used?
This is actually a question if clang-format of a given version supports
options in .clang-format or not. If it doesn't it will throw an error
anyways.
>
>> +################################################################################
>> +# Options and their discussions
>> +################################################################################
>> +
>> +# [not specified]
>> +# Align function parameter that goes into a new line, under the open bracket
>> +# (supported in clang-format 3.8)
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
>> +# ------------------------------------------------------------------------------
>> +# Luca: This one is to align function parameters that overflows the line length,
>> +# I chose to align them to the open bracket to match the current codebase
>> +# (hopefully) e.g.:
>> +# someLongFunction(argument1,
>> +#                  argument2);
>> +#
>> +# This one can be a candidate for an entry in our coding style
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
>> +# ------------------------------------------------------------------------------
>> +# Jan:
>> +# > e.g.:
>> +# > someLongFunction(argument1,
>> +# >                  argument2);
>> +# The above matches neither of the two generally permitted styles:
>> +#
>> +#    someLongFunction(argument1,
>> +#                     argument2);
>> +#
>> +#    someLongFunction(
>> +#        argument1,
>> +#        argument2);
>> +#
>> +# Then again from its name I would infer this isn't just about function
>> +# arguments?
>> +#
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
>> +# ------------------------------------------------------------------------------
>> +# Luca:
>> +# I think it applies to parameters and arguments of functions and macro, given
>> +# the description in the docs.
>> +# I see your two snippets above but Iâve always found at least on arm a
>> +# predominance of the style above for functions, so arguments aligned after the
>> +# opening bracket, for macros there is a mix.
>> +# I might be wrong though and so another opinion from another maintainer would
>> +# help.
>> +# In any case we can choose among many value:
>> +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
>> +# but when we do so, we need to stick to one permitted style only, the tool donât
>> +# allow to specify more than one.
>> +#
>> +# ------------------------------------------------------------------------------
>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02311.html
>> +# ------------------------------------------------------------------------------
>> +# Jan:
>> +# > I see your two snippets above but Iâve always found at least on arm a
>> +# > predominance of the style above for functions, so arguments aligned after
>> +# > the opening bracket, for macros there is a mix.
>> +#
>> +# The latter "above" refers to which form exactly? The one you originally
>> +# spelled out, or the former of what my reply had?
>> +#
>> +# > In any case we can choose among many value:
>> +# > https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
>> +# > but when we do so, we need to stick to one permitted style only, the tool
>> +# > donât allow to specify more than one.
>> +#
>> +# a2k: RED FLAG
> What does 'a2k' mean?
>
> I'm afraid this needs to be trimmed to a more manageable comment,
> otherwise I simply get lost in the context.  Maybe it makes sense more
> people involved in the discussion.
Sure, see my explanation above: this is just to give some more context
and have some ready answers for the questions being asked before.
I will remove all these right after we have some consensus.
>
> Thanks, Roger.
Thank you,
Oleksandr


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 20:53:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 20:53:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900608.1308464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpCmv-0000nF-62; Mon, 03 Mar 2025 20:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900608.1308464; Mon, 03 Mar 2025 20:53: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 1tpCmv-0000n8-31; Mon, 03 Mar 2025 20:53:21 +0000
Received: by outflank-mailman (input) for mailman id 900608;
 Mon, 03 Mar 2025 20:53: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=GARz=VW=flex--seanjc.bounces.google.com=3uBbGZwYKCUMxjfsohlttlqj.htr2js-ij0jqqnxyx.2jsuwtojhy.twl@srs-se1.protection.inumbo.net>)
 id 1tpCmt-0000n2-86
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 20:53:19 +0000
Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com
 [2607:f8b0:4864:20::1049])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 859ced2f-f871-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 21:53:13 +0100 (CET)
Received: by mail-pj1-x1049.google.com with SMTP id
 98e67ed59e1d1-2feb8d29740so7299462a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 12:53:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 859ced2f-f871-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1741035192; x=1741639992; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:from:subject:message-id:references
         :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id
         :reply-to;
        bh=sN1tRRXOdkRuhSE1RMnqdPqM5oFgXi6jywzgZSSDWUM=;
        b=yZHRnzneg4gPAHWUyM3ybBCgbSYiz9NWziYIQFlMuIw7yjMJLRFXM9UtCWOLySVSvA
         Q261vMpHel3qq4q4/s1d9MVWmUiFlIZw9Tuqs5hnmQH25ciXCyGWRL4YFeBzHBuzta4s
         H3LHTyp4G4aKKVT0thYtb/UuKFOdc42MUI2Hu2cYfPeHUBCbTMI3ZqCSUXAPtk/j0+FG
         J36edgaCHDDtc4zqoGZsEwgebfN4shP2j7absjPl49nipaVJhRJv3oLSfPZIB/ZmAGNX
         j4/hwdqMk3IaFd6XZHFbMmTXx4XT7JTaNPIvGXafGNJeD1jOhndk6FuWxLSQ3aj6eQyB
         sIzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741035192; x=1741639992;
        h=content-transfer-encoding:cc:to:from:subject:message-id:references
         :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject
         :date:message-id:reply-to;
        bh=sN1tRRXOdkRuhSE1RMnqdPqM5oFgXi6jywzgZSSDWUM=;
        b=YnZE09VOhgFp7V9sXE8mRDwLsXGEk7DX1bOZ3NUQNU3tc5DvBkcuXoso5OyvYAGrSB
         eaQCU5XbxCXycqjnr1q72DTAISIDA1e4W196jvjWK2iXfT2iJBQ6trqQ74L0kgFuR66L
         zB9FQZquK3pfsstmGK0VEpXANbSNnNU5SOK0zbnjMoB116Xi0yP3bAsfY/qLfv+9+6VX
         /mnBaWH79t4r88TzB+mY/PSEkKKUE9sEOcwsDOply4/WcwEGm1Qhdz9OUVnjrE0zm9a7
         bznepgEmS/jgdFevYIkiy7G4eISkJFNy1geNbI65NT8eXxlWJUEZ8jcKo7Y85Zs/1pW5
         zpIQ==
X-Forwarded-Encrypted: i=1; AJvYcCXPwqbo+9BbUZnAWmKz5rlevdae6762McPLcu/QUtqOJdnJRc3yJt3TN7ECQ2rge7TU8AI3TxRAgqA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCByL40H/1wvGcK6ub9uZGLp77ZFhwWWyvROiqxzy/lCm2WrJ8
	7kd4/INdElcw6ai1PqRDyVjU1FIHUGdN4spGhnKEKk8R2NU5tIXAkS7OMJ1YVTsHe10mAyxVuFM
	Q4g==
X-Google-Smtp-Source: AGHT+IGvAbM1SbEAkwQZlxQS7zV3KYE59+INXt1p2VCN8UPIm/E/EWQNfbPJi6CZOYL8GIUxW/fPR5QROP8=
X-Received: from pjn11.prod.google.com ([2002:a17:90b:570b:b0:2f5:4762:e778])
 (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:1a86:b0:2ee:ab29:1a63
 with SMTP id 98e67ed59e1d1-2febab30c7amr20186639a91.3.1741035192190; Mon, 03
 Mar 2025 12:53:12 -0800 (PST)
Date: Mon, 3 Mar 2025 12:53:10 -0800
In-Reply-To: <5bdb92ab83269b49ad8fbbe8f54df01f6b98ea8f.camel@infradead.org>
Mime-Version: 1.0
References: <20250227021855.3257188-1-seanjc@google.com> <5bdb92ab83269b49ad8fbbe8f54df01f6b98ea8f.camel@infradead.org>
Message-ID: <Z8YWttWDtvkyCtdJ@google.com>
Subject: Re: [PATCH v2 00/38] x86: Try to wrangle PV clocks vs. TSC
From: Sean Christopherson <seanjc@google.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: 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, 
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	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>, Ajay Kaher <ajay.kaher@broadcom.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, 
	Peter Zijlstra <peterz@infradead.org>, Daniel Lezcano <daniel.lezcano@linaro.org>, 
	John Stultz <jstultz@google.com>, linux-kernel@vger.kernel.org, 
	linux-coco@lists.linux.dev, kvm@vger.kernel.org, 
	virtualization@lists.linux.dev, linux-hyperv@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Tom Lendacky <thomas.lendacky@amd.com>, 
	Nikunj A Dadhania <nikunj@amd.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Feb 28, 2025, David Woodhouse wrote:
> On Wed, 2025-02-26 at 18:18 -0800, Sean Christopherson wrote:
> > This... snowballed a bit.
> >=20
> > The bulk of the changes are in kvmclock and TSC, but pretty much every
> > hypervisor's guest-side code gets touched at some point.=C2=A0 I am rea=
onsably
> > confident in the correctness of the KVM changes.=C2=A0 For all other hy=
pervisors,
> > assume it's completely broken until proven otherwise.
> >
> > Note, I deliberately omitted:
> >=20
> > =C2=A0 Alexey Makhalov <alexey.amakhalov@broadcom.com>
> > =C2=A0 jailhouse-dev@googlegroups.com
> >=20
> > from the To/Cc, as those emails bounced on the last version, and I have=
 zero
> > desire to get 38*2 emails telling me an email couldn't be delivered.
> >=20
> > The primary goal of this series is (or at least was, when I started) to
> > fix flaws with SNP and TDX guests where a PV clock provided by the untr=
usted
> > hypervisor is used instead of the secure/trusted TSC that is controlled=
 by
> > trusted firmware.
> >=20
> > The secondary goal is to draft off of the SNP and TDX changes to slight=
ly
> > modernize running under KVM.=C2=A0 Currently, KVM guests will use TSC f=
or
> > clocksource, but not sched_clock.=C2=A0 And they ignore Intel's CPUID-b=
ased TSC
> > and CPU frequency enumeration, even when using the TSC instead of kvmcl=
ock.
> > And if the host provides the core crystal frequency in CPUID.0x15, then=
 KVM
> > guests can use that for the APIC timer period instead of manually calib=
rating
> > the frequency.
> >=20
> > Lots more background on the SNP/TDX motiviation:
> > https://lore.kernel.org/all/20250106124633.1418972-13-nikunj@amd.com
>=20
> Looks good; thanks for tackling this.
>=20
> I think there are still some things from my older series at
> https://lore.kernel.org/all/20240522001817.619072-1-dwmw2@infradead.org/
> which this doesn't address.

Most definitely.  I was/am assuming you're going to send a v4 at some point=
?


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 21:18:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 21:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900617.1308475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpDBM-0004TS-0m; Mon, 03 Mar 2025 21:18:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900617.1308475; Mon, 03 Mar 2025 21:18: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 1tpDBL-0004TL-Tl; Mon, 03 Mar 2025 21:18:35 +0000
Received: by outflank-mailman (input) for mailman id 900617;
 Mon, 03 Mar 2025 21:18: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=5oqO=VW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tpDBK-0004TF-2r
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 21:18:34 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20619.outbound.protection.outlook.com
 [2a01:111:f403:2418::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e28a96a-f875-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 22:18:31 +0100 (CET)
Received: from BN1PR13CA0014.namprd13.prod.outlook.com (2603:10b6:408:e2::19)
 by CH2PR12MB4181.namprd12.prod.outlook.com (2603:10b6:610:a8::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Mon, 3 Mar
 2025 21:18:26 +0000
Received: from MN1PEPF0000ECD9.namprd02.prod.outlook.com
 (2603:10b6:408:e2:cafe::15) by BN1PR13CA0014.outlook.office365.com
 (2603:10b6:408:e2::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15 via Frontend Transport; Mon,
 3 Mar 2025 21:18:26 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MN1PEPF0000ECD9.mail.protection.outlook.com (10.167.242.138) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Mon, 3 Mar 2025 21:18:26 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 3 Mar
 2025 15:18:25 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 3 Mar
 2025 15:18:25 -0600
Received: from [172.27.162.189] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 3 Mar 2025 15:18:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e28a96a-f875-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j8jG0Qs3/WnMWNV69lusDKz7+n8tWtlmgzygwFbm6AX7gQe1n3k/0mCENbDMTsQoO4DpgEjrarcvWpz2me2XkVUCbg/TNoAfDX2a7DLOR2NxvJCPbHE3A+Sbjzf/vokwRASbmZFD4oYlBaSN+0RTuWF59xROCiDju5uoCLiKC6XVpdaBRBkCJtCGWgOnXyzcmG1QIp3r94fljL2YKbR2SBhg4BssAlK2LLuzz3xm7i8SvkFugjbNa8ATfkneMR2VPm71htxYF6LmsLPChvoQeuIDELuQrB5bm0/Os8lCPyJqYBDuAsGv1V9qPyyeZQLTJYi5e6r+jQMOXTHEO/5wWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GSxJJV7RJnGOGm6uYhXSZU5xqklTCOWnIJkxOpIJT9I=;
 b=M2gw1Fys16o9GDUt3cLqojp9iwB5JEKSUYUwcpm/QTgTaXiBWgp486JdPRooMF/2Dipo8KrxZ4YKHng6YSms5KMj/1jxMOg5Dyj9ZUlPB8qcwB6ebkIIa2GEXIJOZXNSvHTKIre7qi+s4/Beb9l9DF6oqErHBqCKti+nkYVX/FESd0j9EHsZYWt5lkC7VLkbCQsyXAAm3nnjXCRflfyspaJwoWxGX5xlR55QD394O/NeaRXv/W8CMQf1XraEVDEz/eSIDk+AkeiY7S516Z+OJgruucSPT+lpbvFHfqoDV9w8X8fn3d3OWzjWGhK9UUOb6hVHgRUy76MzyeJvxjKxfA==
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=GSxJJV7RJnGOGm6uYhXSZU5xqklTCOWnIJkxOpIJT9I=;
 b=XWfAW1cf7w2Qq68fLkAApYnUdSpiHJdfaufqooIups8C4W1mXSdvOifSmNfEa0w0YAhz3z6C2sTicYe1IqrjYZROFro5lzVw7J2aYu5QO2cF/9d42QfD0vpnKMiYVflZkAQWsVaMZ8ZWplN9MT4QUlT8p7CAooTzo9o7YjPDdxs=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <b78d9733-b047-47ba-820d-084c88d7a31a@amd.com>
Date: Mon, 3 Mar 2025 16:18:25 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: fix build with CONFIG_HVM=n and -Og
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>
References: <20250213185055.711703-1-stewart.hildebrand@amd.com>
 <f5deca6a-313f-4daf-b774-cc05223ab034@citrix.com>
 <7cbc513b-b98c-494d-9623-ba31a7a14360@suse.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <7cbc513b-b98c-494d-9623-ba31a7a14360@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD9:EE_|CH2PR12MB4181:EE_
X-MS-Office365-Filtering-Correlation-Id: 961a2976-cd2d-4d6e-a80a-08dd5a98efc9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RGtCU294S1RZc0hMWUFGLzFSbVUvSnUzM0xIdCtwbWtKS0dhVjlkVWt6SVgz?=
 =?utf-8?B?eVRINkJ5TDlSUmZxcEJQZXNWRmNaMWFWSWlFT3c3d0V2bmdlc1lEbW9qOEdL?=
 =?utf-8?B?YXJTV3MrNkwwVnZ3WXM0R2JRZEhDS2F5OTRPd041OFY5ckFudkRwdmxLR0R5?=
 =?utf-8?B?RFhtSnBzWWxnLzN1RkpMWkR6NlA4M3lqVUlEUllCR2hHQ25rc040MTFoWUtW?=
 =?utf-8?B?VXY2cjkyaU9iRlp0dzFOYjJ1cWhnaVpCZDBzS3BEWlIxK0VDRFJIeEFTNnBC?=
 =?utf-8?B?djQrUkVzQks4RTEzN3Y5dXRMVTBFUGZCakZiM1E4dDVLTGt1SkJXL0ZsaUtI?=
 =?utf-8?B?VjFSL2lxMEdEZjhtWjBwSnVSY3lDcWtmK3B6Lzhic1l0K2lCOTJnOVNRcmZ5?=
 =?utf-8?B?bm15d1c2cDRWTEFXTlkvd0M2eWVQVjYyMXMyTzYzSlNhTmhZcFQyOUxDcm96?=
 =?utf-8?B?UXpZOEViUjJZamg1WVRWcE1qa0o5d25lWVJzcFdzYVVXYjU2OVVzNkNiSE1C?=
 =?utf-8?B?T1kxOEJkQkhoVnRLZG9GU3Y4QWFtN0ZJUGEwd1FxdDJGZkQrclNSZGpTUGc2?=
 =?utf-8?B?THIvZVNPUjQwSHhnMUtSMDBZeGRtQzhqbDZaR3FrVlJ1dW9VUmtRR2J4NDF1?=
 =?utf-8?B?QUtWY3BxbGFoWFdqZlQwRTdQSXR0QzFYNWRkKzVJQ3RISk5qN2JOakp3bFlD?=
 =?utf-8?B?U3Vpc2cvc1RiSmxQQ2xBbVM3SDdPclhvVlVHbFhJSlBJVi9qVlg2R3VESUls?=
 =?utf-8?B?ZTl1Um5ITHVWSkQ0UDY1ZU4xenV0d2xqZFoyRWhweXVJcWgzdkNRalpiUjdI?=
 =?utf-8?B?eFppRDZEOVQ0NlhEZzYwWi92MXZRS1lhamovWnBUUzkyY3lNdkgrck9ERnQ3?=
 =?utf-8?B?RVZEWWkrbko3T2JyQTU1akJrckhmLzlRRGZYeWVPTTQ2NnoxZVRJbkI4b21k?=
 =?utf-8?B?YzhtQmVzQkZEWjdyd2ljdk5OeXpoVG80Vm9Qb0RsRUdobUN5M25uSmE2NFVB?=
 =?utf-8?B?OVg1WkltYXNtRmNFa1NDMllTSUZiZTBGZngyWi8zQUtqSW5oQ250ZHJNNWNW?=
 =?utf-8?B?UFAyNnlwdG9MUW5DMTZWSElFTm9DWHlGZDhicEJyQkhqVkQ0TVVIWGQxUkVI?=
 =?utf-8?B?K3pIKzI2NHB4RDVIS2toc09obldOdDdrQW1jdFdQRHNqOWxhZGZidS8vM3oy?=
 =?utf-8?B?T1czUm0zVll1MXd6UFEzMG54cXpxTVlYUERudXR3QTJKTTRxbllFeFgzTlN3?=
 =?utf-8?B?dWkxdEo3TGtPWWRtY3h6ZXRlcXhPWHdSMkxnaHZ2NFkrZitES2dNRFV2ekFh?=
 =?utf-8?B?OVB1SWNMdGF1cjMzdm5GL0c3c2QzOXc4S3I4OVhiN3M2RFlZRk01R1J1enJn?=
 =?utf-8?B?NXQ2SnhLREwxY2JnaEFzaDZjY3d5VE1pSnJMaFd5K2hPU2R6VE9RS3N4ZGZG?=
 =?utf-8?B?cHNoQzBQQ2ZlMmVmb0dEc2tmVzNwVkV6Y0Z6TFpGNUtxdFg1S2JLSWdCdURU?=
 =?utf-8?B?VmtrUkFBVnhNNkFWc2FVY3VSbHJ1aXIxYkdBL0JEdWJTZmFMeG1kVytxMzFB?=
 =?utf-8?B?S2RzV21WY21wbGVXTXVMOVJJWnRUWUtyTXdFeTJqQU9oNXVPWERBblp1OWha?=
 =?utf-8?B?bzJMczJrYjg4VjFZUS9RMHpuZE9ndTdBbFZCQ1VaRnRmS2pHL3VSejMrMGJo?=
 =?utf-8?B?OERjbnByYlIrTVY0N0lTcGE1NnBsWCt5WFJoK2RZeEFBNUg3R2M1TWRNQjRw?=
 =?utf-8?B?RVVSSXMyM0FqVE5wdVN1NlNxVHo0TU1mODgxaW5KRk9tTVN4dXR4VmJMclVx?=
 =?utf-8?B?TCt1SjRKZ3dMVkc1US9iQ0lEaFVzeVNZK2RlcjNtSW9KYlpPYUdKUkVnbDNp?=
 =?utf-8?B?NlUraWZlSVB3Y2tDUmJDRTJwQ05nMzByaEdFY2ZlWDErelFlQzZOUGRWK0NR?=
 =?utf-8?B?Nnc0ME9ZZ2hsRThPOE9XSEo1OUJQOWwrZGp3bEo3S25GaHJzYW9ERlU1bHYx?=
 =?utf-8?Q?cEwXO4jchs8BJHmsuTe3XkIpiksUvg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 21:18:26.0665
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 961a2976-cd2d-4d6e-a80a-08dd5a98efc9
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000ECD9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4181

On 2/14/25 03:25, Jan Beulich wrote:
> On 14.02.2025 02:05, Andrew Cooper wrote:
>> On 13/02/2025 6:50 pm, Stewart Hildebrand wrote:
>>> When building with CONFIG_HVM=n and -Og, we encounter:
>>>
>>> prelink.o: in function `pit_set_gate':
>>> xen/xen/arch/x86/emul-i8254.c:195: undefined reference to `destroy_periodic_time'
>>>
>>> Add an IS_ENABLED(CONFIG_HVM) check to assist with dead code
>>> elimination.
>>>
>>> Fixes: 14f42af3f52d ("x86/vPIT: account for "counter stopped" time")
> 
> While I don't mind this as a tag, you could equally blame the commit
> having added support for EXTRA_CFLAGS_XEN_CORE, for not documenting
> restrictions. As Andrew says further down, it's deemed known that -Og
> doesn't work reliably. And who knows what other very special options
> would cause havoc. I'm inclined to go as far as saying that quite
> likely no Fixes: tag is appropriate here at all, as long as we have no
> way to use -Og without making use of EXTRA_CFLAGS_XEN_CORE (or hacking
> it in another way). People using EXTRA_CFLAGS_XEN_CORE are on their
> own anyway, because the documenting of restrictions mentioned above
> would be nice in theory, but is entirely impractical imo: We'd need to
> exhaustively test all options, and then document which ones we've
> found working (under what conditions).

I'll drop the Fixes: tag

>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>
>> While I appreciate the effort to get -Og working (I tried and gave up
>> due to frustration), this is gnarly.
>>
>> PIT emulation is used by both PV and HVM guests.Â  All other uses of
>> {create,destroy}_periodic_time() are behind something that explicitly
>> short-circuits in !HVM cases (usually an is_hvm_*() predicate).
>>
>> The PV path would normally passes 2 for the channel, which would
>> normally get const-propagated and trigger DCE here.
>>
>> One option might be to make pit_set_gate() be __always_inline.Â  It only
>> has a single caller, and it's only because of -Og that it doesn't get
>> inlined.Â  Then again, this is arguably more subtle than the fix
>> presented here.
> 
> Making it always_inline on the basis that there's just a single caller
> would be equivalent to simply dropping the handling of channel 0 when
> the sole caller passes channel 2. I don't like either. Instead ...
> 
>> A preferable fix (but one that really won't get into 4.20 at this point)
>> would be to genuinely compile pit->pt0 out in !HVM builds.Â  That would
>> save structure space, but would also force the use of full #ifdef-ary
>> across this file.
> 
> ... I was about to also suggest this approach.

I'll give this a try for v2


From xen-devel-bounces@lists.xenproject.org Mon Mar 03 22:17:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 22:17:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900636.1308485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpE5d-0005mn-6T; Mon, 03 Mar 2025 22:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900636.1308485; Mon, 03 Mar 2025 22: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 1tpE5d-0005mg-3D; Mon, 03 Mar 2025 22:16:45 +0000
Received: by outflank-mailman (input) for mailman id 900636;
 Mon, 03 Mar 2025 22:16: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpE5c-0005ma-Ah
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 22:16:44 +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 2f6e4bdd-f87d-11ef-9ab3-95dc52dad729;
 Mon, 03 Mar 2025 23:16:42 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-390df0138beso2613392f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 14:16:42 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e485e03asm15961561f8f.95.2025.03.03.14.16.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 14:16:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f6e4bdd-f87d-11ef-9ab3-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741040201; x=1741645001; 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=h6pay+cFtFClz4ucC1G7sQqdpWp9AM1ohPgJS2SZBVQ=;
        b=ZMDobjzIHWovDRO8agVEtB/IZNvE83pwieMHYUKvSZOtWYomy55FVVOPTiq28L8yNq
         yHV6N2uFVnf0pdtp1nuldrTSdvAE1oWdKHcuOny50I6yKjRaVLluS3zhjR+J5rXhTUV5
         JmQorSv/MSrygujy1lsu0q8cTm9UshN3UYkD8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741040201; x=1741645001;
        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=h6pay+cFtFClz4ucC1G7sQqdpWp9AM1ohPgJS2SZBVQ=;
        b=RlDM9+Pqoc3HjIQXRxcfnQ0JX8EtEr9BNYhCE3sxkuOkyPLC3Aes23JRGoQX25jRAg
         yiGvzhkzx451Lno71Uqbn9+LWHwn6IPtPj/lzZqlmUcpJRZUOeICbfdnrDoARhrtx+n7
         3/wXYxxxOV740TF+6JT9XU+pNmlaNUp+odS2dzr0UioNNH+LKSKq/2Pgc9zo6kSZ9Lna
         k1GKkN/orXxfY/BYrtLBT9UAUwzk93GbAIDRxF9nvHixOstsSCWGZK5MlwdRo0sCCv6a
         wbkXFneSed7IuktvADd8I+TvjoHxzvfrpQ3bZXG1TlRZOZpLN4i+9loh18lJD5dxTCqm
         I+zA==
X-Gm-Message-State: AOJu0YwEjSNttsHx0Tko+SpSjA4XCw4UrXePf37DJ2tDGTWcftLgCNV7
	kLBk9MlTRFE5J6Hu3KZHz3SY3GPq8Q++LSe5JP9CSBwaUVr2ug0jV6GAoehzAgQsjreAh5vW1FQ
	q
X-Gm-Gg: ASbGnct/JI8hSvr8SSSvRIEqEWZYRzwfK9StIXOeep4H6wDeslGbIU/kVPhUMjvX7Z8
	R40+aDiTdxIdWzWagQyzNCJCok29DvI4hQNfFfGdQLQk0R0pCuVmh1Ydr+to/v1yqFMtu/oocbC
	3uPtNWOxMZ0SLhhJfHRETdperdl+woITevxcccfCHk9Co0nyF4+zAB4HbkDhneNt0+pXHOzeU9q
	Cf6J97DECIcndlplFfoYZMRHcezPKM+GFfE3HgDybipICy2i+gmIpLerzPphzG8cRS3LclLsNcw
	4HsO7Ouy3HG7ZXLD0k6GV7L2zV14ap5XX3Bntgq1dxGZo/emHaM8rpZKv9E6ljJ0pVSYXQGNdeC
	3IdVDWtmQiKRmYY9DlMuqYPEf
X-Google-Smtp-Source: AGHT+IEKJAVBEjIrIhEG9JBoOC4dfuTcJk07042Knc0MM2z1dl3zirq/DK9886l3rRseacA+8vzSBA==
X-Received: by 2002:a05:6000:1563:b0:390:d796:b946 with SMTP id ffacd0b85a97d-390eca414efmr13906971f8f.44.1741040201601;
        Mon, 03 Mar 2025 14:16:41 -0800 (PST)
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] IOMMU/VT-d: Fix comment
Date: Mon,  3 Mar 2025 22:14:38 +0000
Message-Id: <20250303221438.2495688-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

"find upstream bridge" is surprisingly jarring in context, considering that's
the name of the function who's return value we're testing.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/drivers/passthrough/vtd/intremap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 820616a8de93..1aeaeb5ec595 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -475,7 +475,7 @@ static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire)
             set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_ALL_16,
                         PCI_BDF(bus, devfn));
         }
-        else if ( ret == 1 ) /* find upstream bridge */
+        else if ( ret == 1 ) /* found upstream bridge */
         {
             if ( pdev_type(seg, bus, devfn) == DEV_TYPE_PCIe2PCI_BRIDGE )
                 set_ire_sid(ire, SVT_VERIFY_BUS, SQ_ALL_16,

base-commit: e95dc03717b8ae00de2a0b41b88905af6170b210
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 22:45:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 22:45:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900653.1308495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpEXR-0002Ne-Ag; Mon, 03 Mar 2025 22:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900653.1308495; Mon, 03 Mar 2025 22:45: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 1tpEXR-0002NX-7N; Mon, 03 Mar 2025 22:45:29 +0000
Received: by outflank-mailman (input) for mailman id 900653;
 Mon, 03 Mar 2025 22:45: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpEXQ-0002NR-70
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 22:45:28 +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 32bae9eb-f881-11ef-9898-31a8f345e629;
 Mon, 03 Mar 2025 23:45:25 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-390fb1b987fso2854354f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 14:45:25 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b6cd8sm15525825f8f.44.2025.03.03.14.45.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 14:45:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32bae9eb-f881-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741041925; x=1741646725; 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=Op+2Z4J1fpmGQcVAqWM36slAs7UPYrH2z8fDdpQ0Gm8=;
        b=kr09kByNqqITJJi7xjF3kLHI1Dfs5nAvZvVcpaTxKIBNIyV+Re8KZ5jG2SnTQcGqsp
         lS0IIZZs1a3yiBMxfhKycGYFj9mcRsUGrwlmQOI8WEoBHAXFp4A9cD1DF/392zSqu/+C
         fSv72PYwyVbRICevMiJXC5a7PNpFzZ3dxMwhs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741041925; x=1741646725;
        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=Op+2Z4J1fpmGQcVAqWM36slAs7UPYrH2z8fDdpQ0Gm8=;
        b=GgaSp+OKHIj4Dg6ByWGTamFL63B6gNLfZv6vUOtyPQb/K3PDoK2RNLTeCnQTb4agL0
         old4tWi9vybn9aEUC/owtitnx3cegtMuwj28pVMd8MNQ4HrPViwbgOlT/mijyjnO7ZYI
         8coas/4bKfIfWYKldG7I89gtgOj460nis9ReXtjAfNxT8Xznr9ABuh5DIYNNHeORAaKh
         rPEkvp0sAIh9BuqH03yakBZOwbzaj/BPxSCkHZydCBz3L6g3VuZ1p4xeuuX9ZUN82HMi
         g+znSJoqO9/SSOpdoNzz0L2b54UwkVw8wl+ZP3Upfwrc/dUtj9mi8XNBTIQD7B2zuXEU
         DXzg==
X-Gm-Message-State: AOJu0YxSeo14EvIdIntA1O8tb7rZ5u3aLJru6WwagiknKhrmJHgfmFvg
	B8adlE4YTupLxHHAgNuNIyzRFwZCINvAQLDp5uXXyQj52sYuPx8Cisx083++a7kH/tDWckNgc6Q
	L
X-Gm-Gg: ASbGncsXsScm8MgKhl02J5OeE6KowO9AmkRiIVCazIpXVVBuMmJ/7M6s0sqqz8klkCK
	yuE+Zlp6QgDUDparw8gMAlU+L202Hv+3eHMaqRHLRDTs7O6xSix91BKKzbcRjSpi5Ui5pJHA6om
	ahFp5ooTyw2s9lf49cvCVKYrJpUiQlt8ybGPfHtieNpf1Rmen6MMpDkof7L8KdfIztQEbROW+cW
	MxxFV9L7Y1sVnsCSUpIOVeHZQoZq/Pbc0kA+/6nj3zZUx4haiUOTKOHRPmOYGNSTjPwttN9vRlG
	GLPelmgZAEHz6HBlNRuX2xk5KrVYh8IWW6l1DhEUlqGMSIFEZ20k8PcWpTrap/EItLM1rBrD+If
	nowq8LMG3E4DplPjz2cIMP6dp
X-Google-Smtp-Source: AGHT+IHJhked+OhND9gqtrZcM2uUB/vulqlEWgYX4Qe+VeLqTn8yTIaqDEnwouZ1aR9UQnTxOaZqpA==
X-Received: by 2002:a05:6000:1845:b0:390:f4c7:ea20 with SMTP id ffacd0b85a97d-390f4c7ec27mr11379880f8f.24.1741041925006;
        Mon, 03 Mar 2025 14:45:25 -0800 (PST)
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] x86/trampoline: Rename entrypoints
Date: Mon,  3 Mar 2025 22:43:22 +0000
Message-Id: <20250303224322.2572611-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

... to be more concise, and to match our other entrypoints into Xen.

In acpi_sleep_prepare(), calculate bootsym_phys() once, which GCC seems
unwilling to of it's own accord.

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/acpi/power.c             |  9 ++++++---
 xen/arch/x86/boot/trampoline.S        |  5 ++---
 xen/arch/x86/boot/wakeup.S            | 10 +++++-----
 xen/arch/x86/include/asm/trampoline.h |  4 ++--
 xen/arch/x86/smpboot.c                |  2 +-
 5 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 08a7fc250800..e1b5c2827fc0 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -168,6 +168,7 @@ static void thaw_domains(void)
 static void acpi_sleep_prepare(u32 state)
 {
     void *wakeup_vector_va;
+    paddr_t entry_pa;
 
     if ( state != ACPI_STATE_S3 )
         return;
@@ -180,10 +181,12 @@ static void acpi_sleep_prepare(u32 state)
     wakeup_vector_va = fix_to_virt(FIX_ACPI_END) +
                        PAGE_OFFSET(acpi_sinfo.wakeup_vector);
 
+    entry_pa = bootsym_phys(entry_S3);
+
     if ( acpi_sinfo.vector_width == 32 )
-        *(uint32_t *)wakeup_vector_va = bootsym_phys(wakeup_start);
+        *(uint32_t *)wakeup_vector_va = entry_pa;
     else
-        *(uint64_t *)wakeup_vector_va = bootsym_phys(wakeup_start);
+        *(uint64_t *)wakeup_vector_va = entry_pa;
 
     clear_fixmap(FIX_ACPI_END);
 }
@@ -445,7 +448,7 @@ static void tboot_sleep(u8 sleep_state)
     g_tboot_shared->acpi_sinfo.wakeup_vector = acpi_sinfo.wakeup_vector;
     g_tboot_shared->acpi_sinfo.vector_width = acpi_sinfo.vector_width;
     g_tboot_shared->acpi_sinfo.kernel_s3_resume_vector =
-                                              bootsym_phys(wakeup_start);
+                                              bootsym_phys(entry_S3);
 
     switch ( sleep_state )
     {
diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index 924bda37c1b7..a92e399fbe0e 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -42,10 +42,9 @@
  * do_boot_cpu() programs the Startup-IPI to point here.  Due to the SIPI
  * format, the relocated entrypoint must be 4k aligned.
  *
- * It is entered in Real Mode, with %cs = trampoline_realmode_entry >> 4 and
- * %ip = 0.
+ * It is entered in Real Mode, with %cs = entry_SIPI16 >> 4 and %ip = 0.
  */
-GLOBAL(trampoline_realmode_entry)
+GLOBAL(entry_SIPI16)
         mov     %cs,%ax
         mov     %ax,%ds
         movb    $0xA5,bootsym(trampoline_cpu_started)
diff --git a/xen/arch/x86/boot/wakeup.S b/xen/arch/x86/boot/wakeup.S
index bbf9aa6040fa..654e97005ff4 100644
--- a/xen/arch/x86/boot/wakeup.S
+++ b/xen/arch/x86/boot/wakeup.S
@@ -7,18 +7,18 @@
         .equ    wakeup_stack, trampoline_start + PAGE_SIZE
         .local  wakeup_stack
 
-#define wakesym(sym) (sym - wakeup_start)
+#define wakesym(sym) (sym - entry_S3)
 
 /*
  * acpi_sleep_prepare() programs the S3 wakeup vector to point here.
  *
  * The ACPI spec says that we shall be entered in Real Mode with:
- *   %cs = wakeup_start >> 4
- *   %ip = wakeup_start & 0xf
+ *   %cs = entry_S3 >> 4
+ *   %ip = entry_S3 & 0xf
  *
- * As wakeup_start is 16-byte aligned, %ip is 0 in practice.
+ * As entry_S3 is 16-byte aligned, %ip is 0 in practice.
  */
-ENTRY(wakeup_start)
+ENTRY(entry_S3)
         cli
         cld
 
diff --git a/xen/arch/x86/include/asm/trampoline.h b/xen/arch/x86/include/asm/trampoline.h
index 0c508d0222d0..dc536efe1f3d 100644
--- a/xen/arch/x86/include/asm/trampoline.h
+++ b/xen/arch/x86/include/asm/trampoline.h
@@ -130,10 +130,10 @@ extern uint32_t trampoline_phys;
 #define bootsym(sym) (*((typeof(sym) *)__va(bootsym_phys(sym))))
 
 /* The INIT-SIPI-SIPI entrypoint.  16-bit code. */
-void nocall trampoline_realmode_entry(void);
+void nocall entry_SIPI16(void);
 
 /* The S3 wakeup vector.  16-bit code. */
-void nocall wakeup_start(void);
+void nocall entry_S3(void);
 
 /*
  * A variable in the trampoline, containing Xen's physical address.  Amongst
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 891a29fca146..65a0c6b5d05b 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -571,7 +571,7 @@ static int do_boot_cpu(int apicid, int cpu)
 
     booting_cpu = cpu;
 
-    start_eip = bootsym_phys(trampoline_realmode_entry);
+    start_eip = bootsym_phys(entry_SIPI16);
 
     /* start_eip needs be page aligned, and below the 1M boundary. */
     if ( start_eip & ~0xff000 )

base-commit: e95dc03717b8ae00de2a0b41b88905af6170b210
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 23:32:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 23:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900668.1308525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpFGS-0001lU-0P; Mon, 03 Mar 2025 23:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900668.1308525; Mon, 03 Mar 2025 23:31: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 1tpFGR-0001lL-TX; Mon, 03 Mar 2025 23:31:59 +0000
Received: by outflank-mailman (input) for mailman id 900668;
 Mon, 03 Mar 2025 23:31: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpFGQ-0001Ed-EF
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 23:31:58 +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 ab319d59-f887-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 00:31:45 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43bcbdf79cdso662075e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 15:31:45 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43aba58713bsm211574785e9.34.2025.03.03.15.31.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 15:31:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab319d59-f887-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741044704; x=1741649504; 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=5pm6c6pe2VTDnq+QjL5p5/gcR/5MEa54tmq0jY5TTfI=;
        b=L4sb2x7dwnUwZpmkyVsmChsukanNfMaq5Pi+RzWckRogDn7rcrWPzmUsSXENjgFcio
         xSd0D6tj7EwC6kcn+cjw1AUBjE10ZTEiv0Ln7X0HafGjE4nbkIX/0olHRLvEcLsdqN0f
         SN0MCZLuYnpBdXutqA7VnTeIWUbg7fOPlmbmo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741044704; x=1741649504;
        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=5pm6c6pe2VTDnq+QjL5p5/gcR/5MEa54tmq0jY5TTfI=;
        b=wBad+WvHyXokiscv6JDh3QWWRp5pwTu+lVeyT3a6+jUSyKObeZQDtfh6VhpucIZhjW
         rTfIsFy0Ae8BN1LJp1YDkxte5McOpmf3+WlRTFGv3DyheLqSevJ4xkbjpLGsfn23RPRv
         TQfFXr7S0EoBiFeBa9FtfrstSSkzeofJZhhDpBF9/nKm5punOni3RiDQwAgPrmQw5a0k
         60LFN9cG4PEgsmkgP27i4tkP3687/4ik6OFhdVR9IwBRGj0Tl2Po2ESqh09oi82RJXX/
         0nnHM/2Ah5JHfOBK2LfgMemQhzFOkvM+RN+pPgWjrAscZkrEr+pBFxGuhQeLu+5WPBiu
         86/g==
X-Gm-Message-State: AOJu0YxiccocKlp8y77dmT4FXv3/NGajfQG5HIN1mpzVjM1MuJcIqExx
	+RsDHgrrnUJuXJUcssFzEBXDjPtJap9ev6l7KiTuawsUJIPPUUo/2TOvAoNd8UicHyAMGIfDZPH
	7
X-Gm-Gg: ASbGnctQ3zpyPIZ8o+ZFZkQU7AE0SlWkl4CkUVi6t8/U0/cYLONGJh2Cw012v15B0Qu
	iJ0E9W+jsPshdjrLXCsnPZ8tySZKyE9DB8ENv8ihUKH5kX3VCtiBbQmcKiojPeKi7sGIm2mhegw
	QBoouR63s2XQDGwVx5u9JWwck4ktQFqqA5nyXIAAsycQtwlDP16NFc6w+38UxNUS7iBmz3LptHE
	BI4PkqMwhLozihY8WYlgtPSezP1FLDPIXTRmhmsgIS2OuzDc5/GNps/z/YZ0RM0o2PpQsKO0AW6
	J0SBF8gEdiGoW+F0UbWE/JC/1DIIfEcJ5Y0BTPI7ukjD0xPgY7rTZzjgVs6vrGF5u5Ab2Rnt9jQ
	hqXwElDnZ2Ns21kKc+xCQXW8w
X-Google-Smtp-Source: AGHT+IFNVqJUl0an24mneSKabNLZUZOneCi0ExboAhwThv+I5u0FYGs0joj0xxhO3mTQISoEAUBlUA==
X-Received: by 2002:a05:600c:4685:b0:439:9a5b:87d4 with SMTP id 5b1f17b1804b1-43ba67047bemr124575005e9.13.1741044704120;
        Mon, 03 Mar 2025 15:31:44 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH v2 0/2] xen/watchdog: Identify which domain watchdog fired
Date: Mon,  3 Mar 2025 23:29:39 +0000
Message-Id: <20250303232941.2641306-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

See patch 2 for rational.

Since v1, use struct domain's alignment as the safety check.

Andrew Cooper (2):
  xen/domain: Annotate struct domain as page aligned
  xen/watchdog: Identify which domain watchdog fired

 xen/common/sched/core.c | 23 ++++++++++++++++++++---
 xen/include/xen/sched.h |  2 +-
 2 files changed, 21 insertions(+), 4 deletions(-)


base-commit: e95dc03717b8ae00de2a0b41b88905af6170b210
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 23:32:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 23:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900666.1308510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpFGI-0001Ht-SA; Mon, 03 Mar 2025 23:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900666.1308510; Mon, 03 Mar 2025 23:31: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 1tpFGI-0001HP-N4; Mon, 03 Mar 2025 23:31:50 +0000
Received: by outflank-mailman (input) for mailman id 900666;
 Mon, 03 Mar 2025 23:31: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpFGH-0001Ed-Sc
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 23:31:49 +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 acbdf578-f887-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 00:31:47 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43bcb1a9890so1533665e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 15:31:47 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43aba58713bsm211574785e9.34.2025.03.03.15.31.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 15:31:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acbdf578-f887-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741044707; x=1741649507; 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=J91JazSYFQXqU+vsohzsb0V+rMFvaz3CX8hcgO5Nczo=;
        b=uk/dGK+p/f/QSjxHjSBhJL0dPNVU2eVLiIBa2mOlrJdw+kfNGTPuSlf1V3MYFxnbEh
         dBIm8E9kuTcPdobqlDlV8AJeN11LXVwHekagPVeVDLz7eNp3341UqDTSPSkplkH8eZqp
         wYy+ea7zbTh68gIWda/hsoeXWt5gVhO9ZOowI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741044707; x=1741649507;
        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=J91JazSYFQXqU+vsohzsb0V+rMFvaz3CX8hcgO5Nczo=;
        b=qUK7/yEerjrq48VlfmAGi6VkGUzMGQEXCMzNHUMrOhyLaMJRd9XxlO/pOs/BOrRDsQ
         lZSiIZd5FWrfbmm/JME0a4sZ5G9A1i5jnKNVxtwT4++bzRX+ayy82hzz3azivoTimpUg
         r/RJWbJ2Z7j7i/hQ8LEeCMR+cFQkf/ZN3xXMvEQ3K/Cx5ToglIMRR1wCgQP4TCiwO4s1
         JsShesidRtGYcx3eUg/xCDL7eMXozbcLzqUkLC0q7IgN98STrbHnHrDJ/WxvMs3GdSW0
         y9EtjAA3dxSOtx3eQPpkVQdYRFXaPAKKOyqoxEulOdQOw3N7zvBPZ1Q13hBxsDdnosk8
         ffmw==
X-Gm-Message-State: AOJu0Yzu/X88XrZSKo71mn2awm0uh3d/lQUVQ+kwvPV2HRnarpzONtpi
	BzVX7MStBETyhrJC79i3KT9IT8J3mppDz4GYScf1gYlHP7DX5aHUkIuYuRfrtJ+XcTnDidm6YGp
	r
X-Gm-Gg: ASbGncvtHnfYoQwSHoZ1anTFEcCVvKpWRwrh2sJlseDJMvaAl/x+Klb8dDyf6xq9qlC
	GpZIz9IUoBQGm6IPImwqgCj0IS5y58ejGzDOrBf97uKmGTRZgFRwq0mQWX1muIUtD3dO8V+nKps
	r6e7CxuoQ90BQGG+0PsxAjn+7/c9HsayyO82uNymyjEq7jJu66hFb+Mo5jaodzEnRA7BicVcT6F
	1Xqof8Sl4T4iEPznOwzmz/kmfgkqF1mU+rEInm4qLG70fC75D7p0MWVh0H6oPTBU/E6Cvd+Mj7r
	LiB/3jlrJR9r8s9Y6rbtRg/RdzaQ7qga50Tn+DflOFjasJ/JfyimEH10/6flKWPZhvPgpPsNNtI
	udRoMstUPH6Ykt26XH40LqJdn
X-Google-Smtp-Source: AGHT+IGwvmHd3HMEXQ3Pb9vNfBtwdCHwx1mWP1HTm0GHhr4X3yEKFfxPJFRjsy+hhuJ3EvD5+T2CeQ==
X-Received: by 2002:a05:600c:4455:b0:439:8e95:796a with SMTP id 5b1f17b1804b1-43bcb03e386mr8515615e9.13.1741044706836;
        Mon, 03 Mar 2025 15:31:46 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH v2 2/2] xen/watchdog: Identify which domain watchdog fired
Date: Mon,  3 Mar 2025 23:29:41 +0000
Message-Id: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When a watchdog fires, the domain is crashed and can't dump any state.

Xen allows a domain to have two separate watchdogs.  Therefore, for a
domain running multiple watchdogs (e.g. one based around network, one
for disk), it is important for diagnostics to know which watchdog
fired.

As the printk() is in a timer callback, this is a bit awkward to
arrange, but there are 12 spare bits in the bottom of the domain
pointer owing to its alignment.

Reuse these bits to encode the watchdog id too, so the one which fired
is identified when the domain is crashed.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Dario Faggioli <dfaggioli@suse.com>
CC: Juergen Gross <jgross@suse.com>
CC: George Dunlap <gwd@xenproject.org>

v2:
 * BUILD_BUG_ON() against the alignment of d.
---
 xen/common/sched/core.c | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index d6296d99fdb9..3db0fe32ccd8 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1534,12 +1534,19 @@ long vcpu_yield(void)
 
 static void cf_check domain_watchdog_timeout(void *data)
 {
-    struct domain *d = data;
+    /*
+     * The data parameter encodes the watchdog id in the low bits of
+     * the domain pointer.
+     */
+    struct domain *d = _p((unsigned long)data & PAGE_MASK);
+    unsigned int id = (unsigned long)data & ~PAGE_MASK;
+
+    BUILD_BUG_ON(!(alignof(d) < PAGE_SIZE));
 
     if ( d->is_shutting_down || d->is_dying )
         return;
 
-    printk("Watchdog timer fired for domain %u\n", d->domain_id);
+    printk("Watchdog timer %u fired for %pd\n", id, d);
     domain_shutdown(d, SHUTDOWN_watchdog);
 }
 
@@ -1593,7 +1600,17 @@ void watchdog_domain_init(struct domain *d)
     d->watchdog_inuse_map = 0;
 
     for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
-        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, 0);
+    {
+        void *data = d;
+
+        BUILD_BUG_ON(NR_DOMAIN_WATCHDOG_TIMERS > alignof(d));
+
+        /*
+         * For the timer callback parameter, encode the watchdog id in
+         * the low bits of the domain pointer.
+         */
+        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, data + i, 0);
+    }
 }
 
 void watchdog_domain_destroy(struct domain *d)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 03 23:32:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Mar 2025 23:32:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900665.1308505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpFGI-0001Ev-Ix; Mon, 03 Mar 2025 23:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900665.1308505; Mon, 03 Mar 2025 23:31: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 1tpFGI-0001Eo-GH; Mon, 03 Mar 2025 23:31:50 +0000
Received: by outflank-mailman (input) for mailman id 900665;
 Mon, 03 Mar 2025 23:31: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=2B8f=VW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpFGH-0001Ed-KY
 for xen-devel@lists.xenproject.org; Mon, 03 Mar 2025 23:31:49 +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 abeb08eb-f887-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 00:31:46 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43996e95114so34251155e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 03 Mar 2025 15:31:46 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43aba58713bsm211574785e9.34.2025.03.03.15.31.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 15:31:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abeb08eb-f887-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741044705; x=1741649505; 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=exnQeKG8hftWWK19Cs5+acw+LLgJuCit5TsCrAyRrzA=;
        b=Y26SqeSCHqc5KAtEn8qfuCjhQ/ET7d0yxUuKMLejb7YxEhwbtYBhkomLDyaEXN9MbY
         N/LJxw0g74cDaTPhe1CXAU/HurMs1vJu5QH9y/MnMQSTW4CEsejDxHb4sqNC69UDSiBq
         l2Wz+WrGGr/HceWuigJ6OO65WXn7bJNXXUb1I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741044705; x=1741649505;
        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=exnQeKG8hftWWK19Cs5+acw+LLgJuCit5TsCrAyRrzA=;
        b=eiNJ5j3EyGACYja5eU6HL498oCyr5e4rcWcgEsO/oRBzeRlfAWOpDkA8OYkzi9lF9D
         fEi3I4+IcD7uvlTZ+b5Mp3YRhDtUYd5AYeElqHEt47tYt6Zbj4uRNdsJs0QrXvllTyde
         dYVFFISp+faRFXYpGtGqkDWWWbnuU/yT2vOrMKJ2poUQ1Kkdb7laBBrX0HhwHH+rJ76G
         5P1U/iidQmNb40gi0xxGcQkYsItEGZaKDLpTecfZx2E3bH1O6yQ1zlVmUAzJMyBgtKDT
         XR8GSyOztnH6dARuzvEUThyY78CNF5QrrZ1Feq3Nk7fINWCvMnBnLzWidgXgWDYFkUsI
         FIFw==
X-Gm-Message-State: AOJu0YzVL8/XFilr45K4S2aCwNMKTrfsfOESjJAnfsqts6zHUCLB9/0x
	fB7mgq44KL+XdomkkOuS1MUdM5nlgrah/mzJcncy/w7gXLAPBabVBBnYO+2x5NlLH6STi1XwGSG
	R
X-Gm-Gg: ASbGnctLYQUkBKb0VkIz2gaWFQ4+beSvaHJA3QuPWHpEsa3DBRWnLz6NiL5LvVqrgC+
	K1F9LF7LbOgSAzY+M7xIISWucJ02Qonzbhvgso9BDlke3EDjGjPr72UFPmMrhKRN1OKfez2G10N
	YKkFM5DwPyOYyYq8zk4Exill5rVK/3WAZpx/EMFk9xCpGzji8jkgGx/zmzDOVtCcwDLK0KFdyzl
	ohoctbgrPVvE5AE0mxfCQYCz7qedGOlsoY/kg6E66nlnWHFCaohox3Tt/Gy0dLtm53FfPXec1QX
	T2ceiSpjHlc64c63r58UQ8FtvlqwMOVDJ/3UDv2dQif3HeP7nWLFlPeINaVVpX7UyhtpuAisEnA
	QlDKoTTF/+rdAFLOlap4Tv2a6
X-Google-Smtp-Source: AGHT+IHfeNgkjSAd8OLUupox2FnLTgk0jxJpVrMCU8hA9vWJAj8KypfsveYeC6u2z6YW5QNv6LEi8Q==
X-Received: by 2002:a05:6000:401f:b0:38f:451b:653c with SMTP id ffacd0b85a97d-390ec7c8f86mr10710123f8f.7.1741044705463;
        Mon, 03 Mar 2025 15:31:45 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH v2 1/2] xen/domain: Annotate struct domain as page aligned
Date: Mon,  3 Mar 2025 23:29:40 +0000
Message-Id: <20250303232941.2641306-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

struct domain is always a page aligned allocation.  Update it's type to
reflect this, so we can safely reuse the lower bits in the pointer for
auxiliary information.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Dario Faggioli <dfaggioli@suse.com>
CC: Juergen Gross <jgross@suse.com>
CC: George Dunlap <gwd@xenproject.org>

v2:
 * New

Interestingly this does cause two changes in the resulting binary, both caused
by GCC electing to use a more complicated addressing mode to save one ADD
instruction.
---
 xen/include/xen/sched.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 037c83fda219..8412b45178ca 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -645,7 +645,7 @@ struct domain
     unsigned int num_llc_colors;
     const unsigned int *llc_colors;
 #endif
-};
+} __aligned(PAGE_SIZE);
 
 static inline struct page_list_head *page_to_list(
     struct domain *d, const struct page_info *pg)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 01:53:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 01:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900725.1308631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpHT6-0007uF-W9; Tue, 04 Mar 2025 01:53:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900725.1308631; Tue, 04 Mar 2025 01:53: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 1tpHT6-0007u7-Ri; Tue, 04 Mar 2025 01:53:12 +0000
Received: by outflank-mailman (input) for mailman id 900725;
 Tue, 04 Mar 2025 01:53: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpHT5-0007u1-5c
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 01:53:11 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69154c7e-f89b-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 02:53:05 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 522795C4CF9;
 Tue,  4 Mar 2025 01:50:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96969C4CEE4;
 Tue,  4 Mar 2025 01:53:01 +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: 69154c7e-f89b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741053182;
	bh=TPNISjWfM+zvJh24Y6bFuVDa/IeBXCH3lhoI9DrOC/I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=oEY6cswVuADv661s+4T/Gp/w/mBShdF71QP+ZNRiX1SamLvni9a/7IGvSrmWuEKo9
	 CcKuWrF2M23xIrp23rfy79FdrWxCAUD7IcVpW3RgNfCxoKkC7MFy4Q9qut3IX+nGy7
	 N4LsSbpwAs9bpU+orY9hpZ0T2hMCMqhxgC2pf9DPWrC1Wjn3UU23PkCSLT+lg9e3Hw
	 PBfXt4gsd+VqzZ3ba9L3fnr8T1b4nTU6+PMPwaoKstlVePZzSmLBn3+ughhQ2QofuC
	 MgcTjVZB4coPexqVi/N0zA8wHRmUcpd4W46BjPFl25SnwIpXAvHslfKVPQuhfCIFMC
	 74Rk5nTr7hirg==
Date: Mon, 3 Mar 2025 17:53:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Jan Beulich <jbeulich@suse.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>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen: Don't cast away const-ness in
 vcpu_show_registers()
In-Reply-To: <f62841d3-b0e4-4007-a056-a807a19fc988@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503031747400.1303386@ubuntu-linux-20-04-desktop>
References: <20250225230213.1248136-1-andrew.cooper3@citrix.com> <7e77dceb-489b-4022-a665-2a008ddfe844@suse.com> <f62841d3-b0e4-4007-a056-a807a19fc988@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-928564290-1741052916=:1303386"
Content-ID: <alpine.DEB.2.22.394.2503031748410.1303386@ubuntu-linux-20-04-desktop>

  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-928564290-1741052916=:1303386
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2503031748411.1303386@ubuntu-linux-20-04-desktop>

On Mon, 3 Mar 2025, Andrew Cooper wrote:
> On 26/02/2025 7:33 am, Jan Beulich wrote:
> > On 26.02.2025 00:02, Andrew Cooper wrote:
> >> The final hunk is `(struct vcpu *)v` in disguise, expressed using a runtime
> >> pointer chase through memory and a technicality of the C type system to work
> >> around the fact that get_hvm_registers() strictly requires a mutable pointer.
> >>
> >> For anyone interested, this is one reason why C cannot optimise any reads
> >> across sequence points, even for a function purporting to take a const object.
> >>
> >> Anyway, have the function correctly state that it needs a mutable vcpu.  All
> >> callers have a mutable vCPU to hand, and it removes the runtime pointer chase
> >> in x86.
> >>
> >> Make one style adjustment in ARM while adjusting the parameter type.
> >>
> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> >> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> >> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> >>
> >> RISC-V and PPC don't have this helper yet, not even in stub form.
> >>
> >> I expect there will be one objection to this patch.  Since the last time we
> >> fought over this, speculative vulnerabilities have demonstrated how dangerous
> >> pointer chases are, and this is a violation of Misra Rule 11.8, even if it's
> >> not reasonable for Eclair to be able to spot and reject it.
> > On these grounds
> > Acked-by: Jan Beulich <jbeulich@suse.com>

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


> Thanks.
> 
> > irrespective of the fact that a function of this name and purpose really, really
> > should be taking a pointer-to-const.
> 
> No - this is a perfect example of why most functions should *not* take
> pointer-to-const for complex objects.
> 
> There is no such thing as an actually-const vcpu or domain; they are all
> mutable.Â  The reason why x86 needs a strictly-mutable pointer is because
> it needs to take a spinlock to negotiate for access to a hardware
> resource to read some of the registers it needs.
> 
> This is where there is a semantic gap between "logically doesn't modify"
> and what the C keyword means.
> 
> Anything except the-most-trivial trivial predates may reasonably need to
> take a spinlock or some other safety primitive, even just to read
> information.
> 
> 
> Because this was gratuitously const in the first place, bad code was put
> in place of making the prototype match reality.
> 
> This demonstrates a bigger failing in how code is reviewed and
> maintained.Â  It is far too frequent that requests to const things don't
> even compile.Â  It is also far too frequent that requests to const things
> haven't read the full patch series to realise why not.Â  Both of these
> are a source of friction during review.
> 
> But more than that, even if something could technically be const right
> now, the request to do so forces churn into a future patch to de-const
> it in order to make a clean change.Â  And for contributors who aren't
> comfortable saying a firm no to a maintainer, this turns into a bad hack
> instead.
> 
> i.e. requests to const accessors for complexity objects are making Xen
> worse, not better, and we should stop doing it.
 
In general, functions like vcpu_show_registers, which have a clear
usage pattern, would seem to be ideal candidates for using const
parameters. However, as Andrew explained, when a function takes a
struct vcpu as a parameter, complexities often arise. This example with
the spinlock is a good way to explain the underlying risks.  

I don't know whether any general conclusions can be drawn from this
example, but in this case Andrew's reasoning is correct.
--8323329-928564290-1741052916=:1303386--


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 01:58:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 01:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900734.1308641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpHXu-0000Qm-Gl; Tue, 04 Mar 2025 01:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900734.1308641; Tue, 04 Mar 2025 01: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 1tpHXu-0000Qf-Dj; Tue, 04 Mar 2025 01:58:10 +0000
Received: by outflank-mailman (input) for mailman id 900734;
 Tue, 04 Mar 2025 01:58: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpHXu-0000QZ-1A
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 01:58:10 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1df6f9cc-f89c-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 02:58:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id ED647A4522F;
 Tue,  4 Mar 2025 01:52:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C8A44C4CEE8;
 Tue,  4 Mar 2025 01:58: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: 1df6f9cc-f89c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741053486;
	bh=7+eaKZP7MifaLKf+jE4z9qzQDfr6TvV7XBH4GX+i5uQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kV9JP0EpM/H8YxIEgmoBnL08nQ1j+J89LXgr6t5eSviqvWO354UDdyFNVVyF/4ops
	 wZKFUB8E1JN6MHvVwvXv+VvRgpsCd8hMZaa0WkWoKFviG1FtpM9w7Cq7G+sofT8qb0
	 QDeb9Boe7cluHYBWAhEUBsu2qH2RbDJHnYgdyITuSu8t0udj+oP6oPaVi1deHLRgyR
	 daBMCylJmVlekwtYOMKjPjv9kWMkJUThTyTpZV6VcT4qWWPZRKLICpXwYN6sNgMTTQ
	 4fjtRuVL/QAbuuKRXYXvLPkZCwrYSzG6JqkBOLwLCyr7/8+J69lw7C9tsXZhmasmBq
	 ygc56wbRIvLbQ==
Date: Mon, 3 Mar 2025 17:58:04 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Lira, Victor M" <VictorM.Lira@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, anthony@xenproject.org
Subject: Re: [RFC] CI: GitLab automatic pipeline deletion
In-Reply-To: <e93f215e-06c0-4a65-8e74-e849659541cc@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503031757510.1303386@ubuntu-linux-20-04-desktop>
References: <e93f215e-06c0-4a65-8e74-e849659541cc@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Good idea, I set it to 1 month

On Mon, 24 Feb 2025, Lira, Victor M wrote:
> Hello all,
> 
> We have discussed before the issue of Xen Project GitLab storage. The recent
> update to GitLab has the option to delete pipelines after a specified time
> from
> 1 day up to 1 year. By default it is disabled, meaning never deleted. I think
> we should consider enabling because it could help reduce the amount of storage
> being used, for example, by the job logs in xen-project/hardware/xen.
> 
> Here is an example of the data which could be freed in pipelines older than
> one
> year:
> https://gitlab.com/xen-project/hardware/xen/-/pipelines/951185943
> 
> https://docs.gitlab.com/ci/pipelines/settings/#automatic-pipeline-cleanup
> 
> Victor
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 02:18:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 02:18:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900768.1308746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpHrM-0004r1-3K; Tue, 04 Mar 2025 02:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900768.1308746; Tue, 04 Mar 2025 02: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 1tpHrM-0004qu-0H; Tue, 04 Mar 2025 02:18:16 +0000
Received: by outflank-mailman (input) for mailman id 900768;
 Tue, 04 Mar 2025 02:18: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=TCLV=VX=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1tpHrJ-0004qh-Qm
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 02:18:13 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20606.outbound.protection.outlook.com
 [2a01:111:f403:2009::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eaa1b2d4-f89e-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 03:18:10 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by SJ2PR12MB8874.namprd12.prod.outlook.com (2603:10b6:a03:540::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.23; Tue, 4 Mar
 2025 02:18:06 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%6]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 02: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: eaa1b2d4-f89e-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nOi7ZWGcvjKK9N6caXlkhQJvu+3VUbI4+33zelT5oMbrUwXrEnlTMO21IlkMQ+c1FPmw0KmF4TOOA4NzfyBwlv2HEcg1UZpKHyTlgSaem6IcqOuP2WPM+HBxIX2OgM41vEjq8YTLhP8I7ja7knys4YgFOi79YGXJA0ARJjSBM+GXZF0C7/yfBerdz4qRPkMIw5e4F1z4PUPsm1HVIv++NBXY9Ps8FsE4dxJBUMmJoQA+VWTp+vvAzm+g33sRD69dy/PUoHpcCSfVru3ynWrkMUxy/wjblvfTdSIF9LXwfT25LcL/W714AZ525ktlpBak70vL+f7wX6Gq1IGOMkybOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=93XWpMAil8kZw/FJjXP+kEHfUlyZc3CtscelPwBcgc0=;
 b=hz9lCo04rmLJCJaJgyGBxo5yTP1o7QHN/2ObIcUD5N9TSgxmUWSg5hPtppVotUD/INNP/0XN8L8/N5O/sN6LjPxkVc4ct9OQDhp+IyMEA1Y6Mc/mm0EqfzejDBbI1wilounSiSCz3eVbbLXtSlQxogFpNrUmEa7R595RFQcuBSumFtew7Z7IhBbabShEKldtzXvKlUtBkq26iEnX4ytGtyFZmeyAHHq54aFGPYnS+pRNLckqz2/p3tj1IV+UfJ21U9BodLj6JW3vXNXAZDlQJOi3V1CTttSiIdWfHiwKMGK3gSZ1o9OQUcetn4mBs/QxmKD47t1C/2aM3wk5tyMEfA==
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=93XWpMAil8kZw/FJjXP+kEHfUlyZc3CtscelPwBcgc0=;
 b=iJxZ97tfB2pXrq9Y65sVWctWwMOYN9YjbVA74wH8AL7XY1rLIzXorpG8bZFITU1qScdsmkHx9QEB9C0nW9a43IW8TcHwbkiVbPSecfegPkHueTW9/eT/O1M4WA6n5kFYsSEka48UG3bcCcw6fY2iIRYljRCyUuKu922c/XOT9I8=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Oleksii
 Kurochko <oleksii.kurochko@gmail.com>, Anthony PERARD
	<anthony.perard@vates.tech>, "Orzel, Michal" <Michal.Orzel@amd.com>, "Huang,
 Ray" <Ray.Huang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [PATCH v9] vpci: Add resizable bar support
Thread-Topic: [PATCH v9] vpci: Add resizable bar support
Thread-Index: AQHbhmvKPUvcbBS+pUu7/6jYBR9mPrNhfwoAgAFQkYA=
Date: Tue, 4 Mar 2025 02:18:06 +0000
Message-ID:
 <BL1PR12MB58491E4C192B282406782B8EE7C82@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20250224032433.1879630-1-Jiqian.Chen@amd.com>
 <Z8W4NFdcK1kuAH5q@macbook.local>
In-Reply-To: <Z8W4NFdcK1kuAH5q@macbook.local>
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.8489.024)
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_|SJ2PR12MB8874:EE_
x-ms-office365-filtering-correlation-id: 10196f6e-d553-4824-2adf-08dd5ac2cd1c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?YkJoQWZkU0VNSGVrQVZWV3RDQThOV2RORVFqSHBPV1BqTVdrRDBpVm9ub3Y4?=
 =?utf-8?B?OVplVU44aUpMelBBdHd2ZVZNWFcrb2NQa2V0Q25LNXUyenRvMTh1WjRiTEcr?=
 =?utf-8?B?ODdoUll6WlRTdkM5ZDBxblBSa3prL3lLb3d1TENhZmtPdSt1cjFpZ1FMT2Zu?=
 =?utf-8?B?cW4wd2lLQXdldlRTOUdBSW9HajZQNEJNSnI4ak9ZWW1MU2c0dW1aTFpXYmdH?=
 =?utf-8?B?SVZTNkpGRy9jckxpZlJ5c1diN1dxKzJtM3Fkd1hibmQzazVZS0tNZXgzcExB?=
 =?utf-8?B?ODh4eGpVdndmNnlYMkZZREs4Q1NiWVV3cFdsYmxhd2VVK2RuL3Z5Tlcvb3ZV?=
 =?utf-8?B?cC9zblJZKzYwM1NsVkRNR2J3Y0IyTkZaeHoyMDdzV3RiNXZmb01LQzR2WFBZ?=
 =?utf-8?B?US9ENExhaVg1VHFnbFozWU5KQ1B0OE95TVI4ZnI3Qmc1cWFYVjFSRXpJbjdT?=
 =?utf-8?B?M29Tb01NcktNY24vRW9MQ0dmWkxKWnZ5WTBlVWdMaGY1UzVaK01NUFZBcU5p?=
 =?utf-8?B?ekNwV0hsNUpnTVljODZwdmcyNnZDQ1BQSEFCbENINDhYeGhheTgrSEJ6RTF5?=
 =?utf-8?B?Yno0cWpoN1B4WjlEd2dCYmd3bE5LWEV4M3o2enFDdE1RQ1k4R1BZaS9hS3hz?=
 =?utf-8?B?VXNPNmZOWmwzREsrL3ptWnRsUVNmSmxaZmk1cDBMMVZxVDVPOERvR0NOc2s4?=
 =?utf-8?B?Ymh6YWxrZ2gwZU1OMzV4RHVOQkJaaWNQQW1EQWcvd3dORkMwTkpzdmltNnJL?=
 =?utf-8?B?VEFuQmZhQndtSTVwV0ptWWRqcFdSOU1LckNJb05ZK2RyWndnVE9XLzM0elVx?=
 =?utf-8?B?cXJoSXVWYWwzU3phSkNWdFFxQ2hOTXd0UGYyUi9rakVXNzFtQ1BFSnNPV1RD?=
 =?utf-8?B?OEZmeml2S1lPWEVDb0dLQ0V1b05KTXhBb2YyQ0lpQTlZUGg3Yy9WVEN1aU95?=
 =?utf-8?B?YzhBL3hjVEp4UDF3YlUzR1hhRUNMcVROckNud2t3emFYdnZXekt5NUhpZU5Y?=
 =?utf-8?B?dEhMOXZjTHB6RUR0MUQ5Q2lZYkUxZFpmYlNzRnJTdHpxVnBnSW9GbGJzVDFF?=
 =?utf-8?B?MWxuLzgyR0xtUDI1dnJMYUtTSnl0d3dJcmNpNUNJdDIwaVoyVytzN1AyWnM4?=
 =?utf-8?B?SWw1T2V5YXlKUFJmeWgrVFNsT21YU0lYWFE3YWYwQnZ5bm1YdU5vanBQNlhr?=
 =?utf-8?B?OEpUOGZzYXJ0ZWs1NGVPdVdUS3R0Vmp3UTBlS3JaZmVlYW5hUGowWnRnc3Vh?=
 =?utf-8?B?RU5UQ00rOWdpL0VQUFZGUVRibWE5SDFGMXNzbGpicjNWUFV4YVJrbW9OVVo4?=
 =?utf-8?B?eGJhbS9rMXpJaThGYWhhd3lwQ0tjcFBubGE3VEs1Zk5qVHgxTkVXU29DWktG?=
 =?utf-8?B?Y2lYWVJ3cFBaQTNncHZjWjh3M2Y4OFdBcUloSXRNdGNyVUwzblExbTJCa2xB?=
 =?utf-8?B?OHh6RGZZb1pJWDJwS0hXRkhlR2Vic2orN1ZhUTRLQXlZc0pVT2t0a2NmSE0z?=
 =?utf-8?B?ZGJNN3pYQXhqZU5uVS9qKzVLWklHZ3J3ZXJlWktpK2Y5ZDZCWDM2K1UvSGpJ?=
 =?utf-8?B?UnZmWGVBaWdqdDNzL3NPSUF1V0RtL3ZEMXI2ZzUyZjdlSmU3QVc4azFTdDcx?=
 =?utf-8?B?OTIzMUlvc25hV2hpRHFPbjNUSXYvM0orZnRYU3ZGb3AySHBhMXNmdWovRXYw?=
 =?utf-8?B?aUNXbzFpSjUwbzVoc3RsYXI1MkJyVUxjY2doZHJSL2tFekdVUmQ2VFgvS1pQ?=
 =?utf-8?B?MlNuRE8rSzdQWnNicVVFZGRsWjRpaU9xVnZIN1BKaVM1RC9wUHFtVU9EYS9w?=
 =?utf-8?B?Zk9IdWRZZS9ucVdJb1U1Zi80UnA5c2lSNU9KUWVMMHE0enRSUTlIVnNLZ1lG?=
 =?utf-8?B?d2trK1FEbkVteStJbkNXVXZiUEw1aStsK0tyNDRma1NmREw2R05qZlM1UTBO?=
 =?utf-8?Q?qzhInWOzIg7qZck/X2nPTvb3y/rM2+7Z?=
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)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?M0ZKTmZCdTdNSDhhV3RzNnppVno4c3BQcFc1c1ZMRjQyQTVXNXg1V3JuNUVn?=
 =?utf-8?B?cUNzUGFiU1pkaUwwMVZMUkFFczA2UVhZQkpmTDhBaVduNEprUUdXU0V5TVdG?=
 =?utf-8?B?UmJYczZDSEpjQktTYU5hMDFsdzlucTN6eWVDb05vM2NtUjhFV21wK256dk91?=
 =?utf-8?B?TjVhbUJyQ0Y5dVk4U2d1ejBYbys0NFdkYXpreXp1SjFwcEFBWDRDbWZLaXNT?=
 =?utf-8?B?SmhoZkJEL3d4SEd3ZnZxQ2RpY3VvMnF1eVV1djdRSmk1bW84T2F3T0tMMW9m?=
 =?utf-8?B?aGMyamp2NVpsOTkzYWQ2ajMxckZxaVpjNnlKK3ZVczdTVjAzL2pxZUdHbks3?=
 =?utf-8?B?cjlJY1NDM0I3b1A0RHdpaXptNVJxTk80VWNqTmtIZlBrYlYyMzRnVlZyZkg4?=
 =?utf-8?B?UnhiTHVhaHk0NzdpTzV4bXU3bFFqNDM5blFLUXVwK0Q0WlNoemt6cEl5WnlK?=
 =?utf-8?B?QU5Ud2FPVmpZTVNHOFlXTnJpTHdMN25GNllLR1pYWWFSNzQxT3o5MDVRVzlM?=
 =?utf-8?B?Q2NhN3lXVWRPVWJNSEVVY2RWMFUyNkNIdjhia1J0K3ovT1RHd1hmcE5PSjNP?=
 =?utf-8?B?cHF6aTVIcnpobU5seU5VVEhOdFIzMEo5QmZWakNSZGJYZ2dWTUdzRk1XeDIr?=
 =?utf-8?B?THBvV1FyZVo2NnJsUFBGekk3Z29VZjArUVY0L2VqSXoxTnh0NEdDR28yNURB?=
 =?utf-8?B?TjVsVWszdzNiRHBRcG02ZlJxVHVIQ1lOYnZaZldkdjJ4cmdPUzhOcStaU0Jl?=
 =?utf-8?B?UnhLNnJtSTFTYkIyWUFZNHpjUzZINkZ3a2hTejVWMDlqdStJMDVMbUlVNy9o?=
 =?utf-8?B?ZE1CMU1JRHd0U1pqYnkxbHhyTEZvdSs3Z2t3Z1QrZGtvd1I0WWR6ZUpBVW44?=
 =?utf-8?B?NjJzaEdseS9WU0ZmQWF6RlpXWlp0Y08rdFpFOGR6NWJkODlsaHVwZzdoZnFF?=
 =?utf-8?B?VkUvUDZvWEo5eGNHS01UQmtUS2k5V01qZ293VThKVVJZY1NCU0tKdzdXYkZp?=
 =?utf-8?B?Y3dtbWowaC9HSlJneUhZZkdWNDRyTzZJK01jUjc3Umc3VjdxRWlrSS85WXlu?=
 =?utf-8?B?ZmNVN0lJNzFJdXQ5Njh0Q2VZR2ljOEtEVS9nNisxbEs0elZib1Zoc3kxTldo?=
 =?utf-8?B?Yjh3a0xlaCtmL3FiYnRsWW9qaCsvYnJvdEdWVWpaQ01LOTZmN3V2ZjFyQURn?=
 =?utf-8?B?eDhybG1xSUFQMnRJL0h1aWN1dktWVjhQYyt2KzhWdVp4NVNuMTF3cG1HMERQ?=
 =?utf-8?B?dkNuM0pncEZ4dGdKeXY5MWpKRFJGdXNVMHBudEpaV3BveFJXbkRoWTZneWFR?=
 =?utf-8?B?OCtFTU53N1VZYlpIZnkyaXd3QTZvZ2llWTVRNXBvK09INjJGVzhnR2tvbHNy?=
 =?utf-8?B?Wk9FKzBPSVhZRzBmanl6MHRkZi9ENTF1VktUb2xEYVZRMWF0TlhyQjlQWWtW?=
 =?utf-8?B?R25kRHBKVzF6RU5KZnZvMTlZRmhoMXphOTdVV2NrdGRweTJML1JNNDVKRk5Y?=
 =?utf-8?B?S2lFOEpxSUdiRUltTkFrNCtISk5nRk9RNmw1elhiSFZHbTJYUmw5UGZoaXBX?=
 =?utf-8?B?YTc1b0g0aGxLaUM2d0tWaDVaOTJnR2tVSFdwUUdBQkJMcEpqd1k0czE3aHZp?=
 =?utf-8?B?aWpaT0prcGVQbW9DdTEvVnppd3RaY3BFaXVvYmlzU01pMHBBRVNkdTZDRkR3?=
 =?utf-8?B?VEEyMFVZWndZbUJ6blkwQTBOSDVSMlpoT2Nidnc2cEVjMXpLSWVscW9uQnlY?=
 =?utf-8?B?US85alJCcXp1b2hSVy9TQnd1ck1GYjg2Zy81OXJ4Uy93NFA2SXphTzQvci9T?=
 =?utf-8?B?YzRIUXpId0xidlZKcG0xVUdVbm9tRTJ0UDhrM3FLOVlDb2hxTm9BU3YyRHlm?=
 =?utf-8?B?ZThWdnVzVXBaQ0xSR3o3cXVuODk1d1hpSnZzZHNqUjZGckJSd3hHZWhxSFhJ?=
 =?utf-8?B?aWFBeGJNNDk5Yy8yVUdkam51SWdRNjh1YjlaSDlMejlncUZ2ZG4zQTVGbFkz?=
 =?utf-8?B?K24reWROektXNlEyQ0t5MDUxS3dyUlRTTm1yNERyNXA4L3hpRTFzZ0JhWUcx?=
 =?utf-8?B?N0R1UGxTOWF6c2FVRk1tWUFUY0xQUEhvTEdnY21vZjhkYUZLbTBmUWZDZWJN?=
 =?utf-8?Q?UDDY=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C9D72235AF09614EA7FD14B1FB687627@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: 10196f6e-d553-4824-2adf-08dd5ac2cd1c
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2025 02:18:06.7751
 (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: ESxOC9TZn595zBA9symprqP/gNi7KNHoHnzS0nodki4uG9uxcq2cE3sTDUvPDHVNkY7q/FDBO8zLJuZgiS5cBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8874

T24gMjAyNS8zLzMgMjI6MDksIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIE1vbiwgRmVi
IDI0LCAyMDI1IGF0IDExOjI0OjMzQU0gKzA4MDAsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4gU29t
ZSBkZXZpY2VzLCBsaWtlIEFNREdQVSwgc3VwcG9ydCByZXNpemFibGUgYmFyIGNhcGFiaWxpdHks
DQo+PiBidXQgdnBjaSBvZiBYZW4gZG9lc24ndCBzdXBwb3J0IHRoaXMgZmVhdHVyZSwgc28gdGhl
eSBmYWlsDQo+PiB0byByZXNpemUgYmFycyBhbmQgdGhlbiBjYXVzZSBwcm9iaW5nIGZhaWx1cmUu
DQo+Pg0KPj4gQWNjb3JkaW5nIHRvIFBDSWUgc3BlYywgZWFjaCBiYXIgdGhhdCBzdXBwb3J0cyBy
ZXNpemluZyBoYXMNCj4+IHR3byByZWdpc3RlcnMsIFBDSV9SRUJBUl9DQVAgYW5kIFBDSV9SRUJB
Ul9DVFJMLiBTbywgYWRkDQo+PiBoYW5kbGVycyB0byBzdXBwb3J0IHJlc2l6aW5nIHRoZSBzaXpl
IG9mIEJBUnMuDQo+Pg0KPj4gTm90ZSB0aGF0IFhlbiB3aWxsIG9ubHkgdHJhcCBQQ0lfUkVCQVJf
Q1RSTCwgYXMgUENJX1JFQkFSX0NBUA0KPj4gaXMgcmVhZC1vbmx5IHJlZ2lzdGVyIGFuZCB0aGUg
aGFyZHdhcmUgZG9tYWluIGFscmVhZHkgZ2V0cw0KPj4gYWNjZXNzIHRvIGl0IHdpdGhvdXQgbmVl
ZGluZyBhbnkgc2V0dXAuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4gPEppcWlh
bi5DaGVuQGFtZC5jb20+DQo+IA0KPiBSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9n
ZXIucGF1QGNpcnRyaXguY29tPg0KPiANCj4gSnVzdCBvbmUgcXVlc3Rpb24gYmVsb3cgYWJvdXQg
YSBjb3NtZXRpYyBhZGp1c3RtZW50Lg0KPiANCj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94
ZW4vcGNpX3JlZ3MuaCBiL3hlbi9pbmNsdWRlL3hlbi9wY2lfcmVncy5oDQo+PiBpbmRleCAyNTBi
YTEwNmRiZDMuLjJmMWQwZDYzZTk2MiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9w
Y2lfcmVncy5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS94ZW4vcGNpX3JlZ3MuaA0KPj4gQEAgLTQ1
OSw2ICs0NTksNyBAQA0KPj4gICNkZWZpbmUgUENJX0VYVF9DQVBfSURfQVJJCTE0DQo+PiAgI2Rl
ZmluZSBQQ0lfRVhUX0NBUF9JRF9BVFMJMTUNCj4+ICAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1NS
SU9WCTE2DQo+PiArI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9SRUJBUgkyMQkvKiBSZXNpemFibGUg
QkFSICovDQo+PiAgDQo+PiAgLyogQWR2YW5jZWQgRXJyb3IgUmVwb3J0aW5nICovDQo+PiAgI2Rl
ZmluZSBQQ0lfRVJSX1VOQ09SX1NUQVRVUwk0CS8qIFVuY29ycmVjdGFibGUgRXJyb3IgU3RhdHVz
ICovDQo+PiBAQCAtNTQxLDYgKzU0MiwyMCBAQA0KPj4gICNkZWZpbmUgIFBDSV9WTkRSX0hFQURF
Ul9SRVYoeCkJKCgoeCkgPj4gMTYpICYgMHhmKQ0KPj4gICNkZWZpbmUgIFBDSV9WTkRSX0hFQURF
Ul9MRU4oeCkJKCgoeCkgPj4gMjApICYgMHhmZmYpDQo+PiAgDQo+PiArLyogUmVzaXphYmxlIEJB
UnMgKi8NCj4+ICsjZGVmaW5lIFBDSV9SRUJBUl9DQVAobikJKDQgKyA4ICogKG4pKQkvKiBjYXBh
YmlsaXR5IHJlZ2lzdGVyICovDQo+PiArI2RlZmluZSAgUENJX1JFQkFSX0NBUF9TSVpFU19NQVNL
CTB4RkZGRkZGRjBVCS8qIHN1cHBvcnRlZCBCQVIgc2l6ZXMgaW4gQ0FQICovDQo+PiArI2RlZmlu
ZSBQQ0lfUkVCQVJfQ1RSTChuKQkoOCArIDggKiAobikpCS8qIGNvbnRyb2wgcmVnaXN0ZXIgKi8N
Cj4+ICsjZGVmaW5lICBQQ0lfUkVCQVJfQ1RSTF9CQVJfSURYCQkweDAwMDAwMDA3CS8qIEJBUiBp
bmRleCAqLw0KPj4gKyNkZWZpbmUgIFBDSV9SRUJBUl9DVFJMX05CQVJfTUFTSwkweDAwMDAwMEUw
CS8qICMgb2YgcmVzaXphYmxlIEJBUnMgKi8NCj4+ICsjZGVmaW5lICBQQ0lfUkVCQVJfQ1RSTF9C
QVJfU0laRQkweDAwMDAzRjAwCS8qIEJBUiBzaXplICovDQo+PiArI2RlZmluZSAgUENJX1JFQkFS
X0NUUkxfU0laRVNfTUFTSwkweEZGRkYwMDAwVQkvKiBzdXBwb3J0ZWQgQkFSIHNpemVzIGluIENU
UkwgKi8NCj4+ICsNCj4+ICsjZGVmaW5lIFBDSV9SRUJBUl9DVFJMX1NJWkVfQklBUwkyMA0KPj4g
KyNkZWZpbmUgUENJX1JFQkFSX0NUUkxfU0laRSh2KSBcDQo+PiArICAgICgxVUxMIDw8IChNQVNL
X0VYVFIodiwgUENJX1JFQkFSX0NUUkxfQkFSX1NJWkUpIFwNCj4+ICsgICAgICAgICAgICAgICAg
ICAgICAgKyBQQ0lfUkVCQVJfQ1RSTF9TSVpFX0JJQVMpKQ0KPiANCj4gSSB0aGluayB0aGlzIGNv
dWxkIGZpdCBvbiBhIHNpbmdsZSBsaW5lIGlmIHRoZSBpbmRlbnQgd2FzIGp1c3QgNA0KPiBzcGFj
ZXMuICBXb3VsZCB5b3UgbWluZCBtZSBhZGp1c3RpbmcgaXQgYXQgY29tbWl0IGlmIGl0IGZpdHM/
DQpDZXJ0YWlubHkgbm90LCBwbGVhc2UgYWRqdXN0IGl0IGlmIGl0IGZpdHMsIHRoYW5rIHlvdSB2
ZXJ5IG11Y2ghDQoNCj4gDQo+IFRoYW5rcywgUm9nZXIuDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0K
SmlxaWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 04:17:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 04:17:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900783.1308767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpJiw-00078Q-Ls; Tue, 04 Mar 2025 04:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900783.1308767; Tue, 04 Mar 2025 04:17: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 1tpJiw-00078H-IQ; Tue, 04 Mar 2025 04:17:42 +0000
Received: by outflank-mailman (input) for mailman id 900783;
 Tue, 04 Mar 2025 04:17: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=Wix9=VX=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1tpJiv-0006sI-OF
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 04:17:41 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazolkn190120000.outbound.protection.outlook.com
 [2a01:111:f403:d102::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ba799a2-f8af-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 05:17:40 +0100 (CET)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by PH8PR02MB10184.namprd02.prod.outlook.com (2603:10b6:510:224::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.26; Tue, 4 Mar
 2025 04:17:34 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 04:17: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: 9ba799a2-f8af-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Q+9vSrW6m/jq6Mgmmw3La5w8YI6ug2CcmD7Kxjtj3SSsSb3ZG0HsgXOGVZgx7dEEOyy8QTSXmtogWtlJ5irNj5PkDQ/FRi+J9fyWyTW7hQOvfhVSFMSG3fs1fEq4cBusO1zimfQSUa41E5pA1OPrGdJkHnz6ebvm96Y9T1Pmucx1C6Xr70yxVHo1+AJG2O7VrkLHzA6f1/hUS8xRi0Zpm3vWN1d7kOwNboQPoJhHdPrTV3uEBwig9fGS+mZ5xO0Ukf6PvIuLBfeLEquypR/NOTC3SqH6mYfzz1t60JrfrzAUx9coOH23A+838xIIWXP1YLI40Sk+8X04Zf8vf44xAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LrGoVYrdi7142gbmYXSYWHcV3PqtPgswisv++7BxFlY=;
 b=pdfBLNvhjwTIsSpic8OLtc/SThk5zqywdXoKsR47bSs0JMUuyWsrrF1on8Mh1McNpX7mcP6l3UUm5VtX6C60qJ8vBiJ1SSAsleLOq3ZRjE/9jmEE9P1JWjbzrs6P0qdseHXvdh8YcPG2/9IeatUrqVa8JU9JHVdGZByDNGn//vboGKLjnbnytReIPgoaZfxc+Q33qnElUPoDXCJbxm7TIBgSHcnYbgTZ+3nUQEK/RHwSRjAs3VvIeXhUnV4HC8+HrrQVc0bBZdjIxXRbJUHAl/Xo/TeJC1Uxs6j627Z1q3NQk2inWouVCtg4w9l/BUpv8ussNg8E3o7KKCFcxvy6eQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LrGoVYrdi7142gbmYXSYWHcV3PqtPgswisv++7BxFlY=;
 b=SM9T+uMzY6H9naSANfqbM2Dv166hl6Fi06Rg3no06ZT94bxDMD3P13ogcenMDLqAORbzreyTf2Iud+9dVwC+mr3priV9NOpHm0XsgCDu6xa2ypKnOqPIGYF7nIHu3+bMg59S6a15JHnQN4hX2vzUjQtew5TPnf5MPUUNYFmcUP+1TntwOofobSXQsNlql3M47hfml9q9k9A19NuPY6EFQXD7fglkNUw5VM6xdrF/6cbYYJxjwwZ2zXfkGYFNJ/pqYBWdNYU25F+Xehu4S5QIXL+ALYJ6djKfY+8E/XUX8bzsruZ0ozorafDIdYqRnpEaZ5yvrpFibt8+eMy9jQpwtw==
From: Michael Kelley <mhklinux@outlook.com>
To: Sean Christopherson <seanjc@google.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"
	<x86@kernel.org>, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>, 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>, Ajay Kaher
	<ajay.kaher@broadcom.com>, Jan Kiszka <jan.kiszka@siemens.com>, Andy
 Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Daniel
 Lezcano <daniel.lezcano@linaro.org>, John Stultz <jstultz@google.com>
CC: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "virtualization@lists.linux.dev"
	<virtualization@lists.linux.dev>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Tom Lendacky <thomas.lendacky@amd.com>,
	Nikunj A Dadhania <nikunj@amd.com>
Subject: RE: [PATCH v2 08/38] clocksource: hyper-v: Register sched_clock
 save/restore iff it's necessary
Thread-Topic: [PATCH v2 08/38] clocksource: hyper-v: Register sched_clock
 save/restore iff it's necessary
Thread-Index: AQHbiL6AMb8zjFoj30eFPeRrju6/drNiX0lQ
Date: Tue, 4 Mar 2025 04:17:34 +0000
Message-ID:
 <SN6PR02MB41576973AC66F8515F6C81F0D4C82@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20250227021855.3257188-1-seanjc@google.com>
 <20250227021855.3257188-9-seanjc@google.com>
In-Reply-To: <20250227021855.3257188-9-seanjc@google.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|PH8PR02MB10184:EE_
x-ms-office365-filtering-correlation-id: 8a00d464-a659-48c9-d777-08dd5ad37d61
x-microsoft-antispam:
 BCL:0;ARA:14566002|19110799003|8060799006|15080799006|12121999004|461199028|8062599003|41001999003|12091999003|11031999003|102099032|3412199025|440099028;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?UXxQzQu1Ppaciv70DUxod7xJrhQOk30qWkRXdHaoVHxXGEFxEW3Itor4+Gu5?=
 =?us-ascii?Q?+40GKv2UYBO27oPufjRVWc4llVEumKqRxov/VD7e2k3x9pTL16/anoEDhC4y?=
 =?us-ascii?Q?ybuP0TbORr+p31KG/rQbxHGjF1CcWJdsJzT3Z9MCf3t4oKaInyfCCGf3Ol7D?=
 =?us-ascii?Q?UG6ZfdkLrwhoZDPbMDciOPGf9wUgS7K7O8e8Ayxr+SlBnaUAuMxbvJI6vQf9?=
 =?us-ascii?Q?l5aCiVBu2ZcUOSKyWsaCRWllGzOVSROvAquwXIsIfWGzFBnJiI4lC3W+nR8t?=
 =?us-ascii?Q?jR+utHZQmomJD0jAwQ0H9R6kE7iciNtDoHURt0+XvGaMk3Rz6/iD36mKqcve?=
 =?us-ascii?Q?/tL0iU+h+jWXtaKBdyQFXc3JgjOv38hQMhpeqHggQK1LcqH9H4sYMWZjTF/Q?=
 =?us-ascii?Q?EU4zLx0zzj/5paCAliKrVEtQ1VZAzAW+sVDVCRrFJDXhrxUOH+LZGnbZKqhI?=
 =?us-ascii?Q?lhbOOw/47ZrrXpOOKqu0+F0xntbnZJWvNCLfzZu9NvZVJmS10XffsQ6ksUdN?=
 =?us-ascii?Q?5UuK8gYDWsg2aLa2RowWwMKW7gYRjLoVQcCAwZfxUNxi0GUa0DAzsAiKKM4H?=
 =?us-ascii?Q?z/TGTgmR2TRD80YFcX1AkDCLHAKWPnMfAcB9p/GyFf8gG0IeyP5w70+t6dDH?=
 =?us-ascii?Q?cM1gMNhMxLmQUki+X4FbTPf83JjB9LizUMjO8unYSZd56jjq+1+PgbScrwl9?=
 =?us-ascii?Q?lo6ZQLReuFNm7Hpzbi/pGCM5RGG/qcX4QcddrHpzQ3sOhRjWnC/slCU6pycz?=
 =?us-ascii?Q?rvKBrMGHH0D8FaDidZGIrZ969o4qVOWjys74zRQ5a54CS1L9N/aQt2Bkk33c?=
 =?us-ascii?Q?QQey75d/rjgP0TXhqyPGOgxAhwXL3Qwso1hDHtH1c9Si/brF9CX/TsRop4TY?=
 =?us-ascii?Q?xH1Qch6rOQjfHCF6a+4hOkNTTH7qez0bkmtMFN+VY/LkG/34PiNc/1aRXY0q?=
 =?us-ascii?Q?4U1nksEOKg96/otMkO0pkvWqmCoPG7rbhkwg749cPfZU6NU9Fh4rZc0CbVXw?=
 =?us-ascii?Q?T8RF8/2YlNSlmJsQU2wxmcfngf9gv65Hq/fsqP2utIfoNq5ssiBIXZLdeDrk?=
 =?us-ascii?Q?my3of+8XwfSxjNQpEVca3plq5m8+Pugk6Ep82JqN0KgD2+AEu6JeJuY4o4N+?=
 =?us-ascii?Q?mZ8o0XLfdg9uQ0bgLDx+y73rdqC01o36ZQtJdZ/Q11Y/7q7PUvlZoVU=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?+PVSgNAnAPstqaZlNv4HpYFOJVXTxr9Uhfv/qOvrtlxf/8mPwrNxQXQQE+Ld?=
 =?us-ascii?Q?+gjDdR9tpAkGPLp42rzeTkb3aXs95HdxS2vln4OVDUhkaR3OpOZ4YMSQT2Fl?=
 =?us-ascii?Q?NV8p+2Ejhzll5aH/BsgBq3ow8G5wGtNDNNzdrbxfJ/SP7g/44xwi4ukvMVdF?=
 =?us-ascii?Q?ciXMFqzfLH+Giwya+PjMit1zQEMnE60ZtIhphb3EAElbO+fK9NVzaXqQtbZC?=
 =?us-ascii?Q?+T1LssVVd5aZydawILWdLLPnbPQ/kVarLbxRBZcdZj/ioiA6m6taxR5iPs9z?=
 =?us-ascii?Q?ybJw+kg7tf9ZeVaiB0/dSoV851cMFlVc/LXg3gqGpUOas3LkH+gi+tHwXRBU?=
 =?us-ascii?Q?SJ6bxN2gnTBRiahOHa/JPTfAK5kxxhuBlHBnkW4r0JHcYy6Fe/1XV9fnDW33?=
 =?us-ascii?Q?JIj9zoHgtCjgZ7VYkUBmnIKYh18QKMkBrEiBi/lW5vti9PdO9QJr0mtQSqcB?=
 =?us-ascii?Q?aBmVmCsZGXsiOmutv8qotzGL/nuHkHma97ZqRR0W0SetTxAC0tVavvlnwvbU?=
 =?us-ascii?Q?OZg1o/QFsqdLK9eyHQrgfUAmOHOyFDe1UC8gw4WUbjeVg6KoHtgIheFqQ9cY?=
 =?us-ascii?Q?1T0lTm5lqKTaWfX9Fjitul+uRyiWRalYjNFqmKMpqHDOBGMWwE22meGRhZtw?=
 =?us-ascii?Q?uwTtYalHdhnq6BphNMtrlYSHCpmQSvd7x2pX2n9CAippKRn3sifP8Sp+04Tv?=
 =?us-ascii?Q?6ysrvDucXr+79QJnzi7fcjTOpK68SU6VLBJcz84pmclJi6uSMOp51E8Lq1F2?=
 =?us-ascii?Q?O4F5hqUU6xjogo+l0gISD0jgx0lGdc8o+tNf7NwAQIZ9G0t1O1owqdg+CHYx?=
 =?us-ascii?Q?PjLQbcc5PzcyAXjVZQvTWb6v0lJm1ZdeNGq8YjUID0ykB1A1f+Uzb735IhAm?=
 =?us-ascii?Q?HTV1T8HfaaqTj7ztry9QOQguI10tEroPkN6ol5sKVpt9RkJKHV5/D6PZtrj9?=
 =?us-ascii?Q?Ojpw4jBG1SObKHN901ssOpBHZBI0d/N260+6rKyeKOGUwMftbgPTvSNB2TD1?=
 =?us-ascii?Q?sOsiAio5yD70fQPW5cn+SXbkX2qe3pHE3sGMyM3p4MfaySmO8/zUi2HJKqFK?=
 =?us-ascii?Q?PCVs1kZFbD+ezLLDxAVYrJTbWt/G9UDa/ihWPCHPH0UmkGOYAohejEVTnX0G?=
 =?us-ascii?Q?wHXptv29y5qqtqkv0o2BYBSARsrhHFXF5V2SNjcLePBOmy68QukAon4fpnwh?=
 =?us-ascii?Q?dMf5mDo0sKX02CCaHdIFyXPCBsB+wjFNrFy1NbtJDKDQzQA3Q6cIAUf+drw?=
 =?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a00d464-a659-48c9-d777-08dd5ad37d61
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2025 04:17:34.4122
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR02MB10184

From: Sean Christopherson <seanjc@google.com> Sent: Wednesday, February 26,=
 2025 6:18 PM
>=20
> Register the Hyper-V timer callbacks or saving/restoring its PV sched_clo=
ck

s/or/for/

> if and only if the timer is actually being used for sched_clock.
> Currently, Hyper-V overrides the save/restore hooks if the reference TSC
> available, whereas the Hyper-V timer code only overrides sched_clock if
> the reference TSC is available *and* it's not invariant.  The flaw is
> effectively papered over by invoking the "old" save/restore callbacks as
> part of save/restore, but that's unnecessary and fragile.

The Hyper-V specific terminology here isn't quite right.  There is a
PV "Hyper-V timer", but it is loaded by the guest OS with a specific value
and generates an interrupt when that value is reached.  In Linux, it is use=
d
for clockevents, but it's not a clocksource and is not used for sched_clock=
.
The correct Hyper-V term is "Hyper-V reference counter" (or "refcounter"
for short).  The refcounter behaves like the TSC -- it's a monotonically
increasing value that is read-only, and can serve as the sched_clock.

And yes, both the Hyper-V timer and Hyper-V refcounter code is in a
source file with a name containing "timer" but not "refcounter". But
that seems to be the pattern for many of the drivers in
drivers/clocksource. :-)

>=20
> To avoid introducing more complexity, and to allow for additional cleanup=
s
> of the PV sched_clock code, move the save/restore hooks and logic into
> hyperv_timer.c and simply wire up the hooks when overriding sched_clock
> itself.
>=20
> Note, while the Hyper-V timer code is intended to be architecture neutral=
,
> CONFIG_PARAVIRT is firmly x86-only, i.e. adding a small amount of x86
> specific code (which will be reduced in future cleanups) doesn't
> meaningfully pollute generic code.

I'm good with this approach.

>=20
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Modulo the terminology used in the commit message,

Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Tested-by: Michael Kelley <mhklinux@outlook.com>

> ---
>  arch/x86/kernel/cpu/mshyperv.c     | 58 ------------------------------
>  drivers/clocksource/hyperv_timer.c | 50 ++++++++++++++++++++++++++
>  2 files changed, 50 insertions(+), 58 deletions(-)
>=20
> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyper=
v.c
> index aa60491bf738..174f6a71c899 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -223,63 +223,6 @@ static void hv_machine_crash_shutdown(struct pt_regs=
 *regs)
>  	hyperv_cleanup();
>  }
>  #endif /* CONFIG_CRASH_DUMP */
> -
> -static u64 hv_ref_counter_at_suspend;
> -static void (*old_save_sched_clock_state)(void);
> -static void (*old_restore_sched_clock_state)(void);
> -
> -/*
> - * Hyper-V clock counter resets during hibernation. Save and restore clo=
ck
> - * offset during suspend/resume, while also considering the time passed
> - * before suspend. This is to make sure that sched_clock using hv tsc pa=
ge
> - * based clocksource, proceeds from where it left off during suspend and
> - * it shows correct time for the timestamps of kernel messages after res=
ume.
> - */
> -static void save_hv_clock_tsc_state(void)
> -{
> -	hv_ref_counter_at_suspend =3D hv_read_reference_counter();
> -}
> -
> -static void restore_hv_clock_tsc_state(void)
> -{
> -	/*
> -	 * Adjust the offsets used by hv tsc clocksource to
> -	 * account for the time spent before hibernation.
> -	 * adjusted value =3D reference counter (time) at suspend
> -	 *                - reference counter (time) now.
> -	 */
> -	hv_adj_sched_clock_offset(hv_ref_counter_at_suspend -
> hv_read_reference_counter());
> -}
> -
> -/*
> - * Functions to override save_sched_clock_state and restore_sched_clock_=
state
> - * functions of x86_platform. The Hyper-V clock counter is reset during
> - * suspend-resume and the offset used to measure time needs to be
> - * corrected, post resume.
> - */
> -static void hv_save_sched_clock_state(void)
> -{
> -	old_save_sched_clock_state();
> -	save_hv_clock_tsc_state();
> -}
> -
> -static void hv_restore_sched_clock_state(void)
> -{
> -	restore_hv_clock_tsc_state();
> -	old_restore_sched_clock_state();
> -}
> -
> -static void __init x86_setup_ops_for_tsc_pg_clock(void)
> -{
> -	if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE))
> -		return;
> -
> -	old_save_sched_clock_state =3D x86_platform.save_sched_clock_state;
> -	x86_platform.save_sched_clock_state =3D hv_save_sched_clock_state;
> -
> -	old_restore_sched_clock_state =3D x86_platform.restore_sched_clock_stat=
e;
> -	x86_platform.restore_sched_clock_state =3D hv_restore_sched_clock_state=
;
> -}
>  #endif /* CONFIG_HYPERV */
>=20
>  static uint32_t  __init ms_hyperv_platform(void)
> @@ -635,7 +578,6 @@ static void __init ms_hyperv_init_platform(void)
>=20
>  	/* Register Hyper-V specific clocksource */
>  	hv_init_clocksource();
> -	x86_setup_ops_for_tsc_pg_clock();
>  	hv_vtl_init_platform();
>  #endif
>  	/*
> diff --git a/drivers/clocksource/hyperv_timer.c b/drivers/clocksource/hyp=
erv_timer.c
> index f00019b078a7..86a55167bf5d 100644
> --- a/drivers/clocksource/hyperv_timer.c
> +++ b/drivers/clocksource/hyperv_timer.c
> @@ -534,10 +534,60 @@ static __always_inline void hv_setup_sched_clock(vo=
id
> *sched_clock)
>  	sched_clock_register(sched_clock, 64, NSEC_PER_SEC);
>  }
>  #elif defined CONFIG_PARAVIRT
> +static u64 hv_ref_counter_at_suspend;
> +static void (*old_save_sched_clock_state)(void);
> +static void (*old_restore_sched_clock_state)(void);
> +
> +/*
> + * Hyper-V clock counter resets during hibernation. Save and restore clo=
ck
> + * offset during suspend/resume, while also considering the time passed
> + * before suspend. This is to make sure that sched_clock using hv tsc pa=
ge
> + * based clocksource, proceeds from where it left off during suspend and
> + * it shows correct time for the timestamps of kernel messages after res=
ume.
> + */
> +static void save_hv_clock_tsc_state(void)
> +{
> +	hv_ref_counter_at_suspend =3D hv_read_reference_counter();
> +}
> +
> +static void restore_hv_clock_tsc_state(void)
> +{
> +	/*
> +	 * Adjust the offsets used by hv tsc clocksource to
> +	 * account for the time spent before hibernation.
> +	 * adjusted value =3D reference counter (time) at suspend
> +	 *                - reference counter (time) now.
> +	 */
> +	hv_adj_sched_clock_offset(hv_ref_counter_at_suspend -
> hv_read_reference_counter());
> +}
> +/*
> + * Functions to override save_sched_clock_state and restore_sched_clock_=
state
> + * functions of x86_platform. The Hyper-V clock counter is reset during
> + * suspend-resume and the offset used to measure time needs to be
> + * corrected, post resume.
> + */
> +static void hv_save_sched_clock_state(void)
> +{
> +	old_save_sched_clock_state();
> +	save_hv_clock_tsc_state();
> +}
> +
> +static void hv_restore_sched_clock_state(void)
> +{
> +	restore_hv_clock_tsc_state();
> +	old_restore_sched_clock_state();
> +}
> +
>  static __always_inline void hv_setup_sched_clock(void *sched_clock)
>  {
>  	/* We're on x86/x64 *and* using PV ops */
>  	paravirt_set_sched_clock(sched_clock);
> +
> +	old_save_sched_clock_state =3D x86_platform.save_sched_clock_state;
> +	x86_platform.save_sched_clock_state =3D hv_save_sched_clock_state;
> +
> +	old_restore_sched_clock_state =3D x86_platform.restore_sched_clock_stat=
e;
> +	x86_platform.restore_sched_clock_state =3D hv_restore_sched_clock_state=
;
>  }
>  #else /* !CONFIG_GENERIC_SCHED_CLOCK && !CONFIG_PARAVIRT */
>  static __always_inline void hv_setup_sched_clock(void *sched_clock) {}
> --
> 2.48.1.711.g2feabab25a-goog
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 04:17:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 04:17:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900782.1308757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpJin-0006sY-9v; Tue, 04 Mar 2025 04:17:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900782.1308757; Tue, 04 Mar 2025 04: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 1tpJin-0006sR-6X; Tue, 04 Mar 2025 04:17:33 +0000
Received: by outflank-mailman (input) for mailman id 900782;
 Tue, 04 Mar 2025 04: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=Wix9=VX=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1tpJil-0006sI-SQ
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 04:17:32 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azolkn19010010.outbound.protection.outlook.com [52.103.10.10])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94f80245-f8af-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 05:17:28 +0100 (CET)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by PH8PR02MB10184.namprd02.prod.outlook.com (2603:10b6:510:224::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.26; Tue, 4 Mar
 2025 04:17:22 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 04:17: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: 94f80245-f8af-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vYaxWVCncCXTII5UOkm0kIDzJXsgk6sYqPh57IoGMMxQgfv9xw6bKUXHw6MEkeytD1fgWTyE9G1sjfTpNBjfBD0JIjuy5xx1iRwN02efwPige9gEHCaipqG92plwS5AFz99GKD1/iVmmJwEACqd404Phck5OuLCrUFAMMVDs4UXfqAi2e4tN7K4Yxo1w2HrtvScrNYAEdCWyd8Kz2IpmF4uVtrEbGAIKsqzbK8AXE+KIL4bQnEfNTOXLVArpfwaZhFjAJinr8jXztvGaz3gCyY6zSJy7bopSnnHUGQFkyckZYDqB3BzG8fSdMIMXwKLiIhTYFbdhHpLioYEBmYjjrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kqRClfs4rHwkXJCbcoLWbHt7kxv4Q2TM/yrd6z2vGVc=;
 b=W20FfDnYowjNaaBZtFAh9WRnMkvU1ONpc/3K6uf+kEzXDNlEtSHqFPX3Ls72geZjSL+CX51j+znlo037dDVZc3dqsDk+dQAGbuyTL/LJmYi/kjpz9keW9oDVEyNDhtIYQd8t0HacGdWzdTn5HF7FPGzugfjLU7G70KCpOgN25nQTC7BVlR2maarkV6OB1ty+rl8cyKhOx90mUis6FD13NRL4QadFmZnCD3H7vW238GYn2WqmEJqLHAtsKmvO7TeyiakiouFzr827DTlv29P0n4lGuJcgjlVm2woAwboAUPProG+QnVxuMOBqOEAPbKo2L0Kh381G9jlLkW6FRu7Diw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kqRClfs4rHwkXJCbcoLWbHt7kxv4Q2TM/yrd6z2vGVc=;
 b=U/mE/iZQqz0TH3t4WsPwoxDDmJvB8CdO2SBWYPEU5xaPdLh6Rh+Ac6A7iEeUkW9N3tMrlLH4ikQVccxM91MDRAcf3irqrvAwAwqWasibtZwgxEUbZ8yrlDX92sq37KSkwERQMDlhjpi0jS227mz9YjLGIa82GMirH6sjtYK4zU0Fgsf8TgwCj/ni8JNvGZAi9JmNQzyMTo4UXOY+tmAGyPgH5+3zLO9KaWKdC957LY7H5PBfWFvSTkGCZoI1q55enphNVQKizOtzrm9glTjb4Hna+/iGOrMnFcHn11bEAYqfoXAJgEr9ScGrRuh2YxEr6ULyK10ZngUuNJ02cNkdSQ==
From: Michael Kelley <mhklinux@outlook.com>
To: Sean Christopherson <seanjc@google.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"
	<x86@kernel.org>, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>, 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>, Ajay Kaher
	<ajay.kaher@broadcom.com>, Jan Kiszka <jan.kiszka@siemens.com>, Andy
 Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Daniel
 Lezcano <daniel.lezcano@linaro.org>, John Stultz <jstultz@google.com>
CC: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "virtualization@lists.linux.dev"
	<virtualization@lists.linux.dev>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Tom Lendacky <thomas.lendacky@amd.com>,
	Nikunj A Dadhania <nikunj@amd.com>
Subject: RE: [PATCH v2 03/38] x86/tsc: Add helper to register CPU and TSC freq
 calibration routines
Thread-Topic: [PATCH v2 03/38] x86/tsc: Add helper to register CPU and TSC
 freq calibration routines
Thread-Index: AQHbiL80axP959hlHU2Wqtf1uuWY5rNiXsPw
Date: Tue, 4 Mar 2025 04:17:22 +0000
Message-ID:
 <SN6PR02MB41579F676A4F30B1421A0376D4C82@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20250227021855.3257188-1-seanjc@google.com>
 <20250227021855.3257188-4-seanjc@google.com>
In-Reply-To: <20250227021855.3257188-4-seanjc@google.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|PH8PR02MB10184:EE_
x-ms-office365-filtering-correlation-id: 256c2bec-8b45-41fe-fc3a-08dd5ad37673
x-microsoft-antispam:
 BCL:0;ARA:14566002|19110799003|8060799006|15080799006|461199028|8062599003|41001999003|102099032|3412199025|440099028;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?S0zfeu77VqqkIQL1LKS9qo9rbeB+e8P5djta9XwmrTXXp4h9igAMJmQ3A4sD?=
 =?us-ascii?Q?IRoMRLA5fMpPripeXv2vzoALKYDkmdJwKXDI7xClhvDOk9LEMVyvy40SFeC9?=
 =?us-ascii?Q?P9UMVnLW3j0psfUuGTzpCJzBUU8f5jR9CBlIwSlP8qw9KJslsUjLBLunjPag?=
 =?us-ascii?Q?3jsSFIYr8sRVi5e1sqozYk31m7I8DG+DpkHW5Jb8zh0kjYbQejfhlB2auS9H?=
 =?us-ascii?Q?9b00UyCkJxsoHCoCsFwiul5Rw3VvJb0i+AXTmAf0pvtnoNNgLZ6HUPpTgrGf?=
 =?us-ascii?Q?I2YDrl0ZNUdjwD9womHeT+6O+5VhLL66l4MtgRaiWs+1opg5YDVEIr8PNQ5O?=
 =?us-ascii?Q?uPrKflaxPlHKQDyAEVuX7/dIo9iQi/Q48zZHskeYdRL49rhSyi0yLuCnknG+?=
 =?us-ascii?Q?22Fr53r7vts74hdPIofrWfJNXanrkLAbrdiFo8XcKM/UakrA+ZPNXylOO3RE?=
 =?us-ascii?Q?uQEAJmaZBBw0bzw/XCVJ686n1gUGpKjwxpqKee/ppxbGtalbp1ggPJFDL1pu?=
 =?us-ascii?Q?TATNvIn4sV5+ioRPrXCmLd+V8BsdYrx88AS29G267diTYPqcxvPNd53Nv1Ik?=
 =?us-ascii?Q?yeHbxPaSh5s0dCERP//wsoYCeuJUmN653ADDDimllycFhMCer2GdxvNOsOnj?=
 =?us-ascii?Q?9xMfkyqz3p5Y5wwAOHbiZ0In3vsWiH5XbNbQhJTk7UU5fSp0AZQtapdv8FZY?=
 =?us-ascii?Q?BJjECOg8lXSbD3OlcbK8906g7MPjaH2HXWIJU1EiNO8FoxLDwot1WdGS3/me?=
 =?us-ascii?Q?vYjQ/Nv2m2BHZNJxXpT/l8KIdujHwjR67sJDmghqnK4zGvih3Wq9Rzt60NA/?=
 =?us-ascii?Q?A3OHv5fPB18iRhOw86r8RVQpxbgSBZuY+L5TpQZPvn9pa3wV2HtipQUW7yi1?=
 =?us-ascii?Q?5NcBs7Y4itOcNwySHh07nkhBhtBa0cu8QfpIV+I5Z7IpCkPPdXgm4Lnkezud?=
 =?us-ascii?Q?aUN+hz0BUsOFl/yhwa7/dXATJU714MLhBR0g3YL0VroQTJS5H4UyHwYVwOsg?=
 =?us-ascii?Q?Gjbf4FHlRS0ZSIhII66k+t0/PIPIWFRv2SUPsJWhfE6aP97eJqRKoB1kDwCO?=
 =?us-ascii?Q?ZfNLG2X/XpwGFjB0fCfsw296tV1Mew=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?MFm2fnpYv+YbSElqhHP7G7yII5hW41sxxZMPrZ4BZONQZz/xgwUHYuxk0s+5?=
 =?us-ascii?Q?ayKb9HNOoNGe/z0H7VSvdhOPpE+oiTC6I2ZGxvSTqZqBukrjmKLoPGp3t5wN?=
 =?us-ascii?Q?JqJRr791ylftKtAi/nlePVHC/njUyHizICjkGrrN+ojmg5LwLM6pD5A8a4XM?=
 =?us-ascii?Q?fmS+9pH9A01hr6sgIZ4G0i7w56Sfa6zNwL+N8eRQ9uk2rRN50lO+siX9chli?=
 =?us-ascii?Q?glKsKFP2o/rHuwYRoMd+R/k7O8AVlAcEOXlvizgbJD0IrgK1HKWRw4laZiPQ?=
 =?us-ascii?Q?fO9uxJRA/w6ofd3LbqydNpl7oHri8MG9X1GlFGtHXIFgIwttXx7pL8Abdr+t?=
 =?us-ascii?Q?NL9+QoOzg2CvJa+lX5x6J+SHOS+Bb3L//bVDHi9G0XJojqhXMN2QX4lLFRlj?=
 =?us-ascii?Q?QrURPQAu4P17R8rVdwrW+7K6T3xxxhPACR8d7lsr+hrQnJBSIK4A6x/ySz42?=
 =?us-ascii?Q?Qv3graqkcsgFswegQMAc+J80uiKLWl0tzKm6D5hK9uLcgFUVi1gUs7hqwsyV?=
 =?us-ascii?Q?2AOBw755sU+gEIjeTAQeTYg14r2S6fFFYNmN0fZyAX7dZTpzdrCBfuK+Lw5U?=
 =?us-ascii?Q?4vZ6a2ueU8J3EcB2Ketd933FztbLR3r5sN3GskOjELRy+LZf5hvkHcLElGAJ?=
 =?us-ascii?Q?sJTNfD8pdSLacvJ5ng9Pbbr0YjM1yp2m5Y8d46uUtUtXNuHh0DcfCQ5gC+81?=
 =?us-ascii?Q?raiZZ9QzTxqImoiykes3VXqc8UfEpkMsrt3cajus/Ec7HPrqWScfkEgqgzlM?=
 =?us-ascii?Q?0PxXhBPV+t9dWcktP4WZZFwr2+OmchNfI1o+bafpOKvzfXoACI89a5KRinWl?=
 =?us-ascii?Q?s7mYU0J54Qc7RyrsIJUQmL4ITParvZBQC90KIx0eciMzKTDRy0n+T8qVSxDB?=
 =?us-ascii?Q?UxgzLxlCJiUgzIw34dt+Iv6tNA/l1XNxJN66tXKkp+LGLZ4uu8FZ8KfnXJc8?=
 =?us-ascii?Q?F8qAylfq2Sd/PfS0kn2STIlsnrpaCV/z2o9RfGZWgjndd9efWAWozYGg3RIT?=
 =?us-ascii?Q?4yiGtfKfruNrWiyvRVwHmT4vIPsA30OZrnvjGZLAlcDIVlT7uiJI2vDJIwmw?=
 =?us-ascii?Q?RNsOyyg0DpVSwsaNvRf2kTqCtJ1VUnus82571Gz2GSB5Fn+l5SfMsivtumkd?=
 =?us-ascii?Q?eHCkR250o2po5ykHJ5LkKroRE+NXlRLzcnGNpjisdNjXL4o4qRXWJrVUNKP9?=
 =?us-ascii?Q?ptsCXjOVFNaPruULAFLBOzj9pnOX9mURYprEov3A6xORJqkDjd1CuvTW8Ks?=
 =?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 256c2bec-8b45-41fe-fc3a-08dd5ad37673
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2025 04:17:22.8096
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR02MB10184

From: Sean Christopherson <seanjc@google.com> Sent: Wednesday, February 26,=
 2025 6:18 PM
>=20
> Add a helper to register non-native, i.e. PV and CoCo, CPU and TSC
> frequency calibration routines.  This will allow consolidating handling
> of common TSC properties that are forced by hypervisor (PV routines),
> and will also allow adding sanity checks to guard against overriding a
> TSC calibration routine with a routine that is less robust/trusted.
>=20
> Make the CPU calibration routine optional, as Xen (very sanely) doesn't
> assume the CPU runs as the same frequency as the TSC.
>=20
> Wrap the helper in an #ifdef to document that the kernel overrides
> the native routines when running as a VM, and to guard against unwanted
> usage.  Add a TODO to call out that AMD_MEM_ENCRYPT is a mess and doesn't
> depend on HYPERVISOR_GUEST because it gates both guest and host code.
>=20
> No functional change intended.
>=20
> Signed-off-by: Sean Christopherson <seanjc@google.com>
> ---
>  arch/x86/coco/sev/core.c       |  4 ++--
>  arch/x86/include/asm/tsc.h     |  4 ++++
>  arch/x86/kernel/cpu/acrn.c     |  4 ++--
>  arch/x86/kernel/cpu/mshyperv.c |  3 +--
>  arch/x86/kernel/cpu/vmware.c   |  4 ++--
>  arch/x86/kernel/jailhouse.c    |  4 ++--
>  arch/x86/kernel/kvmclock.c     |  4 ++--
>  arch/x86/kernel/tsc.c          | 17 +++++++++++++++++
>  arch/x86/xen/time.c            |  2 +-
>  9 files changed, 33 insertions(+), 13 deletions(-)
>=20
> diff --git a/arch/x86/coco/sev/core.c b/arch/x86/coco/sev/core.c
> index 82492efc5d94..684cef70edc1 100644
> --- a/arch/x86/coco/sev/core.c
> +++ b/arch/x86/coco/sev/core.c
> @@ -3291,6 +3291,6 @@ void __init snp_secure_tsc_init(void)
>  	rdmsrl(MSR_AMD64_GUEST_TSC_FREQ, tsc_freq_mhz);
>  	snp_tsc_freq_khz =3D (unsigned long)(tsc_freq_mhz * 1000);
>=20
> -	x86_platform.calibrate_cpu =3D securetsc_get_tsc_khz;
> -	x86_platform.calibrate_tsc =3D securetsc_get_tsc_khz;
> +	tsc_register_calibration_routines(securetsc_get_tsc_khz,
> +					  securetsc_get_tsc_khz);
>  }
> diff --git a/arch/x86/include/asm/tsc.h b/arch/x86/include/asm/tsc.h
> index c3a14df46327..9318c74e8d13 100644
> --- a/arch/x86/include/asm/tsc.h
> +++ b/arch/x86/include/asm/tsc.h
> @@ -40,6 +40,10 @@ extern int cpuid_get_cpu_freq(unsigned int *cpu_khz);
>=20
>  extern void tsc_early_init(void);
>  extern void tsc_init(void);
> +#if defined(CONFIG_HYPERVISOR_GUEST) || defined(CONFIG_AMD_MEM_ENCRYPT)
> +extern void tsc_register_calibration_routines(unsigned long (*calibrate_=
tsc)(void),
> +					      unsigned long (*calibrate_cpu)(void));
> +#endif
>  extern void mark_tsc_unstable(char *reason);
>  extern int unsynchronized_tsc(void);
>  extern int check_tsc_unstable(void);
> diff --git a/arch/x86/kernel/cpu/acrn.c b/arch/x86/kernel/cpu/acrn.c
> index 2c5b51aad91a..c1506cb87d8c 100644
> --- a/arch/x86/kernel/cpu/acrn.c
> +++ b/arch/x86/kernel/cpu/acrn.c
> @@ -29,8 +29,8 @@ static void __init acrn_init_platform(void)
>  	/* Install system interrupt handler for ACRN hypervisor callback */
>  	sysvec_install(HYPERVISOR_CALLBACK_VECTOR, sysvec_acrn_hv_callback);
>=20
> -	x86_platform.calibrate_tsc =3D acrn_get_tsc_khz;
> -	x86_platform.calibrate_cpu =3D acrn_get_tsc_khz;
> +	tsc_register_calibration_routines(acrn_get_tsc_khz,
> +					  acrn_get_tsc_khz);
>  }
>=20
>  static bool acrn_x2apic_available(void)
> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyper=
v.c
> index f285757618fc..aa60491bf738 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -478,8 +478,7 @@ static void __init ms_hyperv_init_platform(void)
>=20
>  	if (ms_hyperv.features & HV_ACCESS_FREQUENCY_MSRS &&
>  	    ms_hyperv.misc_features & HV_FEATURE_FREQUENCY_MSRS_AVAILABLE) {
> -		x86_platform.calibrate_tsc =3D hv_get_tsc_khz;
> -		x86_platform.calibrate_cpu =3D hv_get_tsc_khz;
> +		tsc_register_calibration_routines(hv_get_tsc_khz, hv_get_tsc_khz);
>  		setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
>  	}
>=20

For the Hyper-V guest code,

Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Tested-by: Michael Kelley <mhklinux@outlook.com>


> diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
> index 00189cdeb775..d6f079a75f05 100644
> --- a/arch/x86/kernel/cpu/vmware.c
> +++ b/arch/x86/kernel/cpu/vmware.c
> @@ -416,8 +416,8 @@ static void __init vmware_platform_setup(void)
>  		}
>=20
>  		vmware_tsc_khz =3D tsc_khz;
> -		x86_platform.calibrate_tsc =3D vmware_get_tsc_khz;
> -		x86_platform.calibrate_cpu =3D vmware_get_tsc_khz;
> +		tsc_register_calibration_routines(vmware_get_tsc_khz,
> +						  vmware_get_tsc_khz);
>=20
>  #ifdef CONFIG_X86_LOCAL_APIC
>  		/* Skip lapic calibration since we know the bus frequency. */
> diff --git a/arch/x86/kernel/jailhouse.c b/arch/x86/kernel/jailhouse.c
> index cd8ed1edbf9e..b0a053692161 100644
> --- a/arch/x86/kernel/jailhouse.c
> +++ b/arch/x86/kernel/jailhouse.c
> @@ -209,8 +209,6 @@ static void __init jailhouse_init_platform(void)
>  	x86_init.mpparse.parse_smp_cfg		=3D jailhouse_parse_smp_config;
>  	x86_init.pci.arch_init			=3D jailhouse_pci_arch_init;
>=20
> -	x86_platform.calibrate_cpu		=3D jailhouse_get_tsc;
> -	x86_platform.calibrate_tsc		=3D jailhouse_get_tsc;
>  	x86_platform.get_wallclock		=3D jailhouse_get_wallclock;
>  	x86_platform.legacy.rtc			=3D 0;
>  	x86_platform.legacy.warm_reset		=3D 0;
> @@ -220,6 +218,8 @@ static void __init jailhouse_init_platform(void)
>=20
>  	machine_ops.emergency_restart		=3D jailhouse_no_restart;
>=20
> +	tsc_register_calibration_routines(jailhouse_get_tsc, jailhouse_get_tsc)=
;
> +
>  	while (pa_data) {
>  		mapping =3D early_memremap(pa_data, sizeof(header));
>  		memcpy(&header, mapping, sizeof(header));
> diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
> index 5b2c15214a6b..b898b95a7d50 100644
> --- a/arch/x86/kernel/kvmclock.c
> +++ b/arch/x86/kernel/kvmclock.c
> @@ -320,8 +320,8 @@ void __init kvmclock_init(void)
>  	flags =3D pvclock_read_flags(&hv_clock_boot[0].pvti);
>  	kvm_sched_clock_init(flags & PVCLOCK_TSC_STABLE_BIT);
>=20
> -	x86_platform.calibrate_tsc =3D kvm_get_tsc_khz;
> -	x86_platform.calibrate_cpu =3D kvm_get_tsc_khz;
> +	tsc_register_calibration_routines(kvm_get_tsc_khz, kvm_get_tsc_khz);
> +
>  	x86_platform.get_wallclock =3D kvm_get_wallclock;
>  	x86_platform.set_wallclock =3D kvm_set_wallclock;
>  #ifdef CONFIG_X86_LOCAL_APIC
> diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
> index bb4619148161..d65e85929d3e 100644
> --- a/arch/x86/kernel/tsc.c
> +++ b/arch/x86/kernel/tsc.c
> @@ -1294,6 +1294,23 @@ static void __init check_system_tsc_reliable(void)
>  		tsc_disable_clocksource_watchdog();
>  }
>=20
> +/*
> + * TODO: Disentangle AMD_MEM_ENCRYPT and make SEV guest support depend o=
n
> + *	 HYPERVISOR_GUEST.
> + */
> +#if defined(CONFIG_HYPERVISOR_GUEST) || defined(CONFIG_AMD_MEM_ENCRYPT)
> +void tsc_register_calibration_routines(unsigned long (*calibrate_tsc)(vo=
id),
> +				       unsigned long (*calibrate_cpu)(void))
> +{
> +	if (WARN_ON_ONCE(!calibrate_tsc))
> +		return;
> +
> +	x86_platform.calibrate_tsc =3D calibrate_tsc;
> +	if (calibrate_cpu)
> +		x86_platform.calibrate_cpu =3D calibrate_cpu;
> +}
> +#endif
> +
>  /*
>   * Make an educated guess if the TSC is trustworthy and synchronized
>   * over all CPUs.
> diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
> index 96521b1874ac..9e2e900dc0c7 100644
> --- a/arch/x86/xen/time.c
> +++ b/arch/x86/xen/time.c
> @@ -566,7 +566,7 @@ static void __init xen_init_time_common(void)
>  	static_call_update(pv_steal_clock, xen_steal_clock);
>  	paravirt_set_sched_clock(xen_sched_clock);
>=20
> -	x86_platform.calibrate_tsc =3D xen_tsc_khz;
> +	tsc_register_calibration_routines(xen_tsc_khz, NULL);
>  	x86_platform.get_wallclock =3D xen_get_wallclock;
>  }
>=20
> --
> 2.48.1.711.g2feabab25a-goog
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 04:17:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 04:17:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900786.1308778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpJj4-0007Sa-To; Tue, 04 Mar 2025 04:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900786.1308778; Tue, 04 Mar 2025 04:17: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 1tpJj4-0007SR-PB; Tue, 04 Mar 2025 04:17:50 +0000
Received: by outflank-mailman (input) for mailman id 900786;
 Tue, 04 Mar 2025 04:17: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=Wix9=VX=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1tpJj3-0007N1-7t
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 04:17:49 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazolkn190100000.outbound.protection.outlook.com
 [2a01:111:f403:d003::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0da6e59-f8af-11ef-9ab3-95dc52dad729;
 Tue, 04 Mar 2025 05:17:48 +0100 (CET)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by PH8PR02MB10184.namprd02.prod.outlook.com (2603:10b6:510:224::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.26; Tue, 4 Mar
 2025 04:17:44 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 04:17: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: a0da6e59-f8af-11ef-9ab3-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WDdx1EybfDls8xXCnPTmD4Fbz/WbTsZKIG+xZtHVIbaMLP/wwWYJF35qdA8dE+tEcXqxsgBVCpk6iVfCvxhSSzxD4cuwRCjqoCR12hrJMVGf2QAPY11OltgfBiRh8R18gdSAzLIVZkTQlGLUrtIxQVXIEEeFcmXicSLNetq2j9Wa7usqnhsxuGS1qZubcOG1ZwjLoDUKpJaqBkpg2h/uExLK/4l6L2ZFw1f/wWJYApFh9+mAALW1Jiq1wL+oTK1vC273FWq4B9HTzH9KoDe3C4v3/fRkgxAlNo2g15DjfUrGWsE0RyVJ6qBG/rI6ha1urDzBWyfg2mqPkaqy+fXsCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NnbmzQtwxWaXauuYu03NCwHr8OAzWgd5jc3assWJuGU=;
 b=Cs2hjbXi2PHOJpc/w/nip4mCrB87v3G0/a+bsTMD+UUa798HMvvo8EIQxaLIdp+IbU17uYBhJ9aPaHjS9tK63cXZBxXSTig7SstVhxLaNirH7YDafOHqMUPrn+i+T0cTRTgRemopYfW1J+1IvgDL+WFwt0I8u1Il8O77c7OmYfkkAA0QNIQiaSskHaBbHZZ2d129Yu66nIHNeX3MoGnLlp9uUqoBSTjEFfAQy2R2qwySLnluv0h8iSNaZ+1SecfRQ83q8uH7l5DE01HkE3hYLQ/3A9qRZL8hBGVkEeOdgSXRjjZRrbIBU8pTMctpSNsjmmyLXiT77E7MHJRZW11WiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NnbmzQtwxWaXauuYu03NCwHr8OAzWgd5jc3assWJuGU=;
 b=ieWKOV3iq3FSPhWsLbSZ2JCj2MpJ1QghVoT+yimVWG10KpG2IWXRKAmnYe6s33++YjbAxQth1F756Q5u4ky910lYipZZhJKJ2W4UgYENHUSd+m3VxlNAyzrXoEo/XeX/98gmqGfXYGsaWB91zw66yzcRw7CytXoWPVmomUnjoJZuOmZNpw6TN6Lt4BfCAvQmo9iKZ90fDoj1+SmtTPLR+qVht2vnMm4b8Fh73qNyqXuV7HNUrkMLGc0dl+FKyQBJca7slgOJa8lHxytYfz0uOfv9dIUX690tB6R285TV79Krnyz2NDRmD53e+mmNQDxU0H7xwhodNUJfvs7OAKgabQ==
From: Michael Kelley <mhklinux@outlook.com>
To: Sean Christopherson <seanjc@google.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"
	<x86@kernel.org>, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>, 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>, Ajay Kaher
	<ajay.kaher@broadcom.com>, Jan Kiszka <jan.kiszka@siemens.com>, Andy
 Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Daniel
 Lezcano <daniel.lezcano@linaro.org>, John Stultz <jstultz@google.com>
CC: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "virtualization@lists.linux.dev"
	<virtualization@lists.linux.dev>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Tom Lendacky <thomas.lendacky@amd.com>,
	Nikunj A Dadhania <nikunj@amd.com>
Subject: RE: [PATCH v2 09/38] clocksource: hyper-v: Drop wrappers to
 sched_clock save/restore helpers
Thread-Topic: [PATCH v2 09/38] clocksource: hyper-v: Drop wrappers to
 sched_clock save/restore helpers
Thread-Index: AQHbiL6NEBnuOVASRUeGjQZiFuc7YrNiYO4w
Date: Tue, 4 Mar 2025 04:17:43 +0000
Message-ID:
 <SN6PR02MB41578BB5ACCB9370E2D31EA4D4C82@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20250227021855.3257188-1-seanjc@google.com>
 <20250227021855.3257188-10-seanjc@google.com>
In-Reply-To: <20250227021855.3257188-10-seanjc@google.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|PH8PR02MB10184:EE_
x-ms-office365-filtering-correlation-id: e51e694c-fb3c-4bd2-7323-08dd5ad3830b
x-microsoft-antispam:
 BCL:0;ARA:14566002|19110799003|8060799006|15080799006|12121999004|461199028|8062599003|12091999003|11031999003|102099032|3412199025|440099028;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?Attvru50E2On2cgXL8bCLE8XNoXcAPJgkv1tgH+XMfQzJnMbfLqn21v27Dho?=
 =?us-ascii?Q?0qVBmhwHMSnuSe8u3+2QlrPSm0M6k87iZBGW40EK4U5yU2ocbye9Cp54fe+Q?=
 =?us-ascii?Q?SPxKnxcRyl9OPnOLY37ec/g6sKIik6eZLzBqeegf0/wIcn8wmwd4q8FtG/Zp?=
 =?us-ascii?Q?sv5d5eY0QFBv8/eVDLuKR4hDcHC172GICxz+y9m6ULcnY5MSZb4kjTl1rYMd?=
 =?us-ascii?Q?8dPpKco93mQaBBLcutEAVxh+zVqRFsrCsMgsoC0/SByzEOje/2Nl2e6ZEGCM?=
 =?us-ascii?Q?ImNpk89v4KwKmTsN3rJGaa79nhegmdPdQrxO+Ey+Posq0U1PAK8g+LpqwCMf?=
 =?us-ascii?Q?W71vNwzW/BXzXc1/IcWvzsog/bjUQkeNPbGePtkwoQ+e4mlge66Ou/tbdxjq?=
 =?us-ascii?Q?UMA0eT3Ih6oEPhtmeJFooOwQpGZ4sHTu1T9uisfr8RIhkvXgiztRZkOLp+Jk?=
 =?us-ascii?Q?RExr9qwUDEYvq6jcPvCKyWeFbFbQ39gWpPM8UjvCusrL9/3/mtoS8pgvmpdh?=
 =?us-ascii?Q?p+sxMaTnklwsfr8dGaZ/J++NJFaf3xIfMAoFI3n1F9mKKyWn6CnJ6ia71EPB?=
 =?us-ascii?Q?4sKri8eAFAEpaScUptyoTb+fmYwmwGke1wSzvKCGapZ7ZD0ZI78pkN41bVUD?=
 =?us-ascii?Q?YUD9ZJ/C4xTms3I0Lms9s1SB6ttQOJCK3XCgZ7dgb1etyYVALnhqglnshFn+?=
 =?us-ascii?Q?dJAi69UBh7MEFlphJKq1pvv9J0vokLQCQRnxH7QwAEOBG4XsYRh5pI5cs+4m?=
 =?us-ascii?Q?7La+Rf5h7clUQ0YmqqcSGnAh7iMDkuxsFBW5MCioXkXaWVc3FLLpnEMcUB+E?=
 =?us-ascii?Q?2RpgX07GBq782lSiMN8SV2vWDsSAu+GWP4AWej6q7xnqDBEXDDy7xQy0TEuH?=
 =?us-ascii?Q?HOOUoCnj6pDtnAV+LnxDcGuFvd0s5z3vmynJKKRq8lGpAnVPZuUXw4OTa6TB?=
 =?us-ascii?Q?egX5+QR9uC9wHgHBBXC+A5lv3LUoJN5y9sUkNInL6hK8gNK+R7Hwf44XYCcx?=
 =?us-ascii?Q?P5vIfsAXmTdAY6wGM07xE7c3YBZ0Tu5Ts8KjHbN/1fHEa+z/Vr2c4P4q/NNP?=
 =?us-ascii?Q?vD0zgmYSuiPKa4aofGJn+OD7dPW+cw/15DVY9sq0/ZLERB+Jjza7QLeu+7ss?=
 =?us-ascii?Q?FPyCGd3X1JB0VmR0Z7PKHm43unswrNMToQ=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?em5ySggkszJx6T4jxj8gNGQ/cfQY3i8vWIoc3CnxwU2CfxsEcIcOWoKTCsZt?=
 =?us-ascii?Q?NPDiiv6RsPwcNFhz81aNuDEVZc2BRAJFqoDpjy2MmzjjSc1F7CYbVo3YIiJN?=
 =?us-ascii?Q?J95mTkUe6HYBKQJGjHNNYP7g/HG9ggt/4ea8M5QhuD80xr/4RLq+rjrZyHIo?=
 =?us-ascii?Q?A/kKz1aiDeu4eBK5pOFkX7dRULzozHtqUFsd4vgZD2PHYjvmhx+eAu8u+uO3?=
 =?us-ascii?Q?ikf9SKBBi+c4grz/JQp/eZJbieVW2NqTpM0EX1z98kjmxSRCQdgi567Kd/Py?=
 =?us-ascii?Q?bsUiTOZdcCcoMJPzaPKwKk7/cck0z4Kga3HCqxlgiB7REt1X6nSPYaBmVcho?=
 =?us-ascii?Q?xxM006b5w3gc2P4ZD4H2lfuSG+Y5YMgEtlldUf17sD3Pay0DbUdMynd+GTgf?=
 =?us-ascii?Q?QvZzuutJZGzz8PtBt43Q/MAYO9uVklgUkLUWGJrDJQYFoUYF6tXklIFfzEoc?=
 =?us-ascii?Q?hiLFDYuKc3ANpwloy8C4fFAXQx+yFt5qToCSbFCifuLTp/dzeDf1JV85SHk9?=
 =?us-ascii?Q?b5GjZljwWl19AZtGsj/PBNf6FZI7wDWPoUEqZM691O4kcIj4DHGoKNlyhMfS?=
 =?us-ascii?Q?wNkumqhmCl8R2Z367s0jM//itboTSD+l7u/CX+HFuY1eTF/gfLRfVn+Dk8ad?=
 =?us-ascii?Q?Z8U8BfjnU0ASKHj/OvVr3aBKwd+iWzcqbNv09sWMiF0osTor6gdhcncM271/?=
 =?us-ascii?Q?qNCh50qveTORwOdLcxxLaJxrY7onJvBNjcPuMdLly9wS/JRvWS2RLu8Tb55g?=
 =?us-ascii?Q?U1z+DgLM0cRKXllAD3iv4AsoFzhIGsaT6hK6/vRQtrxgzGqYsYQ/A1hRbvOh?=
 =?us-ascii?Q?rUnKUfxWE8U7mdfnIFv2NE2S2LY8zzu6Imdd/jHkYDy9Pka5Ihxf4tSAYxZL?=
 =?us-ascii?Q?pq3TkVpT38Il3cX7g1N4oPVXLdfNonlBKb/OHF1Gcwi1pRNGwyGr9H/9FEje?=
 =?us-ascii?Q?06qfVzVed+KlwXBZAtXsJosTkBGtQ1FdlAMfoWZQzKvwdJZ66VVAdJ7jbOoL?=
 =?us-ascii?Q?Hm2A9f+VHERt8RmqIUgklV8iF3bSS8YO0jyG3XppqKwyzJS7bHHpo+aG/LNM?=
 =?us-ascii?Q?YAQT7SFbTAomfowihLZRPY97Pm14W6K0bpzdLMKkJd2EusSAjiywgEF4JB61?=
 =?us-ascii?Q?ZzqjlMrZ/an1RXoNIVbQyZBlIRVAXqjzbYMj4ZChf9O3QUqxwVmxmv7EZYNB?=
 =?us-ascii?Q?LHVvhEUriwX7J492bUeQYMzjXCdYK0s+aOvnEGtgGtvqatEgy0x9UVzINwY?=
 =?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: e51e694c-fb3c-4bd2-7323-08dd5ad3830b
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2025 04:17:43.9329
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR02MB10184

From: Sean Christopherson <seanjc@google.com> Sent: Wednesday, February 26,=
 2025 6:18 PM
>=20
> Now that all of the Hyper-V timer sched_clock code is located in a single

Again, "Hyper-V refcounter", not "Hyper-V timer".

> file, drop the superfluous wrappers for the save/restore flows.
>=20
> No functional change intended.
>=20
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Modulo the terminology in the commit message,

Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Tested-by: Michael Kelley <mhklinux@outlook.com>

> ---
>  drivers/clocksource/hyperv_timer.c | 34 +++++-------------------------
>  include/clocksource/hyperv_timer.h |  2 --
>  2 files changed, 5 insertions(+), 31 deletions(-)
>=20
> diff --git a/drivers/clocksource/hyperv_timer.c b/drivers/clocksource/hyp=
erv_timer.c
> index 86a55167bf5d..5a52d0acf31f 100644
> --- a/drivers/clocksource/hyperv_timer.c
> +++ b/drivers/clocksource/hyperv_timer.c
> @@ -471,17 +471,6 @@ static void resume_hv_clock_tsc(struct clocksource *=
arg)
>  	hv_set_msr(HV_MSR_REFERENCE_TSC, tsc_msr.as_uint64);
>  }
>=20
> -/*
> - * Called during resume from hibernation, from overridden
> - * x86_platform.restore_sched_clock_state routine. This is to adjust off=
sets
> - * used to calculate time for hv tsc page based sched_clock, to account =
for
> - * time spent before hibernation.
> - */
> -void hv_adj_sched_clock_offset(u64 offset)
> -{
> -	hv_sched_clock_offset -=3D offset;
> -}
> -
>  #ifdef HAVE_VDSO_CLOCKMODE_HVCLOCK
>  static int hv_cs_enable(struct clocksource *cs)
>  {
> @@ -545,12 +534,14 @@ static void (*old_restore_sched_clock_state)(void);
>   * based clocksource, proceeds from where it left off during suspend and
>   * it shows correct time for the timestamps of kernel messages after res=
ume.
>   */
> -static void save_hv_clock_tsc_state(void)
> +static void hv_save_sched_clock_state(void)
>  {
> +	old_save_sched_clock_state();
> +
>  	hv_ref_counter_at_suspend =3D hv_read_reference_counter();
>  }
>=20
> -static void restore_hv_clock_tsc_state(void)
> +static void hv_restore_sched_clock_state(void)
>  {
>  	/*
>  	 * Adjust the offsets used by hv tsc clocksource to
> @@ -558,23 +549,8 @@ static void restore_hv_clock_tsc_state(void)
>  	 * adjusted value =3D reference counter (time) at suspend
>  	 *                - reference counter (time) now.
>  	 */
> -	hv_adj_sched_clock_offset(hv_ref_counter_at_suspend -
> hv_read_reference_counter());
> -}
> -/*
> - * Functions to override save_sched_clock_state and restore_sched_clock_=
state
> - * functions of x86_platform. The Hyper-V clock counter is reset during
> - * suspend-resume and the offset used to measure time needs to be
> - * corrected, post resume.
> - */
> -static void hv_save_sched_clock_state(void)
> -{
> -	old_save_sched_clock_state();
> -	save_hv_clock_tsc_state();
> -}
> +	hv_sched_clock_offset -=3D (hv_ref_counter_at_suspend -
> hv_read_reference_counter());
>=20
> -static void hv_restore_sched_clock_state(void)
> -{
> -	restore_hv_clock_tsc_state();
>  	old_restore_sched_clock_state();
>  }
>=20
> diff --git a/include/clocksource/hyperv_timer.h b/include/clocksource/hyp=
erv_timer.h
> index d48dd4176fd3..a4c81a60f53d 100644
> --- a/include/clocksource/hyperv_timer.h
> +++ b/include/clocksource/hyperv_timer.h
> @@ -38,8 +38,6 @@ extern void hv_remap_tsc_clocksource(void);
>  extern unsigned long hv_get_tsc_pfn(void);
>  extern struct ms_hyperv_tsc_page *hv_get_tsc_page(void);
>=20
> -extern void hv_adj_sched_clock_offset(u64 offset);
> -
>  static __always_inline bool
>  hv_read_tsc_page_tsc(const struct ms_hyperv_tsc_page *tsc_pg,
>  		     u64 *cur_tsc, u64 *time)
> --
> 2.48.1.711.g2feabab25a-goog
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 04:18:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 04:18:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900793.1308786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpJjF-0007yS-7e; Tue, 04 Mar 2025 04:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900793.1308786; Tue, 04 Mar 2025 04:18: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 1tpJjF-0007xm-4r; Tue, 04 Mar 2025 04:18:01 +0000
Received: by outflank-mailman (input) for mailman id 900793;
 Tue, 04 Mar 2025 04:17: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=Wix9=VX=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1tpJjD-0007N1-BW
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 04:17:59 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazolkn190120002.outbound.protection.outlook.com
 [2a01:111:f403:d111::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6edc416-f8af-11ef-9ab3-95dc52dad729;
 Tue, 04 Mar 2025 05:17:58 +0100 (CET)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by PH8PR02MB10184.namprd02.prod.outlook.com (2603:10b6:510:224::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.26; Tue, 4 Mar
 2025 04:17:54 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 04:17: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: a6edc416-f8af-11ef-9ab3-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Em0WDMvIIEIufN7f7BO8EO2lcpc+livjdi5hqYEbOzK84olBKwpAkFqd4+p5l/bCEHeItcDx3rjzDGICANTplvVJWNp7/3PfAUFudexQ71f1FrgCvsA36hGRVNn3Qi5I50IEqHaqu7j2BmMev0BrPMUqOTQX4Zryndp9pmtW70kJKhhsPNhzEiedqQgjvxVlgSUWdVD+o1ycaFl/uW9vjuR6J6bKuOeCgzOsitcEsPkbAbVXYqNXJ1BbTsT2g8wPFA1ZmiUSJEjuZAB8a5kPPwwHal+fy8Cl5iujxEQD+/Av3CpHflMKwKKhIIvZh9Tnk0gKBs1HekjaBwZ6k09sJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aRY2u48hNF8943kkZ/nzPw+PrftWdoQ8WgggsH7dEKw=;
 b=hHNHRjeeaNI7Le6t2wUjUq9U5xXB06or+NlEbWwmtgI9ha+4drdAKV7EvG4MCPrzMyPy9CmcKWQkVnBxdi3gVtWePRvWvzKs4p2BZc28kR31NMYWCTyeUNz4u8ubXbK9ey5v9GH/oi6pi3XAFPcmzOonoHxk4M9Uz3zWnBYdUcwp+jMg9huAG66HhfoGezsB7D924bKT/osHC9yR7V/22CvMjFC4u52CBPefo+yT3x3OC5xFsZZZOgDptueyceBbWPoeCl6IO2S6FL524hJ4zmhYPXBafY4qnpCDJBI1YNrEVQ4VwgdVd0iDvFKPCdEOh5i85No4uD8XakCCl3ZbkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aRY2u48hNF8943kkZ/nzPw+PrftWdoQ8WgggsH7dEKw=;
 b=G/T2MRfHBvTnE/vbaxTzcWsunL3JVJnX+BVjkJAFF6lPNtuUSDUMo4jthEgOcjUcO55UJlkQ1gBo9UZHUhyssmXhX6G5s1kALOZPwQbrEKILryDgYSZb+voTRorFkR2aG0qFJnO0mB50hmmMW0vp30Ua1/cVDOKXgwz5qDtfw1w2hHW7YlmNRunKe7yqICdOeKSY0ObMJut/UnvnAhLS71behl1XHGjvUq9YtqA2tiv3kZZrp260RJ3+kqWAoh1uBPX8sPNJvbr2K4nMblHKWKWyteLKy/RKe9f57x98nETv8G9UHyRGfVJdaKD+O/4d7z6+yukU+1G/eKzJB5+sRw==
From: Michael Kelley <mhklinux@outlook.com>
To: Sean Christopherson <seanjc@google.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"
	<x86@kernel.org>, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>, 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>, Ajay Kaher
	<ajay.kaher@broadcom.com>, Jan Kiszka <jan.kiszka@siemens.com>, Andy
 Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Daniel
 Lezcano <daniel.lezcano@linaro.org>, John Stultz <jstultz@google.com>
CC: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "virtualization@lists.linux.dev"
	<virtualization@lists.linux.dev>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Tom Lendacky <thomas.lendacky@amd.com>,
	Nikunj A Dadhania <nikunj@amd.com>
Subject: RE: [PATCH v2 10/38] clocksource: hyper-v: Don't save/restore TSC
 offset when using HV sched_clock
Thread-Topic: [PATCH v2 10/38] clocksource: hyper-v: Don't save/restore TSC
 offset when using HV sched_clock
Thread-Index: AQHbiL6l+0jbz3ovik6J1qTGo+F4UrNiYnmw
Date: Tue, 4 Mar 2025 04:17:54 +0000
Message-ID:
 <SN6PR02MB415743496C3A9937D10E4F4FD4C82@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20250227021855.3257188-1-seanjc@google.com>
 <20250227021855.3257188-11-seanjc@google.com>
In-Reply-To: <20250227021855.3257188-11-seanjc@google.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|PH8PR02MB10184:EE_
x-ms-office365-filtering-correlation-id: 43515617-249a-4e0f-7cfb-08dd5ad38927
x-microsoft-antispam:
 BCL:0;ARA:14566002|19110799003|8060799006|15080799006|461199028|8062599003|12091999003|11031999003|102099032|3412199025|440099028;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?5GY4ccFobkTcLOJbOchDsHzGIE/ehhzKFPktUsb3oNqK/uOco+lTE2hl+W0t?=
 =?us-ascii?Q?60IsPMV14h12HXeDPkV4R0hDOBm1HTaAD2/h2ro0SVPWYDwZWdEvNbAikVvc?=
 =?us-ascii?Q?wqYdKt1GIdL8wgWL0LvavN4XQOqpzO9fDLZPOTa83WP9e8qy3fK/+WGuKJHf?=
 =?us-ascii?Q?Lk7/2ethmsu91UDBKgNZedr1v7YJ9TZsRlr/dBCTrejnRl5XJ7N/BW2CZW/w?=
 =?us-ascii?Q?0uWMyE6tIWHRPZusvEiVVdQmg1lOBFxxb5maTmh/G5vzHBv1O2LqA7rNou7F?=
 =?us-ascii?Q?9exXzTbr+1j5TkrNul8n7T8vN2oiW3mN+1rq0KP684xAvCRauevG1lmGI7EF?=
 =?us-ascii?Q?pfW1xqKiCwLicxG3m/qTrqjBFKCKkK0qMxg8BEnJX2HuSSry2Twbzbxg1RFx?=
 =?us-ascii?Q?Jl7MCnTwBHxTxV/F9ExxJOu2ol3LMQPJM+U9kd79O1NCQrhioJ8VvVsO22tm?=
 =?us-ascii?Q?M5r9FbJPmAiyOmoEP/epX6NrU5JXn3y9h/ZZMSmxMr/YPNOBD5Z2gL2II6zr?=
 =?us-ascii?Q?8hZNAosV3ykqZGg4oGCcGAUp6Ed42HxpJh2TarTQfljMxxnqiDWD4iyqguSm?=
 =?us-ascii?Q?YwoJfQkxWvKZvyg2ajQDnGz2Cn4emosrP2rItdZtoAWGGiuFi7dKzooN7UP4?=
 =?us-ascii?Q?CLv3It9l+S1TcVRrevP+5F+NeeGjDu1bHDVuof3FdEXbVtc/471dX08uqIyd?=
 =?us-ascii?Q?8nPl7LMPL05ESM76KQdvo8upR3XGKDAN9XFoy3wY6FMgxURVPCtrXnxRPcq2?=
 =?us-ascii?Q?1W+yRvTDPBLQ8bOvFpde0lWYrugXDZbyjUwSQD3t8Xz2LPE8HtJ8wpD7Dcnc?=
 =?us-ascii?Q?NcnV4Brhv7TjffIfZLb/nt+8+VvDbhSeY/e1PEnZ3jjGO0D+BvtT8LxEWuFr?=
 =?us-ascii?Q?D34FeiTwKMNirweaIFYEnRXirRP9i9Lgtbx3pb+C55lFlPwTGbzDsGN3g6UT?=
 =?us-ascii?Q?6RR7au1aKJQjawv2rfecA6Jy0LyOTwSBJPf+6QNICmAqfu7QLi1TXvJhxV+f?=
 =?us-ascii?Q?hn/eH4I6JO0f4hgF3kwaFCJwv1E5b5akoPlEwmEVxqYH+NysqtaxMwoIjJ9N?=
 =?us-ascii?Q?vQG8Ew15glotYBdodm9OIBs00cYSIbCFAXmM2juQQxmoqmMooQk=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?z9tN/SCc28lB3XJriNDfooJn33XORMnxvjVZQ7Sa5PP7AE66kf1e0nqGFNDV?=
 =?us-ascii?Q?MZ6Wlry7DNykQ6lXVA2XCaS0uxoBjWk354uUGc57JoRlG0c1khmsKEgJ86Vv?=
 =?us-ascii?Q?aMh7iP9fCQKqMHvX2CCANt2cEy3KGa2D815UlgBdztBMRjifYLiQ+bfP7h+U?=
 =?us-ascii?Q?zjTp/DNzvEzuiEJMGlbq4G9Qo9PDX1IGrZxFc99/+OjpR6dI+40JeyQluK/d?=
 =?us-ascii?Q?/YfMiomyLzOwH061WTWbAr6ayn1E7to3GBm2V9rJ85M8XKn3Gcw8I2ntnhr0?=
 =?us-ascii?Q?iKufg97pu/x6qbfWmi7v+sbw9D2fAg363OEO19CUR00PYWqHX/f9UutT0KQO?=
 =?us-ascii?Q?lATlno3Bsg0QAGW4rBzQzduLfWYTM9B8NpZuugGoyTNGeiUXjYUe/q5kpaQ/?=
 =?us-ascii?Q?JIqwBJJXhuwTk7M9XoccEvOurAAujjCjRRqcWHDnJImfvdtzR4IT8LygMAfS?=
 =?us-ascii?Q?nF/Hagw8OQbeYhbSWStTNCy4xhSP032LHzUj0V7cFCqp+jh6u5/p6QIQ0vbr?=
 =?us-ascii?Q?ubSqCLN60EdzNi8hZgCn9BbQlYuT1lWVOi1H7i5l6oyUiKF6OWUZJzvwXkHZ?=
 =?us-ascii?Q?k43EC6YFC/QmWaIL6bIfx1rhuikllwpIZeh7Jh/vhmEjrcT9LKRFu/xobkJ4?=
 =?us-ascii?Q?AaJHTKeO58imVjnysR+8G1Km8zmh7w+1nU8O7GXiRwoNQpbqctNDnxxL1LXT?=
 =?us-ascii?Q?d3WLdLDRlkcApmmovnc9RJPkstfBuEh0jao93DlBY2MsS4pUjaAUlDU5k+J/?=
 =?us-ascii?Q?AVuG1O1BEHx+i69sujihlzKFk6Vg62kOXEG8figl8HmyOwSLYoavwjE26pX2?=
 =?us-ascii?Q?YrmdfOZlPHP2l8ohiT8mLYsULaZ/HViX3mVOUFkstluAaHn3aoyzmhVgZZsl?=
 =?us-ascii?Q?6U9/mx5J+ovVeDjDNOjKHNFwNAMEzhWKXiSFW3SGP/JjkntyAMZqHbeONBdh?=
 =?us-ascii?Q?qpNPzDFXGHjH//H6+b2OdOkgiH17juZP2cRMmufMHHChCwgGkijwqhEBjCgO?=
 =?us-ascii?Q?sQCIz6lN9xaF0H/48nMYgsMbfgMLWZvjneVEZs9OkTeIr91izIHTWkSw4yrm?=
 =?us-ascii?Q?OyMEF+ZsVwMmdXmnEnMfhARIKW/HiZ1xnJcnrnPhslTytkT0ATNv8WzAManV?=
 =?us-ascii?Q?WtKFQxwqdNbVBWuM6AO+WC7CeWrqkJDGoN/1nHAMupW/ONzLQmYE/Ym1iraQ?=
 =?us-ascii?Q?ILiBahziPk9e+ggbARoARGVxmChEOQSPxirxLh6Co0GyZ536qxeokR4OvHQ?=
 =?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 43515617-249a-4e0f-7cfb-08dd5ad38927
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2025 04:17:54.1950
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR02MB10184

From: Sean Christopherson <seanjc@google.com> Sent: Wednesday, February 26,=
 2025 6:18 PM
>=20
> Now that Hyper-V overrides the sched_clock save/restore hooks if and only
> sched_clock itself is set to the Hyper-V timer, drop the invocation of th=
e
> "old" save/restore callbacks.  When the registration of the PV sched_cloc=
k
> was done separate from overriding the save/restore hooks, it was possible
> for Hyper-V to clobber the TSC save/restore callbacks without actually
> switching to the Hyper-V timer.

Terminology again.

>=20
> Enabling a PV sched_clock is a one-way street, i.e. the kernel will never
> revert to using TSC for sched_clock, and so there is no need to invoke th=
e
> TSC save/restore hooks (and if there was, it belongs in common PV code).
>=20
> Signed-off-by: Sean Christopherson <seanjc@google.com>

I've tested the full patch series in a Hyper-V guest on x86 with
and without the Hyper-V TSC_INVARIANT option. In both cases,
the sched_clock is correctly maintained across hibernation and
resume from hibernation, and the "flags" in /proc/cpuinfo are
as expected. I also compiled hyperv_timer.c on arm64, and that is
clean with no errors. So all is good.

Modulo the terminology used in the commit message,

Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Tested-by: Michael Kelley <mhklinux@outlook.com>

> ---
>  drivers/clocksource/hyperv_timer.c | 10 ----------
>  1 file changed, 10 deletions(-)
>=20
> diff --git a/drivers/clocksource/hyperv_timer.c b/drivers/clocksource/hyp=
erv_timer.c
> index 5a52d0acf31f..4a21874e91b9 100644
> --- a/drivers/clocksource/hyperv_timer.c
> +++ b/drivers/clocksource/hyperv_timer.c
> @@ -524,9 +524,6 @@ static __always_inline void hv_setup_sched_clock(void
> *sched_clock)
>  }
>  #elif defined CONFIG_PARAVIRT
>  static u64 hv_ref_counter_at_suspend;
> -static void (*old_save_sched_clock_state)(void);
> -static void (*old_restore_sched_clock_state)(void);
> -
>  /*
>   * Hyper-V clock counter resets during hibernation. Save and restore clo=
ck
>   * offset during suspend/resume, while also considering the time passed
> @@ -536,8 +533,6 @@ static void (*old_restore_sched_clock_state)(void);
>   */
>  static void hv_save_sched_clock_state(void)
>  {
> -	old_save_sched_clock_state();
> -
>  	hv_ref_counter_at_suspend =3D hv_read_reference_counter();
>  }
>=20
> @@ -550,8 +545,6 @@ static void hv_restore_sched_clock_state(void)
>  	 *                - reference counter (time) now.
>  	 */
>  	hv_sched_clock_offset -=3D (hv_ref_counter_at_suspend - hv_read_referen=
ce_counter());
> -
> -	old_restore_sched_clock_state();
>  }
>=20
>  static __always_inline void hv_setup_sched_clock(void *sched_clock)
> @@ -559,10 +552,7 @@ static __always_inline void hv_setup_sched_clock(voi=
d
> *sched_clock)
>  	/* We're on x86/x64 *and* using PV ops */
>  	paravirt_set_sched_clock(sched_clock);
>=20
> -	old_save_sched_clock_state =3D x86_platform.save_sched_clock_state;
>  	x86_platform.save_sched_clock_state =3D hv_save_sched_clock_state;
> -
> -	old_restore_sched_clock_state =3D x86_platform.restore_sched_clock_stat=
e;
>  	x86_platform.restore_sched_clock_state =3D hv_restore_sched_clock_state=
;
>  }
>  #else /* !CONFIG_GENERIC_SCHED_CLOCK && !CONFIG_PARAVIRT */
> --
> 2.48.1.711.g2feabab25a-goog
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 04:25:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 04:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900815.1308796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpJqh-0001q7-04; Tue, 04 Mar 2025 04:25:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900815.1308796; Tue, 04 Mar 2025 04:25: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 1tpJqg-0001q0-TV; Tue, 04 Mar 2025 04:25:42 +0000
Received: by outflank-mailman (input) for mailman id 900815;
 Tue, 04 Mar 2025 04:25: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=Wix9=VX=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1tpJjO-0006sI-M0
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 04:18:10 +0000
Received: from CY4PR02CU008.outbound.protection.outlook.com
 (mail-westcentralusazolkn190110000.outbound.protection.outlook.com
 [2a01:111:f403:d122::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac116d60-f8af-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 05:18:07 +0100 (CET)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by PH8PR02MB10184.namprd02.prod.outlook.com (2603:10b6:510:224::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.26; Tue, 4 Mar
 2025 04:18:02 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 04:18: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: ac116d60-f8af-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=orVnHf5358RlPzpciPc248b9H0WkSTeB3BEkOneHB0/pxy3AuNfEPIuA523jIMn2dUARW2UbQFAtzuQN135sGhxYgVMa2mRYAGBa217xxCPIFFbJ6R+SacH0tVAmPgOKka1I7+hcypIza/VznLjB+ojcLoCUSopdv++JrmEz+JK8ZZ16g8ZcZL8oddVBXpM+Hp/+noH67NOfBaqE/dUhha7k0DJYakp9XKTqyT5O3M6sARYwLM7t/Tk0CwFUPo/VdKVv8MNS5IUXF/xGExAM1FmsWcmzFSlzxLZ9yLkj3FRLLjUY6Xh0fm+BHYh3lfY9znb0ERniHR1K6sxkKr4uVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PzEySjbbc6HrK6FD5TMJLnk9DO7HVtEDsRMFDyTDn50=;
 b=u15diXRI/9xytJKOxhb82TsfGXofaVPRBTTU46dXkb+im5pw+A7Foikt+j8jmp3Z8ehhxSKCLhSX+w0CT1aE2kQWkmcuVK77uuSc5ZtF/NtVo7BYPppI03DYthuEVNuteP3CNni7YqNZYW4xHbhzPSFIXD0UgZuAd5xenPm+xWTjY+VkJ0IuE384VgvKXfr8V+G41YVob7FoSch30y8umsvPvvggjDI/bOsR3GyYgSEUTjvntK932tBcel2ycKHErinkQw7Z6f4es5bAnHzkrDt/Rot0MmpxwIKphOSrqY29vppkyErmwBtKokfziqahKU8c+rwiRVgAaLDeTZAvUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PzEySjbbc6HrK6FD5TMJLnk9DO7HVtEDsRMFDyTDn50=;
 b=LdBnSerGOEIofsQi5ZalLjBKi0g1NV9utelD1zrZU17IkQ5YPIc8A3eGmtl6/XLP6SUAqOdUEwB69LKR+MSfw11TeHEeKiOamq+D/oW2TtozaZCP+ZZjh6FKJSM5TCXj3UdzVCjVmFluoxZA9+hBziektD1ZqHqviC5FH82l2zwOYoSmqSNDIrCGndOHfLIN+DMkL4m0aiBRw+oKqGqJkc93TjSXxXOcNKy9iop7GvIFEokeJXs+Qx1cfKLVFiP/ntVJ8WZ5GQKDaZ8ee6mO8q/bd+3zrIGbjmkDx94SacyQnL+Z/8fEKj4wTb9QHjCTUVASb3+kUPRrhhNFZ0Qjng==
From: Michael Kelley <mhklinux@outlook.com>
To: Sean Christopherson <seanjc@google.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"
	<x86@kernel.org>, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>, 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>, Ajay Kaher
	<ajay.kaher@broadcom.com>, Jan Kiszka <jan.kiszka@siemens.com>, Andy
 Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Daniel
 Lezcano <daniel.lezcano@linaro.org>, John Stultz <jstultz@google.com>
CC: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "virtualization@lists.linux.dev"
	<virtualization@lists.linux.dev>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Tom Lendacky <thomas.lendacky@amd.com>,
	Nikunj A Dadhania <nikunj@amd.com>
Subject: RE: [PATCH v2 31/38] x86/tsc: Pass KNOWN_FREQ and RELIABLE as params
 to registration
Thread-Topic: [PATCH v2 31/38] x86/tsc: Pass KNOWN_FREQ and RELIABLE as params
 to registration
Thread-Index: AQHbiL/SUCd7zgLAtUGlvGS/sV/Q7LNiY70g
Date: Tue, 4 Mar 2025 04:18:02 +0000
Message-ID:
 <SN6PR02MB4157CBC183775A8C17AC590BD4C82@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20250227021855.3257188-1-seanjc@google.com>
 <20250227021855.3257188-32-seanjc@google.com>
In-Reply-To: <20250227021855.3257188-32-seanjc@google.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|PH8PR02MB10184:EE_
x-ms-office365-filtering-correlation-id: 3e7219cf-5274-41d6-6e0c-08dd5ad38e06
x-microsoft-antispam:
 BCL:0;ARA:14566002|19110799003|8060799006|15080799006|461199028|8062599003|41001999003|12091999003|19061999003|102099032|3412199025|440099028;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?IOdnMuGdXWduI0tAKQdceZLZVWr+sgMp6SFApUZhwYYIBNLL3D+COyOcRyL+?=
 =?us-ascii?Q?obmgaXsF4INm4wdD/k0o+JEnuLOYWMzN3i2sDvrjGH+IAEY9+e0/CoQNMtgW?=
 =?us-ascii?Q?hGkomfxS05uCMShiIA7lTUjgIeMvToEGVcdoNTfd0bXxs0tqmx0ytUiz3GW2?=
 =?us-ascii?Q?AWZgjg/y5NopYkWd8cIph+5AlI4oSNPRFG3WANj/yE4pSw+R8EMhYWitaf6D?=
 =?us-ascii?Q?/mncv87szT4BE1dvh4zqaeO2SQriZrlYJ+f9/WVU9+HVn1aaQ9LBQvvhA7E8?=
 =?us-ascii?Q?8FZqK05CrExpwo4F+kbKIfKySnX/UY0URbC9iJjpvcnkbFPbIqyur5mGopKn?=
 =?us-ascii?Q?937+bXn9posbQh6e/7vUWB+igToCXLWBgDejYoRgrTc0SnpCLkgyRRlEkxZ7?=
 =?us-ascii?Q?JU5CUYZ2SE+rFmXdsEUvT2n9/TT2UNEnu+5amKeaeb6VFqTyt4PLrWld4mlw?=
 =?us-ascii?Q?66JMAxzf2U2lFD7UZIKpdGMIVFOF3CCRPxd9Gmq42gdbwRijailo8F5wXfzH?=
 =?us-ascii?Q?5u2jU/Wx0Mt+x/S/Z+zhD7wVI4FVuHCERhL7SXYNBmJ1wp3XaGOncaXNbyDV?=
 =?us-ascii?Q?uD69HcRfku6DzAerY2kvKFUCTv4/9bF+Hd8+nmMs1BQeKRBMSR4CpjEzDP0i?=
 =?us-ascii?Q?Ks4kqRzrDvGK4uK2dmikncHWKLRayqzvRtfKBrJ2c42P61I/K1DK5DU1yFIL?=
 =?us-ascii?Q?XJGHtiOnXuxvm5CyXrXRvkAj1Ek2Jh5/G7ftjD8b2GiLK7IRUHjYjvXn2jbd?=
 =?us-ascii?Q?Pd41kZqZBix5gLry9tUrpZBeFlPNMnOIlKWGR8t/J3seL20epooVHnphJnK+?=
 =?us-ascii?Q?ANJEo75xljvmv41yM4AVUkMtjCNJqpzo3BEgybp4mawmQCWgZ79AgwSdhAQC?=
 =?us-ascii?Q?c5SEJM45vYBdrz2HQ/oHZUmqpsA4eVPjUBOKVBr9jAHRf9hGHzqvjKm32mwk?=
 =?us-ascii?Q?tiXSHsRNSczkUZy0T7ClIxi/VgGEe74CSqWzBRVLdjsaCabZMQqhI35OyJ5z?=
 =?us-ascii?Q?qJ4Lwgzy5H/EIJOXzlgzjen0yeX7fY84kHdNuF1HSQLp/529p/q8KbBp9gld?=
 =?us-ascii?Q?EynBE9FiU96zxRw37/NLCr+nYhfGReUcnOKFKGrrhPzTfYUN96jHaoViQXg3?=
 =?us-ascii?Q?CLUQBAr+0crLOyEUvD/5c3Lt40jfaqYOrQ=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?zPrKRhgt1MKbwuiKcsdppWeBkUR/b76XxVLIeALE6pSVq58uE4HbRBsTjAWP?=
 =?us-ascii?Q?3+hsu86ZFOAZmtK5wIbXh7mJmVtm4srt0Y1vmuMd5NXEMEauBrER2YJFebf2?=
 =?us-ascii?Q?PxPox0wzHJCtmr3fQribryXkmrW32w93Daq61YQ1On04U+xp7GmoUrz1Yy4d?=
 =?us-ascii?Q?2MZsVvGXmkSo6C1uxs/V/C51BrnOYaIWNpcUZUFH4j9Xk4ljypVN5UEYp9GN?=
 =?us-ascii?Q?KLxVVzRm+JwVCSburM/1ZTAjmrsHyss17ZZYrVX+vycfEElB4z6RtD8UwFQU?=
 =?us-ascii?Q?11nh7vo/LnMiNmziv29U1Nchz6dyLkkuqxkOrZMmYllqkFQTWfqUKuzNr9Gv?=
 =?us-ascii?Q?0hmMurKAoo04re9hyiQ9Yy8e2UxntXH9DM0ihIKRgGPhZRnQO3zDECGlSKla?=
 =?us-ascii?Q?oiPgUXsV5f5UoM3syZKyTEojldwvmGArwtmyqCiOD4Am1dWtTe7Qm2MyGVl3?=
 =?us-ascii?Q?qQtBJ3k6/wVdVlpNlLTY3OvXaeXD2q8NFwC59UcbDcGB+9jokjqjyyzvKB5b?=
 =?us-ascii?Q?47dgdrHQxquIONA1p/4hUJ+A1xXAyzbAXq38GB+irQ4QljKBhDuyryC2281J?=
 =?us-ascii?Q?EdLGHiSjKnoorokjWNHXhfgqA2kbS5B5mKQCCsi+nCo+2wJpo88bvxHvi+zH?=
 =?us-ascii?Q?GyPG2nWxqBBQ2/Mb3TZBh+lVrcetJy/DDCB8piHVzyalhPCC+Y0E7iRICJsR?=
 =?us-ascii?Q?oNM1WAmfMx4u/sh/Hl/s3ql88tOfw9kn1Z2ttx9fhpW7HYCD+Jw356YmWP9F?=
 =?us-ascii?Q?bhVzcUpOphE+C09XOcABoEqLoL8yDdh4Y0gHo1y/6zpJGJHZtlUDxO+g9cSY?=
 =?us-ascii?Q?12aChDvOHVWEBShzqMaRClcaviiQ1NHXVW1Fp5Q1ux1hgg6rCQHtgsmZAUjQ?=
 =?us-ascii?Q?rQPui8KamL9EB/WPX1LQRT+KEKINp3yPrpNPsQR2c7hofip23BfUcsDgPNaY?=
 =?us-ascii?Q?u+bpKhK5bsYtMhG5IhvXOeQj0mfySwiF0Faz0F6Mmb8dvlUaFAiSM76gqGS/?=
 =?us-ascii?Q?A/IufiOLyM01Sr2/R/TUnfWW0fgNzn5/LLYEDDX0PWgbHl9F4FmRHnK6GX0W?=
 =?us-ascii?Q?CHflUSYO5Wz8qi/4+T95eiG9MPjenE0awDkn7GlN8saqWqaeMJMRjb6dlCKi?=
 =?us-ascii?Q?CnalEIKl06jEE9xvzn30ozgkQ9Zee1GJTkCblTfO7Ng9pTVkSuVx64iU0huk?=
 =?us-ascii?Q?JJx0olGMiUZrHMnu+i39cQPzyHhSr1Vrp/547dL50GeDDQ6lKmm4KJLAjGk?=
 =?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e7219cf-5274-41d6-6e0c-08dd5ad38e06
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2025 04:18:02.3789
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR02MB10184

From: Sean Christopherson <seanjc@google.com> Sent: Wednesday, February 26,=
 2025 6:19 PM
>=20
> Add a "tsc_properties" set of flags and use it to annotate whether the
> TSC operates at a known and/or reliable frequency when registering a
> paravirtual TSC calibration routine.  Currently, each PV flow manually
> sets the associated feature flags, but often in haphazard fashion that
> makes it difficult for unfamiliar readers to see the properties of the
> TSC when running under a particular hypervisor.
>=20
> The other, bigger issue with manually setting the feature flags is that
> it decouples the flags from the calibration routine.  E.g. in theory, PV
> code could mark the TSC as having a known frequency, but then have its
> PV calibration discarded in favor of a method that doesn't use that known
> frequency.  Passing the TSC properties along with the calibration routine
> will allow adding sanity checks to guard against replacing a "better"
> calibration routine with a "worse" routine.
>=20
> As a bonus, the flags also give developers working on new PV code a heads
> up that they should at least mark the TSC as having a known frequency.
>=20
> Signed-off-by: Sean Christopherson <seanjc@google.com>
> ---
>  arch/x86/coco/sev/core.c       |  6 ++----
>  arch/x86/coco/tdx/tdx.c        |  7 ++-----
>  arch/x86/include/asm/tsc.h     |  8 +++++++-
>  arch/x86/kernel/cpu/acrn.c     |  4 ++--
>  arch/x86/kernel/cpu/mshyperv.c | 10 +++++++---
>  arch/x86/kernel/cpu/vmware.c   |  7 ++++---
>  arch/x86/kernel/jailhouse.c    |  4 ++--
>  arch/x86/kernel/kvmclock.c     |  4 ++--
>  arch/x86/kernel/tsc.c          |  8 +++++++-
>  arch/x86/xen/time.c            |  4 ++--
>  10 files changed, 37 insertions(+), 25 deletions(-)
>=20
> diff --git a/arch/x86/coco/sev/core.c b/arch/x86/coco/sev/core.c
> index dab386f782ce..29dd50552715 100644
> --- a/arch/x86/coco/sev/core.c
> +++ b/arch/x86/coco/sev/core.c
> @@ -3284,12 +3284,10 @@ void __init snp_secure_tsc_init(void)
>  {
>  	unsigned long long tsc_freq_mhz;
>=20
> -	setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
> -	setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
> -
>  	rdmsrl(MSR_AMD64_GUEST_TSC_FREQ, tsc_freq_mhz);
>  	snp_tsc_freq_khz =3D (unsigned long)(tsc_freq_mhz * 1000);
>=20
>  	tsc_register_calibration_routines(securetsc_get_tsc_khz,
> -					  securetsc_get_tsc_khz);
> +					  securetsc_get_tsc_khz,
> +					  TSC_FREQ_KNOWN_AND_RELIABLE);
>  }
> diff --git a/arch/x86/coco/tdx/tdx.c b/arch/x86/coco/tdx/tdx.c
> index 42cdaa98dc5e..ca31560d0dd3 100644
> --- a/arch/x86/coco/tdx/tdx.c
> +++ b/arch/x86/coco/tdx/tdx.c
> @@ -1135,14 +1135,11 @@ static unsigned long tdx_get_tsc_khz(void)
>=20
>  void __init tdx_tsc_init(void)
>  {
> -	/* TSC is the only reliable clock in TDX guest */
> -	setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
> -	setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
> -
>  	/*
>  	 * Override the PV calibration routines (if set) with more trustworthy
>  	 * CPUID-based calibration.  The TDX module emulates CPUID, whereas any
>  	 * PV information is provided by the hypervisor.
>  	 */
> -	tsc_register_calibration_routines(tdx_get_tsc_khz, NULL);
> +	tsc_register_calibration_routines(tdx_get_tsc_khz, NULL,
> +					  TSC_FREQ_KNOWN_AND_RELIABLE);
>  }
> diff --git a/arch/x86/include/asm/tsc.h b/arch/x86/include/asm/tsc.h
> index 9318c74e8d13..360f47610258 100644
> --- a/arch/x86/include/asm/tsc.h
> +++ b/arch/x86/include/asm/tsc.h
> @@ -41,8 +41,14 @@ extern int cpuid_get_cpu_freq(unsigned int *cpu_khz);
>  extern void tsc_early_init(void);
>  extern void tsc_init(void);
>  #if defined(CONFIG_HYPERVISOR_GUEST) || defined(CONFIG_AMD_MEM_ENCRYPT)
> +enum tsc_properties {
> +	TSC_FREQUENCY_KNOWN	=3D BIT(0),
> +	TSC_RELIABLE		=3D BIT(1),
> +	TSC_FREQ_KNOWN_AND_RELIABLE =3D TSC_FREQUENCY_KNOWN | TSC_RELIABLE,
> +};
>  extern void tsc_register_calibration_routines(unsigned long (*calibrate_=
tsc)(void),
> -					      unsigned long (*calibrate_cpu)(void));
> +					      unsigned long (*calibrate_cpu)(void),
> +					      enum tsc_properties properties);
>  #endif
>  extern void mark_tsc_unstable(char *reason);
>  extern int unsynchronized_tsc(void);
> diff --git a/arch/x86/kernel/cpu/acrn.c b/arch/x86/kernel/cpu/acrn.c
> index 2da3de4d470e..4f2f4f7ec334 100644
> --- a/arch/x86/kernel/cpu/acrn.c
> +++ b/arch/x86/kernel/cpu/acrn.c
> @@ -29,9 +29,9 @@ static void __init acrn_init_platform(void)
>  	/* Install system interrupt handler for ACRN hypervisor callback */
>  	sysvec_install(HYPERVISOR_CALLBACK_VECTOR, sysvec_acrn_hv_callback);
>=20
> -	setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
>  	tsc_register_calibration_routines(acrn_get_tsc_khz,
> -					  acrn_get_tsc_khz);
> +					  acrn_get_tsc_khz,
> +					  TSC_FREQUENCY_KNOWN);
>  }
>=20
>  static bool acrn_x2apic_available(void)
> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyper=
v.c
> index 174f6a71c899..445ac3adfebc 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -421,8 +421,13 @@ static void __init ms_hyperv_init_platform(void)
>=20
>  	if (ms_hyperv.features & HV_ACCESS_FREQUENCY_MSRS &&
>  	    ms_hyperv.misc_features & HV_FEATURE_FREQUENCY_MSRS_AVAILABLE) {
> -		tsc_register_calibration_routines(hv_get_tsc_khz, hv_get_tsc_khz);
> -		setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
> +		enum tsc_properties tsc_properties =3D TSC_FREQUENCY_KNOWN;
> +
> +		if (ms_hyperv.features & HV_ACCESS_TSC_INVARIANT)
> +			tsc_properties =3D TSC_FREQ_KNOWN_AND_RELIABLE;
> +
> +		tsc_register_calibration_routines(hv_get_tsc_khz, hv_get_tsc_khz,
> +						  tsc_properties);
>  	}

For the Hyper-V guest code,

Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Tested-by: Michael Kelley <mhklinux@outlook.com>

>=20
>  	if (ms_hyperv.priv_high & HV_ISOLATION) {
> @@ -525,7 +530,6 @@ static void __init ms_hyperv_init_platform(void)
>  		 * is called.
>  		 */
>  		wrmsrl(HV_X64_MSR_TSC_INVARIANT_CONTROL,
> HV_EXPOSE_INVARIANT_TSC);
> -		setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
>  	}
>=20
>  	/*
> diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
> index 399cf3286a60..a3a71309214c 100644
> --- a/arch/x86/kernel/cpu/vmware.c
> +++ b/arch/x86/kernel/cpu/vmware.c
> @@ -385,10 +385,10 @@ static void __init vmware_paravirt_ops_setup(void)
>   */
>  static void __init vmware_set_capabilities(void)
>  {
> +	/* TSC is non-stop and reliable even if the frequency isn't known. */
>  	setup_force_cpu_cap(X86_FEATURE_CONSTANT_TSC);
>  	setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
> -	if (vmware_tsc_khz)
> -		setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
> +
>  	if (vmware_hypercall_mode =3D=3D CPUID_VMWARE_FEATURES_ECX_VMCALL)
>  		setup_force_cpu_cap(X86_FEATURE_VMCALL);
>  	else if (vmware_hypercall_mode =3D=3D CPUID_VMWARE_FEATURES_ECX_VMMCALL=
)
> @@ -417,7 +417,8 @@ static void __init vmware_platform_setup(void)
>=20
>  		vmware_tsc_khz =3D tsc_khz;
>  		tsc_register_calibration_routines(vmware_get_tsc_khz,
> -						  vmware_get_tsc_khz);
> +						  vmware_get_tsc_khz,
> +						  TSC_FREQ_KNOWN_AND_RELIABLE);
>=20
>  #ifdef CONFIG_X86_LOCAL_APIC
>  		/* Skip lapic calibration since we know the bus frequency. */
> diff --git a/arch/x86/kernel/jailhouse.c b/arch/x86/kernel/jailhouse.c
> index b0a053692161..d73a4d0fb118 100644
> --- a/arch/x86/kernel/jailhouse.c
> +++ b/arch/x86/kernel/jailhouse.c
> @@ -218,7 +218,8 @@ static void __init jailhouse_init_platform(void)
>=20
>  	machine_ops.emergency_restart		=3D jailhouse_no_restart;
>=20
> -	tsc_register_calibration_routines(jailhouse_get_tsc, jailhouse_get_tsc)=
;
> +	tsc_register_calibration_routines(jailhouse_get_tsc, jailhouse_get_tsc,
> +					  TSC_FREQUENCY_KNOWN);
>=20
>  	while (pa_data) {
>  		mapping =3D early_memremap(pa_data, sizeof(header));
> @@ -256,7 +257,6 @@ static void __init jailhouse_init_platform(void)
>  	pr_debug("Jailhouse: PM-Timer IO Port: %#x\n", pmtmr_ioport);
>=20
>  	precalibrated_tsc_khz =3D setup_data.v1.tsc_khz;
> -	setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
>=20
>  	pci_probe =3D 0;
>=20
> diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
> index 1dbe12ecb26e..ce676e735ced 100644
> --- a/arch/x86/kernel/kvmclock.c
> +++ b/arch/x86/kernel/kvmclock.c
> @@ -199,7 +199,6 @@ void kvmclock_cpu_action(enum kvm_guest_cpu_action ac=
tion)
>   */
>  static unsigned long kvm_get_tsc_khz(void)
>  {
> -	setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
>  	return pvclock_tsc_khz(this_cpu_pvti());
>  }
>=20
> @@ -403,7 +402,8 @@ void __init kvmclock_init(void)
>=20
>  	kvm_sched_clock_init(stable);
>=20
> -	tsc_register_calibration_routines(kvm_get_tsc_khz, kvm_get_tsc_khz);
> +	tsc_register_calibration_routines(kvm_get_tsc_khz, kvm_get_tsc_khz,
> +					  TSC_FREQUENCY_KNOWN);
>=20
>  	x86_platform.get_wallclock =3D kvm_get_wallclock;
>  	x86_platform.set_wallclock =3D kvm_set_wallclock;
> diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
> index 5501d76243c8..be58df4fef66 100644
> --- a/arch/x86/kernel/tsc.c
> +++ b/arch/x86/kernel/tsc.c
> @@ -1301,11 +1301,17 @@ static void __init check_system_tsc_reliable(void=
)
>   */
>  #if defined(CONFIG_HYPERVISOR_GUEST) || defined(CONFIG_AMD_MEM_ENCRYPT)
>  void tsc_register_calibration_routines(unsigned long (*calibrate_tsc)(vo=
id),
> -				       unsigned long (*calibrate_cpu)(void))
> +				       unsigned long (*calibrate_cpu)(void),
> +				       enum tsc_properties properties)
>  {
>  	if (WARN_ON_ONCE(!calibrate_tsc))
>  		return;
>=20
> +	if (properties & TSC_FREQUENCY_KNOWN)
> +		setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
> +	if (properties & TSC_RELIABLE)
> +		setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
> +
>  	x86_platform.calibrate_tsc =3D calibrate_tsc;
>  	if (calibrate_cpu)
>  		x86_platform.calibrate_cpu =3D calibrate_cpu;
> diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
> index 13e5888c4501..4de06ea55397 100644
> --- a/arch/x86/xen/time.c
> +++ b/arch/x86/xen/time.c
> @@ -40,7 +40,6 @@ static unsigned long xen_tsc_khz(void)
>  	struct pvclock_vcpu_time_info *info =3D
>  		&HYPERVISOR_shared_info->vcpu_info[0].time;
>=20
> -	setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
>  	return pvclock_tsc_khz(info);
>  }
>=20
> @@ -571,7 +570,8 @@ static void __init xen_init_time_common(void)
>  	 */
>  	paravirt_set_sched_clock(xen_sched_clock, NULL, NULL);
>=20
> -	tsc_register_calibration_routines(xen_tsc_khz, NULL);
> +	tsc_register_calibration_routines(xen_tsc_khz, NULL,
> +					  TSC_FREQUENCY_KNOWN);
>  	x86_platform.get_wallclock =3D xen_get_wallclock;
>  }
>=20
> --
> 2.48.1.711.g2feabab25a-goog
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 08:18:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 08:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900844.1308807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpNTL-0005xu-9Z; Tue, 04 Mar 2025 08:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900844.1308807; Tue, 04 Mar 2025 08:17: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 1tpNTL-0005xn-6Z; Tue, 04 Mar 2025 08:17:51 +0000
Received: by outflank-mailman (input) for mailman id 900844;
 Tue, 04 Mar 2025 08:17: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=kFsD=VX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpNTJ-0005xh-VR
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 08:17:49 +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 25f6b739-f8d1-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 09:17:44 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5dca468c5e4so9570383a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 00:17:44 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-abf6aeaff51sm416884366b.142.2025.03.04.00.17.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 00:17:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25f6b739-f8d1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741076263; x=1741681063; darn=lists.xenproject.org;
        h=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=Ux/jIAVztGit/84gK6nKHmn/f80sVYBPJTTboGQhCN4=;
        b=tDGCCEBjx0q/EsXNKbK+udP0QVzfQ02JFVVYA36OAi5Q1lV1Soh8bPaCeoTjHUrbZ5
         aQ+cZD7cYmvcxzInjHT3FoPhpSKoIlkKltSH2gzp8C5zTzadmMO3aJC8OoZLkrOY02wC
         BR93xKOMQ5mYx4PICyPdv9KxB5pc2CJBfVzfE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741076263; x=1741681063;
        h=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=Ux/jIAVztGit/84gK6nKHmn/f80sVYBPJTTboGQhCN4=;
        b=u2kz4Gkpet1MhRmEqELy8rYBVlh5UZNxQnmVO0/8G0tLoLfcu5gNW/LG1dC2radgiz
         ODqgZ7be0QTrgNYhbTPCckcqSSNEn7w0LW8EWnWKlSFrdhQY1BMNCHDBJ6qevnblAlgb
         ngbAHVsw2wwjssM+O6uMwrblvvLriCaKmDx08G0chep2g1dQabVTm+slKvVuIf5C5oGF
         2tkMnXIbb5+KNZobdiZpjb5m967OIpUXoNFpdlOo+sWmzo9XVOc0xkjKRsIDDzDj3kb3
         CZx6HP5XZW+ulKqBKqGFB3kcBbd06hKNypfyT1Uoj48HJBSnT9O2AGqJgXv1qrPiLYvl
         9vMw==
X-Gm-Message-State: AOJu0YzHRpfoju2Y6wYv7WHRpYRywvO/Mttiot97CxTJqCErKVYZvTSM
	wijCGoEeOrFdTUUtr+8q4LjPdGoirs5XbqoCDLWl7jckCOowGL97K9MDCcEHShg=
X-Gm-Gg: ASbGnctI6SP0DnnmKC7WFluB3JuWCj3m72XWd/sAOS8Co0jsdUHeZUKkxe8V2aYwD2z
	VvOJW0oTXTK1LxcE9l3lymmgkAvtURsPABfEws2x7vNZBYkUuadxopXlAXShu20JX9PhjX5NLGQ
	qmIjE03uiqcJS0SLlfBt2r63mpqAEQ0nmITqBz/bThUuFjAL7DenWZvDV30Q0CuKm6sZPuayXnZ
	jh4lvPbKTr2VXXuDEeDb6Mc7c8B7l8wBhcmxKhPtnCuv5+2GVrKPWv+3Of6uw/TeLYOSu7RaWB2
	XlHpD/TTb3mWnItgFZzRTQQA+FKza4p1kVSnRocE47JxhK6zjLMy+tQ=
X-Google-Smtp-Source: AGHT+IG6fGLPP2yG0CPSXZba5+SDL+KLTAXXLLQ5vkUJBKplBVR6DpOXc3SiJWtiotTvReWxuhsb5A==
X-Received: by 2002:a17:906:4fcb:b0:abf:6a53:2ce0 with SMTP id a640c23a62f3a-abf6a53392emr982215766b.14.1741076263516;
        Tue, 04 Mar 2025 00:17:43 -0800 (PST)
Date: Tue, 4 Mar 2025 09:17:42 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
	Artem_Mygaiev@epam.com, jbeulich@suse.com, Luca.Fancellu@arm.com,
	marmarek@invisiblethingslab.com, andrew.cooper3@citrix.com,
	anthony.perard@vates.tech
Subject: Re: [PATCH 1/4] Add .clang-format files to enable manual coding
 style checks
Message-ID: <Z8a3JmNFKPI6h0s7@macbook.local>
References: <20250301114242.93650-1-andr2000@gmail.com>
 <20250301114242.93650-2-andr2000@gmail.com>
 <Z8XFRmK_kL6Lp9Xk@macbook.local>
 <2e26f594-edfc-4687-8433-4d04a527388e@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2e26f594-edfc-4687-8433-4d04a527388e@gmail.com>

On Mon, Mar 03, 2025 at 09:23:57PM +0200, Oleksandr Andrushchenko wrote:
> Hello, Roger!
> 
> On 03.03.25 17:05, Roger Pau MonnĂŠ wrote:
> > On Sat, Mar 01, 2025 at 01:42:39PM +0200, Oleksandr Andrushchenko wrote:
> > > Disable coding style checks for the project, but xen/ folder:
> > > this is done by providing a global .clang-format at the top level which
> > > disables clang-format and only providing .clang-format for xen/.
> > > 
> > > clang-format version expected to be >15 and the latest tool can be
> > > installed with:
> > > python3 -m pip install clang-format
> > > 
> > > Please note, that no automatic code style checks are performed and all
> > > those can be run manually:
> > > 
> > > - to see changes proposed to the patch being worked on (not committed yet):
> > > git-clang-format --diff --style=file --verbose
> > > 
> > > - to run code formatting on the HEAD patch:
> > > git-clang-format --style=file --verbose HEAD~1
> > > 
> > > Provided xen/.clang-format still has a lot of comments gathered from the
> > > previous discussions. This is for purpose of better seeing why some of
> > > the options have their values. Once option values are accepted all those
> > > comments can be removed.
> > I think the comments need to be trimmed to a concise explanation of
> > why a setting is the way it is.  The (IMO overly long) excerpts from
> > email conversations are difficult to follow in this context.  Someone
> > has to spend the time to digest them and provide a shorter comment.
> This is the goal. I do not expect the patch to be committed right
> now, so I left those intentionally to provide some background
> when those options were discussed before and, possibly, to
> address some questions which were brought earlier.
> The final patch will have all those in the way you mention here
> > 
> > One thing that I'm missing: don't we need a list of excluded files
> > somewhere because they are imports from Linux and we would like to
> > keep the Linux coding style for avoiding conflicts when backporting
> > fixes?
> All files are excluded from formatting, but xen/ directory: this is
> by providing a top level .clang-format file which disables all
> formatting and also providing xen/.clang-format which is exactly
> for xen/.

There are files with intentional Linux coding style inside of xen/,
for example xen/arch/x86/cpu/mwait-idle.c.  We would need a way to
filter those out so that clang-format doesn't attempt to apply the Xen
coding style to them.

Otherwise it needs to be noted possibly in .clang-format that while
the clang-format style will apply by default to all files inside of
xen/, some of those use a different coding style on purpose, and those
should not be reformatted.

We also have some scripts in python and shell inside of both tools/
and scripts/, are those already excluded by clang-format by not having
a .c or .h extension?

> > > +################################################################################
> > > +# Options and their discussions
> > > +################################################################################
> > > +
> > > +# [not specified]
> > > +# Align function parameter that goes into a new line, under the open bracket
> > > +# (supported in clang-format 3.8)
> > > +# ------------------------------------------------------------------------------
> > > +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
> > > +# ------------------------------------------------------------------------------
> > > +# Luca: This one is to align function parameters that overflows the line length,
> > > +# I chose to align them to the open bracket to match the current codebase
> > > +# (hopefully) e.g.:
> > > +# someLongFunction(argument1,
> > > +#                  argument2);
> > > +#
> > > +# This one can be a candidate for an entry in our coding style
> > > +# ------------------------------------------------------------------------------
> > > +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
> > > +# ------------------------------------------------------------------------------
> > > +# Jan:
> > > +# > e.g.:
> > > +# > someLongFunction(argument1,
> > > +# >                  argument2);
> > > +# The above matches neither of the two generally permitted styles:
> > > +#
> > > +#    someLongFunction(argument1,
> > > +#                     argument2);
> > > +#
> > > +#    someLongFunction(
> > > +#        argument1,
> > > +#        argument2);
> > > +#
> > > +# Then again from its name I would infer this isn't just about function
> > > +# arguments?
> > > +#
> > > +# ------------------------------------------------------------------------------
> > > +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
> > > +# ------------------------------------------------------------------------------
> > > +# Luca:
> > > +# I think it applies to parameters and arguments of functions and macro, given
> > > +# the description in the docs.
> > > +# I see your two snippets above but Iâve always found at least on arm a
> > > +# predominance of the style above for functions, so arguments aligned after the
> > > +# opening bracket, for macros there is a mix.
> > > +# I might be wrong though and so another opinion from another maintainer would
> > > +# help.
> > > +# In any case we can choose among many value:
> > > +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
> > > +# but when we do so, we need to stick to one permitted style only, the tool donât
> > > +# allow to specify more than one.
> > > +#
> > > +# ------------------------------------------------------------------------------
> > > +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02311.html
> > > +# ------------------------------------------------------------------------------
> > > +# Jan:
> > > +# > I see your two snippets above but Iâve always found at least on arm a
> > > +# > predominance of the style above for functions, so arguments aligned after
> > > +# > the opening bracket, for macros there is a mix.
> > > +#
> > > +# The latter "above" refers to which form exactly? The one you originally
> > > +# spelled out, or the former of what my reply had?
> > > +#
> > > +# > In any case we can choose among many value:
> > > +# > https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
> > > +# > but when we do so, we need to stick to one permitted style only, the tool
> > > +# > donât allow to specify more than one.
> > > +#
> > > +# a2k: RED FLAG
> > What does 'a2k' mean?
> > 
> > I'm afraid this needs to be trimmed to a more manageable comment,
> > otherwise I simply get lost in the context.  Maybe it makes sense more
> > people involved in the discussion.
> Sure, see my explanation above: this is just to give some more context
> and have some ready answers for the questions being asked before.
> I will remove all these right after we have some consensus.

Sorry for possibly not fully understanding the purpose and being
stubborn, but IMO consensus should be reached on the email discussion,
so that here you can make a proposal, possibly with a comment
justifying the chosen value.  Just copying excerpts from the email
thread is not likely to help, as I at least find myself completely
lost.

Otherwise if there's no consensus just add a TODO next to the option
explaining why the current setting might not be optimal or the (known)
shortcomings of it, so that we know there's some pending work in this
area.  But it needs to be a concrete list, not pieces from an email
discussion.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 08:18:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 08:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900845.1308818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpNTQ-0006CW-Ir; Tue, 04 Mar 2025 08:17:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900845.1308818; Tue, 04 Mar 2025 08:17: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 1tpNTQ-0006CP-EG; Tue, 04 Mar 2025 08:17:56 +0000
Received: by outflank-mailman (input) for mailman id 900845;
 Tue, 04 Mar 2025 08: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=8kcs=VX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tpNTP-0006C1-KY
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 08:17:55 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20628.outbound.protection.outlook.com
 [2a01:111:f403:2418::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2aa178aa-f8d1-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 09:17:53 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by PH8PR12MB6747.namprd12.prod.outlook.com (2603:10b6:510:1c3::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Tue, 4 Mar
 2025 08:17:49 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 08:17: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: 2aa178aa-f8d1-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pXQAMk/EEav/DPgDxpLDovb8ywfzt8jGYAMjYAqCEYOPSBkCO/vgKaAhwJ23yGC+1MNE2fTbQlQdrbOJ7U+1N+jglZvaOtaGcKerZ6HdGHdJ4ZXfSc5boqY9MzYblfz4U4EMtHDUzuApiPgB9xzQr2oQyKWOBMt0GCqt78ADkLPKWhuBxxGC4X6AoXV7JH+4ZFia0/jK/7IdSF0opz4Bb9xxC7znf3IRrF2yHFX2LSbSDZochRFY+OvcPbOb5P4Iwc30+LzkZ2zy4mWZpvnaeKoDG7tEzfXWIPhpyiHay6Im5WHwhjOGNOgCLuFn1XIJ+R3oZEzQ/k60rJPiH8RCJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SsAWZfdnJqXz0aa5cY6heaifmfkbOH7pvqDehqhz9ug=;
 b=ePlY6N3ASF3WsgHdn9VmNCQToZJeD5wDcJpqJUpCk7V3DESKRiFh3sPF4eXfNY8hgpe6Uo28V5Pu25cP34E3yWRNgSLuOUr0Xzqf063T6RnUdCO5c6JYuKX8XGGgXRcZvKZhAI63Mvx9PUp3HPq/6Ce8zSAfeJ5EfcIXwf6VS8Q2o/uBqRwOaO1sHBPdec87CSBrKulbVUvjufOR0f4xStGHxlgWCC41RjZsR42Amdi8BAL/IDUo3G1q2htsyQRRsSsTbhid/p2iFkBzRxhd9Tc++cN0kPwWOks4MxNjceGyGAA39sP6iBjtnqlJR3xxdaLQUFX01ijupPQA/XjWrw==
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=SsAWZfdnJqXz0aa5cY6heaifmfkbOH7pvqDehqhz9ug=;
 b=3osShgR4IgS1glt7+ZTEHJjZy1OToGdKPFvfNQw98JLgoApYIEu+T40qLi3hXXqY7EYguwj88Rn4PjGAjlBrtPjl+FmXDCz4AIa8lldCTSW8LUV2/BRu+ien0BRedOolhvHUOKDRkixMddes8Bd8ZgyfHQ3XEkinCR5xAEoOcHM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <83f16516-9c81-495d-8d56-eb299e8e10d8@amd.com>
Date: Tue, 4 Mar 2025 09:17:31 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/arm: Don't use copy_from_paddr for DTB relocation
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250226215256.2713698-1-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250226215256.2713698-1-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: JN3P275CA0018.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:71::6)
 To BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|PH8PR12MB6747:EE_
X-MS-Office365-Filtering-Correlation-Id: b067dd8e-a99f-4414-387b-08dd5af50940
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?ZFJ1Wnpva2FMS1J2NXpIeElySEdFcUhSL2pDYmlJOXR5ZEhKWmoxekowTUd2?=
 =?utf-8?B?L204eWlBa2xmMDJ1YThkRDRmalIwN1MwME1lZnU5ZFZEY0RYVkc4bDdHK1dE?=
 =?utf-8?B?M0VxUFpuQW9FOGFJbGJpSGpwbFM1c2F0anBBMTBjdkpFRFVZa2ZHczBQS0tW?=
 =?utf-8?B?SFh1VWs4UFlLaFRlOGZMeDkvaVp2SmRQZStWenp0YTcrWklLUGFhSWNzdkJE?=
 =?utf-8?B?cVhsM21zcEwrSGV2Vys5dlNIMnpaSHFCZ2ZEdFBvK25mM3ErYjkvWWFWbWVZ?=
 =?utf-8?B?VjFKSXFSc2YwazhNMGNpZTdsQzBJQjBnOVVnSTBYTnExOG9OdkJuVURoNmw4?=
 =?utf-8?B?WXdBVnE3dTlQMkFLZzNSTVNBR3dCMWdRWUpVWmlTNFdaVmJodUtaNllKT01X?=
 =?utf-8?B?V3BpY3lzdWZWYWpNZVpuZW5GNFpJcnZGbVBFM29pL3p0UlFNdUNjalNIVkZK?=
 =?utf-8?B?MnI2Tlh0UGY4eG1xelRCem0xUG0rajdNMnpvS1N4bEVSWVEzNjlOTzlKT1hl?=
 =?utf-8?B?M0xNOVlIRFRWN3h1d1NoU1J6ZjVWSDMwSTNOZ0tySFhucm9KWGlUaFZZL3ND?=
 =?utf-8?B?YU91T3pZckZxSUxibWVQWEF1bU50TlZmSUFCWDFNUGJoSFpCbHBXTlNHMkx5?=
 =?utf-8?B?OHllb0t2TW1mZFlOeVA5bmNtOFlBRzZsTWpzZXlKK09PM3RnbU1ZS3VWQmw5?=
 =?utf-8?B?MlZVYU5SRnFTMjFWdVBVQ0xvOW9lQW1YWlA1ZWx3NUkvNkRON0w0VDB2MkpW?=
 =?utf-8?B?aldwM1RCTng3NVVhbFhkK1hDRzRDZTJyY3NWZEx2YkQ2VGh2WnZJUDVMODJG?=
 =?utf-8?B?ZVpRRThRdTVzQjNiN2t1blVPUVhRQWNXaGU5RWkvN3BiaEM2TDNUOW1kSWZJ?=
 =?utf-8?B?ZWtadC9zL1NuOVZIcmwrU1RCQTdzcnNqVHNKOTJwMXE4ZWtBZGFxVlhWWloy?=
 =?utf-8?B?NGRuYncxdWhnbmJxdUVsb2d1V1l0dlBYRjFUMVVIS094T2U0Wkg5a1BtM1Z3?=
 =?utf-8?B?WUNRQVJvQ3BXbXI1V3dZMjViZy80eWxrZHZMeDdCenRNZW82SW5RVmExc0Ex?=
 =?utf-8?B?ejhaQUt5d3d3c3FYVmJZNERaRFc1OHBJVE9pbUJGR3JuYTc4WDQwcDNCRFBV?=
 =?utf-8?B?SkU0aU4weDg2SlpTRTF6QmFUcWx2S1VOWnNGc3E4ZE9wTEpsMWdIVzY0RmZB?=
 =?utf-8?B?cHZ6dGJKN0dSWWdDbzdOUEV5b0c5Wnd6L3RxbWRWK08vNlI2NWoxL0trY21i?=
 =?utf-8?B?ODB2N3A0a0R3Z3pIaCtLMXBpWFpvR0x3SlFwZHAyUHcvK0VyL2R2MlFzN21O?=
 =?utf-8?B?Z0Z5R2g2cHlNSTErS2lOSmVIb1BMQ083OExRSkpoWTN0RWQ2SkFuSENYSk5V?=
 =?utf-8?B?MXlGSFNFSkoxdFQ5WXVOWUpyYjlGQ2tKQ3JIT3lDK2FnVHJmajJadGhyRDZw?=
 =?utf-8?B?ZkVGakEydi9rQSs0ZG4zSE5Ob09Oc242SjRWaFFDOTZlMU5Ua0NFZm9WaXRL?=
 =?utf-8?B?UW1STWRPQnd2L25wMmZlcHZFU25PSVhNNU1MQ0dXMUVmVEc4LzFpWmNiWnhV?=
 =?utf-8?B?QVVNY09pYStXNnlsSEk5cFRkZVZTMUduZjhCL2pMd2RHRnM5RDlvZXM2ektx?=
 =?utf-8?B?T2x2cXdTTzk4UUYzWGhzQklPMnhrZC9rYlp3M0RUR1B6WGNURldPUE1BUXVE?=
 =?utf-8?B?T0dVR0xGUC9hWEZRWnQ2Y1Y2REpLSVN0dDUzU0FqYmV3R2xIckg2SkpnLzZn?=
 =?utf-8?B?cms4NVU0MGtCT1dEcksvanB3Z0pwaWZ5bUFIWm5aVDRiWDhVSUZpUks2eFov?=
 =?utf-8?B?U1hacVUrSWVqUzFZNUVUbStKVFlDZVRsQWI3dzRDb24xYnl4UHpSbGY0aHRU?=
 =?utf-8?Q?ypA0VXE15Fpvg?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?bTlBU1lIVHFzN1ZDWlB5K2VyNzlqSTFTTnpVWkpkdFRKQVR4K2VwZURCbHh2?=
 =?utf-8?B?RHBIRzRxU1JrZjRVWjVydUFkWDF6N1BKeXY0TytEanJob0ZJMkU1SndMMWJr?=
 =?utf-8?B?VUs5UUM4MW1QQjcvRG9NTTYwSmUwU3cwVU5GWkprOElvMUgxcGtHWmF2RGNF?=
 =?utf-8?B?TUIwUUtISTlhY3lWOHI4M3poVnBQN0VQUjVmbUhRUUxldjhLZTRxSFBValMx?=
 =?utf-8?B?UnpGakZwcVBiOUJPUjdWSXJJNUltSTJ6RmR6WTM0aUZ1K2xxMUhvbzFIUDZN?=
 =?utf-8?B?WXd3L05sdHpkVE9heDY0cmM2WUloYyt6YjhDTXNSNEZRYk5uQWlRbFJFMVRt?=
 =?utf-8?B?TzVXMkxkd2VYVXBuMTlvOU5sdU1PdUhlVDRWemtKRUZCcVM5UW1SNGNmU09q?=
 =?utf-8?B?NVFYZFZMNzhxZmdLWG1YWU5WbzNVY0Npczdxc3lQQ1orSmRnaXVjRFBlQlNE?=
 =?utf-8?B?RkRmSjZPVGZTdDVsMjA2cVBNOFNhQkM0bHlScCs4N2xkQVJSTEwzYlk2QlVU?=
 =?utf-8?B?ajh1UTVIdGg0VmZPeDNsb28rNzZCWWJ6M0NsYzlHOXliL0doS1UyK2JvVUxi?=
 =?utf-8?B?MkJmNjlxVEFkbXF0S01HTkRYSWRWcVFvU2kwOGl0anpXblk4RE5VQ0RqRXZj?=
 =?utf-8?B?VUFGckI2ZFcrTEdRS0NFR1o4MVlqWkFGdkNmKzl3WmpwWWtITXRRZVYwc25I?=
 =?utf-8?B?VHpOdUZBWjM1NXd5ZzhMeUZycURvZm9NZndieWgvK25pbDAvZ2o3d0RYeGJp?=
 =?utf-8?B?VXhDRlZqNzQrNzRURFV6a0dkckdGemJ4dmZSNjNyenVYMmRuOE5JSnJhMm4x?=
 =?utf-8?B?b2dWVFJOQitxUW5Pam9vUDV4Yld5RVRteGIzRitPV1dCNUdJcFdhTWRTKytm?=
 =?utf-8?B?bCt3TFkzWUhhbEh1N1p0bHNFR0lEYkNkaTZZOWdJU1h3OHFnckNHQzJWTElW?=
 =?utf-8?B?R0ZYUzFydUxzVmhtSjkyZDJpa3JlRFpVUjJmdzJYS3VXeC8ra2hFTFVHRys5?=
 =?utf-8?B?MmFTcXUvTGtWeVRRYW1QV0d4U2RZKy9ZcTJkM1BTMDFHdlNTRzF1Z0VQZm50?=
 =?utf-8?B?bU9DaC9FWmF3eXJTRTc3Wkg3RXM1OXFPWkhNVTBKOE00RUE1TzVCOUNRUmt1?=
 =?utf-8?B?dzRyY255dkxabXdwbmdwK0RmZ1lXN3VpcC9EUkQxVkxNeFhDY1dlb0tQa2NB?=
 =?utf-8?B?djdSMHFrcDdkRWpHdjZ0czZRZVI5OEZ1NW13b0FNdlFsbDMwSTBIclJUcFVZ?=
 =?utf-8?B?Wkp2bkhGTVBLMDMrOWtnTC9HK0lsUHBrRDdsSzl2OGVpQk5TSFpoaWEvcmZE?=
 =?utf-8?B?UnlXN3ZacnNwYTBNazI0TEV4WlB3UDZIczl6ZnYwNHRYeGthd3hIa3UreWNr?=
 =?utf-8?B?aHhXTzNkSlNaOUhaQmVJTEJlTWw2VHlFL0JMWER6VXliNHFGNEpiamE1bk1r?=
 =?utf-8?B?eDI3TlFzN3dmRWIvYkdQZlpVa0hCUGE2dHNxMHU1TERVZkordDdnd003eitV?=
 =?utf-8?B?NWh6VkgxakJndXVNYkQ0MWNaenI2aHoxYUR6OTJLQzNDUGpLV0RMVmd4c3ZV?=
 =?utf-8?B?aFZwNGVEZjVNcWdJUzhTTFlNdDFDZ3pFaFl6U1ZQbktVb1crTG5FRDJiTWRZ?=
 =?utf-8?B?dWYvVGRlT285dmtuK3VnM3BraEg0b3NGRVM2NVFMQ0NIaTlja0NLc1RRRzhR?=
 =?utf-8?B?dC9oMFRpWkthRjBTNkl0S2JJcXkzNDRSMEM0N21nckx2bXdBcDlxemlFQlBs?=
 =?utf-8?B?R3grRWl2Y3NYcHR6ZStKQi8vRW41ZU9tRExRWFQ5NkpTWFlxeVZVOVpKWnJN?=
 =?utf-8?B?eUVhVHRCOWEzU0xSS2NUdmtKU3Q5NDI2WEFQVW53ZlI3Vjl4T0x0TERwY0ND?=
 =?utf-8?B?b1p0T3VjUWNsLzUzZWMvaXZOL2FUN254YnRzajd5cmxpSmlSQzFKNG5DMm4v?=
 =?utf-8?B?L1dmckNSbFRwdTVvdjVOcTNqaE1MSHlGUlVVbWREQVF6bUlDdUNVTmZmNkcz?=
 =?utf-8?B?aENMK3Q1dkhkUld2NkV6U3c0V0FRMlFENWtrQ1NoUzRjb2JoTWV0bTRKNXZD?=
 =?utf-8?B?VUp3NHprcnQwL1ZvK1M2ajlLcmh0RmhMWFlSMUdpeFpoWGpDWklMaTU3TlNH?=
 =?utf-8?Q?WqxNex6S6RAkvUk+0Dv2pfBd6?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b067dd8e-a99f-4414-387b-08dd5af50940
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 08:17:42.6846
 (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: dxdX3GLUOBdeQRxd5tqgsQWKdRll6Za3ePSXgfWSTIru3LuJJVyAGZXqMcVfpviU
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6747



On 26/02/2025 22:52, Luca Fancellu wrote:
> 
> 
> Currently the early stage of the Arm boot maps the DTB using
> early_fdt_map() using PAGE_HYPERVISOR_RO which is cacheable
> read-only memory, later during DTB relocation the function
> copy_from_paddr() is used to map pages in the same range on
> the fixmap but using PAGE_HYPERVISOR_WC which is non-cacheable
> read-write memory.
> 
> The Arm specifications, ARM DDI0487L.a, section B2.11 "Mismatched
> memory attributes" discourage using mismatched attributes for
> aliases of the same location.
> 
> Given that there is nothing preventing the relocation since the region
> is already mapped, fix that by open-coding copy_from_paddr inside
> relocate_fdt, without mapping on the fixmap.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 09:52:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 09:52:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900868.1308827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpOwS-0004W7-10; Tue, 04 Mar 2025 09:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900868.1308827; Tue, 04 Mar 2025 09:51: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 1tpOwR-0004W0-TK; Tue, 04 Mar 2025 09:51:59 +0000
Received: by outflank-mailman (input) for mailman id 900868;
 Tue, 04 Mar 2025 09:51: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=kFsD=VX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpOwQ-0004Vu-Pr
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 09:51:58 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f3fa59e-f8de-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 10:51:57 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-2235189adaeso87601455ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 01:51:57 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-223504dc4a4sm91399565ad.169.2025.03.04.01.51.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 01:51:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f3fa59e-f8de-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741081916; x=1741686716; darn=lists.xenproject.org;
        h=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=mTMGfbrSrCedw7npcl9P915wIbBLSeNbLZzgVIZrRHQ=;
        b=jMJgtcag6TxgOExRLuPAlJ82j+x5KRsLpKdy0Jno7DxWobXmuNrBh0e4lK6PNNnoZz
         xes7dGG6Gr/D8lj3QBcLZmSD3TqPr/GbTg3R69KMxJZeqRTCRwc2pi/jhsI6mT+587X6
         rdp1bWiVBh1O3qbPdPyju5Zf0sHGIfhKTWdQg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741081916; x=1741686716;
        h=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=mTMGfbrSrCedw7npcl9P915wIbBLSeNbLZzgVIZrRHQ=;
        b=IEyQT+HwqzS6yMBH80rwFrKvUAqIdJF/smRt4kn8kO2bL8RS2oREU5xtfsH4Ut7khl
         DMwd2KGlQhPiSO+D45u9dxrsrMB00sChu+8c1UCzxE7qAF4XCe4qrMrZzIVnFzDiDQ82
         lkuTpSNRZA7ptIRMVwzwRQHt8M9MT+JoYI+X1bky26RuGzqBs5PSm2WNKj6gVJIk+uSO
         ItDmViG18Cfz28trxk+5qtAUzzN0RZt5vCoxabUIt1XNOYIi9lRI6o9vvGfdQl30pr8n
         w9sQNi8s5hwo1aXmraL63AZP56auNg8DmTTJMEpAzpcxmup99idxkHhVJpew0NxeCJFV
         p50w==
X-Gm-Message-State: AOJu0Yye9ssD3xdMWg/rg6pO1uXYFdEWMMjMWXkAmXPzbGJebcZrjc1S
	SHMtOO+UVotCH8zw48Z50Q5hRpKc29Brr1XqdLBHC/jpilbj/J1Vyv/nM/uPmBY=
X-Gm-Gg: ASbGnctvp0IKNlpcqqUUhfZcbzP25P+rrGcsAI2jolVeV9CNryoQ3TdwpEu0k0/KJ8k
	Yn7y7nAc4Q6DWGaGHK4salRrFSQffT3jDR1aJGYbLgBzhuCEDM8vR9YdsFMyoiDsQG/p11nqqAV
	AyNpdhYgt47biCTvWYvkwpQD5AkdJPaIojITpvIfEG1eXs2Mq4QLwj687lLrzMyA9Q/qgOotvvK
	O9oloaRFow85XgFpqfb6iHfn/Ni+CyVB0f7zmkr1Iczclh+679pj2+0Yc7ZSoziu02EiGeYCleQ
	VbiyuuQ0tndmOJTPt7w3tUZ7Fmdgz5wE/Tus/QjEp4E9K63Kkw==
X-Google-Smtp-Source: AGHT+IEUMouIBwbOVTY0puVb64fwFgiHcpd7dyyP7kpb7g9tBHS+/YErcyaBM+rLwhSAcL/YXcFUaA==
X-Received: by 2002:a17:902:d4c3:b0:21f:40de:ae4e with SMTP id d9443c01a7336-223d91380e4mr38243065ad.9.1741081916165;
        Tue, 04 Mar 2025 01:51:56 -0800 (PST)
Date: Tue, 4 Mar 2025 10:51:50 +0100
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>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH] IOMMU/VT-d: Fix comment
Message-ID: <Z8bNNgoqgQt3ytrm@macbook.local>
References: <20250303221438.2495688-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250303221438.2495688-1-andrew.cooper3@citrix.com>

On Mon, Mar 03, 2025 at 10:14:38PM +0000, Andrew Cooper wrote:
> "find upstream bridge" is surprisingly jarring in context, considering that's
> the name of the function who's return value we're testing.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 10:22:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 10:22:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900888.1308861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpPPV-00011R-EA; Tue, 04 Mar 2025 10:22:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900888.1308861; Tue, 04 Mar 2025 10: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 1tpPPV-00011K-AH; Tue, 04 Mar 2025 10:22:01 +0000
Received: by outflank-mailman (input) for mailman id 900888;
 Tue, 04 Mar 2025 10: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=wukS=VX=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tpPPU-00011E-1H
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 10:22:00 +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 811314e2-f8e2-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 11:21:58 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-abf5358984bso466006866b.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 02:21:58 -0800 (PST)
Received: from localhost (0545937c.skybroadband.com. [5.69.147.124])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac1e729ed77sm167148366b.4.2025.03.04.02.21.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 02:21:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 811314e2-f8e2-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741083718; x=1741688518; darn=lists.xenproject.org;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IwQbWqnCGdRXjvCMOhUYpkXpbq2LFAvwImVdT2/cNlo=;
        b=WgYrLbEHsutofVlL8ST3y1Ejamk0myhqMO10sMnP+4moQPYZSdbsN+CpUk1a3Zgtz1
         IAtcegCKvv2M2FjRKd2V8586UkR1R2TndHmzrnWU+MmSnIoldgInP4i+i59YXe5scHAE
         BWdlyrHulrwEerUe2cOjhicwkA4/1V0XPt+vE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741083718; x=1741688518;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=IwQbWqnCGdRXjvCMOhUYpkXpbq2LFAvwImVdT2/cNlo=;
        b=O/9hTLQepn7ysIj51qzLBL6zjjQh5ypZYOzcAgrBkpX5ixGrIlFx6mt2lurCBnT+7L
         8fezfHJHtaQyfaCaR4K4/g9jgVba2f8y+B3LMNSziRoBHSqncRDLr2mCd90v4IiT9e9I
         DLZ8+tlrp9Ycip+pqFettKZaapbF5p0XHGd+lix6oSdqvwYbW2HPH/LyjqxaBx1R4ERT
         wGzivvi6xBNoAJrf6ha3J4zlqlXzseF7OnKGkuJKGkSvdLEDtpVUOAd04VVvbgh1RooA
         QgRFJY1sPnyoYQxQXaZkk/R/MW4q+UEjWotdF0KdCLhyvsckOLSZpioUdAATbttb3U0d
         lOmw==
X-Forwarded-Encrypted: i=1; AJvYcCWG887exwStoavm3AYDI68ouN9sfEsj2jgbcLpoXALiyKg+uQM7CUKEdNBaS8MgRoNCM1WJx+qzpXE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOypRxTO28pzBgMeVVkgeXK4XRwAaV3uJMnNB/0686TdvwzhBG
	HkzrQ+tklEK3j22sK+Ft3bQraTkjarFEO+JE+Hx72k+WsPO9uRyDJbXbFldQi9M=
X-Gm-Gg: ASbGnctSSZTs29we97SK6j21e1nZF5/MkeRkfPr/5dVTehR2ztq/4iJOvEgz4EKcqpG
	C30TaE6YGJlActP3NpNKk0tfwaOs8Z7awV4AStK3UNDciNMQdOoVN1Dr5zaq90RgT/pIf8QApbU
	GF4TjWO9FvXEkBaQ/hxgoNaQV+joUftJOfxpYeQ9QpRYytJi55oaFrUOn63/ckDUj927cqG+7/H
	H1qEohzXjXAY62dpLqACZlFRToDOP/f9q9PW3zA9iSgUEgkkvxElDOBRLzCYml2fsHuydHyghlv
	XQe85midLktwQfvlv1lG7R8uy/Z/XP5D1qJwFJ8+tyxjg80Oc/45PrNoikR2a2HM/uRDuJAoqLg
	=
X-Google-Smtp-Source: AGHT+IG5ctqgAFdJeQ6wKttb2Uj+vXiwGM3hwnAqvQI3gJ08CXgr4QqtdQ85pl/BbbV7aMyh2gc+Rg==
X-Received: by 2002:a17:907:608f:b0:ac0:527c:9cd5 with SMTP id a640c23a62f3a-ac0527ca802mr555969666b.42.1741083717890;
        Tue, 04 Mar 2025 02:21:57 -0800 (PST)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 04 Mar 2025 10:21:52 +0000
Message-Id: <D87ENZNEBN2Z.1E8WKX6K8EUE1@cloud.com>
Subject: Re: [PATCH] docs: Add some details on XenServer PCI devices
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Frediano Ziglio" <frediano.ziglio@cloud.com>,
 <xen-devel@lists.xenproject.org>
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Andrew Cooper"
 <andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
X-Mailer: aerc 0.18.2
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
In-Reply-To: <20250228152100.23105-1-frediano.ziglio@cloud.com>

Hi,

On Fri Feb 28, 2025 at 3:21 PM GMT, Frediano Ziglio wrote:
> Describe the usage of devices 5853:0002 and 5853:C000.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  docs/man/xen-pci-device-reservations.7.pod | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/man/xen-pc=
i-device-reservations.7.pod
> index 9ddf3a18ad..62f3bd2105 100644
> --- a/docs/man/xen-pci-device-reservations.7.pod
> +++ b/docs/man/xen-pci-device-reservations.7.pod
> @@ -10,6 +10,8 @@ use of this is with device ID 0x0001 to advertise the X=
en Platform PCI
>  device - the presence of this virtual device enables a guest Operating
>  System (subject to the availability of suitable drivers) to make use of
>  paravirtualisation features such as disk and network devices etc.
> +XenServer, for Windows machines, presents Xen Platform device with devic=
e
> +ID 0x0002 instead of 0x0001.

nit: in the interest of future-proofing the doc 's/presents/may present/'?

> =20
>  Some Xen vendors wish to provide alternative and/or additional guest dri=
vers
>  that can bind to virtual devices[1]. This may be done using the Xen PCI
> @@ -86,4 +88,11 @@ and unplug protocol.
>  libxl provides support for creation of a single additional xen-pvdevice.
>  See the vendor_device parameter in xl.cfg(5).
> =20
> +=3Ditem 2.
> +
> +XenServer, for Windows machines, presents a device with ID 0xC000.
> +This device is a placeholders for Windows update.
> +Device 0xC000 is presented with a Xen Platform PCI device, usually with =
ID
> +0x0002.
> +
>  =3Dback

Wouldn't this be better covered under "=3Ditem 1"? Device 0xc000 is a
xen-pvdevice, so it could be simplified to a single line of "XenServer uses
device-id=3D0xc000 for its pvdevice on Windows guests", or something like t=
hat.

Otherwise it reads as some other device, IMO.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 10:23:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 10:23:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900900.1308870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpPR7-0001c2-Rk; Tue, 04 Mar 2025 10:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900900.1308870; Tue, 04 Mar 2025 10:23: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 1tpPR7-0001bv-P4; Tue, 04 Mar 2025 10:23:41 +0000
Received: by outflank-mailman (input) for mailman id 900900;
 Tue, 04 Mar 2025 10:23: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=kFsD=VX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpPR6-0001bN-Tz
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 10:23:41 +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 bd0976cb-f8e2-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 11:23:39 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-ab7430e27b2so902234066b.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 02:23:39 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-abf6c405547sm416311166b.110.2025.03.04.02.23.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 02:23:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd0976cb-f8e2-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741083818; x=1741688618; darn=lists.xenproject.org;
        h=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=ClaL8Do55cIQoSM4WuzsH+NIE0YrTrF4w8j07C/BDM4=;
        b=XnM4yW0nq2ZwkNkgpWrC6qBOFhYsAPZLv9Vov4gry71hMhLWPLVt6+r0vaxYjsyHmh
         N80loCM1Z03/kSdft+we7hNgjZf0p2Qdw617hWKGTNMnFy8w3ALSUVc1CtVjQQ/koo/T
         UP6SusOqgjwlS3n32j1nkdmXbP+nxfoYFdmYs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741083818; x=1741688618;
        h=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=ClaL8Do55cIQoSM4WuzsH+NIE0YrTrF4w8j07C/BDM4=;
        b=Uqwa48lX28KOQ4F3Pknq8+xW6N736HUxbLAfXFpLmeK76GrGHxrb1A5OyTHedGaqRz
         EWu6QlpXpmK+P+QhU/Aet9eLdoBnat96LzSl7X135Rx/pQckpriRHtY2EW0CR4ZmwEwR
         phsW4NXeTlWdC0ChX6hrqYtEVOEJ8YglNhnMTs3N67CM3UcM6T2D4O9dyVdSjc+kru8G
         bZx04nzSkGYTgltMaBWI2MLXGcHhdfoLtg3qaZ90Q4SNJ9NzA1mqN0gA3zlTqJ9G3Bdr
         FaYhkS+hchaSssSGY4S9KQRNodp8iEpmgelfR95yRIxCgau2wX+bWUhI2eYl4VnDKB6a
         grxA==
X-Gm-Message-State: AOJu0YzwI4yxSeSt6bL8wOHqxQk5QmZqlHHXiXOO1/8Lu6DqexCdCKeT
	wufZD9KZVEKEU10QW+lmZ+6hg66CmOBxJBFKJteS8w897OTjzRIv6mQGc+VVWww=
X-Gm-Gg: ASbGncteA6mcrmcV6e8YWZo4rAODOfDWpP/P4f4B7ehFQSdyPbdsEFr0cQ1PDWTtC2J
	UdsatVmCm7R7cTkdjYMhFJsRi6+pHGG4F4zo57ZbcIX1GLbB3dBLI6eTv8aF44Y69/T+HdXH63x
	7sGpq7qxoDHrpEJdQseaaeX6NitaoZs2X+9+FIS9shprcVo7ghCVfYqrzuJFckSWUnRlmefZaHm
	YBj9AjZEVv6WSkPVcnOLlAvWZ6oCRWSduJGOnnRr7Y3uiVCQPd/+E9E7/2NDw4SPWYYxamEdPsY
	VoRMAhj3j186iVU4w9SGqO3nUk3RdoLw9THW6mzyJccAZagIxWXMQdM=
X-Google-Smtp-Source: AGHT+IEXZZHYcZM/8tUnsO1IJ9DnzNzpMtL1g57mQ8KngXIS5qp4uv7jzSfXjSOFjO2Oew1Se/4v9g==
X-Received: by 2002:a17:907:7b89:b0:abf:6455:343b with SMTP id a640c23a62f3a-abf64553a2cmr1055798466b.3.1741083818519;
        Tue, 04 Mar 2025 02:23:38 -0800 (PST)
Date: Tue, 4 Mar 2025 11:23:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
Message-ID: <Z8bUqTKSJ8rpMX8R@macbook.local>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <9be05453-ab39-4b70-9675-b9df47e870b2@amd.com>
 <Z8GDpJ8G8qMz4uYD@macbook.local>
 <09a8e9dd-2839-49d5-9fff-d2c12c0dd3ed@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <09a8e9dd-2839-49d5-9fff-d2c12c0dd3ed@amd.com>

On Fri, Feb 28, 2025 at 03:25:52PM -0500, Jason Andryuk wrote:
> On 2025-02-28 04:36, Roger Pau MonnĂŠ wrote:
> > On Thu, Feb 27, 2025 at 01:28:11PM -0500, Jason Andryuk wrote:
> > > On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
> > > > On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
> > > > > To work around this, we can, for per-device IRTs, program the hardware
> > > > > to use the guest data & associated IRTE.  The address doesn't matter
> > > > > since the IRTE handles that, and the Xen address & vector can be used as
> > > > > expected.
> > > > 
> > > > All this work on AMD because when interrupt remapping is enabled all
> > > > MSIs are handled by the remapping table, while on Intel there's still
> > > > a bit in the MSI address field to signal whether the MSI is using a
> > > > remapping entry, or is using the "compatibility" format (iow: no
> > > > remapping).
> > > 
> > > So, on Intel, if the guest hands the device the MSI address, it can decided
> > > to bypass remapping?
> > > 
> > > Thanks for providing insight into the Intel inner workings.  That's why I am
> > > asking.
> > 
> > Yes, sorry, I'm afraid I don't have any good solution for Intel, at
> > least not anything similar to what you propose to do on AMD-Vi.  I
> > guess we could take a partial solution for AMD-Vi only, but it's
> > sub-optimal from Xen perspective to have a piece of hardware working
> > fine on AMD and not on Intel.
> 
> I only need AMD to work ;)
> 
> But yeah, I thought I should make an effort to get both working.

Kind of tangential to this approach.  Do you know which register(s)
are used to store the non-architectural MSI address and data fields?

I'm wondering if it simply would be easier to introduce a quirk for
this device in vPCI (and possibly QEMU?) that intercepts writes to the
out of band MSI registers.  That should work for both Intel and AMD,
but would have the side effect that Xen would need to intercept
accesses to at least a full page, and possibly forward accesses to
adjacent registers.

> > > > > e.g. Replace amd_iommu_perdev_intremap with something generic.
> > > > > 
> > > > > The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
> > > > > dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
> > > > > all that has been tested.
> > > > 
> > > > DYK why it fails to enable 32?
> > > 
> > > Not exactly - someone else had the card.  msi_capability_init() failed. If
> > > it ends up in arch_setup_msi_irqs(), only 1 MSI is supported.  But precisely
> > > where the mutiple nvecs was denied was not tracked down.
> > 
> > Does it also fail on native?  I'm mostly asking because it would be
> > good to get to the bottom of this, so that we don't come up with a
> > partial solution that will break if multi-msi is used later in Linux.
> 
> My understanding is native and PV dom0 work with 32, and it's Linux deciding
> not to use multiple MSI.
> 
> It might be this:
> static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
> {
>         int irq, pirq;
>         struct msi_desc *msidesc;
>         struct msi_msg msg;
> 
>         if (type == PCI_CAP_ID_MSI && nvec > 1)
>                 return 1;
> 
> I'll have to look into this more.

That shouldn't apply to PVH because it never exposes
XENFEAT_hvm_pirqs, and I would expect xen_hvm_setup_msi_irqs() to not
get used (otherwise we have a bug somewhere).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 10:35:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 10:35:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900912.1308881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpPcO-0003DU-S6; Tue, 04 Mar 2025 10:35:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900912.1308881; Tue, 04 Mar 2025 10:35: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 1tpPcO-0003DN-No; Tue, 04 Mar 2025 10:35:20 +0000
Received: by outflank-mailman (input) for mailman id 900912;
 Tue, 04 Mar 2025 10:35: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=i2zF=VX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpPcN-0003DH-EO
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 10:35:19 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ae47128-f8e4-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 11:35:13 +0100 (CET)
Received: from AM4PR05CA0008.eurprd05.prod.outlook.com (2603:10a6:205::21) by
 AS8PR08MB7814.eurprd08.prod.outlook.com (2603:10a6:20b:528::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar
 2025 10:35:10 +0000
Received: from AM3PEPF0000A794.eurprd04.prod.outlook.com
 (2603:10a6:205:0:cafe::29) by AM4PR05CA0008.outlook.office365.com
 (2603:10a6:205::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Tue,
 4 Mar 2025 10:35:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A794.mail.protection.outlook.com (10.167.16.123) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 4 Mar 2025 10:35:09 +0000
Received: ("Tessian outbound bc832f6acacf:v585");
 Tue, 04 Mar 2025 10:35:09 +0000
Received: from Lf651edc86f4a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FEB27438-A799-485F-A1EF-5A59E4B9C63B.1; 
 Tue, 04 Mar 2025 10:34:58 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lf651edc86f4a.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 04 Mar 2025 10:34:58 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by DB9PR08MB7697.eurprd08.prod.outlook.com (2603:10a6:10:390::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar
 2025 10:34:52 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Tue, 4 Mar 2025
 10: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: 5ae47128-f8e4-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=lOjrxwv0oIdgMi2sS7rZ29kWc0C2agMAlno3QvSMPGpDM8ULwkLtYIkbETgPno9IkhYToE183Fgkg+9f841gIOSbXFX7v9rjMAlvhDeJIIP1qdKCLtYnUWVWbl79xN+KnwlRqI0woZDIkzNZyIdVA2FjzGmXxZEYM8IYrg1VqVdgmSbJX8qDRCsZ8FRq4aDKHBrJT+2W1WDvMPOpk5lvuQsvb5jC42uAwexfAyqfVTX9k+PKxP8CWb6KsNj58iK/MEJwMeaYMtUCa6d2LcpFBdlIAqm8vhMkipthEFzhoofnSyfu62WoTbw6DQpW2l7pOF5VfGKA7aHW5vumusWwuQ==
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=kMKNHd8zYPlLQeTsOLCvicU++KPh7HLdBmfdALJix4M=;
 b=taoN8IpxPG1wO83zHnqFc6RhjEoz0ixYZol6YIOnqAqVVaxJkyy01EJ7owSRAwezHzn1WgnDNqBP4Nb9unzant/9Uwli9yPgKxXfYrljnoVsdwE+RGue8ukOLuJ7hZ15LUvE/G7CaCHgbwoQXFipV4pD3e92/rUcW0ChAgC8IBu2ubKmWHR6Zug3nHjkpW5oviXHyVstcINqNVxglx7qmaRUJdkOb8tmhKDI5FwoBFXO2M0hKsWtR0VLPPC9V5iAFpM5K4Y+7acjc/FhkMjHweWtf+FquKsUGaGdVTb6GY7EunfEsXcXK0E7mWPAGhqPPoI+YPVRBUvOYzrh0LgGHw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=kMKNHd8zYPlLQeTsOLCvicU++KPh7HLdBmfdALJix4M=;
 b=PNoNYMiUr7ZFPk0YdFTrB8liPQuqUCoS2HTZCe1/2JeYlPQkjYNTkrO8Ymjg0eF336L/MiPC40kSs+DJjcSWidJD9A6zII663sVo9T4OadwyZxjrA9v8fmUPaQGljiol1vWktRNZEfHB5D93fJnAmwFNMZFyNgmZE8OK1AIoVPg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 932c643c98db06d1
X-TessianGatewayMetadata: Sew/xhToTpqjmYMm1YlI0gfhFjhpelAyHNAXaa0J+qmAPHvYSUpfUAAMI3FLjafsDox70oA6avSb/2b1KhQtCWT+XlYxX0xAy9OZsNpreKqWvRHu92PPFeAxNOSTfO1efxgXaMDGQ5kn2hrUbPwczj0G9aB++juHB0EUbsNYYMM=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H74jGwVw5qX2QoZwAuPkMiLMWIbATUz6rd2wwkFTqWMt7Yuu3r0w7kgeE57wMKd+aDp+elSw73XEELRC3EzUDlyKcMOnlzW1eumooWvvqidUaoMDfMMyEVSpVpvgtO3rhn7wFbpYT4kAQl8WjnD9Mqjjqk8EnyWkQgG+JYuFEIRsEE9G/UUc3VRADE1lEY8Rg+zwB1XRqXhs8BKekoV29HJWgd4XuyU2oAlJo4o+Ac6wmBu8ZIaYJLltkXq4KZEvKIWqhhdUXYQXSMH3MT0cYG6EGPX9jkCRuwdvljN5sz0zbiJHl0U2J2N6td5lHiaGGocAitjSrglQepx6q/eInw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kMKNHd8zYPlLQeTsOLCvicU++KPh7HLdBmfdALJix4M=;
 b=Bq0F+93h12Jl4S1/6fvpCaD57p4avE90E76Uxj3evi6h+Lcq5QcCXx2vsyfFHn3uF2yiZiStThTQCTGFIR9Xt+8tgFx/fRhrO/aC0jiZZbltulbKc7VSP4b+hHkkR3li0JKtrhiHEUKQuaoR3f4ZQVLTRUuMTPr3rJ41vX9CFDgfHK9ENPIFAcKH2KZ9rk0ASWWV2C27zHUhUzVdRow4p41l/Lupe/irhWQ7BWG3IVa14tE2d4u6MSgqCbh4Zq7d+l2t6uaw+WTFPN+12Q5tkgtkX98Ubx/S8Rb8opEKRKRoFbfWmuMNoKNVRePl5HWwqsEFOkNp86GHrDbC+Nc3Ug==
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=kMKNHd8zYPlLQeTsOLCvicU++KPh7HLdBmfdALJix4M=;
 b=PNoNYMiUr7ZFPk0YdFTrB8liPQuqUCoS2HTZCe1/2JeYlPQkjYNTkrO8Ymjg0eF336L/MiPC40kSs+DJjcSWidJD9A6zII663sVo9T4OadwyZxjrA9v8fmUPaQGljiol1vWktRNZEfHB5D93fJnAmwFNMZFyNgmZE8OK1AIoVPg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v8 0/6] (mostly) Arm32: add/convert entry point
 annotations
Thread-Topic: [PATCH v8 0/6] (mostly) Arm32: add/convert entry point
 annotations
Thread-Index: AQHbiGdgaQeZbq4rv063MySVx6NiprNi0TQA
Date: Tue, 4 Mar 2025 10:34:52 +0000
Message-ID: <25651522-A8CE-438A-8D96-F67195841055@arm.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <e09dacac-b673-43fa-9a1c-3a3a5b5d802a@suse.com>
In-Reply-To: <e09dacac-b673-43fa-9a1c-3a3a5b5d802a@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|DB9PR08MB7697:EE_|AM3PEPF0000A794:EE_|AS8PR08MB7814:EE_
X-MS-Office365-Filtering-Correlation-Id: 5fe15354-c7c9-4769-3701-08dd5b083ceb
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?N3NWQ0U5bm5jRTNDZUpPeGwxaG5nWlVyd3FML1Mxd1YwbzdzK2RXQmVrL2dY?=
 =?utf-8?B?L0I3cldiL09DQnZQQ1BhVGpaZEJoc0R4U1FPWGZpS0xWaldyVmVReCtHRjBt?=
 =?utf-8?B?N0UxTlFLbW5WeDBBRVhMWFJHMFNyektMY3hlT1p2UlZuK1ZuZmhXNTltRDlO?=
 =?utf-8?B?LzBCaEJNQmlPemVTWklaWnRPQXRhWTRyVjBXY0h3VmN5eUZ1K1NHMUhwczND?=
 =?utf-8?B?ZFJMNFU0TzhxZXF6ODA3eGorMzFTZHdhQmUvbUJWdDVzNHVGZjVmeDd2UGln?=
 =?utf-8?B?YURNM2ROYzZLVzg1RFU3UlRzTXJIbnd5LzVKZXNEeXhHcXhlaHRlNmYrV3Ur?=
 =?utf-8?B?V0lVKy83U2h2MnFWMnhKSUpYR2NpYXJ2TnFrSmVBMUZORk5NUzlKWSt2cU4z?=
 =?utf-8?B?QlAxMDRUTzBURC9LSXJ5Q1RtNXdScXFMazBSYWE2dmIvaXQwN3k0amN6TkYz?=
 =?utf-8?B?RjFYSXp6SktBSHhlaGVDZ2FuVnk1YWpVa0JWMWtWTXZ2UjRLWEFZNnRtbUJC?=
 =?utf-8?B?aURGSDdGVHJCN3krTmFIQjRyTGovaFlpa0N6a2FuUEtsUVJ0dUFlellKQlBZ?=
 =?utf-8?B?cm9uWE9MSjVCOTM3MmdIY1dTdU1JUXdJUEdSMHBUT25nK3hTd2U3Tmxzd0pM?=
 =?utf-8?B?ZFNTRm9uNk1TazN6Q3VLRkVqQ1RrUHNZSUlSM3RTdnhYRXVXV1VkVHE4QlFa?=
 =?utf-8?B?d29JWi9hN3FxN25uNFJyVmkyc3gwRmRrUFZVWVJCZXFRU0JkQVhoWC9IeW1H?=
 =?utf-8?B?eDVQN1RDdEEyN0hjcTRSR05iTHl3ZVlRaGRtRnRERlJTRmVsblRERGFhQitr?=
 =?utf-8?B?WGxXeVpjYnlGNllTeUM0UkFhdCtpK2szb09jNkhxOTJFTytjRVRYWmJPUHlH?=
 =?utf-8?B?ZXBzM1NtVHJ0OHdGcFlzdndSMllpZWJadXZCbEYrUThFWWlhaE1qVzA3Uy9D?=
 =?utf-8?B?ZStjRmVVK3htTEp3Q3ZWMi8waDZmcWJmSDFLZzZiV0JRdSttNTl2TDM4UEFG?=
 =?utf-8?B?UWdJTWNwMzNaNlRSV1ppdnl2UklPTzdBWnJ2Sk8zMlNGdGNLRU5oZHhjTU1P?=
 =?utf-8?B?am1tTVhxVjBJcmMrZ0dhcC9xMVhRRkpCSkxOam1zVXpKT2hoakdCYWJHbWhs?=
 =?utf-8?B?Y291dnBvSXVMa2xZYWpVbnVuNUpuU2NKMVZFWFE4MXh5eXJ4Q3c5RFoyVVN3?=
 =?utf-8?B?TmNydDNuQ0d5cDlDUHc3QnFwN09XanBPekVXdUkrM3laOVhISWxaN09tU1Fj?=
 =?utf-8?B?TzFXbElUOTluZW9XTnFRSFI0MTNVMXlSU1dOSG1yTGlrSVA2UjdtMk5qazdx?=
 =?utf-8?B?K0dwUXd4cGhGN0YrSk84SCs0OXQzWGc1cUZLZERxZnNPWG9YbWlKK24yNDNl?=
 =?utf-8?B?K1pPakhBWVBlbDQ4YXB0dXNSVy83RWkvaTBkS0RrYzlNN0VqNldxckdkNnJ6?=
 =?utf-8?B?eGpIV2hvUEkxbWMxRlBWeENPY3FlL3d0S1ZMeFN4ZjIzbm5MZUFqSkpLQUkz?=
 =?utf-8?B?K2t0K21zK3k0U3hVV05MT0hhZVA1cGNIQW9Ya2hNd2RyR2VBNGV1NDV6WGhV?=
 =?utf-8?B?c3JwK2M2Si9HNm9Td3BQdkJLSVVoK2lUaEJ6SzRtNFNDbFl2aGZoQWVJc3Fv?=
 =?utf-8?B?ejVpclFaQXBSOHZmdktoZHc0NXBob2lkTGhVaCt0OC9SdyswVkdpWG80Zmtz?=
 =?utf-8?B?cXRicmFUZ1V4SWFqK2ZzZEVSUEhKQ0ptcEdlR2k0amJyVU50b3JIdEFpeDFl?=
 =?utf-8?B?M21TcHI5UmhrNVNPQWZqZXNSZXJyWHhWYVpIM2ZCMFBiNFZZbm0yNXhtcFJq?=
 =?utf-8?B?VXh3M0w4ZmphYXFoNkhXcGh5MVU3MFkrbDFNeUVJZmswaXNDd2p0NUJrL2hI?=
 =?utf-8?B?eldCQTNiOWJTeStCbDJHelhzODkzRE81d3R6Wk1mK1hEU2pmREtRcjV2WUw2?=
 =?utf-8?Q?llplXR8nkQpx6PA7TRmpGb/zKE/n6Rrz?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <34862C6941050147ABB248BE3C9D51FD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7697
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A794.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	23e88a51-10a6-488e-e98c-08dd5b08328e
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|35042699022|14060799003|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bzJBVlhTdm1TODJ4aXZ5b0dCb0tnVXBZSE0vZHFtSnlFQ2dYR3NzQVlBVDZj?=
 =?utf-8?B?MEtQVUpwZE9FYTdxWXJRcTVpNE9xcVV1bWRwbWI5KzNwTVdiR1A0ZDNoYjl3?=
 =?utf-8?B?WXBsMmI1WXVGRE1BMWVQOVdXYnp6cmJZN3dWVytjbGJGQ0xjMkRNaXgxOUZU?=
 =?utf-8?B?UG0rcCtLWFNLL2lpRFJBRHpDVTZhdkIvVCs1R25LZldGcnF1QXFVd3dHOXFa?=
 =?utf-8?B?dmk1UmRYRStzQXdpOHZyODF6d005R3ordlVsVnlhNXg4QmRtMmQ1WmJqTEM0?=
 =?utf-8?B?MmxmMVVNcDdabzdwN2J3L3dOeEpTaVNjbXJOU3FZTkVpWklzaTBpNmRzYWZP?=
 =?utf-8?B?NWNaQ0dYRWIwdjZDRnpPV0crdkE5SkgzUUJHVi9pb2dlR3JhTVZsYzRZTG5z?=
 =?utf-8?B?OTd5cVNqZS9qQ0ZlRk9wZ25iT0xYWEJYTlN1QmhOOWFWeFBkdzlTaFhxUTB6?=
 =?utf-8?B?b09qU1JUWWRQRncrYXY0Mkc0bTE0Mlo4VVNFMVlESnVZQUJ5dDNOYUN0eVZE?=
 =?utf-8?B?NnZSaU12a1Q4eDdXYUNnbGs0S1p6Slo4NExjOGlaY0RXMVV6dER6Q0x6STRG?=
 =?utf-8?B?Q2Y1UmdOR0ZKc0RqZkp3VVJWMVl2bFcyZVlFUmVaWjZZWWcvbGNIK253TnB4?=
 =?utf-8?B?SEZjMDVQbjMzZnJyaG5naUNBbjQzaUtJOStOQWtGN0szS3NlMjJ0cFJvY0F2?=
 =?utf-8?B?Y2V6WEtUTVNDdjZqOTdyMG1yT1ZRTFpRdWJXUVRiZUtPR1orcEx6ZCtnYUtP?=
 =?utf-8?B?TGpwUXJaQm91VWx4cUdGR1FINkQ2Vm05WHp5QWlpNXBaYXFOaEhPSk90dXVL?=
 =?utf-8?B?MGoxRk5KM2E0L01WZnpCaUxBOGJ2K1NyOUpzTmM5QUpXZ2thQ01WRk1MK0RY?=
 =?utf-8?B?NStTUm03aTEzLy9TU0t1SFVUdmRnOC8za2FleXBCVkFON21zR2tyRTRyRG4w?=
 =?utf-8?B?elhNU0I1ZHE1YXQxYnAwSEVyd2E0THkvc2xKdmFQTWRmY2gwUjFLMGwvY0ZP?=
 =?utf-8?B?aGxHY3Fsbm8rUVc3SndheVpwSC9JVjU5SWxENFVPT0pWbzhIWDFlTDZLOU5L?=
 =?utf-8?B?bHlNNU4yRkI3VDY5WFhmT1U2WG5sZkcyeGZwaDE2K2t4eUJZZm90aSszVHpX?=
 =?utf-8?B?NXM5eEVuRDVhMlBDRFJOYWZMeGZ1SkpWVmhBSWFGWFJvSkd2MXYvWGs0QnQ1?=
 =?utf-8?B?K2NNODhaT1NONUdicEtsKzUyMnJrN0NBTUpQQlJoVjlhOVh5V1JFcU5RNlRw?=
 =?utf-8?B?bHltWHhTRWJ4T0w4T3kxSFgwQUVSMHFBQXpFb28rLzF5K3dQbkRHRmF0RHp2?=
 =?utf-8?B?a1dMSHlwYVBQVnN6ek8wMVA5ZStGanhVY25GMVovTyt3UW92cHhvd3hUSFRj?=
 =?utf-8?B?VEtBM1pIcHYwbm1EdTZyTXlOZ1pJRmtTT2lxVGpiU2o4YzdjamtuanNvVDMw?=
 =?utf-8?B?L2l4NkpxZngrSm5OeDJzLzAvMHFJNTUxM2oySTZCZk40aEszMFBiUDNWSHN1?=
 =?utf-8?B?ZnFOanVYNkFGM1lWTnFTM3gvRUNHby8rcWRKZW1pdFZQZm1ia3Eva3ZGQ1lJ?=
 =?utf-8?B?SkdTeDZBMGw5K0JsREVUYmgyckh4YmJRbkRlU2tNU0c5NVp1dUtWQWF4bFdQ?=
 =?utf-8?B?Y1JYT1BmNVNrRTFuWSt5N3poQXJBR1Y0YmxhdXowSzhBdnI0OVNDMUxpOXlz?=
 =?utf-8?B?NHUweHJEbHIwejc1UmxWcVZpV3ZCUDgrSDBVOStzZDlVeURCN3M5RkJxaUlP?=
 =?utf-8?B?cmN3L2xRSEJzaFBqalhqb1l0SkFUamx0QmdEY1FHd0x1dEJUc1N6Q2JuQjRz?=
 =?utf-8?B?M0h4M3dMZ05GdmdXaHc0WjE0bnBBcEcvV2IwTXkrQ0hzZ0lmTVM4aG9vQ3kw?=
 =?utf-8?B?VTZUUTNZa0gxL1QrdTlhUEVrUTh0aytvOHhua1VLZjZUWkcyMStPdUR4c010?=
 =?utf-8?B?TXBwVDd4NzNZT3Z6QXRtYlVROXZMNWN3Y1VtdHJVdEt6dkdPMTQ2My82c3Bz?=
 =?utf-8?B?MnRmcm81SlRnPT0=?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(35042699022)(14060799003)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 10:35:09.5767
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fe15354-c7c9-4769-3701-08dd5b083ceb
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A794.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7814

SGksDQoNCj4gT24gMjYgRmViIDIwMjUsIGF0IDE1OjU4LCBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+IHdyb3RlOg0KPiANCj4gQmVzaWRlcyB0aGUgKG5vdykgbGFzdCBwYXRjaCBvbmx5
IEFybTMyIGFkanVzdG1lbnRzIGFyZSBsZWZ0IGluIHRoaXMNCj4gc2VyaWVzLg0KPiANCj4gMTog
QXJtMzI6IHVzZSBuZXctc3R5bGUgZW50cnkgYW5ub3RhdGlvbnMgZm9yIGxpYnJhcnkgY29kZQ0K
PiAyOiBBcm0zMjogdXNlIG5ldy1zdHlsZSBlbnRyeSBhbm5vdGF0aW9ucyBmb3IgTU1VIGNvZGUN
Cj4gMzogQXJtMzI6IHVzZSBuZXctc3R5bGUgZW50cnkgYW5ub3RhdGlvbnMgZm9yIGVudHJ5IGNv
ZGUNCj4gNDogQXJtMzI6IHVzZSBuZXctc3R5bGUgZW50cnkgYW5ub3RhdGlvbnMgaW4gaGVhZC5T
DQo+IDU6IEFybTogcHVyZ2UgRU5UUlkoKSwgRU5EUFJPQygpLCBhbmQgQUxJR04NCj4gNjogY29t
bW9uOiBob25vciBDT05GSUdfQ0NfU1BMSVRfU0VDVElPTlMgYWxzbyBmb3IgYXNzZW1ibHkgZnVu
Y3Rpb25zDQoNCknigJl2ZSB0ZXN0ZWQgdGhlIHNlcmllIG9uIGFybTMyIGFuZCBhcm02NDoNCg0K
VGVzdGVkLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+ICMgYXJtDQoN
Cg0KPiANCj4gSmFuDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 10:54:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 10:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900923.1308890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpPuK-0007s7-9S; Tue, 04 Mar 2025 10:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900923.1308890; Tue, 04 Mar 2025 10: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 1tpPuK-0007s0-6u; Tue, 04 Mar 2025 10:53:52 +0000
Received: by outflank-mailman (input) for mailman id 900923;
 Tue, 04 Mar 2025 10:53: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpPuI-0007ru-EZ
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 10:53:50 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2009::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f037e05f-f8e6-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 11:53:43 +0100 (CET)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CH3PR12MB8849.namprd12.prod.outlook.com (2603:10b6:610:178::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 10:53:40 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 10:53: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: f037e05f-f8e6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qyyiUU+FgaVWfrTcG1qvYlHbhxuDzpy4WpqtVfpZcqGIFXqjiVcSUDRzBmfBNzHpDc4mJlCy8QWsVqGnhh0pLhWcUULRkrQAbXk8v+Cw7V+J40X47b6nQM+rzKJp7MfxJVTGM5n2BgO4AwbXJQWVZDmt8ChpOiZwp4g0AP9uIqvRqBTHT1v0Q9wytlKZjaG7h0SBgP/QsgulTlE3FQieZLuTSYYsX8WzlcEoIdnvFJHJG0LiyW4WrMXPrFnKzySBjiBND2aItx+7wS4th313kt9ML5oLkzO6rPNsg0DmTjPY8Npihr+4n860Xzy3/fHCTtjvaM90f/PMV1p7/qTWRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q98jDG/zXttp23XJ0K5yMWmsuBIeS7jZbolHAqnegHM=;
 b=DEqGPaSg59DS5TLTtObDBtoY04ySVPeXvnr+qNGHrKlXSk8bs1pzwdFU+NO/9zg55ZbhpU9kUCkq5CQMWDF3Iq/kHXC5uyyO4po2gB4hyHigW9G7RdvgP7ZQUzWHiJ3alY2djxk+JTfnZUqmVuAp6u80EgzHf8c+yYGJfbirH2+OlC2YyHCoWL33V2kBEDVy4hw36c3D1TVXXclm18N0XNCm+H1PENwtmB7QKV+OHXQB24xdg2IWwMsqutad9uTZsOB9yOiYuJFU4LM56w4l7cxKHhkShNoDBYKI3m04HWGiEXF2GmEzsMvB/oR1NBB++IgjsZoplA/roj7nnB0nXw==
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=q98jDG/zXttp23XJ0K5yMWmsuBIeS7jZbolHAqnegHM=;
 b=VkSfDh/AQyAcFVWK0CtJlg8HU6SP7fiwIGPoVf/hrU5W612sxPLWpVLo2e7bYas2oWXJK9ofGQ2YNxeqfvafLnOfny7xaShK5H8YHlqi4uN935TL6pICaOdl4pFoa2SEeeTiA5+BOAZLZl7rRX8+WGe+NhlLMTaYyE3QEZfDlSE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <51104e92-efe6-4477-9435-cae2dee33be7@amd.com>
Date: Tue, 4 Mar 2025 10:53:35 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/9] arm/mpu: Introduce MPU memory region map structure
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>, Wei Chen <wei.chen@arm.com>
References: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-4-luca.fancellu@arm.com>
Content-Language: en-GB
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20250228161817.3342443-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DB6PR0301CA0095.eurprd03.prod.outlook.com
 (2603:10a6:6:30::42) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CH3PR12MB8849:EE_
X-MS-Office365-Filtering-Correlation-Id: 441a0761-89ae-4812-54f3-08dd5b0ad2a0
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?NXdBS01vTFdCRFVBaDNWVTVYNS9QbEdoTlJKa3lpN0pVMlh0TTVhMitsZVBa?=
 =?utf-8?B?c0d1QytMZ2E0TGE0bk1JYUhXSTJOdXlhMzk4MzFKK0ROQnFNakZldW1SSmdZ?=
 =?utf-8?B?TmEvekw1L0hEL2VEcC8wd0I5U2RuN05TQUxQT2gxQ2d5cE1yeFJYWllJRUk1?=
 =?utf-8?B?WVAxSVVaNjBQS2xJclpVU1p6V01zVzduNklsLzVzYVJvaE5ISElkTjhlVFBK?=
 =?utf-8?B?VHkzSG5oS2dwMUVIWlF6dVR5dk15YmRZc3UvYzRiYVVKMElrRzJSME52djhX?=
 =?utf-8?B?VkxSV0N0bDh1ZGRhU2FValdBOWhNeXdTV2cvaHNMdm1WZ2x6RWlCOURNSHhP?=
 =?utf-8?B?US90U2IrUFpxUzZZTkIybDM2RjdsQUNYdFF1Vkc4Rnc4QnBHY2Z1L3ZOSE9m?=
 =?utf-8?B?ZXRmeVJLZ3JoeEhMSWg3dVAzdHBuSExlTDhManA5SnAxb2NVcFZ5Tld1eTBr?=
 =?utf-8?B?d0hqQ1VlUTVjRmg1bEpySW5GQjhFcFRjSkNhSHpHSnVBT3Fkb1JFMzdYN2Rr?=
 =?utf-8?B?c3ByZjdmU2h5R0lTTTc5dVRENFgwcjd1RFYxN2xHdC8ybXdIL2xxUTRRa1p1?=
 =?utf-8?B?QTFObVRjUnpSaUNJbDUxWGpXMy83Z1J5d1JqZFZOSWI4NzFSdCtjYktnbWxz?=
 =?utf-8?B?NlVjVUlwRGZYL081aE9reitjK2NjK1JQRC8xczdscWRMVjRzNGtzYU9WZ2JJ?=
 =?utf-8?B?U0krcXdKU2Q5T3N2NTNyN1BTMHk5UGhQNFdQTis3QW1ERG5BUit2NU5PZ0hm?=
 =?utf-8?B?aXc2NWticFBjbFF1OVFKbzVKbDhRNmZvcWtadExCUE9qc05ibzFEZXk3b2ly?=
 =?utf-8?B?Zkxjc1lNS2VKaG1UOWZiZG85WjA5dnlsMUdoenF6OGk1OWlmRWEwbWpCaWU1?=
 =?utf-8?B?T0NrQWpHQXFicWc4MFdyUXpPdHpzSHhKSzMweFNQKytmWmVHTFhCbU1Sem1D?=
 =?utf-8?B?R05DKzlVeHNVd0IzemU0bHNUTkFkS1dsR3RjZjdRRWFVTmdscmc2SGJXdUE2?=
 =?utf-8?B?Y0FEa05SZXpDc2pIVWpNTG42V0dzSTZ2MXpNTHJ4aHVZSFY2OEJHV1o2akRr?=
 =?utf-8?B?WDFTVGlRSFFGZitXRjdkWnJxNlpHNGxiWUd5QW45UTAxMHVQdmVubmY3T09h?=
 =?utf-8?B?aWo5T01RNTdzdVFZaVdnS3pIejhuQnZyL3N5VlNOeXJOdDI3Z3pJQys4cDFN?=
 =?utf-8?B?UGJyMlJoelJwM3UyemlKRDJiTW8vSjBqMFp3L3hUWXlpeUc1eVZHdHE5dk9j?=
 =?utf-8?B?em9BSTNSRWlHeHJKdzdYQ2pNVnVjOVFiWDdFYkhWWmYvblhIQnBpeTZBQk5k?=
 =?utf-8?B?RkE0RldsWUtkOTYvWE1xVkZ4NGxLaVJqdlNCeUlQMlQ1SkxKVUtVZ2taY3R3?=
 =?utf-8?B?YkFUeUw5aXhTTGNjU1ZmWThuYTcyVWVicTFIMGh4OVpjaGFzSHpVK3dHcmhn?=
 =?utf-8?B?aUNJN2E2ODAyaUx5OTVkczVyS0FPS2R2MGxUNTNDalRhSkV1bExRNVNmeTJl?=
 =?utf-8?B?NmFDWU1hZ0ZuWWhWM0QwamxSalFpbWpTZStkbUZPSXdFMlRjQ1BDaXZEMFpJ?=
 =?utf-8?B?cGI1WCtwZkdaR2wxejhBUnJJczhjcVVoSE8xbCtNeTI4Qkw2bEtVSGU0YU1V?=
 =?utf-8?B?enJ5QlBaMmxvTlRlSE5kTkcvSUNRbkFMS1NvWUpMMzk0NGc1NThOY2RIN3Vl?=
 =?utf-8?B?QlhzZGp3SEdGYlN2cjlIdnV4Y254LzhITnpQd2RteVdzdDEyUkQ2QThkQ1VV?=
 =?utf-8?B?WlYxSEdsUkI0MUZPOXVqeXBmaDluZFFLQ2hBSnVFUlhscDdmUW9yZ0NqNXVm?=
 =?utf-8?B?SWx4T3BiVUZxdWxaOTlQQXZVVFlsSVVoNHYyWm44dENOTjE2dUZGUzRhWWY1?=
 =?utf-8?Q?+ML24rMuqqFto?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?WDFyWWdMMEZoWU1reE1UaHlLS29SY0VidWJjWkd5TytNM3E2YVlGMGVDOUNj?=
 =?utf-8?B?aFNDNmNSQ2E1N0lPTE9JMnY4bGVWVXhTbWFOYU93T1ZPRUs1QkRUc1B6RnpS?=
 =?utf-8?B?eEtnVTJFVlJwWTFRQXNhU2ZKNXFoaHFVRCszYUlYWU1LRVo1YVFSck5tdytl?=
 =?utf-8?B?OVgxYklQajBJZ0F3S1hTSHBJaXJMVTY5M0pRTXVaaTlueWJ5bm05akF1RkF2?=
 =?utf-8?B?YXFZVkR0aEw5endRMDA2Yy9tNGNZVU9pY2tocmNOZmdockpDSlNRQnEza0Jq?=
 =?utf-8?B?cVYvb3NyUWxwYkhsYjBDRXZnaGhKQ3ZwVzRmM2t2K1d2QUNVK0RwRkxiS0VO?=
 =?utf-8?B?NFNMamt2WThlbmJ6ZWI0R0NEUnFoYUlUNFgzVmdDNGJ0YW9kVVdWeW1mOCtH?=
 =?utf-8?B?TUFzUlc3eTlUc0t3dzFQZEJ2QWlCMVhJOU9ERWlqRllyL0hXc0U4T1JFc3dx?=
 =?utf-8?B?eVBrVUYvK3hNWDFqM1NzYTliSWlYWFFVb0JvYzM3VkVPU2IrT28rOHdVL3Fm?=
 =?utf-8?B?NzNXUjRia0dJc2hKVFVWYm5pb0w2Tm00OEo5WHVhYlZmZG4rdFluY0I0R3d4?=
 =?utf-8?B?N3NPZzltZG5maGNFSVNwekRYbk5xZ3IwckhUYzJ4OW9yMTY2ODcxWVNydVFj?=
 =?utf-8?B?cm9JYVQ1bVVRRWtJQ2JJQWNRczI5RlBZa2RpVE5KM0s4MW5Ua3dETGh6RTdZ?=
 =?utf-8?B?ZUgzalZqZEY2MGRENllXRXc1eU41THlCOXJ2cm82SVJLSXc3YnRNaXRUNlZj?=
 =?utf-8?B?MUpIZm5pTlhLSUl0Q2g4WHB6WFJCTklNVy8xM0U1eUpNbDFHTkc1QjdMYXNn?=
 =?utf-8?B?WG5rY2MwWHAwNXMzT0hDenpReFBHMy9vSTNWaGZ3U3RndExCamc4UzI2TUxC?=
 =?utf-8?B?eW5nRTNZWlVtVXZIejc4VUhaK3FiQm5ub3Jod0pzYm1KZUV1N1VtYjVBRThP?=
 =?utf-8?B?OGRIRnk2REUyWHBWa2J0NEI0WDNVK2tkcTVCeXRrWEx0TDVrVHROeExxUUs5?=
 =?utf-8?B?Wm5nY0RGUTZ3M2ZGTHNSMG8vSm1iSjNqaWpvcFpMUE1EU2hPUS9YaWRUUWFC?=
 =?utf-8?B?Vzd6QWlHSlRFeUxZV1hBQVUwNkhEbGFOdHlxTWJMbTh4OFcrQVc0YWFyQllp?=
 =?utf-8?B?Tm1sblZqOGN6VU02YU1NVm9jOGMvVjQ1LzNBMGFtcHlCVUU0VDdtWlR5TEY1?=
 =?utf-8?B?c2hYVjJMaUJjTXovaGRsb3ZqK3J5NHAxelY4bnhWLzh0Q3hXTHhiL2JJYU0x?=
 =?utf-8?B?QTlBVmtZUUkvT2dwSFpVK0xRYnc1Y09OcFJ6b2hCM2ZmZ2VDdVZmUUs0WnJJ?=
 =?utf-8?B?TDliKzNZK3dLRWEvUUJNNE5KVEhoMEpya3Q4TkhrOVp1UWJMZnVvNndlbnNT?=
 =?utf-8?B?L3R6bWZWZ2ZCNkRxeG43TjBwNTZvVHNEMUNiMjFJRGY1emVnT1p4bVJTblBv?=
 =?utf-8?B?YzhkSnVaZUREbERZaVZ0RWhTV2pSNnFNZGlpRXJmZVdab293K2w5dERIa1U5?=
 =?utf-8?B?QVFrUGxzTGhUUHBEZ0pza29tK1VpbUFTeENNUGw0czFLdjNEUkNOMHNNN3Y1?=
 =?utf-8?B?Zi9nVTA0NUJxK0tSMTM1SGdiYzZyK0FLN2tjWHF5Z3g0YTRZTWNkWlVtcGY5?=
 =?utf-8?B?cERqVzN1c2hiSkxLRzBXODRlYXVxWVlKM2U4SGZkRTRDd1ZkaDRmeC9DR0t1?=
 =?utf-8?B?YnA5dUFYUkdMRjVvNW9hSkZ4TzErRC9ld3VUdlBDMVlTbGhvc2Ura2VWcjZa?=
 =?utf-8?B?b0tpMVRTWlNMZWVFM1RjYzU0RGNYbHFGc1RJMzlqSXg0MytzYlJjZUJTbjRy?=
 =?utf-8?B?UktzaVlOQTV5WVVxeFVJdEdNTkhTMmczbXBBaUNTZ3JRRjdBMUhuU2dKSytm?=
 =?utf-8?B?U3VCQkJ0emtKU044Wk9FVVZ0NEw2V3pTT1JZckFZSVJlUGJTQW5xbXNoRGxO?=
 =?utf-8?B?cXc0bWgvVHltY0FqdUxpQmxDeldudzZBcHJEK05FQXhOR1JrN0VvUk1zdTZB?=
 =?utf-8?B?RWpoMnVxVXd3am9DY3J2cG9YY3VlejcrM2N6UE9DWUExQUtHYlk2T3pNN3lr?=
 =?utf-8?B?My83UnRUQUdFVlpOMnJhaDU3RHM0R1Y0d1pRSUFFWnpyWm43RWloTTFoZWJj?=
 =?utf-8?Q?N5/wVhVs71gPvLqNp4nwnCWmq?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 441a0761-89ae-4812-54f3-08dd5b0ad2a0
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 10:53:40.1991
 (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: NQ6aw4+wmuYeNZxDI9a7bKr9YfRCWZ5L2/hhezD25Dhx5mV0pQC+blmUJD8d/9cNkoeXJA/GKNhj44s0xKrJNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8849

Hi Luca,

On 28/02/2025 16:18, Luca Fancellu wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> From: Penny Zheng <Penny.Zheng@arm.com>
>
> Introduce pr_t typedef which is a structure having the prbar
> and prlar members, each being structured as the registers of
> the aarch64 armv8-r architecture.
>
> Introduce the array 'xen_mpumap' that will store a view of
> the content of the MPU regions.
>
> Introduce MAX_MPU_REGIONS macro that uses the value of
> NUM_MPU_REGIONS_MASK just for clarity, because using the
> latter as number of elements of the xen_mpumap array might
> be misleading.
>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/Makefile                |  1 +
>   xen/arch/arm/include/asm/arm64/mpu.h | 38 ++++++++++++++++++++++++++++
>   xen/arch/arm/mpu/Makefile            |  1 +
>   xen/arch/arm/mpu/mm.c                | 23 +++++++++++++++++
>   4 files changed, 63 insertions(+)
>   create mode 100644 xen/arch/arm/mpu/Makefile
>   create mode 100644 xen/arch/arm/mpu/mm.c
>
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 43ab5e8f2550..fb0948f067bd 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -1,6 +1,7 @@
>   obj-$(CONFIG_ARM_32) += arm32/
>   obj-$(CONFIG_ARM_64) += arm64/
>   obj-$(CONFIG_MMU) += mmu/
> +obj-$(CONFIG_MPU) += mpu/
>   obj-$(CONFIG_ACPI) += acpi/
>   obj-$(CONFIG_HAS_PCI) += pci/
>   ifneq ($(CONFIG_NO_PLAT),y)
> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/arm64/mpu.h
> index f8a029f1a135..38dbf5b2255a 100644
> --- a/xen/arch/arm/include/asm/arm64/mpu.h
> +++ b/xen/arch/arm/include/asm/arm64/mpu.h
> @@ -13,6 +13,44 @@
>   #define NUM_MPU_REGIONS_SHIFT   8
>   #define NUM_MPU_REGIONS         (_AC(1, UL) << NUM_MPU_REGIONS_SHIFT)
>   #define NUM_MPU_REGIONS_MASK    (NUM_MPU_REGIONS - 1)
> +
> +#define MAX_MPU_REGIONS         NUM_MPU_REGIONS_MASK

Not really a comment, but a note. The above needs to be common between 
arm64 and arm32.

I had moved this in


    "[PATCH 3/5] xen/arm: mpu: Move some of the definitions to common
    file" .

Depending on whose patch goes in first, this code needs to be moved in 
the initial patch so that there is less code movement in the latter patch.

> +
> +#ifndef __ASSEMBLY__
> +
> +/* Protection Region Base Address Register */
> +typedef union {
> +    struct __packed {
> +        unsigned long xn:2;       /* Execute-Never */
> +        unsigned long ap:2;       /* Acess Permission */
> +        unsigned long sh:2;       /* Sharebility */
> +        unsigned long base:46;    /* Base Address */
> +        unsigned long pad:12;
> +    } reg;
> +    uint64_t bits;
> +} prbar_t;
> +
> +/* Protection Region Limit Address Register */
> +typedef union {
> +    struct __packed {
> +        unsigned long en:1;     /* Region enable */
> +        unsigned long ai:3;     /* Memory Attribute Index */
> +        unsigned long ns:1;     /* Not-Secure */
> +        unsigned long res:1;    /* Reserved 0 by hardware */
> +        unsigned long limit:46; /* Limit Address */
> +        unsigned long pad:12;
> +    } reg;
> +    uint64_t bits;
> +} prlar_t;
> +
> +/* MPU Protection Region */
> +typedef struct {
> +    prbar_t prbar;
> +    prlar_t prlar;
> +} pr_t;
> +
> +#endif /* __ASSEMBLY__ */
> +
>   #endif /* __ARM64_MPU_H__ */
>
>   /*
> diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
> new file mode 100644
> index 000000000000..b18cec483671
> --- /dev/null
> +++ b/xen/arch/arm/mpu/Makefile
> @@ -0,0 +1 @@
> +obj-y += mm.o
> diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
> new file mode 100644
> index 000000000000..3ca609ff80cc
> --- /dev/null
> +++ b/xen/arch/arm/mpu/mm.c
> @@ -0,0 +1,23 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen/arch/arm/mpu/mm.c
> + *
> + * MPU-based memory managment code for Armv8-R AArch64.
> + *
> + * Copyright (C) 2023 Arm Ltd.
> + *
> + */
> +
> +#include <asm/arm64/mpu.h>

Can we just include <asm/mpu.h> ?

The arm64/arm32 specific includes will occur in the header file.

> +
> +/* EL2 Xen MPU memory region mapping table. */
> +pr_t xen_mpumap[MAX_MPU_REGIONS];
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.34.1
- Ayan
>
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 11:08:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 11:08:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900941.1308926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQ8h-0001bE-UR; Tue, 04 Mar 2025 11:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900941.1308926; Tue, 04 Mar 2025 11:08: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 1tpQ8h-0001b7-Os; Tue, 04 Mar 2025 11:08:43 +0000
Received: by outflank-mailman (input) for mailman id 900941;
 Tue, 04 Mar 2025 11:08: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=kFsD=VX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpQ8g-0001b1-DV
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 11:08:42 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 072b9971-f8e9-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 12:08:41 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-2235908a30aso88010605ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 03:08:41 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-223504c5cd2sm93198645ad.143.2025.03.04.03.08.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 03:08:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 072b9971-f8e9-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741086520; x=1741691320; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=llnRtB9KWyU8pg+EOOMGOsLUpC1v932ouPOIWP7nLNc=;
        b=GkeKZWpEXAKRcxbyD0djgcYzRje3wx/40aLybqrXgLTEFgsG0SJhwF8lb5uU3YcqxC
         bybJwb+sbwt5gZ2gr5Xu5meAsna0tpGYMC8TnqUYWTIrdSmxou7yLu7jVxta8JD+LXu0
         ffUlXh/FqeV1r3xHIYoujE+xnzl9K+cHxvyrk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741086520; x=1741691320;
        h=in-reply-to: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=llnRtB9KWyU8pg+EOOMGOsLUpC1v932ouPOIWP7nLNc=;
        b=pE6QNGgdBp5J7ppvjDmO94KyZVpCMmTne3GRme4CjtfxmjNa8+OW269eOQXt6eQjIi
         N0O5FBQ7pcWK0MBMVTB0l2THzdcT1rNg2Wn85cea6QD5gkQk4sfX3s6a8l6lzkz/bnsY
         gUhIbU8V583DThwf8xntNpZyRPotESNR9sTT9Bp8JwiQ9v/dcJcH2mT6EcI7Fm11U4IM
         Ko+oCUR1XHX6hOXFxCmrKsjxo70ubZXfVYwcOHvbRK40dt4CfRSXsWVFLICyLbCocH5T
         PNUKlGrEZK1FxCnKraubqIgx554V5dMRqVHGn3l4w1jkUxA9vMSePDb8KtGp8kMz1tLW
         VA3w==
X-Forwarded-Encrypted: i=1; AJvYcCXm0H+MdROoC8NGcHb4xF5vFwS9kGYcsmOd64KxJzNoWEfNAM1E45hjNg+BaKDptgIitI5/qocGEDE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZbio73Dzb9SQJeRK8zZ8RMuc0ieQ5tXcfMaMI1zouMa9qLYFt
	616taId7lj1lIw3DvOy8ChjmBzGMbkAi6Zb7y+0+wV5CUt9a5F0VumEjxgUGBVE=
X-Gm-Gg: ASbGncswqmRApvgjg1JJqUVbG6m8GCZqc655UMMqyYe5Pc8UZ9MAnBVfi1Vq0TpZGyf
	GNK0DJ/uh7RUBLzZeSq7acHOIJk/inx0EzFWg4fVQcTZQzoWNPSP8bZXtlIZmjjxhoZc1qbrJhP
	A59+RRQJeIrpm9KX+RyW/tPiFpj3DDGUJaYhYAEsRHV+5xqQ540+MbgMfwk++P8L8vZBbgYEFPu
	5Ujr3xg5kxlGebT6LWHu1abRUY5gej0bkMkZakhYbULm6MTdWqGEmLKrpFBA2R9XdTSvMkACkwy
	4mGdK2p21EaiVkpxLr7npUzmywGjrFgZZex0f/mOYOl2zBIaugF/OK8=
X-Google-Smtp-Source: AGHT+IFlNplYVaTd/1CTNzVWJ3nh8QOPYYTffCWv1JaO/fzncQRPdnrMOYk2VqYu3JLvaQ1Eh3A88A==
X-Received: by 2002:a17:903:2302:b0:21d:dfae:300c with SMTP id d9443c01a7336-22368f60a53mr235084995ad.3.1741086519696;
        Tue, 04 Mar 2025 03:08:39 -0800 (PST)
Date: Tue, 4 Mar 2025 12:08:34 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] docs: Add some details on XenServer PCI devices
Message-ID: <Z8bfMmM5CJ5PQdhm@macbook.local>
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
 <D87ENZNEBN2Z.1E8WKX6K8EUE1@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <D87ENZNEBN2Z.1E8WKX6K8EUE1@cloud.com>

On Tue, Mar 04, 2025 at 10:21:52AM +0000, Alejandro Vallejo wrote:
> Hi,
> 
> On Fri Feb 28, 2025 at 3:21 PM GMT, Frediano Ziglio wrote:
> > Describe the usage of devices 5853:0002 and 5853:C000.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > ---
> >  docs/man/xen-pci-device-reservations.7.pod | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/man/xen-pci-device-reservations.7.pod
> > index 9ddf3a18ad..62f3bd2105 100644
> > --- a/docs/man/xen-pci-device-reservations.7.pod
> > +++ b/docs/man/xen-pci-device-reservations.7.pod
> > @@ -10,6 +10,8 @@ use of this is with device ID 0x0001 to advertise the Xen Platform PCI
> >  device - the presence of this virtual device enables a guest Operating
> >  System (subject to the availability of suitable drivers) to make use of
> >  paravirtualisation features such as disk and network devices etc.
> > +XenServer, for Windows machines, presents Xen Platform device with device
> > +ID 0x0002 instead of 0x0001.
> 
> nit: in the interest of future-proofing the doc 's/presents/may present/'?
> 
> >  
> >  Some Xen vendors wish to provide alternative and/or additional guest drivers
> >  that can bind to virtual devices[1]. This may be done using the Xen PCI
> > @@ -86,4 +88,11 @@ and unplug protocol.
> >  libxl provides support for creation of a single additional xen-pvdevice.
> >  See the vendor_device parameter in xl.cfg(5).
> >  
> > +=item 2.
> > +
> > +XenServer, for Windows machines, presents a device with ID 0xC000.
> > +This device is a placeholders for Windows update.
> > +Device 0xC000 is presented with a Xen Platform PCI device, usually with ID
> > +0x0002.
> > +
> >  =back
> 
> Wouldn't this be better covered under "=item 1"? Device 0xc000 is a
> xen-pvdevice, so it could be simplified to a single line of "XenServer uses
> device-id=0xc000 for its pvdevice on Windows guests", or something like that.

I think it's important to note that c000 always appears in conjunction
with 0001 or 0002, and it's not a replacement for either of those
devices.

Likewise it's important to note that 0001 and 0002 are to my
understanding mutually exclusive, and only one of those must be
exposed.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 11:10:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 11:10:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900950.1308934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQAa-00031L-5x; Tue, 04 Mar 2025 11:10:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900950.1308934; Tue, 04 Mar 2025 11:10: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 1tpQAa-00031E-3C; Tue, 04 Mar 2025 11:10:40 +0000
Received: by outflank-mailman (input) for mailman id 900950;
 Tue, 04 Mar 2025 11:10: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=wukS=VX=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tpQAZ-000318-Hh
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 11:10:39 +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 4d0a577e-f8e9-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 12:10:37 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5e04064af07so10256787a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 03:10:37 -0800 (PST)
Received: from localhost.localdomain (0545937c.skybroadband.com.
 [5.69.147.124]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-abf5fa63b4asm501266566b.33.2025.03.04.03.10.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 03:10:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d0a577e-f8e9-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741086637; x=1741691437; 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=1q7cHLSOIMRjIoBETXU9XFNIXqbk7EvNLnQzJRrVfG0=;
        b=L+Vq6ac7gGpcaIHoNX8XYOOg7K7NWAguY87UBtiIcwJAuE+PmD5qMguIf47Mg+hkRC
         2S70jRzMvkwLX246CFxtib61MgVV0RLm7WhPUXwt3R5mXgqpCGZRAtqF3DRM1wnN3Lcn
         iropbtcs+hcKNlx17UsisjsauYwKG7++hGm7Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741086637; x=1741691437;
        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=1q7cHLSOIMRjIoBETXU9XFNIXqbk7EvNLnQzJRrVfG0=;
        b=h7mmRlqKbzYYJk9l/VyHjE3i/tEjlSkF8+YXVOekVHM9HEqNboEyPoC8vJaw7npPpL
         hL6FuwKQzZiJj2lJ8T8eHhq9ef6wuBm7ILlQhT5dHsiiSyx3YPqBTg6TUXoOGJTuBXgk
         +m6bCPz4vftO4yKmasHibK8jcwSN2/Qv9XOsBPFz2Cf14gCZbpn+RXstESjJ/Gu0ctY2
         2inud6ukTEEajPuD0AiSDh3GI0WdMJDqHfvM81B8gGxu2Quc9VE6DJthKyTzTOBzrBDt
         CYRTzgto2n0VK5UkdJGw8irzSu5PmIgMJJ4+WaC0uwb/ucU+5dWpRBQ4Fi+Xxr+shroI
         YWrQ==
X-Gm-Message-State: AOJu0YxVfnpiQIdyMsDT6xZGvhWGbtC/OqYPwQe7jBtuY8WOQhjXqmBO
	04I/GjDNNRc0/JOzVATlLZDlW9LsfASParf0a99nTGs83rONPIVUP0KQQtspd/DifZuHEdUw8gt
	v
X-Gm-Gg: ASbGncseYJ+YRJZOz/ErKz2kPxIrtiItMswlJV5YhpDOxoKhrr357LDcUodWNb+sJMT
	3gt4/2iJX7WuauToQPepyDVsZYCvYYY4L6VYf72S6A9eRvqzI3TgTe24J2sqbG1c6n4kLGCnSex
	zL8ybPsOZEXS659XTjuW5DRjXFQWMAESY1h574V5Axd6kIZJ3ZQmdhF2gmpWlvi44JB6a8VELzV
	tzeVPc3bO6JMWNo8eVMKnSUmI4otfbD9XhTlhEks4cug/ND47B3b+kddp1VWpcrSecddGgm2EpT
	uzd807AkJteXla7byB4MTN5F5dIAmio79bsFlfezdtm8jA9QLBCV5QYW8mzX+nLkLltgwZYSwTc
	imqXGl5pAsZFPIb8=
X-Google-Smtp-Source: AGHT+IH00Q2kdrSI8+ADb7sbL3O2451bdaO/gACm7ngvjP4MHoPaJNh/wfUCKwyxIppwDVvYFkDMMQ==
X-Received: by 2002:a17:906:6a27:b0:ac1:f19a:c0b8 with SMTP id a640c23a62f3a-ac1f19af82dmr227550166b.24.1741086636777;
        Tue, 04 Mar 2025 03:10:36 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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] xen/page_alloc: Simplify domain_adjust_tot_pages
Date: Tue,  4 Mar 2025 11:10:00 +0000
Message-ID: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The logic has too many levels of indirection and it's very hard to
understand it its current form. Split it between the corner case where
the adjustment is bigger than the current claim and the rest to avoid 5
auxiliary variables.

Add a functional change to prevent negative adjustments from
re-increasing the claim. This has the nice side effect of avoiding
taking the heap lock here on every free.

While at it, fix incorrect field name in nearby comment.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
v1->v2:
  * Functional change by preventing negative adjustments from increasing
    the claim. Exit early on pages <= 0.
  * Reflect said functional change in commit message.
---
 xen/common/page_alloc.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 1bf070c8c5df..5f9c9305ef37 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -490,31 +490,30 @@ static long outstanding_claims; /* total outstanding claims by all domains */
 
 unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
 {
-    long dom_before, dom_after, dom_claimed, sys_before, sys_after;
-
     ASSERT(rspin_is_locked(&d->page_alloc_lock));
     d->tot_pages += pages;
 
     /*
-     * can test d->claimed_pages race-free because it can only change
+     * can test d->outstanding_pages race-free because it can only change
      * if d->page_alloc_lock and heap_lock are both held, see also
      * domain_set_outstanding_pages below
      */
-    if ( !d->outstanding_pages )
+    if ( !d->outstanding_pages || pages <= 0 )
         goto out;
 
     spin_lock(&heap_lock);
-    /* adjust domain outstanding pages; may not go negative */
-    dom_before = d->outstanding_pages;
-    dom_after = dom_before - pages;
-    BUG_ON(dom_before < 0);
-    dom_claimed = dom_after < 0 ? 0 : dom_after;
-    d->outstanding_pages = dom_claimed;
-    /* flag accounting bug if system outstanding_claims would go negative */
-    sys_before = outstanding_claims;
-    sys_after = sys_before - (dom_before - dom_claimed);
-    BUG_ON(sys_after < 0);
-    outstanding_claims = sys_after;
+    BUG_ON(outstanding_claims < d->outstanding_pages);
+    if ( d->outstanding_pages < pages )
+    {
+        /* `pages` exceeds the domain's outstanding count. Zero it out. */
+        outstanding_claims -= d->outstanding_pages;
+        d->outstanding_pages = 0;
+    }
+    else
+    {
+        outstanding_claims -= pages;
+        d->outstanding_pages -= pages;
+    }
     spin_unlock(&heap_lock);
 
 out:
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 11:18:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 11:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900960.1308944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQHd-0003fz-SP; Tue, 04 Mar 2025 11:17:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900960.1308944; Tue, 04 Mar 2025 11: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 1tpQHd-0003fs-Pn; Tue, 04 Mar 2025 11:17:57 +0000
Received: by outflank-mailman (input) for mailman id 900960;
 Tue, 04 Mar 2025 11:17: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=QBId=VX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tpQHc-0003fm-G6
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 11:17:56 +0000
Received: from mail-oa1-x29.google.com (mail-oa1-x29.google.com
 [2001:4860:4864:20::29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5173c512-f8ea-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 12:17:55 +0100 (CET)
Received: by mail-oa1-x29.google.com with SMTP id
 586e51a60fabf-2c1caacc1f7so912778fac.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 03:17:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5173c512-f8ea-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741087074; x=1741691874; 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=m4D96EQXl67ri2pgCBKKvBD5hLWDh2YbWr2AAz4A2QA=;
        b=CYsJZahJcokylR4+kWLmwrw/kg/04fDQ2avoZpse0Q+pwUX1WWzfjOZHuMVO+o74A5
         xvqeHGg6ZNwBrTP3RmF+yL02aJqNyJzFSnAVDp0WrYK/u2vh6Hy3Pfu8pkhyiM8PXHp9
         GheTrrYQP+jnFKZcI1VmeVgQ3OLFbzh8X89UE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741087074; x=1741691874;
        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=m4D96EQXl67ri2pgCBKKvBD5hLWDh2YbWr2AAz4A2QA=;
        b=C5A4ppFh3VJ9rjXpZqRm8dHys1jBuILZny5kY+u7N4IRjYu56HFQOm1TeNpxUo3JUX
         qloUiLm2lohH9wLlUXNdNMunA2L1z58oa5Jw2ekdhTO4yJ8XToJtwIrzWGLFOH2qGF6x
         Jf982UVWSb+PYRPUy2XsowrlprmNUA0IjXSwD6NQay427Kn70PY5MsjKZoi86vIyYtbP
         YR2sBwOHg47gzbaz2uvSDrUdsI+QSGOHcd9xHfOhCNyQY3SX17Jit7amWIBCAkIhUy93
         wrKwN79qsQ5C4I6FypiBDu/Hhfal/YPkb/G5APXmUdqiUT/pYyHLXApIpXLItdClcQGy
         VVnA==
X-Forwarded-Encrypted: i=1; AJvYcCUThaMITAMrWQxRfM5CBo7ZVOebzhaWR2YIYatO40knUBQfotU1W1GnO87J7d3glaBj0mRt0poXUHM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOK0RwVc+I9EyLezD9Rd0Y+o06ulSfzchtrgOCIV7stcBwJh4H
	otFaCvl+R4NqhKZzzVfrM1JLK+0HCtd4ilsatqkQt3mnlrW0l5sufieHjc2LDgOH5POv9kGcsVY
	apJFbAPRfg7GK5oG/vRWd6LP6coPNi459YcsZpw==
X-Gm-Gg: ASbGncsdiQpxrpMuzJBznCL+bXjVgBp4kQGdlwngZOtEJETbD9Lguz+9Tq1bbKqHkgF
	HDu3rinxdEE4XPJZEogCfFq5EnG5Y2XwCTqTmAiduzxonhcQKjZqVphCbWcPwP/2c85bOEvv/EF
	SK8ZmEHYKCfIVnV8x7buIAiwEKbw==
X-Google-Smtp-Source: AGHT+IFTBBwixaq7tXg7UdQbrszllUhsHUK7Do0YEFoSnrxLDPaBBcCxfVoHj39ao2zJ6PC+LhZDWvZM1VL903QQTPI=
X-Received: by 2002:a05:6871:205:b0:29e:1cd8:4a0f with SMTP id
 586e51a60fabf-2c17841757dmr9458027fac.17.1741087073885; Tue, 04 Mar 2025
 03:17:53 -0800 (PST)
MIME-Version: 1.0
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
 <D87ENZNEBN2Z.1E8WKX6K8EUE1@cloud.com> <Z8bfMmM5CJ5PQdhm@macbook.local>
In-Reply-To: <Z8bfMmM5CJ5PQdhm@macbook.local>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 4 Mar 2025 11:17:42 +0000
X-Gm-Features: AQ5f1JobzKbY_0O9tm8jGi3IVLE3dCZlf4zCKSPTXw0n6QtanX47J91x8v9sj1A
Message-ID: <CACHz=ZgmBxNKjA7KFktk-5jcPvWDn6DWpwCUEFzGO9qyJYuZsA@mail.gmail.com>
Subject: Re: [PATCH] docs: Add some details on XenServer PCI devices
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>, xen-devel@lists.xenproject.org, 
	Anthony PERARD <anthony.perard@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 4, 2025 at 11:08=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.pau@cit=
rix.com> wrote:
>
> On Tue, Mar 04, 2025 at 10:21:52AM +0000, Alejandro Vallejo wrote:
> > Hi,
> >
> > On Fri Feb 28, 2025 at 3:21 PM GMT, Frediano Ziglio wrote:
> > > Describe the usage of devices 5853:0002 and 5853:C000.
> > >
> > > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > > ---
> > >  docs/man/xen-pci-device-reservations.7.pod | 9 +++++++++
> > >  1 file changed, 9 insertions(+)
> > >
> > > diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/man/xe=
n-pci-device-reservations.7.pod
> > > index 9ddf3a18ad..62f3bd2105 100644
> > > --- a/docs/man/xen-pci-device-reservations.7.pod
> > > +++ b/docs/man/xen-pci-device-reservations.7.pod
> > > @@ -10,6 +10,8 @@ use of this is with device ID 0x0001 to advertise t=
he Xen Platform PCI
> > >  device - the presence of this virtual device enables a guest Operati=
ng
> > >  System (subject to the availability of suitable drivers) to make use=
 of
> > >  paravirtualisation features such as disk and network devices etc.
> > > +XenServer, for Windows machines, presents Xen Platform device with d=
evice
> > > +ID 0x0002 instead of 0x0001.
> >
> > nit: in the interest of future-proofing the doc 's/presents/may present=
/'?
> >
> > >
> > >  Some Xen vendors wish to provide alternative and/or additional guest=
 drivers
> > >  that can bind to virtual devices[1]. This may be done using the Xen =
PCI
> > > @@ -86,4 +88,11 @@ and unplug protocol.
> > >  libxl provides support for creation of a single additional xen-pvdev=
ice.
> > >  See the vendor_device parameter in xl.cfg(5).
> > >
> > > +=3Ditem 2.
> > > +
> > > +XenServer, for Windows machines, presents a device with ID 0xC000.
> > > +This device is a placeholders for Windows update.
> > > +Device 0xC000 is presented with a Xen Platform PCI device, usually w=
ith ID
> > > +0x0002.
> > > +
> > >  =3Dback
> >
> > Wouldn't this be better covered under "=3Ditem 1"? Device 0xc000 is a
> > xen-pvdevice, so it could be simplified to a single line of "XenServer =
uses
> > device-id=3D0xc000 for its pvdevice on Windows guests", or something li=
ke that.
>
> I think it's important to note that c000 always appears in conjunction
> with 0001 or 0002, and it's not a replacement for either of those
> devices.
>

Do you have something more precise in mind? Can you suggest what to write?

> Likewise it's important to note that 0001 and 0002 are to my
> understanding mutually exclusive, and only one of those must be
> exposed.

Not exactly sure if this is a must or a should. From my testing,
presenting 2 devices (well, they are mostly the same) works. But, as
they do the same things it seems reasonable to avoid the duplication.
It looks like a good recommendation.

>
> Thanks, Roger.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 11:36:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 11:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900970.1308955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQZm-0006KH-9R; Tue, 04 Mar 2025 11:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900970.1308955; Tue, 04 Mar 2025 11:36: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 1tpQZm-0006KA-62; Tue, 04 Mar 2025 11:36:42 +0000
Received: by outflank-mailman (input) for mailman id 900970;
 Tue, 04 Mar 2025 11:36: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpQZl-0006K4-A7
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 11:36:41 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060d.outbound.protection.outlook.com
 [2a01:111:f403:200a::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee5a5298-f8ec-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 12:36:38 +0100 (CET)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by DS0PR12MB6535.namprd12.prod.outlook.com (2603:10b6:8:c0::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 11:36:33 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 11:36: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: ee5a5298-f8ec-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=l4HAm/QCZomX4ufpzSJ//dnXyHAztogZrutJj4njaIR+rqB53YCEJ6DONv+x/TM4RWlZHzQjlvZQCRY9NOSdiVjpMhnYFvbCeXuwIRcskZUZOMe23WM7bHGrOnrjTiiC2xaS09tmXd+HZXg3vrgLnfklDZov2P+8XPcbTxZeMchRFNelx+glUvklU56XqQvdZBZKVyJwgpg/fpDbj6xmCRZLxp8DZyRCVUTL3i/RXgFUnU4OM8DSuhgi/e274RyLxQVSoPfVi2sXbkEGrHEhgetkYwUgb8rwA4z2bRTPnWRJsq49zjaeRb+8QJC7kSOtpEuLYs/19dgQjIeRV9F6ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jXEoohGIxcxD0z6lw6grT+nxAnpaG3x6Xy+lOgYd1cw=;
 b=VDn6y5XWtHGwnQl6hH/VcByixdwEkDdMftz/Nc07H/TyTM9T3sdlMqDabTc6+g9aN/cChovlLHHw99ZSMYq1tb3d7nFyPXY6FVYN0z1Y+wWQ3txHfi5eQgaVUmwJM6SerYPJUINcOqny0APe/Yqy5aEXPbWR2tA+KC0tW/TkNMHayoK5o3020I0Td/LybiLWi4JjBW0KN90GKq0xaSJ+MpYieNShUrjtPmzuyzivJkbf5tVl4mNrLR5VAana6ztSwSzlHag/8Ej+ZEsKpRxny6NQ64GemJELUxtMbjHOikKv6dcpcQ5PjAGijbK/segjtdskx34yoj3souySGAgmlg==
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=jXEoohGIxcxD0z6lw6grT+nxAnpaG3x6Xy+lOgYd1cw=;
 b=sD1s/yzPRrSFhTnQHjr2t0j9pvhTV+qDTrnQ++UFOm+KqTS68ux0j5UtoWmKL+aaxtSITLl1wIsi/HWVN5gbl9z++6xqcxXuyT6p0HsEZyJakqRynB2jKOXcPUVFSxmkbJlwBpy4vi+mW7mqA4mAzBux39lY+838zJw+SdWNbI4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <3c0b7b53-b556-4ffd-80a8-09b0307b7a23@amd.com>
Date: Tue, 4 Mar 2025 11:36:27 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/9] arm/mpu: Introduce utility functions for the pr_t
 type
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, 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: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-6-luca.fancellu@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20250228161817.3342443-6-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P251CA0009.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:102:b5::31) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|DS0PR12MB6535:EE_
X-MS-Office365-Filtering-Correlation-Id: cf289b36-de4a-4e7d-e27e-08dd5b10d062
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?dENZdHhEU0pvc2JEajNaZnlWelNVWVdoOVhXTTFGUTAyNi95b3dMQnRtU0Zp?=
 =?utf-8?B?TjZCY3BGUU5DcmYxcjAzRExnbG5NaDhrRzRaOVpVeG5iR0tDMlcwN3VhT3hy?=
 =?utf-8?B?Z3hMRU5HTEE4TlBXWXd1L1ZYb2J0QVNaUW9hQjU5MjF0WmhmV0hUNDFqQldQ?=
 =?utf-8?B?WXF5OWVEZzZsMVhCUHBsV20zaTg0NERaVVhlM3Z3UitsM3lBblNHbHp2RnpT?=
 =?utf-8?B?LzVMRDN1d3YySVFETTQ2dysyT2VlWmhKS3hrc2kxbGkrREsrRTlNR0F5K0JC?=
 =?utf-8?B?N3orY2dGVVRGTTJ6M0JkdkJSTm1UaFUwT1BUMkhubjZEUGJ5RllWRkNWT0d3?=
 =?utf-8?B?ZVNZcENsSTBjd1lOeGV6M1h4NFVmNWNwcWdzRDJhL0N0QmlwamZmbWhYckRF?=
 =?utf-8?B?Z3BhRjZlMnE3MzNDb05TMHpXci9sbk50NVY2R2x5K1E0dkhsOGhUaktQV3pR?=
 =?utf-8?B?UEhDSWs3QzdpMUpFZ0czNEFvRXIxVHQwWFRERFI2UGpXZmhRUXBPVDlhM0M0?=
 =?utf-8?B?ZlZ3dnBCNDdyblRIUzkwMXdUUEpQRFVRWjNFYkVPVDFtaTI5aVp0dEg2MWpY?=
 =?utf-8?B?a1RCT2FhV3laa3dJVzd1TFlncGVpK0JiWUhtU1V5Y2ZWMVNPNnZ5N3BZN1Qv?=
 =?utf-8?B?UGk3RnVLM1lJamlleEVTdytKcnFRTGltZVIwOEJDTndOMXRWSVFlVmJndGtM?=
 =?utf-8?B?MHNnalEwdXVGTlEyVy92MmU2aVpRNFVsTDVvSk1WL3AwVzBrbWFlRjdvbUt1?=
 =?utf-8?B?SzdFOXowZ2VNNDZPNEZWQzloV0hUT1ZWbkhiSXVOQnp0bzVsVXZIRVp4K05U?=
 =?utf-8?B?WW9vaHVaY2dBWUk3ZExRM09TTSttTXZ6SXNjaVZRb3JUVERhTjFhbHJhbEJP?=
 =?utf-8?B?Umk1cHgxQW5rRmF4TmJHWmNRODlCdzU2dzNod1J4ZW1JRnVtWnptZ0g3ZDlX?=
 =?utf-8?B?OW9hK2xxVDhrcnlCUEtqa0hUVFFsUWFTbmFreUZZMXJJMU1idjRyY3puNVpi?=
 =?utf-8?B?cDkxMTkzbjVLSzB4bVh1TVpXOXRNM2FpSFkrYUNyR0NUWU56cklTTjJsTytO?=
 =?utf-8?B?b1cxcGtQL2k2UVVWL2ZnTVZ3MFpVNjAyUUJDcFJDM2tjUmtyTEQrajVjMmpk?=
 =?utf-8?B?LzNXVHFWL1B2TlR3ZS9LK3daTmFRNXdOVmJ4b2htbElmd3IwdVRhUGdNYU12?=
 =?utf-8?B?N2NqNk9qM244ZmJjSks4NW9rbE01ZU9qbjR6c3VXNThVUy9TbEdVTDVCN1Zq?=
 =?utf-8?B?dWRmZy8rZjg2WmZqcmRRVXMzWk9jREw0QmUxNmE1aVFveTZjRGdIa2NhSUg5?=
 =?utf-8?B?YkhuRWc4Y0ZweTNNSk1pOU13TDRnbDJUY2UzeFhVQkZUZmdRcEZRbkxYUmRh?=
 =?utf-8?B?bDhMblEvWHB6Q1lUZjlBYnc2ZjlFSWoxM3pUcXNhVW5pQk1CdVdhdEhSWDFp?=
 =?utf-8?B?NjVVMVp1alpURlh1NHI0c081NUZFcFZQRHE1VEV5anpML3VmYUhWNUdBZHB2?=
 =?utf-8?B?VXBUNGMyMVB5UE0ydE1GVWZNK2dCRTVkTEtpN1lpRUk3VlltL0E5Ym9wSmlN?=
 =?utf-8?B?ekNLVHh1cXpEenhWRlpQTG1sQUp3Mm4zUklpdXdpbEtOQVJvZDJycU5BTkJm?=
 =?utf-8?B?c0szaGFDU0M1TGErSVJsYnJzWmZmRThoRnZyelBjVjhZVFJ6NTJ2UEkxSTVC?=
 =?utf-8?B?RjNIWnB5Mm9lZ09sRkxxUjZZalNXbm0zQk0wZXZUS2hibjJVR1ZHSWlicjc5?=
 =?utf-8?B?aDFnaWhIeXJadDhtZlh3SlhtTHVDdG9aWXlPR0pGUnM4OXpDN2E0K2FsTVdv?=
 =?utf-8?B?MkVtMjZhdXIrMERYeEppVjNteC9aQTdQdHBkaTMvMnMvcUlJNVpjdThYMFVT?=
 =?utf-8?Q?iffKSmhIVhgUv?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?dEczWi9EMnM4OGZ1VWJUSlhpTnBlVjM2d0tVb2VidlNaNkxlQXJmNUlGc0hx?=
 =?utf-8?B?OXRWUzNKY0pDbzFDU2xBbnBYdHRDd1djSHJCbkd5RkdTK1I3bGF2eG1HTXhR?=
 =?utf-8?B?azNOZjdNbUlKUStBM2h4UE9ZWlUrakg2eE9KYVpYZmhadGF0THcvSVVwTWlk?=
 =?utf-8?B?NVE2QWNZWWk5WlhyM0JxMFV1cUs3UFNvdGlUSWZKSXZZTk1NeHh3VnlsdzNU?=
 =?utf-8?B?aU9lZ1NENnNUOHBYS2RpbFdjS1Zma3lzRFo3TnRUeFozU2preHlNOEo0Mjhz?=
 =?utf-8?B?a0xuQ0ZQMk91dVFDRVVQQVlmU1ZRTWs2cVAxam9jQXdoOGVTWE5mSVlFdUsr?=
 =?utf-8?B?WVFkOUVnaWlRWUlLVGdFQ2pmUjNWMjZZRUpYVUtvWTNGeFFuRExpZkdqRm9S?=
 =?utf-8?B?allScmNzSm1MRk8wb3d4QTB4VDA4MXpsMXAySmQ0OGNqQlREOHZPTnpFbHBJ?=
 =?utf-8?B?YWRudDhYQ3dyQTljbkowZW85N2ZmQnFiaTVPZ0U0RGc5VjNIYU1GQ2Y0Z2xt?=
 =?utf-8?B?MS8zc3V6N1BEZXdQVng3cDZ0TXBvdSsyc21nRlhQcWEzZUZXRldnU1l6SVZH?=
 =?utf-8?B?WTBqVHk4OHJtd1R2azlKSXlWaCtLNTRLa0YxVjhWU1VGaHcwSWkxRjQ0ZytH?=
 =?utf-8?B?WmR1N0JRUFlXZ0ExUVFPZmR0eEJncjFMUUtGZ1pQTXFBc2NFWGVuTUJ5Z3hE?=
 =?utf-8?B?YjducnlXSG02SzYzUG0ya1luNE1EZStXOHMyTlRRV3V1L3NLQXlFZ3F2d2hD?=
 =?utf-8?B?ZTFUdWNIZWFYbnMvVE0xOVRZNksraHVlTmFtRFFqeG4vM1lNa0VTN0tnNFhH?=
 =?utf-8?B?ekw5NEFzb08ydUNiNE5PK3JhUWRXQzV4NEQzeHNURVA4MFBpejVQR0g2cUZo?=
 =?utf-8?B?L3NXcmpWMkVxaXFZUnRZSzJJTDJPS09YY2JEZis4NUllWEg2bG9oZ0x5MlRT?=
 =?utf-8?B?U0JDUUFxdkhrSzFDclB3WktLNWJEdFJWbkhqNnZibTRBYUE2WDBsamNuQUly?=
 =?utf-8?B?S0p1ZmhMVFRTMUljMXdGcHRkd3hYSHB4SCtFMG9sMEhNZFZGaEhlbTJId2I3?=
 =?utf-8?B?a25YWmpQanE2MlN2OVk0TTBvR0tWQ3ZIalJ1enhoTk43Smp3Q3NVSDVncy9I?=
 =?utf-8?B?Y0FjVno4VnlzalAzWko1d1RrMTFNRk9scUtPMzBWMG5EUkNpS2Q2Qko0cWo0?=
 =?utf-8?B?WnFWamE0VUswZlluV3FJSkV5K1p3em5qM2hLbU1vVVdML1BJbmhOVWFMOHdj?=
 =?utf-8?B?aHYzU01zb0RWc284QlBiYWJQbVdYSE45TGlPampUWExjRU4vNWRWb3U1eGRO?=
 =?utf-8?B?TU81bk5NeXdMeElmV0tIOWhLcE56UkMzQkNoWkk0V2V4NG40RXVJRE5SQzZM?=
 =?utf-8?B?dHE1TSswRGNCZXVJN054Y2VuMGF0S3hwb0tpOWhyYnQxUXMySzF2YzU5UUtR?=
 =?utf-8?B?VUVlZUxxaS8zejljajV2VDNmbkJrc3BlNWNBMVZIM3VBcnIwK3UyaXAvcG9I?=
 =?utf-8?B?UXdBWHVpMGs3UEpmelB6aEs5OGFINDJlNERvbFNzREo2OEQraHlRdTUvUzR5?=
 =?utf-8?B?OUN4UTBVdGlJMnFSbFNQS1VuS001WC8wRXBOY0REM0F1VFB4S21OVXZ1MkZn?=
 =?utf-8?B?SzVmWER6NHFqQXkrc2l1L0xMVThTV05TSkM5dGR5RVpQVHMwZGtEdzFEWXlX?=
 =?utf-8?B?OVNOZ0NuRjI2cU55a1h6SXA4dnV0dzNqSUlHbDMxQk9vRHVqUk9VZmg2NmtO?=
 =?utf-8?B?MWw0cC9pdDQvaXVMRU1taGFPN0FSaFl2TExjV3FPcndsaUU1UGFaaTJmWTZv?=
 =?utf-8?B?cFd3V3hpanorSEFhOGk5djNDSWUyQUU5b24ranE1b0FRQ3A4UlAyQnJGNmNz?=
 =?utf-8?B?cWJsYW1YTURqcG5rY2MvNjYxMEY3NVhXdzVFYXliWllLVjRNZTVzb3RuN2pl?=
 =?utf-8?B?cTkzdGxTcERmM0hrVjNmS1A1dlFaSVBXNVdYby9PekRQM0NGTTVFOStpaURD?=
 =?utf-8?B?QXlXc1lNWEtQWDhGYmZUbmN3Yzd4bUlaQzU0S2pGNUFkMVAyTHdPRHZ4M0dl?=
 =?utf-8?B?TUsrd3VpSHc2M2JFT0JxQ1d6ZU91MFJoc1VvWUtHc0Z4dG9sTk5pbXI1cHdP?=
 =?utf-8?Q?nyFoUWysimlwp0w3WGLPkKq0+?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf289b36-de4a-4e7d-e27e-08dd5b10d062
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 11:36:33.2009
 (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: JjftvgKqJW8PquGVgEKusihJUJjZbWpnbvAKhW1dqnjHyru0B1fsAj9nW+UzguHzIS0LR4zQHXniq6Olex0beg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6535

Hi Luca,

On 28/02/2025 16:18, Luca Fancellu wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> Introduce few utility function to manipulate and handle the
> pr_t type.
>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/include/asm/arm64/mpu.h | 36 ++++++++++++++++++++++++++++
>   1 file changed, 36 insertions(+)
>
> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/arm64/mpu.h
> index c63a9e6e5455..3a09339818a0 100644
> --- a/xen/arch/arm/include/asm/arm64/mpu.h
> +++ b/xen/arch/arm/include/asm/arm64/mpu.h
> @@ -50,6 +50,42 @@ typedef struct {
>       prlar_t prlar;
>   } pr_t;
>
> +/* Set base address of MPU protection region(pr_t). */
> +static inline void pr_set_base(pr_t *pr, paddr_t base)
> +{
> +    pr->prbar.reg.base = (base >> MPU_REGION_SHIFT);
> +}
> +
> +/* Set limit address of MPU protection region(pr_t). */
> +static inline void pr_set_limit(pr_t *pr, paddr_t limit)
> +{
> +    pr->prlar.reg.limit = ((limit - 1) >> MPU_REGION_SHIFT);
> +}
> +
> +/*
> + * Access to get base address of MPU protection region(pr_t).
> + * The base address shall be zero extended.
> + */
> +static inline paddr_t pr_get_base(pr_t *pr)
> +{
> +    return (paddr_t)(pr->prbar.reg.base << MPU_REGION_SHIFT);
> +}
> +
> +/*
> + * Access to get limit address of MPU protection region(pr_t).
> + * The limit address shall be concatenated with 0x3f.
> + */
> +static inline paddr_t pr_get_limit(pr_t *pr)
> +{
> +    return (paddr_t)((pr->prlar.reg.limit << MPU_REGION_SHIFT)
> +                     | ~MPU_REGION_MASK);
> +}
> +
> +static inline bool region_is_valid(pr_t *pr)
> +{
> +    return pr->prlar.reg.en;
> +}
> +

This is common between arm32 and arm64. This can be moved to a common file.

- Ayan

>   #endif /* __ASSEMBLY__ */
>
>   #endif /* __ARM64_MPU_H__ */
> --
> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 11:39:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 11:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900982.1308965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQcQ-0006wJ-NZ; Tue, 04 Mar 2025 11:39:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900982.1308965; Tue, 04 Mar 2025 11:39: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 1tpQcQ-0006wC-Kv; Tue, 04 Mar 2025 11:39:26 +0000
Received: by outflank-mailman (input) for mailman id 900982;
 Tue, 04 Mar 2025 11:39: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=i2zF=VX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpQcO-0006w5-Md
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 11:39:25 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2606::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50fe03ad-f8ed-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 12:39:22 +0100 (CET)
Received: from AM0PR01CA0088.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:10e::29) by DBBPR08MB6060.eurprd08.prod.outlook.com
 (2603:10a6:10:20a::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar
 2025 11:39:18 +0000
Received: from AM2PEPF0001C709.eurprd05.prod.outlook.com
 (2603:10a6:208:10e:cafe::fd) by AM0PR01CA0088.outlook.office365.com
 (2603:10a6:208:10e::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Tue,
 4 Mar 2025 11:39:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C709.mail.protection.outlook.com (10.167.16.197) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 4 Mar 2025 11:39:17 +0000
Received: ("Tessian outbound c3a902884497:v585");
 Tue, 04 Mar 2025 11:39:16 +0000
Received: from L667afe623bc4.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CCA46CC8-0B51-4155-8775-CD30A09F32E5.1; 
 Tue, 04 Mar 2025 11:39:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L667afe623bc4.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 04 Mar 2025 11:39:05 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by VI0PR08MB10681.eurprd08.prod.outlook.com (2603:10a6:800:204::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar
 2025 11:39:03 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Tue, 4 Mar 2025
 11:39: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: 50fe03ad-f8ed-11ef-9ab4-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=t9uyIgbRpKe/jBiIqoeT9Dltv+nO1GtCINdQtzgOz2fTyru6asVN0mRSNQVFeNLWgHopykUGI+8Dfs+iRjLfwRbpaV/FmYXJliBPqsmlJgYhSlMmCjuPRFkCYIzr0Jgg1Gf2sE49pa6oHQgiEWgztbQfeVFpBjZeJqeNG1TM6SjI08smu9c6m2I8FzNkmxELMpYQX6JGWRIfcTc40mTf2sriYebcvgulai8NYs/IF+kK82NJQWxAeMBw+rC3LGx/P2L/cABMsr+T0Mhiw/qTPOvJACtRwDRsXFwfh25KspxX+Lt9rN2n50GnmFgdprWFeILajldEb8m+LOKEu8lYSQ==
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=zPBj+9q7WavLXy84FpuMkTkd0Wj7tDbK6piRkm98cQ0=;
 b=MPatdXx40/Qm2/guByL884c1HgWRfUj/xgGxQUtaVP6OwD0IpsN67aYV1Z+1FZuKmwFFX6zGEC42nfZaiqdWkH1ipo3rrA0SYYJ3tw5wxILa9DRXwhyEQhsPkKdRz2bntHT6uFze/yHAqQ31R7y0OaEPK799+XxElNZtdDo+9XT/j/esC9Qf+hm3O3KFBZWkeF0nz8tMyfz4PBlnQ0/pO/ZnPoNcpH5Tf1yIsev2coJzn5hOI7VLet101jZT7Pl5uvKVL3VLtmaOxIAFxZkwk2Kq931wF2vTUVLKvPp65WIqArOUCiaR/7IeyWa13PIyd/lQRnZxodZancStNYY3lA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=zPBj+9q7WavLXy84FpuMkTkd0Wj7tDbK6piRkm98cQ0=;
 b=CX/UnAY+MXCqDdqCrux0hqGPt42rYVMBmefBevKwlD5tx0x6jylC11Bp7v29yKgDT7x+X6XNlbKncgFEIEaPEux+KBNezTywes/TiBf4IgGqnfIT12HesAb8Lr7+O14sVilTOxPzV7m2jfqHICgoM7nLacE0ReYbL/yQMCrp3Xk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f8a3e2ce5f44375e
X-TessianGatewayMetadata: MQAvJRg0cDRT6mEcTB53f0qLLQwYakZCObJ2O9I4kmbuQgnlZeovDXI6rQdmPNm0oyssdBA5JLLb+8l3X8p06OlsNq2gRaSmJ61iWjZFAMSm0W00nHf1n0vg5EQl5bh14bturpL/KunGhnDtimsX2rquTXbKCICjajBDDyX0kgA=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iyQVCvKaibH8PXxQbgy7mW3YYv7GaLCTUoYezrwYyQRwcGHZoAUtP9mYK121q2+2ix2aOHtngJKoG0/JMsag14MMxW3i4s5sNolpJq9eUr/9LB02/zNP3Taj0677VjFTMMurYqFf6Hfojmvg69LU1q9xZPETXvSaZqeJ0ETVv5SUjrwMTWi8FC8+nbLDtkwYLwRfPkeo7Toc8CVwvNRv2ihUVGzM66NtYUoZX2RNeyqKrmaFJ8QaqwlyLWYo/fMb7KqMXcFEcL6oOyP0RAPQm3yhKmFgegC8W1JlRZodi99joPDPsiK8h0eRdah91f5syY7EMjKF93ok952SJQzDXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zPBj+9q7WavLXy84FpuMkTkd0Wj7tDbK6piRkm98cQ0=;
 b=AvJeo+AGcRTYATvCiBACyJm2oWinTinykCB9mw/teOTuiMCyhyGMzArJC4pQ0awXstce5QlnfLnpmeWwwQwtgY+QlIWzvYn2+E6BIHEgOLvzqnGcBI9sYoYIyLmkfjPX0mf9yTMZu+Yhm5/YTud1zYkdeS3hM18ctCcOKRe/OtFbZALHCvLLUAGnMg4UZSkkUDjl7DkQfqhKrzCw07gEQ8uaDVlMYk0Dyl1GPfASNgEXmiAwPeKrcrn4MPa8UzQsOoRyWdyT30gr8auzWxB9VKkjZgWYUrwdPtOOUbxTwwJixCz0yq1vot3zM6tG/kUP5BukI/8ZdC5Hs/KJwAhyPg==
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=zPBj+9q7WavLXy84FpuMkTkd0Wj7tDbK6piRkm98cQ0=;
 b=CX/UnAY+MXCqDdqCrux0hqGPt42rYVMBmefBevKwlD5tx0x6jylC11Bp7v29yKgDT7x+X6XNlbKncgFEIEaPEux+KBNezTywes/TiBf4IgGqnfIT12HesAb8Lr7+O14sVilTOxPzV7m2jfqHICgoM7nLacE0ReYbL/yQMCrp3Xk=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.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 v3 2/2] xen/arm: Restrict Kconfig configuration for LLC
 coloring
Thread-Topic: [PATCH v3 2/2] xen/arm: Restrict Kconfig configuration for LLC
 coloring
Thread-Index: AQHbgerA9DmOxi5W4Eufnv1ogXYtfbNNErSAgAAVW4CAAAFcgIAVxqqA
Date: Tue, 4 Mar 2025 11:39:03 +0000
Message-ID: <769DE9A1-0F3F-4564-9A37-0812ECCA3234@arm.com>
References: <20250218095130.2666580-1-luca.fancellu@arm.com>
 <20250218095130.2666580-3-luca.fancellu@arm.com>
 <eeb91fb4-ef2e-4f07-a1b8-1812f0371113@suse.com>
 <1133b3cc-4051-44d9-83ab-88c4c30f260a@amd.com>
 <4b31f272-2bb2-40d8-94d9-8137586b59fa@suse.com>
In-Reply-To: <4b31f272-2bb2-40d8-94d9-8137586b59fa@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|VI0PR08MB10681:EE_|AM2PEPF0001C709:EE_|DBBPR08MB6060:EE_
X-MS-Office365-Filtering-Correlation-Id: 79705bd9-6945-4a10-a62f-08dd5b113250
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?IIjKx3fTkA7buLTdvamB6JGXsu1mIgGaYXv2tQItQUdyjcznCf91KkyhLa8i?=
 =?us-ascii?Q?fvyeXnSZtBNl5scVJnTaCDvkgfCQQwAtw0dpKK+5WCOTElwxKbUNvy7xuPOy?=
 =?us-ascii?Q?GcF6P8Sb8y/DH14CcGwuEnxfsUJstAW+oVdsU5OTZt3W7LctqJN2DXWvM5u7?=
 =?us-ascii?Q?IUz17StB4ngG2Vk96OFo7VlrKM0Q6zfr5IEuo7ANvocySfDY8fKih9nl87f9?=
 =?us-ascii?Q?ESMzFSi+0UTO/+Rs0wWyFfErbR+WxpXTJ9pFvnKEb/wimPTkw3x1MKX1sSf0?=
 =?us-ascii?Q?tqN8xpiAyMjaEVEWKTsKepJIOL9ceLE9BRuQ948WLabjAVqsIuT57FApjX2D?=
 =?us-ascii?Q?GrmEEAGHA6+PeSOFwrPLS7JSi00EM4aJxGuLMLCBhwFMW9XVAbNaXQix+94c?=
 =?us-ascii?Q?2oV97E1M6u6idKUx3SCC1BkPuGTcw0wGux7unrLtjKsn0pmgiKrtmEYBz51O?=
 =?us-ascii?Q?tC3nHPJ+P8Xyasb6mE0fNgqddmb1btHKIcxXiqbKnIsoWrois+aaZ7cL0/u1?=
 =?us-ascii?Q?LrWq8Lp9pBJ2AlvSOw7xQu94F+MrMOS2tltDYxt0exi0b0bptYAp86BTFQ5x?=
 =?us-ascii?Q?vPqBiFj9Vi2J3N4QhlQwIAIrb77ADCPn9Vm0UG9MTHP3+cpN5LkigyZAjG1V?=
 =?us-ascii?Q?MUQRoz32jMr2iFuQjE/vC0Mb/m0TyPEHtPggASAoFoMoyiyBdjOk0N0+nXhu?=
 =?us-ascii?Q?ZFmLQ+7GZ4/l138apNgXido9QvZiAANnQ7My0mVnSB+sStQckxRGHmsrwLkP?=
 =?us-ascii?Q?d0C97xwJyCF72+CSmsQ8CP8WHslUvA5PVFmIfT7w91kBZ2OH4Jq7aB3I6f4R?=
 =?us-ascii?Q?hnGV3r6IHmtu1beV9MPGbgPjyVjmuicu7HJxsf6AP6JtFoVSLIP+mKJR7DSF?=
 =?us-ascii?Q?Duj4crubFM4P/6w71Gut9tMEGVUKIJsnODsqSughfWTUg68IJxwwCGR+OP7q?=
 =?us-ascii?Q?mjhbgphONg/LiiOlMQf6w+jI6Bl77lzpyRsEnnBcq98oSvkaSIzStSo7I5t1?=
 =?us-ascii?Q?A5QR9pen871bKd2hKKz0zZbM8VPUn7SjWyBUzzD/BbhuYIAiyyOfSX6lXPY7?=
 =?us-ascii?Q?T9Ueim83ffGavzlwlpqO8NBkzn2lZxByl5GLlRKoXLtrI2HzFJdtIwHouRpL?=
 =?us-ascii?Q?JcatA6D2O9s67TpRIf3Z4aCNEXA/GW+GTKFcgMUrwYcXwharvEkGZcvSNVkU?=
 =?us-ascii?Q?K/87MQjuVFOC7ujPGdO/5LvjgQrTBKF8A3W5rX/mW+ishthEuevcZk3wJWLK?=
 =?us-ascii?Q?ZNvzOaulL6UAw7v07Wc4NtbLk6Pij2rlSbe4XtnoOXLarfkwfat9lBoGUL6J?=
 =?us-ascii?Q?StNm4cxUScKi+aNqvu73UI0I60h7EJ9xjIChk3cotb6O+vgrozGj62Pc6qxl?=
 =?us-ascii?Q?IG/b2Faa5yEK/wdcG1vrurg8F3vazB3jQiYORqpquiaPrCMneAzyuqattQve?=
 =?us-ascii?Q?UCmWa7wnFGK60VzyVIkIMyEpnKIibf5u?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <92C53C9910CD64428D772122559290C4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10681
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C709.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9941d2ee-cccf-4a17-a306-08dd5b112a1f
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|35042699022|14060799003|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?wuGhjO1eoewuTXbROOHyK8s4hBtRsZ8JaOFjLgOTyzHr+2x+n+3F8NYLDyIx?=
 =?us-ascii?Q?+HfCZF9JkJnact74OlW9GQ+wAVuKzBDBEvhPuyGRJnDa9BcmFe0zm/4dHD/k?=
 =?us-ascii?Q?YQfIVCKKz2dpWi3XfaAwWa8+nXEhb2u/Qu8rzihd3yzQTqGqK0jcYPn2BmJt?=
 =?us-ascii?Q?l8/7yTvSsJUxl9+g9Cr+s3E2Y/E2B6sv92hwYvMgJkA8ic/W6BLrbAq+O4vP?=
 =?us-ascii?Q?1uB76sKjjedHgQFojCbEQTSO4zagNUXCSfF3lTLsjzEKPy6H0pnPqJFn01Hm?=
 =?us-ascii?Q?FdOCmHIj2G6BnnAFMd8iiGoXQMGeUGpP1qVjOjPUq6bWWdFyqctGfuGVbTlr?=
 =?us-ascii?Q?wir5dRlQJ5BSy5y8ZoWNL90FiHgejO1QCEvVnC2Cij4N2awgVf++B8VrIee8?=
 =?us-ascii?Q?nLZYwi4ui9SE8mph8dGAAIvKdO/eGPSwvGhVa9zls4bO4uHdaAkvNx30mYHy?=
 =?us-ascii?Q?6xugki63W+qyQGJlAqq3TYU/q5eXMOuUYthJzIncqjzhKqC8M9P8se1Q1EvK?=
 =?us-ascii?Q?YSaYZs6f6UsMQaOsXODDxmS5uBMo2BYT2HFKF3OD+fcbED4pgKByWToYKhOd?=
 =?us-ascii?Q?bUvf1K3woLAYU9nF23BcJ2U2Ass704KwW49Z7p+GemF+YtCmS1AFtcWyJW1e?=
 =?us-ascii?Q?0AZo0RhFR2sCilyAQe5uFV5ZI4ywZad+ewVguEhEdQkkC9qR+07kwTjR1wHv?=
 =?us-ascii?Q?ARNBFiQrEhs8bqYQj67f51fmnAZL79a7lkLFEEaBmNGAZfzgn559fZnM9V+7?=
 =?us-ascii?Q?gmX0LIVwy5Kdr9m1jE7jk+faDuDstn4j02oX+HFRhD7AAs7Hx0v+T2MeRBVm?=
 =?us-ascii?Q?iAy72zJFAbkA/A+EFCkMpADs843ZADRcmOkHK0fDWkV2CGLU1ixHiBp7P3yX?=
 =?us-ascii?Q?FLJLqxyfqALbOKZPgnlTqt6p5yqvaNUFS08H7MpIUNiF+KuP6sCQV3yi+SmE?=
 =?us-ascii?Q?2fEfAH28u5GVW4wO9FkqmkGbJ/NRrsUFRaSaAUTvPhBH/j0zESpTvIXgaWbq?=
 =?us-ascii?Q?PRFAcsSRR3AbxqJedE3nt2mITgkso2Ktdo5CAL8qtxK7hbXUfWOW8dlG5eiE?=
 =?us-ascii?Q?qFB1kQhgDaQxyYG3r5xxHyQmlfdNporJyW8cGDbuW+W09+NlJdoBS36HO9cR?=
 =?us-ascii?Q?afI44cchV1SPBu1E29r8Fc4mShSxYcrDdHy/rOhXJo4gyY2YukDaYtSrnzqX?=
 =?us-ascii?Q?bY8HWRUupxY6K3wCMb8jGhi+uuxcyIKQtziWqdOVcFqoATrGiqdm12kjLjYa?=
 =?us-ascii?Q?jtovs7I/fux7mkfXy+9TZkhA9OovoUX1PcqUfuMLinAqtsjOWz+e6rMrABS1?=
 =?us-ascii?Q?agRplZf1v+ju16tNNWPfnnAmC7v1fUeye9sjauuFEtwcEv4vaEQPce+zmoKs?=
 =?us-ascii?Q?qa+qpZpvg4Chdr3Q1b0EzF5iySDjd+RAqbBfm237Q65E4qDYAh5IxdS6WMIf?=
 =?us-ascii?Q?IE2p4Nwc/odAQCMWdmbZQ7LzXXLKnniEWNZHI4A0sq8iWmdUpWj8/TOnJ1ca?=
 =?us-ascii?Q?lTUCMzFFc6xGtZA=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(35042699022)(14060799003)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 11:39:17.2727
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 79705bd9-6945-4a10-a62f-08dd5b113250
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C709.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6060

Hi,

> On 18 Feb 2025, at 15:06, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 18.02.2025 16:01, Orzel, Michal wrote:
>> On 18/02/2025 14:44, Jan Beulich wrote:
>>> On 18.02.2025 10:51, Luca Fancellu wrote:
>>>> LLC coloring can be used only on MMU system,
>>>=20
>>> Just for my own education: Why is this?
>> I read this as it refers to the feature we have in Xen, not the generic =
concept.
>> You could in theory achieve cache coloring without MMU using static allo=
cation
>> or some custom allocator but in general we benefit from being able to ma=
p VA
>> to PA aligning with cache coloring scheme.
>=20
> Oh, okay. Then maybe the sentence would better be worded to express that
> it's our present choice, rather than an inherent limitation?

Is this better? Can be addressed on commit?

Xen LLC coloring feature can be used only on MMU system, move the code
that selects it from ARM_64 to MMU and add the ARM_64 dependency.


>=20
> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 11:45:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 11:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.900990.1308975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQiT-00006c-CN; Tue, 04 Mar 2025 11:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 900990.1308975; Tue, 04 Mar 2025 11: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 1tpQiT-00006V-8X; Tue, 04 Mar 2025 11:45:41 +0000
Received: by outflank-mailman (input) for mailman id 900990;
 Tue, 04 Mar 2025 11:45: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpQiR-00006P-Qr
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 11:45:39 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20623.outbound.protection.outlook.com
 [2a01:111:f403:2414::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ffb701c-f8ee-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 12:45:37 +0100 (CET)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by SA1PR12MB6948.namprd12.prod.outlook.com (2603:10b6:806:24f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 11:45:32 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 11:45: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: 2ffb701c-f8ee-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xh4yIaq2Z5w0MHlHdI67jJghbCzkH4GI7AyOIIHQOuEzmoIFmF30DGnHk+I+hSODYbBMCs/v8PudtB47Mn2YF460GnzVHwZA4o9ruESoSN3rHGmChsUrueLljqPK/G6t8Fh6DqX74NtPWebf4ovai0kYU/e+3sNmOJCoGiW6VzxJdcrJYbHrpHO4AyUSTCRzQHVnFz6O/CdwckfwkOJzJcyUTVvDmrQcuYOh+LM0/HlZbOwveG6vppCRGI/GRl3u544MHttltYIJrdWzkQZIN2LiObkWfyGaDnPZt37E/Bh7EDDAHv99V+eN5O7R/4qdL2f6LToDcPCmCB9ufK1Dvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FBf5dfSNv4haGLrdFBz0CAO56vB1op5Fg1Ba6OiNZzA=;
 b=jyzod3DhIWPD+d+YJVTyKASXiYPZoM2FqSUu8NQqO41s5WP+ljVwPfCE8Fec7RTSPeLm/Artrl6mvgXGOhHNIDSmJw2/+T5dZayJJD/El8dFAp9eb+kUGindJDCh0LwNu6pG91vgYxBcflTWe7fTYBeNrT12YtwW9T+igDF/M9ISZOBwHsw7V8CU+iBLZfmAwGY/g78YFglPdSmali732qby+r2H9HW2vhStpt4d2BaAoQByZfqMj1SjH8shXarl7Qv5IFZmgWR/2u/pE02ZpDpml9mNHwO8q6ARqYoplnzRlxOFpVyh+saKMPiqW0Aq+Q4srRb9rHB8rdkmWPu+ZQ==
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=FBf5dfSNv4haGLrdFBz0CAO56vB1op5Fg1Ba6OiNZzA=;
 b=XpSeCoLczMf396RiMwTskyTA82UAe/kntX2f5cupyEL23xJCDjKkCCce1eh8Ort36MeK59zbDsfn8cwwxCVp0zJUqvlP9tJq+cp1TA80GaDhAXYyp0eG5K2cmGvWGSaYXYcat8XW6E60JQ0vu7KN1V1pbsunRlM1uN9ibqtmkvI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <37f6cadf-005f-425e-8aa7-45a947dbbc5a@amd.com>
Date: Tue, 4 Mar 2025 11:45:27 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/9] arm/mpu: Provide a constructor for pr_t type
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, 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: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-7-luca.fancellu@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20250228161817.3342443-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DU2PR04CA0022.eurprd04.prod.outlook.com
 (2603:10a6:10:3b::27) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|SA1PR12MB6948:EE_
X-MS-Office365-Filtering-Correlation-Id: 0bedff34-b95d-4511-d30d-08dd5b121183
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?QW9lSC84ZitNUWlPRzlMRG5GMTRad1ZFVTgvYnlVY3huVFlMSnp3SUFWR0tj?=
 =?utf-8?B?Y1BjejhaN2RjYXpxVG12RjFaV283VnRiUUZBL3FCT3Vhd3daK2FDMTh2ZVY1?=
 =?utf-8?B?V092QUNydkdTVjVxM0oxVmFnS0Q1Z1RWd2FPVHdqTUxubk01c1I3WGJSYTZl?=
 =?utf-8?B?WnhFeUo0eHhpanFPWmFjQlRndzRHVWJBdlRreFVDVE9XRUZMaURtZU1kQTVs?=
 =?utf-8?B?UHV2UkdxUUVobVVXZFBPV3RRNURCeFgrN0U5VWtheWRyb3Vrc0hsaFFKSVBS?=
 =?utf-8?B?YkNOMS9GSkJVNXRZYXJjRkJLY3NZWTdLWDBzdzBUZWFhZk4xckpML2JpcExq?=
 =?utf-8?B?bDhMdzRaSzVxQ0p6NkpsNXM3R2Z2RGhQVXZnMGVOY1c5bjVTSGlRaDl3UFpN?=
 =?utf-8?B?STZjV2ZWdTlCaWFzcEhEdXZSUHNyaTRPcEFXWkM5Nmw0eUxMTHd0SitkN0Nv?=
 =?utf-8?B?dG5KTTdYOUF1VmtOZTFTRlFKaEcvdU9lalJvOTJuOElFamh3ZHREZnFGNmpO?=
 =?utf-8?B?V1Z1aVgyY0xKUHQ5d09wQUs4eG5JZjRlcTgwazlVQU5JL0dHbDF6eEo1eEEy?=
 =?utf-8?B?WnhDd2NZNVhMRTh0VExVNXIrQmwxb0lqNFJQZmYwcC9sUk9jalczMzA0OGV2?=
 =?utf-8?B?RUpEckNBeVFrY09tbkowUjFHOVpUM1VCUnc2VVh6bE16VDB0VC9DUllNalN6?=
 =?utf-8?B?VDdtZkNXZTUzRlZjZTNIUE9zbHZUdjFYVzV1NU45endLYnJRWjdWdTBpWWN4?=
 =?utf-8?B?QnNyVzdqeGJuaTJ1V3VRem5zdW04ZmVyM0ZJRSsxVHI1T05QOWFXdS9jbzVS?=
 =?utf-8?B?MjZjbEhYSWl0OVQrREwzbFlpaXZiaEk3enE5QTJhWkFKUnpYc3BJTFZyRmdv?=
 =?utf-8?B?U1h5MFJEV1hZVFpPQStBc0hmZWowaDZZRmZGSHMwWkVCWDN4OGVqSUExUHZ0?=
 =?utf-8?B?QTdEMkFVWVJvNS8yY1NIQmZubjE5T2pFYlpZL0xWNFlNYmlXa3RTREJyYzBI?=
 =?utf-8?B?a2NiMXhIQlluOHB0WjU2d2NXNTE0VUI2Z0hxaXV2bTNNcEgraDRKMzhqaDlW?=
 =?utf-8?B?a2g2amtpTVBSUEJHWUU1MmVWL1VGVm1ibStNU2pJS1c2eWFiYmZrL01zZEdk?=
 =?utf-8?B?TnRtNWxlZm12d3pHUVNYMkFsN0hqaDlYcmcwQkZVMFJraU15NGdKVk1ibXRB?=
 =?utf-8?B?b3BQY1Foc2wvMm9hM2phTlB1S2FVbUYyZWZiS3dwN1pXZzZPTzZlUkJXeS93?=
 =?utf-8?B?dS84TzdQTGN0ZUtUQXFFalhkZVdyVFo2aXdlSTE2VnJrSTMvbmZsREh6VTN4?=
 =?utf-8?B?WDZpRnZJSWxMd2NaMjVCZkZWRFMxYjFhWFJSTzRFaHRVeE8rSUdDYW8rRnRS?=
 =?utf-8?B?UDczWUx1eUZkRWc2eXZMd2NzeDJ2MVNlYWhTdjlCRDI3QUtKd1VkaXJPTXJs?=
 =?utf-8?B?VlpmckFVeGxQZk1UWVpoNjB4RzlJbngyc2JLbFM4YUVReTc2VzdBSDZkdE0y?=
 =?utf-8?B?RlhiKzdWczZyL29FaXZlRnAvQkwrTEpPVkhONGdBN05EUHY3TmVObjEvVjdU?=
 =?utf-8?B?dnJXYnQ2VjIwcVRVTUFrNzlJNmlYYXBSbmV3dTlzNXpYc0NMMkZSb2JVSDJQ?=
 =?utf-8?B?WVJ3VzVZZGlZa3FmSUNCbU92M2NSc3pBZ1ljcElwQkhVUXFMYTBBK0lGa3dh?=
 =?utf-8?B?STEzVzhla3ZtLzNGSHZDQW0zNFNHRVBHU0RtK1JlT1R2bC9VeFF1RGY2dlgx?=
 =?utf-8?B?Y25OdkxDekpGZ2Nhbmt0enh3c3NlR3FobksyR2dzVmRJK1FpREJTSXlzN0hR?=
 =?utf-8?B?RmhuSjA1aDM1R3kxZCtKRmV3QkNmVnNWR1haeHRibGFTM3FOSlFBZTdZRUR3?=
 =?utf-8?Q?k9wqXxNFMPQGZ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?eTNQTzBtWjdUdmQ4eitBNE9seXd5c29YUFRpcmN2Ukc3THMwSEkwWG5adzZC?=
 =?utf-8?B?by9ia0RhOHh6ZmNmak1qTUgwcjVPRkgzS1IxUExQYmh6QWNVUDd3c3lTZVpn?=
 =?utf-8?B?RWl2MDhsWHRBaWFqSEt6cmZHeTFLU2J2eW9aYmhaeVJlZlFFZE1EL3RDMXF3?=
 =?utf-8?B?RVBoTE5LcGF0N1h5SEJlYWVWSk9DUXduYmQ3azVJQlBMUi9sTmtuR1owcmZ6?=
 =?utf-8?B?NUx2eTJ1Vk1naStFYmZuQkdOTzcyamN0Mk1WNU5zK0YxRk1rUVpTNW1EQUFx?=
 =?utf-8?B?dEt3UkcxWHhKdHJ3cjk2TVBHN283cEc5VkVUejJoVG9qdXhOVXlacGk5OWdw?=
 =?utf-8?B?TzRvV1lHMm9adTIzTXFUSW9hV1NPcHVjRzU2YTNrVmJvOFpuMGpOakNRSmpB?=
 =?utf-8?B?YmZ5YkVZazBLbkxGd0VINmpJaDFnVVEzTTVXK2ZHOStuSDN3L2d2VW9ldG5k?=
 =?utf-8?B?SitvaGdSYnkwNE9QdnJIWm5IS3hUTmc2UDFQNThjdHkwaGFJSlpvTGkrTnh3?=
 =?utf-8?B?blVPOHdmMG1ydmlnVXpTS1ptLzFEakt1cGxNdllzSUJ1MS9OS3VMSENlN2Fy?=
 =?utf-8?B?SjhaWE9TcHErTXpsUGlGOTV6YTBveFo4RHk3WmlUVzdLWGovWGxLVUU3aFZm?=
 =?utf-8?B?K2pFZ1pFRVZsUmtlbUsrZXVBQTdFMWhiMVUxNE9Bdy9wVVBSTGtKQS9lR0Vl?=
 =?utf-8?B?dGg5RHhKRVAzTEhjMUV2cFJxTkFZdlg2R3ErczhmbjdUMElKdzZ2NzRlaXNx?=
 =?utf-8?B?Q2hoUjZJMXdmc082eDVRODRPZ0x6Q1FPV09TVitWcHBWcE9kL3JBUlZsUGs1?=
 =?utf-8?B?ZjBkUWdPckNTM3I3dzZpZi93NGZUQXFZRENHdHIzalh4eDNWTWl3SzByWTU5?=
 =?utf-8?B?RlJFdGVISDZBNDZucHVTNU9GT1FGT2xQK3RzZlVYUnRROFUrcEFGd2JDNHBV?=
 =?utf-8?B?aTdvZTUwZ2tBc3l5eUU4Nk14S2orcSsxaVA4MXk5Y08zVEFNWXBySUE0dFRn?=
 =?utf-8?B?cGJNNzdOR0krVEU1VURZTVRRWTNZUUMrdzZ2M2JYUXdhL0FocUlHRzZ5TitV?=
 =?utf-8?B?OEdaZS9BcjJTZWxQVGV0QXpCekFrRzYzbk1IQyt3UXB6OGhzelNxdW5JRGFP?=
 =?utf-8?B?bG5Dbng2SVdZR01MTTIzRnk3QWEyYjYvdlA4bnRiZ0xsTE90TmhpQTRDZlMv?=
 =?utf-8?B?di9qamcvMkp1T3BGYXdLUVhKTGs5VGloZXpUUUdNU1FCZlRZeVRSNzcwRFo1?=
 =?utf-8?B?d1JlQVhTYVczSlRNSmVYazd5SkNQekNwYkhXZWl0QjlmSjBuWmRCbjVFSm9C?=
 =?utf-8?B?TnhZcFg1RHErekdVZjVjZkFlTG5FWDZLQ3RoYUg4TkRGWG5Zejk5eFNOemJm?=
 =?utf-8?B?TyszdHhZdWg5SXoxMk1tKy9KdFk4eXlBNnk0ZWhRYlRsWFFkS0Q3aVJBVUY1?=
 =?utf-8?B?V2libnlQM0hrRG5aeDdHTHA3OWlUdGppd3RHTXo5VVZvN0lwNHgweEc2RlNn?=
 =?utf-8?B?cU90a1cwRzFpbTV3TnB2WHZyU3JLMnVDc1F0T0VVQW11MjZJaXNXYTJlaXhx?=
 =?utf-8?B?bUdwa0MyNG13N3ZVQmFWTGJBeUpuODVlQlF2MmxxM2VpSEV2dEtaS1BDbXdz?=
 =?utf-8?B?bmlFY1IwZWJ2L1RTKytxSjhVWDl6ZXhkNFArYU1zb3hJdEU5S0xSTkw0MmFY?=
 =?utf-8?B?MUpyUzJxZGQ2Ni8wWE1zOUxLbDZjam9XVTZDbHErdEd4MFozeUJIeTJVRnlw?=
 =?utf-8?B?ZHRTVGpkRy9oVEFONm1ZaWhSNllvTTk5U1JFTE01VzZqanNsZ1RBYTkyVEls?=
 =?utf-8?B?MFBJaldFVVJiK1dJWTdveitZZVBtSzI5QU9GeDROMW5xZTNvKzhoeThlcUcw?=
 =?utf-8?B?enYvZm95bHF4UmhPSld5S0lQVDNIMmMvWVFRQ0QyNmNGYnBiSUdsNFR6WDZp?=
 =?utf-8?B?WEJLdnNSL1VMOEdUNElHZVU5a2ZDVGhmaXRWODdySlpSTml4Y2dsd0tqelMr?=
 =?utf-8?B?OWdBMmRxQlYxTkNhcm8wNCsrUGx0ZmhzNUJqZVN2eW8xRnU1RlBWM1NtMGpI?=
 =?utf-8?B?SHB2K2FhQndpTndZaUsxWi9paVp3LzRtQzZaQ2Vrd0Vnd080U0FFR1p5eEpY?=
 =?utf-8?Q?2lQ6SO6mtY/z3zxWLOote88x2?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bedff34-b95d-4511-d30d-08dd5b121183
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 11:45:32.0589
 (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: B0lwXtwQ7gligQIR19DWYMDg0XjPGDikLkIdLNraQPt+E3A7Cer11czt7K/oJ2Ekxvq6y62Dcd9CQm7eDmL21w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6948

Hi Luca,

On 28/02/2025 16:18, Luca Fancellu wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> Provide a function that creates a pr_t object from a memory
> range and some attributes.
>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/include/asm/arm64/mpu.h | 15 ++++++
>   xen/arch/arm/include/asm/mpu/mm.h    |  3 ++
>   xen/arch/arm/mpu/mm.c                | 73 ++++++++++++++++++++++++++++
>   3 files changed, 91 insertions(+)
>
> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/arm64/mpu.h
> index 3a09339818a0..dce77da60110 100644
> --- a/xen/arch/arm/include/asm/arm64/mpu.h
> +++ b/xen/arch/arm/include/asm/arm64/mpu.h
> @@ -17,6 +17,21 @@
>
>   #define MAX_MPU_REGIONS         NUM_MPU_REGIONS_MASK
>
> +/* Access permission attributes. */
> +/* Read/Write at EL2, No Access at EL1/EL0. */
> +#define AP_RW_EL2 0x0
This is common as well between arm64 and arm32.
> +
> +/*
> + * Excute never.
> + * Stage 1 EL2 translation regime.
> + * XN[1] determines whether execution of the instruction fetched from the MPU
> + * memory region is permitted.
> + * Stage 2 EL1/EL0 translation regime.
> + * XN[0] determines whether execution of the instruction fetched from the MPU
> + * memory region is permitted.
> + */
> +#define XN_ENABLED     0x2

This seems incorrect.

As per ARM DDI 0600A.d ID120821, G1.3.19 PRBAR<n>_EL2 (armv8 R64 supplement)

0b00 Execution of instructions fetched from the region is permitted.

0b01 Execution of instructions fetched from the region is not permitted.

This holds true for 32-bit as well (except for the fact that XN is 
denoted by 1-bit).

So the correct definition is

#define XN_ENABLED     0x0

And this is common between arm32/64 , thus it can be moved to common file as well.

> +
>   #ifndef __ASSEMBLY__
>
>   /* Protection Region Base Address Register */
> diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
> index 1287a0f625b5..e234f6c26193 100644
> --- a/xen/arch/arm/include/asm/mpu/mm.h
> +++ b/xen/arch/arm/include/asm/mpu/mm.h
> @@ -44,6 +44,9 @@ extern void read_protection_region(pr_t *pr_read, uint8_t sel);
>   /* Writes the MPU region with index 'sel' to the HW */
>   extern void write_protection_region(const pr_t *pr_write, uint8_t sel);
>
> +/* Creates a pr_t entry for the MPU data structure */
> +extern pr_t pr_of_xenaddr(paddr_t base, paddr_t limit, unsigned attr);
> +
>   #endif /* __ARM_MPU_MM__ */
>
>   /*
> diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
> index bb8e0c546e7b..fb94f5d1d93d 100644
> --- a/xen/arch/arm/mpu/mm.c
> +++ b/xen/arch/arm/mpu/mm.c
> @@ -9,6 +9,7 @@
>    */
>
>   #include <asm/mpu/mm.h>
> +#include <asm/page.h>
>   #include <asm/sysregs.h>
>
>   /* EL2 Xen MPU memory region mapping table. */
> @@ -141,6 +142,78 @@ void write_protection_region(const pr_t *pr_write, uint8_t sel)
>       }
>   }
>
> +/*
> + * Standard entry for building up the structure of MPU memory region(pr_t).
> + * It is equivalent to mfn_to_xen_entry in MMU system.
> + * Base and limit refer to exclusive range [start, limit].
> + */
> +pr_t pr_of_xenaddr(paddr_t base, paddr_t limit, unsigned attr)
> +{
> +    prbar_t prbar;
> +    prlar_t prlar;
> +    pr_t region;
> +
> +    /* Build up value for PRBAR_EL2. */
> +    prbar = (prbar_t) {
> +        .reg = {
> +            .ap = AP_RW_EL2,  /* Read/Write at EL2, no access at EL1/EL0. */
> +            .xn = XN_ENABLED, /* No need to execute outside .text */
> +        }};
> +
> +    switch ( attr )
> +    {
> +    case MT_NORMAL_NC:
> +        /*
> +         * ARM ARM: Overlaying the shareability attribute (DDI
> +         * 0406C.b B3-1376 to 1377)
> +         *
> +         * A memory region with a resultant memory type attribute of normal,
> +         * and a resultant cacheability attribute of Inner non-cacheable,
> +         * outer non-cacheable, must have a resultant shareability attribute
> +         * of outer shareable, otherwise shareability is UNPREDICTABLE.
> +         *
> +         * On ARMv8 sharability is ignored and explicitly treated as outer
> +         * shareable for normal inner non-cacheable, outer non-cacheable.
> +         */
> +        prbar.reg.sh = LPAE_SH_OUTER;
> +        break;
> +    case MT_DEVICE_nGnRnE:
> +    case MT_DEVICE_nGnRE:
> +        /*
> +         * Shareability is ignored for non-normal memory, Outer is as
> +         * good as anything.
> +         *
> +         * On ARMv8 sharability is ignored and explicitly treated as outer
> +         * shareable for any device memory type.
> +         */
> +        prbar.reg.sh = LPAE_SH_OUTER;
> +        break;
> +    default:
> +        /* Xen mappings are SMP coherent */
> +        prbar.reg.sh = LPAE_SH_INNER;
> +    }
> +
> +    /* Build up value for PRLAR_EL2. */
> +    prlar = (prlar_t) {
> +        .reg = {
> +            .ns = 0,        /* Hyp mode is in secure world */
> +            .ai = attr,
> +            .en = 1,        /* Region enabled */
> +        }};
> +
> +    /* Build up MPU memory region. */
> +    region = (pr_t) {
> +        .prbar = prbar,
> +        .prlar = prlar,
> +    };
> +
> +    /* Set base address and limit address. */
> +    pr_set_base(&region, base);
> +    pr_set_limit(&region, limit);
> +
> +    return region;
> +}
> +
- Ayan
>   /*
>    * Local variables:
>    * mode: C
> --
> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 11:56:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 11:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901002.1308984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQsT-0001w8-Bq; Tue, 04 Mar 2025 11:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901002.1308984; Tue, 04 Mar 2025 11:56: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 1tpQsT-0001w1-9K; Tue, 04 Mar 2025 11:56:01 +0000
Received: by outflank-mailman (input) for mailman id 901002;
 Tue, 04 Mar 2025 11:56: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpQsS-0001vv-87
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 11:56:00 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2061d.outbound.protection.outlook.com
 [2a01:111:f403:2414::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a027c1e8-f8ef-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 12:55:54 +0100 (CET)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CYYPR12MB8853.namprd12.prod.outlook.com (2603:10b6:930:cb::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 11:55:50 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 11:55: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: a027c1e8-f8ef-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sDBgHsKbtQQwW5sUAL/VDcQYktOO9gjRR17FBw9zu9T732fo6R5cf1arzlV0A8pwM3Nvjo0cg8qi6oR7hMeFwXylyQlGnGI5+6oCudubNAfVCp5bHRYhbqJzLj6MkfQdBVnCtUDOIZlEX1rtY6ApYC70TZkmgCJGAoXXK3HbsSDLo5p4H8VkrHYwcCZOyiWMjZ09EI/IqJCnGbPICWDsny0ddWhHmeMbSClnB/onEkgcEaDDbeuQDo/JxzLRh9K/vZqKPRNohCp6qj1wlwlnRNZh21FMh6z93+5PjvF0e2KUlPuJimg6c1zqPHh328XDI594o+VwW6HkmwbjoCvKig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eXwtg9EEMj5gxg7k3BpEXUZcWMEIR7L206vfuRPdqnw=;
 b=YYaKreNQ0SY3+hX3nE7HgGSflZxcodXDWfLUZOHgIk35pvSBucmkiYNcP+1gSLy/JjTk5i1e9k9WChMaT8lteWy6TupGFDdwfYr56C28LB2alPrLM3RX+/X/0k15B+kxCxIuefTQIFi/tV5OySWE3tmEq0UI+mzrxNpkStME9olOgAHa4h9tJaLxz5leNmYq9YS4l/+oyNzs4wHDeoIqzjLYylnGUWUz1mI1xTFwKj09He72gMnJvCuf0kaTeaosyAfUhpjT9Qsi+ZxloTNiY/T7emOxGQIGKoeBEKjuT4QTn6dYs5gHMPJFqabViPrdCRw//rysa6wYXrq/72FY0w==
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=eXwtg9EEMj5gxg7k3BpEXUZcWMEIR7L206vfuRPdqnw=;
 b=vnSyQtlXq2m5AtrGIr0yG5P7aPs9P6keRZiDwzUITFIiakd5CwZX4Q0QDAeSqPH787mces7FobwrNrEu9UFJrVvOZdOTZKiGbm2ug5F6USeK0J9WuQkPYy+6iZLafUST5sKbZlDH+lRw9c997S4Hvd2YWa26LiuQetKkj+3Q2DY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <5c564bd2-dc19-4f3b-b4da-751a50a3ea14@amd.com>
Date: Tue, 4 Mar 2025 11:55:45 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/9] arm/mpu: Introduce MPU memory mapping flags
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, 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: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-8-luca.fancellu@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20250228161817.3342443-8-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0203.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::11) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CYYPR12MB8853:EE_
X-MS-Office365-Filtering-Correlation-Id: fd5508a7-c23f-44a5-bc38-08dd5b1381e0
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?NGkvYUVSaVJib0ZCYVpXd2hLTDJUSDJWYmtSYnF5RDM2SkUzWk04amlON1ZM?=
 =?utf-8?B?MnAwbXR0dWJDN3c2cmVJd0J5SlhveVBjeWU2d3lKcTNwZmhuVzZmS3BYd0l0?=
 =?utf-8?B?cGxMa2lPajhrbWRvSUxaQlpCcEtidHc0dEtMSWozM1J4eEluTVVHYi9rR0hG?=
 =?utf-8?B?ZTBTL1Fvd05HbXpSWlZ0cHgxT3hLUzRieGNGM01wMXgwbjRHeXBZUVJiT0lp?=
 =?utf-8?B?MDllbm1Hbjk3M2FadGtYeTlJR2dtT00rNVdoQ2ptNXdoY3B0d3JEUy9wRUlU?=
 =?utf-8?B?QitQVlRDZUhiNG0yVzM0SFNoQ2JpRWVZSWxiWU9jNEtDSW45ekRhSGJpd0JL?=
 =?utf-8?B?SFprTTNLcUJGTEdqV2tKbHJ4TTQzUDRCOUlpa3h0R3pTS3RwUzhXODR0dGpB?=
 =?utf-8?B?c2F1NWFSa0lJbWhwNlVuOFpNdXdVdjJkbkRRc25MeGYzUVVPbzNlZjc3K1l6?=
 =?utf-8?B?RjFJR1pwQVZlcEFDMVFubHdkcGN6V3M4eittaDhnREtuVk0wTlRwOU1vQzlo?=
 =?utf-8?B?WkorN2lGWWpmVndHa1hsUXhCcURXamo1d1J6WHZ2SS9SbEJyaVhiQ2FBdUR2?=
 =?utf-8?B?dnIzVmFPM01BT3ZFMEduME1HZFZ2VDZzVGFqcTZVUjFKUXQ4U2xBcVR6YUpI?=
 =?utf-8?B?RFJxRk9qdXJla3I3NUx2YzZoWklkOVJzZlNhN2VrWUxiOFNjTkJkL0k1VXlN?=
 =?utf-8?B?bFA2bTBOS0E1d09XaTNieU0zbkZSalV6OUFxclNDdnhkQ3FFbmpCZWhZeUtJ?=
 =?utf-8?B?SHlkdkRKYkdVQVJxeGxVQjJoN1VXY3BBOEtjeHpGMXI4RnR5Z284eFVoeDV5?=
 =?utf-8?B?bmkzakhOd1M5bUhlcFk5WWNBSEkzcTM0VnZ6bHg0VVhkU3owM29WZG1mZXBB?=
 =?utf-8?B?eDB6QjNlSXJXUVlteUhiMzFzZkpPbVpGczZpZENZUEFtYzdaVElnNGVQaytD?=
 =?utf-8?B?bXlDQzdQdCt1OUF2V0M4SVNyRHhULzF5ell3UWFjS2h4MXlRdTFKanhQeTls?=
 =?utf-8?B?bFV4RTNMSGxhdU9HMytFMFc3TVRCSkg1OWhHSzIxeWVhWG1KYTNLOCtaL2ZC?=
 =?utf-8?B?Z25DQXQ3T2RHcHJzNllPN3B6SFZIeXlvZnlmWUhPRUlIZEJDelp5L2ZlZW9J?=
 =?utf-8?B?bWsyQStBTll3RlRPdnEwWmFPVFJKUm8zaDdNRy9rY05KTC9DdVgvQ3pUM3c3?=
 =?utf-8?B?NktCUHVkblNqK1dHeUZabzVsRjkvRDJaK2xScEcyamF6d0YvaUxPV3ladERH?=
 =?utf-8?B?WksrQWFyQ1BDczFzSHhMdExONFYwQkNvaDFxeWJjOW5RWjh5OU1rbGpzWXdE?=
 =?utf-8?B?elFUbHZubGtMNHBNRFlXcVZhM0pucm9VeXZ4TlhzV2lzaEdPUXkvbFJhc0x4?=
 =?utf-8?B?TnFURnJKakowMWxBcG1VVU83dDlTWDdwelV0NVc4U3YwaTVtYnIyRnN6STRs?=
 =?utf-8?B?SWo3TXlFSENmdVBuRFhXVlhwS1NSeUdBbC9SVm5EU2tENkppa1lNSktmSEg0?=
 =?utf-8?B?Wm5lbVFHam9CcUNSSnlycThvczRRZHFicVpLcUlXWllhdThNczRKeU5kaXF6?=
 =?utf-8?B?NHVWMFdCbUZjY200UG1mSEFPUWxScVlDM1F1QmVmbXZFUndjOG40SGUvZXJl?=
 =?utf-8?B?VngvbjJrdkMwOHB3eklmTGxXRnhyV2dNcE01dmhacVZ5QnJpYnZzODh5M3la?=
 =?utf-8?B?dDNhTStWaGtUTkhMTnJwRHhzVmNmVEIvY3pMUEpxOHl1aHMxRHBUS0RnOTBV?=
 =?utf-8?B?eG4vZVhsRlBCMmp1M1BKV1dIaGwzZ2xXYnBSQkhLNGtBVWVIYTlXRDhBL0J2?=
 =?utf-8?B?UEF6cmwvVUJnYk1Rb2Zxc3dNenBsSlIvZjg4MFljUC96NzhmektlTFlyMm11?=
 =?utf-8?Q?4hRo+JN8NqI9B?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?VU93dmVXcTkyNkQ1WVErUHhGRFhmOThCOHFiK0dwUXBJYzBNZHQzSWpwMVkv?=
 =?utf-8?B?QWlnVGlKNnQzNHUzTTh0NFVBSFlvT2kzRlpCNm4zMS9rL3ZHOVlyOUNCV012?=
 =?utf-8?B?M1FGVHUwWEJsNWMzVnhBdzlOS25TbURvdWpYOTN1ejlXdmN2eUV3WU1vL2k0?=
 =?utf-8?B?Zmt5allzZU5sMnI3OCtvTjkxRTNTWFBBOTM4TWtUK29WQ0wrWmY1QzhmNXZP?=
 =?utf-8?B?YVRJQUlxb3RkSjZ3MnY2Q1c1OU1FZ2VSLzMvd2dpaEZ2TXZvU2F4SjZpV0Nz?=
 =?utf-8?B?NHdscnorM1VSTzg4b2t1d1Rhbkxjbm5NSWZEUWI3anRSWUp3Q0tZOWVWamRH?=
 =?utf-8?B?eFdXbzZoU0RjVXdSTFNJMGdWSU96N0pYZ2UrNDRDRnlHNDdBTVU5YXBpQmh2?=
 =?utf-8?B?b2pqam1lbnIrUlJ2Z1VTcjdNbVpIZ0lLY1IxTGVMT1NyWmZOMi94cnljZnZk?=
 =?utf-8?B?ODJOMUN6NE5uS1VKVnNVdWFkSFRVcllVZGVYeVRuS0srdXBuV1RoSVhhVERu?=
 =?utf-8?B?YVAvUnRQR1hUS2FsNmRXSUdnbzh0WWJvSjV4aUJXS0J6WUxYb29WcldVNW9K?=
 =?utf-8?B?Mk9QZmVieGQxY1llWVNsblkyOENzOTQyTlV1bWRDR2JBcTlxMmo0citZYVVR?=
 =?utf-8?B?U1BKMFNUTTdBdktBQmlLai92WisxQ0llS1lmNEtQTWc5S3M5aUUwVGtlM1dL?=
 =?utf-8?B?TmYvc1BUL1RIZWRQMDlKaHgrRHEyUDRJaE0yRGVOUlA0d0dKM2J0Yk00Szls?=
 =?utf-8?B?TTZTNlVUTUZ6YWpmOGF1U2R2WDkybkluUHNMNVc3V2RoUURQNWFvODBQRlpu?=
 =?utf-8?B?VUlBZ2FmN2RBQXB6RmtEUExveFV2Q3pvZzZIWE4vNy9ha3l6c1p4aDdjVGNL?=
 =?utf-8?B?MGRERkZtUTFCKzIyR3VIZms0RTJ4NnlDQllvZThDbUh0WUZZRWNRdmNGazVa?=
 =?utf-8?B?NUNRNjhucURpc1EwWUdOckxrblBlR01qYzdpZ2VQcUQxNkh0WStGWisxbDhS?=
 =?utf-8?B?eXFJZjlFVWh3bmN3NEhCY2g3UDBJQkFtdGVWQnV1VGlwNnJsUVh2RWxSQnIr?=
 =?utf-8?B?bVJWVS9mWVJOdDFBOVMxaG9DM0t4UnBtVHJxaWtxMnVmUnRIRVBlRm9meEx4?=
 =?utf-8?B?MklXdHhJeUtzZkhoeUkxOWlSakNNM3lqTVcxN1JlODlGemVybndIN2xJQjJ1?=
 =?utf-8?B?MTlZZ1pCZ1ViLzRUZC9sRUdwOUU1MjRXdmVjMTN3bTFaZFc0eFJsRmRlb0Qx?=
 =?utf-8?B?YkFaNUJVeFI2a1YyVmFiN044Uy8vaC9jMnNHNG9EY1RXZ3ZvZDRpUDBkbTds?=
 =?utf-8?B?TjNyWlBKWVZFUURUUE1QTklNQ0xQVk1FRWFBeXhYYXdYUGNYSjJSTjJMeW5K?=
 =?utf-8?B?eWRsNFplenozSUVueXZJL1ZTN1hHUDlCVXVYdTI5UDY1ZzFVMU5aTjgwYWgr?=
 =?utf-8?B?K2hWWkZaQk1oSUo1MGdBbVFUanhYTUJqL1pzMHl3eG0xOElwZlBmYnYzTjNS?=
 =?utf-8?B?M0p1VnMwRnA5UG5TSnFtVlY4QUlNb0JZeXEzOXVIOTRRUE1PS0loSmhoWm1y?=
 =?utf-8?B?K3QrejJGOGlpWEpQM3FkK1BwalhGWldnSDM4RUlzckNLNWpCRHRWMmNFWERh?=
 =?utf-8?B?STdLQXdnRXFHT01iVk5yU0NhYjVuQVNHRnlkU0VpZFpadTRnMndzZ0JKMUpW?=
 =?utf-8?B?Q0ttKzNlTXlXeVZvaitTZGZzOE0xdndSb1cvT05sUThudU9WUHp2K3Y0dVJp?=
 =?utf-8?B?c3JlbHFjSUxya1JRdmkrSlJPUnNDTWU1enczNXpjSlRkWjhqUE9sZ0tUNVRj?=
 =?utf-8?B?bDlXTHBLcWxKS2RrTHluS3I3YzlGQUw1ODU2RnRzSkNxa1ZGbktlR3R5cXVW?=
 =?utf-8?B?WUJWWktaeVhURzhMeS9nUE1TTjEvWWtGY2h3SDFreFgzY2tsZ0VBUHptYWFE?=
 =?utf-8?B?NGkwLzhNZStjSWhwaWVmNmw2R3JKbFUyakh2SWNtOG5vSjI5TDd2cCtWcEU3?=
 =?utf-8?B?L1phLyt4SmdxclMrSXo1SnlMTjlYRXIwQjNNaDZxa0ZISkJKYjZ6aWFZY0VS?=
 =?utf-8?B?WjNwM3MyUzhNd0VhYUpoSVBZZnF2L3NLSXgwUDNFTkhXanoxU1VqdFlpQ0t2?=
 =?utf-8?Q?E5u/FzOGO6zcxe/mqyFJH3rsp?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd5508a7-c23f-44a5-bc38-08dd5b1381e0
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 11:55:50.0757
 (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: h5R/WrHEL43xNgsEyrq6cMQuRTlfiQlIoFQeJLbVK7CvN/SI4YMdSsPP8icShwuXOZg+TR73s/Xma0872XAraw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8853

Hi Luca,

On 28/02/2025 16:18, Luca Fancellu wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> Introduce the MPU memory mapping flags in asm/page.h.
>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/include/asm/page.h | 25 +++++++++++++++++++++++++
>   1 file changed, 25 insertions(+)
>
> diff --git a/xen/arch/arm/include/asm/page.h b/xen/arch/arm/include/asm/page.h
> index 69f817d1e68a..22f7d2c6cb30 100644
> --- a/xen/arch/arm/include/asm/page.h
> +++ b/xen/arch/arm/include/asm/page.h
> @@ -62,6 +62,7 @@
>
>   #define MAIRVAL (MAIR1VAL << 32 | MAIR0VAL)
>
> +#ifdef CONFIG_MMU
>   /*
>    * Layout of the flags used for updating the hypervisor page tables
>    *
> @@ -90,6 +91,30 @@
>   #define _PAGE_CONTIG_BIT    8
>   #define _PAGE_CONTIG        (1U << _PAGE_CONTIG_BIT)
>
> +#else /* !CONFIG_MMU */
> +
> +/*
> + * Layout of the flags used for updating MPU memory region attributes
> + * [0:2] Memory attribute Index
> + * [3:4] Execute Never
> + * [5:6] Access Permission
> + * [7]   Region Present
> + */
> +#define _PAGE_AI_BIT            0
> +#define _PAGE_XN_BIT            3
> +#define _PAGE_AP_BIT            5
> +#define _PAGE_PRESENT_BIT       7
> +#define _PAGE_AI                (7U << _PAGE_AI_BIT)
> +#define _PAGE_XN                (2U << _PAGE_XN_BIT)
> +#define _PAGE_RO                (2U << _PAGE_AP_BIT)
> +#define _PAGE_PRESENT           (1U << _PAGE_PRESENT_BIT)
> +#define PAGE_AI_MASK(x)         (((x) >> _PAGE_AI_BIT) & 0x7U)
> +#define PAGE_XN_MASK(x)         (((x) >> _PAGE_XN_BIT) & 0x3U)
> +#define PAGE_AP_MASK(x)         (((x) >> _PAGE_AP_BIT) & 0x3U)
> +#define PAGE_RO_MASK(x)         (((x) >> _PAGE_AP_BIT) & 0x2U)

Can you point out to the references (in some Arm doc or somewhere) from 
where you have picked these values ?

Also, AFAICS you are not using these macros in your current patch serie. 
So can you send this patch later (along with another patch showing the 
usage).

- Ayan

> +
> +#endif /* CONFIG_MMU */
> +
>   /*
>    * _PAGE_DEVICE and _PAGE_NORMAL are convenience defines. They are not
>    * meant to be used outside of this header.
> --
> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:00:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:00:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901011.1308994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpQwV-0003tA-0O; Tue, 04 Mar 2025 12:00:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901011.1308994; Tue, 04 Mar 2025 12: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 1tpQwU-0003t3-Tu; Tue, 04 Mar 2025 12:00:10 +0000
Received: by outflank-mailman (input) for mailman id 901011;
 Tue, 04 Mar 2025 12:00: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=7o8j=VX=gmail.com=milandjokic1995@srs-se1.protection.inumbo.net>)
 id 1tpQwT-0003sr-7s
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:00:09 +0000
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com
 [2607:f8b0:4864:20::72d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 368108df-f8f0-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 13:00:07 +0100 (CET)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-7c3d3147b81so27749685a.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 04:00:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 368108df-f8f0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741089606; x=1741694406; 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=X+H7SNK9JGZmYpCyWpBbWvFRnZn0JK9gD9GuGZW8fNQ=;
        b=BnlP/FgktDkSudHY2lMk2zjAXBtLOTtrmhypQna5jSLFEhqu7Dvm0vs3yC0u9RiRhn
         tOZj4wLY5PefPQ4/mkQzWf41t4leafGeZMtYwz9MD9jwffT8/q6veK2Xas9fIpr6JNC3
         uG7229dR5Io08rAxwIpaSg3ScOzGatriDc3WRziqlO6L0cKgyeUZBLcz//yHB1tEM1/F
         ZjJhZLZMUmTdUq0i2ffQmx1sBK7EOhEMOC0WnBSJ+b/tFjpPm3pB918iXSX0qEr5lPd0
         xCykn3X/clTCoJ2h1mQq8JKLxDBLF+E5hTafznKvO/ralosOG8fT3XpgX//iVJFeo/v/
         8A+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741089606; x=1741694406;
        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=X+H7SNK9JGZmYpCyWpBbWvFRnZn0JK9gD9GuGZW8fNQ=;
        b=XR6xZ0ZuAjbC6CP9LgU79TVjk+eN7YSkbBX5xBj5RXGDj5a6wh+Tl8n3LwvkNyytTe
         HTAU2My1tnFbz82D+shtWwR4zhztA3dKeH8QZ+GgEIR6pU4cijRqxa83e4fqxmDKrzwL
         lct0/f1QY9Ir1UEsQleNKq/HJmixAPzcdAtIce0Wp1rqpfepZi2+nJXWj7laUKbdLI53
         OaNP6IX+NlozDPXP9+uXSxEv8DQ7K6iiz/5rmxLoh2AXHriNVBuTFQbMuaHq0B4vlmko
         RJ/pCRkCV9eUXzYDVe4ahVQdqLy4NtRe2XCLkJWQ0BPpxR+LDEbSGx1L/RXCYM7LdrRs
         cR/g==
X-Gm-Message-State: AOJu0YzpoArHBN7cv4mIId2kNWG5934wQdk8QPiuPvtBK6zjsrb3diHR
	AoIUU0/eS83xqfNbU5/KLWLfSGYdDamJZf7HucPP0qCxGaxKAyGI1inFANeSjzqUv/Ylcp9l00D
	GNNJuDKe8uTtlLBOYgMb3kGgHNeI=
X-Gm-Gg: ASbGnctlXoFvWe9SZnfGpeGjXxldvbBC8xou9sdGxPlIvOit5CxmuNEU9L+phTY5mE2
	F1F93a/Hv0TkdMC41RHVYmZn665mGM995uar1I5MuuuduRaF+sYDzxsndqzTznlUArGBLf4peAA
	qLUO4DJJSekQrZOAUTZRZ2NHm6jg==
X-Google-Smtp-Source: AGHT+IFKTk+4OnAxj3Vo5UnhquqfHYV/0SyPnLWSG5pIISnELpstaDAjv50rAeWdYGLUj1zvoDJ3+owrWFQnbg/FlfY=
X-Received: by 2002:a05:620a:c44:b0:7c0:b2ab:2693 with SMTP id
 af79cd13be357-7c39c677674mr2639805285a.49.1741089605855; Tue, 04 Mar 2025
 04:00:05 -0800 (PST)
MIME-Version: 1.0
References: <dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com>
 <ffdc90de-1407-4b9c-aaae-78d41dc79c86@citrix.com>
In-Reply-To: <ffdc90de-1407-4b9c-aaae-78d41dc79c86@citrix.com>
From: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Date: Tue, 4 Mar 2025 12:59:54 +0100
X-Gm-Features: AQ5f1Jp13hFi3Hmzs4FLP2eMeH6GC3rSvMfMg6Wx0ve9Dc0v4eiJRFuIYRcRHE8
Message-ID: <CAKp59VEmM4OOkU+WTOCTR=4gmw1gTQSv-zfHs1fc0WoOO847xw@mail.gmail.com>
Subject: Re: [PATCH] xen/riscv: copy_to_guest/copy_from_guest functionality.
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, Alistair Francis <alistair.francis@wdc.com>, 
	Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Milan Djokic <Milan.Djokic@rt-rk.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello Andrew,
On Fri, Feb 28, 2025 at 4:47=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 28/02/2025 2:59 pm, Milan Djokic wrote:
> > From: Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
> >
> > This patch implements copy_to_guest/copy_from_guest functions for RISC-=
V.
> > These functions are designed to facilitate data exchange between guest =
and hypervisor.
> >
> > Signed-off-by: Milan Djokic <Milan.Djokic@rt-rk.com>
> > Signed-off-by: Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
> > ---
> > Tested on qemu with xcp-ng latest branch https://gitlab.com/xen-project=
/people/olkur/xen/-/merge_requests/6
> > Full description on how to setup test environment can be found in attac=
hed PR link (Linux kernel patching to support copy_from_guest/copy_to_guest=
 for RISC-V).
> > Linux kernel patch shall be upstreamed after these changes are merged.
>
> Several things.  First, it's probably worth setting you up with Gitlab
> access, seeing as that's the first step of RISC-V CI.
>
We already have access to mirror gitlab repo owned by Oleksii where
our changes are tested through CI jobs
Or you refer to mainstream xen gitlab? For this one, I don't know who
should we contact for access

> Second, where can I read about the semantics of h{l,s}v?  That looks
> alarmingly like a virtual address, and there's a world supply of corner
> cases that can come with it, including incorrect translations.
>
> Also, I very desperately want RISC-V (and PPC) not to inherit
> 2-decade-old x86-ISMs which we're currently trying to remove, because
> starting without them is 10x easier than to fix them after the fact.
>
hlv/hsv are part of the RISC-V ISA H extension
(https://five-embeddev.com/riscv-priv-isa-manual/Priv-v1.12/hypervisor.html=
,
Chapter 5.3 Hypervisor Instructions).
Handling of corner cases with possible incorrect translations will be
part of the upcoming patch version.

> > diff --git a/xen/arch/riscv/addr_translation.S b/xen/arch/riscv/addr_tr=
anslation.S
> > new file mode 100644
> > index 0000000000..7e94774b47
> > --- /dev/null
> > +++ b/xen/arch/riscv/addr_translation.S
> > @@ -0,0 +1,63 @@
> > +#include <asm/riscv_encoding.h>
> > +#include <asm/asm.h>
> > +
> > +.macro add_extable lbl
> > +.pushsection .extable, "a"     /* Start .extable section */
> > +.balign      8                 /* Align to 8 bytes */
> > +.quad        \lbl              /* Add label address to extable */
> > +.popsection                    /* End section */
> > +.endm
> > +
> > +.section .text
> > +
> > +/*
> > + * size_t _copy_to(uint64_t dest, const void *src, size_t len)
> > + *
> > + * a0 - dest
> > + * a1 - src
> > + * a2 - len
> > + *
> > + */
> > +
> > +.global _copy_to
> > +_copy_to:
>
> For assembly code, please use the linkage macros.  See 7015f337a217 as
> an example.
>
> However, as far as I can tell, the only interesting thing h{s,l}v.b, at
> which point a simple piece of inline asm is surely easier, and would
> simplify guestcopy.c too.
>
> Exception table entries are perfectly easy to do in inline asm.  See
> _ASM_EXTABLE() in x86 for an example.
>
We have updated the patch where this part is done completely in c with
inline assembly for hsv/hlv.
Prepared for the next patch version, thanks for the detailed explanation.

Best regards,
Milan


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:10:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901029.1309005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpR5t-0004ex-Tg; Tue, 04 Mar 2025 12:09:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901029.1309005; Tue, 04 Mar 2025 12:09: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 1tpR5t-0004eq-Q7; Tue, 04 Mar 2025 12:09:53 +0000
Received: by outflank-mailman (input) for mailman id 901029;
 Tue, 04 Mar 2025 12:09: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=7o8j=VX=gmail.com=milandjokic1995@srs-se1.protection.inumbo.net>)
 id 1tpR5s-0004ei-07
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:09:52 +0000
Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com
 [2607:f8b0:4864:20::f36])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91a16ec9-f8f1-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 13:09:49 +0100 (CET)
Received: by mail-qv1-xf36.google.com with SMTP id
 6a1803df08f44-6e89959f631so43456876d6.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 04:09:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91a16ec9-f8f1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741090188; x=1741694988; 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=rCyL6XC6uATC8Ni3C6ouha8bmSdOMrPoTX4ZETOq0E8=;
        b=SOFPuZ3gXj8/XS7NMK15rJjAWzSRmKZuQ9umw/Ztki9/RC5f7QSUbkMRC3LHGtgfj0
         8q68XfAEztNsT1C4r7h87krj5d1SECbLXRvAhEJ8EoARsd/gZY03K2q2hwg4IiH0Ho3f
         LlCpTZu7oCdj/hkl2Pe8Zwhqv1kAszvcVVwccg76lVT+c1n2jGjTMuiHhT5rGvXmXFEB
         5rF4p0QggB0iig3BDxkH01qzDlBD1kvC1VTC1/o9tTHdpcLsfe5QA61var8rpoomdc3J
         D3iU2SS8uFZGmUrhk892A8z+KkUSZDBPzgg5cRwoZ1BL/g9RlqNz0I9cwhiaEizJ8h3B
         0mkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741090188; x=1741694988;
        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=rCyL6XC6uATC8Ni3C6ouha8bmSdOMrPoTX4ZETOq0E8=;
        b=p6DkE1Ptgx4CWGKEmZAgfdzz1JvUH3EHN/e0iYRkSdWonC4mbAHANj4kjK7GceJtX/
         5X91z26CjeeZdonLdpxlKeHw5lABRxWSm6KF2EQMwhEan6nbo7sSQXFXSjMFMC1tte2l
         FqIMzgEsXuM6bZUH5FimUpaAxexUnSxOUeoXoSXe9cVwSYcpuGCRqpz6aYi/lO+hsEO1
         33vqBnUaFadwGhwS5GMKBzkHYswfK/RCXS22YtwPUqXa6Rsx7IZtMcPycg4Jh5r+pXg5
         f8C7OgFgc1mERIbCvLVl6VpbNPvqRy4O16ps/4i5V9U8CxcHSjlR/6THkC0Ssv5UAIjY
         mu6Q==
X-Gm-Message-State: AOJu0Yw/f1Pr0uwcHgalrWaAZxOFDCEZL7m0/RKC1tE9Qu55IgPtRlnN
	ZT9TZ9KLlRmFtsWaMX3aFZ0floZx/2jQDNDN6NJ4/J50jmFL3XWf28dtuyRBOc6kH7dzdExjRhf
	g5F/b86/AGhQHpAKscVqBcnR3ZUc=
X-Gm-Gg: ASbGncsHS26uzUlakpj0Ux3wfdilBFgTWLzhSwJmj4WVwY54JLkIf9pQs4VL/8Dbmip
	vAmlp950hJVTNW62PhGaDZSwkoMf3TORj5gTC5ELK05ZZLDb/WpOQNxEnOmYIvaUUMwTSS9/JVx
	3Q9rgR+yFggaFYFSMoN6895uVwwQ==
X-Google-Smtp-Source: AGHT+IH8elg+gCT25xDtdAm+zz0MQTZGMsffD7e/jdtlCUiZQr3DCt2WStyX95YSFiNVfnYa8/jqAgqBYo7OnhXgWl8=
X-Received: by 2002:a05:6214:2462:b0:6e2:43d1:5fec with SMTP id
 6a1803df08f44-6e8a0d6d85dmr242942396d6.33.1741090188185; Tue, 04 Mar 2025
 04:09:48 -0800 (PST)
MIME-Version: 1.0
References: <dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com>
 <1b71b063-1f1d-4cd0-be06-0ba3908027e6@gmail.com>
In-Reply-To: <1b71b063-1f1d-4cd0-be06-0ba3908027e6@gmail.com>
From: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Date: Tue, 4 Mar 2025 13:09:35 +0100
X-Gm-Features: AQ5f1JpZZ3u9RX4J-0RPGCqux1ImsT4JmEd2q-QYVdnF8Ic9b5pe9A0xvF9oyCo
Message-ID: <CAKp59VHngx=DaHYdb8nYNNbmd5_s5FejShX2xwFFz1KVmPB_vw@mail.gmail.com>
Subject: Re: [PATCH] xen/riscv: copy_to_guest/copy_from_guest functionality.
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, 
	Slavisa Petrovic <Slavisa.Petrovic@rt-rk.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Milan Djokic <Milan.Djokic@rt-rk.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello Oleksii,
On Fri, Feb 28, 2025 at 5:03=E2=80=AFPM Oleksii Kurochko
<oleksii.kurochko@gmail.com> wrote:
>
>
> On 2/28/25 3:59 PM, Milan Djokic wrote:
>
> From: Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
>
> This patch implements copy_to_guest/copy_from_guest functions for RISC-V.
> These functions are designed to facilitate data exchange between guest an=
d hypervisor.
>
> Signed-off-by: Milan Djokic <Milan.Djokic@rt-rk.com>
> Signed-off-by: Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
> ---
> Tested on qemu with xcp-ng latest branch https://gitlab.com/xen-project/p=
eople/olkur/xen/-/merge_requests/6
> Full description on how to setup test environment can be found in attache=
d PR link (Linux kernel patching to support copy_from_guest/copy_to_guest f=
or RISC-V).
> Linux kernel patch shall be upstreamed after these changes are merged.
> ---
>  xen/arch/riscv/Makefile                   |  1 +
>  xen/arch/riscv/addr_translation.S         | 63 +++++++++++++++++++++++
>  xen/arch/riscv/arch.mk                    |  6 ++-
>  xen/arch/riscv/guestcopy.c                | 43 ++++++++++++++++
>  xen/arch/riscv/include/asm/guest_access.h |  5 ++
>  5 files changed, 117 insertions(+), 1 deletion(-)
>  create mode 100644 xen/arch/riscv/addr_translation.S
>  create mode 100644 xen/arch/riscv/guestcopy.c
>
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index a5eb2aed4b..1bd61cc993 100644
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -10,6 +10,7 @@ obj-y +=3D smp.o
>  obj-y +=3D stubs.o
>  obj-y +=3D traps.o
>  obj-y +=3D vm_event.o
> +obj-y +=3D addr_translation.o
>
> It should be sorted in alphabetical order.
>
Will be updated in next version

>
>  $(TARGET): $(TARGET)-syms
>   $(OBJCOPY) -O binary -S $< $@
> diff --git a/xen/arch/riscv/addr_translation.S b/xen/arch/riscv/addr_tran=
slation.S
> new file mode 100644
> index 0000000000..7e94774b47
> --- /dev/null
> +++ b/xen/arch/riscv/addr_translation.S
> @@ -0,0 +1,63 @@
> +#include <asm/riscv_encoding.h>
> +#include <asm/asm.h>
> +
> +.macro add_extable lbl
> +.pushsection .extable, "a"     /* Start .extable section */
> +.balign      8                 /* Align to 8 bytes */
> +.quad        \lbl              /* Add label address to extable */
> +.popsection                    /* End section */
> +.endm
> +
> +.section .text
> +
> +/*
> + * size_t _copy_to(uint64_t dest, const void *src, size_t len)
> + *
> + * a0 - dest
> + * a1 - src
> + * a2 - len
> + *
> + */
> +
> +.global _copy_to
> +_copy_to:
> +    la    t0, copy_done             /* Load address of return label */
> +    mv    t2, zero                  /* Initialize counter to zero */
> +loop_check:
> +    beq   t2, a2, copy_done         /* Check if all bytes are copied */
> +    lb    t3, (a1)                  /* Load byte from source (guest addr=
ess) */
> +store_byte:
> +    hsv.b t3, (a0)                  /* Store byte to destination (host a=
ddress) */
> +    add_extable store_byte          /* Add exception table for this loca=
tion */
> +    addi  a0, a0, 1                 /* Increment destination pointer */
> +    addi  a1, a1, 1                 /* Increment source pointer */
> +    addi  t2, t2, 1                 /* Increment byte counter */
> +    j     loop_check                /* Loop back if not done */
> +
> +/*
> + * size_t _copy_from(void *dest, uint64_t src, size_t len)
> + *
> + * a0 - dest
> + * a1 - src
> + * a2 - len
> + *
> + */
> +
> +.global _copy_from
> +_copy_from:
> +    la    t0, copy_done
> +    mv    t2, zero
> +loop_check_from:
> +    beq   t2, a2, copy_done
> +load_byte:
> +    hlv.b t3, (a1)                  /* Load byte from guest address */
> +    add_extable load_byte
> +    sb    t3, (a0)
> +    addi  a0, a0, 1
> +    addi  a1, a1, 1
> +    addi  t2, t2, 1
> +    j     loop_check_from
> +
> +copy_done:
> +    mv    a0, t2                    /* Return number of bytes copied */
> +    ret
>
> Can't we done this functions fully in C? (it doesn't something mandatory)
>
Yes, we have changed this part to be completely handled in C

> diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> index 17827c302c..f4098f5b5e 100644
> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -23,13 +23,17 @@ $(eval $(1) :=3D \
>   $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(=
1)))
>  endef
>
> +h-extension-name :=3D $(call cc-ifversion,-lt,1301, hh, h)
> +$(h-extension-name)-insn :=3D "hfence.gvma"
> +$(call check-extension,$(h-extension-name))
> +
>  zbb-insn :=3D "andn t0$(comma)t0$(comma)t0"
>  $(call check-extension,zbb)
>
>  zihintpause-insn :=3D "pause"
>  $(call check-extension,zihintpause)
>
> -extensions :=3D $(zbb) $(zihintpause)
> +extensions :=3D $(value $(h-extension-name)) $(zbb) $(zihintpause)
>
>  extensions :=3D $(subst $(space),,$(extensions))
>
> This patch should take into account another one patch series ( https://lo=
re.kernel.org/xen-devel/cover.1740071755.git.oleksii.kurochko@gmail.com/T/#=
t)
> update for which I am going to sent today.
>
> Also, these changes would be better to move into separate commit with exp=
lanation why what is so specific with 1301 and why it is needed to introduc=
e
> 'hh'.
> I believe that these changes were taken based on my patch: https://gitlab=
.com/xen-project/people/olkur/xen/-/commit/154f75e943f1668dbf2c7be0f0fdff5b=
30132e89
> Probably it will make sense just to get it and rebase on top of mentioned=
 above patch series.
>
Yes, it is based on your patch. Sorry, I was not aware that you
already have an active patch series which contains this part.
In that case we'll wait for your patch series to be merged first. And
we'll split it into 2 commits where first one will only introduce h
extension handling in arch.mk and the second one with
copy_from/to_guest functionallity

>
> diff --git a/xen/arch/riscv/guestcopy.c b/xen/arch/riscv/guestcopy.c
> new file mode 100644
> index 0000000000..0325956845
> --- /dev/null
> +++ b/xen/arch/riscv/guestcopy.c
> @@ -0,0 +1,43 @@
> +#include <xen/bug.h>
> +#include <xen/domain_page.h>
> +#include <xen/errno.h>
> +#include <xen/sched.h>
> +
> +#include <asm/csr.h>
> +#include <asm/guest_access.h>
> +#include <asm/system.h>
> +#include <asm/traps.h>
> +
> +unsigned long copy_to(uint64_t dest, void* src, size_t len)
> +{
> +    size_t bytes;
> +
> +    bytes =3D _copy_to(dest, src, len);
> +
> +    if (bytes =3D=3D len)
> +        return 0;
> +    else
> +        return -ENOSYS;
> +}
>
> Why do we have a different prototypes with copy_from() below? If we will =
have
> void *dest then ...
>
> +
> +unsigned long copy_from(void *dest, uint64_t src, size_t len)
> +{
> +    size_t bytes;
> +
> +    bytes =3D _copy_from(dest, src, len);
> +
> +    if (bytes =3D=3D len)
> +        return 0;
> +    else
> +        return -ENOSYS;
> +}
> +
> +unsigned long raw_copy_to_guest(void *to, const void *from, unsigned len=
)
> +{
> +    return copy_to((vaddr_t)to, (void *)from, len);
>
> ... we won't need cast for `to` and wo we really need cast for copy_to()?=
 Why `const` is
> dropped when passed to copy_to()?
>
These are just mismatches (prototype and const drop), fixed for the
next version.

BR,
Milan


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:13:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:13:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901038.1309015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpR9G-0006AT-CE; Tue, 04 Mar 2025 12:13:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901038.1309015; Tue, 04 Mar 2025 12:13: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 1tpR9G-0006AM-8x; Tue, 04 Mar 2025 12:13:22 +0000
Received: by outflank-mailman (input) for mailman id 901038;
 Tue, 04 Mar 2025 12: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpR9E-0006AG-S7
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:13:21 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20617.outbound.protection.outlook.com
 [2a01:111:f403:2412::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d6c4e0d-f8f2-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 13:13:17 +0100 (CET)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CYYPR12MB8872.namprd12.prod.outlook.com (2603:10b6:930:c8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Tue, 4 Mar
 2025 12:13:13 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025
 12:13: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: 0d6c4e0d-f8f2-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=axa8aDI0yrjKq+EYEeQiSJcBLjBoNlEJUeYXNHPxAf2vbc7jw2oZbffeCYOxms6MmR99BjvIPPgzr+ymHlU6e2Zr/mZ5ahba4faYXhHQV5oejvNOWaqE5MJdMceW0hPoTJyDJq4oJ8jEXJrA9KncX5SnESc/sxvaNznythEjLoofRpUySpm89FMUYg4Nhw3CpAIg8TQZfLXNpvExyDAe9H8JlAbl6vhpvgT20hC9aICpQGy5CXqOXJEAGKN0ah31RoAOPJSBeOvyMqFvgkllcG+3x1DDswv41EbNHW/kQz+3MMkfdKf2JEF1ai/pxwCBVHm3w12cfmTf0Bnf6RHvTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c+3essZ37Cpxt7Jm0bTbt18HNALTbquTbV5uhEl/P2s=;
 b=KAZLKgBxe+p65towoNolkOPHqIvVKTDYsvKb1JZ0tyQva5PA4K/UK3KsP+nQZ1x1Yk01ykU30zHrlz1arC1Kfrx7q7pRVeKQPwaebvrKzWGWXTGCOaiVzqv7zlRFR7RFovtjzz6r8ctxPsSPmhSi1FOzySyDA/RDt225pdPebUNq+IXkFP0k/gLa9zLYCGIV5HQ3zKcv9QkLoqLheOfSKN1K7q/OtVitQuZ9EM4crOrB86amRuU2e3pGy2Nfcn0a2ve/IWT9fuBMN6b7lSFUlvIf6OOmkYGDQZEN6L2f9CTGTkVvYacnMKfIzHguzETLSParzYlCa1IoHLdvjhsNqw==
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=c+3essZ37Cpxt7Jm0bTbt18HNALTbquTbV5uhEl/P2s=;
 b=N1CD6K6Skp1qmnK9TyDK4qDJCHhgDclO8GB/j7KJOSpil/XVdLLvBlQvxRG8QVRRRZCrgZy4o0dYG2tX9ZgUjZMZPN3KgoEk18xz699/lQ1CsKhegZ+5w3qZvsb4rJqGBiX7Q349kOdeEM0wgVX+PO7ylZbQnJ2wFNxWXa2NLe4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <3a2051df-7669-4d0c-a974-699e3026f98a@amd.com>
Date: Tue, 4 Mar 2025 12:13:08 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 8/9] arm/mpu: Implement early_fdt_map support in MPU
 systems
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, 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: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-9-luca.fancellu@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <20250228161817.3342443-9-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PA7P264CA0274.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:373::19) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CYYPR12MB8872:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ab8bef7-f3f1-4cf6-b7e4-08dd5b15efa9
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?RXoraGN6cmxVSUxhb3BKeVUwcmJIdDJpRDZHejd4R3pnWitvSk8yUjRlUnMv?=
 =?utf-8?B?dThqMlcxaVByS0o2Ny82RThtb3Mya0F1MDNWVnZCNHBwK2FNeE9CWE10QlhT?=
 =?utf-8?B?Z3hLQ3R0Z2NGRTlBcTBpRWt4elBjRGl1M2p0Y2VqQ3dTRFI0SDMyT2JWUDBO?=
 =?utf-8?B?SlNobzVCbTlvd2VlVWUyUGFEcHF3cnBkMTVkOUZqSjRjVTVtYlJlM2pwU2No?=
 =?utf-8?B?MzBxVzgxMDR4Y2Y4Q0RoTnZHeVZ1aDl5Q0pLU1h3MTFDVmNwRnZieWY4Q2ow?=
 =?utf-8?B?dCtzMGk3SnJmQW9tY1hmcDZtTUNudzVUbEVpNjR5YnFvcW1IY21jSFVTYmhQ?=
 =?utf-8?B?bkNBYmR5K2pHUDZkVzMyb2dqREdVY3dXc0UwVTZzU1N6STR4Y1N0YVdtWWdT?=
 =?utf-8?B?RHRQaWR1NDJldUZ4LzlVWDlNUmJqUTQwSzBBUzFxektWdzB6NWNCbHRqaFln?=
 =?utf-8?B?aHpxUHRhblhUTzFmQU9GSzFuVTU2RXI5TmJuTU9KeWpHVjg5TU1KV29ITE1Q?=
 =?utf-8?B?Y2lSM3BhTDJsQ1NhWnV6QU9xK1VqMzlyL1JYSDE0eEdsUHlLQ0I4R3pXWFNh?=
 =?utf-8?B?a2pIQXdxdG9mcEwydnpwQSsvam9GY0s5aUx1WkE2VVlMUS9DK1NzR2lQcnpL?=
 =?utf-8?B?TDZvcDExcytkQ1BNZTZZV3ZGUGF4bkZzSGYremRIY1cxbFdEY1J2SGhtdXcw?=
 =?utf-8?B?Y3NLWkJDMnFOdHMxM003TzF0aENQZkJiVDRoWkoySXV1bmYvT1BLdWd5MmZJ?=
 =?utf-8?B?VTlLOFVsQkdTS1BjTHFrOE5tdHhqa1dJQ0M0b3NtUUcvSi9JdFlaRVczYlFN?=
 =?utf-8?B?TDFKRXB0bCtqTEczOEJRWEI5dUVjdmRGNjhJQ0NaQ3FubE1rNEVPWDJ4ZzNW?=
 =?utf-8?B?Witybm1CeUxvOTZTT2xIc1U3YnVzSERsL2tqTVlDNWtTUThvSDQ1SVhDUDNp?=
 =?utf-8?B?amQ4ek0zL21kMEJJVTBGMDIvZ21IbTZmeTRobVhHWUlqZ25vRFdoalZYNVk4?=
 =?utf-8?B?amhFZWR5eGxYRDdLSStmbVlwSnIyUjdxYXR2KzloV1gyRmtMM2NyQXpMcVNE?=
 =?utf-8?B?VzkrNUlqb0hJcUJQY2lYcEJGQmpYVW1BS3BmcFJPdkJyWDRPbW90R0hZZjU4?=
 =?utf-8?B?ZjZHR2NEdDhKcGxudDhLTmQ3VURSNHUvanRDcGppZE5XeUZiQjA3TGhCUkxD?=
 =?utf-8?B?R3JFQTUvRlRKRFN3VDFJWUE0RFJXV255MTczRGhVSTNmZzM1TWczQ0h0MXVo?=
 =?utf-8?B?OThWcFdLY0hLem5IZmVvM1BpZi9sdHU2YktOcGhiVldaWm4xRlI4UGd5S0ow?=
 =?utf-8?B?WkZ5b0JqUkt4SmVFYjNjRy9LWHNocjJvVUx6MjdJQnNna2hWVkNpSjVUS3dJ?=
 =?utf-8?B?b1p1S0pOKy82YStlQ3YzWUFMakdaanJNUW4xRFhlNVRETUZjYzhlK1NWaU12?=
 =?utf-8?B?THF6V3Q5MVFqWU9sdWxwaUxKSlJJL2dzVWNqRkI5ZmNlZGh0aU5mNkFVd0g3?=
 =?utf-8?B?VFVlbzROSTFjYlJRRS9EdzRmSHcxY1cwZmprbjNSZEZiZGNuMWpuNGttRWtM?=
 =?utf-8?B?ZHF3VXhodjJ3NzR3Vkd3NmcrOXA4YnlzM3EyaE05SVZQZW4wK0R3SnhRbnRD?=
 =?utf-8?B?VkpBc3hzclRDNTcxU1JYaUhCL3VTdzV5TjhLRlFVSWNPOEFHWWZPSVFTbFJx?=
 =?utf-8?B?aUtGZHZLbWxiS2lkOTN5VFJqWDlRZVBRUy9MS3FraGVJZjJEaitONUo4QTJq?=
 =?utf-8?B?WndVWXlWSkw2bCtFakhrVkpWSGRWbzIrZ3U1Q1l0cld3ODVja1gwY2ZQdWxn?=
 =?utf-8?B?STduVjlPdjFHRjRtdFI5YURPK0dzWEI2d3VoNDhwOEFvVHNVbWJTc2xEZzhu?=
 =?utf-8?Q?B+ZztA4/t7lGF?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?Y1lvTXVRcm12V052dk5DUXB0V1FiS0gzS1Y5YVZ0b2locU5nOXFuVTBrRUJC?=
 =?utf-8?B?bThoYUU4VS94dTR1bXpzSlZVSWRCQmgvQ0U5cjBGYUVydFF3cDRla3VHN1dR?=
 =?utf-8?B?S21BdHp5UndRdE5LOGI2WmhQQy90K0FINENZdjIxQU10UHlpNFNWbzdyU04w?=
 =?utf-8?B?RUJKV1N2di84YnlqWGJjWE8xWlA1Q1BIVjI4R0hiY1BTS3E2Z2piTUdUN081?=
 =?utf-8?B?V1hCb2NzTlNkTS80R3JOSFJPcnJLUUd4SXRNU0pXc2NYYTRWNWN3WDlyQjVk?=
 =?utf-8?B?bk03Y29ZajJuYVc0OEo5MUhaSndrNys4Vm50RmZRNnZaMnpYekI2NWpGNThV?=
 =?utf-8?B?VlN4eVIrVGtQR1JGRVBpSks3NlY5blNuc1dBenVUb2Ewd2NjRE52OUFXcUhF?=
 =?utf-8?B?NzNCSkZPVWFnUHlqK3lEc3R5VUoyNXVoeC9DeWZ4dkg5RnRIbXY4TTZoUTR6?=
 =?utf-8?B?cTUxWXVnY09EVWRadTAzamQxdy9ldmR0YjNEbFBxYUpBYnBTQ2N6L2Rha00z?=
 =?utf-8?B?VFUxSHFjMnd1cWhLYlhvOW1oazgwZDFIbkxOZGxUaDZjYlVZTTZIeHU1Q0xy?=
 =?utf-8?B?REtHN3NMekZ3UE5jRjduOFkzRkxlM3VqeG1iQnZsVll6dGFuM1ZyMU9hMFhN?=
 =?utf-8?B?aGtsUVAyd2tHTnZkZWF1a29oSElWN2hOdTBDalFJcmsrc1lXN05QMVpiSGJa?=
 =?utf-8?B?RVBjS0UrdFh6MzlKLzRqU3FSNXJuR3lIR2FvbVYzaW5PQWc4K3VVaTZIQndx?=
 =?utf-8?B?cG8rMXlTR1JhU0kweFFUWkV6aHJYYk8xNW5Kakw5V3N0QzN5cDErM2ozbFlz?=
 =?utf-8?B?SzQ4d2FISXcvQzNYcTZKb21vaGpZZ21kWnpXL2dmTGdiQTJRS25pUnVFNEwz?=
 =?utf-8?B?YTNKczJXaUx6VXBLT05kSm1jWjFTdmhYaTFwblRyV05rZTI1VEtpeUpucFVj?=
 =?utf-8?B?Y0tZcE9nbXVpV29JT240NDUwbEg1VC9HL3RpZVhxcDAwR1cvbDBUcnZrQVcy?=
 =?utf-8?B?aVFLVkFkcTBIMDBzdWYyZVpPNjBKRzZURUtYRmRxS01TK0tVdmk3RHV4bElL?=
 =?utf-8?B?bDZwU0crUzQvRGFmTXRRYUxlSTRURGduSE1yQ1dOUDJPaytFR3V2WEF5RjNY?=
 =?utf-8?B?OVlPb2IvR0E4WCtiVUVWcDF4T1YrbktKeWpFbWpKcVVLVE5hSTZKS1N0VTZO?=
 =?utf-8?B?aEdUWTVuMm5mNDlEWFNORXQzL3BtbldpZDFtbk5hNThVVmJkTGoxR09sSVBJ?=
 =?utf-8?B?UlVmL2RMQWNQOVdHY2hZU1gyQ3dkT3NydHNYNXVpcGxWbE5CQkNQeFdjMTQ1?=
 =?utf-8?B?VCt0S2JERk82NlBqZ1YyK0dyOENiQnNtNld4OWY0QXhEWG5KeDFjZWtFa1Bq?=
 =?utf-8?B?cVZ2WjlWVkhxUEZtUXp0cEN4NVVvY1Y1SXJzTWx2bE43M0dVbSsxWHVxMTZM?=
 =?utf-8?B?cWRSaTd3ZzRoU0FrT29oazR1amFLRng5cmZLS1p4aUN0bmhTWWhXbGVMZk9h?=
 =?utf-8?B?cEJVM1BCNGw4TVExUGlPbmIwODNQVEZ0cC82WWQ3cmZNRDBXZjM1bVJYSkV0?=
 =?utf-8?B?YUlMY3FLejk1SkFlWW5VNkw2My8xaFFzbEthRWx5R2wwV0xmQ2JqWGdpd200?=
 =?utf-8?B?SWlkdkZ5YVFDM0dlTTFHWWFuTTZ6YTJkYWgvVFQvRGZtdjRxNzkxbXVucE56?=
 =?utf-8?B?UW5oMDJIcUl0Y3IxNDMvQmJmRmFva1p0ODY3MXFWTzU4NGgrR3Jhb0hTRy8y?=
 =?utf-8?B?VVhTK2dWaS9YVmFEa0RNVHRUUGtTdG5Ibnd2UGE4M0ZwOHcyUURubzBLRGp1?=
 =?utf-8?B?cnNpM1dURDlmQlVBVzdBS3lXazNZNW0zdHNpRHVLZjhkOHRmRkM4aHpSbzV3?=
 =?utf-8?B?UUVsa1IyOXoyeGdqTWd1OUFZdVpvZ1FxNDVINUt4dm43VllseW44MTBETGFE?=
 =?utf-8?B?b2pIOWVBZmFSZHNaZGhXb2NnS0ozajluOEJqNGxzRFhVUnhDMndmMCtlV0VE?=
 =?utf-8?B?WndsTDZQNWhtUWxuczYyUXFQZ0xGT2liQU5XQnpFTko0aTkwUXZUNmJTZDhY?=
 =?utf-8?B?dnFXY3o5cGcyOTFudlBSeXNQMUl6R3NJWldhbFhsbXRMVGVqTTlYTjVFazJl?=
 =?utf-8?Q?2GG6mcKuCWWi03r8tR71ClCO3?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ab8bef7-f3f1-4cf6-b7e4-08dd5b15efa9
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 12:13:13.2078
 (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: N7oNgG6k7jCrjFt235BN1Z/PMQDBsmV4J6OzQXGpznIKsyCAR8K7aivihVUvRAPdXMgMup3BXv5CReQy7YjQTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8872

Hi Luca,

On 28/02/2025 16:18, Luca Fancellu wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
>
>
> Implement early_fdt_map() function, that is responsible to map the
> device tree blob in the early stages of the boot process, since at
> this stage the MPU C data structure are not yet initialised, it is
> using low level APIs to write into the MPU registers at a fixed
> MPU region number.
>
> The MPU memory management is designed to work on pages of PAGE_SIZE
> in order to reuse helpers and macros already available on the Xen
> memory management system.
>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/mpu/Makefile |  1 +
>   xen/arch/arm/mpu/setup.c  | 72 +++++++++++++++++++++++++++++++++++++++
>   2 files changed, 73 insertions(+)
>   create mode 100644 xen/arch/arm/mpu/setup.c
>
> diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
> index b18cec483671..04df0b2ee760 100644
> --- a/xen/arch/arm/mpu/Makefile
> +++ b/xen/arch/arm/mpu/Makefile
> @@ -1 +1,2 @@
>   obj-y += mm.o
> +obj-y += setup.init.o
> diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
> new file mode 100644
> index 000000000000..290baaca9fd7
> --- /dev/null
> +++ b/xen/arch/arm/mpu/setup.c
> @@ -0,0 +1,72 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen/arch/arm/mpu/setup.c
> + *
> + * MPU system boot code for Armv8-R AArch64.
> + *
> + */
> +
> +#include <xen/bootfdt.h>
> +#include <xen/init.h>
> +#include <xen/libfdt/libfdt.h>
> +#include <xen/mm.h>
> +
> +/* Needs to be kept in sync with the regions programmed in arm64/mpu/head.S */
> +#define EARLY_FDT_MAP_REGION_NUMBER 6
> +
> +void * __init early_fdt_map(paddr_t fdt_paddr)
> +{
> +    /* Map at least a page containing the DTB address, exclusive range */
> +    paddr_t base_paddr = round_pgdown(fdt_paddr);
> +    paddr_t end_paddr = round_pgup(fdt_paddr + sizeof(struct fdt_header));
> +    unsigned int flags = PAGE_HYPERVISOR_RO;
> +    void *fdt_virt = (void *)fdt_paddr; /* virt == paddr for MPU */
> +    pr_t fdt_region;
> +
> +    /*
> +     * Check whether the physical FDT address is set and meets the minimum
> +     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
> +     * least 8 bytes so that we always access the magic and size fields
> +     * of the FDT header after mapping the first chunk, double check if
> +     * that is indeed the case.
> +     */
> +    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
> +    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
> +        return NULL;
> +
> +    /* Map the device tree blob header  */
> +    fdt_region = pr_of_xenaddr(base_paddr, end_paddr, PAGE_AI_MASK(flags));
Instead of this new macro (PAGE_AI_MASK(flags)), can I reuse the 
existing one (ie MT_NORMAL) ?
> +    fdt_region.prbar.reg.ap = PAGE_AP_MASK(flags);

May be somethng like

s/PAGE_AP_MASK(flags)/AP_RO_EL2

And define this in the common mpu.h

/* Read-only at EL2, No Access at EL1/EL0. */ #define AP_RO_EL2 0x2

> +    fdt_region.prbar.reg.xn = PAGE_XN_MASK(flags);
Similar comment as before.
> +
> +    write_protection_region(&fdt_region, EARLY_FDT_MAP_REGION_NUMBER);
> +    context_sync_mpu();
> +
> +    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
> +        return NULL;
> +
> +    end_paddr = round_pgup(fdt_paddr + fdt_totalsize(fdt_virt));
> +
> +    /*
> +     * If the mapped range is not enough, map the rest of the DTB, pr_get_limit
> +     * returns an inclusive address of the range, hence the increment.
Can you explain this a bit more ? Why do we need to create 2 MPU regions 
for mapping DTB.
> +     */
> +    if ( end_paddr > (pr_get_limit(&fdt_region) + 1) )
> +    {
> +        pr_set_limit(&fdt_region, end_paddr);
> +
> +        write_protection_region(&fdt_region, EARLY_FDT_MAP_REGION_NUMBER);
> +        context_sync_mpu();
> +    }
> +
> +    return fdt_virt;
> +}
- Ayan
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:25:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:25:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901053.1309025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpRL1-00017w-K5; Tue, 04 Mar 2025 12:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901053.1309025; Tue, 04 Mar 2025 12:25: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 1tpRL1-00017p-HH; Tue, 04 Mar 2025 12:25:31 +0000
Received: by outflank-mailman (input) for mailman id 901053;
 Tue, 04 Mar 2025 12:25: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=i2zF=VX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpRL0-00017j-RP
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:25:30 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20630.outbound.protection.outlook.com
 [2a01:111:f403:2608::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf8dc606-f8f3-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 13:25:25 +0100 (CET)
Received: from AM8P190CA0021.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:219::26)
 by AS8PR08MB9220.eurprd08.prod.outlook.com (2603:10a6:20b:5a3::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.26; Tue, 4 Mar
 2025 12:25:18 +0000
Received: from AM2PEPF0001C711.eurprd05.prod.outlook.com
 (2603:10a6:20b:219:cafe::1c) by AM8P190CA0021.outlook.office365.com
 (2603:10a6:20b:219::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.26 via Frontend Transport; Tue,
 4 Mar 2025 12:25:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C711.mail.protection.outlook.com (10.167.16.181) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 4 Mar 2025 12:25:16 +0000
Received: ("Tessian outbound 93a06e49d4fd:v585");
 Tue, 04 Mar 2025 12:25:16 +0000
Received: from L7135f3732d14.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9CF92A2E-23D1-40D9-9F84-2DF1E7E20EBE.1; 
 Tue, 04 Mar 2025 12:25:06 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L7135f3732d14.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 04 Mar 2025 12:25:06 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by DB9PR08MB9778.eurprd08.prod.outlook.com (2603:10a6:10:45d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.26; Tue, 4 Mar
 2025 12:25:01 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Tue, 4 Mar 2025
 12:25: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>
X-Inumbo-ID: bf8dc606-f8f3-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=b/T969pjixUMrXguOMJ+tVOvzMxUxikwvtldPBu9+yUKSbKRQavaznwpjXd0FOitG9wYpGVhxOQOvniuFcjEB78AgFgCLj1jm1WVdThrZvx3wfuyOytBU2ifQ4396H13MSwp3PGBNe7VUfFPW8OzHUcxxXRAcII1GVccDD4ku6WmOJ0O36uoj33sR9u5DwHTm/EkV/a48mLuNECGhGpDn329BKTIkU6hqjiR9UmBaUaYcwwn/196bS1EOost+MBbKNSblrpBB4v7h93fEinrRRJb77anCWF2mRHliqZ+nHbCqKeOgcq+e4c92ByXQDJeRBRqUr0mBTSMdEy+KqidRg==
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=PUXASoFvT8QNz1iYsJkSzJtF9FnIbYk6CIDd1DEbxf4=;
 b=cyzygds+YjCEIdXJ+cjgCXCPX/3eVSU+YymXEHe1VBw8l+SFXwb2RSYMZzXC7e/J24tvH1ZTgCVr9DGqqLSnrSs7W3//S4geIba1LAckPJCo5tdB1Lj5PUQ5cryNIKE+oUvAaxc+BVawIjRXfBzp9bwnQp5ScqEMq7KKoHLcsXBANNZlBdbZX2hdvXANFmdlBw71iWEbHzEVf4tGFtEMyz32TBxLIyS955U5B+A9SgYX92vvfAi+QO45Tv6ma959i545xq5grnZWF97aAobhAnjLX2RWvHzA5reg7nT4ZugMRqxMLaZpuOs8CY/uxHaMLkL4BT8AQftEXgsuin7MMA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=PUXASoFvT8QNz1iYsJkSzJtF9FnIbYk6CIDd1DEbxf4=;
 b=QnpyT4z36ADp9HR7hELHuAa+vb3Gu0p8Nclk4F+3JMtPmuoJ82p2grWXXUbvM3sqxsKDU1h6elC1L0eTybJlrPKK89I5ILqYhRt9j8ChBK7AuH2nZSeFHWcA4UpnPnaeTGW0/3XVHwshUbojLfbOF5wYTjI51hhE7JF1zzhyH9o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: de1cd269140a8ed5
X-TessianGatewayMetadata: BP4Jwfw1iW/qYYKtWtdijnW4v+OP8iHSmomGWld7wRqn9tzN27Rux6N+uB9w8yCzhvCFtnuARpU8ywzWN9H4wi9hCw9YjnuLGMuU/VX9iPTLJBI9iBzaPPPJ0o3+OKyPjwW9D7av6gkAwSqp7pPMUYN8ssU+CwTqNFtAhYESqGQ=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=miHSg7AkyhePTt6ga3YE0J47cTakNkC/xJ1WjaclW9nuab6jVni8D4MdwaICs1kVLKz9VxmlTRfFmv0RkK+tcLYI6LAO9eQ4ivE/Qc8mE7E662Sa6fch1pbWE8yjNnST8tKPbb8wbNTw1wKVu1RoqFQyvtYlnD5sYuOD/Wx6Kqgrq43+m4iBD+KHGodF5EnwGYfY12pHOiTyTO1lVf19mJOHQ6q1Km8xitwOcbXrf23mNzMN/b/DkEixiclZ67wo5ywRtIdLoS6dVRETlUF+sQmlAxeL3VQEoaqGgFetHaygnMPvYvvM7mVC1CxkbOmtkzrPX4Gau0iKqzZuJdlnOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PUXASoFvT8QNz1iYsJkSzJtF9FnIbYk6CIDd1DEbxf4=;
 b=OWMkqNuiELZ/AsLkvxxnCvQF0n18BkRIL1cN3hSrDQ2kOQ+X9JBdDvCBGlGrvBLs6wQ5ig00GdSrSV4sjrsoS7epEmUPyiW4UTBdp87+i3HceSeXKXhE1B93B/g11SmR734VtHx/iHJkBu4TFWKeGATc8HGVo5Wr4bMjh8rlS+RWuSJuPkEDLN7tZjkAlTCdQ3Ly/bswG44T5KD/DfnbXr6LLUGRKVpc/EmAsFlVBnzCpW0/gnoQGdqucLgr7tm5TV7sTzOpIEI8U8gcenqwv1Uwrs3zEFBOt+J72JpCTndwtuc4XyLgZqRJRBYuCsQM4ZFcjLtknnOuGGLUKcnGTA==
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=PUXASoFvT8QNz1iYsJkSzJtF9FnIbYk6CIDd1DEbxf4=;
 b=QnpyT4z36ADp9HR7hELHuAa+vb3Gu0p8Nclk4F+3JMtPmuoJ82p2grWXXUbvM3sqxsKDU1h6elC1L0eTybJlrPKK89I5ILqYhRt9j8ChBK7AuH2nZSeFHWcA4UpnPnaeTGW0/3XVHwshUbojLfbOF5wYTjI51hhE7JF1zzhyH9o=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.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>
Subject: Re: [PATCH 6/9] arm/mpu: Provide a constructor for pr_t type
Thread-Topic: [PATCH 6/9] arm/mpu: Provide a constructor for pr_t type
Thread-Index: AQHbifx0LOex0WH/OkCl0iSW7rfY57Ni4d+AgAAK6oA=
Date: Tue, 4 Mar 2025 12:25:01 +0000
Message-ID: <50D855BE-1E49-4EAD-8B44-6E76512EB117@arm.com>
References: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-7-luca.fancellu@arm.com>
 <37f6cadf-005f-425e-8aa7-45a947dbbc5a@amd.com>
In-Reply-To: <37f6cadf-005f-425e-8aa7-45a947dbbc5a@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|DB9PR08MB9778:EE_|AM2PEPF0001C711:EE_|AS8PR08MB9220:EE_
X-MS-Office365-Filtering-Correlation-Id: 2790b99b-3357-48bd-7638-08dd5b179f12
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?L2lZRXJ1d0s3T2FLV0FuUUdCVjJxUWc1aG41Q1FoaUt4eTdXeW1wZU0xRWtJ?=
 =?utf-8?B?OE0zam5TTVV5L1A5WTRRS3k4WGNrK0NHSEVMb0RvL2lzc3JRQm1leCtJV2Nn?=
 =?utf-8?B?S1pIVUlYYUhFVVB3YnJxWlh0UFZxNmlEVkdMZnduM0tkbmhYaXowVWpNU0di?=
 =?utf-8?B?RGFqZ1ZjZGhZb1NIR3Evb3RoMDNUMk15OW5jSFdPSitZM1pPdnhyUVNwR2xY?=
 =?utf-8?B?LzlpT21SQzRBaTdSdnhheGhsTWVUVFZtYUwrMG9iajYrd1k3Ri9FSDVWUFR3?=
 =?utf-8?B?M1M4ZFVGbU9zUWRxWHNnSjRwQ2c1VEpKc0duSys0WktaTlJZN1Q3L2lpcnlI?=
 =?utf-8?B?bEplNTVZbURwUk1ZUkxyYzY4MDFzc2NxUDhaamNxQVJ3Y0tTUTlXRFQwRHhP?=
 =?utf-8?B?bW9qSlNQK25XY3ZxenVpQzNKemNEWVM0QWJpK0hXeGFEemN1YmJJZjFTak1M?=
 =?utf-8?B?S1dPYlZYemhERXRJUkhJOTRjeWF6M0ZPNUlJS2Y4N0hqN2dMK3djNDFXZXVN?=
 =?utf-8?B?U0dadmpoYWNjU0NUVEUwMWxjUDFZRlRta0NmN2wzS0VqZ0ZnRm1VNFZzTkt2?=
 =?utf-8?B?ZGZ5VmgrZzJxZGhxaUR1YjVXU1VVbmU2WFFvbjJOdDdSU1JpZ3F1Y1VHckZy?=
 =?utf-8?B?bVBwZ2NHOXVHMHE2MTBPVHlFalFCcVdBb3hGeis5RkZUZEJIcjdSYUZTOG1L?=
 =?utf-8?B?ancxUlpjOFJmMWt3MjYrb040cDZxZ3A3M1dUb0ZIbWhjTXNzdUZDcVpEdThj?=
 =?utf-8?B?M2wwM1BvbGRua0pYQlN1amY4eFBDSzBRaFlLMDJjVDZuUGRya0NuU2xHeUZV?=
 =?utf-8?B?MzVlZW5HSW5vOUI2QnBLM09HcTZrK2g3cHA0cDJ1blpqQ0l4WmdhcVZsdjdP?=
 =?utf-8?B?aHNFcnNnMmUrY3d0UURtYTBSOGw1M2dwYldyN01VMG5Td0VsMEppTThmMFBY?=
 =?utf-8?B?RXZwbkhSKzkzVnZ2dktqUmprQk9YK2MvemR5cVR0MXRUMTloSzd5TmZvV2da?=
 =?utf-8?B?aWRBWTJGK1B3UGFKSjVLT0xoU3p3TGx1V0wvR2F6NzBQRVJ6WllrQm44aEhz?=
 =?utf-8?B?amlnUmsvWFBpWHlLVG94WDhhSGFQTU1oa1QrZDRzZU95eExjc0F4TFgwUWpy?=
 =?utf-8?B?Sm5rVisvWDViR2orWjJEVzdkTVBVWklxbTAwdjdJaklDc0NsMEdaUTJ1aHlQ?=
 =?utf-8?B?N25GeXBJT2xZdjJyenNuZEh6U2phbjZKNHg3RUVKS24rbGxmWnhWc3pzUWNQ?=
 =?utf-8?B?Vkg1cElISG1HaGZRS0dLb04wMmJwb1poeThROGt5bWFiZFZvNHNJdE1HMkxF?=
 =?utf-8?B?bDlZc3d1Q3FDS3FXOHc4RXlVODBndjJOL01HQU0zVTZ6VGNXcnJ6Wko5aUZ5?=
 =?utf-8?B?c0QrYldveHZJS0RnRCt5QTloeU5pTENwQi9xaVVXUlZrZGJOejlaZythS003?=
 =?utf-8?B?bkR3R2tGOURJd2cveGl5ZzZOL2N6OEMwSWFRSDdIdGozaFgrV2hPVFN6TTFT?=
 =?utf-8?B?UU00emxTbzA1cjloV2o0ckhLckRhejhrQVFwaStGbGVtczZxMkFjNHdrT3pn?=
 =?utf-8?B?K0wrREJiamdiMG5MMU5YTmp5QlFoVHFQUUZWZEplaWF1MWxGT1BIbmdGeEFq?=
 =?utf-8?B?aGtYcVhJRmtIY1cyWEpBcXNIMlA2anJCV3l0YVJ5b3FtbTFLdEtxOUJnNnUw?=
 =?utf-8?B?Q1dIeDFOL2IwR1FueUx0Z2ZrTWZXSjRlclozM0lzeUx2VTZQZmg1VktnUjNJ?=
 =?utf-8?B?Z3pNUkEwTTFuRXpWZitlVmZvRXo4WU82MFhuNENnSEdEdjRtYW9YM0F4eGMv?=
 =?utf-8?B?blJ6d3VOeWRVT3h4SlBjSzJQcHR4UUFDdHU4RVZEcTRvOC9GNXY5bE5aM2F6?=
 =?utf-8?B?eThiQ0tNU1QwbUVaSFg5RHVMWWpYb2tUaFBKay81dWJTZUZOeFVTSTlnM1Jr?=
 =?utf-8?Q?yRpRmpxqwT9qTMZhGPrQ0USWUhtDCQcl?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <6FBCE39FD7F47049B5652553548B5DEE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9778
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C711.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8ea197da-9be8-4597-f4f7-08dd5b179613
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|14060799003|376014|35042699022|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Qy85RlpybnA2RVNmbkNlazRkSDZHMlU2dGJOQmxTQ0xlRmhhd0RSa0Q0TFVX?=
 =?utf-8?B?b3NVSjlhT2IydXVDajJpb1RmaC90akp5STJ6Z1dva1RnWE9iaWNyWTVrQnl3?=
 =?utf-8?B?RWVuajFHTkw1M0FHSHZzR0NGd2VkUlF2UkFCTjM2UnViMDJvejlvNUovMEx2?=
 =?utf-8?B?WlNSdEp1dEJjeU9qLzNtb0F1bFJ3cGVrY0ptakl4SnY1SzRrMVpSSjlBRmVY?=
 =?utf-8?B?QlBUeDhNa0FRU3NjS3dhLzVBZnd0RTc2MkNmMnFDWTJqVnFwNC9XbExYaWly?=
 =?utf-8?B?d2YzS0t0SFJZMytlNW5aL2FSbHdCK2NvTEUwdGp3bllBc2d4ZTBZM01hK2VN?=
 =?utf-8?B?NGx4cHAwQVRRNk1qSFJ5Z2h0Q0g3L2Nhd0NTZVMzcHhqS3drSE5FRTh3OXJU?=
 =?utf-8?B?WkhwVDdMMWRTVjluRmNUSTN2cWRBSUtIdTVBQmJXc09GWE14OGM5d3NhV2JV?=
 =?utf-8?B?YW03c05uMCt0amhCbXNZbmkxcmRKVnd1TWk3VXE3YXVkd01qVTI3dEttUUps?=
 =?utf-8?B?RVZ5WjJ2UnRtaW0vTkswYlZTdE1kY3dUa21vZlRLYlRiSFZsSzczckZaNFl6?=
 =?utf-8?B?QS9xbGI2MHZVMkpqTnRRT3psT1hHUmJXWG51OTczc1pTdVZrYjEyc21KdmJz?=
 =?utf-8?B?WUJFS1VxVXBaQTFEWVA4MVFwVUc5ZVgrcjVPRzlGaVNialdaSDRNWW55bHNv?=
 =?utf-8?B?ZHh4QWRjM2JuSGhqeThaN3F4dm80UUVxOURHWUJFTGR0NktscW9FZmxPWk5X?=
 =?utf-8?B?R1Jac1RCR3ZMWk9SZ2V3N0dGdzZqMjVLbEtReURzbG5jVjZxaGdYSjd2YVYx?=
 =?utf-8?B?ZVArNkMzOWRKSlNWR2lhTHpuQVpFR09yMGxHR2VNV2dsMGVHSGF2SFVmOVBO?=
 =?utf-8?B?eEhDTkUrdi9KVUtsZWdQRkRsaEtXTCtXUWVTVkxlNW82TGVlalEwR3VQdGNp?=
 =?utf-8?B?NUVpRUNjTVRESVJtdU9ZMnpaeE5rSEdvcVg4djJEUERVM2RjbFN1UTZ2MHZn?=
 =?utf-8?B?dlVFUElqMnE5bWk0ZWh2UW5oRml1V2c4RzZCblVrQVB6YnpHRmlSK2VFeHBz?=
 =?utf-8?B?ZGdsZHlWdjZCU2pSN2tDd0FXWmFyMGVlekRpeUUxQUNzbHB2MkVma2NLOTB6?=
 =?utf-8?B?eGNubkhaR045cTE3eFFsMlgzaGtPWEtINEpuVkhWMHF5RjIydllramFFeEdH?=
 =?utf-8?B?dU9sMjRKQ0dZN2F2RUFIalBqL0ZmNFdwWmVVRjFLMThMck9OMFgzUzJLRXdX?=
 =?utf-8?B?QTc3bVpFRCs0cGljN3Izb0FjRmxGS2tsNXpDRHcxaHdLMHl2Q0twemZRcVhk?=
 =?utf-8?B?aVlFWEhuUXdBeVZMRVAzWTU0UjV1QVNMbXFscS9sSmJWL1ZBUk56OUtTQ1V1?=
 =?utf-8?B?K0VxcU1EVkJLajJBUFRCVXFtWGFMUjNUT2ZncDZ0a29xSHhYR21DR3lQYjc0?=
 =?utf-8?B?anpHQmY4bVg3OTk0QVF5a2ZvbHdodzBnbXhCR0tYSVE5T0hkMmEyamJ0K2Z6?=
 =?utf-8?B?N3VGazVGVVRWOUU2ZWhKanZPaEZKVHRtVi9aME9SUWlscG40b1NYV2JPRXR3?=
 =?utf-8?B?TmcvalBUNyswMlpSKzdMMFh4K3ljZ1pWWlFLVExoVzJlNXRMQmVpSU1BL3FF?=
 =?utf-8?B?M2JQbXRlemxia1pJb1JwSGxnT002REl5U2xDMGdXVkFNckhZKzF4ZlY3VkxE?=
 =?utf-8?B?SHVseXNMVFpXZDBCa2ttbXBXYlRyTzlNVVdVK1E4YThyQjVLa0V4cDBIV0tn?=
 =?utf-8?B?SXNBcXdKL0NrMFFUOEtqUVYyb3lKWHduWlpXeXNyS3lkMFdnNzF4T0VuMkJV?=
 =?utf-8?B?SnRzRGw0RTV0SzJ4UHl3RHYxU0V1TTVqd2VrZXhTZ0NUMmJ5dm95Y0Q2WkNW?=
 =?utf-8?B?bVJIc2o0Y0pGazJ0S1hrQVoraU9ERmpUSi95bkl1VEQ2YWxiWEF4VVZ4YXRR?=
 =?utf-8?B?NGtEWkR4bFZ2NUV2K2dGVGNYMUFUdVNZOHgvZGNHNHl5cHRoaHVTcDRJQWx4?=
 =?utf-8?Q?ijxyTkZWZbIkqI4czXRsVYBbhHxhv4=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(14060799003)(376014)(35042699022)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 12:25:16.7016
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2790b99b-3357-48bd-7638-08dd5b179f12
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C711.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9220

DQoNCj4gT24gNCBNYXIgMjAyNSwgYXQgMTE6NDUsIEF5YW4gS3VtYXIgSGFsZGVyIDxheWFua3Vt
YUBhbWQuY29tPiB3cm90ZToNCj4gDQo+IEhpIEx1Y2EsDQo+IA0KPiBPbiAyOC8wMi8yMDI1IDE2
OjE4LCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gQ0FVVElPTjogVGhpcyBtZXNzYWdlIGhhcyBv
cmlnaW5hdGVkIGZyb20gYW4gRXh0ZXJuYWwgU291cmNlLiBQbGVhc2UgdXNlIHByb3BlciBqdWRn
bWVudCBhbmQgY2F1dGlvbiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtz
LCBvciByZXNwb25kaW5nIHRvIHRoaXMgZW1haWwuDQo+PiANCj4+IA0KPj4gUHJvdmlkZSBhIGZ1
bmN0aW9uIHRoYXQgY3JlYXRlcyBhIHByX3Qgb2JqZWN0IGZyb20gYSBtZW1vcnkNCj4+IHJhbmdl
IGFuZCBzb21lIGF0dHJpYnV0ZXMuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2Vs
bHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gIHhlbi9hcmNoL2FybS9pbmNs
dWRlL2FzbS9hcm02NC9tcHUuaCB8IDE1ICsrKysrKw0KPj4gIHhlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9tcHUvbW0uaCAgICB8ICAzICsrDQo+PiAgeGVuL2FyY2gvYXJtL21wdS9tbS5jICAgICAg
ICAgICAgICAgIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gIDMgZmlsZXMg
Y2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
YXJtL2luY2x1ZGUvYXNtL2FybTY0L21wdS5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Fy
bTY0L21wdS5oDQo+PiBpbmRleCAzYTA5MzM5ODE4YTAuLmRjZTc3ZGE2MDExMCAxMDA2NDQNCj4+
IC0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm02NC9tcHUuaA0KPj4gKysrIGIveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L21wdS5oDQo+PiBAQCAtMTcsNiArMTcsMjEgQEAN
Cj4+IA0KPj4gICNkZWZpbmUgTUFYX01QVV9SRUdJT05TICAgICAgICAgTlVNX01QVV9SRUdJT05T
X01BU0sNCj4+IA0KPj4gKy8qIEFjY2VzcyBwZXJtaXNzaW9uIGF0dHJpYnV0ZXMuICovDQo+PiAr
LyogUmVhZC9Xcml0ZSBhdCBFTDIsIE5vIEFjY2VzcyBhdCBFTDEvRUwwLiAqLw0KPj4gKyNkZWZp
bmUgQVBfUldfRUwyIDB4MA0KPiBUaGlzIGlzIGNvbW1vbiBhcyB3ZWxsIGJldHdlZW4gYXJtNjQg
YW5kIGFybTMyLg0KPj4gKw0KPj4gKy8qDQo+PiArICogRXhjdXRlIG5ldmVyLg0KPj4gKyAqIFN0
YWdlIDEgRUwyIHRyYW5zbGF0aW9uIHJlZ2ltZS4NCj4+ICsgKiBYTlsxXSBkZXRlcm1pbmVzIHdo
ZXRoZXIgZXhlY3V0aW9uIG9mIHRoZSBpbnN0cnVjdGlvbiBmZXRjaGVkIGZyb20gdGhlIE1QVQ0K
Pj4gKyAqIG1lbW9yeSByZWdpb24gaXMgcGVybWl0dGVkLg0KPj4gKyAqIFN0YWdlIDIgRUwxL0VM
MCB0cmFuc2xhdGlvbiByZWdpbWUuDQo+PiArICogWE5bMF0gZGV0ZXJtaW5lcyB3aGV0aGVyIGV4
ZWN1dGlvbiBvZiB0aGUgaW5zdHJ1Y3Rpb24gZmV0Y2hlZCBmcm9tIHRoZSBNUFUNCj4+ICsgKiBt
ZW1vcnkgcmVnaW9uIGlzIHBlcm1pdHRlZC4NCj4+ICsgKi8NCj4+ICsjZGVmaW5lIFhOX0VOQUJM
RUQgICAgIDB4Mg0KPiANCj4gVGhpcyBzZWVtcyBpbmNvcnJlY3QuDQo+IA0KPiBBcyBwZXIgQVJN
IERESSAwNjAwQS5kIElEMTIwODIxLCBHMS4zLjE5IFBSQkFSPG4+X0VMMiAoYXJtdjggUjY0IHN1
cHBsZW1lbnQpDQo+IA0KPiAwYjAwIEV4ZWN1dGlvbiBvZiBpbnN0cnVjdGlvbnMgZmV0Y2hlZCBm
cm9tIHRoZSByZWdpb24gaXMgcGVybWl0dGVkLg0KPiANCj4gMGIwMSBFeGVjdXRpb24gb2YgaW5z
dHJ1Y3Rpb25zIGZldGNoZWQgZnJvbSB0aGUgcmVnaW9uIGlzIG5vdCBwZXJtaXR0ZWQuDQo+IA0K
PiBUaGlzIGhvbGRzIHRydWUgZm9yIDMyLWJpdCBhcyB3ZWxsIChleGNlcHQgZm9yIHRoZSBmYWN0
IHRoYXQgWE4gaXMgZGVub3RlZCBieSAxLWJpdCkuDQo+IA0KPiBTbyB0aGUgY29ycmVjdCBkZWZp
bml0aW9uIGlzDQo+IA0KPiAjZGVmaW5lIFhOX0VOQUJMRUQgICAgIDB4MA0KPiANCj4gQW5kIHRo
aXMgaXMgY29tbW9uIGJldHdlZW4gYXJtMzIvNjQgLCB0aHVzIGl0IGNhbiBiZSBtb3ZlZCB0byBj
b21tb24gZmlsZSBhcyB3ZWxsLg0KDQpPayBtYXliZSBteSB1bmRlcnN0YW5kaW5nIGlzIHdyb25n
LCBidXQgZnJvbSB0aGUgc3BlY2lmaWNhdGlvbnM6DQoNClhOLCBiaXRzIFsxOjBdDQoNCkV4ZWN1
dGUgTmV2ZXIuIEZvcg0K4oCiIFN0YWdlIDEgRUwyIHRyYW5zbGF0aW9uIHJlZ2ltZSBhbmQNCuKA
oiBTdGFnZSAyIEVMMSYwIHRyYW5zbGF0aW9uIHJlZ2ltZSB3aGVuIEZFQVRfWE5YIGlzIG5vdCBp
bXBsZW1lbnRlZA0KDQpYTlsxXSBkZXRlcm1pbmVzIHdoZXRoZXIgZXhlY3V0aW9uIG9mIHRoZSBp
bnN0cnVjdGlvbnMgZmV0Y2hlZCBmcm9tIHRoZSBNUFUgbWVtb3J5IHJlZ2lvbiBpcw0KcGVybWl0
dGVkLiBJbiB0aGlzIGNhc2UsIFhOWzBdIGlzIFJFUzANCg0KRm9yIHN0YWdlIDIgRUwxJjAgdHJh
bnNsYXRpb24gcmVnaW1lIHdoZW4gRkVBVF9YTlggaXMgaW1wbGVtZW50ZWQsIHRoZSBiZWhhdmlv
ciBvZiBYTlsxOjBdDQppcyBzYW1lIGFzIHRoYXQgZGVmaW5lZCBieSBWTVNBdjgtNjQgZm9yIEVM
MSYwIHN0YWdlIDIgdHJhbnNsYXRpb24gdGFibGUgWE5bMTowXSxiaXRzWzU0OjUzXQ0KZmllbGQg
aW4gQXJtdjgtQSBhcmNoaXRlY3R1cmUuDQowYjAwIEV4ZWN1dGlvbiBvZiBpbnN0cnVjdGlvbnMg
ZmV0Y2hlZCBmcm9tIHRoZSByZWdpb24gaXMgcGVybWl0dGVkLg0KMGIwMSBFeGVjdXRpb24gb2Yg
aW5zdHJ1Y3Rpb25zIGZldGNoZWQgZnJvbSB0aGUgcmVnaW9uIGlzIG5vdCBwZXJtaXR0ZWQuDQpU
aGUgcmVzZXQgYmVoYXZpb3Igb2YgdGhpcyBmaWVsZCBpczoNCuKAoiBPbiBhIFdhcm0gcmVzZXQs
IHRoaXMgZmllbGQgcmVzZXRzIHRvIGFuIGFyY2hpdGVjdHVyYWxseSBVTktOT1dOIHZhbHVlLg0K
DQpTbyBteSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgU3RhZ2UgMSBFTDIgcmVnaW1lIFhOPTEgbWVh
bnMgZXhlY3V0aW9uIG9mIGluc3RydWN0aW9ucyBmZXRjaGVkDQpmcm9tIHRoZSByZWdpb24gaXMg
bm90IHBlcm1pdHRlZCwgYW5kIHdoZW4gdGhhdCBiaXQgaXMgMSwgdGhlIFhOWzBdIGlzIFJFUzAN
Cg0KQ2hlZXJzLA0KTHVjYQ==


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:30:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901061.1309034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpRPV-0002cN-43; Tue, 04 Mar 2025 12:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901061.1309034; Tue, 04 Mar 2025 12:30: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 1tpRPV-0002cG-1Y; Tue, 04 Mar 2025 12:30:09 +0000
Received: by outflank-mailman (input) for mailman id 901061;
 Tue, 04 Mar 2025 12:30: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=kFsD=VX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpRPU-0002cA-4a
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:30:08 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 675b40af-f8f4-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 13:30:07 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-2232aead377so107304015ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 04:30:07 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7362a6d925bsm8108058b3a.66.2025.03.04.04.30.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 04:30:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 675b40af-f8f4-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741091405; x=1741696205; darn=lists.xenproject.org;
        h=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=DAJxgNXKQm8Wo1UpsoHqjGMjZarCYlyUHrAJ6wp430Q=;
        b=h0S1hUBA13jZzf6jcfk0VA+WktU0t5f87wlEm48VRmW8iNTrFxooZ0A2Zr3UUJndWB
         1P+Kj3JHdXMWRX1MKBRRU1TF2TNwRZS1hvgKrRgEJYJk/IyfDbVbSFfphM5ffZwYyI3E
         v5lWkSBD23gQkaZFoqnZXvs3s/bVrepvTb8TY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741091405; x=1741696205;
        h=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=DAJxgNXKQm8Wo1UpsoHqjGMjZarCYlyUHrAJ6wp430Q=;
        b=GqiKu2DZj7+epdPunaZcEqdMvkzZeWwefPV6easw2IOWCVs/sUCi08Aagt3R9sPiBK
         GbKdCKf72zQ4I3u60ke2q33Zz8w31KfgpdNbN5S/lbJkNVKJuu+uqFsJOgl9ESw7LUvs
         gKIf6brVCD5fqL4XSx9g8yeaYptevM6ecesw1aM28bQse6tV3wpil2mJ0YYroOYzpJBM
         IFkA56Px+Fo9MyQyhJJjpKOPuoS9u8jtTmjdriNPC88HVi5qmHafJMJ8XtId5Ah6Kdln
         E7bUG2tuH2VzjN2P7lOK7qZiVGCGoxcSMZX1eQxfoyJrlnRdUuy0f8mWIGseJiMo9o5x
         cabA==
X-Forwarded-Encrypted: i=1; AJvYcCXIyorFxtJ6VtB8FWQMn31T8Ifv9MtY5jpiPNsBVjfVpBD/DpdXIr6ZA9b5rTE83FT8xw+e0anNPNo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcYDLHjaQ7mKwKk04TKzP7JJhaVIm4Us9P+DKvsUJZ2mcKNSNE
	bwS4SWyoO68/QakeuESPct7kZqLf6hrOpQVmG969i59JhTnDymhzXFlqu92E/wk=
X-Gm-Gg: ASbGncugVknLLyG5OWiGJTcGC9ixdRPJawc4sUATRhbG2yCTHYD/gECqeC6IhjDEtg+
	a2n/qNcOL3Id6WnbbhDSVSY6PuF5IUNfMWTgU+lp3o10M6yOjGEj20So7dYix2DqlXO0zlV2b49
	BWctzpWQmFGEircIi5mLjnNWDka5Rrmt+oqQd62AH1cyXq6XkimDrCmGu7w7lFSrrVennbJOxEg
	yzSTBqW8mncEbHpV8/NilOUCs/tbvJ+XLaZwpvRlnF9e7yRk/80xN79JiPj1sxbMZrCnhOSaoeD
	GDfZO7VHdyMuDCBzubuPGFZhLxDwl9ezBiEPxxuSFPjaUYeOUj8ud4o=
X-Google-Smtp-Source: AGHT+IEjqnWP3dEIfi5/sJb9/cKB1U8hthScnrFuLGlK0RDKVaM/D4vKB4EGDB7aUOejX3MBvOo2Zw==
X-Received: by 2002:a05:6a00:2e92:b0:736:692e:129 with SMTP id d2e1a72fcca58-736692e0243mr7650315b3a.24.1741091405277;
        Tue, 04 Mar 2025 04:30:05 -0800 (PST)
Date: Tue, 4 Mar 2025 13:29:59 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] docs: Add some details on XenServer PCI devices
Message-ID: <Z8byRwON4Oc23dxS@macbook.local>
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
 <D87ENZNEBN2Z.1E8WKX6K8EUE1@cloud.com>
 <Z8bfMmM5CJ5PQdhm@macbook.local>
 <CACHz=ZgmBxNKjA7KFktk-5jcPvWDn6DWpwCUEFzGO9qyJYuZsA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CACHz=ZgmBxNKjA7KFktk-5jcPvWDn6DWpwCUEFzGO9qyJYuZsA@mail.gmail.com>

On Tue, Mar 04, 2025 at 11:17:42AM +0000, Frediano Ziglio wrote:
> On Tue, Mar 4, 2025 at 11:08âŻAM Roger Pau MonnĂŠ <roger.pau@citrix.com> wrote:
> >
> > On Tue, Mar 04, 2025 at 10:21:52AM +0000, Alejandro Vallejo wrote:
> > > Hi,
> > >
> > > On Fri Feb 28, 2025 at 3:21 PM GMT, Frediano Ziglio wrote:
> > > > Describe the usage of devices 5853:0002 and 5853:C000.
> > > >
> > > > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > > > ---
> > > >  docs/man/xen-pci-device-reservations.7.pod | 9 +++++++++
> > > >  1 file changed, 9 insertions(+)
> > > >
> > > > diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/man/xen-pci-device-reservations.7.pod
> > > > index 9ddf3a18ad..62f3bd2105 100644
> > > > --- a/docs/man/xen-pci-device-reservations.7.pod
> > > > +++ b/docs/man/xen-pci-device-reservations.7.pod
> > > > @@ -10,6 +10,8 @@ use of this is with device ID 0x0001 to advertise the Xen Platform PCI
> > > >  device - the presence of this virtual device enables a guest Operating
> > > >  System (subject to the availability of suitable drivers) to make use of
> > > >  paravirtualisation features such as disk and network devices etc.
> > > > +XenServer, for Windows machines, presents Xen Platform device with device
> > > > +ID 0x0002 instead of 0x0001.
> > >
> > > nit: in the interest of future-proofing the doc 's/presents/may present/'?
> > >
> > > >
> > > >  Some Xen vendors wish to provide alternative and/or additional guest drivers
> > > >  that can bind to virtual devices[1]. This may be done using the Xen PCI
> > > > @@ -86,4 +88,11 @@ and unplug protocol.
> > > >  libxl provides support for creation of a single additional xen-pvdevice.
> > > >  See the vendor_device parameter in xl.cfg(5).
> > > >
> > > > +=item 2.
> > > > +
> > > > +XenServer, for Windows machines, presents a device with ID 0xC000.
> > > > +This device is a placeholders for Windows update.
> > > > +Device 0xC000 is presented with a Xen Platform PCI device, usually with ID
> > > > +0x0002.
> > > > +
> > > >  =back
> > >
> > > Wouldn't this be better covered under "=item 1"? Device 0xc000 is a
> > > xen-pvdevice, so it could be simplified to a single line of "XenServer uses
> > > device-id=0xc000 for its pvdevice on Windows guests", or something like that.
> >
> > I think it's important to note that c000 always appears in conjunction
> > with 0001 or 0002, and it's not a replacement for either of those
> > devices.
> >
> 
> Do you have something more precise in mind? Can you suggest what to write?

I'm fine with your proposed text, my reply was to Alejandro to note
that I think his proposed text was missing information that was on
your original proposal.

"XenServer might present a device with ID 0xC000.  Such device is a
placeholder for Windows update usage and is always exposed in
conjunction with a Xen Platform PCI device, usually with ID 0x0002."

I don't care much whether this is on a separate item or not.  My
preference would be for adding a second item, as to prevent cluttering
the first one.

I've also looked at xl.cfg, and it mentions:

vendor_device="VENDOR_DEVICE"

Selects which variant of the QEMU xen-pvdevice should be used for this
guest. Valid values are:

  none The xen-pvdevice should be omitted. This is the default.

  xenserver The xenserver variant of the xen-pvdevice (device-id=C000)
  will be specified, enabling the use of XenServer PV drivers in the
  guest.

Isn't this wrong, as selecting `xenserver` should instead use
device-id=0002 but not C000?  Maybe I'm not understanding how this is
supported to work.

> > Likewise it's important to note that 0001 and 0002 are to my
> > understanding mutually exclusive, and only one of those must be
> > exposed.
> 
> Not exactly sure if this is a must or a should. From my testing,
> presenting 2 devices (well, they are mostly the same) works. But, as
> they do the same things it seems reasonable to avoid the duplication.
> It looks like a good recommendation.

I was expecting it to not work, as I imagined Linux would then attempt
to initialize the grant tables twice for example.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:35:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901074.1309045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpRUI-0003G7-NE; Tue, 04 Mar 2025 12:35:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901074.1309045; Tue, 04 Mar 2025 12:35: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 1tpRUI-0003G0-JP; Tue, 04 Mar 2025 12:35:06 +0000
Received: by outflank-mailman (input) for mailman id 901074;
 Tue, 04 Mar 2025 12:35: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=i2zF=VX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpRUH-0003Fu-A3
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:35:05 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2062f.outbound.protection.outlook.com
 [2a01:111:f403:260c::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18f1331b-f8f5-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 13:35:04 +0100 (CET)
Received: from DUZPR01CA0138.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4bc::14) by PA4PR08MB5917.eurprd08.prod.outlook.com
 (2603:10a6:102:f1::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar
 2025 12:35:00 +0000
Received: from DB5PEPF00014B88.eurprd02.prod.outlook.com
 (2603:10a6:10:4bc:cafe::88) by DUZPR01CA0138.outlook.office365.com
 (2603:10a6:10:4bc::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Tue,
 4 Mar 2025 12:35:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B88.mail.protection.outlook.com (10.167.8.196) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 4 Mar 2025 12:34:59 +0000
Received: ("Tessian outbound c3a902884497:v585");
 Tue, 04 Mar 2025 12:34:59 +0000
Received: from L120940c9ce24.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3D99C0E0-6828-44E8-9AB9-BF52CC7A99E2.1; 
 Tue, 04 Mar 2025 12:34:47 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L120940c9ce24.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 04 Mar 2025 12:34:47 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by AM9PR08MB6674.eurprd08.prod.outlook.com (2603:10a6:20b:302::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Tue, 4 Mar
 2025 12:34:46 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Tue, 4 Mar 2025
 12:34: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: 18f1331b-f8f5-11ef-9ab4-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=DSoLizXazBM7Si5ol2ork/YWA/LhtTieEPSeOVcKmRwmSi8yIDyezswHbtcZcaD6a94VjY1nziSaskF3/OM+5fh7ncEs8wHFG5xMAYqlDgmxb2MSW2PoNi0mVatVnFaY0SoPtTe6Xa7xd1DCHQ72o/f2zpWtw3dmeRV6exTApya446k6FZxpecjIMdt6d8FmuwDfGz8amYUcjDrw4/y4Kc2/zWrs+KB3aE7cMIG0EOJHr2u/azST2cS3dvvgDu3Swl4TTfba0SeN0BSQt/JQyUm7n1GBPeAodvmF9tghBsynapZUgU8HWRnVfzk46FqxJ1hXtm8AszeDND1/tN6qPQ==
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=renp6NUFPwLDQcAZam3SHySFZV7cJ0HGwG3/Ce30Vvo=;
 b=lyPe6OStATLPuKe6te26/wWziwBrEO2esTKQk2Uipej+//YbYJ2b8sxpnB2d2vnfGqTjzW/PzOGzYf9SCb6BhZC7cfla2xIzoImcJ/ChESOUEVCW7Wch81zZx5r7ASPmVEnBXSiwILYlav1LnazSxa/x4T9WRtoOV3oI8L74M/A1WWEPSavmuqdd4RhQKi9b9kYSUd0XBzNgMVVe63RP46EmH6uaebP6s69B7JilSptenzO7L5VK98J0Ha8NFtsobdVaPb5JLMDBcyJki1T5covHWaw5F6vgGNw24h/MMoGF6LdJknO+gDM5CfgkNUk8Y3XXDbXgvsXBvTfdlWQVog==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=renp6NUFPwLDQcAZam3SHySFZV7cJ0HGwG3/Ce30Vvo=;
 b=SladmEgqW/EO2gotxaar+kNsuGjXMzLcXx6R/vbx8FbV5HqwrmPx42pbsdI2OfwJj58ieI8x72mN3KWNdwXD0pgmb9QH6m7zrC1GkNfhbBLX4S+umNQwH2ajO+lXA3iXK5JSUb8W+nQbxsj0X/WpGqs/8Blwe4uRSbugsZRBKXY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 61a0da63a8b6dc34
X-TessianGatewayMetadata: z0Cv8v1PsNsmT0l4VIvP5w0fm4QsffDAO7JVammxcAJVriUxaF2A9r5Vhk+BnAX3KRkasrNmbESBIVrbtaBMyV6gTQXOmINkVrlDg1fCJ3uxW8Nqgo9Bb3bx/dZVMT2bs0n6QifWrGara44789go+hhsSDDfGgCzpbD/iWxV9tU=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=K9w/fTRQxXBEw+kxEYQfcDYytT7/+L6mxZBq8zdhIKsJPB1pdeaZl56uoqKe1JitdwecGPnkw2xxhqnbi6OdeABmPDYemnxMZsgP0+gkf9Df6rJ4AUICkD2Wn3o5gbrlVieygtxqnXeA7TjD+FAsZ6unK+pdqb4TyJG7qpHdNLWDdRp0z6XqBKUNmOz3gP06rlPOxyYvVpKJJOaQF9zNL2RsJgRfFsQXS0A1pgX7ug4CRqGRhtflr4kceKhzVxEFn1QAOEI+F3fMIN+tugD7wdnp3fSx0Z1ucR3kwlT0DUUNpwKeHRHDRm0OHB6rXndDrZvTCOgI6fo4h2icvnRYFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=renp6NUFPwLDQcAZam3SHySFZV7cJ0HGwG3/Ce30Vvo=;
 b=qb+ZkGD6MzwqOyQ4+eN7AZ0IH3EsYiEsnYg2Js7LXxMuVaUI6H2H4wfTUuUZK4fpnaKTQeImklrZfF4ea0KJ00HHAduD0smxMSRsLiIXhFqPCGjawNcvCMTeN3xR0byTFXF8B5Cgg33mMCJsFURi3rwq9YVeDjp+Mkvk0PgG7lANc3p8KfI5Da4yu6hBFX2+dRq8d/2uKeCSo8UVPhspaJyRM6pr1tWCt/kDqDFEYcYe8Dqnz3caEXDFtJ6GweoRPAEaspJIAC1yWqKRCkZoHbkwnFAXY+75MlonJ9kb0BY8y9NRb9xMyIskl/+lUhhLPfehjZhKl0AvzrBhT3Tv/A==
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=renp6NUFPwLDQcAZam3SHySFZV7cJ0HGwG3/Ce30Vvo=;
 b=SladmEgqW/EO2gotxaar+kNsuGjXMzLcXx6R/vbx8FbV5HqwrmPx42pbsdI2OfwJj58ieI8x72mN3KWNdwXD0pgmb9QH6m7zrC1GkNfhbBLX4S+umNQwH2ajO+lXA3iXK5JSUb8W+nQbxsj0X/WpGqs/8Blwe4uRSbugsZRBKXY=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.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>
Subject: Re: [PATCH 7/9] arm/mpu: Introduce MPU memory mapping flags
Thread-Topic: [PATCH 7/9] arm/mpu: Introduce MPU memory mapping flags
Thread-Index: AQHbifxxstWZu1+izkm98KZaptgcyrNi5MCAgAAKwYA=
Date: Tue, 4 Mar 2025 12:34:46 +0000
Message-ID: <A5C7FC4C-370D-4B95-99EA-92D45071C65C@arm.com>
References: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-8-luca.fancellu@arm.com>
 <5c564bd2-dc19-4f3b-b4da-751a50a3ea14@amd.com>
In-Reply-To: <5c564bd2-dc19-4f3b-b4da-751a50a3ea14@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|AM9PR08MB6674:EE_|DB5PEPF00014B88:EE_|PA4PR08MB5917:EE_
X-MS-Office365-Filtering-Correlation-Id: ee3a182b-194f-4777-4ee2-08dd5b18fa4b
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|376014|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?K1BVd2M2THcwMk14VCtaY2lESGN3dEQyUkZ0YWM5T1JlZVk0NWU3dk5ETE84?=
 =?utf-8?B?RFl3Q2h2eTRrZ0ZLZnIzQk5TRDM2QWhiTUdieTNSdHpFOUVGNy9zTzMxejhq?=
 =?utf-8?B?SnIyWHpCQ1BIU2hyS2s2MkVZZms0UEdPZ0lsV0NPaTZGYWdxb0VYd0pMamJq?=
 =?utf-8?B?aThSYXBWbXlFWUFERmlnaWRRUXJ1TExSMzBGMVNMdldGOGpJOEhaMkNreTJH?=
 =?utf-8?B?RmRnQnZWcDMzY012cWdoRCtvSHprYVd2R0gzRisvV3hSa1g4eTFFcEltazBR?=
 =?utf-8?B?WWlTK1lGNW9yT2RXZ2F1N24yUlQ1czE3Qms1b2xJSExJSUNXOTNFTTc4Mlc3?=
 =?utf-8?B?OG55TGkrbTZXVGJoVzNEUzk3OGwyay9nbENFM1g0SkRUNlB5MENnRFBKV3lo?=
 =?utf-8?B?WDF3TnlrQXpOelhNWlpmTjRNaWh0bVJ0TEtMSWltZkk4UEZVcTZGRWNmMWYw?=
 =?utf-8?B?WkozNnFGanNCZnNFOFc1dmpwRFY1dkxXdXhJa3BFbXBwKzkrdEp5cFVnQWVZ?=
 =?utf-8?B?VkcwQmFQejFmZFJVMGJZT1VFVXdiOGNQdUZGaXU1VjBTTUhFTGhZOEVScHF4?=
 =?utf-8?B?UzVUSFM0UHQwdjBUT0hsbWhNWGVKNk1CNHNDdkh4dXFTZk1XbDc5TDM4SFF5?=
 =?utf-8?B?Tk1wczVVRlBEVWNnQkxsTTdyREhTOVhpNDFwU3ZhbHFITG9OeS9VZzlpY0NN?=
 =?utf-8?B?Mis4RUk4ZGhaclFQdGU1ZlpSWUpVaFI4cjQzNndGRVc1eGRMNFFPbGtvWVVH?=
 =?utf-8?B?b1A4QnNpQktQVmc1aVVDS0JWQ2FIeU1JeWh5T1Z3M1ZNaXlRMEtSakVwYkJG?=
 =?utf-8?B?Wkg2bzl5M3czcHFRODJWT1JhUGRWeGJiSGI3ZGplclFCdXdGNjZrMXhDYW56?=
 =?utf-8?B?aXdaalV2RUgyalNBOWpzVWZFNVpwNEt0WXBsOGhDVGVxNk4ra1NBODhEcEZF?=
 =?utf-8?B?dmt3dGMzWVhNc0ZtYkVvNTV1T3FYbkdaaXBrcFJiZWZIUDh6RXBWVjI4S3ov?=
 =?utf-8?B?UjNhazFXa29Wbm9NS3lOZCtwczltSW1BYUppenplUnJrODRuQjZKeU1yUE00?=
 =?utf-8?B?a3daWCsrTUo1QVhxOWFYNG40T3NFN3ZUMTkybmJuWmxoVXg3cHkxK2l0WDI3?=
 =?utf-8?B?SXFmSVpKVGdjMXFJUWlvVnhsRGRDbXNPT2FnTUpWT1BHbDNOb3piR1JkL25P?=
 =?utf-8?B?M1Z0Z2g2YUIwdXplYlUxM1d5aEFwY2VEQzN1RndBV0YxSmtKaVNsTk42K2VL?=
 =?utf-8?B?UFdFTUkzY09iUkc0MXV3bnpLR1hQb1h0Q1ZDYzBVRStHdmVTeERHZUlqb3ZJ?=
 =?utf-8?B?cHdCR1hjTUo0VU5LNUh6VStiU2JYZ2tPRmxTZVJMalBlT3gzdnpXVDlLdWFY?=
 =?utf-8?B?YlRhM1EyQnE5S0lEejlDb053a3M3NitjTjNySm80ZERHeUZaT3FiL214WGlN?=
 =?utf-8?B?cjRQSzNMQWRyNVNoSHl1WTBJb3huRjZzblF1b3gzLzhnbElLaXpaY3FmTWU0?=
 =?utf-8?B?K1NBWnZtMG0wR2h3NXhQK0JyeGkvU3JtTHMvcnptaGlIdmpQNTVoS1lVTUt1?=
 =?utf-8?B?WmJWNFBNUWNSZG0ySWFVM0tXRHF4VHEyNzl4dmdUSTlyVG9kWVNEck5TL2Rm?=
 =?utf-8?B?amxhZHM0NndFVEZOcEpIL1psc1ZjVVMvOStDWE5MY3pPNnEzT2UyUVVOK0Vu?=
 =?utf-8?B?T05ja0hZTlNiTTFlRHE0dktyQVpJWkZqZFIyaDFWeGlnZS84K05KcWV1VTd3?=
 =?utf-8?B?QS93Q1dvR3JMamNhaTc2WlZkandSengwa1hzazhRdGFFMFpqMW9wRXQ4bXEz?=
 =?utf-8?B?djA3bHJWRDNSYVpkbEVVR2VlWklDZ0d0M3M3THl5dGZtR2l3VmFRUHVUb2Nq?=
 =?utf-8?B?RHZuTVJSc21IZ0FMc1p0MGhKYUFBYk1CYitydm5tdGlKTEVqYjdycGxXVGNS?=
 =?utf-8?Q?3wr94Chpjz5uv2SzKyJiPBmurbBxrFVc?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <4F7339C3BE8BEE4084E558156931A832@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6674
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B88.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ba3e93bb-9897-4a43-4d49-08dd5b18f27c
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|1800799024|35042699022|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eDhrQjd4ditTWjVWYXdacGowMThYRTkvdjErRlU3d1JnanNEbnkyNXkxSEkw?=
 =?utf-8?B?SElrd2N3VkRWa1dURWF2RHBQWC9UbWgzUFZwQXRhSllTTjJqZmxJSjBDYmlX?=
 =?utf-8?B?T0NmNXdQTDFDdzlobEgxLzhJbW50TXhQQWV4eGZubU9iZlM5NlBtRFZzb09q?=
 =?utf-8?B?c0ZZWG5UdWc1c2UyQUVwMW5oeHJLUFIvRWhMQTYrcGg1eXhoMVIvOExyRDZ2?=
 =?utf-8?B?R1ZPM0VVSUEvdkdhK2YwcjJIV1V3d21aYnJHMXJvc3diTnMrRlV5cDlnYlMr?=
 =?utf-8?B?THRLa0JTSnRNOGszbldzV3ZrQzgrWk8zSENwcFo5OFJVd2J1eDlZWHhJdm9N?=
 =?utf-8?B?MHlPeFN3cU01dHQ0clVrZElKK2ExQlF0TGpZVzNTTFNleFdEc3l3V1RTUEhJ?=
 =?utf-8?B?Nk1ybjg4VFZmcXFYWEdhL1E3K2ZncGVMVmJxTklsTHlyVHJrdmVSenYyUEo5?=
 =?utf-8?B?VDdHVnY3WmtMVVJLUHhvTjdQU1ZtTzdBQ2lQU2JtTk9lQkttYkpSMU5raGpq?=
 =?utf-8?B?TTd5OXQya3RjN2FqeFBRdnRNSlR0NVR2K0FaVzhDZk1Ga1IzYlRpTzRJNHVm?=
 =?utf-8?B?QjZPeDdEWHAwYy9nVDg3eGxCamxwTFduQmFxTmRFNklnVE16TDh1cDNuK1V6?=
 =?utf-8?B?TmZpTzJ5YzhQQ1RyeUUranJyKys2VXMvVlBTRy9VRmt5TWlGaFMxTFl2R3hN?=
 =?utf-8?B?VVVZaHhuT1hMN3E2WDJ6VDFpU09tNGU2QWxEVnVUaVp5RUx5VnFKaUZHMWtp?=
 =?utf-8?B?c2ZTYmFQeW9qOXE0UkZJcTlXd0cxaGdkRHFRSGRFZDNtUU1kUUdZbVJGZGlK?=
 =?utf-8?B?R2VyemY0Nktaa1ZkWm54R2E4dWp3eDJQd0RBVjk1cTZkYlNGWUpodXdBMCtL?=
 =?utf-8?B?VTB5SkdoWTQ3MWt1QnlscFZwb0s5RzNHbll4aEdHSTlFNWtLZVJHSzJzaHVm?=
 =?utf-8?B?SVNOR05IaEEvZEZvbFRFdGZEZmZCdzhaNzhhVVQyZk5Mc3ZiTiszTUtjRHdn?=
 =?utf-8?B?aE9hZTJhbUlyTnBLSTF3N2E4S2tVVlZEcFhGSG9uS3FvNXZ0cUxXemRXMzgx?=
 =?utf-8?B?enVsZG91OTlFV2VMM0RmQlk2dittNXo1Y1ZDakRjUTgxMU14bU14TUJTdlY3?=
 =?utf-8?B?dlZiZ1BDUC9UdGp0VXVYQ1lTY0hOWTllRDgrZ2g1Mm1KVHIxV3lWWWpwNXMr?=
 =?utf-8?B?bGJHU1VjcGJnN0Q4UW5UZW5HaDY4TGtoVWNSaG8zdytmZU1FQXQvTVdYNENs?=
 =?utf-8?B?NUE5T0h4R3dGaDlRclVlRmI4UW93ZHM5VHE1R1M2VUkwNWNuZnMxRE5Mbzda?=
 =?utf-8?B?VzgyY0dEQlNjc0hzWXhGVUNKcy9sVTBZK0hGRzl6ZVJGaWFvWVBROUg1WDhk?=
 =?utf-8?B?NkxJUnB2WWp1ZkJxZ2RlcHlhb3RYcU5MbjMyYXpSc3g1ZHJXd0J1NGovWENh?=
 =?utf-8?B?UG96MThBMVhFZmRRNGQ0ZFBNTE1CR3E4MlpXSmxPM2trZ0dxUVpTWS84dTZv?=
 =?utf-8?B?QTY5UGQvb1RiSkJTV1kwZ1hmeGw1RkUwU2NtOVZORnN4bVJPaWdwR25va1c2?=
 =?utf-8?B?Y0p3Qm5Vc0RtczczNjNjTlh4MXltSjNqNHhXaCthbjFqRGJJQncvRDF4cjNy?=
 =?utf-8?B?Slh5U011dWQ1QWhKempGRjZCbHE2U0FPZWlPSlpGSnVTeGZYUTZmSFF0a1R3?=
 =?utf-8?B?UWQybHNkZ0diQ1VUemlFT1FKUTF0bU8yblQ1blhmMDdNV0FkdWJTRVdueW9w?=
 =?utf-8?B?V2VDQjdscTErcHpWMkJwdnd1VzZZcnFDQTVXOVpHNlpPS3pKd2FEUjJOM01p?=
 =?utf-8?B?V1k5NTJTZHpaWHFJRm95T1R2aFZYM0ZzRTlFOEJyc0wxMUJLci9SYzZFZ09G?=
 =?utf-8?B?YkFoeHdLeFhUb3QvcjhkQlAxNGdFMk1rTmV1SUQ4TDRnR24zbUVWaFpBVFls?=
 =?utf-8?B?UFZIVTExS0NVRTIrQ2EyMkh6Y2kyZGJlVkJjazZOaVhxWE1adWtnN0MzZkt2?=
 =?utf-8?Q?2qfcNfKRw7fHDH1uRDnsAW28Q8rIiY=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(1800799024)(35042699022)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 12:34:59.2904
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ee3a182b-194f-4777-4ee2-08dd5b18fa4b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5PEPF00014B88.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5917

SGkgQXlhbiwNCg0KDQo+IE9uIDQgTWFyIDIwMjUsIGF0IDExOjU1LCBBeWFuIEt1bWFyIEhhbGRl
ciA8YXlhbmt1bWFAYW1kLmNvbT4gd3JvdGU6DQo+IA0KPiBIaSBMdWNhLA0KPiANCj4gT24gMjgv
MDIvMjAyNSAxNjoxOCwgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+IENBVVRJT046IFRoaXMgbWVz
c2FnZSBoYXMgb3JpZ2luYXRlZCBmcm9tIGFuIEV4dGVybmFsIFNvdXJjZS4gUGxlYXNlIHVzZSBw
cm9wZXIganVkZ21lbnQgYW5kIGNhdXRpb24gd2hlbiBvcGVuaW5nIGF0dGFjaG1lbnRzLCBjbGlj
a2luZyBsaW5rcywgb3IgcmVzcG9uZGluZyB0byB0aGlzIGVtYWlsLg0KPj4gDQo+PiANCj4+IElu
dHJvZHVjZSB0aGUgTVBVIG1lbW9yeSBtYXBwaW5nIGZsYWdzIGluIGFzbS9wYWdlLmguDQo+PiAN
Cj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4N
Cj4+IC0tLQ0KPj4gIHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wYWdlLmggfCAyNSArKysrKysr
KysrKysrKysrKysrKysrKysrDQo+PiAgMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKykN
Cj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wYWdlLmggYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcGFnZS5oDQo+PiBpbmRleCA2OWY4MTdkMWU2OGEuLjIy
ZjdkMmM2Y2IzMCAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wYWdl
LmgNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wYWdlLmgNCj4+IEBAIC02Miw2
ICs2Miw3IEBADQo+PiANCj4+ICAjZGVmaW5lIE1BSVJWQUwgKE1BSVIxVkFMIDw8IDMyIHwgTUFJ
UjBWQUwpDQo+PiANCj4+ICsjaWZkZWYgQ09ORklHX01NVQ0KPj4gIC8qDQo+PiAgICogTGF5b3V0
IG9mIHRoZSBmbGFncyB1c2VkIGZvciB1cGRhdGluZyB0aGUgaHlwZXJ2aXNvciBwYWdlIHRhYmxl
cw0KPj4gICAqDQo+PiBAQCAtOTAsNiArOTEsMzAgQEANCj4+ICAjZGVmaW5lIF9QQUdFX0NPTlRJ
R19CSVQgICAgOA0KPj4gICNkZWZpbmUgX1BBR0VfQ09OVElHICAgICAgICAoMVUgPDwgX1BBR0Vf
Q09OVElHX0JJVCkNCj4+IA0KPj4gKyNlbHNlIC8qICFDT05GSUdfTU1VICovDQo+PiArDQo+PiAr
LyoNCj4+ICsgKiBMYXlvdXQgb2YgdGhlIGZsYWdzIHVzZWQgZm9yIHVwZGF0aW5nIE1QVSBtZW1v
cnkgcmVnaW9uIGF0dHJpYnV0ZXMNCj4+ICsgKiBbMDoyXSBNZW1vcnkgYXR0cmlidXRlIEluZGV4
DQo+PiArICogWzM6NF0gRXhlY3V0ZSBOZXZlcg0KPj4gKyAqIFs1OjZdIEFjY2VzcyBQZXJtaXNz
aW9uDQo+PiArICogWzddICAgUmVnaW9uIFByZXNlbnQNCj4+ICsgKi8NCj4+ICsjZGVmaW5lIF9Q
QUdFX0FJX0JJVCAgICAgICAgICAgIDANCj4+ICsjZGVmaW5lIF9QQUdFX1hOX0JJVCAgICAgICAg
ICAgIDMNCj4+ICsjZGVmaW5lIF9QQUdFX0FQX0JJVCAgICAgICAgICAgIDUNCj4+ICsjZGVmaW5l
IF9QQUdFX1BSRVNFTlRfQklUICAgICAgIDcNCj4+ICsjZGVmaW5lIF9QQUdFX0FJICAgICAgICAg
ICAgICAgICg3VSA8PCBfUEFHRV9BSV9CSVQpDQo+PiArI2RlZmluZSBfUEFHRV9YTiAgICAgICAg
ICAgICAgICAoMlUgPDwgX1BBR0VfWE5fQklUKQ0KPj4gKyNkZWZpbmUgX1BBR0VfUk8gICAgICAg
ICAgICAgICAgKDJVIDw8IF9QQUdFX0FQX0JJVCkNCj4+ICsjZGVmaW5lIF9QQUdFX1BSRVNFTlQg
ICAgICAgICAgICgxVSA8PCBfUEFHRV9QUkVTRU5UX0JJVCkNCj4+ICsjZGVmaW5lIFBBR0VfQUlf
TUFTSyh4KSAgICAgICAgICgoKHgpID4+IF9QQUdFX0FJX0JJVCkgJiAweDdVKQ0KPj4gKyNkZWZp
bmUgUEFHRV9YTl9NQVNLKHgpICAgICAgICAgKCgoeCkgPj4gX1BBR0VfWE5fQklUKSAmIDB4M1Up
DQo+PiArI2RlZmluZSBQQUdFX0FQX01BU0soeCkgICAgICAgICAoKCh4KSA+PiBfUEFHRV9BUF9C
SVQpICYgMHgzVSkNCj4+ICsjZGVmaW5lIFBBR0VfUk9fTUFTSyh4KSAgICAgICAgICgoKHgpID4+
IF9QQUdFX0FQX0JJVCkgJiAweDJVKQ0KPiANCj4gQ2FuIHlvdSBwb2ludCBvdXQgdG8gdGhlIHJl
ZmVyZW5jZXMgKGluIHNvbWUgQXJtIGRvYyBvciBzb21ld2hlcmUpIGZyb20gd2hlcmUgeW91IGhh
dmUgcGlja2VkIHRoZXNlIHZhbHVlcyA/DQo+IA0KPiBBbHNvLCBBRkFJQ1MgeW91IGFyZSBub3Qg
dXNpbmcgdGhlc2UgbWFjcm9zIGluIHlvdXIgY3VycmVudCBwYXRjaCBzZXJpZS4gU28gY2FuIHlv
dSBzZW5kIHRoaXMgcGF0Y2ggbGF0ZXIgKGFsb25nIHdpdGggYW5vdGhlciBwYXRjaCBzaG93aW5n
IHRoZSB1c2FnZSkuDQoNCknigJl2ZSB1c2VkIGFsbCBvZiB0aGVtIGluIHRoZSBmb2xsb3dpbmcg
cGF0Y2hlcywgdGhlIG9ubHkgb25lIG5vdCB1c2VkIGlzIF9QQUdFX1BSRVNFTlQsDQpidXQgaWYg
cG9zc2libGUgSSB3b3VsZCBsaWtlIHRvIGtlZXAgaXQgdGhlcmUgYXMgaXQgd2lsbCBiZSB1c2Vk
IG9uIHRoZSBNUFUgc3Vic3lzdGVtIG1hbmFnZW1lbnQNCmluIG9yZGVyIHRvIHNpZ25hbCB0byB0
aGUgc3Vic3lzdGVtIGlmIHRoZSBtYXBwaW5nIGlzIHRvIGJlIGNyZWF0ZWQgZXRjLCBzbyBoZXJl
IHdlIGFyZSB0cnlpbmcgdG8NCnVzZSB0aGUgc2FtZSBpbnRlcmZhY2VzIG9mIE1NVSBpbiBvcmRl
ciB0byByZXVzZSB0aGUgbW9zdCBvZiB0aGUgY29tbW9uIGNvZGUuDQoNCkNoZWVycywNCkx1Y2E=


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:57:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:57:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901087.1309054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpRpq-0000Js-IK; Tue, 04 Mar 2025 12:57:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901087.1309054; Tue, 04 Mar 2025 12:57: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 1tpRpq-0000Jl-FV; Tue, 04 Mar 2025 12:57:22 +0000
Received: by outflank-mailman (input) for mailman id 901087;
 Tue, 04 Mar 2025 12:57: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=/Z5M=VX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpRpp-0000Jf-3u
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:57:21 +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 34baa52f-f8f8-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 13:57:19 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43996e95114so38076955e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 04:57:19 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bc1b5db02sm73611105e9.19.2025.03.04.04.57.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 04:57:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34baa52f-f8f8-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741093039; x=1741697839; 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=U7+8yf+kO6SCQF2Ra8gqCxZZwPKkRR/MGi/VZcvIARs=;
        b=mrslzGZRj9GJRWJqPGgV/cbnBtMha438+XpaWB/YJYWrHlhvINBXq4HdZUfye4EIkF
         Ajc7+ksDccouqZAz5xrLHy260g2X23cQh6w51MR8vk5VCCjPB6TURX+xVMU+7/UDaW/L
         bGyN0L30fwhvA/SMVjCp7qEn9VmgpJhKXyQD4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741093039; x=1741697839;
        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=U7+8yf+kO6SCQF2Ra8gqCxZZwPKkRR/MGi/VZcvIARs=;
        b=v+z0Be/PlTaibaR1aRSISHvQVkF6k0aVer6qfh460b0GTe+2KEgeveV+5umv6//wiw
         19mIc1sD3IgHGCfG79iYQX9xfr5v/LAufn/+6LTkJYL/3L4mR6SRyD7HXTiEWYqI+JJy
         biveT7qNEV5u0fkK7v3re+ti5LFttIlaJiTU25bo0Hpwi9ucZzd2doBdhB0S2VxLOL+e
         iiMzy1FOPvI8Xjg5C94wcHorlbhXjDO2kbD9fpFO7yDZocDtSKu4XDMW6RnkorY1qItV
         5n3SV3IEyeHhkcOBUdG6KgXuMJK5MkGgMqZhv+Xh+WN1BvhQawUZ/+5jWGawRrVr5kgR
         1ChQ==
X-Forwarded-Encrypted: i=1; AJvYcCVAB4COGKU9lMr5HFRuTsMIbfgz/SATriqrJm6D0lVnXXIlc9CrBjnVpTnxtZGiSermOnOJd7HPnCc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSHN668Qi0uPKgnbtetNfokuf05N1KY2GPyZNpIWPZndIFUXEU
	x1tG/6fnmdiK0EvYxRQ6jbuSitB13+/eJ5q+Mqla3epfnLAUzrgGOcIMuHUTZWk=
X-Gm-Gg: ASbGnct/T/ws3f19A8xirr98Ir24omnlq+X/hJewAvY8Qk6hY0Bbr7vXiqExnB8UEs2
	ZdfvHJPVvmKUYiqWRjTb8mdBoa980xgW09kSl5w/v3sy29mlWJgJzaaVa1QmPXtPErL7GQfM2zm
	0KK3Ml8VglYhGeQz7Mz4m9Zk4l9WEwVpqwTXierk4erP7RIvV7EqZbe7c2UtjkbQwzpwON6toKS
	DDyTZWbIZ8tXraAqa+CBgZXuo66eMQ76pM2a4XnemWaTKgcnHt61cBQ5VPCVo4AZs2PBOY+NVdE
	8WhCsCVXxW87noX8DAHWLgTbHuJ540qZFRlHiNA1vRLGmdiYB9/rUZhLsc4Gu/W8VHfqnMxRBVZ
	BBuoGJTaR
X-Google-Smtp-Source: AGHT+IGpEXObqtEyqhFxe0BWsVsyHRDkvfhulLDJHKu+9Dr6B9xfNzI9DQfzIob9L3J5BbOdkSbsxA==
X-Received: by 2002:a05:600c:1d05:b0:43b:c5a3:2e0e with SMTP id 5b1f17b1804b1-43bc5a3301emr58830365e9.5.1741093038709;
        Tue, 04 Mar 2025 04:57:18 -0800 (PST)
Message-ID: <eb27f4a6-6326-43a8-9be9-b8b13e0de244@citrix.com>
Date: Tue, 4 Mar 2025 12:57:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/4] common: remove -fno-stack-protector from
 EMBEDDED_EXTRA_CFLAGS
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <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>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20250217024848.3059635-1-volodymyr_babchuk@epam.com>
 <20250217024848.3059635-2-volodymyr_babchuk@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: <20250217024848.3059635-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/02/2025 2:49 am, Volodymyr Babchuk wrote:
> This patch is preparation for making stack protector
> configurable. First step is to remove -fno-stack-protector flag from
> EMBEDDED_EXTRA_CFLAGS so separate components (Hypervisor in this case)
> can enable/disable this feature by themselves.
>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Now that 4.21 has opened, I've picked up this patch as it's ready, and
not overly intertwined with the subsequent patches.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 12:58:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 12:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901095.1309064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpRrA-0000oJ-Rv; Tue, 04 Mar 2025 12:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901095.1309064; Tue, 04 Mar 2025 12:58: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 1tpRrA-0000oC-PF; Tue, 04 Mar 2025 12:58:44 +0000
Received: by outflank-mailman (input) for mailman id 901095;
 Tue, 04 Mar 2025 12:58: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=i2zF=VX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpRr9-0000o4-Ga
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 12:58:43 +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 63b891a3-f8f8-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 13:58:38 +0100 (CET)
Received: from DB9PR06CA0022.eurprd06.prod.outlook.com (2603:10a6:10:1db::27)
 by AS8PR08MB8371.eurprd08.prod.outlook.com (2603:10a6:20b:56a::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Tue, 4 Mar
 2025 12:58:34 +0000
Received: from DB1PEPF00039233.eurprd03.prod.outlook.com
 (2603:10a6:10:1db:cafe::9d) by DB9PR06CA0022.outlook.office365.com
 (2603:10a6:10:1db::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Tue,
 4 Mar 2025 12:58:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039233.mail.protection.outlook.com (10.167.8.106) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 4 Mar 2025 12:58:33 +0000
Received: ("Tessian outbound c3a902884497:v585");
 Tue, 04 Mar 2025 12:58:33 +0000
Received: from L37fad27877bd.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DE4E3E08-6A15-4A25-B4A4-5883E4339A67.1; 
 Tue, 04 Mar 2025 12:58:27 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L37fad27877bd.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 04 Mar 2025 12:58:27 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by PAWPR08MB9567.eurprd08.prod.outlook.com (2603:10a6:102:2f1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar
 2025 12:58:23 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Tue, 4 Mar 2025
 12:58: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: 63b891a3-f8f8-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=t27PSIwFl+RKxQKhV2FdKXQ3CGvbb3Qtm/94DCM1O41MOc1dkCzfWY6Nd77+jPUtOqzd2as3Z1a5ldw+GoQiHkuA7dTwEdgSy2pflBD63vxUNNDc9NfeP5vzpU+QK5XfpuEsJWZcdNrZxafgw57056gAvNdQI42CqEzoalJtTRD8piyGQlbTps96imAHr29mChdTJxHCHQb0HpR/8nVO0MDgPA7qgIcSBZMSSrUs7tjnXvd7W4rune2a2Pnpynzt6xrtau+uE2njlUh0agT5JLASkjLca3m3gkxCCI5P30qin18QkLls+gedlq82EVkcJyMn1v4rkz3gGTPtArdc4g==
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=SqEvBJDUGUlXx2RJpHp9BIIwlsPGgfGUTBKSkHPuT6s=;
 b=QfXDu2v/X2CWL6w5BHOyMaZBh9ETJWF6HG5gtdPYX+DVsW1uNroCt9QojULPksG5pfAWJGanQ+yqN4od43Bz7mMzsKZSfUF0DzMdRGCWcg3ycZpjAWMJccKp5s2jP2FmBLg/H1wrPK3opro9V6wzyA/u1VbDRG8CcBPeoI2MmS4NqShn8hRwVppgb0V3wYhUDVddEs8qEyJm6ckFF3XjEm5e2Ttpo2tzD8OQIatwlOPRVsB6dBN4Uv/p1VgaBCyJxGIrx+nFu7d3ZOLK68wlvRURgFzEHPnYjRAOHXExvoZXhh7YQUjId6wEt99MhifY9JGh6/AkWEPxMu/3bnwFZQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=SqEvBJDUGUlXx2RJpHp9BIIwlsPGgfGUTBKSkHPuT6s=;
 b=p5SbaOkg2Pl+vA5FBSeKVQsSowpiyrnL6fX5FOZetupnZKs51yFCa+doB8CdlsPnGqT6wvCBNURlgds8JYjWlfxmR60EAPQFk9+DsXmwKiE4F3b2QHKdguHOEoX9HLI6zEB11doDyny0QajmSSB8nZlovWwGVt7n5X0q1n18sWU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0eea179eac52ad79
X-TessianGatewayMetadata: 3MwOVgH3oHqxJTdAa1O1FPiBRq13rO+mHDnzTVOK5xizsCS3IkKiRxE2eO16nng7SHMbAqMoX9kA4GyxJwZ1l8J8i0BUmsh1b+Xlv2tuOAJrm9T3iDpLPIFV7HjAND3OuNwXs0lTMOAlcr1bjMCkm4F7I99SPGkiE2TVEbEJBTY=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KBJV3rF7EUMPIkRskgHK12fvUuR3AupjaYdfde/p/2Be/l/FDt6pFaCcqdHh9Sr2r9FcpnmcE6w+HuKpYW0Dff/45m7qSycBwexzfk1rAlcX3ihDZeIbLLxBMivkJyJZbjoZjkwMVfxj5439bP1wZdcr7imEuYCMxjoNocBvoSfiT06/8VcDau2TvfRQyABZwfibSRs3uM8MvR0NFTTTiuICcwBgxNe9b8eui7aypaaEcN82I8Ui8aFmsHLhgy65mkJZwHIsLNFqczOffqJ4j8vPulhwIhzVJRt0n8MLkrbfms7Bv0Zglr+o+qFmkl5x3HVRX3HXPaXmcVrR07Q7+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=SqEvBJDUGUlXx2RJpHp9BIIwlsPGgfGUTBKSkHPuT6s=;
 b=AGKj+dlxLzUIxCXWHDzPEiZ8/9oH/WXdckNQaBKtxOAuNEa/K70+BP/dOse4uO4MiFJ/abMDmBgjM/+jkDh4wymJlm2OtxDYebS/9XgMRxgvtZkYQeeFDKuLn7lm+K2UyTau8JJt0DeEsGxZ7++lmEWyWMCMJ08l7TZtDSYHTaAVv+7xbRsXHKYKVJxc9ZFQQY7xGeSlelslN8gqN/gcEUA6V6CxraWifH04xOfQU+wG1tEtYhNWyfs4yYayDQzjnW4A+AnfOtKKK/ZalIwfpNjcK8M0a91S3wFuPad33M29VQ0Jkph1EprHVGMPuXql7ss4jjDPsXex6xFTt6vBgA==
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=SqEvBJDUGUlXx2RJpHp9BIIwlsPGgfGUTBKSkHPuT6s=;
 b=p5SbaOkg2Pl+vA5FBSeKVQsSowpiyrnL6fX5FOZetupnZKs51yFCa+doB8CdlsPnGqT6wvCBNURlgds8JYjWlfxmR60EAPQFk9+DsXmwKiE4F3b2QHKdguHOEoX9HLI6zEB11doDyny0QajmSSB8nZlovWwGVt7n5X0q1n18sWU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.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>
Subject: Re: [PATCH 8/9] arm/mpu: Implement early_fdt_map support in MPU
 systems
Thread-Topic: [PATCH 8/9] arm/mpu: Implement early_fdt_map support in MPU
 systems
Thread-Index: AQHbifxzeiZNW349gkqcjA4hxzMiyrNi6ZsAgAAMgAA=
Date: Tue, 4 Mar 2025 12:58:22 +0000
Message-ID: <44C4A35D-D751-4CE6-9E55-DBCAF6E1C613@arm.com>
References: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-9-luca.fancellu@arm.com>
 <3a2051df-7669-4d0c-a974-699e3026f98a@amd.com>
In-Reply-To: <3a2051df-7669-4d0c-a974-699e3026f98a@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|PAWPR08MB9567:EE_|DB1PEPF00039233:EE_|AS8PR08MB8371:EE_
X-MS-Office365-Filtering-Correlation-Id: db287ed8-fdec-4419-a161-08dd5b1c455d
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?ZGcyb3NYaGpqOEk5WG13L3Ewa2NTQVdQYStaNUhPcVVsbEJrNm4ybkxUc0hl?=
 =?utf-8?B?b3hXRFlTbkZ2c1VFZVB5NWRYRlpYdG0zYllLWFJnQmpZQUh2WVV5OHhVYVVp?=
 =?utf-8?B?K3RFaDd2TGJ5V0xldzdKbXk0Ty8vbVpWTVd2MzErbDJEaWszRHFobzFQWi9R?=
 =?utf-8?B?UnhHVTZXTHptbHFOTThENmQ4V0kwOUV4S0VZQjQ0cDBsVTRtQnNXV1plc2Fs?=
 =?utf-8?B?RGJQWmVjZmUwOUp0T3pnRTdQMXFSYmJzUGM5Qy9wVUlEQ2VpQ0x3c1lwalBw?=
 =?utf-8?B?T2dwUjcvRG5SWFNhWEVNWTRFcTdESTNpSjlvdlhDSEJneXVDRUI5RHkwekd1?=
 =?utf-8?B?SXp1Y1Q5NjNQS0pPOEc5UHpmc1YyQU9SMGtRcGNGQW1iRXBCM2g0dzNCYmhJ?=
 =?utf-8?B?SG1rOVBoZFdDN0FIZS9laU1GZy9GdkRDdE1ycWxxR1BkdjNoaW1SMndkZEpw?=
 =?utf-8?B?OEt0L3Z1Y2lnb0tZMWtyTGYxYXJEaDJlTWV6VWF6eEFYTGRkUXFCZ3pFL0ph?=
 =?utf-8?B?ZWwreSs3LzFDaUxxdFVGUm40NGxGNzB3ZnMyMUYzU0ZHR1gwRnNoSjFBdXRF?=
 =?utf-8?B?bnpLd2M3UVc4NU1CYXU5ZnBvMnFKaDI1cFdiN01EcnhQNWpDN0NSQ0VpYjFD?=
 =?utf-8?B?K2tVOFhvNHMwQ3UrRnV3a1lHSmE2b3Z5Rmt1Z1ppZU93WWdDd1RyTDhTdDhl?=
 =?utf-8?B?bysxMUNsd0g3ZlFyd1RUckQ2eklBNHpBM1lMam1vV08xbFpHM21SRTFqRFZD?=
 =?utf-8?B?VnhsempPdkFaaTk0akJIZm5tTXcvT0ptUWdjeEZtcmxSM3FYOCtocXo0MHdk?=
 =?utf-8?B?Z1BWTWZVK3lyQmJwRjhERzlIa1FKOEtJZUtIL05GTXIzNk0zbFdFM1EvdFpI?=
 =?utf-8?B?M09qcHllTEZYWlhWeW9YeFlYd1lYMEFrUXkvaGYraGQzODFRUzdnVklIMnor?=
 =?utf-8?B?cXZraTlJQ28yVSt5V05TVEdPcngwK0hhNVAyRGNpblZHdHBKaDZ1WGlaM3hn?=
 =?utf-8?B?aktpNlduYUNBTTZXNXI3a3BmRHhmRk5Zd2ZvY2NNSnFpMjMzaHJhUkJ0Z1c1?=
 =?utf-8?B?blFTS2YyZlBJalNPMEsrL3JCbnoyWnZjcnl3SFVmUGhjdE1LOVFwUXd4UUZq?=
 =?utf-8?B?NC9MS1VJQXJTcjFDcTdscXZBVGZOV2tZWFlDK3l2ZW1BZUhhclNYRlBwRG5U?=
 =?utf-8?B?TG5EU1EwU0d1TW5RcUFoU2QwMCtLSGN0M3VqT3NVTTd4RE92MHc5dTBzNEND?=
 =?utf-8?B?QzNLVE1IaEt2NEpMUzBmMU5ab2twbGcxaFdFenk2YUpxMDRhSGtOdjE4Q0ZF?=
 =?utf-8?B?RXl4dmNmQ1cxc2tWcVliUjljVmlwVzExOU82WVJFajZMUWVsRmVLTEdsSnZJ?=
 =?utf-8?B?NS94K3prcU4wNVc3dVpmRFdab1lVb0VEWHduUnFjay9aT2lrZWFheVVjZUUr?=
 =?utf-8?B?TGgwOW1qOWRrV3FQaHNWTk5lVjJUK09lNHpCYjBCb3dCYmhMSkQzR0FRaDBF?=
 =?utf-8?B?YkFuVG5rTWR6cjNBT1ZCc3FFZ2ZZQ2ZLc1BxaFBmNGk1bHQvcStpTitRSDFU?=
 =?utf-8?B?ZWVZYnZWTVRPcGhOQnB3c2RTUHBaY213am1wT0xWZEJnVG85bVlkY2d2MUhC?=
 =?utf-8?B?bkVzWXR3eURDWFNtemh0Z2VHWUZ5bURONHFpQ3RqRVFlSUowZkJqKzhrR3Qv?=
 =?utf-8?B?SmVHVUxwR2lrZU0rWlZqQTNuWXNXTm4xUStVWDBzNUdjbEN4dnM1Nm1pbzBX?=
 =?utf-8?B?Vi9ueE4yT1FLaUQ4R21UTUFTZTdzc1M0em1uMkZWL2xsdEJ4bTVaaUpmWWRE?=
 =?utf-8?B?aDJnTlpSd1IwVTIreHhQakgxZG1uaUF5SHh5NnJsT09kcDRObVdzT2krNyts?=
 =?utf-8?B?aFIzeVhod2ZhalIxK0RJNUNiZjdsS3RGVHlmcDNDamk2dHZRWWtWYmYwb085?=
 =?utf-8?Q?IO8HCF+GRMm0CWhHKSHjV+A6QnEJdAPW?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5E8E8A4C7F841E4586B7671008EC2C2C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9567
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3a8e19d6-3b1a-469d-7a3d-08dd5b1c3efe
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|376014|36860700013|1800799024|35042699022|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SEd0RkN6emREWkhsQXc2QVQ1QkRSZElpTm5oSEZOTzZSSlZkNk5aM3prWmk4?=
 =?utf-8?B?aHROQnFHa3c1ZXNUWStqU3Vnb0NpZmRyR01NSFNlaGRFcmF2VmJmaWRNNERn?=
 =?utf-8?B?OGxxenpabU5YTXZhZ1R5SWRYZ3JHaGlXdlJ1S2dhK0kybmpOU1RFbzh1dWxw?=
 =?utf-8?B?bnZVWXFsbE5KMUxwTUlJc253cVhkelp4KzZ3cXJIN1ZudElQV2xXUXYzOGZX?=
 =?utf-8?B?WHhXQUJyb21CZVJpRjRrMFZaOVRvM21DMlM5bWNXYVk0VVd4NUlyVHhHaE1C?=
 =?utf-8?B?amgza3BxUEZpK2JrOUo4eWdBTXFRQUlVU2pjK0RZZ3c5VEFsZ2xkaGlWajVy?=
 =?utf-8?B?MDBvMWRCcW0zSG1sWjN5V3kvUDFGOWZZeVVBcWppYkdoendoNVk4N1dMV09G?=
 =?utf-8?B?aTdEd0hDRzN6MEc3R0U0VDRtZXVsenBEbVoxVjhuRjBzUU1ibFI4elphY3Ry?=
 =?utf-8?B?RG9KNlZkVlB6UVRGREtVOE5sMTQwR0dIcVpFTVZ3ZWRkL3JWYmRSTHhUdXJh?=
 =?utf-8?B?dytJVmUzTWZjQTAwaVlaTzNqRUI4L1paazhNZkI2aExNcStjNUZ3bjZ0aE1w?=
 =?utf-8?B?NGFKSTRCeWh1WE5aWkIwcDE3TWhhdG4xS0ZiZEtsZWhCVkZLdnkrUlBtK2k1?=
 =?utf-8?B?SUFTcHhoUUVyL0N5b0VzMGtjZjVjVEI4WlNZTjRVNGQ2aTJmTm5jWXUyMWNG?=
 =?utf-8?B?Y1lxb2NyZEcwMzZOK1UrVWxxajlZWW83T3g0K3FPK1V5eEE4emZua2RkQ3Js?=
 =?utf-8?B?OHJiV1BSWGFkb0FlOTloRnNPQjVERXQvWEpPOVhlbFlzMEdIQWFpK1owemNH?=
 =?utf-8?B?WlpzditqSk9PL2FMOFdxTkdqN1M5VU9DRStMYnRSVUZDNkJ3UmFrY1pDU2VY?=
 =?utf-8?B?M243cEdpMklIejRVMW5wb0JkaHpDSUNicW9tMUhHTkR0UEdCZlcyQmt2Zlpu?=
 =?utf-8?B?cEE0c3pIdkcvVkFmQ253aGZBeFB2TU1uMThFMzJiSmFOa1lEYytJeWlHUDRT?=
 =?utf-8?B?VVpyNHMxUGRlL2FFMkt6NWJNWjkyN1ByZ0hKRFl6dmFsaFY5SFhBV0pzMGtH?=
 =?utf-8?B?cXdibmlPQ0VlTTZQT0orSVluYWNKVU0zejhkWGJqMXBwcTBjTWtUWGtNaDR6?=
 =?utf-8?B?akxKZGxQOHFHZmcySGFNUXpBYzhrejkveHplTmhvblZyZ3VpZ3VyS0hnelVo?=
 =?utf-8?B?eEFuMHNaVnhWc0RJa1lIUmFGWnBHaVdOcTRucmEzWFR3N1BEUy9pWVJZNmhD?=
 =?utf-8?B?T2pWMllBck5ncWdXYUhCZE91RmFUUzBLZXRTUXFzbFdIaUorTUEwYWVtVG05?=
 =?utf-8?B?V2R3WDdkUFhTeitkeERzeXB3MVp5WThtQ0N5MFZSSHBhODNvaFdYbG1VcFZU?=
 =?utf-8?B?MVIxUGdZQTE2RUp4cmVETzkrOXQxaVdTcE9JenNTZ1R2dEx4eThLQjczNjRS?=
 =?utf-8?B?UkhqV2JkZ2NGQit5NEI0aXJhRnRMMnhYR2FxdjltRUpDeXYvRlFqQzVKVVBD?=
 =?utf-8?B?YXdiQnYrS2xsMVpHQ0lKb1V5ZDVIdmJGdHdSRWNWenZuMDNoYUtoUGxKalFN?=
 =?utf-8?B?R0dpQ2F5WFhCcml2YTlKMWZlMkFKeUZPSGVMVlBFV3NDQVhiK2l5NkZjVWlr?=
 =?utf-8?B?ZGtlSDU2blRqeVlGSlNiRlJEL0lIZEpDZkZHWVlSZHdJY0VTNTlNT2p6bXNW?=
 =?utf-8?B?QUZVSHE2cTk4RmQxLzl5UlhoTkF2K2tOczh4WnNPTTFaaldxcDVsU1htV1lO?=
 =?utf-8?B?L0IvdjBwRVBaZCtQek5ISjQrcndKeEdiZFY5SHN3eWdlOHk4aDFTOGRGWjBx?=
 =?utf-8?B?aWYvSExmbjFtRjhrNFQxVDZyUDk2TGFtOWRWVkcxUTZDdlh6VTJNdEJwVncw?=
 =?utf-8?B?blJmUWdrYkhjSllLbUlzd3l0c0hPWXNOM1liNUdiZ0IxYzZoalhLZk9MNC9N?=
 =?utf-8?B?Y0tCYlFoZXRSeEVMZ3B6VHhrRStNU01reHlLR1NOcHBYazIxY3BKZHN5QVhx?=
 =?utf-8?Q?ABf6TFKphVLtwewNfJ/3QpFH6Etfw0=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(376014)(36860700013)(1800799024)(35042699022)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 12:58:33.5735
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: db287ed8-fdec-4419-a161-08dd5b1c455d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8371

SGkgQXlhbiwNCg0KPiBPbiA0IE1hciAyMDI1LCBhdCAxMjoxMywgQXlhbiBLdW1hciBIYWxkZXIg
PGF5YW5rdW1hQGFtZC5jb20+IHdyb3RlOg0KPiANCj4gSGkgTHVjYSwNCj4gDQo+IE9uIDI4LzAy
LzIwMjUgMTY6MTgsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+PiBDQVVUSU9OOiBUaGlzIG1lc3Nh
Z2UgaGFzIG9yaWdpbmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFBsZWFzZSB1c2UgcHJv
cGVyIGp1ZGdtZW50IGFuZCBjYXV0aW9uIHdoZW4gb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tp
bmcgbGlua3MsIG9yIHJlc3BvbmRpbmcgdG8gdGhpcyBlbWFpbC4NCj4+IA0KPj4gDQo+PiBJbXBs
ZW1lbnQgZWFybHlfZmR0X21hcCgpIGZ1bmN0aW9uLCB0aGF0IGlzIHJlc3BvbnNpYmxlIHRvIG1h
cCB0aGUNCj4+IGRldmljZSB0cmVlIGJsb2IgaW4gdGhlIGVhcmx5IHN0YWdlcyBvZiB0aGUgYm9v
dCBwcm9jZXNzLCBzaW5jZSBhdA0KPj4gdGhpcyBzdGFnZSB0aGUgTVBVIEMgZGF0YSBzdHJ1Y3R1
cmUgYXJlIG5vdCB5ZXQgaW5pdGlhbGlzZWQsIGl0IGlzDQo+PiB1c2luZyBsb3cgbGV2ZWwgQVBJ
cyB0byB3cml0ZSBpbnRvIHRoZSBNUFUgcmVnaXN0ZXJzIGF0IGEgZml4ZWQNCj4+IE1QVSByZWdp
b24gbnVtYmVyLg0KPj4gDQo+PiBUaGUgTVBVIG1lbW9yeSBtYW5hZ2VtZW50IGlzIGRlc2lnbmVk
IHRvIHdvcmsgb24gcGFnZXMgb2YgUEFHRV9TSVpFDQo+PiBpbiBvcmRlciB0byByZXVzZSBoZWxw
ZXJzIGFuZCBtYWNyb3MgYWxyZWFkeSBhdmFpbGFibGUgb24gdGhlIFhlbg0KPj4gbWVtb3J5IG1h
bmFnZW1lbnQgc3lzdGVtLg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxs
dWNhLmZhbmNlbGx1QGFybS5jb20+DQo+PiAtLS0NCj4+ICB4ZW4vYXJjaC9hcm0vbXB1L01ha2Vm
aWxlIHwgIDEgKw0KPj4gIHhlbi9hcmNoL2FybS9tcHUvc2V0dXAuYyAgfCA3MiArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDczIGlu
c2VydGlvbnMoKykNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL21wdS9zZXR1
cC5jDQo+PiANCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vbXB1L01ha2VmaWxlIGIveGVu
L2FyY2gvYXJtL21wdS9NYWtlZmlsZQ0KPj4gaW5kZXggYjE4Y2VjNDgzNjcxLi4wNGRmMGIyZWU3
NjAgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vbXB1L01ha2VmaWxlDQo+PiArKysgYi94
ZW4vYXJjaC9hcm0vbXB1L01ha2VmaWxlDQo+PiBAQCAtMSArMSwyIEBADQo+PiAgb2JqLXkgKz0g
bW0ubw0KPj4gK29iai15ICs9IHNldHVwLmluaXQubw0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L2FybS9tcHUvc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9tcHUvc2V0dXAuYw0KPj4gbmV3IGZpbGUg
bW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjkwYmFhY2E5ZmQ3DQo+PiAtLS0g
L2Rldi9udWxsDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vbXB1L3NldHVwLmMNCj4+IEBAIC0wLDAg
KzEsNzIgQEANCj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICov
DQo+PiArLyoNCj4+ICsgKiB4ZW4vYXJjaC9hcm0vbXB1L3NldHVwLmMNCj4+ICsgKg0KPj4gKyAq
IE1QVSBzeXN0ZW0gYm9vdCBjb2RlIGZvciBBcm12OC1SIEFBcmNoNjQuDQo+PiArICoNCj4+ICsg
Ki8NCj4+ICsNCj4+ICsjaW5jbHVkZSA8eGVuL2Jvb3RmZHQuaD4NCj4+ICsjaW5jbHVkZSA8eGVu
L2luaXQuaD4NCj4+ICsjaW5jbHVkZSA8eGVuL2xpYmZkdC9saWJmZHQuaD4NCj4+ICsjaW5jbHVk
ZSA8eGVuL21tLmg+DQo+PiArDQo+PiArLyogTmVlZHMgdG8gYmUga2VwdCBpbiBzeW5jIHdpdGgg
dGhlIHJlZ2lvbnMgcHJvZ3JhbW1lZCBpbiBhcm02NC9tcHUvaGVhZC5TICovDQo+PiArI2RlZmlu
ZSBFQVJMWV9GRFRfTUFQX1JFR0lPTl9OVU1CRVIgNg0KPj4gKw0KPj4gK3ZvaWQgKiBfX2luaXQg
ZWFybHlfZmR0X21hcChwYWRkcl90IGZkdF9wYWRkcikNCj4+ICt7DQo+PiArICAgIC8qIE1hcCBh
dCBsZWFzdCBhIHBhZ2UgY29udGFpbmluZyB0aGUgRFRCIGFkZHJlc3MsIGV4Y2x1c2l2ZSByYW5n
ZSAqLw0KPj4gKyAgICBwYWRkcl90IGJhc2VfcGFkZHIgPSByb3VuZF9wZ2Rvd24oZmR0X3BhZGRy
KTsNCj4+ICsgICAgcGFkZHJfdCBlbmRfcGFkZHIgPSByb3VuZF9wZ3VwKGZkdF9wYWRkciArIHNp
emVvZihzdHJ1Y3QgZmR0X2hlYWRlcikpOw0KPj4gKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3MgPSBQ
QUdFX0hZUEVSVklTT1JfUk87DQo+PiArICAgIHZvaWQgKmZkdF92aXJ0ID0gKHZvaWQgKilmZHRf
cGFkZHI7IC8qIHZpcnQgPT0gcGFkZHIgZm9yIE1QVSAqLw0KPj4gKyAgICBwcl90IGZkdF9yZWdp
b247DQo+PiArDQo+PiArICAgIC8qDQo+PiArICAgICAqIENoZWNrIHdoZXRoZXIgdGhlIHBoeXNp
Y2FsIEZEVCBhZGRyZXNzIGlzIHNldCBhbmQgbWVldHMgdGhlIG1pbmltdW0NCj4+ICsgICAgICog
YWxpZ25tZW50IHJlcXVpcmVtZW50LiBTaW5jZSB3ZSBhcmUgcmVseWluZyBvbiBNSU5fRkRUX0FM
SUdOIHRvIGJlIGF0DQo+PiArICAgICAqIGxlYXN0IDggYnl0ZXMgc28gdGhhdCB3ZSBhbHdheXMg
YWNjZXNzIHRoZSBtYWdpYyBhbmQgc2l6ZSBmaWVsZHMNCj4+ICsgICAgICogb2YgdGhlIEZEVCBo
ZWFkZXIgYWZ0ZXIgbWFwcGluZyB0aGUgZmlyc3QgY2h1bmssIGRvdWJsZSBjaGVjayBpZg0KPj4g
KyAgICAgKiB0aGF0IGlzIGluZGVlZCB0aGUgY2FzZS4NCj4+ICsgICAgICovDQo+PiArICAgIEJV
SUxEX0JVR19PTihNSU5fRkRUX0FMSUdOIDwgOCk7DQo+PiArICAgIGlmICggIWZkdF9wYWRkciB8
fCBmZHRfcGFkZHIgJSBNSU5fRkRUX0FMSUdOICkNCj4+ICsgICAgICAgIHJldHVybiBOVUxMOw0K
Pj4gKw0KPj4gKyAgICAvKiBNYXAgdGhlIGRldmljZSB0cmVlIGJsb2IgaGVhZGVyICAqLw0KPj4g
KyAgICBmZHRfcmVnaW9uID0gcHJfb2ZfeGVuYWRkcihiYXNlX3BhZGRyLCBlbmRfcGFkZHIsIFBB
R0VfQUlfTUFTSyhmbGFncykpOw0KPiBJbnN0ZWFkIG9mIHRoaXMgbmV3IG1hY3JvIChQQUdFX0FJ
X01BU0soZmxhZ3MpKSwgY2FuIEkgcmV1c2UgdGhlIGV4aXN0aW5nIG9uZSAoaWUgTVRfTk9STUFM
KSA/DQo+PiArICAgIGZkdF9yZWdpb24ucHJiYXIucmVnLmFwID0gUEFHRV9BUF9NQVNLKGZsYWdz
KTsNCj4gDQo+IE1heSBiZSBzb21ldGhuZyBsaWtlDQo+IA0KPiBzL1BBR0VfQVBfTUFTSyhmbGFn
cykvQVBfUk9fRUwyDQo+IA0KPiBBbmQgZGVmaW5lIHRoaXMgaW4gdGhlIGNvbW1vbiBtcHUuaA0K
PiANCj4gLyogUmVhZC1vbmx5IGF0IEVMMiwgTm8gQWNjZXNzIGF0IEVMMS9FTDAuICovICNkZWZp
bmUgQVBfUk9fRUwyIDB4Mg0KPiANCj4+ICsgICAgZmR0X3JlZ2lvbi5wcmJhci5yZWcueG4gPSBQ
QUdFX1hOX01BU0soZmxhZ3MpOw0KPiBTaW1pbGFyIGNvbW1lbnQgYXMgYmVmb3JlLg0KDQpObyBJ
IGRvbuKAmXQgYWdyZWUgb24gdGhhdCwgSSBiZWxpZXZlIHdlIHdvdWxkIGJldHRlciB1c2UgdGhl
IHNhbWUg4oCcaW50ZXJmYWNlc+KAnSBhcyB0aGUgTU1VIGNvZGUgaW4gb3JkZXIgdG8NCnJldXNl
IG1vc3Qgb2YgdGhlIGNvZGUgYW5kIGJlIGNvbnNpc3RlbnQgb24gb3VyIG1lbW9yeSBtYW5hZ2Vt
ZW50IHN1YnN5c3RlbXMuDQoNClVubGVzcyBhIHRlY2huaWNhbCBsaW1pdGF0aW9uIHByZXZlbnRz
IHRvIHVzZSB0aGVtLCBJIHdvdWxkIGxpa2UgdG8gY29udGludWUgaW4gdGhpcyB3YXkgYXMNCnRo
ZSBzZXJpZSBleHRlbnNpdmVseSB1c2UgdGhlc2UuDQoNCj4+ICsNCj4+ICsgICAgd3JpdGVfcHJv
dGVjdGlvbl9yZWdpb24oJmZkdF9yZWdpb24sIEVBUkxZX0ZEVF9NQVBfUkVHSU9OX05VTUJFUik7
DQo+PiArICAgIGNvbnRleHRfc3luY19tcHUoKTsNCj4+ICsNCj4+ICsgICAgaWYgKCBmZHRfbWFn
aWMoZmR0X3ZpcnQpICE9IEZEVF9NQUdJQyApDQo+PiArICAgICAgICByZXR1cm4gTlVMTDsNCj4+
ICsNCj4+ICsgICAgZW5kX3BhZGRyID0gcm91bmRfcGd1cChmZHRfcGFkZHIgKyBmZHRfdG90YWxz
aXplKGZkdF92aXJ0KSk7DQo+PiArDQo+PiArICAgIC8qDQo+PiArICAgICAqIElmIHRoZSBtYXBw
ZWQgcmFuZ2UgaXMgbm90IGVub3VnaCwgbWFwIHRoZSByZXN0IG9mIHRoZSBEVEIsIHByX2dldF9s
aW1pdA0KPj4gKyAgICAgKiByZXR1cm5zIGFuIGluY2x1c2l2ZSBhZGRyZXNzIG9mIHRoZSByYW5n
ZSwgaGVuY2UgdGhlIGluY3JlbWVudC4NCj4gQ2FuIHlvdSBleHBsYWluIHRoaXMgYSBiaXQgbW9y
ZSA/IFdoeSBkbyB3ZSBuZWVkIHRvIGNyZWF0ZSAyIE1QVSByZWdpb25zIGZvciBtYXBwaW5nIERU
Qi4NCg0KRmlyc3Qgb25lIHdpbGwgbWFwIGEgcGFnZSB0aGF0IGNvbXByaXNlcyB0aGUgRFRCIGhl
YWRlciwgc2Vjb25kIG9uZSB3aWxsIG1hcCB0aGUgcmVzdC4NClRoZSBzaXplIG9mIHRoZSBEVEIg
aXMgbm90IGtub3duIGF0IGZpcnN0LCBoZW5jZSB0aGUgdHdvIG9wZXJhdGlvbiwgYW55d2F5IGhl
cmUgSeKAmW0gbm90IG1hcHBpbmcNCjIgcmVnaW9ucywgSeKAmW0gYWRqdXN0aW5nIHRoZSBzYW1l
IHJlZ2lvbiB3aXRoIHRoZSB1cGRhdGVkIHJhbmdlLg0KDQo+PiArICAgICAqLw0KPj4gKyAgICBp
ZiAoIGVuZF9wYWRkciA+IChwcl9nZXRfbGltaXQoJmZkdF9yZWdpb24pICsgMSkgKQ0KPj4gKyAg
ICB7DQo+PiArICAgICAgICBwcl9zZXRfbGltaXQoJmZkdF9yZWdpb24sIGVuZF9wYWRkcik7DQo+
PiArDQo+PiArICAgICAgICB3cml0ZV9wcm90ZWN0aW9uX3JlZ2lvbigmZmR0X3JlZ2lvbiwgRUFS
TFlfRkRUX01BUF9SRUdJT05fTlVNQkVSKTsNCj4+ICsgICAgICAgIGNvbnRleHRfc3luY19tcHUo
KTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByZXR1cm4gZmR0X3ZpcnQ7DQo+PiArfQ0KPiAt
IEF5YW4NCj4+ICsNCj4+ICsvKg0KPj4gKyAqIExvY2FsIHZhcmlhYmxlczoNCj4+ICsgKiBtb2Rl
OiBDDQo+PiArICogYy1maWxlLXN0eWxlOiAiQlNEIg0KPj4gKyAqIGMtYmFzaWMtb2Zmc2V0OiA0
DQo+PiArICogaW5kZW50LXRhYnMtbW9kZTogbmlsDQo+PiArICogRW5kOg0KPj4gKyAqLw0KPj4g
LS0NCj4+IDIuMzQuMQ0KPj4gDQo+PiANCg0K


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 13:10:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 13:10:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901111.1309091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpS2K-0003s8-3F; Tue, 04 Mar 2025 13:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901111.1309091; Tue, 04 Mar 2025 13:10: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 1tpS2K-0003s1-0K; Tue, 04 Mar 2025 13:10:16 +0000
Received: by outflank-mailman (input) for mailman id 901111;
 Tue, 04 Mar 2025 13:10: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=i2zF=VX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpS2I-0003rv-Ts
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 13:10:15 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060b.outbound.protection.outlook.com
 [2a01:111:f403:2608::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 018c1c80-f8fa-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 14:10:12 +0100 (CET)
Received: from AS4PR09CA0006.eurprd09.prod.outlook.com (2603:10a6:20b:5e0::16)
 by PAVPR08MB9308.eurprd08.prod.outlook.com (2603:10a6:102:303::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar
 2025 13:10:07 +0000
Received: from AMS0EPF000001B6.eurprd05.prod.outlook.com
 (2603:10a6:20b:5e0:cafe::36) by AS4PR09CA0006.outlook.office365.com
 (2603:10a6:20b:5e0::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Tue,
 4 Mar 2025 13:10:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B6.mail.protection.outlook.com (10.167.16.170) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 4 Mar 2025 13:10:07 +0000
Received: ("Tessian outbound bc832f6acacf:v585");
 Tue, 04 Mar 2025 13:10:06 +0000
Received: from L8f327cf14d54.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D667CF5B-F9F4-42FB-B89A-EA86AEC59827.1; 
 Tue, 04 Mar 2025 13:10:00 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L8f327cf14d54.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 04 Mar 2025 13:10:00 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by FRZPR08MB10927.eurprd08.prod.outlook.com (2603:10a6:d10:137::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Tue, 4 Mar
 2025 13:09:57 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Tue, 4 Mar 2025
 13: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: 018c1c80-f8fa-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=XV6VPxpGihc0i2A+ssLcvu1azxH6lnbcwCml+N3xaPbezLkCgf0Fg31sBZqKaoeVrwoRu4lS2BfYS07X74iDyk7jQ5IBjvsmWxU3GUc/y2IInF3AJ/qhbunwVtechRjldxNxLfVjk+cs1VQ+pMjZFBr3U0udzNvXv9sJHQicxHotCAa8IICI/7JEcAGOtNzOGmN2bgSiC2RqOD2cLeiL+UCdardOUYxV2UdfN/oW4SiFUPhYeVXFcXM8oQCwUfWAkdFS2j4iULnukknNTGQnRrAuZv06MyC8vc51392GCWYymM55rfEJs1YNAkbibsinHn6Si81LLfAtcazOSxn/sA==
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=U8WJT6ccS9Y9oaYaix56tGOCJVW7hAmA9S8Xsf8GRaA=;
 b=JnXgw8CyHetTkW8d8xvfQ98RZUE0hPMGsCpQS6TT8XQIDzKWflnA75VL7sI+VfFnmUzZxQcaKID0fuec0TK1soRBVoqjxRrwHoa56Dwl/9DjF1I8oNUU8B4m/fhCc9da+bZbx9u16Nkr/DbUV/SACpyIZdz9G5jaJWy9mxlc+OGX9TVxK7kjSPoCC3fSKJyxz9fK1ZVmoVlqT1x1GCRLh/nEmcdZ1ed+hPJF3+gahctHz5zfJpdli9IXPrc8+9B2V1cdHPbVCDOb7/iYda2jtw+4cyHj0M9qJJgVP0D53mEEk8rovsjoYtQcU8lWZ5CWYoHS1gmcGGeNy8pO2rp2lg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=U8WJT6ccS9Y9oaYaix56tGOCJVW7hAmA9S8Xsf8GRaA=;
 b=SVBQqE8he24DonMpO9k/CuQsTPyctMBjsNK30Ga3d+T8cABJ0WXEQ8IzUHyG7yzG22VOI1eQXS8Hc6J6aC0bosxsG4Ph1Dr0RQQn1C0RmWycb6YX8M/izdCg4UhlXzbm3T8zxHMtYL0XCGpZHxdv2FPAulBwFVrtsXybQSgVoVg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 9ad31a2dc3774375
X-TessianGatewayMetadata: r9s2FvVsI5IM03m9R+0t1w06ptoM1/wvc2I8eQndNwSsG1XeLka5FjPWyh0JPBX2+Y2Bu/pTRQtzNmxWMfs4tDCBLZRqui1r+3eMGz38gJWRtNzamalZPBkI591/UXKzxYwHsB/2d8z12/Ix8yvVa7d5g4vvH8SSBhdOAoX3W44=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mQWUe5u4Zra6qL19bxrbR0YYEvZjMr/7j0H3XvOL3UTJlkWD9BJXVICumqcyvzDM6hXCGUoiQGHVgJTYyMRDst3SohWm7xcqEKcEUKe3eYE+yOhFXcB8ZSfDZY4MN6tCqfKsl/tbwX7KgVRMZq/n9xrhSUPUIE0rTDhFn8+NWaIaMgn1d5avKPeo9V32eRzI6fqM22Jb/2kB8XGk0bDsdI8e/tnJ9imlgvbvDveqiQbxUUC1yeAdY5aIHDAJVpv2xD5Oxz+i+qUCpsJzmvpMqLW1jkZNo/U1/sds57Z2TtCUMVcQLfvxOFCnWhxEP6BVDx1o/E28ZzZPvzWzR3rY9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U8WJT6ccS9Y9oaYaix56tGOCJVW7hAmA9S8Xsf8GRaA=;
 b=JBGC7yMYyzv8MyNsDmysl/vkbTEG77gZlVhejJi1BaRtKc5LUtEQuKXai3QWJ1ResppwEbWL1B6SWXIU3/e0k7AP2Fv0bHk53K1J717+05F79M5gHXmRDqCiTMsngh29x2u5tYSNF8smT79x3nRhotxP2ZafvPsB9TaAQUHeNdge/aL3V7Q0v0q7kLiNtRbIr/Uy9bzZWIm2evA7yuYD6IAMTpRpKXTBsF4Z4by4wTN4km29+x2Fba8z1rYSD9QozeWWEVIi7JueTt20599onUmFMUWNuPHa/7LHiWA7OcWSluoaLn69ii2JtpuZyi0SSad5sSbsogtw4a8DSXdhYw==
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=U8WJT6ccS9Y9oaYaix56tGOCJVW7hAmA9S8Xsf8GRaA=;
 b=SVBQqE8he24DonMpO9k/CuQsTPyctMBjsNK30Ga3d+T8cABJ0WXEQ8IzUHyG7yzG22VOI1eQXS8Hc6J6aC0bosxsG4Ph1Dr0RQQn1C0RmWycb6YX8M/izdCg4UhlXzbm3T8zxHMtYL0XCGpZHxdv2FPAulBwFVrtsXybQSgVoVg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.com>
CC: Julien Grall <julien@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 3/5] xen/arm: mpu: Move some of the definitions to common
 file
Thread-Topic: [PATCH 3/5] xen/arm: mpu: Move some of the definitions to common
 file
Thread-Index:
 AQHbdzpt64DSSlVqrUGsnEaCrB85rbM6YXOAgB5TtQCAAK0QgIADM9QAgAAUVICABnR7gA==
Date: Tue, 4 Mar 2025 13:09:57 +0000
Message-ID: <518FC65F-E191-4544-A76F-56B7DE02ED49@arm.com>
References: <20250204192357.1862264-1-ayan.kumar.halder@amd.com>
 <20250204192357.1862264-4-ayan.kumar.halder@amd.com>
 <18E074A3-A76B-4C9E-A8B4-8E23B07CB7B7@arm.com>
 <a593bbed-24de-464e-9fea-db988cc61f7b@xen.org>
 <CFF70353-90F6-4ED4-AEE7-155C4480AF98@arm.com>
 <9f5f044f-447e-41f8-b981-3aa2a848d458@xen.org>
 <956eb845-5848-4fbc-9596-e2f088192c43@amd.com>
In-Reply-To: <956eb845-5848-4fbc-9596-e2f088192c43@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|FRZPR08MB10927:EE_|AMS0EPF000001B6:EE_|PAVPR08MB9308:EE_
X-MS-Office365-Filtering-Correlation-Id: 62345df8-ec76-49a4-c030-08dd5b1de2ae
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|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?cplVY0PkTkwfLoP5TEetNZadycZUDWnzi3jaq1ms+C2ExSgXgFTiVf/XTfy0?=
 =?us-ascii?Q?tozPEZD1SUYyOzjLJVp1O1ASNeFPcNVr8gae5maOcaZSaTNInoOSoNdeiukM?=
 =?us-ascii?Q?qcU00t5GpIHNB9e+z14vU+r5UbRAWT30mn7TMJhmeN0hHpYenHIP30U3f8Is?=
 =?us-ascii?Q?xzPvffYFYr6pjteEv10bvib1GctfVmcw41J6fUHEPofp2Z6JgGufzxL1CMxl?=
 =?us-ascii?Q?w8q2JbYAcVMvAH7bgaT3ft232dWKCxY+DT9Xz1At/gT3u+ZJsxSk3E1ugmwk?=
 =?us-ascii?Q?1gGbzOpyGKvm7G896TqB8Aj3QkTQBYYXBG7ut5+WqaF0u/aCdZFk3i8OX+TR?=
 =?us-ascii?Q?cZ1IkZz92bzNQWjthIwDOSjKOGF0EDCcFPIHvJe4C8F+0df5LYw9rhhruVdg?=
 =?us-ascii?Q?T0d8FqG3NufAQFY6KbWlRGhFwMY1IQci4zM8l111420akJ/28nIxccLFZ+X4?=
 =?us-ascii?Q?rucV3xREd1oC2j1SkumCE5j4kIvIAow+/6J8xddiUN26fuCRnhgN5kpmAlWw?=
 =?us-ascii?Q?hQiGKeiPRT8eY6xcO2QeEPspSTQLVFRHVbaDhmhcbDcuCmqjoQuXcdy93uZm?=
 =?us-ascii?Q?wIr8oDRJ/TuPqNMjZES/jFwWmfHmevJVYnaztIkozP4W6BU0+kp8cppse/Qn?=
 =?us-ascii?Q?TdKc3LP+NHYrqfMc5te0HA1UqC8ysvNol6GyllyQria+amPKV0ri9v1KEsu+?=
 =?us-ascii?Q?sKgiBgny77xqxD2aNPRHQ/k4JcwG4ruNnV2nCH803KvXiRBrplHyZoo4FIpH?=
 =?us-ascii?Q?g67vvnMHwidc2wbFjkUDAAnXMpA+qoGFw55GB8Z1guIu5otq/EDdJJkPFSmX?=
 =?us-ascii?Q?2Ba5+Vvistr+VH7VZ4rs/Ze+6ed/7B11/B6DblMS650ehISy4QdYvALMk28A?=
 =?us-ascii?Q?6cGgSgOstq+GmMSGUxvnZHJfVP4PdtawcPt//q4jWRJzx8lOyBZEFHtilFPh?=
 =?us-ascii?Q?Q8Y3UmA9gjOYyAobHJYEWMZkXnYjhNlq1jpdf5pSaI/jgobTEINxQ0dtD4Zx?=
 =?us-ascii?Q?mXGXN4JZeZ+Rn2D2bRmc7+hufFxyepj2jdD6/LmYVCBc/0jXz7NaJAAVDp0D?=
 =?us-ascii?Q?l8qyQSo530tTo+v0azz8o6Ka/P2twl+dsJnHWCpo5yw/D+Bq05kFnSEQjUVB?=
 =?us-ascii?Q?zs3vbfU5kGh6nMjXkM3nApYeWwEfQBOAfhkPYaz/KHGstRnF5SR65lj1SeEg?=
 =?us-ascii?Q?5SD5RT2BCIDCGI+M/3nGR9ixX7Ut2pNARMYNqNbS7FzwApmAkGCeTiCbb6Gc?=
 =?us-ascii?Q?vGdrNuPbL7zS1ty5Va91lpc6LJmBenUJ1xm5zjYHpW8ivFskxKQDaKZhemqI?=
 =?us-ascii?Q?cyp983uMGtpKEs3T93D9DHwC4ldgen+7tlbKf2YmgLDl2omPhCkD/Je7cgM1?=
 =?us-ascii?Q?RWJFsP96cUj3VIiaAw4tRO9mJJlhyMaK4u03nB6/jfqZwH6tO/WUD2Rv9JFe?=
 =?us-ascii?Q?7QE4qb5p5pnQivhyEUKZDi8PTbB4iYNM?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3241EE1DE48C6240825158C0965BB935@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZPR08MB10927
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	adfc8b05-3d98-46fb-3cd6-08dd5b1ddd1f
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|35042699022|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?zmvucsI2ZM6fDfyeJD0PZdYuWYFENHuMAxUPvyw8k/Oa57s92lehPHE+L+UM?=
 =?us-ascii?Q?f/WSGDFGg5lSU8XBULppzHKtsJHHZa1e6Opu+SJMaB36kVrHUZ6UioXdpPMm?=
 =?us-ascii?Q?H3SYpXZfb6tOHBwP94qQSJ1U0TG0eED5CktWw2lf4OnYIR3GFqdX8g/QtuU5?=
 =?us-ascii?Q?Ehsp9OukV3hPwwLWJzO1izPxlEMKXbeKqNWXp0W+AICX7g5b46f8ucNpLwfc?=
 =?us-ascii?Q?iysQzCfeEiVzRfLzrnZJ4ZI5P0JjX5tZ1mrRyRlw6x6PtbFrcCszdB99L92f?=
 =?us-ascii?Q?Y4qLwqpKVX3u8Ucjxjuh/mbf8mrDP3f1vFv6p8UGVd5nmzrdnZVTMEN1Hdpt?=
 =?us-ascii?Q?xnOiA9LN/7hXZMWlV/DJ4bnNTzdPiD4vqAZRTeyNnjp+HuZo+RxLbBtBZRxD?=
 =?us-ascii?Q?ZDQ8nkodfBoKMqVd1FBWJ1bKVkwMTHLfRoNsoXKa8k+8aLQiFdOlWqqdjB3m?=
 =?us-ascii?Q?c4VjghoGgzeZEcSaI+YzJzYuMlcv+83YORY8SUgCInE3/ASaAdZkC2QliUdn?=
 =?us-ascii?Q?aPdHL+PxQK2agKkA0frSGUt3oVgj1mvSdqHEimY3dXMV3gz1t5Ype970IhAR?=
 =?us-ascii?Q?ubaPZmOjqJMwzS2DccX9L2KDn+z4nQhNpDowmIdYubAgpSvO61G9Gp484JtG?=
 =?us-ascii?Q?3OcgIL+QxI1I9OBMMa54Sl4ZipHqpKdXR1DwH38/eE+YOCWeskuqnltiZRTT?=
 =?us-ascii?Q?QOJl1uJNtxC4gbtHxVmkpCZ/t6N4+4QxwkS0AmPSIC7fhMsQnAIT/1tO4WyS?=
 =?us-ascii?Q?DpXTXOgEVr7eq0qCg2JkLKasbwRt+goiWoJXFeT3Jr1DqmHz6Q7Kmtbre83u?=
 =?us-ascii?Q?99fd8Frt3uVV8366kwX7mIbkyF1UMdgl5Szd/SbWyIzVKixTpCeWWoLYBmSY?=
 =?us-ascii?Q?eaBNKkxI0fagHVBTgHhwaneYd3kJFUFSiK4Coru3zUyF54XfKhPKDH5wHlcT?=
 =?us-ascii?Q?yDUAGPicvemHt0xEyuDCmEw797flFGgoCRWvXGVF+GJvoe5WPyKAJt7eCUzN?=
 =?us-ascii?Q?X1s4lApHMlfoZBBOTYHa/UmvbZCrRM9rc5bXU8/pL+6f549VXxrXNX3HjtGx?=
 =?us-ascii?Q?hAslABvWZZR4UdOf05AZ3ILCRu8VKoE5Q3R3YISybO+uj6bJJtSdU8y8TIur?=
 =?us-ascii?Q?28UT7rViIluinpocwtNOQcwoFcRKepmxm15/XW2chzuVSEnxB0uZCEK7pFh+?=
 =?us-ascii?Q?5ia1PolzhFFS5Gs8r4LbWdP9IHWq45Yvvhv0ZV2pJUmJtL7d4yDbVeFzc5Vv?=
 =?us-ascii?Q?E8K+t6u54IjkNLLkAjy9g02I5JLRpjb5FsE48lyhEKGOYeOWcGZAXZOBTbML?=
 =?us-ascii?Q?cLkBIxdodVWmEhhaHomG86bSzExIte6KrY38MGyFlLiOE239PINpPaiHEOrO?=
 =?us-ascii?Q?ZVl1zjXXXD+ctt9iP415DMqxfI0cIYEvOyzMmiYW6by9Zyz6ADW67XwvX7lt?=
 =?us-ascii?Q?gZDr814LLmJY2PqY/F76sHcQgcNPJuI0gW5VTA9m8Ntcoa24EdnLaaqGR0qd?=
 =?us-ascii?Q?uXPSUKRCsunOMGM=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(35042699022)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 13:10:07.1134
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 62345df8-ec76-49a4-c030-08dd5b1de2ae
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9308



> On 28 Feb 2025, at 10:34, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>=20
> Hi Julien/Luca,
>=20
> On 28/02/2025 09:22, Julien Grall wrote:
>>=20
>>=20
>> On 26/02/2025 08:28, Luca Fancellu wrote:
>>> Hi Julien,
>>=20
>> Hi Luca,
>>=20
>>>=20
>>>>>>=20
>>>>>> #ifdef CONFIG_EARLY_PRINTK
>>>>>> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/inc=
lude/asm/mpu.h
>>>>> Why not in include/mpu/ ?
>>>>=20
>>>> Do you mean include/asm/mpu? or something different?
>>>=20
>>> Yes, sorry typo, I mean include/asm/mpu/mpu.h
>>=20
>> Thanks for the clarification. I don't have a strong opinion either way. =
I will let Ayan decide.
> Can I leave as it is for the time being ?
>=20
> I mean I will create "xen/arch/arm/include/asm/mpu/" directory when I kno=
w there will be more files.
>=20
> Let me know what you suggest.
>=20
> - Ayan

Ok, as agreed on Matrix that Ayan would like to go with include/asm/mpu.h:

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>


>=20
>>=20
>> Cheers,
>>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 13:11:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 13:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901120.1309101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpS3r-0004Mt-F7; Tue, 04 Mar 2025 13:11:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901120.1309101; Tue, 04 Mar 2025 13: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 1tpS3r-0004Mm-Ab; Tue, 04 Mar 2025 13:11:51 +0000
Received: by outflank-mailman (input) for mailman id 901120;
 Tue, 04 Mar 2025 13:11: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=i2zF=VX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpS3p-0004JK-P2
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 13:11:49 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b19247c-f8fa-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 14:11:49 +0100 (CET)
Received: from DUZP191CA0028.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::24)
 by DU4PR08MB10981.eurprd08.prod.outlook.com (2603:10a6:10:577::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar
 2025 13:11:44 +0000
Received: from DB1PEPF0003922D.eurprd03.prod.outlook.com
 (2603:10a6:10:4f8:cafe::b9) by DUZP191CA0028.outlook.office365.com
 (2603:10a6:10:4f8::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.29 via Frontend Transport; Tue,
 4 Mar 2025 13:11:42 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF0003922D.mail.protection.outlook.com (10.167.8.100) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 4 Mar 2025 13:11:42 +0000
Received: ("Tessian outbound c3a902884497:v585");
 Tue, 04 Mar 2025 13:11:41 +0000
Received: from La6b10d3da8cb.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 174E3900-529F-4A3C-996B-562352914641.1; 
 Tue, 04 Mar 2025 13:11:35 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 La6b10d3da8cb.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 04 Mar 2025 13:11:35 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by DU4PR08MB11174.eurprd08.prod.outlook.com (2603:10a6:10:577::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar
 2025 13:11:30 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Tue, 4 Mar 2025
 13:11: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: 3b19247c-f8fa-11ef-9ab4-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=uB+PUzOvUA2BFvE4GCOPCL/rwkd5WwQhTk1Uj+xG1Bg7YztcdB56c01T+k1lZvz3MvvkoFJvgArTUKzF1OYYdLgvb42aL0FwI+yBOOXa+eJ8JNjNsVH7/oWZVUjlfhsItyMBKH+cJJ5HgJAsm74SqFjzJk6Kvhc9MYnJev7wf8XxXICBC0vNiR5benFsjT4WTs7tFT1g8TGTQk15wgMVXsI4+bChZCJ47rEkxYKvJmFKz8fXLkNnoz2qOub9pF/lwprvBM7jvOraOgb6VbrM0vFDu9ItohVtzUL2Gri+THFOtJSY+L2NOZB361qXHpmwFpDJNS6G6Se6qScnvMJASw==
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=fsr8SSgV+VEW5gRX1P9iJ6PA0fowcH+M9lL6vcqRa2k=;
 b=P3UFLWDxmEDB8dexC6b5eMn2bZ2fObQ+O23VW25pB9rKVMQ+tO0DpYoGMCWszxhMiDThbxrFMFc1tTuSSMBeaGssSO0kWrAoQJyM6oeHV69Biycp0ZysGf+EnA4fVj5zzKTWHc0vRXrwxZaANtbpY9Q1BCGhJzmhPkb1N9W9owcco74VnDeHUVPLOa6wVnp8NM7CeXwY/Cz4Koy4mFetfJRficb1X8/bogGlO8YFj2OI/YtACnT0H8qSwihfXcQLzOA0wLgd7HHi7quVsENVYHSyfanrVFVpXlCg1AGdXLeROF3VkAUewJeLSGn9MktBNBbNI8C38ywM0nl/z1mmGA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=fsr8SSgV+VEW5gRX1P9iJ6PA0fowcH+M9lL6vcqRa2k=;
 b=rUE5gqMVX/OYe5oya/ao4WL2ayxNC6CqPxA1TVi4qsaIpnM+WHRzRohUqKJf4eTgkyweAT4aaklE5XAmn3amjm6BhInu0nyrtQC8j89xc7vmtA3ffqC/armpTSa+TwCyq9K2npfVSpsKSoch36b2hfERGgD7pE8fV1Q3o7kxPY8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c5330d8210777b09
X-TessianGatewayMetadata: tjIqcPMclWUJlEDeE0L4MdESdG08Xe+DGR1kFqUos2OOKodaBbbabencLDwP+4VhCnVRTWBdENBtycx6/mIRKas8LmzYVFotJCV3TXzMCShcjn0kH+yg4eyKcxsPKGOy2yCne9t80xgh9qNAlpVZ8hHxh5etRSbidluUd4ZYihY=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=R5Q6DNCMaw7n6liqDQV/NMhhmYL51Ov9Q6BEJgVSIHC9UWQ7qNTCQ0uTxlIkY/TpftR2sjot72qHetnSw+5H92LJEk9gB3xKhNJWwvzJqVNSskACCVAUjzwOZSzN2TytP0Xw6wmjQb4lPJB/GbbokiKMsAF6pkNDp7fZC47BuxzoxU0ZrARdE/23laVnPbmW1A0w8f7mS5oNRvJbz39/aOeaQR395mpsOac4l07p8RtrJBwMcGu62Ljbgo59yc1o9mJDUwalURA3Gg+DFkL5wpNswoq5g5191N4TLibKeZd2udov7GNSXrQCAN1sW18VEmZxdOr4MuSilU55hJqLYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fsr8SSgV+VEW5gRX1P9iJ6PA0fowcH+M9lL6vcqRa2k=;
 b=wmZb7k9eXGFDGlcqdZwzpxhKRUpitv3uZFzBAy/MgmhW9dF2rGf3pFuN0tXks4lWIvaSMJqMf0Vs08Ks2ooenJQtHUwXY4LZj69ML5ZW3/Kxolc2Iw79cSc5uopGVG9fQLEzX4hSEnMJULkANsvsh5pHvm+d8eoQ+0RC54UmRYsBgY19NPAqaaHOo2sqDwra/GT65hYvgwLUf7jVtrPbd3aA8UqKUEaud/257WOgNaw2ee11UXwgPAFJwLfWL9BGQPsKNXSejDbTEH7P1HqDknvTyYpk588/HBrO5lcqWUDZkQzVGUkpU3Oj1/aUqNfRM0JecmReF7hQ2CwYFJOnfQ==
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=fsr8SSgV+VEW5gRX1P9iJ6PA0fowcH+M9lL6vcqRa2k=;
 b=rUE5gqMVX/OYe5oya/ao4WL2ayxNC6CqPxA1TVi4qsaIpnM+WHRzRohUqKJf4eTgkyweAT4aaklE5XAmn3amjm6BhInu0nyrtQC8j89xc7vmtA3ffqC/armpTSa+TwCyq9K2npfVSpsKSoch36b2hfERGgD7pE8fV1Q3o7kxPY8=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Penny
 Zheng <Penny.Zheng@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>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH 3/9] arm/mpu: Introduce MPU memory region map structure
Thread-Topic: [PATCH 3/9] arm/mpu: Introduce MPU memory region map structure
Thread-Index: AQHbifxvvv/yUnZzCEOp3WVvr92oW7Ni02GAgAAmZQA=
Date: Tue, 4 Mar 2025 13:11:30 +0000
Message-ID: <E86C11CF-50E5-496F-B22D-0E350C1055D1@arm.com>
References: <20250228161817.3342443-1-luca.fancellu@arm.com>
 <20250228161817.3342443-4-luca.fancellu@arm.com>
 <51104e92-efe6-4477-9435-cae2dee33be7@amd.com>
In-Reply-To: <51104e92-efe6-4477-9435-cae2dee33be7@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|DU4PR08MB11174:EE_|DB1PEPF0003922D:EE_|DU4PR08MB10981:EE_
X-MS-Office365-Filtering-Correlation-Id: 7fdd661d-3f6b-4e9f-14dd-08dd5b1e1b5a
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?CH7UXl4i65yGNHletYOZjWl3CCvoZWA+8DRGkIZV4V4F/52uQgmVcZ7SEfHy?=
 =?us-ascii?Q?Gjy0bct1G6IB1AsjyyuiZPDJ9X+DjdM/CitqfmK+Y2+1QdA+sGpTljb1PafW?=
 =?us-ascii?Q?4yPIC+JpA41d4qMShtkTpkxf/xqYvtI+osqkg4mM/v1L/J2XWoN7n7ZunKRw?=
 =?us-ascii?Q?EjcASWLRW6Yk5qzZz8DFkht+wtWCoi2uxHPqv8UADwGN25fuO+oIN2Nc95pR?=
 =?us-ascii?Q?y52NyL4wDtM9qA7J8ECIEpdXNIOI8cct8bEIgtnpx+oXeYj/QD+tqaEco4OG?=
 =?us-ascii?Q?uLOaJuGZD6MHfh98Ibk3R1D1/U8nVRKWeFwkm8oQiej+0KbvbJQhLm9Cg4vv?=
 =?us-ascii?Q?qv/aT2pk0ZCYpkIth4Nth6VL0cKbTNzUY6lEK5HSkHjirESoqAd9Mhq3g0oC?=
 =?us-ascii?Q?kgfrndw1F3mYQeB7n6SoGo57ihTS3ZRs5Mv57sqDvAe1vp3u5zwmY1g6JLLH?=
 =?us-ascii?Q?KSS2H0lSVJYS/5JsKLV5t3BefF2f+UNHvezI7YZ3T7bPRloseH3AqWX9Zkj7?=
 =?us-ascii?Q?Rr600m+7yyekbIP0NTUFmqruIZLP3+yaBXBq2p+EqPoreAjmcEdGkUROHUi8?=
 =?us-ascii?Q?luPiMmD651XbBBHeWDZwyy9Vs8UrUNHREwAgpzU9ASlrSrZRadolWqxm2B//?=
 =?us-ascii?Q?+lrC1x7Ww9w+P0y5TG+kr1wnSLhmPTeb4nIUakNokk3ZoLT+m+kQOT1YQRgn?=
 =?us-ascii?Q?0LiVQJ+rLp7bBEPC+4jjNeZwNQkXqoJmZ2ceFcVBOiPDxRVPJaO2TQMZRsTq?=
 =?us-ascii?Q?fgjcR88q0WYBia1PDih8O/1ac+GShlotUsJztq8KZk8k7wnuQu8g/sW0Bw5R?=
 =?us-ascii?Q?NQCfjEdW5Ih31VTYhREoLWCrF22RVopZ9TZ3O7GVP40B1Siljm/E7KpC8gs3?=
 =?us-ascii?Q?MJ8la8PoSuWlbpw632oRjAAyP1ajpaXrmjCGjPNpikmN8JbEpvZf7zvJ3htb?=
 =?us-ascii?Q?jVjbMCTWCmSI9+hKYQoM76YGBsl62D+wqdLNwZFE5jP8YBAuyPUT25Gefeel?=
 =?us-ascii?Q?YSJKymFwW64Z6HwScdcg7c5HwVfzHnjJK2siX0ZaLqavJJ5tma1Qm4UTpLFo?=
 =?us-ascii?Q?JW0LsJShWRObPRkq66K9QsmcX8W+N3MNC5K34Cs0anLd/peeeE5FrPuTeCTo?=
 =?us-ascii?Q?fIZliKglf3zhlLNVkXMDb1zPQnXc3O7ZTMKWsviBydg7n5F69bVSPthRz8lP?=
 =?us-ascii?Q?TMtf3YBHip7y2OX1EfLofrQDJ40cfEpziFeZ4xfUutEqJrz8VZIoZUJaC2Tr?=
 =?us-ascii?Q?WR9RxL11JpVU2Y/pcy5isHZBbytwJV9x8h88HAZWGCEqH2afAQepHDdzknMx?=
 =?us-ascii?Q?D+xDd39ObAI2wpoBtGtchq1HhkIldg54e0nTNEzOt/vmmQa5MgMO9xCYoCqp?=
 =?us-ascii?Q?OVl5l3n3BzFo52aCAsxMUHJjVww8lGfiisg4bsW6YF+sDfu/fLp6vuVgiemM?=
 =?us-ascii?Q?BYDTxbY8BPvaLKzRF5jOdHM02uolhQcf?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <003BB5A87AFD5A479C000EF054F13896@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR08MB11174
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF0003922D.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	96335b27-94ff-4537-04ee-08dd5b1e147d
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|35042699022|14060799003|1800799024|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?bZnhNVTLkULvIIeVHXghex8KTS9A3uFa2XG0vgeTjvnKQBrf7bnZwI8+LgvT?=
 =?us-ascii?Q?4g8EzCPmkSyVUX7+G9ccdbt4nnqQkGyyCkq8/1KSVBRxJdrAxHsUhI0wSQyU?=
 =?us-ascii?Q?etl4F0f5vX2jyKDHd7he8NKfnjENj6rVW3gd4CunSfrX4/PpR3X+AcjMPVjF?=
 =?us-ascii?Q?hfoSJuBzZ3uAGVHdZl/Nh+or8ODnuPXexo4VHhRwhtj7qOrifPiySxPqAr5C?=
 =?us-ascii?Q?G+cNAUtF14bL2dGhEPEjfNVqms7/kusewb9mO0PSUzbYBnv3+Ci8numbx0bC?=
 =?us-ascii?Q?fDYwiaIWzQwQOr2vu+vCKL9HNxJRQKbFZegw14kLNdJB/4guo9NOF2TM/dIN?=
 =?us-ascii?Q?0xRY20iVjkU/qDQ3oKHrx3DCkHrdY26QiGHKr13BluciJMCUsSH0/L5NghYy?=
 =?us-ascii?Q?mZ7UX9uo16g80Mss9p7t5VscHjhS9lYL+4HgaTbnwAbiPE+rG/Rj02fsODwm?=
 =?us-ascii?Q?s8LEG3bRb3plIf6Fm5IoFFVRjcYchJtoyFrWAXKLYFCyBUGL8+UFH4BDLMXB?=
 =?us-ascii?Q?mU8qc9DY+1dq+oZqF+L4bCGg12mh2DbbiqaJu/ysSt/okXLyEVk6QG6vKitS?=
 =?us-ascii?Q?HxKmgu7ypyzB8c2F5qy0vC655NBZUnb6GygURQ5mqP//BBZDah1sloN4oYjm?=
 =?us-ascii?Q?Zj4o50hFyOuwX7p1KZKxxE31xP6Lh9//JMU0GQ2W/Crs8bI9qyOCLSz1DAea?=
 =?us-ascii?Q?NLmJDSQvbpPvvXVI8WxyKFqrmjvmeLTttRoZBkAHk9Cm2JLxfuNI6vPUx8vs?=
 =?us-ascii?Q?9KCfpb/L7JGA+glUjbyQpAY72ZjmT/hw5jh/Db2X8uyKXRM+GdbDuTKbiVaU?=
 =?us-ascii?Q?5P9LMun5Ns32l57OFX4Ph2tZh2Wd7XMIs2Yw/J0bJ2QCdyv6ZVvFtVaFfzBy?=
 =?us-ascii?Q?bFnY+zkmw7iPKULCoOkN6hVPFCld9feaDZRtuzaRYYC16hmXsIpNp4NJFi6s?=
 =?us-ascii?Q?AoiKoSGH82zq0O5nWhOoHKPXeFGlA3GVr4RwFzupR/QIL+DW1YSzIcSX0uui?=
 =?us-ascii?Q?CJIIoJroDCy/L41yK5tedHvRfIaZunPl+qOM62eslEO26nwZE2GPddHKqVte?=
 =?us-ascii?Q?xU9XtkHyyzePoh/RNsCEmjK5Sw1UGppLLR2P1H/371YfIkAwoMwVuqqAYpes?=
 =?us-ascii?Q?BU22FyeQSfbuptY1w4VAT+wYeV3HJQ1jV+BwW5CtXj750cvqrujIixlVVhnq?=
 =?us-ascii?Q?1EMgaxe9D6jnWCbUkstXH4Ouf7/mUHcJ5Bu1uovpx0yDxQEAOuQP7iLMzr3c?=
 =?us-ascii?Q?IxhWs9sk+oM1pGjHBJobo+d6zTkKGsHhn73W8MOr/qariCXEzdl/ry9zLPUa?=
 =?us-ascii?Q?PSnDl7WoSIVLGmv70fpcY+Uo76PyHfGU54XXspMBnVLXyBOMskxqnTmZ2IoM?=
 =?us-ascii?Q?cfSeAnxaqs7Bdo9eoQuakgeTIvOJYiJHugN2sCbGbJSi0pUBGD8B6EAfNOUN?=
 =?us-ascii?Q?Zt9xbcmPwgGgNP/3R0VLS9acpv9p5O/0v1gnUs23RCxw3AT1NJlgZA=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(14060799003)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 13:11:42.2357
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fdd661d-3f6b-4e9f-14dd-08dd5b1e1b5a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF0003922D.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR08MB10981

Hi Ayan,

> On 4 Mar 2025, at 10:53, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>=20
> Hi Luca,
>=20
> On 28/02/2025 16:18, Luca Fancellu wrote:
>> CAUTION: This message has originated from an External Source. Please use=
 proper judgment and caution when opening attachments, clicking links, or r=
esponding to this email.
>>=20
>>=20
>> From: Penny Zheng <Penny.Zheng@arm.com>
>>=20
>> Introduce pr_t typedef which is a structure having the prbar
>> and prlar members, each being structured as the registers of
>> the aarch64 armv8-r architecture.
>>=20
>> Introduce the array 'xen_mpumap' that will store a view of
>> the content of the MPU regions.
>>=20
>> Introduce MAX_MPU_REGIONS macro that uses the value of
>> NUM_MPU_REGIONS_MASK just for clarity, because using the
>> latter as number of elements of the xen_mpumap array might
>> be misleading.
>>=20
>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>>  xen/arch/arm/Makefile                |  1 +
>>  xen/arch/arm/include/asm/arm64/mpu.h | 38 ++++++++++++++++++++++++++++
>>  xen/arch/arm/mpu/Makefile            |  1 +
>>  xen/arch/arm/mpu/mm.c                | 23 +++++++++++++++++
>>  4 files changed, 63 insertions(+)
>>  create mode 100644 xen/arch/arm/mpu/Makefile
>>  create mode 100644 xen/arch/arm/mpu/mm.c
>>=20
>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>> index 43ab5e8f2550..fb0948f067bd 100644
>> --- a/xen/arch/arm/Makefile
>> +++ b/xen/arch/arm/Makefile
>> @@ -1,6 +1,7 @@
>>  obj-$(CONFIG_ARM_32) +=3D arm32/
>>  obj-$(CONFIG_ARM_64) +=3D arm64/
>>  obj-$(CONFIG_MMU) +=3D mmu/
>> +obj-$(CONFIG_MPU) +=3D mpu/
>>  obj-$(CONFIG_ACPI) +=3D acpi/
>>  obj-$(CONFIG_HAS_PCI) +=3D pci/
>>  ifneq ($(CONFIG_NO_PLAT),y)
>> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include=
/asm/arm64/mpu.h
>> index f8a029f1a135..38dbf5b2255a 100644
>> --- a/xen/arch/arm/include/asm/arm64/mpu.h
>> +++ b/xen/arch/arm/include/asm/arm64/mpu.h
>> @@ -13,6 +13,44 @@
>>  #define NUM_MPU_REGIONS_SHIFT   8
>>  #define NUM_MPU_REGIONS         (_AC(1, UL) << NUM_MPU_REGIONS_SHIFT)
>>  #define NUM_MPU_REGIONS_MASK    (NUM_MPU_REGIONS - 1)
>> +
>> +#define MAX_MPU_REGIONS         NUM_MPU_REGIONS_MASK
>=20
> Not really a comment, but a note. The above needs to be common between ar=
m64 and arm32.
>=20
> I had moved this in
>=20
>=20
>   "[PATCH 3/5] xen/arm: mpu: Move some of the definitions to common
>   file" .
>=20
> Depending on whose patch goes in first, this code needs to be moved in th=
e initial patch so that there is less code movement in the latter patch.
>=20

I will move them when your patch will be merged, if your patch is merged fi=
rst. I will wait for comments on
this one by maintainers so that if I have to do changes I will do at once w=
ithout respinning the series
multiple time.

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 13:18:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 13:18:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901132.1309112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpSA2-0005DU-8h; Tue, 04 Mar 2025 13:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901132.1309112; Tue, 04 Mar 2025 13: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 1tpSA2-0005DN-3g; Tue, 04 Mar 2025 13:18:14 +0000
Received: by outflank-mailman (input) for mailman id 901132;
 Tue, 04 Mar 2025 13:18: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=QBId=VX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tpSA1-0005DH-1t
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 13:18:13 +0000
Received: from mail-oa1-x33.google.com (mail-oa1-x33.google.com
 [2001:4860:4864:20::33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ee26c42-f8fb-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 14:18:12 +0100 (CET)
Received: by mail-oa1-x33.google.com with SMTP id
 586e51a60fabf-2c19509639eso660518fac.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 05:18:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ee26c42-f8fb-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741094290; x=1741699090; 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=cjhupSRthIewKVU6xizNO2GzUe9kIDLQKoXcQLy3CAM=;
        b=QoaQ5WwOAcMT/cy2SNvuHVDpQvKBnpfHQFumKOwQSJqB4cif4rSPmEi5/rSKLhf1Rx
         772gZUKXJSt3JXMR9yd3a2B4D4Ryfzbkj1jqkeV3hObO5ET6qxMgPAUzMPlrcqQI4kM0
         rgTVyc1KDSl+5BjPOHxZJNsJhEOXiioqYJPnI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741094290; x=1741699090;
        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=cjhupSRthIewKVU6xizNO2GzUe9kIDLQKoXcQLy3CAM=;
        b=nRvEp+DIYn4R5fxOVQALiMWNtW/CEt1/zErEvYTlEUpFFGGqt08CBNw9l8dyTWAzRs
         XZy17tCSx1lKkicTOJP25F6mLwu6GbR4YKvIcAmDFgF6Og88hEUtr6qe2Ri8HkFEeTjk
         JnoNcLWPxuFZ61h7sesHRECkNlZwvdQoUQdDFcvlUJ2X1/3RBTtsnpZrMO8K4GHurUV6
         eDV0QUB5TsFhjnzbN3OdKJFqr66kJH4KCbyHTE0kK00RrdWmJQLS3uFzD7SNwVmrmiUO
         7wNrJNW6/46JHDNW+J6uVWfYcf7P8ObdcFg7k0TIN9xkVVtNrznYIwRsx+Cf+k2qMY/B
         KqCA==
X-Forwarded-Encrypted: i=1; AJvYcCWPsq4RZ7Xou+spmpXSvP5g4f7AwA/x5I2CqHaEm2x3UZzR9zt7clWleefakQgX70tsaOaWQ6AAbzU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIH8mg9n4NywysfQvJV3ykMeo6MMNsBhzAU16tO+MIZt3IrrRI
	ukICrstlUetpDSNsHPDzXdkx2rknT71ewVBztdREwEku9NBLSdoF131vuYLnnFyZ7DAWYBMFuoh
	SHVo4IUz1ao5+j36ZUSojmjffzlodUySIV/keug==
X-Gm-Gg: ASbGnctcggocFGtLQW4CUUrWgwJ3tMTKRHcLwIo8JQdz7hXZT9rDfaD8NNqZ6xDjdud
	/hkRYeQKU0qSELdf7UbhrP+kMrwUAy30sNztRULW+B7R0hTu3j8GlBNQIxHZn/t355gUA17xMDc
	njTA+LIpE4IpQqWGAvU7m4KY8b
X-Google-Smtp-Source: AGHT+IE5RZIuJUdNzds0TsdmVE0L47YKdf0cbIo1Q6UdOVq7ZHnAGO7fY3ZLTKtxO64NqkI1mdHA+J5lpOFp5RjrxSk=
X-Received: by 2002:a05:6870:65a0:b0:2c1:b217:59ac with SMTP id
 586e51a60fabf-2c1b2177f4fmr5760953fac.23.1741094290413; Tue, 04 Mar 2025
 05:18:10 -0800 (PST)
MIME-Version: 1.0
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
 <D87ENZNEBN2Z.1E8WKX6K8EUE1@cloud.com> <Z8bfMmM5CJ5PQdhm@macbook.local>
 <CACHz=ZgmBxNKjA7KFktk-5jcPvWDn6DWpwCUEFzGO9qyJYuZsA@mail.gmail.com> <Z8byRwON4Oc23dxS@macbook.local>
In-Reply-To: <Z8byRwON4Oc23dxS@macbook.local>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 4 Mar 2025 13:17:58 +0000
X-Gm-Features: AQ5f1JqKgF0tnyWQT7YjQCTfXXrOGbJWa6XEDRkEezhS8jHqQImGI3lrGzPrvjk
Message-ID: <CACHz=ZgTBf_=x8-myVHRnCYqF+VBCVwZ8rd83E9r=Ec8tLL+hw@mail.gmail.com>
Subject: Re: [PATCH] docs: Add some details on XenServer PCI devices
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>, xen-devel@lists.xenproject.org, 
	Anthony PERARD <anthony.perard@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 4, 2025 at 12:30=E2=80=AFPM Roger Pau Monn=C3=A9 <roger.pau@cit=
rix.com> wrote:
>
> On Tue, Mar 04, 2025 at 11:17:42AM +0000, Frediano Ziglio wrote:
> > On Tue, Mar 4, 2025 at 11:08=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.pau=
@citrix.com> wrote:
> > >
> > > On Tue, Mar 04, 2025 at 10:21:52AM +0000, Alejandro Vallejo wrote:
> > > > Hi,
> > > >
> > > > On Fri Feb 28, 2025 at 3:21 PM GMT, Frediano Ziglio wrote:
> > > > > Describe the usage of devices 5853:0002 and 5853:C000.
> > > > >
> > > > > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > > > > ---
> > > > >  docs/man/xen-pci-device-reservations.7.pod | 9 +++++++++
> > > > >  1 file changed, 9 insertions(+)
> > > > >
> > > > > diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/ma=
n/xen-pci-device-reservations.7.pod
> > > > > index 9ddf3a18ad..62f3bd2105 100644
> > > > > --- a/docs/man/xen-pci-device-reservations.7.pod
> > > > > +++ b/docs/man/xen-pci-device-reservations.7.pod
> > > > > @@ -10,6 +10,8 @@ use of this is with device ID 0x0001 to adverti=
se the Xen Platform PCI
> > > > >  device - the presence of this virtual device enables a guest Ope=
rating
> > > > >  System (subject to the availability of suitable drivers) to make=
 use of
> > > > >  paravirtualisation features such as disk and network devices etc=
.
> > > > > +XenServer, for Windows machines, presents Xen Platform device wi=
th device
> > > > > +ID 0x0002 instead of 0x0001.
> > > >
> > > > nit: in the interest of future-proofing the doc 's/presents/may pre=
sent/'?
> > > >
> > > > >
> > > > >  Some Xen vendors wish to provide alternative and/or additional g=
uest drivers
> > > > >  that can bind to virtual devices[1]. This may be done using the =
Xen PCI
> > > > > @@ -86,4 +88,11 @@ and unplug protocol.
> > > > >  libxl provides support for creation of a single additional xen-p=
vdevice.
> > > > >  See the vendor_device parameter in xl.cfg(5).
> > > > >
> > > > > +=3Ditem 2.
> > > > > +
> > > > > +XenServer, for Windows machines, presents a device with ID 0xC00=
0.
> > > > > +This device is a placeholders for Windows update.
> > > > > +Device 0xC000 is presented with a Xen Platform PCI device, usual=
ly with ID
> > > > > +0x0002.
> > > > > +
> > > > >  =3Dback
> > > >
> > > > Wouldn't this be better covered under "=3Ditem 1"? Device 0xc000 is=
 a
> > > > xen-pvdevice, so it could be simplified to a single line of "XenSer=
ver uses
> > > > device-id=3D0xc000 for its pvdevice on Windows guests", or somethin=
g like that.
> > >
> > > I think it's important to note that c000 always appears in conjunctio=
n
> > > with 0001 or 0002, and it's not a replacement for either of those
> > > devices.
> > >
> >
> > Do you have something more precise in mind? Can you suggest what to wri=
te?
>
> I'm fine with your proposed text, my reply was to Alejandro to note
> that I think his proposed text was missing information that was on
> your original proposal.
>
> "XenServer might present a device with ID 0xC000.  Such device is a
> placeholder for Windows update usage and is always exposed in
> conjunction with a Xen Platform PCI device, usually with ID 0x0002."
>
> I don't care much whether this is on a separate item or not.  My
> preference would be for adding a second item, as to prevent cluttering
> the first one.
>
> I've also looked at xl.cfg, and it mentions:
>
> vendor_device=3D"VENDOR_DEVICE"
>
> Selects which variant of the QEMU xen-pvdevice should be used for this
> guest. Valid values are:
>
>   none The xen-pvdevice should be omitted. This is the default.
>
>   xenserver The xenserver variant of the xen-pvdevice (device-id=3DC000)
>   will be specified, enabling the use of XenServer PV drivers in the
>   guest.
>
> Isn't this wrong, as selecting `xenserver` should instead use
> device-id=3D0002 but not C000?  Maybe I'm not understanding how this is
> supported to work.
>

No, the device is correct, it should be C000. 0002 is a xen platform
device, C000 is a xen-pvdevice device.
Apparently device 0002 was the first attempt to make Windows update
pick up Citrix drivers on Windows, C000 is the final attempt.
Note that recently released XCP-ng signed drivers are supporting both
devices 0001 and 0002 (I hope this sentence does not cause more
questions than answers).

> > > Likewise it's important to note that 0001 and 0002 are to my
> > > understanding mutually exclusive, and only one of those must be
> > > exposed.
> >
> > Not exactly sure if this is a must or a should. From my testing,
> > presenting 2 devices (well, they are mostly the same) works. But, as
> > they do the same things it seems reasonable to avoid the duplication.
> > It looks like a good recommendation.
>
> I was expecting it to not work, as I imagined Linux would then attempt
> to initialize the grant tables twice for example.
>

That's the reason why not to present 2 of these devices. But one would
override the other and everything should work even on Linux.

> Thanks, Roger.

Preparing a v2.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 13:23:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 13:23:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901142.1309121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpSEz-0008VZ-PJ; Tue, 04 Mar 2025 13:23:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901142.1309121; Tue, 04 Mar 2025 13: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 1tpSEz-0008VS-Lp; Tue, 04 Mar 2025 13:23:21 +0000
Received: by outflank-mailman (input) for mailman id 901142;
 Tue, 04 Mar 2025 13: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=QBId=VX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tpSEy-0008VM-KS
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 13:23:20 +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 d606aa11-f8fb-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 14:23:18 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43bc638686eso11251965e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 05:23:18 -0800 (PST)
Received: from localhost.localdomain (172.74.6.51.dyn.plus.net. [51.6.74.172])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43aba5710f6sm234888765e9.29.2025.03.04.05.23.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 05:23:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d606aa11-f8fb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741094598; x=1741699398; 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=I1uscNqFaFtz43eRgY1wNwFVffA/ar3ed9Rc6ucAINU=;
        b=adrMNRMrObsH0ykEwyUaeZ1yU3QdAl6XSMSEoJXWhTcvMtI25u1fOV/CpzsyvcAsrT
         N0wh28GKO1/NLHN6h8NPG8GwsZbK/GN2wYwBMvEyVl9bfNG+tHBmkHnOzxxlV23Bn6D8
         O98Vk+QveoG3QHKQy2+J2a/jWnBtAW6B9po7k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741094598; x=1741699398;
        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=I1uscNqFaFtz43eRgY1wNwFVffA/ar3ed9Rc6ucAINU=;
        b=X4CqEufTkQ3/KPUCSlnjsjeyZO18NMFFVX4v/AeXJNuI6rPQVjDbof3bqlo7WZ4v+w
         vGbUcwBJwh1+ivXJc7Jx/jjhgpP5C9Chp1C0Gg1DqPZ1a0WmmOvwFMfLIzBl8q68mT+e
         IHCMQWpZGIqfsd0wZHU3qEDoNj2ALJh9ySqWUktknXoAnmG+VKPHH41RwfAxO6pp88tz
         kICUQ+3nPLNmvF6nchPyIh4rn5ExXQcSAybrnEugpKRzP2XUtpqlVy1ljpGmQdXkTk3a
         OxOiKjKubsTiUy3WRl/pFwi6vnrLwsDPbipuY0/iwOxvs6Jk/DeqA1UW+Th9QbRlpD7l
         rlqw==
X-Gm-Message-State: AOJu0Yz1IpO+1fe0qWopYlBON+/BE5rTq4GU0QvqwAIYSh2fQeehBSa9
	/TE54fMgXUsOMgVUhBXCy3KoTSuUjcLVnzqZCnG0COBrogE8TJRFtWIixQNnXxVbA5qUGlZAbXF
	T
X-Gm-Gg: ASbGncvsYHysC29ZVOys28oYvNOO41Xbi6nwsiwKt5yo7p4ID5Npo4OUF6rEsBgdFco
	altw32TZiSfqpaOqRf1MEq2iIoLt53GtwMvsYehxTSWj17MWIUXBQK6Mo8T5JX/9CddF+p4LxLk
	WRLZ9PFbofZpASGcEd2IDBFtPZCfl5XLop4NKqElIXDVkNOch2Azz//3Xmfm32eLO4H8y+W4ORX
	c9Ddgfgh9eLIeltFcYLT4pXEi/xVS+v/t6Qoh5OyDMEYRIT8Es8Il7dPZWut1OUADM5ZfrJVEKl
	mj8H8lPMzb789EATl6Ifd6DrKS/gNiGeUY2dbbnUHZZdU5KqcEjGaokkXDWgWG7Fomui/gUAnqG
	a7HL35Gre1w==
X-Google-Smtp-Source: AGHT+IHf99zJA6gc6my3UzUPsv1ZdlLiru2rHyzOho1fFKvDyp60c8sgQpLuwIZw3nK34y/NsmMQWQ==
X-Received: by 2002:a05:600c:3c98:b0:439:98fd:a4b6 with SMTP id 5b1f17b1804b1-43bcb04c074mr27208325e9.15.1741094597631;
        Tue, 04 Mar 2025 05:23:17 -0800 (PST)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>
Subject: [PATCH v2] docs: Add some details on XenServer PCI devices
Date: Tue,  4 Mar 2025 13:22:53 +0000
Message-Id: <20250304132253.23955-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250228152100.23105-1-frediano.ziglio@cloud.com>
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Describe the usage of devices 5853:0002 and 5853:C000.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- address minor comments
---
 docs/man/xen-pci-device-reservations.7.pod | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/man/xen-pci-device-reservations.7.pod
index 9ddf3a18ad..adc325069c 100644
--- a/docs/man/xen-pci-device-reservations.7.pod
+++ b/docs/man/xen-pci-device-reservations.7.pod
@@ -10,6 +10,9 @@ use of this is with device ID 0x0001 to advertise the Xen Platform PCI
 device - the presence of this virtual device enables a guest Operating
 System (subject to the availability of suitable drivers) to make use of
 paravirtualisation features such as disk and network devices etc.
+XenServer, for Windows machines, may present Xen Platform device with device
+ID 0x0002 instead of 0x0001. Device 0x0001 and 0x0002 should be mutually
+exclusive.
 
 Some Xen vendors wish to provide alternative and/or additional guest drivers
 that can bind to virtual devices[1]. This may be done using the Xen PCI
@@ -86,4 +89,8 @@ and unplug protocol.
 libxl provides support for creation of a single additional xen-pvdevice.
 See the vendor_device parameter in xl.cfg(5).
 
+XenServer might present a xen-pvdevice device with ID 0xC000.
+Such device is a placeholder for Windows update usage and is always exposed
+in conjunction with a Xen Platform PCI device, usually with ID 0x0002
+
 =back
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 14:09:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 14:09:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901160.1309147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpSxl-0005ib-7V; Tue, 04 Mar 2025 14:09:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901160.1309147; Tue, 04 Mar 2025 14:09: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 1tpSxl-0005iU-4P; Tue, 04 Mar 2025 14:09:37 +0000
Received: by outflank-mailman (input) for mailman id 901160;
 Tue, 04 Mar 2025 14:09: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=/Z5M=VX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpSxj-0005iN-VM
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 14:09:36 +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 4c2c8441-f902-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 15:09:33 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-390dd35c78dso3668326f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 06:09:33 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4848252sm17937562f8f.69.2025.03.04.06.09.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 06:09:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c2c8441-f902-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741097373; x=1741702173; 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=aTJN0h9Uin/WBU/IdFVCuueJG3VRjSRdBcUhoLoOg6w=;
        b=KU4OpW85xCKhx9nsgkdjLY/UU5Dk+otf7VVypGsEq6dFHiA7nSwGUHPkQiM48JPsm6
         vbRCgfHv9zY0YdQjfPqc9TCJgTBlsCYgZ7vsMmFi/6VH7WZFy9S3lK/6RedzTxFuaTxm
         vSdoCMP9n0+NiXvKtQB5DJYIriBVvvJ/E6m+8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741097373; x=1741702173;
        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=aTJN0h9Uin/WBU/IdFVCuueJG3VRjSRdBcUhoLoOg6w=;
        b=GkHaExf7fos+Qg/FLKwtzrne2dld+5sryTUW8zG5LSw62lON2RAoVHPbFSal/j3R9Z
         Rn1Jn/q78yXNG7qNf6reY89Yu236qa5mbZl2gNoPEyhplswsaHJPBa0Oqsi7Hd7cI14H
         6hr9I9NUSyujonqK1mKvpK+FOyagTYBTy9DpsPEd6bL4Rn5KNUC+RCGjy/t3JyA/KsBD
         UqDMA0uJCcoiBGUfSCzK884Tn7EAUqh2+Jv186LWcqWqCkltBB9FzvHtFDy5vc3vuRvm
         N4QtFOgTCtTe6zo2aUbGAjgjEkp0L26WUer1bQ7+64qFG2A4yWH1jf7tvkcprErMnSBd
         jOVg==
X-Gm-Message-State: AOJu0Yzm8bBBppwyWk6NaZVJYt3yH2V6GuDbA2yWOAO5J2zxA1gBm9sp
	7KhPICDAqaY/4ycBHaNNxuaejERzDJo5r/mBPNXwnYzRUG6Nl3I6hj1UJX5Vhqc=
X-Gm-Gg: ASbGnctabxnaq3wJF+Sc22CMq6JDxfs4P0ud686yDAzkJhfojXNjkmaR+xGQK3y+uHk
	5nBI9Ee9zA3Ao0Rz7wPu24KukLx9DfkNMH3tWoisOUYNTcXLI+D4euDN2H4Yq33Uuw6xylbLtkf
	pwxBEod5aaX0PCpZfedBgnEmbASOL/35u3QNAeXugebFqgdzGjxRqAmyfkOsu7OcXd1bhvNICfo
	dNfzvbanK1ZpU3qQJjDHRR0KVlkZM0KRtRxFc8JOiHnlltBSDdKBDlo1PtjrlCA6laqdFOfplGs
	sgXLpMy9Cc1bH1cUr/mfBtjbRzvHKjsBvHV6K+3V4km6R0hBbj82ZUW25G55nJ0pIXuqL2Y+Epk
	Q+14k3AFk
X-Google-Smtp-Source: AGHT+IHZkwPcxsdBKPSXYxLlaLBUx97Bc9hz9RWy0cW1y4QMSeZnEmFiE09A0gElo+j/AMnGg533aQ==
X-Received: by 2002:a5d:64c7:0:b0:38d:ba8e:7327 with SMTP id ffacd0b85a97d-3911560528dmr3160653f8f.8.1741097372994;
        Tue, 04 Mar 2025 06:09:32 -0800 (PST)
Message-ID: <8a3f97d9-a7f8-4358-86c2-74dada636b1d@citrix.com>
Date: Tue, 4 Mar 2025 14:09:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 3/6] CI: Refresh the Debian 12 arm64 container
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1730743077.git.javi.merino@cloud.com>
 <ad9bcd46c85e738eccb2c51b42ae7d9d0d02fc5d.1730743077.git.javi.merino@cloud.com>
 <alpine.DEB.2.22.394.2411061615590.89051@ubuntu-linux-20-04-desktop>
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: <alpine.DEB.2.22.394.2411061615590.89051@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/11/2024 4:23 pm, Stefano Stabellini wrote:
> On Wed, 6 Nov 2024, Javi Merino wrote:
>> Rework the container to use heredocs for readability and use
>> apt-get --no-install-recommends to keep the size down.  Rename the job
>> to debian-12-arm64-* to follow the naming scheme of all the other CI
>> jobs.
>>
>> This reduces the size of the debian:12-arm64v8 from 2.25GB down to 1.62GB.
>>
>> The container is left running the builds and tests as root to avoid
>> breaking the xilinx runners.
>>
>> Signed-off-by: Javi Merino <javi.merino@cloud.com>
>
> Hi Javi,
>
> I generated a new dependency diff, this time it should be correct, see
> the diff appended below. Most of the differences are not concerning,
> but I have a couple of questions.

Javi has moved elsewhere, so I guess I'm picking this up.

>
>
>> --- /tmp/1a	2024-11-06 16:12:09.235734221 +0000
>> +++ /tmp/2a	2024-11-06 16:12:15.203659831 +0000
>> @@ -1,36 +1,32 @@
>>  acpica-tools
>> -bcc
>> -bin86
>>  bison
>>  build-essential
>>  busybox-static
>> +ca-certificates
>>  checkpolicy
>> -clang
>>  cpio
>>  curl
>>  device-tree-compiler
>>  expect
>> +file
>>  flex
>> -git
>> -libaio-dev
> I think this one might be needed to build QEMU but given that we don't
> have any build jobs building QEMU on ARM today anymore, it could be
> removed. We are going to add a new build job to build QEMU on ARM at
> some point soon but we can add any relevant dependency back at that
> time.

Deps can be added back when (if) they're needed.Â  It's far easier to do
it this way around, than the other.

There's more that can be stripped, I think.

Without QEMU, we can drop libglib2.0-dev, libpixman-1-dev.

acpica-tools seems like an x86-ism to me.


I am surprised at the addition of "file".Â  It's listed as needed for the
test phase, but if it wasn't present before, how did things work?

That said, I really would prefer to strip out all the test container
stuff and get that working through artefacts, which will reduce test time.

>> +git-core
>> +golang-go
>> +libbz2-dev
>> +libext2fs-dev
>>  libfdt-dev
>> -libfindlib-ocaml-dev
>>  libglib2.0-dev
>>  liblzma-dev
>> -libncurses5-dev
>> -libnl-3-dev
> I think it is the same for these two

curses is for xentop.Â  nl-3 is for `xl colo` and surely not needed.

>
>
>> +liblzo2-dev
>>  libpixman-1-dev
>>  libyajl-dev
>> -markdown
>> -nasm
>> +libzstd-dev
>> +ocaml-findlib
>>  ocaml-nox
>> -pandoc
> The removal of pandoc and markdown both concerns me. Wouldn't this cause
> the documents under docs/ not to be built anymore?

This is intentional, because they're huge.Â  I'm going to do docs builds
separately, including wiring up -Werror.

>
>
>>  pkg-config
>>  python3-dev
>>  python3-setuptools
>> -transfig
>>  u-boot-qemu
>>  u-boot-tools
>>  uuid-dev
>>  wget
>> -zlib1g-dev

zlib wants to say.Â  It's part of the xenguest dombuilder.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 14:40:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 14:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901180.1309168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpTRs-0006Rp-Vf; Tue, 04 Mar 2025 14:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901180.1309168; Tue, 04 Mar 2025 14:40: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 1tpTRs-0006Ri-QA; Tue, 04 Mar 2025 14:40:44 +0000
Received: by outflank-mailman (input) for mailman id 901180;
 Tue, 04 Mar 2025 14:40: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=wukS=VX=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tpTRr-0006Db-HA
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 14:40:43 +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 a39e1a8b-f906-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 15:40:38 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5e55ec94962so3346702a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 06:40:38 -0800 (PST)
Received: from localhost (0545937c.skybroadband.com. [5.69.147.124])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-abf5d0bcb77sm541310566b.49.2025.03.04.06.40.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 06:40:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a39e1a8b-f906-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741099238; x=1741704038; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kL61Stni3IrXucg0ZRqrKuzdxsPSeZvZsyfQDm82Qwc=;
        b=E3f1KwfeBViCQI8RzFPLO53PkQ3hs2PJnWtq4hDnd38zwRR8GLpxJo9dlnxsnZR0Zq
         pqmI1/YAcK051vOxMMb9YdpabCA/WiRefmoZs8/yFACgbMUpyh5xmMQmnaHK63x7x/lH
         RTryZdTb41GBxbRCPZE5jdEHlRMl1cBd+exhY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741099238; x=1741704038;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=kL61Stni3IrXucg0ZRqrKuzdxsPSeZvZsyfQDm82Qwc=;
        b=JrrgFwGAZcHdYTiOaQXwiDm/LTdNf9uEQivY1tPgZebWnklL3iuT/Wtj5MJI/wITYv
         62T59jH+T4HBQOfJvk0uYrXUXqTyGzizVPJuJ1GfT7wn2C1d93ZOUoMHw1Y+rzlID3nX
         Y5zkc2jkx/8LY7DQFnGaNQCYFtHOXbSm/otn8x9AvzTzlR4sxBrlxWQSymmXRuGgLBQn
         VRpl/cFnO8oftCxRxVhstlgeKxeYa+At19Oi6dL19Leetel/GjE4G5X2LBA6FmnioTHd
         GUshPsWFU9cOZBk2di9V0jDr+p96hVGlZd2xtzN9z3ndpuz+uFgH1q+jactdCtZDfREr
         3feQ==
X-Gm-Message-State: AOJu0YzxIWCnJa5DTY3JyV/qEZBhioyUaddIUYupJAfv/gSkb0HkjEbb
	phR3ZkeMC9oLMw8XvPjJKLZaXckyD/rcai67qvaO/YiEsjM0q2sS7Pb5tgjTEm63UnSAyob1V3q
	u
X-Gm-Gg: ASbGnctoJ8nQdJH6FW9vHML4aVgvgYuGFv28hXB9oxju3t7kdg8+bHpdy0fVhDWEFOQ
	rVcGIxd5lQlPjhGEASWzom0fVtj7XZ0Xal7kbdIVbTH7uGTrlBcfV1KEoJb6PJPFTNIfETVzPLS
	v/fbov2SvubsvIOdUTqjIyv2RMA5kdjsZV9hJLtyuAlxFEPxQtqdOgnoeMG+oJyVk1A4Dtke6Np
	RaVU++FSphsVUVeN81JgXUpfXTdMADVru1vDogljB9ENOuU9/5Oof1WhfdnGYDBeB1hTLpq8cfZ
	IN4xUPT4fFAHFWhs14wnbIdjUEVpHQGm73UkOGJRcIz6Vf/itHfw/HQIaY3gmyXuc4PR9BsWNFU
	=
X-Google-Smtp-Source: AGHT+IHVl+DOhwvmy+TgvcH64AyYIYxjb/lu8PRHRo+n8sCGgzieZallPrV0voVjEgOXWOEySXruxg==
X-Received: by 2002:a17:907:d90:b0:ac1:e332:b1ec with SMTP id a640c23a62f3a-ac1e332b41dmr678308666b.10.1741099237764;
        Tue, 04 Mar 2025 06:40:37 -0800 (PST)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 04 Mar 2025 14:40:32 +0000
Message-Id: <D87K61FQGB1E.28MJY4MPV0KLV@cloud.com>
Cc: <xen-devel@lists.xenproject.org>, "Anthony PERARD"
 <anthony.perard@vates.tech>, "Andrew Cooper" <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] docs: Add some details on XenServer PCI devices
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, "Frediano
 Ziglio" <frediano.ziglio@cloud.com>
X-Mailer: aerc 0.18.2
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
 <D87ENZNEBN2Z.1E8WKX6K8EUE1@cloud.com> <Z8bfMmM5CJ5PQdhm@macbook.local>
 <CACHz=ZgmBxNKjA7KFktk-5jcPvWDn6DWpwCUEFzGO9qyJYuZsA@mail.gmail.com>
 <Z8byRwON4Oc23dxS@macbook.local>
In-Reply-To: <Z8byRwON4Oc23dxS@macbook.local>

For the record, my remarks are fairly inconsequential. This patch is a net
positive addition to the man page and I think it should go in.

On Tue Mar 4, 2025 at 12:29 PM GMT, Roger Pau Monn=C3=A9 wrote:
> On Tue, Mar 04, 2025 at 11:17:42AM +0000, Frediano Ziglio wrote:
> > On Tue, Mar 4, 2025 at 11:08=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.pau=
@citrix.com> wrote:
> > >
> > > On Tue, Mar 04, 2025 at 10:21:52AM +0000, Alejandro Vallejo wrote:
> > > > Hi,
> > > >
> > > > On Fri Feb 28, 2025 at 3:21 PM GMT, Frediano Ziglio wrote:
> > > > > Describe the usage of devices 5853:0002 and 5853:C000.
> > > > >
> > > > > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > > > > ---
> > > > >  docs/man/xen-pci-device-reservations.7.pod | 9 +++++++++
> > > > >  1 file changed, 9 insertions(+)
> > > > >
> > > > > diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/ma=
n/xen-pci-device-reservations.7.pod
> > > > > index 9ddf3a18ad..62f3bd2105 100644
> > > > > --- a/docs/man/xen-pci-device-reservations.7.pod
> > > > > +++ b/docs/man/xen-pci-device-reservations.7.pod
> > > > > @@ -10,6 +10,8 @@ use of this is with device ID 0x0001 to adverti=
se the Xen Platform PCI
> > > > >  device - the presence of this virtual device enables a guest Ope=
rating
> > > > >  System (subject to the availability of suitable drivers) to make=
 use of
> > > > >  paravirtualisation features such as disk and network devices etc=
.
> > > > > +XenServer, for Windows machines, presents Xen Platform device wi=
th device
> > > > > +ID 0x0002 instead of 0x0001.
> > > >
> > > > nit: in the interest of future-proofing the doc 's/presents/may pre=
sent/'?
> > > >
> > > > >
> > > > >  Some Xen vendors wish to provide alternative and/or additional g=
uest drivers
> > > > >  that can bind to virtual devices[1]. This may be done using the =
Xen PCI
> > > > > @@ -86,4 +88,11 @@ and unplug protocol.
> > > > >  libxl provides support for creation of a single additional xen-p=
vdevice.
> > > > >  See the vendor_device parameter in xl.cfg(5).
> > > > >
> > > > > +=3Ditem 2.
> > > > > +
> > > > > +XenServer, for Windows machines, presents a device with ID 0xC00=
0.
> > > > > +This device is a placeholders for Windows update.
> > > > > +Device 0xC000 is presented with a Xen Platform PCI device, usual=
ly with ID
> > > > > +0x0002.
> > > > > +
> > > > >  =3Dback
> > > >
> > > > Wouldn't this be better covered under "=3Ditem 1"? Device 0xc000 is=
 a
> > > > xen-pvdevice, so it could be simplified to a single line of "XenSer=
ver uses
> > > > device-id=3D0xc000 for its pvdevice on Windows guests", or somethin=
g like that.
> > >
> > > I think it's important to note that c000 always appears in conjunctio=
n
> > > with 0001 or 0002, and it's not a replacement for either of those
> > > devices.

That's already stated in the item1 description.

  Note that the presence of the Xen Platform PCI device is generally a
  pre-requisite for an additional xen-pvdevice as it is the platform
  device that provides that IO ports necessary for unplugging emulated
  devices. See hvm-emulated-unplug.markdown for details of the IO ports
  and unplug protocol.

> > >
> >=20
> > Do you have something more precise in mind? Can you suggest what to wri=
te?
>
> I'm fine with your proposed text, my reply was to Alejandro to note
> that I think his proposed text was missing information that was on
> your original proposal.
>
> "XenServer might present a device with ID 0xC000.  Such device is a
> placeholder for Windows update usage and is always exposed in
> conjunction with a Xen Platform PCI device, usually with ID 0x0002."
>
> I don't care much whether this is on a separate item or not.  My
> preference would be for adding a second item, as to prevent cluttering
> the first one.
>
> I've also looked at xl.cfg, and it mentions:
>
> vendor_device=3D"VENDOR_DEVICE"
>
> Selects which variant of the QEMU xen-pvdevice should be used for this
> guest. Valid values are:
>
>   none The xen-pvdevice should be omitted. This is the default.
>
>   xenserver The xenserver variant of the xen-pvdevice (device-id=3DC000)
>   will be specified, enabling the use of XenServer PV drivers in the
>   guest.
>
> Isn't this wrong, as selecting `xenserver` should instead use
> device-id=3D0002 but not C000?  Maybe I'm not understanding how this is
> supported to work.

I think there's some confusion going on.

xen-pvdevice !=3D xen-platformdevice

pvdevice is 0xc000. platformdevice is 0001 or 0002.

platformdevice is the PCI device used for device unplug, grant table
initialization and so on. pvdevice is a true dummy device present for the
sole purpose of letting Windows bind the drivers to an actual device that
can't be 0002 for (afaiui) very, very, very stupid and non-technical reason=
s.

The man page HINTS at this when talking about binding drivers to devices.

>
> > > Likewise it's important to note that 0001 and 0002 are to my
> > > understanding mutually exclusive, and only one of those must be
> > > exposed.
> >=20
> > Not exactly sure if this is a must or a should. From my testing,
> > presenting 2 devices (well, they are mostly the same) works. But, as
> > they do the same things it seems reasonable to avoid the duplication.
> > It looks like a good recommendation.
>
> I was expecting it to not work, as I imagined Linux would then attempt
> to initialize the grant tables twice for example.
>
> Thanks, Roger.

It may very well be a case of "happens to work, but it really shouldn't". T=
he
code does go through `gnttab_init()` twice if the probe succeeds twice. Not
that it couldn't be changed to behave differently, but it currently doesn't=
.

Anyhow, I think you're right in that 0001 and 0002 must not coexist even if
mechanically they may be able to. In the name of everyone's sanity.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 14:40:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 14:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901179.1309157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpTRr-0006Dj-Gc; Tue, 04 Mar 2025 14:40:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901179.1309157; Tue, 04 Mar 2025 14:40: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 1tpTRr-0006Dc-DS; Tue, 04 Mar 2025 14:40:43 +0000
Received: by outflank-mailman (input) for mailman id 901179;
 Tue, 04 Mar 2025 14:40: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=/Z5M=VX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpTRq-0006DV-5w
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 14:40:42 +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 a4fb3e74-f906-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 15:40:40 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-439a4fc2d65so61332905e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 06:40:40 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b7dcfsm18131038f8f.55.2025.03.04.06.40.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 06:40:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4fb3e74-f906-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741099240; x=1741704040; 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=wz3CGKRznTPHEVLLxfje4HZ3E3fMWbD5uwjqAe6IQok=;
        b=Xf8r/XGCyqnQuyTOrmd9LWrOpUGXlvWpvO9idgGbIK6/FUIgi/15wm1FHMyJ7IPhoX
         0BKz5DiZNLL6je2AIEW9mo7Z9iccvWJYtXR0XcGJROQbrJ36QcHa1OyAj12VidZ7fQkh
         xFdCVZC4mPyEgeqDaLg4xgW2JWLX2YLxSDjH8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741099240; x=1741704040;
        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=wz3CGKRznTPHEVLLxfje4HZ3E3fMWbD5uwjqAe6IQok=;
        b=JC6m+UlG6Oc8YVmEsqvdiHJ99I5bC954h2Ef/9hd9kku7qn18cHFLIVdCOCqy4cxmR
         OVRfUu+6PDSZs+pJFaMZcpsgMyEPKKD7HG+W0TktRCBpj8DIvdNryKZGfa1G1+mkPehI
         HXFutEuXAwZmNZQyDVKn2bnkzPKfPKPvZJDYQcti8QipNyETaTjr1O+wyP7Ro2/N8cPE
         +bVNlPaZcKuDUcsMjztx0xfhiXU3TzGOyaHlXz2qLsk4pIntn6N8cw8TsNTA01dtfrD9
         WCSlWLbAJtfMa9pS0Ccn6EzuzD3iVBhv3HfJeOQleDKx5DTAmf+pkqEFodKhajq9N07h
         pSdQ==
X-Forwarded-Encrypted: i=1; AJvYcCXEn/W7vvoHcy8IWAXp8lqNtPi2GvhRo4QUZqoNJtYU66CjasYPcQs+OehMGQOftWOuT57WNS6QtZw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUr2R6m5Fb2Kn1zXQzSl0gC99sR/wr2rgWnMaevUjq4aBaHwNh
	nRUAZAfJeZFLWCbSM1bxrZ62U1UZmDLqAIS0WeKD7vlFZh4Ag7yHRULyb3vsvnU=
X-Gm-Gg: ASbGnctEKyENvERxdtGZ1wskt2ScsUBu3h3zjbEah3aIdmbNc2lJCu3us12pFFsVQ4l
	/C6PAg7TITymBJQ/kdqhFq8wqzxR32lWBmBbvQiRwLTDJFjl3gECuB+nBLu4JT1EDMcsjFHWN4g
	0vP30C4G28MpybFrvYDwosODKFH5JPGWaP1Fu7+Bzl1PFLixrQyfzj3uFU71jmY/fRNSu0EmB5/
	raELj8R1ZIzu6vC9j/jeG8dpfyCLaWqbFVSusgjQMBBWKG7AztJgr7itjEx325+mMVjcHlxaEWc
	NhVZSWn3P//Nm+OT/wefaHDD/A9v/lt2GKNYwIjx9roz+Og583Zml16Akkcgvailcf1NLo3nkHp
	qYdLNlJMz
X-Google-Smtp-Source: AGHT+IGdbHCCNdHhnLlKXzniAgyUitnFAWdIs5/Zy++dwKS6y0X/ZLqWl0CGLhev+/+nR4ZFb/dKBQ==
X-Received: by 2002:a05:600c:4b17:b0:43b:bfb7:e099 with SMTP id 5b1f17b1804b1-43bbfb7e424mr91599455e9.29.1741099240084;
        Tue, 04 Mar 2025 06:40:40 -0800 (PST)
Message-ID: <0981f331-8489-4327-93a3-d063bb00362d@citrix.com>
Date: Tue, 4 Mar 2025 14:40:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] x86/IDT: Make idt_tables[] be per_cpu(idt)
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: <20250224160509.1117847-1-andrew.cooper3@citrix.com>
 <20250224160509.1117847-6-andrew.cooper3@citrix.com>
 <59e8952f-d49b-46de-ab57-07536a1028c0@suse.com>
 <6d81b7b7-5317-4e49-8b39-1e3810d244d7@citrix.com>
 <1d4aa263-3a9b-4968-9b16-3dc3dcdc4b0c@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: <1d4aa263-3a9b-4968-9b16-3dc3dcdc4b0c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/02/2025 4:33 pm, Jan Beulich wrote:
> On 25.02.2025 16:40, Andrew Cooper wrote:
>> On 25/02/2025 9:07 am, Jan Beulich wrote:
>>> On 24.02.2025 17:05, Andrew Cooper wrote:
>>>> --- a/xen/arch/x86/cpu/common.c
>>>> +++ b/xen/arch/x86/cpu/common.c
>>>> @@ -819,6 +819,7 @@ void load_system_tables(void)
>>>>  	 * support using ARRAY_SIZE against per-cpu variables.
>>>>  	 */
>>>>  	struct tss_page *tss_page = &this_cpu(tss_page);
>>>> +        idt_entry_t *idt = this_cpu(idt);
>>> Nit: Tab indentation here.
>> Yeah, I noticed that only after sending the email.Â  Other parts of the
>> FRED series vastly changes this function.
>>
>>>> @@ -830,7 +831,7 @@ void load_system_tables(void)
>>>>  		.limit = LAST_RESERVED_GDT_BYTE,
>>>>  	};
>>>>  	const struct desc_ptr idtr = {
>>>> -		.base = (unsigned long)idt_tables[cpu],
>>>> +		.base = (unsigned long)idt,
>>>>  		.limit = sizeof(bsp_idt) - 1,
>>>>  	};
>>> Coming back to the comment on the earlier patch: Now that you touch all
>>> of the idt_tables[] uses anyway, ...
>>>
>>>> @@ -30,7 +31,7 @@ typedef union {
>>>>  } idt_entry_t;
>>>>  
>>>>  extern idt_entry_t bsp_idt[X86_IDT_VECTORS];
>>>> -extern idt_entry_t *idt_tables[];
>>>> +DECLARE_PER_CPU(idt_entry_t *, idt);
>>> ... this probably really ought to become
>>>
>>> DECLARE_PER_CPU(idt_entry_t (*)[X86_IDT_VECTORS], idt);
>>>
>>> ?
>> I'm afraid this doesn't compile.
>>
>> arch/x86/crash.c:66:17: error: passing argument 1 of âset_istâ from
>> incompatible pointer type [-Werror=incompatible-pointer-types]
>> ...
>> note: expected âvolatile idt_entry_t *â but argument is of type
>> âidt_entry_t (*)[256]â
>>
>> Similarly {en,dis}able_each_ist() and _set_gate_lower().
> Well, did you adjust the use sites? As said in the respective comment on
> patch 4, that'll be necessary (to account for the abstract extra level of
> indirection; generated code ought to not change).

Having spent even more time, I'm giving up and rejecting this suggestion.

Some can be made to compile.Â  Some I can't make compile, and the result
is a good demonstration of why exotic types like this don't get common use.

If you want to try once this series is in, then feel free, but the
result is not pretty.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 14:41:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 14:41:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901194.1309176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpTSP-00079Q-4T; Tue, 04 Mar 2025 14:41:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901194.1309176; Tue, 04 Mar 2025 14:41: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 1tpTSP-00079J-1p; Tue, 04 Mar 2025 14:41:17 +0000
Received: by outflank-mailman (input) for mailman id 901194;
 Tue, 04 Mar 2025 14: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpTSO-0006DV-3q
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 14:41:16 +0000
Received: from beeline2.cc.itu.edu.tr (beeline2.cc.itu.edu.tr [160.75.25.116])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b216774e-f906-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 15:41:03 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline2.cc.itu.edu.tr (Postfix) with ESMTPS id CF39740F1CDA
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 17:41:00 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6dcq4zSDzFx8Y
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 17:39:55 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id E401542725; Tue,  4 Mar 2025 17:39:42 +0300 (+03)
Received: from fgw2.itu.edu.tr (fgw2.itu.edu.tr [160.75.25.104])
 by le2 (Postfix) with ESMTP id 27423420F2
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 17:16:47 +0300 (+03)
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
 by fgw2.itu.edu.tr (Postfix) with SMTP id B025D2DCE1
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 17:16:46 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sv.mirrors.kernel.org (Postfix) with ESMTPS id 35F243AA628
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 14:16:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id 5352921420A;
 Mon,  3 Mar 2025 14:16:03 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id BEDD221324F;
 Mon,  3 Mar 2025 14:15:59 +0000 (UTC)
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 1ABF8175A;
 Mon,  3 Mar 2025 06:16:13 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EB6783F66E;
 Mon,  3 Mar 2025 06:15:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b216774e-f906-11ef-9ab4-95dc52dad729
X-Envelope-From: <root@cc.itu.edu.tr>
X-Envelope-From: <linux-kernel+bounces-541892-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1741011361; cv=none; b=YPoG/m64t40sYN2GxiOskMi0H0SPrrJLJTavl3OQxZQA+Enatmz2p71B+ppL0TVnqp4cr2ubvBgmnQsGxg5pu6vTHLGcuyOzWP6mds0FSUS7xXDxT14vqhZ6KskR/2VVzQHclrpyvkOc5jKOqORjXg8yqCqxUu2xgPAiF48Znq4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1741011361; c=relaxed/simple;
	bh=n7QaXbzZBzjDb7zEaetrjA+0DEIV2YJ6OgKGAXYlBcI=;
	h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
	 MIME-Version; b=lTOm/CzQ03c01ON6sQ1qOw0dnKswe3wWdsG/gzMo6mFpCDFJjPzBB5ERWZhllswJ8GrMp75yivZae9w/kCcUgz5znvaBenygEKsZ3Ca89yfTV5bMlFJGjTjuiWtAOmdFN/btpTTFYFBM2d7HGA8ZC7RckVgfF/f4NfUW2kRI14U=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v2 2/5] fs/proc/task_mmu: Reduce scope of lazy mmu region
Date: Mon,  3 Mar 2025 14:15:36 +0000
Message-ID: <20250303141542.3371656-3-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6dcq4zSDzFx8Y
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741704016.4421@hSLoLZs3mP/uMWPdg8t8jw
X-ITU-MailScanner-SpamCheck: not spam

Update the way arch_[enter|leave]_lazy_mmu_mode() is called in
pagemap_scan_pmd_entry() to follow the normal pattern of holding the ptl
for user space mappings. As a result the scope is reduced to only the
pte table, but that's where most of the performance win is.

While I believe there wasn't technically a bug here, the original scope
made it easier to accidentally nest or, worse, accidentally call
something like kmap() which would expect an immediate mode pte
modification but it would end up deferred.

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 fs/proc/task_mmu.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index c17615e21a5d..b0f189815512 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -2459,22 +2459,19 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, uns=
igned long start,
 	spinlock_t *ptl;
 	int ret;
=20
-	arch_enter_lazy_mmu_mode();
-
 	ret =3D pagemap_scan_thp_entry(pmd, start, end, walk);
-	if (ret !=3D -ENOENT) {
-		arch_leave_lazy_mmu_mode();
+	if (ret !=3D -ENOENT)
 		return ret;
-	}
=20
 	ret =3D 0;
 	start_pte =3D pte =3D pte_offset_map_lock(vma->vm_mm, pmd, start, &ptl)=
;
 	if (!pte) {
-		arch_leave_lazy_mmu_mode();
 		walk->action =3D ACTION_AGAIN;
 		return 0;
 	}
=20
+	arch_enter_lazy_mmu_mode();
+
 	if ((p->arg.flags & PM_SCAN_WP_MATCHING) && !p->vec_out) {
 		/* Fast path for performing exclusive WP */
 		for (addr =3D start; addr !=3D end; pte++, addr +=3D PAGE_SIZE) {
@@ -2543,8 +2540,8 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsig=
ned long start,
 	if (flush_end)
 		flush_tlb_range(vma, start, addr);
=20
-	pte_unmap_unlock(start_pte, ptl);
 	arch_leave_lazy_mmu_mode();
+	pte_unmap_unlock(start_pte, ptl);
=20
 	cond_resched();
 	return ret;
--=20
2.43.0




From xen-devel-bounces@lists.xenproject.org Tue Mar 04 14:41:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 14:41:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901204.1309187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpTSi-0007fy-C7; Tue, 04 Mar 2025 14:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901204.1309187; Tue, 04 Mar 2025 14:41: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 1tpTSi-0007fr-92; Tue, 04 Mar 2025 14:41:36 +0000
Received: by outflank-mailman (input) for mailman id 901204;
 Tue, 04 Mar 2025 14:41: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=wukS=VX=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tpTSh-0006DV-4L
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 14:41:35 +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 c5004b93-f906-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 15:41:34 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-abf4d756135so542887466b.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 06:41:34 -0800 (PST)
Received: from localhost (0545937c.skybroadband.com. [5.69.147.124])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac1e152fdd4sm239863066b.176.2025.03.04.06.41.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 06:41:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5004b93-f906-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741099294; x=1741704094; darn=lists.xenproject.org;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DOq2unFrF81Uzistv6gqc5mzCn6FDMKefHbm6FP9QEM=;
        b=OLSDSgwW//FB8v6dY7dWoL+yp4an059y3XQ1QEfMz0Y2M7aq27uFo4/lWQUMaErr1Z
         2NQZwGmPxo6esXaYfpxohlMYgY8d5zpDvSFURxuS2TT9MK2ezlWya8t2rKWB52CWpfN6
         uVUkndCT0XyxRoC2Yghpjd6HGQ+l8cXqC3eLA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741099294; x=1741704094;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=DOq2unFrF81Uzistv6gqc5mzCn6FDMKefHbm6FP9QEM=;
        b=uyvO1CSma2Cm78tfwwqWVSlf5yv4OU17InYfJ5ejiTbYFr3NoJU7y2C1jDUQzZI66H
         1CU7JSDFfT/Kknadf0+H9vqLGwMLEUShVoW308909YpTRTIovSuh6xvnRS9c1sj8Y4q6
         rKt90QAW8zk5biFzsqM48fd/51c08VXm9mJ6ByKXHZWF5a3TWLCfXrfzQqS7h3X/LXhE
         eB8Y7jXLeSQ5X0vmM4KcqY5A+w1fdxwcZ78ZC0NEMdl3oRPy76bcqNDX2Xqe81Xw8CFA
         bZ82mT/tB0A2ZHb+PRDr/Z6Az8XZKKI5E/0rhd/WsT9c7qjEnOeOh21jWXaXWFnk4qhy
         +zQw==
X-Forwarded-Encrypted: i=1; AJvYcCU/gkPIELO9xuN/9acej+q5bC6ieox4vyb49VAi54aXlKu8HMSjerbB6BOvKqdCTP/O2P6Afx64q8I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzwDdpFSNJJ76NwIGuQjQ8mL858iL67+tqaaWqYBGFvoa+kgjR0
	1pqeYgz2n8GctK77DJjkMnvICuom4Cw5TVhH0oDlktDfW583vP1bZE8lchBM428=
X-Gm-Gg: ASbGncvFeP8/pGtfo5b7vd0O1/wI+T9DR7NgAfU2Ec1gL19VdovSEGfAj0Bi365VlLI
	yAKXUN/SHOMG1xKA5HHFeGO7V9d+SsQuVC+ULMN+/CeZy7thsIn/6Y1gmFoDfwhDIUXZNpDRMac
	NdP2xKVKsGJ8ot5YfRoJy6vI9iLIwQQ42sVJPI9xnaCpNLqJoGFGEdh5nNIaTgd/pqPZy9DeYt8
	5ymqw30x/qK97YhDg4AIRi54F7r4UaXMZ7pMHbtB3VkXietFkw3Cq3Ej4i5MnoPIyuZfRKICUC7
	EbHdklpw9wW8kbA26CYCR7d2PsdKBNnJw5LJJIgDehKYNm00Ex5CmiFF0oLIP8PLPq/D8hAfIbs
	=
X-Google-Smtp-Source: AGHT+IH0dRrVCcRL6pgsEmF3RpWaRMP7Ms99IV+SiRWiYGmtYPBeiArfErI+3Q7AB1h/JMOGBqnWFQ==
X-Received: by 2002:a17:907:2da4:b0:abf:4b6e:e107 with SMTP id a640c23a62f3a-abf4b6ee2d2mr1675275366b.25.1741099293704;
        Tue, 04 Mar 2025 06:41:33 -0800 (PST)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 04 Mar 2025 14:41:28 +0000
Message-Id: <D87K6R8AC3H4.SBNHBSR4A0HC@cloud.com>
To: "Frediano Ziglio" <frediano.ziglio@cloud.com>,
 <xen-devel@lists.xenproject.org>
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Andrew Cooper"
 <andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Subject: Re: [PATCH v2] docs: Add some details on XenServer PCI devices
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
X-Mailer: aerc 0.18.2
References: <20250228152100.23105-1-frediano.ziglio@cloud.com>
 <20250304132253.23955-1-frediano.ziglio@cloud.com>
In-Reply-To: <20250304132253.23955-1-frediano.ziglio@cloud.com>

On Tue Mar 4, 2025 at 1:22 PM GMT, Frediano Ziglio wrote:
> Describe the usage of devices 5853:0002 and 5853:C000.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
> Changes since v1:
> - address minor comments
> ---
>  docs/man/xen-pci-device-reservations.7.pod | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/man/xen-pc=
i-device-reservations.7.pod
> index 9ddf3a18ad..adc325069c 100644
> --- a/docs/man/xen-pci-device-reservations.7.pod
> +++ b/docs/man/xen-pci-device-reservations.7.pod
> @@ -10,6 +10,9 @@ use of this is with device ID 0x0001 to advertise the X=
en Platform PCI
>  device - the presence of this virtual device enables a guest Operating
>  System (subject to the availability of suitable drivers) to make use of
>  paravirtualisation features such as disk and network devices etc.
> +XenServer, for Windows machines, may present Xen Platform device with de=
vice
> +ID 0x0002 instead of 0x0001. Device 0x0001 and 0x0002 should be mutually
> +exclusive.
> =20
>  Some Xen vendors wish to provide alternative and/or additional guest dri=
vers
>  that can bind to virtual devices[1]. This may be done using the Xen PCI
> @@ -86,4 +89,8 @@ and unplug protocol.
>  libxl provides support for creation of a single additional xen-pvdevice.
>  See the vendor_device parameter in xl.cfg(5).
> =20
> +XenServer might present a xen-pvdevice device with ID 0xC000.
> +Such device is a placeholder for Windows update usage and is always expo=
sed
> +in conjunction with a Xen Platform PCI device, usually with ID 0x0002
> +
>  =3Dback

LGTM

  Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 15:15:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 15:15:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901224.1309208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpTzb-0003un-Sr; Tue, 04 Mar 2025 15:15:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901224.1309208; Tue, 04 Mar 2025 15:15: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 1tpTzb-0003ug-QE; Tue, 04 Mar 2025 15:15:35 +0000
Received: by outflank-mailman (input) for mailman id 901224;
 Tue, 04 Mar 2025 15:15: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=z8BO=VX=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tpTza-0003uV-1N
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 15:15:34 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20629.outbound.protection.outlook.com
 [2a01:111:f403:2415::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 828f88d7-f90b-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 16:15:31 +0100 (CET)
Received: from SJ0PR03CA0291.namprd03.prod.outlook.com (2603:10b6:a03:39e::26)
 by LV2PR12MB5872.namprd12.prod.outlook.com (2603:10b6:408:173::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 15:15:26 +0000
Received: from SJ5PEPF00000203.namprd05.prod.outlook.com
 (2603:10b6:a03:39e:cafe::9) by SJ0PR03CA0291.outlook.office365.com
 (2603:10b6:a03:39e::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Tue,
 4 Mar 2025 15:15:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF00000203.mail.protection.outlook.com (10.167.244.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Tue, 4 Mar 2025 15:15:26 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 4 Mar
 2025 09:15:25 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 4 Mar
 2025 09:15:25 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 4 Mar 2025 09:15:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 828f88d7-f90b-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZaKCndLDHbcIsgLbai8SVJ62os4eIdd8eCkw8BEcvZnhZlb/Y4POGylJVL1RxXSkm+nFAfE/dIMlTJXjrYqmO+OAuwvjGp6I3voFnercrz7CXTyg6S4IkUAi+aRDiR5x1+HxbpOBXMQhcH+/XWfdimvG1dpKAdBuK1Hw6bXAhMgUMj4vt+FGOS4UANMb/H3Z7e+Tq9cBgxCLHD9qVerUCdIcwxykOyeNcgPfGb+8tYCffyJIPvtMe2qSIcvB8IVPwtq8Zjvsx6RbAtCQcQvv9ZM+GRlC4t9ygiTYpUJ0pVmF7VFWRMn34a2O/FCNkdY7JdZ/OHYhAsvlI6/Ehx0QPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QpYXwbW/MRJyeCGe8Aa5FfV8ndEzR64zHG0MfGybBo4=;
 b=N+L7ad631C10VoWiN7geX02+8VNw6ck1C9gVhDBaXOC1HTtH7odXuVVfVmQYLEpuRpj/46qvjhzrXRugoZlpcbcanghI4s/sn+YhgfMrZxmBB5k+ZhFkkXpDShHpVZcLSlo3XyyM9gn60Yd0So2w8oNMeyW6qh7bGX/Qi6Q6WpMzrkbgzQZcLco7wR39HNWBkBVueyaNJ8abUYQLLP9By/7dN9jNjzGnAimHVIMrP8IqRmw+ed6lgsSGTVBDUh7BaD4Jy22LpwcCw8gIsuEbdAlaDI5XEe47IOUOLfnNWJFpBAJTv184LXbGZRfNFUEGMSSF5Y6fXQUDG9He0Kyilg==
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=QpYXwbW/MRJyeCGe8Aa5FfV8ndEzR64zHG0MfGybBo4=;
 b=1Q2eGJBRrHp1Wk1zuscQtJL5GX7kxA2cdY4sKSoyK8LsM4A+rW0IPtw1SZC4ijEygiTIjy/ifc8NqPqCwd0iQNvZQMr5A7aq9lFotoxr9mxtIZQCyeTNH/ovxbTyXr3fnVLICOUDVpkMsmZADPctPLDO9QISjLnnBa0CxksUuvs=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <3bd7ff2b-5f26-496b-a067-c6c1f79e7515@amd.com>
Date: Tue, 4 Mar 2025 10:15:21 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.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>, "Xenia
 Ragiadakou" <xenia.ragiadakou@amd.com>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <9be05453-ab39-4b70-9675-b9df47e870b2@amd.com>
 <Z8GDpJ8G8qMz4uYD@macbook.local>
 <09a8e9dd-2839-49d5-9fff-d2c12c0dd3ed@amd.com>
 <Z8bUqTKSJ8rpMX8R@macbook.local>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <Z8bUqTKSJ8rpMX8R@macbook.local>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF00000203:EE_|LV2PR12MB5872:EE_
X-MS-Office365-Filtering-Correlation-Id: d9df7c74-bca4-4692-7e41-08dd5b2f6468
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:
	=?utf-8?B?bmFOQUJhajRDdEZoeDh4bmw1VHgydVJaTEtnYUdhekJzTmFFR3dxOTVENGF5?=
 =?utf-8?B?SUVBYU5FY1FEWkZ4M1gvNVpIVGUvdzhKc2hReTN1S252QVpkcndnSDdRdDB0?=
 =?utf-8?B?YzdQR1ZYbjcvVVFaL3BGbjZlYXAzNHhVQXh4V0x0QmRTV2YwaTVlaWZ3ckRx?=
 =?utf-8?B?KzhaSVo3U3NGRTRYU2tmcmlUQ0o2WnVHVzBkUHBSS2FCNWhsYk1jMmYrcitl?=
 =?utf-8?B?OUlvL3VGT3N0Mzg3VGpVaFBzK1RkdXF5SjdtdzMvVlFPMFRrSnRvcERsdHlm?=
 =?utf-8?B?R1JyUWJoSldRVTZtOUEwamVDV2RHdmtTMEZBQ0t6a3gwd0dLYUhsWUp3UkQv?=
 =?utf-8?B?ekVzTExUSVJUTkFQbGY1VkZhelFITCtOVkc1VEJ3aFdodXQzOE5uVU1UZTcw?=
 =?utf-8?B?aWVFZjNMMmFtalV3UFhCZ2MzSnZ0S1hYMExjNjNyUm13TVpoaXFRb0EwelpE?=
 =?utf-8?B?VDBoaW9aOGltNlhwVWlzQU9hWmcwQVFieHhEZFhJbm1UR3ovMSt4UDBTYXhu?=
 =?utf-8?B?dnlyazl6cVZaVVQxSGM2OVBTQnJubkNWTTcrWXUzdGJqUlM0ZDdMcUFPcjFh?=
 =?utf-8?B?NDhGMi8xeHA5QmxMUTQwdHdFMC8xUzdXK3RTRnMrbGFzNk4rLzRid3VUUTVB?=
 =?utf-8?B?YmU3ckU0NERmdjV1R2F5bERmVlBsVnpUa3cxVCttOEZLU1hqN2h3d1hsT0sv?=
 =?utf-8?B?TEVxNGllUi9FSHF5RFVjK1g2MkVYZDZYY0FjZzZkdDFubW94RWxFN2RwRDht?=
 =?utf-8?B?VkpjTURpWlFIRzFGYWRxazE5NEZLd1NJdlJYOCtkdy9UUVRpbXUyc0gzMytH?=
 =?utf-8?B?UWF1VVY2Sk9XaW1yN2lLQ0gwc21oekxqN3FaSG9QVmpYdDhWUDlFUHQ0UE5n?=
 =?utf-8?B?czI1WXg4OUw2VW1EbzZ4T1RQVnp6a3pmSmpQaGd4blVqenlUTmIrejlHL0l6?=
 =?utf-8?B?bW9hbWhHa3ZGK2NLTUNnWGpqT01tNllnckFCWXdGRjZvREVpNlo5cjBiWXM5?=
 =?utf-8?B?SjhaSitjMXV1UFpnaDQvVDYrMitMYWNmby9GNUlyblBqY2s5LzBMdTFNdjI1?=
 =?utf-8?B?aG81ZWhvbkMwenZTWWNTWUErNjBqVWtONjQ4WWd4dzZEQlVXVTZHOU4yaXFa?=
 =?utf-8?B?OFAydXJrVC90UXZ1N3puU1U0R3NtS3VST2wrSVFSbEljWkZKblcwai9ZQWpu?=
 =?utf-8?B?MlI5alVVdHFsVDFQOGh6M3Bla1RDM09vYW5HSGtUNU9oZlhnaUNnR2NtWUxD?=
 =?utf-8?B?eWI5elZOTStmY3FUVGJYaVd1eGVjK0xQQldWWEZpQldVcVJlNnhiTXpsRnBn?=
 =?utf-8?B?RXd4ZVBSTy9aRU1LYXF3WHNhbTc1ODYyV0lNd0RGcXhzUExJcjB6SXpRbTU1?=
 =?utf-8?B?WERvSWlYTFBqU1ZYUWJDaDUra2dnU09wZWgxL29tbDdmNVlMaTE5ckhWMGlL?=
 =?utf-8?B?aEpEVlFaQmlnMWo2SkoyV2s5d09OT0dZR09vRjV4WDRmUlplMFV3ZmVYQ1JC?=
 =?utf-8?B?RTZ3Q204NFR6U3k2dGlOakJYU294RklaTmZham1Ob1JNZ291Sjkxb1BTc1NK?=
 =?utf-8?B?d0RJN0ZKZ1dPMDBtOTg4NTF1dDlsSnc2MURQQVhOZXBTcGYxZXh4K1JHaFRP?=
 =?utf-8?B?QkFzd1FiTjlvUzlheUxtakQvUm1JdkVnZmU1N003YnY4dHU2MEVUY2lYcDVn?=
 =?utf-8?B?VTRRUlE4ZUpSazh2ZEl3cU9ZOE5aWERab1htd2RiaDEvS1JFR3BMNENIRzhr?=
 =?utf-8?B?aHdBOFYyTFFHcGZHUW9aZEdUYks2LzBKeElkd29sdEo3WTFMUXM1bUR4NUFX?=
 =?utf-8?B?a21zeGppc25tWnlhbG9xTUhHbGJZUWxrR0x5Z2lKQUhyVGRhTUxVdThTYnRo?=
 =?utf-8?B?R2JQZzVYMW5BV2Y4dTh4ZnZiOFVOY2ViZUhRa3QvZC9JRkpML2lwSzd3WW55?=
 =?utf-8?B?VU1GTVNGSzBITGJmODVYOGEyUElNSFlwVkZNaktVTVpEL3Fja1V6UzJ2cUtw?=
 =?utf-8?Q?XzmSCPpPMP0qXL+WErqWdzd8FS2T80=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 04 Mar 2025 15:15:26.1076
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d9df7c74-bca4-4692-7e41-08dd5b2f6468
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF00000203.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5872

On 2025-03-04 05:23, Roger Pau MonnĂŠ wrote:
> On Fri, Feb 28, 2025 at 03:25:52PM -0500, Jason Andryuk wrote:
>> On 2025-02-28 04:36, Roger Pau MonnĂŠ wrote:
>>> On Thu, Feb 27, 2025 at 01:28:11PM -0500, Jason Andryuk wrote:
>>>> On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
>>>>> On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
>>>>>> To work around this, we can, for per-device IRTs, program the hardware
>>>>>> to use the guest data & associated IRTE.  The address doesn't matter
>>>>>> since the IRTE handles that, and the Xen address & vector can be used as
>>>>>> expected.
>>>>>
>>>>> All this work on AMD because when interrupt remapping is enabled all
>>>>> MSIs are handled by the remapping table, while on Intel there's still
>>>>> a bit in the MSI address field to signal whether the MSI is using a
>>>>> remapping entry, or is using the "compatibility" format (iow: no
>>>>> remapping).
>>>>
>>>> So, on Intel, if the guest hands the device the MSI address, it can decided
>>>> to bypass remapping?
>>>>
>>>> Thanks for providing insight into the Intel inner workings.  That's why I am
>>>> asking.
>>>
>>> Yes, sorry, I'm afraid I don't have any good solution for Intel, at
>>> least not anything similar to what you propose to do on AMD-Vi.  I
>>> guess we could take a partial solution for AMD-Vi only, but it's
>>> sub-optimal from Xen perspective to have a piece of hardware working
>>> fine on AMD and not on Intel.
>>
>> I only need AMD to work ;)
>>
>> But yeah, I thought I should make an effort to get both working.
> 
> Kind of tangential to this approach.  Do you know which register(s)
> are used to store the non-architectural MSI address and data fields?
> 
> I'm wondering if it simply would be easier to introduce a quirk for
> this device in vPCI (and possibly QEMU?) that intercepts writes to the
> out of band MSI registers.  That should work for both Intel and AMD,
> but would have the side effect that Xen would need to intercept
> accesses to at least a full page, and possibly forward accesses to
> adjacent registers.

 From the QEMU part of the vfio hack:
* We therefore come up with a really crude quirk that looks for values
* written to the ATH11K_PCI_WINDOW (defined in Linux driver as starting
* at 0x80000 with an 18-bit mask, ie. 256k) that match the guest MSI
* address.  When found we replace the data with the host physical
* address and set a cookie to match the MSI data write, again replacing
* with the host value and clearing the cookie.

https://lore.kernel.org/ath11k/20240812170045.1584000-1-alex.williamson@redhat.com/

This is inside BAR0, AIUI.  I'm guessing, but I think the driver puts 
them into a command ring, so it's not a fixed location.  The large area, 
and since we won't normally intercept BAR access, made me not want to 
pursue this.

>>>>>> e.g. Replace amd_iommu_perdev_intremap with something generic.
>>>>>>
>>>>>> The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
>>>>>> dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
>>>>>> all that has been tested.
>>>>>
>>>>> DYK why it fails to enable 32?
>>>>
>>>> Not exactly - someone else had the card.  msi_capability_init() failed. If
>>>> it ends up in arch_setup_msi_irqs(), only 1 MSI is supported.  But precisely
>>>> where the mutiple nvecs was denied was not tracked down.
>>>
>>> Does it also fail on native?  I'm mostly asking because it would be
>>> good to get to the bottom of this, so that we don't come up with a
>>> partial solution that will break if multi-msi is used later in Linux.
>>
>> My understanding is native and PV dom0 work with 32, and it's Linux deciding
>> not to use multiple MSI.
>>
>> It might be this:
>> static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
>> {
>>          int irq, pirq;
>>          struct msi_desc *msidesc;
>>          struct msi_msg msg;
>>
>>          if (type == PCI_CAP_ID_MSI && nvec > 1)
>>                  return 1;
>>
>> I'll have to look into this more.
> 
> That shouldn't apply to PVH because it never exposes
> XENFEAT_hvm_pirqs, and I would expect xen_hvm_setup_msi_irqs() to not
> get used (otherwise we have a bug somewhere).

Okay.  Yeah, this doesn't seem to get called.  I asked internally, and 
no one tracked down precisely why multi-msi is denied.  I still need to 
get around to that.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 15:36:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 15:36:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901247.1309218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpUJi-0007JR-Je; Tue, 04 Mar 2025 15:36:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901247.1309218; Tue, 04 Mar 2025 15:36: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 1tpUJi-0007JK-Gn; Tue, 04 Mar 2025 15:36:22 +0000
Received: by outflank-mailman (input) for mailman id 901247;
 Tue, 04 Mar 2025 15:36: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpUJh-0007DG-3m
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 15:36:21 +0000
Received: from beeline1.cc.itu.edu.tr (beeline1.cc.itu.edu.tr [160.75.25.115])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a85bd8e-f90e-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 16:36:19 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline1.cc.itu.edu.tr (Postfix) with ESMTPS id 59E7040D5713
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 18:36:17 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6fr86bJ9zG0jb
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 18:34:48 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id 6C4CF42745; Tue,  4 Mar 2025 18:34:39 +0300 (+03)
Received: from fgw1.itu.edu.tr (fgw1.itu.edu.tr [160.75.25.103])
 by le2 (Postfix) with ESMTP id 7EEDD42FF3
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 13:23:09 +0300 (+03)
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
 by fgw1.itu.edu.tr (Postfix) with SMTP id 161E03064C0B
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 13:23:08 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sv.mirrors.kernel.org (Postfix) with ESMTPS id C126C3A6421
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 10:22:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id 0E1941F1931;
 Mon,  3 Mar 2025 10:22:14 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id 8BB7E1EDA04;
 Mon,  3 Mar 2025 10:22:10 +0000 (UTC)
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 F08EC12FC;
 Mon,  3 Mar 2025 02:22:23 -0800 (PST)
Received: from [10.1.26.155] (XHFQ2J9959.cambridge.arm.com [10.1.26.155])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7EC963F66E;
 Mon,  3 Mar 2025 02:22:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a85bd8e-f90e-11ef-9ab4-95dc52dad729
X-Envelope-From: <root@cc.itu.edu.tr>
X-Envelope-From: <linux-kernel+bounces-541357-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1740997332; cv=none; b=K5b2jorN+bj5hFZjPHV5rThRYSqjvKWh/fq6NFbhu2M5KUG3stpALASTx6gBNpSNFENWtQireD+DcionEemvb2afRNdQhLb1/6GT+PWsr8sj7wGJpWqYFzXIqlOhypEou9oVt2+4Fg6xeTT9upERWnyxdruW6A6BIwO/s/Dww3A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740997332; c=relaxed/simple;
	bh=7be/Msm+H+RtUT38wFcu4DC963JAinemIQkyzCmXDwQ=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=HD7eenxiEj1fvokvELJRnZgKKTrdjTC4V7eIm41p29AQC5ytivKjaSmK+EOWRaH24pqwyYxnuY5djU6bdMzMWMJ+3mHtxlLODC0x9Cuv0tbU6laTQETcP5LFG/adBHFHECkRYZPd2SDbo3OivYegV1V7GfKAHjtCXVr8RwWG4+w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com
Message-ID: <1ff509c7-187b-4e43-b266-db8ada33b9a2@arm.com>
Date: Mon, 3 Mar 2025 10:22:05 +0000
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
Content-Language: en-GB
To: David Hildenbrand <david@redhat.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
 <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
 <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
From: Ryan Roberts <ryan.roberts@arm.com>
In-Reply-To: <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6fr86bJ9zG0jb
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741707298.43111@H6OMrom8IxAEYKsJnCs2hw
X-ITU-MailScanner-SpamCheck: not spam

On 03/03/2025 08:52, David Hildenbrand wrote:
> On 03.03.25 09:49, David Hildenbrand wrote:
>> On 02.03.25 15:55, Ryan Roberts wrote:
>>> The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
>>> is a bit of a mess (to put it politely). There are a number of issues
>>> related to nesting of lazy mmu regions and confusion over whether the
>>> task, when in a lazy mmu region, is preemptible or not. Fix all the
>>> issues relating to the core-mm. Follow up commits will fix the
>>> arch-specific implementations. 3 arches implement lazy mmu; powerpc,
>>> sparc and x86.
>>>
>>> When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
>>> 6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
>>> expected that lazy mmu regions would never nest and that the appropriate
>>> page table lock(s) would be held while in the region, thus ensuring the
>>> region is non-preemptible. Additionally lazy mmu regions were only used
>>> during manipulation of user mappings.
>>>
>>> Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
>>> updates") started invoking the lazy mmu mode in apply_to_pte_range(),
>>> which is used for both user and kernel mappings. For kernel mappings the
>>> region is no longer protected by any lock so there is no longer any
>>> guarantee about non-preemptibility. Additionally, for RT configs, the
>>> holding the PTL only implies no CPU migration, it doesn't prevent
>>> preemption.
>>>
>>> Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
>>> arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
>>> set_ptes(), used by x86. So after this commit, lazy mmu regions can be
>>> nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
>>> page table range API") and commit 9fee28baa601 ("powerpc: implement the
>>> new page table range API") did the same for the sparc and powerpc
>>> set_ptes() overrides.
>>>
>>> powerpc couldn't deal with preemption so avoids it in commit
>>> b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
>>> which explicitly disables preemption for the whole region in its
>>> implementation. x86 can support preemption (or at least it could until
>>> it tried to add support nesting; more on this below). Sparc looks to be
>>> totally broken in the face of preemption, as far as I can tell.
>>>
>>> powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
>>> ("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
>>> which removes the lazy mmu calls from its implementation of set_ptes().
>>> x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
>>> nesting of same lazy mode") but as far as I can tell, this breaks its
>>> support for preemption.
>>>
>>> In short, it's all a mess; the semantics for
>>> arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
>>> result the implementations all have different expectations, sticking
>>> plasters and bugs.
>>>
>>> arm64 is aiming to start using these hooks, so let's clean everything up
>>> before adding an arm64 implementation. Update the documentation to state
>>> that lazy mmu regions can never be nested, must not be called in
>>> interrupt context and preemption may or may not be enabled for the
>>> duration of the region.
>>>
>>> Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
>>> called in pagemap_scan_pmd_entry() to follow the normal pattern of
>>> holding the ptl for user space mappings. As a result the scope is
>>> reduced to only the pte table, but that's where most of the performance
>>> win is. While I believe there wasn't technically a bug here, the
>>> original scope made it easier to accidentally nest or, worse,
>>> accidentally call something like kmap() which would expect an immediate
>>> mode pte modification but it would end up deferred.
>>>
>>> arch-specific fixes to conform to the new spec will proceed this one.
>>>
>>> These issues were spotted by code review and I have no evidence of
>>> issues being reported in the wild.
>>>
>>
>> All looking good to me!
>>
>> Acked-by: David Hildenbrand <david@redhat.com>
>>
> 
> ... but I do wonder if the set_ptes change should be split from the pagemap change.

So set_ptes + docs changes in one patch, and pagemap change in another? I can do
that.

I didn't actually cc stable on these, I'm wondering if I should do that? Perhaps
for all patches except the pagemap change?

Thanks for the quick review!



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 15:44:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 15:44:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901257.1309229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpURU-0000qs-Bw; Tue, 04 Mar 2025 15:44:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901257.1309229; Tue, 04 Mar 2025 15:44: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 1tpURU-0000ql-8m; Tue, 04 Mar 2025 15:44:24 +0000
Received: by outflank-mailman (input) for mailman id 901257;
 Tue, 04 Mar 2025 15:44: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=/Z5M=VX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpURT-0000qf-RU
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 15:44:23 +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 8b1dbe44-f90f-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 16:44:22 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-390f69e71c8so2501988f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 07:44:22 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43aba57145esm228270285e9.30.2025.03.04.07.44.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 07:44:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b1dbe44-f90f-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741103062; x=1741707862; 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=PPLMKOwR+IRRPQjCdtYAy3QmdgiWtVRQpFvKd83aDXo=;
        b=RuZP0MWhxVgD/0dsAQEdejIvHcw/R4wxgsO+Una4MaDmhZrOshrbks6di4G56Pc5y0
         eNl1LZf+sqtAXBZwgYb3t3Rffv7T84GhRRiFCdrZXnCCbfNHJJ/vs9s8mHFG7Te6N4sJ
         cloZqd23o2AWJhT8cMlVzC+bilJoAByBfsRMs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741103062; x=1741707862;
        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=PPLMKOwR+IRRPQjCdtYAy3QmdgiWtVRQpFvKd83aDXo=;
        b=PgMKmRM+AQNDRwNImc0wQwWmpwql2dDStpVIfN/j7GYzsQG5Coymu31xuuW8oAsK7S
         USzYR/ZDenwnkhZ4AbMJSOzuzNb2jm4S/RtLP56RAdjvy5mVbETnFV/gZ6tTTgHi46S8
         4x4nayJC6kzObWWs5ZFlHXmXf3lVtN5OnCcXIbisy7u5LxtPil5WYUN2X5/tXhXTVfAK
         8ng/m5XTwF1V2/mOtLhLke19WH7Luy3+5OiTrchaZyTG2CEa31svatXrIhyK8QMu2AyR
         VKzLDFUEZRA4PbNSZ4l32us3jo2XLx0KkEYhgFdO/tHQtuJYhAQSp4gytO0RNbObv7EI
         jeLw==
X-Gm-Message-State: AOJu0YxMFNlXjj3ZpTxT8Ml2d7ruzQsiJXaZ+0wvPBTW0mDMqTkw5aHj
	NtjGfUsDHBlf80PI0zxgs/MrZfE7igj1dT+YT3zEa/sG481CSMd9Q1XOQX0gtM0=
X-Gm-Gg: ASbGnct/6AZpUS/amLcQyiCgR1lQgOPe63rC7H/3XTjvuEYuOud1OdoxqoAOj1rPgyC
	twEwk/PZn9wRKnzx++w4d1AMsKacXbJdCNSiDTUMs81WKWvW4eMUx+H60yZHCZdypgiy+Oz5Z0h
	zXmWR7KUJKmjyYA7Fqg/vDRNN/Tl/YOkLpwk+Ti9mAJqGwepEF/up4Z50WOPK2XNE70VGt3Iuy1
	byP+rEzz3jY2a7KcdioEM+h2QciUAxNMG8qHfU8ux8kimC9OuWuPMWRIg+OCx3nQ5Lo1ujS5WQP
	sz5JIVEeMIqhIMc6hb5Vkw+gCXHtybNAiL+xeqnX5ITauYgQNKzHuVdRK6qQUVq0UPBhnUnYaBL
	coQRF7lAH
X-Google-Smtp-Source: AGHT+IHWibDy5BZd6Fd62HKEhYGhsWDRRZFHTSl3ZaLcwOC0hnyA8/EfTCMiazyQKNMrsn8lpTEMiw==
X-Received: by 2002:a5d:64ab:0:b0:391:952:c74a with SMTP id ffacd0b85a97d-391155ffd95mr2653481f8f.8.1741103062029;
        Tue, 04 Mar 2025 07:44:22 -0800 (PST)
Message-ID: <cadff23e-1da9-4929-93f9-3102f3eb1857@citrix.com>
Date: Tue, 4 Mar 2025 15:44:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/riscv: copy_to_guest/copy_from_guest functionality.
To: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.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_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Milan Djokic <Milan.Djokic@rt-rk.com>
References: <dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com>
 <ffdc90de-1407-4b9c-aaae-78d41dc79c86@citrix.com>
 <CAKp59VEmM4OOkU+WTOCTR=4gmw1gTQSv-zfHs1fc0WoOO847xw@mail.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: <CAKp59VEmM4OOkU+WTOCTR=4gmw1gTQSv-zfHs1fc0WoOO847xw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/03/2025 11:59 am, Milan ÄokiÄ wrote:
> Hello Andrew,
> On Fri, Feb 28, 2025 at 4:47âŻPM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 28/02/2025 2:59 pm, Milan Djokic wrote:
>>> From: Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
>>>
>>> This patch implements copy_to_guest/copy_from_guest functions for RISC-V.
>>> These functions are designed to facilitate data exchange between guest and hypervisor.
>>>
>>> Signed-off-by: Milan Djokic <Milan.Djokic@rt-rk.com>
>>> Signed-off-by: Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
>>> ---
>>> Tested on qemu with xcp-ng latest branch https://gitlab.com/xen-project/people/olkur/xen/-/merge_requests/6
>>> Full description on how to setup test environment can be found in attached PR link (Linux kernel patching to support copy_from_guest/copy_to_guest for RISC-V).
>>> Linux kernel patch shall be upstreamed after these changes are merged.
>> Several things.  First, it's probably worth setting you up with Gitlab
>> access, seeing as that's the first step of RISC-V CI.
>>
> We already have access to mirror gitlab repo owned by Oleksii where
> our changes are tested through CI jobs
> Or you refer to mainstream xen gitlab? For this one, I don't know who
> should we contact for access

I wanted to check that you were running your patches through regular CI,
but if you can use Oleksii's tree then that's fine.

>
>> Second, where can I read about the semantics of h{l,s}v?  That looks
>> alarmingly like a virtual address, and there's a world supply of corner
>> cases that can come with it, including incorrect translations.
>>
>> Also, I very desperately want RISC-V (and PPC) not to inherit
>> 2-decade-old x86-ISMs which we're currently trying to remove, because
>> starting without them is 10x easier than to fix them after the fact.
>>
> hlv/hsv are part of the RISC-V ISA H extension
> (https://five-embeddev.com/riscv-priv-isa-manual/Priv-v1.12/hypervisor.html,
> Chapter 5.3 Hypervisor Instructions).
> Handling of corner cases with possible incorrect translations will be
> part of the upcoming patch version.

Ok, that's interesting.Â  Thanks for sharing.

There are separate instructions for data and instruction accesses, which
avoids the main source of incorrect translations.Â  I don't see anything
requiring accesses to be coherent with the TLB (ARM for example permits
the AT instruction to bypass the TLBs).

However, they're all virtual address based.Â  The first wrinkle here is
already realised in the documentation; the mode of the access is based
on hstatus.spvp.

The reason we're getting rid of virtual addressed based accesses is that
there is not an appropriate mode to use for hypervisor access in a
binary permissions system (supervisor/user), and it fails completely in
the presence of SMEP/SMAP (x86) or PXN/PAN (ARM).

The introduction to 5.5 Two-Stage Translation suggests we can turn off
guest virtual translations by zeroing vsatp which I suspect means we can
"turn" HLV/HSV into guest-physical accessors.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 16:11:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 16:11:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901277.1309243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpUra-0006V6-DL; Tue, 04 Mar 2025 16:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901277.1309243; Tue, 04 Mar 2025 16:11: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 1tpUra-0006Uz-AN; Tue, 04 Mar 2025 16:11:22 +0000
Received: by outflank-mailman (input) for mailman id 901277;
 Tue, 04 Mar 2025 16:11: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpUrZ-0006Ut-6c
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 16:11:21 +0000
Received: from beeline3.cc.itu.edu.tr (beeline3.cc.itu.edu.tr [160.75.25.117])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4da3f806-f913-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 17:11:18 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline3.cc.itu.edu.tr (Postfix) with ESMTPS id 8B8EA40CECB1
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:11:16 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6gbv36wpzG2Pr
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:09:15 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id 0156942746; Tue,  4 Mar 2025 19:08:55 +0300 (+03)
Received: from fgw2.itu.edu.tr (fgw2.itu.edu.tr [160.75.25.104])
 by le2 (Postfix) with ESMTP id B691441BE8
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 17:16:29 +0300 (+03)
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
 by fgw2.itu.edu.tr (Postfix) with SMTP id 6A1602DCE0
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 17:16:29 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ny.mirrors.kernel.org (Postfix) with ESMTPS id BD7501655C2
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 14:16:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id AC0B4213E94;
 Mon,  3 Mar 2025 14:16:02 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id B2A458BEE;
 Mon,  3 Mar 2025 14:15:57 +0000 (UTC)
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 BDB7D113E;
 Mon,  3 Mar 2025 06:16:10 -0800 (PST)
Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com
 [10.1.196.27])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 807673F66E;
 Mon,  3 Mar 2025 06:15:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4da3f806-f913-11ef-9898-31a8f345e629
X-Envelope-From: <root@cc.itu.edu.tr>
X-Envelope-From: <linux-kernel+bounces-541891-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1741011360; cv=none; b=PDBsqgSo6NEFjyniblmfiDcwtMp3acwbV99QcLR70l7xfEzqgtxct+MUnmsm7m+uYa6dFW44W4Syq17ywL5yxVLp1bHSlamPshjlXYuyIAC4kxeuojouy+1nibofQPMpBKJfQGp8VZa9mQEDvD6VXMfb3xTSmH60bZzj4MPQI84=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1741011360; c=relaxed/simple;
	bh=noQaqyESrFXPlVuJvXsqVgB6g2QUq9O0Y8RZo1VBRPI=;
	h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
	 MIME-Version; b=hkus79t/uzRWjKh9MBXNgKIgf/OwfMPNuy+v55/Ba3D4yvJ4AEJHDBrxsqsnM37AV555ZNlPNazeTpFAH9m+QGVkMX+psLDEWkaVtSkwJ03NWaPPRcYLgB4iDBRtYxb70wW3oQ0pg2wbgKpA8Vb8w0Oh2UQxxfE37YzCP4/J38Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com
From: Ryan Roberts <ryan.roberts@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	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>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>,
	linux-mm@kvack.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v2 1/5] mm: Fix lazy mmu docs and usage
Date: Mon,  3 Mar 2025 14:15:35 +0000
Message-ID: <20250303141542.3371656-2-ryan.roberts@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250303141542.3371656-1-ryan.roberts@arm.com>
References: <20250303141542.3371656-1-ryan.roberts@arm.com>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6gbv36wpzG2Pr
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741709362.20553@Z1RTQJFOE41v7lGEBvs15g
X-ITU-MailScanner-SpamCheck: not spam

The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
is a bit of a mess (to put it politely). There are a number of issues
related to nesting of lazy mmu regions and confusion over whether the
task, when in a lazy mmu region, is preemptible or not. Fix all the
issues relating to the core-mm. Follow up commits will fix the
arch-specific implementations. 3 arches implement lazy mmu; powerpc,
sparc and x86.

When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
expected that lazy mmu regions would never nest and that the appropriate
page table lock(s) would be held while in the region, thus ensuring the
region is non-preemptible. Additionally lazy mmu regions were only used
during manipulation of user mappings.

Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
updates") started invoking the lazy mmu mode in apply_to_pte_range(),
which is used for both user and kernel mappings. For kernel mappings the
region is no longer protected by any lock so there is no longer any
guarantee about non-preemptibility. Additionally, for RT configs, the
holding the PTL only implies no CPU migration, it doesn't prevent
preemption.

Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
set_ptes(), used by x86. So after this commit, lazy mmu regions can be
nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
page table range API") and commit 9fee28baa601 ("powerpc: implement the
new page table range API") did the same for the sparc and powerpc
set_ptes() overrides.

powerpc couldn't deal with preemption so avoids it in commit
b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
which explicitly disables preemption for the whole region in its
implementation. x86 can support preemption (or at least it could until
it tried to add support nesting; more on this below). Sparc looks to be
totally broken in the face of preemption, as far as I can tell.

powerpc can't deal with nesting, so avoids it in commit 47b8def9358c
("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
which removes the lazy mmu calls from its implementation of set_ptes().
x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
nesting of same lazy mode") but as far as I can tell, this breaks its
support for preemption.

In short, it's all a mess; the semantics for
arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
result the implementations all have different expectations, sticking
plasters and bugs.

arm64 is aiming to start using these hooks, so let's clean everything up
before adding an arm64 implementation. Update the documentation to state
that lazy mmu regions can never be nested, must not be called in
interrupt context and preemption may or may not be enabled for the
duration of the region. And fix the generic implementation of set_ptes()
to avoid nesting.

arch-specific fixes to conform to the new spec will proceed this one.

These issues were spotted by code review and I have no evidence of
issues being reported in the wild.

Cc: <stable@vger.kernel.org>
Fixes: bcc6cc832573 ("mm: add default definition of set_ptes()")
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
 include/linux/pgtable.h | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 94d267d02372..787c632ee2c9 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -222,10 +222,14 @@ static inline int pmd_dirty(pmd_t pmd)
  * hazard could result in the direct mode hypervisor case, since the act=
ual
  * write to the page tables may not yet have taken place, so reads thoug=
h
  * a raw PTE pointer after it has been modified are not guaranteed to be
- * up to date.  This mode can only be entered and left under the protect=
ion of
- * the page table locks for all page tables which may be modified.  In t=
he UP
- * case, this is required so that preemption is disabled, and in the SMP=
 case,
- * it must synchronize the delayed page table writes properly on other C=
PUs.
+ * up to date.
+ *
+ * In the general case, no lock is guaranteed to be held between entry a=
nd exit
+ * 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 agains=
t 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 pe=
rmitted
+ * and the mode cannot be used in interrupt context.
  */
 #ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
 #define arch_enter_lazy_mmu_mode()	do {} while (0)
@@ -287,7 +291,6 @@ static inline void set_ptes(struct mm_struct *mm, uns=
igned long addr,
 {
 	page_table_check_ptes_set(mm, ptep, pte, nr);
=20
-	arch_enter_lazy_mmu_mode();
 	for (;;) {
 		set_pte(ptep, pte);
 		if (--nr =3D=3D 0)
@@ -295,7 +298,6 @@ static inline void set_ptes(struct mm_struct *mm, uns=
igned long addr,
 		ptep++;
 		pte =3D pte_next_pfn(pte);
 	}
-	arch_leave_lazy_mmu_mode();
 }
 #endif
 #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
--=20
2.43.0




From xen-devel-bounces@lists.xenproject.org Tue Mar 04 16:17:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 16:17:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901289.1309253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpUwy-0007A7-6K; Tue, 04 Mar 2025 16:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901289.1309253; Tue, 04 Mar 2025 16:16: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 1tpUwy-0007A0-2K; Tue, 04 Mar 2025 16:16:56 +0000
Received: by outflank-mailman (input) for mailman id 901289;
 Tue, 04 Mar 2025 16:16: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpUww-00079u-S2
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 16:16:55 +0000
Received: from beeline3.cc.itu.edu.tr (beeline3.cc.itu.edu.tr [160.75.25.117])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1356c45d-f914-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 17:16:50 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline3.cc.itu.edu.tr (Postfix) with ESMTPS id 5C5B340CEC88
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:16:48 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6glg4JR4zG2r3
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:15:59 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id 7187042724; Tue,  4 Mar 2025 19:15:45 +0300 (+03)
Received: from fgw1.itu.edu.tr (fgw1.itu.edu.tr [160.75.25.103])
 by le2 (Postfix) with ESMTP id C159B43221
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 13:32:24 +0300 (+03)
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
 by fgw1.itu.edu.tr (Postfix) with SMTP id 957443063EFF
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 13:32:24 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by am.mirrors.kernel.org (Postfix) with ESMTPS id F01721893D34
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 10:32:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D6401F4193;
 Mon,  3 Mar 2025 10:30:14 +0000 (UTC)
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.subspace.kernel.org (Postfix) with ESMTPS id E25661F1905
 for <linux-kernel@vger.kernel.org>; Mon,  3 Mar 2025 10:30:07 +0000 (UTC)
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-245-tnGv85UwP9S0nPUri8jj5g-1; Mon, 03 Mar 2025 05:30:05 -0500
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-4399304b329so19191485e9.3
 for <linux-kernel@vger.kernel.org>; Mon, 03 Mar 2025 02:30:05 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b7b6asm14383034f8f.51.2025.03.03.02.30.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 02:30:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1356c45d-f914-11ef-9898-31a8f345e629
X-Envelope-From: <root@cc.itu.edu.tr>
Authentication-Results: lesvatest1.cc.itu.edu.tr;
	dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KZtc5OV4
Authentication-Results: lesva1.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=KZtc5OV4
X-Envelope-From: <linux-kernel+bounces-541379-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: lesva2.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=KZtc5OV4
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="KZtc5OV4"
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1740997809; cv=none; b=hYQY+3oAZKStz2ByieBNt24QJE6SxnX718khX7pUxXY+xjWO+GlMDsP7uRgCbJNZHSBLDIDaNsF9w9Wro9IJUlG+F7IHNrkQ7BVnV5M/2dW1E1491Jjv6cUpOoBTaAwCMHvBz2bVue+LlKZ3Fcp+DTsGVQAFAG/t3JqYaf43JN4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740997809; c=relaxed/simple;
	bh=UV+fNTBbDPNvHmzvbwDtpiyYBuV69xe7oYGvZxbLxGw=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=bSAUeeeET64rsCdFeC2Vx8MI3eUv4GfuRozF9KNlbSfHO28Qpw/zUW+F5hBsKM99MhYUsFm+Mj0mkR02SKgJ3Eq8vSg0Wenyp7bCeqDaffsf859Rezcsy2hizrKNfXM2OLEjcItdP+pLcsobiG12jr9vESkLii/cvlnMvzTZZYM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=KZtc5OV4; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740997806;
	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=XrsGCGG9AtfSViD3RsQm+eGPnJF4uoft9nYq0L+9jdk=;
	b=KZtc5OV4fX/X80X/MMaReiU/+3p0TvTV7sWi7NlgWYv/nKmLGGBeaMDe4/dt3UPdvnMJ7x
	ars7KHsWn4sTA59ftM+5oc2kRAVRp8Scv9F3CJDHdZaYYe+wo2aIPprQ7c3XkofgTxUSwA
	bPi4DIIu9IK+3RCH+PwHi9568NyTJbs=
X-MC-Unique: tnGv85UwP9S0nPUri8jj5g-1
X-Mimecast-MFC-AGG-ID: tnGv85UwP9S0nPUri8jj5g_1740997804
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740997804; x=1741602604;
        h=content-transfer-encoding:in-reply-to:organization: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=XrsGCGG9AtfSViD3RsQm+eGPnJF4uoft9nYq0L+9jdk=;
        b=N3XYvmG0+jCY6/Rkwanv02pEIqKVxJYcaQFC7z8XZb7HLzeAQVtec/ZMdrrXMM8aUO
         6br/6hAzy8iPVyVOqoaHcF5ffzX5JY/CGXtdb5ooMt/gO9LBOl6KjEfbMMfOkec9/vd/
         VFVXcYQ6snbOAbUV12GDVVinMmB713o7kG5KAYsf3QfNGU1/CrYMgSMcrNHxnPHkU+z0
         3Gnl2Mk/D7J2VLvD4GXEXO4efOjRzyLJxKjfbpyh+mVq4IEL+6DWViekryxkZNuKrW+z
         xvwPnGtaP5X8DWANUVQgPsCWME/vbYo0mr2/xKF2siNr6S30Nvt3E1q+tcgpS0925FOm
         t8GQ==
X-Forwarded-Encrypted: i=1; AJvYcCWUchrrcARy9XxRUl2sXmQwigVt5jMhuIuPRg4pKyvgRamaXYnBbxF4tDA/ybmKrGWyey9T64GjJMxsq7o=@vger.kernel.org
X-Gm-Message-State: AOJu0YzkdlT7biGty3iP381f67W+nOWyw84ghI+wHAQdqBLszo6TNqob
	fWtC3xAFJibGkAgt/hYXPQ+F1YAFuXz/35JNG+u6LmPH5Y+aIQQNjshe+YW+LwJxifb8dJvGo/s
	hdM6EoYlh0uz3F+/mvCWP5YYLFv6txY88uNfrHCWWdL9lgYnUnLBLlZ8INvoRjg==
X-Gm-Gg: ASbGncs5NOevEg1/aOP9qPC1LSvAUhVKus1yvHQnDE2csMLEBTlQG2EEXBsR3HMe9IV
	pYMeXHyBZKK9QXQ4XackruiC70T/uScJ9lWo42hW19kIcniZETRnbPSOj+HFcWSFWclZixWmgh9
	aBbZQ38b+bh74Swv0e0OzF2Zkn8G29MU+q3lTMycDFYXqr3fd7fRWkTtx3c98NN6TNXetU3GHty
	DJXguDjhZELt1i/4Mgb2UDwmDEVaG7cW85ui0n9+CQBOA775nzdrWn8cCB+4jFLQQfmEo5EsLRR
	pt2mGskuTPOrVrtx8Ozb88up9qTSMZRYUYmPuVG1lTmZwbYRuz2aPKu9aQKH7je6ykKgig1YEiy
	TYWhCllnwvUkzTPw/xXdRUPi2K7P5ZtTs3MQHEyU0e7I=
X-Received: by 2002:a05:6000:186f:b0:390:fbba:e64e with SMTP id ffacd0b85a97d-390fbbb1cc2mr7331370f8f.38.1740997804370;
        Mon, 03 Mar 2025 02:30:04 -0800 (PST)
X-Google-Smtp-Source: AGHT+IFHoLAZ6fEWXVIxhxcXtWWYyuOPAHrr7D24c6RFsAPg6NR1E/hXM+QKIu4+7Y0Ej8r5W1JDdQ==
X-Received: by 2002:a05:6000:186f:b0:390:fbba:e64e with SMTP id ffacd0b85a97d-390fbbb1cc2mr7331318f8f.38.1740997803893;
        Mon, 03 Mar 2025 02:30:03 -0800 (PST)
Message-ID: <34388e5d-f9d1-4d29-a0e0-202a9fad345f@redhat.com>
Date: Mon, 3 Mar 2025 11:30:02 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
 <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
 <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
 <1ff509c7-187b-4e43-b266-db8ada33b9a2@arm.com>
From: David Hildenbrand <david@redhat.com>
Content-Language: en-US
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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <1ff509c7-187b-4e43-b266-db8ada33b9a2@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6glg4JR4zG2r3
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741709771.53768@QZUbxuI3rrlvIcCNq91l+A
X-ITU-MailScanner-SpamCheck: not spam

On 03.03.25 11:22, Ryan Roberts wrote:
> On 03/03/2025 08:52, David Hildenbrand wrote:
>> On 03.03.25 09:49, David Hildenbrand wrote:
>>> On 02.03.25 15:55, Ryan Roberts wrote:
>>>> The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
>>>> is a bit of a mess (to put it politely). There are a number of issues
>>>> related to nesting of lazy mmu regions and confusion over whether the
>>>> task, when in a lazy mmu region, is preemptible or not. Fix all the
>>>> issues relating to the core-mm. Follow up commits will fix the
>>>> arch-specific implementations. 3 arches implement lazy mmu; powerpc,
>>>> sparc and x86.
>>>>
>>>> When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
>>>> 6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
>>>> expected that lazy mmu regions would never nest and that the appropriate
>>>> page table lock(s) would be held while in the region, thus ensuring the
>>>> region is non-preemptible. Additionally lazy mmu regions were only used
>>>> during manipulation of user mappings.
>>>>
>>>> Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
>>>> updates") started invoking the lazy mmu mode in apply_to_pte_range(),
>>>> which is used for both user and kernel mappings. For kernel mappings the
>>>> region is no longer protected by any lock so there is no longer any
>>>> guarantee about non-preemptibility. Additionally, for RT configs, the
>>>> holding the PTL only implies no CPU migration, it doesn't prevent
>>>> preemption.
>>>>
>>>> Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
>>>> arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
>>>> set_ptes(), used by x86. So after this commit, lazy mmu regions can be
>>>> nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
>>>> page table range API") and commit 9fee28baa601 ("powerpc: implement the
>>>> new page table range API") did the same for the sparc and powerpc
>>>> set_ptes() overrides.
>>>>
>>>> powerpc couldn't deal with preemption so avoids it in commit
>>>> b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
>>>> which explicitly disables preemption for the whole region in its
>>>> implementation. x86 can support preemption (or at least it could until
>>>> it tried to add support nesting; more on this below). Sparc looks to be
>>>> totally broken in the face of preemption, as far as I can tell.
>>>>
>>>> powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
>>>> ("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
>>>> which removes the lazy mmu calls from its implementation of set_ptes().
>>>> x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
>>>> nesting of same lazy mode") but as far as I can tell, this breaks its
>>>> support for preemption.
>>>>
>>>> In short, it's all a mess; the semantics for
>>>> arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
>>>> result the implementations all have different expectations, sticking
>>>> plasters and bugs.
>>>>
>>>> arm64 is aiming to start using these hooks, so let's clean everything up
>>>> before adding an arm64 implementation. Update the documentation to state
>>>> that lazy mmu regions can never be nested, must not be called in
>>>> interrupt context and preemption may or may not be enabled for the
>>>> duration of the region.
>>>>
>>>> Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
>>>> called in pagemap_scan_pmd_entry() to follow the normal pattern of
>>>> holding the ptl for user space mappings. As a result the scope is
>>>> reduced to only the pte table, but that's where most of the performance
>>>> win is. While I believe there wasn't technically a bug here, the
>>>> original scope made it easier to accidentally nest or, worse,
>>>> accidentally call something like kmap() which would expect an immediate
>>>> mode pte modification but it would end up deferred.
>>>>
>>>> arch-specific fixes to conform to the new spec will proceed this one.
>>>>
>>>> These issues were spotted by code review and I have no evidence of
>>>> issues being reported in the wild.
>>>>
>>>
>>> All looking good to me!
>>>
>>> Acked-by: David Hildenbrand <david@redhat.com>
>>>
>>
>> ... but I do wonder if the set_ptes change should be split from the pagemap change.
> 
> So set_ptes + docs changes in one patch, and pagemap change in another? I can do
> that.

Yes.

> 
> I didn't actually cc stable on these, I'm wondering if I should do that? Perhaps
> for all patches except the pagemap change?

That would make sense to me. CC stable likely doesn't hurt here. 
(although I wonder if anybody cares about stable on sparc :))

-- 
Cheers,

David / dhildenb




From xen-devel-bounces@lists.xenproject.org Tue Mar 04 16:17:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 16:17:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901295.1309263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpUxW-0007dO-Ds; Tue, 04 Mar 2025 16:17:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901295.1309263; Tue, 04 Mar 2025 16:17: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 1tpUxW-0007dH-Ak; Tue, 04 Mar 2025 16:17:30 +0000
Received: by outflank-mailman (input) for mailman id 901295;
 Tue, 04 Mar 2025 16:17: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpUxT-0007P9-Tk
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 16:17:28 +0000
Received: from beeline3.cc.itu.edu.tr (beeline3.cc.itu.edu.tr [160.75.25.117])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 298825b7-f914-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 17:17:27 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (unknown [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline3.cc.itu.edu.tr (Postfix) with ESMTPS id 118E440CECAC
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:17:26 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6glh4LjFzG2rM
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:16:00 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id 5410B42731; Tue,  4 Mar 2025 19:15:48 +0300 (+03)
Received: from fgw1.itu.edu.tr (fgw1.itu.edu.tr [160.75.25.103])
 by le2 (Postfix) with ESMTP id C192E41F4F
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 15:58:43 +0300 (+03)
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
 by fgw1.itu.edu.tr (Postfix) with SMTP id 568AC305F789
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 15:58:43 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sv.mirrors.kernel.org (Postfix) with ESMTPS id 04D093A87C5
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 12:58:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id 05B1B211485;
 Mon,  3 Mar 2025 12:57:56 +0000 (UTC)
Received: from smtp-out3.simply.com (smtp-out3.simply.com [94.231.106.210])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6CA9421018F;
 Mon,  3 Mar 2025 12:57:48 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp.simply.com (Simply.com) with ESMTP id 4Z5zCn0L6Nz1FbbL;
 Mon,  3 Mar 2025 13:49:25 +0100 (CET)
Received: from [10.10.15.10] (h-98-128-223-123.NA.cust.bahnhof.se
 [98.128.223.123])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by smtp.simply.com (Simply.com) with ESMTPSA id 4Z5zCm2wxFz1FbZs;
 Mon,  3 Mar 2025 13:49:24 +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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 298825b7-f914-11ef-9ab4-95dc52dad729
X-Envelope-From: <root@cc.itu.edu.tr>
Authentication-Results: lesva1.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b=nP9dd9JW
X-Envelope-From: <linux-kernel+bounces-541746-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: lesva2.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b=nP9dd9JW
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b="nP9dd9JW"
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=94.231.106.210
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1741006673; cv=none; b=bgupt6FKDDwKGBx65iwR6fVPS9jX3im7D3TZ2s0/2lOpdZdXafsL2hDM52NJh8ZNnYTYYO1Z0yWTa7XsQ8ufOKnusfyrP3e6iHhC0XGM3O6KXVnSNlDAcRbHbYNl1FepDclD1xIRnty2ubXx/f4JWOk4ONtjQ2CrJolSo6heGv0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1741006673; c=relaxed/simple;
	bh=JbI6XhJ61siUdVWSy8Ns1WhjpjszqzNkeDrfZmtl4e4=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=h2+QXaluNFS+Gkf6DHUNIP3Xts8j29XLIx8D1bK2WC4Z4I/lAvkj6w70LKF0ad0JDh+AgAuQVVPaGygWViSaQcpPtA87+LiBbOgW7cjROpJByLjFPdqT2lUvpgqr5oc7cQ4N4+JIXpR+eJ/XdOjgrD9EgYYLZvmJyToVWHvV1rs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gaisler.com; spf=pass smtp.mailfrom=gaisler.com; dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b=nP9dd9JW; arc=none smtp.client-ip=94.231.106.210
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gaisler.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gaisler.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gaisler.com;
	s=unoeuro; t=1741006164;
	bh=uVrbTI227oB4DG3Xp0tOkuWBdxLi0PVMRa8nC6AqCqk=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To;
	b=nP9dd9JW/wd7xfGVmIclsUAW7Lk6Vl6kAIG/wni38v7deAa6waS1Ayjqwmql3o84n
	 DZdS63CtpqFoNU3dj2tHF2SuUw3KIn/WTjJVIXHYffz8D4NJUG2Hd1Uk8YLjjoYulN
	 RX9/cvuf0Gb2o/aPBXh4plpcFNu8CtVnLb9vpzg4=
Message-ID: <8367749d-8dd7-40f5-881e-8f45e432a91d@gaisler.com>
Date: Mon, 3 Mar 2025 13:49:23 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
To: David Hildenbrand <david@redhat.com>, Ryan Roberts
 <ryan.roberts@arm.com>, Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
 <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
 <a9e21c14-d390-4119-ad93-b23e6ccbac15@redhat.com>
 <1ff509c7-187b-4e43-b266-db8ada33b9a2@arm.com>
 <34388e5d-f9d1-4d29-a0e0-202a9fad345f@redhat.com>
Content-Language: en-US
From: Andreas Larsson <andreas@gaisler.com>
In-Reply-To: <34388e5d-f9d1-4d29-a0e0-202a9fad345f@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6glh4LjFzG2rM
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741709769.52473@YvLufKQYdNU+GlXUm2vzfw
X-ITU-MailScanner-SpamCheck: not spam

On 2025-03-03 11:30, David Hildenbrand wrote:
> On 03.03.25 11:22, Ryan Roberts wrote:[snip]
>>
>> I didn't actually cc stable on these, I'm wondering if I should do that? Perhaps
>> for all patches except the pagemap change?
> 
> That would make sense to me. CC stable likely doesn't hurt here. (although I wonder if anybody cares about stable on sparc :))

Yes, stable is important for sparc just as well as for other architectures.

Cheers,
Andreas



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 16:26:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 16:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901313.1309281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpV5v-00016G-9x; Tue, 04 Mar 2025 16:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901313.1309281; Tue, 04 Mar 2025 16:26: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 1tpV5v-000169-72; Tue, 04 Mar 2025 16:26:11 +0000
Received: by outflank-mailman (input) for mailman id 901313;
 Tue, 04 Mar 2025 16:26: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpV5u-000163-Gd
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 16:26:10 +0000
Received: from beeline2.cc.itu.edu.tr (beeline2.cc.itu.edu.tr [160.75.25.116])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 600e2009-f915-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 17:26:07 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline2.cc.itu.edu.tr (Postfix) with ESMTPS id D50D0408B5EE
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:26:06 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6gx21VFmzG3Fy
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:24:06 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id BCDAB42764; Tue,  4 Mar 2025 19:23:53 +0300 (+03)
Received: from fgw1.itu.edu.tr (fgw1.itu.edu.tr [160.75.25.103])
 by le2 (Postfix) with ESMTP id CEBFE41FA6
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 11:54:49 +0300 (+03)
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
 by fgw1.itu.edu.tr (Postfix) with SMTP id 68CEC3064C0B
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 11:54:49 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ny.mirrors.kernel.org (Postfix) with ESMTPS id 5A9BE169015
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 08:54:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id C47981F0E55;
 Mon,  3 Mar 2025 08:49:58 +0000 (UTC)
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76F831F0E49
 for <linux-kernel@vger.kernel.org>; Mon,  3 Mar 2025 08:49:52 +0000 (UTC)
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-187-5l4JXGGbM2CRqTw9V2nWCA-1; Mon, 03 Mar 2025 03:49:45 -0500
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-43998ec3733so21975005e9.2
 for <linux-kernel@vger.kernel.org>; Mon, 03 Mar 2025 00:49:44 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bc032d049sm33471735e9.5.2025.03.03.00.49.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 00:49:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 600e2009-f915-11ef-9898-31a8f345e629
X-Envelope-From: <root@cc.itu.edu.tr>
Authentication-Results: lesva1.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=ANFNs5G8
X-Envelope-From: <linux-kernel+bounces-541202-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: lesva2.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=ANFNs5G8
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ANFNs5G8"
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1740991794; cv=none; b=nMtHFIBulIZ6Z/2ALR2aBXrucFC2S93dSrygWsnuHiCRwMUn1tuUXYi7hRZ0Sq90dWs74rtYQPdDmzU3tKB0I+zviZsM1cevBXMmpkKPnIsDUyhoq6nDI0B74EafmckPKIWfCnn6n64aZwbStgsOUzubT15Z8tZYVrR2BE9kouY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740991794; c=relaxed/simple;
	bh=zCOjBv5AvYJcTcxt92Gav4gKEM+8D+EuXV0aeC3s2D4=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=BFLDKmkAO78ilHXkJ4rSfhMcJ2YmoAo7ySSmGPsOdstmAvwNdmwIGL/TKg3Du1W/9hZAzz9jURujHU7eO1hP73DFSTJmDX8XCgdkFPvh6+RqT4L63oV9bLLpdu+3RmfXtlTjmI03Dt5Q1Z1S0SsX1GmcvVxYqRHc5amSzRrNUYc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=ANFNs5G8; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740991791;
	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=HZgsvoWWTlj/z7Wx3jz+2Ap6TQJJXYjKQ3XMWzn2w2I=;
	b=ANFNs5G8byBVKUkRox21ASS4NXH2VXk9lCsJmqvq2Od3fYiBxB40uuSh+SbPJIdfO5HFuz
	dHJjChulSiROJLDvYIakJV/lOmDFqmGsGeQ7Q6ilF2oEwDWDypshkKbQgWdU5vipbHksg/
	mNTuHUfIhIdXvf3vMrG9FFqAeMfCQc0=
X-MC-Unique: 5l4JXGGbM2CRqTw9V2nWCA-1
X-Mimecast-MFC-AGG-ID: 5l4JXGGbM2CRqTw9V2nWCA_1740991784
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740991784; x=1741596584;
        h=content-transfer-encoding:in-reply-to:organization: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=HZgsvoWWTlj/z7Wx3jz+2Ap6TQJJXYjKQ3XMWzn2w2I=;
        b=T/dvDygW2wviUV1m6e0IPOCijiB0GPkLJhVk3JK8krA1rJ2IF9otmKR0zitlIZfCUf
         kfbJownTcQ3TJO/HzJoVe87Z89gPU0g4naMeWgejMGIMjhVZrsqpXfk7CLInXtqYfvfW
         IizLIKWKN4RAuLTRURcKNt9mJT0wgvKb81CmFJkULZNzyYurGnuCevFCbe238oaEkhev
         Dk1fHhMN53g2uroB+KcdfHPVNqTXPk50YtvkWG30ceL+tA8UBBc6pujvmrxlsMuEPYAp
         WG1ep3FdW8BlipMY22ZjxhWqrG2DjD7p9DsL36aGMLNFu/mmdtYdS7sWj541rPYLBpjl
         /Z4w==
X-Forwarded-Encrypted: i=1; AJvYcCWcVHr9QZt1NKSP/Tg2WHREksTWSWql5b4+pBnZlLmbRRhzUmZjCqHUfDCpeCyjXlBMdhAA7lFHVKswyD8=@vger.kernel.org
X-Gm-Message-State: AOJu0YztARJiuHLnyPtTHtl7rUVMsZscTR/leJpYtLqSXva3CyIYbNtp
	+mBqySS8ybgKOmLdbOW5/EHQoh1BwoUKuJGi2kHr4xTULtgtTz1X2oySkdCZfqgkBY8SV28wXax
	Qnt9OyavMenX8hKahtRR5aQCpt/0m86Gd1/aIg2ja0HiH1KnZKLQI8bCfNbNf6g==
X-Gm-Gg: ASbGncvXd5ipcC5ss7ySu+a1bcuC+g3CrB59TuThYnul7RaDpXsVCUnfXIT1nq3Zlvg
	h3iCvzrPsAiBSy9FxasLX2xAdr7EtfJY3y5yO7fx7osF/Px3kT9WJkozExNrY8PqqswFfBtr4tP
	o7AbTH6RLOvzhutqPws16Vlr6Tqg4xKk1zXQKJBY+eZ+sx+25fZESNyBAFueQG2Rs4qBfZh+tvL
	lJjeAACvF7SIlD/1HCR9E3Y+spr7DpYXh0lQgYWpKNvoQkZ9LBCpN5S6Q0+cnFhradrxfAeg8pN
	9OCy9Tvrj0KVLHY4jEqS9UDY67aG+3D8z+k91Dft3fYNwsWHrxCvUIaV57oxuKgl6zf/LhXJxTl
	widEnTiFIXZNJdFTxNR8eRs65ycS4cAZfJd0xXRbtq/w=
X-Received: by 2002:a05:600c:6a98:b0:43b:c1ac:aeeb with SMTP id 5b1f17b1804b1-43bc1acb051mr17807955e9.2.1740991783872;
        Mon, 03 Mar 2025 00:49:43 -0800 (PST)
X-Google-Smtp-Source: AGHT+IGfkTeqUr6av3ulFhHw4w32J7M9dmMHOsqprQVn7qo3OHB2JAoIA5h/UZCV7efl/bOzE0qShA==
X-Received: by 2002:a05:600c:6a98:b0:43b:c1ac:aeeb with SMTP id 5b1f17b1804b1-43bc1acb051mr17807725e9.2.1740991783445;
        Mon, 03 Mar 2025 00:49:43 -0800 (PST)
Message-ID: <5418a661-dbd0-46e9-8ef7-b1c5a34acce3@redhat.com>
Date: Mon, 3 Mar 2025 09:49:41 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] mm: Fix lazy mmu docs and usage
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-2-ryan.roberts@arm.com>
From: David Hildenbrand <david@redhat.com>
Content-Language: en-US
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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250302145555.3236789-2-ryan.roberts@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6gx21VFmzG3Fy
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741710277.06255@TwCZU9PgcA6DQmXvRIcv8A
X-ITU-MailScanner-SpamCheck: not spam

On 02.03.25 15:55, Ryan Roberts wrote:
> The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode()
> is a bit of a mess (to put it politely). There are a number of issues
> related to nesting of lazy mmu regions and confusion over whether the
> task, when in a lazy mmu region, is preemptible or not. Fix all the
> issues relating to the core-mm. Follow up commits will fix the
> arch-specific implementations. 3 arches implement lazy mmu; powerpc,
> sparc and x86.
> 
> When arch_[enter|leave]_lazy_mmu_mode() was first introduced by commit
> 6606c3e0da53 ("[PATCH] paravirt: lazy mmu mode hooks.patch"), it was
> expected that lazy mmu regions would never nest and that the appropriate
> page table lock(s) would be held while in the region, thus ensuring the
> region is non-preemptible. Additionally lazy mmu regions were only used
> during manipulation of user mappings.
> 
> Commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy
> updates") started invoking the lazy mmu mode in apply_to_pte_range(),
> which is used for both user and kernel mappings. For kernel mappings the
> region is no longer protected by any lock so there is no longer any
> guarantee about non-preemptibility. Additionally, for RT configs, the
> holding the PTL only implies no CPU migration, it doesn't prevent
> preemption.
> 
> Commit bcc6cc832573 ("mm: add default definition of set_ptes()") added
> arch_[enter|leave]_lazy_mmu_mode() to the default implementation of
> set_ptes(), used by x86. So after this commit, lazy mmu regions can be
> nested. Additionally commit 1a10a44dfc1d ("sparc64: implement the new
> page table range API") and commit 9fee28baa601 ("powerpc: implement the
> new page table range API") did the same for the sparc and powerpc
> set_ptes() overrides.
> 
> powerpc couldn't deal with preemption so avoids it in commit
> b9ef323ea168 ("powerpc/64s: Disable preemption in hash lazy mmu mode"),
> which explicitly disables preemption for the whole region in its
> implementation. x86 can support preemption (or at least it could until
> it tried to add support nesting; more on this below). Sparc looks to be
> totally broken in the face of preemption, as far as I can tell.
> 
> powewrpc can't deal with nesting, so avoids it in commit 47b8def9358c
> ("powerpc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes"),
> which removes the lazy mmu calls from its implementation of set_ptes().
> x86 attempted to support nesting in commit 49147beb0ccb ("x86/xen: allow
> nesting of same lazy mode") but as far as I can tell, this breaks its
> support for preemption.
> 
> In short, it's all a mess; the semantics for
> arch_[enter|leave]_lazy_mmu_mode() are not clearly defined and as a
> result the implementations all have different expectations, sticking
> plasters and bugs.
> 
> arm64 is aiming to start using these hooks, so let's clean everything up
> before adding an arm64 implementation. Update the documentation to state
> that lazy mmu regions can never be nested, must not be called in
> interrupt context and preemption may or may not be enabled for the
> duration of the region.
> 
> Additionally, update the way arch_[enter|leave]_lazy_mmu_mode() is
> called in pagemap_scan_pmd_entry() to follow the normal pattern of
> holding the ptl for user space mappings. As a result the scope is
> reduced to only the pte table, but that's where most of the performance
> win is. While I believe there wasn't technically a bug here, the
> original scope made it easier to accidentally nest or, worse,
> accidentally call something like kmap() which would expect an immediate
> mode pte modification but it would end up deferred.
> 
> arch-specific fixes to conform to the new spec will proceed this one.
> 
> These issues were spotted by code review and I have no evidence of
> issues being reported in the wild.
> 

All looking good to me!

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb




From xen-devel-bounces@lists.xenproject.org Tue Mar 04 16:41:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 16:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901332.1309290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpVKj-000418-L2; Tue, 04 Mar 2025 16:41:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901332.1309290; Tue, 04 Mar 2025 16:41: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 1tpVKj-000411-I7; Tue, 04 Mar 2025 16:41:29 +0000
Received: by outflank-mailman (input) for mailman id 901332;
 Tue, 04 Mar 2025 16:41: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=kFsD=VX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpVKi-00040v-9R
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 16:41:28 +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 83eaf9ed-f917-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 17:41:26 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-aaee2c5ee6eso850703266b.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 08:41:27 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac1e02f9660sm262903466b.71.2025.03.04.08.41.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 08:41:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83eaf9ed-f917-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741106486; x=1741711286; darn=lists.xenproject.org;
        h=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=quF0aTMLufYAfyxmEa9FNXzjukK1F9FdjpvMWthr0f0=;
        b=WTSOzQjag8Brr+gRrQXmWWtZP+o9iw2crCd5JV7LbIzdYIGcIjLG8IgPZ3UpBPMvkr
         iypsP9Yxpb/ZrRiXZUA688JbS7GMioV+MxTeijt2oKME+oVci9YF6Y7cwSONyHTvvFKf
         3rVPY70VmesXPiMZP7X1+T4p+BHvKJQ/0Or3c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741106486; x=1741711286;
        h=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=quF0aTMLufYAfyxmEa9FNXzjukK1F9FdjpvMWthr0f0=;
        b=t8AUgYFMMNE5nwqSjLH1kYYpEXknaU3G1eK35QnAokvv5buSWqGBg1O9KQPS9cBklv
         8TAgZM7IkucLAKV/PjcJOlc1o+pfs/Bi5tPkd4jY5poiHfwuE3P303YMDvZFZqPJcCZ2
         2CE1PZfR5LCQ51LzG3BNwyrrnpm5q0IbKUD2yT2Ou0TokqRoxTMK5l8zJSrDYd9OSdFE
         r3UQil9VGUq2GiTZ1PnE7+rMMQm07guqVqUBtEdtIoQb1udGB+vwDFJe+sjgQllmXkaD
         eIfZEAkVn8VMWS3fQ+ALISNh+PBJqUywZq3Q3YP7YFL0xdznlNC8iWKHBD3Z00Y3gs3H
         JWpQ==
X-Gm-Message-State: AOJu0YyPSVdG/gfLRvh1BhJearorftExJkUpc9gtrPrAC3ee42cE6VIh
	q23/akr0oJZKlpM6aiAoGbdf+ziwbvd2lJP96YLTo4g4Yk4tAIHfSvnNYF5Lf5U=
X-Gm-Gg: ASbGnctAmhKd/IoZ0Lx6oOZN9iMZMDk6greWsRBFsotYWMbOuYs/QqGSEZS/zCEuyei
	6GYYHg3dBaIVQQ4QHmYD9IQqda+H9Wf9h5oI7cQlQTYA0PbeGQyDaTOTc5lohtvZXmWMZH0WjNV
	9yuQBvtX4MLOuHcBNtKGpVm3yMIaxcwzoYYAwC6cCfJOIA7NQH4+tcEmHznafQ+tHdr2Bv4lcD/
	bflOl+/S15U/arUX5aIhQP23YULERSSM/cXQEWnN2/O/42t9KsFjISTqknnTn1XijoFDy1HMF+f
	Foc6WuyohwymoH/vQTPhnDs0TZU3l/E8h10erVd8mp6pwHBR5w==
X-Google-Smtp-Source: AGHT+IHzTa5Ds9k+mnxSRztBV6tN5kUD76OcqXCK8tZ3djFyVtf8aprioBXkxg426oyeFs03ZLxZ9Q==
X-Received: by 2002:a17:907:c48c:b0:ac2:8db:7057 with SMTP id a640c23a62f3a-ac208db8caemr63118866b.3.1741106486392;
        Tue, 04 Mar 2025 08:41:26 -0800 (PST)
Date: Tue, 4 Mar 2025 17:41:25 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
Message-ID: <Z8ctNa9WFwYxnKuE@macbook.local>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <9be05453-ab39-4b70-9675-b9df47e870b2@amd.com>
 <Z8GDpJ8G8qMz4uYD@macbook.local>
 <09a8e9dd-2839-49d5-9fff-d2c12c0dd3ed@amd.com>
 <Z8bUqTKSJ8rpMX8R@macbook.local>
 <3bd7ff2b-5f26-496b-a067-c6c1f79e7515@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3bd7ff2b-5f26-496b-a067-c6c1f79e7515@amd.com>

On Tue, Mar 04, 2025 at 10:15:21AM -0500, Jason Andryuk wrote:
> On 2025-03-04 05:23, Roger Pau MonnĂŠ wrote:
> > On Fri, Feb 28, 2025 at 03:25:52PM -0500, Jason Andryuk wrote:
> > > On 2025-02-28 04:36, Roger Pau MonnĂŠ wrote:
> > > > On Thu, Feb 27, 2025 at 01:28:11PM -0500, Jason Andryuk wrote:
> > > > > On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
> > > > > > On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
> > > > > > > To work around this, we can, for per-device IRTs, program the hardware
> > > > > > > to use the guest data & associated IRTE.  The address doesn't matter
> > > > > > > since the IRTE handles that, and the Xen address & vector can be used as
> > > > > > > expected.
> > > > > > 
> > > > > > All this work on AMD because when interrupt remapping is enabled all
> > > > > > MSIs are handled by the remapping table, while on Intel there's still
> > > > > > a bit in the MSI address field to signal whether the MSI is using a
> > > > > > remapping entry, or is using the "compatibility" format (iow: no
> > > > > > remapping).
> > > > > 
> > > > > So, on Intel, if the guest hands the device the MSI address, it can decided
> > > > > to bypass remapping?
> > > > > 
> > > > > Thanks for providing insight into the Intel inner workings.  That's why I am
> > > > > asking.
> > > > 
> > > > Yes, sorry, I'm afraid I don't have any good solution for Intel, at
> > > > least not anything similar to what you propose to do on AMD-Vi.  I
> > > > guess we could take a partial solution for AMD-Vi only, but it's
> > > > sub-optimal from Xen perspective to have a piece of hardware working
> > > > fine on AMD and not on Intel.
> > > 
> > > I only need AMD to work ;)
> > > 
> > > But yeah, I thought I should make an effort to get both working.
> > 
> > Kind of tangential to this approach.  Do you know which register(s)
> > are used to store the non-architectural MSI address and data fields?
> > 
> > I'm wondering if it simply would be easier to introduce a quirk for
> > this device in vPCI (and possibly QEMU?) that intercepts writes to the
> > out of band MSI registers.  That should work for both Intel and AMD,
> > but would have the side effect that Xen would need to intercept
> > accesses to at least a full page, and possibly forward accesses to
> > adjacent registers.
> 
> From the QEMU part of the vfio hack:
> * We therefore come up with a really crude quirk that looks for values
> * written to the ATH11K_PCI_WINDOW (defined in Linux driver as starting
> * at 0x80000 with an 18-bit mask, ie. 256k) that match the guest MSI
> * address.  When found we replace the data with the host physical
> * address and set a cookie to match the MSI data write, again replacing
> * with the host value and clearing the cookie.
> 
> https://lore.kernel.org/ath11k/20240812170045.1584000-1-alex.williamson@redhat.com/
> 
> This is inside BAR0, AIUI.  I'm guessing, but I think the driver puts them
> into a command ring, so it's not a fixed location.  The large area, and
> since we won't normally intercept BAR access, made me not want to pursue
> this.

Oh, I see, it's not a fixed register, but something like a command
queue.  Great, that makes it way worse to deal with.  It would also
imply that Xen would need to possibly map the whole 256k ring in order
to forward requests to the hardware.

I would like for a solution that covers both Intel and AMD, but I
don't have the card myself to test or develop any of those solutions,
so I think having a solution that works on AMD is likely better than
having no solution at all.  Whoever wants to use the card on Intel
will have to come up with a solution there.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 16:53:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 16:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901345.1309301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpVWJ-0007a8-Mq; Tue, 04 Mar 2025 16:53:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901345.1309301; Tue, 04 Mar 2025 16: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 1tpVWJ-0007a1-JA; Tue, 04 Mar 2025 16:53:27 +0000
Received: by outflank-mailman (input) for mailman id 901345;
 Tue, 04 Mar 2025 16:53: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpVWI-0007Zv-NL
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 16:53:26 +0000
Received: from beeline3.cc.itu.edu.tr (beeline3.cc.itu.edu.tr [160.75.25.117])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f7d208d-f919-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 17:53:24 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline3.cc.itu.edu.tr (Postfix) with ESMTPS id 4C87A40D1F43
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 19:53:23 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6dWj3K06zFwLr
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 17:35:29 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id 22B814273D; Tue,  4 Mar 2025 17:35:15 +0300 (+03)
Received: from fgw2.itu.edu.tr (fgw2.itu.edu.tr [160.75.25.104])
 by le2 (Postfix) with ESMTP id 202CD43785
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 12:38:24 +0300 (+03)
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
 by fgw2.itu.edu.tr (Postfix) with SMTP id F14B22DCE3
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 12:38:23 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by am.mirrors.kernel.org (Postfix) with ESMTPS id C81C51891B69
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 09:38:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id DDC831F131C;
 Mon,  3 Mar 2025 09:38:12 +0000 (UTC)
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2DF51DE2DE
 for <linux-kernel@vger.kernel.org>; Mon,  3 Mar 2025 09:38:08 +0000 (UTC)
Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com
 [209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-58-WXtsxd-QMx2jXvkq3n0HJA-1; Mon, 03 Mar 2025 04:38:06 -0500
Received: by mail-ed1-f70.google.com with SMTP id
 4fb4d7f45d1cf-5e55cf1e9b4so797028a12.2
 for <linux-kernel@vger.kernel.org>; Mon, 03 Mar 2025 01:38:06 -0800 (PST)
Received: from lbulwahn-thinkpadx1carbongen9.rmtde.csb
 ([2a02:810d:7e40:14b0:4ce1:e394:7ac0:6905])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e4c3b6cfd0sm6614899a12.28.2025.03.03.01.38.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 03 Mar 2025 01:38:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f7d208d-f919-11ef-9898-31a8f345e629
X-Envelope-From: <root@cc.itu.edu.tr>
Authentication-Results: lesva1.cc.itu.edu.tr;
	dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=FOYIhFXT
X-Envelope-From: <linux-kernel+bounces-541282-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: lesva2.cc.itu.edu.tr;
	dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=FOYIhFXT
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="FOYIhFXT"
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1740994690; cv=none; b=a7bYfOijgGuw4viwifYCX+3VEJb5M4zGQlcu1QwjavTH35Gjx7N4+lVTC0jvCf5oLlj1mp33lC/Nd7A4sizkZsrzecl6M1lAvs2rSWSDxBJr7TUl76JiqfntuW8Pd8iP+nZgqrlHTmlvBit2b/AXvprwOoQ/0N05jBlLIvH8Z4Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740994690; c=relaxed/simple;
	bh=zlCMUidIBWNN9WpoUdZwIdQCmJ/Iyiw+Jbwq8oV+ti4=;
	h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Q2cC+2ctv8ZS1TDNTYcvjB1HgsGkkPvQxomtb09ZmspeR/w6r6OalJUyXpnXsMTls/sOdpqYdqvjE22cylo9TuGwjIZ6iNaYFZTVqH8QQvkqGbKLVcv7ZVroha+0V0iaG7J6JJXCWLscK4sMzfOAJe3EiBsL2Wgtd4dQ0yi7cms=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=FOYIhFXT; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740994687;
	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=jtFF5Isb4vaWOmkrbTb6ml0NHfU6CXUYn/xbKnf16mo=;
	b=FOYIhFXTCO9H/UhaC53fNK+ksXBXLaS35+NjBtKku3NcXwtad/R8XjZg8DjSTSwJWHK31r
	K/U2nJqqyw5mkujBVM1MhQ80lHYrHsc7uYN1kGVHP6r/b6j9PNBqguhD/jn5foLNIVHFkt
	TSMtVmf5mqEX76UdZHC3tVSbiDYsZHo=
X-MC-Unique: WXtsxd-QMx2jXvkq3n0HJA-1
X-Mimecast-MFC-AGG-ID: WXtsxd-QMx2jXvkq3n0HJA_1740994685
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740994685; x=1741599485;
        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=jtFF5Isb4vaWOmkrbTb6ml0NHfU6CXUYn/xbKnf16mo=;
        b=HaHWUQ5j+RwmYZ+5a5sdRBpR8CuwdaBKKJ1kbM2ElMkJwrq0PvtBuQ+7LlbWILLbLu
         2YpvZABP1JHzWg6cIUhJGnDNlcZKVel0Rjo6i0G+dCRe2tx4rkWqT/HFsl5jq35MRKnl
         HOKF21D/WRmHmOP97Iukcohr0h7D1TPKrqhzCqRH6ZQojs0RnXpVFLvUpZRv4BHMwKD5
         kiu2HJ/oi9+7pkdQQ8cv1csJgPBpZj5EJjBLuNVVJjfCKObBsRYk7JxVZ9c+9MFo8Iea
         kM75YirXk27luS7KaYUETdSPfXLeeDFpwMyzu8m/xCEWmkKT22AvV7ETr/sh51fEG98f
         OPJw==
X-Forwarded-Encrypted: i=1; AJvYcCUm36bZS216QPHxe9eZl9yBNhS9AX+nWo1L6RtvoJLL30d+pVGEDMNsA3wDUI6vhLvA7LMepsrYpqvLigw=@vger.kernel.org
X-Gm-Message-State: AOJu0YypTOUYBtZQpONlOLMZiR8lu+rdQNAWyE/p6q1OXUTKGFGOAMUY
	evvTRH49/dLbgrzO4RwOhHxT0QhXx6l5K0/ogEwjQx02sKq1QicJCr2Rp4mt2oL9RzXP6sJF4PM
	N56mU7mTrJPgxf5T+0Xnd/V8uWvEsp1UjHtOSej3S/gsB8+cOQL5RgGTdRILKNQ==
X-Gm-Gg: ASbGnct2cFBSfUKxrA9xUKn6/PUQt2aeZAiKexJmZh0PkfS9/zX2TYHdg8VaAyUsJUz
	TSE6sWRBxeXdJU5IHlJWzOngfRE4u16jVXtKN5MTiYx60vlxCnwDOLWHOc0SJsc7xgD3VBoGl/l
	vNEgqeoP5CmhY9kHGJuEUuEkLWtLHKJl1iLRX6+pRjvvUncEIObEq6pNgKuZW41P+VBJauL4THE
	VasYh7qgRLS7Vf8RRXkFlpR5y0W5bbvHq+qK+571PK2jXCekPOsZ/Jz9Qzr+lm4K8Q0XZoYlWwR
	Q8rdN8N17uzUH4+fJdzgtxLPGMgebyfQrJ37KmlB3zf/gc+S3AbT++zReZaXmts=
X-Received: by 2002:a05:6402:51c6:b0:5de:5717:f235 with SMTP id 4fb4d7f45d1cf-5e4d6b6271cmr13603176a12.24.1740994684950;
        Mon, 03 Mar 2025 01:38:04 -0800 (PST)
X-Google-Smtp-Source: AGHT+IG0D4fk02QR9pNIZDoVtBIGIryV/5nnFm81RWTyHdja4tZ1wouSANXuFLVpCyDmAiODjbHbRQ==
X-Received: by 2002:a05:6402:51c6:b0:5de:5717:f235 with SMTP id 4fb4d7f45d1cf-5e4d6b6271cmr13603153a12.24.1740994684510;
        Mon, 03 Mar 2025 01:38:04 -0800 (PST)
From: Lukas Bulwahn <lbulwahn@redhat.com>
X-Google-Original-From: Lukas Bulwahn <lukas.bulwahn@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>,
	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>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@redhat.com>
Subject: [PATCH] xen: Kconfig: Drop reference to obsolete configs MCORE2 and MK8
Date: Mon,  3 Mar 2025 10:37:59 +0100
Message-ID: <20250303093759.371445-1-lukas.bulwahn@redhat.com>
X-Mailer: git-send-email 2.48.1
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6dWj3K06zFwLr
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741711885.10116@6O3D25dYYoEWLnUmePnxWQ
X-ITU-MailScanner-SpamCheck: not spam

From: Lukas Bulwahn <lukas.bulwahn@redhat.com>

Commit f388f60ca904 ("x86/cpu: Drop configuration options for early 64-bi=
t
CPUs") removes the config symbols MCORE2 and MK8.

With that, the references to those two config symbols in xen's x86 Kconfi=
g
are obsolete. Drop them.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@redhat.com>
---
 arch/x86/xen/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
index 77e788e928cd..98d8a50d2aed 100644
--- a/arch/x86/xen/Kconfig
+++ b/arch/x86/xen/Kconfig
@@ -9,7 +9,7 @@ config XEN
 	select PARAVIRT_CLOCK
 	select X86_HV_CALLBACK_VECTOR
 	depends on X86_64 || (X86_32 && X86_PAE)
-	depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MCORE2 || MATOM || MK=
8)
+	depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MATOM)
 	depends on X86_LOCAL_APIC && X86_TSC
 	help
 	  This is the Linux Xen port.  Enabling this will allow the
--=20
2.48.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 04 17:14:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 17:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901355.1309311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpVqq-00036e-BA; Tue, 04 Mar 2025 17:14:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901355.1309311; Tue, 04 Mar 2025 17:14: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 1tpVqq-00036X-7D; Tue, 04 Mar 2025 17:14:40 +0000
Received: by outflank-mailman (input) for mailman id 901355;
 Tue, 04 Mar 2025 17:14: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpVqo-00036R-BV
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 17:14:38 +0000
Received: from beeline3.cc.itu.edu.tr (beeline3.cc.itu.edu.tr [160.75.25.117])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26001e49-f91c-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 18:14:36 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline3.cc.itu.edu.tr (Postfix) with ESMTPS id 9670C40CECB3
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 20:14:35 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6fjd5nNtzG0Wb
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 18:29:09 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id A018242751; Tue,  4 Mar 2025 18:28:56 +0300 (+03)
Received: from fgw1.itu.edu.tr (fgw1.itu.edu.tr [160.75.25.103])
 by le2 (Postfix) with ESMTP id 75DBC42090
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 16:39:49 +0300 (+03)
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
 by fgw1.itu.edu.tr (Postfix) with SMTP id 52C0A305F789
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 16:39:49 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by am.mirrors.kernel.org (Postfix) with ESMTPS id 94A8E188EDF1
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 13:39:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id 1EE29212F9A;
 Mon,  3 Mar 2025 13:39:30 +0000 (UTC)
Received: from smtp-out3.simply.com (smtp-out3.simply.com [94.231.106.210])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED7DE211A10;
 Mon,  3 Mar 2025 13:39:23 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp.simply.com (Simply.com) with ESMTP id 4Z60KQ0fWkz1FbZy;
 Mon,  3 Mar 2025 14:39:22 +0100 (CET)
Received: from [10.10.15.10] (h-98-128-223-123.NA.cust.bahnhof.se
 [98.128.223.123])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by smtp.simply.com (Simply.com) with ESMTPSA id 4Z60KP1Hk1z1DDhC;
 Mon,  3 Mar 2025 14:39: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26001e49-f91c-11ef-9ab4-95dc52dad729
X-Envelope-From: <root@cc.itu.edu.tr>
Authentication-Results: lesva1.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b=RFhGDprU
X-Envelope-From: <linux-kernel+bounces-541835-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: lesva2.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b=RFhGDprU
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b="RFhGDprU"
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=94.231.106.210
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1741009167; cv=none; b=KLn8li1D5hW4GwoJPXJ8YMxv2SNwvFWoC6JcZbFyDxQL57i6Pr26/olgzeuq69bmBLKs0sGw+R8+JWO1ZxJAYbQHHMrrGozjhhyJp75vayfpl5RbtJOTUQk/+lFjSCAB7m7q/dDPdEqOxcUNycVDsU9R/8wmop+yrQQJEuCKFc0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1741009167; c=relaxed/simple;
	bh=a+xzmZy+B7fCsmKmkr8eFxrN/zN1zTAx89ABihyaOnI=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=inap1f6lcXJ1vWcihJTfQRkBrabY1czfCdXRaV09yK4eMxiIOI1U9cv4YyUad5qu7l0eeCMzVVXug/Ke81dkZEq8EeHqd5nmx0frPYL0oBYkHlj9tTWvlRcZfna92adEK7CJmJEXfjh51N3JW8zCn5Ij0E2ttvcKx27pTAcq7NA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gaisler.com; spf=pass smtp.mailfrom=gaisler.com; dkim=pass (1024-bit key) header.d=gaisler.com header.i=@gaisler.com header.b=RFhGDprU; arc=none smtp.client-ip=94.231.106.210
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gaisler.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gaisler.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gaisler.com;
	s=unoeuro; t=1741009161;
	bh=/93h/VFBMXUYlK5HJY61WVbB5bIOZygI64XeIBe95nE=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To;
	b=RFhGDprUngIX8B/WksXu5qCl6jvG6Ue2AZeNLU2uztLVehbOrf4Be7sdpXV7apQAV
	 L5G/0zYDuoS1MZLUHtd9Cg4ltQmBCZYtoSFItZZTzSCMQlto/+shrAINuGubsl6a9Z
	 zhVJuX2/VxHBfRJjuhyVJhRfswfIwjfgKGq1o31k=
Message-ID: <b2b03b41-8442-4c68-9c00-05e524673fe0@gaisler.com>
Date: Mon, 3 Mar 2025 14:39:20 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] sparc/mm: Disable preemption in lazy mmu mode
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-3-ryan.roberts@arm.com>
Content-Language: en-US
From: Andreas Larsson <andreas@gaisler.com>
In-Reply-To: <20250302145555.3236789-3-ryan.roberts@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6fjd5nNtzG0Wb
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741713176.01234@qgSCxTcWbrwFchGmGN7pRw
X-ITU-MailScanner-SpamCheck: not spam

On 2025-03-02 15:55, Ryan Roberts wrote:
> Since commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with
> lazy updates") it's been possible for arch_[enter|leave]_lazy_mmu_mode()
> to be called without holding a page table lock (for the kernel mappings
> case), and therefore it is possible that preemption may occur while in
> the lazy mmu mode. The Sparc lazy mmu implementation is not robust to
> preemption since it stores the lazy mode state in a per-cpu structure
> and does not attempt to manage that state on task switch.
> 
> Powerpc had the same issue and fixed it by explicitly disabling
> preemption in arch_enter_lazy_mmu_mode() and re-enabling in
> arch_leave_lazy_mmu_mode(). See commit b9ef323ea168 ("powerpc/64s:
> Disable preemption in hash lazy mmu mode").
> 
> Given Sparc's lazy mmu mode is based on powerpc's, let's fix it in the
> same way here.
> 
> Fixes: 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy updates")
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>  arch/sparc/mm/tlb.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
> index 8648a50afe88..a35ddcca5e76 100644
> --- a/arch/sparc/mm/tlb.c
> +++ b/arch/sparc/mm/tlb.c
> @@ -52,8 +52,10 @@ void flush_tlb_pending(void)
>  
>  void arch_enter_lazy_mmu_mode(void)
>  {
> -	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
> +	struct tlb_batch *tb;
>  
> +	preempt_disable();
> +	tb = this_cpu_ptr(&tlb_batch);
>  	tb->active = 1;
>  }
>  
> @@ -64,6 +66,7 @@ void arch_leave_lazy_mmu_mode(void)
>  	if (tb->tlb_nr)
>  		flush_tlb_pending();
>  	tb->active = 0;
> +	preempt_enable();
>  }
>  
>  static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,

Acked-by: Andreas Larsson <andreas@gaisler.com>

Thanks,
Andreas



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 17:40:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 17:40:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901367.1309328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpWFF-0005sa-8z; Tue, 04 Mar 2025 17:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901367.1309328; Tue, 04 Mar 2025 17:39: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 1tpWFF-0005sT-6R; Tue, 04 Mar 2025 17:39:53 +0000
Received: by outflank-mailman (input) for mailman id 901367;
 Tue, 04 Mar 2025 17:39: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=esJf=VX=flex--seanjc.bounces.google.com=35DrHZwYKCbstfbokdhpphmf.dpnyfo-efwfmmjtut.yfoqspkfdu.psh@srs-se1.protection.inumbo.net>)
 id 1tpWFD-0005sN-Uq
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 17:39:52 +0000
Received: from mail-pl1-x649.google.com (mail-pl1-x649.google.com
 [2607:f8b0:4864:20::649])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abde0fcb-f91f-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 18:39:50 +0100 (CET)
Received: by mail-pl1-x649.google.com with SMTP id
 d9443c01a7336-22367f4e9b9so80309475ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 09:39:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abde0fcb-f91f-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1741109989; x=1741714789; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=TI3FoVeE0Ra2glCU+l7ZrrB58ecOTFnnVt+cs3oYhCA=;
        b=rVvLSfFe7LIWkFjAIGNRd3UmHQJh3vfhzuobUvZZBOgFqPuxTuAd/2nJB+RwG4UlWZ
         9lt5vfSFHnnvAyjHR6oB8VWWzM/aXaPMyZNoe5yAVrwXOb/qeOC4lRD0/mumfDSfA2NP
         JsmXmJh0UCaj/8BBud4ZCKpW3yYI7CfkK/dKeFKa1X8bIxpT7KVlV02pJJZvu/kgPXt1
         ZOKaBsUY9INoFn4+vthQBN8NR+QgxC2zbt6IDuA5FVh44mavD3vOcrlma0aJ/ckJx9Xu
         cukT7MaMRlz8yk5S5oMbS1aPdwRb07/9f+ieVo2wFMZw3xp1+b07PvXhRoUAMf9OYFy+
         gNpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741109989; x=1741714789;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=TI3FoVeE0Ra2glCU+l7ZrrB58ecOTFnnVt+cs3oYhCA=;
        b=hfScL8QhwtcQcTeJglslf0SdGQf5vUxh7fTAzjgMyHOk6gVddo6PYo3q/eym4dccDi
         BphXf2jqXvwTUrgRjf0xQV3fvIoI9KTZ4pBXNWHgheLEmr3Fmd1tssTMsEX5E/ZNaTqN
         jfK7BK3lEoHect8pJ435ayogMFiBzXZJUTphIPRn0KPIZGluu+ZFr1t+8kt61BtXHJbV
         Cm9kd9fv0VNaWU0PqJv24xfGYu6CYX8d8xPl7ffkfd61PX5S3e15mO0MYOfmzWlytvBp
         qPSNPISAHN6ws/m7JVe989HU2rv/Q5RUmfTEC4U1oQ3ABDMfkfDEkCO3crnDHmu/5yx3
         lizQ==
X-Forwarded-Encrypted: i=1; AJvYcCXHU2wehnEnkV+oF3YK3FwsVBOUf5sjztVKGQPLqzwE/a7qSRrLHHmbQb92vEwCECe8Uvtg9/ObM8o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxCgaWjAFrtd620DMZLl4oCULNFkO+YCiyajcu9xp6g/SbEq3Q
	x5Rd82N5a3oZp5tUGBmwV7/OcKw+PDXfmaDSWmHuIkUoWnB4mDwFHByGMQbHGelXopi1r+BUhTM
	D2g==
X-Google-Smtp-Source: AGHT+IGZddoSY2oyJ60dCyqtZiF8YnS+v36sYEMEslkao7NI/8RRXlf38IKWdXRybiMidO4JcJg+/iNohU8=
X-Received: from pfbfw3.prod.google.com ([2002:a05:6a00:61c3:b0:730:76c4:7144])
 (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a20:734b:b0:1ee:d418:f758
 with SMTP id adf61e73a8af0-1f2f4cdb421mr28532451637.17.1741109988705; Tue, 04
 Mar 2025 09:39:48 -0800 (PST)
Date: Tue, 4 Mar 2025 09:39:47 -0800
In-Reply-To: <SN6PR02MB41576973AC66F8515F6C81F0D4C82@SN6PR02MB4157.namprd02.prod.outlook.com>
Mime-Version: 1.0
References: <20250227021855.3257188-1-seanjc@google.com> <20250227021855.3257188-9-seanjc@google.com>
 <SN6PR02MB41576973AC66F8515F6C81F0D4C82@SN6PR02MB4157.namprd02.prod.outlook.com>
Message-ID: <Z8c641D3AuWNXGVB@google.com>
Subject: Re: [PATCH v2 08/38] clocksource: hyper-v: Register sched_clock
 save/restore iff it's necessary
From: Sean Christopherson <seanjc@google.com>
To: Michael Kelley <mhklinux@outlook.com>
Cc: 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" <x86@kernel.org>, 
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	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>, Ajay Kaher <ajay.kaher@broadcom.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, 
	Peter Zijlstra <peterz@infradead.org>, Daniel Lezcano <daniel.lezcano@linaro.org>, 
	John Stultz <jstultz@google.com>, 
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, 
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>, "kvm@vger.kernel.org" <kvm@vger.kernel.org>, 
	"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>, 
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Tom Lendacky <thomas.lendacky@amd.com>, 
	Nikunj A Dadhania <nikunj@amd.com>
Content-Type: text/plain; charset="us-ascii"

On Tue, Mar 04, 2025, Michael Kelley wrote:
> From: Sean Christopherson <seanjc@google.com> Sent: Wednesday, February 26, 2025 6:18 PM
> > 
> > Register the Hyper-V timer callbacks or saving/restoring its PV sched_clock
> 
> s/or/for/
> 
> > if and only if the timer is actually being used for sched_clock.
> > Currently, Hyper-V overrides the save/restore hooks if the reference TSC
> > available, whereas the Hyper-V timer code only overrides sched_clock if
> > the reference TSC is available *and* it's not invariant.  The flaw is
> > effectively papered over by invoking the "old" save/restore callbacks as
> > part of save/restore, but that's unnecessary and fragile.
> 
> The Hyper-V specific terminology here isn't quite right.  There is a
> PV "Hyper-V timer", but it is loaded by the guest OS with a specific value
> and generates an interrupt when that value is reached.  In Linux, it is used
> for clockevents, but it's not a clocksource and is not used for sched_clock.
> The correct Hyper-V term is "Hyper-V reference counter" (or "refcounter"
> for short).  The refcounter behaves like the TSC -- it's a monotonically
> increasing value that is read-only, and can serve as the sched_clock.
> 
> And yes, both the Hyper-V timer and Hyper-V refcounter code is in a
> source file with a name containing "timer" but not "refcounter". But
> that seems to be the pattern for many of the drivers in
> drivers/clocksource. :-)

Heh, wading through misleading naming is basically a right of passage in the kernel.

Thanks for the reviews and testing!  I'll fixup all the changelogs.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 17:49:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 17:49:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901385.1309339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpWOm-0000Nj-9D; Tue, 04 Mar 2025 17:49:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901385.1309339; Tue, 04 Mar 2025 17: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 1tpWOm-0000Nc-65; Tue, 04 Mar 2025 17:49:44 +0000
Received: by outflank-mailman (input) for mailman id 901385;
 Tue, 04 Mar 2025 17: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=rewT=VX=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1tpWOk-0000NW-CK
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 17:49:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c4e5d2a-f921-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 18:49:41 +0100 (CET)
Received: from nico.tail608894.ts.net (unknown [46.228.253.214])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPSA id A735A4EE0755;
 Tue,  4 Mar 2025 18:49:39 +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: 0c4e5d2a-f921-11ef-9ab4-95dc52dad729
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=46.228.253.214
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1741110580;
	b=4b6mxNfWPtud+Kf9nanAJc1zrE4s++8sEceADbWqE0vofVjYPtNl4iVIZlSZV93eg3Ag
	 StazDdWpiR+U/g+lTqWqMpCtaksPdN34XKO0y+xvXGKaYoQXKp3a5YhIQjjuxILR7qI70
	 Q/4isiagvx1sxzSC4+f1R5osoKyoMYkqziut5ijXdksDois0+/2rqAsXyBytu4nW0R8OA
	 VWfZaXVTu6BOjq5y8syBVxC6/JiCAfhlT5s6wcgH1SSqy7S1WQoHtBBZcPXvlGvy7Fp3U
	 3VBVMAB+k8XDrAXtrShqCWHPNkGX4QVtP7K6ckNuCLCmg5FVij9PZAzuRAcglhBYsq7c+
	 fw47EDDB7N5zSp8HKFJgKEw0Cy2oP7obObUoias+C74xygGLYgNwWXo4ACmyCEccHXPFp
	 7yUqtBoVmVw32DgbBuKqEgfxUZBaeAo850/4U7h6TYI0SKRianzae0EE+xYgyx7+hetHl
	 9gSsJnL87RQqh4pKqcFBc3fTRrQPIoAOAH6b7B93hUcavWjLXbuJ8hEt5Qlz6RTe48Dfi
	 r+xuuGNxfzrKXckhwKY5gx9juge9sSAb07p3w8k0VTJYYDcnYxxKILhcKFOuFguNRNzBB
	 GKwFGyRObREqQjS/abMJ2wIC7zttyFaxYNdVLEGmR1vt8BDHNh+qdFIGr6SZqxk=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1741110580;
	h=DKIM-Signature:From:To:Cc:Subject:Date:Message-ID:X-Mailer:
	 MIME-Version:Content-Transfer-Encoding;
	bh=4JIMb6FBUZDteB9P9Uim1LkTFDvZU84rc5rD3cL340Q=;
	b=sp5SdvKHL9DuuQsUIRRnV8eqMiTpcUqw7HSRsz2suWn6Fml8ReWRYaFqmJ5j2LbJUQaJ
	 RDRsMXGAwquM83XP09NoHaRzPMobZwyir34MtfxwML8RkgW/7qxS1In3uYO/y9O7MGfxG
	 DtPHHhyyDwuh5A7EHBAMCcPvOXU3/KzsVu0T3jbRTOIVQaLqZNtricGdIPOZWSHQb2eg7
	 TWtOu13gmWsGNdMuHW3xWPYaNcKYn6dFkkgwZXBmhio3IdWDYnj13WLsQfat+0D/cVyJC
	 I/IKwN7Jw1Z9qUB0B3+eZWxqNMA/UgNlN8etZMq5rbRZgfrYUtX4ha5wbd6QlBqg5zAek
	 Ch6s7nDpAkEF8A+1f0npbOBGWc0LuM2ThCzcCicwnFUMz03BK513sMgc1scd8HwdP/ySd
	 +Dckr/+4/i3bClt6u1A7SyvFK+B8gZGsabq0CMJsCxBD+XYn6HRWmZZ5lsec6Gbt2DXyn
	 hRjXx/B07GmJIfUc1z8VInJJs4d9uEYGHtexwtWqobcGQVR5/n4vc/NXxu/1OdmC2qyv4
	 6VLyrFEEHoQuVrXpgxvWihtXmrb697552UnUODKTzKLkzCoe1GwHcbMU37rtp1QnDh7rQ
	 WhhVvtibKU13kEss4+R9EjLX/B71L0UPcig0vhKXBeJdDjJeudiC/aGMHbM/0AI=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=46.228.253.214
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1741110580; bh=43dffAVwCNub40pm1bFs0Ad/4+xd02zWrJaiORiRSRM=;
	h=From:To:Cc:Subject:Date:From;
	b=ZpDpg3vk6fri8yaU4XDW34VYYNIrCqz6QD49vYh3lN5nVEUwqxyYWjjWydsHlcSLg
	 7uFRAqeXgTq7FDLBaC8krdxCHpwKjVF6IJs3Q1i3lMWopqnf2gFUXkGelzCSSz6UxT
	 p/Y3MidydbzHXy5vBZKIxRfoVmVYO8w3PVOavJ7dxDAd2F0Kwp6kE0g2hFlHsmTA7J
	 o3Nbj2+B4b2lmSoKhug5QOBTSEEwMU5iXavq7nGz193p4qJH9WhTXqaZhr0TvhulU/
	 2Jc5IIXiLwjYApQgvYJ5XTVDQ43/DchCrKp/rmr3cjjuELt/ulzCvEaIMa9ATrlWJ8
	 u0Pq6X8UAiq9Q==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH] automation/eclair: Reduce verbosity of ECLAIR logs.
Date: Tue,  4 Mar 2025 18:49:36 +0100
Message-ID: <cd3fadd6c9c2f3737902acb5a543c5479f616144.1741110491.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

While activating verbose logging simplifies debugging, this causes
GitLab logs to be truncated, preventing the links to the ECLAIR
analysis database to be shown.

No functional change.

Fixes: c4392ec83244 ("automation: Add ECLAIR utilities and settings")
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/analysis.ecl | 2 --
 automation/eclair_analysis/ECLAIR/analyze.sh   | 2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index 824283a989c1..29409a9af0eb 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -10,8 +10,6 @@ setq(analysis_kind,getenv("ANALYSIS_KIND"))
 # strings_map("scheduled-analysis",500,"","^.*$",0)
 # map_strings("scheduled-analysis",analysis_kind)
 
--verbose
-
 -enable=B.REPORT.ECB
 -config=B.REPORT.ECB,output=join_paths(data_dir,"FRAME.@FRAME@.ecb")
 -config=B.REPORT.ECB,preprocessed=show
diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh b/automation/eclair_analysis/ECLAIR/analyze.sh
index 1dc63c1bc2d0..2356fc4007dd 100755
--- a/automation/eclair_analysis/ECLAIR/analyze.sh
+++ b/automation/eclair_analysis/ECLAIR/analyze.sh
@@ -91,11 +91,13 @@ find "${ECLAIR_DATA_DIR}" -maxdepth 1 -name "FRAME.*.ecb" |
   sort | xargs cat |
   "${ECLAIR_BIN_DIR}eclair_report" \
     "-create_db='${PROJECT_ECD}'" \
+    -quiet \
     -load=/dev/stdin > "${ECLAIR_REPORT_LOG}" 2>&1
 
 # Create the Jenkins reports file.
 "${ECLAIR_BIN_DIR}eclair_report" \
   "-db='${PROJECT_ECD}'" \
+  -quiet \
   "-eval_file='${SCRIPT_DIR}/report.ecl'" \
   >> "${ECLAIR_REPORT_LOG}" 2>&1
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 17:57:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 17:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901398.1309359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpWWE-0002MN-7h; Tue, 04 Mar 2025 17:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901398.1309359; Tue, 04 Mar 2025 17: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 1tpWWE-0002MG-4N; Tue, 04 Mar 2025 17:57:26 +0000
Received: by outflank-mailman (input) for mailman id 901398;
 Tue, 04 Mar 2025 17: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpWWC-00028H-GV
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 17:57:24 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060a.outbound.protection.outlook.com
 [2a01:111:f403:200a::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c78b2e4-f922-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 18:57:18 +0100 (CET)
Received: from CH0PR13CA0031.namprd13.prod.outlook.com (2603:10b6:610:b2::6)
 by CH0PR12MB8531.namprd12.prod.outlook.com (2603:10b6:610:181::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 17:57:14 +0000
Received: from CH1PEPF0000AD80.namprd04.prod.outlook.com
 (2603:10b6:610:b2:cafe::d0) by CH0PR13CA0031.outlook.office365.com
 (2603:10b6:610:b2::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.14 via Frontend Transport; Tue,
 4 Mar 2025 17:57:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000AD80.mail.protection.outlook.com (10.167.244.90) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Tue, 4 Mar 2025 17:57:13 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 4 Mar
 2025 11:57:13 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 4 Mar
 2025 11:57:13 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Tue, 4 Mar 2025 11:57:12 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c78b2e4-f922-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xsHbKtatHJZUFSa54gKTti6h/Oz3bAOHZqs6UOwhdmv4pHaLvB7oTWsqNJy1/kOCVvTJplBTR1Jq/1GYx92mr+OW38RJmjNC88ctX1jIemYbkqCEYI6Bd4/CSr8x4BWPBlwMUMZgbqaQdNU36dygOMKW+HtasihuqTM6dpuM0h6ghAdHlEg8SqOHySIdebork5cjmAJEzwY6xtrh6DLYOyOiO7aas/324FF26dM+WoiZEHW/e/4ONLn4W7pA2cyE5U4NyFE+kp0zIlJr1Qaz0OUzeMcUw+2F6HMVKATXDnAe2qfp/E37umXoIgSbTWGpBM7UwBXKgEoWgfWL7EjJ1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hnP6PvQTVzPQzi5YFHPZy9roBOOD71m/koKCQNOHA1k=;
 b=bftjDXN4mUAtNh9rfg6moqyq/WzfP/FPHQEIrSn/EhjE09NiJBYHVL9Xoj/CQGw4uM7XBx8a9hzdbZ8ogpPT8nBR6VaTXkqy9fMABHl47OqdXdNmOC42Nu1iLNEsDYYxUbsBORZzFxyJLUfv0tOTVQdz0Xrlijsd60JZt0HumkYzRENUKZwPeFX0cxvXJXOhNqah7bg3N0R2rtfqcsG2Za2d043mqZONKEcXJ2TvwN3U0/AM5qbRjGEDEzC9HIASzaC57nSCqa/CSqZTp9QtCWStlP7BYQ4o/rmYik4sgrJ5z8cUrAnr8WIP8/4uucXV1uEXREjU6VBIcpSaS0b2nw==
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=hnP6PvQTVzPQzi5YFHPZy9roBOOD71m/koKCQNOHA1k=;
 b=I2qaSl7Ffe89kmDYSiSAaMILvCYeNiFOE6gNEpgX/odhtDyhM/x6OMpWFUjj2AhNzV/F3MQG0/SusbpzPW5sUEBe38o3bj2+i+rSSyu1tsjA6aDdLpK58VuVCKUCqMYGRllrrcO3XqR4bVQm1waq5sNkKQ7nQQ6A2/K8pGRrJhs=
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=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v2 0/2] Enable early bootup of AArch32 MPU systems (pre-requisite patches)
Date: Tue, 4 Mar 2025 17:57:06 +0000
Message-ID: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD80:EE_|CH0PR12MB8531:EE_
X-MS-Office365-Filtering-Correlation-Id: 59947812-fd1e-4628-8bde-08dd5b45fea4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Rlkdj3yDQ09FSo7FQy9UDWf3YunbyaxRkjyZ0Hcj5x1NtkhjsYZZBoYZ/0i0?=
 =?us-ascii?Q?ra0haK9DeTJZiRht8LJMUP1utvWjfmoK4QH+GQb8edUweLbHqK9O90ZUhzw+?=
 =?us-ascii?Q?aRuBQZCj2R23o6YEI1/vSigte4l95BbxQEvgdeqjAGTtiq+9xIryvdKYueYu?=
 =?us-ascii?Q?argxDmsu1xV4lSBPjublfCQnl3TH6kQ0gv/o5TUJi7TbzNlkZKxK74cH/sLj?=
 =?us-ascii?Q?hHex9KLLhYb+AYzETtV2vEXoD9RZROCxr2EOhyagva1tKgMFO0UmjAxNu9tW?=
 =?us-ascii?Q?6JhUmMzPOXSainWWv2ngMilgYRY3xwjIfk5fS+fDSyo5Kd4Nd2D1j/mpViWN?=
 =?us-ascii?Q?4OrFJT/KBgbVR3XPrWBQz9FFOGccg+9eE9vaW7ROgVkMpBbxyaCkCyT6WpHT?=
 =?us-ascii?Q?gsTIzDTAfGKVWGUvzvBBOZ+T7iL1ZW0R5KLuiLNlHljGHWW4dHjlgW9TvH/9?=
 =?us-ascii?Q?eW7tqyDOK0MdP+iWtGg2Y3b6D54dKvVLVXpXj+SFc73ptQ6JxEX2I7fXNMYG?=
 =?us-ascii?Q?vHc7PpFrm9L3g13ywTF0nY6CkTbroGyqtvemCHkcHDvzjT/OLbPytxb5jB9z?=
 =?us-ascii?Q?rWji/FTEnpO3R5Lt+MYfHpCqjiPa1VcwPhsf5gpCC8X6fMQxU9dHWiEsg4+0?=
 =?us-ascii?Q?LZINZpKO2KLZYym4r1nBRQj1V91wLpc0TlO8tHQiMWVC1nbkdXfhHgAaWfUO?=
 =?us-ascii?Q?LRAQHsnC6/ee+RKmr7xi7MTvUsyoNJd98TrNp2R3GmpFw0z72mq5m940lbir?=
 =?us-ascii?Q?w13y8K6Fx0W2oj4p5Ou7xd/XrsE+lmFaHCgDbLSNEM/nQWKOh1cFmezG3Ztl?=
 =?us-ascii?Q?yRfiyNOOm5jJPQSITs2sgmRKbB9fo3BuKJfKFNZ0r8wGFdOw83DbRtD/F9mh?=
 =?us-ascii?Q?TjScHD1IQ7Ff8QQJJfdfNvwWKxAVrZlstc9dL3GsE1O3TVpMulDzuIBd6sq0?=
 =?us-ascii?Q?9RCBwRywyFK/d8lDLKob2WVKsO1HX+lsQ8yTnL8LeZL0TSeSdgsY/D26ZfsD?=
 =?us-ascii?Q?upShe7Q6YdAsSPE9LVA7XV1VIPkc0WCaj/eK8vNCWnCG5WUEoCLPmkj+Lmj8?=
 =?us-ascii?Q?jARqO6UDuhAaSpI5t1nPuAp56x8QqU2WMEIZ7HcM603SjlKYuSLNfjB+CCNN?=
 =?us-ascii?Q?B4Vr0RDMCFQt29WQNubPkH2s7oM21N2pCMI8QF7uDjYhoTlj8Sqdv6Qm7+lI?=
 =?us-ascii?Q?vhYr/0ZL6AeLf1l57zvuvBjRmFOvqqgmxLjgXUFIJr1h0Ent3H15DXJF1CiK?=
 =?us-ascii?Q?YvNf/MeRgetHSa9bQrSJ3u1mLMIW3b0QcQrDQ2jseHKcgakqDbg37/UHkgrK?=
 =?us-ascii?Q?lmqZf/URHRMX4XSeGK/VcE1AGTx1189PrVtvfTCqJwZEbGxYvQqY0xdGahtD?=
 =?us-ascii?Q?/K5z1YwVuuOscM2JIES8jW5IHO5tMFVhHc0b+e8ZearJ+x1oEfqhFc/tpfTO?=
 =?us-ascii?Q?p2+yjLrnSNk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 17:57:13.8764
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 59947812-fd1e-4628-8bde-08dd5b45fea4
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD80.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8531

Hi,

I have extracted patches 1, 2 from
"https://patchew.org/Xen/20250204192357.1862264-1-ayan.kumar.halder@amd.com/"
as it will introduce the common files on which the following can be based :-
1. "[PATCH 0/9] First chunk for Arm R82 and MPU support"
2. "Enable early bootup of AArch32 MPU systems" (patches 3-5)

Ayan Kumar Halder (2):
  xen/arm: mpu: Move some of the definitions to common file
  xen/arm: mpu: Ensure that the page size is 4KB

 xen/arch/arm/Makefile                      | 1 +
 xen/arch/arm/arm64/mpu/Makefile            | 1 -
 xen/arch/arm/arm64/mpu/head.S              | 2 +-
 xen/arch/arm/include/asm/early_printk.h    | 2 +-
 xen/arch/arm/include/asm/{arm64 => }/mpu.h | 6 +++---
 xen/arch/arm/mpu/Makefile                  | 1 +
 xen/arch/arm/{arm64 => }/mpu/mm.c          | 0
 7 files changed, 7 insertions(+), 6 deletions(-)
 rename xen/arch/arm/include/asm/{arm64 => }/mpu.h (87%)
 create mode 100644 xen/arch/arm/mpu/Makefile
 rename xen/arch/arm/{arm64 => }/mpu/mm.c (100%)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 17:57:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 17:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901399.1309368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpWWJ-0002cp-Eu; Tue, 04 Mar 2025 17:57:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901399.1309368; Tue, 04 Mar 2025 17: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 1tpWWJ-0002ci-CE; Tue, 04 Mar 2025 17:57:31 +0000
Received: by outflank-mailman (input) for mailman id 901399;
 Tue, 04 Mar 2025 17: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpWWH-0002bP-Ef
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 17:57:29 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061b.outbound.protection.outlook.com
 [2a01:111:f403:200a::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22e7851c-f922-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 18:57:28 +0100 (CET)
Received: from CH0PR03CA0005.namprd03.prod.outlook.com (2603:10b6:610:b0::10)
 by PH7PR12MB9076.namprd12.prod.outlook.com (2603:10b6:510:2f6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 17:57:22 +0000
Received: from CH1PEPF0000AD81.namprd04.prod.outlook.com
 (2603:10b6:610:b0:cafe::95) by CH0PR03CA0005.outlook.office365.com
 (2603:10b6:610:b0::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.26 via Frontend Transport; Tue,
 4 Mar 2025 17:57:22 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000AD81.mail.protection.outlook.com (10.167.244.89) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Tue, 4 Mar 2025 17:57:22 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 4 Mar
 2025 11:57:22 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 4 Mar
 2025 11:57:21 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Tue, 4 Mar 2025 11:57:21 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22e7851c-f922-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vJbSa7SsJdIyXzlL7mzYxSo5m999al7I8FVUQi/xRAtab1H0rxE2P097ZvaxZvapoRcYDAhMVvgkWDqKOibwO8d6NhWh53eHvMzVkAuIZ23a5uRlow3d7EfXOSgRs5agGxPvJ9B65TyrIU3m8ElAhTiTYCm5iNiSfsKqLU4abQZ1VnyIxI+i0xKfXS11nw98viQoqUBdCSyfFTlkF6MyRtcfuR4fj2tQoRISPJ/AHuOEWnpGmPQqCBo5JiLetPfAHXoDEmpc/YSh0lLb/91FqOa3QUilFI38IIUGFCSo+1aprZMtyQ8LsFk0iW6NC7ukMAwdLBwzqnPmQgaGPys4/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=74iqe/njp1ZHRrCH+t3KUD+MLgSw6RTgd/onIA8MIFY=;
 b=OgB/IN5TRXVX0jw/dXVcQlBfmgWGc6hXq5DGcxxx2Mu36JQL5XFiV0nZj06OTDfNEwiWrNpelY4jePfWnrEcar7nuQ7NYapECbkZUJscCsJRiAhEZBALur7FChW+xjs+GX1JqsIg/QVrfPzl7MIpi2eN+W14mL8kAZlVhmpB1QsUO5Frk0iKxHlc83I5DVoYU6NjoVzwPKxO4OpaCy0q4GPCGO/eF7a/hMp7AIB/gWhtW6bMKzv6C915FmnKf30mnOdncFbA1wlEbjln4S3MjrP+y0Hchb6OqSs5gypTzLfNTDw2T0q6in8lxDEQtb1HglhD/z5gDizH7znl/7jOsg==
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=74iqe/njp1ZHRrCH+t3KUD+MLgSw6RTgd/onIA8MIFY=;
 b=n+6qrNANA8RzQbpkyWeKhs88FVMTQ7e5r3dahZ8tMhlJgXfPREptI6oy40pF9iCfllrYPDoDbTsL8tk5IttChfXOvN/kglMtSBw9bIKz8k6lkCBkQ7jfchrQE6NgWV5tCl41rX46Jxzi3SJMw/qIi35nnndvYnOhauU/LoIzmB0=
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=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v2 2/2] xen/arm: mpu: Ensure that the page size is 4KB
Date: Tue, 4 Mar 2025 17:57:08 +0000
Message-ID: <20250304175708.2434519-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
References: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD81:EE_|PH7PR12MB9076:EE_
X-MS-Office365-Filtering-Correlation-Id: 63eccace-5690-4806-1dd0-08dd5b4603cb
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?z2Wz8IJ+/8O89ZNlwveAw9TbZhGER2Hl2shzJc9eFf2foROYda1V8ILTbaS5?=
 =?us-ascii?Q?GlWREu5ZpkWd8r/8JAo0tsGV+ledYRHPCJTm5hY5CLCb1fBfTAcXHsz2p3aC?=
 =?us-ascii?Q?fJcgYxph+qLFoG9U39CQrmbJGitKg2ic0BPDuI7XEvdtHOlX1LSWCmXRpyIU?=
 =?us-ascii?Q?e4/na8FQhrrTa6zPFuzlXIoJTUWjrASsMkI3I7iGpMHIZPhzSTA2sdssxuaZ?=
 =?us-ascii?Q?G0HS96cNeHIWEyT+o+IHTkADM6J3GRJ44LYkDP+FDQJsrBXbFi5uEPuiKBjj?=
 =?us-ascii?Q?WmsvM/IYOE4X785FTWgwO+4dsAn/BUFLfJ0A6CDPNesp6UmEXwtut25LG8U8?=
 =?us-ascii?Q?8vZlZ6kaXPsmzy0mHB9H7WZHnwLWyLpm57xGHd2Rg5aVt9bXe3AWYMteAG8P?=
 =?us-ascii?Q?qJ2TPfxcOJH/cvMU3A2hJYRUu5HMzxPTJpcJPLNU8mt+ZNxFSqAsuqg+9imn?=
 =?us-ascii?Q?ob4tZrCML/vW4gr4L2TQcRsmYv1JcMgYAHEH9t3yMFHkUmbNZMlM7FzkM6r8?=
 =?us-ascii?Q?3xbySLqalsko9BvqeCaNOKCFzP+tdu3rEhZsdGm2qKFnFJlhKs5QguJvZWsg?=
 =?us-ascii?Q?wQVI6zxi4R08jxT1L6yhUJJ+TKBC9zzIz+gwN92AbL604VRIot8KD4C3uCnd?=
 =?us-ascii?Q?YbaZJiHOs44GhDGujdM2bhYhPt8XZKksl061Z2XFt1Yv4yPpnuhcYGW/LRlA?=
 =?us-ascii?Q?lu8B8EI0Q7FJPEwbENG/c5IBiWMt6hSKjQjgVERSDkHX1drS8zsX79piwcZI?=
 =?us-ascii?Q?ZZh/gYeQYgaowz9+9SJvORKcLf/kcVH8Iisbjgt56DHEkwet9DG6jKjTCP0E?=
 =?us-ascii?Q?75MrztcAFuOj8lc3DyMjQXk57P7uuSJMe+yepzyjMpC7u9olyuptbiy6ChU7?=
 =?us-ascii?Q?0fmmzp42TEHr8vrlDIst/xDlL2Ho59lvpU5rAqaECdrvW5a9BwdHbwh3DMZf?=
 =?us-ascii?Q?vEWZF9CknA9ylRbp3pZVL2W8wVQGJKfVC0aeBVq31/jngzdRKjjbKsRpUyqh?=
 =?us-ascii?Q?I4uSGPm/hXBrO8+Y+LvhsY7pAu7RwzYqD3oSpt9XuMlexaRiB9q0q8NKlAU6?=
 =?us-ascii?Q?dYdcevyhKo/Je5121P7B3oSTGW4XsLn7zqqC25F1KuDob+/URXmREsVAgj1r?=
 =?us-ascii?Q?NoPEh2U9/ifzG0V6MvPdweKzGBv41ufrhpKlDyQt7bXh8T6OL06Xtw29Swfx?=
 =?us-ascii?Q?ETvXXQyK3kqKvR+JrsfeD4iIeHYK+96qTjV4jKKnp/V4e0QV2YKh47L2IWy+?=
 =?us-ascii?Q?IUfaaGPaKc46CYPYkjhy6lUanZrIHrFF00SfmXs6z8OVPEYJx4EsZ6mX7j+z?=
 =?us-ascii?Q?iHewS0mLNZaFxS09o3aVj9tLt/pwZWKfCiCZMly5FMWJzyTCWa7CCwZ8W+M1?=
 =?us-ascii?Q?y3tag+zA4Kd36eoP8q+WeezyJmCMspAcQ1Z4yBNJRSuS7Mrz9FZ4gO8O1T2O?=
 =?us-ascii?Q?mJLVVa5Z6JaYwQrh9jWNqzVfN7zoN92jFjFxK5Kd3OAjP8VegSKsiA3OKuAr?=
 =?us-ascii?Q?a5PxRSjPEcSL1Mk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 04 Mar 2025 17:57:22.5178
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 63eccace-5690-4806-1dd0-08dd5b4603cb
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD81.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9076

Similar to commit (d736b6eb451b, "xen/arm: mpu: Define Xen start address for
MPU systems"), one needs to add a build assertion to ensure that the page size
is 4KB on arm32 based systems as well.
The existing build assertion is moved under "xen/arch/arm/mpu" as it applies
for both arm64 and arm32 based systems.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1 - 1. Extracted the changes to a common file.
(I have dropped Luca's R-b as there were code changes.)

 xen/arch/arm/Makefile             | 1 +
 xen/arch/arm/arm64/mpu/Makefile   | 1 -
 xen/arch/arm/mpu/Makefile         | 1 +
 xen/arch/arm/{arm64 => }/mpu/mm.c | 0
 4 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/mpu/Makefile
 rename xen/arch/arm/{arm64 => }/mpu/mm.c (100%)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 43ab5e8f25..fb0948f067 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,6 +1,7 @@
 obj-$(CONFIG_ARM_32) += arm32/
 obj-$(CONFIG_ARM_64) += arm64/
 obj-$(CONFIG_MMU) += mmu/
+obj-$(CONFIG_MPU) += mpu/
 obj-$(CONFIG_ACPI) += acpi/
 obj-$(CONFIG_HAS_PCI) += pci/
 ifneq ($(CONFIG_NO_PLAT),y)
diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/mpu/Makefile
index a8a750a3d0..3340058c08 100644
--- a/xen/arch/arm/arm64/mpu/Makefile
+++ b/xen/arch/arm/arm64/mpu/Makefile
@@ -1,2 +1 @@
 obj-y += head.o
-obj-y += mm.o
diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
new file mode 100644
index 0000000000..b18cec4836
--- /dev/null
+++ b/xen/arch/arm/mpu/Makefile
@@ -0,0 +1 @@
+obj-y += mm.o
diff --git a/xen/arch/arm/arm64/mpu/mm.c b/xen/arch/arm/mpu/mm.c
similarity index 100%
rename from xen/arch/arm/arm64/mpu/mm.c
rename to xen/arch/arm/mpu/mm.c
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 17:57:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 17:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901397.1309348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpWWD-00028d-0A; Tue, 04 Mar 2025 17:57:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901397.1309348; Tue, 04 Mar 2025 17:57: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 1tpWWC-00028W-Th; Tue, 04 Mar 2025 17:57:24 +0000
Received: by outflank-mailman (input) for mailman id 901397;
 Tue, 04 Mar 2025 17: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpWWB-00028H-Tu
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 17:57:24 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2415::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ddd67da-f922-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 18:57:21 +0100 (CET)
Received: from BN9PR03CA0243.namprd03.prod.outlook.com (2603:10b6:408:ff::8)
 by IA1PR12MB6434.namprd12.prod.outlook.com (2603:10b6:208:3ae::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Tue, 4 Mar
 2025 17:57:16 +0000
Received: from BL6PEPF0001AB73.namprd02.prod.outlook.com
 (2603:10b6:408:ff:cafe::79) by BN9PR03CA0243.outlook.office365.com
 (2603:10b6:408:ff::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.29 via Frontend Transport; Tue,
 4 Mar 2025 17:57:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB73.mail.protection.outlook.com (10.167.242.166) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Tue, 4 Mar 2025 17:57:16 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 4 Mar
 2025 11:57:15 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Tue, 4 Mar 2025 11:57:14 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ddd67da-f922-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JkH8BwUeLcXo0o0zDoJW7gE/ozHjdm9XeeVF8tpDcQUbIrO7PxjE9d26GGmnX0oE3PP9CSzimMFhX2GOZJQlIV5BLIuduBbqZM7OEr8uVsuSYHVE8Rg641+ahwJBY1WvAjp5ecXbvYzdOwLNqQuUCvd/C3GpUNcAeyb+8wzjwFkW3WQq6o7YwhR/XUFsVUP9/Sdj9GDkc4lhEgBJONBtSNUd5buV/SPNimP4TNI7Fwx5XtQ0UsBNQWl2wU/UIVCzzYXsWPC3fl12a/LFUb1x9wLlVNOxjlXDCdnVEh/Q9EONyRtAGEh+Nl8DIel51q5rshPOjABbpI03iaGoULVcNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QKTVadEnV2XlS26fisnGV/12/rYhJQtYA0RCgoYLxCI=;
 b=jawy5uO8kfmDdbdrV+TWTvEsoWjYnCpIS8vugJ9/ZpPajLDnInnGv4Wxqle+BtUwvS0Sk+oyDa67xoAuPRC36RPsNAfsKQ/oZzuiEeo5tZs5Kvj1CRCgINtNPrgskKQswTe1Z12Q2y8Mujm99hxzhGqbx0jvKzIJllEiG7Qnpn9x/4uiM8rS3d/9l5taYGJdhcqMrtqGkkddRJBvaeNSaEUYZKJnkS+yQBdpwAaExO5jrM7jzoD036t4NDPv1VQl9vmt+4R5jm6jf7+cNDNZEO3ERJpt5Edg+PpePalwcYUqkmo86uemigEvtMAi7VD4xByy6eJYehMr3cixNTmSjA==
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=QKTVadEnV2XlS26fisnGV/12/rYhJQtYA0RCgoYLxCI=;
 b=Prvnr1UfgCKU6oCwJV59IZ0iCr/8sO6tjEgoRtVQgTy97vkzRYmuEb3DGf2byeWJpkITD4JOi0/OMYdEDkzZW1/N32AEF8cimK3eYxTqSnOOjc6cUkaovMX2R5YBX8vyC6FxqVGpXo+rF+rrQTNM9k/OaYtYw8vcCTLoGQVJEoE=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>, Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v2 1/2] xen/arm: mpu: Move some of the definitions to common file
Date: Tue, 4 Mar 2025 17:57:07 +0000
Message-ID: <20250304175708.2434519-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
References: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB73:EE_|IA1PR12MB6434:EE_
X-MS-Office365-Filtering-Correlation-Id: 83628057-b510-468e-65ae-08dd5b460005
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?pKRj53YUYcml1bhsZeQkBvOqZQMLPrALYNATyLJUgzhCmamaeG5fWOg2hni6?=
 =?us-ascii?Q?V5aiq3sG+z2Ib5s7UyGw9S2ydM67C7xprIdCkKneC2prGCBlOBIiMdd9/wps?=
 =?us-ascii?Q?wVYzU1dkbwZwGxMNAy2ant1pGN2gYV0QKz2ppZh5qiXnLtZAIrDxQ/WMdfPu?=
 =?us-ascii?Q?v6ZGzTNw5ioJkT9bnw96mI0qkc6Io7ga9d7jnOpGGcUUd0zKJYy+nKzHrwvp?=
 =?us-ascii?Q?dsg6Q/l8RU/HFC4CwBlWth057xBPKsnKvQw8IbAerhs4NrUz6AXoSC2oklpI?=
 =?us-ascii?Q?CX6OuCG1TMTp/wBnQF1tjZ62DJh8GN4LuUM/GCiCcG8owkL2fAEFPN6pxxKQ?=
 =?us-ascii?Q?+v03crNOW9lOf5Kyp1i/yDoO8RxtYTdts/wjSawT90B/SFbKdwLyY2uTIFg0?=
 =?us-ascii?Q?E458K8q6ssziR0PIHfKHT+KUcUXkK9Fe01f+BOnMVKHpdjcc1CTNlUyNg03b?=
 =?us-ascii?Q?LSctuQ4zr27hmaXG6MGsg4QYRNggTuVh0p9O56M1lknn0EWD5waLDXBRQh/+?=
 =?us-ascii?Q?gm39kK6PxJzuu3l3cMFe39N6Q5fzXdUFeynXcMLjJBqRPI7b9GiGV4K7S/SC?=
 =?us-ascii?Q?eXYfO+7j+hgPgCCml/EJWiBBoZOTkwyF5je2vmEmmEynWa7aRFHUUG7hXhnN?=
 =?us-ascii?Q?e1ylgsKilAYU8+bX1kX7SWdkJ1Bk6UBFNrWxeylfuNTILl9m7j5k4gASzlay?=
 =?us-ascii?Q?CXjSApuh3WWI7drhcTUoLAcmPYVl+I2PQfp2Zn+v+O+NkljeAlkFTZ/0tGps?=
 =?us-ascii?Q?b/9TLecUbphBEjqVf2f6tvgo8ntJlGdELMLlviJnfRrY6apToEWBG4+S7ehV?=
 =?us-ascii?Q?FURkwn5vA2+Dj4uVWMxJqdZrnVWdJFMOswQpV8tP+MDLtqpYAO6Vx5VS+l+Q?=
 =?us-ascii?Q?kfm8SFwgGY7GlxHSM3jyXVs4V2+jJtt51hKz/8azcoRbff1TGr6lgUUpx1n2?=
 =?us-ascii?Q?G6rYQyHmRwkOEJMEbMWCrdGJX1ENdke7lSD5MvQA1PBvMlXDqqu+OyBgDlJd?=
 =?us-ascii?Q?7fUVBCL4u/Ylneo5Pxr3INzWDAXwzPumCv9wDrvyMPMzcAd1AvZkEJ6Ih9/S?=
 =?us-ascii?Q?yRRT4jogshAuII4EYxSTrsRYM3/EcQunCrhwuusAQwN453J8W9zo2fdK6k6s?=
 =?us-ascii?Q?2gC8ZYcI8GtNXwxDHxS+2AqtAV9PhIyrZllM/QkWDmCmsXM6QoJcP2oKgXqq?=
 =?us-ascii?Q?qqkLLUD53g/fSJvlyQDjl78kNbmXSj2+xGX7V0KAGfOlc2O1NZwDJ5lBI3pX?=
 =?us-ascii?Q?WITwhmr4d9QgEK0eZTNnu9xUKzz2oVsvGZXZjpXBrXP6Vx7HvhV0aPyoXmda?=
 =?us-ascii?Q?1b7WAIHlZSISzq3wm/jtDKBy4P+ibK7OeQk/BcGrUybABcQWfyNWSk0O1gtt?=
 =?us-ascii?Q?uSGUz4NIrzOZlyu+cGvLTw+gxUkxGazWQ5DrJl6AObOmjRvOkiQ6LPwGTWQi?=
 =?us-ascii?Q?QLnbPGnUAwdn3bzsroVRh9EyfSBh4VP9Ne9pLRKsqoBERlgN7ETlDvsvNKgf?=
 =?us-ascii?Q?Rs33IFDEq3G7wYs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 04 Mar 2025 17:57:16.2357
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 83628057-b510-468e-65ae-08dd5b460005
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB73.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6434

For AArch32, refer to ARM DDI 0568A.c ID110520.
MPU_REGION_SHIFT is same between AArch32 and AArch64 (HPRBAR).
Also, NUM_MPU_REGIONS_SHIFT is same between AArch32 and AArch64
(HMPUIR).

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from 

v1 - 1. Add the R-b.

 xen/arch/arm/arm64/mpu/head.S              | 2 +-
 xen/arch/arm/include/asm/early_printk.h    | 2 +-
 xen/arch/arm/include/asm/{arm64 => }/mpu.h | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)
 rename xen/arch/arm/include/asm/{arm64 => }/mpu.h (87%)

diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
index e4f2021f45..7b659aa42b 100644
--- a/xen/arch/arm/arm64/mpu/head.S
+++ b/xen/arch/arm/arm64/mpu/head.S
@@ -3,7 +3,7 @@
  * Start-of-day code for an Armv8-R MPU system.
  */
 
-#include <asm/arm64/mpu.h>
+#include <asm/mpu.h>
 #include <asm/early_printk.h>
 
 /* Backgroud region enable/disable */
diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
index 219705a8b6..644fd0fcfb 100644
--- a/xen/arch/arm/include/asm/early_printk.h
+++ b/xen/arch/arm/include/asm/early_printk.h
@@ -11,7 +11,7 @@
 #define __ARM_EARLY_PRINTK_H__
 
 #include <xen/page-size.h>
-#include <asm/arm64/mpu.h>
+#include <asm/mpu.h>
 #include <asm/fixmap.h>
 
 #ifdef CONFIG_EARLY_PRINTK
diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/mpu.h
similarity index 87%
rename from xen/arch/arm/include/asm/arm64/mpu.h
rename to xen/arch/arm/include/asm/mpu.h
index f8a029f1a1..40fa6eaaca 100644
--- a/xen/arch/arm/include/asm/arm64/mpu.h
+++ b/xen/arch/arm/include/asm/mpu.h
@@ -3,8 +3,8 @@
  * mpu.h: Arm Memory Protection Unit definitions.
  */
 
-#ifndef __ARM64_MPU_H__
-#define __ARM64_MPU_H__
+#ifndef __ARM_MPU_H__
+#define __ARM_MPU_H__
 
 #define MPU_REGION_SHIFT  6
 #define MPU_REGION_ALIGN  (_AC(1, UL) << MPU_REGION_SHIFT)
@@ -13,7 +13,7 @@
 #define NUM_MPU_REGIONS_SHIFT   8
 #define NUM_MPU_REGIONS         (_AC(1, UL) << NUM_MPU_REGIONS_SHIFT)
 #define NUM_MPU_REGIONS_MASK    (NUM_MPU_REGIONS - 1)
-#endif /* __ARM64_MPU_H__ */
+#endif /* __ARM_MPU_H__ */
 
 /*
  * Local variables:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 18:20:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 18:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901431.1309378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpWsi-00088B-Cu; Tue, 04 Mar 2025 18:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901431.1309378; Tue, 04 Mar 2025 18:20: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 1tpWsi-000884-A9; Tue, 04 Mar 2025 18:20:40 +0000
Received: by outflank-mailman (input) for mailman id 901431;
 Tue, 04 Mar 2025 18:20: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=lwvO=VX=cc.itu.edu.tr=root@srs-se1.protection.inumbo.net>)
 id 1tpWsg-00087y-Vf
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 18:20:39 +0000
Received: from beeline3.cc.itu.edu.tr (beeline3.cc.itu.edu.tr [160.75.25.117])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e0cf2be-f925-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 19:20:36 +0100 (CET)
Received: from lesvatest1.cc.itu.edu.tr (lesvatest1.cc.itu.edu.tr
 [10.146.128.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by beeline3.cc.itu.edu.tr (Postfix) with ESMTPS id 1ED3B40D1F5B
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 21:20:35 +0300 (+03)
Received: from lesva1.cc.itu.edu.tr (unknown [160.75.70.79])
 by lesvatest1.cc.itu.edu.tr (Postfix) with ESMTP id 4Z6g1Y31LDzG1Fq
 for <xen-devel@lists.xenproject.org>; Tue,  4 Mar 2025 18:42:57 +0300 (+03)
Received: by le1 (Postfix, from userid 0)
 id C9663400C6; Tue,  4 Mar 2025 18:42:48 +0300 (+03)
Received: from fgw1.itu.edu.tr (fgw1.itu.edu.tr [160.75.25.103])
 by le2 (Postfix) with ESMTP id 8C1A9421EE
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 11:55:14 +0300 (+03)
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
 by fgw1.itu.edu.tr (Postfix) with SMTP id 1F1653063EFC
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 11:55:13 +0300 (+03)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5C02F3A7D51
 for <bozkiru@itu.edu.tr>; Mon,  3 Mar 2025 08:55:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by smtp.subspace.kernel.org (Postfix) with ESMTP id EF8791F17E8;
 Mon,  3 Mar 2025 08:51:47 +0000 (UTC)
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EEBB1F151E
 for <linux-kernel@vger.kernel.org>; Mon,  3 Mar 2025 08:51:40 +0000 (UTC)
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-528-VA546TMQMj6KekOoIIhgNA-1; Mon, 03 Mar 2025 03:51:38 -0500
Received: by mail-wr1-f69.google.com with SMTP id
 ffacd0b85a97d-390f000e962so851941f8f.2
 for <linux-kernel@vger.kernel.org>; Mon, 03 Mar 2025 00:51:37 -0800 (PST)
Received: from ?IPV6:2003:cb:c734:9600:af27:4326:a216:2bfb?
 (p200300cbc7349600af274326a2162bfb.dip0.t-ipconnect.de.
 [2003:cb:c734:9600:af27:4326:a216:2bfb])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4844a22sm13875701f8f.74.2025.03.03.00.51.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 03 Mar 2025 00:51:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e0cf2be-f925-11ef-9898-31a8f345e629
X-Envelope-From: <root@cc.itu.edu.tr>
Authentication-Results: lesvatest1.cc.itu.edu.tr;
	dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=MUEEaKhH
Authentication-Results: lesva1.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=MUEEaKhH
X-Envelope-From: <linux-kernel+bounces-541205-bozkiru=itu.edu.tr@vger.kernel.org>
Authentication-Results: lesva2.cc.itu.edu.tr;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=MUEEaKhH
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="MUEEaKhH"
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1740991904; cv=none; b=s+t4rBwbDuB/WPVt85V6S+m+FojOewUkJVHjQmnVLcyr+H6MbsV39zdIGh6wuNduLpy6jl8ZBmq8Kqq9oBSqJ1uhcYSTOuyF0jjJ4DLOSfKEweGLnLTaXB8YL9zq0W+DzRX3mv8RCql5vkfDYLfKqjzOtv4thwTlipNm3pDJOfU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1740991904; c=relaxed/simple;
	bh=K2F9EW+qiAEiFc0wnbOIq8DzI+iuGYeb0zxsjfA4rl0=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=XJILvxXCcJ0pELYZ+h/JRQE11NRcS230t56HgjJvxbzwbvGzyFCrRvZVliyPb8vwzNrLQMlkFs6Hlr7piwSW5w1cp3/fvTAw0BdX3vheJr8NBFyMDuok2ZWRNeSK5i7cbUNm5i2deZ4BGZrN3LoDk0gS4SLs0DBvq2/BFE3KxQQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=MUEEaKhH; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1740991899;
	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=PqwL+v3kSKyO1WWdOm3Dn4wn0YpaEHuXEacsy1CmEn4=;
	b=MUEEaKhHroJTTeUp4KpAtO7naUHm8iEdVaV1kb7KmpWFAiy5a8jkMMipWqsR8y8eLMSPp4
	dnrl21lc0/K2YOTKaSOBGn9zsA1kc9ocXtz5xe95YVTm0IVvFMv2MwtsCe+Cg53OMg8jXj
	RwijkMT2v03xMyv/FWpaAgt37lFShcQ=
X-MC-Unique: VA546TMQMj6KekOoIIhgNA-1
X-Mimecast-MFC-AGG-ID: VA546TMQMj6KekOoIIhgNA_1740991896
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740991896; x=1741596696;
        h=content-transfer-encoding:in-reply-to:organization: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=PqwL+v3kSKyO1WWdOm3Dn4wn0YpaEHuXEacsy1CmEn4=;
        b=oChVHtL26OvS9qrjvljJrZldt64vp6Jz1zcpZr+vB4t5+9PfB0JpGEB1cYZrHAMEMT
         NXjKzNG+UD7m0IJtZrPQdobkfI7x6bmeS0hJx2aAGQIn1WchGljz5SjaeJIjHE7tzfgr
         hDTBGg8C0cdbQB8I+GIONVRFpHZr+GkYexv5pGqZ2HLxtsmgDD1uP+yWv+ID+hJAb6wD
         +4VT6k645YcC6c/qE0jEWG5z02e3TG8Ok1FHmt7qzF9KB6q/noipl460vIcAnZKWHnhe
         v71KoEQwdSYshC5cyjqeaJEXexb6zeZWj6kWkBMKM+JkDt8xII4sI8E3pQIbUEWfdO7f
         m/MA==
X-Forwarded-Encrypted: i=1; AJvYcCVc25svwb+S47p3fOR3nYCFXI/ntfMoHhydLlSg/5/uGj1PZ4EvXvD3ZIXbPfRaVxzc9Cw4zDLB4hIu1hk=@vger.kernel.org
X-Gm-Message-State: AOJu0YxebEQsUp7eWITMai4/rWadHgwKpfor9f97Zlk47fg+K6F7AEce
	MUQ0xvkL1LiZKHsWsBgXDirrSC6NhotHg4fTt5oCXP1y5J76vIm3RFUiabYSN5ztErKMQ8UkOX8
	6WdI/XGMoUk9HpENZlNSfZVfhjjPrjPkdWSGfBi7DBqVEVIFuqy8BOxatWc+RFw==
X-Gm-Gg: ASbGnctLjE9cHh6S5UKLkvL+JgxfDiBC89/AaEca25iyM49CxH2AT5i85xViGDrmxFa
	r88D9yYCqVGhGmOzrcGPM8VG5GGtPdErUHrlR6Gw9QPNL4EzU7fT+g3sMl9wA1Rh4nXDLLOegXl
	X4C46SzHe4Ys1uMsfI4hazpDhITem3D7D4Z+cOsMbu6TqzSXkPZgvyrsPMAg5Sw6oLR9JHvnn/+
	30eV0FLBe+WJcSc+mOhW6eIM+dyuv8VpKoDex3tX4QM7ejjP9IfJZ/Sq9MOIdN5JIHfLiMRCbeR
	Rq+H1iPlPIYAvUil6C3J5JhZUSetRTy7fI0J+qKLd/o9Ox+Q7jv8DFlxR2luuRlsY1/0p/BrmSu
	rx1/skUu2N2QMI+qLT7oKDa8wZUO1puxE72rtFXLS+lk=
X-Received: by 2002:a05:6000:1565:b0:391:9b2:f48d with SMTP id ffacd0b85a97d-39109b2f8ebmr2190202f8f.33.1740991896372;
        Mon, 03 Mar 2025 00:51:36 -0800 (PST)
X-Google-Smtp-Source: AGHT+IEiqrTykXg+NUm0kAtziKqLGECEKRMnAI63MS2I3V/WDMW5AEnsAxTN6b4wA0iNetJkZ/Gt5g==
X-Received: by 2002:a05:6000:1565:b0:391:9b2:f48d with SMTP id ffacd0b85a97d-39109b2f8ebmr2190184f8f.33.1740991895948;
        Mon, 03 Mar 2025 00:51:35 -0800 (PST)
Message-ID: <4af46304-cf25-4c4a-8e4a-3a566193ca62@redhat.com>
Date: Mon, 3 Mar 2025 09:51:34 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] sparc/mm: Disable preemption in lazy mmu mode
To: Ryan Roberts <ryan.roberts@arm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "David S. Miller" <davem@davemloft.net>,
 Andreas Larsson <andreas@gaisler.com>, 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>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250302145555.3236789-1-ryan.roberts@arm.com>
 <20250302145555.3236789-3-ryan.roberts@arm.com>
From: David Hildenbrand <david@redhat.com>
Content-Language: en-US
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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250302145555.3236789-3-ryan.roberts@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ITU-Libra-ESVA-Information: Please contact Istanbul Teknik Universitesi for more information
X-ITU-Libra-ESVA-ID: 4Z6g1Y31LDzG1Fq
X-ITU-Libra-ESVA: No virus found
X-ITU-Libra-ESVA-From: root@cc.itu.edu.tr
X-ITU-Libra-ESVA-Watermark: 1741717115.81695@DHKgL0LE/ty5SOoLrhdLQg
X-ITU-MailScanner-SpamCheck: not spam

On 02.03.25 15:55, Ryan Roberts wrote:
> Since commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with
> lazy updates") it's been possible for arch_[enter|leave]_lazy_mmu_mode()
> to be called without holding a page table lock (for the kernel mappings
> case), and therefore it is possible that preemption may occur while in
> the lazy mmu mode. The Sparc lazy mmu implementation is not robust to
> preemption since it stores the lazy mode state in a per-cpu structure
> and does not attempt to manage that state on task switch.
> 
> Powerpc had the same issue and fixed it by explicitly disabling
> preemption in arch_enter_lazy_mmu_mode() and re-enabling in
> arch_leave_lazy_mmu_mode(). See commit b9ef323ea168 ("powerpc/64s:
> Disable preemption in hash lazy mmu mode").
> 
> Given Sparc's lazy mmu mode is based on powerpc's, let's fix it in the
> same way here.
> 
> Fixes: 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy updates")
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>   arch/sparc/mm/tlb.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
> index 8648a50afe88..a35ddcca5e76 100644
> --- a/arch/sparc/mm/tlb.c
> +++ b/arch/sparc/mm/tlb.c
> @@ -52,8 +52,10 @@ void flush_tlb_pending(void)
>   
>   void arch_enter_lazy_mmu_mode(void)
>   {
> -	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
> +	struct tlb_batch *tb;
>   
> +	preempt_disable();
> +	tb = this_cpu_ptr(&tlb_batch);
>   	tb->active = 1;
>   }
>   
> @@ -64,6 +66,7 @@ void arch_leave_lazy_mmu_mode(void)
>   	if (tb->tlb_nr)
>   		flush_tlb_pending();
>   	tb->active = 0;
> +	preempt_enable();
>   }
>   
>   static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb




From xen-devel-bounces@lists.xenproject.org Tue Mar 04 18:31:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 18:31:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901440.1309388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpX3K-0001IX-C4; Tue, 04 Mar 2025 18:31:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901440.1309388; Tue, 04 Mar 2025 18:31: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 1tpX3K-0001IQ-8z; Tue, 04 Mar 2025 18:31:38 +0000
Received: by outflank-mailman (input) for mailman id 901440;
 Tue, 04 Mar 2025 18:31: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=6XUS=VX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tpX3I-0001IK-Ns
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 18:31:36 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2412::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4f59d8f-f926-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 19:31:33 +0100 (CET)
Received: from CH0PR04CA0110.namprd04.prod.outlook.com (2603:10b6:610:75::25)
 by PH7PR12MB5975.namprd12.prod.outlook.com (2603:10b6:510:1da::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Tue, 4 Mar
 2025 18:31:29 +0000
Received: from CH3PEPF0000000E.namprd04.prod.outlook.com
 (2603:10b6:610:75:cafe::f4) by CH0PR04CA0110.outlook.office365.com
 (2603:10b6:610:75::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Tue,
 4 Mar 2025 18:31:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH3PEPF0000000E.mail.protection.outlook.com (10.167.244.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Tue, 4 Mar 2025 18:31:28 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 4 Mar
 2025 12:31:27 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Tue, 4 Mar 2025 12:31:26 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4f59d8f-f926-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bLm20TbOhM9BhZFYvPnoNv5mYk6U3WXBiBbqVJj9VvxBDXAmV7rgiv+ZMnE3FHvF/V/IEoWrj6Ey4qe75KMXhjTL2Uu687QfQB7rf1hLR3cfI7VIGclR6W1/B1m81fNw6uMiLwo40Nu7Z5RyVQyF5G/ClOXbfwNIHoJy3TATTuYqrlnoQ0j6RihAMz5dtjIDjLbLJ1wDWqdYY3VjAR8cwcGEnaZ41/FL3wfZ9gCmhp1UELuBIaomg0//sFYKObW4M+/VepjtFP70wchwryGq/kRXLA9P6bxKGD7ehQ7VAHeYHRy7FENU612PIFeVrl96kopQOXbil4SUNHUHE67Bjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sr/exzn/zaGlkOL4251661pAmCBBjUVg1sQ84QhZRNA=;
 b=hRdF5DkblYT0/Q/i9zZ4n5xh/P3DclYNrTpmYlLsRhIlTxJGgIIZlRfXAvOF84k0R8EoU22C+fva+mQClAmOnxiIRggGVdbmQtiHc11nsk3BJqqZ7GBSm1wM/r/qvcoDtcPLRuhjqNvVxAidwi5RVu0rbdssPR0m5uce1zW1T/wRS+x7fDkSkgzfdxwb+MyYeAxozzOlF5Bvfw7M4bxSgNzN1/idFHCKk23uE7cmwEUsyUIjWvrkwddeM5UzEb9lqjOklW1flB3FuKtZ8jebuLxoXH7pjrVbAGfEkKr8es2gdOAW5q+QHpkzqzZed8FY/SRqwzPl6EIdJILkUR6wig==
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=sr/exzn/zaGlkOL4251661pAmCBBjUVg1sQ84QhZRNA=;
 b=V9xQL9KvjJJ7VWr4E9VD4o8q+UwHxnsOCPs/lkopNS7kHlu6MZBx8BvNhUZ8SDVwQoF1PvecvH9+KO3KwfvOgF8hN+ThVS+obk3uwsvykM1BGF263KHZmVu7bEnRkrW45Bv4UomeCOu6Yfxr7nIPlOqbZWtQMlISxz+JZTxwcvY=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <stefano.stabellini@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	"Michal Orzel" <michal.orzel@amd.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, Artem Mygaiev <artem_mygaiev@epam.com>
Subject: [PATCH v1] xen: fusa: arch_specs: Definition of the Virtual Machines' roles
Date: Tue, 4 Mar 2025 18:31:15 +0000
Message-ID: <20250304183115.2509666-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF0000000E:EE_|PH7PR12MB5975:EE_
X-MS-Office365-Filtering-Correlation-Id: e9cf4f15-0a74-4a49-8ee6-08dd5b4ac72f
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?LwKsgpF7Qzdx3jgm7DPidG7mM4p+PHcxh651BB9WaBfLKkRyzASsnvIXHIMF?=
 =?us-ascii?Q?Lon3BzmSDC4xcmubBP437CpCZDR2vddb4v/Xl0XOxP598PIBMPjPx5Bx2+Ay?=
 =?us-ascii?Q?LJ8xNrh+pT3/uzxSA3T2x8CGsJEfmIAFecxunjc7C56e8jCUDgv63vXIA04U?=
 =?us-ascii?Q?Lyubljk+aBP4EtpfIQWf2XwGW2nttjnjOJz67L70LT3dc3bebWfj8oOKM+8M?=
 =?us-ascii?Q?J438A6RP71v+jtwYLkbJZ2GUO5PjTI06+OCmLFoMbO69ImhAmL30eXGtfvVK?=
 =?us-ascii?Q?h4N6IO14KePNY4iFgf/7Pp0QkMVNC9QOJZEcLMt40zkFTOeA7kCAGDtIjiXT?=
 =?us-ascii?Q?hfbzjvryORWqAG41JmKCtIToguYxpR1iCvc/Re2a9iBB7PpnvrBVIt5uVmYs?=
 =?us-ascii?Q?YXYYkN3Ie4hzQm40lptN/Sb78herI3/HM+bnkbYVMovNg1HdDrCPs/O2IEpy?=
 =?us-ascii?Q?msrNqEa9Y9C9LXbAmc8Uiz6oAcato/eTa424i5bYNs40FA14iFRWH3dIrMzZ?=
 =?us-ascii?Q?SFL5YB5VZuGtMPq8xaCXNBaAPZoGvzE43ElVVLW42jKjKu9iSql207HnRsm0?=
 =?us-ascii?Q?P4UrVhVS0Wwa+B4TOUWe3GH3SQwur6ApA2zqrOpO9pdcKzm++0tqvFqejuxL?=
 =?us-ascii?Q?gtoh2maRbpm4rtNl0JhFSQxckQKa1QPiJWUSAk5sit8A494HKMBv3HvXfkN2?=
 =?us-ascii?Q?n9iCIaxihBcnzqpx6IWiOpaiXVnpHcorGEzf//JrvszshXaNDIxqKjCAwIX+?=
 =?us-ascii?Q?kB3JhZi4TDFb3Oq17zLFMGrHOWdkSArTPIYlAWpgQCO3sdKSKZRtgegtA3eY?=
 =?us-ascii?Q?CfaHq/VnswyIyQQ12AdbQzboQgKziKRIcdmXh4fn3uEVEesuClS6RfCYE8i3?=
 =?us-ascii?Q?9vvfeegwiSWB3XUKnicUmj8/kfzSHq6B9a9zwE2086gRs88Jkf9p6apECczv?=
 =?us-ascii?Q?Rfn+RGvklC0yWW291N1HqxlabAJ6PLBJ1ofn5+0Cp+X55DBgxRALDc1ln5KM?=
 =?us-ascii?Q?zmbsK/yidao2oL5YdS7BoQ0F9egKkeDNx55jZm88hWNmXmLrePX5/LKtva5P?=
 =?us-ascii?Q?v1LCGS2WfOkIuHVF0N+d5LTPO924h7LZ2RIqLycTpZ+VTHJ3xRruaXrSkr4l?=
 =?us-ascii?Q?sZlo1RWhqCSIg4ElFwPFgtVo8a8NkHsNxXEJrF78A160bGizqhsdp1ewy6TH?=
 =?us-ascii?Q?ekIpOfV9wcHmg0wJxwbM7Itj9YAl0+9Nnu4Bf3CAW+JXUYVBoIasmtV02g9d?=
 =?us-ascii?Q?pqQaBp0alfu2sGdglYs2kzp1fE+x3lNFel092rTzDK7vaD7KTfJpRBDzbCPu?=
 =?us-ascii?Q?klczCY9LSKnpxvGZJN79MRNiwULuOlrCsaStv6m+3c9Lp4ybIFZJmD1rFL7n?=
 =?us-ascii?Q?EewnpzTRNu1EmygI3YX86WQFOX4kFptvNxNVs/Vs9CL8qGFWtyttHGwhMXg2?=
 =?us-ascii?Q?+ko3FO44dwqB/D71zm56DjwzyRB1Tdn96j3Z72Hm8ir5P5MS2Uc+/liS4u75?=
 =?us-ascii?Q?ZXCPDUxhydlsUqk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 04 Mar 2025 18:31:28.3343
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e9cf4f15-0a74-4a49-8ee6-08dd5b4ac72f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF0000000E.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5975

From: Stefano Stabellini <stefano.stabellini@amd.com>

Define "Hardware Domain", "Control Domain", "DomUs", "SafeVMs" and
"UnsafeVMs".

Explain the limitations that VirtIO introduces and the way they affect
the defined roles.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 docs/fusa/arch_specs/roles.rst | 200 +++++++++++++++++++++++++++++++++
 docs/fusa/index.rst            |   1 +
 2 files changed, 201 insertions(+)
 create mode 100644 docs/fusa/arch_specs/roles.rst

diff --git a/docs/fusa/arch_specs/roles.rst b/docs/fusa/arch_specs/roles.rst
new file mode 100644
index 0000000000..0b3fe821c3
--- /dev/null
+++ b/docs/fusa/arch_specs/roles.rst
@@ -0,0 +1,200 @@
+===============================
+Xen Domain Roles and Privileges
+===============================
+
+Roles
+=====
+
+We define the following roles that Xen domains can have:
+- Hardware Domain
+- Control Domain
+- DomU
+
+In addition, we classify domains based on the criticality of the tasks
+they perform:
+- SafeVM
+- UnSafeVM
+
+DomU
+----
+
+A DomU is a regular domain without extra privileges to perform
+operations that affect other domains or the entire platform. A DomU is
+therefore unprivileged and can only affect itself.
+
+Hardware Domain
+---------------
+
+The Hardware Domain is a domain that has direct access to all hardware
+peripherals by default, except for those controlled by Xen (CPU, MMU,
+IOMMU, Interrupt Controller, Timers, UART). Hardware resources can be
+directly assigned to other domains ("passthrough"), but the default is
+that they get assigned to the Hardware Domain. As such, there can only
+be one Hardware Domain in the system. The Hardware Domain is not
+privileged: it cannot perform operations that affect other domains or
+the entire platform.
+
+In cases where VirtIO is used to share access to physical devices among
+multiple domains, the Hardware Domain requires some limited privileges
+to run the VirtIO backends.
+
+Control Domain
+--------------
+
+The Control Domain has full privileges over the system. As such, it can
+perform privileged operations, typically implemented as hypercalls, that
+affect other domains and even the entire platform, such as platform
+reboot. There can only be one Control Domain in the system. A
+non-exhaustive list of these operations follows:
+
+- Reboot other domains
+- Reboot and shutdown the platform
+- Suspend/resume other domains
+- Pause/unpause other domains
+
+The Control Domain is optional.
+
+SafeVMs and UnSafeVMs
+---------------------
+
+A SafeVM is a domain running a safety-critical task. An UnsafeVM is a
+domain running non-safety-critical software only. No safety-critical
+tasks are running in the UnsafeVM.
+
+The Control Domain must be a SafeVM because the Control Domain has
+enough privileges to affect the entire system.
+
+Without VirtIO (see below), both the Hardware Domain and DomUs can be
+SafeVMs or UnsafeVMs. There are no restrictions. For example, the
+following configuration is compatible with safety:
+
+- Hardware Domain: UnsafeVM
+- 2x DomU: SafeVMs
+- 2x DomU: UnsafeVMs
+
+Privileges
+==========
+
+Full Privileges
+---------------
+
+A domain with full privileges has unrestricted access to all services
+provided by Xen, including the ability to perform operations that impact
+other VMs and the entire platform. Only one domain holds these full
+privileges: the Control Domain.
+
+Unprivileged
+------------
+
+An Unprivileged domain lacks special access rights, allowing it to
+perform only operations that affect itself without impacting other
+domains. For example, an Unprivileged domain cannot map the memory of
+another domain.
+
+VirtIO Privileges
+-----------------
+
+Domains running VirtIO backends, such as QEMU, require specific
+privileges over domains with VirtIO frontends to enable proper
+functionality. For instance, they need permission to map the memory of
+the domain with the VirtIO frontend. These additional privileges are
+necessary for standard VirtIO operation but can be removed when using
+the VirtIO extensions described in the VirtIO chapter. This is the list
+of VirtIO privileges:
+- mapping memory of VirtIO frontend domains (foreign map hypercall)
+- device model hypercalls targeting VirtIO frontend domains
+
+VirtIO
+======
+
+VirtIO is a specification and set of drivers to share a physical device
+among multiple domains. For example, assuming the Hardware Domain has
+access to an Ethernet device, VirtIO provides a way for the Hardware
+Domain to allow one or more DomUs to access the Ethernet device.
+
+VirtIO is based on a frontend/backend architecture: the frontend is a
+driver similar to a regular Ethernet device driver (using Ethernet as an
+example), running in the DomU. The backend is a "proxy" driver running
+in the same domain as the device driver and have direct access to the
+device. That domain is typically the Hardware Domain because it is the
+default domain for hardware assignment, but it is also possible to run
+VirtIO backends in other domains, provided they have been configured with
+passthrough access to a physical device. These other domains are called
+"Driver Domains," and the limitations discussed in the context of VirtIO
+for the Hardware Domain also apply to Driver Domains.
+
+There are multiple issues in VirtIO that affect freedom from
+interference, so deploying VirtIO introduces limits on the configuration
+regarding what domains can run safety-critical workloads.
+
+It is important to note that VirtIO is not the only way for domains to
+communicate with each other. Specifically, there are other protocols
+such as Argo and plain shared memory that do not have the same
+interference concerns.
+
+FFI: Shared Memory and Interrupts
+---------------------------------
+
+All VirtIO protocols are based on ring buffers over shared memory,
+called "VirtQueues." Although there are well-known methods to set up
+ring buffers over shared memory that are free from interference, in
+practice, the existing VirtIO specification and current frontend/backend
+driver implementations do not follow these best practices. Thus, the
+ring buffers over shared memory can be a source of interference.
+
+Given the current state of the VirtIO specification and drivers, it is
+recommended that both VirtIO frontends and backends run in UnsafeVMs
+only. This way, SafeVMs will not be affected by interference caused by
+VirtIO protocols.
+
+As ring buffers exist over memory shared between domains, it is the
+domains' responsibility to ensure they are safe. This is outside of
+Xen's responsibility, and out of scope for this document.
+
+FFI: Memory Mappings
+--------------------
+
+VirtIO expects the backend to access ("map") arbitrary memory addresses
+passed by the frontend. In other words, the backend needs to map any
+memory of the frontend, which is a privileged operation in Xen.
+
+Xen implements a Xen-specific extension to VirtIO to address this issue:
+"VirtIO with Grants."
+
+Xen has a feature called the "grant table" that guests can use to
+voluntarily share individual memory pages with other domains. This way,
+the backend does not need the privilege to map any memory page of the
+domain running the frontend, as the frontend whitelists pages for the
+backend to access.
+
+Unless "VirtIO with Grants" is used, to enable VirtIO, a domain with
+VirtIO backends (the Hardware Domain or a Driver Domain) is given the
+extra privilege of being able to map any memory of domains with VirtIO
+frontends.  As this is a source of interference, only UnsafeVMs can run
+VirtIO frontends without "VirtIO with Grants".
+
+FFI: Synchronous Emulation
+--------------------------
+
+VirtIO expects certain operations to be synchronous: the frontend
+virtual CPU requesting the operation is fully blocked until the backend
+completes the operation. If the backend does nothing, the frontend vCPU
+remains blocked. This is a source of interference.
+
+When VirtIO is enabled, the domain with the backends (Hardware Domain or
+Driver Domain) implements these synchronous operations for domains
+running VirtIO frontends.
+
+Xen implements a Xen-specific extensions to VirtIO to address this
+issue: "non-blocking VirtIO." Two extra virtio-pci registers are
+provided, allowing the frontend to perform non-blocking operations. By
+using the two Xen-specific non-blocking registers, the frontend virtual
+CPU doesn't have to block while waiting for the backend to complete the
+operations.
+
+Unless "non-blocking VirtIO" is used, to enable VirtIO, a domain with
+VirtIO backends (the Hardware Domain or a Driver Domain) is given the
+extra privilege of being able to implement these synchronous operations
+for domains running VirtIO frontends. As this is a source of
+interference, only UnsafeVMs can run VirtIO frontends without
+"non-blocking VirtIO."
diff --git a/docs/fusa/index.rst b/docs/fusa/index.rst
index 5f1e8acfc4..9d989f5105 100644
--- a/docs/fusa/index.rst
+++ b/docs/fusa/index.rst
@@ -7,3 +7,4 @@ Functional Safety documentation
    :maxdepth: 2
 
    reqs/index
+   arch_specs/roles
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 19:09:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 19:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901454.1309408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpXe0-0007W0-BJ; Tue, 04 Mar 2025 19:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901454.1309408; Tue, 04 Mar 2025 19:09: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 1tpXe0-0007Vt-6J; Tue, 04 Mar 2025 19:09:32 +0000
Received: by outflank-mailman (input) for mailman id 901454;
 Tue, 04 Mar 2025 19:09: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpXdz-0007Vl-2V
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 19:09:31 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f1dccbb-f92c-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 20:09:24 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 22F3BA45C72;
 Tue,  4 Mar 2025 19:03:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D918C4CEE5;
 Tue,  4 Mar 2025 19:09:21 +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: 2f1dccbb-f92c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741115362;
	bh=FR4pwLReWGnkxv8J+Lnfrgkv2pcuahFC0Q/UVMZZguI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RYG1kAiJyX1rhaWPZ53NGL2HcelBZbm8mlRBTO6KzOqBmCdELL76dWKbYg/xmliOP
	 RcWHXOvJq/BYi/S4aq8jCeimbnsO0MumZIGkV08xHrhLmjyHEXX+JPFHjLEHbMMetm
	 ACj1Pk0RWrNL8VFsCeSYYRwIW35S/QEgectouvPQZEs/nanuZMCtc/wQcP3MYmyQ/X
	 lvxO5xDg00SMGhsNO740QczlWsjwbntUIGLqTsdPgU+ctPD1qt9GtwobGkEvHWBVOQ
	 GoVp6vwQGA6o53jmg9Y+W9/YB10HAFKPcLEPNZPECRCMqaYISa5tLzVUQRHNXDVlcP
	 81ohMbEpFwChg==
Date: Tue, 4 Mar 2025 11:09:20 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksandr Andrushchenko <andr2000@gmail.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    Artem_Mygaiev@epam.com, jbeulich@suse.com, Luca.Fancellu@arm.com, 
    roger.pau@citrix.com, marmarek@invisiblethingslab.com, 
    andrew.cooper3@citrix.com, anthony.perard@vates.tech
Subject: Re: [PATCH 0/4] clang-format with examples
In-Reply-To: <20250301114242.93650-1-andr2000@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2503041109140.1303386@ubuntu-linux-20-04-desktop>
References: <20250301114242.93650-1-andr2000@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi Oleksandr,

I really appreciate the examples you provided; they were very
enlightening regarding the way forward.

Today we discussed the topic with the maintainers again, and I believe
we have identified the best approach to take.

Since it is not feasible to use clang-format to make changes to an
entire file at once, and even applying clang-format patch by patch, as
demonstrated in this series, poses challenges, we think that
clang-format is not a suitable solution. Many of the suggested changes
are unwelcome, making its use impractical.

We believe the best approach is to start small and use a tool like
checkpatch.pl to enforce a limited set of coding style rules that we all
agree on. A simple starting point could be enforcing basic rules such as
indentation must be four spaces.

The key idea is that it is better to have a tool that enforces a few
rules correctly rather than one that enforces many rules but some of
them wrong. 

With this in mind, a tool similar to checkpatch.pl that verifies only
the coding style rules explicitly defined in CODING_STYLE would be an
excellent starting point. If we identify inconsistencies within Xen
source files, the maintainers have agreed to review each issue
individually and establish a consensus-based resolution, similar to how
we handled MISRA rules.

It is important to note that we will need to make exceptions for files
imported from Linux, many of which are already listed under
docs/misra/exclude-list.json. We can reuse this exclusion list for
coding style checks, ensuring that it does not interfere with how
exclude-list.json is currently used by ECLAIR for MISRA scans.  

Does this approach make sense? In summary, if we had a version of
checkpatch.pl that enforced the coding style defined in CODING_STYLE
instead of Linux-specific style rules, we would be happy to adopt it and
integrate it into the CI loop. The tool does not necessarily have to be
written in Perl; it could be implemented in another language, such as
Python, if that is more convenient.  

One final note: Please disregard the section "Header inclusion guards"
in CODING_STYLE, as we are aware that it needs updating.  

Cheers,

Stefano


On Sat, 1 Mar 2025, Oleksandr Andrushchenko wrote:
> Hello, everybody!
> 
> In order to continue activity started at [1] I am sending this series
> which allows to manually run coding style checks and does not provide
> any automation yet.
> 
> Only the first patch is the goal of this series and patches 2-4 are for
> example only.
> 
> This proposal disables coding style checks for the project, but xen/
> folder: this is done by providing a global .clang-format at the project
> top level which disables clang-format and only providing .clang-format
> for xen/ folder.
> 
> clang-format version expected to be >15 and the latest tool can be
> installed with:
> python3 -m pip install clang-format
> This allows having the tool without the need to compile or install
> anything else.
> 
> As no automatic code style checks are performed, so all those can be
> run manually:
> 
> - to see changes proposed to the patch being worked on (not committed yet):
> git-clang-format --diff --style=file --verbose
> 
> - to run code formatting on the HEAD patch:
> git-clang-format --style=file --verbose HEAD~1
> 
> Provided xen/.clang-format still has a lot of comments gathered from the
> previous discussions. This is for purpose of better seeing why some of
> the options have their values. Once option values are accepted all those
> comments can be removed.
> 
> Stay safe,
> Oleksandr Andrushchenko
> 
> [1] https://lists.xen.org/archives/html/xen-devel/2025-02/msg00800.html
> 
> Oleksandr Andrushchenko (4):
>   Add .clang-format files to enable manual coding style checks
>   [EXAMPLE] Provide an example of a malformed patch
>   [EXAMPLE] Changes done by clang-format to the previous commit
>   [EXAMPLE] Whole file code style formatting
> 
>  .clang-format              |    5 +
>  tools/xl/xl_info.c         |    6 +-
>  xen/.clang-format          | 1380 ++++++++++++++++++++++++++++++++++++
>  xen/drivers/char/ns16550.c |   13 +-
>  xen/drivers/pci/pci.c      |    8 +-
>  5 files changed, 1397 insertions(+), 15 deletions(-)
>  create mode 100644 .clang-format
>  create mode 100644 xen/.clang-format
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 19:20:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 19:20:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901466.1309416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpXoP-0001cY-75; Tue, 04 Mar 2025 19:20:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901466.1309416; Tue, 04 Mar 2025 19:20: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 1tpXoP-0001cR-3d; Tue, 04 Mar 2025 19:20:17 +0000
Received: by outflank-mailman (input) for mailman id 901466;
 Tue, 04 Mar 2025 19:20: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpXoN-0001cL-6F
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 19:20:15 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afe79483-f92d-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 20:20:10 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id B7C6B5C62E9;
 Tue,  4 Mar 2025 19:17:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35B87C4CEE9;
 Tue,  4 Mar 2025 19:20:07 +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: afe79483-f92d-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741116008;
	bh=Z5BIBaNIwH+oGY3G4OBh0J7GxqSN8Jy13TFVHCtWKUc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BR1KCx0qx+HM0ToG0B/GW3e2rgGD6cZv83aA7MSZKpev/KuSBmpsZTBjt49laprDn
	 xT6R3NKyobhyKb7wZKFMILr8UqdJeV8eOZg8Rnk59kO82YqEHR35vmwuH9zSJwPVDG
	 BBrS78nItJgNKwYAatpdAQgszbt0He8PRUsM7+BUzAcWfoVHUBumLeYLQdcVKBg6a+
	 zkNZTkBgSKzDIGJSjcHC7RY+xYMuIW7WfEtil+pOknbC99ElMxLwmfgSc02r+lK/E0
	 X9p2ttxpLmldWeHQozFhhOVZ1eOI53GnNKXo9eIshNgxv1FJgnwP6jE8V5HhSn+fCU
	 7loAGMNOBf6RA==
Date: Tue, 4 Mar 2025 11:20:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: "Orzel, Michal" <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.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 v3 2/2] xen/arm: Restrict Kconfig configuration for LLC
 coloring
In-Reply-To: <769DE9A1-0F3F-4564-9A37-0812ECCA3234@arm.com>
Message-ID: <alpine.DEB.2.22.394.2503041119450.1303386@ubuntu-linux-20-04-desktop>
References: <20250218095130.2666580-1-luca.fancellu@arm.com> <20250218095130.2666580-3-luca.fancellu@arm.com> <eeb91fb4-ef2e-4f07-a1b8-1812f0371113@suse.com> <1133b3cc-4051-44d9-83ab-88c4c30f260a@amd.com> <4b31f272-2bb2-40d8-94d9-8137586b59fa@suse.com>
 <769DE9A1-0F3F-4564-9A37-0812ECCA3234@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 4 Mar 2025, Luca Fancellu wrote:
> Hi,
> 
> > On 18 Feb 2025, at 15:06, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > On 18.02.2025 16:01, Orzel, Michal wrote:
> >> On 18/02/2025 14:44, Jan Beulich wrote:
> >>> On 18.02.2025 10:51, Luca Fancellu wrote:
> >>>> LLC coloring can be used only on MMU system,
> >>> 
> >>> Just for my own education: Why is this?
> >> I read this as it refers to the feature we have in Xen, not the generic concept.
> >> You could in theory achieve cache coloring without MMU using static allocation
> >> or some custom allocator but in general we benefit from being able to map VA
> >> to PA aligning with cache coloring scheme.
> > 
> > Oh, okay. Then maybe the sentence would better be worded to express that
> > it's our present choice, rather than an inherent limitation?
> 
> Is this better? Can be addressed on commit?
> 
> Xen LLC coloring feature can be used only on MMU system, move the code
> that selects it from ARM_64 to MMU and add the ARM_64 dependency.

Hi Luca, I think that's OK. Can this patch be committed without the
previous patch in the series?


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 19:22:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 19:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901476.1309427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpXqQ-0002CC-IA; Tue, 04 Mar 2025 19:22:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901476.1309427; Tue, 04 Mar 2025 19:22: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 1tpXqQ-0002C5-F5; Tue, 04 Mar 2025 19:22:22 +0000
Received: by outflank-mailman (input) for mailman id 901476;
 Tue, 04 Mar 2025 19:22: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpXqP-0002Bz-8N
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 19:22:21 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fce1013d-f92d-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 20:22:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 0DFB6A45D69;
 Tue,  4 Mar 2025 19:16:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48D3BC4CEE5;
 Tue,  4 Mar 2025 19:22: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: fce1013d-f92d-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741116137;
	bh=CcB8PXb278TQXOqhWNEkI/Yuy9rwtR8Sli6My9q2gME=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DbYfvSgk3NG12PDvjOQ1p0g8orqiPGDn/+JJBa3nHndYz2dSYNIJpHRuIvli4TCsF
	 cKZ7PcEts2EFWjQfQLTcl+2bPmfNE6fMjJpjqXUIRH+vBl+YSX0EL27fzatZ9gw3hX
	 gPb0DPIwtIb2hU5x8lI3a1NxEjEEPIQdyw3VwMOfQwyTEW9jdGgLd2q0xs3tt24S6R
	 DREGnC9VJQqaUtfr8ZvwPC5YW7y/7SiMgvaIEtWyzh0ol254tLHWKrVR51kL0HtBTA
	 Rc3+p2anW39crxzafZecyjzytYoe+ohXmnYRRsdDvHu43eH6sNUPRQsqPVqJakG/US
	 /oS0ZTPauBTTA==
Date: Tue, 4 Mar 2025 11:22:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.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>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
In-Reply-To: <1c4844a0-89e7-4699-894a-4957fedc4dee@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503041120430.1303386@ubuntu-linux-20-04-desktop>
References: <20250218095130.2666580-1-luca.fancellu@arm.com> <20250218095130.2666580-2-luca.fancellu@arm.com> <bc6b785c-627e-4185-aa02-b90b9e592d08@suse.com> <E6E21F32-EA02-4DE1-80CC-98D3A21FBF79@arm.com> <cc864728-0302-4ddc-88e0-c5330e3dc409@suse.com>
 <59D691D9-5A06-49C1-8B0C-E874029A97C6@arm.com> <1c4844a0-89e7-4699-894a-4957fedc4dee@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1650915289-1741116055=:1303386"
Content-ID: <alpine.DEB.2.22.394.2503041121050.1303386@ubuntu-linux-20-04-desktop>

  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-1650915289-1741116055=:1303386
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2503041121051.1303386@ubuntu-linux-20-04-desktop>

On Wed, 19 Feb 2025, Jan Beulich wrote:
> On 19.02.2025 16:25, Luca Fancellu wrote:
> >> On 19 Feb 2025, at 13:30, Jan Beulich <jbeulich@suse.com> wrote:
> >> On 19.02.2025 14:06, Luca Fancellu wrote:
> >>>> On 19 Feb 2025, at 12:45, Jan Beulich <jbeulich@suse.com> wrote:
> >>>> As per the
> >>>> respective revlog entry, this change looks to belong into whatever is
> >>>> going to be done to deal with the one Arm use of the macro. Or maybe
> >>>> it's unneeded altogether.
> >>>
> >>> I didnât understand that you were opposing to protecting iommu_use_hap_pt() when
> >>> !HAS_PASSTHROUGH, I thought you were referring only to the stub in the #else
> >>> branch.
> >>> Can I ask why?
> >>
> >> Sure. And no, I'm not against the extra protection. I'm against unnecessary
> >> code churn. That is, any such a re-arrangement wants to have some kind of
> >> justification.
> > 
> > ok, yes the justification is that MPU system will be built with !HAS_PASSTHROUGH,
> > but there is a common function (p2m_set_way_flush) to MMU/MPU subsystem that
> > I would like to keep common, to do so I have to hide the macro in this particular
> > configuration and afterwards I have two choices:
> > 
> > 1) provide a stub implementation on the Arm side
> > 2) provide a stub implementation in iommu.h
> > 
> > number 2 felt better because it could be applied on any Xen configuration without
> > HAS_PASSTHROUGH, even if at the moment there is only MPU.
> > 
> > Number 1 let the possibility for the specific configuration to choose what to do in absence
> > of HAS_PASSTHROUGH.
> > 
> > Now I would like your view on what would be acceptable here.
> 
> I think I indicated earlier that I'd like the Arm maintainers to voice
> their preference. Doing it in iommu.h may be okay, but also may not be.
> Yet to decide that very Arm use of the macro needs taking into account,
> and I lack context there.

I think that doing it in iommu.h is fine

--8323329-1650915289-1741116055=:1303386--


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 19:28:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 19:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901485.1309437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpXwQ-0004gV-57; Tue, 04 Mar 2025 19:28:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901485.1309437; Tue, 04 Mar 2025 19: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 1tpXwQ-0004gO-2Y; Tue, 04 Mar 2025 19:28:34 +0000
Received: by outflank-mailman (input) for mailman id 901485;
 Tue, 04 Mar 2025 19: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpXwP-0004gI-8z
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 19:28:33 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dacd255e-f92e-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 20:28:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 676F8A45D78;
 Tue,  4 Mar 2025 19:22:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3E67C4CEE5;
 Tue,  4 Mar 2025 19:28:28 +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: dacd255e-f92e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741116509;
	bh=/3o8auFt1sWvUS1B8s/IHpX31EECddFu1Dn2vfs2NAo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=s3gsTpFNmXu5/YU/c7WBqPd2DkkpGulLP45plxQnab9epaRojAY5/RSf6Z2JW4ScV
	 YDQv7gHjIid0FjaOhKLB+ArZNI3d9wPMur6V4HNhv8UpPd9KFMUFiGFFgfCjZREFAr
	 +yVgz6jKUjA9pkCKXY/CwWub3i6cMInKGjett3V8j7Ls57KvSkYqDqchvRv2gmVdki
	 NeasTi68isG7JNQvXL2ywqbdEHh48L5TVUCXw96f3Nz+QofEgvp1hoq6/pLqeapxaf
	 Iom33Y7tTvFyFzTAlr9VuiakFuQPaKE6S5nwAzyn75R6y/YIodY4xdZ+lgnE6mHRi6
	 d1dHfqSThls2w==
Date: Tue, 4 Mar 2025 11:28:28 -0800 (PST)
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, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH] automation/eclair: Reduce verbosity of ECLAIR
 logs.
In-Reply-To: <cd3fadd6c9c2f3737902acb5a543c5479f616144.1741110491.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2503041050200.1303386@ubuntu-linux-20-04-desktop>
References: <cd3fadd6c9c2f3737902acb5a543c5479f616144.1741110491.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 Tue, 4 Mar 2025, Nicola Vetrini wrote:
> While activating verbose logging simplifies debugging, this causes
> GitLab logs to be truncated, preventing the links to the ECLAIR
> analysis database to be shown.
> 
> No functional change.
> 
> Fixes: c4392ec83244 ("automation: Add ECLAIR utilities and settings")
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
>  automation/eclair_analysis/ECLAIR/analysis.ecl | 2 --
>  automation/eclair_analysis/ECLAIR/analyze.sh   | 2 ++
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
> index 824283a989c1..29409a9af0eb 100644
> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
> @@ -10,8 +10,6 @@ setq(analysis_kind,getenv("ANALYSIS_KIND"))
>  # strings_map("scheduled-analysis",500,"","^.*$",0)
>  # map_strings("scheduled-analysis",analysis_kind)
>  
> --verbose
> -
>  -enable=B.REPORT.ECB
>  -config=B.REPORT.ECB,output=join_paths(data_dir,"FRAME.@FRAME@.ecb")
>  -config=B.REPORT.ECB,preprocessed=show
> diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh b/automation/eclair_analysis/ECLAIR/analyze.sh
> index 1dc63c1bc2d0..2356fc4007dd 100755
> --- a/automation/eclair_analysis/ECLAIR/analyze.sh
> +++ b/automation/eclair_analysis/ECLAIR/analyze.sh
> @@ -91,11 +91,13 @@ find "${ECLAIR_DATA_DIR}" -maxdepth 1 -name "FRAME.*.ecb" |
>    sort | xargs cat |
>    "${ECLAIR_BIN_DIR}eclair_report" \
>      "-create_db='${PROJECT_ECD}'" \
> +    -quiet \
>      -load=/dev/stdin > "${ECLAIR_REPORT_LOG}" 2>&1
>  
>  # Create the Jenkins reports file.
>  "${ECLAIR_BIN_DIR}eclair_report" \
>    "-db='${PROJECT_ECD}'" \
> +  -quiet \
>    "-eval_file='${SCRIPT_DIR}/report.ecl'" \
>    >> "${ECLAIR_REPORT_LOG}" 2>&1
>  
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 20:05:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 20:05:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901503.1309466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpYVg-0002AU-2d; Tue, 04 Mar 2025 20:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901503.1309466; Tue, 04 Mar 2025 20:05: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 1tpYVg-0002AN-08; Tue, 04 Mar 2025 20:05:00 +0000
Received: by outflank-mailman (input) for mailman id 901503;
 Tue, 04 Mar 2025 20:04: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=8/uV=VX=gmail.com=andr2000@srs-se1.protection.inumbo.net>)
 id 1tpYVe-0002AH-0h
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 20:04:58 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0fbbb09-f933-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 21:04:55 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5496bc2e261so2489678e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 12:04:55 -0800 (PST)
Received: from [192.168.10.20] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5494f0d92f6sm1431165e87.105.2025.03.04.12.04.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 12:04:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0fbbb09-f933-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741118695; x=1741723495; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=ygh40xv4Vi3CreFxzFkGVO3MK/NUBiP1ocsbBliTXsc=;
        b=EdbB5Iz2OTNHTHAzImlhDx9w1ytLBB2rxxlwSdRoloxJIK6vjYGVVhGunlquyX950b
         jlHoLwHCwOINkjsSn/ta5vTye8bHVzjSWoc1VH+X5ceLPssDtEej0z7VIZI1zFLo2Cqt
         JWcx0u/JoIosrDYWveSL5r2XUmwPXFDm/reeXlL7BjGbmuqi+LLk3k2w7sFocqNNyUKu
         r/bwqXoCwX3EXxNHdvR3PuCHxpUyIaKIaFoMWb0rQsXqcvRtunzu11MvpfeCzsckpe/W
         E26Ujs7muhidZVGPcMw/agbi23XKczoUJiF/G9jkrAil0zMpt4Zm1Ezg7FGJpW40l1lX
         INjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741118695; x=1741723495;
        h=content-transfer-encoding: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=ygh40xv4Vi3CreFxzFkGVO3MK/NUBiP1ocsbBliTXsc=;
        b=OkNlWyXG2UP5rIBamZqdlVI5oZZeyp/LXEgA/EUmcHBuCYlUUbPSkx3BC8rJfyMKb/
         pz16P2+Q8RAlhDLSEG1pgvPt/ZQEbSu4tS3IHP4vQsGojdkU5WWYFrF9iLwAfP5UK8cI
         qHrJySm0jrLxIGzHXPheHMRy/p3hdVgAXkgee7MEKQoBkTMtAq895lQ04xgUiJZnQu6k
         h0fghQgr1ZiWRLAMayoeXfuDWIeLkMboQLyIMdz9rCtZOVRTpsG/YaUDo3x0wZQpXBNC
         r41CRVz78UfcqLlzDFiQol4RGXzjXkAAFpqrz7WApoXkkwgYr+GaegUWu/sw1KGiGudB
         H9ag==
X-Gm-Message-State: AOJu0YwYA4DjET4n0v4H3ER96DNQuRKyOYIQAt0iscA9n0Qs71njM1jb
	xteGCavlri9a5vj3Jm67MRsljmfz6IGCviX96lkHEE8F5jmYMQd5
X-Gm-Gg: ASbGncuBzS+atHmFOBqbGEdVlSEuX0HAQ0WyTvGiWL3FQ46Ab9ZEGm0Kne2OsDIQO+t
	QzFsGrYv+MGJM8cOz2m50ZEAyOk0lrJci7cRp7G15rOQp49NOVlnHNFaYOgG0+kB28rIqsdxPlt
	/qzwsj7K0E4jDS07/43CrAwVM7MVpCg6wA+WQVUYFMR7cX6SwNJerIEsTnyUCUToRKREugr4v4g
	2j7es9n9zvDVUQiIVyox2XlJg9wpfZ7CJ4IfC6e+uB32wjKMwv5VS1H6mSWVLZPxVRAQw04pR1v
	oW1+mT4GC9dwL+OKII2MCgx/3M4nTbYVsxeNQ8kqgoncjg==
X-Google-Smtp-Source: AGHT+IH4p+EyXNtZBcFn5qZ2kRUT5u5G7xarBlFRDbvotDlq0RiQ5zzsA4mkL71EwZKloSe395O/NQ==
X-Received: by 2002:a05:6512:693:b0:545:d27:e367 with SMTP id 2adb3069b0e04-5497d37bb95mr129847e87.42.1741118694427;
        Tue, 04 Mar 2025 12:04:54 -0800 (PST)
Message-ID: <c17f5a23-d144-4f79-86b9-ee98960ed7ce@gmail.com>
Date: Tue, 4 Mar 2025 22:04:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] Add .clang-format files to enable manual coding style
 checks
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 Artem_Mygaiev@epam.com, jbeulich@suse.com, Luca.Fancellu@arm.com,
 marmarek@invisiblethingslab.com, andrew.cooper3@citrix.com,
 anthony.perard@vates.tech
References: <20250301114242.93650-1-andr2000@gmail.com>
 <20250301114242.93650-2-andr2000@gmail.com> <Z8XFRmK_kL6Lp9Xk@macbook.local>
 <2e26f594-edfc-4687-8433-4d04a527388e@gmail.com>
 <Z8a3JmNFKPI6h0s7@macbook.local>
Content-Language: en-US
From: Oleksandr Andrushchenko <andr2000@gmail.com>
In-Reply-To: <Z8a3JmNFKPI6h0s7@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hello, Roger!

On 04.03.25 10:17, Roger Pau MonnĂŠ wrote:
> On Mon, Mar 03, 2025 at 09:23:57PM +0200, Oleksandr Andrushchenko wrote:
>> Hello, Roger!
>>
>> On 03.03.25 17:05, Roger Pau MonnĂŠ wrote:
>>> On Sat, Mar 01, 2025 at 01:42:39PM +0200, Oleksandr Andrushchenko wrote:
>>>> Disable coding style checks for the project, but xen/ folder:
>>>> this is done by providing a global .clang-format at the top level which
>>>> disables clang-format and only providing .clang-format for xen/.
>>>>
>>>> clang-format version expected to be >15 and the latest tool can be
>>>> installed with:
>>>> python3 -m pip install clang-format
>>>>
>>>> Please note, that no automatic code style checks are performed and all
>>>> those can be run manually:
>>>>
>>>> - to see changes proposed to the patch being worked on (not committed yet):
>>>> git-clang-format --diff --style=file --verbose
>>>>
>>>> - to run code formatting on the HEAD patch:
>>>> git-clang-format --style=file --verbose HEAD~1
>>>>
>>>> Provided xen/.clang-format still has a lot of comments gathered from the
>>>> previous discussions. This is for purpose of better seeing why some of
>>>> the options have their values. Once option values are accepted all those
>>>> comments can be removed.
>>> I think the comments need to be trimmed to a concise explanation of
>>> why a setting is the way it is.  The (IMO overly long) excerpts from
>>> email conversations are difficult to follow in this context.  Someone
>>> has to spend the time to digest them and provide a shorter comment.
>> This is the goal. I do not expect the patch to be committed right
>> now, so I left those intentionally to provide some background
>> when those options were discussed before and, possibly, to
>> address some questions which were brought earlier.
>> The final patch will have all those in the way you mention here
>>> One thing that I'm missing: don't we need a list of excluded files
>>> somewhere because they are imports from Linux and we would like to
>>> keep the Linux coding style for avoiding conflicts when backporting
>>> fixes?
>> All files are excluded from formatting, but xen/ directory: this is
>> by providing a top level .clang-format file which disables all
>> formatting and also providing xen/.clang-format which is exactly
>> for xen/.
> There are files with intentional Linux coding style inside of xen/,
> for example xen/arch/x86/cpu/mwait-idle.c.  We would need a way to
> filter those out so that clang-format doesn't attempt to apply the Xen
> coding style to them.
>
> Otherwise it needs to be noted possibly in .clang-format that while
> the clang-format style will apply by default to all files inside of
> xen/, some of those use a different coding style on purpose, and those
> should not be reformatted.
There is an analog of .gitignore which is .clang-format-ignore [1]
>
> We also have some scripts in python and shell inside of both tools/
> and scripts/, are those already excluded by clang-format by not having
> a .c or .h extension?
Currently it is only C/C++ files with the settings in the .clang-format provided
>
>>>> +################################################################################
>>>> +# Options and their discussions
>>>> +################################################################################
>>>> +
>>>> +# [not specified]
>>>> +# Align function parameter that goes into a new line, under the open bracket
>>>> +# (supported in clang-format 3.8)
>>>> +# ------------------------------------------------------------------------------
>>>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01993.html
>>>> +# ------------------------------------------------------------------------------
>>>> +# Luca: This one is to align function parameters that overflows the line length,
>>>> +# I chose to align them to the open bracket to match the current codebase
>>>> +# (hopefully) e.g.:
>>>> +# someLongFunction(argument1,
>>>> +#                  argument2);
>>>> +#
>>>> +# This one can be a candidate for an entry in our coding style
>>>> +# ------------------------------------------------------------------------------
>>>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02143.html
>>>> +# ------------------------------------------------------------------------------
>>>> +# Jan:
>>>> +# > e.g.:
>>>> +# > someLongFunction(argument1,
>>>> +# >                  argument2);
>>>> +# The above matches neither of the two generally permitted styles:
>>>> +#
>>>> +#    someLongFunction(argument1,
>>>> +#                     argument2);
>>>> +#
>>>> +#    someLongFunction(
>>>> +#        argument1,
>>>> +#        argument2);
>>>> +#
>>>> +# Then again from its name I would infer this isn't just about function
>>>> +# arguments?
>>>> +#
>>>> +# ------------------------------------------------------------------------------
>>>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02172.html
>>>> +# ------------------------------------------------------------------------------
>>>> +# Luca:
>>>> +# I think it applies to parameters and arguments of functions and macro, given
>>>> +# the description in the docs.
>>>> +# I see your two snippets above but Iâve always found at least on arm a
>>>> +# predominance of the style above for functions, so arguments aligned after the
>>>> +# opening bracket, for macros there is a mix.
>>>> +# I might be wrong though and so another opinion from another maintainer would
>>>> +# help.
>>>> +# In any case we can choose among many value:
>>>> +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
>>>> +# but when we do so, we need to stick to one permitted style only, the tool donât
>>>> +# allow to specify more than one.
>>>> +#
>>>> +# ------------------------------------------------------------------------------
>>>> +# https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg02311.html
>>>> +# ------------------------------------------------------------------------------
>>>> +# Jan:
>>>> +# > I see your two snippets above but Iâve always found at least on arm a
>>>> +# > predominance of the style above for functions, so arguments aligned after
>>>> +# > the opening bracket, for macros there is a mix.
>>>> +#
>>>> +# The latter "above" refers to which form exactly? The one you originally
>>>> +# spelled out, or the former of what my reply had?
>>>> +#
>>>> +# > In any case we can choose among many value:
>>>> +# > https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
>>>> +# > but when we do so, we need to stick to one permitted style only, the tool
>>>> +# > donât allow to specify more than one.
>>>> +#
>>>> +# a2k: RED FLAG
>>> What does 'a2k' mean?
>>>
>>> I'm afraid this needs to be trimmed to a more manageable comment,
>>> otherwise I simply get lost in the context.  Maybe it makes sense more
>>> people involved in the discussion.
>> Sure, see my explanation above: this is just to give some more context
>> and have some ready answers for the questions being asked before.
>> I will remove all these right after we have some consensus.
> Sorry for possibly not fully understanding the purpose and being
> stubborn, but IMO consensus should be reached on the email discussion,
> so that here you can make a proposal, possibly with a comment
> justifying the chosen value.  Just copying excerpts from the email
> thread is not likely to help, as I at least find myself completely
> lost.
Agree, but the opposite happened before: same questions asked
again as we are out of context each time...
>
> Otherwise if there's no consensus just add a TODO next to the option
> explaining why the current setting might not be optimal or the (known)
> shortcomings of it, so that we know there's some pending work in this
> area.  But it needs to be a concrete list, not pieces from an email
> discussion.
It is not that easy as options act as a set, we cannot have one
option per rule unfortunately.
>
> Thanks, Roger.
ThankÂ  you,
Oleksandr

[1] https://clang.llvm.org/docs/ClangFormat.html#clang-format-ignore


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 20:26:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 20:26:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901520.1309478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpYqj-0005MF-Uq; Tue, 04 Mar 2025 20:26:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901520.1309478; Tue, 04 Mar 2025 20: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 1tpYqj-0005M8-PU; Tue, 04 Mar 2025 20:26:45 +0000
Received: by outflank-mailman (input) for mailman id 901520;
 Tue, 04 Mar 2025 20:26: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=AC9t=VX=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1tpYqi-0005M2-98
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 20:26:44 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f872cbaf-f936-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 21:26:37 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C9A6E8286599;
 Tue,  4 Mar 2025 14:26:35 -0600 (CST)
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 vCBD8vEXSEuH; Tue,  4 Mar 2025 14:26:35 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 319C38287A79;
 Tue,  4 Mar 2025 14:26:35 -0600 (CST)
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 jr_TOd0z5dZo; Tue,  4 Mar 2025 14:26:35 -0600 (CST)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 310A38286599;
 Tue,  4 Mar 2025 14:26:34 -0600 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f872cbaf-f936-11ef-9898-31a8f345e629
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 319C38287A79
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1741119995; bh=9ZJMNquJ1eZP6quPV+PEWoALEoDBuYhrufbPN7+L8dw=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=KDKhILGud4p9u+lBauZG7NLkZqaeNg//4lEiEZ32jn+563tdbYW19yXfb+jHXDpbc
	 7qkqJ5ann9h5xW05fjdZebxUdsD8mvo50QCgS00KI5KP3RkzcIBiFShGts4JV2v0dX
	 +a4r51HQlnGm8K7n4yJR6Hu2Atq6tWIB3VB62Ea0=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <6db28995-40e6-4198-bf7d-5afdc814f810@raptorengineering.com>
Date: Tue, 4 Mar 2025 14:26:33 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen/mm: Introduce per-arch pte_attr_t type for PTE
 flags
To: Jan Beulich <jbeulich@suse.com>
Cc: tpearson@raptorengineering.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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <1d0826e88e95357979d74fb3702b35fdb0b75151.1739488487.git.sanastasio@raptorengineering.com>
 <ca31107923a8794f8752e65b5c3ad14bd2f326cf.1739488487.git.sanastasio@raptorengineering.com>
 <396e663d-b8f1-42a5-acec-78ba78c0b67a@suse.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <396e663d-b8f1-42a5-acec-78ba78c0b67a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2/26/25 7:26 AM, Jan Beulich wrote:
> On 21.02.2025 21:10, Shawn Anastasio wrote:
>> --- a/xen/include/xen/mm.h
>> +++ b/xen/include/xen/mm.h
>> @@ -69,6 +69,7 @@
>>  #include <xen/spinlock.h>
>>  #include <xen/perfc.h>
>>  #include <public/memory.h>
>> +#include <asm/mm-types.h>
>>
>>  struct page_info;
>>
>> @@ -113,9 +114,9 @@ int map_pages_to_xen(
>>      unsigned long virt,
>>      mfn_t mfn,
>>      unsigned long nr_mfns,
>> -    unsigned int flags);
>> +    pte_attr_t flags);
>>  /* Alter the permissions of a range of Xen virtual address space. */
>> -int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf);
>> +int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf);
> 
> These declaration adjustments need to be carried through to all definitions,
> not just PPC's. Without doing so there'll be new Misra violations (requiring
> that declaration and definition agree not just in effective types, but also
> in spelling),

Understood -- I figured that if pte_attr_t was ever defined as non-int
on the other arches the non-matching declarations would raise a compiler
warning and thus it'd be fine to leave them for now, but didn't consider
MISRA. Will update.

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 22:41:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 22:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901548.1309506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpawe-00013O-9n; Tue, 04 Mar 2025 22:41:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901548.1309506; Tue, 04 Mar 2025 22:41: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 1tpawe-00013H-6R; Tue, 04 Mar 2025 22:41:00 +0000
Received: by outflank-mailman (input) for mailman id 901548;
 Tue, 04 Mar 2025 22:40: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpawc-00013B-Tk
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 22:40:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bcc320b2-f949-11ef-9ab4-95dc52dad729;
 Tue, 04 Mar 2025 23:40:57 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 4AC715C6435;
 Tue,  4 Mar 2025 22:38:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E26FC4CEE5;
 Tue,  4 Mar 2025 22:40: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: bcc320b2-f949-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741128055;
	bh=UXLBKADpVD6vJfgwrWUoLtRe5PGaNMpvVNlwuXREjoY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=vF9BWdZGmYUIGD5Z9RGvcgpY6q0vO56uGPauqFTXL1BzmmNUJSZcCnLZZny5hktuT
	 MKb09r6X0FuvKR8pCI6jR/E7en5p7W4Mzybg/ayXCKigf39oy7GvhoTtKQW0Ow+gxX
	 xnCJ4swU6lYUvQKYve9B5RiemYCx1PMJi5ZKA3L0v7lpU/8wBft6kKssUf6cSLUV/Y
	 P9myJkD9KA2FaSjOCVQugRYfm47WLfKPnmuWTHzXE3Ji1SkMqR3mqmPGKA9ySvEaIW
	 YKOGNOsp8EEfu/uaEe+WeZI4SyEfCNPpGF+Rroyh1gtH4o7BMd+x6X1jG/+QUQO36y
	 tRFGdnJO+QXEA==
Date: Tue, 4 Mar 2025 14:40:53 -0800 (PST)
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>, 
    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>, 
    Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, 
    George Dunlap <gwd@xenproject.org>
Subject: Re: [PATCH v2 1/2] xen/domain: Annotate struct domain as page
 aligned
In-Reply-To: <20250303232941.2641306-2-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503041440380.1303386@ubuntu-linux-20-04-desktop>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com> <20250303232941.2641306-2-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1286772829-1741128056=:1303386"

  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-1286772829-1741128056=:1303386
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 3 Mar 2025, Andrew Cooper wrote:
> struct domain is always a page aligned allocation.  Update it's type to
> reflect this, so we can safely reuse the lower bits in the pointer for
> auxiliary information.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> 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>
> CC: Dario Faggioli <dfaggioli@suse.com>
> CC: Juergen Gross <jgross@suse.com>
> CC: George Dunlap <gwd@xenproject.org>
> 
> v2:
>  * New
> 
> Interestingly this does cause two changes in the resulting binary, both caused
> by GCC electing to use a more complicated addressing mode to save one ADD
> instruction.
> ---
>  xen/include/xen/sched.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 037c83fda219..8412b45178ca 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -645,7 +645,7 @@ struct domain
>      unsigned int num_llc_colors;
>      const unsigned int *llc_colors;
>  #endif
> -};
> +} __aligned(PAGE_SIZE);
>  
>  static inline struct page_list_head *page_to_list(
>      struct domain *d, const struct page_info *pg)
> -- 
> 2.39.5
> 
--8323329-1286772829-1741128056=:1303386--


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 22:47:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 22:47:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901557.1309517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpb2x-0001ff-Tz; Tue, 04 Mar 2025 22:47:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901557.1309517; Tue, 04 Mar 2025 22:47: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 1tpb2x-0001fY-RL; Tue, 04 Mar 2025 22:47:31 +0000
Received: by outflank-mailman (input) for mailman id 901557;
 Tue, 04 Mar 2025 22:47: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=vBJn=VX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpb2w-0001fS-EO
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 22:47:30 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5b74322-f94a-11ef-9898-31a8f345e629;
 Tue, 04 Mar 2025 23:47:28 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 35599A46018;
 Tue,  4 Mar 2025 22:41:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48A0FC4CEE5;
 Tue,  4 Mar 2025 22:47: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: a5b74322-f94a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741128446;
	bh=pJjgE4hP0Hn3MC32EegzqHfmNUqzFYjWwUHgIVz+FIc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=shuQ54HQ6fHWVDJ4mG/xpksSA9/OWUlgtYgivgW/lO3K18rCnh44ArJUi+lqhupQR
	 PDMM8tp7oA+0qm3u9++uNB/wvSvVTcu5Jz76CMCImnHjAWUKx1oBDdYit8Istus3ts
	 REysGnvVmzItnL6Fi0tk3XKLDCPwLHOGie03O9Q98zCjHrV1Yaky9cMI1D5B8wuqoS
	 ss9rWMPd+B6OMYShfxVjRQzb5ayQf1w2avEU7rFCUsEDVGA91H8s1FTdZKfSQxFIbi
	 s5Zg6SGfU0nEym24AnSnnKQNYGpzQjKL9Z3GeY5Y6ZNfUtMFYluQasRPXkBLXLLlSK
	 Jfh++aENe/JtA==
Date: Tue, 4 Mar 2025 14:47:24 -0800 (PST)
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>, 
    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>, 
    Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, 
    George Dunlap <gwd@xenproject.org>
Subject: Re: [PATCH v2 2/2] xen/watchdog: Identify which domain watchdog
 fired
In-Reply-To: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503041445010.1303386@ubuntu-linux-20-04-desktop>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com> <20250303232941.2641306-3-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-312225281-1741128447=:1303386"

  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-312225281-1741128447=:1303386
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 3 Mar 2025, Andrew Cooper wrote:
> When a watchdog fires, the domain is crashed and can't dump any state.
> 
> Xen allows a domain to have two separate watchdogs.  Therefore, for a
> domain running multiple watchdogs (e.g. one based around network, one
> for disk), it is important for diagnostics to know which watchdog
> fired.
> 
> As the printk() is in a timer callback, this is a bit awkward to
> arrange, but there are 12 spare bits in the bottom of the domain
> pointer owing to its alignment.
> 
> Reuse these bits to encode the watchdog id too, so the one which fired
> is identified when the domain is crashed.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

The code looks like it would work as intended.

I checked with the MISRA rules and it looks like it would fall under the
allowed exception. Please have a run through ECLAIR to make sure it
doesn't cause regressions (especially R11.2).


> ---
> 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>
> CC: Dario Faggioli <dfaggioli@suse.com>
> CC: Juergen Gross <jgross@suse.com>
> CC: George Dunlap <gwd@xenproject.org>
> 
> v2:
>  * BUILD_BUG_ON() against the alignment of d.
> ---
>  xen/common/sched/core.c | 23 ++++++++++++++++++++---
>  1 file changed, 20 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index d6296d99fdb9..3db0fe32ccd8 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1534,12 +1534,19 @@ long vcpu_yield(void)
>  
>  static void cf_check domain_watchdog_timeout(void *data)
>  {
> -    struct domain *d = data;
> +    /*
> +     * The data parameter encodes the watchdog id in the low bits of
> +     * the domain pointer.
> +     */
> +    struct domain *d = _p((unsigned long)data & PAGE_MASK);
> +    unsigned int id = (unsigned long)data & ~PAGE_MASK;
> +
> +    BUILD_BUG_ON(!(alignof(d) < PAGE_SIZE));
>  
>      if ( d->is_shutting_down || d->is_dying )
>          return;
>  
> -    printk("Watchdog timer fired for domain %u\n", d->domain_id);
> +    printk("Watchdog timer %u fired for %pd\n", id, d);
>      domain_shutdown(d, SHUTDOWN_watchdog);
>  }
>  
> @@ -1593,7 +1600,17 @@ void watchdog_domain_init(struct domain *d)
>      d->watchdog_inuse_map = 0;
>  
>      for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> -        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, 0);
> +    {
> +        void *data = d;
> +
> +        BUILD_BUG_ON(NR_DOMAIN_WATCHDOG_TIMERS > alignof(d));
> +
> +        /*
> +         * For the timer callback parameter, encode the watchdog id in
> +         * the low bits of the domain pointer.
> +         */
> +        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, data + i, 0);
> +    }
>  }
>  
>  void watchdog_domain_destroy(struct domain *d)
> -- 
> 2.39.5
> 
--8323329-312225281-1741128447=:1303386--


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 23:24:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 23:24:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901567.1309527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpbcr-0008Pr-KF; Tue, 04 Mar 2025 23:24:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901567.1309527; Tue, 04 Mar 2025 23: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 1tpbcr-0008Pk-HC; Tue, 04 Mar 2025 23:24:37 +0000
Received: by outflank-mailman (input) for mailman id 901567;
 Tue, 04 Mar 2025 23:24: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=/Z5M=VX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpbcp-0008Pb-HW
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 23:24:35 +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 d178a513-f94f-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 00:24:28 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43bccfa7b89so9221935e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 15:24:28 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bc743f649sm69782295e9.27.2025.03.04.15.24.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 15:24:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d178a513-f94f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741130668; x=1741735468; 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=dJn0EOtoOspWkZsAezbXT11JWUNWguHtx31jBY0thn4=;
        b=mTZtBY75IqtVe5SS1QU1j+wSWfkRD2oVWW3GvQyAEK931EhQWLmDOK21gkzUoyRIBD
         yKXJcrxAnYRbanZfkwWXk4EpaYnXxsf8NgZE2zn+FonGFxbineYI6yYUk8SoslmjXEQC
         SpON7B8cKpXpUSJAAtnGXSnoynO3Pt8HUGFOM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741130668; x=1741735468;
        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=dJn0EOtoOspWkZsAezbXT11JWUNWguHtx31jBY0thn4=;
        b=QenLbGxPaFm6dprdNHfUbbAIS4wGsdMF9BuDL0WnGGLLufjBJKdoAtveKNvBWJkIA6
         8A/aS/ac7Q3KJOz9c19TYXtCM6cRvISFJ2nRcQ8LQIIAAEXvsilGurp5BrOu7j7vYNUD
         iDhssyjIazzpv1txAoveyGcer6VFRc1TsEJlxE/93PGL14VBZcP+6GzcEEXvFBKAeJHS
         iALkBkcjqzWzELUBJZ4vDYXAhbPk6GFyBf+NjywPdWb1yDcckHjTJj8wGeZzGEPGZcrd
         tsKGxNcZr7B/mR9cAzVDsc2W+JFIE2ypTTi98wtxEZ7RRkP+SoIoz7ZUmJLFCP+l2/2L
         6GZQ==
X-Gm-Message-State: AOJu0YxOeroBI0+viA+4vntBnZ/zTQRCC+1mtea9SutLNEauA6399OKt
	ifkE8yCk1rKAp7OM63kJSkiDWiCSdkoEY/HU8e5Mz1bS0t8bFUe6eRmywB+75aRiBFDfLZ9o6RX
	R
X-Gm-Gg: ASbGncu+w7tsTu0wgA3mHTg0IOBfgwQhTqP5Lu/a6DYBaxfLzWdOtqKy3T3ItGCDuEc
	/oFdpVoxE9eYuUkihMr38sWZywEtO4jujMqUYOqIfu6JU2dlnuj1KfKKRIxP3q6M2HHdoJI6ukB
	A+KfNrQsG/kGDiFA3zdfa81nfKJQjlKvHF9JWAluRWcq3TY7UPnh2pqfR09qs8YsTeh44aIQHt0
	zHvt13olcOAKcbi8rR4N2JCva7/lrtQ+lZsiKo4IEhCceZqnP9YGkmTnBvovtqcj2ZaOLDasKEt
	2DjKlSAbTzd1sWc0SM4pQ66tYFps94UwdsbF4IOdEltOLSguRDX9eXad8ry9aNHi4M1aTD05zEF
	32DzpKZmRjrVz29qR0fF+Lqsw
X-Google-Smtp-Source: AGHT+IH6ijEY9Azzf7yI2+Rd59Gh6QiVd2RZ4Z/TpleD+eKUy8kM4RUwHVOHP8f1uuqYh69fH+6r1w==
X-Received: by 2002:a05:600c:510f:b0:439:9537:e96b with SMTP id 5b1f17b1804b1-43bd29bced0mr4272965e9.14.1741130667643;
        Tue, 04 Mar 2025 15:24:27 -0800 (PST)
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] x86/vmx: Rewrite vmx_sync_pir_to_irr() to be more efficient
Date: Tue,  4 Mar 2025 23:22:18 +0000
Message-Id: <20250304232218.2768344-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

There are two issues.  First, pi_test_and_clear_on() pulls the cache-line to
the CPU and dirties it even if there's nothing outstanding, but the final
bitmap_for_each() is O(256) when O(8) would do, and would avoid multiple
atomic updates to the same IRR word.

Rewrite it from scratch, explaining what's going on at each step.

Bloat-o-meter reports 177 -> 145 (net -32), but real improvement is the
removal of calls to __find_{first,next}_bit() hidden behind bitmap_for_each().

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>

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1699791518

v3:
 * Fix IRR scatter address calculation
 * Spelling/Grammar improvements
v2:
 * Extend the comments
---
 xen/arch/x86/hvm/vmx/vmx.c | 70 +++++++++++++++++++++++++++++++++-----
 1 file changed, 62 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d87da427ade1..ab881d6f8c42 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2314,18 +2314,72 @@ static void cf_check vmx_deliver_posted_intr(struct vcpu *v, u8 vector)
 
 static void cf_check vmx_sync_pir_to_irr(struct vcpu *v)
 {
-    struct vlapic *vlapic = vcpu_vlapic(v);
-    unsigned int group, i;
-    DECLARE_BITMAP(pending_intr, X86_IDT_VECTORS);
+    struct pi_desc *desc = &v->arch.hvm.vmx.pi_desc;
+    union {
+        unsigned long _ul[X86_IDT_VECTORS / BITS_PER_LONG];
+        uint32_t      _32[X86_IDT_VECTORS / (sizeof(uint32_t) * 8)];
+    } vec;
+    uint32_t *irr;
+    bool on;
 
-    if ( !pi_test_and_clear_on(&v->arch.hvm.vmx.pi_desc) )
+    /*
+     * The PIR is a contended cacheline which bounces between the CPU(s) and
+     * IOMMU(s).  An IOMMU updates the entire PIR atomically, but we can't
+     * express the same on the CPU side, so care has to be taken.
+     *
+     * First, do a plain read of ON.  If the PIR hasn't been modified, this
+     * will keep the cacheline Shared and not pull it Exclusive on the current
+     * CPU.
+     */
+    if ( !pi_test_on(desc) )
         return;
 
-    for ( group = 0; group < ARRAY_SIZE(pending_intr); group++ )
-        pending_intr[group] = pi_get_pir(&v->arch.hvm.vmx.pi_desc, group);
+    /*
+     * Second, if the plain read said that ON was set, we must clear it with
+     * an atomic action.  This will bring the cacheline to Exclusive on the
+     * current CPU.
+     *
+     * This should always succeed because no-one else should be playing with
+     * the PIR behind our back, but assert so just in case.
+     */
+    on = pi_test_and_clear_on(desc);
+    ASSERT(on);
+
+    /*
+     * The cacheline will have become Exclusive on the current CPU, and
+     * because ON was set, some other entity (an IOMMU, or Xen on another CPU)
+     * has indicated that the PIR needs re-scanning.
+     *
+     * Note: Entities which can't update the entire cacheline atomically
+     *       (i.e. Xen on another CPU) are required to update PIR first, then
+     *       set ON.  Therefore, there is a corner case where we may have
+     *       found and processed the PIR updates "last time around" and only
+     *       found ON this time around.  This is fine; the logic still
+     *       operates correctly.
+     *
+     * Atomically read and clear the entire pending bitmap as fast as we can,
+     * to reduce the window where another entity may steal the cacheline back
+     * from us.  This is a performance concern, not a correctness concern; if
+     * another entity does steal the cacheline, we'll just wait for it to
+     * return.
+     */
+    for ( unsigned int i = 0; i < ARRAY_SIZE(vec._ul); ++i )
+        vec._ul[i] = xchg(&desc->pir[i], 0);
+
+    /*
+     * Finally, merge the pending vectors into IRR.  The IRR register is
+     * scattered in memory, so we have to do this 32 bits at a time.
+     */
+    irr = (uint32_t *)&vcpu_vlapic(v)->regs->data[APIC_IRR];
+    for ( unsigned int i = 0; i < ARRAY_SIZE(vec._32); ++i )
+    {
+        if ( !vec._32[i] )
+            continue;
 
-    bitmap_for_each ( i, pending_intr, X86_IDT_VECTORS )
-        vlapic_set_vector(i, &vlapic->regs->data[APIC_IRR]);
+        asm ( "lock or %[val], %[irr]"
+              : [irr] "+m" (irr[i * 4])
+              : [val] "r" (vec._32[i]) );
+    }
 }
 
 static bool cf_check vmx_test_pir(const struct vcpu *v, uint8_t vec)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 04 23:43:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 23:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901580.1309537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpbur-0004UF-3j; Tue, 04 Mar 2025 23:43:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901580.1309537; Tue, 04 Mar 2025 23:43: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 1tpbur-0004U8-0h; Tue, 04 Mar 2025 23:43:13 +0000
Received: by outflank-mailman (input) for mailman id 901580;
 Tue, 04 Mar 2025 23:43: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=/Z5M=VX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpbuq-0004U2-4B
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 23:43:12 +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 6dd9aade-f952-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 00:43:09 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-390dd35c78dso144887f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 15:43:09 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b7b6asm19493014f8f.51.2025.03.04.15.43.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 15:43:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6dd9aade-f952-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741131789; x=1741736589; 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=BJwzpwNMYQFtwOmsHfKr1uwlmscdDTCKzODsd5j9Upw=;
        b=Xo1CqKI4H1VXiW3X14LsrPx3FdV0dU1c/JSVKXrM9onAuaZLBxRu+iyjRkJcrHy30G
         qguB3kTKOMzBvqkgtNPGDKTdhqdouhEl/hLRFHxIyNP54ip50iUgkmPDBet+4EYT6sbg
         e3I8ivpcwWrbbsTyGX8zLj2zHUITrb1/N01gc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741131789; x=1741736589;
        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=BJwzpwNMYQFtwOmsHfKr1uwlmscdDTCKzODsd5j9Upw=;
        b=ROdmbZlVnXyotSyeenedKlJ6gc5x/gN7gCeomqnlFr6cW3zZ/14kro9V97XzxkxEXD
         N3s4XZJfuyijyl5eELejRKJZHBBFfhWliuK0mpV58umsdzh3q9OUYebe8SB6geRNi2r+
         RUGeDZO6LMqdvcKXQ8fxlte1nAn+dPkWrCwA2QO4POaqVF3YDRrdIpFHomljtUWRzFQR
         /XzieEb/gf126PpomLkoWQjrLguFWuWAHj1CIHdeS6C8gd5mf1E3EhICgTBhEHL+RyJh
         iB6Nyg+3rFleGsgu6BL71+hRgWLvCUNWjmGaXNgBhpvntO96kPZxBV2NGQZtug/SmahA
         sHvQ==
X-Gm-Message-State: AOJu0Yx/U8vrJdTLGl9rFCK9uehUKRvmobvwRcsE4+rksrnlDWyddx8X
	hxWBINzbF+SQHPRdD7HlIfOt2WBh61s+PdAE+bdSZh6V9RnY+2bCWfLnmnZy2B8=
X-Gm-Gg: ASbGncsQzOZICLb3DKj4s1g0GoK8YIPZQhoMBypDE/rIwTc6wE1HmgKt8NuWdzXGPwj
	qZ0TKb5qUHVpodfQAcwHxe0d4tUo62mHxpwpVdF8DeuaZfZdWSKa9XFkYC+Yn/gziZsEUTf64y1
	79WBljltq8haB7+NwCsuKNDnYXiLkqdorCtr6WZiuEv13Hpt3okNysPwF0DQE2lgCACw32CSbXx
	RfvXy92vHqidUarHLXUSngMg1eYnecbzqN7dF6BkaCewhj7I7cyCAqNJASshoXwzrSQEHTS0TVY
	h3E6xdghHEA6NsmF2+eUQmfJwfuNWgrtwbhP9q7EoLaYGKaqe8YhUgVZymSJ+NIkRa+p2sdxD3w
	WutJDO2p7
X-Google-Smtp-Source: AGHT+IGX1Sbut74l4A4ODylML50Dagv65fAzq9vRo6RZ9wSvyrr348s7mqrLF67DiP2umgLuUjNW7g==
X-Received: by 2002:a5d:47a5:0:b0:391:1218:d5f4 with SMTP id ffacd0b85a97d-3911ea411f0mr637835f8f.23.1741131789363;
        Tue, 04 Mar 2025 15:43:09 -0800 (PST)
Message-ID: <a4c19e0a-3545-499f-b33f-878b96b877fe@citrix.com>
Date: Tue, 4 Mar 2025 23:43:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/watchdog: Identify which domain watchdog fired
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <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>, Dario Faggioli <dfaggioli@suse.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
 <20250303232941.2641306-3-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2503041445010.1303386@ubuntu-linux-20-04-desktop>
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: <alpine.DEB.2.22.394.2503041445010.1303386@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/03/2025 10:47 pm, Stefano Stabellini wrote:
> On Mon, 3 Mar 2025, Andrew Cooper wrote:
>> When a watchdog fires, the domain is crashed and can't dump any state.
>>
>> Xen allows a domain to have two separate watchdogs.  Therefore, for a
>> domain running multiple watchdogs (e.g. one based around network, one
>> for disk), it is important for diagnostics to know which watchdog
>> fired.
>>
>> As the printk() is in a timer callback, this is a bit awkward to
>> arrange, but there are 12 spare bits in the bottom of the domain
>> pointer owing to its alignment.
>>
>> Reuse these bits to encode the watchdog id too, so the one which fired
>> is identified when the domain is crashed.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> The code looks like it would work as intended.

It's already deployed into production[1].Â  (Guess /why/ we need to
distinguish the two watchdogs.)

> I checked with the MISRA rules and it looks like it would fall under the
> allowed exception. Please have a run through ECLAIR to make sure it
> doesn't cause regressions (especially R11.2).

Eclair is happy:

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1700050949

~Andrew

[1] Actually, the version that took me 2 minute to write one evening
over beer after work when the initial request for help came in.Â 
Followed shortly by an explanation of how alignment works.


From xen-devel-bounces@lists.xenproject.org Tue Mar 04 23:59:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Mar 2025 23:59:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901592.1309547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcAH-0006aL-Fh; Tue, 04 Mar 2025 23:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901592.1309547; Tue, 04 Mar 2025 23:59: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 1tpcAH-0006aE-Co; Tue, 04 Mar 2025 23:59:09 +0000
Received: by outflank-mailman (input) for mailman id 901592;
 Tue, 04 Mar 2025 23:59: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=/Z5M=VX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpcAG-0006a8-Dj
 for xen-devel@lists.xenproject.org; Tue, 04 Mar 2025 23:59:08 +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 a83c2f53-f954-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 00:59:06 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-439a4fc2d65so66340515e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 15:59:06 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4844abbsm18946054f8f.70.2025.03.04.15.59.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 15:59:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a83c2f53-f954-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741132746; x=1741737546; 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=ARU3lqTjT00glB53BT+77aYNW8WQZLcUINvHTmLy8fM=;
        b=c0yx9Fc4SeC5Dn54lQSpXBvRnI53PT/aLQCIPFVl+ElFsrEtrLPkALf1mDZ80Ea1ON
         9ooIFM8QaU/C3xUZeeqdchTOU/zODgc8t+6ApSOQEZVWgJcm9TZ+QRSG2wgHlsGeOcOk
         a8a0A2G5TBJDD5+QAA9vFb6uCORALqVpD7Bco=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741132746; x=1741737546;
        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=ARU3lqTjT00glB53BT+77aYNW8WQZLcUINvHTmLy8fM=;
        b=dVD7wZpO92Ue4s6fHJ3DgX5LZKUhFBh39GulU3b3PSE6dINyUfJFVkvUyPD4APiX6r
         v4gL+8c5qj9AQuQ0tQJaG621ke5Yqb+xCq90CQIO/D+itXX1fCS6p4vEBEXa9mYy8n1e
         lkRRV74DyGz1Q6+/akEvpocSqjvqnbu+/NsP7gPtxXV1f99zJlia2WVzg+bKSxvcnBKn
         EqNK1tvTzgBk8Qtkel+5xqWdlgWxI8D7EE3Mhx7laLTguS9Mb5JSYPun4wqkkBPP4cZC
         DwRYiFrxpJMEDKlfV24dJEUmZYsKglqCFMw8VDOEtpKg1Imoxl8fvTId+WFq5PWXgbqe
         FUGA==
X-Gm-Message-State: AOJu0YyRZ4bGkquCIkenOzvxcbUVpcH4yks/qk/D0lhYhbq/GAP3LEs7
	3Bldf20S+MVfqilE/XDGXvrctCLsB1FZGyLnqr6hUu58xbHiMYA8fWdV4QvKhTxX29eURP6dx+V
	m
X-Gm-Gg: ASbGncutTgT/hKMFOwzFd0XmNnYtPdlI9m1gxqVPzHaF7hA1tDr91uBpM4QN5A5f+yZ
	+ryMJvRiheOoMB7QmOtgPP7utUmaKITRb5hsyd5B6d7do3Hmt1qmEBnF8ZDI2HwW/DdqhH93aWU
	cF7gRNTImTcgARl8DRVIz744qNk0UcNziyg5yTl/IhQti7Hxpo9075Bcw5f/wX3Fy5N3UeCWHXC
	18Rkja7cnkaEK4qZcB5zYHPXdZQeuJcxJw/yss9wEVXbeSxygfG2pf679PTo8wtHbw9JM5O/eQa
	7JMB5dhUonkByfpK4V360lwG/zOT8/w5iN3PM2TtxIjpuf9lGmCFkpufNqfl0QD1ml+bOt5SfyC
	n4+xeg/D0sP12rYjPUaKsvBtV
X-Google-Smtp-Source: AGHT+IGOfT/e9cA7JAPZcv6lxOSh7zmJVLTyUXDjo0bTP0j4K1prkKDDtDVZfy+BQ5WIfhQ8VbNZ5A==
X-Received: by 2002:a5d:6dad:0:b0:390:ffd0:4142 with SMTP id ffacd0b85a97d-3911f75678emr547659f8f.26.1741132746107;
        Tue, 04 Mar 2025 15:59:06 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH] MISRA: Rephrase the deviation for Directive 4.10
Date: Tue,  4 Mar 2025 23:57:01 +0000
Message-Id: <20250304235701.2770842-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

The use of "legitimately" mixes the concepts of "it was designed to do this"
and "it was correct to do this".

The latter in particular can go stale.  "intended" is a better way of phrasing
this.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 2 +-
 xen/arch/arm/include/asm/perfc_defn.h            | 2 +-
 xen/arch/x86/include/asm/perfc_defn.h            | 2 +-
 xen/include/asm-generic/perfc_defn.h             | 2 +-
 xen/include/xen/perfc_defn.h                     | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index dfa5f34b3952..2c8fb9271391 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -74,7 +74,7 @@ they are not instances of commented-out code."
 
 -doc_begin="Files that are intended to be included more than once do not need to
 conform to the directive."
--config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* This file is legitimately included multiple times\\. \\*/$, begin-4))"}
+-config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* This file is intended to be included multiple times\\. \\*/$, begin-4))"}
 -config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
 -config=MC3A2.D4.10,reports+={safe, "all_area(all_loc(file(^xen/include/generated/autoconf.h$)))"}
 -doc_end
diff --git a/xen/arch/arm/include/asm/perfc_defn.h b/xen/arch/arm/include/asm/perfc_defn.h
index 3ab0391175d7..effd25b69ecc 100644
--- a/xen/arch/arm/include/asm/perfc_defn.h
+++ b/xen/arch/arm/include/asm/perfc_defn.h
@@ -1,4 +1,4 @@
-/* This file is legitimately included multiple times. */
+/* This file is intended to be included multiple times. */
 /*#ifndef __XEN_PERFC_DEFN_H__*/
 /*#define __XEN_PERFC_DEFN_H__*/
 
diff --git a/xen/arch/x86/include/asm/perfc_defn.h b/xen/arch/x86/include/asm/perfc_defn.h
index 487e20dc9734..d6127cb91ea5 100644
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -1,4 +1,4 @@
-/* This file is legitimately included multiple times. */
+/* This file is intended to be included multiple times. */
 /*#ifndef __XEN_PERFC_DEFN_H__*/
 /*#define __XEN_PERFC_DEFN_H__*/
 
diff --git a/xen/include/asm-generic/perfc_defn.h b/xen/include/asm-generic/perfc_defn.h
index 8237636d83fb..726cddc1b3e8 100644
--- a/xen/include/asm-generic/perfc_defn.h
+++ b/xen/include/asm-generic/perfc_defn.h
@@ -1,4 +1,4 @@
-/* This file is legitimately included multiple times. */
+/* This file is intended to be included multiple times. */
 /* #ifndef ASM_GENERIC_PERFC_DEFN_H */
 /* #define ASM_GENERIC_PERFC_DEFN_H */
 
diff --git a/xen/include/xen/perfc_defn.h b/xen/include/xen/perfc_defn.h
index a987d80dd6f1..afbabad0b3be 100644
--- a/xen/include/xen/perfc_defn.h
+++ b/xen/include/xen/perfc_defn.h
@@ -1,4 +1,4 @@
-/* This file is legitimately included multiple times. */
+/* This file is intended to be included multiple times. */
 /*#ifndef __XEN_PERFC_DEFN_H__*/
 /*#define __XEN_PERFC_DEFN_H__*/
 

base-commit: 83e043ee72b8c2fe1d620d137c20a2ffb040da01
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 00:04:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 00:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901601.1309557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcFq-0000xl-EQ; Wed, 05 Mar 2025 00:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901601.1309557; Wed, 05 Mar 2025 00:04: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 1tpcFq-0000xe-Be; Wed, 05 Mar 2025 00:04:54 +0000
Received: by outflank-mailman (input) for mailman id 901601;
 Wed, 05 Mar 2025 00:04: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpcFo-0000xS-Lw
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 00:04:52 +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 750b2be4-f955-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 01:04:50 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43bc63876f1so21163185e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 16:04:50 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435300esm476005e9.29.2025.03.04.16.04.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 16:04:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 750b2be4-f955-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741133090; x=1741737890; 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=awiGQJ0LDTNs80bgznyCrwYU9PaiszpQVGV9h4607KU=;
        b=UBaEbdj/aiuqbfvD4nN5r1q5djhyI/ABusJJZZ3Bq6XdcBNG13+RFn0CMcRX8QXRRD
         xgRo2WyQXY5Gjai57je32Y+JkBWXw14f54nan/rmZrBdnbjP1GnziD++XD2G99HzI6I9
         eTVUsjIx6BPQ/8NNtZRXlquRYhNjin1vg/lAY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741133090; x=1741737890;
        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=awiGQJ0LDTNs80bgznyCrwYU9PaiszpQVGV9h4607KU=;
        b=Vph/pOLNlv1Dtl+smlNHgewYWYB8GOWWAVz6Pw4Lg6wPjONEn7BXRa+RnCMk54EWh5
         hBFrAzK0dv48vfx7N0oCkBUQgd7sAyNfLoNz99z5OumICMZSbd3SpZALFyXsCunMp+gA
         A2Wb4Csa39+UXnYbqvKxhMgib4DpgCjceiFf926nPLFNItAdz/xOHJzb+b6Zvycdilxo
         x5N0tm3sFrOY/ChigJKp5I35POeYL+KH5C6DHpIn7fV2Avzl886xxFs5PEiQAv37pAtC
         dDmYZaaCGZJZH5pGXHKIGal9U3EyGHK5YGd2+l7wyBg0Na9CJF6c24d8I1RD2gx0D18r
         1k9g==
X-Gm-Message-State: AOJu0YyUx8a9itOTH2DfmfLWecCCQPo5VrmF0M7nFGKbtB7r9P7jaR8+
	7XY0/OGX4+HvzOPGroGzglw8wzo3vQBB17zD2wGQozfzPLQhII/WaLIxsk4qAWD+CKfTGveTz5i
	H
X-Gm-Gg: ASbGncs/m6NIsqMkuVAMMfwx62fd/c+Pm0Ucqt3w5kevgLwJOP738R2BuDsyZ8rpQbu
	PNvrgMxhuQBaomX04fcJPaKWf09ipY08NajT+cRsddHDGdcrR2sb4lqtoOyaGp2omkgAt5DCpio
	M69qUX+0CFk1e8P6hhuKu8d4MRlBCgQ2WrrD1QpKWytuwQ3kqiXVv8bZsTOmyURO+u4FY9zHKDe
	dVMQ1u9oIQrwZ0DIuitMwKTTrR/ItYhz5krL3qpuKHK4e+MS/VUW/feBTdy199o7AaniDH1RABk
	J4oJrqEkuoLCGw84kBiCOD3+TYAEPK0s1H4D7Y+mTCxJnauM9sYubouI4yf/KHO/qCO7fsmSsux
	3Du0qRx9BOV+q2F+YkrpIkzxf
X-Google-Smtp-Source: AGHT+IHKny86c1HtM5LgdMPKCaMPNQ2+Z2vkUkBOJrJpS0Pxdj0sVllqASbKvrrCayFGOweLqH0VNA==
X-Received: by 2002:a05:600c:4f4e:b0:439:6e08:f4 with SMTP id 5b1f17b1804b1-43bd2ad9e3dmr4573825e9.26.1741133089591;
        Tue, 04 Mar 2025 16:04:49 -0800 (PST)
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 0/5] x86/IDT: Generate the IDT at build time
Date: Wed,  5 Mar 2025 00:02:42 +0000
Message-Id: <20250305000247.2772029-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 a chunk of the FRED work split out because it's pretty self contained.

It's mostly cleanup/refactoring, although patch

traps.c is already overly large and going to get larger with FRED, so I'm
splitting traps-setup.c out of it, as the two have reasonably-different logic.
That's implemented in this series but not used in anger in this series.

Since v1:
 * First 3 patches committed
 * Minor adjustments.  See individual patches for details

Andrew Cooper (5):
  x86/IDT: Rename idt_table[] to bsp_idt[]
  x86/IDT: Make idt_tables[] be per_cpu(idt)
  x86/IDT: Generate bsp_idt[] at build time
  x86/IDT: Don't rewrite bsp_idt[] at boot time
  x86/traps: Convert pv_trap_init() to being an initcall

 xen/arch/x86/Makefile                  |   1 +
 xen/arch/x86/cpu/common.c              |   7 +-
 xen/arch/x86/crash.c                   |   8 +-
 xen/arch/x86/domain.c                  |   2 +-
 xen/arch/x86/hvm/svm/svm.c             |   4 +-
 xen/arch/x86/hvm/vmx/vmcs.c            |   2 +-
 xen/arch/x86/include/asm/gen-idt.h     | 122 +++++++++++++++++++++++++
 xen/arch/x86/include/asm/gen-idt.lds.h |  27 ++++++
 xen/arch/x86/include/asm/idt.h         |  22 +----
 xen/arch/x86/include/asm/pv/traps.h    |   4 -
 xen/arch/x86/machine_kexec.c           |   7 +-
 xen/arch/x86/pv/traps.c                |  18 +---
 xen/arch/x86/smpboot.c                 |  14 +--
 xen/arch/x86/traps-setup.c             |   7 ++
 xen/arch/x86/traps.c                   |  89 +-----------------
 xen/arch/x86/x86_64/entry.S            | 106 ++++++++++++---------
 xen/arch/x86/xen.lds.S                 |   2 +
 17 files changed, 254 insertions(+), 188 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/gen-idt.h
 create mode 100644 xen/arch/x86/include/asm/gen-idt.lds.h
 create mode 100644 xen/arch/x86/traps-setup.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 00:04:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 00:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901604.1309587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcFu-0001fy-9s; Wed, 05 Mar 2025 00:04:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901604.1309587; Wed, 05 Mar 2025 00:04: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 1tpcFu-0001fh-72; Wed, 05 Mar 2025 00:04:58 +0000
Received: by outflank-mailman (input) for mailman id 901604;
 Wed, 05 Mar 2025 00:04: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpcFs-0000xY-Ol
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 00:04:56 +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 78301bf7-f955-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 01:04:55 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bc4b1603fso17087255e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 16:04:55 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435300esm476005e9.29.2025.03.04.16.04.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 16:04:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78301bf7-f955-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741133095; x=1741737895; 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=9SNL7itfrNnJ7fZfsgVDK3aQ9nce716KXKVLPlahbX4=;
        b=VpsPlOw/qHx1szQt+zezNSBDj4D7nTMLq1fwBkvE1oND615HCu289uUqED1ZW4JQQ2
         PwkSKzQBOVzq2jrLD72zdrRut7BSBUOAHhHkoKMyYO+d+sN+Qm8iIJ0BO8OHv6txb74T
         xNXMjfYjVzY/rHrzQbYen3ORHbF3SdSuqG7TI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741133095; x=1741737895;
        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=9SNL7itfrNnJ7fZfsgVDK3aQ9nce716KXKVLPlahbX4=;
        b=LA81hJE9Qko2mfCKYZ8osdyS0bJPsexZo0ONVN87uWd/v18NZvCcPHcD5/MLCe5Ih0
         Dp6ZYVB5VKaKW0R6pZYWUqX/BRG1VUzUuk5pZNo2lvsI/CVz06cNt3JWyTBdoo0L9LGH
         /FdllnpSYRh7BAO0aE7kucKAfSgaP3cV5R+r+0aGbPy/38nMBQHhl9LGAXG/KCKeFQXu
         tLTgiTYvOg8jOLt0EJGqaMWUEamK/WlDBHP/sQuwCx2MLV1S3y0bzKcb6pngG6vS/iA0
         TtS/f4EwHT4uLT2fXeA5DkcgbrLVWC/N9JhICV1G0fmdvYGarL5SnhLXik/+9L+MFQQY
         U4dQ==
X-Gm-Message-State: AOJu0YxHESjZUTwcwnSyNRAkYKclKCTp0SjBdtu+5EvUZEwBTCWe+nP1
	H4nJUooFTkfbSTVdgyGhXwbSeyV82vb4SzLO3wMbVrK3IwxRvfOTTJm97MqIwrMa+K/MPCTpYnN
	5
X-Gm-Gg: ASbGnctFHXEdyBpSFQhaZgp6Vf6B9uoVFBqNqMzce/IJOvpJ5hPYy8jPqyI/X/kA0I8
	kCr3Mv6/K95Ik7VhS6DFS7z9c7TEEpn9JYhHKxP2ylzx1ZklHky/pWiiU5Tqp0vUfQPW2DlfchL
	QUmx7vud7vpSFibCsN0OmjjPs/u3NPtwuCWkKor6Wzc7PzAuJMtV6rk8YRIPfQ08kma3XsRNPSl
	Uag+oDTvpSqxhm16GN26BBcyFd0Z/nVsbF0vIi4BqELfyV7o9X1NetiZ/jG/VpN87PpIAAorr3E
	ZKJGtIZmbLhpFMWINOMA4+2wATYDlbwUuNXWLNEFFm6cOAbIVYgpLPidsrorfThA5K5DueqcIJE
	DXbaRU/EkcNFZ6YCZ9KGYanKn
X-Google-Smtp-Source: AGHT+IF0in+niHXRJvuv9CHoNLkMbVGy8AhWETCEUU2so7PTcFqjPHTo3in5KklPLN13La1p/B4uWw==
X-Received: by 2002:a05:600c:198f:b0:439:9192:f088 with SMTP id 5b1f17b1804b1-43bd2951b6fmr4945405e9.8.1741133094773;
        Tue, 04 Mar 2025 16:04:54 -0800 (PST)
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 3/5] x86/IDT: Generate bsp_idt[] at build time
Date: Wed,  5 Mar 2025 00:02:45 +0000
Message-Id: <20250305000247.2772029-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
References: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... rather than dynamically at boot time.  Aside from less runtime overhead,
this approach is less fragile than the preexisting autogen stubs mechanism.

We can manage this with some linker calculations.  See patch comments for full
details.

For simplicity, we create a new set of entry stubs here, and clean up the old
ones in the subsequent patch.  bsp_idt[] needs to move from .bss to .data.

No functional change yet; the boot path still (re)writes bsp_idt[] at this
juncture.

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

v2:
 * Shuffle semicolon position
 * Eclair magic comment for multi-include files

There's something differnet about LLD vs LD.  Without the ABSOLUTE() in
gen-idt.lds.h, LD is fine but LLD puts out symbols in the form:

  x86_IDT_entry_0xff_ADDR1|0000000000002fb0|   t  |            NOTYPE|                |     |.text
  x86_IDT_entry_0xff_ADDR2|0000000000004020|   a  |            NOTYPE|                |     |*ABS*

which causes a slew of errors making symbols for xen-syms:

  .xen-syms.0.S:20:8: error: out of range literal value
   .long 0x15a0 - (((((((261 >> 8) * 0xffff000000000000) | (261 << 39))) + ((1 << 39) / 2)) + (64 << 30)) + (1 << 30))
         ^

owing to half the symbols being t rather than a.  Moreover, this is reliable
for the full FreeBSD builds, but interminttent on randconfig.  I haven't
figured out which other option is having an effect.

Forcing them all to absolute works in both toolchains.
---
 xen/arch/x86/include/asm/gen-idt.h     | 122 +++++++++++++++++++++++++
 xen/arch/x86/include/asm/gen-idt.lds.h |  27 ++++++
 xen/arch/x86/traps-setup.c             |   4 -
 xen/arch/x86/x86_64/entry.S            |  76 +++++++++++++++
 xen/arch/x86/xen.lds.S                 |   2 +
 5 files changed, 227 insertions(+), 4 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/gen-idt.h
 create mode 100644 xen/arch/x86/include/asm/gen-idt.lds.h

diff --git a/xen/arch/x86/include/asm/gen-idt.h b/xen/arch/x86/include/asm/gen-idt.h
new file mode 100644
index 000000000000..9c8810edf9d7
--- /dev/null
+++ b/xen/arch/x86/include/asm/gen-idt.h
@@ -0,0 +1,122 @@
+/* This file is intended to be included multiple times. */
+/*
+ * Generator for IDT entries.
+ *
+ * Caller to provide GEN(vector, symbol, dpl, autogen) macro
+ *
+ * Symbols are 'entry_0xYY' if there is no better name available.  Regular
+ * handlers set autogen=1, while manual (autogen=0) require the symbol to be
+ * implemented somewhere else.
+ */
+
+#define DPL0 0
+#define DPL1 1
+#define DPL3 3
+
+#define manual 0
+#define autogen 1
+
+#define GEN16(i) \
+    GEN(0x ## i ## 0, entry_0x ## i ## 0, DPL0, autogen); \
+    GEN(0x ## i ## 1, entry_0x ## i ## 1, DPL0, autogen); \
+    GEN(0x ## i ## 2, entry_0x ## i ## 2, DPL0, autogen); \
+    GEN(0x ## i ## 3, entry_0x ## i ## 3, DPL0, autogen); \
+    GEN(0x ## i ## 4, entry_0x ## i ## 4, DPL0, autogen); \
+    GEN(0x ## i ## 5, entry_0x ## i ## 5, DPL0, autogen); \
+    GEN(0x ## i ## 6, entry_0x ## i ## 6, DPL0, autogen); \
+    GEN(0x ## i ## 7, entry_0x ## i ## 7, DPL0, autogen); \
+    GEN(0x ## i ## 8, entry_0x ## i ## 8, DPL0, autogen); \
+    GEN(0x ## i ## 9, entry_0x ## i ## 9, DPL0, autogen); \
+    GEN(0x ## i ## a, entry_0x ## i ## a, DPL0, autogen); \
+    GEN(0x ## i ## b, entry_0x ## i ## b, DPL0, autogen); \
+    GEN(0x ## i ## c, entry_0x ## i ## c, DPL0, autogen); \
+    GEN(0x ## i ## d, entry_0x ## i ## d, DPL0, autogen); \
+    GEN(0x ## i ## e, entry_0x ## i ## e, DPL0, autogen); \
+    GEN(0x ## i ## f, entry_0x ## i ## f, DPL0, autogen)
+
+
+GEN(0x00, entry_DE,         DPL0, manual);
+GEN(0x01, entry_DB,         DPL0, manual);
+GEN(0x02, entry_NMI,        DPL0, manual);
+GEN(0x03, entry_BP,         DPL3, manual);
+GEN(0x04, entry_OF,         DPL3, manual);
+GEN(0x05, entry_BR,         DPL0, manual);
+GEN(0x06, entry_UD,         DPL0, manual);
+GEN(0x07, entry_NM,         DPL0, manual);
+GEN(0x08, entry_DF,         DPL0, manual);
+GEN(0x09, entry_0x09,       DPL0, autogen); /* Coprocessor Segment Overrun */
+GEN(0x0a, entry_TS,         DPL0, manual);
+GEN(0x0b, entry_NP,         DPL0, manual);
+GEN(0x0c, entry_SS,         DPL0, manual);
+GEN(0x0d, entry_GP,         DPL0, manual);
+GEN(0x0e, early_page_fault, DPL0, manual);
+GEN(0x0f, entry_0x0f,       DPL0, autogen); /* PIC Spurious Interrupt Vector */
+
+GEN(0x10, entry_MF,         DPL0, manual);
+GEN(0x11, entry_AC,         DPL0, manual);
+GEN(0x12, entry_MC,         DPL0, manual);
+GEN(0x13, entry_XM,         DPL0, manual);
+GEN(0x14, entry_VE,         DPL0, autogen);
+GEN(0x15, entry_CP,         DPL0, manual);
+GEN(0x16, entry_0x16,       DPL0, autogen);
+GEN(0x17, entry_0x17,       DPL0, autogen);
+GEN(0x18, entry_0x18,       DPL0, autogen);
+GEN(0x19, entry_0x19,       DPL0, autogen);
+GEN(0x1a, entry_0x1a,       DPL0, autogen);
+GEN(0x1b, entry_0x1b,       DPL0, autogen);
+GEN(0x1c, entry_HV,         DPL0, autogen);
+GEN(0x1d, entry_VC,         DPL0, autogen);
+GEN(0x1e, entry_SX,         DPL0, autogen);
+GEN(0x1f, entry_0x1f,       DPL0, autogen);
+
+GEN16(2);
+GEN16(3);
+GEN16(4);
+GEN16(5);
+GEN16(6);
+GEN16(7);
+
+#ifdef CONFIG_PV
+GEN(0x80, entry_int80,      DPL0, manual);
+#else
+GEN(0x80, entry_0x80,       DPL0, autogen);
+#endif
+
+GEN(0x81, entry_0x81,       DPL0, autogen);
+
+#ifdef CONFIG_PV32
+GEN(0x82, entry_int82,      DPL1, manual);
+#else
+GEN(0x82, entry_0x82,       DPL0, autogen);
+#endif
+
+GEN(0x83, entry_0x83,       DPL0, autogen);
+GEN(0x84, entry_0x84,       DPL0, autogen);
+GEN(0x85, entry_0x85,       DPL0, autogen);
+GEN(0x86, entry_0x86,       DPL0, autogen);
+GEN(0x87, entry_0x87,       DPL0, autogen);
+GEN(0x88, entry_0x88,       DPL0, autogen);
+GEN(0x89, entry_0x89,       DPL0, autogen);
+GEN(0x8a, entry_0x8a,       DPL0, autogen);
+GEN(0x8b, entry_0x8b,       DPL0, autogen);
+GEN(0x8c, entry_0x8c,       DPL0, autogen);
+GEN(0x8d, entry_0x8d,       DPL0, autogen);
+GEN(0x8e, entry_0x8e,       DPL0, autogen);
+GEN(0x8f, entry_0x8f,       DPL0, autogen);
+
+GEN16(9);
+GEN16(a);
+GEN16(b);
+GEN16(c);
+GEN16(d);
+GEN16(e);
+GEN16(f);
+
+#undef autogen
+#undef manual
+
+#undef DPL3
+#undef DPL1
+#undef DPL0
+
+#undef GEN16
diff --git a/xen/arch/x86/include/asm/gen-idt.lds.h b/xen/arch/x86/include/asm/gen-idt.lds.h
new file mode 100644
index 000000000000..a11ef7dd1c0a
--- /dev/null
+++ b/xen/arch/x86/include/asm/gen-idt.lds.h
@@ -0,0 +1,27 @@
+/*
+ * Linker file fragment to help format the IDT correctly
+ *
+ * The IDT, having grown compatibly since the 16 bit days, has the entrypoint
+ * address field split into 3.  x86 ELF lacks the @lo/@hi/etc relocation forms
+ * commonly found in other architectures for accessing a part of a resolved
+ * symbol address.
+ *
+ * However, the linker can perform the necessary calculations and provide them
+ * under new symbol names.  We use this to generate the low and next 16 bits
+ * of the address for each handler.
+ *
+ * The upper 32 bits are always a constant as Xen's .text/data/rodata sits in
+ * a single aligned 1G range, so do not need calculating in this manner.
+ */
+#ifndef X86_IDT_GEN_LDS_H
+#define X86_IDT_GEN_LDS_H
+
+#define GEN(vec, sym, dpl, auto)                                        \
+    PROVIDE_HIDDEN(IDT_ ## sym ## _ADDR1 = ABSOLUTE(((sym) & 0xffff))); \
+    PROVIDE_HIDDEN(IDT_ ## sym ## _ADDR2 = ABSOLUTE((((sym) >> 16) & 0xffff)))
+
+#include <asm/gen-idt.h>
+
+#undef GEN
+
+#endif /* X86_IDT_GEN_LDS_H */
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index ae600526cbe3..3ee28319584d 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -3,9 +3,5 @@
  * Configuration of event handling for all CPUs.
  */
 #include <asm/idt.h>
-#include <asm/page.h>
-
-idt_entry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
-    bsp_idt[X86_IDT_VECTORS];
 
 DEFINE_PER_CPU_READ_MOSTLY(idt_entry_t *, idt);
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index d866e626257b..84d0c29530bf 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -1229,6 +1229,82 @@ FUNC(trap_nop, 0)
         iretq
 END(trap_nop)
 
+/*
+ * Automatically generated entrypoints, and IDT
+ */
+
+        .pushsection .data.page_aligned, "aw", @progbits
+DATA(bsp_idt, PAGE_SIZE)
+        .popsection
+
+/*
+ * Write an IDT Entry.  The linker provides us new _ADDR1/2 symbols calculated
+ * from \sym.
+ */
+.macro write_idte sym, dpl
+        .pushsection .data.page_aligned, "aw", @progbits
+        .word IDT_\sym\()_ADDR1
+        .word __HYPERVISOR_CS
+        .word 0x8e00 | (\dpl << 13) /* Present, DPL, Interrupt Gate */
+        .word IDT_\sym\()_ADDR2
+        .long __XEN_VIRT_START >> 32
+        .long 0
+        .popsection
+.endm
+
+/*
+ * Write an automatically generated stub.  Vectors in the exception range keep
+ * the stack properly aligned by judging whether the CPU pushed an error code
+ * or not.
+ *
+ * Alignment is forced to 16 because that's the size of the interrupt stub
+ * with CET active.
+ */
+.macro gen_entry_stub vec, sym
+
+FUNC(\sym, 16)
+        ENDBR64
+
+        .if \vec < 0x20 /* Exception. */
+
+            test  $8, %spl       /* 64bit exception frames are 16 byte aligned, but the word */
+            jz    1f             /* size is 8 bytes.  Check whether the processor gave us an */
+            pushq $0             /* error code, and insert an empty one if not.              */
+1:          movb  $\vec, EFRAME_entry_vector(%rsp)
+            jmp   handle_exception
+
+        .else /* Interrupt. */
+
+            pushq $0
+            movb  $\vec, EFRAME_entry_vector(%rsp)
+            jmp   common_interrupt
+
+        .endif
+END(\sym)
+.endm
+
+/*
+ * Generator.  Write an entrypoint if necessary, and record an IDT entry.
+ */
+.macro gen vec, sym, dpl, auto
+
+        .if \auto
+            gen_entry_stub \vec, \sym
+        .endif
+
+        write_idte \sym, \dpl
+.endm
+#define GEN(v, s, d, a) gen vec=v, sym=s, dpl=d auto=a
+#include <asm/gen-idt.h>
+#undef GEN
+
+        .pushsection .data.page_aligned, "aw", @progbits
+END(bsp_idt)
+        .if . - bsp_idt != PAGE_SIZE
+            .error "Bad bsp_idt size, should be PAGE_SIZE"
+        .endif
+        .popsection
+
 /* Table of automatically generated entry points.  One per vector. */
         .pushsection .init.rodata, "a", @progbits
 DATA(autogen_entrypoints, 8)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 42217eaf2485..d4dd6434c466 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -8,6 +8,8 @@
 # define DECL_SECTION_WITH_LADDR
 #endif
 #include <xen/xen.lds.h>
+
+#include <asm/gen-idt.lds.h>
 #include <asm/page.h>
 #include <asm/trampoline.h>
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 00:04:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 00:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901603.1309577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcFs-0001QS-Tb; Wed, 05 Mar 2025 00:04:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901603.1309577; Wed, 05 Mar 2025 00:04: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 1tpcFs-0001QL-QT; Wed, 05 Mar 2025 00:04:56 +0000
Received: by outflank-mailman (input) for mailman id 901603;
 Wed, 05 Mar 2025 00:04: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpcFr-0000xS-JF
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 00:04:55 +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 76f6f4c9-f955-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 01:04:53 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43bcc85ba13so10074555e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 16:04:53 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435300esm476005e9.29.2025.03.04.16.04.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 16:04:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76f6f4c9-f955-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741133093; x=1741737893; 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=c9sXR4B00rxpeLjY91mpMAUDngW7ntyXOjzmffpsYzw=;
        b=I0UVJyXQJFP1KBct7B+ZN3hSUoFFqN9gmBWQQG5BiSJPEzCMcNX7ivYBZFMM5VjPGK
         tgKOaBKvz1zGxifJGVqHpddac/HCM/8NRDrd2qo6irOmn7jyFhlONOYdb/iIheb39bDm
         AUOcrbAHn119VReS4uuksfUNwaUCWadk3hieo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741133093; x=1741737893;
        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=c9sXR4B00rxpeLjY91mpMAUDngW7ntyXOjzmffpsYzw=;
        b=rnaMHaSf/9V9d576As1o6Hja8QjthOP0YykVMy7Tgueuhn8X+TV4GrhZJpZ4Pe/kEl
         FQxoGe9ie/kgrXl/dtWUEjs6qoub5jet5XaVpNhPZOFblymkCB2d6Z3BBUNgyH0+8m0a
         +4FZjpmQEwn6PvWLp4E2YORP4Qm+Se24XuAOXQdM+tGZZ4O6eKpCzvEgYl+GxVy8jSl/
         zKV5vTiHDV6HlY2OrejXorEHPWXuOAQIlMedSbltK0IM8/H9Qi0nTAS9m2yEuOhc1D5O
         yAvoY1CCIQ1HCH1oedGbObd7w+uUJt9bTnGnZWJEwE1lPPknrVeZqhRegh/Vbvn16HQ5
         2IXw==
X-Gm-Message-State: AOJu0Yz87yPx9VOJZkGlNTGJVWWCaiuiAeJvWBlSgUE45HqkAkLv0sQN
	VpBU13qospdDg/EPl2HWRGuO70NYEms8MvPy/l9zdB0/CltKDU6/lMg8xXIpNQKEn1XoJHb8no/
	0
X-Gm-Gg: ASbGncs7U759FXSkeZO/6/jkGJxSWN+xHUvod4+FzJqV4p/XwqXnD+vixADBWLJj+GD
	P45P3VT9dycVB7vF5tJY+x3KAvDwbUOd+AggpHGrBxhLP04qJuLud+b/VCUwbIeXCSHabDi6bDy
	ZjM9zv97O5bpCdwZIkEv4o3xM/zlPX4apgsGKSEJXFkB7grZALcfRP7CIIzD9yLbft+eZtT1B7M
	nuWq/gN5Jt1jq+C7vHMZsXBFVL9Dta70PdItcCuBCc3KR8R18JUyqbQpEQknGBXyB0rxQJgxrwP
	dL65BOtC4JcTnQEQ3q70oIPF5yCAi+NE/F6V1xsPXM00edx1WCuqclnOiBpqmGQVSKSU5ghnK+P
	/Esfm8nam2F0KHAuFlRzeKbKM
X-Google-Smtp-Source: AGHT+IHP+0uT8dgdZWC1xPVMkBTXEOsWpSy7NrucFWSAtnUNkWxStcFnToWHa9k0gv2T8km+QHaALQ==
X-Received: by 2002:a05:600c:190d:b0:43b:cf9c:6ffc with SMTP id 5b1f17b1804b1-43bd298a59emr5646735e9.12.1741133092806;
        Tue, 04 Mar 2025 16:04:52 -0800 (PST)
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 2/5] x86/IDT: Make idt_tables[] be per_cpu(idt)
Date: Wed,  5 Mar 2025 00:02:44 +0000
Message-Id: <20250305000247.2772029-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
References: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This can be a plain per_cpu() variable, and __read_mostly seeing as it's
allocated once and never touched again.

This removes a NR_CPU's sized structure, and improves NUMA locality of access
for both the the VT-x and SVM context switch paths.

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/cpu/common.c      |  5 +++--
 xen/arch/x86/crash.c           |  8 ++++----
 xen/arch/x86/domain.c          |  2 +-
 xen/arch/x86/hvm/svm/svm.c     |  4 ++--
 xen/arch/x86/hvm/vmx/vmcs.c    |  2 +-
 xen/arch/x86/include/asm/idt.h |  3 ++-
 xen/arch/x86/machine_kexec.c   |  7 +++++--
 xen/arch/x86/smpboot.c         | 14 +++++++-------
 xen/arch/x86/traps-setup.c     |  2 ++
 xen/arch/x86/traps.c           |  5 +----
 10 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index e8b355ebcf36..e8d4ca3203be 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -819,6 +819,7 @@ void load_system_tables(void)
 	 * support using ARRAY_SIZE against per-cpu variables.
 	 */
 	struct tss_page *tss_page = &this_cpu(tss_page);
+	idt_entry_t *idt = this_cpu(idt);
 
 	/* The TSS may be live.	 Disuade any clever optimisations. */
 	volatile struct tss64 *tss = &tss_page->tss;
@@ -830,7 +831,7 @@ void load_system_tables(void)
 		.limit = LAST_RESERVED_GDT_BYTE,
 	};
 	const struct desc_ptr idtr = {
-		.base = (unsigned long)idt_tables[cpu],
+		.base = (unsigned long)idt,
 		.limit = sizeof(bsp_idt) - 1,
 	};
 
@@ -914,7 +915,7 @@ void load_system_tables(void)
 	ltr(TSS_SELECTOR);
 	lldt(0);
 
-	enable_each_ist(idt_tables[cpu]);
+	enable_each_ist(idt);
 
 	/*
 	 * Bottom-of-stack must be 16-byte aligned!
diff --git a/xen/arch/x86/crash.c b/xen/arch/x86/crash.c
index 5f7d7b392a1f..1e4b0eeff21b 100644
--- a/xen/arch/x86/crash.c
+++ b/xen/arch/x86/crash.c
@@ -63,7 +63,7 @@ static int noreturn cf_check do_nmi_crash(
          * This update is safe from a security point of view, as this
          * pcpu is never going to try to sysret back to a PV vcpu.
          */
-        set_ist(&idt_tables[cpu][X86_EXC_MC], IST_NONE);
+        set_ist(&per_cpu(idt, cpu)[X86_EXC_MC], IST_NONE);
 
         kexec_crash_save_cpu();
         __stop_this_cpu();
@@ -120,6 +120,7 @@ static void nmi_shootdown_cpus(void)
 {
     unsigned long msecs;
     unsigned int cpu = smp_processor_id();
+    idt_entry_t *idt = this_cpu(idt);
 
     disable_lapic_nmi_watchdog();
     local_irq_disable();
@@ -133,9 +134,8 @@ static void nmi_shootdown_cpus(void)
      * Disable IST for MCEs to avoid stack corruption race conditions, and
      * change the NMI handler to a nop to avoid deviation from this codepath.
      */
-    _set_gate_lower(&idt_tables[cpu][X86_EXC_NMI],
-                    SYS_DESC_irq_gate, 0, &trap_nop);
-    set_ist(&idt_tables[cpu][X86_EXC_MC], IST_NONE);
+    _set_gate_lower(&idt[X86_EXC_NMI], SYS_DESC_irq_gate, 0, &trap_nop);
+    set_ist(&idt[X86_EXC_MC], IST_NONE);
 
     set_nmi_callback(do_nmi_crash);
     smp_send_nmi_allbutself();
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index d3db76833f3c..a42fa5480593 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -116,7 +116,7 @@ void play_dead(void)
     local_irq_disable();
 
     /* Change the NMI handler to a nop (see comment below). */
-    _set_gate_lower(&idt_tables[cpu][X86_EXC_NMI], SYS_DESC_irq_gate, 0,
+    _set_gate_lower(&this_cpu(idt)[X86_EXC_NMI], SYS_DESC_irq_gate, 0,
                     &trap_nop);
 
     /*
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index ea78da4f4210..4eac89964f61 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -915,7 +915,7 @@ static void cf_check svm_ctxt_switch_from(struct vcpu *v)
     svm_vmload_pa(per_cpu(host_vmcb, cpu));
 
     /* Resume use of ISTs now that the host TR is reinstated. */
-    enable_each_ist(idt_tables[cpu]);
+    enable_each_ist(per_cpu(idt, cpu));
 
     /*
      * Possibly clear previous guest selection of SSBD if set.  Note that
@@ -944,7 +944,7 @@ static void cf_check svm_ctxt_switch_to(struct vcpu *v)
      * Cannot use ISTs for NMI/#MC/#DF while we are running with the guest TR.
      * But this doesn't matter: the IST is only req'd to handle SYSCALL/SYSRET.
      */
-    disable_each_ist(idt_tables[cpu]);
+    disable_each_ist(per_cpu(idt, cpu));
 
     svm_restore_dr(v);
 
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 20ab2d0f266f..e47a6e1542b7 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -917,7 +917,7 @@ static void vmx_set_host_env(struct vcpu *v)
 
     __vmwrite(HOST_GDTR_BASE,
               (unsigned long)(this_cpu(gdt) - FIRST_RESERVED_GDT_ENTRY));
-    __vmwrite(HOST_IDTR_BASE, (unsigned long)idt_tables[cpu]);
+    __vmwrite(HOST_IDTR_BASE, (unsigned long)per_cpu(idt, cpu));
 
     __vmwrite(HOST_TR_BASE, (unsigned long)&per_cpu(tss_page, cpu).tss);
 
diff --git a/xen/arch/x86/include/asm/idt.h b/xen/arch/x86/include/asm/idt.h
index f00368f28c86..d795798d3eca 100644
--- a/xen/arch/x86/include/asm/idt.h
+++ b/xen/arch/x86/include/asm/idt.h
@@ -3,6 +3,7 @@
 #define X86_ASM_IDT_H
 
 #include <xen/bug.h>
+#include <xen/percpu.h>
 
 #include <asm/x86-defns.h>
 
@@ -29,7 +30,7 @@ typedef union {
 } idt_entry_t;
 
 extern idt_entry_t bsp_idt[X86_IDT_VECTORS];
-extern idt_entry_t *idt_tables[];
+DECLARE_PER_CPU(idt_entry_t *, idt);
 
 /*
  * Set the Interrupt Stack Table used by a particular IDT entry.  Typically
diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c
index f775e526d59b..35fa5c82e9c2 100644
--- a/xen/arch/x86/machine_kexec.c
+++ b/xen/arch/x86/machine_kexec.c
@@ -170,9 +170,12 @@ void machine_kexec(struct kexec_image *image)
      */
     for ( i = 0; i < nr_cpu_ids; i++ )
     {
-        if ( idt_tables[i] == NULL )
+        idt_entry_t *idt = per_cpu(idt, i);
+
+        if ( !idt )
             continue;
-        _update_gate_addr_lower(&idt_tables[i][X86_EXC_MC], &trap_nop);
+
+        _update_gate_addr_lower(&idt[X86_EXC_MC], &trap_nop);
     }
 
     /* Reset CPUID masking and faulting to the host's default. */
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index dc65f9e45269..4e9f9ac4b2ee 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -863,7 +863,7 @@ int setup_cpu_root_pgt(unsigned int cpu)
         rc = clone_mapping(__va(__pa(stack_base[cpu])) + off, rpt);
 
     if ( !rc )
-        rc = clone_mapping(idt_tables[cpu], rpt);
+        rc = clone_mapping(per_cpu(idt, cpu), rpt);
     if ( !rc )
     {
         struct tss_page *ptr = &per_cpu(tss_page, cpu);
@@ -1009,7 +1009,7 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     if ( remove )
     {
         FREE_XENHEAP_PAGE(per_cpu(gdt, cpu));
-        FREE_XENHEAP_PAGE(idt_tables[cpu]);
+        FREE_XENHEAP_PAGE(per_cpu(idt, cpu));
 
         if ( stack_base[cpu] )
         {
@@ -1076,12 +1076,12 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     gdt[PER_CPU_GDT_ENTRY - FIRST_RESERVED_GDT_ENTRY].a = cpu;
 #endif
 
-    if ( idt_tables[cpu] == NULL )
-        idt_tables[cpu] = alloc_xenheap_pages(0, memflags);
-    if ( idt_tables[cpu] == NULL )
+    if ( per_cpu(idt, cpu) == NULL )
+        per_cpu(idt, cpu) = alloc_xenheap_pages(0, memflags);
+    if ( per_cpu(idt, cpu) == NULL )
         goto out;
-    memcpy(idt_tables[cpu], bsp_idt, sizeof(bsp_idt));
-    disable_each_ist(idt_tables[cpu]);
+    memcpy(per_cpu(idt, cpu), bsp_idt, sizeof(bsp_idt));
+    disable_each_ist(per_cpu(idt, cpu));
 
     for ( stub_page = 0, i = cpu & ~(STUBS_PER_PAGE - 1);
           i < nr_cpu_ids && i <= (cpu | (STUBS_PER_PAGE - 1)); ++i )
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index b172ea933607..ae600526cbe3 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -7,3 +7,5 @@
 
 idt_entry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
     bsp_idt[X86_IDT_VECTORS];
+
+DEFINE_PER_CPU_READ_MOSTLY(idt_entry_t *, idt);
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 7a68996b02f7..d52840848d30 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -98,9 +98,6 @@ DEFINE_PER_CPU_READ_MOSTLY(seg_desc_t *, compat_gdt);
 DEFINE_PER_CPU_READ_MOSTLY(l1_pgentry_t, compat_gdt_l1e);
 #endif
 
-/* Pointer to the IDT of every CPU. */
-idt_entry_t *idt_tables[NR_CPUS] __read_mostly;
-
 /*
  * The TSS is smaller than a page, but we give it a full page to avoid
  * adjacent per-cpu data leaking via Meltdown when XPTI is in use.
@@ -1939,7 +1936,7 @@ void __init init_idt_traps(void)
     enable_each_ist(bsp_idt);
 
     /* CPU0 uses the master IDT. */
-    idt_tables[0] = bsp_idt;
+    this_cpu(idt) = bsp_idt;
 
     this_cpu(gdt) = boot_gdt;
     if ( IS_ENABLED(CONFIG_PV32) )
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 00:04:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 00:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901602.1309563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcFq-00010w-Nt; Wed, 05 Mar 2025 00:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901602.1309563; Wed, 05 Mar 2025 00:04: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 1tpcFq-00010l-IN; Wed, 05 Mar 2025 00:04:54 +0000
Received: by outflank-mailman (input) for mailman id 901602;
 Wed, 05 Mar 2025 00:04: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpcFp-0000xY-Rm
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 00:04:53 +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 75b76109-f955-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 01:04:51 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-438a39e659cso42237735e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 16:04:51 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435300esm476005e9.29.2025.03.04.16.04.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 16:04:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75b76109-f955-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741133091; x=1741737891; 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=20uF2Iga/fxD6mPTxR1JHcaCmNNH+v7vkrBaBajttPg=;
        b=d37h7XmYyrsLv2HaohzsxGQFDI+WGuE9Bzu/Wx6Yz52RV4U8j0syrLGoqIQK4HOZjN
         d/tet4HyxOfZc+jzqJ1+Ec5UkdKLMy6uO2RTG7Rq2UNo0/rQFaBGCBP5QRrkqogtpWmV
         LLO1JyCJBDeik5bGcFmUKlz+GI07dukqB2Wuw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741133091; x=1741737891;
        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=20uF2Iga/fxD6mPTxR1JHcaCmNNH+v7vkrBaBajttPg=;
        b=JcZIIb3kOaDKL/C+5GIWR2nW/an9fowxTlkce16iDye9BzYQg8SVmKz6kF2DMa7fRO
         qgJ8TRNClQVh/AsLruGvn7aZesKWNS+eTF+6lkKXHi0M/rFUfNIQGg7bvUiR+VnnEAtf
         hB4P7DTTE+0pr0B+E8VfGkJDCT7D2ze9l9ZS95ELFkJn+MTSiVU00kyQw9aIRB+vfGOD
         FvauVU36/oIe0JshyaBTXLTjknErCpoKuIJgVUg70pOIHhOQr7zs+QzHvSq8XSheucp4
         qvn6BrEzNjptnNJTJdU9D5NyOxQYy/r9dat+ktmvL2sGmeV/VPQn+0l4DtJdl417ix40
         o+wA==
X-Gm-Message-State: AOJu0YyvPxC2hf8Vro0Mb4ZzyFOodAhUizaYIUL44PEVAcXBHjMYHrY3
	jIpAD9URiobEk1EEhten6ebl8QRg+WTtsn5NadRjXWAOCUWa9iq3bjN/qNMp+2kwIFaa7XDTXz/
	Z
X-Gm-Gg: ASbGncsPITbFyYIfEtKnC33/LBa89mo1UyjyPD1wc2ebXlHc8k4RE7dVS+lsNYhYwlC
	fLl1pzsdHkl3tkH3XEKgybIynWgnG8Fu2ZKjSyHENP+h0tQjPCzC6faTKb+yTwSNZfQ9JLwT9Fn
	+EvYzTHZHBM1DshPPAHkZgEbNSV2omv5bhea7oRhpwXbYFxtkDR1fbCBOLadLR8YGuDNpwQxuwK
	ue1tRjA53IlwhXZESUuju9MjzKsHoGUV5UrQsNzt3nhZxpPXTBPUecExfQo1vcSMLefnw04rXn7
	rm5Cy//RRV2vj2Lj9WtN9gGeEdfQw/9BcsBj+N4/rlraR0ifZAwUazZwQACiCZBLkKm5xD7hqFK
	7SsQ3KTFtecNyV8jclYA/vybS
X-Google-Smtp-Source: AGHT+IGUTZPbGF+4RiCdeYQfJRTkIo15iueUl4yKPiI2Yc9GORUmJjisXv3iq0zZ5lepAaUgJ+/8tg==
X-Received: by 2002:a05:600c:4e8b:b0:43b:d0fe:b8be with SMTP id 5b1f17b1804b1-43bd29d8d45mr5900275e9.30.1741133090845;
        Tue, 04 Mar 2025 16:04:50 -0800 (PST)
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 1/5] x86/IDT: Rename idt_table[] to bsp_idt[]
Date: Wed,  5 Mar 2025 00:02:43 +0000
Message-Id: <20250305000247.2772029-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
References: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having variables named idt_table[] and idt_tables[] is not ideal.

Use X86_IDT_VECTORS and remove IDT_ENTRIES.  State the size of bsp_idt[] in
idt.h so that load_system_tables() and cpu_smpboot_alloc() can use sizeof()
rather than opencoding the calculation.

Move the variable into a new traps-setup.c, to make a start at splitting
traps.c in half.

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>

v2:
 * Rename traps-init.c to traps-setup.c
---
 xen/arch/x86/Makefile          |  1 +
 xen/arch/x86/cpu/common.c      |  2 +-
 xen/arch/x86/include/asm/idt.h |  3 +--
 xen/arch/x86/pv/traps.c        |  4 ++--
 xen/arch/x86/smpboot.c         |  2 +-
 xen/arch/x86/traps-setup.c     |  9 +++++++++
 xen/arch/x86/traps.c           | 14 +++++---------
 7 files changed, 20 insertions(+), 15 deletions(-)
 create mode 100644 xen/arch/x86/traps-setup.c

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index b35fd5196ce2..c763f80b0b22 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -65,6 +65,7 @@ obj-y += spec_ctrl.o
 obj-y += srat.o
 obj-y += string.o
 obj-y += time.o
+obj-y += traps-setup.o
 obj-y += traps.o
 obj-$(CONFIG_INTEL) += tsx.o
 obj-y += usercopy.o
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 1540ab0007a0..e8b355ebcf36 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -831,7 +831,7 @@ void load_system_tables(void)
 	};
 	const struct desc_ptr idtr = {
 		.base = (unsigned long)idt_tables[cpu],
-		.limit = (IDT_ENTRIES * sizeof(idt_entry_t)) - 1,
+		.limit = sizeof(bsp_idt) - 1,
 	};
 
 	/*
diff --git a/xen/arch/x86/include/asm/idt.h b/xen/arch/x86/include/asm/idt.h
index 3689fdecbec3..f00368f28c86 100644
--- a/xen/arch/x86/include/asm/idt.h
+++ b/xen/arch/x86/include/asm/idt.h
@@ -28,8 +28,7 @@ typedef union {
     };
 } idt_entry_t;
 
-#define IDT_ENTRIES 256
-extern idt_entry_t idt_table[];
+extern idt_entry_t bsp_idt[X86_IDT_VECTORS];
 extern idt_entry_t *idt_tables[];
 
 /*
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 77b034e4dc73..4aeb6cab5238 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -148,12 +148,12 @@ void __init pv_trap_init(void)
 {
 #ifdef CONFIG_PV32
     /* The 32-on-64 hypercall vector is only accessible from ring 1. */
-    _set_gate(idt_table + HYPERCALL_VECTOR,
+    _set_gate(bsp_idt + HYPERCALL_VECTOR,
               SYS_DESC_irq_gate, 1, entry_int82);
 #endif
 
     /* Fast trap for int80 (faster than taking the #GP-fixup path). */
-    _set_gate(idt_table + LEGACY_SYSCALL_VECTOR, SYS_DESC_irq_gate, 3,
+    _set_gate(bsp_idt + LEGACY_SYSCALL_VECTOR, SYS_DESC_irq_gate, 3,
               &entry_int80);
 
     open_softirq(NMI_SOFTIRQ, nmi_softirq);
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index f3d60d5bae35..dc65f9e45269 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1080,7 +1080,7 @@ static int cpu_smpboot_alloc(unsigned int cpu)
         idt_tables[cpu] = alloc_xenheap_pages(0, memflags);
     if ( idt_tables[cpu] == NULL )
         goto out;
-    memcpy(idt_tables[cpu], idt_table, IDT_ENTRIES * sizeof(idt_entry_t));
+    memcpy(idt_tables[cpu], bsp_idt, sizeof(bsp_idt));
     disable_each_ist(idt_tables[cpu]);
 
     for ( stub_page = 0, i = cpu & ~(STUBS_PER_PAGE - 1);
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
new file mode 100644
index 000000000000..b172ea933607
--- /dev/null
+++ b/xen/arch/x86/traps-setup.c
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Configuration of event handling for all CPUs.
+ */
+#include <asm/idt.h>
+#include <asm/page.h>
+
+idt_entry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+    bsp_idt[X86_IDT_VECTORS];
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 4d1aaa78e711..7a68996b02f7 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -98,10 +98,6 @@ DEFINE_PER_CPU_READ_MOSTLY(seg_desc_t *, compat_gdt);
 DEFINE_PER_CPU_READ_MOSTLY(l1_pgentry_t, compat_gdt_l1e);
 #endif
 
-/* Master table, used by CPU0. */
-idt_entry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
-    idt_table[IDT_ENTRIES];
-
 /* Pointer to the IDT of every CPU. */
 idt_entry_t *idt_tables[NR_CPUS] __read_mostly;
 
@@ -1874,7 +1870,7 @@ void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
 static void __init noinline __set_intr_gate(unsigned int n,
                                             uint32_t dpl, void *addr)
 {
-    _set_gate(&idt_table[n], SYS_DESC_irq_gate, dpl, addr);
+    _set_gate(&bsp_idt[n], SYS_DESC_irq_gate, dpl, addr);
 }
 
 static void __init set_swint_gate(unsigned int n, void *addr)
@@ -1940,10 +1936,10 @@ void __init init_idt_traps(void)
     set_intr_gate (X86_EXC_CP,  entry_CP);
 
     /* Specify dedicated interrupt stacks for NMI, #DF, and #MC. */
-    enable_each_ist(idt_table);
+    enable_each_ist(bsp_idt);
 
     /* CPU0 uses the master IDT. */
-    idt_tables[0] = idt_table;
+    idt_tables[0] = bsp_idt;
 
     this_cpu(gdt) = boot_gdt;
     if ( IS_ENABLED(CONFIG_PV32) )
@@ -2001,13 +1997,13 @@ void __init trap_init(void)
         if ( autogen_entrypoints[vector] )
         {
             /* Found autogen entry: check we won't clobber an existing trap. */
-            ASSERT(idt_table[vector].b == 0);
+            ASSERT(bsp_idt[vector].b == 0);
             set_intr_gate(vector, autogen_entrypoints[vector]);
         }
         else
         {
             /* No entry point: confirm we have an existing trap in place. */
-            ASSERT(idt_table[vector].b != 0);
+            ASSERT(bsp_idt[vector].b != 0);
         }
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 00:05:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 00:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901605.1309597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcFw-0001xf-Gk; Wed, 05 Mar 2025 00:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901605.1309597; Wed, 05 Mar 2025 00:05: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 1tpcFw-0001xU-Du; Wed, 05 Mar 2025 00:05:00 +0000
Received: by outflank-mailman (input) for mailman id 901605;
 Wed, 05 Mar 2025 00:04: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpcFv-0000xS-0q
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 00:04: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 7912729a-f955-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 01:04:57 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bcf9612f4so6506445e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 16:04:57 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435300esm476005e9.29.2025.03.04.16.04.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 16:04:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7912729a-f955-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741133096; x=1741737896; 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=dM4r6wNUx/Klr24NaqonEE1UAEJ3OJfXBPkJkMHiYvc=;
        b=gWZIiAHTuK3f2uRRL8FhOOQ2s7hb4i64yquXT0TgVh+ixGFKf/gJC1hRA1Ltdmaf0Y
         AJ0lg4YF5iavZrZlnrfVVXQxOwB0zeclk1YdGywf1daRnGw36YvHcioP4cVEM52m3W1y
         aFWrdXOqgd71bIP0WKmEHoHP4f6dLB0/mCjco=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741133096; x=1741737896;
        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=dM4r6wNUx/Klr24NaqonEE1UAEJ3OJfXBPkJkMHiYvc=;
        b=Jv9jelucaKyKq+dKfUDd/9A40KX4sZfILmLA0SHApz0Z450pObiIE+i0lAodVKm27y
         N2VqlueVtc6hiBHZXmw4DkUiOzoMUlvStYbIu6Y6eWJjJNXX+KBX4gyaxswiyrjXn0vj
         ZK2vcO0GYXlkEml5vHHdMcwQFKB9ru6cbwnYzFwtQK75rJgVUNCXPYcFgcpXS0AVOiSp
         bf9SK/0NgY6wq4R8RRaPocIXq5VOJwiGiY7wW2CyKScdR5TyJeQmJFTrOo7MNdq7Wz1z
         6hHeK+u/67JT6j3NPBfMg2zw+rWh3SvsMJg/Z09iVlO/RVgMCI1hC6/duHt22E2FdxOc
         imVA==
X-Gm-Message-State: AOJu0YyHssqgqlEwq4Xovxa4/628Z6ZKoB1xH84nodmvEao8AyvIirSl
	2bzke4g3GLPMi5Y+etne9B7F8PZuEpUznhA61rGJd9h1pMSKce2zS6uYFHctJCMk6PAlaPLdrhz
	/
X-Gm-Gg: ASbGncvppnK+WwcZZNZHo6zaRjVoEf0t+MJ4EycgTaQlCsIM8bUxz7LiH/1HMs/R97E
	1cWAPU2YSzOL4FzjGq5Sv56ej0tB449jeFdeL+ozDqcJlem7zaJj9MDMQPOSpX4aVbYMfYZu2nz
	NA/JCF5MWeX2jBrTnHzT6yniQPLV5FWAY2VWsI/teYEMhBT+WQjoxx8GqpxjOndi5v7wRU4X3Rb
	ExiLyOxCIkXKJ3I/MzQy32U6vbOEF9sq1cHr3yqu2J+FBbw1xDme1MbHEPMQs+yNDleaXpXeyN7
	o2vIq5gyh9Ns1HWd3EqPkF+Ev2GgAeowbtbXZJKxUj7zRGVfbon2aLCtsFavJ4SX1JTwuZmZilx
	5zxThnUkNZ++C+Pol2RFOhgdn
X-Google-Smtp-Source: AGHT+IFjFo4O0t42lwijHbZ+hfTi0MwgYOUX5AK7+LHUgul7hN80H53Rb6wzJyleFmF6smxBCOZUJQ==
X-Received: by 2002:a05:600c:1c85:b0:439:94ef:3780 with SMTP id 5b1f17b1804b1-43bd2aec27emr5466205e9.30.1741133096210;
        Tue, 04 Mar 2025 16:04:56 -0800 (PST)
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 4/5] x86/IDT: Don't rewrite bsp_idt[] at boot time
Date: Wed,  5 Mar 2025 00:02:46 +0000
Message-Id: <20250305000247.2772029-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
References: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Now that bsp_idt[] is constructed at build time, we do not need to manually
initialise it in init_idt_traps() and trap_init().

When swapping the early pagefault handler for the normal one, switch to using
_update_gate_addr_lower() as we do on the kexec path for NMI and #MC.

This in turn allows us to drop set_{intr,swint}_gate() and the underlying
infrastructure.  It also lets us drop autogen_entrypoints[] and that
underlying infrastructure.

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:
 * Adjust the commit message to not give the impression that there's only a
   single edit on boot.

Bloat-o-meter reports:

  add/remove: 0/3 grow/shrink: 1/2 up/down: 9/-6482 (-6473)
  Function                                     old     new   delta
  trap_init                                    425     434      +9
  __set_intr_gate                               84       -     -84
  pv_trap_init                                 163      17    -146
  init_idt_traps                               469     105    -364
  autogen_entrypoints                         2048       -   -2048
  autogen_stubs                               3840       -   -3840

The 3840 for autogen_stubs isn't really a saving here; it was introduced under
different names in the prior patch.  We do safe 2k on autogen_entrypoints by
having the linker complete the work at build time.
---
 xen/arch/x86/include/asm/idt.h | 16 -------
 xen/arch/x86/pv/traps.c        | 13 ------
 xen/arch/x86/traps.c           | 76 +---------------------------------
 xen/arch/x86/x86_64/entry.S    | 60 ---------------------------
 4 files changed, 1 insertion(+), 164 deletions(-)

diff --git a/xen/arch/x86/include/asm/idt.h b/xen/arch/x86/include/asm/idt.h
index d795798d3eca..f613d5693e0e 100644
--- a/xen/arch/x86/include/asm/idt.h
+++ b/xen/arch/x86/include/asm/idt.h
@@ -60,22 +60,6 @@ static inline void disable_each_ist(idt_entry_t *idt)
     set_ist(&idt[X86_EXC_DB],  IST_NONE);
 }
 
-#define _set_gate(gate_addr,type,dpl,addr)               \
-do {                                                     \
-    (gate_addr)->a = 0;                                  \
-    smp_wmb(); /* disable gate /then/ rewrite */         \
-    (gate_addr)->b =                                     \
-        ((unsigned long)(addr) >> 32);                   \
-    smp_wmb(); /* rewrite /then/ enable gate */          \
-    (gate_addr)->a =                                     \
-        (((unsigned long)(addr) & 0xFFFF0000UL) << 32) | \
-        ((unsigned long)(dpl) << 45) |                   \
-        ((unsigned long)(type) << 40) |                  \
-        ((unsigned long)(addr) & 0xFFFFUL) |             \
-        ((unsigned long)__HYPERVISOR_CS << 16) |         \
-        (1UL << 47);                                     \
-} while (0)
-
 /*
  * Write the lower 64 bits of an IDT Entry. This relies on the upper 32
  * bits of the address not changing, which is a safe assumption as all
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 4aeb6cab5238..932800555bca 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -141,21 +141,8 @@ static void cf_check nmi_softirq(void)
     *v_ptr = NULL;
 }
 
-void nocall entry_int80(void);
-void nocall entry_int82(void);
-
 void __init pv_trap_init(void)
 {
-#ifdef CONFIG_PV32
-    /* The 32-on-64 hypercall vector is only accessible from ring 1. */
-    _set_gate(bsp_idt + HYPERCALL_VECTOR,
-              SYS_DESC_irq_gate, 1, entry_int82);
-#endif
-
-    /* Fast trap for int80 (faster than taking the #GP-fixup path). */
-    _set_gate(bsp_idt + LEGACY_SYSCALL_VECTOR, SYS_DESC_irq_gate, 3,
-              &entry_int80);
-
     open_softirq(NMI_SOFTIRQ, nmi_softirq);
 }
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index d52840848d30..7698fa580ef7 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1864,22 +1864,6 @@ void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
     panic("CONTROL-FLOW PROTECTION FAULT: #CP[%04x] %s\n", ec, err);
 }
 
-static void __init noinline __set_intr_gate(unsigned int n,
-                                            uint32_t dpl, void *addr)
-{
-    _set_gate(&bsp_idt[n], SYS_DESC_irq_gate, dpl, addr);
-}
-
-static void __init set_swint_gate(unsigned int n, void *addr)
-{
-    __set_intr_gate(n, 3, addr);
-}
-
-static void __init set_intr_gate(unsigned int n, void *addr)
-{
-    __set_intr_gate(n, 0, addr);
-}
-
 void percpu_traps_init(void)
 {
     subarch_percpu_traps_init();
@@ -1888,50 +1872,10 @@ void percpu_traps_init(void)
         wrmsrl(MSR_IA32_DEBUGCTLMSR, IA32_DEBUGCTLMSR_LBR);
 }
 
-/* Exception entries */
-void nocall entry_DE(void);
-void nocall entry_DB(void);
-void nocall entry_NMI(void);
-void nocall entry_BP(void);
-void nocall entry_OF(void);
-void nocall entry_BR(void);
-void nocall entry_UD(void);
-void nocall entry_NM(void);
-void nocall entry_DF(void);
-void nocall entry_TS(void);
-void nocall entry_NP(void);
-void nocall entry_SS(void);
-void nocall entry_GP(void);
-void nocall early_page_fault(void);
 void nocall entry_PF(void);
-void nocall entry_MF(void);
-void nocall entry_AC(void);
-void nocall entry_MC(void);
-void nocall entry_XM(void);
-void nocall entry_CP(void);
 
 void __init init_idt_traps(void)
 {
-    set_intr_gate (X86_EXC_DE,  entry_DE);
-    set_intr_gate (X86_EXC_DB,  entry_DB);
-    set_intr_gate (X86_EXC_NMI, entry_NMI);
-    set_swint_gate(X86_EXC_BP,  entry_BP);
-    set_swint_gate(X86_EXC_OF,  entry_OF);
-    set_intr_gate (X86_EXC_BR,  entry_BR);
-    set_intr_gate (X86_EXC_UD,  entry_UD);
-    set_intr_gate (X86_EXC_NM,  entry_NM);
-    set_intr_gate (X86_EXC_DF,  entry_DF);
-    set_intr_gate (X86_EXC_TS,  entry_TS);
-    set_intr_gate (X86_EXC_NP,  entry_NP);
-    set_intr_gate (X86_EXC_SS,  entry_SS);
-    set_intr_gate (X86_EXC_GP,  entry_GP);
-    set_intr_gate (X86_EXC_PF,  early_page_fault);
-    set_intr_gate (X86_EXC_MF,  entry_MF);
-    set_intr_gate (X86_EXC_AC,  entry_AC);
-    set_intr_gate (X86_EXC_MC,  entry_MC);
-    set_intr_gate (X86_EXC_XM,  entry_XM);
-    set_intr_gate (X86_EXC_CP,  entry_CP);
-
     /* Specify dedicated interrupt stacks for NMI, #DF, and #MC. */
     enable_each_ist(bsp_idt);
 
@@ -1979,31 +1923,13 @@ static void __init init_ler(void)
     setup_force_cpu_cap(X86_FEATURE_XEN_LBR);
 }
 
-extern void (*const autogen_entrypoints[X86_IDT_VECTORS])(void);
 void __init trap_init(void)
 {
-    unsigned int vector;
-
     /* Replace early pagefault with real pagefault handler. */
-    set_intr_gate(X86_EXC_PF, entry_PF);
+    _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
 
     pv_trap_init();
 
-    for ( vector = 0; vector < X86_IDT_VECTORS; ++vector )
-    {
-        if ( autogen_entrypoints[vector] )
-        {
-            /* Found autogen entry: check we won't clobber an existing trap. */
-            ASSERT(bsp_idt[vector].b == 0);
-            set_intr_gate(vector, autogen_entrypoints[vector]);
-        }
-        else
-        {
-            /* No entry point: confirm we have an existing trap in place. */
-            ASSERT(bsp_idt[vector].b != 0);
-        }
-    }
-
     init_ler();
 
     /* Cache {,compat_}gdt_l1e now that physically relocation is done. */
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 84d0c29530bf..d81a626d1667 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -1304,63 +1304,3 @@ END(bsp_idt)
             .error "Bad bsp_idt size, should be PAGE_SIZE"
         .endif
         .popsection
-
-/* Table of automatically generated entry points.  One per vector. */
-        .pushsection .init.rodata, "a", @progbits
-DATA(autogen_entrypoints, 8)
-        /* pop into the .init.rodata section and record an entry point. */
-        .macro entrypoint ent
-        .pushsection .init.rodata, "a", @progbits
-        .quad \ent
-        .popsection
-        .endm
-
-        .popsection
-FUNC_LOCAL(autogen_stubs, 0) /* Automatically generated stubs. */
-
-        vec = 0
-        .rept X86_IDT_VECTORS
-
-        /* Common interrupts, heading towards do_IRQ(). */
-#if defined(CONFIG_PV32)
-        .if vec >= FIRST_IRQ_VECTOR && vec != HYPERCALL_VECTOR && vec != LEGACY_SYSCALL_VECTOR
-#elif defined(CONFIG_PV)
-        .if vec >= FIRST_IRQ_VECTOR && vec != LEGACY_SYSCALL_VECTOR
-#else
-        .if vec >= FIRST_IRQ_VECTOR
-#endif
-
-        .align CONFIG_FUNCTION_ALIGNMENT, CODE_FILL
-1:
-        ENDBR64
-        pushq $0
-        movb  $vec, EFRAME_entry_vector(%rsp)
-        jmp   common_interrupt
-
-        entrypoint 1b
-
-        /* Reserved exceptions, heading towards do_unhandled_trap(). */
-        .elseif vec == X86_EXC_CSO || vec == X86_EXC_SPV || \
-                vec == X86_EXC_VE  || (vec > X86_EXC_CP && vec < X86_EXC_NUM)
-
-1:
-        ENDBR64
-        test  $8,%spl        /* 64bit exception frames are 16 byte aligned, but the word */
-        jz    2f             /* size is 8 bytes.  Check whether the processor gave us an */
-        pushq $0             /* error code, and insert an empty one if not.              */
-2:      movb  $vec, EFRAME_entry_vector(%rsp)
-        jmp   handle_exception
-
-        entrypoint 1b
-
-        /* Hand crafted entry points above. */
-        .else
-        entrypoint 0
-        .endif
-
-        vec = vec + 1
-        .endr
-END(autogen_stubs)
-
-        .section .init.rodata, "a", @progbits
-END(autogen_entrypoints)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 00:05:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 00:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901607.1309603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcFw-00020v-Ts; Wed, 05 Mar 2025 00:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901607.1309603; Wed, 05 Mar 2025 00:05: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 1tpcFw-0001zx-MZ; Wed, 05 Mar 2025 00:05:00 +0000
Received: by outflank-mailman (input) for mailman id 901607;
 Wed, 05 Mar 2025 00:05: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpcFw-0000xS-16
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 00:05:00 +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 7959ad19-f955-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 01:04:57 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43995b907cfso40095025e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 16:04:57 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435300esm476005e9.29.2025.03.04.16.04.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 04 Mar 2025 16:04:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7959ad19-f955-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741133097; x=1741737897; 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=fggL8gjJQh3WZv8LFKJP+En/Pq4iqlskBDNzkNbL1nY=;
        b=uFQTdDyFPKtk5sLIN50NLkTPhoASoR+pZNMOJDBQCuYMydXwoAKk0MepFLPLduc0fV
         LkLCBBuQ/dOFr8SfB9JmZdWmt6Fl24LiL5Xyu+J7OcNCndegGvyP/UWBcgAf52sfw2Zi
         L8MvG1UfCry9ZrChVKQVW9UD4zvfQIWC/svOo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741133097; x=1741737897;
        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=fggL8gjJQh3WZv8LFKJP+En/Pq4iqlskBDNzkNbL1nY=;
        b=FOVcuxSWrx8E6tejhADpDZaqQ5saf3LWb2EYINg61d7S1uaHPSp2pPnH/5yFVp5ydr
         eI/07yeKfLkURTTLSaPxl780V+ljEGWJ4YHYbebm+zcecyT46ygBM04h9KzjwUiZ2GlU
         CxPH9Sb4vYRpHmDR/M5CVcz4CwB+zLSzyzbxLRiQKbkIEWJ8SY7yEt97Si99j9sg/+1I
         L/TZI9VNgAT885UhDqAbIXFyJiitm3AD91yZSTgyFxQyiVjYfK6n5Su8BuqKf4dywc4o
         pR0uagp/wJBmeM1RolSYvMBY662Ha0hi98GkK3lzJow2F89f88H3PNDG3iOMZ0Yds/+F
         wLbg==
X-Gm-Message-State: AOJu0YxxKgfHcB4QRUTh/wMcWb2834jzNuBjzJgtsuKGUI315yTdobWa
	HS4qTSDNaHPEqE2z8JXXIohaJKF9dgPDUwEftH1fSQu9YmY6+POdUJ54xWwdh4zPYNAAvQi9Bso
	E
X-Gm-Gg: ASbGnctZFgmm+Jum7FYx91gaUjqY3P35JIIO/VfhOrB6j8fCxL70DBUhKD9qrvLqK4c
	NDIonrknX3bJASZdI3eQ+dngvZUMTegPvLnticP1ZDOQvpt24Tw7ChXIapklZFgn/bpkNQPweJX
	wHhmwUpy3pstbjxtzPrQyO5NduUH5JZyCuYOvjJTppcvtj+lCQ9tcUWKg7F98XZlj21Hk4LfzeH
	0Er0C4Act80qqlkFBViHBfxix4rMmrYI3sJgC1THqTmhdsmsfgM9iG2WsZM8P2yVAK1vtlIlfX9
	keGkw+309bzThLBfoaLlxmGn2S8HsmFQ9+IOXfl6+YfyhJu0QDV/zwzCyN1ZVIM9SGzd6LPNJQK
	4TghtgUyOUgxYLHxDA6pYKn8q
X-Google-Smtp-Source: AGHT+IE/t7GOoWMZzDu5WPvfmxfaav4VcwRjDgrjwEuQnt5Ss6XOdzCKh7YJr8ieVfW6KpdvCs4tgQ==
X-Received: by 2002:a05:600c:1c09:b0:439:9946:af60 with SMTP id 5b1f17b1804b1-43bd2ae76c6mr4347285e9.25.1741133096876;
        Tue, 04 Mar 2025 16:04:56 -0800 (PST)
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 5/5] x86/traps: Convert pv_trap_init() to being an initcall
Date: Wed,  5 Mar 2025 00:02:47 +0000
Message-Id: <20250305000247.2772029-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
References: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With most of pv_trap_init() being done at build time, opening of NMI_SOFTIRQ
can be a regular initcall, simplifying trap_init().

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>

For Branch:

  https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1684170631
  https://cirrus-ci.com/build/6590097610506240
---
 xen/arch/x86/include/asm/pv/traps.h | 4 ----
 xen/arch/x86/pv/traps.c             | 5 ++++-
 xen/arch/x86/traps.c                | 2 --
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/include/asm/pv/traps.h b/xen/arch/x86/include/asm/pv/traps.h
index 404f5b169ca8..8c31d5a793c5 100644
--- a/xen/arch/x86/include/asm/pv/traps.h
+++ b/xen/arch/x86/include/asm/pv/traps.h
@@ -14,8 +14,6 @@
 
 #include <public/xen.h>
 
-void pv_trap_init(void);
-
 int pv_raise_nmi(struct vcpu *v);
 
 int pv_emulate_privileged_op(struct cpu_user_regs *regs);
@@ -32,8 +30,6 @@ static inline bool pv_trap_callback_registered(const struct vcpu *v,
 
 #include <xen/errno.h>
 
-static inline void pv_trap_init(void) {}
-
 static inline int pv_raise_nmi(struct vcpu *v) { return -EOPNOTSUPP; }
 
 static inline int pv_emulate_privileged_op(struct cpu_user_regs *regs) { return 0; }
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 932800555bca..c3c0976c440f 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -141,10 +141,13 @@ static void cf_check nmi_softirq(void)
     *v_ptr = NULL;
 }
 
-void __init pv_trap_init(void)
+static int __init cf_check pv_trap_init(void)
 {
     open_softirq(NMI_SOFTIRQ, nmi_softirq);
+
+    return 0;
 }
+__initcall(pv_trap_init);
 
 /*
  * Deliver NMI to PV guest. Return 0 on success.
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 7698fa580ef7..5addb1f903d3 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1928,8 +1928,6 @@ void __init trap_init(void)
     /* Replace early pagefault with real pagefault handler. */
     _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
 
-    pv_trap_init();
-
     init_ler();
 
     /* Cache {,compat_}gdt_l1e now that physically relocation is done. */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 00:17:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 00:17:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901639.1309616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpcRk-0005Dz-3A; Wed, 05 Mar 2025 00:17:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901639.1309616; Wed, 05 Mar 2025 00:17: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 1tpcRk-0005Ds-0R; Wed, 05 Mar 2025 00:17:12 +0000
Received: by outflank-mailman (input) for mailman id 901639;
 Wed, 05 Mar 2025 00: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=Gbs/=VY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpcRi-0005Dm-G1
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 00:17:10 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2cd9b5fb-f957-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 01:17:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id DFBE5A46134;
 Wed,  5 Mar 2025 00:11:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29019C4CEE9;
 Wed,  5 Mar 2025 00:17:06 +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: 2cd9b5fb-f957-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741133827;
	bh=epKUhep462GMxKnqe0Nwl3QcWlNcWklWzK2ZVLTnrpU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gYa8tHvlObVJPMpq+BrmyWPCCecdzOP43Elmb7+h3godyN/vQOf3RzjpDJUQbhCqa
	 /pi54fTsydPB+mIEkplYPK8Tda/EF2tfVyZ6bbogDWiARYJZ/y9WEi8t5qOF/mDLQ2
	 bkJQ3juu162GBqi9V0NXsuZkA9w7X+PEf1LGrjQ/v3+EXh42owrc35gu0+/xadycg4
	 5QvTk+ZuWvIZhq1lRAm6tlTFLZToO+7P5B0i5YwOx5EosrpxIUkp/lZge1+O2jRf8/
	 99Eb5vloSGvR3ZeF1M46ejXVqrxsyQGyDpdKgXTd4gd/O1txrwAP+Hbl5xJjlajUlM
	 UVBGG7N9Ib4LQ==
Date: Tue, 4 Mar 2025 16:17:04 -0800 (PST)
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>, 
    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>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] MISRA: Rephrase the deviation for Directive 4.10
In-Reply-To: <20250304235701.2770842-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503041616560.1303386@ubuntu-linux-20-04-desktop>
References: <20250304235701.2770842-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-757340337-1741133827=:1303386"

  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-757340337-1741133827=:1303386
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 4 Mar 2025, Andrew Cooper wrote:
> The use of "legitimately" mixes the concepts of "it was designed to do this"
> and "it was correct to do this".
> 
> The latter in particular can go stale.  "intended" is a better way of phrasing
> this.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> 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>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 2 +-
>  xen/arch/arm/include/asm/perfc_defn.h            | 2 +-
>  xen/arch/x86/include/asm/perfc_defn.h            | 2 +-
>  xen/include/asm-generic/perfc_defn.h             | 2 +-
>  xen/include/xen/perfc_defn.h                     | 2 +-
>  5 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index dfa5f34b3952..2c8fb9271391 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -74,7 +74,7 @@ they are not instances of commented-out code."
>  
>  -doc_begin="Files that are intended to be included more than once do not need to
>  conform to the directive."
> --config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* This file is legitimately included multiple times\\. \\*/$, begin-4))"}
> +-config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* This file is intended to be included multiple times\\. \\*/$, begin-4))"}
>  -config=MC3A2.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
>  -config=MC3A2.D4.10,reports+={safe, "all_area(all_loc(file(^xen/include/generated/autoconf.h$)))"}
>  -doc_end
> diff --git a/xen/arch/arm/include/asm/perfc_defn.h b/xen/arch/arm/include/asm/perfc_defn.h
> index 3ab0391175d7..effd25b69ecc 100644
> --- a/xen/arch/arm/include/asm/perfc_defn.h
> +++ b/xen/arch/arm/include/asm/perfc_defn.h
> @@ -1,4 +1,4 @@
> -/* This file is legitimately included multiple times. */
> +/* This file is intended to be included multiple times. */
>  /*#ifndef __XEN_PERFC_DEFN_H__*/
>  /*#define __XEN_PERFC_DEFN_H__*/
>  
> diff --git a/xen/arch/x86/include/asm/perfc_defn.h b/xen/arch/x86/include/asm/perfc_defn.h
> index 487e20dc9734..d6127cb91ea5 100644
> --- a/xen/arch/x86/include/asm/perfc_defn.h
> +++ b/xen/arch/x86/include/asm/perfc_defn.h
> @@ -1,4 +1,4 @@
> -/* This file is legitimately included multiple times. */
> +/* This file is intended to be included multiple times. */
>  /*#ifndef __XEN_PERFC_DEFN_H__*/
>  /*#define __XEN_PERFC_DEFN_H__*/
>  
> diff --git a/xen/include/asm-generic/perfc_defn.h b/xen/include/asm-generic/perfc_defn.h
> index 8237636d83fb..726cddc1b3e8 100644
> --- a/xen/include/asm-generic/perfc_defn.h
> +++ b/xen/include/asm-generic/perfc_defn.h
> @@ -1,4 +1,4 @@
> -/* This file is legitimately included multiple times. */
> +/* This file is intended to be included multiple times. */
>  /* #ifndef ASM_GENERIC_PERFC_DEFN_H */
>  /* #define ASM_GENERIC_PERFC_DEFN_H */
>  
> diff --git a/xen/include/xen/perfc_defn.h b/xen/include/xen/perfc_defn.h
> index a987d80dd6f1..afbabad0b3be 100644
> --- a/xen/include/xen/perfc_defn.h
> +++ b/xen/include/xen/perfc_defn.h
> @@ -1,4 +1,4 @@
> -/* This file is legitimately included multiple times. */
> +/* This file is intended to be included multiple times. */
>  /*#ifndef __XEN_PERFC_DEFN_H__*/
>  /*#define __XEN_PERFC_DEFN_H__*/
>  
> 
> base-commit: 83e043ee72b8c2fe1d620d137c20a2ffb040da01
> -- 
> 2.39.5
> 
--8323329-757340337-1741133827=:1303386--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 01:12:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 01:12:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901674.1309626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpdJD-0006Tr-TS; Wed, 05 Mar 2025 01:12:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901674.1309626; Wed, 05 Mar 2025 01:12: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 1tpdJD-0006Tk-Ql; Wed, 05 Mar 2025 01:12:27 +0000
Received: by outflank-mailman (input) for mailman id 901674;
 Wed, 05 Mar 2025 01:12: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=vvpY=VY=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tpdJB-0006Te-Kj
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 01:12:26 +0000
Received: from mail-10629.protonmail.ch (mail-10629.protonmail.ch
 [79.135.106.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4266293-f95e-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 02:12:24 +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: e4266293-f95e-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=7msnwpphb5cfvpe577esins6hy.protonmail; t=1741137140; x=1741396340;
	bh=V3j+k1jHDurRGziduvVGb9LeHYCXEotngrDFCp3SnvY=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=fO6sORSzaHbXmLc2v581zeeB6UoULwJtU/L5H3X8CnWhUP0ZjVLd68z8H2TkVEh0U
	 v2l6bmsu7tXiwmIHx9jp06C1O4ExcTek9K9rDW26dYCc18REsGomgHd4vAPuzvEDal
	 Etm99XBvgLtK8EqlZkkd0s2iEn/WF9+lAX4z5BQYSQ8pUCN0TAnZp/L0XGMqU2Ayf3
	 YPAueqsbPwiDzA1u+wgbVIaHBfIcK3XhCxmRqbmBLZnJYro61/CxEYTN0dNLFL9FQS
	 Ax7jesdKRpxMEr9tdTkQKvoXe7zCKamChc/wm2uhMXHrPWQUPIIfT0EZTZsPdLcJ0Q
	 iuTxcXHsg2IaA==
Date: Wed, 05 Mar 2025 01:12:17 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2] xen/console: make console buffer size configurable
Message-ID: <20250305011127.4079670-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 96f650eb570a6a7bb33e783d083fb78a7e447563
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Add new CONRING_SHIFT Kconfig parameter to specify the boot console buffer =
size
as a power of 2.

The supported range is [14..27] -> [16KiB..128MiB].

Set default to 15 (32 KiB).

Link: https://gitlab.com/xen-project/xen/-/issues/185
Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes v1->v2:
- Switched to using powers of 2 in new Kconfig knob
---
 docs/misc/xen-command-line.pandoc |  5 ++++-
 xen/drivers/char/Kconfig          | 27 +++++++++++++++++++++++++++
 xen/drivers/char/console.c        |  6 +++---
 3 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line=
.pandoc
index 0c6225391d..1e12d2c6b5 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -425,10 +425,13 @@ The following are examples of correct specifications:
 ### conring_size
 > `=3D <size>`
=20
-> Default: `conring_size=3D16k`
+> Default: `conring_size=3D32k`
=20
 Specify the size of the console ring buffer.
=20
+The console ring buffer size can be selected at build time via
+CONFIG_CONRING_SHIFT.
+
 ### console
 > `=3D List of [ vga | com1[H,L] | com2[H,L] | pv | dbgp | ehci | xhci | n=
one ]`
=20
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index e6e12bb413..d3ddb7d87a 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -96,6 +96,33 @@ config SERIAL_TX_BUFSIZE
=20
 =09  Default value is 32768 (32KiB).
=20
+config CONRING_SHIFT
+=09int "Console buffer size (power of 2)"
+=09range 14 27
+=09default 15
+=09help
+=09  Select the boot console buffer size as a power of 2.
+=09  Run-time console buffer size is the same as the boot console size,
+=09  unless overridden via 'conring_size=3D' boot parameter.
+
+=09  Default value is 15 (32KiB).
+
+=09  Examples:
+=09    27 =3D> 128 MiB
+=09    26 =3D>  64 MiB
+=09    25 =3D>  32 MiB
+=09    24 =3D>  16 MiB
+=09    23 =3D>   8 MiB
+=09    22 =3D>   4 MiB
+=09    21 =3D>   2 MiB
+=09    20 =3D>   1 MiB
+=09    19 =3D> 512 KiB
+=09    18 =3D> 256 KiB
+=09    17 =3D> 128 KiB
+=09    16 =3D>  64 KiB
+=09    15 =3D>  32 KiB
+=09    14 =3D>  16 KiB
+
 config XHCI
 =09bool "XHCI DbC UART driver"
 =09depends on X86
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index a84932e384..65468109ba 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -101,12 +101,12 @@ static int cf_check parse_console_timestamps(const ch=
ar *s);
 custom_runtime_param("console_timestamps", parse_console_timestamps,
                      con_timestamp_mode_upd);
=20
-/* conring_size: allows a large console ring than default (16kB). */
+/* conring_size: override build-time CONFIG_CONRING_SHIFT setting. */
 static uint32_t __initdata opt_conring_size;
 size_param("conring_size", opt_conring_size);
=20
-#define _CONRING_SIZE 16384
-#define CONRING_IDX_MASK(i) ((i)&(conring_size-1))
+#define _CONRING_SIZE       (1UL << CONFIG_CONRING_SHIFT)
+#define CONRING_IDX_MASK(i) ((i) & (conring_size - 1))
 static char __initdata _conring[_CONRING_SIZE];
 static char *__read_mostly conring =3D _conring;
 static uint32_t __read_mostly conring_size =3D _CONRING_SIZE;
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Wed Mar 05 01:14:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 01:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901682.1309636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpdLK-00070e-89; Wed, 05 Mar 2025 01:14:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901682.1309636; Wed, 05 Mar 2025 01:14: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 1tpdLK-00070X-5e; Wed, 05 Mar 2025 01:14:38 +0000
Received: by outflank-mailman (input) for mailman id 901682;
 Wed, 05 Mar 2025 01:14: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=vvpY=VY=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tpdLI-00070N-8Y
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 01:14:36 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30cc60f4-f95f-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 02:14:31 +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: 30cc60f4-f95f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=pjm5nundg5a5nfh2nsl7o3wbsy.protonmail; t=1741137270; x=1741396470;
	bh=GFVUK0ROMfQvo+Iqx6rTcS4JZeJncja6c/p6tblP/sE=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=hLrahnaPprXbD0JV/EhTqF6vUcvsE9lXGBFEnUAUZ1xrz3P0lcXA5lUneQyyf95IO
	 6OX7smW2X4rrXV2HqY+9R9+YHbMz7RnU/VUPkkFxzdvlGnjm6K6D5cmRLnB72njWLy
	 8ePYjdQLqPgTuNCUz38tZpDZy2qVTiaB4zRxU96LYFvoAqb9czIfCQ5QPA/+dngG1V
	 tQ+aJp3qQLBvT2m/RbdUy99+AAGJQBKveocs5FQuOgiOKjkwPD47CvZgjLr3yn7kWK
	 9mhxuX57rQ5vM6sxl6Nq85FOIWtQyGnas45k/P8OQFnkWL4jE+8VvI6rAyBnlwFn4A
	 e/fw73ZC+ku7Q==
Date: Wed, 05 Mar 2025 01:14:22 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/console: make console buffer size configurable
Message-ID: <k4iQCAOqKszbNTt0dcUiMaI--TwJAlO6alZSawaTzluJXggCBHoxsZR8TJr1qHsGZYupkCOkMb4Wkxw4KiZzwh2QSZolmgkOBMFQ4CsNBLs=@proton.me>
In-Reply-To: <3826b034-be99-4f43-ac55-d616e473ab40@suse.com>
References: <20250212222157.2974150-1-dmukhin@ford.com> <4203576f-0b93-4647-9983-e36c15fa1d0c@suse.com> <o_C90Tb8fjLMkG-pSNmxycIsYytdAxHSTU7yrudH07-h6L9e4XGirmyyKKSRQsLuOyYwA6b-9jd8kOOnM21yC8I-6q5EzcX2lsLHcbgGqec=@proton.me> <3826b034-be99-4f43-ac55-d616e473ab40@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 19318af4d458949f6c1b91c30d8442bc554fc8fd
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Monday, February 24th, 2025 at 2:44 AM, Jan Beulich <jbeulich@suse.com> =
wrote:

>=20
>=20
> On 21.02.2025 21:52, Denis Mukhin wrote:
>=20
> > On Tuesday, February 18th, 2025 at 8:05 AM, Jan Beulich jbeulich@suse.c=
om wrote:
> >=20
> > > On 12.02.2025 23:31, dmkhn@proton.me wrote:
> > >=20
> > > > --- a/xen/drivers/char/Kconfig
> > > > +++ b/xen/drivers/char/Kconfig
> > > > @@ -96,6 +96,18 @@ config SERIAL_TX_BUFSIZE
> > > >=20
> > > > Default value is 32768 (32KiB).
> > > >=20
> > > > +config CONRING_SIZE
> > > > + int "Console buffer size"
> > > > + default 32768
> > > > + range 16384 134217728
> > > > + help
> > > > + Select the boot console buffer size (in bytes).
> > >=20
> > > Why in bytes when ...
> > >=20
> > > > + Note, the value provided will be rounded down to the nearest powe=
r of 2.
> > >=20
> > > ... this rounding is done anyway? Why have people type in complicated=
 numbers?
> > > A granularity of 1k would already be an improvement; yet better would=
 be if
> > > this was a power-of-two value altogether.
> >=20
> > My understanding that the semantics of new CONFIG_CONRING_SIZE build-ti=
me setting
> > should be consistent with existing boot-time conring_size=3D behavior (=
string value
> > converted to number of bytes).
> >=20
> > I can update both to round up to 1k boundary.
> >=20
> > I also agree that having power of 2s for both (e.g. similar to Linux'es=
 CONFIG_LOG_BUF_SHIFT)
> > will be the simplest (implementation) and non-ambigous.
> > I had it done earlier:
> > https://lore.kernel.org/xen-devel/20241205-vuart-ns8250-v1-26-e9aa92312=
7eb@ford.com/
>=20
>=20
> I'd prefer the power-of-2 approach, yet I could live with the Kb-based on=
e as
> was suggested by Roger.

Reworked to power of 2.

>=20
> > Also, since there's a build-time configuration parameter along with the=
 boot-time
> > configuration, perhaps it makes sense to retire boot-time setting in fa=
vor of
> > build-time setting?
>=20
>=20
> Why would that be? Build-time settings can only ever be defaults. We don'=
t
> know what people need in their configurations.
>=20
> Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 01:14:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 01:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901683.1309647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpdLP-0007GC-Ev; Wed, 05 Mar 2025 01:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901683.1309647; Wed, 05 Mar 2025 01:14: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 1tpdLP-0007G5-Bs; Wed, 05 Mar 2025 01:14:43 +0000
Received: by outflank-mailman (input) for mailman id 901683;
 Wed, 05 Mar 2025 01:14: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=vvpY=VY=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tpdLN-00070N-QQ
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 01:14:41 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36530883-f95f-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 02:14:40 +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: 36530883-f95f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741137279; x=1741396479;
	bh=Zj/Wfs1y796j3B9En1bf0u84ujkqWp23WVN2EOza3PU=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=OglGLukatHPAgmbvba+1s/CcdOIr0lXFrksGgYcx6R6zi7TVS5NFNuzeVlo4QMzKe
	 ChEh7/OwdU+TKaagjzlY/601hu8wuymKYQqt+PFO8xBL2iRoR1wEnXPSl21/Fo4nJ+
	 txZekNa4LQGGJoyC5gRUfej1IowuiSXtVeDgEu8MCwfYdI6hfX9JBOzdWdO3edqIyH
	 FhbOzhFI2vu5ZrerQD2KUt8V45O0tPpaFd3p5EuXEbs3GwPydKS3XfmaJlizebc+06
	 2WSEFLR/WQ9uexXvOCx4m5vvh9pkTh+noUaXQMTVhDLjdpujOsY7vBCOi51ymO0WbN
	 tFYhGvwiGmzzw==
Date: Wed, 05 Mar 2025 01:14:37 +0000
To: =?utf-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: Jan Beulich <jbeulich@suse.com>, andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/console: make console buffer size configurable
Message-ID: <uX-PSQNjVPY0K3cUMC7SlyuBhvLovD0N2JzkKuUyE8IRCwZYIN6wQ633h8sYbqwnsYAVhe094U5OaP-1e3Z0f18mQgHTuTva9A1ZgIyhuLY=@proton.me>
In-Reply-To: <Z7j6fCtdGwDkFpB8@mail-itl>
References: <20250212222157.2974150-1-dmukhin@ford.com> <4203576f-0b93-4647-9983-e36c15fa1d0c@suse.com> <o_C90Tb8fjLMkG-pSNmxycIsYytdAxHSTU7yrudH07-h6L9e4XGirmyyKKSRQsLuOyYwA6b-9jd8kOOnM21yC8I-6q5EzcX2lsLHcbgGqec=@proton.me> <Z7j6fCtdGwDkFpB8@mail-itl>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 82da9405313785d7cada149c9f46e0fe283ed61f
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Friday, February 21st, 2025 at 2:13 PM, Marek Marczykowski-G=C3=B3recki =
<marmarek@invisiblethingslab.com> wrote:

>=20
>=20
> On Fri, Feb 21, 2025 at 08:52:47PM +0000, Denis Mukhin wrote:
>=20
> > Also, since there's a build-time configuration parameter along with the=
 boot-time
> > configuration, perhaps it makes sense to retire boot-time setting in fa=
vor of
> > build-time setting?
>=20
>=20
> IMO boot time setting is still useful to have, to not require rebuilding
> just if you want bigger buffer in some specific case.

Ack.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 01:16:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 01:16:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901699.1309657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpdMv-0008RZ-OX; Wed, 05 Mar 2025 01:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901699.1309657; Wed, 05 Mar 2025 01: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 1tpdMv-0008RS-Lp; Wed, 05 Mar 2025 01:16:17 +0000
Received: by outflank-mailman (input) for mailman id 901699;
 Wed, 05 Mar 2025 01: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=vvpY=VY=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tpdMu-0008BT-Os
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 01:16:16 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ee0273c-f95f-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 02:16:15 +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: 6ee0273c-f95f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741137374; x=1741396574;
	bh=9uHUztNyLmT7su3aewSSpWdH3XbIZBZ3jd5kj2ptHmg=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=hy5mm/xfmzCiYsSDf/1kKD6rYPFIKv9/MAnKPUfVz1SHGLBV/dgTEYSX+EaBO5FEB
	 asGrD7u56Piubl6dW0Q04nMw+JqNb1qIPGfpAvnKzrSUGFpCqEiNuW1OcarEWYJZpt
	 amNz3ps9pIfeP0eh5MzJCbvNSTfOsWmBHOCi6zYa0c6a03UjCUa7GYP0dTfbgAdnf1
	 mTtSd3vbb/UB+wmNcXkZUER5XUnScwyIjFqwOVYb2pcZEp260rMegMLUDVWOzj+0S0
	 zS6kiSsZgFIzq/AF2yRMcLuyGmgkJ3iUUkZk5kE8SYxUvXrC0FQZiTSGCXp70QN9q4
	 60ijSIl1nuS+Q==
Date: Wed, 05 Mar 2025 01:16:08 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/console: make console buffer size configurable
Message-ID: <FeSvjW7Hj0OqRIqxJaLUxZ_5uXXC26qMLMFE-gCdYtMcbgKGi3uAl8zByRbiuHvEJVI3BeaoR2STgXak0NjvxHW0y3weTLZyANai2bZ7NIo=@proton.me>
In-Reply-To: <224c2c94-0835-4ba9-88d7-c57bb1cd4ee8@suse.com>
References: <20250212222157.2974150-1-dmukhin@ford.com> <4203576f-0b93-4647-9983-e36c15fa1d0c@suse.com> <o_C90Tb8fjLMkG-pSNmxycIsYytdAxHSTU7yrudH07-h6L9e4XGirmyyKKSRQsLuOyYwA6b-9jd8kOOnM21yC8I-6q5EzcX2lsLHcbgGqec=@proton.me> <3826b034-be99-4f43-ac55-d616e473ab40@suse.com> <OyVZrdA69HTSGgzR--Ww8VQODmbKn_9CUDbnqVClk7Mkep-tQdOluHw2ofeoLekSohbc28ZSabP4l6O3dIQwrO_7jk6L7RxQwYs-6QxpLuE=@proton.me> <224c2c94-0835-4ba9-88d7-c57bb1cd4ee8@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 92d3755ecab5dc81ce6e20182de8626d6ad145d8
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Monday, February 24th, 2025 at 11:23 PM, Jan Beulich <jbeulich@suse.com>=
 wrote:

>=20
>=20
> On 25.02.2025 03:45, Denis Mukhin wrote:
>=20
> > On Monday, February 24th, 2025 at 2:44 AM, Jan Beulich jbeulich@suse.co=
m wrote:
> >=20
> > > On 21.02.2025 21:52, Denis Mukhin wrote:
> > >=20
> > > > On Tuesday, February 18th, 2025 at 8:05 AM, Jan Beulich jbeulich@su=
se.com wrote:
> > > >=20
> > > > > On 12.02.2025 23:31, dmkhn@proton.me wrote:
> > > > >=20
> > > > > > --- a/xen/drivers/char/Kconfig
> > > > > > +++ b/xen/drivers/char/Kconfig
> > > > > > @@ -96,6 +96,18 @@ config SERIAL_TX_BUFSIZE
> > > > > >=20
> > > > > > Default value is 32768 (32KiB).
> > > > > >=20
> > > > > > +config CONRING_SIZE
> > > > > > + int "Console buffer size"
> > > > > > + default 32768
> > > > > > + range 16384 134217728
> > > > > > + help
> > > > > > + Select the boot console buffer size (in bytes).
> > > > >=20
> > > > > Why in bytes when ...
> > > > >=20
> > > > > > + Note, the value provided will be rounded down to the nearest =
power of 2.
> > > > >=20
> > > > > ... this rounding is done anyway? Why have people type in complic=
ated numbers?
> > > > > A granularity of 1k would already be an improvement; yet better w=
ould be if
> > > > > this was a power-of-two value altogether.
> > > >=20
> > > > My understanding that the semantics of new CONFIG_CONRING_SIZE buil=
d-time setting
> > > > should be consistent with existing boot-time conring_size=3D behavi=
or (string value
> > > > converted to number of bytes).
> > > >=20
> > > > I can update both to round up to 1k boundary.
> > > >=20
> > > > I also agree that having power of 2s for both (e.g. similar to Linu=
x'es CONFIG_LOG_BUF_SHIFT)
> > > > will be the simplest (implementation) and non-ambigous.
> > > > I had it done earlier:
> > > > https://lore.kernel.org/xen-devel/20241205-vuart-ns8250-v1-26-e9aa9=
23127eb@ford.com/
> > >=20
> > > I'd prefer the power-of-2 approach, yet I could live with the Kb-base=
d one as
> > > was suggested by Roger.
> >=20
> > Just to double check: I think it makes sense to switch both build-time =
and run-time
> > settings to use the same size calculation algorithm (e.g. Kb-based) to =
avoid
> > confusion during building hypervisor configuration.
> >=20
> > Will that be OK to do such change?
>=20
>=20
> No, you can't change existing command line options like this, at least no=
t
> without a very good reason. You'd break existing uses. Plus there is
>=20
> size_param("conring_size", opt_conring_size);
>=20
> already anyway, so the command line option can be used with Kb and other
> granularities without any adjustments to the code.

OK, thanks.

>=20
> > > > Also, since there's a build-time configuration parameter along with=
 the boot-time
> > > > configuration, perhaps it makes sense to retire boot-time setting i=
n favor of
> > > > build-time setting?
> > >=20
> > > Why would that be? Build-time settings can only ever be defaults. We =
don't
> > > know what people need in their configurations.
> >=20
> > I was thinking about few reasons.
> > In embedded setup run-time settings are unlikely to change, it is mostl=
y
> > built-time configuration.
> > On a server setup, bumping the size of console buffer morelikely means =
some
> > debugging, which to me means new xen binary can be re-generated and re-=
deployed.
>=20
>=20
> That depends on who's doing the debugging and who's giving the instructio=
ns.
> A developer telling a customer to increase the buffer size is certainly
> easier when it simply means adding/changing a command line option, for
> example.

Ack.

>=20
> Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 07:29:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 07:29:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901738.1309666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpjBM-0007AB-Ks; Wed, 05 Mar 2025 07:28:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901738.1309666; Wed, 05 Mar 2025 07:28: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 1tpjBM-0007A4-IE; Wed, 05 Mar 2025 07:28:44 +0000
Received: by outflank-mailman (input) for mailman id 901738;
 Wed, 05 Mar 2025 07:28: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=AkOH=VY=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tpjBM-00079y-3W
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 07:28:44 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060b.outbound.protection.outlook.com
 [2a01:111:f403:2417::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75379184-f993-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 08:28:40 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS7PR12MB5885.namprd12.prod.outlook.com (2603:10b6:8:78::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Wed, 5 Mar
 2025 07:28:37 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Wed, 5 Mar 2025
 07:28: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: 75379184-f993-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bbiDwNlRycUXV/0FT+6ZNvRuCL2f7hHdItbFTUsnISQguh1wQkRkZdzKL0JWVKpQgHlMOWnl1re10mNSufVWfFiXPMG5Nx3o5B2E8n8B+KLaBTItHTRJTbVwoFF5tbZAZrcqzodrRThsK3aOlrzHnsttWRc0ODdoup/2QSz4PeUZC9IcHL72kok0QzA13NdHqL2mrsYHJgUBGzh65bLly6tkxX+KwGbFTVt4iByXPE73goEPZwPmeGNbVHYEmeb4jQH/rV4Dus8rA5V4dhQnz4MQuSVAiZxi0gtUZKAKcyZinMEYbesGPrrxUKF/MnhT+qzxxkShd5K2o8nDtjlo6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c3457F+MW3r7QjCJiKQr3uIlDmk7f9iOxZennSCBpvY=;
 b=lVWWTnmhBW5RS7al6KC/3S326dvkC1kflmP59wxrj8D+BgLjpunoz2KwF6kNCuwvW37CePXfJXPu+IZUZKqVpY5U86qaZNK/cZwaCOGsXcRtFx5F7GcMhTnZVx7Ajo7KrPu2LCLSVrPrNTkdhdmLcKZnhJcpdc4WGRSHiyxsE/VZY+0+DmLext+TOd0JsrX7jS315i5W3jtzAliXgWPcSOoLV18OulbJLF+OZm463+ZaW4jhnRZrRWX/Iy9tQ8Fivl+a7UaDCbKgkXZT8jYFD75tsc2kYbPs16GY0aqs3s8sQnqRp08dVXhBZz5q47BDJtLIeXubR4QzXuST4ScapQ==
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=c3457F+MW3r7QjCJiKQr3uIlDmk7f9iOxZennSCBpvY=;
 b=l+L8Px8mPqf1Qgk3pbBEDIZCg3EFEAYSWizuK8cXVC9fSzAtfN6MDCNXWrMi7nsW3cSJD8/5Clmigf1bFAZlZ4ouIqxdBk/tPcOFgP5RcNt8Epc5/mIKu61yqQPQTVVt1txGN7KShupnJvTstqClikDNPCXEvNW7h3A4dQN+QF8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <860cfb26-37f6-4007-a66e-5f9075efe87e@amd.com>
Date: Wed, 5 Mar 2025 08:28:32 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm: mpu: Move some of the definitions to
 common file
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>
References: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
 <20250304175708.2434519-2-ayan.kumar.halder@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250304175708.2434519-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0220.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::15) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS7PR12MB5885:EE_
X-MS-Office365-Filtering-Correlation-Id: 56f8a7aa-887e-4507-d985-08dd5bb757b5
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?aHRsQXNuQi93b1pNR2Q0OWpzM2NHNnRubUVxS245L3VuRXFxQmppN25wSnFs?=
 =?utf-8?B?NU9YdjdUSnlWM3ZSVWwvWk9SZnhjSjFDMlE3K0lnaXdUTXltd25zc3FOWU1E?=
 =?utf-8?B?MEEyWkVXL1RuT0lKeG1GYkk1RitMa3Q5bUhjMDFVdVNmakVIR1pZQWtTT05w?=
 =?utf-8?B?bnN2VzVXNlN0L280cXRTRnNOZjF0dUFCWk0wbWlndDN1Um1pcytKV1N6QVFJ?=
 =?utf-8?B?TnhkeXYwWVVpdUN1dHpyK1FnWDc3NmxCcHByN0xoMVNKaHBmaVJKYTdTWjky?=
 =?utf-8?B?b01nRWdCUnkxTlpiYXlwVzFKall0SGRqZGh4M2Zxb2hVVEVtTnRZeTVUbnFL?=
 =?utf-8?B?ZzlVeGdST1BHY2xQeDhtNURMamlSa0VHYkJtcHNWVjU3bXEyTTFKTE9SNDBX?=
 =?utf-8?B?NHRWWmIwa2tHdEUxUlhLWnFTb1JuOXdSMjh0NmtBQWhQSVc5VHZ2aFpaVjlo?=
 =?utf-8?B?ak9HZ2xvb25VTHd2c0xzZitoOXEyWGpqRUwvYkJtU09iT3RDS1RvOW1pTHZ5?=
 =?utf-8?B?SDYvZWw0Y1Y3aWZNR0NEMUZWT1NXRzl6UlV6eVd6UzcxYVpna05ZZ2RwdXZr?=
 =?utf-8?B?SjA4ME1FNTZocy9BT3RXTG5FOUluSHhTbDVJajRUb2U3UTdaQzM3ak1qN1pY?=
 =?utf-8?B?TXN6cDBmS0ZKanZGRnJzeWJnK0tqc2l6NDM3NkNvdGZwbTQzc2VCUWNBMVZq?=
 =?utf-8?B?ZVg4MllkU0pYcGFUZWs3WmxIUzZLVFNwRVBWL1BHWTVXeWNlY3QyTGY1RnNj?=
 =?utf-8?B?MU51bGpCVWhRVU1DeGlTY3dwVkNpaHRDbGJqTzhySEpDcnY2dk9IMm96dWNv?=
 =?utf-8?B?cWpORFBNaklJeXprUmlYSUVlM1l1RmZwRUJoa1FJdVFuTGNyQXEwb3JYSEx0?=
 =?utf-8?B?bHFTNXVWV2ZhZzNSZXhXclV6Q2FvaEZOZFhSM0hWTDdnSE0zTWl1Tkw2aDcx?=
 =?utf-8?B?cGRkb2UyMGgxRHlXQjNzQTNDaXBncmU0ZEVZMVcvMjFKQ25tMytIRWF4K3pI?=
 =?utf-8?B?dFArNXE4TFZ5UGtIR2RINEYzaGN2UkpNZjNONmcyODZzZkVYeEdNbDJtL25H?=
 =?utf-8?B?cWpHOThONWRzMmxVMmpWSmI3T3BhaE5LTmRMckZHWTljN1NxY3lsLzhjdFRy?=
 =?utf-8?B?M0pickU0QmwzUTNGOXVwQzRRdjhqRXQ5aWxiOFFGSkFyRmZNU2NVcHYySjJU?=
 =?utf-8?B?T2txalIyNDhBOGlJNUk4eU5BamRXUWZFbGdIK1p6REplQ0NNdDRxZE5OUU13?=
 =?utf-8?B?NzZmcXc3ZjZLd1haaGZBNm5nMlhrYXM0REFXUWRtUWVObVZyeldGT0ZHT3h4?=
 =?utf-8?B?VkZoT0E3cXA1ZStkWlo3V3dnenU1U216andES29USWRPc3YzRTZ3RTEwcU84?=
 =?utf-8?B?UURBVzJBR2RaUGlneEJ0aTB3cmxuYnN1M1VwNjdyZTd6SHhPWEpNc0JEU2lM?=
 =?utf-8?B?b0x2dEt3S0E0VU0yRFpONFBqRkdTeUJKRDgzSXlMdDEyNkVOOTNZSkJKUkNG?=
 =?utf-8?B?UmtRQllWVUhaN1dlcUlkMlcraDVXUkNFbEkwWWNtTlVwcWE0eFpGLzVPRlZS?=
 =?utf-8?B?YUNjNlJ6MVY5c0VmRUlaMUpEVE9tek1hNkN0OTJrSXVyVDV1YzFiQktJYmdD?=
 =?utf-8?B?akhYZGM0YmZRYTU5bTlBemJTSytXKzhrN0hrbG10MzF1WEFCQkRPNjVxam01?=
 =?utf-8?B?VnVDVEZXR04rVHdQS21RbG1tNkRzQzZLcVQ0bml6R21ndnlIU1djdDNjSkVu?=
 =?utf-8?B?cGRKUi96QnVBOWtYOFFOMTJqR0VIV1E1aVhsY1RUcE9nNjRIdTZaZ1hLUmhn?=
 =?utf-8?B?amFNaURTZ2hPbE53aWtZMU11YTNBUi8rc0RRTmMzbzdkM0ZMbGpIVlFpUkpD?=
 =?utf-8?Q?1jLuUHfhkOOwF?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?WmQzU3dTUS9Ebnpud2JYdFNnTWxOejZMNTRnUjJwMG5jdkduRm1EVENtMmM3?=
 =?utf-8?B?bmhNT0JXU2hGSFdTVWNwSXhERFNaSmg0QWVyVFlYSGhHSTNGNk9HMkF5SkU0?=
 =?utf-8?B?OWRVbVludkdqZVJkbWRTbFJWMldFdEp2a2VTVTFMRXVNQWU0ZlBGYlAyb1Zh?=
 =?utf-8?B?cmlzNXdiM0U2Mm5UU0d5aFpJdGNlWkVmWmdibWpvNXd4TSt3SE9CV09Eb2Zq?=
 =?utf-8?B?enI2amYrcWN0bUN5N3FudVJ5d0ZlTjIraDVBTjB0TjVOWTQ0U1M4V3JUK1I0?=
 =?utf-8?B?ZVJUb2swbDl6d3VDOS9FeGVQVjgyWW5NamFma2d0SnlxSmVCeTFtVitxSUNU?=
 =?utf-8?B?T0tuV0cxNDNZZFFZdm04b1dMaXF0Rm5aL040d1FqdE14OG1uQXNzK2sxNlBq?=
 =?utf-8?B?aVQ4SDRFTzdENFVXamt0V3grWm1lNjhIYm5SU3ZuUENTVGpYZ3BsalRCTGp1?=
 =?utf-8?B?MTBRM1JMK1pWSU51NXdTa2lGRUdlUzdVUEI3L3RTOG5KV1JYQk9SdXRRY0hh?=
 =?utf-8?B?VTRSS3o0cENrdU81QmJRaTV3ZjdZZWlGTll1YkdDZGlqbTdEMzFYNDNabVNj?=
 =?utf-8?B?N0l0cjRNSEZYcEJ0TGVZbE5KdkFMWmtyYkljbnorb0kxWlhXUmY1emFZdnJB?=
 =?utf-8?B?ZnpsMkY1c1ZYMTY4TS9tMGlzRjV5cTdpNnZkL3l5MGFVSGRDUHBYNmxMYTEr?=
 =?utf-8?B?blgxN1JFRzZ6M0xxWFdSZmpsUDFIaFZaTXdvVi9LVHY5aFljb3hIM2JBTGN6?=
 =?utf-8?B?V3hCa0ROSkRxUnQ4eGZubXhxRUF4WWp5bnNnR2t6WUM1RWordEVPT2NLdys5?=
 =?utf-8?B?b0xua1g0bjh5Y2FqYjFyM3MvWVRzai9qZUVYRHNudUZLUkFrMjNnL24vL0Vs?=
 =?utf-8?B?SDIrT3RjN0IybDVQamFsdkYzOUNRdlRNTkJ1YmlXVmJLY2tVK3R5enBiTjcx?=
 =?utf-8?B?KzNycEZnOGY3S2k1ckdzeWxha05kMDc0aVNZbmVVTS9LaUM1dTd1aHR4OERG?=
 =?utf-8?B?WDI1SGtOTFo1aGpTQW5vc0JhZDBxVDRSRnJ5RjlFYU5MNkxSRXBmS3VLbHBS?=
 =?utf-8?B?MXpiS3JPM3ZTVWtPZWNKbFhTUlF3WS9BUmVQM0FUOUFaazBsWGVVd1RsOHl3?=
 =?utf-8?B?SVNKSkRmeUIxenU3ZGZHT1V2S2VLRjc0cmJrTzBRNGZlZTA2L2I5NVlLWEds?=
 =?utf-8?B?OGNJN3cxbUtrZExlVStwaVpncElicDFDLzUwcW1BWnc0cElScWUwOEJpSlNi?=
 =?utf-8?B?RmFRUWl4c2hXOUk0TWtka3pVOHB5MlRKRDRscytFb1o1TDY2Qi80OXg3RW5y?=
 =?utf-8?B?TTFxMWpFWHM3U0tNWE9LZDhwc29wVjJ0K1AyVXZJa3VJMXNhVWVuWDU3akVy?=
 =?utf-8?B?WHgzekxXekFiQ0RzM0lZTUx6NnJmWlNIYUd4c0hNSXdhb0Rob2d5TEd6b2M4?=
 =?utf-8?B?RG1PQjluWS9iYVllY29TSVVtem9qMDh5ZURiVEE1b3JzUEFSeU04VHZBRWx4?=
 =?utf-8?B?cm1HODJIT1l1MXQ3Nmx0WXN6UmgvYkVGaXhtVDZmNnRFU0F6L3lEbCtGUW9l?=
 =?utf-8?B?NGRYS00rNFJEYi9HdUoxY2lERktCV3laM01aNzhWWnRXOWptb0JRL1UzaitJ?=
 =?utf-8?B?Uk9lWCtZMUFQUmRNNlRyb0lESE5JTEFoR0FQWVVjQzZoN1NhZjFma1pYLytx?=
 =?utf-8?B?Zm5uQW12dkExcGdSeTVZc1dBdW05VXJ2amdWUG5RZExCZGVBOXY2NlFnMERa?=
 =?utf-8?B?eExzUXF1cC9BU1hmaUZSZW9yNzY3dlJodnZ3UW9ycy9wSVRPTEczK2dpc1Z3?=
 =?utf-8?B?ZGNMeDNFN2ZMVzh3MThCbzR2V2VxWndYVnBzQnFGQjZGdERkMlI4Ym9SYkJB?=
 =?utf-8?B?RzRleTlmMGpFeC9KZHJJbmwwSmVjekc4S1JTL21DWU1hNHpwTFJCMVo4ZFQ4?=
 =?utf-8?B?UzF2ZmhlUXcxUFRXNVpZalhQaWVrS2NtSFMwMisvSkRBYldyeUJYZm1iMjkr?=
 =?utf-8?B?bms1ZHNzaVVDWGttZXRDc2lNc3dFRElQUUVVcmo3d3dQRUJTZGNaYkI4Q1l5?=
 =?utf-8?B?WUd6djcxdlZSQ0lYbzhRcm9qVlZpM2FTb2d0M0V4Y3N6Mk51Y1VmN25jOHJJ?=
 =?utf-8?Q?1i+E=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56f8a7aa-887e-4507-d985-08dd5bb757b5
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 07:28:37.4247
 (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: gH+EUrYG3Z2/lJFn0nQEo4I237Lq2JjG/oO5FjOHHvF3adcCWY/B7nS/uqJS2hzj
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5885



On 04/03/2025 18:57, Ayan Kumar Halder wrote:
> For AArch32, refer to ARM DDI 0568A.c ID110520.
> MPU_REGION_SHIFT is same between AArch32 and AArch64 (HPRBAR).
> Also, NUM_MPU_REGIONS_SHIFT is same between AArch32 and AArch64
> (HMPUIR).
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes from 
> 
> v1 - 1. Add the R-b.
> 
>  xen/arch/arm/arm64/mpu/head.S              | 2 +-
>  xen/arch/arm/include/asm/early_printk.h    | 2 +-
>  xen/arch/arm/include/asm/{arm64 => }/mpu.h | 6 +++---
>  3 files changed, 5 insertions(+), 5 deletions(-)
>  rename xen/arch/arm/include/asm/{arm64 => }/mpu.h (87%)
> 
> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
> index e4f2021f45..7b659aa42b 100644
> --- a/xen/arch/arm/arm64/mpu/head.S
> +++ b/xen/arch/arm/arm64/mpu/head.S
> @@ -3,7 +3,7 @@
>   * Start-of-day code for an Armv8-R MPU system.
>   */
>  
> -#include <asm/arm64/mpu.h>
> +#include <asm/mpu.h>
>  #include <asm/early_printk.h>
These should be sorted alphabetically

>  
>  /* Backgroud region enable/disable */
> diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
> index 219705a8b6..644fd0fcfb 100644
> --- a/xen/arch/arm/include/asm/early_printk.h
> +++ b/xen/arch/arm/include/asm/early_printk.h
> @@ -11,7 +11,7 @@
>  #define __ARM_EARLY_PRINTK_H__
>  
>  #include <xen/page-size.h>
> -#include <asm/arm64/mpu.h>
> +#include <asm/mpu.h>
>  #include <asm/fixmap.h>
These should be sorted alphabetically

>  
>  #ifdef CONFIG_EARLY_PRINTK
> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/mpu.h
> similarity index 87%
> rename from xen/arch/arm/include/asm/arm64/mpu.h
> rename to xen/arch/arm/include/asm/mpu.h
> index f8a029f1a1..40fa6eaaca 100644
> --- a/xen/arch/arm/include/asm/arm64/mpu.h
> +++ b/xen/arch/arm/include/asm/mpu.h
> @@ -3,8 +3,8 @@
>   * mpu.h: Arm Memory Protection Unit definitions.
>   */
>  
> -#ifndef __ARM64_MPU_H__
> -#define __ARM64_MPU_H__
> +#ifndef __ARM_MPU_H__
> +#define __ARM_MPU_H__
>  
>  #define MPU_REGION_SHIFT  6
>  #define MPU_REGION_ALIGN  (_AC(1, UL) << MPU_REGION_SHIFT)
> @@ -13,7 +13,7 @@
>  #define NUM_MPU_REGIONS_SHIFT   8
>  #define NUM_MPU_REGIONS         (_AC(1, UL) << NUM_MPU_REGIONS_SHIFT)
>  #define NUM_MPU_REGIONS_MASK    (NUM_MPU_REGIONS - 1)
> -#endif /* __ARM64_MPU_H__ */
> +#endif /* __ARM_MPU_H__ */
Would you mind adding extra line between last definition and #endif?

With that:
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 07:31:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 07:31:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901750.1309676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpjDy-0000EC-5i; Wed, 05 Mar 2025 07:31:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901750.1309676; Wed, 05 Mar 2025 07: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 1tpjDy-0000E5-36; Wed, 05 Mar 2025 07:31:26 +0000
Received: by outflank-mailman (input) for mailman id 901750;
 Wed, 05 Mar 2025 07:31: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=AkOH=VY=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tpjDw-0000Dz-Rb
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 07:31:24 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2417::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5d16912-f993-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 08:31:22 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS7PR12MB5885.namprd12.prod.outlook.com (2603:10b6:8:78::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Wed, 5 Mar
 2025 07:31:19 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Wed, 5 Mar 2025
 07: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: d5d16912-f993-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eU/uUA5zsPASDDbjVO7diMnwFreKA9u9pzLqdZeO0lWolr05lg+d1+gsBRDCAwjPE7TiSFDWqZyqN+/QJzJ/x89opsux8RXU+mTmU+b4VWVD/rGrJKlGyg0axsaid0VHrXFVUVCp0qLiAqMjFQT8PlyMw9QoSuDUCWOdUE1rchNG31xJgg01ijeZKj83JKEliZ0pI4HtNwJ1fit4yvT9KOdVywpjcX3rqNii9QdbeZnQifT4ZsaOFhWmcLgqaPxPOjQo1LQ4oSPcVwY9au955ojG9mvtVg72VaOpM8C85JQ+OjheRHbrAkA0KigFZy+Z7WpXHb44vShQty6zcz4rvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0iuljgqTT+eIsbFKXPrI5ODW4reGJPOuNqTY0fpGV+k=;
 b=iuZw/ja/MxO6xJtZBxn0XQfuikCPO3dLoV5E16ZUB5VWdWEPI3KJBw3ake7ehMt7X5CL/5IgOfEiuWyj+o76TU678oGEUGcBPbAQDfXliSL76lfmLNNPLQ6MQxSBIoNmUPlDt7oajnKQFUREcuUTXu73M4kZ9Psm3b/CY7KXtEMSpVFFnNQcre5XdylYeWC7wfF0kIyHVhibsMAz4agJyNHcz5gWfTq23Oqfu2iyVjqMkkgiGUSAyklEFDboc0+/UMyZz0lnUEPvVZFiEcw435CU7vW/LuebB88Io84b/ZdRsmAcf6pD+5LPbAtnzuJxh0vdabtdfYY2zS/U6Ee4dQ==
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=0iuljgqTT+eIsbFKXPrI5ODW4reGJPOuNqTY0fpGV+k=;
 b=kuQBRdM5mMuTGjLa+8OKyBYtDi3XxBlBxwY4UbLbbb+N6WZ8gJjbwxIFgUKFK6WKcraeshpUIqukcmGRz7YV449lonY90fqPFvCAgWUALsWJfmrS+KPnKHWv97HuZmlV4olHlfuoJKyL7YVJcB/xdxGSmyqf7reDxz/PNaAud40=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <2de3bfd2-c451-42d3-a489-b12b35c4a28e@amd.com>
Date: Wed, 5 Mar 2025 08:31:15 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/arm: mpu: Ensure that the page size is 4KB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
 <20250304175708.2434519-3-ayan.kumar.halder@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250304175708.2434519-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::19) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS7PR12MB5885:EE_
X-MS-Office365-Filtering-Correlation-Id: 83e1463f-0512-4148-ebfa-08dd5bb7b8b9
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?NGljbEp6N1JROVpFdUZhU1d2N25TYlRQRS8vbkNBa2lSRS9nMlN6eEJhZkky?=
 =?utf-8?B?dWQyYjdvYzFYSGhBb05VL0ppZjNrbUlqTTlLaUozRUZrWHR6M01qdXhpUjlC?=
 =?utf-8?B?TTdjNDNQd0praS8wUTU5dS9pN3pBVFVpdWxtV2psaWZzZnJ1VzB6QXRmd3Rt?=
 =?utf-8?B?eDJtSVZZVFhRZVFvVFlWc1VWSElvUUNqZUo0dVdBN2owU3diWDg2a1dKemRF?=
 =?utf-8?B?OEZoeTFqa0hvNkwxSHJYQ3VSbmJ5aEt0bXF5dXA3REdLREhGZ0oyRGxJNXhz?=
 =?utf-8?B?WndvMS8wMmhWVXVHblpSaFBKTGgycGFab2k0dTAwdlJQMkZyYWVVM1YzSmZa?=
 =?utf-8?B?dFlma0tYMld5QXdxczFibEsrUmpSVDFlZStsTDFmZVoraW1iRHFxbWlBSERS?=
 =?utf-8?B?bmlLSHVrbnhrc1R1d2VQeW03NllhZ0dRYzNoQnhzYTFkQUFLZFZVLzdTRzU1?=
 =?utf-8?B?ejVXRkNDTDQyWmh1SUpOVkhiQ0NDRWpSSUdFN3IvV3J2NUhJbzlLbm4xWTVU?=
 =?utf-8?B?d1krc1phYno4NGp0YmdwbTRMOHRJUWM0UERRYU9JRzdMMzlLUEdlVjBvQzMr?=
 =?utf-8?B?Q29QQ1prUVVIM2dzZUluakhHWEZvQzVPcTR1Mko0YmYydTZtZUI3cXhpVkU5?=
 =?utf-8?B?bzBQU0FTTjl3c01rZ2ZlN2VoMFVWSmNoaDg2S0Rodk5aWndQbW1uTEcwc0da?=
 =?utf-8?B?am1Tb2JCNTh5NmlEajRERDlLZTBDTDZ1a3NnQ2hqZTJidWVRdzgxcjBpOHZn?=
 =?utf-8?B?OElyWFFYdDd3Qk9HcDQ1aWpmQXBtT0dzckZVbkVOb0dBd3dHZ0ZmeUJEd096?=
 =?utf-8?B?L2ZFWlYrTjJlUGkra1dlY3VhR2piZW5UTVhWQkJuQjlEYThmbVZtNlNqREVN?=
 =?utf-8?B?cWt1UjBseW1xWDd0eUZKVjNBV1YwSDkxR1hQYVFZRDdoczJQajhlRGQrQlAz?=
 =?utf-8?B?NG1pVEFJMndMNmZ5emNNc2FqUzh0RGY0Y3h5bjBVRkRQcTYvTGFkM0czQ2Rr?=
 =?utf-8?B?RUd4WTQ0dkY3ZWE1Q1Fia0VSMGlyZXNJSWlXazlOU2xTd2FiM2VaUlZTd0g0?=
 =?utf-8?B?ZEZKWmVyWVFUMFgzSUtlRURTeDhqSkdBeVFSSzBpN1R5aGpxZkhlRUVkUDB3?=
 =?utf-8?B?a2Q0d1RtSGJTV0lPWHl2U0hKb2tTQ0h0MCs2ejFLa0pHNlBsNUpxbHVUbXF6?=
 =?utf-8?B?SkpENXFBU2hrMlVaQzZlYUpTaXBSblRuNktCSFpnNTVpdXRPR0lLdjNsSVBS?=
 =?utf-8?B?QlFpckkrbmJtc1pmZ28yV0g4OUZyVThkWm9tdGxrNHVMRDRtL3dEN0pYQUoy?=
 =?utf-8?B?dm1Kak1mVU9BSkMwTUhKNnQ0WWhrUmRLVDVRS1lIMEo4Z0RaWGJkOXBMRlhK?=
 =?utf-8?B?c282eDZuLy9RaDdnNGlPU2pFcjVaUndUbC9MUUNWdXFzeEVybkhIUEdqbFpo?=
 =?utf-8?B?bGtldFZSWWNWVDZHT25sSUpHbHkvZVRZdFozMVdCeHRsRWJRNE9sOThNTHNu?=
 =?utf-8?B?b0RJT2xaR3AyZ0EweE5RNkxhQ0RJNnNqMVhWMEU0V3plOGJHa2tqL0xkd2NT?=
 =?utf-8?B?Y0pxK2RuRG9sTExiVGlrZlJSSit1NndFSFpyUm9Rb2RJNjZTcjd2aG5VQXRz?=
 =?utf-8?B?ZU1XdlEzc01UNHE5MExpNlY1bzhWdVU4ejVmcCtDSng0cWZBMDlDUW1EN29W?=
 =?utf-8?B?ZGVQVTM1bzF2OUpVT01MYk5vbWg5aTg1UzBXMm40Rzc5SHZ0K04zN29LcGI3?=
 =?utf-8?B?bDRZVmcvTG9qOEhIM3VNT04vamNXSkdGUDEwdjI3TDNEU0JMN3hiY2twR0Nw?=
 =?utf-8?B?WHVVcHlmZElVb0FKVGRKK2ZQY05pMEpXRVpZaTJjTHp0TTZzR1MwMk5hMXQx?=
 =?utf-8?Q?L5DcDb9Wgz+lA?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?TGtPM21FVzNWWXNjYXZNd0pFOUN0aHhoNmNuclpIWEV0cHA3Z1Y1enp4WWh0?=
 =?utf-8?B?UHBUZS9sSjlrNnlIckVlaDhBRG11ZU92UklNdWk2b0JXWTNZN0ErMURsWFFZ?=
 =?utf-8?B?eW1saXpySXBzdjg5R2ZhTlI5cHlsa2s0OTluSmRlNmRoYzZSMU9ZWXJSbXVi?=
 =?utf-8?B?UVFNMGhBdWFwaG1RejFuc2NoNmFyZVRIcTdTNEcyVFhmSFFMeEpDYjEyWW00?=
 =?utf-8?B?VUYyOGIwaENWc2E4YktoTjY5bFZwMzBFbzdxM0p5S0F2c1dOVVlsYU5CSU14?=
 =?utf-8?B?eUR2RlY2UHV5dWdiL0d4VFRGbFBRbFA1VTRnU0Fid3lXWXNIRUhnNHhvV0dJ?=
 =?utf-8?B?SEs0amVicWRmQ29NTFBlc3dlcDdJVjhtT0N2UCs2VFhXVHNQSG1GWjlxcm1w?=
 =?utf-8?B?MXJYT3F1ZXJrNTVMa3VDOHBjZHZya29UaGVYbk4zemRYaW9yK1RFbk5SeGJv?=
 =?utf-8?B?d3Blc1JlK3NEeUVMbXhSdUJZa2J5WnFGK3BBYmlDM0VzS3FMa1NBUFJJdVp1?=
 =?utf-8?B?NGg4K3poOXlHeUFNc0NqTGo4RUxxSDV6a1FJLzA0K1NNN3VXaEhvekJ5K1V2?=
 =?utf-8?B?K3JtSWczeENvUVRaTThUU3FkRlgxSmdoM3hnNEFLb3FNV3MrQnptUURXa2lF?=
 =?utf-8?B?N3FZWnB6N1hOd0x2NW1UdHVyL3hiK1NoVzBGSnBFSSs3RHVWWjZsZVlZOXdI?=
 =?utf-8?B?d21DRkRJU1A3cjFySjJGRzZwcWM0STlaRjgrdGFjenVyOUZvaHBScE1menJN?=
 =?utf-8?B?dTdGN1F3NE80UUxPaThRdFJhT0FMWndMNVZDNExkQVhxVXRSdFlPZkdKWGk2?=
 =?utf-8?B?QWRMWE4wcXdNSmhhbHNHdUpycGpnQ3NIOG9VK05ZSUZuWHQ0NHhWckp0MSto?=
 =?utf-8?B?Wk5qOG5ISURWV1BtSFJPbkNvcENDQldnUVUrekQ5ZERMekduQWRQL1FwdVNo?=
 =?utf-8?B?a21mdmM4NEkwbE9nUVVEaXJyNWs0ZE51enNFbWRGa1JGUkY1d2h3UFR6RjNL?=
 =?utf-8?B?M3lKRUlBQ1QzLzNFdmMzSmJhanNUREVyZ21DTmljZHRjSzh2Nlh2RndBODVz?=
 =?utf-8?B?WnB5YmJtYVdNM0ZaNm16YkhxRWUrYzZjZ0xNVkJMN2NwTklMdEpjZXZSTWRm?=
 =?utf-8?B?Qy81NFdtRmd3SmNVYlVhQ1VOZ091ZDFIWHZ3ZXptR1hpU0F5UzY1VlF6bDRu?=
 =?utf-8?B?SDllTUo0eTRxdFUrbXF2dGdZVlFJSG1FSlFNYnduVGJ4S3dyZmZWWVZEQzFP?=
 =?utf-8?B?MnVHb0J6ODkzQVVKZFlScXQ0YlNXeXA5Z2tMRE56YWVYeHhRVU5UVlAxVy9i?=
 =?utf-8?B?ZHhSM2pHU0JjcEFqSDQzT2Fmd2pOZ1A2anllT0F6RVFBazMrL0RYN3V2WmxM?=
 =?utf-8?B?WGlvV3h3bk1ZM2M4Q2tNdVMrSS85TmxhbC9mL2lUQ1gwQzZHVFI1VXlJWXBY?=
 =?utf-8?B?T1VITTJ4ak15TWtaZGl1cW5iUnFDdEJqdkc5SUFsMnJoT0ZOOENSdFJEbWl0?=
 =?utf-8?B?RGdwMjJLTmc5UWRCR1lyQnJSQkJaMTNzaUZtRmVKQk13eUY2Z3ZRTlhSSUJ5?=
 =?utf-8?B?UUNQZzREL3JQbzFKNmFNckFIMnF5aFVrTlVNSVd0a3RoRlV2bm5XL2R0eFox?=
 =?utf-8?B?aFgrSksxR3N4MW1sZlM0NjhHNTJWZ1M2d3d4VTFRQ0lrRzBtcXR6Wi85aExG?=
 =?utf-8?B?d0FRUTdJeXFlUTNhQjkvcStObEpMQ3J6V3R6OGdKclBOSGFRWjlqMkd0Ui81?=
 =?utf-8?B?c0xpMHM4TEdTWndpT1F2TlhoWHIrOXQ3ZjFUY0RQUUJGbDZWbUFiLzhIdFBZ?=
 =?utf-8?B?VEhSM0xKRmhwRlJPREpZR0NzbFFMSXdRUENmM3pTMFFuN3oxV0NucDNUM08v?=
 =?utf-8?B?c21VTU0yUW4yNmlVeU5YTjY0c29jYngxUW5hK1BOdFR0emVaNFpWRUtSY3dJ?=
 =?utf-8?B?TXB1eFkvUDgybEdtWGdXQlVxSTlmYXdPc29VZE5JRXkzOXAvaWJHSUxrQ2w2?=
 =?utf-8?B?RldTWXNaaVBFdkx0N0pzblIxcXBHMkNXSG1OaitFdThnSkpXWUtVZ2NzVnNk?=
 =?utf-8?B?TE5aMWVkb2tCWWhONnN6bWl5OUVaSmFhVmtha3dFb0RUWWx5NW5PNS9JVDhD?=
 =?utf-8?Q?rlTCEbyZ9RCIKjMirky6U704V?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83e1463f-0512-4148-ebfa-08dd5bb7b8b9
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 07:31:19.5063
 (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: CWLuCEppKfAp3b1QmV2z4MSkfQ1aOGHph1K+XJcSmJ9hpv6Wgb/IGqPdMqbAWn4U
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5885



On 04/03/2025 18:57, Ayan Kumar Halder wrote:
> Similar to commit (d736b6eb451b, "xen/arm: mpu: Define Xen start address for
> MPU systems"), one needs to add a build assertion to ensure that the page size
> is 4KB on arm32 based systems as well.
> The existing build assertion is moved under "xen/arch/arm/mpu" as it applies
> for both arm64 and arm32 based systems.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 07:34:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 07:34:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901758.1309686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpjGn-0000nq-Is; Wed, 05 Mar 2025 07:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901758.1309686; Wed, 05 Mar 2025 07:34: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 1tpjGn-0000nj-GM; Wed, 05 Mar 2025 07:34:21 +0000
Received: by outflank-mailman (input) for mailman id 901758;
 Wed, 05 Mar 2025 07:34: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpjGm-0000nb-2s
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 07:34:20 +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 3f884c9c-f994-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 08:34:19 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-390eb7c1024so3728998f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 23:34:19 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a66adsm19892109f8f.25.2025.03.04.23.34.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 23:34:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f884c9c-f994-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741160058; x=1741764858; 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=xJUcG24ivhpxK34bt1FHSTB8mpOz5lOV7DOn10L7pNg=;
        b=GWF1rUHGEfWLaMiWFOtzFwurdaKvK7HKRaSXj8ZHZ0g+3eOb1jRAwagkZb65BykXD1
         98YFP/P74xN+ByPPXo33tErq3hkczjuVIPmF1/KyVvmlWE6b8QnWEObdINMaRNkegWP4
         0df7wZ+NCk3XeMIrhNAfOAc1G3yiJ5C8ULORR7xnWmhCQo7+PRMfbOVBH450UIcRbj3J
         qGS8K11Xt4ig5vFtDr3OXAMjn41DW0JReuWfHkGTYj1nDrUxbdfxmlbi0ffOGQL5T3Ix
         tvvi+s1p2dyN2AB7v6OE95JfjCVlUhSBs/JNWIGt4kypeu1FFZPko2E0vF90D9AVPYDR
         AyJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741160058; x=1741764858;
        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=xJUcG24ivhpxK34bt1FHSTB8mpOz5lOV7DOn10L7pNg=;
        b=M5v8p70IVBUwPGKmQyUmyLcqwisBUF7NbTyczC+col+j3RHcqlQ9r8X/5AaXjpWyvL
         T7QSFzM2bptuMEtNlQx80+HhRDT05O3Garr9DxzDnLQrwd6Q5x+xDVikK2ZGkmHd4T+W
         hQNc4Lbpc5Im+A7z4AFsv0W7F6lGLzKUI6TaBOJxNa5Y7/DlrmfAFlyG6brkZsVD8RQj
         A2uHDq9jZPX42ngUrii6XfiJnY5dF5sDwaY90qeMMAdrHW/k3NMQwXonpnKZyGLwOUSK
         oqcXOJ6fUxoeEIPB1R763XMQoJ99TP4PoDHMlNZGQyIcPZ6Vo89/2DZaiO6d1rw4SgAs
         27pg==
X-Forwarded-Encrypted: i=1; AJvYcCWTnSG/eyWMHUNaEErZNHZZ/ia+I6OyOH9OEemkU+2oTpX/xWkNpWJlnMXkUi50eFHNOoAgtrkhzWU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQPvM3qlpzgipaXYU3mw8KP9df++5ichj8yU4EShpwBIpoJOTk
	doE/leFh8flON3JrAlb7QUHDHKbOFPJqhR3gpvAZgXCxL1UHjh9XFfH7p+nQlQ==
X-Gm-Gg: ASbGncvtLydTURDDpEiEELT6/I/zMot3Vdje7LaXMA9rKVFsCWZKvsTR9oUmyIbJdyc
	hwLaX1dfNwQImi2k76YW+k3Zo27Uy5D4zW8uIJEHcyejva8sz48fJ/ckntV/eEvizZvpUMuOCtQ
	rrIAl7KBo0KzczLDsYtZlUn2jPZ+3QVyrpYisyPyyjys62RLhOzNYTGMDTAZIavsEnMKd77aw13
	u5EWQrEYBOkWNrvRO35jBcqHYOFOIyitcRHcqdG6ftcJ6ehEwYe/KqlM/DnFfJoGFUSGYEgJ3B2
	s8JXqm3sLTWFvAL32X7//OHl1kaW5qiqlpuCxIeX9BUrtt2Ym71YgmymlqhuMMHxTX84AqVVVAa
	sh66EqQJLUVQiluj3CAGvuwZIH0hjHA==
X-Google-Smtp-Source: AGHT+IEzGNt+OmwbAchHc/Z8Q1x7CwOF3r1H9EiveZ02JnZ5Mv1JdB99edC0IeRBUty8mQShh5/g2w==
X-Received: by 2002:a05:6000:178a:b0:391:13ef:1b0f with SMTP id ffacd0b85a97d-3911f7c3353mr1416251f8f.39.1741160058392;
        Tue, 04 Mar 2025 23:34:18 -0800 (PST)
Message-ID: <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
Date: Wed, 5 Mar 2025 08:34:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@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: <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.02.2025 17:24, Andrew Cooper wrote:
> On 27/02/2025 8:11 am, Jan Beulich wrote:
>> On 26.02.2025 18:20, Andrew Cooper wrote:
>>> --- a/xen/arch/riscv/include/asm/bitops.h
>>> +++ b/xen/arch/riscv/include/asm/bitops.h
>>> @@ -125,6 +125,13 @@ static inline void clear_bit(int nr, volatile void *p)
>>>  #undef NOT
>>>  #undef __AMO
>>>  
>>> +#define arch_ffs(x)     ((x) ? 1 + __builtin_ctz(x) : 0)
>>> +#define arch_ffsl(x)    ((x) ? 1 + __builtin_ctzl(x) : 0)
>>> +#define arch_fls(x)     ((x) ? 32 - __builtin_clz(x) : 0)
>> I fear you won't like me to say this, but can't we avoid baking in yet
>> another assumption on sizeof(int) == 4, by using at least sizeof(int) * 8
>> here (yet better might be sizeof(int) * BITS_PER_BYTE)?
> 
> Yes and no.
> 
> No, because 32 here is consistent with ARM and PPC when it comes to
> arch_fls().Â  Given the effort it took to get these consistent, I'm not
> interested in letting them diverge.
> 
> But, if someone wants to introduce BITS_PER_INT to mirror BITS_PER_LONG
> and use it consistently, then that would be ok too.

I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
retain a shorthand of that name, if so desired, but I see no reason why
each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 07:44:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 07:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901767.1309696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpjQr-0002sZ-FP; Wed, 05 Mar 2025 07:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901767.1309696; Wed, 05 Mar 2025 07:44: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 1tpjQr-0002sS-CU; Wed, 05 Mar 2025 07:44:45 +0000
Received: by outflank-mailman (input) for mailman id 901767;
 Wed, 05 Mar 2025 07:44: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpjQq-0002sM-1i
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 07:44:44 +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 b2b86431-f995-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 08:44:41 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bbd711eedso27654205e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 23:44:41 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4844abbsm19959772f8f.70.2025.03.04.23.44.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 23:44:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2b86431-f995-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741160681; x=1741765481; 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=Ftr6Xg1hZ02fphiue8vEFJkZwtKT77ok2bC4AeHAdt0=;
        b=EBRtDoVTzBQsgJHYRVBnMiNEp7A28zfjuHYvTIXXzaoMHrIs4eXRG4xHRVhZA46u0E
         +8lNLBtqK7AlgEys1iPBoeUwVc7x0ixIYDvRSD7zt/No1NRPMQVx+/tOrAcIMFD4o4sU
         afbCj9xWm0Y/YeueZ0WJuD+O60Zvjd6xUZBtT6pCa+d6hkJiyA2R5Hp+16gEipGeKY+v
         H/oAKNSlGvf+ZEobmbxUKXvQb2jiye268LrcdPxdPq76mBAbZr+unCWyGmj7o6zBPQsz
         iRKR7f0F8RizU377b0kuQn78LxAn1GmHMmX7xFgMIet0CmBdDkAFDAqXfw4tY0yHha75
         Mgdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741160681; x=1741765481;
        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=Ftr6Xg1hZ02fphiue8vEFJkZwtKT77ok2bC4AeHAdt0=;
        b=lObjD7S+jnu13o9EDMc1yGfX4XgOjTRy0lQ9GfK/AnVbNds07tAAiot2z34rl0JaDv
         UxOL/y/MN+IcXDdijcj/+ciTWzTJ185XCW5wVbDPFQQex3HWAMZSv7nUY51ZeLg2b/Yp
         994Nyqi82EHTw2hJb67hl3BIdOumF5MbLwfqvJiSLJKX3paZw4GNekwL85iZMfAv6ZJe
         zBOaabJH4k+Cz3ku7AJ2gbrUZBg5hFeLmY/DsL37/jdn2Yj0g4wN7ulmJOuTH1hdEnSE
         M+IoXeSCrrBXlu3R3Egzr46YyflY9Njq20TvA95spYLmt2a+k7axEa1xP+n+Gje9Mgah
         ERrQ==
X-Forwarded-Encrypted: i=1; AJvYcCV448fVZnzAIJF5tsaqXX1Uvrl1b4W2UF/S3NXVWQiuY8ZsVPnbshBLbUawaY4faW/FRWesnxjZD/8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEUSW4i04fHjIDCy0CcWFvXg2c/5e20bZMwephi6hrt4W9+01c
	mQwN6Yr552d83/JyGjErV2ijnIRYwgKFrM3KiUnj3OOh8pcOyhZipIaBa2SWQA==
X-Gm-Gg: ASbGnctBXdtp/S9e2hC/1wvtomHd4BkJSIvRwE0bjAGvdf4lnfBXEvQxv7cmqeSfflA
	MnSJzywh0j0tAlbi/pMvB28EFpxAU83yPgvUnUXKZAXtOhSHd81vpa8oRc5hvzZv7NsYDtEeD1W
	Nj8G3hogV4omhnQV39nODJD6XOA2yRX6HpHHmyC0xfue8LhTmmNk/8Dehki1CAsYhQtTdD7NyJq
	elThbvhaRbNH7r8czSZrifaZUBubr+aPkY5kKSK4UHmaLNgikh09jKC5WRqq6QhILYf/T59iRc4
	XcMtuKLjmCngABgrusWjpHRgAnxGFIOJIfMG0cM9dJKzuT60DT7zhJSYww5lcbgYHeVCelxF5LK
	WHkUn/OqFKH6OPLcob0Wi9azqUDaoPQ==
X-Google-Smtp-Source: AGHT+IGZxbAl2Ch7j7/qxxcuF47syUqb4FVu29X0J0RrQXpTupfHR1G2qaQwKQXvuWZqoH3/FZAp2Q==
X-Received: by 2002:a5d:64c5:0:b0:38d:d371:e04d with SMTP id ffacd0b85a97d-3911f7bbb52mr1417527f8f.34.1741160681048;
        Tue, 04 Mar 2025 23:44:41 -0800 (PST)
Message-ID: <47a9697c-2acb-4082-82cc-7903651b1abd@suse.com>
Date: Wed, 5 Mar 2025 08:44:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 2/8] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids
 API
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Julien Grall <julien@xen.org>
References: <cover.1739182214.git.mykyta_poturai@epam.com>
 <67b9bd138c12c0df35e5c4b3137c30ad345097d5.1739182214.git.mykyta_poturai@epam.com>
 <67c8ce1e-5559-4567-9eed-970d97c29bda@suse.com>
 <e6ea52a3-c7ce-411f-8186-cf725aa608f3@epam.com>
 <82b8b042-564c-4013-863e-499c316be344@suse.com>
 <8a559344-e239-4b99-bfaf-325d0d8aded3@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: <8a559344-e239-4b99-bfaf-325d0d8aded3@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.02.2025 12:31, Mykyta Poturai wrote:
> 
> 
> On 26.02.25 12:48, Jan Beulich wrote:
>> On 26.02.2025 10:58, Mykyta Poturai wrote:
>>> On 10.02.25 12:52, Jan Beulich wrote:
>>>> On 10.02.2025 11:30, Mykyta Poturai wrote:
>>>>> --- a/xen/drivers/passthrough/iommu.c
>>>>> +++ b/xen/drivers/passthrough/iommu.c
>>>>> @@ -20,6 +20,7 @@
>>>>>    #include <xen/param.h>
>>>>>    #include <xen/softirq.h>
>>>>>    #include <xen/keyhandler.h>
>>>>> +#include <xen/acpi.h>
>>>>>    #include <xsm/xsm.h>
>>>>>    
>>>>>    #ifdef CONFIG_X86
>>>>> @@ -744,6 +745,18 @@ int __init iommu_get_extra_reserved_device_memory(iommu_grdm_t *func,
>>>>>        return 0;
>>>>>    }
>>>>>    
>>>>> +int iommu_add_pci_sideband_ids(struct pci_dev *pdev)
>>>>> +{
>>>>> +    int ret = -EOPNOTSUPP;
>>>>> +
>>>>> +#ifdef CONFIG_HAS_PCI
>>>>> +    if ( acpi_disabled )
>>>>> +        ret = iommu_add_dt_pci_sideband_ids(pdev);
>>>>> +#endif
>>>>> +
>>>>> +    return ret;
>>>>> +}
>>>>
>>>> This function has no caller, which violates a Misra rule iirc. Considering
>>>> all information given here it's also unclear why it would gain a caller on
>>>> x86 (at least as long as DT isn't used there).
>>>
>>> Would it be ok to wrap it with CONFIG_ARM? I am not quite sure how
>>> relevant this mapping functionality is to X86 iommus, although Linux has
>>> similar implementations for ACPI.
>>
>> Besides it being unclear to me whether the function is really Arm-specific
>> (what about RISC-V or PPC), I also don't see how that would address the
>> Misra concern. (If the function was truly Arm-specific, it would better
>> move into an Arm-specific source file.)
>>
>>> Alternatively, we can remove this abstraction for now, to call
>>> iommu_add_dt_pci_sideband_ids from Arm directly and only introduce it
>>> back when at least some ACPI implementation is done.
>>
>> I'd leave that to Arm folks to judge.
>>
>>> Also, just want to mention the issue that forced me to move this from
>>> the header in the first place in case it is not known. There is a
>>> conflict in fixed width integers definitions between actypes.h and
>>> efibind.h and it was revealed when including acpi.h into iommu.h.
>>> I initially tried to fix the source of this conflict, but I don't know
>>> enough about ACPI and EFI quirks to confidently do it.
>>>
>>> In file included from ./include/acpi/acpi.h:57,
>>>                    from ./include/xen/acpi.h:57,
>>>                    from ./include/xen/iommu.h:28,
>>>                    from ./include/xen/sched.h:12,
>>>                    from ./arch/x86/include/asm/paging.h:17,
>>>                    from ./arch/x86/include/asm/guest_access.h:11,
>>>                    from ./include/xen/guest_access.h:10,
>>>                    from arch/x86/efi/runtime.c:5:
>>> ./include/acpi/actypes.h:130:35: error: conflicting types for âUINT64â;
>>> have âlong long unsigned intâ
>>>     130 | typedef COMPILER_DEPENDENT_UINT64 UINT64;
>>>         |                                   ^~~~~~
>>> In file included from ./arch/x86/include/asm/efibind.h:2,
>>>                    from ./common/efi/efi.h:1,
>>>                    from arch/x86/efi/runtime.c:1:
>>> ./arch/x86/include/asm/x86_64/efibind.h:89:20: note: previous
>>> declaration of âUINT64â with type âUINT64â {aka âlong unsigned intâ}
>>>      89 | typedef uint64_t   UINT64;
>>
>> Yeah, sadly ACPI and EFI headers (both imported from different origins)
>> aren't overly compatible with one another.
>>
>> Jan
> 
> Hi everyone
> I searched for an appropriate place to put this function but I am a 
> little stuck here:
> - Can't be put in the header as static inline because of header conflict.
> - Putting it in Arm only files or defines feels wrong because it is not 
> in fact Arm-specific.
> - In iommu.c it can become dead code on some architectures.
> - Removing it and calling iommu_add_dt_pci_sideband_ids goes against the 
> effort to make DT and ACPI able to co-exist.
> 
> Could you please suggest a good way forward from here? I see two 
> possible ones:
> 
> 1. Fix the header conflict and return it to the header as static inline 
> - best solution in my opinion

I'm very likely to say "no" to anything trying to go this route. The
headers in question want leaving alone as much as possible, to stay
close to their originals. The only acceptable approach there would be
to propose adjusting said originals.

> 2. Move to arm files it gains callers on other architectures.

I fear I don't understand this one.

Jan

> If we are going for the first approach maybe you can provide some 
> pointers on how to better deal with this header conflict? Adding ifdef 
> guards to the definitions? Renaming the types in one of them to 
> something like EFI_UINT64 or ACPI_UINT64? Would a successful boot on the 
> ACPI/EFI system be enough to confirm that I didn't break anything or 
> will it require some more specific tests?
> 



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 07:53:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 07:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901779.1309706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpjZ0-0004Tz-Ag; Wed, 05 Mar 2025 07:53:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901779.1309706; Wed, 05 Mar 2025 07:53: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 1tpjZ0-0004Ts-7e; Wed, 05 Mar 2025 07:53:10 +0000
Received: by outflank-mailman (input) for mailman id 901779;
 Wed, 05 Mar 2025 07:53: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpjYz-0004TW-Gc
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 07:53:09 +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 dd5bde37-f996-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 08:53:02 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-390eebcc331so283291f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 04 Mar 2025 23:53:02 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd426c841sm9497915e9.8.2025.03.04.23.53.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Mar 2025 23:53:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd5bde37-f996-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741161182; x=1741765982; 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=0Pa6tXK+1ttLMdugFkaiTNN4R7BTebEbxBi5gF10G1A=;
        b=Nwzp1PY2oS81+QW+hqhbO22lufqVtdZY2waZ2iX1NESbSk+exxFz0r1/HW2itgQ6+g
         LRhclio50pCElZMWkYMz9Dnsv5O0lsiUdnc8a7LYhLFyqe/nVCRb306zB5bBMwzoztMs
         naTFS1int1OH6g1Pg1e+3YX5/su0GFC7mnkpGi7eqKRvlO8OXMW9bYSjlWKdxnA+Qouj
         TM5PkpR6sGBufCrR8fdY8njKmv0rF6WsNX3DaTFr2if4xALGDSjiLAe4L26nzWq5PPVS
         4psjRvr8YXxpf4mtR0HbNm6K7pRcYNblS6rz2iVU+zNh9yrsd8UPzwJoMm07lHp6JdIU
         spGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741161182; x=1741765982;
        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=0Pa6tXK+1ttLMdugFkaiTNN4R7BTebEbxBi5gF10G1A=;
        b=BnVGJ0y+6O6qEABq2Fwum92AahOscA/sY+YTihtCvGfNxC83rRW4yo+TjcoqFuN61X
         zs8orPNyWaRQlON143cSX3gPeSpjC2iTjzlf+CsaBXeo5goYKqWmeEU1OFuuED/YNe0H
         M4eDxU4JmCH+wAPIEqFmUlqhX3fjx7F8Qq1PbctSa8b+ekfZLjOVq8qqU2ki6nEOyFg+
         Zz6SbdTzlsjaXrZDnwS0SAOrWmsjfzBW7mQi9nWBMjipInxkU9VqQhobweguLS2dB+4O
         6tQmmdlQ6YNUD0AFVYa4AkZG1Ri666Hjo+AFNECFPjFF5BDgZOChKcIn8PEqIwk/FG26
         VLag==
X-Forwarded-Encrypted: i=1; AJvYcCVgMHFEft8No21j4FYL4rTvl9xahJ/wpM7HwYLL+/DP8a2Oe++KtmUrFhNnq6ugWLUPR9/kbxak8to=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxxU7dzST8ggYfHKBgncDHj/sC7lOrsv54Uz6b2OWesdo67wBCw
	ULggpL1Szzu2fQ9f5iM+WM5Wtr6tSzaE5mKOFiYe8f8zCR5RKNz0JuRlxzz15A==
X-Gm-Gg: ASbGncuy2r/Pqy9bQ/AtSbnWVPDw9OQicjCJ2Ov+HQj/Ii0oiiSgnVQbbsbv3lrFDFl
	q1oH7/D9Q+CZDN8+agvuKYhtL5073jipD53fBqfiVmC54L3Y1M+SNMfvQoiEeZ0srj2+1mLZ32l
	/6v7cqBRgjskNVcQqXCYrj6OpgWd8s6j0k4t2QQO43hh0XN/xZORBKUlyOPmkzZiuZsAS8+OT1L
	uHF06RmiIzLwv3T99Ax1PsyDJDehv4bliI6qZ8oNKCM5zO2mblYLe67PVAiCGS0c+pc5KLH5vJ9
	NqUvo0QhA0r64C/JlzP+gQoNNZyv3GHRnei5uxjSyJQoEWc/A7nz1uT1XRKmRQfEXhmBYUmLI2E
	HUQKnw5MB2S3LhQqLrSqrUuFQD0hLPQ==
X-Google-Smtp-Source: AGHT+IGvbv2lLDA6uWnjmUM8epToYBhvDhAklQfARHog7wDYBHb4Dpbz+e9c5skpPqvEemPicoUB+A==
X-Received: by 2002:a5d:6484:0:b0:391:b93:c971 with SMTP id ffacd0b85a97d-3911561aaccmr4718034f8f.20.1741161182122;
        Tue, 04 Mar 2025 23:53:02 -0800 (PST)
Message-ID: <98998559-27d6-4b65-bd45-cb1755d48564@suse.com>
Date: Wed, 5 Mar 2025 08:53:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Don't cast away const-ness in vcpu_show_registers()
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250225230213.1248136-1-andrew.cooper3@citrix.com>
 <7e77dceb-489b-4022-a665-2a008ddfe844@suse.com>
 <f62841d3-b0e4-4007-a056-a807a19fc988@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: <f62841d3-b0e4-4007-a056-a807a19fc988@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.03.2025 17:52, Andrew Cooper wrote:
> On 26/02/2025 7:33 am, Jan Beulich wrote:
>> On 26.02.2025 00:02, Andrew Cooper wrote:
>>> The final hunk is `(struct vcpu *)v` in disguise, expressed using a runtime
>>> pointer chase through memory and a technicality of the C type system to work
>>> around the fact that get_hvm_registers() strictly requires a mutable pointer.
>>>
>>> For anyone interested, this is one reason why C cannot optimise any reads
>>> across sequence points, even for a function purporting to take a const object.
>>>
>>> Anyway, have the function correctly state that it needs a mutable vcpu.  All
>>> callers have a mutable vCPU to hand, and it removes the runtime pointer chase
>>> in x86.
>>>
>>> Make one style adjustment in ARM while adjusting the parameter type.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>>
>>> RISC-V and PPC don't have this helper yet, not even in stub form.
>>>
>>> I expect there will be one objection to this patch.  Since the last time we
>>> fought over this, speculative vulnerabilities have demonstrated how dangerous
>>> pointer chases are, and this is a violation of Misra Rule 11.8, even if it's
>>> not reasonable for Eclair to be able to spot and reject it.
>> On these grounds
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks.
> 
>> irrespective of the fact that a function of this name and purpose really, really
>> should be taking a pointer-to-const.
> 
> No - this is a perfect example of why most functions should *not* take
> pointer-to-const for complex objects.
> 
> There is no such thing as an actually-const vcpu or domain; they are all
> mutable.Â  The reason why x86 needs a strictly-mutable pointer is because
> it needs to take a spinlock to negotiate for access to a hardware
> resource to read some of the registers it needs.
> 
> This is where there is a semantic gap between "logically doesn't modify"
> and what the C keyword means.

And hence (in part) why C++ gained "mutable" ages ago.

> Anything except the-most-trivial trivial predates may reasonably need to
> take a spinlock or some other safety primitive, even just to read
> information.
> 
> 
> Because this was gratuitously const in the first place, bad code was put
> in place of making the prototype match reality.
> 
> This demonstrates a bigger failing in how code is reviewed and
> maintained.Â  It is far too frequent that requests to const things don't
> even compile.Â  It is also far too frequent that requests to const things
> haven't read the full patch series to realise why not.Â  Both of these
> are a source of friction during review.
> 
> But more than that, even if something could technically be const right
> now, the request to do so forces churn into a future patch to de-const
> it in order to make a clean change.Â  And for contributors who aren't
> comfortable saying a firm no to a maintainer, this turns into a bad hack
> instead.
> 
> i.e. requests to const accessors for complexity objects are making Xen
> worse, not better, and we should stop doing it.

Okay, let's agree that we don't agree in our perspectives here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 08:09:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 08:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901791.1309716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpjoP-0008Qf-MK; Wed, 05 Mar 2025 08:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901791.1309716; Wed, 05 Mar 2025 08:09: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 1tpjoP-0008QY-JN; Wed, 05 Mar 2025 08:09:05 +0000
Received: by outflank-mailman (input) for mailman id 901791;
 Wed, 05 Mar 2025 08:09: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpjoO-0008QS-AE
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 08:09:04 +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 19409b62-f999-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 09:09:02 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-390df0138beso3377755f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 00:09:02 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b6ccdsm20160062f8f.46.2025.03.05.00.09.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 00:09:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19409b62-f999-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741162141; x=1741766941; 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=EVnsiotWi6VMKlk2D+ZwbAfmRuq1u+3n6X58FAgmp5M=;
        b=VkplIpMQmU6rmiQr0fWrxJpW3Q+zoaRMfc3LE/nfyeOGsUdLsjhyEx6yFAgcOpfWk0
         5b+vnMHcillqf3B/Ngwi04zc5t/S9GEB9cS3SXnFGKuu42eNRcrh1mGwp0Yr+DBRYDsM
         r0v9TAHSaVql+6udWUs9+p6ILFSgMF7buFkIEOEG80lkp8p+0ADI/mAZuhXON00clu6x
         YVTxozYJsW3JATDzqdNq+JRljZM7/ll/Iw6/+OHcbL2DPV+R/4wJv0rCN7bbbU7Iub9f
         zQmZJgt2PGD9Xv9g8kTH+HINKNONcRdg7mRMYO7x8nKr7gFfSggbkPEOvtwllpEXD7M3
         H16g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741162142; x=1741766942;
        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=EVnsiotWi6VMKlk2D+ZwbAfmRuq1u+3n6X58FAgmp5M=;
        b=Ie2fUtV69qycdF/45H4YjRonu0FhPxvmx4FuCkF8o17/AD8tSISbEfbgq3AfLYAya9
         oRrew+Mt7Fqlhw2Zg+FPg6bmQ6cDEmxIOXr1iCB9Ysf8uFAxziD5WNG+zDjd9snUaYQC
         BwGvxlinM/8dezmhhGJS7ssCtR+eI+MMDelOK1NM9yDAPVYSo9DJmnZVZeOFsBF4LGtN
         Wt4HuJARMRDrPMCANSypZ8MHzqathJKxz7aDoTvblalnnrg5u5vLblGckIZszOHszsq2
         6kKoMeddEE4p692+pd3qk3g3Keeuea7OiXNTpe+FfF1k58h2n79kT44vsOfLdHs6RkeA
         IMuQ==
X-Forwarded-Encrypted: i=1; AJvYcCV9Mr0eBlLIq6TQo4isUovQRkve2phBmEBtuAcqdTmpQC6ptOjo+ySkXtgZrisvJ79ln4o42HswbG4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzs2JLJu1kRxmOD4dpt60m/ZdSQCHtpWWWLMC1V9JOU4dSJxOWL
	7m7v+HtO/rHMHNNqW7ecn57DFV/CyARL0iB0lA9J6lKPI49oIpzKOu5i0m31zA==
X-Gm-Gg: ASbGncvdPgIOFu/KnkZc7cyuK0If0NlV8lyRlRXGP8La9mCrH9NWQz1nEwE8rRMfkvg
	eMgc/sy7u9StPZAtAJdj4dS59bVwWem1wkxor4a/qlxm2jrB1/YjVRDrGTVoOLgVFb0itep7djX
	wQKo1vj5lHGYHtai/wyIjskYBfaaCuyOs3TEiCfcjL8Q9yntzF7aBjKmPAG1jwJk0ooBfQGS1uH
	h0F2S3afLf223RqCXYDN6ebTof2+EqNgilscd/tzKoQleD/v3l85grz8J6Bv4MiC5RCTYL3UUMy
	zUgwkd5YIjOvuUvBdoL7IjqeK/rc6ZhTNoojvbzPhercf254DnmmWJoopAthbeUIrtHCeqVfsEl
	Oz4LB4rgOEJ74Ps5U2LFZESRCDqeIgg==
X-Google-Smtp-Source: AGHT+IHzThqBnrMv4k3ifpugnEys2MwHnOm8ndw99xKxrK+IbRUge4fipOy0EI9QXOgPq9DHE9VaTA==
X-Received: by 2002:a5d:4391:0:b0:38f:32a7:b6f3 with SMTP id ffacd0b85a97d-3911f7baf8dmr1203078f8f.40.1741162141628;
        Wed, 05 Mar 2025 00:09:01 -0800 (PST)
Message-ID: <3e982ad9-60ff-4e74-9f3b-ba3e8b1306f4@suse.com>
Date: Wed, 5 Mar 2025 09:09:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
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>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>, xen-devel@lists.xenproject.org
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <5184725e-baf6-460f-a8ee-2bb9982d7adc@suse.com>
 <aea5703c-9392-4b80-b517-cc411265e264@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: <aea5703c-9392-4b80-b517-cc411265e264@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.02.2025 17:49, Jason Andryuk wrote:
> On 2025-02-27 03:54, Jan Beulich wrote:
>> On 26.02.2025 22:11, Jason Andryuk wrote:
>>> Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>
>> Just to clarify: Who's the original patch author? The common expectation
>> is that the first S-o-b: matches From:.
> 
> I took Xenia's changes to xen/drivers/passthrough/pci.c and 
> xen/include/xen/pci.h from an earlier patch and re-used them.  I wrote 
> the rest, so I put myself in the Form: line.

Unusual arrangements of tags typically call for some clarification in ...

>>> ---

... the post-commit-message area. In the case here the question arises
whether a different tag (Co-Developed-by:?) might not be better.

>>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
>>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
>>> @@ -543,6 +543,31 @@ int cf_check amd_iommu_msi_msg_update_ire(
>>>       if ( !msg )
>>>           return 0;
>>>   
>>> +    if ( pdev->gvec_as_irte_idx && amd_iommu_perdev_intremap )
>>> +    {
>>> +        int new_remap_index = 0;
>>> +        if ( msi_desc->gvec )
>>> +        {
>>> +            printk("%pp: gvec remap_index %#x -> %#x\n", &pdev->sbdf,
>>> +                   msi_desc->remap_index, msi_desc->gvec);
>>> +            new_remap_index = msi_desc->gvec;
>>> +        }
>>> +
>>> +        if ( new_remap_index && new_remap_index != msi_desc->remap_index &&
>>> +             msi_desc->remap_index != -1 )
>>> +        {
>>> +            /* Clear any existing entries */
>>> +            update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>>> +                                               &msi_desc->remap_index,
>>> +                                               NULL, NULL);
>>> +
>>> +            for ( i = 0; i < nr; ++i )
>>> +                msi_desc[i].remap_index = -1;
>>> +
>>> +            msi_desc->remap_index = new_remap_index;
>>
>> You zap nr entries, and then set only 1? Doesn't the zapping loop need to
>> instead be a setting one? Perhaps with a check up front that the last value
>> used will still fit in 8 bits? Or else make applying the quirk conditional
>> upon nr == 1?
> 
> The code below here sets all `nr` entries on success:
> 
>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>                                              &msi_desc->remap_index,
>                                              msg, &data);
>      if ( !rc )
>      {
>          for ( i = 1; i < nr; ++i )
>              msi_desc[i].remap_index = msi_desc->remap_index + i;
>          msg->data = data;
>      }
> 
>      return rc;

Ah, yes, I see now how this matches other behavior in the function.

> Maybe all the remap_index settting should be moved into 
> update_intremap_entry_from_msi_msg()?

That would require passing in msi_desc (or making assumptions on the
passed in "int *remap_index"), neither of which looks very attractive
to me.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 08:23:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 08:23:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901801.1309727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpk2P-0003G3-Mt; Wed, 05 Mar 2025 08:23:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901801.1309727; Wed, 05 Mar 2025 08: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 1tpk2P-0003Fw-Js; Wed, 05 Mar 2025 08:23:33 +0000
Received: by outflank-mailman (input) for mailman id 901801;
 Wed, 05 Mar 2025 08: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=/re5=VY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tpk2O-0003Fq-DE
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 08:23:32 +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 1f2c6c75-f99b-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 09:23:31 +0100 (CET)
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 153091F393;
 Wed,  5 Mar 2025 08:23:30 +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 A92461366F;
 Wed,  5 Mar 2025 08:23:29 +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 cu2lJwEKyGfNVwAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 05 Mar 2025 08:23: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: 1f2c6c75-f99b-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741163010; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=JM83nz5nwmNiji8EpTUpY5iT7V6GLZxHQvD8RCXhdjs=;
	b=aTzQKXd9rKVo6tcFSe8aIasmL3jGYYm0ROGR0rKMxkWFGYaqggo1Dp3XKfbmcNfP7cN/Tc
	Oy1PldjVZPtv0xosRg4hKag8Flukr/i94VJBgL3J0w3nT6XnYMucj0s4opIyEmphf2NuuA
	p2xVUIia5LtZ8tsOwOYk/vFaKSrTe2U=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741163010; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=JM83nz5nwmNiji8EpTUpY5iT7V6GLZxHQvD8RCXhdjs=;
	b=aTzQKXd9rKVo6tcFSe8aIasmL3jGYYm0ROGR0rKMxkWFGYaqggo1Dp3XKfbmcNfP7cN/Tc
	Oy1PldjVZPtv0xosRg4hKag8Flukr/i94VJBgL3J0w3nT6XnYMucj0s4opIyEmphf2NuuA
	p2xVUIia5LtZ8tsOwOYk/vFaKSrTe2U=
Message-ID: <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
Date: Wed, 5 Mar 2025 09:23:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
Content-Language: en-US
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: <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dbhhULSmcNlyvL7gRyeoUzc7"
X-Spam-Score: -6.20
X-Spamd-Result: default: False [-6.20 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[10];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,imap1.dmz-prg2.suse.org:helo]
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dbhhULSmcNlyvL7gRyeoUzc7
Content-Type: multipart/mixed; boundary="------------P1Ubysw3RIrM03LiGmHTT42X";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
In-Reply-To: <6e63a858-9554-440b-92f1-55dc34256e0b@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=

--------------P1Ubysw3RIrM03LiGmHTT42X
Content-Type: multipart/mixed; boundary="------------1Hx7lp2CHpzz4gtDZrakH1zq"

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

T24gMjUuMDIuMjUgMTI6MTAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IFBpbmc/IEVzcGVj
aWFsbHkgLi4uDQo+IA0KPiBPbiAwNC4wMi4yNSAxMjozMywgSnVlcmdlbiBHcm9zcyB3cm90
ZToNCj4+IFhlbnN0b3JlZCBpcyB1c2luZyBsaWJ4ZW5jdHJsIGZvciBvbmx5IG9uZSBwdXJw
b3NlOiB0byBnZXQgaW5mb3JtYXRpb24NCj4+IGFib3V0IHN0YXRlIG9mIGRvbWFpbnMuDQo+
Pg0KPj4gVGhpcyBwYXRjaCBzZXJpZXMgaXMgcmVtb3ZpbmcgdGhhdCBkZXBlbmRlbmN5IGJ5
IGludHJvZHVjaW5nIGEgbmV3DQo+PiBzdGFibGUgaW50ZXJmYWNlIHdoaWNoIGNhbiBiZSB1
c2VkIGJ5IHhlbnN0b3JlZCBpbnN0ZWFkLg0KPj4NCj4+IFRoZXJlIHdhcyBhIFJGQyBzZXJp
ZXMgc2VudCBvdXQgMyB5ZWFycyBhZ28sIHdoaWNoIEkgaGF2ZSB0YWtlbiBhcyBhDQo+PiBi
YXNlIGFuZCBieSBhZGRyZXNzaW5nIGFsbCBjb21tZW50cyBmcm9tIGJhY2sgdGhlbi4NCj4+
DQo+PiBUaGUgbWFpbiBkaWZmZXJlbmNlcyBzaW5jZSB0aGF0IFJGQyBzZXJpZXMgYXJlOg0K
Pj4NCj4+IC0gSW5zdGVhZCBvZiBpbnRyb2R1Y2luZyBhbiBuZXcgbWFpbiBoeXBlcmNhbGwg
Zm9yIGEgc3RhYmxlIG1hbmFnZW1lbnQNCj4+IMKgwqAgaW50ZXJmYWNlIEkgaGF2ZSBqdXN0
IGFkZGVkIGEgbmV3IGRvbWN0bCBzdWItb3AsIGFzIHJlcXVlc3RlZCBpbiAyMDIxLg0KPj4N
Cj4+IC0gSSBoYXZlIGFkZGVkIGEgbmV3IGxpYnJhcnkgbGlieGVubWFuYWdlIGZvciBlYXN5
IHVzZSBvZiB0aGUgbmV3DQo+PiDCoMKgIHN0YWJsZSBoeXBlcnZpc29yIGludGVyZmFjZS4g
TWFpbiBtb3RpdmF0aW9uIGZvciBhZGRpbmcgdGhlIGxpYnJhcnkNCj4+IMKgwqAgd2FzIHRo
ZSByZWNlbnQgYXR0ZW1wdCB0byBkZWNvdXBsZSBveGVuc3RvcmVkIGZyb20gdGhlIFhlbiBn
aXQgdHJlZS4NCj4+IMKgwqAgQnkgdXNpbmcgdGhlIG5ldyBsaWJyYXJ5LCBveGVuc3RvcmVk
IGNvdWxkIGJlbmVmaXQgaW4gdGhlIHNhbWUgd2F5IGFzDQo+PiDCoMKgIHhlbnN0b3JlZCBm
cm9tIHRoZSBuZXcgaW50ZXJmYWNlOiBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byByZWx5IG9u
DQo+PiDCoMKgIHN0YWJsZSBsaWJyYXJpZXMgb25seS4NCj4+DQo+PiAtIE1pbmktT1MgaGFz
IGdhaW5lZCBzb21lIG1vcmUgY29uZmlnIG9wdGlvbnMgcmVjZW50bHksIHNvIGl0IHdhcyBy
YXRoZXINCj4+IMKgwqAgZWFzeSB0byBtYWtlIHhlbnN0b3JlW3B2aF0tc3R1YmRvbSBpbmRl
cGVuZGVudCBmcm9tIGxpYnhlbmN0cmwsIHRvby4NCj4+DQo+PiBQbGVhc2Ugbm90ZSB0aGF0
IHRoZSBsYXN0IDQgcGF0Y2hlcyBjYW4gYmUgY29tbWl0dGVkIG9ubHkgYWZ0ZXIgdGhlDQo+
PiByZWxhdGVkIE1pbmktT1MgcGF0Y2ggImNvbmZpZzogYWRkIHN1cHBvcnQgZm9yIGxpYnhl
bm1hbmFnZSIgaGFzIGdvbmUgaW4NCj4+IEFORCB0aGUgTWluaS1PUyBjb21taXQtaWQgaGFz
IGJlZW4gdXBkYXRlZCBpbiBDb25maWcubWsgYWNjb3JkaW5nbHkhIFRoZQ0KPj4gTWluaS1P
UyBwYXRjaCBoYXMgYmVlbiBBY2tlZCBhbHJlYWR5LCBzbyBpdCBjYW4gZ28gaW4gYXMgc29v
biBhcyBwYXRjaA0KPj4gNSBvZiB0aGlzIHNlcmllcyAodGhlIG9uZSBpbnRyb2R1Y2luZyBs
aWJ4ZW5tYW5hZ2UpIGhhcyBiZWVuIGNvbW1pdHRlZC4NCj4+DQo+PiBBcyBwYXRjaGVzIDEg
YW5kIDIgY2hhbmdlIGN1cnJlbnQgYmVoYXZpb3IsIEphbiBkaWRuJ3Qgd2FudCB0byBnaXZl
IGhpcw0KPj4gQWNrIChoZSBkaWRuJ3QgcmVqZWN0IHRoZSBwYXRjaCBlaXRoZXIpLiBTbyBJ
J20gYXNraW5nIG90aGVyICJSZXN0Ig0KPj4gbWFpbnRhaW5lcnMgdG8gbG9vayBhdCB0aG9z
ZSBwYXRjaGVzIHNwZWNpZmljYWxseS4NCj4gDQo+IC4uLiBwYXRjaGVzIDEgYW5kIDIgY291
bGQgbmVlZCBhbiBhZGRpdGlvbmFsIG9waW5pb24uDQoNCkFuZCBhbm90aGVyIHBpbmcuDQoN
Ck9uZSBvZiBBbmRyZXcsIFN0ZWZhbm8sIEp1bGllbiwgUm9nZXIsIEFudGhvbnksIE1pY2Fs
OiBQbGVhc2UgaGF2ZSBhIGxvb2suDQoNClRoZSByZWxhdGVkIGRpc2N1c3Npb24gYmV0d2Vl
biBKYW4gYW5kIG1lIGNhbiBiZSBmb3VuZCBoZXJlIChwYXRjaGVzIDIgYW5kIDMpOg0KDQpo
dHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMjAyNTAxMDcxMDE3MTEuNTk4MC0x
LWpncm9zc0BzdXNlLmNvbS8NCg0KDQpKdWVyZ2VuDQo=
--------------1Hx7lp2CHpzz4gtDZrakH1zq
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-----

--------------1Hx7lp2CHpzz4gtDZrakH1zq--

--------------P1Ubysw3RIrM03LiGmHTT42X--

--------------dbhhULSmcNlyvL7gRyeoUzc7
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/Ey8FAmfICgEFAwAAAAAACgkQsN6d1ii/Ey+M
GAf/Z7WJGpqP/vYK6JFgFuuhdZYgHUBgn303EGyT2+VLqOC51W6lp4bkzNQJgICT5k6vWVToVOgu
DTsW8fM0Bzy89EvpUNWb1k9kS3gTp1LNzTNM1xe4mJANrUT9JlxCWu6qtwRmqBRI7gucyAM59PFL
936cLd65eTnaqh4fIBfa7JroL7IDI+WFT0epAZdPSWgf1W+K6uJ58SlKebKAp5el9rkHXLJQgi8J
thR2ALy7CmgdMO1V/pvaohDYMkMv3Ixyk69Jr7aX1zQRxak2K3l0yjsc+AbKfHjmt3Nsp6LyTTu6
HPrY0lG0gTdSVmgQUqACjSEOzwWe3CEo8D3rlIbK0w==
=j+EH
-----END PGP SIGNATURE-----

--------------dbhhULSmcNlyvL7gRyeoUzc7--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 08:24:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 08:24:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901806.1309738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpk2w-0003jS-3b; Wed, 05 Mar 2025 08:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901806.1309738; Wed, 05 Mar 2025 08:24: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 1tpk2v-0003jL-Vs; Wed, 05 Mar 2025 08:24:05 +0000
Received: by outflank-mailman (input) for mailman id 901806;
 Wed, 05 Mar 2025 08:24: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpk2u-0003Fq-BU
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 08:24:04 +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 3269ef11-f99b-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 09:24:03 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so42102625e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 00:24:03 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd426c4c8sm10343825e9.7.2025.03.05.00.24.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 00:24:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3269ef11-f99b-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741163043; x=1741767843; 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=QPHlNUdygfDBRG0dAx1GMtB352XI9KOZCfbmCuX9d2M=;
        b=RPlJ/nro35DZuE4Vj+WMICdzOUdaW9IRB2F45sv4dsihfhDqrNjDXADosIwm3wbF85
         A8HHKGMaRd7CQr9XsVx+93dc46pRty+KDQ9ucUpQoiHs1FC9YQkYDpfLNBToSLAdedty
         jqvFMvFhvXsJUDl++bmBAXR5y67rAasKQr18+IX9Y6V9/PaxudFSvJuqH3HTL24ptPRJ
         HSq3o7Z+1/F5uRGC7ZPunZmOcxkO/vLpKuBjM0V7QSA/7bqoJNgI2aZLXP4nMuMR0zFl
         wKeWpTjjBjvNyeDYqki6yxPQCBwYih7b5G60ghDHmNeBHkbUf5B3+5qIJEO/0iL1V0hx
         idxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741163043; x=1741767843;
        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=QPHlNUdygfDBRG0dAx1GMtB352XI9KOZCfbmCuX9d2M=;
        b=wrue5b6c/3BV3V3REOGLt3TbMcJHZUZAU0qNuBDl3bkQu/d+aM/s9IKqTOsHt6MbPU
         aseEBiVLn4wMiyQHT1kjUlKVbkKLwgiZvRa0TYWI+T18NHr17o7Bq3pZR+esq+v1S+i1
         0C11DFmf/rDWzqaGwdCQHHAdncWBXsTRKyLgAETC3pJY9FG655ybk9BpCK9o1YhQYRJ1
         iS/8HYoP3fEZC1xROnx0HMQdijy07a9MwFMZ9dzEgi9BYze2zg57Hyu0G0mepjJPEVCz
         pObMVeF+Ax7M/dvm3gUue0K13O4dz3wIvXYc2dNoLP5UnnadVp7Jn5Gmwm/6iosgKCCf
         ywug==
X-Forwarded-Encrypted: i=1; AJvYcCVaI6AgyjK/lnDu1pjz6kiExgZa6inaQufyMjSiu0OkpkYT3svlS0rip0auqZmF+l9wbz3OO+nxacw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/CR24xffyPYpLzSzTVnfh5PSK/+Ttbxamcy1ZxrRVI6vJwRAc
	sPWR//iJ19iejPxjoKoCZmEjsGz00KVvVQC3ca3QVIhpJE66sP8Kpi7dOc8I0w==
X-Gm-Gg: ASbGncu9ZP+4bSwY3HkvzSQj01kL4F4plLz7Otgx5QGLLN/yDG33Fso27SgEjO2qs/g
	peQnnB9YvooSTLPDsE2LcyNw2fSq7Nel4ITPMCc9v3hfpqXevzy7/dKp5PfDdlV80wNm1rzTpm7
	ixBb0eQTIcIyvl/5vkkF5NfwNkDMotnp96A813VSZ7ENc2KQ/+CbWz7RuffgYW8hr+MkJFY8POm
	ff47N+hO2A8KKONSvCk68h9cPBO8T0HN/84tuYwazaw0s9HsRuYYTpOJKzV0qVvr1Q7zbl3Kwx1
	6X4fdVAU+gjA0k2HV+dMEYJMebCLeANTRBKzrIO20QUUlWQO4L8MycY7SyvUK6HkPee9CH352ct
	Q2YhR9zJOJQKw4YKBe7w+aJ01H0GkNQ==
X-Google-Smtp-Source: AGHT+IGMucRD/6n1CRCZ90ISQ/mCWyguDVLT0SXbiNwWV6EVQNPicshaAko9i3dNATwund1s2MboNA==
X-Received: by 2002:a05:600c:46ca:b0:43b:cb09:13e9 with SMTP id 5b1f17b1804b1-43bd299e4bemr13427325e9.17.1741163042866;
        Wed, 05 Mar 2025 00:24:02 -0800 (PST)
Message-ID: <c3d7e47a-9fa6-4f3f-9ab9-f348c24788c3@suse.com>
Date: Wed, 5 Mar 2025 09:24:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 1/6] xen/README: add compiler and binutils versions for
 RISCV-64
To: 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: <cover.1740764258.git.oleksii.kurochko@gmail.com>
 <eb86d40b2e3091c829d08a83d43a383f7cc82d1f.1740764258.git.oleksii.kurochko@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: <eb86d40b2e3091c829d08a83d43a383f7cc82d1f.1740764258.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.02.2025 21:07, Oleksii Kurochko wrote:
> Considering that the Zbb extension is supported since GCC version 12 [1]
> and that older GCC versions do not support Z extensions in -march (I haven't
> faced this issue for GCC >=11.2), leading to compilation failures,
> the baseline version for GCC is set to 12.2 and for GNU binutils to 2.39.
> 
> The GCC version is set to 12.2 instead of 12.1 because Xen's GitLab CI uses
> Debian 12, which includes GCC 12.2 and GNU binutils 2.39.

As before, I view this as an insufficient reason to exclude 12.1. Nevertheless
(to now further keep this from going in) ...

> [1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=149e217033f01410a9783c5cb2d020cf8334ae4c
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 08:42:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 08:42:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901827.1309746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpkK6-0006PX-FA; Wed, 05 Mar 2025 08:41:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901827.1309746; Wed, 05 Mar 2025 08:41: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 1tpkK6-0006PQ-CH; Wed, 05 Mar 2025 08:41:50 +0000
Received: by outflank-mailman (input) for mailman id 901827;
 Wed, 05 Mar 2025 08:41: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpkK4-0006PI-F3
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 08:41:48 +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 ab0ce087-f99d-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 09:41:44 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4394a823036so60078015e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 00:41:44 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4847fe5sm20375514f8f.73.2025.03.05.00.41.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 00:41:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab0ce087-f99d-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741164104; x=1741768904; 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=yDWs1UTFyC+Wf0en78h2H/qdHkMXDAfjuJI/8LgEmJg=;
        b=AdS+vzzfiKCJe46b7+J00hYfPzgfCWIf8yt+e6wvz0aGDnRaVhA73oaiSqyqc1PtSt
         xhotdNQLdsVXsymOQRbrD4mAoDhUCEzyPO8pgTYIA73mYkqAEK4sJcm/kG6DRu2Zfc4V
         NrmCtPeW3dTRK1ZgYJnqYxA6irKVbM+WyPQTsZb23jzF2D5eqsl3QgJaYwc5GkihEPvd
         BmRE02lbUU8gNkPGgen2D66qEdnhsUh7evsv2oWBqiZW9j9GFyycdl1Wk4Hb1ugsKbcw
         PC5X9n1539jil7xvFjbxy0z+IsjmMPZn/u/qG6fkjEfu7zvE5N3p+EWwPfIzYxMyb/Ht
         d/5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741164104; x=1741768904;
        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=yDWs1UTFyC+Wf0en78h2H/qdHkMXDAfjuJI/8LgEmJg=;
        b=c22DxNl3pXsmzXTkgCaKQnM0tCy9mswwgGTgUzA4DI7/hNyQNr2oInIc4DTK/yC1Jd
         6RD/9q6MLigayRPKaZ05bJLb/kcjOTKEsEMkLPEzd47pBtCmNrzE8ZpJucLNtBg+q4Kq
         k095xQEkkirNBeRiEtufPwtK+jimWjGPOx5I0CTzYcrN9evnh3kjyJ7Xz7VMk5VDQdJx
         FNO/lWDbSlSz8dmj9fH+EZnkRLcfj3xjxDfr8daxoSCruhzedscXUAHNZjHs8nhUxEnm
         aUPKQNjSGjZwFeA6FmX5/MTDs2K3dbcZyIHEFWBDDEIksmMjVYrzR9XfdkScGogiM4yc
         eEnA==
X-Gm-Message-State: AOJu0YxD2ais7KHSwSCfYpyHNnFhiKWCMPR/OmIvof6qDif2r5Z5rEcZ
	V5IP53X1if76kEecJobAlqTTtEwXNZfBHxuZnM+6OqhAxN18lmOXSMkibAnN/A==
X-Gm-Gg: ASbGnctFz7X8psgzKIQmjLmFQHRi2ZhcyP9rKNC4W3OcvPd6/JV5F9ymcwXbBDazXgk
	m52AfCGwAKCm6r2rejkOKvu/bSs7Vi3Z7OJZOjagBtQ8BfRFHAdgj1HMO0zNdMf0ejRDtMb8OSW
	Dd2ZToF8UnnIbz0AvXDP2pxD6IG019F/VSnbX4pZoIG8oh96O3jzPh30pJVzXAO3jbv36/CQ+O/
	5KaYDI+5Ju/58GvG32NV9uS3gYVtEBWIQHVXV8Pg+1w0cAH/aBjb7ZmP2efSmGk1N59GCTwT2m6
	exox12Kryasw/mmocpcfT5pMgGu8ewzekD7ywNT5OPGDoajudfjNMNlFMj+h6/iCrW0dtlICLMn
	RUuJ0sD27/G51+PSxfO72KXNoqay3nw==
X-Google-Smtp-Source: AGHT+IHvyjxfVptiOhGT22iafsUH2yzXXsThbaCIjRWgQsz7Eu0gw1Z9gpyI+O+eF4ye81/qkVDIEQ==
X-Received: by 2002:a05:6000:401f:b0:38f:28dc:ec23 with SMTP id ffacd0b85a97d-3911f73598bmr1403261f8f.19.1741164104279;
        Wed, 05 Mar 2025 00:41:44 -0800 (PST)
Message-ID: <79a408b0-c5f4-41cb-b206-f1e16e4237ef@suse.com>
Date: Wed, 5 Mar 2025 09:41:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <9be05453-ab39-4b70-9675-b9df47e870b2@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: <9be05453-ab39-4b70-9675-b9df47e870b2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.02.2025 19:28, Jason Andryuk wrote:
> On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
>> On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
>> All this work on AMD because when interrupt remapping is enabled all
>> MSIs are handled by the remapping table, while on Intel there's still
>> a bit in the MSI address field to signal whether the MSI is using a
>> remapping entry, or is using the "compatibility" format (iow: no
>> remapping).
> 
> So, on Intel, if the guest hands the device the MSI address, it can 
> decided to bypass remapping?

While the answer is "yes" here, the result - aiui - would be an insecure
configuration. So you can only do this for fully trusted domains.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 08:52:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 08:52:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901835.1309756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpkU8-0000E0-D3; Wed, 05 Mar 2025 08:52:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901835.1309756; Wed, 05 Mar 2025 08:52: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 1tpkU8-0000Dt-A6; Wed, 05 Mar 2025 08:52:12 +0000
Received: by outflank-mailman (input) for mailman id 901835;
 Wed, 05 Mar 2025 08:52: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=/re5=VY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tpkU6-0000Dn-QH
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 08:52:10 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d1dcd6e-f99f-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 09:52:05 +0100 (CET)
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 27B3421199;
 Wed,  5 Mar 2025 08:52:05 +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 CF2BC13939;
 Wed,  5 Mar 2025 08:52:04 +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 4kCsMLQQyGdSYAAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 05 Mar 2025 08:52: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: 1d1dcd6e-f99f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741164725; 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=I5Bc9rU0KT2B8+T8rdQdBb6mywfIx5ZdefRDz/gR084=;
	b=cBnylPGgHI8W0cfwahhf1qDi1l+ltYs4y08oRp7U//Szs1bBLxlt+6hQK5t6cWaOOTvUn1
	U0QeLjOWtqM57s1m2RjnOmkUislCDPoiiLL1QSuMtUYLEH0D/aFEfHl38oZiOfTV4x4Jwh
	bCIh9Y7AMw5lU1lCaJOeBG2v43dntNo=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=cBnylPGg
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741164725; 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=I5Bc9rU0KT2B8+T8rdQdBb6mywfIx5ZdefRDz/gR084=;
	b=cBnylPGgHI8W0cfwahhf1qDi1l+ltYs4y08oRp7U//Szs1bBLxlt+6hQK5t6cWaOOTvUn1
	U0QeLjOWtqM57s1m2RjnOmkUislCDPoiiLL1QSuMtUYLEH0D/aFEfHl38oZiOfTV4x4Jwh
	bCIh9Y7AMw5lU1lCaJOeBG2v43dntNo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] docs: fix INTRODUCE description in xenstore.txt
Date: Wed,  5 Mar 2025 09:52:01 +0100
Message-ID: <20250305085201.14258-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 27B3421199
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	RCPT_COUNT_SEVEN(0.00)[9];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

The description of the Xenstore INTRODUCE command is still referencing
xend. Fix that.

While at it, make clear that the Xenstore implementation is allowed
to ignore the specified gfn and use the Xenstore reserved grant id
GNTTAB_RESERVED_XENSTORE instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 docs/misc/xenstore.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 38015835b1..d894d24d11 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -286,7 +286,7 @@ TRANSACTION_END		F|
 INTRODUCE		<domid>|<gfn>|<evtchn>|?
 	Notifies xenstored to communicate with this domain.
 
-	INTRODUCE is currently only used by xend (during domain
+	INTRODUCE is currently only used by xen tools (during domain
 	startup and various forms of restore and resume), and
 	xenstored prevents its use other than by dom0.
 
@@ -299,6 +299,10 @@ INTRODUCE		<domid>|<gfn>|<evtchn>|?
 	for example passing a high-bit-set 32-bit gfn as an unsigned
 	decimal will attempt to use 0x7fffffff instead (!).
 
+	Xenstored might ignore the <gfn> value and use the reserved
+	grant table entry GNTTAB_RESERVED_XENSTORE instead for mapping
+	the Xenstore interface page of the guest.
+
 RELEASE			<domid>|
 	Manually requests that xenstored disconnect from the domain.
 	The event channel is unbound at the xenstored end and the page
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 08:55:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 08:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901844.1309767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpkXV-0001xK-Rs; Wed, 05 Mar 2025 08:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901844.1309767; Wed, 05 Mar 2025 08: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 1tpkXV-0001xD-OH; Wed, 05 Mar 2025 08:55:41 +0000
Received: by outflank-mailman (input) for mailman id 901844;
 Wed, 05 Mar 2025 08:55: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=/re5=VY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tpkXU-0001uA-Ho
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 08:55:40 +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 9c857724-f99f-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 09:55:39 +0100 (CET)
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 0443F1F393;
 Wed,  5 Mar 2025 08:55:39 +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 C941713939;
 Wed,  5 Mar 2025 08:55:38 +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 Mn5lL4oRyGdRYQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 05 Mar 2025 08:55: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: 9c857724-f99f-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741164939; 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=44elmMZDJ4NWzroJcs96iQJfsVGMGkqIOdAS9gkXqP0=;
	b=oclCavpistoU+x2FaHhQtlAFVx7Q4rlX92o0/7H99VyQyt9NanSAr3j0eH6D/ZP24FNlTq
	HnjC5sRQNJual7ZEuaeDGhyAhnJ1ZURzmf0o93G91JcFPaf4UtvdPHZfhwgvDH+8VTVm0j
	yULeotFOGOyx+JEexiFYCA79lm9SrM4=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=oclCavpi
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741164939; 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=44elmMZDJ4NWzroJcs96iQJfsVGMGkqIOdAS9gkXqP0=;
	b=oclCavpistoU+x2FaHhQtlAFVx7Q4rlX92o0/7H99VyQyt9NanSAr3j0eH6D/ZP24FNlTq
	HnjC5sRQNJual7ZEuaeDGhyAhnJ1ZURzmf0o93G91JcFPaf4UtvdPHZfhwgvDH+8VTVm0j
	yULeotFOGOyx+JEexiFYCA79lm9SrM4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH] tools/libs/store: use single_with_domid() in xs_get_domain_path()
Date: Wed,  5 Mar 2025 09:55:36 +0100
Message-ID: <20250305085536.26311-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 0443F1F393
X-Spam-Score: -3.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

xs_get_domain_path() can be simplified by using single_with_domid().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/store/xs.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/tools/libs/store/xs.c b/tools/libs/store/xs.c
index e22f99b59f..cf3266807f 100644
--- a/tools/libs/store/xs.c
+++ b/tools/libs/store/xs.c
@@ -1345,11 +1345,7 @@ bool xs_resume_domain(struct xs_handle *h, unsigned int domid)
 
 char *xs_get_domain_path(struct xs_handle *h, unsigned int domid)
 {
-	char domid_str[MAX_STRLEN(domid)];
-
-	snprintf(domid_str, sizeof(domid_str), "%u", domid);
-
-	return xs_single(h, XBT_NULL, XS_GET_DOMAIN_PATH, domid_str, NULL);
+	return single_with_domid(h, XS_GET_DOMAIN_PATH, domid);
 }
 
 bool xs_path_is_subpath(const char *parent, const char *child)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 08:56:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 08:56:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901853.1309777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpkYe-0003Dn-48; Wed, 05 Mar 2025 08:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901853.1309777; Wed, 05 Mar 2025 08:56: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 1tpkYe-0003Dg-1A; Wed, 05 Mar 2025 08:56:52 +0000
Received: by outflank-mailman (input) for mailman id 901853;
 Wed, 05 Mar 2025 08:56: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=/re5=VY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tpkYc-0003DY-U7
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 08:56:50 +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 c67dc63a-f99f-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 09:56:49 +0100 (CET)
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 926801F393;
 Wed,  5 Mar 2025 08:56:49 +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 6676F13939;
 Wed,  5 Mar 2025 08:56:49 +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 IQJXF9ERyGenYQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 05 Mar 2025 08:56: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: c67dc63a-f99f-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741165009; 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=an+W2//aeRMz1jH2MSoBL0mEjd2EhjgqV4zdxDcKBAU=;
	b=XJCiP1gfpAHoiyRqpm2q6KlkZJZNP9b+XdJtXj0npQ3N48vbX22XQJXBaor27XJT1CXF0T
	z0XFUMhCb2J/b5WtbETYq5xT8YwHeA3UcBYVe2Otum28xgKZiGe8BfIsFAV8vdvcvzVNXI
	TLn+XQSP7+VxfFq7e/yg2SPBx2JWhDI=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741165009; 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=an+W2//aeRMz1jH2MSoBL0mEjd2EhjgqV4zdxDcKBAU=;
	b=XJCiP1gfpAHoiyRqpm2q6KlkZJZNP9b+XdJtXj0npQ3N48vbX22XQJXBaor27XJT1CXF0T
	z0XFUMhCb2J/b5WtbETYq5xT8YwHeA3UcBYVe2Otum28xgKZiGe8BfIsFAV8vdvcvzVNXI
	TLn+XQSP7+VxfFq7e/yg2SPBx2JWhDI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>
Subject: [PATCH] xen/public: remove some unused defines from xs_wire.h
Date: Wed,  5 Mar 2025 09:56:46 +0100
Message-ID: <20250305085646.26472-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.79 / 50.00];
	BAYES_HAM(-2.99)[99.95%];
	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];
	RCPT_COUNT_TWO(0.00)[2];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.79
X-Spam-Flag: NO

xs_wire.h contains some defines XS_WRITE_* which seem to be leftovers
from some decades ago. They haven't been used in the Xen tree since at
least Xen 2.0 and they make no sense anyway.

Remove them, as they seem not to be related to any Xen interface we
have today.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/public/io/xs_wire.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/xen/include/public/io/xs_wire.h b/xen/include/public/io/xs_wire.h
index 04e6849feb..0d9f49ac89 100644
--- a/xen/include/public/io/xs_wire.h
+++ b/xen/include/public/io/xs_wire.h
@@ -41,10 +41,6 @@ enum xsd_sockmsg_type
     XS_INVALID = 0xffff /* Guaranteed to remain an invalid type */
 };
 
-#define XS_WRITE_NONE "NONE"
-#define XS_WRITE_CREATE "CREATE"
-#define XS_WRITE_CREATE_EXCL "CREATE|EXCL"
-
 /* We hand errors as strings, for portability. */
 struct xsd_errors
 {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901870.1309837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknM-0007qw-TR; Wed, 05 Mar 2025 09:12:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901870.1309837; Wed, 05 Mar 2025 09: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 1tpknM-0007qj-OA; Wed, 05 Mar 2025 09:12:04 +0000
Received: by outflank-mailman (input) for mailman id 901870;
 Wed, 05 Mar 2025 09:12: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknL-0006ew-CY
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:03 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e629023a-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:12:01 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5493b5bc6e8so7720351e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:01 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.11.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e629023a-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165921; x=1741770721; 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=rsEkc5UwQaeOfpAVVoIStpjI7WoGyW7huU1aUhighTY=;
        b=mhLCdYPEKIPEa7IUE65yvIB4MlhGGRKCB50I3aS2H5qXTgqDhn0SE7b/FTqOx85+uM
         R2Kc1G2mgKHKPTWh3NdthK41d3tzqIR+1Gjs/2JPV0Za61Sc/NXSdmPa+Ku0kpTJ8erZ
         lLwPAkw8sl7z8VJd6TdO/002Hki5dsHkIIeyuLLugjCHnGkzbj8aaIoxEQXEMNSaIiaE
         /FES9PRKP5R3eoVHPRtPHNLvXJBhoJS7Ivq8KSXeDtUGckyPP7GLEDB78ctPTfFHFbpC
         c2k2ZfrW+9x0uIva5taQG+dgS7tWTJhUgDhfHtCyhdnv6uPBIt4gBG9GuGAFFqsy1oVT
         s2IQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165921; x=1741770721;
        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=rsEkc5UwQaeOfpAVVoIStpjI7WoGyW7huU1aUhighTY=;
        b=MEqYez3sOQRzZnPW3dIaTIuJwyYHo/UCDcn806qumlff+zdjeuAEwkpbV8G/xiHJpA
         2LVlIxWEVaoEN0k6B6WhUCczflBog04Vn/uR1l1FhiBVKtN5ACxMWrYTeqTvDMke5TpJ
         4JKI8jhk9CAqumpdxdPj0AIJ9TR/BERgWYbWVzgDt03epRsSpPzoed0vLYaGYrMiD18s
         BciyvB8/Tw2vCc/fgW16rt9TcHktqCEX6f/98frl15pe945hRhMNeZnWaQW3REUnXGIb
         lDSJuxueP3vlFy5zcmOE/JLUfForHadxFgjgtYLZie9L3U/yq7+hqarvQZAXkohh4zmY
         jzpA==
X-Gm-Message-State: AOJu0YzzsuM4nAqj2TrjFXGKS56A9hsZSFaLmgTIKpggNWvQ2RmnQ/OB
	dtMw2I0zpEoFCeNQ9WTjj+WfkLJVg3ib+QSfM3ByGBhQ1FeawfLNzqQnAqWe
X-Gm-Gg: ASbGncttQ7WYR4Ez0fqjyy9YyyJc6i+JJJdwiRFiv3YCCYZMvu6q+M5R51tRC1hVaxn
	Jz7nK/4eEU+FY0HdqfaZ9prmGDVExGsaFwlf6iDmQ9siqeNCrarRYaMlUPhN9L2ApU2va6QZtG9
	iZm6YMoqbpq/KDUTinh4oDneKqRVV0Ml3upMUiS7vaBMjrC8XHKHaolq0xzFgx17Dv5JuKLhgDx
	p+VEUxxYGa1y5htGYEU+4FvyJwxCtxIKX2M/969+k3MuRZ0WWfUyTZS/09X/0ACOEIVFgcbyTEG
	JWGdkrnJaok1ziNUg5JgIVLQojU7TI3YaoYwcPLlmqEg2NyUgw==
X-Google-Smtp-Source: AGHT+IG3M+jnZ7dDUzYucmBB1qdaR5sNzVG4SVPMlLekJ0Z4w6Owt27xZGew4IedbsbYDvHnxaVsNQ==
X-Received: by 2002:a05:6512:2308:b0:545:bf4:4bd4 with SMTP id 2adb3069b0e04-5497d332250mr783696e87.7.1741165920491;
        Wed, 05 Mar 2025 01:12:00 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
Date: Wed,  5 Mar 2025 11:11:13 +0200
Message-ID: <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Invocation of the CPU_UP_PREPARE notification
on ARM64 during resume causes a crash:

(XEN) [  315.807606] Error bringing CPU1 up: -16
(XEN) [  315.811926] Xen BUG at common/cpu.c:258
[...]
(XEN) [  316.142765] Xen call trace:
(XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
(XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
(XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
(XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
(XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
(XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
(XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
(XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
(XEN) [  316.202383]    [<0000000000000008>] 0000000000000008

Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
INVALID_PERCPU_AREA depends solely on the system state.

If the system is suspended, this area is not freed, and during resume, an error
occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
set and park_offline_cpus remains 0:

    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
        return park_offline_cpus ? 0 : -EBUSY;

It appears that the same crash can occur on x86 if park_offline_cpus is set
to 0 during Xen suspend.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
These changes were introduced in V2 inside
"xen: don't free percpu areas during suspend" patch.
---
 xen/common/percpu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/percpu.c b/xen/common/percpu.c
index e4e8b7bcab..83dca7edd6 100644
--- a/xen/common/percpu.c
+++ b/xen/common/percpu.c
@@ -74,7 +74,8 @@ static int cf_check cpu_percpu_callback(
     switch ( action )
     {
     case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
+        if ( system_state != SYS_STATE_resume )
+            rc = init_percpu_area(cpu);
         break;
 
     case CPU_UP_CANCELED:
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901868.1309813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknJ-0007AL-8H; Wed, 05 Mar 2025 09:12:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901868.1309813; Wed, 05 Mar 2025 09:12: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 1tpknJ-0007A6-32; Wed, 05 Mar 2025 09:12:01 +0000
Received: by outflank-mailman (input) for mailman id 901868;
 Wed, 05 Mar 2025 09:11: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknH-0006ev-Td
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:11:59 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e49dcbe1-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:11:59 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-548430564d9so6960513e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:11:59 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.11.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:11:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e49dcbe1-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165919; x=1741770719; 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=K0i36R5cWws/2lOrIDQReaU+v/4wYZErXE99/wpMnig=;
        b=c3BEZCxglptYUUQL7OUVEVI3kHQzI7rkVLm2w1Z/4RftqeeGgiINYYvcjdMthQLqcL
         jPoCSoFstRKWIVHmGgv6aRqX7PGbiX8o9YY3YDkpwT72rIO9Oq6BOfQ9WhG8N0CwWKGs
         sD7ZqEA9A1/Eq5EvetUww+lf8tKzemCm9Gj8uxi7LlqXGrl8Z6A/k70J6Bmp5bWuEG6m
         Xv2SmtUn9JldglUnTrPu41ZZGZG5psEQ3G/eWwA/lJq3MxsPnlEP9YZNSmCcnfupp7NG
         FFmauiNHfeFvCGM+/mfWOQFNKmLdj1TgctWw0cMLfeU/IIznMd9M2C+Yo0L7ze35sjm9
         O2yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165919; x=1741770719;
        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=K0i36R5cWws/2lOrIDQReaU+v/4wYZErXE99/wpMnig=;
        b=d+XTLcv0kPOCIxrvIzk1AyDD9SaG7kBLDCb+Ombk1KiQ6BJ0D8gPar4URPgmDdTffV
         +kakfZje9pHRazDd2PHVtL5EC7lfzx0ABiE7llY9TJycemFEwR9hTeqQQRoqbQXPFGYt
         UJqG3f1olSTzUouyYJK7jhWunz3Ynl+LDe5lUIcN80kEC6vDp+XnRSkf9Y3tyrKGAI9D
         OHZZqKdZMr6khjvffvxedUpk+Cn0VK+BUQylH8ZKA3mlFqEuTuPfKqK8UAU5nwwjSEs0
         M+p/dX+lZ8Tzrf9oAIwNRXogRNpxNgP8VI72rvrJpmycCztQxtM4oiJmQcz66OVxd6Y/
         jMCw==
X-Gm-Message-State: AOJu0Yxs7QFDlECQKdO87H/nPSs1SZ21+D+17MGz37qJTioytoyMK6o5
	Skwws9Xo4W6UNa/iNBgC3R+mGiaGzP7dwdKFVSRQwU6occHIRx2dO/yj8E7H
X-Gm-Gg: ASbGncuQTeGfbVrF0V0U5dQy43Y71o5z9r5iXbKOfpwmPxhyZ9QZEiTWfDRwr01Fllo
	g66OPoN+iuiK8hVUX8KZtGElYzBzCRWC+mL0bNdRZM1qQk9rgYGw8NaQ6SPvi2TlZ6F9UsW7sB1
	eLotp7Ce8RF+UnADeqb/JGU/GMeu4Vm0K2OVOT+s+thukwUz4peYVggfEEJ6EHp2qmaC9WZfsz1
	ZjMgSIxdy/araj6oQQl6bfw3C3vc7zZ+bi0C925DYOc3unQ9hrJXASlW/6wKnCEiQqbdN/aBPm7
	0wF6mBjurC5+BuJXwlQlICjgqlFIvwiB8JljB058a72AF529qQ==
X-Google-Smtp-Source: AGHT+IExoH/RJzkC8dxnobznYYQVv0p6BHKawuJcd+lkQWm/DcNhF5mR3Pb2XpOal6svcBwUD15cDw==
X-Received: by 2002:a05:6512:3984:b0:545:2300:924d with SMTP id 2adb3069b0e04-5497d336c84mr720527e87.22.1741165918440;
        Wed, 05 Mar 2025 01:11:58 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 03/16] xen/arm: introduce a separate struct for watchdog timers
Date: Wed,  5 Mar 2025 11:11:11 +0200
Message-ID: <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

Introduce a separate struct for watchdog timers. It is needed to properly
implement the suspend/resume actions for the watchdog timers. To be able
to restart watchdog timer after suspend we need to remember their
frequency somewhere. To not bloat the struct timer a new struct
watchdog_timer is introduced, containing the original timer and the last
set timeout.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
This commit was introduced in patch series V2.
---
 xen/common/keyhandler.c    |  2 +-
 xen/common/sched/core.c    | 11 ++++++-----
 xen/include/xen/sched.h    |  3 ++-
 xen/include/xen/watchdog.h |  6 ++++++
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index 0bb842ec00..caf614c0c2 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -305,7 +305,7 @@ static void cf_check dump_domains(unsigned char key)
         for ( i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
             if ( test_bit(i, &d->watchdog_inuse_map) )
                 printk("    watchdog %d expires in %d seconds\n",
-                       i, (u32)((d->watchdog_timer[i].expires - NOW()) >> 30));
+                       i, (u32)((d->watchdog_timer[i].timer.expires - NOW()) >> 30));
 
         arch_dump_domain_info(d);
 
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index d6296d99fd..b1c6b6b9fa 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1556,7 +1556,8 @@ static long domain_watchdog(struct domain *d, uint32_t id, uint32_t timeout)
         {
             if ( test_and_set_bit(id, &d->watchdog_inuse_map) )
                 continue;
-            set_timer(&d->watchdog_timer[id], NOW() + SECONDS(timeout));
+            d->watchdog_timer[id].timeout = timeout;
+            set_timer(&d->watchdog_timer[id].timer, NOW() + SECONDS(timeout));
             break;
         }
         spin_unlock(&d->watchdog_lock);
@@ -1572,12 +1573,12 @@ static long domain_watchdog(struct domain *d, uint32_t id, uint32_t timeout)
 
     if ( timeout == 0 )
     {
-        stop_timer(&d->watchdog_timer[id]);
+        stop_timer(&d->watchdog_timer[id].timer);
         clear_bit(id, &d->watchdog_inuse_map);
     }
     else
     {
-        set_timer(&d->watchdog_timer[id], NOW() + SECONDS(timeout));
+        set_timer(&d->watchdog_timer[id].timer, NOW() + SECONDS(timeout));
     }
 
     spin_unlock(&d->watchdog_lock);
@@ -1593,7 +1594,7 @@ void watchdog_domain_init(struct domain *d)
     d->watchdog_inuse_map = 0;
 
     for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
-        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, 0);
+        init_timer(&d->watchdog_timer[i].timer, domain_watchdog_timeout, d, 0);
 }
 
 void watchdog_domain_destroy(struct domain *d)
@@ -1601,7 +1602,7 @@ void watchdog_domain_destroy(struct domain *d)
     unsigned int i;
 
     for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
-        kill_timer(&d->watchdog_timer[i]);
+        kill_timer(&d->watchdog_timer[i].timer);
 }
 
 /*
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 177784e6da..d0d10612ce 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -24,6 +24,7 @@
 #include <asm/current.h>
 #include <xen/vpci.h>
 #include <xen/wait.h>
+#include <xen/watchdog.h>
 #include <public/xen.h>
 #include <public/domctl.h>
 #include <public/sysctl.h>
@@ -569,7 +570,7 @@ struct domain
 #define NR_DOMAIN_WATCHDOG_TIMERS 2
     spinlock_t watchdog_lock;
     uint32_t watchdog_inuse_map;
-    struct timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
+    struct watchdog_timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
 
     struct rcu_head rcu;
 
diff --git a/xen/include/xen/watchdog.h b/xen/include/xen/watchdog.h
index 4c2840bd91..2b7169632d 100644
--- a/xen/include/xen/watchdog.h
+++ b/xen/include/xen/watchdog.h
@@ -8,6 +8,12 @@
 #define __XEN_WATCHDOG_H__
 
 #include <xen/types.h>
+#include <xen/timer.h>
+
+struct watchdog_timer {
+    struct timer timer;
+    uint32_t timeout;
+};
 
 #ifdef CONFIG_WATCHDOG
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901867.1309807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknI-000776-TE; Wed, 05 Mar 2025 09:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901867.1309807; Wed, 05 Mar 2025 09:12: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 1tpknI-00076z-PG; Wed, 05 Mar 2025 09:12:00 +0000
Received: by outflank-mailman (input) for mailman id 901867;
 Wed, 05 Mar 2025 09:11: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknG-0006ev-UY
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:11:58 +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 e4071e56-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:11:58 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5496301c6afso692307e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:11:58 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.11.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:11:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4071e56-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165918; x=1741770718; 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=SeyrgEDHRHxvQYsPkfBfSFyIZ78yoXvWfRs5EkLqURM=;
        b=Sn334OhbYUrgo0A969YYozXZZ9eBBs0StMkSroY/Icp6nDvKPpLKP439FuQrOk2457
         pykaCpD+p1aW1Wc1MjBENpiLrz3/PAM6pQIZz8zvoORCJh+krXyOQtmJt6aO6ApfuIaW
         gKg/haNgoAuogXCzKKrRnPmvpJM2qwUlR3/soD6BQCcqZgRB9UT69/ksofqig3mBGavu
         U15zPs516+AIAfx1EgRTwb3tULWJb/GlHbz1VTuIiDCAuhVesOn9ugOie+B6xiDPEviO
         bz7RL1qL+6W5uiFD2XRh9i2xTF4T/bNHt+zgcvLP+nAbmaeizJzCWgzt69x7lfFsppUv
         XElg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165918; x=1741770718;
        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=SeyrgEDHRHxvQYsPkfBfSFyIZ78yoXvWfRs5EkLqURM=;
        b=EojDuyOQXp4uGritzUbQvrfRZaeNNgy1EEIlduC1zvsXUQiOqNIvQaMLwkN7cIufyO
         NBUlSGtwqKJHExoboKg7qitaY2pk6dHGOsEo9Vz25zIigiiU9eR31FIPJJ1wDiaa6IZq
         vkwD/5FvT1V1t5nJBg3EoTkf/iAK+7anGbbsUG0x9V9aZ18UdT9ZinQ8p7i38ITQ2S0g
         LN0eay3raCY7/psizUOOaJ4iRorgVoI1/TJb6okjsnv557JnHz4lcIUYzsB+Erz+/7Z9
         i3bCHQQceM/dvUycLkvtdSJzOdbWuiHTcLWZqRBVcyv4VHkvgRKdxlZjhC4nnry+me/d
         FC6Q==
X-Gm-Message-State: AOJu0YyaY/vYRly9Snb8INclG59BE7tO+zKKRL0bvc40Y2UDRU1KG/uQ
	8S7tPYAqf3nFkpmmkAF3pHevAs4TRjPAFHDwznD6UMORRWIX75oxVPzsyJPR
X-Gm-Gg: ASbGncsq3bXdNMk9Ag+lWGdqa/1Yq/CEKFMV4U8gJ4zRXYP5iGujDlalCuIeP/3yKxp
	kPrj7Xg4gFFhQfR/nFBbVvl65f7krL2LdwG9xxV00BxC/fv/f8ZbDbqj6U4cbI/PcshhauNaVL/
	/A/5GVaTCnUJ1yYtir+Fsk9VaSLqUVPgBzADlMAstVBMPpPY+r3rq4i0Jyvj3VsYQeQs7DaMZyq
	/WIm4f0ICFW6yqnW8/Nio/3nFjBDOrFzBeQWpT3yIRMe6DMw7CTMrN/MYO9HV6BsFlKRWL4K6ZW
	hQGgR1g4yf+acit15iOkFJiAS2uwFRmpvcq7JJPUiFYI8lIb1Q==
X-Google-Smtp-Source: AGHT+IHfyzIHEXBqG57sKaZHYffwmfm18XEj4b/MBT2LV4QYLxOmDVeIU5+H0RVLwtUVwkS9nfd6yA==
X-Received: by 2002:a05:6512:1252:b0:545:550:83e6 with SMTP id 2adb3069b0e04-5497d360c7cmr771143e87.5.1741165917298;
        Wed, 05 Mar 2025 01:11:57 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 02/16] xen/x86: Move freeze/thaw_domains into common files
Date: Wed,  5 Mar 2025 11:11:10 +0200
Message-ID: <82d394363821b74fb1617e81e6e726a7a25b4028.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

These functions will be reused by suspend/resume support for ARM.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
 xen/arch/x86/acpi/power.c | 29 -----------------------------
 xen/common/domain.c       | 30 ++++++++++++++++++++++++++++++
 xen/include/xen/sched.h   |  3 +++
 3 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index d0b67614d5..f38398827e 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -137,35 +137,6 @@ static void device_power_up(enum dev_power_saved saved)
     }
 }
 
-static void freeze_domains(void)
-{
-    struct domain *d;
-
-    rcu_read_lock(&domlist_read_lock);
-    /*
-     * Note that we iterate in order of domain-id. Hence we will pause dom0
-     * first which is required for correctness (as only dom0 can add domains to
-     * the domain list). Otherwise we could miss concurrently-created domains.
-     */
-    for_each_domain ( d )
-        domain_pause(d);
-    rcu_read_unlock(&domlist_read_lock);
-
-    scheduler_disable();
-}
-
-static void thaw_domains(void)
-{
-    struct domain *d;
-
-    scheduler_enable();
-
-    rcu_read_lock(&domlist_read_lock);
-    for_each_domain ( d )
-        domain_unpause(d);
-    rcu_read_unlock(&domlist_read_lock);
-}
-
 static void acpi_sleep_prepare(u32 state)
 {
     void *wakeup_vector_va;
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0c4cc77111..49ff84d2f5 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -2259,6 +2259,36 @@ int continue_hypercall_on_cpu(
     return 0;
 }
 
+
+void freeze_domains(void)
+{
+    struct domain *d;
+
+    rcu_read_lock(&domlist_read_lock);
+    /*
+     * Note that we iterate in order of domain-id. Hence we will pause dom0
+     * first which is required for correctness (as only dom0 can add domains to
+     * the domain list). Otherwise we could miss concurrently-created domains.
+     */
+    for_each_domain ( d )
+        domain_pause(d);
+    rcu_read_unlock(&domlist_read_lock);
+
+    scheduler_disable();
+}
+
+void thaw_domains(void)
+{
+    struct domain *d;
+
+    scheduler_enable();
+
+    rcu_read_lock(&domlist_read_lock);
+    for_each_domain ( d )
+        domain_unpause(d);
+    rcu_read_unlock(&domlist_read_lock);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 037c83fda2..177784e6da 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -1059,6 +1059,9 @@ static inline struct vcpu *domain_vcpu(const struct domain *d,
     return vcpu_id >= d->max_vcpus ? NULL : d->vcpu[idx];
 }
 
+void freeze_domains(void);
+void thaw_domains(void);
+
 void cpu_init(void);
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901865.1309787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknH-0006fJ-DS; Wed, 05 Mar 2025 09:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901865.1309787; Wed, 05 Mar 2025 09:11: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 1tpknH-0006fC-AC; Wed, 05 Mar 2025 09:11:59 +0000
Received: by outflank-mailman (input) for mailman id 901865;
 Wed, 05 Mar 2025 09:11: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknG-0006ev-3k
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:11:58 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e332cbbe-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:11:56 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5439a6179a7so699978e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:11:56 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.11.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:11:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e332cbbe-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165916; x=1741770716; 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=T4XeS6zSJeG9q0Ti33wawxAjOhOjZ//siv8AXi1AOtk=;
        b=Z8vLOxk0alHGLFrHOvC37xN7nbmefMIoy5VBD1VsFQ0ZW+0c5g/hLZeZ4KqGHvrODa
         7Idymw9++kxCYSaXg9gL6M6bD1c8Nait3O4LgeNTckmiNwY+z38gl8MIX76Bi7EYjENj
         HkPc8Qq41/+QIPd+EBtzP3Xe2Ic+dYcsXKZygX20RzPbNF7gO4XyHfLZ2zcepKDkNyZP
         SdAgOXkVHY+co4pDqvgwl/klSDOld17favVvm6/uM8Ny0q1rJjncC+7SB5Q8hB7acug4
         JNTkunHtOkCN4H5erizeJozS5mtPZjibzcxgwWZSRZoreNRaqzLPWDtk3G7GQ2KnCfEP
         lLqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165916; x=1741770716;
        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=T4XeS6zSJeG9q0Ti33wawxAjOhOjZ//siv8AXi1AOtk=;
        b=SDk7Mf/C8RbkUpjsL96BKRuhixJQA2tptjvfCzrw+6yX4EfoOmv5lCyo6H1PVUHmq5
         +7gl5rI1jJIKw0rgOf0dmtYJcVQpz8LBfyXEPxtdWd+3yIGd36Coqc7c+4IgIWF46mKp
         BnKHCGQhqaz/S9BoEMbDYXOkF1TO6sUlcKOnjuLtRGvYrh8Og7aDPhxPe1dA5b8MX652
         AyXHpoa4//yiNQPQlEiy1ipUrA8eQEcQjlEEahjt5nWTMZS5iYLpSav4Qg4hKs+k1Ez4
         hj85Osatqnm8I1EKd0jd/seWG3JAYXk09fRbtN6xMoeHwRSgWTkxnYuP65MmMVAL5V2n
         kSDg==
X-Gm-Message-State: AOJu0YzvtqQuWXuOJM6FRtD/TNmhpqIgZmUSP/tZE3eTT73nTD9NH/bh
	pciTVBjFNCyoZSMakmwTSCSDcOFVDnWSYjaQT1aH1uOlNnGrwM9qmBnLEi14
X-Gm-Gg: ASbGncvoWE5N+9WdPwSgTr2+u5CfL5hRpARPTEjDmEWCNCzGoJNdZzdRVyfKvhdFXu2
	QC/G51cZnHZABGEOjkyOdkHb93cyreTH89f6OwmZvzbnV9SKipNhsJUxf/wHTmPN6ANdTZCOlVV
	iTezDqhU/rYUIcvKb8gwK6eitQWfGhjYfcVv9B+oymDBPlkkAhCoRjyQEzQ2Lu/wJUe+P6DFGYs
	1Ik3pEQVLeKq8Ka/rpWvS6AKJjz8UMgmUs90xMGpvf+1bLl1JCZ8DYV7vPh9DtnJTi5TcisXvnh
	2QZ/oUPcAaxYnHVNLMHRvAgTWeIEUy5a/uYiX1ctVE1dSThcAA==
X-Google-Smtp-Source: AGHT+IEzx2tmF8LmO96xz1ViG48Q/RJ5BOIdUTEsOdaxihp23QmKd6/iDjkSj80OOC0AXdfcpBahIQ==
X-Received: by 2002:a05:6512:1248:b0:545:81b:1516 with SMTP id 2adb3069b0e04-5497d375b4amr794923e87.15.1741165915541;
        Wed, 05 Mar 2025 01:11:55 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mykyta Poturai <mykyta_poturai@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 01/16] iommu: Add checks before calling iommu suspend/resume
Date: Wed,  5 Mar 2025 11:11:09 +0200
Message-ID: <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mykyta Poturai <mykyta_poturai@epam.com>

These functions may be unimplemented, so check that they exist before
calling to prevent crashes.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Introduced in patch series V3.
---
 xen/drivers/passthrough/iommu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 16aad86973..55b33c9719 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -613,7 +613,7 @@ int __init iommu_setup(void)
 
 int iommu_suspend(void)
 {
-    if ( iommu_enabled )
+    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->suspend )
         return iommu_call(iommu_get_ops(), suspend);
 
     return 0;
@@ -621,7 +621,7 @@ int iommu_suspend(void)
 
 void iommu_resume(void)
 {
-    if ( iommu_enabled )
+    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->resume )
         iommu_vcall(iommu_get_ops(), resume);
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901869.1309826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknL-0007bd-JS; Wed, 05 Mar 2025 09:12:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901869.1309826; Wed, 05 Mar 2025 09:12: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 1tpknL-0007bR-G8; Wed, 05 Mar 2025 09:12:03 +0000
Received: by outflank-mailman (input) for mailman id 901869;
 Wed, 05 Mar 2025 09:12: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknK-0006ew-1n
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:02 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e54738f8-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:12:00 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5496301c6afso692341e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:00 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.11.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:11:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e54738f8-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165920; x=1741770720; 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=wRks+rWb+OIlYB2/kwqZs9XahqYYzmw08LLO1JIt0RI=;
        b=WMyptCCFjqVPIuWB/xIruCHKPgSbX71PCVBIDyabxTmopwHQycsh4L2nMG603GrHAA
         QcvBQwmftH3Ti6INQVhV7nW/gHwivU9eCao8KJTqLBQ7PDIbWIhxUABIBIlPl/Q3BfoP
         t7GvbJuFZcwaRHpwoGFt3AiOjbXD0LMJE3y4bKmZAY2x1BTlcFMgpr9c4LIDEoJFLjC9
         fx6rIt1jBMA1WSQ3joNcxmQZegrAvcCu0fXGptYRgxgZUaa8O7jkfKdYCY6ve9O3nawg
         WCw8Ug6cwYLZYKMPJZdlIv0ZD2Xq4anDR/B6QGsx4s73yvT/AQ2Oe1i7/swPSPQMh8QT
         WSog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165920; x=1741770720;
        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=wRks+rWb+OIlYB2/kwqZs9XahqYYzmw08LLO1JIt0RI=;
        b=ufDX2NvZOcUEmOHlNJsJyzU0SF3jhqidqTfG2cqiBKCT8J1cyNQddUN/2r86wDEryo
         7X5EbCA0Tm6bVcJn/ohpLgHQ0gGbBtCpdCJEp27s889pSUiO16tBA6dV56nPbaiQbzYb
         axrXfZdIlNq1ETmJF2jk2KaAt5/rM6fAI1zSQHZqgmJoOUXYeomEknHjdFTl2VV0CGoH
         pK72RB2KMKbj4RJXwW+UbhZheTlZMzwgDX+LIu0XlfU4EMu3+G9sD+ZoAH3sm9Ucp0AP
         jQ1Q0S72omgmfhel0FaF/PsPiu0m+8J1L4DxfLGfE306838nV3PhbHG5zgi9dUYeFdNm
         apcg==
X-Gm-Message-State: AOJu0YxKrKWeSXbudYjwNpyXIXsokAbHIeSBh6PV2okN2ch62ly6BjXL
	ZVJYs810NZKDwS3bGFf233jb368VMZ1fk0J1du3WeKApF/f1IopMgORCL+AI
X-Gm-Gg: ASbGnctgkqp59TxQL/dy+Se9vbC9yYtR+0IWzE1QF4QtHsJJLA0xQC7QmT2qgGuVj/6
	FOGN03IvgGiS4HB1gsjjHyEgrVqFY15dHrCma3egIA2aBfyUXuIqDxDBsv/20PWFwEmcAK1Gt/d
	r+9uTFj87B0X/e6JmGV8a/ztTn0qFXAEPAv4w05itrMEGqSp9eMTkBWEyTC22DRmoihDmYK2p6E
	r2mZd02BQWBVJSH1nx3GNCotDvdNZ+RxZW3LTJEd5ZPe4s9ZjSRzp21dvoUNzh3cMqAb5IUgoxR
	hJYX3QRtZnUSpFUHK4WlxkCHcGwvj6AS4y1ZkdG5vP+E9xqIaA==
X-Google-Smtp-Source: AGHT+IEcZGdsEAbkUwhCCTEVH6cqDWPFh5mffdCfKlFAQCELmtoZxqoKEfiRPyfvNPZRr9np5hHkIw==
X-Received: by 2002:a05:6512:10c9:b0:549:7394:2ccc with SMTP id 2adb3069b0e04-5497d590109mr680411e87.26.1741165919444;
        Wed, 05 Mar 2025 01:11:59 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 04/16] xen/cpu: prevent disable_nonboot_cpus crash on ARM64
Date: Wed,  5 Mar 2025 11:11:12 +0200
Message-ID: <e6cc20510acf49d90c08007a2308ef3dcaccc368.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

If we call disable_nonboot_cpus on ARM64 with system_state set
to SYS_STATE_suspend, the following assertion will be triggered:

```
(XEN) [   25.582712] Disabling non-boot CPUs ...
(XEN) [   25.587032] Assertion '!in_irq() && (local_irq_is_enabled() || num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714
[...]
(XEN) [   25.975069] Xen call trace:
(XEN) [   25.978353]    [<00000a000022e098>] xfree+0x130/0x1a4 (PC)
(XEN) [   25.984314]    [<00000a000022e08c>] xfree+0x124/0x1a4 (LR)
(XEN) [   25.990276]    [<00000a00002747d4>] release_irq+0xe4/0xe8
(XEN) [   25.996152]    [<00000a0000278588>] time.c#cpu_time_callback+0x44/0x60
(XEN) [   26.003150]    [<00000a000021d678>] notifier_call_chain+0x7c/0xa0
(XEN) [   26.009717]    [<00000a00002018e0>] cpu.c#cpu_notifier_call_chain+0x24/0x48
(XEN) [   26.017148]    [<00000a000020192c>] cpu.c#_take_cpu_down+0x28/0x34
(XEN) [   26.023801]    [<00000a0000201944>] cpu.c#take_cpu_down+0xc/0x18
(XEN) [   26.030281]    [<00000a0000225c5c>] stop_machine.c#stopmachine_action+0xbc/0xe4
(XEN) [   26.038057]    [<00000a00002264bc>] tasklet.c#do_tasklet_work+0xb8/0x100
(XEN) [   26.045229]    [<00000a00002268a4>] do_tasklet+0x68/0xb0
(XEN) [   26.051018]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
(XEN) [   26.057585]    [<00000a0000277e30>] start_secondary+0x21c/0x220
(XEN) [   26.063978]    [<00000a0000361258>] 00000a0000361258
```

This happens because before invoking take_cpu_down via the stop_machine_run
function on the target CPU, stop_machine_run requests
the STOPMACHINE_DISABLE_IRQ state on that CPU. Releasing memory in
the release_irq function then triggers the assertion:

/*
 * Heap allocations may need TLB flushes which may require IRQs to be
 * enabled (except when only 1 PCPU is online).
 */
#define ASSERT_ALLOC_CONTEXT()

This patch introduces a new tasklet to perform the CPU_DYING call chain for
a particular CPU. However, we cannot call take_cpu_down from the tasklet
because the __cpu_disable function disables local IRQs, causing the system
to crash inside spin_lock_irq, which is called after the tasklet function
invocation inside do_tasklet_work:

void _spin_lock_irq(spinlock_t *lock)
{
    ASSERT(local_irq_is_enabled());

To resolve this, take_cpu_down is split into two parts. The first part triggers
the CPU_DYING call chain, while the second part, __cpu_disable, is invoked from
stop_machine_run.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
This patch was introduced in patch series V3.
---
 xen/common/cpu.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/xen/common/cpu.c b/xen/common/cpu.c
index f09af0444b..99d4c0c579 100644
--- a/xen/common/cpu.c
+++ b/xen/common/cpu.c
@@ -48,6 +48,10 @@ const unsigned long cpu_bit_bitmap[BITS_PER_LONG+1][BITS_TO_LONGS(NR_CPUS)] = {
 
 static DEFINE_RWLOCK(cpu_add_remove_lock);
 
+#ifdef CONFIG_ARM_64
+static DEFINE_PER_CPU(struct tasklet, cpu_down_tasklet);
+#endif
+
 bool get_cpu_maps(void)
 {
     return read_trylock(&cpu_add_remove_lock);
@@ -101,6 +105,14 @@ static void cf_check _take_cpu_down(void *unused)
     __cpu_disable();
 }
 
+#ifdef CONFIG_ARM_64
+static int cf_check cpu_disable_stop_machine(void *unused)
+{
+    __cpu_disable();
+    return 0;
+}
+#endif
+
 static int cf_check take_cpu_down(void *arg)
 {
     _take_cpu_down(arg);
@@ -128,6 +140,14 @@ int cpu_down(unsigned int cpu)
 
     if ( system_state < SYS_STATE_active || system_state == SYS_STATE_resume )
         on_selected_cpus(cpumask_of(cpu), _take_cpu_down, NULL, true);
+#ifdef CONFIG_ARM_64
+    else if ( system_state == SYS_STATE_suspend )
+    {
+        tasklet_schedule_on_cpu(&per_cpu(cpu_down_tasklet, cpu), cpu);
+        if ( (err = stop_machine_run(cpu_disable_stop_machine, NULL, cpu)) < 0 )
+            goto fail;
+    }
+#endif
     else if ( (err = stop_machine_run(take_cpu_down, NULL, cpu)) < 0 )
         goto fail;
 
@@ -247,3 +267,26 @@ void enable_nonboot_cpus(void)
 
     cpumask_clear(&frozen_cpus);
 }
+
+#ifdef CONFIG_ARM_64
+
+static void cf_check cpu_down_t_action(void *unused)
+{
+    cpu_notifier_call_chain(smp_processor_id(), CPU_DYING, NULL, true);
+}
+
+static int __init init_cpu_down_tasklet(void)
+{
+    unsigned int cpu;
+
+    for_each_possible_cpu(cpu) {
+        struct tasklet *t = &per_cpu(cpu_down_tasklet, cpu);
+
+        tasklet_init(t, cpu_down_t_action, NULL);
+    }
+
+    return 0;
+}
+__initcall(init_cpu_down_tasklet);
+
+#endif /* CONFIG_ARM_64 */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901866.1309792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknH-0006iW-K0; Wed, 05 Mar 2025 09:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901866.1309792; Wed, 05 Mar 2025 09:11: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 1tpknH-0006hf-GL; Wed, 05 Mar 2025 09:11:59 +0000
Received: by outflank-mailman (input) for mailman id 901866;
 Wed, 05 Mar 2025 09:11: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknG-0006ew-CS
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:11:58 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2b81052-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:11:56 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5495078cd59so5447378e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:11:56 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.11.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:11:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2b81052-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165915; x=1741770715; 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=LEJ+ewCk5ZTsC4h3KIII2AfTInBLPsRgNesFUNdRhA8=;
        b=XmB1CAfUGYCLP4asxcaDV+AIZnqCeGh9c2U68tlR9zHXe+SreNzVEtoHSwK8NRCI5K
         rqliaTolehAp8EYJIb+F/G0hgDhfVH1VrcPm6IwmaBAi+0AOhagdDOpi1z1TRoMdGL0u
         pERA9KRD2aCRa0Vp8k1HCaaaFlfsffk8/X2PZxnOhafJ6nNNr+5AULnVx95ZZw48Yu1K
         Oqcgnh5/VBaA4XmkoPVDyBR7T0cfeoFUjTxma0SPBio557IRt8sKFMMPKkseADezBcFV
         EYn+BMyfXVNkmSBiGKLxi6Y4NvWW+RRmThs4saOb5yd3tpa9V8mC/AReXKUdlJMbZw8n
         xaUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165915; x=1741770715;
        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=LEJ+ewCk5ZTsC4h3KIII2AfTInBLPsRgNesFUNdRhA8=;
        b=NznHqM3NgzT0Lr2ut9Z/1sou+R0G56LhfXxICj45dZddGY0KqKOpsgVlwJkkpZu1s6
         XXAE0gPlr0gvS8wjD3FwdYl8AeW/xcdEi2THCroSKnbjay0gpzRnwQXcLlyB5mk/7nJu
         mRFcl9IMM4v56KClXFIQEz5e8xESBjYW1AZMxKMjMVy/xFiFwTg9An7D5cXMiKd3s5Zm
         al7ta9DBDjKKT61STt+7hO4rmGhf0ViNQVFy5NZ1YXbIYaHSwXpT30HIWntzJTsiN548
         9i6Bg7fgH0lbkAn3AgdZDkbqoEuretDI/XMpfxOwsaTSqe/7SF8DzYnsXzPy61DZHBVe
         OuKA==
X-Gm-Message-State: AOJu0Yyl7IR0KeMVbh8Stx4Lzu7t+VLEowMmQPvBVKSs+9NYNlOd4LQc
	igmbJpo9K+smmuZBvRrrIvgNeAph6NwNQz+YjYTollu1LhR7c0MqxSNeIiX4
X-Gm-Gg: ASbGnctCYmK94SPMUANJnm7GgXJM5AM+ic3NHhtMHYkVPxP82sN3G492y6iF7GQvPMS
	BmvYCEdWzkvnU39bSVrEH94NmnPQqjGjbmTpJkYN5ekUTWnf0veLJB2ubvF71puaV6R5ZTEin5Z
	G3g5/yGryKL3bJMvbKU4RxYS4vjHgGkNzx+KkDkW6s+Nh5X95ceWycNeLnh+ciuzumX7VGwjPui
	1BBjtmz32joFnDdMp7DekxSdgpW6YV1y9gLolaNdTBU40StEfjJE5a7ptPYHECnJ1/G0SxvjRYt
	WyjQI2wWDgNn8kn+9NqqCglhgSBPtHKN4w8bHYPFcFq41Lh1zQ==
X-Google-Smtp-Source: AGHT+IEcD4nTgk8YL1I3NFmMRdVB+e1X/El3bdT1f0iXJeyTNmwDL7bL1fH+nT7mNFvH+Zw1GvGK8A==
X-Received: by 2002:a05:6512:33d1:b0:545:2efc:7458 with SMTP id 2adb3069b0e04-5497d377827mr726453e87.39.1741165914831;
        Wed, 05 Mar 2025 01:11:54 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <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>,
	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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH 00/16] Suspend to RAM support for Xen on arm64
Date: Wed,  5 Mar 2025 11:11:08 +0200
Message-ID: <cover.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is V1 series from Mirela Simonovic. Ported to 4.16 and with added changes
suggested here
https://lore.kernel.org/all/CAKPH-NjmaZENb8gT=+FobrAycRF01_--6GuRA2ck9Di5wiudhA@mail.gmail.com

This is V2 series form Mykyta Poturai:
https://marc.info/?l=xen-devel&m=166514782207736&w=2

This series introduces support for suspend-to-RAM (referred to as "suspend"
in the following text) for Xen on ARM64. The primary focus of this patch series
is to add Xen system suspend support. Previous patch series raised many
questions regarding VCPU context restoration, so the necessary changes will be
addressed in the next part of this series.
As part of these changes, all domain flags and related code (which affected
common functions like vcpu_unblock) have been removed, keeping only the
essential modifications for Xen suspend/resume. Suspend/resume is now fully
supported only for the hardware domain. Proper support for domU suspend/resume
will be added in the next part of this patch series.

The implementation is aligned with the design specification that has been
proposed on xen-devel list:
https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.html

At a high-level the series contains:
1) Support for suspending guests via virtual PSCI SYSTEM_SUSPEND call
2) Support for resuming a guest on an interrupt targeted to that guest
3) Support for suspending Xen after dom0 finalizes the suspend
4) Support for resuming Xen on an interrupt that is targeted to a guest

--------------------------------------------------------------------------------
TODO:
1) Add VCPU context reset/restore for non-hardware domains.
2) Implement xl suspend/resume for Arm (should it follow the x86 approach?).
3) Support suspend/resume for GICv3.
4) Add suspend support for Arm32.

--------------------------------------------------------------------------------
In more details:

*** About suspending/resuming guests

The patches included in this series allow PSCI compliant guests that have
support for suspend to RAM (e.g. echo mem > /sys/power/state in Linux) to
suspend and resume on top of Xen without any EL1 code changes.

During their suspend procedure guests will hot-unplug their secondary CPUs,
triggering Xen's virtual CPU_OFF PSCI implementation, and then finalize the
suspend from their boot CPU, triggering Xen's virtual SYSTEM_SUSPEND PSCI.
Guests will save/restore their own EL1 context on suspend/resume.

A guest is expected to leave enabled interrupts that are considered to be its
wake-up sources. Those interrupts will be able to wake up the guest. This holds
regardless of the state of the underlying software layers, i.e. whether Xen gets
suspended or not doesn't affect the ability of the guest to wake up.

First argument of SYSTEM_SUSPEND PSCI call is a resume entry point, from which
the guest assumes to start on resume. On resume, guests assume to be running in
an environment whose state matches the CPU state after reset, e.g. with reset
register values, MMU disabled, etc. To ensure this, Xen has to 'reset' the
VCPU context and save the resume entry point into program counter before the
guest's VCPU gets scheduled in on resume. This is done when the guest resumes.
Xen also needs to take care that the guest's view of GIC and timer gets saved.
Also, while a guest is suspended its watchdogs are paused, in order to avoid
watchdog triggered shutdown of a guest that has been asleep for a period of time
that is longer than the watchdog period.

After this point, from Xen's point of view a suspended guest has one VCPU
blocked, waiting for an interrupt. When such an interrupt comes, Xen will
unblock the VCPU of the suspended domain, which results in the guest
resuming.

*** About suspending/resuming Xen

Xen starts its own suspend procedure once dom0 is suspended. Dom0 is
considered to be the decision maker for EL1 and EL2.
On suspend, Xen will first freeze all domains. Then, Xen disables physical
secondary CPUs, which leads to physical CPU_OFF to be called by each secondary
CPU. After that Xen finalizes the suspend from the boot CPU.

This consists of suspending the timer, i.e. suppressing its interrupts (we don't
want to be woken up by a timer, there is no VCPU ready to be scheduled). Then
the state of GIC is saved, console is suspended, and CPU context is saved. The
saved context tells where Xen needs to continue execution on resume.
Since Xen will resume with MMU disabled, the first thing to do in resume is to
resume memory management in order to be able to access the context that needs to
be restored (we know virtual address of the context data). Finally Xen calls
SYSTEM_SUSPEND PSCI to the EL3.

When resuming, all the steps done in suspend need to be reverted. This is
completed by unblocking dom0's VCPU, because we always want the dom0 to
resume,
regardless of the target domain whose interrupt woke up Xen.

*** Handling of unprivileged guests during Xen suspend/resume

Any domU that is not suspended when dom0 suspends will be frozen, domUs that are
already suspended remain suspended. On resume the suspended domUs still remain
suspended (unless their wake interrupt caused Xen to wake) while the
others will be thawed.

For more details please refer to patches or the design specification:
https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.html

--------------------------------------------------------------------------------
CHANGELOG

In this cover letter and in the commit messages within the changelog section:
- patch series V1 refers to https://marc.info/?l=xen-devel&m=154202231501850&w=2
- patch series V2 refers to https://marc.info/?l=xen-devel&m=166514782207736&w=2

Changes introduced in V3:
- drop all domain flags and related code (which touched common functions like
  vcpu_unblock), keeping only the necessary changes for Xen suspend/resume,
  i.e. suspend/resume is now fully supported only for the hardware domain.
  Proper support for domU suspend/resume will be added in a future patch.
  This patch does not yet include VCPU context reset or domain context
  restoration in VCPU.
- add checks before calling IOMMU suspend/resume. These functions may be
  unimplemented, so check that they exist before calling to prevent crashes
- prevent disable_nonboot_cpus crash on ARM64. If we call disable_nonboot_cpus
  on ARM64 with system_state set to SYS_STATE_suspend, the ASSERT_ALLOC_CONTEXT
  assertion will be triggered
- drop commit "timer: don't migrate timers during suspend" (see comment
  https://marc.info/?l=xen-devel&m=167036477229741&w=2). There is no freeze of
  dom0 on the latest master
- drop the commit introduced in patch series V2: "xen: don't free percpu areas
  during suspend." This commit was ported from x86 code, but in the new master,
  the percpu CPU state change notification call chain has become common, so
  there is no reason to port this code. The remaining part, which does not
  belong to the aforementioned patch, "don't initialize percpu on resume," has
  been introduced in a new separate commit
- introduce system suspend config option and covered code related to
  suspend/resume with it
- implement suspend/resume calls for SCIF driver (it was needed for test
  purpose, code has been tested on R-Car H3 Starter Kit board)
- the next commits had been appended with "xen/arm: Trigger Xen suspend when
  hardware domain completes suspend":
  -- xen/arm: Disable/enable non-boot physical CPUs on suspend/resume
  -- xen/arm: Add rcu_barrier() before enabling non-boot CPUs on resume
  -- xen/arm: Suspend/resume GIC on system suspend/resume
  -- xen/arm: Resume Dom0 after Xen resumes
  -- xen/arm: Suspend/resume console on Xen suspend/resume
- add iommu suspend/resume calls to system suspend/resume
- return PSCI_NOT_SUPPORTED instead of 1 in case when we call SYSTEM_SUSPEND
  on ARM32
- add checking of PSCI version for SYSTEM_SUSPEND call
- instead of using create_page_tables, enable_mmu, and mmu_init_secondary_cpu,
  the existing function enable_secondary_cpu_mm is now used
- prepare_secondary_mm (previously init_secondary_pagetables in the previous
  patch series) is now called at the end of start_xen instead of
  setup_pagetables. Calling it in the previous location caused a crash
- add early printk init during resume


Changes introduced in V2:
- drop commit "xen/arm: Move code that initializes VCPU context into a separate
  function" (see comment https://marc.info/?l=xen-devel&m=154202861704014&w=2)
- introduce a separate struct for watchdog timers (see comment
  https://marc.info/?l=xen-devel&m=154203624106684&w=2)
- don't initialize percpu on resume, it was a part of "xen: don't free percpu
  areas during suspend"
- drop the call to watchdog_domain_resume from ctxt_switch_to; drop suspended
  field from timer structure introduced for watchdog timer in prev series
- mov hyp_resume to head.S to place it near the rest of the start code
- simplify the code in hyp_resume by using existing functions such as
  check_cpu_mode, cpu_init, create_page_tables, and enable_mmu
- a lot of changes related to reseting/restoring VCPU context of suspended domU

Mirela Simonovic (9):
  xen/x86: Move freeze/thaw_domains into common files
  xen/arm: introduce a separate struct for watchdog timers
  xen/arm: add suspend and resume timer helpers
  xen/arm: Implement GIC suspend/resume functions (gicv2 only)
  xen/arm: Implement PSCI system suspend
  xen/arm: Trigger Xen suspend when hardware domain completes suspend
  xen/arm: Implement PSCI SYSTEM_SUSPEND call (physical interface)
  xen/arm: Resume memory management on Xen resume
  xen/arm: Save/restore context on suspend/resume

Mykola Kvach (6):
  xen/cpu: prevent disable_nonboot_cpus crash on ARM64
  xen/percpu: don't initialize percpu on resume
  xen/arm: Introduce system suspend config option
  xen/char: implement suspend/resume calls for SCIF driver
  xen/arm: add watchdog domain suspend/resume helpers
  CHANGELOG: Mention Xen suspend/resume to RAM feature on arm64

Mykyta Poturai (1):
  iommu: Add checks before calling iommu suspend/resume

 CHANGELOG.md                          |   2 +
 xen/arch/arm/Kconfig                  |  11 +
 xen/arch/arm/Makefile                 |   1 +
 xen/arch/arm/arm64/head.S             | 117 ++++++++++
 xen/arch/arm/gic-v2.c                 | 142 ++++++++++++
 xen/arch/arm/gic.c                    |  29 +++
 xen/arch/arm/include/asm/domain.h     |   3 +
 xen/arch/arm/include/asm/gic.h        |  12 +
 xen/arch/arm/include/asm/perfc_defn.h |   1 +
 xen/arch/arm/include/asm/psci.h       |   3 +
 xen/arch/arm/include/asm/suspend.h    |  41 ++++
 xen/arch/arm/include/asm/time.h       |   5 +
 xen/arch/arm/psci.c                   |  19 ++
 xen/arch/arm/setup.c                  |   8 +
 xen/arch/arm/suspend.c                | 320 ++++++++++++++++++++++++++
 xen/arch/arm/time.c                   |  26 +++
 xen/arch/arm/vpsci.c                  |  32 +++
 xen/arch/x86/acpi/power.c             |  29 ---
 xen/common/cpu.c                      |  43 ++++
 xen/common/domain.c                   |  30 +++
 xen/common/keyhandler.c               |   2 +-
 xen/common/percpu.c                   |   3 +-
 xen/common/sched/core.c               |  50 +++-
 xen/drivers/char/scif-uart.c          |  31 ++-
 xen/drivers/passthrough/iommu.c       |   4 +-
 xen/include/xen/sched.h               |  15 +-
 xen/include/xen/watchdog.h            |   6 +
 27 files changed, 945 insertions(+), 40 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/suspend.h
 create mode 100644 xen/arch/arm/suspend.c

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901872.1309847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknP-0008Ax-3V; Wed, 05 Mar 2025 09:12:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901872.1309847; Wed, 05 Mar 2025 09:12: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 1tpknO-0008Ag-W9; Wed, 05 Mar 2025 09:12:06 +0000
Received: by outflank-mailman (input) for mailman id 901872;
 Wed, 05 Mar 2025 09:12: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknN-0006ew-7d
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:05 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e740e5c3-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:12:03 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-54298ec925bso9809906e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:03 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e740e5c3-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165922; x=1741770722; 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=BlmWvs068DR9gr1c4VC9H2ZHK0FU95Y+mqhPj+voaTw=;
        b=EXwQTDhQHZpL71VsIS0o1NNdYQwKrrFb2S6WUAQEMp9P7vonkV0E3ZIVaUPbglvQGW
         3YK9z8XKC9yjtjGUmtEUz613frhT62nZjwX6l7mNNcH/wSxcmpqB7JkklnJFahJ/d5U9
         bIFBhw18MZyZ7uY7I2ytDAIDiOkLR+3FkgXWQVxP3ZzJsNbsZBMdFF3AQh8CD6qw7PF8
         MLKN2tTxJbgpKg9IRZ58V1LEfcJMfCgs1Rhf/990As9331VqQSdXnSLqJbD6Sdk/K/tb
         oOLy0RYhEavuxkVCBGWdZ50YKL0wYMwQJtZwfsWOfX5g8afcyBrkkVcCl4CeBTOMChTX
         gkRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165922; x=1741770722;
        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=BlmWvs068DR9gr1c4VC9H2ZHK0FU95Y+mqhPj+voaTw=;
        b=n6vycXXrSOqS5eBB6v3u3RdrsrOvnNvvNWsY3hoRuHqXQ92xK/viX+tsI3EaZstDfT
         jmnLSMMobH4qg8qA3EgybH9E5+QGbgZ9+kOh7QYMDkc3Rh++cb+d1DwX+TjYrR5UAbDt
         beGsAp9842JxRmMHrqPBrJgg98Awdqt2pjDMbEbkBm/+BANt8QB2IIT6gS7uCMpUwDRq
         +WBLWdWh9KdXWkq0SJwHI3S8OjlsTr9rFgff8UwyyYM/riDrp/Puo/2OEg+sX4ZSeMTo
         cogFXVGeUog6kV0K+wuuZ2rraU9KCdFYeOeuasvsJh1gwvATIyLW5mF/gcXijTCAGzuI
         oqRA==
X-Gm-Message-State: AOJu0Yzvi/4wR8U/9hqLYhpEyvp+q+DY+9RvzRXbfSnzAgdv631Nu2kv
	WZItM4E8zqKTiazFNg7Rh+bTn0w49lVA8SkxAN40UUZw4Yv6VNmKDBXMTbp9
X-Gm-Gg: ASbGncvUSsmMdoRKk9xLNmcv7+vWFOan6Tl7Gyf6E9dXm1ByQSqH9MSuB4qLt1A3vVZ
	J3lFu1qL/8GkJLdXatck1eujDDZytLGCtUk053k6dLdfpkqKfwoY6fLdvGp2FpBV9drjCXmGso+
	ASfumNUYJdLdDMEAsWI/czUkkSQJ6+BXSaooFIVPE1VWUbAJ8puqP/kGMQzvbyLOqcirqVRICqZ
	VIDNxzPJAFlrF1gwJgcfgUUcfT+BoCC+oKMxE0GM09RjNAD4kHPChmNp5FuIrEUS9X33kJTYgoR
	g/Raa68f0hBtWpGDXIShFaUCD4vedYxhk/OGvkOdPyv5lg1Fjg==
X-Google-Smtp-Source: AGHT+IFGQjD0nLcMig8xjCScahU4JtmgGc/wo+bPny8YpKreUoEaLv+Q7fgItxamnLGhjdgBLPivWg==
X-Received: by 2002:a05:6512:b11:b0:549:4e80:6dc0 with SMTP id 2adb3069b0e04-5497d18de0dmr968133e87.0.1741165922301;
        Wed, 05 Mar 2025 01:12:02 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@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>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: [PATCH 06/16] xen/arm: Introduce system suspend config option
Date: Wed,  5 Mar 2025 11:11:14 +0200
Message-ID: <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mykola Kvach <mykola_kvach@epam.com>

This option enables the system suspend support. This is the
mechanism that allows the system to be suspended to RAM and
later resumed.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
 xen/arch/arm/Kconfig | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a26d3e1182..5834af16ab 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
 config ARM32_HARDEN_BRANCH_PREDICTOR
     def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
 
+config SYSTEM_SUSPEND
+	bool "System suspend support"
+	default y
+	depends on ARM_64
+	help
+	  This option enables the system suspend support. This is the
+	  mechanism that allows the system to be suspended to RAM and
+	  later resumed.
+
+	  If unsure, say Y.
+
 source "arch/arm/platforms/Kconfig"
 
 source "common/Kconfig"
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901874.1309853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknP-0008FW-KE; Wed, 05 Mar 2025 09:12:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901874.1309853; Wed, 05 Mar 2025 09:12: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 1tpknP-0008Eh-Ck; Wed, 05 Mar 2025 09:12:07 +0000
Received: by outflank-mailman (input) for mailman id 901874;
 Wed, 05 Mar 2025 09:12: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknO-0006ew-7y
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:06 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7d6b355-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:12:04 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-548430564d9so6960606e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:04 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7d6b355-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165924; x=1741770724; 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=Hk7OlNvHyGrBIxhedAYhMR4TCL3M3B56gPlyju/+iaE=;
        b=cDCjt77bN2Pk28HYeWZzKju7Rb0gQh0LFmo0f45du8Zrm9CSkcbMMnKpZQTgeQUNEw
         SMPAiaJI9FyxPoWIw/zixgqPTHXW7fgKcI6nw/NrKCOd+kDXqH+t4AX5WuXca5dXNHMx
         pXowUOwCyNIYPAYLAek39kK8EDhDwTSZpkKZBrJY6Fw+8K3X20qGR1wSw4s7cnGpDUjS
         njzeUKPF/OohHaYKIRUSIMlN5PBeGaEhNCLjWicRXi9wvXOJwWVshbpR6u/jerfOoyN/
         KsOIlgf90AYv3NGv4HbXBvTbZQUUxAb/2QFj4mpkfhErX3GyvcvpaWm0NoyGGBBAg+t3
         SBmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165924; x=1741770724;
        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=Hk7OlNvHyGrBIxhedAYhMR4TCL3M3B56gPlyju/+iaE=;
        b=A6ihjZ1ZEHosMdkpGA0qHfLS3+Gg1CjIvFAK3vmxV43LfjhvxYUqsEVH13HYduJQqN
         sy970NyGQ/E764ALcXVDWUNfpAM79/REgxngbZdpiNRpdkBFqNkUe12Smad+3gUYE+MD
         VLhGKTPwzfX02R+vWn9541W3GIOvOTnlTfKmSC5SZUxW6/IWUPzGyA/0tnlzR9P6PUBM
         HoTjdXUuohK36Dv4E4A+mZlTOKOoe4awXl/cXncUI0qI43ZruA7r+Jz/8Cpme6t0IcM+
         CPIHEG4epO9vuH8s9xKqGOJathV3oNafb+1wvpiSwxis/CFbMynge0lEZnXOZih8mIgc
         TPAg==
X-Gm-Message-State: AOJu0Yxtw9ll/0samTbMc25iSHFAw57X10Pl0PcGC/1LxkZphjhDypP7
	0nBaHbGBlAQRQUDv38rAZJiEa9RUciG+md/2guh+vP+D5n9LfIzAO/awOqIz
X-Gm-Gg: ASbGnctCVBZL86rywC6SqXELoa1edValxEscJmB7EOZpzvg+l1nbzxN3z1CBUkdZxAP
	ZyufRqrmlu/pFtKzdPf4KGz60AdNxqUgP4FY7XMuHhGWki9oH3Mlkx363s5UCnBmNrhQ81a8R07
	0iqvQYfr9d2O+oiLhTHeJgVR+iUXOElucNKN9CUk2r3FCOcmHwRR6Uz/K0hPYw+Iu+p/xR/MUPe
	6nCNc2wl42PSRZC4wKV5fPAilOj/QBXTPz+N1EaF1cUaYxVjrcz3tTxYlLbprsov70eSItGCZ+c
	/67Wv+MfTA8BgncIeftSyS0dWWoGeiiiFJDv+LhSCYm8wdPq0w==
X-Google-Smtp-Source: AGHT+IEIUNIyqIxvynpuLuIPXWu5ZNrVatGILJqxFJ5qgs7gjphHV9/kq2qqAOMcHFIgr20BAbiaZg==
X-Received: by 2002:a05:6512:3b11:b0:549:7c13:e895 with SMTP id 2adb3069b0e04-5497d380d02mr820547e87.47.1741165923806;
        Wed, 05 Mar 2025 01:12:03 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@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>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Subject: [PATCH 07/16] xen/char: implement suspend/resume calls for SCIF driver
Date: Wed,  5 Mar 2025 11:11:15 +0200
Message-ID: <503edd5fb277699aaeb87507bb39fbb52e81f168.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mykola Kvach <mykola_kvach@epam.com>

The changes have been tested only on the Renesas R-Car-H3 Starter Kit board.

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>
---
 xen/drivers/char/scif-uart.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
index 757793ca45..e166fb0f36 100644
--- a/xen/drivers/char/scif-uart.c
+++ b/xen/drivers/char/scif-uart.c
@@ -139,7 +139,7 @@ static void scif_uart_interrupt(int irq, void *data)
     }
 }
 
-static void __init scif_uart_init_preirq(struct serial_port *port)
+static void scif_uart_init_preirq(struct serial_port *port)
 {
     struct scif_uart *uart = port->uart;
     const struct port_params *params = uart->params;
@@ -271,6 +271,33 @@ static void scif_uart_stop_tx(struct serial_port *port)
     scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) & ~SCSCR_TIE);
 }
 
+static void scif_uart_suspend(struct serial_port *port)
+{
+    struct scif_uart *uart = port->uart;
+
+    scif_uart_stop_tx(port);
+
+    /* Wait until last bit has been transmitted. */
+    while ( !(scif_readw(uart, SCIF_SCFSR) & SCFSR_TEND) );
+
+    /* Disable TX/RX parts and all interrupts */
+    scif_writew(uart, SCIF_SCSCR, 0);
+
+    /* Reset TX/RX FIFOs */
+    scif_writew(uart, SCIF_SCFCR, SCFCR_RFRST | SCFCR_TFRST);
+}
+
+static void scif_uart_resume(struct serial_port *port)
+{
+    struct scif_uart *uart = port->uart;
+
+    scif_uart_init_preirq(port);
+
+    /* Enable TX/RX and Error Interrupts  */
+    scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) |
+                SCSCR_TIE | SCSCR_RIE | SCSCR_REIE);
+}
+
 static struct uart_driver __read_mostly scif_uart_driver = {
     .init_preirq  = scif_uart_init_preirq,
     .init_postirq = scif_uart_init_postirq,
@@ -281,6 +308,8 @@ static struct uart_driver __read_mostly scif_uart_driver = {
     .start_tx     = scif_uart_start_tx,
     .stop_tx      = scif_uart_stop_tx,
     .vuart_info   = scif_vuart_info,
+    .suspend      = scif_uart_suspend,
+    .resume       = scif_uart_resume,
 };
 
 static const struct dt_device_match scif_uart_dt_match[] __initconst =
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901876.1309867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknR-0000Lu-Sf; Wed, 05 Mar 2025 09:12:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901876.1309867; Wed, 05 Mar 2025 09: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 1tpknR-0000Ld-O2; Wed, 05 Mar 2025 09:12:09 +0000
Received: by outflank-mailman (input) for mailman id 901876;
 Wed, 05 Mar 2025 09:12: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknP-0006ev-S6
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:07 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e957a17f-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:12:07 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-54958009d4dso4389302e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:07 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e957a17f-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165926; x=1741770726; 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=m/DQSzA8Mm1BXyH1yps+EV4PgxUn5myADhhJYlS6Wxs=;
        b=Ckp1V16ZPYSAPtzFzs0WwiF5I5aidZKU/HO6+7+C/CO061QX4jM1SSL9ejlOs1IZwZ
         gbwpyv6og7nvRXPvyGZAfkr59hQRLqmaWUjZymW+ZcD+0Dt7m2SiIFruwgX5jyQhvEBs
         /sYbVwRJlBlVd5b1wHdF65IGKcvp3LFfEzUinKd0wITYP/lkI2v5K+rxG+Bjr2TyQi78
         vLwaK5ov5Yu1NeC5dqjkD/Me2mj9/D7Y56hsJ0uNQ0XgJAU3Rpo+64kKh+iA92oCW5SD
         zrdPIlZRgjDhBwVkKZlXVgrs+CbpdQFTsBqwiJOrIulLHIQ36Cr/lzd7SLbYx8Ij1CDN
         YncA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165926; x=1741770726;
        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=m/DQSzA8Mm1BXyH1yps+EV4PgxUn5myADhhJYlS6Wxs=;
        b=xSFH4xp/qN5jRY7K2ZHJLx0oJYwT263xQgDjJaIODy1hx4gxvEsAFOuyFBgceXokbP
         bymrQ4Puh1Xmx3UaTRWOaPq/nmEIiXH4haVObBkGwrKL2erseH0JKr88SH94agemncpg
         0N5CnPQVm4Q7czVHr2MinJD5Mt6tcHYKOZU+gnkkJf9BSiX+47Nux86LLcAIduJD7AG8
         AIEgRkuBiaW5odAh+hZMDlq5W+5TLGCu1dJ+JzUR13/Tdp50jtTWLYQW3uCkOtX2+dC9
         db9z3h+9gRwmsrRpDcUVCRi0r/ZYryUtKNjBnevdw7EnC/QgjbMJlkznF7C680M8Hzt2
         lC5g==
X-Gm-Message-State: AOJu0Yy35fWO6HWKaDmvx/GZLxPB+NdLr195Zas+Z0qN9lCaaPW3HTrF
	Tt1H1np10BDjN/kOnDHUvEVAUvqyQI8sZH1+qCP+Kqn316uAp/6ZhHGQBWYg
X-Gm-Gg: ASbGncvuoN1Q0GlDceD39dAsZwT1gZQglxD1YlX4xCfeH33gfpglpeEe1b6WUPAY11U
	VPmFiwRecjU7g/POz+aFdW9Kx+TXhu+i7S+w9eSVRrxhop0WJREcLQD9gRJ4uiBF0vtBBs+8dnJ
	wsaoiNChr/8R/bx2DAX5i/DOWUHNo/7OwFFFHPDrWdLSuqNFanfSFAHtyij0whAaspfEp/09bZN
	Vx9+78urPniYa7maFr21WcPtveq/jvgLcEg1FeQiiivnkEKockxd4OaJPw/GxK5ASKAyZ15rDkm
	hFhU8OVNUJHHUyC2ym4Zk2cIMRX3MPyAHvpL5ZdGP8gWVq7/Sg==
X-Google-Smtp-Source: AGHT+IGtxa5Pj8kBsJaWyLXDgkv7/rHGgii+0cSx8gjh5ZUbdc71zh95bWBESehdjid4tSsm3aPzQQ==
X-Received: by 2002:a05:6512:2316:b0:545:1193:1256 with SMTP id 2adb3069b0e04-5497d32f847mr706274e87.1.1741165925893;
        Wed, 05 Mar 2025 01:12:05 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 09/16] xen/arm: add suspend and resume timer helpers
Date: Wed,  5 Mar 2025 11:11:17 +0200
Message-ID: <1c84532d015797f23172598a820223b6fa8bcb8d.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

Timer interrupts have to be disabled while the system is in suspend.
Otherwise, a timer interrupt would fire and wake-up the system.
Suspending the timer interrupts consists of disabling physical EL1
and EL2 timers. The resume consists only of raising timer softirq,
which will trigger the generic timer code to reprogram the EL2 timer
as needed. Enabling of EL1 physical timer will be triggered by an
entity which uses it.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
 xen/arch/arm/include/asm/time.h |  5 +++++
 xen/arch/arm/time.c             | 26 ++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
index 49ad8c1a6d..f4fd0c6af5 100644
--- a/xen/arch/arm/include/asm/time.h
+++ b/xen/arch/arm/include/asm/time.h
@@ -108,6 +108,11 @@ void preinit_xen_time(void);
 
 void force_update_vcpu_system_time(struct vcpu *v);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+void time_suspend(void);
+void time_resume(void);
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 #endif /* __ARM_TIME_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index e74d30d258..89c5773244 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -372,6 +372,32 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
     /* XXX update guest visible wallclock time */
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+void time_suspend(void)
+{
+    /* Disable physical EL1 timer */
+    WRITE_SYSREG(0, CNTP_CTL_EL0);
+
+    /* Disable hypervisor's timer */
+    WRITE_SYSREG(0, CNTHP_CTL_EL2);
+    isb();
+}
+
+void time_resume(void)
+{
+    /*
+     * Raising timer softirq will trigger generic timer code to reprogram_timer
+     * with the correct timeout value (which is not known here). There is no
+     * need to do anything else in order to recover the time keeping from power
+     * down, because the system counter is not affected by the power down (it
+     * resides out of the ARM's cluster in an always-on part of the SoC).
+     */
+    raise_softirq(TIMER_SOFTIRQ);
+}
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 static int cpu_time_callback(struct notifier_block *nfb,
                              unsigned long action,
                              void *hcpu)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901877.1309872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknS-0000Po-Eb; Wed, 05 Mar 2025 09:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901877.1309872; Wed, 05 Mar 2025 09:12: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 1tpknS-0000Op-2g; Wed, 05 Mar 2025 09:12:10 +0000
Received: by outflank-mailman (input) for mailman id 901877;
 Wed, 05 Mar 2025 09: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknQ-0006ew-8W
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:08 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e88812e1-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:12:05 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-30795988ebeso70454201fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:05 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e88812e1-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165925; x=1741770725; 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=kd9A3RPHtE4WbhtZy7g4A6o5dxf1Hpbh5fmcqVM2Avc=;
        b=X0ey0JHH8QNYZUAscvqafQ9HXMVnKLqo2M/kcasVOuYQ7acU2yE2/81aarCn2gPPAH
         gfJLkKPqn4EOWG1Bu64H91ZevnlQrPkovmvrChtG7yiMzPVRiriTNWpwV10MEYQiw7Ve
         dETSkXgzgM80cFE0lUyLcAiPi28GjeDNVC4OkRrkg1sqKoSI6KmdUf9ELuhHU4spXGIB
         XJFWhG67jomZn7jKHeaxKOFzdMUUmlNPvl0WTMPGSY7gD/njwmT1/MXhrKYXHD+OiIVB
         sY5ldm7kkZ+nGoPDtWptkyH3WztpTXvER6kO5ftcf5LiEw4zGX9xOyrGAn3vrcevg93T
         FLXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165925; x=1741770725;
        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=kd9A3RPHtE4WbhtZy7g4A6o5dxf1Hpbh5fmcqVM2Avc=;
        b=brWwbFnEdjgGvM2ZvDshauVsukazoe6rLd+jS/OWJw9WIDqL6/7HyfU2RsRaQPEk09
         LT7wg8ePKAMDJZbKP7cb0RPsiVvSmpvEpiS8ojS5vzGIZAMjHFQ0nM4vmLeSvwVZl7t5
         pX3xJ09jxPJGcTJr+zdZxYc7su0drPqAzDvlGGpHUOXkcHCWSa1IbG+bN8Jj30weiZSZ
         diJtV9B5TrVtSumRy5xZWNX6CuIv8Iej3Qu6w3jbGUISRRmJL4V4oF9XPlR764k+bOzG
         d8kkg0R1M1lKXgcCuCIVFUqcybo0FgXK7MVnlcB50v3/teIs2RXOMvzuMhgPIy1TZX2I
         tMLw==
X-Gm-Message-State: AOJu0YwiIxJ9OVEUpWGDciugkPoKAuobXm1bINF/9hVhaE1yN/dXcQmd
	bpaCIg0bIM6HITME18r1WyqGSTet+lKK5CsQx7cSWcBYqMMW925eJOAq8vOe
X-Gm-Gg: ASbGncvjT4kifJRjYmwEpxNXYIL3u/XHK6W6wncKw4oc97Oct8XK/n+l5We6TilFutq
	pwyqVJlMmSem7Wf5HRAJVSwWxllsP034jETUbOzyUO5RJ9zUC/9pRf2OFJ7BiN9RUkSZ1iWejGY
	pM88uc/RYmoidrhwTt4pj8LRBdFjOyGtzVYHuzi75g75tA8ErrZc+AuR/yjDntGLSL6TFtfK7MC
	L/mvkc+2qzgUpC/QizSSZ2u/y7I1zsPzmwxTfIkogztQs9QN+rf4wj9KiLPw1LlsvCQEv6ByQdY
	7EghN5l2iPnYRpAHpR4Us6oPHsmR8FmWmg9ATmxSzbtgiaGiOQ==
X-Google-Smtp-Source: AGHT+IHrsYsDR4qMXWVpxHaZu+wKGEz/PXJcy2Ue5u4oge/Kp9XG1dzWJFj7drL2FXF8JTW6lj9+WA==
X-Received: by 2002:a05:6512:3e06:b0:546:2f7a:38c4 with SMTP id 2adb3069b0e04-5497d335a4bmr910391e87.13.1741165924863;
        Wed, 05 Mar 2025 01:12:04 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Mirela Simonovic <mirela.simonovic@aggios.com>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
Date: Wed,  5 Mar 2025 11:11:16 +0200
Message-ID: <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mykola Kvach <mykola_kvach@epam.com>

This patch implements suspend/resume helpers for the watchdog.
While a domain is suspended its watchdogs must be paused. Otherwise,
if the domain stays in the suspend state for a longer period of time
compared to the watchdog period, the domain would be shutdown on resume.
Proper solution to this problem is to stop (suspend) the watchdog timers
after the domain suspends and to restart (resume) the watchdog timers
before the domain resumes. The suspend/resume of watchdog timers is done
in Xen and is invisible to the guests.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes in v3:
- cover the code with CONFIG_SYSTEM_SUSPEND

Changes in v2:
- drop suspended field from timer structure
- drop the call of watchdog_domain_resume from ctxt_switch_to
---
 xen/common/sched/core.c | 39 +++++++++++++++++++++++++++++++++++++++
 xen/include/xen/sched.h |  9 +++++++++
 2 files changed, 48 insertions(+)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index b1c6b6b9fa..6c2231826a 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1605,6 +1605,45 @@ void watchdog_domain_destroy(struct domain *d)
         kill_timer(&d->watchdog_timer[i].timer);
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+void watchdog_domain_suspend(struct domain *d)
+{
+    unsigned int i;
+
+    spin_lock(&d->watchdog_lock);
+
+    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
+    {
+        if ( test_bit(i, &d->watchdog_inuse_map) )
+        {
+            stop_timer(&d->watchdog_timer[i].timer);
+        }
+    }
+
+    spin_unlock(&d->watchdog_lock);
+}
+
+void watchdog_domain_resume(struct domain *d)
+{
+    unsigned int i;
+
+    spin_lock(&d->watchdog_lock);
+
+    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
+    {
+        if ( test_bit(i, &d->watchdog_inuse_map) )
+        {
+            set_timer(&d->watchdog_timer[i].timer,
+                      NOW() + SECONDS(d->watchdog_timer[i].timeout));
+        }
+    }
+
+    spin_unlock(&d->watchdog_lock);
+}
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 /*
  * Pin a vcpu temporarily to a specific CPU (or restore old pinning state if
  * cpu is NR_CPUS).
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index d0d10612ce..caab4aad93 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -1109,6 +1109,15 @@ void scheduler_disable(void);
 void watchdog_domain_init(struct domain *d);
 void watchdog_domain_destroy(struct domain *d);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+/*
+ * Suspend/resume watchdogs of domain (while the domain is suspended its
+ * watchdogs should be on pause)
+ */
+void watchdog_domain_suspend(struct domain *d);
+void watchdog_domain_resume(struct domain *d);
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 /*
  * Use this check when the following are both true:
  *  - Using this feature or interface requires full access to the hardware
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901878.1309879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknT-0000en-DS; Wed, 05 Mar 2025 09:12:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901878.1309879; Wed, 05 Mar 2025 09:12: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 1tpknT-0000cg-4e; Wed, 05 Mar 2025 09:12:11 +0000
Received: by outflank-mailman (input) for mailman id 901878;
 Wed, 05 Mar 2025 09:12: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknR-0006ev-0q
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:09 +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 ea07c654-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:12:08 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5496bc2e261so3041218e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:08 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea07c654-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165928; x=1741770728; 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=4/8kyy/e+kyBcwvFFlXXM+fJPKdq7qtfTXyKQk0fSJ8=;
        b=WunxoxaipK6FYHudkuN7MbHOUXK6wlUt5o6uDuT7FFSJLOUc5JgDrJTkaebMyCgNGS
         f0nOMEqfab5RQrZYco9iryeHABzqJ2LFkUDIjPE69ihKgE6cb1ja2Z56WwXxE0jyiOCz
         G3o+WKKsIbQI2jXtwsbpSoGLXWe1FvYW8PN/+/4DNyONQV5JGNuotJvd9TpovW8fvcKF
         zbeLBHOfPv0gLuJH+H0xRdo4JKNUrx5m0mpc+7gjedNOt1LUqshlbDnBVKCBPYDT0FhQ
         sWLS9kakWX7D12/gqYGA6+flP4fgNxnP/P+hMWiuFxno3f2PfHJlHl5RP2r1d/HetYTq
         5XoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165928; x=1741770728;
        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=4/8kyy/e+kyBcwvFFlXXM+fJPKdq7qtfTXyKQk0fSJ8=;
        b=imo+zg6bIYWKPewl9mp2miXO3QLY3QOV7F2sC8Keqy4/FJFZRQ98VFB3JTXtd9NqHL
         lxd/4kVhCCjGEj7AA7synb7dl+D0RimcyCQcXoFSQof02JD2CLaVtbch0dzxydIic37U
         J5Ql+4AosHYKCDcCG39xHbjCCt6qj9fwoIcn+tBUHyOAkrUsu1ijavjj0KLxTfC8aeoq
         w+ZemMi2nwnsIEmJGGS6yx7uZ0kssZg0pvqHYB/MVBzLQNS+/dOTfZuU8Lp0gYheCvBD
         zWwo61kgslWa6/RSu4QXl6K6PSKS3lxeW9apm0IWVGXUybtS2CMwfmtNFvT/ETFNl3Tb
         vscw==
X-Gm-Message-State: AOJu0YykOebJKau0OxbVWuKvXwbi95QyTP50v7TYKX3R2jCyWf70NEom
	FG3GJqHOQWVWNcpktgTTJ6rZCc/iUPxNzL2Ng2eyV5tqwLat1Vk1/ybBFI7E
X-Gm-Gg: ASbGncvYD8rhZtTQyJ0dzikWRQV52xes5yi3nr0rGZnnHHOOe+9emG+9lSupwGYMGf1
	wmcLKTJ1jWTB1empylWUcIVkg462Mf7+5C2mIR60AN/xQl/2RB9lXxd7qGqMDqU4pzPykU0fV26
	DhJKZQZ2bZxiXl3TeWHU5Xw5V7j6m2JrdxBpuoAjU4X1WIIX1Pl46TBQcsb/evbllQHYKGpPq5n
	6X6goKKXzEo19+dbn/DVicXC9shcq3Br09xmDi2qSIyylq4pessB3FfADy1yfju6WclHXFsUxH+
	OscfWwZZZJOh3IF/EyJHIVUt+KdNxqAetTajk7Zp6YjEs9WgkA==
X-Google-Smtp-Source: AGHT+IFW+lziWbHd1pIz+0JjTnkeWoKJRDeU1VuvnilEd64flrtnOsLy0B3LNUJx4k/lQIaKCBhqMQ==
X-Received: by 2002:a05:6512:1596:b0:549:74a7:12d6 with SMTP id 2adb3069b0e04-5497d357da3mr752284e87.26.1741165927466;
        Wed, 05 Mar 2025 01:12:07 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 10/16] xen/arm: Implement GIC suspend/resume functions (gicv2 only)
Date: Wed,  5 Mar 2025 11:11:18 +0200
Message-ID: <c9f441e6668c8ee25cdcce5ba705b39637a2f791.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

System suspend may lead to a state where GIC would be powered down.
Therefore, Xen should save/restore the context of GIC on suspend/resume.
Note that the context consists of states of registers which are
controlled by the hypervisor. Other GIC registers which are accessible
by guests are saved/restored on context switch.
Tested on Xilinx Ultrascale+ MPSoC with (and without) powering down
the GIC.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
changes in v3:
- drop asserts, return error code instead
- cover the code with CONFIG_SYSTEM_SUSPEND

changes in v2:
- minor fixes after review
---
 xen/arch/arm/gic-v2.c          | 142 +++++++++++++++++++++++++++++++++
 xen/arch/arm/gic.c             |  29 +++++++
 xen/arch/arm/include/asm/gic.h |  12 +++
 3 files changed, 183 insertions(+)

diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 02043c0d4b..868e1a5026 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -1098,6 +1098,139 @@ static int gicv2_iomem_deny_access(struct domain *d)
     return iomem_deny_access(d, mfn, mfn + nr);
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+/* GICv2 registers to be saved/restored on system suspend/resume */
+struct gicv2_context {
+    /* GICC context */
+    uint32_t gicc_ctlr;
+    uint32_t gicc_pmr;
+    uint32_t gicc_bpr;
+    /* GICD context */
+    uint32_t gicd_ctlr;
+    uint32_t *gicd_isenabler;
+    uint32_t *gicd_isactiver;
+    uint32_t *gicd_ipriorityr;
+    uint32_t *gicd_itargetsr;
+    uint32_t *gicd_icfgr;
+};
+
+static struct gicv2_context gicv2_context;
+
+static int gicv2_suspend(void)
+{
+    unsigned int i;
+
+    if ( !gicv2_context.gicd_isenabler )
+        return -ENOMEM;
+
+    /* Save GICC configuration */
+    gicv2_context.gicc_ctlr = readl_gicc(GICC_CTLR);
+    gicv2_context.gicc_pmr = readl_gicc(GICC_PMR);
+    gicv2_context.gicc_bpr = readl_gicc(GICC_BPR);
+
+    /* Save GICD configuration */
+    gicv2_context.gicd_ctlr = readl_gicd(GICD_CTLR);
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ )
+        gicv2_context.gicd_isenabler[i] = readl_gicd(GICD_ISENABLER + i * 4);
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ )
+        gicv2_context.gicd_isactiver[i] = readl_gicd(GICD_ISACTIVER + i * 4);
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
+        gicv2_context.gicd_ipriorityr[i] = readl_gicd(GICD_IPRIORITYR + i * 4);
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
+        gicv2_context.gicd_itargetsr[i] = readl_gicd(GICD_ITARGETSR + i * 4);
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 16); i++ )
+        gicv2_context.gicd_icfgr[i] = readl_gicd(GICD_ICFGR + i * 4);
+
+    return 0;
+}
+
+static void gicv2_resume(void)
+{
+    unsigned int i;
+
+    if ( !gicv2_context.gicd_isenabler )
+        return;
+
+    /* Disable CPU interface and distributor */
+    writel_gicc(0, GICC_CTLR);
+    writel_gicd(0, GICD_CTLR);
+
+    /* Restore GICD configuration */
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ ) {
+        writel_gicd(0xffffffff, GICD_ICENABLER + i * 4);
+        writel_gicd(gicv2_context.gicd_isenabler[i], GICD_ISENABLER + i * 4);
+    }
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ ) {
+        writel_gicd(0xffffffff, GICD_ICACTIVER + i * 4);
+        writel_gicd(gicv2_context.gicd_isactiver[i], GICD_ISACTIVER + i * 4);
+    }
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
+        writel_gicd(gicv2_context.gicd_ipriorityr[i], GICD_IPRIORITYR + i * 4);
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
+        writel_gicd(gicv2_context.gicd_itargetsr[i], GICD_ITARGETSR + i * 4);
+
+    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 16); i++ )
+        writel_gicd(gicv2_context.gicd_icfgr[i], GICD_ICFGR + i * 4);
+
+    /* Make sure all registers are restored and enable distributor */
+    writel_gicd(gicv2_context.gicd_ctlr | GICD_CTL_ENABLE, GICD_CTLR);
+
+    /* Restore GIC CPU interface configuration */
+    writel_gicc(gicv2_context.gicc_pmr, GICC_PMR);
+    writel_gicc(gicv2_context.gicc_bpr, GICC_BPR);
+
+    /* Enable GIC CPU interface */
+    writel_gicc(gicv2_context.gicc_ctlr | GICC_CTL_ENABLE | GICC_CTL_EOI,
+                GICC_CTLR);
+}
+
+static void gicv2_alloc_context(struct gicv2_context *gc)
+{
+    uint32_t n = gicv2_info.nr_lines;
+
+    gc->gicd_isenabler = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 32));
+    if ( !gc->gicd_isenabler )
+        goto err_free;
+
+    gc->gicd_isactiver = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 32));
+    if ( !gc->gicd_isactiver )
+        goto err_free;
+
+    gc->gicd_itargetsr = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 4));
+    if ( !gc->gicd_itargetsr )
+        goto err_free;
+
+    gc->gicd_ipriorityr = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 4));
+    if ( !gc->gicd_ipriorityr )
+        goto err_free;
+
+    gc->gicd_icfgr = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 16));
+    if ( !gc->gicd_icfgr )
+        goto err_free;
+
+    return;
+
+ err_free:
+    xfree(gc->gicd_icfgr);
+    xfree(gc->gicd_ipriorityr);
+    xfree(gc->gicd_itargetsr);
+    xfree(gc->gicd_isactiver);
+    xfree(gc->gicd_isenabler);
+
+    memset(gc, 0, sizeof(*gc));
+}
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 #ifdef CONFIG_ACPI
 static unsigned long gicv2_get_hwdom_extra_madt_size(const struct domain *d)
 {
@@ -1302,6 +1435,11 @@ static int __init gicv2_init(void)
 
     spin_unlock(&gicv2.lock);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+    /* Allocate memory to be used for saving GIC context during the suspend */
+    gicv2_alloc_context(&gicv2_context);
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
     return 0;
 }
 
@@ -1345,6 +1483,10 @@ const static struct gic_hw_operations gicv2_ops = {
     .map_hwdom_extra_mappings = gicv2_map_hwdom_extra_mappings,
     .iomem_deny_access   = gicv2_iomem_deny_access,
     .do_LPI              = gicv2_do_LPI,
+#ifdef CONFIG_SYSTEM_SUSPEND
+    .suspend             = gicv2_suspend,
+    .resume              = gicv2_resume,
+#endif /* CONFIG_SYSTEM_SUSPEND */
 };
 
 /* Set up the GIC */
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index acf61a4de3..1c974cf0f5 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -422,6 +422,35 @@ int gic_iomem_deny_access(struct domain *d)
     return gic_hw_ops->iomem_deny_access(d);
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+int gic_suspend(void)
+{
+    /* Must be called by boot CPU#0 with interrupts disabled */
+    ASSERT(!local_irq_is_enabled());
+    ASSERT(!smp_processor_id());
+
+    if ( !gic_hw_ops->suspend || !gic_hw_ops->resume )
+        return -ENOSYS;
+
+    return gic_hw_ops->suspend();
+}
+
+void gic_resume(void)
+{
+    /*
+     * Must be called by boot CPU#0 with interrupts disabled after gic_suspend
+     * has returned successfully.
+     */
+    ASSERT(!local_irq_is_enabled());
+    ASSERT(!smp_processor_id());
+    ASSERT(gic_hw_ops->resume);
+
+    gic_hw_ops->resume();
+}
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 static int cpu_gic_callback(struct notifier_block *nfb,
                             unsigned long action,
                             void *hcpu)
diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h
index 541f0eeb80..a706303008 100644
--- a/xen/arch/arm/include/asm/gic.h
+++ b/xen/arch/arm/include/asm/gic.h
@@ -280,6 +280,12 @@ extern int gicv_setup(struct domain *d);
 extern void gic_save_state(struct vcpu *v);
 extern void gic_restore_state(struct vcpu *v);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+/* Suspend/resume */
+extern int gic_suspend(void);
+extern void gic_resume(void);
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 /* SGI (AKA IPIs) */
 enum gic_sgi {
     GIC_SGI_EVENT_CHECK,
@@ -395,6 +401,12 @@ struct gic_hw_operations {
     int (*iomem_deny_access)(struct domain *d);
     /* Handle LPIs, which require special handling */
     void (*do_LPI)(unsigned int lpi);
+#ifdef CONFIG_SYSTEM_SUSPEND
+    /* Save GIC configuration due to the system suspend */
+    int (*suspend)(void);
+    /* Restore GIC configuration due to the system resume */
+    void (*resume)(void);
+#endif /* CONFIG_SYSTEM_SUSPEND */
 };
 
 extern const struct gic_hw_operations *gic_hw_ops;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:12:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:12:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901883.1309897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpknW-0001Hu-4j; Wed, 05 Mar 2025 09:12:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901883.1309897; Wed, 05 Mar 2025 09: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 1tpknV-0001Gw-S2; Wed, 05 Mar 2025 09:12:13 +0000
Received: by outflank-mailman (input) for mailman id 901883;
 Wed, 05 Mar 2025 09:12: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknT-0006ev-Sd
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:11 +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 ebabc915-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:12:11 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-549490e290dso5158117e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:11 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebabc915-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165930; x=1741770730; 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=7vRDesRQb/Nxhcf66JbLCYMstts9xs0Oaigt+qqhPzM=;
        b=ESjib+ijtuRtIkop52jBXTWP/vZdjuq1LbSSb1bzrDHb3gXFQvmlqL9guzkqGVBYzY
         kXmsuGEREScjkGdZzXQtstSaLfSTpsPPIOsaShYoB5cDsIJIejMfwPrSgTvjjenMQgxn
         okmqnTMvIJiDB30DhXA2ScJ1PFz/hWHT/NM8hsEvVIOnmL9yqzkfaiCv27IADyWiAxGX
         +4KVOspvBB5lgawJUJ86izoHwHQ9v6Rj2tOwI77qYT5H4sXwFUOXxfPRWRonq9ABPg38
         pnDIJ8IdlOIMv4gntyNvcopOjaPJr2l3twfNzUI8Q35vlykHTvuRZRh0J86LON0mXj8R
         n7lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165930; x=1741770730;
        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=7vRDesRQb/Nxhcf66JbLCYMstts9xs0Oaigt+qqhPzM=;
        b=G1EdZXq4Gtqq0NaL8HczTcVS0TUT5RhtSeHQz6CVvXQtKpOyQAjDtK0DJtxGvxk5LT
         etGTEqjEBKwJ4q5q/aZj+qhGb6vdH75W8mBZ+Zyyrk1/lG3BvKK/YHHppGpQHks9RAEx
         Iy4thdXDOus/BxGEByueTs8y+uucdqMQdsHtD21vIx4RCbj864vsglzWoMI5MmjjkvWO
         m0rE/vLgpqcb+HlBFoKZUVn57A9Iz9tzjjpZd25JU47DZ7Caz90guGYtW4yE3M/yxmCA
         0lq4gTcvliiQJZeeam3gIbOAXBBdjmbl/CMU7VBKi76Y21uZTa+ZrUO4Eh7+j4S5NztN
         7MKg==
X-Gm-Message-State: AOJu0Yzk+dHKtN38TaKQXyBCVoZgVGWaAJ9XKkvLJTSLEtfjhleQwocW
	PU2oFZBH7+MkkKY79r3SY/ZWqWr7UNZr5dbUAoCghrvnj6xQ5gRgML8Bi/oE
X-Gm-Gg: ASbGncthnCbAeb7lEf/HqdFWt5PXIlfMzUobZJAjSbz1RkVV3Gb2skFwL646vvWNzDl
	S+L0nkGROS976xt8RpV30LBgpU7M3ZBRrwBsZsNVu6VPnYYWSsOt6UHIOzANGFOaYkaFHfA0DtH
	U59K6mR+hUuOM2g7+LcOa45AgwBqF0kaMlKFU2XC1IsQ/VykoFUzLp/PJZzYSM3m6A4Kpf1dAjL
	1CauwSTKd5UO6xmLBhHTPE6jzZqDoAnvOLRYpdiyqJwqLAjr9JNapghFLF1tkU89n8a9oZ0BWVS
	bL1BYdNAn0oJu2Uhocp0Yn1gc8pC9n7ELD2yPImRfLV05PCTVA==
X-Google-Smtp-Source: AGHT+IGgw7tZ/KupAA7aqLgKd7RgPJr1KdPD7ZGpud0YGWY6QTwxlrBZ7x7v9bHnysTCB2vsApcPRQ==
X-Received: by 2002:a05:6512:3e1a:b0:545:1082:91a1 with SMTP id 2adb3069b0e04-5497d32f7bamr789411e87.7.1741165929631;
        Wed, 05 Mar 2025 01:12:09 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 12/16] xen/arm: Trigger Xen suspend when hardware domain completes suspend
Date: Wed,  5 Mar 2025 11:11:20 +0200
Message-ID: <ff5da2f2bc2210bcb2133749591ea01114391173.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

When hardware domain finalizes its suspend procedure the suspend of Xen
is triggered by calling system_suspend(). Hardware domain finalizes the
suspend from its boot core (VCPU#0), which could be mapped to any physical
CPU, i.e. the system_suspend() function could be executed by any physical
CPU. Since Xen suspend procedure has to be run by the boot CPU
(non-boot CPUs will be disabled at some point in suspend procedure),
system_suspend() execution has to continue on CPU#0.

When the system_suspend() returns 0, it means that the system was
suspended and it is coming out of the resume procedure. Regardless
of the system_suspend() return value, after this function returns
Xen is fully functional, and its state, including all devices and data
structures, matches the state prior to calling system_suspend().
The status is returned by system_suspend() for debugging/logging
purposes and function prototype compatibility.

This patch also introduces some state changes in peripherals and CPUs
during suspend/resume. Specifically, it:
  - disable/enable non-boot physical CPUs, freeze/thaw domains;
  - suspend/resume the timer, GIC, console, IOMMU, and hardware domain.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes introduced in V3:
 Merged changes from other commits into this one (stashed changes):
  - disabled/enabled non-boot physical CPUs and froze/thawed domains;
  - suspended/resumed the timer, GIC, console, IOMMU, and hardware domain.
---
 xen/arch/arm/suspend.c | 233 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 233 insertions(+)

diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
index 27fab8c999..fa81be5a4f 100644
--- a/xen/arch/arm/suspend.c
+++ b/xen/arch/arm/suspend.c
@@ -1,6 +1,9 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
 #include <xen/sched.h>
+#include <xen/cpu.h>
+#include <xen/console.h>
+#include <xen/iommu.h>
 #include <asm/cpufeature.h>
 #include <asm/event.h>
 #include <asm/psci.h>
@@ -8,6 +11,210 @@
 #include <asm/platform.h>
 #include <public/sched.h>
 
+/* Reset values of VCPU architecture specific registers */
+static void vcpu_arch_reset(struct vcpu *v)
+{
+    v->arch.ttbr0 = 0;
+    v->arch.ttbr1 = 0;
+    v->arch.ttbcr = 0;
+
+    v->arch.csselr = 0;
+    v->arch.cpacr = 0;
+    v->arch.contextidr = 0;
+    v->arch.tpidr_el0 = 0;
+    v->arch.tpidrro_el0 = 0;
+    v->arch.tpidr_el1 = 0;
+    v->arch.vbar = 0;
+    v->arch.dacr = 0;
+    v->arch.par = 0;
+#if defined(CONFIG_ARM_32)
+    v->arch.mair0 = 0;
+    v->arch.mair1 = 0;
+    v->arch.amair0 = 0;
+    v->arch.amair1 = 0;
+#else
+    v->arch.mair = 0;
+    v->arch.amair = 0;
+#endif
+    /* Fault Status */
+#if defined(CONFIG_ARM_32)
+    v->arch.dfar = 0;
+    v->arch.ifar = 0;
+    v->arch.dfsr = 0;
+#elif defined(CONFIG_ARM_64)
+    v->arch.far = 0;
+    v->arch.esr = 0;
+#endif
+
+    v->arch.ifsr  = 0;
+    v->arch.afsr0 = 0;
+    v->arch.afsr1 = 0;
+
+#ifdef CONFIG_ARM_32
+    v->arch.joscr = 0;
+    v->arch.jmcr = 0;
+#endif
+
+    v->arch.teecr = 0;
+    v->arch.teehbr = 0;
+}
+
+/*
+ * This function sets the context of current VCPU to the state which is expected
+ * by the guest on resume. The expected VCPU state is:
+ * 1) pc to contain resume entry point (1st argument of PSCI SYSTEM_SUSPEND)
+ * 2) r0/x0 to contain context ID (2nd argument of PSCI SYSTEM_SUSPEND)
+ * 3) All other general purpose and system registers should have reset values
+ */
+static void vcpu_resume(struct vcpu *v)
+{
+
+    struct vcpu_guest_context ctxt;
+
+    /* Make sure that VCPU guest regs are zeroed */
+    memset(&ctxt, 0, sizeof(ctxt));
+
+    /* Set non-zero values to the registers prior to copying */
+    ctxt.user_regs.pc64 = (u64)v->arch.suspend_ep;
+
+    /* TODO: test changes on 32-bit domain */
+    if ( is_32bit_domain(v->domain) )
+    {
+        ctxt.user_regs.r0_usr = v->arch.suspend_cid;
+        ctxt.user_regs.cpsr = PSR_GUEST32_INIT;
+
+        /* Thumb set is allowed only for 32-bit domain */
+        if ( v->arch.suspend_ep & 1 )
+        {
+            ctxt.user_regs.cpsr |= PSR_THUMB;
+            ctxt.user_regs.pc64 &= ~(u64)1;
+        }
+    }
+#ifdef CONFIG_ARM_64
+    else
+    {
+        ctxt.user_regs.x0 = v->arch.suspend_cid;
+        ctxt.user_regs.cpsr = PSR_GUEST64_INIT;
+    }
+#endif
+    ctxt.sctlr = SCTLR_GUEST_INIT;
+    ctxt.flags = VGCF_online;
+
+    /* Reset architecture specific registers */
+    vcpu_arch_reset(v);
+
+    /* Initialize VCPU registers */
+    domain_lock(v->domain);
+    arch_set_info_guest(v, &ctxt);
+    domain_unlock(v->domain);
+    watchdog_domain_resume(v->domain);
+}
+
+/* Xen suspend. Note: data is not used (suspend is the suspend to RAM) */
+static long system_suspend(void *data)
+{
+    int status;
+    unsigned long flags;
+
+    BUG_ON(system_state != SYS_STATE_active);
+
+    system_state = SYS_STATE_suspend;
+    freeze_domains();
+
+    /*
+     * Non-boot CPUs have to be disabled on suspend and enabled on resume
+     * (hotplug-based mechanism). Disabling non-boot CPUs will lead to PSCI
+     * CPU_OFF to be called by each non-boot CPU. Depending on the underlying
+     * platform capabilities, this may lead to the physical powering down of
+     * CPUs. Tested on Xilinx Zynq Ultrascale+ MPSoC (including power down of
+     * each non-boot CPU).
+     */
+    status = disable_nonboot_cpus();
+    if ( status )
+    {
+        system_state = SYS_STATE_resume;
+        goto resume_nonboot_cpus;
+    }
+
+    time_suspend();
+
+    local_irq_save(flags);
+    status = gic_suspend();
+    if ( status )
+    {
+        system_state = SYS_STATE_resume;
+        goto resume_irqs;
+    }
+
+    printk("Xen suspending...\n");
+    console_start_sync();
+
+    status = console_suspend();
+    if ( status )
+    {
+        dprintk(XENLOG_ERR, "Failed to suspend the console, err=%d\n", status);
+        system_state = SYS_STATE_resume;
+        goto resume_console;
+    }
+
+    status = iommu_suspend();
+    if ( status )
+    {
+        system_state = SYS_STATE_resume;
+        goto resume_console;
+    }
+
+    /*
+     * Enable identity mapping before entering suspend to simplify
+     * the resume path
+     */
+    update_boot_mapping(true);
+
+    system_state = SYS_STATE_resume;
+    update_boot_mapping(false);
+
+    iommu_resume();
+
+resume_console:
+    console_resume();
+
+    gic_resume();
+
+resume_irqs:
+    local_irq_restore(flags);
+
+    time_resume();
+
+resume_nonboot_cpus:
+    /*
+     * The rcu_barrier() has to be added to ensure that the per cpu area is
+     * freed before a non-boot CPU tries to initialize it (_free_percpu_area()
+     * has to be called before the init_percpu_area()). This scenario occurs
+     * when non-boot CPUs are hot-unplugged on suspend and hotplugged on resume.
+     */
+    rcu_barrier();
+    enable_nonboot_cpus();
+    thaw_domains();
+    system_state = SYS_STATE_active;
+
+    /*
+     * The hardware domain owns most of the devices and may be part of the
+     * suspend/resume path. Since the hardware domain suspend is tied to
+     * the host suspend, it makes sense to resume it at the same time,
+     * i.e. after host resumes.
+     */
+    vcpu_resume(hardware_domain->vcpu[0]);
+    /*
+     * The resume of hardware domain should always follow Xen's resume.
+     * This is done by unblocking the first vCPU of Dom0.
+     */
+    vcpu_unblock(hardware_domain->vcpu[0]);
+
+    printk("Resume (status %d)\n", status);
+
+    return status;
+}
+
 static void vcpu_suspend_prepare(register_t epoint, register_t cid)
 {
     struct vcpu *v = current;
@@ -21,6 +228,7 @@ int32_t domain_suspend(register_t epoint, register_t cid)
     struct vcpu *v;
     struct domain *d = current->domain;
     bool is_thumb = epoint & 1;
+    int status;
 
     dprintk(XENLOG_DEBUG,
             "Dom%d suspend: epoint=0x%"PRIregister", cid=0x%"PRIregister"\n",
@@ -54,6 +262,31 @@ int32_t domain_suspend(register_t epoint, register_t cid)
      */
     vcpu_block_unless_event_pending(current);
 
+    /* If this was dom0 the whole system should suspend: trigger Xen suspend */
+    if ( is_hardware_domain(d) )
+    {
+        /*
+         * system_suspend should be called when Dom0 finalizes the suspend
+         * procedure from its boot core (VCPU#0). However, Dom0's VCPU#0 could
+         * be mapped to any PCPU (this function could be executed by any PCPU).
+         * The suspend procedure has to be finalized by the PCPU#0 (non-boot
+         * PCPUs will be disabled during the suspend).
+         */
+        status = continue_hypercall_on_cpu(0, system_suspend, NULL);
+        /*
+         * If an error happened, there is nothing that needs to be done here
+         * because the system_suspend always returns in fully functional state
+         * no matter what the outcome of suspend procedure is. If the system
+         * suspended successfully the function will return 0 after the resume.
+         * Otherwise, if an error is returned it means Xen did not suspended,
+         * but it is still in the same state as if the system_suspend was never
+         * called. We dump a debug message in case of an error for debugging/
+         * logging purpose.
+         */
+        if ( status )
+            dprintk(XENLOG_ERR, "Failed to suspend, errno=%d\n", status);
+    }
+
     return PSCI_SUCCESS;
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:14:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:14:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901920.1309906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpkpn-0004Xe-0U; Wed, 05 Mar 2025 09:14:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901920.1309906; Wed, 05 Mar 2025 09: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 1tpkpm-0004XX-Ts; Wed, 05 Mar 2025 09:14:34 +0000
Received: by outflank-mailman (input) for mailman id 901920;
 Wed, 05 Mar 2025 09:14: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpkpl-0004XL-U5
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:14:33 +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 3f6101a9-f9a2-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:14:32 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43bd5644de8so2504335e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:14:32 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4796517sm20107667f8f.5.2025.03.05.01.14.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:14:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f6101a9-f9a2-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741166071; x=1741770871; 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=gl9jSiB7evpe8ejmAOLUI0imnKWEgep+b1ZE6Io+mN8=;
        b=cypdZq2ZNamYFnpXKFU9vstO4RuC7t8vYpsQzVugezWFFaDKIpf+VTby79bs65aaMw
         8UW6qdhNQXU+yst7SAyBU9tkPBLDhDqXpjn1q10BUXQh6uzGyHTsmrBvFuqFyLqzCP41
         FZ+iF2XepdZ1WGw/79Rz8vscCMBv+MTOiCywHAt1NCF2ScjtCe5xysyyqZt0OV0En0PI
         r8frDpEL963iKvegBlpCggzuydpCe8N1XjUdDX4I5bUVBIJ97n/yVuVeOyzLXS//e7Nx
         MNHqPMx/aAnpajn/r0pmR+kgTroQ0/yNHaMmLZV3WOfKZiJ1GXqcQGTmhcxEbsKdCdMa
         du7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741166071; x=1741770871;
        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=gl9jSiB7evpe8ejmAOLUI0imnKWEgep+b1ZE6Io+mN8=;
        b=Pg/Y06fTCG80U7xe738QZQoZ5K4daLYIdurNXQUd128AUfLRl1NiEYicm6dzG6O6BA
         BXBIDVk1h15utSGS3c+MFGWsbCb4XT6F7EFzg+HAtB3nZJaIGNCDrsPPIl1pJFmtZWXs
         xOP2sZdKiVoal9i0mIhscn4GZUCdgN8WQXjYVxYaEvc9AM0EI1g1vKuf7MmbsLDJoXsv
         a4yLEZMzPAxzyTQ7X7ZKKZxDNdqPPsBFJn2d4Srcp4cgtkmcbUzIQX06igsFLQLUJKt4
         ri7WYYOZzHPzSboy3j0dGL1lQTbQHwn/0NlFM8zRf2+sTSNuzjaJIwBqZancYRfwesDL
         eWAw==
X-Gm-Message-State: AOJu0Ywt3EM2NF3K6RQqZg4Jos0W7+Ct/+3qN4M5WZ33NBG2szYZppS4
	81foX4hQpiuYSG0hDGLPm0ZYZEHrIvWQXmeQBgwYbwrfEsc8j3t9nqJYO5iMlUWjXQFybki2GD8
	=
X-Gm-Gg: ASbGncsHolRpmMwUc+ocRqTHqa1w8XWsl4XJk0YtMTkxMWHTZoFwcIgZzwY+qAvEvao
	4b8px+d9IbgVqenFYfqMtn/LTKUNBuADtd2OlMrVy4CoSnf/L6Xg9gmQJjBCCe4oFZBizb7S697
	cTyCL64czF0ILz4PgrM1NKRm+Bbvmt8ksyozygsud8XipZAiso5OHj7PFoDlfWcRxLI3l3t5V9P
	F3CN1nmhcPUoYcoUH3ift+V+cB++MhnHyd3E6iSeZ2pM/BNiCJImHYy/7lpIynBzcdCqKBpWmMT
	F9PrepeenwWih+d9bbvjdyUoCbwbUcLc0ownImpl/HtyyUkZu8RBzvkXpVQBQU9kNR8vDbSZMFL
	2W77zGgjP36pyfYXmxxOdWvYSyBBb7g==
X-Google-Smtp-Source: AGHT+IHBfq20PBP2dtkvSFOcOZu3Tq1rwLWCB4cQNsQQjg/3YlZkXp0mSlL/b9+yapE+gJTc2TA0sQ==
X-Received: by 2002:a05:600c:4ed2:b0:439:9d75:9e92 with SMTP id 5b1f17b1804b1-43bd29d239bmr13733335e9.28.1741166071134;
        Wed, 05 Mar 2025 01:14:31 -0800 (PST)
Message-ID: <41e7c2ff-ee66-4269-9771-fc274e7a051d@suse.com>
Date: Wed, 5 Mar 2025 10:14:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: remove some unused defines from xs_wire.h
To: Juergen Gross <jgross@suse.com>
References: <20250305085646.26472-1-jgross@suse.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: <20250305085646.26472-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 09:56, Juergen Gross wrote:
> xs_wire.h contains some defines XS_WRITE_* which seem to be leftovers
> from some decades ago. They haven't been used in the Xen tree since at
> least Xen 2.0 and they make no sense anyway.
> 
> Remove them, as they seem not to be related to any Xen interface we
> have today.

How sure are you/we that there are no out-of-tree uses of them? They
aren't in e.g. a __XEN_TOOLS__ protected region after all. (I don't
mind their removal, but in public headers I think we need to be
double careful.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:23:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:23:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901929.1309916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpkyA-0006ck-P9; Wed, 05 Mar 2025 09:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901929.1309916; Wed, 05 Mar 2025 09: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 1tpkyA-0006cd-Mf; Wed, 05 Mar 2025 09:23:14 +0000
Received: by outflank-mailman (input) for mailman id 901929;
 Wed, 05 Mar 2025 09: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpky9-0006cV-Tf
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:23:13 +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 75622fc4-f9a3-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:23:11 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-39104c1cbbdso1635124f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:23:11 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a7473sm20686531f8f.38.2025.03.05.01.23.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:23:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75622fc4-f9a3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741166591; x=1741771391; 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=qu1uRwoZW4Grbea5GGS4q97jjaEXRfKeSDceRse/EWM=;
        b=C26DbKaSBOQUpEwhRQXPmudxo0t/sLHZvQFxOWFFkp+mdgXiyawNLBvRJVpl/em2Re
         pROhE3ZNOgw6Q625dYL/0rgpI0NHFknMAT2dKcREsq8qa0H5T9PRN9jxjczh0ExZOJ6g
         JVLJTKUe/9oY2lPqRmWKv9cmylDFawN8m7nxKvruFk0HflH3YTIlWsFT2HH2TAxVvJF8
         mExrwYtBn6I395dCHbdCeNEqdRvrVy021Cbui3lL0vXJFZYIijHp1XPQKX/wCxBLZdF9
         S+WCfCpagXmJtojmgaheJzLP+eqbb+5JYqL6/AshcQkbucCIQrJ4Kx2oOOmKm9mar6IX
         5uSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741166591; x=1741771391;
        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=qu1uRwoZW4Grbea5GGS4q97jjaEXRfKeSDceRse/EWM=;
        b=AxoVKXaPEvXxL3rLzkm9LQBQ9YP9OtvnLcHKNoL2IM0cS+v58I4/FyXpBlRcWkr6L+
         vVkNp8BAacmheVPhM53sc8rB5AljoTyR1lY3UUvFXmq8wxTfJ0/ZuGS9WBWgW8iDl//k
         iZf+MgVw2iSBTLQctYnIPlQI6v8cwtWZEJZ/LwgUgt9S6ExJuQmLTDG/MVew8Y47SUjs
         6wYCzV1m2RaIY6bGP6GjGOsbLKxq9ghefge0y8UeTFkSyYVkD3gu49WRI8SGpx7aurIa
         0CVrztBYcIAagos7ismoWSR/N6NnsE5P4tA8i0TKBz5nHAKIuzPofZ3I5kbasHAU433V
         MG2g==
X-Forwarded-Encrypted: i=1; AJvYcCVzh5AEthifevntjMSMrHKJiCWBOKqxcJbVOLsIB+H+iwQ5uTQbAcNmoOgAe41orjCkc3SPxNfnFcA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxiPtR/0X+xCTeDqswiuJrCCH8vaBGhKN9SaaHQRG646nHNXk34
	TrvVF7Alka++V5Im5VOW3efNWZUnCXR3m88hwCF/2PaXGvW00h4bYo2BPG4/7Q==
X-Gm-Gg: ASbGncsaSDCbATe2i5Wazw/M4FS+k7BoR6nKYUNNVnBI2jkbULB15kEJMu9w2mJWwBX
	FcdBCuQe1Gw3Hd/vQ5arqGUv92PifjBrnu8ztE7rleYRTySCk6bApa9ovF8NVExpOVsf5KEXpva
	nA8uQJSsTn0q7ujIkRsR05DoOkiyWGGMx2nldVfDZaugn29VO3imkNTIhfHL8o2z54e2jOuUgiE
	hk4HWK3YEB57HihST5WojOKlLATM45qV0DbiJFwhk2u5IgwCvXhBoqGahcQNEco+H/Evd5KMgAB
	4ZRx6wyl/QmuoD+6AY45opVi4557bgfVaXfTCOgX/nKBmXbQs/NLgRe2huBgiUrlujVx+K6gqN+
	K2cnZvHl0W7PLhyv1QuX1CSzaSEfqtQ==
X-Google-Smtp-Source: AGHT+IHy1I04AeplFbRfUXiRFKE5nJpLdT2zm2Ye/1qhjlzc+0DfWNaEcwpOPcXn0Zvd7AOVfEd5jQ==
X-Received: by 2002:a05:6000:1788:b0:38f:43c8:f765 with SMTP id ffacd0b85a97d-3911f756783mr1663177f8f.26.1741166591145;
        Wed, 05 Mar 2025 01:23:11 -0800 (PST)
Message-ID: <abffca04-ca4f-4d62-8c2d-c687550ca8c3@suse.com>
Date: Wed, 5 Mar 2025 10:23:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/domain: Annotate struct domain as page aligned
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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
 <20250303232941.2641306-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: <20250303232941.2641306-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.03.2025 00:29, Andrew Cooper wrote:
> struct domain is always a page aligned allocation.  Update it's type to
> reflect this, so we can safely reuse the lower bits in the pointer for
> auxiliary information.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> CC: Dario Faggioli <dfaggioli@suse.com>
> CC: Juergen Gross <jgross@suse.com>
> CC: George Dunlap <gwd@xenproject.org>
> 
> v2:
>  * New
> 
> Interestingly this does cause two changes in the resulting binary, both caused
> by GCC electing to use a more complicated addressing mode to save one ADD
> instruction.

That's on x86, I suppose?

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -645,7 +645,7 @@ struct domain
>      unsigned int num_llc_colors;
>      const unsigned int *llc_colors;
>  #endif
> -};
> +} __aligned(PAGE_SIZE);
>  
>  static inline struct page_list_head *page_to_list(
>      struct domain *d, const struct page_info *pg)

I understand struct domain is where you need the annotation right away, but is
there a reason not to do the same for struct vcpu right away?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:24:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901937.1309926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpkzq-00078D-2w; Wed, 05 Mar 2025 09:24:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901937.1309926; Wed, 05 Mar 2025 09:24: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 1tpkzq-000786-0J; Wed, 05 Mar 2025 09:24:58 +0000
Received: by outflank-mailman (input) for mailman id 901937;
 Wed, 05 Mar 2025 09:24: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=XpfQ=VY=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpkzo-00077t-NA
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:24:57 +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 b2838939-f9a3-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:24:54 +0100 (CET)
Received: from PA7P264CA0092.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:348::17)
 by PAXPR08MB6496.eurprd08.prod.outlook.com (2603:10a6:102:df::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Wed, 5 Mar
 2025 09:24:52 +0000
Received: from AMS1EPF00000042.eurprd04.prod.outlook.com
 (2603:10a6:102:348:cafe::46) by PA7P264CA0092.outlook.office365.com
 (2603:10a6:102:348::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Wed,
 5 Mar 2025 09:24:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000042.mail.protection.outlook.com (10.167.16.39) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8466.11
 via Frontend Transport; Wed, 5 Mar 2025 09:24:51 +0000
Received: ("Tessian outbound a60532193129:v585");
 Wed, 05 Mar 2025 09:24:50 +0000
Received: from Ld17594ce3a55.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1541F6B1-4B7E-4F3C-9D3C-F83AD891838B.1; 
 Wed, 05 Mar 2025 09:24:44 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ld17594ce3a55.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 05 Mar 2025 09:24:44 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by VE1PR08MB5823.eurprd08.prod.outlook.com (2603:10a6:800:1a5::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.18; Wed, 5 Mar
 2025 09:24:41 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Wed, 5 Mar 2025
 09:24: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: b2838939-f9a3-11ef-9ab4-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=WhswC5ivDlgGICy++OMMn2mpK45XE/71t8PlGxmdkL4N7Mj4rdY8n86hIK3FKYlyAb/NdmVi6/9ahzcZEDMa+iebcsUs4Z2nJACICZrpeFha1puushfFxbeCKdnA9+mHGDyaJanbE0ZfmO9J1/BEcEhsto/KC12Ws7sJTijIs465N6BcBrDEBl638FPY9EzkNkWu5CdJmzPINIbKU85mYR+7GwLhm9SNR2wPMCBsTaCa+A29kPqBJuVn/fOK55XjnmAaeUVKEy8qC1iG20z18/Oy0ebrcjLQ5wVbo+PsJEpXQtfvkHqvIZGo2gEBUzcGSJx8AeOo2jEh3KpQ+rkNDA==
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=tYuYfwMKZ8me/M6QcsraPR/Mad2i7S8cyP8tNlCYxVI=;
 b=oDDkn8647Nr08i7QDBndCSYkbufqRxjufvZRutsbZdl0xH87CL3hBqF5doZdqBzGuUbnNfUByvYh0WcnrtwsOEdxjRaIGgjaBDQ1+npgp0gMcoVv61WESquLE8rJESgCDXstmcJHmzE4LRgAT2vNj9c/J6oBpMQauJ8lfFX3rZqFohoSmw1qIh1z9pdFXHjdcRtkeTOgwDeUW+i9vrKnHv/NqhwPh+tjYNg9w5btxNOddJ24DwDbe4f0N5aPB6g+26LUxOz1wRaP8bdz2j6gQuFjO5Qb0egLKK19zvm/7EuX8eIpNLRnbPhzhBEPdwO05lWQkK/7XJJ2SQ3Y2w6k4A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=tYuYfwMKZ8me/M6QcsraPR/Mad2i7S8cyP8tNlCYxVI=;
 b=rWcrh6cJw1i5/qySMzC5d504wSgggNUI2oBxSkmtq+xFpIdXABJDg34+JIUfIDFkpHfgP8LyOkiActr/uqGzVzhAlKJbDQZGwxEDsglQAN1duGqkD8CC5gRC8fbFe/KU/c+4zJH/F0dY8uijRldNlwSaZYhMXkyO3SGcOw3S93Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b1f979b957a858f3
X-TessianGatewayMetadata: tB8fe+M2AekLBv9G5sQvJFcfLjD/sjYSvhMoAAFlGU4QkIvpcT+eicgTUIBtMBclpKCvhj4yzAWCedIVPVxratdIbF7xTmMeRvXFAM9Ie4/efvn1ziIxhBjmAudsQYm/RHU15LMGQPWJYE5RJ6c/jAtI1jU8frkb+msJ4IwRwXI=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iZz+hpooeFJe4D6mKDwvQ9hx5uT1ZUlJzr04ngsx6WckpOTV9tGhCHMZ/Muc57wuSrlwYQcn5wxelJSN+ETwdbYRyQ53FsIHvy5lYTz+xoEdipqDsfVLJA3UbwoZNsviwLyyjiAU1bashmTLCb9SdpxuodxTl6uPvKvCbKEM6UznFs312R6g8aSh25ozTGdZTUkxf0LDet5TQwLSXa8aZzUkiR152F6TmfmDRM4DUShXlGaPqHxYrXTR+n6PvaGVPTo3PsaySv9g7SuZymuIJInSIxTRaXhcRl0sQRdVjjf6cyrdjml8Hd3tRWZ1H16M4GWKINV1P8HzIrwhSRZXzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tYuYfwMKZ8me/M6QcsraPR/Mad2i7S8cyP8tNlCYxVI=;
 b=xlwJvx32teNRlrksyW89Htz+3r0Mz/uOvT6DAd5VvPNcHGVu4KCvhQRR1cinufBl58NxDIrx8j4CDi/2dmwGmsZd3+NflMrMa3hDdpKj76B0QZS8t7q4xMlQzaUHC4aLmsGGO3dGpscwO4pgzTypzHVXO+K/o9JEyKztExXjJulmiMWYAnpYGTS0+d6UKfyXsVEdMk+W9NjnExKOHaBjw9Qsw3XkDB4QXbMzkTUDnMMjSORMuRglh17BMbGyYoz4kLcbU158rAon4A6UYs9NRAC06Ezqjv4/Rm6T1ZH+zsV1baE7iIOGhuYzu/4L8HB1J7WGreqXJD3XZLLLEOs0Bw==
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=tYuYfwMKZ8me/M6QcsraPR/Mad2i7S8cyP8tNlCYxVI=;
 b=rWcrh6cJw1i5/qySMzC5d504wSgggNUI2oBxSkmtq+xFpIdXABJDg34+JIUfIDFkpHfgP8LyOkiActr/uqGzVzhAlKJbDQZGwxEDsglQAN1duGqkD8CC5gRC8fbFe/KU/c+4zJH/F0dY8uijRldNlwSaZYhMXkyO3SGcOw3S93Q=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "Orzel, Michal" <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.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 v3 2/2] xen/arm: Restrict Kconfig configuration for LLC
 coloring
Thread-Topic: [PATCH v3 2/2] xen/arm: Restrict Kconfig configuration for LLC
 coloring
Thread-Index:
 AQHbgerA9DmOxi5W4Eufnv1ogXYtfbNNErSAgAAVW4CAAAFcgIAVxqqAgACA9ACAAOvXAA==
Date: Wed, 5 Mar 2025 09:24:41 +0000
Message-ID: <D9C8EF97-74F0-4DF1-A6D2-D5F95BBF1B1F@arm.com>
References: <20250218095130.2666580-1-luca.fancellu@arm.com>
 <20250218095130.2666580-3-luca.fancellu@arm.com>
 <eeb91fb4-ef2e-4f07-a1b8-1812f0371113@suse.com>
 <1133b3cc-4051-44d9-83ab-88c4c30f260a@amd.com>
 <4b31f272-2bb2-40d8-94d9-8137586b59fa@suse.com>
 <769DE9A1-0F3F-4564-9A37-0812ECCA3234@arm.com>
 <alpine.DEB.2.22.394.2503041119450.1303386@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2503041119450.1303386@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|VE1PR08MB5823:EE_|AMS1EPF00000042:EE_|PAXPR08MB6496:EE_
X-MS-Office365-Filtering-Correlation-Id: 08dff771-72c5-4573-868f-08dd5bc794f4
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?ZTqDSH0rUTTRNyZUSn0nG8kYRKN51eRBrDN0sgQkI/Gy42ijBwqUsHnEnW/A?=
 =?us-ascii?Q?vdgn4BSxM/SR127G4BlucOKmpFaOrX7DtIS7Sl8d0nGU90Xv1hGeznAFfdr5?=
 =?us-ascii?Q?kC6vwbkFprXFpPSjEn4QN6ahlM5u/DERvXWq7t3UbEpNWkX+6GR+H2rXoMBw?=
 =?us-ascii?Q?W4t1YDzw//fdVPx4DIdSn0qwX7hAWEKX0JY00tNkmWOO77I+HYcbfO4D+1h3?=
 =?us-ascii?Q?uxFsKEqqI7VgPvUdgDC7vbE8TZGTtWhGqOM4J0dicwBP2OProwFZLBX1+5KA?=
 =?us-ascii?Q?d2jO4oUznb2oltM9jNfokKgckVresbt16FNCQAc8qRsKaFHqklMGOaUW/mMV?=
 =?us-ascii?Q?7du1u8otsO/Kkae8/h7nYdUPSP8OgFOZWouUM8SgcaZ/qf1TR2N6S3yZW7nE?=
 =?us-ascii?Q?3UH/Qnn5yKkCHqcE0rc9EpF8vOxdeT8tOeiLdzHS8It283ur2XIg/rOAEbtS?=
 =?us-ascii?Q?fe7im+jbCh6Y/XwAaNOYtTGLVTbcBkbAAmJ73a+Z1jjLFDZ2yZYKUkWDpjoV?=
 =?us-ascii?Q?d0A93cFlGPaiBo+uTbkNywrnFyD+Pvwugadhwdae/jZoZMo03w888ZCoifow?=
 =?us-ascii?Q?98Vkkv9JPRqQBXdgrS/VD7DyQ26nyv+cAm4WPR0yG3xJfkfyVayj97qowcQX?=
 =?us-ascii?Q?GFXNo0k1UfECwDSFg7CNe4CdltXNVVj235Ksh5YlC3uCvkXvQBO/iebTuxXG?=
 =?us-ascii?Q?DdF458lIqL5nlW/MgZpDaapbAfakM1c+ipodlhaOcCE3qs2vUnClDJ5vyyPc?=
 =?us-ascii?Q?oRCesorDhKWtaBdnNTb8E7y1ig005eqAVtesLxWiNgooblu7sNpcaaWVFeJg?=
 =?us-ascii?Q?wcoiZvhO4mBAizjBDrj0z2sB/YLrF6RYJ+qsg4l330dSfD+NWfg+cruAkHmn?=
 =?us-ascii?Q?i7ZYSwvBUuYi3MDohfEgesXHR30RaojX8BtPzJloz6dO6GGdoNYSMa/NLZZe?=
 =?us-ascii?Q?rb/KsD0ITOSbvOu9uqAJQLDMpQVTzGMakFVPDTdHBQjGz9ua0nkegpwBxIPp?=
 =?us-ascii?Q?BJUBaY/f9+91zem2yyjs0n3nR7AihoI7aUms2BWjwpOV6AmX1MrwJtPEX8VW?=
 =?us-ascii?Q?txHJLaxJgA0wtuXpWf8M93B64eAmtmSrCjViaG7CidFiz6I8Z31ebUMb/PTq?=
 =?us-ascii?Q?acUmlpfRSwDXZJO4Pq+03Huq0vqPywG/1i04sgnDHmFOT6CEfHYeUHpozVV1?=
 =?us-ascii?Q?EVCJifGvIrZOpnQDW+gmyZBYkPwpxLCcZFPUQcBXBcmAob9SO2Eo3Ram8r9n?=
 =?us-ascii?Q?r1b4M0vxIkRaeefApC7huYaByqTbqWMG2hKD07YFTibpnFdYRqIx/2ee210c?=
 =?us-ascii?Q?o6QBLHJh4mPFA0rQN4WUfJAjMcK+SM43wfMgKHp1dcCojf2upx2yRrv9G8jx?=
 =?us-ascii?Q?AckzgE4zgR/ADqqsPc9YmXgnkJe15qTY03c5mTA6iehO6EfoJM2/yCwDB9Lw?=
 =?us-ascii?Q?JueAZrtpD0A83k7xof0SiwnOVo8NvTaj?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F61DB8FBD568474686D186C3DE2204CC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5823
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF00000042.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7c55678f-f877-41a0-30f5-08dd5bc78f55
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|82310400026|35042699022|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?dqbQRqwtDJ/TDBOaY+5xZNVTun8j3VENEQ+J28U3urtgB8f13nmro8/KxDDl?=
 =?us-ascii?Q?VueqILlEIecHL9McvSdh47PuuaD8ZluI4M8FNEYfZNdfXSihjp4CEKxTYr9A?=
 =?us-ascii?Q?UyHRBEUG1C/drtqzyMTTpUOS4HWdu+ZNgyrVoGKY6iHeNv6WZBy2mClcc4+m?=
 =?us-ascii?Q?lJ2KN6j2bsw6N8LqcHzkUEL1Qm7DOe4ajlwgdlNA01MxUIM5xRq0SVVJqUQf?=
 =?us-ascii?Q?kllcY34ian9Er9HpmZY6rM1EHtGMYkFowvgLrKl2az2pTJ8a4W9wOMrmXay8?=
 =?us-ascii?Q?mPHT6v3KoDX099i5CSdWwGltWhJccrlyxdSgEw5AyAWsvqsbvmklApqrEcFa?=
 =?us-ascii?Q?AeozKsbmtPyAwE3VX2M5h5LloEoaR4CVkXAQXXOKPG8B2R8+QYyI/wOwn0Ix?=
 =?us-ascii?Q?Hg+Z7HYKN/6n6/j/5V30riko6Yh9e5QGKdFb4mcJmsOJGtap18HlTiNaFYyX?=
 =?us-ascii?Q?SBKpdYkictA7XzSKWOjPO0itMDo5LBUADtjuvq6RV0hyjZhcxZdo0wqpAp04?=
 =?us-ascii?Q?lZxuiY404n7ZfWPuvCn5/+1D44MaO/UJOYE5vH3jIxfsKu3aKPSZQwlgDsAI?=
 =?us-ascii?Q?h8vq32DJAvbpucvMjhz2xlBu3VhQ060sFN9Ziz10WLGR7++5D3z8HEm311VM?=
 =?us-ascii?Q?HNUE4PfyxUCdmbhmDL3tmthbbVZ8arQnhxzuhbJeZp7Qy3wDPMnVJ/aSGTNC?=
 =?us-ascii?Q?pFD536dXzPSNqHDWwUeOwGhVuWIHH5TxL6uwbDkM3GdrgwsECmi2N+59pv0P?=
 =?us-ascii?Q?H1lrxKf/g99SY1D7LkcZgvAaNuDjY1GKZnmZKytsbv5r27yzCSeBDLPdEwJo?=
 =?us-ascii?Q?yX4bwfKEwLpbDu31e+KSBxxtFT+/UtWEBZ6+792vZzEGeCo6uokKAyONT2Re?=
 =?us-ascii?Q?un5r/P7tvtTwhWGunineaZlbN8zb/4O6evwvtF0Mb+54C5eAcDCYCkVmZSvo?=
 =?us-ascii?Q?eore+S5eMPTH9RodertVGDSuK1JU/j/YHKWusd2Zw7S816vnQJNzQLfGX23e?=
 =?us-ascii?Q?ZgaftPL6+EoDtmciDwcvRKq83Pw1dxNTthWI7XH3tG4CXaRnr3Nu4kV481y4?=
 =?us-ascii?Q?VUycQ1Ltt8JM36/2cFvIeIVyfea4YdJr3oB0R64HaeyhuwIfLCAKfd8ts/kh?=
 =?us-ascii?Q?WebWDNRyJUIV2Y31cnlttv7RpZb+cqTmYX/SC2jZhdutaLqs9OAVN1SXY31H?=
 =?us-ascii?Q?d3JM98kRAzcvklplpDt2tycVnrZihagO56x4fQuxJS7LMYyBVhoUKd/UdjXi?=
 =?us-ascii?Q?1HG22l9nOoDfS0YSkegukrVRC7J25h44SKs/uxien9Tlj8WV/cpwhQRDFA4X?=
 =?us-ascii?Q?1/HT1VlmF2ff98OPEocdN2FBU2S+NCqn313u5p3KA+6Bq29zofnDZPkiIh0S?=
 =?us-ascii?Q?qUX+yBUCcPpEoPVaOZZVa4ZgaaUvCrcM6QrP/pwYUDUWsm1FEqPZ7vAA+Qxv?=
 =?us-ascii?Q?664UrKPzth4Kya1C9yWSNCqcPDB/owxPFntRIEDX9QNdjWMNeyurhW3NAQg1?=
 =?us-ascii?Q?goUuGO6nf/GFVMU=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(82310400026)(35042699022)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 09:24:51.1682
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 08dff771-72c5-4573-868f-08dd5bc794f4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF00000042.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6496

Hi Stefano,

> On 4 Mar 2025, at 19:20, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> On Tue, 4 Mar 2025, Luca Fancellu wrote:
>> Hi,
>>=20
>>> On 18 Feb 2025, at 15:06, Jan Beulich <jbeulich@suse.com> wrote:
>>>=20
>>> On 18.02.2025 16:01, Orzel, Michal wrote:
>>>> On 18/02/2025 14:44, Jan Beulich wrote:
>>>>> On 18.02.2025 10:51, Luca Fancellu wrote:
>>>>>> LLC coloring can be used only on MMU system,
>>>>>=20
>>>>> Just for my own education: Why is this?
>>>> I read this as it refers to the feature we have in Xen, not the generi=
c concept.
>>>> You could in theory achieve cache coloring without MMU using static al=
location
>>>> or some custom allocator but in general we benefit from being able to =
map VA
>>>> to PA aligning with cache coloring scheme.
>>>=20
>>> Oh, okay. Then maybe the sentence would better be worded to express tha=
t
>>> it's our present choice, rather than an inherent limitation?
>>=20
>> Is this better? Can be addressed on commit?
>>=20
>> Xen LLC coloring feature can be used only on MMU system, move the code
>> that selects it from ARM_64 to MMU and add the ARM_64 dependency.
>=20
> Hi Luca, I think that's OK. Can this patch be committed without the
> previous patch in the series?

Yes it can, I think we need more time to get an agreement for the first pat=
ch,
probably Jan would like to see that together with the rest in order to unde=
rstand
if it goes to the right path or not.

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:27:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:27:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901949.1309937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl1v-0007jy-JH; Wed, 05 Mar 2025 09:27:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901949.1309937; Wed, 05 Mar 2025 09:27: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 1tpl1v-0007jr-GB; Wed, 05 Mar 2025 09:27:07 +0000
Received: by outflank-mailman (input) for mailman id 901949;
 Wed, 05 Mar 2025 09:27: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=XpfQ=VY=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpl1t-0007je-NQ
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:27:05 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff91555d-f9a3-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:27:03 +0100 (CET)
Received: from AM4PR05CA0001.eurprd05.prod.outlook.com (2603:10a6:205::14) by
 GVXPR08MB10541.eurprd08.prod.outlook.com (2603:10a6:150:158::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.18; Wed, 5 Mar
 2025 09:26:57 +0000
Received: from AM3PEPF0000A795.eurprd04.prod.outlook.com
 (2603:10a6:205:0:cafe::71) by AM4PR05CA0001.outlook.office365.com
 (2603:10a6:205::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.28 via Frontend Transport; Wed,
 5 Mar 2025 09:26:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A795.mail.protection.outlook.com (10.167.16.100) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Wed, 5 Mar 2025 09:26:57 +0000
Received: ("Tessian outbound a81432d5988b:v585");
 Wed, 05 Mar 2025 09:26:56 +0000
Received: from L1705ee2f8cfa.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4C2B5A7C-3948-4EEB-B814-8D598FB9C1F3.1; 
 Wed, 05 Mar 2025 09:26:44 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L1705ee2f8cfa.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 05 Mar 2025 09:26:44 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by PAVPR08MB8895.eurprd08.prod.outlook.com (2603:10a6:102:323::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Wed, 5 Mar
 2025 09:26:42 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Wed, 5 Mar 2025
 09:26: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: ff91555d-f9a3-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=ykYBGSpBER40MzOojLltDE9x1zpwL+AMntCaXZBfcyoufCXqTPSSB9/pXLxS7ajPNsDd7wZKC7fScuc7LXb7yuG+575Fpu76CqbhMhJ3raevusaW9hhXN28/PIELmoY049DKj+PeK2PIFmD5mVfkprHwdAXzU73CWtPfVl9AcTplNXoeUT++ZAhhA8sPfvqdBzc8fk/0HIHne57HJPPVwLTooZ3NGtgsA0hgIHDN6DaKBuUkaw9pdAeXY+lJWk9q9vj6A8+M6CWsuCGhvGl/SPp113lLJNzivkEM+DbwoJbPpufEmIaFJvFxp+WoQmH7gU3AB6xnQcbaQpUBjdPXPg==
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=6f91jiP+gRmKiRK4i/b6WbUqLqK4L+8SPBRRlWZrZko=;
 b=bMDTxakwJ2cfGimgA+tYbDjbucTloeWmKJc0FDd2AqP1l1f6PB5dkd8BFWx4fxlsKrEJt1FCf2HVQc6zFrA6Tm013fAaUyel+iWSjZUV6HAbE7Fs0pCd/fad2KMKz56kHZiJMVk3MiPRDmlpPyTYw0DiqvlQFN5icgt5EsmMYLsoFKFXp3kcLm8EOwLOIWLR0gmtp3cfItU8hu2Bagw1j7lz49zlEDNarzQUFmCoTf1wQk4XRBPEldofLpJL3U/BfmQ1Of05k3yUWiaim7sUPONNaVpqWNq0FYd4YaFYQ9G3Ddzgz3D0VXKo2hGUWkTgvMudIsTIYnuHoK0qRaVl9A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=6f91jiP+gRmKiRK4i/b6WbUqLqK4L+8SPBRRlWZrZko=;
 b=XQw5t+huVLtZnLSAJOG7sK3l/SW8HZKbKKSXCnBnmW0nclWvLM82cZM6q608R1INVNntEMPMNL1esAHHreUqVdE2NsmARVgImYMzprkZ7XU75eb1nGOAUeAl9vlO8h1REhaoQNaZL95KjQgTwqAh9NbIka9QdumXluKWxqyBvEI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: a947d9210178c152
X-TessianGatewayMetadata: 03rB9NU7Mc30GSmBXWz1rwW2OblzXzf+7IIyGBYyzduOyRYAAQYdFB6h+Qs96jKT2BWU9QUkT3/pu2WG9LQTndaWBEQGiL3jES+HZ3XdD29p6KTdEeqGFF1h4INVUmPNHShIQBLukAMjKvk2AD7xL0D6EfoPdl7NXEHspPQpYGU=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NWIOv6KegkGZ1cWX1i+4xp54Dn265sSDrzg/gIXCDNg4OiFQMH9KPYnpSrngNqljU4M5/+0R5QDEyFvHasCU3+tK1tHp1DrW3lT36dljgqh93FpPGu7krkyL+dSZGOS1x5FLifjCsYdcJqgdhZZyqMa0ayyAY4OUDrYTC8eh157okGbZsDhJkvhQPUygij15r61NRgVVh+nW/zjZL0qYhkTC4WpbVDyK17i9L9zWm8kMDnroxQppsGH11641dGAFc9eY/Dd7i4VAELMdRdc51FCOyV+OmgfannFSg2Q4n906KKLePixiIfbp0TRN+llAlLHoBCFoYqlxpfYW8nm2ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6f91jiP+gRmKiRK4i/b6WbUqLqK4L+8SPBRRlWZrZko=;
 b=ewlAK8onGxrxlK95LIQolccMYgyZ8TmeOgtnVHC/gncmgKKjUSXuqYxPgxXvjrdDCy3NL2VG6oehUkn018InXl+drDb82JjwWAz536vbUT8aMFCHQQzLQKLsAyQA3e4IvgTKDw1sT9lY52nmbnfDhP+7NShNQjwmKAdDYAVLamzTrrEe+yZFe1WqHgSX5SnGLfCV3/eis2F8crwxCeyPD0Q6IzrHl4R1CplLjRGm616SO451Qkl9dGIjLuNLpkuvDDe4ayJGNGFF7Ub1DClrvUkYZsfJ6thDtL6K1gg4y/5LsuUIdQQv26Rst3bUnh51mHRe0H7hVfSc0W6uuKU1TQ==
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=6f91jiP+gRmKiRK4i/b6WbUqLqK4L+8SPBRRlWZrZko=;
 b=XQw5t+huVLtZnLSAJOG7sK3l/SW8HZKbKKSXCnBnmW0nclWvLM82cZM6q608R1INVNntEMPMNL1esAHHreUqVdE2NsmARVgImYMzprkZ7XU75eb1nGOAUeAl9vlO8h1REhaoQNaZL95KjQgTwqAh9NbIka9QdumXluKWxqyBvEI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Jan Beulich <jbeulich@suse.com>, 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?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Thread-Topic: [PATCH v3 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Thread-Index:
 AQHbgeq9NiESuirZAUKjxGV4IoLUtLNOlIQAgAAFvICAAAbRgIAAH+aAgAAG2QCAFKnTgIAA69gA
Date: Wed, 5 Mar 2025 09:26:41 +0000
Message-ID: <49B8D44B-928C-4B3C-A01F-11D6811BE5A8@arm.com>
References: <20250218095130.2666580-1-luca.fancellu@arm.com>
 <20250218095130.2666580-2-luca.fancellu@arm.com>
 <bc6b785c-627e-4185-aa02-b90b9e592d08@suse.com>
 <E6E21F32-EA02-4DE1-80CC-98D3A21FBF79@arm.com>
 <cc864728-0302-4ddc-88e0-c5330e3dc409@suse.com>
 <59D691D9-5A06-49C1-8B0C-E874029A97C6@arm.com>
 <1c4844a0-89e7-4699-894a-4957fedc4dee@suse.com>
 <alpine.DEB.2.22.394.2503041120430.1303386@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2503041120430.1303386@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|PAVPR08MB8895:EE_|AM3PEPF0000A795:EE_|GVXPR08MB10541:EE_
X-MS-Office365-Filtering-Correlation-Id: 5060afb1-38bf-427b-d043-08dd5bc7e002
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|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?dUxORUlHT2I4bjcwQ2QreVZKdExhcnlxY0QvMThCazc4cGhjNmE1QVFHdDFj?=
 =?utf-8?B?K1hScVZwZ3VTYnB6MTN5VzBQN2xkL0cydzg3SmZCN3dFZmcwUDN4VTZZdXdU?=
 =?utf-8?B?MDExcHE3TGhlaE9vZERZVG9ZN0NDMHNDakllaERNSkNSMGRyaXNNcldGZDZV?=
 =?utf-8?B?M3ZkdHBhcjI4WHAxMzV3bWtwa29PYWJYN0hJZFJiNnVGajBtWGxseC9IbGJT?=
 =?utf-8?B?Y2ppRDk0c3lkbllYY1NpMENKLzRTNVhNSi9xa2pXMllWLzZvZU1zOG1OVFFa?=
 =?utf-8?B?NlVyOHRaQ0VXeGxySG1qMUlBWXhnSmhQWGI0TVZwbU84VGNwYmFQd1VYQjUv?=
 =?utf-8?B?MmtnN2dKVHNJdHJ0RFd6Z09QcTZuN2VidGprWUVkeE5Fb21PZldCN2RCR01q?=
 =?utf-8?B?R2NRVXBxeTJyTXU5WGlIaDluUmNVZXp0QnhVRXVlNFFGSHZrdERGOGhCcXBm?=
 =?utf-8?B?bTRoY3BIdDFTWjcweXFsMlZGaHp5UjhjdGtlT241Q3Y1b2IvVGoyWUVhQ3o0?=
 =?utf-8?B?dmtPRE8xektYbFhxUE54cGY3a0lvRkRWelUxek9pM3Y3ZlZaTEJqbU5UMnlJ?=
 =?utf-8?B?cUJuNFZmcHBHZVJ6V0tnN1pxamRMOEg3bnNuaWlieVdidjBld1VQM3VCTGZN?=
 =?utf-8?B?aXJkQmtNTGZGdFh1VHBOUWNVWVFJT3llcHpURktZY1gvTTFzaXo4aDRiNHBP?=
 =?utf-8?B?YlRkdFNkREtiTktmaGlDWVNueklCTTh0R3lNMzQwYmdoMlJwOXVSSUMxdkZr?=
 =?utf-8?B?VTBnemMyVnJoZXdJNVBVNVRiL2MrRjlVZmpFL0p0NVRydzN2cExmVkczWGU1?=
 =?utf-8?B?SW1yaHFzUkZJanJDT1FGSXJMZ1hLRFVQZk1FQ2IvaVppeEsreit5TUR5U0VD?=
 =?utf-8?B?dFRhZHhnV3liQzg2SHhNRnl6WS9aQ2lSaThVME0zWU5jZjRUV01UQzdvbTFE?=
 =?utf-8?B?aENQY1NXb0RZS0lITSsvTEd1NitlNUxVa2U3R3BqbHNCNHFlNkxJWjdBK2Z5?=
 =?utf-8?B?aVJjU0FCdFlCcjBVaEpzVDdma1VVTWRGdFJyL1NlSXJWcEpoeTlNV1JVQUlI?=
 =?utf-8?B?Y09kL2h6TGNlOTVjeWpyR2VxRGNDcitiZFIwRUhoL0JCK2RDbnc1TGxTWTBY?=
 =?utf-8?B?WjFSS3FPdHZxdjljZmxrYlU5ZlI1WDdiS1NrYUk3bTZ3RUJ3U1picTB4SmVZ?=
 =?utf-8?B?bVk4Q1Y2b2JzNWJvOXQ1UHlHeVFDN1pWMzlHdWMrcFMxNHZqbHE3ekYvejN3?=
 =?utf-8?B?eEdxeXdteDZkTXdkaFRVdG84SWxLdHVtSHUvK0hXaytOeWJheVZQdFFwUVZ6?=
 =?utf-8?B?RUp0Y2R2SUVFNG54TG5MbXRYaytXSUZrOXM3Q3N1UlFqYU1DR0hydjcxK2Mv?=
 =?utf-8?B?ZWtKOVRGTitxWXNlL25mTTlpZHYwVkhxa3lSRHR0ekg1M0xkTVh5VXJKUVg2?=
 =?utf-8?B?U3lROEZlN1VGbkpNa0U1SlNVLzRQc3RUUXZVQXp4TnRCNDMzcHYyL3lrYWtk?=
 =?utf-8?B?OUszRnhDaXljTDlpazhZelVObVhIZTh4L2Fmb01BamJhcG50UVpSMlBmdkVL?=
 =?utf-8?B?U2ZlaHpYWFlvUXRoVC80TXVCNVRFUlBaSW5GNUhnVG94NGMyY3N0YXBaSVBI?=
 =?utf-8?B?Z1BkUEtsam84QXgxbkpzazlRb0pIdUVCSVA3RUh4RkhkR3B5a2I0MmJXN3RE?=
 =?utf-8?B?a2VsTDhOSmhIaDFtbm92VkhFWk83N0FvbDV3V1hjNnJjWmlDQ093RVlCRTZw?=
 =?utf-8?B?L1pnTjMvK0ZwcDk4b2gxUW9ySE43MW13ZmpnTVB0Z3RXTGtueCtFQnE5OHJx?=
 =?utf-8?B?MXZEZUdtVXBpd0FrbGJmSXNmbEFnZG5Ha3dBaG1jUzE3SjdNS2tDbmtZeVFR?=
 =?utf-8?B?QjlXbEhwdEdOZlIzRWt3RUI4R0ozNTBHaEpjSkgzYTRYaGRaaVBSRnlJK3Jv?=
 =?utf-8?Q?OwouF+xLmD5o/WaF4myzYkrJkO8M+cly?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <64E6975A95ACBF479A21EF277BE48822@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB8895
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A795.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9a10ade8-f7ef-45ec-5780-08dd5bc7d6f0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|82310400026|35042699022|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NE5LcXMyc01GQWZ3SkhLNTJKK1VBeVB1Z3IyY1RHVk9rd0JhNm5BY3REaE9l?=
 =?utf-8?B?VFZkYXcvTU5sSEZVdzJVWFJtNHNaRzRYWTZJTFVjSHJadWlQQStpU3EwcEdK?=
 =?utf-8?B?cEs2VkkwUXZSWEpYaTVOVllqQzUwSGRJc1hDSzRpTVk4b213aW5RU1dxMGdt?=
 =?utf-8?B?bFpxT1QycnZZQ0tWTkNFRjRRRFM3b1JNQW9MV21KSVFITFlqQmRuL21Wb1Fw?=
 =?utf-8?B?cGhQeDIwWno2RmhxcUtKNlRFV054RFQ0d210SHdiNjVpTFZvVWVMK01ERFd5?=
 =?utf-8?B?QlVBenNTdFRsaDFHSGVrNkhGODFCTnJITGp4VmtMTVdvclJkQzl1YnJPS05o?=
 =?utf-8?B?U0xSQitIRDdZZHhaTG85WHhqVmFFeHJ2cldCc054MWczYjJ2VXk5b2I3bThB?=
 =?utf-8?B?YnZKZzZqM09RbkVrNW5lbDVtZi81WmxsSUZjc2pOUjE3dHdMWTJESzJtNUMx?=
 =?utf-8?B?aFZHaUNZa2ZWdGlBTDNwbkwxVDUxVzFzdE51TXI5bk9EaUZOUDhWT25QOXRs?=
 =?utf-8?B?WHkzQkljS24rSVdSc0ZteUhoUkw3RnBsZUFzNW9tODdUWTQvR2lrMS9jT0Vy?=
 =?utf-8?B?UEdTNlBzYnFjR2tSZGdOSjVxMk9obS8vQlNsMUJkbWs2cStOR0twSjlGRmR5?=
 =?utf-8?B?cmhJbVdxNHBOU0F2TDRva1krQ012OThCTzhCUTl1UzBBVE8yZ2lCdUNzby95?=
 =?utf-8?B?aWJoRG1ZNGNyRGJSSmZCQm9RblVHcWhaZXI4TE9NQkhXN1QvZjgxaVhXUnh1?=
 =?utf-8?B?VkZmdVR4dGtmN21JRFZzak52b056U1R2dFBSdm9YTDBqT3lZN0hSdmVwWlFD?=
 =?utf-8?B?eldkUkVZV2pZWmhrVHlrV1M0dEx2dHB6cEw5alhGTmttSTJxWlhuYWxTbzM2?=
 =?utf-8?B?Nm8ybTBDZ2dsaVZhZW04UzVQc01NcHVWbERjUHlJSm9Gd1kzTHJSK0RoWW9n?=
 =?utf-8?B?VWMwQjlJOEtiUUVzd1AwaXpBVGlsNXpMN21SSmRlTzFoVmx2T1l4dGNXdGpE?=
 =?utf-8?B?bnNhQUIvdmkwSWdjZU15TitrdFpyOTI0QlA5b0gzUWFCMWxpcGdha2lQZHRZ?=
 =?utf-8?B?UzQxNEFvVHpEcHozdWF2WXREZnhRSVl0NmVJcGw4T2hpYVlJM3pLYzdlaEg4?=
 =?utf-8?B?NCtaMHpZOWNZVDhpOERFYnBOeWFnSHMyaXF3aFBGbnRBeWxZZzVzODNMZ3Vy?=
 =?utf-8?B?SU5SbVBCZU1VemtXbXpZNFU0bWpxRVdkM3NjL0FTVzMvVXlMMHFNajlzY3dN?=
 =?utf-8?B?M1hTalI0NGZURDdSVk1BLzhsWkpJazc4K3lrSkNrMHlLNUhLMy9OdTJPSVVu?=
 =?utf-8?B?RExzYm1nN1JyR1RScm9mb1BlZFR0M3BtUVdMLzIwK09Jb0c3Y20wUUdFdDF0?=
 =?utf-8?B?S2JrTmdsNjBHaE5rK2tCZ2VyVmdFN1p0aDc2RlYwTHplL2FOcDFsL09hTzhM?=
 =?utf-8?B?M3ZsN0ZlMkNranQwQzZHZ3hxOEI4NkZMclhpRDRKK2FFbUQ1cTlOQ21JRGMy?=
 =?utf-8?B?VFdXcXFMQ0JCcFhCWi9CV0tmZkJJaHA4ZHRPNHpOUWJiSnp4Q3o2VlVBNENw?=
 =?utf-8?B?dXRYSVlvaFZpL0ZJQnMyeGtRY1hsVHdpN0FjUnE2cFV1TjYzaERtS1NBbHNv?=
 =?utf-8?B?eUtnYmRoWmRhWmxBZ2RkVWIyN3JoM1lRWFFXZS9DUnpIRE4vNngyUE5OakMv?=
 =?utf-8?B?WmdnN1RnQ3RSbkZ4bHkyOGFXREIzVVlsczlwY2lNYVRzUjVuRUtHcXZTb1J5?=
 =?utf-8?B?UGQ5dVVkZGVnSS9wMkVxdEFKb082ZEpTTGtjbTRla09mRkorMjdob2VqZHVK?=
 =?utf-8?B?eE1kQlZTN1NxUDNCRGJPWk1MK0UzQ1VTQnZnMnFrbmZvYkpNbE5tdkZoQ2Ny?=
 =?utf-8?B?Z081Z20vcFo2QXdBY0krU3QxaExBMmxuNGliNG1Za3YrREd5Wm1vZ3RUQmcy?=
 =?utf-8?B?KzFOTGYxREpPMUhRN2Z1Z0ZZcTJSaFpTZDlqZyt4dTJhSTJPczl6SmpBSDI2?=
 =?utf-8?Q?nkQZMTxEoheidbRvwcrDdTj6YGuVPE=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(82310400026)(35042699022)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 09:26:57.0597
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5060afb1-38bf-427b-d043-08dd5bc7e002
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A795.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10541

SGkgU3RlZmFubywNCg0KPiBPbiA0IE1hciAyMDI1LCBhdCAxOToyMiwgU3RlZmFubyBTdGFiZWxs
aW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPiB3cm90ZToNCj4gDQo+IE9uIFdlZCwgMTkgRmVi
IDIwMjUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4gT24gMTkuMDIuMjAyNSAxNjoyNSwgTHVjYSBG
YW5jZWxsdSB3cm90ZToNCj4+Pj4gT24gMTkgRmViIDIwMjUsIGF0IDEzOjMwLCBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPj4+PiBPbiAxOS4wMi4yMDI1IDE0OjA2LCBM
dWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+Pj4+IE9uIDE5IEZlYiAyMDI1LCBhdCAxMjo0NSwgSmFu
IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+Pj4+PiBBcyBwZXIgdGhlDQo+
Pj4+Pj4gcmVzcGVjdGl2ZSByZXZsb2cgZW50cnksIHRoaXMgY2hhbmdlIGxvb2tzIHRvIGJlbG9u
ZyBpbnRvIHdoYXRldmVyIGlzDQo+Pj4+Pj4gZ29pbmcgdG8gYmUgZG9uZSB0byBkZWFsIHdpdGgg
dGhlIG9uZSBBcm0gdXNlIG9mIHRoZSBtYWNyby4gT3IgbWF5YmUNCj4+Pj4+PiBpdCdzIHVubmVl
ZGVkIGFsdG9nZXRoZXIuDQo+Pj4+PiANCj4+Pj4+IEkgZGlkbuKAmXQgdW5kZXJzdGFuZCB0aGF0
IHlvdSB3ZXJlIG9wcG9zaW5nIHRvIHByb3RlY3RpbmcgaW9tbXVfdXNlX2hhcF9wdCgpIHdoZW4N
Cj4+Pj4+ICFIQVNfUEFTU1RIUk9VR0gsIEkgdGhvdWdodCB5b3Ugd2VyZSByZWZlcnJpbmcgb25s
eSB0byB0aGUgc3R1YiBpbiB0aGUgI2Vsc2UNCj4+Pj4+IGJyYW5jaC4NCj4+Pj4+IENhbiBJIGFz
ayB3aHk/DQo+Pj4+IA0KPj4+PiBTdXJlLiBBbmQgbm8sIEknbSBub3QgYWdhaW5zdCB0aGUgZXh0
cmEgcHJvdGVjdGlvbi4gSSdtIGFnYWluc3QgdW5uZWNlc3NhcnkNCj4+Pj4gY29kZSBjaHVybi4g
VGhhdCBpcywgYW55IHN1Y2ggYSByZS1hcnJhbmdlbWVudCB3YW50cyB0byBoYXZlIHNvbWUga2lu
ZCBvZg0KPj4+PiBqdXN0aWZpY2F0aW9uLg0KPj4+IA0KPj4+IG9rLCB5ZXMgdGhlIGp1c3RpZmlj
YXRpb24gaXMgdGhhdCBNUFUgc3lzdGVtIHdpbGwgYmUgYnVpbHQgd2l0aCAhSEFTX1BBU1NUSFJP
VUdILA0KPj4+IGJ1dCB0aGVyZSBpcyBhIGNvbW1vbiBmdW5jdGlvbiAocDJtX3NldF93YXlfZmx1
c2gpIHRvIE1NVS9NUFUgc3Vic3lzdGVtIHRoYXQNCj4+PiBJIHdvdWxkIGxpa2UgdG8ga2VlcCBj
b21tb24sIHRvIGRvIHNvIEkgaGF2ZSB0byBoaWRlIHRoZSBtYWNybyBpbiB0aGlzIHBhcnRpY3Vs
YXINCj4+PiBjb25maWd1cmF0aW9uIGFuZCBhZnRlcndhcmRzIEkgaGF2ZSB0d28gY2hvaWNlczoN
Cj4+PiANCj4+PiAxKSBwcm92aWRlIGEgc3R1YiBpbXBsZW1lbnRhdGlvbiBvbiB0aGUgQXJtIHNp
ZGUNCj4+PiAyKSBwcm92aWRlIGEgc3R1YiBpbXBsZW1lbnRhdGlvbiBpbiBpb21tdS5oDQo+Pj4g
DQo+Pj4gbnVtYmVyIDIgZmVsdCBiZXR0ZXIgYmVjYXVzZSBpdCBjb3VsZCBiZSBhcHBsaWVkIG9u
IGFueSBYZW4gY29uZmlndXJhdGlvbiB3aXRob3V0DQo+Pj4gSEFTX1BBU1NUSFJPVUdILCBldmVu
IGlmIGF0IHRoZSBtb21lbnQgdGhlcmUgaXMgb25seSBNUFUuDQo+Pj4gDQo+Pj4gTnVtYmVyIDEg
bGV0IHRoZSBwb3NzaWJpbGl0eSBmb3IgdGhlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gdG8gY2hv
b3NlIHdoYXQgdG8gZG8gaW4gYWJzZW5jZQ0KPj4+IG9mIEhBU19QQVNTVEhST1VHSC4NCj4+PiAN
Cj4+PiBOb3cgSSB3b3VsZCBsaWtlIHlvdXIgdmlldyBvbiB3aGF0IHdvdWxkIGJlIGFjY2VwdGFi
bGUgaGVyZS4NCj4+IA0KPj4gSSB0aGluayBJIGluZGljYXRlZCBlYXJsaWVyIHRoYXQgSSdkIGxp
a2UgdGhlIEFybSBtYWludGFpbmVycyB0byB2b2ljZQ0KPj4gdGhlaXIgcHJlZmVyZW5jZS4gRG9p
bmcgaXQgaW4gaW9tbXUuaCBtYXkgYmUgb2theSwgYnV0IGFsc28gbWF5IG5vdCBiZS4NCj4+IFll
dCB0byBkZWNpZGUgdGhhdCB2ZXJ5IEFybSB1c2Ugb2YgdGhlIG1hY3JvIG5lZWRzIHRha2luZyBp
bnRvIGFjY291bnQsDQo+PiBhbmQgSSBsYWNrIGNvbnRleHQgdGhlcmUuDQo+IA0KPiBJIHRoaW5r
IHRoYXQgZG9pbmcgaXQgaW4gaW9tbXUuaCBpcyBmaW5lDQoNClRoYW5rcyBmb3Igc2hhcmluZyB5
b3VyIHZpZXcsIEphbiBpZiB5b3UgYXJlIG9rIHdpdGggdGhhdCwgSeKAmWxsIHJlc3BpbiB0aGlz
IHBhdGNoIHdpdGggdGhlIHN0dWIgaW1wbGVtZW50YXRpb24NCmluIGlvbW11LmguDQoNCkNoZWVy
cywNCkx1Y2E=


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:27:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:27:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901951.1309947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl2A-00085r-PQ; Wed, 05 Mar 2025 09:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901951.1309947; Wed, 05 Mar 2025 09: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 1tpl2A-00085h-Mj; Wed, 05 Mar 2025 09:27:22 +0000
Received: by outflank-mailman (input) for mailman id 901951;
 Wed, 05 Mar 2025 09:27: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpl29-0007je-Cl
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:27: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 076917d5-f9a4-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:27:16 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-438a39e659cso44338785e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:27:16 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd426c56esm12116245e9.8.2025.03.05.01.27.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:27:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 076917d5-f9a4-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741166836; x=1741771636; 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=JIbWlmogagG8Nr4p/sVEF/l1fBAdfQL5Wmo+JZUrh9Y=;
        b=GJajAuaZV0F4TIt0EwxnvdPx6l1N4sxzUAs9IS0WidI0YrOFqS87uqa+C+31XuOc2h
         vt+WF3PgUENejBK98wH3PsBumX0OSKtK4r+X3/ALJn/yYzrcGf8QgVKmzrqi58uG14BM
         IiG2N3cdCaRXeMVznZum5ejmmUYpOONOKbKMubc2bvsG75IC7CgReNe5xEMK6zRv/xuj
         A40Br3sJ/xLMDOTcWd9euOSbAG+PPKdNE4ZYWAM4J2cOo2fWMupgAqXWbihIDOInWqjj
         oeTPvpE/hyhNuB4BbJ9r/sfKL5vZpxlvcAO6M3vb6z7+Avsmraak8INv1gxsrFKxPd6f
         V4Mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741166836; x=1741771636;
        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=JIbWlmogagG8Nr4p/sVEF/l1fBAdfQL5Wmo+JZUrh9Y=;
        b=boM4Eo69jq+lE3NTuEXeVw9xXSivVvOx9bdKxhfQSGbf5R0hn1pqu0GMqXdXSbwrMc
         iaMp1V/TRcMiY223lkBVQEYzigoeDzBSpy+YBrvCyeAIDMeLywYJGKQ4/AkH4eEUNeuL
         79HSc8X+DDyiz4CA4ZQv0HUY0IN6sMrkWgaCJe6HEy3mv6m7GKAtmfvPgVfsiYPlSqLG
         G60aFdhaNVXrJ+B5/6G9d0CdJq8Uh1i4jIXdoCncoaZ+E0divCYv6JIcw2FFFJ6wPVJn
         5W7Fqf0EzVkjLM/HwxMr0w0s4EpDanBdhGZwxgvkZNrHNg33xbWDFgZ6n9D5rZtPShwl
         G4bg==
X-Forwarded-Encrypted: i=1; AJvYcCUtWWhFz+QKorBa+h+z8hZJzb3LwjnGbDcT+nu2Qxp+8dLM+klObhmTQZq3/iane4Wq3DOPRwk/I40=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/jEPcSsE6+KOPlvlZSyS0LjgMW7KOFkGZjWz9i9Ko8sfNj2QX
	+ZORIW88ogpotahmjIF+4Du9cwvaGDTpj6KqkjfsywcUldCokoBmeWixcLoKuQ==
X-Gm-Gg: ASbGncs0ZEzTYaRVk5jagQYkgXAFFm14F7YiV0C02vMCILAYnnnxts5ggqSfStlyoyx
	og0KS0Qaz+OuoJm/rg4IeY0KnO0mkqc+kbNYQW2ZMASNSp2Wd56CD21judq1aniEHVl87xxgyqW
	kkNF68bFjVc5MIzOmaN6ICM41c6kRJEeEdcMej56uhuEO94mDrkIGI7ssUS1vygmMGX25bUk8Ss
	99dWts2866Hnad/q0t5wfKPpSWiBfFXasBSIHzxjaGOzZiJ1aEgiEglSSq42Z4qyy+9L8PuA0zP
	Ew/C1qL+VwELb/Tqo48Kko3YgVlEA/v4NiSoyskMoZT5OytNV0+rx1KH3kcz1Y1vVjBVJnpr6St
	vReJjHQ7NoDBh6SAS5XG9ASfKFjhpkA==
X-Google-Smtp-Source: AGHT+IFLwYDBG8NgusDkzaRW7RPPrt5+C/nKL3xvGTFWETJurLaRumpYNU7hDxR+oWNfh+4py9hR7g==
X-Received: by 2002:a05:600c:1d0f:b0:43b:d203:da18 with SMTP id 5b1f17b1804b1-43bd295494bmr14776665e9.13.1741166836145;
        Wed, 05 Mar 2025 01:27:16 -0800 (PST)
Message-ID: <7fc9ee31-dfce-4fba-ac11-4d6ff2acc2f9@suse.com>
Date: Wed, 5 Mar 2025 10:27:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/watchdog: Identify which domain watchdog fired
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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
 <20250303232941.2641306-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: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.03.2025 00:29, Andrew Cooper wrote:
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1534,12 +1534,19 @@ long vcpu_yield(void)
>  
>  static void cf_check domain_watchdog_timeout(void *data)
>  {
> -    struct domain *d = data;
> +    /*
> +     * The data parameter encodes the watchdog id in the low bits of
> +     * the domain pointer.
> +     */
> +    struct domain *d = _p((unsigned long)data & PAGE_MASK);
> +    unsigned int id = (unsigned long)data & ~PAGE_MASK;
> +
> +    BUILD_BUG_ON(!(alignof(d) < PAGE_SIZE));

    BUILD_BUG_ON(alignof(*d) < PAGE_SIZE);

> @@ -1593,7 +1600,17 @@ void watchdog_domain_init(struct domain *d)
>      d->watchdog_inuse_map = 0;
>  
>      for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> -        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, 0);
> +    {
> +        void *data = d;
> +
> +        BUILD_BUG_ON(NR_DOMAIN_WATCHDOG_TIMERS > alignof(d));

        BUILD_BUG_ON(NR_DOMAIN_WATCHDOG_TIMERS > alignof(*d));

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:27:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901953.1309957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl2F-0008PN-03; Wed, 05 Mar 2025 09:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901953.1309957; Wed, 05 Mar 2025 09:27: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 1tpl2E-0008PE-Ta; Wed, 05 Mar 2025 09:27:26 +0000
Received: by outflank-mailman (input) for mailman id 901953;
 Wed, 05 Mar 2025 09:27: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=/re5=VY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tpl2D-00080b-RI
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:27:25 +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 0c869898-f9a4-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:27:25 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-ac1f5157c90so281028866b.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:27:25 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac1f6a3769bsm243830266b.14.2025.03.05.01.27.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:27:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c869898-f9a4-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741166845; x=1741771645; 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=3HFsutJ7BhizMyQ2oedkF4m7Xtbz5yulaLfNy0pKilk=;
        b=ekBHfnnTxVGf71FQv2gJbDIyFaQklxVF4ZFIDx7qIyO18TxwKkolFw/qxdMq+A1SF0
         tuRpWruLJ0I2g1apTUumdlTlJmW8MnpZ4jM9qQOxYziegNtduYc7+OnYy40v0pWxvLt1
         Q0BQcIMFDQRTmsuEOlnI2s2ii/3K9P1nCvpP0VJqqO4E3RacfWW/TCAf1FfEbkEAVVSc
         ow6DhJkh9BtGgQaqbH/WEAPWKwDxUBkvQkXGB81k9xy3Ec7d1iI5TAGZi0qhqgLYLoqN
         3RB0vLzaG6NuAx2drkWi8OS+su/uRb+Ni9TBKyh80yjY1ECJYNqtWAXQCG70/ttKBENV
         xrQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741166845; x=1741771645;
        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=3HFsutJ7BhizMyQ2oedkF4m7Xtbz5yulaLfNy0pKilk=;
        b=Zxdq6T7OEaVNiX+eVYwOoqAiDVCN7SiQu9nOeAqvjT7SoJhjCaqcGXk6ObpoeoiDpY
         T/pEc6n6NptsGpIqjO4IUelNCeUBvlenn7oE3kwpgKQHzveGHPKQfu2cUJ+bCDPoBfrS
         PTkskgPuROtytEkiK/Pq5GK4Bg1hyU96QfesFbox/DnhVGYwRodE2OBCitBin95BMU/g
         1uMZQujPt/dLajFH/ZG6eyCJo94LM5AMl9tRPWZ2+oQz2McAj8ZeXOdxqMrvew9Rj6aX
         rIW8cD4krK9CkF/pcz3tXkg1UucJFvMJPrLrkiVicqc0PqvuxJNcVwhps/bxGmSJFdVd
         n3FA==
X-Gm-Message-State: AOJu0Yy4ypzRLBPiUy9JJXxugMr1LFDDd0S8JmsiRf1dZv6kaDqqOx0G
	r0CAcli+kjbAPY72z/bQOnWaAdN/affi4RLGsDVBHfbVDlgcwty+dlqJ58xQnFwewW6nHvikBl2
	aj7Q=
X-Gm-Gg: ASbGncv2i7Ov+D2jY+xKihFdjUjQduR+p7+RBK9qebBb0PtN8nDcKAdeWRhQRkdn3MQ
	fNWKx1NfFqPBcEQs1XsbmBvT11hoVCEy7wiSXQ5kE03oRhqp/9p/wpa+lauOMH+MGJtIpna26TP
	gXiuM2fOwNI5zL9B4xyvRFvZPoY35A+945MM+D3XmHEkvVcQE/danoQSscCHw1iKWUaoDEGomjN
	oTsH7D1qHgzPPK1fyUY5GfCMPr9p6SCnjsio/qK3B8HFNoTTEZLF8a4RpEttXRfPk9+50t1rw9K
	TJMHe2kqeZwJLUTPb8W57NSAmQ9bPqo94n03nuXkm3E12AP4Emp03AanXGQn2E8xauPMcTyOxvg
	+4dp5+5SQB5Ii4hSLc1Xj2Y7tYHONVpqcTEE+iQ4hxHcZ22jp2/270kRqYUcpBh6kY5M=
X-Google-Smtp-Source: AGHT+IFkvUmWED5D/Ixj3Zs9cs+dIaEMxtDGp/7mgoNvO2Zg4QoXTPYDk3EQ7hquBS11hf+SogZByQ==
X-Received: by 2002:a17:907:72ca:b0:abf:6d24:10bb with SMTP id a640c23a62f3a-ac20dd078aemr257312766b.44.1741166844657;
        Wed, 05 Mar 2025 01:27:24 -0800 (PST)
Message-ID: <f1f9ef43-ca01-4b69-ba04-696f53e4a990@suse.com>
Date: Wed, 5 Mar 2025 10:27:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: remove some unused defines from xs_wire.h
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
References: <20250305085646.26472-1-jgross@suse.com>
 <41e7c2ff-ee66-4269-9771-fc274e7a051d@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: <41e7c2ff-ee66-4269-9771-fc274e7a051d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------pLh6NCxfM9IXrqmzNhco2aTu"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------pLh6NCxfM9IXrqmzNhco2aTu
Content-Type: multipart/mixed; boundary="------------M00rU0a0Qq9cKIoEgJX6VW64";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Message-ID: <f1f9ef43-ca01-4b69-ba04-696f53e4a990@suse.com>
Subject: Re: [PATCH] xen/public: remove some unused defines from xs_wire.h
References: <20250305085646.26472-1-jgross@suse.com>
 <41e7c2ff-ee66-4269-9771-fc274e7a051d@suse.com>
In-Reply-To: <41e7c2ff-ee66-4269-9771-fc274e7a051d@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=

--------------M00rU0a0Qq9cKIoEgJX6VW64
Content-Type: multipart/mixed; boundary="------------nowFI3hcCvBMMPQF0ao8bQ3o"

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

T24gMDUuMDMuMjUgMTA6MTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNS4wMy4yMDI1
IDA5OjU2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4geHNfd2lyZS5oIGNvbnRhaW5zIHNv
bWUgZGVmaW5lcyBYU19XUklURV8qIHdoaWNoIHNlZW0gdG8gYmUgbGVmdG92ZXJzDQo+PiBm
cm9tIHNvbWUgZGVjYWRlcyBhZ28uIFRoZXkgaGF2ZW4ndCBiZWVuIHVzZWQgaW4gdGhlIFhl
biB0cmVlIHNpbmNlIGF0DQo+PiBsZWFzdCBYZW4gMi4wIGFuZCB0aGV5IG1ha2Ugbm8gc2Vu
c2UgYW55d2F5Lg0KPj4NCj4+IFJlbW92ZSB0aGVtLCBhcyB0aGV5IHNlZW0gbm90IHRvIGJl
IHJlbGF0ZWQgdG8gYW55IFhlbiBpbnRlcmZhY2Ugd2UNCj4+IGhhdmUgdG9kYXkuDQo+IA0K
PiBIb3cgc3VyZSBhcmUgeW91L3dlIHRoYXQgdGhlcmUgYXJlIG5vIG91dC1vZi10cmVlIHVz
ZXMgb2YgdGhlbT8gVGhleQ0KPiBhcmVuJ3QgaW4gZS5nLiBhIF9fWEVOX1RPT0xTX18gcHJv
dGVjdGVkIHJlZ2lvbiBhZnRlciBhbGwuIChJIGRvbid0DQo+IG1pbmQgdGhlaXIgcmVtb3Zh
bCwgYnV0IGluIHB1YmxpYyBoZWFkZXJzIEkgdGhpbmsgd2UgbmVlZCB0byBiZQ0KPiBkb3Vi
bGUgY2FyZWZ1bC4pDQoNClRoZSByZWFzb25pbmcgaXMgYWxsIGluIHRoZSBjb21taXQgbWVz
c2FnZTogdGhvc2UgbWFjcm9zIGhhdmVuJ3QgbWFkZQ0KYW55IHNlbnNlIHNpbmNlIGFnZXMu
DQoNCkluIGNhc2Ugc29tZW9uZSBpcyB1c2luZyB0aGVtLCB0aGUgdXNhZ2UgaXMgZWl0aGVy
IHdyb25nIG9yIG5vdCByZWxhdGVkDQp0byBYZW4uIEkgaGF2ZSBjaGVja2VkIE1pbmktT1Ms
IFFlbXUgYW5kIExpbnV4IGtlcm5lbCBmb3IgdXNlcyBhbmQNCmRpZG4ndCBmaW5kIGFueS4N
Cg0KDQpKdWVyZ2VuDQo=
--------------nowFI3hcCvBMMPQF0ao8bQ3o
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-----

--------------nowFI3hcCvBMMPQF0ao8bQ3o--

--------------M00rU0a0Qq9cKIoEgJX6VW64--

--------------pLh6NCxfM9IXrqmzNhco2aTu
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/Ey8FAmfIGPsFAwAAAAAACgkQsN6d1ii/Ey+5
dAf/fCHCQH0CmLTpnnH+vV55fBwEykt/pPy1U4mkAXNn+kLxlNh3SLBbPWJDn+37Zr6R/19g5mUV
tCpuEyfTIFmHAwFKzgA780qsA1s9n4HA8GaeQAWizQgWq1CT/Pd4tuUvfzDTIfgaCbuCBZmFH33k
5c+ITdFUFlxlbdV3t00XrLoWlUqlT3QIJqzpPNYLtwk2ZuDqqe0ROF3zLu3DYOlUlVCAHrk+J5Qc
T6AOf8xlBlk3D73Q8c3u/e5W1KS9GGfKtYu1Xnuofv64mzkBWY/pT7ogKFZXfbPteRiVoIuOVIIa
nFDbO/OhoIJKfwjr4FIoJ5F/88gwk7rUHNPcWfeURw==
=qkRK
-----END PGP SIGNATURE-----

--------------pLh6NCxfM9IXrqmzNhco2aTu--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:31:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:31:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901993.1309966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl6O-0002HC-J0; Wed, 05 Mar 2025 09:31:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901993.1309966; Wed, 05 Mar 2025 09:31: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 1tpl6O-0002H5-GM; Wed, 05 Mar 2025 09:31:44 +0000
Received: by outflank-mailman (input) for mailman id 901993;
 Wed, 05 Mar 2025 09:31: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknX-0006ev-TC
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:15 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edb2acaf-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:12:14 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-307bc125e2eso72811531fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:14 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edb2acaf-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165934; x=1741770734; 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=jMUxuA0p+11DhmKCRgLrkhcrfUHcDebAliUl05KMaQU=;
        b=TXdyyusktPZRDqBC4ux8P8YgZEYrOa8xUDvmXwD1fLDpVh3OGUvqH0l+m+2nJqyAPa
         sZe2xFzWGIN1wk0wVx9H1qT2JlXcSWdEWdDBscgKJ6O4TnE4q08K9RGUkXugz89CmtCW
         3m5m5eMCGkzMa1crNULJi0yMpH23PtNqC5y4C05GFNEjhKF+c6LjbhWpcgRM+adSMJmh
         SnPQE0nCdiFgnR0rL0IV1BAOcrWr/l36sk8a90KeCIdouM5asa1GpPzTIaUjvD80yFhi
         jfXiRwdgCS3W/tjlj8Ebl0r0zokHOAciRu71FATKTd3MAoK14zijJ4ijj+Vy+ljJ+vys
         yTVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165934; x=1741770734;
        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=jMUxuA0p+11DhmKCRgLrkhcrfUHcDebAliUl05KMaQU=;
        b=MLv6OrHdtoRWOZ66iiFTkBbnLTbDZIbrgqTDk2oNgXOgvlYrMj0Q9+6RIXMS4gfvTT
         fvyLVt8FAiXho9gtSsh14gRjkknhGLUnrsRwVy4pnXTCtbtb3fRY8borwCLGgbcoZCZ0
         UopguvHnK885xnWoxv5713eLoGAEufY4hs2tWONOQHklYM2+4x9NK6f+XRK0QNSFbsOr
         5cZge+w1JprDxDExFLiS2wwVeYCbq2F8aNt7Ljkrs1XiI7lf1uyOPnozLHkhNu3GIxqc
         ODQvIJAu5cQ4RlJ3UcJdczQeAdH6G9BWeJypeJLMwdEqWkPacVg6EwYPC6qedHWkrmUx
         G6TA==
X-Gm-Message-State: AOJu0Yyz9MF+ZOsrMieFu0Uj0dkxHgWppgKGUcVyJVgHYqSfujT9xZ6Y
	FKIRa8HjYTVII4Ecv960uaPLsCrRkfJ4KZD5H6cn3DpVCcOEYgOHzBG73UYF
X-Gm-Gg: ASbGncu8BdkvySvlz5rB2U2+nMVTFEuQTTTZldBlDlFtpjb/zXmP2uppURTAfAND9tZ
	v4d4ybaHOfp+zSeei+ZBNoKn/5nu8ADVMpQIcrL2/31H2UujDvgf2qZVReG+5uTGUnkDwDmRye+
	yqHmBXoFAiYLKlDMhabjXsp/zrmLWJuS5SCjYxZREphh/eCdnap9V7+AuhYj6wXwOHQmj/PfTMG
	8cs133UFDX/ahRk6W2j5LOx0zrwbCfSEfCHtPD0MVxS9T/a4mMTX4NrvlyyDGjf2FmSF0Whfhf5
	+rp8403SmzqGTc8cutnsldO5anYppH6V06iR4y4p/twR02zJHw==
X-Google-Smtp-Source: AGHT+IHb/F3dGwdiDc0xz14jw9QlV1aW1ohSHUl1Ftqtj20uvoGdOJV7UQWSLRrX+Ioc3/KL3aA6Sg==
X-Received: by 2002:a05:6512:2308:b0:545:df9:5bb5 with SMTP id 2adb3069b0e04-5497d37e3c9mr829458e87.45.1741165933584;
        Wed, 05 Mar 2025 01:12:13 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 15/16] xen/arm: Save/restore context on suspend/resume
Date: Wed,  5 Mar 2025 11:11:23 +0200
Message-ID: <8a3c38a9db28cfe6303ef150c269232f611c6371.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

The context of CPU general purpose and system control registers
has to be saved on suspend and restored on resume. This is
implemented in hyp_suspend and before the return from hyp_resume
function. The hyp_suspend is invoked just before the PSCI system
suspend call is issued to the ATF. The hyp_suspend has to return a
non-zero value so that the calling 'if' statement evaluates to true,
causing the system suspend to be invoked. Upon the resume, context
saved on suspend will be restored, including the link register.
Therefore, after restoring the context the control flow will
return to the address pointed by the saved link register, which
is the place from which the hyp_suspend was called. To ensure
that the calling 'if' statement doesn't again evaluate to true
and initiate system suspend, hyp_resume has to return a zero value
after restoring the context.
Note that the order of saving register context into cpu_context
structure has to match the order of restoring.
Since the suspend/resume is supported only for arm64, we define
a null cpu_context structure so arm32 could compile.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
 xen/arch/arm/arm64/head.S          | 88 +++++++++++++++++++++++++++++-
 xen/arch/arm/include/asm/suspend.h | 22 ++++++++
 xen/arch/arm/suspend.c             | 22 +++++++-
 3 files changed, 128 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index fab2812e54..c10eec751b 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -562,6 +562,52 @@ END(efi_xen_start)
 #endif /* CONFIG_ARM_EFI */
 
 #ifdef CONFIG_SYSTEM_SUSPEND
+/*
+ * int32_t hyp_suspend(struct cpu_context *ptr)
+ *
+ * x0 - pointer to the storage where callee's context will be saved
+ *
+ * CPU context saved here will be restored on resume in hyp_resume function.
+ * hyp_suspend shall return a non-zero value. Upon restoring context
+ * hyp_resume shall return value zero instead. From C code that invokes
+ * hyp_suspend, the return value is interpreted to determine whether the context
+ * is saved (hyp_suspend) or restored (hyp_resume).
+ */
+FUNC(hyp_suspend)
+        /* Store callee-saved registers */
+        stp     x19, x20, [x0], #16
+        stp     x21, x22, [x0], #16
+        stp     x23, x24, [x0], #16
+        stp     x25, x26, [x0], #16
+        stp     x27, x28, [x0], #16
+        stp     x29, lr, [x0], #16
+
+        /* Store stack-pointer */
+        mov     x2, sp
+        str     x2, [x0], #8
+
+        /* Store system control registers */
+        mrs     x2, VBAR_EL2
+        str     x2, [x0], #8
+        mrs     x2, VTCR_EL2
+        str     x2, [x0], #8
+        mrs     x2, VTTBR_EL2
+        str     x2, [x0], #8
+        mrs     x2, TPIDR_EL2
+        str     x2, [x0], #8
+        mrs     x2, MDCR_EL2
+        str     x2, [x0], #8
+        mrs     x2, HSTR_EL2
+        str     x2, [x0], #8
+        mrs     x2, CPTR_EL2
+        str     x2, [x0], #8
+        mrs     x2, HCR_EL2
+        str     x2, [x0], #8
+
+        /* hyp_suspend must return a non-zero value */
+        mov     x0, #1
+        ret
+END(hyp_suspend)
 
 FUNC(hyp_resume)
         msr   DAIFSet, 0xf           /* Disable all interrupts */
@@ -587,7 +633,47 @@ FUNC(hyp_resume)
         b     enable_secondary_cpu_mm
 
 mmu_resumed:
-        b .
+        /* Now we can access the cpu_context, so restore the context here */
+        ldr     x0, =cpu_context
+
+        /* Restore callee-saved registers */
+        ldp     x19, x20, [x0], #16
+        ldp     x21, x22, [x0], #16
+        ldp     x23, x24, [x0], #16
+        ldp     x25, x26, [x0], #16
+        ldp     x27, x28, [x0], #16
+        ldp     x29, lr, [x0], #16
+
+        /* Restore stack pointer */
+        ldr     x2, [x0], #8
+        mov     sp, x2
+
+        /* Restore system control registers */
+        ldr     x2, [x0], #8
+        msr     VBAR_EL2, x2
+        ldr     x2, [x0], #8
+        msr     VTCR_EL2, x2
+        ldr     x2, [x0], #8
+        msr     VTTBR_EL2, x2
+        ldr     x2, [x0], #8
+        msr     TPIDR_EL2, x2
+        ldr     x2, [x0], #8
+        msr     MDCR_EL2, x2
+        ldr     x2, [x0], #8
+        msr     HSTR_EL2, x2
+        ldr     x2, [x0], #8
+        msr     CPTR_EL2, x2
+        ldr     x2, [x0], #8
+        msr     HCR_EL2, x2
+        isb
+
+        /* Since context is restored return from this function will appear as
+         * return from hyp_suspend. To distinguish a return from hyp_suspend
+         * which is called upon finalizing the suspend, as opposed to return
+         * from this function which executes on resume, we need to return zero
+         * value here. */
+        mov x0, #0
+        ret
 END(hyp_resume)
 
 #endif /* CONFIG_SYSTEM_SUSPEND */
diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
index 0d2f0da0ad..1d98acacc6 100644
--- a/xen/arch/arm/include/asm/suspend.h
+++ b/xen/arch/arm/include/asm/suspend.h
@@ -3,8 +3,30 @@
 #ifndef __ASM_ARM_SUSPEND_H__
 #define __ASM_ARM_SUSPEND_H__
 
+#ifdef CONFIG_ARM_64
+struct cpu_context {
+    uint64_t callee_regs[12];
+    uint64_t sp;
+    uint64_t vbar_el2;
+    uint64_t vtcr_el2;
+    uint64_t vttbr_el2;
+    uint64_t tpidr_el2;
+    uint64_t mdcr_el2;
+    uint64_t hstr_el2;
+    uint64_t cptr_el2;
+    uint64_t hcr_el2;
+} __aligned(16);
+#else
+struct cpu_context {
+    uint8_t pad;
+};
+#endif
+
+extern struct cpu_context cpu_context;
+
 int32_t domain_suspend(register_t epoint, register_t cid);
 void hyp_resume(void);
+int32_t hyp_suspend(struct cpu_context *ptr);
 
 #endif
 
diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
index ac88faee2e..72eeca3fdf 100644
--- a/xen/arch/arm/suspend.c
+++ b/xen/arch/arm/suspend.c
@@ -11,6 +11,8 @@
 #include <asm/platform.h>
 #include <public/sched.h>
 
+struct cpu_context cpu_context;
+
 /* Reset values of VCPU architecture specific registers */
 static void vcpu_arch_reset(struct vcpu *v)
 {
@@ -170,9 +172,23 @@ static long system_suspend(void *data)
      */
     update_boot_mapping(true);
 
-    status = call_psci_system_suspend();
-    if ( status )
-        dprintk(XENLOG_ERR, "PSCI system suspend failed, err=%d\n", status);
+    if ( hyp_suspend(&cpu_context) )
+    {
+        status = call_psci_system_suspend();
+        /*
+         * If suspend is finalized properly by above system suspend PSCI call,
+         * the code below in this 'if' branch will never execute. Execution
+         * will continue from hyp_resume which is the hypervisor's resume point.
+         * In hyp_resume CPU context will be restored and since link-register is
+         * restored as well, it will appear to return from hyp_suspend. The
+         * difference in returning from hyp_suspend on system suspend versus
+         * resume is in function's return value: on suspend, the return value is
+         * a non-zero value, on resume it is zero. That is why the control flow
+         * will not re-enter this 'if' branch on resume.
+         */
+        if ( status )
+            dprintk(XENLOG_ERR, "PSCI system suspend failed, err=%d\n", status);
+    }
 
     system_state = SYS_STATE_resume;
     update_boot_mapping(false);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:31:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:31:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.901994.1309976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl6W-0002Z6-QU; Wed, 05 Mar 2025 09:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 901994.1309976; Wed, 05 Mar 2025 09: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 1tpl6W-0002Yx-Ne; Wed, 05 Mar 2025 09:31:52 +0000
Received: by outflank-mailman (input) for mailman id 901994;
 Wed, 05 Mar 2025 09:31: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=XpfQ=VY=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tpl6U-0002Xz-Qk
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:31:50 +0000
Received: from AS8PR03CU001.outbound.protection.outlook.com
 (mail-westeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c201::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a99c5713-f9a4-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:31:48 +0100 (CET)
Received: from DUZPR01CA0307.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4ba::23) by DBBPR08MB6105.eurprd08.prod.outlook.com
 (2603:10a6:10:20d::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Wed, 5 Mar
 2025 09:31:45 +0000
Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com
 (2603:10a6:10:4ba:cafe::de) by DUZPR01CA0307.outlook.office365.com
 (2603:10a6:10:4ba::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Wed,
 5 Mar 2025 09:31:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Wed, 5 Mar 2025 09:31:44 +0000
Received: ("Tessian outbound bc832f6acacf:v585");
 Wed, 05 Mar 2025 09:31:43 +0000
Received: from L02102847e657.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 40AEC814-C4DB-47DA-86E3-4C30BE417020.1; 
 Wed, 05 Mar 2025 09:31:33 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L02102847e657.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 05 Mar 2025 09:31:33 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by DBBPR08MB6074.eurprd08.prod.outlook.com (2603:10a6:10:1f6::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Wed, 5 Mar
 2025 09:31:30 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Wed, 5 Mar 2025
 09:31: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: a99c5713-f9a4-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=U3YGKUY1KZfg4z6VsBdCYNOOoBuFKHlevRX4AYrqDAP2UvLCBNti92tBGKIeFc8gCtyxSmgQnjz2c06MbomGVCM5ZTylPCanQ8R4/TLu/qrg/NuI89nsigjwwnVjAoeN3X3PXQp6Pzr80ZYAa7D3S/NsnYmNB3jDXVMGo6uQgLlmGo3TxurPBqeU3Yx7OtdL+PUfadysNZMQLyW7Elde22aiYlge++tB4JpG3DLfaSfUiwJmCrPWMJE0/JqPgFGG5ObS4DscIS4yO10Y9I4sNwUwugnR/jnEAUZEh8qL7sp0BZpBkH+DTNZHq1mB0Ui733i3dBxGeCghQqw5cmDHVQ==
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=RjyjR77J+79eh113GD6sGyDIILtCHJFfCAmwTrd5IzQ=;
 b=G6/NZXmUZJTGoBcRVl58LpzeDJ3aGvYXZtzztnfjKfxEwmTp3ihJhV4p+qJs4+K+fm18uNoF2TkhzAijUI+SdyFovoXc12bJ7fHm2/6OSTYqmNwqxaAx0rq913GvqRq7mPhZdrSacDu+NgQv5AsU6H3wx0qTO4QlwjH4tchL622T5Pv+hZDFVkvMAjGA70kI/kzFsYXbxCZAycfkRra0avGlZkdMG9CY96w9Ur2YBNu751wVEG9Iy9iMiLrC/8lplAUJliF5jQAudGQ6SsEKaFSEDWPuTT5j4cwiVaG8rIrQCFcv3kGbFCyEeKRomxl0DsBGimcSqCaXqlUZcogQ9A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=RjyjR77J+79eh113GD6sGyDIILtCHJFfCAmwTrd5IzQ=;
 b=MGtsMctJFeIMQE26vkzm9CnJC7OtncF52/ElrbrYnWsYsr7YOtWmMggL/akaXpcr4oK6NQgmh6rWV5/x2sjnY9s7EY6M4RJyRDcPa6K4y4rWDRs/JhQ35hUErdDMzIN8MlwgmLejCiSX/ssUnWS51hvm/hCZYGS/0n1wp3qBSWI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f651c6acfc3f125d
X-TessianGatewayMetadata: bpkw4H1uRbpS2+UdANHrazcM2U1keQx/QeeDcX4zyQMoIyoeE5iaTbJF6wjQzwKngifkDaMfW9oSQMDmqqGYjeW7CBbqK2UVYzUjAktb8NUbIAzYyrvyde0EPfwClLZz13AhNlfneAA6Vn0TwKTTsbEnN0SH13fFz5X1LIAel1s=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SlfDaOupcI5g4tDFCRNv7D5Aepndt6a0EZ5yFitl6jL8sZKz0vowHJhb1Xxl9Udm3dtipw1o3BtYNCj43r9MALneql0ASLqEdTwVA8/M4IVIsWxuet+G6MRCfPP0cLXCG8yD8OymtcQTfSWCW2mnjSJ0JPtsYglSjKteuxP83LFOT+FwonOnFrRswIxS9bzYh27++lMDEoc64tWmaEkmQfrp2VD2ByMeYijgDJgUPmZab7zf+a4ly3UB8ai4tNF2hB6C/1XvICtcmVyfQtAXq8kdTetGyjRndYPLWJWU7KDcyVuKBqPQ73CI6+GwXaKSCTC8JL9lwghtxY07987eXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RjyjR77J+79eh113GD6sGyDIILtCHJFfCAmwTrd5IzQ=;
 b=oI/EwvN1gkLOgBf3Jq1NORL3lTO6mVedv4pHexlohbiPSLVEIg5USfYMVFAjSJF8QUqaO+KHrpX1qUTAFOe4jtiVWyOo/asjHADuex3q7Q0kjONAhvqj1SA3MD0Hs2EBLLVa0pKgL920LYYuFDYvTvfS60y/nj/VbR8JVZPPHd/8SIlRR0xHnp8c0QKN84ZEmABDg18XX7Y5sg75okcwsJ/1wcZA81jw8p1/Yvp+MeavjmpdvHQPpUnbwY1pNx0XAq6Eex5pWg2FzNv0+t+plflGt3ObSQgNvaF5gIEXvrFpQFRJmJjVqiZbv5h2I6aZvYDIzPTIKqgNPl9qDWCf4g==
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=RjyjR77J+79eh113GD6sGyDIILtCHJFfCAmwTrd5IzQ=;
 b=MGtsMctJFeIMQE26vkzm9CnJC7OtncF52/ElrbrYnWsYsr7YOtWmMggL/akaXpcr4oK6NQgmh6rWV5/x2sjnY9s7EY6M4RJyRDcPa6K4y4rWDRs/JhQ35hUErdDMzIN8MlwgmLejCiSX/ssUnWS51hvm/hCZYGS/0n1wp3qBSWI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@amd.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>
Subject: Re: [PATCH v2 2/2] xen/arm: mpu: Ensure that the page size is 4KB
Thread-Topic: [PATCH v2 2/2] xen/arm: mpu: Ensure that the page size is 4KB
Thread-Index: AQHbjS7ssDK5AjPkJUWNUGxv5wptWLNkSD4A
Date: Wed, 5 Mar 2025 09:31:30 +0000
Message-ID: <8CECC290-DE5A-4DAB-AFED-673C93DA2F18@arm.com>
References: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
 <20250304175708.2434519-3-ayan.kumar.halder@amd.com>
In-Reply-To: <20250304175708.2434519-3-ayan.kumar.halder@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|DBBPR08MB6074:EE_|DB1PEPF000509FA:EE_|DBBPR08MB6105:EE_
X-MS-Office365-Filtering-Correlation-Id: bf628d01-7432-4310-58de-08dd5bc88b48
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?AjEXSqm67VGYTJGu7FPW6o8BrP94OVV+bY13FjgAsIVkdAbpbF1CWOrcvj1R?=
 =?us-ascii?Q?BVYfAXQMn03tV+D6XkGjyztU3WiHL9F4tsT52wBWqn9YPgrNGDcoJktfat6v?=
 =?us-ascii?Q?suHJCCpcClL7NE9ZwXO70eN0oDqONsPm5NeR3rgO0SjV6KUNqC+/0qI0Y4KA?=
 =?us-ascii?Q?Ggd9pMIt8IexnKqjFFBWdGX/0k8ILgPmkBmztBLLFdSHaaERQU14Mw5xsQ8e?=
 =?us-ascii?Q?TgIiTtc93wqD9sq3q9dGQeJhpeJLGYtgm2YehLwAv+7fn++Tk9h/lgl4WJTE?=
 =?us-ascii?Q?dsGkP4xBt+KXdG0vS+D2ybTT0xIuOXYNXTC2+NnSWRY/KJfX0jM0FJnA3Al9?=
 =?us-ascii?Q?B4quDUiImbSwuTQOnjH3cilfBgcFkVWZX3wxErqqGHN4nRtlKnAdv76qlj6C?=
 =?us-ascii?Q?EajYvXnHh5m9SFUD/lIkkLw6L3Lqz7/0XsJmrXh12wXIHIPt786R3j/u5u1G?=
 =?us-ascii?Q?L0soPtWXqvtZO12QxL6i3qNi1rh+AwrtFwIoHKYgqgXsUS/qdgots12EThQT?=
 =?us-ascii?Q?sKG3Or6ilty4Y6Xgas0i2frZBr6whXWzEOUKIwWHXSV/bFG4Jvx42AufrRnp?=
 =?us-ascii?Q?Bi5HOOhA25VxJAC57ZOH0Yprv/Kunbsj3VhsSomNk/6YoRbGOpYDm0TssdaT?=
 =?us-ascii?Q?dn5kEZxv+LDWwnnzIZqtQoqXBHRJ4Ut54r8A8vOgPRUPm91g/Es+YrWTujOI?=
 =?us-ascii?Q?O6Ixb3s+rIvCkcmaEtoo7f7kpZSzZw/lDYjtf4PdE7a8e/kL8sHfq8Cs4xlb?=
 =?us-ascii?Q?WgVQ3meCFB0ASflilegFMDLu1Dy4Wh0WUlDUhcsbfGty0Da/gVGlU9pn5HxM?=
 =?us-ascii?Q?BZ3+opt1QqGaGTxb6HW9A64G/hN6j/0L9HMdSUYWlO9c90kHO4A6wSVyxIr0?=
 =?us-ascii?Q?P3wymVywEtDCLgPrMlFUI8rETjx1gvG0rbQk5uupw+d7xaD8QT6EIcyfVbft?=
 =?us-ascii?Q?+JdA1CjKEwfPSkZZX9Z9ZNvb6aEOLAhAfLwXqR0h+60Qrb28bmtXA9cMynwS?=
 =?us-ascii?Q?4TPrkF/H0YbxuR7eEn32Qt8bMUYrEpvGMpRaV4ZKqjo385ipeGGo2e7zu2ZA?=
 =?us-ascii?Q?i0tQRaZN5G6NuS6raftdzpbgzX9n0xdfPfzfOX8LLf+fEqjPDyMtbRerpPeq?=
 =?us-ascii?Q?TfeAs9EwKkAojFuzXfZkGnBs+7+jX8b3GFjl+k6+KQ68S0KpdHzfD96OIKQ3?=
 =?us-ascii?Q?QYu+yIV1imRImnMYg0eYEmTZ/iwfDwcZPfSfUJ58QetMmy6FCd3YF7TNCUx1?=
 =?us-ascii?Q?73upCke8AoUVmha5df9MxaFD7ikY3C87MpiNh1SnTXshl3Z3W3sRz5JIsmAY?=
 =?us-ascii?Q?BKvA7w779J1PxY0mYf5p8lMpiYYTifJwdlc2DvGV2KCBqN971nQjcRKeelHc?=
 =?us-ascii?Q?K/zSkLQXENPdd7TL72CBGClL/eiEOH55RVbuOd0B/X+SS9f9Qrm0zZtnljNs?=
 =?us-ascii?Q?QVjOz88ZHIMVN3x5vEOVL3ub4bziWXY/?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2024C37508C7D648AD99C6EF5FF5C22F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6074
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509FA.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	731d1275-97eb-4742-55c0-08dd5bc8831b
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|82310400026|376014|35042699022|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?fGls2wZGrbNhO2hRQyaJsdTZRhBgb240Z+HlQolq3AzaeffGFCOl4elZoxkK?=
 =?us-ascii?Q?JgoIbG49O8S2vSmvz3niwCZWPAijvbxVni3SL+iSUaMtuJ/0eXuoo4i41MWy?=
 =?us-ascii?Q?VihirDHilU2FZ7BvTcxYAMBDp7ImS/T+ylSitxXsxZ6EoNqHc0EM2IEzsDPa?=
 =?us-ascii?Q?bmPk3kopm1yKQTLmOux3hUDtO8YueoZtMnZmy5arCou4oIEXow6LdX6xCLFR?=
 =?us-ascii?Q?NeB97RlMkKowusSE8X/rpMQAuFZ1SHmAchpwG3HFMf0rDNzD5Ur1JgMqAtX2?=
 =?us-ascii?Q?XhfJcRQEkQfnsPHUj3WukL0G0NrxVPnP5Po4x3zXPOkqEX4HPbMN9IH71ME7?=
 =?us-ascii?Q?S7iIaKkm8IxpFgh2lgQ/sdvIJcHxbYvrhkh+jByiKwucpTikP53lV9Scn4YD?=
 =?us-ascii?Q?3RXWDem4JJKovvYnr9tfdFqB1MOoK9g5DexHVZuwilrtuFqo6M8HZDQqL5Cq?=
 =?us-ascii?Q?843n1uzt+EGwhZh9GhSCvJyOFZKKFZCHdiqRYwIgwLW7T+5InwvBZHhKJCUa?=
 =?us-ascii?Q?nl/yt3rLkJklWGPAyo81Yci7rV6203+IlnpHT3MR2+jVGwEiBn9AcKQW/7bB?=
 =?us-ascii?Q?Ojy00Shvbwr8OLeGQQTYf1BSIQH4NhLMKsN4CxQyIOZ2TWPrDWRaBg1IneHW?=
 =?us-ascii?Q?IqPCOsmCkvgbmFf5lBwmNezxwlJwNSKtHpiZkK2TaOvCHBw40uMEbqY6lghe?=
 =?us-ascii?Q?QOEpIuH2h9oKMBfYHlrl/h/K0Yk4MiH/6W9W5RCNjVI9X27gwMJV+u4eEUJk?=
 =?us-ascii?Q?Aiqo6Jvbzyht0t5qfF1vbCBNSWzTBarkH90DF4/a7nV6NSqYTcZ8uqKKgadW?=
 =?us-ascii?Q?gWJKwu6oS9alCpET50NyUg+jXg+di2HcjwG124a2WgCiTgBxIyBXy4lc4/ka?=
 =?us-ascii?Q?DHfMmxGXLslqYzGVmFEogb20EJU5KM25MWgz+qAbo2WPZOvx8qC0KlC/TvSU?=
 =?us-ascii?Q?i+2pOpHuubHd/0eQIGwbGqL25PvM1Jj6lwSukTf4TYMREIzRngY41fBA9Swf?=
 =?us-ascii?Q?Uu8D9z1q+0fBk1KeMw44A3jdIa2N6OonVIVdBvUZrAqTU/HvR4znao8ILPTf?=
 =?us-ascii?Q?Rt+e2DxRNGjZX6knoFF7mJ+leWmLTKQYSkBzU6nMoD+gosJ2zj0B6Mw1jO6d?=
 =?us-ascii?Q?e/l5Q4/wXClHuyb6GhDWxtWfyCXxysw3DfeSxqhWv8Blu3PXbgdUYM2Jr+HY?=
 =?us-ascii?Q?W1ODyMRCy/LOFR5f017XyLVJ566/cs6F0nJwMLy2kmbOyQlUIscL+YTuOMUk?=
 =?us-ascii?Q?aK/RLDi0PDc1942C7Bazm/mBw18NcXrNJBjjwRgTx8EfhKsg10Tx7cX1/k9W?=
 =?us-ascii?Q?ZlrE3nCR19L6cZWFeGYLmS1bdxRM6VJm1ZOFhHH9VznxIyqYYYEp1A+qF+lA?=
 =?us-ascii?Q?nbunXE5b9pPBzzJFAPgOe5mzNzP4by3c8IbAtF8ORU9isSpgdzfI2YZjrm9/?=
 =?us-ascii?Q?DIugykW7RRPdUqQ14OTJECaDkSfHONgNzwTPeMktcC2+Wl57/VGUGg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(82310400026)(376014)(35042699022)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 09:31:44.4839
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bf628d01-7432-4310-58de-08dd5bc88b48
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509FA.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6105

Hi Ayan,

> On 4 Mar 2025, at 17:57, Ayan Kumar Halder <ayan.kumar.halder@amd.com> wr=
ote:
>=20
> Similar to commit (d736b6eb451b, "xen/arm: mpu: Define Xen start address =
for
> MPU systems"), one needs to add a build assertion to ensure that the page=
 size
> is 4KB on arm32 based systems as well.
> The existing build assertion is moved under "xen/arch/arm/mpu" as it appl=
ies
> for both arm64 and arm32 based systems.
>=20
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:33:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:33:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902023.1309987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl7l-0003ep-5Q; Wed, 05 Mar 2025 09:33:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902023.1309987; Wed, 05 Mar 2025 09:33: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 1tpl7l-0003eh-1o; Wed, 05 Mar 2025 09:33:09 +0000
Received: by outflank-mailman (input) for mailman id 902023;
 Wed, 05 Mar 2025 09:33: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknY-0006ev-Tb
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:16 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eeacb515-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:12:16 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5439a6179a7so700294e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:16 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eeacb515-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165935; x=1741770735; 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=Fom5vYEavsJUJ3+dko1FMXQbvv5VOQe0FeS8qUTVCQo=;
        b=Sh52NujH+4bjdTb63VZmE/JZDhbR/oRl/O2m8n+bQDsstB99BdEuw7xygxVWw+QIyT
         /Y7RnRWdCOsM5mOBhX03rCaLpaHUhUghBrMyzBwUZ+nrlVlV3Qkm5nNkEZa08iCO6WA8
         p42FhxDmgmf4HqrXq2EGwD2929S5U5umBnD1LCjhBvNtV9eMnsD62srSpgLYoIc1x51q
         oAOvGYOuHcHwiHp4PyqLUd690GngvnuNQ/iUAlHYwqg7nRca3r2BH7NPggc38IS2lTrd
         drIIw2P1Jc4kH6zgDZmq1gIqvyEbr0eDsDa9P3kWwOKUe6/WQoxMGEcRwfvrlxW2adC/
         zGIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165935; x=1741770735;
        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=Fom5vYEavsJUJ3+dko1FMXQbvv5VOQe0FeS8qUTVCQo=;
        b=IrahyQJ7zUDhgfYGDoKa87wiLGAiiO3UCkDzkRKTMQAehqeOr+Es7dRxwVWGA4hBeQ
         bZuunBL0MDWkgxvKmi1FFE/h4Yc8FPYX/WWPvITF70Z+nCuVYVMF3E0z9+1gtmgXa5UI
         bqaedsbPc/SN4ahhMqdVZNHJ9mwB9ShjD92YTeNvppIMu210QKQxEbeqOv11MQEzFTp3
         2W3Hy09gZOOYIYiVKBqhAqMLXxx3CQYUx/km1Nl1sbkNGPGFq9F806tVffsI1NJD+lVD
         CP4w45HFw265E9hlAgARe/BfK0gGWciM05BSMqW590ZtNxdx1KBEUmI8V+jpaXuim7W3
         QWtA==
X-Gm-Message-State: AOJu0YywYyskwB/39Ul/Ub3R39MB3ALxamgkY9xh1BR8KvGa7tdpzR1B
	WtR2myWDVoV6glG/q9ys7a8Ybffk0ZhaTzw9KtQ0ux/xuo8JvcuXpA5URwKG
X-Gm-Gg: ASbGncsVsikaq7BwB5SfpbgGH7DyF2PDXhSBk7m4FbOrPF4BVmfqjvId95Rebkfd1Ak
	qja9PywQEZYgUs3y+/d4QFUiUCmPHwunnvyvxP96YgVLlwyGU3zoG6wZqLY0Uxv5XeEebQsBHAd
	gnkuDvxEUHKoXwFOJbNm60TLkZasgALha1aTmI20UXC3mh4+AQJtLIENKpdMElTp82J03AjM7cD
	/wHeGpPsukvbdw7oP6j435p+W4CVwMoEOnkqBwZSh4LJLnkzHFG/NVKdmCJFnjezUf/xuudrqk6
	OlMwTM0odNTCjaCbKyLor9QJ9CRN9RJ4JF5U1POH9MEqz4Wr0Q==
X-Google-Smtp-Source: AGHT+IFAc1Ams7sn+LNQEkTshCCOTQ5utdGiE0jtEvDhHC+tA+0o0e0N8ab613j4dEdZ1eOz5OZaUQ==
X-Received: by 2002:a05:6512:31ca:b0:549:5769:6af6 with SMTP id 2adb3069b0e04-5497d36bb41mr847018e87.9.1741165934816;
        Wed, 05 Mar 2025 01:12:14 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 16/16] CHANGELOG: Mention Xen suspend/resume to RAM feature on arm64
Date: Wed,  5 Mar 2025 11:11:24 +0200
Message-ID: <9706307f5349238240704c5edf2e708a5d93ddf5.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
 CHANGELOG.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 04c21d5bce..489404fc8b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
+ - On Arm:
+   - Support for suspend/resume to/from RAM on arm64
 
 ### Added
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:33:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902024.1309997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl7s-0003yJ-FZ; Wed, 05 Mar 2025 09:33:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902024.1309997; Wed, 05 Mar 2025 09:33: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 1tpl7s-0003y6-Bz; Wed, 05 Mar 2025 09:33:16 +0000
Received: by outflank-mailman (input) for mailman id 902024;
 Wed, 05 Mar 2025 09: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpl7r-0003w9-O8
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:33:15 +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 dc27f0fa-f9a4-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:33:13 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-390df0138beso3424191f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:33:13 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-391218ed8ccsm1429390f8f.91.2025.03.05.01.33.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:33:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc27f0fa-f9a4-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741167193; x=1741771993; 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=g3z7UXZOAnWvtwuH2Cll3VoL+1a65SayxdiiDZ/NXAY=;
        b=b3/DkO8v/B7GGUqmEmJSKjYY2zBAUv1Fc2fQ9gISLHzoBswDyLeMPa9E0CX6+dCu8b
         Ars86DnV0y0jvUeRAmgUofaZZ2Y/2Fq/7JuhVed2b6Fyvr96gjoTvFsix/UOHi3pgTxX
         3bfjkrMzknFNJ92qJtoTZ3jwlDZFPGxlCU7m/OvVqeyx7I0ipg9x1iIPBSjZaMxY2xxx
         I1gSFaVNBXK5e/HYRI0cGTMVAwhC9s/PHGmosC8j4QKQNYn6OVjFuxXXzt8ZHXlpiQyT
         MEKJ9OnwGhglEVT+i5/3JRLl+BHbU9vm+f6a+r+6atf2vpWET2WLtPKoovyjxI0igwn3
         pspw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741167193; x=1741771993;
        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=g3z7UXZOAnWvtwuH2Cll3VoL+1a65SayxdiiDZ/NXAY=;
        b=XWiNwYEwMkKnGhls4LpC5Ea+PPSH+kTq1055VtUR12p0wguixeOtzb0EqPxxZ9jrQn
         h9hzHS103WiXrXyP+/G9jn1oDCv3EKtSUtWoi5k0bkHV0copcAcXJzU4/kRS4yeOcjpG
         uGJBNQyfzus94mSH0/rCk6W4fUEZbjsp6SK+McQr+LE4yVedNCjqR6TFCHKk2N3fnQJV
         LOOmW+a0IBhHhtcu80uVq72i73Zb+s163asSIZGySOyd+wMVksK4nu9LEdw/uyALKiPQ
         T3MNMlp/vsOTLb6OOgSsVXwGmVI1r1O5CVGoCNE4tWMywzyYTltiQnM1PgRC785iCAd7
         Z76A==
X-Gm-Message-State: AOJu0YxgfPrJqted1t7QCmhJZtfDna+x6hyBnNS13ilbvV1K5q4YW/0h
	rwbtFtPnhtDOH5FfnGDmAP6vJ1av7OAdQhNeJDlS5T7E7qVgGD9H2cECtX5CfQ==
X-Gm-Gg: ASbGncuciytmBitD0IhDMgo54uhBWE/kCPFL1quvqejfmNFXC8qZYr3r0LlKlL/738p
	omH91uxsUTJTlJulFiZ0aDsjHGrSP1B9/7do6rXmsKnZnmdTiigVQ8+KOnSdIA8DcDcJIqgXU1+
	/w9Jx6eX+kPaKqNo3R/EKIBlkpHtJylqzts3gHgZvmOhNvpY7YV2sizL34RkPKwR+8k2WA1EU6z
	hvJEAFuIIUJzFB+jW4x9iXAzMLhRTLlRR8m5qf+HDUG6W+V9x9wiDy/U5Hp7OLuqhCCQmxuABMq
	P+w17vN1wryDkzqxFncWlduXUXjWOW28gq/bwZV+xrKzGHZKbVgsPwwsZSg99uNzKUjcyJ6Au7H
	/fYvCvGETxx4Oy+nQBDsrYAsbGgmpfw==
X-Google-Smtp-Source: AGHT+IE6vRjqPQaeTFoBi0yc1yoo18IYu/ypU+ERGUWAANc4VMWTkMUOoEngVlPdMkNkEIjLZ20pSQ==
X-Received: by 2002:a5d:5f91:0:b0:38d:cf33:31d6 with SMTP id ffacd0b85a97d-3911f724876mr1725850f8f.3.1741167193093;
        Wed, 05 Mar 2025 01:33:13 -0800 (PST)
Message-ID: <d33b219a-d436-4304-aecf-af92311dbe51@suse.com>
Date: Wed, 5 Mar 2025 10:33:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: remove some unused defines from xs_wire.h
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org
References: <20250305085646.26472-1-jgross@suse.com>
 <41e7c2ff-ee66-4269-9771-fc274e7a051d@suse.com>
 <f1f9ef43-ca01-4b69-ba04-696f53e4a990@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: <f1f9ef43-ca01-4b69-ba04-696f53e4a990@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 10:27, JĂźrgen GroĂ wrote:
> On 05.03.25 10:14, Jan Beulich wrote:
>> On 05.03.2025 09:56, Juergen Gross wrote:
>>> xs_wire.h contains some defines XS_WRITE_* which seem to be leftovers
>>> from some decades ago. They haven't been used in the Xen tree since at
>>> least Xen 2.0 and they make no sense anyway.
>>>
>>> Remove them, as they seem not to be related to any Xen interface we
>>> have today.
>>
>> How sure are you/we that there are no out-of-tree uses of them? They
>> aren't in e.g. a __XEN_TOOLS__ protected region after all. (I don't
>> mind their removal, but in public headers I think we need to be
>> double careful.)
> 
> The reasoning is all in the commit message: those macros haven't made
> any sense since ages.

Well, the reason I asked is that I consider "makes sense" as pretty
subjective.

> In case someone is using them, the usage is either wrong or not related
> to Xen. I have checked Mini-OS, Qemu and Linux kernel for uses and
> didn't find any.

Okay, probably fair enough then:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:34:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902050.1310007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl8p-0005E7-O0; Wed, 05 Mar 2025 09:34:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902050.1310007; Wed, 05 Mar 2025 09:34: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 1tpl8p-0005E0-Kv; Wed, 05 Mar 2025 09:34:15 +0000
Received: by outflank-mailman (input) for mailman id 902050;
 Wed, 05 Mar 2025 09:34: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknV-0006ew-9e
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:13 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eae9feb7-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:12:09 +0100 (CET)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-30795988ebeso70455221fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:09 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eae9feb7-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165929; x=1741770729; 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=3W14MD7/86/g9aWL0OyKxo1c/Lcp0Ms013eqB7XEj1s=;
        b=Z3yWu9J4a+us/cE2M+nyFs/v8dcHXtvQP4niHtf1nC4Q85MHU+tSU3U7Zqb8j3f3WT
         U7ZNlYxs6G+S6yzjq33Y7/OJaXU6jKUWtDb+w+cZg+ux2P6bv1dkTDkFgAm+mViwQo/m
         TO1gNgOV+A6wdDMZrJt4tOyWtStsXy0j9YqPd46Rg41rzZ++EUgkBCVYA5ck54pOCB4L
         hbU1pGRilNR7o6f09B/G3MzMk34F1sXnO+fTkA7AIPJeeuImhMNL5HAi519hVeP0md92
         slUxW7Ksc9NonMSrI7hxIfFlbmK/dMXYJApYNNQO71qu5jraC+rn7cKvOswqijKdkscZ
         jtww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165929; x=1741770729;
        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=3W14MD7/86/g9aWL0OyKxo1c/Lcp0Ms013eqB7XEj1s=;
        b=gtvWRKrMX5aOnDpsNmwFhQsJopf5/flmH2rCmRm5noxSYQURXujxe4M+exXARZ+pOU
         phxXvwVQLqHoJ3k7hl4dDbI0gR4zH9qESov/cauDabYwEVni+/N/iuMvd90kvCuQicDB
         2dyL1aH5lKtnvFgKkPj5SAjeUO5eKmOtRmgCGfs7//nZTm5aIXBliHWUuf/vd+5yadpp
         C4tk3JnOvTCcGPoxQxhumT/5h2JJF7w3UgiiAp5I5KHqW6+m2S9qnmjoYJd7ZOfAPQ1u
         hGnlQQPt6C4tJX9Izw6I31PC0O1SSesvYOEvyy2Ff0K0ozuqTO6nYuGtHs2k9SOQ7lBj
         mMdA==
X-Gm-Message-State: AOJu0Yx6qAQa+vG5jyFNsHMjk3UKfheUp81Y4Y22gbutwg5ddHGmhh0V
	qkQJufnHcn05eB1Lrwnkln8FFEUPdWnysuyZTu0gVy/0ljRa40bx4shuRMfi
X-Gm-Gg: ASbGncsLG8AEuedvg+P8CbkqW7tG9nyvDocwkCJSyVmEXWO70AwQOz9QmTBeazF7AYI
	UwA3dMmfduvejOuaPp8AoT7HnhFojyBbl8ue8gZJ+O69071LRehU2QyHXJeyrsxI54yzxXsTdfF
	mN4gg/OU3X8EI8FECACLA5UhttO5Aq+d8pcUGzWOMw7BzzpoaONL0yP7+Plo5gV1sd6bK64Kfp7
	2Ud+2VBkU5O4+MKp6raL/haLI20lDaj5ENQJsSrnciatozyGB+6XWhc06vTEd08lxpftOnL3W2Q
	ndp80wlzjndbJu9AUKZZAidDzbBnr/VdBVKjwDPFZxqqCt1QGg==
X-Google-Smtp-Source: AGHT+IHQsJOO4SuJsHrELM1lWwUKSgDLp7NtfJ0oyLHVNFhvpstCp9DJaI/6CvympNyJ+jpwD5UDHQ==
X-Received: by 2002:a05:6512:3e06:b0:546:2f7a:38c4 with SMTP id 2adb3069b0e04-5497d335a4bmr910471e87.13.1741165928655;
        Wed, 05 Mar 2025 01:12:08 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 11/16] xen/arm: Implement PSCI system suspend
Date: Wed,  5 Mar 2025 11:11:19 +0200
Message-ID: <b80f0559048638bfe1a934f2d256331db733ed3e.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

The implementation consists of:
-Adding PSCI system suspend call as new PSCI function
-Trapping PSCI system_suspend HVC
-Implementing PSCI system suspend call (virtual interface that allows
 guests to suspend themselves), but currently it is only partially
 implemented, so suspend/resume will correctly work only for dom0

The PSCI system suspend should be called by a guest from its boot
VCPU. Non-boot VCPUs of the guest should be hot-unplugged using PSCI
CPU_OFF call prior to issuing PSCI system suspend. Interrupts that
are left enabled by the guest are assumed to be its wake-up interrupts.
Therefore, a wake-up interrupt triggers the resume of the guest. Guest
should resume regardless of the state of Xen (suspended or not).

When a guest calls PSCI system suspend the respective domain will be
suspended if the following conditions are met:
1) Given resume entry point is not invalid
2) Other (if any) VCPUs of the calling guest are hot-unplugged

If the conditions above are met the calling domain is labeled as
suspended and the calling VCPU is blocked. If nothing else wouldn't
be done the suspended domain would resume from the place where it
called PSCI system suspend. This is expected if processing of the PSCI
system suspend call fails. However, in the case of success the calling
guest should resume (continue execution after the wake-up) from the entry
point which is given as the first argument of the PSCI system suspend
call. In addition to the entry point, the guest expects to start within
the environment whose state matches the state after reset. This means
that the guest should find reset register values, MMU disabled, etc.
Thereby, the context of VCPU should be 'reset' (as if the system is
comming out of reset), the program counter should contain entry point,
which is 1st argument, and r0/x0 should contain context ID which is 2nd
argument of PSCI system suspend call. The context of VCPU is set
accordingly when the PSCI system suspend is processed, so that nothing
needs to be done on resume/wake-up path.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes in V3:
Dropped all domain flags and related code (which touched common functions like
vcpu_unblock), keeping only the necessary changes for Xen suspend/resume, i.e.
suspend/resume is now fully supported only for the hardware domain.
Proper support for domU suspend/resume will be added in a future patch.
This patch does not yet include VCPU context reset or domain context
restoration in VCPU.
---
 xen/arch/arm/Makefile                 |  1 +
 xen/arch/arm/include/asm/domain.h     |  3 ++
 xen/arch/arm/include/asm/perfc_defn.h |  1 +
 xen/arch/arm/include/asm/psci.h       |  2 +
 xen/arch/arm/include/asm/suspend.h    | 18 +++++++
 xen/arch/arm/suspend.c                | 67 +++++++++++++++++++++++++++
 xen/arch/arm/vpsci.c                  | 32 +++++++++++++
 7 files changed, 124 insertions(+)
 create mode 100644 xen/arch/arm/include/asm/suspend.h
 create mode 100644 xen/arch/arm/suspend.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 43ab5e8f25..70d4b5daf8 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -53,6 +53,7 @@ obj-y += smpboot.o
 obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
 obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
 obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
+obj-$(CONFIG_SYSTEM_SUSPEND) += suspend.o
 obj-y += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 50b6a4b009..8b1bdf3d74 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -233,6 +233,9 @@ struct arch_vcpu
     struct vtimer virt_timer;
     bool   vtimer_initialized;
 
+    register_t suspend_ep;
+    register_t suspend_cid;
+
     /*
      * The full P2M may require some cleaning (e.g when emulation
      * set/way). As the action can take a long time, it requires
diff --git a/xen/arch/arm/include/asm/perfc_defn.h b/xen/arch/arm/include/asm/perfc_defn.h
index 3ab0391175..5049563718 100644
--- a/xen/arch/arm/include/asm/perfc_defn.h
+++ b/xen/arch/arm/include/asm/perfc_defn.h
@@ -33,6 +33,7 @@ PERFCOUNTER(vpsci_system_reset,        "vpsci: system_reset")
 PERFCOUNTER(vpsci_cpu_suspend,         "vpsci: cpu_suspend")
 PERFCOUNTER(vpsci_cpu_affinity_info,   "vpsci: cpu_affinity_info")
 PERFCOUNTER(vpsci_features,            "vpsci: features")
+PERFCOUNTER(vpsci_system_suspend,      "vpsci: system_suspend")
 
 PERFCOUNTER(vcpu_kick,                 "vcpu: notify other vcpu")
 
diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psci.h
index 4780972621..48a93e6b79 100644
--- a/xen/arch/arm/include/asm/psci.h
+++ b/xen/arch/arm/include/asm/psci.h
@@ -47,10 +47,12 @@ void call_psci_system_reset(void);
 #define PSCI_0_2_FN32_SYSTEM_OFF          PSCI_0_2_FN32(8)
 #define PSCI_0_2_FN32_SYSTEM_RESET        PSCI_0_2_FN32(9)
 #define PSCI_1_0_FN32_PSCI_FEATURES       PSCI_0_2_FN32(10)
+#define PSCI_1_0_FN32_SYSTEM_SUSPEND      PSCI_0_2_FN32(14)
 
 #define PSCI_0_2_FN64_CPU_SUSPEND         PSCI_0_2_FN64(1)
 #define PSCI_0_2_FN64_CPU_ON              PSCI_0_2_FN64(3)
 #define PSCI_0_2_FN64_AFFINITY_INFO       PSCI_0_2_FN64(4)
+#define PSCI_1_0_FN64_SYSTEM_SUSPEND      PSCI_0_2_FN64(14)
 
 /* PSCI v0.2 affinity level state returned by AFFINITY_INFO */
 #define PSCI_0_2_AFFINITY_LEVEL_ON      0
diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
new file mode 100644
index 0000000000..745377dbcf
--- /dev/null
+++ b/xen/arch/arm/include/asm/suspend.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_ARM_SUSPEND_H__
+#define __ASM_ARM_SUSPEND_H__
+
+int32_t domain_suspend(register_t epoint, register_t cid);
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
new file mode 100644
index 0000000000..27fab8c999
--- /dev/null
+++ b/xen/arch/arm/suspend.c
@@ -0,0 +1,67 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/sched.h>
+#include <asm/cpufeature.h>
+#include <asm/event.h>
+#include <asm/psci.h>
+#include <asm/suspend.h>
+#include <asm/platform.h>
+#include <public/sched.h>
+
+static void vcpu_suspend_prepare(register_t epoint, register_t cid)
+{
+    struct vcpu *v = current;
+
+    v->arch.suspend_ep = epoint;
+    v->arch.suspend_cid = cid;
+}
+
+int32_t domain_suspend(register_t epoint, register_t cid)
+{
+    struct vcpu *v;
+    struct domain *d = current->domain;
+    bool is_thumb = epoint & 1;
+
+    dprintk(XENLOG_DEBUG,
+            "Dom%d suspend: epoint=0x%"PRIregister", cid=0x%"PRIregister"\n",
+            d->domain_id, epoint, cid);
+
+    /* THUMB set is not allowed with 64-bit domain */
+    if ( is_64bit_domain(d) && is_thumb )
+        return PSCI_INVALID_ADDRESS;
+
+    /* TODO: care about locking here */
+    /* Ensure that all CPUs other than the calling one are offline */
+    for_each_vcpu ( d, v )
+    {
+        if ( v != current && is_vcpu_online(v) )
+            return PSCI_DENIED;
+    }
+
+    /*
+     * Prepare the calling VCPU for suspend (save entry point into pc and
+     * context ID into r0/x0 as specified by PSCI SYSTEM_SUSPEND)
+     */
+    vcpu_suspend_prepare(epoint, cid);
+
+    /* Disable watchdogs of this domain */
+    watchdog_domain_suspend(d);
+
+    /*
+     * The calling domain is suspended by blocking its last running VCPU. If an
+     * event is pending the domain will resume right away (VCPU will not block,
+     * but when scheduled in it will resume from the given entry point).
+     */
+    vcpu_block_unless_event_pending(current);
+
+    return PSCI_SUCCESS;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
index d1615be8a6..96eef06c18 100644
--- a/xen/arch/arm/vpsci.c
+++ b/xen/arch/arm/vpsci.c
@@ -7,6 +7,7 @@
 #include <asm/vgic.h>
 #include <asm/vpsci.h>
 #include <asm/event.h>
+#include <asm/suspend.h>
 
 #include <public/sched.h>
 
@@ -197,6 +198,15 @@ static void do_psci_0_2_system_reset(void)
     domain_shutdown(d,SHUTDOWN_reboot);
 }
 
+static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
+{
+#ifdef CONFIG_SYSTEM_SUSPEND
+    return domain_suspend(epoint, cid);
+#else
+    return PSCI_NOT_SUPPORTED;
+#endif
+}
+
 static int32_t do_psci_1_0_features(uint32_t psci_func_id)
 {
     /* /!\ Ordered by function ID and not name */
@@ -214,6 +224,8 @@ static int32_t do_psci_1_0_features(uint32_t psci_func_id)
     case PSCI_0_2_FN32_SYSTEM_OFF:
     case PSCI_0_2_FN32_SYSTEM_RESET:
     case PSCI_1_0_FN32_PSCI_FEATURES:
+    case PSCI_1_0_FN32_SYSTEM_SUSPEND:
+    case PSCI_1_0_FN64_SYSTEM_SUSPEND:
     case ARM_SMCCC_VERSION_FID:
         return 0;
     default:
@@ -344,6 +356,26 @@ bool do_vpsci_0_2_call(struct cpu_user_regs *regs, uint32_t fid)
         return true;
     }
 
+    case PSCI_1_0_FN32_SYSTEM_SUSPEND:
+    case PSCI_1_0_FN64_SYSTEM_SUSPEND:
+    {
+        register_t epoint = PSCI_ARG(regs,1);
+        register_t cid = PSCI_ARG(regs,2);
+        register_t ret;
+
+        perfc_incr(vpsci_system_suspend);
+        /* Set the result to PSCI_SUCCESS if the call fails.
+         * Otherwise preserve the context_id in x0. For now
+         * we don't support the case where the system is suspended
+         * to a shallower level and PSCI_SUCCESS is returned to the
+         * caller.
+         */
+        ret = do_psci_1_0_system_suspend(epoint, cid);
+        if ( ret != PSCI_SUCCESS )
+            PSCI_SET_RESULT(regs, ret);
+        return true;
+    }
+
     default:
         return false;
     }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:34:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902065.1310018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpl9A-0005rR-1R; Wed, 05 Mar 2025 09:34:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902065.1310018; Wed, 05 Mar 2025 09:34: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 1tpl99-0005rE-Sp; Wed, 05 Mar 2025 09:34:35 +0000
Received: by outflank-mailman (input) for mailman id 902065;
 Wed, 05 Mar 2025 09:34: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknY-0006ew-AT
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:16 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed12a1a3-f9a1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:12:13 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5495078cd59so5447662e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:13 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed12a1a3-f9a1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165933; x=1741770733; 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=l2TmN1BzAMOulOXirn8ZPb+RBDTzjlvF9BdHXNBPEhs=;
        b=Bw0Bbwab6Nn7l8N5/AbxGThhI/5BSttUFcUvamw6o4PnBw372zJl5q/Ftm8hJn+YkI
         qlNATeOw1iPmJUr0WSW6pf/7qmErGR6biBe/Hfi4pEdpPYiEf5CnANzqnplqlreu0J0x
         i+TnqxPIBM1q0wjSz4jVJ7tr8u5YmNeAXyqhlmkmkLArI2P5Oy0hPlhvNx5pw0bQIxtd
         jqNUSSsCTNzNSuaigon3wasGvoxnFaZISzvu+Z9sxD5e2G45JdYKhVzI4iXkMR413VLC
         sP7gBkAm0sDgE6JJgPALS/V41yzs8wSIcKC5pAJX+FpubSi8wtnLOBk6frgF/GJyrqYZ
         NIew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165933; x=1741770733;
        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=l2TmN1BzAMOulOXirn8ZPb+RBDTzjlvF9BdHXNBPEhs=;
        b=pM9lRNWYwiTjUEvQRMwcNeH+4KEsAFLLn8LfXp/rfPBRHZF+LYxaPwFGhooEbTWrnX
         tZf491sDelIDyVmyTZdeak5s+yihECIp1Ev1kb836Y5vMuIcUEsYBW82aLWgwil0kjFN
         Os41wtvafxQLKne9G43w5wO2NVSzmgPDvRNnDKawDkerbr9pykmOEKx1DC3gbpDzYE8Z
         rajgXddkER8N5pFz3hWaEyB2mF+f69VDcghf4ry8mKHc/okWOJuYfdat/Hm+b9fTXMiY
         WQiAsXRwO2FINIQjYglX+k8gQ4iQDsyD9Zo9xNVnneBRo2cySz9BWSukiBfAI0NTl2CA
         2f8w==
X-Gm-Message-State: AOJu0Yz33CXb2SDeUbcgN6Zw5n8zI0qlNyLyhog9ihw1SNsoc3ZjDN6l
	Ht1MBj8ODoBkaB7sXk8SA+0A60TOOFemussuOXLgUWGG6PQm+V/6E7BAJTFR
X-Gm-Gg: ASbGncseUd71bNplJrfQnHYaVvrVh9PXYZyCeDDn5sZGIV5lvU3ltsa+chaW+cWSuJy
	cElU55U11K2/EWAVFbLtY641IM+WM7Jz/DVGU5R8r25/10ziocS3doffNC1zPazyX8ngspI3JQ0
	hBH76d88mH4sPgtAOjBu+qlmNvSmmCKSzUpmmL95t0kxMqRQ1c89INOXd3/bjED5N9cnxGLSs+i
	+r3usU1YF/bSpWBIb+xNtmQ6S6V76/fmbJ6FSIO22FxwkRnHW3fZbFL402voW+TLzRnO+dwfTCu
	H3SoJbTA6VVpA9Qg1TkpiLqeICTr0mH/NREJXRBQ9TgrIlGAMQ==
X-Google-Smtp-Source: AGHT+IEawaJ5thoARcmiuSdGY6fIkdNnAu5jE7n/R2L8GjsZ4boHnU4722Pq87bdX6owRtzPi9cjgA==
X-Received: by 2002:a05:6512:3d90:b0:545:576:cbca with SMTP id 2adb3069b0e04-5497d3305b7mr807982e87.8.1741165932532;
        Wed, 05 Mar 2025 01:12:12 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 14/16] xen/arm: Resume memory management on Xen resume
Date: Wed,  5 Mar 2025 11:11:22 +0200
Message-ID: <2ef15cb605f987eb087c5496d123c47c01cc0ae7.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

The MMU needs to be enabled in the resume flow before the context
can be restored (we need to be able to access the context data by
virtual address in order to restore it). The configuration of system
registers prior to branching to the routine that sets up the page
tables is copied from xen/arch/arm/arm64/head.S.
After the MMU is enabled, the content of TTBR0_EL2 is changed to
point to init_ttbr (page tables used at runtime).

At boot the init_ttbr variable is updated when a secondary CPU is
hotplugged. In the scenario where there is only one physical CPU in
the system, the init_ttbr would not be initialized for the use in
resume flow. To get the variable initialized in all scenarios in this
patch we add that the boot CPU updates init_ttbr after it sets the
page tables for runtime.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes in V3:
- updated commit message
- instead of using create_page_tables, enable_mmu, and mmu_init_secondary_cpu,
  the existing function enable_secondary_cpu_mm is now used
- prepare_secondary_mm (previously init_secondary_pagetables in the previous
  patch series) is now called at the end of start_xen instead of
  setup_pagetables. Calling it in the previous location caused a crash
- add early printk init during resume

Changes in V2:
- moved hyp_resume to head.S to place it near the rest of the start code
- simplified the code in hyp_resume by using existing functions such as
  check_cpu_mode, cpu_init, create_page_tables, and enable_mmu
---
 xen/arch/arm/arm64/head.S | 23 +++++++++++++++++++++++
 xen/arch/arm/setup.c      |  8 ++++++++
 2 files changed, 31 insertions(+)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 3522c497c5..fab2812e54 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -564,6 +564,29 @@ END(efi_xen_start)
 #ifdef CONFIG_SYSTEM_SUSPEND
 
 FUNC(hyp_resume)
+        msr   DAIFSet, 0xf           /* Disable all interrupts */
+
+        tlbi  alle2
+        dsb   sy                     /* Ensure completion of TLB flush */
+        isb
+
+        ldr   x0, =start
+        adr   x19, start             /* x19 := paddr (start) */
+        sub   x20, x19, x0           /* x20 := phys-offset */
+
+        /* Initialize the UART if earlyprintk has been enabled. */
+#ifdef CONFIG_EARLY_PRINTK
+        bl    init_uart
+#endif
+        PRINT_ID("- Xen resuming -\r\n")
+
+        bl    check_cpu_mode
+        bl    cpu_init
+
+        ldr   lr, =mmu_resumed
+        b     enable_secondary_cpu_mm
+
+mmu_resumed:
         b .
 END(hyp_resume)
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index ffcae900d7..3a89ac436b 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -508,6 +508,14 @@ void asmlinkage __init start_xen(unsigned long fdt_paddr)
     for_each_domain( d )
         domain_unpause_by_systemcontroller(d);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+    /*
+     * It is called to initialize init_ttbr.
+     * Without this call, Xen gets stuck after resuming.
+     */
+    prepare_secondary_mm(0);
+#endif
+
     /* Switch on to the dynamically allocated stack for the idle vcpu
      * since the static one we're running on is about to be freed. */
     memcpy(idle_vcpu[0]->arch.cpu_info, get_cpu_info(),
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:35:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:35:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902085.1310026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tplAU-0006as-8j; Wed, 05 Mar 2025 09:35:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902085.1310026; Wed, 05 Mar 2025 09:35: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 1tplAU-0006aM-6F; Wed, 05 Mar 2025 09:35:58 +0000
Received: by outflank-mailman (input) for mailman id 902085;
 Wed, 05 Mar 2025 09:35: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpknV-0006ev-T5
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:12:13 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec4b6969-f9a1-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:12:12 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-549644ae382so3791337e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:12:12 -0800 (PST)
Received: from EPUAKYIW02F7.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5495de028fasm1078264e87.139.2025.03.05.01.12.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 01:12:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec4b6969-f9a1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741165931; x=1741770731; 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=OXLlKW5nv40S06WQPFz6hgkP1NsQEMxuauOitke4PHE=;
        b=P3ER3n5Xori1TIRyYOY0eHzg3z5ah1DNS+Kg+6zvqc4CJTsgh1vyKOP+tibBAOyA3K
         lTZKM5q38/iSGOyUqLStl8YA+SHxCC1lujzG0OKbgbAU5iMo6rvYUCJ6nKeBOcC/Zacw
         RRsFFp6ZXF1LdR2yiW+B3Z9BpbsEIA3HflVaTvWy3gmmhuvkttxLGum66n2d93rC/UNL
         jAJmHbM2DpCYazOClxpUkati/ShIC4v8bDBA11VOqpnRg39upSuf9nJWPFpi5YL+tZ1F
         N4tKgWAP0CaU/Q2J2TUU0+Djpmmq0myd1oYDeowLaYTeO5tpgb32HFgpmA2qzFRNEoK2
         XWXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741165931; x=1741770731;
        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=OXLlKW5nv40S06WQPFz6hgkP1NsQEMxuauOitke4PHE=;
        b=KrkI5463sRgdiAIobGRhuavnRgbtkm/oOXw6vDZx02VjZmEZKwCYct2rR4ZChU8svS
         si9cIP5uEvci3RPiBAbt2S7nHjOSZ6VplEfWUuO3oD7CiEmJ73oZvtMAUIyBUtpnM/zw
         0hDsI2cbhmKD6xR5HD5bsWLOb2H3tzzP1BpOJMTdDUrjE8spagFH19yxlZLXDsdASflR
         AbpZWOuzaUmKPc+9oQ3HyS2gG1JQ9ZkAoh+GZDkqe5zFotseNHJy8U0UcofgFS76ymGP
         Gb4dGbTjQQ4XcOCKZb385dQDhStiOVSr5VKiQBMX2ceB8D5d2qSEflqQhHngFhEbfl05
         Pyyg==
X-Gm-Message-State: AOJu0YyTtunychFjgry0/PzXxVFH49hPtnT9FgJAIk7UDvg8ZeJtK2bW
	IR7xh8/m/++5sI4tTUTFwX568G4KfcA+QfyLPaUGh1LYB2HwWTAwLWusbGMT
X-Gm-Gg: ASbGncsz2LrjBSqOBQWDo/c+1sqomjrUkBCwsdcaIio+iIOUuN95hKEBtOgikAUx5h5
	RiOQMESnbyncqyTMRVql1KW/lk170ox+DS3rlCjGiZ9KdTag+XLvq3csuBXK9z2/Mls6Kd1LdX7
	HxU8GCwlPGAlJSj0OccdcHDQgVjKWtah3UMBVjVdJZfX+Hpc0ZYRki6+Uvi4EFINNnY6kRx8oFk
	1c+hdOwHpwyQaOeN6mKCcAdfgson7aDbpl5YYLMwA5VLLs6xnJz+Jh8T2g7IMfHyjBZaSwcjIyU
	Zvpf6D1+n27tj5/UkIYaNhK2kNMIA1A+qBLjCCr05n6OOPXgoQ==
X-Google-Smtp-Source: AGHT+IED2pTmgmlwYHsZ5O+krX5IHb1uPznDzqX7LlpSapMlugzkbIuCnCD0SHcp4PftUEdRub8uag==
X-Received: by 2002:a05:6512:3d0e:b0:549:6759:3979 with SMTP id 2adb3069b0e04-5497d336a8dmr887121e87.18.1741165931284;
        Wed, 05 Mar 2025 01:12:11 -0800 (PST)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH 13/16] xen/arm: Implement PSCI SYSTEM_SUSPEND call (physical interface)
Date: Wed,  5 Mar 2025 11:11:21 +0200
Message-ID: <bb700ffbe133a8485320d6845d058ffc72a2f3d6.1741164138.git.xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mirela Simonovic <mirela.simonovic@aggios.com>

PSCI system suspend function shall be invoked to finalize Xen suspend
procedure. Resume entry point, which needs to be passed via 1st argument
of PSCI system suspend call to the EL3, is hyp_resume. For now, hyp_resume
is just a placeholder that will be implemented in assembly. Context ID,
which is 2nd argument of system suspend PSCI call, is unused, as in Linux.

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes introduced in v3:
- return PSCI_NOT_SUPPORTED instead of 1 for arm32
- add checking of PSCI version for psci suspend call
---
 xen/arch/arm/arm64/head.S          |  8 ++++++++
 xen/arch/arm/include/asm/psci.h    |  1 +
 xen/arch/arm/include/asm/suspend.h |  1 +
 xen/arch/arm/psci.c                | 19 +++++++++++++++++++
 xen/arch/arm/suspend.c             |  4 ++++
 5 files changed, 33 insertions(+)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 72c7b24498..3522c497c5 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -561,6 +561,14 @@ END(efi_xen_start)
 
 #endif /* CONFIG_ARM_EFI */
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+FUNC(hyp_resume)
+        b .
+END(hyp_resume)
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 /*
  * Local variables:
  * mode: ASM
diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psci.h
index 48a93e6b79..15eb2c6013 100644
--- a/xen/arch/arm/include/asm/psci.h
+++ b/xen/arch/arm/include/asm/psci.h
@@ -20,6 +20,7 @@ extern uint32_t psci_ver;
 
 int psci_init(void);
 int call_psci_cpu_on(int cpu);
+int call_psci_system_suspend(void);
 void call_psci_cpu_off(void);
 void call_psci_system_off(void);
 void call_psci_system_reset(void);
diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
index 745377dbcf..0d2f0da0ad 100644
--- a/xen/arch/arm/include/asm/suspend.h
+++ b/xen/arch/arm/include/asm/suspend.h
@@ -4,6 +4,7 @@
 #define __ASM_ARM_SUSPEND_H__
 
 int32_t domain_suspend(register_t epoint, register_t cid);
+void hyp_resume(void);
 
 #endif
 
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index b6860a7760..8e9c571467 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -17,6 +17,7 @@
 #include <asm/cpufeature.h>
 #include <asm/psci.h>
 #include <asm/acpi.h>
+#include <asm/suspend.h>
 
 /*
  * While a 64-bit OS can make calls with SMC32 calling conventions, for
@@ -60,6 +61,24 @@ void call_psci_cpu_off(void)
     }
 }
 
+int call_psci_system_suspend(void)
+{
+#ifdef CONFIG_SYSTEM_SUSPEND
+    struct arm_smccc_res res;
+
+    if ( psci_ver < PSCI_VERSION(1, 0) )
+        return PSCI_NOT_SUPPORTED;
+
+    /* 2nd argument (context ID) is not used */
+    arm_smccc_smc(PSCI_1_0_FN64_SYSTEM_SUSPEND, __pa(hyp_resume), &res);
+
+    return PSCI_RET(res);
+#else
+    /* not supported */
+    return PSCI_NOT_SUPPORTED;
+#endif
+}
+
 void call_psci_system_off(void)
 {
     if ( psci_ver > PSCI_VERSION(0, 1) )
diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
index fa81be5a4f..ac88faee2e 100644
--- a/xen/arch/arm/suspend.c
+++ b/xen/arch/arm/suspend.c
@@ -170,6 +170,10 @@ static long system_suspend(void *data)
      */
     update_boot_mapping(true);
 
+    status = call_psci_system_suspend();
+    if ( status )
+        dprintk(XENLOG_ERR, "PSCI system suspend failed, err=%d\n", status);
+
     system_state = SYS_STATE_resume;
     update_boot_mapping(false);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:37:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902097.1310037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tplBi-0007MV-Px; Wed, 05 Mar 2025 09:37:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902097.1310037; Wed, 05 Mar 2025 09: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 1tplBi-0007MO-Lc; Wed, 05 Mar 2025 09:37:14 +0000
Received: by outflank-mailman (input) for mailman id 902097;
 Wed, 05 Mar 2025 09: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=CLvA=VY=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tplBh-0007MI-Gn
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:37:13 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20625.outbound.protection.outlook.com
 [2a01:111:f403:2413::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6946e7ca-f9a5-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:37:11 +0100 (CET)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CH2PR12MB4311.namprd12.prod.outlook.com (2603:10b6:610:a8::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Wed, 5 Mar
 2025 09:37:08 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8511.015; Wed, 5 Mar 2025
 09:37: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: 6946e7ca-f9a5-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qaIgOI5yP2s7mKBnYeDOimgMVIUt3BibZCwadu+fMiD+PIIjmv3ANn/Xl6MUAC4PyVN8D6ZHTwSY9BalC+J7/rzotljd+1pqAdLpmaKwTvHURl+MwB0fNergl8w8xm2HG2axMCEYwdSuqMjMOz8VTB0gM3NGSBwUhDIvInkAXsdNgil42j4SXC/ZaKLqPALQTjD6B6jL9o4Zbmy22vTOzAtCtVEGHeEpBfZB1PMufW9SghQCytWu4oTgzoYLgGz4X6NB/kE131NxFWXnCxWF1jSUVCgryfvKBkV9vHzv36AIa1ceyK64islkELoPcU+rDIOEyxjhLlS7tvgophiSVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xTub73MzIdYx0mkaTkETVVWEUbyCzXiHGfG7tIIk61s=;
 b=RNiLpH2BLtoLzOqwrvaEPTGgZ+Gz4s+04W+Z9XA26li/1zwilE5gA7uNvk9DiktMbt80r7yrIEgZfE9XuFQe5lwCoreuppuByctwTaX/aDNrz+UynQSbfP7HFdmNs7CYOzBj1SGY3Zxsybv9txg0uczvjc0t6jbDzw9GM6l9FPaSmkC95qRLfG3fVAdNb4U0tmr5Rk7eQqkOZojxSIiVPamBaB7z1zNrx4lfKiWJHMy8CSb4BYMpZRHHRF8uyImPgMU5oZwVl7E3jRR3iJdYfOLM+Kilf55CZhyCqATyV9DUq1Uw0TpKIhr7UBCo0B+Ay+kcf843TowVNSbZsw8G3g==
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=xTub73MzIdYx0mkaTkETVVWEUbyCzXiHGfG7tIIk61s=;
 b=aEul47oQz1PUu5xcQWwQgDvdcIfa1OyUh+kTG9rPTHFK2ZOvHbM8Z41RT7NK8Icr3F8PzqeNuZpwnUuQM6V2rS75LoW275k8wcdoWBgrEm4rvKqVXYnp7F6ALzJA+5KM+ydARUt7sPYHt8Ce4fip8BZi1cZ1UflGGJAOE82zRxY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <2904f052-c35c-4fa6-9f1f-917acb72f1ac@amd.com>
Date: Wed, 5 Mar 2025 09:37:02 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm: mpu: Move some of the definitions to
 common file
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>
References: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
 <20250304175708.2434519-2-ayan.kumar.halder@amd.com>
 <860cfb26-37f6-4007-a66e-5f9075efe87e@amd.com>
Content-Language: en-GB
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <860cfb26-37f6-4007-a66e-5f9075efe87e@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS4P192CA0024.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:20b:5e1::16) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CH2PR12MB4311:EE_
X-MS-Office365-Filtering-Correlation-Id: f9b55025-d0a5-4c61-7d11-08dd5bc94bf0
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?aWkySTdKdHljVGhDN1Vsb1hYakJCWDFFbXJDSEFNUUtUemE2bGVXZGVqU0ZX?=
 =?utf-8?B?cWFFMkNyUzhKbTJnK2gwaHBoSkQ5WDR6Y3MrNXg4azdqeGlrSkdlSlJjNDdL?=
 =?utf-8?B?RHB0bGU2ZFJjNjNvaDhwcGI2ZlZVK2pWY1dUYWh2V1ZCd2ZZUDhZWVJQK3dr?=
 =?utf-8?B?WUVpc0ViaXFUbkozcGtNRTZ2dUlLcFVyK0U0d0lQNFJuc2FoVGtYcU9NczQx?=
 =?utf-8?B?enh4aDVrQjFwNDhQMXY3U3QwZVVXVEhTZ2xiSGZQb1Rsb01QOWhLblFrd05j?=
 =?utf-8?B?dGFGWmtndGhjdytraGR5cGp4dDQ2dzNDMEg2bWRMdGVLcnJxYlJzT1hWd043?=
 =?utf-8?B?Nklib3FEcVp2UDJNNmk5US9VNERKNEJpWWFMd2FpUmp3cys2czZWWUtFTGZs?=
 =?utf-8?B?UDRoUExpK2p1Z2g5UHkrYndmbnRJbmRhYWgzbjJDT0p1YmVjcEo4V2wzUHR2?=
 =?utf-8?B?TCttdnllM29ZbHhKb2VqV3paUDF3Z2NSVmhXSVl6amc1SHcxdXZhcWQ2aVQ5?=
 =?utf-8?B?cWFVVGdleENEYjRyN3lhSk94WUtPT25vaDk1M095cDNlMktEWGNoS3Y2eGRP?=
 =?utf-8?B?QjdoSzBrd3lMNWR0TGJBNUIyUE10VGptdHdITU9UMXQ5cnVLbWZza0VNamVh?=
 =?utf-8?B?N3pMdlVOK2VlT0toL1UvenVzaWRHNEFmejJjcDNXOFlDd0RZTytiTUhKY0dC?=
 =?utf-8?B?dy95VG1RakVvSmVyRG1DblhiTVRtQnFEdDZvSlU5YjBZT1h3L2xMYmVuNS94?=
 =?utf-8?B?eHJSMyt6QnRod1c0ZDEzMDQ3WGVDbXlSRXZwRnFXM0pNZnRyVUovbWwwR3dT?=
 =?utf-8?B?YU1VeDJOOVorVGN3dDB1Q1J1MW5SdmVpNndmNWI1YlVxS1VPeTl1YXJnSVgv?=
 =?utf-8?B?bUsyWXJsL1JtUHp2TFFwNGEwN2RZUWtmWkt1dlpWalJPRThPMXhnZmxEcExn?=
 =?utf-8?B?eUpseWhIM2NJVm1pbjM5RnVxN0l1cDVQalh6L1k1dG1uOW9QVC9OQzM4c0FM?=
 =?utf-8?B?RDVoSVh3THVNVUVmS20rUysxa2FNUXpGVUh6aUJzV1V6VDByUWNDZWE0TTBa?=
 =?utf-8?B?K0FkT29VcFRLRkVWcldibGJKMWlxS2dFbUdkeE94Kzdrd3BLcHZ2K20zOVhD?=
 =?utf-8?B?WEtJNVNCajZ0RElWRGJqVDNMM3dxaE5uN3B3NGxoSC9sWFZXd1VGbE5QcTFt?=
 =?utf-8?B?bTMrMXVoNGZRWE5mMWR0RXQzQzArcnJFMGQvTDBETlRHWUJsVzlNYjJ4b3lE?=
 =?utf-8?B?TTRMTVY4K0hiZzdleTZXK1RtODNpbUY0SFhneHhtRlhEVDM3b1ZyQXl5NW8v?=
 =?utf-8?B?ZDNTUlVUYldKOXJmVjlOaEJzcDlPREYxbHpSQmRtMXRDQUVqSWRWSFVYTnhF?=
 =?utf-8?B?d3hNbndkS0RmNTN0SExZbW5BQm1RTjBJa2phZ1M2cERadlRoMTgrSUpsZWhM?=
 =?utf-8?B?cy9SMGhGcm5uM1pjam9jNzJWTXp2L1pwaVVVeG9LbEZYb285SWtkVnVHSTJr?=
 =?utf-8?B?ZmZmK3JXTDBOQitXckZlL2hkZmJJbkl3TEV4aEtCOElpaUtUanhPRktrTERM?=
 =?utf-8?B?c2dDTkZxMXJCQVBrcXF0R0NNUFE2cVlPeXVYdlkvTFI4TTJ2MExHQkF0blY3?=
 =?utf-8?B?R3Z0WUluRS8vOUlhUkNsSUo5cHZERnJwV2orOEcrVFU3cWphQWNoTDBkajFL?=
 =?utf-8?B?RHRibVVuRjZha1haY01FdTNSWWNaZnA4aFdlakYydWFXVDRMaXZtT3ltQUlH?=
 =?utf-8?B?aDNXKy9EWlNWQzZPWlM4YlpYWWlVbld2L2hUN3NLY1pMck4rTmg1enhrejZn?=
 =?utf-8?B?YjZLa29YRkpscFBOV09GRHVxSlQ1YUY4cFJBNG5hNmJocVgvcGc2VmlVdmx0?=
 =?utf-8?Q?32+N3EDiXtbhX?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?aElyNnZMb3ByYlZ1RjBneXRaamFyMGhwcmNvN3hRcXpCVnVEQTR5TDhMdzhl?=
 =?utf-8?B?ZTVFSC92bnpVUWliQWlXU3BIbDdWYkZma2d6TjB3bkgyMURDUUJJN2tPY3VP?=
 =?utf-8?B?eFpyaENRZElWQnFRWW5mK1JZMnZTa0VpUnliRVg3bFpCaVVuM1FQbzRsMnNo?=
 =?utf-8?B?UjVkVlZQR3JXcUI1em1ZaW9LNDZSUHpjWlg2M21YQWNVRHAyMTNsbkNvcTZu?=
 =?utf-8?B?WlJqNTY0dm42Rkxrcjh3a1g0bHBwV3pBNG9RaXo4MDlMZjh3UzdTZ3BnVEdT?=
 =?utf-8?B?a0hRYXNkdlU2OGlhOUVQRFdPQjJFS1dTYUY4dzA2bDdSWmpFbkQ4L2J0TVMv?=
 =?utf-8?B?NTJTUVExNVEzZ0ZaakEwVnZDTmU1UzQ5Znl3cW05VDJUaithYjdUNzBuRG1W?=
 =?utf-8?B?MkY4K3lXQW1pYmdDMjhvcmVxREdOcER1dFYyWktkSlozTjlmalc4SUxkTkI4?=
 =?utf-8?B?V0tlTFFWUEtpSzJjdTMzMldDYzRRK212Q1lmZ1dGOGttY2ZDNXlFTVM5OGlx?=
 =?utf-8?B?UldKVDUwUVJCWVdGR0NSNFFIQXhNM1JMRzUyWDlpam5hTk1Wbmp3NkE5RDJw?=
 =?utf-8?B?MEx1elZGK0dzV0s5VC8xRVNKZkt1STJBUHUwSmdNdDhybGpPZ2xrRUp4RnpG?=
 =?utf-8?B?TS84eDdwYXNJQjNPTUZGQkV6ekFRL2I1Ymh6TTFHRFpISGlnYUx1cEhWeUxx?=
 =?utf-8?B?RmlNRHRiYlBYRXhIKytWdWdlWkpUS0JnQlB4YUJZK3poNHF0VFFDMnpYRmd5?=
 =?utf-8?B?RXlBak5TdFA1WHh5TDA5dWVuaU1CVkI1NXZmM1lBMko3ZG5ONHlOK2NFWU5z?=
 =?utf-8?B?cE5XWkFZb1ZRbTM4YWVGMFBhQjFvTHZYYTZmU2Roc1FicytXMW0zUXJOd3pI?=
 =?utf-8?B?Vm5HeHJ0K2llTTJyMkw2SHhQaVJFT3U5OWdjcm5QbVA3R2JPN3Z3UDc5elV1?=
 =?utf-8?B?V0ZvTWVmQkRvTUhLRnpxd1N6aU9hZWNxNXFmczNXd1lMTUkyWWFhWW5aUC9E?=
 =?utf-8?B?b0x2MTFMbEdZei9pckdLNzRGbXo2TkU0ZFMvNEw3UWY0cE00VzJjSXJsWTdC?=
 =?utf-8?B?dDRuODFvcitENDM3SDEzTEUxZE9VNUMwVElyYmVTVW14eDVoUVVyUWxOemt4?=
 =?utf-8?B?bDUvYlo5SnJFeE5SV2JMdkkzUmVFNWx0clErR2NkWnpYcXJPdlNpbm8yT2s0?=
 =?utf-8?B?QXlqaFJVdXpTdk9CUTBBV09mWStHcXpsQmxTcHFJd1pQOVRuRzlnRm5HcGUr?=
 =?utf-8?B?ejRyeWxMVlNtaTJ3VjRiQjJTOWpuT1dQWlFrVzVFSEN6RDR3eFk1QVNOSDcv?=
 =?utf-8?B?aEtzZ1BqTFBlMXpsNkdkbDN2M3Z5d0NPN1VwM01QMVl6U3ZabXVHTGVHbEF3?=
 =?utf-8?B?cG9Sdkc0YmluVHRwQllaYzRYQ2VybCtZeE1lcmlhVGk0QnZGSEl6elF2VXFB?=
 =?utf-8?B?eU4yRUV3aG0wT29vbENXUXI5RFovQnBzWE1ieEdpMHdueXdabFBuQ0FTWkpS?=
 =?utf-8?B?ZC9hWERyUGcwVTBrQkxjRnpzSjUwVnBMbUhyOG9JWi8zclMwY1l6MGdLWGN5?=
 =?utf-8?B?SDUzZmxlYVNjWnZaemc3WG5YaXJPR3dISWlROW80dkROeHZNY05oa1F2aVBN?=
 =?utf-8?B?WS9Nam81SkVselJYNVd1MmdDUXBiNmw5UTZoVXJ2cTg5Z0cxK0xLT3V5czhk?=
 =?utf-8?B?OXVhb04yUitObTRzTzh2bXdMcU9Qc1NudmQ4dXN2QzBIRlVlVzIxVU90TERP?=
 =?utf-8?B?VGp5VkVBTlVYTlltRkh1MmllaU93TVN0OXlkL29mVDdqRHR3a05FMitkQzkw?=
 =?utf-8?B?dDF6ZVBCcytGd1dYb1ljRFA3NkRYU0QyYnRvUFlUbjZLQ0F4bllGMVdGMjk1?=
 =?utf-8?B?bXRXdTduTU1OcXFJbGQ3TEhYRVh0dUF1Q0dzVGZMdWt1T2k0alpnOFJvaEJl?=
 =?utf-8?B?eUNmQ244VHEybHZNVk9vUWxwQlowRW8rc0pxWFB1UDRiQWRaOFJPMVhMcVBV?=
 =?utf-8?B?VTJ5bll5UGt0SE1nY2Q3eTZzZGx2VkFvMGdrV0xNRUlKSXhLK0RZZGE1Y2pZ?=
 =?utf-8?B?K29RRGRSQ2FkQTdPT2FudithcDR5VDZoVXBCS1o1THBXaTNZMERWUHF5VVVT?=
 =?utf-8?Q?snhe1eV6lhMCqT+YwqKh34O66?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9b55025-d0a5-4c61-7d11-08dd5bc94bf0
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 09:37:08.0418
 (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: 9sjRGfpqZRU/q6jbAu6A1alyXNao0oG3eWy1341HjYCkQKcTs/Ypl7fn6h1aybr7fIMnoKHVMTWG22IOR5IpgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4311

Hi Michal

On 05/03/2025 07:28, Orzel, Michal wrote:
>
> On 04/03/2025 18:57, Ayan Kumar Halder wrote:
>> For AArch32, refer to ARM DDI 0568A.c ID110520.
>> MPU_REGION_SHIFT is same between AArch32 and AArch64 (HPRBAR).
>> Also, NUM_MPU_REGIONS_SHIFT is same between AArch32 and AArch64
>> (HMPUIR).
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>> Changes from
>>
>> v1 - 1. Add the R-b.
>>
>>   xen/arch/arm/arm64/mpu/head.S              | 2 +-
>>   xen/arch/arm/include/asm/early_printk.h    | 2 +-
>>   xen/arch/arm/include/asm/{arm64 => }/mpu.h | 6 +++---
>>   3 files changed, 5 insertions(+), 5 deletions(-)
>>   rename xen/arch/arm/include/asm/{arm64 => }/mpu.h (87%)
>>
>> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
>> index e4f2021f45..7b659aa42b 100644
>> --- a/xen/arch/arm/arm64/mpu/head.S
>> +++ b/xen/arch/arm/arm64/mpu/head.S
>> @@ -3,7 +3,7 @@
>>    * Start-of-day code for an Armv8-R MPU system.
>>    */
>>   
>> -#include <asm/arm64/mpu.h>
>> +#include <asm/mpu.h>
>>   #include <asm/early_printk.h>
> These should be sorted alphabetically
>
>>   
>>   /* Backgroud region enable/disable */
>> diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
>> index 219705a8b6..644fd0fcfb 100644
>> --- a/xen/arch/arm/include/asm/early_printk.h
>> +++ b/xen/arch/arm/include/asm/early_printk.h
>> @@ -11,7 +11,7 @@
>>   #define __ARM_EARLY_PRINTK_H__
>>   
>>   #include <xen/page-size.h>
>> -#include <asm/arm64/mpu.h>
>> +#include <asm/mpu.h>
>>   #include <asm/fixmap.h>
> These should be sorted alphabetically
This and ..
>
>>   
>>   #ifdef CONFIG_EARLY_PRINTK
>> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/mpu.h
>> similarity index 87%
>> rename from xen/arch/arm/include/asm/arm64/mpu.h
>> rename to xen/arch/arm/include/asm/mpu.h
>> index f8a029f1a1..40fa6eaaca 100644
>> --- a/xen/arch/arm/include/asm/arm64/mpu.h
>> +++ b/xen/arch/arm/include/asm/mpu.h
>> @@ -3,8 +3,8 @@
>>    * mpu.h: Arm Memory Protection Unit definitions.
>>    */
>>   
>> -#ifndef __ARM64_MPU_H__
>> -#define __ARM64_MPU_H__
>> +#ifndef __ARM_MPU_H__
>> +#define __ARM_MPU_H__
>>   
>>   #define MPU_REGION_SHIFT  6
>>   #define MPU_REGION_ALIGN  (_AC(1, UL) << MPU_REGION_SHIFT)
>> @@ -13,7 +13,7 @@
>>   #define NUM_MPU_REGIONS_SHIFT   8
>>   #define NUM_MPU_REGIONS         (_AC(1, UL) << NUM_MPU_REGIONS_SHIFT)
>>   #define NUM_MPU_REGIONS_MASK    (NUM_MPU_REGIONS - 1)
>> -#endif /* __ARM64_MPU_H__ */
>> +#endif /* __ARM_MPU_H__ */
> Would you mind adding extra line between last definition and #endif?

this, can you fix them on commit, please ? Or do you want me to send a v3.

I am fine either way.

>
> With that:
> Acked-by: Michal Orzel <michal.orzel@amd.com>
- Ayan
>
> ~Michal
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:37:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:37:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902099.1310046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tplBp-0007cx-W1; Wed, 05 Mar 2025 09:37:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902099.1310046; Wed, 05 Mar 2025 09: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 1tplBp-0007cq-TO; Wed, 05 Mar 2025 09:37:21 +0000
Received: by outflank-mailman (input) for mailman id 902099;
 Wed, 05 Mar 2025 09:37: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tplBo-0007MI-ID
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:37:20 +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 6ee67f54-f9a5-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:37:19 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-390df0138beso3426695f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:37:19 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b7cf2sm20818413f8f.59.2025.03.05.01.37.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:37:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ee67f54-f9a5-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741167439; x=1741772239; 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=QJA+5fpHjinsjWQQKWUS7YW4inJ4fNIQc4sTTDAivkk=;
        b=N4Wl6z6fGLqGwuyUrPORUyqXkQ7yeUsIZd3no081OeWZ16X01/gjFw3CZC62pDp3Gs
         jTTgkGN+Mkl9FcszythILxPyd2VLY4kxAaqo1CP6uuEOkeWLin1vJWaWFQFMZXfJZyWx
         QfLNtvUD4r29jawoKzGWfS0AJYZb+WU+PjzdKxI7avxDpmgHrE8ErRkr5gJQntgkV5zg
         F+Y5+sOsLOSPhuu532+kqDetPumLJAVK2gMndjrZIUeWnkS96+XPpT3hmHbWumgNNtZR
         NnUsRftZFURyQqijmQt2xbJNjHX879SoxNQslfK1ycIUbqAdRlJ9tTPA2xhmpwqHA1xV
         WBJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741167439; x=1741772239;
        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=QJA+5fpHjinsjWQQKWUS7YW4inJ4fNIQc4sTTDAivkk=;
        b=UfvbyFhDUciHeiXm/iOgb5eY4BGhPsBZTZKWRhK1HBSnT3rU4niE+hQaPtM+ln7SSa
         K/9Azz4pQss83DDQ0XiDEHN2R1OO2iEXb+trNRJdXj2l1AuRp9MB87RHuqVt59zvl8Vj
         ZWKjJpHAus+4TzXS5A7+cZwZntPSMn14eK57SoM2UajHYZwEavPnu4y0lcXBsf1/UUYs
         hQGuMMbsNDB0VC+vKQprCtodvS8DpBpRVpQpfd0Jlul1ydIlho9nvWx8KnpKFNZPJEOV
         3afeqTkjR59aW+uEvlSzsbCA9H4oapyPfMmreRbd7yTGc14FIScosGn81V5ZjwawmtIZ
         n2Sw==
X-Forwarded-Encrypted: i=1; AJvYcCXYH4vas9X2uNJBzzSqnwXLcl2/0ystomEN0uxiR2ojzQFG9TU1FiO3ocLpaamSfuSGmLqoJ9SV2p8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYDJIT4FPVf4zjagCCm4h9NhkmTQWq7yZy+HyRbym+pjamO+2O
	L3L6iyCAtShRTBBh/AzYahUdCb+Z831wHJpAN3WydU6+aZw4YTMY39A6bspNwQ==
X-Gm-Gg: ASbGncthPjXNV0DmE7IaLIIg47wtfxE86LjTXAT52lkW6RK+FFdWdtLnsZrisCDhZlg
	bC80WwH/h+4WOctVnGSmMlC/KGcFq9KBGHGBPoLMuUOYgndCqMnD5KxnKBi4iIYHvanlqEJBAHO
	RHOv2F3OQUKLAmkEgIpp5q5fwVbAgQG0hYn1rFrnhywqXAjcHipg/CLP36tsv1pA6wQnu2V1grm
	t0q/d0IZKDeNF+TyfgmmuBiPLoGjAA2z3eVMom+5K9w5/7lSJUXzixnKK6qrxfX0hAtu4EhqklN
	1Fp3oKEx3MspKLVV1hvZfbE6zcb1U/fVgPQLM5EuVL0OZLaM6uB3TETxUPrYtYvo84m0BkWA2ux
	boHTzuwNle+c5PRk+D/bN1SeTL8dSOA==
X-Google-Smtp-Source: AGHT+IFHIzxE2xWaT6mhjaBo6WQvHBsCCk+pL1cyZgdiAXtsQyIGHqWIw7rHhLp6T1JziVeL2+PTdA==
X-Received: by 2002:a05:6000:2cd:b0:390:ea34:7d83 with SMTP id ffacd0b85a97d-3911f76f519mr2080160f8f.31.1741167439342;
        Wed, 05 Mar 2025 01:37:19 -0800 (PST)
Message-ID: <ed8a4143-4d5d-4ef9-857b-d86b24f72f34@suse.com>
Date: Wed, 5 Mar 2025 10:37:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Verbosity during boot
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: <a90f1bb3-90a8-4c3e-818f-498319815475@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: <a90f1bb3-90a8-4c3e-818f-498319815475@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.02.2025 21:38, Andrew Cooper wrote:
> I've raised this during review before, but:
> 
>> (XEN) [Â Â Â  1.209230] AMD-Vi: IOMMU Extended Features:
>> (XEN) [Â Â Â  1.213998] - Peripheral Page Service Request
>> (XEN) [Â Â Â  1.218849] - x2APIC
>> (XEN) [Â Â Â  1.221536] - NX bit
>> (XEN) [Â Â Â  1.224221] - Invalidate All Command
>> (XEN) [Â Â Â  1.228297] - Guest APIC
>> (XEN) [Â Â Â  1.236062] - Performance Counters
>> (XEN) [Â Â Â  1.244692] - Host Address Translation Size: 0x2
>> (XEN) [Â Â Â  1.254547] - Guest Address Translation Size: 0
>> (XEN) [Â Â Â  1.264313] - Guest CR3 Root Table Level: 0x1
>> (XEN) [Â Â Â  1.273925] - Maximum PASID: 0xf
>> (XEN) [Â Â Â  1.282338] - SMI Filter Register: 0x1
>> (XEN) [Â Â Â  1.291241] - SMI Filter Register Count: 0x2
>> (XEN) [Â Â Â  1.300607] - Guest Virtual APIC Modes: 0
>> (XEN) [Â Â Â  1.309655] - Dual PPR Log: 0x2
>> (XEN) [Â Â Â  1.317801] - Dual Event Log: 0x2
>> (XEN) [Â Â Â  1.326078] - Secure ATS
>> (XEN) [Â Â Â  1.333490] - User / Supervisor Page Protection
>> (XEN) [Â Â Â  1.342892] - Device Table Segmentation: 0x3
>> (XEN) [Â Â Â  1.351981] - PPR Log Overflow Early Warning
>> (XEN) [Â Â Â  1.361040] - PPR Automatic Response
>> (XEN) [Â Â Â  1.369341] - Memory Access Routing and Control: 0x1
>> (XEN) [Â Â Â  1.379012] - Block StopMark Message
>> (XEN) [Â Â Â  1.387273] - Performance Optimization
>> (XEN) [Â Â Â  1.395637] - MSI Capability MMIO Access
>> (XEN) [Â Â Â  1.404138] - Guest I/O Protection
>> (XEN) [Â Â Â  1.412042] - Host Access
>> (XEN) [Â Â Â  1.419105] - Enhanced PPR Handling
>> (XEN) [Â Â Â  1.427008] - Attribute Forward
>> (XEN) [Â Â Â  1.434494] - Host Dirty
>> (XEN) [Â Â Â  1.441308] - Virtualized IOMMU
>> (XEN) [Â Â Â  1.448699] - VMGuard I/O Support
>> (XEN) [Â Â Â  1.456345] - VM Table Size: 0x2
>> (XEN) [Â Â Â  1.491312] AMD-Vi: IOMMU 0 Enabled.
>> (XEN) [Â Â Â  1.499087] AMD-Vi: IOMMU 1 Enabled.
>> (XEN) [Â Â Â  1.506835] AMD-Vi: IOMMU 2 Enabled.
>> (XEN) [Â Â Â  1.514554] AMD-Vi: IOMMU 3 Enabled.
>> (XEN) [Â Â Â  1.522452] I/O virtualisation enabled
> 
> Lots of that information is not actually useful, not even for
> developers.

"Lots" != "all" (or maybe you meant all without saying so). Then what we'd
need are criteria by which to judge what to log and and what to omit from
logging.

>Â  What's worse is that this is a release build of Xen and it
> still takes 0.3s to print the feature list alone.

With a serial console, I expect? Or with us still wrongly using UC accesses
to VGA memory?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:42:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:42:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902124.1310057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tplGI-0003bg-KA; Wed, 05 Mar 2025 09:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902124.1310057; Wed, 05 Mar 2025 09:41: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 1tplGI-0003bZ-Ga; Wed, 05 Mar 2025 09:41:58 +0000
Received: by outflank-mailman (input) for mailman id 902124;
 Wed, 05 Mar 2025 09:41: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tplGH-0003bT-Lu
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:41: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 1327cbb5-f9a6-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 10:41:55 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43bd5644de8so2801245e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:41:55 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4310b06sm11942875e9.36.2025.03.05.01.41.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:41:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1327cbb5-f9a6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741167715; x=1741772515; 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=FlmGdk7dfCSsQCDag4+ixlY9iS0gH9TaTK7l5vxfuRs=;
        b=dU5UEf7J7HnHaZJuIRei6dlsl+bQo8mmwJwC8d768HgXCWVKnVs5tiyClv+RSNN9ll
         Cz4sVNcnB1ZTfUbgoLHwtD8mJV78Ld7IsixEugfrlnX8063NPMHqGAZUqjF43aSHMG3n
         KCK1Nsw3UqH/NDxsLjh5NQXeA2iWBBnrybLVYgJmQv9PBIZZfrgepdMfK9R1wUsnAhFX
         oVjI9nMX+igab/NlPVASSadSpDRlWcgkrOwE61B+7ssPmZl4tQq5uXKKehWV2UYt8TDT
         BJYpOfefJboPbcD4qIRjO0wzPXn/vEZblE4HkpK5SAgHwQqAxUNKMK2nbowV09SmndsG
         IeXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741167715; x=1741772515;
        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=FlmGdk7dfCSsQCDag4+ixlY9iS0gH9TaTK7l5vxfuRs=;
        b=DRvsgaVa/U5P6ZDG8Pn74kP/Ck8hvq5jQm5hEGy4L7KrZBRKbBen5qycSXfz4PO2Jl
         zX2JVePZzB8vZYCoaWWq0Tk1UQj6XFHjqVirFwOIgzV7lo4Hbqh596ACizt7xUyC59LT
         pbhg+5X/QjIdlrvGAOSpO+Ic+pEw6Nt0NGLEa5fXu5lHQzXDx5nszC/iG84mgUTN4a+k
         CkW/SWxsbLNXzvMaiBa+wZLNXmXyaCvDe5lVfsto5eXjqp3sGI49kePvc16dH5EpyJkq
         fZUufQEnXnGabn/y0wN3ddaI9qNkOYe6QOal/nAo4AuybiTcyJ0JD0sEl6OjLE1S/Ce6
         wrYA==
X-Gm-Message-State: AOJu0YwWuR4t8O8NoZ43l4EoEa+N+N0BzSA0jYzOzeUwhgEajj4VL8Vr
	/jaMeWUV9H1fS55YLb2cz8qpIo7oAOHFjJravsX3ItlwsUsm84J18cRvlVOeGQ==
X-Gm-Gg: ASbGncs5jmcSXe905fwjF9HylUXFjQLUs4NrrLBKyyvoxf8YZZvgE7MBpdcz5aev/af
	5syuTEjKNvRr7E5PCDhszFht/I5atXs9hxcJhJRlojFp+lrm3psYDur+nzG6HBi117QbzCkdjvE
	/bZyFI6lNhJqQ0K/zEFPQ7mw32EeBXWl0xacUCxhrb/myVaf3t58Rtokkpu6x4qoOItzKd4elXQ
	M1+ivqXGGfnpXTnuTyFOwLtGxrS4Zy/shu279e7czp0a1PeAdTFNg3OxRNvPeRkPYlRb5ZXoHnh
	uP21uk+yT1xfTCDg4HIcj5IrIabt58Bu378mnb6yN6CqtgvwhDIAdpWbMycduSvWsnq2pT5ujCa
	VOPwaHyv4ljmjkoXjGSU1HxrC1QZymw==
X-Google-Smtp-Source: AGHT+IFG0E4Oqbbm4sT2y8VUVL8I9U4baUQdFPg5AKn/yYRqesJ7Kc6L9G2WE0qCz6nMBaMaY874hg==
X-Received: by 2002:a05:600c:1c07:b0:439:9a40:aa0b with SMTP id 5b1f17b1804b1-43bd29d0474mr15587535e9.25.1741167714707;
        Wed, 05 Mar 2025 01:41:54 -0800 (PST)
Message-ID: <55d4a5ff-e638-4162-96a0-f936c163a1aa@suse.com>
Date: Wed, 5 Mar 2025 10:41:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
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
References: <20250303091908.38846-1-roger.pau@citrix.com>
 <915229bd-a930-422e-a915-6414c3224c93@citrix.com>
 <Z8W47V836vSWuAzw@macbook.local>
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: <Z8W47V836vSWuAzw@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.03.2025 15:13, Roger Pau MonnĂŠ wrote:
> On Mon, Mar 03, 2025 at 01:41:15PM +0000, Andrew Cooper wrote:
>> On 03/03/2025 9:19 am, Roger Pau Monne wrote:
>>> The MMIO_CONF_BASE reports the base of the MCFG range on AMD systems.
>>> Currently Linux is unconditionally attempting to read the MSR without a
>>> safe MSR accessor, and since Xen doesn't allow access to it Linux reports
>>> the following error:
>>>
>>> unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
>>> Call Trace:
>>>  <TASK>
>>>  ? ex_handler_msr+0x11e/0x150
>>>  ? fixup_exception+0x81/0x300
>>>  ? exc_general_protection+0x138/0x410
>>>  ? asm_exc_general_protection+0x22/0x30
>>>  ? xen_do_read_msr+0x7f/0xa0
>>>  xen_read_msr+0x1e/0x30
>>>  amd_get_mmconfig_range+0x2b/0x80
>>>  quirk_amd_mmconfig_area+0x28/0x100
>>>  ? quirk_system_pci_resources+0x2b/0x150
>>>  pnp_fixup_device+0x39/0x50
>>>  __pnp_add_device+0xf/0x150
>>>  pnp_add_device+0x3d/0x100
>>>  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
>>>  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
>>>  ? acpi_walk_resources+0xbb/0xd0
>>>  pnpacpi_add_device_handler+0x1f9/0x280
>>>  acpi_ns_get_device_callback+0x104/0x1c0
>>>  ? _raw_spin_unlock_irqrestore+0x18/0x20
>>>  ? down_timeout+0x3a/0x60
>>>  ? _raw_spin_lock_irqsave+0x14/0x40
>>>  acpi_ns_walk_namespace+0x1d0/0x260
>>>  ? _raw_spin_unlock_irqrestore+0x18/0x20
>>>  ? __pfx_acpi_ns_get_device_callback+0x10/0x10
>>>  acpi_get_devices+0x8a/0xb0
>>>  ? __pfx_pnpacpi_add_device_handler+0x10/0x10
>>>  ? __pfx_pnpacpi_init+0x10/0x10
>>>  pnpacpi_init+0x50/0x80
>>>  do_one_initcall+0x46/0x2e0
>>>  kernel_init_freeable+0x1da/0x2f0
>>>  ? __pfx_kernel_init+0x10/0x10
>>>  kernel_init+0x16/0x1b0
>>>  ret_from_fork+0x30/0x50
>>>  ? __pfx_kernel_init+0x10/0x10
>>>  ret_from_fork_asm+0x1b/0x30
>>>  </TASK>
>>>
>>> Such access is conditional to the presence of a device with PnP ID
>>> "PNP0c01", which triggers the execution of the quirk_amd_mmconfig_area()
>>> function.  Note that prior to commit 3fac3734c43a MSR accesses when running
>>> as a PV guest would always use the safe variant, and thus silently handle
>>> the #GP.
>>>
>>> Fix by allowing access to the MSR on AMD systems, returning 0 for
>>> unprivileged domains (MMIO configuration space disabled), and the native
>>> value for the hardware domain.
>>>
>>> The non hardware domain logic will need to be adjusted if in the future we
>>> expose an MCFG region to such domains.
>>>
>>> Write attempts to the MSR will still result in #GP for all domain types.
>>>
>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>> ---
>>> Changes since v2:
>>>  - Expand commit message to note which device triggers the MSR read.
>>> ---
>>>  xen/arch/x86/msr.c | 15 +++++++++++++++
>>>  1 file changed, 15 insertions(+)
>>>
>>> diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
>>> index 1550fd9ec9f3..c1e616a3a757 100644
>>> --- a/xen/arch/x86/msr.c
>>> +++ b/xen/arch/x86/msr.c
>>> @@ -318,6 +318,21 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
>>>          *val = 0;
>>>          break;
>>>  
>>> +    case MSR_FAM10H_MMIO_CONF_BASE:
>>> +        if ( !(cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) )
>>> +            goto gp_fault;
>>> +
>>> +        /*
>>> +         * Report MMIO configuration space is disabled unconditionally for
>>> +         * domUs, as the emulated chipset doesn't support ECAM.  For dom0
>>> +         * return the hardware value.
>>> +         */
>>> +        *val = 0;
>>> +        if ( is_hardware_domain(d) && rdmsr_safe(msr, *val) )
>>> +            goto gp_fault;
>>> +
>>> +        break;
>>
>> It doesn't matter right now, but reporting MMCFG disable is likely to
>> interfere with Q35 support when we do present such a range.
> 
> Yup, that's why I mention that this will likely need  to be adjusted.
> However Linux only reads MMIO_CONF_BASE if a PnP device with ID
> "PNP0c01" is present, not sure whether that's (or will be the case)
> with Q35 support.

Q35 is probably going to be yet more odd when used with AMD CPUs than
the Intel chipset we currently present to guests. But yes, I don't
expect we'd expose AMD-like firmware aspects when presenting an Intel
chipset.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 09:43:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 09:43:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902135.1310067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tplHc-0004gY-0E; Wed, 05 Mar 2025 09:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902135.1310067; Wed, 05 Mar 2025 09:43: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 1tplHb-0004gR-Ty; Wed, 05 Mar 2025 09:43:19 +0000
Received: by outflank-mailman (input) for mailman id 902135;
 Wed, 05 Mar 2025 09:43: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tplHa-0004gJ-8v
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 09:43:18 +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 43d4b89c-f9a6-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 10:43:17 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43bd5644de8so2815755e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 01:43:17 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4291ffbsm12147285e9.15.2025.03.05.01.43.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 01:43:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43d4b89c-f9a6-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741167796; x=1741772596; 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=iTQMus1QCOmBrZ6SvmoKw2n5PpJzTvkJ+r/HAwUoPCA=;
        b=eRsR+gLGOhqB0KSDpSryuYhQsCr91MOi1ki5zd2k/VVctfsL+o2AVwQAeTb7O47GzY
         N4L0S/UzveBZ3p8w8/Y3fAjchJ3JFF76+b5q04JcTNymDJmTtf6MwuVqcBzOyEkyZgmj
         GZJ7e9X+Id+a0PdzffPSouTpD02g0DGmmDOsRixc9NYwyZzHKksxn4IrMLmgbm2HJHEz
         HsVWElBOui8I8wwNnzj4hH69fZYzqDBaPyk413dvUqI3O+u9KwHNBFB89V7rm8y+9EyJ
         +z37GfJ2BbtOjhhEa7VNeGqWjl5Kt+QXN80Xriu/PQ0iu7F6mO6BLTsh90El+OTpTtlG
         UMBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741167796; x=1741772596;
        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=iTQMus1QCOmBrZ6SvmoKw2n5PpJzTvkJ+r/HAwUoPCA=;
        b=J3jMsrex/v10Ie0DmnXX7IS0VoRJHWJjA8cZwq7BJ4s+RJOeHX27PNAtT52YXB+4sN
         wpU18RL1iQez2b7gdgvHNXiUSn7CjQ8ButurTNNTNRiDswWimzD+JuSdpN7MUufEJE0B
         7yVHHVOPNawvyAPCyXQCOaMGG/JFK85XgEWLDokPLso50eMIfdQ8mZA8oCPh/XYcZ6zy
         7IhxKmaJst/J+w76w2ndm6SCEm1zGorhmic+Ndj+A5w+FdNyTNcHPy+1jd6jQ7fBusLV
         DObe0fd9HX0pRS0LnOeca7yPe5PZkyt8dvmIIp217p4waK4m0uuYb8XD+VO+C6tKvgsB
         PB8g==
X-Forwarded-Encrypted: i=1; AJvYcCUN7DPIHcHYhoEsKpXAd7RjjOHEVtIk21GmZsvO8OMrSHV7jsFc/NGemowF2YW/ba2FChDGjzFEeoY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQeKfSFAB+UcyodNBZNxkh6+dckZoGM3PW77pNnPBKA0gVu2RV
	O5qEK36ZWRaY98qoOZfodTmBLko2hVSS/4qp7c1vprB9up4Fb0VTHzJz/QDsHQ==
X-Gm-Gg: ASbGncvV8YpkCp23g+j5gCFHEpfwn3kvh48jtD6hIqIVDG8EsDphhndQybnCHihDpsJ
	6klKR13ho64G3kGUSnQ1gp//pQV/9jJKVnxToE+6xXcP1I+jiBxxRSHCG12DndppqZNFTMWukrE
	KXxOfAZdrjW+A8Xj5Sr+tRzDszLfDSaHStVS5x78QHuVxEioCDPkJA419V9AMZYL6bvhaTsbvB/
	h56/cFdW4DAxcCMNk9DiRV3QkmzNr7l/L7Dwqy131xm5TTc0U4v+0kwZrXKC1/7jzADH3YSwwmq
	7NB6PCsMz1fDd2qaQRZKpYZ2xxeflfMAiPc5SYEBDtgCumQXf8X1xxfP1opIWyrLY0Aja4emGHA
	BKrl5TmBOYyJFk/SZuDztP6kJgbWwRA==
X-Google-Smtp-Source: AGHT+IGEHYHLYZ/B6i9OBVcVb48QUht6Sg/mUO0XAuiGDxG8NM1y+TUn6Dge9KkUGReVJkCfmWpk0g==
X-Received: by 2002:a05:600c:1c07:b0:439:9a40:aa0b with SMTP id 5b1f17b1804b1-43bd29d0474mr15633335e9.25.1741167796506;
        Wed, 05 Mar 2025 01:43:16 -0800 (PST)
Message-ID: <5166d75c-2f6a-43fe-b8e0-67d309cefc96@suse.com>
Date: Wed, 5 Mar 2025 10:43:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250303091908.38846-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: <20250303091908.38846-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.03.2025 10:19, Roger Pau Monne wrote:
> The MMIO_CONF_BASE reports the base of the MCFG range on AMD systems.
> Currently Linux is unconditionally attempting to read the MSR without a
> safe MSR accessor, and since Xen doesn't allow access to it Linux reports
> the following error:
> 
> unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
> Call Trace:
>  <TASK>
>  ? ex_handler_msr+0x11e/0x150
>  ? fixup_exception+0x81/0x300
>  ? exc_general_protection+0x138/0x410
>  ? asm_exc_general_protection+0x22/0x30
>  ? xen_do_read_msr+0x7f/0xa0
>  xen_read_msr+0x1e/0x30
>  amd_get_mmconfig_range+0x2b/0x80
>  quirk_amd_mmconfig_area+0x28/0x100
>  ? quirk_system_pci_resources+0x2b/0x150
>  pnp_fixup_device+0x39/0x50
>  __pnp_add_device+0xf/0x150
>  pnp_add_device+0x3d/0x100
>  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
>  ? __pfx_pnpacpi_allocated_resource+0x10/0x10
>  ? acpi_walk_resources+0xbb/0xd0
>  pnpacpi_add_device_handler+0x1f9/0x280
>  acpi_ns_get_device_callback+0x104/0x1c0
>  ? _raw_spin_unlock_irqrestore+0x18/0x20
>  ? down_timeout+0x3a/0x60
>  ? _raw_spin_lock_irqsave+0x14/0x40
>  acpi_ns_walk_namespace+0x1d0/0x260
>  ? _raw_spin_unlock_irqrestore+0x18/0x20
>  ? __pfx_acpi_ns_get_device_callback+0x10/0x10
>  acpi_get_devices+0x8a/0xb0
>  ? __pfx_pnpacpi_add_device_handler+0x10/0x10
>  ? __pfx_pnpacpi_init+0x10/0x10
>  pnpacpi_init+0x50/0x80
>  do_one_initcall+0x46/0x2e0
>  kernel_init_freeable+0x1da/0x2f0
>  ? __pfx_kernel_init+0x10/0x10
>  kernel_init+0x16/0x1b0
>  ret_from_fork+0x30/0x50
>  ? __pfx_kernel_init+0x10/0x10
>  ret_from_fork_asm+0x1b/0x30
>  </TASK>
> 
> Such access is conditional to the presence of a device with PnP ID
> "PNP0c01", which triggers the execution of the quirk_amd_mmconfig_area()
> function.  Note that prior to commit 3fac3734c43a MSR accesses when running
> as a PV guest would always use the safe variant, and thus silently handle
> the #GP.
> 
> Fix by allowing access to the MSR on AMD systems, returning 0 for
> unprivileged domains (MMIO configuration space disabled), and the native
> value for the hardware domain.
> 
> The non hardware domain logic will need to be adjusted if in the future we
> expose an MCFG region to such domains.
> 
> Write attempts to the MSR will still result in #GP for all domain types.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
(assuming you sufficiently addressed Andrew's concern)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 10:31:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 10:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902153.1310097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpm1a-0006o8-LK; Wed, 05 Mar 2025 10:30:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902153.1310097; Wed, 05 Mar 2025 10:30: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 1tpm1a-0006o1-HS; Wed, 05 Mar 2025 10:30:50 +0000
Received: by outflank-mailman (input) for mailman id 902153;
 Wed, 05 Mar 2025 10:30: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpm1a-0006m4-1A
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 10:30:50 +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 e7965def-f9ac-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 11:30:48 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43bd5644de8so3403855e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 02:30:48 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42e51e8sm13213705e9.26.2025.03.05.02.30.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 02:30:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7965def-f9ac-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741170648; x=1741775448; 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=VZ7UpXkW5IqQEzTM44e164jNNUa/Agj4+x0JpVCSNno=;
        b=Z46usWdwrc+VEeiNpshCpVnPxNzvpX+r5D7wdH2/v2xq6evjM4yfJikJyqz5gIU3PV
         xBMBHbeNRvsAVK8P+12fyJIy9HnJpH1ebe8MJYwk0LfLtkn3QgWn52HW+Hu+G6qIlfkP
         E00yH2ETvqOoXP4yJv+b/lvQFx2YN0GB+oopF1bSt3GpWWFxml8nNxHpSI4A3nLYasVj
         KRab7jdfKvPmjQFKwvEFS9u1C6HYtZw+UrfQ8nkMV0xzsqdA1NRh5wXaC93ZbTcvawrW
         ESm/Wj/aPgIS56pcSmNdcODRhW+zSutyMYYQIpKDOntOrAUL+fI0GE8eqzxHLXqzIvoc
         R12Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741170648; x=1741775448;
        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=VZ7UpXkW5IqQEzTM44e164jNNUa/Agj4+x0JpVCSNno=;
        b=w8r8Rv0AMeaRy6fL/aWJOXexaDnzyddRg06lVLChbaOFlZ54ivOJuIFlS87kWO5vcg
         Rvu+M6jD1y0sPQZAquQSCMvNGpNihwjE3Xw3yy5JxfiuVQAgwztjMSP2SsOfQEWLWHYH
         WIyW6LY9RxKe7zRS4DvFxhW2iYWH1ny1vsAkJwG18SCeuByZzqdLK24ZYN8WSaz6zmdw
         jUj2byJZWXgkRst6erP0KN9791JbUdKRz459jG/trBGc1N0X50qtwBz9pjsa08gXx63L
         xLQRmqlIBvIEGUHIcNmXP8E5DGPKiJ4zVtjevWDeR8kVNsIFo2vDt5Zb4+L0zZey3XVU
         Oc0g==
X-Forwarded-Encrypted: i=1; AJvYcCULcO64EW9BlxSqqVuyrW19wqBrO3toNRZGBb2sx3vlMUrL+HV3SA041dO2X339oEz5jvCWaVi4d10=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzr2v7i/Me8zn10RoQz5MLXUSoNX0Ao2mGAH4bFGlj89Is/S+kd
	OhYtrJfd37lavRp/1+bkAvY5DN25htBS3qyW+V2deAjgHRGyGbua1HCenSrHFA==
X-Gm-Gg: ASbGncuhMdQ0j2zZN/iKpW2VwMMrSmo4U7F4NTdCKPI2f2pBhJG0QcUW+aIZwjjMzcc
	4jmczW1dQwG6Za8PyiOWZFltbNFwcvp1eNSo6m3FrmNIkU/gwap5zvXzczCRtyiO6JwOChBTOb8
	FZBpUR6Qv5r3+n1KXPN83lvdd5wHN3ReISb6amEyYleNczx0ICK8LkhT7aWZChB9n4e2W4USgmR
	K4OVat+jDTsdgKhXbujNpY6bWbDV5I7TFjBV3KQ0/PMsuLbFn2A6WxwQcUMYUdb3NBC70XLfp9a
	HsEQx+LvlTVcrlFIhz063Ljqza24YT0tRkfJP4ZR8djGnbQy9Y3LD4VX/9/CR1F0dDSjjUtr/bJ
	sD9bwdUmX5D36u1Cjnx8daa4ixOPuPA==
X-Google-Smtp-Source: AGHT+IGzCBgpIpgqjOZJZDnPqo/bW2nNpFfO9LNnf3UvwX05Tv/B+f5KhnkY32Q/V0YG3fnMAO0Kbw==
X-Received: by 2002:a05:600c:35ca:b0:43b:ce86:b31a with SMTP id 5b1f17b1804b1-43bd29bd205mr16296315e9.22.1741170648110;
        Wed, 05 Mar 2025 02:30:48 -0800 (PST)
Message-ID: <c06573d3-36a1-4146-ac3f-5dbd4d82d22e@suse.com>
Date: Wed, 5 Mar 2025 11:30:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/msi: prevent MSI entry re-writes of the same data
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20250228113237.6116-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: <20250228113237.6116-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.02.2025 12:32, Roger Pau Monne wrote:
> @@ -191,8 +193,6 @@ void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg
>  
>  static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
>  {
> -    entry->msg = *msg;
> -
>      if ( iommu_intremap != iommu_intremap_off )
>      {
>          int rc;
> @@ -203,6 +203,20 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
>              return rc;
>      }
>  
> +    /*
> +     * Avoid updating the MSI entry if the address and data fields haven't
> +     * changed.  When using interrupt remapping changing the MSI affinity
> +     * shouldn't change the interrupt remapping table index, and hence the MSI
> +     * address and data fields should remain the same.
> +     */
> +    if ( entry->msg.address == msg->address && entry->msg.data == msg->data )
> +    {
> +        entry->msg.dest32 = msg->dest32;
> +        return 0;
> +    }
> +
> +    entry->msg = *msg;

It is perhaps pure luck that iommu_update_ire_from_msi() doesn't use entry's
"msg" field, and hence that this re-arrangement is okay. It's unclear to me
whether going forward this might not bite us.

> @@ -1407,7 +1415,9 @@ int pci_restore_msi_state(struct pci_dev *pdev)
>          }
>          type = entry->msi_attrib.type;
>  
> -        msg = entry->msg;
> +        msg.dest32 = entry->msg.dest32;
> +        msi_compose_msg(desc->arch.vector, NULL, &msg);
> +        entry->msg = (typeof(entry->msg)){};
>          write_msi_msg(entry, &msg);

Hmm, this isn't exactly a "restore" then anymore. That said, re-constructing
the message may even be more correct. Then, however, the question is whether
passing NULL as msi_compose_msg()'s middle argument is really appropriate. A
little bit of commentary may be desirable here in any event, also as to need
to clear entry->msg.

There's (at least) one place where behavior changes with the change of what
we store in struct msi_desc's msg field (previously untranslated, now
translated): dump_msi() wants to use the untranslated form. I fear it can't
even re-construct some of the data it means to log (without reading from
the IRTE).

> --- a/xen/drivers/passthrough/vtd/iommu.c
> +++ b/xen/drivers/passthrough/vtd/iommu.c
> @@ -1182,7 +1182,7 @@ static void cf_check dma_msi_end(struct irq_desc *desc, u8 vector)
>  static void cf_check dma_msi_set_affinity(
>      struct irq_desc *desc, const cpumask_t *mask)
>  {
> -    struct msi_msg msg;
> +    struct msi_msg msg = {};
>      unsigned int dest;
>      unsigned long flags;
>      struct vtd_iommu *iommu = desc->action->dev_id;

Why not a similar transformation as you do in set_msi_affinity(), eliminating
the local "dest"?

A change like the one here is likely needed in __hpet_setup_msi_irq(), to
prevent accidental "uninitialized struct field" warnings.
hpet_msi_set_affinity() might then also want to use msi_compose_msg(), albeit
that may also be regarded as an independent change.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 10:37:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 10:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902162.1310106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpm8A-0000TL-8t; Wed, 05 Mar 2025 10:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902162.1310106; Wed, 05 Mar 2025 10:37: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 1tpm8A-0000TE-6J; Wed, 05 Mar 2025 10:37:38 +0000
Received: by outflank-mailman (input) for mailman id 902162;
 Wed, 05 Mar 2025 10:37: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpm88-0000T8-Lz
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 10:37:36 +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 d95d5253-f9ad-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 11:37:34 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-439ac3216dcso44932895e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 02:37:34 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42c5b33sm13818045e9.22.2025.03.05.02.37.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 02:37:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d95d5253-f9ad-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741171054; x=1741775854; 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=lb7mvAggtx7iYpOd/sm/9W0BwekAkv1/DCEZvYlqoTQ=;
        b=b5Rc3rFhzbc/QwLnT8nSsdiepvmhrHR6EBfmshY6CVDm3u6aC15ofXB9azbtoVGCQ+
         08IKCSIazwENEE1wXby3m650yCWpxc8/1JDlACJgT9/u4y+pdeuO859fO2hwUGJW+wj8
         slOs+OH9aj5ZSMAvlS2TgW6Nl/VmErlxRj+G5EQ7tsLF9J9KsCu3BZW4KUrEEoSYLpmp
         pP9WTmhNYegEiMfF9dsY9oI3QGYfS5GtIEZMKUptS6/69UhFOenkPuuzBLZ+UB3WuE4m
         1BjdvDWqIlyQIyArzZqQBiLfT1IJiabT771XjF6vcMurBxuRrSS+qpD0SlwN1dGubJQF
         Hd/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741171054; x=1741775854;
        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=lb7mvAggtx7iYpOd/sm/9W0BwekAkv1/DCEZvYlqoTQ=;
        b=R463/2PvFpMPprwXFP+c/nP91WlyB1mBLRi7bnsjR16pFGTsZpC5bObaTZYqPqYBtK
         Hyn+oMOfthbvc7ZfO0rci+frV8I5eSNimNLIdGCh/GxVaKysQTzU7hLCGItoNdU/9UXa
         emhklvgu3LtzhHYCBxBpgyrgbDIQXRHWIm8ZmtAZS3PaiWOj8Q86TskFmH2cfiO0znaJ
         YBBxSgxqH5Lo2eN2R+zQBKyvU6lRDN1nzvq8ip/2tMzB7aAeegEZbB9qGZ6PZ/RNJx7G
         h9UkqhT9s5O8G+XN3aczjcioEog0hvhGoHLUuKpLLA4HnO8o3pmUQHUcrUT80mVS3wAV
         c/4w==
X-Forwarded-Encrypted: i=1; AJvYcCX+8IzlnDpMpWsemZT25NdEvgKxG9JoK47v/H1T3J/F+fiRF5Q8dP6T8j6fySb7jgE3z8RbpfTHXcA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyFh+2xIRAt84aE2CQkDMdUxb1kU0kmPU9btiPMa1ttuiVvDQ6z
	ojCMjMKNQSDHBmd23RfEKtwYeL3A/4pCEklrp/+oM8AAI5vPpBkH4ErySWCEaQ==
X-Gm-Gg: ASbGncvSPg6W0ve+35IID5VKdbtw+gNwxXp1Qn8VBTxt5XipwdIvoLD/CrfvN+Hcf/1
	84pnzuNuRCitM3Hlwb6taDq4/O+UcX14Rt5h8mPqPnJRzIdlREaRpFN2FGlvsq17LUCmNF/vbLl
	cbFZ9bJf38/RlzWjL0KHRpHXqxVegqulrBDBq2HxMzd1SLaWF+PaXGrKLlefshKl2uywgIoqWDj
	CaUzgQGMWJksLZk9Z1udMAOu1OrR4mKsa86EK0u2LQmhb/BOXb7/Q44iA1R43kOZhICyzPBl+0u
	EeDXpKYqdvxMSlFQfRslsh6jn/YbdGDlZzmYL+6oqW0RylV4bKNmGkfeA2TKTqoThbw66N0vMuS
	JiwpMbSsLz+MKx3NeUi/3xRQ/jXRsWg==
X-Google-Smtp-Source: AGHT+IFSv4q1UjMpdfCP3nRajVxfRsZ9pO8lNPvA/qK4DrP5myjf2pdUc99pejTvn4RoOlVoWDXtaA==
X-Received: by 2002:a05:600c:4e8b:b0:43b:d0fe:b8be with SMTP id 5b1f17b1804b1-43bd29d8d45mr20262785e9.30.1741171053843;
        Wed, 05 Mar 2025 02:37:33 -0800 (PST)
Message-ID: <83d5d612-2f6a-430a-8aee-4738f43204e0@suse.com>
Date: Wed, 5 Mar 2025 11:37:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/iocap.h: add documentation
To: Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Grygorii Strashko <grygorii_strashko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20250224113828.151794-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: <20250224113828.151794-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.02.2025 12:38, Grygorii Strashko wrote:
> Change rangeset parameters to "start, last" as proposed in [1],
> and add documentation for public interface.
> 
> No functional changes.
> 
> [1] https://patchwork.kernel.org/comment/26251962/
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

To be honest, this is getting too verbose for my taste. I also don't think
title and description fit together: One says the main thing the patch does
is add doc, the other says the main thing is the parameter renaming. When
then there's at least one further parameter which is also renamed, despite
not fitting the description.

Jan

> --- a/xen/include/xen/iocap.h
> +++ b/xen/include/xen/iocap.h
> @@ -12,11 +12,21 @@
>  #include <asm/iocap.h>
>  #include <asm/p2m.h>
>  
> -static inline int iomem_permit_access(struct domain *d, unsigned long s,
> -                                      unsigned long e)
> +/**
> + * @brief Gives domain permission to access IOMEM range
> + *
> + * @d: Domain to give IOMEM range access
> + * @start: IOMEM range start address, inclusive
> + * @last: IOMEM range last address, inclusive
> + *
> + * @retval 0 Is successful
> + * @retval -ENOMEM if memory allocation failed
> + */
> +static inline int iomem_permit_access(struct domain *d, unsigned long start,
> +                                      unsigned long last)
>  {
>      bool flush = cache_flush_permitted(d);
> -    int ret = rangeset_add_range(d->iomem_caps, s, e);
> +    int ret = rangeset_add_range(d->iomem_caps, start, last);
>  
>      if ( !ret && !is_iommu_enabled(d) && !flush )
>          /*
> @@ -29,10 +39,20 @@ static inline int iomem_permit_access(struct domain *d, unsigned long s,
>      return ret;
>  }
>  
> -static inline int iomem_deny_access(struct domain *d, unsigned long s,
> -                                    unsigned long e)
> +/**
> + * @brief Denies domain permission to access IOMEM range
> + *
> + * @d: Domain to deny IOMEM range access
> + * @start: IOMEM range start address, inclusive
> + * @last: IOMEM range last address, inclusive
> + *
> + * @retval 0 Is successful
> + * @retval -ENOMEM if memory allocation failed
> + */
> +static inline int iomem_deny_access(struct domain *d, unsigned long start,
> +                                    unsigned long last)
>  {
> -    int ret = rangeset_remove_range(d->iomem_caps, s, e);
> +    int ret = rangeset_remove_range(d->iomem_caps, start, last);
>  
>      if ( !ret && !is_iommu_enabled(d) && !cache_flush_permitted(d) )
>          /*
> @@ -45,23 +65,93 @@ static inline int iomem_deny_access(struct domain *d, unsigned long s,
>      return ret;
>  }
>  
> -#define iomem_access_permitted(d, s, e)                 \
> -    rangeset_contains_range((d)->iomem_caps, s, e)
> -
> -#define irq_permit_access(d, i)                         \
> -    rangeset_add_singleton((d)->irq_caps, i)
> -#define irq_deny_access(d, i)                           \
> -    rangeset_remove_singleton((d)->irq_caps, i)
> -#define irqs_permit_access(d, s, e)                     \
> -    rangeset_add_range((d)->irq_caps, s, e)
> -#define irqs_deny_access(d, s, e)                       \
> -    rangeset_remove_range((d)->irq_caps, s, e)
> -#define irq_access_permitted(d, i)                      \
> -    rangeset_contains_singleton((d)->irq_caps, i)
> -
> -#define pirq_access_permitted(d, i) ({                  \
> +/**
> + * @brief Checks if domain has permissions to access IOMEM range
> + *
> + * @d: Domain to check IOMEM range access
> + * @start: IOMEM range start address, inclusive
> + * @last: IOMEM range last address, inclusive
> + *
> + * @retval true if access permitted
> + * @retval false if access denied
> + */
> +#define iomem_access_permitted(d, start, last)             \
> +    rangeset_contains_range((d)->iomem_caps, start, last)
> +
> +/**
> + * @brief Gives domain permission to access IRQ
> + *
> + * @d: Domain to give IRQ access
> + * @irq: IRQ number
> + *
> + * @retval 0 Is successful
> + * @retval -ENOMEM if memory allocation failed
> + */
> +#define irq_permit_access(d, irq)                         \
> +    rangeset_add_singleton((d)->irq_caps, irq)
> +
> +/**
> + * @brief Denies domain permission to access IRQ
> + *
> + * @d: Domain to deny IRQ access
> + * @irq: IRQ number
> + *
> + * @retval 0 Is successful
> + * @retval -ENOMEM if memory allocation failed
> + */
> +#define irq_deny_access(d, irq)                           \
> +    rangeset_remove_singleton((d)->irq_caps, irq)
> +
> +/**
> + * @brief Gives domain permission to access IRQ range
> + *
> + * @d: Domain to give IRQ range access
> + * @start_irq: IRQ range start number, inclusive
> + * @last_irq: IRQ range last number, inclusive
> + *
> + * @retval 0 Is successful
> + * @retval -ENOMEM if memory allocation failed
> + */
> +#define irqs_permit_access(d, start_irq, last_irq)      \
> +    rangeset_add_range((d)->irq_caps, start_irq, last_irq)
> +
> +/**
> + * @brief Denies domain permission to access IRQ range
> + *
> + * @d: Domain to deny IRQ range access
> + * @start_irq: IRQ range start number, inclusive
> + * @last_irq: IRQ range last number, inclusive
> + *
> + * @retval 0 Is successful
> + * @retval -ENOMEM if memory allocation failed
> + */
> +#define irqs_deny_access(d, start_irq, last_irq)        \
> +    rangeset_remove_range((d)->irq_caps, start_irq, last_irq)
> +
> +/**
> + * @brief Checks if domain has permissions to access IRQ
> + *
> + * @d: Domain to check IRQ access
> + * @irq: IRQ number to check
> + *
> + * @retval true if access permitted
> + * @retval false if access denied
> + */
> +#define irq_access_permitted(d, irq)                    \
> +    rangeset_contains_singleton((d)->irq_caps, irq)
> +
> +/**
> + * @brief Checks if domain has permissions to access PIRQ
> + *
> + * @d: Domain to check PIRQ access
> + * @pirq: PIRQ number to check
> + *
> + * @retval IRQ number if access permitted
> + * @retval 0 if access denied
> + */
> +#define pirq_access_permitted(d, pirq) ({               \
>      struct domain *d__ = (d);                           \
> -    int irq__ = domain_pirq_to_irq(d__, i);             \
> +    int irq__ = domain_pirq_to_irq(d__, pirq);          \
>      irq__ > 0 && irq_access_permitted(d__, irq__)       \
>      ? irq__ : 0;                                        \
>  })



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 10:49:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 10:49:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902183.1310140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpmJL-0002UM-ME; Wed, 05 Mar 2025 10:49:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902183.1310140; Wed, 05 Mar 2025 10:49: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 1tpmJL-0002UF-Je; Wed, 05 Mar 2025 10:49:11 +0000
Received: by outflank-mailman (input) for mailman id 902183;
 Wed, 05 Mar 2025 10:49: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpmJK-0002Td-F1
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 10:49: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 77331424-f9af-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 11:49:08 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-38f406e9f80so5042267f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 02:49:08 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e479608fsm20934812f8f.14.2025.03.05.02.49.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 02:49:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77331424-f9af-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741171748; x=1741776548; 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=RxhRUVKfr8JjgeK+JIcIYAn/fcfB14HcMzLZwJebzqY=;
        b=gPGt76OmWfLAupnBIr/byecgnDM+zX2scWyYS+BOUMPEb0jOUlNihFoNhMcQTrj9BN
         qfxHX7CWw1vjCEBmPAQFh67hRI5g3oLDFkFKbBB+1U37zYe2+YX/EE30LHIg1PwK1u5r
         VkD9qVPDNjg3Awqz2XZZ3hx8J1/sq5ZZiG/f4pwyhu+vCJmVRS9SqlUDn2mpH+aLHQB3
         qG3cxWuEVQWCUS37xTiP4J8X5cRi581WGHVzG7Pv+OLk54Mq/S0XjI0+dPlYvUA7y9M9
         tStYTXULkIqD8mispk2OJEodVwcgGW1/4NVEjIc4UefM+6u3RqA6ctC+tXy5NxMIx3Fa
         xtDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741171748; x=1741776548;
        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=RxhRUVKfr8JjgeK+JIcIYAn/fcfB14HcMzLZwJebzqY=;
        b=vBubPOHNQ854pGtTxOfKeeDbRw60UY+1gM09yQt1IjDibcjCzKfC0YmX52GAqMrANO
         8U0TH2giafNxnhd+lJJ+GQmrGOrhhrotsYtqtSQyHUj1jub+4rTY7xSK1p5uFOO3q8nL
         4Nl9sxOCFucm+cFraDQSotbU48zWFqWFIr4dOUCoWFvBG/c+AYpnDcBXnMihoosHPDoG
         BZg7ulm8igHYOT+tT7Axosr1O4D0yqkBVewSZb/gG7rN4yAc3+XkAMIsYdh9cFmqmrLM
         4Swmw9Z/C6gYNWQF1AgWu/L9Hdn20Dt+8CG8ctvHtddMsRy5QYg8QKnWQIcY2zkZcaV5
         D2Pg==
X-Forwarded-Encrypted: i=1; AJvYcCWKEHP7p8a3CW9ATa7uEEUCJhfJOC+orShBJ2hQqnIefLYbdbgpth0NYNsTy2uXB3DFTvnolWsI7tk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwgQDTF0n4QZyBkuBKffqCZIhvEHEKmPwCbLJX4cfQwh7ombawk
	K1x+Np2AV2CTkrSvRyAF+5lw5dCNQza/Dx0f7croeUW4+NpkkEPoyh9rS7ExwA==
X-Gm-Gg: ASbGncuCdhlYQ0fvo1u5/UWXgK9pf80gXsJc6T4tVU0GjQLCHCm2Jd1Qr5Ff7S9o4sp
	pTjuHdsGwoZBG47Fb+fqGFBwvpFKN1+aNbalMhiBYwBodMvRqV71cmGdAXalDS1bJDayLwj32dp
	xqxT0zs3t07sn/280rpQZqgXmmA/aSslKv5UoyUTv+ti+c1lDO8Wgi6wCu+i0DiOoNkJ0wxz+nf
	+K+kp+uRqhUhhuhvaUfkhGGmhJ8lMZRTTb1tJUaxsKHht3sprqGI1EdHEdCWzumMKJ6jKpzbI6Y
	HMwDgR9Daqm12wAqqsxYbtjw+0PwNTNVuQh6XJtwPulUYnwNH4irE0TYXF+eWcyw3k/yGsOFjJS
	KgC8BA6/8/xKhLbY2WPeUy+SFPAsj1Q==
X-Google-Smtp-Source: AGHT+IFhhT071uLRU0ze159uDJGhU71r4h82T0p5rqUEkK5zhUZ5KFtClVTaHjRT+j3f6m6kQqsZMQ==
X-Received: by 2002:a05:6000:1886:b0:390:e8bf:55a8 with SMTP id ffacd0b85a97d-3911f7412f1mr1882629f8f.18.1741171748132;
        Wed, 05 Mar 2025 02:49:08 -0800 (PST)
Message-ID: <f50d8ee7-a00f-4f4f-99f6-4313af7a4fdc@suse.com>
Date: Wed, 5 Mar 2025 11:49:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
To: Alejandro Vallejo <alejandro.vallejo@cloud.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: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <D80RCS1Y7AKH.373ULA2LO3MND@cloud.com>
 <4af0077c-c933-4894-bfad-2adda7afbbf7@suse.com>
 <D83AY7ZBKC81.3NBCLVK3DX833@cloud.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: <D83AY7ZBKC81.3NBCLVK3DX833@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.02.2025 15:36, Alejandro Vallejo wrote:
> On Wed Feb 26, 2025 at 2:05 PM GMT, Jan Beulich wrote:
>> On 24.02.2025 15:49, Alejandro Vallejo wrote:
>>> Open question to whoever reviews this...
>>>
>>> On Mon Feb 24, 2025 at 1:27 PM GMT, Alejandro Vallejo wrote:
>>>>      spin_lock(&heap_lock);
>>>> -    /* adjust domain outstanding pages; may not go negative */
>>>> -    dom_before = d->outstanding_pages;
>>>> -    dom_after = dom_before - pages;
>>>> -    BUG_ON(dom_before < 0);
>>>> -    dom_claimed = dom_after < 0 ? 0 : dom_after;
>>>> -    d->outstanding_pages = dom_claimed;
>>>> -    /* flag accounting bug if system outstanding_claims would go negative */
>>>> -    sys_before = outstanding_claims;
>>>> -    sys_after = sys_before - (dom_before - dom_claimed);
>>>> -    BUG_ON(sys_after < 0);
>>>> -    outstanding_claims = sys_after;
>>>> +    BUG_ON(outstanding_claims < d->outstanding_pages);
>>>> +    if ( pages > 0 && d->outstanding_pages < pages )
>>>> +    {
>>>> +        /* `pages` exceeds the domain's outstanding count. Zero it out. */
>>>> +        outstanding_claims -= d->outstanding_pages;
>>>> +        d->outstanding_pages = 0;
>>>
>>> While this matches the previous behaviour, do we _really_ want it? It's weird,
>>> quirky, and it hard to extend to NUMA-aware claims (which is something in
>>> midway through).
>>>
>>> Wouldn't it make sense to fail the allocation (earlier) if the claim has run
>>> out? Do we even expect this to ever happen this late in the allocation call
>>> chain?
>>
>> This goes back to what a "claim" means. Even without any claim, a domain may
>> allocate memory. So a claim having run out doesn't imply allocation has to
>> fail.
> 
> Hmmm... but that violates the purpose of the claim infra as far as I understand
> it. If a domain may overallocate by (e.g) ballooning in memory it can distort the
> ability of another domain to start up, even if it succeeded in its own claim.

Why would that be? As long as we hold back enough memory to cover the claim, it
shouldn't matter what kind of allocation we want to process. I'd say that a PV
guest starting ballooned ought to be able to deflate its balloon as far as
there was a claim established for it up front.

> We might also break the invariant that total claims are strictly >=
> total_avail_pages.

Same here - I don't see why this would happen as long as all accounting is
working correctly.

> I'm somewhat puzzled at the "why" of having separate concepts for max_mem and
> claims. I guess it simply grew the way it did. Reinstating sanity would
> probably involve making max_mem effectively the claim, but that's a ton of
> work I really would rather not do for now.

To me the two are different (beyond claim being global while max-mem is per-
domain). max-mem is a hard boundary (beyond which allocations _will_ fail),
whereas a claim is a softer one, beyond which allocations _may_ fail.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 10:50:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 10:50:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902191.1310149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpmKD-0003oF-Un; Wed, 05 Mar 2025 10:50:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902191.1310149; Wed, 05 Mar 2025 10: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 1tpmKD-0003ni-S0; Wed, 05 Mar 2025 10:50:05 +0000
Received: by outflank-mailman (input) for mailman id 902191;
 Wed, 05 Mar 2025 10:50: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpmKD-0002Td-85
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 10:50:05 +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 97cdb8fc-f9af-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 11:50:03 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-438a39e659cso44953525e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 02:50:03 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4292144sm13813785e9.13.2025.03.05.02.50.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 02:50:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97cdb8fc-f9af-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741171803; x=1741776603; 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=ensTPfdrJMk3ZSEb1xAmSFWvV1YGDCiMcUCqT0JdamM=;
        b=fHLBfAsjd/wlXxrmnFVYdJheZkXyEN5KV2LfQxZF7TN0KB6LBv8uNDGesybSEKvaF5
         qz/QYKBiHpJc6EUhqDEAw8ML5AdhFAdhNvkw3umD7DJibrXio/rJETkHKnos6puDws/C
         wZqmJCu8D27aOuO3TDksd30Q3fjPcOsP09SJtZvgnEVsJdalYguy3zKOc3pDNRDXfOFA
         nDjMBuDIecBjXYtcB7g+mgq1hk3PW7nCbA00FWFy4hxmizsgOK+QBaaIcednqHQpYhEa
         J4N6SfRmteJC9y2s8l3snXTtCsGh1RIUus/QgMkweeomgXqPdcWjl+yb6H5MpKDqFJ14
         p0eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741171803; x=1741776603;
        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=ensTPfdrJMk3ZSEb1xAmSFWvV1YGDCiMcUCqT0JdamM=;
        b=wGQSKZNUUSXLAPgGJnWj0b/99Xxg81cItyg/NQZuJgOBHGtnc07QrxfFA7bHPj1p5u
         lYbSUKutPLvxnEYz3/FqKNucrWimagGeCfYSaiH2JjWF7dfb9LcVWstEpcKdunA6kSSA
         mRsFDJ/9s2xYG8uCTNoYNAGwLeQB4ubqQVLJ3EdUc11/BdKSph95qmKhcyTAZZ6C6LXV
         NiWcU2mqygRuWdShyChCnkcaXNLfHo9rjXUSy13qKmc6aDHCV3c1cvO55mEvRtTm/1Yn
         s/L0vXB9nLmBbvBJyHkszRHs9km4Iku7l1GO86DY31Ngu5cYXpmeRp0j52A+MQL1CnNB
         9FJQ==
X-Gm-Message-State: AOJu0YyIMV2P3vRA2PvoaOtpN+4ukhvGTxoMAYsFpvp37iAUcTSoeUWn
	xx9aDo0JSPIQor+BP4rRVhHTKsvkWzfCWDQyUT1/zftZfIIBLMQpHDlPyXDv0A==
X-Gm-Gg: ASbGncuBTq1kfs7TB5XA1sLGQc2C1otlupBZRxyeSsyFiIMDq2kQw0caGZCMutwu32w
	5TetnGMdCS1qiEQcwV6syPxucEar5KpPlLVRs95R415zYdMt8dSz2FL7gAluGdas6cMd8YLjH8a
	tqdWD3ntTOyRfuwFnZgEgR7HLnzVIPviP5ZfJkGenmO5OnASihzI3nkF1fjvsqdY5zPlUy2c2tE
	foX0FcmYqqYZcH9ldsN6p8hQEpGXpEhUjUvR/6OgCnDAe5c5cMiEQvdhRmItyO5JonbzOwii0hv
	X6J5sjhA/gbF+tu8rQOlKH1uAH48gKcpTnZN8cy7iuJ3bBWP8Bh4MjZSpo84qpvkZIxvqiI2gK/
	fZaN442LUcpc8EEdqO0N3pjM4YhV+1Q==
X-Google-Smtp-Source: AGHT+IHQZ8dCqr1O9O9NoteRhQU1yQ88LDfsMdvpWQHV3uTQqCyQY3f+CesIAH4Tq1h5JIor1mGshg==
X-Received: by 2002:a05:600c:548c:b0:43b:d04b:52b7 with SMTP id 5b1f17b1804b1-43bd2939f35mr19698045e9.12.1741171802826;
        Wed, 05 Mar 2025 02:50:02 -0800 (PST)
Message-ID: <0a7f1059-8939-4e8c-a88d-8ad20b3ffadc@suse.com>
Date: Wed, 5 Mar 2025 11:50:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <Z78djoAU7vjGepjr@macbook.local>
 <a9d4384c-770b-4947-b099-cf4bba1583a5@suse.com>
 <Z78lJfzqH9btDMrM@macbook.local> <D83B8MUC2HYI.F3IYZM092P3R@cloud.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: <D83B8MUC2HYI.F3IYZM092P3R@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.02.2025 15:50, Alejandro Vallejo wrote:
> On Wed Feb 26, 2025 at 2:28 PM GMT, Roger Pau MonnĂŠ wrote:
>> On Wed, Feb 26, 2025 at 03:08:33PM +0100, Jan Beulich wrote:
>>> On 26.02.2025 14:56, Roger Pau MonnĂŠ wrote:
>>>> On Mon, Feb 24, 2025 at 01:27:24PM +0000, Alejandro Vallejo wrote:
>>>>> --- a/xen/common/page_alloc.c
>>>>> +++ b/xen/common/page_alloc.c
>>>>> @@ -490,13 +490,11 @@ static long outstanding_claims; /* total outstanding claims by all domains */
>>>>>  
>>>>>  unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
>>>>>  {
>>>>> -    long dom_before, dom_after, dom_claimed, sys_before, sys_after;
>>>>> -
>>>>>      ASSERT(rspin_is_locked(&d->page_alloc_lock));
>>>>>      d->tot_pages += pages;
>>>>>  
>>>>>      /*
>>>>> -     * can test d->claimed_pages race-free because it can only change
>>>>> +     * can test d->outstanding_pages race-free because it can only change
>>>>>       * if d->page_alloc_lock and heap_lock are both held, see also
>>>>>       * domain_set_outstanding_pages below
>>>>>       */
>>>>> @@ -504,17 +502,16 @@ unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
>>>>>          goto out;
>>>>
>>>> I think you can probably short-circuit the logic below if pages == 0?
>>>> (and avoid taking the heap_lock)
>>>
>>> Are there callers passing in 0?
>>
>> Not sure, but if there are no callers expected we might add an ASSERT
>> to that effect then.
>>
>>>>>      spin_lock(&heap_lock);
>>>>> -    /* adjust domain outstanding pages; may not go negative */
>>>>> -    dom_before = d->outstanding_pages;
>>>>> -    dom_after = dom_before - pages;
>>>>> -    BUG_ON(dom_before < 0);
>>>>> -    dom_claimed = dom_after < 0 ? 0 : dom_after;
>>>>> -    d->outstanding_pages = dom_claimed;
>>>>> -    /* flag accounting bug if system outstanding_claims would go negative */
>>>>> -    sys_before = outstanding_claims;
>>>>> -    sys_after = sys_before - (dom_before - dom_claimed);
>>>>> -    BUG_ON(sys_after < 0);
>>>>> -    outstanding_claims = sys_after;
>>>>> +    BUG_ON(outstanding_claims < d->outstanding_pages);
>>>>> +    if ( pages > 0 && d->outstanding_pages < pages )
>>>>> +    {
>>>>> +        /* `pages` exceeds the domain's outstanding count. Zero it out. */
>>>>> +        outstanding_claims -= d->outstanding_pages;
>>>>> +        d->outstanding_pages = 0;
>>>>> +    } else {
>>>>> +        outstanding_claims -= pages;
>>>>> +        d->outstanding_pages -= pages;
>>>>
>>>> I wonder if it's intentional for a pages < 0 value to modify
>>>> outstanding_claims and d->outstanding_pages, I think those values
>>>> should only be set from domain_set_outstanding_pages().
>>>> domain_adjust_tot_pages() should only decrease the value, but never
>>>> increase either outstanding_claims or d->outstanding_pages.
>>>>
>>>> At best the behavior is inconsistent, because once
>>>> d->outstanding_pages reaches 0 there will be no further modification
>>>> from domain_adjust_tot_pages().
>>>
>>> Right, at that point the claim has run out. While freeing pages with an
>>> active claim means that the claim gets bigger (which naturally needs
>>> reflecting in the global).
>>
>> domain_adjust_tot_pages() is not exclusively called when freeing
>> pages, see steal_page() for example.
>>
>> When called from steal_page() it's wrong to increase the claim, as
>> it assumes that the page removed from d->tot_pages is freed, but
>> that's not the case.  The domain might end up in a situation where
>> the claim is bigger than the available amount of memory.
>>
>> Thanks, Roger.
> 
> This is what I meant by my initial reply questioning the logic itself.
> 
> It's all very dubious with memory_exchange and makes very little sense on the
> tentative code I have for per-node claims.
> 
> I'd be quite happy to put an early exit before the spin_lock on pages <= 0.
> That also covers your initial comment and prevents claims from growing after a
> domain started running if it didn't happen to consume all of them.
> 
> Is anyone opposed?

We first need to reach common understanding what a claim is (or is not). See
the other reply just sent.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 10:52:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 10:52:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902201.1310160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpmMu-0004U1-Bw; Wed, 05 Mar 2025 10:52:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902201.1310160; Wed, 05 Mar 2025 10:52: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 1tpmMu-0004Tu-8o; Wed, 05 Mar 2025 10:52:52 +0000
Received: by outflank-mailman (input) for mailman id 902201;
 Wed, 05 Mar 2025 10:52: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpmMs-0004To-SC
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 10:52:50 +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 fa6a26f9-f9af-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 11:52:48 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-390eebcc331so396926f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 02:52:48 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e484452asm20826786f8f.61.2025.03.05.02.52.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 02:52:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa6a26f9-f9af-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741171968; x=1741776768; 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=RMok7cbR0K61PIx+N9lsP4PXqbzkRUAO8Y0fRA+vfY4=;
        b=Cunv0iRKYcJc3ioznMWm1jX8mCXtlesUcZn/7I25NKl0H7T5leKonXfTwHxUEEC0yk
         mOoCQNUSr1tBVrJxC5hl0JzFV+YNfAq9l8dNBi7KzmOWbFSkhfAs1DVIdlps2dU1EdWI
         SYip+IUP2w4PYmmPm+9TerkkD79eprcm3ylYauH1tKG7E1HpUo9d7NkKNAjRyxSu2/15
         sRLUz0sGDcbRpKHxH1RnTwYz7zLdpxyDtCHSRjC4Cgfk4zwlTVqGX4h6KGrFZ6EOv0pS
         GpawrqfVnQHYAQg/yoHwYr2HzvWyCV+4bVTtwVulfEN1mKmmQrh4OBNtuDWWZleVH6t0
         PZqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741171968; x=1741776768;
        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=RMok7cbR0K61PIx+N9lsP4PXqbzkRUAO8Y0fRA+vfY4=;
        b=o4HPUEMLxjBDKxH3O2XKTCuFJ05tQfKp/PyKPdzWl22R9kDm1gbQZBXpi6vMnPCMWn
         C6wkfGxwd/aVea7vpAiON6byiFgYnakAXD8wvT6vZ4ZmZNd5Xh+2hcNBKIEAlKt1dHQs
         fHIZZ/1Nug46dGp+vBQWvOf6Skt0x8I6fihQ/905ionM45DYwIbo/OMITrdXmZ22u2si
         2lIZ6g26rOFOshGJHqdMK1jYa4PjC/gwNQA0qgw0e9mqEf2Lhfyx2QvBN71LbVpviadv
         cu1BfItH9N4eLXvX0+U/PmSYJuS4ZSJQff6hUEM0msp729aL2Q3PqtXH0/ni1XUaPl39
         Vfxg==
X-Forwarded-Encrypted: i=1; AJvYcCVlETAY7bBmL/7CxO93K7ZODltFOpcBVPqeM0FTref7+WIWJZ+yucUkTWNIIEd9bU+6bmUmFl6lgrE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzsoYWrrzzSdU+T2qRAqFomCYwylQrGPxKoYZ6KLqewS2fNVNX8
	mLLVzYOD4n1WY/SQPfmw7Ep9jbeOddnFDcP62Tgm14ZeZswpZS06ue5KxcFEfQ==
X-Gm-Gg: ASbGncteLTYJkZv1Ec32PPsXyKwA7yeJevDyyJUSJdQ5Lan9ECHkw2a8JMdALdfzOWP
	CKnJevRPYVzbVilB6myCStwWwXpZCtOjNiDZH3RgGaU4yqUfSiI2ac1Az7OimibfctzyoH/vFXv
	J7f07ZhA8goCckHEs4rLDOeJGDCGqJ5/S9j79nXrESahlXaXYEYQ4WBqUTlxmEu9N78CgojoZfX
	jBkiOGDFVBvOrdYYES9eoeQelrFCekQwewWwTirsjZmPNUxb9EUGJP6FvNMW36UkBO2si19XKNB
	TJ21fY/It87JX57FTv5PSeMUQqd4/P5537DiMYB0TRVZVGnwb1HTKeNaLmAOqfRn+SOrrsHjAe1
	DtEZZblcAW74hoT0LpXL6kAhJM9cq9A==
X-Google-Smtp-Source: AGHT+IHy3Mhy+MVlfS70FFSm37U+BR/OzNIt6egM9RIlIKxIRJO8MSNI7t5lvkyoWvwp32UNaLVhzQ==
X-Received: by 2002:a05:6000:2a8:b0:38a:4184:14ec with SMTP id ffacd0b85a97d-3911e9cbda1mr2166120f8f.1.1741171968330;
        Wed, 05 Mar 2025 02:52:48 -0800 (PST)
Message-ID: <efec544f-1904-472b-afef-291d25e939e3@suse.com>
Date: Wed, 5 Mar 2025 11:52:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
To: Alejandro Vallejo <alejandro.vallejo@cloud.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: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <fde4d70e-d7af-4e51-a871-d4ac19737064@suse.com>
 <D83BG5T2IRZW.2J68RYJ8CFPY6@cloud.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: <D83BG5T2IRZW.2J68RYJ8CFPY6@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.02.2025 15:59, Alejandro Vallejo wrote:
> On Wed Feb 26, 2025 at 2:02 PM GMT, Jan Beulich wrote:
>> On 24.02.2025 14:27, Alejandro Vallejo wrote:
>>> @@ -504,17 +502,16 @@ unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
>>>          goto out;
>>>  
>>>      spin_lock(&heap_lock);
>>> -    /* adjust domain outstanding pages; may not go negative */
>>> -    dom_before = d->outstanding_pages;
>>> -    dom_after = dom_before - pages;
>>> -    BUG_ON(dom_before < 0);
>>> -    dom_claimed = dom_after < 0 ? 0 : dom_after;
>>> -    d->outstanding_pages = dom_claimed;
>>> -    /* flag accounting bug if system outstanding_claims would go negative */
>>> -    sys_before = outstanding_claims;
>>> -    sys_after = sys_before - (dom_before - dom_claimed);
>>> -    BUG_ON(sys_after < 0);
>>> -    outstanding_claims = sys_after;
>>> +    BUG_ON(outstanding_claims < d->outstanding_pages);
>>> +    if ( pages > 0 && d->outstanding_pages < pages )
>>
>> The lhs isn't needed, is it? d->outstanding_pages is an unsigned quantity,
>> after all. Else dropping the earlier of the two BUG_ON() wouldn't be quite
>> right.
> 
> d->outstanding pages is unsigned, but pages isn't.
> 
> It was originally like that, but I then got concerned about 32bit machines,
> where you'd be comparing a signed and an unsigned integer of the same
> not-very-large width. That seems like dangerous terrains if the unsigned number
> grows large enough.

Oh, indeed - I didn't take ILP32 arches into account.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 11:37:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 11:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902211.1310169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpn3W-0005Ic-H1; Wed, 05 Mar 2025 11:36:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902211.1310169; Wed, 05 Mar 2025 11:36: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 1tpn3W-0005IV-EO; Wed, 05 Mar 2025 11:36:54 +0000
Received: by outflank-mailman (input) for mailman id 902211;
 Wed, 05 Mar 2025 11:36: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpn3U-0005IN-Sg
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 11:36:52 +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 20e07aed-f9b6-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 12:36:50 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43bd03ed604so9966715e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 03:36:50 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e484489esm21159162f8f.68.2025.03.05.03.36.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 03:36:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20e07aed-f9b6-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741174610; x=1741779410; 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=W/bZmWa2TlkhDcqJeZ5IU0BlLMr8XE1pU7pwumDx8CA=;
        b=efDzLbo6LrsgzSqRdAlDVxWtAFqux3qO9bGYB8f8usnOBRmEsMtuX29mVvTaKJMbpo
         CtvaOr1XVEyq333PF3DUx7b1J2G7ZznyKkETzIY38LndO/djzxn1EW3S0wrNOLE6TNhn
         PCfd0I6TJx6Ha4805HMORdU+lcASHy1xy45LBGt57OX0Ffy1F9zNA9WrjaGf/nZH5uLM
         kP64AnUioCV55ALCUCRTJ5cQL9zf475URlIbsCZXHdQPquIFfZQw7eA8JIkiWlNIYUgh
         /YpAeeoQwDoW8xBuHmJCjRV8jeOdIBJbn1PUQHByP0zj2syczSvw7q/yLdQOeHLtJUqA
         0qAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741174610; x=1741779410;
        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=W/bZmWa2TlkhDcqJeZ5IU0BlLMr8XE1pU7pwumDx8CA=;
        b=WetF40i6TvtDgAwB/LsJ7hClAiPEN+j2/GdDKf0p24e2FLuXFaoOLWnj+AkWW0gLXP
         lnLj+SEI+n2Rp6Lo/oA/Bm26IMP8gspb7sPFUI2rp4WdV3mb3HL6QbZnFE6a3JV1ETln
         dDEvh/ZqnUsHdGZnWDOMkLU3OABx3aXIogbPf/udayjhAal1dF2q3u156kUsFw6xTbnJ
         wsauakrmv/sA4qOP3+eR6WoOHClNwRxwL2sjNvCjnMT7JI/WXz5pfxLVdqoSmlHnhwq5
         UbcKkt/A8nMS9YDJMaBZ7QcsRbl9dSJtiriZq/WmBPofW+L/NgK1uMaPWhlHoIPCkJGt
         /sBQ==
X-Forwarded-Encrypted: i=1; AJvYcCU6j+bh/N+tK8qXmia7S+uUcmufxJCDnAAOfJKcbpR7ueJ/920+FvgwRaTvI4wpuxVSiESymse8Q2s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzYGs1Xk3wmjD7ZDeIdWb2vXZjSUX7V0nYsUjcnzVxUzGZbR7ct
	V//Al3exCZUHs/FWG6b2YpCRtI/v/iW5xpW+GWV/Wj1BSR1CA9ho5AatDX0qDQ==
X-Gm-Gg: ASbGnctENj2Aj/PxZ+UNwbMj9dwu9zbqK0uK4IH66nsnIQ/X3nxZj+DY+KV/M6iYOU+
	kXN0+jaWEU2xeC0OUQ/P1ulvmNOMkuj5li8Pvu4bfYNZb2VPrkpemLjjrS3qK6Xoi7Ccl1slvel
	15xvP96RGcW9vgc0hHgtLgwMZbqq15aC32HTu/rRKpMH3m/od+exp8cTr0hlkk1t6UOPCyOWxCF
	6dSO3mhBt0JVJ2UyX9uMp1p44qpx74I1W/y7z0yceR2Zz/bYM8keqjmg2uoElP3LwQ13zX15G5G
	IO8GnXhlHz4DIU41f1b21mnjjZPt6WtCAhmhEYPlagLmzHZkCl7WnSOi1Ip4tspGMRiA9wJa1UZ
	PPXPzQkpibu6amSjrF7ZE/MlGyg0TBQ==
X-Google-Smtp-Source: AGHT+IFgmKuswOj294ppMALG72o6/WqlM2CHVNm/vXIzSQxFIGZ0H/tFnTsB9JkWpXe+e69WXr5S9w==
X-Received: by 2002:a05:600c:310f:b0:439:985b:17d6 with SMTP id 5b1f17b1804b1-43bd2adb414mr19397075e9.27.1741174609716;
        Wed, 05 Mar 2025 03:36:49 -0800 (PST)
Message-ID: <1f763c1a-5844-42d8-9995-3a07f3521172@suse.com>
Date: Wed, 5 Mar 2025 12:36:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/vmx: Rewrite vmx_sync_pir_to_irr() to be more
 efficient
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: <20250304232218.2768344-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: <20250304232218.2768344-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 00:22, Andrew Cooper wrote:
> There are two issues.  First, pi_test_and_clear_on() pulls the cache-line to
> the CPU and dirties it even if there's nothing outstanding, but the final
> bitmap_for_each() is O(256) when O(8) would do, and would avoid multiple
> atomic updates to the same IRR word.
> 
> Rewrite it from scratch, explaining what's going on at each step.
> 
> Bloat-o-meter reports 177 -> 145 (net -32), but real improvement is the
> removal of calls to __find_{first,next}_bit() hidden behind bitmap_for_each().

Nit: As said in reply to v2, there are no underscores on the two find
functions bitmap_for_each() uses.

> 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>
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1699791518
> 
> v3:
>  * Fix IRR scatter address calculation
>  * Spelling/Grammar improvements

The description starting with "There are two issues" I fear it still
doesn't become quite clear what the 2nd issue is. I can only assume it's
the use of bitmap_for_each() that now goes away.

Preferably with this tweaked a little further
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 12:14:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 12:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902228.1310180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpndQ-0002GR-AS; Wed, 05 Mar 2025 12:14:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902228.1310180; Wed, 05 Mar 2025 12:14: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 1tpndQ-0002GK-7t; Wed, 05 Mar 2025 12:14:00 +0000
Received: by outflank-mailman (input) for mailman id 902228;
 Wed, 05 Mar 2025 12: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=eLt8=VY=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1tpndP-0002GE-7g
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 12:13:59 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e64f899-f9bb-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 13:13:54 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-ab744d5e567so137817266b.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 04:13:54 -0800 (PST)
Received: from CSGPROD238885.citrite.net
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac21dd2c297sm49786366b.110.2025.03.05.04.13.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 04:13:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e64f899-f9bb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741176834; x=1741781634; 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=BvWiuk8Uxkqdm6Y9jUJ/8FAJWqJeQkr3WBjY90GvljY=;
        b=LxSBjkyBU/p1cJZyoj5r7yC8n23AEpuSzDdoSOgrq66LQTItQ4gMJGPw7NXE5vmgnw
         GDfEfno9+rnJAqo2GTuQZuIbNzP8WK6YMIBowpcyEt7EmsLaiSw1dTk9oI2oOzHKfQRF
         hQTlgR+JyYxblPA9vdDmfizfk3gcAI5x9C73o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741176834; x=1741781634;
        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=BvWiuk8Uxkqdm6Y9jUJ/8FAJWqJeQkr3WBjY90GvljY=;
        b=QM4UKVZHDaUf0P9iiSh1XDa4GdrYRr5a3vaEzCV/WGltu8BSYHKURTZuXcyWu8kugD
         EPNQq7rev3jxLE0X/zIsNtVtbujIKlHBlcnR87NHM3KAyYYR0tl4xtcsy+dGUAFqvFcY
         GXGV2X3+Fe925cT3P4XCOQdQMG53vZzeW2UxhDuKMSyv8BO2l+0S02pajD/Q4q1lpTlG
         4jHvicNuekiRAtsBhARlzU32+VGDUOfPxZbxSoY2+R+tf+68kbCrLJfAbkyrtUxKQb+v
         +cY1aMc7EHlvfRzkWGM/62KEVSl7TMyN+5BM7BXVS/YnuOrY/vry8518aK1UsR/pMrA7
         g5qg==
X-Forwarded-Encrypted: i=1; AJvYcCUFagXeIif6k7SBMJ6SIZB6b961XjtAEhU+tI9kX6jrgO+RpfcWhEAC04A5vaP9Q91kr9v7QLJ0vjg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYU7l/yGfWoYf5lPHt0ErSnZwrsA10VOlyK1frUCipxqCBabzL
	SkQe+rQPtbgvfZ/uXpnuGlNaYk4lVqL3DhVq23qTt1y1zy/T+ZmDUhv72ib1Zro=
X-Gm-Gg: ASbGnctQkaEivZfhMtbDGHUynUmcfKxvJPxpC+7K0LHqThKmeFMJJwGQjRhCxlDE+0A
	O4fHF7ZqvE3IMZdTa32MiniXl7JSvifjdvqURfNxEwfpjVrAPwjb0u2XPVAk3x9lkwaN49LH44T
	sVVMMM7z5fYBCoUUiwrq8rdwSIXlmiH4yYVOam8+yorU5trNT50AHs9eM8a1ruXU/ko1MVe+QbU
	UziiK0qP7gIMdKiSvXhuOtZSAWX179wLJYE+WYJGM1OrK0tszz3p4mPM1hvNJ466ZOYyq9yB6It
	HFYuTXyf0N3D/k8wrXdiALxE3Ag9wRvGbriPetXaU2UmBeKivXruqN7TwW/gZqfujgZY/2X/DeX
	LecVtLOfNEVlBOqJFUam4ewYvGjIDUU8l/wZlYTzZpOfOc6BHcuE=
X-Google-Smtp-Source: AGHT+IHGUWwB1yE8HwBJm3ZSwkn5aVzqF4UWcCM8+vXy12m2Zo6U+E5Nz3gi1ID45TxzE4VIWaSsaQ==
X-Received: by 2002:a17:907:7b88:b0:abf:641a:571e with SMTP id a640c23a62f3a-ac20f01c0d6mr263168466b.30.1741176833648;
        Wed, 05 Mar 2025 04:13:53 -0800 (PST)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: jgross@suse.com
Cc: andrew.cooper3@citrix.com,
	anthony.perard@vates.tech,
	jbeulich@suse.com,
	julien@xen.org,
	michal.orzel@amd.com,
	roger.pau@citrix.com,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
Date: Wed,  5 Mar 2025 12:13:52 +0000
Message-Id: <20250305121352.83589-1-andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250305085201.14258-1-jgross@suse.com>
References: <20250305085201.14258-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Unrelated to the contents of this patch, but talking about docs/misc/xenstore.txt:
it also mentions GET/SET_QUOTA calls, but these are not part of the xs_wire.h,
and instead can only be used as sub-arguments to CONTROL calls.



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 12:16:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 12:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902237.1310190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpng9-0002o6-Mv; Wed, 05 Mar 2025 12:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902237.1310190; Wed, 05 Mar 2025 12: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 1tpng9-0002nz-KE; Wed, 05 Mar 2025 12:16:49 +0000
Received: by outflank-mailman (input) for mailman id 902237;
 Wed, 05 Mar 2025 12: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=/re5=VY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tpng8-0002nt-3r
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 12:16:48 +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 b4a928d1-f9bb-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 13:16:45 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5e04064af07so12598627a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 04:16:45 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-abf692b6b44sm625090466b.112.2025.03.05.04.16.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 04:16:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4a928d1-f9bb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741177005; x=1741781805; 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=kpWAmurtRsmiMOPwj8HI5cycCrFn4QQrcYXVSz7cnp0=;
        b=NlV8bBcwxxx6WjALz+Q+Net9BShI0w6C7ls9IrJCA60BrgSyIonpEH0Bq5sifzglyu
         yMnHO6+HdHlCg+zGEzbT95HSvW1nrpd8jU2EUIrg36HuVbZQPN5Pm+AbXZCgiM93NmAC
         VVDgANwaOOB4L8IpFtmqR68/bmIRhZ+1iv3q/D/UUDsomzW8I9Wyox+8I/2mlK2LeRKV
         +GvRuP/0V96MZ88nD6TAslLTJN1YGkAWcq80nq2Upi1UYDhDzDtpnJQcUWCRg+gxggB6
         9XGzlnYzWAFJwvZG0QaLCMR/JR4q8DjDtwmGHTAkt590eSCcl9k7zwmKMcWRk2MkiR8z
         ll7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741177005; x=1741781805;
        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=kpWAmurtRsmiMOPwj8HI5cycCrFn4QQrcYXVSz7cnp0=;
        b=IZWnpcKzR38BwLPr+8xW//d+65ZkN6Ag8yqGcnponn5ptV2S4IJ4PEanopy5HeCLfc
         fkkrEpHdMgrCTNVGuHadd92OzgFM2cQdHSUVEkrijgeisMuemRivuz1Kn/Uz7S+vOb8k
         aBvPVHsvDDXtFYdeAehefGLvV8bGoYu2qXZouCtM80VhGuj77CbrU8Rlycg7fkEJl6Tg
         brcPjd7ZOUtMfZUH46g2BQvGp3S7mT2Yb2An/b3kxplAELH9U3VIb+OOrRr0VXTyljv5
         Ldbv2Pu12amfe1ImiMWHn2sCDqsJe2Vji+Ga3/Wo1ocGkz7y9l7z2yPVA9f/IiUzE8a6
         04oA==
X-Forwarded-Encrypted: i=1; AJvYcCUcaszZP6ZuehGl49eBjbNEUzT7pp8iLZMsZXzafRQ9GPl6NSj2n9kK81355Iuyp/nDPWFw8kEnHaQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxdVKgdpFcdvWFEQzZbTKhzqNRIoJGfzLzlEn9NeEJB6+TdXYDS
	1YCSziu4qUO4WAahJMGiIsbE0JRuEnIZM3J0OrWka/aJ+xR2qph0NDpPft+Q/v0=
X-Gm-Gg: ASbGncvY0eR5tO6nOAjjMfahh2KgugN+6AEGaUOJaXWHb0h/u3Q7NzjHi70woH2Y7nY
	8OrTS1pSsvauVVHmDpKWOREJNk9w4XhYS5odic1HM6NwFxql/t819OW62WOTkQRmrFFjuxNyU0X
	Sj9cTNHe2JryIbNVUZz3pfuTKE3Z9UUKB5zJXwMUEECgLCYGd7v8cSvh5yaFEKE4ejRRMU6l4LA
	JVy1X68xZx9t5firSyLj5+KgLmoI0aMFGsZXozBErV9wHxfMVNQJblcNOAvOVoSHVJzYjhsupvl
	bnnXycVjO3TScnU8VWGk4SEsZws9JUT7yZk+/qYDICR5OHJT2Ger7YHmJW3UpP2O8kFgTtllJKn
	9YSQsQjBgRcO0Svamf+Rg2vMqsTJxAvrEHXc2snSKTTVbVDUoMzPYYVjh1v+YsKpzu/s=
X-Google-Smtp-Source: AGHT+IEzmIeUPKJL0Gk8jC6E/9v/AAHxhgvV8i3eQM4yxrf+xD0ZuIiTO/MCHNDyTVw7LzCxnNpGpQ==
X-Received: by 2002:a17:906:794e:b0:ab7:da56:af9f with SMTP id a640c23a62f3a-ac20db6b140mr293017866b.49.1741177005211;
        Wed, 05 Mar 2025 04:16:45 -0800 (PST)
Message-ID: <eb513d0c-d5d2-4346-b378-b10d732ba1a7@suse.com>
Date: Wed, 5 Mar 2025 13:16:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
To: Andrii Sultanov <andrii.sultanov@cloud.com>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com,
 julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com,
 sstabellini@kernel.org, xen-devel@lists.xenproject.org
References: <20250305085201.14258-1-jgross@suse.com>
 <20250305121352.83589-1-andrii.sultanov@cloud.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: <20250305121352.83589-1-andrii.sultanov@cloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------schPi2JjqCnEmsUnnIID929H"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------schPi2JjqCnEmsUnnIID929H
Content-Type: multipart/mixed; boundary="------------i0c9myb59UaEyIk0ACyo05yJ";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrii Sultanov <andrii.sultanov@cloud.com>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com,
 julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com,
 sstabellini@kernel.org, xen-devel@lists.xenproject.org
Message-ID: <eb513d0c-d5d2-4346-b378-b10d732ba1a7@suse.com>
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
References: <20250305085201.14258-1-jgross@suse.com>
 <20250305121352.83589-1-andrii.sultanov@cloud.com>
In-Reply-To: <20250305121352.83589-1-andrii.sultanov@cloud.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=

--------------i0c9myb59UaEyIk0ACyo05yJ
Content-Type: multipart/mixed; boundary="------------8aGTPewQzV2AwR6k3tEuMNc8"

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

T24gMDUuMDMuMjUgMTM6MTMsIEFuZHJpaSBTdWx0YW5vdiB3cm90ZToNCj4gVW5yZWxhdGVk
IHRvIHRoZSBjb250ZW50cyBvZiB0aGlzIHBhdGNoLCBidXQgdGFsa2luZyBhYm91dCBkb2Nz
L21pc2MveGVuc3RvcmUudHh0Og0KPiBpdCBhbHNvIG1lbnRpb25zIEdFVC9TRVRfUVVPVEEg
Y2FsbHMsIGJ1dCB0aGVzZSBhcmUgbm90IHBhcnQgb2YgdGhlIHhzX3dpcmUuaCwNCj4gYW5k
IGluc3RlYWQgY2FuIG9ubHkgYmUgdXNlZCBhcyBzdWItYXJndW1lbnRzIHRvIENPTlRST0wg
Y2FsbHMuDQo+IA0KDQpJIGhhdmUgYSBwYXRjaCBzZXJpZXMgaW4gd29yayBhZGRpbmcgdGhv
c2UsIHBsdXMgdGhlIGZ1bmN0aW9uYWxpdHkgaW4NCnhlbnN0b3JlZCBhbmQgeGwvbGlieGwu
DQoNCklmIHdhbnRlZCBJIGNhbiBwb3N0IHRoZSB4c193aXJlLmggcGF0Y2ggYmVmb3JlIHRo
ZSByZXN0IG9mIHRoZSBzZXJpZXMuDQoNCg0KSnVlcmdlbg0K
--------------8aGTPewQzV2AwR6k3tEuMNc8
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-----

--------------8aGTPewQzV2AwR6k3tEuMNc8--

--------------i0c9myb59UaEyIk0ACyo05yJ--

--------------schPi2JjqCnEmsUnnIID929H
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/Ey8FAmfIQKwFAwAAAAAACgkQsN6d1ii/Ey9e
Wgf+M1Atx3hI2cKa+SLb22PfI6GPs437xqzouiQn65eOTIXzjxW1VCArG+Hsu4FJxfGd9AJ8nj21
U0MmItUpck/kzk3HS59RoH7c6/SU+fr/Y6H6AFuOyqt82WEBaDccbc2lK04eGafXTPBW7iagPywg
Gp/f3FiEJIuAl1vde3z1Tdb9t7iQHt6p0/u+XaS7xLfxTZwGswUhVZb2fR4qdKtRhU9H0iFBNrQf
eLUk+IHERfIwHJPrHeJ2FsztENZA+KwBcQwYgVXjnNJX7tsoYDuFvG3zTcR7AMk8LPr+soFxzh7v
6xwxiSbfWx4GocMMcDr5/1pnVTWnYVr1eOe/Ug4m7w==
=jzSK
-----END PGP SIGNATURE-----

--------------schPi2JjqCnEmsUnnIID929H--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 13:14:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 13:14:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902251.1310200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpoa5-0005Co-RW; Wed, 05 Mar 2025 13:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902251.1310200; Wed, 05 Mar 2025 13:14: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 1tpoa5-0005Ch-Nx; Wed, 05 Mar 2025 13:14:37 +0000
Received: by outflank-mailman (input) for mailman id 902251;
 Wed, 05 Mar 2025 13:14: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=0bc7=VY=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tpoa5-0005Ca-2I
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 13:14:37 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8e1e223-f9c3-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 14:14:35 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5496bc2e1b7so3433704e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 05:14:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8e1e223-f9c3-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741180475; x=1741785275; 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=8CYg7/FxYYbOQcf9VmsMAYV4DJYhIFi8m+iESi8XBWc=;
        b=Dn1jt8YzhLEPrIi8VidOV53jEGakkbbra5ZUxHqvZrmXs0o1kAH9I65GyvGJytNpDJ
         GtJ2vNd8i9tmVbUgeeGxRq6bInvr6WsLOse1Ujyd0U+DCIophhwAhwgX/f6zlkxjpvqF
         N26OoUofy1REeohwn/+V7lj4ER9Gttdxgm03H3duxQnTGuczZOGyhJ6Bc/09hkkZQI9z
         Vpq0Oj/O9MknymZNawsnyo/Ss92H1HCR0DBZyRYrbGw/Ns2MFNH705jmtg8XBGBC31Pp
         M2pq6Ei3Y94eNYJLBRabW6C0icha2aL/bmgyJXtszmQV8utM1wAsgZ350fnkgbcaHRAG
         k4vA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741180475; x=1741785275;
        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=8CYg7/FxYYbOQcf9VmsMAYV4DJYhIFi8m+iESi8XBWc=;
        b=nOKOEYVr9BnxCAR0DJm6UtcNlhhfT/8/R+HqHePc1786yGmDrj+/pVlq3k8sbsP9Eu
         wkbp6mblTXvAK/OWkGgFr0pkvSuurZvH9i7I/yK5y6Ph8Rn5apLKHLRxOsz7CSZ0w2cF
         eksMtuNJx0TUznEhbfdZ+OYJGrSkhipvMhos0KtbitcYXXJtyJSlYkQ1znf1bMRj9qA1
         M0xnc/amxx9zKBDCHVbEhEYYoLJExYVz2V/kI+0C3ln0yVtd18JhhWrJuyKD2goR1RFd
         fRCbk48ROzkkUi0+8n9F96udzLb/0amn0mp+VBaCWvIcDY0H1LItd1ZLeST9joH+Xc4d
         dvlQ==
X-Gm-Message-State: AOJu0YxPmRZMqinfoqhNejKbhBXCJAOVumSDuhJNU2tDpVnSRMvNyGed
	VaHOv444REQQ/nMwNzxFvxVSMteU3KFcgIZkt4rF7TfOulVS4FXCGK6oQcprJEBNYeOUn41ZLJS
	nCfOuYOj3q0SAKou+IbqPViuP4Hbypyn5ubMbMg==
X-Gm-Gg: ASbGncsxwwcgMqbIzGygm8z4jLBZUw4lRMSrydT03b2ypf6BnZwAp0wCMH9Fo88MpCC
	ETeG7VI4zoA5oM8KrqpGGYAVXPFzxgAcvWmxMnYaB5oKXgnksyJ1ODceuuaOlSRGb3yQohRvgLR
	QaN21ufTJmZRwwXBtl/UOKK1wn7w==
X-Google-Smtp-Source: AGHT+IH/wMR1vhCFewlIWyWcInAJTNbviD3GVz3iB+Qow6DHc9hcbBO+jEegaArU2LxnS0K8udUigjIwwSdxfYDbnek=
X-Received: by 2002:a05:6512:b8f:b0:549:7c13:e8ac with SMTP id
 2adb3069b0e04-5497d376c9amr1361875e87.33.1741180474395; Wed, 05 Mar 2025
 05:14:34 -0800 (PST)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com>
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 5 Mar 2025 15:14:22 +0200
X-Gm-Features: AQ5f1JqU8RmGd1cWG1FSjbv8ZCUvEpR-I594OZ-EZaafIExz9PtMIEjwvYVMjVU
Message-ID: <CAGeoDV-wz9rE0NK4tGLBwYs9NzBsYZG7fCXZEMkaCMsFXKZ2dQ@mail.gmail.com>
Subject: Re: [PATCH 00/16] Suspend to RAM support for Xen on arm64
To: 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>, Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 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>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	Community Manager <community.manager@xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 5, 2025 at 11:11=E2=80=AFAM Mykola Kvach <xakep.amatop@gmail.co=
m> wrote:
>
> This is V1 series from Mirela Simonovic. Ported to 4.16 and with added ch=
anges
> suggested here
> https://lore.kernel.org/all/CAKPH-NjmaZENb8gT=3D+FobrAycRF01_--6GuRA2ck9D=
i5wiudhA@mail.gmail.com
>
> This is V2 series form Mykyta Poturai:
> https://marc.info/?l=3Dxen-devel&m=3D166514782207736&w=3D2
>
> This series introduces support for suspend-to-RAM (referred to as "suspen=
d"
> in the following text) for Xen on ARM64. The primary focus of this patch =
series
> is to add Xen system suspend support. Previous patch series raised many
> questions regarding VCPU context restoration, so the necessary changes wi=
ll be
> addressed in the next part of this series.
> As part of these changes, all domain flags and related code (which affect=
ed
> common functions like vcpu_unblock) have been removed, keeping only the
> essential modifications for Xen suspend/resume. Suspend/resume is now ful=
ly
> supported only for the hardware domain. Proper support for domU suspend/r=
esume
> will be added in the next part of this patch series.
>
> The implementation is aligned with the design specification that has been
> proposed on xen-devel list:
> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.htm=
l
>
> At a high-level the series contains:
> 1) Support for suspending guests via virtual PSCI SYSTEM_SUSPEND call
> 2) Support for resuming a guest on an interrupt targeted to that guest
> 3) Support for suspending Xen after dom0 finalizes the suspend
> 4) Support for resuming Xen on an interrupt that is targeted to a guest
>
> -------------------------------------------------------------------------=
-------
> TODO:

0) Add suspend/resume handlers to IOMMU drivers (there aren=E2=80=99t any
problems with the current implementation because the domains used for
test are thin, and this patch series implements only the very basic
logic)

> 1) Add VCPU context reset/restore for non-hardware domains.
> 2) Implement xl suspend/resume for Arm (should it follow the x86 approach=
?).
> 3) Support suspend/resume for GICv3.
> 4) Add suspend support for Arm32
>
> -------------------------------------------------------------------------=
-------
> In more details:
>
> *** About suspending/resuming guests
>
> The patches included in this series allow PSCI compliant guests that have
> support for suspend to RAM (e.g. echo mem > /sys/power/state in Linux) to
> suspend and resume on top of Xen without any EL1 code changes.
>
> During their suspend procedure guests will hot-unplug their secondary CPU=
s,
> triggering Xen's virtual CPU_OFF PSCI implementation, and then finalize t=
he
> suspend from their boot CPU, triggering Xen's virtual SYSTEM_SUSPEND PSCI=
.
> Guests will save/restore their own EL1 context on suspend/resume.
>
> A guest is expected to leave enabled interrupts that are considered to be=
 its
> wake-up sources. Those interrupts will be able to wake up the guest. This=
 holds
> regardless of the state of the underlying software layers, i.e. whether X=
en gets
> suspended or not doesn't affect the ability of the guest to wake up.
>
> First argument of SYSTEM_SUSPEND PSCI call is a resume entry point, from =
which
> the guest assumes to start on resume. On resume, guests assume to be runn=
ing in
> an environment whose state matches the CPU state after reset, e.g. with r=
eset
> register values, MMU disabled, etc. To ensure this, Xen has to 'reset' th=
e
> VCPU context and save the resume entry point into program counter before =
the
> guest's VCPU gets scheduled in on resume. This is done when the guest res=
umes.
> Xen also needs to take care that the guest's view of GIC and timer gets s=
aved.
> Also, while a guest is suspended its watchdogs are paused, in order to av=
oid
> watchdog triggered shutdown of a guest that has been asleep for a period =
of time
> that is longer than the watchdog period.
>
> After this point, from Xen's point of view a suspended guest has one VCPU
> blocked, waiting for an interrupt. When such an interrupt comes, Xen will
> unblock the VCPU of the suspended domain, which results in the guest
> resuming.
>
> *** About suspending/resuming Xen
>
> Xen starts its own suspend procedure once dom0 is suspended. Dom0 is
> considered to be the decision maker for EL1 and EL2.
> On suspend, Xen will first freeze all domains. Then, Xen disables physica=
l
> secondary CPUs, which leads to physical CPU_OFF to be called by each seco=
ndary
> CPU. After that Xen finalizes the suspend from the boot CPU.
>
> This consists of suspending the timer, i.e. suppressing its interrupts (w=
e don't
> want to be woken up by a timer, there is no VCPU ready to be scheduled). =
Then
> the state of GIC is saved, console is suspended, and CPU context is saved=
. The
> saved context tells where Xen needs to continue execution on resume.
> Since Xen will resume with MMU disabled, the first thing to do in resume =
is to
> resume memory management in order to be able to access the context that n=
eeds to
> be restored (we know virtual address of the context data). Finally Xen ca=
lls
> SYSTEM_SUSPEND PSCI to the EL3.
>
> When resuming, all the steps done in suspend need to be reverted. This is
> completed by unblocking dom0's VCPU, because we always want the dom0 to
> resume,
> regardless of the target domain whose interrupt woke up Xen.
>
> *** Handling of unprivileged guests during Xen suspend/resume
>
> Any domU that is not suspended when dom0 suspends will be frozen, domUs t=
hat are
> already suspended remain suspended. On resume the suspended domUs still r=
emain
> suspended (unless their wake interrupt caused Xen to wake) while the
> others will be thawed.
>
> For more details please refer to patches or the design specification:
> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.htm=
l
>
> -------------------------------------------------------------------------=
-------
> CHANGELOG
>
> In this cover letter and in the commit messages within the changelog sect=
ion:
> - patch series V1 refers to https://marc.info/?l=3Dxen-devel&m=3D15420223=
1501850&w=3D2
> - patch series V2 refers to https://marc.info/?l=3Dxen-devel&m=3D16651478=
2207736&w=3D2
>
> Changes introduced in V3:
> - drop all domain flags and related code (which touched common functions =
like
>   vcpu_unblock), keeping only the necessary changes for Xen suspend/resum=
e,
>   i.e. suspend/resume is now fully supported only for the hardware domain=
.
>   Proper support for domU suspend/resume will be added in a future patch.
>   This patch does not yet include VCPU context reset or domain context
>   restoration in VCPU.
> - add checks before calling IOMMU suspend/resume. These functions may be
>   unimplemented, so check that they exist before calling to prevent crash=
es
> - prevent disable_nonboot_cpus crash on ARM64. If we call disable_nonboot=
_cpus
>   on ARM64 with system_state set to SYS_STATE_suspend, the ASSERT_ALLOC_C=
ONTEXT
>   assertion will be triggered
> - drop commit "timer: don't migrate timers during suspend" (see comment
>   https://marc.info/?l=3Dxen-devel&m=3D167036477229741&w=3D2). There is n=
o freeze of
>   dom0 on the latest master
> - drop the commit introduced in patch series V2: "xen: don't free percpu =
areas
>   during suspend." This commit was ported from x86 code, but in the new m=
aster,
>   the percpu CPU state change notification call chain has become common, =
so
>   there is no reason to port this code. The remaining part, which does no=
t
>   belong to the aforementioned patch, "don't initialize percpu on resume,=
" has
>   been introduced in a new separate commit
> - introduce system suspend config option and covered code related to
>   suspend/resume with it
> - implement suspend/resume calls for SCIF driver (it was needed for test
>   purpose, code has been tested on R-Car H3 Starter Kit board)
> - the next commits had been appended with "xen/arm: Trigger Xen suspend w=
hen
>   hardware domain completes suspend":
>   -- xen/arm: Disable/enable non-boot physical CPUs on suspend/resume
>   -- xen/arm: Add rcu_barrier() before enabling non-boot CPUs on resume
>   -- xen/arm: Suspend/resume GIC on system suspend/resume
>   -- xen/arm: Resume Dom0 after Xen resumes
>   -- xen/arm: Suspend/resume console on Xen suspend/resume
> - add iommu suspend/resume calls to system suspend/resume
> - return PSCI_NOT_SUPPORTED instead of 1 in case when we call SYSTEM_SUSP=
END
>   on ARM32
> - add checking of PSCI version for SYSTEM_SUSPEND call
> - instead of using create_page_tables, enable_mmu, and mmu_init_secondary=
_cpu,
>   the existing function enable_secondary_cpu_mm is now used
> - prepare_secondary_mm (previously init_secondary_pagetables in the previ=
ous
>   patch series) is now called at the end of start_xen instead of
>   setup_pagetables. Calling it in the previous location caused a crash
> - add early printk init during resume
>
>
> Changes introduced in V2:
> - drop commit "xen/arm: Move code that initializes VCPU context into a se=
parate
>   function" (see comment https://marc.info/?l=3Dxen-devel&m=3D15420286170=
4014&w=3D2)
> - introduce a separate struct for watchdog timers (see comment
>   https://marc.info/?l=3Dxen-devel&m=3D154203624106684&w=3D2)
> - don't initialize percpu on resume, it was a part of "xen: don't free pe=
rcpu
>   areas during suspend"
> - drop the call to watchdog_domain_resume from ctxt_switch_to; drop suspe=
nded
>   field from timer structure introduced for watchdog timer in prev series
> - mov hyp_resume to head.S to place it near the rest of the start code
> - simplify the code in hyp_resume by using existing functions such as
>   check_cpu_mode, cpu_init, create_page_tables, and enable_mmu
> - a lot of changes related to reseting/restoring VCPU context of suspende=
d domU
>
> Mirela Simonovic (9):
>   xen/x86: Move freeze/thaw_domains into common files
>   xen/arm: introduce a separate struct for watchdog timers
>   xen/arm: add suspend and resume timer helpers
>   xen/arm: Implement GIC suspend/resume functions (gicv2 only)
>   xen/arm: Implement PSCI system suspend
>   xen/arm: Trigger Xen suspend when hardware domain completes suspend
>   xen/arm: Implement PSCI SYSTEM_SUSPEND call (physical interface)
>   xen/arm: Resume memory management on Xen resume
>   xen/arm: Save/restore context on suspend/resume
>
> Mykola Kvach (6):
>   xen/cpu: prevent disable_nonboot_cpus crash on ARM64
>   xen/percpu: don't initialize percpu on resume
>   xen/arm: Introduce system suspend config option
>   xen/char: implement suspend/resume calls for SCIF driver
>   xen/arm: add watchdog domain suspend/resume helpers
>   CHANGELOG: Mention Xen suspend/resume to RAM feature on arm64
>
> Mykyta Poturai (1):
>   iommu: Add checks before calling iommu suspend/resume
>
>  CHANGELOG.md                          |   2 +
>  xen/arch/arm/Kconfig                  |  11 +
>  xen/arch/arm/Makefile                 |   1 +
>  xen/arch/arm/arm64/head.S             | 117 ++++++++++
>  xen/arch/arm/gic-v2.c                 | 142 ++++++++++++
>  xen/arch/arm/gic.c                    |  29 +++
>  xen/arch/arm/include/asm/domain.h     |   3 +
>  xen/arch/arm/include/asm/gic.h        |  12 +
>  xen/arch/arm/include/asm/perfc_defn.h |   1 +
>  xen/arch/arm/include/asm/psci.h       |   3 +
>  xen/arch/arm/include/asm/suspend.h    |  41 ++++
>  xen/arch/arm/include/asm/time.h       |   5 +
>  xen/arch/arm/psci.c                   |  19 ++
>  xen/arch/arm/setup.c                  |   8 +
>  xen/arch/arm/suspend.c                | 320 ++++++++++++++++++++++++++
>  xen/arch/arm/time.c                   |  26 +++
>  xen/arch/arm/vpsci.c                  |  32 +++
>  xen/arch/x86/acpi/power.c             |  29 ---
>  xen/common/cpu.c                      |  43 ++++
>  xen/common/domain.c                   |  30 +++
>  xen/common/keyhandler.c               |   2 +-
>  xen/common/percpu.c                   |   3 +-
>  xen/common/sched/core.c               |  50 +++-
>  xen/drivers/char/scif-uart.c          |  31 ++-
>  xen/drivers/passthrough/iommu.c       |   4 +-
>  xen/include/xen/sched.h               |  15 +-
>  xen/include/xen/watchdog.h            |   6 +
>  27 files changed, 945 insertions(+), 40 deletions(-)
>  create mode 100644 xen/arch/arm/include/asm/suspend.h
>  create mode 100644 xen/arch/arm/suspend.c
>
> --
> 2.43.0
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 13:23:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 13:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902263.1310210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpoiJ-0007S4-ND; Wed, 05 Mar 2025 13:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902263.1310210; Wed, 05 Mar 2025 13: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 1tpoiJ-0007Rx-KI; Wed, 05 Mar 2025 13:23:07 +0000
Received: by outflank-mailman (input) for mailman id 902263;
 Wed, 05 Mar 2025 13:23: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=4HJ/=VY=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tpoiI-0007Rr-Rv
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 13:23:06 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6689420-f9c4-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 14:23:01 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-abec8b750ebso1176396666b.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 05:23:01 -0800 (PST)
Received: from localhost (0545937c.skybroadband.com. [5.69.147.124])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac1e382a04bsm387908366b.163.2025.03.05.05.23.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 05:23:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6689420-f9c4-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741180981; x=1741785781; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5wkESYSyUuD0YEz+TUV/Lx0vdZAF33mta7PSqeuTzt4=;
        b=YzxLk40YJtJ1Jha+gaFREL7M9R2kH/neStHr/pDVwMrO352/VOM5hA7EgXZ/oI7pjH
         f1N3HlIhQbPp7W+ZbQONvVcySWRXDD/J4xQnOKEImWBCeN5FxO3v1J4M17jIbcpEH6OC
         f1TweP68ahxelBFROy3K70QuDXr9FP6SmILD4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741180981; x=1741785781;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=5wkESYSyUuD0YEz+TUV/Lx0vdZAF33mta7PSqeuTzt4=;
        b=aVlbm3/IC2uQOhekxOIUYGRZIAr8Ygwr3FaojXJZAnzPCOW6pXgIHAM+zV6Mtjou8t
         XCSUJwxUY2OQ5izN9mXIvxTZjqtQuoSn3uT1HdtVmvm+nHQ0hZ2OsGRPvlc1VTODaySi
         NhJQXENcibguLnsn3J1CVtP9kyLKt0weOHoWob/tt9cUpJBEZ+GIleUHHlPfVEv1Ka08
         zvJhj/wi8qKzHLGqDQZU3+JYaFuWiPR358r1DamfG3ZQoiWATahkNyfLaPBroLadfe9W
         BeeZbqyp6Oyf7UfPyB6pPCGUNaNNRo7a6hEVehZ8TgKDG4DA231litlDKDYsHWrcEJ0t
         1fHg==
X-Forwarded-Encrypted: i=1; AJvYcCUCduHj44vJWr1udBCQ5qgmWsMAs3PWlbL1aOZz+AdgPBBqMsHXVJrfrrP1khDHK7VBZaTjmV3FbuI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxW1VtLV73V52dccHO7HEsli8+TIP+6dNmCiWPGvM+wMRT5sMSk
	lrLkGSO7I4iRSsZnn1HRUN6zD4KFfh6mL7pVTYz+EFBqPBF1Mi1vLZmRAPimgOw=
X-Gm-Gg: ASbGnctzmt17MKuC3oiboKLGRT0X+UL+TxZbVIagnMacTCz3aJKdH1Xwz3MINVNfVGf
	+RSUQQ52/2GD9ny2GMn9w3rIuae8Am0Ds1RxLdz/A1qRVy4jCLRgQNKBzi4Ej4kC63UjGk3uwaP
	zoiwviy/VSBrDo63vptVmszuRe28KrB8/99oePtBqrHweFAbqk5v3nyRiavAVem4MBHKAQHvXfc
	skzPB5WkrNff4xkPXYfW+UGwWBUr/m5BXqLiPLuTMCzbsox4ylVDB7p8nMioFPvYjgTM4UTrkXZ
	A9BZlnU3G1rglTuPl8gGOtfr4KuH+64b8n5iqioplXzcVoC4YDdtF9xOryONy2Fcmb4zdnOojHw
	=
X-Google-Smtp-Source: AGHT+IHgy3LlBrf6t2zjO88+G7Rl5lEpsz3WcqpIXMPvPwGHplfWYYnRjdGe7NF4LQl6yAXllgzZmg==
X-Received: by 2002:a17:907:7f89:b0:ac1:db49:99b7 with SMTP id a640c23a62f3a-ac20e42964amr320431366b.51.1741180981021;
        Wed, 05 Mar 2025 05:23:01 -0800 (PST)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 05 Mar 2025 13:22:58 +0000
Message-Id: <D88D5732H4EQ.3770M7EIO3TW1@cloud.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>
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <D80RCS1Y7AKH.373ULA2LO3MND@cloud.com>
 <4af0077c-c933-4894-bfad-2adda7afbbf7@suse.com>
 <D83AY7ZBKC81.3NBCLVK3DX833@cloud.com>
 <f50d8ee7-a00f-4f4f-99f6-4313af7a4fdc@suse.com>
In-Reply-To: <f50d8ee7-a00f-4f4f-99f6-4313af7a4fdc@suse.com>

On Wed Mar 5, 2025 at 10:49 AM GMT, Jan Beulich wrote:
> On 27.02.2025 15:36, Alejandro Vallejo wrote:
> > On Wed Feb 26, 2025 at 2:05 PM GMT, Jan Beulich wrote:
> >> On 24.02.2025 15:49, Alejandro Vallejo wrote:
> >>> Open question to whoever reviews this...
> >>>
> >>> On Mon Feb 24, 2025 at 1:27 PM GMT, Alejandro Vallejo wrote:
> >>>>      spin_lock(&heap_lock);
> >>>> -    /* adjust domain outstanding pages; may not go negative */
> >>>> -    dom_before =3D d->outstanding_pages;
> >>>> -    dom_after =3D dom_before - pages;
> >>>> -    BUG_ON(dom_before < 0);
> >>>> -    dom_claimed =3D dom_after < 0 ? 0 : dom_after;
> >>>> -    d->outstanding_pages =3D dom_claimed;
> >>>> -    /* flag accounting bug if system outstanding_claims would go ne=
gative */
> >>>> -    sys_before =3D outstanding_claims;
> >>>> -    sys_after =3D sys_before - (dom_before - dom_claimed);
> >>>> -    BUG_ON(sys_after < 0);
> >>>> -    outstanding_claims =3D sys_after;
> >>>> +    BUG_ON(outstanding_claims < d->outstanding_pages);
> >>>> +    if ( pages > 0 && d->outstanding_pages < pages )
> >>>> +    {
> >>>> +        /* `pages` exceeds the domain's outstanding count. Zero it =
out. */
> >>>> +        outstanding_claims -=3D d->outstanding_pages;
> >>>> +        d->outstanding_pages =3D 0;
> >>>
> >>> While this matches the previous behaviour, do we _really_ want it? It=
's weird,
> >>> quirky, and it hard to extend to NUMA-aware claims (which is somethin=
g in
> >>> midway through).
> >>>
> >>> Wouldn't it make sense to fail the allocation (earlier) if the claim =
has run
> >>> out? Do we even expect this to ever happen this late in the allocatio=
n call
> >>> chain?
> >>
> >> This goes back to what a "claim" means. Even without any claim, a doma=
in may
> >> allocate memory. So a claim having run out doesn't imply allocation ha=
s to
> >> fail.
> >=20
> > Hmmm... but that violates the purpose of the claim infra as far as I un=
derstand
> > it. If a domain may overallocate by (e.g) ballooning in memory it can d=
istort the
> > ability of another domain to start up, even if it succeeded in its own =
claim.
>
> Why would that be? As long as we hold back enough memory to cover the cla=
im, it
> shouldn't matter what kind of allocation we want to process. I'd say that=
 a PV
> guest starting ballooned ought to be able to deflate its balloon as far a=
s
> there was a claim established for it up front.

The fact a domain allocated something does not mean it had it claimed befor=
e. A
claim is a restriction to others' ability to allocate/claim, not to the dom=
ain
that made the claim. e.g:

  0. host is idle. No domU.
  1. dom1 is created with a claim to 10% of host memory and max_mem of 80% =
of
     host meomory.
  2. dom1 balloons in 70% of host memory.
  3. dom1 ballons out 70% of host memory.
  4. dom1 now holds a a claim to 80% of host memory.

It's all quite perverse. Fortunately, looking at adjacent claims-related co=
de
xl seems to default to making a claim prior to populating the physmap and
cancelling the claim at the end of the meminit() hook so this is never a re=
al
problem.

This tells me that the logic intent is to force early failure of
populate_physmap and nothing else. It's never active by the time ballooning=
 or
memory exchange matter at all.

Xen ought to cancel the claim by itself though, toolstack should not NEED t=
o do
it.

And furthermore, the fact that the claim goes up and down interacts really
poorly with the per-node claims I want to implement, because it's just
impossible to know if a freed page actually comes from a prior decrease of =
a
claim or not.

>
> > We might also break the invariant that total claims are strictly >=3D
> > total_avail_pages.
>
> Same here - I don't see why this would happen as long as all accounting i=
s
> working correctly.

See previous example.

>
> > I'm somewhat puzzled at the "why" of having separate concepts for max_m=
em and
> > claims. I guess it simply grew the way it did. Reinstating sanity would
> > probably involve making max_mem effectively the claim, but that's a ton=
 of
> > work I really would rather not do for now.
>
> To me the two are different (beyond claim being global while max-mem is p=
er-
> domain). max-mem is a hard boundary (beyond which allocations _will_ fail=
),
> whereas a claim is a softer one, beyond which allocations _may_ fail.
>
> Jan

What I meant is that I'd rather have a non-oversubscribed memory model by w=
hich
I can statically partition my memory and make 100% sure the sum of all max_=
mem
of every existing domain never exceeds host capacity. But this is neither t=
he
intent of the existing claim infra nor what I'm after right now. I was just
thinking out loud in text form. :)

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 13:39:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 13:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902273.1310221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpoxn-0001d8-0u; Wed, 05 Mar 2025 13:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902273.1310221; Wed, 05 Mar 2025 13: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 1tpoxm-0001d1-Sk; Wed, 05 Mar 2025 13:39:06 +0000
Received: by outflank-mailman (input) for mailman id 902273;
 Wed, 05 Mar 2025 13:39: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpoxl-0001cv-7L
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 13:39:05 +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 33dec19a-f9c7-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 14:39:04 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43bbd711eedso30857495e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 05:39:03 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42c5b33sm18427745e9.22.2025.03.05.05.39.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 05:39:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33dec19a-f9c7-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741181943; x=1741786743; 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=GAkrCJCWJW5Yucify05iHBmALCa3LG/Uwk4xU+X4LTw=;
        b=BB8yDkCScw2K6JivjazfEDXOJ4D87jHL7DgFxt/Z9A2PcN8y91sjLMK+1K1we3OW/n
         VTpD/19aqLqA5HjYC3+xbXM/Dxz69hgfOnHfa0KCzfI3GNs6YhHmT+ftNn5bSqmXB90n
         iPeE0BtSo7bZpV53e8YYJES+WLLGLrC7fk2YwUSXiU1zfUr5sbrtMttr7IaHBuqPiZw7
         vDPsEySzo3v65XmvkZKE4Ym8MvqaBHFtSZNJiCGs96KdxtjeEG0ampTH4eA0UXl56HLx
         bAfJObSmBqY8vBxpo9FSZmpzgZxZYHcnQwmRqBHEU93IXtHfVGFZVO7tRngGDZKlrCV8
         YaKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741181943; x=1741786743;
        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=GAkrCJCWJW5Yucify05iHBmALCa3LG/Uwk4xU+X4LTw=;
        b=j0Ecq+WbnvM5oboo8nqNLhl+ZZTpMKSsEfiIKk2yor9url1ZpGUr39/mQT7DhbqxXJ
         sL4PLaoCA/EPv8sgtLqiKSJFUDKIFt+D78JvqTv29qncCpl1c03flCtEbC6knXlrQ7al
         9PonWhBDUVIle1PxFC0RhBbWjAC/72xaE1bSGw5KcS2i5UuYsu0cn8j9qo5w9SFZDrS7
         1Czvqrb4Weakb/R37HjBfaBQ/o1rDI9ce7QDna5OYnxrOqCSUvAGn6FvBCXFBLY/xqMz
         MwVE38ZJFmaaEP7MpAmnEPXONIJC0E2IxzAdXWHwdtRTzx/YDH7dHK9HwavJXn2g/Ndx
         GoFA==
X-Forwarded-Encrypted: i=1; AJvYcCVkA7sGNElhU1phTG8532MEZ6SWkXm92fxTyC5gx0xGFcyDZ49nS8JInQAGilII9WKiIh6k8rQBE7I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxU9O+RXTEeyTRxL10v8mgAv7ESd5K0CBY2m0Y3012Bcy/GgSON
	xgg3phPQbtiBXnn2te+tDbfyAuyMtsciG0z1PhbDofOJsCG5P1JN5ApIyctvYA==
X-Gm-Gg: ASbGncvNnf9LY9gS/G961psEFzcMAgId4ObzAcCiUGSCBkGIkYfy4l1Z9v8hd3615u+
	AK2KQ2QgXcgWyErF+I7NXAgtOhrFkGDLnL4tunK+zI0yHjPwadssuZB4jyE2pFKsZws2WuHoT9E
	LhLLlWMsbSELEJjDAO5MEHiv2ziaYp/WejlAXwZZ4jErvReHPJ3EumvSi3fwRIS7pE35780ng4L
	LtqTpYIypZfnDtutfvkTlbPgUWTxhahAMhDZeAkCymTJHx6UDS0hQxmYEZa0T/FIfFIsOSpYZ4b
	UUxhdUoYnfnYdDCucdC3ORBbwBwSzWDvMu78LAmke+aweWyuNDQMSdxEqXk1EJbtnx73QV0tG0K
	YrbCikbaKtWhc7qeerU9BT3LQ7hysrQ==
X-Google-Smtp-Source: AGHT+IHRyjl/pL0jCqc5oJxVLG+lVhQd+d1qD9lpw0wDqsQwglk/3LHTQsWnQjqsvGSnekN49J8a6A==
X-Received: by 2002:a05:600c:a409:b0:43b:c2d7:44d with SMTP id 5b1f17b1804b1-43bd2adb09dmr20099965e9.21.1741181943126;
        Wed, 05 Mar 2025 05:39:03 -0800 (PST)
Message-ID: <6070a7b3-4d1d-4db9-a812-5887de129aa1@suse.com>
Date: Wed, 5 Mar 2025 14:39:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
To: Alejandro Vallejo <alejandro.vallejo@cloud.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: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <D80RCS1Y7AKH.373ULA2LO3MND@cloud.com>
 <4af0077c-c933-4894-bfad-2adda7afbbf7@suse.com>
 <D83AY7ZBKC81.3NBCLVK3DX833@cloud.com>
 <f50d8ee7-a00f-4f4f-99f6-4313af7a4fdc@suse.com>
 <D88D5732H4EQ.3770M7EIO3TW1@cloud.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: <D88D5732H4EQ.3770M7EIO3TW1@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 14:22, Alejandro Vallejo wrote:
> On Wed Mar 5, 2025 at 10:49 AM GMT, Jan Beulich wrote:
>> On 27.02.2025 15:36, Alejandro Vallejo wrote:
>>> On Wed Feb 26, 2025 at 2:05 PM GMT, Jan Beulich wrote:
>>>> On 24.02.2025 15:49, Alejandro Vallejo wrote:
>>>>> Open question to whoever reviews this...
>>>>>
>>>>> On Mon Feb 24, 2025 at 1:27 PM GMT, Alejandro Vallejo wrote:
>>>>>>      spin_lock(&heap_lock);
>>>>>> -    /* adjust domain outstanding pages; may not go negative */
>>>>>> -    dom_before = d->outstanding_pages;
>>>>>> -    dom_after = dom_before - pages;
>>>>>> -    BUG_ON(dom_before < 0);
>>>>>> -    dom_claimed = dom_after < 0 ? 0 : dom_after;
>>>>>> -    d->outstanding_pages = dom_claimed;
>>>>>> -    /* flag accounting bug if system outstanding_claims would go negative */
>>>>>> -    sys_before = outstanding_claims;
>>>>>> -    sys_after = sys_before - (dom_before - dom_claimed);
>>>>>> -    BUG_ON(sys_after < 0);
>>>>>> -    outstanding_claims = sys_after;
>>>>>> +    BUG_ON(outstanding_claims < d->outstanding_pages);
>>>>>> +    if ( pages > 0 && d->outstanding_pages < pages )
>>>>>> +    {
>>>>>> +        /* `pages` exceeds the domain's outstanding count. Zero it out. */
>>>>>> +        outstanding_claims -= d->outstanding_pages;
>>>>>> +        d->outstanding_pages = 0;
>>>>>
>>>>> While this matches the previous behaviour, do we _really_ want it? It's weird,
>>>>> quirky, and it hard to extend to NUMA-aware claims (which is something in
>>>>> midway through).
>>>>>
>>>>> Wouldn't it make sense to fail the allocation (earlier) if the claim has run
>>>>> out? Do we even expect this to ever happen this late in the allocation call
>>>>> chain?
>>>>
>>>> This goes back to what a "claim" means. Even without any claim, a domain may
>>>> allocate memory. So a claim having run out doesn't imply allocation has to
>>>> fail.
>>>
>>> Hmmm... but that violates the purpose of the claim infra as far as I understand
>>> it. If a domain may overallocate by (e.g) ballooning in memory it can distort the
>>> ability of another domain to start up, even if it succeeded in its own claim.
>>
>> Why would that be? As long as we hold back enough memory to cover the claim, it
>> shouldn't matter what kind of allocation we want to process. I'd say that a PV
>> guest starting ballooned ought to be able to deflate its balloon as far as
>> there was a claim established for it up front.
> 
> The fact a domain allocated something does not mean it had it claimed before. A
> claim is a restriction to others' ability to allocate/claim, not to the domain
> that made the claim.

Yes and no. No in so far as the target's "ability to allocate" may or may not
be meant to extend beyond domain creation.

> e.g:
> 
>   0. host is idle. No domU.
>   1. dom1 is created with a claim to 10% of host memory and max_mem of 80% of
>      host meomory.
>   2. dom1 balloons in 70% of host memory.
>   3. dom1 ballons out 70% of host memory.
>   4. dom1 now holds a a claim to 80% of host memory.

Sure, this shouldn't be the result. Yet that may merely be an effect of claim
accounting being insufficient.

> It's all quite perverse. Fortunately, looking at adjacent claims-related code
> xl seems to default to making a claim prior to populating the physmap and
> cancelling the claim at the end of the meminit() hook so this is never a real
> problem.
> 
> This tells me that the logic intent is to force early failure of
> populate_physmap and nothing else. It's never active by the time ballooning or
> memory exchange matter at all.

Ah yes, this I find more convincing. (Oddly enough this is all x86-only code.)

> Xen ought to cancel the claim by itself though, toolstack should not NEED to do
> it.

Fundamentally yes. Except that the toolstack can do it earlier than Xen could.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 13:41:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 13:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902282.1310230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpp0U-00034e-CQ; Wed, 05 Mar 2025 13:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902282.1310230; Wed, 05 Mar 2025 13:41: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 1tpp0U-00034X-9i; Wed, 05 Mar 2025 13:41:54 +0000
Received: by outflank-mailman (input) for mailman id 902282;
 Wed, 05 Mar 2025 13:41: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpp0T-00034R-4N
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 13:41:53 +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 985fc914-f9c7-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 14:41:52 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43bd45e4d91so3940775e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 05:41:52 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435c836sm17620085e9.37.2025.03.05.05.41.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 05:41:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 985fc914-f9c7-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741182112; x=1741786912; 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=rw0TGQO5st4pbOhQCBnB7znXr7PwXGpg/h4j7bkjPPs=;
        b=gWwZKurbvCE5dMqHqjZb0t0oFF1EOn9oTuu1glOdX7kE6koqCKiOUsmp2gX1WvZJ/p
         uRfoML+Kzx8qyCqftIbWPTPiuZJvd8Bhkk1iQnWxD1PEPF99IpEfnXj88QAi/XLmR0nt
         SQG5sBpILwCliPhXv4O2zv2Do8xVhznkEv3RgMRRhixgf6I/WhTMvjnAQ+QLL4QM6mx9
         gbhw7Jqzm77EEmaeP82VJHtffw39ok2HbIPIbJj+JwKJ4H1PzNEYk4+qaDsUcl9vodv7
         DNNhNz76ZRNpEztFsj5pelXhF06YtsdxZQs9//uM+AZeTYQmamL0jgyMZq+6IeVASzTK
         eIVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741182112; x=1741786912;
        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=rw0TGQO5st4pbOhQCBnB7znXr7PwXGpg/h4j7bkjPPs=;
        b=pjIwa1fK8X8FFq+n7+WuZWX9HzqfWJFzXaN/jhcbWsLR2dEPh4KXm6HUQ0tfkmmeuB
         q1M3MX/6EBG8ZsX55Umat9NLAKzVHXqP7R5D+ABpa3WZZhDvPHyn9QPgVnWPZEQePMrw
         qetEJIXrMxxdc91mnS2Xms0QS32Znxo0DE0MRPcVE2dHNmZ8XY4vnSd7XWLzjsAy0Z+u
         /EcsZhPq/vkgNDrbWpIcTRDaLm+h+A8LT/v3AzCyRnDdlSiz6H+1nillFwp7behlSFpb
         LL/vtHfks7kWg7g13oke0wwYj5fBLuJSDNQjwOs04M8ewAwkSSpzU3Vbmmz+aV70xCiA
         5ELQ==
X-Forwarded-Encrypted: i=1; AJvYcCVHLdHep+MIsJxzgZRxL+wDS0Ky9LTPbRifOelRUA/MDztex8RE/FS+W2opPZwlXkGTX8R2D2nLb9U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwbI9RAOftJuLDXN5jAagq/9KIWHXOIfUz3zvrx5QW9/d0IokdD
	CbMoOepCxKgPUkQwc5b5skfCEYKVGLgMdcKBg+qjvUO/EHQt+EqW6kjE5cu3Mg==
X-Gm-Gg: ASbGnctz1c1EpAMaiPZjubL8zSZ/2FJYsZLVktfA5gCy/tNdMuV5WizX9r8eoAg0BTM
	L3/gVKOnGsKQAKgYBTgpcjLNRHpcQkn8gMWiTaCUl2czUsDfr4ZOWkjdCUChziGmThraPCSceA7
	t8t/oV+6RRJqaLSQT9gRZgIRPpcaj558msBOHNTedHQ8kXDU/pTFfVmEkK69ggzLvkzlOlBGPy4
	YEJYofWvYVEJsFdS1iLwivRoZnPaIQzPKx5IkMVa3zltXDUmRC7llBGLwPKcI8xNpe4FeUFaiO4
	YvWcNbAb0vwGhTfg0bj43DjdWkd1df/2OlBiqfEJF3ws2Yf1qSIw0grEuyWRkwr5i0uDn0YhUe4
	oz2rXWEZcMbhfZXp1o4GLBMOj4L7KAg==
X-Google-Smtp-Source: AGHT+IFFRQSmQdHGVfIsQHm3h2MrtE3p/9GIvCgRooeNcw2jPT8LPSvZh8e1qwDQMLrr4MyEL+MfYA==
X-Received: by 2002:a05:600c:4e8d:b0:434:9e17:190c with SMTP id 5b1f17b1804b1-43bd1fd7903mr25986095e9.0.1741182111644;
        Wed, 05 Mar 2025 05:41:51 -0800 (PST)
Message-ID: <914e1afa-ea45-47c0-b5d0-7a712d6d9dc4@suse.com>
Date: Wed, 5 Mar 2025 14:41:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/trampoline: Rename 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: <20250303224322.2572611-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: <20250303224322.2572611-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.03.2025 23:43, Andrew Cooper wrote:
> ... to be more concise, and to match our other entrypoints into Xen.
> 
> In acpi_sleep_prepare(), calculate bootsym_phys() once, which GCC seems
> unwilling to of it's own accord.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 05 13:49:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 13:49:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902290.1310240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpp7n-0003jA-34; Wed, 05 Mar 2025 13:49:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902290.1310240; Wed, 05 Mar 2025 13:49: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 1tpp7n-0003j3-0P; Wed, 05 Mar 2025 13:49:27 +0000
Received: by outflank-mailman (input) for mailman id 902290;
 Wed, 05 Mar 2025 13:49: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpp7l-0003ix-IF
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 13:49:25 +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 a519d4ca-f9c8-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 14:49:23 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43bc638686eso5462395e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 05:49:23 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e485e045sm21324035f8f.99.2025.03.05.05.49.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 05:49:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a519d4ca-f9c8-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741182562; x=1741787362; 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=ONlaC7Eij4jCCBpV3Tw/sNuOppC/+ikFruprVLxLAZ0=;
        b=R5u/SEjXA1pysbnQSEBw6NV1dEPNnsuRzcrB3cdG7qMfwtJkuBYF22yBNcIRX6QBYJ
         U0o/vD59G33DDo5GhJubRsr9zTYY7tFZCoBJcwXPimiTo4f/GQXTt5bOZVUxI+ZFc9+7
         OgwzWDCT88PrBjpH4GHAqokDXN3mQh7aDAtUjbes+USlyizRXGStm8O6NjMRyLXOSjN3
         1p7NlMMHfEwdoJk5pEH24jPmxQ+BVeHPt7lmpEBZ0kgIcqVNZwGp4OJSJU2lbbxZQ3pt
         D9DrW5DZp7gvUgQu7SNeOUoc4A8/G4HEqikMa6c5+It+xV+jEODdecB06ss1m/TbGd4n
         vSxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741182562; x=1741787362;
        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=ONlaC7Eij4jCCBpV3Tw/sNuOppC/+ikFruprVLxLAZ0=;
        b=GwtVKfG35xlu5cQdvjzHUXnOMM6Lt2umERvUUvT4UU1GLIGOmZmI+z4a59uj9KLeNI
         j3N8yVVheLHJ4VkUVml7Q2aY1zL8FXfwlUxDOXSyX2kqd+vadMumRT4Rsr23oeSC6N2G
         GNT7Yxg0rAmogtnOnmJs1Wfg6OKnbDopSmnr5Ns3q6NKutK8Jf8dTF2xBRApO3g3f734
         b5KPdH5k6ty5dJOrZUwNs/D/Xy2dIrgWJxUGz2QcU2zodnTFnq6ZSOWEKY6pdze40BPX
         fllz3cRsY0EBfofKH8z0nlbG9MTZArLSjFneoGPWFr7k5GiPd1gQjGIdMFX6kYSD/1uO
         08eA==
X-Forwarded-Encrypted: i=1; AJvYcCWD99Ox29F872wvyDaiBjChKH5P0xhvCgLuFx2ux8uytHVOyePx1vgrHwlJNme0NYj1V5BUz2wGhdM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxAX5bMNGeBwuy8cz7fE50Bkg7Q4rfA6bApLW+heZAjhGyg0/oa
	YlY87SEi2zJILPy0uEQsekkSwp0ymJNeBgzuU61IBdxySbdgQhOhzuxLkGX9LA==
X-Gm-Gg: ASbGncuSVrnwirzmCRjE3zjM4F5s7G+e+Rh6qncla/IU9HAXDorB+SOU2prPtzSs9Ms
	Wc5Q5ijtnpWlM54EBoxvzwbCysEnzngm3yr2x7LzcjEPuvH6HKrNdHGv6HKjMYCZc3uxy16bmNd
	2am6t8Qp8Y9LiF5kkJwlZlqbbTeEgw9o0puYXYSkjqIeIYJuqEF/oq3lb2KXYyMIsv8aeb3ZU3/
	CLKZfy90Y+J0A+Klav1o4b4afUg8VuM1Q2+LA2fYdpJGi+6qzHDQ4g/EAPPBMuCoMt/RJ+yA4Qt
	+CjML6nSt2yYmTtwX+jAmY5+i2UQpgJmuI6RXXIP4dJNx1lO8AX0YMfj1rorosZ8rK/17C9TlcQ
	7opEsrxhUzYGgY4BO/6rJkTSyj69v0w==
X-Google-Smtp-Source: AGHT+IGWzRr/MyhKG9AhBMlqe/kO7x3Sh1reeyKFG+1Bbnhn5fi6TzcTIye3WNYbo00cZNvHg7XCUA==
X-Received: by 2002:a05:600c:4510:b0:43b:c270:49ae with SMTP id 5b1f17b1804b1-43bcad69e48mr60671905e9.0.1741182562603;
        Wed, 05 Mar 2025 05:49:22 -0800 (PST)
Message-ID: <042807a0-77cc-4e16-a949-116bb7cd8c94@suse.com>
Date: Wed, 5 Mar 2025 14:49:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/vlapic: Fix handling of writes to APIC_ESR
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
References: <20250303185352.86499-1-andrew.cooper3@citrix.com>
 <20250303185352.86499-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: <20250303185352.86499-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.03.2025 19:53, Andrew Cooper wrote:
> Xen currently presents APIC_ESR to guests as a simple read/write register.
> 
> This is incorrect.  The SDM states:
> 
>   The ESR is a write/read register. Before attempt to read from the ESR,
>   software should first write to it. (The value written does not affect the
>   values read subsequently; only zero may be written in x2APIC mode.) This
>   write clears any previously logged errors and updates the ESR with any
>   errors detected since the last write to the ESR.
> 
> Introduce a new pending_esr field in hvm_hw_lapic.
> 
> Update vlapic_error() to accumulate errors here, and extend vlapic_reg_write()
> to discard the written value and transfer pending_esr into APIC_ESR.  Reads
> are still as before.
> 
> Importantly, this means that guests no longer destroys the ESR value it's
> looking for in the LVTERR handler when following the SDM instructions.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

I guess there's no good Fixes: candidate?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 13:56:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 13:56:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902301.1310250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tppED-0006Uc-RD; Wed, 05 Mar 2025 13:56:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902301.1310250; Wed, 05 Mar 2025 13:56: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 1tppED-0006UV-ON; Wed, 05 Mar 2025 13:56:05 +0000
Received: by outflank-mailman (input) for mailman id 902301;
 Wed, 05 Mar 2025 13:56: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tppEC-0006Ph-SY
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 13:56:04 +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 9355408a-f9c9-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 14:56:02 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43bcfa6c57fso8632675e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 05:56:02 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435c9c7sm17754145e9.38.2025.03.05.05.56.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 05:56:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9355408a-f9c9-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741182962; x=1741787762; 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=2Z8NB8IeaSTYCAeMX2FipNfSwuZ85aRsFafrfowAlDA=;
        b=PzpDYT51HOWORnttv6FnktKq5DmlhkHxgc+ocRg7ds8/bm8V2Ky/GCCOuUIOSERAhR
         i+9R5kjx+c24Dc3RJd0s5+AvdOHeGWkI2wwqck2b9IpTyMlDhrvXDpKbWyrtk+HeWWI1
         rYTGC7dEYDqP4ImO2tTEVHmyUPNTpzB/8KOop7sY2ZLpmtt63CoDV8Q/psmZ34nlg48N
         x6r5rIMBYRWitMAgThK0fZ7nGhqxVaVIE5TeibEs348yvx7W8XBmIDw4uaPtQqhPChOm
         XT+qkisy2VmGzIroKPJpHa7MZYOHnNdVafmLfgjlL5vToml2esvYIaxxiIRFEzcFjQrE
         rX3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741182962; x=1741787762;
        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=2Z8NB8IeaSTYCAeMX2FipNfSwuZ85aRsFafrfowAlDA=;
        b=i3BFkHk7BzcsgyOLFD1rKuxA0bmO7D7LVdF2mcMIiUFvmzcLDIERNoZx0N24ojAH54
         BNT2mtNcMEt0EgdP3rwOlWubbQOFgxn8OzxKuOHgRwtXY3WRKzEITdzM3ykgMkzohCru
         0LTPgp1ACkGnya1cCa5msWHChux71aYKJelU/Elm6QaOtxB5P8dAjlCtgLG78cFCN8M/
         1fTODq1P6zWFdcPA05ZoAAH4mFmeLuq78deP/1eNjUDiKZeKKirNc3nbHIW8H2lNgFKj
         nN4s3fAEI8qEqaxVvWxDqY10V/fXUupHmg/UhetxvYp5258WPj9H++ABrE9xQp3ifEjz
         7NwA==
X-Forwarded-Encrypted: i=1; AJvYcCVDlwi0WcyGV0Enzk1BmXlcmSzplt1iWUrDOaVh4ctKrrdjx7vZn3mnE0/6Rkr8wquImkdBRUVPYnk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAb9z2WHy4l8PKMEuvVlv/c6cWyrWmwAY7Wr0Thf0PbmY+9/+i
	qrB2Ks1OLFLLwJeeXjZ4D2B2XbMEzqamjnjgtElZOvGNH9M1+jWBQrMdFgzrIw==
X-Gm-Gg: ASbGncu95nH70zkhPzUvgGj1VJlDufJrV53ouVVgOthSJ4TEwI7427JTWw06ReiIlo4
	zmr/JGJkbQ11RPu/UR4u75y1y+1M3yDg2dB+SR+9KoGCZxvuQWjJSqgM3Znc3PKUZDuutJ+0pBf
	hcuKx1H3jNASwGrL2eVXYwtFSCySG7oLXZc2fzH+0VdLveYbl67sRe/sabQNxGoH28w6aB+I6GA
	xDkbNmjBbfYht+zGOH+GdoDIb6gKhadjDDSNe03HMurLfwB3jDxOfzVmdBlI+ZzOfNTWrL/2y1W
	s8VR/WbMxVjBQ0KwJvOMhUqEXdF6KdW0JZQCT6uv8Qf/d2JTWTspJMSsiGVLpwj9ec0rDHDImsd
	veTTs6ZGuChNvy3sxB2553Zl6r5hkpQ==
X-Google-Smtp-Source: AGHT+IEBkt+VhNdu8A/S1myqfVfpGH3Et5fs/BwACRwc8BbsMpOPl/7QZuAHhUZPnCQCdpqIXt611A==
X-Received: by 2002:a05:600c:1988:b0:43b:cc3c:60ca with SMTP id 5b1f17b1804b1-43bd29b4435mr21020005e9.21.1741182962268;
        Wed, 05 Mar 2025 05:56:02 -0800 (PST)
Message-ID: <a3be52ef-77a9-46f3-9f9b-1f4e230d6c29@suse.com>
Date: Wed, 5 Mar 2025 14:56:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/vlapic: Drop vlapic->esr_lock
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
References: <20250303185352.86499-1-andrew.cooper3@citrix.com>
 <20250303185352.86499-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: <20250303185352.86499-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.03.2025 19:53, Andrew Cooper wrote:
> The exact behaviour of LVTERR interrupt generation is implementation
> specific.
> 
>  * Newer Intel CPUs generate an interrupt when pending_esr becomes
>    nonzero.
> 
>  * Older Intel and all AMD CPUs generate an interrupt when any
>    individual bit in pending_esr becomes nonzero.
> 
> Neither vendor documents their behaviour very well.  Xen implements
> the per-bit behaviour and has done since support was added.
> 
> Importantly, the per-bit behaviour can be expressed using the atomic
> operations available in the x86 architecture, whereas the
> former (interrupt only on pending_esr becoming nonzero) cannot.
> 
> With vlapic->hw.pending_esr held outside of the main regs page, it's
> much easier to use atomic operations.
> 
> Use xchg() in vlapic_reg_write(), and *set_bit() in vlapic_error().
> 
> The only interesting change is that vlapic_error() now needs to take a
> single bit only, rather than a mask, but this fine for all current
> callers and forseable changes.
> 
> No practical change.

>From a guest perspective that is.

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

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> @@ -124,15 +126,12 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int errmask)
>              if ( (lvterr & APIC_VECTOR_MASK) >= 16 )
>                   inj = true;

I wouldn't, btw, mind if you also corrected this indentation screw-up of
mine along with you doing so ...

>              else
> -                 errmask |= APIC_ESR_RECVILL;
> +                set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);

... here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:01:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:01:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902310.1310260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tppJQ-0008GE-DO; Wed, 05 Mar 2025 14:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902310.1310260; Wed, 05 Mar 2025 14:01: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 1tppJQ-0008G7-A1; Wed, 05 Mar 2025 14:01:28 +0000
Received: by outflank-mailman (input) for mailman id 902310;
 Wed, 05 Mar 2025 14:01: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tppJP-0008Fz-IE
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:01:27 +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 53723f70-f9ca-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 15:01:25 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43bcf9612f4so11763905e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:01:25 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47b6d31sm20853817f8f.42.2025.03.05.06.01.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:01:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53723f70-f9ca-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741183284; x=1741788084; 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=LzLepnddtgy5ZHTvXxN/RNFwvPNbyybm8o13vR0Pp3M=;
        b=QRjia+kC0BhOE1z2cbHGEEyJT48+zj57QUKpOkSybxAF4RfSv8vhp4xI11jh/rhNpb
         r+alqN2bCThhezKgy8nGnWnANW4rGPmfLLHb1h1MMfjDlAz9GpvCKfauhRtc9kISl5ga
         iejGzD7mhN4GnSIRFkLit/iF2bU4jZPov0jgC4HsibNC1xVR5NcDuiqXnuCJZlcwJ52v
         62DRRH+jalQqu930YlDpOW2dFvTb2q2HMKM1lsHDpd++WUG+IjxUux4EFtXOxdRtRpsS
         9RA6eM6kxP2nizyb3fUzBHVLXpuI76iKifxMC2+fjycZduecC++vDRNr1CYRpiGTtFib
         dRKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741183284; x=1741788084;
        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=LzLepnddtgy5ZHTvXxN/RNFwvPNbyybm8o13vR0Pp3M=;
        b=BMtMH5W2tLYWDKErn+kU9drwUfAWhyUP7g1JD/eAIPNTy//iUuW1eggCGyUXeizVVf
         FfGlrPY/FNiey0GFqp5ObIcMN0cb+iQJDkJe49CDDoHcMOWquBo8PJG6+LX1P/Xxh90X
         7BWCaeJAHjRQjvQXkEzbrFUAjFVR1ZDOkftu+43sFkyymFjRyOTHKixyfKOQk0Zc6Pz8
         XPPyqv//eQ4wzgBTKuIC+JBGvjh2YoOfswx3OctuHoCjAD29rAsBRlpMbU0DYivD7T4u
         gAoC91bi4OJZe3eRRA+R43jyvwQ2iW5UKpa0+DSSte+c86rrwSoJmTaP4abelezjUuWj
         QGfw==
X-Forwarded-Encrypted: i=1; AJvYcCUckQQYFNZ7ZU5Cd4SkzNyMS21w3xTSN9oJ+8kttns3wy5GipZRZQRWul/vqmGlIl047Is68agJ37c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YylgfZHfx88pnrC3w2ovUXjOMFqsvSOfgj3QwnxBsmm9YiuXemX
	x1W5QR9KeRt1OmpX1FsiqgomoZXil2PaqoLuo2CVfMyM4/s4BEi64yTZ4O7hcA==
X-Gm-Gg: ASbGncsRHZCq2r5GoWkLvvd4DEE1jB3NmvflIoQ+GCh3aFJP7F1eT6vuggX6y+rhYqu
	i/7bBSVnkxo6h5FRO8tpExNSyIQekCGAgpJ2PoFBZQgc7xzaVuw3X/wg94r+KFRwpeETKH7WuCE
	4UO/gl2d9KP+UoBq/OLPnZakNMbjOFwIsFII+nwVoc3QHr0ELNhxW90v1BgDTLBjNtvA7qBQesN
	lkj8Pj8jwnYmIeMQbUwO2oC4F9/cQlD5Dd/YJTa9St3UWRu5UUXlVgUkmBjsyMwIWNObYTr1pgQ
	pvglzbK4oh0D+rS5AbXNtqrvePuX//SgxhBBLIRmiiPsPKrKnJkA4924T7gVHLXmaoCUVsi2z4/
	vjw+zxltnpv+kV+N3dFmejq5MnSDZJg==
X-Google-Smtp-Source: AGHT+IFnpGTj6M2+b+9CQQaJmVGt9bFZhQAHPQoZy+mWQCGRRJqrSJPNpxaEOGpxxiDTBUqduQx4Ng==
X-Received: by 2002:a05:600c:1d01:b0:439:9f97:7d6c with SMTP id 5b1f17b1804b1-43bd2aec224mr23388355e9.29.1741183284442;
        Wed, 05 Mar 2025 06:01:24 -0800 (PST)
Message-ID: <636170c8-2b61-4918-8c17-5c4953aa25ca@suse.com>
Date: Wed, 5 Mar 2025 15:01:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/IDT: Make idt_tables[] be per_cpu(idt)
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: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
 <20250305000247.2772029-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: <20250305000247.2772029-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 01:02, Andrew Cooper wrote:
> This can be a plain per_cpu() variable, and __read_mostly seeing as it's
> allocated once and never touched again.

cpu_smpboot_free() certainly touches (really: modifies) it again. Just that ...

> @@ -1009,7 +1009,7 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
>      if ( remove )
>      {
>          FREE_XENHEAP_PAGE(per_cpu(gdt, cpu));
> -        FREE_XENHEAP_PAGE(idt_tables[cpu]);
> +        FREE_XENHEAP_PAGE(per_cpu(idt, cpu));

... this function-like macro hides that the macro argument is written to. (This
is the kind of hiding that elsewhere I think you dislike, yet there macros were
an idea of yours, iirc.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:10:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:10:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902322.1310269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tppRe-0000zN-7j; Wed, 05 Mar 2025 14:09:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902322.1310269; Wed, 05 Mar 2025 14:09: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 1tppRe-0000zG-59; Wed, 05 Mar 2025 14:09:58 +0000
Received: by outflank-mailman (input) for mailman id 902322;
 Wed, 05 Mar 2025 14:09: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tppRd-0000z8-8v
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:09: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 8400cc69-f9cb-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 15:09:56 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43bc4b1603fso21524765e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:09:56 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd426c16dsm18774595e9.6.2025.03.05.06.09.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:09:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8400cc69-f9cb-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741183795; x=1741788595; 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=Q0XFZ2Ptg4ulL7EcjE0LONbQfbQUHARIrFRzFQHpeXA=;
        b=PIHLOtgQRXuzcawWyRGnI6B16hlVVW4b6sOW1soFp9pI6ef0XydAwNCq/JfRonoYbn
         Gzu1nKThlOEYmG4o5pl+MOwH6lAbgKUoWakpoVsUYtWtl18xCU1JENoCKkWZhblIDNOa
         etaHBMo6rNr/r535hymDyfqQ/VUm6WnApiyjMHCPvBJNA/O5kMQ8DpW2m/f9eAiMBV+O
         1PTzbO5BfpAYouC3M8nr7HxAQ77QtUsPS3XZtYlJINttXDKoSOUwldZ4uwvN7DBJPUsz
         7wH4d371Osjthiz2YA0k14p5lT9zemAy9uK9YqbLrMPfnBHCqnW1giMioyXVDy8KReU2
         KGdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741183795; x=1741788595;
        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=Q0XFZ2Ptg4ulL7EcjE0LONbQfbQUHARIrFRzFQHpeXA=;
        b=COvSTnhQQZzOv0cpcVfX9ny3rxT+EDYGMMBTowSWaERkIpEoN5tBsSv9ztIFYgJvVn
         Y4XbYeDUe4tj49hsl9l/9w0iJYLqtVkPpAF8yHP6R4Ll5ctdIwkbdsl1/oP/mJnH0Jj+
         iRkxD78DEwAgq/Pw4BGKFkP+4MmDSaGZd3fRjvL8V9/t8DmoN7Wxrz7/Sb5EaVbbW5zb
         ueJOlZ1Xa90bmWFdaCkEo+VeLrFO+JGCFBrfeKNL2F0p4Zf5AP6n2f3oXZh7nSAsEXf/
         69P9nlmwonvR16P5b9tnusLWUhNmLaWgyeu4NWKaU9PIJ6VE6XrGK+TLzDehpzMT58au
         vkVA==
X-Forwarded-Encrypted: i=1; AJvYcCWFRRljYhlasDuDnC2q9on04gMCqYjijeboaZZpezHGJrJxpJMESXPY4mrX4/0kGMQ5gopX5jGikfw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwZh5QJBuWfM3rLoZlVavvZKl26WiBV8t7eGi0PKlIIIdpZhq1l
	TQ8B19/gcjJjrwkYXVFZTQB83DIQDy/uyk0SLdwLsmNBySYN8Ckh0ykDuP2Lbg==
X-Gm-Gg: ASbGncv5BOPDjdfQ341lOaPPFwjy0yWvTA9E/QSQpCeVLJ9yvuVz4on82QzFRRkIlK4
	QhlcchGjmH2gZ26jNAgBRDRYcrllww0varOphAUnbtf+TYLE1idTnX2IsyoWDRNmQp8ZZCRBY+a
	0TfHPxWcYzqKZNSxI7YFTc9y05LuUEKEwOESQqS1hYOBPbpkHVHG6wp7uVKWA+19XEyDuuSIBrS
	OzqwoGBaJikKNRNmmuxVxAwmKxP6Xi2Cnnq7412xJDT3z55xmQ5TDppCpqcQW87VzZou4FIGc3o
	FwdpVxrLswVL4phkr6bCYaGledm2ui5wE58XFniRaBaFIZSJJrH983+s0JmfhG4B4eRmDu2k9mV
	qiaKi2NsXvXfxKsUtaVBsrB6rgH1Z7g==
X-Google-Smtp-Source: AGHT+IH3cupE7rMepLIA2zUNd0bETKlAKXyeJPI7ZuCTeKj7eFrSyORToR8OcIOLw9hWopfBmS4cdQ==
X-Received: by 2002:a05:6000:2ac:b0:391:1473:134e with SMTP id ffacd0b85a97d-3911f725c6amr2247512f8f.5.1741183795448;
        Wed, 05 Mar 2025 06:09:55 -0800 (PST)
Message-ID: <3d183a5b-008a-4985-bc94-1fb5dd93af7c@suse.com>
Date: Wed, 5 Mar 2025 15:09:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/IDT: Generate bsp_idt[] at build time
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: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
 <20250305000247.2772029-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: <20250305000247.2772029-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 01:02, Andrew Cooper wrote:
> ... rather than dynamically at boot time.  Aside from less runtime overhead,
> this approach is less fragile than the preexisting autogen stubs mechanism.
> 
> We can manage this with some linker calculations.  See patch comments for full
> details.
> 
> For simplicity, we create a new set of entry stubs here, and clean up the old
> ones in the subsequent patch.  bsp_idt[] needs to move from .bss to .data.
> 
> No functional change yet; the boot path still (re)writes bsp_idt[] at this
> juncture.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> v2:
>  * Shuffle semicolon position
>  * Eclair magic comment for multi-include files
> 
> There's something differnet about LLD vs LD.  Without the ABSOLUTE() in
> gen-idt.lds.h, LD is fine but LLD puts out symbols in the form:
> 
>   x86_IDT_entry_0xff_ADDR1|0000000000002fb0|   t  |            NOTYPE|                |     |.text
>   x86_IDT_entry_0xff_ADDR2|0000000000004020|   a  |            NOTYPE|                |     |*ABS*
> 
> which causes a slew of errors making symbols for xen-syms:
> 
>   .xen-syms.0.S:20:8: error: out of range literal value
>    .long 0x15a0 - (((((((261 >> 8) * 0xffff000000000000) | (261 << 39))) + ((1 << 39) / 2)) + (64 << 30)) + (1 << 30))
>          ^
> 
> owing to half the symbols being t rather than a.  Moreover, this is reliable
> for the full FreeBSD builds, but interminttent on randconfig.  I haven't
> figured out which other option is having an effect.
> 
> Forcing them all to absolute works in both toolchains.

Just to double-check: Making these symbols absolute does not collide with
the .reloc section generation that we do for xen.efi, does it? That is, the
absence of relocations for the IDT merely means that we must not use the
IDT or any of its entries prior to relocating Xen back to its linked
addresses. Or, if e.g. we fetched an entry's address from the IDT earlier
on, we'd need to be aware that it's the linked address we fetch, not the
one matching where we execute. If that's a correct understanding of mine
and also matches your intentions:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:11:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:11:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902331.1310280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tppT3-0002PH-Hr; Wed, 05 Mar 2025 14:11:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902331.1310280; Wed, 05 Mar 2025 14:11: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 1tppT3-0002PA-Ej; Wed, 05 Mar 2025 14:11:25 +0000
Received: by outflank-mailman (input) for mailman id 902331;
 Wed, 05 Mar 2025 14:11: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tppT1-0002P4-Qy
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:11:23 +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 b7bb99b5-f9cb-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 15:11:22 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-390df942558so5366279f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:11:22 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e485dbe7sm21331271f8f.93.2025.03.05.06.11.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:11:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7bb99b5-f9cb-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741183882; x=1741788682; 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=X+GHhVYXWkqjoztyhTg6GsM5/V7oTkbym5+cLxWI3bo=;
        b=YNgkeUrbDdveUc7rDXSSc+7SHd7g/UvasdKk7iPd0E1DcIf0AqIXgDDfFFRqVeatZS
         AxNhn4N8TkpHacuQ/YETZ8JsoBSoMnSnFLpg93tiQizqREIhKg9oPkg5NxeenKm1loIp
         kPj6U8euxZ8iVKGiLvBGtLXrMGBLabx41v82+EK5Cu6MlN5MTeRf6/PJjpnVUcrD3iuT
         ovgF8UQFCqyZXm3Ra3TNDCyzDh6Jp1g+lkZN6WlyRkNA+jGgOCoQ2WZWbNqh/EBR4cOU
         5sS4stGFSX6G+NJNEQNMIooxg2eoRlNv7Y+HAj7S7j8iTPtq5kckxqeOttlvS0h10rN0
         tAqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741183882; x=1741788682;
        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=X+GHhVYXWkqjoztyhTg6GsM5/V7oTkbym5+cLxWI3bo=;
        b=v5nY3hdNwhgUyg6Hi8VoPbXhxhSxXzwKfYYbZAyaV6bKcxYPzd2dtP6PsStqW2hg8m
         eGjF2kM3A3eMugtBq2VZ/WstU3FGveWnrY9nVu1QlaL9I3N8RNi9NywV556XX0wCRiKq
         Ma+hJMU83OMV+A/BBZYneMhs5B+h1nhODSilAHXNlMxz0orj2ZZ6tJI+sbr/wHs4da/u
         u6GY1CGPlLDjjZKmv5OhDA+otRiuC1fKGhrcjTLqueMHl3X3TUC7JG3NmnO2kL2ylMte
         Oa6jy5+86MxQR5gfMiE64VmvK56WWrcgeHIIbfmgojLWHDwP7hRxfw0CaqjZknShV2U+
         XAsw==
X-Forwarded-Encrypted: i=1; AJvYcCWDqh+vaFz85iMesKwAtiChLIxypkG7aAo+7elc9JhgzLX0lja1Zo/lQ/R2EN6W5H97b6cvOr5h7SA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwRoeGYXxCIOgRw/fekYzxhcE3Xfw9MTBNsqup3s/kNTV1cABEA
	4qkXd4FH/xrX33YkVlmyvF+NuU76PKgPUTVWZzACUBrqDJaiOf2vPcRVtRMWOcHodGLXjwXkjrw
	=
X-Gm-Gg: ASbGnctvy4KuOP7Axxh7gbBlpfyompqf5Idfm6zxtjhxVmrTOXAltlbUcErU5jLw/go
	6XVnbqtTd91JY5iQBqD1+6s1N57roo6s0FvfZXYQV58yy9Pc8ywdcKYwZWlID4B3QsrVwsbX1at
	fY8CbHw2mVf++ofSHTCk5uCZMY6RK/K7P5qi+vc1pDgE/h8v+ZpQmknvAn1hi/GaUSjLBQDgGEe
	BT2W1dkJhekGfxk3su1QLgq35kBNf/5ncJy9JmV9IH4eeG78ZSdPXElezhO3g7CaTDu1MZYbJyr
	LvQoyAgKKMsnN0zQF14cIc8FzGve4LSiFeZPsYgOeW3mWYmqpTYj6KFfP0G3pgn7SeQxVCjyfa3
	qLRIJza03numlS5Z5egkPFwsI1hDYaw==
X-Google-Smtp-Source: AGHT+IGef4UZ2pv90srPzONkhu3ENvHwy49ffW/zUFMzy7vrrkNhY7yN/JuCwUc4Vm0zCHv+I9gf5g==
X-Received: by 2002:a05:6000:184f:b0:390:fb04:f930 with SMTP id ffacd0b85a97d-3911f7a84d1mr2623421f8f.34.1741183882400;
        Wed, 05 Mar 2025 06:11:22 -0800 (PST)
Message-ID: <60c797d7-6212-45e9-be34-b755a905fdf1@suse.com>
Date: Wed, 5 Mar 2025 15:11:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 0/5] x86/IDT: Generate the IDT at build time
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: <20250305000247.2772029-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: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 01:02, Andrew Cooper wrote:
> This is a chunk of the FRED work split out because it's pretty self contained.
> 
> It's mostly cleanup/refactoring, although patch
> 
> traps.c is already overly large and going to get larger with FRED, so I'm
> splitting traps-setup.c out of it, as the two have reasonably-different logic.
> That's implemented in this series but not used in anger in this series.
> 
> Since v1:
>  * First 3 patches committed
>  * Minor adjustments.  See individual patches for details
> 
> Andrew Cooper (5):
>   x86/IDT: Rename idt_table[] to bsp_idt[]
>   x86/IDT: Make idt_tables[] be per_cpu(idt)
>   x86/IDT: Generate bsp_idt[] at build time
>   x86/IDT: Don't rewrite bsp_idt[] at boot time
>   x86/traps: Convert pv_trap_init() to being an initcall

For the two not having R-b already:
Acked-by: Jan Beulich <jbeulich@suse.com>
perhaps with patch 2's description slightly adjusted (see separate mail).

Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:17:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:17:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902344.1310289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tppYn-000377-B7; Wed, 05 Mar 2025 14:17:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902344.1310289; Wed, 05 Mar 2025 14:17: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 1tppYn-000370-8Z; Wed, 05 Mar 2025 14:17:21 +0000
Received: by outflank-mailman (input) for mailman id 902344;
 Wed, 05 Mar 2025 14:17: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tppYm-00036u-5D
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:17:20 +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 8934201d-f9cc-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 15:17:14 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43bcad638efso14272145e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:17:14 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39123deda7asm1427727f8f.77.2025.03.05.06.17.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:17:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8934201d-f9cc-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741184234; x=1741789034; 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=v9l2j/mqu/NnnMgHbOB063ysco/0wxFxFm3Teev+Ai4=;
        b=A7l61gcxe6qhGAugEbIdvvPMUlDUgGo7Zxs/lVImpZDv0GugKWT/CSMohH3FMjbqAk
         UunrgADkS0gxS1tx/aLPsxPYSNifwyQwg5csWMc03UuoIKuaE9Y8RciTkGXSNqHv/WRa
         NqB1YU8DLjuhnN6bWeg5r6J7+85pBbaJxl1n/ZMkTbWmOXjaO6iBurODdCu2O5voD1ar
         cave/Q+t/lzc1jP3n1KmjsJX8+tAGhV4LzzsHEuC96w7csuesvwvIp3Lzaa5Eb0lGt0D
         IvkJpf1XULqSLoKeS3qWFqy3L65SQQgWNV3v+2Bf9pYiwUG8y0IGVYdzJxaSN5p3bcPY
         7Udg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741184234; x=1741789034;
        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=v9l2j/mqu/NnnMgHbOB063ysco/0wxFxFm3Teev+Ai4=;
        b=gcJBX3npI/3HFyzhyJ4JvYcPfuzFvEURudOWKGBT4AZoTmvV1JtAK4vMlBirneEGJ7
         h1ZIo9v/UxkyKtim8wl9QBUSmsAoCZ5rlT1ejsmtM74leVKrzeQg8QilnAzAvYObLXK/
         9kyEI9p51cr5kj8ZddObcVCi4dphXYX4LRFSqHLOwTLl0lB0rmZ1Fl0cnd6elE+ZWlK3
         U3dCgt05sLB29E9KhvHkGyVuiOI8mqxN3l0Axe36q1Q4r39d6hlkQMCZS1NSnP+GhEcV
         Ubsc9R75u1aTUQM0l3ak6ENnpzoEAbBUaLoBxm7leYHw2gGt/f4ITdiiGkfrHKloRfCs
         cZkw==
X-Forwarded-Encrypted: i=1; AJvYcCV5/PE/+I0nBltOZ/FOL33W4bDRJhurp9uV6wpERyhJp6xk5w3cQpGBmdmZHNa6Srvd81LTQFKMXNw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwTqXGs2L4JlnhAgbVlJ6miZo4DIG7cK1mauGOdA2294w4E8jD8
	TNE+A+ZzKqPEZf0WHJeuGdet6mosVkvS6HQafRh90XAWcPt1DhCxEG+xTXNrlQ==
X-Gm-Gg: ASbGncunCUFTvZr9FfEooxavUWYoSiGnThXYzVoZLQLjt7F4pJwS2DYmxlS/tcOEbkT
	8Vf9AwW4AR0+uhEdb+EUYJOhhIX3JBdqAPuhGxKxosFaE1th3KyT7/Jy7lSrg/RMwN78t5RV0NO
	ENvZkElwUOxR3eyuSxOxYb0OBL3FAcWT/RejR7BRletkvPkodp/l2zNBHivFavay+osyT17UEgL
	KUfMu7tZKL1Cb/yjDj2NAfs1y/Vrj68WUx47JwV7E0RhNUbeX2BaENvKpNgjm6tk5Y4xiwSRXIC
	5ngahQrstTZv7wVOIWVEXZsutgw/bvuBx2VX5XNARnd/EYjQ9xbKWG2mnfAHEck9zkFohRhqlpQ
	Vq5ORpf0u47FK27lY0ItmiS/T37A59w==
X-Google-Smtp-Source: AGHT+IF+RkBSdwGIL4v0Q56Ej31C1TM7EYLlmaMHVoE5vbUmmN55JO1ZUaSoo8ay4EJ2w3k0EWKrFQ==
X-Received: by 2002:a05:600c:444c:b0:43b:ce36:7574 with SMTP id 5b1f17b1804b1-43bd29c6a29mr28681255e9.11.1741184233790;
        Wed, 05 Mar 2025 06:17:13 -0800 (PST)
Message-ID: <fc6c0113-484d-4eb5-8b66-0ef547d8dbf1@suse.com>
Date: Wed, 5 Mar 2025 15:17:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/rt: address violation of MISRA C Rule 8.2
To: sstabellini@kernel.org
Cc: michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Dario Faggioli <dfaggioli@suse.com>, Meng Xu <mengxu@cis.upenn.edu>,
 Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1740476096.git.nicola.vetrini@bugseng.com>
 <e3c6457e50d61daa05fd9c3a7c71b06d912216a0.1740476096.git.nicola.vetrini@bugseng.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: <e3c6457e50d61daa05fd9c3a7c71b06d912216a0.1740476096.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.02.2025 10:38, Nicola Vetrini wrote:
> Rule 8.2 states: "Function types shall be in prototype form with
> named parameters".
> 
> The parameter name is missing from the function pointer type
> that constitutes the first parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Reviewed-by: Juergen Gross <jgross@suse.com>
> ---
> Changes in v2:
> - renamed function parameter name to "elem"
> - changed prefix to xen/rt since only that scheduler is touched

Looks like you committed v1 of this, and without a maintainer ack?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:27:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902352.1310299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tppiX-0004gJ-6R; Wed, 05 Mar 2025 14:27:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902352.1310299; Wed, 05 Mar 2025 14:27: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 1tppiX-0004gC-3o; Wed, 05 Mar 2025 14:27:25 +0000
Received: by outflank-mailman (input) for mailman id 902352;
 Wed, 05 Mar 2025 14:27: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tppiV-0004g6-TZ
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:27:23 +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 f353db81-f9cd-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 15:27:22 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bc48ff815so6161025e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:27:21 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4844adfsm21301021f8f.62.2025.03.05.06.27.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:27:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f353db81-f9cd-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741184841; x=1741789641; 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=9sIw2UWz4vdVdKiu9aIpEhwlEcPnMCoW/Yp+dEHOPmQ=;
        b=LftfVcDefidEOep0HBydxZs3MDrpQGxG5Xpzzd8H2FzyP88Q+vQVmtnEy6ftChnvz0
         Mgf9zzBofAx1g0apcygU2wm6kauYvuITiumuVod5O6jhr4pHabSZm9kieNp6qH5Q1Xm/
         5aelnAqaaaQkigRChVZVFek/LwdbsUYOLTSBYH0ux1n8XzpbMaaYn9ey5+pFd4RJSL+s
         3M0qty1GPwomWFQLnjeLh3Ok/vFVN911gzA22IO5atC17udfz5WX5fiaf8pPnp84yCHc
         4tui1FmsfbyES1hcutsnNQpdjSeeRRb8Rdw7cBP1+kyzEXwZ0AVnmtr/396m5yw2t1S5
         DqOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741184841; x=1741789641;
        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=9sIw2UWz4vdVdKiu9aIpEhwlEcPnMCoW/Yp+dEHOPmQ=;
        b=NxsrFwLHLoSpiXyfR0ag9kAdNtUF+pSZ8l8OxgCcSUXN3Gv41U88m01FHIvAEidGDD
         A3dx9IPIphwBY9wklls9o2UPKmEXnjAxz39s6r+CdKWpiIJwxxR4vPqu2zG9tefMk/J5
         qlv1aPIcdUnOUMqw9Z8EeghtM7t9JPy1veK6zPsU4Jl8GMxSKLdWsrIXDGImD9wKtoCy
         O4TT2u9R+Zzm4aBfMvmGFvGRORhoksygPm/xB0hrzZYIoqFx8ijBcbqPzIo2J1hXh/me
         2tI8JkhutyUoQMBOpRpQSer23+oLp7U5iDfatlseIHE1MUWZQIFluKIwvNxXQQvcce2X
         czVA==
X-Gm-Message-State: AOJu0YwqCv75epbfsW/vkDkakQJS/WtiTd5yej2By+IhehMlET8XfZaz
	foIQsP8pjv8Ts5XzHwP/N5FKDcxhG9IEOs024ClDTY7cX+B9iwl3PX0+apdYHw==
X-Gm-Gg: ASbGncvVaBNiu0+TaBNRVprs0V6PlnmE7HD5mjxSvLqUa1jzjLSmq+Nr4NsxVL+4eSm
	PK7QKsKmVOrFvY/UM4U+I9cH184B1T2hrD0zteZ41xrPoLfaxjdL//sq+novYpRcObCdGmuzq98
	XD729uqv75veD7BEpv7lBbD2zo9bRRwBG0rDV220/H5aXoDEPkKsit8KU/68BWOLkjscDZk6Ygk
	DozXDFWZzwPKzvRUXr7jwiREQjVMBHTYzio7pv5MK6+HC2Gknzd560Nx0+2YNok+8//4/l0H22+
	I0fi/WNUlEztKlE+hA0Qob2uqXRgivMtH8pK2OqUbn1mvteusRrNLWyHNpEP9iXN+voMFbssieg
	tbM5FAfi8dJDdkhY3O8C07PbqKjNVBw==
X-Google-Smtp-Source: AGHT+IEKF0Hz52aBLt1Z1EEzQ5bERkeRnhMQfHK4nS+CMQclD62q151O7xkZmdKFQO/NSYf43tgHNg==
X-Received: by 2002:a05:600c:310d:b0:439:9737:675b with SMTP id 5b1f17b1804b1-43bd20b5147mr27975415e9.7.1741184839775;
        Wed, 05 Mar 2025 06:27:19 -0800 (PST)
Message-ID: <db3113a1-4cae-4d2b-8840-645f56af3c51@suse.com>
Date: Wed, 5 Mar 2025 15:27:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/3] x86/dom0: be less restrictive with the Interrupt
 Address Range
To: Roger Pau Monne <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20250219164840.94803-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: <20250219164840.94803-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.02.2025 17:48, Roger Pau Monne wrote:
> Hello,
> 
> First two patches are preparatory changes to reduce the changes required
> in patch 3.  I would have wanted those to go in 4.20 to fix the issues
> on Lenovo Thinkpads, but it's too late now.
> 
> Thanks, Roger.
> 
> Roger Pau Monne (3):
>   x86/dom0: correctly set the maximum ->iomem_caps bound for PVH
>   x86/iommu: account for IOMEM caps when populating dom0 IOMMU
>     page-tables
>   x86/dom0: be less restrictive with the Interrupt Address Range

I'm uncertain whether to take this and "x86/pvh: workaround missing MMIO
regions in dom0 p2m" for backport. The sole Fixes: tag is in patch 1 here.
Thoughts?

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:30:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:30:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902360.1310310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpplj-0006EF-KK; Wed, 05 Mar 2025 14:30:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902360.1310310; Wed, 05 Mar 2025 14:30: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 1tpplj-0006Dg-HL; Wed, 05 Mar 2025 14:30:43 +0000
Received: by outflank-mailman (input) for mailman id 902360;
 Wed, 05 Mar 2025 14:30: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tppli-0006Bu-Qo
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:30:42 +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 69d64585-f9ce-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 15:30:40 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-390df942558so5387576f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:30:40 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4795da5sm21527491f8f.15.2025.03.05.06.30.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:30:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69d64585-f9ce-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741185040; x=1741789840; 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=b69Q2h+ejXv3VG2Wtcvi1KGHdv5iSQp1vAp4X37G9iw=;
        b=L4Y1sf7HaH+CyVYeTV4JRNTL1ZBg4NZz6bmtvVA/9Qw7l3LdjEb0nqLvQprZ7nZ31R
         o5VnwuurgUPK28poxUxEPjrqClpqw2X9n4sYtj78o0Tt8by0N+6tJj51iYoFG31iDQOj
         79SNztrc50Jn2i9ngaVV+5smo8BIG2Pt8ZldRn9snuRSMAZSpvuKWPCgiooaScWptuS/
         S/ZjIjczNOYdhOahVvjd00W2n+cIZr27jr+rxUwogjm3OeYKjwbZc19M/9WHyAb/WiFf
         lpFqBXdMSHN6qkrRhLm9cBi+8piIWoYJzxkyWl/GqdMSEwfAqwZUjYdDfpQY5XD4/nfS
         SuJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741185040; x=1741789840;
        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=b69Q2h+ejXv3VG2Wtcvi1KGHdv5iSQp1vAp4X37G9iw=;
        b=gqIHwx1o/jzSPmIOAts5ltCV23scVuYWvIJAIAsYdNwckAtNCT0n5bmb0eEkqF3u2Z
         D7PMsoPW2ELBaYQ4pX5TAH5fqIBKy5Y6BdIJrJ5D9fzew2MGro+OJCmMdau0yy5Yt3DV
         APvAR26pS2cjJD8tEhWF5xxmNHcsxdTPVD2Lc/AcDVNAYU6FQUT1U16e+vsWZzWdocPe
         tl9ZPu4TdVz+cbSnWYpQngMj+CIZ0rWUOkrcCMdnlsFifN8mg+hUp5ncpEY520l/tJL7
         VVnOaYvVhHPcOzb57UfmKrygDf0EUB0A5tTHzhZQt1Iw00TtyVa5Sa7HYd8tvTSV4bOn
         nyVg==
X-Forwarded-Encrypted: i=1; AJvYcCX1hha7CwiaeDHT5YaDpgKc5ibFz/lFENlddUiFzzD/sIc69yTnG39Z2NfduHgqjpqplyNuMyGgTzk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8JnIQGn3K229F+YfuySNKvTUa57A6mdRxcz/yFlV8gFGAJumJ
	fgbjpigrrWkyezE8WDy6Jd3x7eS9MZkZmuHppX3WhmvgYs+CWYILPOCCMwDoOA==
X-Gm-Gg: ASbGncsqraYZlkJQiG62GUG3H0W3lJTyo8Bj7oHMn/QVnoNYVr0+rmJH907GOJrGfp4
	i+d+I1KlFpXL8ZnFupxIdXMV2Tjop1EaiHl/Ekkp0TFJD/rA1vIOYEg3gIz7oQI/hbJJp2vV7od
	XBt1tWdfK70pYNkf4lYEYJXgt6yyGwhe+CD+5d5+dQnvSx2Q8FcMMuyC5CMkNwCcBxJlqU3zNEf
	+CD1dflkaWRJSogVcW6GOUmI0Rfh3dXVt/OpaLxXI3ACTEPlfbrHwg5RPdS6TtaNVIyRA7/Lcur
	Ks08MbC9fQjp0J9VIESgdwUUpOIEcku3EnanIKLsPiE8BYD6Ezf5nPNNBYosBzlMj8SF9dHlkKV
	5WSB25DxqgZWc438QYtIpi3LWKML1nA==
X-Google-Smtp-Source: AGHT+IFZ1Nx1v/RQBFebxsBlU0njJtAMkKaDBCT8R63R4pvhK6dZJfGuao3Tda3M9vFBcE7SZyqK1w==
X-Received: by 2002:a05:6000:1843:b0:391:12a5:3c95 with SMTP id ffacd0b85a97d-3911f73858fmr2306736f8f.22.1741185040132;
        Wed, 05 Mar 2025 06:30:40 -0800 (PST)
Message-ID: <54225b2d-4fed-458d-9e94-7e6f1ce08d34@suse.com>
Date: Wed, 5 Mar 2025 15:30:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 4/6] xen/riscv: make zbb as mandatory
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.1740764258.git.oleksii.kurochko@gmail.com>
 <052daeb00fb90416a30f1deebf42c9b6ca5ff348.1740764258.git.oleksii.kurochko@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: <052daeb00fb90416a30f1deebf42c9b6ca5ff348.1740764258.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.02.2025 21:07, Oleksii Kurochko wrote:
> According to riscv/booting.txt, it is expected that Zbb should be supported.
> 
> Drop ANDN_INSN() in asm/cmpxchg.h as Zbb is mandatory now so `andn`
> instruction could be used directly.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:35:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:35:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902369.1310320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tppqR-0007Q5-56; Wed, 05 Mar 2025 14:35:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902369.1310320; Wed, 05 Mar 2025 14:35: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 1tppqR-0007Py-27; Wed, 05 Mar 2025 14:35:35 +0000
Received: by outflank-mailman (input) for mailman id 902369;
 Wed, 05 Mar 2025 14:35: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=mCKF=VY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tppqQ-0007Ps-1a
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:35:34 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15208529-f9cf-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 15:35:29 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-223a7065ff8so10735445ad.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:35:28 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-223504e18b3sm113592055ad.182.2025.03.05.06.35.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 06:35:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15208529-f9cf-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741185327; x=1741790127; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=slNvLmP0Qtfsfv+/eUEFJa1V77bet3syIoeurXpM1lA=;
        b=FBxkyvlBPXgo0ZQGVhrftKkvQHHeoUz+jh7Bk4Aowgr2fsCdd1e16bjY57O5OWvWDc
         FqR0CxcEprTjiygZ04LPsZ7ZcBVtrebUnHxaf9Yt4KJdtNN5fARud8pcmzLL0QUIHByF
         cqqvuok/tFqEEPXedOY411AQvMhchcKwPlHrY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741185327; x=1741790127;
        h=in-reply-to: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=slNvLmP0Qtfsfv+/eUEFJa1V77bet3syIoeurXpM1lA=;
        b=eoNIroHl8c73WONdwTHMPla0PkRcCeIvKA6JEUs21wU9ZMwLWvEdR/jvn8J6WCI2HI
         yL4iRtJ3b2kmfCZ9m080A90erCA11/8R+Ueqw1mIt4epS0ItkyucxLv50tc148o1Y8CG
         S2yX0rPYLvIFqVJwUIROyu+a7nVKnBkvAbY9pJB5dzwf6yU5hujwxbK/51V/y/YW4vY/
         1H6Y2HYDwgx+EU39hQ86JiAqcU7nx3ijBh7ZoyhToqZrhh/8PPqDggr54km3/jR14A/E
         ZtSYWescJt/OaUpdkYQZYIaAK197gSQZQypHsggY+PMhHEy+1nMm2eaXevmo4WCe9bnx
         Eq0A==
X-Forwarded-Encrypted: i=1; AJvYcCXMqV1qgIYtMLjRvw1qDmfGbOVK7vrYU7zAT4TKV48F2ku3RmBhVYccr0awS8vAa7Mg7dE2baJhmE0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpIdjlm9VlTCMMeO+lhsos1nwWTOS/KCkr/W2i5j8Yo/pTx8f4
	WlLCvRLIGUkozJhe6fav8aYCsJMpEI+sc6q9Xq1jhH/8ODy3u5g0avLaGSpG7c8=
X-Gm-Gg: ASbGncu2WG22mfdWJehN6E10dV+CcXjklvcQir7mY718l3d/AlMBNtvQPBOy0snkkeL
	dH0AvbdtcCAuDP1R4n8pLvGY7kjF6hAJdisrVIt7GQRj7diGI+VwRIxuyvozPcn4ukSmj6GsQ+V
	9XmWkl7YQKu79cwx+lS/5SOqiyVvpAptwKhNsIJ3gAtumNJOkBSalR2W/WstCBYjpSmgnm89Pls
	i4qt1NLlO+MbMAIMpNo+OmKHHk2AkVmE1MDORPwLR/WdNqRQYASuBSOxbmpNNLUzmpYrGwWEAeb
	Fi3A6Hjw6sbLijVuvF2kX9D2ZcrFNvyO+a6TA2IRBapTnqGTUQ==
X-Google-Smtp-Source: AGHT+IF4ztjxBI2dUiXusdhqla6jwvQJ3gduzlVYTSwREf1DJKuavT0yJBGC0JbujmjBNrEK+Hu4kg==
X-Received: by 2002:a17:902:dac9:b0:223:6254:79b8 with SMTP id d9443c01a7336-223f1d4bf89mr50450895ad.47.1741185327383;
        Wed, 05 Mar 2025 06:35:27 -0800 (PST)
Date: Wed, 5 Mar 2025 15:35:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 0/3] x86/dom0: be less restrictive with the Interrupt
 Address Range
Message-ID: <Z8hhKa-KdTbmp6rE@macbook.local>
References: <20250219164840.94803-1-roger.pau@citrix.com>
 <db3113a1-4cae-4d2b-8840-645f56af3c51@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <db3113a1-4cae-4d2b-8840-645f56af3c51@suse.com>

On Wed, Mar 05, 2025 at 03:27:18PM +0100, Jan Beulich wrote:
> On 19.02.2025 17:48, Roger Pau Monne wrote:
> > Hello,
> > 
> > First two patches are preparatory changes to reduce the changes required
> > in patch 3.  I would have wanted those to go in 4.20 to fix the issues
> > on Lenovo Thinkpads, but it's too late now.
> > 
> > Thanks, Roger.
> > 
> > Roger Pau Monne (3):
> >   x86/dom0: correctly set the maximum ->iomem_caps bound for PVH
> >   x86/iommu: account for IOMEM caps when populating dom0 IOMMU
> >     page-tables
> >   x86/dom0: be less restrictive with the Interrupt Address Range
> 
> I'm uncertain whether to take this and "x86/pvh: workaround missing MMIO
> regions in dom0 p2m" for backport. The sole Fixes: tag is in patch 1 here.
> Thoughts?

At least the ones here would be helpful for the reported Lenovo
Thinkpad issue.  The PVH p2m addition would be nice IMO.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:48:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902378.1310330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpq2V-0002bG-6P; Wed, 05 Mar 2025 14:48:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902378.1310330; Wed, 05 Mar 2025 14: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 1tpq2V-0002b9-3W; Wed, 05 Mar 2025 14:48:03 +0000
Received: by outflank-mailman (input) for mailman id 902378;
 Wed, 05 Mar 2025 14:48: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpq2T-0002b1-DX
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:48:01 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5a53087-f9d0-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 15:48:00 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e4ebc78da5so10530290a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:48:00 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e4c3b6cfd0sm9779224a12.28.2025.03.05.06.47.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:47:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5a53087-f9d0-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741186080; x=1741790880; 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=mHHmztZAjJxvYP5dhGLCPAJTUSZ/NvSgW1eL8jBD1qM=;
        b=Usi6ah+VgRNbFsSkWFqvE/SsN0PoM2K4i2yNMvWjLiYrgvQOD4DBwTt07mINEWJQ5M
         +Ou4Y9ld+xhRrY2xf90Atoa2yTXl6nOE4KlS1wBDC6HcGmp+il5A34xCRYf+qcm+hfvI
         OTRMS9L5sRk9AZLT5RlcE50lt1S0P7oa3uTyY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741186080; x=1741790880;
        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=mHHmztZAjJxvYP5dhGLCPAJTUSZ/NvSgW1eL8jBD1qM=;
        b=wzsU2auEcu3SSH4oW97hkopavxDPq/W8i09cOiNSqk1bwwJSQ0Rd70FIVRqaY3U2Cf
         m03P3dqmC8125W2FCQBlWzYbVuTsZBvX3OWqAnlgzc7NUaECNSnhxITRij9N2NuXV28Q
         1pEVdEtYC9442/TsAOFw7EQ0zZjYYUukdZm0GJTKkG2TyJDqdfOCIuNFwjwVlLHHCJo/
         3OoHnpQ90iX1/Mqoww76zpkL2YgLxOMHn9DW4n/jLprjTY7fxBHJJBGlJHRBnzA7HHqF
         BD3MXSYvL+TuoIhOo2AFofZAxUaKJuZQ5qPZlhkCAxTyqZYaYqIAAhkZAUDdP/kXoocP
         9asQ==
X-Forwarded-Encrypted: i=1; AJvYcCX1UGTel4srDolhyg2xisAcfRAWuaoIYvxgj9NReChRHRmk/vw1TUfcoUWq9+8oMUiCyXoJIh9YXFY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxsSvRSiwp0iJw3dizLby2pFf4pIB+tMz2z46M29Vdjex211NQ
	KZvZnbVLFJ1NNqVHjB759MKM5CPZRGFB17pC6AvAgDleSoCW+6LN3WaRyTc+unk=
X-Gm-Gg: ASbGncsn+9UWosEti2A17vNT501DvddBttCVgHov2b9+363H1CiqxibXlrfoWFrvHL/
	IvuMdaZvhLnMFw4C2lwp+N+lBMgzcZeDce9Ux409RBKo1G0GUnEkGLAlGgNTN2GFseys/bgMhQT
	4S5WR4dOsaekt/VsMItmKkJfPiVQ1WZW3HvMHuvuhhK/UEC2dXO5pOzgcl3TJRoq4nDx83L/tC+
	yxk3d1fepJ08BHfM15s+D0oBub6tq1V8dIgA2eQAVMM2IyKWKUBP186dE8j6YtEhHNCUIvH1KZN
	AAZZfEXzMq7RFHt4P8fyXerl3HmkeDmp3BaLZLu/tm3VAWOzvwxdHD3KlDYAGql/WaSKRuOOgrJ
	H/IL5Dgii
X-Google-Smtp-Source: AGHT+IG3Bb+9oPGvRgjNn+DsHmLL7dUD6t1F06RhQapElKL0lQBpOP99jFFzqiRxd6NVLgwc5bcB6g==
X-Received: by 2002:a05:6402:350f:b0:5db:f26d:fff1 with SMTP id 4fb4d7f45d1cf-5e59f4561bbmr3046370a12.21.1741186079999;
        Wed, 05 Mar 2025 06:47:59 -0800 (PST)
Message-ID: <11dc36a1-6b34-4e06-ae6b-4019a024bbd5@citrix.com>
Date: Wed, 5 Mar 2025 14:47:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
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>
References: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@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: <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/02/2025 11:37 am, Jan Beulich wrote:
> __init{const,data}_cf_clobber can have an effect only for pointers
> actually populated in the respective tables. While not the case for SVM
> right now, VMX installs a number of pointers only under certain
> conditions. Hence the respective functions would have their ENDBR purged
> only when those conditions are met. Invoke "pruning" functions after
> having copied the respective tables, for them to install any "missing"
> pointers.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I don't especially like this, but I can't suggest anything better right
now, so

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

> ---
> This is largely cosmetic for present hardware, which when supporting
> CET-IBT likely also supports all of the advanced VMX features for which
> hook pointers are installed conditionally. The only case this would make
> a difference there is when use of respective features was suppressed via
> command line option (where available). For future hooks it may end up
> relevant even by default, and it also would be if AMD started supporting
> CET-IBT; right now it matters only for .pi_update_irte, as iommu_intpost
> continues to default to off.

This is all mixed up in the breakage underpinning nested-virt (the false
believe that there is some kind of "global" idea of how a VMCS is
configured).

I suspect this might just disappear in due course.

> Originally I had meant to put the SVM and VMX functions in presmp-
> initcalls, but hvm/{svm,vmx}/built_in.o are linked into hvm/built_in.o
> before hvm/hvm.o. And I don't think I want to fiddle with link order
> here.

Why does the link order matter?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:48:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902379.1310340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpq2l-0002uf-Ha; Wed, 05 Mar 2025 14:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902379.1310340; Wed, 05 Mar 2025 14:48: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 1tpq2l-0002uY-Ei; Wed, 05 Mar 2025 14:48:19 +0000
Received: by outflank-mailman (input) for mailman id 902379;
 Wed, 05 Mar 2025 14:48: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=mCKF=VY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpq2k-0002u0-P1
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:48: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 df442c2e-f9d0-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 15:48:16 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e52c1c3599so6033072a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:48:16 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e4c3b4aa46sm9671890a12.1.2025.03.05.06.48.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 06:48:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df442c2e-f9d0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741186096; x=1741790896; darn=lists.xenproject.org;
        h=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=BxWOKUn6OG1pyodGJX/u8N6ZDpBqNTF1xQQFBweoPHY=;
        b=AWE7uV4OVzXR6y2YpN3NQOfyF+vzMmR2V94qTI8XP2bwQ5e9IqiMRP7q9yuy0Ykrxg
         p/HwRCKOTBfWgOt/DOS7wHtK6KaPNyV6x2yFeGCfYnACMmC5emFlZJmNlatH45Eyzhim
         y3kNhGW4Kv09B9KoiqeFJThuJY+QpqIQPlBEw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741186096; x=1741790896;
        h=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=BxWOKUn6OG1pyodGJX/u8N6ZDpBqNTF1xQQFBweoPHY=;
        b=bc5o86ySIE2lqd38m4s3Fh77Cp4RbiIc3uGX3R1jvrVEd/7kqYVnP1WDRFfcQo3ZGY
         iL53qFGN10AYJDgmUVlH8kSjJckxUxQZWka3EUwhCZ9LYmiLnnlXx/IEFuqhgOSOBdGZ
         B8hrWd3c5UReghS9S00BtuC8Sxm9/146dMWnA96EgtOWKNXa/2qslpi7EaW+Hg4METOI
         9EUB1Hiz6buXAnqRQxRFGDoojbCoA5gd+cOXQbxccY3OzOk8PdbH5LvvBrlzB14qwWw5
         SvwMMdaDOjTRCP8lU8686anxLxqEJ3GECJNi2SG2aH9e+KRecbL6CGtcv8qKClKQmDsg
         GVDw==
X-Gm-Message-State: AOJu0Yyt9RO4Rzw3OddMZhY56boSGBpggCt9UbG5wA0uXiQu8vsHSPb9
	sMRr2xv0UXOH/axCGuRswlzPYZGHXVD1K8Xbd5ll5osPN91rHWEbhls2TCGI9N4=
X-Gm-Gg: ASbGncsf0erXoz+q5GZREGtvhABtfL/YVlNwR5MXjzCZGEpQvM6KhZtF6YHsbv3z8/n
	0wHpZma8A4F3iIhm3e6qdIqR/O10ZQLUjhpyNBhOs0uf/xPywM6Lw9HfWC7aGREsTZWXoEw7jXK
	eMJSKrq9CUfVt6pmRglL+RwaFydLgBGcvBVykLSLmPUWFRloPsOW5Ccl4KBQEfOf5PBNw8ETopv
	eFVr2zUhg1IUQLyuMHi6cJpkzsGQkMD4Odlypo/2kgAzIwWGJYOCao2WbI7IyzrQ9v1WHIUHFcT
	73VXwIXb22Ec14lN/HMgAJr4o9GonBp4NOBKi3Py9OolNVjvoQ==
X-Google-Smtp-Source: AGHT+IEAM5Jcr6RsbgrnJVwgheVsvSbIOMgaEfnRGx7UyxIrBHw6icQTnJQtR2Ybqnaw/rzCy9Vhlg==
X-Received: by 2002:a05:6402:510d:b0:5dc:7643:4f3d with SMTP id 4fb4d7f45d1cf-5e59f36d02emr3198640a12.1.1741186096144;
        Wed, 05 Mar 2025 06:48:16 -0800 (PST)
Date: Wed, 5 Mar 2025 15:48:14 +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>
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
Message-ID: <Z8hkLjMAQfhBR2Cm@macbook.local>
References: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>

On Tue, Feb 25, 2025 at 12:37:00PM +0100, Jan Beulich wrote:
> __init{const,data}_cf_clobber can have an effect only for pointers
> actually populated in the respective tables. While not the case for SVM
> right now, VMX installs a number of pointers only under certain
> conditions. Hence the respective functions would have their ENDBR purged
> only when those conditions are met. Invoke "pruning" functions after
> having copied the respective tables, for them to install any "missing"
> pointers.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

However I find this filling slightly ugly, and prone to be forgotten
when further hooks are added.

Would it make sense to delay enabling of IBT until after alternatives
have been applied, and thus simply not use the cf_clobber attribute on
functions that are patched to not be indirectly called?

We could still enable IBT before starting the APs.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902401.1310350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpq9F-0004vt-6R; Wed, 05 Mar 2025 14:55:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902401.1310350; Wed, 05 Mar 2025 14:55: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 1tpq9F-0004vm-3M; Wed, 05 Mar 2025 14:55:01 +0000
Received: by outflank-mailman (input) for mailman id 902401;
 Wed, 05 Mar 2025 14:55: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpq9E-0004vg-5S
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:55:00 +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 ce7fafab-f9d1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 15:54:58 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43bbd711eedso31661195e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:54:58 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435c836sm19386615e9.37.2025.03.05.06.54.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:54:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce7fafab-f9d1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741186497; x=1741791297; 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=1cQC6vYhD116p/beCQKFVQAku44xo9abXmPmldl+uTg=;
        b=deLX0bKJodmc5pKEN0H5EBna/1jCtln9JC2ACDII3KzYXJFiKxDZ4YGP0t1Unb02B4
         4nsfivFUC+0G4KKP3tTkOo36nMSSGGaN7L5058TFF1XFR4MLYuFPAEjH0QBtXfFOkx+6
         zel0YUwvifvUdYM2zU8+7Zz8paAmRd7qG8p+gFMHNAA0BTWQRvnb2Hns7oD5DPkeYZER
         g9Hp3RjHZZ9y3WJrXVnMZba4u9pQwBDVkLD30BmJhkf/M9TOACi1L84WswY/D0vgJwed
         eryuJKtuEemlcED9rrrwv6q5DLkEC7S1erNERCHArTGCUZTEVltpfOdM7orXZnv8bu/l
         D/AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741186497; x=1741791297;
        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=1cQC6vYhD116p/beCQKFVQAku44xo9abXmPmldl+uTg=;
        b=sAbY6ECL5H+aq4x3IZedQMNjojPqHOHI/6rJcNIQZ09egpuF5HydzwzVz3kTqtG0Qk
         EmtSnXTMXkb8cyCN+3oMxE2uYWCwrsuLt1yGURZGNn0nOFgCBrf4MjXH+Lx/inFPjb+d
         Pv7e92IeWgvLGJVDdeShXuyxi0vt2vjFbIlmPksyta8fi3Rcfx9PDAt2XssCAOn/nmKH
         2fWiPlArg01nWBytwo7nnwgMyp1wxUV0QdeN3C7KpD9WSHFF/4fkNTdAJqjk3JgYzzd4
         RwzpQQW4M0ab4acR1Xo/ELF3vyzOJam9qHtSBrZkeGdcZh2E8CLTYkqh2PQCMTM/BvzL
         iFMA==
X-Forwarded-Encrypted: i=1; AJvYcCXkdSOSwy2JZTGHh0arwohE1veTTyljQAu70NAYo6LTrTofkl9CjjQq10RAvmulWV+J69ZwET+YbH8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxQvWP1eIoq7oA1VnKb7tesapGeX0QG/pgAgQpIgLdvYG9bH2ov
	cr5C/yokuovBcMeDOAB7uMM/Lk7tQdRb/vh2fkxfzA0jSGn3cmtXN95gl3UF6w==
X-Gm-Gg: ASbGncsaFvYfVCOLeeCBDfN5+FG8uTtvoovG4tnGMLP/6inS6OFYMVpp8hnD2ldVpQ1
	LgtlPPqVIhmzfxg5xJiR6lKRq6DHmvR8d8zKcccQTfjf5laianc07LwY01kLj7kCAyHgkr6kKc9
	aNw7lq+NefCl7AB4e4dcaEPNofyM5cQchRktwUTGhHbeZgeA5a/+wf1F5uDo8An5fOYZE3oCKHa
	KK30sCo1B+Drt67GZPfwdFEkZbGesobbbFx8G5kAC+1p/M+XaGIC7ZUVlPWJOifHj0kFVuoZ2W4
	VsDnf73dsWK2Bc7/4mh60rJDHa5TEa/sGvOoePuHHJa0W86TytJQg7bAOUd4Yi0p68QRHJul+Jh
	sVBlClMpK1SDLNVv0dppQGCn+UKpzLg==
X-Google-Smtp-Source: AGHT+IHNtZr2A3dyGK9ML05XEcPWO8cfUCLOQMbaXC80WjYMTu/STBoLSa3mzAv4poS1h8cQ72Gcsg==
X-Received: by 2002:a05:600c:4f15:b0:439:8bc3:a697 with SMTP id 5b1f17b1804b1-43bd294bc2dmr26615015e9.4.1741186497576;
        Wed, 05 Mar 2025 06:54:57 -0800 (PST)
Message-ID: <03dfb2ad-50de-406d-bdd0-41352c21f82b@suse.com>
Date: Wed, 5 Mar 2025 15:54:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/3] x86/dom0: be less restrictive with the Interrupt
 Address Range
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
References: <20250219164840.94803-1-roger.pau@citrix.com>
 <db3113a1-4cae-4d2b-8840-645f56af3c51@suse.com>
 <Z8hhKa-KdTbmp6rE@macbook.local>
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: <Z8hhKa-KdTbmp6rE@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 15:35, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 05, 2025 at 03:27:18PM +0100, Jan Beulich wrote:
>> On 19.02.2025 17:48, Roger Pau Monne wrote:
>>> Hello,
>>>
>>> First two patches are preparatory changes to reduce the changes required
>>> in patch 3.  I would have wanted those to go in 4.20 to fix the issues
>>> on Lenovo Thinkpads, but it's too late now.
>>>
>>> Thanks, Roger.
>>>
>>> Roger Pau Monne (3):
>>>   x86/dom0: correctly set the maximum ->iomem_caps bound for PVH
>>>   x86/iommu: account for IOMEM caps when populating dom0 IOMMU
>>>     page-tables
>>>   x86/dom0: be less restrictive with the Interrupt Address Range
>>
>> I'm uncertain whether to take this and "x86/pvh: workaround missing MMIO
>> regions in dom0 p2m" for backport. The sole Fixes: tag is in patch 1 here.
>> Thoughts?
> 
> At least the ones here would be helpful for the reported Lenovo
> Thinkpad issue.  The PVH p2m addition would be nice IMO.

Are the ones here sufficient to deal with that issue? IOW iasn't the other
2-patch series also necessary?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:55:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902406.1310371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpq9b-0005PU-He; Wed, 05 Mar 2025 14:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902406.1310371; Wed, 05 Mar 2025 14:55: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 1tpq9b-0005PA-Ct; Wed, 05 Mar 2025 14:55:23 +0000
Received: by outflank-mailman (input) for mailman id 902406;
 Wed, 05 Mar 2025 14:55: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=4HJ/=VY=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tpq9a-0004vg-GX
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:55:22 +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 dbf4e03d-f9d1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 15:55:20 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4398ec2abc2so61657065e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 06:55:20 -0800 (PST)
Received: from localhost (0545937c.skybroadband.com. [5.69.147.124])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e485e13fsm21038964f8f.100.2025.03.05.06.55.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 06:55:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbf4e03d-f9d1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741186520; x=1741791320; darn=lists.xenproject.org;
        h=in-reply-to:references:subject:cc:to:from:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JeJp7PNGj3PTSByjNRhWi6B3e4Yw3Mgr8V+GQ5vcDn8=;
        b=Ahwxe1cfdlks/45EQHEZsXv/c3VRtmdYUjQaHJ3Wz+6NpWFVQ5Yp54o7RYvOy+2Oo+
         5MGwwboxND7QOGHoAwl4yuPrRs4ZWZ0rOKMou9oJVuAddqITBh6DT1Px0pCFTXfSWjph
         qTXfW5zOWR1IKPJ3sivey06QeHf16AnUL3Ggk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741186520; x=1741791320;
        h=in-reply-to:references:subject:cc:to:from:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=JeJp7PNGj3PTSByjNRhWi6B3e4Yw3Mgr8V+GQ5vcDn8=;
        b=iw44CoBtnDlRyxJpee628YPvfqJ7fNXDkfG8DBluLhRRX+DjA6/42Ng/lV7rg671sg
         10kngXIb2m5CuVlpUPlTOwTr0jfY3fKiDLSDUxqEzB9M1kKVNqQaxeyUXrMldRcqq1Jp
         Uho2DpJccmCfW7uobWg5ME4cWNBHXouprtREUiMbTKjeVDDDL+I51MvUhaTLmnCd+uWA
         jEWMBqKJePtPMrww45prSlk2U+BCJaHKTCIDaoFEWD17Y1fbTQox43LvRudX9I0DlYh5
         Kd9AjK+sUtzuQNJx1RXIm+AHJQgmHavCLB6YIF1qwsWvlBWBemtvLus+FFI7kEIJRyIJ
         kBbA==
X-Forwarded-Encrypted: i=1; AJvYcCWFtUkyAsX8d7HJqQ+gUUTm0XpVT9ScQj3+nBGeRmldoS2xWPVCBrYxDlbqfKFQSDw2uCSUm1ODyV8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywk5ljmZfuJxnHMH+ayHNP4dSHr4zhuVYG6GpZxwytqyo2SujFP
	ikviVU4RjUoe/NMpDrFurRHcaWXVdkSpJe8IYCjh363dqZyge7DI9LVI2Y9ZAFc=
X-Gm-Gg: ASbGncumXb8MdZcLgf+juPjqqjidWu0YR7fMVjObW48kA96LLl6gwMGxbX2IoPMinOy
	Wtaf6hWwcqizVh6/0EBwF7VamqHWevkZLwJ2oZOUMCS66r2ZUe8oDefPJmTLLi6GZ9LKrCZ0szn
	i1ZjDmjuzDAx/EP1SLDN+i+jbRCVVdm/wQiHwCSKUsYzB0C0os3t0fbTR/UxQzBoUWEse2K44xJ
	3a4vH0OQAdgg8jFPZLnLCUdOHMIVqGIt93Nt/mWk47Lf7BORnhyv7KODtsc6DFWai3enO57OZ0r
	xKE/UgKk4+I1iX5d0DAOfs/qnKgBSL6tRGo7JcHhUDB3HxUG5bnnoxOcXIu6o14OtMcAPIb8+sw
	=
X-Google-Smtp-Source: AGHT+IExiyIcGfObRXeFi9SVwwkN5CstKutiokwjhu6TowkHMzoM0sOfc7MRqxrc5BnCVhEXKAyhuA==
X-Received: by 2002:a5d:64c5:0:b0:38d:d371:e04d with SMTP id ffacd0b85a97d-3911f7bbb52mr2766444f8f.34.1741186518564;
        Wed, 05 Mar 2025 06:55:18 -0800 (PST)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 05 Mar 2025 14:55:16 +0000
Message-Id: <D88F3V276W5M.WVP7OIPMJMSD@cloud.com>
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.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?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Stefano Stabellini" <sstabellini@kernel.org>,
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
X-Mailer: aerc 0.18.2
References: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <D80RCS1Y7AKH.373ULA2LO3MND@cloud.com>
 <4af0077c-c933-4894-bfad-2adda7afbbf7@suse.com>
 <D83AY7ZBKC81.3NBCLVK3DX833@cloud.com>
 <f50d8ee7-a00f-4f4f-99f6-4313af7a4fdc@suse.com>
 <D88D5732H4EQ.3770M7EIO3TW1@cloud.com>
 <6070a7b3-4d1d-4db9-a812-5887de129aa1@suse.com>
In-Reply-To: <6070a7b3-4d1d-4db9-a812-5887de129aa1@suse.com>

On Wed Mar 5, 2025 at 1:39 PM GMT, Jan Beulich wrote:
> On 05.03.2025 14:22, Alejandro Vallejo wrote:
> > On Wed Mar 5, 2025 at 10:49 AM GMT, Jan Beulich wrote:
> >> On 27.02.2025 15:36, Alejandro Vallejo wrote:
> >>> On Wed Feb 26, 2025 at 2:05 PM GMT, Jan Beulich wrote:
> >>>> On 24.02.2025 15:49, Alejandro Vallejo wrote:
> >>>>> Open question to whoever reviews this...
> >>>>>
> >>>>> On Mon Feb 24, 2025 at 1:27 PM GMT, Alejandro Vallejo wrote:
> >>>>>>      spin_lock(&heap_lock);
> >>>>>> -    /* adjust domain outstanding pages; may not go negative */
> >>>>>> -    dom_before =3D d->outstanding_pages;
> >>>>>> -    dom_after =3D dom_before - pages;
> >>>>>> -    BUG_ON(dom_before < 0);
> >>>>>> -    dom_claimed =3D dom_after < 0 ? 0 : dom_after;
> >>>>>> -    d->outstanding_pages =3D dom_claimed;
> >>>>>> -    /* flag accounting bug if system outstanding_claims would go =
negative */
> >>>>>> -    sys_before =3D outstanding_claims;
> >>>>>> -    sys_after =3D sys_before - (dom_before - dom_claimed);
> >>>>>> -    BUG_ON(sys_after < 0);
> >>>>>> -    outstanding_claims =3D sys_after;
> >>>>>> +    BUG_ON(outstanding_claims < d->outstanding_pages);
> >>>>>> +    if ( pages > 0 && d->outstanding_pages < pages )
> >>>>>> +    {
> >>>>>> +        /* `pages` exceeds the domain's outstanding count. Zero i=
t out. */
> >>>>>> +        outstanding_claims -=3D d->outstanding_pages;
> >>>>>> +        d->outstanding_pages =3D 0;
> >>>>>
> >>>>> While this matches the previous behaviour, do we _really_ want it? =
It's weird,
> >>>>> quirky, and it hard to extend to NUMA-aware claims (which is someth=
ing in
> >>>>> midway through).
> >>>>>
> >>>>> Wouldn't it make sense to fail the allocation (earlier) if the clai=
m has run
> >>>>> out? Do we even expect this to ever happen this late in the allocat=
ion call
> >>>>> chain?
> >>>>
> >>>> This goes back to what a "claim" means. Even without any claim, a do=
main may
> >>>> allocate memory. So a claim having run out doesn't imply allocation =
has to
> >>>> fail.
> >>>
> >>> Hmmm... but that violates the purpose of the claim infra as far as I =
understand
> >>> it. If a domain may overallocate by (e.g) ballooning in memory it can=
 distort the
> >>> ability of another domain to start up, even if it succeeded in its ow=
n claim.
> >>
> >> Why would that be? As long as we hold back enough memory to cover the =
claim, it
> >> shouldn't matter what kind of allocation we want to process. I'd say t=
hat a PV
> >> guest starting ballooned ought to be able to deflate its balloon as fa=
r as
> >> there was a claim established for it up front.
> >=20
> > The fact a domain allocated something does not mean it had it claimed b=
efore. A
> > claim is a restriction to others' ability to allocate/claim, not to the=
 domain
> > that made the claim.
>
> Yes and no. No in so far as the target's "ability to allocate" may or may=
 not
> be meant to extend beyond domain creation.
>
> > e.g:
> >=20
> >   0. host is idle. No domU.
> >   1. dom1 is created with a claim to 10% of host memory and max_mem of =
80% of
> >      host meomory.
> >   2. dom1 balloons in 70% of host memory.
> >   3. dom1 ballons out 70% of host memory.
> >   4. dom1 now holds a a claim to 80% of host memory.
>
> Sure, this shouldn't be the result. Yet that may merely be an effect of c=
laim
> accounting being insufficient.
>
> > It's all quite perverse. Fortunately, looking at adjacent claims-relate=
d code
> > xl seems to default to making a claim prior to populating the physmap a=
nd
> > cancelling the claim at the end of the meminit() hook so this is never =
a real
> > problem.
> >=20
> > This tells me that the logic intent is to force early failure of
> > populate_physmap and nothing else. It's never active by the time balloo=
ning or
> > memory exchange matter at all.
>
> Ah yes, this I find more convincing. (Oddly enough this is all x86-only c=
ode.)

(about claims being an x86-ism in toolstack). Yeah, that's weird. It's shou=
ld
be moved in time to a common area of xg. I guess no other arch has cared ab=
out
bootstorms or massive VMs just yet.

>
> > Xen ought to cancel the claim by itself though, toolstack should not NE=
ED to do
> > it.
>
> Fundamentally yes. Except that the toolstack can do it earlier than Xen c=
ould.
>
> Jan

Yes, in the sense that it can do it just after it's done populating the
physmap, but Xen should still zero it at the end in case toolstack hasn't d=
one
so. Nothing good can come out of that counter going up and down in such a
dubious fashion.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 14:56:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 14:56:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902430.1310398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpqAj-0006P5-W6; Wed, 05 Mar 2025 14:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902430.1310398; Wed, 05 Mar 2025 14:56: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 1tpqAj-0006Oy-St; Wed, 05 Mar 2025 14:56:33 +0000
Received: by outflank-mailman (input) for mailman id 902430;
 Wed, 05 Mar 2025 14:56: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=AkOH=VY=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tpqAi-0005Oe-C0
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 14:56:32 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2408::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02c2ad04-f9d2-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 15:56:26 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by PH7PR12MB6564.namprd12.prod.outlook.com (2603:10b6:510:210::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Wed, 5 Mar
 2025 14:56:21 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8489.025; Wed, 5 Mar 2025
 14: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: 02c2ad04-f9d2-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eqx08f9eVDLpFitODAQYrCwighUmM2p2v3SlhpUp2MzeDpdmdre8+7urC5UGKLwqK1oATSiTLD7jOfDFYEml0KcPLhv3TM0JWm3gGbueq84WWAkURmNHVVCkvwqA9eupr9q7VScqsM4URHuGppbB1k/jaYtz5KBZ3qBYaPxiiREQ6LvA4vN74LNQ5tmd7+xumpxBeRj6PpN6VxFVTtFGqYtnJ0maEsWWXUa/ZDCGm+PIoSKsHSFc4I8pEmKxsJGHHPdoAGj2sq1oWLWlLUePkQPF8yZQWYIKgJkkbLQ84O91ZZdeh4OOQqJBe/+1yzJ6lj7FHe7B2FAnfXeGDXSiNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v+UdBwJd0w0TKG4z/Dod7jgy+alHNvbEKUZojfNqXQE=;
 b=BaFV3u3djjuGH9sDnendnI8e65dNTbu+j7tLCf/5HKXsnNrsObRGYfBaaMGOOxJO8bteBeRecVi4iTeitQXT4GexkX60FL9V+q6p9MFLG2hRRrlUXui8RZ8j/4rTIXUuwjiQZcH2ly00JT20FTMdfqVDzaX/83zAJcnAMXczZ9/Bnu9hgaXgDw8UqUI90mDpBMAFXzb/pV5e6mELNHTFOpw2rRjTEYcqyP4W8LC4RaXQQpDtlVnMo/Fwptqyc92uJ7rnyOqYU4+cBK7rA7QGOn6abim1oRThdsB6VwKt6KoSKa5/ho9e3Y+oDh5IiI910eBXBy211VE1eQSAbuLM6A==
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=v+UdBwJd0w0TKG4z/Dod7jgy+alHNvbEKUZojfNqXQE=;
 b=qbVkfA2Cs6dzezaCHO3cQp/T3wdh1gfPATfsRio8MEsy/WzHDlx1D1xK1WrQQvnYuSGXfhVCFHlB60SlIXLyQ60Axu7SvmiP8mAlYqnCjCdJ9I3nZlr9hmLvN+SW/jwxMMOaHbAqZwEFADwVUTHCydLt1R1jGBFxcy0C74qlh9o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <4dce0cda-4aa6-4f9b-9bc4-681f8cd2983c@amd.com>
Date: Wed, 5 Mar 2025 15:56:15 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm: mpu: Move some of the definitions to
 common file
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>
References: <20250304175708.2434519-1-ayan.kumar.halder@amd.com>
 <20250304175708.2434519-2-ayan.kumar.halder@amd.com>
 <860cfb26-37f6-4007-a66e-5f9075efe87e@amd.com>
 <2904f052-c35c-4fa6-9f1f-917acb72f1ac@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <2904f052-c35c-4fa6-9f1f-917acb72f1ac@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::9) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|PH7PR12MB6564:EE_
X-MS-Office365-Filtering-Correlation-Id: 958c203c-638d-477c-9650-08dd5bf5e354
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?TWhvOVBIM3FYUldGUEVBeUczd3pPa2x0NTFlSklEbzIyL3hhTEpBTnZxUkdh?=
 =?utf-8?B?QnE4VGJBK2x5bVQzZXdKa0dPdTdnS1QwV2pST2VjTFJ4UzV2dWNsYWkyU2xU?=
 =?utf-8?B?UjMxZ0JhUGZqWExFcXYrQkZ0S2M1azZlbXVZZXloTnV1a0o4YmR4WVdkNHpX?=
 =?utf-8?B?UmhFMUJKRysyVkZJWDlaRFhqMmEzbmpzT1RFN3JwWTNURTZlczErTW1lNnJ0?=
 =?utf-8?B?ZmZIYXZROXI4WWVkVTljV3lvZGpmZG82YzY2RVFTY1M4YjhXQnNpaDJlRWha?=
 =?utf-8?B?TGFIQVBJdG1nSU00TjBHeFE1aVZvSVVNb2ZqQ1l0WkJqMENsUkpiK3NDaU05?=
 =?utf-8?B?N2l0dlNVbXFQOHJyQUlzQ3lVZ0hNalRmRHdvQzJuKzNtUjJzN1htakc0Q2VZ?=
 =?utf-8?B?dzBZOVhaZFoyNENZaG9Db2JFQ2JCeGZseS9NWk9tM0hDZEx0TXduWDN1M2hS?=
 =?utf-8?B?c0VrQUd1a1h5SzF6emRRdXViSXoya2dJVFZta2dLcUdpMFppWlZCSFRhRU9i?=
 =?utf-8?B?OExMYUZ2OTdiV2hPWUZmeFFzc1UyUXhkYmNkUktwMUxQOFBUS1FHZE1MR0Iv?=
 =?utf-8?B?N2JPRUhaRDhzckQwYnIrUUlnZnVIblVFMExGaytDdUVUUmJGQlkybXl5M1FX?=
 =?utf-8?B?VDhPZUtQeFhkV0cvSEpIbk1BTlNpMDlCQlVkWnkvK2FBNWUrUmtjMW1seUd6?=
 =?utf-8?B?QU5SV1FuUWltSjZDSUFMblRDdll3eHZLMDNTTVdwaVdiT1Zhd1dvaXZwWm5X?=
 =?utf-8?B?KzBVeEg0TGlyRThUQy9ZOUEwTWFnOTU0VXlGc1dWSGpRelZIdVRPU2laZUZC?=
 =?utf-8?B?WktZaThOc3RONmVMZkwvdGoxbzZWRmlJaWhYZ1RXWkVRa09OZ2hONzA5TEVU?=
 =?utf-8?B?NmU3N1JPRE9nVXZjNUo5emRmRlpHMkw5ZjJFRXpXWDM0MHdQM1BhQ3BNZnoz?=
 =?utf-8?B?bWVCK3dEbHl2N1V1bE9Zc3Rld0QrWTNwbHRPWGNGNTFKbUhIcUNoaG9qTmQ1?=
 =?utf-8?B?bnhSSGN2Q1JuR0c3VjBUZlhkNUhIcFcxN2dCemNTS1FkU2JqU3ozNFRQamZH?=
 =?utf-8?B?ekpRbW41RnNZT1p0OGtTYk1Xc0E0dGFFRVlFaXMyNFVwaGsxZzB4cDVqdC9K?=
 =?utf-8?B?bzJHNGdFN2RrV001MS80RmVsZ2U2ajRNaUpFbXpuNjFvNVN2MmFscy9FYXlr?=
 =?utf-8?B?THZRQ1VLSUoxTnRyU3E4bHI0SlBZUlJ2WHdNWExiV1k0QTVFZTJ5WURQVjhC?=
 =?utf-8?B?SEZaazIzZFArUGNqQmZtbEduOGVSUW1KdG1MdUtpVnRqTHlJLzNGd2JITS9I?=
 =?utf-8?B?TzNlRjVxYUM2WkRlelhOZWM3cGZvUlpjOHNucXJMVG9razZmRGpDSSszdTNr?=
 =?utf-8?B?aHRvcmFyQ2Vtbzc0OGxValR0VDdTcHZnZFoyajJTbnhtM2c0Sy8vSDBvclFn?=
 =?utf-8?B?ckhGK0NMenNvcDNUZXZ3NjVHeHU3N0w5MGtCOVF2b0xKOW5ab2t3ZFV6KzBo?=
 =?utf-8?B?RDJISXV3ZThLZ3kvWjRaZitWOGU4eDRrNU5GMTFzaWhtZTd1NzJpOEY3RWJM?=
 =?utf-8?B?b3EzOHNnWkxaWjZJWmZ3UXdhK2VvcXRlb09wZ0V4MG9hczZkaEkreVk4VkUv?=
 =?utf-8?B?R2o0bEJ4ODR4M1dtUnMvaDZtVGpQQUE2b0RJeWtWT1p5UlFTcVp2T3B5dHJT?=
 =?utf-8?B?ZDBTck5scCs5MmJMODVqUFAvdlJYdHgzUWRpd2pLdGRKVUg3bnBtaGhIaWtr?=
 =?utf-8?B?YzJpTlRtQjJzNjAvdFpPYk5JUjR5R0ljaEVXZGdNT0p5TXl1dStldEVDajhT?=
 =?utf-8?B?Mm5WRm1GcDBReTBPVzR2QlZwNlJPQ1pUZXB6VmdncWtMNk9EYXFydGNWQUYr?=
 =?utf-8?Q?YQ3QuZSmR/BTE?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?aEpRbVQwL2hOVk9JQnJtM3NwNEtKZzVML0NpN21MZ2dZWGc2dHpXY3kva0Qz?=
 =?utf-8?B?OFptejFXa05ibmtaalpScTNmcmNFZWx6UjQ4cnNzRTE4c1d3cVFhWXVVcWpC?=
 =?utf-8?B?a3NERmYvcGFnWGFHVlpOMXErWWlCY1JkeEZKYm1sSGtCTnBkMFNiUGgxMEpk?=
 =?utf-8?B?L09yTnM3dHF2WmdHQTlweU1YY0NudFA1TEtzZUlvd0YyTkdXNGMvdXRGNU9w?=
 =?utf-8?B?dXBOVXpsU1AvSGlUVmRzbnByVllxd1NRMTVkb3BtNld6cUMxTU5RemJTM0tk?=
 =?utf-8?B?d0U3VGw5WXA0M0E5a2Y3UHpRcGdYUVFUL2dyRStrQ2V5djZmV0JwMURPbStm?=
 =?utf-8?B?eTBXTUYrSnlmR2RxbUF6UlFIMXN5ZytuV3lLa3FJUytNdFNaTTB0K2NVMFhT?=
 =?utf-8?B?bi9rT2JkdUdrVkd5WHdRS3FxTTErakkwSnJyL2hFbkZiblBBV1BjUW1wNGYv?=
 =?utf-8?B?NU1weGVKN0NTdEdOTlpudjBWMFdHK3lmNWNqT3pVNFNvaFhNYnJFVmNKdHBB?=
 =?utf-8?B?Y29BYTB5QTlneTNrSEZGK1FMMnllaWJBajZhLzFKcEtNZUMyVlk4YWY0U0g0?=
 =?utf-8?B?TTRTVkdZNXg0RFhMNFQwZG5vcm9XSG11UVRNck9NS2tZNWxIbEcveFVDNmtZ?=
 =?utf-8?B?eUFZdVdDRVFSTHNFNXZ5aUlpS1ZXQ3k0R3c3bFFFV21wbDNnbWNvNjhOSzdY?=
 =?utf-8?B?dDhkZE1rSWNvZzBHMGUvRzhkclpGYUsvVUhsc3g0VFhuaStRN0NYZnFkM2ls?=
 =?utf-8?B?cjk4T095ZUVyWlVUbkhvRU10UEEwSUFVM3hObElZVGVxUm5TSVkzY3pIbDRS?=
 =?utf-8?B?TDF0d1NwY3I1M1ljU0NHdTRaUGlRK0UrN2VxSlFSZlk5TjJrdGd3Ny9EUktz?=
 =?utf-8?B?akE4dStwZlVjV09wVlFoYUpBVklkbHVaV3FYL0NEVUJoLzRVUy9ZRU03YnQ5?=
 =?utf-8?B?dTNWVmRVY3JYMWZselpVZnZjdldoZHJqRlYrVFJvZ2ZFTld4UE8za043YjNp?=
 =?utf-8?B?NnhTWUQrd3hYTEF2dXNxWEN5akVwdHRGcnJoQkxldTRQK3pweU9EVGFjWHA1?=
 =?utf-8?B?VkJPSmtNc2xBRndOY0lVNmJsSUM1V2w0ckd0OFh1Uk51WnAzdnZqcEdVOUox?=
 =?utf-8?B?QWVySjRzcXJGalZ4dkMvTG5JTlpOMFBUV3U0ODVxYktKVklYeVVwSmNBN1hP?=
 =?utf-8?B?akY5M0p3Q2s4Ty9zZWFzUWpUZ2xvT3BKNVpGbEROSCtWZ3FqcUI3WkU4cWFG?=
 =?utf-8?B?eWd0YlJubEFPcUlkZ05RRlF2eCtsdnhFS3V0ZWNabzNvbXBzSTE1MFFCbGZB?=
 =?utf-8?B?N0tKRjRNSmNENUNaSGpEcnN0N3ZZVlV4cVFFcGVmbitRMVMzem85SENvY1Np?=
 =?utf-8?B?Tmt1a2VwTG1GUzNFeEZYcHNsSjNwQlkvSWVRbFpid0FaUlhLMWl6YlEveko4?=
 =?utf-8?B?NHdXV1o3bWpDTy9pcHBlNkRHbGZpdmVxTkd1VkVIYzBwUXlWeGI1VG1UMENY?=
 =?utf-8?B?b1dFUDFjQU94QlRGaVlBVmRIZkw5S3YwQVBheHRkUVJNWmhhczdxZjBqQnZx?=
 =?utf-8?B?dWdoUFRXQTdvWlQ0ZmNKakdMckkrSGY5SXpqNUd5dVRLQnJTRE9YclEyTS9F?=
 =?utf-8?B?Y0VoM3lETzl4d1lVdzA5VHhLeUJqWCtMUVZDc0g4U3M0Z3RSRFEvbXdTR2VV?=
 =?utf-8?B?TGtnVmVmYUtGMDNpMG9pZWZKWmlVQjZKT0RhTkpJMExIa1NnSGdkTUZTeGs3?=
 =?utf-8?B?V0VHRDZvVXB4dlR2aUhZSStKalBoT0d4aXZrWHVoRGQrcFRHQzhGTVRFSEpy?=
 =?utf-8?B?TlBRSTBUdTRwNHlyRmlKSVkvcDFBd1ZBWjFJWUIrSndiejdNUVF5OEZFUTRC?=
 =?utf-8?B?TFAzQlNkejVvQWliS2VmNCtDRkZRS0dLVjhCUnJLWUJLOHBGYjA1TTNkcEJ5?=
 =?utf-8?B?UEI5WS9Pd1ZHYlpnRnpyd0pRZHRBOThOVWVRalY0UGtwU1R4QmdmNTJtR0RD?=
 =?utf-8?B?SzZSaE5RS1RuWWNDcHZ2SWNzcEk2TXFKOUl5UkZUb3VLK3hkZlA2azdyOUhU?=
 =?utf-8?B?M2pGOEI1cGJpZzF5ZnZ4MERVYTVPellDU2EzQVhiN2VvZS96N3dyM3B5ZXlm?=
 =?utf-8?Q?6uSk=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 958c203c-638d-477c-9650-08dd5bf5e354
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 14:56:21.1141
 (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: PlqNUGqqYDk16Gj5JOhxSpDoyhoMSwytqznSsihJAmPlOhYKVpRpyx7VkKHSfos5
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6564



On 05/03/2025 10:37, Ayan Kumar Halder wrote:
> Hi Michal
> 
> On 05/03/2025 07:28, Orzel, Michal wrote:
>>
>> On 04/03/2025 18:57, Ayan Kumar Halder wrote:
>>> For AArch32, refer to ARM DDI 0568A.c ID110520.
>>> MPU_REGION_SHIFT is same between AArch32 and AArch64 (HPRBAR).
>>> Also, NUM_MPU_REGIONS_SHIFT is same between AArch32 and AArch64
>>> (HMPUIR).
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
>>> ---
>>> Changes from
>>>
>>> v1 - 1. Add the R-b.
>>>
>>>   xen/arch/arm/arm64/mpu/head.S              | 2 +-
>>>   xen/arch/arm/include/asm/early_printk.h    | 2 +-
>>>   xen/arch/arm/include/asm/{arm64 => }/mpu.h | 6 +++---
>>>   3 files changed, 5 insertions(+), 5 deletions(-)
>>>   rename xen/arch/arm/include/asm/{arm64 => }/mpu.h (87%)
>>>
>>> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
>>> index e4f2021f45..7b659aa42b 100644
>>> --- a/xen/arch/arm/arm64/mpu/head.S
>>> +++ b/xen/arch/arm/arm64/mpu/head.S
>>> @@ -3,7 +3,7 @@
>>>    * Start-of-day code for an Armv8-R MPU system.
>>>    */
>>>   
>>> -#include <asm/arm64/mpu.h>
>>> +#include <asm/mpu.h>
>>>   #include <asm/early_printk.h>
>> These should be sorted alphabetically
>>
>>>   
>>>   /* Backgroud region enable/disable */
>>> diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
>>> index 219705a8b6..644fd0fcfb 100644
>>> --- a/xen/arch/arm/include/asm/early_printk.h
>>> +++ b/xen/arch/arm/include/asm/early_printk.h
>>> @@ -11,7 +11,7 @@
>>>   #define __ARM_EARLY_PRINTK_H__
>>>   
>>>   #include <xen/page-size.h>
>>> -#include <asm/arm64/mpu.h>
>>> +#include <asm/mpu.h>
>>>   #include <asm/fixmap.h>
>> These should be sorted alphabetically
> This and ..
>>
>>>   
>>>   #ifdef CONFIG_EARLY_PRINTK
>>> diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/mpu.h
>>> similarity index 87%
>>> rename from xen/arch/arm/include/asm/arm64/mpu.h
>>> rename to xen/arch/arm/include/asm/mpu.h
>>> index f8a029f1a1..40fa6eaaca 100644
>>> --- a/xen/arch/arm/include/asm/arm64/mpu.h
>>> +++ b/xen/arch/arm/include/asm/mpu.h
>>> @@ -3,8 +3,8 @@
>>>    * mpu.h: Arm Memory Protection Unit definitions.
>>>    */
>>>   
>>> -#ifndef __ARM64_MPU_H__
>>> -#define __ARM64_MPU_H__
>>> +#ifndef __ARM_MPU_H__
>>> +#define __ARM_MPU_H__
>>>   
>>>   #define MPU_REGION_SHIFT  6
>>>   #define MPU_REGION_ALIGN  (_AC(1, UL) << MPU_REGION_SHIFT)
>>> @@ -13,7 +13,7 @@
>>>   #define NUM_MPU_REGIONS_SHIFT   8
>>>   #define NUM_MPU_REGIONS         (_AC(1, UL) << NUM_MPU_REGIONS_SHIFT)
>>>   #define NUM_MPU_REGIONS_MASK    (NUM_MPU_REGIONS - 1)
>>> -#endif /* __ARM64_MPU_H__ */
>>> +#endif /* __ARM_MPU_H__ */
>> Would you mind adding extra line between last definition and #endif?
> 
> this, can you fix them on commit, please ? Or do you want me to send a v3.
If I end up committing this patch (I can do that tomorrow), then I can do these
changes on commit.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 15:00:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 15:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902443.1310409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpqEN-00082m-Ls; Wed, 05 Mar 2025 15:00:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902443.1310409; Wed, 05 Mar 2025 15: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 1tpqEN-00082f-GW; Wed, 05 Mar 2025 15:00:19 +0000
Received: by outflank-mailman (input) for mailman id 902443;
 Wed, 05 Mar 2025 15:00: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpqEM-00082Z-UT
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 15:00:18 +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 8cf08241-f9d2-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 16:00:17 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4398ec2abc2so61729065e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 07:00:17 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd426ca07sm20059815e9.2.2025.03.05.07.00.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 07:00:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cf08241-f9d2-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741186817; x=1741791617; 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=RyvjW5c6iwJDTK1Lpof10N8PHBOXS02s/X+QNaLBgYk=;
        b=MgiYOwnFJqleN9eTzuqYoWPjqPU2GeN+WCrItam9byQZQaiVU79ShzKR2EqZkKxEtl
         4LI2LPDWQzbPJyk3YLk3NNV7RrILlgiTpFyiJVxSEUPlucziUVK9yWjtEJ4fDP1NSanf
         tgtB2QaGsU7wWaTxXUo2CobX4GdWocjstiyaN0x7pFwdq/rAm8Gtl9tFO0zqtStxDATj
         pvn2b7KbqisVGaDcIOhi8zUubPJqvuTRvpL5Kaw5XZE2Eg954WypPv6kDYZkISs4xb8C
         uXF8+XvZXL3m1z8y3oCr8tqUEYlgMfS9BNoD4sbHxFmWYgvuIQlI51wLAQdnQVQgcgOj
         857g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741186817; x=1741791617;
        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=RyvjW5c6iwJDTK1Lpof10N8PHBOXS02s/X+QNaLBgYk=;
        b=aW9tnddLtfWOkRNU2LzF11xZXh9dAKbd36r0UQHfUhEMvXcmBg+X8eYqKkx1UlqnIH
         YEA0o6NQQDz2uZS41KRVuLFYZ7/S813XCgeKCIsuj1ArrzHc2wCZqSv7LjFuhobxtQFw
         dcdz8MQC4Y4xgcfj3H+J1yj8O5FcXGzexFK8JuF3Iew2LVYKv7H7qq2zZVXw0wZRNAd6
         OzubI/sp70r6o1DksaDWAa7x/7XNRg/q7HBqhEoU15x5xgRX70OyUMUJGNJTQUjcSKgz
         lZUZo9LB38Oduk2YOsv2tIMlu7h1B1/ZRYdXTEmjCoRYxRkv5jUcbr/H7oQ5TPRcOwk0
         YVIw==
X-Forwarded-Encrypted: i=1; AJvYcCWnjqYJAagjSIlfK4nVGYjWJUff6BwTNagw1IbaQY1a6rqb46O+mREOkqnGYA/Ezrw0U9mtsMk/6sw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwULWFhhNX344nWml5laCa4ONO38ykQlAXiTSTe/Ec7xEtARE4n
	AWuqMXAKd/JAD2GTraceLljw2NCpHG0+7L+DMnvcwZAXmTfJPs8XlwwuJY798w==
X-Gm-Gg: ASbGncvOvd7GI/DnbhFVQK7srQUCgcc27eC086XIzgdxWrQ9ip2jdDaAHs6LWoSWuIE
	vEPUP9oW5cQehh/p8xSoAh1BsTqlLePfzlGjfkOtzVWDwFZ1VTFy9h+o/hIil4MqKXkUjUMD4xb
	l7wk0qdx5wl93DydeX82DMI9KS9d9aGY2bRtF00Epo1dOopP48ljt+lqMXrWWjnFGjFks7v4WuP
	IOXRWyJFT9r+avq970t/ZEGB6TXs2e0/JbIRRX1SremmCOcccA0Xg1q6+IKOZR9O9sh2ftWlWKM
	bDaVBy7e9BN5WTojns8EkJm9OJbNXJjHPToixNHI5gyNRzEb+8qgqPY/nwIf8Lrye34aBNs0Xrw
	DNSvWUl5wnUsCYcTqFMkty3r7QZ6jyw==
X-Google-Smtp-Source: AGHT+IFgE3qjO2tjDEVK/UORbEEnIR49PASLuEfuZu2CVLG4W7Angph9Z73enbHK0JgwymLlajCeoA==
X-Received: by 2002:a05:600c:474b:b0:439:4700:9eb3 with SMTP id 5b1f17b1804b1-43bd294bb8amr24943445e9.3.1741186816981;
        Wed, 05 Mar 2025 07:00:16 -0800 (PST)
Message-ID: <86cdf4c1-ab94-4228-bb90-167e9d9ea271@suse.com>
Date: Wed, 5 Mar 2025 16:00:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
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: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
 <11dc36a1-6b34-4e06-ae6b-4019a024bbd5@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: <11dc36a1-6b34-4e06-ae6b-4019a024bbd5@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 15:47, Andrew Cooper wrote:
> On 25/02/2025 11:37 am, Jan Beulich wrote:
>> __init{const,data}_cf_clobber can have an effect only for pointers
>> actually populated in the respective tables. While not the case for SVM
>> right now, VMX installs a number of pointers only under certain
>> conditions. Hence the respective functions would have their ENDBR purged
>> only when those conditions are met. Invoke "pruning" functions after
>> having copied the respective tables, for them to install any "missing"
>> pointers.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> I don't especially like this, but I can't suggest anything better right
> now, so
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

>> Originally I had meant to put the SVM and VMX functions in presmp-
>> initcalls, but hvm/{svm,vmx}/built_in.o are linked into hvm/built_in.o
>> before hvm/hvm.o. And I don't think I want to fiddle with link order
>> here.
> 
> Why does the link order matter?

Because hvm_enable() is a pre-SMP initcall, and if the new vendor functions
also were such, they'd need to run later.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 15:02:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 15:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902451.1310417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpqGt-0000CU-0Q; Wed, 05 Mar 2025 15:02:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902451.1310417; Wed, 05 Mar 2025 15:02: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 1tpqGs-0000CN-Sm; Wed, 05 Mar 2025 15:02:54 +0000
Received: by outflank-mailman (input) for mailman id 902451;
 Wed, 05 Mar 2025 15:02: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpqGs-0000BW-3f
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 15:02:54 +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 e9b127e6-f9d2-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 16:02:53 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43bd87f7c2eso2628635e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 07:02:53 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd6530f26sm14217885e9.4.2025.03.05.07.02.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 07:02:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9b127e6-f9d2-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741186973; x=1741791773; 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=cYJfryi3uCgAHEybKeFZAQ7Zv3eRpV9dRlrTMaZBi0A=;
        b=BJjFZ8cRB6PIOWoQKBVY2+6dcRD30391K43rlt7vpw2wrF10QIpUU00hJkI5QAyFy2
         fuDztokGvdMSmAJph6KKu1FBXKttuzIOQa+B0EBEuQb2RIOYLIg94Rz6bOogQrY8VCJX
         HjolhigU5ZxRNAKIo+ZVnpldvyPtRGWGB+VLUj4LrBo4B9Hzrp3HekUu1mFSxzVYSLjR
         sZG7OsqXYHGtk30X2dh+BI1e/Vg6c6Z5OgrWs/xjTxoGqiBRu/acGA0DJhdPtHWYwtmh
         GVK3MssFNGpbjWCPUk0evtsR0peQuy4QHOSEjUqaDYsUSD2nx7c1RDdVlkWOWRYpjLlw
         Rl1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741186973; x=1741791773;
        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=cYJfryi3uCgAHEybKeFZAQ7Zv3eRpV9dRlrTMaZBi0A=;
        b=OT+IpmyPyhVymJoXGI70ZkOTv0yeWUNURJnN4tRbv1blzCGfi01DNBGj5AH1H8NFro
         RjM9Z1h8+PZPcMpNqJRO9J8i4Vh8Nnr/OSPPVlsi3M4L3Qt1C3F+rjm1fe1K2NPmjdr8
         /3lp6UE+D6uHWt7BzJsT86l2H4j2ZFC6Y3aHhHrhi/f0ce8gTMM5lkuty0QzCuJrPCPC
         UhMLCePmQ2+Fac9olWVThaoEB+B+E1L1fMak84l7lpcAOUj/fRPMry3ObjEJp2BLWgdi
         ryEdiAm2qP9eNLlWtIq0XWs4Aos/a2qTv8ETv0JUN7l/LcXhi+TmILjRRYMdipY6sSle
         kf7w==
X-Gm-Message-State: AOJu0Yw4FQcM07NW4zgQDCBdbeMDskfsVwbgJkvHYlaM7mYNCITI8yvX
	1MMM+kboIXTu8P75oIHuzYzh2UlQXN6JSodYBlNy2Jlb3HzBoJfVMooBZhN3rDHxu7BDjZHzNqg
	=
X-Gm-Gg: ASbGncvISh54B4/Pd/7l2xR2WdkLuQFfWax4yI6sOCe/PVrl/+IebJCSNUaiVv2s81e
	jJIXB2fv5EVEQs9fteb/f5rUYeJ+or5q4NLKctuBPddntSkYDekuQCCqkv2NuZDxLSU2Af/aDxw
	9qiBURXRPGO/SuavUbs2cfKnlL0yRYVs4b2Cce68iT20LggRg9+z4JzeMxtO4PAxpxcgLl3b1lO
	g0PuIIaNlq/4Tt3pw1ze9XzHB0RhGjOMe279txhlHpbgTkr2w9C5IVrTZLGh5GUFAnF0QygpGgK
	CGDCAaz/LqelvJ1I5VfdNbqwgU1PDHDN9dJn4FNmGnrnX5Asu5j3cp69I7FNXPuW/LksPdTDLNI
	nkaNM3vYefLQMGT2YeINvTLRBB7wvBg==
X-Google-Smtp-Source: AGHT+IHihhuz56KmP8lZvKL4xFruEC1c9RKQRLpGOAfK3cjhdr7guVSvMliwyWyWPZvcB8Z9lrXYyQ==
X-Received: by 2002:a05:600c:1c26:b0:439:9274:81db with SMTP id 5b1f17b1804b1-43bd292a806mr33993695e9.5.1741186972421;
        Wed, 05 Mar 2025 07:02:52 -0800 (PST)
Message-ID: <5978ed8d-ecef-41f7-adde-bc52312b483c@suse.com>
Date: Wed, 5 Mar 2025 16:02:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
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>
References: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
 <Z8hkLjMAQfhBR2Cm@macbook.local>
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: <Z8hkLjMAQfhBR2Cm@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 15:48, Roger Pau MonnĂŠ wrote:
> On Tue, Feb 25, 2025 at 12:37:00PM +0100, Jan Beulich wrote:
>> __init{const,data}_cf_clobber can have an effect only for pointers
>> actually populated in the respective tables. While not the case for SVM
>> right now, VMX installs a number of pointers only under certain
>> conditions. Hence the respective functions would have their ENDBR purged
>> only when those conditions are met. Invoke "pruning" functions after
>> having copied the respective tables, for them to install any "missing"
>> pointers.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks.

> However I find this filling slightly ugly, and prone to be forgotten
> when further hooks are added.

Indeed. Luckily, while undesirable, that wouldn't be an outright bug.

> Would it make sense to delay enabling of IBT until after alternatives
> have been applied, and thus simply not use the cf_clobber attribute on
> functions that are patched to not be indirectly called?
> 
> We could still enable IBT before starting the APs.

I'd prefer if Andrew answered this. It looks like it might be an option,
but it also feels as if this would (if only a little) complicate logic
overall.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 15:29:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 15:29:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902464.1310428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpqgM-0005zZ-1h; Wed, 05 Mar 2025 15:29:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902464.1310428; Wed, 05 Mar 2025 15:29: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 1tpqgL-0005zS-Uc; Wed, 05 Mar 2025 15:29:13 +0000
Received: by outflank-mailman (input) for mailman id 902464;
 Wed, 05 Mar 2025 15:29: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpqgK-0005zM-Mj
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 15:29: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 95f027f3-f9d6-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 16:29:10 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43bbd711eedso32146255e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 07:29:10 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd426cbc2sm20468645e9.4.2025.03.05.07.29.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 07:29:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95f027f3-f9d6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741188550; x=1741793350; 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=oNDkK58mw5ZjaV7FPUZTTBPBeYcmvKikiYOS7YUQLsc=;
        b=Jd67d+pbEY8waCMEMIUsPetk6lMT36t9R3n9FJuTXw93K7A1hbYNkZ4rRJimMwfZba
         Rq2T5fApzqfDCdHfDRsB7Ir0jCa06ipx5uTxEGlRckfJPE4VAKeQaoKljY0ANhsHDcz2
         5qd05SMIGjtcTenbeLU5GNBghnnRxYFvSFB8g+tRNJ+6vpwzSUyXkoespmcpE+nIdbF+
         vxedLIK6vi5sqJmTfahWHwReT83DwzKbiiE+Fx+Byu/348oDgcoCqmjqG0Y4cQ6QS+Cm
         KE0B2/v9gCYXPf3OMWKgnHW/eUk5kdSr/i6nLJ9ONuK9h/hn5POl5k+XKdkfjfjE5lZd
         rj3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741188550; x=1741793350;
        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=oNDkK58mw5ZjaV7FPUZTTBPBeYcmvKikiYOS7YUQLsc=;
        b=KzxSH90yKBQZvH949+Foys6uC/P/SF9SGLOldhkL6o6G+vpuiQdlkCshaz2aaAiY4w
         s1RfIPhsWUoRCX7pPKQOzNTslvmWU+CtD9OnlwjBSh8uVUvyBVZIhAbEMW4QBTazO3A6
         iyMvH8l5LYJYFJRhrlzoumSxJhqLctpHHh3kyWYLbAWzIs0YEPMxY0qi8NRGdl/DC5vO
         qQnbjLgfu8B09+SAcrqK5F0OWLj3RfeQyLgYn3mQKaRB9Vd+YyK/Oo92Sk8yRb7xwxho
         aTS2mfsbsonzgAbtV8UCXgh12mt48ccJ7ei7pWYW1G4tSkPHmC/XQ+Bd45/vQ3I+6sFx
         IctA==
X-Forwarded-Encrypted: i=1; AJvYcCUOrGB0VX3GfwAZnjbJjn7Tj+u2tuJGZiOsTn0fMEE9Nw46NfzcBLmHozs3lSHbj5iWOV/UBWclrWs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQAK4I+55opXwE+10lg3T1j6WHM74k62ea+Di9jSeXHhb2Daez
	dbVDHzhUFhqDk6d0ZgsJ1WsSQIBLMqnUM9cCzD7BlB+ric1010DmmQyM+T4MkipPLK26UhgmI0s
	=
X-Gm-Gg: ASbGnct04UU2RIZ9YDmdQqQH488TxW1lDFQKBp3E/5yns2o7reBWU5zxom0Ot72yB/Q
	l7MppiicnKlV6RfVeN6SehW7zGJVN5ErFQW/X31mxHh+HcSZZozXgAclXMDJV3e2dyan9BcVB7Z
	QTyRAlmSLFzT/oMxHlv9r/EnAYhfc3Y27bbQJBLBXSZNwRmfDyIHdexbx31iUKSAqZObkjW4Nmg
	tqTfnxA8ybMKNpWUoqd/2ccegpatwwvCVwxbQVC1R831aVdB5ZUVHS5ZsOA4m06JgpainBpf3HR
	NZHPikYrGwDF2qhmqa9KXQds7bOmjfHSdKh8CF0FWALC2F3sKnjr2jc6vKVCiD1p/5VqsrK8rB2
	RQcEQfVAs6RAjA38FVlUptkPxhog2fQ==
X-Google-Smtp-Source: AGHT+IFj1L/kQvsFUj8Tlz/wBXAtq/xDvp053+gqZ4aQa7Sffh/p7vefJp5PZQF7bZDp6pfxoIribw==
X-Received: by 2002:a05:600c:511c:b0:439:6712:643d with SMTP id 5b1f17b1804b1-43bd2973fd3mr24470445e9.9.1741188550162;
        Wed, 05 Mar 2025 07:29:10 -0800 (PST)
Message-ID: <825fb979-7f1b-4079-955a-33111d7b4623@suse.com>
Date: Wed, 5 Mar 2025 16:29:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/12] x86/emulator: Refactor FXSAVE_AREA to use
 wrappers
To: Alejandro Vallejo <alejandro.vallejo@cloud.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: <20250110132823.24348-1-alejandro.vallejo@cloud.com>
 <20250110132823.24348-9-alejandro.vallejo@cloud.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: <20250110132823.24348-9-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.01.2025 14:28, Alejandro Vallejo wrote:
> --- a/xen/arch/x86/x86_emulate/blk.c
> +++ b/xen/arch/x86/x86_emulate/blk.c
> @@ -11,9 +11,12 @@
>      !defined(X86EMUL_NO_SIMD)
>  # ifdef __XEN__
>  #  include <asm/xstate.h>
> -#  define FXSAVE_AREA ((void *)&current->arch.xsave_area->fpu_sse)
> +/* Has a fastpath for `current`, so there's no actual map */
> +#  define FXSAVE_AREA ((void *)VCPU_MAP_XSAVE_AREA(current))
> +#  define UNMAP_FXSAVE_AREA(x) VCPU_UNMAP_XSAVE_AREA(current, x)
>  # else
>  #  define FXSAVE_AREA get_fpu_save_area()
> +#  define UNMAP_FXSAVE_AREA(x) ((void)(x))
>  # endif
>  #endif

While preparing to commit this I felt a little uneasy. The mapping aspect
is ...

> @@ -292,6 +295,9 @@ int x86_emul_blk(
>          }
>          else
>              asm volatile ( "fxrstor %0" :: "m" (*fxsr) );
> +
> +        UNMAP_FXSAVE_AREA(fxsr);
> +
>          break;
>      }
>  
> @@ -320,6 +326,9 @@ int x86_emul_blk(
>  
>          if ( fxsr != ptr ) /* i.e. s->op_bytes < sizeof(*fxsr) */
>              memcpy(ptr, fxsr, s->op_bytes);
> +
> +        UNMAP_FXSAVE_AREA(fxsr);
> +
>          break;
>      }
>  

... is entirely invisible at the use sites. This imo calls for making
mistakes, and hence the existing macro better would be adjusted to become
MAP_FXSAVE_AREA().

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 15:40:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 15:40:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902473.1310439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpqqn-0007Ys-Vg; Wed, 05 Mar 2025 15:40:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902473.1310439; Wed, 05 Mar 2025 15:40: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 1tpqqn-0007Yl-R0; Wed, 05 Mar 2025 15:40:01 +0000
Received: by outflank-mailman (input) for mailman id 902473;
 Wed, 05 Mar 2025 15:40: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=mCKF=VY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpqqm-0007Yf-LC
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 15:40:00 +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 17faf347-f9d8-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 16:39:58 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5e0573a84fcso9361350a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 07:39:58 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e4c3b6cfd0sm9833805a12.28.2025.03.05.07.39.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 07:39:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17faf347-f9d8-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741189198; x=1741793998; darn=lists.xenproject.org;
        h=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=OdS/lYUlA9tqMCJO2GTaNiw21MieA9SA9hezZvqCLeU=;
        b=p64BiFJIa7uyc/TJeVOdeo3WrLwxrtoohePEUqELlabao/Uoy0WbH2Jxfb2tR6Ueda
         fmGEiTpKyo6vXXc0TKDw9KfiqvxJbUL51AESK3W6f4N2TlXELZzNBWkgJGAlTu9P1Bzw
         blv4s7Lni6/jPuw2OpZ/jKOJW4IoNc5n54gdk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741189198; x=1741793998;
        h=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=OdS/lYUlA9tqMCJO2GTaNiw21MieA9SA9hezZvqCLeU=;
        b=dfGvHKyzCW3lAtgC2+d8WmLPjx37zFVpU4z89rz8ohb5/6EXhD5Mim2f3KY4bgK+oG
         i30BYJoSBsnIvAZTtCGBFXGG/90rGV3Srv0fDfyS44LfhvvD8SvJAZeT2i2OaUF/dezg
         RxksrbG5eHY6VgPX6RIb6hfOyP39SWcG9VdzaR/4mFJAkzUmIJLmA9yAhFJXzzFpV28T
         OKX76GVU8xk+8xvDR05VQMR0lK+RDBwVhkT2KYMqT88QmY2xKsHxSOXC5P5cT9/1dcKc
         oIVZvVKb22ajOMUvoFpzEwqTQ47+WsfvLMIHES7xEd9GnQgVxVtzvOzzMiUfd1jnv01T
         Y+Jg==
X-Gm-Message-State: AOJu0YzRrzVe6juWlIcg5q+1it/LNso5WPLeGq5oEkfJ8NBWvkKg5gyz
	6SuFbWtn/2N4uQ2J50riNYVSW1yWQ/pVc1bF+QTD0N0GkZRlw/UC9MDaAFxnSD0=
X-Gm-Gg: ASbGnctRqZmPth9KXkzZzeyoawwNcuKnVJe9+3MWin5QHwoayN52LJ6OC7xT3GLHaKD
	6xyDYAbVAdnZwT8FJQofF6OB7QTd6zTZTm0Dy17SCOmN4UbPBhgqBuTB6FNnzSfEpBnQzt2FDT3
	Ig2nLYlC5dj6h8MEZ0CzdQzgkbn/XrHPV5PQ9KaXv7gZe3JZaSPF4C9uItalrH5osyEFoaJHc4L
	bl5uYmNrzMrHwF5Vg23OwFXRzdwwvl5lhOeoD1Qw5qmGxSlxNhblpi7ANahFLKscLZOLoXlVEXs
	1e7/S9MG5zEVWYCq1MS9X/1ZEmxGtqE0VWy3mLWvgXba4Hl4cmDLPjw=
X-Google-Smtp-Source: AGHT+IGhjU4U+YOgMymsoGr5VCVTVqUFEQ8lxGhohIMq5ZEqmva9DO+ucz7DK5s6unjIGd0+/M/7dw==
X-Received: by 2002:a05:6402:1ece:b0:5e4:d75a:573e with SMTP id 4fb4d7f45d1cf-5e59f4f8e28mr3595918a12.32.1741189197761;
        Wed, 05 Mar 2025 07:39:57 -0800 (PST)
Date: Wed, 5 Mar 2025 16:39: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>
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
Message-ID: <Z8hwTL8bsgjU3fJi@macbook.local>
References: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
 <Z8hkLjMAQfhBR2Cm@macbook.local>
 <5978ed8d-ecef-41f7-adde-bc52312b483c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5978ed8d-ecef-41f7-adde-bc52312b483c@suse.com>

On Wed, Mar 05, 2025 at 04:02:51PM +0100, Jan Beulich wrote:
> On 05.03.2025 15:48, Roger Pau MonnĂŠ wrote:
> > On Tue, Feb 25, 2025 at 12:37:00PM +0100, Jan Beulich wrote:
> >> __init{const,data}_cf_clobber can have an effect only for pointers
> >> actually populated in the respective tables. While not the case for SVM
> >> right now, VMX installs a number of pointers only under certain
> >> conditions. Hence the respective functions would have their ENDBR purged
> >> only when those conditions are met. Invoke "pruning" functions after
> >> having copied the respective tables, for them to install any "missing"
> >> pointers.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Thanks.
> 
> > However I find this filling slightly ugly, and prone to be forgotten
> > when further hooks are added.
> 
> Indeed. Luckily, while undesirable, that wouldn't be an outright bug.
> 
> > Would it make sense to delay enabling of IBT until after alternatives
> > have been applied, and thus simply not use the cf_clobber attribute on
> > functions that are patched to not be indirectly called?
> > 
> > We could still enable IBT before starting the APs.
> 
> I'd prefer if Andrew answered this. It looks like it might be an option,
> but it also feels as if this would (if only a little) complicate logic
> overall.

It would indeed move the enabling a bit later, but overall (if
possible) it would IMO seem simpler than all this patching and filling
of tables.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:16:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902493.1310483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tprPu-0007Bm-Qn; Wed, 05 Mar 2025 16:16:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902493.1310483; Wed, 05 Mar 2025 16: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 1tprPu-0007Bf-Np; Wed, 05 Mar 2025 16:16:18 +0000
Received: by outflank-mailman (input) for mailman id 902493;
 Wed, 05 Mar 2025 16: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=4HJ/=VY=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tprPu-0007BZ-1Z
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:16:18 +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 2348ba6a-f9dd-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 17:16:04 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so46206365e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:16:04 -0800 (PST)
Received: from localhost (0545937c.skybroadband.com. [5.69.147.124])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42e6ef8sm21473175e9.29.2025.03.05.08.16.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:16:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2348ba6a-f9dd-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741191364; x=1741796164; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uYw4j/4W2hhMc/01lw3YNrQ1HHhLCfCpZlkvj4vtPmI=;
        b=QLWoDhXXjt669AdOKsYt2CJiU4VL2tsrKbTkViMQfLHSJuYFHrZwPYfGCO9RIrfW1q
         heP8IV6e4U2HfJCSv3VIy+koOFm5HbhvD3zvJAbGkb1QKgY477AQA8SgERLiIESJgpPK
         92lujAchBz6S85cjgoTBAaFuJHXL0OKDqdDas=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741191364; x=1741796164;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=uYw4j/4W2hhMc/01lw3YNrQ1HHhLCfCpZlkvj4vtPmI=;
        b=qFyUwKKvnwDemgIP7/b2HIosQEAtakLVAYsNnlOgGl3AGNlgbnXsNPlSEILGXmkGyd
         2RbCTeVFtmCVlhnJNlL437exyLWdMrHJOBC7LsEjBW3TVmXlGGqEz3QWIo7Ra3fd8+QD
         G8ERSnhvIvnxwcxLh2nUEqAQw1pna50G5zBvjNwZMdBEcMAxSf7iU3jNwnF8B3sqXsQz
         ZP8VM98k7WbwRc7pn+GLdSuiF75M1xewCQPCwQ1MK2B5TjsqgJ20d+B4qiMTRKjM07Ng
         RPfuRSQBrtjTjfVxlI4YENvTaY46AdQkhp7EuzC7r3/qC7/qbpjC8vit1mvN/JuyRS6R
         +UWw==
X-Forwarded-Encrypted: i=1; AJvYcCVIVmFKKaPlXJQCIj8ssizOsYm8H9vckpqs+C3WftWQp91TwODKycRk/nAFOhIhOX1RIZX/+T0KurM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZw91f4IcTw89x8dXnSiSKwPUpHIrlrZwj5db2vJj47CPQSOEW
	6+5Nogc8trkByp7mXACT/F6wKdDkldOAVUdkA3In4bmYzVsLqImHoLEb3yjx5YE=
X-Gm-Gg: ASbGnctVzbEohggw6KXO7m+9HI2J+Kk0n+/xC7mowQybPBL6hR2dob9vVHv0hxt56vu
	o/HhLr+/aMVrsHeeNg0oRiXdLi53abYcX/e2kllXDnV+pzO7Q9Vy1ADgPgRIgrlU10ZnBRPjum7
	PMdZP9RTHACkue/Ovpg8aa4kvb/L69qeS8ZAVXzM0iEvCKPdwPsamE00MANO2mzEZooGLZuty7e
	fbwXRO7a5n3AWZtKzhfv60zjmxhaiMg9OVssQlL0ox0XGUnsmDyS07zpelycIu79qtcX425xIDN
	W+oWAjZb3D0sCT5JkN+twygRU0fClFQ47Wiyk+pr9GpvWe71UYhAMPH/FLr/KIzeMbGeqy8T3u0
	=
X-Google-Smtp-Source: AGHT+IGvedXT9iYS9/FU/yQBn9fMZ5H8/K532pZb8eR6+ecOTjJEQHnYEec15IEg8mkwoGTPe9uJMA==
X-Received: by 2002:a05:600c:190d:b0:43b:c309:da4c with SMTP id 5b1f17b1804b1-43bd2951c4fmr33624375e9.10.1741191364192;
        Wed, 05 Mar 2025 08:16:04 -0800 (PST)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 05 Mar 2025 16:16:02 +0000
Message-Id: <D88GTP4MI6YK.3P81MPW1IG6CJ@cloud.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>
Subject: Re: [PATCH v3 08/12] x86/emulator: Refactor FXSAVE_AREA to use
 wrappers
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20250110132823.24348-1-alejandro.vallejo@cloud.com>
 <20250110132823.24348-9-alejandro.vallejo@cloud.com>
 <825fb979-7f1b-4079-955a-33111d7b4623@suse.com>
In-Reply-To: <825fb979-7f1b-4079-955a-33111d7b4623@suse.com>

On Wed Mar 5, 2025 at 3:29 PM GMT, Jan Beulich wrote:
> On 10.01.2025 14:28, Alejandro Vallejo wrote:
> > --- a/xen/arch/x86/x86_emulate/blk.c
> > +++ b/xen/arch/x86/x86_emulate/blk.c
> > @@ -11,9 +11,12 @@
> >      !defined(X86EMUL_NO_SIMD)
> >  # ifdef __XEN__
> >  #  include <asm/xstate.h>
> > -#  define FXSAVE_AREA ((void *)&current->arch.xsave_area->fpu_sse)
> > +/* Has a fastpath for `current`, so there's no actual map */
> > +#  define FXSAVE_AREA ((void *)VCPU_MAP_XSAVE_AREA(current))
> > +#  define UNMAP_FXSAVE_AREA(x) VCPU_UNMAP_XSAVE_AREA(current, x)
> >  # else
> >  #  define FXSAVE_AREA get_fpu_save_area()
> > +#  define UNMAP_FXSAVE_AREA(x) ((void)(x))
> >  # endif
> >  #endif
>
> While preparing to commit this I felt a little uneasy. The mapping aspect
> is ...

Thanks for coming back to it :)

>
> > @@ -292,6 +295,9 @@ int x86_emul_blk(
> >          }
> >          else
> >              asm volatile ( "fxrstor %0" :: "m" (*fxsr) );
> > +
> > +        UNMAP_FXSAVE_AREA(fxsr);
> > +
> >          break;
> >      }
> > =20
> > @@ -320,6 +326,9 @@ int x86_emul_blk(
> > =20
> >          if ( fxsr !=3D ptr ) /* i.e. s->op_bytes < sizeof(*fxsr) */
> >              memcpy(ptr, fxsr, s->op_bytes);
> > +
> > +        UNMAP_FXSAVE_AREA(fxsr);
> > +
> >          break;
> >      }
> > =20
>
> ... is entirely invisible at the use sites. This imo calls for making
> mistakes, and hence the existing macro better would be adjusted to become
> MAP_FXSAVE_AREA().
>
> Jan

I prefer it that way too; I was simply trying to minimize the diff. Would y=
ou
like me to resend it with that adjustment?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:18:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902504.1310493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tprRb-0007mR-7G; Wed, 05 Mar 2025 16:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902504.1310493; Wed, 05 Mar 2025 16: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 1tprRb-0007mK-4Z; Wed, 05 Mar 2025 16:18:03 +0000
Received: by outflank-mailman (input) for mailman id 902504;
 Wed, 05 Mar 2025 16:18: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tprRZ-0007mA-LL
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:18:01 +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 6726ab76-f9dd-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 17:17:59 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bc30adad5so23653325e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:17:58 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd6530f26sm16358645e9.4.2025.03.05.08.17.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:17:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6726ab76-f9dd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741191478; x=1741796278; 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=t1Uc8D9XzRWQKIQ9z+JhjWA/IeLUKgcXaIiw8QTGxj0=;
        b=YNMo2vsES5yBNP4OI+EJKNJtMXeNFfhdbrjOIgEg6X+QhH27cewBHg4+FaAWXEdKsI
         lBDe86PA9TtbeTEZNImbfi7nyWaKyYJ+YbIAvw/5LjsPuWSeciOy08aw9Dpmpd+qzu1V
         WLZsyuV4hIV9o7It+X6pbFp8juWQe0+Cf/V5hR/JhaEJ3QuEYmPSIZKfCSDzctIucsQP
         uAhr7a7NStsM5PCUqokdVBH1tk4iTWO9HK12xPPY3B2lIlhBrDP6UoH0qXgpeClfQXPI
         /7PJVw36pVVQhmea62bPRQ5J3JmECz5beNY0iaHWW6X7DSHAFP+Y4cG9jt5vVXJMTLoQ
         P0Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741191478; x=1741796278;
        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=t1Uc8D9XzRWQKIQ9z+JhjWA/IeLUKgcXaIiw8QTGxj0=;
        b=jFCTQQyaAxWWeX6Id2doAPyUkK07jU6i8Fv/dT/pweGBXzGSB4kkWJHRtMgnSCGS8i
         Cl05vrB47cAhUg4GIihZXk8fhBfdXLOdnhmt4p1P3VOfoIicABUvC29N0xX7yaNZmtNd
         tGyZ+k+c7DvPHI2d4yQNY1aaqH1fs16V8eUtAwxTkfnE10weRZtFGlRr4RfSxmWJcmwq
         FdDPRMRWDAPdcalh2hZR/64j+bMfDCrNzeGjyiXb6fNSxneJpFFALgT97gakBUQ22Cms
         XITLGgtudK7CHgYruWyhI6HofqRQyeuE/+WDAMFvL+Lww8+wtb22k0IvO27XhI9pv1Sp
         ljxQ==
X-Forwarded-Encrypted: i=1; AJvYcCXGzvQ1R+zYqG3xXu5fMA/qkdGLPe9n8BibaRUxEQfPvnwgiAIjmpSk6XBzIQXcCWdiuTnUqNLQhmA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx+bPvyezMVZuSlnKIBsAuwlenBgzxkvIbxgOQdSETwTB9ACbCJ
	mmZs6KmJTxIsY0RUj+ZTnfDaouv6udT7wnAG0F5+8VJ7SttiBEfalxsJ2lDX1Q==
X-Gm-Gg: ASbGncs2KEck3cLk7qZegajqInminV5ZmdBe294C6aeQaX2X2QEHS+0r2uWL3MzA4jw
	Re2hctd75/ux1lbr+9EjcoYhJhenNljUEeBoBzwp+C/2zylCwp+/iRTgaoYb0p94DeW6tlM2n+o
	Q0LHxHTrhiAQz6RGT0UJg3YWHdC++JJ3FVPZcRiYCqLV0/A8I5lmuWCAWdaH/rXI9gi3f0IhkrN
	3FQvhd9VQFV36hZ3DOVWsjoTaJ/BUNT7QLv91VXwLq9T8+wAyzlhNVsN7aN/sfghSdJZ5Nv1eF2
	24GmH5JCsymwBpnjffuL95Toz1huBIMDLwfutyDr6bDh94EZbSzq/VOHAEftTX9AJvqJuU46P8m
	AP9NRvi6n53zOJ58USrL4FDvU7YgF0A==
X-Google-Smtp-Source: AGHT+IEiqbxi6Yonr6Y34DA97XpOj3qNPXoUxHSKk2R4jRV25YLzr3UA4xuAKXmEQoUAn9CPcZzBvQ==
X-Received: by 2002:a05:600c:35c5:b0:43b:c1ba:2186 with SMTP id 5b1f17b1804b1-43bd29a0dbdmr28722745e9.18.1741191478131;
        Wed, 05 Mar 2025 08:17:58 -0800 (PST)
Message-ID: <d2e86335-f3c6-4b47-88bc-966232797fe5@suse.com>
Date: Wed, 5 Mar 2025 17:17:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/12] x86/emulator: Refactor FXSAVE_AREA to use
 wrappers
To: Alejandro Vallejo <alejandro.vallejo@cloud.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: <20250110132823.24348-1-alejandro.vallejo@cloud.com>
 <20250110132823.24348-9-alejandro.vallejo@cloud.com>
 <825fb979-7f1b-4079-955a-33111d7b4623@suse.com>
 <D88GTP4MI6YK.3P81MPW1IG6CJ@cloud.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: <D88GTP4MI6YK.3P81MPW1IG6CJ@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 17:16, Alejandro Vallejo wrote:
> On Wed Mar 5, 2025 at 3:29 PM GMT, Jan Beulich wrote:
>> On 10.01.2025 14:28, Alejandro Vallejo wrote:
>>> --- a/xen/arch/x86/x86_emulate/blk.c
>>> +++ b/xen/arch/x86/x86_emulate/blk.c
>>> @@ -11,9 +11,12 @@
>>>      !defined(X86EMUL_NO_SIMD)
>>>  # ifdef __XEN__
>>>  #  include <asm/xstate.h>
>>> -#  define FXSAVE_AREA ((void *)&current->arch.xsave_area->fpu_sse)
>>> +/* Has a fastpath for `current`, so there's no actual map */
>>> +#  define FXSAVE_AREA ((void *)VCPU_MAP_XSAVE_AREA(current))
>>> +#  define UNMAP_FXSAVE_AREA(x) VCPU_UNMAP_XSAVE_AREA(current, x)
>>>  # else
>>>  #  define FXSAVE_AREA get_fpu_save_area()
>>> +#  define UNMAP_FXSAVE_AREA(x) ((void)(x))
>>>  # endif
>>>  #endif
>>
>> While preparing to commit this I felt a little uneasy. The mapping aspect
>> is ...
> 
> Thanks for coming back to it :)
> 
>>
>>> @@ -292,6 +295,9 @@ int x86_emul_blk(
>>>          }
>>>          else
>>>              asm volatile ( "fxrstor %0" :: "m" (*fxsr) );
>>> +
>>> +        UNMAP_FXSAVE_AREA(fxsr);
>>> +
>>>          break;
>>>      }
>>>  
>>> @@ -320,6 +326,9 @@ int x86_emul_blk(
>>>  
>>>          if ( fxsr != ptr ) /* i.e. s->op_bytes < sizeof(*fxsr) */
>>>              memcpy(ptr, fxsr, s->op_bytes);
>>> +
>>> +        UNMAP_FXSAVE_AREA(fxsr);
>>> +
>>>          break;
>>>      }
>>>  
>>
>> ... is entirely invisible at the use sites. This imo calls for making
>> mistakes, and hence the existing macro better would be adjusted to become
>> MAP_FXSAVE_AREA().
> 
> I prefer it that way too; I was simply trying to minimize the diff. Would you
> like me to resend it with that adjustment?

Yes please. Plus whatever else adjustments are needed in the subsequent patches
(sorry, it has been a while, so I don't recall the state of those later ones).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:23:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902514.1310504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tprWX-0000tl-P9; Wed, 05 Mar 2025 16:23:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902514.1310504; Wed, 05 Mar 2025 16:23: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 1tprWX-0000te-M1; Wed, 05 Mar 2025 16:23:09 +0000
Received: by outflank-mailman (input) for mailman id 902514;
 Wed, 05 Mar 2025 16:23: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tprWW-0000tY-Lr
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:23:08 +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 1f29d43e-f9de-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 17:23:07 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3bcso8184708f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:23:07 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a6739sm21148300f8f.22.2025.03.05.08.23.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:23:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f29d43e-f9de-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741191787; x=1741796587; 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=xmQ2uXwnwCPFL9VcpCV6zl850dSaaYB8tziagdOR39I=;
        b=BTXxYPYg/fL2MubEDZ4hk/WSO/IXLE5PyUQJ4+54nFyQENN+6FstQAbvuii0obeaSg
         ++ovQTPXbg7yMh1QDwV1X/rAxYU/vJSbiTE1reilZBV7xzGz6t5OkhnXLcchPcCFi1/v
         K0vC326fV7Il7bQETW3XMvE6CBS4fqiBFVup6D32WpmjAkAlceuk6v/fNZwXyNj2HYgC
         nxVVazyUHMZ/gOnDhLKXehHvDTGFbOIqB5Rs6N96sB589dRm/igd28zsrMTPmGLYnZvk
         0N24jm15w6EX8BCWf77t+1F/+aiW8mPk1FX94RFyV9BFC03/v75y97y2OCNS9Rw0jF6J
         ibjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741191787; x=1741796587;
        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=xmQ2uXwnwCPFL9VcpCV6zl850dSaaYB8tziagdOR39I=;
        b=u0sEnqK/4j88P3MAqsqfQm//EBWOOTqf9RRS2yaWD5FhsD1EM7W8+L1pC+S5m9r4NX
         BiLxfcwO1cypF2QaonUHed9LUzdZ9GRSUd0peuSXLK6lgfTw2IM+hg/Bm8Zpr6IQKEzq
         0cMs2EIkXH2sxGZmKfgwwE2pY63loUO1L4M93wA8KMy2TQ+/tzxSLv5aeNqPXGFc+8a/
         7J6nLUnmca8RolkfpAKtqRM/IPI5fY4UJ/J2YcVBZVDcgm3vMRbb5rfw5jnPz9MLiqdV
         qXRlCW0apsXOmzuF43MfvpIoCFM0Udiprnw4qT9UDZLzT+1NFJn7jcR99rLahVpG4WSy
         FP0g==
X-Gm-Message-State: AOJu0Yx0nhywIep1Jp7r/Wr1Uy65pet92dbFMvd1D+LcImRsyU0N/17L
	EyT+zIvPeR4gh9Fr2LyrxcDBK8JVS7gF0uMNLBz2iklJ1qLraOcL67bqgiimrA==
X-Gm-Gg: ASbGncvwRz4YzA7lruKgS7h2diQS5SG/w4sz4As8NJoS9DuNJxcpCIGy8yfKvPbLvP3
	3DB9TlHcOxzkO9CJlg8NrPAdG6iVMr2JMKPpJD/2YuVceMI6z5giJJYegl/2IE5u7Agz1JTXoKd
	eE3ofCATYytSQJGJ0+XfSaznkuyn8fT1GliALv+Wk2EROgFHDHBxrrXV31UqBw+aRPGJe18WIt5
	oXkv0I7+W2Neuyj8XTxCwOiZQ3dK0ZSWya11qDOAOv4FTIgu0ody3lECA1dldKPvW2zpcDNPed3
	eRcC70KXobdqttKJ1VwsW55o9tTLNhYNKk/slXcgqpO0pVx+dWTQx1l1TWQhR3QTDV0Y63C7F7I
	WghiuGacQB/uvIQm/cTf9O7XBPgb4/A==
X-Google-Smtp-Source: AGHT+IEwX6p8SNrCRykZMB6Q6caPftDOgljfPyuT4TcGiWhR5gMb7XHHzDIvCLWXty65EuczvVjIhA==
X-Received: by 2002:a5d:6d0e:0:b0:390:e9b5:d69c with SMTP id ffacd0b85a97d-3911f756966mr4003755f8f.25.1741191786870;
        Wed, 05 Mar 2025 08:23:06 -0800 (PST)
Message-ID: <0d298a29-91f6-4e3f-abac-c14fcbfbccf5@suse.com>
Date: Wed, 5 Mar 2025 17:23:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
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>
References: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
 <Z8hkLjMAQfhBR2Cm@macbook.local>
 <5978ed8d-ecef-41f7-adde-bc52312b483c@suse.com>
 <Z8hwTL8bsgjU3fJi@macbook.local>
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: <Z8hwTL8bsgjU3fJi@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 16:39, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 05, 2025 at 04:02:51PM +0100, Jan Beulich wrote:
>> On 05.03.2025 15:48, Roger Pau MonnĂŠ wrote:
>>> On Tue, Feb 25, 2025 at 12:37:00PM +0100, Jan Beulich wrote:
>>>> __init{const,data}_cf_clobber can have an effect only for pointers
>>>> actually populated in the respective tables. While not the case for SVM
>>>> right now, VMX installs a number of pointers only under certain
>>>> conditions. Hence the respective functions would have their ENDBR purged
>>>> only when those conditions are met. Invoke "pruning" functions after
>>>> having copied the respective tables, for them to install any "missing"
>>>> pointers.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>
>> Thanks.
>>
>>> However I find this filling slightly ugly, and prone to be forgotten
>>> when further hooks are added.
>>
>> Indeed. Luckily, while undesirable, that wouldn't be an outright bug.
>>
>>> Would it make sense to delay enabling of IBT until after alternatives
>>> have been applied, and thus simply not use the cf_clobber attribute on
>>> functions that are patched to not be indirectly called?

Hmm, wait - how would that work? cf_clobber is used on function pointer
tables; any function indirectly callable prior to patching still needs
marking with cf_check, for build-time analysis to not throw errors (with
the specially patched gcc that Andrew prepared with a patch of H.J.'s).

>>> We could still enable IBT before starting the APs.
>>
>> I'd prefer if Andrew answered this. It looks like it might be an option,
>> but it also feels as if this would (if only a little) complicate logic
>> overall.
> 
> It would indeed move the enabling a bit later, but overall (if
> possible) it would IMO seem simpler than all this patching and filling
> of tables.

As per above, I think the patching is going to be needed anyway. And
hence I fear the table filling will continue to be needed, too.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:31:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902523.1310515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpreL-0002R8-HJ; Wed, 05 Mar 2025 16:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902523.1310515; Wed, 05 Mar 2025 16:31: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 1tpreL-0002R1-DP; Wed, 05 Mar 2025 16:31:13 +0000
Received: by outflank-mailman (input) for mailman id 902523;
 Wed, 05 Mar 2025 16: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tpreK-0002Qq-2w
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:31:12 +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 3e875792-f9df-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 17:31:09 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43995b907cfso45652405e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:31:09 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42b7245sm22213515e9.17.2025.03.05.08.31.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:31:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e875792-f9df-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741192269; x=1741797069; 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=dcAgKJgMpmj2yyPGS9Y/YDSt+29t0xKu9l4o2aWLoRM=;
        b=VvEdjMhbrJ/KWFlIPGsPtXEceCvLQSR38lux8iVnZOEIF+6Ic6Ps/ABeAZrGTQsvZL
         mMqE93TxY7dl8mBthgHJSYwIjygrM0X1eWWqsxmlRM5NrLHZFB/x5sncO61ziZVA7tJW
         R8y/4FA8BW2FC/t8rYeezK80mVUOmKQTXobbGz4CbN3rTF9mUEihPwP4AAoA0NSI3k7J
         ZLOPO3C3ePo0r3XHzKyEAry/KlZ9BKSIzVKSWL1WJaDaYqeO6RgKuG0jM1V5epbxaOWX
         81nX/+ucC9vTstHyrN7zy9sRsgDqomfmsi47IeW0OFEKp1IhBpADQP5hOtqyQFlzpUQ/
         XP7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741192269; x=1741797069;
        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=dcAgKJgMpmj2yyPGS9Y/YDSt+29t0xKu9l4o2aWLoRM=;
        b=mlc2qHBU3bulqPqmKv8ryGMiTgaVSHhMM2mK9eGxl6iPavDlAz1/q/ao9N8BWZPEOR
         JzJqtKmYpp/oHEMQ/C0xXSV1F3SfHWAp3XR0YF+tZa6giO6vMuSDAivF1Sl2N+8E8olF
         /FumQEhJct6vu7T3AEwBh+jxYFaj+5w9Q/LuAHo3Bu0S/R3+9TIjsNYDoMDx1xx/7DzQ
         qU+nRpic9u/22q0pYWpzzmKWxIMO1HOqGmhRbgFDKTalvaEUEdUQIfkEI/4Og1oeUuaX
         rrA8aVHZVIRZjhQn0wW2VpyOKk2TFr2WTw4sKluf4O8h/7Rs0rU33ZZWi64a1KoMR5eh
         CfQw==
X-Forwarded-Encrypted: i=1; AJvYcCW1kuDSMymezxfnP1GDMe+hf85B+24px55+y0h33Z8huIYjSuV6vEdQX//w0kiO+oZberQpd7RkMQs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyb6jX6GO2O97RH39s4McHmIxlA39Iqxxyf92YCGz9/IgRT7GjH
	x8/kwOn2qBmO5IXzkloj3cdcuaCXR0ym68zZMzuQ+hZ6K4atiHDA5TYHzWJ3Ng==
X-Gm-Gg: ASbGncuOo6nss/Szg9ufvBtPZp26NKP9s4bp1JuMiBvS+9HA3yZvWboGeQ9wPuLsGDi
	O8nVM5hbNT1lL22R/90YDmcJ6QeaJhNoTd1/6n/JGRihLEb/wQ3mm8nBtj4Xr7halwM9XZyNQ7O
	IyOd2pOKaVzhG/SajZliHdXF2nc1UVPID5iCtnHamCLodhwle+bR/57BItrZzTKBSV9vLPFXMkS
	pi2XSye26PO8IhnagzJgm/1i2z490JsfOKSW1ZNb56cn5MkXaBDCHXuN2Ckia6Np9VVKtVIq7a6
	QnbsANR8HSUXD6pL+A7pqfh7AiNZq6jVi/Rp9wlt+z/2QALLqsd9mT+tuFXdphpiS0tl1yYWX0W
	ilgfnYgCgETJcPz0bFsBBVAfp15GAQQ==
X-Google-Smtp-Source: AGHT+IGVPsbm+14D6cenBIc4UxuFOtzTR4x/kTsV7dMPMnKXJYcoXLvdLni2oXGNf9x68/RnQ9XYPg==
X-Received: by 2002:a05:600c:190d:b0:43b:ca39:6c81 with SMTP id 5b1f17b1804b1-43bd2989fa3mr26018585e9.9.1741192268943;
        Wed, 05 Mar 2025 08:31:08 -0800 (PST)
Message-ID: <9ee03a32-f645-4873-8d75-1fe2090bc2f5@suse.com>
Date: Wed, 5 Mar 2025 17:31:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/consoled: clean up console handling for PV shim
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250226224642.728198-1-dmukhin@ford.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: <20250226224642.728198-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.02.2025 23:47, dmkhn@proton.me wrote:
> @@ -562,10 +560,9 @@ static void __serial_rx(char c)
>          rc = vpl011_rx_char_xen(d, c);
>  #endif
>  
> -#ifdef CONFIG_X86
> -    if ( pv_shim && pv_console )
> -        consoled_guest_tx(c);
> -#endif
> +    if ( consoled_is_enabled() )
> +        /* Deliver input to the PV shim console. */
> +        rc = consoled_guest_tx(c);

With this being the only call site of consoled_guest_tx(), ...

> --- a/xen/include/xen/consoled.h
> +++ b/xen/include/xen/consoled.h
> @@ -1,12 +1,28 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef __XEN_CONSOLED_H__
>  #define __XEN_CONSOLED_H__
>  
>  #include <public/io/console.h>
>  
> +#ifdef CONFIG_PV_SHIM
> +
>  void consoled_set_ring_addr(struct xencons_interface *ring);
>  struct xencons_interface *consoled_get_ring_addr(void);
> -void consoled_guest_rx(void);
> -void consoled_guest_tx(char c);
> +int consoled_guest_rx(void);
> +int consoled_guest_tx(char c);
> +bool consoled_is_enabled(void);
> +
> +#else
> +
> +static inline int consoled_guest_tx(char c)
> +{
> +    ASSERT_UNREACHABLE();
> +    return -ENODEV;
> +}

... why is this stub needed when we have ...

> +#define consoled_is_enabled()   (false)

... this compile-time-constant predicate? All that's needed is a visible
declaration of the function, for compilation to succeed. DCE will then take
care of eliminating the function call, and hence things will link fine.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:34:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902532.1310524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tprhS-00031S-VP; Wed, 05 Mar 2025 16:34:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902532.1310524; Wed, 05 Mar 2025 16:34: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 1tprhS-00031L-RF; Wed, 05 Mar 2025 16:34:26 +0000
Received: by outflank-mailman (input) for mailman id 902532;
 Wed, 05 Mar 2025 16:34: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tprhR-00031D-HE
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:34:25 +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 b233d128-f9df-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 17:34:23 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43bbc8b7c65so40969485e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:34:23 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd430c2e9sm22063435e9.33.2025.03.05.08.34.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:34:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b233d128-f9df-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741192463; x=1741797263; 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=doGCc8HPYNtDzt6szKX2aChz4OQa85Px11FINIB913Q=;
        b=cLwK68rBkW60JDuktB8fG2dvabSgQMMfKKmLuOs36BKmzV6r6wVK8IJTtzK9W/jm9H
         J7vmg/ozfWUUq31P2FydifLsXkIOshWL3RqYDA9SxKhMDneJEdRRLX7SMy7Lchbl1rlw
         KbJoWvkISlYMoH3CjfbIueKFk4tEJXOdTcL5FEA2o1iqIBGtafRCxsihcu1PK5SresoU
         eI3knbLYzH6vxfzHZX8un3uZfypZE8RiRy/ca8KjbXmJcoQa2Z98lChSG2YeQpZ7yWiK
         V0xkD1HFl4P/7r2DmWnIQoBsESmgW9hE5covLHm1h5sP+GBvg9uoVXbvoD6UiTW5xm3n
         M6dA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741192463; x=1741797263;
        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=doGCc8HPYNtDzt6szKX2aChz4OQa85Px11FINIB913Q=;
        b=dJUjoE0a98zyWVVmNz0RqjxTd3uqLzibdErwdvjDr4sHrmOLt58kHfX9zfHnYRByG6
         IvVZ0ngk1/DGqT2lWng1ILGaqUbAGqdhDabE/t5vXmXS6Asam7iP7kMVol+RLDikmTYf
         hRmlu/6OaScR5ev5ZAAToeJV0Up1CBc0LIQbFnVXzHI1DZeW+r6GdPPMTC71zh/mGW11
         DZYr72NPybFP3p7xy2bEoyogSs3fyYEFkpayCk/JcoG+gL8yg7Epwwxqb3MMp4FagXt/
         oLVXMyIK9C5CZUg8qVMC2+G8Lqtjy99UouBOUSXdvtVK5pfNcBRjHrmK47fxFy7ZCssq
         /BPw==
X-Gm-Message-State: AOJu0YwmrF9tTphg9ieFa6AXEEKGuWyxcSvdiiszHiBR98EHJhoWBGCm
	3bPWsPMKmc/ee0bPT3x583C6FuYDThxYszMvWrZGBhGYDHMjZE68A9u3isJnRi3CFxn27kL8SlQ
	=
X-Gm-Gg: ASbGncv2p0g1Q57Jutu5Ya57/RmWSXBVAyW6v7vtsmZ9v+e8OnpXHG7YROnXDBw6U9+
	X4AJIyeldhMa75rqD0sz3Vp9Xmqmq7mzULb00jxxiNJ+xpp8uQjj0DNoF24R4gUEg8EqtRoEWxt
	lLwu6p5PfqqEPTxW20ECiLLQ81umda3iAkyKj/2LzPexWgKdhMnRktGM8xt9vkCZXmvqgcZv0bU
	2eOGhC8kr3npzOAivchI6StWB2HC/Zrauz7bGkMrIjAInhYGsi7x9iFf7hJEKgHFksInv3IlylK
	PgIcGS9QbugtC6sW/IKCanSw1yzxHn8Qo+8/8ezeg2GZQXth4T77tgju2Goe+QGmXuysVYPX/qv
	gTMJrHlzCB/6l1Frhs/cCdGTsJIS1dA==
X-Google-Smtp-Source: AGHT+IFxMyiLqImDziH2oxnCMVVdJLz07vVZqkfGj3PPGVg8+52jqtGAAKniJPCp/IC7yWTAkLUbEg==
X-Received: by 2002:a05:600c:4f15:b0:43b:ce36:756e with SMTP id 5b1f17b1804b1-43bd29487a8mr37427955e9.12.1741192463058;
        Wed, 05 Mar 2025 08:34:23 -0800 (PST)
Message-ID: <30d772e2-466c-4b59-b17d-973957d0112b@suse.com>
Date: Wed, 5 Mar 2025 17:34:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Ping: [PATCH] x86/ACPI: annotate assembly data with type and size
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <26cfd90a-91f2-4bf4-9607-8ab6c7823048@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: <26cfd90a-91f2-4bf4-9607-8ab6c7823048@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.10.2024 09:41, Jan Beulich wrote:
> Further use the generic framework from xen/linkage.h. While there drop
> excess alignment and move to .bss.
> 
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

May I please ask for an ack or otherwise?

Jan

> ---
> Of course alongside ASM_INT() we could introduce ASM_QUAD() and
> ASM_QUAD_LOCAL() (only the latter needed right here) to aid readability.
> Thoughts?
> 
> --- a/xen/arch/x86/acpi/wakeup_prot.S
> +++ b/xen/arch/x86/acpi/wakeup_prot.S
> @@ -1,3 +1,5 @@
> +#define DATA_FILL 0 /* For the .bss contributions at the bottom. */
> +
>  #include <asm/asm_defns.h>
>  #include <asm/msr-index.h>
>  #include <asm/page.h>
> @@ -134,13 +136,20 @@ LABEL(s3_resume)
>          ret
>  END(do_suspend_lowlevel)
>  
> -.data
> -        .align 16
> +        .bss
>  
> -saved_rsp:      .quad   0
> -saved_cr0:      .quad   0
> +DATA_LOCAL(saved_rsp, 8)
> +        .quad   0
> +END(saved_rsp)
> +DATA_LOCAL(saved_cr0, 8)
> +        .quad   0
> +END(saved_cr0)
>  #ifdef CONFIG_XEN_SHSTK
> -saved_ssp:      .quad   0
> +DATA_LOCAL(saved_ssp, 8)
> +        .quad   0
> +END(saved_ssp)
>  #endif
>  
> +        .data
> +
>  ASM_INT(saved_magic, 0x9abcdef0)



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:42:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902545.1310534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tprp9-0007ns-QF; Wed, 05 Mar 2025 16:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902545.1310534; Wed, 05 Mar 2025 16: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 1tprp9-0007nl-Mo; Wed, 05 Mar 2025 16:42:23 +0000
Received: by outflank-mailman (input) for mailman id 902545;
 Wed, 05 Mar 2025 16:42: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tprp9-0007nd-C1
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:42:23 +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 cec9d80c-f9e0-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 17:42:21 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-390cf7458f5so6541215f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:42:21 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e4848252sm21719647f8f.69.2025.03.05.08.42.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:42:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cec9d80c-f9e0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741192940; x=1741797740; 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=ehB1ZceNy94/D6w3ogxTzP8rb6moxGw5Enf4ASGso/s=;
        b=OdxzsbwlgRXVtKeo2Atn4ww/7DiqMpt3IqDZcNurza1buiWATHbQQ1ZeeOdBSxlPTY
         c3M3h/2L9v3YvSyTBPy2HWZ6q20LwSCJKC7D/cLQgItWjESLBCSahdTL9MFv0wDdHcEC
         0YvlHP89LrIbxUTmO/HQUeJljOAc0xVmbGeVioKaSqr2d6fN2Bvrvv1IKuf3L7ynEtTA
         dvVDKCwk3umcE5g4mSrr2ZadIoWZTu89+GBTjwV7megX+58RHNGqG81t60vgTxvogGV9
         HWetL63Z//i2lN62L3Dv4FsU50JPtEMVWAf9wI0lRa0wzbsBXiGh3nkLN41MhF3ToD/n
         5RLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741192940; x=1741797740;
        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=ehB1ZceNy94/D6w3ogxTzP8rb6moxGw5Enf4ASGso/s=;
        b=PvCBotq0C7fw+yOzeEBsMAccCCw+pJUzHO2GbUVk2m0zWFzTpvGA/AGFNyuD7RhgW+
         jn7NFl4fZfdpK5gsRxK7PVeNW7XU5uR44T0Qvb0pf19GYoehA+Q0MmSpe5lNFYDoSskA
         3C5f7Tl4Dt7scjxYXgG9VQ1DU30RklBOhTs6b4WnFZQ38z44T1x33eRuDZyLO5RPjmz9
         kyzPHsCfOa3YwlFHOM23MJ6bkAOhbh3wzpSASMK7p6tt0j0WS/3tncyPs6rpWp7wKqAS
         2V+i5FP6OBo3ymwvnMTTQWsxw8nc63RdtK6bVQfEiuu/Q2Gcr/dxloSHcHPCc0So+Kjh
         NhaA==
X-Forwarded-Encrypted: i=1; AJvYcCW++Q0gPZHpSwxauPvm4xMhQiGKtHxyK1zl9u8lTAzZpbcNzljEOBy5QjvWDlYB/gD8sbNAH1srAGw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywa1tMt9rSRgUC+NZjx95nxhAadQ/dMs+/10K+Y7QlBTC+WYUQs
	0Cv2pDwFKARcNfgOwabli8uSGclTZZcsM3jdBPBqdGrIPqDrOIi0XsoBkJnOqw==
X-Gm-Gg: ASbGnctgr1SraSOGbe0JLnE50raoOhG9u+NNxVfA++rSIH6jnxco1ZRmul+7WcWLWvF
	XSki1KSvDcKX8+NYL+J7Qq4Y1eAXIk2EoXIawliefRy/dj2cY45u4XuD5kR0nLdjjW6BMb1zyud
	5xZXYc2UJzbODwJKkvMmoxCLbCtoRZ9FAwXZaVD91z3W5rmlHZOCZB8DoJ2c6DiYCg1tHrV9Jxt
	srV5F6ezBQFqEwJfeQdtBEKiQslK7tIXgFwzLGk4q4tqQUloqjtw8Q4QUK/nQqnZOzh+N+hQ80Q
	wRCRb8h3BgfE9mg54zEfGZ3ZZdv31jpVeq3TNkgL/OPIRsZcBtDRTOkD/rnCHIu7DbT+QQ8/jw8
	PgZ/ZIaaOkDLGp19CAJ5h912Z+7cE4Q==
X-Google-Smtp-Source: AGHT+IEvYsW7zt4lOgEkcyle3KxsIDh4kZrb0GleqBUjknSObR4qnTBlg3IyHtL5h7MkFoSk5rJOCg==
X-Received: by 2002:a05:6000:1acd:b0:38d:df29:e14f with SMTP id ffacd0b85a97d-3911f7a957emr3953480f8f.43.1741192940491;
        Wed, 05 Mar 2025 08:42:20 -0800 (PST)
Message-ID: <acb0fd5d-0315-4a5a-9974-14556e497a03@suse.com>
Date: Wed, 5 Mar 2025 17:42:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/console: make console buffer size configurable
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250305011127.4079670-1-dmukhin@ford.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: <20250305011127.4079670-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 02:12, dmkhn@proton.me wrote:
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -425,10 +425,13 @@ The following are examples of correct specifications:
>  ### conring_size
>  > `= <size>`
>  
> -> Default: `conring_size=16k`
> +> Default: `conring_size=32k`
>  
>  Specify the size of the console ring buffer.
>  
> +The console ring buffer size can be selected at build time via
> +CONFIG_CONRING_SHIFT.

And hence, if a value other than 32 is used there, the default above is
going to be wrong. IOW it is only the compile time default which is 32k.
The run-time default (which is what matters in Default: above) is itself
configurable, and hence wants documenting that way.

> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -96,6 +96,33 @@ config SERIAL_TX_BUFSIZE
>  
>  	  Default value is 32768 (32KiB).
>  
> +config CONRING_SHIFT
> +	int "Console buffer size (power of 2)"

Would you mind adding the word "ring" here?

> +	range 14 27
> +	default 15
> +	help
> +	  Select the boot console buffer size as a power of 2.
> +	  Run-time console buffer size is the same as the boot console size,
> +	  unless overridden via 'conring_size=' boot parameter.
> +
> +	  Default value is 15 (32KiB).
> +
> +	  Examples:
> +	    27 => 128 MiB
> +	    26 =>  64 MiB
> +	    25 =>  32 MiB
> +	    24 =>  16 MiB
> +	    23 =>   8 MiB
> +	    22 =>   4 MiB
> +	    21 =>   2 MiB
> +	    20 =>   1 MiB
> +	    19 => 512 KiB
> +	    18 => 256 KiB
> +	    17 => 128 KiB
> +	    16 =>  64 KiB
> +	    15 =>  32 KiB
> +	    14 =>  16 KiB

I don't think an exhaustive list is necessary here. This way it's not really
a set of examples, but an enumeration of all possible values.

> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -101,12 +101,12 @@ static int cf_check parse_console_timestamps(const char *s);
>  custom_runtime_param("console_timestamps", parse_console_timestamps,
>                       con_timestamp_mode_upd);
>  
> -/* conring_size: allows a large console ring than default (16kB). */
> +/* conring_size: override build-time CONFIG_CONRING_SHIFT setting. */
>  static uint32_t __initdata opt_conring_size;
>  size_param("conring_size", opt_conring_size);
>  
> -#define _CONRING_SIZE 16384
> -#define CONRING_IDX_MASK(i) ((i)&(conring_size-1))
> +#define _CONRING_SIZE       (1UL << CONFIG_CONRING_SHIFT)

Imo this ought to be 1U only, seeing ...

> +#define CONRING_IDX_MASK(i) ((i) & (conring_size - 1))
>  static char __initdata _conring[_CONRING_SIZE];
>  static char *__read_mostly conring = _conring;
>  static uint32_t __read_mostly conring_size = _CONRING_SIZE;

... this use of the constant.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:45:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:45:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902553.1310544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tprsA-0000E6-7Y; Wed, 05 Mar 2025 16:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902553.1310544; Wed, 05 Mar 2025 16:45: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 1tprsA-0000Dz-4j; Wed, 05 Mar 2025 16:45:30 +0000
Received: by outflank-mailman (input) for mailman id 902553;
 Wed, 05 Mar 2025 16:45: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tprs9-0000Dt-0N
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:45: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 3db3de94-f9e1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 17:45:27 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bcbdf79cdso14929785e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:45:27 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a6739sm21200523f8f.22.2025.03.05.08.45.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:45:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3db3de94-f9e1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741193126; x=1741797926; 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=YgLI0gPxp40QEzs/R42psTXbg4CFW79beKxgLpNh4bs=;
        b=Cvq1gbgLxTPOUmGJSQfOpoVH7OoH+6AoTUNhmpeDQvrVXtSDy1YrhehbOLPVJeBXwY
         hywegnqZwP9MKwN0ckwOZSPFPF4BPbwuYgeng602yyu3yx2rxnlg5C1BAeQL+azA/Aja
         yluxyOnYWKHM6lbZXsVq9x58YEdd1hHXVfzdooCqlCk/J9KwZQv+5cXF0Q3Snsc2xJy8
         sHY8z3bvAi4TsKiMwTGyP9iK49zzY8zMIoLx0LnXzgcSQnENHH3pX9CpN6/GIskMqd+k
         HeiK1UyAfgY/9bKk1c7mHJTo4y8rOHaKAd54iFRRKVZ2Zyjm3wFdIgVEZvugOX+Lkvbq
         deuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741193126; x=1741797926;
        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=YgLI0gPxp40QEzs/R42psTXbg4CFW79beKxgLpNh4bs=;
        b=NfwtngB3g9ja00W6iPxRSdIay9OqjKXKDD9dF82oZO9pzWgABgRS4IDSRhVLVTokfU
         SmUU8wVJZMydEmj0SS6cEnKhWrQjQlZD3hpkkecyo0Y9NrfiuNFXQym41YedU394AseG
         Lp8qq1dJn618EmMl/OYcpuJALJw/F99pf4GMNmDHta4lzpuixyEWaACJHEFBQlumMK+5
         a88kezn229Cx0NKCmqMjFLCED00772rPB8dYvbV1oazqMDe6LHXkr950csSMlk8SoBqp
         /QWQq+oti/01B5Ny4LWXrE0RmxgJg16LkLuYX1GoKVsiyN9ucV6Uuu4yUa3M9ShpGia7
         8ZKQ==
X-Forwarded-Encrypted: i=1; AJvYcCXrWL0+FrXRviMRZr8JkP5f4KcUzQHlhDeQYz3CIdyNWgt/7sa50zA+M/1EmtZ3S2g29deg2gIHUKQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzs5gZ4PKKj1JTRTrR/sRLbTXxSXUU+FXO1Ygo48MnlPH5ACBsV
	DxXuZwm40g2EHypgtny8GhqBCryE35gacCMpQel6xt0qGs4Sq+hD3xRXqfG8Bg==
X-Gm-Gg: ASbGncsOTpVGLVent0zVEj3pfbc3rU3Kc5jOPHr0KGX6RhABeBYDXMZNovAovgRcOEx
	hWUU9Mp/s3GSSP3T/vjz7C2Z5DNC7T4mrmwuSLtVTJH4dSo3CNaBhzDr+GQbY5I8h6a/5+CUx5g
	MW4jZEQ7I/14JmjwrB7hirFXuy+8KxOMyFRPirt2ABl5S0sZSjTiirji975bedWHPuAZDBkyq+p
	McXfDxVaSd2eUvtUcD0fN+8pBNFg9Uj5kc5I9q0c5xN884LEzSmV46RX1R0i1FR+A0fvJ15mbN5
	eamDP7WkdJZ3G2Zsn5AQsG466OAVlrPzBrStRVoBcHYvoB6kkroTEdMrGExHnEWYQGWeSRKqeMv
	yBw1kdmAxOmATrcd2lZlg76CFE/8Y7g==
X-Google-Smtp-Source: AGHT+IEjypkST0um4vew1e/tKvb2VyVdf/NZGtjma+QVxxXLdjmct16x6xJ/jx0nmcOkNVLK0/lxEQ==
X-Received: by 2002:a05:600c:4fd1:b0:43b:d040:3dfd with SMTP id 5b1f17b1804b1-43bd29c83b5mr26644625e9.24.1741193126541;
        Wed, 05 Mar 2025 08:45:26 -0800 (PST)
Message-ID: <2caf2bc0-d915-413e-ac76-cc70f9010ebe@suse.com>
Date: Wed, 5 Mar 2025 17:45:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/16] iommu: Add checks before calling iommu
 suspend/resume
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykyta Poturai <mykyta_poturai@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@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: <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 10:11, Mykola Kvach wrote:
> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -613,7 +613,7 @@ int __init iommu_setup(void)
>  
>  int iommu_suspend(void)
>  {
> -    if ( iommu_enabled )
> +    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->suspend )
>          return iommu_call(iommu_get_ops(), suspend);
>  
>      return 0;
> @@ -621,7 +621,7 @@ int iommu_suspend(void)
>  
>  void iommu_resume(void)
>  {
> -    if ( iommu_enabled )
> +    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->resume )
>          iommu_vcall(iommu_get_ops(), resume);
>  }

When iommu_enabled is true, surely iommu_get_ops() is required to return
non-NULL?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 16:49:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 16:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902564.1310554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tprvW-0000pI-Nt; Wed, 05 Mar 2025 16:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902564.1310554; Wed, 05 Mar 2025 16:48: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 1tprvW-0000pB-Jf; Wed, 05 Mar 2025 16:48:58 +0000
Received: by outflank-mailman (input) for mailman id 902564;
 Wed, 05 Mar 2025 16:48: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=2gZc=VY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tprvV-0000p5-1I
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 16:48: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 b99483f8-f9e1-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 17:48:55 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-390edaee0cfso4257900f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 08:48:55 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-390e47a6a5esm21905712f8f.35.2025.03.05.08.48.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 08:48:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b99483f8-f9e1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741193334; x=1741798134; 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=2Mx6rcaSjNCqldN4rPHe5uowYEKg8TaFdemJazLLwYU=;
        b=eIZezxcVrHsEctUo0HWEe+3rJL7iCD8X2SM2AO8fbpiFFC6c7cOrxfg1J8DHa1bBAU
         eiW5mj1q3IaoOzJd+Pl2EUNGNUYzNVRcrBLdQhmFVt2QyE+ySspvdlTK0xZSxoJBgyur
         B1FuGS6FN0HmH8tWu3xcyaUzEaL3+fKRUcZ+pkcu7/uBruBWutjg/gMSRMslDMWmGatS
         ZJrEgWUI/hQGOo+HIuligtNAjEvB5PlLUsXGi1NpDqC6i0NDyqTJJCEHqAXLNAQr3Ed2
         7j/HaqpsPbUcj/115JTtZLPfDQ2lzCwurssQddUL4gYdU0mJPeb/Me/Mll+g2Gx95xVO
         T4Lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741193334; x=1741798134;
        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=2Mx6rcaSjNCqldN4rPHe5uowYEKg8TaFdemJazLLwYU=;
        b=o/cvOXB+gVw8xleMMI/l6V+16rG074r9amdsa8XjxVYYR2VksttxjLmOhRTkvPevRi
         gSD46mY40BzR3VpD3WN26mPNtM3SmXIaEv62WM4xpkHimX11qOn7Losr0nfjZWEvnabW
         z7P5uQamFkQBaYM015kBTv8Xaq3L7o9NOzxS/KzUfoaktfxYWjosHVloYwBcbRiRLWYT
         5h8GKrfPqVymP4uW+2kneGHJcH56xEUJqr10mWTyD+jJYFE6gzRBDAlf6V9A5RCGCqMi
         4t/Xv/FW4YAy1OcaYJkDO46MS6wHrkwLfG8M9WvcFk+5586mUIT9KM8zExtW3zeeFZSZ
         yV+Q==
X-Forwarded-Encrypted: i=1; AJvYcCWkHze1IzhScG57JhzncbXJkvuhiOkeX8eV7kfO1I5w0B6Ydf4OtqhXYeoARDD+DKi8XROlSU1VS9Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy3BnIJkfHBQo9V+bDyVjqCd52xXgkVextRFzUVsywIDGoc0vaR
	hEp+z29mfDaPWTinJdWe3MEjypZLq5RYxpoOTjKmNx1OmQMc1/uAfZ4pczsFIw==
X-Gm-Gg: ASbGncs9nA6AxXJiEwDmYs78wWvlnG05mcLi1+He/YlLqAFglfhWlzrSM/hcjkN6TyL
	f+c99TyCBTSiC8/+fpZxIxC+A9GxSVxKB8hped3qIMPKnx0eZ34V1GfSJutvzEGU2n3nuj//QWl
	p0KPWWM9TUNctg7lqyIi3ldco6bXOPg/PMjf0pDcs7ZqALpbkerBRNHZiPQUIVbowTuWX3sCoXd
	VYIygVtbrYpv4VrF0+WekpEpWSGU4HQ8n5d2xzsuP8KEnVd0Zae/NhXigHdOIgherQOR/4CVKmx
	Q7+f/CPP6bmfpy0mhl/9G7DKN7HSdFWqU4EpkPAFdTGmKs+kyDdv5ypnu2e26zATXqpDKTDP3uJ
	vcuefRqXKLVMOIR8J85RWxTwmqnQfAg==
X-Google-Smtp-Source: AGHT+IFY5W0LcGfXPMnE15YLTNqZuuLZoh2f1nlfSM5PHZg2DB/04Frn8nkoRSHmqLGkKSpDEyQlEw==
X-Received: by 2002:a05:6000:1acf:b0:391:126e:8ac1 with SMTP id ffacd0b85a97d-3911f7c315bmr3108731f8f.49.1741193334444;
        Wed, 05 Mar 2025 08:48:54 -0800 (PST)
Message-ID: <9a958cb6-d9f3-4bc3-9305-db954902f897@suse.com>
Date: Wed, 5 Mar 2025 17:48:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/16] xen/x86: Move freeze/thaw_domains into common files
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <82d394363821b74fb1617e81e6e726a7a25b4028.1741164138.git.xakep.amatop@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: <82d394363821b74fb1617e81e6e726a7a25b4028.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 10:11, Mykola Kvach wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> These functions will be reused by suspend/resume support for ARM.

And until then they are going to violate the Misra rule requiring there
to not be unreachable code.

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -2259,6 +2259,36 @@ int continue_hypercall_on_cpu(
>      return 0;
>  }
>  
> +
> +void freeze_domains(void)

Nit: No double blank lines please.

> +{
> +    struct domain *d;
> +
> +    rcu_read_lock(&domlist_read_lock);
> +    /*
> +     * Note that we iterate in order of domain-id. Hence we will pause dom0
> +     * first which is required for correctness (as only dom0 can add domains to
> +     * the domain list). Otherwise we could miss concurrently-created domains.
> +     */
> +    for_each_domain ( d )
> +        domain_pause(d);
> +    rcu_read_unlock(&domlist_read_lock);
> +
> +    scheduler_disable();

When made generally available I'm unsure having this and ...

> +}
> +
> +void thaw_domains(void)
> +{
> +    struct domain *d;
> +
> +    scheduler_enable();

... this here is a good idea. Both scheduler operations aren't related
to what the function names say is being done here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 17:26:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 17:26:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902578.1310564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpsVX-0008SG-Fc; Wed, 05 Mar 2025 17:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902578.1310564; Wed, 05 Mar 2025 17:26: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 1tpsVX-0008S9-Bh; Wed, 05 Mar 2025 17:26:11 +0000
Received: by outflank-mailman (input) for mailman id 902578;
 Wed, 05 Mar 2025 17:26: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=mCKF=VY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpsVV-0008S3-IL
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 17:26:09 +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 e8fe4aad-f9e6-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 18:26:02 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-ac0b6e8d96cso523209966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 09:26:02 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-abf627daa5esm703163366b.154.2025.03.05.09.26.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 09:26:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8fe4aad-f9e6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741195561; x=1741800361; darn=lists.xenproject.org;
        h=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=Xeesjz60AZETYOgB9n1R+Mb7R1HS5mpUxtd/jkNtyUY=;
        b=OE89Dvjt/Y7Ny3j1MEwijuoKJ2OXo1VvD1JViT1UumZIem/XL83AX7/t2miaiEdrQS
         uR6aVXZUItK601rYDk7WK3cp1clKGALy4ogfnDfPM8yDfC9NVwIhlHwcKbJub6KAWM0T
         TFZOzfjp4ueSRWwbo79x3RzTO12DL+JlmpCjI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741195561; x=1741800361;
        h=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=Xeesjz60AZETYOgB9n1R+Mb7R1HS5mpUxtd/jkNtyUY=;
        b=Gzkc7o5dNvk2GP6ysshgXzP5BSBNei+L5tD7ajqFhuBnmTZCuWfrXamBU26CsvwXB9
         sRzMiVifH1L/pFn0HtvHttNRQnMJhW3LWkcQJrVv70N6Sc1kbvl2rG7eFcmTio/1t7B3
         qNV8qFx6JlRQoDoye9LhRjPrdnSz7IvJ6JT7oNC/TwnJtE9Ssn1IZWBJZ3tqaZHiZMk+
         6xNlp0RrskFQb3j/Mz7P4SP/thciOUTa2yqWUJuyr6Ah4A4wnB40havJTOGJwYDfr3Mj
         tEIA8NrlvIYFasUBYLJN0jVsKwY1vFDJ6HMAz2wTfaRIBjkS6USQsdiNU+jdmulokyE5
         tQxQ==
X-Gm-Message-State: AOJu0Yx9LXg0qtakNn8nGnOqEI4CvA92eGDltYNcj3cW8OOYEypDgKXf
	VU73nDIfvIubkq+IBgr0RUohLU5867fJK0GFPtemRMaPAr2sirhhL1hFm/t7GpI=
X-Gm-Gg: ASbGnct/rNPGlGUJv3fudE2CQmvy2AItfOcYdRQag/9X3FDjBNWzhdedhC4fy08vOmN
	z8r4tlDXrAeNU+UsfBrIiekqyuMsqX7BBhaN8JqvBMnDX389qN1Z/uvpEAvYWLAFRCPJgZ1SXTK
	K3xwQoP7uLOSFn6nHy1LSTrdtVT0lasU+V+UZzMgXf++s8vXchdp1M7eKXWDDcNB3Z1RrNPhSMF
	vVXTzX3qZNcrnZnEG3Bg08NdHkLnyNJ/b5pCJQAoBh9uI3wk2mVopt5ZgwWQkRsIZTDPSPiWc9c
	MHcfYFmLRWLzFCR0VhfrChx0rUHSKkSqz18/Ep2nqSV25MVTZ33rW9U=
X-Google-Smtp-Source: AGHT+IF+Hf/M5MyPJ5X7jQo+Ae7F7PRt1vnlHXzArnGwOu6bpPtOjajmfu2QizsYzAIfTMtTBgIYvw==
X-Received: by 2002:a17:907:9692:b0:ac1:e881:89b1 with SMTP id a640c23a62f3a-ac20d925e29mr392880566b.30.1741195561437;
        Wed, 05 Mar 2025 09:26:01 -0800 (PST)
Date: Wed, 5 Mar 2025 18:26:00 +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>
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
Message-ID: <Z8iJKJN17mILVEGS@macbook.local>
References: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
 <Z8hkLjMAQfhBR2Cm@macbook.local>
 <5978ed8d-ecef-41f7-adde-bc52312b483c@suse.com>
 <Z8hwTL8bsgjU3fJi@macbook.local>
 <0d298a29-91f6-4e3f-abac-c14fcbfbccf5@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0d298a29-91f6-4e3f-abac-c14fcbfbccf5@suse.com>

On Wed, Mar 05, 2025 at 05:23:05PM +0100, Jan Beulich wrote:
> On 05.03.2025 16:39, Roger Pau MonnĂŠ wrote:
> > On Wed, Mar 05, 2025 at 04:02:51PM +0100, Jan Beulich wrote:
> >> On 05.03.2025 15:48, Roger Pau MonnĂŠ wrote:
> >>> On Tue, Feb 25, 2025 at 12:37:00PM +0100, Jan Beulich wrote:
> >>>> __init{const,data}_cf_clobber can have an effect only for pointers
> >>>> actually populated in the respective tables. While not the case for SVM
> >>>> right now, VMX installs a number of pointers only under certain
> >>>> conditions. Hence the respective functions would have their ENDBR purged
> >>>> only when those conditions are met. Invoke "pruning" functions after
> >>>> having copied the respective tables, for them to install any "missing"
> >>>> pointers.
> >>>>
> >>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>>
> >>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >>
> >> Thanks.
> >>
> >>> However I find this filling slightly ugly, and prone to be forgotten
> >>> when further hooks are added.
> >>
> >> Indeed. Luckily, while undesirable, that wouldn't be an outright bug.
> >>
> >>> Would it make sense to delay enabling of IBT until after alternatives
> >>> have been applied, and thus simply not use the cf_clobber attribute on
> >>> functions that are patched to not be indirectly called?
> 
> Hmm, wait - how would that work? cf_clobber is used on function pointer
> tables; any function indirectly callable prior to patching still needs
> marking with cf_check, for build-time analysis to not throw errors (with
> the specially patched gcc that Andrew prepared with a patch of H.J.'s).

Yeah, we would need something there?

Maybe disable such detection around alternative_{,v}call() usages if
possible?

I assume the build-time detection is done based on call sites?  We
would need to figure out whether the detection can be disabled for
chunks of code.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 17:42:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 17:42:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902590.1310580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpsl7-0003W5-UN; Wed, 05 Mar 2025 17:42:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902590.1310580; Wed, 05 Mar 2025 17: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 1tpsl7-0003Vy-RS; Wed, 05 Mar 2025 17:42:17 +0000
Received: by outflank-mailman (input) for mailman id 902590;
 Wed, 05 Mar 2025 17: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=mCKF=VY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpsl7-0003Vs-CO
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 17:42:17 +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 2d6ebb76-f9e9-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 18:42:15 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-abf5f4e82caso797217466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 09:42:15 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac1eec40e84sm342718966b.23.2025.03.05.09.42.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 09:42:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d6ebb76-f9e9-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741196535; x=1741801335; darn=lists.xenproject.org;
        h=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=AwDaxoFH2BoMMg8UQH85VxgmfjvGf01JMpmfHHoXsjA=;
        b=dvyEmiARehedRHnqQleNLNUql1N3FIH1ijn1mQj8qceZT8xUyiHSKlZ3xlYAKZELBY
         XjCfg6awpCvpxCzD81uAwdYGLrwutgn1ozq5eH3uX6J1Oc62lTZDZhVYvtuQXcsX6t+r
         GD76G/KjPiMVZny+Z15IMGxMD+vkMsuvRSUoA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741196535; x=1741801335;
        h=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=AwDaxoFH2BoMMg8UQH85VxgmfjvGf01JMpmfHHoXsjA=;
        b=K4CsjNefwNmKX+2UL8kV2VdzVRslb6BOH5zk5pJ0kGXTTbQ7yRWDzuTqgVht65bg5m
         8T+bNxRy1qgeRKVoMfk/U+d8vpW3rhxiHIlBW3GWzxIIvjQu0mvBcnltGXoKpqddZC/0
         9y5zsmPYDCUF6FKw2+iEKCKSRtv1SoOeLucwqJvusdEghyiwxyTIXq9e4H7tJZ4IvSbg
         OAZIF7jJUPuuSHhdZUw9a8Bj8oVGl8JUmIByCAhtDGwSjxUbEyi8DXCLFgxb1ufg0ez8
         1k/bG/WoFJjC/JDmr1jUAMJU0VFBAeiabw+ahkRWsNBv/YEdZOPngKib+mzBeHa6urUJ
         hYCA==
X-Forwarded-Encrypted: i=1; AJvYcCU4LqupeTgm5dfMY/V6rlYwFnwvQxN5KCTeW1H4+fvwD6epwKnh9rV67ThmC2E0IzxXLSpnqPDcWyI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxUT9SNgR5vpj6QuIp2tanp5z4HjNWE0Y/4CadXXfCOINcd2EhM
	ssiK8BoVSX2IRM3gmRnrmrVVBk3O04DhT51gvVlx+lp22Z++kvH2wVu3rmR2m1dLpx1WTK4qmTm
	3
X-Gm-Gg: ASbGncvy9/O3QzAhHBqIBhivkFbLs4je3jeISrGkI/PlMTOcjasbQkq9hIqlXfIGXdL
	Fp9CE8675pxW4rAGHSmzlipD6VYDjybFVaqphfO0vbwq+rg0UbVnq1rtPvzL3XS7EtwRzj1Dhkq
	qPQb2Cnj+yeZCbtWx5NQ9vhGu8F7K8bdgIUbL2t+9YE2p/9fsHqHWMctGb8kqTTlUjhAFBzmCVr
	ls8icyviicrWU4wUmVpjm1Tm86fnkN1n3FqaU8gl21vCkiUK2Bf+7ntCm6HKoENyOnHK4Epu2Z3
	8y1NPDygTP9FM4nHOowl0CO3ZJTf1gUJ+kh3bg+lX15F2MK4E1OuQS0=
X-Google-Smtp-Source: AGHT+IGTLUcUNHHwzAI31wxKg4auMapScysR0LuIW8k+3A6hOJ4x282hW2Tzwk8LK37VtU/FShZuhw==
X-Received: by 2002:a17:907:72ca:b0:abf:fb78:6742 with SMTP id a640c23a62f3a-ac20e1db221mr433716566b.44.1741196535299;
        Wed, 05 Mar 2025 09:42:15 -0800 (PST)
Date: Wed, 5 Mar 2025 18:42:14 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 0/3] x86/dom0: be less restrictive with the Interrupt
 Address Range
Message-ID: <Z8iM9tSD6O2r6RBp@macbook.local>
References: <20250219164840.94803-1-roger.pau@citrix.com>
 <db3113a1-4cae-4d2b-8840-645f56af3c51@suse.com>
 <Z8hhKa-KdTbmp6rE@macbook.local>
 <03dfb2ad-50de-406d-bdd0-41352c21f82b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <03dfb2ad-50de-406d-bdd0-41352c21f82b@suse.com>

On Wed, Mar 05, 2025 at 03:54:56PM +0100, Jan Beulich wrote:
> On 05.03.2025 15:35, Roger Pau MonnĂŠ wrote:
> > On Wed, Mar 05, 2025 at 03:27:18PM +0100, Jan Beulich wrote:
> >> On 19.02.2025 17:48, Roger Pau Monne wrote:
> >>> Hello,
> >>>
> >>> First two patches are preparatory changes to reduce the changes required
> >>> in patch 3.  I would have wanted those to go in 4.20 to fix the issues
> >>> on Lenovo Thinkpads, but it's too late now.
> >>>
> >>> Thanks, Roger.
> >>>
> >>> Roger Pau Monne (3):
> >>>   x86/dom0: correctly set the maximum ->iomem_caps bound for PVH
> >>>   x86/iommu: account for IOMEM caps when populating dom0 IOMMU
> >>>     page-tables
> >>>   x86/dom0: be less restrictive with the Interrupt Address Range
> >>
> >> I'm uncertain whether to take this and "x86/pvh: workaround missing MMIO
> >> regions in dom0 p2m" for backport. The sole Fixes: tag is in patch 1 here.
> >> Thoughts?
> > 
> > At least the ones here would be helpful for the reported Lenovo
> > Thinkpad issue.  The PVH p2m addition would be nice IMO.
> 
> Are the ones here sufficient to deal with that issue? IOW iasn't the other
> 2-patch series also necessary?

For a PV dom0, yes, the patches here are enough.  For a PVH dom0 you
also need "x86/pvh: workaround missing MMIO regions in dom0 p2m".
Given that we now officially support PVH I think we would need to
backport the latter, to have parity between PV and PVH dom0.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 17:57:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 17:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902614.1310650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpszl-0005ih-O5; Wed, 05 Mar 2025 17:57:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902614.1310650; Wed, 05 Mar 2025 17:57: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 1tpszl-0005ia-LO; Wed, 05 Mar 2025 17:57:25 +0000
Received: by outflank-mailman (input) for mailman id 902614;
 Wed, 05 Mar 2025 17: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=mCKF=VY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tpszk-0005hC-B8
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 17:57:24 +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 49a8d8d2-f9eb-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 18:57:22 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5e0b70fb1daso12493412a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 09:57:22 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-abf4a3a19b2sm850988066b.44.2025.03.05.09.57.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 09:57:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49a8d8d2-f9eb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741197441; x=1741802241; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=KkojD1+slrrEEwC02sDP2l0YAwsKigKngP2peukC2Jc=;
        b=vCTSIiK/ymfvSHXcohW5EAjzy7hTNQGR3YsBmqJGfKil+dkEp2cFd61s8b5IhQAB2n
         ijHwYwSKcAU7p84V2kJTZemdVWnWGP9IfmRKIjilzI/v/e+aRPc35FjXh5mBVD7Z5iPp
         no19diiOM2MgshXqwM2lLIIfgD/jetxiSiE3Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741197441; x=1741802241;
        h=in-reply-to: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=KkojD1+slrrEEwC02sDP2l0YAwsKigKngP2peukC2Jc=;
        b=NMjuE66yCcmwvBkXdmSXB/M8hOQD0DiFKf0UtQdID4CQZu9GPXuACozYUlwV67hbej
         EMuJuhrZOe3bweJSlvPlPUFc80ZxfxrENPzWU0gSTtRu9NkgW8/YVvpHc/YYDTuKTRiR
         GbaoCptNdbAjjAj73IYHyHwuLIOnQZgjSFaJQBVWByPkTGI/+DUWDbW/WPYO36YuV+dR
         HYF8OxiMAoMG3nHPjqj5REI0rySniDog/35NJAsMli6W1l0PIne8HmL60dhdP0bduDr2
         kkvhQGoBtg0MunAFB1+qcKViQ01ibTZPHklS2SgSYSUdsHtdM8hjeery+dPjgYUw7VoE
         MnWg==
X-Forwarded-Encrypted: i=1; AJvYcCWafyQAQJL+RwuCCtomRB2rFitrFRc+0EqKKpJDA+E/xwUNruTAjM6bKnwfaRPA1TL3iNksrlPFurE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXb/OuNQrCxZgfk8H6w1T3hjpxjIahyY5YIs9DN41iBBULC5kh
	BR/jQJuRZ9qDSMbVCY5iSuVdV1Pri/MCM89blD2gGcYsPypWS7FEfX5+Yug+0K8=
X-Gm-Gg: ASbGncunsAMx19Oh0k3WuBOK755GrjyiOD9h0UjCAuAGy7NyJatTJSG+ZXI1JaV7nZ4
	LsGNG4n5ldFtzJVZcMnRY4JhR+tTtuyvIXK1UxuCA86A1V67k6mcYCkQCVIutlTRrpHFfAlx4cN
	SEXXwCZRFi6JPL3q6dkXg71rNmFDByjwBHRJ/kN9ZmFNyb2Yqm5QcKT94ZluNILhaP66XRT4a0E
	QjQr6lQFpu4voW+Q5gVmcXZjGf3o2xx/PRtPMkuTEaOdwGGwhsgDDp8nKIg6s/zdtaEDqr2sifx
	8paFsRdFhxAdWXCgmlefu8kMS6olFrP+tSvdYez+600J6N7UTF9v+Kk=
X-Google-Smtp-Source: AGHT+IF9jiCju3rqNPopHNbEGYO4mDD+GrqYP6Hh7xi+HjSLc74YrwdqBxDTMZqdCFI1NLKBQ4w9Eg==
X-Received: by 2002:a17:907:2dac:b0:abf:70fb:7f05 with SMTP id a640c23a62f3a-ac20dafc173mr420553166b.50.1741197441529;
        Wed, 05 Mar 2025 09:57:21 -0800 (PST)
Date: Wed, 5 Mar 2025 18:57:19 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/msi: prevent MSI entry re-writes of the same data
Message-ID: <Z8iQfwqmUm0PnAxI@macbook.local>
References: <20250228113237.6116-1-roger.pau@citrix.com>
 <c06573d3-36a1-4146-ac3f-5dbd4d82d22e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c06573d3-36a1-4146-ac3f-5dbd4d82d22e@suse.com>

On Wed, Mar 05, 2025 at 11:30:51AM +0100, Jan Beulich wrote:
> On 28.02.2025 12:32, Roger Pau Monne wrote:
> > @@ -191,8 +193,6 @@ void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg
> >  
> >  static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
> >  {
> > -    entry->msg = *msg;
> > -
> >      if ( iommu_intremap != iommu_intremap_off )
> >      {
> >          int rc;
> > @@ -203,6 +203,20 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
> >              return rc;
> >      }
> >  
> > +    /*
> > +     * Avoid updating the MSI entry if the address and data fields haven't
> > +     * changed.  When using interrupt remapping changing the MSI affinity
> > +     * shouldn't change the interrupt remapping table index, and hence the MSI
> > +     * address and data fields should remain the same.
> > +     */
> > +    if ( entry->msg.address == msg->address && entry->msg.data == msg->data )
> > +    {
> > +        entry->msg.dest32 = msg->dest32;
> > +        return 0;
> > +    }
> > +
> > +    entry->msg = *msg;
> 
> It is perhaps pure luck that iommu_update_ire_from_msi() doesn't use entry's
> "msg" field, and hence that this re-arrangement is okay. It's unclear to me
> whether going forward this might not bite us.

I've updated the comment in msi_desc to make it clear what the `msg`
field contains.  If iommu_update_ire_from_msi() has a need to fetch
the previous non-translated data and address fields it could always
add an extra field to msi_desc.

> > @@ -1407,7 +1415,9 @@ int pci_restore_msi_state(struct pci_dev *pdev)
> >          }
> >          type = entry->msi_attrib.type;
> >  
> > -        msg = entry->msg;
> > +        msg.dest32 = entry->msg.dest32;
> > +        msi_compose_msg(desc->arch.vector, NULL, &msg);
> > +        entry->msg = (typeof(entry->msg)){};
> >          write_msi_msg(entry, &msg);
> 
> Hmm, this isn't exactly a "restore" then anymore. That said, re-constructing
> the message may even be more correct. Then, however, the question is whether
> passing NULL as msi_compose_msg()'s middle argument is really appropriate. A
> little bit of commentary may be desirable here in any event, also as to need
> to clear entry->msg.

I can add a comment.  Note that as part of the patch a comment is
already added to both the msi_compose_msg() prototype and definition
regarding what passing a NULL cpu_mask implies.

> 
> There's (at least) one place where behavior changes with the change of what
> we store in struct msi_desc's msg field (previously untranslated, now
> translated): dump_msi() wants to use the untranslated form. I fear it can't
> even re-construct some of the data it means to log (without reading from
> the IRTE).

Oh, I've missed dump_msi().  Let me see what I can do there.

Another possibility is for iommu_update_ire_from_msi() to report
whether the IRTE index has changed, and so the MSI fields have been
updated and need propagating to the hardware.

> > --- a/xen/drivers/passthrough/vtd/iommu.c
> > +++ b/xen/drivers/passthrough/vtd/iommu.c
> > @@ -1182,7 +1182,7 @@ static void cf_check dma_msi_end(struct irq_desc *desc, u8 vector)
> >  static void cf_check dma_msi_set_affinity(
> >      struct irq_desc *desc, const cpumask_t *mask)
> >  {
> > -    struct msi_msg msg;
> > +    struct msi_msg msg = {};
> >      unsigned int dest;
> >      unsigned long flags;
> >      struct vtd_iommu *iommu = desc->action->dev_id;
> 
> Why not a similar transformation as you do in set_msi_affinity(), eliminating
> the local "dest"?

It was more intrusive, but I can certainly do it.

> A change like the one here is likely needed in __hpet_setup_msi_irq(), to
> prevent accidental "uninitialized struct field" warnings.

Hm, won't the struct be fully initialized in that case, by getting
passed a cpu_mask?  I don't mind doing so however.

> hpet_msi_set_affinity() might then also want to use msi_compose_msg(), albeit
> that may also be regarded as an independent change.

Possibly, note that HPET code doesn't use write_msi_msg(), and hence
is only partially affected by the msi_compose_msg() change, but not
the write_msi_msg() one, as it continues to store the untranslated MSI
address and data fields in hpet_event_channel struct.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 18:24:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 18:24:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902630.1310663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tptQJ-0002DN-Sf; Wed, 05 Mar 2025 18:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902630.1310663; Wed, 05 Mar 2025 18:24: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 1tptQJ-0002DG-Pp; Wed, 05 Mar 2025 18:24:51 +0000
Received: by outflank-mailman (input) for mailman id 902630;
 Wed, 05 Mar 2025 18:24: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=A9GM=VY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tptQI-0002Bv-5D
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 18:24:50 +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 1a3efbf2-f9ef-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 19:24:42 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e4d50ed90aso8459464a12.0; 
 Wed, 05 Mar 2025 10:24:40 -0800 (PST)
Received: from [172.20.10.5] (public-gprs377817.centertel.pl. [37.47.107.26])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e4c43a55e0sm9956954a12.79.2025.03.05.10.24.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 10:24:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a3efbf2-f9ef-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741199080; x=1741803880; darn=lists.xenproject.org;
        h=subject:from:to:content-language:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kizGuW1y8r26IEy4rhwW4XbhuTNeCtED17MvvM09fUw=;
        b=XiJ8leITbHfD2rP6P3yNHwxGyD9wPB/8+FIrfKZWBATE0ZzaVSikySVS2SwUk4eOqa
         HCYpNQM5vt8oQE1EcTLWPFNZrvBLYsbu15PhmU2TiBoBd6SYukQWC4tnixgL4wyWg2v9
         0Ox6D1qRhWQpG4dUHU7OV8H9oEHpScfAiwUUIJD/1wkANaHPuq0tTGQcWXCdwzXhDRKz
         +AozQcEM67D+Ja5ogsC5wRCii5aM85zdhMHZiGwaS3K4OeoJfroVMxynupc4lS6YplEm
         c4PPYXe5tL7+MwxKdyhL6hFjAffGJy+OKzaOwX8YREpfQsA7nd4OS04qDz5WeKmBA6cd
         WLZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741199080; x=1741803880;
        h=subject:from:to:content-language:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kizGuW1y8r26IEy4rhwW4XbhuTNeCtED17MvvM09fUw=;
        b=n4LfrMN0fVLdRc+Rh1VfgvZWyzKnK8m0la9UBNyNPdKdXBKgdCmkqbaULVDoSvZWqB
         5nWqMxwGq5LZya2/xjkDriDn1W8LwDoiQXhWTKYXp/lHni1ONKsi2KQkRF/DvEk9rnAR
         17ldJYh5ckyRvGOpixJxnLiOFaVmi8mn1GbiKTgq6mtUhKir9gv8eDIQnTFEF1PlL3Ql
         74yCEtWD1gde1hZ8pmERxmjEMkgcQ2urYIYGx2q8UBS63OIGxDpZuwyUQhSoP0sP2r0O
         UWx39KypJpRy0TZ2vBWtgMWdlZ5EIh9L0cl/4G/y9F1jTFs3+7RRyOAvm3ArFLEoGbXV
         G9/w==
X-Forwarded-Encrypted: i=1; AJvYcCWxZHm/83G9LnGzNQzwcFRB+vjtHEjasjI95ZtDY9ew2+aIhsXteGj2iTLvUK7Z3EAQvOUlFjtpC+P7RzcS@lists.xenproject.org, AJvYcCX/9W62hXzVTlO9BCNyeg3QbKNl/JtdSmZVz1SUADR/mmKHnM+AwX4fH7S8Ko8fO2yH7fCmi5ED59Ug@lists.xenproject.org, AJvYcCXSnqzWPKgBhGamhFQFEXMBFnKw50C89bS4thgUR4vPq250D+Yzio3SBvgJ4+mUv/e79kRdEjCdzsY92/LdKQ==@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDtNo3dqywS16ZaZrAsEjrJLjr5KKAsdKCK4sEtka+wr+Acnah
	B1nlvwh842k3waLEWzP1Kq7aoHZpnW3ahA4howKIKMl7S6QFeo4zCIM4iA==
X-Gm-Gg: ASbGnctEX1oeDzmPue+c6+eScOlCgQbxK1FYN5Ak4slnUjtKHHh5YzH00EHE4fvGdUt
	RHjBpFWuQM/xda2r3AHw3WdwQp68DIBI6K0jjSKh3aX3UyqIQ3ysDg9iRLIrdsK8IMkhnhkPUnP
	XO1YFgeQfYBDhZ/arvOW4NJrtfr1CqcKz0zQ40/hBZ1MmClLRsqnrhWDxL0RbQeHOgmLYkk/X7l
	RxXythGycXOOXbuTuBRU4LFA0DlM4OfhxBYoiwKzy5mSX+oQDQeoV7XtXnAfiGZBx36Z47xrZRp
	LW/i1gb5Qt0TsqciFg/oln0RPO5FrcewdEA/+FzpbauETFLC+yINGaR6IzLt80UL5n2rPpm4tkA
	E1WpokP9amA==
X-Google-Smtp-Source: AGHT+IHel4usX22oqVEEWfsbSa/Wn+fVueF2skW49/SnjX8u5G3c6olM2+oclpnCRn7VjqswcElaDw==
X-Received: by 2002:a05:6402:5c8:b0:5dc:5a34:1296 with SMTP id 4fb4d7f45d1cf-5e59f3d47f1mr4239848a12.16.1741199079156;
        Wed, 05 Mar 2025 10:24:39 -0800 (PST)
Content-Type: multipart/alternative;
 boundary="------------Sfts9e0BljbIB0VHBbBpP0Sh"
Message-ID: <b7ccce46-f546-4edb-a9f4-0197dee3be26@gmail.com>
Date: Wed, 5 Mar 2025 19:24:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org,
 xen-announce@lists.xenproject.org, advisory-board@lists.xenproject.org,
 Community Manager <community.manager@xenproject.org>
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Xen Project Releases Version 4.20

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

Hello everyone,

It's with great pleasure that I announce our 4.20 PR release.

I want to thank the whole community for their efforts in getting this
release published!

*Please find the PR article attached here
<https://www.linuxfoundation.org/press/xen-project-announces-xen-420-release 
 >*

Please find the tarball and its signature at:
    https://downloads.xenproject.org/release/xen/4.20.0/

You can also check out the tag in xen.git:
 Â Â  git://xenbits.xen.org/xen.git RELEASE-4.20.0

Git checkout and build instructions can be found at:
    https://wiki.xenproject.org/wiki/Xen_Project_4.20_Release_Notes#Build_Requirements

Release notes can be found at:
    https://wiki.xenproject.org/wiki/Xen_Project_4.20_Release_Notes

A summary for 4.20 release documents can be found at:
    https://wiki.xenproject.org/wiki/Category:Xen_4.20

*Some notable features:*
 Â  - *Security Enhancements:*
 Â Â Â  - During the 4.20 development window, 8 new Xen Security Advisories (XSAs) were published.
 Â Â Â  - Expanded MISRA C compliance: Integrated ECLAIR MISRA C scanner in GitLab CI, enforcing 90
 Â Â Â Â Â  rules with zero unjustified violations.
 Â Â Â  - Enabled UBSAN (Undefined Behaviour Sanitiser) by default for x86, Arm64, RISC-V and PowerPC
 Â Â Â Â Â  in GitLab CI.
 Â Â Â  - Integrated two of our existing fuzzing harnesses into OSSFuzz.
   
 Â - *Arm*
 Â Â Â  - Support for LLC (Last Level Cache) coloring for performance optimizations.
 Â Â Â  - Experimental support for Armv8-R.
 Â Â Â  - Support for NXP S32G3 Processors Family and LINFlexD UART driver.
 Â Â Â  - To enable Xen towards safety certification, 43 requirements have been added.

 Â - *x86 Architecture:*
 Â Â Â  - On Intel CPUs, support the Paging-Write Feature.
 Â Â Â  - AMD Zen 5 CPU support, including mitigation for SRSO speculative vulnerability.
 Â Â Â  - Improve Xen ability to boot (and reboot) using the default configuration on possibly
 Â Â Â Â Â  quirky EFI firmware.
 Â Â Â  - Switched the xAPIC flat driver to use physical destination mode for external interrupts instead
 Â Â Â Â Â  of logical destination mode.
 Â Â Â  - Remove support for running on Xeon Phi processors.
 Â Â Â  - There has been a substantial overhaul to the way in which boot module handling works (part of the
 Â Â Â Â Â  Hyperlaunch work in progress), and a substantial overhaul to how the 32bit early boot code is built
 Â Â Â Â Â  and linked (part of the UEFI SecureBoot work in progress).


 Â - *Other updates:*
 Â Â  - Fixes in the blkif protocol specification for non-512b sector sizes.
 Â Â  - Security and performance enhancements: The domain builder in libxenguest no longer un-gzips
 Â Â Â Â  secondary modules, leaving it to the guest kernel.
 Â Â  - Continued to improve the common/arch code split, including improved bit-operation helpers for bit
 Â Â Â Â  scanning and hamming weight.

Aside from the updates mentioned, I would also like to note that we are
still continue working on the PPC and RISC-V ports.

Best regards,
 Â Oleksii

Come join the conversation on Matrix:

XenProject:https://matrix.to/#/#XenProject:matrix.org

XenDevel:https://matrix.to/#/#XenDevel:matrix.org

XenSocial:https://matrix.to/#/#XenSocial:matrix.org

--------------Sfts9e0BljbIB0VHBbBpP0Sh
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 everyone,

It's with great pleasure that I announce our 4.20 PR release.

I want to thank the whole community for their efforts in getting this
release published!

*Please find the PR article attached here
<a class="moz-txt-link-rfc2396E" href="https://www.linuxfoundation.org/press/xen-project-announces-xen-420-release">&lt;https://www.linuxfoundation.org/press/xen-project-announces-xen-420-release
&gt;</a>*

Please find the tarball and its signature at:
Â Â  <a class="moz-txt-link-freetext" href="https://downloads.xenproject.org/release/xen/4.20.0/">https://downloads.xenproject.org/release/xen/4.20.0/</a>

You can also check out the tag in xen.git:
Â Â  git://xenbits.xen.org/xen.git RELEASE-4.20.0

Git checkout and build instructions can be found at:
Â Â  <a class="moz-txt-link-freetext" href="https://wiki.xenproject.org/wiki/Xen_Project_4.20_Release_Notes#Build_Requirements">https://wiki.xenproject.org/wiki/Xen_Project_4.20_Release_Notes#Build_Requirements</a>

Release notes can be found at:
Â Â  <a class="moz-txt-link-freetext" href="https://wiki.xenproject.org/wiki/Xen_Project_4.20_Release_Notes">https://wiki.xenproject.org/wiki/Xen_Project_4.20_Release_Notes</a>

A summary for 4.20 release documents can be found at:
Â Â  <a class="moz-txt-link-freetext" href="https://wiki.xenproject.org/wiki/Category:Xen_4.20">https://wiki.xenproject.org/wiki/Category:Xen_4.20</a>

*Some notable features:*
Â  - *Security Enhancements:*
Â Â Â  - During the 4.20 development window, 8 new Xen Security Advisories (XSAs) were published.
Â Â Â  - Expanded MISRA C compliance: Integrated ECLAIR MISRA C scanner in GitLab CI, enforcing 90
Â Â Â Â Â  rules with zero unjustified violations.
Â Â Â  - Enabled UBSAN (Undefined Behaviour Sanitiser) by default for x86, Arm64, RISC-V and PowerPC
Â Â Â Â Â  in GitLab CI.
Â Â Â  - Integrated two of our existing fuzzing harnesses into OSSFuzz.
Â  
Â - *Arm*
Â Â Â  - Support for LLC (Last Level Cache) coloring for performance optimizations.
Â Â Â  - Experimental support for Armv8-R.
Â Â Â  - Support for NXP S32G3 Processors Family and LINFlexD UART driver.
Â Â Â  - To enable Xen towards safety certification, 43 requirements have been added. 

Â - *x86 Architecture:*
Â Â Â  - On Intel CPUs, support the Paging-Write Feature.
Â Â Â  - AMD Zen 5 CPU support, including mitigation for SRSO speculative vulnerability.
Â Â Â  - Improve Xen ability to boot (and reboot) using the default configuration on possibly
Â Â Â Â Â  quirky EFI firmware.
Â Â Â  - Switched the xAPIC flat driver to use physical destination mode for external interrupts instead
Â Â Â Â Â  of logical destination mode. 
Â Â Â  - Remove support for running on Xeon Phi processors.
Â Â Â  - There has been a substantial overhaul to the way in which boot module handling works (part of the
Â Â Â Â Â  Hyperlaunch work in progress), and a substantial overhaul to how the 32bit early boot code is built
Â Â Â Â Â  and linked (part of the UEFI SecureBoot work in progress).


Â - *Other updates:*
Â Â  - Fixes in the blkif protocol specification for non-512b sector sizes.
Â Â  - Security and performance enhancements: The domain builder in libxenguest no longer un-gzips
Â Â Â Â  secondary modules, leaving it to the guest kernel.
Â Â  - Continued to improve the common/arch code split, including improved bit-operation helpers for bit
Â Â Â Â  scanning and hamming weight.

Aside from the updates mentioned, I would also like to note that we are
still continue working on the PPC and RISC-V ports.

Best regards,
Â Oleksii

Come join the conversation on Matrix:

XenProject: <a class="moz-txt-link-freetext" href="https://matrix.to/#/#XenProject:matrix.org">https://matrix.to/#/#XenProject:matrix.org</a>

XenDevel: <a class="moz-txt-link-freetext" href="https://matrix.to/#/#XenDevel:matrix.org">https://matrix.to/#/#XenDevel:matrix.org</a>

XenSocial: <a class="moz-txt-link-freetext" href="https://matrix.to/#/#XenSocial:matrix.org">https://matrix.to/#/#XenSocial:matrix.org</a>

</pre>
  </body>
</html>

--------------Sfts9e0BljbIB0VHBbBpP0Sh--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 19:11:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 19:11:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902677.1310709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpu9U-0006Yw-HC; Wed, 05 Mar 2025 19:11:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902677.1310709; Wed, 05 Mar 2025 19:11: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 1tpu9U-0006Yp-EU; Wed, 05 Mar 2025 19:11:32 +0000
Received: by outflank-mailman (input) for mailman id 902677;
 Wed, 05 Mar 2025 19:11: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpu9S-0006AR-85
 for xen-devel@lists.xen.org; Wed, 05 Mar 2025 19:11:30 +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 a2c5ae67-f9f5-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 20:11:28 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-abbd96bef64so1113514266b.3
 for <xen-devel@lists.xen.org>; Wed, 05 Mar 2025 11:11:26 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac1ecafa17fsm368668266b.162.2025.03.05.11.11.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 11:11:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2c5ae67-f9f5-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741201886; x=1741806686; darn=lists.xen.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=DZaame9Ci028tUxlPLSZYIhVkogn4h4VCrJpnOsb3QI=;
        b=WmyGD0RaYXSCLECeQ5nkN6CqoVkEauRgRGSoNCsH4dMmYa5MlzA2mDiE9uBXT5cm2m
         4+OdGDHOoLThONEPGkwE9JiflPmorJq+sF6Q208dRJZXFuPQslidAJIWzKGfkpnQ4pNY
         JlEESiPpO363AFnmo0gZ2IHgh+S1cQBVJqlhU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741201886; x=1741806686;
        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=DZaame9Ci028tUxlPLSZYIhVkogn4h4VCrJpnOsb3QI=;
        b=dW2Uux1/v8176h8bdcn7lv5cKHyAzD/NT70w0f7LeY1Fpj2AFRSSoJZyMTcUgz+v5w
         XiDZlEp8oUI3ifK+NQ3aGtFPI3aZIZlSC7qQZye+Y3/U4+TdZDJpYyFhZd/C3gxJAHXq
         yipY7RBrFpBDB1+nVyRZDMELT4E3LZcjjEyPCCsWzBcCQA9/+qEuvwjnUSqaf8uqWtqV
         /Qmz9/sFI47oz/eKl9LeV/XXBaUSDXwqvxFgKAuUyAWwp7J8jHRfKHYN7faphcL/06hY
         Ql15pvVUMOIJfb3wZ6oF64eYShY4fNtx5ZKIV/0X/UBqbiA9corQVuRwVeXAse+V1tA+
         mQ5Q==
X-Forwarded-Encrypted: i=1; AJvYcCUsSTnL37mYbg/5xDDaAmfzEqXETqhFMWqFGTsYnzEpnb4ClYjno6p4alZ5KBQfLFw7n7F1VFntPNg=@lists.xen.org
X-Gm-Message-State: AOJu0Yw63RvED/aBZFAI2b26aC9f66ykFZoE7c6sImbEc/R+Nq/LUMC5
	Mc9wJLyjKHrGlQMm0XFk0Rt75NMFqSx7WwORm0AcTFN5Yy5wtjC8zgR2y+v0Km4=
X-Gm-Gg: ASbGncsEcg96iif7+Uh9lQ2d8dtOz6qEdSxjSjJlA7eY3hj/YAeX3b/mX1mDXaqVeuK
	2YIZVoc7qUt7slLjrCZYQCYRQvGGk2ZnJMaXjuwxDO+v/Qhs74zHqdIpPjlXiJdgbvVp2CU4/aA
	HPr7vfkweiHf4kDj3L5+2Dh7Bcph7NQI5r9a628gmoxZ4lvXCtJ+ILw/4J0O+h1C7SWTXFuLedK
	Pt0gUhTj4h4PEW1j7YfEWHdoUNuX0Y8Bx2cM+18mIE414gHPOXrLZjnGZoRYknJg+ZWBbJuB9jh
	s1ygtVvrrnuHicqV+vO6e+qSTcZ3kEVJ/LP/8KborxnP2VIlHTzmepWuOUfj2UapWVng0xzGfnh
	I9sj4hMTU
X-Google-Smtp-Source: AGHT+IE4Oj0YBaW1g1qsSSQnSSCOaSMQmxLzlg0vhrLzGeXWTn120/RwT20dUywm3p5AOlyDXi21Kw==
X-Received: by 2002:a17:907:3f25:b0:ac1:fcda:78c1 with SMTP id a640c23a62f3a-ac20d97e6b7mr466336266b.34.1741201885183;
        Wed, 05 Mar 2025 11:11:25 -0800 (PST)
Message-ID: <b3afc964-2840-4583-bb39-e05d390d3e55@citrix.com>
Date: Wed, 5 Mar 2025 19:11:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: "xen-announce@lists.xen.org" <xen-announce@lists.xen.org>,
 Xen-devel <xen-devel@lists.xen.org>,
 "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
 "oss-security@lists.openwall.com" <oss-security@lists.openwall.com>
Cc: "Xen.org security team" <security-team-members@xen.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Xen Security Notice 2 (CVE-2024-35347) AMD CPU Microcode Signature
 Verification Vulnerability
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

See:

https://bughunters.google.com/blog/5424842357473280/zen-and-the-art-of-microcode-hacking
https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7033.html

Right now there are four known but (reasonably) benign microcodes from a
non-AMD source.Â  However, there is a tool to sign arbitrary microcode.

In Xen, we've provided a stopgap mitigation to perform extra checks on
microcode load on affected CPU families.Â  This is a SHA2 digest check
against hashes with believed-good provenance.Â  This is staging only for
now, in case it is overly disruptive.

This will not protect against an already-compromised platform, but it
will prevent an uncompromised system becoming compromised via Xen's
microcode loading capabilities.

On affected systems, the only complete fix is a firmware update.Â  This
is a very firmly recommended course of action.

Sincerely,

~Andrew, on behalf of the Xen Security Team.



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 21:49:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 21:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902753.1310731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpwbq-0002s7-OW; Wed, 05 Mar 2025 21:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902753.1310731; Wed, 05 Mar 2025 21:48: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 1tpwbq-0002s0-Lt; Wed, 05 Mar 2025 21:48:58 +0000
Received: by outflank-mailman (input) for mailman id 902753;
 Wed, 05 Mar 2025 21:48: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=Gbs/=VY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpwbp-0002rs-8F
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 21:48:57 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b38de9a-fa0b-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 22:48:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 3C17E5C6ACF;
 Wed,  5 Mar 2025 21:46:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB5DAC4CED1;
 Wed,  5 Mar 2025 21:48:40 +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: 9b38de9a-fa0b-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741211321;
	bh=fJblui19P/uqvVqGokEBeBu7+iiLd0mS9gUrmwOQ/9w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=C6hV/iOiZFiqr9Crr9o3NKjJgm37mG/qKUbgGbLfY91+q1CV6mdeMQUcqigx9jPU5
	 MfKXa7JpiWVa+khh/7y1BNhLx+qM4JrFL45d1FnEQMfy8jw8pspcuIw1T9YDAKPMC1
	 dEYRuqhH3R6pA6tdz6hnMGbPrYnRHc5XpmOoccqWRHOn+FeWHDemR8JuM698DbKqUX
	 jf8J2BTVc2Ahpi4AUmFGu9u6GzBtJUnBV+3wTY1vWw2bCTlZVeFTbx0HolX0I0HJZf
	 coL7nv8z0BW/E1nlsUueRoGDjEcSv1OJXYWWPiomkB8iJnYZGo+g+nychvQYkBkuXg
	 hX1qjp1iroTmg==
Date: Wed, 5 Mar 2025 13:48:40 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>
Subject: Re: [PATCH 0/7] Add support for R-Car Gen4 PCI host controller
In-Reply-To: <cover.1740382735.git.mykyta_poturai@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503051346270.1303386@ubuntu-linux-20-04-desktop>
References: <cover.1740382735.git.mykyta_poturai@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 24 Feb 2025, Mykyta Poturai wrote:
> This series adds support for R-Car Gen4 PCI host controller.
> 
> To fully support the controller, the following changes were made:
> - Generic mechanism to support PCI child buses is added.
> - Private data for PCI host bridge and means to access it are added.
> 
> The series also includes a workaround for proper ATU propramming and
> optimizations to lessen the performance impact of that workaround.
> 
> The series was tested both as a part of the pci-passthrough patches[1] and
> standalone on S4 and V4H boards.
> 
> [1] https://github.com/Deedone/xen/tree/pci_passthrough_wip

Hi Mykyta,

I understand the need for this patch series in the context of vPCI and
PCI Passthrough.  

You also mentioned that you tested it as a standalone, meaning without
the PCI Passthrough patches. What is the purpose of this patch series
without PCI Passthrough?

Cheers,

Stefano




> Oleksandr Andrushchenko (4):
>   xen/arm: allow PCI host bridge to have private data
>   xen/arm: make pci_host_common_probe return the bridge
>   xen/arm: add support for PCI child bus
>   xen/arm: add support for R-Car Gen4 PCI host controller
> 
> Volodymyr Babchuk (3):
>   xen/arm: rcar4: add delay after programming ATU
>   xen/arm: rcar4: add simple optimization to avoid ATU reprogramming
>   xen/arm: rcar4: program ATU to accesses to all functions
> 
>  xen/arch/arm/include/asm/pci.h      |  16 +-
>  xen/arch/arm/pci/Makefile           |   1 +
>  xen/arch/arm/pci/ecam.c             |  17 +-
>  xen/arch/arm/pci/pci-access.c       |  37 +-
>  xen/arch/arm/pci/pci-host-common.c  | 106 +++++-
>  xen/arch/arm/pci/pci-host-generic.c |   2 +-
>  xen/arch/arm/pci/pci-host-rcar4.c   | 542 ++++++++++++++++++++++++++++
>  xen/arch/arm/pci/pci-host-zynqmp.c  |   2 +-
>  xen/arch/arm/vpci.c                 |  91 ++++-
>  9 files changed, 764 insertions(+), 50 deletions(-)
>  create mode 100644 xen/arch/arm/pci/pci-host-rcar4.c
> 
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 21:58:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 21:58:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902765.1310742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpwlH-0005J1-Le; Wed, 05 Mar 2025 21:58:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902765.1310742; Wed, 05 Mar 2025 21:58: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 1tpwlH-0005Iu-Io; Wed, 05 Mar 2025 21:58:43 +0000
Received: by outflank-mailman (input) for mailman id 902765;
 Wed, 05 Mar 2025 21:58: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=CzNz=VY=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tpwlG-0005Im-P8
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 21:58:42 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20609.outbound.protection.outlook.com
 [2a01:111:f403:2009::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe912d88-fa0c-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 22:58:40 +0100 (CET)
Received: from MN0PR02CA0012.namprd02.prod.outlook.com (2603:10b6:208:530::9)
 by MW3PR12MB4364.namprd12.prod.outlook.com (2603:10b6:303:5c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Wed, 5 Mar
 2025 21:58:33 +0000
Received: from MN1PEPF0000F0E2.namprd04.prod.outlook.com
 (2603:10b6:208:530:cafe::9f) 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.8511.16 via Frontend Transport; Wed,
 5 Mar 2025 21:58:33 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000F0E2.mail.protection.outlook.com (10.167.242.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Wed, 5 Mar 2025 21:58:33 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 5 Mar
 2025 15:58:31 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 5 Mar 2025 15:58:31 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe912d88-fa0c-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VR94V9YC/EWS5qxLjA1AXa3S3Jo92Mfl3fxLaV4os/xGbN+WdZYN2A8V2L5g/5tTuOwEfOE8+xfkFrc1f/ObPFhCk0KTPWygF8M9Empa2v6DqWmXZG7KkzP9WHa/qyFsExtWy/UEZITHgWpW4+W7pykP5fH20PNpe88xWJioNwhAfEdQBtU0YAv2XhTr8MaynKxO3dwMA7ETlcesmdxyFDR6En80hWW3h0g0WwCeP/Xc/8lrHxtSNucHBVNnZ2eGJdP99vwimGpFzM6153Su4RsV7C/pZKaYkRFZDXXoAJkziD3HTANh9S8m1agNUkrisPhEMAAEfBB/H/rbh8gbmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mtN8LAMSLKrzMZRkrMqqXoo6UMhlxLA34QH/NmYxzK4=;
 b=qL9uM/VoV8PDnZdG9/QdLNtUztR3e34rcS+rEyd9UccZkb85bgFWQiTXuPymSA72luDQb5daBjFB9FFtGmy+4T6ja+9nutsWlsdlk8clmn0qhCWQtHIT5VNy0acuUCvUdyv/gvQCV6nqhcxgaI5VjtUsMddoBP3XIMeOB157UIp//nBXouPSmiKpAzOPLGvUHaSlPn6lx0Tew3D6KrYb1ZGVpIwym4t5TPPYFxPm2gFx1aoqz7t/VXX5KvqNemj6eR1c+uQq+scsk8zLiBh9o3IJtRYPc7V7UuSDbX3gHkq+VbP7ZWqCC5okHfjTSef5iqYZx6JFiwIOfSdCccc9+g==
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=mtN8LAMSLKrzMZRkrMqqXoo6UMhlxLA34QH/NmYxzK4=;
 b=2FiGnHeXrTnynVUvO2NGm/bfZ30EwCpIooPYhvEHgLW84VLFpL8NpjBv2Qw1Zx6NpN3OwVOX3rEVHOX/kp7ScuKUOcTdXWuLjSbdnQkjkvi6EZUCDnDLo84IA+EmlwY35bBVUlrfEkw4P4B3lx7CfpOOlxfJSGldyXuR1cgm+4U=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>
Subject: [PATCH] tools/init-dom0less: Fix cpus > 1 and xenstore entries
Date: Wed, 5 Mar 2025 16:58:32 -0500
Message-ID: <20250305215832.98162-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: MN1PEPF0000F0E2:EE_|MW3PR12MB4364:EE_
X-MS-Office365-Filtering-Correlation-Id: 946f0b55-61cd-4725-4c94-08dd5c30df6d
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?NzrPQPjEIVidGJyFVES5pkHZX+/Qe6aZFsL623lOKz1WgVkP/1gPdx4HHGJf?=
 =?us-ascii?Q?ty19XaU9e6x676LoilNg/BiioCuY4Lt84m92hSBV61ovG0J2weaU+3rGeW8K?=
 =?us-ascii?Q?WZcIDN0yNnYNLuXKeZE/YKFpY7yORBvST9Kiap5ezfBOCC+VWHAQ+rK2B8TM?=
 =?us-ascii?Q?SBW/eVm75prcKdYBi9gzz1CjdGT7NJ+hfQWYihKhGPFt1kh4CwX+VvdAEUXN?=
 =?us-ascii?Q?/ZhRSaGKsAXgzoqmMhuMy4C45U0tt8zSnHtoo90IquVE+PfZAUsMhnlVvlPi?=
 =?us-ascii?Q?xXguE/Nr5/CijlrfZT0ZhkU1t2pg5yV6JKfPB3oQBVXQbmPhRUmxnvOhoTEG?=
 =?us-ascii?Q?kg3qbJ4xYkT+uxuxaB/kX60K8ybNyiQqBDNOF4a9JPaTDzb05sghdXBehAOt?=
 =?us-ascii?Q?wCIrGDept/Zur9yvCwg8rPzFW1xwEHOkWkKwBJGiJFW0pxfs1oDC1GrISlRR?=
 =?us-ascii?Q?BcyPHT3MxS0aUFXhZICgQ5HXxfHOB5L/uvDQYVPlczj5UG9Ol4QLBqVRPm3Z?=
 =?us-ascii?Q?8TqKHR8TioCw9wfz99fs4rDBRBb0CVDdTfrFlowOpDvDShN+RLWdH7KG/Hmf?=
 =?us-ascii?Q?Un62wfSkEfrugWZoK5B00hxF8znBDCPxSYP0BdU3D44EdYMfvIyc/AAbV5oh?=
 =?us-ascii?Q?ke7tJdNwcQzJG9ulHWroPwndO0DC49B4Jyva/M+7ySUtl0qXH/eiw0hMCc3K?=
 =?us-ascii?Q?SxiiWx8hKpxzlgB269axVbAn9hQGRIhAfM2+9OcwAeWWlP3feZr2Gw36YvrD?=
 =?us-ascii?Q?mXUfmNE0iCwaeqd2Kd67F3TF5Wa/R53bAJbWPU+MouhyDvnHu9f9ebvm7gcI?=
 =?us-ascii?Q?jOuLigPobQqKvWu8W4ODC3DnsS1ZU5W2F/JoQtmIMVVR5HZ356NOvGYovW9f?=
 =?us-ascii?Q?czMQPhzvFcXFV2N22PB6sp0naGQF/BIHzkNxXCWYwn5vW68BBiFMD+bYHHjI?=
 =?us-ascii?Q?A0wo2b+z8H4u/xLwyFvruQOgdgJ501Kwq+2gqdEf6GP2ENAZBvmDhlhKgfkR?=
 =?us-ascii?Q?rzwrrRMrilHqTDws605WxFZ9C7zXzcr8OYATs2W8hArZhQHSth903AvysCme?=
 =?us-ascii?Q?XhntKDHFJwf8V9ACcz8/o6+NeFWAL+5YfGL+zmnkRrvUA3jss8uikkxNdnRu?=
 =?us-ascii?Q?IhX2aS5l4Cux+sYA2x+oHQd+2reQ0lLvb1IyQsAcWpC/ulruVPZg6ChKLM7W?=
 =?us-ascii?Q?25GKU3WYLCY8lGXoXdMKUSAEWYvMa4xTuDTNAmngybgmCZ9WUrM8QtYjsEVc?=
 =?us-ascii?Q?KFtDbgg/0i9HY6szpPXPhmWKMQqagJ6lCNPW6bP3KFNQLSLCDQnU52UBTrCF?=
 =?us-ascii?Q?e7W663s2gKFzvlwwKdPya90bH7WqRpFM+c1GIjlR4mzaNGqVYK4c3xjbkIoN?=
 =?us-ascii?Q?U11yvgvWBm6SvQVyxZqcMzjSfAYaRoCRLGVwNNh8UgQn0GAFSZMEiN2mJObw?=
 =?us-ascii?Q?f1pZX8S5p3ajqHPnilgtr/16+iSMfv6abYTGjGb0GJzW+63vxDRXdBA6jxCm?=
 =?us-ascii?Q?V2WSuomMR8tIu7I=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 05 Mar 2025 21:58:33.2833
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 946f0b55-61cd-4725-4c94-08dd5c30df6d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E2.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4364

The trailing / in the path is incorrect and generates an error when
writing to xenstore:
Checking domid: 1
Init dom0less domain: 1
init-dom0less: writing to xenstore: No error information

init-dom0less exits without finishing initialization.

vcpu_max_id is an inclusive value, so it should be included in the
loop's range to include all vcpus.  Without this, no xenstore entries
are created for a 1 vcpu domain.

Finally, use vcpu_online, the count of online vcpus, to determine online
vs. offline.  info->cpupool is a cpupool id and not a bitmask.

Fixes: ec53e0c4ea ("tools: add example application to initialize dom0less PV drivers")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 tools/helpers/init-dom0less.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index 17579fe2e8..c569a890a0 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -182,13 +182,13 @@ retry_transaction:
     if (!do_xs_write_dom(xsh, t, domid, "vm", vm_val_str)) goto err;
     if (!do_xs_write_dom(xsh, t, domid, "name", dom_name_str)) goto err;
     if (!do_xs_write_dom(xsh, t, domid, "cpu", "")) goto err;
-    for (i = 0; i < info->vcpu_max_id; i++) {
-        rc = snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%u/availability/", i);
+    for (i = 0; i <= info->vcpu_max_id; i++) {
+        rc = snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%u/availability", i);
         if (rc < 0 || rc >= STR_MAX_LENGTH)
             goto err;
         rc = -EIO;
         if (!do_xs_write_dom(xsh, t, domid, cpu_str,
-                             (info->cpupool & (1 << i)) ? "online" : "offline"))
+                             i < info->vcpu_online ? "online" : "offline"))
             goto err;
     }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 22:25:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 22:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902775.1310778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpxBc-0002ie-Bd; Wed, 05 Mar 2025 22:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902775.1310778; Wed, 05 Mar 2025 22: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 1tpxBc-0002iX-7e; Wed, 05 Mar 2025 22:25:56 +0000
Received: by outflank-mailman (input) for mailman id 902775;
 Wed, 05 Mar 2025 22:06: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=ysEN=VY=malwation.com=kagan.isildak@srs-se1.protection.inumbo.net>)
 id 1tpwsb-0006ro-0N
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 22:06:17 +0000
Received: from mail-oo1-xc2e.google.com (mail-oo1-xc2e.google.com
 [2607:f8b0:4864:20::c2e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 067c57de-fa0e-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 23:06:02 +0100 (CET)
Received: by mail-oo1-xc2e.google.com with SMTP id
 006d021491bc7-5fe86c16f5dso4063eaf.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 14:06:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 067c57de-fa0e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=malwation.com; s=google; t=1741212361; x=1741817161; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=M5hCnZbYP5dUn03pFzViTItIx1J8XbSrIgN3JhUNevA=;
        b=iIdW+Sty/dizZlZ7NQSNMzmjH6GSBP7Lt4RxzgkEXYgzcvSbtGfbl2qx+6UHRwMc6G
         tLxSHBWqn9zoVch3ogVv64cT6IPk4aqOPzOUUyC+dcZ4qZSjt1ocKH0lG7qXBgHDZRHB
         FtmjSyxR8LRe3Rbd2ufh5jeQiU5m4N1bm6Dh3O0MUupRkeyqunzkQBl/1oRv+w/UK9A5
         n5D7S58X5PsCUY5NYL/tjkmPbEDuMmh4+0FIh5H/xKWZhby0YzkvJL2mJhr9NmtxhVOg
         HKOLh4SssjN2GRntkMlKSHgPS49I8f4obe2IOf24kIYfgIstV/ics/zcKGjcsAODzZhc
         1I4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741212361; x=1741817161;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5hCnZbYP5dUn03pFzViTItIx1J8XbSrIgN3JhUNevA=;
        b=QrTbZkBxQj1GbXqxO0XvtNFO/Gx6lDh96dCdc36IYYTQ6JgnYl2Q9jlfuXI5HCSgw9
         9m7sTzwJksIcpBh59TSCEmvjwuXqHt47TV8tmVCMvT/Fe5k35RGJ0gAZ88zxWlSLmjjy
         LEaNFfcC8taXsQPemcvy87m8yolT9XGczTdMDsVyeIfGuErW7SgykILEH9TCMrdJ2bGt
         oCftUVY4BKSYPDuIENrB1q2DkdPIXwVjJqOp2meAO05lTjG7JEi/kHcPABmjPId+djgl
         3WIoP2KOSdAPNqgBaCS0WvS7bJFxO4cji/VFJfzdx+tkI0tTSpsXrBtLhdt487B/wPtW
         u6HQ==
X-Gm-Message-State: AOJu0YwHeg/01/lP/0rlA1dapjrrd3GhZtNBqeEKXIClLDhlZEHurb8b
	+iTTzQ0M9sQB4SwATRJO5yq7+6RA3VfNDLt0/E8oUJSX6A0JL0uyUJLWSyfImhBUdLadPDOQezA
	yjEgnT0i/9P6mx9BE0aPs3k0GUm/kfGr/ArGo62kjOx8CmAYCbYul95Gp
X-Gm-Gg: ASbGncu9J+K72TLC+iGuHKkpbeCTG9m03OsVOqW2TEaehVQ12teRFGamektDt5xNDB+
	fQ6oX3y8hwVP/jXEHh7XYKFGVvL28vjt1ccDzaXJnAVY3WiVHekczwrfgdGvowx/YMvx91eej18
	mFHpSuDXRaT+8W75zP7hWCyps=
X-Google-Smtp-Source: AGHT+IGRowsngn07NCsyZTcdbLfd6yMbnpb4znYTPW3Ym2gzPIIXMCq7jw26S3Qm2pxKTjGP6N9eaN2983BBxLZc6KI=
X-Received: by 2002:a05:6870:2192:b0:29e:76c8:be2e with SMTP id
 586e51a60fabf-2c21cd20179mr2887455fac.28.1741212361101; Wed, 05 Mar 2025
 14:06:01 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?B?S0HEnkFOIEnFnklMREFL?= <kagan.isildak@malwation.com>
Date: Thu, 6 Mar 2025 01:05:50 +0300
X-Gm-Features: AQ5f1Jp0BZUIcsEM4ZJvNyQLKtAMwqyfxXDv55iUDWhh-tF4-ayiR9SrZrlpCaA
Message-ID: <CABDHFN7uk0JdehT3R0f_PvRgT-thdNyywppekmjLWfSq13dNKQ@mail.gmail.com>
Subject: BUG - running new version on nested virtualization
To: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000043304c062f9f986d"

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

Hey there

I'm facing weird issue. At my lab env. i'm building xen 4.18 and make deb
package than i use it on virtual machine which running on esxi with CPU
features for nested virtualization and there's no problem. (I can create vm
and able to do all operational things etc.)

Last week i tried to migrate 4.19 and 4.20 but Xen get stuck on booting and
at debug log i just see error about mounting /proc/xen (mount: /proc/xen:
mount point does not exist.) I've no f... idea why it caused. (At my all
tries, i used fresh install of ubuntu server 22.04, 24.04)

Is there any one faced issue and is there special things to do in build
phase for nested virtualization? (I didn't change anything while building
4.18, i'm just using stable branch)

Regards
Ka=C4=9Fan

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

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D""><font face=3D"mono=
space">Hey there</font></div><div class=3D"gmail_default" style=3D""><font =
face=3D"monospace"><br></font></div><div class=3D"gmail_default" style=3D""=
><font face=3D"monospace">I&#39;m facing weird issue. At my lab env. i&#39;=
m building xen 4.18 and make deb package than i use it on virtual machine w=
hich running on esxi with CPU features for nested virtualization and there&=
#39;s no problem. (I can create vm and able to do all operational things et=
c.)</font></div><div class=3D"gmail_default" style=3D""><font face=3D"monos=
pace"><br></font></div><div class=3D"gmail_default" style=3D""><font face=
=3D"monospace">Last week i tried to migrate 4.19 and 4.20 but Xen get stuck=
 on booting and at debug log i just see error about mounting /proc/xen (mou=
nt: /proc/xen: mount point does not exist.) I&#39;ve no f... idea why it ca=
used. (At my all tries, i used fresh install of ubuntu server 22.04, 24.04)=
</font></div><div class=3D"gmail_default" style=3D""><font face=3D"monospac=
e"><br></font></div><div class=3D"gmail_default" style=3D""><font face=3D"m=
onospace">Is there any one faced issue and is there special things to do in=
 build phase for nested virtualization? (I didn&#39;t change anything while=
 building 4.18, i&#39;m just using stable branch)=C2=A0</font></div><div cl=
ass=3D"gmail_default" style=3D""><font face=3D"monospace"><br></font></div>=
<div class=3D"gmail_default" style=3D""><font face=3D"monospace">Regards</f=
ont></div><div class=3D"gmail_default" style=3D""><font face=3D"monospace">=
Ka=C4=9Fan</font></div><br></div>

--00000000000043304c062f9f986d--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 22:25:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 22:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902811.1310768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpxBV-0002FW-3i; Wed, 05 Mar 2025 22:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902811.1310768; Wed, 05 Mar 2025 22:25: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 1tpxBV-0002FP-0x; Wed, 05 Mar 2025 22:25:49 +0000
Received: by outflank-mailman (input) for mailman id 902811;
 Wed, 05 Mar 2025 22:25: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpxBT-00024R-FR
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 22:25:47 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c862679f-fa10-11ef-9ab4-95dc52dad729;
 Wed, 05 Mar 2025 23:25:46 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-aaedd529ba1so4914066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 14:25:46 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac1e152fdd4sm473867766b.176.2025.03.05.14.25.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 05 Mar 2025 14:25:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c862679f-fa10-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741213545; x=1741818345; 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=McDKkH1/jF76pltYd4jyBlFJcmo4P/DuMqxlYLD0OPg=;
        b=FqBx1tf4A6G3NKyG0aQ3ayHwuUOJI2ULSHduVbr/B3mPtMmUGuDZybUMBUJ0VzE/15
         mbVs+ivxEXuu836lPSO6WAM9TMBFVQVFOj/4NXYq92vitGm4wZARsvMybbj3TTCX9K7Z
         PrT0324/LiA9W+/4xkeRxCtqcKPmyS6R2Xxp8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741213545; x=1741818345;
        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=McDKkH1/jF76pltYd4jyBlFJcmo4P/DuMqxlYLD0OPg=;
        b=k2CWcTodMqEGkNfRATPkyQPv7IJN5FWai8EQVIC/MjoHseH6Y3f0rbvHKyFiN6h2Si
         hJ9kj4k4X2v/OxWgo9u58R5Bu4DHAzhUxQXvCfiJGtzWpWCQR4UugVqAfbS/HugT/iMU
         YPfh6qdvp4rqoDjKsfGpf/f5AKtd/qc9cCg0eRojgTk1CBs6VrOf+YkWDPVADPw5+owB
         p9EjVaglLCKYXuldE+MSdEZxHQU3q4RjYi3UK5xYCz6YvyQ52YA3XBrStRtMmW3dWCJ+
         dS5/zlw50dhKqXHOk/3GObIY0rK3XXB5otEy61ugKigGOUqoE2AD38Q1w50P+sHD/jM7
         7vDA==
X-Gm-Message-State: AOJu0Yy+cgIpZVrHwvGAdtEkTgT05LJ52m2QrgsDDyx59+7WqeVoE+pV
	s/n12rO9ovWI9guwxzRWH+C59Dji/16TIv6Wt942up/r/8c3QN+3X28gBPXPYyFWSA/DiDeN2Lk
	/
X-Gm-Gg: ASbGncvbbk9tROl4Z+u3qA3ai3N6gNu+eBAGjjwj2MdqnyWANYZJrfijUXMsGm69IUP
	HfPKWk9/d1qEH1/RGhifz4FGsQukNVjycei3cXMfTgZFtg0OCvl3WkjbEva9SGmkch+ajqS7Umy
	wF7bePhK7pNWjAXHResyMXPJqbw4eWmqVaR6z4hQjun/nLVKKWkPn16KgIFkuKQiQctM9gRGSp5
	oxHBDEDI44WRoKxJ3d3QPB5VdlOvsF83/kliolmRJ1xbyyD1pxx6AxSvL8tCGeNjMscVkH/9CGj
	ozVZ8VZcxt9iaf2aYiqdKgB4TdONgjLfGmsYa4E34D7qhVioOzhwOlYHWw5asz7wm/LL5NsKJBm
	qLmVB6Jm4ejWghtuyQ338BVKm
X-Google-Smtp-Source: AGHT+IGmFjGSqtjbYLGpeN00qCc9zJtUjy+DPtbTm7PnwBltB7kkFjwZmaHLI6kIC46gAMbIWvjeAg==
X-Received: by 2002:a05:6402:2114:b0:5de:a6a8:5ec6 with SMTP id 4fb4d7f45d1cf-5e59f3d3780mr10313073a12.10.1741213545303;
        Wed, 05 Mar 2025 14:25:45 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] Xen: CI fixes from XSN-2
Date: Wed,  5 Mar 2025 22:23:43 +0000
Message-Id: <20250305222343.2874591-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

 * Add cf_check annotation to cmp_patch_id() used by bsearch().
 * Add U suffix to the K[] table to fix MISRA Rule 7.2 violations.

Fixes: 372af524411f ("xen/lib: Introduce SHA2-256")
Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>

TODO: Make a working CI pipline the security team can use.

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1701963907
---
 xen/arch/x86/cpu/microcode/amd.c |  2 +-
 xen/lib/sha2-256.c               | 32 ++++++++++++++++----------------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 27caed102818..ee7de5282b2a 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -99,7 +99,7 @@ static const struct patch_digest {
 #include "amd-patch-digests.c"
 };
 
-static int cmp_patch_id(const void *key, const void *elem)
+static int cf_check cmp_patch_id(const void *key, const void *elem)
 {
     const struct patch_digest *pd = elem;
     uint32_t patch_id = *(uint32_t *)key;
diff --git a/xen/lib/sha2-256.c b/xen/lib/sha2-256.c
index 4aeb8aa20490..19e8252188f7 100644
--- a/xen/lib/sha2-256.c
+++ b/xen/lib/sha2-256.c
@@ -56,22 +56,22 @@ static uint32_t blend(uint32_t W[16], unsigned int i)
 }
 
 static const uint32_t K[] = {
-    0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
-    0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
-    0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
-    0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
-    0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
-    0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
-    0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
-    0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
-    0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
-    0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
-    0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
-    0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
-    0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
-    0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
-    0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
-    0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
+    0x428a2f98U, 0x71374491U, 0xb5c0fbcfU, 0xe9b5dba5U,
+    0x3956c25bU, 0x59f111f1U, 0x923f82a4U, 0xab1c5ed5U,
+    0xd807aa98U, 0x12835b01U, 0x243185beU, 0x550c7dc3U,
+    0x72be5d74U, 0x80deb1feU, 0x9bdc06a7U, 0xc19bf174U,
+    0xe49b69c1U, 0xefbe4786U, 0x0fc19dc6U, 0x240ca1ccU,
+    0x2de92c6fU, 0x4a7484aaU, 0x5cb0a9dcU, 0x76f988daU,
+    0x983e5152U, 0xa831c66dU, 0xb00327c8U, 0xbf597fc7U,
+    0xc6e00bf3U, 0xd5a79147U, 0x06ca6351U, 0x14292967U,
+    0x27b70a85U, 0x2e1b2138U, 0x4d2c6dfcU, 0x53380d13U,
+    0x650a7354U, 0x766a0abbU, 0x81c2c92eU, 0x92722c85U,
+    0xa2bfe8a1U, 0xa81a664bU, 0xc24b8b70U, 0xc76c51a3U,
+    0xd192e819U, 0xd6990624U, 0xf40e3585U, 0x106aa070U,
+    0x19a4c116U, 0x1e376c08U, 0x2748774cU, 0x34b0bcb5U,
+    0x391c0cb3U, 0x4ed8aa4aU, 0x5b9cca4fU, 0x682e6ff3U,
+    0x748f82eeU, 0x78a5636fU, 0x84c87814U, 0x8cc70208U,
+    0x90befffaU, 0xa4506cebU, 0xbef9a3f7U, 0xc67178f2U,
 };
 
 static void sha2_256_transform(uint32_t *state, const void *_input)

base-commit: 630e8875ab368b97cc7231aaf3809e3d7d5687e1
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 05 22:44:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 22:44:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902828.1310788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpxTR-0008C7-RK; Wed, 05 Mar 2025 22:44:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902828.1310788; Wed, 05 Mar 2025 22:44: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 1tpxTR-0008C0-Ni; Wed, 05 Mar 2025 22:44:21 +0000
Received: by outflank-mailman (input) for mailman id 902828;
 Wed, 05 Mar 2025 22:44: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpxTP-0008Bm-Jt
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 22:44:19 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ebebf21-fa13-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 23:44:17 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-abf4d756135so7172066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 14:44:17 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-abf4a3a19b2sm884386166b.44.2025.03.05.14.44.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 14:44:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ebebf21-fa13-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741214657; x=1741819457; 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=pTwmi0cUF3/pS1Hz6HN1qkSC3wILXQEsVZibWmbgZsw=;
        b=GDsw5eiW9Us/6AlzqmswcepX5qLKdzWhrQfqg05jP99+MW3caT7mJ+ykpxkoipKqs9
         GtWsPOLAXmCYTOT8sjNSVD4nSoZGCZxeCZ3Jze42zRO0qvVwory9a95GTzFii3IGQbvu
         EPLOrF2K/MJsz4dWTT9EQ4AVTjy8P+NK/HFZg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741214657; x=1741819457;
        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=pTwmi0cUF3/pS1Hz6HN1qkSC3wILXQEsVZibWmbgZsw=;
        b=I6I3LNM4DLwCZ7qTxEkQL0hwwkl4yoFPuKDmrBC0Mi0SY/Xr9bbSFP1SV2E7e5x6+D
         Ufd/Wh4ftQmsLFdbf/79CAwhjf1qsjHFyRTwjUUoGDmFlNGJhJGp+cqjDH71z+j/Vt/9
         JGcPNCn516qVicJe5H+EmveaqxbW4SXTE6WwuPGnesdwwzoukMCyBk8qEopsyqRId2Kv
         NQ5i/jWelXOEutLE9l14jw3lKwnCrlRcsC3vDsZRnWqitZ3hO8GzPNJTqFGT62Eda623
         WXpSpD/UqFK+s5mJEBVYR26L+fS1EhEClBsHo/xiSstEnTVFRvzI8PVTd80j7rVhZeDM
         0sww==
X-Forwarded-Encrypted: i=1; AJvYcCWNgUm+Vln9SzM9X2kvYpwY0Wib69TySpb3hQZh2xcx4gNolse9HrRW0wJW970LJIHE92ai9vXBdN8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyboUfcmZy5rQglhjZvJdLg2urSZC0Ps+DRqLvxJg4W51adT+Ow
	x9rMAMQ2eUzuYt6DqKmtvA+Hw0FeDK4keSTy+4xcIwb05xjxev9Lq3fnVsJVNT0=
X-Gm-Gg: ASbGnctU7s7KCwhP9izR2U08FggTk+9dYO+ZF+KXJFGpBVAzI2QeHHlo9tZv1ntcX0H
	j13CNcnbAg/QUQJ8grnSENhpPXV/Mm7Wf9b3zfM+HnS0TTE1gCpcTv3lMgAeIE/GIfurCJH4UPP
	3Jm7Cko4N8qGlYwrJrnXqeu7T2TeU0J1XeC7pOtMjbcfqpe5xLLcqhZBURhgUY3VfTszYwtgCg9
	Qbknl4JbJQg5XH/QZSitunSoyrLJ5/+n5Nm3JM+v9hh2t+TBQ/Zzn+n4P53qYitJSrEK9eL9wHw
	UfAsNUo5dYgveGL8JyQb9UgBd/y7ugrd6FqWU+gki3HwGPoKrITCLcw29vwWJ530Jv4p0pvQ4PL
	9Vu+wyM5r
X-Google-Smtp-Source: AGHT+IExbXJ+4eq9PD0aDX2d2JiRDM5bnenGWIBWXBnZSN/dT+RB1zbNtl+FBrcGy/UDgD9r+V6SPA==
X-Received: by 2002:a17:906:7308:b0:abf:486a:5e0e with SMTP id a640c23a62f3a-ac20d8cdafdmr464943466b.22.1741214656816;
        Wed, 05 Mar 2025 14:44:16 -0800 (PST)
Message-ID: <c145ee1e-91e9-491e-bd21-7bb0a04ab0a1@citrix.com>
Date: Wed, 5 Mar 2025 22:44:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: BUG - running new version on nested virtualization
To: =?UTF-8?B?S0HEnkFOIEnFnklMREFL?= <kagan.isildak@malwation.com>,
 xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
References: <CABDHFN7uk0JdehT3R0f_PvRgT-thdNyywppekmjLWfSq13dNKQ@mail.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: <CABDHFN7uk0JdehT3R0f_PvRgT-thdNyywppekmjLWfSq13dNKQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 10:05 pm, KAÄAN IĹILDAK wrote:
> Hey there
>
> I'm facing weird issue. At my lab env. i'm building xen 4.18 and make
> deb package than i use it on virtual machine which running on esxi
> with CPU features for nested virtualization and there's no problem. (I
> can create vm and able to do all operational things etc.)
>
> Last week i tried to migrate 4.19 and 4.20 but Xen get stuck on
> booting and at debug log i just see error about mounting /proc/xen
> (mount: /proc/xen: mount point does not exist.) I've no f... idea why
> it caused. (At my all tries, i used fresh install of ubuntu server
> 22.04, 24.04)
>
> Is there any one faced issue and is there special things to do in
> build phase for nested virtualization? (I didn't change anything while
> building 4.18, i'm just using stable branch)

/proc/xen isn't getting mounted, and that's necessary for the Xen
tooling to work.Â  It's a custom filesystem of type "xenfs" in Linux.

Check the status of proc-xen.mount

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 22:58:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 22:58:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902874.1310813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpxgU-0002RY-8w; Wed, 05 Mar 2025 22:57:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902874.1310813; Wed, 05 Mar 2025 22: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 1tpxgU-0002RR-6K; Wed, 05 Mar 2025 22:57:50 +0000
Received: by outflank-mailman (input) for mailman id 902874;
 Wed, 05 Mar 2025 22: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=pOX7=VY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tpxgS-0002RL-Qm
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 22:57:48 +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 4111f0ae-fa15-11ef-9898-31a8f345e629;
 Wed, 05 Mar 2025 23:57:46 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-abf4802b242so9744366b.1
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 14:57:46 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac1efd7d3dfsm372188666b.166.2025.03.05.14.57.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 14:57:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4111f0ae-fa15-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741215466; x=1741820266; 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=iOEK8Q5iQn/5cK6OlgLwl5nwQ1puwz4Bez7lEpItq34=;
        b=rY9YoLNGXA/C0DDfoVXU/0ZDLCEkct/8CFLxrZrWqXTbhWP2nT/TE0Vwg8VuzLGtSq
         Xw2n+plNUw+kje1aC3NrKyQspdrnLmAVlVHr32JpRr3KUUx9JdjF9hP9X6EXPRc+eGEp
         puHngbmwqt0J638ZZ8qOT86NqZ2jVAwYdLfXA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741215466; x=1741820266;
        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=iOEK8Q5iQn/5cK6OlgLwl5nwQ1puwz4Bez7lEpItq34=;
        b=rFjbDQgNvA6tNl3Q2Yq4ouCfPeCSKsJN96KBYppopx60mxj96uBve9ZJqVmrCMXbGN
         aNIgYnZgZWbdsI77NWSE2Vo3HWqoafdii3tR5pX+lY44yZsyEN1QmJUpc0D37c65Jkr5
         YxoPylVzNRISGuFfE74P7/OmToie/SJw2aOxSBfCU6CkLsi4fUJe4VkiB5P5P9Jkjryl
         8SF8Iz9AWHjVgzhVBi8g4CDhRrmbY7jtpPjOyeGerV9HxZKCOncZrEDbY3FCO6JcTqSI
         RPtSbUqjvUroj5SsZOklUkX037ZfTr4k70xgkU2pwsJi373ULHlph2MUmv9w6kEk3qfX
         RO+Q==
X-Forwarded-Encrypted: i=1; AJvYcCXcMnMkyTmi8Fxv/5YaguJtzLoEocDU712JViTBJR8uvypp+TLDzmT6v9SprP9A6/3oAszuWHZqlZo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8MmCBVZQWo+B6kc9oZK9EP2Fn94VJfe5VFhERMZTTNGPhlbXQ
	6LudDa3OZXiMH9DbTrbqm3X7K8OmhbcJkkfsgzUjbQRcnH+5xi8pXgRXSdm7ik56f3cw9/PP54X
	6
X-Gm-Gg: ASbGncvIesACjYvwXTjMvN8E5afruB/tIFjx55AIJxoYj0WBx+PSx/FwUmT18n9WKtc
	bYYAQ5hqQHeT3Lt7K2YtO2fKHJwBtNs8gL7izDeO69GyythF+hJT/VDU7p2ysBy+ewNw//uL4fb
	bWo6XtGQxTnjK7OHtry4VaiTouKcv8xzrewe52iOr8t0j4DDCi7bVKTT52Yrt+w0Ott54P9Dik2
	z3432/nPrRzD6yrsDNXJ7jo59Rs0zRF31IaZ3Z67FSSqCRYG8t4AE+d7WYb19bKSNcOa6XVmkpb
	qcX/yiINSdsf6vagC97r+55sALV5Lju36IRi7TrmOOFqdMaEWmuNrLMsM07ycNj87xEZpt/lV5U
	5rdLKaW2I
X-Google-Smtp-Source: AGHT+IGMWpcTR/9Fj0JeIj6qDhKEzbmcyD/tRgd+uvNb0W9FM5ENsOQymhpIvmHax/3+lmJjG7KC4Q==
X-Received: by 2002:a17:907:7e96:b0:abb:c647:a4bf with SMTP id a640c23a62f3a-ac20d8bcea1mr427935666b.23.1741215466041;
        Wed, 05 Mar 2025 14:57:46 -0800 (PST)
Message-ID: <499e999a-06d9-4a49-b223-b04bb0c34edb@citrix.com>
Date: Wed, 5 Mar 2025 22:57:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
To: Juergen Gross <jgross@suse.com>, 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: <20250305085201.14258-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: <20250305085201.14258-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 8:52 am, Juergen Gross wrote:
> The description of the Xenstore INTRODUCE command is still referencing
> xend. Fix that.
>
> While at it, make clear that the Xenstore implementation is allowed
> to ignore the specified gfn and use the Xenstore reserved grant id
> GNTTAB_RESERVED_XENSTORE instead.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  docs/misc/xenstore.txt | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
> index 38015835b1..d894d24d11 100644
> --- a/docs/misc/xenstore.txt
> +++ b/docs/misc/xenstore.txt
> @@ -286,7 +286,7 @@ TRANSACTION_END		F|
>  INTRODUCE		<domid>|<gfn>|<evtchn>|?
>  	Notifies xenstored to communicate with this domain.
>  
> -	INTRODUCE is currently only used by xend (during domain
> +	INTRODUCE is currently only used by xen tools (during domain
>  	startup and various forms of restore and resume), and
>  	xenstored prevents its use other than by dom0.
>  
> @@ -299,6 +299,10 @@ INTRODUCE		<domid>|<gfn>|<evtchn>|?
>  	for example passing a high-bit-set 32-bit gfn as an unsigned
>  	decimal will attempt to use 0x7fffffff instead (!).
>  
> +	Xenstored might ignore the <gfn> value and use the reserved
> +	grant table entry GNTTAB_RESERVED_XENSTORE instead for mapping
> +	the Xenstore interface page of the guest.

I'd suggest making a stronger statement than this.

---
The <gfn> field is used by xenstoreds which use foreign mapping to
access the ring page.

Alternatively, Grant 1 (GNTTAB_RESERVED_XENSTORE) is reserved for the
same purpose, and is populated by the domain builder on behalf of the
guest.Â  This mechanism is preferred because reduces the permissions that
xenstored needs in order to function.

Both <gfn> and Grant 1 need to agree, because implementations of
xenstored will use one and ignore the other.
---

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 23:19:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 23:19:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902893.1310824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpy1Q-0000ef-V8; Wed, 05 Mar 2025 23:19:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902893.1310824; Wed, 05 Mar 2025 23:19: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 1tpy1Q-0000eY-RX; Wed, 05 Mar 2025 23:19:28 +0000
Received: by outflank-mailman (input) for mailman id 902893;
 Wed, 05 Mar 2025 23:19: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=Gbs/=VY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpy1P-0000eS-P3
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 23:19:27 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 467367cf-fa18-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 00:19:25 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 8D3475C632A;
 Wed,  5 Mar 2025 23:17:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1552DC4CED1;
 Wed,  5 Mar 2025 23:19:21 +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: 467367cf-fa18-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741216763;
	bh=NbYutpG+TXZU1bfu4zLtZvF03xkkr3JC2Cg8Qnje7aQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fGVZgrFfnkKOVzndlxiJA8Rz58mt5SjFe7FYixm7eDVaf8fp06wtfgZABz9iaySpv
	 +TGd4T12jqUgAz/mu4ynpuXjT7KuxkUHMvRt6hyJ9+aE0BAkxmMTbYF5+ShIx2z0VT
	 iELPG2STzfFn7Vvo+gFtgTdrCFtEKWUhPNoNizl4q/+KvUmOhddzsinmX7EU9cwvih
	 ppwNfRgb9a/aQgQBVibzPY075zP5q68jnPTSi2gp+Bi2sYmrQWOBhCdLGYR29HGfn4
	 AmhyNPf44na4Db68ydx2781vHQooz5nFY+tLl4/tWIYiJjxm0yodRNcgBqnwx5gCha
	 YIhRn+RJzd3wg==
Date: Wed, 5 Mar 2025 15:19:21 -0800 (PST)
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>, 
    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>
Subject: Re: [PATCH] Xen: CI fixes from XSN-2
In-Reply-To: <20250305222343.2874591-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503051519040.1303386@ubuntu-linux-20-04-desktop>
References: <20250305222343.2874591-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-422915014-1741216763=:1303386"

  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-422915014-1741216763=:1303386
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 5 Mar 2025, Andrew Cooper wrote:
>  * Add cf_check annotation to cmp_patch_id() used by bsearch().
>  * Add U suffix to the K[] table to fix MISRA Rule 7.2 violations.
> 
> Fixes: 372af524411f ("xen/lib: Introduce SHA2-256")
> Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> 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>
> 
> TODO: Make a working CI pipline the security team can use.
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1701963907
> ---
>  xen/arch/x86/cpu/microcode/amd.c |  2 +-
>  xen/lib/sha2-256.c               | 32 ++++++++++++++++----------------
>  2 files changed, 17 insertions(+), 17 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
> index 27caed102818..ee7de5282b2a 100644
> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -99,7 +99,7 @@ static const struct patch_digest {
>  #include "amd-patch-digests.c"
>  };
>  
> -static int cmp_patch_id(const void *key, const void *elem)
> +static int cf_check cmp_patch_id(const void *key, const void *elem)
>  {
>      const struct patch_digest *pd = elem;
>      uint32_t patch_id = *(uint32_t *)key;
> diff --git a/xen/lib/sha2-256.c b/xen/lib/sha2-256.c
> index 4aeb8aa20490..19e8252188f7 100644
> --- a/xen/lib/sha2-256.c
> +++ b/xen/lib/sha2-256.c
> @@ -56,22 +56,22 @@ static uint32_t blend(uint32_t W[16], unsigned int i)
>  }
>  
>  static const uint32_t K[] = {
> -    0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
> -    0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
> -    0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
> -    0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
> -    0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
> -    0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
> -    0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
> -    0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
> -    0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
> -    0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
> -    0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
> -    0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
> -    0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
> -    0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
> -    0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
> -    0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
> +    0x428a2f98U, 0x71374491U, 0xb5c0fbcfU, 0xe9b5dba5U,
> +    0x3956c25bU, 0x59f111f1U, 0x923f82a4U, 0xab1c5ed5U,
> +    0xd807aa98U, 0x12835b01U, 0x243185beU, 0x550c7dc3U,
> +    0x72be5d74U, 0x80deb1feU, 0x9bdc06a7U, 0xc19bf174U,
> +    0xe49b69c1U, 0xefbe4786U, 0x0fc19dc6U, 0x240ca1ccU,
> +    0x2de92c6fU, 0x4a7484aaU, 0x5cb0a9dcU, 0x76f988daU,
> +    0x983e5152U, 0xa831c66dU, 0xb00327c8U, 0xbf597fc7U,
> +    0xc6e00bf3U, 0xd5a79147U, 0x06ca6351U, 0x14292967U,
> +    0x27b70a85U, 0x2e1b2138U, 0x4d2c6dfcU, 0x53380d13U,
> +    0x650a7354U, 0x766a0abbU, 0x81c2c92eU, 0x92722c85U,
> +    0xa2bfe8a1U, 0xa81a664bU, 0xc24b8b70U, 0xc76c51a3U,
> +    0xd192e819U, 0xd6990624U, 0xf40e3585U, 0x106aa070U,
> +    0x19a4c116U, 0x1e376c08U, 0x2748774cU, 0x34b0bcb5U,
> +    0x391c0cb3U, 0x4ed8aa4aU, 0x5b9cca4fU, 0x682e6ff3U,
> +    0x748f82eeU, 0x78a5636fU, 0x84c87814U, 0x8cc70208U,
> +    0x90befffaU, 0xa4506cebU, 0xbef9a3f7U, 0xc67178f2U,
>  };
>  
>  static void sha2_256_transform(uint32_t *state, const void *_input)
> 
> base-commit: 630e8875ab368b97cc7231aaf3809e3d7d5687e1
> -- 
> 2.39.5
> 
--8323329-422915014-1741216763=:1303386--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 23:25:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 23:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902902.1310834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpy6i-00029f-Hj; Wed, 05 Mar 2025 23:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902902.1310834; Wed, 05 Mar 2025 23:24: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 1tpy6i-00029Y-Du; Wed, 05 Mar 2025 23:24:56 +0000
Received: by outflank-mailman (input) for mailman id 902902;
 Wed, 05 Mar 2025 23:24: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=Gbs/=VY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpy6h-00029S-51
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 23:24:55 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a1f102e-fa19-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 00:24:53 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id AE45A5C5CFD;
 Wed,  5 Mar 2025 23:22:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE75DC4CED1;
 Wed,  5 Mar 2025 23:24: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: 0a1f102e-fa19-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741217091;
	bh=AfoBJIJvSRb66qcE9pwoKMc0rO50hQrTSC3TKzBnG04=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GwXfuP105r2lNgUW5pVXRp7FBu9Q+uo6Lz0c24SaK70BYpkB51EVd8LWA/tUupymr
	 Z3wq2w+0lSxZsB0bvE7WeKFPnFEYURE/neo24jwuJKwV8Mxdgfh5ocwN1TWoUrcD4H
	 jY8DGu3HYbX9biHLZlYDCqQHHCBAY0I2hkHTrS+wUVZ9xCellMGNnTPqcasS8ErARz
	 sg19Vq4CjH1cnRyiX1/qTraxKAHdJ/ePkGdNqC6+C2ERG7koTsbU8XnmVHdzDV6aWd
	 jLjZAia+hBdaHVDqPDdlt00xOsw8a2h7S5c2JYMrjaib0alh4+gQ1i9BeNZdgMbxLO
	 HU7P8+r9LEtuA==
Date: Wed, 5 Mar 2025 15:24:48 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com, 
    ayan.kumar.halder@amd.com, consulting@bugseng.com, 
    Dario Faggioli <dfaggioli@suse.com>, Meng Xu <mengxu@cis.upenn.edu>, 
    Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>, 
    xen-devel@lists.xenproject.org, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [XEN PATCH v2 2/3] xen/rt: address violation of MISRA C Rule
 8.2
In-Reply-To: <fc6c0113-484d-4eb5-8b66-0ef547d8dbf1@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503051524030.1303386@ubuntu-linux-20-04-desktop>
References: <cover.1740476096.git.nicola.vetrini@bugseng.com> <e3c6457e50d61daa05fd9c3a7c71b06d912216a0.1740476096.git.nicola.vetrini@bugseng.com> <fc6c0113-484d-4eb5-8b66-0ef547d8dbf1@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, 5 Mar 2025, Jan Beulich wrote:
> On 25.02.2025 10:38, Nicola Vetrini wrote:
> > Rule 8.2 states: "Function types shall be in prototype form with
> > named parameters".
> > 
> > The parameter name is missing from the function pointer type
> > that constitutes the first parameter.
> > 
> > No functional change.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > Reviewed-by: Juergen Gross <jgross@suse.com>
> > ---
> > Changes in v2:
> > - renamed function parameter name to "elem"
> > - changed prefix to xen/rt since only that scheduler is touched
> 
> Looks like you committed v1 of this, and without a maintainer ack?

Hi Jan, I took Juergen's comment and his maintainer ack, making the
change on commit: https://marc.info/?l=xen-devel&m=173978187314898


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 23:28:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 23:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902910.1310844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpy9n-0002jA-09; Wed, 05 Mar 2025 23:28:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902910.1310844; Wed, 05 Mar 2025 23: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 1tpy9m-0002j3-Rl; Wed, 05 Mar 2025 23:28:06 +0000
Received: by outflank-mailman (input) for mailman id 902910;
 Wed, 05 Mar 2025 23:28: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=Gbs/=VY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpy9k-0002iv-Se
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 23:28:04 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b2c823c-fa19-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 00:28:02 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id C41A7A467A0;
 Wed,  5 Mar 2025 23:22:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96C9DC4CED1;
 Wed,  5 Mar 2025 23:28: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: 7b2c823c-fa19-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741217281;
	bh=IcLEwY4YxrR6Vf5cl3DRfRALYRvOYZXUyJ2x7VxBu6I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hK0cdea6ZKX/syPtYfGlY95vXOsXyqd13c35JnUz1i33sdIA6LD3sXTFG/Adv9882
	 MZojVr4y73suqptyW2uN7JF8yEc6dGpOl+jBo6Fa0jryzKyUqN7XbnLjmrxvL92IN2
	 tZERSqucCatRdcEE8WTfXA7HD5K63k6+Oc5I/Gu4Cw44reA1FOn5VoCq9pAA2zDvz7
	 q2/gI2Qa3sLMVoBiNyadfiGdvilsUwX8Tu7EmuChZSg7DCM4JFnIo3/+SXs1lS3YeA
	 PSPb5oO09HHvnl89oRo0iZxVRRdU4c+fyddJD5WzD4h9AMnnnoeiMcagIWRj/TDi9G
	 kYafD21RaqNLg==
Date: Wed, 5 Mar 2025 15:27:59 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v8 2/6] automation: drop debian:11-riscv64 container
In-Reply-To: <184f15497204d1bb464bf871f70de105ce8851b2.1740764258.git.oleksii.kurochko@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2503051527520.1303386@ubuntu-linux-20-04-desktop>
References: <cover.1740764258.git.oleksii.kurochko@gmail.com> <184f15497204d1bb464bf871f70de105ce8851b2.1740764258.git.oleksii.kurochko@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 28 Feb 2025, Oleksii Kurochko wrote:
> There are two reasons for that:
> 1. In the README, GCC baseline is chosen to be 12.2, whereas Debian 11
>    uses GCC 10.2.1.
> 2. Xen requires mandatory some Z extensions, but GCC 10.2.1 does not
>    support Z extensions in -march, causing the compilation to fail.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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


> ---
> Changes in V8:
>  - Nothing changed except that now it has dependency from the
>    previous commit which adds information about GCC to README
>    and thereby clarify the commit message of the current commit.
> ---
> Changes in V7:
>  - new patch
> ---
>  automation/gitlab-ci/build.yaml | 14 --------------
>  automation/scripts/containerize |  1 -
>  2 files changed, 15 deletions(-)
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 6a2e491534..b952a59c06 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -723,20 +723,6 @@ debian-12-ppc64le-gcc:
>      HYPERVISOR_ONLY: y
>  
>  # RISC-V 64 cross-build
> -debian-11-riscv64-gcc:
> -  extends: .gcc-riscv64-cross-build
> -  variables:
> -    CONTAINER: debian:11-riscv64
> -    KBUILD_DEFCONFIG: tiny64_defconfig
> -    HYPERVISOR_ONLY: y
> -
> -debian-11-riscv64-gcc-debug:
> -  extends: .gcc-riscv64-cross-build-debug
> -  variables:
> -    CONTAINER: debian:11-riscv64
> -    KBUILD_DEFCONFIG: tiny64_defconfig
> -    HYPERVISOR_ONLY: y
> -
>  debian-12-riscv64-gcc:
>    extends: .gcc-riscv64-cross-build
>    variables:
> diff --git a/automation/scripts/containerize b/automation/scripts/containerize
> index bc43136078..0953e0728c 100755
> --- a/automation/scripts/containerize
> +++ b/automation/scripts/containerize
> @@ -31,7 +31,6 @@ case "_${CONTAINER}" in
>      _fedora) CONTAINER="${BASE}/fedora:41-x86_64";;
>      _bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;;
>      _bookworm-ppc64le) CONTAINER="${BASE}/debian:12-ppc64le" ;;
> -    _bullseye-riscv64) CONTAINER="${BASE}/debian:11-riscv64" ;;
>      _bookworm-riscv64) CONTAINER="${BASE}/debian:12-riscv64" ;;
>      _bookworm-x86_64-gcc-ibt) CONTAINER="${BASE}/debian:12-x86_64-gcc-ibt" ;;
>      _bookworm|_bookworm-x86_64|_) CONTAINER="${BASE}/debian:12-x86_64" ;;
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 23:30:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 23:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902920.1310869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpyBz-0004aG-KD; Wed, 05 Mar 2025 23:30:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902920.1310869; Wed, 05 Mar 2025 23:30: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 1tpyBz-0004a9-HM; Wed, 05 Mar 2025 23:30:23 +0000
Received: by outflank-mailman (input) for mailman id 902920;
 Wed, 05 Mar 2025 23:30: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=ysEN=VY=malwation.com=kagan.isildak@srs-se1.protection.inumbo.net>)
 id 1tpyBy-0004CL-K9
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 23:30:22 +0000
Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com
 [2607:f8b0:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd1fc30f-fa19-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 00:30:20 +0100 (CET)
Received: by mail-ot1-x331.google.com with SMTP id
 46e09a7af769-72726025fa5so5938a34.0
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 15:30:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd1fc30f-fa19-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=malwation.com; s=google; t=1741217419; x=1741822219; 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=CTd8hOx6xiqwGKVo4Wa2y2yMQTGx9NRrzd5ctSx/1fw=;
        b=aq5lRPlLW9QaujcfccBjjeQCbL9iRM87xFSNURgbuiNY/tOk1cbNy1wSec25vP5jXo
         qWTkK9mEu0WzDOEEQaJ+gs6F0TdMxNUD5FS4eWuLkLJ1fw+0Wnu/N7xGQ66Pwk5kYb3k
         IJ0tZW4TX0kNqM1ZKzXCaoJlbVOxzkToNSiXYVJcpCCgStcDbgO6MCVvcr+eEmMfKdjK
         lGkUPzO2lC1YdxtH0EvtLdYyTqzl9x2icM1HnMuY5edQ/aS9KYv1RAzevdojmIu9XIn3
         kCIAKOdWJv6QuS6+VW4A1r9P0WagagqjO5RhRkS9pdtml+vPy4OwXtKP/HbJ8GuIaMX4
         ZyZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741217419; x=1741822219;
        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=CTd8hOx6xiqwGKVo4Wa2y2yMQTGx9NRrzd5ctSx/1fw=;
        b=JLYVNUVP3XiUVJrY/Qv45nbBmNmtB4nyrUnAqa6AFv762KRmQt7yd5IWd3wSi+eLya
         CJwuwKwp9QxGfnmRcLWR1Zxj4DwOrObwFOl5rZp2ZDqEM8II3FruJaPL12L5VugIbp1R
         e2QgAiQU6ius0C3TC/C/GotvK2geZaVhJ4RSsgBpNMG41wGG8JWbQa4D6HZxRZ7l1rfE
         7Z46IOgEVoNCraOY9OTFMe9OxSuaGhiyKTlvJZW4PYX4k9YngocLP3corKDkhd+TFR1D
         xpaRHJWO6878bDjA3E1EFBiu99ZMMJOc5rfvLlTz5OsIQkvW+G+9EJ2ve9RLeTSSFrY9
         VQuA==
X-Gm-Message-State: AOJu0Yw9wW8l3XFmCpkXuxuKSE/qUV77fnT65jhxcXGiIm918gUfP9bW
	KAWwcRWb0q7cdZP/qlquSh0BpntRcH1dDQYsf8VgYpaHYsrYLrtMJJpwOWyZkRp35BVzO8QpaKX
	j/Qhr5nM37Dab39NCWmH/4rgAFloz2i1I5j6pddpv2p+j97h/ZVm0cQ==
X-Gm-Gg: ASbGncvgF1jh8wItFnCiVkN7n9sSad7WvDYQPJzBM0v27pMa8LM5q1GLFx7qVLubeBc
	Ypah8iAn8QQLU+CMhSCHzKJ0RBctWP8cmZSrlVTkWpLPAXRurSbDZgRh8BP2jVu0LvNoc4Dcfhd
	VG+iLrYXa4kKW7gtBhD4bkZTKA
X-Google-Smtp-Source: AGHT+IFr/OY62XosZ47UtBhuRB9uM6LIrzPnztlSOOfPwjsPfvzPS0bPzsEzQqDITP/S2eIruGpFktXTsszJl2ru1zA=
X-Received: by 2002:a05:6870:9110:b0:29e:69d9:8834 with SMTP id
 586e51a60fabf-2c21be86ea2mr2768323fac.0.1741217418760; Wed, 05 Mar 2025
 15:30:18 -0800 (PST)
MIME-Version: 1.0
References: <CABDHFN7uk0JdehT3R0f_PvRgT-thdNyywppekmjLWfSq13dNKQ@mail.gmail.com>
 <c145ee1e-91e9-491e-bd21-7bb0a04ab0a1@citrix.com>
In-Reply-To: <c145ee1e-91e9-491e-bd21-7bb0a04ab0a1@citrix.com>
From: =?UTF-8?B?S0HEnkFOIEnFnklMREFL?= <kagan.isildak@malwation.com>
Date: Thu, 6 Mar 2025 02:30:07 +0300
X-Gm-Features: AQ5f1JpcfCkb-k5pDbYy_u7335C7x4D-whHrZR-059hO4UhAdX0_AId8s4U7TmY
Message-ID: <CABDHFN66hPJC+0kc-nvC7hd-kLOWgYpo33FKYT6STFqaCg5y2w@mail.gmail.com>
Subject: Re: BUG - running new version on nested virtualization
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000b8f3d1062fa0c5d5"

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

Hey Andrew

I know but as i said at 4.18 theres no problem, im mounting at /etc/fstab
succ.
Im facing this issue on newer versions (4.19, 4.20)
These installation also same with 4.18(same /etc/fstab config) but main
problem is why it raise error and cant mount

Andrew Cooper <andrew.cooper3@citrix.com>, 6 Mar 2025 Per, 01:44 tarihinde
=C5=9Funu yazd=C4=B1:

> On 05/03/2025 10:05 pm, KA=C4=9EAN I=C5=9EILDAK wrote:
> > Hey there
> >
> > I'm facing weird issue. At my lab env. i'm building xen 4.18 and make
> > deb package than i use it on virtual machine which running on esxi
> > with CPU features for nested virtualization and there's no problem. (I
> > can create vm and able to do all operational things etc.)
> >
> > Last week i tried to migrate 4.19 and 4.20 but Xen get stuck on
> > booting and at debug log i just see error about mounting /proc/xen
> > (mount: /proc/xen: mount point does not exist.) I've no f... idea why
> > it caused. (At my all tries, i used fresh install of ubuntu server
> > 22.04, 24.04)
> >
> > Is there any one faced issue and is there special things to do in
> > build phase for nested virtualization? (I didn't change anything while
> > building 4.18, i'm just using stable branch)
>
> /proc/xen isn't getting mounted, and that's necessary for the Xen
> tooling to work.  It's a custom filesystem of type "xenfs" in Linux.
>
> Check the status of proc-xen.mount
>
> ~Andrew
>


--=20

Ka=C4=9Fan I=C5=9EILDAK
Co-Founder

0553 839 2887

www.malwation.com <https://malwation.com/>   kagan.isildak@malwation.com

<https://twitter.com/gaissecurity>
<https://www.linkedin.com/company/gais-siber-g%C3%BCvenlik-teknolojileri/>



 Bu e-posta mesaj=C4=B1 ve eklerinde yer alan i=C3=A7erikler g=C3=B6nderild=
i=C4=9Fi ki=C5=9Fi ya da
firmaya =C3=B6zeldir. Ayr=C4=B1ca hukuken de gizli olabilir. Hi=C3=A7bir =
=C5=9Fekilde =C3=BC=C3=A7=C3=BCnc=C3=BC
ki=C5=9Filere a=C3=A7=C4=B1klanamaz ve yay=C4=B1nlanamaz. E=C4=9Fer bu mesa=
j=C4=B1 hataen ald=C4=B1ysan=C4=B1z
l=C3=BCtfen durumu g=C3=B6nderen ki=C5=9Fiye derhal bildiriniz ve mesaj=C4=
=B1 sisteminizden
siliniz. Mesaj=C4=B1n yetkili al=C4=B1c=C4=B1s=C4=B1 de=C4=9Filseniz hi=C3=
=A7bir k=C4=B1sm=C4=B1n=C4=B1 kopyalayamaz,
ba=C5=9Fkas=C4=B1na g=C3=B6nderemez veya hi=C3=A7bir =C5=9Fekilde bu mesaj=
=C4=B1 kullanamazs=C4=B1n=C4=B1z. E=C4=9Fer
mesaj=C4=B1n yetkili al=C4=B1c=C4=B1s=C4=B1 veya yetkili al=C4=B1c=C4=B1s=
=C4=B1na iletmekten sorumlu ki=C5=9Fi siz
de=C4=9Filseniz, l=C3=BCtfen mesaj=C4=B1 sisteminizden siliniz ve g=C3=B6nd=
ereni uyar=C4=B1n=C4=B1z.
=C4=B0nternet ileti=C5=9Fiminde tam g=C3=BCvenlik ve hatas=C4=B1z g=C3=B6nd=
erim garanti
edilemeyece=C4=9Finden; mesaj=C4=B1n yerine ula=C5=9Fmamas=C4=B1, ge=C3=A7 =
ula=C5=9Fmas=C4=B1 ya da i=C3=A7eri=C4=9Finin
bozulmas=C4=B1 gibi problemler de olu=C5=9Fabilir. G=C3=B6nderen ve Malwati=
on (Malwation Siber
G=C3=BCvenlik Teknolojileri A.=C5=9E.) bu mesaj=C4=B1n i=C3=A7erdi=C4=9Fi b=
ilgilerin do=C4=9Frulu=C4=9Fu,
b=C3=BCt=C3=BCnl=C3=BC=C4=9F=C3=BC ve g=C3=BCncelli=C4=9Fi konusunda bir ga=
ranti vermemektedir. Mesaj=C4=B1n
i=C3=A7eri=C4=9Finden, iletilmesinden, al=C4=B1nmas=C4=B1ndan, saklanmas=C4=
=B1ndan, gizlili=C4=9Finin
korunmamas=C4=B1ndan, vir=C3=BCs i=C3=A7ermesinden ve sisteminizde yaratabi=
lece=C4=9Fi olas=C4=B1
zararlardan Malwation sorumlu tutulamaz.

--000000000000b8f3d1062fa0c5d5
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:monospac=
e">Hey Andrew</div><div class=3D"gmail_default" style=3D"font-family:monosp=
ace"><br></div><div class=3D"gmail_default" style=3D"font-family:monospace"=
>I know but as i said at 4.18 theres no problem, im mounting at /etc/fstab =
succ.</div><div class=3D"gmail_default" style=3D"font-family:monospace">Im =
facing this issue on newer versions (4.19, 4.20)</div><div class=3D"gmail_d=
efault" style=3D"font-family:monospace">These installation also same with 4=
.18(same /etc/fstab config) but main problem is why it raise error and cant=
 mount</div></div><br><div class=3D"gmail_quote gmail_quote_container"><div=
 dir=3D"ltr" class=3D"gmail_attr">Andrew Cooper &lt;<a href=3D"mailto:andre=
w.cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt;, 6 Mar 2025 Per, 01=
:44 tarihinde =C5=9Funu yazd=C4=B1:<br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex">On 05/03/2025 10:05 pm, KA=C4=9EAN I=C5=9EILDAK wrote:<=
br>
&gt; Hey there<br>
&gt;<br>
&gt; I&#39;m facing weird issue. At my lab env. i&#39;m building xen 4.18 a=
nd make<br>
&gt; deb package than i use it on virtual machine which running on esxi<br>
&gt; with CPU features for nested virtualization and there&#39;s no problem=
. (I<br>
&gt; can create vm and able to do all operational things etc.)<br>
&gt;<br>
&gt; Last week i tried to migrate 4.19 and 4.20 but Xen get stuck on<br>
&gt; booting and at debug log i just see error about mounting /proc/xen<br>
&gt; (mount: /proc/xen: mount point does not exist.) I&#39;ve no f... idea =
why<br>
&gt; it caused. (At my all tries, i used fresh install of ubuntu server<br>
&gt; 22.04, 24.04)<br>
&gt;<br>
&gt; Is there any one faced issue and is there special things to do in<br>
&gt; build phase for nested virtualization? (I didn&#39;t change anything w=
hile<br>
&gt; building 4.18, i&#39;m just using stable branch)<br>
<br>
/proc/xen isn&#39;t getting mounted, and that&#39;s necessary for the Xen<b=
r>
tooling to work.=C2=A0 It&#39;s a custom filesystem of type &quot;xenfs&quo=
t; in Linux.<br>
<br>
Check the status of proc-xen.mount<br>
<br>
~Andrew<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature"><div dir=3D"ltr"><br><div><table border=3D"0" cellspacing=3D"0" c=
ellpadding=3D"0" style=3D"color:rgb(34,34,34)"><tbody><tr><td valign=3D"top=
" style=3D"border-top:none;border-bottom:none;border-left:none;border-right=
:2.25pt solid rgb(32,160,180);padding:0cm 5.25pt 0cm 0cm"><img width=3D"96"=
 height=3D"95" src=3D"https://ci3.googleusercontent.com/mail-sig/AIorK4zXKD=
IUp1B8sAuA-UJySlziCIlcmv_GGa_bxnfd_BWf5cZHbkfd8ZT_Yy5y9l35ciP3gNI-OB1MwZXt"=
></td><td style=3D"padding:0cm 0cm 0cm 9pt"><table border=3D"0" cellspacing=
=3D"0" cellpadding=3D"0"><tbody><tr><td style=3D"padding:0cm 0cm 3.75pt"><p=
 class=3D"MsoNormal"><span style=3D"font-size:13.5pt;font-family:Arial,sans=
-serif;color:rgb(32,160,180)">Ka=C4=9Fan I=C5=9EILDAK</span></p></td></tr><=
tr><td style=3D"padding:2.85pt 0cm 0cm"><font color=3D"#333333" face=3D"Ari=
al, sans-serif"><span style=3D"font-size:14px">Co-Founder</span></font></td=
></tr><tr><td style=3D"padding:2.85pt 0cm 0cm"><p class=3D"MsoNormal"><span=
 style=3D"font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(51,51,51)=
">0553 839 2887</span></p></td></tr><tr><td style=3D"padding:2.85pt 0cm 0cm=
"><p class=3D"MsoNormal"><a href=3D"https://malwation.com/" target=3D"_blan=
k"><span style=3D"color:rgb(29,161,219)">www.malwation.com</span></a>=C2=A0=
=C2=A0<span style=3D"font-size:10.5pt;font-family:Arial,sans-serif;color:rg=
b(32,160,180)">=C2=A0</span><span style=3D"font-size:10.5pt;font-family:Ari=
al,sans-serif;color:rgb(51,51,51)"><a href=3D"mailto:kagan.isildak@malwatio=
n.com" target=3D"_blank"><span style=3D"color:rgb(29,161,219)">kagan.isilda=
k@malwation.com</span></a></span></p></td></tr><tr><td style=3D"padding:3.7=
5pt 0cm 0cm"><p class=3D"MsoNormal"><a href=3D"https://twitter.com/gaissecu=
rity" target=3D"_blank"><span style=3D"font-size:12pt;font-family:&quot;Tim=
es New Roman&quot;,serif;color:rgb(149,79,114);border:1pt none windowtext;p=
adding:0cm"></span></a><span style=3D"font-size:12pt;font-family:&quot;Time=
s New Roman&quot;,serif">=C2=A0=C2=A0</span><a href=3D"https://www.linkedin=
.com/company/gais-siber-g%C3%BCvenlik-teknolojileri/" target=3D"_blank"><sp=
an style=3D"font-size:12pt;font-family:&quot;Times New Roman&quot;,serif;co=
lor:rgb(149,79,114);border:1pt none windowtext;padding:0cm"></span></a><spa=
n style=3D"font-size:12pt;font-family:&quot;Times New Roman&quot;,serif">=
=C2=A0=C2=A0</span><span style=3D"font-size:12pt;font-family:&quot;Times Ne=
w Roman&quot;,serif;color:rgb(149,79,114);border:1pt none windowtext;paddin=
g:0cm"></span></p></td></tr></tbody></table></td></tr></tbody></table><p cl=
ass=3D"MsoNormal" style=3D"color:rgb(34,34,34)"><span style=3D"color:black"=
>=C2=A0</span></p><p class=3D"MsoNormal" style=3D"color:rgb(34,34,34)"><spa=
n style=3D"color:black">=C2=A0</span><span lang=3D"EN-US" style=3D"font-siz=
e:8pt">Bu e-posta mesaj=C4=B1 ve eklerinde yer alan i=C3=A7erikler g=C3=B6n=
derildi=C4=9Fi ki=C5=9Fi ya da firmaya =C3=B6zeldir. Ayr=C4=B1ca hukuken de=
 gizli olabilir. Hi=C3=A7bir =C5=9Fekilde =C3=BC=C3=A7=C3=BCnc=C3=BC ki=C5=
=9Filere a=C3=A7=C4=B1klanamaz ve yay=C4=B1nlanamaz. E=C4=9Fer bu mesaj=C4=
=B1 hataen ald=C4=B1ysan=C4=B1z l=C3=BCtfen durumu g=C3=B6nderen ki=C5=9Fiy=
e derhal bildiriniz ve mesaj=C4=B1 sisteminizden siliniz. Mesaj=C4=B1n yetk=
ili al=C4=B1c=C4=B1s=C4=B1 de=C4=9Filseniz hi=C3=A7bir k=C4=B1sm=C4=B1n=C4=
=B1 kopyalayamaz, ba=C5=9Fkas=C4=B1na g=C3=B6nderemez veya hi=C3=A7bir =C5=
=9Fekilde bu mesaj=C4=B1 kullanamazs=C4=B1n=C4=B1z. E=C4=9Fer mesaj=C4=B1n =
yetkili al=C4=B1c=C4=B1s=C4=B1 veya yetkili al=C4=B1c=C4=B1s=C4=B1na iletme=
kten sorumlu ki=C5=9Fi siz de=C4=9Filseniz, l=C3=BCtfen mesaj=C4=B1 sistemi=
nizden siliniz ve g=C3=B6ndereni uyar=C4=B1n=C4=B1z. =C4=B0nternet ileti=C5=
=9Fiminde tam g=C3=BCvenlik ve hatas=C4=B1z g=C3=B6nderim garanti edilemeye=
ce=C4=9Finden; mesaj=C4=B1n yerine ula=C5=9Fmamas=C4=B1, ge=C3=A7 ula=C5=9F=
mas=C4=B1 ya da i=C3=A7eri=C4=9Finin bozulmas=C4=B1 gibi problemler de olu=
=C5=9Fabilir. G=C3=B6nderen ve Malwation (<span style=3D"font-size:10.6667p=
x">Malwation=C2=A0</span>Siber G=C3=BCvenlik Teknolojileri A.=C5=9E.) bu me=
saj=C4=B1n i=C3=A7erdi=C4=9Fi bilgilerin do=C4=9Frulu=C4=9Fu, b=C3=BCt=C3=
=BCnl=C3=BC=C4=9F=C3=BC ve g=C3=BCncelli=C4=9Fi konusunda bir garanti verme=
mektedir. Mesaj=C4=B1n i=C3=A7eri=C4=9Finden, iletilmesinden, al=C4=B1nmas=
=C4=B1ndan, saklanmas=C4=B1ndan, gizlili=C4=9Finin korunmamas=C4=B1ndan, vi=
r=C3=BCs i=C3=A7ermesinden ve sisteminizde yaratabilece=C4=9Fi olas=C4=B1 z=
ararlardan=C2=A0<span style=3D"font-size:10.6667px">Malwation=C2=A0</span>s=
orumlu tutulamaz.</span></p></div></div></div>

--000000000000b8f3d1062fa0c5d5--


From xen-devel-bounces@lists.xenproject.org Wed Mar 05 23:32:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Mar 2025 23:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902954.1310880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tpyEL-0005rM-52; Wed, 05 Mar 2025 23:32:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902954.1310880; Wed, 05 Mar 2025 23:32: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 1tpyEL-0005rF-19; Wed, 05 Mar 2025 23:32:49 +0000
Received: by outflank-mailman (input) for mailman id 902954;
 Wed, 05 Mar 2025 23:32: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=Gbs/=VY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tpyEJ-0005qe-JB
 for xen-devel@lists.xenproject.org; Wed, 05 Mar 2025 23:32:47 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 243929cd-fa1a-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 00:32:46 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 247C85C6C56;
 Wed,  5 Mar 2025 23:30:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D163C4CED1;
 Wed,  5 Mar 2025 23:32: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: 243929cd-fa1a-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741217564;
	bh=rb8BW7RKmfhRYdPI8/3emOzhu+JhecFvm6g4keHCiVk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CdQnB9O0lFyNklC3uhXglKMu/bRdtEpH9sBN2iPT6wvuI8/ur9FcLbXCsB9Ai9uCG
	 6AnmrVDo8Exknl5R9mO4Ldi0Opc/pChPfB0uCuL/2Gf1dTTSGMcMAlEQ0WU3583q6b
	 7SyKp1oBb6yz531JVBJQReeo7iMwxs5xqSTrmZWNU5Frd/YZvwKyodfj0Nchi1f6n/
	 M/atZaXFhOdi/aMJE8LAV8psFkDzA1FQuVqYmUt9h0JHbLY2MIPwWgCfWvfoeVDVNP
	 8uRfJaSyfNG2KAX+AwbrjP+KaZ7EULL9vZH/EJC+j930dlSCw7nBcw6tXfRZZE55iY
	 dvi+89BP1+JRg==
Date: Wed, 5 Mar 2025 15:32:42 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Juergen Gross <jgross@suse.com>
cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
In-Reply-To: <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503051531380.1303386@ubuntu-linux-20-04-desktop>
References: <20250204113407.16839-1-jgross@suse.com> <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com> <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-502919770-1741217565=:1303386"

  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-502919770-1741217565=:1303386
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 5 Mar 2025, Juergen Gross wrote:
> On 25.02.25 12:10, Juergen Gross wrote:
> > Ping? Especially ...
> > 
> > On 04.02.25 12:33, Juergen Gross wrote:
> > > Xenstored is using libxenctrl for only one purpose: to get information
> > > about state of domains.
> > > 
> > > This patch series is removing that dependency by introducing a new
> > > stable interface which can be used by xenstored instead.
> > > 
> > > There was a RFC series sent out 3 years ago, which I have taken as a
> > > base and by addressing all comments from back then.
> > > 
> > > The main differences since that RFC series are:
> > > 
> > > - Instead of introducing an new main hypercall for a stable management
> > > Â Â  interface I have just added a new domctl sub-op, as requested in 2021.
> > > 
> > > - I have added a new library libxenmanage for easy use of the new
> > > Â Â  stable hypervisor interface. Main motivation for adding the library
> > > Â Â  was the recent attempt to decouple oxenstored from the Xen git tree.
> > > Â Â  By using the new library, oxenstored could benefit in the same way as
> > > Â Â  xenstored from the new interface: it would be possible to rely on
> > > Â Â  stable libraries only.
> > > 
> > > - Mini-OS has gained some more config options recently, so it was rather
> > > Â Â  easy to make xenstore[pvh]-stubdom independent from libxenctrl, too.
> > > 
> > > Please note that the last 4 patches can be committed only after the
> > > related Mini-OS patch "config: add support for libxenmanage" has gone in
> > > AND the Mini-OS commit-id has been updated in Config.mk accordingly! The
> > > Mini-OS patch has been Acked already, so it can go in as soon as patch
> > > 5 of this series (the one introducing libxenmanage) has been committed.
> > > 
> > > As patches 1 and 2 change current behavior, Jan didn't want to give his
> > > Ack (he didn't reject the patch either). So I'm asking other "Rest"
> > > maintainers to look at those patches specifically.
> > 
> > ... patches 1 and 2 could need an additional opinion.
> 
> And another ping.
> 
> One of Andrew, Stefano, Julien, Roger, Anthony, Mical: Please have a look.
> 
> The related discussion between Jan and me can be found here (patches 2 and 3):
> 
> https://lore.kernel.org/xen-devel/20250107101711.5980-1-jgross@suse.com/

I didn't do an in-details review but based on Jan's comments and your
replies, I think they are an improvement. If someone else wants to do a
proper review, they would be welcome.

Acked-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-502919770-1741217565=:1303386--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 07:10:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 07:10:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.902993.1310906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq5MZ-0006rX-Pq; Thu, 06 Mar 2025 07:09:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 902993.1310906; Thu, 06 Mar 2025 07:09: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 1tq5MZ-0006rQ-Lo; Thu, 06 Mar 2025 07:09:47 +0000
Received: by outflank-mailman (input) for mailman id 902993;
 Thu, 06 Mar 2025 07:09: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tq5MY-0006rK-04
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 07:09:46 +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 faa88359-fa59-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 08:09:44 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-abf42913e95so43210966b.2
 for <xen-devel@lists.xenproject.org>; Wed, 05 Mar 2025 23:09:44 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2399d850esm45331366b.173.2025.03.05.23.09.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 05 Mar 2025 23:09:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faa88359-fa59-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741244983; x=1741849783; 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=NbQ9DiymrmZGpBANa7X6pG8OHXwWH4G7l1LpOcecpWU=;
        b=d1a/WNz1oF4NJg6JvDQr0rUUgshCy0Z95nsL4c7gfnbgokOKOEsi/ubMXZWP39wWm2
         DRL98yI3TvoNIbd2OVxItePmLs/4mqufciSGgLfuGkAWbyJKZAAsyVuipWI/RII1htQG
         LuuDFwQ9MsuQDmuU2L9MkPbIWb8qz+GmLaXdEjjzjeDIoZ9amEGRStplPGHpCNW+e8Lq
         nY+7qAcjXEruf1LwgAfywefrGREtfcqw7+9ITyW18ldYK0qrNWiHL9VMx3TaMC/ysHfb
         L3bHfF4pJDfIF3XH8XmyOzItoP4KQaR1WCxGroItVquZqC3g7nCi8ijOiItJciJcSpu8
         a0DQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741244983; x=1741849783;
        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=NbQ9DiymrmZGpBANa7X6pG8OHXwWH4G7l1LpOcecpWU=;
        b=sLN38d19LfATDxuerRzpNXAEyrFy1vIE08so/czxPA7A2kL7J6QWsNbW8yhN2PfatA
         4fmsDf2vL5Uh5IzxGJD2vvaZc8y2hL66ES9eO0uyrNixHvSsFdPUeWAcimqKctWkrQc3
         M0Z7pUqUt9AlL7LI69shW4q6+7/cB498ri7elbC+aDKZ7njS0KI7b5y+gf/V6mJDrfSu
         x919OB5S+xn5go/DdFj9YW9xnXXezmyDa3Ub6bAko5W5XmkjGxCcUTuJ3rSArDkxqWEr
         6nfAdnaOe7w9ykTKww0XJtYi5wSOr1gnu+ClT3l9oB+UuXkbpt3zpaijQKKlh2w6Cnwe
         M7jQ==
X-Forwarded-Encrypted: i=1; AJvYcCVD+x6J+A+Y6aOyWQ6jn3pLQpKbT5Od6/t4PcmSpQC19NC2XhyXfp4BtKJ7/Q2+lUAzP63g6vz3SZk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQp4vO83cAJ4Vyj11eI66XmSfj1RCzin/UNexmyYWOz2aSztFm
	mfWnrBDWHXgGBzyUFjlxaf1GVyzNpFBx4/VPvR4suDONrukGlWYXKSAdnp099mI=
X-Gm-Gg: ASbGnctSO5SxGA+mxlo8wRs+4giiK/V6ajA90wQ3hdgJkWWHbSgCMh1048/FIeXrOuu
	+hBywm0jm+WyziWkNE9wQTgd3zon0dMWd3889nez/8OmgzwnFI3KFeKnK8LOlPPaDfvbwrVcPCs
	6L03O0TF5E3YEoxkU+yIG0ndaAv0h1Oeh8ZMd+YbPj+VMyjWewE4WA3La4KTkO7g/FafM4g9Jri
	ASYzwgNX482oXGCknvElsuXsUnlfBvAKIjxzQ1YT4z9AaIkszfOY2fUghRpkv/zNX9d68K+T25S
	Y3xQ/jdSwOoE9PHAvFIaJ7Qup4Nzdw4jAVCgzp090JobMquBKfmFTaiIXmarwS2Hz7aLG9gwGEz
	NmoU8tNJbKYUFcCG72pirZWZezlX/boBR9K+QjTRfyZHFKTpaG2ZMP8/zNPg6lLNH2jo=
X-Google-Smtp-Source: AGHT+IGDLJ25jTSnjtMrAzSMrhQ6KT57R3e6sxhKBHrla1Y9XWb0uxFltLbLxi//TloJn9XMYtCgdg==
X-Received: by 2002:a17:907:7f88:b0:abf:7ec9:fdf4 with SMTP id a640c23a62f3a-ac20d97e5c0mr579785466b.6.1741244983173;
        Wed, 05 Mar 2025 23:09:43 -0800 (PST)
Message-ID: <3f6f680d-3be7-41d8-a599-49521766aa62@suse.com>
Date: Thu, 6 Mar 2025 08:09:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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: <20250305085201.14258-1-jgross@suse.com>
 <499e999a-06d9-4a49-b223-b04bb0c34edb@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: <499e999a-06d9-4a49-b223-b04bb0c34edb@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0usBs2nM9GJGlCXPuj0arfLW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0usBs2nM9GJGlCXPuj0arfLW
Content-Type: multipart/mixed; boundary="------------WHOUOINnYPhgatbZ9U0TmtX4";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>
Message-ID: <3f6f680d-3be7-41d8-a599-49521766aa62@suse.com>
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
References: <20250305085201.14258-1-jgross@suse.com>
 <499e999a-06d9-4a49-b223-b04bb0c34edb@citrix.com>
In-Reply-To: <499e999a-06d9-4a49-b223-b04bb0c34edb@citrix.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=

--------------WHOUOINnYPhgatbZ9U0TmtX4
Content-Type: multipart/mixed; boundary="------------WHQk2d54dvGszvb6h1Q1bkZw"

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

T24gMDUuMDMuMjUgMjM6NTcsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDA1LzAzLzIw
MjUgODo1MiBhbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IFRoZSBkZXNjcmlwdGlvbiBv
ZiB0aGUgWGVuc3RvcmUgSU5UUk9EVUNFIGNvbW1hbmQgaXMgc3RpbGwgcmVmZXJlbmNpbmcN
Cj4+IHhlbmQuIEZpeCB0aGF0Lg0KPj4NCj4+IFdoaWxlIGF0IGl0LCBtYWtlIGNsZWFyIHRo
YXQgdGhlIFhlbnN0b3JlIGltcGxlbWVudGF0aW9uIGlzIGFsbG93ZWQNCj4+IHRvIGlnbm9y
ZSB0aGUgc3BlY2lmaWVkIGdmbiBhbmQgdXNlIHRoZSBYZW5zdG9yZSByZXNlcnZlZCBncmFu
dCBpZA0KPj4gR05UVEFCX1JFU0VSVkVEX1hFTlNUT1JFIGluc3RlYWQuDQo+Pg0KPj4gU2ln
bmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+
PiAgIGRvY3MvbWlzYy94ZW5zdG9yZS50eHQgfCA2ICsrKysrLQ0KPj4gICAxIGZpbGUgY2hh
bmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pg0KPj4gZGlmZiAtLWdp
dCBhL2RvY3MvbWlzYy94ZW5zdG9yZS50eHQgYi9kb2NzL21pc2MveGVuc3RvcmUudHh0DQo+
PiBpbmRleCAzODAxNTgzNWIxLi5kODk0ZDI0ZDExIDEwMDY0NA0KPj4gLS0tIGEvZG9jcy9t
aXNjL3hlbnN0b3JlLnR4dA0KPj4gKysrIGIvZG9jcy9taXNjL3hlbnN0b3JlLnR4dA0KPj4g
QEAgLTI4Niw3ICsyODYsNyBAQCBUUkFOU0FDVElPTl9FTkQJCUZ8DQo+PiAgIElOVFJPRFVD
RQkJPGRvbWlkPnw8Z2ZuPnw8ZXZ0Y2huPnw/DQo+PiAgIAlOb3RpZmllcyB4ZW5zdG9yZWQg
dG8gY29tbXVuaWNhdGUgd2l0aCB0aGlzIGRvbWFpbi4NCj4+ICAgDQo+PiAtCUlOVFJPRFVD
RSBpcyBjdXJyZW50bHkgb25seSB1c2VkIGJ5IHhlbmQgKGR1cmluZyBkb21haW4NCj4+ICsJ
SU5UUk9EVUNFIGlzIGN1cnJlbnRseSBvbmx5IHVzZWQgYnkgeGVuIHRvb2xzIChkdXJpbmcg
ZG9tYWluDQo+PiAgIAlzdGFydHVwIGFuZCB2YXJpb3VzIGZvcm1zIG9mIHJlc3RvcmUgYW5k
IHJlc3VtZSksIGFuZA0KPj4gICAJeGVuc3RvcmVkIHByZXZlbnRzIGl0cyB1c2Ugb3RoZXIg
dGhhbiBieSBkb20wLg0KPj4gICANCj4+IEBAIC0yOTksNiArMjk5LDEwIEBAIElOVFJPRFVD
RQkJPGRvbWlkPnw8Z2ZuPnw8ZXZ0Y2huPnw/DQo+PiAgIAlmb3IgZXhhbXBsZSBwYXNzaW5n
IGEgaGlnaC1iaXQtc2V0IDMyLWJpdCBnZm4gYXMgYW4gdW5zaWduZWQNCj4+ICAgCWRlY2lt
YWwgd2lsbCBhdHRlbXB0IHRvIHVzZSAweDdmZmZmZmZmIGluc3RlYWQgKCEpLg0KPj4gICAN
Cj4+ICsJWGVuc3RvcmVkIG1pZ2h0IGlnbm9yZSB0aGUgPGdmbj4gdmFsdWUgYW5kIHVzZSB0
aGUgcmVzZXJ2ZWQNCj4+ICsJZ3JhbnQgdGFibGUgZW50cnkgR05UVEFCX1JFU0VSVkVEX1hF
TlNUT1JFIGluc3RlYWQgZm9yIG1hcHBpbmcNCj4+ICsJdGhlIFhlbnN0b3JlIGludGVyZmFj
ZSBwYWdlIG9mIHRoZSBndWVzdC4NCj4gDQo+IEknZCBzdWdnZXN0IG1ha2luZyBhIHN0cm9u
Z2VyIHN0YXRlbWVudCB0aGFuIHRoaXMuDQo+IA0KPiAtLS0NCj4gVGhlIDxnZm4+IGZpZWxk
IGlzIHVzZWQgYnkgeGVuc3RvcmVkcyB3aGljaCB1c2UgZm9yZWlnbiBtYXBwaW5nIHRvDQo+
IGFjY2VzcyB0aGUgcmluZyBwYWdlLg0KPiANCj4gQWx0ZXJuYXRpdmVseSwgR3JhbnQgMSAo
R05UVEFCX1JFU0VSVkVEX1hFTlNUT1JFKSBpcyByZXNlcnZlZCBmb3IgdGhlDQo+IHNhbWUg
cHVycG9zZSwgYW5kIGlzIHBvcHVsYXRlZCBieSB0aGUgZG9tYWluIGJ1aWxkZXIgb24gYmVo
YWxmIG9mIHRoZQ0KPiBndWVzdC7CoCBUaGlzIG1lY2hhbmlzbSBpcyBwcmVmZXJyZWQgYmVj
YXVzZSByZWR1Y2VzIHRoZSBwZXJtaXNzaW9ucyB0aGF0DQo+IHhlbnN0b3JlZCBuZWVkcyBp
biBvcmRlciB0byBmdW5jdGlvbi4NCj4gDQo+IEJvdGggPGdmbj4gYW5kIEdyYW50IDEgbmVl
ZCB0byBhZ3JlZSwgYmVjYXVzZSBpbXBsZW1lbnRhdGlvbnMgb2YNCj4geGVuc3RvcmVkIHdp
bGwgdXNlIG9uZSBhbmQgaWdub3JlIHRoZSBvdGhlci4NCg0KRmluZSB3aXRoIG1lLg0KDQoN
Ckp1ZXJnZW4NCg==
--------------WHQk2d54dvGszvb6h1Q1bkZw
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-----

--------------WHQk2d54dvGszvb6h1Q1bkZw--

--------------WHOUOINnYPhgatbZ9U0TmtX4--

--------------0usBs2nM9GJGlCXPuj0arfLW
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/Ey8FAmfJSjYFAwAAAAAACgkQsN6d1ii/Ey/z
gAf/QNUYL5nXC/x2SZ3T8AQCtpaNkNPbiaeFs57mjx6dsH3jYdeN0MSqvFe3b2fGW6yAvnJvomlT
qN02hFYugQgyVcdb55Dk32HYyOMbGFBIiOeFuZd2LODqti+JDgSDYONsEYQq4fH6PoJoUrp/Dc+b
p7LYK8czb8nZH63spCWDJUk+AceLF/W4pwYs7s/9V5Dh2c1RRbw/6YoP/aHtxCnn+CV1oHHlppJU
wqcJXZHMDWDQB60HV8nHi2ocG616DbnqSvS/ZsmMU5cEbx1IuWeYm0TAzsGPXrht0X09ZZ7dRgyl
UpDtathsw5MoJNGuoWQPFydRb5UM9CzAgKxszoIT2g==
=Szpe
-----END PGP SIGNATURE-----

--------------0usBs2nM9GJGlCXPuj0arfLW--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 07:43:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 07:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903006.1310924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq5tA-0003oM-CK; Thu, 06 Mar 2025 07:43:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903006.1310924; Thu, 06 Mar 2025 07:43: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 1tq5tA-0003oF-9G; Thu, 06 Mar 2025 07:43:28 +0000
Received: by outflank-mailman (input) for mailman id 903006;
 Thu, 06 Mar 2025 07:43: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=t507=VZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1tq5t8-0003o9-MI
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 07:43:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af17b7a3-fa5e-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 08:43:24 +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 882AD4EF512A;
 Thu,  6 Mar 2025 08:43:23 +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: af17b7a3-fa5e-11ef-9ab4-95dc52dad729
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=1741247003;
	b=wB2sFPniLCmpqj70pgfCiIpg0Tjr2Y1Jn+vcfKB0lND18nXx4Rf2ShKUZTIs+kI6rXRZ
	 OnWvjTfJT/o7aeqgrhvNbP+x0y8qGz0ZIlUV6xJN19Pez12bzihl9a5IssT43jeBgi0QK
	 OP6Mr5sCZKbjRaaVG95A69OmRGG04vD6eoojj9yeGknfAVloSTsVfCeQqR4JReYypUF/3
	 rD64B8zpxjQv0NBfaB12QEc8UbRSrk1hr/DHGMDddz+rmC9IsdlLzS95GfbNd8FIbZGpp
	 vxOEOTMgq7xzWOkzSUavVHHRUko/7dhYhIuBUWESYSZr3ewlBVwSQuchWmD9PllGBc1cr
	 YXo+H1U0GNtIVG+mLaUIXxYUQGObewZMXUYT4DPb6ni2mYg+KVi9FwSiW7MTnmCSc2ZkU
	 ENiiR/NFKFmAMykievmiG1Cvwm2pxx1lCkr+a6j+mzBjepENzcXBuKy2QJRlY9Zq9+QC1
	 B9jRmEhQqtOumDcYyvA4hZ8TA33PuuRIZU3fllgZCLCnjPC2SQ8sp/DP36uHcMmCrab00
	 mUDx0/LTM1876bc7D25he8ILSa0y1RuZJV8486ndytnaWzoFngxomVoQItsljS1a6AIcY
	 qoltBlb+PBopCj0xMlKW1OzPJyjJWqCtkaEoz4nYZS7WS95MYoLA7+HqQPYpTu8=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1741247003;
	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=CcaqJOPjnFy3yKhiXV1YpeD4tvqdyipHd4a64lZUdIQ=;
	b=Go4eEPm7Q146xjjpWVnptAxLIN4Npv/E4Mio++jvEII7JZDiCpH7bSb+oNBVKOFjlTgB
	 EGDHxzawuf7piJq4ttwG8xxt+ucXhD57OC30Q56bRVKQjfstdu5eiuLOWmQLVAZeE6eI9
	 EmvZwgcFfnUIbfeVNR3Q8SO0WRxpkW3GqkbG30Ns3tiFbmOX0LODmLD30A1lP5aoYCj2A
	 mVgCbFdrTGGBaJyxKvVYSmTCAtqmYrE8pR778qvTug23JbJGoVrJfKXdKlTp4jFQO5OU/
	 EgA7fiUAdMsDI2vY0xGsMSdogtgoWgrf6DIo58cPGOnqc2UyAIsu+4hrDHnfMJOJvG+xl
	 hWvHsbVE9LATzxLCglmACqc2Y13DRKT9/KWraEEr9tkpRfc7LNJA0WB3pgH3P3DUu+5+m
	 fKiYwS23XPudQHjgQweP1FyyyCMknG2+dEi/sImQd4XqUr3Wa9eN+M/ap9r8EkOqLm/Zh
	 6eqHMX3d/fuFSMcrw2k7Sag+6BamQC5TJZQehExe6n41MSdqer5eyM3hvdwxEGRbZ1gms
	 xq5bvPbmyRwKtbCFjTM/NV8qKMJ0L/CKZlR/89vMiaLuNh6uomvzJhEdwslNGgvuwfswm
	 U1/weOqI2Tw6wA2G6LzVsv7rIBCxBSw9SDjaEsypi1htzlJLq2YAmjDTYEmKcTc=
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=1741247003; bh=QCSgnfWjBJBo3Di9c0lbl17h5seljaYuONGD380g1kg=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=vV0lqLaNcUbf8LByo12pbt+WpTJ/WodJPZ+WxwCoJRO36Qf5HCd0ceJERbbXz6H0j
	 OsX7V5sxbqUERlOg2YPaBKJIu5H09h94g4AcfiCRw8AzesAV5JyRcBrMID8++W4v4J
	 AqdiYi1RhBG2UvrMtwRDx8WRRNRKGI/FHDB8gOAq4zFsINUesoeM53GrcQB06T6Jii
	 ySUuQG3V3jjtqZKsXay6+ZjgauG1cjHo70YkcJjqUm+wgK6teLHFbeqXKOJTD4dZgx
	 P2t3kifWc6OUSsNhgS4TbXXZonMiUPa/SRFidiybLwxAuZ9RQih54O8AojtQZ+lZja
	 WfOPKUvBfutNA==
MIME-Version: 1.0
Date: Thu, 06 Mar 2025 08:43:23 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Dario Faggioli <dfaggioli@suse.com>, Meng Xu <mengxu@cis.upenn.edu>, Juergen
 Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 2/3] xen/rt: address violation of MISRA C Rule 8.2
In-Reply-To: <alpine.DEB.2.22.394.2503051524030.1303386@ubuntu-linux-20-04-desktop>
References: <cover.1740476096.git.nicola.vetrini@bugseng.com>
 <e3c6457e50d61daa05fd9c3a7c71b06d912216a0.1740476096.git.nicola.vetrini@bugseng.com>
 <fc6c0113-484d-4eb5-8b66-0ef547d8dbf1@suse.com>
 <alpine.DEB.2.22.394.2503051524030.1303386@ubuntu-linux-20-04-desktop>
Message-ID: <6c932b6a486e43387d3923f39e2f48c7@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-03-06 00:24, Stefano Stabellini wrote:
> On Wed, 5 Mar 2025, Jan Beulich wrote:
>> On 25.02.2025 10:38, Nicola Vetrini wrote:
>> > Rule 8.2 states: "Function types shall be in prototype form with
>> > named parameters".
>> >
>> > The parameter name is missing from the function pointer type
>> > that constitutes the first parameter.
>> >
>> > No functional change.
>> >
>> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>> > Reviewed-by: Juergen Gross <jgross@suse.com>
>> > ---
>> > Changes in v2:
>> > - renamed function parameter name to "elem"
>> > - changed prefix to xen/rt since only that scheduler is touched
>> 
>> Looks like you committed v1 of this, and without a maintainer ack?
> 
> Hi Jan, I took Juergen's comment and his maintainer ack, making the
> change on commit: https://marc.info/?l=xen-devel&m=173978187314898

I think Jan's comment is due to the subject prefix of the commit being 
xen/sched, rather than xen/rt, as I touched only the rt scheduler, but 
that's too late to change.

-- 
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 Mar 06 07:48:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 07:48:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903017.1310933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq5xX-0004Mw-S9; Thu, 06 Mar 2025 07:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903017.1310933; Thu, 06 Mar 2025 07:47: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 1tq5xX-0004Mp-Pb; Thu, 06 Mar 2025 07:47:59 +0000
Received: by outflank-mailman (input) for mailman id 903017;
 Thu, 06 Mar 2025 07:47: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tq5xW-0004Mi-F9
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 07:47:58 +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 51364355-fa5f-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 08:47:56 +0100 (CET)
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 AD0081F385;
 Thu,  6 Mar 2025 07:47:55 +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 5E5F413A61;
 Thu,  6 Mar 2025 07:47:55 +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 fd8eFStTyWf+dAAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 07: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: 51364355-fa5f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741247275; 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=IXajTnQR6rguwzjmxMX4Wjp94Ht5U2Pcz/IXQXqMUu8=;
	b=FF7Les/tnzWnKSZnD5kBac+Z59P2OIaD9j+Az4jc2In4kHQ7t1i7rOEUosDZ0DKbxQ3pdx
	FvvhuoV8X7nbQDwMQPg/3lULgbqHEhrj1UUFInScPZ6XX3Zk8XRiJtHDlKGTSUA/1F656c
	W2i8zupzweTNS6HQlFAogM/wCs4GQhE=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b="FF7Les/t"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741247275; 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=IXajTnQR6rguwzjmxMX4Wjp94Ht5U2Pcz/IXQXqMUu8=;
	b=FF7Les/tnzWnKSZnD5kBac+Z59P2OIaD9j+Az4jc2In4kHQ7t1i7rOEUosDZ0DKbxQ3pdx
	FvvhuoV8X7nbQDwMQPg/3lULgbqHEhrj1UUFInScPZ6XX3Zk8XRiJtHDlKGTSUA/1F656c
	W2i8zupzweTNS6HQlFAogM/wCs4GQhE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] docs: fix INTRODUCE description in xenstore.txt
Date: Thu,  6 Mar 2025 08:47:52 +0100
Message-ID: <20250306074752.13208-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: AD0081F385
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:email,suse.com:dkim,suse.com:mid];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[9];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_TLS_ALL(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

The description of the Xenstore INTRODUCE command is still referencing
xend. Fix that.

The <evtchn> description is starting with a grammatically wrong
sentence. Fix that.

While at it, make clear that the Xenstore implementation is allowed
to ignore the specified gfn and use the Xenstore reserved grant id
GNTTAB_RESERVED_XENSTORE instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- fix <evtchn> description
- reword <gfn> vs. grant usage (Andrew Cooper)
---
 docs/misc/xenstore.txt | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 38015835b1..7e1f031520 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -286,19 +286,32 @@ TRANSACTION_END		F|
 INTRODUCE		<domid>|<gfn>|<evtchn>|?
 	Notifies xenstored to communicate with this domain.
 
-	INTRODUCE is currently only used by xend (during domain
+	INTRODUCE is currently only used by xen tools (during domain
 	startup and various forms of restore and resume), and
 	xenstored prevents its use other than by dom0.
 
 	<domid> must be a real domain id (not 0 and not a special
 	DOMID_... value).  <gfn> must be a page in that domain
-	represented in signed decimal (!).  <evtchn> must be event
-	channel is an unbound event channel in <domid> (likewise in
-	decimal), on which xenstored will call bind_interdomain.
+	represented in signed decimal (!).  <evtchn> is an unbound
+	event channel in <domid> (likewise in decimal), on which
+	xenstored will call bind_interdomain.
+
 	Violations of these rules may result in undefined behaviour;
 	for example passing a high-bit-set 32-bit gfn as an unsigned
 	decimal will attempt to use 0x7fffffff instead (!).
 
+	The <gfn> field is used by xenstoreds which use foreign
+	mapping to access the ring page.
+
+	Alternatively, Grant 1 (GNTTAB_RESERVED_XENSTORE) is reserved
+	for the same purpose, and is populated by the domain builder
+	on behalf of the guest.  This mechanism is preferred because
+	it reduces the permissions that xenstored needs in order to
+	function.
+
+	Both <gfn> and Grant 1 need to agree, because implementations
+	of xenstored will use one and ignore the other.
+
 RELEASE			<domid>|
 	Manually requests that xenstored disconnect from the domain.
 	The event channel is unbound at the xenstored end and the page
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 07:59:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 07:59:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903030.1310947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq68Q-00068I-1L; Thu, 06 Mar 2025 07:59:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903030.1310947; Thu, 06 Mar 2025 07: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 1tq68P-00068B-Tw; Thu, 06 Mar 2025 07:59:13 +0000
Received: by outflank-mailman (input) for mailman id 903030;
 Thu, 06 Mar 2025 07:59: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=Z0IF=VZ=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tq68N-000685-Mr
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 07:59:12 +0000
Received: from mail-40134.protonmail.ch (mail-40134.protonmail.ch
 [185.70.40.134]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1b8d48f-fa60-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 08:59:08 +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: e1b8d48f-fa60-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741247947; x=1741507147;
	bh=JiXrOHVdDFpvEtsfG+zt4dfPzbfq+y2kvoJl/4c7rw8=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=RtjcVOtTOcobCNS3DToIfE6zarKvq/DYP3nZyx7/i5nJvjhksy9c8q7LsU9RaRSqz
	 SHEPMZNrBQcm6pZvg/N00aM1k3RYlxaAMC0V6Wx2rd87LQvc91eGZOFaZHriECuX1P
	 Phd588oTdJQNwyH7R7R3jvjUDhQrJnsv3grnjiV8OuGEjBCC7qjLBgw7Dh4+INoCGt
	 IvwEw1OFWuQmnsqHKS0oHm+kw2ytpPACrB4yn54EOo5lEwkxAi6FNmZ3mSIbd+ChpV
	 Ao6WOKB232/1WpzySDf3K1A6udxksSzjXYrWFPiDWCQyyBleboL9s61CCAjegwlGJO
	 iec9rVuTsSvww==
Date: Thu, 06 Mar 2025 07:59:01 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v5] xen/consoled: clean up console handling for PV shim
Message-ID: <20250306075819.154361-1-dmkhn@proton.me>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 5f38d5939de8548be7cf36abb854dee73569005d
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

There are few places which check pv_shim console under CONFIG_PV_SHIM or
CONFIG_X86 in xen console driver.

Instead of inconsistent #ifdef-ing, introduce and use consoled_is_enabled()=
 in
switch_serial_input() and __serial_rx().

PV shim case is fixed in __serial_rx() - should be under 'pv_shim &&
pv_console' check.

Signature of consoled_guest_{rx,tx} has changed so the errors can be logged
on the callsites.

Also, move get_initial_domain_id() to arch-independent header since it is n=
ow
required by console driver.

Lastly, add missing SPDX-License-Identifier to xen/consoled.h

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes v4->v5:
- Dropped consoled_guest_tx() stub under !CONFIG_PV_SHIM case
- Link to CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines=
/1702411426
---
 xen/arch/x86/include/asm/pv/shim.h |  5 +++--
 xen/arch/x86/pv/shim.c             |  8 ++------
 xen/common/domain.c                |  9 +++++++++
 xen/drivers/char/console.c         | 15 ++++++---------
 xen/drivers/char/consoled.c        | 17 +++++++++++++----
 xen/include/xen/consoled.h         | 15 +++++++++++++--
 xen/include/xen/domain.h           |  2 ++
 7 files changed, 48 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/include/asm/pv/shim.h b/xen/arch/x86/include/asm/=
pv/shim.h
index 6153e27005..27053d4f6f 100644
--- a/xen/arch/x86/include/asm/pv/shim.h
+++ b/xen/arch/x86/include/asm/pv/shim.h
@@ -31,7 +31,7 @@ long cf_check pv_shim_cpu_up(void *data);
 long cf_check pv_shim_cpu_down(void *data);
 void pv_shim_online_memory(unsigned int nr, unsigned int order);
 void pv_shim_offline_memory(unsigned int nr, unsigned int order);
-domid_t get_initial_domain_id(void);
+domid_t pv_shim_get_initial_domain_id(void);
 uint64_t pv_shim_mem(uint64_t avail);
 void pv_shim_fixup_e820(void);
 const struct platform_bad_page *pv_shim_reserved_pages(unsigned int *size)=
;
@@ -76,8 +76,9 @@ static inline void pv_shim_offline_memory(unsigned int nr=
, unsigned int order)
 {
     ASSERT_UNREACHABLE();
 }
-static inline domid_t get_initial_domain_id(void)
+static inline domid_t pv_shim_get_initial_domain_id(void)
 {
+    ASSERT_UNREACHABLE();
     return 0;
 }
 static inline uint64_t pv_shim_mem(uint64_t avail)
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index 81e4a0516d..c506cc0bec 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -603,8 +603,7 @@ long pv_shim_event_channel_op(int cmd, XEN_GUEST_HANDLE=
_PARAM(void) arg)
=20
         if ( pv_console && send.port =3D=3D pv_console_evtchn() )
         {
-            consoled_guest_rx();
-            rc =3D 0;
+            rc =3D consoled_guest_rx();
         }
         else
             rc =3D xen_hypercall_event_channel_op(EVTCHNOP_send, &send);
@@ -1016,13 +1015,10 @@ void pv_shim_offline_memory(unsigned int nr, unsign=
ed int order)
     }
 }
=20
-domid_t get_initial_domain_id(void)
+domid_t pv_shim_get_initial_domain_id(void)
 {
     uint32_t eax, ebx, ecx, edx;
=20
-    if ( !pv_shim )
-        return 0;
-
     cpuid(xen_cpuid_base + 4, &eax, &ebx, &ecx, &edx);
=20
     return (eax & XEN_HVM_CPUID_DOMID_PRESENT) ? ecx : 1;
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0c4cc77111..163663a051 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -2259,6 +2259,15 @@ int continue_hypercall_on_cpu(
     return 0;
 }
=20
+domid_t get_initial_domain_id(void)
+{
+#ifdef CONFIG_X86
+    if ( pv_shim )
+        return pv_shim_get_initial_domain_id();
+#endif
+    return hardware_domid;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 2f028c5d44..ba428199d2 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -32,9 +32,9 @@
 #include <xen/pv_console.h>
 #include <asm/setup.h>
 #include <xen/sections.h>
+#include <xen/consoled.h>
=20
 #ifdef CONFIG_X86
-#include <xen/consoled.h>
 #include <asm/guest.h>
 #endif
 #ifdef CONFIG_SBSA_VUART_CONSOLE
@@ -507,11 +507,9 @@ static void switch_serial_input(void)
             break;
         }
=20
-#ifdef CONFIG_PV_SHIM
-        if ( next_rx =3D=3D 1 )
+        if ( consoled_is_enabled() && next_rx =3D=3D 1 )
             domid =3D get_initial_domain_id();
         else
-#endif
             domid =3D next_rx - 1;
         d =3D rcu_lock_domain_by_id(domid);
         if ( d )
@@ -562,16 +560,15 @@ static void __serial_rx(char c)
         rc =3D vpl011_rx_char_xen(d, c);
 #endif
=20
+    if ( consoled_is_enabled() )
+        /* Deliver input to the PV shim console. */
+        rc =3D consoled_guest_tx(c);
+
     if ( rc )
         guest_printk(d,
                      XENLOG_WARNING "failed to process console input: %d\n=
",
                      rc);
=20
-#ifdef CONFIG_X86
-    if ( pv_shim && pv_console )
-        consoled_guest_tx(c);
-#endif
-
     console_put_domain(d);
 }
=20
diff --git a/xen/drivers/char/consoled.c b/xen/drivers/char/consoled.c
index b415b632ce..8704ec251e 100644
--- a/xen/drivers/char/consoled.c
+++ b/xen/drivers/char/consoled.c
@@ -43,13 +43,13 @@ struct xencons_interface *consoled_get_ring_addr(void)
 static char buf[BUF_SZ + 1];
=20
 /* Receives characters from a domain's PV console */
-void consoled_guest_rx(void)
+int consoled_guest_rx(void)
 {
     size_t idx =3D 0;
     XENCONS_RING_IDX cons, prod;
=20
     if ( !cons_ring )
-        return;
+        return -ENODEV;
=20
     spin_lock(&rx_lock);
=20
@@ -91,15 +91,17 @@ void consoled_guest_rx(void)
=20
  out:
     spin_unlock(&rx_lock);
+
+    return 0;
 }
=20
 /* Sends a character into a domain's PV console */
-void consoled_guest_tx(char c)
+int consoled_guest_tx(char c)
 {
     XENCONS_RING_IDX cons, prod;
=20
     if ( !cons_ring )
-        return;
+        return -ENODEV;
=20
     cons =3D ACCESS_ONCE(cons_ring->in_cons);
     prod =3D cons_ring->in_prod;
@@ -125,6 +127,13 @@ void consoled_guest_tx(char c)
  notify:
     /* Always notify the guest: prevents receive path from getting stuck. =
*/
     pv_shim_inject_evtchn(pv_console_evtchn());
+
+    return 0;
+}
+
+bool consoled_is_enabled(void)
+{
+    return pv_shim && pv_console;
 }
=20
 /*
diff --git a/xen/include/xen/consoled.h b/xen/include/xen/consoled.h
index bd7ab6329e..195b9a6c23 100644
--- a/xen/include/xen/consoled.h
+++ b/xen/include/xen/consoled.h
@@ -1,12 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef __XEN_CONSOLED_H__
 #define __XEN_CONSOLED_H__
=20
 #include <public/io/console.h>
=20
+int consoled_guest_tx(char c);
+
+#ifdef CONFIG_PV_SHIM
+
 void consoled_set_ring_addr(struct xencons_interface *ring);
 struct xencons_interface *consoled_get_ring_addr(void);
-void consoled_guest_rx(void);
-void consoled_guest_tx(char c);
+int consoled_guest_rx(void);
+bool consoled_is_enabled(void);
+
+#else
+
+#define consoled_is_enabled()   (false)
+
+#endif /* CONFIG_PV_SHIM */
=20
 #endif /* __XEN_CONSOLED_H__ */
 /*
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 3de5635291..83069de501 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -35,6 +35,8 @@ void getdomaininfo(struct domain *d, struct xen_domctl_ge=
tdomaininfo *info);
 void arch_get_domain_info(const struct domain *d,
                           struct xen_domctl_getdomaininfo *info);
=20
+domid_t get_initial_domain_id(void);
+
 /* CDF_* constant. Internal flags for domain creation. */
 /* Is this a privileged domain? */
 #define CDF_privileged           (1U << 0)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:05:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903042.1310957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6E9-0008EJ-NZ; Thu, 06 Mar 2025 08:05:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903042.1310957; Thu, 06 Mar 2025 08: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 1tq6E9-0008EC-Ks; Thu, 06 Mar 2025 08:05:09 +0000
Received: by outflank-mailman (input) for mailman id 903042;
 Thu, 06 Mar 2025 08:05: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=Z0IF=VZ=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tq6E8-0008E6-5Y
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:05:08 +0000
Received: from mail-10630.protonmail.ch (mail-10630.protonmail.ch
 [79.135.106.30]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b74ef109-fa61-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:05:06 +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: b74ef109-fa61-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741248305; x=1741507505;
	bh=4Ez26kVAu7/8IYnKCvdVsFVzLzouYCgFENTvWnYTR3I=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=O83Cg9w2i37+c/W3eECU7iERp5V10loBfTQwECRR7X8ciy88J0jW50P3EZ7qpU3CI
	 MdU0O4ke64BR+u/S8JpjJk2H6wuNlGoXPMyN72emU/eGsCi0fU32d4W7el6RonoiXG
	 uMqfS9K/7+st4uMI0OIZVuzPnToQe7mVYfRavryJgSGhyYxsjuIxh3tfqH4py4cMuQ
	 cm43hlConsVFhsDVpM10SyrSpMg3n28ss9u8YGgHMvrhWRTV7gdEqCaBICLmhc3Ar2
	 5wkdsPH4OZiu57Q4lm2FWY3Wa3CyZYyzkzSX14QEjHxdPUcYhORLWQ8cddS2aJMHRQ
	 kR/iaXONjk9fA==
Date: Thu, 06 Mar 2025 08:05:01 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v3] xen/console: make console buffer size configurable
Message-ID: <20250306080428.155039-1-dmkhn@proton.me>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 469511223ac0582c1b88a316520622531da5bca4
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Add new CONRING_SHIFT Kconfig parameter to specify the boot console buffer =
size
as a power of 2.

The supported range is [14..27] -> [16KiB..128MiB].

Set default to 15 (32 KiB).

Link: https://gitlab.com/xen-project/xen/-/issues/185
Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes v2->v3:
- Corrected xen-command-line.pandoc and Kconfig setting descriptions
- Corrected _CONRING_SIZE definition
---
 docs/misc/xen-command-line.pandoc |  5 +++--
 xen/drivers/char/Kconfig          | 24 ++++++++++++++++++++++++
 xen/drivers/char/console.c        |  6 +++---
 3 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line=
.pandoc
index 89db6e83be..a471a9f7ce 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -425,10 +425,11 @@ The following are examples of correct specifications:
 ### conring_size
 > `=3D <size>`
=20
-> Default: `conring_size=3D16k`
-
 Specify the size of the console ring buffer.
=20
+The default console ring buffer size is selected at build time via
+CONFIG_CONRING_SHIFT setting.
+
 ### console
 > `=3D List of [ vga | com1[H,L] | com2[H,L] | pv | dbgp | ehci | xhci | n=
one ]`
=20
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index e6e12bb413..e238d4eccf 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -96,6 +96,30 @@ config SERIAL_TX_BUFSIZE
=20
 =09  Default value is 32768 (32KiB).
=20
+config CONRING_SHIFT
+=09int "Console ring buffer size (power of 2)"
+=09range 14 27
+=09default 15
+=09help
+=09  Select the boot console ring buffer size as a power of 2.
+=09  Run-time console ring buffer size is the same as the boot console rin=
g
+=09  buffer size, unless overridden via 'conring_size=3D' boot parameter.
+
+=09    27 =3D> 128 MiB
+=09    26 =3D>  64 MiB
+=09    25 =3D>  32 MiB
+=09    24 =3D>  16 MiB
+=09    23 =3D>   8 MiB
+=09    22 =3D>   4 MiB
+=09    21 =3D>   2 MiB
+=09    20 =3D>   1 MiB
+=09    19 =3D> 512 KiB
+=09    18 =3D> 256 KiB
+=09    17 =3D> 128 KiB
+=09    16 =3D>  64 KiB
+=09    15 =3D>  32 KiB (default)
+=09    14 =3D>  16 KiB
+
 config XHCI
 =09bool "XHCI DbC UART driver"
 =09depends on X86
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index ba428199d2..78794b74e9 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -101,12 +101,12 @@ static int cf_check parse_console_timestamps(const ch=
ar *s);
 custom_runtime_param("console_timestamps", parse_console_timestamps,
                      con_timestamp_mode_upd);
=20
-/* conring_size: allows a large console ring than default (16kB). */
+/* conring_size: override build-time CONFIG_CONRING_SHIFT setting. */
 static uint32_t __initdata opt_conring_size;
 size_param("conring_size", opt_conring_size);
=20
-#define _CONRING_SIZE 16384
-#define CONRING_IDX_MASK(i) ((i)&(conring_size-1))
+#define _CONRING_SIZE       (1U << CONFIG_CONRING_SHIFT)
+#define CONRING_IDX_MASK(i) ((i) & (conring_size - 1))
 static char __initdata _conring[_CONRING_SIZE];
 static char *__read_mostly conring =3D _conring;
 static uint32_t __read_mostly conring_size =3D _CONRING_SIZE;
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:06:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:06:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903050.1310967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6Ft-0000Lf-1X; Thu, 06 Mar 2025 08:06:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903050.1310967; Thu, 06 Mar 2025 08:06: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 1tq6Fs-0000LY-VB; Thu, 06 Mar 2025 08:06:56 +0000
Received: by outflank-mailman (input) for mailman id 903050;
 Thu, 06 Mar 2025 08:06: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=Z0IF=VZ=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tq6Fs-0000LL-08
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:06:56 +0000
Received: from mail-10628.protonmail.ch (mail-10628.protonmail.ch
 [79.135.106.28]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7d8be80-fa61-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:06:55 +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: f7d8be80-fa61-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741248413; x=1741507613;
	bh=S9+aKkGwI1xE6fWUB0TfKb0GAIynm5ainy5nk8WfcGE=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=fPDVIcNhAqE8gYMT7PqInji6SDO1VNyJ+ufMMlS+Fzol61AUfbLk8UrpW+foZgTIE
	 6YFTub0kT7HPVTCFP9wABCT5HsNbLHX556a8X0I65kTGb1F9XQg/IKiv7a1PJZ4a4M
	 6zBfqv2FJ5R/GNyTQB1V8/prFJt1f7iPC1TDmXtI9IxVd5WcnuK2Wpm34m5gB6dYeZ
	 3Z/xgiB6M9Q+gWBDHUDukL4V6nNXFxXr2JDlVtJZcTaIyoj3JtoEjqvDiILtD0+1FP
	 Xzp+PRqMCbwozfW1lyNsrMXWsgUMvulCRee2qPjaMUtfGpV+EcNA2a6blSQzSW4M+B
	 ruLY9ORoKvc/w==
Date: Thu, 06 Mar 2025 08:06:49 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] xen/console: make console buffer size configurable
Message-ID: <JKLR-0vYyJ4aUTK0prfWZpfVoWk2BF1j1mJ7yO5dc0xQHNimlel_uxrvJoNGtZWyfgA02tedQp8RCfBMOrgfSmyVzj1XS1eD5zaqMr_fdos=@proton.me>
In-Reply-To: <acb0fd5d-0315-4a5a-9974-14556e497a03@suse.com>
References: <20250305011127.4079670-1-dmukhin@ford.com> <acb0fd5d-0315-4a5a-9974-14556e497a03@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: d0586870d91b2310fbbf85f3aa8e49de68e8c84d
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wednesday, March 5th, 2025 at 8:42 AM, Jan Beulich <jbeulich@suse.com> w=
rote:

>=20
>=20
> On 05.03.2025 02:12, dmkhn@proton.me wrote:
>=20
> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -425,10 +425,13 @@ The following are examples of correct specificati=
ons:
> > ### conring_size
> >=20
> > > `=3D <size>`
> >=20
> > -> Default: `conring_size=3D16k`
> > +> Default: `conring_size=3D32k`
> >=20
> > Specify the size of the console ring buffer.
> >=20
> > +The console ring buffer size can be selected at build time via
> > +CONFIG_CONRING_SHIFT.
>=20
>=20
> And hence, if a value other than 32 is used there, the default above is
> going to be wrong. IOW it is only the compile time default which is 32k.
> The run-time default (which is what matters in Default: above) is itself
> configurable, and hence wants documenting that way.
>=20
> > --- a/xen/drivers/char/Kconfig
> > +++ b/xen/drivers/char/Kconfig
> > @@ -96,6 +96,33 @@ config SERIAL_TX_BUFSIZE
> >=20
> > Default value is 32768 (32KiB).
> >=20
> > +config CONRING_SHIFT
> > + int "Console buffer size (power of 2)"
>=20
>=20
> Would you mind adding the word "ring" here?
>=20
> > + range 14 27
> > + default 15
> > + help
> > + Select the boot console buffer size as a power of 2.
> > + Run-time console buffer size is the same as the boot console size,
> > + unless overridden via 'conring_size=3D' boot parameter.
> > +
> > + Default value is 15 (32KiB).
> > +
> > + Examples:
> > + 27 =3D> 128 MiB
> > + 26 =3D> 64 MiB
> > + 25 =3D> 32 MiB
> > + 24 =3D> 16 MiB
> > + 23 =3D> 8 MiB
> > + 22 =3D> 4 MiB
> > + 21 =3D> 2 MiB
> > + 20 =3D> 1 MiB
> > + 19 =3D> 512 KiB
> > + 18 =3D> 256 KiB
> > + 17 =3D> 128 KiB
> > + 16 =3D> 64 KiB
> > + 15 =3D> 32 KiB
> > + 14 =3D> 16 KiB
>=20
>=20
> I don't think an exhaustive list is necessary here. This way it's not rea=
lly
> a set of examples, but an enumeration of all possible values.

I decided to keep the exhaustive list so it is a bit easier to do setting
selection.

>=20
> > --- a/xen/drivers/char/console.c
> > +++ b/xen/drivers/char/console.c
> > @@ -101,12 +101,12 @@ static int cf_check parse_console_timestamps(cons=
t char *s);
> > custom_runtime_param("console_timestamps", parse_console_timestamps,
> > con_timestamp_mode_upd);
> >=20
> > -/* conring_size: allows a large console ring than default (16kB). /
> > +/ conring_size: override build-time CONFIG_CONRING_SHIFT setting. */
> > static uint32_t __initdata opt_conring_size;
> > size_param("conring_size", opt_conring_size);
> >=20
> > -#define _CONRING_SIZE 16384
> > -#define CONRING_IDX_MASK(i) ((i)&(conring_size-1))
> > +#define _CONRING_SIZE (1UL << CONFIG_CONRING_SHIFT)
>=20
>=20
> Imo this ought to be 1U only, seeing ...
>=20
> > +#define CONRING_IDX_MASK(i) ((i) & (conring_size - 1))
> > static char __initdata _conring[_CONRING_SIZE];
> > static char *__read_mostly conring =3D _conring;
> > static uint32_t __read_mostly conring_size =3D _CONRING_SIZE;
>=20
>=20
> ... this use of the constant.
>=20
> Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:11:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903060.1310977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6Jp-0001sv-Hd; Thu, 06 Mar 2025 08:11:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903060.1310977; Thu, 06 Mar 2025 08: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 1tq6Jp-0001so-E0; Thu, 06 Mar 2025 08:11:01 +0000
Received: by outflank-mailman (input) for mailman id 903060;
 Thu, 06 Mar 2025 08:10: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=bWNN=VZ=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tq6Jn-0001sg-GF
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:10:59 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2614::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86747253-fa62-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:10:54 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DBBPR03MB6874.eurprd03.prod.outlook.com
 (2603:10a6:10:1f4::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 08:10:51 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8489.025; Thu, 6 Mar 2025
 08:10: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: 86747253-fa62-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UquG9Pk94P1xTxnGEE165xO4m32LeUYajF6DfmqLIYVQzmpiCOVZJkfziUbjMKRfhesrqxWbKIM4jArOMD6aNVmq1OntUhfjenAq8bDM7MVjJNsuhDYD1kGCrQWcxom/7v6dstvUTL8EVYxGmF8eP7ci6HBC4UDUU9lNy8qVrrBCnEDD4RxIuUYwo4atwAYRbDv6j/BMKGjU7hR+BYX7SPxIIa6y3eg3FIMLfOSn5EBkCWZEHTbCCkMOyujyFgtYHFbn6439QEZffVMgCVzCg5GZ+cagBOldoq1w4vPnnn4NnvW3QNk3qIyU8+DOUweyZzq/jXmqx8LQMx9m8Z/iYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bVMiPmngu3IyrHcB/w5k6DACR3bShn+wAjZL+KGN7Lc=;
 b=KSCcI0LfNPDq2YjdZjnWn9hTfeigKIdgAvANkGgEfE9Bj2xnFkUtb11DprYJLrDyufs6iGNatpFWJYZNRegynW9uP2B5sY6BaVRW7dUzsgk++asBuN06VpoI2iodU863MVU3dUgUCnN3j7x7Duh9htc0wWI0BNAbDhk2Hzdeyq4lyUhRHCxRFUlNVhIWUmC3CrIl817dKeP2XrwC8VanWm46Q2dGTH0GqIDI28mIdMvR5XMt/0b97zxUKKo6XlkPVDZa1Sc7SUyvxSIzBcSYiW0pelT351qNlaF53sutIrOszbkA3kaXPDseMnAwU31DFM/tT1e/1/BjY29zn4LbjQ==
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=bVMiPmngu3IyrHcB/w5k6DACR3bShn+wAjZL+KGN7Lc=;
 b=cpqVMxa1rIAcx7b4oR4eQ8jVD1SiQlh8f9yIFTEgsSk69yQw5Ntw4K1FobqbfsPFAhsrTV2kzxm+FEfUM/ZbwAC2l36tLuXk8yoshGlEIEk1+kZMe0cnspYUTA/RP1giNqgKppHOt3+2E6Hc7fMJmmt5dv23deodHVPrqCa7IwlILzgCmS4OY/Xws3mg8Ohv6UxOiRMDLpgixC/H6TquLFOvMkvURPveBM+9wuCyKqa9RZEV3bhP07bjU4CYv54aNU48upGYtBTowIFAz+fpbmpCoBVnZroLRny4Jg9el8mp79yJ3vYUB8QRmLUi2gg3VQZuXRWLeFLEUef9teXOyg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.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 0/7] Add support for R-Car Gen4 PCI host controller
Thread-Topic: [PATCH 0/7] Add support for R-Car Gen4 PCI host controller
Thread-Index: AQHbhp0NQBdW76R7SUWOEr9t9KgJjLNlI3wAgACt1QA=
Date: Thu, 6 Mar 2025 08:10:51 +0000
Message-ID: <84bd9259-c326-4c41-b5c5-e26c185b4905@epam.com>
References: <cover.1740382735.git.mykyta_poturai@epam.com>
 <alpine.DEB.2.22.394.2503051346270.1303386@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2503051346270.1303386@ubuntu-linux-20-04-desktop>
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_|DBBPR03MB6874:EE_
x-ms-office365-filtering-correlation-id: 294b542c-9d9c-42aa-908e-08dd5c866903
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?SXZIQS9HSW1Kelh0UVRBczVENEFKeXZ5TkFtK0ppQjlOZnNROEJVOExLYVBZ?=
 =?utf-8?B?aDZhbytWendkU0JZN0pLNmFLZ1MrTHVsb3FCQUluYUNpOW5mcVVRRzFXQ2c0?=
 =?utf-8?B?YTdOekFNalh1bVBqZmp3Y292ekMrc2FxaWM5QXcrcXliRFJUa1kwaUFjNVI1?=
 =?utf-8?B?aXo4TDFwRVY4Q0RsWGxhS1dOLzdVZFJ3a1Nxbm9JZ001UXN4ZC9rMURFL3dE?=
 =?utf-8?B?QkRNODhBeU1tbXVGa2htRVMrMUVHTGJ6RkJjb3poOFczLzE3djdkc1g3WHZK?=
 =?utf-8?B?RFpCMWpGaTVJL2N3Y2VpbHRZYVRFeVp2NDJTYmU4d3JJK1ZCSlBFTEZwRHE0?=
 =?utf-8?B?STI5OGxyYlpZNExkY2E0cVhHUEJ0c3RONzM2MzU0OXgyRWZaZzFPaFZKeFo2?=
 =?utf-8?B?VW10WXFNZ0tvRSthL1FUMzRPWldLdWVuUkFPNDJBdDVyRkJFZExENGMxQ0lZ?=
 =?utf-8?B?QWZ1SWdva3NKZS9zbUwzYXhacEl0UnZjZ0thd1QzQzFWK1ViTDcvaFVuaWdC?=
 =?utf-8?B?dnk1N2FRUnBXbisrRWFrMi9UVlJwaU5lcTBDOFVrQldmTCtucjdRNEtPZDlv?=
 =?utf-8?B?aUtkK1BGL2VmWVN0MnMreVZxUUF4akdsQjljS0hXNldaamRSL0hsQ0pFTnBD?=
 =?utf-8?B?cWJYdVRhRTB4QTYyeTZyb1IweHVzUmZFbkdCUjBBdE5nNWorN2Y1L3h0R1NH?=
 =?utf-8?B?ckwwVTZGazExczRoczgrVWIwU1BCRXFNUlorRjF6b1JXWjVQbXgwZmxGSU5V?=
 =?utf-8?B?ZTlkUWFlZFQweVdlaEJiWXJSYjBpTVZBclU4KzE3T0pVdnF3eWJ6UGd0dTFv?=
 =?utf-8?B?VnhiM3dFeUQrcGZmVExML2lVOEhOWUduZjJXTlNYbnF3dU9QOWJTZXAwdC9B?=
 =?utf-8?B?d0FadktISHVBTUJCbjF5b21zTG9TaXQxcElkRVlldTh4RWh6NGNjNHlvRnlP?=
 =?utf-8?B?NVQ2Q240RXVRWjhUMmF3TGZzYldsK1p5bVZscm1qTmdQd0RXcXcyRjV5cWhM?=
 =?utf-8?B?QldjUkx4d0F4NEVKM3NCanF4LytBMTdTTkdHK1ZmQ0pqSU14Wi9JVy9sYnho?=
 =?utf-8?B?aE96UXB6SzlGTE5JcHRDUndGVFBOYWcrMWhCd3NqMDh6N1p3RDB5OC9WbXNW?=
 =?utf-8?B?S3JwVDQrY1J3OEtFeS84WlJTTDAvbytHTzVKTklnSWVsK3BDKzF1ZE1vM00v?=
 =?utf-8?B?ZGpuMjdzcE5SaHliY2grUEV5dDdJdHFRanN5YkdRVFFCR0oxSjlrNHByVHZm?=
 =?utf-8?B?cnVaL0x0aUFVR2RTSFVaTnFtcXZxL1hHayt0cjdxK29nVldRWFIrcGp6TTZH?=
 =?utf-8?B?UVhUdWpzZXQ3dHNoOGVwQ0dZQ3A1S3owUFJxU0Irc09VbUV6U2Q1RFB2OFpF?=
 =?utf-8?B?NmJJREVLWllWOGNlZUVxMFA2eWVKemxyL0ROeWpFK1NYWmlvZWNZd3FlblRi?=
 =?utf-8?B?dnlkeG1SL3g1ZHRkSXlTYWxWQVBieUppMjBaZDFPajZJTkNuQXlPQUNsUnZa?=
 =?utf-8?B?QXFSWmhYVGo2ZG1qc1V2UklzMFJvem5nOGNabWhwU2p5ZnVySnJjeTZISFdR?=
 =?utf-8?B?VXFFekN2TU1JcFVGSFR0MVFMMEd2ZTFnVWFnOGwxQ05YQ1JuQnhHZzJjM2JE?=
 =?utf-8?B?TEgrbWxQUmJxT1FHYlpLV1RnMm1zdlV0Uzd5NnhWSE04VUl3VmwvWFVGMEV4?=
 =?utf-8?B?YjhBSnE5by9PajFPSy9YdEZXZ3MwMTJRRnlwUVVNcmtaR3d1TSs0M1RrVGFu?=
 =?utf-8?B?alZMdm8wNHlNWGhWTDdRWlZKNTNMSDFQYklCT1R4Vm5GQjNMeSsxSzZvVlRv?=
 =?utf-8?B?ajJDUEtwSCtkOGt1c1VGTEg1UERLOUIvcEtiL01rSTdOVlJHWkZtZzh2OTJD?=
 =?utf-8?B?WWcyQlFpYTdPQkQ5aVk1WVRBeTJqc2g1M2lRRUdUOW1LWHNRVENOS1NpNVA3?=
 =?utf-8?Q?0HBR/n8SglavdK+qtH7MKtLeZosVMFPB?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cHFUQWt6NTNGMGFwUERCbFNDVzExZXl5N09ZZUFTSGFuRkZncE9qWStab3Qr?=
 =?utf-8?B?d0ZwZ2ZBYmxSd2VRMHNreExhU1ZWWDNPcm9YeklYVlp0SjNCMmtab2Y3aWth?=
 =?utf-8?B?QU9kOC9lakRzTmU5NXFkTlFUTW9HekxRMXpFZTl0VDloZWhDT2k2MjM2eUI5?=
 =?utf-8?B?bG9VWUtMeCt0d04rZGRmYTEvL2lVcVFldHJEMXF2bUVwNi82YWczdDZpZlVJ?=
 =?utf-8?B?a2YwaGZmRjhqeWdYVmd5NlEvYmdNb2NjeEFRSzcvQ2FlVllsODVLbXp4amMz?=
 =?utf-8?B?VW5ueUM0S0Y3Nmd6S2EzaitpRWZTd0VUUWxRNWl6cGs4SlhuVnUvVW5BUzkz?=
 =?utf-8?B?RzRxWUQ5dkQ2WG5IRk80cWJTVDBWS2JKaHlCdzdnNTE3UnhrdzArR3lsR1cw?=
 =?utf-8?B?TzFELzMwQkkwR0VHdHJpNlFyU1hrMG12U21zTFlFaDNMWnpKRTd4d0g3UklM?=
 =?utf-8?B?MzBXQlhZbzZZV083WEFUYThTaW5yeUlMMzdoaGcxVmJITXJPbnc5dndUa2Ur?=
 =?utf-8?B?UDRib0R1YnVvaDVKdWtlbmxxdS9WeGtxWnBtcWgrYnZSdm92NHkwbDVSK0Mz?=
 =?utf-8?B?TUpWYXZaUVBiSHI3VkEvTG1SOXJsbGtraUhNVExsdnh1Y3BycXhwZ2I1eUNh?=
 =?utf-8?B?YkowRzhzczVqRE9xQkFnaGM3Unh4K3NlNXdBYm5OT3B0V3M3OE5aUUF3RlVq?=
 =?utf-8?B?azNpbmoyL0tiNFZJb1puOTlMTWRxRnZtT1dwdVg1RWh1YWtYZ0tuMkNnNUVm?=
 =?utf-8?B?UTJNc1E1ZGJVdTZUQlVWV3g1Ky9ObTJEeE9RTDlzNWJyMWM5by9xd3ZOZDYw?=
 =?utf-8?B?aGJNaG85UWR3dHErTCtaOXRubjRBUW54K1dYd3BWRExVR3JRNjYySEhPbGhB?=
 =?utf-8?B?RzEyVlNhbzJZRE5WaHlVQ1JRS0R4c3gvaFlwL1ZCMWxNMUczZllGZ1BjL1JS?=
 =?utf-8?B?Q1laQ1JzWmptZ0ptMjdPVUtsb1A5bXNsRWljT1cyWlRhNEpLVFd2QTdVQkZV?=
 =?utf-8?B?SWM0UzZ5dGxCWklHNnAvcmlTOFdMaVJHOStvOEU1UCtTYTg0M3V1NkczMEw3?=
 =?utf-8?B?OGpieGJXVS9HdSt5SmNGbGtEWmovaitnWUdoRFRZR3pRT0pIelhJYUxuU2ll?=
 =?utf-8?B?RjA2aVpVRzlQM2grTVJZSDVPVjA2S1g3azUxd1BhbVV6ZFgwbnNsM3ZTSzRq?=
 =?utf-8?B?ODEwbEp1R3dPcDFzM0ZpVFlmMGtPNUJTNHRmMFBLOElIZTZ3WTR1b2M0K2Fl?=
 =?utf-8?B?SytXT0x3K1lzRTFEemgyWGxnaDA3SmVtNWZkNlpZMHBVMzVqdmN5WHdESkNz?=
 =?utf-8?B?cmV2bE1vVE5TckJWN2FlWVVSUy8xdmlyQkZ2UjJBMUszZzhSTWVINlRaMU9Q?=
 =?utf-8?B?UTc1RmoraC9CeGs2Q2VYNC9vNjJXUkZKS3UzL3YyVGNJRGVkK1ZEL045a0Mv?=
 =?utf-8?B?Z01yaEF4cDBUTW43N0d0RDRsK2dqVlpWZW9kZHhLK1M4SmRQMXR2ajFGRU1S?=
 =?utf-8?B?ckJVQzdqM0RYOXc2U1FmcXVSZ1VxRUVHMTJSOXFGVFNRbzNkL3lSYjNZc09O?=
 =?utf-8?B?bjd0Z2R0dVVSSDBIakR5Y3hYZkZnYWVTejk3dDBDcVlsWVlWTW9PNE5tbmhR?=
 =?utf-8?B?OW82RVBSdlArNmdLN2dHM0JjV1M0Mi9GV1ZSRkpTTUUybWhHbWxiOVhWMGNE?=
 =?utf-8?B?UDQ2MlhWdGlUK2h3dzQxUDk4MjBjVzJ6MysyalBDcmY0SngzOEFXOGFJM2w3?=
 =?utf-8?B?TmNYMG5ZZWxLVzF3dlJvQzBPTnJuVmtvUlU2MXBkcXE1aGg2bjQ1Uk54NTB4?=
 =?utf-8?B?WHZtdVJVWE44TVZEOC9vaEdHckhuRnMrTEU0UGtJQ3YyaGNSVmVYNlV6Yk5O?=
 =?utf-8?B?Ly9NZ05QZVU2SkNYa2RKWnZNd2haUGlycTZzbFVOV3RBTmIyeFdwdU1EK2U4?=
 =?utf-8?B?OXJRT0xCb1Y4NkhYNnVLWldSVXZndlJ3Y3hkR0JDZ2lFVUFXaGVTaTVleVlF?=
 =?utf-8?B?eW1iZytmRGJKTCtvNTM1Q3RVRStwemlSUDQ0TSs3NlpBZTFvWUJRZVdqQXJx?=
 =?utf-8?B?bDdDSnZSOXo3WnNpY1Q2MUg2eEJGbXFYMVQyVEFYNUJmUmEvejRNTDFsdjBO?=
 =?utf-8?B?TFdmRndreFR4L1Q2T2daVkZwWUt6S1pSSlhDMlhUUEx5VTVKUU9KMDcrSERh?=
 =?utf-8?B?OXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <35A69084EA220140A4F12499DC678E80@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: 294b542c-9d9c-42aa-908e-08dd5c866903
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Mar 2025 08:10:51.3603
 (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: UC0mqmOKHiYLd9lRPLVCICW7BpuM9mEz+vvU/V1h/Q0pOohWGpjTe7GYiU4VKnpqSEJEKw6XNjlvX3rH7pSRDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB6874

DQoNCk9uIDA1LjAzLjI1IDIzOjQ4LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+IE9uIE1v
biwgMjQgRmViIDIwMjUsIE15a3l0YSBQb3R1cmFpIHdyb3RlOg0KPj4gVGhpcyBzZXJpZXMgYWRk
cyBzdXBwb3J0IGZvciBSLUNhciBHZW40IFBDSSBob3N0IGNvbnRyb2xsZXIuDQo+Pg0KPj4gVG8g
ZnVsbHkgc3VwcG9ydCB0aGUgY29udHJvbGxlciwgdGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdlcmUg
bWFkZToNCj4+IC0gR2VuZXJpYyBtZWNoYW5pc20gdG8gc3VwcG9ydCBQQ0kgY2hpbGQgYnVzZXMg
aXMgYWRkZWQuDQo+PiAtIFByaXZhdGUgZGF0YSBmb3IgUENJIGhvc3QgYnJpZGdlIGFuZCBtZWFu
cyB0byBhY2Nlc3MgaXQgYXJlIGFkZGVkLg0KPj4NCj4+IFRoZSBzZXJpZXMgYWxzbyBpbmNsdWRl
cyBhIHdvcmthcm91bmQgZm9yIHByb3BlciBBVFUgcHJvcHJhbW1pbmcgYW5kDQo+PiBvcHRpbWl6
YXRpb25zIHRvIGxlc3NlbiB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0IG9mIHRoYXQgd29ya2Fyb3Vu
ZC4NCj4+DQo+PiBUaGUgc2VyaWVzIHdhcyB0ZXN0ZWQgYm90aCBhcyBhIHBhcnQgb2YgdGhlIHBj
aS1wYXNzdGhyb3VnaCBwYXRjaGVzWzFdIGFuZA0KPj4gc3RhbmRhbG9uZSBvbiBTNCBhbmQgVjRI
IGJvYXJkcy4NCj4+DQo+IA0KPiBIaSBNeWt5dGEsDQo+IA0KPiBJIHVuZGVyc3RhbmQgdGhlIG5l
ZWQgZm9yIHRoaXMgcGF0Y2ggc2VyaWVzIGluIHRoZSBjb250ZXh0IG9mIHZQQ0kgYW5kDQo+IFBD
SSBQYXNzdGhyb3VnaC4NCj4gDQo+IFlvdSBhbHNvIG1lbnRpb25lZCB0aGF0IHlvdSB0ZXN0ZWQg
aXQgYXMgYSBzdGFuZGFsb25lLCBtZWFuaW5nIHdpdGhvdXQNCj4gdGhlIFBDSSBQYXNzdGhyb3Vn
aCBwYXRjaGVzLiBXaGF0IGlzIHRoZSBwdXJwb3NlIG9mIHRoaXMgcGF0Y2ggc2VyaWVzDQo+IHdp
dGhvdXQgUENJIFBhc3N0aHJvdWdoPw0KPiANCj4gQ2hlZXJzLA0KPiANCj4gU3RlZmFubw0KDQpI
aSBTdGVmYW5vDQoNCkkganVzdCBjaGVja2VkIHRoYXQgaXQgZG9lc24ndCBicmVhayBhbnl0aGlu
ZyBpZiBJIGZvcmNlIGVuYWJsZSBIQVNfVlBDSSANCm9uIHRoZSBjdXJyZW50IG1hc3Rlciwgd2l0
aG91dCBhZGRpdGlvbmFsIHBjaS1wYXNzdGhyb3VnaCBwYXRjaGVzLg0KDQpIb3dldmVyLCB3aGls
ZSB0cnlpbmcgdG8gY29uZmlybSB0aGlzLCBJIGhhdmUgZGlzY292ZXJlZCB0aGF0IEkgc29tZWhv
dyANCm1pc3NlZCBzb21lIGZpeHVwcyBkdXJpbmcgcGF0Y2ggcHJlcGFyYXRpb25zIHNvIHRoaXMg
Y2xhaW0gaXMgc2FkbHkgbm90IA0KdHJ1ZSBmb3IgdGhpcyB2ZXJzaW9uIG9mIHRoZSBzZXJpZXMu
IEFuZCBJIGhhdmUgYWxzbyBmb3VuZCBhbm90aGVyIGlzc3VlIA0Kd2l0aCB0aGlzIHdoaWxlIHdv
cmtpbmcgb24gb3RoZXIgc2VyaWVzLg0KDQpTbyBwbGVhc2Ugd2FpdCBmb3IgVjIgYmVmb3JlIGxv
b2tpbmcgZnVydGhlciBhdCB0aGlzIHNlcmllcywgSSB3aWxsIHNlbmQgDQppdCBzb29uLg0KDQot
LSANCk15a3l0YQ0KPiANCj4gDQo+IA0KPj4gT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gKDQpOg0K
Pj4gICAgeGVuL2FybTogYWxsb3cgUENJIGhvc3QgYnJpZGdlIHRvIGhhdmUgcHJpdmF0ZSBkYXRh
DQo+PiAgICB4ZW4vYXJtOiBtYWtlIHBjaV9ob3N0X2NvbW1vbl9wcm9iZSByZXR1cm4gdGhlIGJy
aWRnZQ0KPj4gICAgeGVuL2FybTogYWRkIHN1cHBvcnQgZm9yIFBDSSBjaGlsZCBidXMNCj4+ICAg
IHhlbi9hcm06IGFkZCBzdXBwb3J0IGZvciBSLUNhciBHZW40IFBDSSBob3N0IGNvbnRyb2xsZXIN
Cj4+DQo+PiBWb2xvZHlteXIgQmFiY2h1ayAoMyk6DQo+PiAgICB4ZW4vYXJtOiByY2FyNDogYWRk
IGRlbGF5IGFmdGVyIHByb2dyYW1taW5nIEFUVQ0KPj4gICAgeGVuL2FybTogcmNhcjQ6IGFkZCBz
aW1wbGUgb3B0aW1pemF0aW9uIHRvIGF2b2lkIEFUVSByZXByb2dyYW1taW5nDQo+PiAgICB4ZW4v
YXJtOiByY2FyNDogcHJvZ3JhbSBBVFUgdG8gYWNjZXNzZXMgdG8gYWxsIGZ1bmN0aW9ucw0KPj4N
Cj4+ICAgeGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3BjaS5oICAgICAgfCAgMTYgKy0NCj4+ICAg
eGVuL2FyY2gvYXJtL3BjaS9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKw0KPj4gICB4ZW4vYXJj
aC9hcm0vcGNpL2VjYW0uYyAgICAgICAgICAgICB8ICAxNyArLQ0KPj4gICB4ZW4vYXJjaC9hcm0v
cGNpL3BjaS1hY2Nlc3MuYyAgICAgICB8ICAzNyArLQ0KPj4gICB4ZW4vYXJjaC9hcm0vcGNpL3Bj
aS1ob3N0LWNvbW1vbi5jICB8IDEwNiArKysrKy0NCj4+ICAgeGVuL2FyY2gvYXJtL3BjaS9wY2kt
aG9zdC1nZW5lcmljLmMgfCAgIDIgKy0NCj4+ICAgeGVuL2FyY2gvYXJtL3BjaS9wY2ktaG9zdC1y
Y2FyNC5jICAgfCA1NDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gICB4ZW4vYXJj
aC9hcm0vcGNpL3BjaS1ob3N0LXp5bnFtcC5jICB8ICAgMiArLQ0KPj4gICB4ZW4vYXJjaC9hcm0v
dnBjaS5jICAgICAgICAgICAgICAgICB8ICA5MSArKysrLQ0KPj4gICA5IGZpbGVzIGNoYW5nZWQs
IDc2NCBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkNCj4+ICAgY3JlYXRlIG1vZGUgMTAw
NjQ0IHhlbi9hcmNoL2FybS9wY2kvcGNpLWhvc3QtcmNhcjQuYw0KPj4NCj4+IC0tIA0KPj4gMi4z
NC4xDQo+Pg0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:18:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:18:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903072.1310987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6Qs-0002aS-CS; Thu, 06 Mar 2025 08:18:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903072.1310987; Thu, 06 Mar 2025 08:18: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 1tq6Qs-0002aL-8p; Thu, 06 Mar 2025 08:18:18 +0000
Received: by outflank-mailman (input) for mailman id 903072;
 Thu, 06 Mar 2025 08:18: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tq6Qr-0002aF-4V
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:18:17 +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 868e9e88-fa63-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:18:04 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-38a8b17d7a7so185819f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 00:18:03 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfb799fsm1217485f8f.2.2025.03.06.00.18.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 00:18:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 868e9e88-fa63-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741249083; x=1741853883; 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=8du1sOQIR0d+jnPSMbQeIU2R0uYfx6ZrggAMNsn9jLo=;
        b=RRnqLP8iTclwtu4G/kcRkE10ZNMFiTIxDAs8AxryquoDeVMqfhbUhvibeAAE6HBJxy
         5FiBNKwgfFL1DGKwsoduo0ce98W4k3Q9ef66vYczoSsJmrr4U+xgGNYAL0PDlpbvV1mj
         DkZ9OtcuND2H2A2NOd4BBQTDf97659Q85eVvBu7EYWtXXKNy8+skgRPolQ26IofJCmAa
         bHW137FbfymVaLEjwtcPnuQ18OT4yu/06K3LSlsu/vOO0tGr31ro9h8US1sPEnvPbFOd
         c/GzPBWFhvPJldMp6TOEm5e8JwbRB7uTv9/2vOsqRC9fyO/0ldMqGxfdRjUCu2vr2V08
         1ogw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741249083; x=1741853883;
        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=8du1sOQIR0d+jnPSMbQeIU2R0uYfx6ZrggAMNsn9jLo=;
        b=hyt657eIci6uONL6kDDT2gexKWSmRYZgQa3ZnHCIDYVWPSoIkAFgs5YeEfEzIHCWXr
         AMivtQXg52MQ76bcDGKzQl4UkQTfRRtq0uuL7TyUGElqklxLEfUloLdcfhkjBu85KfuO
         8MT2dXLdg6650BHGfe7g8rJLdpxIlgubWC5K7i9hY67LAagzula0GGu/Fgt5SVzXatKw
         7UHcR1h+4g4PwvlYs7cHYtJ266Waar4TrN0qHg5kAffk/OHXJJiv289ZjSrC52I6O1VY
         iiWlR75N9Ztn70mhjehHsHpuDnHVDnCVRBCh7o7NlMRmJcCygluyaMc9T4iMgYTJU4pr
         1JsQ==
X-Forwarded-Encrypted: i=1; AJvYcCUY/Lzi4RQ5YEbR3mB38FRWW8q8kv4OHGxoLtlCrWhQaQ+h8WP8FITW7WkUuRvp8ZJhY3QhbYlTpM0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzKOnY/mBeXk55CXJg08HarUQ5AKYbwv3MnY5D3r6L8i+9pZbkU
	civ5p7/Z2ZRtUcKO6U0xhQM48Eyljz+NIfoGRaxR6wgjdiHoAAMWT31WHOs6qA==
X-Gm-Gg: ASbGncuhisTt/BR4kSqSP9fsB31+4Gilzf4Sy/y60HXSc/4PgieVT7aRXDzeSLlah3Z
	8juPvqZ1VIPVZ02gAipH6H8BphP3RgkZrjlKjE7FfC6hViCfD+SOs0eM+/K3GPuu4iIc43Ar2WQ
	MP31Hx3vXs9jnJuLamSkLXrDOnczvyqp4o34T1ZFrbf725KrpZxa9T8ZItFqUSYD0mmoy2Af+kV
	ktnhxlEKvIaUqd28enMFO5iF09Ea+LggLVKIyaAUbpmN2n881QAIrFomCOcK1YpoHg93UOik7jx
	ZDoYUbUZrWqKM37+U0pJGu2RbuyU5olPOYrZAFLpimyHuZ4wZyjr20/hiym34/mOyLV9T2H9Z2v
	Zu01RM/QSQ86D59jNlP105mvmNuwkgw==
X-Google-Smtp-Source: AGHT+IGO+w/eZuFhKGp2pBpv8lBqBeOVsZhwWhMQB93+3bDlRbdoMCukw6yhbPpWqEAgNqf14YSRvg==
X-Received: by 2002:a05:6000:18a7:b0:38f:483f:8319 with SMTP id ffacd0b85a97d-3911f7c17f2mr6456133f8f.51.1741249083420;
        Thu, 06 Mar 2025 00:18:03 -0800 (PST)
Message-ID: <ac947068-02ee-45f0-a627-e0f025a81cc2@suse.com>
Date: Thu, 6 Mar 2025 09:18:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/rt: address violation of MISRA C Rule 8.2
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Dario Faggioli <dfaggioli@suse.com>, Meng Xu <mengxu@cis.upenn.edu>,
 Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1740476096.git.nicola.vetrini@bugseng.com>
 <e3c6457e50d61daa05fd9c3a7c71b06d912216a0.1740476096.git.nicola.vetrini@bugseng.com>
 <fc6c0113-484d-4eb5-8b66-0ef547d8dbf1@suse.com>
 <alpine.DEB.2.22.394.2503051524030.1303386@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.2503051524030.1303386@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 00:24, Stefano Stabellini wrote:
> On Wed, 5 Mar 2025, Jan Beulich wrote:
>> On 25.02.2025 10:38, Nicola Vetrini wrote:
>>> Rule 8.2 states: "Function types shall be in prototype form with
>>> named parameters".
>>>
>>> The parameter name is missing from the function pointer type
>>> that constitutes the first parameter.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>> ---
>>> Changes in v2:
>>> - renamed function parameter name to "elem"
>>> - changed prefix to xen/rt since only that scheduler is touched
>>
>> Looks like you committed v1 of this, and without a maintainer ack?
> 
> Hi Jan, I took Juergen's comment and his maintainer ack, making the
> change on commit: https://marc.info/?l=xen-devel&m=173978187314898

Except that aiui JĂźrgen isn't formally a maintainer of the RT scheduler.
Nor did you change the patch subject (as requested by me, and as reflected
in v2) to properly express that it's an RT scheduler change (only). (Less
formally, with the lack of response by the actual maintainers, taking
JĂźrgen's R-b to fill in for the missing maintainer ack is likely okay, but
probably should have been mentioned explicitly. Recurring lack of response
by maintainers ought to perhaps result in reconsideration of their
maintainership.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:21:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:21:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903081.1310997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6Te-0004az-PZ; Thu, 06 Mar 2025 08:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903081.1310997; Thu, 06 Mar 2025 08:21: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 1tq6Te-0004as-Mp; Thu, 06 Mar 2025 08:21:10 +0000
Received: by outflank-mailman (input) for mailman id 903081;
 Thu, 06 Mar 2025 08:21: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tq6Td-0004aI-H5
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:21:09 +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 f486fe12-fa63-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:21:08 +0100 (CET)
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 02A3621168;
 Thu,  6 Mar 2025 08:21:08 +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 D4AB913676;
 Thu,  6 Mar 2025 08:21:07 +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 Jgz1MfNayWdqfwAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 08:21: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: f486fe12-fa63-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741249268; 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=IgT4GEz/+4aizq9LqqppR1TDzJn72Fff1KpmcUE94kc=;
	b=GqUEj2QQQBdKqUHbxvQamG1jjjDZS2u9BTgxF+XrCntmtqVe0Qi5kwqgaNCHhbUqxJC4c9
	izZOnbgPsnjC3CrUE3aRqs5oYyzzHX7s5fdxIK29pazSTMfYpGkhHv1/gWYMfCZY6WVbAm
	eB+SNSSRLjkN8TDYu++RSCuWlq2oDZw=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741249268; 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=IgT4GEz/+4aizq9LqqppR1TDzJn72Fff1KpmcUE94kc=;
	b=GqUEj2QQQBdKqUHbxvQamG1jjjDZS2u9BTgxF+XrCntmtqVe0Qi5kwqgaNCHhbUqxJC4c9
	izZOnbgPsnjC3CrUE3aRqs5oYyzzHX7s5fdxIK29pazSTMfYpGkhHv1/gWYMfCZY6WVbAm
	eB+SNSSRLjkN8TDYu++RSCuWlq2oDZw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>
Subject: [PATCH] xen/public: add missing Xenstore commands to xs_wire.h
Date: Thu,  6 Mar 2025 09:21:05 +0100
Message-ID: <20250306082105.17398-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.70 / 50.00];
	BAYES_HAM(-2.90)[99.58%];
	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];
	RCPT_COUNT_TWO(0.00)[2];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.70
X-Spam-Flag: NO

The GET_FEATURE, SET_FEATURE, GET_QUOTA and SET_QUOTA Xenstore commands
are defined in docs/misc/xenstore.txt, but they are missing in
xs_wire.h.

Add the missing commands to xs_wire.h

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/public/io/xs_wire.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/include/public/io/xs_wire.h b/xen/include/public/io/xs_wire.h
index 0d9f49ac89..e92a87a07b 100644
--- a/xen/include/public/io/xs_wire.h
+++ b/xen/include/public/io/xs_wire.h
@@ -35,6 +35,10 @@ enum xsd_sockmsg_type
     /* XS_RESTRICT has been removed */
     XS_RESET_WATCHES = XS_SET_TARGET + 2,
     XS_DIRECTORY_PART,
+    XS_GET_FEATURE,
+    XS_SET_FEATURE,
+    XS_GET_QUOTA,
+    XS_SET_QUOTA,
 
     XS_TYPE_COUNT,      /* Number of valid types. */
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:31:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903089.1311007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6dD-00014S-L3; Thu, 06 Mar 2025 08:31:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903089.1311007; Thu, 06 Mar 2025 08:31: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 1tq6dD-00014L-I4; Thu, 06 Mar 2025 08:31:03 +0000
Received: by outflank-mailman (input) for mailman id 903089;
 Thu, 06 Mar 2025 08:31: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=Z0IF=VZ=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tq6dB-000147-Fp
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:31:02 +0000
Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch
 [185.70.40.133]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54d160b9-fa65-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:30:59 +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: 54d160b9-fa65-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741249857; x=1741509057;
	bh=YFyaLrqSiCCFniO/I2nJRPjvCkxdXPJhz62XjF8z71o=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=T1aI1AKTXvjyvBh25hu//JbTDvWQJUk7Eouy7hbQMBOhRGRIjlTNPPlC4O/J03XHN
	 DaPEjGAI9/6Sf+Hmksslaxm/TkaZtwdB9x8x2LB7wf2QkBI+J5roBQDDWNC3IKY4Gz
	 XHtjX8P/Q0peSoqXB+zVj5Ox9sg3xqZngkt9xtTqe30hcHqfcttlL1+T2Hv4KH65aZ
	 D1l2Fxray68RD54rxu85yfcI0apQ2poTY78WcH70UGPVIY/uIAH5EcDFgXatTV3vr2
	 nAKTbuaVoB41JfHCcesjA2W5kT3kWst2+8Pag7YUXClPBTbhA/5TQ/TOkAaI6O3gJR
	 WuOm1TKBu52fQ==
Date: Thu, 06 Mar 2025 08:30:56 +0000
To: xen-devel@lists.xenproject.org
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH] x86/hvm: add HVM-specific Kconfig
Message-ID: <l7VrqyY3R3PrPx3l69-NmwHS5NT5kBg2L5I3AnPuKVThmoX5m2mf6tApmmqtbz_9_9JRP6AibnKCQ4eWMue4RcONkseCpAIJwBX3s3n9Fvw=@proton.me>
In-Reply-To: <20250207220302.4190210-1-dmukhin@ford.com>
References: <20250207220302.4190210-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 1aec2f7bbbdb3b84a3698e6e7e8f20417ced16cf
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Friday, February 7th, 2025 at 2:03 PM, dmkhn@proton.me <dmkhn@proton.me>=
 wrote:

>=20
>=20
> Add separate menu for configuring HVM build-time settings to help organiz=
ing
> HVM-specific options.
>=20
> Signed-off-by: Denis Mukhin dmukhin@ford.com

Can I get a review please?

>=20
>=20
> ---
> Link to the original patch:
> https://lore.kernel.org/xen-devel/20250103-vuart-ns8250-v3-v1-20-c5d36b31=
d66c@ford.com/
> ---
> ---
> xen/arch/x86/Kconfig | 76 +---------------------------------------
> xen/arch/x86/hvm/Kconfig | 73 ++++++++++++++++++++++++++++++++++++++
> 2 files changed, 74 insertions(+), 75 deletions(-)
> create mode 100644 xen/arch/x86/hvm/Kconfig
>=20
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 9cdd04721a..37362c205d 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -30,7 +30,6 @@ config X86
> select HAS_SCHED_GRANULARITY
> select HAS_UBSAN
> select HAS_VMAP
> - select HAS_VPCI if HVM
> select NEEDS_LIBELF
>=20
> config ARCH_DEFCONFIG
> @@ -107,42 +106,7 @@ config PV_LINEAR_PT
>=20
> If unsure, say Y.
>=20
> -config HVM
> - bool "HVM support"
> - depends on !PV_SHIM_EXCLUSIVE
> - 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
> - guests which have no specific Xen knowledge.
> -
> - This option is needed if you want to run HVM or PVH domains.
> -
> - If unsure, say Y.
> -
> -config AMD_SVM
> - bool "AMD-V" if EXPERT
> - depends on HVM
> - default y
> - help
> - Enables virtual machine extensions on platforms that implement the
> - AMD Virtualization Technology (AMD-V).
> - If your system includes a processor with AMD-V support, say Y.
> - If in doubt, say Y.
> -
> -config INTEL_VMX
> - bool "Intel VT-x" if EXPERT
> - depends on HVM
> - default y
> - select ARCH_VCPU_IOREQ_COMPLETION
> - help
> - Enables virtual machine extensions on platforms that implement the
> - Intel Virtualization Technology (Intel VT-x).
> - If your system includes a processor with Intel VT-x support, say Y.
> - If in doubt, say Y.
> +source "arch/x86/hvm/Kconfig"
>=20
> config XEN_SHSTK
> bool "Supervisor Shadow Stacks"
> @@ -201,25 +165,6 @@ config BIGMEM
>=20
> If unsure, say N.
>=20
> -config HVM_FEP
> - bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
> - default DEBUG
> - depends on HVM
> - help
> -
> - Compiles in a feature that allows HVM guest to arbitrarily
> - exercise the instruction emulator.
> -
> - This feature can only be enabled during boot time with
> - appropriate hypervisor command line option. Please read
> - hypervisor command line documentation before trying to use
> - this feature.
> -
> - This is strictly for testing purposes, and not appropriate
> - for use in production.
> -
> - If unsure, say N.
> -
> config TBOOT
> bool "Xen tboot support (UNSUPPORTED)"
> depends on INTEL && UNSUPPORTED
> @@ -348,14 +293,6 @@ config HYPERV_GUEST
>=20
> endif
>=20
> -config MEM_PAGING
> - bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
> - depends on HVM
> -
> -config MEM_SHARING
> - bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
> - depends on HVM
> -
> config REQUIRE_NX
> bool "Require NX (No eXecute) support"
> help
> @@ -372,17 +309,6 @@ config REQUIRE_NX
> was unavailable. However, if enabled, Xen will no longer boot on
> any CPU which is lacking NX support.
>=20
> -config ALTP2M
> - bool "Alternate P2M support" if EXPERT
> - depends on INTEL_VMX
> - default y
> - help
> - Alternate-p2m allows a guest to manage multiple p2m guest physical
> - "memory views" (as opposed to a single p2m).
> - Useful for memory introspection.
> -
> - If unsure, stay with defaults.
> -
> endmenu
>=20
> source "common/Kconfig"
> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> new file mode 100644
> index 0000000000..cbfeb5e4f4
> --- /dev/null
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -0,0 +1,73 @@
> +menuconfig HVM
> + bool "HVM support"
> + depends on !PV_SHIM_EXCLUSIVE
> + default !PV_SHIM
> + select COMPAT
> + select HAS_VPCI
> + 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
> + guests which have no specific Xen knowledge.
> +
> + This option is needed if you want to run HVM or PVH domains.
> +
> + If unsure, say Y.
> +
> +if HVM
> +
> +config AMD_SVM
> + bool "AMD-V" if EXPERT
> + default y
> + help
> + Enables virtual machine extensions on platforms that implement the
> + AMD Virtualization Technology (AMD-V).
> + If your system includes a processor with AMD-V support, say Y.
> + If in doubt, say Y.
> +
> +config INTEL_VMX
> + bool "Intel VT-x" if EXPERT
> + default y
> + select ARCH_VCPU_IOREQ_COMPLETION
> + help
> + Enables virtual machine extensions on platforms that implement the
> + Intel Virtualization Technology (Intel VT-x).
> + If your system includes a processor with Intel VT-x support, say Y.
> + If in doubt, say Y.
> +
> +config ALTP2M
> + bool "Alternate P2M support" if EXPERT
> + depends on INTEL_VMX
> + default y
> + help
> + Alternate-p2m allows a guest to manage multiple p2m guest physical
> + "memory views" (as opposed to a single p2m).
> + Useful for memory introspection.
> +
> + If unsure, stay with defaults.
> +
> +config MEM_PAGING
> + bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
> +
> +config MEM_SHARING
> + bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
> +
> +config HVM_FEP
> + bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
> + default DEBUG
> + help
> + Compiles in a feature that allows HVM guest to arbitrarily
> + exercise the instruction emulator.
> +
> + This feature can only be enabled during boot time with
> + appropriate hypervisor command line option. Please read
> + hypervisor command line documentation before trying to use
> + this feature.
> +
> + This is strictly for testing purposes, and not appropriate
> + for use in production.
> +
> + If unsure, say N.
> +
> +endif
> --
> 2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903103.1311034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mO-00032K-Qy; Thu, 06 Mar 2025 08:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903103.1311034; Thu, 06 Mar 2025 08:40: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 1tq6mO-00032D-O9; Thu, 06 Mar 2025 08:40:32 +0000
Received: by outflank-mailman (input) for mailman id 903103;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mN-00031D-AJ
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:31 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2416::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7701d54-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:29 +0100 (CET)
Received: from CH0PR13CA0044.namprd13.prod.outlook.com (2603:10b6:610:b2::19)
 by SA1PR12MB7295.namprd12.prod.outlook.com (2603:10b6:806:2b6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 08:40:22 +0000
Received: from CH1PEPF0000AD79.namprd04.prod.outlook.com
 (2603:10b6:610:b2:cafe::c1) by CH0PR13CA0044.outlook.office365.com
 (2603:10b6:610:b2::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.9 via Frontend Transport; Thu, 6
 Mar 2025 08:40:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD79.mail.protection.outlook.com (10.167.244.57) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:22 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:19 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7701d54-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TmApqI6/3ww+kcMRI/LIsjk0z19ifemJeeB0ssriU0NKLLEgsRSQn59U5BWf4RVWiWAuhEnlRo1I2SQ2rc/GEC6nKowftSqCnRS9q7u+b7SlxRmntbpia6V86zgBxOYuUog/rzE4KTWhZSrN04/ZkyrGtACnSmjVx4CRyIchiVr6EgQld3UjXpNz5Llv0ydb9IIb0iFoqTBtQ4eCh8gVgoT7UBp5CntqgMvgHD5Z3mfB/mnk3kcVmdzL1J5zNFFyBjcSCjPilfPOLLqDP5OHJIStnTDX5MZoVh7CMSWPklYcN5bXIPWZEd4UigLmAkZhT0hFfy0l9e8gvd9h0f+zDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qPxZx060JAcSO870+vo68zNrp5uH7k83qg/iI6TUuMA=;
 b=F5/hgKPoQJiRlvXJebHiWYxIm9kEmnrW3p+fHtOoYMwcFBggGCVwsp1etRNh8Ht9CwnFqo41BqbG51MCR7/0j0Q1ty7p/e+BYaXvU351BEOB8B+OVgz9c2YnPVd8rGpYLC5D2byWNSzIApi7yX3BdsG0/S2KRw0tEGrkWdLLoC0Q2glbJ6AZXp7XWAawqGwaQxvTt9hOACDpnj8VKTcfkNui1jKyFE0hwkuNAOxgdTRlYsOd7ozT2Rg+ZdkaV5MHaPuba/jK6uitAf8NsCI+ixUErDcejWp+Y+orPAJ3/y5HiiSHFA8C9X2DeoWTle3iPt8GuqKWvQfKQul7yNCMYQ==
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=qPxZx060JAcSO870+vo68zNrp5uH7k83qg/iI6TUuMA=;
 b=Y5uCtDC9iluXGFdqNsUREtKMhlQzMVYNrJI7l5S7ucqdw4DGNX9uhnvRod+0qQmZOcmNbCqEXlXmo918kMXvFHG7+FVh3fkTy7q99H86EzfHz1EnM6vFZSCTkbbjMQAjYS/3HMjf6Q4dWz4bTeViHKzy8MU5CT67xlTFoCfnBRk=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 02/15] xen/x86: introduce new sub-hypercall to propagate CPPC data
Date: Thu, 6 Mar 2025 16:39:36 +0800
Message-ID: <20250306083949.1503385-3-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD79:EE_|SA1PR12MB7295:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e206cb7-9a40-40b0-31fd-08dd5c8a88b3
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?wZY4EUdJc3vmgXQsJGyiPX/gOYBjMJrtqSiBqFDFnthtn/91GefZIwWyO+vp?=
 =?us-ascii?Q?02Xu9x45sWsmKVcsea+QUnw9QSmC6O7vFgg7pxlCvR/Eafm71PYjvnEo04BL?=
 =?us-ascii?Q?0TK23+lqtq8YSubkE5Rh3OO5WQZuyynTQqo0SKzUTZ7Fk5QDQHQ9a4yj/Dms?=
 =?us-ascii?Q?znvtI69vmE/VfHN9etDjAPmLKDTVYWNGbJpoN6cmpAe+LbuWzNDC/E4hK8XN?=
 =?us-ascii?Q?sfpxpkMXwG7PNybNpuewkeEQAX1yNTNL5HRxl+Iazd43q9co4G23sC3w8GTB?=
 =?us-ascii?Q?fTFibCMVXziIMUs3/IgCXmDnz4oxDdiEvyX+uF0lUcHMG0iF21JL3LaYt7x3?=
 =?us-ascii?Q?DPtAgkc9G/kUArym0Id+bjIOEEafsZ0W5nYNei771Hp57ytIy4y2Zfnk20nT?=
 =?us-ascii?Q?UIdTHQLx0/qJattjq7m/GXvHEV5Ph0odDV19INzoqTzg4tzsrE7DwLaSTdhU?=
 =?us-ascii?Q?pIqetBhw4lj1EtonBuTj5iskqtA08ahAm8wed2/EQ3U+aRCspctJHdRUWw3X?=
 =?us-ascii?Q?5LPsz0clOkA8MRTGv8mU9fAuCaNTuqHiSOsJDnB4KmgQhxlbiFcPunkBZcXk?=
 =?us-ascii?Q?q/41xPJaKs+9se/MGcmVaM54srtVafpTUlXlB7C+z3GErBsiqHAUr4YBzkYK?=
 =?us-ascii?Q?Wrn9SrfdqU2OYr1m6QAZPcuJPBF9YVIkiBhkX7YxrF6sZox3RRiuz2sN0m5A?=
 =?us-ascii?Q?kBG8THgVRsMIIXNaeTddzSrbYo+jggZaApjZiXsnSxaOz9DZng+5H634QWbH?=
 =?us-ascii?Q?I1JFQ0ljIQM+H06kmb2IJyVfgjz4iKflr0PWAadWpBnkhpojVWakV6P77nOq?=
 =?us-ascii?Q?fOJ+9sVUId3CtT4IsP6V0l4UcA0F6Iixe3E5ABb7/Z7AgJiCDeID0PXFhoS/?=
 =?us-ascii?Q?FWfIobU0ooKwLFrvOscrJNrEnNyiU1hX1K1lLZquwh0iMfklwj7so70haaIe?=
 =?us-ascii?Q?/6hMqnhEHymitGJkER0FS5Iw+Ua+asKjCyjTVtVkJ0b3DpwJyVd6DEUtQYWS?=
 =?us-ascii?Q?gddmyVjIKirHhZmTkmSvJ2vnGBsv9mF+tEA4BTHRiKmPyCQTNUS6acDUnvVd?=
 =?us-ascii?Q?RogZv+WeEBg4sUgI4uCaZOG46P41IjHJl3i8HVqw2lJ3CWn8EQ/fpfve3ru7?=
 =?us-ascii?Q?wYuz5k1f1eu4uLk7RiUrZba2u+VvHf8knniHiD+dR4vzZJfgFd97t+MkoNLt?=
 =?us-ascii?Q?fEOKmiHre8EjyuA1739ceAgAoYbzeG9F2MS9gTj8PpD8YMEonL1OgcGKzf2x?=
 =?us-ascii?Q?5Qd19TA9wt7F6MqOubnSzqBboR7MUb4V4Yo/eFaWXoqBcRsoeas5P8liRaFU?=
 =?us-ascii?Q?oSp1KrVoTo+/rqRREskEIESn67jGetqg2rjSEU0oEIQHlX5m7IRXCUtYVjKf?=
 =?us-ascii?Q?M+Jxi1ACZGSIl7zY+kW7Ac/Uz5/NmGY7jzhCr6mpG0mgfKC+UYvEEO71wPAV?=
 =?us-ascii?Q?R/9fp4GrasKgYX8XdcfuR38Fj0/RqzVICpeF3o/0Q8A5jmg+d9zI/I8hRrjo?=
 =?us-ascii?Q?fSJLvd06hYWnw9g=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:22.4384
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e206cb7-9a40-40b0-31fd-08dd5c8a88b3
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD79.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7295

In order to provide backward compatibility with existing governors
that represent performance as frequencies, like ondemand, the _CPC
table can optionally provide processor frequency range values, Lowest
frequency and Norminal frequency, to let OS use Lowest Frequency/
Performance and Nominal Frequency/Performance as anchor points to
create linear mapping of CPPC abstract performance to CPU frequency.

As Xen is uncapable of parsing the ACPI dynamic table, this commit
introduces a new sub-hypercall to propagate required CPPC data from
dom0 kernel.

If the platform supports CPPC, the _CPC object must exist under all
processor objects. That is, Xen is not expected to support mixed mode
(CPPC & legacy PSS, _PCT, _PPC) operation, either advanced CPPC, or legacy
P-states.

This commit also introduces a new flag XEN_PM_CPPC to reflect processor
initialised in CPPC mode.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- Remove unnecessary figure braces
- Pointer-to-const for print_CPPC and set_cppc_pminfo
- Structure allocation shall use xvzalloc()
- Unnecessary memcpy(), and change it to a (type safe) structure assignment
- Add comment for struct xen_processor_cppc, and keep the chosen fields
in the order _CPC has them
- Obey to alphabetic sorting, and prefix compat structures with ? instead
of !
---
v2 -> v3:
- Trim too long line
- Re-place set_cppc_pminfo() past set_px_pminfo()
- Fix Misra violations: Declaration and definition ought to agree
in parameter names
- Introduce a new flag XEN_PM_CPPC to reflect processor initialised in CPPC
mode
---
 xen/arch/x86/platform_hypercall.c         |  5 +++
 xen/arch/x86/x86_64/cpufreq.c             |  2 +
 xen/drivers/acpi/pmstat.c                 |  4 +-
 xen/drivers/cpufreq/cpufreq.c             | 53 +++++++++++++++++++++--
 xen/include/acpi/cpufreq/processor_perf.h |  8 ++--
 xen/include/public/platform.h             | 16 +++++++
 xen/include/xen/pmstat.h                  |  2 +
 xen/include/xlat.lst                      |  1 +
 8 files changed, 82 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index b0d98b5840..77390a0dbd 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -583,6 +583,11 @@ ret_t do_platform_op(
                                  &op->u.set_pminfo.u.domain_info);
             break;
 
+        case XEN_PM_CPPC:
+            ret = set_cppc_pminfo(op->u.set_pminfo.id,
+                                  &op->u.set_pminfo.u.cppc_data);
+            break;
+
         default:
             ret = -EINVAL;
             break;
diff --git a/xen/arch/x86/x86_64/cpufreq.c b/xen/arch/x86/x86_64/cpufreq.c
index d1b93b8eef..565e4f8652 100644
--- a/xen/arch/x86/x86_64/cpufreq.c
+++ b/xen/arch/x86/x86_64/cpufreq.c
@@ -26,6 +26,8 @@
 #include <xen/pmstat.h>
 #include <compat/platform.h>
 
+CHECK_processor_cppc;
+
 CHECK_processor_px;
 
 CHECK_psd_package;
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index df309e27b4..c8e00766a6 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -68,7 +68,7 @@ int do_get_pm_info(struct xen_sysctl_get_pmstat *op)
             return -ENODEV;
         if ( hwp_active() )
             return -EOPNOTSUPP;
-        if ( !pmpt || !(pmpt->perf.init & XEN_PX_INIT) )
+        if ( !pmpt || !(pmpt->init & XEN_PX_INIT) )
             return -EINVAL;
         break;
     default:
@@ -467,7 +467,7 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
     case CPUFREQ_PARA:
         if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_PX) )
             return -ENODEV;
-        if ( !pmpt || !(pmpt->perf.init & XEN_PX_INIT) )
+        if ( !pmpt || !(pmpt->init & (XEN_PX_INIT | XEN_CPPC_INIT)) )
             return -EINVAL;
         break;
     }
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 638476ca15..894bafebaa 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -210,7 +210,7 @@ int cpufreq_add_cpu(unsigned int cpu)
 
     pmpt = processor_pminfo[cpu];
 
-    if ( !(pmpt->perf.init & XEN_PX_INIT) )
+    if ( !(pmpt->init & (XEN_PX_INIT | XEN_CPPC_INIT)) )
         return -EINVAL;
 
     if (!cpufreq_driver.init)
@@ -368,7 +368,7 @@ int cpufreq_del_cpu(unsigned int cpu)
 
     pmpt = processor_pminfo[cpu];
 
-    if ( !(pmpt->perf.init & XEN_PX_INIT) )
+    if ( !(pmpt->init & (XEN_PX_INIT | XEN_CPPC_INIT)) )
         return -EINVAL;
 
     if (!per_cpu(cpufreq_cpu_policy, cpu))
@@ -459,6 +459,16 @@ static void print_PPC(unsigned int platform_limit)
     printk("\t_PPC: %d\n", platform_limit);
 }
 
+static void print_CPPC(const struct xen_processor_cppc *cppc_data)
+{
+    printk("\t_CPC: highest_perf=%u, lowest_perf=%u, "
+           "nominal_perf=%u, lowest_nonlinear_perf=%u, "
+           "nominal_mhz=%uMHz, lowest_mhz=%uMHz\n",
+           cppc_data->highest_perf, cppc_data->lowest_perf,
+           cppc_data->nominal_perf, cppc_data->lowest_nonlinear_perf,
+           cppc_data->nominal_mhz, cppc_data->lowest_mhz);
+}
+
 int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf)
 {
     int ret = 0, cpu;
@@ -539,7 +549,7 @@ int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf)
         if ( cpufreq_verbose )
             print_PPC(pxpt->platform_limit);
 
-        if ( pxpt->init == XEN_PX_INIT )
+        if ( pmpt->init == XEN_PX_INIT )
         {
             ret = cpufreq_limit_change(cpu);
             goto out;
@@ -548,7 +558,7 @@ int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf)
 
     if ( perf->flags == ( XEN_PX_PCT | XEN_PX_PSS | XEN_PX_PPC ) )
     {
-        pxpt->init = XEN_PX_INIT;
+        pmpt->init = XEN_PX_INIT;
 
         ret = cpufreq_cpu_init(cpu);
         goto out;
@@ -606,6 +616,41 @@ int set_psd_pminfo(uint32_t acpi_id, uint32_t shared_type,
     return ret;
 }
 
+int set_cppc_pminfo(uint32_t acpi_id,
+                    const struct xen_processor_cppc *cppc_data)
+{
+    int ret = 0, cpuid;
+    struct processor_pminfo *pm_info;
+
+    cpuid = get_cpu_id(acpi_id);
+    if ( cpuid < 0 || !cppc_data )
+    {
+        ret = -EINVAL;
+        goto out;
+    }
+    if ( cpufreq_verbose )
+        printk("Set CPU acpi_id(%d) cpuid(%d) CPPC State info:\n",
+               acpi_id, cpuid);
+
+    pm_info = processor_pminfo[cpuid];
+    /* Must already allocated in set_psd_pminfo */
+    if ( !pm_info )
+    {
+        ret = -EINVAL;
+        goto out;
+    }
+    pm_info->cppc_data = *cppc_data;
+
+    if ( cpufreq_verbose )
+        print_CPPC(&pm_info->cppc_data);
+
+    pm_info->init = XEN_CPPC_INIT;
+    ret = cpufreq_cpu_init(cpuid);
+
+ out:
+    return ret;
+}
+
 static void cpufreq_cmdline_common_para(struct cpufreq_policy *new_policy)
 {
     if (usr_max_freq)
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index 19f5de6b08..12b6e6b826 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -5,7 +5,8 @@
 #include <public/sysctl.h>
 #include <xen/acpi.h>
 
-#define XEN_PX_INIT 0x80000000U
+#define XEN_CPPC_INIT 0x40000000U
+#define XEN_PX_INIT   0x80000000U
 
 unsigned int powernow_register_driver(void);
 unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
@@ -27,8 +28,6 @@ struct processor_performance {
     struct xen_pct_register status_register;
     uint32_t state_count;
     struct xen_processor_px *states;
-
-    uint32_t init;
 };
 
 struct processor_pminfo {
@@ -37,6 +36,9 @@ struct processor_pminfo {
     struct xen_psd_package domain_info;
     uint32_t shared_type;
     struct processor_performance    perf;
+    struct xen_processor_cppc cppc_data;
+
+    uint32_t init;
 };
 
 extern struct processor_pminfo *processor_pminfo[NR_CPUS];
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index f5c50380cb..07f4b72014 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -364,6 +364,7 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_getidletime_t);
 #define XEN_PM_TX   2
 #define XEN_PM_PDC  3
 #define XEN_PM_PSD  4
+#define XEN_PM_CPPC 5
 
 /* Px sub info type */
 #define XEN_PX_PCT   1
@@ -432,6 +433,20 @@ struct xen_processor_px {
 typedef struct xen_processor_px xen_processor_px_t;
 DEFINE_XEN_GUEST_HANDLE(xen_processor_px_t);
 
+/*
+ * Subset _CPC fields useful for CPPC-compatible cpufreq
+ * driver's initialization
+ */
+struct xen_processor_cppc {
+    uint32_t highest_perf;
+    uint32_t nominal_perf;
+    uint32_t lowest_nonlinear_perf;
+    uint32_t lowest_perf;
+    uint32_t lowest_mhz;
+    uint32_t nominal_mhz;
+};
+typedef struct xen_processor_cppc xen_processor_cppc_t;
+
 struct xen_psd_package {
     uint64_t num_entries;
     uint64_t revision;
@@ -461,6 +476,7 @@ struct xenpf_set_processor_pminfo {
         xen_psd_package_t                   domain_info; /* _PSD */
         struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS/ */
         XEN_GUEST_HANDLE(uint32)            pdc;  /* _PDC */
+        xen_processor_cppc_t                cppc_data; /*_CPC */
     } u;
     /* Coordination type of this processor */
 #define XEN_CPUPERF_SHARED_TYPE_HW   1 /* HW does needed coordination */
diff --git a/xen/include/xen/pmstat.h b/xen/include/xen/pmstat.h
index fd02316ce9..c223f417fd 100644
--- a/xen/include/xen/pmstat.h
+++ b/xen/include/xen/pmstat.h
@@ -8,6 +8,8 @@
 int set_psd_pminfo(uint32_t acpi_id, uint32_t shared_type,
                    const struct xen_psd_package *psd_data);
 int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf);
+int set_cppc_pminfo(uint32_t acpi_id,
+                    const struct xen_processor_cppc *cppc_data);
 long set_cx_pminfo(uint32_t acpi_id, struct xen_processor_power *power);
 
 #ifdef CONFIG_COMPAT
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index 0d964fe0ce..3f47552a22 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -162,6 +162,7 @@
 
 !	pct_register			platform.h
 !	power_register			platform.h
+?	processor_cppc			platform.h
 ?	processor_csd			platform.h
 !	processor_cx			platform.h
 !	processor_flags			platform.h
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903106.1311065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mS-0003mC-KK; Thu, 06 Mar 2025 08:40:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903106.1311065; Thu, 06 Mar 2025 08:40: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 1tq6mS-0003m4-HR; Thu, 06 Mar 2025 08:40:36 +0000
Received: by outflank-mailman (input) for mailman id 903106;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mQ-00031D-SQ
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:34 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2062b.outbound.protection.outlook.com
 [2a01:111:f403:240a::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9e1cd9e-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:33 +0100 (CET)
Received: from CH5P220CA0011.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1ef::6)
 by CH2PR12MB4277.namprd12.prod.outlook.com (2603:10b6:610:ae::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 08:40:28 +0000
Received: from CH1PEPF0000AD7B.namprd04.prod.outlook.com
 (2603:10b6:610:1ef:cafe::78) by CH5P220CA0011.outlook.office365.com
 (2603:10b6:610:1ef::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 08:40:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD7B.mail.protection.outlook.com (10.167.244.58) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:28 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:25 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9e1cd9e-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uk7aVPNrTtGtcazS/ioVo/VS3XGTgflA0p+GinXfkS4tbRtbnviRHQEhnoy6qYPR02L9nD5kvxsDoJgnJ4ykwx3lD8zCvzXlsK8x0K8RHmi/+H2kozMDnb0HRg3Ug8EbCpiyxTH6Lc7nAHkLR+NYCAM9N9YywCJMW5/4vKzLMXla1YsArIGjhWL+r+zCc4XZT44I0CmmA9CjhhIGpzVoH+J7FnCZnjLXFSda67PKiLaafAkoJn4rWgWWjstKKNq0D8Mj07VVrfOdeTgnD8opqj7VR4jlEG/I6eEpOF90L9Jfso+kRK3ZA/Hb2mGYyOXXTelHg+d2gRIzUNu3eZtTLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UZp2+G1TYgiDs8/3pvuGjDp7277SjubF6dG/247ETo4=;
 b=wSeMZLK+JnxG7ufz2TZsKhLanXQGhxBhjrVxTeXVNMNZuEIjQzkwG4dfbJN8bgyp0JDnLQnDetNTevxWpzgLqxyfE6+rA0eCefJYrXQ1E9ImnlNWW2muMq3JH//5NM8rfi7gM5BW9QEqsspb3nsXXY+bwcbRoWuCr8A0TM00fbWXfOVI95pX4YAg9aQ+dN6VNu65sOcdb1D7OOVy5XiQ5rDFobH6KUKsV7a8owV84SOlnNGNNfYcuEt6ujNONo6yFZO2xjac+MQmzPs5wf9j0BTwsOXo+MW/AWr7KKpup8wqwCXqK8qoeCjiEBuLmuWto2RehdoqfvywASVftTnWww==
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=UZp2+G1TYgiDs8/3pvuGjDp7277SjubF6dG/247ETo4=;
 b=hSh9taaFY9+XcZL0FOERFVxS0B3ELwd96sZAcbUaZ1JTaF1ZRdpENHHOycOfAZ3A/v61jBsJwL/QZLTOmN/MHfNwJiUupta4pBMzsvu6ecL1ffy4Ag23xtouYAIoaYxTM5fPtVxWLNChE7C8Q2eAsbN09QPVwsbBQ5ddN+eJeyc=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 04/15] xen/cpufreq: move XEN_PROCESSOR_PM_xxx to internal header
Date: Thu, 6 Mar 2025 16:39:38 +0800
Message-ID: <20250306083949.1503385-5-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7B:EE_|CH2PR12MB4277:EE_
X-MS-Office365-Filtering-Correlation-Id: 538ca215-dead-41e5-0613-08dd5c8a8c17
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:
	=?us-ascii?Q?9y7d66izbhqYTbk/WBgwZf5vgni82nYIeKNafKmpDszIQbXtz0tafC5UV/Vo?=
 =?us-ascii?Q?PwdH8XhF91oO157FtOmfbXJt9r245lcxMv2AjMt14c5gxysh2IPDh6S9yFIi?=
 =?us-ascii?Q?EKFO1+oFET+SsPlgJUIa6LHX4wpwzAGMnLBdUHkfhd7EJCz4MeUltsk61uJj?=
 =?us-ascii?Q?WtvTPIST3daSEHDzEGwEp1xncQWDeIxrkkou3zW+gWwRVOOKWwQllzngn7ho?=
 =?us-ascii?Q?oLKEkQyAjY+5YpWgxDneax+sPnqwMbarOio0dHcNy0FaA3l0+9nq5shgnIlk?=
 =?us-ascii?Q?ij/NtKlaEBi0Jy7Tv35q8/Y7sLaNydvyNNljrQs9MP6NmAM6a1zT+2f0KQfx?=
 =?us-ascii?Q?RuJGTA4AzmxF5hmbIdxT/GWtgv0yvM+Itnz3bVGd981ON7ZYZVg3vgDordqT?=
 =?us-ascii?Q?SbciPwxZgVrG1/BBUNC6Y6PjmIYpxdmDftMN3DHAg8xSUl3KtyeReF6vEH1n?=
 =?us-ascii?Q?d0hB5gbkj4hDyLgFdfgQbeabJtTjXslllmMcY6WTYB5zCreTaDnV0lNPO9Vq?=
 =?us-ascii?Q?USoilxU02r4DvJq+lqavDYn1f8S3VvhZ27vIQxuryJsnknHUKFUla/orfo89?=
 =?us-ascii?Q?BbeReaqAk5evBNrej9OQiaNHrHIV7o4+VsM7PKTtGD84ou0ySDpCVT7lPAZe?=
 =?us-ascii?Q?59Q4cJoORNAh6I553hMQVbaaYw6C4Fkl6D9ZwaDv+dYXyWidfbuQ1GevcsN8?=
 =?us-ascii?Q?HRHSrSlZDceoeZrjEhqKmIUUXfeuhc3Dog0rBNnLsXx/RkInv86HyAhjt9D+?=
 =?us-ascii?Q?N5U4TYw8lds6qrjJGBsw/sTTzkE5wRlkz19/YOVorfJlPfR19U/BcOtWCGbK?=
 =?us-ascii?Q?dQ+pXU+lu8pC/WQouoU4PaeMhXqajedlKPFSoIidVfcmnJR2SRbOVLEZ+s10?=
 =?us-ascii?Q?Co6m5KWGpj/ZMKn8Wp9PFLSEKRb++6X3d81H5p7R1sfrjk4DSWYCa+KNuqAP?=
 =?us-ascii?Q?ggXHMljxMF52q+PSiewDSExjTb37/0yT7Q37U/X3kX8XQ1ZtC8TmURnxp75i?=
 =?us-ascii?Q?vcyqf2uIea+7YWvgS9z7VzXWfsBTdAlMvHeuuGERRsTEmOrLNTrIBVi9BGBb?=
 =?us-ascii?Q?BYGzInIWDQK2ptQfc9tf/GvVZni2+jUfqGPC7qQWc1pXvBP9y+6h9s+lKRAX?=
 =?us-ascii?Q?FzxbaZ6DoPK53XLfR/hNJi242NQZRfJ9m1vVQh6S1fX0fXh1XdupLATNLPEW?=
 =?us-ascii?Q?5PcdAsJz2z9G/cp7f58ygIKDGlZ0Dnsizes7SpTtjyVRSaiv1yn1PBuFyDoF?=
 =?us-ascii?Q?ZJRku9WGJR6hrWqmV20+odB866mxbYyMHcTyyMMEnFgHz4c7kqRv0/VmpC/b?=
 =?us-ascii?Q?szB+E9tf9+jTINzG13mh6qbrqhH9o9esGR9JogiAWedH4a6Wc1QKU/bfAh97?=
 =?us-ascii?Q?10iXfRWVGuazeoM5d3IlW5pBnnkEsVUcuWCyuXtv0UxvE4wjIBLWgRkWYTUs?=
 =?us-ascii?Q?pyX0+yDhJIUn57zszqA28IZWuIXysv1nkMicFCc2Gz20KtXwYrFzOB86ndbS?=
 =?us-ascii?Q?vYDEUljGbv1FICE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:28.1102
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 538ca215-dead-41e5-0613-08dd5c8a8c17
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4277

XEN_PROCESSOR_PM_xxx are used to set xen_processor_pmbits only, which is
a Xen-internal variable only. Although PV Dom0 passed these bits in si->flags,
they haven't been used anywhere.
So this commit moves XEN_PROCESSOR_PM_xxx back to internal header
"acpi/cpufreq/processor_perf.h"

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/arch/x86/pv/dom0_build.c              | 1 -
 xen/arch/x86/setup.c                      | 1 +
 xen/common/domain.c                       | 1 +
 xen/include/acpi/cpufreq/processor_perf.h | 5 +++++
 xen/include/public/platform.h             | 5 -----
 xen/include/public/xen.h                  | 1 -
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index 96e28c7b6a..a62948b0e8 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -886,7 +886,6 @@ static int __init dom0_construct(struct boot_info *bi, struct domain *d)
         si->flags    = SIF_PRIVILEGED | SIF_INITDOMAIN;
     if ( !vinitrd_start && initrd_len )
         si->flags   |= SIF_MOD_START_PFN;
-    si->flags       |= MASK_INSR(xen_processor_pmbits, SIF_PM_MASK);
     si->pt_base      = vpt_start;
     si->nr_pt_frames = nr_pt_pages;
     si->mfn_list     = vphysmap_start;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 8ebe5a9443..5101b381fe 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -62,6 +62,7 @@
 #include <asm/prot-key.h>
 #include <asm/pv/domain.h>
 #include <asm/trampoline.h>
+#include <acpi/cpufreq/cpufreq.h>
 
 /* opt_nosmp: If true, secondary processors are ignored. */
 static bool __initdata opt_nosmp;
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0c4cc77111..05cfa1d885 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -43,6 +43,7 @@
 #include <xsm/xsm.h>
 #include <xen/trace.h>
 #include <asm/setup.h>
+#include <acpi/cpufreq/cpufreq.h>
 
 #ifdef CONFIG_X86
 #include <asm/guest.h>
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index 12b6e6b826..33edf112a0 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -5,6 +5,11 @@
 #include <public/sysctl.h>
 #include <xen/acpi.h>
 
+/* ability bits */
+#define XEN_PROCESSOR_PM_CX 1
+#define XEN_PROCESSOR_PM_PX 2
+#define XEN_PROCESSOR_PM_TX 4
+
 #define XEN_CPPC_INIT 0x40000000U
 #define XEN_PX_INIT   0x80000000U
 
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 07f4b72014..24cc5812ed 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -353,11 +353,6 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_getidletime_t);
 
 #define XENPF_set_processor_pminfo      54
 
-/* ability bits */
-#define XEN_PROCESSOR_PM_CX	1
-#define XEN_PROCESSOR_PM_PX	2
-#define XEN_PROCESSOR_PM_TX	4
-
 /* cmd type */
 #define XEN_PM_CX   0
 #define XEN_PM_PX   1
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index e051f989a5..941d288ec1 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -877,7 +877,6 @@ typedef struct start_info start_info_t;
 #define SIF_MOD_START_PFN (1<<3)  /* Is mod_start a PFN? */
 #define SIF_VIRT_P2M_4TOOLS (1<<4) /* Do Xen tools understand a virt. mapped */
                                    /* P->M making the 3 level tree obsolete? */
-#define SIF_PM_MASK       (0xFF<<8) /* reserve 1 byte for xen-pm options */
 
 /*
  * A multiboot module is a package containing modules very similar to a
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903104.1311039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mP-00035M-1v; Thu, 06 Mar 2025 08:40:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903104.1311039; Thu, 06 Mar 2025 08:40: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 1tq6mO-00034D-Uk; Thu, 06 Mar 2025 08:40:32 +0000
Received: by outflank-mailman (input) for mailman id 903104;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mO-00031D-04
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:32 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20631.outbound.protection.outlook.com
 [2a01:111:f403:200a::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4c32f27-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:24 +0100 (CET)
Received: from CH0PR13CA0040.namprd13.prod.outlook.com (2603:10b6:610:b2::15)
 by BL1PR12MB5707.namprd12.prod.outlook.com (2603:10b6:208:386::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 08:40:17 +0000
Received: from CH1PEPF0000AD79.namprd04.prod.outlook.com
 (2603:10b6:610:b2:cafe::c0) by CH0PR13CA0040.outlook.office365.com
 (2603:10b6:610:b2::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.11 via Frontend Transport; Thu,
 6 Mar 2025 08:40:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD79.mail.protection.outlook.com (10.167.244.57) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:16 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4c32f27-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lR1vijV7JzXvl5EUAAjeT2GUawPMi4dkiVUQp+h7kHzTBeAuxgf6yH9Siu0cNFu2cT4j9dk6c3O3jrSjY3YqA8mB3uUuUxAbg4QuCuwWfgpzb9N/POLJ2OgByisTCzLHH7x35WtVMw39lsCjRwMJNh7Zt4GQb8v+rETI6GKTomHzk0CYNLrm2W5Wu1WN2Ku8BlFG7nr6Bu6BlIgrIesugowVhHELShTM5Wbr2rUVpxkxCNyKNzcf3EHUf5YDfft7W/2fRvLpfNNZ7usZRxuk7sp5dZLWIdt5KQVJvyzxKUCamQPnc0y/vedFR9Uj5zybkXBioJ+ixgCav0z6K+1DWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xLa4URw5/fSo6XciW9nbnUXzZVf1ijPFAaF6bNSCkw4=;
 b=QG5XzR7h9ZrnWi/3zI4qN6p1CG5CuoWgEK6qgRSCgZbWVvWWS3vcOfhWJIdkPmGXmetrP9afgSMzExsK4uAKpg+KGQBdwi2sEqXVV3STAnfG64pT1DO5rvElJR9anvwd6ZEBfi6nakvZJ8MYwsUK1u/sIPZZgB5BPkhc9kLj2dt0Mfn+XBVypUbG9WmT1FR7zk179jfDBx7DKAN9VHsYEW816pSSom6UtJk9SHgUjI8Esi40vbhPxuEMJQevwT8VtibKHoIchu8+ib/LoDmHEvLt5k5riDYm5jIVB5E52a8GgWHZr8NzUPlOgkq9zCMbvW38wuCRsWgQkXqza0wErA==
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=xLa4URw5/fSo6XciW9nbnUXzZVf1ijPFAaF6bNSCkw4=;
 b=Jvbsu3Zk06TI6ksL3gPdaS3xKxga1ziYDLv+3r8nmpbu8JXom9/ek+8M7oEcogQ2HlcYy6CpXMl6VfP/pf6i2bz5w75k3olka1JHO2wDFHoYJiubRthONr84EH3C/4fSRa/ZpFNayjuO+rBBhXAuCb6Gm8XMTknaI83QrWFjmTs=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>,
	"Juergen Gross" <jgross@suse.com>
Subject: [PATCH v3 00/15] amd-cppc CPU Performance Scaling Driver
Date: Thu, 6 Mar 2025 16:39:34 +0800
Message-ID: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD79:EE_|BL1PR12MB5707:EE_
X-MS-Office365-Filtering-Correlation-Id: 3785c4aa-33b5-4005-488f-08dd5c8a853c
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?X0kjspoYMBJcYzo/vVBdbNal+NzSENSz7X62BilbNjXDmJsfjzSqWAymy5zg?=
 =?us-ascii?Q?yEUCMz/MjXUvo2P4oVBDDRGIdvvJtgmcJcN3ngz2cXklhjntI7fofNELH+01?=
 =?us-ascii?Q?tcolsJSCFEtU1yIZNm2SYr27xtuLYDU99m74fdrPBsFrpBbpKGwL1oTsFk60?=
 =?us-ascii?Q?HhYlqZqGxso8qYDY+tIKctMO4dmVrL0eEJkgz6RXo6jdsVPmdRU1NFBCncm9?=
 =?us-ascii?Q?ZH6ZoXWzMxFWdV5EW40bbNS9gcczZ3p4wJDzi6dRpc/BI2TIbiMqsuQ0MqrL?=
 =?us-ascii?Q?2BV1fCu6ZgiHrCDh6DEC/a1vQL+MRT1nqmj0KCErXGjDRzydcYpDOql6g2TV?=
 =?us-ascii?Q?OYuM5EAkbvoDiBCAdBiLHWttQzVRz0yeP/NgGf1IT4FNYkPJKXvVbA2Rpnpn?=
 =?us-ascii?Q?pr2oIcv5jUZmcJ2UMGWT4UtDCvvEAOSwFnvXvSnn+vrWXqsysADK9B2pRw54?=
 =?us-ascii?Q?K338A7iB5L/pQgJ/MV4pkUAyXKpNfjrMKMyRtoyciA9sqpyiTWSLwK9CYyHZ?=
 =?us-ascii?Q?DwiKZ0auaR2ae5Zr0c5h7BTeIH1SMiU1ZxuQbDZ7e4xxUXpc1yGe5WEqQA76?=
 =?us-ascii?Q?txQWgGZcEDAH73/JuNftUBBa2GT1nePGrEbu6l0AavVjErgysCj5FfZd5tu5?=
 =?us-ascii?Q?GIxaiAzTmdWRCPwiFzGGEDpLnuvb2iGlolydlA0YtCcqnXqAeRik4lPY3xKs?=
 =?us-ascii?Q?YLfHq0j5++jJz/9vJTwSbF6lO5dHHn9ZQ0xaeuyRiwKSy3450qWvRG7se+28?=
 =?us-ascii?Q?/lSMMSV0Mel2w+zXx3TiC8FwuECr9vncBUKuMKrFOmbyUfSiFSZHrYogpAho?=
 =?us-ascii?Q?tZDMmhkEi+iQ/h95pnxx4ofnuTNJsV6aNquxFz4F9MNRXE5HZG0pXqYAW24z?=
 =?us-ascii?Q?c8QOnFDytyu2t0GEx5KAqCrQfO33KMFz67PUDXKYZdSEi+xKkULxppymuayL?=
 =?us-ascii?Q?quLJUce2B10rR1zAzoC6a8ePvr8UEVDDVq681E4gRIJTAGn5ekQ64tum3Dt+?=
 =?us-ascii?Q?JcTjBZTxBzkmeKc/9152jOO2opdOtycznKISY6F6NOkS6mRBtS0vGD7EH6BS?=
 =?us-ascii?Q?dSMxdF1V8Bm5pnpMj7eNaFQlVnGfwJIgw/AsAsRZ++LaO099eOPegtpXSG5Q?=
 =?us-ascii?Q?9AsNHB/wwWNs7pP9SjjOLqeTH5Irx9M2U7bMkhvTzuf6OakoLhQxwj1YslBq?=
 =?us-ascii?Q?bdG5OximX2ifrLsMjXQWBXwvuUJLwSrPR/VJ3Ot8RhIBdUg3LBOR7/BG2Vr9?=
 =?us-ascii?Q?JGa6OaxDal6fam6BCHVo8mBQSfPa3z1GMzxgloPGm6a1zBw04ksxlezCtGpz?=
 =?us-ascii?Q?GuY+13GOvEU2EvCbVagOi4Cehz6AxpIg2szeVLV+cf0lOVNpIe+wE9Dz777M?=
 =?us-ascii?Q?8gUMS4zjFb/sPWwXlhWErSvM8u1CDsmH9cgLDDz/Tgu/RxpaMpNPNOOSuRgL?=
 =?us-ascii?Q?r83rtqmxlASGYHIVQ2Jy+5mfjTLBhQW1m8ebKLXMBdP17XAWKzWiWFy72AZl?=
 =?us-ascii?Q?umYPg3IAVRxxlrI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 08:40:16.6261
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3785c4aa-33b5-4005-488f-08dd5c8a853c
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD79.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5707

amd-cppc is the AMD CPU performance scaling driver that introduces a
new CPU frequency control mechanism on modern AMD APU and CPU series in
Xen. The new mechanism is based on Collaborative Processor Performance
Control (CPPC) which provides finer grain frequency management than
legacy ACPI hardware P-States. Current AMD CPU/APU platforms are using
the ACPI P-states driver to manage CPU frequency and clocks with
switching only in 3 P-states. CPPC replaces the ACPI P-states controls
and allows a flexible, low-latency interface for Xen to directly
communicate the performance hints to hardware.

amd_cppc driver has 2 operation modes: autonomous (active) mode,
and non-autonomous (passive) mode. We register different CPUFreq driver
for different modes, "amd-cppc" for passive mode and "amd-cppc-epp"
for active mode.

The passive mode leverages common governors such as *ondemand*,
*performance*, etc, to manage the performance hints. And the active mode
uses epp to provides a hint to the hardware if software wants to bias
toward performance (0x0) or energy efficiency (0xff). CPPC power algorithm
in hardware will automatically calculate the runtime workload and adjust the
realtime cpu cores frequency according to the power supply and thermal, core
voltage and some other hardware conditions.

amd-cppc is enabled on passive mode with a top-level `cpufreq=amd-cppc` option,
while users add extra `active` flag to select active mode.

With `cpufreq=amd-cppc,active`, we did a 60s sampling test to see the CPU
frequency change, through tweaking the energy_perf preference from
`xenpm set-cpufreq-cppc powersave` to `xenpm set-cpufreq-cppc performance`.
The outputs are as follows:
```
Setting CPU in powersave mode
Sampling and Outputs:
  Avg freq      2000000 KHz
  Avg freq      2000000 KHz
  Avg freq      2000000 KHz
Setting CPU in performance mode
Sampling and Outputs:
  Avg freq      4640000 KHz
  Avg freq      4220000 KHz
  Avg freq      4640000 KHz

Penny Zheng (15):
  xen/cpufreq: introduces XEN_PM_PSD for solely delivery of _PSD
  xen/x86: introduce new sub-hypercall to propagate CPPC data
  xen/cpufreq: refactor cmdline "cpufreq=xxx"
  xen/cpufreq: move XEN_PROCESSOR_PM_xxx to internal header
  xen/x86: introduce "cpufreq=amd-cppc" xen cmdline
  xen/cpufreq: disable px statistic info in amd-cppc mode
  xen/cpufreq: fix core frequency calculation for AMD Family 1Ah CPUs
  xen/amd: export processor max frequency value
  xen/x86: introduce a new amd cppc driver for cpufreq scaling
  xen/cpufreq: only set gov NULL when cpufreq_driver.setpolicy is NULL
  xen/cpufreq: abstract Energy Performance Preference value
  xen/x86: implement EPP support for the amd-cppc driver in active mode
  tools/xenpm: Print CPPC parameters for amd-cppc driver
  xen/xenpm: Adapt cpu frequency monitor in xenpm
  xen/cpufreq: Adapt SET/GET_CPUFREQ_CPPC xen_sysctl_pm_op for amd-cppc
    driver

 docs/misc/xen-command-line.pandoc         |  27 +-
 tools/libs/ctrl/xc_pm.c                   |  12 +-
 tools/misc/xenpm.c                        |  23 +-
 xen/arch/x86/acpi/cpufreq/Makefile        |   1 +
 xen/arch/x86/acpi/cpufreq/acpi.c          |  14 +-
 xen/arch/x86/acpi/cpufreq/amd-cppc.c      | 681 ++++++++++++++++++++++
 xen/arch/x86/acpi/cpufreq/cpufreq.c       |  34 +-
 xen/arch/x86/acpi/cpufreq/hwp.c           |  10 +-
 xen/arch/x86/acpi/cpufreq/powernow.c      |   2 +-
 xen/arch/x86/cpu/amd.c                    |  37 +-
 xen/arch/x86/include/asm/amd.h            |   1 +
 xen/arch/x86/include/asm/msr-index.h      |   5 +
 xen/arch/x86/platform_hypercall.c         |  25 +
 xen/arch/x86/pv/dom0_build.c              |   1 -
 xen/arch/x86/setup.c                      |   1 +
 xen/arch/x86/x86_64/cpufreq.c             |   4 +
 xen/common/domain.c                       |   1 +
 xen/drivers/acpi/pmstat.c                 |  54 +-
 xen/drivers/cpufreq/cpufreq.c             | 258 +++++---
 xen/drivers/cpufreq/cpufreq_ondemand.c    |   2 +-
 xen/drivers/cpufreq/utility.c             |  18 +
 xen/include/acpi/cpufreq/cpufreq.h        |  31 +
 xen/include/acpi/cpufreq/processor_perf.h |  18 +-
 xen/include/public/platform.h             |  38 +-
 xen/include/public/sysctl.h               |   2 +
 xen/include/public/xen.h                  |   1 -
 xen/include/xen/pmstat.h                  |   4 +
 xen/include/xlat.lst                      |   3 +-
 28 files changed, 1160 insertions(+), 148 deletions(-)
 create mode 100644 xen/arch/x86/acpi/cpufreq/amd-cppc.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903105.1311055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mQ-0003VW-CM; Thu, 06 Mar 2025 08:40:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903105.1311055; Thu, 06 Mar 2025 08:40: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 1tq6mQ-0003VN-97; Thu, 06 Mar 2025 08:40:34 +0000
Received: by outflank-mailman (input) for mailman id 903105;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mP-00031D-6E
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:33 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20608.outbound.protection.outlook.com
 [2a01:111:f403:2415::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a913d509-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:31 +0100 (CET)
Received: from CH0PR03CA0311.namprd03.prod.outlook.com (2603:10b6:610:118::13)
 by MW4PR12MB6999.namprd12.prod.outlook.com (2603:10b6:303:20a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 08:40:25 +0000
Received: from CH1PEPF0000AD78.namprd04.prod.outlook.com
 (2603:10b6:610:118:cafe::3a) by CH0PR03CA0311.outlook.office365.com
 (2603:10b6:610:118::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 08:40:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD78.mail.protection.outlook.com (10.167.244.56) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:25 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:22 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a913d509-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FZofWO5foWIK3EclMoDdCwM7Uox5RAOsjw44e5CbCXdT7TCZtAa5r4X4s9JEMj0qXOnAZvYHWqxQhWYzXE+Ubf4XujU1Sa0XYw/MG766DxFvFb2r0Mj4k1b6Eohgvebzs/piJDcKqXR3QLDHpTgAEm/uLmELx62zA2W1WSzwRwNxaxswvJ33jew/NwEpLXdbb8728Q5WYKkxKPoqi/QS/sDdk28ciiv2QZ/SMZN6mgxt3pivI3qvXK4dkMCXJYiXdlojMmkxc7xelE0Xvqx25Ko4Rc6DcrqkS6f96Tto0tVPtApuFoeUBuOedupOBoY/Zccfy5t+TtwFtj7+D1Qisg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7vUJg5LMMwbE6dMplBw9JQaR2FVtiWTtgPAfxAZ/n6U=;
 b=zDa7V0qbyz5WzVEGTBO/WjJwiQU9oTZMsf6FmFhU7sSOMhZDOzN2+Q/g5Rjhbus5vFBLb9eBLgH+Sl3SY2Vc0w/jwC+5v8UquBcYmVEjmSZ8Te5LfdCb7ya1M/UyAVTHpno/n7TeuKxLOv/SqwqHp7zRHVSBkYLpKBFwKF4imEued1EOyw368YOKc6v483OWN+TerWVSuWy/2T94ELBtKmdu/qxKB9OpeajZJC8dTe5pakNfCcE+eWm/gI1XdUGiNHfhF/TDBogOV8yfW9mC3bRIB/sVRugV+IevPHtR+NBy3WXqXPCnL5hZ4QlY7jm0DK+cB25lZxEN4bVhRe0Fkw==
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=7vUJg5LMMwbE6dMplBw9JQaR2FVtiWTtgPAfxAZ/n6U=;
 b=uAWgqIFqaXDOq9HZVTWB2zRIItWkIa1urvjVR+mKXEe8GjAJ+qHVTS6w4NhjWIO21jMWyH8FS/g3RgXG51zuMTMKPz0Se1qipzUwwBYQrVJli+cpxZMyheJOMdLYgn0xOyhVUUUHZLbXDkEcoFZd1+zelOnglTjwQ2zKIOvkBlo=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 03/15] xen/cpufreq: refactor cmdline "cpufreq=xxx"
Date: Thu, 6 Mar 2025 16:39:37 +0800
Message-ID: <20250306083949.1503385-4-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD78:EE_|MW4PR12MB6999:EE_
X-MS-Office365-Filtering-Correlation-Id: 42630372-63f1-4844-a246-08dd5c8a8a55
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?3Rj0tAHpUl9vJhmd+cx884nR002r/XSIIEAKqlr/ZGjp6gjvb70nO0EiMZwF?=
 =?us-ascii?Q?8EfuGRAWg7YpGGL7Uz5cLOOfH0u2YJ4Oxtu4Bl4iviH1cnFrCx5DCzwcPzLQ?=
 =?us-ascii?Q?ubYkEhA4lsrdMNVSA/lUTpOPwuXCr04lDLFTCv5SkXcGO7O0XxMSALWcAemG?=
 =?us-ascii?Q?yeFyQcbXL15no7I8/H74oRKxyvR1R9kC1eMABhLBWKfoSHeTbdnFXB/I8tgP?=
 =?us-ascii?Q?IT5taeNZx7pw1g/n+GsKYy5zEUQgwO3ZndVIcNsU6KA0Td+rGRvbhO7T2Wg7?=
 =?us-ascii?Q?mU4meolK2vPnI37aMZc3FJyLVIaNvJ7vJ8BuChPLqwff4rAGjZejFlPVZ3Y3?=
 =?us-ascii?Q?/Lz/PB7YXFZ/MrHMvv+yiVT9jUz8P7wRXUCphOsLnpE0zI879XO5OnAe/JHz?=
 =?us-ascii?Q?el72Y13FElhsNBtYJ/t3ki6FwtkyUzuEXzWrmqLG1mM3J0sbG8NWMN90SUpx?=
 =?us-ascii?Q?9+UdjaYp1S+qPOTGSTDL3cPSYxqFzcp3cOBKgNATyrkdeMvA5Zb3vuhJtKET?=
 =?us-ascii?Q?TthKj161A4bRM9iwv02Lr7SKOha/MIKYJfI7T4/Jx7XHxIVwC2fuV/j+jsaq?=
 =?us-ascii?Q?soyI2xbZOqVn8KH7/OfuMe4BYC5WPIFJn6gLGeoYZC91Mn5ZbKBQZslAg4tU?=
 =?us-ascii?Q?zxlGzjSe+kxerKZzAQtsWW/i8mLQ4osjJI0vhzoHRNkwMLKYt3cbbjMbVeOo?=
 =?us-ascii?Q?hwkN8ndS6F9uorOZjCuS9/l9rMaWDiPsG7aIeQ9qlaGnWLaD1zGjGD0oTMuE?=
 =?us-ascii?Q?dk7J7g0LN3g56OB0aJeghI+0nMqBcjmWdSeAyBTD6ck0Ksn0Q9huf0Yq6iEO?=
 =?us-ascii?Q?SyS1axiBbGKjHuWT2NUA8Td6OK/BitbRwE0hKFFKDVxu6Ip5RIRO/Ga8U2aL?=
 =?us-ascii?Q?qR4AK87ekwjrlvXWe1qdEzLNRWko+5+r8ffRfpTyjcBHL/PFq+Tptidb8Abr?=
 =?us-ascii?Q?WHY/3n9JCc+wiza7KEGAIZlzb0C2Yl775VeyXvRYX+Rk/hfnH0gkBgWNihvB?=
 =?us-ascii?Q?jfEtGg8em4L07ZxmKqYs6B5z6FEv63w3Ain3aOADyqH1uWqm1rsBXQZqYlNC?=
 =?us-ascii?Q?q0qfXdjxiQ91Sf9PHO+q0j4W6Wv7E0LCKJsdkxKB+dukQ+Q3j2g/FjwhsKMO?=
 =?us-ascii?Q?nT/cc4Di4O+r/lh0r9dpahkaRW8SSKrb3uFxlfFSigF0PQEfE4rv4bElCugA?=
 =?us-ascii?Q?kLNGxs0LD3NnK7odBKDgEzM74m6kT6KHCLDTCb/vsKI0eaDAIBfhdh5+m8kR?=
 =?us-ascii?Q?UwCAV2pETqcrPmOI0YaxcDZ0EdMTR6U5obeq5Bovd3fDDWskV1cnw5GoUBRe?=
 =?us-ascii?Q?Lxqlhj9/kzy1L3TAIBhHtMTEYPbCSflfhB6Z+oU5QISxBajs7ScpKqhVKbpk?=
 =?us-ascii?Q?K1eBjB5Uv5KaGBmxmTFNaRFYpPXgJ8cVDrEVRMX8R+MzM50HtyY5VasGEvPM?=
 =?us-ascii?Q?+dt1yVOX60mo7n9wxc85BcYl01TMK4pfElk171tzuY/miqr4O7W/4H21hTUP?=
 =?us-ascii?Q?AkggKjLwWtEE9pA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 08:40:25.1807
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 42630372-63f1-4844-a246-08dd5c8a8a55
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD78.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6999

This commit includes the following modification:
- Introduce helper function cpufreq_cmdline_parse_xen and
cpufreq_cmdline_parse_hwp to tidy the different parsing path
- Add helper cpufreq_opts_contain to ignore user redundant setting,
like "cpufreq=hwp;hwp;xen"
- Doc refinement

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 docs/misc/xen-command-line.pandoc |  3 +-
 xen/drivers/cpufreq/cpufreq.c     | 64 ++++++++++++++++++++++---------
 2 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 0c6225391d..a440042471 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -535,7 +535,8 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
   processor to autonomously force physical package components into idle state.
   The default is enabled, but the option only applies when `hwp` is enabled.
 
-There is also support for `;`-separated fallback options:
+User could use `;`-separated options to support universal options which they
+would like to try on any agnostic platform, *but* under priority order, like
 `cpufreq=hwp;xen,verbose`.  This first tries `hwp` and falls back to `xen` if
 unavailable.  Note: The `verbose` suboption is handled globally.  Setting it
 for either the primary or fallback option applies to both irrespective of where
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 894bafebaa..cfae16c15f 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -71,6 +71,46 @@ unsigned int __initdata cpufreq_xen_cnt = 1;
 
 static int __init cpufreq_cmdline_parse(const char *s, const char *e);
 
+static bool __init cpufreq_opts_contain(enum cpufreq_xen_opt option)
+{
+    unsigned int count = cpufreq_xen_cnt;
+
+    while ( count )
+    {
+        if ( cpufreq_xen_opts[--count] == option )
+            return true;
+    }
+
+    return false;
+}
+
+static int __init cpufreq_cmdline_parse_xen(const char *arg, const char *end)
+{
+    int ret = 0;
+
+    xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
+    cpufreq_controller = FREQCTL_xen;
+    cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_xen;
+    ret = 0;
+    if ( arg[0] && arg[1] )
+        ret = cpufreq_cmdline_parse(arg + 1, end);
+
+    return ret;
+}
+
+static int __init cpufreq_cmdline_parse_hwp(const char *arg, const char *end)
+{
+    int ret = 0;
+
+    xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
+    cpufreq_controller = FREQCTL_xen;
+    cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_hwp;
+    if ( arg[0] && arg[1] )
+        ret = hwp_cmdline_parse(arg + 1, end);
+
+    return ret;
+}
+
 static int __init cf_check setup_cpufreq_option(const char *str)
 {
     const char *arg = strpbrk(str, ",:;");
@@ -112,25 +152,13 @@ static int __init cf_check setup_cpufreq_option(const char *str)
         if ( cpufreq_xen_cnt == ARRAY_SIZE(cpufreq_xen_opts) )
             return -E2BIG;
 
-        if ( choice > 0 || !cmdline_strcmp(str, "xen") )
-        {
-            xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
-            cpufreq_controller = FREQCTL_xen;
-            cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_xen;
-            ret = 0;
-            if ( arg[0] && arg[1] )
-                ret = cpufreq_cmdline_parse(arg + 1, end);
-        }
+        if ( (choice > 0 || !cmdline_strcmp(str, "xen")) &&
+             !cpufreq_opts_contain(CPUFREQ_xen) )
+            ret = cpufreq_cmdline_parse_xen(arg, end);
         else if ( IS_ENABLED(CONFIG_INTEL) && choice < 0 &&
-                  !cmdline_strcmp(str, "hwp") )
-        {
-            xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
-            cpufreq_controller = FREQCTL_xen;
-            cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_hwp;
-            ret = 0;
-            if ( arg[0] && arg[1] )
-                ret = hwp_cmdline_parse(arg + 1, end);
-        }
+                  !cmdline_strcmp(str, "hwp") &&
+                  !cpufreq_opts_contain(CPUFREQ_hwp) )
+            ret = cpufreq_cmdline_parse_hwp(arg, end);
         else
             ret = -EINVAL;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903102.1311025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mL-0002mr-Hj; Thu, 06 Mar 2025 08:40:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903102.1311025; Thu, 06 Mar 2025 08:40: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 1tq6mL-0002mk-En; Thu, 06 Mar 2025 08:40:29 +0000
Received: by outflank-mailman (input) for mailman id 903102;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mJ-0002me-DT
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:27 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2406::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5ec11fb-fa66-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:40:26 +0100 (CET)
Received: from CH5P220CA0016.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1ef::22)
 by CH2PR12MB4070.namprd12.prod.outlook.com (2603:10b6:610:ae::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 08:40:20 +0000
Received: from CH1PEPF0000AD7B.namprd04.prod.outlook.com
 (2603:10b6:610:1ef:cafe::2b) by CH5P220CA0016.outlook.office365.com
 (2603:10b6:610:1ef::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 08:40:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD7B.mail.protection.outlook.com (10.167.244.58) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:19 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:16 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5ec11fb-fa66-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dNpQz/d406M00mg8rUPr41qO4A8wg9CTU8yGG1bLPeXvgtE5mLp1wFklt8XdhNOY4cMN9bqlgTGXtRZI0cPQvB/Q2YFH4V6ZkEOpbjHDaTu1CV7Xm97Js/mNQbtU4UB/ZTgVy0fs/uxdR16quyfl+yQ/4U9ONUmRy/XTbVyYYnZgu1/rSVo1RN/55W4ijRtNEQv/izfVpAvYVn6U9CkODY8eq6UsiEhcx4Wr4cSSasbrNfcYfpz2IFTsabY50gOD1ZtnVKeZvD8xJ+Fm6zBduvfgiAifZwF2LuvW2gHSGJjSHInMx1ii7LJluuQatQ9oiuEW/yxGpO+KzP7y/EiV0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yKOvWKKYyGeKig90v2DKrCqpQS+45XMDdJKriCQHITU=;
 b=SxrwUXxRm6mvkYqd1r8Y1DYKR0Msc3zQ5TUQS9LDSmVKp/2ddM4oeaN5Al0zBnr+PiwZNRAVrvvJauVarjQZcJEQcW6gSI/Yc0GWkdGHHH5R3/wZ7tQfL/TwupCiWdIdL2Kyj31oYm+WSz/WaG6KJKPHJedA8c1fMT46WIxOBDIJzyPu3xkiaFZxmnne4PwKpPd+JaRwFbKfUsdnHCtnFT8vdfnPYM9entR+gkrdNDdktx+YhfKOTwYS21FLnniC20rCy75brYc48R6vpvf/sjv73d1JSEwFT9M6jYBdORtCUX1625+R7uO3HAXe2j7ClL3fXQVjYfzfNxhMspey7Q==
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=yKOvWKKYyGeKig90v2DKrCqpQS+45XMDdJKriCQHITU=;
 b=HUJMr8J2csRS3piRwf49V0BeD0me1U2vnCsOmIOsrUFr2w/tzKbg/a94vGSYKdozPbrNOCVRhRqTwTAsVNdO0fubqBznbpQSZNVQOkZRkDQlSgO95/ntKP8vrPHgMRbDJl1z+7hSJIPtCeYl+7Zh5ROqGLjfM9AxeCk2Xps7lQ4=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 01/15] xen/cpufreq: introduces XEN_PM_PSD for solely delivery of _PSD
Date: Thu, 6 Mar 2025 16:39:35 +0800
Message-ID: <20250306083949.1503385-2-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7B:EE_|CH2PR12MB4070:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d8d66af-a130-4bc8-f280-08dd5c8a8711
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:
	=?us-ascii?Q?MgzRqoPMrAmAtp6L4FFb589g3umjqBQcyMJ+RkcQAmE4ulu8PnnwqlRs8F+L?=
 =?us-ascii?Q?vYBh/ksrc6Z3iYyoz/1t2hm7P8nSugKHe1PD0i69AqEMuepJ6jcYnJm8amXq?=
 =?us-ascii?Q?nxs6YX+3Az5BlTYPqmV+rL5Ps2biKnu2AImGqjRhpnePgovFwfeIsj8RG8xL?=
 =?us-ascii?Q?LoYXs9+NmWf8dOF8PxQER+tdpNoGqJoqWptuFsM5PhJe/HMUAZiR3UGrIrse?=
 =?us-ascii?Q?1x/AZ9XWKoy780FN/pGR5rkxXv0L7pTWC6yYB3zSv9XgynIsU/4ckKkLIsgw?=
 =?us-ascii?Q?4nFarWSF0ewFN9pR47deTJha0/+9OVqfzq1HRSMXlYf6x2ruy8q+ge8ZXC2Q?=
 =?us-ascii?Q?Gmj/OvW8S8mif/1trPfwvR7/Bo7xNmuAdcis+YWGKY0GJS23FoTFUiwmFrcb?=
 =?us-ascii?Q?ZggQEkVLyt9CjBpa1S7uzmXpeRM4SK6I4e6l90LXSq3pKRhj6tuWqFA3+x2Q?=
 =?us-ascii?Q?EV8tyfJGeyM1dzMQ0Pt9jt0M5NUXGewaGWVm5ddSdo1t2labqQvTNu1dcJ3A?=
 =?us-ascii?Q?n4a5VNwa2mnMclA70AkO7i8jS2ihDWosbbTDoZmtD03CBwsnB8lKXYSzfwID?=
 =?us-ascii?Q?bhvjwzbOCl5caSPnUeDXeLhKngc3UVdOnb4SsGfXR4YdiyW3F692HjcwgPJ2?=
 =?us-ascii?Q?X/qb6zdlhWtaqihdnJBxMJ67olVP/mwFLm4q8gBvzaBRjc2+zX3UaoXFrhdn?=
 =?us-ascii?Q?zB3hz0jlWebNGkNZQSACLyvXjM1JPTXfnMQU5gi0+526hROMDG5eMfWxy7M1?=
 =?us-ascii?Q?8jM/uvjHKyEPFGM8Yyy3wGhl+VWxwynVev7pSsH/kVAIH1gNypzW+pTuP+bz?=
 =?us-ascii?Q?tbi8fLlb3Uc1zRJJbz2u+6F2x//HO2lr2sNHMsVZjF+w4wLw8YzCKVQ8Z8sb?=
 =?us-ascii?Q?lV9fGqWRi81zPyWzR0OGzLRNKd7FN7RvHHrF7W6dCQ6ZvTpDyEpwSauvRs84?=
 =?us-ascii?Q?65BoVYRgMzPzOYXKMFP4d1dknIueFDn8yGPqG6UoEHIcSSIQuZUBybUAF3DX?=
 =?us-ascii?Q?4Ml0Zv5tBJt9ifucENvD9zblgTjfE5MEj+03AVNjcVpkjTPWE6dZQnHp22D3?=
 =?us-ascii?Q?NaNI8QbWng/zdGYaIfqZ+RR5rtgkoWMXS9UE3k5F00bDzXB1JQ6CacpgWG7p?=
 =?us-ascii?Q?J9VrnGwJx5knSyTGJEB7DZGrKBgJ14DmvcYn7TtDNOM0ncdcdvxNZhcpJIHT?=
 =?us-ascii?Q?gePSFiprMQSGCAzd50xIwo4vgFfKOi2MFxsexOgriGRm+d+KFEHBivD0iG+j?=
 =?us-ascii?Q?cHsjqujcxfwAX0lexinbqW+4s8wU3I1elS2nyJKWIBbqMDK/+/orMAqF0U4G?=
 =?us-ascii?Q?xpyAkXcqSQoMDDMduPvyNvwSUApbxanE4PFMmiDvZXk+UA/ucBsAc3Yc43iC?=
 =?us-ascii?Q?naS6ExpUj7V6Afcs7zpzedw2i4nJR/BLnTBrUAPKgg18VZzgs7hyJkXUEbP8?=
 =?us-ascii?Q?YWBwYEVVzhuoSLR5ORY/VywwKdc11Mb/eoEOG6p1DF2AzJJSHahL4H5TDru0?=
 =?us-ascii?Q?1ZeugoXo2LsCIZ8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:19.6883
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d8d66af-a130-4bc8-f280-08dd5c8a8711
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4070

_PSD(P-State Dependency) provides performance control, no matter legacy
P-state or CPPC, logical processor dependency information to OSPM.

In order to re-use it for CPPC, this commit extracts the delivery of _PSD info
from set_px_pminfo() and wrap it with a new sub-hypercall XEN_PM_PSD.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/arch/x86/acpi/cpufreq/acpi.c          |   2 +-
 xen/arch/x86/acpi/cpufreq/powernow.c      |   2 +-
 xen/arch/x86/platform_hypercall.c         |  11 ++
 xen/arch/x86/x86_64/cpufreq.c             |   2 +
 xen/drivers/cpufreq/cpufreq.c             | 122 +++++++++++++---------
 xen/drivers/cpufreq/cpufreq_ondemand.c    |   2 +-
 xen/include/acpi/cpufreq/processor_perf.h |   4 +-
 xen/include/public/platform.h             |  17 +--
 xen/include/xen/pmstat.h                  |   2 +
 xen/include/xlat.lst                      |   2 +-
 10 files changed, 103 insertions(+), 63 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/acpi.c b/xen/arch/x86/acpi/cpufreq/acpi.c
index 0c25376406..0cf94ab2d6 100644
--- a/xen/arch/x86/acpi/cpufreq/acpi.c
+++ b/xen/arch/x86/acpi/cpufreq/acpi.c
@@ -393,7 +393,7 @@ static int cf_check acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
     data->acpi_data = &processor_pminfo[cpu]->perf;
 
     perf = data->acpi_data;
-    policy->shared_type = perf->shared_type;
+    policy->shared_type = processor_pminfo[cpu]->shared_type;
 
     switch (perf->control_register.space_id) {
     case ACPI_ADR_SPACE_SYSTEM_IO:
diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c b/xen/arch/x86/acpi/cpufreq/powernow.c
index 69364e1855..69ad403fc1 100644
--- a/xen/arch/x86/acpi/cpufreq/powernow.c
+++ b/xen/arch/x86/acpi/cpufreq/powernow.c
@@ -218,7 +218,7 @@ static int cf_check powernow_cpufreq_cpu_init(struct cpufreq_policy *policy)
     data->acpi_data = &processor_pminfo[cpu]->perf;
 
     info.perf = perf = data->acpi_data;
-    policy->shared_type = perf->shared_type;
+    policy->shared_type = processor_pminfo[cpu]->shared_type;
 
     if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL ||
         policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) {
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 90abd3197f..b0d98b5840 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -571,6 +571,17 @@ ret_t do_platform_op(
             ret = acpi_set_pdc_bits(op->u.set_pminfo.id, pdc);
             break;
         }
+        case XEN_PM_PSD:
+            if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_PX) )
+            {
+                ret = -EOPNOTSUPP;
+                break;
+            }
+
+            ret = set_psd_pminfo(op->u.set_pminfo.id,
+                                 op->u.set_pminfo.shared_type,
+                                 &op->u.set_pminfo.u.domain_info);
+            break;
 
         default:
             ret = -EINVAL;
diff --git a/xen/arch/x86/x86_64/cpufreq.c b/xen/arch/x86/x86_64/cpufreq.c
index e4f3d5b436..d1b93b8eef 100644
--- a/xen/arch/x86/x86_64/cpufreq.c
+++ b/xen/arch/x86/x86_64/cpufreq.c
@@ -28,6 +28,8 @@
 
 CHECK_processor_px;
 
+CHECK_psd_package;
+
 DEFINE_XEN_GUEST_HANDLE(compat_processor_px_t);
 
 int compat_set_px_pminfo(uint32_t acpi_id,
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 4a103c6de9..638476ca15 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -36,6 +36,7 @@
 #include <xen/string.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
+#include <xen/xvmalloc.h>
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
@@ -201,15 +202,15 @@ int cpufreq_add_cpu(unsigned int cpu)
     struct cpufreq_dom *cpufreq_dom = NULL;
     struct cpufreq_policy new_policy;
     struct cpufreq_policy *policy;
-    struct processor_performance *perf;
+    struct processor_pminfo *pmpt;
 
     /* to protect the case when Px was not controlled by xen */
     if ( !processor_pminfo[cpu] || !cpu_online(cpu) )
         return -EINVAL;
 
-    perf = &processor_pminfo[cpu]->perf;
+    pmpt = processor_pminfo[cpu];
 
-    if ( !(perf->init & XEN_PX_INIT) )
+    if ( !(pmpt->perf.init & XEN_PX_INIT) )
         return -EINVAL;
 
     if (!cpufreq_driver.init)
@@ -218,10 +219,10 @@ int cpufreq_add_cpu(unsigned int cpu)
     if (per_cpu(cpufreq_cpu_policy, cpu))
         return 0;
 
-    if (perf->shared_type == CPUFREQ_SHARED_TYPE_HW)
+    if (pmpt->shared_type == CPUFREQ_SHARED_TYPE_HW)
         hw_all = 1;
 
-    dom = perf->domain_info.domain;
+    dom = pmpt->domain_info.domain;
 
     list_for_each(pos, &cpufreq_dom_list_head) {
         cpufreq_dom = list_entry(pos, struct cpufreq_dom, node);
@@ -246,18 +247,18 @@ int cpufreq_add_cpu(unsigned int cpu)
     } else {
         /* domain sanity check under whatever coordination type */
         firstcpu = cpumask_first(cpufreq_dom->map);
-        if ((perf->domain_info.coord_type !=
-            processor_pminfo[firstcpu]->perf.domain_info.coord_type) ||
-            (perf->domain_info.num_processors !=
-            processor_pminfo[firstcpu]->perf.domain_info.num_processors)) {
+        if ((pmpt->domain_info.coord_type !=
+            processor_pminfo[firstcpu]->domain_info.coord_type) ||
+            (pmpt->domain_info.num_processors !=
+            processor_pminfo[firstcpu]->domain_info.num_processors)) {
 
             printk(KERN_WARNING "cpufreq fail to add CPU%d:"
                    "incorrect _PSD(%"PRIu64":%"PRIu64"), "
                    "expect(%"PRIu64"/%"PRIu64")\n",
-                   cpu, perf->domain_info.coord_type,
-                   perf->domain_info.num_processors,
-                   processor_pminfo[firstcpu]->perf.domain_info.coord_type,
-                   processor_pminfo[firstcpu]->perf.domain_info.num_processors
+                   cpu, pmpt->domain_info.coord_type,
+                   pmpt->domain_info.num_processors,
+                   processor_pminfo[firstcpu]->domain_info.coord_type,
+                   processor_pminfo[firstcpu]->domain_info.num_processors
                 );
             return -EINVAL;
         }
@@ -305,7 +306,7 @@ int cpufreq_add_cpu(unsigned int cpu)
         goto err1;
 
     if (hw_all || (cpumask_weight(cpufreq_dom->map) ==
-                   perf->domain_info.num_processors)) {
+                   pmpt->domain_info.num_processors)) {
         memcpy(&new_policy, policy, sizeof(struct cpufreq_policy));
         policy->governor = NULL;
 
@@ -359,24 +360,24 @@ int cpufreq_del_cpu(unsigned int cpu)
     struct list_head *pos;
     struct cpufreq_dom *cpufreq_dom = NULL;
     struct cpufreq_policy *policy;
-    struct processor_performance *perf;
+    struct processor_pminfo *pmpt;
 
     /* to protect the case when Px was not controlled by xen */
     if ( !processor_pminfo[cpu] || !cpu_online(cpu) )
         return -EINVAL;
 
-    perf = &processor_pminfo[cpu]->perf;
+    pmpt = processor_pminfo[cpu];
 
-    if ( !(perf->init & XEN_PX_INIT) )
+    if ( !(pmpt->perf.init & XEN_PX_INIT) )
         return -EINVAL;
 
     if (!per_cpu(cpufreq_cpu_policy, cpu))
         return 0;
 
-    if (perf->shared_type == CPUFREQ_SHARED_TYPE_HW)
+    if (pmpt->shared_type == CPUFREQ_SHARED_TYPE_HW)
         hw_all = 1;
 
-    dom = perf->domain_info.domain;
+    dom = pmpt->domain_info.domain;
     policy = per_cpu(cpufreq_cpu_policy, cpu);
 
     list_for_each(pos, &cpufreq_dom_list_head) {
@@ -393,7 +394,7 @@ int cpufreq_del_cpu(unsigned int cpu)
     /* for HW_ALL, stop gov for each core of the _PSD domain */
     /* for SW_ALL & SW_ANY, stop gov for the 1st core of the _PSD domain */
     if (hw_all || (cpumask_weight(cpufreq_dom->map) ==
-                   perf->domain_info.num_processors))
+                   pmpt->domain_info.num_processors))
         __cpufreq_governor(policy, CPUFREQ_GOV_STOP);
 
     cpufreq_statistic_exit(cpu);
@@ -475,19 +476,13 @@ int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf)
                acpi_id, cpu);
 
     pmpt = processor_pminfo[cpu];
+    /* Must already allocated in set_psd_pminfo */
     if ( !pmpt )
     {
-        pmpt = xzalloc(struct processor_pminfo);
-        if ( !pmpt )
-        {
-            ret = -ENOMEM;
-            goto out;
-        }
-        processor_pminfo[cpu] = pmpt;
+        ret = -EINVAL;
+        goto out;
     }
     pxpt = &pmpt->perf;
-    pmpt->acpi_id = acpi_id;
-    pmpt->id = cpu;
 
     if ( perf->flags & XEN_PX_PCT )
     {
@@ -537,25 +532,6 @@ int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf)
             print_PSS(pxpt->states,pxpt->state_count);
     }
 
-    if ( perf->flags & XEN_PX_PSD )
-    {
-        /* check domain coordination */
-        if ( perf->shared_type != CPUFREQ_SHARED_TYPE_ALL &&
-             perf->shared_type != CPUFREQ_SHARED_TYPE_ANY &&
-             perf->shared_type != CPUFREQ_SHARED_TYPE_HW )
-        {
-            ret = -EINVAL;
-            goto out;
-        }
-
-        pxpt->shared_type = perf->shared_type;
-        memcpy(&pxpt->domain_info, &perf->domain_info,
-               sizeof(struct xen_psd_package));
-
-        if ( cpufreq_verbose )
-            print_PSD(&pxpt->domain_info);
-    }
-
     if ( perf->flags & XEN_PX_PPC )
     {
         pxpt->platform_limit = perf->platform_limit;
@@ -570,7 +546,7 @@ int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf)
         }
     }
 
-    if ( perf->flags == ( XEN_PX_PCT | XEN_PX_PSS | XEN_PX_PSD | XEN_PX_PPC ) )
+    if ( perf->flags == ( XEN_PX_PCT | XEN_PX_PSS | XEN_PX_PPC ) )
     {
         pxpt->init = XEN_PX_INIT;
 
@@ -582,6 +558,54 @@ out:
     return ret;
 }
 
+int set_psd_pminfo(uint32_t acpi_id, uint32_t shared_type,
+                   const struct xen_psd_package *psd_data)
+{
+    int ret = 0, cpuid;
+    struct processor_pminfo *pm_info;
+
+    cpuid = get_cpu_id(acpi_id);
+    if ( cpuid < 0 || !psd_data )
+    {
+        ret = -EINVAL;
+        goto out;
+    }
+
+    /* check domain coordination */
+    if ( shared_type != CPUFREQ_SHARED_TYPE_ALL &&
+         shared_type != CPUFREQ_SHARED_TYPE_ANY &&
+         shared_type != CPUFREQ_SHARED_TYPE_HW )
+    {
+        ret = -EINVAL;
+        goto out;
+    }
+    if ( cpufreq_verbose )
+        printk("Set CPU acpi_id(%d) cpuid(%d) _PSD State info:\n",
+               acpi_id, cpuid);
+
+    pm_info = processor_pminfo[cpuid];
+    if ( !pm_info )
+    {
+        pm_info = xvzalloc(struct processor_pminfo);
+        if ( !pm_info )
+        {
+            ret = -ENOMEM;
+            goto out;
+        }
+        processor_pminfo[cpuid] = pm_info;
+    }
+    pm_info->acpi_id = acpi_id;
+    pm_info->id = cpuid;
+    pm_info->shared_type = shared_type;
+    pm_info->domain_info = *psd_data;
+
+    if ( cpufreq_verbose )
+        print_PSD(&pm_info->domain_info);
+
+ out:
+    return ret;
+}
+
 static void cpufreq_cmdline_common_para(struct cpufreq_policy *new_policy)
 {
     if (usr_max_freq)
diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
index 06cfc88d30..5b23daaac1 100644
--- a/xen/drivers/cpufreq/cpufreq_ondemand.c
+++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
@@ -194,7 +194,7 @@ static void dbs_timer_init(struct cpu_dbs_info_s *dbs_info)
 
     set_timer(&per_cpu(dbs_timer, dbs_info->cpu), NOW()+dbs_tuners_ins.sampling_rate);
 
-    if ( processor_pminfo[dbs_info->cpu]->perf.shared_type
+    if ( processor_pminfo[dbs_info->cpu]->shared_type
             == CPUFREQ_SHARED_TYPE_HW )
     {
         dbs_info->stoppable = 1;
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index 301104e16f..19f5de6b08 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -27,8 +27,6 @@ struct processor_performance {
     struct xen_pct_register status_register;
     uint32_t state_count;
     struct xen_processor_px *states;
-    struct xen_psd_package domain_info;
-    uint32_t shared_type;
 
     uint32_t init;
 };
@@ -36,6 +34,8 @@ struct processor_performance {
 struct processor_pminfo {
     uint32_t acpi_id;
     uint32_t id;
+    struct xen_psd_package domain_info;
+    uint32_t shared_type;
     struct processor_performance    perf;
 };
 
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 2725b8d104..f5c50380cb 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -363,12 +363,12 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_getidletime_t);
 #define XEN_PM_PX   1
 #define XEN_PM_TX   2
 #define XEN_PM_PDC  3
+#define XEN_PM_PSD  4
 
 /* Px sub info type */
 #define XEN_PX_PCT   1
 #define XEN_PX_PSS   2
 #define XEN_PX_PPC   4
-#define XEN_PX_PSD   8
 
 struct xen_power_register {
     uint32_t     space_id;
@@ -439,6 +439,7 @@ struct xen_psd_package {
     uint64_t coord_type;
     uint64_t num_processors;
 };
+typedef struct xen_psd_package xen_psd_package_t;
 
 struct xen_processor_performance {
     uint32_t flags;     /* flag for Px sub info type */
@@ -447,12 +448,6 @@ struct xen_processor_performance {
     struct xen_pct_register status_register;
     uint32_t state_count;     /* total available performance states */
     XEN_GUEST_HANDLE(xen_processor_px_t) states;
-    struct xen_psd_package domain_info;
-    /* Coordination type of this processor */
-#define XEN_CPUPERF_SHARED_TYPE_HW   1 /* HW does needed coordination */
-#define XEN_CPUPERF_SHARED_TYPE_ALL  2 /* All dependent CPUs should set freq */
-#define XEN_CPUPERF_SHARED_TYPE_ANY  3 /* Freq can be set from any dependent CPU */
-    uint32_t shared_type;
 };
 typedef struct xen_processor_performance xen_processor_performance_t;
 DEFINE_XEN_GUEST_HANDLE(xen_processor_performance_t);
@@ -463,9 +458,15 @@ struct xenpf_set_processor_pminfo {
     uint32_t type;  /* {XEN_PM_CX, XEN_PM_PX} */
     union {
         struct xen_processor_power          power;/* Cx: _CST/_CSD */
-        struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS/_PSD */
+        xen_psd_package_t                   domain_info; /* _PSD */
+        struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS/ */
         XEN_GUEST_HANDLE(uint32)            pdc;  /* _PDC */
     } u;
+    /* Coordination type of this processor */
+#define XEN_CPUPERF_SHARED_TYPE_HW   1 /* HW does needed coordination */
+#define XEN_CPUPERF_SHARED_TYPE_ALL  2 /* All dependent CPUs should set freq */
+#define XEN_CPUPERF_SHARED_TYPE_ANY  3 /* Freq can be set from any dependent CPU */
+    uint32_t shared_type;
 };
 typedef struct xenpf_set_processor_pminfo xenpf_set_processor_pminfo_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_set_processor_pminfo_t);
diff --git a/xen/include/xen/pmstat.h b/xen/include/xen/pmstat.h
index 8350403e95..fd02316ce9 100644
--- a/xen/include/xen/pmstat.h
+++ b/xen/include/xen/pmstat.h
@@ -5,6 +5,8 @@
 #include <public/platform.h> /* for struct xen_processor_power */
 #include <public/sysctl.h>   /* for struct pm_cx_stat */
 
+int set_psd_pminfo(uint32_t acpi_id, uint32_t shared_type,
+                   const struct xen_psd_package *psd_data);
 int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *perf);
 long set_cx_pminfo(uint32_t acpi_id, struct xen_processor_power *power);
 
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index 3c7b6c6830..0d964fe0ce 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -168,7 +168,7 @@
 !	processor_performance		platform.h
 !	processor_power			platform.h
 ?	processor_px			platform.h
-!	psd_package			platform.h
+?	psd_package			platform.h
 ?	xenpf_enter_acpi_sleep		platform.h
 ?	xenpf_pcpu_version		platform.h
 ?	xenpf_pcpuinfo			platform.h
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903109.1311075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mW-00049I-TK; Thu, 06 Mar 2025 08:40:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903109.1311075; Thu, 06 Mar 2025 08:40: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 1tq6mW-000493-Pp; Thu, 06 Mar 2025 08:40:40 +0000
Received: by outflank-mailman (input) for mailman id 903109;
 Thu, 06 Mar 2025 08: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mV-0002me-7F
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:39 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20619.outbound.protection.outlook.com
 [2a01:111:f403:2009::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id adf85bdd-fa66-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:40:38 +0100 (CET)
Received: from CH5P220CA0006.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1ef::29)
 by SA3PR12MB8438.namprd12.prod.outlook.com (2603:10b6:806:2f6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Thu, 6 Mar
 2025 08:40:34 +0000
Received: from CH1PEPF0000AD7B.namprd04.prod.outlook.com
 (2603:10b6:610:1ef:cafe::c2) by CH5P220CA0006.outlook.office365.com
 (2603:10b6:610:1ef::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 08:40:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD7B.mail.protection.outlook.com (10.167.244.58) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:34 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:32 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adf85bdd-fa66-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jiGkm58SIq3A3nnw6v6N5KFzImrZEmlVc120q/g042Eqj2qXDjS3V0c7fBCSjbK9Lt5x7LlZlwWd2Dpl3lWyTu8lrhrDa+QDD9CRUPFcVEMKdX/nPj6TFmLXYoX+3ltSAVplFD6e1q+354Bs+rht1CT82nanRY/E3WtujiZoX0J5iTBSoqbYHo6Cpqj/JoTkQ6Ee5rPwRJQ1JwjZnNmS7pmHIwFgVm3a0DvCzcATlAQwURwY9oEhwxSCRFeYYnMoWNw856UTpPnEm4Jlk1DJLVqOV755Jk/WpjW+g9vWF6FuI90dmq0nXqHhMu7sJ4en9ZLt2fotG/bERRF1l0O+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=kSdlpwHNaFj5OS2imbtjum5c5CmmJOs5A2Jk0nNrpsQ=;
 b=WR4ei67p+3Kq6Wp4SuMfFVx+v9y4WBbnhNQFkbvXl7CbDtp35t4Y+DRAeQXO907XbfA47yR+Pqvzh3rq/gXoezW72PlCs2S18bKgSWvcDAAqc5Cj0hDja/h3qP1MXcMDZE8ZeCbg+UXKrzE8359ekM2ofI6jGoU+5YcMFlCTXKFyrBtZoCocm9YH6CHfl+gvd9ijUIYI3hb2xOZfXMwwBwmkTGKte3l9yzfjbt3YqJVmzcS/KgvHdqagMGDw3VeRWOOux8v//dIdpc4QiQa/W1ggVCXl0TCZW8CLAcHZUiVSrFjv6PcKrgjx6+EK2vobpJLGeb5liGkSNP/AatYenw==
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=kSdlpwHNaFj5OS2imbtjum5c5CmmJOs5A2Jk0nNrpsQ=;
 b=uFz02SrxFqG2q+00nXev7OH9gITS5DQAraXLXZU5azZ9T6JqnPeXzwvxbEcHhL73nSjRPuIdWCCHN2G4fpYMg6sTZrMbAD9QYGH4T412dujZU07WyreHC1qGHGAzWG0jKKfUzYB9VKkuA+WQuQwbCvEDsWQ3HU7G5ifrVZgNVm8=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 07/15] xen/cpufreq: fix core frequency calculation for AMD Family 1Ah CPUs
Date: Thu, 6 Mar 2025 16:39:41 +0800
Message-ID: <20250306083949.1503385-8-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7B:EE_|SA3PR12MB8438:EE_
X-MS-Office365-Filtering-Correlation-Id: 05d509fc-7ace-409e-4f05-08dd5c8a8fed
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?pr41rT1nieL4lrsw+V4JYD9MPfYoHWN3eArCKJkJxOlHZPIdWyf7H+3JRYRt?=
 =?us-ascii?Q?vIT5/jJR1a6NVLSxeRIVEVXY0E4DmgmOQFjz7IoCTuvqARouBaTQKltZJJJF?=
 =?us-ascii?Q?jl3MtJSlUjxkrkZo7dKcNPkh5z/ScLCjLduOr5BwXzo1d/diD2344OLpxJJy?=
 =?us-ascii?Q?A46kGYfGF6zjq9f/tHNX9pLGN0afPZw2hjFos4HyKmXrYlgN8ULKVqs4DIgZ?=
 =?us-ascii?Q?Y5UxR9XE3rbVeOXHQtQJuCV4WjE+uCdE7lKIFhqSgMKuX8uZxs56Dj5XopKe?=
 =?us-ascii?Q?XhM4vkcIlZu7jW7P8R8Bn90xQRmPZtT0AKilQtwLpGRRIAD4vaSBgglnSoth?=
 =?us-ascii?Q?+e5g7R2Is89me+p2WHkse9Ar+sz+v+X6+fSRMENnju4E4XI/OFaVJrcpaKZM?=
 =?us-ascii?Q?mjrPast2ifERKCkOnz9wCan2805WntrqIx3SZM4QrpVBYpZ/k6Y6zig1xJVu?=
 =?us-ascii?Q?0O0NtkNbk9JYrGo8PzA4ZiXb2CXGn5g4CL1cIwL9MwO1jfsvrrbmomilRI9d?=
 =?us-ascii?Q?Pmd+Aq2OdqRBnT9g8pq35T0PUCaAf2/Nma51/K2+PVNF2HtomnABNNeGjS9U?=
 =?us-ascii?Q?uHCcogdYax9XtQ98uJbUUg9O1DpD8i5+rz+tWLqt6hpQInSYKVDfGNQLDnKg?=
 =?us-ascii?Q?bfAfKfLVVqiRG4A5emuE4j8/sbi40qKxxx1ozLVJ43w7/ESw8Dlea3m/nQZK?=
 =?us-ascii?Q?lNxETwnTSxgJQcRb7QC5ODtEw0Ag4uJyqqMgyahe+b3OEP1w33CNO4OVRrE0?=
 =?us-ascii?Q?nqkA3XMqz2sL9hgbjHYFtQSfmH6FC/kA+v6kQy64TOmgzpPhQLAH1Gnirqsw?=
 =?us-ascii?Q?c69GvADM5svZIhu8BijIbsMFteEn2ZDV7GTIT6w/eaolqTGU1p84/kJvvWla?=
 =?us-ascii?Q?FtQyiIonLTSB/FiFQrb10y+TdZpGlTY9rF8fcybxD/FQ5/moQkVSSI1YIaRB?=
 =?us-ascii?Q?E2swfR+0hE8Uvpsst9DHjeAfT66Nxgg0Fyj7vzf28kIyQaj9NtLo/e+aGr/h?=
 =?us-ascii?Q?XGykxa1llovmX8FPrRF1OzZ7iBZWpvmXbpnoD+i8na9S95ZJdRxJgonZrMMp?=
 =?us-ascii?Q?LykzqBP6q/KxvRDj2DIQ/OH6caxY/EkqqiihrmjnJ9QV/b/W9YvtMHb5NTL9?=
 =?us-ascii?Q?lU3kHSdNkCbi7c90UvHr+qOdhELbfjsCkQ+gtXz/TUAbFt9VPcnclLjru6cN?=
 =?us-ascii?Q?q4A8LAFfyydB7o2McD1S5xlU9eRR4s9+K/aRYFE82aV9t1BH92vUmt3Ep3xo?=
 =?us-ascii?Q?oVrzFihMs0xYJ0L/PRMG5LB6trdnkG5tuHRgkOQk1Vsbj/N5fI1y8lRlDrSB?=
 =?us-ascii?Q?mCoOX8sg7Do190ngjVp8WNe9k0si5yu+aSEQbLKd2B4N9oGbJ29ckHJItjja?=
 =?us-ascii?Q?LLNMS9M+KoRFreQReAzl8c6BatEcJvzG9xaTWHS5mqMyD7fhAprxhan5cXf1?=
 =?us-ascii?Q?77nywQiCf/8vlHdQFQ+MAL9GF37nq/Gt/yjtZ8V0OHlJJT6NXQI3anEOMGmQ?=
 =?us-ascii?Q?MVcZb8mEiwjiKvo=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:34.5477
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 05d509fc-7ace-409e-4f05-08dd5c8a8fed
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB8438

This commit fixes core frequency calculation for AMD Family 1Ah CPUs, due to
a change in the PStateDef MSR layout in AMD Family 1Ah+.
In AMD Family 1Ah+, Core current operating frequency in MHz is calculated as
follows:
CoreCOF = Core::X86::Msr::PStateDef[CpuFid[11:0]] * 5MHz

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/arch/x86/cpu/amd.c | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 597b0f073d..7fb1d76798 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -572,12 +572,24 @@ static void amd_get_topology(struct cpuinfo_x86 *c)
                                                           : c->cpu_core_id);
 }
 
+static uint64_t amd_parse_freq(const struct cpuinfo_x86 *c, uint64_t value)
+{
+	ASSERT(c->x86 <= 0x1A);
+
+	if (c->x86 < 0x17)
+		return (((value & 0x3f) + 0x10) * 100) >> ((value >> 6) & 7);
+	else if (c->x86 <= 0x19)
+		return ((value & 0xff) * 25 * 8) / ((value >> 8) & 0x3f);
+	else
+		return (value & 0xfff) * 5;
+}
+
 void amd_log_freq(const struct cpuinfo_x86 *c)
 {
 	unsigned int idx = 0, h;
 	uint64_t hi, lo, val;
 
-	if (c->x86 < 0x10 || c->x86 > 0x19 ||
+	if (c->x86 < 0x10 || c->x86 > 0x1A ||
 	    (c != &boot_cpu_data &&
 	     (!opt_cpu_info || (c->apicid & (c->x86_num_siblings - 1)))))
 		return;
@@ -658,19 +670,20 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
 	if (!(lo >> 63))
 		return;
 
-#define FREQ(v) (c->x86 < 0x17 ? ((((v) & 0x3f) + 0x10) * 100) >> (((v) >> 6) & 7) \
-		                     : (((v) & 0xff) * 25 * 8) / (((v) >> 8) & 0x3f))
 	if (idx && idx < h &&
 	    !rdmsr_safe(0xC0010064 + idx, val) && (val >> 63) &&
 	    !rdmsr_safe(0xC0010064, hi) && (hi >> 63))
 		printk("CPU%u: %lu (%lu ... %lu) MHz\n",
-		       smp_processor_id(), FREQ(val), FREQ(lo), FREQ(hi));
+		       smp_processor_id(),
+		       amd_parse_freq(c, val),
+		       amd_parse_freq(c, lo), amd_parse_freq(c, hi));
 	else if (h && !rdmsr_safe(0xC0010064, hi) && (hi >> 63))
 		printk("CPU%u: %lu ... %lu MHz\n",
-		       smp_processor_id(), FREQ(lo), FREQ(hi));
+		       smp_processor_id(),
+		       amd_parse_freq(c, lo), amd_parse_freq(c, hi));
 	else
-		printk("CPU%u: %lu MHz\n", smp_processor_id(), FREQ(lo));
-#undef FREQ
+		printk("CPU%u: %lu MHz\n", smp_processor_id(),
+		       amd_parse_freq(c, lo));
 }
 
 void cf_check early_init_amd(struct cpuinfo_x86 *c)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903112.1311085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mY-0004QK-Ho; Thu, 06 Mar 2025 08:40:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903112.1311085; Thu, 06 Mar 2025 08:40: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 1tq6mY-0004Pl-Aw; Thu, 06 Mar 2025 08:40:42 +0000
Received: by outflank-mailman (input) for mailman id 903112;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mW-00031D-RJ
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:40 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2060c.outbound.protection.outlook.com
 [2a01:111:f403:240a::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad2e641a-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:38 +0100 (CET)
Received: from CH0PR13CA0045.namprd13.prod.outlook.com (2603:10b6:610:b2::20)
 by CY8PR12MB7337.namprd12.prod.outlook.com (2603:10b6:930:53::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 08:40:32 +0000
Received: from CH1PEPF0000AD79.namprd04.prod.outlook.com
 (2603:10b6:610:b2:cafe::bb) by CH0PR13CA0045.outlook.office365.com
 (2603:10b6:610:b2::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15 via Frontend Transport; Thu,
 6 Mar 2025 08:40:32 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD79.mail.protection.outlook.com (10.167.244.57) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:32 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:30 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad2e641a-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gAu+8fASJam+A4Dv5UyxArKvfBDgkxo/o3EFJHNSwMrqaLJLyNNl2EG4VzfusvU4XWmIzo7jLPRMvhLcy2OA38oMid+1Yjz/nHCgHjcgsbTH+Kt4VTBPSHWAbwRJpYGl7Si9Rzblqjk0cXxErGV25eCQ88KgaCossV4C3cTEI0kdnSvpt7ulHQY5m2AfXVaY6aUSUG82NUcWlx6orLH8hhSNJmMoP4ylRa94zpGaDLujV/fyltnqdbt9Sr52NAWKZ+E5lhyJEXm6eWirjOJVZvSoe9cpXcCOIE7TzUXkkxBVOS+uz1efy7TSh1EQ2e/V6/rzpM83f1znOHKIuvIXYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i6iDSLQoooiR5gm7higEaAq42NXQT6TzllxZUAXS+Vw=;
 b=YIBxtLaB23F+Vo+H5jza+Td797DaQ0bF7LLE2xi9fQquv1FUIuiYPlC4awUKxYMZSB2aXNrRNwVWlErNPLg+Ho1dhHmC5+j4NJMAy95TfEMkS9xteD7WKWnA9D8J/Upp+WiNGPoWQzj3AbFcsV6gtxlbAfB993vJsBwJQ9AewernThzrHgpRXIuSWjPBausrgMxho+hu6LJRIi/3spZgIndgzgNdrvlqEIVn4TI9ZJclVu3Y9E9tbjAlTE9kZpVihltqtEqsZr03rqa2zFADgb36uf+apBNr65I7ks+ZfJXXIfT9th9/zlRMtFr1TicrWvsvLVjCErmcdshgen1TIg==
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=i6iDSLQoooiR5gm7higEaAq42NXQT6TzllxZUAXS+Vw=;
 b=XV9OozZbO7q2Ib6tTb/hmGRA+mgkfwMIunH+M9KwFBzKnUjYfq9cEkXISnENMOsuPIcw63t7LOI6cltoEaWXb/ZQXHGtHSf53mguq3PcZvPWXvFdLOF7WJi38Krgm3ZP5/7DuGyFYlJlFtfAjw0uaQ4hMZvqDkzwhHR+G7mAeg0=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v3 06/15] xen/cpufreq: disable px statistic info in amd-cppc mode
Date: Thu, 6 Mar 2025 16:39:40 +0800
Message-ID: <20250306083949.1503385-7-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD79:EE_|CY8PR12MB7337:EE_
X-MS-Office365-Filtering-Correlation-Id: 7465ab14-b1ac-4cf0-99e9-08dd5c8a8eb2
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:
	=?us-ascii?Q?EhxPXJVmpEJGzpB4IstWSTsDcA2IlljFxTwU/gv90KasrD6PKXFV6wzW1HtZ?=
 =?us-ascii?Q?/i2jt4InqHbqqwkuenpEXCyEw2/5WHUo593968/zCxUAGlB6MdVPC159CjT5?=
 =?us-ascii?Q?CtwZgdL67j3f2bS7FZkoQQzyfKEsd6oh/xEHdSJezWH46ybyw9kKTXZtbNUC?=
 =?us-ascii?Q?mVYzR/tE9Vo4oM/0VLqDeuacatMwPa4gsnSfojIY0S43BGnhuWZQDwZ9PUfU?=
 =?us-ascii?Q?o54DbiSlf85/689BpkixnF8MSmGQXwWK1qp0ftwQDWkfdFGNJZmt/1rAWSBt?=
 =?us-ascii?Q?UgT+kfOT+n//fcsQvJ7af1QE+WW8bHXB/Sqfy782QY1wEgwzc3/QM1o03KKK?=
 =?us-ascii?Q?TnZiLMlP4DgpTeJ738IJdBwCrYgID0C/TVW7DQzAr/60WqB27jfNnpRLZ7QA?=
 =?us-ascii?Q?YCcTdEc+NBQu/vMu1kjI7EpwBaW3iPcq/yb6Z0FG+wzVKz6Frqk4z1/XR1VI?=
 =?us-ascii?Q?naJ7qdEITcr+ouewL2aqIrq1TApUwiLN+CQpM9P+5EP08M7Wv3UGZYz8kZU0?=
 =?us-ascii?Q?PWmWUBffMAFAuhRZ0/p+BxlWJKUJgCdWyiYmjApr+ynmws2VLn38UasgWPx1?=
 =?us-ascii?Q?lY1PQZkKWI2/VxWl3M5HhsxDVrwlEuXsW62jL/DgV7fuaqPC9bJmPwp6o/mk?=
 =?us-ascii?Q?357BtR38tUZSz/lo9gkv75nKeL9DV4JEuLgsFfyn31UOnftM1kaFKn/4MHOq?=
 =?us-ascii?Q?sRDIAN8VghPfovvaif0SRhGLrcMduHQk6eztO26r5+3THtEojSptgyMOMgvg?=
 =?us-ascii?Q?mTUS+vWr984LMyHaAF4Eil6JOWYS2CZLlM0+3kq8kH6DEg1LLyf3oGrt9kSJ?=
 =?us-ascii?Q?FQBXgbBBayIgXqEbqVPpiX5J9NZlBx3uhLo7tFgI3dLnjVeA2MaQfVSNeqC1?=
 =?us-ascii?Q?Yg78HhuLc3agJO+2zw6oXjCHlD/RPHZ4xK2qCdYYz1vyDlEShIyAuCYM56T4?=
 =?us-ascii?Q?z0g65bZxUC9ILtGbCocF/umsZx8DCvihA+MoyIHfWt+hkVqhNlN/SXB5EDhe?=
 =?us-ascii?Q?fIciVmByl3npwWNSmPDrkDB8NTs632zAxBoyaNdtGWPPWHSik++HlBKpFMzG?=
 =?us-ascii?Q?Zad4qM3lbfjIZjcp2nmGzl7TNKmZoDiYO145xUAi504HlrFAT6MZINuYV0Pg?=
 =?us-ascii?Q?Yn/ZpvBoSE7ZzvjmNnfyA0Z5zDc1qaLSFV0Jtr6ag75rHcehUBweUzCjWyhl?=
 =?us-ascii?Q?+AHfcn6OrEx2wKO8iwSWoSN2OmFE91cTK3jFbRyjeDDwMA7YFYhE9zxPiH7h?=
 =?us-ascii?Q?nXrPakqCkLNN2DEhiz9IRqOEhkdW7sFptFdCdD056v542JveJQAftLbzBor6?=
 =?us-ascii?Q?QlCffLVf7MT+oI+XHMBylngCHI6P+Ymg73dEKARJkips/mlYiwYF16AFHd1b?=
 =?us-ascii?Q?mGo0RF9HTgJ01ZQg5/GCrPij6tNb3NZS/GMLYCOWV9+WYDQVlYnZUx2kK7Dx?=
 =?us-ascii?Q?ObzvVxEV2//h1AsVu+SXyeUzWXCOs6CgUBWmbPXwkn0HEs96WZdB9ziXoLCU?=
 =?us-ascii?Q?M1uvo6xPOUeNHLE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:32.5008
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7465ab14-b1ac-4cf0-99e9-08dd5c8a8eb2
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD79.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7337

Bypass cnstruction and deconstruction for px statistic info(
cpufreq_statistic_init and cpufreq_statistic_exit) in cpufreq
CPPC mode.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/drivers/cpufreq/utility.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/drivers/cpufreq/utility.c b/xen/drivers/cpufreq/utility.c
index e690a484f1..f1fd2fdbce 100644
--- a/xen/drivers/cpufreq/utility.c
+++ b/xen/drivers/cpufreq/utility.c
@@ -98,6 +98,9 @@ int cpufreq_statistic_init(unsigned int cpu)
     if ( !pmpt )
         return -EINVAL;
 
+    if ( !(pmpt->init & XEN_PX_INIT) )
+        return 0;
+
     spin_lock(cpufreq_statistic_lock);
 
     pxpt = per_cpu(cpufreq_statistic_data, cpu);
@@ -147,8 +150,12 @@ int cpufreq_statistic_init(unsigned int cpu)
 void cpufreq_statistic_exit(unsigned int cpu)
 {
     struct pm_px *pxpt;
+    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
     spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
 
+    if ( !(pmpt->init & XEN_PX_INIT) )
+        return;
+
     spin_lock(cpufreq_statistic_lock);
 
     pxpt = per_cpu(cpufreq_statistic_data, cpu);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903113.1311089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mY-0004Up-SF; Thu, 06 Mar 2025 08:40:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903113.1311089; Thu, 06 Mar 2025 08:40: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 1tq6mY-0004Ts-Lo; Thu, 06 Mar 2025 08:40:42 +0000
Received: by outflank-mailman (input) for mailman id 903113;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mX-0002me-A3
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:41 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20615.outbound.protection.outlook.com
 [2a01:111:f403:2415::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af3600da-fa66-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:40:40 +0100 (CET)
Received: from CH0PR03CA0312.namprd03.prod.outlook.com (2603:10b6:610:118::21)
 by CH0PR12MB8531.namprd12.prod.outlook.com (2603:10b6:610:181::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 08:40:36 +0000
Received: from CH1PEPF0000AD78.namprd04.prod.outlook.com
 (2603:10b6:610:118:cafe::30) by CH0PR03CA0312.outlook.office365.com
 (2603:10b6:610:118::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 08:40:36 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD78.mail.protection.outlook.com (10.167.244.56) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:36 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:34 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af3600da-fa66-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=woixVp+4Kvk9+vb1eLrU11Ai6jzi+fNyxt714VTRNWdx2cyUKHmdABMbtEdjiUEHxMtUfYPeEOmy+2qmM77DdPkDurgWzWAxNjTYBYWOSYjFcTG6+5zKEOjbWXsDkWcGEmMPpUJVDHVwhpzSy0vGfgGYP2ifskFljrTxLT17OjU6VwhZ3TrBO1sBh11AXYuIEEuMFxhFPmAob+/i4giZ9uTIvlxBRhVTNaFy5DH7lzSCEMsZKzUVjbSOhTqm1pXuBttasLRmiIYIleFUa5I04xJNl568j4Uo8+LRHVJjrCVEa3kIe54IZoWvbgLT27qiZzElu5NHfrjFGB5sMAOKtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B6CnOecAYFlbYtAmXNZIM52L5jLL9etV56RibsihqlM=;
 b=eRgyBptrM7j1j77ja7PC/Lf4Zcko8U89t3ebdiGayTb1MU7h93/ECr5h9B8uCGzoosqN1itQs1vS2mI87SHl0FU9HNYhqhGMNuxaUR6dKdgPYlmX78/sKAqPcMR1Kst/zck9eo0nsew7OhNMo6exr3Vx9fOf/XrEhXgnuWMhzZ+F+CPYqlaDwP9UaSoUf6owGa/9jXZ4vU3nU8WQTTknKUEDh/5wzpnayr7bAnGh6XxgeKukvWUwEfKjgXV8QLdZ92/cZs+yJOsXSqkNW1lzKAmcPRi6PmrRK24EoqKhpGyx1NBAh62kgkOKCRQgkfXz4EO5YCnrGfDy9ztls/RskQ==
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=B6CnOecAYFlbYtAmXNZIM52L5jLL9etV56RibsihqlM=;
 b=3nyhcJ9GYHwB/seN63njxV4qLQy9NvR4oV1Wyr1KmBVw7/JB7Q3+MPEN+gBCwjBLeGjjfmBJGtxC2k/R81l11oJoCmofLPpGy0xJidvtT38RRjoIqBsD2X9sBWtXy6nfOdbn8s3DvB5iiVXdSBpVk8fEMTYd3H10yxLPljeC8Qs=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 08/15] xen/amd: export processor max frequency value
Date: Thu, 6 Mar 2025 16:39:42 +0800
Message-ID: <20250306083949.1503385-9-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD78:EE_|CH0PR12MB8531:EE_
X-MS-Office365-Filtering-Correlation-Id: 1926a8fb-da75-462d-699c-08dd5c8a9130
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?MBkOcWnBaTGia9nkDmX6dcySX2kf+wgKIlzcCswiq3c4OXa0hhCRv4FfIjqd?=
 =?us-ascii?Q?Z1BfwTVqLGDILT1sTb6r7BR8Lln/XLUtrypBmjaycXmaFsM91joBFcB11ek2?=
 =?us-ascii?Q?AD1bZTiE5reXwls6rqcV/nupo2B3yUU9iXdnYaYpj/fB5XdLacPmP3ruah0F?=
 =?us-ascii?Q?5VenZpNd1JdqUn+crWrqr765f196J6nDkn0j1QQIt1lNP3S+47fhpll0sBPZ?=
 =?us-ascii?Q?n/8V/VVUm4zT0U7Cw22Que/eWBfq6h8LL0sOXTNipwkGwv3BDFp7I29+c9p2?=
 =?us-ascii?Q?VZWVo0SkFU4FpYgH+BhjJH6J6gINVy2wt1uCgTMS2EXWlEGaWQWG4qnGwV3v?=
 =?us-ascii?Q?mlx7UzLDE9l7mmY6YN1zdadGAmEKBN5JThkHzfRhX9IuNMW39wmwmpTGdhv4?=
 =?us-ascii?Q?tXvJaiwm9hhwbIU2ZaG0sOSxrVVYzdEQODhu2uHrnD0juHmwtH6qg9Io46zX?=
 =?us-ascii?Q?0HIWBTq2GRnCzZvSy+5E16FV2nAqtuokyLvMxkoVSuTobL3tT1RcmsEhQl3p?=
 =?us-ascii?Q?D+KQGXbmJiKmPzMHIBOX7rNjX9TW6xcgMK8zfTuv+1w/wuiGH5htTzTkxCv7?=
 =?us-ascii?Q?FAv3dEbVPKeHDAWh+QnRBmB2+L1mfQJcNeUn0C7l7lmMJpcsMbf2l4meCqMm?=
 =?us-ascii?Q?XbbhQOWrifSO0B0tfYVtFtGBsqK2sEsbvFx7oiAlQKI44mvTw8KWFlD4N4zd?=
 =?us-ascii?Q?KGIDukAhkE+XiARB4KZefWJJeDHyeKqZu0dJ3AlwtkAG5pTEEO4e4RpBwCH2?=
 =?us-ascii?Q?6BsACQiX7AlvuaAsw6/NDnZejgLlHur8z9MDCrwAykEsLma23/p6CaVCSTq9?=
 =?us-ascii?Q?yADhMUpM/fcpY39OjnxedR3vFNPZxGOH2hGJorwJYtG3mShR1ZWz/qqWBKPs?=
 =?us-ascii?Q?EcUjHHiE6vA0KUKXTgoHItlWcNd5WvyWJBSjs8Nu2UtwlUeDNyw6dRbrEbv1?=
 =?us-ascii?Q?M4fo17osFqbpvhZPxabrK9ovK1Yh8h5u89aZEsKAcLZb5/M9gYVJ1ttGWCJK?=
 =?us-ascii?Q?Xm4U/q6pQpumJZSytoKp5GCLh3FiXOHKtm1GzsZ1rTJT4K9gUy5luaDG0oKe?=
 =?us-ascii?Q?HOf0aRJEzYxx/55B9iEXDcFokhVTNAfUmHZ3AXOUqyRrJKCsJKoYLG377qh0?=
 =?us-ascii?Q?lnBwtB5gItzdvcf7iKvMdo7DkMf/r/hZuiSyNcreN1170m1Rv4/1wKiS+reT?=
 =?us-ascii?Q?X+6IXIxmWwq8D2D5kolyXT1uWpiDfDJvAwuzmXNyShVlRLwjQzixzqo+wCE8?=
 =?us-ascii?Q?GSA34dgA6tTeB/H/LVnB95kFB7EOFTXzk2XC5IqzhQixh0GQXn8SdzGmyQPY?=
 =?us-ascii?Q?MK6tG4Ddd7ziEN+JvmmTeCXDdNySJIjqiCU11z/vfHLtGLSYz0pufLJtQ0kj?=
 =?us-ascii?Q?/Yh12/W/x7HTcYhaYkvi/HmSbyo0AJfwTP4ovsa+hj+agV40hrB1mAUBR3xI?=
 =?us-ascii?Q?dlow/U4TN4FTgidnSTFmsEL8yVaRgPYeqtFr3vsJEgjf9ekWin1i3gZeZicT?=
 =?us-ascii?Q?bsqPzQBQBbF6UzI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:36.6652
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1926a8fb-da75-462d-699c-08dd5c8a9130
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD78.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8531

When _CPC table could not provide processor frequency range
values for Xen governor, we need to read processor max frequency
as anchor point.

For AMD processors, we export max frequency value from amd_log_freq()

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- new commit
---
xen/amd: export processor max frequency value

When _CPC table could not provide processor frequency range
values for Xen governor, we need to read processor max frequency
as anchor point.

For AMD processors, we export max frequency value from amd_log_freq()

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- new commit
---
v2 -> v3:
- Replace per_cpu with this_cpu
- Add amd_ prefix for AMD-only variable
---
 xen/arch/x86/cpu/amd.c         | 10 +++++++++-
 xen/arch/x86/include/asm/amd.h |  1 +
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 7fb1d76798..6ab1cff3e5 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -56,6 +56,8 @@ bool __initdata amd_virt_spec_ctrl;
 
 static bool __read_mostly fam17_c6_disabled;
 
+DEFINE_PER_CPU_READ_MOSTLY(uint64_t, amd_max_freq_mhz);
+
 static inline int rdmsr_amd_safe(unsigned int msr, unsigned int *lo,
 				 unsigned int *hi)
 {
@@ -681,9 +683,15 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
 		printk("CPU%u: %lu ... %lu MHz\n",
 		       smp_processor_id(),
 		       amd_parse_freq(c, lo), amd_parse_freq(c, hi));
-	else
+	else {
 		printk("CPU%u: %lu MHz\n", smp_processor_id(),
 		       amd_parse_freq(c, lo));
+		return;
+	}
+
+	/* Store max frequency for amd-cppc cpufreq driver */
+	if (hi >> 63)
+		this_cpu(amd_max_freq_mhz) = amd_parse_freq(c, hi);
 }
 
 void cf_check early_init_amd(struct cpuinfo_x86 *c)
diff --git a/xen/arch/x86/include/asm/amd.h b/xen/arch/x86/include/asm/amd.h
index 9c9599a622..cf9177c00a 100644
--- a/xen/arch/x86/include/asm/amd.h
+++ b/xen/arch/x86/include/asm/amd.h
@@ -174,4 +174,5 @@ bool amd_setup_legacy_ssbd(void);
 void amd_set_legacy_ssbd(bool enable);
 void amd_set_cpuid_user_dis(bool enable);
 
+DECLARE_PER_CPU(uint64_t, amd_max_freq_mhz);
 #endif /* __AMD_H__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903116.1311105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mb-00053L-7n; Thu, 06 Mar 2025 08:40:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903116.1311105; Thu, 06 Mar 2025 08: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 1tq6mb-000535-3I; Thu, 06 Mar 2025 08:40:45 +0000
Received: by outflank-mailman (input) for mailman id 903116;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mY-00031D-RM
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:42 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20602.outbound.protection.outlook.com
 [2a01:111:f403:2414::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad7fa42e-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:38 +0100 (CET)
Received: from CH5P223CA0023.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:1f3::28)
 by MW4PR12MB7141.namprd12.prod.outlook.com (2603:10b6:303:213::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 08:40:31 +0000
Received: from CH1PEPF0000AD75.namprd04.prod.outlook.com
 (2603:10b6:610:1f3:cafe::d7) by CH5P223CA0023.outlook.office365.com
 (2603:10b6:610:1f3::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 08:40:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD75.mail.protection.outlook.com (10.167.244.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:30 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:27 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad7fa42e-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TGLpXoeLfb5Opiao3AgN3Qs7BsENo3HQ0OOB20z3CprmUsrNvBGgbICtSZuAMdb4jBOVJA/BvbFBJroXSI3NZpWhEq2jZQsw4fMuAH/8O71DoHISb1zaZSC5TSFohvVFBaSbcucLe4GLgmpTMFFR8XjS1uQpMApp44Vfbh4jyCwuuqPeb4wE8DrvuAk5Dac0jnCjr8MgI+DU+Sj3tWpbSAAdFqVBM6JTfu9vDQx4ND42vQ4e2gLrKP9ayQaCQ6r3e+5nbc9uWmblPQUkgYfrK6Fl/xol/mbWyN5iwt07JGja9n4y4hpbR0Ys43BOG6DnnFtLVjQOPobIAL873UNm7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=piO4+883ZfVtGHcOIOHWtqXT2pybhGRl+F06YWzchwE=;
 b=OlVX/hu5OqLD56rE2NMh/iY8mGJ6KmZN7wsfhm99o5cgit7rb1ACVNFJwP6J3Ns08xxW874ZXaMwB/Kmw6bikjvE2jUH9dKlXdDSLPkMARBnnq33b1t0VYMcMbLndpzDfZIVm/hb7DD6hrA5ZhSX0b6ixA0V6raViY4DbLwkcQghuh5myJaLNa0CylTunp9uNdsb1JPeczD23DnSTiI5N+DyGfuN91TJfvsh9Mbe/T2cfbd28yLENJp+PMcrnjtslg4nLmbdF0A/dgcHLFl74j8knT9CtZ/JQuEs2y3xeR8tPkaDwUK7+diaASX6UZGHwDjWtEoM5ONPTEY06TJdnw==
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=piO4+883ZfVtGHcOIOHWtqXT2pybhGRl+F06YWzchwE=;
 b=KJU0ibhEXNSUm9rGFOPRfdsQwxFSoJ1nXXYlcSY/xqavyk7oDaaI7Ln+8bX2PnBgiAljzrkZ5+K5cw9ubK9LQgPraP0Dp/YA7XZyTimuetD7nxJkGg5q2x7HJWyYTolKe+Qw50kj6QvBguDMuUoNValRXEBvt8PcqbqF1lKOtCo=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen cmdline
Date: Thu, 6 Mar 2025 16:39:39 +0800
Message-ID: <20250306083949.1503385-6-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD75:EE_|MW4PR12MB7141:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b709cee-11e9-4740-aa51-08dd5c8a8db3
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?uN2uaU9k5A8Cao0oGN9kz/aW+PTD8q+TN5mTUg2chxzP3mQksqq/gN2WJlYz?=
 =?us-ascii?Q?RrhjhBnQfJOxkufK6oNV4xDdZ7M+XZ25GFil3ugr/Y0E/kXwFbQotCn4V/rd?=
 =?us-ascii?Q?ZAWXsZu4B7smCaZBsAdmqZp+yASLbmUJlllS9wfQVffn229/t4IGr94jfpFZ?=
 =?us-ascii?Q?6Ua+lEjNShq64s+NcskD9u0Id0phMMcKVrz+WlDmZ/HYE2Rn59q7gRQNXDks?=
 =?us-ascii?Q?m995x+P9VkAT4bf01gxHycr273KF0pYgnYiZttO+rXt3bhmOavqTQZxCZMI5?=
 =?us-ascii?Q?Mty3VlUuMA+JddUWsNXCpaNxIJ+d7JtGf/aRaLFXm1uP8Wxn4NNjjC5aYtqA?=
 =?us-ascii?Q?xfvViMi7IW/LQKv+wr3ASIrS5rK6EDMlGzDwL6Rtc597ya+YvoQkfLqGNqum?=
 =?us-ascii?Q?Gq+uO1CthWG8+p9/XOxOoTJ82yPjZG4OpB/8X+yWZcdZggTHjQDSFbAGyDbo?=
 =?us-ascii?Q?+oViMZ/xiTVY/y6sSpEf4CqHqqWa7xYquFaMGoCEYsAxJD4jNnWiQQvHYah+?=
 =?us-ascii?Q?YAEv/b7tWTdHEe6nbSixdTqF+HKUieJGkrcH49maBt6+ITy1zjnYwZYBkgWU?=
 =?us-ascii?Q?y/4S0VNTJq9UTW2iUVC0NfqEkmmUfNZEfTI571U6INoBcpHVbwu34tLqcam3?=
 =?us-ascii?Q?u9vcqIrw4X0oainFhhWLz9n4Y1egdR7bzg2SPy3AVqJs7MO6EnS50vMgjAbK?=
 =?us-ascii?Q?vdcUTHEC05IHDGN5dx23TxDNvxcUWM9rjQXrCTEsTCwL2Et3rpbavApzxKL1?=
 =?us-ascii?Q?zXeeTw8zXZAnJlfuJK78kzi2MKS/TR+tPbM3LBTV9/YwjIIAGjp8AW2ACNRW?=
 =?us-ascii?Q?rViVQRX7ZASxDtjtWaF7Y0KoGD/KHynTa51utUM/jgL5H0dirLUzLKZyDi3B?=
 =?us-ascii?Q?eE6H+qcBxavbtbcRViSe6DdXranDuZ0vmFon7d5K4GCk6g9ELc6TS5efPAYb?=
 =?us-ascii?Q?exHH/dZLsbmkn8yuUbO+FC5vO2YXwv98Q8O/8lkBekiPVfSGXN9p24zNerAM?=
 =?us-ascii?Q?PQghKcQfzcJEcPtJeZsa6ursh23/wvo+A27CRhrdUvrA6LZkyxyHrb2RdPqI?=
 =?us-ascii?Q?ZAqCvFOWhksoa00vHlPNqjpGWXQ2R8CVSOvweE4yKSfFaVCg1YGlOEhxE4cG?=
 =?us-ascii?Q?BRGk3DOJXKrRQ7rstcjfPczNoc8XC6ZJj/2H/DVvHvOZ1wkqMOPmZ622ZbF0?=
 =?us-ascii?Q?XAbJUgh0syg8n2S503igmUWp6DaowKVO+9SM8dnG2pqH8vjqIdLMBrudxq/m?=
 =?us-ascii?Q?rh+zLYhJHXFhQFJTrSVeVBtSbY6/Z/cpDzcWNRpBJ8VTlsfPHnS8uuGYw9LK?=
 =?us-ascii?Q?AcJnEpTCbhR19IK25xq2cyioJ7eg70lkpsemFYeGgB8dXc+eERtNYOj0HAzL?=
 =?us-ascii?Q?CAZ0S+8gfc9SeWxfgeUDqVC4AIxc8o21mR2x8kL8a5DdMtGgWoax5Zd3Y+oy?=
 =?us-ascii?Q?erv/KjWG0u2ng5EE5lVLKkJm/Z1WYMyNIVPKb8JtderW8cZc5UXZ27ueiE9/?=
 =?us-ascii?Q?UnsfKA882UxdHFA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 08:40:30.8301
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b709cee-11e9-4740-aa51-08dd5c8a8db3
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD75.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7141

Users need to set "cpufreq=amd-cppc" in xen cmdline to enable
amd-cppc driver, which selects ACPI Collaborative Performance
and Power Control (CPPC) on supported AMD hardware to provide a
finer grained frequency control mechanism.
`verbose` option can also be included to support verbose print.

When users setting "cpufreq=amd-cppc", a new amd-cppc driver
shall be registered and used. Actual implmentation will be introduced
in the following commits.

Xen is not expected to support both or mixed mode (CPPC & legacy PSS, _PCT,
_PPC) operations, only one cpufreq driver gets registerd, either amd-cppc or
legacy P-states driver, which is reflected and asserted by the incompatible
flags XEN_PROCESSOR_PM_PX and XEN_PROCESSOR_PM_CPPC.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- Obey to alphabetic sorting and also strict it with CONFIG_AMD
- Remove unnecessary empty comment line
- Use __initconst_cf_clobber for pre-filled structure cpufreq_driver
- Make new switch-case code apply to Hygon CPUs too
- Change ENOSYS with EOPNOTSUPP
- Blanks around binary operator
- Change all amd_/-pstate defined values to amd_/-cppc
---
v2 -> v3
- refactor too long lines
- Make sure XEN_PROCESSOR_PM_PX and XEN_PROCESSOR_PM_CPPC incompatible flags
after cpufreq register registrantion
---
 docs/misc/xen-command-line.pandoc         | 16 +++--
 xen/arch/x86/acpi/cpufreq/Makefile        |  1 +
 xen/arch/x86/acpi/cpufreq/acpi.c          | 12 +++-
 xen/arch/x86/acpi/cpufreq/amd-cppc.c      | 78 +++++++++++++++++++++++
 xen/arch/x86/acpi/cpufreq/cpufreq.c       | 34 +++++++++-
 xen/arch/x86/platform_hypercall.c         | 11 +++-
 xen/drivers/cpufreq/cpufreq.c             | 17 +++++
 xen/include/acpi/cpufreq/cpufreq.h        |  4 ++
 xen/include/acpi/cpufreq/processor_perf.h |  7 +-
 xen/include/public/sysctl.h               |  1 +
 10 files changed, 169 insertions(+), 12 deletions(-)
 create mode 100644 xen/arch/x86/acpi/cpufreq/amd-cppc.c

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index a440042471..b3c3ca2377 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -515,7 +515,7 @@ If set, force use of the performance counters for oprofile, rather than detectin
 available support.
 
 ### cpufreq
-> `= none | {{ <boolean> | xen } { [:[powersave|performance|ondemand|userspace][,[<maxfreq>]][,[<minfreq>]]] } [,verbose]} | dom0-kernel | hwp[:[<hdc>][,verbose]]`
+> `= none | {{ <boolean> | xen } { [:[powersave|performance|ondemand|userspace][,[<maxfreq>]][,[<minfreq>]]] } [,verbose]} | dom0-kernel | hwp[:[<hdc>][,verbose]] | amd-cppc[:[verbose]]`
 
 > Default: `xen`
 
@@ -526,7 +526,7 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
 * `<maxfreq>` and `<minfreq>` are integers which represent max and min processor frequencies
   respectively.
 * `verbose` option can be included as a string or also as `verbose=<integer>`
-  for `xen`.  It is a boolean for `hwp`.
+  for `xen`.  It is a boolean for `hwp` and `amd-cppc`.
 * `hwp` selects Hardware-Controlled Performance States (HWP) on supported Intel
   hardware.  HWP is a Skylake+ feature which provides better CPU power
   management.  The default is disabled.  If `hwp` is selected, but hardware
@@ -534,13 +534,17 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
 * `<hdc>` is a boolean to enable Hardware Duty Cycling (HDC).  HDC enables the
   processor to autonomously force physical package components into idle state.
   The default is enabled, but the option only applies when `hwp` is enabled.
+* `amd-cppc` selects ACPI Collaborative Performance and Power Control (CPPC)
+  on supported AMD hardware to provide finer grained frequency control
+  mechanism. The default is disabled.
 
 User could use `;`-separated options to support universal options which they
 would like to try on any agnostic platform, *but* under priority order, like
-`cpufreq=hwp;xen,verbose`.  This first tries `hwp` and falls back to `xen` if
-unavailable.  Note: The `verbose` suboption is handled globally.  Setting it
-for either the primary or fallback option applies to both irrespective of where
-it is specified.
+`cpufreq=hwp;amd-cppc;xen,verbose`. This first tries `hwp` on Intel, or
+`amd-cppc` on AMD, and it will fall back to `xen` if unavailable. Note:
+The `verbose` suboption is handled globally.  Setting it for either the
+primary or fallback option applies to both irrespective of where it is
+specified.
 
 Note: grub2 requires to escape or quote ';', so `"cpufreq=hwp;xen"` should be
 specified within double quotes inside grub.cfg.  Refer to the grub2
diff --git a/xen/arch/x86/acpi/cpufreq/Makefile b/xen/arch/x86/acpi/cpufreq/Makefile
index e7dbe434a8..a2ba34bda0 100644
--- a/xen/arch/x86/acpi/cpufreq/Makefile
+++ b/xen/arch/x86/acpi/cpufreq/Makefile
@@ -1,4 +1,5 @@
 obj-$(CONFIG_INTEL) += acpi.o
+obj-$(CONFIG_AMD) += amd-cppc.o
 obj-y += cpufreq.o
 obj-$(CONFIG_INTEL) += hwp.o
 obj-$(CONFIG_AMD) += powernow.o
diff --git a/xen/arch/x86/acpi/cpufreq/acpi.c b/xen/arch/x86/acpi/cpufreq/acpi.c
index 0cf94ab2d6..49c1795b25 100644
--- a/xen/arch/x86/acpi/cpufreq/acpi.c
+++ b/xen/arch/x86/acpi/cpufreq/acpi.c
@@ -13,6 +13,7 @@
 
 #include <xen/errno.h>
 #include <xen/delay.h>
+#include <xen/domain.h>
 #include <xen/param.h>
 #include <xen/types.h>
 
@@ -514,5 +515,14 @@ acpi_cpufreq_driver = {
 
 int __init acpi_cpufreq_register(void)
 {
-    return cpufreq_register_driver(&acpi_cpufreq_driver);
+    int ret;
+
+    ret = cpufreq_register_driver(&acpi_cpufreq_driver);
+    if ( ret )
+        return ret;
+
+    if ( IS_ENABLED(CONFIG_AMD) )
+        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_CPPC;
+
+    return ret;
 }
diff --git a/xen/arch/x86/acpi/cpufreq/amd-cppc.c b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
new file mode 100644
index 0000000000..7d482140a2
--- /dev/null
+++ b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
@@ -0,0 +1,78 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * amd-cppc.c - AMD Processor CPPC Frequency Driver
+ *
+ * Copyright (C) 2025 Advanced Micro Devices, Inc. All Rights Reserved.
+ *
+ * Author: Penny Zheng <penny.zheng@amd.com>
+ *
+ * AMD CPPC cpufreq driver introduces a new CPU performance scaling design
+ * for AMD processors using the ACPI Collaborative Performance and Power
+ * Control (CPPC) feature which provides finer grained frequency control range.
+ */
+
+#include <xen/domain.h>
+#include <xen/init.h>
+#include <xen/param.h>
+#include <acpi/cpufreq/cpufreq.h>
+
+static bool __init amd_cppc_handle_option(const char *s, const char *end)
+{
+    int ret;
+
+    ret = parse_boolean("verbose", s, end);
+    if ( ret >= 0 )
+    {
+        cpufreq_verbose = ret;
+        return true;
+    }
+
+    return false;
+}
+
+int __init amd_cppc_cmdline_parse(const char *s, const char *e)
+{
+    do
+    {
+        const char *end = strpbrk(s, ",;");
+
+        if ( !amd_cppc_handle_option(s, end) )
+        {
+            printk(XENLOG_WARNING
+                   "cpufreq/amd-cppc: option '%.*s' not recognized\n",
+                   (int)((end ?: e) - s), s);
+
+            return -EINVAL;
+        }
+
+        s = end ? end + 1 : NULL;
+    } while ( s && s < e );
+
+    return 0;
+}
+
+static const struct cpufreq_driver __initconst_cf_clobber
+amd_cppc_cpufreq_driver =
+{
+    .name   = XEN_AMD_CPPC_DRIVER_NAME,
+};
+
+int __init amd_cppc_register_driver(void)
+{
+    int ret;
+
+    if ( !cpu_has_cppc )
+    {
+        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_CPPC;
+        return -ENODEV;
+    }
+
+    ret = cpufreq_register_driver(&amd_cppc_cpufreq_driver);
+    if ( ret )
+        return ret;
+
+    /* Remove possible fallback option */
+    xen_processor_pmbits &= ~XEN_PROCESSOR_PM_PX;
+
+    return ret;
+}
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index 61e98b67bd..690a285f11 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -148,6 +148,10 @@ static int __init cf_check cpufreq_driver_init(void)
                 case CPUFREQ_none:
                     ret = 0;
                     break;
+                default:
+                    printk(XENLOG_WARNING
+                           "Unsupported cpufreq driver for vendor Intel\n");
+                    break;
                 }
 
                 if ( ret != -ENODEV )
@@ -157,7 +161,35 @@ static int __init cf_check cpufreq_driver_init(void)
 
         case X86_VENDOR_AMD:
         case X86_VENDOR_HYGON:
-            ret = IS_ENABLED(CONFIG_AMD) ? powernow_register_driver() : -ENODEV;
+            if ( !IS_ENABLED(CONFIG_AMD) )
+            {
+                ret = -ENODEV;
+                break;
+            }
+            ret = -ENOENT;
+
+            for ( unsigned int i = 0; i < cpufreq_xen_cnt; i++ )
+            {
+                switch ( cpufreq_xen_opts[i] )
+                {
+                case CPUFREQ_xen:
+                    ret = powernow_register_driver();
+                    break;
+                case CPUFREQ_amd_cppc:
+                    ret = amd_cppc_register_driver();
+                    break;
+                case CPUFREQ_none:
+                    ret = 0;
+                    break;
+                default:
+                    printk(XENLOG_WARNING
+                           "Unsupported cpufreq driver for vendor AMD\n");
+                    break;
+                }
+
+                if ( ret != -ENODEV )
+                    break;
+            }
             break;
         }
     }
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 77390a0dbd..5dd1ba2949 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -542,6 +542,7 @@ ret_t do_platform_op(
                 ret = -ENOSYS;
                 break;
             }
+            ASSERT(!(xen_processor_pmbits & XEN_PROCESSOR_PM_CPPC));
             ret = set_px_pminfo(op->u.set_pminfo.id, &op->u.set_pminfo.u.perf);
             break;
  
@@ -572,7 +573,8 @@ ret_t do_platform_op(
             break;
         }
         case XEN_PM_PSD:
-            if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_PX) )
+            if ( !(xen_processor_pmbits & (XEN_PROCESSOR_PM_PX |
+                                           XEN_PROCESSOR_PM_CPPC)) )
             {
                 ret = -EOPNOTSUPP;
                 break;
@@ -584,6 +586,13 @@ ret_t do_platform_op(
             break;
 
         case XEN_PM_CPPC:
+            if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_CPPC) )
+            {
+                ret = -EOPNOTSUPP;
+                break;
+            }
+            ASSERT(!(xen_processor_pmbits & XEN_PROCESSOR_PM_PX));
+
             ret = set_cppc_pminfo(op->u.set_pminfo.id,
                                   &op->u.set_pminfo.u.cppc_data);
             break;
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index cfae16c15f..792e4dc02c 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -111,6 +111,19 @@ static int __init cpufreq_cmdline_parse_hwp(const char *arg, const char *end)
     return ret;
 }
 
+static int __init cpufreq_cmdline_parse_cppc(const char *arg, const char *end)
+{
+    int ret = 0;
+
+    xen_processor_pmbits |= XEN_PROCESSOR_PM_CPPC;
+    cpufreq_controller = FREQCTL_xen;
+    cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_amd_cppc;
+    if ( arg[0] && arg[1] )
+        ret = amd_cppc_cmdline_parse(arg + 1, end);
+
+    return ret;
+}
+
 static int __init cf_check setup_cpufreq_option(const char *str)
 {
     const char *arg = strpbrk(str, ",:;");
@@ -159,6 +172,10 @@ static int __init cf_check setup_cpufreq_option(const char *str)
                   !cmdline_strcmp(str, "hwp") &&
                   !cpufreq_opts_contain(CPUFREQ_hwp) )
             ret = cpufreq_cmdline_parse_hwp(arg, end);
+        else if ( IS_ENABLED(CONFIG_AMD) && choice < 0 &&
+                  !cmdline_strcmp(str, "amd-cppc") &&
+                  !cpufreq_opts_contain(CPUFREQ_amd_cppc) )
+            ret = cpufreq_cmdline_parse_cppc(arg, end);
         else
             ret = -EINVAL;
 
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 3f1b05a02e..a6fb10ea27 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -28,6 +28,7 @@ enum cpufreq_xen_opt {
     CPUFREQ_none,
     CPUFREQ_xen,
     CPUFREQ_hwp,
+    CPUFREQ_amd_cppc,
 };
 extern enum cpufreq_xen_opt cpufreq_xen_opts[2];
 extern unsigned int cpufreq_xen_cnt;
@@ -267,4 +268,7 @@ int set_hwp_para(struct cpufreq_policy *policy,
 
 int acpi_cpufreq_register(void);
 
+int amd_cppc_cmdline_parse(const char *s, const char *e);
+int amd_cppc_register_driver(void);
+
 #endif /* __XEN_CPUFREQ_PM_H__ */
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index 33edf112a0..ee12e0192b 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -6,9 +6,10 @@
 #include <xen/acpi.h>
 
 /* ability bits */
-#define XEN_PROCESSOR_PM_CX 1
-#define XEN_PROCESSOR_PM_PX 2
-#define XEN_PROCESSOR_PM_TX 4
+#define XEN_PROCESSOR_PM_CX     1
+#define XEN_PROCESSOR_PM_PX     2
+#define XEN_PROCESSOR_PM_TX     4
+#define XEN_PROCESSOR_PM_CPPC   8
 
 #define XEN_CPPC_INIT 0x40000000U
 #define XEN_PX_INIT   0x80000000U
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index b0fec271d3..42997252ef 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -423,6 +423,7 @@ struct xen_set_cppc_para {
     uint32_t activity_window;
 };
 
+#define XEN_AMD_CPPC_DRIVER_NAME "amd-cppc"
 #define XEN_HWP_DRIVER_NAME "hwp"
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903122.1311114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6md-0005Vm-UM; Thu, 06 Mar 2025 08:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903122.1311114; Thu, 06 Mar 2025 08:40: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 1tq6md-0005VH-Ph; Thu, 06 Mar 2025 08:40:47 +0000
Received: by outflank-mailman (input) for mailman id 903122;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mc-00031D-Bl
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:46 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20603.outbound.protection.outlook.com
 [2a01:111:f403:2417::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1571df5-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:44 +0100 (CET)
Received: from CH0PR03CA0015.namprd03.prod.outlook.com (2603:10b6:610:b0::20)
 by MN2PR12MB4455.namprd12.prod.outlook.com (2603:10b6:208:265::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 08:40:40 +0000
Received: from CH1PEPF0000AD7A.namprd04.prod.outlook.com
 (2603:10b6:610:b0:cafe::85) by CH0PR03CA0015.outlook.office365.com
 (2603:10b6:610:b0::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 08:40:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD7A.mail.protection.outlook.com (10.167.244.59) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:39 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:36 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1571df5-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=owDY7pqwJZXmAYcW7qqiav9Bpl6QYVTVp1Soh5XqlieIYIVTp7qK3st22qL7h7UT+G3zeQXncy7ckkdYQ/jR68BwbfOKL4ZP78GAjs1o4YDpyS8Otyyeo/I85bTybYOl9JjZguEvOypUgSPrqykGDWyPzUwM4yTMFXL8jEUQUTKoYxe+6Jl4tsnT8HP9UeUEGFbSZpm19bqzA2TLzzWQMytmcZUWoOjBUVxUZXQrw/6W5y9syYkdh9s3tQBd9LaCiis+o28q3w2JNh+pUNNEs0rXp0VBssS3e7VvawpCgHHNUBJN3So1EIqtwuygBW3UBXYXqRId3HaFb+cNejMmqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x6gsk4a0T3360WJCjGvVygJbSDUPR8/N4o0HzTun7v4=;
 b=s0gzceFsbL099QmN99QUKw6OO8+tYj1mfDRVVb1umGlJvmIpUdkyNKVXXwuvjkPfqgRu6GXOWYu4asMSwPOmx7FzUnuKsMob1UoLQZdY+MxQH62mLLEzYsu10yccxgDj83A1c1K7o9sMLPH5ZG4Qk4onS2cxVjqtdlBfKVQKa4/kFkx6g2a+ScBj2c8MxhSpyJZkiQGVgOEFzhwbaK/VCMxKSPHebUZLvuWnq7wnSpPuJFjva9JIT2UWegTQnVXcVFY9Fqw1HyO9JO/FY6yla+47b6KPmQ7C7opHCjo2RVnoaY/mfzYsIee9P+t47XuDwe9U6zz0bYJ+7j9e4licKA==
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=x6gsk4a0T3360WJCjGvVygJbSDUPR8/N4o0HzTun7v4=;
 b=knq7u00LdrRQD04knsuiKx5LqCH6gUficZbrmAyWXj4OYpHVsuwUehT52WssrA3oG4asn3/KFBe5gNWvXJFnI+CxTmiuvcU5XEXbANCwSCk5DKxEq5elV2IOImSZLPZX0bp7VmLThVFxN9pQpb0MADf7gGhzk151ZwsvPiSpQWI=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 09/15] xen/x86: introduce a new amd cppc driver for cpufreq scaling
Date: Thu, 6 Mar 2025 16:39:43 +0800
Message-ID: <20250306083949.1503385-10-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-1-Penny.Zheng@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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7A:EE_|MN2PR12MB4455:EE_
X-MS-Office365-Filtering-Correlation-Id: 18b08228-3e87-409e-b9db-08dd5c8a92e3
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?dzllKzRCMkJUcUZMZjVnbU96TlkreVVKT3gvUzM0eEg4cGRrS2J4dHJLZFJN?=
 =?utf-8?B?ZFk1c0RQaEJzZHZkdHd5cTI5ZmlQWkVaenhnRlVmOElHYlRtYXlvK1lnV21q?=
 =?utf-8?B?NitrQlBBbE1xbkVXMXJ1RHlab0VsVDR3ejgwYTNMYmV3d05EUW52djA2TWpv?=
 =?utf-8?B?QkVRZzQ5VzU5cm5GOFBBZXB0eVNKSzQwenlLMC80SXUxZWdGYy9nQWxCbHBq?=
 =?utf-8?B?aWlkQVQ3OFFwdlk2ZnhnTGhlN3R2S0dQYzdZYWJUYWlUOXYxRm5uWEtFTU5C?=
 =?utf-8?B?N0JJdXArd29velIrNTdrMWpQdlZsOVoyRjhqRWE0VnRBeXBqUzUzRkQ4N1Yx?=
 =?utf-8?B?MXpBWTU4Q3N6MWhicEVDeFdpaW0yVTFMTVBEZ0FibjhLNUZHTlN4blVDaDNX?=
 =?utf-8?B?YUlvK0U1RU5RSW1KVVpEUzRWS3ZSY1p1YjdiSlpzamhzeGZXZ0t4eGw3dzNv?=
 =?utf-8?B?N09WWUZQUDBzZ2dhY3AzRk5heGgxTFVaN0JsUmVmNk14amZJOFpDUU9qNG5t?=
 =?utf-8?B?dEZEL1dTenFZS3ZzTXErYjA1SEwvdUd4R0dla2FocHl4elZUc3BpL2d0aVNr?=
 =?utf-8?B?ZHcrK2dQMC9zUStRK2o5aTNvMXczUUphOERxby90c0xsNUk0OHBVSzJ5Tzl5?=
 =?utf-8?B?bEY0N1oyR3JRcTcvWEx6WnkwK3Y5WXh2WS9PTjNzQUF3SG5JQjF1ZjFlOWxv?=
 =?utf-8?B?b1BwTXRSbHJrelNPejQzd0tvVEVEZGNtSmM0K1dRNGEyOUhCdGdIYm5BM3Zn?=
 =?utf-8?B?aTlwUXdsQjhQbWRJclJ1MHJaUjdvMFZiT1ozOTgxa3RtNGJ4TXlXU01qZmd0?=
 =?utf-8?B?ZzdTRm0zUnI5cm9rNFY4SXliRlVacGhrdFppMHZpeUlEQmhyaWZLc0hrSFpo?=
 =?utf-8?B?Mm15NllNVUp3OThtalVzSFBsOG82aS9GSUdiU09WaDVTUzhCcjZPVEZ5ODBh?=
 =?utf-8?B?UG1LcEJ6Z1h2M3lsQXhyNW9wT1BXRUM4SnUwdHgvSEdKcjY5SlQzTWNLd0xX?=
 =?utf-8?B?NGtYcUNqMWhpZmZaZXI5TFQvSFBGYXU2ZmRvWXZrWmIxRWxIeXNPU2R2emJP?=
 =?utf-8?B?SGhmUDNBRnZGbHVsWmZ2Nk9ZS21qOXU2NUhpTmVJckhXdlJTMStoZGNwaTNp?=
 =?utf-8?B?dERFU0F5cE1EdzZKeXRNRmhza21pUCs2TzFPUHJ3OC9ubU4yY3htclVhcFlv?=
 =?utf-8?B?cVJuVzZaN2g2QzJBckNQeFJ3NG1PZGttK0NQYlhQaW82Um5Hb1pXdnE5dHA1?=
 =?utf-8?B?SlVZYTNYcCtXOTdOMzVuSUpSZUxZbGRmVDNKVXNMa0JZSWFlMWdhY0JlaTB5?=
 =?utf-8?B?L1c4cXc3UnB6RFpDVE1LNndJUjZaQnpFU1E2b05WWkdkZlM0K2U3bjFZeThi?=
 =?utf-8?B?dkg0T0tHbDhrQkh2OC9YcWZPbzFPT00vcThuRFoyUGdhZXErTktPSWtzZ2Ry?=
 =?utf-8?B?dllhaFdtcG5SOU9ab2hveFRkSmxXcWdFNmEyN0xsR0pMNXptZ3p0eDZJWmRI?=
 =?utf-8?B?OC8rWXM5M2RIUWxJQWJzSEFBV0d6am9Pbkk5czRQb0ZyLy9lU0liYWVhVko4?=
 =?utf-8?B?bzZFZDRyTHNYb3c1MkMxc2NmYmEvTVFHQ2sreFBybmhIM3N5Qm5rZTQ5TVdE?=
 =?utf-8?B?djNibjIrQldkRHdlUkxQOVdlNldOZnJpM3V3M0lUTXdzR3BFT0xKaGpiSzVQ?=
 =?utf-8?B?VTM5ZkFHVlJOWEF1MmtvODVrYlQ0Ny9QY1prK0pqdnZXbFhFcmxCOTVBOWN3?=
 =?utf-8?B?Q0lHMzRQKzRrald3NUJ1UWJYTXdVOTN6KzB0Qk9iblQwRkNHWWxZQzY5RFFM?=
 =?utf-8?B?d2t2dVZtaS9UaEVMTC9OR2VTYnJxNmtCa25KUnY2UVk3dTFRc3dPZVJLSGNS?=
 =?utf-8?B?S3B1V3d2QU9HT0VGQStIOHpYVmFKQmlxa3NMN2kwRVJyQytsQkxySVNQNk1z?=
 =?utf-8?B?OXcwbU8xMW9SZkh4V3hVaVRNbUZWVStLQVFLeUNvUHpra0VDc3hvQXJtYnBh?=
 =?utf-8?Q?NHc4xRDmazNsDETK7RrT6XxU/380qk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:39.5337
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 18b08228-3e87-409e-b9db-08dd5c8a92e3
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7A.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4455

amd-cppc is the AMD CPU performance scaling driver that introduces a
new CPU frequency control mechanism firstly on AMD Zen based CPU series.
The new mechanism is based on Collaborative Processor Performance
Control (CPPC) which is a finer grain frequency management
than legacy ACPI hardware P-States.
Current AMD CPU platforms are using the ACPI P-states driver to
manage CPU frequency and clocks with switching only in 3 P-states.
The new amd-cppc allows a more flexible, low-latency interface for Xen
to directly communicate the performance hints to hardware.

The first version "amd-cppc" could leverage common governors such as
*ondemand*, *performance*, etc, to manage the performance hints. In the
future, we will introduce an advanced active mode to enable autonomous
performence level selection.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- re-construct union caps and req to have anonymous struct instead
- avoid "else" when the earlier if() ends in an unconditional control flow statement
- Add check to avoid chopping off set bits from cast
- make pointers pointer-to-const wherever possible
- remove noisy log
- exclude families before 0x17 before CPPC-feature MSR op
- remove useless variable helpers
- use xvzalloc and XVFREE
- refactor error handling as ENABLE bit can only be cleared by reset
---
v2 -> v3:
- Move all MSR-definations to msr-index.h and follow the required style
- Refactor opening figure braces for struct/union
- Sort overlong lines throughout the series
- Make offset/res int covering underflow scenario
- Error out when amd_max_freq_mhz isn't set
- Introduce amd_get_freq(name) macro to decrease redundancy
- Supported CPU family checked ahead of smp-function
- Nominal freq shall be checked between the [min, max]
- Use APERF/MPREF to calculate current frequency
- Use amd_cppc_cpufreq_cpu_exit() to tidy error path
---
 xen/arch/x86/acpi/cpufreq/amd-cppc.c | 370 +++++++++++++++++++++++++++
 xen/arch/x86/include/asm/msr-index.h |   5 +
 2 files changed, 375 insertions(+)

diff --git a/xen/arch/x86/acpi/cpufreq/amd-cppc.c b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
index 7d482140a2..bf30990c74 100644
--- a/xen/arch/x86/acpi/cpufreq/amd-cppc.c
+++ b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
@@ -14,7 +14,50 @@
 #include <xen/domain.h>
 #include <xen/init.h>
 #include <xen/param.h>
+#include <xen/percpu.h>
+#include <xen/xvmalloc.h>
 #include <acpi/cpufreq/cpufreq.h>
+#include <asm/amd.h>
+#include <asm/msr-index.h>
+
+#define amd_cppc_err(cpu, fmt, args...)                     \
+    printk(XENLOG_ERR "AMD_CPPC: CPU%u error: " fmt, cpu, ## args)
+#define amd_cppc_warn(fmt, args...)                         \
+    printk(XENLOG_WARNING "AMD_CPPC: CPU%u warning: " fmt, cpu, ## args)
+#define amd_cppc_verbose(fmt, args...)                      \
+({                                                          \
+    if ( cpufreq_verbose )                                  \
+        printk(XENLOG_DEBUG "AMD_CPPC: " fmt, ## args);     \
+})
+
+struct amd_cppc_drv_data
+{
+    const struct xen_processor_cppc *cppc_data;
+    union {
+        uint64_t raw;
+        struct {
+            unsigned int lowest_perf:8;
+            unsigned int lowest_nonlinear_perf:8;
+            unsigned int nominal_perf:8;
+            unsigned int highest_perf:8;
+            unsigned int :32;
+        };
+    } caps;
+    union {
+        uint64_t raw;
+        struct {
+            unsigned int max_perf:8;
+            unsigned int min_perf:8;
+            unsigned int des_perf:8;
+            unsigned int epp:8;
+            unsigned int :32;
+        };
+    } req;
+
+    int err;
+};
+
+static DEFINE_PER_CPU_READ_MOSTLY(struct amd_cppc_drv_data *, amd_cppc_drv_data);
 
 static bool __init amd_cppc_handle_option(const char *s, const char *end)
 {
@@ -51,10 +94,337 @@ int __init amd_cppc_cmdline_parse(const char *s, const char *e)
     return 0;
 }
 
+/*
+ * If CPPC lowest_freq and nominal_freq registers are exposed then we can
+ * use them to convert perf to freq and vice versa. The conversion is
+ * extrapolated as an linear function passing by the 2 points:
+ *  - (Low perf, Low freq)
+ *  - (Nominal perf, Nominal freq)
+ */
+static int amd_cppc_khz_to_perf(const struct amd_cppc_drv_data *data,
+                                unsigned int freq, uint8_t *perf)
+{
+    const struct xen_processor_cppc *cppc_data = data->cppc_data;
+    uint64_t mul, div;
+    int offset = 0, res;
+
+    if ( freq == (cppc_data->nominal_mhz * 1000) )
+    {
+        *perf = data->caps.nominal_perf;
+        return 0;
+    }
+
+    if ( freq == (cppc_data->lowest_mhz * 1000) )
+    {
+        *perf = data->caps.lowest_perf;
+        return 0;
+    }
+
+    if ( cppc_data->lowest_mhz && cppc_data->nominal_mhz )
+    {
+        mul = data->caps.nominal_perf - data->caps.lowest_perf;
+        div = cppc_data->nominal_mhz - cppc_data->lowest_mhz;
+        /*
+         * We don't need to convert to KHz for computing offset and can
+         * directly use nominal_mhz and lowest_mhz as the division
+         * will remove the frequency unit.
+         */
+        div = div ?: 1;
+        offset = data->caps.nominal_perf -
+                 (mul * cppc_data->nominal_mhz) / div;
+    }
+    else
+    {
+        /* Read Processor Max Speed(mhz) as anchor point */
+        mul = data->caps.highest_perf;
+        div = this_cpu(amd_max_freq_mhz);
+        if ( !div )
+            return -EINVAL;
+    }
+
+    res = offset + (mul * freq) / (div * 1000);
+    if ( res > UINT8_MAX )
+    {
+        printk_once(XENLOG_WARNING
+                    "Perf value exceeds maximum value 255: %d\n", res);
+        *perf = 0xff;
+        return 0;
+    }
+    *perf = (uint8_t)res;
+
+    return 0;
+}
+
+#define amd_get_freq(name)                                                  \
+    static int amd_get_##name##_freq(const struct amd_cppc_drv_data *data,  \
+                                     unsigned int *freq)                    \
+    {                                                                       \
+        const struct xen_processor_cppc *cppc_data = data->cppc_data;       \
+        uint64_t mul, div, res;                                             \
+                                                                            \
+        if ( cppc_data->name##_mhz )                                        \
+        {                                                                   \
+            /* Switch to khz */                                             \
+            *freq = cppc_data->name##_mhz * 1000;                           \
+            return 0;                                                       \
+        }                                                                   \
+                                                                            \
+        /* Read Processor Max Speed(mhz) as anchor point */                 \
+        mul = this_cpu(amd_max_freq_mhz);                                   \
+        if ( !mul )                                                         \
+            return -EINVAL;                                                 \
+        div = data->caps.highest_perf;                                      \
+        res = (mul * data->caps.name##_perf * 1000) / div;                  \
+        if ( res > UINT_MAX )                                               \
+        {                                                                   \
+            printk(XENLOG_ERR                                               \
+                   "Frequeny exceeds maximum value UINT_MAX: %lu\n", res);  \
+            return -EINVAL;                                                 \
+        }                                                                   \
+        *freq = (unsigned int)res;                                          \
+                                                                            \
+        return 0;                                                           \
+    }                                                                       \
+
+amd_get_freq(lowest);
+amd_get_freq(nominal);
+
+static int amd_get_max_freq(const struct amd_cppc_drv_data *data,
+                            unsigned int *max_freq)
+{
+    unsigned int nom_freq, boost_ratio;
+    int res;
+
+    res = amd_get_nominal_freq(data, &nom_freq);
+    if ( res )
+        return res;
+
+    boost_ratio = (unsigned int)(data->caps.highest_perf /
+                                 data->caps.nominal_perf);
+    *max_freq = nom_freq * boost_ratio;
+
+    return 0;
+}
+
+static int cf_check amd_cppc_cpufreq_verify(struct cpufreq_policy *policy)
+{
+    cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
+                                 policy->cpuinfo.max_freq);
+
+    return 0;
+}
+
+static void amd_cppc_write_request_msrs(void *info)
+{
+    struct amd_cppc_drv_data *data = info;
+
+    if ( wrmsr_safe(MSR_AMD_CPPC_REQ, data->req.raw) )
+    {
+        data->err = -EINVAL;
+        return;
+    }
+}
+
+static int cf_check amd_cppc_write_request(unsigned int cpu, uint8_t min_perf,
+                                           uint8_t des_perf, uint8_t max_perf)
+{
+    struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
+    uint64_t prev = data->req.raw;
+
+    data->req.min_perf = min_perf;
+    data->req.max_perf = max_perf;
+    data->req.des_perf = des_perf;
+
+    if ( prev == data->req.raw )
+        return 0;
+
+    data->err = 0;
+    on_selected_cpus(cpumask_of(cpu), amd_cppc_write_request_msrs, data, 1);
+
+    return data->err;
+}
+
+static int cf_check amd_cppc_cpufreq_target(struct cpufreq_policy *policy,
+                                            unsigned int target_freq,
+                                            unsigned int relation)
+{
+    unsigned int cpu = policy->cpu;
+    const struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
+    uint8_t des_perf;
+    int res;
+
+    if ( unlikely(!target_freq) )
+        return 0;
+
+    res = amd_cppc_khz_to_perf(data, target_freq, &des_perf);
+    if ( res )
+        return res;
+
+    return amd_cppc_write_request(policy->cpu, data->caps.lowest_nonlinear_perf,
+                                  des_perf, data->caps.highest_perf);
+}
+
+static void cf_check amd_cppc_init_msrs(void *info)
+{
+    struct cpufreq_policy *policy = info;
+    struct amd_cppc_drv_data *data = this_cpu(amd_cppc_drv_data);
+    uint64_t val;
+    unsigned int min_freq, nominal_freq, max_freq;
+
+    /* Package level MSR */
+    if ( rdmsr_safe(MSR_AMD_CPPC_ENABLE, val) )
+    {
+        amd_cppc_err(policy->cpu, "rdmsr_safe(MSR_AMD_CPPC_ENABLE)\n");
+        goto err;
+    }
+
+    /*
+     * Only when Enable bit is on, the hardware will calculate the processorâs
+     * performance capabilities and initialize the performance level fields in
+     * the CPPC capability registers.
+     */
+    if ( !(val & AMD_CPPC_ENABLE) )
+    {
+        val |= AMD_CPPC_ENABLE;
+        if ( wrmsr_safe(MSR_AMD_CPPC_ENABLE, val) )
+        {
+            amd_cppc_err(policy->cpu,
+                         "wrmsr_safe(MSR_AMD_CPPC_ENABLE, %lx)\n", val);
+            goto err;
+        }
+    }
+
+    if ( rdmsr_safe(MSR_AMD_CPPC_CAP1, data->caps.raw) )
+    {
+        amd_cppc_err(policy->cpu, "rdmsr_safe(MSR_AMD_CPPC_CAP1)\n");
+        goto err;
+    }
+
+    if ( data->caps.highest_perf == 0 || data->caps.lowest_perf == 0 ||
+         data->caps.nominal_perf == 0 || data->caps.lowest_nonlinear_perf == 0 )
+    {
+        amd_cppc_err(policy->cpu,
+                     "Platform malfunction, read CPPC highest_perf: %u, lowest_perf: %u, nominal_perf: %u, lowest_nonlinear_perf: %u zero value\n",
+                     data->caps.highest_perf, data->caps.lowest_perf,
+                     data->caps.nominal_perf, data->caps.lowest_nonlinear_perf);
+        goto err;
+    }
+
+    data->err = amd_get_lowest_freq(data, &min_freq);
+    if ( data->err )
+        return;
+
+    data->err = amd_get_nominal_freq(data, &nominal_freq);
+    if ( data->err )
+        return;
+
+    data->err = amd_get_max_freq(data, &max_freq);
+    if ( data->err )
+        return;
+
+    if ( min_freq > max_freq || nominal_freq > max_freq ||
+         nominal_freq < min_freq )
+    {
+        amd_cppc_err(policy->cpu,
+                     "min_freq(%u), or max_freq(%u), or nominal_freq(%u) value is incorrect\n",
+                     min_freq, max_freq, nominal_freq);
+        goto err;
+    }
+
+    policy->min = min_freq;
+    policy->max = max_freq;
+
+    policy->cpuinfo.min_freq = min_freq;
+    policy->cpuinfo.max_freq = max_freq;
+    policy->cpuinfo.perf_freq = nominal_freq;
+    /*
+     * Set after policy->cpuinfo.perf_freq, as we are taking
+     * APERF/MPERF average frequency as current frequency.
+     */
+    policy->cur = cpufreq_driver_getavg(policy->cpu, GOV_GETAVG);
+
+    return;
+
+ err:
+    data->err = -EINVAL;
+}
+
+/*
+ * The new AMD CPPC driver is different than legacy ACPI hardware P-State,
+ * which has a finer grain frequency range between the highest and lowest
+ * frequency. And boost frequency is actually the frequency which is mapped on
+ * highest performance ratio. The legacy P0 frequency is actually mapped on
+ * nominal performance ratio.
+ */
+static void amd_cppc_boost_init(struct cpufreq_policy *policy,
+                                const struct amd_cppc_drv_data *data)
+{
+    if ( data->caps.highest_perf <= data->caps.nominal_perf )
+        return;
+
+    policy->turbo = CPUFREQ_TURBO_ENABLED;
+}
+
+static int cf_check amd_cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy)
+{
+    XVFREE(per_cpu(amd_cppc_drv_data, policy->cpu));
+
+    return 0;
+}
+
+static int cf_check amd_cppc_cpufreq_cpu_init(struct cpufreq_policy *policy)
+{
+    unsigned int cpu = policy->cpu;
+    struct amd_cppc_drv_data *data;
+    const struct cpuinfo_x86 *c = cpu_data + cpu;
+
+    data = xvzalloc(struct amd_cppc_drv_data);
+    if ( !data )
+        return -ENOMEM;
+
+    data->cppc_data = &processor_pminfo[cpu]->cppc_data;
+
+    per_cpu(amd_cppc_drv_data, cpu) = data;
+
+    /* Feature CPPC is firstly introduced on Zen2 */
+    if ( c->x86 < 0x17 )
+    {
+        printk_once("Unsupported cpu family: %x\n", c->x86);
+        return -EOPNOTSUPP;
+    }
+
+    on_selected_cpus(cpumask_of(cpu), amd_cppc_init_msrs, policy, 1);
+
+    /*
+     * If error path takes effective, not only amd-cppc cpufreq driver fails
+     * to initialize, but also we could not fall back to legacy P-states
+     * driver nevertheless we specifies fall back option in cmdline.
+     */
+    if ( data->err )
+    {
+        amd_cppc_err(cpu, "Could not initialize AMD CPPC MSR properly\n");
+        amd_cppc_cpufreq_cpu_exit(policy);
+        return -ENODEV;
+    }
+
+    policy->governor = cpufreq_opt_governor ? : CPUFREQ_DEFAULT_GOVERNOR;
+
+    amd_cppc_boost_init(policy, data);
+
+    amd_cppc_verbose("CPU %u initialized with amd-cppc passive mode\n",
+                     policy->cpu);
+
+    return 0;
+}
+
 static const struct cpufreq_driver __initconst_cf_clobber
 amd_cppc_cpufreq_driver =
 {
     .name   = XEN_AMD_CPPC_DRIVER_NAME,
+    .verify = amd_cppc_cpufreq_verify,
+    .target = amd_cppc_cpufreq_target,
+    .init   = amd_cppc_cpufreq_cpu_init,
+    .exit   = amd_cppc_cpufreq_cpu_exit,
 };
 
 int __init amd_cppc_register_driver(void)
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 22d9e76e55..985f33eca1 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -238,6 +238,11 @@
 
 #define MSR_AMD_CSTATE_CFG                  0xc0010296U
 
+#define MSR_AMD_CPPC_CAP1                   0xc00102b0
+#define MSR_AMD_CPPC_ENABLE                 0xc00102b1
+#define  AMD_CPPC_ENABLE                    (_AC(1, ULL) <<  0)
+#define MSR_AMD_CPPC_REQ                    0xc00102b3
+
 /*
  * Legacy MSR constants in need of cleanup.  No new MSRs below this comment.
  */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:40:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903123.1311124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6mg-0005xX-8E; Thu, 06 Mar 2025 08:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903123.1311124; Thu, 06 Mar 2025 08:40: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 1tq6mg-0005x9-4U; Thu, 06 Mar 2025 08:40:50 +0000
Received: by outflank-mailman (input) for mailman id 903123;
 Thu, 06 Mar 2025 08:40: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6me-0002me-RG
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:48 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061a.outbound.protection.outlook.com
 [2a01:111:f403:2009::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b32e965e-fa66-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:40:48 +0100 (CET)
Received: from CH2PR10CA0004.namprd10.prod.outlook.com (2603:10b6:610:4c::14)
 by BL1PR12MB5729.namprd12.prod.outlook.com (2603:10b6:208:384::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 08:40:43 +0000
Received: from CH1PEPF0000AD74.namprd04.prod.outlook.com
 (2603:10b6:610:4c:cafe::67) by CH2PR10CA0004.outlook.office365.com
 (2603:10b6:610:4c::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 08:40:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD74.mail.protection.outlook.com (10.167.244.52) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:43 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:41 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b32e965e-fa66-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MH2cikLeq1NYwU6AhzgRsuIUKv1VzYk8B/6dEaGk5WAZKg98mXxG+dgEDwtN8lG0Gll538913DASA9Ud5BOsEkPBD2p80ek4U6Lbw+/9xvM9SfASR/P4UYn+Fjdf+XuUD6wA7Saugb32GlLgdBtgoNLIlxmJ4IlzI18mKar2RSDq2pIuDDu2N1/zSAqX4HSAeaJ254QoSqFkOxyaaEvZj0XZYvc6kJ9jDHNJmx3DDSuLTMvV8EPEr4GbptfEupLL/FS+4DnC2g69/ZaqoX6azHryH7JVaLvuYYYHBgc9gjwAD+hljDQ1SM+ITeamiM9AEJCr2b64HC+QRF1BREKgGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4BfnQ5dP3CxeHkbX6crdv0E08fIf7w35NJx7zZuBUh4=;
 b=s+mlZgLZocaKe8Vmd5RfaXQZoGzHRA/VfLCC+Vy2Pl9ENdmLhjsrV8RB+8W6qxs9nFFz4RfjAXq4JQDuo37Xyw2qS3zi/wbjaqsDAOa54So4SUgZs0ANM6po0kUNR3N3PoAx494UYA5O3A8MSx3bCml+7oL9lA5tuCWwS4JuFAp2HAvCIDF/u+WtlHlRxm2GYkXu26l72v8g+T8rcU8RJM121LP2SOkGHtZO+aZnNSiJUvXc373fcx9G0zpHtKHVOsNGZUp4yxIFQD3HJOdzY7L6HQ8wfTJ0mlDVQMQlLrejLThCbiU+o54UyHP0d/4Iz2Kvvv8EwscMuaT37XOrRg==
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=4BfnQ5dP3CxeHkbX6crdv0E08fIf7w35NJx7zZuBUh4=;
 b=cj7NvY5wnQ9AsjOJbJebOZZ3Cn+qsePR7DvFIZ84wpQ/lLnzFQ2eAOTd2UmWZQ4Gx53TvvlLG1smm/4eEWPm5pntI5hPLyGiWgvixGOfGH5HZmN7kHyOoumMryjOGAF1LtVRZlg68Xw/5iEpJ+jPimKW17Y6Z2I+Cmek51oPfkw=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 11/15] xen/cpufreq: abstract Energy Performance Preference value
Date: Thu, 6 Mar 2025 16:39:45 +0800
Message-ID: <20250306083949.1503385-12-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD74:EE_|BL1PR12MB5729:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d76491e-93fd-4d54-e324-08dd5c8a952b
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?kE+g4dO3RxQYO+VoVWwivurkr1tuO6haErHxlQLzTTHVXLsvJRZo1KDZtHVS?=
 =?us-ascii?Q?ePgaq5sHh5SjS7yD1SzicFAgO7pk8Nr4gsmVNvjacoyWZ4iEc3AhXeZelKR7?=
 =?us-ascii?Q?A1zM/ConlX4b+vzSIIt+BCAVHtZakQyetURRXRhOHEjGHP0V4I/8Ag504NLX?=
 =?us-ascii?Q?a9YbzsxNWiNh+a3I1uPbwHYPR1y9AV698e7EiS1SV2JMwMuxSWLOB7eARcXp?=
 =?us-ascii?Q?zwrBvgEdy2sHoulddDoYSz1UuvVvkQpk0+9FXPzE4Y4FA5jxlEyO1WKMWcTS?=
 =?us-ascii?Q?hHeiS7xkiWKdUHAXgyW5sg/tkPkQ5CR4HqR63ICTJDyGOeejHELaq6Uf8cMh?=
 =?us-ascii?Q?jQDvTL09GizGU40Egb0Ny0sLPjpFOLZrjdXPhkeGwmNeyjIQlzd7g0mtow0A?=
 =?us-ascii?Q?0ArSs7p2SYuqmWP7K2AgR4iWROEzKaoAwX9S8XLV1yHLrxrhN6OUjETbuPZ3?=
 =?us-ascii?Q?9MYC8PtPdyGpYs3yS2Yd7D1zrpzYM1v8LH838XLX9fzi7H0A22UUIzo2pK+V?=
 =?us-ascii?Q?RoS8PaPiv98Bz7m2uGrEcCBglSobyDnvHWRGRXi/WpPnxJNbSiIrGaBo6CaF?=
 =?us-ascii?Q?uMiX6tGTtlNzRiyO8rU8IpjkHEkBP2BJ3J4q1VIO6jZWcFkFCUNPqlLUVjmT?=
 =?us-ascii?Q?DlZwKcViPkOes0X1xP2YVkPNvsHk7clhNTh6bFLvoEyzcbi4xBFUIplBE2Pi?=
 =?us-ascii?Q?R6jNNCxWOxddvCnUC3vDmTQRvUlUOnIlkbB4D5NAwgaul+sEaQ48G9ztWUek?=
 =?us-ascii?Q?MnzI6aFs4LnJ4FzINXmmzGNdH74HzR7VX2tOXh2nocbF9z3Bd8CJ/7EFDwDU?=
 =?us-ascii?Q?yT4wxgsaRYgw0s2Q4dRMDfiNOXPbL56dezTSDCD11uMVJpihl269hD/W+bo9?=
 =?us-ascii?Q?pPYFP+a6jni2Xs2TPZkuB7zl49yS0sLSNCChw745YkyzHDsJDSO8AU+D85ak?=
 =?us-ascii?Q?hDh1mLFA+IAHVqGQa1vv7olJyJF53MgfN+tMrg/LZZIIL2LANtvo6I4CoxQn?=
 =?us-ascii?Q?b6LzqfzNeAfEkJ4NqChfwqQIw9kouxbMNf02qdjnzRT6nN+QZgoqoC6qnG7k?=
 =?us-ascii?Q?kz2VS9nwBXZi9ip+Keqei1wsVN+1snFvl/mjp4CY8bxo0AvFTJKXr1XtPvMW?=
 =?us-ascii?Q?9SoKAwvueVhqdT9VkkK+Rl+n99ITRfdwcAWZ/jh0pJM02D1HZNL5U1UNxpFH?=
 =?us-ascii?Q?RJ5sGHOZTiqKrjOwh05qVIPt/mQ0cChiFAFMmP7B20dwyWTOoF4yFCsBShMs?=
 =?us-ascii?Q?dsiPO1ZBTsFP5rrAUcnFDWZx5Kl45bLOyle4cYpBfZMmjBrk8JfMjNxDe4SI?=
 =?us-ascii?Q?JjNMngtRAB4CKJzZCN83Yy/14CPZSVdRVBjO/q43NImuNpBb9LYn5HiNXYfR?=
 =?us-ascii?Q?WwAPxMa/lHZmNBHOsVRR/BwZAtIpkJBGKVjFX9wC+CknSZsEe7+/Jwqe9aHZ?=
 =?us-ascii?Q?84rWNpQ1WHP4/B8A3XJb5wjJRmCOE3rrUGKBqjFtX6goO0T4qMGDSRW6onN/?=
 =?us-ascii?Q?ST11CC7TEs8I78A=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:43.3464
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d76491e-93fd-4d54-e324-08dd5c8a952b
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD74.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5729

Intel's hwp Energy Performance Preference value is compatible with
CPPC's Energy Performance Preference value, so this commit abstracts
the value and re-place it in common header file cpufreq.h, to be
used not only for hwp in the future.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/acpi/cpufreq/hwp.c    | 10 +++-------
 xen/include/acpi/cpufreq/cpufreq.h | 10 ++++++++++
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index 59b57a4cef..d5fa3d47ca 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -21,10 +21,6 @@ static bool __ro_after_init feature_hdc;
 
 static bool __ro_after_init opt_cpufreq_hdc = true;
 
-#define HWP_ENERGY_PERF_MAX_PERFORMANCE 0
-#define HWP_ENERGY_PERF_BALANCE         0x80
-#define HWP_ENERGY_PERF_MAX_POWERSAVE   0xff
-
 union hwp_request
 {
     struct
@@ -597,7 +593,7 @@ int set_hwp_para(struct cpufreq_policy *policy,
         data->minimum = data->hw.lowest;
         data->maximum = data->hw.lowest;
         data->activity_window = 0;
-        data->energy_perf = HWP_ENERGY_PERF_MAX_POWERSAVE;
+        data->energy_perf = CPPC_ENERGY_PERF_MAX_POWERSAVE;
         data->desired = 0;
         break;
 
@@ -605,7 +601,7 @@ int set_hwp_para(struct cpufreq_policy *policy,
         data->minimum = data->hw.highest;
         data->maximum = data->hw.highest;
         data->activity_window = 0;
-        data->energy_perf = HWP_ENERGY_PERF_MAX_PERFORMANCE;
+        data->energy_perf = CPPC_ENERGY_PERF_MAX_PERFORMANCE;
         data->desired = 0;
         break;
 
@@ -613,7 +609,7 @@ int set_hwp_para(struct cpufreq_policy *policy,
         data->minimum = data->hw.lowest;
         data->maximum = data->hw.highest;
         data->activity_window = 0;
-        data->energy_perf = HWP_ENERGY_PERF_BALANCE;
+        data->energy_perf = CPPC_ENERGY_PERF_BALANCE;
         data->desired = 0;
         break;
 
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index a6fb10ea27..3c2b951830 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -253,6 +253,16 @@ void cpufreq_dbs_timer_resume(void);
 
 void intel_feature_detect(struct cpufreq_policy *policy);
 
+/*
+ * If Energy Performance Preference(epp) is supported in the platform,
+ * OSPM may write a range of values from 0(performance preference)
+ * to 0xFF(energy efficiency perference) to control the platform's
+ * energy efficiency and performance optimization policies
+ */
+#define CPPC_ENERGY_PERF_MAX_PERFORMANCE 0
+#define CPPC_ENERGY_PERF_BALANCE         0x80
+#define CPPC_ENERGY_PERF_MAX_POWERSAVE   0xff
+
 int hwp_cmdline_parse(const char *s, const char *e);
 int hwp_register_driver(void);
 #ifdef CONFIG_INTEL
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:48:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903155.1311135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq6tt-0000Os-7B; Thu, 06 Mar 2025 08:48:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903155.1311135; Thu, 06 Mar 2025 08:48: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 1tq6tt-0000Ol-46; Thu, 06 Mar 2025 08:48:17 +0000
Received: by outflank-mailman (input) for mailman id 903155;
 Thu, 06 Mar 2025 08:48: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=bSAR=VZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tq6ts-0000Of-Bw
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:48:16 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bda4f330-fa67-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:48:15 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id
 98e67ed59e1d1-2fa8ada6662so901360a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 00:48:15 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-2ff6933b039sm727306a91.1.2025.03.06.00.48.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 00:48:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bda4f330-fa67-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741250893; x=1741855693; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=w4k+jXFhr9NDIRUmOU/UyvLqGcx7hV3cHJqh3EvrMGk=;
        b=OLz8sSN2Eudd71Humn+PRjSH+Y7Q2cEa6YRGynffK/DybVsQSMeYGzmCCrKqFibGt5
         qkmCSVUCR3fhkGpk8KncOMd1N3zZjVCuYcs39+9lmgGNIXLsxyumXH/YYPHJrUe/gzf9
         OWL4fPW5SZlo8Y0xk12HJw5Mz6hW2aNkoykyI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741250893; x=1741855693;
        h=in-reply-to: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=w4k+jXFhr9NDIRUmOU/UyvLqGcx7hV3cHJqh3EvrMGk=;
        b=Qy2iPWtD/TpBztoPK5dDwoogGNjqLUq6U8e9WOaRK1qJMV9P+wIJBiAQuJzsCd9LW+
         rJ+KVU6RgWWzXyeh/MzBAaf+eKfR2wI4bExEmJFKiPTx+pwRhwHv7bEHYnXWic+D1Jho
         SLR59yYuybJzABsvMzg8s9sP9BbWWGyL/zSWXFfVlsk1xNdXydq8KCObiRXRKY7k94/M
         smy+SI4GuFxFUVQVhi1Sm7gJirkbEooAahFJBKW8qwL3yQieOvQK44wG2whAWZ27lWap
         +bDSEDrvLZIO44tfFv0imdWUCFEfXYKp6Y/OdMFh0gbsj5Y6bd20v4pbEeANC2gvUVpg
         qN+g==
X-Forwarded-Encrypted: i=1; AJvYcCW6ROWQOqaLHMr6rFb3bniw+apbfG3me3S2EFe15X/Q2uBMBs/egqux67kd3X/mZHgbFWGAkwIItPY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXNfaVrGAq9DGSwuXD/YpFY5GLjXoX6UGKKfJc8abgO+FGjgZ7
	K3kL5/gEV6WaWaZoLcg+jI+adxbqymrGt88OugEmEroGqRZZOn0G64gG9dP1nOQ=
X-Gm-Gg: ASbGncvM15xEWWwAMIQ0K5GkW20Wj/p264Jh3aajyHDT2F8i5Zf0RG2HdcTIdAQ2enb
	OIkKonZqbSssJTvf/KAcq2QJrVaHQXJEzA12HxOKODOUGgvfpkpHP2AVU8Si8iK0RjBFBeq+UZw
	p9oSJWm70JtoA4JanIND6LocG0mk0jmoPmSiOWRwhYKjAWn2BmvHBfGTZo1VwXu44qW56lFVIx1
	EVqviks0U7X993/7DmcxMPSLiNn3zJZb3g722h/zhiBtTPcZr/g8uL7LhxqV8IYYB/45i3I5ZE5
	VX958e1goZ6YZYMV4xzOfT74aReHFSCUyEQnozJrGWadAZ/mNg==
X-Google-Smtp-Source: AGHT+IFzZ0vFCL7WbpviFO4L9vuMIRkk6grLTKfpSaA2lbSdMUSiTAorLN0JYGBYyPjaalZWK0RreA==
X-Received: by 2002:a17:90b:524f:b0:2fe:ba82:ca5 with SMTP id 98e67ed59e1d1-2ff497283aamr10783848a91.11.1741250893553;
        Thu, 06 Mar 2025 00:48:13 -0800 (PST)
Date: Thu, 6 Mar 2025 09:48:07 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Nirmal Patel <nirmal.patel@linux.intel.com>,
	Bjorn Helgaas <helgaas@kernel.org>, Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 0/3] xen: Fix usage of devices behind a VMD bridge
Message-ID: <Z8lhR2DSsB8P6L96@macbook.local>
References: <20250219092059.90850-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250219092059.90850-1-roger.pau@citrix.com>

Hello,

I've attempted to ping Nirmal directly on the VMD patch, but got no
reply so far.

First version of this series was posted on 10/01, yet there hasn't
been any feedback from Nirmal.  Would it be possible to merge this
without Nirmal Ack due to timeout?

It's not even a new feature, just a bugfix that allows running with
VMD devices when using Xen.

Thanks, Roger.

On Wed, Feb 19, 2025 at 10:20:54AM +0100, Roger Pau Monne wrote:
> Hello,
> 
> The following series should fix the usage of devices behind a VMD bridge
> when running Linux as a Xen PV hardware domain (dom0).  I've only been
> able to test PV. I think PVH should also work but I don't have hardware
> capable of testing it right now.
> 
> I don't expect the first two patches to be problematic, the last patch
> is likely to be more controversial.  I've tested it internally and
> didn't see any issues, but my testing of PV mode is mostly limited to
> dom0.
> 
> Thanks, Roger.
> 
> Roger Pau Monne (3):
>   xen/pci: Do not register devices with segments >= 0x10000
>   PCI: vmd: Disable MSI remapping bypass under Xen
>   PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag
> 
>  arch/x86/pci/xen.c           |  8 ++------
>  drivers/pci/controller/vmd.c | 20 +++++++++++++++++++
>  drivers/pci/msi/msi.c        | 37 ++++++++++++++++++++----------------
>  drivers/xen/pci.c            | 32 +++++++++++++++++++++++++++++++
>  include/linux/msi.h          |  3 ++-
>  kernel/irq/msi.c             |  2 +-
>  6 files changed, 78 insertions(+), 24 deletions(-)
> 
> -- 
> 2.46.0
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:57:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903187.1311145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq72L-0003PW-1Z; Thu, 06 Mar 2025 08:57:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903187.1311145; Thu, 06 Mar 2025 08:57: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 1tq72K-0003PP-Ui; Thu, 06 Mar 2025 08:57:00 +0000
Received: by outflank-mailman (input) for mailman id 903187;
 Thu, 06 Mar 2025 08:57: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6ms-00031D-4r
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:41:02 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2413::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b85287fa-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:56 +0100 (CET)
Received: from CH0PR04CA0030.namprd04.prod.outlook.com (2603:10b6:610:76::35)
 by DM4PR12MB7528.namprd12.prod.outlook.com (2603:10b6:8:110::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 08:40:52 +0000
Received: from CH1PEPF0000AD76.namprd04.prod.outlook.com
 (2603:10b6:610:76:cafe::c1) by CH0PR04CA0030.outlook.office365.com
 (2603:10b6:610:76::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.18 via Frontend Transport; Thu,
 6 Mar 2025 08:40:52 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD76.mail.protection.outlook.com (10.167.244.53) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:52 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:50 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b85287fa-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WaknFizTIlxA1falMxFxE0vnnb2yI0PDqPXWxju3+KlzudbdvD3S3dWZ9oa5maHS4rJA7OHX6NCWkpNaoFc+/j0iyxhpRibFv/mPe//bwWHmpgVvASunLTHe3h36psXpHOnIcL4/VBaomHHGxVRlhqHdqV4LWiVG3w2t1mr+ChNBVrWoslFAUlq/fEdSh88nzSrwmHco4VaVjDu/0tW+8LaaSiXDzTmsD2wK3Xk1N0jyrZ8ndVgfXpZfBEuxqqZPuFwty6G3/TujbEwtHJiAsDGSVtzR+wmydOYKujiIpX4+TX0mOg1YMdd88rnFa0NjHS7QRRComVvz9cO6mKW5+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=OaDk1mKjKq7sTeofjEQ+HRThZokE0MCXixRYCuKGZtY=;
 b=hvIKPX5ALX968+vGzgr1zNtp8XuEcTO9RgDRrMTb3Tkdm/U+zXIO/lN1Mr1mxo4QkBmurAJO6qIJ9JLGxTwp+/OtxooHWr1M2s86nesisMvvvlUVD2LKzQpr68ru159RLCEBEoB33pF7o6S6sGYQ8mBrUd9wzFuBnNNest6Qlm+sTMYOWNx8GuCO4+I3e9PP9kdJ4mGtftiRooP+iWV9iJ3f4VAS+2zaBUpB7ShxBhnFdBoVjMEW/Eo36/9aktBY0PxxJstKC93QtFgWpx8qq38PByvHKxhZ0gVhizS6wxNEXWjlPwKaKdxW2pD6aSF/H5otcMcxNWc5Ecm83dADVA==
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=OaDk1mKjKq7sTeofjEQ+HRThZokE0MCXixRYCuKGZtY=;
 b=IQScQzdyzyvyobh7E5ofSlD3sYQnnKGrOoTJCfmvdGpH7ZmdV/snmK84YjfET6uCDNzBkV2l+1krNn07nvQv8Adajxy0nu3AukuTtyY7YFq3ROb8gnCJPp0S9cyZgsaW0cCryPBeq3FIk4/yhiaC0xwMWLXqPxeqfupnDcZcq3M=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 15/15] xen/cpufreq: Adapt SET/GET_CPUFREQ_CPPC xen_sysctl_pm_op for amd-cppc driver
Date: Thu, 6 Mar 2025 16:39:49 +0800
Message-ID: <20250306083949.1503385-16-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD76:EE_|DM4PR12MB7528:EE_
X-MS-Office365-Filtering-Correlation-Id: 78e25b0d-23e3-4a7e-c508-08dd5c8a9a7d
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?pXUhhrm6/BU/Bm1VD3IWq6hbtKDCzMcro5MMwNLiL1HZ8qF9vODmBCkuuVd5?=
 =?us-ascii?Q?GFB3856S9KBX7QB2AwLyBiEOqcqetdlmg2+wxItnrVwfpun+j4sc6QQOczkL?=
 =?us-ascii?Q?O3B8iqu6scBvHPTeoVUgp96YabhVZCF+OOQ0QU3LcogDqszRnk/oZ7NWN/wt?=
 =?us-ascii?Q?x0PZk4sRM6r79EHw2tAXWzUkob3uV9GJNI2g43XwqfaRH9t9Tn4iZLPLkXwq?=
 =?us-ascii?Q?69+YXLMVSa+1iAHjyiV4I78MEKAOEOjOBT5ZPCUMLCeNgCrzjLbTaZFZtg4t?=
 =?us-ascii?Q?l+ASTZ76B/C4LOZK7BfhzlNShMCUQ9DOl2IM4YuPIf0MB0a59JS2FDnBjXui?=
 =?us-ascii?Q?TmgRGxIBpNhFRLZPfcd/6BWdH/uZsjuPr3DLils+wQorEXw2Lc160v3sCJvs?=
 =?us-ascii?Q?/DUygyv6BeAdukFDCVVBJ2zQosh33ZMi1HG99zdDBzowhv9bt47oHwW1Zseh?=
 =?us-ascii?Q?z7HOQNfNLCbRUnsu4aexN+IHdDwMUYYjbMxsLTG8IDrbF5ybKxPauNbyOqm2?=
 =?us-ascii?Q?PXOpfBIqcQWs+rbMwkSVdJvxYKFZnM/4XiQtbsRJYoZC3QTIgxhmyfCsWSSU?=
 =?us-ascii?Q?LqAWw3aXLf4DCRkjxtbPZE6t30xtGfz7y9/9RHofIKx5pqQmoOfMcsLi59q5?=
 =?us-ascii?Q?8oeMf/nQe4e/aY2Jkym2TrPfh800s4B3X+ZWdCQA2fxBzaKCCQF7WRH/3ZYJ?=
 =?us-ascii?Q?ILI9zI1WUZtJiFsmiwlgR4TmwLfEsEb82lJNwlLTRpI/GCbP6dnyukzIEXqH?=
 =?us-ascii?Q?WEj5vF7/9pQkfDLOX3RYdL7/VhGdKY5UqEZ+qTjjaO9DhjtleIFrSYTYmV1F?=
 =?us-ascii?Q?ovylM+gFRTVYLh9ck8O2r0U2fpYm0kS5ONGaremQvw9TF9LH4TWwK8lFkMH5?=
 =?us-ascii?Q?2U/YtkyjPUFIw82oXBSl6uabbaAdG9Qy5t9vDucDFPaCekKAz4Fbk7jmiX/5?=
 =?us-ascii?Q?LpxtkuAlml0XfA/VWufM4mnqPqm9WSwfRNs/2CGhcCss7MAEW0PI2sMonGjt?=
 =?us-ascii?Q?zD/Is1QEnrOlacwVJ7Gt22Mv94vTTuHaJSpy8dFi/orNb8xhGLKpEM95nNTT?=
 =?us-ascii?Q?9VNKHnCvY7Rst1u91PqHZDOMvDbAoGUaIXZXyaqnXjXZEpGbNWx+LgacOivZ?=
 =?us-ascii?Q?6ZA8RBoWNfDJSkkoATq87MiBii8y6r29L2JbBKm1cw48kZ/d7s+8gRfLM14R?=
 =?us-ascii?Q?pSnKr8JOtyjgtOwydNgtRfKkkUV7+uArxbdZpLxx6m61QpAnETb012XGAWE4?=
 =?us-ascii?Q?jxBO7nYh0xibgykStN+9osjFi2bt1AOtHKIR7O/kYp5u9dWErI+O4cfzjYJY?=
 =?us-ascii?Q?ErsoXwOPFpQH2JwkQ6TE+qk1WqYTn8HBg1Wr4TbFs2AuQvi0IBU+0DYAWrI9?=
 =?us-ascii?Q?j0rBJnbaTzFEK8clsQXd6JK2DhK/fkG9zotsJCnBzxMEN0tifPSE4QtRtyjy?=
 =?us-ascii?Q?RSYy1ETeSKSldXNektQ6GtqO/XmTjamk9H12o+KH5LEjtXn7d0r/HA=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:52.2873
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 78e25b0d-23e3-4a7e-c508-08dd5c8a9a7d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD76.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7528

Introduce helper set_amd_cppc_para and get_amd_cppc_para to
SET/GET CPPC-related para for amd-cppc/amd-cppc-epp driver.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- Give the variable des_perf an initializer of 0
- Use the strncmp()s directly in the if()
---
 xen/arch/x86/acpi/cpufreq/amd-cppc.c | 124 +++++++++++++++++++++++++++
 xen/drivers/acpi/pmstat.c            |  20 ++++-
 xen/include/acpi/cpufreq/cpufreq.h   |   5 ++
 3 files changed, 145 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/amd-cppc.c b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
index 606bb648b3..28c13b09c8 100644
--- a/xen/arch/x86/acpi/cpufreq/amd-cppc.c
+++ b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
@@ -32,6 +32,7 @@
 
 static bool __ro_after_init opt_active_mode;
 static DEFINE_PER_CPU_READ_MOSTLY(uint8_t, epp_init);
+static bool __ro_after_init amd_cppc_in_use;
 
 struct amd_cppc_drv_data
 {
@@ -513,6 +514,123 @@ static int cf_check amd_cppc_epp_set_policy(struct cpufreq_policy *policy)
     return amd_cppc_epp_update_limit(policy);
 }
 
+int get_amd_cppc_para(unsigned int cpu,
+                      struct xen_cppc_para *cppc_para)
+{
+    const struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
+
+    if ( data == NULL )
+        return -ENODATA;
+
+    cppc_para->features         = 0;
+    cppc_para->lowest           = data->caps.lowest_perf;
+    cppc_para->lowest_nonlinear = data->caps.lowest_nonlinear_perf;
+    cppc_para->nominal          = data->caps.nominal_perf;
+    cppc_para->highest          = data->caps.highest_perf;
+    cppc_para->minimum          = data->req.min_perf;
+    cppc_para->maximum          = data->req.max_perf;
+    cppc_para->desired          = data->req.des_perf;
+    cppc_para->energy_perf      = data->req.epp;
+
+    return 0;
+}
+
+int set_amd_cppc_para(const struct cpufreq_policy *policy,
+                      const struct xen_set_cppc_para *set_cppc)
+{
+    unsigned int cpu = policy->cpu;
+    struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
+    uint8_t max_perf, min_perf, des_perf = 0, epp;
+
+    if ( data == NULL )
+        return -ENOENT;
+
+    /* Validate all parameters - Disallow reserved bits. */
+    if ( set_cppc->minimum > UINT8_MAX || set_cppc->maximum > UINT8_MAX ||
+         set_cppc->desired > UINT8_MAX || set_cppc->energy_perf > UINT8_MAX )
+        return -EINVAL;
+
+    /* Only allow values if params bit is set. */
+    if ( (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED) &&
+          set_cppc->desired) ||
+         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MINIMUM) &&
+          set_cppc->minimum) ||
+         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MAXIMUM) &&
+          set_cppc->maximum) ||
+         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ENERGY_PERF) &&
+          set_cppc->energy_perf) )
+        return -EINVAL;
+
+    /* Activity window not supported in MSR */
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ACT_WINDOW )
+        return -EOPNOTSUPP;
+
+    /* Return if there is nothing to do. */
+    if ( set_cppc->set_params == 0 )
+        return 0;
+
+    epp = per_cpu(epp_init, cpu);
+    /* Apply presets */
+    /*
+     * XEN_SYSCTL_CPPC_SET_PRESET_POWERSAVE/PERFORMANCE/BALANCE are
+     * for amd-cppc in active mode, min_perf could be set with lowest_perf
+     * representing the T-state range of performance levels, while
+     * XEN_SYSCTL_CPPC_SET_PRESET_NONE is for amd-cppc in passive mode, it
+     * depends on governor to do performance scaling, setting with
+     * lowest_nonlinear_perf to ensures performance in P-state range.
+     */
+    switch ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_PRESET_MASK )
+    {
+    case XEN_SYSCTL_CPPC_SET_PRESET_POWERSAVE:
+        if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
+            return -EINVAL;
+        min_perf = data->caps.lowest_perf;
+        max_perf = data->caps.highest_perf;
+        epp = CPPC_ENERGY_PERF_MAX_POWERSAVE;
+        break;
+
+    case XEN_SYSCTL_CPPC_SET_PRESET_PERFORMANCE:
+        if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
+            return -EINVAL;
+        min_perf = data->caps.highest_perf;
+        max_perf = data->caps.highest_perf;
+        epp = CPPC_ENERGY_PERF_MAX_PERFORMANCE;
+        break;
+
+    case XEN_SYSCTL_CPPC_SET_PRESET_BALANCE:
+        if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
+            return -EINVAL;
+        min_perf = data->caps.lowest_perf;
+        max_perf = data->caps.highest_perf;
+        epp = CPPC_ENERGY_PERF_BALANCE;
+        break;
+
+    case XEN_SYSCTL_CPPC_SET_PRESET_NONE:
+        min_perf = data->caps.lowest_nonlinear_perf;
+        max_perf = data->caps.highest_perf;
+        break;
+
+    default:
+        return -EINVAL;
+    }
+
+    /* Further customize presets if needed */
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MINIMUM )
+        min_perf = set_cppc->minimum;
+
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MAXIMUM )
+        max_perf = set_cppc->maximum;
+
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ENERGY_PERF )
+        epp = set_cppc->energy_perf;
+
+    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
+        des_perf = set_cppc->desired;
+
+    return amd_cppc_write_request(cpu, min_perf, des_perf, max_perf, epp);
+}
+
+
 static const struct cpufreq_driver __initconst_cf_clobber
 amd_cppc_cpufreq_driver =
 {
@@ -533,6 +651,11 @@ amd_cppc_epp_driver =
     .exit       = amd_cppc_cpufreq_cpu_exit,
 };
 
+bool amd_cppc_active(void)
+{
+    return amd_cppc_in_use;
+}
+
 int __init amd_cppc_register_driver(void)
 {
     int ret;
@@ -552,6 +675,7 @@ int __init amd_cppc_register_driver(void)
 
     /* Remove possible fallback option */
     xen_processor_pmbits &= ~XEN_PROCESSOR_PM_PX;
+    amd_cppc_in_use = true;
 
     return ret;
 }
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index 7f432be761..9c96020d69 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -261,7 +261,16 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
          !strncmp(op->u.get_para.scaling_driver, XEN_HWP_DRIVER_NAME,
                   CPUFREQ_NAME_LEN) )
         ret = get_hwp_para(policy->cpu, &op->u.get_para.u.cppc_para);
-    else
+    else if ( !strncmp(op->u.get_para.scaling_driver, XEN_AMD_CPPC_DRIVER_NAME,
+                       CPUFREQ_NAME_LEN) ||
+              !strncmp(op->u.get_para.scaling_driver, XEN_AMD_CPPC_EPP_DRIVER_NAME,
+                       CPUFREQ_NAME_LEN) )
+        ret = get_amd_cppc_para(policy->cpu, &op->u.get_para.u.cppc_para);
+
+    if ( strncmp(op->u.get_para.scaling_driver, XEN_HWP_DRIVER_NAME,
+                 CPUFREQ_NAME_LEN) &&
+         strncmp(op->u.get_para.scaling_driver, XEN_AMD_CPPC_EPP_DRIVER_NAME,
+                 CPUFREQ_NAME_LEN) )
     {
         if ( !(scaling_available_governors =
                xzalloc_array(char, gov_num * CPUFREQ_NAME_LEN)) )
@@ -417,10 +426,13 @@ static int set_cpufreq_cppc(struct xen_sysctl_pm_op *op)
     if ( !policy || !policy->governor )
         return -ENOENT;
 
-    if ( !hwp_active() )
-        return -EOPNOTSUPP;
+    if ( hwp_active() )
+        return set_hwp_para(policy, &op->u.set_cppc);
+
+    if ( amd_cppc_active() )
+        return set_amd_cppc_para(policy, &op->u.set_cppc);
 
-    return set_hwp_para(policy, &op->u.set_cppc);
+    return -EOPNOTSUPP;
 }
 
 int do_pm_op(struct xen_sysctl_pm_op *op)
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 7c36634d40..0a2eb2a26f 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -292,5 +292,10 @@ int acpi_cpufreq_register(void);
 
 int amd_cppc_cmdline_parse(const char *s, const char *e);
 int amd_cppc_register_driver(void);
+bool amd_cppc_active(void);
+int get_amd_cppc_para(unsigned int cpu,
+                      struct xen_cppc_para *cppc_para);
+int set_amd_cppc_para(const struct cpufreq_policy *policy,
+                      const struct xen_set_cppc_para *set_cppc);
 
 #endif /* __XEN_CPUFREQ_PM_H__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:57:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903200.1311154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq72h-0003wr-9R; Thu, 06 Mar 2025 08:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903200.1311154; Thu, 06 Mar 2025 08: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 1tq72h-0003wk-6a; Thu, 06 Mar 2025 08:57:23 +0000
Received: by outflank-mailman (input) for mailman id 903200;
 Thu, 06 Mar 2025 08:57: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mj-0002me-SR
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:53 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20619.outbound.protection.outlook.com
 [2a01:111:f403:2413::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6149447-fa66-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 09:40:53 +0100 (CET)
Received: from CH2PR10CA0029.namprd10.prod.outlook.com (2603:10b6:610:4c::39)
 by CH3PR12MB8258.namprd12.prod.outlook.com (2603:10b6:610:128::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 08:40:49 +0000
Received: from CH1PEPF0000AD74.namprd04.prod.outlook.com
 (2603:10b6:610:4c:cafe::b9) by CH2PR10CA0029.outlook.office365.com
 (2603:10b6:610:4c::39) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 08:40:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD74.mail.protection.outlook.com (10.167.244.52) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:48 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6149447-fa66-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LT/5xWA1Km9riaW9+IaHawkUQGc2z4uz8JUpPdP7mN742lbF/YkYCyMG3RfWYAJUiC86hRiWpjTN92LZulb67p0ncKrsXhSFpoy+8zBKliCogQYT89fI7T/KCIoh/ejQ+L3gKYibBsEyqGpJv2N66uSoXqb0bWsPXTMHsWJifwJGFjSMztwblFotBKp6XtnbQE+xjwfAF3PbI2Ffjn4ke9RQAEebJn51bpc/do+U/oDpMKDvCMNgY9FVNC6BmjEwGaAww5vdxSolu7TgxHzg6QzyvbKvvhBic+OmlAvng2/ek+xkJ7rjoIK6QKPv1s8ZkLh0uxw95thuiNSINK/D7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UYDVLpHYY1dKVUItM7B0Aj/SePLS+Y9cVbRvGpBLd50=;
 b=ncxK/MzmN/KOxQNsCqLxVia15Uj8661kHnf/SNQFUywZymV8pZCOwxGF/+TeO+VIYwL1HiYB2xpt5m/GLygNfyvt1+8h7xZ5DH3U+DxzEr267lTUdC0YNL5i/z9TzxIFdw2+e76t+ZwdWVNJZrQz7FMHQTBHmv23qcYJaUNRuXtxFeEM/r08RjihAiVop6rDtib05rcur+YWEcMQFeTxkcTv519T1Spw/PkocFlowEszhfLH0mYSTrAKFoxPpYkU47a0YSUgReUWugQaouF2J5+G9QRLpEYfI5XkE532MohddjNF6SAhUSlKrpon4TzqEZ33milBlHq7+xlWvgjGQw==
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=UYDVLpHYY1dKVUItM7B0Aj/SePLS+Y9cVbRvGpBLd50=;
 b=vqvyEa+hHk4ITREVwMOJ8bfU64r1h8uoRjhUOyALRguUuDGXDZlbpClmIWJ6qnzAXoMmk7HQGBKty+PJaIwKT7gmc7/aG5Fn9tbfjIqTGrP6acRLwGjHs1B8XZjLBT3UFMn3nJerOzLRKy1AoLsgr+N8Z14yCpvOtzryAa85i88=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <penny.zheng@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Penny Zheng <Penny.Zheng@amd.com>, Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v3 13/15] tools/xenpm: Print CPPC parameters for amd-cppc driver
Date: Thu, 6 Mar 2025 16:39:47 +0800
Message-ID: <20250306083949.1503385-14-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD74:EE_|CH3PR12MB8258:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e7c550a-b964-4bea-3885-08dd5c8a980a
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?heEp8E86HtctDSoWBoDtaEiaBoyYlw+cUsESGOcihFBuk7N1BxeaklWGy6/G?=
 =?us-ascii?Q?W20Mm1vMdnxWxRhncQKTOpcZoPBR9qIjuYiAhIaPmorLGL4f4Kmy4ahZDyuE?=
 =?us-ascii?Q?99x3bGtECioauCcQEf/uex6/stGOpYQznaEHDvr5lnm1mY68xtLBzyUoMJcL?=
 =?us-ascii?Q?Bf+fdnCk8pM1IFATJcofayL1BQQkN7KwFXhWmnBfHHMeK03fOssBPM3BdQ/D?=
 =?us-ascii?Q?cMeU+y1RUEGg924RnND3/GJQYGBaX4SECVqZWdA7L91AnoPyNuEw9w6KmNb2?=
 =?us-ascii?Q?qRaDXjRoHH9zB3W+L/hFAagMwenOGuYCx09xTy6hREXS834j1vZmRNX5orZn?=
 =?us-ascii?Q?HHDvL283iT7sZ+B7/m88cAsNmqdq6OmYaTrHMO5ICylrLN1ahhGoCIKKGT7X?=
 =?us-ascii?Q?OOc9Vc96UKPYM8VyMnc9l6jewv37bK9qGPPHkyd/Vi4ANZzjhSycZ2M5rAow?=
 =?us-ascii?Q?tVq5f0sizKXR2I3tv0DZJU3ZxXuDFDRNzqULiXEvqhH60wkSycQpBICW4zgs?=
 =?us-ascii?Q?ieJhWo3Dk/Em/KYhAJzYu6+HVYtVvmS/0xnyzYNAwbpOjgTx7Gu6t2UsnDf5?=
 =?us-ascii?Q?Zqd7BRU2Oujxeq7b1EBFF+/qRvJClTGbWRRmJ3Xdj3vCyEdj8jSt5AzrT5Gw?=
 =?us-ascii?Q?HPdgIxJ3FGlv5Y7a6AJzgAUQgrhB0cRlIBdPLJGBJi94xqiBBkQb1VX7gE5/?=
 =?us-ascii?Q?7f/bv1AMfblhohnaKtyegOBiw3EL8O0W4URCBn65jiZSX0c3eyTSbAwdf0lN?=
 =?us-ascii?Q?eiVSOjhPRGbunJBbUNkOOiBcxeBt9AzSfFE1G7+XW17Y/duEZrtzNtYvRp/g?=
 =?us-ascii?Q?sGvtk8Xgn8MTFRdNvTTN9X6yvTtENOBezOMeWJ2t1KYYuio6RyKSLzFN2Y1O?=
 =?us-ascii?Q?Rwipb7WiaDJ86H5YJ6Twk0xdq+Bcw1KPd5hhOy84QWcwKw0ungSZD2VUWuKD?=
 =?us-ascii?Q?DDS2T/Rvr6nr59qeFBA4vFCiH5fYZu8YUZXpPg9N+Lo72ed5L73oBDBPWQPJ?=
 =?us-ascii?Q?Z0jjsc5wO8HPMmcdxi6lIFslIOAJugCx8zFvqgEM9MG++gy0chbeWQciEsiX?=
 =?us-ascii?Q?byKYJ2K3F4OedKiiXX7IaBo86RvZcLmWrU9PAXZl+AZLjCav4scH1+MVbuWj?=
 =?us-ascii?Q?5xEFVV/YR6k8M8z5CV760e5aQPun311osCWFABQ/9qu2jCjbgiGQddqV3pck?=
 =?us-ascii?Q?pRyAooOivEpj1JM9UthL/JfhqWuNtHU2jqx8PrtlkatAzTzeqFLWcWXqC97V?=
 =?us-ascii?Q?PdQQQVW/ByTh/DO1oZ5XoIT3AyWabdj+4LixnD1XpjWnkFLcP5ICCbQiU7Il?=
 =?us-ascii?Q?cQM/Npd5Bs3IB704H96Of/PGUmepTcHA4Ip+0UcNcIEi/vY1wBOC/vfZwfGm?=
 =?us-ascii?Q?b1Myk5VYFWw5DeiVmig/5gtwlw6UicHBB5eo7pA7atvKDdpIB82alNLSE16E?=
 =?us-ascii?Q?+4FwI4zjJPZgg1awhViFvSTjdGnNS3e0DSW7jI1k2dUXluKAONZoMRk2wFNu?=
 =?us-ascii?Q?iTdKiQ5XILFlCHg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:48.1746
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e7c550a-b964-4bea-3885-08dd5c8a980a
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD74.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8258

From: Penny Zheng <penny.zheng@amd.com>

HWP, amd-cppc, amd-cppc-epp are all the implementation
of ACPI CPPC (Collaborative Processor Performace Control),
so we introduce cppc_mode flag to print CPPC-related para.

And HWP and amd-cppc-epp are both governor-less driver,
so we introduce hw_auto flag to bypass governor-related print.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 tools/misc/xenpm.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 336d246346..a7aeaea35e 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -790,9 +790,18 @@ static unsigned int calculate_activity_window(const xc_cppc_para_t *cppc,
 /* print out parameters about cpu frequency */
 static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
 {
-    bool hwp = strcmp(p_cpufreq->scaling_driver, XEN_HWP_DRIVER_NAME) == 0;
+    bool cppc_mode = false, hw_auto = false;
     int i;
 
+    if ( !strcmp(p_cpufreq->scaling_driver, XEN_HWP_DRIVER_NAME) ||
+         !strcmp(p_cpufreq->scaling_driver, XEN_AMD_CPPC_DRIVER_NAME) ||
+         !strcmp(p_cpufreq->scaling_driver, XEN_AMD_CPPC_EPP_DRIVER_NAME) )
+        cppc_mode = true;
+
+    if ( !strcmp(p_cpufreq->scaling_driver, XEN_HWP_DRIVER_NAME) ||
+         !strcmp(p_cpufreq->scaling_driver, XEN_AMD_CPPC_EPP_DRIVER_NAME) )
+        hw_auto = true;
+
     printf("cpu id               : %d\n", cpuid);
 
     printf("affected_cpus        :");
@@ -800,7 +809,7 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
         printf(" %d", p_cpufreq->affected_cpus[i]);
     printf("\n");
 
-    if ( hwp )
+    if ( hw_auto )
         printf("cpuinfo frequency    : base [%"PRIu32"] max [%"PRIu32"]\n",
                p_cpufreq->cpuinfo_min_freq,
                p_cpufreq->cpuinfo_max_freq);
@@ -812,7 +821,7 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
 
     printf("scaling_driver       : %s\n", p_cpufreq->scaling_driver);
 
-    if ( hwp )
+    if ( cppc_mode )
     {
         const xc_cppc_para_t *cppc = &p_cpufreq->u.cppc_para;
 
@@ -838,7 +847,8 @@ static void print_cpufreq_para(int cpuid, struct xc_get_cpufreq_para *p_cpufreq)
                cppc->desired,
                cppc->desired ? "" : " hw autonomous");
     }
-    else
+
+    if ( !hw_auto )
     {
         printf("scaling_avail_gov    : %s\n",
                p_cpufreq->scaling_available_governors);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:57:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:57:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903227.1311165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq73H-0004qQ-Na; Thu, 06 Mar 2025 08:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903227.1311165; Thu, 06 Mar 2025 08:57: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 1tq73H-0004qJ-Je; Thu, 06 Mar 2025 08:57:59 +0000
Received: by outflank-mailman (input) for mailman id 903227;
 Thu, 06 Mar 2025 08:57: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mm-00031D-45
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:56 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20625.outbound.protection.outlook.com
 [2a01:111:f403:2415::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6885cac-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:54 +0100 (CET)
Received: from CH5P223CA0012.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:1f3::26)
 by SJ0PR12MB7460.namprd12.prod.outlook.com (2603:10b6:a03:48d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 08:40:46 +0000
Received: from CH1PEPF0000AD75.namprd04.prod.outlook.com
 (2603:10b6:610:1f3:cafe::d0) by CH5P223CA0012.outlook.office365.com
 (2603:10b6:610:1f3::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Thu,
 6 Mar 2025 08:40:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD75.mail.protection.outlook.com (10.167.244.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:46 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:43 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6885cac-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BS2+qixq8kfA/AVWRPnXunn3NI3xONZTgxTJW5IT1byo6wnhrKYYDVpbdaeEBqPdEd+p9ZqErWW4xCg7siBT/wBlDfImXDKi11/KhewZCRr6HP61ljSm+1xexeg1ivfq9x9U+QT7MMxXvg5oSwkqZQT5D/AB9IgnW6jwPtshqnII6QqsShma4sf/zhSD+R+zqK1am4inJ5ajLS6I7UHlAHZblnsLHFY/hOl9TipVvHAhisuqGGBHl9jiTS4RYilNIJCEbMvFJdIXN9zmgCCUpVFHFna+dNemRJ078bAXn1P8dF5OllLGA2EQKkcUEVKKGoGxhXV2+tN/f3bD5dsRVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pH0fQEcWAFj6ONCosK7Qrb9mkFJ26je7WuTNOYZmtGk=;
 b=JUrTjD67Exl0I5P+F7XT1vhvx/0fMe6/q/rVsdjhb3Uk17sd3e7okGsbIOIUvdtsA7O7AmPfxraUQzeaFW6qAY/+f0WMnK1u/ByXwee6gxwR0txm371LqLYrxtJypiixyCbHEMfWnVtiHGSltnIgoAHdkBlCq4G5NXiPlVKaj+eH2XrxR3tlR6lrpqKaS0j8QMPctUWC0eA7G7QMXCyVQUrtvHsHvcJxIbYYFzOyhECZquuKYo1s70A+vCAla4sK1adgb1p25xi9aCOODjXvKvRTNT6scF7igFqr63l2CA7ItrQqBQuNCXfz60db0WVLivnlvg9KuJTwSRaK6lnWLA==
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=pH0fQEcWAFj6ONCosK7Qrb9mkFJ26je7WuTNOYZmtGk=;
 b=QMc8Nj3nd99l8ikplGEKD7HQKvYR+kb6MezWx7vCoFk9KkEw31zNxy0PJ2PKWt5J53uDYzOOVUK0KZgBpt5c85fViPKoXcnJJ0mNzgSG+aUSw4wxds9D73ZlViXcq67bk25RscE3m6x94v2NUWYan/dFzvsmsWeO7huSPuvFYlk=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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/15] xen/x86: implement EPP support for the amd-cppc driver in active mode
Date: Thu, 6 Mar 2025 16:39:46 +0800
Message-ID: <20250306083949.1503385-13-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD75:EE_|SJ0PR12MB7460:EE_
X-MS-Office365-Filtering-Correlation-Id: 0fa7eb38-4dc1-436a-5102-08dd5c8a96db
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?BJoS0eflau/pGzGaNlTmHQ7FFkpMQ0suv2B+W9wo4133xYMEjFWIcrRByzeT?=
 =?us-ascii?Q?INrW6PSblxw1GV44yAn4GbAMD6f67NufkEnwXZWN9tJ+Eb2iRqPDcjU8h/5y?=
 =?us-ascii?Q?q/B9gN6iuAVKtGECDaV9lAfx9Fvgr43F8PtU4ohXJ72DUvjoLGQmBKofLcSH?=
 =?us-ascii?Q?IL49RRG8BsKMONC7VwSkxDt/RKm2lRN8O/C8wYspzf5FhopQ58hdR0JaDpi5?=
 =?us-ascii?Q?v3NypP39pADkwupBeHhD7qhl1YCHOaNRAiIfm0PccisRfi8299OKp7njLSAC?=
 =?us-ascii?Q?4JEpsSlXBIed9U+6s9DV7vs838yL1rMDkagIa9dTIJwYlFDv0BUBXS/9AQ9P?=
 =?us-ascii?Q?5OjjRjnjq7Kk+jIvIAzyoz6DVeShEn0mkAUJKMNg63fKR9k3QldryBsq1PWu?=
 =?us-ascii?Q?x8X1UNi5W1U4qpl3A0jdQq8MIUI08tqvaDL48FU6txZS1FImlbi0LiF23xmc?=
 =?us-ascii?Q?lGp3o2MsWPWiQs3HRlujQSTMzQ4KQVRnkDDDJjn7kn1/ZCA/4QUyI6p+X7RO?=
 =?us-ascii?Q?1SLFwjLUkYyiQyqbVYzWRtcNm4JAQin+vBFGpKbzIfFiubdFBx27dJ68A3re?=
 =?us-ascii?Q?mYIOdUAxjuVeI9yJb2aZr1h0AQacOgv1RfkAt0V0ewCZJPwh0RAdx3bsWzi8?=
 =?us-ascii?Q?872pDzwJE4dzxfp49V7ujF4TGJgpoC0ihz0JiNLEsUorkUkvcXDsqALsAbW/?=
 =?us-ascii?Q?H3JNirNeFkER1ZeDsqWJk7vJt+xfCJnkjHVW458lNLXZaFpbO8duVZF1IDq+?=
 =?us-ascii?Q?c5gwGDb/RypYL9v/c0vnxpB7QRhRFkPZyyMk4grvZOgVrGXbTJsaoRQGYpJL?=
 =?us-ascii?Q?yL/rRQhbZbkDGX1Q5zUJLOgXXUpPYwvDD4CRQKTV3T/4bteS9aZt0qrONABM?=
 =?us-ascii?Q?TWv96REsfXeri6zXp7GNz2LhF1oz9gFxxNQUVvA+2T8e5FxSeL2V2ouYuFQx?=
 =?us-ascii?Q?I4OPZ76/YCxxF7tunLaHKKFWpqY0uXu+Y5Ehdg6ugFBYuaWT+Vll+Xa/wCjP?=
 =?us-ascii?Q?L2zA8gVHPY433m9oB73EV/FkL8NGUmBlFlFdi54zN/dJ30BFXRvhMA1VuQf9?=
 =?us-ascii?Q?IJhs0I1OoxccZAZ+OYKN9UYVkQJUrZuyqgdydw21KOvyPfFfRGWJg7Kkq91n?=
 =?us-ascii?Q?+ZlaYBegzJCuy2Hb6MyaXcmzCnjfg7HynsUUn0C3+rFcKb3xVYPQRJi29a61?=
 =?us-ascii?Q?Y6E360/7XrOluc4e/9+ZhKly4tcwDC5RKKWKGKFirKhrGGkgFFwcTt0HAxR/?=
 =?us-ascii?Q?1le39fC4J5FXRwcNFQcRUgccOLcgPlh8Iu9mw+R6JzEYFRhTv+Qzf+8iRufb?=
 =?us-ascii?Q?BY+sN64TlNCrXstne5pjSTmU/dAMlfC1S7fRm59865BuB7MNzZOb8TxXAfCN?=
 =?us-ascii?Q?c39O/qWTpqCJB7lG8hVEa2PGlErryusX2DAjEXwGiWVpW3pYsZ1MwMyhOKs+?=
 =?us-ascii?Q?IvM61jR/412oPwjTCyPtetA63Lw5ScuvJNCM2YqqrqSK4PFeNij34jpMfZJ6?=
 =?us-ascii?Q?DSQCnNcyNBP6R98=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:46.1738
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fa7eb38-4dc1-436a-5102-08dd5c8a96db
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD75.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7460

amd-cppc has 2 operation modes: autonomous (active) mode,
non-autonomous (passive) mode.
In active mode, platform ignores the requestd done in the Desired
Performance Target register and takes into account only the values
set to the minimum, maximum and energy performance preference(EPP)
registers.
The EPP is used in the CCLK DPM controller to drive the frequency
that a core is going to operate during short periods of activity.
The SOC EPP targets are configured on a scale from 0 to 255 where 0
represents maximum performance and 255 represents maximum efficiency.

This commit implements one new AMD CPU frequency driver `amd-cppc-epp`
for active mode. It also introduce `active` tag for users to explicitly
select active mode and a new variable `opt_active_mode` to keep track of
which mode is currently enabled.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- Remove redundant epp_mode
- Remove pointless initializer
- Define sole caller read_epp_init_once and epp_init value to read
pre-defined BIOS epp value only once
- Combine the commit "xen/cpufreq: introduce policy type when
cpufreq_driver->setpolicy exists"
---
v2 -> v3:
- Combined with commit "x86/cpufreq: add "cpufreq=amd-cppc,active" para"
- Refactor doc about "active mode"
- Change opt_cpufreq_active to opt_active_mode
- Let caller pass epp_init when unspecified to allow the function parameter
to be of uint8_t
- Make epp_init per-cpu value
---
 docs/misc/xen-command-line.pandoc    |   8 +-
 xen/arch/x86/acpi/cpufreq/amd-cppc.c | 119 +++++++++++++++++++++++++--
 xen/drivers/cpufreq/utility.c        |  11 +++
 xen/include/acpi/cpufreq/cpufreq.h   |  12 +++
 xen/include/public/sysctl.h          |   1 +
 5 files changed, 145 insertions(+), 6 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index b3c3ca2377..19094070b3 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -515,7 +515,7 @@ If set, force use of the performance counters for oprofile, rather than detectin
 available support.
 
 ### cpufreq
-> `= none | {{ <boolean> | xen } { [:[powersave|performance|ondemand|userspace][,[<maxfreq>]][,[<minfreq>]]] } [,verbose]} | dom0-kernel | hwp[:[<hdc>][,verbose]] | amd-cppc[:[verbose]]`
+> `= none | {{ <boolean> | xen } { [:[powersave|performance|ondemand|userspace][,[<maxfreq>]][,[<minfreq>]]] } [,verbose]} | dom0-kernel | hwp[:[<hdc>][,verbose]] | amd-cppc[:[active][,verbose]]`
 
 > Default: `xen`
 
@@ -537,6 +537,12 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
 * `amd-cppc` selects ACPI Collaborative Performance and Power Control (CPPC)
   on supported AMD hardware to provide finer grained frequency control
   mechanism. The default is disabled.
+* `active` is to enable amd-cppc driver in active(autonomous) mode. In this
+  mode, users could write to energy performance preference register to tell
+  hardware if they want to bias toward performance or energy efficiency. Then
+  built-in CPPC power algorithm will calculate the runtime workload and adjust
+  the realtime cores frequency automatically according to the power supply and
+  thermal, core voltage and some other hardware conditions.
 
 User could use `;`-separated options to support universal options which they
 would like to try on any agnostic platform, *but* under priority order, like
diff --git a/xen/arch/x86/acpi/cpufreq/amd-cppc.c b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
index bf30990c74..606bb648b3 100644
--- a/xen/arch/x86/acpi/cpufreq/amd-cppc.c
+++ b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
@@ -30,6 +30,9 @@
         printk(XENLOG_DEBUG "AMD_CPPC: " fmt, ## args);     \
 })
 
+static bool __ro_after_init opt_active_mode;
+static DEFINE_PER_CPU_READ_MOSTLY(uint8_t, epp_init);
+
 struct amd_cppc_drv_data
 {
     const struct xen_processor_cppc *cppc_data;
@@ -70,6 +73,13 @@ static bool __init amd_cppc_handle_option(const char *s, const char *end)
         return true;
     }
 
+    ret = parse_boolean("active", s, end);
+    if ( ret >= 0 )
+    {
+        opt_active_mode = ret;
+        return true;
+    }
+
     return false;
 }
 
@@ -226,14 +236,19 @@ static void amd_cppc_write_request_msrs(void *info)
 }
 
 static int cf_check amd_cppc_write_request(unsigned int cpu, uint8_t min_perf,
-                                           uint8_t des_perf, uint8_t max_perf)
+                                           uint8_t des_perf, uint8_t max_perf,
+                                           uint8_t epp)
 {
     struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
     uint64_t prev = data->req.raw;
 
     data->req.min_perf = min_perf;
     data->req.max_perf = max_perf;
-    data->req.des_perf = des_perf;
+    if ( !opt_active_mode )
+        data->req.des_perf = des_perf;
+    else
+        data->req.des_perf = 0;
+    data->req.epp = epp;
 
     if ( prev == data->req.raw )
         return 0;
@@ -261,7 +276,20 @@ static int cf_check amd_cppc_cpufreq_target(struct cpufreq_policy *policy,
         return res;
 
     return amd_cppc_write_request(policy->cpu, data->caps.lowest_nonlinear_perf,
-                                  des_perf, data->caps.highest_perf);
+                                  des_perf, data->caps.highest_perf,
+                                  /* Pre-defined BIOS value for passive mode */
+                                  per_cpu(epp_init, policy->cpu));
+}
+
+static int read_epp_init(void)
+{
+    uint64_t val;
+
+    if ( rdmsr_safe(MSR_AMD_CPPC_REQ, val) )
+        return -EINVAL;
+    this_cpu(epp_init) = (val >> 24) & 0xFF;
+
+    return 0;
 }
 
 static void cf_check amd_cppc_init_msrs(void *info)
@@ -343,6 +371,8 @@ static void cf_check amd_cppc_init_msrs(void *info)
      */
     policy->cur = cpufreq_driver_getavg(policy->cpu, GOV_GETAVG);
 
+    data->err = read_epp_init();
+
     return;
 
  err:
@@ -372,7 +402,7 @@ static int cf_check amd_cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy)
     return 0;
 }
 
-static int cf_check amd_cppc_cpufreq_cpu_init(struct cpufreq_policy *policy)
+static int amd_cppc_cpufreq_init_perf(struct cpufreq_policy *policy)
 {
     unsigned int cpu = policy->cpu;
     struct amd_cppc_drv_data *data;
@@ -411,12 +441,78 @@ static int cf_check amd_cppc_cpufreq_cpu_init(struct cpufreq_policy *policy)
 
     amd_cppc_boost_init(policy, data);
 
+    return 0;
+}
+
+static int cf_check amd_cppc_cpufreq_cpu_init(struct cpufreq_policy *policy)
+{
+    int ret;
+
+    ret = amd_cppc_cpufreq_init_perf(policy);
+    if ( ret )
+        return ret;
+
     amd_cppc_verbose("CPU %u initialized with amd-cppc passive mode\n",
                      policy->cpu);
 
     return 0;
 }
 
+static int cf_check amd_cppc_epp_cpu_init(struct cpufreq_policy *policy)
+{
+    int ret;
+
+    ret = amd_cppc_cpufreq_init_perf(policy);
+    if ( ret )
+        return ret;
+
+    policy->policy = cpufreq_parse_policy(policy->governor);
+
+    amd_cppc_verbose("CPU %u initialized with amd-cppc active mode\n", policy->cpu);
+
+    return 0;
+}
+
+static int amd_cppc_epp_update_limit(const struct cpufreq_policy *policy)
+{
+    const struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data,
+                                                    policy->cpu);
+    uint8_t max_perf, min_perf, epp;
+
+    /* Initial min/max values for CPPC Performance Controls Register */
+    /*
+     * Continuous CPPC performance scale in active mode is [lowest_perf,
+     * highest_perf]
+     */
+    max_perf = data->caps.highest_perf;
+    min_perf = data->caps.lowest_perf;
+
+    epp = per_cpu(epp_init, policy->cpu);
+    if ( policy->policy == CPUFREQ_POLICY_PERFORMANCE )
+    {
+        /* Force the epp value to be zero for performance policy */
+        epp = CPPC_ENERGY_PERF_MAX_PERFORMANCE;
+        min_perf = max_perf;
+    }
+    else if ( policy->policy == CPUFREQ_POLICY_POWERSAVE )
+        /* Force the epp value to be 0xff for powersave policy */
+        /*
+         * If set max_perf = min_perf = lowest_perf, we are putting
+         * cpu cores in idle.
+         */
+        epp = CPPC_ENERGY_PERF_MAX_POWERSAVE;
+
+    return amd_cppc_write_request(policy->cpu, min_perf,
+                                  /* des_perf = 0 for epp mode */
+                                  0,
+                                  max_perf, epp);
+}
+
+static int cf_check amd_cppc_epp_set_policy(struct cpufreq_policy *policy)
+{
+    return amd_cppc_epp_update_limit(policy);
+}
+
 static const struct cpufreq_driver __initconst_cf_clobber
 amd_cppc_cpufreq_driver =
 {
@@ -427,6 +523,16 @@ amd_cppc_cpufreq_driver =
     .exit   = amd_cppc_cpufreq_cpu_exit,
 };
 
+static const struct cpufreq_driver __initconst_cf_clobber
+amd_cppc_epp_driver =
+{
+    .name       = XEN_AMD_CPPC_EPP_DRIVER_NAME,
+    .verify     = amd_cppc_cpufreq_verify,
+    .setpolicy  = amd_cppc_epp_set_policy,
+    .init       = amd_cppc_epp_cpu_init,
+    .exit       = amd_cppc_cpufreq_cpu_exit,
+};
+
 int __init amd_cppc_register_driver(void)
 {
     int ret;
@@ -437,7 +543,10 @@ int __init amd_cppc_register_driver(void)
         return -ENODEV;
     }
 
-    ret = cpufreq_register_driver(&amd_cppc_cpufreq_driver);
+    if ( opt_active_mode )
+        ret = cpufreq_register_driver(&amd_cppc_epp_driver);
+    else
+        ret = cpufreq_register_driver(&amd_cppc_cpufreq_driver);
     if ( ret )
         return ret;
 
diff --git a/xen/drivers/cpufreq/utility.c b/xen/drivers/cpufreq/utility.c
index f1fd2fdbce..abde499d40 100644
--- a/xen/drivers/cpufreq/utility.c
+++ b/xen/drivers/cpufreq/utility.c
@@ -491,3 +491,14 @@ int __cpufreq_set_policy(struct cpufreq_policy *data,
 
     return __cpufreq_governor(data, CPUFREQ_GOV_LIMITS);
 }
+
+unsigned int cpufreq_parse_policy(const struct cpufreq_governor *gov)
+{
+    if ( !strncasecmp(gov->name, "performance", CPUFREQ_NAME_LEN) )
+        return CPUFREQ_POLICY_PERFORMANCE;
+
+    if ( !strncasecmp(gov->name, "powersave", CPUFREQ_NAME_LEN) )
+        return CPUFREQ_POLICY_POWERSAVE;
+
+    return CPUFREQ_POLICY_UNKNOWN;
+}
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 3c2b951830..7c36634d40 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -83,6 +83,7 @@ struct cpufreq_policy {
     int8_t              turbo;  /* tristate flag: 0 for unsupported
                                  * -1 for disable, 1 for enabled
                                  * See CPUFREQ_TURBO_* below for defines */
+    unsigned int        policy; /* CPUFREQ_POLICY_* */
 };
 DECLARE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_policy);
 
@@ -133,6 +134,17 @@ extern int cpufreq_register_governor(struct cpufreq_governor *governor);
 extern struct cpufreq_governor *__find_governor(const char *governor);
 #define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_dbs
 
+#define CPUFREQ_POLICY_UNKNOWN      0
+/*
+ * If cpufreq_driver->target() exists, the ->governor decides what frequency
+ * within the limits is used. If cpufreq_driver->setpolicy() exists, these
+ * two generic policies are available:
+ */
+#define CPUFREQ_POLICY_POWERSAVE    1
+#define CPUFREQ_POLICY_PERFORMANCE  2
+
+unsigned int cpufreq_parse_policy(const struct cpufreq_governor *gov);
+
 /* pass a target to the cpufreq driver */
 extern int __cpufreq_driver_target(struct cpufreq_policy *policy,
                                    unsigned int target_freq,
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 42997252ef..fa431fd983 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -424,6 +424,7 @@ struct xen_set_cppc_para {
 };
 
 #define XEN_AMD_CPPC_DRIVER_NAME "amd-cppc"
+#define XEN_AMD_CPPC_EPP_DRIVER_NAME "amd-cppc-epp"
 #define XEN_HWP_DRIVER_NAME "hwp"
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:58:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903236.1311181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq73Q-0005HI-74; Thu, 06 Mar 2025 08:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903236.1311181; Thu, 06 Mar 2025 08:58: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 1tq73Q-0005GD-1M; Thu, 06 Mar 2025 08:58:08 +0000
Received: by outflank-mailman (input) for mailman id 903236;
 Thu, 06 Mar 2025 08:58: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6md-00031D-Hi
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:40:47 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20609.outbound.protection.outlook.com
 [2a01:111:f403:2416::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b17abe18-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:45 +0100 (CET)
Received: from CH2PR10CA0026.namprd10.prod.outlook.com (2603:10b6:610:4c::36)
 by BL3PR12MB6522.namprd12.prod.outlook.com (2603:10b6:208:3be::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 08:40:41 +0000
Received: from CH1PEPF0000AD74.namprd04.prod.outlook.com
 (2603:10b6:610:4c:cafe::ec) by CH2PR10CA0026.outlook.office365.com
 (2603:10b6:610:4c::36) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 08:40:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD74.mail.protection.outlook.com (10.167.244.52) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:41 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:39 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b17abe18-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cUdLrgISklfZGltEqej33jG5BfMxsu4kE9VUvHqQ9DBezZ4OBfmCPzICDxZBELRjCCJnHTI2ozACUDeK5BnG8nHeXhrYpW039mW2HusTRZuVxBIqUS6JgHCXYPr46a5X+D9/L7A007UQAOXoxXXGbQ0AAqj2jcjS8ivrz/c9tIFybBP3vP5wYVBn8UDm1SxwfgB/kLaPPoKSh5UdJfGMpMYKLfea8+oCZD1TyneDA/EKPFJEmsnJxbvhJcXMRIJiSf+xjZDo7rdpE1Vi9cUmpV/r4/N1G3xQxF6YsqOdjLehIgf7L7lFTvqu3k1xJ7lX3d89q9+zAaANKPM9FmqK6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AWoURI9UoGDnQV3zAsQtajok02PmR6ELhXOEUkvQD6w=;
 b=XL8EQKmSUGurOQM+pHx6gA/l6Z7OvnrPyAMDg1Pa1x1ahMWq1x15QEyIy7sI4FJh76++pVv04JNFCe7OOKzQVEG07BBZ1EwSyb2stK3VrS7Z/VZGLQWjJ1ocxokz+IGgE57ymH3xwZQ5rNdO1ZYTve4bx+7dIz+8nvBfiaoT3F3WdO5MstTHVVhCYeCOqhGoMnnGW2EYflBGyvZ5w2wID3cWS5M3E2hz4unNu/F/IhF5VpDlrnvjNK7Hhl9TsgxAmch9SIKkMM6KRJSLHHjKhNYCE8rujo0H20SxRcTsR3ujkA4el+lX9m2XX4itz/ha5+YjfW+4i+MQjmuJHeRCWw==
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=AWoURI9UoGDnQV3zAsQtajok02PmR6ELhXOEUkvQD6w=;
 b=oQ2RrY6+ZnBDlZAazC81JGwmF7X23gKdXa8jEH9YW6fbK9FQMzUZNEctNKAirp/MVXTJPt6AVDBOKh1G+bkq5RjjH/5b9cBVVG/50n3zPM8z6YHSMIqQ+6NpkA2rZK0L5adYBPs6U8ZMjptxcBrzrVP2Xw3RbXVoOCOq9NFiWec=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <penny.zheng@amd.com>, Jan Beulich
	<jbeulich@suse.com>, Penny Zheng <Penny.Zheng@amd.com>
Subject: [PATCH v3 10/15] xen/cpufreq: only set gov NULL when cpufreq_driver.setpolicy is NULL
Date: Thu, 6 Mar 2025 16:39:44 +0800
Message-ID: <20250306083949.1503385-11-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD74:EE_|BL3PR12MB6522:EE_
X-MS-Office365-Filtering-Correlation-Id: 3d857b7f-ad88-440d-7a44-08dd5c8a93ff
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?H5ILEu1lovzLACCN6Yvu1TwTuFE6vLTPFCElCrfnsZXmFkFWMIeEXwRiaIN8?=
 =?us-ascii?Q?o5+pXECjatIilO7k0crVrcMpqIV9YXhWHmTsEYS6sfh8jfEBFvJ9NSorsYod?=
 =?us-ascii?Q?cWE4lXmIbTPcAudz9S9z0jHBQmvNKhVCTQLTbjr3Fenui4/X8QeczrSGn4XJ?=
 =?us-ascii?Q?7WYxe6i8rnK5I/FvkXEb8KujRjFTb7y4mLMf6YNuqOftYg8hmSubI4tF3GwN?=
 =?us-ascii?Q?chi7APB10YWzS2XdSE5w+D+XMPRXzA2U09HcHk1vgQMJxMa7gSEa5y3PUq7D?=
 =?us-ascii?Q?Tz79zop8jH4BkSvAyDIahzbmB0t1f/l7+/utOwNYclO4ba2Z7VHyw/6TdcS8?=
 =?us-ascii?Q?BBvvwuMffgrG+pKxpHcQfe4YNBQg8uEAAfkl8+AIN9LobQaEmaoLs1gGlxp4?=
 =?us-ascii?Q?IUd0ya4XewFQAVgsltAjh1+8dtp3/4A89Szmx5blHp8Kyy+PAm9XwivzOz0F?=
 =?us-ascii?Q?JegGpwlQzcr5MkIibW5S4iSH0gvrYaRnNIlIVkIoPPSPE1TuolHBrRK3LdaQ?=
 =?us-ascii?Q?LRPuG8vSSiIrG8i+cO19nH5MsPXbEg0tByaY1dmFf7TYvoFjkqEVta87dS7X?=
 =?us-ascii?Q?bIJXb1CnPNZ+Tl7UxoZhWOKSZepr5ekKIi4cEqo/K5sT4SnwuSrH+Q+zeSb0?=
 =?us-ascii?Q?qSFVe08ELvl2ZDfBSJSCauoPbihEbZQek1XRxrYFLJmKqhVoiAMzGr7qBpfn?=
 =?us-ascii?Q?BlnySxDttNdjE7+ri2qtYZSGt31MKkJgee7dOU8kAC+gAbF/Lhyj5leJSnIj?=
 =?us-ascii?Q?l3NPR9Z10SJzROd0Nb/Do6ZfTPQh7RQflXuQFaz5WzwBbzgGNyIRdvp1o4YM?=
 =?us-ascii?Q?AdT/B701Mar4yDimtmzWhpYgJgImz9l/HeTPG/1ZiA8OCLBv6RHvRTgxv16t?=
 =?us-ascii?Q?xbHzlCcuJFdf+peAagzr3kd9tuDefsNiRZYsygYOrwVjL7rUMQuTAFcP0xTn?=
 =?us-ascii?Q?YWHD97QCV0D0pbiVIx9BbnLd1eK0+5SDV5NsETNtWdcSs06l83hi5otzc1/P?=
 =?us-ascii?Q?NA6ttOQUrfqa4QZOKg/WRh3kxuj5LWhqN48Rc6PsuY9uot5wP2yuWKpYjneK?=
 =?us-ascii?Q?/COg5YxDV9HPl8wNI7w3gmGygZsErtEEGrC0EGxyQH2jd1Va4pJt+CP13tnS?=
 =?us-ascii?Q?/WgfOMDeG2gFkmWqUOt6D2cVszHDb5PHpY1vFxe7DYjmmKYhk128IYJIrpWX?=
 =?us-ascii?Q?FZt2AoHNP9D1hsjVONdFmi3Hng4g1hrHram+kamyT8nXzg74ibTSAcv5Qg8W?=
 =?us-ascii?Q?X5uIRncQFyl3Rr76j8Y4o8imm2Ag5kxE0xMOUMA0/PH6SPinwL5AE37WmrT1?=
 =?us-ascii?Q?K0jd91vrssn9Mo1WNJw85u9Z4akRG8AEjS55ZiPoB+jVAtAQo9976Nyymxzj?=
 =?us-ascii?Q?gbBgtrpoRYvJ8SD9MyoeV5aByWzGZTslA/Mvjli1gtyqzj82vXRGnkS/BoLM?=
 =?us-ascii?Q?3Zw0Xn8bhl1pLvGXfBgpMB2JUpegY1omr1lLXeqkUPQZ0O/apThIruIdMR4U?=
 =?us-ascii?Q?bEToRPENh4aIMbY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 08:40:41.3776
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d857b7f-ad88-440d-7a44-08dd5c8a93ff
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD74.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6522

From: Penny Zheng <penny.zheng@amd.com>

amd-cppc on active mode bypasses the scaling governor layer, and
provides its own P-state selection algorithms in hardware. Consequently,
when it is used, the driver's -> setpolicy() callback is invoked
to register per-CPU utilization update callbacks, not the ->target()
callback.

So, only when cpufreq_driver.setpolicy is NULL, we need to deliberately
set old gov as NULL to trigger the according gov starting.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/drivers/cpufreq/cpufreq.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 792e4dc02c..8fc6e527c2 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -353,7 +353,13 @@ int cpufreq_add_cpu(unsigned int cpu)
     if (hw_all || (cpumask_weight(cpufreq_dom->map) ==
                    pmpt->domain_info.num_processors)) {
         memcpy(&new_policy, policy, sizeof(struct cpufreq_policy));
-        policy->governor = NULL;
+
+       /*
+        * Only when cpufreq_driver.setpolicy == NULL, we need to deliberately
+        * set old gov as NULL to trigger the according gov starting.
+        */
+       if ( cpufreq_driver.setpolicy == NULL )
+            policy->governor = NULL;
 
         cpufreq_cmdline_common_para(&new_policy);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 08:58:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 08:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903235.1311175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq73P-0005Dx-Tk; Thu, 06 Mar 2025 08:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903235.1311175; Thu, 06 Mar 2025 08:58: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 1tq73P-0005Dq-Qb; Thu, 06 Mar 2025 08:58:07 +0000
Received: by outflank-mailman (input) for mailman id 903235;
 Thu, 06 Mar 2025 08:58: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq6mq-00031D-4g
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 08:41:00 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20605.outbound.protection.outlook.com
 [2a01:111:f403:2418::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8afbc87-fa66-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 09:40:56 +0100 (CET)
Received: from CH2PR10CA0026.namprd10.prod.outlook.com (2603:10b6:610:4c::36)
 by SJ0PR12MB8137.namprd12.prod.outlook.com (2603:10b6:a03:4e5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Thu, 6 Mar
 2025 08:40:51 +0000
Received: from CH1PEPF0000AD74.namprd04.prod.outlook.com
 (2603:10b6:610:4c:cafe::6e) by CH2PR10CA0026.outlook.office365.com
 (2603:10b6:610:4c::36) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 08:40:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD74.mail.protection.outlook.com (10.167.244.52) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 08:40:50 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 02:40:48 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8afbc87-fa66-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fJdCkYzbpKVQMc5c3fHLH32oQCpjU3k6KJZZxhUdTrTR9JNrLsbpepjxjmJn/4cR5hQDNLuyWROEvidBgLywo+gvRfu/s3KULpegfz+NfQluLbjIvYD3sW4122MQrwLLjHwAQZAozw1BWCCcmVHNNrA3kdBLQcK1T/FuoljIFFjwMlzAkYqAeNPCcQhLhitEaALkMA8ocKzOpy04ebf9ZQESjBUu2LVtkGKVcsRgGJUslaLN7zC/l1nJKt9cxktuOtzsldBXj1Rk9E7mjfI0b94q2njljYF2QBtoClMzYVM0z7j6eiLWusOuRrTI8fc8AGJ14fjZjKQEm9++jV/DiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6c9sueaBP6Rd4TxQW09D/ICaquL7cGU914u/trV6d4s=;
 b=sBgQgjS//pGfW57jh1UDshIP6KCMcD1WOdBoxXPdVVSVse0VcbT7ThTWifXVrQGR1qA8ejIFjbN715ICRzogqem9+LgmINR057LNP52wDJjX5cJqzZ7mGXDsIPaAcnlrjCrr6D2QnlczQqDNqDFutk84931KdB1bc6qOAxnIE/w4LHjF0C7ffGFQAhUTfoIvjVx55X6Z32Gz97YpqtsDgX+JbBUAdwF5+hEeRhs6RRdZw+8Bktfn/Cl+Zr6U+gb2AZWtdkwSJW6xl6j2M2Oo33kfuUq+aJBCbPvaK8MommxmNqpDWIjJ0FWaOB29vK7bdrsyxVJbwOqL2ab2wkD+Pg==
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=6c9sueaBP6Rd4TxQW09D/ICaquL7cGU914u/trV6d4s=;
 b=4jXY//7Pn1I1tRmwcf9eMgvg3DuGTx/dTxSpzuvHStOyy8+UhTAZc+gE44ic3gU3ClYrovlUUFIeHvNMJN52iTUFg4P8cv/ixFBcQK7rmhWcz1YdQrbTMNhCEtepeh/acNG3uyuJzn5jNWVgvjTNo9eDwJ+fjIhA5yQbh0GjDFY=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>, Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v3 14/15] xen/xenpm: Adapt cpu frequency monitor in xenpm
Date: Thu, 6 Mar 2025 16:39:48 +0800
Message-ID: <20250306083949.1503385-15-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306083949.1503385-1-Penny.Zheng@amd.com>
References: <20250306083949.1503385-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD74:EE_|SJ0PR12MB8137:EE_
X-MS-Office365-Filtering-Correlation-Id: a455b2b3-a5ce-412c-ecce-08dd5c8a9982
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?MBwpxHXd+0sjlYVisTPz06s9BYtbKIBMmUJHwpA5OwHxuGu/aTEVow49RSoq?=
 =?us-ascii?Q?u/Rm8Wj6stJZ3YGiB4rN5jWTKC9vZsvbuvx1VNddmeG056iZF2LzpBAVLa3J?=
 =?us-ascii?Q?TZitzQA/8HSF+9Qc/KzndlytYWqY96B1m54bacXy/CF6KxO0iwHLRbPsmY3w?=
 =?us-ascii?Q?b7xuejp2cyq27bsAsP7DCECECtfHYnmnvXlYqLB5WxRvyEflehbg9z2ILy/i?=
 =?us-ascii?Q?Vh1+uGqh5HMBqFT5xTwmBQ3V/+DtTSBOj40jJ7mBhzDMCYKXkCAM5fiaGykD?=
 =?us-ascii?Q?52dPtE+Xzn/N8hIMVcrudIa+MnF0zBUZszIOEpu2kD9eoooXmqi+4jDeDKWY?=
 =?us-ascii?Q?zCGvSdwk3AecLVetCPwxL1O6NClGicbaNyGa7P+BJ8/SzQnZaeNybFiri4Cj?=
 =?us-ascii?Q?wQu1Z0aglV7bMvIWKXX6WLRXRPr9SAF5Kx7Q7pOhv181++fuOf9UNbMp6GVP?=
 =?us-ascii?Q?Pz70RtOBgvyI9C9yU0s5PFMgZxUoyQ1xMq4h4PVS7+4322E3X+mKG0AI5L2G?=
 =?us-ascii?Q?e0LZ7nlECh00OqjqS2O+a/oF1b6/LW67Eqdph/7i2umNQkB0ioWfa8BAX6JJ?=
 =?us-ascii?Q?DRuvJfnkUx/dNgNcgPdb8T18B4G6e8brf7lq/w9LcfaKXxnjQSkH5FOX2JW1?=
 =?us-ascii?Q?Gd5f8fAvG+rAWFaEloaWEeY9DQL1QRLhU/tzbGOBCbY2MBRqxcWEYmrqgXBW?=
 =?us-ascii?Q?YVHEHSiwmItRsHTHLSPvUXpT5Le41nyF3oew7PFJMB22WKl73+uB+56jmEK5?=
 =?us-ascii?Q?dRmcHLW+7FNj9tQygXQZFTCkAdN7Q7l0wLaYWfG0VgoWOeXyXGJMCV3FAZlC?=
 =?us-ascii?Q?//OfPWaTwi/gHGLUoEyrncJwrWYVWKUDuVcJxfV2cIrEdXLJdX7k7qLcYLd9?=
 =?us-ascii?Q?pd7+kGdEj7AmmBMbKlskvuyefLCLUksN8oS5/YzaMVAWmfXJNP4z+EoE8z9+?=
 =?us-ascii?Q?kyjDxhjGlzzBzmqATo7nA1FpzlNFzx+PjvTmrp36Xj0NPnWZU4tDVm7Bw1rO?=
 =?us-ascii?Q?Pivyb6SESZn7LvjqCsUakMSJyu/bhuBrZ+xpcuapph2BO3lUz+bWMnFHCID3?=
 =?us-ascii?Q?Oc9jEVDo3VlaRsrr9tJmzTu1JIHm8dlSJ57KxHhICeJmSaKgKzP+GAtO4YD3?=
 =?us-ascii?Q?wpsKyVCRUpoodDbA+sDfKn/n+QbfEgrwGvHFF3Gnc2Qzqc/TeZzpBv6/TPzH?=
 =?us-ascii?Q?d0jpPytvEEidLCPzzKLebMbUbzAarOw0/henwpROoeJ72doFzscyb1F2oW+F?=
 =?us-ascii?Q?fF8mrWkN6E9q/pXPtCuo15Sk3Vf+lSDYtZNcGlZjLGwzBRbj52flsidOkQVx?=
 =?us-ascii?Q?JzjpW5MBpsJ2wn6E5RG4b5IXB7GMPEF+UD8gt1wwHDEzXAvbQlK+LpLfZetE?=
 =?us-ascii?Q?J7GNNuHKlrFVoaNXgsy47yELg67WZv8riyqBt2HyudAqaoTfX+yhMBItlngH?=
 =?us-ascii?Q?AtaQrAGIJ8hZs+ZsetH0Gy5MuJUIJiF5vxFG9GRaCD0F2YApPUqRw2HnLjGw?=
 =?us-ascii?Q?K1dlSNmtVje4mIA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 08:40:50.6277
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a455b2b3-a5ce-412c-ecce-08dd5c8a9982
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD74.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8137

Make `xenpm get-cpureq-para/set-cpufreq-para` available in CPPC mode.
Also, In `xenpm get-cpufreq-para <cpuid>`, para scaling_available_frequencies
only has meaningful value when cpufreq driver in legacy P-states.
So we loosen "has_num" condition to bypass scaling_available_frequencies
check in CPPC mode.

Also, in `xenpm get-cpyfreq-para start`, the monitor of average frequency shall
not depend on the existence of legacy P-states.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 tools/libs/ctrl/xc_pm.c   | 12 +++++++-----
 tools/misc/xenpm.c        |  5 +++--
 xen/drivers/acpi/pmstat.c | 30 +++++++++++++++++-------------
 3 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index b27b45c3dc..d843b79d6d 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -214,13 +214,12 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
 			 user_para->gov_num * CPUFREQ_NAME_LEN * sizeof(char), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
 
     bool has_num = user_para->cpu_num &&
-                     user_para->freq_num &&
                      user_para->gov_num;
 
     if ( has_num )
     {
         if ( (!user_para->affected_cpus)                    ||
-             (!user_para->scaling_available_frequencies)    ||
+             (user_para->freq_num && !user_para->scaling_available_frequencies)    ||
              (user_para->gov_num && !user_para->scaling_available_governors) )
         {
             errno = EINVAL;
@@ -228,14 +227,16 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
         }
         if ( xc_hypercall_bounce_pre(xch, affected_cpus) )
             goto unlock_1;
-        if ( xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
+        if ( user_para->freq_num &&
+             xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
             goto unlock_2;
         if ( user_para->gov_num &&
              xc_hypercall_bounce_pre(xch, scaling_available_governors) )
             goto unlock_3;
 
         set_xen_guest_handle(sys_para->affected_cpus, affected_cpus);
-        set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);
+        if ( user_para->freq_num )
+            set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);
         if ( user_para->gov_num )
             set_xen_guest_handle(sys_para->scaling_available_governors,
                                  scaling_available_governors);
@@ -301,7 +302,8 @@ unlock_4:
     if ( user_para->gov_num )
         xc_hypercall_bounce_post(xch, scaling_available_governors);
 unlock_3:
-    xc_hypercall_bounce_post(xch, scaling_available_frequencies);
+    if ( user_para->freq_num )
+        xc_hypercall_bounce_post(xch, scaling_available_frequencies);
 unlock_2:
     xc_hypercall_bounce_post(xch, affected_cpus);
 unlock_1:
diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index a7aeaea35e..a521800504 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -539,7 +539,7 @@ static void signal_int_handler(int signo)
                         res / 1000000UL, 100UL * res / (double)sum_px[i]);
             }
         }
-        if ( px_cap && avgfreq[i] )
+        if ( avgfreq[i] )
             printf("  Avg freq\t%d\tKHz\n", avgfreq[i]);
     }
 
@@ -926,7 +926,8 @@ static int show_cpufreq_para_by_cpuid(xc_interface *xc_handle, int cpuid)
             ret = -ENOMEM;
             goto out;
         }
-        if (!(p_cpufreq->scaling_available_frequencies =
+        if (p_cpufreq->freq_num &&
+            !(p_cpufreq->scaling_available_frequencies =
               malloc(p_cpufreq->freq_num * sizeof(uint32_t))))
         {
             fprintf(stderr,
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index c8e00766a6..7f432be761 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -202,7 +202,7 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
     pmpt = processor_pminfo[op->cpuid];
     policy = per_cpu(cpufreq_cpu_policy, op->cpuid);
 
-    if ( !pmpt || !pmpt->perf.states ||
+    if ( !pmpt || ((pmpt->init & XEN_PX_INIT) && !pmpt->perf.states) ||
          !policy || !policy->governor )
         return -EINVAL;
 
@@ -229,17 +229,20 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
     if ( ret )
         return ret;
 
-    if ( !(scaling_available_frequencies =
-           xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
-        return -ENOMEM;
-    for ( i = 0; i < op->u.get_para.freq_num; i++ )
-        scaling_available_frequencies[i] =
-                        pmpt->perf.states[i].core_frequency * 1000;
-    ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
-                   scaling_available_frequencies, op->u.get_para.freq_num);
-    xfree(scaling_available_frequencies);
-    if ( ret )
-        return ret;
+    if ( op->u.get_para.freq_num )
+    {
+        if ( !(scaling_available_frequencies =
+               xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
+            return -ENOMEM;
+        for ( i = 0; i < op->u.get_para.freq_num; i++ )
+            scaling_available_frequencies[i] =
+                            pmpt->perf.states[i].core_frequency * 1000;
+        ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
+                    scaling_available_frequencies, op->u.get_para.freq_num);
+        xfree(scaling_available_frequencies);
+        if ( ret )
+            return ret;
+    }
 
     op->u.get_para.cpuinfo_cur_freq =
         cpufreq_driver.get ? alternative_call(cpufreq_driver.get, op->cpuid)
@@ -465,7 +468,8 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
     switch ( op->cmd & PM_PARA_CATEGORY_MASK )
     {
     case CPUFREQ_PARA:
-        if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_PX) )
+        if ( !(xen_processor_pmbits & (XEN_PROCESSOR_PM_PX |
+                                       XEN_PROCESSOR_PM_CPPC)) )
             return -ENODEV;
         if ( !pmpt || !(pmpt->init & (XEN_PX_INIT | XEN_CPPC_INIT)) )
             return -EINVAL;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 09:44:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 09:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903288.1311196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq7mA-0006uE-I6; Thu, 06 Mar 2025 09:44:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903288.1311196; Thu, 06 Mar 2025 09: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 1tq7mA-0006u7-DY; Thu, 06 Mar 2025 09:44:22 +0000
Received: by outflank-mailman (input) for mailman id 903288;
 Thu, 06 Mar 2025 09:44: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tq7m8-0006u1-P1
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 09:44:20 +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 9051675f-fa6f-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 10:44:14 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-390fb1b987fso493622f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 01:44:14 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfba66esm1515136f8f.18.2025.03.06.01.44.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 01:44:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9051675f-fa6f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741254253; x=1741859053; 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=usAvTaqBcr/bbnOPithLGeq2n3hcMXLefPSQ95lBAFA=;
        b=G/kFwYvd3EohL4zOch0L6axeN2/p8EN+m2PSBLC4sCj6c1pQT1pyTz/hemr5hpljn1
         aOY9MYAsAMhiZGLqFiRpLceIiTmJnfAyLfctz+m2VIlADytoj2GB9jru6PnQ7M645QSD
         JVH6oNPwPLxZfMxu2BILqnYrHza/BW6kTb5z24vEIXCnC8sTaDsDDumXbrp1gocAPk+3
         IqZ5Yxn05h1u5Gl7vBtBI5PZ8/fdtwWUGc5KXywOiUc/B7QKYHuKMnBaHA3pihugiutF
         iJBfoU5WC/v5nnh+Dyft79vI59pfMYXCnz15d8nkeyBeR6CX2pCr5C/u+YiRz33HrWn3
         G50g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741254253; x=1741859053;
        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=usAvTaqBcr/bbnOPithLGeq2n3hcMXLefPSQ95lBAFA=;
        b=qI28xrWCLa/d+5Awt3SwHeXqFIKdGnR3NmfSoutS5PuTZA/Ej8w/WNu+4UFTlbNBhr
         b1PaZGq9R5JhdLLx8K5hXKgGYXqv8CMoFZaA9HazrArnAYo4ijs4sZXpx32GcURo+y5O
         4UB4fYxsHZKAvbVc7+vUMI7YVQr+mIx5Oj8jNg6tQ/lQaWJrmIHqf+bw4RBaRLO9nQ3N
         8PNBvRyHzOK67tM65NQ21tYv//jbYlPGHinqVAd/DXStOuyIpzK0ByorXVOgYwZqjqjk
         ZaZHBeNjcgC1Cfv15YLo1SNnznZKwyusQv9XqnYDEiYbeH+8yTbQvS3p68npqdavJfRw
         y8Sw==
X-Gm-Message-State: AOJu0YyThPHbGjtBfsUFPivXqI2ceY3qwtvUHpHPUDP3ngN/zFQxGA8R
	58I7JtkdOjxg615lhJN6Jrikw2m2ttomvxYMaY1x7awOZH7EOcvFa2nbwwqLqw==
X-Gm-Gg: ASbGncsPd1xQG2idhKNKKt7BCvdZ5Fm/+D38B71qNeKoXvH77DhNB+SLgS07LtMAjWn
	MQqxEsopYXUduakLFPcl2ON/Kc6+MNrBK/o26Mnp/8hiq2+FBd8iWwwI8IQk+wgT1Nbjg2nEV77
	92XFdoXa1RxNpiGHQUfF27rmahvpC8o9cbMuqQGZ6uaZJSJYUaODlPjau6YoXlpm+FNHA6eJcAi
	PADu/I/ciy+ucHIKQTsLpkEJe1DU5JeKxWuxO3BPM4rq9gOPB6N/A44k4Sv8HMH7G0t3eXu0Xc2
	THdycI5RzZjlCfcMMCnJmyjQiXDIVQ0VOiNV1vlMtzekZS3XOGUjnOeS5PITR6+X3XMSwksQz8Z
	3V4rsmLTYgIQjX3sTgRQnbvb4JbBQpQ==
X-Google-Smtp-Source: AGHT+IFszLHIdk4KjC2kAQ8p2Zo6v1fOygNBpS6gv3efciqn8eIT4nAPgsz+i0XsIAbZ+qgFnvvkXw==
X-Received: by 2002:a05:6000:2d08:b0:391:ba6:c069 with SMTP id ffacd0b85a97d-3911f7c246bmr4246469f8f.44.1741254253605;
        Thu, 06 Mar 2025 01:44:13 -0800 (PST)
Message-ID: <f955e83e-4177-4eb3-b65f-cd8428c6be4c@suse.com>
Date: Thu, 6 Mar 2025 10:44:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/11] x86/HVM: improve CET-IBT pruning of ENDBR
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>
References: <748548e8-79e5-4957-be16-c5ea4d202d21@suse.com>
 <29cc2974-a1d8-4123-83b0-b44a3151f900@suse.com>
 <Z8hkLjMAQfhBR2Cm@macbook.local>
 <5978ed8d-ecef-41f7-adde-bc52312b483c@suse.com>
 <Z8hwTL8bsgjU3fJi@macbook.local>
 <0d298a29-91f6-4e3f-abac-c14fcbfbccf5@suse.com>
 <Z8iJKJN17mILVEGS@macbook.local>
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: <Z8iJKJN17mILVEGS@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 18:26, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 05, 2025 at 05:23:05PM +0100, Jan Beulich wrote:
>> On 05.03.2025 16:39, Roger Pau MonnĂŠ wrote:
>>> On Wed, Mar 05, 2025 at 04:02:51PM +0100, Jan Beulich wrote:
>>>> On 05.03.2025 15:48, Roger Pau MonnĂŠ wrote:
>>>>> On Tue, Feb 25, 2025 at 12:37:00PM +0100, Jan Beulich wrote:
>>>>>> __init{const,data}_cf_clobber can have an effect only for pointers
>>>>>> actually populated in the respective tables. While not the case for SVM
>>>>>> right now, VMX installs a number of pointers only under certain
>>>>>> conditions. Hence the respective functions would have their ENDBR purged
>>>>>> only when those conditions are met. Invoke "pruning" functions after
>>>>>> having copied the respective tables, for them to install any "missing"
>>>>>> pointers.
>>>>>>
>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>
>>>>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>>>
>>>> Thanks.
>>>>
>>>>> However I find this filling slightly ugly, and prone to be forgotten
>>>>> when further hooks are added.
>>>>
>>>> Indeed. Luckily, while undesirable, that wouldn't be an outright bug.
>>>>
>>>>> Would it make sense to delay enabling of IBT until after alternatives
>>>>> have been applied, and thus simply not use the cf_clobber attribute on
>>>>> functions that are patched to not be indirectly called?
>>
>> Hmm, wait - how would that work? cf_clobber is used on function pointer
>> tables; any function indirectly callable prior to patching still needs
>> marking with cf_check, for build-time analysis to not throw errors (with
>> the specially patched gcc that Andrew prepared with a patch of H.J.'s).
> 
> Yeah, we would need something there?
> 
> Maybe disable such detection around alternative_{,v}call() usages if
> possible?
> 
> I assume the build-time detection is done based on call sites?

I think the build-time detection is based on places where addresses of
functions are taken. Call sites are close to impossible to re-associate
with the possible set of functions being called. If at all, that would
require the compiler to have a view of the entire image. Whereas the
warnings are issued as individual objects are being built.

Jan

>  We
> would need to figure out whether the detection can be disabled for
> chunks of code.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 10:22:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 10:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903299.1311205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq8NE-0007re-7D; Thu, 06 Mar 2025 10:22:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903299.1311205; Thu, 06 Mar 2025 10:22: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 1tq8NE-0007rX-4A; Thu, 06 Mar 2025 10:22:40 +0000
Received: by outflank-mailman (input) for mailman id 903299;
 Thu, 06 Mar 2025 10:18: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=InyT=VZ=gmail.com=alemuggianu@srs-se1.protection.inumbo.net>)
 id 1tq8J7-0006sW-IY
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 10:18:25 +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 559734d9-fa74-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 11:18:23 +0100 (CET)
Received: by mail-yw1-x1134.google.com with SMTP id
 00721157ae682-6ef9b8b4f13so4591927b3.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 02:18:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 559734d9-fa74-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741256302; x=1741861102; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Bw/+l6pBwPqatnRtYR8R6NAHL9Sc45JxDkxne1BYq1U=;
        b=mNyggtiePZMHylOP9oq2WBIet0QEdBHcBHKASpJ0OV4s8+JEaOUjHxkb6XMGdVLkRD
         /pemMHa/ryo9SuBXThDrrUdAcESfWhIkSWVgtfj8ngy9E4rMMc0k+LkbfBR4Uo+0OacD
         HecXZuxC9iexlXvCVDT3ucRzBPO1CccfDJnlYa6i3HyZypntwll+Ogn67JXPVwYoZw3C
         B+QKVYqMK//Yh/BYKf5RqFzw5AM0SDVkh2+L/odrmTqdZ7jekP1bA5EsU6kGtjZKgSsr
         SHz+TGbpCVYKfZnoa79IeWPgLOoTYC+gJpzS3IupGyaGv3q/NlnxUGUYo+cXVuFjQtnA
         MzQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741256302; x=1741861102;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Bw/+l6pBwPqatnRtYR8R6NAHL9Sc45JxDkxne1BYq1U=;
        b=ivJqgCMfOdsGrYHEhFxbM7sv83rPV3Z+1wY8picPfjFwMF7HviHj9XoyfuF0AyrsB+
         FHhOJ2mdAAb58yBhvwZUotEVUfRWrvN72Vzr53hTGSqq/DflgGaJDmHmt8TnqNQmS45i
         NyXKRDCmbBGvrCTsXvAgZ3yu2zQkk9UL5rsVpOHT3PV7Qy4FJKRqoausdkOrv6tGMsuc
         SCEG0ojvC5eThAIo2jHdgtcKsB0zlNEY5dIB9SPdVkrdK1rudriWYmksYRy3I4OtVIoQ
         jAPaOGoeqh3AbyOjIKEDcotqXEFtfCQRFM5wssP9D2lCUcuIvs3IaFVpAxQ81MYGP20r
         gGOA==
X-Gm-Message-State: AOJu0YxFF3wyhn1uIwkrQPNtjPQsVLN4dhlAB/5E3ItDtesXnzFsiYml
	WnDjwu0H3RUtNT/zWMJWfhJEPzl8+4gB40V8qqJVKyZbCBQMRvQtWR7Oe3TmGfEJJC3YZBupYIR
	fzC1ZTb7gWcv4aH3QPv245RxBPWirJnDM
X-Gm-Gg: ASbGnctmRiJWrPyRl0loj0h82HVZX2uN0AXIhNJK1OWiF80Cm3vUyij+BqHrisaWckF
	8tJowaaA+f1z7rTGMERrS3TYbeybCrwW4bChVL7UMplfPyVdYQ6kG6lFJXKidW5bCXeMDTFvF39
	w5FekRP9GqjHjiIHfaJ0dcCF0e
X-Google-Smtp-Source: AGHT+IEmOfH21w87fNbzWlvJ1Y1zAkcsRApJrxEEOiKbcJRqyIfykXsz4uvLFkFDTIfEXhs5Z3XG4DZUbVpvLq57XVk=
X-Received: by 2002:a05:690c:64c1:b0:6ee:5cf9:f898 with SMTP id
 00721157ae682-6fda306751bmr92625057b3.33.1741256302386; Thu, 06 Mar 2025
 02:18:22 -0800 (PST)
MIME-Version: 1.0
From: Alessandro Muggianu <alemuggianu@gmail.com>
Date: Thu, 6 Mar 2025 10:18:11 +0000
X-Gm-Features: AQ5f1JqMSAIqaYsl-pO5o-vnmxlmKGWC24r-1uqiKbIS-LwPmo309-5gUZZ3tKA
Message-ID: <CAOiua5Ojg9s24eaQkfDuUBMJffABuBEMkohHTjuF5b=-oE3ADw@mail.gmail.com>
Subject: [RFC] qxl: add additional vram regions to Xen physmap
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, 
	Paul Durrant <paul@xen.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Content-Type: text/plain; charset="UTF-8"

Hi all,

Using QXL graphics on Windows 10 hvm domains causes the guest to become
extremely slow. The behaviour will happen as soon as Windows loads the
driver, so the VM will initially work normally while the OS is loading.

This was reproduced on the current master but to my knowledge it's
always been an issue for Windows 10 guests on Xen (issue is not present
on KVM).

The normal VGA display adapter uses a single vram memory region which is
registered as the Xen framebuffer with xen_register_framebuffer().
This will cause it to be mapped to the Xen physmap in xen_add_to_physmap().

In the case of one or multiple QXL devices, only the first memory region
of the first (primary) device will be registered with Xen as framebuffer
and added to physmap (since it reuses the vga code), while I think all
other memory regions will be accessed via the IOREQ server, which
probably has too much overhead and seems to be the cause of the
unresponsive guest.

We made an attempt at fixing the problem by forcing those memory regions
to be added to the Xen physmap in xen_add_to_physmap().

This solves the performance issue and seems to be enough to make
QXL work. Multi-screen, additional resolutions, etc., all seems fine.

However, there is a lot I don't understand so I am not sure the change
is sensible. Hoping to get some expert eyes on this.

I see these issues with the current change:

* Broken migration. When trying to restore the domain, this assertion
  will fail for the qxl memory regions I added to the physmap (the ones
  named "qxl.vram" or "qxl.vgavram"), because the address returned by
  xen_replace_cache_entry() is different from what we get from
  memory_region_get_ram_ptr():

    qemu-system-i386: ../hw/i386/xen/xen-hvm.c:317:
xen_add_to_physmap: Assertion `p && p ==
memory_region_get_ram_ptr(mr)' failed.

  If I understand correctly, we try to recreate the physmap entry for
  the region by calling xen_replace_cache_entry(), which retrieves
  the guest memory address using xenforeignmemory_map2(), since the VRAM
  should belong to the guest and not QEMU (however this might not be the
  case for the QXL memory regions?). The address we obtain should
  also match the one obtained through memory_region_get_ram_ptr(),
  which (I think) will come from the restored VM state.

  In qxl.c, I'm only calling memory_region_get_ram_ptr(&qxl->vram_bar)
  to ensure the region is mapped on the host (not doing so will cause
  issues later), but I'm not using the returned pointer anywhere.
  Maybe it's supposed to be saved with the VM state?

* Now that I'm using a list of regions registered as Xen framebuffer, I
  don't know what to do in xen_sync_dirty_bitmap(). At the moment I
  forced it to only call memory_region_set_dirty() on the "original"
  framebuffer in a quick and dirty way, since it seems like we get there
  only from the vga code but not from the QXL code, which seems to use
  memory_region_set_dirty() instead (from qxl_set_dirty()).

* I used memory_region_set_log(<qxl_mem_region>, true, DIRTY_MEMORY_VGA)
   or the regions won't be actually added in arch_xen_set_memory(). I don't
   know if that's the right call, I just copied what we do for std VGA.

Hoping there isn't a fundamental issue with the approach, it would be
great to have this working!

The issue should be easy to reproduce but please let me know if I failed
to provide some important information.

Thank you,

Alessandro

---

diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 7178dec85d..80dc0b2131 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -29,6 +29,7 @@
 #include "qemu/main-loop.h"
 #include "qemu/module.h"
 #include "hw/qdev-properties.h"
+#include "hw/xen/xen.h"
 #include "sysemu/runstate.h"
 #include "migration/vmstate.h"
 #include "trace.h"
@@ -2139,11 +2140,14 @@ static void qxl_realize_common(PCIQXLDevice
*qxl, Error **errp)
     memory_region_init_alias(&qxl->vram32_bar, OBJECT(qxl), "qxl.vram32",
                              &qxl->vram_bar, 0, qxl->vram32_size);

+    memory_region_get_ram_ptr(&qxl->vram_bar);
     memory_region_init_io(&qxl->io_bar, OBJECT(qxl), &qxl_io_ops, qxl,
                           "qxl-ioports", io_size);
     if (qxl->have_vga) {
         vga_dirty_log_start(&qxl->vga);
     }
+    xen_register_framebuffer(&qxl->vram_bar);
+    memory_region_set_log(&qxl->vram_bar, true, DIRTY_MEMORY_VGA);
     memory_region_set_flush_coalesced(&qxl->io_bar);


@@ -2268,6 +2272,9 @@ static void qxl_realize_secondary(PCIDevice
*dev, Error **errp)
     qxl->id = qemu_console_get_index(qxl->vga.con); /* == channel_id */

     qxl_realize_common(qxl, errp);
+
+    xen_register_framebuffer(&qxl->vga.vram);
+    memory_region_set_log(&qxl->vga.vram, true, DIRTY_MEMORY_VGA);
 }

 static int qxl_pre_save(void *opaque)
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 4f6446600c..33c7c14804 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -14,6 +14,8 @@
 #include "qapi/qapi-commands-migration.h"
 #include "trace.h"

+#include "exec/ramblock.h"
+
 #include "hw/i386/pc.h"
 #include "hw/irq.h"
 #include "hw/i386/apic-msidef.h"
@@ -26,7 +28,7 @@
 #include "exec/target_page.h"

 static MemoryRegion ram_640k, ram_lo, ram_hi;
-static MemoryRegion *framebuffer;
+static QLIST_HEAD(, XenFramebuffer) xen_framebuffer;
 static bool xen_in_migration;

 /* Compatibility with older version */
@@ -175,6 +177,17 @@ static void xen_ram_init(PCMachineState *pcms,
     }
 }

+static MemoryRegion *get_framebuffer_by_name(const char *name) {
+    XenFramebuffer *fb = NULL;
+
+    QLIST_FOREACH(fb, &xen_framebuffer, list) {
+        if (g_strcmp0(memory_region_name(fb->mr), name) == 0) {
+            return fb->mr;
+        }
+    }
+    return NULL;
+}
+
 static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size,
                                    int page_mask)
 {
@@ -254,6 +267,7 @@ static int xen_add_to_physmap(XenIOState *state,
     unsigned long nr_pages;
     int rc = 0;
     XenPhysmap *physmap = NULL;
+    XenFramebuffer *fb = NULL;
     hwaddr pfn, start_gpfn;
     hwaddr phys_offset = memory_region_get_ram_addr(mr);
     const char *mr_name;
@@ -269,9 +283,14 @@ static int xen_add_to_physmap(XenIOState *state,
      * the linear framebuffer to be that region.
      * Avoid tracking any regions that is not videoram and avoid tracking
      * the legacy vga region. */
-    if (mr == framebuffer && start_addr > 0xbffff) {
-        goto go_physmap;
+    if (start_addr > 0xbffff) {
+        QLIST_FOREACH(fb, &xen_framebuffer, list) {
+            if (mr == fb->mr) {
+                goto go_physmap;
+            }
+        }
     }
+
     return -1;

 go_physmap:
@@ -293,6 +312,7 @@ go_physmap:
         /* Now when we have a physmap entry we can replace a dummy mapping with
          * a real one of guest foreign memory. */
         uint8_t *p = xen_replace_cache_entry(phys_offset, start_addr, size);
+        // For qxl.vram this assert will fail
         assert(p && p == memory_region_get_ram_ptr(mr));

         return 0;
@@ -406,7 +426,8 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
 #define ENODATA  ENOENT
 #endif
         if (errno == ENODATA) {
-            memory_region_set_dirty(framebuffer, 0, size);
+            MemoryRegion *fb = get_framebuffer_by_name("vga.vram");
+            memory_region_set_dirty(fb, 0, size);
             DPRINTF("xen: track_dirty_vram failed (0x" HWADDR_FMT_plx
                     ", 0x" HWADDR_FMT_plx "): %s\n",
                     start_addr, start_addr + size, strerror(errno));
@@ -419,8 +440,10 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
         while (map != 0) {
             j = ctzl(map);
             map &= ~(1ul << j);
-            memory_region_set_dirty(framebuffer,
-                                    (i * width + j) * page_size, page_size);
+            MemoryRegion *fb = get_framebuffer_by_name("vga.vram");
+            memory_region_set_dirty(fb,
+                                   (i * width + j) * page_size, page_size);
+
         };
     }
 }
@@ -618,6 +641,8 @@ void xen_hvm_init_pc(PCMachineState *pcms,
MemoryRegion **ram_memory)

     xen_is_stubdomain = xen_check_stubdomain(state->xenstore);

+    QLIST_INIT(&xen_framebuffer);
+
     QLIST_INIT(&xen_physmap);
     xen_read_physmap(state);

@@ -658,7 +683,12 @@ err:

 void xen_register_framebuffer(MemoryRegion *mr)
 {
-    framebuffer = mr;
+    XenFramebuffer *fb = NULL;
+
+    fb= g_new(XenFramebuffer, 1);
+    fb->mr = mr;
+
+    QLIST_INSERT_HEAD(&xen_framebuffer, fb, list);
 }

 void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 3d796235dc..8eba992c55 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -43,6 +43,13 @@ static inline ioreq_t
*xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu)

 #define BUFFER_IO_MAX_DELAY  100

+typedef struct XenFramebuffer {
+    MemoryRegion *mr;
+
+    QLIST_ENTRY(XenFramebuffer) list;
+} XenFramebuffer;
+
+
 typedef struct XenPhysmap {
     hwaddr start_addr;
     ram_addr_t size;


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 10:28:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 10:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903312.1311215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq8SL-0008Vq-SV; Thu, 06 Mar 2025 10:27:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903312.1311215; Thu, 06 Mar 2025 10:27: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 1tq8SL-0008Vj-OP; Thu, 06 Mar 2025 10:27:57 +0000
Received: by outflank-mailman (input) for mailman id 903312;
 Thu, 06 Mar 2025 10:27: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tq8SK-0008Vd-1x
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 10:27:56 +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 a91edd82-fa75-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 11:27:52 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43bd5644de8so4734485e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 02:27:53 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c01cb82sm1639323f8f.51.2025.03.06.02.27.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 02:27:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a91edd82-fa75-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741256872; x=1741861672; 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=gT3Cq26j0eAgsg6KuJKZ2/XBJPoIymcay2hNJsMgqUs=;
        b=hE9KoUXAZll5yoQIpASB/7lek7U8jgOAagRnko+GHLE95rbReSzR3cW/JqWavoSUkV
         733Jn3//iPT0x8fbekUdvrJFxKHP296ZC/QxtWeoZas7tC4gAJgtHHVxSCA74MDxTzPV
         Zum7qhs49vtspARcYGk4Z5XuSLIdoEZro+DqgZfj+ulTda8V0YTigp2q+m1BCndBD08m
         ww5fwMieRLsZkNMoJxUxQchWczLuanVneQJpmJaBh2NBZtKXJCrtgHMpOCA4mRY0fU9E
         3jlpNciK1nd/Z6W27HmT8/LGW7QTRiENKWPfvyz70ZqK1iPKN7jLoSK0C/zOKJKPMhW5
         iCBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741256872; x=1741861672;
        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=gT3Cq26j0eAgsg6KuJKZ2/XBJPoIymcay2hNJsMgqUs=;
        b=dt/WKS9P3I2+qU7Jknr7z62N/Df3TSTTyxkVLODkZWeaCRVaO9bD+1a4OyCIVNC8Mn
         GRFAcBBoW+EngMQlQKhQo8Q8Wc1gfgCQKg4zMYKEuq7TlB2P6eZ+QKWN58HAInubIDjz
         fYkKPvPyXlaqhpbuinWPcwF48JoPpZN4LqzMGed25m2k1xRLxD+imK3q9TVypM+7OXZ7
         6PU5XIeaepMGqgDeKsi+MnxRKNtz6smOtFJZrt4y5Ej0MUpU4lIclAjZLY0UMMNSd5K0
         Lf8SHHs1hUAxXtV0RTRHklUQIK3dJpA3iKFpvrJn93CSTfirblgc4LmW1Y8ae8D2bzHz
         SIag==
X-Gm-Message-State: AOJu0Yy0KpOtgM3ZKNTvRDk3O3ss0rs/Rw6AdpZITp35JuREDPjCPs24
	l2+8LxnZ/qBKUcpfxpByVvA9jRQ/2e6MVmuP0jZHhyKpx8Ba+JZigTo1Zr7O2g==
X-Gm-Gg: ASbGnctxdSwYqOql6yDWo5A+bF9s1sSdJb77NisYSJiQ2AgLkLKFySQ97a9rOeJp1PU
	dqL+2sbq8XvpqdWbMJ3H3frUE0TdZxufzBijdqO+Z8tsRCXY0I9vZHiWp0zhHZM/8Sa/44i/Cr1
	tOirhaP8mG9PTFQh9D0fqSGYOcUE3d8Bxpi9o4LRN6ZwoiV1JmfXw0t8KVRO1YXwKQxhEBcre0z
	++gLEqRQGX64xFb2HvlQBDoBRMy93KEzspkebf3p5v1FEFUtNiRR1owvg9AOCh5Nwc19EwO4IG5
	1PtGriuwq0S5Fyq2svLIfsqzm5fuQWoTyS9v1EIbntWoWQCVdTV7F+wgv4pMw5iCQ5387mBeXF9
	K2WpC8cPrXA0yf/fMLQ1PC3Lzf4QxzA==
X-Google-Smtp-Source: AGHT+IFMCn7ehhh/Oo3Yzh2ishZPjCtTlwpbUZdKTWK1/ld7MMzd2BAVq+qTTSB8b416ZJQ7I+Jagw==
X-Received: by 2002:a05:6000:154f:b0:391:22e2:cd25 with SMTP id ffacd0b85a97d-39122e2cf42mr6717991f8f.31.1741256872468;
        Thu, 06 Mar 2025 02:27:52 -0800 (PST)
Message-ID: <7ed46917-d551-4439-80b0-27ae295863b1@suse.com>
Date: Thu, 6 Mar 2025 11:27:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: add missing Xenstore commands to xs_wire.h
To: Juergen Gross <jgross@suse.com>
References: <20250306082105.17398-1-jgross@suse.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: <20250306082105.17398-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:21, Juergen Gross wrote:
> The GET_FEATURE, SET_FEATURE, GET_QUOTA and SET_QUOTA Xenstore commands
> are defined in docs/misc/xenstore.txt, but they are missing in
> xs_wire.h.
> 
> Add the missing commands to xs_wire.h
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  xen/include/public/io/xs_wire.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/xen/include/public/io/xs_wire.h b/xen/include/public/io/xs_wire.h
> index 0d9f49ac89..e92a87a07b 100644
> --- a/xen/include/public/io/xs_wire.h
> +++ b/xen/include/public/io/xs_wire.h
> @@ -35,6 +35,10 @@ enum xsd_sockmsg_type
>      /* XS_RESTRICT has been removed */
>      XS_RESET_WATCHES = XS_SET_TARGET + 2,
>      XS_DIRECTORY_PART,
> +    XS_GET_FEATURE,
> +    XS_SET_FEATURE,
> +    XS_GET_QUOTA,
> +    XS_SET_QUOTA,
>  
>      XS_TYPE_COUNT,      /* Number of valid types. */

This is effectively extending the ABI with request types that are recognized
by neither cxenstored nor oxenstored. The assumption therefore appears to be
that no client would have used those types / numbers either.

docs/misc/xenstore.txt doesn't spell out what the encoding of the commands is
in the (binary) representation.

At the same time the effect of this change is a growth of cxenstored's
wire_funcs[] array, adding four nil entries. Luckily the code accessing the
array looks to be prepared for such. (Still I wonder whether the array
wouldn't better be extended right away, by adding just the strings while
leaving the handler function pointers at NULL.)

Provided all of the above is correct,
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 10:30:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 10:30:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903320.1311226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq8UO-0001Al-9M; Thu, 06 Mar 2025 10:30:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903320.1311226; Thu, 06 Mar 2025 10:30: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 1tq8UO-0001AD-3z; Thu, 06 Mar 2025 10:30:04 +0000
Received: by outflank-mailman (input) for mailman id 903320;
 Thu, 06 Mar 2025 10:30: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=eFz4=VZ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tq8UM-0000oV-Nj
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 10:30:02 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20611.outbound.protection.outlook.com
 [2a01:111:f403:2407::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4de8c0f-fa75-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 11:30:00 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by IA1PR12MB7541.namprd12.prod.outlook.com (2603:10b6:208:42f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 10:29:57 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.017; Thu, 6 Mar 2025
 10:29: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: f4de8c0f-fa75-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P5y8DrVOR637UK1TdOYjL6YTUvoKURgChGwoS/0IUqasp+DGM+Xuc4npc7LNcBhMVu1mI+y9gAHLKsiorCoeVlaSBkwAUZNMbSjAOjWxqsZjfKUT4mIl9pnwK0AHQ8oqe5RByf6pHBqKm4gL2JxR8Fre/L5yQjIcvJwLU1Z0dnbOkjmJFL7/C8+bQJyLbxqGG+6B2Uhn3i0XqLu2I3jChrag5Pmfhz7D9mFShaQBSWflXBrXu1TzsVXStKp5H2t3993QIgDHP/GGitj0o5laWBZpLoYiATRVawh4Xixg6zemL5KuuIhIedJIFxqrephmRokYMaJnWD3ffl3w+11oNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SXqfIDlKKtSbL6kyYsF97WaIRlFv2XaNGtqSIfIVvto=;
 b=EiyObHTJEJBueVeLTNtXIozaB7gUdlmS32n3YniOSRuyw44r3PFOqWYl+vb5QAob6T0uFLLKWoRWoyHtT9OSygC+lzy+hLjr2D/cGQspYSMHg+o9fSgg1SPviLlVSYt93s1zcU0g7ZOaNaE0wrSvPIEEwk5I4B1OhFcjuwyz9lx4ucgeHpnXOyzh9G0qBadL6AXLenYfLSSRe03QsK6hqABPt/AF4ZSWu0JlpQf+UvF/0bYxUpmUYhY4+5FZfUtwxuc4LtjYOqGU0aimjOaE7YKr/Fengxv+65qtjx06PL105RSrtyOrWSrmCAKvwaVuigDsYOVTg7p6FgkPvSZOug==
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=SXqfIDlKKtSbL6kyYsF97WaIRlFv2XaNGtqSIfIVvto=;
 b=JecDU69jalfsp5873E8KZMWuxKBDGAlf1uLchr+9pT8yjCEWF8DLpatRVK8Ae3pVybZGCdQGoJ8x8GkoP1q3jhpMbb+EsirmrSZT8sLfJUgCjeMvx0JJD5e0OyHDoMGhAs4NOQ6ueoquWM997DDt1rCxUjY/W2a+Qy9tMlGS4wo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <dc076e36-f58b-43c9-b9ec-ea5d636a0efa@amd.com>
Date: Thu, 6 Mar 2025 11:29:53 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/init-dom0less: Fix cpus > 1 and xenstore entries
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>
References: <20250305215832.98162-1-jason.andryuk@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250305215832.98162-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::18)
 To BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|IA1PR12MB7541:EE_
X-MS-Office365-Filtering-Correlation-Id: 40336117-c44e-4906-afe6-08dd5c99d73e
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?M1R0bGcxSXhHUll1YnZrRmhvT1ZtTElOT2lORHFFMTg2NTFaTlVrMkpFNnJn?=
 =?utf-8?B?WXR6QnJadTVrYi9EZ0s4YnhIY0VNWmxaQTR3SFdtTWlJSk1nbkF4NVNhWCti?=
 =?utf-8?B?KzBmSEZFdnloaThmUHBOZU1FcFcwOVBRWDRXdHhYLzFUK2lQYlM1ait1NGF2?=
 =?utf-8?B?NjVDSU9ydjQ3OEdrUEZCZS9saDd2b0NyYjZvUkRzODVHalZ5a3FwVW10QVJ6?=
 =?utf-8?B?Z0l2cTVCcDU3bTMzL2VRTDdwMDJQNHVjbElGazQ1UlpJWXdhakphN0hYdnpK?=
 =?utf-8?B?UzVuV1lZazJNTlFYanJ0TjJPZm1QNENFQVFjNEJwWVREbEllSHlBem04Qmw5?=
 =?utf-8?B?V2NZdngrM0VGWmJZbmIySGI2dDVvcnJ0ZXpjVWlJb3ZHSFhNZ3AwNnJSNVJL?=
 =?utf-8?B?OWw5dVBSZ2MvNm4yYzZaTkN0Q2JjU2x0cElsazlmdG1ON2dYMnZXcWdCTTJx?=
 =?utf-8?B?VG93UTEvUzVLN3JtMWhjL3piWktvWk9uVmVyZjJzSFZhc2JIWDIzalU5WVFK?=
 =?utf-8?B?dytQdmFtd0IzWHdHaUx6aThCK0htUjc0Qi9wd1U1a3JFUmx4U1RHZlVmaDNp?=
 =?utf-8?B?WmxOUVhLWDROZ0NNV1dEYmxtZTgrck9NNHJwMEVsN3J4UENscDQ2aVhud1hq?=
 =?utf-8?B?N25uc25SZXRUU0swcU5RblppV2c4blpqOEQxUWJROGMvamdwVXV0UWp1M1hE?=
 =?utf-8?B?QWJWTFl2U3V1d0h5c3c2NFFoUTdSMTlnVHd1RWVyaEhpZ0J0K0hhWkxsbDJx?=
 =?utf-8?B?MHI4NjFLR0tlbjVEZTh3VXhFOHVJcy8wV1NvWlo2eTd2VjkrSEg0cEtBVG03?=
 =?utf-8?B?TnAyZXg0QWpBV0FIcjh6NVhmbzhMQ3NocUZSWHV1c1lBZHJ6RlhLaS9XNXh5?=
 =?utf-8?B?ZGpSQy9Ia2xwYlREWkNRMjZLKzdCOGxtVHFlSCs0alB5b3JKTmRrS0JoK3E5?=
 =?utf-8?B?bmxYL0FwRzVWenZ1b3dDV3M4NnRVWFFzQUJwYTd0ODBERWl3VDExYytSK1A5?=
 =?utf-8?B?THdyQmp0MzU2NGY3djBURTZZdUJBRU1CYldpZjNpbFB0anNiUUpVWVdsbmps?=
 =?utf-8?B?bEJsYWlQQ2kwZzJXTGRmazRTc2x0TlFxT0VycktNTGZxSi9aa3QwekZwRHBG?=
 =?utf-8?B?cjhMZ3dLclFrbFZha1g1VHRrNzYwUUptRVdrR2dWejFQbk1mQVVUN2tWeFBG?=
 =?utf-8?B?WjJxNitNRHdScThSQ1pDWXc1Q1NBVDJJQkExSW1YNDNMdkpKZjdsc0tzc3I0?=
 =?utf-8?B?NnlNRFZuN2QrdzJUSGozVnFQMGhDSHJKdnlSL2JFUzlFQ3BWRGljc29QamxW?=
 =?utf-8?B?VmI0cjZINUluczBydmt2eENQRWVMV2s0bGdhWCtPQTNpakE4QVZ6V2ppbG9q?=
 =?utf-8?B?cUlGak51MkhyclBobGwrTFhYM2hXODlYQ1RiUjlIaklxNUdEdzFNOHRNb3B0?=
 =?utf-8?B?VXFvL1Z6bG0wMGJOZEZCVXJFY1lIY3F2dXdmNjNMVmRtNStRUTQzZ1BEZ1Yr?=
 =?utf-8?B?K1JNN1p4em5HNyswOXE2VkIraktmT0hPUFVVYWFMdHUrSmxJUzFSanhnSFVx?=
 =?utf-8?B?VkhlbGdud3o0SWxiTVFXOGk2MyticDFCZXBoeUYwajdWY1BST2VhNEE3SnZQ?=
 =?utf-8?B?MzlmZzBCeC9uenozOVpuS2FnZS9CbTlDVVNQSjhxRWJWdG9EYkF4K1hSTFhL?=
 =?utf-8?B?YzJuRDlCdVVmNVh6OHlJTmVVNmNZcE4vYjBlU0w3NnhKeXhORjJidzBDaTkr?=
 =?utf-8?B?TUpwQVZkN2FJeXhRNXZPVU9IckdDb3IrbWpjeTNmck5aMDBpSEJyWExiR2d2?=
 =?utf-8?B?aUpRbXNNVkxNTnNJVnJ6ajhvek1KZmxsbDVLSFRPNUxBdVBZRFMzR0pENHVT?=
 =?utf-8?Q?jYYVK1gEgrdg1?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?MjVOQTEyUldXRGJmV00ycERvV3hFaEdXT0xncXgrK1h0MHhXYkRnMjZoOFpq?=
 =?utf-8?B?SFZmZ0pEU05oR1ZFYnYxNG9xWHoxRWJzdmtHbHlGcjYvMVRzUnRpdHE5aU5w?=
 =?utf-8?B?WWEwcnc5bkN4a0R1Y0hXN242emVldUlTemtHVmhGc1hhK3luUExDQ1BzV252?=
 =?utf-8?B?c1JCemVFSlNDU0QvNmYyR0tnVGltQmFTbEZRZjQ4SE16cTkvVkZMNkY0MjU3?=
 =?utf-8?B?Y1EvMFRvdDVUcE9tR1Nlb3FuM1Q4SHl5Q2pTeUJEcGZMQXE0V2ZFMjRtZ0pt?=
 =?utf-8?B?bTZaWmlCb2hKYnoxMTRJclMwMlNGMjk5Vk5PTCtUdmoxeFVFWkREYk1JTDRW?=
 =?utf-8?B?cTFNeFgzdTZGeVJRa2J1MS9EN1pJMVh5NzQwU1dQbGU0c2FJUnJXZnZRQXRw?=
 =?utf-8?B?OTk3cmFab0NmQ2oxREIvUlVoR3B0WVdhbEVMN0Z5eHZhWHJWMFZtQ2FPMlRt?=
 =?utf-8?B?ek84cnJpbndMc1lyV2JvWU9DckhmZFVsV05XZWpSUE5iaHAvVk5LRTY4b3hx?=
 =?utf-8?B?SytVd3A2UUNZZnpGbTVTUUFLY2wycUVZT1dBV2IxbUk1L2paTUM1Nm1SNXZu?=
 =?utf-8?B?WFAwMVJqQ0VvRmcxK3VDR2pZZklKWStTWS9FRkxUM2hteGhKNmlicFBKNWpW?=
 =?utf-8?B?L2o2L0JGK1JNeUIzeVUzd0hRcEttL1N5SCtFbWNhOS8zbEJoK0xPUkV1N2k2?=
 =?utf-8?B?LytrOXVmZ2Z3Z1creG1GNmRTbGNRSkxzUk1wY3FCK21na0VZc2N3aUxPNXll?=
 =?utf-8?B?cFpkY1ZDTWlRckJuSGlSMTcxdEw4eHk5ZzVKc0JOem1vYzYxTjJZTmlSSUZS?=
 =?utf-8?B?RVNxR21hQWFGTXgwZkcwc282UmVaUnJJTkhxNnpVTGRRUzIwMHRVK3VMUUJR?=
 =?utf-8?B?SkZKbjFkbGorVm9iZldDZHI4ejEzWWl6TWxDZkFSang4SmxXZmk0N3FuTUlm?=
 =?utf-8?B?UWU0OE81RjNjL1dyV3FkME9EejRuZDhZdERqdzBLODlNb0tvSExsSmtONEpO?=
 =?utf-8?B?QlprMmQvdWtZbnM2Vi9OM1ZqRW9WeVl6OU1SaXhLbWFQUklxRGx6S3JWc2VN?=
 =?utf-8?B?Nm5WalU5UXpPN2NCYmNGUHoxZU0yWHlFTTZ5NWIzbUhPT2IvWHdvei9wRHBU?=
 =?utf-8?B?QUVyZHViYmk4dVkyOUhVMDBKL1lxdnJHMy9wMXk0cFVpR05pZXFTUnBOajlS?=
 =?utf-8?B?Ums3YlhTbnlzaTdSdy9hYTdyb1J4VFBINCtMUHBvRDhVNHVCaDhTUjBubTN5?=
 =?utf-8?B?SEZxaVcwU1YrQm84Uk9TMHJNcmFVSTlpdE8zeTNmcS9wWW9PR2w1Wjk0cnBU?=
 =?utf-8?B?NHFCSHNOQWp4WlpxR1ozQTU0RWtKNGlCallvOENKR01Ta1BadkZuSUFBSlVn?=
 =?utf-8?B?am1xMDF6YVJWWDBmREpPUUhMb0xTU0lwTmZyc1B0a3BqRGNkaTJxYng4ZE5k?=
 =?utf-8?B?OHVLOGg0UEZIMnl6MDNqSTNRbEhiS2psQ2xBcE9ncGI3SWlYSmlBY0wrSlFM?=
 =?utf-8?B?RVRYY3pxekZXRys1UjlkUlZQa3VmeG53TExXemNuRkVielJqSWgwVlhNcDdq?=
 =?utf-8?B?OVRtL0pXWHl4SWYwb0x0TS9nWkpjZkx1Y0tla0cwZ0E2SnJwbU82MkJZTjlt?=
 =?utf-8?B?QTRnTUVYSk9LZEVNKzFFcG94MFY3N3AwVHF2UWk5ZTVxT0txTnp1VG00WFA1?=
 =?utf-8?B?empvRnBZRGU1SzJOTmFFYW5ZYjd6RjQ0MkluVVZQRXhHcjl0ekwvK2dsK2J4?=
 =?utf-8?B?c2kvME5TVkVBWEovOE8zWVY2cDBiRGxYZHRYaUxWYjI1L1pzSGE4ZkJJMWxB?=
 =?utf-8?B?OG5kQTB5RVBrNmVyTGs2QVJydDc4Q0wvNmtveGRteDNQNmIreDF2WTY1bFRJ?=
 =?utf-8?B?NWwxS1p1TGQ0R1FNeXBscFlMN3ZGUXNzQlVCZ0NFMU96dFlZRWVkZFlTU2Fr?=
 =?utf-8?B?YkpvNXhGOFl6MENKaHBwNVJvcnJVV2lvNWtJY2NKUVFnbGtwR0hOZFJONDZl?=
 =?utf-8?B?ZUd0MFRwNHRvOFVKM25xcVY0d3hYbHE3VzUxNm05UDNQb3BlVGxkWUhOck9k?=
 =?utf-8?B?enJXOEN0cUgwSnlpdVBzMHduQlRXandoOFk2WWY5SG91L0htTXd3Rno2MjFF?=
 =?utf-8?Q?Kh6s=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40336117-c44e-4906-afe6-08dd5c99d73e
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 10:29:56.9509
 (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: 3yAIehOnEfeA8OCPlk0yp0y1OsrGLo4djTMP9YJkmKPLi7wT/Dooz8klCfD4u5Yl
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7541



On 05/03/2025 22:58, Jason Andryuk wrote:
> 
> 
> The trailing / in the path is incorrect and generates an error when
> writing to xenstore:
> Checking domid: 1
> Init dom0less domain: 1
> init-dom0less: writing to xenstore: No error information
> 
> init-dom0less exits without finishing initialization.
> 
> vcpu_max_id is an inclusive value, so it should be included in the
> loop's range to include all vcpus.  Without this, no xenstore entries
> are created for a 1 vcpu domain.
> 
> Finally, use vcpu_online, the count of online vcpus, to determine online
> vs. offline.  info->cpupool is a cpupool id and not a bitmask.
> 
> Fixes: ec53e0c4ea ("tools: add example application to initialize dom0less PV drivers")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
>  tools/helpers/init-dom0less.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
> index 17579fe2e8..c569a890a0 100644
> --- a/tools/helpers/init-dom0less.c
> +++ b/tools/helpers/init-dom0less.c
> @@ -182,13 +182,13 @@ retry_transaction:
>      if (!do_xs_write_dom(xsh, t, domid, "vm", vm_val_str)) goto err;
>      if (!do_xs_write_dom(xsh, t, domid, "name", dom_name_str)) goto err;
>      if (!do_xs_write_dom(xsh, t, domid, "cpu", "")) goto err;
> -    for (i = 0; i < info->vcpu_max_id; i++) {
> -        rc = snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%u/availability/", i);
> +    for (i = 0; i <= info->vcpu_max_id; i++) {
> +        rc = snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%u/availability", i);
Up until this point:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

That said...

>          if (rc < 0 || rc >= STR_MAX_LENGTH)
>              goto err;
>          rc = -EIO;
>          if (!do_xs_write_dom(xsh, t, domid, cpu_str,
> -                             (info->cpupool & (1 << i)) ? "online" : "offline"))
> +                             i < info->vcpu_online ? "online" : "offline"))
I struggle with this one. Let's say that a dom0less domU starts with 4 vCPUs and
later on (before executing init-dom0less from dom0), decides to kill it's 2nd
vCPU. So domU is running vCPU{0,2,3}. With your patch, after executing the
script, the 4th vCPU will have its availability set to offline and domU will get
notified to kill its 4th vCPU. That does not sound right...

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 10:39:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 10:39:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903330.1311235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq8dI-0003nP-2m; Thu, 06 Mar 2025 10:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903330.1311235; Thu, 06 Mar 2025 10:39: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 1tq8dH-0003nI-Ub; Thu, 06 Mar 2025 10:39:15 +0000
Received: by outflank-mailman (input) for mailman id 903330;
 Thu, 06 Mar 2025 10:39: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tq8dG-0003nC-Va
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 10:39:15 +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 3e3d7d0e-fa77-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 11:39:12 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3912fdddf8fso56883f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 02:39:12 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c10437dsm1649740f8f.99.2025.03.06.02.39.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 02:39:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e3d7d0e-fa77-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741257552; x=1741862352; 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=QrDyat/R5r1+UsvIKOnGMS5WhcUzG/+lQ+bIjDj6eRM=;
        b=DOXn2iB9ACC3N2u6Ijfok5xxY7EpnL/Q8BRcKSsnPRMeU9QOpqEJ1JLmvx/sf6cnP6
         1R7jxr4sz7dE/MgTuM6xnl4b3rhlRubh5CX4VimabPyg7dNkWYuc0WH3+AlKdUyvhLL6
         IKVGjEUD6IYkoJExr26KwaWvkeeMP58qLOU6xaR7rPSPNopQ2ZPmH3Y3tdQW0+7Y0gKz
         cd1e+0ea5r01i+zeNDIxqr1mou8FrL+75OBr/rraJV3ROrAyyGnUvxQJv3OiL/W4WjSz
         KnJ7RlLIzvzRJwDgq2vjoEo6JXQUPyssj3vaOaEOw+11ftA0y6MreMw1EYzg8mQvhi+X
         EirQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741257552; x=1741862352;
        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=QrDyat/R5r1+UsvIKOnGMS5WhcUzG/+lQ+bIjDj6eRM=;
        b=aWLF/pHoGjagHwEaxMOB3OFzg/7kN7A/UxRSFlGuf1jq7MDgiFC6hgEbeCWSnjxcIS
         LDTb0Kd+W9A210n9yMVV1BrFjCK75qra5VJel3BVHdEhWbbBj0X/s1a+Q8/5CdlEF4W1
         /WiiMIPo3V/6z8BTgh7LcRrI3HYOutCTAgEmL8Ee5m3UfeNA8cfwDM9fHoYvUh0BgBGd
         TELbwvzsENi6W41r8+g3vzar70hOjlUbWaxbjq829qfquF68ZwyYYjspBy+WoHZQynC4
         xmD9MsnjMHt6KjUaPH8kLcgyKeTn6xCqBSYn+PCacV90mB8MyL1zDI8Zh/5RQbP1cgU6
         4G1w==
X-Forwarded-Encrypted: i=1; AJvYcCWZNl34iq7i4LwIKxL4kJS0qw4JdvP1tOTE+Ppv5WU+cGqXmdwiCwZMCtCCexDBcZgSlNmPs7goLaE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8C6W1PRrXQQhMtTTIkWalYqoIokEP5IepJHtTaoHzUkKwCu26
	zwB1xMcZ9HGvnLCr0ukPnx6t4IuWiSkQj7+9Qe2lvQM7SKK65tWFn8ghtfnUFg==
X-Gm-Gg: ASbGncuwImh2djGIC7szAGqkXt/oRcWDs4WsSpQ1BeZrWtISrx2c7RObhHqHH6YmwGm
	HlfLng8cQzDkQ3rZbaHpGbdg0CBekUJbjzV2jjQGXjVi+ApQuzxxqiutZMXM07n5A0p/PqTAgQk
	W/XNA9G9Irbb0AHuCOm/xj96UFYSJJp7l8szNhJoMpHuALpyjMwQUzo5k+hFz31NEYMfDD6bJPr
	kf6sKCAwJ7WjYmfbWKOh2g6DeKBV07Dpcu4ceZyFU/oV3EDrNfqSH3QcnKU81+wuRKxI43NGYJL
	WfDe8D0LfjxSC5tx+CIqZ++W34bhFXyVK4EgE41DBx89PQnyLi7vJSmjaVFQ/KzUiklq5uvwIJU
	CJGnS98tdfLUKDbKIlIAmvGDiCDj4jQ==
X-Google-Smtp-Source: AGHT+IFM7OL2/BSzqViuLqhx8yI4WHKYomTHjbAq7wx9IlPJRHtL/ZNkuzeFOYIXJlAnTCkBnAp91Q==
X-Received: by 2002:a5d:6daa:0:b0:38d:e3da:8b4f with SMTP id ffacd0b85a97d-39129613fc9mr2304129f8f.0.1741257552132;
        Thu, 06 Mar 2025 02:39:12 -0800 (PST)
Message-ID: <e3645644-0649-4461-b9df-299315031c73@suse.com>
Date: Thu, 6 Mar 2025 11:39:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/msi: prevent MSI entry re-writes of the same data
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20250228113237.6116-1-roger.pau@citrix.com>
 <c06573d3-36a1-4146-ac3f-5dbd4d82d22e@suse.com>
 <Z8iQfwqmUm0PnAxI@macbook.local>
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: <Z8iQfwqmUm0PnAxI@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.03.2025 18:57, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 05, 2025 at 11:30:51AM +0100, Jan Beulich wrote:
>> On 28.02.2025 12:32, Roger Pau Monne wrote:
>>> @@ -1407,7 +1415,9 @@ int pci_restore_msi_state(struct pci_dev *pdev)
>>>          }
>>>          type = entry->msi_attrib.type;
>>>  
>>> -        msg = entry->msg;
>>> +        msg.dest32 = entry->msg.dest32;
>>> +        msi_compose_msg(desc->arch.vector, NULL, &msg);
>>> +        entry->msg = (typeof(entry->msg)){};
>>>          write_msi_msg(entry, &msg);
>>
>> Hmm, this isn't exactly a "restore" then anymore. That said, re-constructing
>> the message may even be more correct. Then, however, the question is whether
>> passing NULL as msi_compose_msg()'s middle argument is really appropriate. A
>> little bit of commentary may be desirable here in any event, also as to need
>> to clear entry->msg.
> 
> I can add a comment.  Note that as part of the patch a comment is
> already added to both the msi_compose_msg() prototype and definition
> regarding what passing a NULL cpu_mask implies.

Right; the comment I'm asking for here is to explain why it's not really a
restore that we do, but a re-build.

>>> --- a/xen/drivers/passthrough/vtd/iommu.c
>>> +++ b/xen/drivers/passthrough/vtd/iommu.c
>>> @@ -1182,7 +1182,7 @@ static void cf_check dma_msi_end(struct irq_desc *desc, u8 vector)
>>>  static void cf_check dma_msi_set_affinity(
>>>      struct irq_desc *desc, const cpumask_t *mask)
>>>  {
>>> -    struct msi_msg msg;
>>> +    struct msi_msg msg = {};
>>>      unsigned int dest;
>>>      unsigned long flags;
>>>      struct vtd_iommu *iommu = desc->action->dev_id;
>>
>> Why not a similar transformation as you do in set_msi_affinity(), eliminating
>> the local "dest"?
> 
> It was more intrusive, but I can certainly do it.
> 
>> A change like the one here is likely needed in __hpet_setup_msi_irq(), to
>> prevent accidental "uninitialized struct field" warnings.
> 
> Hm, won't the struct be fully initialized in that case, by getting
> passed a cpu_mask?

Oh, of course. No idea what I was thinking ...

>  I don't mind doing so however.

No need to then, I guess.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:01:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903340.1311246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq8yO-0008Hy-Oz; Thu, 06 Mar 2025 11:01:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903340.1311246; Thu, 06 Mar 2025 11:01: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 1tq8yO-0008Hr-KZ; Thu, 06 Mar 2025 11:01:04 +0000
Received: by outflank-mailman (input) for mailman id 903340;
 Thu, 06 Mar 2025 11:01: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tq8yN-0008Hl-Tw
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:01:04 +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 4b0f128c-fa7a-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 12:01:02 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3bcso531680f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 03:01:02 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2399d1237sm74542666b.164.2025.03.06.03.01.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 03:01:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b0f128c-fa7a-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741258862; x=1741863662; 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=FJbEhPs7iQHCq19leLF2Y+g3liPQAiinQojF7dB5/Kc=;
        b=V6JNs4tThoIebbE3z2ZXyX5G9oYZkfKhpdM6q5oeDOmeNCOcwPmdTj+Iqjpe3ytqrk
         8/pv3+w4EILZeB0ytAgZD5LP6kcyJKJaYtvf2/zO1U4wrq8W92Rx0aYgm2hVtEEh7iV6
         YID0I93Pqflr6dwZan7w5XfvwCUBPtl9WYYSkzs3/0q9sxeie5c7WnP+BZ/v0xJlfXJJ
         kPH4OizKBIPGcrxI9PG25ba8twH9YQ2wYklnlhv7yQOrZCRh3jWR67oX5CBtWBQOeYPK
         RduoCOL+12LlWEv/m111a/BvwFmRF//J5TLaiHuMK4P+DYWyl+j4vDp1qg7Z1q0J8snX
         cY0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741258862; x=1741863662;
        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=FJbEhPs7iQHCq19leLF2Y+g3liPQAiinQojF7dB5/Kc=;
        b=tLlN/l4vhbJ0Igw4ONOcIhnDUY5sj8bnZEtDthXuVMX8RUtyY7wWOLUa/5I6IvONx7
         aQrT7dvY1tPgjAK31dS9Zmbm0sM8KNFJrqFZ/BHQXbRobg3yRvmoxeMwrj/VrkUc7gyk
         G12NCXx76FnY8OwijfzOm5YcGa2VTqZjaDlt2VuT/3TZove00NvU0emn/rLyRqK+Lv4b
         mQArNQoV6kwxns4HEJnbOjF/OiXVsVoIJYFRvZIl4/jmPWbNcJFL11uCeQmcTbllXTDE
         9t6PlyZMXCqTw5ldIbucuynwP9B4fFVKjXXVOVJYXgw+AF7lX62vUfi+6mXoz0USvJ9G
         W1rg==
X-Gm-Message-State: AOJu0YxEMHAjiZI9rns7Ii8DVgolqnnOvH3Hx3AQVnveKZ24OV+sMjxp
	sEi3MNnLKhOzZUIBnKBktqN1T8twW/kki9Qgas6/FkjTsob4+KPnCkL+q5QTS2k=
X-Gm-Gg: ASbGncv/bEyJVxf+lzxx/2i6gsUM/L0gommksXHRDFn+jdAJ2q8naNihTs6y77lQgdl
	3ikKECXHM5TU8YLO0YtQYYZFf7fhiaF3NWDaT1ZmZ4poJJse3IfwoOGZPustXRyjWT2rHmJnRDL
	2lXXL3mqRjUfy3NExXcgolPJPrTE8bZRAQdg11MA/LdQfwmO1AusJ37YzFqzVZc30/FR2ad2FhY
	E6VfvIqBwOQvm6PoxhUEMXdeOxLcPRWgw6TRLfvbVcx7r2GvMtI0D4SkT1KI3ZoI2rr+KwcMvPQ
	KqyfRIuKK/908WbMywT/6oFPaM58zCBOT5/7Ke6gmgG9+GcClkaqNG5fJzw9QVQecxkPZ7NQpfJ
	ghmk67RbFHVfuZc4cIeubsj+vG4ZB795v5fmLE7nQKl6JnQ6FTbOFtTzFr2F5MsEZUX4=
X-Google-Smtp-Source: AGHT+IGpiYFS3i2DdEQ8sLCzeykKiTeH1bNdp9aaC6enNVi0S78oZmSVMtOSt0Z8yq6UIEr74GxCNA==
X-Received: by 2002:a5d:5847:0:b0:385:d7f9:f157 with SMTP id ffacd0b85a97d-3911f7adc5emr6287447f8f.36.1741258861057;
        Thu, 06 Mar 2025 03:01:01 -0800 (PST)
Message-ID: <6079fcf9-c1f1-4644-b94f-8c6814aaa862@suse.com>
Date: Thu, 6 Mar 2025 12:00:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: add missing Xenstore commands to xs_wire.h
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
References: <20250306082105.17398-1-jgross@suse.com>
 <7ed46917-d551-4439-80b0-27ae295863b1@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: <7ed46917-d551-4439-80b0-27ae295863b1@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------HWZ0MML3mFtPsi0b6mq6DrIq"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------HWZ0MML3mFtPsi0b6mq6DrIq
Content-Type: multipart/mixed; boundary="------------vVBtFt4Yqss4AXMNzriy4LZs";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Message-ID: <6079fcf9-c1f1-4644-b94f-8c6814aaa862@suse.com>
Subject: Re: [PATCH] xen/public: add missing Xenstore commands to xs_wire.h
References: <20250306082105.17398-1-jgross@suse.com>
 <7ed46917-d551-4439-80b0-27ae295863b1@suse.com>
In-Reply-To: <7ed46917-d551-4439-80b0-27ae295863b1@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=

--------------vVBtFt4Yqss4AXMNzriy4LZs
Content-Type: multipart/mixed; boundary="------------jIaleHZ7X6PGWRU2STw07BVC"

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

T24gMDYuMDMuMjUgMTE6MjcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDI1
IDA5OjIxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVGhlIEdFVF9GRUFUVVJFLCBTRVRf
RkVBVFVSRSwgR0VUX1FVT1RBIGFuZCBTRVRfUVVPVEEgWGVuc3RvcmUgY29tbWFuZHMNCj4+
IGFyZSBkZWZpbmVkIGluIGRvY3MvbWlzYy94ZW5zdG9yZS50eHQsIGJ1dCB0aGV5IGFyZSBt
aXNzaW5nIGluDQo+PiB4c193aXJlLmguDQo+Pg0KPj4gQWRkIHRoZSBtaXNzaW5nIGNvbW1h
bmRzIHRvIHhzX3dpcmUuaA0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gICB4ZW4vaW5jbHVkZS9wdWJsaWMvaW8v
eHNfd2lyZS5oIHwgNCArKysrDQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo
KykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2lvL3hzX3dpcmUu
aCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9pby94c193aXJlLmgNCj4+IGluZGV4IDBkOWY0OWFj
ODkuLmU5MmE4N2EwN2IgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8v
eHNfd2lyZS5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaW8veHNfd2lyZS5oDQo+
PiBAQCAtMzUsNiArMzUsMTAgQEAgZW51bSB4c2Rfc29ja21zZ190eXBlDQo+PiAgICAgICAv
KiBYU19SRVNUUklDVCBoYXMgYmVlbiByZW1vdmVkICovDQo+PiAgICAgICBYU19SRVNFVF9X
QVRDSEVTID0gWFNfU0VUX1RBUkdFVCArIDIsDQo+PiAgICAgICBYU19ESVJFQ1RPUllfUEFS
VCwNCj4+ICsgICAgWFNfR0VUX0ZFQVRVUkUsDQo+PiArICAgIFhTX1NFVF9GRUFUVVJFLA0K
Pj4gKyAgICBYU19HRVRfUVVPVEEsDQo+PiArICAgIFhTX1NFVF9RVU9UQSwNCj4+ICAgDQo+
PiAgICAgICBYU19UWVBFX0NPVU5ULCAgICAgIC8qIE51bWJlciBvZiB2YWxpZCB0eXBlcy4g
Ki8NCj4gDQo+IFRoaXMgaXMgZWZmZWN0aXZlbHkgZXh0ZW5kaW5nIHRoZSBBQkkgd2l0aCBy
ZXF1ZXN0IHR5cGVzIHRoYXQgYXJlIHJlY29nbml6ZWQNCj4gYnkgbmVpdGhlciBjeGVuc3Rv
cmVkIG5vciBveGVuc3RvcmVkLiBUaGUgYXNzdW1wdGlvbiB0aGVyZWZvcmUgYXBwZWFycyB0
byBiZQ0KPiB0aGF0IG5vIGNsaWVudCB3b3VsZCBoYXZlIHVzZWQgdGhvc2UgdHlwZXMgLyBu
dW1iZXJzIGVpdGhlci4NCg0KWWVzLCBzYW1lIGFzIGUuZy4gd2l0aCBuZXcgaHlwZXJjYWxs
IG51bWJlcnMgb3IgaHlwZXJjYWxsIHN1Yi1vcHRpb25zLg0KDQpBIFhlbnN0b3JlIGltcGxl
bWVudGF0aW9uIG5vdCBrbm93aW5nIGFib3V0IHRob3NlIG5ldyBjb21tYW5kcyB3b3VsZCBy
ZWplY3QNCnRoZW0gKHRoaXMgaXMgdGhlIHJlYXNvbiB3aHkgd2UgZG9uJ3QgbmVlZCBhIGZl
YXR1cmUgYml0IGZvciBuZXcgY29tbWFuZHMsDQphZ2FpbiBzYW1lIGFzIGZvciBuZXcgaHlw
ZXJjYWxscykuDQoNCj4gZG9jcy9taXNjL3hlbnN0b3JlLnR4dCBkb2Vzbid0IHNwZWxsIG91
dCB3aGF0IHRoZSBlbmNvZGluZyBvZiB0aGUgY29tbWFuZHMgaXMNCj4gaW4gdGhlIChiaW5h
cnkpIHJlcHJlc2VudGF0aW9uLg0KDQpJbmRlZWQuIEknbGwgc3Bhd24gYW5vdGhlciBwYXRj
aCBmaXhpbmcgdGhhdC4NCg0KPiBBdCB0aGUgc2FtZSB0aW1lIHRoZSBlZmZlY3Qgb2YgdGhp
cyBjaGFuZ2UgaXMgYSBncm93dGggb2YgY3hlbnN0b3JlZCdzDQo+IHdpcmVfZnVuY3NbXSBh
cnJheSwgYWRkaW5nIGZvdXIgbmlsIGVudHJpZXMuIEx1Y2tpbHkgdGhlIGNvZGUgYWNjZXNz
aW5nIHRoZQ0KPiBhcnJheSBsb29rcyB0byBiZSBwcmVwYXJlZCBmb3Igc3VjaC4gKFN0aWxs
IEkgd29uZGVyIHdoZXRoZXIgdGhlIGFycmF5DQoNClRoaXMgaXNuJ3QgcHVyZSBsdWNrLiBJ
dCB3YXMgZG9uZSBvbiBwdXJwb3NlLiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBhcnJheQ0KaXMg
c3BhcnNlIGFscmVhZHksIGFzIFhTX1JFU1RSSUNUIGhhcyBiZWVuIHJlbW92ZWQgaW4gdGhl
IHBhc3QgKHRoaXMgaXMNCmV2ZW4gdmlzaWJsZSBpbiB0aGUgY29udGV4dCBhYm92ZSkuDQoN
Cj4gd291bGRuJ3QgYmV0dGVyIGJlIGV4dGVuZGVkIHJpZ2h0IGF3YXksIGJ5IGFkZGluZyBq
dXN0IHRoZSBzdHJpbmdzIHdoaWxlDQo+IGxlYXZpbmcgdGhlIGhhbmRsZXIgZnVuY3Rpb24g
cG9pbnRlcnMgYXQgTlVMTC4pDQoNCk5vLCBJIGRvbid0IHRoaW5rIHNvLiBUaGlzIHNob3Vs
ZCBiZSBkb25lIHdoZW4gaW1wbGVtZW50aW5nIHRoZSBuZXcNCmNvbW1hbmRzLg0KDQo+IFBy
b3ZpZGVkIGFsbCBvZiB0aGUgYWJvdmUgaXMgY29ycmVjdCwNCj4gUmV2aWV3ZWQtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KVGhhbmtzLA0KDQoNCkp1ZXJnZW4N
Cg==
--------------jIaleHZ7X6PGWRU2STw07BVC
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-----

--------------jIaleHZ7X6PGWRU2STw07BVC--

--------------vVBtFt4Yqss4AXMNzriy4LZs--

--------------HWZ0MML3mFtPsi0b6mq6DrIq
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/Ey8FAmfJgGwFAwAAAAAACgkQsN6d1ii/Ey8u
yQf/cmgR8RNF2B2DBlsjwG0Tqd65PVOzsQTtCFzttURsowtshGfT786sQIwQHZmWt6KRt62BMVwW
Y9ezX3Nbe3GIgKwAX7tIWEUt4/D4VezK/T4+ZCz/yG24W61gLMZngLjHDvdbO04pMWnAJEUSZdi7
T65lG9enk/n7Rv9C/VR963KvvS8tZTuC8tmdWzhwMOcuVq7VIct17jkj3A3k3zu++ycj3xBgXdiH
bxK61h8RLwJs90fvYRU1LzwebJPFxX9ORK3RoxnmM7SQ8v98N3T+T7wLgWTCz5clhm6bbn21Y5qA
x/2rToVgprC1TqvzaNq2Rk5i33JvXhvd8r1d4t2ejA==
=9QrC
-----END PGP SIGNATURE-----

--------------HWZ0MML3mFtPsi0b6mq6DrIq--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:08:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903353.1311265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq960-0000ok-Pg; Thu, 06 Mar 2025 11:08:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903353.1311265; Thu, 06 Mar 2025 11:08: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 1tq960-0000oZ-Mc; Thu, 06 Mar 2025 11:08:56 +0000
Received: by outflank-mailman (input) for mailman id 903353;
 Thu, 06 Mar 2025 11:08: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq95z-0000aa-1z
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:08:55 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20606.outbound.protection.outlook.com
 [2a01:111:f403:2407::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62a62f1a-fa7b-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 12:08:52 +0100 (CET)
Received: from SJ0PR13CA0158.namprd13.prod.outlook.com (2603:10b6:a03:2c7::13)
 by CY5PR12MB6407.namprd12.prod.outlook.com (2603:10b6:930:3c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 11:08:46 +0000
Received: from CO1PEPF000066EA.namprd05.prod.outlook.com
 (2603:10b6:a03:2c7:cafe::ea) by SJ0PR13CA0158.outlook.office365.com
 (2603:10b6:a03:2c7::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.11 via Frontend Transport; Thu,
 6 Mar 2025 11:08:46 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 11:08:45 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 05:08:42 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62a62f1a-fa7b-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bx4yQKcIou+bGDBwVOXYgeK+sFSXCVyzU5qJP41LPhenpKGW++ePj9YoMuSLZVBaD5EN4N01v1hfSHr/2v/Yw4v+jc4bgLWyOmInikt45CaRe2UypDvbL4E1NqSdWNOd5yi4m+iOyyC7u5ZfioYbJymJVXc/NPNCCUZSDVru+Oi8h65L7o5y8/CB5VuK5sx5DhyOrnJIgi4pYMdx0OUL2mpnMawdZ3vUMCQYdmD2mQC+t0184iKxa7531VOtBi0liHaVW3JR8qkwhs4heR6QFm/GpHBYWxZQthOttkrEavsHwxwtlvH1aO98g95w4Gt/JNEsEtOlCF0lteD3RwUq8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=umPQCB2LN+Kalqs6W3FFGVHcfPlI9C3UYolJoarzFPM=;
 b=WuCEKnQphRNQA44CLda2Npj1PP7ea5xqyOlsgxULfVdSgqEfDby2TbQSpijT1YDK1C4i9thuEgcl9/DbltLG2yFsxfRxM+3VvYDOjVfDuoGyQ270Se25ju6/ixaLG8d6Xp5O6ZDnqas5ApIpuapxmRD9mCJ8gGjrWJwREIh/18bhmqJ3bc/hZDLdpgDj4/+bXWCjYrGWWgMZAomgRFZUxuH1Mz1Fx/RMv9P4eGBTnXrla11dKaFL+7K6g+vFgcmKDl75rZ0CI8ZfpkGVFOcNlQuDp4Hbhimyz+FY2XoHTqSz7iLvkJQI4DqbX8bXnmxrec1Z5VMyDrPT3GU6SCPHXw==
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=umPQCB2LN+Kalqs6W3FFGVHcfPlI9C3UYolJoarzFPM=;
 b=ld0kDCcFSxAytTnql+O4h+lQYq3yOyDvfJ8z2J3HalvoiTB40GXb+2ZhzxEpN0/5qv0VcP5eMYvF0JhHx6LtmKOJhpIjIPyXNmoyzw/hQ+tgucFeJBsKpuOhlzCoHI/uButNh6RYm6QMPyvuX9OM5FC9QfxvHK75T33EfE66Tm8=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v3 1/5] xen/acpi: upload power and performance related data from a PVH dom0
Date: Thu, 6 Mar 2025 19:08:20 +0800
Message-ID: <20250306110824.1506699-2-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306110824.1506699-1-Penny.Zheng@amd.com>
References: <20250306110824.1506699-1-Penny.Zheng@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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066EA:EE_|CY5PR12MB6407:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f168f34-20af-40f2-4f22-08dd5c9f4399
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aUQzcGZDNUV6d2l2clduK0ZmcWUyOXZZTG9CMm5STUF6ZHowNURjOUw3WVd2?=
 =?utf-8?B?WFV3NXN3RHBHYWZoTmYzMG9xR2NIQnljcUlhTDNKTms2TUwyUGRxRFZSdWl2?=
 =?utf-8?B?TEVoejF3YlVTVDc1VGQzSWJJeHNJSlFIN2t6Tk1wUGVQY3ZOODVuVUhnMHo2?=
 =?utf-8?B?NlB6Q1RRcE1ySUIySkllTk5jYmNuT0FvK2ZuOXY4SEJCdDM5S0tML3MwM0g5?=
 =?utf-8?B?UTJoMDlXTVJKV0pjcU1GYVZoMzl5cTYxWmxuZEVucmNzdEsxYTV2aVJpMHhs?=
 =?utf-8?B?ZmxSQms5VUNyeTk5VThLMGlPOWc1enBiTnBKMDVnTnF1aG5td0ZHS3ZyU2Qw?=
 =?utf-8?B?b2NMSEhadmZnYmNIOU56WEp5RjZ2MFBtd3d5Q2VScys5ZTAxNTlKZjlUUUFS?=
 =?utf-8?B?aWlDYndGb3RHckVVWE0vZVk2RzJZTWZ4S3E5Z3hYTE9VUjRFaWh6UkRmK3lv?=
 =?utf-8?B?ekpBV2ZuY0gzbW1YeGpDSmpDY0hpam55MFJHV2ZVeTB6eHVjZSs4Z1Q2Y1Fz?=
 =?utf-8?B?RG1mRW53MVM4TWIxc3ZKVXk1QXVpcFlTWWNjYVZtcC96LzBUODFES1VDVU1N?=
 =?utf-8?B?WjRGL0tWNitqbW9kMy9ueEdTZVQ5N2FOYTZWSG43bnlmY1h4ZXovNkdyZjJK?=
 =?utf-8?B?TGNhVlVHaGVyRDdnWVdjMUlQMkFEWCtWaXlnRE9HSExWMFc1aWxoblRTK3hJ?=
 =?utf-8?B?MDhzb1lUc1BkTlN3eGRoN053d2s0WDJ6MGVsbUR2TUlwNGRabXJMZERKdUJ4?=
 =?utf-8?B?RXdPMTBmam44RWlVYWlhcUw3N3JBVnpyVnFIYTRBWGdLczZvdXBVWnFCaHRL?=
 =?utf-8?B?QWgxTEN6VlpQSG90Nkd1a3lqVmg2QVlWN0ZJRG53UDg0WEJNZW4zSFVKMHdo?=
 =?utf-8?B?K2U5NlNDbjAzZU10QmdHNzFWUmVkSWZ4bS9qVHFPK2tDSGIzQ05nNmE5Vzhz?=
 =?utf-8?B?K2w4SkEvRzFvVmwxN3lhZzR0MWhTWjQ4c0p1MFppWVVWWngydkt6dUp5WkJM?=
 =?utf-8?B?V1NNNHB0bkRDazl6UlJMbzlNejRVc254Q3BHUlRmYTYrNG9ubGhMZUNlRmY3?=
 =?utf-8?B?RmFLaitPYXhlUWs3WVU4TnZyZmlva1J1dElYK3d6NWF3T2R6V1FxL29XVkpS?=
 =?utf-8?B?WEk2SjI5YVVLTExTZVRMYW5BS01yckZ4VEI5UzVyNlBZc2tITUU1VDVvWjFF?=
 =?utf-8?B?QWQ2L3V6dVpsdzRSYVdPdDlPR2syUVBCZEdxblBHcTRBRjc2RXNLQU52RzNG?=
 =?utf-8?B?ek9XU1RNd2lkR2RJb1JJem5CVnEzMHhNNTVwSFhqVTlsN1ovYmp1OHRsbHBC?=
 =?utf-8?B?OVJlbWNTSjl3Ymp4Rjk0Vjl2S0tURU1jdXhqd05TSTVxVUtUTHJVOWdkSExH?=
 =?utf-8?B?WXhsWGFzS0pyNEltb0pVczgrdGxGcWR3RFNGTnU1OTkvdGRDdlNBN1FmekZ1?=
 =?utf-8?B?bFVUb2VkZHZaTFFpaUs5NW5JY3Z5K1YwVU00QXNiTkp5SUVUajFhUy95amw5?=
 =?utf-8?B?N2F5UzZBVHFOcTVEQ0FyVzU2SCt1SXdSZmhsaXJRZWdQM2Q5VkJkN3N3eGxW?=
 =?utf-8?B?V1BtYkFqOWxoYy9ZSTQxUHNqUzJGbVJkOUl2b0pBUjRLUFROVzF3MGMzcmk2?=
 =?utf-8?B?L1Q4NXVkMWVkQ2RjM2g5NzZsNHdyNDRoWlNzVTUvS3ZYdVFZSnhiYllMQ0lP?=
 =?utf-8?B?cEpZOFh0TXFCZGdXaDc0RG51QjNZVnhReW05RFpLREgwNlFZczFMYmFtT0No?=
 =?utf-8?B?T2MwYkJRYzRwekk0VjRMQ3FYQ21CZW1SbUhXbXJNeHJZeE8wUWRuQWhyd0c0?=
 =?utf-8?B?dE9LMVlTZ0RnKzVoL2t3ZFFhZlk3dHZ2dlloVEJRT1R6WXh1Q3VjU3poMnFX?=
 =?utf-8?B?RytRUXpNMDJLSTdyZS9Xc1FGTzdJclpaTkZETzFISExESmhCSURBRWhZbG1h?=
 =?utf-8?B?cDFHbVF0Qnl0bkZtWUloS2hsZVRORytyU2RzMUlNMEhIYndmaDg1R2tOVzYz?=
 =?utf-8?Q?FAnZBdfBkX6SMyMa1n42pPBy7suObc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 11:08:45.8279
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f168f34-20af-40f2-4f22-08dd5c9f4399
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=[SATLEXMB04.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: CY5PR12MB6407

From: Roger Pau Monne <roger.pau@citrix.com>

When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
report the correct numbers of vCPUs that dom0 has, so the host MADT is
not provided to dom0.  This creates issues when parsing the power and
performance related data from ACPI dynamic tables, as the ACPI
Processor UIDs found on the dynamic code are likely to not match the
ones crafted by Xen in the dom0 MADT.

Xen would rely on Linux having filled at least the power and
performance related data of the vCPUs on the system, and would clone
that information in order to setup the remaining pCPUs on the system
if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
that none of dom0 CPUs will have the power and performance data
filled, and hence the Xen ACPI Processor driver needs to fetch that
information by itself.

In order to do so correctly, introduce a new helper to fetch the _CST
data without taking into account the system capabilities from the
CPUID output, as the capabilities reported to dom0 in CPUID might be
different from the ones on the host.

Note that the newly introduced code will only fetch the _CST, _PSS,
_PPC and _PCT from a single CPU, and clone that information for all the
other Processors.  This won't work on an heterogeneous system with
Processors having different power and performance related data between
them.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 drivers/xen/pcpu.c               |   3 +-
 drivers/xen/xen-acpi-processor.c | 232 ++++++++++++++++++++++++++++---
 include/xen/xen.h                |   2 +-
 3 files changed, 216 insertions(+), 21 deletions(-)

diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index 093ad4a08672..36fb5372cd04 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -388,7 +388,7 @@ static int __init xen_pcpu_init(void)
 arch_initcall(xen_pcpu_init);
 
 #ifdef CONFIG_ACPI
-bool __init xen_processor_present(uint32_t acpi_id)
+bool xen_processor_present(uint32_t acpi_id)
 {
 	const struct pcpu *pcpu;
 	bool online = false;
@@ -403,6 +403,7 @@ bool __init xen_processor_present(uint32_t acpi_id)
 
 	return online;
 }
+EXPORT_SYMBOL_GPL(xen_processor_present);
 
 void xen_sanitize_proc_cap_bits(uint32_t *cap)
 {
diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index 296703939846..e9f38f171240 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -48,6 +48,8 @@ static unsigned long *acpi_id_cst_present;
 /* Which ACPI P-State dependencies for a enumerated processor */
 static struct acpi_psd_package *acpi_psd;
 
+static bool pr_initialized;
+
 static int push_cxx_to_hypervisor(struct acpi_processor *_pr)
 {
 	struct xen_platform_op op = {
@@ -172,8 +174,13 @@ static int xen_copy_psd_data(struct acpi_processor *_pr,
 
 	/* 'acpi_processor_preregister_performance' does not parse if the
 	 * num_processors <= 1, but Xen still requires it. Do it manually here.
+	 *
+	 * Also init the field if not set, as that's possible if the physical
+	 * CPUs on the system doesn't match the data provided in the MADT when
+	 * running as a PVH dom0.
 	 */
-	if (pdomain->num_processors <= 1) {
+	if (pdomain->num_processors <= 1 ||
+	    dst->shared_type == CPUFREQ_SHARED_TYPE_NONE) {
 		if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ALL)
 			dst->shared_type = CPUFREQ_SHARED_TYPE_ALL;
 		else if (pdomain->coord_type == DOMAIN_COORD_TYPE_HW_ALL)
@@ -313,6 +320,155 @@ static unsigned int __init get_max_acpi_id(void)
 	pr_debug("Max ACPI ID: %u\n", max_acpi_id);
 	return max_acpi_id;
 }
+
+/*
+ * Custom version of the native acpi_processor_evaluate_cst() function, to
+ * avoid some sanity checks done based on the CPUID data.  When running as a
+ * Xen domain the CPUID data provided to dom0 is not the native one, so C
+ * states cannot be sanity checked.  Leave it to the hypervisor which is also
+ * the entity running the driver.
+ */
+static int xen_acpi_processor_evaluate_cst(acpi_handle handle,
+					   struct acpi_processor_power *info)
+{
+	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
+	union acpi_object *cst;
+	acpi_status status;
+	u64 count;
+	int last_index = 0;
+	int i, ret = 0;
+
+	status = acpi_evaluate_object(handle, "_CST", NULL, &buffer);
+	if (ACPI_FAILURE(status)) {
+		acpi_handle_debug(handle, "No _CST\n");
+		return -ENODEV;
+	}
+
+	cst = buffer.pointer;
+
+	/* There must be at least 2 elements. */
+	if (!cst || cst->type != ACPI_TYPE_PACKAGE || cst->package.count < 2) {
+		acpi_handle_warn(handle, "Invalid _CST output\n");
+		ret = -EFAULT;
+		goto end;
+	}
+
+	count = cst->package.elements[0].integer.value;
+
+	/* Validate the number of C-states. */
+	if (count < 1 || count != cst->package.count - 1) {
+		acpi_handle_warn(handle, "Inconsistent _CST data\n");
+		ret = -EFAULT;
+		goto end;
+	}
+
+	for (i = 1; i <= count; i++) {
+		union acpi_object *element;
+		union acpi_object *obj;
+		struct acpi_power_register *reg;
+		struct acpi_processor_cx cx;
+
+		/*
+		 * If there is not enough space for all C-states, skip the
+		 * excess ones and log a warning.
+		 */
+		if (last_index >= ACPI_PROCESSOR_MAX_POWER - 1) {
+			acpi_handle_warn(handle, "No room for more idle states (limit: %d)\n",
+					 ACPI_PROCESSOR_MAX_POWER - 1);
+			break;
+		}
+
+		memset(&cx, 0, sizeof(cx));
+
+		element = &cst->package.elements[i];
+		if (element->type != ACPI_TYPE_PACKAGE) {
+			acpi_handle_info(handle, "_CST C%d type(%x) is not package, skip...\n",
+					 i, element->type);
+			continue;
+		}
+
+		if (element->package.count != 4) {
+			acpi_handle_info(handle, "_CST C%d package count(%d) is not 4, skip...\n",
+				i, element->package.count);
+			continue;
+		}
+
+		obj = &element->package.elements[0];
+
+		if (obj->type != ACPI_TYPE_BUFFER) {
+			acpi_handle_info(handle, "_CST C%d package element[0] type(%x) is not buffer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		reg = (struct acpi_power_register *)obj->buffer.pointer;
+
+		obj = &element->package.elements[1];
+		if (obj->type != ACPI_TYPE_INTEGER) {
+			acpi_handle_info(handle, "_CST C[%d] package element[1] type(%x) is not integer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		cx.type = obj->integer.value;
+		/*
+		 * There are known cases in which the _CST output does not
+		 * contain C1, so if the type of the first state found is not
+		 * C1, leave an empty slot for C1 to be filled in later.
+		 */
+		if (i == 1 && cx.type != ACPI_STATE_C1)
+			last_index = 1;
+
+		cx.address = reg->address;
+		cx.index = last_index + 1;
+
+		switch (reg->space_id) {
+		case ACPI_ADR_SPACE_FIXED_HARDWARE:
+			cx.entry_method = ACPI_CSTATE_FFH;
+			break;
+
+		case ACPI_ADR_SPACE_SYSTEM_IO:
+			cx.entry_method = ACPI_CSTATE_SYSTEMIO;
+			break;
+
+		default:
+			acpi_handle_info(handle, "_CST C%d space_id(%x) neither FIXED_HARDWARE nor SYSTEM_IO, skip...\n",
+					 i, reg->space_id);
+			continue;
+		}
+
+		if (cx.type == ACPI_STATE_C1)
+			cx.valid = 1;
+
+		obj = &element->package.elements[2];
+		if (obj->type != ACPI_TYPE_INTEGER) {
+			acpi_handle_info(handle, "_CST C%d package element[2] type(%x) not integer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		cx.latency = obj->integer.value;
+
+		obj = &element->package.elements[3];
+		if (obj->type != ACPI_TYPE_INTEGER) {
+			acpi_handle_info(handle, "_CST C%d package element[3] type(%x) not integer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		memcpy(&info->states[++last_index], &cx, sizeof(cx));
+	}
+
+	acpi_handle_info(handle, "Found %d idle states\n", last_index);
+
+	info->count = last_index;
+
+end:
+	kfree(buffer.pointer);
+
+	return ret;
+}
+
 /*
  * The read_acpi_id and check_acpi_ids are there to support the Xen
  * oddity of virtual CPUs != physical CPUs in the initial domain.
@@ -331,6 +487,7 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	unsigned long long tmp;
 	union acpi_object object = { 0 };
 	struct acpi_buffer buffer = { sizeof(union acpi_object), &object };
+	struct acpi_buffer cst_buf = { ACPI_ALLOCATE_BUFFER, NULL };
 	acpi_io_address pblk = 0;
 
 	status = acpi_get_type(handle, &acpi_type);
@@ -354,24 +511,45 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	default:
 		return AE_OK;
 	}
-	if (invalid_phys_cpuid(acpi_get_phys_id(handle,
-						acpi_type == ACPI_TYPE_DEVICE,
-						acpi_id))) {
+
+	if (!xen_processor_present(acpi_id)) {
 		pr_debug("CPU with ACPI ID %u is unavailable\n", acpi_id);
 		return AE_OK;
 	}
-	/* There are more ACPI Processor objects than in x2APIC or MADT.
-	 * This can happen with incorrect ACPI SSDT declerations. */
-	if (acpi_id >= nr_acpi_bits) {
-		pr_debug("max acpi id %u, trying to set %u\n",
-			 nr_acpi_bits - 1, acpi_id);
-		return AE_OK;
-	}
+
 	/* OK, There is a ACPI Processor object */
 	__set_bit(acpi_id, acpi_id_present);
 
 	pr_debug("ACPI CPU%u w/ PBLK:0x%lx\n", acpi_id, (unsigned long)pblk);
 
+	if (!pr_initialized) {
+		struct acpi_processor *pr = context;
+		int rc, rc2;
+
+		/*
+		 * There's no CPU on the system that has any performance or
+		 * power related data, initialize all the required fields by
+		 * fetching that info here.
+		 *
+		 * Note such information is only fetched once, and then reused
+		 * for all pCPUs.  This won't work on heterogeneous systems
+		 * with different Cx anb/or Px states between CPUs.
+		 */
+
+		pr->handle = handle;
+
+		rc = acpi_processor_get_performance_info(pr);
+		if (rc)
+			pr_err("ACPI CPU%u failed to get performance data\n",
+			       acpi_id);
+		rc2 = xen_acpi_processor_evaluate_cst(handle, &pr->power);
+		if (rc2)
+			pr_err("ACPI CPU%u failed to get _CST data\n", acpi_id);
+
+		if (!rc && !rc2)
+			pr_initialized = true;
+	}
+
 	/* It has P-state dependencies */
 	if (!acpi_processor_get_psd(handle, &acpi_psd[acpi_id])) {
 		pr_debug("ACPI CPU%u w/ PST:coord_type = %llu domain = %llu\n",
@@ -379,11 +557,13 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 			 acpi_psd[acpi_id].domain);
 	}
 
-	status = acpi_evaluate_object(handle, "_CST", NULL, &buffer);
+	status = acpi_evaluate_object(handle, "_CST", NULL, &cst_buf);
 	if (ACPI_FAILURE(status)) {
 		if (!pblk)
 			return AE_OK;
 	}
+	kfree(cst_buf.pointer);
+
 	/* .. and it has a C-state */
 	__set_bit(acpi_id, acpi_id_cst_present);
 
@@ -391,10 +571,6 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 }
 static int check_acpi_ids(struct acpi_processor *pr_backup)
 {
-
-	if (!pr_backup)
-		return -ENODEV;
-
 	if (acpi_id_present && acpi_id_cst_present)
 		/* OK, done this once .. skip to uploading */
 		goto upload;
@@ -422,8 +598,8 @@ static int check_acpi_ids(struct acpi_processor *pr_backup)
 
 	acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
 			    ACPI_UINT32_MAX,
-			    read_acpi_id, NULL, NULL, NULL);
-	acpi_get_devices(ACPI_PROCESSOR_DEVICE_HID, read_acpi_id, NULL, NULL);
+			    read_acpi_id, NULL, pr_backup, NULL);
+	acpi_get_devices(ACPI_PROCESSOR_DEVICE_HID, read_acpi_id, pr_backup, NULL);
 
 upload:
 	if (!bitmap_equal(acpi_id_present, acpi_ids_done, nr_acpi_bits)) {
@@ -464,6 +640,7 @@ static int xen_upload_processor_pm_data(void)
 	struct acpi_processor *pr_backup = NULL;
 	int i;
 	int rc = 0;
+	bool free_perf = false;
 
 	pr_info("Uploading Xen processor PM info\n");
 
@@ -473,12 +650,29 @@ static int xen_upload_processor_pm_data(void)
 		if (!_pr)
 			continue;
 
-		if (!pr_backup)
+		if (!pr_backup) {
 			pr_backup = kmemdup(_pr, sizeof(*_pr), GFP_KERNEL);
+			pr_initialized = true;
+		}
 		(void)upload_pm_data(_pr);
 	}
 
+	if (!pr_backup) {
+		pr_backup = kzalloc(sizeof(struct acpi_processor), GFP_KERNEL);
+		if (!pr_backup)
+			return -ENOMEM;
+		pr_backup->performance = kzalloc(sizeof(struct acpi_processor_performance),
+						 GFP_KERNEL);
+		if (!pr_backup->performance) {
+			kfree(pr_backup);
+			return -ENOMEM;
+		}
+		free_perf = true;
+	}
+
 	rc = check_acpi_ids(pr_backup);
+	if (free_perf)
+		kfree(pr_backup->performance);
 	kfree(pr_backup);
 
 	return rc;
diff --git a/include/xen/xen.h b/include/xen/xen.h
index a1e5b3f18d69..6ff3e2f40803 100644
--- a/include/xen/xen.h
+++ b/include/xen/xen.h
@@ -81,7 +81,7 @@ static inline void xen_free_unpopulated_pages(unsigned int nr_pages,
 #endif
 
 #if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
-bool __init xen_processor_present(uint32_t acpi_id);
+bool xen_processor_present(uint32_t acpi_id);
 #else
 #include <linux/bug.h>
 static inline bool xen_processor_present(uint32_t acpi_id)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:08:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903354.1311273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq961-0000vP-8n; Thu, 06 Mar 2025 11:08:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903354.1311273; Thu, 06 Mar 2025 11:08: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 1tq961-0000tu-2L; Thu, 06 Mar 2025 11:08:57 +0000
Received: by outflank-mailman (input) for mailman id 903354;
 Thu, 06 Mar 2025 11:08: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq960-0000aa-0I
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:08:56 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2060c.outbound.protection.outlook.com
 [2a01:111:f403:2407::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 645ddf26-fa7b-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 12:08:55 +0100 (CET)
Received: from MW4PR03CA0006.namprd03.prod.outlook.com (2603:10b6:303:8f::11)
 by SA1PR12MB6679.namprd12.prod.outlook.com (2603:10b6:806:252::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 11:08:48 +0000
Received: from CO1PEPF000066E8.namprd05.prod.outlook.com
 (2603:10b6:303:8f:cafe::75) by MW4PR03CA0006.outlook.office365.com
 (2603:10b6:303:8f::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 11:08:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000066E8.mail.protection.outlook.com (10.167.249.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 11:08:48 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 05:08:45 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 645ddf26-fa7b-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ii5U1DNS/lAcElrqLMGwXTvggt3TdQOocbHb6t+xp7jJFWmsImxSEbUHCqInVbTVX8OIsTuso0AOSP0oN0pyz0+SQjWfsgYirNCPYqfbgIbqPMZ+6TzI6RpkawQjhYdMjO4w0qGVLvoTZnoK9KTBlgFdIfTOUzJpoLA052p5dQwIs66sp8hSCfiT9DBa9/SNosPIgU3oqpom/h3ShQT7qfbZYxyRX0DKeKXCxXqjkB1lu0JZlc3CUK6zvjT8oRGmZp7i3VP2B8uHEvfb0mPRKK1IXfbB1DENcz3Pcpu59L/lLD+/f13CD7rTZbW+47JYx7/MLMCKnJJxxsVNjpKIMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9/e/Hlw2V8fXNadO2E5iUFdqkjG160ZTKnpUmCG6fYg=;
 b=lzjtip4VnYvgQxj8Wl1noXuI/uSTT3Ohh3xmf8KGRcGrglwehR5ms2+1EQFg0b2G1K/LD1P51mIR57hZIXfOlLtN3RuYTGITYgQ0B+d3wdfjiDXBo8F3xujSRIPb2g3Q4ShUV+r2UUFWCWEGZbJMX6LdlFg+mAIwwdf8tsz0w1grxGnCoh1gBs9atsRekW1ghsBrQMCC+Az8S4tyDEPqwT1BkEwtceJYjTuRveYI0fPRyPgfN3kwpTsRtsBvKyJkjIaBsepnPNkgeoKOqISrJUU2vgyCCsWNDqhcIAmFSkei2DCefnJrhE9omr/2o2e+qQ48S2DSj1a9JzbIntooMg==
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=9/e/Hlw2V8fXNadO2E5iUFdqkjG160ZTKnpUmCG6fYg=;
 b=TekTs9b+ZDDXXFpxWgoKtertBuca538ceMmDjGtv4hKitd/r0u/o6736eE3b4sqelReJ3YCOc49IsY0+HLwCGomeUIWbaTZ7G/aiZuCl5HGKBoaO+YvhoN659Cvw7cu/TuY+FmKXF6yJ4ND9VFmMDAwISY+tU0SoT+Sog8QeSL0=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v3 2/5] xen: introduces XEN_PM_PSD sub-hypercall for solely delivery of _PSD info
Date: Thu, 6 Mar 2025 19:08:21 +0800
Message-ID: <20250306110824.1506699-3-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306110824.1506699-1-Penny.Zheng@amd.com>
References: <20250306110824.1506699-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066E8:EE_|SA1PR12MB6679:EE_
X-MS-Office365-Filtering-Correlation-Id: fc2018c2-8a39-4dd5-6686-08dd5c9f450e
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?lwNk5rhRcSrUcegox21m2QTFesJG9MCoVTEey0hWXPQm7HpZVP7+iTwKKScG?=
 =?us-ascii?Q?eafYM+BeNPJEd7h7myl/TUMj5btJ4lTEefws0/ik16KT2nkR3PJpFXUizwMO?=
 =?us-ascii?Q?TGZRqupsEbS4b0ZyQzGM+hn9G4I8PHa5kVvJvDbVwfFRicMvX18gbsWkukpD?=
 =?us-ascii?Q?6dO7tfAtktcM3l4H0rbr88e9WuM7qEqz8oLzGvydTcUk3V/vA3p0aQPEoq1x?=
 =?us-ascii?Q?FjawEVUsAZZh0J1wCOvmWOW4CaXSRpenIRay6bvOtco313NDbBz6WOM9Ran2?=
 =?us-ascii?Q?37wRZt7LJ7wG1qzQsz/uAk1Pb5vOMg8PY8/ES/2HAuSn4bL2NBRahgRWMKTM?=
 =?us-ascii?Q?kPb2SZg06VEELkcv34tOZddcVc8gEvXelHTvNwy70thmdLF4Czo4fik65Ifz?=
 =?us-ascii?Q?JcxDpqSuyolx8HeTLdgG+6Gb38b0B77AH7p2WEAAeDEVLfcT3BlXNk3mFC04?=
 =?us-ascii?Q?n1i/kiWXtczT8XbgrqJdzCR2EixDBAuURDuqYggRWKFQG+FO3UOh6yhWHhod?=
 =?us-ascii?Q?YX3argLUUJeTxM9RllGtW3Hq1Hng8sADbhEGkTLxQNyazgPHtyhN7UBR2tuM?=
 =?us-ascii?Q?Hjtnyh6YoDooD+yjHM7F4HnrUADBNy4DTl/CIMD8wrpTOevK+Pz9BI5T3N0j?=
 =?us-ascii?Q?Vro/AIHVci2cqZ5jbk8n0M/1F6KmsyqlLbCFmJLlV226wzkyhuvxEOlQ/P9E?=
 =?us-ascii?Q?WTn1JfmgR4tFOfOoxgqqqwPhOWozMx/UrxPcnc3K4QBAh5MyRHDdXHUFKg7f?=
 =?us-ascii?Q?VhOAyiS7USPDS6uEgrPH7WTpLKmxlW7GAxRrqte9BCZCayXUyjEf4MbhJG6G?=
 =?us-ascii?Q?bZA3UU6pUP61DmOfAmGod9r6LSBzFlfZg2SptWcyRmrjlAL+iVB4PcnEiaRe?=
 =?us-ascii?Q?6Od451/6OgkCTec++EFhzGEcw0hvWfEQwTuv1egZjrByqE283smLK0HQgHZI?=
 =?us-ascii?Q?q2Y4WVaf5ksCH8bKsV+k5iFLaofnBnlcsi2HRIwyErh1wv2+JWIfhVELO9cs?=
 =?us-ascii?Q?fMTOfMNTot+9Q6myAmgGQsuV4B2Fktmf8u4UkIqHuBVEx1ZM4enOCa/u1SEC?=
 =?us-ascii?Q?QUzSomjqRZyl4Tj67DMpFZ0/y6gF/9rJ+4l4ZladphZYvacFfmbb9jnroHDL?=
 =?us-ascii?Q?w2Zs67uL7VDTAVps0KGvHZoeN9lxDmWN1iapvIKNf4kPmzIPTPFZzsEaFrWv?=
 =?us-ascii?Q?/hvnyNRtRXrbcxv06TT/r0NrgDxW+uGtzIR0aVolnoX0gregJFU2zlkziFQh?=
 =?us-ascii?Q?4guAAZ8SrldCDB1RRptFlfki9OziaTxr3Rv8CCAtLxs+Hx5ei34LbQ9akUJ7?=
 =?us-ascii?Q?0CgW3a6sYcdD/lqJlijnR0bKYo1TLakF7mBOLOuqhTNf9T8kaQKPhWkZq58a?=
 =?us-ascii?Q?wCflsOZdK3/Ak4qhNwodp3ei8iZU+WepEjLB3pYWlxDb4URyA+0/kndprPlD?=
 =?us-ascii?Q?uth44JpUB/Ks9i1zbPc+q19TAozagDA+hYcJP6grjT/o6BaIPFWDGWg+q7jH?=
 =?us-ascii?Q?rRDf24lt/+uY6MY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 11:08:48.2730
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fc2018c2-8a39-4dd5-6686-08dd5c9f450e
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000066E8.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6679

_PSD(P-State Dependency) provides performance control, no matter legacy
P-state or CPPC, logical processor dependency information.

In order to re-use it for CPPC, this commit extracts the delivery of _PSD
info from push_pxx_to_hypervisor() and wrap it with a new sub-hypercall
XEN_PM_PSD.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 drivers/xen/xen-acpi-processor.c | 82 ++++++++++++++++++++------------
 include/xen/interface/platform.h |  8 ++--
 2 files changed, 56 insertions(+), 34 deletions(-)

diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index e9f38f171240..8db8631a4b9d 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -157,18 +157,40 @@ xen_copy_pss_data(struct acpi_processor *_pr,
 	}
 	return dst_states;
 }
-static int xen_copy_psd_data(struct acpi_processor *_pr,
-			     struct xen_processor_performance *dst)
+static int xen_copy_pct_data(struct acpi_pct_register *pct,
+			     struct xen_pct_register *dst_pct)
+{
+	/* It would be nice if you could just do 'memcpy(pct, dst_pct') but
+	 * sadly the Xen structure did not have the proper padding so the
+	 * descriptor field takes two (dst_pct) bytes instead of one (pct).
+	 */
+	dst_pct->descriptor = pct->descriptor;
+	dst_pct->length = pct->length;
+	dst_pct->space_id = pct->space_id;
+	dst_pct->bit_width = pct->bit_width;
+	dst_pct->bit_offset = pct->bit_offset;
+	dst_pct->reserved = pct->reserved;
+	dst_pct->address = pct->address;
+	return 0;
+}
+static int push_psd_to_hypervisor(struct acpi_processor *_pr)
 {
+	struct xen_platform_op op = {
+		.cmd                    = XENPF_set_processor_pminfo,
+		.interface_version      = XENPF_INTERFACE_VERSION,
+		.u.set_pminfo.id        = _pr->acpi_id,
+		.u.set_pminfo.type      = XEN_PM_PSD,
+	};
 	struct acpi_psd_package *pdomain;
+	int ret = 0;
 
 	BUILD_BUG_ON(sizeof(struct xen_psd_package) !=
 		     sizeof(struct acpi_psd_package));
 
-	/* This information is enumerated only if acpi_processor_preregister_performance
-	 * has been called.
+	/* This information is enumerated only if
+	 * acpi_processor_preregister_performance has been called.
 	 */
-	dst->shared_type = _pr->performance->shared_type;
+	op.u.set_pminfo.shared_type = _pr->performance->shared_type;
 
 	pdomain = &(_pr->performance->domain_info);
 
@@ -180,32 +202,30 @@ static int xen_copy_psd_data(struct acpi_processor *_pr,
 	 * running as a PVH dom0.
 	 */
 	if (pdomain->num_processors <= 1 ||
-	    dst->shared_type == CPUFREQ_SHARED_TYPE_NONE) {
+	    op.u.set_pminfo.shared_type == CPUFREQ_SHARED_TYPE_NONE) {
 		if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ALL)
-			dst->shared_type = CPUFREQ_SHARED_TYPE_ALL;
+			op.u.set_pminfo.shared_type = CPUFREQ_SHARED_TYPE_ALL;
 		else if (pdomain->coord_type == DOMAIN_COORD_TYPE_HW_ALL)
-			dst->shared_type = CPUFREQ_SHARED_TYPE_HW;
+			op.u.set_pminfo.shared_type = CPUFREQ_SHARED_TYPE_HW;
 		else if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ANY)
-			dst->shared_type = CPUFREQ_SHARED_TYPE_ANY;
-
+			op.u.set_pminfo.shared_type = CPUFREQ_SHARED_TYPE_ANY;
 	}
-	memcpy(&(dst->domain_info), pdomain, sizeof(struct acpi_psd_package));
-	return 0;
-}
-static int xen_copy_pct_data(struct acpi_pct_register *pct,
-			     struct xen_pct_register *dst_pct)
-{
-	/* It would be nice if you could just do 'memcpy(pct, dst_pct') but
-	 * sadly the Xen structure did not have the proper padding so the
-	 * descriptor field takes two (dst_pct) bytes instead of one (pct).
-	 */
-	dst_pct->descriptor = pct->descriptor;
-	dst_pct->length = pct->length;
-	dst_pct->space_id = pct->space_id;
-	dst_pct->bit_width = pct->bit_width;
-	dst_pct->bit_offset = pct->bit_offset;
-	dst_pct->reserved = pct->reserved;
-	dst_pct->address = pct->address;
+
+	memcpy(&(op.u.set_pminfo.domain_info), pdomain,
+	       sizeof(struct acpi_psd_package));
+
+	if (!no_hypercall)
+		ret = HYPERVISOR_platform_op(&op);
+
+	if (!ret) {
+		pr_debug("ACPI CPU%u - _PSD uploaded.\n", _pr->acpi_id);
+	} else if ((ret != -EINVAL) && (ret != -ENOSYS))
+		/* EINVAL means the ACPI ID is incorrect - meaning the ACPI
+		 * table is referencing a non-existing CPU - which can happen
+		 * with broken ACPI tables. */
+		pr_warn("(_PSD): Hypervisor error (%d) for ACPI CPU%u\n",
+			ret, _pr->acpi_id);
+
 	return 0;
 }
 static int push_pxx_to_hypervisor(struct acpi_processor *_pr)
@@ -234,10 +254,8 @@ static int push_pxx_to_hypervisor(struct acpi_processor *_pr)
 		set_xen_guest_handle(dst_perf->states, dst_states);
 		dst_perf->flags |= XEN_PX_PSS;
 	}
-	if (!xen_copy_psd_data(_pr, dst_perf))
-		dst_perf->flags |= XEN_PX_PSD;
 
-	if (dst_perf->flags != (XEN_PX_PSD | XEN_PX_PSS | XEN_PX_PCT | XEN_PX_PPC)) {
+	if (dst_perf->flags != (XEN_PX_PSS | XEN_PX_PCT | XEN_PX_PPC)) {
 		pr_warn("ACPI CPU%u missing some P-state data (%x), skipping\n",
 			_pr->acpi_id, dst_perf->flags);
 		ret = -ENODEV;
@@ -281,6 +299,10 @@ static int upload_pm_data(struct acpi_processor *_pr)
 		mutex_unlock(&acpi_ids_mutex);
 		return -EBUSY;
 	}
+
+	if (_pr->performance && _pr->performance->states)
+		err |= push_psd_to_hypervisor(_pr);
+
 	if (_pr->flags.power)
 		err = push_cxx_to_hypervisor(_pr);
 
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index 79a443c65ea9..a35e1eb958f3 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -319,11 +319,11 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_getidletime_t);
 #define XEN_PM_PX   1
 #define XEN_PM_TX   2
 #define XEN_PM_PDC  3
+#define XEN_PM_PSD  4
 /* Px sub info type */
 #define XEN_PX_PCT   1
 #define XEN_PX_PSS   2
 #define XEN_PX_PPC   4
-#define XEN_PX_PSD   8
 
 struct xen_power_register {
 	uint32_t     space_id;
@@ -399,8 +399,6 @@ struct xen_processor_performance {
 	struct xen_pct_register status_register;
 	uint32_t state_count;     /* total available performance states */
 	GUEST_HANDLE(xen_processor_px) states;
-	struct xen_psd_package domain_info;
-	uint32_t shared_type;     /* coordination type of this processor */
 };
 DEFINE_GUEST_HANDLE_STRUCT(xen_processor_performance);
 
@@ -410,9 +408,11 @@ struct xenpf_set_processor_pminfo {
 	uint32_t type;  /* {XEN_PM_CX, XEN_PM_PX} */
 	union {
 		struct xen_processor_power          power;/* Cx: _CST/_CSD */
-		struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS/_PSD */
+		struct xen_psd_package              domain_info; /* _PSD */
+		struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS */
 		GUEST_HANDLE(uint32_t)              pdc;
 	};
+	uint32_t shared_type;     /* coordination type of this processor */
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_set_processor_pminfo);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:08:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903352.1311255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq95z-0000an-JT; Thu, 06 Mar 2025 11:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903352.1311255; Thu, 06 Mar 2025 11:08: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 1tq95z-0000ag-GZ; Thu, 06 Mar 2025 11:08:55 +0000
Received: by outflank-mailman (input) for mailman id 903352;
 Thu, 06 Mar 2025 11:08: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq95x-0000aQ-M0
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:08:53 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20628.outbound.protection.outlook.com
 [2a01:111:f403:2414::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ffa3592-fa7b-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 12:08:48 +0100 (CET)
Received: from BY5PR04CA0024.namprd04.prod.outlook.com (2603:10b6:a03:1d0::34)
 by PH8PR12MB7280.namprd12.prod.outlook.com (2603:10b6:510:220::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Thu, 6 Mar
 2025 11:08:43 +0000
Received: from CO1PEPF000066EC.namprd05.prod.outlook.com
 (2603:10b6:a03:1d0:cafe::3f) by BY5PR04CA0024.outlook.office365.com
 (2603:10b6:a03:1d0::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.20 via Frontend Transport; Thu,
 6 Mar 2025 11:08:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000066EC.mail.protection.outlook.com (10.167.249.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 11:08:42 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 05:08:39 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ffa3592-fa7b-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cnVBTSEVeM7j+FtwSBRMPI7ZIwisZtVSJKt0Ar8132k/M5GuFiw8DURK0efYFDtfviVCOO9DzWWpuluBRzFgPWHnGelrycgG0VAE1Gm2CQcDre3mgzcEN0MZN+Bn661wpEMw0aIccYysL+j6ap97l592+S/d6NY/T9ooat0lJvgATxKrp+tisXo3SfIRQiJrblrifKv5RiY+QAr27qxXRIWiOP2ZUeRvuVzsRVSEqnt+Pt2+4H0HY8nO1knelJwoE01TwAsbM3c2PZ9K/HGpk5zynu7AoBn5rX15959ClrSo1lY2U64liiRW3Vcg1pQRGoU9c1DoWdGrEX6XUsmWRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W1O71ehfXXzRhaoeOAZGnHL5Nefy6bBzATK2U64FJN4=;
 b=KmqwcX3LYi/hmbpN2fkA+Ic796PZB8KFpimPP9lrZ2ZsCjpOLy/0nECIWBnsXWWeF+3Qw4Jg09Ei7OG7Kdz1zrsZGlpf+omPPAkKPbJWvC1XzEer74oMr8AM54wMdDr7QcL8oGAFVsJtxfJBGRLGadwvjAGyBJkgnysAphzrR2sbjCJ6zsr+3whfHh8txWlP+9Pnd3GUNyfpcu6qhfba+oCxZRG2TYPgvTrO6Ss4AFGzYbxPptXZi7TRLwYgoNlEcP7Xl18Dl9RkylmJdswY9Fh87/H55/xGNBteXNn0R2J7W0Wb05ekXzS27ZT1fxaAWgsquMKnu4XKxeRyE/lsog==
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=W1O71ehfXXzRhaoeOAZGnHL5Nefy6bBzATK2U64FJN4=;
 b=N7IBMPvUOpXrfFycxQRMzYhYc96NNFvndCBL5wGkYOie+9Fyo+tb2GuVSMR+MI/6YbT/on7q5EUTk8EUwQ43pTYSbzTgK1TAf2jnFAt1JfFtOCFq22H4H2RjaoLuAs7biukjB+ncmdrtQa0qkWELc5cctL96q1HGigdmm4lPi94=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v3 0/5] xen/acpi: introduce cppc performance hypercall
Date: Thu, 6 Mar 2025 19:08:19 +0800
Message-ID: <20250306110824.1506699-1-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066EC:EE_|PH8PR12MB7280:EE_
X-MS-Office365-Filtering-Correlation-Id: 70dc0703-a8a8-4109-41e2-08dd5c9f41d9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TjVqQzV3ejl3c00wZHlVWlI3dTNmSjdVQWlOK1RmQWkwc3BqZW1tbm5oczZW?=
 =?utf-8?B?bmhVTFBqck8wbWh3Ykk0M0NDVG9RWTBJTlhZSzVjZXBDUnQ4djhTeDIrbnlz?=
 =?utf-8?B?MVVZeVl4RnN1V2Q0cmFQVk0wQlN0N0VoaVEzd3o0Z2RDNFB6cGtlZGM0Mldz?=
 =?utf-8?B?V1JmUjdkMndZcnhPalNhQ2VieC9pdUR4TlNRbVNNMUtSUGdxbU9DR2luWWtZ?=
 =?utf-8?B?RHVMK1E0UzN1dXgxSlBFYTEyZkU3NVNZL3Q3eWxUTWswazJDSGw1MUlzeEFR?=
 =?utf-8?B?MkFoL3dvTWtKby9lMjZjS1FjZEVHVVRlTTlvTi85NEl4dEVsa2c0Z05rMlR0?=
 =?utf-8?B?RDlJQjlrOE1iZFM2bFFPS0tSUGN1bWYzMWNNdlBwTjBaM0FCcndlRHJlQlpm?=
 =?utf-8?B?MHNWaldwSmZJcjhhYmV6STJZWjdkNlhDTFZYWmZyblFMUUsvSDUweTdQUFk4?=
 =?utf-8?B?T1lwQ2VWQmZLN1BWKzZOdWVrdndvTU0rWlhydkk4Q1B1UWFQSmVUeElvalU3?=
 =?utf-8?B?WmtsaFlneGpxVXlBbFc5TzhOMTd4VlAzM2hDRWRtRlBFSG0wK0pvalZic0RN?=
 =?utf-8?B?UmZIOUtrODRoRW1nN0hyRC9VWWRhbnU2VWN3a1hqRTFic3doNkwyeEdIcmJz?=
 =?utf-8?B?a1VVaHJINDJYSFdpaDFiTVJCT1B2UVFDSUNMY1I5VlFCcEo1SUo1UkVGTGdD?=
 =?utf-8?B?ckV0NVJQWVU1MXFLOFY0aDhicmFtZXNNellicDJNM0NWc1ErMTB2elRzNUwx?=
 =?utf-8?B?L0lOR0RBSjRtejd1SVhKeHE2QjJudHdXN0N5VVM5cVAwcE8vQ3BIR1B1TGhD?=
 =?utf-8?B?eEFjZHRqVTNENjFyVDJUYVVpeGJ0bmZPR3NqRzhkaVhuN25ORGc5U0tGMk9P?=
 =?utf-8?B?U2IxVWEzSjQxdVdJV2JzcFF6WllYcW04TnhFaUZuTlpNTVkyWStNSjZFV1BV?=
 =?utf-8?B?MUllT3o0ck1tQkc3QzE5L2FZM3hWUHBIUkhtT25zMksraUhWbnY5QzhFOEV3?=
 =?utf-8?B?ZlkzWEp6dCtYakhvdm1nb3g1ZDZxREVwZWxqM0lJY05PcUxHTFg1a2U2TXAy?=
 =?utf-8?B?aGNUOE9vcCtRaFFEd2RMSGgvTnhRekREL1RBMHp4YTdOb3BBb29kSjY5U2V3?=
 =?utf-8?B?T3RMUGo5WmZRUlMvNzlSb29QNWJBNGlxVUtSZG0xcksrN1ZVdTQ5cFdHWFVv?=
 =?utf-8?B?a3A2N3lrcU9zVUovcSswNzNvcEE0R0p1bzFwbXg0Q3RaSU91RnlVdFphVm4x?=
 =?utf-8?B?MEFOblNOK3hXMHZicGxiRFV6N2ZSRnNZZE44Mkd6QmdXb2tNa3BEbUxmOWE4?=
 =?utf-8?B?WVkvODE2UzVxQkIraElrTDVXZmR0b0p3MDAxVW9BZkpOQ0tvRWtZZFJyQ0JI?=
 =?utf-8?B?ek1mZTVRK2lXdkE5UVNhcU9Ud3JKRExGZ1JsVzhxSWFNdGVYbVkzOW5mOHRN?=
 =?utf-8?B?UmtLT0t6U2YvTENpaVNnZmd0L0k1UU1ZRGx0NlRwb0M5c2FGMlRHbytEeTU4?=
 =?utf-8?B?cnJFZXBZMnpVQUQvZURKdno2RzlLcVdjY0J4bHpNYTlQYzcwZzhWMnFxSXNp?=
 =?utf-8?B?aFg2K2FTaFB5alFWOWxkTjY4RFQyQTF1VDRESlduSDhlQzI5ZkUxa3pxNEhV?=
 =?utf-8?B?OFMvcVZsMkVhMDRmYkVIVlNRZ2sxNTdlcjF0UVM4V0ZYVm1aYXNYU3NZMlZ5?=
 =?utf-8?B?QStTc1Z5V3plVm1FZ295ZnArVk1IY01vSzBERnVEVFJRQ0VFdVV6UnZDV3ht?=
 =?utf-8?B?SnFlclBwdUYzeW93dy9ZaW5GV3dieDQ3S1ZEUCtRZnVRNUxOb0pFZUl1UVov?=
 =?utf-8?B?a2dQR2QyeTdZY0ozc1JWYmxuSFJRb0d3NWVJUjV4WllHWWY0b3UxdHhISGxI?=
 =?utf-8?B?S09qa1hHZ2JsMHA4Um4rTDlMSis2RWpnckVhRXhIZGV1S0xBSmdDT3BXeTJS?=
 =?utf-8?B?VmorSHN2aHZCbUdUNGtLM041enBHSzFWcGs1ZHRPNnBFZmdCTUE2cmMrT01K?=
 =?utf-8?Q?AvEqPRGfYGc3VUABnjRt/np7YuJgaQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 11:08:42.9072
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 70dc0703-a8a8-4109-41e2-08dd5c9f41d9
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000066EC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7280

When running as Xen dom0 PVH guest, MADT table is customized
and may have the "wrong" UID processor number, which is
inconsistent with the UID in Processor entry in native DSDT.

As a result, during ACPI boot-up for dom0, linux fails to set
up proper processor logical id <-> physical id map(acpi_map_cpuid).
Furthermore, It leads to that some ACPI processor feature capibility,
like per-cpu cpc_desc structure, failed to be correctly stored
and processed.

With upstreaming "amd-pstate CPU Performance Scaling Driver"(
https://lore.kernel.org/all/20241203081111.463400-1-Penny.Zheng@amd.com/)
to Xen community, amd-pstate driver is supported on Xen platform.
And as Xen is uncapable of parsing the ACPI dynamic table, like _CPC
entry, this patch serie introduces a new sub-hypercall XEN_PM_CPPC
to deliver CPPC performance capability data.

This patch serie is based on commit "xen/acpi: upload power and performance
related data from a PVH dom0"(
https://patchwork.kernel.org/project/xen-devel/patch/20241203225338.1336-1-jason.andryuk@amd.com/),
which is still under review.

v2 -> v1 :
- rebase to the latest v3 version of "xen/acpi: upload power and performance
related data from a PVH dom0"

v3 -> v2:
- add new commit of "introduces XEN_PM_PSD sub-hypercall for solely delivery
of _PSD info" to be compatible with
https://lore.kernel.org/all/20250306083949.1503385-1-Penny.Zheng@amd.com/

Penny Zheng (4):
  xen: introduces XEN_PM_PSD sub-hypercall for solely delivery of _PSD
    info
  acpi/cppc: extract _cpc entry parsing logic
  xen/cppc: get xen-required cppc perf caps data
  xen/cppc: introduce cppc data upload sub-hypercall

Roger Pau Monne (1):
  xen/acpi: upload power and performance related data from a PVH dom0

 drivers/acpi/cppc_acpi.c         | 204 ++++++++++++----
 drivers/xen/pcpu.c               |   3 +-
 drivers/xen/xen-acpi-processor.c | 398 +++++++++++++++++++++++++++----
 include/acpi/cppc_acpi.h         |   5 +
 include/acpi/processor.h         |   2 +
 include/xen/interface/platform.h |  19 +-
 include/xen/xen.h                |   2 +-
 7 files changed, 529 insertions(+), 104 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:09:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903355.1311285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq964-0001Ke-BI; Thu, 06 Mar 2025 11:09:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903355.1311285; Thu, 06 Mar 2025 11:09: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 1tq964-0001KR-8K; Thu, 06 Mar 2025 11:09:00 +0000
Received: by outflank-mailman (input) for mailman id 903355;
 Thu, 06 Mar 2025 11:08: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq963-0000aa-1m
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:08:59 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20604.outbound.protection.outlook.com
 [2a01:111:f403:2418::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6613471a-fa7b-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 12:08:58 +0100 (CET)
Received: from PH7PR17CA0008.namprd17.prod.outlook.com (2603:10b6:510:324::8)
 by CH3PR12MB7572.namprd12.prod.outlook.com (2603:10b6:610:144::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 11:08:51 +0000
Received: from CO1PEPF000066EB.namprd05.prod.outlook.com
 (2603:10b6:510:324:cafe::a2) by PH7PR17CA0008.outlook.office365.com
 (2603:10b6:510:324::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Thu,
 6 Mar 2025 11:08:51 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000066EB.mail.protection.outlook.com (10.167.249.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 11:08:50 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 05:08:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6613471a-fa7b-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RZvrj1ljjwHXUMZi/hrwY9TPxvLFIZqOc6kLrMMTxVp05w76hHfJoyD6Wrj2hot727o9tJ8TyWBQuj4kL+ATUD+ZBEUqZLo06F0nVm4k4QVe7RCslYXa1AtulH7rOl8pqW/vJUFyciv8eHWOrSk+6hYj1japyPVeu/QU5wZPqrYd6LotisYeztW7EsmGUvZdyt0mYLPA9/khcoG5a/4exHqs9Yy7S0Oea2FJOunMhoDxioZwSwCxOFU2N8VxF6RPx8N5ZD8jrHKI2tZaTxk1us5mHQ1YqBYIFGNH0vE+kjNX4Tc4tdJCx5Mc1NnTj2dOvyFyW89xNKuA/HYiFjYVmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rq7vU9w3neS35oOjCAPGIVLiBLKO/J0X0LYCQ7COV/I=;
 b=Agp3roJv4dmsLRQ7BhM/z4aGGltWxwsu5TF+n8pjaTjUTj/3L+n2tXkH8EYe1sRVl5QMT7VoB/GqJG4D9dFC5w8hjY6s2WT03Siajvoj4/V4Yq7Whq7ZM6S5pSuu3qnO/KtenchyD+k7v3L4SiUynJkKNOSpXrIhGNAKeKH4+pmxGeyj+5mWC0jsDaMI1zaoUJC0UDDsH82ZPQztkc5LFIF85n8D025nImR+zTBkVzTeLNJ3y1LjLS7zbJ6I4NbvEe8+93kyLIwwZOq3HbHgLYzpmnnLz9REPJdVIJERN1/KyMHl+jxnsjVZQkE+x2JBkrWIwnFVTWZJfI4K0hqKXA==
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=Rq7vU9w3neS35oOjCAPGIVLiBLKO/J0X0LYCQ7COV/I=;
 b=v9dpuE7t9VyThvhRFTtgsYET1UNs7lfeagq7ByR5oO/fOXqRwPOdjSYJEygtIv/7DmUbA8+FnkALEAvm07LtEbDKWets3ZDZjsECOJZ1AEvZouwKVh5L3e3AVNJpv2RzYwif7NJtTVxEegMt+IB4jJLzfmNb8hgyzqTS4qgcuDk=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v3 3/5] acpi/cppc: extract _cpc entry parsing logic
Date: Thu, 6 Mar 2025 19:08:22 +0800
Message-ID: <20250306110824.1506699-4-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306110824.1506699-1-Penny.Zheng@amd.com>
References: <20250306110824.1506699-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066EB:EE_|CH3PR12MB7572:EE_
X-MS-Office365-Filtering-Correlation-Id: 5de6d9a2-821c-48d5-6541-08dd5c9f468f
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?MsbVH3VvkL8LirultWvhMG9sbS9PF5m57FFFpUh9uycZKmr40EH0FhGhKnBV?=
 =?us-ascii?Q?za8DJRxsdj+RPiDodzTz0hx6fukpSIqdiNP0PLfRcRS16X3Lo+626L4S7gff?=
 =?us-ascii?Q?5MGooomIWm+Mi8g/vEEJa7GxWnl/JUPcBBO5AjSGXpnccB/uqlaj3VWHNGPI?=
 =?us-ascii?Q?q03jrEoR9dRxouHvHlfgDn+mB60hzz0u8rVuBWRQK+6yxc9/1s1AJPdc7urR?=
 =?us-ascii?Q?NHRN2sfv/h++DBPBr8Xo4V+tHDxf+m205mTUuGJ9T1ySGyD8bCRiEd5QvDG6?=
 =?us-ascii?Q?YTIH3B+RgayOH0HSWhtqIv1ev3cntWfajtGpVyRv3PNSvQ4tWWN6BLPe9FkM?=
 =?us-ascii?Q?47oRQVL8gzCam+w4P15rqdb88EYHb1XnqbpicjpZxm0dX95schqfDgwPOqA+?=
 =?us-ascii?Q?m2kUj0yXPGYg4h9/EqFkS23jq6zvvikormMGj/KB1W0A76X+GFbAkg2Vxz9c?=
 =?us-ascii?Q?0qGy+SF88cbr2Th+bblTNp5sDA2GnXLCvwzHejk+WEiBFQ2oKCbN3DjVQ3dy?=
 =?us-ascii?Q?qlNRcHbmnIfrUAqJ2278hCYCYT2B1yscBySO80Mjj2lqxdVaXQb+4jQrx4qz?=
 =?us-ascii?Q?KYZefpulYGasY6B9RrsRD8wg6Y+42l7Y6AQMUM+HjiddSAtFcuSjd2XgIGwt?=
 =?us-ascii?Q?EHk0kuw/U1pKHYt4w9S4xqTQ16V5aOYruFrC1+maRi+9DxIyezADLjnJcP87?=
 =?us-ascii?Q?2tcxmjPQH6vPePty0xgir7omzVAiK+7zAnyEley5Fa/bYLUiBNbPU7NUy4hT?=
 =?us-ascii?Q?AXmfeJNpSNGshKUf4AzreyWQSfeRjtUjMM4FXcm4tfsMQzjFFoiJjQooUtqa?=
 =?us-ascii?Q?oW2qw7QMkOKB69gWvVndIxmcp9GgyFOeZkyHG8G6Lnp6Toc6k0nf686F6N6A?=
 =?us-ascii?Q?jVBX7p3wAWI1ki107MRLaC9u27ivq7/cXkk2BklZJZsXaLhLYF38TlcDRXMm?=
 =?us-ascii?Q?aUmqbAlzrZl11WprkPfl3v8JUvMnYeDIY9lRGU4wV3ogMf3srVxrB5EtV1TF?=
 =?us-ascii?Q?r4fUEtM4xSl/QVyRjjHQxBjaPMy2rfUjIt6BO0IxOtsgjkwqyGjFtW80zF/5?=
 =?us-ascii?Q?MtZRR0BebRAVXaSZyjPLCv9ravlyw6yx0MAiKq6PMd5AHbstLUyHWTWm5Bu1?=
 =?us-ascii?Q?XXlif0jv3oF7PHW8OeR+fqPMcSjj7vTidSQG83te3YiZ9JRYO4PMnsr6+3rJ?=
 =?us-ascii?Q?uSFc4nvCo1ZboW7f7T390raFBw6i9sa1a8pNzAJpL6zagcLWBp/kV13h36S+?=
 =?us-ascii?Q?ZiRmGt6rHbmQOTB6aUWabqUykh0tjBuxLohLlBTX0Q5fw8B/tHxa8s5ecLWY?=
 =?us-ascii?Q?oSbzBdWQZUCIndJCY4Ci3xcC7rVXLkwLAkcYdZaYHylvuGOPoxWVvn23fwIO?=
 =?us-ascii?Q?4iB1fRdvHupxXYw8FclTYphiUPiu3c2sTDtVOKD9zMn1ztVxff6C9lujwM+g?=
 =?us-ascii?Q?ZStPVHV83HZHoOTnnPCdGdc9Nll+viSsu1QR62ZNSylFsHtVNrNW4xrsrDu2?=
 =?us-ascii?Q?3t08zWeZtR3qy9M=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 11:08:50.8117
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5de6d9a2-821c-48d5-6541-08dd5c9f468f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000066EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7572

When running as Xen dom0 PVH guest, MADT table is customized
and may have the "wrong" UID processor number, which is
inconsistent with the UID in Processor entry in native DSDT.

As a result, during ACPI boot-up for dom0, linux fails to set
up proper processor logical id <-> physical id map(acpi_map_cpuid).
Furthermore, It leads to that some ACPI processor feature data,
like per-cpu cpc_desc structure, failed to be correctly stored.

In order to re-parse _CPC entry later for delivering correct data
in performance hypercall, firstly, we extract parsing logic from
acpi_cppc_processor_probe() and export it as a new function
acpi_cppc_processor_parse().

Also, replace logical processor id with ACPI ID, to show correct print
info in Xen dom0 PVH guest.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- no change
---
 drivers/acpi/cppc_acpi.c | 93 +++++++++++++++++++++++-----------------
 1 file changed, 53 insertions(+), 40 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index f193e713825a..7832bebeb953 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -671,19 +671,11 @@ static int pcc_data_alloc(int pcc_ss_id)
  *  )
  */
 
-/**
- * acpi_cppc_processor_probe - Search for per CPU _CPC objects.
- * @pr: Ptr to acpi_processor containing this CPU's logical ID.
- *
- *	Return: 0 for success or negative value for err.
- */
-int acpi_cppc_processor_probe(struct acpi_processor *pr)
+static int acpi_cppc_processor_parse(struct acpi_processor *pr, struct cpc_desc *cpc_ptr)
 {
 	struct acpi_buffer output = {ACPI_ALLOCATE_BUFFER, NULL};
 	union acpi_object *out_obj, *cpc_obj;
-	struct cpc_desc *cpc_ptr;
 	struct cpc_reg *gas_t;
-	struct device *cpu_dev;
 	acpi_handle handle = pr->handle;
 	unsigned int num_ent, i, cpc_rev;
 	int pcc_subspace_id = -1;
@@ -702,31 +694,24 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 	status = acpi_evaluate_object_typed(handle, "_CPC", NULL, &output,
 			ACPI_TYPE_PACKAGE);
 	if (ACPI_FAILURE(status)) {
-		ret = -ENODEV;
-		goto out_buf_free;
+		return -ENODEV;
 	}
 
 	out_obj = (union acpi_object *) output.pointer;
 
-	cpc_ptr = kzalloc(sizeof(struct cpc_desc), GFP_KERNEL);
-	if (!cpc_ptr) {
-		ret = -ENOMEM;
-		goto out_buf_free;
-	}
-
 	/* First entry is NumEntries. */
 	cpc_obj = &out_obj->package.elements[0];
 	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
 		num_ent = cpc_obj->integer.value;
 		if (num_ent <= 1) {
 			pr_debug("Unexpected _CPC NumEntries value (%d) for CPU:%d\n",
-				 num_ent, pr->id);
-			goto out_free;
+				 num_ent, pr->acpi_id);
+			goto out_pointer;
 		}
 	} else {
 		pr_debug("Unexpected _CPC NumEntries entry type (%d) for CPU:%d\n",
-			 cpc_obj->type, pr->id);
-		goto out_free;
+			 cpc_obj->type, pr->acpi_id);
+		goto out_pointer;
 	}
 
 	/* Second entry should be revision. */
@@ -735,14 +720,14 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 		cpc_rev = cpc_obj->integer.value;
 	} else {
 		pr_debug("Unexpected _CPC Revision entry type (%d) for CPU:%d\n",
-			 cpc_obj->type, pr->id);
-		goto out_free;
+			 cpc_obj->type, pr->acpi_id);
+		goto out_pointer;
 	}
 
 	if (cpc_rev < CPPC_V2_REV) {
 		pr_debug("Unsupported _CPC Revision (%d) for CPU:%d\n", cpc_rev,
-			 pr->id);
-		goto out_free;
+			 pr->acpi_id);
+		goto out_pointer;
 	}
 
 	/*
@@ -754,8 +739,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 	    (cpc_rev == CPPC_V3_REV && num_ent != CPPC_V3_NUM_ENT) ||
 	    (cpc_rev > CPPC_V3_REV && num_ent <= CPPC_V3_NUM_ENT)) {
 		pr_debug("Unexpected number of _CPC return package entries (%d) for CPU:%d\n",
-			 num_ent, pr->id);
-		goto out_free;
+			 num_ent, pr->acpi_id);
+		goto out_pointer;
 	}
 	if (cpc_rev > CPPC_V3_REV) {
 		num_ent = CPPC_V3_NUM_ENT;
@@ -789,7 +774,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 						goto out_free;
 				} else if (pcc_subspace_id != gas_t->access_width) {
 					pr_debug("Mismatched PCC ids in _CPC for CPU:%d\n",
-						 pr->id);
+						 pr->acpi_id);
 					goto out_free;
 				}
 			} else if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
@@ -844,7 +829,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 			memcpy(&cpc_ptr->cpc_regs[i-2].cpc_entry.reg, gas_t, sizeof(*gas_t));
 		} else {
 			pr_debug("Invalid entry type (%d) in _CPC for CPU:%d\n",
-				 i, pr->id);
+				 i, pr->acpi_id);
 			goto out_free;
 		}
 	}
@@ -860,6 +845,45 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 		cpc_ptr->cpc_regs[i].cpc_entry.int_value = 0;
 	}
 
+	pr_debug("Parsed _CPC entry for CPU: %d\n", pr->acpi_id);
+	kfree(output.pointer);
+	return 0;
+
+ out_free:
+	/* Free all the mapped sys mem areas for this CPU */
+	for (i = 2; i < cpc_ptr->num_entries; i++) {
+		void __iomem *addr = cpc_ptr->cpc_regs[i-2].sys_mem_vaddr;
+
+		if (addr)
+			iounmap(addr);
+	}
+ out_pointer:
+	kfree(output.pointer);
+	return ret;
+}
+
+/**
+ * acpi_cppc_processor_probe - Search for per CPU _CPC objects.
+ * @pr: Ptr to acpi_processor containing this CPU's logical ID.
+ *
+ *	Return: 0 for success or negative value for err.
+ */
+int acpi_cppc_processor_probe(struct acpi_processor *pr)
+{
+	acpi_handle handle = pr->handle;
+	struct cpc_desc *cpc_ptr;
+	struct device *cpu_dev;
+	int pcc_subspace_id = -1;
+	int ret = -ENODATA;
+
+	cpc_ptr = kzalloc(sizeof(struct cpc_desc), GFP_KERNEL);
+	if (!cpc_ptr)
+		return -ENOMEM;
+
+	ret = acpi_cppc_processor_parse(pr, cpc_ptr);
+	if (ret)
+		goto out_free;
+	pcc_subspace_id = per_cpu(cpu_pcc_subspace_idx, pr->id);
 
 	/* Store CPU Logical ID */
 	cpc_ptr->cpu_id = pr->id;
@@ -901,21 +925,10 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 		goto out_free;
 	}
 
-	kfree(output.pointer);
 	return 0;
 
 out_free:
-	/* Free all the mapped sys mem areas for this CPU */
-	for (i = 2; i < cpc_ptr->num_entries; i++) {
-		void __iomem *addr = cpc_ptr->cpc_regs[i-2].sys_mem_vaddr;
-
-		if (addr)
-			iounmap(addr);
-	}
 	kfree(cpc_ptr);
-
-out_buf_free:
-	kfree(output.pointer);
 	return ret;
 }
 EXPORT_SYMBOL_GPL(acpi_cppc_processor_probe);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:09:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903356.1311294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq966-0001bd-KU; Thu, 06 Mar 2025 11:09:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903356.1311294; Thu, 06 Mar 2025 11: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 1tq966-0001bW-Gl; Thu, 06 Mar 2025 11:09:02 +0000
Received: by outflank-mailman (input) for mailman id 903356;
 Thu, 06 Mar 2025 11:09: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq964-0000aa-Rk
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:09:00 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2415::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 66f25704-fa7b-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 12:08:59 +0100 (CET)
Received: from MW4PR03CA0005.namprd03.prod.outlook.com (2603:10b6:303:8f::10)
 by MN6PR12MB8516.namprd12.prod.outlook.com (2603:10b6:208:46f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 11:08:53 +0000
Received: from CO1PEPF000066E8.namprd05.prod.outlook.com
 (2603:10b6:303:8f:cafe::76) by MW4PR03CA0005.outlook.office365.com
 (2603:10b6:303:8f::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 11:08:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000066E8.mail.protection.outlook.com (10.167.249.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 11:08:53 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 05:08:50 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66f25704-fa7b-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GWRF+dz6NCOStVi+W0bwP+VSnBvQixlqKnFteps8a6NgpQgxw2vLjVAJbStUdaR1+u2k7ixso01GPBPijl3Js53FSE8oT3AYMrhm9s/lMzBHe/2JE+pOS2dh82cy+zrNBkA1j8xsjBaBaR402+yjDahONectdSR9EMpYX2unMJFQJhnFEl3KcnVDcW6i6ou4sT+0HbqxpFKvJpRSk8oOxPRtNh/lP3KCE3A/uCrhGwgTIwvzJvHqSlER7D6ZSbUzzYvsKxJFhQ3nY6+qeGEWCIkXGSqUcuAuF5E6lIUN4N5NShX5mZQXVmPp2wgIQmSrmZLqflGVRCmy4PZro9smKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0ZRxKjwyMiSYNUhMY1N3tzoMlUFhuT5YHU4ioGA+va0=;
 b=yYeXuOSjXrUOYWja//Ge5+cYdTEk7kUw6Pi9YuwYSFL07rPi+XveYg8k8wqfD3iNl5zxoQdUTajxPaSXyJ8yp+ks1I9y1FnuJbc3oOgzvHIy9+ZdkFmQ2hZgIBu9Jldl1v/FlOaYjPtKZ/GweIF6he4mJkxXHi0T9S7QOJTzwbhQvmqZeVqxMDWEGKA2hrM+tp6GeCSBQSgJOlu+S6WVWTBLs2QySCabqN6FBAeERW8+AU1qO4ljXkL4XG9t4emOVPszrYbPBbUA3RQ+7PCLRfIw6Ochmpheg6jleALN6mYqMusd+ByzszKPMcGdVvji7qy3i1rpZuBtb0yhxYYtTw==
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=0ZRxKjwyMiSYNUhMY1N3tzoMlUFhuT5YHU4ioGA+va0=;
 b=WcH7BNYn3PQat97AuH44GBFmTcQl0Ylwj0nr3tlr+IjryFkmbTk4snVfYbEIdI0UgTg6Bim0QL+63wGB/YKpNOuDerjKX0mB6++yfQk+bsI8tV2DIrUKZlc4oGAIKt/E+kn2XMJ/TIxPvnIYjNaQ2SyJN3qSJrSxOarVUNmNCds=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v3 4/5] xen/cppc: get xen-required cppc perf caps data
Date: Thu, 6 Mar 2025 19:08:23 +0800
Message-ID: <20250306110824.1506699-5-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306110824.1506699-1-Penny.Zheng@amd.com>
References: <20250306110824.1506699-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066E8:EE_|MN6PR12MB8516:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a480329-5f26-45fd-1c84-08dd5c9f480e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?/QHqUcqO1YAxFun7RLHrTs1TpmMzVdRq8EkY4J+2TsSF7ZFhjvTJzn9F8N52?=
 =?us-ascii?Q?FGibGHXUueo5wY+xYEvg0Ly17qPZv9XJ77tcN3BSYQdTCGX+S1ZR+2DAQwFG?=
 =?us-ascii?Q?oHPPlae4y2ZqmqE+Wav2aKM21j9IiEeyzarLwT8ObHuCHAxDJv8+O5zyXAf8?=
 =?us-ascii?Q?jdz+ITsmtMFayx0qG3w7LD8+tcHlQGnwHujMUhW5HHFEkLquKcqfAKVDbzsM?=
 =?us-ascii?Q?rqNSRxqB/eAkVMQN/ikhu9rUpGeVIEdCdPM7VG7KOEjNHSaPCE1+l8SG680R?=
 =?us-ascii?Q?hKsEx943yZZ+/G4V27nfqw5YTvkKDRiPuiqPdnhK4NUEh2xUQmHL9iyGrEU5?=
 =?us-ascii?Q?BRLuusjVX2A5EW11/dEPQnrl/UV1wMjUj2YF74sKHUOpfo4ciByNWT3aMGbU?=
 =?us-ascii?Q?M3TYKWneHfRDD6Ca3JV6zOjBA6Y6JTUVq88JfuEnGzANi3iP6ajSxWUsnrHm?=
 =?us-ascii?Q?f7BDECJBnIa47dDahmRPgouo7AIrWkki3ceyY9LIhMGzzgWRCuTi6TV32Qjn?=
 =?us-ascii?Q?MCK73gJGEDEd//YhBZK7OI51QbtgppcXyvt5018AhM4Aq1zVCARanqCj45Xv?=
 =?us-ascii?Q?I4U7ziSvpuprM5r2GhH+Ujq9Sl37+kBsizpqf3Qq3JjrEQO4KdyXckqXdmhi?=
 =?us-ascii?Q?lszxvxSJP1R+Sud9o1QPMa6wLM0mrxJVBxuynoU+JDifhW0Jb3trMNr9+l0V?=
 =?us-ascii?Q?GKFFDE+lu99+gujH+G1RInCiytxzK0ROzoaG7P1YYO8VeyTS6UNxd0GXhpxq?=
 =?us-ascii?Q?nSQiGKEbpjS/RVj/fJRSYLcH7BMClhG6xw6K8fRTG2TivzHQb9t4bgcrlpjq?=
 =?us-ascii?Q?/ozY5yJUiO2WpPCmpC+sF+f0bhmom0b3QTtb+tf0+TbBlY1IhMTyzEKoYPRF?=
 =?us-ascii?Q?j0TziGkdUmj+M4525Jvue2WAuYQbDjUOknan9cLuo9FFCsFgeUDByOQCgn23?=
 =?us-ascii?Q?jwsim0iv0hQdxakpXYKp5aMw6LvyKqRyMbywIgMudI0JF636Db0oJA15M1o/?=
 =?us-ascii?Q?Xz19lOXppc1iNoqSZh9XGvk+o1Av+hJc6IzwMfWwWcDlCqqLt6NKUAPB8BA6?=
 =?us-ascii?Q?GKjBn6pxkNYISXVMkfo2FSRaQ6re9iLP6IhBqwhWnv34Qhiz9BIoaoTA155v?=
 =?us-ascii?Q?FvS9EcZDpVV4Pp8TTPjDrXuvMGRlF4uQMsZCl1rlofw5prHH/4CAYiTiONlM?=
 =?us-ascii?Q?DbBn8awozPtrrI1FX53RjwF/1axJ2Dp8k/oxoFT4JR+I4Z4xV4Hx6mCQw7Yc?=
 =?us-ascii?Q?FKmXXqsip9ABC+rcj8q8rpY7yFc4yZjeTBiZtvuaVnPIF8DpdmG009DyngLY?=
 =?us-ascii?Q?FlUp4wWVV6i/OzdCnOKv8X0YuYIrKA80yIJr1oYBGH0OCedtV3CxOzs742Ws?=
 =?us-ascii?Q?VPhmjWsnhIlO4dIqVgx4t2dQqrykvH7M7Ti4X6Q2vLHwMS4CXJ8F8IN4UNvO?=
 =?us-ascii?Q?ZU+5jPOXAHWN8qCcmEPnu38U1wbhCTJIwCf0ebsn0h4VNQEzKIBCvAfq5MpV?=
 =?us-ascii?Q?7quNYmLVEGAZbTU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 11:08:53.3043
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a480329-5f26-45fd-1c84-08dd5c9f480e
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000066E8.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8516

When running as Xen dom0 PVH guest, processor logical id <-> physical
id map could not be properly set up. So the original function
cppc_get_perf_caps() fails to get correct cppc data for Xen ACPI
processor.

A new function xen_processor_get_perf_caps() is introduced to
get xen-required cppc perf caps data.

Also, as Xen couldn't read and process PCC-type register, this commit
includes a new flag pcc_unsupported in struct acpi_processor_flags to
tell whether platform supports PCC-type register.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- no change
---
 drivers/acpi/cppc_acpi.c | 110 +++++++++++++++++++++++++++++++++++----
 include/acpi/cppc_acpi.h |   5 ++
 include/acpi/processor.h |   1 +
 3 files changed, 105 insertions(+), 11 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 7832bebeb953..ee8015ce3ddf 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -768,6 +768,15 @@ static int acpi_cppc_processor_parse(struct acpi_processor *pr, struct cpc_desc
 			 * so extract it only once.
 			 */
 			if (gas_t->space_id == ACPI_ADR_SPACE_PLATFORM_COMM) {
+				/*
+				 * When ACPI processor represents Xen processor, PCC register type
+				 * could not be properly read and processed right now, as logical
+				 * processor doesn't always have 1:1 map relation to physical processor.
+				 */
+				if (pr->flags.pcc_unsupported) {
+					pr_debug("Unsupported PCC register type:%d\n", pr->acpi_id);
+					goto out_free;
+				}
 				if (pcc_subspace_id < 0) {
 					pcc_subspace_id = gas_t->access_width;
 					if (pcc_data_alloc(pcc_subspace_id))
@@ -833,7 +842,9 @@ static int acpi_cppc_processor_parse(struct acpi_processor *pr, struct cpc_desc
 			goto out_free;
 		}
 	}
-	per_cpu(cpu_pcc_subspace_idx, pr->id) = pcc_subspace_id;
+
+	if (!pr->flags.pcc_unsupported)
+		per_cpu(cpu_pcc_subspace_idx, pr->id) = pcc_subspace_id;
 
 	/*
 	 * Initialize the remaining cpc_regs as unsupported.
@@ -1012,8 +1023,7 @@ int __weak cpc_write_ffh(int cpunum, struct cpc_reg *reg, u64 val)
 static int cpc_read(int cpu, struct cpc_register_resource *reg_res, u64 *val)
 {
 	void __iomem *vaddr = NULL;
-	int size;
-	int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu);
+	int size, pcc_ss_id;
 	struct cpc_reg *reg = &reg_res->cpc_entry.reg;
 
 	if (reg_res->type == ACPI_TYPE_INTEGER) {
@@ -1039,14 +1049,17 @@ static int cpc_read(int cpu, struct cpc_register_resource *reg_res, u64 *val)
 
 		*val = val_u32;
 		return 0;
-	} else if (reg->space_id == ACPI_ADR_SPACE_PLATFORM_COMM && pcc_ss_id >= 0) {
-		/*
-		 * For registers in PCC space, the register size is determined
-		 * by the bit width field; the access size is used to indicate
-		 * the PCC subspace id.
-		 */
-		size = reg->bit_width;
-		vaddr = GET_PCC_VADDR(reg->address, pcc_ss_id);
+	} else if (reg->space_id == ACPI_ADR_SPACE_PLATFORM_COMM) {
+		pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu);
+		if (pcc_ss_id >= 0) {
+			/*
+			 * For registers in PCC space, the register size is determined
+			 * by the bit width field; the access size is used to indicate
+			 * the PCC subspace id.
+			 */
+			size = reg->bit_width;
+			vaddr = GET_PCC_VADDR(reg->address, pcc_ss_id);
+		}
 	}
 	else if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY)
 		vaddr = reg_res->sys_mem_vaddr;
@@ -1278,6 +1291,81 @@ int cppc_get_epp_perf(int cpunum, u64 *epp_perf)
 }
 EXPORT_SYMBOL_GPL(cppc_get_epp_perf);
 
+
+int xen_processor_get_perf_caps(struct acpi_processor *pr, struct cppc_perf_caps *perf_caps)
+{
+	struct cpc_desc *cpc_ptr;
+	struct cpc_register_resource *highest_reg, *lowest_reg,
+		*lowest_non_linear_reg, *nominal_reg,
+		*low_freq_reg = NULL, *nom_freq_reg = NULL;
+	u64 high, low, nom, min_nonlinear, low_f = 0, nom_f = 0;
+	int ret = 0;
+
+	cpc_ptr = kzalloc(sizeof(struct cpc_desc), GFP_KERNEL);
+	if (!cpc_ptr)
+		return -ENOMEM;
+
+	ret = acpi_cppc_processor_parse(pr, cpc_ptr);
+	if (ret)
+		goto err;
+
+	highest_reg = &cpc_ptr->cpc_regs[HIGHEST_PERF];
+	lowest_reg = &cpc_ptr->cpc_regs[LOWEST_PERF];
+	lowest_non_linear_reg = &cpc_ptr->cpc_regs[LOW_NON_LINEAR_PERF];
+	nominal_reg = &cpc_ptr->cpc_regs[NOMINAL_PERF];
+	low_freq_reg = &cpc_ptr->cpc_regs[LOWEST_FREQ];
+	nom_freq_reg = &cpc_ptr->cpc_regs[NOMINAL_FREQ];
+
+	/* Are any of the regs PCC ?*/
+	if (CPC_IN_PCC(highest_reg) || CPC_IN_PCC(lowest_reg) ||
+		CPC_IN_PCC(lowest_non_linear_reg) || CPC_IN_PCC(nominal_reg) ||
+		CPC_IN_PCC(low_freq_reg) || CPC_IN_PCC(nom_freq_reg)) {
+		pr_debug("Unsupported register type read for Xen Processor %d,"
+			 "highest_reg in PCC: %s, lowest_reg in PCC: %s,"
+			 "lowest_non_linear_reg in PCC: %s, nominal_reg in PCC: %s,"
+			 "low_freq_reg in PCC: %s, nom_freq_reg in PCC: %s\n",
+			 pr->acpi_id, CPC_IN_PCC(highest_reg) ? "true" : "false",
+			 CPC_IN_PCC(lowest_reg) ? "true" : "false",
+			 CPC_IN_PCC(lowest_non_linear_reg) ? "true" : "false",
+			 CPC_IN_PCC(nominal_reg) ? "true" : "false",
+			 CPC_IN_PCC(low_freq_reg) ? "true" : "false",
+			 CPC_IN_PCC(nom_freq_reg) ? "true" : "false");
+		goto err;
+	}
+
+	cpc_read(pr->acpi_id, highest_reg, &high);
+	perf_caps->highest_perf = high;
+
+	cpc_read(pr->acpi_id, lowest_reg, &low);
+	perf_caps->lowest_perf = low;
+
+	cpc_read(pr->acpi_id, nominal_reg, &nom);
+	perf_caps->nominal_perf = nom;
+
+	cpc_read(pr->id, lowest_non_linear_reg, &min_nonlinear);
+	perf_caps->lowest_nonlinear_perf = min_nonlinear;
+
+	if (!high || !low || !nom || !min_nonlinear)
+		pr_warn("CPPC: read zero cpc register value for Xen Processor %d"
+			"highest_reg: %llu, lowest_reg: %llu"
+			"nominal_reg: %llu, lowest_non_linear_reg: %llu\n",
+			pr->acpi_id, high, low, nom, min_nonlinear);
+
+	/* Read optional lowest and nominal frequencies if present */
+	if (CPC_SUPPORTED(low_freq_reg))
+		cpc_read(pr->acpi_id, low_freq_reg, &low_f);
+
+	if (CPC_SUPPORTED(nom_freq_reg))
+		cpc_read(pr->acpi_id, nom_freq_reg, &nom_f);
+
+	perf_caps->lowest_freq = low_f;
+	perf_caps->nominal_freq = nom_f;
+
+ err:
+	kfree(cpc_ptr);
+	return ret;
+}
+EXPORT_SYMBOL_GPL(xen_processor_get_perf_caps);
 /**
  * cppc_get_perf_caps - Get a CPU's performance capabilities.
  * @cpunum: CPU from which to get capabilities info.
diff --git a/include/acpi/cppc_acpi.h b/include/acpi/cppc_acpi.h
index 62d368bcd9ec..dcf129ec540f 100644
--- a/include/acpi/cppc_acpi.h
+++ b/include/acpi/cppc_acpi.h
@@ -164,6 +164,7 @@ extern int cppc_set_auto_sel(int cpu, bool enable);
 extern int amd_get_highest_perf(unsigned int cpu, u32 *highest_perf);
 extern int amd_get_boost_ratio_numerator(unsigned int cpu, u64 *numerator);
 extern int amd_detect_prefcore(bool *detected);
+extern int xen_processor_get_perf_caps(struct acpi_processor *pr, struct cppc_perf_caps *perf_caps);
 #else /* !CONFIG_ACPI_CPPC_LIB */
 static inline int cppc_get_desired_perf(int cpunum, u64 *desired_perf)
 {
@@ -249,6 +250,10 @@ static inline int amd_detect_prefcore(bool *detected)
 {
 	return -ENODEV;
 }
+static inline int xen_processor_get_perf_caps(struct acpi_processor *pr, struct cppc_perf_caps *perf_caps)
+{
+	return -ENOTSUPP;
+}
 #endif /* !CONFIG_ACPI_CPPC_LIB */
 
 #endif /* _CPPC_ACPI_H*/
diff --git a/include/acpi/processor.h b/include/acpi/processor.h
index a17e97e634a6..1decb437c750 100644
--- a/include/acpi/processor.h
+++ b/include/acpi/processor.h
@@ -214,6 +214,7 @@ struct acpi_processor_flags {
 	u8 bm_control:1;
 	u8 bm_check:1;
 	u8 has_cst:1;
+	u8 pcc_unsupported:1;
 	u8 has_lpi:1;
 	u8 power_setup_done:1;
 	u8 bm_rld_set:1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:09:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903360.1311305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq96A-0001xF-4m; Thu, 06 Mar 2025 11:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903360.1311305; Thu, 06 Mar 2025 11: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 1tq96A-0001x6-1d; Thu, 06 Mar 2025 11:09:06 +0000
Received: by outflank-mailman (input) for mailman id 903360;
 Thu, 06 Mar 2025 11:09: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=jWYO=VZ=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tq968-0000aQ-Iy
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:09:04 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20603.outbound.protection.outlook.com
 [2a01:111:f403:2009::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6827042f-fa7b-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 12:09:01 +0100 (CET)
Received: from MW4PR04CA0169.namprd04.prod.outlook.com (2603:10b6:303:85::24)
 by SJ1PR12MB6316.namprd12.prod.outlook.com (2603:10b6:a03:455::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 11:08:56 +0000
Received: from CO1PEPF000066E7.namprd05.prod.outlook.com
 (2603:10b6:303:85:cafe::30) by MW4PR04CA0169.outlook.office365.com
 (2603:10b6:303:85::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.29 via Frontend Transport; Thu,
 6 Mar 2025 11:08:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000066E7.mail.protection.outlook.com (10.167.249.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 11:08:55 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 6 Mar 2025 05:08:52 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6827042f-fa7b-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pLq3Oqe6PQkaHOqxgUIZJVVtLTcc3aUYPdz/Y/Xn7/jCXjO7H7C2O9Koy0APaEOdoIUG9gc88Hj7JAeZRgbmxfL3rGUqMAdmUaWRcYFEN/PgDFi05+Mxd9JoI/ud7ikPRKv/TH1H921H/xf09DmrWi/UWSozxwT4DZNp17qf3m59g0UkUfDxp1cxFwrl7LG6nCW7lTpkR6un3Tw2wyfD3YF6shO8hEzkOtev2162L1IBFZqtF3cTX/aBVIKiT0LdQJU4756oL2Whtiq/nuoatgqig7abpcDdXH5gkqIgRov2xLGeLP8LIaewkLAzLxYvDi0CwQXZjgjGQdKAV1Bz0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yHUIRi0jHL+VKEOq7A4wC/l3NWO1LytHjAeyNXEqji0=;
 b=rJfGhaKUpI83uZ4wim+wXGgC9qH34WQHU5tekoj6ivW76jiWUHuOPlfOxPOWWFRrAaRPomkxVXG+HOfHtR0mhzRoDQKuO4MHV/96WK8f1UUQYPXgkxuPOkm0Gp6SUu6T/BngOSMTKWqIem8gAaNp4AU+eN7PSFOIEKWLN7iokZQUdpn/a32SVuUFw4eJYe49FVnmGwLL5ubreQSlYsWMLHRg71zuZtuzIh7RuGRAivNOYMQ6YldjZBjUOCZCf9m8ZarVAksTIos1wxn5YHTkCbMX5YO08yUtuPzIk3Ce8gj+SnloGp1fr0IztwkiNydoyHZog5EB7xN5IaD8ppAnSw==
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=yHUIRi0jHL+VKEOq7A4wC/l3NWO1LytHjAeyNXEqji0=;
 b=POwpDWlbvvw8FhKHvQyi4201VDy0/DeSeVKd62nbiHJ68ySf/HyNdlZm6HnWzi0K2w2X8bRyB2Y82uWZHINOnynHT53I6R6+zLMlu1D4hGmM7aQpsEhol+lvel7VSycsRjt7gIm9E6oTCBegivi8ARFLn7W/zL5Fo3adxZT0T1k=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v3 5/5] xen/cppc: introduce cppc data upload sub-hypercall
Date: Thu, 6 Mar 2025 19:08:24 +0800
Message-ID: <20250306110824.1506699-6-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250306110824.1506699-1-Penny.Zheng@amd.com>
References: <20250306110824.1506699-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066E7:EE_|SJ1PR12MB6316:EE_
X-MS-Office365-Filtering-Correlation-Id: 50e54340-d5e6-4b12-4088-08dd5c9f498d
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?Z4l3lhxdL8FwebKIeKarDw6pIaLeW8J/Om5VdXdtq16RabP5avdgFqM6VC7Z?=
 =?us-ascii?Q?TPJMASCw2Sc/IcyuOT+unn57EyAkus/5vE0CzCOTrGv8bX2Nfs/jl0F7hbQa?=
 =?us-ascii?Q?s3VH9E61vZu6I03U/shyS+C5EVFR2sWAuw0EQAli8oehmrtKmW2med40+aGq?=
 =?us-ascii?Q?kGz9PrzKCgxmPxt+3jhKKrzhrqaO7eD22Vut9OxB3GH5jChYykCgrL57EqDy?=
 =?us-ascii?Q?hCFxJR7uAMocHM3MmcrTca+LkJ4JNXNpi2qT0zR1eEcSCYvtx3T5uA8UJP7W?=
 =?us-ascii?Q?hLyCjUJ7uZVjnZpMB6C/TVcRv/H19jYRR4O8Fk4O6Zcil+wqRz6TAPxtrwU1?=
 =?us-ascii?Q?3y5vWXI5VogD7RkJH6kRq+XxRkN+ZAK+ANhrzb9Zn3XyHYmQlK75Qgq3bdvt?=
 =?us-ascii?Q?u1/mPIuOwSK1NAbkB5MenEfc816YRjOHGPv5EZKoSB3+cuIXZ95DqDWK+Enl?=
 =?us-ascii?Q?QmH81ZQdbAyD8O03ZYBMQSwBCyHXGbQeMhPRr/u8hWvGRaAoSzIn2+RHU4BT?=
 =?us-ascii?Q?GhIt7wTI5oB9ISh6Hhd6d631Pp8/KF/Mch0DNlmz5G4SaFzFtg4cGAeGQGRi?=
 =?us-ascii?Q?cAYFCv085tg5RJRx1SFrlBBRMmJcOBIxkk73Zh0mWuUsmPdSfxouUIh0tL7/?=
 =?us-ascii?Q?wg1GTexrZ+yLatYE4s6HOtf1JroCPj6QfojmxWql4iJITgbuBXYDv25zoqnG?=
 =?us-ascii?Q?EHgdsTVNyyKGQI17Nu+ZGQO6VIQkJvD3GuPB+iTLyIEnLL8e2rMWK3jDWKgo?=
 =?us-ascii?Q?G2JK+naA0JqLyW+5AYjxFXVOIrSbdw8DFLCIh1EuxvesQ5Zr2TnKYGilhPJC?=
 =?us-ascii?Q?+PSXhyl9w6U4/LacOO7gwtrsyV3hjlqLj5dkSDaVndhdsY+KUBVeJwuSFpat?=
 =?us-ascii?Q?FysvSe9wXfmD8M0Kkfpu2WQm8Z3NUJYyqPOMBdiegFhQRZp6lSG4pWLHM9rT?=
 =?us-ascii?Q?YJnoAsnNiqjpL6WRghS43XG5rkmr9QUW4FTjwh/86Hnud+oQR13KYv3V5Oav?=
 =?us-ascii?Q?z6Iyx1dKW7LRVHjaqZbc85et60R17nmfyd6Is5xMfirolX2IOnvFpxknbtAf?=
 =?us-ascii?Q?+w0IxFysfEJxpoo/I9jTzI1sgACAt7a929mlYbrOGVLq93fhKr/1K8CifCb3?=
 =?us-ascii?Q?4Kuv+pwzpe86Uwqdee8rnB38mgPd6BiLLvluZoaRQpwU74bf3ucXRoBUZmLQ?=
 =?us-ascii?Q?UiBbDWE2FGc1LOegJDcqTkdFG2I4J0IY1Ht6PqNngFQ+77sLcwVyLbfDiwpO?=
 =?us-ascii?Q?v04uECNhg4TQvS6nT8Ba1C6n7B/01/+9lQ5kzR8nO0E3uC467BdO2e2O4Fqv?=
 =?us-ascii?Q?apeCUNEV4oZIIlHqgkNnY9Sc1Zg5uFpBI10qb4qGpy/O9mE0OhnpmRxn0rXS?=
 =?us-ascii?Q?9EGCfWqEBIik8Tpd08BGEXtYXaJ4fQHfCFr/ud/vwknuAEY6XpAJ3Q88SeQG?=
 =?us-ascii?Q?A0/+z7BveEZ4RErVmDlq3rdGHHdUjVsb5HYpuqs4aPivrmv6PnUUCwnPInlQ?=
 =?us-ascii?Q?MhMQJQq2q0dDHi0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 11:08:55.8309
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 50e54340-d5e6-4b12-4088-08dd5c9f498d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000066E7.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6316

As Xen is uncapable of parsing the ACPI dynamic table, this commit
introduces a new sub-hypercall XEN_PM_CPPC to deliver CPPC perf
caps data.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- Adapt to the changes from new commit "xen: introduces XEN_PM_PSD
sub-hypercall for solely delivery of _PSD info"
---
 drivers/acpi/cppc_acpi.c         |  1 +
 drivers/xen/xen-acpi-processor.c | 92 +++++++++++++++++++++++++++++++-
 include/acpi/processor.h         |  1 +
 include/xen/interface/platform.h | 11 ++++
 4 files changed, 103 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index ee8015ce3ddf..6b1c8d167405 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -856,6 +856,7 @@ static int acpi_cppc_processor_parse(struct acpi_processor *pr, struct cpc_desc
 		cpc_ptr->cpc_regs[i].cpc_entry.int_value = 0;
 	}
 
+	pr->flags.has_cpc = 1;
 	pr_debug("Parsed _CPC entry for CPU: %d\n", pr->acpi_id);
 	kfree(output.pointer);
 	return 0;
diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index 8db8631a4b9d..9c4faad043bc 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -25,6 +25,7 @@
 #include <xen/xen.h>
 #include <xen/interface/platform.h>
 #include <asm/xen/hypercall.h>
+#include <acpi/cppc_acpi.h>
 
 static int no_hypercall;
 MODULE_PARM_DESC(off, "Inhibit the hypercall.");
@@ -45,8 +46,12 @@ static unsigned long *acpi_ids_done;
 static unsigned long *acpi_id_present;
 /* And if there is an _CST definition (or a PBLK) for the ACPI IDs */
 static unsigned long *acpi_id_cst_present;
+/* And if there is an _CPC entry for the ACPI IDs */
+static unsigned long *acpi_id_cpc_present;
 /* Which ACPI P-State dependencies for a enumerated processor */
 static struct acpi_psd_package *acpi_psd;
+/* ACPI CPPC structures for a enumerated processor */
+static struct cppc_perf_caps *acpi_cppc_data;
 
 static bool pr_initialized;
 
@@ -228,6 +233,44 @@ static int push_psd_to_hypervisor(struct acpi_processor *_pr)
 
 	return 0;
 }
+static int push_cppc_to_hypervisor(struct acpi_processor *_pr)
+{
+	int ret = 0;
+	struct xen_platform_op op = {
+		.cmd            = XENPF_set_processor_pminfo,
+		.interface_version  = XENPF_INTERFACE_VERSION,
+		.u.set_pminfo.id    = _pr->acpi_id,
+		.u.set_pminfo.type  = XEN_PM_CPPC,
+	};
+	const struct cppc_perf_caps *cppc_perf = acpi_cppc_data + _pr->acpi_id;
+
+	op.u.set_pminfo.cppc_data.highest_perf = cppc_perf->highest_perf;
+	op.u.set_pminfo.cppc_data.lowest_perf = cppc_perf->lowest_perf;
+	op.u.set_pminfo.cppc_data.nominal_perf = cppc_perf->nominal_perf;
+	op.u.set_pminfo.cppc_data.lowest_nonlinear_perf = cppc_perf->lowest_nonlinear_perf;
+	op.u.set_pminfo.cppc_data.lowest_freq = cppc_perf->lowest_freq;
+	op.u.set_pminfo.cppc_data.nominal_freq = cppc_perf->nominal_freq;
+
+	if (!no_hypercall)
+		ret = HYPERVISOR_platform_op(&op);
+
+	if (!ret) {
+		pr_debug("ACPI CPU%u - CPPC uploaded.\n", _pr->acpi_id);
+		pr_debug("     highest_perf: %d\n", cppc_perf->highest_perf);
+		pr_debug("     lowest_perf: %d\n", cppc_perf->lowest_perf);
+		pr_debug("     lowest_nonlinear_perf: %d\n", cppc_perf->lowest_nonlinear_perf);
+		pr_debug("     nominal_perf: %d\n", cppc_perf->nominal_perf);
+		pr_debug("     lowest_freq: %d Mhz\n", cppc_perf->lowest_freq);
+		pr_debug("     nominal_freq: %d Mhz\n", cppc_perf->nominal_freq);
+	} else if ((ret != -EINVAL) && (ret != -ENOSYS))
+		/* EINVAL means the ACPI ID is incorrect - meaning the ACPI
+		 * table is referencing a non-existing CPU - which can happen
+		 * with broken ACPI tables. */
+		pr_warn("(_CPC): Hypervisor error (%d) for ACPI CPU%u\n",
+			ret, _pr->acpi_id);
+
+		return ret;
+}
 static int push_pxx_to_hypervisor(struct acpi_processor *_pr)
 {
 	int ret = 0;
@@ -300,12 +343,16 @@ static int upload_pm_data(struct acpi_processor *_pr)
 		return -EBUSY;
 	}
 
-	if (_pr->performance && _pr->performance->states)
+	if ((_pr->performance && _pr->performance->states) ||
+	    _pr->flags.has_cpc)
 		err |= push_psd_to_hypervisor(_pr);
 
 	if (_pr->flags.power)
 		err = push_cxx_to_hypervisor(_pr);
 
+	if (_pr->flags.has_cpc)
+		err |= push_cppc_to_hypervisor(_pr);
+
 	if (_pr->performance && _pr->performance->states)
 		err |= push_pxx_to_hypervisor(_pr);
 
@@ -510,6 +557,7 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	union acpi_object object = { 0 };
 	struct acpi_buffer buffer = { sizeof(union acpi_object), &object };
 	struct acpi_buffer cst_buf = { ACPI_ALLOCATE_BUFFER, NULL };
+	struct acpi_buffer cpc_buf = { ACPI_ALLOCATE_BUFFER, NULL };
 	acpi_io_address pblk = 0;
 
 	status = acpi_get_type(handle, &acpi_type);
@@ -589,11 +637,20 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	/* .. and it has a C-state */
 	__set_bit(acpi_id, acpi_id_cst_present);
 
+	status = acpi_evaluate_object(handle, "_CPC", NULL, &cpc_buf);
+	if (ACPI_FAILURE(status)) {
+		return AE_OK;
+	}
+	kfree(cpc_buf.pointer);
+
+	/* .. and it has a _CPC entry */
+	__set_bit(acpi_id, acpi_id_cpc_present);
+
 	return AE_OK;
 }
 static int check_acpi_ids(struct acpi_processor *pr_backup)
 {
-	if (acpi_id_present && acpi_id_cst_present)
+	if (acpi_id_present && acpi_id_cst_present && acpi_id_cpc_present)
 		/* OK, done this once .. skip to uploading */
 		goto upload;
 
@@ -610,11 +667,19 @@ static int check_acpi_ids(struct acpi_processor *pr_backup)
 		return -ENOMEM;
 	}
 
+	acpi_id_cpc_present = bitmap_zalloc(nr_acpi_bits, GFP_KERNEL);
+	if (!acpi_id_cpc_present) {
+		bitmap_free(acpi_id_present);
+		bitmap_free(acpi_id_cst_present);
+		return -ENOMEM;
+	}
+
 	acpi_psd = kcalloc(nr_acpi_bits, sizeof(struct acpi_psd_package),
 			   GFP_KERNEL);
 	if (!acpi_psd) {
 		bitmap_free(acpi_id_present);
 		bitmap_free(acpi_id_cst_present);
+		bitmap_free(acpi_id_cpc_present);
 		return -ENOMEM;
 	}
 
@@ -630,6 +695,12 @@ static int check_acpi_ids(struct acpi_processor *pr_backup)
 			pr_backup->acpi_id = i;
 			/* Mask out C-states if there are no _CST or PBLK */
 			pr_backup->flags.power = test_bit(i, acpi_id_cst_present);
+			/* Mask out relevant flag if there are no _CPC */
+			pr_backup->flags.has_cpc = test_bit(i, acpi_id_cpc_present);
+			if (pr_backup->flags.has_cpc) {
+				if (xen_processor_get_perf_caps(pr_backup, acpi_cppc_data + i))
+					return -EINVAL;
+			}
 			/* num_entries is non-zero if we evaluated _PSD */
 			if (acpi_psd[i].num_entries) {
 				memcpy(&pr_backup->performance->domain_info,
@@ -748,6 +819,15 @@ static int __init xen_acpi_processor_init(void)
 		bitmap_free(acpi_ids_done);
 		return -ENOMEM;
 	}
+
+	acpi_cppc_data = kcalloc(nr_acpi_bits, sizeof(struct cppc_perf_caps),
+				GFP_KERNEL);
+	if (!acpi_cppc_data) {
+		pr_debug("Memory allocation error for acpi_cppc_data\n");
+		rc = -ENOMEM;
+		goto err1_out;
+	}
+
 	for_each_possible_cpu(i) {
 		if (!zalloc_cpumask_var_node(
 			&per_cpu_ptr(acpi_perf_data, i)->shared_cpu_map,
@@ -773,6 +853,11 @@ static int __init xen_acpi_processor_init(void)
 		rc = acpi_processor_get_performance_info(pr);
 		if (rc)
 			goto err_out;
+
+		pr->flags.pcc_unsupported = true;
+		rc = xen_processor_get_perf_caps(pr, acpi_cppc_data + i);
+		if (rc)
+			goto err_out;
 	}
 
 	rc = xen_upload_processor_pm_data();
@@ -788,6 +873,8 @@ static int __init xen_acpi_processor_init(void)
 
 err_out:
 	/* Freeing a NULL pointer is OK: alloc_percpu zeroes. */
+	kfree(acpi_cppc_data);
+err1_out:
 	free_acpi_perf_data();
 	bitmap_free(acpi_ids_done);
 	return rc;
@@ -801,6 +888,7 @@ static void __exit xen_acpi_processor_exit(void)
 	bitmap_free(acpi_id_present);
 	bitmap_free(acpi_id_cst_present);
 	kfree(acpi_psd);
+	kfree(acpi_cppc_data);
 	for_each_possible_cpu(i)
 		acpi_processor_unregister_performance(i);
 
diff --git a/include/acpi/processor.h b/include/acpi/processor.h
index 1decb437c750..12c1398abc7e 100644
--- a/include/acpi/processor.h
+++ b/include/acpi/processor.h
@@ -214,6 +214,7 @@ struct acpi_processor_flags {
 	u8 bm_control:1;
 	u8 bm_check:1;
 	u8 has_cst:1;
+	u8 has_cpc:1;
 	u8 pcc_unsupported:1;
 	u8 has_lpi:1;
 	u8 power_setup_done:1;
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index a35e1eb958f3..1db915d44dd7 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -320,6 +320,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_getidletime_t);
 #define XEN_PM_TX   2
 #define XEN_PM_PDC  3
 #define XEN_PM_PSD  4
+#define XEN_PM_CPPC 5
 /* Px sub info type */
 #define XEN_PX_PCT   1
 #define XEN_PX_PSS   2
@@ -384,6 +385,15 @@ struct xen_processor_px {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xen_processor_px);
 
+struct xen_processor_cppc {
+    uint32_t highest_perf;
+    uint32_t nominal_perf;
+    uint32_t lowest_perf;
+    uint32_t lowest_nonlinear_perf;
+    uint32_t lowest_freq;
+    uint32_t nominal_freq;
+};
+
 struct xen_psd_package {
 	uint64_t num_entries;
 	uint64_t revision;
@@ -411,6 +421,7 @@ struct xenpf_set_processor_pminfo {
 		struct xen_psd_package              domain_info; /* _PSD */
 		struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS */
 		GUEST_HANDLE(uint32_t)              pdc;
+		struct xen_processor_cppc           cppc_data; /* _CPC */
 	};
 	uint32_t shared_type;     /* coordination type of this processor */
 };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 11:25:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 11:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903414.1311314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tq9Lw-0007mu-G4; Thu, 06 Mar 2025 11:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903414.1311314; Thu, 06 Mar 2025 11:25: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 1tq9Lw-0007mn-DH; Thu, 06 Mar 2025 11:25:24 +0000
Received: by outflank-mailman (input) for mailman id 903414;
 Thu, 06 Mar 2025 11: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tq9Lv-0007mh-HO
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 11:25:23 +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 b0ac8636-fa7d-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 12:25:21 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43bc4b1603fso3242125e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 03:25:21 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c1037bfsm1753129f8f.96.2025.03.06.03.25.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 03:25:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0ac8636-fa7d-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741260321; x=1741865121; 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=0i1AVq3SFWy6g02i/aw2Xp3pHuLEmtNFaXJSflJCW5g=;
        b=MrAKRH4c5/3QxT8sHbVpOKjdXEChaFT4eeUDSyLnZTJ86ieBHHCA25gvAVLnr19Gl0
         7eBROSbkjtySqQPKw164+s7W+QF83bB4OKP9L6DYan5h243KgMabLJlgNiF7pRkJnaDR
         33nnDpX341bJeOAY+7To/OC/QoOcPcT12rugwmLjtSZNDZgmO/MxPOugfK8RJ5t3EQD1
         epLNiFRJE3wXegit1gAyervmUrPtIDAUaUdYIr74YlyixpG6GKSeutv+aRDJVAoWMjR4
         lJzr/CAP6xauK23JHMXLEfUlW2t8bkmZAMSGRfaK4ZVvDB6wBJIYEEJDODL2uB9H6E38
         TCDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741260321; x=1741865121;
        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=0i1AVq3SFWy6g02i/aw2Xp3pHuLEmtNFaXJSflJCW5g=;
        b=aeOgQ23z+/ogRTe2qgfwMJQsdJJyw9dPjDDeIVWqseqxBTQDwhf1gW0VzTduFgKFPM
         pQShHm7CHE+OMgs9ZXIXGxLt7iGaRT4y8opJW8Y85jSueAyQMrM55drHrV+wut+GxaMI
         Ay/mbYMfTVdM3Y4zXvpfavijTP3uoLjSw94kiDq22ZtdbWxaD2kq0c6DjdfY2iZWIOSY
         ta4rL11fIGTnQo5I3CE2XmSjhTxlJE5iQQcnntKBJvwYP5xlUqnjA5ksErznypEnmjZS
         BnmaKl7bDc0XRkOtWtUZY89AJRer66619yLhvSFJS+S1jgyPMU7rp/G9zg2iAlFCPLPl
         cL9A==
X-Gm-Message-State: AOJu0Yz4pYbhHQOPKXq1clr/ul7yVObNDM8ECxUE4kcxPpXEfTlVNoJO
	OewzTDjBmMxOfufeHh2HJUSCSL82YOBLkUN/TY66wrqUJSYQl2rvt7yaF8hbY40WnEPEzEbImbE
	=
X-Gm-Gg: ASbGncvYALIK7Xm53raDlj8gsYFzlPZDVwhLER9cVWvoL8MzxWDddqqpWnz3rFLNKrh
	bfyWMGgKc3gPzn0NgtAWnHCc8/DRaklhZiXszIJGn0aJc51s2AXa3XybfRl9Z8u4YpgHqyvF6Lr
	OAc3BIt8IwFeVibt3s5oRvBys0w3kFY0/fE1ZY5AV6yF6kWzP3d8eCk9M1Qj95Lg793IQqUtjO3
	CsXXdhP+L9IEuMFy031EiZC4cAegcsaS5Id2nGtdgeZ114AlzgHpSn4tsrzCjV8N1bmgBOo/Y2y
	iYOYQvhXLz7SBW9nhYY8w9Q3MgoZXtN4SaIzuFCPZNEmTOo0llM1U6iZEOcGl9jTgvzDRiMwpIP
	n2eJhIenETzajN0+0wU2LqBKeQNh5GA==
X-Google-Smtp-Source: AGHT+IEu6xzM328i4Is1EdiqaflQhddCSk9c5Grs5O2onRGWbuWmymmfND6uReg2qJfjqZ5oYWwVig==
X-Received: by 2002:a05:600c:4f87:b0:439:9d75:9e7d with SMTP id 5b1f17b1804b1-43bd29c4593mr44899675e9.22.1741260320780;
        Thu, 06 Mar 2025 03:25:20 -0800 (PST)
Message-ID: <0d3655d6-8551-486b-85ca-e64378231278@suse.com>
Date: Thu, 6 Mar 2025 12:25:19 +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: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] libxl: avoid infinite loop in libxl__remove_directory()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Infinitely retrying the rmdir() invocation makes little sense. While the
original observation was the log filling the disk (due to repeated
"Directory not empty" errors, in turn occurring for unclear reasons),
the loop wants breaking even if there was no error message being logged
(much like is done in the similar loops in libxl__remove_file() and
libxl__remove_file_or_directory()).

Fixes: c4dcbee67e6d ("libxl: provide libxl__remove_file et al")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This is the simplest possible adjustment. Depending on why there were
retries, retrying a few times may make sense. But then, especially for
the specific error observed, presumably only after having tried to empty
the directory another time.

It's further questionable whether trying the rmdir() makes sense at all
when emptying the directory failed. After all failure of opendir() also
results in bailing from the function without trying to rmdir(). If this
makes sense, then I further think that "rc" would want resetting ahead
of this final loop in the function: If the rmdir() succeeds despite
earlier errors, all is (kind of) fine.

--- a/tools/libs/light/libxl_utils.c
+++ b/tools/libs/light/libxl_utils.c
@@ -577,6 +577,7 @@ int libxl__remove_directory(libxl__gc *g
         if (errno == EINTR) continue;
         LOGE(ERROR, "failed to remove emptied directory %s", dirpath);
         rc = ERROR_FAIL;
+        break;
     }
 
  out:


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 12:24:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 12:24:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903446.1311324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqAHJ-0005Eu-5O; Thu, 06 Mar 2025 12:24:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903446.1311324; Thu, 06 Mar 2025 12:24: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 1tqAHJ-0005En-2u; Thu, 06 Mar 2025 12:24:41 +0000
Received: by outflank-mailman (input) for mailman id 903446;
 Thu, 06 Mar 2025 12:24: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqAHH-0005Eh-55
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 12:24:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3864e29-fa85-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 13:24:29 +0100 (CET)
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 35F24211AD;
 Thu,  6 Mar 2025 12:24:29 +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 E542713676;
 Thu,  6 Mar 2025 12:24:28 +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 G0eDNvyTyWfTUQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 12:24: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: f3864e29-fa85-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741263869; h=from:from:reply-to: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=EEKhfUX1UAhdwTW1++HkghLsKqJFR8BkWE1VB2eK79Q=;
	b=Xjunt6SiGlfG0PfmllWo8fp3ukMBMcn4gHSW0FIVNLVvzxMg564wJ2/piNWHzx7MZlG2QX
	hMqyGldN8U95LaIbyQxtGoc1iVyVaUeSkWf9iv7mQrehpKmgBfoYNEjhfBfFLU21p1jWjV
	Trkrm5E/NUNiPnhZsjzUOHA9ztNM7tc=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741263869; h=from:from:reply-to: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=EEKhfUX1UAhdwTW1++HkghLsKqJFR8BkWE1VB2eK79Q=;
	b=Xjunt6SiGlfG0PfmllWo8fp3ukMBMcn4gHSW0FIVNLVvzxMg564wJ2/piNWHzx7MZlG2QX
	hMqyGldN8U95LaIbyQxtGoc1iVyVaUeSkWf9iv7mQrehpKmgBfoYNEjhfBfFLU21p1jWjV
	Trkrm5E/NUNiPnhZsjzUOHA9ztNM7tc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] docs: specify numerical values of Xenstore commands
Date: Thu,  6 Mar 2025 13:23:55 +0100
Message-ID: <20250306122426.4351-1-jgross@suse.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-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	BAYES_HAM(-3.00)[99.98%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_SEVEN(0.00)[9];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email]
X-Spam-Flag: NO
X-Spam-Level: 

In docs/misc/xenstore.txt all Xenstore commands are specified, but
the specifications lack the numerical values of the commands.

Add a table with all commands, their values, and a potential remark
(e.g. whether the command is optional).

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 docs/misc/xenstore.txt | 59 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 7e1f031520..76001c6ee6 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -86,6 +86,65 @@ parts of xenstore inaccessible to some clients.  In any case passing
 bulk data through xenstore is not recommended as the performance
 properties are poor.
 
+---------- Defined Xenstore message types ----------
+
+Below is a table with all defined Xenstore message types (type name
+and its associated numerical value).
+
+Some types are optional to be supported by a specific Xenstore
+implementation.  If an optional type is not supported by a Xenstore
+implementation, Xen tools will continue to work, maybe with slightly
+reduced functionality.  A mandatory type not being supported will
+result in severely reduced functionality, like inability to create
+domains.  In case a type is optional, this is stated in the table with
+the lost functionality in case Xenstore doesn't support that type.
+
+XS_CONTROL		0	optional
+	If not supported, xenstore-control command will not work.
+	XS_DEBUG is a deprecated alias of XS_CONTROL.
+XS_DIRECTORY		1
+XS_READ			2
+XS_GET_PERMS		3
+XS_WATCH		4
+XS_UNWATCH		5
+XS_TRANSACTION_START	6
+XS_TRANSACTION_END	7
+XS_INTRODUCE		8
+XS_RELEASE		9
+XS_GET_DOMAIN_PATH	10
+XS_WRITE		11
+XS_MKDIR		12
+XS_RM			13
+XS_SET_PERMS		14
+XS_WATCH_EVENT		15
+	Not valid in client sent messages.
+	Only valid in Xenstore replies.
+XS_ERROR		16
+	Not valid in client sent messages.
+	Only valid in Xenstore replies.
+XS_IS_DOMAIN_INTRODUCED	17
+XS_RESUME		18
+XS_SET_TARGET		19
+XS_RESTRICT		20	no longer supported
+	XS_RESTRICT has been removed, the type value 20 is invalid.
+XS_RESET_WATCHES	21
+XS_DIRECTORY_PART	22	optional
+	If not supported, the output of xenstore-ls might be incomplete
+	with moĹe than ca. 1000 domains active.
+XS_GET_FEATURE		23	optional
+XS_SET_FEATURE		24	optional
+	XS_GET_FEATURE and XS_SET_FEATURE must either be both supported
+	or both unsupported.
+	If unsupported, setting availability of Xenstore features per
+	domain is not possible.
+XS_GET_QUOTA		25	optional
+XS_SET_QUOTA		26	optional
+	XS_GET_QUOTA and XS_SET_QUOTA must either be both supported
+	or both unsupported.
+	If unsupported, setting of Xenstore quota per domain is not
+	possible.
+XS_INVALID		65535
+	Guaranteed invalid type (never supported).
 
 ---------- Xenstore protocol details - introduction ----------
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 12:32:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 12:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903455.1311336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqAOU-0006og-VG; Thu, 06 Mar 2025 12:32:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903455.1311336; Thu, 06 Mar 2025 12:32: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 1tqAOU-0006oZ-Qi; Thu, 06 Mar 2025 12:32:06 +0000
Received: by outflank-mailman (input) for mailman id 903455;
 Thu, 06 Mar 2025 12:32: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqAOT-0006oT-SM
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 12:32:05 +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 02ad02f9-fa87-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 13:32:04 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43bcc04d4fcso3713935e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 04:32:04 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfba8b6sm1957241f8f.11.2025.03.06.04.32.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 04:32:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02ad02f9-fa87-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741264324; x=1741869124; 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=gDc/NFhDcjIQTDf+EtoXi4cxVvwJwbJMAMyY8Q0o4Ts=;
        b=DdCdnLItwi1SEQgyqhgpYa/Frp/Ix9dx4KLBXtKH68GxVpoAayFZB89UbtXh39N7Bm
         g81pBketbV4EPV3qwQzZRTO7xtgpyf5LwzU/IZjv0lKedvy2vtr+/S4qiMWGYqZ/y8TB
         4ZvfXGyB6C8gz375VMmLH3Fxy5XdUJgsF0sHSi2S50gjgjKFutMaHiQORTpqcEdYgkrJ
         Mmd6F5pN5vb0G+cMSeO3lRLfCLqZC4MsqjUzcSzrA6NC/yZif4MCle4ScoPDozKlGg3F
         5Iop0RuxqKLofodyN7J4UlyuVDIIDloU+6CwzFu6n1UOor/iBzgWWpfDCZ3KGeooqrSr
         p7Mw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741264324; x=1741869124;
        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=gDc/NFhDcjIQTDf+EtoXi4cxVvwJwbJMAMyY8Q0o4Ts=;
        b=C3aDqKyxGhFq9opijK3cc+DfYDGiuXNVlobBTpw+oYb7eVXOV73aOTXdzXpvAI8N3g
         WhapUxOXOmRfCuaiI4p2ts+lSAaapdp7JgqCZEfTlshsb4k2iEtRR5naWrSqApxTFU4x
         x83FM7nQZOFK0i3+OGTl+PCbf4peXZCGjTeOCevIfErUf6HZhtmXFBmAO8zhQ26HP5Eh
         W0j6cyMuZdAOy1wq2vLKshFRd7vOrPDjm4eE9ct6r1oiiIGEJ6uWGfWXr5MzuwgpsBf3
         LnJvE/2CRQuPJRy0nyjSKSnqBOZgF+p/mYiDEwzQZWD3+xbxGLNTxMkveo8eSCTT0Wut
         6JEw==
X-Forwarded-Encrypted: i=1; AJvYcCUknC3Y6bgqerjxHPt2EXXCXWb2vS2q0oJZvmGxZWVPtIpJ8dtevuvHVzyvsV50WnApqxFEFOWdi6A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywc0az17zsBECryfCqVnpBIvAyN+YNLfXQSh962grIZssSpS0tE
	+m1djZnIXwoDNHl/ppZBb6vSqrEmwOx7/UyIbjBEBl2J8qDh14qe2ES7fXf3zQ==
X-Gm-Gg: ASbGncvDq6R8UxNW4sGDJH7xbej4g/iu5x2e/Zeb7UqaVyt84cl7xZLCB/y8xOM8NIT
	IGWIt8FDGGKmEuyauMoFWH9IEr/0HPyv8oP/UCpy7vJDhmNbb7yM8xXTyL5mZ1ri3sRJkJRKs3o
	1q8XTccC3Mi+T8YJOfcHr7EzckpzQfKBJ08kGNgAWQQ4Kmqvx/GoKKIzvGbCvxOL4bJ7oN3L+6S
	L4XApCZ6EkOhyF7XCCPAKQYaGmn00v0XaS18ACXZhufFVlBnoMM+3mhyysZSNX86yQBX4g0jnbu
	LtQglOd1iIFTQUnbxa+7MlTEH+WgYzPkpQmLRteyNIssi2XB/clMklgQeP6ukhgZqVQqw4SZG9V
	ircSDF57ZSdHrdOYgW6PzIfDfI4e6xA==
X-Google-Smtp-Source: AGHT+IF1u3ZzzSkMEQ1muyjixuC3bMaujrv9qY/KJA/p9/BOE6/APdKQZLymkU/iqM4WpwnjX8TZ8A==
X-Received: by 2002:a05:600c:3ba8:b0:439:955d:c4e2 with SMTP id 5b1f17b1804b1-43bd29a3182mr49234155e9.13.1741264323908;
        Thu, 06 Mar 2025 04:32:03 -0800 (PST)
Message-ID: <70436c18-a916-46d9-befd-56e1780d92a4@suse.com>
Date: Thu, 6 Mar 2025 13:32:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: specify numerical values of Xenstore commands
To: Juergen Gross <jgross@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306122426.4351-1-jgross@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: <20250306122426.4351-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 13:23, Juergen Gross wrote:
> --- a/docs/misc/xenstore.txt
> +++ b/docs/misc/xenstore.txt
> @@ -86,6 +86,65 @@ parts of xenstore inaccessible to some clients.  In any case passing
>  bulk data through xenstore is not recommended as the performance
>  properties are poor.
>  
> +---------- Defined Xenstore message types ----------
> +
> +Below is a table with all defined Xenstore message types (type name
> +and its associated numerical value).
> +
> +Some types are optional to be supported by a specific Xenstore
> +implementation.  If an optional type is not supported by a Xenstore
> +implementation, Xen tools will continue to work, maybe with slightly
> +reduced functionality.  A mandatory type not being supported will
> +result in severely reduced functionality, like inability to create
> +domains.  In case a type is optional, this is stated in the table with
> +the lost functionality in case Xenstore doesn't support that type.
> +
> +XS_CONTROL		0	optional
> +	If not supported, xenstore-control command will not work.
> +	XS_DEBUG is a deprecated alias of XS_CONTROL.
> +XS_DIRECTORY		1
> +XS_READ			2
> +XS_GET_PERMS		3
> +XS_WATCH		4
> +XS_UNWATCH		5
> +XS_TRANSACTION_START	6
> +XS_TRANSACTION_END	7
> +XS_INTRODUCE		8
> +XS_RELEASE		9
> +XS_GET_DOMAIN_PATH	10
> +XS_WRITE		11
> +XS_MKDIR		12
> +XS_RM			13
> +XS_SET_PERMS		14
> +XS_WATCH_EVENT		15
> +	Not valid in client sent messages.
> +	Only valid in Xenstore replies.
> +XS_ERROR		16
> +	Not valid in client sent messages.
> +	Only valid in Xenstore replies.
> +XS_IS_DOMAIN_INTRODUCED	17
> +XS_RESUME		18
> +XS_SET_TARGET		19
> +XS_RESTRICT		20	no longer supported
> +	XS_RESTRICT has been removed, the type value 20 is invalid.
> +XS_RESET_WATCHES	21
> +XS_DIRECTORY_PART	22	optional
> +	If not supported, the output of xenstore-ls might be incomplete
> +	with moĹe than ca. 1000 domains active.

Nit: Odd 'Ĺ' here.

Also the 1000 domains boundary is just an example aiui, so you may want
to add "e.g.".

> +XS_GET_FEATURE		23	optional
> +XS_SET_FEATURE		24	optional
> +	XS_GET_FEATURE and XS_SET_FEATURE must either be both supported
> +	or both unsupported.
> +	If unsupported, setting availability of Xenstore features per
> +	domain is not possible.

Why would GET_FEATURES alone not be permitted?

> +XS_GET_QUOTA		25	optional
> +XS_SET_QUOTA		26	optional
> +	XS_GET_QUOTA and XS_SET_QUOTA must either be both supported
> +	or both unsupported.
> +	If unsupported, setting of Xenstore quota per domain is not
> +	possible.

Same, maybe to lesser degree, for GET_QUOTA.

I'm further uncertain here regarding your use of hard tabs.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 12:56:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 12:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903464.1311344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqAlq-0003DE-Nh; Thu, 06 Mar 2025 12:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903464.1311344; Thu, 06 Mar 2025 12: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 1tqAlq-0003D7-L9; Thu, 06 Mar 2025 12:56:14 +0000
Received: by outflank-mailman (input) for mailman id 903464;
 Thu, 06 Mar 2025 12:56: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqAlp-0003D1-EN
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 12:56: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 60b7421a-fa8a-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 13:56:10 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e4f88ea298so1043120a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 04:56:10 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c768f9a4sm906024a12.71.2025.03.06.04.56.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 04:56:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60b7421a-fa8a-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741265770; x=1741870570; 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=vGmVxLocPsbojr6/P/80paTESBMwv1fFocHLNAdBhpI=;
        b=DZlNgkhKTX59dWxLbGO5FT7QR3AXMh57GeOwA2hvq5E6zRT1PHepPVAdtBMx0WU/4Z
         6wkOlYJXax3Nd6CntxiEGLCwnrbnT7yThEmQyJYdtgYGqVZJsDtM0O3tGe6f/pzq4EyC
         En7v6/zXmSsa0Ikw2GMNHNb0ofMhe6wUZGB2Zn6jNXVlCnTQ+iLtRHnMRnO5hz7HmyW4
         dThWrBKHLXRQp2VxC9Rex61BiwfFTrN9IHqEdcR209YQ/xmxiKjVSWVrw+BGHBRgIVRK
         L4xFHPtjUU6x+xzwGqTs5W5fMkYOuCcCSAjA6dU0qfVg7jcb0q8bMFEQETWgHx/f8auZ
         aFDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741265770; x=1741870570;
        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=vGmVxLocPsbojr6/P/80paTESBMwv1fFocHLNAdBhpI=;
        b=nhEJaNuRAIbE9Xe9ozyq4aOcrazo78NDvEpOZqUnDZw9I5WGQE1ZBpA067e4r17EOF
         zyMp421av6tnXzR5PPPJxEYdXpLf54Z9IjQPbcChL4ARzCbG0yTLHt8BY3gBThrjHCDe
         wTk5ELohbOePpdHjpNcgDGA5EkZEUTXZu1DRHxV6ZK9Uyf7+lSae62tk+kmfpA9gh/jw
         d2/ujOLbDG6CYTKgk7oq9aDleo8zT+Y/hTS7+bDeCkOD0FefmjUpG7lyTG+QP9cVEPqb
         1OnqJn9K2DQJvsN/dwETMCjtHeM1PxfneMUpyOP/1ruzshHXPuix9oQw/Cl/tsyN0B7s
         YAxw==
X-Forwarded-Encrypted: i=1; AJvYcCVAQGZxc8wfhc9bPNJgSuBG+JaxcMt05i7NNKoyClVem4UU4IohEVjCvOpV90woe1AOVi0H4NEl5YU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwlzkcRB3qcqacyTbGqaSWW+L8gKv1wzEdmIb4g+s+dVRBPlSa+
	31Avk6JBth2vh1mJt4zIZzIXdZa+UomPawCdNpaRnb8Rptq24SMREHCRInRbhfc=
X-Gm-Gg: ASbGnctYde42SI3tzJuUOB4cjdyveOThDrvRP9o4sfZ8sDB+vKlHOdVekW6rGVZDm0x
	wTMBP84qELpmeAdeoZ9gk2LVXnCEaEjkvNvBZV9KzpHz2BRl7wnhuCSZDxJVC5XQP6CbkumSSAF
	dGPW6htSW337FUjKRIgiMiBv5CzWzhB6aTiM/j4y8L4nIbeUISlTCyhAc+l7hBM8QIARQvou1vz
	ch2mP3DBzPql2DMQeIXdZ/wFWoleOkDpLFNbjZs0i0M64H4hbK0ww3gC72r3EPh2RqUmpei1AG8
	7lHFo/o4bNXV2PSEYnkd6WU35a2aOFRHzSuLGSCLxn4By+mC9X5hYak1d6xOFp16xPxa6/9Srao
	zBLV1EW6Kl2XHlrByEmPnIV0eRSa66Ie5/Pv3scI3pCZFh58K85pV6pLcg6QkviugptI=
X-Google-Smtp-Source: AGHT+IE6xEv8BxOnvpE0+B8aGaDTh5EHzDnaXucnOO8j9Ij2xp1KJ6los5aVIVLzrNkHLnqidFrBew==
X-Received: by 2002:a05:6402:2348:b0:5d0:e563:4475 with SMTP id 4fb4d7f45d1cf-5e59f4fc86bmr6688699a12.29.1741265770128;
        Thu, 06 Mar 2025 04:56:10 -0800 (PST)
Message-ID: <9f096156-05c6-4b05-8b67-5370b4079d02@suse.com>
Date: Thu, 6 Mar 2025 13:56:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: specify numerical values of Xenstore commands
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306122426.4351-1-jgross@suse.com>
 <70436c18-a916-46d9-befd-56e1780d92a4@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: <70436c18-a916-46d9-befd-56e1780d92a4@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------20stfQrevP39AjvadhGT0eSk"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------20stfQrevP39AjvadhGT0eSk
Content-Type: multipart/mixed; boundary="------------v0IqyPRnFfg7DUm6Q02EHf9u";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.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?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <9f096156-05c6-4b05-8b67-5370b4079d02@suse.com>
Subject: Re: [PATCH] docs: specify numerical values of Xenstore commands
References: <20250306122426.4351-1-jgross@suse.com>
 <70436c18-a916-46d9-befd-56e1780d92a4@suse.com>
In-Reply-To: <70436c18-a916-46d9-befd-56e1780d92a4@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=

--------------v0IqyPRnFfg7DUm6Q02EHf9u
Content-Type: multipart/mixed; boundary="------------M1W1Qq3H6tS09uNJvwn0zyz8"

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

T24gMDYuMDMuMjUgMTM6MzIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDI1
IDEzOjIzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvZG9jcy9taXNjL3hlbnN0
b3JlLnR4dA0KPj4gKysrIGIvZG9jcy9taXNjL3hlbnN0b3JlLnR4dA0KPj4gQEAgLTg2LDYg
Kzg2LDY1IEBAIHBhcnRzIG9mIHhlbnN0b3JlIGluYWNjZXNzaWJsZSB0byBzb21lIGNsaWVu
dHMuICBJbiBhbnkgY2FzZSBwYXNzaW5nDQo+PiAgIGJ1bGsgZGF0YSB0aHJvdWdoIHhlbnN0
b3JlIGlzIG5vdCByZWNvbW1lbmRlZCBhcyB0aGUgcGVyZm9ybWFuY2UNCj4+ICAgcHJvcGVy
dGllcyBhcmUgcG9vci4NCj4+ICAgDQo+PiArLS0tLS0tLS0tLSBEZWZpbmVkIFhlbnN0b3Jl
IG1lc3NhZ2UgdHlwZXMgLS0tLS0tLS0tLQ0KPj4gKw0KPj4gK0JlbG93IGlzIGEgdGFibGUg
d2l0aCBhbGwgZGVmaW5lZCBYZW5zdG9yZSBtZXNzYWdlIHR5cGVzICh0eXBlIG5hbWUNCj4+
ICthbmQgaXRzIGFzc29jaWF0ZWQgbnVtZXJpY2FsIHZhbHVlKS4NCj4+ICsNCj4+ICtTb21l
IHR5cGVzIGFyZSBvcHRpb25hbCB0byBiZSBzdXBwb3J0ZWQgYnkgYSBzcGVjaWZpYyBYZW5z
dG9yZQ0KPj4gK2ltcGxlbWVudGF0aW9uLiAgSWYgYW4gb3B0aW9uYWwgdHlwZSBpcyBub3Qg
c3VwcG9ydGVkIGJ5IGEgWGVuc3RvcmUNCj4+ICtpbXBsZW1lbnRhdGlvbiwgWGVuIHRvb2xz
IHdpbGwgY29udGludWUgdG8gd29yaywgbWF5YmUgd2l0aCBzbGlnaHRseQ0KPj4gK3JlZHVj
ZWQgZnVuY3Rpb25hbGl0eS4gIEEgbWFuZGF0b3J5IHR5cGUgbm90IGJlaW5nIHN1cHBvcnRl
ZCB3aWxsDQo+PiArcmVzdWx0IGluIHNldmVyZWx5IHJlZHVjZWQgZnVuY3Rpb25hbGl0eSwg
bGlrZSBpbmFiaWxpdHkgdG8gY3JlYXRlDQo+PiArZG9tYWlucy4gIEluIGNhc2UgYSB0eXBl
IGlzIG9wdGlvbmFsLCB0aGlzIGlzIHN0YXRlZCBpbiB0aGUgdGFibGUgd2l0aA0KPj4gK3Ro
ZSBsb3N0IGZ1bmN0aW9uYWxpdHkgaW4gY2FzZSBYZW5zdG9yZSBkb2Vzbid0IHN1cHBvcnQg
dGhhdCB0eXBlLg0KPj4gKw0KPj4gK1hTX0NPTlRST0wJCTAJb3B0aW9uYWwNCj4+ICsJSWYg
bm90IHN1cHBvcnRlZCwgeGVuc3RvcmUtY29udHJvbCBjb21tYW5kIHdpbGwgbm90IHdvcmsu
DQo+PiArCVhTX0RFQlVHIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyBvZiBYU19DT05UUk9MLg0K
Pj4gK1hTX0RJUkVDVE9SWQkJMQ0KPj4gK1hTX1JFQUQJCQkyDQo+PiArWFNfR0VUX1BFUk1T
CQkzDQo+PiArWFNfV0FUQ0gJCTQNCj4+ICtYU19VTldBVENICQk1DQo+PiArWFNfVFJBTlNB
Q1RJT05fU1RBUlQJNg0KPj4gK1hTX1RSQU5TQUNUSU9OX0VORAk3DQo+PiArWFNfSU5UUk9E
VUNFCQk4DQo+PiArWFNfUkVMRUFTRQkJOQ0KPj4gK1hTX0dFVF9ET01BSU5fUEFUSAkxMA0K
Pj4gK1hTX1dSSVRFCQkxMQ0KPj4gK1hTX01LRElSCQkxMg0KPj4gK1hTX1JNCQkJMTMNCj4+
ICtYU19TRVRfUEVSTVMJCTE0DQo+PiArWFNfV0FUQ0hfRVZFTlQJCTE1DQo+PiArCU5vdCB2
YWxpZCBpbiBjbGllbnQgc2VudCBtZXNzYWdlcy4NCj4+ICsJT25seSB2YWxpZCBpbiBYZW5z
dG9yZSByZXBsaWVzLg0KPj4gK1hTX0VSUk9SCQkxNg0KPj4gKwlOb3QgdmFsaWQgaW4gY2xp
ZW50IHNlbnQgbWVzc2FnZXMuDQo+PiArCU9ubHkgdmFsaWQgaW4gWGVuc3RvcmUgcmVwbGll
cy4NCj4+ICtYU19JU19ET01BSU5fSU5UUk9EVUNFRAkxNw0KPj4gK1hTX1JFU1VNRQkJMTgN
Cj4+ICtYU19TRVRfVEFSR0VUCQkxOQ0KPj4gK1hTX1JFU1RSSUNUCQkyMAlubyBsb25nZXIg
c3VwcG9ydGVkDQo+PiArCVhTX1JFU1RSSUNUIGhhcyBiZWVuIHJlbW92ZWQsIHRoZSB0eXBl
IHZhbHVlIDIwIGlzIGludmFsaWQuDQo+PiArWFNfUkVTRVRfV0FUQ0hFUwkyMQ0KPj4gK1hT
X0RJUkVDVE9SWV9QQVJUCTIyCW9wdGlvbmFsDQo+PiArCUlmIG5vdCBzdXBwb3J0ZWQsIHRo
ZSBvdXRwdXQgb2YgeGVuc3RvcmUtbHMgbWlnaHQgYmUgaW5jb21wbGV0ZQ0KPj4gKwl3aXRo
IG1vxZVlIHRoYW4gY2EuIDEwMDAgZG9tYWlucyBhY3RpdmUuDQo+IA0KPiBOaXQ6IE9kZCAn
xZUnIGhlcmUuDQoNClRoYW5rcyBmb3Igc3BvdHRpbmcuDQoNCj4gQWxzbyB0aGUgMTAwMCBk
b21haW5zIGJvdW5kYXJ5IGlzIGp1c3QgYW4gZXhhbXBsZSBhaXVpLCBzbyB5b3UgbWF5IHdh
bnQNCj4gdG8gYWRkICJlLmcuIi4NCg0KVGhlIGJvdW5kYXJ5IGlzIHJlbGF0ZWQgdG8gdGhl
IGFtb3VudCBvZiBkYXRhIHJldHVybmVkIGJ5IFhTX0RJUkVDVE9SWQ0KZm9yICIvbG9jYWwv
ZG9tYWluIi4gQXMgc29vbiBhcyB0aGUgc3VtIG9mIChzdHJsZW4oZG9taWRfc3RyaW5nKSAr
IDEpDQpvZiBhbGwgZG9tYWlucyBpcyBsYXJnZXIgdGhhbiA0MDgwIChYRU5TVE9SRV9QQVlM
T0FEX01BWCAtIHNpemVvZihzdHJ1Y3QNCnhzZF9zb2NrbXNnKSksIFhTX0RJUkVDVE9SWSB3
b24ndCBiZSBhYmxlIHRvIHJldHVybiB0aGUgbGlzdCBvZiBjaGlsZHJlbg0KZm9yICIvbG9j
YWwvZG9tYWluIi4gVGhlIGxpbWl0IHdpbGwgZGVwZW5kIG9uIHRoZSBkb21pZCBkaXN0cmli
dXRpb246DQppbiB0aGUgd29yc3QgY2FzZSBpdCBjYW4gYmUgNjQwIChhbGwgZG9taWRzIDUg
ZGlnaXRzKSwgaW4gdGhlIGJlc3QgY2FzZQ0KaXQgd2lsbCBiZSAxMDM4IChhbGwgZG9taWRz
IGJlbG93IDEwMDAgcHJlc2VudCwgdGhlIHJlc3QgYmVsb3cgMTAwMDApLg0KDQo+PiArWFNf
R0VUX0ZFQVRVUkUJCTIzCW9wdGlvbmFsDQo+PiArWFNfU0VUX0ZFQVRVUkUJCTI0CW9wdGlv
bmFsDQo+PiArCVhTX0dFVF9GRUFUVVJFIGFuZCBYU19TRVRfRkVBVFVSRSBtdXN0IGVpdGhl
ciBiZSBib3RoIHN1cHBvcnRlZA0KPj4gKwlvciBib3RoIHVuc3VwcG9ydGVkLg0KPj4gKwlJ
ZiB1bnN1cHBvcnRlZCwgc2V0dGluZyBhdmFpbGFiaWxpdHkgb2YgWGVuc3RvcmUgZmVhdHVy
ZXMgcGVyDQo+PiArCWRvbWFpbiBpcyBub3QgcG9zc2libGUuDQo+IA0KPiBXaHkgd291bGQg
R0VUX0ZFQVRVUkVTIGFsb25lIG5vdCBiZSBwZXJtaXR0ZWQ/DQoNCkkgY2FuIGFsbG93IHRo
YXQuIFRoZXJlIG1pZ2h0IGJlIHRoZSB1c2UgY2FzZSB0byBxdWVyeSBhdmFpbGFiaWxpdHkg
b2YNCmEgZmVhdHVyZSB2aWEgYSBkb20wIHNvY2tldCBjb25uZWN0aW9uLg0KDQo+PiArWFNf
R0VUX1FVT1RBCQkyNQlvcHRpb25hbA0KPj4gK1hTX1NFVF9RVU9UQQkJMjYJb3B0aW9uYWwN
Cj4+ICsJWFNfR0VUX1FVT1RBIGFuZCBYU19TRVRfUVVPVEEgbXVzdCBlaXRoZXIgYmUgYm90
aCBzdXBwb3J0ZWQNCj4+ICsJb3IgYm90aCB1bnN1cHBvcnRlZC4NCj4+ICsJSWYgdW5zdXBw
b3J0ZWQsIHNldHRpbmcgb2YgWGVuc3RvcmUgcXVvdGEgcGVyIGRvbWFpbiBpcyBub3QNCj4+
ICsJcG9zc2libGUuDQo+IA0KPiBTYW1lLCBtYXliZSB0byBsZXNzZXIgZGVncmVlLCBmb3Ig
R0VUX1FVT1RBLg0KDQpUZWNobmljYWxseSBwb3NzaWJsZSwgdG9vLiBTbyBJIGNhbiBhbGxv
dyB0aGlzIG9uZSBhcyB3ZWxsLg0KDQo+IEknbSBmdXJ0aGVyIHVuY2VydGFpbiBoZXJlIHJl
Z2FyZGluZyB5b3VyIHVzZSBvZiBoYXJkIHRhYnMuDQoNCkknbSBmb2xsb3dpbmcgdGhlIHN0
eWxlIG9mIHRoZSByZXN0IG9mIHRoZSBkb2N1bWVudCwgd2hpY2ggaXMgbWFraW5nIHVzZQ0K
b2YgaGFyZCB0YWJzIGFzIHdlbGwuIEkgY2FuIHN3aXRjaCB0byBzcGFjZXMgaWYgeW91IHdh
bnQuDQoNCg0KSnVlcmdlbg0K
--------------M1W1Qq3H6tS09uNJvwn0zyz8
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-----

--------------M1W1Qq3H6tS09uNJvwn0zyz8--

--------------v0IqyPRnFfg7DUm6Q02EHf9u--

--------------20stfQrevP39AjvadhGT0eSk
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/Ey8FAmfJm2gFAwAAAAAACgkQsN6d1ii/Ey/G
Egf8D3DiQ/NkmUm9BstpDpqJpb3opoFlJEAVXGkJiKX8U2l+EJql1U7ivNiN9GCWnZ7eRNVDH6he
7HX3uPRqgOe0eWWcGBTNo0x3YAREL+giCF04MgBTzuMmpfhoLrPM4Mb8iiUl+E+Ga/QE7voZyZnn
pO5OlWl+w7yWKUoydtvmCntWidhLoyDCVx8BGOJ+QQt4jYkGxZoA+T9fW8YaGz33yROGMh6vhO94
tBng+kIPfmM9+LMqnPSSMBm0LlxAm9LnMFGQ0tHxto+TQcwjSRk5MsN90i0cg9cxavPCR1mfTOp4
RXroRcW0sBoFusypjFEdPvPmffKlMrtNEDSEjmeqLw==
=FWiV
-----END PGP SIGNATURE-----

--------------20stfQrevP39AjvadhGT0eSk--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:10:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:10:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903476.1311354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqAzP-0005qP-Vk; Thu, 06 Mar 2025 13:10:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903476.1311354; Thu, 06 Mar 2025 13: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 1tqAzP-0005qI-T7; Thu, 06 Mar 2025 13:10:15 +0000
Received: by outflank-mailman (input) for mailman id 903476;
 Thu, 06 Mar 2025 13: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqAzO-0005qC-98
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:10:14 +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 4d54aca2-fa8c-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 14:09:57 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3910e101d0fso376178f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 05:09:57 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c102d76sm1975028f8f.86.2025.03.06.05.09.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 05:09:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d54aca2-fa8c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741266597; x=1741871397; 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=TmGPElO1A9Qp7dp4TGJ/6Rt2SYwU7AJaXcCIBnHZHYs=;
        b=Gyl7lXxj6M5BJaBq6wDKGnCE9xUiogwmnRYn2n6MrkO2FNeUrgtrS94CXuhLPupxOL
         VsfbkOfDh83hP5z36E3EftMP0WNmqvqFV6Lb7iPjI69ljYA3nNZllNvUqWDneqMZ1MxU
         k5jUVs7OKnWZcd3Pq3u+6UMpIm82WAjJ6QshaYdc/IDfnRpq1hXDNdxREBXps0qHcagJ
         qbq52UZPbFuYl4z2gXdoEoTjq4OXT5jetjBGht+Nrl/Vah1ZO3vN7NbxlGYvr7GuqCB2
         mjf5YLHwZaHd8YPxnolkGhYiNzAx+5VDy1Kw7vRtfIIJ9Lmjz+JtctXSnztu+BtF56SM
         2FyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741266597; x=1741871397;
        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=TmGPElO1A9Qp7dp4TGJ/6Rt2SYwU7AJaXcCIBnHZHYs=;
        b=jrjdUFi5gMW7XyjUVfRLT0QoWqDxI0JNZqtxmZ8Rq7vRx9rAKEt3UCK+H3rGE9KpX8
         Bc4m8TXdye0UuSD5LY7Rt6vQGSwCoXMiQJovlp4FHG0RcfV9SIWq4IlmO9XayBzCuNPv
         wD0NOuPZkRfC8FrsUFnt1NlTXR/WUihvcrpy3iq0p7sYcSRBQlHevY+eEjPu6A4/ncHe
         3gHjz3f+HGm1rPkEWE6v4yb+KM790FMR8c3KKnwvQus1jN2BTPZetAk9i7AiQ/JGOejF
         T2IK6lYsdICN28Q+ius3S2Eub2dme1d3hYZvKbKacH2BtkmYISuKdQfBvdMfNJtYztBs
         rpdw==
X-Forwarded-Encrypted: i=1; AJvYcCU8ZTbHnsZjsD+KvMjA/imvaSIbcP2Q/Ic0BPT7EYPMuq54qswdEwRO2ShNbOdYhjWu8lyHf6uejk8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxs1IIRgPBIvbSA/4+6J1cLS+JoMwcwbdBaigo4a5H1iKac8R3a
	9t80s54kYxbL6wqEsYwNhjhBu33lMJQIQn7ryHvajowW9CriZAWlGwZOU0n6uQ==
X-Gm-Gg: ASbGncvax0Py8aiwGvt9AI+uU4R7qcUIkKuV9yM1mVUgo/UtQYw5Np+CLaxqM9trD7+
	YiPjk6vwtMaoMdN+1wQ5x5tbIzdf7Ejn7jIK2/k0bimbw1PSJArL7BNTZKtsJSrKfyYM0yjurH8
	7yt0kuSmHKx1VJzv8KqdzF7rgIbrrsaU4fuLiizzMQdSLfHTPjbEmq+RzZwPepPsmrxmy8gavNr
	mYpV7t0HePGtXpO2Mv4Kn4K1EpMoSpKr2QR20n6L/xFvNmQhjrs+c/aeNbGIq/WssdOkCNHJTGp
	Oy/LIQss2+T5lS/5XHwP7790O+q0OKR9NaHY78sRt5shOmUVmvef31uV5mSpPnH2iftq57YB6gd
	8NQ+O1VBvfJXwXMzU5XBOBu0uSk63ZQ==
X-Google-Smtp-Source: AGHT+IFpk+GS6ZKG52j0ML4CWnFLjS0eCgbg/tC0Ck1kJpzdAQo6Tv+4hVlfAggKSKt91g65Or3vMA==
X-Received: by 2002:a5d:6c64:0:b0:391:300f:7485 with SMTP id ffacd0b85a97d-391300f7764mr513080f8f.8.1741266596640;
        Thu, 06 Mar 2025 05:09:56 -0800 (PST)
Message-ID: <b96c2600-735a-4767-9ed6-5cbb89e103af@suse.com>
Date: Thu, 6 Mar 2025 14:09:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: specify numerical values of Xenstore commands
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306122426.4351-1-jgross@suse.com>
 <70436c18-a916-46d9-befd-56e1780d92a4@suse.com>
 <9f096156-05c6-4b05-8b67-5370b4079d02@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: <9f096156-05c6-4b05-8b67-5370b4079d02@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 13:56, JĂźrgen GroĂ wrote:
> On 06.03.25 13:32, Jan Beulich wrote:
>> On 06.03.2025 13:23, Juergen Gross wrote:
>>> --- a/docs/misc/xenstore.txt
>>> +++ b/docs/misc/xenstore.txt
>>> @@ -86,6 +86,65 @@ parts of xenstore inaccessible to some clients.  In any case passing
>>>   bulk data through xenstore is not recommended as the performance
>>>   properties are poor.
>>>   
>>> +---------- Defined Xenstore message types ----------
>>> +
>>> +Below is a table with all defined Xenstore message types (type name
>>> +and its associated numerical value).
>>> +
>>> +Some types are optional to be supported by a specific Xenstore
>>> +implementation.  If an optional type is not supported by a Xenstore
>>> +implementation, Xen tools will continue to work, maybe with slightly
>>> +reduced functionality.  A mandatory type not being supported will
>>> +result in severely reduced functionality, like inability to create
>>> +domains.  In case a type is optional, this is stated in the table with
>>> +the lost functionality in case Xenstore doesn't support that type.
>>> +
>>> +XS_CONTROL		0	optional
>>> +	If not supported, xenstore-control command will not work.
>>> +	XS_DEBUG is a deprecated alias of XS_CONTROL.
>>> +XS_DIRECTORY		1
>>> +XS_READ			2
>>> +XS_GET_PERMS		3
>>> +XS_WATCH		4
>>> +XS_UNWATCH		5
>>> +XS_TRANSACTION_START	6
>>> +XS_TRANSACTION_END	7
>>> +XS_INTRODUCE		8
>>> +XS_RELEASE		9
>>> +XS_GET_DOMAIN_PATH	10
>>> +XS_WRITE		11
>>> +XS_MKDIR		12
>>> +XS_RM			13
>>> +XS_SET_PERMS		14
>>> +XS_WATCH_EVENT		15
>>> +	Not valid in client sent messages.
>>> +	Only valid in Xenstore replies.
>>> +XS_ERROR		16
>>> +	Not valid in client sent messages.
>>> +	Only valid in Xenstore replies.
>>> +XS_IS_DOMAIN_INTRODUCED	17
>>> +XS_RESUME		18
>>> +XS_SET_TARGET		19
>>> +XS_RESTRICT		20	no longer supported
>>> +	XS_RESTRICT has been removed, the type value 20 is invalid.
>>> +XS_RESET_WATCHES	21
>>> +XS_DIRECTORY_PART	22	optional
>>> +	If not supported, the output of xenstore-ls might be incomplete
>>> +	with moĹe than ca. 1000 domains active.
>>
>> Nit: Odd 'Ĺ' here.
> 
> Thanks for spotting.
> 
>> Also the 1000 domains boundary is just an example aiui, so you may want
>> to add "e.g.".
> 
> The boundary is related to the amount of data returned by XS_DIRECTORY
> for "/local/domain". As soon as the sum of (strlen(domid_string) + 1)
> of all domains is larger than 4080 (XENSTORE_PAYLOAD_MAX - sizeof(struct
> xsd_sockmsg)), XS_DIRECTORY won't be able to return the list of children
> for "/local/domain". The limit will depend on the domid distribution:
> in the worst case it can be 640 (all domids 5 digits), in the best case
> it will be 1038 (all domids below 1000 present, the rest below 10000).

And elsewhere there can't be very many nodes resulting in a similar
situation?

>> I'm further uncertain here regarding your use of hard tabs.
> 
> I'm following the style of the rest of the document, which is making use
> of hard tabs as well. I can switch to spaces if you want.

I'm not demanding a change. I'd like it to be considered though that people
may in principle be using different tab-to-nr-of-blanks mappings, which
causes tabular arrangements like the above one to come out distorted.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:13:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903500.1311424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqB2Y-000720-4L; Thu, 06 Mar 2025 13:13:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903500.1311424; Thu, 06 Mar 2025 13: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 1tqB2Y-00071t-1p; Thu, 06 Mar 2025 13:13:30 +0000
Received: by outflank-mailman (input) for mailman id 903500;
 Thu, 06 Mar 2025 13:13: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqB2W-00071M-NZ
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:13:28 +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 ca1c0ac8-fa8c-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 14:13:26 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so3961135e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 05:13:26 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435c6f4sm48907195e9.34.2025.03.06.05.13.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 05:13:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca1c0ac8-fa8c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741266806; x=1741871606; 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=mn03y2X7USnkyf2hTZrquiL7k0cJX/o3gpj6HLPD0iM=;
        b=fyrONvOE2bHtKa5msHrRjTD+EWim2ktfAAWxtfeXwbO7JkXY2Gkpw8duvxUZHZy//q
         29ihEOVdS5vgzkVGoutHeYew1B3CITh8HcjgKo3/gjxBR4CkrSwYhi+YQ6wDY8yf7GB2
         JOtnTEglWGLb1EJT454sxQdgRrT8iBG3GTI/jMTsuA8Z7xuLol/pbqXc8Z9QUbP+Bv6i
         vil2yN59W3Ub2L6vkbjGHpwtHI0FMYuFIUemUswZp+0o4c2J8MM6wd2Q720dp1SRNkfV
         35kDQMjtu8q8GVs8TlvXmqDCFqJbbeTeE8aHzBTl7T/oG3tGA9ff3FHYsy7dElgQR8IA
         3lfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741266806; x=1741871606;
        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=mn03y2X7USnkyf2hTZrquiL7k0cJX/o3gpj6HLPD0iM=;
        b=jucRWkfzd7WIrSM9njZ238Qawa1YhsbfS+JuFdYvuDzaKDA/Vl32/EySZCRo3Aghbe
         BLTDjOZZRF1QkTS6Ge9Nxa0tsknJgrv0WiwUlN1g95laghG6wTALtd5A1oq5KipT5+NI
         eFIeaLR32bwi9xOU+t0WOop1xKlElCexRGorM8BiipfbUwjTKTRgFXD6G8YmIFMOn/lV
         k6gl9QYGdup8EtGPlJwU5SR7ojo6oA1GquuPV2MpxOIA95IESkPztFycpZZtN/q4SQoX
         H7TqzswkTxU+kraHduUdqX2Y1NNtfTF6Fpafa6/aajz+4Z7LlHJC9KbK2Xktpt0OMe4L
         bt1A==
X-Gm-Message-State: AOJu0Yw0giZyTBPepQKObzbRdkkyKmIVcaLzjpTPQ8qfsmtsfM/sxn+m
	IeuPJe0k5z6MdvNbXv6G1IiTp5jNHy4pNo/v8fD1ZAO1IEgdThAzwqEX09u6QY92SitElPxAFs8
	=
X-Gm-Gg: ASbGncv8/GTtn8Gtt1MB+U6e3bLOEB84LED8zV/yvVib+47MstKOPFiVsq6p/xTAVzq
	w70UuSPfB+4C89At4ZQWDLKYo34M+CdZRPvjvhEJiYpFuEaXVjwD8GXgv79iYqwA8uA7LALD6/F
	0R4eU/I6RRtsxgFCFpabCwPeYDO5wHivDxB05XS7QVJiWPx0WbVfsZ30SxXlekDl5/v+aYyoM7N
	x7LnmG5UnLnCdJiCvXY13Uj7pIl2MoGnQoVLYKnF0iwfVpGy9g+pxz1m+Fq2xpPSSLuH1pbg+mq
	KWRg8itBM2mBMPGtRLjRLEmMxzEvpYtrR15XutIVLzAXwTq4Rat2Fi+eb9XdySAR7ptQ0LMvG3Z
	NIC/R6WjO+6l4F4HdzbJT14csJ7bSXA==
X-Google-Smtp-Source: AGHT+IHTdvAwhXdkh4jDgh7C8LArVXwB1tRaw6mol4SGmSmTbsSt4ReMYhXZc35d3ttGBoJDbSJ7hQ==
X-Received: by 2002:a05:600c:35ca:b0:43b:ca39:6c75 with SMTP id 5b1f17b1804b1-43bd2989faemr71056555e9.16.1741266806054;
        Thu, 06 Mar 2025 05:13:26 -0800 (PST)
Message-ID: <c26a91be-8f13-4e22-be87-a96b81df0aa4@suse.com>
Date: Thu, 6 Mar 2025 14:13:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Juergen Gross <jgross@suse.com>
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
 <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
 <alpine.DEB.2.22.394.2503051531380.1303386@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.2503051531380.1303386@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 00:32, Stefano Stabellini wrote:
> On Wed, 5 Mar 2025, Juergen Gross wrote:
>> On 25.02.25 12:10, Juergen Gross wrote:
>>> Ping? Especially ...
>>>
>>> On 04.02.25 12:33, Juergen Gross wrote:
>>>> Xenstored is using libxenctrl for only one purpose: to get information
>>>> about state of domains.
>>>>
>>>> This patch series is removing that dependency by introducing a new
>>>> stable interface which can be used by xenstored instead.
>>>>
>>>> There was a RFC series sent out 3 years ago, which I have taken as a
>>>> base and by addressing all comments from back then.
>>>>
>>>> The main differences since that RFC series are:
>>>>
>>>> - Instead of introducing an new main hypercall for a stable management
>>>> Â Â  interface I have just added a new domctl sub-op, as requested in 2021.
>>>>
>>>> - I have added a new library libxenmanage for easy use of the new
>>>> Â Â  stable hypervisor interface. Main motivation for adding the library
>>>> Â Â  was the recent attempt to decouple oxenstored from the Xen git tree.
>>>> Â Â  By using the new library, oxenstored could benefit in the same way as
>>>> Â Â  xenstored from the new interface: it would be possible to rely on
>>>> Â Â  stable libraries only.
>>>>
>>>> - Mini-OS has gained some more config options recently, so it was rather
>>>> Â Â  easy to make xenstore[pvh]-stubdom independent from libxenctrl, too.
>>>>
>>>> Please note that the last 4 patches can be committed only after the
>>>> related Mini-OS patch "config: add support for libxenmanage" has gone in
>>>> AND the Mini-OS commit-id has been updated in Config.mk accordingly! The
>>>> Mini-OS patch has been Acked already, so it can go in as soon as patch
>>>> 5 of this series (the one introducing libxenmanage) has been committed.
>>>>
>>>> As patches 1 and 2 change current behavior, Jan didn't want to give his
>>>> Ack (he didn't reject the patch either). So I'm asking other "Rest"
>>>> maintainers to look at those patches specifically.
>>>
>>> ... patches 1 and 2 could need an additional opinion.
>>
>> And another ping.
>>
>> One of Andrew, Stefano, Julien, Roger, Anthony, Mical: Please have a look.
>>
>> The related discussion between Jan and me can be found here (patches 2 and 3):
>>
>> https://lore.kernel.org/xen-devel/20250107101711.5980-1-jgross@suse.com/
> 
> I didn't do an in-details review but based on Jan's comments and your
> replies, I think they are an improvement. If someone else wants to do a
> proper review, they would be welcome.
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

I've taken the conservative approach and interpreted this as an ack for the
two patches in question only, rather than the entire series. Please indicate
if it was meant the other way around, as then the final 3 patches could also
go in.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:24:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:24:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903519.1311475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqBCy-0002uw-H6; Thu, 06 Mar 2025 13:24:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903519.1311475; Thu, 06 Mar 2025 13:24:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqBCy-0002up-D9; Thu, 06 Mar 2025 13:24:16 +0000
Received: by outflank-mailman (input) for mailman id 903519;
 Thu, 06 Mar 2025 13:24: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqBCw-0002uj-Eo
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:24:14 +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 4b945dbd-fa8e-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 14:24:13 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5e4f88ea298so1093453a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 05:24:13 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c766a028sm932871a12.50.2025.03.06.05.24.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 05:24:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b945dbd-fa8e-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741267453; x=1741872253; 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=fTLVsGZfKzSmrsc+ubyAUbS4+I9CmyZc1hR93CQQSC0=;
        b=Yqe7P1WtGXydQbL2gW8sNKqxdMbtr9ktGasdvopqDTVPwuKbF/0APHe/5u61n4ssSD
         Z6RDc1YWAHyLbbPYoT5e1vzNevSe5BSk/vyTqsiw9rch+a10SjK87iEXSE+/iYv/jNn+
         sdoyDnZOzYR8IHu9fMMiJesufxQQgl7qOtQ3pwOWYeaBEHm+uXtYVQa0uWjf+Tv3iCTc
         6g5EYUev5Ab92cMtD+k9HFCQGBmODFq8dn+McG6VQeOKkm9cu4buTdlNRYdfxWQkc+Q2
         X0NHzSr0Es+1IKSLmQ4qkIGlZiQSByxfiiTGxk3REX9ot+N6ixxF1UnKgKq1qIHhZEKV
         ygtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741267453; x=1741872253;
        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=fTLVsGZfKzSmrsc+ubyAUbS4+I9CmyZc1hR93CQQSC0=;
        b=Y3q2kqtz1a54OqiHS5ByIdNPIhD9Krr82nDpFtJgkRDw8hNTaR7cJiVD0Mcugy6k+E
         yC/17HkQ0xBLO/SWvbJvOHsqh7d69f56m8C2cpOn6Ji4nPlQQKYlpYGWkAB+jMH8tfe4
         wNVEnwxJu91pz6Ksw2IHrPStO2tOweGirNXIuG3R3EA9P8+WOzZWNdrLj7jNntvewprU
         CFm1Fo2F96FjIZjUG9FsrN8r8izpy+OVygXMabOoqO5L4jZ71rpoBoE44aquKFdjpFg1
         y7QyL/DU8OeTlfIM17iG6FHPVip16vZ0nmNuraQgLAoGdRUU1dI+68jyYNTUQU8cXe4+
         3vnw==
X-Forwarded-Encrypted: i=1; AJvYcCXKPuWCQgIVMRa1j6J6HTKHFqJ/LliG/R1bBmqyWRUfLTNPE1CrGjBnVSJIkq2zQLMr2LAHr1maLRs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyfkFunus+oucXGWOT0hl8JXdAsw+pZoHMQLuLiZXvB/0CweAIg
	tyUcDXAejSARM5OixDoNylLAIrxYDgDUOws2anjx7OlBL0oVv6V4YN9rvV+UGNQ=
X-Gm-Gg: ASbGncv/QVVYXxmeusci9KV6jmMAzZ4IgonGii4ScqKaDiFWs89tkF6KXGQRkxWU5pn
	LcGLBMfIXnX1Xbo5pGKAuwwJAFz8k0FRzn/YcNZpJzv2vGAZI96djfyEN39UWsJH1JvSu1zfnKU
	JMHuJbsmn/VhVqxDM3h2Vz6H56vNknd/sNbcYHVcSx8BlgF/HbEGE+hwxCSCTnjg3X5dfWcteRf
	8RD+7VJg9IER1qspCIT7ADsUbOPNLUFhoNgqivERFEthpLcm83t+xcIWOi/DtSI6sZ/fBL5Budc
	juDmQTRXXvHk67KF18qA5NlK8GCR09N+VlHJk+AMXCtH54bmrPqT0dH+J42zfu+aXOApYwYlni+
	YSQcc0D5EYhsI07S6AVM5ae9JgEEEyBqgjGHp7C2F/i5sWFVJAjwBfS0JO3z3l1AeWOQ=
X-Google-Smtp-Source: AGHT+IF+ZLg0gDLYW8fCRyScwjmM52gD2yWx9Ujot2Tmm0ISpVoiMl8Nw9VQqjR8TxtW2foud14ytg==
X-Received: by 2002:a05:6402:430f:b0:5e4:cfb0:f651 with SMTP id 4fb4d7f45d1cf-5e59f385a07mr7878106a12.6.1741267452593;
        Thu, 06 Mar 2025 05:24:12 -0800 (PST)
Message-ID: <b087c884-d220-4787-a51e-c1f6348998fe@suse.com>
Date: Thu, 6 Mar 2025 14:24:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: specify numerical values of Xenstore commands
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306122426.4351-1-jgross@suse.com>
 <70436c18-a916-46d9-befd-56e1780d92a4@suse.com>
 <9f096156-05c6-4b05-8b67-5370b4079d02@suse.com>
 <b96c2600-735a-4767-9ed6-5cbb89e103af@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: <b96c2600-735a-4767-9ed6-5cbb89e103af@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------LjLgwWatB64v0LHqE2OfIQ4d"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------LjLgwWatB64v0LHqE2OfIQ4d
Content-Type: multipart/mixed; boundary="------------4Ems178pIOmI1MGz2v0ChLE0";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.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?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <b087c884-d220-4787-a51e-c1f6348998fe@suse.com>
Subject: Re: [PATCH] docs: specify numerical values of Xenstore commands
References: <20250306122426.4351-1-jgross@suse.com>
 <70436c18-a916-46d9-befd-56e1780d92a4@suse.com>
 <9f096156-05c6-4b05-8b67-5370b4079d02@suse.com>
 <b96c2600-735a-4767-9ed6-5cbb89e103af@suse.com>
In-Reply-To: <b96c2600-735a-4767-9ed6-5cbb89e103af@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=

--------------4Ems178pIOmI1MGz2v0ChLE0
Content-Type: multipart/mixed; boundary="------------J0FB8snBw5ML5WPr4hHbancq"

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

T24gMDYuMDMuMjUgMTQ6MDksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDI1
IDEzOjU2LCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0KPj4gT24gMDYuMDMuMjUgMTM6MzIsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA2LjAzLjIwMjUgMTM6MjMsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSBhL2RvY3MvbWlzYy94ZW5zdG9yZS50eHQNCj4+Pj4gKysr
IGIvZG9jcy9taXNjL3hlbnN0b3JlLnR4dA0KPj4+PiBAQCAtODYsNiArODYsNjUgQEAgcGFy
dHMgb2YgeGVuc3RvcmUgaW5hY2Nlc3NpYmxlIHRvIHNvbWUgY2xpZW50cy4gIEluIGFueSBj
YXNlIHBhc3NpbmcNCj4+Pj4gICAgYnVsayBkYXRhIHRocm91Z2ggeGVuc3RvcmUgaXMgbm90
IHJlY29tbWVuZGVkIGFzIHRoZSBwZXJmb3JtYW5jZQ0KPj4+PiAgICBwcm9wZXJ0aWVzIGFy
ZSBwb29yLg0KPj4+PiAgICANCj4+Pj4gKy0tLS0tLS0tLS0gRGVmaW5lZCBYZW5zdG9yZSBt
ZXNzYWdlIHR5cGVzIC0tLS0tLS0tLS0NCj4+Pj4gKw0KPj4+PiArQmVsb3cgaXMgYSB0YWJs
ZSB3aXRoIGFsbCBkZWZpbmVkIFhlbnN0b3JlIG1lc3NhZ2UgdHlwZXMgKHR5cGUgbmFtZQ0K
Pj4+PiArYW5kIGl0cyBhc3NvY2lhdGVkIG51bWVyaWNhbCB2YWx1ZSkuDQo+Pj4+ICsNCj4+
Pj4gK1NvbWUgdHlwZXMgYXJlIG9wdGlvbmFsIHRvIGJlIHN1cHBvcnRlZCBieSBhIHNwZWNp
ZmljIFhlbnN0b3JlDQo+Pj4+ICtpbXBsZW1lbnRhdGlvbi4gIElmIGFuIG9wdGlvbmFsIHR5
cGUgaXMgbm90IHN1cHBvcnRlZCBieSBhIFhlbnN0b3JlDQo+Pj4+ICtpbXBsZW1lbnRhdGlv
biwgWGVuIHRvb2xzIHdpbGwgY29udGludWUgdG8gd29yaywgbWF5YmUgd2l0aCBzbGlnaHRs
eQ0KPj4+PiArcmVkdWNlZCBmdW5jdGlvbmFsaXR5LiAgQSBtYW5kYXRvcnkgdHlwZSBub3Qg
YmVpbmcgc3VwcG9ydGVkIHdpbGwNCj4+Pj4gK3Jlc3VsdCBpbiBzZXZlcmVseSByZWR1Y2Vk
IGZ1bmN0aW9uYWxpdHksIGxpa2UgaW5hYmlsaXR5IHRvIGNyZWF0ZQ0KPj4+PiArZG9tYWlu
cy4gIEluIGNhc2UgYSB0eXBlIGlzIG9wdGlvbmFsLCB0aGlzIGlzIHN0YXRlZCBpbiB0aGUg
dGFibGUgd2l0aA0KPj4+PiArdGhlIGxvc3QgZnVuY3Rpb25hbGl0eSBpbiBjYXNlIFhlbnN0
b3JlIGRvZXNuJ3Qgc3VwcG9ydCB0aGF0IHR5cGUuDQo+Pj4+ICsNCj4+Pj4gK1hTX0NPTlRS
T0wJCTAJb3B0aW9uYWwNCj4+Pj4gKwlJZiBub3Qgc3VwcG9ydGVkLCB4ZW5zdG9yZS1jb250
cm9sIGNvbW1hbmQgd2lsbCBub3Qgd29yay4NCj4+Pj4gKwlYU19ERUJVRyBpcyBhIGRlcHJl
Y2F0ZWQgYWxpYXMgb2YgWFNfQ09OVFJPTC4NCj4+Pj4gK1hTX0RJUkVDVE9SWQkJMQ0KPj4+
PiArWFNfUkVBRAkJCTINCj4+Pj4gK1hTX0dFVF9QRVJNUwkJMw0KPj4+PiArWFNfV0FUQ0gJ
CTQNCj4+Pj4gK1hTX1VOV0FUQ0gJCTUNCj4+Pj4gK1hTX1RSQU5TQUNUSU9OX1NUQVJUCTYN
Cj4+Pj4gK1hTX1RSQU5TQUNUSU9OX0VORAk3DQo+Pj4+ICtYU19JTlRST0RVQ0UJCTgNCj4+
Pj4gK1hTX1JFTEVBU0UJCTkNCj4+Pj4gK1hTX0dFVF9ET01BSU5fUEFUSAkxMA0KPj4+PiAr
WFNfV1JJVEUJCTExDQo+Pj4+ICtYU19NS0RJUgkJMTINCj4+Pj4gK1hTX1JNCQkJMTMNCj4+
Pj4gK1hTX1NFVF9QRVJNUwkJMTQNCj4+Pj4gK1hTX1dBVENIX0VWRU5UCQkxNQ0KPj4+PiAr
CU5vdCB2YWxpZCBpbiBjbGllbnQgc2VudCBtZXNzYWdlcy4NCj4+Pj4gKwlPbmx5IHZhbGlk
IGluIFhlbnN0b3JlIHJlcGxpZXMuDQo+Pj4+ICtYU19FUlJPUgkJMTYNCj4+Pj4gKwlOb3Qg
dmFsaWQgaW4gY2xpZW50IHNlbnQgbWVzc2FnZXMuDQo+Pj4+ICsJT25seSB2YWxpZCBpbiBY
ZW5zdG9yZSByZXBsaWVzLg0KPj4+PiArWFNfSVNfRE9NQUlOX0lOVFJPRFVDRUQJMTcNCj4+
Pj4gK1hTX1JFU1VNRQkJMTgNCj4+Pj4gK1hTX1NFVF9UQVJHRVQJCTE5DQo+Pj4+ICtYU19S
RVNUUklDVAkJMjAJbm8gbG9uZ2VyIHN1cHBvcnRlZA0KPj4+PiArCVhTX1JFU1RSSUNUIGhh
cyBiZWVuIHJlbW92ZWQsIHRoZSB0eXBlIHZhbHVlIDIwIGlzIGludmFsaWQuDQo+Pj4+ICtY
U19SRVNFVF9XQVRDSEVTCTIxDQo+Pj4+ICtYU19ESVJFQ1RPUllfUEFSVAkyMglvcHRpb25h
bA0KPj4+PiArCUlmIG5vdCBzdXBwb3J0ZWQsIHRoZSBvdXRwdXQgb2YgeGVuc3RvcmUtbHMg
bWlnaHQgYmUgaW5jb21wbGV0ZQ0KPj4+PiArCXdpdGggbW/FlWUgdGhhbiBjYS4gMTAwMCBk
b21haW5zIGFjdGl2ZS4NCj4+Pg0KPj4+IE5pdDogT2RkICfFlScgaGVyZS4NCj4+DQo+PiBU
aGFua3MgZm9yIHNwb3R0aW5nLg0KPj4NCj4+PiBBbHNvIHRoZSAxMDAwIGRvbWFpbnMgYm91
bmRhcnkgaXMganVzdCBhbiBleGFtcGxlIGFpdWksIHNvIHlvdSBtYXkgd2FudA0KPj4+IHRv
IGFkZCAiZS5nLiIuDQo+Pg0KPj4gVGhlIGJvdW5kYXJ5IGlzIHJlbGF0ZWQgdG8gdGhlIGFt
b3VudCBvZiBkYXRhIHJldHVybmVkIGJ5IFhTX0RJUkVDVE9SWQ0KPj4gZm9yICIvbG9jYWwv
ZG9tYWluIi4gQXMgc29vbiBhcyB0aGUgc3VtIG9mIChzdHJsZW4oZG9taWRfc3RyaW5nKSAr
IDEpDQo+PiBvZiBhbGwgZG9tYWlucyBpcyBsYXJnZXIgdGhhbiA0MDgwIChYRU5TVE9SRV9Q
QVlMT0FEX01BWCAtIHNpemVvZihzdHJ1Y3QNCj4+IHhzZF9zb2NrbXNnKSksIFhTX0RJUkVD
VE9SWSB3b24ndCBiZSBhYmxlIHRvIHJldHVybiB0aGUgbGlzdCBvZiBjaGlsZHJlbg0KPj4g
Zm9yICIvbG9jYWwvZG9tYWluIi4gVGhlIGxpbWl0IHdpbGwgZGVwZW5kIG9uIHRoZSBkb21p
ZCBkaXN0cmlidXRpb246DQo+PiBpbiB0aGUgd29yc3QgY2FzZSBpdCBjYW4gYmUgNjQwIChh
bGwgZG9taWRzIDUgZGlnaXRzKSwgaW4gdGhlIGJlc3QgY2FzZQ0KPj4gaXQgd2lsbCBiZSAx
MDM4IChhbGwgZG9taWRzIGJlbG93IDEwMDAgcHJlc2VudCwgdGhlIHJlc3QgYmVsb3cgMTAw
MDApLg0KPiANCj4gQW5kIGVsc2V3aGVyZSB0aGVyZSBjYW4ndCBiZSB2ZXJ5IG1hbnkgbm9k
ZXMgcmVzdWx0aW5nIGluIGEgc2ltaWxhcg0KPiBzaXR1YXRpb24/DQoNCk5vdCB3aXRob3V0
IHNvbWVvbmUgdHJ5aW5nIHRvIGZvcmNlIHRoaXMgYnkgd2lsbCAob25seSBwb3NzaWJsZSBi
eSBhDQpyb290IHVzZXIgb2YgZG9tMCwgZS5nLiB2aWEgY3JlYXRpbmcgbG90cyBvZiBub2Rl
cyBpbiB0aGUgc2FtZSBkaXJlY3RvcnkNCnZpYSAieGVuc3RvcmUtd3JpdGUiKS4NCg0KSGF2
aW5nIGxvdHMgb2YgZG9tYWlucyBpcyBhbiAiZWFzeSIgd2F5IHRvIGNyZWF0ZSB0aGlzIHNj
ZW5hcmlvIHZpYQ0KcGVyZmVjdGx5IHZhbGlkIGFuZCBzZW5zaWJsZSBvcGVyYXRpb25zLg0K
DQo+IA0KPj4+IEknbSBmdXJ0aGVyIHVuY2VydGFpbiBoZXJlIHJlZ2FyZGluZyB5b3VyIHVz
ZSBvZiBoYXJkIHRhYnMuDQo+Pg0KPj4gSSdtIGZvbGxvd2luZyB0aGUgc3R5bGUgb2YgdGhl
IHJlc3Qgb2YgdGhlIGRvY3VtZW50LCB3aGljaCBpcyBtYWtpbmcgdXNlDQo+PiBvZiBoYXJk
IHRhYnMgYXMgd2VsbC4gSSBjYW4gc3dpdGNoIHRvIHNwYWNlcyBpZiB5b3Ugd2FudC4NCj4g
DQo+IEknbSBub3QgZGVtYW5kaW5nIGEgY2hhbmdlLiBJJ2QgbGlrZSBpdCB0byBiZSBjb25z
aWRlcmVkIHRob3VnaCB0aGF0IHBlb3BsZQ0KPiBtYXkgaW4gcHJpbmNpcGxlIGJlIHVzaW5n
IGRpZmZlcmVudCB0YWItdG8tbnItb2YtYmxhbmtzIG1hcHBpbmdzLCB3aGljaA0KPiBjYXVz
ZXMgdGFidWxhciBhcnJhbmdlbWVudHMgbGlrZSB0aGUgYWJvdmUgb25lIHRvIGNvbWUgb3V0
IGRpc3RvcnRlZC4NCg0KRmFpciBlbm91Z2guDQoNCkknbSBnb2luZyB0byBzd2l0Y2ggdG8g
YmxhbmtzIGZvciB0aGUgdGFibGUuDQoNCg0KSnVlcmdlbg0K
--------------J0FB8snBw5ML5WPr4hHbancq
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-----

--------------J0FB8snBw5ML5WPr4hHbancq--

--------------4Ems178pIOmI1MGz2v0ChLE0--

--------------LjLgwWatB64v0LHqE2OfIQ4d
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/Ey8FAmfJofsFAwAAAAAACgkQsN6d1ii/Ey9L
bgf9GoEu+qVzOH9XS+ZA0vefW2SyAbZ8PZcjwd+CDXmvUW7+CXkBDhE1gltUvWfXb0clnUm1mE5c
V5EVUJAm6Htv5ThzjtGzuEroV8ZRLSfEWdyVbk5cBzzWZZRVbJWqYvYSGL8AdpZm5OI9U9qDmuTR
m5ojuwdc2d8n1UpFbAeLH1A48Y5bObdfJfczBNXSl54fo99cyZPx9cAgpYCy/N3F6onoh1WbNkKk
LFF+XmIFu5dHgsghAXqbFGM/cXyFbieEIVdkHvkjfNAnoAgMazYepfE+4ux2PRFMrV0+h8Wqz44f
yM7Ba9dQ2TnQshjgsiISuhEoKnGAjNmxtPcrsU0gXA==
=Zqm8
-----END PGP SIGNATURE-----

--------------LjLgwWatB64v0LHqE2OfIQ4d--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:27:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:27:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903532.1311485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqBFr-0003VR-1l; Thu, 06 Mar 2025 13:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903532.1311485; Thu, 06 Mar 2025 13:27: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 1tqBFq-0003VK-U9; Thu, 06 Mar 2025 13:27:14 +0000
Received: by outflank-mailman (input) for mailman id 903532;
 Thu, 06 Mar 2025 13:27: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqBFp-0003VC-H1
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:27:13 +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 b64c9173-fa8e-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 14:27:12 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so4113605e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 05:27:12 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4293250sm49599035e9.16.2025.03.06.05.27.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 05:27:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b64c9173-fa8e-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741267632; x=1741872432; 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=qm7FII8ejyTEOEL7EUUziK4xeiKBkOI3nh0XCvTONjk=;
        b=UniSsTs7FXl0Sn4V4I8FZkEQ+7lCQTbdxE40t461PEChUPCOeB+DU5Jm/Cj0AXmrfe
         9LqOqh+BeJAPgeOSzQXP+Egq+R5CFYLy9UoyDzHw6mDIX3zuDr83E/KwtFOFqSzaCSNO
         qwFxT0TG2tMn+ufT+DP3HaKl9NH7uVkEY9u2bwp8TMzNHgVH213wQHBOJNgnJldBtRVN
         fRxRDii/gUYXH614jLIQ7LXQMZzxEjkDLFi/xQOk0gt0qu08Lf+NqCbgOSXrYQWQ0Af2
         8KwTFfmS5D5fHvqA3F4+K2IJmZ2k74gZ2K4clJtkqEEca4IxC8tFxVIIrT26avTZ5LtZ
         /dcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741267632; x=1741872432;
        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=qm7FII8ejyTEOEL7EUUziK4xeiKBkOI3nh0XCvTONjk=;
        b=RD7fUwARL2M96QdcxJNU9/OVAOKJl1kAjisc+qNirwvdxVJvQGr19xK7qOai60gjcb
         RfpCP07ozJKn3RS0EKpmyD7mOkVJWF2EJv9ZnD0x0j6enDBCj/cK0ux5igItfe+dfWH1
         Te8Oqs4CCzkH+KrNmR4T9ZVnZVlm+AobhdhoskBqQHK52IbOv47qDYxGERiFDFl0Le4N
         yVSZFJYGpXLyWx65+og11ky7P2FO0c6vI/sgds73kZ97pt0lInvPBNarWJK/+Ukdczjj
         HvsT9belgOQHKRvo6H3q7TL8Bt1xt1ezdqZ3+59RHqDtTYGET4AzG5+SoavUQlUScZne
         bd1Q==
X-Gm-Message-State: AOJu0Yz9tK/za51K46MGqoPbFxYOxJSmZeEQKntRm3OMkvdDl+Ip8wXn
	O5y/xptR5gONMRW713GvCxfmKdPK9tn2K7LV2cSOdfCkfdSUZMCWcYoy8F2Anz4=
X-Gm-Gg: ASbGncsF+TML9wl0KSO/Rk0wLL2T5AcROiBKWb61dPC8exr+Sk0yeoD8F2onRj9Ec6J
	pMeGI0DbnPF8VNx3kGQSzLlViT3785M6ecEHJNd8TpAUyM3zTLRBVPQE1VNSgAlnqXqRS736A30
	Oi7PH5ivim+wBF5iaKrBeCZbjenK8cD8mbz6w9IjdbyUYMeaKW41QfpoR20gEpiYZcrhYqko434
	iUyClccEw4SksU2JL0MflZE50S5GMyTe7FYZRqhYH/FHhyZF9CKiSXLCQ+IEMIErxRZvvmaE4jN
	cgbxWxl5UEyRqlERDqmMdY1JH1QPdxPn9Bnk2uGntMx9jHNTCS3AJP76/nU92cv/0B2iqgkPSSc
	rriHFoRG1SMZvnb5cFYly4nPlXfNcYHkmkc3bWQ7KauR4OyLPBbnVm8t8Vcr2tKwl8A4=
X-Google-Smtp-Source: AGHT+IFa25BHHB8MAmxkz8AwZ3WD/8vN7e6aEwm3qY5PJ9FBGehSsqybC/O6VIeVaO01P1pn5w1jnQ==
X-Received: by 2002:a05:6000:1f8b:b0:390:f400:2083 with SMTP id ffacd0b85a97d-3911f58fa13mr7085845f8f.0.1741267630252;
        Thu, 06 Mar 2025 05:27:10 -0800 (PST)
Message-ID: <0ef805d0-68f1-4fb2-a6bb-5901304270bd@suse.com>
Date: Thu, 6 Mar 2025 14:27:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
 <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
 <alpine.DEB.2.22.394.2503051531380.1303386@ubuntu-linux-20-04-desktop>
 <c26a91be-8f13-4e22-be87-a96b81df0aa4@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: <c26a91be-8f13-4e22-be87-a96b81df0aa4@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0xI7sKtU8K0Wdv9oTLvy08D5"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0xI7sKtU8K0Wdv9oTLvy08D5
Content-Type: multipart/mixed; boundary="------------9x93gIaY5EK5T06Hw6M4rZh4";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <0ef805d0-68f1-4fb2-a6bb-5901304270bd@suse.com>
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
 <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
 <alpine.DEB.2.22.394.2503051531380.1303386@ubuntu-linux-20-04-desktop>
 <c26a91be-8f13-4e22-be87-a96b81df0aa4@suse.com>
In-Reply-To: <c26a91be-8f13-4e22-be87-a96b81df0aa4@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=

--------------9x93gIaY5EK5T06Hw6M4rZh4
Content-Type: multipart/mixed; boundary="------------RU0HKtp4PAZIGvROSUVQ4mSK"

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

T24gMDYuMDMuMjUgMTQ6MTMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDI1
IDAwOjMyLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+PiBPbiBXZWQsIDUgTWFyIDIw
MjUsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gT24gMjUuMDIuMjUgMTI6MTAsIEp1ZXJn
ZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IFBpbmc/IEVzcGVjaWFsbHkgLi4uDQo+Pj4+DQo+Pj4+
IE9uIDA0LjAyLjI1IDEyOjMzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+Pj4gWGVuc3Rv
cmVkIGlzIHVzaW5nIGxpYnhlbmN0cmwgZm9yIG9ubHkgb25lIHB1cnBvc2U6IHRvIGdldCBp
bmZvcm1hdGlvbg0KPj4+Pj4gYWJvdXQgc3RhdGUgb2YgZG9tYWlucy4NCj4+Pj4+DQo+Pj4+
PiBUaGlzIHBhdGNoIHNlcmllcyBpcyByZW1vdmluZyB0aGF0IGRlcGVuZGVuY3kgYnkgaW50
cm9kdWNpbmcgYSBuZXcNCj4+Pj4+IHN0YWJsZSBpbnRlcmZhY2Ugd2hpY2ggY2FuIGJlIHVz
ZWQgYnkgeGVuc3RvcmVkIGluc3RlYWQuDQo+Pj4+Pg0KPj4+Pj4gVGhlcmUgd2FzIGEgUkZD
IHNlcmllcyBzZW50IG91dCAzIHllYXJzIGFnbywgd2hpY2ggSSBoYXZlIHRha2VuIGFzIGEN
Cj4+Pj4+IGJhc2UgYW5kIGJ5IGFkZHJlc3NpbmcgYWxsIGNvbW1lbnRzIGZyb20gYmFjayB0
aGVuLg0KPj4+Pj4NCj4+Pj4+IFRoZSBtYWluIGRpZmZlcmVuY2VzIHNpbmNlIHRoYXQgUkZD
IHNlcmllcyBhcmU6DQo+Pj4+Pg0KPj4+Pj4gLSBJbnN0ZWFkIG9mIGludHJvZHVjaW5nIGFu
IG5ldyBtYWluIGh5cGVyY2FsbCBmb3IgYSBzdGFibGUgbWFuYWdlbWVudA0KPj4+Pj4gIMKg
wqAgaW50ZXJmYWNlIEkgaGF2ZSBqdXN0IGFkZGVkIGEgbmV3IGRvbWN0bCBzdWItb3AsIGFz
IHJlcXVlc3RlZCBpbiAyMDIxLg0KPj4+Pj4NCj4+Pj4+IC0gSSBoYXZlIGFkZGVkIGEgbmV3
IGxpYnJhcnkgbGlieGVubWFuYWdlIGZvciBlYXN5IHVzZSBvZiB0aGUgbmV3DQo+Pj4+PiAg
wqDCoCBzdGFibGUgaHlwZXJ2aXNvciBpbnRlcmZhY2UuIE1haW4gbW90aXZhdGlvbiBmb3Ig
YWRkaW5nIHRoZSBsaWJyYXJ5DQo+Pj4+PiAgwqDCoCB3YXMgdGhlIHJlY2VudCBhdHRlbXB0
IHRvIGRlY291cGxlIG94ZW5zdG9yZWQgZnJvbSB0aGUgWGVuIGdpdCB0cmVlLg0KPj4+Pj4g
IMKgwqAgQnkgdXNpbmcgdGhlIG5ldyBsaWJyYXJ5LCBveGVuc3RvcmVkIGNvdWxkIGJlbmVm
aXQgaW4gdGhlIHNhbWUgd2F5IGFzDQo+Pj4+PiAgwqDCoCB4ZW5zdG9yZWQgZnJvbSB0aGUg
bmV3IGludGVyZmFjZTogaXQgd291bGQgYmUgcG9zc2libGUgdG8gcmVseSBvbg0KPj4+Pj4g
IMKgwqAgc3RhYmxlIGxpYnJhcmllcyBvbmx5Lg0KPj4+Pj4NCj4+Pj4+IC0gTWluaS1PUyBo
YXMgZ2FpbmVkIHNvbWUgbW9yZSBjb25maWcgb3B0aW9ucyByZWNlbnRseSwgc28gaXQgd2Fz
IHJhdGhlcg0KPj4+Pj4gIMKgwqAgZWFzeSB0byBtYWtlIHhlbnN0b3JlW3B2aF0tc3R1YmRv
bSBpbmRlcGVuZGVudCBmcm9tIGxpYnhlbmN0cmwsIHRvby4NCj4+Pj4+DQo+Pj4+PiBQbGVh
c2Ugbm90ZSB0aGF0IHRoZSBsYXN0IDQgcGF0Y2hlcyBjYW4gYmUgY29tbWl0dGVkIG9ubHkg
YWZ0ZXIgdGhlDQo+Pj4+PiByZWxhdGVkIE1pbmktT1MgcGF0Y2ggImNvbmZpZzogYWRkIHN1
cHBvcnQgZm9yIGxpYnhlbm1hbmFnZSIgaGFzIGdvbmUgaW4NCj4+Pj4+IEFORCB0aGUgTWlu
aS1PUyBjb21taXQtaWQgaGFzIGJlZW4gdXBkYXRlZCBpbiBDb25maWcubWsgYWNjb3JkaW5n
bHkhIFRoZQ0KPj4+Pj4gTWluaS1PUyBwYXRjaCBoYXMgYmVlbiBBY2tlZCBhbHJlYWR5LCBz
byBpdCBjYW4gZ28gaW4gYXMgc29vbiBhcyBwYXRjaA0KPj4+Pj4gNSBvZiB0aGlzIHNlcmll
cyAodGhlIG9uZSBpbnRyb2R1Y2luZyBsaWJ4ZW5tYW5hZ2UpIGhhcyBiZWVuIGNvbW1pdHRl
ZC4NCj4+Pj4+DQo+Pj4+PiBBcyBwYXRjaGVzIDEgYW5kIDIgY2hhbmdlIGN1cnJlbnQgYmVo
YXZpb3IsIEphbiBkaWRuJ3Qgd2FudCB0byBnaXZlIGhpcw0KPj4+Pj4gQWNrIChoZSBkaWRu
J3QgcmVqZWN0IHRoZSBwYXRjaCBlaXRoZXIpLiBTbyBJJ20gYXNraW5nIG90aGVyICJSZXN0
Ig0KPj4+Pj4gbWFpbnRhaW5lcnMgdG8gbG9vayBhdCB0aG9zZSBwYXRjaGVzIHNwZWNpZmlj
YWxseS4NCj4+Pj4NCj4+Pj4gLi4uIHBhdGNoZXMgMSBhbmQgMiBjb3VsZCBuZWVkIGFuIGFk
ZGl0aW9uYWwgb3Bpbmlvbi4NCj4+Pg0KPj4+IEFuZCBhbm90aGVyIHBpbmcuDQo+Pj4NCj4+
PiBPbmUgb2YgQW5kcmV3LCBTdGVmYW5vLCBKdWxpZW4sIFJvZ2VyLCBBbnRob255LCBNaWNh
bDogUGxlYXNlIGhhdmUgYSBsb29rLg0KPj4+DQo+Pj4gVGhlIHJlbGF0ZWQgZGlzY3Vzc2lv
biBiZXR3ZWVuIEphbiBhbmQgbWUgY2FuIGJlIGZvdW5kIGhlcmUgKHBhdGNoZXMgMiBhbmQg
Myk6DQo+Pj4NCj4+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMjAyNTAx
MDcxMDE3MTEuNTk4MC0xLWpncm9zc0BzdXNlLmNvbS8NCj4+DQo+PiBJIGRpZG4ndCBkbyBh
biBpbi1kZXRhaWxzIHJldmlldyBidXQgYmFzZWQgb24gSmFuJ3MgY29tbWVudHMgYW5kIHlv
dXINCj4+IHJlcGxpZXMsIEkgdGhpbmsgdGhleSBhcmUgYW4gaW1wcm92ZW1lbnQuIElmIHNv
bWVvbmUgZWxzZSB3YW50cyB0byBkbyBhDQo+PiBwcm9wZXIgcmV2aWV3LCB0aGV5IHdvdWxk
IGJlIHdlbGNvbWUuDQo+Pg0KPj4gQWNrZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0
YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gDQo+IEkndmUgdGFrZW4gdGhlIGNvbnNlcnZhdGl2
ZSBhcHByb2FjaCBhbmQgaW50ZXJwcmV0ZWQgdGhpcyBhcyBhbiBhY2sgZm9yIHRoZQ0KPiB0
d28gcGF0Y2hlcyBpbiBxdWVzdGlvbiBvbmx5LCByYXRoZXIgdGhhbiB0aGUgZW50aXJlIHNl
cmllcy4gUGxlYXNlIGluZGljYXRlDQo+IGlmIGl0IHdhcyBtZWFudCB0aGUgb3RoZXIgd2F5
IGFyb3VuZCwgYXMgdGhlbiB0aGUgZmluYWwgMyBwYXRjaGVzIGNvdWxkIGFsc28NCj4gZ28g
aW4uDQoNClNvcnJ5LCBidXQgcGxlYXNlIHJldmVydCB0aGUgbGFzdCBwYXRjaCBvZiB0aGlz
IHNlcmllcyB5b3UndmUgY29tbWl0dGVkDQphbHJlYWR5LiBBcyBzdGF0ZWQgaW4gdGhlIGNv
dmVyIGxldHRlciBBTkQgdGhhdCBwYXRjaCwgYSBNaW5pLU9TIHBhdGNoIGFuZA0KdGhlIGJ1
bXAgb2YgdGhlIE1pbmktT1MgY29tbWl0IGluIENvbmZpZy5tayBhcmUgcmVxdWlyZWQgaW4g
b3JkZXIgdG8gYXZvaWQNCmJ1aWxkIGZhaWx1cmVzIHdoZW4gdHJ5aW5nIHRvIGJ1aWxkIHRo
ZSBYZW5zdG9yZS1zdHViZG9tIGJpbmFyaWVzLg0KDQoNCkp1ZXJnZW4NCg==
--------------RU0HKtp4PAZIGvROSUVQ4mSK
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-----

--------------RU0HKtp4PAZIGvROSUVQ4mSK--

--------------9x93gIaY5EK5T06Hw6M4rZh4--

--------------0xI7sKtU8K0Wdv9oTLvy08D5
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/Ey8FAmfJoq0FAwAAAAAACgkQsN6d1ii/Ey+f
TQf/SNcsU0LijYZ/w/rd1mQH5jW5lEF417Oc+IDsjHaVPmFz2k722T+CGcLhKwKbzwUkQhPdHz6a
882sqCt61rZbo/fJgTBeMbgL1ZfUcVnei84+3QYEJGexy5C29ORqnKd995wypAooSfYUCM7A0qeU
kFzrGUXwIl53r/F+1MsM43u+0uExyiELu0gq1C96G1cym6xoQWKyrd9icmr3BSNIoE7EXiLA6q8i
AF7YFHJmqicnNugWJjQbgTlpI4sCTevyvTMowGgDhOqAqb6YctXOVVV/FhtniRcmweRJOAp2GhGU
mFjQkriZ1Dsk1Ma+yX3wk76oroRv9MlqzI2z2IJAkQ==
=slPE
-----END PGP SIGNATURE-----

--------------0xI7sKtU8K0Wdv9oTLvy08D5--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:52:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903544.1311494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqBdl-00018Y-Ty; Thu, 06 Mar 2025 13:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903544.1311494; Thu, 06 Mar 2025 13:51: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 1tqBdl-00018R-RB; Thu, 06 Mar 2025 13:51:57 +0000
Received: by outflank-mailman (input) for mailman id 903544;
 Thu, 06 Mar 2025 13:51: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqBdk-00018L-Hg
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:51:56 +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 2a268b1b-fa92-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 14:51:55 +0100 (CET)
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 A82571F794;
 Thu,  6 Mar 2025 13:51:54 +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 4AD0C13A61;
 Thu,  6 Mar 2025 13:51:54 +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 4EqJEHqoyWedbwAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 13:51: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: 2a268b1b-fa92-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741269114; 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=5iuWoti/IGUkvoQqNUeA2+xpd7pvMEl9pl5epF27p8M=;
	b=YaRT5aUi4hpnA+9iDslAkEr4CztKClA73db4NQXzXVTAvkgO/PlUCptZrUeoVOiF9EI7Kq
	uNZKaTwvsv5dHUwPkPUUyWD/U9X5VR7oc1sdxcrn6ViPZB1CP+o8O8vFPI8F2eMmLhUm1A
	Hnb2Nu1V4XfGc26WDH5/4/cN8PDxcjI=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741269114; 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=5iuWoti/IGUkvoQqNUeA2+xpd7pvMEl9pl5epF27p8M=;
	b=YaRT5aUi4hpnA+9iDslAkEr4CztKClA73db4NQXzXVTAvkgO/PlUCptZrUeoVOiF9EI7Kq
	uNZKaTwvsv5dHUwPkPUUyWD/U9X5VR7oc1sdxcrn6ViPZB1CP+o8O8vFPI8F2eMmLhUm1A
	Hnb2Nu1V4XfGc26WDH5/4/cN8PDxcjI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] config: update Mini-OS commit
Date: Thu,  6 Mar 2025 14:51:52 +0100
Message-ID: <20250306135152.11188-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	RCPT_COUNT_SEVEN(0.00)[9];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Update the Mini-OS upstream revision.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 8b426a580f..8a73f3da62 100644
--- a/Config.mk
+++ b/Config.mk
@@ -232,7 +232,7 @@ QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
 QEMU_UPSTREAM_REVISION ?= master
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
-MINIOS_UPSTREAM_REVISION ?= 6d5159e8410be16a47433bac1627e63f8adc7cd9
+MINIOS_UPSTREAM_REVISION ?= d273a44cec90dad5d3f0bc361a6fea41e0288a56
 
 SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
 SEABIOS_UPSTREAM_REVISION ?= rel-1.16.3
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:53:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903554.1311506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqBfA-0001cL-9r; Thu, 06 Mar 2025 13:53:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903554.1311506; Thu, 06 Mar 2025 13:53: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 1tqBfA-0001cE-4r; Thu, 06 Mar 2025 13:53:24 +0000
Received: by outflank-mailman (input) for mailman id 903554;
 Thu, 06 Mar 2025 13: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqBf9-0001bz-8i
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:53:23 +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 5d11153b-fa92-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 14:53:20 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43bbb440520so7661495e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 05:53:20 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfcb8sm2142417f8f.33.2025.03.06.05.53.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 05:53:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d11153b-fa92-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741269200; x=1741874000; 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=qT1x+ulaThyGriwOwx7YIEF9wd6WAWno+Iwl4h3I0mk=;
        b=Q3UvoR/1E+vvA9H9xCfg9N83ojdCv35nsb4scnhLJTrDRqbFS2l4ZFiuJWJPNgy/Hl
         wlmXv1ikwdKfWZBYZ9gi7hF8ft0clv0tepsnTNxygJf2jVl1jCM1IgRWitNz3oiq/rOL
         ti2FxAoY1tH6PUc42fHHOG00p74gBXfCtIoSxQFlEzAkq1qwLSxxERaHKJwfzzGRBgYz
         HvEvsIHozfPWz0T9nTyWUTzac89mkk6WcP0EZpWIIrL1LJ66d4pN62Z2pyxgRM9jt560
         pnUmg7WNFIuet1JK14E6nzzpMSNjN+D/R/22UPKnNooZCqCvBe57y+d4U4kmHLBeIjBL
         Obng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741269200; x=1741874000;
        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=qT1x+ulaThyGriwOwx7YIEF9wd6WAWno+Iwl4h3I0mk=;
        b=jAbX0ikbL7BXaHkBoc3iOxTY6jMUvV7A0oekh2OfhwAQ3NuDOOp1d+PXDTeWWcOLjM
         1+vlST+xiyLz4ebKysFzUysATRDx/zNn0P+LCvAT0UKrrN7nvAoeKkZFcGD7vURwlupn
         W8yisnUNzUPW84VlS/dhoG54g+Lyy9b2xWODBM0Pi4Iw3BUMBeuTjxrZbdzzwsrxJwjL
         C0gGAM3UiKqn2l4vHKH/bLYVWNdJVPKuVWY/H718e77FLhbsz2JMRR4sdAgT/V/06U9e
         qYngXSjDiK3Xue4UrqBRLBlaMgAcLmuc5C3BTu7r8K+Q9X2tnRtrX7UsghcDOih7v+St
         KWVw==
X-Gm-Message-State: AOJu0YyL8ISM5BNwJ8GqJF2pFjDoCfw5hgnODzxFWXKauIKglojdQdMc
	ugIO3js/Y/+PDyl5T/dx16/2ZGh5ZWavONVXoie8XPVx47sVOhwBWYIkwt1yvQ==
X-Gm-Gg: ASbGncu0+hWzeK+wweoINeWtroJPUT31WPAtW2TIA4dZf1i31EQMx6BoBbSkDMXCwXO
	8fRY1PJQ4bIhiMpvRKoOJoO4TVGci3+gPl3ueIu2AV67UXTO17kKyFM031EXgZ23LG3j9JXgmHO
	Ljwu2Sm1bj8F2VcbENM7Mw8UqwsjYxHlKGjxd0w07fXemz23GXLaP5Va6SCrLB7ms+JIL0Nd/df
	tg1NzEK80dRO8bGr/3Iwz8EEdse+fbjL6YqTvhO56o549G3e6WF6+P13Km8uT2atNJ6frBCkaUn
	/kKpLpP9wmYk7K3J3wTM/2Mvk9j3vtt/2gOB6W9AAL9JNzcdewH9DB44LjzP5duf9V0aOqjUAkN
	y9DeuJle6UcH6545jHhUj1fwEk33LQw==
X-Google-Smtp-Source: AGHT+IF2X6notgrJdgunewzuoDmpOiR51gSMhSZbWSTcsC70c6A0eY25zVmR/MmpvP65u79uNxrppA==
X-Received: by 2002:adf:8b5e:0:b0:391:2a9a:4796 with SMTP id ffacd0b85a97d-3912a9a4963mr1980743f8f.18.1741269200038;
        Thu, 06 Mar 2025 05:53:20 -0800 (PST)
Message-ID: <98ed1cc8-48e9-4db0-8d0c-78c63fc2e4fe@suse.com>
Date: Thu, 6 Mar 2025 14:53:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
 <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
 <alpine.DEB.2.22.394.2503051531380.1303386@ubuntu-linux-20-04-desktop>
 <c26a91be-8f13-4e22-be87-a96b81df0aa4@suse.com>
 <0ef805d0-68f1-4fb2-a6bb-5901304270bd@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: <0ef805d0-68f1-4fb2-a6bb-5901304270bd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 14:27, JĂźrgen GroĂ wrote:
> On 06.03.25 14:13, Jan Beulich wrote:
>> On 06.03.2025 00:32, Stefano Stabellini wrote:
>>> On Wed, 5 Mar 2025, Juergen Gross wrote:
>>>> On 25.02.25 12:10, Juergen Gross wrote:
>>>>> Ping? Especially ...
>>>>>
>>>>> On 04.02.25 12:33, Juergen Gross wrote:
>>>>>> Xenstored is using libxenctrl for only one purpose: to get information
>>>>>> about state of domains.
>>>>>>
>>>>>> This patch series is removing that dependency by introducing a new
>>>>>> stable interface which can be used by xenstored instead.
>>>>>>
>>>>>> There was a RFC series sent out 3 years ago, which I have taken as a
>>>>>> base and by addressing all comments from back then.
>>>>>>
>>>>>> The main differences since that RFC series are:
>>>>>>
>>>>>> - Instead of introducing an new main hypercall for a stable management
>>>>>>  Â Â  interface I have just added a new domctl sub-op, as requested in 2021.
>>>>>>
>>>>>> - I have added a new library libxenmanage for easy use of the new
>>>>>>  Â Â  stable hypervisor interface. Main motivation for adding the library
>>>>>>  Â Â  was the recent attempt to decouple oxenstored from the Xen git tree.
>>>>>>  Â Â  By using the new library, oxenstored could benefit in the same way as
>>>>>>  Â Â  xenstored from the new interface: it would be possible to rely on
>>>>>>  Â Â  stable libraries only.
>>>>>>
>>>>>> - Mini-OS has gained some more config options recently, so it was rather
>>>>>>  Â Â  easy to make xenstore[pvh]-stubdom independent from libxenctrl, too.
>>>>>>
>>>>>> Please note that the last 4 patches can be committed only after the
>>>>>> related Mini-OS patch "config: add support for libxenmanage" has gone in
>>>>>> AND the Mini-OS commit-id has been updated in Config.mk accordingly! The
>>>>>> Mini-OS patch has been Acked already, so it can go in as soon as patch
>>>>>> 5 of this series (the one introducing libxenmanage) has been committed.
>>>>>>
>>>>>> As patches 1 and 2 change current behavior, Jan didn't want to give his
>>>>>> Ack (he didn't reject the patch either). So I'm asking other "Rest"
>>>>>> maintainers to look at those patches specifically.
>>>>>
>>>>> ... patches 1 and 2 could need an additional opinion.
>>>>
>>>> And another ping.
>>>>
>>>> One of Andrew, Stefano, Julien, Roger, Anthony, Mical: Please have a look.
>>>>
>>>> The related discussion between Jan and me can be found here (patches 2 and 3):
>>>>
>>>> https://lore.kernel.org/xen-devel/20250107101711.5980-1-jgross@suse.com/
>>>
>>> I didn't do an in-details review but based on Jan's comments and your
>>> replies, I think they are an improvement. If someone else wants to do a
>>> proper review, they would be welcome.
>>>
>>> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
>>
>> I've taken the conservative approach and interpreted this as an ack for the
>> two patches in question only, rather than the entire series. Please indicate
>> if it was meant the other way around, as then the final 3 patches could also
>> go in.
> 
> Sorry, but please revert the last patch of this series you've committed
> already. As stated in the cover letter AND that patch, a Mini-OS patch and
> the bump of the Mini-OS commit in Config.mk are required in order to avoid
> build failures when trying to build the Xenstore-stubdom binaries.

Indeed, I overlooked this while preparing what to commit (while I remember
noticing it earlier on). Still it's probably sub-optimal to have a series
split in the middle like this.

Instead of reverting, let's bump the MiniOS ref in staging instead, as you
did suggest on Matrix.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:54:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903565.1311515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqBgT-0002DT-OA; Thu, 06 Mar 2025 13:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903565.1311515; Thu, 06 Mar 2025 13:54: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 1tqBgT-0002DM-Kj; Thu, 06 Mar 2025 13:54:45 +0000
Received: by outflank-mailman (input) for mailman id 903565;
 Thu, 06 Mar 2025 13:54: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqBgS-0002DB-3D
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:54: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 8e4b6b43-fa92-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 14:54:43 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso7716555e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 05:54:43 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4291cb9sm50683075e9.13.2025.03.06.05.54.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 05:54:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e4b6b43-fa92-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741269283; x=1741874083; 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=3CB/tNK/UcNhgs6UI6IRvNTHvxFlI211Lzete/13Fy0=;
        b=Yd8q9m62mdYvby5u2J5BZNV0Gj8oB/7ZFqMC2Ct+lJfm6JcD2JG8PG0sl34641RMkY
         8l+zImRDzrjjP7QmYnKTFBikqaeRU6wbdb+43HXiVCDUt7/W0+Q9yY45O14Bsh8rEBTh
         CUEvPYfynwRZzwSQ8gefLtEsSYUQoIaOvqZakT3q+5VNxgvyJRonz72epwLNw8d198+p
         yDVq0IaVTRsGm2mCyJYacppac6SEZqTlI1J1o+rMXD0DpVGEFAA/QJ52yird+TIfwXGV
         zqEbW/a1++s0+tW/hCn6aOPUGHxt+GGS+ZqYAsUbhxlpnjKh5V7GCsH0lwNoV/YMCR9U
         qc6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741269283; x=1741874083;
        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=3CB/tNK/UcNhgs6UI6IRvNTHvxFlI211Lzete/13Fy0=;
        b=Zg6RyrO1lHeIyoOKurka805LGk8j5aXt/qTQlpxVTNOKHuv8SDVXjcrV5nlID1nS+o
         By53nPxY5ToMr4YAvTrp5bmqBSV669EWYrZGRaYF8xA/8RyYykl7Gdokk6bilESGs7f2
         zEVf4SbBEbrlhz2EbouiPFvAZhbHrDU0IILw1VNyZFjYPt01i4yh6m5xkpCvS2Yijc2J
         BfFHPOMEZPHFX13InUFTWcBYEdP+dJJe0+JJl4H4Xfx6C2edloTNOfR5OZC8zcCN1QJS
         6K+6D4de/38/8eYxQLVHjcKKpmKtX8W/+Npwfdt6y3eAK8AhG0i5m8DXb9xTOj+AV51R
         40QA==
X-Forwarded-Encrypted: i=1; AJvYcCUmS1uAWzkDime9wWQujNjn48UaLp+JKBPYYOUrg5DjMbXzKp7cf08ZVJ8MdEiSYQhso29J9z/Qw6Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKOxUQDHvQkVrIN3UJOVtTzMyZcgVIOjaK/KS06KeOAyF5rw3m
	2DVX+VTkpgwn+4ROPygTC6fNuDmXnymWyD3a3mC7prCi1j7hot5KUNOkbzbYWQ==
X-Gm-Gg: ASbGncuFp9F8b7gzjAalo2parONt+qA7Ri+AK3oNYzp4GV2QfzIIm879hDBdTy4ZwFA
	KAzE7Ml7EGSC6dPiNTyTO3PzqBEHEa/6iKdfZQLHgO7SnhYJyOCWpco5IyQ+wFFRHBIRZ/QDmkH
	/+QMNmGIFicVm7KaYggMbO+VgrUIP+Xk80tuczmqDlffnTWatfRCmVfj3RPgVcWPoG9ybMlgtTP
	TcPKVjctt6k6rKvZwGb/IeRelgxhyq0vrv0rRmuoTbhk+ipIoD2MYhVu7vrCuvuGCAynknZGi5r
	YlzFhp67PmP7U7g70DdZRJTdFHZbs7XR7iXuBO3SIwKleNoDxlIfmMPBJFyYFHNXKKe8rpl1nRJ
	S1wRkj5NSoht3jNW5z81G9dpjAlL7FA==
X-Google-Smtp-Source: AGHT+IEEEX3ShPj7MUOdd97/qEYbCuumN6O7fjURnB0YMvBj2ns6L1iwfQmZLtg0ypNJTTYo+KgcQw==
X-Received: by 2002:a05:600c:35c2:b0:43b:a397:345f with SMTP id 5b1f17b1804b1-43bd2945a39mr80222695e9.11.1741269282672;
        Thu, 06 Mar 2025 05:54:42 -0800 (PST)
Message-ID: <45259237-0495-477e-8966-31b2cceff56e@suse.com>
Date: Thu, 6 Mar 2025 14:54:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] config: update Mini-OS commit
To: Juergen Gross <jgross@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306135152.11188-1-jgross@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: <20250306135152.11188-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 14:51, Juergen Gross wrote:
> Update the Mini-OS upstream revision.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Mar 06 13:56:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 13:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903575.1311529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqBi6-0002oP-33; Thu, 06 Mar 2025 13:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903575.1311529; Thu, 06 Mar 2025 13: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 1tqBi6-0002oI-0V; Thu, 06 Mar 2025 13:56:26 +0000
Received: by outflank-mailman (input) for mailman id 903575;
 Thu, 06 Mar 2025 13: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqBi5-0002oC-Av
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 13:56:25 +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 ca8d5d40-fa92-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 14:56:24 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-abf5e1a6cd3so120374466b.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 05:56:24 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac23988e584sm100554566b.146.2025.03.06.05.56.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 05:56:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca8d5d40-fa92-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741269384; x=1741874184; 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=liU28cGLCjyVNVJPx6S6CtMOMSmPsvTQX/ZJLxRxnyg=;
        b=fJDo1JTNZK9WqGNfCPKNoMiz2n0bhJgBMGTC5fCBIXeFP1/NPN43v/x6qWUxE5Wiou
         TBNzBeKxSCKHS9DSIstht0rt3WOYBW15wJ/gAQMR9aeZcIaXqzrHn84WTTPX650+hf/8
         7aAmiZdV2TaXBl9u+av5lELYo/iotDh5a8sZoHkowZJM1CRK+XMcSDP8zk03lbV8Tr/J
         7N7/V42Ww9ZMqEAFxxQRlKMMonWI7eK4VzIjoPUxqlHnV/Blz056R/BH68u1VvJSfGyF
         +OUTDJIQ0qSwBUqh+nkdLBuastt4y289dkaf3GYR6aMF7SGw+JChmohFQdWtFN5jYb+X
         FK0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741269384; x=1741874184;
        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=liU28cGLCjyVNVJPx6S6CtMOMSmPsvTQX/ZJLxRxnyg=;
        b=S2hXPIXHSx/ho74SD9Fiaq7bfm5PPwY3YEQwPk/tNjlNyV39ysHYNNd4tyLYGgaeha
         ZdBn58Fei601yPLYksnaFfEARUZlXjq8QhGkl50piTWznyVqUvszlVUbZ3AcyxGM6c8y
         IGjEXzUswed77GNwkQTO8P8XIvvGYKpFPWdOj31EDxKhW5xa+9Du9/gFzRnfQ2anCpcO
         KYVjzB2BFiwC+N5xygqP72Y9I7boNPFgmGl5OhaFwtdtN4/5Pw46p2EMXORELWpIk9bJ
         lqySPZQHu0+QfOdubaS2f+xUgHYgEJ9k77ZxFOsHqVzVeb3H/GIW6Nxs7MreR96KnCyp
         0sew==
X-Gm-Message-State: AOJu0YyT0h2ZcqKzNb4RR3mUQ9knU72NR4ERX9sPcIrhcbkpGMCWwNq9
	UmAf0arTCccvUXU6U4/t3MccXLG5BXVS+7D6qjd5BjfT4O5Nao6IYzdwUf2bBc0=
X-Gm-Gg: ASbGncuFpj7bw8X2LuDYvMHFMXR/FDKIUGYfmekTk04Yks5TA7A08MDfwAlX+MSAYxA
	XxJWj2YladxFnw2drlj/qCFI4Ak0abRgUVss+elRS0kPYmV3X15L6wRp/UVtDVsZzcjzOczPpUK
	OQurQV7s1GZt42rjW7aS9MkG+p2BjbGpkvF1nQo8SlTWjK8PLu2252arDB626gueNsIoNkAmBWf
	YK2L7l+mXEj5panKJwFvEaG+iRfcbB10W7bA38wuYBigi8MTu8zijB78AB2MKGQP6GYMlDz7dlZ
	NL/r0yW55DgjPBsuRm9I+MZSbktLRogCymKDZgNIv2RAa8MSSBwUQ4G3Xcpk/CgEtFARzNvSTJB
	RfXisxWfvk/IbHZb+duy7/sODI9dgCceuEwa3bxb50XdjYDQ4VSkTQ4FA1CQXjlIA1m0=
X-Google-Smtp-Source: AGHT+IElQJQxw7rbBZxuQCSuuwChrIVDYVLGeeXHHH8O5rq5JCFSkxUpAeH8R+mQEXw7bVLUzJpmcQ==
X-Received: by 2002:a17:907:3f15:b0:abf:5fa3:cf96 with SMTP id a640c23a62f3a-ac20daad2a9mr677755166b.14.1741269383610;
        Thu, 06 Mar 2025 05:56:23 -0800 (PST)
Message-ID: <85d4f6f1-7fd0-4555-9ad9-c92469f8c8fc@suse.com>
Date: Thu, 6 Mar 2025 14:56:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
 <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
 <alpine.DEB.2.22.394.2503051531380.1303386@ubuntu-linux-20-04-desktop>
 <c26a91be-8f13-4e22-be87-a96b81df0aa4@suse.com>
 <0ef805d0-68f1-4fb2-a6bb-5901304270bd@suse.com>
 <98ed1cc8-48e9-4db0-8d0c-78c63fc2e4fe@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: <98ed1cc8-48e9-4db0-8d0c-78c63fc2e4fe@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------d5PvF9eSABHcuh4CnKq8Wjq0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------d5PvF9eSABHcuh4CnKq8Wjq0
Content-Type: multipart/mixed; boundary="------------6evQufgbRvbZynEHiH7j0rOs";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <85d4f6f1-7fd0-4555-9ad9-c92469f8c8fc@suse.com>
Subject: Re: [PATCH v8 0/9] remove libxenctrl usage from xenstored
References: <20250204113407.16839-1-jgross@suse.com>
 <6e63a858-9554-440b-92f1-55dc34256e0b@suse.com>
 <9c8f50d4-9139-4541-8acb-ff407b61ef97@suse.com>
 <alpine.DEB.2.22.394.2503051531380.1303386@ubuntu-linux-20-04-desktop>
 <c26a91be-8f13-4e22-be87-a96b81df0aa4@suse.com>
 <0ef805d0-68f1-4fb2-a6bb-5901304270bd@suse.com>
 <98ed1cc8-48e9-4db0-8d0c-78c63fc2e4fe@suse.com>
In-Reply-To: <98ed1cc8-48e9-4db0-8d0c-78c63fc2e4fe@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=

--------------6evQufgbRvbZynEHiH7j0rOs
Content-Type: multipart/mixed; boundary="------------Hv9OqfVZvBujihxODLW0fS0h"

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

T24gMDYuMDMuMjUgMTQ6NTMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDI1
IDE0OjI3LCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0KPj4gT24gMDYuMDMuMjUgMTQ6MTMsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA2LjAzLjIwMjUgMDA6MzIsIFN0ZWZhbm8gU3Rh
YmVsbGluaSB3cm90ZToNCj4+Pj4gT24gV2VkLCA1IE1hciAyMDI1LCBKdWVyZ2VuIEdyb3Nz
IHdyb3RlOg0KPj4+Pj4gT24gMjUuMDIuMjUgMTI6MTAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6
DQo+Pj4+Pj4gUGluZz8gRXNwZWNpYWxseSAuLi4NCj4+Pj4+Pg0KPj4+Pj4+IE9uIDA0LjAy
LjI1IDEyOjMzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+Pj4+PiBYZW5zdG9yZWQgaXMg
dXNpbmcgbGlieGVuY3RybCBmb3Igb25seSBvbmUgcHVycG9zZTogdG8gZ2V0IGluZm9ybWF0
aW9uDQo+Pj4+Pj4+IGFib3V0IHN0YXRlIG9mIGRvbWFpbnMuDQo+Pj4+Pj4+DQo+Pj4+Pj4+
IFRoaXMgcGF0Y2ggc2VyaWVzIGlzIHJlbW92aW5nIHRoYXQgZGVwZW5kZW5jeSBieSBpbnRy
b2R1Y2luZyBhIG5ldw0KPj4+Pj4+PiBzdGFibGUgaW50ZXJmYWNlIHdoaWNoIGNhbiBiZSB1
c2VkIGJ5IHhlbnN0b3JlZCBpbnN0ZWFkLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBUaGVyZSB3YXMg
YSBSRkMgc2VyaWVzIHNlbnQgb3V0IDMgeWVhcnMgYWdvLCB3aGljaCBJIGhhdmUgdGFrZW4g
YXMgYQ0KPj4+Pj4+PiBiYXNlIGFuZCBieSBhZGRyZXNzaW5nIGFsbCBjb21tZW50cyBmcm9t
IGJhY2sgdGhlbi4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gVGhlIG1haW4gZGlmZmVyZW5jZXMgc2lu
Y2UgdGhhdCBSRkMgc2VyaWVzIGFyZToNCj4+Pj4+Pj4NCj4+Pj4+Pj4gLSBJbnN0ZWFkIG9m
IGludHJvZHVjaW5nIGFuIG5ldyBtYWluIGh5cGVyY2FsbCBmb3IgYSBzdGFibGUgbWFuYWdl
bWVudA0KPj4+Pj4+PiAgIMKgwqAgaW50ZXJmYWNlIEkgaGF2ZSBqdXN0IGFkZGVkIGEgbmV3
IGRvbWN0bCBzdWItb3AsIGFzIHJlcXVlc3RlZCBpbiAyMDIxLg0KPj4+Pj4+Pg0KPj4+Pj4+
PiAtIEkgaGF2ZSBhZGRlZCBhIG5ldyBsaWJyYXJ5IGxpYnhlbm1hbmFnZSBmb3IgZWFzeSB1
c2Ugb2YgdGhlIG5ldw0KPj4+Pj4+PiAgIMKgwqAgc3RhYmxlIGh5cGVydmlzb3IgaW50ZXJm
YWNlLiBNYWluIG1vdGl2YXRpb24gZm9yIGFkZGluZyB0aGUgbGlicmFyeQ0KPj4+Pj4+PiAg
IMKgwqAgd2FzIHRoZSByZWNlbnQgYXR0ZW1wdCB0byBkZWNvdXBsZSBveGVuc3RvcmVkIGZy
b20gdGhlIFhlbiBnaXQgdHJlZS4NCj4+Pj4+Pj4gICDCoMKgIEJ5IHVzaW5nIHRoZSBuZXcg
bGlicmFyeSwgb3hlbnN0b3JlZCBjb3VsZCBiZW5lZml0IGluIHRoZSBzYW1lIHdheSBhcw0K
Pj4+Pj4+PiAgIMKgwqAgeGVuc3RvcmVkIGZyb20gdGhlIG5ldyBpbnRlcmZhY2U6IGl0IHdv
dWxkIGJlIHBvc3NpYmxlIHRvIHJlbHkgb24NCj4+Pj4+Pj4gICDCoMKgIHN0YWJsZSBsaWJy
YXJpZXMgb25seS4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gLSBNaW5pLU9TIGhhcyBnYWluZWQgc29t
ZSBtb3JlIGNvbmZpZyBvcHRpb25zIHJlY2VudGx5LCBzbyBpdCB3YXMgcmF0aGVyDQo+Pj4+
Pj4+ICAgwqDCoCBlYXN5IHRvIG1ha2UgeGVuc3RvcmVbcHZoXS1zdHViZG9tIGluZGVwZW5k
ZW50IGZyb20gbGlieGVuY3RybCwgdG9vLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBQbGVhc2Ugbm90
ZSB0aGF0IHRoZSBsYXN0IDQgcGF0Y2hlcyBjYW4gYmUgY29tbWl0dGVkIG9ubHkgYWZ0ZXIg
dGhlDQo+Pj4+Pj4+IHJlbGF0ZWQgTWluaS1PUyBwYXRjaCAiY29uZmlnOiBhZGQgc3VwcG9y
dCBmb3IgbGlieGVubWFuYWdlIiBoYXMgZ29uZSBpbg0KPj4+Pj4+PiBBTkQgdGhlIE1pbmkt
T1MgY29tbWl0LWlkIGhhcyBiZWVuIHVwZGF0ZWQgaW4gQ29uZmlnLm1rIGFjY29yZGluZ2x5
ISBUaGUNCj4+Pj4+Pj4gTWluaS1PUyBwYXRjaCBoYXMgYmVlbiBBY2tlZCBhbHJlYWR5LCBz
byBpdCBjYW4gZ28gaW4gYXMgc29vbiBhcyBwYXRjaA0KPj4+Pj4+PiA1IG9mIHRoaXMgc2Vy
aWVzICh0aGUgb25lIGludHJvZHVjaW5nIGxpYnhlbm1hbmFnZSkgaGFzIGJlZW4gY29tbWl0
dGVkLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBBcyBwYXRjaGVzIDEgYW5kIDIgY2hhbmdlIGN1cnJl
bnQgYmVoYXZpb3IsIEphbiBkaWRuJ3Qgd2FudCB0byBnaXZlIGhpcw0KPj4+Pj4+PiBBY2sg
KGhlIGRpZG4ndCByZWplY3QgdGhlIHBhdGNoIGVpdGhlcikuIFNvIEknbSBhc2tpbmcgb3Ro
ZXIgIlJlc3QiDQo+Pj4+Pj4+IG1haW50YWluZXJzIHRvIGxvb2sgYXQgdGhvc2UgcGF0Y2hl
cyBzcGVjaWZpY2FsbHkuDQo+Pj4+Pj4NCj4+Pj4+PiAuLi4gcGF0Y2hlcyAxIGFuZCAyIGNv
dWxkIG5lZWQgYW4gYWRkaXRpb25hbCBvcGluaW9uLg0KPj4+Pj4NCj4+Pj4+IEFuZCBhbm90
aGVyIHBpbmcuDQo+Pj4+Pg0KPj4+Pj4gT25lIG9mIEFuZHJldywgU3RlZmFubywgSnVsaWVu
LCBSb2dlciwgQW50aG9ueSwgTWljYWw6IFBsZWFzZSBoYXZlIGEgbG9vay4NCj4+Pj4+DQo+
Pj4+PiBUaGUgcmVsYXRlZCBkaXNjdXNzaW9uIGJldHdlZW4gSmFuIGFuZCBtZSBjYW4gYmUg
Zm91bmQgaGVyZSAocGF0Y2hlcyAyIGFuZCAzKToNCj4+Pj4+DQo+Pj4+PiBodHRwczovL2xv
cmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMjAyNTAxMDcxMDE3MTEuNTk4MC0xLWpncm9zc0Bz
dXNlLmNvbS8NCj4+Pj4NCj4+Pj4gSSBkaWRuJ3QgZG8gYW4gaW4tZGV0YWlscyByZXZpZXcg
YnV0IGJhc2VkIG9uIEphbidzIGNvbW1lbnRzIGFuZCB5b3VyDQo+Pj4+IHJlcGxpZXMsIEkg
dGhpbmsgdGhleSBhcmUgYW4gaW1wcm92ZW1lbnQuIElmIHNvbWVvbmUgZWxzZSB3YW50cyB0
byBkbyBhDQo+Pj4+IHByb3BlciByZXZpZXcsIHRoZXkgd291bGQgYmUgd2VsY29tZS4NCj4+
Pj4NCj4+Pj4gQWNrZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy
bmVsLm9yZz4NCj4+Pg0KPj4+IEkndmUgdGFrZW4gdGhlIGNvbnNlcnZhdGl2ZSBhcHByb2Fj
aCBhbmQgaW50ZXJwcmV0ZWQgdGhpcyBhcyBhbiBhY2sgZm9yIHRoZQ0KPj4+IHR3byBwYXRj
aGVzIGluIHF1ZXN0aW9uIG9ubHksIHJhdGhlciB0aGFuIHRoZSBlbnRpcmUgc2VyaWVzLiBQ
bGVhc2UgaW5kaWNhdGUNCj4+PiBpZiBpdCB3YXMgbWVhbnQgdGhlIG90aGVyIHdheSBhcm91
bmQsIGFzIHRoZW4gdGhlIGZpbmFsIDMgcGF0Y2hlcyBjb3VsZCBhbHNvDQo+Pj4gZ28gaW4u
DQo+Pg0KPj4gU29ycnksIGJ1dCBwbGVhc2UgcmV2ZXJ0IHRoZSBsYXN0IHBhdGNoIG9mIHRo
aXMgc2VyaWVzIHlvdSd2ZSBjb21taXR0ZWQNCj4+IGFscmVhZHkuIEFzIHN0YXRlZCBpbiB0
aGUgY292ZXIgbGV0dGVyIEFORCB0aGF0IHBhdGNoLCBhIE1pbmktT1MgcGF0Y2ggYW5kDQo+
PiB0aGUgYnVtcCBvZiB0aGUgTWluaS1PUyBjb21taXQgaW4gQ29uZmlnLm1rIGFyZSByZXF1
aXJlZCBpbiBvcmRlciB0byBhdm9pZA0KPj4gYnVpbGQgZmFpbHVyZXMgd2hlbiB0cnlpbmcg
dG8gYnVpbGQgdGhlIFhlbnN0b3JlLXN0dWJkb20gYmluYXJpZXMuDQo+IA0KPiBJbmRlZWQs
IEkgb3Zlcmxvb2tlZCB0aGlzIHdoaWxlIHByZXBhcmluZyB3aGF0IHRvIGNvbW1pdCAod2hp
bGUgSSByZW1lbWJlcg0KPiBub3RpY2luZyBpdCBlYXJsaWVyIG9uKS4gU3RpbGwgaXQncyBw
cm9iYWJseSBzdWItb3B0aW1hbCB0byBoYXZlIGEgc2VyaWVzDQo+IHNwbGl0IGluIHRoZSBt
aWRkbGUgbGlrZSB0aGlzLg0KDQpJbiBmdXR1cmUgSSdsbCB1c2UgMiBzZXJpZXMgaW4gc3Vj
aCBhIGNhc2UuDQoNCj4gDQo+IEluc3RlYWQgb2YgcmV2ZXJ0aW5nLCBsZXQncyBidW1wIHRo
ZSBNaW5pT1MgcmVmIGluIHN0YWdpbmcgaW5zdGVhZCwgYXMgeW91DQo+IGRpZCBzdWdnZXN0
IG9uIE1hdHJpeC4NCg0KWWVhaCwgcGF0Y2ggaGFzIGJlZW4gc2VudCBhbHJlYWR5Lg0KDQoN
Ckp1ZXJnZW4NCg==
--------------Hv9OqfVZvBujihxODLW0fS0h
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-----

--------------Hv9OqfVZvBujihxODLW0fS0h--

--------------6evQufgbRvbZynEHiH7j0rOs--

--------------d5PvF9eSABHcuh4CnKq8Wjq0
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/Ey8FAmfJqYYFAwAAAAAACgkQsN6d1ii/Ey8u
GQgAh95h23n6djsKh16trULsb7kDqREt/X6rzqXedjGKQ5Aeo+TURjuuVzndjPOENLXJljq41GaE
PLDArwMYKxiTMy2SfjpTZ8jULU4+E7AYu5MHLO5vcgzviKCEiO1kpdX0Dx92y787RoExWx3oPeWb
YJ7evxEvUXmDgygcNQfTF8xL4igGyehG/JUMSxYJ/gwG/Lp9alJ+9I5+a7d3biuXbjl4lBifCi8A
+o6I7GuTxbLiCFwQ+WpOgX8/lPKMMCsAnQChXi3eFuYOPrJZ1YnByv3Gjsqse+jvn2tznEj5yV2x
XmSOp/F7lPLh4TSHS+ubXlAfNZhcLdNk0brO1Ss/1w==
=eGmk
-----END PGP SIGNATURE-----

--------------d5PvF9eSABHcuh4CnKq8Wjq0--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:17:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:17:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903588.1311542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqC21-0005tj-Nn; Thu, 06 Mar 2025 14:17:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903588.1311542; Thu, 06 Mar 2025 14:17: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 1tqC21-0005tc-L7; Thu, 06 Mar 2025 14:17:01 +0000
Received: by outflank-mailman (input) for mailman id 903588;
 Thu, 06 Mar 2025 14:17: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqC20-0005tW-Mr
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:17:00 +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 a880e1e6-fa95-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:16:55 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43bc48ff815so4978215e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:16:55 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c01567fsm2152204f8f.41.2025.03.06.06.16.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 06:16:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a880e1e6-fa95-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741270615; x=1741875415; 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=RXNPxGh0f85FevIbwDeNuYgVjPjGWi8Vu0UlDZ7rI40=;
        b=Uq1gFcIl2USjiUQTuiRPRRD8xU9ZLVmUdDxgIdJ1WieETmLcEE3E7Mte20G7eycleR
         Ef65ZKgkEtfF+AauZ3AP4/cxkq8O6Xk/uL5/gVxHNzwL7kj5ze2JEYXA91OHO5eYb1Yr
         gsuflJHBKt56Y5PSfOwKjHFLKqKaHzSWpBAr43c3hhQRfnWolnYzZWmQXOrkh7gh12iK
         tyGYUf4cxB6YKwCBng8sRpAOfDxRdZhXiUFG7YrkoIEsDj4Rw2UYlg8ERzAMgJE27HUP
         Ghl4d+Jt9OHt6Ibhi00hrd9XLM4vVaBjvNoxgAIYAPkzpIsGB07kJQEi1fBkoyx/bkF5
         DABg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741270615; x=1741875415;
        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=RXNPxGh0f85FevIbwDeNuYgVjPjGWi8Vu0UlDZ7rI40=;
        b=MeckKad8Ipn+I0FnHAU/FUe8pUDofVMJtPTbQhqDf3M2sodP2kFTALFH3iJFjWSiEi
         p1c70FP2uMf3Fyta5jqvkAX0hvR1HU3Pryd/TF/PPZc2150cHO2VJ+t++0nQy3yNPFwt
         XXXNX7EECkw+biD+yCfskzBDbzOqXJsGITYah8s8+RJy04jL71ZlRK3zPS3CuEhWVA0X
         wBr6Mj3T75GmdwCPvC4CMdFK5iGmkMm3G5p6qNg1MWlJ42u6lzui/mtAeXIPF48ezUXR
         dLSgcAsoXaBzR1D8Tn8AmIBtB1ntTKzpJxzFHiSYRuopIUYX8u92/j79K8E2rDTuls9I
         zLQA==
X-Gm-Message-State: AOJu0Yw/edtJYWA4StFBEHCTvSQKVo9XpRp7EA3BFFHs1rcIJOk0TzxS
	KCXhAvUO2BdmudS9ploPSrVWCrl531+sU/x9n4Vd/yF/awE3KP8kBnG35I1l5EkFD++IJjdFQyQ
	=
X-Gm-Gg: ASbGncuVtYgiHiC1mMqPvZCEtPdE90Wj2HZJ4p/SrPUvxzeDnkDRo4VNVuILJYKHgY+
	q4ci9gUXjcaEDVBnXrpOh3hBB1dMHIe1z+Buv4g8aAlfDHD5qx2ZwVtBvhC8Y8S8KNNWCBA8cPa
	GEhrlBDJSiYGtF4a0/S+pyWOrjuN/Fr0oOJobIUuFHW20NmRInv5OwkwsbUlUt9SNgGFjOfvv2I
	PFMwrYrnoiJgcnmPBZAvrzvDUlwUFKbUFODqbPOEheeTZ03KH7drZig9XX2yndHcaWFO0i6DFS0
	A2pvOElu+I6EFPyrQ/LvwxpuO+B5stvZsyn1aNvT4GV+th+OKZcIr9DtHX3Nr2gDCX9uKeLwUCi
	560rReVK921KWE0vGNZBl/wCYHajkRA==
X-Google-Smtp-Source: AGHT+IHzopqhJ5ZeK5zsuRlVCJSLtCIASCjEQgqjaIT7LZtrXOHdxQser7rfoCzjwZjLQH+DJqc2BQ==
X-Received: by 2002:a05:600c:3657:b0:43b:baf7:76e4 with SMTP id 5b1f17b1804b1-43bdb368d0emr29025675e9.1.1741270615033;
        Thu, 06 Mar 2025 06:16:55 -0800 (PST)
Message-ID: <dbc6907e-e23b-4216-828a-ce7c4b581a20@suse.com>
Date: Thu, 6 Mar 2025 15:16:53 +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: Daniel Smith <dpsmith@apertussolutions.com>,
 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>, Juergen Gross <jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] XSM: correct xsm_get_domain_state()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Add the missing first parameter and move it next to a close relative.

Fixes: 3ad3df1bd0aa ("xen: add new domctl get_domain_state")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -231,6 +231,11 @@ static inline int xsm_getdomaininfo(xsm_
     return alternative_call(xsm_ops.getdomaininfo, d);
 }
 
+static inline int xsm_get_domain_state(xsm_default_t def, struct domain *d)
+{
+    return alternative_call(xsm_ops.get_domain_state, d);
+}
+
 static inline int xsm_domctl_scheduler_op(
     xsm_default_t def, struct domain *d, int cmd)
 {
@@ -775,11 +780,6 @@ static inline int xsm_argo_send(const st
 
 #endif /* CONFIG_ARGO */
 
-static inline int xsm_get_domain_state(struct domain *d)
-{
-    return alternative_call(xsm_ops.get_domain_state, d);
-}
-
 #endif /* XSM_NO_WRAPPERS */
 
 #ifdef CONFIG_MULTIBOOT


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:18:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:18:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903599.1311552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqC3T-00074Z-5O; Thu, 06 Mar 2025 14:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903599.1311552; Thu, 06 Mar 2025 14: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 1tqC3T-000749-2c; Thu, 06 Mar 2025 14:18:31 +0000
Received: by outflank-mailman (input) for mailman id 903599;
 Thu, 06 Mar 2025 14:18: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqC3R-0006zU-O6
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:18:29 +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 daaa6de3-fa95-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:18:19 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so4589655e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:18:19 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8b0461sm22619395e9.4.2025.03.06.06.18.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 06:18:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daaa6de3-fa95-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741270699; x=1741875499; 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=7mrtuSxKasEWeJrcno3E7tdFVSvtQJwSQ6zARj5IhMM=;
        b=FekBMaxHmGLm6ycFJu+YNYbNN4mMh3ggKf+EBShMHphuUPm9WH4a1/IDjdH6hU1X7N
         bssIFI5WmCQGVYbtswLJjtBF8Jp1kff8vkKL/o4bjrfrDaqGP7NGAscOBAgkR7vp2FKR
         I7c3oNV2jvVgiAmwnxNn8KeJy+gSLaZITkIHI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741270699; x=1741875499;
        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=7mrtuSxKasEWeJrcno3E7tdFVSvtQJwSQ6zARj5IhMM=;
        b=aJp5hnJouSMnmc/yQBbUtOdJ1SFsm2Hjo1C7kc/9jHBDBfj3b9yAlVaAEyTkAIQjox
         dM1rQSlKQVdO8evvhs8fnU2KWDO8tK4cSyfYzVxwcZZ0TTY/LuDEmAoEKqDHBO6rTdx5
         xBcmePKUCBLKbG2NxAnb98l1G+CzOSHdw1VyFRzy116jQ5frbQr+wBopaTVZM7tSj8/a
         hEz4PZNrYtGq1Dg+yD7oXr5sYXOKrBIOZXYU/dzudameksXD20NSHxhONpOK3MFQbl07
         3FDGcHiDfnA8nAGfV3vkdBgQNvZi16lSTlF39n+3HZb7JeWEvORV/4qvM/ZetLKJnEaq
         Iy1A==
X-Forwarded-Encrypted: i=1; AJvYcCW55PjhmkqGpISrgd7BtepObXLjE7K3zWQVuNJFgKR9yAhuGzbR3dLo7R1eAYtRjOtJwO3cOnknvg8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxUTRHtFvtdtf34WZSiVfhVE/b8FDTKxAzSlQ1RGCQN9/LCGRhC
	pNkkD6BYp8btZCndW7F4HIwf0e14oozAynbkPh6ZbnUdk9Gb86yhLujvoTC6Eb0=
X-Gm-Gg: ASbGncu7yX3Z1uNPlwoognbe98jHFLW2OZIkWXquYBkiOqLoKzTDPMnkOJVv9VX1yx3
	pvmpR0lisM7o++Kze30SJH6Mz8b9PalAdyhO8NiqiB0rzAgRz60fgh+moI1HuPCymbfx1UXc+e6
	A8kwPn/I+DY6CSF7Hvr1h07K7NZjRhnWv6jRcv1PavWepuNvwBNSIfmOg7C3I1hKkEbaSv1xTPd
	sQxEjTcjrWzWPxkQKCYZGS85LJ1gqNV7n5cenGu3aDkoRb1M5cZQbRAbrFZF+E0zJHlUBmTVEck
	yLqmTbs7PeYZkd99SLU5tUTWS4470WbvFSba4+KVOyk/jKUIYUZ8lOocknv3oQ/mH1BM6L2Kio/
	qgR052SW4
X-Google-Smtp-Source: AGHT+IEvgU3iWmy0VdM5XqzNSGCuZRUu7RjBsViZBWQVmNG7yVCo7FhRNbwNwjZinvgTkIGlpJlfgQ==
X-Received: by 2002:a05:600c:3b82:b0:439:9a5b:87d4 with SMTP id 5b1f17b1804b1-43bd296befcmr51498575e9.13.1741270699343;
        Thu, 06 Mar 2025 06:18:19 -0800 (PST)
Message-ID: <78ca825a-892f-4885-bfd7-c34dbd43566e@citrix.com>
Date: Thu, 6 Mar 2025 14:18:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] XSM: correct xsm_get_domain_state()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Daniel Smith <dpsmith@apertussolutions.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>, Juergen Gross <jgross@suse.com>
References: <dbc6907e-e23b-4216-828a-ce7c4b581a20@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: <dbc6907e-e23b-4216-828a-ce7c4b581a20@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/03/2025 2:16 pm, Jan Beulich wrote:
> Add the missing first parameter and move it next to a close relative.
>
> Fixes: 3ad3df1bd0aa ("xen: add new domctl get_domain_state")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:24:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903608.1311563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqC95-00027Y-OR; Thu, 06 Mar 2025 14:24:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903608.1311563; Thu, 06 Mar 2025 14:24: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 1tqC95-00027R-LO; Thu, 06 Mar 2025 14:24:19 +0000
Received: by outflank-mailman (input) for mailman id 903608;
 Thu, 06 Mar 2025 14: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=DFCP=VZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1tqC93-00027J-Mu
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:24:17 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id adbabc39-fa96-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 15:24:15 +0100 (CET)
Received: by mx.zohomail.com with SMTPS id 1741271038292253.40473063171055;
 Thu, 6 Mar 2025 06:23:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adbabc39-fa96-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; t=1741271044; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Ow7eWZkYUDKPCZGS2T9xgI7gFQGvVN7USALUjJKYUaDwskEWRdJYTlJlbJU0uyOYFQWmzPw9yqGvbKyf8vqBYTBUogiG4cAUmP4ITD1IIHEKtLOeJLWxRL5Lvvxqj8iaZJbCDd+CygiHA8zRWN4TYgWBZyxOY9h749YMEYlThaM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1741271044; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=Qc1t7TRmx3qS2pPf/D5fEdqlLbzG13YeQqpuMPr57lI=; 
	b=JJsuu+lHt34LcfFi0j3+VWW7WY2KWtVrBAGd3Xb5SchndsPwsJyjfVh/2LNhEkCXULJ6uUy/dex3DVVzxNE2327Rg/AD78ifdpWPwCZv1Z5DDB8M2jH9d6IUW/QxgubNeWK5S6cZIzdjZEn3WkqzqKKdyPYXze5IpfcM0hj2b0g=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1741271044;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=Qc1t7TRmx3qS2pPf/D5fEdqlLbzG13YeQqpuMPr57lI=;
	b=nBGkEBprSInrbylFTpYMPqtBe+DzUjDWe/Ayqi7DIkq5AbCbvuGhc62D43Kl47zY
	dx24Pk1i/fk+AWhPQ3OEibTFDu6E7tt7s/OGx6h3TDEfMTNbjzHt9JBjseP8XJSh+G1
	y2Sdl5xB0b+YWvbMqDkDAbKOXcV4iUPthZtFZElA=
Message-ID: <3560a00f-4eb1-4bb7-9823-61330f09119d@apertussolutions.com>
Date: Thu, 6 Mar 2025 09:23:56 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] XSM: correct xsm_get_domain_state()
Content-Language: en-US
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>, Juergen Gross <jgross@suse.com>
References: <dbc6907e-e23b-4216-828a-ce7c4b581a20@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <dbc6907e-e23b-4216-828a-ce7c4b581a20@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 3/6/25 09:16, Jan Beulich wrote:
> Add the missing first parameter and move it next to a close relative.
> 
> Fixes: 3ad3df1bd0aa ("xen: add new domctl get_domain_state")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:26:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:26:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903616.1311573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCAn-0002dA-2N; Thu, 06 Mar 2025 14:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903616.1311573; Thu, 06 Mar 2025 14: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 1tqCAm-0002d3-VV; Thu, 06 Mar 2025 14:26:04 +0000
Received: by outflank-mailman (input) for mailman id 903616;
 Thu, 06 Mar 2025 14: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqCAm-0002cx-KL
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:26: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 ee6b72e2-fa96-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:26:02 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43948021a45so6544835e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:26:02 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd41c7cc7sm54775005e9.0.2025.03.06.06.26.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 06:26:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee6b72e2-fa96-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741271162; x=1741875962; 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=esWI7dOAhdBwgABK7TD6m1EdJ5p7fIMpwh7jYkHhM64=;
        b=LZjSAPlqpEwKb9wPw+ft2jWemimVqg3wDAwb3fajuqe3Qro7eLkIWlOG5C/KuP+I+G
         qIoUc2hCu3giZpltV6BO6Imu98LpMrJmEnO9A2SOvmT9ml3cXTGubaIx9QUBnHEaVpgN
         fZmjYeNfaqknPK96HSRB2MkHW24DJYFYJey0ijmKLSeQC46sdc0603gFttmXGlQ6k677
         bmNv2fBjiBvSRLTk1VKDmgFJQbnikeTzmslIoV9nb80afbqKpvYeKCmmmzlMdIOg3mV6
         3/41njGrvLpR7B7Fr9z8iDRrstpiOdx14GPTao46lBcPQDu6qCoTN/UZCmYy1Yo0Ppbl
         o58g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741271162; x=1741875962;
        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=esWI7dOAhdBwgABK7TD6m1EdJ5p7fIMpwh7jYkHhM64=;
        b=iYFUGyddoSlwNx89aDHdIihah5ky2CL96BFRqftq5h/8HXg+7Go/0N2cBi3aYN588y
         8zdqkpJmHJXw7aUJgGU4E6gkjZOlbtytRgEmBUHf437qjDb/2Zuta9YDe8iAObohMRsL
         iwaXALUml8CcdADyEr1UC2EXRUMAE7zmHV5hAA6MW6/FHs8Dk0MbdNDnJPlOl7HEvxzZ
         lSPl4xx+wceBcgfMNUUaZvgVcdpzz9/G7Khu6nv/oaDXVQ/jAlHf2xSK4ANejqIvGHl0
         KK4XgN5KqkHacA25Sk3g/ZWXzVpX1VpTr2vb8wTBCIwe0L1M7ZJxheWvGzwNNmijN12A
         xATA==
X-Gm-Message-State: AOJu0YwlxJwQGiVUuZNzqTgn99NX/pjWy0D1Hp9ySHl3319Hmf/9uO7E
	MRPZ5tbLNjOdlpp0ECDawMOnDt7wqG1QgOwu7BOwVeU6NXVgtjxAUvwYQ2cHSg==
X-Gm-Gg: ASbGncsM0hCtoTr8Aq+kRSHwHLg9IPK1fyYOzs04MHorbpxm39vOGegUGS6ArQTP6Md
	94j3g/VNI5MKUT9l7gvBwwyc9+NVelyIRTasTEr9Ct+MTaejG5ikWdLpBWQ0y2RXIv4Gkx+bDhR
	c0oEIvcKYeP0N/cKcak6Jpspz4J8olz0YQbVGgWdQquwbhGIR604oxLNJiJdKPrd1qtyyZRt9Fx
	em1tzQ4W5HuPQJTxTU+uYT25yk4bPjgKTZBERT1fL7r5NNpOM51CUkv8t/moADdLkobzrjWYfSb
	VzUHP5x3VYKpME1tJeLhoz9MQ9uWCMh/hr0p21j8TcRG8vgW/r3ySs99XA2S2lqrD6N/NH2jIZH
	jQVB9BzfGO3nqbUnqtf+r0EfbX1O+xg==
X-Google-Smtp-Source: AGHT+IHX85HfEKx6FkOyVUdQKyns2H4dQTnt6kCUbbW6QNSt5FIPGu+I3A5yLoiUV9/K3OBf3G6ITg==
X-Received: by 2002:a05:600c:458a:b0:439:5da7:8e0 with SMTP id 5b1f17b1804b1-43bd2992d20mr76250395e9.16.1741271161775;
        Thu, 06 Mar 2025 06:26:01 -0800 (PST)
Message-ID: <086f7e05-2cab-4a53-8ecb-dff7421e38bc@suse.com>
Date: Thu, 6 Mar 2025 15:26:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6] Avoid crash calling PrintErrMesg from efi_multiboot2
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20250217162659.151232-1-frediano.ziglio@cloud.com>
 <Z7jf_YojU9tQ1Or7@mail-itl>
 <CACHz=Zierjby+_Q93dFeO5mjMG1aiSpyHvDshRK6=ZHY5bH-6A@mail.gmail.com>
 <Z7xxQHVdSGwig4hb@mail-itl>
 <CACHz=ZgHxvCJQyJe_NJFh3YYcuW0sey+qcOEv0O-XxC8daTo+A@mail.gmail.com>
 <Z79jhZ_BGEC6DYl4@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: <Z79jhZ_BGEC6DYl4@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.02.2025 19:54, Marek Marczykowski-GĂłrecki wrote:
> On Mon, Feb 24, 2025 at 02:31:00PM +0000, Frediano Ziglio wrote:
>> On Mon, Feb 24, 2025 at 1:16âŻPM Marek Marczykowski-GĂłrecki
>> <marmarek@invisiblethingslab.com> wrote:
>>>
>>> On Mon, Feb 24, 2025 at 12:57:13PM +0000, Frediano Ziglio wrote:
>>>> On Fri, Feb 21, 2025 at 8:20âŻPM Marek Marczykowski-GĂłrecki
>>>> <marmarek@invisiblethingslab.com> wrote:
>>>>>
>>>>> On Mon, Feb 17, 2025 at 04:26:59PM +0000, Frediano Ziglio wrote:
>>>>>> Although code is compiled with -fpic option data is not position
>>>>>> independent. This causes data pointer to become invalid if
>>>>>> code is not relocated properly which is what happens for
>>>>>> efi_multiboot2 which is called by multiboot entry code.
>>>>>>
>>>>>> Code tested adding
>>>>>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
>>>>>> in efi_multiboot2 before calling efi_arch_edd (this function
>>>>>> can potentially call PrintErrMesg).
>>>>>>
>>>>>> Before the patch (XenServer installation on Qemu, xen replaced
>>>>>> with vanilla xen.gz):
>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>>>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Apic ID - 00000000 !!!!
>>>>>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
>>>>>>   RIP  - 000000007EE21E9A, CS  - 0000000000000038, RFLAGS - 0000000000210246
>>>>>>   RAX  - 000000007FF0C1B5, RCX - 0000000000000050, RDX - 0000000000000010
>>>>>>   RBX  - 0000000000000000, RSP - 000000007FF0C180, RBP - 000000007FF0C210
>>>>>>   RSI  - FFFF82D040467CE8, RDI - 0000000000000000
>>>>>>   R8   - 000000007FF0C1C8, R9  - 000000007FF0C1C0, R10 - 0000000000000000
>>>>>>   R11  - 0000000000001020, R12 - FFFF82D040467CE8, R13 - 000000007FF0C1B8
>>>>>>   R14  - 000000007EA33328, R15 - 000000007EA332D8
>>>>>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
>>>>>>   GS   - 0000000000000030, SS  - 0000000000000030
>>>>>>   CR0  - 0000000080010033, CR2 - FFFF82D040467CE8, CR3 - 000000007FC01000
>>>>>>   CR4  - 0000000000000668, CR8 - 0000000000000000
>>>>>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
>>>>>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
>>>>>>   GDTR - 000000007F9DB000 0000000000000047, LDTR - 0000000000000000
>>>>>>   IDTR - 000000007F48E018 0000000000000FFF,   TR - 0000000000000000
>>>>>>   FXSAVE_STATE - 000000007FF0BDE0
>>>>>>   !!!! Find image based on IP(0x7EE21E9A) (No PDB)  (ImageBase=000000007EE20000, EntryPoint=000000007EE23935) !!!!
>>>>>>
>>>>>> After the patch:
>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>>>>   Test message: Buffer too small
>>>>>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>>>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>>>>
>>>>>> This partially rollback commit 00d5d5ce23e6.
>>>>>>
>>>>>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI platforms")
>>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>>>
>>>>> I tried testing this patch, but it seems I cannot reproduce the original
>>>>> failure...
>>>>>
>>>>> I did as the commit message suggests here:
>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commit/ca3d6911c448eb886990f33d4380b5646617a982
>>>>>
>>>>> With blexit() in PrintErrMesg(), it went back to the bootloader, so I'm
>>>>> sure this code path was reached. But with blexit() commented out, Xen
>>>>> started correctly both with and without this patch... The branch I used
>>>>> is here:
>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commits/automation-tests?ref_type=heads
>>>>>
>>>>> Are there some extra condition to reproduce the issue? Maybe it depends
>>>>> on the compiler version? I guess I can try also on QEMU, but based on
>>>>> the description, I would expect it to crash in any case.
>>>>>
>>>>
>>>> Did you see the correct message in both cases?
>>>> Did you use Grub or direct EFI?
>>>>
>>>> With Grub and without this patch you won't see the message, with grub
>>>> with the patch you see the correct message.
>>>
>>> I did use grub, and I didn't see the message indeed.
>>> But in the case it was supposed to crash (with added PrintErrMesg(),
>>> commented out blexit and without your patch) it did _not_ crashed and
>>> continued to normal boot. Is that #PF non-fatal here?
>>>
>>
>> Hi,
>>    I tried again with my test environment.
>> Added the PrintErrMesg line before efi_arch_edd call, I got a #PF, in
>> my case the system hangs. With the fix patch machine is rebooting and
>> I can see the message in the logs.
>> I'm trying with Xen starting inside Qemu, EFI firmware, xen.gz
>> compiled as ELF file. Host system is an Ubuntu 22.04.5 LTS. Gcc is
>> version 11.4.
> 
> My test was wrong, commenting out blexit made "mesg" variable unused.
> After fixing that, I can reproduce it on both QEMU and real hardware:
> without your patch it crashes and with your patch it works just fine.
> While there may be more places with similar issue, this patch clearly
> improves the situation, so:
> 
> Acked-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>

This had to be reverted, for breaking the build with old Clang. See the
respective Matrix conversation.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:34:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:34:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903626.1311591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCIZ-0004KW-TG; Thu, 06 Mar 2025 14:34:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903626.1311591; Thu, 06 Mar 2025 14:34: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 1tqCIZ-0004KP-PA; Thu, 06 Mar 2025 14:34:07 +0000
Received: by outflank-mailman (input) for mailman id 903626;
 Thu, 06 Mar 2025 14:34: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqCIY-0004KJ-9o
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:34:06 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0be07b73-fa98-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:34:01 +0100 (CET)
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 0985F211AD;
 Thu,  6 Mar 2025 14:34:00 +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 CE5C713A91;
 Thu,  6 Mar 2025 14:33:59 +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 eMbHMFeyyWe1AQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 14:33: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: 0be07b73-fa98-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741271641; 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=e5R3H2Gp2OkWAklm2AOWn+b5T8JI2Yypbfu9SLdCrGI=;
	b=pnjWY6eH3iOiU3uUgtUWoho18vqHGXdyfgkcE2xPiTDvQzE97ckW37gEACL36+xwgbb7y0
	0A0U/Bpc3n5CT0U1jgBqeXprzYxBdJUCwmy952M+BCpHdvcYKZP3B2LESoqg3Z6YtcJs5W
	SX6Ef1HDzZoplD+4rXPO4is4mxmIKGI=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741271640; 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=e5R3H2Gp2OkWAklm2AOWn+b5T8JI2Yypbfu9SLdCrGI=;
	b=neCgQuwdAOXlQFGyko7XEGo7Won9yvhOJ9HXOTCs4L+c32hdybdCIHgskiJiS6BcsqVYk4
	0QdRP1XarhLbssnLaWlollz1vjwNAy18bxQpZozPmGGEYddu9+tYKhvUYFIMwQ6DeWmT8r
	MT5c2HT16d3L+9sJ9kMWyor1n2/8scQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH] xen/xsm: fix xsm_get_domain_state() in xsm.h
Date: Thu,  6 Mar 2025 15:33:57 +0100
Message-ID: <20250306143357.21077-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[3];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

xsm_get_domain_state() in xsm.h is lacking a xsm_default_t parameter.

Add it.

Fixes: 3ad3df1bd0aa ("xen: add new domctl get_domain_state")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/xsm/xsm.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 0689bf5c9f..6c60b923fd 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -775,7 +775,7 @@ static inline int xsm_argo_send(const struct domain *d, const struct domain *t)
 
 #endif /* CONFIG_ARGO */
 
-static inline int xsm_get_domain_state(struct domain *d)
+static inline int xsm_get_domain_state(xsm_default_t def, struct domain *d)
 {
     return alternative_call(xsm_ops.get_domain_state, d);
 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:36:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:36:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903639.1311601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCKl-0004uO-Ae; Thu, 06 Mar 2025 14:36:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903639.1311601; Thu, 06 Mar 2025 14:36: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 1tqCKl-0004uF-7u; Thu, 06 Mar 2025 14:36:23 +0000
Received: by outflank-mailman (input) for mailman id 903639;
 Thu, 06 Mar 2025 14:36: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=DFCP=VZ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1tqCKk-0004u4-4r
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:36:22 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e123f1c-fa98-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 15:36:20 +0100 (CET)
Received: by mx.zohomail.com with SMTPS id 1741271773702674.3445173168157;
 Thu, 6 Mar 2025 06:36:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e123f1c-fa98-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; t=1741271776; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=BY/jhCIUFxoT739ilutSjhjqZY2YgLegmXKSkErvhawx1vLaaA/WQi1nx0RIFVgvN6ZheDupt/WJKLLjS0eY4qZ1yxm+9xqEn1DVcX6MLMm6cG9ka2mQiuzujOc5aU+JUV8gDCxqwTZ/LYCL5T9nsuBILJn+pp8YLAPA9XzmLT8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1741271776; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc; 
	bh=MGjlRmJgVJP1am0xFiFB6cjSchs7/pZ1MbIuvd+M5nQ=; 
	b=kDRNk4VXyWKCwvyImaETlsn95uNGfB3sEehrVFgpJA4vIG6+XsyjfAuGBrRaVu58xR8L3F7ojftu4pMqNuPPm++Kq6dJ3L4+EjmVs+uokJSZAFtUoD3ChPwCCfJ2+BSe7wLT7D/mX9iyEkoA7TAcAKcakEgj1bWL4hT3kOLRpKw=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1741271776;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To:Cc;
	bh=MGjlRmJgVJP1am0xFiFB6cjSchs7/pZ1MbIuvd+M5nQ=;
	b=nBHJXxbEy6e5AWCvSCsvjuWrBBy52LcQTNTok3l4S5OXYjFYNK1hP750xjOEd+TE
	YqlNTEVVlRtdQqb+1yhCozQmUNGSHboli8tCdc5rtEDOozO9Z4lhgzMM0QOX28QmBaz
	yOn8MxMGXjjrz5V7mYQZAnBfAWWpWLkYMN36sq6I=
Message-ID: <617f3a02-7eaa-4e85-96bd-edc51ff1c4b4@apertussolutions.com>
Date: Thu, 6 Mar 2025 09:36:12 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/xsm: fix xsm_get_domain_state() in xsm.h
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20250306143357.21077-1-jgross@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <20250306143357.21077-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 3/6/25 09:33, Juergen Gross wrote:
> xsm_get_domain_state() in xsm.h is lacking a xsm_default_t parameter.
> 
> Add it.
> 
> Fixes: 3ad3df1bd0aa ("xen: add new domctl get_domain_state")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:38:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:38:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903647.1311611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCMe-0005SN-Mz; Thu, 06 Mar 2025 14:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903647.1311611; Thu, 06 Mar 2025 14:38: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 1tqCMe-0005SG-J8; Thu, 06 Mar 2025 14:38:20 +0000
Received: by outflank-mailman (input) for mailman id 903647;
 Thu, 06 Mar 2025 14: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqCMc-0005S8-Rw
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:38:18 +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 a4c5c15a-fa98-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 15:38:17 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so152763266b.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:38:17 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac239516eb5sm105442166b.84.2025.03.06.06.38.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 06:38:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4c5c15a-fa98-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741271897; x=1741876697; 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=eleqHGljutiUQqOIaKUqhA+O7V5QwWP5VEwByYZjWZQ=;
        b=WwzohGMerr/4qXCyjIOvB4qYGNJKJDAVs72C+xPZ1XCBoe2hf0Sv1BfXcuV7Frdyv/
         FhZoTc9rvzgeB0d3ijBbqIYFwWFsF9rDofEkEZBD99qUhp1mSkejOqg0b4HcUT6YMN38
         wyhpXmBjt87lfO4XYN7uRmi+HicHaHlpHHkCGg9EUihsjC0LbsuwHqRDRt+j9Ez8Azbn
         OHY4BzrxAzRH9+vZPdDMjm0aFiQLgsPT2NeGSqHS162pRj68pWHV0+ps9GhPpre/TwoY
         xRaug4k/S/oRv+0lTORPe1NhmEfFfM/R6SMi5bBFx+ldehKU6t7UhQ685JxJoeD7mLbz
         OMaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741271897; x=1741876697;
        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=eleqHGljutiUQqOIaKUqhA+O7V5QwWP5VEwByYZjWZQ=;
        b=UvIsLhY1+uREgLWtKqYbOOb5D08W7cIV5d1NaVoNjvmvYzecbFZwJRyQFvR8douAjf
         +0SMACTLrSphvRMC2/D/HHkgoLUi+f7xmewNPy87B9YwedKaqPUWXxHfHtLzMeWzFKTQ
         +YC6CAnKqDwVRQMc2UfdOkfj/W1p+6YaAPmjrR+EdLubA/K13xavpQwSF/AzXfgZ4MN3
         pa+MQcxlxy1lOMmWJpqwE1fvUofs5pxObgtFwAsIfIqTdaSnBRegcYBmaIxJFM4UnR18
         nGnAgOq9RHThwRi5DgCW8ZbsyDtvHdTw8/Uzs4oGkiUKCG2FXQAA930xC96FPgtChQdF
         bTJw==
X-Forwarded-Encrypted: i=1; AJvYcCX3sAdYI33KKW9AHM2VGnapCiqgvkMrn2EyvMfy+RHOnXOPZ2Lt93sfkCkTLVImH8lXLlT72A4Pm2w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwP+Hea3ko17Ci3rSuQf06A1BzOOKGFiuZnYspFOJpmA/DIU910
	11TN5KTkbv6m+PxZtTubdm1sfbyjjNHSX/GklT7DCSdfix9ymvFmxf37tz2xxR0=
X-Gm-Gg: ASbGncsCam+BCTjndYy7JU18gB1T02Y8TnRdouNOoFj5DkCkZIz4eUlNplCrhbRTRd5
	Oylrex0VAgqCBnsH6FLrWXhyyZSgqNW77dI+smzCMDVZQQQcvLtKm9t4d99oRnu81joala2EIRR
	/AwTS1+bPWik0QV7SKsPwAmimRT8YJYAO8MSL+fJR+eOXgoW0bqb1+m+tcnywLBjbyEL87XfVN8
	Jd9WDcaSGl4x5N8E01dub3A2JXgvgYrKQTVW32xiDlBPsW9D9XSP/57GWAzjOgukhYjHvO8GiLT
	5UpbQZEnRy7r0uIca9ilZN09BEnG4IYBBiJcOuzqUV43mdFBGRA6tfFj+RGUW9dL/Zj9xIeJhN3
	XEO5w7T0h/m9EVzr+TAyAyJHMenJdrB/5QOtGSexty0+SLG+5SWJEMf1nFQQo+b6CA4w=
X-Google-Smtp-Source: AGHT+IHc8dVHDZNWwVO82wfredJI9w6SympypHFpOyh8jQ2uDWpaCTwv0RoKXBCQuLAlYQ4g9N5bRw==
X-Received: by 2002:a17:906:5589:b0:ac2:4b70:cb97 with SMTP id a640c23a62f3a-ac24b70e15emr19578666b.28.1741271897297;
        Thu, 06 Mar 2025 06:38:17 -0800 (PST)
Message-ID: <23397001-9e19-4ddd-bc1c-bcf375e0cd5f@suse.com>
Date: Thu, 6 Mar 2025 15:38:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] XSM: correct xsm_get_domain_state()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Daniel Smith <dpsmith@apertussolutions.com>,
 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: <dbc6907e-e23b-4216-828a-ce7c4b581a20@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: <dbc6907e-e23b-4216-828a-ce7c4b581a20@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------rQ00Qz3cPIEHx9j3fv0kjOvZ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------rQ00Qz3cPIEHx9j3fv0kjOvZ
Content-Type: multipart/mixed; boundary="------------S7Pvb7LNrDDt4g8xRqD0P922";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Daniel Smith <dpsmith@apertussolutions.com>,
 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>
Message-ID: <23397001-9e19-4ddd-bc1c-bcf375e0cd5f@suse.com>
Subject: Re: [PATCH] XSM: correct xsm_get_domain_state()
References: <dbc6907e-e23b-4216-828a-ce7c4b581a20@suse.com>
In-Reply-To: <dbc6907e-e23b-4216-828a-ce7c4b581a20@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=

--------------S7Pvb7LNrDDt4g8xRqD0P922
Content-Type: multipart/mixed; boundary="------------xBvZ0Uyny8XoX5oRVfnuLUeL"

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

T24gMDYuMDMuMjUgMTU6MTYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBBZGQgdGhlIG1pc3Np
bmcgZmlyc3QgcGFyYW1ldGVyIGFuZCBtb3ZlIGl0IG5leHQgdG8gYSBjbG9zZSByZWxhdGl2
ZS4NCj4gDQo+IEZpeGVzOiAzYWQzZGYxYmQwYWEgKCJ4ZW46IGFkZCBuZXcgZG9tY3RsIGdl
dF9kb21haW5fc3RhdGUiKQ0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+DQoNCkFja2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5j
b20+DQoNCldpdGggdGhpcyBwYXRjaCB5b3UgY2FuIGlnbm9yZSBteSBwYXRjaCBqdXN0IHNl
bnQgb3V0LCBJIGd1ZXNzLiA6LSkNCg0KDQpKdWVyZ2VuDQo=
--------------xBvZ0Uyny8XoX5oRVfnuLUeL
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-----

--------------xBvZ0Uyny8XoX5oRVfnuLUeL--

--------------S7Pvb7LNrDDt4g8xRqD0P922--

--------------rQ00Qz3cPIEHx9j3fv0kjOvZ
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/Ey8FAmfJs1gFAwAAAAAACgkQsN6d1ii/Ey90
egf/er3h5w952qEyT1zFasWzBesrjc13HGIxiy8WTo9ciDiZRif2CU/0I7AFkIssWbzCZ02jMhcp
2CEBNk0E23Fl3R3L79bt1WeTiPpj6Cy/Pup8X+UvvrhoJic13VKHuDvkGotUicbc7HniSyH4pgCY
Qb2kLUF9YHyFcQ8LekGWJKSD/PvH55WElqXgk4utFQd278D57hwMZFLBj/of6M8W1e3sCDiiuJQu
h+N5Vfq5TMEmUK8D/Az7eA4upmFlDBWUYe+ZJXt7Lqc4j9eCR3q3A57iPfF8ufAVBEQjb1OKiiQr
i0+EZDRsHATsHO/afSLaMRMI3pKlp7+nkMyV7LiUrg==
=LiTA
-----END PGP SIGNATURE-----

--------------rQ00Qz3cPIEHx9j3fv0kjOvZ--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:48:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903655.1311622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCW3-0008Py-ID; Thu, 06 Mar 2025 14:48:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903655.1311622; Thu, 06 Mar 2025 14: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 1tqCW3-0008Pr-Dn; Thu, 06 Mar 2025 14:48:03 +0000
Received: by outflank-mailman (input) for mailman id 903655;
 Thu, 06 Mar 2025 14:48: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqCW1-0008Pl-An
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:48:01 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20624.outbound.protection.outlook.com
 [2a01:111:f403:2405::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc4c046e-fa99-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:47:55 +0100 (CET)
Received: from SN1PR12CA0113.namprd12.prod.outlook.com (2603:10b6:802:21::48)
 by SJ2PR12MB7846.namprd12.prod.outlook.com (2603:10b6:a03:4c9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 14:47:51 +0000
Received: from SA2PEPF00003AEA.namprd02.prod.outlook.com
 (2603:10b6:802:21:cafe::ff) by SN1PR12CA0113.outlook.office365.com
 (2603:10b6:802:21::48) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 14:47:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00003AEA.mail.protection.outlook.com (10.167.248.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 14:47:50 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 08:47:50 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 6 Mar
 2025 08:47:49 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 08:47:49 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc4c046e-fa99-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mIq/nyWOEztUz2mFyxpzwbmjrUg27dlz5Vid32FnlLOkFsY1HsGwZVzxz8f3EWviiAd6TkznMmcGT36SlcXOIaTkwnQMxAK9WLRdd/eU9STxGhPDxQqv79WN6H0SOCcwdNEcTNIJX1vhSdoEDYP1WdgZqV4iU3dp5N6jhrOZjsBp+g5FWZR9SnsY0vIgQNm3ECtm786e8zObVrFbAbXRcjQdn+xHle23E3OsZHq5Xejvq3H496TuFzRjZ+FvUhJyN4Fb86BRHDABp0fPIg8i5fnzcUFoMuaP+2Z01OtyEu3z8l/cPgZxNnIZe4BWtk/vECyaIGthd42nJ/WYpnQo0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1heS64KgZ3r02jYamtEMX/Puq01EbLbBLG4OpDXOigY=;
 b=Y00MNGhu80DIVvgesQSI7WvmopQNOku3ExyD08r085voeRAWVYnurNcO6oaxEg84NFWm2pe0XchqPu4Vucsw6kboNl/CET8HBbxEKdrrY/tTD2ry9yIxShRsLBvIQbObaaVSRmisz3NZIG9iV5Yh4zuRSNtB00RMhoTkmyFAy5EziPUUsqxvDInuXh1SPt2JEHAYRybSeHM4iwdrcU/AGnuBhaJBO1epPhsjSMllY5N98XpTnxfbAQ0RidV8qatI91uv5JYbE+5O7+fjJhaYiGPkIHGAjcoUkOjH+Dn98ZEbVjI7x8921YG1/c8tcn5277eIsHO0fhjl/NbCkMqtCg==
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=1heS64KgZ3r02jYamtEMX/Puq01EbLbBLG4OpDXOigY=;
 b=M6zaiK25SooZgtYNjd1q3VIK+PGPdUJa8VYR2wcmE2Fu96nPvaLkVKONemV5ILIk7oX7ZVWnO2Web+7/oHpRy7Y4khizlu92lm260AubcqzwcG8H3o9PbNyX5WScJAc60EgAOh4CvEHj01+uQ7a3bbp84DnIpJ+niXoL2SygkBU=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <4ea050fa-7525-4ad2-9802-1f70480d04ca@amd.com>
Date: Thu, 6 Mar 2025 09:47:51 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/init-dom0less: Fix cpus > 1 and xenstore entries
To: "Orzel, Michal" <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>
References: <20250305215832.98162-1-jason.andryuk@amd.com>
 <dc076e36-f58b-43c9-b9ec-ea5d636a0efa@amd.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <dc076e36-f58b-43c9-b9ec-ea5d636a0efa@amd.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: SA2PEPF00003AEA:EE_|SJ2PR12MB7846:EE_
X-MS-Office365-Filtering-Correlation-Id: 18f8564c-240b-4313-6a0f-08dd5cbdde59
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?MkEvYmoxOWxQRk1mOWc2S3g5czEzYlo2Ti9BT0s3d2hlazAxRUdSL3NJd3ZY?=
 =?utf-8?B?ZXVKaG5JVThKemZ1dUNsY3lUa2RKcWxwdWlUeWtxa01vRU1kYU92QWZYWXI2?=
 =?utf-8?B?cWQyOURUMGg3MTN5MjlySGpISkJUcUVJTjB3cE5PUk1tMzFzV3hXbE1tN2Rx?=
 =?utf-8?B?RGthaFdVQnVxRkRFYytqUkRhM1lDY3o1eW5mbjRycGk5VW9WZ2FSVVlnUFdx?=
 =?utf-8?B?cFNhUzhXd1M5Nm15MVNWRHdhL25TSnA3b2R4ZkVxa052MnBtZXpYdnNFa1BR?=
 =?utf-8?B?T2RqUzNQYmdYcFN5d1lSN3Q1dGlBcHBRdTRxQ2VnRlN0UHd4TzZCc1VZbDVN?=
 =?utf-8?B?SHZLWkc2QzhlcHZaMTNnRVJLbDlpa0EvZ0gzSCtvQnlzVEpIWTlFdXBqWEpj?=
 =?utf-8?B?QzBsbTd1WThGL1g5NCs3cENBWDg5cDByTUREZVpHeWtvc2x6R256VjBUbnJ5?=
 =?utf-8?B?Zk9aRVd2Zm83RlhnT01nOU5RQVhwNGpxR0srSkRpTUZ0LzZNWENjTkgyeW1S?=
 =?utf-8?B?ek9ZWFo4anQ3Sk9CbWJ4VldZK2xCbnJtcVZyNkxrT0VXVEE1NDNoRGxISmlY?=
 =?utf-8?B?Y1Y1S3JlOVE0bS9qYTFzb0h2QWVCMG5kSmJiS09QYXpEaDRKekpOdGN5QlJl?=
 =?utf-8?B?eU8wQnBROXNVVTJpcHdDaWphR3duTkRXSi8zVlZQZEw3clF5eHJoc1ZuYVJh?=
 =?utf-8?B?RDU0aitwWjlnRmJQMlBXa1NLRFNVSmp5WTlvOW91K1FYYnN4T1B3ajZ5alE5?=
 =?utf-8?B?Z3BIUk9tMW8zZzA2MTdjc3VpQVV1M3Y1LzVyalZmNitxZnpDMWV1bjFzaEda?=
 =?utf-8?B?STlNeHVOR0tNcTBSdmIzMXNtYmJxbzVaTnRYcjJ3TTBZdWl0Zzc0UzI1bndD?=
 =?utf-8?B?NW1KU3FQSmhjUlpLNUtWMEdDSTlBbWhHdkJoSXAzMjEzU05MMlE2OVpIRDlE?=
 =?utf-8?B?NmEvTEZ4Yy9Ub3FiaWtWU2oySVZVWmlhRW4yTEV5bGk5TXE1NmU5ZDN5akp3?=
 =?utf-8?B?WVA0UDJwYUhCVUVjMjlrUDUzZllHSEJGaWJEczBTVWpoSWRhN3FzWFoxRlZT?=
 =?utf-8?B?U3RSeDhNUUlwQW4zRmtXOHFURFo0eEVSZlVDTlVKZmNVMjBrbFJOR2VNVlc3?=
 =?utf-8?B?RVdFUGx6cWEzQlUvVllkb0VRK2xQNkFpbUpXdjNlM0VIZGpUYUZoWjgzVjZ0?=
 =?utf-8?B?SkVBbUFqS29yZzF5VG9GUWtqamxTRlRjR292NUNnUFhtRXZ2bnFlTEY4UWxr?=
 =?utf-8?B?Z1NldmRjc3ZvYkZlQ0tMb3FjTHJqSmdEbk5KOW43K251c2pyK2QxMFNHM2xv?=
 =?utf-8?B?UmtXeVlYR0hGY1ZTWk5LL0pwSjhqQ0tZNjlETmErM29XTGk2SGp5SmNVSDVz?=
 =?utf-8?B?ZWlFWkpwM0RYM3p1RDIrY0N1SFhXMkJXVlVwUllWRjhxb0puTGFSS1hGUzl2?=
 =?utf-8?B?NVZ1QTBwbTRUbFc5TXFWdHhQTkZjTGtuT3JjSWgwYS92L2tvZ2FrOTc3OGNZ?=
 =?utf-8?B?Um1WMHp2NU1COGJRNnJlT0Q4R0V3YmxnN25OeFRqVnVyd1EwSTNYekNWRkJV?=
 =?utf-8?B?OHRzbzFzME1URmdvNkptMStjKzREcFQ0RWljNHFVZlIyN00xd3F6YWcreVJ5?=
 =?utf-8?B?dHNkekdGVzlCVVY0OUdTVVFGZXAweklHdXZuK3Z0dmZEMS95cnJhYzB2V055?=
 =?utf-8?B?aHpwK20wTUZ2N2tSODhnNVBVeDRtRFZvKytwNDlWQU0xTXd2czFTVkRGV21q?=
 =?utf-8?B?eGQ3WngvMldSNExockh5Vk1UUTF2VHFCT3JVaDJ2bnI2MmhXdDdrMHVveWNN?=
 =?utf-8?B?WThsclFHTVNHMVdmSWlKU2ZSbHFWR3hrbDNMVXY4MUFvdkIvVVpYaWw2SFB6?=
 =?utf-8?B?M1VnT2VFQURFcHpYNTg2NTlrYVdBSUJTMHpFY0JyMGZMb1JSckhsK1l3aDFM?=
 =?utf-8?B?LzlJT0lqRSthUlJEWlEyT2FNY2tzSzU2Vlk4ZnVndUxueEEwSUdRU20vRVBG?=
 =?utf-8?Q?a/qr7CNNFNONOIC5kBxTxErVQS4z6Y=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 14:47:50.4517
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 18f8564c-240b-4313-6a0f-08dd5cbdde59
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003AEA.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7846

On 2025-03-06 05:29, Orzel, Michal wrote:
> 
> 
> On 05/03/2025 22:58, Jason Andryuk wrote:
>>
>>
>> The trailing / in the path is incorrect and generates an error when
>> writing to xenstore:
>> Checking domid: 1
>> Init dom0less domain: 1
>> init-dom0less: writing to xenstore: No error information
>>
>> init-dom0less exits without finishing initialization.
>>
>> vcpu_max_id is an inclusive value, so it should be included in the
>> loop's range to include all vcpus.  Without this, no xenstore entries
>> are created for a 1 vcpu domain.
>>
>> Finally, use vcpu_online, the count of online vcpus, to determine online
>> vs. offline.  info->cpupool is a cpupool id and not a bitmask.
>>
>> Fixes: ec53e0c4ea ("tools: add example application to initialize dom0less PV drivers")
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>>   tools/helpers/init-dom0less.c | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
>> index 17579fe2e8..c569a890a0 100644
>> --- a/tools/helpers/init-dom0less.c
>> +++ b/tools/helpers/init-dom0less.c
>> @@ -182,13 +182,13 @@ retry_transaction:
>>       if (!do_xs_write_dom(xsh, t, domid, "vm", vm_val_str)) goto err;
>>       if (!do_xs_write_dom(xsh, t, domid, "name", dom_name_str)) goto err;
>>       if (!do_xs_write_dom(xsh, t, domid, "cpu", "")) goto err;
>> -    for (i = 0; i < info->vcpu_max_id; i++) {
>> -        rc = snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%u/availability/", i);
>> +    for (i = 0; i <= info->vcpu_max_id; i++) {
>> +        rc = snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%u/availability", i);
> Up until this point:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> That said...
> 
>>           if (rc < 0 || rc >= STR_MAX_LENGTH)
>>               goto err;
>>           rc = -EIO;
>>           if (!do_xs_write_dom(xsh, t, domid, cpu_str,
>> -                             (info->cpupool & (1 << i)) ? "online" : "offline"))
>> +                             i < info->vcpu_online ? "online" : "offline"))
> I struggle with this one. Let's say that a dom0less domU starts with 4 vCPUs and
> later on (before executing init-dom0less from dom0), decides to kill it's 2nd
> vCPU. So domU is running vCPU{0,2,3}. With your patch, after executing the
> script, the 4th vCPU will have its availability set to offline and domU will get
> notified to kill its 4th vCPU. That does not sound right...

You are correct.

With xl create, cpus 0..vcpus-1 are marked online and vcpus...maxvcpus-1 
are marked offline.  I was trying to match that.  To online or offline 
cpus, xl vcpu-set keeps them densely packed, 0..$m.

I think libxl_list_vcpu() should give the needed information to set 
these correctly.  I'll try that.

Thanks for taking a look.

-Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:57:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:57:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903669.1311640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCfZ-0003ZM-Lk; Thu, 06 Mar 2025 14:57:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903669.1311640; Thu, 06 Mar 2025 14: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 1tqCfZ-0003ZF-J6; Thu, 06 Mar 2025 14:57:53 +0000
Received: by outflank-mailman (input) for mailman id 903669;
 Thu, 06 Mar 2025 14: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=bSAR=VZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tqCfY-0003Ye-8V
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:57:52 +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 5f72d3b3-fa9b-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:57:50 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5dee07e51aaso1404598a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:57:50 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac239736806sm107856366b.114.2025.03.06.06.57.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 06:57:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f72d3b3-fa9b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741273069; x=1741877869; 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=H7pow39J9Fqm1i6O6VXYZWww5I3btdSW6Ay9WFCMqtw=;
        b=rfkBSziw1v1FTEDZQ7iBZGUJlVlcf0rSThsFM02l/2Kr1u4l2OL0SRlXCUqY+Xe1LZ
         FPHtZ4RWGqZys6H1Ctk5WxUEczlHCeTmGcKUaZ33ky94WFNmyqGAcCAfP1kaCJiHWrQg
         rCuowRGw26+W+h7Hbq4rtUqBnrdMq3kJP5Yms=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741273069; x=1741877869;
        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=H7pow39J9Fqm1i6O6VXYZWww5I3btdSW6Ay9WFCMqtw=;
        b=EjMWK0DOSk9ZJBivjf2BTxLp9smH7jrk4vCnLHUj7X9OsGXjzNuZcGZwytxpCrGDGW
         UizGBNeWaWXQH2xpAex4a6wyDXs5HJI64vQIMmDpdcx4A9CwkCZvmZWXTUS0hUzQ6ALa
         kZAcMEMuEUaujbkaEUX0Yevhc5zCUcJ20OcaOw71iSVSRYbBz7QhXEKPOoUlp8yGXzLa
         qN+16NVYCz/Szh7/kHp8QFoUyAka+4gSM8SpVQNebwA/DDZ+ip2o+gWRH8uXm0JjjNzw
         EDMs49MawpMACacH78LWvDAYk5feebWcMrACE7lbzpIddRLmiOCBV2ydHEN7ADQU4K0d
         o/uA==
X-Gm-Message-State: AOJu0Yzo0jO4RqRvCEPr5f1QdkoTHmwA2acwolSKO77LwKHXqo6qxItZ
	6V2yYlyW9pJMcIZKiIMgdU6nVmmpCjpIcMuOZ2f35oIB///TRG6C/hF48UwUmLaSLIYDGehyoEt
	W
X-Gm-Gg: ASbGncvlCad4YC4w4Qu1BhATls8lFoB8PsnEj2gMm6fEvrSa/ZS2JFSTsnvDQZs67Oy
	VLtOrSbCgmSopbVYxA3h3+lWiaGHBhgNSLWK+tnjLK4IzxUwXYK4bzyl7LoPFODj9n73Nrsdk3L
	lc6W6XeCFrkv7pqcTwZGVNP9ZEe0v1JBiGOb0JokRTuZ9PaeuP/wHTU1j+RIo5HPaW6B9G9iNNg
	WcaOUokh4nk/2gjyb1DcHdHOLUi554d19x/JzxvPW+aa4ghMkzGt/fZTHaAJz6LfNBfmcjmP2ym
	g+SBrlzWiITjmxx5NtpP+fhJVchS8UwFveKmjMQOSyYY4E6bhg==
X-Google-Smtp-Source: AGHT+IG4mF3y+mP2g16zoYYgZihbJs/9r+0n2H/r6BcnwQ4z1OO4c95bb6eKQRmnnXveCwH5993pYw==
X-Received: by 2002:a17:907:8b97:b0:ac1:d8a9:f853 with SMTP id a640c23a62f3a-ac20e1db11amr826930266b.48.1741273068824;
        Thu, 06 Mar 2025 06:57:48 -0800 (PST)
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 v2 1/3] x86/apic: remove delivery and destination mode fields from drivers
Date: Thu,  6 Mar 2025 15:57:31 +0100
Message-ID: <20250306145733.99927-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306145733.99927-1-roger.pau@citrix.com>
References: <20250306145733.99927-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All local APIC drivers use physical destination and fixed delivery modes,
remove the fields from the genapic struct and simplify the logic.

No functional change intended.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/genapic/bigsmp.c      |  2 --
 xen/arch/x86/genapic/default.c     |  2 --
 xen/arch/x86/genapic/x2apic.c      |  4 ----
 xen/arch/x86/include/asm/genapic.h |  5 -----
 xen/arch/x86/io_apic.c             | 16 ++++++++--------
 xen/arch/x86/msi.c                 | 11 +++--------
 6 files changed, 11 insertions(+), 29 deletions(-)

diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index b2e721845275..ddb3a0b5d727 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -46,8 +46,6 @@ static int __init cf_check probe_bigsmp(void)
 
 const struct genapic __initconst_cf_clobber apic_bigsmp = {
 	APIC_INIT("bigsmp", probe_bigsmp),
-	.int_delivery_mode = dest_Fixed,
-	.int_dest_mode = 0, /* physical delivery */
 	.init_apic_ldr = init_apic_ldr_phys,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index 59c79afdb8fa..16e1875f6378 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -16,8 +16,6 @@
 /* should be called last. */
 const struct genapic __initconst_cf_clobber apic_default = {
 	APIC_INIT("default", NULL),
-	.int_delivery_mode = dest_Fixed,
-	.int_dest_mode = 0, /* physical delivery */
 	.init_apic_ldr = init_apic_ldr_flat,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index c277f4f79b0a..74a6d808ac30 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -140,8 +140,6 @@ static void cf_check send_IPI_mask_x2apic_cluster(
 
 static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
     APIC_INIT("x2apic_phys", NULL),
-    .int_delivery_mode = dest_Fixed,
-    .int_dest_mode = 0 /* physical delivery */,
     .init_apic_ldr = init_apic_ldr_phys,
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
     .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
@@ -163,8 +161,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
      * The following fields are exclusively used by external interrupts and
      * hence are set to use Physical destination mode handlers.
      */
-    .int_delivery_mode = dest_Fixed,
-    .int_dest_mode = 0 /* physical delivery */,
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
     .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index cf36d48f3b07..04d3f1de7a1f 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -23,9 +23,6 @@ struct genapic {
 	const char *name;
 	int (*probe)(void);
 
-	/* Interrupt delivery parameters ('physical' vs. 'logical flat'). */
-	int int_delivery_mode;
-	int int_dest_mode;
 	void (*init_apic_ldr)(void);
 	const cpumask_t *(*vector_allocation_cpumask)(int cpu);
 	unsigned int (*cpu_mask_to_apicid)(const cpumask_t *cpumask);
@@ -37,8 +34,6 @@ struct genapic {
 	.name = aname, \
 	.probe = aprobe
 
-#define INT_DELIVERY_MODE (genapic.int_delivery_mode)
-#define INT_DEST_MODE (genapic.int_dest_mode)
 #define TARGET_CPUS ((const typeof(cpu_online_map) *)&cpu_online_map)
 #define init_apic_ldr() alternative_vcall(genapic.init_apic_ldr)
 #define cpu_mask_to_apicid(mask) ({ \
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 776dd57720a2..60b39827c851 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1080,8 +1080,8 @@ static void __init setup_IO_APIC_irqs(void)
              */
             memset(&entry,0,sizeof(entry));
 
-            entry.delivery_mode = INT_DELIVERY_MODE;
-            entry.dest_mode = INT_DEST_MODE;
+            entry.delivery_mode = dest_Fixed;
+            entry.dest_mode = 0;
             entry.mask = 0;                /* enable IRQ */
 
             idx = find_irq_entry(apic,pin,mp_INT);
@@ -1150,10 +1150,10 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
      * We use logical delivery to get the timer IRQ
      * to the first CPU.
      */
-    entry.dest_mode = INT_DEST_MODE;
+    entry.dest_mode = 0;
     entry.mask = 0;					/* unmask IRQ now */
     SET_DEST(entry, logical, cpu_mask_to_apicid(TARGET_CPUS));
-    entry.delivery_mode = INT_DELIVERY_MODE;
+    entry.delivery_mode = dest_Fixed;
     entry.polarity = 0;
     entry.trigger = 0;
     entry.vector = vector;
@@ -2338,8 +2338,8 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a
 
     memset(&entry,0,sizeof(entry));
 
-    entry.delivery_mode = INT_DELIVERY_MODE;
-    entry.dest_mode = INT_DEST_MODE;
+    entry.delivery_mode = dest_Fixed;
+    entry.dest_mode = 0;
     entry.trigger = edge_level;
     entry.polarity = active_high_low;
     entry.mask  = 1;
@@ -2473,8 +2473,8 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
      * The guest does not know physical APIC arrangement (flat vs. cluster).
      * Apply genapic conventions for this platform.
      */
-    rte.delivery_mode = INT_DELIVERY_MODE;
-    rte.dest_mode     = INT_DEST_MODE;
+    rte.delivery_mode = dest_Fixed;
+    rte.dest_mode     = 0;
 
     irq = apic_pin_2_gsi_irq(apic, pin);
     if ( irq < 0 )
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index bf5b71822ea9..6c11d76015fb 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -174,18 +174,13 @@ void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg
 
     msg->address_hi = MSI_ADDR_BASE_HI;
     msg->address_lo = MSI_ADDR_BASE_LO |
-                      (INT_DEST_MODE ? MSI_ADDR_DESTMODE_LOGIC
-                                     : MSI_ADDR_DESTMODE_PHYS) |
-                      ((INT_DELIVERY_MODE != dest_LowestPrio)
-                       ? MSI_ADDR_REDIRECTION_CPU
-                       : MSI_ADDR_REDIRECTION_LOWPRI) |
+                      MSI_ADDR_DESTMODE_PHYS |
+                      MSI_ADDR_REDIRECTION_CPU |
                       MSI_ADDR_DEST_ID(msg->dest32);
 
     msg->data = MSI_DATA_TRIGGER_EDGE |
                 MSI_DATA_LEVEL_ASSERT |
-                ((INT_DELIVERY_MODE != dest_LowestPrio)
-                 ? MSI_DATA_DELIVERY_FIXED
-                 : MSI_DATA_DELIVERY_LOWPRI) |
+                MSI_DATA_DELIVERY_FIXED |
                 MSI_DATA_VECTOR(vector);
 }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:57:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:57:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903668.1311630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCfW-0003Ku-E4; Thu, 06 Mar 2025 14:57:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903668.1311630; Thu, 06 Mar 2025 14: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 1tqCfW-0003Kn-BJ; Thu, 06 Mar 2025 14:57:50 +0000
Received: by outflank-mailman (input) for mailman id 903668;
 Thu, 06 Mar 2025 14:57: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=bSAR=VZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tqCfV-0003Kh-VS
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:57:49 +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 5e7006ee-fa9b-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 15:57:48 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e5b56fc863so1040226a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:57:48 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e5c766a5bcsm1047165a12.52.2025.03.06.06.57.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 06:57:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e7006ee-fa9b-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741273067; x=1741877867; 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=R9okKGy1Ukh5/aWvO8oi8GhhT5BkRrsj5qYA0OFbWio=;
        b=W1YE89Csxx4CnAPuvNwk1aWPLQpIZbe0c29rHAsjnO0olPLrYotlmhS9noZcmxfqgB
         sXd1fkVU3OLhkrfOgGo+m4A1yk16zRQdC7nl5hLX6jlLensP/KQDTzHYJPNDKzvSf/Bz
         nHJUMLBzpdy+1RkMh18H6XIgO0RtOvkqCXcIw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741273067; x=1741877867;
        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=R9okKGy1Ukh5/aWvO8oi8GhhT5BkRrsj5qYA0OFbWio=;
        b=bqnygNlG1ELHwcZ6nzhYoIrSMqRFLvkvWzqVsnEnP7ikxBh+nugtN7AbOFFy+b4COJ
         31YSozPDyhZUTcy8/BxGkr9C4geNJlHlcMXK9dAS0azMEJ7yw4bfBXLrqYYQTqCgwKbA
         U0YWNSoSMfP19A/kVNYDR9CCybFWofOa5ZD4UjPygF/xN446NJfSgIbvVMQQafoZP3gy
         YVnpmS4SDaynYHEeUwsyHLYua3qhnoA/bEp2dviz3Es7Cqlg+5Ze2y2bPQ/MJrDdM75s
         k4Jsnq9Z22Ye2WuS8wMg+F02swQ8GmNpe6TSJbTeZwyYXugAdl56LrKz3cxzIEljm4cR
         XCKA==
X-Gm-Message-State: AOJu0YzCbAK6K8KRXni+Leqfw3t+GgvP99EMdmxJvmTRAgagfpnchwn1
	gr+d4k8wITXLT2+ZkoAGJs15XYnCktfToKP0d8MKT5gmKReXzWAFZngKBsyWDTnhgn9DsNi1EiG
	/
X-Gm-Gg: ASbGnctk609D51JzDPjzLBpKzeQF0ttZIvLXrUP+50Ii05rGNFmZLMzyd8zONQFRzAH
	i2HJPnyg1nHmZCSEcLOLCxDkAevrL5iNoNy87Oxgwzel7XPTL/ZOwzPbjubHuozBCs/1ft7FgMr
	BXq9ow4w0iM54c51Zspt+49nBUGzHWadQsh+3czl43NJCaiR+Yf9w5J7N8bd8jV8+MCWGmkZO21
	XSlu/dGRWgQ6B1tuyA8zXkkxUXNPM5oaDxFqetuTM/IUqaB4qJdZnCRanyNIJYaC/9NTgTcccPa
	5Js9hEtUyQvvUmVM0uL9bg4E0z0kS+wmgddZwfH+gP/eVQ4NHw==
X-Google-Smtp-Source: AGHT+IEkz9hMV9atqNruizRKMDeVwQ7L2bHip7C6XoVxwsBwbg9VwJKZy+YkOStro/VgiJnBf6+bVw==
X-Received: by 2002:a05:6402:4405:b0:5e5:bfab:51e with SMTP id 4fb4d7f45d1cf-5e5bfab11aamr4759004a12.0.1741273067589;
        Thu, 06 Mar 2025 06:57:47 -0800 (PST)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 0/3] x86/pci: reduce PCI accesses
Date: Thu,  6 Mar 2025 15:57:30 +0100
Message-ID: <20250306145733.99927-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

First patch is not really related, but it's some cleanup I've found
while looking at the other fixes.  Patch 2 switched dump_msi() to not
rely on the cached MSI message, and finally patch 3 changes the logic to
prevent re-writing the same MSI message.

Patches 1 and 2 are new in this version, and have no changelog.

Thanks, Roger.

Roger Pau Monne (3):
  x86/apic: remove delivery and destination mode fields from drivers
  x86/msi: don't use cached address and data fields in msi_desc for
    dump_msi()
  x86/msi: prevent MSI entry re-writes of the same data

 xen/arch/x86/genapic/bigsmp.c       |  2 -
 xen/arch/x86/genapic/default.c      |  2 -
 xen/arch/x86/genapic/x2apic.c       |  4 --
 xen/arch/x86/include/asm/genapic.h  |  5 --
 xen/arch/x86/include/asm/msi.h      |  5 +-
 xen/arch/x86/io_apic.c              | 16 +++----
 xen/arch/x86/msi.c                  | 73 ++++++++++++++++++-----------
 xen/drivers/passthrough/vtd/iommu.c | 11 ++---
 8 files changed, 62 insertions(+), 56 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:57:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:57:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903670.1311644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCfZ-0003cC-TQ; Thu, 06 Mar 2025 14:57:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903670.1311644; Thu, 06 Mar 2025 14: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 1tqCfZ-0003ba-QD; Thu, 06 Mar 2025 14:57:53 +0000
Received: by outflank-mailman (input) for mailman id 903670;
 Thu, 06 Mar 2025 14: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=bSAR=VZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tqCfY-0003Ye-Tn
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:57:52 +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 60063f9f-fa9b-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:57:51 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-ac202264f9cso142640466b.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:57:51 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac2397366b0sm108721266b.95.2025.03.06.06.57.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 06:57:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60063f9f-fa9b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741273070; x=1741877870; 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=vNP8vm8lWdnrLbuaqz+aHqlLq12YGejtAmi/o97vgI4=;
        b=TJdmp6Zu2lFXbVJPlBCUJK3UujvTS4qKcLTax0etcuECMKZcTocI2ytum4Lcz+lefG
         hSrk2PlVB05Uvq7kzDGgr0M7OxamurAdQCDRGCWFkw+xUWbI5ym3+mdif2bTHt9eFath
         hzGqjBzYfZvE/abCID7GfBiy0avKXlhiPSd+c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741273070; x=1741877870;
        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=vNP8vm8lWdnrLbuaqz+aHqlLq12YGejtAmi/o97vgI4=;
        b=jdSISu1sUrXdTAmk5CDL7X4S8naIi8rUY1RFa/BDWN57u3yM7JwAZxXZreXMXvH6bm
         9RoV58fpuQKJaW5YFy58smqLnoWQkicGUScpvXGHxQlUy5n8O17DzpULSg9hI+lRa3S5
         m/2WDTAMOsi4+L4tADiCZg5fAgXHrDhsymkLjTHAeLN/2YIH4nEmKkwqYcL4i6Hzn2l9
         QppPfsCuOIxPAq1lVC2Z3Xxg0KEzuRE8eDiT0uIRGsD+BrYucBHRWzuTXRd7mie5s8sO
         jWj6bRvN4S+5CXMDYTHjZ8wkIF16b2Ahv+Kzs0zMcS88mZqbq7t3W5uL1OEacZ3QgGH3
         4VXA==
X-Gm-Message-State: AOJu0YwYSEdoHh3/8nNbWCQVTyewLMkXSBFghJjH4t08cLvX4Vsl6y8J
	fozrjJY0hU/f6fXLBJaVNxpHZ5xcAjjGFxGX2MYuM0NFFG8n8aUoxTUFZdCo7NEbNfqLanVKFvH
	1
X-Gm-Gg: ASbGncuuN+lN0kKKONbC/V5GzkJBLuptNuuKm4Y62XzMMNeaMdurhLKfZQ7fbK4cgv5
	RH7MR0hLnDSNUDoqGnkqnXANTfVVPplyDK8p2Ck2052yERtCXWcszva44mq2RyliIzzqLctUkNw
	SCkI5/jLqzPOMY06qisUYg3QL7bSaBfhIqWj/dPu9etLMpRYnj7qel9Mpn03IdBoRULr4AxgZUI
	khF9w0WKDPXRksRlJ1JozwgHqKJV3VT2M/SOty5wAbVGdAbOj0+gMMwZ3J9hkFMjAiGp2xIsL6M
	njHMDvTRGNZmMgg1ceGeii5qsC+e/MuT/I/JKloHrelYS7u2qw==
X-Google-Smtp-Source: AGHT+IG0pm1OZ77YuKmjL3LH/3H8U9L5m9NV2t1kaq5tZs3yxKMeA8gmbqAImUfjwe6gxUaizZysVw==
X-Received: by 2002:a17:907:7ea6:b0:ac1:e00c:a561 with SMTP id a640c23a62f3a-ac20dac2c06mr781304266b.18.1741273070145;
        Thu, 06 Mar 2025 06:57:50 -0800 (PST)
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 v2 2/3] x86/msi: don't use cached address and data fields in msi_desc for dump_msi()
Date: Thu,  6 Mar 2025 15:57:32 +0100
Message-ID: <20250306145733.99927-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306145733.99927-1-roger.pau@citrix.com>
References: <20250306145733.99927-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Instead compose a dummy MSI message just for the purpose of getting the
delivery attributes, which are the same for all messages.  Note that the
previous usage of the cached MSI message wasn't fetching the hardware MSI
fields either.

No functional change intended.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/msi.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 6c11d76015fb..8efe41b1526c 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -1454,6 +1454,16 @@ void __init early_msi_init(void)
 static void cf_check dump_msi(unsigned char key)
 {
     unsigned int irq;
+    struct msi_msg msg = {};
+    uint32_t addr, data;
+
+    /*
+     * Compose a dummy msg message for the purpose of getting the delivery
+     * attributes.
+     */
+    msi_compose_msg(FIRST_DYNAMIC_VECTOR, NULL, &msg);
+    addr = msg.address_lo;
+    data = msg.data;
 
     printk("MSI information:\n");
 
@@ -1461,7 +1471,7 @@ static void cf_check dump_msi(unsigned char key)
     {
         struct irq_desc *desc = irq_to_desc(irq);
         const struct msi_desc *entry;
-        u32 addr, data, dest32;
+        uint32_t dest32;
         signed char mask;
         struct msi_attrib attr;
         unsigned long flags;
@@ -1495,8 +1505,6 @@ static void cf_check dump_msi(unsigned char key)
             break;
         }
 
-        data = entry->msg.data;
-        addr = entry->msg.address_lo;
         dest32 = entry->msg.dest32;
         attr = entry->msi_attrib;
         if ( entry->msi_attrib.type )
@@ -1512,8 +1520,7 @@ static void cf_check dump_msi(unsigned char key)
             mask = '?';
         printk(" %-6s%4u vec=%02x%7s%6s%3sassert%5s%7s"
                " dest=%08x mask=%d/%c%c/%c\n",
-               type, irq,
-               (data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT,
+               type, irq, desc->arch.vector,
                data & MSI_DATA_DELIVERY_LOWPRI ? "lowest" : "fixed",
                data & MSI_DATA_TRIGGER_LEVEL ? "level" : "edge",
                data & MSI_DATA_LEVEL_ASSERT ? "" : "de",
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 14:57:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 14:57:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903671.1311661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCfb-00042I-6H; Thu, 06 Mar 2025 14:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903671.1311661; Thu, 06 Mar 2025 14:57: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 1tqCfb-00042D-2P; Thu, 06 Mar 2025 14:57:55 +0000
Received: by outflank-mailman (input) for mailman id 903671;
 Thu, 06 Mar 2025 14:57: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=bSAR=VZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tqCfZ-0003Ye-U6
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 14:57:53 +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 60ae5c41-fa9b-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 15:57:52 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-abf615d5f31so149569966b.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 06:57:52 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac2399d7da1sm108296266b.174.2025.03.06.06.57.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 06:57:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60ae5c41-fa9b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741273071; x=1741877871; 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=B0ajY6/Y8/keQc8NjGLWYTwjQvi4qUcVQxavVZsdDtc=;
        b=OSKIIfMV3Se6Dj1GgHVLdxoPO8T9oLTTV6PFQFMVEzBh5dkd2JAeLY7bVvLI4pmnfk
         5V0RNZSk2B43ZASSIpZswAooAQws10lRZ6RU7Aqp3sgxqhfYOsm9pphIhU0+JDGbk+uU
         xCPIY3W6+nUjsDKaYndU+MCUrOY+yBuRkl8Rk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741273071; x=1741877871;
        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=B0ajY6/Y8/keQc8NjGLWYTwjQvi4qUcVQxavVZsdDtc=;
        b=UrfD86Op3FzO4P5q3vn+W6vKIEIDzMUBb7FVjb021UvFgEMBZldm/M3SCTpHEw+Ofp
         RsxL2sj6SJiqxyk3+sg3UE6ry1sWxmCXg2qxJ38L4UCLyuuB14rF6wSNr2/P6gAJs7gA
         86sxCfRH6+mPwYvqMk6O/rUDOwq+xPHG3whgYODdtw2zcOwWot4MCkHXqHggWNBpC4j3
         3UVG3YB7YyXVkbGar622LgOIgpmA/mjkmmrkg7slJgCmcfGxyjWOQ+3xnynzC/kdkqJm
         +k3wB7OCY+j5kPqhk19sjhjgHDemUNFm1C8ASbXiorLFN3c8qYnw/+5BGtgZnKklwMdY
         4Efg==
X-Gm-Message-State: AOJu0YyKIzkN3Fhhxd8R+UE0E8VXaJbMIdqQb8tcy/0cmDq4PC/HbdUj
	baRaMmDlYWCOx8NeZDBbohEKjCdR0svbg4A/Jc5vA4jh6LLo05Ev0l8ahDKt4Q8zSLDuv65EtaQ
	V
X-Gm-Gg: ASbGncsPxaVMYcbEk+PCSgSIR14h+oziq24tnf0fvlCCN1rFa1PzzbEPvBpZTl5pXeT
	cmXVv5xRQCd3+LM8HSf3Aj81FRCTC6bOCDMDRDsSqfNDWHmnqe7hNCCUWRvb7Hk/FjbySrgGvKw
	F+UuJNAScDWkimUk1LyQ1wCJaO+k/gjsE/pAlQVhmFqXjOlW/oSXflPivctfbhj3pqMG0rT5VRv
	RV8wXqrZaPfhi2G1e1TCfdnoIHhHSrGOtJlzYBmiW3EyHfGYXz4jEgEtdn8tFxqvjOJtYYscZcd
	sAMVRsqp5pFDG2SqJrg9UXvrc7kmVrhFCUjx8ZSWLIxCU6smiw==
X-Google-Smtp-Source: AGHT+IE2B7p5OoJyNXIoaN0PqeztgJP7eTf3Cgh/ZrhNPresO+mqR0S9cIopnm16cGFXVTLk4TB4bA==
X-Received: by 2002:a17:907:971c:b0:ac1:e881:89aa with SMTP id a640c23a62f3a-ac20d849e84mr720030066b.5.1741273071290;
        Thu, 06 Mar 2025 06:57:51 -0800 (PST)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 3/3] x86/msi: prevent MSI entry re-writes of the same data
Date: Thu,  6 Mar 2025 15:57:33 +0100
Message-ID: <20250306145733.99927-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306145733.99927-1-roger.pau@citrix.com>
References: <20250306145733.99927-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Attempt to reduce the MSI entry writes, and the associated checking whether
memory decoding and MSI-X is enabled for the PCI device, when the MSI data
hasn't changed.

When using Interrupt Remapping the MSI entry will contain an index into
the remapping table, and it's in such remapping table where the MSI vector
and destination CPU is stored.  As such, when using interrupt remapping,
changes to the interrupt affinity shouldn't result in changes to the MSI
entry, and the MSI entry update can be avoided.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
---
Changes since v1:
 - Add more comments.
 - Simplify dma_msi_set_affinity().
---
 xen/arch/x86/include/asm/msi.h      |  5 +++-
 xen/arch/x86/msi.c                  | 45 ++++++++++++++++++++---------
 xen/drivers/passthrough/vtd/iommu.c | 11 +++----
 3 files changed, 39 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index 378b85ee947b..4301c58c7c4d 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -124,7 +124,8 @@ struct msi_desc {
     int irq;
     int remap_index;         /* index in interrupt remapping table */
 
-    struct msi_msg msg;      /* Last set MSI message */
+    /* Last set MSI message in remappable format if applicable */
+    struct msi_msg msg;
 };
 
 /*
@@ -236,6 +237,8 @@ struct arch_msix {
 };
 
 void early_msi_init(void);
+
+/* If cpu_mask is NULL msg->dest32 is used as the destination APIC ID. */
 void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask,
                      struct msi_msg *msg);
 void __msi_set_enable(pci_sbdf_t sbdf, int pos, int enable);
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 8efe41b1526c..3c9fdc9b7bf5 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -152,11 +152,13 @@ static bool msix_memory_decoded(const struct pci_dev *dev, unsigned int pos)
 }
 
 /*
- * MSI message composition
+ * MSI message composition.
+ * If cpu_mask is NULL msg->dest32 is used as the destination APIC ID.
  */
 void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg *msg)
 {
-    memset(msg, 0, sizeof(*msg));
+    msg->address = 0;
+    msg->data = 0;
 
     if ( vector < FIRST_DYNAMIC_VECTOR )
         return;
@@ -186,8 +188,6 @@ void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg
 
 static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 {
-    entry->msg = *msg;
-
     if ( iommu_intremap != iommu_intremap_off )
     {
         int rc;
@@ -198,6 +198,20 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
             return rc;
     }
 
+    /*
+     * Avoid updating the MSI entry if the address and data fields haven't
+     * changed.  When using interrupt remapping changing the MSI affinity
+     * shouldn't change the interrupt remapping table index, and hence the MSI
+     * address and data fields should remain the same.
+     */
+    if ( entry->msg.address == msg->address && entry->msg.data == msg->data )
+    {
+        entry->msg.dest32 = msg->dest32;
+        return 0;
+    }
+
+    entry->msg = *msg;
+
     switch ( entry->msi_attrib.type )
     {
     case PCI_CAP_ID_MSI:
@@ -243,21 +257,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 void cf_check set_msi_affinity(struct irq_desc *desc, const cpumask_t *mask)
 {
     struct msi_msg msg;
-    unsigned int dest;
     struct msi_desc *msi_desc = desc->msi_desc;
 
-    dest = set_desc_affinity(desc, mask);
-    if ( dest == BAD_APICID || !msi_desc )
+    msg.dest32 = set_desc_affinity(desc, mask);
+    if ( msg.dest32 == BAD_APICID || !msi_desc )
         return;
 
     ASSERT(spin_is_locked(&desc->lock));
 
-    msg = msi_desc->msg;
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
-    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
-    msg.address_lo |= MSI_ADDR_DEST_ID(dest);
-    msg.dest32 = dest;
+    msi_compose_msg(desc->arch.vector, NULL, &msg);
 
     write_msi_msg(msi_desc, &msg);
 }
@@ -1402,7 +1410,16 @@ int pci_restore_msi_state(struct pci_dev *pdev)
         }
         type = entry->msi_attrib.type;
 
-        msg = entry->msg;
+        /*
+         * Instead of re-writing the current MSI message, regenerate it and
+         * force a write, as that's simpler than adding support for writing
+         * already translated messages.
+         */
+        msg.dest32 = entry->msg.dest32;
+        /* Pass NULL as the cpu mask to use the value in msg.dest32. */
+        msi_compose_msg(desc->arch.vector, NULL, &msg);
+        /* Zero the cached message to unconditionally trigger a re-write. */
+        entry->msg = (typeof(entry->msg)){};
         write_msi_msg(entry, &msg);
 
         for ( i = 0; ; )
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index a1927d9f126d..e03e9dfbc595 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1183,22 +1183,19 @@ static void cf_check dma_msi_set_affinity(
     struct irq_desc *desc, const cpumask_t *mask)
 {
     struct msi_msg msg;
-    unsigned int dest;
     unsigned long flags;
     struct vtd_iommu *iommu = desc->action->dev_id;
 
-    dest = set_desc_affinity(desc, mask);
-    if (dest == BAD_APICID){
+    msg.dest32 = set_desc_affinity(desc, mask);
+    if ( msg.dest32 == BAD_APICID )
+    {
         dprintk(XENLOG_ERR VTDPREFIX, "Set iommu interrupt affinity error!\n");
         return;
     }
 
     msi_compose_msg(desc->arch.vector, NULL, &msg);
-    msg.dest32 = dest;
     if (x2apic_enabled)
-        msg.address_hi = dest & 0xFFFFFF00;
-    ASSERT(!(msg.address_lo & MSI_ADDR_DEST_ID_MASK));
-    msg.address_lo |= MSI_ADDR_DEST_ID(dest);
+        msg.address_hi = msg.dest32 & 0xFFFFFF00;
     iommu->msi.msg = msg;
 
     spin_lock_irqsave(&iommu->register_lock, flags);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:02:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:02:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903700.1311671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCjY-0006TI-Re; Thu, 06 Mar 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 903700.1311671; Thu, 06 Mar 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 1tqCjY-0006TB-Ns; Thu, 06 Mar 2025 15:02:00 +0000
Received: by outflank-mailman (input) for mailman id 903700;
 Thu, 06 Mar 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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqCjX-0006T5-NC
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:01:59 +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 f2fa1675-fa9b-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 16:01:57 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-abf628d653eso134788366b.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:01:57 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac239482f9asm111103366b.51.2025.03.06.07.01.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 07:01:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2fa1675-fa9b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741273317; x=1741878117; 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=FBcOx7YVMqxALW3G+tvdi1gdsK5K4dwTqE7ncfs3Jc4=;
        b=W1Jhqfvk5Q8bPIdJ2CsJNjOE653PGpdHA0w1S7dUKhLTk7GBCEId+DTo246EWJs6at
         HNnHYqbsVC/Z+yuAltSlDK6aybN60paowuWanelL8O1Ixncl8DDI73n9y7xAWOh4TpNk
         lCwAg8jRNGdiYiZjyFEtrrMm3+VfmjCjQm+DgA8mMJVAYu+7kwC8us608FpUspAdAnfI
         DWx/vPjEvrEBldigkg/U2934LCpBtUtDwCX5o9gS5/yMyFKu2qKtePAzw8a3XowMtxHH
         PoTb8FR/NuhcS2dbNme8UH0Ul/f05Nr9wom7sa5bv6T6D6BoKaog+mSUw2B9R9YWp40I
         w8Iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741273317; x=1741878117;
        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=FBcOx7YVMqxALW3G+tvdi1gdsK5K4dwTqE7ncfs3Jc4=;
        b=WeilhFJ109WMcAgeBo3uZL90VXWLL90JMqbVoIakvKDRdtVtRDh4pCUPCA+E0OU2h3
         ih37ky1NptdaWanGY+hzw91OIja8PX4L4C3fH1gTQp8ydsWxC6YkjWg08d11OpRXdPur
         B7q9PvtlKNbuayaI+PQRC0Xr0C7Ybd6JaCoxUiDJ1/8USbDIXk5jQ75GkDzAo3mVeXWW
         yx7JLicrUxGXIwDRZ0hWfT1jP0rAabzfsWh3Y97SS5znc3BX4Im9VhiBPIu4wUJBB6BM
         6rpAlC0Z9WyhworvVNr60Thj3tyfwS3KN/A8GU9/jjKpLxPMbjl7R204B4M9IsHaUk/w
         Dc2w==
X-Forwarded-Encrypted: i=1; AJvYcCWoWZLS7Ph+BdcuJyGYlcNT9zi7ohsr/1DVIuRCstwzI8kU2iGtvVVAt1hZmzM5rO8UEHCfG3ApN5k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYfexARkDUtnHSRIJk2UBkgb2y35cACr2PNSyuXVj34gJy10WU
	RsGOZbXPwLGK3nuYI449zZ1C+K3rb4QiPovt+d1XNSXmTMN/VPMGG+/y7fu3s+X+RbqX2ruJXR9
	e
X-Gm-Gg: ASbGncsXJ6/xcbsQbj0ei+BsFh0FrX8M3xd2y/4wIXCrIi1rYxG0pmXzNJdfGXhohWk
	XL1qB2PZeX3GJmRZ/kiCLm546Q8wgh5oyeol1LH1+C8WAJsL1qbnipEzjZbLcIN8WtHLXO4evez
	k1CrxVkFSxim2GCz31W7JFEWs7mHTHVzKkU6sP/3KcRSFoEq7WPzTuEv9MzPOKNL52WoAMdpLsE
	ozxzWDoxxgyabT58kF1wyWtfQeCGw1emMN3Pu31KjGVWX0XUBM1g/XyPG3QlrT7wUWfhiwMlLOa
	brZDYhs2GdNtxeH3wOqqRVLLodoUR2wmoBcP8nCOmjDRVzdiSH9IJHtivPSf6rF6XOqYokrbxFI
	TMpemUmS/SBlM5vZzyg4gQMFzsUq1qv+fNrN9ZUiu963vO8UfXrPGwSWYFRAdWS1r5U0=
X-Google-Smtp-Source: AGHT+IHwPhRPqRe2W7VJ8icUKyMikY+8uwDba91EUGEBi/dnhWTk9nZBrlRx1Fd/7VaDTcUn7ZoNwQ==
X-Received: by 2002:a17:907:c48c:b0:ac1:f6ba:3b18 with SMTP id a640c23a62f3a-ac20dadcb0cmr732038866b.44.1741273314971;
        Thu, 06 Mar 2025 07:01:54 -0800 (PST)
Message-ID: <120ef18b-0bdb-48a1-be7d-177e7ea36239@suse.com>
Date: Thu, 6 Mar 2025 16:01:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] libxl: avoid infinite loop in libxl__remove_directory()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>
References: <0d3655d6-8551-486b-85ca-e64378231278@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: <0d3655d6-8551-486b-85ca-e64378231278@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------YPY1YYiTpbESvi035hq3fu5e"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------YPY1YYiTpbESvi035hq3fu5e
Content-Type: multipart/mixed; boundary="------------h8R2V0PZf8G53GzehAGLK4Dy";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <120ef18b-0bdb-48a1-be7d-177e7ea36239@suse.com>
Subject: Re: [PATCH] libxl: avoid infinite loop in libxl__remove_directory()
References: <0d3655d6-8551-486b-85ca-e64378231278@suse.com>
In-Reply-To: <0d3655d6-8551-486b-85ca-e64378231278@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=

--------------h8R2V0PZf8G53GzehAGLK4Dy
Content-Type: multipart/mixed; boundary="------------Gjvpnn70XpP2bWfqy0BP0GXl"

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

T24gMDYuMDMuMjUgMTI6MjUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBJbmZpbml0ZWx5IHJl
dHJ5aW5nIHRoZSBybWRpcigpIGludm9jYXRpb24gbWFrZXMgbGl0dGxlIHNlbnNlLiBXaGls
ZSB0aGUNCj4gb3JpZ2luYWwgb2JzZXJ2YXRpb24gd2FzIHRoZSBsb2cgZmlsbGluZyB0aGUg
ZGlzayAoZHVlIHRvIHJlcGVhdGVkDQo+ICJEaXJlY3Rvcnkgbm90IGVtcHR5IiBlcnJvcnMs
IGluIHR1cm4gb2NjdXJyaW5nIGZvciB1bmNsZWFyIHJlYXNvbnMpLA0KPiB0aGUgbG9vcCB3
YW50cyBicmVha2luZyBldmVuIGlmIHRoZXJlIHdhcyBubyBlcnJvciBtZXNzYWdlIGJlaW5n
IGxvZ2dlZA0KPiAobXVjaCBsaWtlIGlzIGRvbmUgaW4gdGhlIHNpbWlsYXIgbG9vcHMgaW4g
bGlieGxfX3JlbW92ZV9maWxlKCkgYW5kDQo+IGxpYnhsX19yZW1vdmVfZmlsZV9vcl9kaXJl
Y3RvcnkoKSkuDQo+IA0KPiBGaXhlczogYzRkY2JlZTY3ZTZkICgibGlieGw6IHByb3ZpZGUg
bGlieGxfX3JlbW92ZV9maWxlIGV0IGFsIikNCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxp
Y2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpXaGlsZSBwcm9iYWJseSBhIG1vcmUgc2FuZSBz
b2x1dGlvbiBieSByZXdvcmtpbmcgdGhpcyB3aG9sZSBtZXNzDQppcyBwb3NzaWJsZSwgdGhp
cyBwYXRjaCBzaG91bGQgc29sdmUgdGhlIGlzc3VlIEphbiBoYXMgZGVzY3JpYmVkLg0KDQpT
bzoNCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0K
DQpKdWVyZ2VuDQo=
--------------Gjvpnn70XpP2bWfqy0BP0GXl
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-----

--------------Gjvpnn70XpP2bWfqy0BP0GXl--

--------------h8R2V0PZf8G53GzehAGLK4Dy--

--------------YPY1YYiTpbESvi035hq3fu5e
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/Ey8FAmfJuOEFAwAAAAAACgkQsN6d1ii/Ey9B
sAf/YiHwBjlqjIMrVUEFxDyTiSVSVWukkLjNXnTSuRjVYXEh3KncDehaoDQa2E3zuoU3HfvZRHoR
Th5swTxaxpXg8J02fZRKZ9WqZ4hYbavxSVdMg+UHaokoofEWuF46N36VEaiTyBzRP4afjQgjTdAS
M14jQO7ioDYOVe3YlXKqXTMNNEL2MQ9EppfSxP+0R3hGF9QB9TUCpDjRGE5fbIBBC1rzbJo0Q0CY
1cfZ0LODu1smzn2pwIsO48wVYtB+IOkIQjKfJSB4UBaAkXulK4LOu9XeovIjm4TRa55i4S1GPOuH
0EPlRz4Hk6U9IEs8CyWUIElA7BnHeAIb9QQ9rFMWKw==
=w7jr
-----END PGP SIGNATURE-----

--------------YPY1YYiTpbESvi035hq3fu5e--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:02:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903707.1311680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqCkH-0006uT-2D; Thu, 06 Mar 2025 15:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903707.1311680; Thu, 06 Mar 2025 15:02: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 1tqCkG-0006uM-Vj; Thu, 06 Mar 2025 15:02:44 +0000
Received: by outflank-mailman (input) for mailman id 903707;
 Thu, 06 Mar 2025 15:02: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=e45K=VZ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tqCkF-0006pO-Sx
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:02:43 +0000
Received: from mail-oa1-x31.google.com (mail-oa1-x31.google.com
 [2001:4860:4864:20::31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d21cb2a-fa9c-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 16:02:42 +0100 (CET)
Received: by mail-oa1-x31.google.com with SMTP id
 586e51a60fabf-2b38896c534so359387fac.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:02:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d21cb2a-fa9c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741273361; x=1741878161; 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=vAgqhpyvO8liwlGn5res9GBryBANZw5l5xsrBg96Y3M=;
        b=LF9UpZduUIDiYHD3p8zG7DHdPrAzFk7BVhPvT3BbdSjWi1mSXst5J3/jPg/GEYdyLn
         K1q4+wl2YhZZygJSQVZxClK/yi65NaelmoDa5VYeDQA6MUdCVos++iSV/FNr/1yDY6Dn
         ip4mQB/0gphUZqcpbNfnwj+98BT8q6R2vpQt4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741273361; x=1741878161;
        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=vAgqhpyvO8liwlGn5res9GBryBANZw5l5xsrBg96Y3M=;
        b=lDNFj67wma//nDicmuAA4loaPLQU/8PzVem/fLrePoiZx73dBBBdTQxA4UWZEU8hRX
         YQafJTdGwKmUHML8kYKZ9ILhZDOdRY/7CnwrRf2C6T4TpDJ3YWM/KDguPsH9RLj5YP8+
         tgmBf2o7gHAEQ4AjBKLsZAaBBZEn/JK3iIIIzI+Zy41x3h6LHQ/+qNWmhdTkUsE9Lqs2
         IG8smpy04tE9bevghLvmfrPEquRvUj3X/ZQO7mZ1n1NAstvM1v0MHcl4qcnXg51/sY7r
         kQ39P21s6YR+jfns3BY+KhXYDermwOOWhaTrbgygJWBnt1zeZsBImPbaUEh7OzV0+Ae2
         EpxA==
X-Forwarded-Encrypted: i=1; AJvYcCUtH11LEuHDp/eoQ+Xvv+EkdGemZkM0RCaFAio3grfsomtP4uBobfqxZyM3p40QeieT0G8MKvCNyFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzKrEmGEKeK0690jKcRiZS9Y6yK6TaSjmUd7w3D0YABdLR4qh5a
	PTqOjAgx50HkOz+6IlToMAKIH0+SfSRKooMdUz64s6UNggXFCHgCCAnzXmy7bD2KunoqQmnQFSO
	sAmDFuYYw9bqy6i5GpeHYIqBc+JFtILKmthlguXtdWEDfOlQd9slR5Q==
X-Gm-Gg: ASbGncvD7Rn/K04aUuZS/21akYvOyCP5YEjLczE+hpRzE6HPlWdkCQDKlUvUGr9sqXF
	0Wmw6zJjGfo4/3EAOAtm1QwuOi83fsTvyxSL6KYU6f1CI8+7wdyUpoSAj/kqnmuUhpihjm7HWDH
	HiuvpbJ+ayO7q8eICxekEm0ebEqg==
X-Google-Smtp-Source: AGHT+IF/Dl5p62ywElAFDKz4LBKlSh/Mr2kUpUKRnS4th2v8dPMTqDXOFDEV9aLHAPV3oF6YogCppyYLEQBNfxvhKy4=
X-Received: by 2002:a05:6870:d1c4:b0:29d:c764:f873 with SMTP id
 586e51a60fabf-2c21cdb8e00mr4250438fac.31.1741273360359; Thu, 06 Mar 2025
 07:02:40 -0800 (PST)
MIME-Version: 1.0
References: <20250217162659.151232-1-frediano.ziglio@cloud.com>
 <Z7jf_YojU9tQ1Or7@mail-itl> <CACHz=Zierjby+_Q93dFeO5mjMG1aiSpyHvDshRK6=ZHY5bH-6A@mail.gmail.com>
 <Z7xxQHVdSGwig4hb@mail-itl> <CACHz=ZgHxvCJQyJe_NJFh3YYcuW0sey+qcOEv0O-XxC8daTo+A@mail.gmail.com>
 <Z79jhZ_BGEC6DYl4@mail-itl> <086f7e05-2cab-4a53-8ecb-dff7421e38bc@suse.com>
In-Reply-To: <086f7e05-2cab-4a53-8ecb-dff7421e38bc@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 6 Mar 2025 15:02:28 +0000
X-Gm-Features: AQ5f1JqnXqzHSHQaEKHGKXG145n3i3LPJZzApOnQIagFDn96sf2URMgtlyI5MRM
Message-ID: <CACHz=ZjtjMyv5OmUT8dNHAzqrw5c7ij58quo1SuDc2ZBSjQRmw@mail.gmail.com>
Subject: Re: [PATCH v6] Avoid crash calling PrintErrMesg from efi_multiboot2
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 6, 2025 at 2:26=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wrot=
e:
>
> On 26.02.2025 19:54, Marek Marczykowski-G=C3=B3recki wrote:
> > On Mon, Feb 24, 2025 at 02:31:00PM +0000, Frediano Ziglio wrote:
> >> On Mon, Feb 24, 2025 at 1:16=E2=80=AFPM Marek Marczykowski-G=C3=B3reck=
i
> >> <marmarek@invisiblethingslab.com> wrote:
> >>>
> >>> On Mon, Feb 24, 2025 at 12:57:13PM +0000, Frediano Ziglio wrote:
> >>>> On Fri, Feb 21, 2025 at 8:20=E2=80=AFPM Marek Marczykowski-G=C3=B3re=
cki
> >>>> <marmarek@invisiblethingslab.com> wrote:
> >>>>>
> >>>>> On Mon, Feb 17, 2025 at 04:26:59PM +0000, Frediano Ziglio wrote:
> >>>>>> Although code is compiled with -fpic option data is not position
> >>>>>> independent. This causes data pointer to become invalid if
> >>>>>> code is not relocated properly which is what happens for
> >>>>>> efi_multiboot2 which is called by multiboot entry code.
> >>>>>>
> >>>>>> Code tested adding
> >>>>>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
> >>>>>> in efi_multiboot2 before calling efi_arch_edd (this function
> >>>>>> can potentially call PrintErrMesg).
> >>>>>>
> >>>>>> Before the patch (XenServer installation on Qemu, xen replaced
> >>>>>> with vanilla xen.gz):
> >>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> >>>>>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CP=
U Apic ID - 00000000 !!!!
> >>>>>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 =
SGX:0
> >>>>>>   RIP  - 000000007EE21E9A, CS  - 0000000000000038, RFLAGS - 000000=
0000210246
> >>>>>>   RAX  - 000000007FF0C1B5, RCX - 0000000000000050, RDX - 000000000=
0000010
> >>>>>>   RBX  - 0000000000000000, RSP - 000000007FF0C180, RBP - 000000007=
FF0C210
> >>>>>>   RSI  - FFFF82D040467CE8, RDI - 0000000000000000
> >>>>>>   R8   - 000000007FF0C1C8, R9  - 000000007FF0C1C0, R10 - 000000000=
0000000
> >>>>>>   R11  - 0000000000001020, R12 - FFFF82D040467CE8, R13 - 000000007=
FF0C1B8
> >>>>>>   R14  - 000000007EA33328, R15 - 000000007EA332D8
> >>>>>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 000000000=
0000030
> >>>>>>   GS   - 0000000000000030, SS  - 0000000000000030
> >>>>>>   CR0  - 0000000080010033, CR2 - FFFF82D040467CE8, CR3 - 000000007=
FC01000
> >>>>>>   CR4  - 0000000000000668, CR8 - 0000000000000000
> >>>>>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 000000000=
0000000
> >>>>>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 000000000=
0000400
> >>>>>>   GDTR - 000000007F9DB000 0000000000000047, LDTR - 000000000000000=
0
> >>>>>>   IDTR - 000000007F48E018 0000000000000FFF,   TR - 000000000000000=
0
> >>>>>>   FXSAVE_STATE - 000000007FF0BDE0
> >>>>>>   !!!! Find image based on IP(0x7EE21E9A) (No PDB)  (ImageBase=3D0=
00000007EE20000, EntryPoint=3D000000007EE23935) !!!!
> >>>>>>
> >>>>>> After the patch:
> >>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> >>>>>>   Test message: Buffer too small
> >>>>>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA=
-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
> >>>>>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAE=
A-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
> >>>>>>
> >>>>>> This partially rollback commit 00d5d5ce23e6.
> >>>>>>
> >>>>>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI=
 platforms")
> >>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> >>>>>
> >>>>> I tried testing this patch, but it seems I cannot reproduce the ori=
ginal
> >>>>> failure...
> >>>>>
> >>>>> I did as the commit message suggests here:
> >>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commit/ca3d691=
1c448eb886990f33d4380b5646617a982
> >>>>>
> >>>>> With blexit() in PrintErrMesg(), it went back to the bootloader, so=
 I'm
> >>>>> sure this code path was reached. But with blexit() commented out, X=
en
> >>>>> started correctly both with and without this patch... The branch I =
used
> >>>>> is here:
> >>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commits/automa=
tion-tests?ref_type=3Dheads
> >>>>>
> >>>>> Are there some extra condition to reproduce the issue? Maybe it dep=
ends
> >>>>> on the compiler version? I guess I can try also on QEMU, but based =
on
> >>>>> the description, I would expect it to crash in any case.
> >>>>>
> >>>>
> >>>> Did you see the correct message in both cases?
> >>>> Did you use Grub or direct EFI?
> >>>>
> >>>> With Grub and without this patch you won't see the message, with gru=
b
> >>>> with the patch you see the correct message.
> >>>
> >>> I did use grub, and I didn't see the message indeed.
> >>> But in the case it was supposed to crash (with added PrintErrMesg(),
> >>> commented out blexit and without your patch) it did _not_ crashed and
> >>> continued to normal boot. Is that #PF non-fatal here?
> >>>
> >>
> >> Hi,
> >>    I tried again with my test environment.
> >> Added the PrintErrMesg line before efi_arch_edd call, I got a #PF, in
> >> my case the system hangs. With the fix patch machine is rebooting and
> >> I can see the message in the logs.
> >> I'm trying with Xen starting inside Qemu, EFI firmware, xen.gz
> >> compiled as ELF file. Host system is an Ubuntu 22.04.5 LTS. Gcc is
> >> version 11.4.
> >
> > My test was wrong, commenting out blexit made "mesg" variable unused.
> > After fixing that, I can reproduce it on both QEMU and real hardware:
> > without your patch it crashes and with your patch it works just fine.
> > While there may be more places with similar issue, this patch clearly
> > improves the situation, so:
> >
> > Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.=
com>
>
> This had to be reverted, for breaking the build with old Clang. See the
> respective Matrix conversation.
>
> Jan
>

To sum up the failure is:

    clang: error: unknown argument: '-fno-jump-tables'

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:22:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903720.1311690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqD3L-0001Az-I6; Thu, 06 Mar 2025 15:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903720.1311690; Thu, 06 Mar 2025 15:22: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 1tqD3L-0001As-FF; Thu, 06 Mar 2025 15:22:27 +0000
Received: by outflank-mailman (input) for mailman id 903720;
 Thu, 06 Mar 2025 15: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqD3K-0001Am-Ix
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:22:26 +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 cc55dcbe-fa9e-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 16:22:21 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43bcbdf79cdso5195885e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:22:21 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfb79cfsm2371007f8f.10.2025.03.06.07.22.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 07:22:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc55dcbe-fa9e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741274541; x=1741879341; 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=IPQ35TqkoU0Z/YMA44V8bs0kfvQmDFCjA71bpBt2D34=;
        b=nm8qS5m1k4ZNyMmInVIuLf5IDZ1pd3A6f9gaFW0BbMytd22KE8KXu5PIvleY3lNG/i
         Vnb2oIt0IKm6KsIZG4aNllTFJXaaJwQA5KVkWOJx9/7Xzv8spMC67/5TTpOIyZrdGCcP
         t5J/M3sUZbH7lOhZH3xcpSHihGlHwIwBA9Cdg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741274541; x=1741879341;
        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=IPQ35TqkoU0Z/YMA44V8bs0kfvQmDFCjA71bpBt2D34=;
        b=Qy1Lx0e6c10hCRj00SdRohmfpdex0/kQB9CF+HNbi1V4xZU7+x1Np+5gy70RDcd5YV
         7HYovtaIPRMsGURlsaL44GeAb8bRME2fP3cSuaHulkuyIwa/phaT5s4x3xflWa+ericK
         JF2Tsk7zCyQpepMOG/L8WNu0sFay6izffv0TZf5VlzysMxKTvDpuUf7TmCef4u134q4E
         mF8/yTRpIdxDb/dZTZMRMfxDqqmmDLLNb3lq6seo62Rw5MAsvJrC/nPdIKvJcr3UHJlo
         PoqRb5wYfE1A6ywZw/zQ3di8/CX3GsGNw1dqnn39dtCdoG2LT+f2uT1s4Igs0s3aHrUd
         V5Sg==
X-Forwarded-Encrypted: i=1; AJvYcCVuEKi8ACodsEnpONjbufT9nGeW6MzDs4Uh/gC8QSU2HJRzZKmKtElj3Xxv/b8txMjMBJpEWWnPOGU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxW968C+Ul6EpMiu5YOgvwx9FR0HDQEiIE5EGsV9GTznEHNGL7e
	AghNf7ZK13eFPjTsg7GujNY17AJopqtCc4IfC7as8oOdnYRVtnEvffkTLy83V6k=
X-Gm-Gg: ASbGncvx/fHWtTRCyqyGrxqNHcqGTg8CGC+dvAfRmSV+zy3O+Oc9Nmh/yDqj9yjYucc
	L0AsEdLV1L0LrFzHah3dTBgQHXOUrXvy2Pn+I4l5w0l7XV5YC1j8Hix5tc4Cs3wwu15LEurg5jw
	/Aj+4sRInwIXnXgS5cgshzCsail7cmiaYUuUknPGq1CxwwgyJEscEYKQ2IxfLu0th5BnleTCIzL
	mKfv6KyJCTtLRQaDNfPkmoKWLvoUK/xH7l4qgN4pT4+TJ3Apw8PAmm4/AoX0QNpPJCnqbaPINIQ
	te29XEDOupyvAFbj2+mGoKb69MvJGL5VPtxGlpckleZ2gfv1Mf6ACbC97wCnqHZwteyiSk6p++5
	VRrStoOIm
X-Google-Smtp-Source: AGHT+IHNowB5/ZE0ZHWbpkouCgQePefDiVlCP33DaXM+BX57LKGgiCfPU+sStoDwvHVVwHnPqDEEwg==
X-Received: by 2002:a05:600c:548a:b0:43b:d025:76aa with SMTP id 5b1f17b1804b1-43bd29c4f3cmr53781515e9.23.1741274540680;
        Thu, 06 Mar 2025 07:22:20 -0800 (PST)
Message-ID: <d5419da1-02de-4e18-a1cf-e2aaa9d4f988@citrix.com>
Date: Thu, 6 Mar 2025 15:22:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] x86/apic: remove delivery and destination mode
 fields from drivers
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250306145733.99927-1-roger.pau@citrix.com>
 <20250306145733.99927-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: <20250306145733.99927-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/03/2025 2:57 pm, Roger Pau Monne wrote:
> All local APIC drivers use physical destination and fixed delivery modes,
> remove the fields from the genapic struct and simplify the logic.
>
> No functional change intended.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
>  xen/arch/x86/genapic/bigsmp.c      |  2 --
>  xen/arch/x86/genapic/default.c     |  2 --
>  xen/arch/x86/genapic/x2apic.c      |  4 ----
>  xen/arch/x86/include/asm/genapic.h |  5 -----
>  xen/arch/x86/io_apic.c             | 16 ++++++++--------
>  xen/arch/x86/msi.c                 | 11 +++--------
>  6 files changed, 11 insertions(+), 29 deletions(-)

Definitely going in a good direction.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:24:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:24:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903733.1311711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqD5I-0001qq-HQ; Thu, 06 Mar 2025 15:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903733.1311711; Thu, 06 Mar 2025 15:24: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 1tqD5I-0001qY-Ag; Thu, 06 Mar 2025 15:24:28 +0000
Received: by outflank-mailman (input) for mailman id 903733;
 Thu, 06 Mar 2025 15:24: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=4wq0=VZ=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1tqD5H-0001iS-0K
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:24:27 +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 1637a1ce-fa9f-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 16:24:25 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-abf4cebb04dso154467666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:24:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1637a1ce-fa9f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741274664; x=1741879464; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=IfpRx+4HWti9bQdpi7v8SRUcygtKRPDlLQgeTFRrDpk=;
        b=HLqa9OUzCw/jlJ+LMV9/H5kjoMRUv5SDkukE4+RDgRfssueZ/8LDUC52FIx/W+2W2d
         VTANfr0OJRTwz0M0DTXzo7tDS3jLachmYkeFZcTQRxOvjj6ekBe5KPW7zrOpgQnO1GOa
         R+31wlmgKRUf3FN/1WKWOQdoUoaSuOv/j9r/E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741274664; x=1741879464;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IfpRx+4HWti9bQdpi7v8SRUcygtKRPDlLQgeTFRrDpk=;
        b=T+/gzYvFlTVOd6xl5h9IGS0Nz3+WRQQiU1QBeNBkSd7cxG1yqZoSntUJeYQwAh7mXq
         ZpJHxjG47uB2VUS+deu/qdVuPyPazXUdshrTMl0BeSybXiXDCC2qTulTdK8eiQ14VlAb
         I2RSNYmU/bfZD9Gvy6YmUJZPovogFki1IqmNZ+p0Sa89mvxcok9uUE/1v6HGPnHy689q
         17BykOcUSZanz7GMEFUV8189UU3VQ1p/O7RuAWy+V2LzBXHYOFO1MNq86uYtxGwtVS6Z
         7UoA2LJsfNMi+cMb2RQjp5wz7yqi8c84JqHBha62c6ADCksnjOI8WXMy7sPtCHFvkXJD
         iyDA==
X-Gm-Message-State: AOJu0YzHq9Ek7ymV4nQhC9rvKiAIAOhUOPRv7LnBpoX2gGWfxZforbmE
	fYVZCydyk9FOGV+E0cchsVpk1K4x9KopafflUpvwcdE55iv1f7Mlt6IExHle9pBF/1G7Jg88Nza
	BlOHxBKKpkNeu+4ljpnTH4XmX8bhjJA5i0r/iIHoZdBcEE4ug
X-Gm-Gg: ASbGncte4zu8qPjBc9t97cFJWH63lAhzF81GVSg3mnfZQYL2MHtXwQ8Tb0XXUt4FKcF
	WKZgoPnj/fWvVF7/IwuhOtASoj/MNl/hvRmN4wHyanwwBiXdx0B19J2VfRt6bSIA7qDZetszmf5
	Rsij7eIrGrUvKhDom8N8INx2SIQXSLQtN/KRPFmY5/7Yxo10a/qgCqX7BueKuF
X-Google-Smtp-Source: AGHT+IFG8Hjgc5IwezD9G4WANi05H7A6vd765haYU/2KUDPqtMpkkf7PCcNmWSZuCHXxJSr5Y8uCiqQTNf/S2ST6WCs=
X-Received: by 2002:a17:907:961e:b0:abb:b411:5e02 with SMTP id
 a640c23a62f3a-ac22cbb5723mr423946866b.18.1741274663692; Thu, 06 Mar 2025
 07:24:23 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 6 Mar 2025 15:24:12 +0000
X-Gm-Features: AQ5f1JqOjxcHusnvwMlnFvSOng7ureYgflORoBCR2NJY5QGKAtSBtk7YNgoztow
Message-ID: <CAO-mL=xZBFaHW0=3sz_1Kg0vno=YCb_ZP5foRz=r8D6D_hcySw@mail.gmail.com>
Subject: A Heartfelt Goodbye to the Xen Project Community
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org
Cc: Xen Project Advisory Board <advisory-board@lists.xenproject.org>, 
	"committers @ xenproject . org" <committers@xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000c950a8062fae190b"

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

Hi all,

It is with a heavy heart that I share that my time as the Community Manager
for the Xen Project has come to an end due to redundancy. While this was an
unexpected change, I want to take this opportunity to express my gratitude
and reflect on what an incredible journey it has been.

Being part of this community has been nothing short of amazing. I=E2=80=99v=
e had
the privilege of working alongside some of the most talented, passionate,
and dedicated people in open source. From contributors and maintainers to
users and advocates, every interaction has reinforced what makes Xen so
special=E2=80=94it=E2=80=99s not just about technology; it=E2=80=99s also a=
bout the people behind
it.

I=E2=80=99ve loved seeing the project evolve, celebrating its milestones, a=
nd
tackling challenges together. And while I may be stepping away from my
official role, I=E2=80=99ll always be cheering for the Xen Project from the
sidelines. I have no doubt that this community will continue to push
boundaries and achieve great things. Watch out for more board members
joining Xen Project soon!

Thank you to everyone who has supported, collaborated, and shared this
journey with me.

Let=E2=80=99s stay in touch=E2=80=94you can connect with me on LinkedIn
<https://www.linkedin.com/in/kellychoiuk/>.

Wishing you all the best, and hoping our paths cross again soon!
Thanks,
Kelly Choi
Community Manager
Xen Project <https://xenproject.org/>

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

<div><div dir=3D"ltr"><div dir=3D"ltr"><div><p>Hi all,=C2=A0</p><p>It is wi=
th a heavy heart that I share that my time as the Community Manager for the=
 Xen Project has come to an end due to redundancy. While this was an unexpe=
cted change, I want to take this opportunity to express my gratitude and re=
flect on what an incredible journey it has been.</p><p>Being part of this c=
ommunity has been nothing short of amazing. I=E2=80=99ve had the privilege =
of working alongside some of the most talented, passionate, and dedicated p=
eople in open source. From contributors and maintainers to users and advoca=
tes, every interaction has reinforced what makes Xen so special=E2=80=94it=
=E2=80=99s not just about technology; it=E2=80=99s also about the people be=
hind it.</p><p>I=E2=80=99ve loved seeing the project evolve, celebrating it=
s milestones, and tackling challenges together. And while I may be stepping=
 away from my official role, I=E2=80=99ll always be cheering for the Xen Pr=
oject from the sidelines. I have no doubt that this community will continue=
 to push boundaries and achieve great things. Watch out for more board memb=
ers joining Xen Project soon!=C2=A0</p><p>Thank you to everyone who has sup=
ported, collaborated, and shared this journey with me.=C2=A0</p><p>Let=E2=
=80=99s stay in touch=E2=80=94you can <a href=3D"https://www.linkedin.com/i=
n/kellychoiuk/" target=3D"_blank">connect with me on LinkedIn</a>.=C2=A0</p=
><p>Wishing you all the best, and hoping our paths cross again soon!</p></d=
iv><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_=
signature"><div dir=3D"ltr"><div>Thanks,</div><div>Kelly Choi<br></div><div=
><div style=3D"color:rgb(136,136,136)">Community Manager</div><div style=3D=
"color:rgb(136,136,136)"><a href=3D"https://xenproject.org/" target=3D"_bla=
nk">Xen Project</a><br></div></div></div></div></div></div>
</div>
</div>

--000000000000c950a8062fae190b--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:33:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903772.1311730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDEE-0004TT-9S; Thu, 06 Mar 2025 15:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903772.1311730; Thu, 06 Mar 2025 15:33: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 1tqDEE-0004TM-6a; Thu, 06 Mar 2025 15:33:42 +0000
Received: by outflank-mailman (input) for mailman id 903772;
 Thu, 06 Mar 2025 15:33: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqDEC-0004TG-OV
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:33:40 +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 60537824-faa0-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 16:33:39 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43bc4b1603fso5369585e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:33:39 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bcbd27996sm44601595e9.2.2025.03.06.07.33.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 07:33:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60537824-faa0-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741275218; x=1741880018; 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=uH2iIPv71xUZ7Kh7UsPOG12+ca9p9pw6FI3e2CBLarc=;
        b=I0UEQM7uuQTCaqLkKJXuqMv5UEeshBfWHbQ4dbKn3riD2m4pRswkqQR33tmZJJGyuI
         03Vo0IrSMG4hwsqsxcQxJesL/oymq2H3+Om2xSMbGMKIWu64w97VjZPFYoF8CdRNtwYI
         EQ60makkAXFBm8buRdiAwYhbekdPOz9/hnYjhElACfVK2mfGIDLd1dHVI9p7H+MwOkQd
         u4g+NcIyeiqY97A3A0uKrDApxeiopSDmhDwAPjVm9sxiJHn/kagAfxkFDeGoJkHdvrB5
         bzUXxWOKdyszZQDB0QFucGg6aO3ITHnNVOOoexh6CKcbzSGq7zugq04zx/k2cRLEPTje
         fG6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741275218; x=1741880018;
        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=uH2iIPv71xUZ7Kh7UsPOG12+ca9p9pw6FI3e2CBLarc=;
        b=rBKsPdRO6u8OKh0bXYBlnMjdDdhzP3F95ijAd9fpBFttQf6uRhFgUWkQnanR/S9CUj
         iyqG1tdUz1t8LeDvHavt9osWkJkpKCf9YDCO5ml+nl4mcfuTYcSx/7wazo/nnRgfomcA
         JcVXv9Ep62Y/pQ0jXDPN0awR4liShZHBawcDNrj3dgdijmHha1CQPfn4ez9hqku8BzbL
         pKfwFjOfLrNpmoAb3a1Es2UV26EHBQKF7bQA8VmIJ/eK3nH5MDwucgrKDXcJyP+6UuHf
         5nH7YX8iMNJTtWRRVovlHHxuzCvO4sxRuj5C53nU7EGHuW6slh6HzDRoH6AOrKbjXcub
         pdjw==
X-Forwarded-Encrypted: i=1; AJvYcCWleHuiv1Hchc+U/IghRl3fhpsZ2MeX7wahejLh8xb/WpWbqpngulGJAHF+iTQ/XiMn1rlydlhyWrY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuVGoauF/cNG4pgn2+Qdid56ebuqCDrI+8lNbQYE4FUeGrZyXd
	RiIl576T3LVQnSALfc2sCVBoPqadeY8Y0jfMmsMJ4f4hkvwlAvov8Yo4cdOjbw==
X-Gm-Gg: ASbGncu1MGZoyeqZ7kO/T3C88T/EmEufG+HnA1wmM6S1jw2UUfDDdudybTm5huugb4z
	8J8I2GuTTSrRxvQInKR6AiPrEvxf2v3BwTcmIcez6rOHFz7si+Tw9W46PmbU0jUK4hib85gxiL1
	JCvZ+NcZBEE5a8nZbMUVYe1OLd8r+0kEPUXO8V8DzrZ3897a1F3797LfosuJ0x4WMzBrpljkE98
	l5kSW72z8LN1wVgnD5SvCzY1M14GZQkhJWkInfdIKTa8m9r48f852pg7rQuxlgsyTWyiW5WWFJI
	fBoAHx9ITLcitLhDSHBA0lJVTYLVWOIzsXyHKiTDQrwg+sI2qUU4xzyxgPaGQzoSOuPsPOEtD8z
	c/9zgeYk4qgJa2mjwFsvN5jjglHYIwQ==
X-Google-Smtp-Source: AGHT+IESQfeHxj7EAptPkRzt6oe21kZZq+TEJi+fj23Hnu4Easc15eoLJmnxHqh4eUaxb5KsqjxGGg==
X-Received: by 2002:a05:600c:4ed3:b0:439:a155:549d with SMTP id 5b1f17b1804b1-43bd295351bmr63049695e9.12.1741275218478;
        Thu, 06 Mar 2025 07:33:38 -0800 (PST)
Message-ID: <f53539b7-ca49-465c-8aeb-205a489130ea@suse.com>
Date: Thu, 6 Mar 2025 16:33:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] x86/apic: remove delivery and destination mode
 fields from drivers
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250306145733.99927-1-roger.pau@citrix.com>
 <20250306145733.99927-2-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: <20250306145733.99927-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 15:57, Roger Pau Monne wrote:
> --- a/xen/arch/x86/genapic/bigsmp.c
> +++ b/xen/arch/x86/genapic/bigsmp.c
> @@ -46,8 +46,6 @@ static int __init cf_check probe_bigsmp(void)
>  
>  const struct genapic __initconst_cf_clobber apic_bigsmp = {
>  	APIC_INIT("bigsmp", probe_bigsmp),
> -	.int_delivery_mode = dest_Fixed,
> -	.int_dest_mode = 0, /* physical delivery */
>  	.init_apic_ldr = init_apic_ldr_phys,
>  	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
>  	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> --- a/xen/arch/x86/genapic/default.c
> +++ b/xen/arch/x86/genapic/default.c
> @@ -16,8 +16,6 @@
>  /* should be called last. */
>  const struct genapic __initconst_cf_clobber apic_default = {
>  	APIC_INIT("default", NULL),
> -	.int_delivery_mode = dest_Fixed,
> -	.int_dest_mode = 0, /* physical delivery */
>  	.init_apic_ldr = init_apic_ldr_flat,
>  	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
>  	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> --- a/xen/arch/x86/genapic/x2apic.c
> +++ b/xen/arch/x86/genapic/x2apic.c
> @@ -140,8 +140,6 @@ static void cf_check send_IPI_mask_x2apic_cluster(
>  
>  static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
>      APIC_INIT("x2apic_phys", NULL),
> -    .int_delivery_mode = dest_Fixed,
> -    .int_dest_mode = 0 /* physical delivery */,
>      .init_apic_ldr = init_apic_ldr_phys,
>      .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>      .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> @@ -163,8 +161,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
>       * The following fields are exclusively used by external interrupts and
>       * hence are set to use Physical destination mode handlers.
>       */
> -    .int_delivery_mode = dest_Fixed,
> -    .int_dest_mode = 0 /* physical delivery */,
>      .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>      .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,

Like we had it everywhere above, ...

> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -1080,8 +1080,8 @@ static void __init setup_IO_APIC_irqs(void)
>               */
>              memset(&entry,0,sizeof(entry));
>  
> -            entry.delivery_mode = INT_DELIVERY_MODE;
> -            entry.dest_mode = INT_DEST_MODE;
> +            entry.delivery_mode = dest_Fixed;
> +            entry.dest_mode = 0;

... here and below these zeros would better gain a comment, or be expressed
as e.g. (untested) MASK_EXTR(APIC_DEST_PHYSICAL, APIC_DEST_MASK).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:41:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:41:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903785.1311739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDLZ-00066t-0k; Thu, 06 Mar 2025 15:41:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903785.1311739; Thu, 06 Mar 2025 15:41: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 1tqDLY-00066m-UG; Thu, 06 Mar 2025 15:41:16 +0000
Received: by outflank-mailman (input) for mailman id 903785;
 Thu, 06 Mar 2025 15:41: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqDLX-00066g-Rx
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:41: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 6edfeb3b-faa1-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 16:41:13 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43bd03ed604so7378885e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:41:13 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42c6203sm53306225e9.24.2025.03.06.07.41.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 07:41:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6edfeb3b-faa1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741275672; x=1741880472; 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=DGwaPKtKFaZlPvtxRAUsCkBD4pDgJpIoW4mCfRWiXjk=;
        b=F2MlTCEB5woTw7T1PXcJaNVDjZRBqk6I7IB+eCH2Kj8ZegiNdJGQpTkN5bcP432H9z
         b3Yg4gcqIwxfYLEL4pGZO6SwG7xl7/uKXVZpYxjOhZzpcx4/MmfumRe8vmyTKuf0lBqz
         y1vaI7TIaIPB5f7FUqIaDIS9kIEY9eP8BnzND3N5yAS/0kAaehgbfcGAa/AzE1N2fj+d
         x3FK5JjEyPmVu2Y0SYy2gfbvGNE/tgbus/i21up3A4Vt1SCWUhGeN6c/ICFeLGhCI26l
         VSwRZU1jkyy5eCIDQJpP/+idJqBG0kNkSHG8rKI3BEf0iERAUtnH2P13RRA0CJNXKEff
         cTig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741275672; x=1741880472;
        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=DGwaPKtKFaZlPvtxRAUsCkBD4pDgJpIoW4mCfRWiXjk=;
        b=He0lOdr2JRhsgkyoHaKVKpQkx3ncOP2nVrgETtBZaJAq3/uvgUEvfnvwrO8k9xW1Dc
         fHPd3eFBzhgVpGfEED8QH/E09u+2bRN3rYvvP9LqsB7wsPrytcvPF9sGdp1XvPB33hyK
         hhGeRphQ2A7OL/o1yIG3vqWZp8sDHyfy3TJcpPvDFWfIJxkvs8C2WPO7XmV5MVYWDqUV
         zSHW07djb4ZlexDdi9goxKollfz9aM5oo7AlBr0PRKvVgmJkLPf4BcQgEQ9HNLLAGCIi
         zADrb5jobTSP7mwZ9Ilb/I5f+H5AyGO7qtUooAJesYzd/TexcjzUJORGlVbLkuevp7vh
         EPIQ==
X-Forwarded-Encrypted: i=1; AJvYcCUWG4/gONATmuOrCc9U80gOfv2CYiVL++pIYF2jHAGM3ibxOPAVp/7K2omAOS2sWRiRmSOQj7fiBNc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHNLofOTNV7LiCSt5A5GeoPwHA87rMKWghhWj69EAmYXr/2/Iu
	DR1tgKVNQQx6QOiJ6OvoaOOa4+xyoVLqMb6lK0dL7PB/bsQ3xUdnfYwjx48mlQ==
X-Gm-Gg: ASbGncugM4D3jvtPwK6XAb/kTZYSEo0j3OxiVFLbB/YXajrbvGhTReyKjgv5gRcqrdI
	nYaS0icdVNGfJ/0bUat7Wjaf4JfuWmz73A8qwCNjQXzH3mHJTYV2Yg3xhMPj1OlBm0WcgjCucfJ
	/KPZa7V3+SBZG86Ah09qYDV5fzTk6l7K7DNClzflvGOFK2UXolhQVW1NmfBjvf/fjpRyBQOoAUx
	tSa75HmPrWJD1m91kXO3NPtvhH/w7uvzurgYASDAFZOVrT1GDih2F9TGLikEeLGe/qeUjERm2r1
	Yt6Rm1m+3lC3VxlFlzZp9sur9sogMB6ucqCOYF9z93XRvrBB8b+9xY8AP5/OUzZDZqdaxQjPbO0
	BWbpwVFo8R+hgo6p8sGwPJuaVk/9v+w==
X-Google-Smtp-Source: AGHT+IGxqs9b6zF9SZnUxUV+4ms42SgFP3kZfy0nAZnPyTwja2Nls56WLHIi6wEdWlvWIueB/bXnig==
X-Received: by 2002:a05:600c:6a13:b0:43b:b67f:6802 with SMTP id 5b1f17b1804b1-43be06b7a1amr20604045e9.0.1741275672387;
        Thu, 06 Mar 2025 07:41:12 -0800 (PST)
Message-ID: <21bd8eff-1583-42a9-baf4-00a495ab7a5b@suse.com>
Date: Thu, 6 Mar 2025 16:41:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 3/9] xen: add bitmap to indicate per-domain state
 changes
To: Juergen Gross <jgross@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-4-jgross@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: <20250204113407.16839-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.02.2025 12:34, Juergen Gross wrote:
> @@ -1075,6 +1086,26 @@ static void clear_global_virq_handlers(struct domain *d)
>      }
>  }
>  
> +struct domain *lock_dom_exc_handler(void)
> +{
> +    struct domain *d;
> +
> +    d = get_global_virq_handler(VIRQ_DOM_EXC);

The Arm dom0less crash(es?) found by CI are apparently a result of this possibly
returning NULL (hardware_domain == NULL). Returning NULL from here also in this
case (and not just ...

> +    if ( unlikely(!get_domain(d)) )
> +        return NULL;

... in this one) would at least deal with the use from domain_changed_state(). I
didn't closely check other uses. Thoughts?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:53:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903811.1311749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDWs-0001bK-1S; Thu, 06 Mar 2025 15:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903811.1311749; Thu, 06 Mar 2025 15:52: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 1tqDWr-0001bD-V8; Thu, 06 Mar 2025 15:52:57 +0000
Received: by outflank-mailman (input) for mailman id 903811;
 Thu, 06 Mar 2025 15:52: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqDWq-0001b7-Gu
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:52:56 +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 111bfd6b-faa3-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 16:52:54 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43bdf0cbb6bso4738685e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:52:54 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42916a0sm53532375e9.9.2025.03.06.07.52.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 07:52:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 111bfd6b-faa3-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741276374; x=1741881174; 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=DoHEQGT9RX+wJ/u5rTASJvN1jjJTYUBIWS65Yi/Z1Uw=;
        b=AIBvh08Rhqf/wTAKet7ds+bL0N8LMl0DVX9SVXloTLhD2vtuavVpvPQfTsQL5vpVJX
         nXiWCTmhL7sk/F9lbASUqOgdmZpt/Q89oyyJXNnAOR0OrEmAfrujzqPFW3EmqWtXig1z
         osMll5zPw0Vf/Z/BEOydbcKOogzI87Tym3BSHN4GSpzwrvzbtOby3n70vlWWIkwF4kYR
         FwvoLL8F3t4HoVTt2xU6ySIMyOP0E374sqg/bEMTA5XLyg8WVyZaF0+OmjmKb1SlYg87
         LYOzycQDJE/BII/qU/ysR9Nez2i7340BhiGKer6l2wjykE3aYUmwL/hpf8RrUwynxJ9j
         06ZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741276374; x=1741881174;
        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=DoHEQGT9RX+wJ/u5rTASJvN1jjJTYUBIWS65Yi/Z1Uw=;
        b=bYkEu3bcF/rsQ2MOQC5APjUpAYBsiwA6Cced/nAFDMx4PwQh6J18Rx/jnZ1SzN+82E
         8b392jVV4NM7fo/eAGzCBwRWQrgSqjia9y8qTlIjIq+es7KYba/OMZjmfI4Uco2aGgCA
         0DupXPk1ptdmsrXWEnNNXfE8AkXJJRfMIHBPQdQxSFnha+mhJH7wDeLrA2kuqEvYkAud
         jAUVGkguIG9g5MV/FkhzyxtjQBIB5Cr/p18wGzpeAJWWLEmkhzF8RMO1FcFwl2BWAPC8
         80li5lWem0E7OiPG5JK4PNx0E0ruZwe2/psJbX+/5ey5Q8U8q7GTRrM4/E7xSt9GYvRf
         jhig==
X-Forwarded-Encrypted: i=1; AJvYcCVVsLXPTqJ7SY/j0vbu2znpP5z/hOz3Njsy4MUxPTn5IDAsDZt8LP5mkeGlq7Xa5+QK+gahxpIRLo8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVwvHeX9t5I7Y/Y8F2btQEVFJ5XkVbpneJ+2opKoCy3Z5CIoFh
	Yo5CKCPs/31KisOoZQJt7afhohsOHkZUVvFzMPEz+dNjSXBLMAlJfkfUQE92gCw=
X-Gm-Gg: ASbGncv9mqy5nPhP/dclenfn7ODf0J3QJxDIT0NczQb8tIYhxtH64BbpCeey+q2wtHj
	Oq1akJHnvUoqn76OlOeTzKgKNlre8XCMh0VLM46Kop/Na6bkCnBKRT8UVh0T78JtIRtwcUw1TMb
	zKYgNAQsn2KaE3wX10gQDRxCCzLf2h8YTgRipYgzmh9/1CzaRAIi8XT9GiGtQ/lx9Tki0nTsU1t
	d4WK5r6roqx1CHMjG7VgCP4GqEOMD1NIOdPy9EuH/BQrBTpRHuhfR0G10nF7TDelldnhsQUns8z
	POmdqWcAglELibars44ZixtfiY7umFE15hnIzjBB2sWqCQw0UqJ+82Zqr/NHpFNfhuN84TwGaMA
	MwiWshWFQ09/BanWKSUcZINA+oI3HdGNVTXNHA/swvFJ9AoG+gLO2oY/o+xu+gP2dskA=
X-Google-Smtp-Source: AGHT+IHyDbEQladU940o+q0H6jdm5RFzuewoTVyFpNSj1SHgdsZWSwxImUJ3PuswzyyPxksA0M5BzQ==
X-Received: by 2002:a05:600c:314c:b0:43b:cc87:374a with SMTP id 5b1f17b1804b1-43bd296f676mr63093075e9.18.1741276373990;
        Thu, 06 Mar 2025 07:52:53 -0800 (PST)
Message-ID: <20e4b2ef-fa2f-447d-a02a-c7a349b6c599@suse.com>
Date: Thu, 6 Mar 2025 16:52:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 3/9] xen: add bitmap to indicate per-domain state
 changes
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-4-jgross@suse.com>
 <21bd8eff-1583-42a9-baf4-00a495ab7a5b@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: <21bd8eff-1583-42a9-baf4-00a495ab7a5b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3DOvb0ioRRPOJZbRmxPqF1b5"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3DOvb0ioRRPOJZbRmxPqF1b5
Content-Type: multipart/mixed; boundary="------------96X0DoM3oz0HeWBDrUR2mxQa";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.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?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <20e4b2ef-fa2f-447d-a02a-c7a349b6c599@suse.com>
Subject: Re: [PATCH v8 3/9] xen: add bitmap to indicate per-domain state
 changes
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-4-jgross@suse.com>
 <21bd8eff-1583-42a9-baf4-00a495ab7a5b@suse.com>
In-Reply-To: <21bd8eff-1583-42a9-baf4-00a495ab7a5b@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=

--------------96X0DoM3oz0HeWBDrUR2mxQa
Content-Type: multipart/mixed; boundary="------------8r23VJUdE6lj059gJ1RSU0lX"

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

T24gMDYuMDMuMjUgMTY6NDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNC4wMi4yMDI1
IDEyOjM0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQEAgLTEwNzUsNiArMTA4NiwyNiBA
QCBzdGF0aWMgdm9pZCBjbGVhcl9nbG9iYWxfdmlycV9oYW5kbGVycyhzdHJ1Y3QgZG9tYWlu
ICpkKQ0KPj4gICAgICAgfQ0KPj4gICB9DQo+PiAgIA0KPj4gK3N0cnVjdCBkb21haW4gKmxv
Y2tfZG9tX2V4Y19oYW5kbGVyKHZvaWQpDQo+PiArew0KPj4gKyAgICBzdHJ1Y3QgZG9tYWlu
ICpkOw0KPj4gKw0KPj4gKyAgICBkID0gZ2V0X2dsb2JhbF92aXJxX2hhbmRsZXIoVklSUV9E
T01fRVhDKTsNCj4gDQo+IFRoZSBBcm0gZG9tMGxlc3MgY3Jhc2goZXM/KSBmb3VuZCBieSBD
SSBhcmUgYXBwYXJlbnRseSBhIHJlc3VsdCBvZiB0aGlzIHBvc3NpYmx5DQo+IHJldHVybmlu
ZyBOVUxMIChoYXJkd2FyZV9kb21haW4gPT0gTlVMTCkuIFJldHVybmluZyBOVUxMIGZyb20g
aGVyZSBhbHNvIGluIHRoaXMNCj4gY2FzZSAoYW5kIG5vdCBqdXN0IC4uLg0KPiANCj4+ICsg
ICAgaWYgKCB1bmxpa2VseSghZ2V0X2RvbWFpbihkKSkgKQ0KPj4gKyAgICAgICAgcmV0dXJu
IE5VTEw7DQo+IA0KPiAuLi4gaW4gdGhpcyBvbmUpIHdvdWxkIGF0IGxlYXN0IGRlYWwgd2l0
aCB0aGUgdXNlIGZyb20gZG9tYWluX2NoYW5nZWRfc3RhdGUoKS4gSQ0KPiBkaWRuJ3QgY2xv
c2VseSBjaGVjayBvdGhlciB1c2VzLiBUaG91Z2h0cz8NCj4gDQo+IEphbg0KDQpKdXN0IGFi
b3V0IHRvIHBvc3QgYSBwYXRjaC4NCg0KVGhlcmUgaXMgb25lIG90aGVyIGNhc2Ugd2hlcmUg
YSBOVUxMIGNoZWNrIGlzIHdhbnRlZC4NCg0KDQpKdWVyZ2VuDQo=
--------------8r23VJUdE6lj059gJ1RSU0lX
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-----

--------------8r23VJUdE6lj059gJ1RSU0lX--

--------------96X0DoM3oz0HeWBDrUR2mxQa--

--------------3DOvb0ioRRPOJZbRmxPqF1b5
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/Ey8FAmfJxNUFAwAAAAAACgkQsN6d1ii/Ey/I
iAf9FlC9HOudo6+PoRoPa+i9IN/vPf19Bda8RRERW4Di1HGuivWw2g1JMv/seQRK9n3Y0L8aiDzU
5b2THatjT+W7IXSIj1bsf9aIKo+eejejLOg2oX6H2RTFwsUc/8Wbt35B1GH2VCE1eZwez1jZXbbD
4e0MUSWGgnQtIm25RndQe2+TttFyI6wQAoLPb/S/tlWtR784c8KXTHDPciV5x+ZhpvREoSbGi0HK
EF5XbiLvxfqc8opTV6QZFtu/6DX+EZwqFU9HL4R8JOg/dC1aYaWXxb3+8dg22KsLBivAcFdWR1J1
TI6DwSpL5u3QWOWhtOW4rUv0Qpd69NxQYPRBEjynTQ==
=isr6
-----END PGP SIGNATURE-----

--------------3DOvb0ioRRPOJZbRmxPqF1b5--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:54:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903822.1311759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDYL-0002Fh-Dm; Thu, 06 Mar 2025 15:54:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903822.1311759; Thu, 06 Mar 2025 15:54: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 1tqDYL-0002Fa-BF; Thu, 06 Mar 2025 15:54:29 +0000
Received: by outflank-mailman (input) for mailman id 903822;
 Thu, 06 Mar 2025 15:54: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqDYJ-0002FS-Ek
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:54:27 +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 47d7be84-faa3-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 16:54:26 +0100 (CET)
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 F1ADE1F449;
 Thu,  6 Mar 2025 15:54:25 +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 A8D7F13A61;
 Thu,  6 Mar 2025 15:54:25 +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 TOW5JzHFyWfOHQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 15:54: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: 47d7be84-faa3-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741276466; 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=mTaHPsRRZCOiGdkTNUlAF5ltZ53FofM6pZK2QJOi+YU=;
	b=f4SxGwdT4C0Wak8bjlu6y2+L4icbFlf9HjErbrhPytL5o5xUjOhfFaRgP4gnGJCAARM+nq
	oSDFtp0JDlD+oM8xmbA+5xGMXKfDVhYESJN7YS4RJjmuzcpZ9Umf3tXZJ9z3hZQjl8zUDL
	Cmtf31WBcG2LXvoQSsTcxxGemofulXQ=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741276465; 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=mTaHPsRRZCOiGdkTNUlAF5ltZ53FofM6pZK2QJOi+YU=;
	b=lknokf5AOD2/EnJ/h9cVNMLaHtyXttCECPwLOhG0shrjICDeciJQDRUfMfmBBk49QNFP2V
	ukEXyq+q6ssrsFP+bCxJpOyAnWLKDXJDwKK+LMlN1C4eyhkpl2I5gZwt6ISfLRu6NvMAOn
	mhbrTB0ODQHjGdm0OYCNrBGweO0Ilys=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] xen/events: fix get_global_virq_handler() usage without hardware domain
Date: Thu,  6 Mar 2025 16:54:23 +0100
Message-ID: <20250306155423.3168-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	RCPT_COUNT_SEVEN(0.00)[9];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Some use cases of get_global_virq_handler() didn't account for the
case of running without hardware domain.

Fix that by testing get_global_virq_handler() returning NULL where
needed (e.g. when directly dereferencing the result).

Fixes: 980822c5edd1 ("xen/events: allow setting of global virq handler only for unbound virqs")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/common/event_channel.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 4ee6b6b4ce..fa83d9dd1a 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -1036,7 +1036,9 @@ int set_global_virq_handler(struct domain *d, uint32_t virq)
     {
         old = global_virq_handlers[virq];
         hdl = get_global_virq_handler(virq);
-        if ( hdl != d )
+        if ( !hdl )
+            global_virq_handlers[virq] = d;
+        else if ( hdl != d )
         {
             read_lock(&hdl->event_lock);
 
@@ -1091,7 +1093,7 @@ struct domain *lock_dom_exc_handler(void)
     struct domain *d;
 
     d = get_global_virq_handler(VIRQ_DOM_EXC);
-    if ( unlikely(!get_domain(d)) )
+    if ( unlikely(!d || !get_domain(d)) )
         return NULL;
 
     read_lock(&d->event_lock);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 15:54:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 15:54:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903828.1311770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDYh-0002gc-MJ; Thu, 06 Mar 2025 15:54:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903828.1311770; Thu, 06 Mar 2025 15:54: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 1tqDYh-0002gV-IL; Thu, 06 Mar 2025 15:54:51 +0000
Received: by outflank-mailman (input) for mailman id 903828;
 Thu, 06 Mar 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=bSAR=VZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tqDYg-0002FS-OH
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 15:54:50 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 556b1a74-faa3-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 16:54:50 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-2fee05829edso1910264a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 07:54:50 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-2ff4e75edb2sm3693712a91.4.2025.03.06.07.54.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 07:54:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 556b1a74-faa3-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741276488; x=1741881288; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=37ZgWfR5Nnpd5UrOzHenaI+1wi0xoTg6BJOexVnWfW4=;
        b=SAmLzdz8dW7UHwqkNXAQSENahUhyLDGQKTu2lg3ArQKZMQw0iHZlQDQTJmZrS9MptG
         zq+2wxGtWZWYj/gfEAMLone1ZIK9VSrtcy7KLiHfIjro2IkghJ5m9/7xK6SRJ2T5BXq2
         w42monpONfuBKnpMKMZDh6VjMr3mBfsaYxmAw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741276488; x=1741881288;
        h=in-reply-to: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=37ZgWfR5Nnpd5UrOzHenaI+1wi0xoTg6BJOexVnWfW4=;
        b=kNOoNN0rDL3p0Vu5po90QetcthpvZGENnTyIW9LLwgKX3UjoCh956ZQ6fpZEeH3CtZ
         NruEODT+TPQGgRKR7u2GzsNt6q7ToT/289vNiUvVmQ5cvJQCudMs4j9U/fIiJxnTSj7Q
         8xkWADBAZTnc3inXynK95p+ggMeXsSD7OdR1qfLKnm5WaweuyQQt61OW5z2PnG7BuBvc
         zS45p4ltjzTMgxnlpjbppN6qEnfNtsS+R/arXRtEneLQh3iNazT0dRqM9DkOumZy1/Sx
         0vVns26q8EkSUNKw1vMaYB1ACEjCusAIRwch3igEzT7oYX4Xk9GBuN/18D+mRkN4WevW
         1u7g==
X-Forwarded-Encrypted: i=1; AJvYcCUkd5t5RyJ00PFjlznMn6k7p6Y3vnaKdrcvKahLWfGVXgR0wUKIL6/kkNt2l7D3PzqkK7J5nf9Abtg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2Ni7IfhoUS6Tuv7yfUDNFd/fEtewtcrejv4gThwc/mib4vvnU
	FDaoMIQ4aDQ92H1fNKYhTVWMX/E/LVhLmtq6kR8J5TolGbQkflbERARti18NVRLbc21PtSAMKUB
	3
X-Gm-Gg: ASbGncvvttQpO5p8DFns6tvrBSR4TjreVauDS4iQLHfM6ndgIMvrJj6dGrcteBnt3ba
	xjfblf+bL7wXfQw4X6DCAxy2xwewitiqEVbs6dV2ci35841rJbb+pybWA+flPbX6UItvz7D5BUV
	CLMyZp2Hmxj0/nlyH2z4Zs0JZEqBtJHu7Ifkd/wJeJZj0jjKQ998WnBGAsFM/CBw8r3oZBlIRSw
	HbASMjKhBRTWRaAWKCpyOQkQ5W+g6HlV0Ur4rRz1aO4YzpZdnMZ5oJ3SMsT6SR7lXGJPUM8VV/m
	U1N99pQp2rlEvqNsrkWLzwwCPTthYVwZqFU4FiBWz8A8mELhbw==
X-Google-Smtp-Source: AGHT+IEGrhAyaP4h/foK0popgQ55sNUjD490NS1hHboOLeWuN18iqTMeqq/DvOaUT+fXtuxl7m/m2g==
X-Received: by 2002:a17:90b:5743:b0:2f4:4003:f3d4 with SMTP id 98e67ed59e1d1-2ff49842a71mr11937021a91.30.1741276488427;
        Thu, 06 Mar 2025 07:54:48 -0800 (PST)
Date: Thu, 6 Mar 2025 16:54:42 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/3] x86/apic: remove delivery and destination mode
 fields from drivers
Message-ID: <Z8nFQoHzXdeedN6j@macbook.local>
References: <20250306145733.99927-1-roger.pau@citrix.com>
 <20250306145733.99927-2-roger.pau@citrix.com>
 <f53539b7-ca49-465c-8aeb-205a489130ea@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <f53539b7-ca49-465c-8aeb-205a489130ea@suse.com>

On Thu, Mar 06, 2025 at 04:33:37PM +0100, Jan Beulich wrote:
> On 06.03.2025 15:57, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/genapic/bigsmp.c
> > +++ b/xen/arch/x86/genapic/bigsmp.c
> > @@ -46,8 +46,6 @@ static int __init cf_check probe_bigsmp(void)
> >  
> >  const struct genapic __initconst_cf_clobber apic_bigsmp = {
> >  	APIC_INIT("bigsmp", probe_bigsmp),
> > -	.int_delivery_mode = dest_Fixed,
> > -	.int_dest_mode = 0, /* physical delivery */
> >  	.init_apic_ldr = init_apic_ldr_phys,
> >  	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
> >  	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> > --- a/xen/arch/x86/genapic/default.c
> > +++ b/xen/arch/x86/genapic/default.c
> > @@ -16,8 +16,6 @@
> >  /* should be called last. */
> >  const struct genapic __initconst_cf_clobber apic_default = {
> >  	APIC_INIT("default", NULL),
> > -	.int_delivery_mode = dest_Fixed,
> > -	.int_dest_mode = 0, /* physical delivery */
> >  	.init_apic_ldr = init_apic_ldr_flat,
> >  	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
> >  	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> > --- a/xen/arch/x86/genapic/x2apic.c
> > +++ b/xen/arch/x86/genapic/x2apic.c
> > @@ -140,8 +140,6 @@ static void cf_check send_IPI_mask_x2apic_cluster(
> >  
> >  static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
> >      APIC_INIT("x2apic_phys", NULL),
> > -    .int_delivery_mode = dest_Fixed,
> > -    .int_dest_mode = 0 /* physical delivery */,
> >      .init_apic_ldr = init_apic_ldr_phys,
> >      .vector_allocation_cpumask = vector_allocation_cpumask_phys,
> >      .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> > @@ -163,8 +161,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
> >       * The following fields are exclusively used by external interrupts and
> >       * hence are set to use Physical destination mode handlers.
> >       */
> > -    .int_delivery_mode = dest_Fixed,
> > -    .int_dest_mode = 0 /* physical delivery */,
> >      .vector_allocation_cpumask = vector_allocation_cpumask_phys,
> >      .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> 
> Like we had it everywhere above, ...
> 
> > --- a/xen/arch/x86/io_apic.c
> > +++ b/xen/arch/x86/io_apic.c
> > @@ -1080,8 +1080,8 @@ static void __init setup_IO_APIC_irqs(void)
> >               */
> >              memset(&entry,0,sizeof(entry));
> >  
> > -            entry.delivery_mode = INT_DELIVERY_MODE;
> > -            entry.dest_mode = INT_DEST_MODE;
> > +            entry.delivery_mode = dest_Fixed;
> > +            entry.dest_mode = 0;
> 
> ... here and below these zeros would better gain a comment, or be expressed
> as e.g. (untested) MASK_EXTR(APIC_DEST_PHYSICAL, APIC_DEST_MASK).

I've started adding those comments, but then I got the impression they
where a bit redundant, many of the setting of the fields didn't have a
matching comment.  I was even tempted to just not setting the field at
all, seeing as the structure is zeroed.

Also this is the IO-APIC RTE, so it feels a bit out of place to use
the local APIC defines?

I will add a comment if you are fine with it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 16:00:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 16:00:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903846.1311780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDdo-0004jT-7J; Thu, 06 Mar 2025 16:00:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903846.1311780; Thu, 06 Mar 2025 16:00: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 1tqDdo-0004jM-42; Thu, 06 Mar 2025 16:00:08 +0000
Received: by outflank-mailman (input) for mailman id 903846;
 Thu, 06 Mar 2025 16:00: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqDdn-0004jG-Ha
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 16:00:07 +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 127e952e-faa4-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 17:00:06 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3912c09be7dso550901f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 08:00:06 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c103f57sm2438984f8f.91.2025.03.06.08.00.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 08:00:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 127e952e-faa4-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741276806; x=1741881606; 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=IlQtbKQU5i3/b1Y/GFCrBu6ypR31T9nhVjsE/vNm3mM=;
        b=USEuajsigcW+elZg3c4vqMV4VAB0sPN1x9+LMpLBcxylQMcguDa0OgfA43eKdD6u/z
         zNAyznggpmFHQF8iHpR66Ajo4umhKLoQzy0RQo3oin/Vyc4SlW8IEPQtn3rv/A9Q+k9G
         +kFC1wO/mCdxs/oLdhXHVFZBAJkoOXLoyGuRPzEzD3BX0BxVsqdmxUu0XVPML6hdCoVI
         4YfrS7DWijiPcTl9LCniwx+CTIFx6LbNVzIrG5M998Uz9vEaSSNGpPutSnQag5gIY9UW
         OcV+CgB5TSuC4DhmZX2knlY2W07rr//R1rmGQG+m9uUHn8rozqADLDX3bADr2BT49Luz
         Afpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741276806; x=1741881606;
        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=IlQtbKQU5i3/b1Y/GFCrBu6ypR31T9nhVjsE/vNm3mM=;
        b=tGV3oikDmmnUeVhv6xTB7j5bPVLVDR88V29UaVbA4nf+z6E+o7UcL7oiEJYchEBGCG
         /9SNtemndgBHSaPsXYs9VSlFrRLx8bvm6rf0wa3w6YNBreuETOLRTPLm9OWxplA/nd2k
         VtbosaOfXZo5S3xINDm9FnDXUFMwwjiG6e+nkDVwlROZZmwrtPC3IaMORj5SBUG/V05c
         rDpVOqEdkjcoF6fygAek8Yh+nmb2vUdzcqy956MQMTOaHfm8In6NaEbtUINBOFcMt2xn
         Vqco7Y+980fW3goHRldN2axTsKLMXLQ/qyVTOM7bfDkXpKkb5I04NI6E0HQOkCIssWaT
         H/Fw==
X-Forwarded-Encrypted: i=1; AJvYcCXNhVe+mmhKeKp+IIznTjajisFpSqzggkIgiIaTflrAp17GOWg0FvInKSasWJoVGouNIzaAkPo5ADA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwZRb6cT2FfE6B/1pA9M0WCbvddN2Xrc+T5GuJwkn4qb0Hr4T4b
	ZUzR87Ithgm5s+9IW5YxouANA9nab8cxBWDxcSmqtppLChxgv/yAHqdL8CvEUg==
X-Gm-Gg: ASbGncvNF+/HKz5W9dKAoaxaVUSPOSW0F/vG3yNlBSK0q3D0yyWc8Y0wAkqYsIRqQLh
	Pxsm8i7ntb7eZ29ugpz9lNQzlCmjuoyhPX/fQni5StNEkhOgMaWGR6+WP2PHzacPS3GZh7G5g94
	17z8toGecINJkWn/C9nx9A/vLl/yyFor8eoftqEI3VMBgF/dXRIxtaHAWYOhZ4JpdiV+Et/D4x9
	MM49KvxNLeQiZJzfpOXmnk9IIu+fvfq5RF/A2qZAuiz4jjVItlnPbcvgxY88qjoOGOPHbYdyhS2
	0xyrijVR+gBjzAfAkP//Q5SQ5QeAH/idk1X1NRKNYsK5x4bZABxKUBoEsur7gFgJ+Fj8WfLdc24
	/eBboCEjPIsWw9Kd/ZThHayW3xakL6A==
X-Google-Smtp-Source: AGHT+IHrI25fhcwiTDncErfHgBebMvmMITK/Mv0pt3/fglUicQOoVkimDfd0/J8IO+aBfSq0dIZnkQ==
X-Received: by 2002:a5d:5850:0:b0:391:4f9:a039 with SMTP id ffacd0b85a97d-3911f7400aamr8060110f8f.16.1741276805841;
        Thu, 06 Mar 2025 08:00:05 -0800 (PST)
Message-ID: <bc274326-c914-4834-a2dd-a44727309e2e@suse.com>
Date: Thu, 6 Mar 2025 17:00:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/events: fix get_global_virq_handler() usage without
 hardware domain
To: Juergen Gross <jgross@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306155423.3168-1-jgross@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: <20250306155423.3168-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 16:54, Juergen Gross wrote:
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -1036,7 +1036,9 @@ int set_global_virq_handler(struct domain *d, uint32_t virq)
>      {
>          old = global_virq_handlers[virq];
>          hdl = get_global_virq_handler(virq);
> -        if ( hdl != d )
> +        if ( !hdl )
> +            global_virq_handlers[virq] = d;
> +        else if ( hdl != d )
>          {
>              read_lock(&hdl->event_lock);
>  
> @@ -1091,7 +1093,7 @@ struct domain *lock_dom_exc_handler(void)
>      struct domain *d;
>  
>      d = get_global_virq_handler(VIRQ_DOM_EXC);
> -    if ( unlikely(!get_domain(d)) )
> +    if ( unlikely(!d || !get_domain(d)) )

According to my understanding of how unlikely() works this wants to be

    if ( unlikely(!d) || unlikely(!get_domain(d)) )

Of course I could also live with being given an explanation of why my
understanding is wrong.

>          return NULL;
>  
>      read_lock(&d->event_lock);

There's one more change needed: get_domain_state() needs to avoid calling
unlock_dom_exc_handler() when "hdl" is NULL.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 16:01:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 16:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903855.1311790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDfW-0005OW-Hi; Thu, 06 Mar 2025 16:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903855.1311790; Thu, 06 Mar 2025 16:01: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 1tqDfW-0005OP-Er; Thu, 06 Mar 2025 16:01:54 +0000
Received: by outflank-mailman (input) for mailman id 903855;
 Thu, 06 Mar 2025 16:01: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqDfV-0005OH-0q
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 16:01: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 516e040f-faa4-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 17:01:52 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43bbb440520so10009875e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 08:01:52 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfba679sm2412408f8f.8.2025.03.06.08.01.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 08:01:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 516e040f-faa4-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741276911; x=1741881711; 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=uLWpTGVPbP54zZg0oH2MJOXMXr6oA2WmY/1G3fBO8CI=;
        b=TeXC7/hPn4MEk/DKxeVwcbvf6lhIlsJ7mfIv3DP/HPTmB8SdxIHjpmnF/ZjrlGThB/
         bwEPx5VxH0VFpNVwMHI6V4p3sOkOcSRGlifHOUvhQJJ7CfD2WSKziy0tP/HiyBQPk2b4
         wtihJgGjsZ+EJDmBTLv6vpaUYkBF48Gh3SDdiTg05L4JlzYbQZIsqnovJQSW04+TTuid
         PnkuiyL32Rh2Ux6aadQSrvi0wxKbB2RwOzp/pH/t5WHEmcG6jQiWhLGa2WZ3sDEgP1p7
         py6Dw6DM5Y/Qkr2GEDvOIEOpOz9TqUFvkh/A0EjRQwhTGAbEvduSVpyOg4yZV5nMBp99
         zY8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741276911; x=1741881711;
        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=uLWpTGVPbP54zZg0oH2MJOXMXr6oA2WmY/1G3fBO8CI=;
        b=B9zgPT7UGYfMC4UYTXiui9RwLBqBViOkgHV1OgnYdekPDqrEhyGm6Ca7TXMpnriOxC
         Xv+DVPsUXFlUPglOthozRwHUw/ZcZ+DhUVzugQyJ7o5aQRM8QaUtkI+NTJq3cDZ9S6+x
         LDJJpnVlIxWbgSoy+DTdR2mCauKB0V7+UKuEsHZ8D29LPkWY+0OqOGTo2tYKV+wZr82D
         ggLpuCFG8nxa2KlKu9Wxj9RF2nd5iJpQbZ7nBu3Ae20Xc+EDJBx2wYJ799gK8KJ2L4g5
         JF5a5oGL9xTUjkXNa1BofGBxiSEoVqfLkPX77WH1FpzW3JPay8vLAjg3FikYEG1EhHGb
         eIIw==
X-Forwarded-Encrypted: i=1; AJvYcCXEsiaDvPmqoQIf+v7Ee/d0knQ6bbOBPNsXI22cqv8XZ7+WaKj4kNRuaYMh851btZQZgWTyDtezYKk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7NV/9L0mHRZYMk7UM8roWVIZVk8787X1uj4QnxbVBPhYeXSKq
	S8t3BACHhVVre0/rQifou1gySbNQSCkyzSs/0JmkSA9ZqlAHvtQOEi5I2abfhg==
X-Gm-Gg: ASbGnctRAiR9fhKlE8BNYpUFiixZXaNZRzJRU1y6M25lYv5v1Dmcr+Q59he7gtwRtGu
	fJGO2WNReDnGrVLosWH3RdGdApH15UIFBvp/wlcgfj4vb+Y6jygSOwCFdZyFalf/YfzceGlj99K
	Lw2es9VgH3vKidFu8KRUe6rlmNMe6fkO6iEgg9t9woQtyulTRsNnDivVSK4WW8IL075RO9W7hwU
	Yo6kqUNY7nNb5fRvoJVfCX0kSeCrcC0qYA1PVszAtgoI3KxShAot706vK/apHCRb32XJBM3TI/d
	ec7y3P+6Fegig5pymC4qwoc9TlekBHxZ5BoB6E5HunjoeJ21NXrmmAHsbJlX1PG1j6PGiOLIYHW
	J6jyRtNquX0kJ5Ckd+C50/OHJYdhXDQ==
X-Google-Smtp-Source: AGHT+IF+FcAkAzRvhpz1+CA+MJBeFMdbc44Sb1UYPzAD/TcS84LfYFSoGjniqXi9+kif+MFNSeJ6mQ==
X-Received: by 2002:a05:600c:3544:b0:43b:d6ec:3d57 with SMTP id 5b1f17b1804b1-43c601cfe21mr167375e9.15.1741276911067;
        Thu, 06 Mar 2025 08:01:51 -0800 (PST)
Message-ID: <82b6ef38-2977-4087-ab92-965e64ae4c8a@suse.com>
Date: Thu, 6 Mar 2025 17:01:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] x86/apic: remove delivery and destination mode
 fields from drivers
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
References: <20250306145733.99927-1-roger.pau@citrix.com>
 <20250306145733.99927-2-roger.pau@citrix.com>
 <f53539b7-ca49-465c-8aeb-205a489130ea@suse.com>
 <Z8nFQoHzXdeedN6j@macbook.local>
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: <Z8nFQoHzXdeedN6j@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 16:54, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 06, 2025 at 04:33:37PM +0100, Jan Beulich wrote:
>> On 06.03.2025 15:57, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/genapic/bigsmp.c
>>> +++ b/xen/arch/x86/genapic/bigsmp.c
>>> @@ -46,8 +46,6 @@ static int __init cf_check probe_bigsmp(void)
>>>  
>>>  const struct genapic __initconst_cf_clobber apic_bigsmp = {
>>>  	APIC_INIT("bigsmp", probe_bigsmp),
>>> -	.int_delivery_mode = dest_Fixed,
>>> -	.int_dest_mode = 0, /* physical delivery */
>>>  	.init_apic_ldr = init_apic_ldr_phys,
>>>  	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
>>>  	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>>> --- a/xen/arch/x86/genapic/default.c
>>> +++ b/xen/arch/x86/genapic/default.c
>>> @@ -16,8 +16,6 @@
>>>  /* should be called last. */
>>>  const struct genapic __initconst_cf_clobber apic_default = {
>>>  	APIC_INIT("default", NULL),
>>> -	.int_delivery_mode = dest_Fixed,
>>> -	.int_dest_mode = 0, /* physical delivery */
>>>  	.init_apic_ldr = init_apic_ldr_flat,
>>>  	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
>>>  	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>>> --- a/xen/arch/x86/genapic/x2apic.c
>>> +++ b/xen/arch/x86/genapic/x2apic.c
>>> @@ -140,8 +140,6 @@ static void cf_check send_IPI_mask_x2apic_cluster(
>>>  
>>>  static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
>>>      APIC_INIT("x2apic_phys", NULL),
>>> -    .int_delivery_mode = dest_Fixed,
>>> -    .int_dest_mode = 0 /* physical delivery */,
>>>      .init_apic_ldr = init_apic_ldr_phys,
>>>      .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>>>      .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>>> @@ -163,8 +161,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
>>>       * The following fields are exclusively used by external interrupts and
>>>       * hence are set to use Physical destination mode handlers.
>>>       */
>>> -    .int_delivery_mode = dest_Fixed,
>>> -    .int_dest_mode = 0 /* physical delivery */,
>>>      .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>>>      .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>>
>> Like we had it everywhere above, ...
>>
>>> --- a/xen/arch/x86/io_apic.c
>>> +++ b/xen/arch/x86/io_apic.c
>>> @@ -1080,8 +1080,8 @@ static void __init setup_IO_APIC_irqs(void)
>>>               */
>>>              memset(&entry,0,sizeof(entry));
>>>  
>>> -            entry.delivery_mode = INT_DELIVERY_MODE;
>>> -            entry.dest_mode = INT_DEST_MODE;
>>> +            entry.delivery_mode = dest_Fixed;
>>> +            entry.dest_mode = 0;
>>
>> ... here and below these zeros would better gain a comment, or be expressed
>> as e.g. (untested) MASK_EXTR(APIC_DEST_PHYSICAL, APIC_DEST_MASK).
> 
> I've started adding those comments, but then I got the impression they
> where a bit redundant, many of the setting of the fields didn't have a
> matching comment.  I was even tempted to just not setting the field at
> all, seeing as the structure is zeroed.
> 
> Also this is the IO-APIC RTE, so it feels a bit out of place to use
> the local APIC defines?

Maybe. There is a certain level of correlation, but yes, it may end up
being confusing.

> I will add a comment if you are fine with it.

I am.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 16:06:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 16:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903866.1311800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDk1-00064x-7J; Thu, 06 Mar 2025 16:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903866.1311800; Thu, 06 Mar 2025 16:06: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 1tqDk1-00064q-3T; Thu, 06 Mar 2025 16:06:33 +0000
Received: by outflank-mailman (input) for mailman id 903866;
 Thu, 06 Mar 2025 16:06: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqDjz-00064k-Aq
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 16:06:31 +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 f6b21bff-faa4-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 17:06:29 +0100 (CET)
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 545621F45E;
 Thu,  6 Mar 2025 16:06:28 +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 EB57D13676;
 Thu,  6 Mar 2025 16:06:27 +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 P9XJNwPIyWfHIQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 16: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>
X-Inumbo-ID: f6b21bff-faa4-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741277188; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=LjXoAL7bDOiwqyRlrgSfN2gWaHtO1XXWpmrpS1Ce2Uw=;
	b=pPo7tkjBUZiVeqUMsiFdlQVQVY90miFiXdJizAvf1FqYKi/1PMJA/sa+RiLThvsGiL6w9H
	ZLfD9kVTT9fkLZ/xcC+vqSfDciFA2U3iD5izTQOf53D4RwbdvacHrqItwV/DwIkTaI0W/p
	debyMAojhN50OukRg5tAPbly4i9d4mI=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741277188; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=LjXoAL7bDOiwqyRlrgSfN2gWaHtO1XXWpmrpS1Ce2Uw=;
	b=pPo7tkjBUZiVeqUMsiFdlQVQVY90miFiXdJizAvf1FqYKi/1PMJA/sa+RiLThvsGiL6w9H
	ZLfD9kVTT9fkLZ/xcC+vqSfDciFA2U3iD5izTQOf53D4RwbdvacHrqItwV/DwIkTaI0W/p
	debyMAojhN50OukRg5tAPbly4i9d4mI=
Message-ID: <0d11e2e9-76f1-4dd5-9881-ee1d3af95805@suse.com>
Date: Thu, 6 Mar 2025 17:06:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/events: fix get_global_virq_handler() usage without
 hardware domain
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306155423.3168-1-jgross@suse.com>
 <bc274326-c914-4834-a2dd-a44727309e2e@suse.com>
Content-Language: en-US
From: Juergen Gross <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: <bc274326-c914-4834-a2dd-a44727309e2e@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ocF8hYBWAbrudx5d7kxFH0Wj"
X-Spam-Score: -5.19
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.991];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[8];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,imap1.dmz-prg2.suse.org:helo]
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ocF8hYBWAbrudx5d7kxFH0Wj
Content-Type: multipart/mixed; boundary="------------shiaWW8sNJdA2J2z6dNXDL5Y";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.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?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <0d11e2e9-76f1-4dd5-9881-ee1d3af95805@suse.com>
Subject: Re: [PATCH] xen/events: fix get_global_virq_handler() usage without
 hardware domain
References: <20250306155423.3168-1-jgross@suse.com>
 <bc274326-c914-4834-a2dd-a44727309e2e@suse.com>
In-Reply-To: <bc274326-c914-4834-a2dd-a44727309e2e@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=

--------------shiaWW8sNJdA2J2z6dNXDL5Y
Content-Type: multipart/mixed; boundary="------------znwsMKgORi8yecoYIZk4JLSS"

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

T24gMDYuMDMuMjUgMTc6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDI1
IDE2OjU0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL2NvbW1vbi9ldmVu
dF9jaGFubmVsLmMNCj4+ICsrKyBiL3hlbi9jb21tb24vZXZlbnRfY2hhbm5lbC5jDQo+PiBA
QCAtMTAzNiw3ICsxMDM2LDkgQEAgaW50IHNldF9nbG9iYWxfdmlycV9oYW5kbGVyKHN0cnVj
dCBkb21haW4gKmQsIHVpbnQzMl90IHZpcnEpDQo+PiAgICAgICB7DQo+PiAgICAgICAgICAg
b2xkID0gZ2xvYmFsX3ZpcnFfaGFuZGxlcnNbdmlycV07DQo+PiAgICAgICAgICAgaGRsID0g
Z2V0X2dsb2JhbF92aXJxX2hhbmRsZXIodmlycSk7DQo+PiAtICAgICAgICBpZiAoIGhkbCAh
PSBkICkNCj4+ICsgICAgICAgIGlmICggIWhkbCApDQo+PiArICAgICAgICAgICAgZ2xvYmFs
X3ZpcnFfaGFuZGxlcnNbdmlycV0gPSBkOw0KPj4gKyAgICAgICAgZWxzZSBpZiAoIGhkbCAh
PSBkICkNCj4+ICAgICAgICAgICB7DQo+PiAgICAgICAgICAgICAgIHJlYWRfbG9jaygmaGRs
LT5ldmVudF9sb2NrKTsNCj4+ICAgDQo+PiBAQCAtMTA5MSw3ICsxMDkzLDcgQEAgc3RydWN0
IGRvbWFpbiAqbG9ja19kb21fZXhjX2hhbmRsZXIodm9pZCkNCj4+ICAgICAgIHN0cnVjdCBk
b21haW4gKmQ7DQo+PiAgIA0KPj4gICAgICAgZCA9IGdldF9nbG9iYWxfdmlycV9oYW5kbGVy
KFZJUlFfRE9NX0VYQyk7DQo+PiAtICAgIGlmICggdW5saWtlbHkoIWdldF9kb21haW4oZCkp
ICkNCj4+ICsgICAgaWYgKCB1bmxpa2VseSghZCB8fCAhZ2V0X2RvbWFpbihkKSkgKQ0KPiAN
Cj4gQWNjb3JkaW5nIHRvIG15IHVuZGVyc3RhbmRpbmcgb2YgaG93IHVubGlrZWx5KCkgd29y
a3MgdGhpcyB3YW50cyB0byBiZQ0KPiANCj4gICAgICBpZiAoIHVubGlrZWx5KCFkKSB8fCB1
bmxpa2VseSghZ2V0X2RvbWFpbihkKSkgKQ0KPiANCj4gT2YgY291cnNlIEkgY291bGQgYWxz
byBsaXZlIHdpdGggYmVpbmcgZ2l2ZW4gYW4gZXhwbGFuYXRpb24gb2Ygd2h5IG15DQo+IHVu
ZGVyc3RhbmRpbmcgaXMgd3JvbmcuDQoNCkkgd2FzIHVuc3VyZSwgc28gSSBsb29rZWQgdGhy
b3VnaCB0aGUgY29kZSB1bnRpbCBJIGZvdW5kIGEgY2FzZSB3aGVyZQ0KMiBjb25kaXRpb25z
IHdlcmUgdGVzdGVkIGFzICJ1bmxpa2VseSIuIEkgbWlnaHQgaGF2ZSBmb3VuZCBhIHdyb25n
IGV4YW1wbGUuDQpJJ2xsIGNoYW5nZSBpdCBhcyB5b3UgYXJlIHN1Z2dlc3RpbmcuDQoNCj4g
DQo+PiAgICAgICAgICAgcmV0dXJuIE5VTEw7DQo+PiAgIA0KPj4gICAgICAgcmVhZF9sb2Nr
KCZkLT5ldmVudF9sb2NrKTsNCj4gDQo+IFRoZXJlJ3Mgb25lIG1vcmUgY2hhbmdlIG5lZWRl
ZDogZ2V0X2RvbWFpbl9zdGF0ZSgpIG5lZWRzIHRvIGF2b2lkIGNhbGxpbmcNCj4gdW5sb2Nr
X2RvbV9leGNfaGFuZGxlcigpIHdoZW4gImhkbCIgaXMgTlVMTC4NCg0KT2gsIHJpZ2h0LiBX
aWxsIGFkZC4NCg0KDQpKdWVyZ2VuDQo=
--------------znwsMKgORi8yecoYIZk4JLSS
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-----

--------------znwsMKgORi8yecoYIZk4JLSS--

--------------shiaWW8sNJdA2J2z6dNXDL5Y--

--------------ocF8hYBWAbrudx5d7kxFH0Wj
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/Ey8FAmfJyAMFAwAAAAAACgkQsN6d1ii/Ey8c
QAf/WkrODQF9UJOAzBeO0hH+pedDYvQ2JL0u7/rNk1hpWPyV2xiJi73YBF3TnsTrYT2xRBapyqhF
ypAmGq+vI0bVlAZRo/n/uo/9Nf+tbKKxOh9ZakOETNQLsbpUBKKiFrTOk+MdCNZwcATX4Hc7hsKZ
evhwgg9tLPG18RDqlAZFkp/7549J++ip24nXKP4a1ybzBHC3KfTx/5q+LJ/9td9onf+/Rn6SSRkQ
yh0LgeYI1jb2fErmBg2L1gsNizjbkVIIfg146L0fNdEoeWkewDOjZ1ULRUmwXBaTPAN5OSVOQIrA
eBxeZJLafMwpqbkp13PhNGUG9zeOHHbu8mM/+IFmZQ==
=B6/T
-----END PGP SIGNATURE-----

--------------ocF8hYBWAbrudx5d7kxFH0Wj--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 16:13:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 16:13:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903875.1311810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDqS-0007az-Ql; Thu, 06 Mar 2025 16:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903875.1311810; Thu, 06 Mar 2025 16:13: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 1tqDqS-0007as-Nk; Thu, 06 Mar 2025 16:13:12 +0000
Received: by outflank-mailman (input) for mailman id 903875;
 Thu, 06 Mar 2025 16:13: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=TCcn=VZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqDqR-0007am-37
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 16:13:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4bc8390-faa5-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 17:13:08 +0100 (CET)
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 29D5D211AD;
 Thu,  6 Mar 2025 16:13:08 +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 CDD5313676;
 Thu,  6 Mar 2025 16:13:07 +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 MnbSMJPJyWfSIwAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 06 Mar 2025 16:13: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: e4bc8390-faa5-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741277588; 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=v5uko6E5cVIr+MsII93vIpFkDP7ZwwKMSiAwJqtLneU=;
	b=DfYWwFVXrQHRzmpXtrO8IHNhT5znD4eQPAg4gAx1ZOyJrO++r50/4DtZa6wvmwt0oMaw3R
	jAzlnwbp9nCE7muZm6Amg/tDeiO/FIYC4d9Cqs18E9Yju2r/HA2y543lqaJ3aWUCj7mjtp
	AgRt4rsv3D1ulXbTQHm886w51MYZNcM=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741277588; 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=v5uko6E5cVIr+MsII93vIpFkDP7ZwwKMSiAwJqtLneU=;
	b=DfYWwFVXrQHRzmpXtrO8IHNhT5znD4eQPAg4gAx1ZOyJrO++r50/4DtZa6wvmwt0oMaw3R
	jAzlnwbp9nCE7muZm6Amg/tDeiO/FIYC4d9Cqs18E9Yju2r/HA2y543lqaJ3aWUCj7mjtp
	AgRt4rsv3D1ulXbTQHm886w51MYZNcM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] xen/events: fix get_global_virq_handler() usage without hardware domain
Date: Thu,  6 Mar 2025 17:13:05 +0100
Message-ID: <20250306161305.10236-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	RCPT_COUNT_SEVEN(0.00)[9];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Some use cases of get_global_virq_handler() didn't account for the
case of running without hardware domain.

Fix that by testing get_global_virq_handler() returning NULL where
needed (e.g. when directly dereferencing the result).

Fixes: 980822c5edd1 ("xen/events: allow setting of global virq handler only for unbound virqs")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- fix use case of unlikely() (Jan Beulich)
- add test for NULL in unlock_dom_exc_handler() (Jan Beulich)
---
 xen/common/event_channel.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 4ee6b6b4ce..c68aa97135 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -1036,7 +1036,9 @@ int set_global_virq_handler(struct domain *d, uint32_t virq)
     {
         old = global_virq_handlers[virq];
         hdl = get_global_virq_handler(virq);
-        if ( hdl != d )
+        if ( !hdl )
+            global_virq_handlers[virq] = d;
+        else if ( hdl != d )
         {
             read_lock(&hdl->event_lock);
 
@@ -1091,7 +1093,7 @@ struct domain *lock_dom_exc_handler(void)
     struct domain *d;
 
     d = get_global_virq_handler(VIRQ_DOM_EXC);
-    if ( unlikely(!get_domain(d)) )
+    if ( unlikely(!d) || unlikely(!get_domain(d)) )
         return NULL;
 
     read_lock(&d->event_lock);
@@ -1101,6 +1103,9 @@ struct domain *lock_dom_exc_handler(void)
 
 void unlock_dom_exc_handler(struct domain *d)
 {
+    if ( likely(!d) )
+        return;
+
     read_unlock(&d->event_lock);
 
     put_domain(d);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 16:17:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 16:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903884.1311820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqDuu-0008Bj-80; Thu, 06 Mar 2025 16:17:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903884.1311820; Thu, 06 Mar 2025 16:17: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 1tqDuu-0008Bc-4H; Thu, 06 Mar 2025 16:17:48 +0000
Received: by outflank-mailman (input) for mailman id 903884;
 Thu, 06 Mar 2025 16:17: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqDus-0008BW-O7
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 16:17:46 +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 89d369c1-faa6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 17:17:45 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-390e6ac844fso781554f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 08:17:45 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c10437dsm2508549f8f.99.2025.03.06.08.17.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 08:17:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89d369c1-faa6-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741277865; x=1741882665; 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=Cxo+B7wMTeDEYrYk8zA1Lp1PXuaFKoogffK5F+qLA5w=;
        b=MrOg8X9IWuJRhvjyQnbjRtQjVhrFlQI6yhAGAhxbRyXPd5EqN3Fg9ur6qkbFk13tYt
         bslGZRH8yJqubpSMjJJXcWI9fTlJIGUOojqjRRZz3JHY/hMUCF+FL/VkFBQEhkGY12Hv
         LD0F5jvp4fEcKc0whJOOgnKeR6SHJ1wDn3TS581HG3wdDyzM30JSHzrs5mmSlJBnlMtS
         oGdJzST7YuoboELN4zSZduWjR2CgULiXLxeZ9ve6Vb+N6acJmqaIQRUkE0XhqSoU+y76
         gxHVcVBLOQq/SpcD9uvnBqwE1CiGt4S0V6LMQcXmoL6dwB1yhMQjS0uuQe3aesITII6P
         eMkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741277865; x=1741882665;
        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=Cxo+B7wMTeDEYrYk8zA1Lp1PXuaFKoogffK5F+qLA5w=;
        b=Ex61oaKj7RgsZzBKLKrjKR3we8h6EkXLmWjXm18HNlhbWfHyAlZ43Lq25K1rp8ouPm
         JF36EZril+kyY33TLPUWY3TuaMu7CW2cVZSWEFG39VQDhutoanFnR7PYNkTyZe2Vrut/
         5485aKRoY0bF3h1323/KX4IJ99zz3H7ve/7ZwLPKNYg+ceDhlL5kbVPScFC5iwRDNuLa
         EwuY6htbv0KDAz39iOm5/FwMYWtasfPbikcsXxWSoojJioWeXo3Zgp1Xx8dsTzK0G0da
         8DLJTRPngoMmPpxWH0fK92hWv2erzLPchySF+DOG5RJuYp7aGJvcNJaXIWPeX7s7+Dk2
         MGOg==
X-Forwarded-Encrypted: i=1; AJvYcCUa6EM0J6chk12PKxOIYiZK5DszGlcY4xyZfOe1wfmtvJvLXmsCkxDN6YiguAyRipDon6mFlLaID+s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwJo4NgoAldf9jxsns2ZsiNnI4YwFqll7D8pNWgN6f6v8P9T+cQ
	SBRO6bHmBvcWqmWIPqT4AkMg8viozuWT8N7R6+pTiaHAZImWI/A/byMumIj3xA==
X-Gm-Gg: ASbGncslmDyBBGy2DN/tHB2ebzJs+YwaXAQgUiunFT1lIlXjai7t27cxSE6hkp7oXT6
	4xJxb5D2HOu1/+EnO/ChzqNGVhVZf98kOzEdJGa6arS2pRMLLwuoatnGBGP8Yk/t5IAOURivliU
	e9TvI0vbxRqDN7ZuSd/kCP/7PdyljI9nnjaUuJHu/OwwuacUPEqPwNyl2kZeSky/auUKa7tZtfu
	2ilsFF+2xlZ9dOVslisRsBFEtMCd6YymB1/Vb+7N/zA9NpjVMOlTgqYdGfqz5Ax4xh0GrWqSnDI
	uct7yrPwVO7wttd0pTXOOkkxkPQM0too2KEP0kHeXgOfApq2nQ7Nz4tyvnr7dktV9DMDiaDF6Ta
	8ZdmXMKRg/JqwwhGRms9sMJel9509ng==
X-Google-Smtp-Source: AGHT+IGyDuVTBXTSxhZxsKqHNe3r8fc8X2+nGIvo+8ZukL+zMC3ppaG+RsrhDuARK+eK58A+7ezbZw==
X-Received: by 2002:a05:6000:144e:b0:390:fbdd:994d with SMTP id ffacd0b85a97d-3911f74e691mr7631816f8f.27.1741277865166;
        Thu, 06 Mar 2025 08:17:45 -0800 (PST)
Message-ID: <8167332d-d87d-4858-9f28-0ea703fce5bc@suse.com>
Date: Thu, 6 Mar 2025 17:17:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/events: fix get_global_virq_handler() usage
 without hardware domain
To: Juergen Gross <jgross@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250306161305.10236-1-jgross@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: <20250306161305.10236-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 17:13, Juergen Gross wrote:
> Some use cases of get_global_virq_handler() didn't account for the
> case of running without hardware domain.
> 
> Fix that by testing get_global_virq_handler() returning NULL where
> needed (e.g. when directly dereferencing the result).
> 
> Fixes: 980822c5edd1 ("xen/events: allow setting of global virq handler only for unbound virqs")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Mar 06 16:35:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 16:35:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903895.1311834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqECG-0004Fm-Og; Thu, 06 Mar 2025 16:35:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903895.1311834; Thu, 06 Mar 2025 16:35: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 1tqECG-0004Ff-J7; Thu, 06 Mar 2025 16:35:44 +0000
Received: by outflank-mailman (input) for mailman id 903895;
 Thu, 06 Mar 2025 16:35: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqECF-0004FZ-BP
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 16:35:43 +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 09e0acc2-faa9-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 17:35:39 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43bc30adad5so5962755e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 08:35:39 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4352eccsm54154895e9.27.2025.03.06.08.35.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 08:35:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09e0acc2-faa9-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741278939; x=1741883739; 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=sLWlZzEjhCIh49EMqQnQRG7DFmjtF0+CxltcNT03DiY=;
        b=b++nl6W1Fm8EUPgJ/LhmHVvrfMTD+mSM1BcybT/n1/S11UirhldbXg/hzUxMrQiM5N
         wFHzuN4XCxL7lxZz7hxQGVzzWZmUOvdy40ahb1KnnBFliNd7KBYB0NMqZp4CdVVgkW+h
         ub7vmzP6b8TnB2/LP9bnj6QmKSyE9LnFXhsG+YUzo3yzkDnFXxuixstoVe+yAbUs6yxS
         YjTTBt8gfZDfhTV6WC06dIEwxF407owU4x+NFfgpYJU0CYz6CqTOmxPVcXsndUFzBG08
         4x+4Jgvs5U++qtHxEQmA6CrDbo8c4D3L/CVkBdHF0ewryngGUSz2UwonijNgoO5cg25k
         w5rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741278939; x=1741883739;
        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=sLWlZzEjhCIh49EMqQnQRG7DFmjtF0+CxltcNT03DiY=;
        b=pReBcdP/PDFFP8RbHpefn9iqOOzldyQN55gLBCQtjJDMfYg3B1vJ2CxgdmY/jHH/3A
         WCJfHydxUkanSzsDkghoakOGahj8X9MKArBfvc3+vEQni8PAYDxD4euZarJF7W39/bH7
         Pfwr6aD6MGaELMBzzvQwM+v6nSe7PaXCqCyIJo//A9/d3s0JinQWeA8WxILkuSQthn0i
         wFcX7wNsJvqKniy+JYpm8GlfVeNMRj1w+P35mD8h6QfEubTZ/h0KjLnR/Cu4nuULhNu4
         UoHzi4NZIPrpGkhObT0EFwYK8VTthBxDfWbYylgquXJm5PRS4oZRPAo5gSnCHa1rjUdj
         hs4g==
X-Forwarded-Encrypted: i=1; AJvYcCW95fQLEVBu1Jt8ejCCCocxODjdAWD+Ug+WeBK07pW0rAVpfThqw0GQBtcprFQjGbWohSeqmDQQyL0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyAJoT7/4a+f1uVbqDZ1RVE3JpL9bx/FfKTYYsHtZd8cm8C5ktk
	0lw2tNkOZzsS36LXAPcbJyuurBvc4z/hGKLsIFXPkqlUWBxjTtQxYrHsGXUyHA==
X-Gm-Gg: ASbGncs6+oXkovVbpDNlKxBaT2yIuPONyxcgVLsWDtz+kXrP0OB2OcRtzj2rPxl/4g4
	uNNonm/2w2kL111PPjjlI5hIN+OP9d35GvtPZ0t4sqnvv69IjWYHVR3V+yLKNLWnzHspoONGCWH
	PNZW7kiL5vCufrmFkj4MgHe2B//0eZ7G9xyOdwLOD4c688YSACpLGQQhAjQK23SlNn5Upa8fUAW
	ECDjG7i2sJIZk9Si+7BGVAd/D602pxhJquER+yo9lz4fm4kd46+Fq9yL4CHw6uN2PEwW9FEO7LZ
	vFdRdgTsicCu93mR9rcnQm2nG8xUM6xksCW+Zg5GT7fEE4fVZ+iGdgqKvBCWWlwvxuYJ1XfVrvR
	nqs155vR6wMaB2bDBjw+XLRS4Rjg5rQ==
X-Google-Smtp-Source: AGHT+IEldQBGkNarCl3zrJY4HBmNm3UZQOYq5A8QdGgqS823SQpR2K37l/nIm8MTeT2MA2DHlnAO/g==
X-Received: by 2002:a05:600c:5112:b0:439:8c80:6af4 with SMTP id 5b1f17b1804b1-43c5a63051emr1439935e9.19.1741278938944;
        Thu, 06 Mar 2025 08:35:38 -0800 (PST)
Message-ID: <6aadb0dd-8bfe-4c63-9997-8ded6a9faf98@suse.com>
Date: Thu, 6 Mar 2025 17:35:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] xen/consoled: clean up console handling for PV shim
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250306075819.154361-1-dmkhn@proton.me>
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: <20250306075819.154361-1-dmkhn@proton.me>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 08:59, dmkhn@proton.me wrote:> --- a/xen/include/xen/consoled.h
> +++ b/xen/include/xen/consoled.h
> @@ -1,12 +1,23 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef __XEN_CONSOLED_H__
>  #define __XEN_CONSOLED_H__
>  
>  #include <public/io/console.h>
>  
> +int consoled_guest_tx(char c);
> +
> +#ifdef CONFIG_PV_SHIM
> +
>  void consoled_set_ring_addr(struct xencons_interface *ring);
>  struct xencons_interface *consoled_get_ring_addr(void);
> -void consoled_guest_rx(void);
> -void consoled_guest_tx(char c);
> +int consoled_guest_rx(void);
> +bool consoled_is_enabled(void);
> +
> +#else
> +
> +#define consoled_is_enabled()   (false)
> +
> +#endif /* CONFIG_PV_SHIM */

I'm sorry to be picky, but why did you move just consoled_guest_tx() out
of the conditional? Once something needs moving out, imo everything that
doesn't strictly need to be there wants to move out as well. Which would
leave just consoled_is_enabled() there. Then
Acked-by: Jan Beulich <jbeulich@suse.com>
I can certainly make the adjustment while committing, if no other need
for a v6 arises.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 16:45:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 16:45:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903908.1311845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqELi-0000pu-NL; Thu, 06 Mar 2025 16:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903908.1311845; Thu, 06 Mar 2025 16:45: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 1tqELi-0000pn-J7; Thu, 06 Mar 2025 16:45:30 +0000
Received: by outflank-mailman (input) for mailman id 903908;
 Thu, 06 Mar 2025 16:45: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=qAxi=VZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqELh-0000ph-Rp
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 16:45:29 +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 69341445-faaa-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 17:45:29 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43bc30adad5so6035695e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 08:45:28 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd93cb9bsm25040185e9.31.2025.03.06.08.45.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 08:45:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69341445-faaa-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741279528; x=1741884328; 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=hZM1NDtjNJH2k4fo/83kMUnlk1UDEcVAqpzEEEY50sQ=;
        b=I4SwzQc+n4WN5qZTrPHVeJF+EQvwp7BXxYnjY73yFTJIVDKrNtUL6AmKmb64bhTMst
         +RYuhsYmuTVq0kNsnQo+/krVtvqe29aXnUlMxt5U+upL2BWgpLgm8HuHaHA4v5bPaT4y
         ymxHDVE/rNXBqZ2vhsylvnDYIhFLqI5zairO3qoGFx1PGTy4vgUxYVb3I4u03XCmN8E2
         AUvkzpmNC27KXTygtv2JFtMw2C3pQhTZXj6NM9y4a6K+4J660eksF926poxODG2CdbeO
         n2FNHFO5FxcfsQTv+JtKdUmqlXcznhxweI4mPI3t4tK4rcTZBYmWamhq0XBGlc7rS9Cj
         zEig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741279528; x=1741884328;
        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=hZM1NDtjNJH2k4fo/83kMUnlk1UDEcVAqpzEEEY50sQ=;
        b=wvq228apcl4OBBUzbNmb0aT0CjUAOOIm015ZQrntVtdtNH2CSpIoLCTParVDC3ysmG
         wHV8b0yTQyya92TN3PwcHgXm1PSoMyqpq9DVOIwkco/UOjL/OplLDDUwb8RD+7T1hLN+
         vyR+oareaX6xZXHfWsOiHsH7daI7aO/ZzRxwHEhdCCnO93pTkt5w2O8/tVWjZIIExVON
         qDZgVOWYM/e9cm0seEpEeNcK1N6Ryr/4TNqwaMD3vw0gd1lnt3eTb7AcJLGfMZQwdSiu
         nH5+vXvpmYXyuRbTl2uOC2n9Tyk1qn4kdNhqhD1rAKsuODMRH5sZ759r3wKYtkSP7QCK
         DMYg==
X-Forwarded-Encrypted: i=1; AJvYcCUi0bhNWwNjKyyfWFF6C28BIHSEmo9GSdVU0dpk3+vDgBRqOn3q9a7f7kvHP/ZDgXLXPt+IUya1iBc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwvEslLPxwi5dFF75eA0LK9vkhPg+arOpL5CVqP2yXGa0HOHMWi
	KVppSpRi57VMfj1dEa8HF2dXzmoCrrsJdUWZeRSsBvH8l4ue7PZx37FgnZCkVw==
X-Gm-Gg: ASbGncshMvy4AYIeY5tIczy8otoCmPBOuTDZO5jftQSAc7pW9sGeSFDE8RChgHHxKIM
	qO8sM6M+S4zc6j1A0hU0yMWf4nZxNHC2mmh8tj7tMqDMaRIdql/zx8nZzuByZrHVCwY+1u5ioih
	SoQqUvHFlytFYwxv8Fam6oJOVk59uXCmSXVrykVt7ol6Xj3/fORHSCVPuohWOJ5i64Xt3Ma4X25
	OYKmaB8iov2VYfp2qlRrfWQyQOB+/pIeEMDHXK2Ahm+O12LF3+PJ6yXrk6Q9vdIlFmB8oMSP+OY
	V3+1yWWWWfhOVvm/7OFhftY39CUYUBCn2xykR92t1oBLo1Co2UVZ5dhkrPp5ZhY5a9+6pWQa8gB
	to0vdE7PbIcJIXGOm99M6Yx4MPmW9sw==
X-Google-Smtp-Source: AGHT+IHK3x3ol8xs2q2xahv7EoH1YSMBTsfEootAile7JwEwjAYfC0JGj1Y04EXkCB2MsV+sE5wTxw==
X-Received: by 2002:a05:6000:1788:b0:38f:43c8:f765 with SMTP id ffacd0b85a97d-3911f756783mr6732928f8f.26.1741279528366;
        Thu, 06 Mar 2025 08:45:28 -0800 (PST)
Message-ID: <697601b2-5592-4552-b6e0-4366a55467e8@suse.com>
Date: Thu, 6 Mar 2025 17:45:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] x86/msi: don't use cached address and data fields
 in msi_desc for dump_msi()
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250306145733.99927-1-roger.pau@citrix.com>
 <20250306145733.99927-3-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: <20250306145733.99927-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 15:57, Roger Pau Monne wrote:
> Instead compose a dummy MSI message just for the purpose of getting the
> delivery attributes, which are the same for all messages.  Note that the
> previous usage of the cached MSI message wasn't fetching the hardware MSI
> fields either.

This feels not future proof. There's no guarantee special IRQs (HPET, IOMMU)
would necessarily use msi_compose_msg() (or any open-coded subset thereof).

> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -1454,6 +1454,16 @@ void __init early_msi_init(void)
>  static void cf_check dump_msi(unsigned char key)
>  {
>      unsigned int irq;
> +    struct msi_msg msg = {};
> +    uint32_t addr, data;
> +
> +    /*
> +     * Compose a dummy msg message for the purpose of getting the delivery
> +     * attributes.
> +     */
> +    msi_compose_msg(FIRST_DYNAMIC_VECTOR, NULL, &msg);
> +    addr = msg.address_lo;
> +    data = msg.data;
>  
>      printk("MSI information:\n");
>  
> @@ -1461,7 +1471,7 @@ static void cf_check dump_msi(unsigned char key)
>      {
>          struct irq_desc *desc = irq_to_desc(irq);
>          const struct msi_desc *entry;
> -        u32 addr, data, dest32;
> +        uint32_t dest32;
>          signed char mask;
>          struct msi_attrib attr;
>          unsigned long flags;
> @@ -1495,8 +1505,6 @@ static void cf_check dump_msi(unsigned char key)
>              break;
>          }
>  
> -        data = entry->msg.data;
> -        addr = entry->msg.address_lo;
>          dest32 = entry->msg.dest32;
>          attr = entry->msi_attrib;
>          if ( entry->msi_attrib.type )
> @@ -1512,8 +1520,7 @@ static void cf_check dump_msi(unsigned char key)
>              mask = '?';
>          printk(" %-6s%4u vec=%02x%7s%6s%3sassert%5s%7s"
>                 " dest=%08x mask=%d/%c%c/%c\n",
> -               type, irq,
> -               (data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT,
> +               type, irq, desc->arch.vector,

We've already dropped desc's lock, so shouldn't be de-referencing desc anymore.

>                 data & MSI_DATA_DELIVERY_LOWPRI ? "lowest" : "fixed",
>                 data & MSI_DATA_TRIGGER_LEVEL ? "level" : "edge",
>                 data & MSI_DATA_LEVEL_ASSERT ? "" : "de",

To add to the comment at the top, plus taking patch 1 into account: If we
uniformly used the output of the dummy msi_compose_msg() invocation, why would
we even bother to log information conditionally upon what is in data/addr?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 17:56:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 17:56:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903924.1311854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqFSM-0007Mw-D3; Thu, 06 Mar 2025 17:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903924.1311854; Thu, 06 Mar 2025 17: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 1tqFSM-0007Mp-AC; Thu, 06 Mar 2025 17:56:26 +0000
Received: by outflank-mailman (input) for mailman id 903924;
 Thu, 06 Mar 2025 17:56: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=bSAR=VZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tqFSK-0007Mj-Gu
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 17:56:24 +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 507c0ac1-fab4-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 18:56:22 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-abf5f4e82caso191626966b.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 09:56:22 -0800 (PST)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac239482fa5sm129543766b.46.2025.03.06.09.56.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 09:56:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 507c0ac1-fab4-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741283782; x=1741888582; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=Hjn0TMiPJKoGbfg6WXmCzq0CwuSwc0VPq0YHuaCCDTE=;
        b=BJ3doLYvltnrPaBzcW65VemaHEDwntBYVfOxfX1auA7PEzfcB/qotaUEjSt2wdvqS/
         tWDZv8cHZ+LVopGlvZ72yAwFLKPc+lAzBXNNFh/nbSHynim8pTKoZoXKOym59KzbcRXO
         TLAfOWkGUcP09/0SxGPoKh+Uq8ORbtI5NYlsM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741283782; x=1741888582;
        h=in-reply-to: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=Hjn0TMiPJKoGbfg6WXmCzq0CwuSwc0VPq0YHuaCCDTE=;
        b=VNE9BH3FgKCIWvlWVdD30TququTF5LokegUpEYsPZW25tiW5u3riTuYn01f9cprOxE
         7pQKvNhF8s37qCfm+t+CYoaqwNyrIVC6l/N+/qwiMP/WVMRI4ReDMC5LxiqdgRIlBZs+
         FtM+5csj92PGEszPPreTiK+KPP7Bg0ys2h6dFld2T/KxYKTuLaJk30d1/25yw7uRAP7E
         kvdDlyr/N4UZy3LxVal2PW/LVxllT/meSd/Z0JZH7OePS9D4fd0gfYwaqZ3OkOiOhfws
         cXQKVPUVD8iegUxzTmyTYZ6Z+VODWFQZTDOEqLyfMkOVi5UJDa0Y4M2XlVLpiDyOsjTu
         laRw==
X-Forwarded-Encrypted: i=1; AJvYcCXDcDWbOJj0BfWrwDpjSPpxeo7Fl3BpNuITFBwVRh330WSnYKwfrSJQ6TsfqbyZD2mFoeRSgvT0SDk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVZUyKOxfKSGelVYeyNoJWj6IqZQV6WSblUvQQR4RsP31gZXA2
	e4fm5ZioC9YSw7wRCNt2WqkiLjfTD2zieyi5+/tWQwA1pzA23YHK2pcDwV0iICU=
X-Gm-Gg: ASbGncuUCVPKvVykOiHpoJnO4RCgaEvOWWnClpxU/cGknKPNxKGQYQKhDKjYyuTaX+t
	/xDY5IH34eO3StZmiIFS/5eusOpplFanDeJtol+ATldDjb7Zy/XsvEDTOs06m72ETDK1z8jQ8hp
	M50scB8sFrOZ/Q4F5Egc1vo365fXBNgD3LPTpW6z2vCNEg5ghSqeYAkhm1rBeGg37wdFiyhCgrs
	p7UlIuawgo8TsAcjwjh5/oYZeq2E+XZYnhaMzPzX6qJ82Ot4DGRlhJUhoVgdAxDZ3FOy+51laqy
	l/qBrCp9wsao8mD4FdTh/LWuRs7cSh15+rGjQoFofCDZ1dVaEg==
X-Google-Smtp-Source: AGHT+IGUUVVu5IecpkpwnAryu53h92fh/xeeAriJfZ09vVYAWbwexdINdiHPUrUD2EB2Yctqd3nNcA==
X-Received: by 2002:a17:907:3f11:b0:ac1:d97e:3e4d with SMTP id a640c23a62f3a-ac20db556bemr917544066b.33.1741283781767;
        Thu, 06 Mar 2025 09:56:21 -0800 (PST)
Date: Thu, 6 Mar 2025 18:56:20 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/3] x86/msi: don't use cached address and data fields
 in msi_desc for dump_msi()
Message-ID: <Z8nhxJV5lS4dz0AL@macbook.local>
References: <20250306145733.99927-1-roger.pau@citrix.com>
 <20250306145733.99927-3-roger.pau@citrix.com>
 <697601b2-5592-4552-b6e0-4366a55467e8@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <697601b2-5592-4552-b6e0-4366a55467e8@suse.com>

On Thu, Mar 06, 2025 at 05:45:27PM +0100, Jan Beulich wrote:
> On 06.03.2025 15:57, Roger Pau Monne wrote:
> > Instead compose a dummy MSI message just for the purpose of getting the
> > delivery attributes, which are the same for all messages.  Note that the
> > previous usage of the cached MSI message wasn't fetching the hardware MSI
> > fields either.
> 
> This feels not future proof. There's no guarantee special IRQs (HPET, IOMMU)
> would necessarily use msi_compose_msg() (or any open-coded subset thereof).

Hm, even if not using msi_compose_msg() I don't see how any device
would use a different MSI settings from physical delivery and fixed
destination.  I think it's unlikely for a device to use anything
different from the current values set by msi_compose_msg().

Otherwise I can see about returning whether the entry needs to be
updated from iommu_update_ire_from_msi() (if the offset into the IRT
for the entry has changed).  However that requires adding code to both
AMD and Intel IOMMU implementations, and will need at least a way to
signal that the MSI fields must forcefully be written on resume.

> > --- a/xen/arch/x86/msi.c
> > +++ b/xen/arch/x86/msi.c
> > @@ -1454,6 +1454,16 @@ void __init early_msi_init(void)
> >  static void cf_check dump_msi(unsigned char key)
> >  {
> >      unsigned int irq;
> > +    struct msi_msg msg = {};
> > +    uint32_t addr, data;
> > +
> > +    /*
> > +     * Compose a dummy msg message for the purpose of getting the delivery
> > +     * attributes.
> > +     */
> > +    msi_compose_msg(FIRST_DYNAMIC_VECTOR, NULL, &msg);
> > +    addr = msg.address_lo;
> > +    data = msg.data;
> >  
> >      printk("MSI information:\n");
> >  
> > @@ -1461,7 +1471,7 @@ static void cf_check dump_msi(unsigned char key)
> >      {
> >          struct irq_desc *desc = irq_to_desc(irq);
> >          const struct msi_desc *entry;
> > -        u32 addr, data, dest32;
> > +        uint32_t dest32;
> >          signed char mask;
> >          struct msi_attrib attr;
> >          unsigned long flags;
> > @@ -1495,8 +1505,6 @@ static void cf_check dump_msi(unsigned char key)
> >              break;
> >          }
> >  
> > -        data = entry->msg.data;
> > -        addr = entry->msg.address_lo;
> >          dest32 = entry->msg.dest32;
> >          attr = entry->msi_attrib;
> >          if ( entry->msi_attrib.type )
> > @@ -1512,8 +1520,7 @@ static void cf_check dump_msi(unsigned char key)
> >              mask = '?';
> >          printk(" %-6s%4u vec=%02x%7s%6s%3sassert%5s%7s"
> >                 " dest=%08x mask=%d/%c%c/%c\n",
> > -               type, irq,
> > -               (data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT,
> > +               type, irq, desc->arch.vector,
> 
> We've already dropped desc's lock, so shouldn't be de-referencing desc anymore.

Right, I need to cache it before dropping the lock.

> >                 data & MSI_DATA_DELIVERY_LOWPRI ? "lowest" : "fixed",
> >                 data & MSI_DATA_TRIGGER_LEVEL ? "level" : "edge",
> >                 data & MSI_DATA_LEVEL_ASSERT ? "" : "de",
> 
> To add to the comment at the top, plus taking patch 1 into account: If we
> uniformly used the output of the dummy msi_compose_msg() invocation, why would
> we even bother to log information conditionally upon what is in data/addr?

We could change what's set by msi_compose_msg(), and then the
information here would be incorrect (if hardcoded).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 18:26:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 18:26:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903945.1311874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqFvD-0005H5-QT; Thu, 06 Mar 2025 18:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903945.1311874; Thu, 06 Mar 2025 18: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 1tqFvD-0005Gy-MO; Thu, 06 Mar 2025 18:26:15 +0000
Received: by outflank-mailman (input) for mailman id 903945;
 Thu, 06 Mar 2025 18:26: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=0fwM=VZ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1tqFvB-000530-Nr
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 18:26:13 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 787b9019-fab8-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 19:26:08 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C0FB7828855E;
 Thu,  6 Mar 2025 12:26:06 -0600 (CST)
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 YQ1WodaQ9498; Thu,  6 Mar 2025 12:26:03 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B26438287F65;
 Thu,  6 Mar 2025 12:26:03 -0600 (CST)
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 fpwSD352x5sh; Thu,  6 Mar 2025 12:26:02 -0600 (CST)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id E69438287EC8;
 Thu,  6 Mar 2025 12:26:01 -0600 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 787b9019-fab8-11ef-9898-31a8f345e629
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com B26438287F65
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1741285563; bh=C3efZ9zdciiAYbBh5SKSwZQiHsvax9h+QfR6X1lykOQ=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=qSkmeU5DMmnDJ+rjZ5/CoUeMMMiR3mUObhNxFeQwHBReChfhk7hrlazJuqoCFsGFa
	 ZlUt0UVQRsVSIXFCMjO6+bhSEo8i1nPPozjUD2WpDu3GMrfu4vsY/o1Kcf6JJ4BGbz
	 OXmBLqJfkiv8alGRklm1yw/AKVpj1Vgq5ZoPQsSM=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.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>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v4 1/2] asm-generic: Introduce mm-types.h header
Date: Thu,  6 Mar 2025 12:25:58 -0600
Message-Id: <a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Introduce a new header, mm-types.h, which will be used to define
architecture-specific types pertinent to memory management. This will be
used by a future commit to enable >32 bit PTE flags.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
  - Add Jan's Acked-by

 xen/arch/arm/include/asm/Makefile   | 1 +
 xen/arch/ppc/include/asm/Makefile   | 1 +
 xen/arch/riscv/include/asm/Makefile | 1 +
 xen/arch/x86/include/asm/Makefile   | 1 +
 xen/include/asm-generic/mm-types.h  | 5 +++++
 5 files changed, 9 insertions(+)
 create mode 100644 xen/include/asm-generic/mm-types.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 4a4036c951..f8249b2439 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -3,6 +3,7 @@ generic-y += altp2m.h
 generic-y += device.h
 generic-y += hardirq.h
 generic-y += iocap.h
+generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index c989a7f89b..c0dbc68ac6 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -5,6 +5,7 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
+generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += perfc_defn.h
diff --git a/xen/arch/riscv/include/asm/Makefile b/xen/arch/riscv/include/asm/Makefile
index c989a7f89b..c0dbc68ac6 100644
--- a/xen/arch/riscv/include/asm/Makefile
+++ b/xen/arch/riscv/include/asm/Makefile
@@ -5,6 +5,7 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
+generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += perfc_defn.h
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index 2c27787d31..26650707e6 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += div64.h
+generic-y += mm-types.h
diff --git a/xen/include/asm-generic/mm-types.h b/xen/include/asm-generic/mm-types.h
new file mode 100644
index 0000000000..26490e48db
--- /dev/null
+++ b/xen/include/asm-generic/mm-types.h
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_MM_TYPES_H__
+#define __ASM_GENERIC_MM_TYPES_H__
+
+#endif /* __ASM_GENERIC_MM_TYPES_H__ */
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 18:26:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 18:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903944.1311864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqFvC-00053J-JG; Thu, 06 Mar 2025 18:26:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903944.1311864; Thu, 06 Mar 2025 18:26: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 1tqFvC-00053C-GY; Thu, 06 Mar 2025 18:26:14 +0000
Received: by outflank-mailman (input) for mailman id 903944;
 Thu, 06 Mar 2025 18: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=0fwM=VZ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1tqFvA-000530-F0
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 18:26:12 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 787cb2c0-fab8-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 19:26:08 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E87358287F65;
 Thu,  6 Mar 2025 12:26:06 -0600 (CST)
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 L7GN20iA-89a; Thu,  6 Mar 2025 12:26:04 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0E4FD8287EC8;
 Thu,  6 Mar 2025 12:26:04 -0600 (CST)
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 51DgP40jfrGF; Thu,  6 Mar 2025 12:26:03 -0600 (CST)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 0044F828855E;
 Thu,  6 Mar 2025 12:26:02 -0600 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 787cb2c0-fab8-11ef-9898-31a8f345e629
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0E4FD8287EC8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1741285564; bh=dqRFmveKyKkxGm3ExseFEJHSnIQ8BPh6zjaUeg+JJCo=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=BU+sGDdOxwy3p539begu9SXnzPqPKEeNnvXZvX0VJ3X7O+2U8fm9ES3LCxdPaTVym
	 RScRm5TYd+zRuFFuNIhs8l2kmILesPaOFfhG6PNR/npLlpsPgliLdwty+dNtyMidm1
	 WZ92Dv3TTXXlwvskjN6G8GAwtAuFa/1a9Nw7uwQA=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.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>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v4 2/2] xen/mm: Introduce per-arch pte_attr_t type for PTE flags
Date: Thu,  6 Mar 2025 12:25:59 -0600
Message-Id: <818891459587be5e7263fa958701dc34abc4d16d.1741284947.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com>
References: <a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Xen's memory management APIs map_pages_to_xen, modify_xen_mappings,
set_fixmap, ioremap_attr, and __vmap all use an unsigned int to
represent architecture-dependent page table entry flags. This assumption
is not well-suited for PPC/radix where some flags go past 32-bits, so
introduce the pte_attr_t type to allow architectures to opt in to larger
types to store PTE flags.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in v4:
  - Change definitions of map_pages_to_xen, modify_xen_mappings in all arches
  to match new prototype.
  - Use new flag types in modify_xen_mappings_lite as well (previously missed)

Changes in v3:
  - Use new asm/mm-types.h to pull in pte_attr_t definition when
  necessary.
  - Drop define+ifdef since pte_attr_t is now always defined.

Changes in v2:
  - Drop Kconfig option and use `#define pte_attr_t pte_attr_t` for arches to
  opt-in to defining the type.
  - Move default pte_attr_definition to xen/types.h
  - Update commit message to reflect that this change isn't strictly
  necessary for arches w/ >32bit pte flags

 xen/arch/arm/mmu/pt.c               | 4 ++--
 xen/arch/ppc/include/asm/Makefile   | 1 -
 xen/arch/ppc/include/asm/mm-types.h | 7 +++++++
 xen/arch/ppc/mm-radix.c             | 2 +-
 xen/arch/riscv/pt.c                 | 2 +-
 xen/arch/x86/mm.c                   | 6 +++---
 xen/common/efi/boot.c               | 5 +++--
 xen/common/vmap.c                   | 2 +-
 xen/include/asm-generic/mm-types.h  | 2 ++
 xen/include/xen/mm.h                | 7 ++++---
 xen/include/xen/vmap.h              | 4 +++-
 11 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/mm-types.h

diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e7..9dc99db352 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -701,7 +701,7 @@ static int xen_pt_update(unsigned long virt,
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
-                     unsigned int flags)
+                     pte_attr_t flags)
 {
     return xen_pt_update(virt, mfn, nr_mfns, flags);
 }
@@ -719,7 +719,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0);
 }

-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf)
 {
     ASSERT(IS_ALIGNED(s, PAGE_SIZE));
     ASSERT(IS_ALIGNED(e, PAGE_SIZE));
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index c0dbc68ac6..c989a7f89b 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -5,7 +5,6 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
-generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += perfc_defn.h
diff --git a/xen/arch/ppc/include/asm/mm-types.h b/xen/arch/ppc/include/asm/mm-types.h
new file mode 100644
index 0000000000..0cb850f4f6
--- /dev/null
+++ b/xen/arch/ppc/include/asm/mm-types.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_PPC_MM_TYPES_H__
+#define __ASM_PPC_MM_TYPES_H__
+
+typedef unsigned long pte_attr_t;
+
+#endif /* __ASM_PPC_MM_TYPES_H__ */
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 24232f3907..e02dffa7c5 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -265,7 +265,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
-                     unsigned int flags)
+                     pte_attr_t flags)
 {
     BUG_ON("unimplemented");
 }
diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
index 857619d48d..918b1b91ab 100644
--- a/xen/arch/riscv/pt.c
+++ b/xen/arch/riscv/pt.c
@@ -504,7 +504,7 @@ static int pt_update(vaddr_t virt, mfn_t mfn,
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
-                     unsigned int flags)
+                     pte_attr_t flags)
 {
     /*
      * Ensure that flags has PTE_VALID bit as map_pages_to_xen() is supposed
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index bfdc8fb019..53c17c6f88 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5472,7 +5472,7 @@ int map_pages_to_xen(
     unsigned long virt,
     mfn_t mfn,
     unsigned long nr_mfns,
-    unsigned int flags)
+    pte_attr_t flags)
 {
     bool locking = system_state > SYS_STATE_boot;
     l3_pgentry_t *pl3e = NULL, ol3e;
@@ -5890,7 +5890,7 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
  *
  * It is an error to call with present flags over an unpopulated range.
  */
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf)
 {
     bool locking = system_state > SYS_STATE_boot;
     l3_pgentry_t *pl3e = NULL;
@@ -6186,7 +6186,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
  * the non-inclusive boundary will be updated.
  */
 void init_or_livepatch modify_xen_mappings_lite(
-    unsigned long s, unsigned long e, unsigned int nf)
+    unsigned long s, unsigned long e, pte_attr_t nf)
 {
     unsigned long v = s, fm, flags;

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index efbec00af9..999dbce4dc 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1,4 +1,5 @@
 #include "efi.h"
+#include <asm/mm-types.h>
 #include <efi/efiprot.h>
 #include <efi/efipciio.h>
 #include <public/xen.h>
@@ -1656,7 +1657,7 @@ void __init efi_init_memory(void)
     struct rt_extra {
         struct rt_extra *next;
         unsigned long smfn, emfn;
-        unsigned int prot;
+        pte_attr_t prot;
     } *extra, *extra_head = NULL;

     free_ebmalloc_unused_mem();
@@ -1671,7 +1672,7 @@ void __init efi_init_memory(void)
         EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
         u64 len = desc->NumberOfPages << EFI_PAGE_SHIFT;
         unsigned long smfn, emfn;
-        unsigned int prot = PAGE_HYPERVISOR_RWX;
+        pte_attr_t prot = PAGE_HYPERVISOR_RWX;
         paddr_t mem_base;
         unsigned long mem_npages;

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 47225fecc0..d6991421f3 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -222,7 +222,7 @@ static void vm_free(const void *va)
 }

 void *__vmap(const mfn_t *mfn, unsigned int granularity,
-             unsigned int nr, unsigned int align, unsigned int flags,
+             unsigned int nr, unsigned int align, pte_attr_t flags,
              enum vmap_region type)
 {
     void *va = vm_alloc(nr * granularity, align, type);
diff --git a/xen/include/asm-generic/mm-types.h b/xen/include/asm-generic/mm-types.h
index 26490e48db..9eb3cba698 100644
--- a/xen/include/asm-generic/mm-types.h
+++ b/xen/include/asm-generic/mm-types.h
@@ -2,4 +2,6 @@
 #ifndef __ASM_GENERIC_MM_TYPES_H__
 #define __ASM_GENERIC_MM_TYPES_H__

+typedef unsigned int pte_attr_t;
+
 #endif /* __ASM_GENERIC_MM_TYPES_H__ */
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 16f733281a..e79f1728c3 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -69,6 +69,7 @@
 #include <xen/spinlock.h>
 #include <xen/perfc.h>
 #include <public/memory.h>
+#include <asm/mm-types.h>

 struct page_info;

@@ -113,11 +114,11 @@ int map_pages_to_xen(
     unsigned long virt,
     mfn_t mfn,
     unsigned long nr_mfns,
-    unsigned int flags);
+    pte_attr_t flags);
 /* Alter the permissions of a range of Xen virtual address space. */
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf);
+int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf);
 void modify_xen_mappings_lite(unsigned long s, unsigned long e,
-                              unsigned int nf);
+                              pte_attr_t nf);
 int destroy_xen_mappings(unsigned long s, unsigned long e);
 /* Retrieve the MFN mapped by VA in Xen virtual address space. */
 mfn_t xen_map_to_mfn(unsigned long va);
diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
index 26c831757a..e1155ed14a 100644
--- a/xen/include/xen/vmap.h
+++ b/xen/include/xen/vmap.h
@@ -8,8 +8,10 @@
 #ifndef __XEN_VMAP_H__
 #define __XEN_VMAP_H__

+#include <xen/mm.h>
 #include <xen/mm-frame.h>
 #include <xen/page-size.h>
+#include <asm/mm-types.h>

 /* Identifiers for the linear ranges tracked by vmap */
 enum vmap_region {
@@ -57,7 +59,7 @@ void vm_init_type(enum vmap_region type, void *start, void *end);
  * @return Pointer to the mapped area on success; NULL otherwise.
  */
 void *__vmap(const mfn_t *mfn, unsigned int granularity, unsigned int nr,
-             unsigned int align, unsigned int flags, enum vmap_region type);
+             unsigned int align, pte_attr_t flags, enum vmap_region type);

 /*
  * Map an array of pages contiguously into the VMAP_DEFAULT vmap region
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 19:16:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 19:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903966.1311884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqGh8-00044G-9G; Thu, 06 Mar 2025 19:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903966.1311884; Thu, 06 Mar 2025 19: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 1tqGh8-000449-6U; Thu, 06 Mar 2025 19:15:46 +0000
Received: by outflank-mailman (input) for mailman id 903966;
 Thu, 06 Mar 2025 19:15: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=0m9W=VZ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tqGh7-00043m-5t
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 19:15:45 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2062e.outbound.protection.outlook.com
 [2a01:111:f403:2407::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62e2c6af-fabf-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 20:15:38 +0100 (CET)
Received: from CY5PR03CA0017.namprd03.prod.outlook.com (2603:10b6:930:8::41)
 by BY5PR12MB4066.namprd12.prod.outlook.com (2603:10b6:a03:207::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 19:15:35 +0000
Received: from CY4PEPF0000FCBE.namprd03.prod.outlook.com
 (2603:10b6:930:8:cafe::8f) by CY5PR03CA0017.outlook.office365.com
 (2603:10b6:930:8::41) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Thu,
 6 Mar 2025 19:15:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000FCBE.mail.protection.outlook.com (10.167.242.100) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 19:15:34 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 6 Mar
 2025 13:15:31 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 13:15:30 -0600
Received: from [172.19.192.96] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 13:15:29 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62e2c6af-fabf-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CfOC/Npa0405yVmTtIASCbY2z5IETQ2UdxRl/z52lgSaLlFSsbCXMwUr5BA7FViJeETaYXcfDvM0IcrUDoROHkt431dhFPurZX+P1XKXSHllWgjTqsQSFU8GiN5GAOxjDTOLYtmLLQ9T1DWyFDAZdNfumK0/2NKDThSWOLA7AhzCnnYzVEw6U1GwxUmQNqjKmQxivtZvR6j7OqWGz9lh2+uYbwSmrQX4ck0Mjrwr/ME82xJbHWfsKmr41rZlAS8ApB78//ZH8oh4tQ9aLiIBn93FQApWwVWIFKCTmX0SHRmApkiy7l4Q+Vr37wt1cMKJ1sM2ZTA++VEis16Tl/JwJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ApfgN2aia//xxSiC5wzEE0OScHtZ0agICMxSNAp7hSU=;
 b=PscfxVYUST7nnCF4a+BngY/UKTg/6raarjKO4z9+gCpLEDFX6aQL4mwzq+Aiy3so4w1lZyl7P6lCpWugJSQdVYhmBS8JlceucsitrB683MMpqYxUUKB0kJdN6T+8TFng9ilFJ82L7pmblZJw0CJcJSMoRnsFReWhjKx3YMC1fifg2ms1se+e++QylrMN/r21fNqs/ripoI6n6QwlzazSzVNJfHTUisFrLhfnkChSXvEQois5kfJtoQIBWAiGnQHCJXDGvkrYNu3zsQibS6A+aZlsEh9VgHLHMSQzUGzsoTudCD9aAjaigkSOy23g/TMUMfLlHKIbJoFKu5FNSAPvWQ==
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=ApfgN2aia//xxSiC5wzEE0OScHtZ0agICMxSNAp7hSU=;
 b=sKltildq+6rluWIfRIJzkXjjMiyvHvYnO9gkW4HmHdT0erJNGQbbov8VjnDGUyjXihZwRnxSakMEY1t7N2afq+7MZvtAehOloxC/X4qx8Z2J0snYYRxbRHtktydVUNo3ZdWZehOehksbn/MsMqBE+Bc+MjJLdDNnBwtfIfxD9P4=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <a2092d85-9b4d-40d3-883e-60207d2e3412@amd.com>
Date: Thu, 6 Mar 2025 14:15:29 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/7] xen/arm: add support for R-Car Gen4 PCI host
 controller
To: Mykyta Poturai <Mykyta_Poturai@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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>
References: <cover.1740382735.git.mykyta_poturai@epam.com>
 <8e567e7db48ba6d268c5e3a3481d53d891524d68.1740382735.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <8e567e7db48ba6d268c5e3a3481d53d891524d68.1740382735.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCBE:EE_|BY5PR12MB4066:EE_
X-MS-Office365-Filtering-Correlation-Id: 0cf90cbf-303b-4bdd-a836-08dd5ce34573
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?WmFwbFhXQjdTdWtyTm14SlVWVWlmdTNROFpsNzBJbGJUeDdRQnlac0V5bDFj?=
 =?utf-8?B?bDhBOHJucXc0SSt6dHQ2aytMblVjWXZpbmdSYUd3UjNPN1VUUTNCWWthOXBx?=
 =?utf-8?B?MVdBd1FKcUZvRm5JU05STUEwRm9TMDRSc0ZvVlAvU1NYbmt2bjd5RVd1U2RB?=
 =?utf-8?B?M2ZxWkxLTXJEOHZ6Ymp0OGpNTUxhZFBTQlJXMW0xYUVkV2R5dDdjMU5IUUdv?=
 =?utf-8?B?STFXU05NNWdJWkE5dXNKWUhrUVNwOXgra1NJNy8xMDJnOWZKMTZkSEw2bE9n?=
 =?utf-8?B?ek1zNTE2WnloUHlzQ001NXRoREJvYkFVd3lXNGhGYVdnQkJPQm5sU2JRb3Vh?=
 =?utf-8?B?b2dHbVViWkRVayszSE51SUgyWTRMbTR4Z2lDTEFpc1V5YlEwdUw5Qm90NDNj?=
 =?utf-8?B?SkhUNTF3VmtvMWdjWk5uNG5reVp2ZStDdFlPTi9CVlZVYzR1RlVMS28zVDEv?=
 =?utf-8?B?ZVJJOUY5U09VcW5rTlNYUEdBTEFkOE5sQjl0SDcrdkxmK2lSRmFUSGY2V2R3?=
 =?utf-8?B?SlUxbHdHcldkVFhhcjVIWGptZStQM0Y3ckx6ejlabkZCRzh5aGE5ZWhmMnFi?=
 =?utf-8?B?cjYzSjl1eGtJSlJDdFEwamQ0ZVZIU2krekU1Wi9FTjBRaHI5ZnVLWU9EYi9O?=
 =?utf-8?B?cU5ubmoxNlRndXhZbjhWajVrSEFSdEhtdWJkc09LNmlMaWNoUnhVbkRmaHV1?=
 =?utf-8?B?ckVoQ3VvbDBZUHNkT2FkcmpSS1pmZWg5UkJLRUFCQ01TaHZaZFpqcW1uaVV4?=
 =?utf-8?B?eDhiVnRKeTZseG1PK0NBMi9NV1c5WC8zOFlqU0FRYW9VUW4rbWNXak9POEla?=
 =?utf-8?B?bFZjWWdyaFcrNzBHSDV5QStkd1d1RXE1dVUxR0pEaC94SEtzdEpNQkp5ck1w?=
 =?utf-8?B?Sy9BQmlCZTUwRHNVVE1IQTkvcmpVQnpXS05XTHhhR1lETmNrRnd1NXRnZ0k4?=
 =?utf-8?B?UXB6M0w5WW1rdVBBRFNJUnVsVnlhc2ZBdjRrTGttdldjZ215emFHa2svWGJU?=
 =?utf-8?B?cEp5YllRSW1JZlEwVjA1L0kxcXRkQ28zWVJ4TTNpWTJGdEdlSWpNbE9IVkJt?=
 =?utf-8?B?VTUyWlBKb28xeGc0ajlKdnJQMEVTOE5ZOEUrUDJMTjBodjU0enRldUU2Nm1p?=
 =?utf-8?B?ZHVMOUNMdURETVhMeCtKSHVxUmQ5Q1JoOVFQdnhvZ2FLdVZNa1hNMGxwMzFr?=
 =?utf-8?B?dFdCKzZzMkdWQzhKOVUyTyt0WE80RTFVWEh6U1hma04rVkd0VnhFWGhNNDJN?=
 =?utf-8?B?ekd3OVVlTmp6TWd4L1dJcFJoV1NXVzFBOXZRYTFjdk9tZmZlc0E3M3hQeEpa?=
 =?utf-8?B?Mmc5Z2IzTU5EOUpSSnpsb1UzeU4vaWdIait4bHUzNXpLTGdNTFVwSkZRV3o0?=
 =?utf-8?B?TmdsSzhReUxNT0VzQ2JXYng5b1VNVEEvZlI0VGlHTW94cDZFdzZwTmtjK0lW?=
 =?utf-8?B?elFxSGJ2bk9PaU9CM0trelIyQ1hDM3NjRk55Unh5a1IwMHV4Sm9UcnV4Vmor?=
 =?utf-8?B?bHh5dUF0alVZYXo1STZ0U0QyYm9xQnNUWk9EcXpDZWw4WkFRTEszSGlCbU5n?=
 =?utf-8?B?U0NlU0U2NSs5RlNnd2o1dm8yMnZSdkFKRHh2TU9FVVFFK2lsUGRWd3UwWGtS?=
 =?utf-8?B?ODFXckVHSE1RU0JVVnA4YXZtYW03MGFGWk05ZGhMMDk5Z2MvVmFCMjEwNG1J?=
 =?utf-8?B?VGtvaGpUNkJta1AxWERxMmMvVW1QTWxMdEhib0I5V01EQitUdGZyRHp1TFdv?=
 =?utf-8?B?ODhqc001bzFmM3NrZ2dCcmdldXZONGl6dFRXanNweUFpSWYzZWl4NTUrZE5O?=
 =?utf-8?B?dzNvQTRCckZCa3FWMGZuS1VuRXNubFBDSkVDTGU2MVk4Q0pQSGJ3ZkF0YXlP?=
 =?utf-8?B?WWVuV3J0eEFVK0VJMktrWGJuWUZkNm9mUk1CbTJoNWZMeCtaYkhJRjRuSW56?=
 =?utf-8?B?UUVQTnBueVdrRjhsb1N0N1IxNVhZSDJVNnF3SVdmUFJuWmxZSXFlUThvWXVV?=
 =?utf-8?B?ZFowU21BcndRPT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 19:15:34.7298
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cf90cbf-303b-4bdd-a836-08dd5ce34573
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000FCBE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4066

On 2/24/25 04:18, Mykyta Poturai wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Add support for Renesas R-Car Gen4 PCI host controller.
> S4 and V4H SoCs are supported.
> Implement config read/write operations for both root and child buses.
> For accessing the child bus, iATU is used for address translation.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
>  xen/arch/arm/pci/Makefile         |   1 +
>  xen/arch/arm/pci/pci-host-rcar4.c | 529 ++++++++++++++++++++++++++++++
>  2 files changed, 530 insertions(+)
>  create mode 100644 xen/arch/arm/pci/pci-host-rcar4.c

Can any parts of this potentially be reused for other designware-based
PCIe controllers? If so, could those parts be moved to a separate file?


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 19:26:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 19:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903976.1311894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqGri-0000ul-9R; Thu, 06 Mar 2025 19:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903976.1311894; Thu, 06 Mar 2025 19: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 1tqGri-0000ue-5I; Thu, 06 Mar 2025 19:26:42 +0000
Received: by outflank-mailman (input) for mailman id 903976;
 Thu, 06 Mar 2025 19: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=MmV8=VZ=gmail.com=thierry.reding@srs-se1.protection.inumbo.net>)
 id 1tqGrh-0000uU-3b
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 19:26:41 +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 ece81b9c-fac0-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 20:26:38 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-38f2f391864so647944f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 11:26:38 -0800 (PST)
Received: from orome (p200300e41f3a9f00f22f74fffe1f3a53.dip0.t-ipconnect.de.
 [2003:e4:1f3a:9f00:f22f:74ff:fe1f:3a53])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c0e1d67sm2905872f8f.74.2025.03.06.11.26.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 11:26:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ece81b9c-fac0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741289198; x=1741893998; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=yNcfgkruRbdQ2LTcDlb82l2rtv263h9UvbuoZgmPSdM=;
        b=E7VL2nFJix3NQimlXy0NtbIYfr4jwgIpqDs/hyDZxdWOC7kbhMLNSxyILVlHAuGKkw
         jgun6590k3r+EonHdARVQPahkVnA6z4B4fq972EB6Ln0nvegRMdmaouoXEyx3jZglGfg
         Tj2B8VMZ6FmJUPGpj8egVr1domMsr+ewIgoA11+iDF603OwxWrYgcGPBCeOdr3RqkV+u
         u4+YwZpBjIC/TDdkzp8KwfIu1I5Uc7N7fpUoiqH1gcgBtPjjqOscwLQDWUuJIQAUG5Uz
         bwDX8Ytra/SoqLatE0+3tNJqBdABmEd9bw3InhoN5fmtxxpIwTiBjc6SBfvzqXcAOi+2
         m2ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741289198; x=1741893998;
        h=in-reply-to: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=yNcfgkruRbdQ2LTcDlb82l2rtv263h9UvbuoZgmPSdM=;
        b=wBrLc+Upbj+oZpQXp/UcPumPygSWDVwGKqA0QxlIC0gfgG/3/OdXMTgjYYSSayU+F6
         kfm/T+MKKVeJkgd3KKmpQLvDrN5HFCa00tgWEGw0/Ss9cJdE4OHDQAdidWOHGTgrLl4C
         /N3zqNoGvWP2c0C99AVtcd6BoF4mFLjViAWRlFqcfUIwuLKmvEwcb+4RTGlSX7DlZk3a
         IHp+0YQzWGIc4k9TPvS3lg4Z7zfMYpBRZzk/XJxgUoUYUPxraHl78pS/SBrjxdH1aRFQ
         WrbVEFDyv77iVFEPbyPfOiIfx64jkgsb4MPPxm46B/DgNysgDp0InckLmjerNPKZJXBQ
         JIKw==
X-Forwarded-Encrypted: i=1; AJvYcCWGCxiPKICt1r1aqTQl5dTW4H45RYEmANH5eBRMfN4BvVe7quSHkcUFElUSju37xM6FPkt51ZcFpAw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyT5T3OA29aayF93W6zO7pWtEPHg/WmSk+wla04fSrfXERTcn+D
	TjlYnXiTVpcwssLKX0eKzS8Vbbs7/XMytAaiJ3+DEC/sBGO5kcEu
X-Gm-Gg: ASbGncutqF/L2Di0DPrk3s31BUGx4VED1l6PDN/cft83o3iqwjJFGjP2GdGXlwwGDye
	KOaQQZNM2vaaSjxkA19icxWqT+uslFD96hwvQhk0UW3WIGLF3dhjAht1Gn9YrhQKDcfQJ4mtBZ2
	98knyJAqkvT9HNKfR23qWSY/J101UbatImn0TRQVaWbt/85Aqwu7OlniTdtoadoUM9a9e7bhkbg
	U5a9jjRWZcxpCYOwD1R8wobJkMaZ6yyITzzw7ftHn2wALkvTWGYd5O0CiFoJSXsUGZ/OOw6XTww
	xGzHYIEXOsIlHbkDsGR/AVFRm5CF4EEDTZFmrJFH+/ClG9b5V5M+gdVUEndnMw3mO9AF4WxcVfy
	UwrLiXFvUeJ/7XhNgTrahvnkh+NkdTCs=
X-Google-Smtp-Source: AGHT+IGse2HrwvQit3ez+Tb+IZmcWPgul6Oz1Of3MncB8IKv5GiNEYehZwUGHa/gmdRGfttFwUyGrw==
X-Received: by 2002:a5d:5f45:0:b0:390:eebc:6f32 with SMTP id ffacd0b85a97d-39132da8fecmr291664f8f.48.1741289198054;
        Thu, 06 Mar 2025 11:26:38 -0800 (PST)
Date: Thu, 6 Mar 2025 20:26:33 +0100
From: Thierry Reding <thierry.reding@gmail.com>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org, 
	airlied@gmail.com, simona@ffwll.ch, dri-devel@lists.freedesktop.org, 
	linux-mediatek@lists.infradead.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, 
	imx@lists.linux.dev, linux-samsung-soc@vger.kernel.org, nouveau@lists.freedesktop.org, 
	virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org, 
	linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, 
	intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org, 
	Mikko Perttunen <mperttunen@nvidia.com>
Subject: Re: [PATCH v3 20/25] drm/tegra: Compute dumb-buffer sizes with
 drm_mode_size_dumb()
Message-ID: <mtsi7lohn4nq75y3mdzk7eomloxvswjn4blsmruutpejhppd5i@wexuiu7yfea3>
References: <20250218142542.438557-1-tzimmermann@suse.de>
 <20250218142542.438557-21-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="y6cp6aqkj6w24xiu"
Content-Disposition: inline
In-Reply-To: <20250218142542.438557-21-tzimmermann@suse.de>


--y6cp6aqkj6w24xiu
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: [PATCH v3 20/25] drm/tegra: Compute dumb-buffer sizes with
 drm_mode_size_dumb()
MIME-Version: 1.0

On Tue, Feb 18, 2025 at 03:23:43PM +0100, Thomas Zimmermann wrote:
> Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
> buffer size. Align the pitch according to hardware requirements.
>=20
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Mikko Perttunen <mperttunen@nvidia.com>
> ---
>  drivers/gpu/drm/tegra/gem.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

--y6cp6aqkj6w24xiu
Content-Type: application/pgp-signature; name="signature.asc"

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

iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmfJ9ukACgkQ3SOs138+
s6GThw/9F553EWmmWz8ONopI5pY7Fy+Pu8kzqsU5bhKSKO2aqJ8y4PFOQAzaacO8
2HuvhLXsP6l91B+R49oebJTWnbgcl9ThzcA4njgdKRFc7yZU/EZUEUGdwDkU6qsh
/rkDnM+a+MzIAd3Z31B0Kvb0tUsl4e0UBueDHmjfP554dbtnMr94eIHuqLVRb1/D
LB6ddm8DbZVoDKT9Ji2gLQpW84oFuIzRZPOV8JmPe+wE8Xf6A9sLloqJndErnvHg
B8X2K8PzxkNNJGaZtQMUpiJ+S1oDNZnnKtzt0Wb+b9itJqUgykve29vGBDBImsb5
8JLFlkdPFdKpFsbAvGyHv8b+F2rDVu4Oelg88WWDUSMc9Ut274u5/a2DTUOwF806
DtCADAFUOOcIyDZKfPpeQuWDPeScN3/ANW8iQMlyPaNO5fBKlisFjiF1Bh0gS+vQ
shkKb74wChg/4jgq1+M+I4DPdCQRe0kGIqbNZ4yK71owOjoSE6WIxxEt0UUKxPwh
XZyf8ZF2O9TCPMigN6Qw2AGUhaC3HsAG9KbhOTSeUAsOwohFtYY+3B6Hkb8SQHEM
i05OutqXEhtdSZgBK+HuweZtYWCBfy/BcMeD99Rkg01C+aMZcNPGVLpvGqpryNaB
Ga0hQwFdIjbnMbXxjzyfJfs7GqNyTAJtpiqBO3uDhWH2LxJHZ7M=
=2m1E
-----END PGP SIGNATURE-----

--y6cp6aqkj6w24xiu--


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 19:36:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 19:36:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.903984.1311904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqH1Z-0003Hj-5T; Thu, 06 Mar 2025 19:36:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 903984.1311904; Thu, 06 Mar 2025 19: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 1tqH1Z-0003Hc-1o; Thu, 06 Mar 2025 19:36:53 +0000
Received: by outflank-mailman (input) for mailman id 903984;
 Thu, 06 Mar 2025 19:36: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=0m9W=VZ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tqH1Y-0003HW-0I
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 19:36:52 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20603.outbound.protection.outlook.com
 [2a01:111:f403:2413::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57cb7291-fac2-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 20:36:48 +0100 (CET)
Received: from DS2PEPF00004553.namprd21.prod.outlook.com
 (2603:10b6:f:fc00::51b) by CH3PR12MB7644.namprd12.prod.outlook.com
 (2603:10b6:610:14f::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 19:36:44 +0000
Received: from DS1PEPF0001709B.namprd05.prod.outlook.com
 (2603:10b6:2c:400:0:1007:0:9) by DS2PEPF00004553.outlook.office365.com
 (2603:10b6:f:fc00::51b) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.11 via Frontend Transport; Thu,
 6 Mar 2025 19:36:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0001709B.mail.protection.outlook.com (10.167.18.105) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 19:36:43 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 13:36:43 -0600
Received: from [172.19.192.96] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 13:36:41 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57cb7291-fac2-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cH0haS5nMSDrJUkETLgvjaa6e1hBBnOpviXfQGZDHYc9phUBBzUfJMKSaFv8zrtVcCM3tZla1/8g5aAm94gE8eMw+zshYaTV4Ne9Z8wyQ8W1jKqABqhiDNFhDLqSa5e3LXgUEAEPEISGMZ324mQBPjSf3iqC/GzdYy8bNxN4Mw4UYsQfK+MzIhStpqyJmCpHNk/8LyigFEbiIWTzyarBj3lbFbaBZ6M6gRIgT9B87+uT83FjgX63RZa8Dw3bxLA5fGEvAW7Jh7xbvptPGxUQqLvU5886ayayifRX+64AP68HxFSjooa9Q05WlCe4upx7cTCUr3MCN6Lz18Rbt4cpGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dQUcUdJ+tVCA1olgArmn/HGY8r7yEwijoPTA2B6vRtM=;
 b=F64yL1GfOcRVoa70HtEqRXo+miSGn7O37LcTswzuhA+BzARwFhUQluERylDSFdPOTmpn5yZsUZYQAiz1w/Mse78Wm1YosqTQARsBrGJuKxG86Td8G4y4EXBV840n+gl1Rm65bjZ3pgSHM742RdsQPCoQSNaRYGjXfTCDw4MbjL7i5HNy9VSJLSx96iSrNe1yHeC5V4ZUdwg5vfKzgojBJFfMd7Ow28TongQYz6ppV/pv2T9ZmcbfrQwj3lmvm4Mh4bs3bfusTXERcid0MdDZxDIK6vO3qYPRu0Ei4nRim0X37KnIxgZx4F5G8tEsDsYgbZpDgIXn9lN9+kiOo5JhPA==
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=dQUcUdJ+tVCA1olgArmn/HGY8r7yEwijoPTA2B6vRtM=;
 b=XZqliYxLhe2hxNpp6lfPOryH3cljMr7HxKKsBX1VufqJLIAMI5VaY0L0jrholbWpcSdRNJqW78PvSOlVqq/1gdyJw5R5W1dsGLfP+aYpJ/hm9S2RdpsSEKJjenEXdYqyf3CKrTPQvxKDIevnB08ds9ODgyuZi5lM29ZrneEP1K0=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <486c3f36-957c-482c-984d-5959406cf9a9@amd.com>
Date: Thu, 6 Mar 2025 14:36:40 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v16 4/5] xen/arm: translate virtual PCI bus topology for
 guests
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
CC: <xen-devel@lists.xenproject.org>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@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>
References: <20240522225927.77398-1-stewart.hildebrand@amd.com>
 <20240522225927.77398-5-stewart.hildebrand@amd.com>
 <Zk70udmiriruMt0r@macbook>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <Zk70udmiriruMt0r@macbook>
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: DS1PEPF0001709B:EE_|CH3PR12MB7644:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f3b7c3c-d211-470f-abcb-08dd5ce639e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cFFNZ29qMFZzemVaK1dGd2lBNE12T0VBRmZlcU1USHR0SVo4aEVwWk5CVm5p?=
 =?utf-8?B?VHdUY3d4Si9FMllmbXYwa3ZNKzAwbW1Udm0wUjF1ZlNMU1Y2ell5Nmg4MGpq?=
 =?utf-8?B?RzF5TUZ1ZVBlNWYwbzkyQlFOL3dicWcrVEJVK1dDd1I0cy9iV01xSUpNWXBw?=
 =?utf-8?B?OEN1SUVaUVUzODhaWE5MZUpOS0QreGttQldWbnRlTlRTZEpoZjZVa0J2SGx5?=
 =?utf-8?B?RTQzeDVUUFFzakdiK04vNnI2MWpocVJoYXUvV093SHNvUlZyWmEvTTcyTW4v?=
 =?utf-8?B?N25pcWVnQWY3Y3NVbjJ3VS9LREZPTnBTdm5GZ3dCY2pncDdwSFIzZ1pZdUZl?=
 =?utf-8?B?RG1iS0k1c1BmVnFZb0E3UW1zYXhqMWRlY0JVa1hmWUUyY3RZdk1adjNHZVhF?=
 =?utf-8?B?R1V3SzRpL0FaK2E3em1UR0lwNS96V2xEekpsK1VaTng2ZnR6ajk2MVdjSW5i?=
 =?utf-8?B?cmNDSnZDUDRWL2N0dGtFb0tlM05JNHU5blgvYWhKSC9DcGtoVklFL1U5UlZG?=
 =?utf-8?B?ek12VXhzc2hTaXU4NUw5U2FLNWZnbjlKS294ZUo1RTB2U0FvNnJWbGhrbTNJ?=
 =?utf-8?B?VG5iWHhTZHRoQWRPMDdnWHhndTBRRHBVaVg4cVJyc1d1clFiRDRkRlMydmlQ?=
 =?utf-8?B?Q05WOU1UMGNVUnRSQnMwUzFOcEUyRGJIa1A4SS93dndqQXRqMmE1NVpkYndP?=
 =?utf-8?B?L21vTWVRSG1XME90eGhYNFNDWnU5RWpjWEZieDUyZFN5VEswbHEzYnE5R0RG?=
 =?utf-8?B?dlRCYTdMRkIrQVY4OHJkQTVVNzZLR2diNkZmczkzVXd6dkczSDdOZlhJK3Jv?=
 =?utf-8?B?T0xkMW9VK3VYcEJhOGZvNHFxK3BtaHJBUm1GNzRKOWEwUlZEYThiMmxFTlJ6?=
 =?utf-8?B?bGl1cFFJN3BQMGNNZGFPVlkzbzdJS0QvamtsSUJzRnlFMkVKQWpmN292YmdR?=
 =?utf-8?B?Vi9MOHZudTljNld5Wnl3TTRWYkhpQmV4R29zRFpKNHBRRy9lcTMvMjFadUFO?=
 =?utf-8?B?N2hEQ1RDVkE3MzBxQ3gxOUpPN0xVb1ZBUmhXOS9HemZrbFY1VU9VQ2ltL3oy?=
 =?utf-8?B?Sit2aHpJaTVobkVCc000YkMzRzlkNnFsVEZnQ3o2T1E1aWFMNU5hYnhsbHZK?=
 =?utf-8?B?ZllxL1JsaExyenIrL0FDSXFZWkxMREtWemk2bkduRXdaSGFQaTNXODFWNzda?=
 =?utf-8?B?UHJXNjd4SS9xUFcrb0xkWTlsNGRCaEJ0Z1p1ZEFpNkV3aWJVZjZQbXZ4VzRm?=
 =?utf-8?B?OGljaG5qTnM3UHpBNk02ejdnbTdLTFdDM29uRlRLd0RjUXNTeWl0YWJnT2JH?=
 =?utf-8?B?U1JFM1NDbUtSZndYYnpTelJyOHpFcXFmQmFNL1BNeSt6ZkxvamlVQkJxcTFD?=
 =?utf-8?B?MkVHUDdlSXZoUUttUks0T1dsaW1wdGVxdTMxcnlZZDBZUFlDYlRHQUVJMkxV?=
 =?utf-8?B?dE96WjlGWnFQT0czZmxnWWlLeml5aDViRW14b2FwdGJiMHYzVHo2OVVVNEpB?=
 =?utf-8?B?TG1XNTk0eUhONXlzNFRxcFl6Y2djSmlHcmNKdTBpTlFMTVBrVzA1eEF3VHR2?=
 =?utf-8?B?bGt3SkxQRHV3d2haNmhyaWZkYk5MSDF6cXRpQ0c1Q1RiTGlDaDMva1VRbUxP?=
 =?utf-8?B?Wk5yb2ZBaGpjdXZ3UFVwVmNGVVU2NU95N1hiWEhDa1dXSW5tNm9MZE5xTU5U?=
 =?utf-8?B?U0dBcTA3SjMvVml1ZkJWSjJyL05FZ25uUzhRaGI2MzNZWWovcm9wZS9hcDZv?=
 =?utf-8?B?ZGN1RTNQampncWRYREFaOTVJeEFDZ0o4U2xyT0czRnNwbWo3aFJ2dUhSc09D?=
 =?utf-8?B?YmtCZVRzYndjRjZ4bDMwby9mdnUwSmFyWmJqdFR2TSt2eVBkd2FsRWZQbTFz?=
 =?utf-8?B?SExRUWg2OUtaRit4NVU5N0ZiMG1nZmlYdWVrWUJ0cDdMZ3N0TG14MUpZb1pH?=
 =?utf-8?B?azlaU1Bzak95UjI4bjZjcG5PRENRZllHc0FNNXBtZXNPdWhDN2FyWXlnZG5M?=
 =?utf-8?Q?18Y0ba4BxMvXGCURTgHiQgE4yedmms=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 19:36:43.9389
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f3b7c3c-d211-470f-abcb-08dd5ce639e9
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0001709B.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7644

On 5/23/24 03:48, Roger Pau MonnĂŠ wrote:
> On Wed, May 22, 2024 at 06:59:23PM -0400, Stewart Hildebrand wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>
>> There are three  originators for the PCI configuration space access:
>> 1. The domain that owns physical host bridge: MMIO handlers are
>> there so we can update vPCI register handlers with the values
>> written by the hardware domain, e.g. physical view of the registers
>> vs guest's view on the configuration space.
>> 2. Guest access to the passed through PCI devices: we need to properly
>> map virtual bus topology to the physical one, e.g. pass the configuration
>> space access to the corresponding physical devices.
>> 3. Emulated host PCI bridge access. It doesn't exist in the physical
>> topology, e.g. it can't be mapped to some physical host bridge.
>> So, all access to the host bridge itself needs to be trapped and
>> emulated.
>>
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> 
> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> One unrelated question below.
> 
>> ---
>> In v15:
>> - base on top of ("arm/vpci: honor access size when returning an error")
>> In v11:
>> - Fixed format issues
>> - Added ASSERT_UNREACHABLE() to the dummy implementation of
>> vpci_translate_virtual_device()
>> - Moved variable in vpci_sbdf_from_gpa(), now it is easier to follow
>> the logic in the function
>> Since v9:
>> - Commend about required lock replaced with ASSERT()
>> - Style fixes
>> - call to vpci_translate_virtual_device folded into vpci_sbdf_from_gpa
>> Since v8:
>> - locks moved out of vpci_translate_virtual_device()
>> Since v6:
>> - add pcidevs locking to vpci_translate_virtual_device
>> - update wrt to the new locking scheme
>> Since v5:
>> - add vpci_translate_virtual_device for #ifndef CONFIG_HAS_VPCI_GUEST_SUPPORT
>>   case to simplify ifdefery
>> - add ASSERT(!is_hardware_domain(d)); to vpci_translate_virtual_device
>> - reset output register on failed virtual SBDF translation
>> Since v4:
>> - indentation fixes
>> - constify struct domain
>> - updated commit message
>> - updates to the new locking scheme (pdev->vpci_lock)
>> Since v3:
>> - revisit locking
>> - move code to vpci.c
>> Since v2:
>>  - pass struct domain instead of struct vcpu
>>  - constify arguments where possible
>>  - gate relevant code with CONFIG_HAS_VPCI_GUEST_SUPPORT
>> New in v2
>> ---
>>  xen/arch/arm/vpci.c     | 45 ++++++++++++++++++++++++++++++++---------
>>  xen/drivers/vpci/vpci.c | 24 ++++++++++++++++++++++
>>  xen/include/xen/vpci.h  | 12 +++++++++++
>>  3 files changed, 71 insertions(+), 10 deletions(-)
>>
>> diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
>> index b63a356bb4a8..516933bebfb3 100644
>> --- a/xen/arch/arm/vpci.c
>> +++ b/xen/arch/arm/vpci.c
>> @@ -7,33 +7,53 @@
>>  
>>  #include <asm/mmio.h>
>>  
>> -static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_host_bridge *bridge,
>> -                                     paddr_t gpa)
>> +static bool vpci_sbdf_from_gpa(struct domain *d,
>> +                               const struct pci_host_bridge *bridge,
>> +                               paddr_t gpa, pci_sbdf_t *sbdf)
>>  {
>> -    pci_sbdf_t sbdf;
>> +    bool translated = true;
>> +
>> +    ASSERT(sbdf);
>>  
>>      if ( bridge )
>>      {
>> -        sbdf.sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
>> -        sbdf.seg = bridge->segment;
>> -        sbdf.bus += bridge->cfg->busn_start;
>> +        sbdf->sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
>> +        sbdf->seg = bridge->segment;
>> +        sbdf->bus += bridge->cfg->busn_start;
>>      }
>>      else
>> -        sbdf.sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
>> +    {
>> +        /*
>> +         * For the passed through devices we need to map their virtual SBDF
>> +         * to the physical PCI device being passed through.
>> +         */
>> +        sbdf->sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
>> +        read_lock(&d->pci_lock);
>> +        translated = vpci_translate_virtual_device(d, sbdf);
>> +        read_unlock(&d->pci_lock);
> 
> I would consider moving the read_{,un}lock() calls inside
> vpci_translate_virtual_device(), if that's the only caller of
> vpci_translate_virtual_device().

This is a good idea.

> Maybe further patches add other
> instances that call from an already locked context.

In a downstream, we're calling vpci_translate_virtual_device() to
enable PCI passthrough for PVH domUs on x86. In that case, moving the
lock would be equally beneficial.


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 20:20:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 20:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904008.1311914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqHhI-0002pn-Dq; Thu, 06 Mar 2025 20:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904008.1311914; Thu, 06 Mar 2025 20:20: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 1tqHhI-0002pg-Ak; Thu, 06 Mar 2025 20:20:00 +0000
Received: by outflank-mailman (input) for mailman id 904008;
 Thu, 06 Mar 2025 20:19: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqHhH-0002op-3D
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 20:19:59 +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 5d8643df-fac8-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 21:19:54 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43bdcd0d97dso6569715e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 12:19:54 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8dbb2fsm29445785e9.20.2025.03.06.12.19.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 12:19:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d8643df-fac8-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741292394; x=1741897194; 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=QNhuGevp/Q5Oe5jwsfQAWTFma5vvixKS8s/lz47rS/U=;
        b=uLRmBdTHkdaYqHxScyW0AGcusJqvewxBarjEeTJEmua116zU2elcSljof6YYecrzW1
         ZXRQXdcZxvpMMMg+R8Kd97RPYbJF+2cIDcOISQAHc7joAWtMTy9nLWOcUExoLWPT6/ML
         yXH67UQjJ8CgkBMqYuvunvW/4gju0KfcFSsFE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741292394; x=1741897194;
        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=QNhuGevp/Q5Oe5jwsfQAWTFma5vvixKS8s/lz47rS/U=;
        b=Iw+7lbtV2mMxK4uM8qzuCRO47Jx6mbGbq7nL51h26qYNpIHAdkUJp4t0Q28mp289iz
         qjMva1c0dwatvaNP25bxTVjZlYCQtlHF3BM09bImVIsQ/j4/YmhFwvRR6xhKy+hyqpsP
         cO5eWVLOr/VyU/+v1t9tPr62svVjMRfKxjWRWayZpdked0K07UOGc6Ylzklr2wnh3ZLK
         lGdtAXCUAAUcao4rR5d2BOj1BcsKD9XtZbpY1GrFTJQedHc7qftzbi/OGrjMxQyMo94t
         PN+cdQuUuSedvRKvX96dp/89Bs4zbkiKEyjyEq8iIP993dk62ucZ2qjcKBovqgt3C4ZS
         eWwQ==
X-Forwarded-Encrypted: i=1; AJvYcCWAEHiOtpaodm/iewiEv2kmDf4VDWbQO4ri6B6Cd4oh/7JujqdTEZ+w1jNLH9u01Yx/M/10TCTZbs0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxhRpNq+V3CLWJL5S8fFguAT111OURY+oK7kqGnj/JO9yNCyHUT
	i2U1Pml016o9SHUJLVvobEPo9Mbs0d7Ug2qvUYFXIg229k0RiHJTS4MOKltPVbUK69nnfb1Tvwc
	O
X-Gm-Gg: ASbGncsCYKup32kPlbpUym9yHn+3i6pv/MsI/1iiy5dRxyIncrlwiur37KpNNR1ALLZ
	6GSe0iUPtMmqXgt1yloBcZNayPNHhJLT+AIMoGPbpcPGO8dJFpSBZ1XPu2tL4LRH9fuuGAB7eWo
	ukXasnqX6dStVH5NIDgY6z2/HTzjEuYrZdd6cijiPBXtYybos0QAowSFz12EcuAhmJ38zW5dvOC
	MhWFWR+10PwYUOEylZzuqYuALm00jmt1Vp9PufaHLrSKi0IR2kHVlg2bfF4fyIkBbSq6M1qd2DS
	AfvDXMj5Ch7J4eQFMmytBmZ5AkkzAFNEUMBPDRdtNHMGBeOlK1JnTPB1ojWbj1vwG3q7yJJrqFg
	fUcnK0sXC
X-Google-Smtp-Source: AGHT+IEjS7dA1ImOAqlpnVtrl5wgMaCGCiVApWb2c6vjh+H68V2XRfqATA1fvjEvAlLF1422eAfc2A==
X-Received: by 2002:a05:600c:3545:b0:43b:c5a3:2e1a with SMTP id 5b1f17b1804b1-43c601cdb15mr6501615e9.2.1741292393617;
        Thu, 06 Mar 2025 12:19:53 -0800 (PST)
Message-ID: <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
Date: Thu, 6 Mar 2025 20:19:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@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: <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 7:34 am, Jan Beulich wrote:
> On 28.02.2025 17:24, Andrew Cooper wrote:
>> On 27/02/2025 8:11 am, Jan Beulich wrote:
>>> On 26.02.2025 18:20, Andrew Cooper wrote:
>>>> --- a/xen/arch/riscv/include/asm/bitops.h
>>>> +++ b/xen/arch/riscv/include/asm/bitops.h
>>>> @@ -125,6 +125,13 @@ static inline void clear_bit(int nr, volatile void *p)
>>>>  #undef NOT
>>>>  #undef __AMO
>>>>  
>>>> +#define arch_ffs(x)     ((x) ? 1 + __builtin_ctz(x) : 0)
>>>> +#define arch_ffsl(x)    ((x) ? 1 + __builtin_ctzl(x) : 0)
>>>> +#define arch_fls(x)     ((x) ? 32 - __builtin_clz(x) : 0)
>>> I fear you won't like me to say this, but can't we avoid baking in yet
>>> another assumption on sizeof(int) == 4, by using at least sizeof(int) * 8
>>> here (yet better might be sizeof(int) * BITS_PER_BYTE)?
>> Yes and no.
>>
>> No, because 32 here is consistent with ARM and PPC when it comes to
>> arch_fls().Â  Given the effort it took to get these consistent, I'm not
>> interested in letting them diverge.
>>
>> But, if someone wants to introduce BITS_PER_INT to mirror BITS_PER_LONG
>> and use it consistently, then that would be ok too.

Oleksii: I see your patch is committed, but when I said "use it
consistently", I meant "patch ARM and PPC too".
> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
> retain a shorthand of that name, if so desired, but I see no reason why
> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)

The concern is legibility and clarity.

This:

Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)

is a clear expression in a way that this:

Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)

is not.Â  The problem is the extra binary expression, and this:

Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)

is still clear, because the reader doesn't have to perform a multiply to
just to figure out what's going on.


It is definitely stupid to have each architecture provide their own
BITS_PER_*.Â  The compiler is in a superior position to provide those
details, and it should be in a common location.

I don't particularly mind how those constants are derived, but one key
thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.

The following files use BITS_PER_LONG preprocessing:

arch/arm/include/asm/div64.h
arch/x86/cpu/mcheck/mce.c
arch/x86/smpboot.c
common/bitops.c
common/coverage/gcov.h
common/coverage/llvm.c
common/cpu.c
common/event_channel.c
common/time.c
common/ubsan/ubsan.c
include/asm-generic/div64.h
include/xen/cpumask.h
include/xen/inttypes.h
include/xen/nodemask.h
include/xen/sched.h
include/xen/xxhash.h
lib/find-next-bit.c
lib/generic-ffsl.c
lib/generic-flsl.c
lib/generic-hweightl.c

And I really don't think they can be replaced with a sizeof().

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 20:23:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 20:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904017.1311924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqHkJ-00055O-QY; Thu, 06 Mar 2025 20:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904017.1311924; Thu, 06 Mar 2025 20: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 1tqHkJ-00055H-Nt; Thu, 06 Mar 2025 20:23:07 +0000
Received: by outflank-mailman (input) for mailman id 904017;
 Thu, 06 Mar 2025 20:23: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqHkI-00055B-Ls
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 20:23:06 +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 cfae5098-fac8-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 21:23:05 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so32009f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 12:23:05 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c0193bfsm3064474f8f.55.2025.03.06.12.23.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 12:23:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfae5098-fac8-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741292585; x=1741897385; 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=YmN86OJEvdahQBeRbgX+nPyW1WbN/rldMxH5sKyuoXA=;
        b=aya7RsCayIFj/wZKznJiF9/BPi7KWiOooz1FnNo2rX2jrT/ZUnUdidu2OY/iqh7dce
         TYb78WM/lp4CLfaz11vsS63tZN455qRmm5k67lEgmwyIGI6Dpbm4hmv6Y55YuSxOSF/P
         S9NamagC5htglE4B1qnP3ZerFKsj5bo6vThn8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741292585; x=1741897385;
        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=YmN86OJEvdahQBeRbgX+nPyW1WbN/rldMxH5sKyuoXA=;
        b=vnfDWdLkGVtzDytjEmf5vlmz/TlMuhGFs6r2zwP0UNJ8jA+DvaJ1GBGLvbT+WjY96H
         ETLaNmeQ6L7V1LX+K10HlVJouOjAXZhblESB/GvFyZuin1rJeMb6J5r3AAaTcN//BYN6
         1LubC7AVBBzMCmKj5bQ3e2H6+bxMjzSVss/XhglZryI6sw0X6iCCHWW8PT3N12a763Fm
         7PQzm00iPekz6EBRIDBQdW40bxXvMXye0KzVSlx4w5RVvOpx0IKfEGVID7mbjZwvSxwT
         Eps4PrfdtaithYTMThLOS9nLrNa47ZkFyhmxL0/EJEOnVoZ/BZrMufgVBSAo0Zn7vquM
         0xSw==
X-Forwarded-Encrypted: i=1; AJvYcCURZMnUvqM5eQPyAAeqUDAA425F3saBjfNDXNGjhM3veLFTN4/kmiuYInzcSSjCuzcDzs58+FP11Qo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSGXyAPSsYcrkhpoLVZVly7c5MsmuqkIOJbjFcyxXqtLY4vNap
	fAfAXxx3N88nvyOc5T0IRoL+/6y2Q3JrpYb+4im6oPMO2nslyUi74C0PLUrQIWY=
X-Gm-Gg: ASbGncujtMVcmY6H3EBQUTNuKd70isKfnjpjoJsHRu4wp08WQAn5tpvJCnF9ytVqAk/
	WFcPF7krELZItyUgw74vkCefnGMtKHpKjCYYCx75GjkYamPT1NmEWGcyS1ZJUe668tVzx6nWeIB
	SOzjjg1I3BhcLUx9gG4n60yiFzxSlUPqtlRsx7pVzOf78pTgU0jAXH1+W5oj004IWaJnpZFo1EH
	oIM6CSw58YKdCr/0uwggM2sG5d1vO4eeoZmsXcQMCW8H1aKaf4356dqEMQsQcE2JbTIlJa5XOfk
	D8NyM/5xUS2zKLsUtqxXc8IKJgcfdg5ZB/uJV0iV+5rp2F62LECve5bl5o3bhDRj1+vCTFz/Nyn
	tvoXrvKpN
X-Google-Smtp-Source: AGHT+IGSsNhfbVN+otKz6XbVyidTcb5YGEAJ6Fm/WfXzbpKRiFu+FHQ1vy5DiRQHUWkV4Dy7rZEw4w==
X-Received: by 2002:a05:6000:1545:b0:390:f9d0:5e4 with SMTP id ffacd0b85a97d-39132d513c9mr415375f8f.21.1741292585217;
        Thu, 06 Mar 2025 12:23:05 -0800 (PST)
Message-ID: <356b3bbd-b6fa-42c6-adda-aa286033c793@citrix.com>
Date: Thu, 6 Mar 2025 20:23:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libs/store: use single_with_domid() in
 xs_get_domain_path()
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250305085536.26311-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: <20250305085536.26311-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05/03/2025 8:55 am, Juergen Gross wrote:
> xs_get_domain_path() can be simplified by using single_with_domid().
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 20:26:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 20:26:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904025.1311934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqHn5-0005eO-75; Thu, 06 Mar 2025 20:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904025.1311934; Thu, 06 Mar 2025 20:25: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 1tqHn5-0005eH-4O; Thu, 06 Mar 2025 20:25:59 +0000
Received: by outflank-mailman (input) for mailman id 904025;
 Thu, 06 Mar 2025 20:25: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqHn4-0005eB-37
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 20:25:58 +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 352a2604-fac9-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 21:25:56 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-39104c1cbbdso633135f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 12:25:56 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdff57sm3121608f8f.37.2025.03.06.12.25.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 12:25:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 352a2604-fac9-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741292755; x=1741897555; 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=zsQEXenOUTs47C+xftYn6ATvYNZ3NiQAPYk4EFnyEc0=;
        b=WBs9Kj5Mux1UXcF89IVWqIiH8qRLX5lMPRR596lN+ch1hJ8vDX7M9zz3ac8GbInzsi
         ZxMHRqnohDHqczvqRhiV7QMC7oPZYBuRwR3Na3uqtrwF8OmB+B7wRNvDwdN1kGqgV4hE
         xg7TesDH+chs634evq1qnu6xXyTEg8t1iA/5k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741292755; x=1741897555;
        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=zsQEXenOUTs47C+xftYn6ATvYNZ3NiQAPYk4EFnyEc0=;
        b=jo8RkhDW6MxZ015mjFT2qw377dJqKLa+1Zwqk7geLpXkDvRM43+CHJHo79CNezn/MP
         iD1Op0dLtvvq1wseC7CSUwlrDuuHStfWHcJX0XJysyT+E0hoJqnzqrhz09uc5sGGCVhf
         3sZXorE1p81K9flVi9da9Ki4DbdNTc5t22tXy/c8Mwn+ubmnD0+7fcXdNR+f+CdGTAGL
         WnS2/rRfdfbicTyCnwjZbYpeL1d3ugWUzeAz/d0SGo3ISZkfjc1uK20MXe0VBeK9BkW4
         N/0SxUBKq7pknA/2y0Y84DHXR4UpREk6xedR4vSkR12P3ML/haIntwfp0xC1RqHPcpyh
         Nieg==
X-Forwarded-Encrypted: i=1; AJvYcCVcXDaxk1sgbmNYPNg6jukezG0TnMmnjnqpHnKvv1EMI6D62UjB3BlqmlrKHFwstGI3kDbej69U4fg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxI8Qaiy6lNpHelkD+WflDnMDd/SlckQbBLgOl+8PCWsmxwKLoY
	XdTEWX/x88cBwhaPSSzXUKqwhuveMQBPBWQQX2fns9eqjhJSRf0kTuCsYen87ek=
X-Gm-Gg: ASbGncuIKju81IpdReaRXtw30K7T9z9tjmCC7UjrbyG3JREXi1FbQvbENbFoS8wYmi4
	oA8xpySY76c6okQH+DSX5JRo3gbiaiKq4OBmgo8lUeZ+Qa+QmjFl/1t7EsR4bWqu7VZ2eQnIbrz
	c42MF+if3yLNa3ttCVZTic91IiLkHl8B6S0o1ciglBCdJhKDT/ot60MaFsJcywXKZDBV7fVSq09
	G0+vL+BoKxD+OfUBFkjr4RTywTbLCedVChf8mcj8HBzYXTWHpliRCGXflxjyaee41Pt0iRt1nB8
	YbtixaEJGSXGu9x0t4QoH4J5L4uhZaZUsDPKQlF0cNaSqUUNE2J29RS645t4aAnt7YYEhYnj7gG
	vxXcvKgt5
X-Google-Smtp-Source: AGHT+IGcJXYKrWjP9l2md5S1zzO40Vga8xn8Ack/aDb+r7gRrvrMvdNgAF7aPsgogbGVQ2SVZdASdw==
X-Received: by 2002:a5d:598d:0:b0:391:23e6:f09b with SMTP id ffacd0b85a97d-39132d8f220mr441274f8f.27.1741292755506;
        Thu, 06 Mar 2025 12:25:55 -0800 (PST)
Message-ID: <93b94674-f669-4e3b-9b83-d63b3e504310@citrix.com>
Date: Thu, 6 Mar 2025 20:25:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/watchdog: Identify which domain watchdog fired
To: Jan Beulich <jbeulich@suse.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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
 <20250303232941.2641306-3-andrew.cooper3@citrix.com>
 <7fc9ee31-dfce-4fba-ac11-4d6ff2acc2f9@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: <7fc9ee31-dfce-4fba-ac11-4d6ff2acc2f9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 9:27 am, Jan Beulich wrote:
> On 04.03.2025 00:29, Andrew Cooper wrote:
>> --- a/xen/common/sched/core.c
>> +++ b/xen/common/sched/core.c
>> @@ -1534,12 +1534,19 @@ long vcpu_yield(void)
>>  
>>  static void cf_check domain_watchdog_timeout(void *data)
>>  {
>> -    struct domain *d = data;
>> +    /*
>> +     * The data parameter encodes the watchdog id in the low bits of
>> +     * the domain pointer.
>> +     */
>> +    struct domain *d = _p((unsigned long)data & PAGE_MASK);
>> +    unsigned int id = (unsigned long)data & ~PAGE_MASK;
>> +
>> +    BUILD_BUG_ON(!(alignof(d) < PAGE_SIZE));
>     BUILD_BUG_ON(alignof(*d) < PAGE_SIZE);
>
>> @@ -1593,7 +1600,17 @@ void watchdog_domain_init(struct domain *d)
>>      d->watchdog_inuse_map = 0;
>>  
>>      for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
>> -        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, 0);
>> +    {
>> +        void *data = d;
>> +
>> +        BUILD_BUG_ON(NR_DOMAIN_WATCHDOG_TIMERS > alignof(d));
>         BUILD_BUG_ON(NR_DOMAIN_WATCHDOG_TIMERS > alignof(*d));

Well, that's embarrassing.Â  That explains why I was having issues, and I
was clearly asleep when writing...

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 21:29:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 21:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904035.1311944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqImA-0000KY-Lu; Thu, 06 Mar 2025 21:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904035.1311944; Thu, 06 Mar 2025 21:29: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 1tqImA-0000KR-Ii; Thu, 06 Mar 2025 21:29:06 +0000
Received: by outflank-mailman (input) for mailman id 904035;
 Thu, 06 Mar 2025 21:29: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqIm9-0000KL-Ep
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 21:29:05 +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 067fc71d-fad2-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 22:29:03 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4394036c0efso6907915e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 13:29:03 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c1037bfsm3165902f8f.96.2025.03.06.13.29.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 13:29:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 067fc71d-fad2-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741296542; x=1741901342; 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=ePZsY2YPqfwv5T7iRc2mfz+Cu0h7RJAvx8epUW+pRqU=;
        b=NVvfrcJ0FRv1+WxSLrSX4/VnxtppoHSxMnDit9mwMUAFabIiE3GnY+WtIMNiOhqB3o
         0l/aSytmW+c6k29/7mckXNM2Kqw+3RIv4MI3BdwzbFWbn3vXEnN2rd1XQ7o3Qy3dmF4W
         b5/vqFQiV6fas+SJO5nQW7A16wUwM0i+MxYj8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741296542; x=1741901342;
        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=ePZsY2YPqfwv5T7iRc2mfz+Cu0h7RJAvx8epUW+pRqU=;
        b=AGGECtp8nx0j2rRm7Y3CWMbhjdl+BuI+vO+MbKZgICmtWYlgDeAnP9lHxrZ03IyDYU
         0eL3awSOApRBKZ+bmAOsX7XIvbb5zgwbHPhoPBqWZZ9Gj8o71IFNRPfgo3ps2X1nz/2L
         myzhEiHOa84Rnl+kU9/6dJABGcOiHW7SqEdP9/idVM8FhBbxgbyUekeUiXSi7J7ffyTe
         zubsLZ42Nxf5SpXEcanAYk3FGQZFE0h4Jb9P0VgTqI1moHjKAJI3pWrOT1K6po1BsVdq
         LXosLEz3UbCj7NlCPkJDoBsaP0RBUN23CxNFJxNdRFZR0KRoZ9EOkjdrVdGwbEGJlN/d
         194g==
X-Forwarded-Encrypted: i=1; AJvYcCVr73LhEdoHagcClul/UJDIoJ1aQ6W2uSqf9Ja3P3pQ5VJCzTUpb99ttfGwJ2r9XgmCERp54sKeW68=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyF9zytGs0uHpgqlZh1D54nrE52jApDN1VZdcWyWMswsjGs+e/p
	kVN1/9Wze45TpsNJWW09KAWPrwcrf8uQ4qKgUYLVxKCv5HGX3AhJn3XPTICWcz4=
X-Gm-Gg: ASbGncvtLiMJtfIxtVKgJRQd2fLPanKDWhVrf4LeegQ2UhAPIXLszOC7zaB3aZJnJZZ
	u+lquxe52UxX2h4xeg/8rdQ473rNvanN0O2zNswl+Hhn049+n1a8S/glIwgrG3kKXMBxUpu//oo
	3sn1ECG7Z4e9qOB4exv3fCOafBHkzb8L672LU4F8oBn7pO0+G0/ndmREzFfWTH/mcgqrbS+8kQr
	86Prr+XKEbImGEkho4hsdaYBpdb6YNncolKmQ+uiqL5stSH5QYuCrZgNaed8v/bLNzoDfd+6/em
	jHz1QGrIoofVaA3oBTyPyTEjR9RkskotfZOCEumlFkClvQYaJccCpsaPa9YSrjzq96ceienik5Q
	XIev6CmfH
X-Google-Smtp-Source: AGHT+IFZJFB2e46X8r7vydaRizOOUaKwtIi82BHda2iaQYExYNrjP0ienWROv1NDsz+h7QGCZKwZSw==
X-Received: by 2002:a5d:6c6d:0:b0:390:f641:d8bb with SMTP id ffacd0b85a97d-39132d98b62mr478689f8f.36.1741296542686;
        Thu, 06 Mar 2025 13:29:02 -0800 (PST)
Message-ID: <7da64dd1-2510-440f-b165-f64c0a873575@citrix.com>
Date: Thu, 6 Mar 2025 21:29:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/domain: Annotate struct domain as page aligned
To: Jan Beulich <jbeulich@suse.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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
 <20250303232941.2641306-2-andrew.cooper3@citrix.com>
 <abffca04-ca4f-4d62-8c2d-c687550ca8c3@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: <abffca04-ca4f-4d62-8c2d-c687550ca8c3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 9:23 am, Jan Beulich wrote:
> On 04.03.2025 00:29, Andrew Cooper wrote:
>> struct domain is always a page aligned allocation.  Update it's type to
>> reflect this, so we can safely reuse the lower bits in the pointer for
>> auxiliary information.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>> CC: Dario Faggioli <dfaggioli@suse.com>
>> CC: Juergen Gross <jgross@suse.com>
>> CC: George Dunlap <gwd@xenproject.org>
>>
>> v2:
>>  * New
>>
>> Interestingly this does cause two changes in the resulting binary, both caused
>> by GCC electing to use a more complicated addressing mode to save one ADD
>> instruction.
> That's on x86, I suppose?

Yes.

>
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -645,7 +645,7 @@ struct domain
>>      unsigned int num_llc_colors;
>>      const unsigned int *llc_colors;
>>  #endif
>> -};
>> +} __aligned(PAGE_SIZE);
>>  
>>  static inline struct page_list_head *page_to_list(
>>      struct domain *d, const struct page_info *pg)
> I understand struct domain is where you need the annotation right away, but is
> there a reason not to do the same for struct vcpu right away?

struct vcpu is more complicated.Â  It's multi-page on ARM, and I have a
strong suspicion that alignment is going to have to change away from
PAGE_SIZE for architectures wanting to use larger page sizes.

e.g. with 64k pagetables, I expect these will still want 4k alignment,
and therefore they'll all want changing. i.e. I'm probably creating less
work for someone in the future by not annotating struct vcpu. ~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 21:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 21:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904053.1311953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJBC-0005Qk-NB; Thu, 06 Mar 2025 21:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904053.1311953; Thu, 06 Mar 2025 21: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 1tqJBC-0005Qd-KN; Thu, 06 Mar 2025 21:54:58 +0000
Received: by outflank-mailman (input) for mailman id 904053;
 Thu, 06 Mar 2025 21:54: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=Wead=VZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqJBB-0005QX-Af
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 21:54:57 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1129cae-fad5-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 22:54:51 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id C3117A439A2;
 Thu,  6 Mar 2025 21:49:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 498DDC4CEE5;
 Thu,  6 Mar 2025 21: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: a1129cae-fad5-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741298090;
	bh=FvaRyoUiQiSSX2z7zS/W5T6Th1UUzFZ2jc6uDYOMC7A=;
	h=Date:From:To:cc:Subject:From;
	b=sQt1MbXtkr/6/V9/EqcF9h8LAHCicC2lzsJp8RscQND3kiM05nLpGkyK9PM3NVfJr
	 Xl2yiTJ9XQ1kmhnxiV6hlwKZRZbw4FvWR78aY0jkzu2aSfXmAdFTKc8prQ3uhss5dF
	 dGHmFWPN/rf+Ltry4Gswl7zu1BgjoERBwh6VmPCcoWHjYsnmgABw/FOA3H7Mw6/9/h
	 6WaYOjtpYaTHg+k1P8FAZpbfFe38scGajsHb4FtMgI/oFEn3wBD9sBuqRBD8kq4cAL
	 qX0J6MaL92nwul5zoOFpf19N2FqqwO52aDRfPxxMgtE9Hbzs5OTePUKeLsr05TmPKD
	 pUCWRVDCOXVVA==
Date: Thu, 6 Mar 2025 13:54:48 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    marco.demi@resiltech.com, andrew.cooper3@citrix.com, 
    "Lira, Victor M" <VictorM.Lira@amd.com>
Subject: [PATCH] docs: hardware runners setup
Message-ID: <alpine.DEB.2.22.394.2503061354430.1303386@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

Document how to setup a new hardware runner

Signed-off-by: Victor Lira <VictorM.Lira@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/docs/misc/ci.rst b/docs/misc/ci.rst
index 7aee55c5d2..ef3f183153 100644
--- a/docs/misc/ci.rst
+++ b/docs/misc/ci.rst
@@ -19,6 +19,49 @@ After getting access to relevant runners, few extra changes are necessary in set
 2. Expand "Variables" section and add ``QUBES_JOBS=true`` variable for Qubes runners.
 3. Go to Settings -> Repository, expand "Branch rules" section and add a rule for protected branches - only those branches will get tests on the hardware runners. It's okay to use a pattern for branch name, and it's okay to allow force push.
 
+How to Set Up a New Hardware Runner
+***********************************
+
+A hardware runner is a GitLab runner designed to execute Xen tests on real hardware, such as an embedded board or a laptop. The GitLab runner runs on a controller PC, which is connected to the target board used for Xen testing. The controller PC can be any system, from a workstation to a Raspberry Pi.
+
+Steps to Set Up the Controller PC:
+
+1. Install the Docker service
+   - Follow the instructions at: [Docker Installation Guide](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository)
+
+2. Install the GitLab Runner service
+   - Follow the instructions at: [GitLab Runner Installation Guide](https://docs.gitlab.com/runner/install/linux-repository/#install-gitlab-runner)
+
+3. Register the runner with GitLab
+   - Generate a runner token with a specific tag to identify it.
+   - Run `gitlab-runner register` and enter the token. Accepting the default settings is sufficient.
+
+These steps are common for setting up any GitLab runner. However, for hardware runners, additional configurations are required to enable the controller PC to:
+
+- Power on and off the target board.
+- Connect to the serial interface of the target board.
+- Establish an Ethernet connection with the target board.
+- Run a TFTP server with a TFTP root directory accessible by GitLab container tests.
+  - This allows the test script to place binaries, such as Xen, in the TFTP root before powering on the target board.
+
+To enable the required capabilities, edit the GitLab Runner configuration file located at `/etc/gitlab-runner/config.toml`:
+
+- Map the TFTP boot directory.
+- Map the serial device of the target board.
+
+Example Configuration:
+
+    volumes = ["/scratch/gitlab-runner:/scratch/gitlab-runner"]
+    devices = ["/dev/ttyUSB0:/dev/ttyUSB0"]
+
+After making these changes, restart the GitLab Runner service:
+
+    gitlab-runner restart
+
+This completes the setup of the hardware runner. The system is now ready for executing Xen tests on real hardware. As an example, to execute tests on an AMD x86 embedded board, we currently use the following script:
+
+    automation/scripts/xilinx-smoke-dom0-x86_64.sh
+
 Selecting individual tests
 **************************
 


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904066.1312004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJJw-0001PL-Oc; Thu, 06 Mar 2025 22:04:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904066.1312004; Thu, 06 Mar 2025 22:04: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 1tqJJw-0001PA-Kl; Thu, 06 Mar 2025 22:04:00 +0000
Received: by outflank-mailman (input) for mailman id 904066;
 Thu, 06 Mar 2025 22: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJJu-0000Ss-KP
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:03:58 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060c.outbound.protection.outlook.com
 [2a01:111:f403:2405::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6811f38-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:03:58 +0100 (CET)
Received: from IA1P220CA0003.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:461::9)
 by SJ0PR12MB8613.namprd12.prod.outlook.com (2603:10b6:a03:44d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 22:03:54 +0000
Received: from BN3PEPF0000B370.namprd21.prod.outlook.com
 (2603:10b6:208:461:cafe::e3) by IA1P220CA0003.outlook.office365.com
 (2603:10b6:208:461::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.18 via Frontend Transport; Thu,
 6 Mar 2025 22:03:53 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B370.mail.protection.outlook.com (10.167.243.167) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:03:53 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:52 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:03:51 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:51 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6811f38-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KDdLn3x0xZvWp+BBu29v9ubuzXeNuoS7x6Ggq836IbwpRfbgj38URBKEWJb4qkcR+skGpeI/djs/6xhQnEuaP14msJ2vGJbOvE1QhphCt4UJRfFyWQ7dDZNhc1lQOzIoZJ8qCSWkF9iF/7cX8YGHuqSS3eH9UL9wKgMxAtDtQer7JMPc18mSSRHSK5D+UJwGy/KbIYb+snq546OtI1YvhTxBsJArG6Q54Tza+wxlr7CYBthZIc7fDRG9L9P57PPHMnC2atuTWF/dZAq1f6341Sw+lfJXs8u7+ESBbfSUw30EXhEROwVK0L0/is5EeGKgOWL7n0PhqVzc+UhiXw/9cQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=obVZmGGT/+U9RfcJU0aGZukVfIOb/dDv2A9zwFbu3y8=;
 b=lx3o9g93VzlKwzQI3pmHR6yG02kBe+xqIr0xev76H2TshxW1Y/iFMGR9AyWieRqn81HRGadtZQhNKXKovBwE2ZHyBcLtMqZsWorVUdcZrmX2lncbGVtmpGXthEdem3JWAXa32NrbVY5X/zI8oixtFYnRT2omHbQ8XU7Oi7iU6Y9fE3HoB1asFSOYKj5ScI3BGaf603jgeGVlt4qPq8GrzEAVa1rVjdhs6rFMMsf/+YpVrlWvbkQ2YvaNIIBqTsCiuRjAhyGFaLBZA/QQaESdfnDFyTSUfyWD1fqisUnQKhpzsDj+PAFVMNf6Y0fZ6JjlcNTYD5BtwS2/pKknZy21RQ==
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=obVZmGGT/+U9RfcJU0aGZukVfIOb/dDv2A9zwFbu3y8=;
 b=VgDOdxziE5avzH8Jr9pRgUlaS3P8Vji+++TVQmeEDf/g7WqxLztfS3etvr+5yx+DskBX/qfm/+2TpvF6JgwLtgQz3TlOU2PCi57MIrLId7FB6Npfq4mNAc+Jt1UK7Ejqi5yg04+XhyYXssmHrVNmohXB5YleHKHYupdgY5Bv0Zw=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
Date: Thu, 6 Mar 2025 17:03:24 -0500
Message-ID: <20250306220343.203047-5-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: BN3PEPF0000B370:EE_|SJ0PR12MB8613:EE_
X-MS-Office365-Filtering-Correlation-Id: 887ec4ab-1538-41c1-2ed5-08dd5cfac86c
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?QozOmfS1LK8WEXSkjRxc3wsUaZp2sUZm9wzF0A+wSfRzTjKjKlBcw3CTzxyH?=
 =?us-ascii?Q?2w/tEoqK7M/dduksUsJhRrEObCfcvVZWbEXGQzULazfN5WR54REXovLu6Iy9?=
 =?us-ascii?Q?BeSwE+nVCLGBjCocO3vpiDy9kfnkVRzvpVQkBZeXqngFMm9AR7mIJdJolEgZ?=
 =?us-ascii?Q?eDVY9MJP6ppfV5U7fSXofAd1cHLr68tMrdcZ48nRXTDikZAlncxnoPnfGMOl?=
 =?us-ascii?Q?OOQZmjH8f0gIOcKhLjAhvqZ7GGmkRDaJIflzPEKbs6X80hGgwLFpr3K51MMr?=
 =?us-ascii?Q?nF9pfYFhN+sweX3whepu8jBWiRWhvegY80ifauVIwn14hTXFlayqD1YfW7tO?=
 =?us-ascii?Q?2Ua+AujVzvfEe7FakUPzW/GEmt3lfNVTVvByFCYzF1kHk+dUDhWFg9f+ukSy?=
 =?us-ascii?Q?eE6/jdrH6hlXoMcs7pShCcodl8FTneyV7nqU0Dl47Y+LKl1I6lTzLSbNZ+cX?=
 =?us-ascii?Q?jeGRt/9vaTjZSOdQEY3jEzAfIQr0Xay03f4qrl4kyqAZ/upopIEUPLTYy/wU?=
 =?us-ascii?Q?tmxjyxEyeth8aJ19dN2XcAjmh7mI9lyu3HJeZNc94xApoUMejlOZUw+D+V/k?=
 =?us-ascii?Q?Vk6J2yIjLeIjGLH/kHtIyu8T/fKwZlFKsXnDCI5rijUBg9KdQCpVy+ML2mZ9?=
 =?us-ascii?Q?GE2u7fxelgJ4zzz+Q/3wUc80i8+PZo52iPRcsonkAmaAZ283c9q+o29/x5gi?=
 =?us-ascii?Q?wT5CRk+5vdsjEuYpTcywCQ+T8vTHsXRx8zp5TIP01OlEI/m5ejP/qxE5efYP?=
 =?us-ascii?Q?oPtNHkkabA4nzUUYdU63AbzCstVK32XxGNtw2BmMyiB708E58RnvN6g/T9np?=
 =?us-ascii?Q?dcnVfRmnB/GjXoxTDuUm53hHIXr84u1ndVgMFF0Z4R4Mi+V72hBT8IvSuKf6?=
 =?us-ascii?Q?vq/+GpGH3WxnJMa1tnDIh+rKS13mHnZoXhIDU/mNxYn8VoSSbsWOpCAVwU5R?=
 =?us-ascii?Q?m92w7LiYuIk65PB5IOneYZn8pxEr072g4+9QGxi7rGzRETWqvQ4IQyyxOFly?=
 =?us-ascii?Q?mT7//8DO152ikDcldIe/dq5+Pc9asv8uw+spD31Q8dc5YSJZjDJtRo8+dR00?=
 =?us-ascii?Q?GQ+WDrxPuFT9LqkthcrV5sCko0UjAici0evlvJKYjCeDuCraggp8kCaZj67Q?=
 =?us-ascii?Q?dcS1xjJxOqfUACrOLTrfBjDxECOJOmjkQ04LcyKbVDhNrhvyhcO3ARgGbXPi?=
 =?us-ascii?Q?8hUwxXScrEd0rE/NiILfGMCmMb/tvcrWbUb2euMIf3xyGIfbsOcZKZyhgkEZ?=
 =?us-ascii?Q?oJWZJ+QhiMKsXFrazLAOU4VkRDOug88pqd0kM4eq3ncFEEtqnzyRg9nIlR1L?=
 =?us-ascii?Q?EnLC+7f1KRXDaNshfdj28lTNtaN4Rw+WehE2AAGOJv+mGDyP6EMjo20ameNT?=
 =?us-ascii?Q?0fsaR9VeC3UZAFziwJ03aBRpqA23v8Z/cSFRL2fsDoYxSzDN+9BeCxnHQ5Pf?=
 =?us-ascii?Q?1Q5kE6qNQEwIUyLc16ylnWAUIawJ8z6gHWDobcOJfGJ+itglkuCCVtWIXzOP?=
 =?us-ascii?Q?p7taeRyvhjqlUPo=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:03:53.0122
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 887ec4ab-1538-41c1-2ed5-08dd5cfac86c
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B370.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8613

Assign domid 0 to the hwdom.  Normally, dom0less does not use domid 0.

This fixes using the Xen console which assumes domid 0 to use the
hypercall interface.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/dom0less-build.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index e539bcc762..5a7871939b 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -969,6 +969,7 @@ void __init create_domUs(void)
     dt_for_each_child_node(chosen, node)
     {
         struct domain *d;
+        domid_t domid;
         struct xen_domctl_createdomain d_cfg = {
             .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
             .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
@@ -1121,7 +1122,12 @@ void __init create_domUs(void)
          * very important to use the pre-increment operator to call
          * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
          */
-        d = domain_create(++max_init_domid, &d_cfg, flags);
+        if ( flags & CDF_hardware )
+            domid = 0;
+        else
+            domid = ++max_init_domid;
+
+        d = domain_create(domid, &d_cfg, flags);
         if ( IS_ERR(d) )
             panic("Error creating domain %s (rc = %ld)\n",
                   dt_node_name(node), PTR_ERR(d));
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904062.1311963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJJt-0000TG-Gt; Thu, 06 Mar 2025 22:03:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904062.1311963; Thu, 06 Mar 2025 22: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 1tqJJt-0000T9-EI; Thu, 06 Mar 2025 22:03:57 +0000
Received: by outflank-mailman (input) for mailman id 904062;
 Thu, 06 Mar 2025 22:03: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJJr-0000Ss-L4
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:03:55 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20612.outbound.protection.outlook.com
 [2a01:111:f403:2408::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e486e580-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:03:54 +0100 (CET)
Received: from CH5P222CA0017.NAMP222.PROD.OUTLOOK.COM (2603:10b6:610:1ee::21)
 by DM6PR12MB4482.namprd12.prod.outlook.com (2603:10b6:5:2a8::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 22:03:50 +0000
Received: from CH2PEPF00000149.namprd02.prod.outlook.com
 (2603:10b6:610:1ee:cafe::7b) by CH5P222CA0017.outlook.office365.com
 (2603:10b6:610:1ee::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:03:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000149.mail.protection.outlook.com (10.167.244.106) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:03:50 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:03:49 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:49 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e486e580-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Q3kh9HXqs3aLbsJPWEW2+pEOknZmI+NliByurJllSUbmXZpvz5khSM9+q/RVyh/ifju9Xwj4FksJzygBX4sgK+17b7WtPNYhsDFFrVHVp0N8Bs3sxCAdqa2+ZSN/6tzXbpEYwW2ca4f2tvLmdRqpuppclCQQ6xRNSWq6bANbfCORymJBNTZNWF20nIlrrCnMWWcNhQf9JQ7CWS1QRPlmlzUe9LkLuBBOYmaM8ESWkR6OB3fGRAe3NeDzwQZVuVjjMETuKXIunV3em/25w7efPrMZkhh/EmYt69lmh4+hiwPoS2Yb3/djNi5yKNbolpllaHPYgQGL5xyFAjvyMfuYQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q7tJj+JfWBdt+nWeZjIonJo3rxvFv7v9MKH7jCHgkek=;
 b=U4mANfbnBSXMZ7SqWmjgps3gwAvdhhsLteTmFUv0FyJ1JrdS3K8O5YKKy3CUB5Hxpa4cEmdORaxf3ywYcgWPhMqpESnWTzqwVZP/C7M71/Y90lebgtu4EFQfLY4z78Gox1Z4WdaeM1ocdWNDVGPobutbcnp1s7YM9x4XEzrwN5+FvDyBooyfB9dGbtWWQOPhiQjGqdGeP95LhmjzH513v15uLfNzx894W1vz7Ova1c+x1bh3ZhsBjuZZeuydVtyrD6iCPv8XoqzGwAlC6FUJ5FLFiNTEk6LftTkxIb2I5/ifeQ/azN0zSu7Zgw2dBXqhxKU9zPj1+XJd0VQo46nU6A==
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=q7tJj+JfWBdt+nWeZjIonJo3rxvFv7v9MKH7jCHgkek=;
 b=bSIxgYb+YWqIQX6a+yFPKFqkQPTfs2bAnE9tKgkdqWV3MPWPHzck5MFS5FFWwEhyTH74yj+S1HpLLRqcRZdIJa68Nj3W9yWNE2pD5oVZ+5qS4/5Frm5s/AwRtNs62zrkDYU0fEbEKcti5dpix1Ml6LXg4gPJa2jkaZo/P85kaak=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH 02/23] xen/arm: Factor out construct_hwdom()
Date: Thu, 6 Mar 2025 17:03:22 -0500
Message-ID: <20250306220343.203047-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: CH2PEPF00000149:EE_|DM6PR12MB4482:EE_
X-MS-Office365-Filtering-Correlation-Id: 46f7c239-a419-4e8c-5389-08dd5cfac6d1
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:
	=?us-ascii?Q?q1fg9cg7XKdyMssr959HzGbfx3RaN/hjlEE2nlvace4tPqm7cXMXeuYfoX6f?=
 =?us-ascii?Q?LKqvqiPIPTBwKbPnKS3HGIUBXFul57cxXXWJJer72FR0WP/b6XbIX8Lhqwzm?=
 =?us-ascii?Q?/zFO9R8grspwS0+UdzztYGO9jdF4RWzX96R9Ft1rbc4+te5qe1m8sYepruBq?=
 =?us-ascii?Q?gB/pgWEw8K1ZgEBB9NIlfYePaFde6jD8+nrUVshYjYkEvSt2EgkRiQYBTCCg?=
 =?us-ascii?Q?Csoidt11mKzTUzXxidvVM5skomXt2fi/piegZTFQeGLMp97Di/ho1haRYvQW?=
 =?us-ascii?Q?e/ap95IZt+sAxPkyfWcmBuwnl1vjl0yufGzN9e8KZUEDZ/I8WtNjEoiErvj+?=
 =?us-ascii?Q?4kMZ0QAA8i4b1qWyZAvZVWzSCz+LITTpj89iLaVmXLz9ory92oJQdfYWPqZJ?=
 =?us-ascii?Q?+1++tzrUQ44WztWpn7ZohxqDYYeCO3oWI1Vo8GiFUeHfeEjCaOOQuPnrWiW2?=
 =?us-ascii?Q?isUkSlm8eOhpk4mCN+z2jzyCch2RJTIee6A/i+XVnjd9hH8R9N+0VjXdgAz3?=
 =?us-ascii?Q?YRnjWRWp1IpVZDLMWCzBtJlw/GTLqyZ5octLRY/fHR/GUIZ3dlOb4LpBWI9G?=
 =?us-ascii?Q?52H5z0aR8gDueOdvxZojwgy2avlgiWoo0tEnXCC6Qzdn8awG0Sxu7FSqgenY?=
 =?us-ascii?Q?66LMKghQQ/n1kBbZ0GManfhG4nNI2PN0pToYpOElxDMyeGFwHMm0Aod9Gmp5?=
 =?us-ascii?Q?A/dS0n46rgViPFecSW9lm+Thgc2OOdgw2dd7oAiGDrsql+LNnKAo6uKhhAqt?=
 =?us-ascii?Q?o+L8aCRzMx9ugj701KT0FEIvLL0K2twPwZd1Pl06iRv6uwz9FMDHueKq2cHS?=
 =?us-ascii?Q?MkX46mz4qib5ZpkgN0zwGGnNPJeDMEwReF3Q0Wr/HLyS0auLN3Tf0rrel4Kf?=
 =?us-ascii?Q?G8sV9TkqwH/FJcDtL0iysgTItAxcxNpjFO7GQOYMf5w5LFJ3ny/39FJOg//V?=
 =?us-ascii?Q?r2HKEORUfrAxJ8iOBdRqxKz8AhtkuFVto+2vqeHmoe+W9iDsbKOdPJ07hs+V?=
 =?us-ascii?Q?MC3+xljHs/ohs4MQIJZBQf+pFxeAn+I11fex7F8yGv1qltGNWLYIFjkhGRqr?=
 =?us-ascii?Q?vFdgX9qlmTDBTUNaZI4xYSvbg+mXPytNTFNSz6HydCF3FXc2RcSKasxouV4O?=
 =?us-ascii?Q?IwWujuTf9GEfOIWCgfDJ4lcLAZD6KfA4DqOthtwqh0gj0i/cFM7AmbSjVMWi?=
 =?us-ascii?Q?xRL/yEZZNlNETfFS8OOWK/Ymu/G/iC3KQnQQUnUsaNM7UGlS3lksnZUGWRdo?=
 =?us-ascii?Q?IfEFI6viBq/IAamQcWibbekeCTvHN7t8PTIEn9+VPXykiDJYmojtpDcbCw/R?=
 =?us-ascii?Q?zwm8nNM84Z0vuI+fRzE58FA9GhtAZkwNK4Nq4nustZCtn9tYA8cQ3gxKcXsg?=
 =?us-ascii?Q?6HTq/WKq71EjYiMPIIcIlARyYzDFCWLFI394OG4KvDbWNvEt/KxswCpWcFBS?=
 =?us-ascii?Q?LPdYO6i8ZBXNMyX8BCdqXA0dIFJnvPeeviBX65+1dzF6gXt/d4QHjQVDi2b/?=
 =?us-ascii?Q?3/OiJUO74yjRrv8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 22:03:50.2883
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 46f7c239-a419-4e8c-5389-08dd5cfac6d1
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000149.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4482

Factor out construct_hwdom() from construct_dom0().  This will be
re-used by the dom0less code when building a domain with the hardware
capability.

iommu_hwdom_init(d) is moved into construct_hwdom() which moves it after
kernel_probe().  kernel_probe() doesn't seem to depend on its setting.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/domain_build.c             | 28 ++++++++++++++++---------
 xen/arch/arm/include/asm/domain_build.h |  1 +
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6784ee6f6d..d676422496 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2296,8 +2296,6 @@ static int __init construct_dom0(struct domain *d)
         dom0_mem = MB(512);
     }
 
-    iommu_hwdom_init(d);
-
     d->max_pages = dom0_mem >> PAGE_SHIFT;
 
     kinfo.unassigned_mem = dom0_mem;
@@ -2307,17 +2305,27 @@ static int __init construct_dom0(struct domain *d)
     if ( rc < 0 )
         return rc;
 
+    return construct_hwdom(&kinfo);
+}
+
+int __init construct_hwdom(struct kernel_info *kinfo)
+{
+    struct domain *d = kinfo->d;
+    int rc;
+
+    iommu_hwdom_init(d);
+
 #ifdef CONFIG_ARM_64
     /* type must be set before allocate_memory */
-    d->arch.type = kinfo.type;
+    d->arch.type = kinfo->type;
 #endif
-    find_gnttab_region(d, &kinfo);
+    find_gnttab_region(d, kinfo);
     if ( is_domain_direct_mapped(d) )
-        allocate_memory_11(d, &kinfo);
+        allocate_memory_11(d, kinfo);
     else
-        allocate_memory(d, &kinfo);
+        allocate_memory(d, kinfo);
 
-    rc = process_shm_chosen(d, &kinfo);
+    rc = process_shm_chosen(d, kinfo);
     if ( rc < 0 )
         return rc;
 
@@ -2332,7 +2340,7 @@ static int __init construct_dom0(struct domain *d)
 
     if ( acpi_disabled )
     {
-        rc = prepare_dtb_hwdom(d, &kinfo);
+        rc = prepare_dtb_hwdom(d, kinfo);
         if ( rc < 0 )
             return rc;
 #ifdef CONFIG_HAS_PCI
@@ -2340,12 +2348,12 @@ static int __init construct_dom0(struct domain *d)
 #endif
     }
     else
-        rc = prepare_acpi(d, &kinfo);
+        rc = prepare_acpi(d, kinfo);
 
     if ( rc < 0 )
         return rc;
 
-    return construct_domain(d, &kinfo);
+    return construct_domain(d, kinfo);
 }
 
 void __init create_dom0(void)
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 5d77af2e8b..134290853c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -13,6 +13,7 @@ bool allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn,
                           paddr_t tot_size);
 void allocate_memory(struct domain *d, struct kernel_info *kinfo);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
+int construct_hwdom(struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904065.1311994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJJv-00019u-FV; Thu, 06 Mar 2025 22:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904065.1311994; Thu, 06 Mar 2025 22: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 1tqJJv-00019j-Ca; Thu, 06 Mar 2025 22:03:59 +0000
Received: by outflank-mailman (input) for mailman id 904065;
 Thu, 06 Mar 2025 22: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJJu-0000Ss-7q
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:03:58 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2412::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5ea909f-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:03:57 +0100 (CET)
Received: from BN9PR03CA0148.namprd03.prod.outlook.com (2603:10b6:408:fe::33)
 by SN7PR12MB6744.namprd12.prod.outlook.com (2603:10b6:806:26c::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 22:03:52 +0000
Received: from BN3PEPF0000B373.namprd21.prod.outlook.com
 (2603:10b6:408:fe:cafe::91) by BN9PR03CA0148.outlook.office365.com
 (2603:10b6:408:fe::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:03:52 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B373.mail.protection.outlook.com (10.167.243.170) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:03:51 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:51 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:50 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5ea909f-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Mmu++9iWtcrxjaxtS+qalyPjmS9QKKo69Om6ME+4+lC8rNlQeW2VK6bnVSNNfCWO4F4r4mWaWyETH5UfM8vFNQOju3OB++627msih+OASf0xPR9vxoPbSxfPzS92+l3FS5PuRbGyYqjxb0lyQ/rDFwC8kA6JP372ZSfXZl4pFcQItjm4DFcn1gn7ohq/6wo04F3ctvRFJlpD2RHVDnHG3qm1ljqr6K42dZL0Xexc+L80lGdXdSqUHIibUpWl6ynd4SwcOICWeJrxLLUUGDQ7PF4f+i6DfKmuzwxlAwobeC3114QEWOWfF2Y5DSZMwJOEUbAt2280wLzXjCnGjdDUbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4VPQcrgtdmm3+GRmy13JpI5He8WqKvpADWE80W2X34I=;
 b=sXPFGvqaMwlbLyb8J6c0+jYvuPVAyzyrn7foChJKVWw7lHtN0+i5SPoKvp4CtPdrdeX3rtnpuZZVVJHJi7Z2VXdy8IVUU/XKWce/4puiaF8f9YLXe1y2w74QchOo7eNlp/Hq3sMqDXk1O/79bJ80q52XB4QsgjhZIaN7ZRLCLknIoKy0NBvLxK3JQAVBdag9ne8aJpkuITy8d4a2JsWQVMFxxMKZSqZ1h1o4lFW/viLcu5hzEXuXCf3y4/wambCMBCp3/XpsU7XiNJiQ7TB6M1uZBZX5Ii4Ss0kV6eYtAQ//verToUPPtOdt5khUBT5oPvSS/z81ulXs9buE3N5sVg==
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=4VPQcrgtdmm3+GRmy13JpI5He8WqKvpADWE80W2X34I=;
 b=N9A3tQZJSwgyy+X0Z46fHQFsGdTd1w2MJuBEVxBPTPgU3nRwwNYdfvZSyuZoJC8mv4hlgFL60lIN+SCYbtidtEsAZ/A0g+ARlM28V3sy00TfvQ6nQ2Kb/dT1iYvZ1fcn6pPaYc2QZbFtFnf+5GIca351DfDl3sEQSgdSvn3bAnA=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH 03/23] xen/arm: dom0less hwdom construction
Date: Thu, 6 Mar 2025 17:03:23 -0500
Message-ID: <20250306220343.203047-4-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B373:EE_|SN7PR12MB6744:EE_
X-MS-Office365-Filtering-Correlation-Id: 83b07267-253d-4b74-4f8d-08dd5cfac79c
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?c4UuEoFjiJW6Bc8/f9iiVO6ZDEGG6alOa5MdRcdxoM5RvsrSGgJjiqYpEJOj?=
 =?us-ascii?Q?7PG/jOpgab4HeoVATtOZ7ZrwEgbtv3AHDHhU7vs8YzNGN2WYoHPrCguhnvy7?=
 =?us-ascii?Q?IkEoQn+CzYKdwWHq6Cr7iA/ZMUQZEJweoW7ESKE091XRNdyd0Xvwiyjgy3qU?=
 =?us-ascii?Q?ZSruBtSJccBkGI8hwecFbXCPR6e8zjlKMQSyOhSHGQZqmzdVWTkcuVEasH7a?=
 =?us-ascii?Q?zZp25UUtxHOG8vhm2AoIF9DtFG9bJZxHzsXDNMMdvX9GCYrvRcZKoa4u/tdD?=
 =?us-ascii?Q?WY/lC22MJv/1kmHXmvCMwEpkNJeNMuISzpOpuHfyOFGvWc2pRI9tZu7pqq3x?=
 =?us-ascii?Q?80qscdbyNpev2DmSS0ZnuiNPy14bkjx8XJYioYJPwUoSwUSNSaNFS7AAvTRo?=
 =?us-ascii?Q?lQyyRvU18y9t8qq3caq6QlbHgwpgfYu8mPawmWhfaHLOqXwwu9UbJVH9cgP2?=
 =?us-ascii?Q?y8c1ueY/riMZEKCavcbPDx4Vz5xU1bUmYOdcPkrKEJ4KBQABqZksRoJcXC9u?=
 =?us-ascii?Q?yxfLsSmeLaY6vAZ5dKImTVIK/lI0+VGh+2cU7mrtgGl/pkeXrcuzQnDg0ow2?=
 =?us-ascii?Q?nBXrEIrLGHlSq/CNhYFHg47TWU1hsd3hbc0gsnxHx6SkehP/riJy5XFYtZvR?=
 =?us-ascii?Q?B2VnnARw34DgUL70t3JYlNeuBya5dO2lOLZznhpCpWwfH5Y+mjcOrygVHFEt?=
 =?us-ascii?Q?D3XadFQ/h9ass4MCHMiS01MLU68l3H2+/brHuop+P00ZvM5Nv0crhc/PPaMO?=
 =?us-ascii?Q?vzscERrumsgAmP2rWAk2pWrH+SEZZpEPboYvJp3wn+WS79J0eOQuDCZquOK3?=
 =?us-ascii?Q?I9KT0TKwDocjFMGVO1H3u32sp7wiWcznQroB9ZBe5PsglOF/M93oIotNueKN?=
 =?us-ascii?Q?UKeCvQXnKEI6HJ0uM63EmoMrxYhgtG8CXp3j2O6cl1/7QiD+HVmuLxIJk6+8?=
 =?us-ascii?Q?HuI33tRZwOf9fOARpWqcuur9gtGmlo0OhBYQJVlIDALND+cvclvOrwc4Mpv9?=
 =?us-ascii?Q?Qk2earNwIbCxnBE79DY9/VXvK1PkME3BFKOyT2fMCNyn3GHJWOG2Pd8fbbTX?=
 =?us-ascii?Q?LXiGfmblE/T8sI6OyCOi21+XHItDarPvkWBaHE/jjxZgr1rrScZ2Ajxlz8B0?=
 =?us-ascii?Q?mIZD4Cy8hXDOKG9V3uLKlWobIf48hmo0UCE2cAQFX7a6Iha4EA0fHaxJ3OyM?=
 =?us-ascii?Q?sW2t6n0CeJYYnb1S7rjbNPBoF/thbxcjmmKrOxXsKDaSGwRnB4c7Cmg+3AcN?=
 =?us-ascii?Q?Tpf8qpZflwUDxH0eNCSgo5Qws9zOW3Bl+a4bLhe53YkoBXVKoLPyr2WlQ4HV?=
 =?us-ascii?Q?kRL0JzZ8GfukU7Q1oFs2VHLF4aZjXXXM2tx8oUVcJBgs1GO2UdjIE1dMKNwe?=
 =?us-ascii?Q?XyiqFxsqshyme5QEQB9bReSPuZ7EYx1OcLN2aa2KYd7y12LN0i+Kr6B9NyaT?=
 =?us-ascii?Q?ba5iHNz9VycWNx8JZlzDDn53eOOvuc3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 22:03:51.6500
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 83b07267-253d-4b74-4f8d-08dd5cfac79c
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B373.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6744

When creating a hardware domain, have the dom0less code call
construct_hwdom() which is shared with the dom0 code.  The hardware
domain requires building that best matches the dom0 build path.  Re-use
it to keep them in sync.

The device tree node of the dom0less config is now passed into
construct_hwdom().  dom0 uses /chosen for process_shm while a hwdom will
use the value from its dom0less device tree node.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/dom0less-build.c           | 57 ++++++++++++++-----------
 xen/arch/arm/domain_build.c             | 10 +++--
 xen/arch/arm/include/asm/domain_build.h |  3 +-
 3 files changed, 42 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 31f31c38da..e539bcc762 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -911,36 +911,45 @@ static int __init construct_domU(struct domain *d,
     /* type must be set before allocate memory */
     d->arch.type = kinfo.type;
 #endif
-    if ( !dt_find_property(node, "xen,static-mem", NULL) )
-        allocate_memory(d, &kinfo);
-    else if ( !is_domain_direct_mapped(d) )
-        allocate_static_memory(d, &kinfo, node);
-    else
-        assign_static_memory_11(d, &kinfo, node);
-
-    rc = process_shm(d, &kinfo, node);
-    if ( rc < 0 )
-        return rc;
-
-    /*
-     * Base address and irq number are needed when creating vpl011 device
-     * tree node in prepare_dtb_domU, so initialization on related variables
-     * shall be done first.
-     */
-    if ( kinfo.vpl011 )
+    if ( is_hardware_domain(d) )
     {
-        rc = domain_vpl011_init(d, NULL);
+        rc = construct_hwdom(&kinfo, node);
         if ( rc < 0 )
             return rc;
     }
+    else
+    {
+        if ( !dt_find_property(node, "xen,static-mem", NULL) )
+            allocate_memory(d, &kinfo);
+        else if ( !is_domain_direct_mapped(d) )
+            allocate_static_memory(d, &kinfo, node);
+        else
+            assign_static_memory_11(d, &kinfo, node);
 
-    rc = prepare_dtb_domU(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
+        rc = process_shm(d, &kinfo, node);
+        if ( rc < 0 )
+            return rc;
 
-    rc = construct_domain(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
+        /*
+         * Base address and irq number are needed when creating vpl011 device
+         * tree node in prepare_dtb_domU, so initialization on related variables
+         * shall be done first.
+         */
+        if ( kinfo.vpl011 )
+        {
+            rc = domain_vpl011_init(d, NULL);
+            if ( rc < 0 )
+                return rc;
+        }
+
+        rc = prepare_dtb_domU(d, &kinfo);
+        if ( rc < 0 )
+            return rc;
+
+        rc = construct_domain(d, &kinfo);
+        if ( rc < 0 )
+            return rc;
+    }
 
     domain_vcpu_affinity(d, node);
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d676422496..00bc484642 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2305,10 +2305,11 @@ static int __init construct_dom0(struct domain *d)
     if ( rc < 0 )
         return rc;
 
-    return construct_hwdom(&kinfo);
+    return construct_hwdom(&kinfo, NULL);
 }
 
-int __init construct_hwdom(struct kernel_info *kinfo)
+int __init construct_hwdom(struct kernel_info *kinfo,
+                           const struct dt_device_node *node)
 {
     struct domain *d = kinfo->d;
     int rc;
@@ -2325,7 +2326,10 @@ int __init construct_hwdom(struct kernel_info *kinfo)
     else
         allocate_memory(d, kinfo);
 
-    rc = process_shm_chosen(d, kinfo);
+    if ( node )
+        rc = process_shm(d, kinfo, node);
+    else
+        rc = process_shm_chosen(d, kinfo);
     if ( rc < 0 )
         return rc;
 
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 134290853c..17619c875d 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -13,7 +13,8 @@ bool allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn,
                           paddr_t tot_size);
 void allocate_memory(struct domain *d, struct kernel_info *kinfo);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
-int construct_hwdom(struct kernel_info *kinfo);
+int construct_hwdom(struct kernel_info *kinfo,
+                    const struct dt_device_node *node);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904063.1311970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJJt-0000WR-Qs; Thu, 06 Mar 2025 22:03:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904063.1311970; Thu, 06 Mar 2025 22: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 1tqJJt-0000Vk-Kh; Thu, 06 Mar 2025 22:03:57 +0000
Received: by outflank-mailman (input) for mailman id 904063;
 Thu, 06 Mar 2025 22:03: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJJr-0000St-Lh
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:03:55 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:200a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1a6e162-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:03:50 +0100 (CET)
Received: from BN9PR03CA0084.namprd03.prod.outlook.com (2603:10b6:408:fc::29)
 by IA0PR12MB7602.namprd12.prod.outlook.com (2603:10b6:208:43a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.18; Thu, 6 Mar
 2025 22:03:45 +0000
Received: from BN3PEPF0000B372.namprd21.prod.outlook.com
 (2603:10b6:408:fc:cafe::30) by BN9PR03CA0084.outlook.office365.com
 (2603:10b6:408:fc::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Thu,
 6 Mar 2025 22:03:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B372.mail.protection.outlook.com (10.167.243.169) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:03:44 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:44 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:43 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1a6e162-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KkEZU3U7tFfJmuIujTom24Ga0jGLw0uCcGvmcH7XyJGf01sOXjTPfmTuDS5C5KK15i6o9z2chxPPLCjPCILhKWHq6UxitcxAHGQBac0s2xHcSzEfkshQk5SrC2D5pwspO7VIf2VPK2Y5V28HnHDBcVoge3Fy+yN1gh/hyAHQ+os6FVTnRanaYPBSu+tA3LY4qTOs9Ib0lzqi7ewRLEjvRLhmIZyjWsT1hxVR6iNfkbEVLMEaD0S+GCeovO/HtjgWOcy5xg8625cWVHTXP+y5es6riRH4oi05J5iwBrmWtRKb2NZNCX7VD66T54Z/b4B7rOd9X4ifB7tlLIXz/YbCEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hZmvhT6nCE4j3onjtbDsQyRYYBH3tCizsA5vpT9tGmk=;
 b=OnzMcmFQ9czPjN57XTheAgfYzC66fhneAUwHGxWyhiRVVpJietbDfuMrX2NIt2wfP1ORNZ4Po5t63Xa3v9DJJrmUGGE7OnKPlpqz3sxWj87Cu+nWJ7Ih4weBSemJycY8g/ZjVKfGvzgW1elQBRc+awprYdotp1NdwThXmiCSXSe1M8FLCLxj40nJgVXT1Bkfwg0a7Q3mjZoPXQP13WmJeDGIs7ew4FqCczVvibvHjMm+8+ajURBEILPYloes8y1VzRccRES8y934PT6l99IwdRpOsMf4RQ28OBSGmgJeye4cqvQMy7IdBQqmRVNwt891C93hBQBo9phS2fBSrkjFaA==
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=hZmvhT6nCE4j3onjtbDsQyRYYBH3tCizsA5vpT9tGmk=;
 b=POehc0LYTWrFyYrBpezCbWisJAGGa4qNczzxfZ7/FNhSHyyCY50/V0YdpiTWwhLeOMso3sgfCYfLqABG8ZWkSPdN5pt7T4H0NTFff6UHVrwvsSh9FwDBp83nlAP1SWJmXbC8oO02tfYPOZ7DR3IOuG9PWGIGG3ihnyuObghzix4=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>, Juergen Gross <jgross@suse.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH 00/23] ARM split hardware and control domains
Date: Thu, 6 Mar 2025 17:03:20 -0500
Message-ID: <20250306220343.203047-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B372:EE_|IA0PR12MB7602:EE_
X-MS-Office365-Filtering-Correlation-Id: 892991ce-d7ea-4038-18f3-08dd5cfac38a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|7416014|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?84bnpxTJnjPvirNICD3slmrStn4nKYmy4LOh0X2xG+4vSRoUaQOcladf44UV?=
 =?us-ascii?Q?gYPWGeXCO6rq9prLFTcYj0Ops1faGjAZrU/xxI8iGMK6J22kv+IKuafYnC5p?=
 =?us-ascii?Q?h3uOtJ/ghyadMfpcUic8e/HP0cpByvhy2GJagf592e3S8xvRZUGskvcPJ75I?=
 =?us-ascii?Q?ubhwzXR4SFthrbWyea5tVoRip2if2piAp57TRmD7If62uU4viLHJcsPr86RW?=
 =?us-ascii?Q?7ZsFY3+dhi9gphHDEsxwnQf3iDPc1z5VY4WoP2KSxpRCBQ+clRiWmLgixs1K?=
 =?us-ascii?Q?fhOItcHqF4Z2adcsiSPvcWCc8TrU53piVaiqa9VV6KUvrUdQ8OU8oxAoWtdC?=
 =?us-ascii?Q?fXOZQcCTG2zdzjblulRnVKfsByJbidv4AFy+R30XscPgo8f7uhBwhShxbtq5?=
 =?us-ascii?Q?eB5nVQtHEiiBpqXJkKR42zBZwvLEqBxxeMeWsmMemhDeIUDTG5ClSV6NzbyA?=
 =?us-ascii?Q?gpX0cShl9Oq8J7pn2wP4a3J4m6KjNAcJT7IoeKf1f5A4/eTR1iQ8RJJk2lmJ?=
 =?us-ascii?Q?T0RWeY/pPvqzFwPNWsAnmav3R1Ut6UncMphYsOXj62kxoJx4wjx3gDJIJE8o?=
 =?us-ascii?Q?hHtadcgE1YWPzHdfPXf3Yns7SHuGE4r56mjSdv8joeEplC4dmZBBOKWX7un9?=
 =?us-ascii?Q?opdCkJOL7RqYp81hdR7MeE/NiO2v00njQUqE7I9P0UjWMcAZ26VcuWd12Wzt?=
 =?us-ascii?Q?KVRAyGsud8vDuDniPchj/vXzUWawEiBHzZyE2dw0NzUo2612RkyHR+u+31pA?=
 =?us-ascii?Q?DJfV9tR1+yiqvkVMV16tE+jIDSQr466YeNMeHGu+xPiP07FmQZoXmYVeCNhF?=
 =?us-ascii?Q?+GakVYp6Q8L9QgEmY5rqAkklGt7j7rrWOReOxEhIk3aW+PfB8IDpKRg25gOA?=
 =?us-ascii?Q?GmVG0clWGJ8S6WRymHAaPBTLWqhYK7DATjFpqNLSF9tgJW1cNHFIZuK2lVZ5?=
 =?us-ascii?Q?jS910+VQoXUS7WCErpcWd5PHOnVkWse2gsOxcSan3y3/yVfnky/ng5HjOcph?=
 =?us-ascii?Q?+IrA182sVWgPbXpm9Y9Yl/rGukSB7LzRptQytAwj3H/TvIlMQJaZhxLjPsPm?=
 =?us-ascii?Q?MZhphjonrDTZnPf71ysYP5UE1idQvOyVfvtQys66iN2LwAwHRAqo+95Lj3WT?=
 =?us-ascii?Q?vcHW4jGgU2eVA+psrTiyVoOfHV/e1IkFkT036KmRHZJUD0wXF8jP9PY4tttN?=
 =?us-ascii?Q?EqKx8Q+1Ntrq8liB/BQI1qKeUDzWJ9sKwx4GNrH9MdQDKXSdkQ9T0hGSws4A?=
 =?us-ascii?Q?TWUar0hV8LYRksni4JJopCo4mHXRJacCXADdPrKuBxO01SjsbCy6hpTSJwi0?=
 =?us-ascii?Q?0l/jz/Y9N39eZZlOVQVust/8JIwn80TfoO4CYOht07Pr0Qt+4kTzWNeErLop?=
 =?us-ascii?Q?zitI4/5F4/7Hm1WUgpIOZN5HaB8OcIUIhucbgbXJdZ/pp+nz+/hX3o4TMV5R?=
 =?us-ascii?Q?JENC3IfIm0VqLooWs+buQMXIHfTW4d/VEkjdPL40G7unjXTzYo6iYVkJDUSD?=
 =?us-ascii?Q?+kMcvhDuynVAwQ4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 22:03:44.8196
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 892991ce-d7ea-4038-18f3-08dd5cfac38a
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B372.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7602

This series implements separation of dom0 into separate hardware and
control domains.  It uses the capabilities idea from Hyperlaunch -
hardware, control, and xenstore.  It's been tested with dom0 as hardware
& xenstore, dom1 as control, and dom2 as a domU.

Running hardware and xenstore together eases the implementation.
Xenstore permissions were tested with a hyperlaunched xenstore stubdom.
C xenstored is needed to use grant mapping instead of foreign mapping -
this is especially needed for hwdom to provide the xenstore to control.
Xen seeds the xenstore grant entries since init-dom0less in hardware
domain does not have permission to map the grant table.

There is a dependency on an ImageBuilder update to generate the
capability device tree nodes.  An update for the automation is in the
last commit - not to be commited.

The early patches re-work dom0less code to allow construction of hwdom.
There are some changes to expose the capabilities to the toolstack.

xenstored is changed to track dom0_domid (hwdom) and priv_domid.  This
works for only a single one of each.

Then there are a bunch of changes to the XSM dummy policy.  The sysctls
are the most problematic.  With a coarse grain policy, they are allowed
for both hwdom and control.  Flask can be used for fine grain control.

Finally, an automation test is added.

Daniel P. Smith (1):
  xen: introduce hardware domain create flag

Jason Andryuk (22):
  xen/arm: Factor out construct_hwdom()
  xen/arm: dom0less hwdom construction
  xen/arm: dom0less use domid 0 for hwdom
  xen/arm: Add capabilities to dom0less
  xen/domctl: Expose privileged and hardware capabilities
  tools/libxl: Expose hardware and privileged flags
  xen/arm: dom0less seed xenstore grant table entry
  tools/init-dom0less: Only seed legacy xenstore grants
  xen/arm: dom0less delay xenstore initialization
  tools/xenstored: Automatically set dom0_domid and priv_domid
  tools/xl: Print domain capabilities with verbose
  xsm/dummy: Allow XS_PRIV XEN_SYSCTL_getdomaininfolist
  xsm/dummy: Allow XS_PRIV to call get_hvm_param
  xen/xsm: Add XSM_HW_PRIV
  xsm/dummy: Allow hwdom xen_version
  xsm/dummy: Allow hwdom more - except targeting control
  xsm/dummy: Allow hwdom SYSCTL_readconsole/physinfo
  xsm/dummy: Allow sysctls to both hardware and control
  xsm/silo: Support hwdom/control domains
  automation/dom0less-arm64: Use double quotes
  automation: Add arm64 hardware/control split test
  DO NOT COMMIT: automation: updated imagebuilder

 automation/gitlab-ci/test.yaml                |   8 +
 .../scripts/qemu-smoke-dom0less-arm64.sh      |  87 ++++++++--
 docs/man/xl.1.pod.in                          |   3 +-
 docs/misc/arm/device-tree/booting.txt         |  11 ++
 tools/helpers/init-dom0less.c                 |  10 +-
 tools/include/libxl.h                         |  16 ++
 tools/libs/light/libxl_domain.c               |   2 +
 tools/libs/light/libxl_types.idl              |   2 +
 tools/xenstored/domain.c                      |  16 ++
 tools/xl/xl_info.c                            |  24 ++-
 xen/arch/arm/dom0less-build.c                 | 164 +++++++++++++-----
 xen/arch/arm/domain.c                         |   3 +-
 xen/arch/arm/domain_build.c                   |  35 ++--
 xen/arch/arm/hvm.c                            |   2 +-
 xen/arch/arm/include/asm/dom0less-build.h     |   2 +
 xen/arch/arm/include/asm/domain_build.h       |   2 +
 xen/arch/arm/platform_hypercall.c             |   2 +-
 xen/arch/x86/hvm/hvm.c                        |   8 +-
 xen/arch/x86/msi.c                            |   2 +-
 xen/arch/x86/physdev.c                        |  12 +-
 xen/arch/x86/platform_hypercall.c             |   2 +-
 xen/arch/x86/setup.c                          |   3 +-
 xen/common/domain.c                           |   2 +-
 xen/common/domctl.c                           |   2 +
 xen/common/grant_table.c                      |  10 ++
 xen/common/sysctl.c                           |   2 +-
 xen/drivers/passthrough/pci.c                 |   5 +-
 xen/drivers/pci/physdev.c                     |   2 +-
 xen/include/public/bootfdt.h                  |  27 +++
 xen/include/public/domctl.h                   |   6 +
 xen/include/xen/domain.h                      |   2 +
 xen/include/xen/grant_table.h                 |   8 +
 xen/include/xsm/dummy.h                       |  55 ++++--
 xen/include/xsm/xsm.h                         |   1 +
 xen/xsm/silo.c                                |   9 +-
 35 files changed, 431 insertions(+), 116 deletions(-)
 create mode 100644 xen/include/public/bootfdt.h

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904064.1311977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJJu-0000cv-5T; Thu, 06 Mar 2025 22:03:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904064.1311977; Thu, 06 Mar 2025 22:03: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 1tqJJt-0000Zy-TP; Thu, 06 Mar 2025 22:03:57 +0000
Received: by outflank-mailman (input) for mailman id 904064;
 Thu, 06 Mar 2025 22:03: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJJs-0000Ss-AB
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:03:56 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20603.outbound.protection.outlook.com
 [2a01:111:f403:200a::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e42e59e4-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:03:54 +0100 (CET)
Received: from BN9PR03CA0543.namprd03.prod.outlook.com (2603:10b6:408:138::8)
 by BL4PR12MB9535.namprd12.prod.outlook.com (2603:10b6:208:591::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 22:03:48 +0000
Received: from BN3PEPF0000B36E.namprd21.prod.outlook.com
 (2603:10b6:408:138:cafe::be) by BN9PR03CA0543.outlook.office365.com
 (2603:10b6:408:138::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:03:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B36E.mail.protection.outlook.com (10.167.243.165) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:03:48 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:47 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e42e59e4-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A2gsierDPhEKm1IQG1yL6KmjONIvqIfpbQQJL6hdPE0RoPmFU5FxEoDGoPsEjq9MDnHVwbNWlgQBuwQQANyWsubRJkXO2uc0i4hXVDVob4xMktVvijIb+i0GhdtmaM0ExNjBRkPa7Zv9hyjOCte5lVAf1gvHDX48FWxsdq9jU12f17NcIjzg04zkqbNaHPgIYlrWFFylb0uQkrwvNxwLKoGXFlhFvunRhHuw4QHr3USG/cdhl/+0HjzDxDA7ECdnY+8uA/7/lH7/U5S2cqYAu3PRvyxqmwOHW0Dy1hB7MKXyHiveme5qHEy0Lt2ZVnsdxwpq4sJcpMroYZdGK8s65Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C3v6UlYBcmi3ov7lYi2wo5cPY1aCBB8qLirYSeYSjb0=;
 b=msQC1FXgdPvjqSPW9oK2LjGhHGJN9cc+XY0Km1BGrKbDQob23pmOD83IxaiRfWND07M/+BU9w8i6IzhkmOPUlYCzXgdHLwz8XowRy/J4fLXV4kKmD4qM0vIrfkv9WizW8dR7Hmi03Wz7YGUZe/AedQqexjYvxlXv/nqu+ku+QMeGQSmoXcgIQg01R27E/NCadFRWjrymdhLcNKxBVfpPWEFY6qhQUSd4PZNoWGp5V7e/mUPsPDucbTvnwg5w32iofMR5EqDc3r8anmOxjBv4hF0dgWu5PrPcnU7Y75x/RY+2Imnwxogi9JY8gaHfo0HHVihgktBuKT8H0K/04Zzkhw==
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=C3v6UlYBcmi3ov7lYi2wo5cPY1aCBB8qLirYSeYSjb0=;
 b=dTzhmbBanKg4WPxSTlWqG2dtriVlLj6ZEwbCl9FuRKkG3FLTxrQNQl2tZbxsic5QJojnb0j2qQjurrC0Xsj9HB7zj83q4hEpz4g04KfjbqMLYi4zTguwBQDuCfIVwKmXucuEf8YhhaCyziNv75rC6tWqwV5jU0gnGhGl9JH94g0=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH 01/23] xen: introduce hardware domain create flag
Date: Thu, 6 Mar 2025 17:03:21 -0500
Message-ID: <20250306220343.203047-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36E:EE_|BL4PR12MB9535:EE_
X-MS-Office365-Filtering-Correlation-Id: a74b46e0-bbff-4016-bf3d-08dd5cfac575
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|7416014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?JeeWTzqXaLc1pTTrmyWiQSndCv0qDFEX0FQonST+XiiseHX5Kv1O63VF3Ps/?=
 =?us-ascii?Q?1h2AOuhCldJjfLybaHkoA/E+Qq+A2BHNOKd0LBabFlTgDKH15XzuSDsigCQy?=
 =?us-ascii?Q?2B7eS+0KG7OwIQ4xeaJBevWYCtyghBKwTAD+W0uE2XVs8XaiLQr/4k+rTs8i?=
 =?us-ascii?Q?4EtsWUSTlXpX/RuTp/AP6eIiXLIHxzO/Rhqhuvcvs2bx2iLiUv0UtXlxC58L?=
 =?us-ascii?Q?o1nlyFs2E3J4hbE+xfUTvgdvT/5YitTGYH+dsHB6R2UmXxbFYPtZoZhtquOA?=
 =?us-ascii?Q?SQJTjbCs5Md1C172a1G/EoIv7Uq4LSqE//4w2RNeXz/x/rbRjZo0imZVp+F3?=
 =?us-ascii?Q?QNOTURxzhTw+7RbgeGXMc2oAlcYLqMpWkgu0L7dImqxdkuVsStbtTEbwVkkA?=
 =?us-ascii?Q?eFkPFjrLDQxwLcNmZYzwcVvzqvYUqUagPGYkjO2UHMSn2pOzvRhh4PSl0HEt?=
 =?us-ascii?Q?SuqdNN6XEUomvS1AoTvWny74/F4N8rn+8xvV1o9Mwk3TBUus1NmA2AZCZqbn?=
 =?us-ascii?Q?7p0rpWxSGyHSZdnV1OGi/sStUHSr8vI1UjR6CqtduuPoMFy8c2kB0CTOUlcM?=
 =?us-ascii?Q?V9B080H90LCSt92PhegGyksHGuiD1SeLCKQz8m4kSQ1R19f28ZF8A3JwwTcV?=
 =?us-ascii?Q?y5kc5oDb3TURtKs7a+Ozl4JBgbwCnvc4bMzyAV5Xc5b3tnFlz630l894xNb7?=
 =?us-ascii?Q?35+be8s30+X6uYUyL/jHr2FdOfSi2uPShg7UvRNEhrxw5rEtpP97Rwy6JqgO?=
 =?us-ascii?Q?/XHwkZBCHiygGK0VbgAZttTb/QqSF+lFbhg2cxp4GlKW/PFCNsb91Q7QxsFO?=
 =?us-ascii?Q?QOzq6TUoFtLofz8vXXcU81LDv4AbT5zjhSY9PLIUPEpVLLYDC/u2TDxeFUgx?=
 =?us-ascii?Q?gffuizFi0ccEFibPpwbS1CaNMGPVeXUCG0wg6oSIM71CGCncz4mpAgyhsJ0c?=
 =?us-ascii?Q?JqfZBkBgkUu3vGNMO4W0Vid6P7rUhcjez/TK13X/D+SLStakrtWyIIz/UKtX?=
 =?us-ascii?Q?puiV/cSrTWOlQ4NN6e7c8FLmYpeKKxhPRNmCetV20VfVPp+zoYJl7IRdlDE1?=
 =?us-ascii?Q?pMYG9UIFizeLUL05g12jRsHXOUY9KSBWAp4OHlKv46YKMJskYmLCcWMOeeRd?=
 =?us-ascii?Q?l1fUjBPUFGa6yEViaFB89e0/wm8hj/XPpaN2yGQS29XNpI4Z8xQiZi3h4Czo?=
 =?us-ascii?Q?s7ANZER+79dloniKcvRVlsB8iNcDnGfGx30ghzlXveS3Q5wSvVuGfMCr0cjF?=
 =?us-ascii?Q?omzRyw3gm+3gF/azUM6dVpxZ4YHbA0lm94WEoW3Ws+RkLXcwyvqOCJyW0Ekh?=
 =?us-ascii?Q?8FZH2/Id9Nx3m/GqT/blpNMO6oSFt9+LR87MN/KJGaM1uCXB1ybAh+TUSIPf?=
 =?us-ascii?Q?KwzMUaDmMDBWvSow02pJEXZBxgVMXhMnqXvZQ2v4y7uZUqg2jvtv/ESGepeH?=
 =?us-ascii?Q?UKCe3Aw/03zbXq5La6Q36cDP3ZaPwnT9owgR6MasBEQgPqzPmvFV+Xi8D+H7?=
 =?us-ascii?Q?WXh3Bw25Ix1O7SY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 22:03:48.0417
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a74b46e0-bbff-4016-bf3d-08dd5cfac575
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B36E.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9535

From: "Daniel P. Smith" <dpsmith@apertussolutions.com>

Add and use a new internal create domain flag to specify the hardware
domain.  This removes the hardcoding of domid 0 as the hardware domain.

This allows more flexibility with domain creation.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/domain_build.c | 2 +-
 xen/arch/x86/setup.c        | 3 ++-
 xen/common/domain.c         | 2 +-
 xen/include/xen/domain.h    | 2 ++
 4 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d4570bc0b4..6784ee6f6d 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2358,7 +2358,7 @@ void __init create_dom0(void)
         .max_maptrack_frames = -1,
         .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
     };
-    unsigned int flags = CDF_privileged;
+    unsigned int flags = CDF_privileged | CDF_hardware;
     int rc;
 
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 143749e5da..fa18b9caf2 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1017,7 +1017,8 @@ static struct domain *__init create_dom0(struct boot_info *bi)
 
     /* Create initial domain.  Not d0 for pvshim. */
     domid = get_initial_domain_id();
-    d = domain_create(domid, &dom0_cfg, pv_shim ? 0 : CDF_privileged);
+    d = domain_create(domid, &dom0_cfg,
+                      pv_shim ? 0 : CDF_privileged | CDF_hardware);
     if ( IS_ERR(d) )
         panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0c4cc77111..c170597410 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -699,7 +699,7 @@ struct domain *domain_create(domid_t domid,
     d->is_privileged = flags & CDF_privileged;
 
     /* Sort out our idea of is_hardware_domain(). */
-    if ( domid == 0 || domid == hardware_domid )
+    if ( flags & CDF_hardware || domid == hardware_domid )
     {
         if ( hardware_domid < 0 || hardware_domid >= DOMID_FIRST_RESERVED )
             panic("The value of hardware_dom must be a valid domain ID\n");
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 3de5635291..b5e82578c3 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -50,6 +50,8 @@ void arch_get_domain_info(const struct domain *d,
 #else
 #define CDF_staticmem            0
 #endif
+/* Is this the hardware? */
+#define CDF_hardware             (1U << 3)
 
 #define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
 #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904068.1312014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJK0-0001kP-53; Thu, 06 Mar 2025 22:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904068.1312014; Thu, 06 Mar 2025 22:04: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 1tqJK0-0001kE-25; Thu, 06 Mar 2025 22:04:04 +0000
Received: by outflank-mailman (input) for mailman id 904068;
 Thu, 06 Mar 2025 22:04: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJJy-0000St-Oo
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:02 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20620.outbound.protection.outlook.com
 [2a01:111:f403:2413::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e81662a5-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:00 +0100 (CET)
Received: from CH2PR18CA0003.namprd18.prod.outlook.com (2603:10b6:610:4f::13)
 by SJ2PR12MB8884.namprd12.prod.outlook.com (2603:10b6:a03:547::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 22:03:55 +0000
Received: from CH2PEPF00000143.namprd02.prod.outlook.com
 (2603:10b6:610:4f:cafe::72) by CH2PR18CA0003.outlook.office365.com
 (2603:10b6:610:4f::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:03:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000143.mail.protection.outlook.com (10.167.244.100) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:03:54 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 6 Mar
 2025 16:03:53 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:03:53 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:52 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e81662a5-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Rg2a+Tpdr9MS1pzpHLmBtkOQA/ya2iDl12TPmzvEEmZCTZjiD3xsW2HAVeOP4eFkpWC718Rh5cX9FAFZXNTxj2JuyM4qYbIYxg0u/z4fmIccnBvAIzhqA0GyK5lhlHcoy8FULQCVxN3J+dyzvhfsycqBMy+4pdoxEnveOvYkb8zdiIDqxjFfs+wMsTG/hsc94v/MRSb5z3ihiAcmfmQ2tVGFXB0c/y/SRJTcjvcfzxJ4NZl5AQ6PzP6XTPWF2zzRu/xyrKN7wVuu2ZGBgCBDs91hgkOETWdaN96Xe3prZFRlahMrewNpEAXEAd1Rq5mV9DXAdi8Dnww6a889nr4eXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UsrTljo/Xl74FfKJIV3xkZWBNdEYe7y2ZdvEGquW2p8=;
 b=GlMywsA8Ncw1po0RLO4DJrl9hPz17yB7Mln8lSNT5HNnoKQe3cKk85ZcQpH/CnUzmOinRq7XAnH2ZvFdFHyd/xYmjfJPlQO8fnFz2qeAyi+GQPIavjgHjBk+cLLAq46A9gpM/SJydvEg5yydKRquEs9KShEShykzyKU9EkO9i2I5+q2mSNlBGXOF7d78RxsHcfvY0kHUoVsrBhE4LvcR4l0HiLgcLdT2c1hOYR+fwXfPjIfF6zOfuqthIxkWPyHXydCzRD47FZBIxckEjxNKpDbuJgNjviZQxkoHXF9TXQHpJbVOCzDxvDx5cHwyhNBRkTjlbfPR5hweH9xEY/4b9Q==
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=UsrTljo/Xl74FfKJIV3xkZWBNdEYe7y2ZdvEGquW2p8=;
 b=fnS6g7+clfMVEP0JSbqJFBF/C8hAzg178oqVBdMOHk3oxcbHcdwX3glgRDGUVUyw8hnXWPQSiuXtu/I5hCLeut9LK1GxLBTmC3SdDVW1pMkD8HGFUrDQ9thep2ujEEch+2u6nfLL3HhvALoHYNRuch4M2kxmIbXTp/Rsgi+rzyQ=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH 05/23] xen/arm: Add capabilities to dom0less
Date: Thu, 6 Mar 2025 17:03:25 -0500
Message-ID: <20250306220343.203047-6-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: CH2PEPF00000143:EE_|SJ2PR12MB8884:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a514310-25fe-4496-949d-08dd5cfac943
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?hUqfmBXhOwfgJr7RUC78hfWjo3iXR+seiVStT/ou3UcJWN5ckUDmwsg4b0LB?=
 =?us-ascii?Q?LK5GTWz0hOyB/y7RsJIGKIahW4wl3EUtIkdGCeucwGhbnIrajTHClTPaR1t8?=
 =?us-ascii?Q?5R4boBWr/OUYJ50KrqA/INoZJ4Xtl6Ckm01nZUm3x5gK0LPUtAfWDGfuvLgc?=
 =?us-ascii?Q?3QtQqy7c6oPiSrPhAPPHjfzPeRLS0z3yShYUUYCQpTAyqbRSIF62/H+Db5fl?=
 =?us-ascii?Q?7ryavJNNux3YOQrrlnja8x9DzJ/JLqMAWgHOK0gumPsmdMq98R9EIaEj2VRa?=
 =?us-ascii?Q?HVuEK6Sv5z97cM2agomjfn/5AV2jAGJpbvTG5/QTNludnjKsgNwHhFsxiS2O?=
 =?us-ascii?Q?o7w/oUu9c5EX2PIprvnOpWanpUFZ9XcBo4ixChsGAJYHly9X8dUdGyiXZuTW?=
 =?us-ascii?Q?TSKTBC7uI8aDnltndQtg+VszkoCJo8PckIrImxFjdMd0e9DJk30piBamJL4T?=
 =?us-ascii?Q?hsPZS9TaouVYyYVe/7ISspXO0x3++2Nb+Nh21EbQq6Ail8NKx795pCxoxuyv?=
 =?us-ascii?Q?WE2S382hCx4udC/XPkWfGabKQAMTafnupkFy8pY6OUYMir9pAojSRp0qS5p9?=
 =?us-ascii?Q?+e4sAl/bsjmtpdooqh7T7LJR6/KDU9Rt2bBV7w8f165lRr+oe6xh7UizUjew?=
 =?us-ascii?Q?XVqJLlg6OZGu82zFHI9o/lHTI/xGQRB5AsG67RFHFipDHMv/Kt2GIdZdDpjU?=
 =?us-ascii?Q?T4kFmliM/EvBpsM6MkKSHmcDcSnbEhOEHVEmHAXKGimrlQeLgu/06Tbwu3hL?=
 =?us-ascii?Q?De615WAZNgqBTzyPB1gHbdkKHn/FRogfLMqRi86k6bzvOcl859Z63iNHwHwi?=
 =?us-ascii?Q?1ERBbxSvlIi2ajUKfjdQsKnWCOW5MQcJT55Px/RCmAT2SBb1I2PckwLUu/oo?=
 =?us-ascii?Q?X6PdKTpCvHXNOPj404QoEd6in0goWkOdXgNsNptW4Cl7Ks324k+kGuklQMxk?=
 =?us-ascii?Q?Q+W3Rhx/u0S3KFoFI/3JBuAiC0Rt2OOaAg4MUhEdc2Fb/4wGuNczJ8tFY4x0?=
 =?us-ascii?Q?d+c0i/m7xj0v3E0a4VZO/oB5Ka49MzqDNZPDd6dpGtFwtls7Eu5JQ+3a5lOZ?=
 =?us-ascii?Q?yLjrgoSc5U5S67gf75v290bJIDyTZ6xbGaYbVoWc8g4vsbhywWpd0wlUN1M/?=
 =?us-ascii?Q?cMqxWZX4Ivba47Gm0wsRF4LmHAeBsLgBB1WDCCERed/NwdTfSzqJtH+JDscq?=
 =?us-ascii?Q?bMaJZs/qQB94Z+fYIbpa/Q6565ohwc3WfjV/xatCYX7XNkmi8K8/kc1SLcjv?=
 =?us-ascii?Q?QiVw9fliUTMw0Uigrch9QQ+uV7/tSZ9q1hXNqLe/Q2oh1cDk3mZY2PV7XnDo?=
 =?us-ascii?Q?gzZAYvZrPVASkRCCk29KwMMZWjYaEYg9KRBXmRnjA6MdiHgQ2chNwGu2kKuX?=
 =?us-ascii?Q?lXKfSGuM1XEwbMlf768n8yWt0opzyvAF4za/eR/GWf5WlcBHsSvKB/Z4bpTF?=
 =?us-ascii?Q?iQikMnboTsIM/rAvUyOqn+LZV+fkKvEgOrfHGsbZTttXbG9kM4uvlXoQyX9i?=
 =?us-ascii?Q?82jZjhOTcdGTQkY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 22:03:54.4082
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a514310-25fe-4496-949d-08dd5cfac943
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000143.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8884

Add capabilities property to dom0less to allow building a
disaggregated system.

Introduce bootfdt.h to contain these constants.

When using the hardware or xenstore capabilities, adjust the grant and
event channel limits similar to dom0.

Also for the hardware domain, set directmap and iommu.  This brings its
configuration in line with a dom0.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
There is overlap with hyperlaunch.  The numeric values are the same.
Hyperlaunch doesn't expose the values in a public header as done here.
Is this to be expected for dom0less?  It seems most of dom0less isn't in
a header, but just in docs.

Hyperlaunch uses BUILD_CAPS_, but I chose DOMAIN_CAPS_ since there are
domain-level capabilities.

Only a single xenstore and hardware domain make sense.  A check to limit
to only a single hardware domain is in place - building two breaks.  But
nothing prevents the dom0less configuration from only having multiple
xenstore domains.  Each xenstore domain would have slightly more
permissions, but only the last one would be used.
---
 docs/misc/arm/device-tree/booting.txt | 11 ++++++++++
 xen/arch/arm/dom0less-build.c         | 29 +++++++++++++++++++++++++++
 xen/arch/arm/domain.c                 |  3 ++-
 xen/include/public/bootfdt.h          | 27 +++++++++++++++++++++++++
 4 files changed, 69 insertions(+), 1 deletion(-)
 create mode 100644 xen/include/public/bootfdt.h

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index ac781c9cc8..490c792ddf 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -167,6 +167,17 @@ with the following properties:
     Refer to docs/misc/cache_coloring.rst for syntax. This option is applicable
     only to Arm64 guests.
 
+- capabilities
+    Optional.  A bit field of domain capabilities for a disaggregated
+    system.  A traditional dom0 has all all of these capabilities, and a
+    domU has none of them.
+
+    0x1 DOMAIN_CAPS_CONTROL  - A privileged, control domain
+    0x2 DOMAIN_CAPS_HARDWARE - The hardware domain - there can be only 1
+    0x4 DOMAIN_CAPS_XENSTORE - The xenstore domain - there can be only 1
+
+    The default is no capabilities.
+
 - vpl011
 
     An empty property to enable/disable a virtual pl011 for the guest to
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 5a7871939b..068bf99294 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -12,6 +12,7 @@
 #include <xen/sizes.h>
 #include <xen/vmap.h>
 
+#include <public/bootfdt.h>
 #include <public/io/xs_wire.h>
 
 #include <asm/arm64/sve.h>
@@ -994,6 +995,34 @@ void __init create_domUs(void)
         if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
             panic("No more domain IDs available\n");
 
+        if ( dt_property_read_u32(node, "capabilities", &val) )
+        {
+            if ( val & ~DOMAIN_CAPS_MASK )
+                panic("Invalid capabilities (%"PRIx32")\n", val);
+
+            if ( val & DOMAIN_CAPS_CONTROL )
+                flags |= CDF_privileged;
+
+            if ( val & DOMAIN_CAPS_HARDWARE )
+            {
+                if ( hardware_domain )
+                    panic("Only 1 hardware domain can be specified! (%pd)\n",
+                           hardware_domain);
+
+                d_cfg.max_grant_frames = gnttab_dom0_frames();
+                d_cfg.max_evtchn_port = -1;
+                flags |= CDF_hardware;
+                flags |= CDF_directmap;
+                iommu = true;
+            }
+
+            if ( val & DOMAIN_CAPS_XENSTORE )
+            {
+                d_cfg.flags |= XEN_DOMCTL_CDF_xs_domain;
+                d_cfg.max_evtchn_port = -1;
+            }
+        }
+
         if ( dt_find_property(node, "xen,static-mem", NULL) )
         {
             if ( llc_coloring_enabled )
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 3ba959f866..dc4b4e84c1 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -608,7 +608,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
 {
     unsigned int max_vcpus;
     unsigned int flags_required = (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap);
-    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu);
+    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu |
+                                   XEN_DOMCTL_CDF_xs_domain );
     unsigned int sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
 
     if ( (config->flags & ~flags_optional) != flags_required )
diff --git a/xen/include/public/bootfdt.h b/xen/include/public/bootfdt.h
new file mode 100644
index 0000000000..4e87aca8ac
--- /dev/null
+++ b/xen/include/public/bootfdt.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Xen Device Tree boot information
+ *
+ * Information for configuring Xen domains created at boot time.
+ */
+
+#ifndef __XEN_PUBLIC_BOOTFDT_H__
+#define __XEN_PUBLIC_BOOTFDT_H__
+
+/* Domain Capabilities specified in the "capabilities" property.  Use of
+ * this property allows splitting up the monolithic dom0 into separate,
+ * less privileged components.  A regular domU has no capabilities
+ * (which is the default if nothing is specified).  A traditional dom0
+ * has all three capabilities.*/
+
+/* Control/Privileged domain capable of affecting other domains. */
+#define DOMAIN_CAPS_CONTROL  (1 << 0)
+/* Hardware domain controlling physical hardware.  Typically providing
+ * backends to other domains.  */
+#define DOMAIN_CAPS_HARDWARE (1 << 1)
+/* Xenstore domain. */
+#define DOMAIN_CAPS_XENSTORE (1 << 2)
+#define DOMAIN_CAPS_MASK     (DOMAIN_CAPS_CONTROL | DOMAIN_CAPS_HARDWARE | \
+                              DOMAIN_CAPS_XENSTORE)
+
+#endif /* __XEN_PUBLIC_BOOTFDT_H__ */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904069.1312019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJK0-0001nP-HA; Thu, 06 Mar 2025 22:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904069.1312019; Thu, 06 Mar 2025 22:04: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 1tqJK0-0001mQ-Af; Thu, 06 Mar 2025 22:04:04 +0000
Received: by outflank-mailman (input) for mailman id 904069;
 Thu, 06 Mar 2025 22:04: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJJz-0000Ss-A9
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:03 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2417::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8e3402f-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:02 +0100 (CET)
Received: from CH2PR18CA0044.namprd18.prod.outlook.com (2603:10b6:610:55::24)
 by CH3PR12MB9344.namprd12.prod.outlook.com (2603:10b6:610:1c8::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 22:03:57 +0000
Received: from CH2PEPF00000144.namprd02.prod.outlook.com
 (2603:10b6:610:55:cafe::13) by CH2PR18CA0044.outlook.office365.com
 (2603:10b6:610:55::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 22:03:57 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000144.mail.protection.outlook.com (10.167.244.101) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:03:56 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 6 Mar
 2025 16:03:56 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:03:55 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:55 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8e3402f-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IVDL9TUBVc6TJ42XC6chKgATlMLtrut3e7ymOyXVIy4HdMCO0ZmlLEORpHu3Q+TiomO7mpjtIs1KifyxAVepcGT4yx1nwWHbsaVsvfvrU8SnCFPeg6KpMTrXcXxTG3wXX1yDtZWbw17Ag17L1pIhiwrlkclz7b/ELavCdCY1E5oOB+QU0l0n2Kfl0E/RIHpyLloUJrftIXrMNgp6XbONUffbCRI5Sk0oltPwPyK6I1bo4yP02LDtLMZkyA4ZQ4q/IN1Ux8OTaE4/9/vmPFCIudJeCkq5FKTz3ic+dmUKqSDCg7BO9RqFx/uTJZdQaLA2hwT0srqKCkM74OUbEo+UrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y+m/QdRPMsN/ArRHcQsjPmQFgNz4Tb8oT1TBtzTvHvQ=;
 b=TA/2jOIzAWBpIGHNzfs2dIaqznCbt3ovyhwF+QJkcZ4zPMdogoNZaMKb9QHPRQaVe1OvvmBY/6sVNfg5A+YY/nTOBr443kdWp/B7IeovMB4pVWKE6yEpWCDbzReo5Fl+Bige5j6iKgjYwqEU0t0fFfJz+3Xa9FvXSSrLyv7HXQRZkX0Du5rg39hrX5s02CAuJqI0XuJGceav8R7HR5DU9sc2nhvVZMte5k+6I4kXFwOtEv6JN+c260Ubb6Tex+m/uULxctvePHyXNV/9mARUQGzKBjWZz72LPsOV4Wqold6/cSEsfyCtk0Y6swcEmdN+jIEPn7EUEOmcDV4Ct1IkJA==
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=y+m/QdRPMsN/ArRHcQsjPmQFgNz4Tb8oT1TBtzTvHvQ=;
 b=RnqK++Chx2NX5HI/1X55R/bEpNfw7XngiXisDpORQCtr5Ef/5kwb51Ke5B68zp1HucVu9gtt915o/7aBRq5mvEkJqxmFbZ2CLYYYRDvWdO2XPK6uwUwVBIXf4p6q0p5c+/xu1wNG9rFRaKx/RcoNAXnDWFF/5NMqL/3p22xi0Eg=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: [PATCH 07/23] tools/libxl: Expose hardware and privileged flags
Date: Thu, 6 Mar 2025 17:03:27 -0500
Message-ID: <20250306220343.203047-8-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: CH2PEPF00000144:EE_|CH3PR12MB9344:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e417f6d-e3fc-4f50-c021-08dd5cfacaba
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?RMRLkGXCXAwlGkJY6M2CepOIB18Q4kY/gHFfeUSJUDkeuWLuTZz7n0IxPdVv?=
 =?us-ascii?Q?6TVtVqCex1gkxyqdLA+rYiOfG7UGQJ9wRz/SdkjrI2yruuNVpteoQLTkoHiM?=
 =?us-ascii?Q?QExMqYRji8Lab5sDvtcVvoK7+AxsFuF42Y4jzb8Uv361/ThmFe0PXVyr3Jtv?=
 =?us-ascii?Q?F3wwGQ8ycJtx9vjaM8Tm4VniVa4CRM9HgrXWnoNQHETpCIL/2fAYivR5IwOZ?=
 =?us-ascii?Q?Iheq8NyZtlKkqat8Bs0eP2TFVy/pz12UBYm+o/vF+F2OMNH/NEx6znRyFa56?=
 =?us-ascii?Q?Qi4SLjsJwTNtcGK9GJMd2vYZ+1ZBAJsYFYN3B1Ow9665iAUcOWF1t7/iHgjU?=
 =?us-ascii?Q?8ecywFlERMfW+T2iCgfpYTfG7JSeKaOhDDByXmwCc7pKCYhHnw5+WUDW7E33?=
 =?us-ascii?Q?wD3VQfRFKceOtT3JWjoYUnvRO2kB1J9+xqRsXxQgEqGwOzFByipnFjVtk2ro?=
 =?us-ascii?Q?SOMqelVha4SQauIHLg+NsxZ3jsimIWqKgZDCXb35wTJzGGpGCOMIf9r6nnv2?=
 =?us-ascii?Q?Ttt4H0ptW1E+n0P0CBhL2e1Z38moMRuzF7r7KPLatNXqyxdWddxXRjYhlmuc?=
 =?us-ascii?Q?fFB3oc6ayrqd4omj+l8NfCDLanjiLHUEblc6uBu4L8jgU756Z6++GTC2Ultx?=
 =?us-ascii?Q?ofZ5OcbXFSxR4N2dNdzpyESMLNQ50MUk7/awPAWQixp4kL9YUoO2kAmyNiq6?=
 =?us-ascii?Q?6LUzwZuerOjS9kUViWcuo+qp5o7/FAolQ3vuCsHtgLcocMmdeHUBqi0zRTjn?=
 =?us-ascii?Q?4CYwybQyMdFJHJC8AqlJYXYuqmCueBhP5O5gtPEaFk81r3KN8xdlMw4bmtjs?=
 =?us-ascii?Q?LE4tWYzu3HOlpAAF36ygdTqEO/4MKQCVSoCj8aP38zVbXkdGvzQ2UrUhLaM9?=
 =?us-ascii?Q?X02a9nMcZNlawbfCl+xuXI1f4Noa9wgJ1X+uyHSDVhG4nAt4NoQrFOfxgmEB?=
 =?us-ascii?Q?KdaREBoInloDbvHq0PH3we7MxYDX3f1JnJg5SrrNMnuOjZDY8+6GSgAI5OWl?=
 =?us-ascii?Q?OD0zNBS57PT3gnUMWA/MfhHvlE28uXxNSYRuLVkI+tPUrBUp2EvkeWFqphC8?=
 =?us-ascii?Q?/ouwuwm+67ZfB++ZoJwHkh3pSfX5LwJxZXULbfx2v5DTvu5+ajQ/wVn+zGBS?=
 =?us-ascii?Q?VeZhUwRzKyPMd1LlXtkV7zpqfsS0TbJXET8UHiaaIRYgG8aOwZJ9A05Vs5na?=
 =?us-ascii?Q?gXTA91bcsDTP4JiH4BKcNQejFtvOxRT4poK+zrThJzND1oZAJlbovN86JxF5?=
 =?us-ascii?Q?Rvnb3cO/sXr+Uib6SrS49LvUfEzo28pGjdBcC3TjsX+yG2vxD7XX9M08AD4K?=
 =?us-ascii?Q?JDemVpGW0o1qjo7f3thLQn/YSze2UYuxY81MkJHRMYC+dOdd8oxksEVbiF9w?=
 =?us-ascii?Q?LqRYNVmBrcAl7HALTL09nq/Pgwpontdssfm9pwuMITGUGG+2VuTUDk48NS6U?=
 =?us-ascii?Q?hB9z29kdmO972ru/mUIRr1U5lJ/IYcraPf9g1m30a2f0wZkkjmf5ukaoYera?=
 =?us-ascii?Q?fFYtfUBZLSC4Zwk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 22:03:56.8513
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e417f6d-e3fc-4f50-c021-08dd5cfacaba
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000144.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9344

Expose the new hardware and privileged domain flags in libxl_domain as
boolean fields.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 tools/include/libxl.h            | 16 ++++++++++++++++
 tools/libs/light/libxl_domain.c  |  2 ++
 tools/libs/light/libxl_types.idl |  2 ++
 3 files changed, 20 insertions(+)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index f8fe4afd7d..bdf4c301c0 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1010,6 +1010,22 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_DOMINFO_GPADDR_BITS 1
 
+/*
+ * LIBXL_HAVE_DOMINFO_HARDWARE
+ *
+ * If this is defined, libxl_dominfo will contain a flag called hardware
+ * indicating that the specific domain is the hardware domain.
+ */
+#define LIBXL_HAVE_DOMINFO_HARDWARE 1
+
+/*
+ * LIBXL_HAVE_DOMINFO_PRIVILEGED
+ *
+ * If this is defined, libxl_dominfo will contain a flag called privileged
+ * indicating that the specific domain is privileged.
+ */
+#define LIBXL_HAVE_DOMINFO_PRIVILEGED 1
+
 /*
  * LIBXL_HAVE_QXL
  *
diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
index 6751fc785f..c6e3072027 100644
--- a/tools/libs/light/libxl_domain.c
+++ b/tools/libs/light/libxl_domain.c
@@ -291,6 +291,8 @@ void libxl__xcinfo2xlinfo(libxl_ctx *ctx,
     xlinfo->blocked    = !!(xcinfo->flags&XEN_DOMINF_blocked);
     xlinfo->running    = !!(xcinfo->flags&XEN_DOMINF_running);
     xlinfo->never_stop = !!(xcinfo->flags&XEN_DOMINF_xs_domain);
+    xlinfo->hardware   = !!(xcinfo->flags&XEN_DOMINF_hardware);
+    xlinfo->privileged = !!(xcinfo->flags&XEN_DOMINF_priv);
 
     if (xlinfo->shutdown)
         xlinfo->shutdown_reason = (xcinfo->flags>>XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index bd4b8721ff..4fab558896 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -365,6 +365,8 @@ libxl_dominfo = Struct("dominfo",[
     ("shutdown",    bool),
     ("dying",       bool),
     ("never_stop",  bool),
+    ("hardware",    bool),
+    ("privileged",  bool),
 
     # Valid iff ->shutdown is true.
     #
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904071.1312034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJK2-0002Jl-TA; Thu, 06 Mar 2025 22:04:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904071.1312034; Thu, 06 Mar 2025 22:04: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 1tqJK2-0002JW-NF; Thu, 06 Mar 2025 22:04:06 +0000
Received: by outflank-mailman (input) for mailman id 904071;
 Thu, 06 Mar 2025 22:04: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK1-0000St-5a
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:05 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20603.outbound.protection.outlook.com
 [2a01:111:f403:2413::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9ae5527-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:03 +0100 (CET)
Received: from BL0PR02CA0058.namprd02.prod.outlook.com (2603:10b6:207:3d::35)
 by BY5PR12MB4179.namprd12.prod.outlook.com (2603:10b6:a03:211::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Thu, 6 Mar
 2025 22:03:58 +0000
Received: from BN3PEPF0000B36D.namprd21.prod.outlook.com
 (2603:10b6:207:3d:cafe::6d) by BL0PR02CA0058.outlook.office365.com
 (2603:10b6:207:3d::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:03:58 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:03:58 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:57 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:56 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9ae5527-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=x8mJbBtB/kEvU0i+jc7cpuxBZCQXCzkRi9nidOpzC8ITlkDQxY6L+lDifJiqZT9iElAs1k5TZS4JF3G+stl6FisIU2UuxeHKAItmn7PipJDwpI5V6RhdN28DyRptWpCnavwXwO3I9E0UqOTDQj3zUea9GkNpyRPWHGhAArT9QJ5HadkHKzQOUbrrUxL36hEE2TI8fNXNIHx6ngvXonlVN9cTMEwcKxkvU3q87V+H9cyv4vn1cHlXLIpS6MJ7ffbc+xKNNcVypY6YLz9OcTV9LuJZkKocl/fJVJn/2vbakX7Am2WDn4OkQXAD5Of4xP+j9DITxMEJ3xbcA50xGZDGPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NzAMmJ2y9UG57sCUdrV921xp8rnXUBaxfjOw07lBiGM=;
 b=hzzeeWnzimISjViHPGNxb0yDy1/+jtY9vg4YFe6IbMtPSS86wXPaqrc3t2Ih/CgxdReyJlJeQtnLp4c4Ayc4NpjiokO7WAxXfTOq7VNPAtbTdxXjSv4SWFjX9aH98dbpwe4BPQKQdzodbfWMPeUmF2QZOUPB82wH8eXzZhjOZGqDE1mV1SLMWk/780CMmKpx3MI/chAnF8yX+jXmwatRbYuSK2o4g4Wmo8MT4g/PaoBHaV5vCqJGvCK4bY/IuhvUPuu+yZKGt8OREupLOc4C0hp2TWBXnKCytsui6jA4ANHnOkpkD1eSZdlG9uonAayz6N3a2b9evXez2lr9g1cDlA==
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=NzAMmJ2y9UG57sCUdrV921xp8rnXUBaxfjOw07lBiGM=;
 b=2hyNAqzks8yOAroztKAmQ3EbAI8na2FFNjZnjO9ZAwEFjb79XiMkHcifM2mXoNQzDAYt3oRNjWbjxTeF8VK5K38mefTK2uYD9YZ6j1ZpJCrQBrKbbkPTL80/PdOiCYG5SajktqSJZP7s/fNoLMwFSZnrkvczS7VmVwSwqK1y6qc=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
Date: Thu, 6 Mar 2025 17:03:28 -0500
Message-ID: <20250306220343.203047-9-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36D:EE_|BY5PR12MB4179:EE_
X-MS-Office365-Filtering-Correlation-Id: 99cc459c-f904-45c1-3a88-08dd5cfacb7e
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?I8bgLuB3Ry5t4YNdDYLd1wi4V0aSa+rx6wvCtJtA9Lu4+SJ/oNRG2Sk+vgJu?=
 =?us-ascii?Q?pRuGbZm/VnfXa+pd+C8llTSIqp6SZyKkXLVG+ZfyPAp0yZUHCYat1itdgSss?=
 =?us-ascii?Q?u87G93BHnsr2ryleXlf2d5ip8teGHYPBv8324Y7KHYa/D7Dfxi30II+7dd/7?=
 =?us-ascii?Q?xGCL00wLouvtOnszm2+U96CUlq4rx1xed1fGwjafX3kq1xMBz0JqmdD1ttt4?=
 =?us-ascii?Q?yo38OOzycI0+Fz/ylJn6mpmYupi5Bf6GufbVYLV+ZVISz3eNfGIefcm8D87h?=
 =?us-ascii?Q?vB56x0ruAA9G4yLfB+OJ8DukGPwh5d0YIpA6doXN6GQL/enUrDEvxoWk0dem?=
 =?us-ascii?Q?pmXd5w/+VqAQh8w0bV+rW7piTULaWbXZCUIyZ97AMjSAfIAnp3CycQqTA0py?=
 =?us-ascii?Q?4Tu+bW98Lq7aUapNbmc1CsyG2cN3bc9rqsoEn95O0QGknabQJnmeOp5zOmsW?=
 =?us-ascii?Q?2FkwVLOOUNssaXDSS6bSOCUg1RXYQSMKRrGELORcLI1gB9LyafTXR8XitsZz?=
 =?us-ascii?Q?oLmHw26C/zWa8iUjh5y61KUBEmZyNuakqv7xgwwSsBnJGRTNbVPMdXdllOnw?=
 =?us-ascii?Q?kM7tVqw8pvmpPW7VBC1PaGJH7ccFNKnSlQqrsZ0IMuK4BIpe9Kf/CFKAbGmV?=
 =?us-ascii?Q?CjQaoBK7asXlEPJQCDNCSbHOIBCR+ApnTtUaYhvR5Hiqxz5+j53sg57YYnNC?=
 =?us-ascii?Q?3BbGkSjGvjvOV6k5N0mzX3gLAzghUO8GuhV8XIzzzmnPtlUC5+pZ2YvV910F?=
 =?us-ascii?Q?w7JlUof/BztWYTbspc8ytQfTsLmeSDPQnLq99jwglfhP3yJx3pLB0QyIeuhe?=
 =?us-ascii?Q?IwgiL5zdQnCL//U1qGHurhsjy60fw7kIAAEW5NSgQ36uIuUvQ1kwBF0xsJwt?=
 =?us-ascii?Q?BK7NBhXyHkTV+9vsD4v0qzjrH2S8QckzxhLh6M+JfTPJpoYY5KfmngLkaFik?=
 =?us-ascii?Q?Ex+cuPY1T3bQd4PRrPEIVqLYKdKA5aa2DcD+ImZMzop46QAwMYbSMboC1tSn?=
 =?us-ascii?Q?z9gH4qwFUluK91hS9l/l0EAVE2Cx8XFE9xmUac7ZPVfpssfRVOfUYyA/09dm?=
 =?us-ascii?Q?kFfJIA20iO16QldCSul4NSbiK8oiSJ4Li0An0Qq2SDkazgG1gCB3z3wL+abI?=
 =?us-ascii?Q?q3sd75+YVDWDi6Hm6hcSyDr3dashqSX4FkmmQNk3gHO1sS/3UnttKtv7zbAW?=
 =?us-ascii?Q?A1C4wW5uVSkv0qn9iOC3LqFCj92DzFn5QL1ygOewjhiNQ6mfg6DP0IuBJh1r?=
 =?us-ascii?Q?jkAPOAz1kLYVtpwABh8JLPgkUecEJlDMHw+4in6AekEQ4TqjW3DhtzUDVBRe?=
 =?us-ascii?Q?FLxo7fxs1oliTDEphO3iihEVa4klCgloxSB17q0sY4z3wiC32vlVz+W8sRTu?=
 =?us-ascii?Q?DPmjpT5mwoFoi6hQ9lRaT/d38Kxax9ZV68NLQtKRkkWm0lYvKzsv577tUXS3?=
 =?us-ascii?Q?SJU8QECZpOqlixJf8E1WjLHqHk9ad6jqRO2hffEPoDEYTTBp7SID/82GBm1Z?=
 =?us-ascii?Q?KeJUpRaH/uBZ6pc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:03:58.0855
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 99cc459c-f904-45c1-3a88-08dd5cfacb7e
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=[SATLEXMB03.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: BY5PR12MB4179

With a split hardware and control domain, the control domain may still
want and xenstore access.  Currently this relies on init-dom0less to
seed the grants.  This is problematic since we don't want hardware
domain to be able to map the control domain's resources.  Instead have
the hypervisor see the grant table entry.  The grant is then accessible
as normal.

This is also useful with a xenstore stubdom to setup the xenbus page
much earlier.

This works with C xenstored.  OCaml xenstored does not use grants and
would fail to foreign map the page.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/dom0less-build.c |  9 +++++++++
 xen/common/grant_table.c      | 10 ++++++++++
 xen/include/xen/grant_table.h |  8 ++++++++
 3 files changed, 27 insertions(+)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 068bf99294..f1d5bbb097 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -21,6 +21,8 @@
 #include <asm/static-memory.h>
 #include <asm/static-shmem.h>
 
+static domid_t __initdata xs_domid = DOMID_INVALID;
+
 bool __init is_dom0less_mode(void)
 {
     struct bootmodules *mods = &bootinfo.modules;
@@ -753,6 +755,10 @@ static int __init alloc_xenstore_page(struct domain *d)
     interface->connection = XENSTORE_RECONNECT;
     unmap_domain_page(interface);
 
+    if ( xs_domid != DOMID_INVALID )
+        gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
+                          gfn_x(gfn), GTF_permit_access);
+
     return 0;
 }
 
@@ -1173,6 +1179,9 @@ void __init create_domUs(void)
         if ( rc )
             panic("Could not set up domain %s (rc = %d)\n",
                   dt_node_name(node), rc);
+
+        if ( d_cfg.flags & XEN_DOMCTL_CDF_xs_domain )
+            xs_domid = d->domain_id;
     }
 }
 
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 6c77867f8c..ba93cdcbca 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -4346,6 +4346,16 @@ static void gnttab_usage_print(struct domain *rd)
         printk("no active grant table entries\n");
 }
 
+void gnttab_seed_entry(struct domain *d, int idx, domid_t be_domid,
+                       uint64_t frame, unsigned int flags)
+{
+    struct grant_table *gt = d->grant_table;
+
+    shared_entry_v1(gt, idx).flags = flags;
+    shared_entry_v1(gt, idx).domid = be_domid;
+    shared_entry_v1(gt, idx).frame = frame;
+}
+
 static void cf_check gnttab_usage_print_all(unsigned char key)
 {
     struct domain *d;
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index 50edfecfb6..63150fa497 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -45,6 +45,10 @@ void grant_table_destroy(
     struct domain *d);
 void grant_table_init_vcpu(struct vcpu *v);
 
+/* Seed a gnttab entry for Hyperlaunch/dom0less. */
+void gnttab_seed_entry(struct domain *d, int idx, domid_t be_domid,
+                       uint64_t frame, unsigned int flags);
+
 /*
  * Check if domain has active grants and log first 10 of them.
  */
@@ -85,6 +89,10 @@ static inline void grant_table_destroy(struct domain *d) {}
 
 static inline void grant_table_init_vcpu(struct vcpu *v) {}
 
+static inline void gnttab_seed_entry(struct domain *d, int idx,
+                                     domid_t be_domid, uint64_t frame,
+                                     unsigned int flags) {}
+
 static inline void grant_table_warn_active_grants(struct domain *d) {}
 
 static inline int gnttab_release_mappings(struct domain *d) { return 0; }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904072.1312038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJK3-0002Oq-Eu; Thu, 06 Mar 2025 22:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904072.1312038; Thu, 06 Mar 2025 22: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 1tqJK3-0002OI-6L; Thu, 06 Mar 2025 22:04:07 +0000
Received: by outflank-mailman (input) for mailman id 904072;
 Thu, 06 Mar 2025 22:04: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK1-0000Ss-Aj
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:05 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20611.outbound.protection.outlook.com
 [2a01:111:f403:2414::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e93ab5b3-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:02 +0100 (CET)
Received: from IA1P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:461::15)
 by PH7PR12MB5760.namprd12.prod.outlook.com (2603:10b6:510:1d3::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 22:03:59 +0000
Received: from BN3PEPF0000B370.namprd21.prod.outlook.com
 (2603:10b6:208:461:cafe::35) by IA1P220CA0001.outlook.office365.com
 (2603:10b6:208:461::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:03:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B370.mail.protection.outlook.com (10.167.243.167) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:03:59 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:58 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:58 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e93ab5b3-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EV3DAIknSCgP+WWDAKPkYKyVWbeAinVltIoL0TLyxOtziNhzrGp56j40Ocgi6j5L6QSPyz96RG+uNoxl80bP1agFEyRpMC1/LvXzr0ysDyP0p/secFJk8q2xLN48l4ZEz92u2Tzzxo77qvm6qGTtLFfjh6lzm7/4xiLkGZDXUuYSNMoPW3uTTaHGSLfKBQd47BCyUCXw1aj+Ie6CBk0zcHWxqKZq1leOzincZas+JWFUuFfbLLfDPvUCjkBifs7w6oNYNSuPb/liToQ+A5UUZmLWImFYwuwxeLbh9o3yCU/kxgFzrH9xXznht7urrOfklFHAzgxhCKj+3DItIXf91g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h3tMNxxL+69wngCwofVJ/wGbA20D0gJe7GF8lfRxq1Y=;
 b=TgFfai0727G/lazIs4SVgYNtYCrn6bE21tVpmuRqYsxfiNeiHjIPyRu+3cive6Z7FzykDe6RrkFc2ihR3eezzVEQsLvLSu28YkeIeiODhZc0q4oxal3LGSVKq1ROPS6nkdndFwGzNa6snTCg85uPtxGHJN2A/YiiYmzTd5G5OPsB3/ayLy9s46dIize9CAjS6TrJ/YpKYcBT9O5WL/YbtgrutvgYosDeIBfsSJxx1XUVbmUgkkaLu2DYxJfIeECvAeMYLaFeb2dranl0YaOR1PnrklNKiKwq957vQbuvzMmeWCiZxSSoo63CYAWsirsT36DdScAZOv62Tg0dW8/ONA==
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=h3tMNxxL+69wngCwofVJ/wGbA20D0gJe7GF8lfRxq1Y=;
 b=smkaHvpu03b8C94hFMRINJNG7yrbXRtnaEgpPtB3uZqg/+49hVqCXydlZkIhBsjnauer2x+eI6dXBOs3s/Ralv5WQO6WrPNbWTEh7epjnx67dKs64NdQ/C102o4ydcHPTVs8qtl40ql5YkS1LFv3azr1WMlaYgGUB5zmbWiGw4c=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>
Subject: [PATCH 09/23] tools/init-dom0less: Only seed legacy xenstore grants
Date: Thu, 6 Mar 2025 17:03:29 -0500
Message-ID: <20250306220343.203047-10-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B370:EE_|PH7PR12MB5760:EE_
X-MS-Office365-Filtering-Correlation-Id: 4830f4e5-5aa9-45d5-060d-08dd5cfacc0e
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?gNHPPqKJDgs6GwD36AszmwI7oqnKWwccyOupPOb5A0J6y6xOwhNqulb3ZlAS?=
 =?us-ascii?Q?joxjnGNFMKchlSflzjd3rg7Er6229s976CH+bOpz4XfQKNRmWx/VNhS2UxQZ?=
 =?us-ascii?Q?8WaWDNmPno6q89Km0pWBwrnUomJE76OY2a5/hFXSqBX81/2vJYpz3aWsJmsw?=
 =?us-ascii?Q?0EsYVSIda+l8oTsr9VW1zGkywqjbKDxml+x1J90ClcDiVXPFmPCTGUM5HmJp?=
 =?us-ascii?Q?xmDc1I5iIacFzKvB34IzVd/NVOWNev+mG8uzH3Ntop3BpCGL9ve1WS8a9ump?=
 =?us-ascii?Q?GbJ2SAt6tf1+nN9O2uweyNNgCU92X0bebq+bz1fU1DdJOAIMbuIVPw8vW9/P?=
 =?us-ascii?Q?y+a+a6858ywWjBg965/3hB7P48fum6oU8uQSbSNmlGF0HRM9yTfxfVp+ngtp?=
 =?us-ascii?Q?pv0d58cTEuylZEMo3OnRXOGjpVpp8xf1Jt6Ra6xPwm5rmZlSEH+fE9lpiCkj?=
 =?us-ascii?Q?RVW8o7NYCFdLdT7Vmwl4VelTVFw9P9+tSIaeBvYj+hOmcj4CIdowWKNhNgQo?=
 =?us-ascii?Q?IdxI0/gyOzk3BT7HUpHbIAmuD24kXwh6mfPJF58zta/9kb6/IVggx6CB5uqm?=
 =?us-ascii?Q?lbZFjp9iNvBRifKv6SbnFKrfOQI7lz81byL1rCuOT6yxR9G/S63rHwJnYam/?=
 =?us-ascii?Q?3ptg9mUEfbynqQ+joYstii/CIjEfkDoC66rQ2MD0D/nfS0ejvzcxDfHzFsaS?=
 =?us-ascii?Q?QrAdMOjrCG6qbgPrNcdZMQd8s1VhlQJ7BkAts62ssXQSd62kTQk+ElFAscc6?=
 =?us-ascii?Q?tOP1tg3bsUw+TJVUhAfCHfV+76QWfDYmhUp7JPf6/I/px7fJ78Pftc6vEPbM?=
 =?us-ascii?Q?5EHC7x88g7HzMCss1JBrYEbfn8C2SHI5VxMBYqrunAlRSR9HnY3U8mzsxO46?=
 =?us-ascii?Q?qEEdGpec3G3yvbBioNNpoaSL6QpToZ44qm2AQFT/DICUox+WRd9L8IzS4QAU?=
 =?us-ascii?Q?Xw5+QtzNoDUguc8SI9TZu3k9QNgcffdVsHwM3gl/nkPwXPPQqVrdULye1CIS?=
 =?us-ascii?Q?Dfdv+rycK9A6GmZVSqYWgDWDApYJYDqigyZUZfYaphpFuO8JBfGmRbFLMUDB?=
 =?us-ascii?Q?76Wlgg+VLwNt6fr5wZA5SagIhINCATxb8xeduylRLBgpngmaZ9LWbcFPJkPj?=
 =?us-ascii?Q?uhc0Pd25UDzVw+E2X2MNkexXhuUg6vGIMOJ5+9GqBjMDbwZ8O1LxhgrKn3mN?=
 =?us-ascii?Q?mc/a3vbRy/8Q5JR57qDfZonu5lZWqIJzB5bfZNp5NZQbU8Vw60mzdVsJMe49?=
 =?us-ascii?Q?bRgTQ1TPVg0TVQUGCfcTvlph21fqPfewVg5vLXEUCl4zYVJhy9bWm/Omzd8f?=
 =?us-ascii?Q?0170RusmwHAQXrLrNnJ4azrSjJBxgpk3b02L/HJATLDlLLyg1e9YH7qtN/86?=
 =?us-ascii?Q?G7XhKR34UHzWUi/+KcV/kUL4zN3P1m+mkYTFlrS7f3feqtvIoN+nFVSUz9Cz?=
 =?us-ascii?Q?SdI0Efwa1UZdeYglC8ns0KlhjiEdNaRjmx5ViFHBAV9uwNZxTEmJwwAZbRs1?=
 =?us-ascii?Q?Gy0hvNh7c/oNRpQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:03:59.1060
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4830f4e5-5aa9-45d5-060d-08dd5cfacc0e
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B370.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5760

The hardware domain is unable to seed a control domain, but we want the
control domain to use xenstore.  Rely on the hypervisor to seed dom0less
grant table entries for Xenstore, so this seeding is unnecessary.

However, that only works for the new xenstore late init.  The legacy
protocol which uses init-dom0less to populate the page still needs to
seed the grant.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 tools/helpers/init-dom0less.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index 17579fe2e8..91edf17b6c 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -286,12 +286,12 @@ static int init_domain(struct xs_handle *xsh,
                 xenstore_pfn);
         if (rc < 0)
             return rc;
-    }
 
-    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");
+        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");
+    }
 
     libxl_uuid_generate(&uuid);
     xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid));
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904073.1312046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJK4-0002by-Aw; Thu, 06 Mar 2025 22:04:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904073.1312046; Thu, 06 Mar 2025 22:04: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 1tqJK4-0002aA-4U; Thu, 06 Mar 2025 22:04:08 +0000
Received: by outflank-mailman (input) for mailman id 904073;
 Thu, 06 Mar 2025 22:04: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK2-0000Ss-Aa
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:06 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2062b.outbound.protection.outlook.com
 [2a01:111:f403:2414::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea70cf98-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:03 +0100 (CET)
Received: from BL0PR02CA0067.namprd02.prod.outlook.com (2603:10b6:207:3d::44)
 by SJ0PR12MB6880.namprd12.prod.outlook.com (2603:10b6:a03:485::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.28; Thu, 6 Mar
 2025 22:03:57 +0000
Received: from BN3PEPF0000B36D.namprd21.prod.outlook.com
 (2603:10b6:207:3d:cafe::b9) by BL0PR02CA0067.outlook.office365.com
 (2603:10b6:207:3d::44) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 22:03:56 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:03:56 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:55 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:03:54 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:54 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea70cf98-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jCdpWR6pP4yjaOBZgGwDtmjnJPrwj/1WPNQTOYRUvNuSXKxdXjs/I8SStc3S5i3f2JuSOgAq/+tOE3HMZpei3RLxufvBB2LzT4S/YczS0ZmFCHx2y5eWpuiyl4oZpk7jA8xflRKLAkpQmjAO2gtNA0GDo1v+sdWB3cttiW0ybVAB725E1aMqY+lKhTrTAvLamHFfD09Pe1SDF+nmy8eCuVCY/KOcSdCBFxn7trVcD3y/r4prFXANux+6kFgbJrSyDFA6jcAEO/ujhvYpcz2WAmv6t6g1f43HbaegW7coX0rkdo/KDYiDQrPPJ5KVkxA0bpvN0xlwbMmVqv/OdsUqUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gxRTK5sPthCjce7F1tIG5rxl4Y3DZmkzwFsUXndn8/c=;
 b=n3zxn8/UkaQ0WSdgCx4GfmlgF1oCDQISXhLiBA+BxIgK1EZQvps8Lu2lPyM/ByRyXp2rTT7UvEcVs8qbEj7kaTnuPTcqH37rfCt5o66zoG6RbYaansvayXmSUnFe+komby/4RHmyCvGclhaUbSJKCAdrO4SatrLXjAwMPa/2kNgiij0Kdl0qzm/o6MKrJJi0/szk0hkKfbVtBhue5Hfm4XTp3uPwj2Ua7TUp1FGWXBWHHfe76fG0F+hIwjfYjTxcotMipI+eWEY4GDWONjnGEBbjsJNplWOcpJo6qm3itxEWrqUyEybuUr902XetyhPbEbXQ8VMS5LzIYNv4pnGKew==
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=gxRTK5sPthCjce7F1tIG5rxl4Y3DZmkzwFsUXndn8/c=;
 b=WH0GSUGCnXgrKL3QFzmn/8q040fQQTTnfv4T2OgbL+KsyujZlDxA6k9dVv8susjDj77L8PN+vo+3EskT6F3hcmfPmG2PH7HzcvZX6TyGqISnZjhfvByzHbbgceiEtoLG0k5dPieJrvF0rvo3ahwYKOAAphmsTi7qkIcNOd1NifQ=
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=SATLEXMB03.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 06/23] xen/domctl: Expose privileged and hardware capabilities
Date: Thu, 6 Mar 2025 17:03:26 -0500
Message-ID: <20250306220343.203047-7-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: BN3PEPF0000B36D:EE_|SJ0PR12MB6880:EE_
X-MS-Office365-Filtering-Correlation-Id: 197b53d0-10cd-4907-489a-08dd5cfaca48
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:
	=?us-ascii?Q?sQQy/wtFRj4CW/HIQ0CvA9jvqNPkA6HMlW19/aNJKP3CNy5jl2h2F1OXXG76?=
 =?us-ascii?Q?QRSv1/A2wUJudiSNkp1BWQNCDsvkyL2mAPBylwiHswN72oofT5tnX8YyHBZN?=
 =?us-ascii?Q?Aya0HHbrNPIYtJ7fa+9kQbHwl/DbL+Qsm/zZn/l7ePiqC8ijGLFnM0NKUszo?=
 =?us-ascii?Q?QIi0E7pSn+TC9vMBlZwgxuzAzlQBhC5LhYrcN7vdfm/dqvRmFrZS0xlLhDJ+?=
 =?us-ascii?Q?2EWkcVaah/L3S9oqYzYNt60VxvUpJ9WX2+mOq1JQRLesfZJe3TU6sX4F9j3u?=
 =?us-ascii?Q?BNN48+jF9Bi5kiV6kKxOKA7knjVkbTdHE/Z4sV2dwAWguFTCDMhbQeJPmBP2?=
 =?us-ascii?Q?57oTuwcOghc3qLV3RJ0sXkuo7xBZdEwa4m82VuRufANf8cv9vtvNl/nzAvik?=
 =?us-ascii?Q?PdVvGR1/dOGVJVPUXFt+8lg+zpDa/NmqUt6yYYdht57wM0Om5Ds7P1nD98L4?=
 =?us-ascii?Q?OThD/iif1vmp/QL8XYXyR5pd1q9aAsunsaJ4MxHQY9ZkhEkeOgp95uGtabPM?=
 =?us-ascii?Q?fObY5mmlutyiVl0nvGWegi054ebqEIgMBw+HFMRGDOYDRGP+lXmRH+xgDHPI?=
 =?us-ascii?Q?GqmQzNd07tPnEEsWEt4oQu/vYttyfKMaq1G6s8Ta0FgDGj0FDwTODP6A3N2P?=
 =?us-ascii?Q?R31eyjHwpE8Gi1csGbjD0vW9l9iZcvyr2r9Qryb5BmRbW6F9Lk3AU+tWoXsA?=
 =?us-ascii?Q?+WbkiA13LCBXxr0R1JHbrsrm35STWCcsrQKrx/+lx9B5Db1Qw7y4OLM4KsD6?=
 =?us-ascii?Q?UodBjikWDNwRtCVxsmXIURludpJ5BvN3hkVt5FYPFCK3LoJrMoy6Tsn5EMxh?=
 =?us-ascii?Q?ZMr9A5ro8b3esDD/nae56LccIWX6Mf4aGrvzlSkuZi/wAJXvsJQIr3i2dAxM?=
 =?us-ascii?Q?wAHnXDaSpRWWyRU9eGhBK0QO/YmdAU92x0ywIrFzwgjtlWjx+exS/dnohIx9?=
 =?us-ascii?Q?DNFRTuC3TiUI/Cgdk9xAUkpmFqyxGGhUsPXZCQsvu8bZVmtbChUz/rGk93nx?=
 =?us-ascii?Q?xkTZNwgMblyPweqCfgY7RYqIxGGfDgyTXgJnSyCUquLhrpNIY6u4S4CuHOkG?=
 =?us-ascii?Q?kON4FZ7zb5zPa6Bt61PJh6kffyp+KhhQusdZT1ZZlQRkXGNaorAlRyrpmo4g?=
 =?us-ascii?Q?qqQhy7+5gRqv1igdDepYU5bDtUDt728fzbTHkOIU+GZI0EVAIaK7Vj9DlX6S?=
 =?us-ascii?Q?SUBGrWGpOUdQJACfJLlhbF3oAZzjrxnc1LDpaB+OkNFrG+rjR/Ah2YDL6z3b?=
 =?us-ascii?Q?R02AOsK8sBkBnZFiuNrr8fajwr7wRFb2ZuGTFoCZ0dHdrHjqk6+njrgWRRgy?=
 =?us-ascii?Q?C4sZGjnYVBBODpz/mqjK6y6bRJsk06a1WxmdZDPIJ//1BBgFypC2kiMlMbhU?=
 =?us-ascii?Q?4X2IX757x5+1hprxS0ewvnXRorjaeP4yt56ganLxiUJTgOcHJQW4Yu8eww2Q?=
 =?us-ascii?Q?CYYbHa++aH/JV6kxULwXwPgdrGmOURPuLP1Hke+Irrzz+Y7qy8sPkKWYdCZV?=
 =?us-ascii?Q?sx1xyi9QbBo/lL4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:03:56.1323
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 197b53d0-10cd-4907-489a-08dd5cfaca48
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=[SATLEXMB03.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: SJ0PR12MB6880

There isn't currently a way to determine if a domain is the hardware
domain or a privilged (control) domain.  Add new domain info flags to
indicate these properties.

This is useful for a hyperlaunch-ed xenstore domain to determine which
domains are privileged.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/common/domctl.c         | 2 ++
 xen/include/public/domctl.h | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 05abb581a0..3c6dcfed87 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -103,6 +103,8 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
         (d->debugger_attached           ? XEN_DOMINF_debugged  : 0) |
         (is_xenstore_domain(d)          ? XEN_DOMINF_xs_domain : 0) |
         (is_hvm_domain(d)               ? XEN_DOMINF_hvm_guest : 0) |
+        (is_hardware_domain(d)          ? XEN_DOMINF_hardware  : 0) |
+        (is_control_domain(d)           ? XEN_DOMINF_priv      : 0) |
         d->shutdown_code << XEN_DOMINF_shutdownshift;
 
     xsm_security_domaininfo(d, info);
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index e2d392d1e5..84c2af6a09 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -155,6 +155,12 @@ struct xen_domctl_getdomaininfo {
 /* domain has hardware assisted paging */
 #define _XEN_DOMINF_hap       8
 #define XEN_DOMINF_hap        (1U<<_XEN_DOMINF_hap)
+/* domain is hardware domain */
+#define _XEN_DOMINF_hardware  9
+#define XEN_DOMINF_hardware   (1U<<_XEN_DOMINF_hardware)
+/* domain is privileged */
+#define _XEN_DOMINF_priv      10
+#define XEN_DOMINF_priv       (1U<<_XEN_DOMINF_priv)
  /* XEN_DOMINF_shutdown guest-supplied code.  */
 #define XEN_DOMINF_shutdownmask 255
 #define XEN_DOMINF_shutdownshift 16
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904077.1312064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJK7-0003LE-O6; Thu, 06 Mar 2025 22:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904077.1312064; Thu, 06 Mar 2025 22: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 1tqJK7-0003KF-KC; Thu, 06 Mar 2025 22:04:11 +0000
Received: by outflank-mailman (input) for mailman id 904077;
 Thu, 06 Mar 2025 22: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK5-0000St-SH
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:09 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20613.outbound.protection.outlook.com
 [2a01:111:f403:2413::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec6ee5e5-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:08 +0100 (CET)
Received: from BN9PR03CA0068.namprd03.prod.outlook.com (2603:10b6:408:fc::13)
 by MW4PR12MB7467.namprd12.prod.outlook.com (2603:10b6:303:212::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.20; Thu, 6 Mar
 2025 22:04:01 +0000
Received: from BN3PEPF0000B372.namprd21.prod.outlook.com
 (2603:10b6:408:fc:cafe::79) by BN9PR03CA0068.outlook.office365.com
 (2603:10b6:408:fc::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:01 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B372.mail.protection.outlook.com (10.167.243.169) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:01 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:03:59 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:03:59 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec6ee5e5-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=acN1sRDCmHjMGSoyfHaDXvzhOaCbbHidpjbHBl19IJo62S5+/R3sU9mSkpeaZN/vVANoggMCMK0lGIkuKjylxJ0NbUIIyDsQYDgOlp8cUcpEsvFO7dMjagppjLNLTQIfoxrRsjzytLQ3gZfkhOji4e39p1c2dS1J/b2uFANsCjl8E2A9Ys8KJ3TIiLcCMVxvVdzUtX71s4qcknrbtxCgiYhcrMhiPjxzifmzPIW6YUcPNScjjV6wEO9WUN54wl4TfYl7rYITL685SywEcMh2iQqeKYTq0+Ozlwg1YN+lX7LkqxnOa4zn7Ow1BMKLSs5QPbHnwWS2vfXYpfRGChNISA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rIC7xasjbalk/ExMtgL5X2h1ecLmO7GR38I48vi/PIw=;
 b=lbs9N7JC3Vg8gNlIecqSyNj6f+38gNyqckKK8CC3Qv7i3dB722yEvvK7AsWZMGgkZHPYS0BCq7QFMwMzNOnaX7JNYgx1YUfJafoGQXW4bxIYJuxNJcs3GbTVCoLRNnhz3eetHIdz8Xj7YjJAHXs6f51F/QG5ENmT4PlGq98QoNhcC1bxIlBbwM2tJDC8hYqTxOdpReUUaRZrNYBv0Euh+EYX5pNlY9AsS1wp5ICwSnyBvvcqmCBI2eeg2TFtKXfS9NvWZ6c5yntD0o0G5dtxoByuRCr7AtuAH0FqDJEF0RXMUMVd2qzxtKwC5mQk1LbIIJWyeo2cu+M/NdqF3mifVA==
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=rIC7xasjbalk/ExMtgL5X2h1ecLmO7GR38I48vi/PIw=;
 b=DsozZWtPWYpJyRqYZZ+jC5HU2Pe2xBXhYAdBMjxpEjY2DkWRUGlSvL/ZAqP5bjEXipvmFyx5e8EDVY5zC0vVZi8JhK/n6KnWp5ffmai0MAZTi2gKpmHmFiEPtsiXwO7GXstj1gmcIR4BgCiOoWR7U2MzlXufCwmUluYYjghFI0w=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH 10/23] xen/arm: dom0less delay xenstore initialization
Date: Thu, 6 Mar 2025 17:03:30 -0500
Message-ID: <20250306220343.203047-11-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B372:EE_|MW4PR12MB7467:EE_
X-MS-Office365-Filtering-Correlation-Id: 9cc91e06-025e-412c-5924-08dd5cfacd4a
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?zxWcu6lOjk22Bu8pnjwAHqSuyNkuQHIx3VzNR03jn8benuveqsm+zl+fhrGP?=
 =?us-ascii?Q?LolP8JTnzpcwExoJZj/5SZAQRAmkyJZEmVNlPSAb+4iWK6BL8q7kzC2hJ5ob?=
 =?us-ascii?Q?ZdTB36FT+MBtu1PFGVQN6YCFPMy8j/UCszJ14hYjrndWiNlMbvTBxyI7SVUa?=
 =?us-ascii?Q?B3TzXsqSResLHJYRiK5x2PuA8Gwm9brTHPtQLZopEOzAYjwGCqO2jsjBP45O?=
 =?us-ascii?Q?TCcFoM61oxh8Pr6id1pyoz8YgyRiKytZMYUvkVLmo44F0zWzJul8Qnu3b8k7?=
 =?us-ascii?Q?Xb03ELvdJpuAczF0l9z3Y05yXw8O+N/QCLAbriG5OAFd9SjXcTRRovXe7fQe?=
 =?us-ascii?Q?tfviKEpdccmngifcmAsFsB9GZ4jB31eFd8GeWzWw8IR5V5jl5CKGOqITq03h?=
 =?us-ascii?Q?VEhgd3ApPlzZrhAlH9xq/5rcshOlXAzr4S+LaWTGpXdA+AvB6GOCBfcEpGqD?=
 =?us-ascii?Q?cpAQPozFLjFS9enayz9YnPST4m0pZRS45xO4Ff95n8aB7gOKsnQWPGG+G5nF?=
 =?us-ascii?Q?eiY7jlQheS1DLJYWXk6/woAU3oLgB8pEPE5BfQyMBURahpbVwU012bUhrckm?=
 =?us-ascii?Q?RzC1QPTJaYPD/BvhAhJpImQKJd5wTE8o5sReAGnaWXTHiT/BWf5vZmMvAqwK?=
 =?us-ascii?Q?3GZ5RDAFcMiLBnLRzd6gs5bqlfgXZ1xagJdT/rZB2ngjZ+psSxWRhBBhUfss?=
 =?us-ascii?Q?7QLtrZcpmwAWz8Zm1l+ojo8NThXCsZePw1QGyh59f3nKvw7Fs75MypICYdLf?=
 =?us-ascii?Q?L1Jg0iQXNf0b72rq+bWPcY/OF6L7+qIiazhuhoSV2r8RsMeDIQcGdNdSR+1m?=
 =?us-ascii?Q?RVCRv+2cnCIcVe1F8FpuMJif+ngvgK3pjLJcG4c4iudydmnpHsaFgGQ2UsEk?=
 =?us-ascii?Q?mU6JJaYFiCf+uUpdAWWz05mnEBaVV/XoV4kLB2lJSXBy0teTlWaQrx52ziWo?=
 =?us-ascii?Q?UX8gQc+HuqVwPpARiBCZrqPzpb6VTc1Rw587gApnPLTmC8WJDgQl0Uc821TT?=
 =?us-ascii?Q?sxd5colMw8axD4aH4oRhwB/lHG8kAYSiixEeMSBb4hR7bDu5UY3/zQF27Asn?=
 =?us-ascii?Q?fhP8MWpDigS4DDwcTXauvri0yc5xnVm9oPAEMZoRIwaoibs8D8/npS3hQoJI?=
 =?us-ascii?Q?wSW+HUrjWNmF7hvMxkHwimYol4ThDFCSYbtSSHqLpdcIp8S6yA+mHXy9AE0Q?=
 =?us-ascii?Q?4uTiXG3vAaI2GnOunsk1BzcGCff+S0K0B926O+QnfldoPD811v18t0XQZXiV?=
 =?us-ascii?Q?RuMCuYF+pyilqctV1mohxXK3YetZoJanw97dXj7wcbqPripPVR4oUpRigHoa?=
 =?us-ascii?Q?wp9eH/1giVtBVl6y4GpR3ANb+BklaQjCQWJ6BX52lq150KjHcXkTfNWBvJFH?=
 =?us-ascii?Q?A6tRvrcuPFWWgIM+6ZULKPe6aXVUZmoAeb5lgIWOuEZOgDFR2d05uQ9Aait9?=
 =?us-ascii?Q?S2yyWykPzUUPOdckneC1dwp46k6kvi+u3Fw1If9DsXSeAKVMgD6geOn/hHjE?=
 =?us-ascii?Q?JR0HsE1W1Wp/u6s=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:04:01.1790
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cc91e06-025e-412c-5924-08dd5cfacd4a
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B372.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7467

To allocate the xenstore event channel and initialize the grant table
entry, the xenstore domid is neeed.  A dom0 is craeted before the domUs,
so it is normally available through hardware_domain.  With capabilities
and dom0less, the xenstore domain may not be created first.

Keep the population of the page and HVM_PARAM_STORE_PFN in the normal
domain construction, but delay event channel and seeding to after all
domUs are created.  HVM_PARAM_STORE_PFN now serves as indication to
setup xenstore since the device tree is no longer immediately available.
0 means no xenstore.  ~0ULL means legacy so only the event channel needs
setup, and any other value means to seed the page.

dom0 needs to set xs_domid when it is serving as the xenstore domain.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/dom0less-build.c             | 71 +++++++++++++++--------
 xen/arch/arm/domain_build.c               |  1 +
 xen/arch/arm/include/asm/dom0less-build.h |  2 +
 3 files changed, 51 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index f1d5bbb097..3b8153b05e 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -22,6 +22,12 @@
 #include <asm/static-shmem.h>
 
 static domid_t __initdata xs_domid = DOMID_INVALID;
+static bool __initdata need_xenstore;
+
+void __init set_xs_domid(domid_t domid)
+{
+    xs_domid = domid;
+}
 
 bool __init is_dom0less_mode(void)
 {
@@ -697,7 +703,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
     int rc;
 
     alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
+    alloc.remote_dom = xs_domid;
     rc = evtchn_alloc_unbound(&alloc, 0);
     if ( rc )
     {
@@ -755,10 +761,6 @@ static int __init alloc_xenstore_page(struct domain *d)
     interface->connection = XENSTORE_RECONNECT;
     unmap_domain_page(interface);
 
-    if ( xs_domid != DOMID_INVALID )
-        gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
-                          gfn_x(gfn), GTF_permit_access);
-
     return 0;
 }
 
@@ -767,16 +769,10 @@ static int __init alloc_xenstore_params(struct kernel_info *kinfo)
     struct domain *d = kinfo->d;
     int rc = 0;
 
-    if ( kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);
-        if ( rc < 0 )
-            return rc;
+    if ( (kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY))
+                                 == (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
         d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
-    }
-
-    if ( kinfo->dom0less_feature & DOM0LESS_XENSTORE )
+    else if ( kinfo->dom0less_feature & DOM0LESS_XENSTORE )
     {
         rc = alloc_xenstore_page(d);
         if ( rc < 0 )
@@ -848,6 +844,34 @@ static void __init domain_vcpu_affinity(struct domain *d,
     }
 }
 
+static void __init initialize_domU_xenstore(void)
+{
+    struct domain *d;
+
+    if ( xs_domid == DOMID_INVALID )
+        return;
+
+    for_each_domain( d )
+    {
+        unsigned long gfn = d->arch.hvm.params[HVM_PARAM_STORE_PFN];
+        int rc;
+
+        if ( gfn == 0 )
+            continue;
+
+        if ( is_xenstore_domain(d) )
+            continue;
+
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            panic("%pd: Failed to allocate xenstore_evtchn\n", d);
+
+        if ( gfn != ~0ULL )
+            gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
+                              gfn, GTF_permit_access);
+    }
+}
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -888,17 +912,13 @@ static int __init construct_domU(struct domain *d,
          rc == -ENODATA ||
          (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
     {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
+        need_xenstore = true;
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED;
     }
     else if ( rc == 0 && !strcmp(dom0less_enhanced, "legacy") )
     {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED_LEGACY;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
+        need_xenstore = true;
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED_LEGACY;
     }
     else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
         kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
@@ -1181,8 +1201,13 @@ void __init create_domUs(void)
                   dt_node_name(node), rc);
 
         if ( d_cfg.flags & XEN_DOMCTL_CDF_xs_domain )
-            xs_domid = d->domain_id;
+            set_xs_domid(d->domain_id);
     }
+
+    if ( need_xenstore && xs_domid == DOMID_INVALID )
+        panic("xenstore requested, but xenstore domain not present\n");
+
+    initialize_domU_xenstore();
 }
 
 /*
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 00bc484642..ba6bbb95c1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2373,6 +2373,7 @@ void __init create_dom0(void)
     unsigned int flags = CDF_privileged | CDF_hardware;
     int rc;
 
+    set_xs_domid(0);
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
     dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
     /*
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index 5864944bda..df879f93c8 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -9,6 +9,7 @@
 
 void create_domUs(void);
 bool is_dom0less_mode(void);
+void set_xs_domid(domid_t);
 
 #else /* !CONFIG_DOM0LESS_BOOT */
 
@@ -17,6 +18,7 @@ static inline bool is_dom0less_mode(void)
 {
     return false;
 }
+static inline void set_xs_domid(domid_t) {}
 
 #endif /* CONFIG_DOM0LESS_BOOT */
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904079.1312069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJK8-0003Pj-DY; Thu, 06 Mar 2025 22:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904079.1312069; Thu, 06 Mar 2025 22:04: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 1tqJK8-0003Od-1r; Thu, 06 Mar 2025 22:04:12 +0000
Received: by outflank-mailman (input) for mailman id 904079;
 Thu, 06 Mar 2025 22: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK6-0000St-S8
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:10 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20630.outbound.protection.outlook.com
 [2a01:111:f403:200a::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eccbd21d-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:09 +0100 (CET)
Received: from BN9PR03CA0081.namprd03.prod.outlook.com (2603:10b6:408:fc::26)
 by CY8PR12MB7609.namprd12.prod.outlook.com (2603:10b6:930:99::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 22:04:04 +0000
Received: from BN3PEPF0000B372.namprd21.prod.outlook.com
 (2603:10b6:408:fc:cafe::d8) by BN9PR03CA0081.outlook.office365.com
 (2603:10b6:408:fc::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B372.mail.protection.outlook.com (10.167.243.169) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:03 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:02 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:01 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:01 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eccbd21d-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=igBb/rNrJJtTj1OVw/FAjL+qntAwp/wMHNGkLxU36W0poKfz8Li5/B3WvTJ2UnE/7zdUV9yViiewLHaf8Tds4oH0R5cKRy48SJhesxYe4dUir50kx5HEgjKZYmUFdU5lw28ptdChd37K3zcPbE/WlT0lpFGbtQn1qlvgCs+l/+GG1+uSc+e0OZ8jYiLJA+GdBeVd+NjIcrD1+KS0jrwODlGD7nAsUOcSrEiWDGhOMji8beJ1Xw6/nxfXS7tKuLzNZfKP8QTvZZx/4TAhlW1X+3r9tjVqBoLyaFhyKtQUmZ9olWApidzqPPO+XoU0nEjp1FekSy648/kA6JRx9ViC1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u5QzHpUS/M4+Ej+uoZdfWGBbOum8MFaCVgkFfNvjpZI=;
 b=O1RpEQEogXejU97OBOdMxGK9X+5NceV1ObfC/5N15vaOflLUInXfr2QjylM7ALrtlEL3LZpFQJgAtAy8aKURnoAAYs38bBQE2ZwbaD4MwUKUXRn4u4XpgAB9zu6CZZbo3KDzT5Y+Sxxb3XkKIHkUO1gd2l0WtNQpEGEiLwIXGn27FUsW73zG4IOWa8g9yHt+5MsBqo0eUsxY0jPbQz8OHK24Stok5NwRXUnnlO6CkkS83aBo23hXBBRHZ1o7633V5KNMT0LnZHQav993wUebvdtjc1sq38XIycXi2yHSSm2vBmmKRGvJoqZRqYMZHfDmz0s176DfVrj4zrT+Bb3tCg==
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=u5QzHpUS/M4+Ej+uoZdfWGBbOum8MFaCVgkFfNvjpZI=;
 b=gMI8h3EsNOSj+TPbIOAB5KoSsQAQwF+0r4GecsOgoduHmWBU86zV+Sw05kXlQsJiEzmnIBqSc0Sa9a+2enqkLdiVyzSvq2Ptcy60uGMOKZ5wNU9yah3op/Zq1o02UVaeJ8upTyPajc8ncOQTCUkzgdd5qDkg+IrR6ZLbLJ/qzW8=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>
Subject: [PATCH 12/23] tools/xl: Print domain capabilities with verbose
Date: Thu, 6 Mar 2025 17:03:32 -0500
Message-ID: <20250306220343.203047-13-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: BN3PEPF0000B372:EE_|CY8PR12MB7609:EE_
X-MS-Office365-Filtering-Correlation-Id: 570705b2-b948-4482-3561-08dd5cfaceab
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?XfepmS+/jEpYvu4lv01+myQGRIaYEXrXeSn6DzfUgwgMOZmhAS1B7bEUmELj?=
 =?us-ascii?Q?eczAH5/q4U/Z3Z195AzemLpIoi3eSJWSdeh/uT2tmXInX45qqNMWDgAs3Kd7?=
 =?us-ascii?Q?N1liIVB+8tsYKVkhidFnC3fe/5uGyEnK4B36tBYUEOMVAagWJ2lNN6y+pkFx?=
 =?us-ascii?Q?I9Taur4KaCgdfcaZRcsrKpieW2cvJvQb6rncUvq1VW2045bBZci5eAdvH0Cc?=
 =?us-ascii?Q?fOj3/j7fHLI9uynsEMiAF7mBeHLdP2QlrZv8wfHNtkVcz3J5vk8oDLRnixLP?=
 =?us-ascii?Q?S6zO0lQTQtwUqJ/2BFY7KuvCs0ap8Kuh/kYRYJeUxtsRG9tDTbiN2TM23B1r?=
 =?us-ascii?Q?aRnrHXlxrqfLypLZCXwdh3t9Ta3dzOZQbWgfY/My8mOc2px1X87k3iQ2nJsP?=
 =?us-ascii?Q?Uo2W8gEAOER4GEC2YlcLShvtRsdDRdTOcVtSKH/rsw5YYQn00/Xa7u4kZBFE?=
 =?us-ascii?Q?sNg+8ENFmfMTCWr5BSwEsdt4BAGmQpOC+FWwrDbrSnuG04V+Rh+mMDfQKHNN?=
 =?us-ascii?Q?ME1MMOq3/Z1k5RG9LL1heOB9Fud7vfirzKQxabC8/Yn7rQOo0tFpARZi81YP?=
 =?us-ascii?Q?9AAVs51C5euB7eAresIoyDajBIYXHMniuP0DwkS5Ut64jvePe22HpUCub338?=
 =?us-ascii?Q?1zmgGxfpEZ5aB19s/SaapY1d9CSK8LhhxtX3QN3ZhK8r3ADDYiScuB2jNoJp?=
 =?us-ascii?Q?KEhVddtE5/5kAMzo2EaeoHXs4NVNnhCgYmODpiO2elqWMiSFtLxA2xAcG7UX?=
 =?us-ascii?Q?0rrE6mgfStvggLSzeeV8rlGCBoFMiy6fN4iZbHSq2oMz75JVNajvqcWURfmW?=
 =?us-ascii?Q?JFJXE6CAaysSIrSslUxaRVFE2Ygmi0C7QLaUlq3uhNxkFJPxK2UXHTJhdJ7D?=
 =?us-ascii?Q?cTaDWdiXOSX1+CQbFs5b6LyO5aPU6BCJzwE5mBhVKA9PDx5+b+lWd7xVtUsj?=
 =?us-ascii?Q?hU/loW/+W7IAAnLyKKv4ijNaFXFvlPUL9d7zyVvFwurz9JKqPAlno5rQdX7l?=
 =?us-ascii?Q?os2UrZqw6zyX2iM8hN1Lcy4u2MC4mybwWHil/yAa+JqMxOKHMFMacjTo5eQz?=
 =?us-ascii?Q?FbXqH9qi6oSumjlakXB4mwkVph+sDFHxRPf2EF7sKNddHQ6BMAfs23ZrU2Kx?=
 =?us-ascii?Q?X4aGb2Q2hYXBQwA4w8iWum/F9qj8NxotHs4bZ9eahYXhX4zP5XitfGoe66Ab?=
 =?us-ascii?Q?+Pc6rATD8LFL19Qw/hBt1fghI7HFgZPPd8a2vz0Zvr/pH759uYJt91yUoaH9?=
 =?us-ascii?Q?2vzl39to1w8NxucE+ZLCX7fLWHoHAaO/Lv2814kqv2sK5WBJ2n0dsca7TzUD?=
 =?us-ascii?Q?giOVSwug4gwpXD5+QEd57Jy1Uagxc7E9ul6+LWmaXvu31Bh2htg95h/SWwFz?=
 =?us-ascii?Q?fBJVAXrePqV0nLR6IC/dNvRFCCiKoQqHfXAQQP7cuBWd/P9BNqGc/ONN5DQV?=
 =?us-ascii?Q?HLK5oTXRtgNK0knrrVhCwvOmR3aDmJZlib90sXM9VLkpwDdodv7Ycw=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:04:03.4915
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 570705b2-b948-4482-3561-08dd5cfaceab
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B372.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7609

Capabilities are show like this (long lines trimmed):

xl list --verbose
Name          Security Label      Capabilities
Domain-0                   - hardware xenstore
dom0less-1                 -                 -
dom0less-2                 - privileged

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 docs/man/xl.1.pod.in |  3 ++-
 tools/xl/xl_info.c   | 24 +++++++++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
index fe38724b2b..8e253180a7 100644
--- a/docs/man/xl.1.pod.in
+++ b/docs/man/xl.1.pod.in
@@ -313,7 +313,8 @@ Also displays the security labels.
 
 =item B<-v>, B<--verbose>
 
-Also displays the domain UUIDs, the shutdown reason and security labels.
+Also displays the domain UUIDs, the shutdown reason, security labels,
+and capabilities.
 
 =item B<-c>, B<--cpupool>
 
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 72e87eac46..3e3a793e12 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -384,7 +384,7 @@ static void list_domains(bool verbose, bool context, bool claim, bool numa,
     libxl_physinfo_init(&physinfo);
 
     printf("Name                                        ID   Mem VCPUs\tState\tTime(s)");
-    if (verbose) printf("   UUID                            Reason-Code\tSecurity Label");
+    if (verbose) printf("   UUID                            Reason-Code\tSecurity Label      Capabilities");
     if (context && !verbose) printf("   Security Label");
     if (claim) printf("  Claimed");
     if (cpupool) printf("         Cpupool");
@@ -443,6 +443,28 @@ static void list_domains(bool verbose, bool context, bool claim, bool numa,
             putchar(' ');
             print_bitmap(nodemap.map, physinfo.nr_nodes, stdout);
         }
+        if (verbose) {
+            bool cap = false;
+
+            if ( info[i].privileged )
+            {
+                cap = true;
+                printf(" privileged");
+            }
+            if ( info[i].hardware )
+            {
+                cap = true;
+                printf(" hardware");
+            }
+            if ( info[i].never_stop )
+            {
+                cap = true;
+                printf(" xenstore");
+            }
+            if ( !cap )
+                printf(" %17s", "-");
+        }
+
         putchar('\n');
     }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:04:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904081.1312084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJKB-00047L-2S; Thu, 06 Mar 2025 22:04:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904081.1312084; Thu, 06 Mar 2025 22:04: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 1tqJKA-00046w-UQ; Thu, 06 Mar 2025 22:04:14 +0000
Received: by outflank-mailman (input) for mailman id 904081;
 Thu, 06 Mar 2025 22:04: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK9-0000St-Ai
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:13 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2414::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee8f6afe-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:11 +0100 (CET)
Received: from BL0PR02CA0053.namprd02.prod.outlook.com (2603:10b6:207:3d::30)
 by DM4PR12MB8499.namprd12.prod.outlook.com (2603:10b6:8:181::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 22:04:07 +0000
Received: from BN3PEPF0000B36D.namprd21.prod.outlook.com
 (2603:10b6:207:3d:cafe::c3) by BL0PR02CA0053.outlook.office365.com
 (2603:10b6:207:3d::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:07 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:07 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:07 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:07 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:06 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee8f6afe-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ymiJ3kJPO2/IAiytx0EQF2xpcxtd9zAIBXkQ/FuswW022g+VUyyslLoj5Ujnqs2ZU6hcR4eBnpfom2mv3tv9Fza9yqK5NpbQJDb/hgJBGFv+HQvuNfHXIeqlAyS6lLlXgj0uH89W+RhBiJTZPA/lo80NS0SKvGuhO5f3J8edJYaGMi2oeyVqGheHwCEopzqxEuLSWP/CXfMsv5WDRcuIx6PidUV/kpNDto4AaiWo9zF5yQlg6WWYFrWijNC/yigGQyzw+REnfvhh/67lgIeM6wS2GaHOdW+kdBX9a/VmxXENCMMnFXqHe8jWnzfh9OevHwDp50yi2bnhpI2wOYUGaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gEDVZclDoayKYIruSx6CXgaFNq+WT+jOC46+4RZTaGA=;
 b=xNVdQHMDe0bZDLes+IeDc3zJRQ7u2r9mJbVq0NlrRIebPFjaL2CZXDBZoKtCJdZKLqzrkWRMM6ozle7CwUZEpMKleAStRNZpjLLdH2EaNabkBt/BfGY3l6Fnk+5fY/5S/H1EobwCSpD8prkeTxRLG9nViOk7DQw/dyV3OPEbZ7ciUtP3RCfmAPiByDyPiR/T8RSMNEiYlEEz+PsgrirWgB8oalV9prlrldRSx8oOqjk3dv8ccPqN2z+CGE3BbPxhNvtWAMmYtAi8mQkGa7XBeBCnpme39JrWdI0w3LLIiT49MLHE6lIF26pyIJFJJza0Dqcq0FHki/XrE9mvHeKQDQ==
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=gEDVZclDoayKYIruSx6CXgaFNq+WT+jOC46+4RZTaGA=;
 b=vIvxLt5YuAqZYYTP39WCnOUZaAHrq5DAFRhBiW4EcvIR9DTf+BVoI+CFHTP7L6DMaDHe9A3o1HyrdZRlMNDEGL6zHKZmctvFTi4x0OGkolkepGlOdPmDD1wjvtbe0rYWrUvUNZixkj6sMgZ74NaLJ2bnt1+puLdcPvZOBehsZ14=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH 16/23] xsm/dummy: Allow hwdom xen_version
Date: Thu, 6 Mar 2025 17:03:36 -0500
Message-ID: <20250306220343.203047-17-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: BN3PEPF0000B36D:EE_|DM4PR12MB8499:EE_
X-MS-Office365-Filtering-Correlation-Id: 953713ad-696f-410a-1e8e-08dd5cfad136
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?imTtpSo1j7vf396hrmWr7dIbRIV3f04ipIiQoYSG5bbQ2IiSZe0uutHFGoGc?=
 =?us-ascii?Q?jLEBJ3fBYm+2Cl2bmS1nNzP49KwBk3vMldYPrL9VKyNlgp9L6lxLhpVX760H?=
 =?us-ascii?Q?uchf1c8ObumNMaQm4ELsnrLPigT0YU/hRlgJdPwrhEIaTPK1ANsgbk9bs/4W?=
 =?us-ascii?Q?C0Ls4zuQVd1ggi8e6Dh9xtiE4dMH5A/4FgbnGDTa/CUHXjjrJA4DglI+0pvc?=
 =?us-ascii?Q?GoS09HWTkkkhYYGqHMYswTpMcJJc8c9hGkGTJZbBeUlLq0jsVQqvtUG6BO12?=
 =?us-ascii?Q?p3aqjZkwMY8ELSadHrxtTiyLzmouL/RflRqC1i9YnU2yDYha7Wxk3G9VC720?=
 =?us-ascii?Q?sXEt/3EsSkD0eg3+SZqg0msWR+d3fI3zCs3cTlxkMqzNSkZMh0UsBCCFAErK?=
 =?us-ascii?Q?nPLbSdDEQSZJrRsAl74HPHSgYjRN2hcHPnNCmnaFEiU2RMoPFv311fo7LtHg?=
 =?us-ascii?Q?7v8WNpCF7pym040PubPJDnVRBTS7dgZfwmmECu/HYDewIDOguKD7NoSiv+Pe?=
 =?us-ascii?Q?b0vwPENhCZqCNwna7Z06NFyABbF7QdOoT/8imRcOfx5nzB8e91+7CqMeuXbe?=
 =?us-ascii?Q?1k/YdmqPMPc6i3ScS/uof5w4S9SQuF98nqKYg4O+23vVw2dgabjsct1zNMHu?=
 =?us-ascii?Q?32KmV217XaNhw9ujctPDphFTzqOZHIZvnm5BKXPUb3qN+eGCVQQDp6VYdnHo?=
 =?us-ascii?Q?LHB2uPa6ZwuOav+3quyxxXmf7nNGHGgYorSeyYMWcXL293xtdMDB/2C5GV+e?=
 =?us-ascii?Q?HEoHykDZw14wW0lKOrT/WOjb7jRq4eMB/X+QdXN+KYJF4c/dkhrV9EOwDfRJ?=
 =?us-ascii?Q?svkAd2aHK46gqfaW4yJOGLL2sH+yTBOzLg7cgHVDNE6PxDq7KH7WQAYS/+yx?=
 =?us-ascii?Q?0Uvj4Bo1Sz0mUDlJy/ccTI7mZdKcLTcjyy5kfVxVkmBdY2Qlb1oSR97QyP22?=
 =?us-ascii?Q?MGUDWULAMkBAhFA+Y+tw9oVju/9dUx+TpArNvh8XiL4kObwfJ5pr9hU81Oab?=
 =?us-ascii?Q?wE1u5yem5oCXiYK8WccsSrKn/prdmIyAagUU3WEz26+YFQsiXzzNkAnI0S2o?=
 =?us-ascii?Q?po3Ed1xGWcJYOdtnddHZ6LbktoLJTQqe+qSTotcE5qRz02DhVSGnyBm6dqK+?=
 =?us-ascii?Q?TFixATnbAWzhaEbusSxkfEbvq1fp5716S6/S4krvJwXl5TBTLcQh5+MR3bdS?=
 =?us-ascii?Q?Z1DBq+483l4uYi7p9ONnjvidhAeCXMSYTVeuSQlSaWX9/t8FgFURVbkKBInP?=
 =?us-ascii?Q?QzS9lqXtE87MVCDDK2AenX9GWqmnVcjfHzT9Eb+soS8n5vj7QUqAQqdd6WZy?=
 =?us-ascii?Q?1XneqhxBRH/aGKuU0uuGky+pQ/yxiEAjHLHJs3cT1H/sENJSMLVD8USKOsqi?=
 =?us-ascii?Q?p46Tqpk0uTusXfixHEVNXRSZKs62pnryMxuPBgqEuYpOdBWggdzmkBuwsj7d?=
 =?us-ascii?Q?OAHWhmCi0c7/JNxeii0A/tyDYfs4882Zt7jZcDCWWfx62AyBMWIFQg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:04:07.7574
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 953713ad-696f-410a-1e8e-08dd5cfad136
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=[SATLEXMB03.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: DM4PR12MB8499

Running xl queries XENVER_commandline and XENVER_build_id.  The hardware
domain should have access to the command line.  The hardware domain is
at least semi-trusted - just allow it access to all the xen_version
info.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/include/xsm/dummy.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 4536ee5dad..9e6bc0ed12 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -859,6 +859,8 @@ static XSM_INLINE int cf_check xsm_xen_version(XSM_DEFAULT_ARG uint32_t op)
         /* These MUST always be accessible to any guest by default. */
         return xsm_default_action(XSM_HOOK, current->domain, NULL);
     default:
+        if ( is_hardware_domain(current->domain) )
+            return xsm_default_action(XSM_HW_PRIV, current->domain, NULL);
         return xsm_default_action(XSM_PRIV, current->domain, NULL);
     }
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:13:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904124.1312094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJT1-0008M1-4B; Thu, 06 Mar 2025 22:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904124.1312094; Thu, 06 Mar 2025 22: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 1tqJT1-0008Lu-0R; Thu, 06 Mar 2025 22:13:23 +0000
Received: by outflank-mailman (input) for mailman id 904124;
 Thu, 06 Mar 2025 22:13: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJT0-0008Lo-JF
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:13:22 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20612.outbound.protection.outlook.com
 [2a01:111:f403:2413::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 359bc024-fad8-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:13:20 +0100 (CET)
Received: from BL1PR13CA0104.namprd13.prod.outlook.com (2603:10b6:208:2b9::19)
 by CYYPR12MB9014.namprd12.prod.outlook.com (2603:10b6:930:bf::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 22:13:13 +0000
Received: from MN1PEPF0000F0DF.namprd04.prod.outlook.com
 (2603:10b6:208:2b9:cafe::5a) by BL1PR13CA0104.outlook.office365.com
 (2603:10b6:208:2b9::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.11 via Frontend Transport; Thu,
 6 Mar 2025 22:13:13 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:13:13 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 6 Mar
 2025 16:13:12 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:13:12 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:13:12 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 359bc024-fad8-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oxp0p9dOU+3BOeAvjM5QmSANGC0xDaghUTvzLeiQSCrRLawmtYvhOxx2mDPyv6R/KsnkU0+cvNSFMH8n+QOnE21q6z0I1IUkn8pl5/1LSjo2lBX51Lxr1yAJwc5G531osCZIdP7I1sL20ZGZR7XMk5qd9P8GpprEoU2lZzKdM8oteNBFUnTmnE1u47hFzkr8p2gtUw4WRi4CXw0NqVZqIFSrpzEGOr3fyPb6JV5oJC5zUpRLgCDU2Yt6JnZgg4J0gx0x5FS2wH88IdPyIdHnU/6ndR0cML7BSdwa00gGoshtRt+n8bW3REfR2MVGa2il/BouOHURxiN5a6+GNwNS2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TaJNdntK/qgZ8HTPyL3RyCw3rWdNqE2r7A8d00ZRWjw=;
 b=kjKk4o+FLd889ZdP8LUjdnu503JYod2KLMynhPBHeHvhjeePuePiuIJdPNbMMBs94dG2sE1+Q7VtOTvFtrELrS7OVO/mXALIKc3FLp3ho6ACe6tfUSW+UWEXeQDO0GRzKAPPu0bqRDM8IHD2WudMROwiX5rWCNUFrnI6W+wMYp4J1LdvAKrfc360xK5oyco/a8Z8uAnyvdZoupHEdI951BfPd7pBwpaCM6AkN0d2ahqYk3z5EFf05zjp9hUO4CecDOVUm7UtMkHH9n63sVinEv3uMsYm8zx4N47TOMJvNyuvqQxKxHcseohXPQVJHs3cnkfwVzrqoWqVQpefbntqAQ==
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=TaJNdntK/qgZ8HTPyL3RyCw3rWdNqE2r7A8d00ZRWjw=;
 b=dmL9czB37yVgk5CzEIXEfiuFxkIKez+NO0OpIENMIP4wbaWixlRYHBIDnToJSzIBVGRuCSR0zeKGeEpbUHKa9LTj+HP2L8gY2+YLfymegmYEtSEyXykYjs7rFrMKfAHX5nuDabYvTWSDlRH2rr1W0UvB0cCD33xUGgDKeS0T9VI=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Michal Orzel
	<michal.orzel@amd.com>, Jason Andryuk <jason.andryuk@amd.com>
Subject: [IMAGEBUILDER PATCH] Add domain capabilities
Date: Thu, 6 Mar 2025 17:13:10 -0500
Message-ID: <20250306221310.203221-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: MN1PEPF0000F0DF:EE_|CYYPR12MB9014:EE_
X-MS-Office365-Filtering-Correlation-Id: 29e7cdd9-9b92-4405-479a-08dd5cfc1666
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?tKg3Mp6O2AHCEGkPbejtEUQUKfOFiEwb18kWWhBCAfA2XzExs/CijzCchfF8?=
 =?us-ascii?Q?UFUtuIDrvEt9xikxrjW93OHhj3+6u6ItRZDx/c+4fcLE8i6rXqN3Egz8fwRG?=
 =?us-ascii?Q?ecZgAasVdM2TVzPQvTyVAjTFnBWap8zMd5xHjqfi9DWe0rpCEmqoSxEdG8ag?=
 =?us-ascii?Q?C9ItnrbM728bBPRMSO0wpSmK1iAALRxTRt4lr+N5D9N37rqHEZpIFyvEF1jD?=
 =?us-ascii?Q?YfOw+Hq8glLwcxfcXPFBaA2UcP9ie/7ftiKEIdsBP5H2I17g1Q/5tkGgqktF?=
 =?us-ascii?Q?cIKKQrw4GWEw7uUHUMkIpRoPgnth6JqHt+/gBglDCvGP/crfppxOjsTqCggU?=
 =?us-ascii?Q?AUtqwGlEkC1C4wTuEfzO028YhXjz3AJrbSDYvwh/qkiWUNLR1DTIQMR3f1bA?=
 =?us-ascii?Q?ohf/Rch5oOBqRWbICmOadUNIttTUE63POXanMlp0eJi4CGeXR5NZPbsIj4aU?=
 =?us-ascii?Q?2qSZB1cAMho00SPx7v/trqkJ9H1Co1H0NM/AbaBTW15GjYsOILvZa5R4fAvx?=
 =?us-ascii?Q?pRzXTxqOKVpE9Aod93AT1LvrThoGAY0KvMvvys+xEJLWtoD445aW+GP2RfGI?=
 =?us-ascii?Q?I/1aXM1vdR56b6sm1yV6jOKH/cYDa3a7qFrpH3n5JhFVe3dCb5YcTjx4PT3W?=
 =?us-ascii?Q?y4hZV2NFR450xWGhw1nsSlCEEufG0nP5tJlgwlXKxbD1yW5Z9yKiW6/9MBcR?=
 =?us-ascii?Q?7uGlgDT4DYqFnWHntSKIdsZon1o/ZIQNF1J0MmH3nSPVvOzIXu/9H0ZlI1d6?=
 =?us-ascii?Q?7yIOrGPrjjjx63fWJX8BXpDsofV5y+36JfFOsooWRKllETxU+r/sVv8tsqOU?=
 =?us-ascii?Q?CH5jW5Dku8wibijg11T5pX8+DLVO+/a4/NEdhVQQ/5aLC+hwL4CQGt0HUfpi?=
 =?us-ascii?Q?GOh5uACz1w/vXh6pZXpxiUtSGoKbWKOwLVTJ5jqDBjm9bbXwpH7MVd+qZNZf?=
 =?us-ascii?Q?4KvRC/gg7F5NLpKJRSQukTS/VfbAJcpHs8G3uqPVayfBWT4ByOf4lImbEYr3?=
 =?us-ascii?Q?hcgUGBUk/3/1+rQZeJUDBOAU1FriS7LuWuxF07//q9YTpNw6ul2IjR91ZOo4?=
 =?us-ascii?Q?Ss2rHaRgJBkvJXe46AUn0om2q3ftIpP5Jps/irPnpm0ozyuQhaQpFvLrOmfo?=
 =?us-ascii?Q?U7ilJqGod0y2SI5t2QKECbyd7yqt5zF+smLH3oa9EMnuw6qlK5wtwL5/2Mfc?=
 =?us-ascii?Q?aqIuEEusEoi28pknBeMLevMoV17Iq25oH6lPuoCaNSKR8Qwuju1On9tDgTmG?=
 =?us-ascii?Q?80R/f9vLhTmIbJt1BTRi1GfSKJT8uN7W90o133Wbhb46s5/kGhbAYDhRWJ7H?=
 =?us-ascii?Q?6ZfFUWyZ8IQymvHE3QpmOKJFHu7gp6q4ku89+Xq8z7cPxDTMsXNN+qYKdx3S?=
 =?us-ascii?Q?Orkwv50e1FV0qN+PSUwvTpUnWpqnYmVSfklpdwxzJqbnleYCIuTTYIviFFQx?=
 =?us-ascii?Q?CgHpzyGc1cEHwgG/YA8pbMsP5wBXjZ8m/zXYw6hBV0EcBhUNOdblXCoX027z?=
 =?us-ascii?Q?J156IDGNrLcq0UA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 22:13:13.3325
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 29e7cdd9-9b92-4405-479a-08dd5cfc1666
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=[SATLEXMB04.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: CYYPR12MB9014

Add domain capabilities to creating disaggregated systems.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 README.md                | 16 ++++++++++++++
 scripts/uboot-script-gen | 47 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+)

diff --git a/README.md b/README.md
index ae2fdfd..25c9b6e 100644
--- a/README.md
+++ b/README.md
@@ -250,6 +250,22 @@ Where:
   Set driver_domain in xl config file. This option is only available for
   the disk_image script.
 
+- DOMU_CAPS[number] = "string" or "hex" (optional)
+  A "|"-concatentated string of capabilities:
+    - control
+    - hardware
+    - xenstore
+    - dom0 (All of the above)
+    - none
+
+  e.g. "control|hardware"
+
+  Or a numeric bitwise flags to specify domain capabilities:
+  0: None
+  1: Control
+  2: Hardware
+  4: Xenstore
+
 - LINUX is optional but specifies the Linux kernel for when Xen is NOT
   used.  To enable this set any LINUX\_\* variables and do NOT set the
   XEN variable.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index db2c011..397d73b 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -309,6 +309,43 @@ function add_device_tree_cpupools()
     done
 }
 
+function parse_domain_caps()
+{
+    local caps_str="$1"
+    local caps=0
+
+    for x in $( echo $caps_str | sed 's/|/ /g' | tr '[:upper:]' '[:lower:]' )
+    do
+        case "$x" in
+        none)
+            caps=$(( caps | 0 ))
+            ;;
+        control)
+            caps=$(( caps | 0x1 ))
+            ;;
+        hardware)
+            caps=$(( caps | 0x2 ))
+            ;;
+        xenstore)
+            caps=$(( caps | 0x4 ))
+            ;;
+        dom0|domain0)
+            caps=$(( caps | 0x7 ))
+            ;;
+        [0-9]*|0x[0-9a-fA-f]*)
+            caps=$(( caps | $x ))
+            ;;
+        *)
+            return 1
+            ;;
+        esac
+    done
+
+    echo "$caps"
+
+    return 0
+}
+
 function xen_device_tree_editing()
 {
     dt_set "/chosen" "#address-cells" "hex" "0x2"
@@ -386,6 +423,16 @@ function xen_device_tree_editing()
         then
             dt_set "/chosen/domU$i" "max_maptrack_frames" "int" "${DOMU_MAPTRACK_FRAMES[i]}"
         fi
+        if test -n "${DOMU_CAPS[i]}"
+        then
+            local caps
+
+            if ! caps=$( parse_domain_caps ${DOMU_CAPS[i]} ) ; then
+                echo "Invalid DOMU_CAPS[$i] \"${DOMU_CAPS[i]}\""
+                cleanup_and_return_err
+            fi
+            dt_set "/chosen/domU$i" "capabilities" "int" "$caps"
+        fi
 
         if test -n "${DOMU_SHARED_MEM[i]}"
         then
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:30:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:30:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904143.1312104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJjp-0002in-Et; Thu, 06 Mar 2025 22:30:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904143.1312104; Thu, 06 Mar 2025 22:30: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 1tqJjp-0002ig-B1; Thu, 06 Mar 2025 22:30:45 +0000
Received: by outflank-mailman (input) for mailman id 904143;
 Thu, 06 Mar 2025 22:30: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKF-0000Ss-DB
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:19 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2009::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f129742d-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:15 +0100 (CET)
Received: from CH0PR03CA0210.namprd03.prod.outlook.com (2603:10b6:610:e4::35)
 by SA1PR12MB7175.namprd12.prod.outlook.com (2603:10b6:806:2b2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 22:04:10 +0000
Received: from CH2PEPF00000145.namprd02.prod.outlook.com
 (2603:10b6:610:e4:cafe::f3) by CH0PR03CA0210.outlook.office365.com
 (2603:10b6:610:e4::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Thu,
 6 Mar 2025 22:04:10 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000145.mail.protection.outlook.com (10.167.244.102) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:04:10 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:09 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:09 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f129742d-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=u5x9yXw8HTM+1bNPSwKrFNBXOJeelgEYriIrsWGpoB410YIWcSHcO27AKPIN7QDAzAXdBF/pmc8yx208fi9dlyJSHNe0nkqRqluiuorvE6AZBqYGS8fBfKL7uGi+WLKYvC4g5zW3XsdJY+B6TYopONsdSDr+cWu2X8vviOeSg9ro8nhrFLPyfPaH8VWai1Cuv283CBfUOc+P7nf++hOkJ3YrNdB86alYbtoZxlKvJCJof7yoQm9noZqQ97HDFGdQyBfRxrVmQslP9F6/mAbeOBusdlWFv0EIjolH5dGTUC6rkmmpyWjBe+OV8vHdds86Ian+ASTskUCjYFbVU9W8aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dNf6RjYjhNpFroM/vFGz8qFvPyty4gsB+36I+cSZL2A=;
 b=BV5vPonF4P83xj/goz1tpox21SxcnO3oM1B353uT2X7u0MMR5Th18TBVgV254vq0B8hPKvtbjSuX9IOBPHGuh4bdA63nLNvC/e6SKrGp+lckgNEBHJKjcvNTbVsUM2wAbpSA1aKcikgbmuEP7oiQfInEMgoBL8SvWDzNIf3IpWUg/OhipBkv8IXBdg//nupPxW3wF4pV9ox0XNILOluzVhmtIRjFgKFGC8huovy7Z+bXQtz+KKmhFUe0Pt5IJGZm0NjhxuqmTufVFi4WEj9Ju8KVg7L4bPoB8EAbFIiiEJ/I1CnD1EdJ7iL3FkU0xx43yw9gqmdgIQEnJAF79horLw==
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=dNf6RjYjhNpFroM/vFGz8qFvPyty4gsB+36I+cSZL2A=;
 b=agHAkZGYGZ9DAL6OIOSsuMnme0vwNP0eCVgFbtXDeZisjjdcoeb6Fagl5FaRpl05j/hwGFuLjAaqETMXO2mjVME/tvjs5iwVoK2WUSyo71XJl7pjDP10ho3VJhige8hKiqns8OT6zVMO/C3PxBtslwaKCGVWbQ8SB4bZFc45juA=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH 18/23] xsm/dummy: Allow hwdom SYSCTL_readconsole/physinfo
Date: Thu, 6 Mar 2025 17:03:38 -0500
Message-ID: <20250306220343.203047-19-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: CH2PEPF00000145:EE_|SA1PR12MB7175:EE_
X-MS-Office365-Filtering-Correlation-Id: 89114dba-dc84-4392-20a0-08dd5cfad2d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?L6VUTVnvL+Bbk5Doyyfc7DDku1JlBURR54u45jL7XJ5f/vpeigZ5v/7OxvU8?=
 =?us-ascii?Q?iNBmGthu30RU+HAMC4uFdNSfMNpEcc2foxzLSA4Oz1fNJkWQ0bC9yKP9a8nS?=
 =?us-ascii?Q?hk9XGAx77ZtO2EZNASUaul6mdTIkDEwsbkipnSe+ovVJ3Y95zxjnHgGTTEzc?=
 =?us-ascii?Q?CG0nRcRiSeJqx4RV25v9AINYHGQjGAB5lywQCFQaRthyVBMqEXrp3N3759OZ?=
 =?us-ascii?Q?Tl9hi/L59sQdUOHcLXkXnn7Ybmz1fRbMYsIHlmoCtVTncy7/z2gCLUYwU6bT?=
 =?us-ascii?Q?upnZu1cgQlFcLeLtUDTYAwtgx4mHsyKbrx28hvkSuLu2T99edZEzKBxqVTa/?=
 =?us-ascii?Q?k35qp6TzynvilGKO/AxZvDm6eaYzXMyK7yKgtVsFegpbzsNnWugQKaUpYWOV?=
 =?us-ascii?Q?f3EC3HAbQap+qG53ZdfnrZsy48opK54lxMa2jq8K5ZNot/gXqqI5wimS2jFk?=
 =?us-ascii?Q?O0FSbccdEuuRT/LAvtQLArBzETYDlhIJtZ8U7AMO7pjMhumjDGMOibloqmUs?=
 =?us-ascii?Q?YgUrWBhRAeG3/ZpG3xVQQEaUJAoclXEAdtb8UCGDE61+kRM2QSj/7+BHvGw5?=
 =?us-ascii?Q?YSMfMQ4q900WnpTspmWW4iCpocD7hA8U4lIv6xjDbXxZV5+FTaqpQAYGkYIz?=
 =?us-ascii?Q?9BxY1NvNOwRLWnTg+NJmS4c6FGVHLlgpft3FJFzDfDPyhsRcSgBoIhNx4HXM?=
 =?us-ascii?Q?GROe9HUL7TQ2pa8Bh6IZQl1PwlT9aGE4bo+OutkPe1YpCgkU5Gl2yjpdJX+x?=
 =?us-ascii?Q?8BmtnyTWGCbK1kMV2Pl5hS+UOV3Jj4VaLieUKNB1hv79hdI/E8tuuwonQWjx?=
 =?us-ascii?Q?lxfP2w72jJYcS7XTecMPPD9mI7Y9XffWhnau3UgPxw0zyiJvDBPrjojT/DDp?=
 =?us-ascii?Q?o2V17BkhcceBqIn5D9xufyxHcdzcFvZYMI9Vn2GxojNwOb4uJ/bUf8DhnLbV?=
 =?us-ascii?Q?S3Iv2/bv7H6+zLLT3pEiNu2EWelm12C2klImfDUYEtGgyx9fUOA+gM6HYzBY?=
 =?us-ascii?Q?75pIuULsHRnOk/7tCGUlNOW74+gh+JHsxqKDq+o/3ny78CbDAJF4edW9Dc1y?=
 =?us-ascii?Q?6wUsUQmP7QGni9yQbJu8YaYICuzT0PxhsXMu946bKd7k1YgsKSEwifGzCuLJ?=
 =?us-ascii?Q?apAGveIegtuECtz9wmey2Q2GvOGllLrj5TSjTt08ruHtQsHp19nUaipjR2K2?=
 =?us-ascii?Q?dSs1RbDyn0ncz6QvXvfg2DVGcsz/Yf9ipJUBDw+z9MXUCCbw0eAqsjpyEHhq?=
 =?us-ascii?Q?R0puZHAZvwEG70cxnFyzk2aDIbLiV8knWiOQau/lqcAAzGpi9ecGU7662AOw?=
 =?us-ascii?Q?pK0ayU0MrRSA05BYe6pMqaHf1rchMUICyAeunOmIMwybKoYrNOFS8+2aOT14?=
 =?us-ascii?Q?/YytDIwdI2fVDl13Gl7+vNGXUBDIwkJfCWb4VAnIs6u6wLBr/Lhpggh/wLun?=
 =?us-ascii?Q?5R58pe+r3byR0wsZEhdzPB5el5AT/xUR/+PLnYA60Dd+VnMRCsGFMA=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 22:04:10.4328
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 89114dba-dc84-4392-20a0-08dd5cfad2d3
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000145.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7175

Allow the hwdom to access the console, and to access physical
information about the system.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/include/xsm/dummy.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 294777e904..f4656bd179 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -193,6 +193,9 @@ static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
     {
     case XEN_SYSCTL_getdomaininfolist:
         return xsm_default_action(XSM_XS_PRIV, current->domain, NULL);
+    case XEN_SYSCTL_readconsole:
+    case XEN_SYSCTL_physinfo:
+        return xsm_default_action(XSM_HW_PRIV, current->domain, NULL);
     default:
         return xsm_default_action(XSM_PRIV, current->domain, NULL);
     }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:39:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:39:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904155.1312114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJsS-0003Op-7U; Thu, 06 Mar 2025 22:39:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904155.1312114; Thu, 06 Mar 2025 22:39: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 1tqJsS-0003Oi-48; Thu, 06 Mar 2025 22:39:40 +0000
Received: by outflank-mailman (input) for mailman id 904155;
 Thu, 06 Mar 2025 22:39: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqJsR-0003Oc-0F
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:39:39 +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 e252b1dc-fadb-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:39:37 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43bc48ff815so7975625e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 14:39:37 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd94913fsm31472515e9.37.2025.03.06.14.39.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 14:39:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e252b1dc-fadb-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741300777; x=1741905577; 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=URkZIt9aNGkAepz09WJxJ+Xvv5GX00VbOGGfRXjdOFQ=;
        b=CIVD6TziPPellNTiT0U8VP78rOEzhVEape65c08Q/1i55Gtxguta/L3Mx2qcIL7/Ta
         2ad7g1ZR0xNgKdnVbCJT0DL5MqghjDSP4Cnb6N6AFrEiro01n+/lHzUt8I4bzce0EzQ9
         gQZHJdbHIFcnVlh50CBR04EGTNXVtx9BvH074=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741300777; x=1741905577;
        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=URkZIt9aNGkAepz09WJxJ+Xvv5GX00VbOGGfRXjdOFQ=;
        b=T6plhOHq5SZ1arGsuoeSozV0bNHXQiT0Ds3RBosPpCKshGWqtakIWsfPeuoW3DM8Ck
         VrHKo5VROjXLCg1FwPDMrPCmrfa+GFBSu6Mz3ZG0VODsNjxXKwxFASDBBDCVCPJzlVfU
         MDFcWaDv+4sWvN30WzSzxqqAR1Dgt5iEWe08p3Dd0KZNAR7VNEZ2Z5Aj9jCGV0rCoQtw
         hY8QBLhpT75myxSkO376xSS6Ys7yzgxY5Qf/E9Xyw/UwUVDDW9Ne5sTO5BqoI8cyJ0ce
         JPeVC1Pp/qqQ/pLlxaTJ0DzqdEWcDlxvh1IpYmKBjKXDCK8LLTTvk9DMFPM/XBqqPMrq
         E5NA==
X-Forwarded-Encrypted: i=1; AJvYcCUWptx0MXtI8XEPn3RdTAOCeMQzRumQeK06g7/oZ1Mbc4UQHWZ+6jD0RIENw7X3RUW8+qbz/nOydKA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwJTKQVtku6xonjrRn74aWg1GSAPNJa07rEiWgwtgB82SkTFGtJ
	xyvlI1awZmA0HVXLczyKb2Shw1DmDkypSRy8hZCjJe28IDz8pA33riXrmf+OyRw=
X-Gm-Gg: ASbGnctvM9On5NHYtO3FrdMrkeEBpNl+GAgSoXVjsNoh8xnJ7k0R0Xfw70G9AeXN66l
	tNe/c6YnsRNHGOWb+AuSITssRgDakmknLwVjdqjopfXZJtS9wWhEWu2zqtpY5u1fdXE0OUN+3On
	LtBG+6ZI++44CYfeYmI6ToZFv+yeBsViEZU94je4RWLkjLImoBgQWbNxVmltPkwvQt9WO7r4Mvt
	7Ke630gCqA0k5ofBSJ9b4LgYDzcT+u+Yq4HZsIL5wciiXgz0i+sdWIs8rMTj6LWig9ZyucJ/Vda
	8hOI8Ly/qAgfq8B/B0GbKbL4tRpxvsGDncSQOkFz55b3iRz8Z/RVuwB4yvcwNLEUc1AkMqg74CG
	ttsW8xFUQ
X-Google-Smtp-Source: AGHT+IE+BdwaO9nPG6A5mHSq3Cuh3FcesrApG8m8kDqRF6n0Y6dBYUDUOmjw4GDsnjqHgNvcFBNjKg==
X-Received: by 2002:a05:600c:474b:b0:439:9434:4f3b with SMTP id 5b1f17b1804b1-43c5a61b6c6mr8311535e9.8.1741300776940;
        Thu, 06 Mar 2025 14:39:36 -0800 (PST)
Message-ID: <eca6c919-043b-4e7b-a04d-639406ca1332@citrix.com>
Date: Thu, 6 Mar 2025 22:39:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/23] xen: introduce hardware domain create flag
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.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>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-2-jason.andryuk@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: <20250306220343.203047-2-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/03/2025 10:03 pm, Jason Andryuk wrote:
> From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
>
> Add and use a new internal create domain flag to specify the hardware
> domain.  This removes the hardcoding of domid 0 as the hardware domain.
>
> This allows more flexibility with domain creation.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

I definitely like the removal of the late_hwdom bodges.

However, there are several things to be aware of here.

First, CDF_privileged probably wants renaming to CDF_control, now that
CDF_hardware is being split out.

Second, you've created a case where we can make multiple hardware
domains, yet it is very much a singleton object from Xen's point of view.

This might be ok it's addressed by later in the series.Â  One especially
nasty bit of late_hwdom was how dom0 started as both, then the
late_hwdom stole dom0's hw-ness.Â  I expect untangling this is more
complicated than a single patch.

But, by the end, I think we do need to have reasonable confidence that
only a single domain can be constructed as the hardware domain.

> diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
> index 3de5635291..b5e82578c3 100644
> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -50,6 +50,8 @@ void arch_get_domain_info(const struct domain *d,
>  #else
>  #define CDF_staticmem            0
>  #endif
> +/* Is this the hardware? */
> +#define CDF_hardware             (1U << 3)

No, this one CDF flag isn't the hardware.Â  That would be the CPU we're
running on.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:40:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904166.1312124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJtO-0004u6-FB; Thu, 06 Mar 2025 22:40:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904166.1312124; Thu, 06 Mar 2025 22:40: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 1tqJtO-0004tz-Cb; Thu, 06 Mar 2025 22:40:38 +0000
Received: by outflank-mailman (input) for mailman id 904166;
 Thu, 06 Mar 2025 22:40: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK6-0000Ss-Ff
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:10 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20624.outbound.protection.outlook.com
 [2a01:111:f403:200a::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed4a76af-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:10 +0100 (CET)
Received: from CH2PR04CA0021.namprd04.prod.outlook.com (2603:10b6:610:52::31)
 by IA0PR12MB9045.namprd12.prod.outlook.com (2603:10b6:208:406::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 22:04:04 +0000
Received: from CH2PEPF00000148.namprd02.prod.outlook.com
 (2603:10b6:610:52:cafe::30) by CH2PR04CA0021.outlook.office365.com
 (2603:10b6:610:52::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:04 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000148.mail.protection.outlook.com (10.167.244.105) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:04:03 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 6 Mar
 2025 16:04:03 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:03 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:02 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed4a76af-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=I4heVTRoCaIPkh8WxY+fu/KCScys07aGovr1WtdUQVPPY4wWBzdrbQHp11+qduIaT7VlD54hZYUe4bbnuAIUrJAS2PnsfUjmg5oAeZ4gVgv9Iu3JTunN2PvyV1bE+cHBiXexj4jgpMgNH4OKnbkrgR/ocupKI3UyW4ioXdhua2yBuPpXqJEN49bGTmTC07Mh9pMTxXrmwBg5lGKqXQ+5/9dU3F3J0Py/dRKhwkTy/SP36/yXhqWJVtVPUO+UIaF6O9YKbyrKDC4+VCBNV/s8TpwxdwvPBs+AwmPF8EdnPKZyvAmHVZErnpBJL07PiqSPIR8zgRqr5J7iYRFHXPeWyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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+wqA1FDBIcJkmJckULDK0wV4r8kvoqJuoWnZDlDBCI=;
 b=K39F+RHrYyZ2eIQbrcHH/uLPLCu8fq8GswYxfy6FiNmNvb5rezjix+76322KD89f6r5YRGAGwEAvgDGlRqJPDZqyTD1lzHllbm6AqxrB4yaX+aRGq/UDwQaVbiYQVZ1Cj8LiySW8Nq8NIiadbC95xTUX8hhxN15qimOEHJXn8dCWfUP5BXOTwz+vmW0uOz7GAQy2luJFHNhQUdqqyKpYvsgoEa7863cBsEPTZ0iYgu0b+iz/cg9gtuzC1XBvCYB3Zc0/DN3+hs1pInHDcZsMsrkMjAecz9ZGXOxfrI93WlTYffqVokSTE7zLUzdY8sX6uE3/U0sUAliqf9Sq9G3Brg==
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=a+wqA1FDBIcJkmJckULDK0wV4r8kvoqJuoWnZDlDBCI=;
 b=QVG3MNF68om8nIbL8N6Lv2kSb/Q30F7KTF4K2bGSxde+Bs7ITHNVBDiXUZ6wjeX/w4VY7+j9S+jbBv1shPNWCS2yOIkG7gKzExdDdlEmYfz+adjK0ULy+7mJFFZMhMCNF5foMaC2xeu3gDnAJ+0rDAiVxbHwBfxbrqvq5khCGy4=
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=SATLEXMB04.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>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH 13/23] xsm/dummy: Allow XS_PRIV XEN_SYSCTL_getdomaininfolist
Date: Thu, 6 Mar 2025 17:03:33 -0500
Message-ID: <20250306220343.203047-14-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: CH2PEPF00000148:EE_|IA0PR12MB9045:EE_
X-MS-Office365-Filtering-Correlation-Id: 0df5cde2-da36-490a-d8be-08dd5cfacef0
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?Cos1XVbNliabPKmO1kYDt41Rr5KhQiu4IY1X+1BFRVMTlNzo46Sqrg9himpT?=
 =?us-ascii?Q?fI/wLU+BsrrxSD7nJFX2h1OhQBasKt+pBmBYaLHiMhjs5s/rPR8bv7govhBh?=
 =?us-ascii?Q?xRdUPmpNJCxCTckib9dMbxTTjvG2KJm3rbfRQ3EzJKndNZQKSj78bCt8rjpF?=
 =?us-ascii?Q?ycqZB83AuT90fBwZjEtI0eiuiSiAqyiWdCORLLutijhZfUNxx9E5ORvtR283?=
 =?us-ascii?Q?HqRhyBaNNpvNvijB63OE+JA1LsG9YA/C7kuJvTMwGDcy5mK2HZT4Ik/1zmRY?=
 =?us-ascii?Q?lnkBv1W7nillxqf8j1C+UPm/QRkr2KXcCi3VWF0cQbr/agOqeh+YdUClQweh?=
 =?us-ascii?Q?eZTQ5xJhSkskSdDX47t6Ws6bSQ8XmyuqfhDmPn5WjMRr2IHwSJ+borsChnsg?=
 =?us-ascii?Q?qd9svZ9PmdqA3ckJvVr00cIKXP9jjuD/wpC4PwsfbMQmVvqfTeI/3Dak14Fi?=
 =?us-ascii?Q?2FSENksToMkBsIw4Cz76KY95ZFiCtFPnhbJBaLQv1Op/C3IGwGUwaRmAvQaV?=
 =?us-ascii?Q?nKg1IkZ4A/o2u285Mzd0RjyX+npOUbeQbkGtnsOUt3dAjcG5BOqRKeLlQRxq?=
 =?us-ascii?Q?QT4p1HR9HqFJaPwsLcOOKVtbhV8Pmh0tJHckZ9LV0r9OTWwjrJuyJuUaHpqv?=
 =?us-ascii?Q?EzMXNxrWaEBGSdsy7ipn2xEiZ+Txsb6fLRKUHqWHGA4PJXIv2EAG22vQ9LJP?=
 =?us-ascii?Q?j/8GslEhUaxOgM0SxJqLeXK7VQjS+UsG3dqTLv1SNPcz5fIwc19CvBdiARvJ?=
 =?us-ascii?Q?LIDIis5aVC5GiGNsj4R5M6f7iGfdCRIu2Gq/88hWcS7GAOOJ8lL4NSbe4sWc?=
 =?us-ascii?Q?c6l2hzP3lDrkDDjaQfMhAbI7EmtmrdULLIh7zxrYeKlZrDHtYxPgHM8HItku?=
 =?us-ascii?Q?TATk+W7ACfVwAovr2Gzj6GMXcn8/aHEpEdb8DwVEXyH4g5mSaZ0Rrk3Lto0y?=
 =?us-ascii?Q?OZwNGGgkDgaf5JEjPd7ml/cysgDhoM6xzUvdkHCJRys+LZwLFZeVNgy8mtID?=
 =?us-ascii?Q?dys+wyR6ReM/vRqxpmz8cjA0fDlniVH9FF0r+l7l45/tLsHZpRkOqEX26jQD?=
 =?us-ascii?Q?Cx1tVdIgh3Hq3BmbM9TpMCxTDUhOpdZogMmzdTQmoVLxFrJC6isENp4j/kv8?=
 =?us-ascii?Q?7MYL3eYds8o+6i6fZNrD+hZwzPWb25vIUrKvfxU+49Z+HR2mSgz+GNUyU8/n?=
 =?us-ascii?Q?cdp1ltn+8Qo5vCOKHMq0+19Z3BmH/hVEgnFB5M9UItUw/gKDVf8P5m9G1+/7?=
 =?us-ascii?Q?u4AsvlUpw5fn/Ry9ETYREJg0AK0/kxS9aOXBHvHzPNRdAdwdwhNTA9ACinUX?=
 =?us-ascii?Q?1wwl73sCkXFh+WIf4P6BRAMH0EgCIOL/eUqBk2eecmOlJtCSwhEficDFiyup?=
 =?us-ascii?Q?j3i8r6pqhwcsjDDka6O4OEzLkEz/Hs+ym9y2is3qiVy/vx9kOe5Ql1VCkl8W?=
 =?us-ascii?Q?jYYSHgjTdpAPVLoHGNzxb32EEwjzxRtzaNzrgWiWnXNheoiz8vxNVGhwxIfr?=
 =?us-ascii?Q?ET5iYr6A9g8K+88=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 22:04:03.9167
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0df5cde2-da36-490a-d8be-08dd5cfacef0
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000148.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB9045

To hyperlaunch xenstore, we want it to automatically introduce all
domains it finds while initializing.  To do that, change xsm_sysctl to
allow XS_PRIV to call XEN_SYSCTL_getdomaininfolist.

Xenstore can already call XEN_DOMCTL_getdomaininfo for the same
information, but it requires knowing the domid.
XEN_SYSCTL_getdomaininfolist eliminates the need to guess domains.

init-dom0less also calls XEN_SYSCTL_getdomaininfolist to determine
running domains to initalize.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/common/sysctl.c     |  2 +-
 xen/include/xsm/dummy.h | 10 ++++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index c2d99ae12e..89d5176f4d 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -42,7 +42,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
     if ( op->interface_version != XEN_SYSCTL_INTERFACE_VERSION )
         return -EACCES;
 
-    ret = xsm_sysctl(XSM_PRIV, op->cmd);
+    ret = xsm_sysctl(XSM_OTHER, op->cmd);
     if ( ret )
         return ret;
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 6a2fc33c3b..f2d6662a9d 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -181,8 +181,14 @@ static XSM_INLINE int cf_check xsm_domctl(
 
 static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
+    XSM_ASSERT_ACTION(XSM_OTHER);
+    switch ( cmd )
+    {
+    case XEN_SYSCTL_getdomaininfolist:
+        return xsm_default_action(XSM_XS_PRIV, current->domain, NULL);
+    default:
+        return xsm_default_action(XSM_PRIV, current->domain, NULL);
+    }
 }
 
 static XSM_INLINE int cf_check xsm_readconsole(XSM_DEFAULT_ARG uint32_t clear)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:40:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904175.1312133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJtZ-0005Lg-Mu; Thu, 06 Mar 2025 22:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904175.1312133; Thu, 06 Mar 2025 22:40: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 1tqJtZ-0005LZ-Jp; Thu, 06 Mar 2025 22:40:49 +0000
Received: by outflank-mailman (input) for mailman id 904175;
 Thu, 06 Mar 2025 22:40: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKD-0000Ss-Cd
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:17 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2062e.outbound.protection.outlook.com
 [2a01:111:f403:2009::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f04a4674-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:13 +0100 (CET)
Received: from CH0PR03CA0185.namprd03.prod.outlook.com (2603:10b6:610:e4::10)
 by CY8PR12MB7433.namprd12.prod.outlook.com (2603:10b6:930:53::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.18; Thu, 6 Mar
 2025 22:04:10 +0000
Received: from CH2PEPF00000145.namprd02.prod.outlook.com
 (2603:10b6:610:e4:cafe::1a) by CH0PR03CA0185.outlook.office365.com
 (2603:10b6:610:e4::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000145.mail.protection.outlook.com (10.167.244.102) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:04:09 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 6 Mar
 2025 16:04:08 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:08 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:08 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f04a4674-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j+B6nF9GP4kAsmdO2oe6t0L0McwVqexmty6UvxFtuWbUYqIBm/7WiHsQjU+GtBGSWFxPo+ErTUPVikihko3ku0t9JpdvmWfCQrt8KKfC/Cq0S7/UmcZW+mUuVyAkV5pGwEMHP8OuIryRAjodX1HYZjV4npyprnGG19tYwQY2OWccWhvwRpkDFV6M6zeebAM7hlJb+FH+XaSt+y651DaMlRLe5auBr/6mfM19ddP41g973x6ubqOXjhp0yW6ot/rq1vM+ny4kypUahR2P/913txPF1BsEcAPvme6pbku7Fmi5SUfwbslXnyqbvKzsDCam2GkF1dagi8wU8oborgZNSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4iIiBhdZ7Z/AESKlqv+uNMrJ77HKz/XFz38UqOCX6i4=;
 b=ciJ52d8y0Lvk6R96qNP/RT9BRc9XKfFe3YuuhxEXAU9sp0N0WFZj2C6jRl/PkraDZcB8bN0SYHlvvTojJHVsq4aieujoj8vjvUSxx7Bs3CaIY7WFgMMzK6DI2b2f4dJifu2tI2HnAVhCrHg9EozvKidrSUlP6cRKoWw608Mvhh1ab7f3rqTFwAzWZLMsfee/guqhFtHDuwN0W7HBUBfXxRuzUoPbYO3r4gJxgB9266vkk0HyrqTaYRJjbiCogCRe+wPsEdUf+c50w3+51was54ObRSo/qVtRCi56KLLkhUd7SncKPxW7+davVvGmEq//iKHtWLZvrFQaFLOFROUFkA==
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=4iIiBhdZ7Z/AESKlqv+uNMrJ77HKz/XFz38UqOCX6i4=;
 b=JIQFsIVwvjtQRurSUhYOF+dJgYh26qPLq9dGYFL84WDhTnu8JeiYarmux+eUswnQtn/OMd5MAWJKf6IGTHb15X/yVRgVK21DnOxLAmsYuA0GJLB+SyxYom2SaryVh5SedMMvwuVZvKeN0jz/IKGXkoFSLgna5fw4gK8ViOOO2YA=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH 17/23] xsm/dummy: Allow hwdom more - except targeting control
Date: Thu, 6 Mar 2025 17:03:37 -0500
Message-ID: <20250306220343.203047-18-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: CH2PEPF00000145:EE_|CY8PR12MB7433:EE_
X-MS-Office365-Filtering-Correlation-Id: f4ad279d-1b6d-4b2b-76a5-08dd5cfad227
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?o4OYvYd2/TP4nCQdPC/q8UmtX3D/EOV8EFeLek1nnUKibkl0GyID+lk0UEVg?=
 =?us-ascii?Q?nnBExhUPld9nIz7eE5bu1uY4Xs9wQnIoSCdf6tqgbcir8WnnMsCD24XSd/mT?=
 =?us-ascii?Q?+FQO69DhTXZenA+dujI5RwhlyEoJ3sjuFYo7YntxVYyVbfcw4VUQpj0+89zM?=
 =?us-ascii?Q?Scwt63jHW4KE7r1kEvhdAbahJ1HU0Exe0tt7WMcZSwTEWqy2g9AxMKVkyOfh?=
 =?us-ascii?Q?8zxXely/mi0o+jue8EsXgSi8qmBJ+R9jZdgd/23oj8vm1A5ScBiBJvXdvwb1?=
 =?us-ascii?Q?4ZZW9vTVXfkaDI5F5RRxG/bS3haDByVeHKOwxJJvu/QmdOykh5Iz9uyWxUIO?=
 =?us-ascii?Q?1E4IvE6lbI+yB8QSQRbw8YgIWWFdi2M0ehWZ01u9m7PzVUv+wEfHnIqNiSkC?=
 =?us-ascii?Q?D6vOZ/auCs/9HsN3LRzQsCEUtL6t744Jp1Jhasalr4IXmRJAc/9yjm7ro2kr?=
 =?us-ascii?Q?q/mDatK9/swr9lrwgqJlf2YM/9ukWoIfxCidz2NppVnKBTtzggUUv6UPCipp?=
 =?us-ascii?Q?SsCNgNNb4U3f0HzGgxDhgg9KR9DLkiXjCz/81BHyrtFfmFaXD8o5ksj+euY4?=
 =?us-ascii?Q?wLbNO5jtdb423idCXzDYuMf5zpdl7ZsxRNx+c+FM/ykd+rvdWHPbCSY6kERO?=
 =?us-ascii?Q?IEtlqH2VbRwunAiC4hYgqk8XijNk3veY1WH9NVg1bukNh+KZlsikcgk2PEZo?=
 =?us-ascii?Q?5uno4Vh7mFJNknPZ3eq49oSO6Mirih1e8rrL2qphv9AolP8zgGl/abGVvOl0?=
 =?us-ascii?Q?OIwUerllyIzaHHMNzwkgWg/nTtyaYFrJ02jPB95TLb93yJexnE4wZb3G5Bqd?=
 =?us-ascii?Q?tsdN9+MXl7+vUFiOceZSLlrb1/tzsqBRyWV8mYglxQiX3tWLZj0+a5oR9nJD?=
 =?us-ascii?Q?FSb9tvmcfNQxFci55UVI7l/lRGh+JhRFijx9BmtenqFT3i5x3L8O/Chbnolp?=
 =?us-ascii?Q?D/wqmqIjigcf/b7MCDEucoJkFVYV68VnjnRJAsyQQg8XHQ4eKaZ1UPIAIka/?=
 =?us-ascii?Q?HJFXXvtkV8OTPwhof5bqxW4520jPs4AQIvNkmx51CtBNfzLt0oJg6wJbBQNU?=
 =?us-ascii?Q?+ztDrl/ReXATUc5R5tJlzD0I2HrkgmU5BoSeQ4uvnKMeNSdDcA+GQpglSatN?=
 =?us-ascii?Q?UXKHxVDkIy2XoHz0CJFcZ7SHbvbJUiHWpdcvM+AZbpAZyBmAxIaUReTbyqB1?=
 =?us-ascii?Q?NDmdz2CcxB3QNxMwI5D1BwE3qC1bbAJD+J6Cd4tAmhvDYkIK21t71kHWWbP9?=
 =?us-ascii?Q?7133rz16Xo6YPnKvb3OcXhIp//s7B9INUVt2rmCZ0/epWpI/C8uvbzAPVoRS?=
 =?us-ascii?Q?9NHcW0jcFctr1U89r5h1vPTqKM7lgSkkmw+qtCCLE9eK15MeSX63wqnXKeFI?=
 =?us-ascii?Q?E1i0z6GcPgIJcbN8PtqKSfUo4/BeqOIHVFi2Q7114AJSTy91GkG12AJKiatv?=
 =?us-ascii?Q?N5l6pisnor7C1qRYA9oIW4J2/5Lo8VnoepjrCbZXBVHQXwN19UdgcaOySqZS?=
 =?us-ascii?Q?dTyaHTgFWyRCPXs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 06 Mar 2025 22:04:09.3234
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f4ad279d-1b6d-4b2b-76a5-08dd5cfad227
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000145.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7433

Allow hwdom all perms, except XSM_PRIV, and except commands where the
target is the control domain.  This protects the control domain from
hwdom while allowing the hardware domain to serve as the backend and
device model for other domUs.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/include/xsm/dummy.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 9e6bc0ed12..294777e904 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -98,9 +98,12 @@ static always_inline int xsm_default_action(
     case XSM_HW_PRIV:
         if ( is_control_domain(src) && action != XSM_HW_PRIV )
             return 0;
-        if ( is_hardware_domain(src) &&
-             (action == XSM_HW_PRIV || action == XSM_DM_PRIV) )
+        if ( is_hardware_domain(src) && action != XSM_PRIV )
+        {
+            if ( target && is_control_domain(target) )
+                return -EPERM;
             return 0;
+        }
         return -EPERM;
     default:
         LINKER_BUG_ON(1);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:40:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:40:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904181.1312144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJte-0005qK-3K; Thu, 06 Mar 2025 22:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904181.1312144; Thu, 06 Mar 2025 22:40: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 1tqJte-0005qD-0P; Thu, 06 Mar 2025 22:40:54 +0000
Received: by outflank-mailman (input) for mailman id 904181;
 Thu, 06 Mar 2025 22:40: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKN-0000Ss-EF
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:27 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2413::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2c49f23-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:18 +0100 (CET)
Received: from BN9PR03CA0144.namprd03.prod.outlook.com (2603:10b6:408:fe::29)
 by CH3PR12MB8460.namprd12.prod.outlook.com (2603:10b6:610:156::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 22:04:13 +0000
Received: from BN3PEPF0000B373.namprd21.prod.outlook.com
 (2603:10b6:408:fe:cafe::63) by BN9PR03CA0144.outlook.office365.com
 (2603:10b6:408:fe::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Thu,
 6 Mar 2025 22:04:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B373.mail.protection.outlook.com (10.167.243.170) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:13 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:13 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:12 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:12 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2c49f23-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gTiOTT6PtE62i9SehkDuO0BexDXnaJy1IM1A2PV6IapK7+eDFbtSMrC6veKheDY0eZ+Ak8vIWw8Sp+qZC+C5KO3ug2idypjhyrNCwqK2M0Mytmxd4OtH0d+gU0F18VJwQiWxnsIAG9vU7k/eIi/gItJ8iQeZy3hZmSTzUEraSxPqAHL4g+vH3yWc5AwxZ3EfOHGEuNX3oEb9ecWGDbPaaUbLs3Rp6v8EUmyFBFk1xZDXsJcVEyJuIO1HUZ6vJPuBzXjhfkF3z7YkFn8Tutt/VND+j8cQNq18Ujv9yifuTEbPWrOTkPiWKKNjiehGbjyNYKqkuN7U/k2b2EJweWvhrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oCnSvUEbBl2NRwW+E2RfVK1yKiEOuzZqq9MfzzVMA+c=;
 b=EOPG8I5kR39/xfSgLN9cl1x/ks5T2pTyqAJf3fhFUReXBRboy39CD/ogu7kB+YdD4afR/3x0LH72hXQL+NTa4IA9CQG+Ru1/cohS8glCdhbwrXLtKxt4Yc+FrJcrYZ38T4MNSajJMqIgIddKMuvQRdAqhZVHvOpJ+7sNHn6zJErYBMaoIi0zolv7rADVOTGBksGjoWHJw6W75iSBj8NnFakEPBgSsYd4lHESLC1PmQJ8CD+iEamAFLK33yE6jSdCTGWRh5LwTZFMBFmE+d7WNImV1gmJuVSOdNjtJLgtDRjlcwH3b8A5Q1WqoGhcySOBlm8fH0QlRJhQeF6t00Y1Iw==
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=oCnSvUEbBl2NRwW+E2RfVK1yKiEOuzZqq9MfzzVMA+c=;
 b=OBHLwaMIelF+ktQM50iUT0WRF+p9eVUqOs1rJuwmUg4ALjw99VX/czOhZYHu9yUMq5lF6N+Cl0zU9z5v8D6++dUzx/BsUXjf7yRhjgUYiBYNTmIxn+kjVUazEDKGNbL+vr6g3AoBKUC8CiPQajP5edy4xVEWr5IoUL2j85+26jw=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 21/23] automation/dom0less-arm64: Use double quotes
Date: Thu, 6 Mar 2025 17:03:41 -0500
Message-ID: <20250306220343.203047-22-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: BN3PEPF0000B373:EE_|CH3PR12MB8460:EE_
X-MS-Office365-Filtering-Correlation-Id: 578b3c3b-cc61-49c7-435a-08dd5cfad4b9
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?YMhgqCOpBckchAaG3xcFDCxOWkQocoq2Gr8QS7SdMJfqo/hedIcEspjx9H0G?=
 =?us-ascii?Q?EXJi5HRD2xnenAH7mfYlGuhaeakrpknpspXN6Ho7OK211cFOMz6DdzhoDoTM?=
 =?us-ascii?Q?u595AW/25ws6ohPuKNF4U7brR3VWhIdF5MCwH+aLZbq1k3kdV3kpHTO2jWwW?=
 =?us-ascii?Q?ryMPGthG3jrWqieahLjIgJbiM9S7lGq22dQORr1CZXTVJAMsdb06NRsYEYpm?=
 =?us-ascii?Q?l89mpdhqQEzhNw82+FYxD/nhhT1MZIUi4JioNVV71FKKTWQFIKnmmU3/Qf0I?=
 =?us-ascii?Q?ibWfpAFxHuIdUoUP130Jot+uVV2qMX5hQ9rp+QVSLNGOIfSHIjsHGO1ek36p?=
 =?us-ascii?Q?vdayoJNx26+tR6FVu5ETjb1/DCLSzTvXso/CA2m4IX6p5xzmoNo2EJzhwi9w?=
 =?us-ascii?Q?6UriW4ArpdVjSKY++YFoXI0K28GGwtfu4UF2abV58at1uXxaFyeRZIyVpDJw?=
 =?us-ascii?Q?fqaBjLnNTaMbuZMhVrWjLqnAbgyhzndUM92GOllNS1Dxn3+UHCVzRUlnhnqR?=
 =?us-ascii?Q?OJt2g42+GZ4kbt3YXTqYGPR9gm46saP12ckDjaF5pUTlhMJvZdFT1/DOJx9C?=
 =?us-ascii?Q?ma0Sb/9HI9ZPutNYjjo2oigDz6M3vHP90ggBUrma379qJjIoNkxU6iDN8WU/?=
 =?us-ascii?Q?Qiph/3xAHnyZa+O5BxhEWjJhYnOczlB20Q3Z4x2+7SNpdZqZ+metVC6O4dvB?=
 =?us-ascii?Q?GKkTTtx4KOK69hUf2GOgvpiL9EBGtApzWy/n+jTIDg+xN0sDl8jvK3pM6KkD?=
 =?us-ascii?Q?Ra29fxcv40yg7DK1dOJTaLtCzgHsqNhHn2QyyDWN1hxwQaSCDCowktjlAMH6?=
 =?us-ascii?Q?CWGoq1BCheiFqdlkSAegERn2vG7grlTD1LfC7mXoDbSg4QHpvMLna9dRIgEr?=
 =?us-ascii?Q?+PJD4S8F8w/Qlrhm8jsLflkOwV3QrWLyCBuXOrvxq8wi5B8lpZw0AoymelmJ?=
 =?us-ascii?Q?CC0NCnfpp7N6sgI29GvRHs82PGv6Rv0bTBeZX27t7VoN92MtF4MqKvvcOSwG?=
 =?us-ascii?Q?GlKx3+XQcPQ9zag9kr6zFyV0z+aXBjnGz9JMBt6RvqI7yFxMCVMpFob4PDaI?=
 =?us-ascii?Q?Rr6x0P31Fh8j8yZBB1qr7fU7IAH0drzgD/x3BqvKqDfGor1jSrzrj3ARjiV9?=
 =?us-ascii?Q?EBQxZ5yZLEUg5hrsdIzAZqHULm5AY33ETHrCrk4o4+ZawMik1GpgKHGprpU+?=
 =?us-ascii?Q?7BpJWArp9uKKawFK3bomL1Ob5w/I9DR0E0G0igxHXpHry21bDAUu+LLwsoqf?=
 =?us-ascii?Q?Kb6VSfLGD5q2KrL/KVe34xIl6n+8v9kPK4LRqYG5rUSkYljuo6JiSJrG3ziT?=
 =?us-ascii?Q?V6qt1TBOtbhwZhcsfgQByE1PvxPFHlXy5mJ520x+eyIeqUZ0ycUuER6GkIlr?=
 =?us-ascii?Q?tFMLSXb5R1oYZMSy1YJVoAz25o7Wkx/JXIpEh02sPITQndv/ami3NHnLpyoj?=
 =?us-ascii?Q?YsYqwBIWmusZYr0AnodGFvC79iCMQo4/?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:04:13.6501
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 578b3c3b-cc61-49c7-435a-08dd5cfad4b9
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B373.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8460

Use double quotes so we can change the contents of the base imagebuilder
config.  Specifically, we'll want to remove the dom0 entries for a split
hardware/control domain test.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 34 +++++++++----------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index f72d209361..439e07c90f 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -147,26 +147,26 @@ find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
 cd ..
 
 # ImageBuilder
-echo 'MEMORY_START="0x40000000"
-MEMORY_END="0x50000000"
+echo "MEMORY_START='0x40000000'
+MEMORY_END='0x50000000'
 
-DEVICE_TREE="virt.dtb"
-XEN="xen"
-DOM0_KERNEL="Image"
-DOM0_RAMDISK="dom0-rootfs.cpio.gz"
-XEN_CMD="console=dtuart dom0_mem=512M console_timestamps=boot"
+DEVICE_TREE='virt.dtb'
+XEN='xen'
+DOM0_KERNEL='Image'
+DOM0_RAMDISK='dom0-rootfs.cpio.gz'
+XEN_CMD='console=dtuart dom0_mem=512M console_timestamps=boot'
 
 NUM_DOMUS=1
-DOMU_KERNEL[0]="Image"
-DOMU_RAMDISK[0]="initrd"
-DOMU_MEM[0]="256"
-DOMU_KERNEL[1]="Image"
-DOMU_RAMDISK[1]="initrd"
-DOMU_MEM[1]="256"
-
-LOAD_CMD="tftpb"
-UBOOT_SOURCE="boot.source"
-UBOOT_SCRIPT="boot.scr"' > binaries/config
+DOMU_KERNEL[0]='Image'
+DOMU_RAMDISK[0]='initrd'
+DOMU_MEM[0]='256'
+DOMU_KERNEL[1]='Image'
+DOMU_RAMDISK[1]='initrd'
+DOMU_MEM[1]='256'
+
+LOAD_CMD='tftpb'
+UBOOT_SOURCE='boot.source'
+UBOOT_SCRIPT='boot.scr'" > binaries/config
 
 if [[ "${test_variant}" == "static-mem" ]]; then
     echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:40:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:40:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904185.1312153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJth-0006CI-Bw; Thu, 06 Mar 2025 22:40:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904185.1312153; Thu, 06 Mar 2025 22: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 1tqJth-0006Bq-9B; Thu, 06 Mar 2025 22:40:57 +0000
Received: by outflank-mailman (input) for mailman id 904185;
 Thu, 06 Mar 2025 22:40: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKB-0000Ss-C6
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:15 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2415::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eea46da0-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:11 +0100 (CET)
Received: from BN9PR03CA0068.namprd03.prod.outlook.com (2603:10b6:408:fc::13)
 by BY5PR12MB4194.namprd12.prod.outlook.com (2603:10b6:a03:210::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 22:04:03 +0000
Received: from BN3PEPF0000B372.namprd21.prod.outlook.com
 (2603:10b6:408:fc:cafe::92) by BN9PR03CA0068.outlook.office365.com
 (2603:10b6:408:fc::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B372.mail.protection.outlook.com (10.167.243.169) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:02 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:01 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:00 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:00 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eea46da0-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xcsW3wdzI+XDR2piqXad7ZdUfq3ZY/rcJLCahasoTxYKJHp1K6gjAqUOEMzngL0XFhS7ytPF9GZXkR9palzqw/hJA7bxfW6shsjCvQBi/qDn/kdV/8onqwR342EMtU7tkU7BWFjVRdFwqaDCbTx5C5hh9cGTI1l5hKW2D6xvx/zLI3FYk7kW/lGc/oGPeh33xmcga2f0T09EEg/OuA+zOldAnmjlf2niMsK5pB+p842A7IFNjii6qeI5NqLZoA2cet2wWfZUZXvQiCNfOaN9PuUXIsH/dzY+ixS8XpktxGM8zJHy8eEGL8A2wVjCtbg4MZAIwhxVd7wuYS61gb2SGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TIFP0yUwDgWt/wxdaqwbVpnFqSs0Z5n/kZ01lqaZPKE=;
 b=uPg281JgquqpLDpTLIHKCBxpFFVjr4C2jzLjtIF04srQc7ghytxiLoKkKI+xb1YH9W+bIBuqQe77VqxiHgrAumJ3kqASiOPZwz/bk/qhLFEtGb1XT9Lds+J9V9ssPamCqPOZ6q5dG9K+z1sTfUMEe1faBQNKqQdQnhrq/S9Le5Y8ft30Yyxw9fRvkIy1KqObT10uKtthn3o3EiWl3R3rbaFzjLWVQmZWMNxgs5Y+2njbhUazb0yC7NJ+G4KpPbyROBasMQh0b4RJqmf9PQHZJ5fwtozpnb/XaEddQ0nIh+YbGtO1/Wi0wu8cZGAVK1oleD1HifohFkul4uj/ElYodg==
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=TIFP0yUwDgWt/wxdaqwbVpnFqSs0Z5n/kZ01lqaZPKE=;
 b=092s0rQ6L64f+pe+2pm9VHlkpd/nQx10oMS1rB6NXFEnOm8DuDKkIFEDoJTxHB2a/wpMZ2gNR2nkPBoKlPMWSv+MOlDzAGaGS2h/kBLElYEjTzeZtZvX2A/WYIjK3tFb5eTQnmESlHWo1KS7wJdh6PxM0ZlUnDHBugz+33gwEuI=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH 11/23] tools/xenstored: Automatically set dom0_domid and priv_domid
Date: Thu, 6 Mar 2025 17:03:31 -0500
Message-ID: <20250306220343.203047-12-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: BN3PEPF0000B372:EE_|BY5PR12MB4194:EE_
X-MS-Office365-Filtering-Correlation-Id: 49ee64c7-4221-4b6c-ebb8-08dd5cface3f
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?9CrEb4EI1H7/V5m3sLXdI/wcPkcSf+U6WukhW0Bgzr/J4zRTRfpn47FGDYF0?=
 =?us-ascii?Q?xv+X7HwWNDG9yXZIWyBGc3gNy/RI4szzANb5x6dJvLfJ2nkj947tZwFnh80q?=
 =?us-ascii?Q?CL46oHCjU9W7Aa3qgW1y+WkIUbyyjQV6TSvfCyKEd0SOW3B8MpO0lt8S6n0u?=
 =?us-ascii?Q?2E6ZmCFHCwSRoDRqArYq7jA0oyOmiSEteJFi5vMAqlTUDrLJ8dsQXaMZOXs4?=
 =?us-ascii?Q?OjKALRse9CzC2YiSCEvLQCIJRAy0HXAkW7R45L9azEZZWpFPKpuneXqW6blA?=
 =?us-ascii?Q?H2h9stg4z7JJQZuh4jH31ms5+ThL0FZCGOZPGk5bH7W+Zi0BUlsdj39QhWIt?=
 =?us-ascii?Q?/CUrJivRRetz3jWL87txSFXnpJBfYMT/c3oohzncJBSqXtosruwIUve8OoOm?=
 =?us-ascii?Q?KLcHoX2vSPA398fR0CCVNgF8EZWHN+wg7RLwDdUw9ch9odjQcrXIQec2/av1?=
 =?us-ascii?Q?8stATymskr1UwxEvzx/AQcLW69NqctnVY2TAiYz3sWaQgwk6KtrpW3gzGiQa?=
 =?us-ascii?Q?g/FeddnprpvhOawm+8kldM+AUuHBH7t6nPcCMqsU1oLPl9EW5PQG2YTtcvE8?=
 =?us-ascii?Q?ZjdKoaymGxw9jes47jBfQcg23yvyX+v80K3cTDHqCd1fOGIku2t59AucXtfl?=
 =?us-ascii?Q?mfRHpPLtVACDPJKDiIdoZnLsRUZ5x7haXvg7jNB6b6wExiHhqw/OIvpMDcZY?=
 =?us-ascii?Q?rZPkvhsO517JW1pl8lZ5LWU+lV4+gH3i0FcAbz7quheCIlUXKhNAEiMvBhTJ?=
 =?us-ascii?Q?GFKu6IrgX36uThZiV/aiYfZLajgYYthWArlJ8TsdFTedIGXmfeO7sUHQ8k2Z?=
 =?us-ascii?Q?Pg/AA7G2GHQUoCJPKHqmiRR2DBF2SMdvXnuZ5j7mN4UDdJ5cLQ07QJwvn9lU?=
 =?us-ascii?Q?y10aZimJxcZRDpCnyyARJNA7NNyKVR+TSj5vLA7Ab7MLIuxxmUDr/Eksc/1A?=
 =?us-ascii?Q?iWTDrW7GTOqTJ23RmvwpjqtVCAzhnzc6+aDNsjwaEa0Qn4A2Jr7BkGy002re?=
 =?us-ascii?Q?gU93ORTGoAWJK4T9Y5enRo4EQ0mWUhLJMn0Zef9SXnnJ3VfCudp87H5PZFee?=
 =?us-ascii?Q?LZwVBdP6fDPPSAidsFlwiRz0bFMnMIMSsUlIFLCXdbOseYYQez1sapuxXgCX?=
 =?us-ascii?Q?exBoMkx41+/pMugph1+Pwj43EGkSto9lCxqyo7NLi1bzyxUZqRRgD4LPdW8+?=
 =?us-ascii?Q?OE7yiqVzZnYnItRcPc9ce+whgxlEZsRGd5oEfFGW3cMW4nMGLlwrnqlvXjbs?=
 =?us-ascii?Q?QSMoY1Y4EnpjDvt748OCSL/hXnkcc0o292Vt5szjUt/CNJD4zpY21AZVVYc4?=
 =?us-ascii?Q?9+ExYjXgg9PhRtA0jRYLoSqou7QW5K7PEuGqH7/dhXOamWwFOhgB3PtD0tJA?=
 =?us-ascii?Q?l9aDDRhTRxgaG3B235Q8HJnaO5WCThhY/z/XszcK7vFNKvz5ZGOOvvdui0lk?=
 =?us-ascii?Q?MBFx4cXrXqgRu7AR5v2/c1PZ9HI87+847j/Eyj4C/fvWcbQCcYhhK0jy3lSV?=
 =?us-ascii?Q?YgQqKhogCdX6RwQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:04:02.7884
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 49ee64c7-4221-4b6c-ebb8-08dd5cface3f
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B372.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4194

With split hardware and control domains, each domain should be
privileged with respect to xenstore.  When adding domains to xenstore,
look at their privilege and add them to xenstored as appropriate.
dom0_domid is used for the hardware domain, and priv_domid is used for a
control domain.

Only one of each is allowed for now.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 tools/xenstored/domain.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 64c8fd0cc3..f2394cd6e9 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -795,6 +795,20 @@ static struct domain *find_or_alloc_existing_domain(unsigned int domid)
 	return domain;
 }
 
+static void domain_set_privileged(struct domain *domain)
+{
+	xc_domaininfo_t dominfo;
+
+	if ( !get_domain_info(domain->domid, &dominfo) )
+		return;
+
+	if ( dominfo.flags & XEN_DOMINF_priv )
+		priv_domid = domain->domid;
+
+	if ( dominfo.flags & XEN_DOMINF_hardware )
+		dom0_domid = domain->domid;
+}
+
 static int new_domain(struct domain *domain, int port, bool restore)
 {
 	int rc;
@@ -831,6 +845,8 @@ static int new_domain(struct domain *domain, int port, bool restore)
 	domain->conn->domain = domain;
 	domain->conn->id = domain->domid;
 
+	domain_set_privileged(domain);
+
 	return 0;
 }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:41:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904216.1312164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJtz-0007ce-OF; Thu, 06 Mar 2025 22:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904216.1312164; Thu, 06 Mar 2025 22:41: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 1tqJtz-0007cX-J3; Thu, 06 Mar 2025 22:41:15 +0000
Received: by outflank-mailman (input) for mailman id 904216;
 Thu, 06 Mar 2025 22:41: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKO-0000Ss-EO
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:28 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2009::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3bc2bf9-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:20 +0100 (CET)
Received: from CH2PR18CA0044.namprd18.prod.outlook.com (2603:10b6:610:55::24)
 by CH3PR12MB9314.namprd12.prod.outlook.com (2603:10b6:610:1c5::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar
 2025 22:04:14 +0000
Received: from CH2PEPF00000144.namprd02.prod.outlook.com
 (2603:10b6:610:55:cafe::75) by CH2PR18CA0044.outlook.office365.com
 (2603:10b6:610:55::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Thu,
 6 Mar 2025 22:04:14 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000144.mail.protection.outlook.com (10.167.244.101) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:04:14 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 6 Mar
 2025 16:04:14 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:13 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3bc2bf9-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WUJDn5lI44BO4YdC/pW+R01M4NmMhS/tYq2hixFw7wGBpHGGcPjcFdPWOzeCxF82IRnI4y+xQfr6hG8Nmi2K93flr3wIREfN19hyTugNs8YDm3t2DHq8MXBj2KyF9g7KcFBxSL5ejaxRJW7UpKhJiqTB4MQ5hfIAci2Wsp9r36KFE7Wuv0H2X41VTx7072bJOLBIPKohYQX8x8YOBN5qWn41JUjnIIm2zMLSTbUiUnMfET0hJsL5EshDBqFe608XLBoLNXaP3OxHuFhRtYn0o1DaNTZG0eYBO0n2DdxsLX0if4q45Cmtz7FK9QAgUh6v8qSgqWSDeQnuUAmwOVjl2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vdj/omG7aNG4QUYzbT1Q3RmuRPZYorhXrmyOwRld3kU=;
 b=cpMn+kSeB9+M0IsBJrx6sVW8bOwXaMiij4oXA3igekbu70Hr2x1mkKjEBPOICUOrDrmlxX2hMT75ZJyFSAz07vSgbOF8bwgLUwr3nF8DlK95LjJHY/Y76BKke0deoM/n0R+mP+cz0rzOKuhBVpfZuau8pJb+5KZLFg0sK0CC4NVCP4mA8qH2UvbQB5XIJh2SPBX30KVQ7RJFBVwNAYkAWjEsnQayJZYwCgsEXXeKMcgW0xR42H/LChm3sKkqeXS6135AUJo7rSKZhpUXxKUBrTMFCKQbgTTtj6JbMmPLdCjF53ylJYYdxLWAAV+19NhihdChOHCw/b+JOmH7NgxKMg==
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=vdj/omG7aNG4QUYzbT1Q3RmuRPZYorhXrmyOwRld3kU=;
 b=cuxrcfp3/o+3bMTofiSP9+EEXs2xhHD+53XItarsjWuJQPpS/bKLmAxRKEOrTZ6LDWfyLhXCIFcWB+QdLUwD7UcnGLyAfEKx0n1lgR3FW17vdwXvWjUoCHX2HQvhaJouDp54z0YGKaGVeoR86jIOQTttIyLpWc+4Phx7mHpD+rE=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 22/23] automation: Add arm64 hardware/control split test
Date: Thu, 6 Mar 2025 17:03:42 -0500
Message-ID: <20250306220343.203047-23-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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: CH2PEPF00000144:EE_|CH3PR12MB9314:EE_
X-MS-Office365-Filtering-Correlation-Id: be72176e-8657-4f62-3614-08dd5cfad54f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?2nuEhZcpqroSMopm4vxSaunFX8gGXnbTweGQtAvDfObhbG/kTtUxIj+42Htf?=
 =?us-ascii?Q?lHN6sUUw7KaTZQV5MjM0QRfD0z9qL9HJHN1iCUdvcwv4bx48Iut0KBfq3WZx?=
 =?us-ascii?Q?Qc1FIQC22IK/nFPWqg6KAStQU1TcpkOeKZCxqfBke7NzvXk3OHjpoXQpihrU?=
 =?us-ascii?Q?a+X4/+MbGuFuLI7rslWJCiKAFr6RXBykAXEInJ2/hWRFn12v7/J/0YoLG3XI?=
 =?us-ascii?Q?knFFMzht5Hbxw7FguNKmYqBMNDKKVJ49Xc5MRfhFcPnTHX8NfLU32k5shgM9?=
 =?us-ascii?Q?4j6pvZkTGEzynUmSVefu3Ko8NrBNq4e2f6DtilxYcO7LgI0kg9YiG98UECWh?=
 =?us-ascii?Q?N9mYuaJpuWnVb177RDiqGjCB5QxFJLKQRaBmuPY0NuNazocJdnDRDeMxZeje?=
 =?us-ascii?Q?C/8Z6zuj7ObOrgNEzLySoGzyzMoPHMupE8rQH0BGKogNTqMgTn5qexZA363I?=
 =?us-ascii?Q?UmtnLb5jIDQbedg2B4TAYoVtygBH1rEInqwp0QAIOqg2NPPjaF5U8GjZQ7iS?=
 =?us-ascii?Q?RJzNfS/+yviy1ynqjuAYwdiSCprPMIueZkBZNPF/vGI8VQRuUeE9s/nkb2sO?=
 =?us-ascii?Q?5nSDM/jNcXmFnBTXtExHpKnBSBa87CvZBzv3xujthBpmdKhdYcO6TtoCYTBC?=
 =?us-ascii?Q?2FEYwlkmyB0qaoInQDh4f2Yg1CTyNa35qaD4L1aIglgrHB5liK/b1/+Z6sDv?=
 =?us-ascii?Q?qINCvXrvD4qx1VVENwEaoXt15YuQgNs2YJxpoTljBPUc1cqaH7pGnnbEpWm2?=
 =?us-ascii?Q?eGtgmJ6ehpDHX+i96icgehcKkfvfVHAniZVs0GMSmbdzV5sAeJIfQC7I/pkz?=
 =?us-ascii?Q?wijJlZaGwL+HKGS0StgWscJrvA1vB8kuXGXJkGXtkEKDdXv38IZ4MW16Us4W?=
 =?us-ascii?Q?y5b0cYU/koFgJJ2NyUKykdFtV+hsNggktTxSdWEQ+maL3h0bRmxBNp/9Tjtt?=
 =?us-ascii?Q?ar+zyuxmTP1TDtPcoQIFhzViJt2QODZv1+D5CH5ze6/53tcoh6AOpOzsLJ2G?=
 =?us-ascii?Q?Fm/X8MvXhjAb++4LAowfV9vAEh71HYwxSmFdzUcETSkyrR1t8vDFTh531Ymg?=
 =?us-ascii?Q?9GC9+EeddCsncAFFAV8T0yS3zFewwtu8pqrnwtLRVJUxOM8MSdgeMnVco16N?=
 =?us-ascii?Q?dJRA+g9Os5iJ+ixA12OLrIgV4mxiSHo8em6jO8PzsM9VboCawZT5k/DvJJTY?=
 =?us-ascii?Q?ZaJ9DVUdwxBclqfVBhTRUvlviDPCDVS6yqCPmJ//XWYUPGjeKp7PPJaehBgH?=
 =?us-ascii?Q?NXWGNpTngSB+/btSzrjmqbl9XhcENLvPRJRF4Y01jlHXYrqxqwbGZXjbupV+?=
 =?us-ascii?Q?6zjkAuO9jur2tktgOGlkBM8JfGODhn5wyLEnuCkDB6vz0O+aRI7MoOt3G2o2?=
 =?us-ascii?Q?aXizhERdoP/UfV8TWgFM5vQEOFRgxic4Kk01BU10eG7WSKSkFUKtABCR0M5k?=
 =?us-ascii?Q?i53xxLmT1PWHarM99/HLivm4YVH3dTBrC8nkRpCMu07eX0/52umpWfbs9dqb?=
 =?us-ascii?Q?xcmhyMlAbwBUJUQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 22:04:14.6171
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: be72176e-8657-4f62-3614-08dd5cfad54f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000144.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9314

Use dom0less to create a hardware+xenstore domain, a control domain,
and a regular domU.

Create a domU-rootfs that does not run the xen scripts, but does have
the xen tools installed.  The domU also uses a console on ttyAMA0
instead of hvc0.

We need to increate dom0less test memory or ImageBuilder fails with:
Error, not enough memory to load all binaries

Use C xenstored so hardware/xenstore can grant map control's xenstore
grant.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
Initially, I tried to put xl list into control.  That executes before
dom0 runs init-dom0less, and it hangs.  I expected it to recover after
init-dom0less introduces it, but it does not.  That needs further
investigation.
---
 automation/gitlab-ci/test.yaml                |  8 +++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 67 ++++++++++++++++---
 2 files changed, 66 insertions(+), 9 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 9530e36e9a..a7f7fbb4bc 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -403,6 +403,14 @@ qemu-smoke-dom0less-arm64-gcc-debug-gicv3:
     - *arm64-test-needs
     - alpine-3.18-gcc-debug-arm64
 
+qemu-smoke-dom0less-arm64-gcc-debug-hwdom-control:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh hwdom-control 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.18-gcc-debug-arm64
+
 qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index 439e07c90f..39614720a4 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -78,6 +78,12 @@ if [[ "${test_variant}" == "gicv3" ]]; then
     domU_check="echo \"${passed}\""
 fi
 
+if [[ "${test_variant}" == "hwdom-control" ]]; then
+    gic_version=3
+    passed="hardware xenstore"
+    dom0_check="xl list --verbose"
+fi
+
 # XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
 curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
 ./binaries/qemu-system-aarch64 \
@@ -114,7 +120,7 @@ cd initrd
 find . | cpio --create --format='newc' | gzip > ../binaries/initrd
 cd ..
 
-# DOM0 rootfs
+# DOM0/DOMU rootfs with Xen tools
 mkdir -p rootfs
 cd rootfs
 tar xzf ../binaries/initrd.tar.gz
@@ -125,6 +131,31 @@ mkdir sys
 rm var/run
 cp -ar ../binaries/dist/install/* .
 
+echo "rc_verbose=yes" >> etc/rc.conf
+
+# Create a domU variant
+if [ "$test_variant" = "hwdom-control" ] ; then
+	echo "domU" > etc/hostname
+	sed -i 's/hvc0/ttyAMA0/g' etc/inittab
+
+	echo "#!/bin/bash
+
+	export LD_LIBRARY_PATH=/usr/local/lib
+
+	${domCTL_check}
+	" > etc/local.d/xen.start
+	chmod +x etc/local.d/xen.start
+
+	find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
+	# Restore hwdom console
+	sed -i 's/ttyAMA0/hvc0/g' etc/inittab
+
+	# For dom0 - must use xenstored for grant mapping
+	sed -i '/^#XENSTORED=/a XENSTORED=/usr/local/sbin/xenstored' \
+		etc/default/xencommons
+fi
+
+echo "dom0" > etc/hostname
 echo "#!/bin/bash
 
 export LD_LIBRARY_PATH=/usr/local/lib
@@ -142,27 +173,45 @@ xl network-attach 1 type=vif
 ${dom0_check}
 " > etc/local.d/xen.start
 chmod +x etc/local.d/xen.start
-echo "rc_verbose=yes" >> etc/rc.conf
 find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
 cd ..
 
+if [ "$test_variant" != "hwdom-control" ] ; then
+	IB_DOM0='DOM0_KERNEL="Image"
+DOM0_RAMDISK="dom0-rootfs.cpio.gz"'
+	IB_XEN_CMD='XEN_CMD="console=dtuart dom0_mem=512M console_timestamps=boot"'
+	IB_DOMU_EXTRA="DOMU_KERNEL[1]='Image'
+DOMU_RAMDISK[1]='initrd'
+DOMU_MEM[1]='256'"
+else
+	IB_DOM0=''
+	IB_XEN_CMD='XEN_CMD="console=dtuart console_timestamps=boot"'
+	IB_DOMU_EXTRA="DOMU_KERNEL[1]='Image'
+DOMU_RAMDISK[1]='dom0-rootfs.cpio.gz'
+DOMU_MEM[1]='700'
+DOMU_CAPS[1]='hardware|xenstore'
+DOMU_CMD[1]='console=hvc0 earlycon=xen earlyprintk=xen clk_ignore_unused'
+DOMU_KERNEL[2]='Image'
+DOMU_RAMDISK[2]='domU-rootfs.cpio.gz'
+DOMU_MEM[2]='700'
+DOMU_CAPS[2]='control'
+DOMU_ENHANCED[2]=1
+NUM_DOMUS=3"
+fi
 # ImageBuilder
 echo "MEMORY_START='0x40000000'
-MEMORY_END='0x50000000'
+MEMORY_END='0x80000000'
 
 DEVICE_TREE='virt.dtb'
 XEN='xen'
-DOM0_KERNEL='Image'
-DOM0_RAMDISK='dom0-rootfs.cpio.gz'
-XEN_CMD='console=dtuart dom0_mem=512M console_timestamps=boot'
+$IB_XEN_CMD
+$IB_DOM0
 
 NUM_DOMUS=1
 DOMU_KERNEL[0]='Image'
 DOMU_RAMDISK[0]='initrd'
 DOMU_MEM[0]='256'
-DOMU_KERNEL[1]='Image'
-DOMU_RAMDISK[1]='initrd'
-DOMU_MEM[1]='256'
+$IB_DOMU_EXTRA
 
 LOAD_CMD='tftpb'
 UBOOT_SOURCE='boot.source'
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:41:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904234.1312174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJu7-0008Su-3c; Thu, 06 Mar 2025 22:41:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904234.1312174; Thu, 06 Mar 2025 22:41: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 1tqJu7-0008Sl-0B; Thu, 06 Mar 2025 22:41:23 +0000
Received: by outflank-mailman (input) for mailman id 904234;
 Thu, 06 Mar 2025 22: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKE-0000St-3c
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:18 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20606.outbound.protection.outlook.com
 [2a01:111:f403:2009::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f13a057d-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:15 +0100 (CET)
Received: from CH5PR02CA0014.namprd02.prod.outlook.com (2603:10b6:610:1ed::18)
 by SA1PR12MB7246.namprd12.prod.outlook.com (2603:10b6:806:2bc::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.29; Thu, 6 Mar
 2025 22:04:11 +0000
Received: from CH2PEPF00000147.namprd02.prod.outlook.com
 (2603:10b6:610:1ed:cafe::a7) by CH5PR02CA0014.outlook.office365.com
 (2603:10b6:610:1ed::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:11 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000147.mail.protection.outlook.com (10.167.244.104) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Thu, 6 Mar 2025 22:04:11 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:10 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:10 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f13a057d-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aIChjmyTqA6NIq4lvZH6Cg/M5b+GDs5s/V0bmizIuZp0JA2AxiBcN5++LLD2NgCr39fhb6MRbwFWaGPDegsRnp1YTu1nuwrXNxXokBOgh3jHIOjnvNcU8SgqDrbknQWvKNdz9pP3UmnlMrV6KAevR+hu4ZmmAJAvgey5GVJRPR5jIl40TxnNoXmHy78Kac7K6wwU1/9x1TkMMky/ZWN2kfj/Y4lDLj5Y80yFlmHfcIIQ2/c1+OweJ4OhSU7t1fQvOHJJcSfBmug6LNuN9BofsbyFhziVNWONlG6SvWzkp+zYw+cqXLqknWhACVrJxwVut1RaRbUi3VQ54tN0leFvMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ok8RL7TyW5vc5cM4sRmKREX6HGYDRWzAE9iCY9N4XB0=;
 b=bHTI0OfZ7oWOBtH22/JuiiiZuknQyAtjMEhxHpKkR9ASNEJZaKCo1BonkbVOI7FW4U+wRUuUD4hgcsAmY7BcnkY4MhmX8UtfogTtM3boDTANs+Bpu8z2gOz2v4Ol/dBBfic1gSHm2Lteb95TF0A616f25+a3M1jsxdWXqlnEvaULq47TPbN4eYW7MNYpsrlF8Zm47XnqmY0qAjeiTj/7xCmcgK6yAVz73nztn0WNPd4R/oaj5rZ0OKhJOAnFxEepckUhsT05m6lD0MMifT2xO9bHpw0jvuyJhdV3jkbuCpwcYt2JIaqtibgIpGcEuFYRz2v8CL3x46maKZAVivJyMw==
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=Ok8RL7TyW5vc5cM4sRmKREX6HGYDRWzAE9iCY9N4XB0=;
 b=15LO/jV4EvSXoc05AUDZch9EU9d+D47Z8zEqFQ3ZwyXlQZ2NNmuwksnON56ogGkTtdmJR/a/pp5gA6DrjOscFVhtcP8Ijj0wo1DjzHKrxvaloevw/sMAg7//pHiov2uCHtWek2zKI118wdv4+AV5ZsaCSlyvruvK/yvpsskmKi4=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH 19/23] xsm/dummy: Allow sysctls to both hardware and control
Date: Thu, 6 Mar 2025 17:03:39 -0500
Message-ID: <20250306220343.203047-20-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: CH2PEPF00000147:EE_|SA1PR12MB7246:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e301467-6413-4007-2fe8-08dd5cfad35c
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?wPu15T2MzxR4AV5WN3QDEw36Sjufkp8Sa7CTyOD8AZnwEpKZ1+4MAjWKlX3R?=
 =?us-ascii?Q?O9Ch2kvKgL0evN+gFUg7P7vJkzAxO/dmGlEetzqIMeERFf3cs1PofYHsBang?=
 =?us-ascii?Q?DToItTWknZbcA1PzIHyy2fDHFpLcnTQJeEpPXSI+XQvALgu0JNmTEhoTi67V?=
 =?us-ascii?Q?nB6etYUWzSiebHzRzbjaG6bin56Q99PWZghTcBlCNoIoWWtLqstAQ3i60Gl2?=
 =?us-ascii?Q?Zn8ZrIw712tec0kHJL/1QisUrE1uC07OXvCuR/HgMrnKk9V78Qnlvkg+C89y?=
 =?us-ascii?Q?DKkG/KYPi8aFtUPk79NiSXZHSMb3UkVpFIrO5z6ut67RgulUuyu6p4VPdgBL?=
 =?us-ascii?Q?trhgzlS5gTpWlyqlXcTWPtjz+o+UsiDz66Au9G8VHx7lDhCyytRZ8WrRqJO2?=
 =?us-ascii?Q?1cm29udLUYCKSFeb+lw8hbE5Q33/n/FKymjSZd3gjeFChPtxXWa9G8ir59lM?=
 =?us-ascii?Q?wwRBoQSVnTIuuT/XY1T1X8Ar4JJdNJYK8+WNK52PwmRheA/UM+iJ9dc3DtCV?=
 =?us-ascii?Q?GXG/bJZMuibhngprcvdYCPvoAmJVl7yO8AzCusgS+2FX9vv0I1n7WuB+HoPA?=
 =?us-ascii?Q?SLfmaxAcup8Jt62eFhlIg1VuWWrhpCNw47sNLYJTFNqanxkLxYfxa6iq0CID?=
 =?us-ascii?Q?IqKgwXOR8oLkEsiMKBM+YgzOOdzMepeGPSOfLmwxw8v8LIGNt5z8sMBZhoOp?=
 =?us-ascii?Q?hI7PSUu8XsdLLilk3mC+N3+ee57Adwd5zvA1OQZqb+RRDHP2eoPZtcvaFjMO?=
 =?us-ascii?Q?YPyfa/ZPtvcL5mmWCBt57AdTdJ0e95NAL1MhxqlLfiP5FjXB6ueq0ss+QyCT?=
 =?us-ascii?Q?SG+df/ZVhDPCEwk0imGYGxo6I35DGQT4tUVnp4s7TkBPE2hrVScmmU4Wvxq+?=
 =?us-ascii?Q?zCfFwJfc7XG17FR3s/88vXqkLsKBNBQJFL+SbLsx4eiulUND3odC9j6qjeyG?=
 =?us-ascii?Q?0619FaMFB+GTlr+zj7bkX7G/hmBVLGWcdtkjJEGBoyGWoD/gthgu6yQBig95?=
 =?us-ascii?Q?lxONkLx6LHAzLQUtZbzkahiZMpLtBpctV4EUq58vRFnMOma3PSMmvS3RafjK?=
 =?us-ascii?Q?N9NxBu+fPhxAV+hlA2W150eArmcA91uj8aWTU/OxbUXFPk4zCR/wyz0cFN1+?=
 =?us-ascii?Q?JLotAGMs7cf3ax3Z9okWWrrlMpbEyzSCKaHl5i66ry5yrnov1tNzMjjVmK+V?=
 =?us-ascii?Q?XLKzFleKC3zDkopXERoJOucV6n+546zuUldXM1ewggrL27FPAfm4EpXhSiVv?=
 =?us-ascii?Q?VELfZ6TqgS3WT4ZCDpSMOOWsSf9p+8n/aIhqqIIoNF2aBVOsWgvYNuO42JLT?=
 =?us-ascii?Q?eiIubLVPPDZGrg7Y4tWKVZDybUVJm4OduVP3aM8Bl2TngXe6Qv5UURm7F3JH?=
 =?us-ascii?Q?t5B/3KkztJtIoqygLgtf+eaoZ6YKuRLa9S/2f5Wiw/6sLQHo5iUv3N3hEsXD?=
 =?us-ascii?Q?ekrC9bnsODzbGls1+3nE9c3HRNUOwkz6hDS+J/CAxo3HUnvv1lVOs4GUsGkQ?=
 =?us-ascii?Q?YTu/7bbWPKARQc8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 22:04:11.3310
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e301467-6413-4007-2fe8-08dd5cfad35c
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000147.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7246

xl queries SYSCTL_physinfo for the physical cpus:
domU:~# xl list
libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
Name                    ID   Mem VCPUs        State   Time(s)
Domain-0                 0   800     1     r-----     130.0
dom0less-1               1   400     1     r-----     130.3
dom0less-2               2   800     1     r-----     130.3

Hardware and control are both privileged.  Allow them both access to
sysctls so they have insight into the running system.  This is coarse
grained permissions for the dummy policy.

Now the only sysctl denied to a control domain is readconsole.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
Could just allow physinfo to control as an alternative.  There could be
follow on sysctls needed in that case.
---
 xen/include/xsm/dummy.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index f4656bd179..ea8b2fd6ee 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -194,9 +194,10 @@ static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
     case XEN_SYSCTL_getdomaininfolist:
         return xsm_default_action(XSM_XS_PRIV, current->domain, NULL);
     case XEN_SYSCTL_readconsole:
-    case XEN_SYSCTL_physinfo:
         return xsm_default_action(XSM_HW_PRIV, current->domain, NULL);
     default:
+        if ( is_hardware_domain(current->domain) )
+            return xsm_default_action(XSM_HW_PRIV, current->domain, NULL);
         return xsm_default_action(XSM_PRIV, current->domain, NULL);
     }
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:41:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904236.1312179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJu7-0008W7-Ep; Thu, 06 Mar 2025 22:41:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904236.1312179; Thu, 06 Mar 2025 22:41: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 1tqJu7-0008UM-84; Thu, 06 Mar 2025 22:41:23 +0000
Received: by outflank-mailman (input) for mailman id 904236;
 Thu, 06 Mar 2025 22:41: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKO-0000St-54
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:28 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2414::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4453e15-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:21 +0100 (CET)
Received: from BN8PR15CA0008.namprd15.prod.outlook.com (2603:10b6:408:c0::21)
 by PH7PR12MB9126.namprd12.prod.outlook.com (2603:10b6:510:2f0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Thu, 6 Mar
 2025 22:04:17 +0000
Received: from BN3PEPF0000B374.namprd21.prod.outlook.com
 (2603:10b6:408:c0:cafe::c2) by BN8PR15CA0008.outlook.office365.com
 (2603:10b6:408:c0::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.23 via Frontend Transport; Thu,
 6 Mar 2025 22:04:16 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B374.mail.protection.outlook.com (10.167.243.171) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:15 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:15 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:14 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4453e15-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LAUBJVD7RE3GQRpISjcpcpUmMapB8vP/xvawGwV1MDNiklPa8nxvmGF5OF97PyOy1glynVGiSz4QXF57Sb+p6c9heDo9Gz6U+QEpLoEvf8GwUHXenDqiOTkS1ARwC76lAaWjda6f1yYrXjDE2w3+/yQzBFOTZZFgLzk3DNHVtEULrXfISOadGRavAR5Uxq6T0IQ+wlM8tE6LOOc9rndK7fYnVMyliNTHktDE2FHJjWSZGHtxr8ojGxlSZiiDD4Q4iLwaZOKzsUtlfEVrAV9In8EWVmyaoIgPsms5b9g879SoyU2EOoqaxaXMnxA7wr2YCV8jB7PYL0TvK/oIlJG94Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SUhXI5hfUJRz8vEpwnsKqvXWD86IJzc1qF1Le5xsGbI=;
 b=ZM/aZLqWgpKdlNIQWHC7c5Pbhm+Bita2a1OfAYig7QWP4lsTxl2Opr0/bo0966dFhrNMlS+1T5IR4LYY1ZKPIw3TAQ6KoEcF2pvhIQ88p0EgMnlJMrR3fyrACKPlJXuSrTJ01PXYZiUDzB9HZnfkNUKDeLN4f5L0vXctd/OhbRZGupPhqW0qZRkyw5toUYLtilVf4IJMbzsbYQV6v+YhHx2a7veG5ImhHJmz6eNlNV9kO87bUlFdmIb0cn9jQsD1O2R0WfjDyR6u2ak/TKkVC+mhrotU0soMqmrENfu2XcyJ2Ca/0AdmQWPqbQ2NzBiQFG8Qmpolhj3ifvIAZxLBEg==
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=SUhXI5hfUJRz8vEpwnsKqvXWD86IJzc1qF1Le5xsGbI=;
 b=T/bYlYz1ntyt3Kt/SjOChpgLOO72bW4g4ojsRzBpp4Ql57O2S2IbS5tJ1ybPcTiq36ZXcUXzDaxX4IvrrK2YDNpFZQI8Re3enFoTIwPfBRu1uDY8kC9MmAQj1twBLjchdNvE443WdCbYibz6yrDTpmp5agdCWIPfxiC4idO75NY=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 23/23] DO NOT COMMIT: automation: updated imagebuilder
Date: Thu, 6 Mar 2025 17:03:43 -0500
Message-ID: <20250306220343.203047-24-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B374:EE_|PH7PR12MB9126:EE_
X-MS-Office365-Filtering-Correlation-Id: 58325df1-fbbb-47f8-e5b3-08dd5cfad5f8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?0P6avvlLzlPZ2dnNAx4o/kKSXpf1r1CQZxOhUDTBpNza/C19r4q9TTD6t/K7?=
 =?us-ascii?Q?+NGFgDqlasbusCXjRdnEo9mcDESTwZ6cJowuh9b2a3rw/z+evgkuCrNlwsWC?=
 =?us-ascii?Q?cw2tT9oZhMYMaMu4XMhQNj9S5s0Tzc8afi9zINr2EEk3VA1ZDVYBDcROaKRv?=
 =?us-ascii?Q?nBeb1RMd/Qo+OntiAwvqejDaCbShZ2XXYL/RzSmyQyGJ7RCvss/zNI9PdsV2?=
 =?us-ascii?Q?IVUerCSCvOhNpN0hNF94E+NYS6U+f3C5Eb0L7NtKzl8FLdibSx1J5bcDm/17?=
 =?us-ascii?Q?GIT+++DlEeFKEKjUyGi0OYIOilhbNqnt9Hdg3DtZwGXNsxU0i0/k9ObWZEVc?=
 =?us-ascii?Q?NhzyTPoimE36IpfeKeqsbzLaIMIen1vFXboXVhFYbnaER/Vb7mA4lJHiIH2p?=
 =?us-ascii?Q?0HX/Bbk/NU2880aza641d0lOti3Yecneh+lbFCCzJ6R1iYdB3CKJ5HnDRj58?=
 =?us-ascii?Q?4SwWE/8XnDBz3SD4YbmynMonQgtZdUNL7Iz5Ozss4yofcXegOKTUp0OC8dXE?=
 =?us-ascii?Q?bqotL+bNa70/lXMSULkEkSLSpojhfTXmNy/nr89NfKBLf2py9Y/UwwVoeSYi?=
 =?us-ascii?Q?ROeFWoYgeLJZAPthJ3SIusnX7JFy5dgSzHpAyCxpxFk2gfoxY0fD8/9G5Z4s?=
 =?us-ascii?Q?muckb3/v7QFWCtScIzMXJ2DLmds6Kxg0wtU/mSceJBmcZGkQEs1BbWlDaSUG?=
 =?us-ascii?Q?0LqUiGKP/EUx4K+l2tspSm5zNsEEhjLE+64jZBl33/UCHdH0LxxAoWGQhws+?=
 =?us-ascii?Q?4YyFsnbcQjMD7SWNTni57bAatwko/9lrwmYNjGSrb2JjYwwOkWzZqzonU6Mh?=
 =?us-ascii?Q?Va61Pwpl5UvOCd6zMh9TUP0fwegwgOo8QcAY1wL96fhLE79drli25G4kdqCU?=
 =?us-ascii?Q?KM8VWfJW8y2rRKqVI6eSjnyK3YbGtS3WZ9fVUvbJ13h7FWV5/sVCxWCCXno8?=
 =?us-ascii?Q?2se+kIDCO+1ESXZWFhiJmK5lZc1ik/gSb7sBG5nLu8po33WxtBc7rOh7t/Xc?=
 =?us-ascii?Q?Fza/wZccryVXMAnrl/mA7UP+agY+mVgACBYMfvyLCbL0MVHjOZwtkaw9y6nw?=
 =?us-ascii?Q?WgTBxiNoARO7XPZDRZrSON+wNgLNdK3HB8AwAj4v3IAeTcNDBg1AndFHTELI?=
 =?us-ascii?Q?uJefsRA8YqBJMzpDyKIm3yhwkPCdyka0ci6jE2+uYfRJkyYfDh+KyOLDTwH/?=
 =?us-ascii?Q?c+JnCvIVElXaOwxAbgdf70XYeGOarr7gqgSomGp9BCGGbEfkzrNVFqx/A+Rc?=
 =?us-ascii?Q?AgMLhOOFvDSNUIYH0vwkGQmpkk5lOTk4Vy/LPHf23XGFdemDB8SpGbEBy27z?=
 =?us-ascii?Q?O4l/FVBGjhpZPwhM9fMsK6LEcrnF9v+6Y0bAldqaATWtS80LPVHRpYnrzqjd?=
 =?us-ascii?Q?SETbgtxkx6FmgvCl1Lzfp9xFUKhOepSz7Ign4GjZlr2L0nvEIm8S/ydNQbaF?=
 =?us-ascii?Q?EMteiJdgGmOOqYDpRl7AdSvMKIThPT8EBWNwV2OB9cL1/fJ+cvWpMLgP/3CN?=
 =?us-ascii?Q?rUDG9TnHe3joLjY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 22:04:15.7447
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 58325df1-fbbb-47f8-e5b3-08dd5cfad5f8
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B374.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9126

Temp commit to update imagebuilder repo for domain capabilities.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 automation/scripts/qemu-smoke-dom0less-arm64.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index 39614720a4..26493ecd88 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -250,7 +250,7 @@ NUM_CPUPOOLS=1' >> binaries/config
 fi
 
 rm -rf imagebuilder
-git clone --depth 1 https://gitlab.com/xen-project/imagebuilder.git
+git clone --depth 1 https://gitlab.com/jandryuk-amd/imagebuilder.git -b dom0less-caps
 bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config
 
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:41:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904246.1312194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJuC-000142-NR; Thu, 06 Mar 2025 22:41:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904246.1312194; Thu, 06 Mar 2025 22: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 1tqJuC-00013o-KO; Thu, 06 Mar 2025 22:41:28 +0000
Received: by outflank-mailman (input) for mailman id 904246;
 Thu, 06 Mar 2025 22: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJK9-0000Ss-Bn
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:13 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2413::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee36c560-fad6-11ef-9ab4-95dc52dad729;
 Thu, 06 Mar 2025 23:04:11 +0100 (CET)
Received: from BN9PR03CA0087.namprd03.prod.outlook.com (2603:10b6:408:fc::32)
 by PH7PR12MB9222.namprd12.prod.outlook.com (2603:10b6:510:2ef::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 22:04:05 +0000
Received: from BN3PEPF0000B372.namprd21.prod.outlook.com
 (2603:10b6:408:fc:cafe::7) by BN9PR03CA0087.outlook.office365.com
 (2603:10b6:408:fc::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Thu,
 6 Mar 2025 22:04:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B372.mail.protection.outlook.com (10.167.243.169) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:05 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:04 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:03 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee36c560-fad6-11ef-9ab4-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M+duMxeKFPY+K2EpRSRoDLL047tDFglfbWulRwOx2yNLxEoI4yT7jqnowhSn+QrNikdjo0GZNsqN6XnR0wQ+yKP5DjOwDhvN9++7Zj92yHVXFERDnYbxAKqqccbmgVj3h6fqChgpwgGnaBh0Jy4zNlzlcZwCDDaQGFCmqTCHxooQ+7Ffakptw0x2boyLO8TW3l7nZSl3v0n0ONi0JVJmb8k+AIC0lYcJHbHKO1n3q8f6N9GGoke8f3HJBdHwjUlhcI7fEHte1vSye1XtrdIlk6TlSYgBM8yW1SfLR8BJ9p+NjBvjBMahjc45xsxWWjB76h3Z6FzwAgSkjiE4HNmMTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TNgQrZnx+1brlKFiQ9NUOt1D3BsJYWITfDLiw9hTcZM=;
 b=SITUgxldZs16Fi75BN80NqQboE/qAziRO4Eevh2RSgz55Z+TVBM4qLRktuJcjlFcI4aqGAgurioDtqR8g3aqxyb7GgIHX9Hc5Vk4QBuNdb823uywL7C2Y/Kj2AxSOQJAkrUh8ymlM4rHJYRDN9pUQQzYD0VM89hrXVeVk8NjBj1JI9zbDPpFJBdINNlei3ULK+J2k2HNy2JDR9FmO/PsFQPQY5FALkya9dlmEYofuAAuiG7TYkomACHEc9GUkZqimIu8wFRX/b5s9N1H6mNl8FyworqXkT6gMRNZs1EBg9lL47jjMzZzA81/pbK8CbJU5gk1i6xrKHC61ODz0RNt5g==
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=TNgQrZnx+1brlKFiQ9NUOt1D3BsJYWITfDLiw9hTcZM=;
 b=YVBII0jL2M0g457n5fYBXk1Cj7DxocpvhQ5agcu6X6UxIHfvJFOUmCge4RG9SRt4plNtmhWlYXDTsEqGI0BCuOhLAeTYEh78kpyQqFX6uijYdF4BNcLHbM37u0YVg3d+8umsVzCZ/dv8iLh5Z8NILCY/t/ao5s5k0larGqDtUpU=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>, "Daniel P.
 Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH 14/23] xsm/dummy: Allow XS_PRIV to call get_hvm_param
Date: Thu, 6 Mar 2025 17:03:34 -0500
Message-ID: <20250306220343.203047-15-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B372:EE_|PH7PR12MB9222:EE_
X-MS-Office365-Filtering-Correlation-Id: fa96a43a-dcec-4fc3-1228-08dd5cfad00c
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?A+3hxxMl1yIA4nqaJNKLFOy1KzHOLdrLaI5ddjzCy2sVS5PV99/WK7n6P7ss?=
 =?us-ascii?Q?7O9hkkSMIfiK9UgkaXMvfjKrzidQnXYueHlbg3P/oTpvQek5NRq/27v1H0Cl?=
 =?us-ascii?Q?1hjPXP7/XXrIcj6tvkXMV4SZSm8u53DKN6B3di646Ufgqa1olGLx8HgMUyIt?=
 =?us-ascii?Q?TCnIPIcFHgn0Y4o7Pngy+JUVLQ5snTjPPt5Akwt5hs+QQZ18GP1JlENT5meQ?=
 =?us-ascii?Q?KH1jeScMyVp0mOKjnKfx6945l/sC73TLYhPte5fGJ989Z71wUDBl6GsvoK5p?=
 =?us-ascii?Q?pAqoqG6uiIcjxG/+Yals3EUwoOl1sp24VlTCSGH86GotGQ7OAxTvKKDiNmRd?=
 =?us-ascii?Q?p45dzBwv/5EgqjIX+rsapgtXD/mAm+bwPGuZ1gszuKmETgfJfQYesR95wwJr?=
 =?us-ascii?Q?QVn2wPymYAIM+VCgTKXUjD9oiROxosHzAKpP0SzJFhTZswaOOWKatsEAlOOi?=
 =?us-ascii?Q?3Yobl35Tq1s6VjY+qSBdLuqs9L4esZhRpcvE3O2RLZzKmDXWMqpieGOGo14S?=
 =?us-ascii?Q?xTirDJ+XIXJ8YYwT8eMR696uxOc+o1Lslj8bTmWSKftu4goiZNtEg8BWCAdZ?=
 =?us-ascii?Q?X80rIsJE115t5ZYZHb8jaIxf4IL+/IezwJeL+lZufdaWFoS7D5FyfO5d7s3g?=
 =?us-ascii?Q?kNIAfsDjL13Dea8Q6/U990ae/OTDlcIcwztEf/jtP/OVs9Qd6KKvRaEvXFLw?=
 =?us-ascii?Q?izUM+r9iLGtWlDe0zInWqx67vZJb3s4BwvmAUIP4T1S/TpwAiy2do3LpWE+0?=
 =?us-ascii?Q?SiXXn8kW1g5HYEaJ9JxSuhl7pi9tUQEloIAXEDhKKVqy3OCcCReSKgzMeQ+3?=
 =?us-ascii?Q?gc8vWNRk/iWB1fu8T4zV9zFuKnxkFNwAox0SAsXs2/cI6n4f4YpBsedn0VCV?=
 =?us-ascii?Q?glLzB68RafxCePg91OnwE1KIZZ6Y+SNwqPR1ie8BhCPGem/XmKUloqbduieB?=
 =?us-ascii?Q?JGVFpGgTDOUAdWaS4Lo7LCE10E87/o6v12lNBc6RkXei6T5MyObK0DRjpA0u?=
 =?us-ascii?Q?8fWpRrAqbziK/kbP0ILLDcfu7dKYzpZSu/SvI8+3H7V3J2S6G1THLupGytPS?=
 =?us-ascii?Q?Krycr6IM2JZmSMquPIXC1ErcHRNwGt8q+9Tyic4cEe4ZZgvK3q1Cl0CC+9yh?=
 =?us-ascii?Q?OXnRrX+Lxgk/2JuDzrPE4PCTlVHzk5gH9sYwpB9IGVdCgu+pu0MHJXwZxRhr?=
 =?us-ascii?Q?ydLf+EctXjMVmQ21kUzLQzkgm/zrMpifMNB36kxMzC/h3X2UpwFhhTb1phiX?=
 =?us-ascii?Q?y/LsBnRZcYC2hBIyqQE43XQ+Ve84KXRzzZnGjk2WH8Qoxe2chYD/DzpdrLwm?=
 =?us-ascii?Q?Za1DhWeh6dcssiMuw3PVS5LCUGn3xIokuNyPHS3oj7+cw0eGJvKtNeWcYAGm?=
 =?us-ascii?Q?Ygsh8qSpYr4P1mDUuZmdFNV0vRUAugaCWznHfwhVXAulR57oFW8eQgij0fCO?=
 =?us-ascii?Q?ex597K+s9lUDv8ogUp3Qf7mMOSe6nYZZZtcBZcdlU7yBezmoup2CKxxLbC5J?=
 =?us-ascii?Q?CGTy8eluEKI2uqc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 22:04:05.8041
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fa96a43a-dcec-4fc3-1228-08dd5cfad00c
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B372.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9222

This is useful for a combined hardware/xenstore domain that will run
init-dom0less and xenstored.  init-dom0less calls xc_hvm_param_get() to
retrieve the xenstore event channel and pfn to configure xenstore for a
guest.  With a hypervisor-allocated event channel and page, the
set_hvm_param is not needed, and the normal domid permissions will allow
xenstored to connect.

Similarly, a hyperlaunch-ed xenstore stubdom needs to read a domain's
xenstore event channel out of hvm_param.

This allows reading but not modifying the guest, so allow the permission.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/hvm.c      |  2 +-
 xen/arch/x86/hvm/hvm.c  |  8 ++++----
 xen/include/xsm/dummy.h | 14 ++++++++++++--
 3 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index 86e49bf474..b50ca10cee 100644
--- a/xen/arch/arm/hvm.c
+++ b/xen/arch/arm/hvm.c
@@ -89,7 +89,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( d == NULL )
             return -ESRCH;
 
-        rc = xsm_hvm_param(XSM_TARGET, d, op);
+        rc = xsm_hvm_param(XSM_OTHER, d, op);
         if ( rc )
             goto param_fail;
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 969e43c2f2..f3f1002cc9 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4177,7 +4177,7 @@ static int hvm_allow_set_param(struct domain *d,
     uint64_t value;
     int rc;
 
-    rc = xsm_hvm_param(XSM_TARGET, d, HVMOP_set_param);
+    rc = xsm_hvm_param(XSM_OTHER, d, HVMOP_set_param);
     if ( rc )
         return rc;
 
@@ -4458,7 +4458,7 @@ static int hvm_allow_get_param(struct domain *d,
 {
     int rc;
 
-    rc = xsm_hvm_param(XSM_TARGET, d, HVMOP_get_param);
+    rc = xsm_hvm_param(XSM_OTHER, d, HVMOP_get_param);
     if ( rc )
         return rc;
 
@@ -5055,7 +5055,7 @@ static int hvmop_get_mem_type(
     if ( d == NULL )
         return -ESRCH;
 
-    rc = xsm_hvm_param(XSM_TARGET, d, HVMOP_get_mem_type);
+    rc = xsm_hvm_param(XSM_OTHER, d, HVMOP_get_mem_type);
     if ( rc )
         goto out;
 
@@ -5148,7 +5148,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( unlikely(d != current->domain) )
             rc = -EOPNOTSUPP;
         else if ( is_hvm_domain(d) && paging_mode_shadow(d) )
-            rc = xsm_hvm_param(XSM_TARGET, d, op);
+            rc = xsm_hvm_param(XSM_OTHER, d, op);
         if ( !rc )
             pagetable_dying(a.gpa);
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index f2d6662a9d..06f4eccf5f 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -614,8 +614,18 @@ static XSM_INLINE int cf_check xsm_map_gmfn_foreign(
 static XSM_INLINE int cf_check xsm_hvm_param(
     XSM_DEFAULT_ARG struct domain *d, unsigned long op)
 {
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, current->domain, d);
+    XSM_ASSERT_ACTION(XSM_OTHER);
+    switch ( op )
+    {
+    case HVMOP_get_param:
+        /* A domain can query itself, or a DM can query its target. */
+        if ( !xsm_default_action(XSM_TARGET, current->domain, d) )
+            return 0;
+        /* Xenstore domain needs to be able to query for mapping. */
+        return xsm_default_action(XSM_XS_PRIV, current->domain, d);
+    default:
+        return xsm_default_action(XSM_TARGET, current->domain, d);
+    }
 }
 
 static XSM_INLINE int cf_check xsm_hvm_param_altp2mhvm(
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:41:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:41:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904248.1312203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJuF-0001Pa-5Q; Thu, 06 Mar 2025 22:41:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904248.1312203; Thu, 06 Mar 2025 22:41: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 1tqJuF-0001PN-19; Thu, 06 Mar 2025 22:41:31 +0000
Received: by outflank-mailman (input) for mailman id 904248;
 Thu, 06 Mar 2025 22:41: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKI-0000St-4c
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:22 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20616.outbound.protection.outlook.com
 [2a01:111:f403:240a::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1f812fe-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:17 +0100 (CET)
Received: from IA1P220CA0007.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:461::17)
 by IA0PPF1D04084C7.namprd12.prod.outlook.com
 (2603:10b6:20f:fc04::bca) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.20; Thu, 6 Mar
 2025 22:04:12 +0000
Received: from BN3PEPF0000B370.namprd21.prod.outlook.com
 (2603:10b6:208:461:cafe::a) by IA1P220CA0007.outlook.office365.com
 (2603:10b6:208:461::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:12 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B370.mail.protection.outlook.com (10.167.243.167) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:12 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:11 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:11 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1f812fe-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XgKb1dCYQl/PL4rEeeVbJy3merYIjP8w619jubbZaZ/eFLZBmGLMpCd9tPkveTV+msh6fzQ50v1cmdkkb7AzabPFYq3MxM7jyMJmR1YEIWY+KOOHZgBDrp1Nk5gudgB2cXxW+rMzFsvd+BQTSDtrABFFjzwvpMIxFBBGDXKPgrtR8JsZYoXapnimrD63UefaXsBAOutINh3tz5+FCMTJAA2p+1z4PrO4v9vQfm/09Z4JmDZlg/HbEIkKg19gr0xft3Enoqu7utYV2QpUx38wS1ikgbJLqnMhYbwRNlDgmUmmKdQvfgSQpONSuTkhApNdSqQjdk6QhP4ZOJsRDDOWkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JPs55QsbN5eLARlGEAoRr/S0ZzRWapeUl7F5PScoPKM=;
 b=pgn+MTHG2aKpEq2Cv4AeffHaqRjEVr0f4uJ7M9dEv68900UUNdeKRzmukCAADcYN9+vVUs26u31SpX/uwOv1SvIzRs03QGyWUsfVnoViA0yzWhqheXD7KGXbQzzZLCDRdagiL2kjAzB1PyReN6K86lEHuoWhBTyyvXEb2hET+xQ7Q4h/z5fDgiYk9uIfBJDO2fv85TtaojKIJZ2cGaKxQUm13dvUs8zAxsGPTb9i+OXQbOrQV6HyRnvy4dg1GE263m7ZroArqN1YcE/wpuAF9bFtQvadpV7DHw1b1QyT/cGlk1EyQmm47kRt96qDI5DAWLLZS7d4TUJPnIlfnioHsw==
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=JPs55QsbN5eLARlGEAoRr/S0ZzRWapeUl7F5PScoPKM=;
 b=y6aUXXQfUY5YbR2S0/RqMfaS1afTwPZ2HuBsAna+trEQXBJ2eCdAHz3uPWs7jZ/ZpjjX8VDUJeFLZ//PP772X8uUGgILr2tFEF0bp/L9vsB2ZJK6OUr24/SbJpMcZRLu7cmnmpaqoK26Ilij017rnzdpKpSPKtubsHaSttUyi88=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH 20/23] xsm/silo: Support hwdom/control domains
Date: Thu, 6 Mar 2025 17:03:40 -0500
Message-ID: <20250306220343.203047-21-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B370:EE_|IA0PPF1D04084C7:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c818c7f-bee5-4c31-ad47-08dd5cfad3ec
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?sybdcg/DlhAfGXP0hsrikDOHaUMXVwN8ZeM2YyfthrLlzd8LjsMdAISF6QNu?=
 =?us-ascii?Q?67bsp7yoxjYKobqAZBoEs5bHQv6ByzFrD8m4KdJZrAov9tnQTlNqGxuBQOev?=
 =?us-ascii?Q?L7NAiYa17tBLpkFu2FnMZrJGkCjfsDywVuumB52Wthhmnnh4fiVqgtOjPTxA?=
 =?us-ascii?Q?A/pjw6svLzPB+xW6eH7H+1jCPGK+AxA4foJkmWpEk34hocmU+Pta0pYZKwjY?=
 =?us-ascii?Q?yqoEbRerkbvgISYX2OltBdR76E6J6T6bUcx8lTglaN+rhQGSm/CZhFUTyJWO?=
 =?us-ascii?Q?YGjkRURno+zIDITigqpJ3HOYqTT8562dHRcJn13bwAtSFDpOqjf6exso0ghs?=
 =?us-ascii?Q?5lRG/Q18tOXwuYUMeOSSsjIWRmlRN4wlycAF3k+nWvUO9qmUY8ocwAw/I+LZ?=
 =?us-ascii?Q?16sWN+q8B0k5l4o4D1FRRUACZWlOoI9D/60mjalc9KQFFRdltu++A8avN33J?=
 =?us-ascii?Q?OA4/QFKzFpPM/fvGc1FKl661IQdeH+zVlHlF22X7eUhSH0b2vHv0lgOpCCzL?=
 =?us-ascii?Q?Kzo1DLTOQV2ojyVotzv3+S+Sy/k/UTa2LIDPYN//5Gpo0+dUTMYrFehtL6i8?=
 =?us-ascii?Q?HSZDThyIUDgU8PYilqf4xbSt6CecX9WOTjXLezOBCVapcKmzB4cB288aoHRA?=
 =?us-ascii?Q?Bf3e2SrPbaUKnCpiwpuGPb6g9X/CiLgGukJRziHouWiZlRsfNIpizEWqlQmF?=
 =?us-ascii?Q?yGB9WbIHvduR5Mb+x6WF8sIpyTwkUoq9pPGxRmzy9PpDCnVrFuBr33hVQy5J?=
 =?us-ascii?Q?/ID7MQKrqbPTYWIKVCg+C5QWjOulQFlUoKonoUqKmwno4KDscrhio5+iH4UP?=
 =?us-ascii?Q?KTNLH38cyS2l5XyTkZwx7xue69g7iaCAchGJgMe8Npk1FQc7UHFsy7nXhhOo?=
 =?us-ascii?Q?BPJJNYo+2gFEX+m2mC8xhUZ5uc15G4yuWXd4zCFdKWt85Buh7BKzCmNgO3mt?=
 =?us-ascii?Q?M+I9CTAb3bc1u/PswxUeOtDQSJ40sJY1MeIPklkmD5YPAfd86uU3qFuU6C6J?=
 =?us-ascii?Q?PnP1mmqIVCKvuDZAHrYt9y185OYWZe9Bsi9b7HUsrb0CDNtzzoXtG5S0A+gb?=
 =?us-ascii?Q?cXRCJ/bC7jbt7YBsBY9gbJU0IDXvvqY9F7mIGriCe5ognGfAl1nRVAjPlaDs?=
 =?us-ascii?Q?LOaZ9XWEAW0POg3BypWuP8pjBsWBX1VDxu0puxDEQ9by4pOK1s4hiZUgQt+j?=
 =?us-ascii?Q?78n6RLIcuWs+EOqDRthKzasAzXbE5azXVk9saUwU1znVNehlNoQdrHbe0z56?=
 =?us-ascii?Q?gMLrqEdNVb/5KtZGwL0yUY3PyGnLou1QWOblVmWRliKHM6NwsHbRHa2KN89U?=
 =?us-ascii?Q?65+zSvcK91HLYo6uifR5tI3rW+YmnOLrO3qo/ya5DXRNm777McFfnSZqzh8m?=
 =?us-ascii?Q?jk2NDXrw5shh15G1F2C700UBgtU1qNRUKdvFsRdwb7pljtNklieag5l7dECF?=
 =?us-ascii?Q?CM6B6TBlTvQ7WO4XXFuEQK7Ts9y3NOK9KxdUFkO7LE3hF8f2YXMtFdGjZujL?=
 =?us-ascii?Q?DK4U3wAk+8ux/RM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 06 Mar 2025 22:04:12.3092
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c818c7f-bee5-4c31-ad47-08dd5cfad3ec
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B370.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPF1D04084C7

The is_control_domain() check is not sufficient for a split
hardware/control domain.  Add is_priv_domain() to support allowing for
either control or hardware.

Without this, a xenstore/hardware domain is unable to map a domU's
grants.

This silo check is for grants, events and argo.  The dummy policy
handles other calls, so hardware is prevented from foreign mapping
control's memory with that.

This would need to be expanded for a standalone Xenstore domain.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/xsm/silo.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/xsm/silo.c b/xen/xsm/silo.c
index b89b364287..d5e1a554ea 100644
--- a/xen/xsm/silo.c
+++ b/xen/xsm/silo.c
@@ -20,6 +20,11 @@
 #define XSM_NO_WRAPPERS
 #include <xsm/dummy.h>
 
+static always_inline bool is_priv_domain(const struct domain *d)
+{
+    return is_control_domain(d) || is_hardware_domain(d);
+}
+
 /*
  * Check if inter-domain communication is allowed.
  * Return true when pass check.
@@ -29,8 +34,8 @@ static bool silo_mode_dom_check(const struct domain *ldom,
 {
     const struct domain *currd = current->domain;
 
-    return (is_control_domain(currd) || is_control_domain(ldom) ||
-            is_control_domain(rdom) || ldom == rdom);
+    return (is_priv_domain(currd) || is_priv_domain(ldom) ||
+            is_priv_domain(rdom) || ldom == rdom);
 }
 
 static int cf_check silo_evtchn_unbound(
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 22:41:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 22:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904252.1312214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqJuH-0001ze-H8; Thu, 06 Mar 2025 22:41:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904252.1312214; Thu, 06 Mar 2025 22:41: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 1tqJuH-0001yM-Bm; Thu, 06 Mar 2025 22:41:33 +0000
Received: by outflank-mailman (input) for mailman id 904252;
 Thu, 06 Mar 2025 22:41: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=0N12=VZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqJKD-0000St-3U
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 22:04:17 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2061d.outbound.protection.outlook.com
 [2a01:111:f403:240a::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f14b6171-fad6-11ef-9898-31a8f345e629;
 Thu, 06 Mar 2025 23:04:15 +0100 (CET)
Received: from IA1P220CA0010.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:461::7)
 by CY8PR12MB7340.namprd12.prod.outlook.com (2603:10b6:930:50::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Thu, 6 Mar
 2025 22:04:07 +0000
Received: from BN3PEPF0000B36F.namprd21.prod.outlook.com
 (2603:10b6:208:461::4) by IA1P220CA0010.outlook.office365.com
 (2603:10b6:208:461::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Thu,
 6 Mar 2025 22:04:07 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8549.1 via Frontend Transport; Thu, 6 Mar 2025 22:04:06 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 6 Mar
 2025 16:04:06 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 6 Mar
 2025 16:04:05 -0600
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 6 Mar 2025 16:04:05 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f14b6171-fad6-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BX/xNsIhWD4JNSkV2eBTflu00DaZC8XJr7yFLJEzkaeZQLT6rETaHiWdcaKZ55YpUnWb4bZ+X6dXRUfyj8/v7PaPwv43ltGGLl0LacUdvaTQpJDwfEH80DI1QO592nLHD0PCd7c6WkWXXuxswP2wZHrk7A1Iw5bFtvlMcvnTGCrMokyS9z7ubFPUnJOJhP+1Jh2i/PRlcuDnebUJQ0y3TS9q+n3E29zMe3RVkfheX9WfJv+J20I5/cIXgFeBpueHnbfkUn2inwxFa/BSO2GvjHdVtyOXqQVNTj0szXY71Vh229D0QdOXeAISEjLW5zmrVj5K97GxYFoUozUsqKEa9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eh5UOfi8/DTDce9DcK5p8yN56G6mdaBxAbc7mBhaKuI=;
 b=DSLYuGx/mcCMYq3xE5MmPROgHhZjK8LZsRTotueKhpWSMwAdcdJ1ZjfFqhFIR8/G3X2VubtdEvDBLiZOqXbtjJCuWUZ9VoEuWQU4GxPRM7mVn1SECF4irAhett+zHoWrnZyTzFcwvhy0eJ6mMlpWdqNg6cYxmyNLcFkPmgr0z75FA0XJmc0cjY2OBXHRxAzbykclY5fe2k+wd+KEA980Uyz/ctb0kds+urycrbTjp6S0WVKX+Ds/X182RdzjGHGEh0FxsQKMTGF8FeVHOzKlZ1KKURV8HdTPm0x1mZzqAwa5ViHcPEKFginWHifDfLXROI+7GsT/SOsmIUT3ypgnAw==
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=Eh5UOfi8/DTDce9DcK5p8yN56G6mdaBxAbc7mBhaKuI=;
 b=WslNN3vuRlBitgNOTeeMHnpal0onLbrkgNpzCgFunUedQGBGgZN7nsVhsZydklfQtiSJ91GExA+AJXj3gqWjCjm2FOpqnrx3LZrFXn/xraMTw8shrOGvmemaUsgF6c79TxuodaRGYZ3iYPBstkuHzggPcksiAJnW4EvV8KGmuWY=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH 15/23] xen/xsm: Add XSM_HW_PRIV
Date: Thu, 6 Mar 2025 17:03:35 -0500
Message-ID: <20250306220343.203047-16-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250306220343.203047-1-jason.andryuk@amd.com>
References: <20250306220343.203047-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_|CY8PR12MB7340:EE_
X-MS-Office365-Filtering-Correlation-Id: 77133fa7-56fb-4f48-f460-08dd5cfad0a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|7416014|376014|36860700013|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?kvn6oHaegUk0rpDEHUawzuuqKZ4UG8pziUnjWLc7gBmTJASG2RIXhzxJWHew?=
 =?us-ascii?Q?pYRgioDj8Yx+7553XblW6f2yTtYhTrKkXKAj2Al/hc93tsRa4H1ANoTlF8FF?=
 =?us-ascii?Q?jrO41umnllUWLk5180Ppsn+DNvhVU7H/76l5cKbhHwq6ydZxMXBnnakW+V+b?=
 =?us-ascii?Q?vFc9q+W2B+HBtATrvVY1yOlcuni3tsel7W0uoIiT+8Ip/74phatX6StoOFZX?=
 =?us-ascii?Q?w+4tHyFfXNGpYLOqTNxr8mfYLGhPCiuzQxPtFSiXgrETMqO8txxKtbqTmFfN?=
 =?us-ascii?Q?3QSiMV6780AMzvfTR8jK3KR9hNpTeMDmrG7thAuaC3ifD65/gDXxL+mYAI6U?=
 =?us-ascii?Q?s+LYBPu0YJvy80JbWxc9ftQSQf7fgDWxUc14TPWH8TzaaiF1lz7Qp+5Wyrdm?=
 =?us-ascii?Q?J+ZN69b69S1KRm0RZe8xongVu6OeWGNmfn2Oi31IZefyJc9JBavUyalqoGes?=
 =?us-ascii?Q?fvr079bT7YJYxQmvU8rdEWj1dY18IIVIeLPjlW+1tHCPHLjKENFqulCERR0X?=
 =?us-ascii?Q?bCX1fZGjj5iXxqLlz5fei+s9JGu2vSR9ltnp9Ipi4WxXZmTfzNOL0q0xrfRC?=
 =?us-ascii?Q?yjiOAk6w42yh0/V4Fw1R05XiBJrXDSPzr0HQ411hrUsfn73Vnv5Sq7B/Nv10?=
 =?us-ascii?Q?eeINScAoEmY4zT0/glE3E7yZFUp2GDUTQyD24l4WFPiM2eCMnezjc7uv8pA7?=
 =?us-ascii?Q?PLO6IQTj5ChE6pRANllrM/EZnKehzmLAzARCbmQOsuV4OPBIwnDnUDZjAIIE?=
 =?us-ascii?Q?BBVQ3eANvefDwQKvgh518u2CiOFUNbU1xjeDxqk5+slKUtVBX3K9ty/Z94jj?=
 =?us-ascii?Q?JPK2V83UqyCw3jekQ7t3ExVXAffr93KTX5pYKV2hQHipWnKfbakRxKliRMZK?=
 =?us-ascii?Q?r1+nvjncIurVgbL/x5aG/BVhXH0jS+X0yc2jceFMT3YLg1Y4HOr4huaEBF6c?=
 =?us-ascii?Q?psE5IOcxHLp5uw6jnltmKkKNE46uHhaJHoeEl6D6d86shy4rY+s1YLWdoCrj?=
 =?us-ascii?Q?c8Nbud6kXe8Z5aTnJQFaKDmz+R74mzeLwOwIX+IDrZPesY4IBCdKejMBdMPv?=
 =?us-ascii?Q?fVMLsQD0FhfINNmrO2nbllXOaa4nXn2MTR5cOH8s221fhG+RaJsinx0Di5+B?=
 =?us-ascii?Q?loRGmdhqnDneAvx51bUPErOvZA1ktMEkrIoYyy24XbaCG+DY62kT22Eoc3ET?=
 =?us-ascii?Q?UtFK02ueSq4lgfsovQtZuJY29WTaycMNTyLvIrSb5XhNhs0NL4ujqJigogYs?=
 =?us-ascii?Q?P5mA3s1TfwFAUpJfKQlNMi6+BoXNpj8N6fRRq0cwatDf6nUqZWfAx/VAXbx4?=
 =?us-ascii?Q?uuYMTaxnF+iANc83MW6kiYNfivu0iaTrHY+cnIsl9w7iCB1MeootPZJaUdgx?=
 =?us-ascii?Q?4BfUdUcsMZgD1JBtGAwpQPDZ3pV4UrYSuLgU072MZ1GT0mTGflpna7AfBJOk?=
 =?us-ascii?Q?3e6ym+3R8yg4GhWhT/A6Ew+qdsHtikczGpe1RWT7xvBIjV1r1JU9sk4VqmZN?=
 =?us-ascii?Q?in6gq2Qg4virg9k=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 22:04:06.7929
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 77133fa7-56fb-4f48-f460-08dd5cfad0a2
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=[SATLEXMB03.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: CY8PR12MB7340

Xen includes disctinct concepts of a control domain (privileged) and a
hardware domain, but there is only a single XSM_PRIV check.  For dom0
this is not an issue as they are one and the same.

With hyperlaunch and its build capabiliies, a non-privileged hwdom and a
privileged control domain should be possible.  Today the hwdom fails the
XSM_PRIV checks for hardware-related hooks which it should be allowed
access to.

Introduce XSM_HW_PRIV, and use it to mark many of the physdev_op and
platform_op.

Previously, xsm_default_action() was almost linearly increasing in
permissions with its fallthroughs.  When it gets to XSM_PRIV, all
permissions were allowed for the control domain.  That needs to change
so the control domain cannot access XSM_HW_PRIV.

The hwdom is allowed access for XSM_HW_PRIV and XSM_DM_PRIV.  The
hardware domain providing a device model for a domU is an expected use
case, so those permission are needed as well.

Testing was performed with hardware+xenstore capabilities for dom0 and a
control dom3 booted from hyperlaunch.  The additional xenstore
permissions allowed hwdom+xenstore XSM_XS_PRIV which are necesary for
xenstore.

A traditional dom0 will be both privileged and hardware domain, so it
continues to have all accesses.

Why not XSM:Flask?  XSM:Flask is fine grain, and this aims to allow
coarse grain.  domUs are still domUs.  If capabilities are meant to be a
first class citizen, they should be usable by the default XSM policy.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/platform_hypercall.c |  2 +-
 xen/arch/x86/msi.c                |  2 +-
 xen/arch/x86/physdev.c            | 12 ++++++------
 xen/arch/x86/platform_hypercall.c |  2 +-
 xen/drivers/passthrough/pci.c     |  5 +++--
 xen/drivers/pci/physdev.c         |  2 +-
 xen/include/xsm/dummy.h           | 22 +++++++++++++---------
 xen/include/xsm/xsm.h             |  1 +
 8 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/xen/arch/arm/platform_hypercall.c b/xen/arch/arm/platform_hypercall.c
index ac55622426..a84596ae3a 100644
--- a/xen/arch/arm/platform_hypercall.c
+++ b/xen/arch/arm/platform_hypercall.c
@@ -35,7 +35,7 @@ long do_platform_op(XEN_GUEST_HANDLE_PARAM(xen_platform_op_t) u_xenpf_op)
     if ( d == NULL )
         return -ESRCH;
 
-    ret = xsm_platform_op(XSM_PRIV, op->cmd);
+    ret = xsm_platform_op(XSM_HW_PRIV, op->cmd);
     if ( ret )
         return ret;
 
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index bf5b71822e..6b4bc712c5 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -1355,7 +1355,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
     if ( !use_msi )
         return -EOPNOTSUPP;
 
-    ret = xsm_resource_setup_pci(XSM_PRIV,
+    ret = xsm_resource_setup_pci(XSM_HW_PRIV,
                                 (pdev->seg << 16) | (pdev->bus << 8) |
                                 pdev->devfn);
     if ( ret )
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 69fd42667c..b0bb2b846b 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -358,7 +358,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         ret = -EFAULT;
         if ( copy_from_guest(&apic, arg, 1) != 0 )
             break;
-        ret = xsm_apic(XSM_PRIV, currd, cmd);
+        ret = xsm_apic(XSM_HW_PRIV, currd, cmd);
         if ( ret )
             break;
         ret = ioapic_guest_read(apic.apic_physbase, apic.reg, &apic.value);
@@ -372,7 +372,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         ret = -EFAULT;
         if ( copy_from_guest(&apic, arg, 1) != 0 )
             break;
-        ret = xsm_apic(XSM_PRIV, currd, cmd);
+        ret = xsm_apic(XSM_HW_PRIV, currd, cmd);
         if ( ret )
             break;
         ret = ioapic_guest_write(apic.apic_physbase, apic.reg, apic.value);
@@ -388,7 +388,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
         /* Use the APIC check since this dummy hypercall should still only
          * be called by the domain with access to program the ioapic */
-        ret = xsm_apic(XSM_PRIV, currd, cmd);
+        ret = xsm_apic(XSM_HW_PRIV, currd, cmd);
         if ( ret )
             break;
 
@@ -490,7 +490,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&dev, arg, 1) )
             ret = -EFAULT;
         else
-            ret = xsm_resource_setup_pci(XSM_PRIV,
+            ret = xsm_resource_setup_pci(XSM_HW_PRIV,
                                          (dev.seg << 16) | (dev.bus << 8) |
                                          dev.devfn) ?:
                   pci_prepare_msix(dev.seg, dev.bus, dev.devfn,
@@ -501,7 +501,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_pci_mmcfg_reserved: {
         struct physdev_pci_mmcfg_reserved info;
 
-        ret = xsm_resource_setup_misc(XSM_PRIV);
+        ret = xsm_resource_setup_misc(XSM_HW_PRIV);
         if ( ret )
             break;
 
@@ -567,7 +567,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( setup_gsi.gsi < 0 || setup_gsi.gsi >= nr_irqs_gsi )
             break;
 
-        ret = xsm_resource_setup_gsi(XSM_PRIV, setup_gsi.gsi);
+        ret = xsm_resource_setup_gsi(XSM_HW_PRIV, setup_gsi.gsi);
         if ( ret )
             break;
 
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 90abd3197f..8efb4ad05f 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -228,7 +228,7 @@ ret_t do_platform_op(
     if ( op->interface_version != XENPF_INTERFACE_VERSION )
         return -EACCES;
 
-    ret = xsm_platform_op(XSM_PRIV, op->cmd);
+    ret = xsm_platform_op(XSM_HW_PRIV, op->cmd);
     if ( ret )
         return ret;
 
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index ab25840e20..f25d00f7c4 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -678,7 +678,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
     else
         type = "device";
 
-    ret = xsm_resource_plug_pci(XSM_PRIV, (seg << 16) | (bus << 8) | devfn);
+    ret = xsm_resource_plug_pci(XSM_HW_PRIV, (seg << 16) | (bus << 8) | devfn);
     if ( ret )
         return ret;
 
@@ -830,7 +830,8 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
     struct pci_dev *pdev;
     int ret;
 
-    ret = xsm_resource_unplug_pci(XSM_PRIV, (seg << 16) | (bus << 8) | devfn);
+    ret = xsm_resource_unplug_pci(XSM_HW_PRIV,
+                                  (seg << 16) | (bus << 8) | devfn);
     if ( ret )
         return ret;
 
diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c
index 0161a85e1e..c223611dfb 100644
--- a/xen/drivers/pci/physdev.c
+++ b/xen/drivers/pci/physdev.c
@@ -86,7 +86,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
                         dev_reset.dev.bus,
                         dev_reset.dev.devfn);
 
-        ret = xsm_resource_setup_pci(XSM_PRIV, sbdf.sbdf);
+        ret = xsm_resource_setup_pci(XSM_HW_PRIV, sbdf.sbdf);
         if ( ret )
             break;
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 06f4eccf5f..4536ee5dad 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -95,7 +95,11 @@ static always_inline int xsm_default_action(
             return 0;
         fallthrough;
     case XSM_PRIV:
-        if ( is_control_domain(src) )
+    case XSM_HW_PRIV:
+        if ( is_control_domain(src) && action != XSM_HW_PRIV )
+            return 0;
+        if ( is_hardware_domain(src) &&
+             (action == XSM_HW_PRIV || action == XSM_DM_PRIV) )
             return 0;
         return -EPERM;
     default:
@@ -280,7 +284,7 @@ static XSM_INLINE int cf_check xsm_console_io(
     if ( cmd == CONSOLEIO_write )
         return xsm_default_action(XSM_HOOK, d, NULL);
 #endif
-    return xsm_default_action(XSM_PRIV, d, NULL);
+    return xsm_default_action(XSM_HW_PRIV, d, NULL);
 }
 
 static XSM_INLINE int cf_check xsm_profile(
@@ -460,33 +464,33 @@ static XSM_INLINE int cf_check xsm_resource_unplug_core(XSM_DEFAULT_VOID)
 static XSM_INLINE int cf_check xsm_resource_plug_pci(
     XSM_DEFAULT_ARG uint32_t machine_bdf)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
+    XSM_ASSERT_ACTION(XSM_HW_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
 
 static XSM_INLINE int cf_check xsm_resource_unplug_pci(
     XSM_DEFAULT_ARG uint32_t machine_bdf)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
+    XSM_ASSERT_ACTION(XSM_HW_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
 
 static XSM_INLINE int cf_check xsm_resource_setup_pci(
     XSM_DEFAULT_ARG uint32_t machine_bdf)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
+    XSM_ASSERT_ACTION(XSM_HW_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
 
 static XSM_INLINE int cf_check xsm_resource_setup_gsi(XSM_DEFAULT_ARG int gsi)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
+    XSM_ASSERT_ACTION(XSM_HW_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
 
 static XSM_INLINE int cf_check xsm_resource_setup_misc(XSM_DEFAULT_VOID)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
+    XSM_ASSERT_ACTION(XSM_HW_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
 
@@ -688,7 +692,7 @@ static XSM_INLINE int cf_check xsm_mem_sharing(XSM_DEFAULT_ARG struct domain *d)
 
 static XSM_INLINE int cf_check xsm_platform_op(XSM_DEFAULT_ARG uint32_t op)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
+    XSM_ASSERT_ACTION(XSM_HW_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
 
@@ -716,7 +720,7 @@ static XSM_INLINE int cf_check xsm_mem_sharing_op(
 static XSM_INLINE int cf_check xsm_apic(
     XSM_DEFAULT_ARG struct domain *d, int cmd)
 {
-    XSM_ASSERT_ACTION(XSM_PRIV);
+    XSM_ASSERT_ACTION(XSM_HW_PRIV);
     return xsm_default_action(action, d, NULL);
 }
 
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 4dbff9d866..404491ef62 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -36,6 +36,7 @@ enum xsm_default {
     XSM_DM_PRIV,  /* Device model can perform on its target domain */
     XSM_TARGET,   /* Can perform on self or your target domain */
     XSM_PRIV,     /* Privileged - normally restricted to dom0 */
+    XSM_HW_PRIV,  /* Hardware Privileged - normally restricted to dom0/hwdom */
     XSM_XS_PRIV,  /* Xenstore domain - can do some privileged operations */
     XSM_OTHER     /* Something more complex */
 };
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 23:18:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 23:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904332.1312224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqKTo-0003Ui-4q; Thu, 06 Mar 2025 23:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904332.1312224; Thu, 06 Mar 2025 23: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 1tqKTo-0003Ub-1d; Thu, 06 Mar 2025 23:18:16 +0000
Received: by outflank-mailman (input) for mailman id 904332;
 Thu, 06 Mar 2025 23:18: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqKTn-0003UQ-5Q
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 23:18:15 +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 3fef8f84-fae1-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 00:18:02 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43bc638686eso16167785e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 15:18:02 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c01952dsm3311679f8f.45.2025.03.06.15.17.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 15:18:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fef8f84-fae1-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741303081; x=1741907881; 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=OwIYEN/bfwQjxdi9mjzfGuHZDdD9e5wqdn0bOG/mows=;
        b=fa/yuR6c5voAeNu9Cp4e7JktJpb3OqObSeBT5WNla7wY+hlDegRXq5DYSRY6phzUQk
         o2Q+qLplTt4lToT8QyeG+ov0GVFvyC4tH8MZ/xIKg4a4Og8ma3u9a/6NmLJwloUYtPiF
         MdFjUHTk1/pfVqNcsPFvwpUHc88TZGfHDCF0I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741303081; x=1741907881;
        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=OwIYEN/bfwQjxdi9mjzfGuHZDdD9e5wqdn0bOG/mows=;
        b=Yw97uqycCYNk9Tn7q/p6IlxPG4WiRCwVKn2y+bYKVqZUKiV7g0P94O2e10B3R4zSrP
         1DK/QQ6vnks8UA7AdJuteWgmGZOJhABIVU+ub74R+7xBxjXunONSqP8byjGsVlvFXAMZ
         8jN2T74e8sA9koOXPbcgJz3CNZ7dUJQ+7L6sRqZd9pRRPXBH0XL+uAtW19MGv6sUGkxV
         CR9AZo+ZzVzQZCqnFRCiE5wwZrf77o68prkuP19beh+YVpZRnp404arcRkOWPzD+gBdY
         AUxnnTfGhlNek2OXsWQ/4uyqdTpyT4FOz3CwErH/XQRxcyXeYwJFATsnBXSwRUcIwdPx
         IK7Q==
X-Forwarded-Encrypted: i=1; AJvYcCUSRt0i7xXUD7i2iXZ7xmCqyZN70a+jKDmy66l5DnQhV61ZHD1cyoDqdtuzyOCzsAMbjbHiSQP/2F0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCSBGrFMjzVsztmGEoAEniyVQsktQM3cPbUDf7W3O+vPmbSpFt
	11MrK3UlsdD0Z8UTWSrMWJR9kRFCXIz9OZmLlpPGw/cPcSpsjigNGgQO2ADDdcc=
X-Gm-Gg: ASbGncu9JIcaWSOqEAuAfDmJkthiDC2Ep/+0BXEApcF7rM5EmvRwBUcgokHgN5hv4NG
	3RmGpm+0sox218ebEwHycKRkh2PiL4Q+T85Yi+I8/xl5+esK77/7tPEriQyh6gyoyqPj1wPHk4P
	vsZLa4QE4GHxi8dKJ6EwtEt20UHmRAYBt5C30LiibeREFJJOq7idhikdEIehGKmsJ0UnMqRF1Lw
	CIgkqwsXKdsE3vWpPtR0EVYocJEmneXE/auVxSUXivDpmKywWjlrSLqTMb5eejL01ySW6DRlt8E
	ncEJ0haVBOUdCoulki9jvwsVkRrXIJPY4gy3UbeL/iI5RU3//5udCGUwXESFd+8DYlK2uE17MMt
	sdjXJvLrd
X-Google-Smtp-Source: AGHT+IELQM2u047VHxfDzS0R25HoIuzXz89faGqDNTV/ljPUf0HA/xv0WoNNQQNBr11VhAipJ5nyQw==
X-Received: by 2002:a05:600c:3ba0:b0:43b:c7f0:6173 with SMTP id 5b1f17b1804b1-43c5a60170fmr9330975e9.4.1741303081423;
        Thu, 06 Mar 2025 15:18:01 -0800 (PST)
Message-ID: <5eadc0e9-54ce-464c-80fe-e7b7cfd45ecf@citrix.com>
Date: Thu, 6 Mar 2025 23:17:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Don't cast away const-ness in vcpu_show_registers()
To: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250225230213.1248136-1-andrew.cooper3@citrix.com>
 <7e77dceb-489b-4022-a665-2a008ddfe844@suse.com>
 <f62841d3-b0e4-4007-a056-a807a19fc988@citrix.com>
 <98998559-27d6-4b65-bd45-cb1755d48564@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: <98998559-27d6-4b65-bd45-cb1755d48564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 7:53 am, Jan Beulich wrote:
> On 03.03.2025 17:52, Andrew Cooper wrote:
>> On 26/02/2025 7:33 am, Jan Beulich wrote:
>>> On 26.02.2025 00:02, Andrew Cooper wrote:
>>>> The final hunk is `(struct vcpu *)v` in disguise, expressed using a runtime
>>>> pointer chase through memory and a technicality of the C type system to work
>>>> around the fact that get_hvm_registers() strictly requires a mutable pointer.
>>>>
>>>> For anyone interested, this is one reason why C cannot optimise any reads
>>>> across sequence points, even for a function purporting to take a const object.
>>>>
>>>> Anyway, have the function correctly state that it needs a mutable vcpu.  All
>>>> callers have a mutable vCPU to hand, and it removes the runtime pointer chase
>>>> in x86.
>>>>
>>>> Make one style adjustment in ARM while adjusting the parameter type.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>>>
>>>> RISC-V and PPC don't have this helper yet, not even in stub form.
>>>>
>>>> I expect there will be one objection to this patch.  Since the last time we
>>>> fought over this, speculative vulnerabilities have demonstrated how dangerous
>>>> pointer chases are, and this is a violation of Misra Rule 11.8, even if it's
>>>> not reasonable for Eclair to be able to spot and reject it.
>>> On these grounds
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> Thanks.
>>
>>> irrespective of the fact that a function of this name and purpose really, really
>>> should be taking a pointer-to-const.
>> No - this is a perfect example of why most functions should *not* take
>> pointer-to-const for complex objects.
>>
>> There is no such thing as an actually-const vcpu or domain; they are all
>> mutable.Â  The reason why x86 needs a strictly-mutable pointer is because
>> it needs to take a spinlock to negotiate for access to a hardware
>> resource to read some of the registers it needs.
>>
>> This is where there is a semantic gap between "logically doesn't modify"
>> and what the C keyword means.
> And hence (in part) why C++ gained "mutable" ages ago.

Sure.Â  If we were writing in C++, then an internal splinlock being
mutable would be a fine thing.

But we're writing in a language where there is no such concept.
>> Anything except the-most-trivial trivial predates may reasonably need to
>> take a spinlock or some other safety primitive, even just to read
>> information.
>>
>>
>> Because this was gratuitously const in the first place, bad code was put
>> in place of making the prototype match reality.
>>
>> This demonstrates a bigger failing in how code is reviewed and
>> maintained.Â  It is far too frequent that requests to const things don't
>> even compile.Â  It is also far too frequent that requests to const things
>> haven't read the full patch series to realise why not.Â  Both of these
>> are a source of friction during review.
>>
>> But more than that, even if something could technically be const right
>> now, the request to do so forces churn into a future patch to de-const
>> it in order to make a clean change.Â  And for contributors who aren't
>> comfortable saying a firm no to a maintainer, this turns into a bad hack
>> instead.
>>
>> i.e. requests to const accessors for complexity objects are making Xen
>> worse, not better, and we should stop doing it.
> Okay, let's agree that we don't agree in our perspectives here.

I'm not saying this to be mean.Â  If C could do something like C++'s
mutable, then this wouldn't be an issue.

But, I have lost count of the number of times I have had to reject
requests of yours to const a pointer, on the basis that it can't
compile.Â  Your review feedback cost one of my team-members a week trying
to fulfil a const request before asking me for help, and it was another
impossible example.

Of all feedback given by reviewers (it's not only you), requests to
const are the ones that are most often wrong in my experience.Â  Probably
only ~50% of requests are correct, yet it takes a very seasoned
developer to come back and say "no, that doesn't compile", because
that's really a "I think you're wrong" needing knowledge in a subtle
part of the language.

My request is to all reviewers.Â  Please take far more care before asking
for const.Â  There are absolutely cases where it's right, but a false
request is more problematic than it appears at the surface.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 06 23:37:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 23:37:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904347.1312233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqKmR-0002qT-Mw; Thu, 06 Mar 2025 23:37:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904347.1312233; Thu, 06 Mar 2025 23:37: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 1tqKmR-0002qM-KJ; Thu, 06 Mar 2025 23:37:31 +0000
Received: by outflank-mailman (input) for mailman id 904347;
 Thu, 06 Mar 2025 23: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=YZnl=VZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqKmQ-0002qG-QB
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 23:37:30 +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 f63fa050-fae3-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 00:37:26 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-390effd3e85so1162319f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 15:37:26 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c103035sm3385593f8f.88.2025.03.06.15.37.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Mar 2025 15:37:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f63fa050-fae3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741304246; x=1741909046; 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=SgxCttH33suy1PIbDNfIGygvWhpbVq7bxJFaW27stUE=;
        b=ROq4kI5ztEbttxOqZm/yyjMKk9S2UUNwcmz7rzmW87B68WF0/tPe0JVF4/lFuBNRIC
         Rn3jMdwm+vDD9MG+wYtn3vzOyq0LDeoZpkP5i9/ChQpPYH1eQN2gCuvQDSnexnFujB1d
         /5XXejXvy4zcszvDAMo/hCuaz5hjz9pklb0o8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741304246; x=1741909046;
        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=SgxCttH33suy1PIbDNfIGygvWhpbVq7bxJFaW27stUE=;
        b=EY1G9pkXuIdRQgVM1fvcMOwwT8UoopIDHR2bhzHTwaBZq/oZ4AwPe1sF7ZOGc4QABy
         4mdaWnnCgIJfrpVc2rf+0eOaEHg9+j0RIT9FOlVt3LxLfyA7P5SCRNFOj/MWZjHrEqY4
         JAqwCTQX3OmdFYgXlmyPZLjtVOqd3B1E/MdDphqRpSkhNSd5Fg0fR38bGUwRekycLclQ
         MJauqYiLrTJVJt6DZdWoHNi54fAIA9cl+wbDX82gqEaTdxUU3eMH4GEvxlbB/pMMR8/b
         ie5sP4C9+QXKLZpNyEgwqPioSecZx+3vleh0zXqYXnr6VPQFy59HqrVkFHh4BPKv9AF9
         UF6g==
X-Gm-Message-State: AOJu0Yynwm8i3xP2pjsFHU4ZeyACSxtp0IJi3QD3HFaSdr6YzI9Dn5h7
	SaUCEpLdDU1S3RNFuVON4yS+DnLKguWvptSwWp4dw9icyl5cI8I82iITi0FYnEs31PG6r7Irdre
	q
X-Gm-Gg: ASbGnctAmt18YeYpKV9mJYLVeF3WAlgDauzD7/3PMq5XVUQAqKTQF/HwFVI6Dd/Mhg8
	+tq7Pr7rQTrsM5581sSVWujkAnHgt96PGpjyC1+c0oN6MIf8w6jh1PMQ2xtdmdouDl4XW/FboPA
	faCdQyPkdfG6eVuTbHL0heHk3wgFs24YdHdJDH9zA8+LP4dpkOkSmTXMWueE5wFcYjsa8yVZslN
	EU4RiYFAX9B96kRXW6u6bwNNj6Xs4MiGn6K3h7oo/sDvpFUWR/rwG/pIvqjR3YT2+f31FuPT7Hc
	cOJjA/l2/aUWoSrDsPGdfjh8Gj2YRPZpbXD6B7aD/APuDyfkxBO8OOo9nBGAdNRwsj5ad1i4xiH
	o4CohjhOp27RNtyVjmlsB1ePK
X-Google-Smtp-Source: AGHT+IGTEcfFJbI3Sfu2AO2x/TL7T6BmRqA2jq9a6OpqOASVX3kLrIFoJMGghCqvuEs8pnWAzA0d2g==
X-Received: by 2002:a05:6000:402a:b0:390:ed05:aa26 with SMTP id ffacd0b85a97d-39132d30c22mr628818f8f.5.1741304246108;
        Thu, 06 Mar 2025 15:37:26 -0800 (PST)
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] x86/e820: Remove opencoded vendor/feature checks
Date: Thu,  6 Mar 2025 23:35:19 +0000
Message-Id: <20250306233519.3006560-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

We've already scanned features by the time init_e820() is called.  Remove the
cpuid() calls.

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

Backporting.  Not sure it's worth backporing, but it is safe (just) to
backport past commit 365f408339d3 ("x86/boot: Load microcode much earlier on
boot").  That commit was the last one to reposition early_cpu_init().

I'm pretty sure that all 64bit CPUs have MTRR, but I'm less certain if
dropping the check is wise given the variety of VM configurations that exist.
---
 xen/arch/x86/e820.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index e052e84de75c..ca577c0bde0f 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -421,21 +421,12 @@ static void __init clip_to_limit(uint64_t limit, const char *warnmsg)
 /* Conservative estimate of top-of-RAM by looking for MTRR WB regions. */
 static uint64_t __init mtrr_top_of_ram(void)
 {
-    uint32_t eax, ebx, ecx, edx;
     uint64_t mtrr_cap, mtrr_def, addr_mask, base, mask, top;
     unsigned int i;
 
     /* By default we check only Intel systems. */
     if ( e820_mtrr_clip == -1 )
-    {
-        char vendor[13];
-        cpuid(0x00000000, &eax,
-              (uint32_t *)&vendor[0],
-              (uint32_t *)&vendor[8],
-              (uint32_t *)&vendor[4]);
-        vendor[12] = '\0';
-        e820_mtrr_clip = !strcmp(vendor, "GenuineIntel");
-    }
+        e820_mtrr_clip = boot_cpu_data.x86_vendor == X86_VENDOR_INTEL;
 
     if ( !e820_mtrr_clip )
         return 0;
@@ -444,8 +435,7 @@ static uint64_t __init mtrr_top_of_ram(void)
         printk("Checking MTRR ranges...\n");
 
     /* Does the CPU support architectural MTRRs? */
-    cpuid(0x00000001, &eax, &ebx, &ecx, &edx);
-    if ( !test_bit(X86_FEATURE_MTRR & 31, &edx) )
+    if ( !cpu_has_mtrr )
          return 0;
 
     /* paddr_bits must have been set at this point */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 06 23:39:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Mar 2025 23:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904356.1312244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqKoL-0003Oi-2Q; Thu, 06 Mar 2025 23:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904356.1312244; Thu, 06 Mar 2025 23:39: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 1tqKoK-0003Ob-VP; Thu, 06 Mar 2025 23:39:28 +0000
Received: by outflank-mailman (input) for mailman id 904356;
 Thu, 06 Mar 2025 23:39: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=Wead=VZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqKoJ-0003OV-MK
 for xen-devel@lists.xenproject.org; Thu, 06 Mar 2025 23:39:27 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c2ee659-fae4-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 00:39:25 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 957155C5AA8;
 Thu,  6 Mar 2025 23:37:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1301BC4CEE0;
 Thu,  6 Mar 2025 23:39:21 +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: 3c2ee659-fae4-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741304363;
	bh=wzzmNtslR/vagE5h1Ogs9418U/CX41rQVyV6RD0k0QM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ksbbE8Cmvip4PsI21VCmNANnTEaycdHTvjv+xdkaPjyupo9gJSf5apaTK140hM0Tp
	 54aCMxcuNf7DCUq+H/HTno5ADgJZQ8PqRlr6BP4bQbx8CuxZVo9OwaorxoCNphGSVK
	 sqmrLXNf2bmy0rXxTIz2Kh88eDMzNyha3c9SfEEyczAJ/Oh9D/dFE3CYZehZtQnPvJ
	 BggU0dwqr/okavoGNl1YXTjQUjolZGdlmVLO3mJFOS/XKWYJoaOBwXNi9UUbl23sFn
	 24vBsirF6x6zAXSo1ZW2mMMGJ7vRbyO2yZTDF4jU31Y4nYyGOB16zaBwo80SY3r7rv
	 xXlOsC35ANb2g==
Date: Thu, 6 Mar 2025 15:39:18 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Alessandro Muggianu <alemuggianu@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, xenia.ragiadakou@amd.com, 
    Ray.Huang@amd.com
Subject: Re: [RFC] qxl: add additional vram regions to Xen physmap
In-Reply-To: <CAOiua5Ojg9s24eaQkfDuUBMJffABuBEMkohHTjuF5b=-oE3ADw@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2503061538490.2600338@ubuntu-linux-20-04-desktop>
References: <CAOiua5Ojg9s24eaQkfDuUBMJffABuBEMkohHTjuF5b=-oE3ADw@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

+Xenia, Ray

On Thu, 6 Mar 2025, Alessandro Muggianu wrote:
> Hi all,
> 
> Using QXL graphics on Windows 10 hvm domains causes the guest to become
> extremely slow. The behaviour will happen as soon as Windows loads the
> driver, so the VM will initially work normally while the OS is loading.
> 
> This was reproduced on the current master but to my knowledge it's
> always been an issue for Windows 10 guests on Xen (issue is not present
> on KVM).
> 
> The normal VGA display adapter uses a single vram memory region which is
> registered as the Xen framebuffer with xen_register_framebuffer().
> This will cause it to be mapped to the Xen physmap in xen_add_to_physmap().
> 
> In the case of one or multiple QXL devices, only the first memory region
> of the first (primary) device will be registered with Xen as framebuffer
> and added to physmap (since it reuses the vga code), while I think all
> other memory regions will be accessed via the IOREQ server, which
> probably has too much overhead and seems to be the cause of the
> unresponsive guest.
> 
> We made an attempt at fixing the problem by forcing those memory regions
> to be added to the Xen physmap in xen_add_to_physmap().
> 
> This solves the performance issue and seems to be enough to make
> QXL work. Multi-screen, additional resolutions, etc., all seems fine.
> 
> However, there is a lot I don't understand so I am not sure the change
> is sensible. Hoping to get some expert eyes on this.
> 
> I see these issues with the current change:
> 
> * Broken migration. When trying to restore the domain, this assertion
>   will fail for the qxl memory regions I added to the physmap (the ones
>   named "qxl.vram" or "qxl.vgavram"), because the address returned by
>   xen_replace_cache_entry() is different from what we get from
>   memory_region_get_ram_ptr():
> 
>     qemu-system-i386: ../hw/i386/xen/xen-hvm.c:317:
> xen_add_to_physmap: Assertion `p && p ==
> memory_region_get_ram_ptr(mr)' failed.
> 
>   If I understand correctly, we try to recreate the physmap entry for
>   the region by calling xen_replace_cache_entry(), which retrieves
>   the guest memory address using xenforeignmemory_map2(), since the VRAM
>   should belong to the guest and not QEMU (however this might not be the
>   case for the QXL memory regions?). The address we obtain should
>   also match the one obtained through memory_region_get_ram_ptr(),
>   which (I think) will come from the restored VM state.
> 
>   In qxl.c, I'm only calling memory_region_get_ram_ptr(&qxl->vram_bar)
>   to ensure the region is mapped on the host (not doing so will cause
>   issues later), but I'm not using the returned pointer anywhere.
>   Maybe it's supposed to be saved with the VM state?
> 
> * Now that I'm using a list of regions registered as Xen framebuffer, I
>   don't know what to do in xen_sync_dirty_bitmap(). At the moment I
>   forced it to only call memory_region_set_dirty() on the "original"
>   framebuffer in a quick and dirty way, since it seems like we get there
>   only from the vga code but not from the QXL code, which seems to use
>   memory_region_set_dirty() instead (from qxl_set_dirty()).
> 
> * I used memory_region_set_log(<qxl_mem_region>, true, DIRTY_MEMORY_VGA)
>    or the regions won't be actually added in arch_xen_set_memory(). I don't
>    know if that's the right call, I just copied what we do for std VGA.
> 
> Hoping there isn't a fundamental issue with the approach, it would be
> great to have this working!
> 
> The issue should be easy to reproduce but please let me know if I failed
> to provide some important information.
> 
> Thank you,
> 
> Alessandro
> 
> ---
> 
> diff --git a/hw/display/qxl.c b/hw/display/qxl.c
> index 7178dec85d..80dc0b2131 100644
> --- a/hw/display/qxl.c
> +++ b/hw/display/qxl.c
> @@ -29,6 +29,7 @@
>  #include "qemu/main-loop.h"
>  #include "qemu/module.h"
>  #include "hw/qdev-properties.h"
> +#include "hw/xen/xen.h"
>  #include "sysemu/runstate.h"
>  #include "migration/vmstate.h"
>  #include "trace.h"
> @@ -2139,11 +2140,14 @@ static void qxl_realize_common(PCIQXLDevice
> *qxl, Error **errp)
>      memory_region_init_alias(&qxl->vram32_bar, OBJECT(qxl), "qxl.vram32",
>                               &qxl->vram_bar, 0, qxl->vram32_size);
> 
> +    memory_region_get_ram_ptr(&qxl->vram_bar);
>      memory_region_init_io(&qxl->io_bar, OBJECT(qxl), &qxl_io_ops, qxl,
>                            "qxl-ioports", io_size);
>      if (qxl->have_vga) {
>          vga_dirty_log_start(&qxl->vga);
>      }
> +    xen_register_framebuffer(&qxl->vram_bar);
> +    memory_region_set_log(&qxl->vram_bar, true, DIRTY_MEMORY_VGA);
>      memory_region_set_flush_coalesced(&qxl->io_bar);
> 
> 
> @@ -2268,6 +2272,9 @@ static void qxl_realize_secondary(PCIDevice
> *dev, Error **errp)
>      qxl->id = qemu_console_get_index(qxl->vga.con); /* == channel_id */
> 
>      qxl_realize_common(qxl, errp);
> +
> +    xen_register_framebuffer(&qxl->vga.vram);
> +    memory_region_set_log(&qxl->vga.vram, true, DIRTY_MEMORY_VGA);
>  }
> 
>  static int qxl_pre_save(void *opaque)
> diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
> index 4f6446600c..33c7c14804 100644
> --- a/hw/i386/xen/xen-hvm.c
> +++ b/hw/i386/xen/xen-hvm.c
> @@ -14,6 +14,8 @@
>  #include "qapi/qapi-commands-migration.h"
>  #include "trace.h"
> 
> +#include "exec/ramblock.h"
> +
>  #include "hw/i386/pc.h"
>  #include "hw/irq.h"
>  #include "hw/i386/apic-msidef.h"
> @@ -26,7 +28,7 @@
>  #include "exec/target_page.h"
> 
>  static MemoryRegion ram_640k, ram_lo, ram_hi;
> -static MemoryRegion *framebuffer;
> +static QLIST_HEAD(, XenFramebuffer) xen_framebuffer;
>  static bool xen_in_migration;
> 
>  /* Compatibility with older version */
> @@ -175,6 +177,17 @@ static void xen_ram_init(PCMachineState *pcms,
>      }
>  }
> 
> +static MemoryRegion *get_framebuffer_by_name(const char *name) {
> +    XenFramebuffer *fb = NULL;
> +
> +    QLIST_FOREACH(fb, &xen_framebuffer, list) {
> +        if (g_strcmp0(memory_region_name(fb->mr), name) == 0) {
> +            return fb->mr;
> +        }
> +    }
> +    return NULL;
> +}
> +
>  static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size,
>                                     int page_mask)
>  {
> @@ -254,6 +267,7 @@ static int xen_add_to_physmap(XenIOState *state,
>      unsigned long nr_pages;
>      int rc = 0;
>      XenPhysmap *physmap = NULL;
> +    XenFramebuffer *fb = NULL;
>      hwaddr pfn, start_gpfn;
>      hwaddr phys_offset = memory_region_get_ram_addr(mr);
>      const char *mr_name;
> @@ -269,9 +283,14 @@ static int xen_add_to_physmap(XenIOState *state,
>       * the linear framebuffer to be that region.
>       * Avoid tracking any regions that is not videoram and avoid tracking
>       * the legacy vga region. */
> -    if (mr == framebuffer && start_addr > 0xbffff) {
> -        goto go_physmap;
> +    if (start_addr > 0xbffff) {
> +        QLIST_FOREACH(fb, &xen_framebuffer, list) {
> +            if (mr == fb->mr) {
> +                goto go_physmap;
> +            }
> +        }
>      }
> +
>      return -1;
> 
>  go_physmap:
> @@ -293,6 +312,7 @@ go_physmap:
>          /* Now when we have a physmap entry we can replace a dummy mapping with
>           * a real one of guest foreign memory. */
>          uint8_t *p = xen_replace_cache_entry(phys_offset, start_addr, size);
> +        // For qxl.vram this assert will fail
>          assert(p && p == memory_region_get_ram_ptr(mr));
> 
>          return 0;
> @@ -406,7 +426,8 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
>  #define ENODATA  ENOENT
>  #endif
>          if (errno == ENODATA) {
> -            memory_region_set_dirty(framebuffer, 0, size);
> +            MemoryRegion *fb = get_framebuffer_by_name("vga.vram");
> +            memory_region_set_dirty(fb, 0, size);
>              DPRINTF("xen: track_dirty_vram failed (0x" HWADDR_FMT_plx
>                      ", 0x" HWADDR_FMT_plx "): %s\n",
>                      start_addr, start_addr + size, strerror(errno));
> @@ -419,8 +440,10 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
>          while (map != 0) {
>              j = ctzl(map);
>              map &= ~(1ul << j);
> -            memory_region_set_dirty(framebuffer,
> -                                    (i * width + j) * page_size, page_size);
> +            MemoryRegion *fb = get_framebuffer_by_name("vga.vram");
> +            memory_region_set_dirty(fb,
> +                                   (i * width + j) * page_size, page_size);
> +
>          };
>      }
>  }
> @@ -618,6 +641,8 @@ void xen_hvm_init_pc(PCMachineState *pcms,
> MemoryRegion **ram_memory)
> 
>      xen_is_stubdomain = xen_check_stubdomain(state->xenstore);
> 
> +    QLIST_INIT(&xen_framebuffer);
> +
>      QLIST_INIT(&xen_physmap);
>      xen_read_physmap(state);
> 
> @@ -658,7 +683,12 @@ err:
> 
>  void xen_register_framebuffer(MemoryRegion *mr)
>  {
> -    framebuffer = mr;
> +    XenFramebuffer *fb = NULL;
> +
> +    fb= g_new(XenFramebuffer, 1);
> +    fb->mr = mr;
> +
> +    QLIST_INSERT_HEAD(&xen_framebuffer, fb, list);
>  }
> 
>  void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
> diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
> index 3d796235dc..8eba992c55 100644
> --- a/include/hw/xen/xen-hvm-common.h
> +++ b/include/hw/xen/xen-hvm-common.h
> @@ -43,6 +43,13 @@ static inline ioreq_t
> *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu)
> 
>  #define BUFFER_IO_MAX_DELAY  100
> 
> +typedef struct XenFramebuffer {
> +    MemoryRegion *mr;
> +
> +    QLIST_ENTRY(XenFramebuffer) list;
> +} XenFramebuffer;
> +
> +
>  typedef struct XenPhysmap {
>      hwaddr start_addr;
>      ram_addr_t size;
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:22:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904373.1312253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqLTS-0006IR-Kx; Fri, 07 Mar 2025 00:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904373.1312253; Fri, 07 Mar 2025 00: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 1tqLTS-0006IK-Hj; Fri, 07 Mar 2025 00:21:58 +0000
Received: by outflank-mailman (input) for mailman id 904373;
 Fri, 07 Mar 2025 00: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqLTQ-0006IE-VM
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:21:56 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c753cfe-faea-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 01:21:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 89D88A453B1;
 Fri,  7 Mar 2025 00:16:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2416AC4CEE0;
 Fri,  7 Mar 2025 00:21:53 +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: 2c753cfe-faea-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741306913;
	bh=mJzG+nixxN9yEWO14e3uaOQ8krDghfZapDARuR60jwA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sUO7kP+zrFfUwrsKkpCnCw51JUAOvjN9J7abs3TcxmweUJaZVUzafPQm9jl005r9I
	 QQilKVzZMrJmklmNFkYn9k8fQSJIFR6WZPn0wg3fsr4C1j7tTJgvcUukCIfTABEPIV
	 rwXRJx9WpMkBqYPL8VKMvZPV52bpODSODadJYzbAuR4Y8D8MlTbH2Z0Ugw8IJD4WEW
	 4MJ4NEpFrvVuwHQPee7j4ZuacMzG0Mk+bfAhFEcpnPLGHsZYztw020ZUZvD5xEQ2KP
	 gbE/QU5lw5j7epLoh48HYvIASapJ64Cq5Liey3ztSotRKsAeo819tgwRH1ZgCHY1G/
	 g+fXPPT6pGf1A==
Date: Thu, 6 Mar 2025 16:21:52 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Miccio <luca.miccio@amd.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org
Subject: Re: [ImageBuilder] uboot-script-gen: handle reserved memory
 regions
In-Reply-To: <20250228150733.3945774-1-luca.miccio@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503061606020.2600338@ubuntu-linux-20-04-desktop>
References: <20250228150733.3945774-1-luca.miccio@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 28 Feb 2025, Luca Miccio wrote:
> Currently, the uboot-script-gen does not account for reserved memory
> regions in the device tree. This oversight can lead to scenarios where
> one or more boot modules overlap with a reserved region. As a result,
> Xen will always crash upon detecting this overlap. However, the crash
> will be silent (without output) if earlyprintk is not enabled, which is
> the default setting at the moment.
> 
> To address this issue, add a function that iterates over the
> reserved-memory nodes and populates an array. This array will be used
> later to calculate the load address for any given file.
> 
> Signed-off-by: Luca Miccio <luca.miccio@amd.com>

Hi Luca,

Thanks for the nice patch! I was waiting for the 4.21 development window
to open.


> ---
>  scripts/uboot-script-gen | 59 ++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 56 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index db2c011..cd0d202 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -468,6 +468,42 @@ function device_tree_editing()
>      fi
>  }
>  
> +function fill_reserved_spaces_from_dtb()
> +{
> +    if [ ! -f $DEVICE_TREE ]
> +    then
> +        echo "File $DEVICE_TREE doesn't exist, exiting";
> +        cleanup_and_return_err
> +    fi
> +
> +    addr_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#address-cells')
> +    size_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#size-cells')

missing "local" for both variables


> +    for node in $(fdtget -l $DEVICE_TREE /reserved-memory); do
> +        reg_values=($(fdtget -t x $DEVICE_TREE /reserved-memory/$node reg))

missing "local"


> +        for ((i=0; i<${#reg_values[@]}; i+=addr_cells+size_cells)); do
> +            addr=0
> +            size=0

missing "local" for addr and size, and also i and j


> +            for ((j=0; j<addr_cells; j++)); do
> +                addr=$((addr << 32 | 0x${reg_values[i+j]}))
> +            done
> +            
> +            for ((j=0; j<size_cells; j++)); do
> +                size=$((size << 32 | 0x${reg_values[i+addr_cells+j]}))
> +            done
> +            
> +            addr=$(printf "0x%X" $addr)
> +            size=$(printf "0x%X" $size)
> +        done
> +
> +        # Add the reserved space to the list and avoid duplicates
> +        if [[ ! " ${RESERVED_MEM_SPACES[@]} " =~ " ${addr},${size} " ]]; then

I think this is too imprecise as a check because it would match with a
similar element of the array with a higher number of zeros. If I read
this right:

0x1000,0x1000 would match 0x1000,0x10000

I would either remove this check, as it might be OK to have duplicates,
or I would turn it into a proper numeric check, one item at a time in
the list.


> +            RESERVED_MEM_SPACES+=("${addr},${size}")
> +        fi
> +    done
> +}
> +
>  # Read effective image size from a header, which may be larger than the filesize
>  # due to noload sections, e.g. bss.
>  function get_image_size()
> @@ -505,9 +541,24 @@ function add_size()
>          size=${image_size}
>      fi
>  
> -    memaddr=$(( $memaddr + $size + $offset - 1))
> -    memaddr=$(( $memaddr & ~($offset - 1) ))
> -    memaddr=`printf "0x%X\n" $memaddr`
> +    # Try to place the file at the first available space...
> +    local new_memaddr=$(( (memaddr + size + offset - 1) & ~(offset - 1) ))
> +
> +    # ...then check if it overlaps with any reserved space
> +    for reserved_space in "${RESERVED_MEM_SPACES[@]}"; do
> +        local reserved_start=${reserved_space%,*}
> +        local reserved_size=${reserved_space#*,}
> +        local reserved_end=$((reserved_start + reserved_size))
> +
> +        if [[ $new_memaddr -le $reserved_end ]] && \
> +           [[ $((new_memaddr + size)) -ge $reserved_start ]]; then
> +            # In that case, place the file at the next available space
> +            # after the reserved one
> +            new_memaddr=$(( (reserved_end + offset) & ~(offset - 1) ))
> +        fi
> +    done
> +
> +    memaddr=$(printf "0x%X\n" $new_memaddr)
>      filesize=$size
>  }
>  
> @@ -1373,6 +1424,8 @@ uboot_addr=$memaddr
>  memaddr=$(( $memaddr + $offset ))
>  memaddr=`printf "0x%X\n" $memaddr`
>  
> +fill_reserved_spaces_from_dtb
> +
>  if test "$os" = "xen"
>  then
>      xen_file_loading
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:28:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904387.1312265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqLa2-0006u2-Bx; Fri, 07 Mar 2025 00:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904387.1312265; Fri, 07 Mar 2025 00: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 1tqLa2-0006tv-70; Fri, 07 Mar 2025 00:28:46 +0000
Received: by outflank-mailman (input) for mailman id 904387;
 Fri, 07 Mar 2025 00: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqLa1-0006tp-Fb
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:28:45 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20185a86-faeb-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 01:28:44 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id F1C3C5C5B53;
 Fri,  7 Mar 2025 00:26:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBB24C4CEE0;
 Fri,  7 Mar 2025 00:28:41 +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: 20185a86-faeb-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741307322;
	bh=DseHk7TQgpv0Ka0ULO2XRWjossUKuRaHhlInfJACrBQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=a7DR0L+ypCNtKDapF39D8c4Lx7bhK7DtFyocQhJh9X+rpnIzytA5P2aubHjvCtEk7
	 9lC72In83oRbeLf3OeKSYkl79XeVTMnfkCK6NyRbGG5RjMqszJlHGvMMt5RtNRsop8
	 Cl6K1VAn013MsMDJo76a8BaXRZeAuRnYNWdJFkuUWkhPAQcpgPqktWCtNCb3cU+dd1
	 70lmvLxo+yUuaK6PaBzI2AYYaoKZg3QiKlUTBF3Q2ffrV/LQ/vGihWOrfIjtn26dUb
	 xZDH/d83G8EgAwuNAFe+kn8o8q1yiX0qcVzdLlPgIzMYmKLu/qUUfMjkjirDZND+0E
	 fBfxgUQFtZiWA==
Date: Thu, 6 Mar 2025 16:28:41 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: [IMAGEBUILDER PATCH] Add domain capabilities
In-Reply-To: <20250306221310.203221-1-jason.andryuk@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503061628300.2600338@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306221310.203221-1-jason.andryuk@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 6 Mar 2025, Jason Andryuk wrote:
> Add domain capabilities to creating disaggregated systems.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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


> ---
>  README.md                | 16 ++++++++++++++
>  scripts/uboot-script-gen | 47 ++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 63 insertions(+)
> 
> diff --git a/README.md b/README.md
> index ae2fdfd..25c9b6e 100644
> --- a/README.md
> +++ b/README.md
> @@ -250,6 +250,22 @@ Where:
>    Set driver_domain in xl config file. This option is only available for
>    the disk_image script.
>  
> +- DOMU_CAPS[number] = "string" or "hex" (optional)
> +  A "|"-concatentated string of capabilities:
> +    - control
> +    - hardware
> +    - xenstore
> +    - dom0 (All of the above)
> +    - none
> +
> +  e.g. "control|hardware"
> +
> +  Or a numeric bitwise flags to specify domain capabilities:
> +  0: None
> +  1: Control
> +  2: Hardware
> +  4: Xenstore
> +
>  - LINUX is optional but specifies the Linux kernel for when Xen is NOT
>    used.  To enable this set any LINUX\_\* variables and do NOT set the
>    XEN variable.
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index db2c011..397d73b 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -309,6 +309,43 @@ function add_device_tree_cpupools()
>      done
>  }
>  
> +function parse_domain_caps()
> +{
> +    local caps_str="$1"
> +    local caps=0
> +
> +    for x in $( echo $caps_str | sed 's/|/ /g' | tr '[:upper:]' '[:lower:]' )
> +    do
> +        case "$x" in
> +        none)
> +            caps=$(( caps | 0 ))
> +            ;;
> +        control)
> +            caps=$(( caps | 0x1 ))
> +            ;;
> +        hardware)
> +            caps=$(( caps | 0x2 ))
> +            ;;
> +        xenstore)
> +            caps=$(( caps | 0x4 ))
> +            ;;
> +        dom0|domain0)
> +            caps=$(( caps | 0x7 ))
> +            ;;
> +        [0-9]*|0x[0-9a-fA-f]*)
> +            caps=$(( caps | $x ))
> +            ;;
> +        *)
> +            return 1
> +            ;;
> +        esac
> +    done
> +
> +    echo "$caps"
> +
> +    return 0
> +}
> +
>  function xen_device_tree_editing()
>  {
>      dt_set "/chosen" "#address-cells" "hex" "0x2"
> @@ -386,6 +423,16 @@ function xen_device_tree_editing()
>          then
>              dt_set "/chosen/domU$i" "max_maptrack_frames" "int" "${DOMU_MAPTRACK_FRAMES[i]}"
>          fi
> +        if test -n "${DOMU_CAPS[i]}"
> +        then
> +            local caps
> +
> +            if ! caps=$( parse_domain_caps ${DOMU_CAPS[i]} ) ; then
> +                echo "Invalid DOMU_CAPS[$i] \"${DOMU_CAPS[i]}\""
> +                cleanup_and_return_err
> +            fi
> +            dt_set "/chosen/domU$i" "capabilities" "int" "$caps"
> +        fi
>  
>          if test -n "${DOMU_SHARED_MEM[i]}"
>          then
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:32:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:32:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904399.1312274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqLdu-0008Sr-To; Fri, 07 Mar 2025 00:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904399.1312274; Fri, 07 Mar 2025 00:32: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 1tqLdu-0008Sk-Qe; Fri, 07 Mar 2025 00:32:46 +0000
Received: by outflank-mailman (input) for mailman id 904399;
 Fri, 07 Mar 2025 00:32: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqLdt-0008Se-Op
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:32:45 +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 afac8ed6-faeb-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 01:32:44 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43bcc85ba13so10097725e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 16:32:44 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4352fa3sm64061035e9.30.2025.03.06.16.32.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 16:32:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afac8ed6-faeb-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741307564; x=1741912364; 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=PPOhyjzLHcq/1In8h9EAKP6u8F4mWrsBEn6Ol1eDuw4=;
        b=wUfIbjNfXAxBLCjCgMh1HfXbH+tzlPGuCL/QpQUNv5R0fwYQ3/ocvgG0NeycLixRDx
         JsFBGJ5uida2K+0Je68nYTedibOitpq4GViDYPnXhLfxIpGN7/evzZpDYRCq7NL7geMN
         kZQXFVaL7NYnu6jZWh18ZmpFZrm9kahSctZQg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741307564; x=1741912364;
        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=PPOhyjzLHcq/1In8h9EAKP6u8F4mWrsBEn6Ol1eDuw4=;
        b=TViUqV7/ELJ9j+sENRBH1FHnatB5G7eaZr0YMzr13avRNKim/BDQTSHPiih5NDY91S
         t+PWMkPH1ZX9+tzJ01nabcfz9FoFRdyafcZlqxAlr7iVGZLi4caAjhe8lVjoY2/n01OP
         64203oCLJOOkWiU+xYVsSF3j5ScRyNJjkXMFBjdD/sX2e0PI8fy2itq/s0Uz2i+oyM8t
         X41oxHJ8pb/t9Xe+3rblL/sKbv2E1KOOUn+MAGhaZcWntHHxHTq89uokBtIq+NAvJ3Yi
         EXDwfXv+ZASJ+EBfiPJd/5ZWhQeixkTrnXhFEt5qE+AJbD1IwNXMpZRcEv6OWZ7Thtao
         yzwA==
X-Forwarded-Encrypted: i=1; AJvYcCXvh41wYgXEymkWYqNTdkNOjTmH9GKUaI22YU24HQ13VWd8CEmLxJ9lrdY/V1/am/AgArPTQbfm+SI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxlCuDMxJY0qtDOzpQzqMKX4w4BOf7yXlfJ3JzQR9aZPulDadtA
	Lu21Buz/ZIoNBfveW94q9vzKur9V0fAGDE9yWk9VaURJSmIm/ZVJE5E8sGfcJKZ0uh90gY3RdnL
	W
X-Gm-Gg: ASbGncupFUVugAX8ggsjbOz8V3KbObMw5BSJ2HD7Trwgj23qSXEWOaeNgeWh9w8hC6g
	5jYGzyRiwIG1W9/zK8RmKqTNKg61ujIE2ZILLdZYRWO7rnglRWEOxkgjxhyRosHU8+muD8BxP6F
	IiaypAvmjUloCjBs/Z8SCEtMegepujZSrnW3u8WILgzOGSzb7nsFUAK19iEm12ZMf7FsWOFyivT
	QymQrV0WUM9gfNN8qOyfkThbQP1R/Y2J5CkZ0NFbzsIjd4YsBiHX7VWJa9bR3GP9taEDBOX2wn4
	0/nAlJbKXGrEfRb6AVb5Bhy+ck3F8vqPddldLHNkANbSI5StI6X0eQ9mdFLOPHQWhzFdGwxhRgs
	xFwSz3N3A
X-Google-Smtp-Source: AGHT+IEsoqVd95Wf5fPkMB/aLTNOvp+izE7J2d1fyD96GqMHdBmi0iDElVe46bxQ/0IdzcVqbMr2zw==
X-Received: by 2002:a05:600c:3108:b0:439:6ab6:5d45 with SMTP id 5b1f17b1804b1-43c5aafb438mr9471245e9.28.1741307563875;
        Thu, 06 Mar 2025 16:32:43 -0800 (PST)
Message-ID: <8b6c88f0-dbde-4fd0-a108-a7651ea3b849@citrix.com>
Date: Fri, 7 Mar 2025 00:32:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3] x86/vmx: Rewrite vmx_sync_pir_to_irr() to be more
 efficient
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: <20250304232218.2768344-1-andrew.cooper3@citrix.com>
 <1f763c1a-5844-42d8-9995-3a07f3521172@suse.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: <1f763c1a-5844-42d8-9995-3a07f3521172@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 11:36 am, Jan Beulich wrote:
> On 05.03.2025 00:22, Andrew Cooper wrote:
>> There are two issues.  First, pi_test_and_clear_on() pulls the cache-line to
>> the CPU and dirties it even if there's nothing outstanding, but the final
>> bitmap_for_each() is O(256) when O(8) would do, and would avoid multiple
>> atomic updates to the same IRR word.
>>
>> Rewrite it from scratch, explaining what's going on at each step.
>>
>> Bloat-o-meter reports 177 -> 145 (net -32), but real improvement is the
>> removal of calls to __find_{first,next}_bit() hidden behind bitmap_for_each().
> Nit: As said in reply to v2, there are no underscores on the two find
> functions bitmap_for_each() uses.

I did change the commit message assuming you were right, but the
disassembly never lies.

What bitmap_for_each() uses are very much not functions in x86.

>> 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>
>>
>> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1699791518
>>
>> v3:
>>  * Fix IRR scatter address calculation
>>  * Spelling/Grammar improvements
> The description starting with "There are two issues" I fear it still
> doesn't become quite clear what the 2nd issue is. I can only assume it's
> the use of bitmap_for_each() that now goes away.
>
> Preferably with this tweaked a little further
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Oh.Â  ", but the final" can turn into ", and second,".Â  That should make
it clearer.

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:37:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904408.1312283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqLi3-0000cs-Br; Fri, 07 Mar 2025 00:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904408.1312283; Fri, 07 Mar 2025 00:37: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 1tqLi3-0000cl-9O; Fri, 07 Mar 2025 00:37:03 +0000
Received: by outflank-mailman (input) for mailman id 904408;
 Fri, 07 Mar 2025 00:37: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=SrOz=V2=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tqLi1-0000cf-FW
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:37:01 +0000
Received: from fout-b2-smtp.messagingengine.com
 (fout-b2-smtp.messagingengine.com [202.12.124.145])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 468a24f8-faec-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 01:36:58 +0100 (CET)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfout.stl.internal (Postfix) with ESMTP id D3C641140186;
 Thu,  6 Mar 2025 19:36:56 -0500 (EST)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-08.internal (MEProxy); Thu, 06 Mar 2025 19:36:56 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 6 Mar 2025 19:36:54 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 468a24f8-faec-11ef-9ab4-95dc52dad729
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=1741307816;
	 x=1741394216; bh=YxzMWiy45tP0kAkYMQzwFntN5SCt/KQfRnCmjTi1gpo=; b=
	0mtEA7YDazPU+eVMd4xGYjjsLtlxFdpuuvW4QjiP3GK0s19ydDh8k/z93GL8dG+s
	pMBR779Svg9fzeLqUh1ejUWseCEt9jA9Y/iwoXVqGRoNx1qTzXAC7oTvKvSajExQ
	HeV97N9NxB+bObbSgswpnOOB4sbPwr1ar55/BbHRsAgDdu0ku9+HU5abmtzAjd7S
	dNvH6cFOZnMmDUmpzJxyJ2AdLZdtmBn6t/qJdChGt5l0LYxBrF5KSy7x2MuyD6SI
	Ai0r5GNiYDGVc+cvcZ8Qqt/aOnwxBDi/Pdd2CBrjiRa5SMUvD00Qe6tAuMGOxDkh
	/8Zb16g5dgrWniC1orIBEg==
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=fm1; t=
	1741307816; x=1741394216; bh=YxzMWiy45tP0kAkYMQzwFntN5SCt/KQfRnC
	mjTi1gpo=; b=j+zR6mTkX8OrPzjcuEcxhgFoImKkkcJbI2cD7+G1w+Apn+YrG3I
	Oys3QhGd6aaDMItFzj9ZwUzpE6Qqczo0aAV/C6O7s6H4Lb08apBB6tGNR7i2YBAC
	Wt/Ssm/W4F0h54YZQAFK1SdNaD0j3RJATvuUPjBq7bsUAqs5n1FuXBwaV7afw7cr
	ovLmb7gU+D/c5Ya+DE5a0EYgIDiBf2sGzDNuGtBY3jMBwxvg7qGmKOKUdGcAqcGb
	iezrjBJs1lv7QJy+a0Hmvs7t/3oD1b+eXcMoQgsIvV8/hzvN6Lrp24SrWAHWclzQ
	g1Tzv1rfALy2T1E3vcrfmj9uYEBm50N14Cg==
X-ME-Sender: <xms:qD_KZzHRr6v3Cr2eqwDrhu5UAgwQ6nQdLr0HI4SA7cTQlGvHASlD-Q>
    <xme:qD_KZwU08K6MX9qKPHurGWvWMdCLCJ8Z6WE0hnBD3FYzi5H_k8hcptOC39erCPRH2
    y0Qj3pTM7G5Eg>
X-ME-Received: <xmr:qD_KZ1L8_ozOKVV9zHDI8Z-rIr2fO1wfW6dUkTgWHKW9XDU9Nfz5P_H9dso>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddutdelvddvucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepledvieeludetffduleeihedvteeivdfgveefveffvefhjeegke
    dvuddutdefudetnecuffhomhgrihhnpeguohgtkhgvrhdrtghomhdpghhithhlrggsrdgt
    ohhmpdhquhgsvghsqdhoshdrohhrghdpghhithhhuhgsrdgtohhmnecuvehluhhsthgvrh
    fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhv
    ihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohephedpmhhoug
    gvpehsmhhtphhouhhtpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghl
    rdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojh
    gvtghtrdhorhhgpdhrtghpthhtohepmhgrrhgtohdruggvmhhisehrvghsihhlthgvtghh
    rdgtohhmpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidrtg
    homhdprhgtphhtthhopehvihgtthhorhhmrdhlihhrrgesrghmugdrtghomh
X-ME-Proxy: <xmx:qD_KZxGHvht1_dKbiFEPER-7CqVYfQ8XSkKcOEvhqKZ5tDKBLrGu7Q>
    <xmx:qD_KZ5WMaHtfr1fTbngc4dz_FcfDjb4sqGYf4lbcZx8S1VX4sT_1Lw>
    <xmx:qD_KZ8NVFMq6n-OEBoItXCrjzEQ87EvuXCRaJSdKEqh-4khjWmN9ng>
    <xmx:qD_KZ41HF-wCBHwCbZ00U6qJ-B0yhdMOdTl082dPrBde2qIi1_t7wQ>
    <xmx:qD_KZ3cbhVr9hidKJrooGMVO0U8i3m_wlf6E6o8weqB3sipKHqqcBL4p>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 7 Mar 2025 01:36:42 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, marco.demi@resiltech.com,
	andrew.cooper3@citrix.com, "Lira, Victor M" <VictorM.Lira@amd.com>
Subject: Re: [PATCH] docs: hardware runners setup
Message-ID: <Z8o_pVj8HVxQ6BuU@mail-itl>
References: <alpine.DEB.2.22.394.2503061354430.1303386@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="yO53+Tz1lgUBNAV3"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2503061354430.1303386@ubuntu-linux-20-04-desktop>


--yO53+Tz1lgUBNAV3
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 7 Mar 2025 01:36:42 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, marco.demi@resiltech.com,
	andrew.cooper3@citrix.com, "Lira, Victor M" <VictorM.Lira@amd.com>
Subject: Re: [PATCH] docs: hardware runners setup

On Thu, Mar 06, 2025 at 01:54:48PM -0800, Stefano Stabellini wrote:
> Document how to setup a new hardware runner
>=20
> Signed-off-by: Victor Lira <VictorM.Lira@amd.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

I have some minor minor hints about pointing at more examples, but
regardless:
Reviewed-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.c=
om>

>=20
> diff --git a/docs/misc/ci.rst b/docs/misc/ci.rst
> index 7aee55c5d2..ef3f183153 100644
> --- a/docs/misc/ci.rst
> +++ b/docs/misc/ci.rst
> @@ -19,6 +19,49 @@ After getting access to relevant runners, few extra ch=
anges are necessary in set
>  2. Expand "Variables" section and add ``QUBES_JOBS=3Dtrue`` variable for=
 Qubes runners.
>  3. Go to Settings -> Repository, expand "Branch rules" section and add a=
 rule for protected branches - only those branches will get tests on the ha=
rdware runners. It's okay to use a pattern for branch name, and it's okay t=
o allow force push.
> =20
> +How to Set Up a New Hardware Runner
> +***********************************
> +
> +A hardware runner is a GitLab runner designed to execute Xen tests on re=
al hardware, such as an embedded board or a laptop. The GitLab runner runs =
on a controller PC, which is connected to the target board used for Xen tes=
ting. The controller PC can be any system, from a workstation to a Raspberr=
y Pi.
> +
> +Steps to Set Up the Controller PC:
> +
> +1. Install the Docker service
> +   - Follow the instructions at: [Docker Installation Guide](https://doc=
s.docker.com/engine/install/ubuntu/#install-using-the-repository)
> +
> +2. Install the GitLab Runner service
> +   - Follow the instructions at: [GitLab Runner Installation Guide](http=
s://docs.gitlab.com/runner/install/linux-repository/#install-gitlab-runner)
> +
> +3. Register the runner with GitLab
> +   - Generate a runner token with a specific tag to identify it.
> +   - Run `gitlab-runner register` and enter the token. Accepting the def=
ault settings is sufficient.
> +
> +These steps are common for setting up any GitLab runner. However, for ha=
rdware runners, additional configurations are required to enable the contro=
ller PC to:
> +
> +- Power on and off the target board.
> +- Connect to the serial interface of the target board.
> +- Establish an Ethernet connection with the target board.
> +- Run a TFTP server with a TFTP root directory accessible by GitLab cont=
ainer tests.
> +  - This allows the test script to place binaries, such as Xen, in the T=
FTP root before powering on the target board.

Maybe hint also to look at scripts in automation/scripts for some of the
above? Especially, it isn't clear how power on/off control relates to
the other settings below.
I have also an article with details of some of the above, especially
power control and network boot: https://www.qubes-os.org/news/2022/05/05/au=
tomated-os-testing-on-physical-laptops/

> +
> +To enable the required capabilities, edit the GitLab Runner configuratio=
n file located at `/etc/gitlab-runner/config.toml`:
> +
> +- Map the TFTP boot directory.
> +- Map the serial device of the target board.
> +
> +Example Configuration:
> +
> +    volumes =3D ["/scratch/gitlab-runner:/scratch/gitlab-runner"]
> +    devices =3D ["/dev/ttyUSB0:/dev/ttyUSB0"]

FWIW qubes configs are public:
https://github.com/QubesOS/tests-hw-setup/blob/28aa8b86208a54fc2ac986f06c66=
c92230bf771e/states/gitlab-runner-conf.toml
(this is template to be filled with the values by salt)

> +
> +After making these changes, restart the GitLab Runner service:
> +
> +    gitlab-runner restart
> +
> +This completes the setup of the hardware runner. The system is now ready=
 for executing Xen tests on real hardware. As an example, to execute tests =
on an AMD x86 embedded board, we currently use the following script:
> +
> +    automation/scripts/xilinx-smoke-dom0-x86_64.sh
> +
>  Selecting individual tests
>  **************************
> =20

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

--yO53+Tz1lgUBNAV3
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfKP6QACgkQ24/THMrX
1ywL1Af+Jp15e7oUKwQUNx4y45Tzs81DwoLDEx8GRT+e5wMRdGBEV6zhIi1JKBVF
UngxTFVF90WYGoXgb5lCQ/9uCH6ZwbiQIuHxOhOIv9/V/gayU9+IpQAUegf5P0fy
RcS5ZxmVcGwNEzNOqdRA4P2fVlpXkSxYyuwHcJpZ2wH7Geck0jsbPIXU+jJm418N
2brd1NTcizMRNQtvNjh4YqZA1rLCHfvYuymH4GFM+DLnwAvPMUWQjWwgCFt7PUPQ
rgcErPCe3pj1EE2pVr5CldM1acxvcj4wGlqbt11mRYCyvVjmkI47jmXiUyXvMgmt
3h9mmZ48po950A68qNlaAkjUBB+/KQ==
=ZUvN
-----END PGP SIGNATURE-----

--yO53+Tz1lgUBNAV3--


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:37:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904410.1312293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqLiG-0000vO-JD; Fri, 07 Mar 2025 00:37:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904410.1312293; Fri, 07 Mar 2025 00:37: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 1tqLiG-0000vH-Fu; Fri, 07 Mar 2025 00:37:16 +0000
Received: by outflank-mailman (input) for mailman id 904410;
 Fri, 07 Mar 2025 00:37: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqLiE-0000ud-NY
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:37:14 +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 4db8d2a5-faec-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 01:37:09 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-390edaee0cfso930911f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 16:37:09 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c10437dsm3594819f8f.99.2025.03.06.16.37.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 16:37:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4db8d2a5-faec-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741307829; x=1741912629; 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=lNSmcC9cwulJQZbP2E9WoIGrj1u7xT5HyS9CA8lqHnE=;
        b=u9r5ISr6TjT4h0CWlMwcFH70FAryRhwO8QLvIcto8Vu4pmv8ws+6Dg1FmxJBPDN4BI
         lMa1xAKRJPgCdXhcnV16wV64mMhUNu8diPOqzCiZJsbgwsgYKl55v5865xkpyImq3tu5
         C01wZmVsj1x3WmkNFYAlGCR1yzk5evTYXA2/Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741307829; x=1741912629;
        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=lNSmcC9cwulJQZbP2E9WoIGrj1u7xT5HyS9CA8lqHnE=;
        b=j/8fM779ycjcRPNgwMIQxs4kEaAja0MHsOxHCCJkm8oIaMZcY8Y8DKLvf8MzaTBRaW
         9djlixJkdSMy5bFYoLjDT5MGXdqi/blOYvfbV/ZWJ83NMSqFIRJlJCn9vL2CWLj09nTB
         5FMpw+g/7iLzAHVzvsC7SO3USFuA9oROgZzk9cOPOX54WpC+2HZxzigN9ITX9sCpoJyh
         kXMfnzMYaplXWuq7OxuJSGizAgt5Wtr3Z35+jZDFBOgRrlIW3PT+u+f4glXurrzJzb4v
         DFGexmWt9dBZFUZQ9cOCEOANTnudE2OEfmcoM9TO/h3wrtiwhJGIeCdGqjumCckziagE
         8fQw==
X-Forwarded-Encrypted: i=1; AJvYcCVPCN4UN8WTQ8d29uF2T0GFWGLhC1esW8voL053d7XgypU8utbLf2WV3VY5v5qzm2sF5asvRKnWucY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwU9PD/psBsETnFYBBvZyANPChFL1Zp4gMhLrRTdg8C73FP3/wb
	ZO0m0+KbBXDDF6u9ojd9EbS8NaFRcz2r7D/oB7OtioiV824eqXKye6um1G9uwxI=
X-Gm-Gg: ASbGnctwbZXVFh/PjDBfGSZpYUK/Xn18xuctFvmZcBR0xlvie+OSyBToDb6DcPsmSJg
	7IwMVW2DQrQzG6Lu95P2RIx1YXE5HKp2sZcsSPtR/xE7OIaDsViPrm01C8dXzajvJwMlsyWh2HC
	pCC+RQkvn+NLaWb1KRHdzG/gBO6nWarD+Buyrl0QC9KVKz2uZJqI6NohlIMbLqWLDYpFPBAMq4c
	PsdN7fkyXim3+WWPs7li3Ewc1dHdsn41Jf+i4d//HspYlJ8VMT3UeJNfsGVzv3sDpmqB798Jm+a
	BVZms5gkQkjhSmswaY+PLfi62WICRHt0RWuLUHolLy1UpZAkT3If7sbkIaZHGC/hWA24vJKljoN
	ghNzxmmVp
X-Google-Smtp-Source: AGHT+IEQCVUQrtj3zHiWfmkaezngeZqEhCtNBCnDefz+DHaV18+GszrnCRzYkKo4r/8JQKiWhAKGrQ==
X-Received: by 2002:a05:6000:2109:b0:38f:4b15:32fc with SMTP id ffacd0b85a97d-39132d06e30mr610610f8f.8.1741307829073;
        Thu, 06 Mar 2025 16:37:09 -0800 (PST)
Message-ID: <0a3db119-11d2-4f25-bf50-f84b79a6a246@citrix.com>
Date: Fri, 7 Mar 2025 00:37:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 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: <20250305085201.14258-1-jgross@suse.com>
 <499e999a-06d9-4a49-b223-b04bb0c34edb@citrix.com>
 <3f6f680d-3be7-41d8-a599-49521766aa62@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: <3f6f680d-3be7-41d8-a599-49521766aa62@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/03/2025 7:09 am, JĂźrgen GroĂ wrote:
> On 05.03.25 23:57, Andrew Cooper wrote:
>> On 05/03/2025 8:52 am, Juergen Gross wrote:
>>> The description of the Xenstore INTRODUCE command is still referencing
>>> xend. Fix that.
>>>
>>> While at it, make clear that the Xenstore implementation is allowed
>>> to ignore the specified gfn and use the Xenstore reserved grant id
>>> GNTTAB_RESERVED_XENSTORE instead.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>> Â  docs/misc/xenstore.txt | 6 +++++-
>>> Â  1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
>>> index 38015835b1..d894d24d11 100644
>>> --- a/docs/misc/xenstore.txt
>>> +++ b/docs/misc/xenstore.txt
>>> @@ -286,7 +286,7 @@ TRANSACTION_ENDÂ Â Â Â Â Â Â  F|
>>> Â  INTRODUCEÂ Â Â Â Â Â Â  <domid>|<gfn>|<evtchn>|?
>>> Â Â Â Â Â  Notifies xenstored to communicate with this domain.
>>> Â  -Â Â Â  INTRODUCE is currently only used by xend (during domain
>>> +Â Â Â  INTRODUCE is currently only used by xen tools (during domain
>>> Â Â Â Â Â  startup and various forms of restore and resume), and
>>> Â Â Â Â Â  xenstored prevents its use other than by dom0.
>>> Â  @@ -299,6 +299,10 @@ INTRODUCEÂ Â Â Â Â Â Â  <domid>|<gfn>|<evtchn>|?
>>> Â Â Â Â Â  for example passing a high-bit-set 32-bit gfn as an unsigned
>>> Â Â Â Â Â  decimal will attempt to use 0x7fffffff instead (!).
>>> Â  +Â Â Â  Xenstored might ignore the <gfn> value and use the reserved
>>> +Â Â Â  grant table entry GNTTAB_RESERVED_XENSTORE instead for mapping
>>> +Â Â Â  the Xenstore interface page of the guest.
>>
>> I'd suggest making a stronger statement than this.
>>
>> ---
>> The <gfn> field is used by xenstoreds which use foreign mapping to
>> access the ring page.
>>
>> Alternatively, Grant 1 (GNTTAB_RESERVED_XENSTORE) is reserved for the
>> same purpose, and is populated by the domain builder on behalf of the
>> guest.Â  This mechanism is preferred because reduces the permissions that
>> xenstored needs in order to function.
>>
>> Both <gfn> and Grant 1 need to agree, because implementations of
>> xenstored will use one and ignore the other.
>
> Fine with me.

Are you happy for me to adjust on commit, or do you want a v2 sending out?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:47:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904426.1312304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqLsS-0003ml-Io; Fri, 07 Mar 2025 00:47:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904426.1312304; Fri, 07 Mar 2025 00:47: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 1tqLsS-0003me-FM; Fri, 07 Mar 2025 00:47:48 +0000
Received: by outflank-mailman (input) for mailman id 904426;
 Fri, 07 Mar 2025 00:47: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=AsaE=V2=treblig.org=linux@srs-se1.protection.inumbo.net>)
 id 1tqLsR-0003mY-BD
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:47:47 +0000
Received: from mx.treblig.org (mx.treblig.org [2a00:1098:5b::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5645573-faed-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 01:47:40 +0100 (CET)
Received: from localhost ([127.0.0.1] helo=dalek.home.treblig.org)
 by mx.treblig.org with esmtp (Exim 4.96)
 (envelope-from <linux@treblig.org>) id 1tqLsH-003H7O-1H;
 Fri, 07 Mar 2025 00:47: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: c5645573-faed-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org
	; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From
	:Subject; bh=YCYD+T9+FjJKiym2zwCOFkdlpqOZMAK+Qe99zxgMH6s=; b=UUqHVjyMM8WUReiU
	A4ca7U+tiC0+qNH8lB6X5qSexXMCQClFL2J2nTEE19AVd1QoC0fB+z8NClnd2OwKELQY/Vph8Vwsk
	vvm6xprdC2RUCe29yvcMXr9q5/owfpwSLZjUJ1nghsSDF/YXrKOOmhCCt8soHPttjnkMqBrSameBH
	l+eFOl3scc/GHQkcJosyJ2yUDLJ0t5C9Ml/wo65DLqL4xIug3CNYhYgBwhXEjy78cXYVwkZWeRJTx
	AYTIxFF6BMVoeR0K/OAOF31LZHOTiSb9eHLN21eCTWf6hcKy5ijymaxrNgvMKjsvgRYxSI9J0DaGw
	k0q45Pc2MWKspgBivg==;
From: linux@treblig.org
To: jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	"Dr. David Alan Gilbert" <linux@treblig.org>
Subject: [PATCH] xen/pciback: Remove unused pcistub_get_pci_dev
Date: Fri,  7 Mar 2025 00:47:36 +0000
Message-ID: <20250307004736.291229-1-linux@treblig.org>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Dr. David Alan Gilbert" <linux@treblig.org>

pcistub_get_pci_dev() was added in 2009 as part of:
commit 30edc14bf39a ("xen/pciback: xen pci backend driver.")

Remove it.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
---
 drivers/xen/xen-pciback/pci_stub.c | 20 --------------------
 drivers/xen/xen-pciback/pciback.h  |  2 --
 2 files changed, 22 deletions(-)

diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index b616b7768c3b..5c2f829d5b0b 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -262,26 +262,6 @@ struct pci_dev *pcistub_get_pci_dev_by_slot(struct xen_pcibk_device *pdev,
 	return found_dev;
 }
 
-struct pci_dev *pcistub_get_pci_dev(struct xen_pcibk_device *pdev,
-				    struct pci_dev *dev)
-{
-	struct pcistub_device *psdev;
-	struct pci_dev *found_dev = NULL;
-	unsigned long flags;
-
-	spin_lock_irqsave(&pcistub_devices_lock, flags);
-
-	list_for_each_entry(psdev, &pcistub_devices, dev_list) {
-		if (psdev->dev == dev) {
-			found_dev = pcistub_device_get_pci_dev(pdev, psdev);
-			break;
-		}
-	}
-
-	spin_unlock_irqrestore(&pcistub_devices_lock, flags);
-	return found_dev;
-}
-
 /*
  * Called when:
  *  - XenBus state has been reconfigure (pci unplug). See xen_pcibk_remove_device
diff --git a/drivers/xen/xen-pciback/pciback.h b/drivers/xen/xen-pciback/pciback.h
index f9599ed2f2e2..b786c1f74f85 100644
--- a/drivers/xen/xen-pciback/pciback.h
+++ b/drivers/xen/xen-pciback/pciback.h
@@ -67,8 +67,6 @@ extern struct list_head xen_pcibk_quirks;
 struct pci_dev *pcistub_get_pci_dev_by_slot(struct xen_pcibk_device *pdev,
 					    int domain, int bus,
 					    int slot, int func);
-struct pci_dev *pcistub_get_pci_dev(struct xen_pcibk_device *pdev,
-				    struct pci_dev *dev);
 void pcistub_put_pci_dev(struct pci_dev *dev);
 
 static inline bool xen_pcibk_pv_support(void)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:49:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:49:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904438.1312314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqLtz-0004Na-0E; Fri, 07 Mar 2025 00:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904438.1312314; Fri, 07 Mar 2025 00:49: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 1tqLty-0004NT-T2; Fri, 07 Mar 2025 00:49:22 +0000
Received: by outflank-mailman (input) for mailman id 904438;
 Fri, 07 Mar 2025 00:49: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqLty-0003mY-86
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:49:22 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff1d4426-faed-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 01:49:17 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 815C4A4535F;
 Fri,  7 Mar 2025 00:43:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F6CDC4CEE5;
 Fri,  7 Mar 2025 00:49: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: ff1d4426-faed-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741308555;
	bh=nzu4MBOshbka4yvyEkAlVonFwNV1K4fmA6QYEemB+dM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MLRx55nL/bylyF0m+wR0Kn39Ck2rkfE3xEjMSHD3dk8CWgSJ5YVFo3ncyIk1Iiy8k
	 yaZRk3fFQxiuxreJWjC0MW3pmH7oGTisVO/LENQWHzNFoK79uTpXJ36F2F91hIqwL1
	 7J3F7E14nDujWXcWINSaAUa4Owx0FBqMsmNIvQwRFFi4vqpULqNPB5pj+4yZB88W8z
	 yfYem6aRzP3zEgs71BLqHlIBfoUAE3ijZ3tttNlCN9QYtWPZyXejXmJvkasmTiPpGW
	 +ykgLRqZEVk550obwo+GnztVWdTtAzl7VjuOkt04nXK9zfbZWUhV1Gcs0tF935sQJ4
	 dODUnkOQ8BTZQ==
Date: Thu, 6 Mar 2025 16:49:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Luca Miccio <luca.miccio@amd.com>, xen-devel@lists.xenproject.org
Subject: Re: [ImageBuilder] uboot-script-gen: handle reserved memory
 regions
In-Reply-To: <alpine.DEB.2.22.394.2503061606020.2600338@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2503061648360.2600338@ubuntu-linux-20-04-desktop>
References: <20250228150733.3945774-1-luca.miccio@amd.com> <alpine.DEB.2.22.394.2503061606020.2600338@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

On Thu, 6 Mar 2025, Stefano Stabellini wrote:
> On Fri, 28 Feb 2025, Luca Miccio wrote:
> > Currently, the uboot-script-gen does not account for reserved memory
> > regions in the device tree. This oversight can lead to scenarios where
> > one or more boot modules overlap with a reserved region. As a result,
> > Xen will always crash upon detecting this overlap. However, the crash
> > will be silent (without output) if earlyprintk is not enabled, which is
> > the default setting at the moment.
> > 
> > To address this issue, add a function that iterates over the
> > reserved-memory nodes and populates an array. This array will be used
> > later to calculate the load address for any given file.
> > 
> > Signed-off-by: Luca Miccio <luca.miccio@amd.com>
> 
> Hi Luca,
> 
> Thanks for the nice patch! I was waiting for the 4.21 development window
> to open.
> 
> 
> > ---
> >  scripts/uboot-script-gen | 59 ++++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 56 insertions(+), 3 deletions(-)
> > 
> > diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> > index db2c011..cd0d202 100755
> > --- a/scripts/uboot-script-gen
> > +++ b/scripts/uboot-script-gen
> > @@ -468,6 +468,42 @@ function device_tree_editing()
> >      fi
> >  }
> >  
> > +function fill_reserved_spaces_from_dtb()
> > +{
> > +    if [ ! -f $DEVICE_TREE ]
> > +    then
> > +        echo "File $DEVICE_TREE doesn't exist, exiting";
> > +        cleanup_and_return_err
> > +    fi
> > +
> > +    addr_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#address-cells')
> > +    size_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#size-cells')

One more comment. If the DT doesn't have any reserved memory regions:

Error at '/reserved-memory': FDT_ERR_NOTFOUND
Error at '/reserved-memory': FDT_ERR_NOTFOUND
Error at '/reserved-memory': FDT_ERR_NOTFOUND

It would be best to silence these errors


> missing "local" for both variables
> 
> 
> > +    for node in $(fdtget -l $DEVICE_TREE /reserved-memory); do
> > +        reg_values=($(fdtget -t x $DEVICE_TREE /reserved-memory/$node reg))
> 
> missing "local"
> 
> 
> > +        for ((i=0; i<${#reg_values[@]}; i+=addr_cells+size_cells)); do
> > +            addr=0
> > +            size=0
> 
> missing "local" for addr and size, and also i and j
> 
> 
> > +            for ((j=0; j<addr_cells; j++)); do
> > +                addr=$((addr << 32 | 0x${reg_values[i+j]}))
> > +            done
> > +            
> > +            for ((j=0; j<size_cells; j++)); do
> > +                size=$((size << 32 | 0x${reg_values[i+addr_cells+j]}))
> > +            done
> > +            
> > +            addr=$(printf "0x%X" $addr)
> > +            size=$(printf "0x%X" $size)
> > +        done
> > +
> > +        # Add the reserved space to the list and avoid duplicates
> > +        if [[ ! " ${RESERVED_MEM_SPACES[@]} " =~ " ${addr},${size} " ]]; then
> 
> I think this is too imprecise as a check because it would match with a
> similar element of the array with a higher number of zeros. If I read
> this right:
> 
> 0x1000,0x1000 would match 0x1000,0x10000
> 
> I would either remove this check, as it might be OK to have duplicates,
> or I would turn it into a proper numeric check, one item at a time in
> the list.
> 
> 
> > +            RESERVED_MEM_SPACES+=("${addr},${size}")
> > +        fi
> > +    done
> > +}
> > +
> >  # Read effective image size from a header, which may be larger than the filesize
> >  # due to noload sections, e.g. bss.
> >  function get_image_size()
> > @@ -505,9 +541,24 @@ function add_size()
> >          size=${image_size}
> >      fi
> >  
> > -    memaddr=$(( $memaddr + $size + $offset - 1))
> > -    memaddr=$(( $memaddr & ~($offset - 1) ))
> > -    memaddr=`printf "0x%X\n" $memaddr`
> > +    # Try to place the file at the first available space...
> > +    local new_memaddr=$(( (memaddr + size + offset - 1) & ~(offset - 1) ))
> > +
> > +    # ...then check if it overlaps with any reserved space
> > +    for reserved_space in "${RESERVED_MEM_SPACES[@]}"; do
> > +        local reserved_start=${reserved_space%,*}
> > +        local reserved_size=${reserved_space#*,}
> > +        local reserved_end=$((reserved_start + reserved_size))
> > +
> > +        if [[ $new_memaddr -le $reserved_end ]] && \
> > +           [[ $((new_memaddr + size)) -ge $reserved_start ]]; then
> > +            # In that case, place the file at the next available space
> > +            # after the reserved one
> > +            new_memaddr=$(( (reserved_end + offset) & ~(offset - 1) ))
> > +        fi
> > +    done
> > +
> > +    memaddr=$(printf "0x%X\n" $new_memaddr)
> >      filesize=$size
> >  }
> >  
> > @@ -1373,6 +1424,8 @@ uboot_addr=$memaddr
> >  memaddr=$(( $memaddr + $offset ))
> >  memaddr=`printf "0x%X\n" $memaddr`
> >  
> > +fill_reserved_spaces_from_dtb
> > +
> >  if test "$os" = "xen"
> >  then
> >      xen_file_loading
> > -- 
> > 2.25.1
> > 
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 00:57:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 00:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904447.1312323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqM1m-0007x3-NR; Fri, 07 Mar 2025 00:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904447.1312323; Fri, 07 Mar 2025 00: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 1tqM1m-0007ww-Ks; Fri, 07 Mar 2025 00:57:26 +0000
Received: by outflank-mailman (input) for mailman id 904447;
 Fri, 07 Mar 2025 00:57: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqM1l-0007wq-Rk
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 00:57:25 +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 2154d29b-faef-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 01:57:23 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso14622105e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 16:57:23 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfb79cfsm3610296f8f.10.2025.03.06.16.57.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 16:57:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2154d29b-faef-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741309043; x=1741913843; 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=k3kVTeo6hQ3m6R2v6h6cRhZpBdizWREPTz/VbcmNxHI=;
        b=ND0Oq9Z0H0Yz0SfDSJltDvCI8eKT6wO7R84cB9zlMsACp/S8VE3pbRMqUX/iG7i2fC
         eYsMPIqM7sjMkZ6OCikVuanmcpacbH5Tw/MSQmq2GvZgr2NLWvwDjVsgx5L3xzfX/WHy
         HP4XAVcnH/LThAGJNtL0KSBYWgJGuHgiggN2M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741309043; x=1741913843;
        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=k3kVTeo6hQ3m6R2v6h6cRhZpBdizWREPTz/VbcmNxHI=;
        b=qqsD9X/iGjKar0dgQPUrMPtKokfh1tNQIM5kQ2Fq+XgXAzfus2r1S4cyEryVl7/kvN
         7+uvsUzxeiuI40E2Z16zGVidWA93OSzA5TyGAqvJNI2tgcEY3eSvJcDbR0DDJQQ285uP
         z6F1xX/CZNn9rsQKhq8PhsgrpHXjXcKhSTpvDHcxyQ67MayEAIWJC85jD4OdtAlp2Kv7
         S2H9IgIA3Yr9L1K59/an4GGqH4Vb+WPwIhg3LHD4TFAmmIoasR0Kh5gjXioKXazyTBYl
         vcBCq0bc2wyIQ3vOgMtAJ+TXjtNcRAff+2zWNbPUXPIIN8V0gJ4EGXN4dQNeL4o6fp1Y
         m1jA==
X-Forwarded-Encrypted: i=1; AJvYcCUvq8+U7WmwcVc50hpMJiIl1eVJ49CrH94sVggZF5t+G8vgkrZobP0iSWV8prqJrcpu1gZ2kTDoPCk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxPhPSJEl9RqibQsYOoViZU7Iuy0bx6gVhgU8Q8Lr0sAf45+seE
	m84q51oTmK0YS6lDiiB3T6A4F2I58pVGDz1FCTqQfn5hxpFOmeT1yDjc4Sgkwn8=
X-Gm-Gg: ASbGnctWf4A4HsO7HZWMHtYXHAuQSNhBiF7d+MT/RFF/9TAD84LwxsPi6R3QLR7b6Ui
	79d0vo55y1vUeGBVTA5mLoSYhKfpJZBj3Sw73DJmuysQvij2f11mDQxchpr03IKzWjXAS8fDCMb
	ePO7rFhcFbYkXXtwPcERfONkMvIFAyrYe7lCtba6IMMnr4pr+mm9Pa57zN1fphWMlN8eHTgT1oe
	aDR1CuZZrrXWnFzp2n6er5RvoK3T/d58b6ONGXmPAHyerhNHorP7DPJF0HC9ot+LpMIhPNA3bQi
	SIbbdsphKVrOIXNccOMGdZTcUzIrHQsIPYhldxWbsTbopxRihv8sxIsuneriDkftNvuYKLKzKqI
	l4Z8OPr0m
X-Google-Smtp-Source: AGHT+IFxyvTXnHduGBEnpxq5+0hN0V+Vr4WYJoM9O9QSDwVmO0QsElc+pSmsj1evWa2Olk7K+2GvMg==
X-Received: by 2002:a05:600c:3b1e:b0:439:9ee1:86bf with SMTP id 5b1f17b1804b1-43c5c98089bmr13949555e9.7.1741309043028;
        Thu, 06 Mar 2025 16:57:23 -0800 (PST)
Message-ID: <b5c45592-e33e-43fd-a3e9-ac691b60135a@citrix.com>
Date: Fri, 7 Mar 2025 00:57:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/vlapic: Fix handling of writes to APIC_ESR
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20250303185352.86499-1-andrew.cooper3@citrix.com>
 <20250303185352.86499-2-andrew.cooper3@citrix.com>
 <042807a0-77cc-4e16-a949-116bb7cd8c94@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: <042807a0-77cc-4e16-a949-116bb7cd8c94@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 1:49 pm, Jan Beulich wrote:
> On 03.03.2025 19:53, Andrew Cooper wrote:
>> Xen currently presents APIC_ESR to guests as a simple read/write register.
>>
>> This is incorrect.  The SDM states:
>>
>>   The ESR is a write/read register. Before attempt to read from the ESR,
>>   software should first write to it. (The value written does not affect the
>>   values read subsequently; only zero may be written in x2APIC mode.) This
>>   write clears any previously logged errors and updates the ESR with any
>>   errors detected since the last write to the ESR.
>>
>> Introduce a new pending_esr field in hvm_hw_lapic.
>>
>> Update vlapic_error() to accumulate errors here, and extend vlapic_reg_write()
>> to discard the written value and transfer pending_esr into APIC_ESR.  Reads
>> are still as before.
>>
>> Importantly, this means that guests no longer destroys the ESR value it's
>> looking for in the LVTERR handler when following the SDM instructions.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> I guess there's no good Fixes: candidate?

Not that I could find.Â  5f32d186a8b introduced vlapic_error(), and
therefore delivery of LVTERR to guests, but the (mis)behaviour of the
APIC_ESR register goes back further.

d1bd157fbc9b "Big merge the HVM full-virtualisation abstractions" 19
years ago had a far more buggy behaviour (counted writes, and only
returned data on half the reads).

The read side (of this far more broken behaviour) was broken by
50b3cef2eecb ("[HVM] Place all APIC registers into one page in native
format.") and restored by 69f646a61b1b ("[HVM] Fix some IOAPIC and LAPIC
device model bugs").

The far more broken behaviour was dropped by f7c8af3a6476 ("[XEN] HVM:
Clean up and simplify vlapic device-model code.") in 3.0.4, leaving the
behaviour we've had until today.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:02:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:02:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904456.1312334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqM6e-0000Pd-8g; Fri, 07 Mar 2025 01:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904456.1312334; Fri, 07 Mar 2025 01: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 1tqM6e-0000PW-5T; Fri, 07 Mar 2025 01:02:28 +0000
Received: by outflank-mailman (input) for mailman id 904456;
 Fri, 07 Mar 2025 01: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqM6d-0000PQ-54
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:02:27 +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 d4ed604c-faef-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 02:02:25 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bcfa6c57fso7547985e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 17:02:25 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8dbb2fsm34822325e9.20.2025.03.06.17.02.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 17:02:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4ed604c-faef-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741309344; x=1741914144; 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=P4heuVWu5+Ldn39bDXgdzZt1Z0uKXplph1DqTILALFA=;
        b=hKvvmZBbu+oIE1c2GJ2OSbeU/UMErlchmEGQVGWprvihSxGfEB/R/a7kQUPriCh3FS
         mvS0egNfWmDnn0Le+V3ZbPkg+NEgdTEQ7iFQSymGaIFyoWMEHvMTsbQ19PMgi+cETb/T
         hWjRmwPlGSQNuEuGyvVCy+KGIvQK2HAWGiaDI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741309344; x=1741914144;
        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=P4heuVWu5+Ldn39bDXgdzZt1Z0uKXplph1DqTILALFA=;
        b=fkRUOwpjHx7la3q7b18rGA+djoJ4A+PvPONPdbmHI0ZxRpemMOPwkH6bWnLTJWSAUg
         1wCnfObROBCC8/3pZ5PJxEbwi73sYS40obMFiHPtdO4fdH4fp7ZTpcNdJHatOFprt1Go
         8oGaXsQhWlYW87ta513f8eFJnLQxE0Mry0StqbYjt3NaU3iHo7Lnf4mQJsi6g0QvHePK
         ma7VQcpYg+WWiAMEwZqThX0udXQ5iiOA6wO7RVOeWfqHitJLzzZy3Ci6iiuThGKSOk8E
         KGPtpn4iN0I2QzMX2fBJfPP7ZpsR6XZgtuCqGHVYDUDqrR7QR8J1DCfMqyHUsTq7M3dg
         vBkw==
X-Forwarded-Encrypted: i=1; AJvYcCWZqDjegS2dm4jhYRQr+3MhOd+3COZ4iOGi9sZzdmL6V90+bFvmn9hfIgfg2FPELMwQHGTyaEaG7J8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxVXfR3U/C9kzQtUB4XzCAXlcbazHaiHLJMEIj5/WKpSwIi1SA
	cFu/cmH4CyD2ZX5fhZRwpOiE1BaJErrI4IDwvPK6+L2skE0djtYoylX+raZ4vG0=
X-Gm-Gg: ASbGncvuZzXzMALRURIxYbzL6eIWNXUih+ZINgmwkJmXIXFdUwsd3n8GgVsWtqwB++U
	ile9kc7curLWXdxVLl8JLzMxo3Shgdh8MSJk489n6EKXCVmaFH3KCoUFJXAcmmxrqZDmzqQd0Ik
	4LmzeYQMZzwuD1Zb2A3TZhFkz7WnGRAyVyu/EGPYV6UkOohHzKXjQzUV04C4wtgdafLcoNcuZUC
	GYq53uctp9JOFcAlHsJ81ywouNVIZQIZvoiLLV5u7UWyX3ohIs87e2x8PD/29Fw2RH2RdBn6l4E
	P3EkIPgvoock5cF21vCr6XdlP8A0LInlcpYt+jwhHd1naOBAsyBrOrCggFTiIJ4PCm8KJ9uaP/z
	AcQA4xq/y
X-Google-Smtp-Source: AGHT+IFk07r5vmOiX4NGAdYBw6+Iw/dZo/cfISp9uAw6sMjZP1KqCJ2R5BmF5xNsSIEYN8PoiiH4LA==
X-Received: by 2002:a05:600c:3b04:b0:439:8a62:db42 with SMTP id 5b1f17b1804b1-43c5a6008e6mr8646395e9.8.1741309344252;
        Thu, 06 Mar 2025 17:02:24 -0800 (PST)
Message-ID: <9a66d9e6-80a7-457e-9012-780ed6f09548@citrix.com>
Date: Fri, 7 Mar 2025 01:02:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/vlapic: Drop vlapic->esr_lock
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20250303185352.86499-1-andrew.cooper3@citrix.com>
 <20250303185352.86499-3-andrew.cooper3@citrix.com>
 <a3be52ef-77a9-46f3-9f9b-1f4e230d6c29@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: <a3be52ef-77a9-46f3-9f9b-1f4e230d6c29@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05/03/2025 1:56 pm, Jan Beulich wrote:
> On 03.03.2025 19:53, Andrew Cooper wrote:
>> The exact behaviour of LVTERR interrupt generation is implementation
>> specific.
>>
>>  * Newer Intel CPUs generate an interrupt when pending_esr becomes
>>    nonzero.
>>
>>  * Older Intel and all AMD CPUs generate an interrupt when any
>>    individual bit in pending_esr becomes nonzero.
>>
>> Neither vendor documents their behaviour very well.  Xen implements
>> the per-bit behaviour and has done since support was added.
>>
>> Importantly, the per-bit behaviour can be expressed using the atomic
>> operations available in the x86 architecture, whereas the
>> former (interrupt only on pending_esr becoming nonzero) cannot.
>>
>> With vlapic->hw.pending_esr held outside of the main regs page, it's
>> much easier to use atomic operations.
>>
>> Use xchg() in vlapic_reg_write(), and *set_bit() in vlapic_error().
>>
>> The only interesting change is that vlapic_error() now needs to take a
>> single bit only, rather than a mask, but this fine for all current
>> callers and forseable changes.
>>
>> No practical change.
> From a guest perspective that is.
>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> @@ -124,15 +126,12 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int errmask)
>>              if ( (lvterr & APIC_VECTOR_MASK) >= 16 )
>>                   inj = true;
> I wouldn't, btw, mind if you also corrected this indentation screw-up of
> mine along with you doing so ...
>
>>              else
>> -                 errmask |= APIC_ESR_RECVILL;
>> +                set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
> ... here.

Both fixed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:09:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904465.1312344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMD8-000294-UT; Fri, 07 Mar 2025 01:09:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904465.1312344; Fri, 07 Mar 2025 01:09: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 1tqMD8-00028x-RD; Fri, 07 Mar 2025 01:09:10 +0000
Received: by outflank-mailman (input) for mailman id 904465;
 Fri, 07 Mar 2025 01:09: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqMD7-00028r-OT
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:09:09 +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 c58c7a6a-faf0-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 02:09:08 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43bc38bb6baso7874275e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 17:09:08 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd93ca9fsm34484085e9.28.2025.03.06.17.09.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 17:09:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c58c7a6a-faf0-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741309748; x=1741914548; 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=78iHD5flU4maXgc1kFm09Dz/lpHTb5P9P6U95jZS7u4=;
        b=mTY5py5t/58V9qvAMa9gpxrsYSFo1u1GY6SDjrOmlHHW+QgVrAJM2+nsqh3bWq1uVS
         1FBqg3XmTfR5qqIDHkLtSYiz0NhjEx44zPdY5kqxfbS3ONwhAIqAOmZc2HGnpGjmYu03
         ioFlLKwCh7FN+B2Ybfmetis06dxGIxDrsjkuM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741309748; x=1741914548;
        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=78iHD5flU4maXgc1kFm09Dz/lpHTb5P9P6U95jZS7u4=;
        b=kURvYLPn47mBjwfAyJGYrCTwiirLL4pk8uaFmGiN3AVyvEdbNOjEVMNGnGdyaJ6V+O
         QInECCcmpk7jgQT9GFOcvd7RH1TH+SdXSUvqrpubKfrJUa4dPYjcii2438BNkSjdAcsz
         vYTrGjtl+TLgdtoYYZuGTMH3ehI60kq9Rz6jbRdszwMne1254aG95E6COGUSPgMuqLoz
         ChU0tag8q+TtlDIEVWHbAelailOkoFatFxDK9yv/JL921/k5WyYF8f8Y83uoH6cUxkvW
         DxClO2sS7/Bg7jo2hj3xtQMkmnXse6XGyaa4BRhbSBYJ2h5aWwEnpYDVNRBWNSKClGwe
         87uQ==
X-Forwarded-Encrypted: i=1; AJvYcCWF1i8S7YfwmY8k8w8tCFZovMgasR4ZAC2qPdIHwsuqjEJD6lRAg0IZwmY+GKam94q0M9n/e6V+faU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSHoY6+Zbu55deMBT3OZE4im7EG4SYAmA5xjiV+RF9S3j7igvl
	NE9Mi0ge4Xslloq0JaMnftwEieJ+FUnQg/XUu+PHgUIcljJGkvIEWdr1v6SRBvZwiYQTcso5A3I
	g
X-Gm-Gg: ASbGncvWpRgEeC0nEEmE8FSIamgfZlew8c01YALyEptMMWiFkeQpIq1ifhP3VIeGgY2
	3Kzsud/ezLbMwk94+9ZUwVxuWyHI6nbLyAOYZQjk3QBQujcJvBa2yvtHCvz4f0TS3RetspnxQzX
	+b3BjSvHjBB0ZG+BaQzOwaN0K9lL6nnaoIK3HonYiIRbwYQxfkgTbMzYeCi4ANx4CWNr+44NRPU
	SSKRTK7UjzKrJHTLqjSBtGwCThio/iNQbKMpUfjqFmwcRWDnyTQS9SJw1VDznEFkRFxJJRe8TUA
	dLUn5jl6jQpalAfvRzWoA1dm6G91C+Il0hPAZOcW0VDAfbG2Utf6FOK0XrHCwh2+GivmoCvUkZv
	VWx70dyC/
X-Google-Smtp-Source: AGHT+IHTQGCSD/WUBDljflGQB3hzsRS6e/6jr7yMQlzqZY6eFlHaLh+RciLsOFrLRruq20sUKKog6Q==
X-Received: by 2002:a05:6000:186d:b0:390:df75:ddc4 with SMTP id ffacd0b85a97d-39132db1113mr843996f8f.44.1741309748110;
        Thu, 06 Mar 2025 17:09:08 -0800 (PST)
Message-ID: <1cf7e95c-eea5-4a93-81ea-7505ee158b4f@citrix.com>
Date: Fri, 7 Mar 2025 01:09:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/IDT: Make idt_tables[] be per_cpu(idt)
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: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
 <20250305000247.2772029-3-andrew.cooper3@citrix.com>
 <636170c8-2b61-4918-8c17-5c4953aa25ca@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: <636170c8-2b61-4918-8c17-5c4953aa25ca@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 2:01 pm, Jan Beulich wrote:
> On 05.03.2025 01:02, Andrew Cooper wrote:
>> This can be a plain per_cpu() variable, and __read_mostly seeing as it's
>> allocated once and never touched again.
> cpu_smpboot_free() certainly touches (really: modifies) it again.

Not really.Â  That's a dead path because we always park CPUs.

But fine, I'll rephrase to "not touched again during it's lifetime".

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:14:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:14:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904476.1312355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMIP-0003hi-ML; Fri, 07 Mar 2025 01:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904476.1312355; Fri, 07 Mar 2025 01:14: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 1tqMIP-0003hb-IC; Fri, 07 Mar 2025 01:14:37 +0000
Received: by outflank-mailman (input) for mailman id 904476;
 Fri, 07 Mar 2025 01:14: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqMIP-0003hV-5D
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:14:37 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85d5a64c-faf1-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 02:14:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 181A0A45311;
 Fri,  7 Mar 2025 01:09:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD111C4CEE0;
 Fri,  7 Mar 2025 01:14: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: 85d5a64c-faf1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741310070;
	bh=wz3Two21NYziQjSHAjug+noyuWLf6PHgwrIQshSghL4=;
	h=Date:From:To:cc:Subject:From;
	b=Pj6iDh1I8dnyaDJuASUe+xKgR0NL0V8Aj9XaxFnPjGa83WLSYqMKyngnE4GYOxiLB
	 xExGJbaQ5fZzjmso69JnyurOIbg+82c325nz7UipqKa8sIRQAQn17oIIlTkU2QZNOK
	 rOnRfuM57JPhQ1BfMerYjgPpRMiwWj4jLC1C7RqD6+Gkp4YtLBhvKi3kPDvJos5GSo
	 ImkspoZXn7HQPGlqzIaeeOvQY7vM8+QyDOWTDDYKHihlASGmajl9OAW6YcDTaoUSf2
	 Zffs+8gIDtMApCAuKM2KEFBdg9X1K/vnOzJ0JQesXswPc0Re7Nxhx5LYUatAFz/mrz
	 QfgnVB3ya2r+w==
Date: Thu, 6 Mar 2025 17:14:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, VictorM.Lira@amd.com, 
    marmarek@invisiblethingslab.com
Subject: [PATCH v2] docs: hardware runners setup
Message-ID: <alpine.DEB.2.22.394.2503061708300.2600338@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-677741637-1741310070=:2600338"

  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-677741637-1741310070=:2600338
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

Document how to setup a new hardware runner

Signed-off-by: Victor Lira <VictorM.Lira@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
---
v2: add external references and more examples

diff --git a/docs/misc/ci.rst b/docs/misc/ci.rst
index 7aee55c5d2..8d9ebfb39d 100644
--- a/docs/misc/ci.rst
+++ b/docs/misc/ci.rst
@@ -19,6 +19,55 @@ After getting access to relevant runners, few extra changes are necessary in set
 2. Expand "Variables" section and add ``QUBES_JOBS=true`` variable for Qubes runners.
 3. Go to Settings -> Repository, expand "Branch rules" section and add a rule for protected branches - only those branches will get tests on the hardware runners. It's okay to use a pattern for branch name, and it's okay to allow force push.
 
+How to Set Up a New Hardware Runner
+***********************************
+
+A hardware runner is a GitLab runner designed to execute Xen tests on real hardware, such as an embedded board or a laptop. The GitLab runner runs on a controller PC, which is connected to the target board used for Xen testing. The controller PC can be any system, from a workstation to a Raspberry Pi.
+
+Steps to Set Up the Controller PC:
+
+1. Install the Docker service
+   - Follow the instructions at: [Docker Installation Guide](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository)
+
+2. Install the GitLab Runner service
+   - Follow the instructions at: [GitLab Runner Installation Guide](https://docs.gitlab.com/runner/install/linux-repository/#install-gitlab-runner)
+
+3. Register the runner with GitLab
+   - Generate a runner token with a specific tag to identify it.
+   - Run `gitlab-runner register` and enter the token. Accepting the default settings is sufficient.
+
+These steps are common for setting up any GitLab runner. However, for hardware runners, additional configurations are required to enable the controller PC to:
+
+- Power on and off the target board.
+- Connect to the serial interface of the target board.
+- Establish an Ethernet connection with the target board.
+- Run a TFTP server with a TFTP root directory accessible by GitLab container tests.
+  - This allows the test script to place binaries, such as Xen, in the TFTP root before powering on the target board.
+
+To enable the required capabilities, edit the GitLab Runner configuration file located at `/etc/gitlab-runner/config.toml`:
+
+- Map the TFTP boot directory.
+- Map the serial device of the target board.
+
+Example Configuration:
+
+    volumes = ["/scratch/gitlab-runner:/scratch/gitlab-runner"]
+    devices = ["/dev/ttyUSB0:/dev/ttyUSB0"]
+
+After making these changes, restart the GitLab Runner service:
+
+    gitlab-runner restart
+
+This completes the setup of the hardware runner. The system is now ready for executing Xen tests on real hardware. As an example, to execute tests on an AMD x86 embedded board, we currently use the following script:
+
+    automation/scripts/xilinx-smoke-dom0-x86_64.sh
+
+Other examples are available under automation/scripts, such as
+automation/scripts/qubes-x86-64.sh, and at external locations:
+`<https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops>`_,
+`<https://github.com/QubesOS/tests-hw-setup/blob/28aa8b86208a54fc2ac986f06c66c92230bf771e/states/gitlab-runner-conf.toml>`_.
+
+
 Selecting individual tests
 **************************
 
--8323329-677741637-1741310070=:2600338--


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:24:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904485.1312363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMS3-0007aY-HQ; Fri, 07 Mar 2025 01:24:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904485.1312363; Fri, 07 Mar 2025 01:24: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 1tqMS3-0007aR-Ee; Fri, 07 Mar 2025 01:24:35 +0000
Received: by outflank-mailman (input) for mailman id 904485;
 Fri, 07 Mar 2025 01:24: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqMS2-0007aL-40
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:24:34 +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 ec466ccc-faf2-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 02:24:32 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-390eebcc371so880209f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 17:24:32 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c0e34fasm3666115f8f.75.2025.03.06.17.24.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 17:24:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec466ccc-faf2-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741310672; x=1741915472; 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=hrC+5qkjZzedLS6uTGqubrMg/QHu/h4HScLteiGQcc0=;
        b=Xgdr5pRuvMO/gEhOE63C3caE9wNjs7k8XnkSjxAARFvDPGlC2LuDJmkYiAbue4py5/
         dZuQZViLh5aoQ69X4sBNGClaqzJJMl0tKOOHYPLdKlR0gasdV5E6fqn1GZAY3eHg9OVZ
         sYwidJnYunL17f4xCgCyc1t7EzmZtHlcvxrdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741310672; x=1741915472;
        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=hrC+5qkjZzedLS6uTGqubrMg/QHu/h4HScLteiGQcc0=;
        b=Ij+ti+RMv95XMbp713NeITjPk3AwOCYWEVNCH6VvJZHPYv/wgvHZy+9nuK6080zoHr
         ZS8F7u0F/Vs301y1xirOI4aN/9EFFU3/qHBqdglMmRtOXmTRvwl2+p8CLbw5XuN5EqQB
         ssUXf2bcGypmtlhrWLGYBSPReUYNsDILzaDfKEwk50gQoTzAi4mI7m+rIs87A/woeJnC
         LUpGQo/ZvyXiE2e2XRkXyxZKIESDikpRcVOLQi23LTWCikZ/4D1ifzzfblmfFYGYh/Wo
         lg2oKBreX/wthM56Qmk7fyRc2v5Fvw3m8E6X1M7SKYlc5pNdr11SIVJxNCGID8REIWTx
         9uMg==
X-Forwarded-Encrypted: i=1; AJvYcCUMJObRAhLaYD0V5WxsrvjJ3FOTN+5KW49mESguG2bDkH7DY4P8qhvmXFN8uCdopec5FJ7RluELSVg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwysxbdPMLhfGYIdUL1WNA8vusMXjibk804sqmAUMjN7dx8S8uu
	C2gh9nm8uQsgNDSa/xI1c8XVgSmbukMsaxxjfa6s9bYS46KbyJNyR5WDeTdCtN8=
X-Gm-Gg: ASbGncvZxVHgJOfwgZLuGZvGMWGk+iLXHCiZcR0AqX1S2AQkMZ6BM/1fY+qMlnr6rU5
	wyuHp9VDOIbXiXppDNaxiXE2eWAzjut0dJ6nA1qcDgFPKAk6rtKeoyUD73NibJCuq9++kCqQUYX
	0PD8RI1o/hlw5Z6RiEYfx9xwGAPTdWxRMyD15+5/cqhi+o5fb8j6MrHxNpeJyAq7J4PLAyaj2Y+
	0dNgw1sHB/1c3ptcMbjbr8t6i1u7/SFQLv1u4KC38kars+vWxP8f/StudwrvzPs03cLzm80z9vw
	KF8PAUrp7LvoUojGmd4tLcWPTXKS/dyjJove4Zai1BHQ6P1wfb1VllWkognvkCZoVwREtnbug3g
	ivjxg+0TF
X-Google-Smtp-Source: AGHT+IELvgTHGkSCAJhFmzdMIio+Yt1T1zsAgSvw8Br0zF3Os3M26CfvZRn2s6FwbUQnuxiTbj55DQ==
X-Received: by 2002:a5d:59ae:0:b0:390:f5e3:e833 with SMTP id ffacd0b85a97d-39132d379e9mr827029f8f.23.1741310672057;
        Thu, 06 Mar 2025 17:24:32 -0800 (PST)
Message-ID: <8bc3c894-b3e1-4ca6-83a2-cbfd05456732@citrix.com>
Date: Fri, 7 Mar 2025 01:24:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/IDT: Generate bsp_idt[] at build time
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: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
 <20250305000247.2772029-4-andrew.cooper3@citrix.com>
 <3d183a5b-008a-4985-bc94-1fb5dd93af7c@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: <3d183a5b-008a-4985-bc94-1fb5dd93af7c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/03/2025 2:09 pm, Jan Beulich wrote:
> On 05.03.2025 01:02, Andrew Cooper wrote:
>> ... rather than dynamically at boot time.  Aside from less runtime overhead,
>> this approach is less fragile than the preexisting autogen stubs mechanism.
>>
>> We can manage this with some linker calculations.  See patch comments for full
>> details.
>>
>> For simplicity, we create a new set of entry stubs here, and clean up the old
>> ones in the subsequent patch.  bsp_idt[] needs to move from .bss to .data.
>>
>> No functional change yet; the boot path still (re)writes bsp_idt[] at this
>> juncture.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>
>> v2:
>>  * Shuffle semicolon position
>>  * Eclair magic comment for multi-include files
>>
>> There's something differnet about LLD vs LD.  Without the ABSOLUTE() in
>> gen-idt.lds.h, LD is fine but LLD puts out symbols in the form:
>>
>>   x86_IDT_entry_0xff_ADDR1|0000000000002fb0|   t  |            NOTYPE|                |     |.text
>>   x86_IDT_entry_0xff_ADDR2|0000000000004020|   a  |            NOTYPE|                |     |*ABS*
>>
>> which causes a slew of errors making symbols for xen-syms:
>>
>>   .xen-syms.0.S:20:8: error: out of range literal value
>>    .long 0x15a0 - (((((((261 >> 8) * 0xffff000000000000) | (261 << 39))) + ((1 << 39) / 2)) + (64 << 30)) + (1 << 30))
>>          ^
>>
>> owing to half the symbols being t rather than a.  Moreover, this is reliable
>> for the full FreeBSD builds, but interminttent on randconfig.  I haven't
>> figured out which other option is having an effect.
>>
>> Forcing them all to absolute works in both toolchains.
> Just to double-check: Making these symbols absolute does not collide with
> the .reloc section generation that we do for xen.efi, does it?

I don't know for sure.Â  I'd be lying if I said I understood how that
really worked.

But, the boot of a real xen.efi in GitlabCI is happy with the series,
including the recovery selftests.

> That is, the
> absence of relocations for the IDT merely means that we must not use the
> IDT or any of its entries prior to relocating Xen back to its linked
> addresses. Or, if e.g. we fetched an entry's address from the IDT earlier
> on, we'd need to be aware that it's the linked address we fetch, not the
> one matching where we execute.

Today, the IDT is a block of zeroes until we get into __start_xen() and
construct it by hand.

Safe use of the exception handlers also relies on the percpu areas, so
use of the IDT isn't viably moving any earlier.

Even with FRED, I haven't moved it earlier, because there's no point.Â 
We're only a handful of instructions ahead of being in 32bit mode, where
it would be useless to us.

For EFI boot, we run on the system IDT and are expected to keep it
intact (probably until EBS), so I don't see any point using it earlier
there either.

> If that's a correct understanding of mine
> and also matches your intentions:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.Â  I'm pretty confident we're not going to be inclined to use it
earlier than __start_xen().

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:29:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:29:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904495.1312373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMX2-0008Cr-2a; Fri, 07 Mar 2025 01:29:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904495.1312373; Fri, 07 Mar 2025 01:29: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 1tqMX2-0008Ck-0A; Fri, 07 Mar 2025 01:29:44 +0000
Received: by outflank-mailman (input) for mailman id 904495;
 Fri, 07 Mar 2025 01:29: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqMX1-0008Ca-2x
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:29:43 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3c6942e-faf3-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 02:29:41 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id E172E5C5B24;
 Fri,  7 Mar 2025 01:27:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91763C4CEE0;
 Fri,  7 Mar 2025 01:29:38 +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: a3c6942e-faf3-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741310979;
	bh=PB4YoNdz7p5KnPFlvfZCh1EZEPklQV2P2BDluH8E6dY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KJwE6QwJku1f/kByLLErEIkAR05VCjmNtsnwaligYJv4NJBy2SaXP+PdpABWSayPt
	 1XregOybycFP3AeAIdCCL+3fBnwsT1weOttW+ko5ZvZCdSX3WPqlw+XztEEwn8jA11
	 FNcor1rT5S/gWLudG1kBV2Ib0ZkuqJqST2sUNTuLjjCa/Rcm/tD9erVyHRd8zu0gHg
	 fFgFVe68htUQviUM1uTgn57Y5B6rMTicud26w/e4U/PkWC/epEsr4DpZiXhibOSmCM
	 S6q3eXPL48SohjQeOPlSXKVb5h8IMNmJwChzRDG0TNg/Bt7dcKg6QD7t44R3TgQD/O
	 +TXxTjrUsMWGA==
Date: Thu, 6 Mar 2025 17:29:37 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: 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>
Subject: Re: [PATCH 02/23] xen/arm: Factor out construct_hwdom()
In-Reply-To: <20250306220343.203047-3-jason.andryuk@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503061728510.2600338@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-3-jason.andryuk@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 6 Mar 2025, Jason Andryuk wrote:
> Factor out construct_hwdom() from construct_dom0().  This will be
> re-used by the dom0less code when building a domain with the hardware
> capability.
> 
> iommu_hwdom_init(d) is moved into construct_hwdom() which moves it after
> kernel_probe().  kernel_probe() doesn't seem to depend on its setting.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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


> ---
>  xen/arch/arm/domain_build.c             | 28 ++++++++++++++++---------
>  xen/arch/arm/include/asm/domain_build.h |  1 +
>  2 files changed, 19 insertions(+), 10 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6784ee6f6d..d676422496 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2296,8 +2296,6 @@ static int __init construct_dom0(struct domain *d)
>          dom0_mem = MB(512);
>      }
>  
> -    iommu_hwdom_init(d);
> -
>      d->max_pages = dom0_mem >> PAGE_SHIFT;
>  
>      kinfo.unassigned_mem = dom0_mem;
> @@ -2307,17 +2305,27 @@ static int __init construct_dom0(struct domain *d)
>      if ( rc < 0 )
>          return rc;
>  
> +    return construct_hwdom(&kinfo);
> +}
> +
> +int __init construct_hwdom(struct kernel_info *kinfo)
> +{
> +    struct domain *d = kinfo->d;
> +    int rc;
> +
> +    iommu_hwdom_init(d);
> +
>  #ifdef CONFIG_ARM_64
>      /* type must be set before allocate_memory */
> -    d->arch.type = kinfo.type;
> +    d->arch.type = kinfo->type;
>  #endif
> -    find_gnttab_region(d, &kinfo);
> +    find_gnttab_region(d, kinfo);
>      if ( is_domain_direct_mapped(d) )
> -        allocate_memory_11(d, &kinfo);
> +        allocate_memory_11(d, kinfo);
>      else
> -        allocate_memory(d, &kinfo);
> +        allocate_memory(d, kinfo);
>  
> -    rc = process_shm_chosen(d, &kinfo);
> +    rc = process_shm_chosen(d, kinfo);
>      if ( rc < 0 )
>          return rc;
>  
> @@ -2332,7 +2340,7 @@ static int __init construct_dom0(struct domain *d)
>  
>      if ( acpi_disabled )
>      {
> -        rc = prepare_dtb_hwdom(d, &kinfo);
> +        rc = prepare_dtb_hwdom(d, kinfo);
>          if ( rc < 0 )
>              return rc;
>  #ifdef CONFIG_HAS_PCI
> @@ -2340,12 +2348,12 @@ static int __init construct_dom0(struct domain *d)
>  #endif
>      }
>      else
> -        rc = prepare_acpi(d, &kinfo);
> +        rc = prepare_acpi(d, kinfo);
>  
>      if ( rc < 0 )
>          return rc;
>  
> -    return construct_domain(d, &kinfo);
> +    return construct_domain(d, kinfo);
>  }
>  
>  void __init create_dom0(void)
> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
> index 5d77af2e8b..134290853c 100644
> --- a/xen/arch/arm/include/asm/domain_build.h
> +++ b/xen/arch/arm/include/asm/domain_build.h
> @@ -13,6 +13,7 @@ bool allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn,
>                            paddr_t tot_size);
>  void allocate_memory(struct domain *d, struct kernel_info *kinfo);
>  int construct_domain(struct domain *d, struct kernel_info *kinfo);
> +int construct_hwdom(struct kernel_info *kinfo);
>  int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
>  int make_chosen_node(const struct kernel_info *kinfo);
>  int make_cpus_node(const struct domain *d, void *fdt);
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:32:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:32:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904506.1312384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMa2-0001Fj-G8; Fri, 07 Mar 2025 01:32:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904506.1312384; Fri, 07 Mar 2025 01:32: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 1tqMa2-0001Fc-DS; Fri, 07 Mar 2025 01:32:50 +0000
Received: by outflank-mailman (input) for mailman id 904506;
 Fri, 07 Mar 2025 01:32: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqMa0-0001FW-Sg
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:32:48 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12076039-faf4-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 02:32:46 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 4755CA45345;
 Fri,  7 Mar 2025 01:27:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9D3C9C4CEE0;
 Fri,  7 Mar 2025 01:32: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: 12076039-faf4-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741311164;
	bh=iq74L3tkDFalbRl/uqqfdD/lqn/PwkgF/T9akoXFhWg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nOAeHWOVar+Z3/6mhARMyxnxb8+Uv6BaPvvRbRpssKl1jvShcq7YkKK4kf+cRJkYx
	 1r/D+QdVjPYl3js1EIHD8dSpnwWHKZd6hR27mDa43qeaR0oK0MRx1GG3ttUkRRblkr
	 7fa92nXFlmpyOUu3R7K0biGGdaQ0kRXjmm478s5JQwHJUV1UXKbJI3qv4CGrHDm2FF
	 lSbH+4lmLO/Eu+Jy1IuWRqnpIp4jx5mrutmCeo56wQiMSW3xLqGzPuF1Fs/DgliNU5
	 IX2VjNPFUB2xFuIeP9IwmuW76Xz45SLpx59VlBtWdjM/U8JDODqnK/6EofmY/XPd7o
	 Z7cdJfsSQ45mA==
Date: Thu, 6 Mar 2025 17:32:42 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: 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>
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
In-Reply-To: <20250306220343.203047-5-jason.andryuk@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503061731511.2600338@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-5-jason.andryuk@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 6 Mar 2025, Jason Andryuk wrote:
> Assign domid 0 to the hwdom.  Normally, dom0less does not use domid 0.
> 
> This fixes using the Xen console which assumes domid 0 to use the
> hypercall interface.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

I hope there is a check already in the code somewhere that triggers an
error if multiple domains are created with domid 0 ?


> ---
>  xen/arch/arm/dom0less-build.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index e539bcc762..5a7871939b 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -969,6 +969,7 @@ void __init create_domUs(void)
>      dt_for_each_child_node(chosen, node)
>      {
>          struct domain *d;
> +        domid_t domid;
>          struct xen_domctl_createdomain d_cfg = {
>              .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>              .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
> @@ -1121,7 +1122,12 @@ void __init create_domUs(void)
>           * very important to use the pre-increment operator to call
>           * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
>           */
> -        d = domain_create(++max_init_domid, &d_cfg, flags);
> +        if ( flags & CDF_hardware )
> +            domid = 0;
> +        else
> +            domid = ++max_init_domid;
> +
> +        d = domain_create(domid, &d_cfg, flags);
>          if ( IS_ERR(d) )
>              panic("Error creating domain %s (rc = %ld)\n",
>                    dt_node_name(node), PTR_ERR(d));
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:40:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:40:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904514.1312394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMhp-0002pR-8O; Fri, 07 Mar 2025 01:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904514.1312394; Fri, 07 Mar 2025 01:40: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 1tqMhp-0002pK-5P; Fri, 07 Mar 2025 01:40:53 +0000
Received: by outflank-mailman (input) for mailman id 904514;
 Fri, 07 Mar 2025 01:40: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqMhn-0002pE-Ti
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:40:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31617a3a-faf5-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 02:40:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id F23435C5B3E;
 Fri,  7 Mar 2025 01:38:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1B024C4CEE9;
 Fri,  7 Mar 2025 01:40:44 +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: 31617a3a-faf5-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741311646;
	bh=XjhrAxzmyzOaaKLIf65u4yuTJ+70wcU27Nxbh+rj+HY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LXO0pHXqzg5n5KoaMQjFPrgi2+UFctPGdkwCTGiJb2eX+tjciGxsjry+Yha2HIrv2
	 YccnIAXVt4WVcr1Ngs7qYAWBLEg8ojssEl4SAjDrajPrVsJtEeGkIz5KcFsR9I+WUj
	 pllgZ2n45y0s1ebOMB7YPq2KJyLdW/Ks1ysgs73f/haQZTAgkc+zbk5CJIWIlqBRd3
	 vSQparGUQYnUJEoCTQcujTJlqtJhpLSEY3bZQ1hWSx7rJ6WVM4q1RnpG73of3pefel
	 I3WBiVPgvlyjQuorgJ1hdv4TylOiRHbkDyZoIDHNN+CCLvgsTEYcWmg3c2Vbhrofhs
	 Dd5rgkMumw5FQ==
Date: Thu, 6 Mar 2025 17:40:44 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: 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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
In-Reply-To: <20250306220343.203047-6-jason.andryuk@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503061738430.2600338@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-6-jason.andryuk@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 6 Mar 2025, Jason Andryuk wrote:
> Add capabilities property to dom0less to allow building a
> disaggregated system.
> 
> Introduce bootfdt.h to contain these constants.
> 
> When using the hardware or xenstore capabilities, adjust the grant and
> event channel limits similar to dom0.
> 
> Also for the hardware domain, set directmap and iommu.  This brings its
> configuration in line with a dom0.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> There is overlap with hyperlaunch.  The numeric values are the same.
> Hyperlaunch doesn't expose the values in a public header as done here.
> Is this to be expected for dom0less?  It seems most of dom0less isn't in
> a header, but just in docs.
> 
> Hyperlaunch uses BUILD_CAPS_, but I chose DOMAIN_CAPS_ since there are
> domain-level capabilities.
> 
> Only a single xenstore and hardware domain make sense.  A check to limit
> to only a single hardware domain is in place - building two breaks.  But
> nothing prevents the dom0less configuration from only having multiple
> xenstore domains.  Each xenstore domain would have slightly more
> permissions, but only the last one would be used.
> ---
>  docs/misc/arm/device-tree/booting.txt | 11 ++++++++++
>  xen/arch/arm/dom0less-build.c         | 29 +++++++++++++++++++++++++++
>  xen/arch/arm/domain.c                 |  3 ++-
>  xen/include/public/bootfdt.h          | 27 +++++++++++++++++++++++++
>  4 files changed, 69 insertions(+), 1 deletion(-)
>  create mode 100644 xen/include/public/bootfdt.h
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index ac781c9cc8..490c792ddf 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -167,6 +167,17 @@ with the following properties:
>      Refer to docs/misc/cache_coloring.rst for syntax. This option is applicable
>      only to Arm64 guests.
>  
> +- capabilities
> +    Optional.  A bit field of domain capabilities for a disaggregated
> +    system.  A traditional dom0 has all all of these capabilities, and a
> +    domU has none of them.
> +
> +    0x1 DOMAIN_CAPS_CONTROL  - A privileged, control domain
> +    0x2 DOMAIN_CAPS_HARDWARE - The hardware domain - there can be only 1
> +    0x4 DOMAIN_CAPS_XENSTORE - The xenstore domain - there can be only 1
> +
> +    The default is no capabilities.
> +
>  - vpl011
>  
>      An empty property to enable/disable a virtual pl011 for the guest to
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 5a7871939b..068bf99294 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -12,6 +12,7 @@
>  #include <xen/sizes.h>
>  #include <xen/vmap.h>
>  
> +#include <public/bootfdt.h>
>  #include <public/io/xs_wire.h>
>  
>  #include <asm/arm64/sve.h>
> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>          if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>              panic("No more domain IDs available\n");
>  
> +        if ( dt_property_read_u32(node, "capabilities", &val) )
> +        {
> +            if ( val & ~DOMAIN_CAPS_MASK )
> +                panic("Invalid capabilities (%"PRIx32")\n", val);
> +
> +            if ( val & DOMAIN_CAPS_CONTROL )
> +                flags |= CDF_privileged;
> +
> +            if ( val & DOMAIN_CAPS_HARDWARE )
> +            {
> +                if ( hardware_domain )
> +                    panic("Only 1 hardware domain can be specified! (%pd)\n",
> +                           hardware_domain);
> +
> +                d_cfg.max_grant_frames = gnttab_dom0_frames();
> +                d_cfg.max_evtchn_port = -1;

max_maptrack_frames = -1 ?


> +                flags |= CDF_hardware;
> +                flags |= CDF_directmap;
> +                iommu = true;
> +            }
> +
> +            if ( val & DOMAIN_CAPS_XENSTORE )
> +            {
> +                d_cfg.flags |= XEN_DOMCTL_CDF_xs_domain;

shouldn't we take the opportunity to also set XEN_DOMCTL_CDF_xs_domain
in xen/arch/arm/domain_build.c:create_dom0 ?


> +                d_cfg.max_evtchn_port = -1;

Why this one?


> +            }
> +        }
> +
>          if ( dt_find_property(node, "xen,static-mem", NULL) )
>          {
>              if ( llc_coloring_enabled )
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 3ba959f866..dc4b4e84c1 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -608,7 +608,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>  {
>      unsigned int max_vcpus;
>      unsigned int flags_required = (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap);
> -    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu);
> +    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu |
> +                                   XEN_DOMCTL_CDF_xs_domain );
>      unsigned int sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
>  
>      if ( (config->flags & ~flags_optional) != flags_required )
> diff --git a/xen/include/public/bootfdt.h b/xen/include/public/bootfdt.h
> new file mode 100644
> index 0000000000..4e87aca8ac
> --- /dev/null
> +++ b/xen/include/public/bootfdt.h
> @@ -0,0 +1,27 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Xen Device Tree boot information
> + *
> + * Information for configuring Xen domains created at boot time.
> + */
> +
> +#ifndef __XEN_PUBLIC_BOOTFDT_H__
> +#define __XEN_PUBLIC_BOOTFDT_H__
> +
> +/* Domain Capabilities specified in the "capabilities" property.  Use of
> + * this property allows splitting up the monolithic dom0 into separate,
> + * less privileged components.  A regular domU has no capabilities
> + * (which is the default if nothing is specified).  A traditional dom0
> + * has all three capabilities.*/

The multiline comment coding style is:

/*
 * comment
 * comment
 */


> +/* Control/Privileged domain capable of affecting other domains. */
> +#define DOMAIN_CAPS_CONTROL  (1 << 0)
> +/* Hardware domain controlling physical hardware.  Typically providing
> + * backends to other domains.  */
> +#define DOMAIN_CAPS_HARDWARE (1 << 1)
> +/* Xenstore domain. */
> +#define DOMAIN_CAPS_XENSTORE (1 << 2)
> +#define DOMAIN_CAPS_MASK     (DOMAIN_CAPS_CONTROL | DOMAIN_CAPS_HARDWARE | \
> +                              DOMAIN_CAPS_XENSTORE)
> +
> +#endif /* __XEN_PUBLIC_BOOTFDT_H__ */
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:47:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:47:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904526.1312403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMoV-0003XT-1I; Fri, 07 Mar 2025 01:47:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904526.1312403; Fri, 07 Mar 2025 01:47: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 1tqMoU-0003XM-Uz; Fri, 07 Mar 2025 01:47:46 +0000
Received: by outflank-mailman (input) for mailman id 904526;
 Fri, 07 Mar 2025 01:47: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqMoU-0003XG-Ek
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:47:46 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 223b3297-faf6-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 02:47:32 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0E9905C5B44;
 Fri,  7 Mar 2025 01:45:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2DB07C4CEE0;
 Fri,  7 Mar 2025 01:47: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: 223b3297-faf6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741312050;
	bh=GRXPYX/QzIEkqiLL3rrayFFIMnq7YT3TfzKxQgIvKKg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CXb6TdpWIagy33hXzJFrhKE3cXKNnVfx27XxDxE9ipRYYVIVsGBbIbvGgv+pnWUoJ
	 GvPa4u4iUeB8eo4NHM74pK9rPm69oewnd2WcUjUMzNpdxLOnq9JJCNsZfosTBIaCjG
	 LT0yGYg1JMVk/P2DqHQkDhlg50acZJZRqQ63BzDOlAZF2ySMB+NNRt+uStQmHb8hjz
	 fTtLmfBFKla1QXhhkp/Rje8T7ixeidel09gbhBfYFJ24y6q6lViIPG9p6Zt/lkqHX7
	 iQfCxdxLLLDdOZNJjZaRCzG+GtqFQqbaJv1RxmeBh7f/7fJiGaj+6pHfZOztnPShXW
	 uzSDMtLAdDLmQ==
Date: Thu, 6 Mar 2025 17:47:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: 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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table
 entry
In-Reply-To: <20250306220343.203047-9-jason.andryuk@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503061744590.2600338@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-9-jason.andryuk@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 6 Mar 2025, Jason Andryuk wrote:
> With a split hardware and control domain, the control domain may still
> want and xenstore access.  Currently this relies on init-dom0less to
> seed the grants.  This is problematic since we don't want hardware
> domain to be able to map the control domain's resources.  Instead have
> the hypervisor see the grant table entry.  The grant is then accessible
> as normal.
> 
> This is also useful with a xenstore stubdom to setup the xenbus page
> much earlier.

Reading the patch, it seems that what is doing is letting the xenstore
domain map the domU's grant table page. Is that correct?

If so, I would suggest to update the commit message as follows:

With split hardware/control/xenstore domains, the xenstore domain may
still want to access other domains' xenstore page. Currently this relies
on init-dom0less to seed the grants from Dom0.  This is problematic
since we don't want the hardware domain to be able to map other domains'
resources without their permission.  Instead have the hypervisor seed
the grant table entry for every dom0less domain.  The grant is then
accessible as normal.


> This works with C xenstored.  OCaml xenstored does not use grants and
> would fail to foreign map the page.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
>  xen/arch/arm/dom0less-build.c |  9 +++++++++
>  xen/common/grant_table.c      | 10 ++++++++++
>  xen/include/xen/grant_table.h |  8 ++++++++
>  3 files changed, 27 insertions(+)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 068bf99294..f1d5bbb097 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -21,6 +21,8 @@
>  #include <asm/static-memory.h>
>  #include <asm/static-shmem.h>
>  
> +static domid_t __initdata xs_domid = DOMID_INVALID;
> +
>  bool __init is_dom0less_mode(void)
>  {
>      struct bootmodules *mods = &bootinfo.modules;
> @@ -753,6 +755,10 @@ static int __init alloc_xenstore_page(struct domain *d)
>      interface->connection = XENSTORE_RECONNECT;
>      unmap_domain_page(interface);
>  
> +    if ( xs_domid != DOMID_INVALID )
> +        gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
> +                          gfn_x(gfn), GTF_permit_access);
> +
>      return 0;
>  }
>  
> @@ -1173,6 +1179,9 @@ void __init create_domUs(void)
>          if ( rc )
>              panic("Could not set up domain %s (rc = %d)\n",
>                    dt_node_name(node), rc);
> +
> +        if ( d_cfg.flags & XEN_DOMCTL_CDF_xs_domain )
> +            xs_domid = d->domain_id;
>      }
>  }
>  
> diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
> index 6c77867f8c..ba93cdcbca 100644
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -4346,6 +4346,16 @@ static void gnttab_usage_print(struct domain *rd)
>          printk("no active grant table entries\n");
>  }
>  
> +void gnttab_seed_entry(struct domain *d, int idx, domid_t be_domid,
> +                       uint64_t frame, unsigned int flags)
> +{
> +    struct grant_table *gt = d->grant_table;
> +
> +    shared_entry_v1(gt, idx).flags = flags;
> +    shared_entry_v1(gt, idx).domid = be_domid;
> +    shared_entry_v1(gt, idx).frame = frame;
> +}
> +
>  static void cf_check gnttab_usage_print_all(unsigned char key)
>  {
>      struct domain *d;
> diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
> index 50edfecfb6..63150fa497 100644
> --- a/xen/include/xen/grant_table.h
> +++ b/xen/include/xen/grant_table.h
> @@ -45,6 +45,10 @@ void grant_table_destroy(
>      struct domain *d);
>  void grant_table_init_vcpu(struct vcpu *v);
>  
> +/* Seed a gnttab entry for Hyperlaunch/dom0less. */
> +void gnttab_seed_entry(struct domain *d, int idx, domid_t be_domid,
> +                       uint64_t frame, unsigned int flags);
> +
>  /*
>   * Check if domain has active grants and log first 10 of them.
>   */
> @@ -85,6 +89,10 @@ static inline void grant_table_destroy(struct domain *d) {}
>  
>  static inline void grant_table_init_vcpu(struct vcpu *v) {}
>  
> +static inline void gnttab_seed_entry(struct domain *d, int idx,
> +                                     domid_t be_domid, uint64_t frame,
> +                                     unsigned int flags) {}
> +
>  static inline void grant_table_warn_active_grants(struct domain *d) {}
>  
>  static inline int gnttab_release_mappings(struct domain *d) { return 0; }
> -- 
> 2.48.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 01:59:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 01:59:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904540.1312414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqMzZ-0008Vp-09; Fri, 07 Mar 2025 01:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904540.1312414; Fri, 07 Mar 2025 01:59: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 1tqMzY-0008Vi-TP; Fri, 07 Mar 2025 01:59:12 +0000
Received: by outflank-mailman (input) for mailman id 904540;
 Fri, 07 Mar 2025 01:59: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=Nrba=V2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqMzX-0008Vc-Mg
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:59:11 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2240491-faf7-11ef-9ab4-95dc52dad729;
 Fri, 07 Mar 2025 02:59:10 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 358F7A45377;
 Fri,  7 Mar 2025 01:53:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 935F9C4CEE0;
 Fri,  7 Mar 2025 01:59:07 +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: c2240491-faf7-11ef-9ab4-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741312748;
	bh=ficgeRNlg8fZMwiPXNc4eNECjNla8qgj0UYIIGaolNM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=e0emeto37cuAjFB5alMJ147tgwg2GFZIXbb+hTUfs3sGra1jXftFGLC8QWV5NQTXN
	 GKzW9YOoKsPHXv2NfSzR+v5AR03wp/co8YNW0NrB6LHrDrUAW3eRfvbs4e/0uCKmZA
	 MdQnjzpkiIGtBG/u7NT/jcd/XnhC4lKJyeDeX1j+HBN4jH1Yre4milRGOlZ3ovymkN
	 Oao0zBVurkPAkkp4AZiCIVOwBpnqSXTdNScLkH5Pw9IaHnllr2GAQDbDSxPgBACzWx
	 KSxk4oRc8Zn/UtZlQzFpp3QJsBfGMjSmgXGq0gfGoYKPkfgyFCEmPkxeIvUB3Y5XZi
	 uEn1Vcpht2/TQ==
Date: Thu, 6 Mar 2025 17:59:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: 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>
Subject: Re: [PATCH 10/23] xen/arm: dom0less delay xenstore initialization
In-Reply-To: <20250306220343.203047-11-jason.andryuk@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503061758220.2600338@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-11-jason.andryuk@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 6 Mar 2025, Jason Andryuk wrote:
> To allocate the xenstore event channel and initialize the grant table
> entry, the xenstore domid is neeed.  A dom0 is craeted before the domUs,
> so it is normally available through hardware_domain.  With capabilities
> and dom0less, the xenstore domain may not be created first.
> 
> Keep the population of the page and HVM_PARAM_STORE_PFN in the normal
> domain construction, but delay event channel and seeding to after all
> domUs are created.  HVM_PARAM_STORE_PFN now serves as indication to
> setup xenstore since the device tree is no longer immediately available.
> 0 means no xenstore.  ~0ULL means legacy so only the event channel needs
> setup, and any other value means to seed the page.
> 
> dom0 needs to set xs_domid when it is serving as the xenstore domain.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
>  xen/arch/arm/dom0less-build.c             | 71 +++++++++++++++--------
>  xen/arch/arm/domain_build.c               |  1 +
>  xen/arch/arm/include/asm/dom0less-build.h |  2 +
>  3 files changed, 51 insertions(+), 23 deletions(-)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index f1d5bbb097..3b8153b05e 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -22,6 +22,12 @@
>  #include <asm/static-shmem.h>
>  
>  static domid_t __initdata xs_domid = DOMID_INVALID;
> +static bool __initdata need_xenstore;
> +
> +void __init set_xs_domid(domid_t domid)
> +{
> +    xs_domid = domid;
> +}
>  
>  bool __init is_dom0less_mode(void)
>  {
> @@ -697,7 +703,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
>      int rc;
>  
>      alloc.dom = d->domain_id;
> -    alloc.remote_dom = hardware_domain->domain_id;
> +    alloc.remote_dom = xs_domid;
>      rc = evtchn_alloc_unbound(&alloc, 0);
>      if ( rc )
>      {
> @@ -755,10 +761,6 @@ static int __init alloc_xenstore_page(struct domain *d)
>      interface->connection = XENSTORE_RECONNECT;
>      unmap_domain_page(interface);
>  
> -    if ( xs_domid != DOMID_INVALID )
> -        gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
> -                          gfn_x(gfn), GTF_permit_access);
> -
>      return 0;
>  }
>  
> @@ -767,16 +769,10 @@ static int __init alloc_xenstore_params(struct kernel_info *kinfo)
>      struct domain *d = kinfo->d;
>      int rc = 0;
>  
> -    if ( kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
> -    {
> -        ASSERT(hardware_domain);
> -        rc = alloc_xenstore_evtchn(d);

This patch looks correct. However, I don't understand why you didn't
keep the call to alloc_xenstore_evtchn in alloc_xenstore_params.


> -        if ( rc < 0 )
> -            return rc;
> +    if ( (kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY))
> +                                 == (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
>          d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
> -    }
> -
> -    if ( kinfo->dom0less_feature & DOM0LESS_XENSTORE )
> +    else if ( kinfo->dom0less_feature & DOM0LESS_XENSTORE )
>      {
>          rc = alloc_xenstore_page(d);
>          if ( rc < 0 )
> @@ -848,6 +844,34 @@ static void __init domain_vcpu_affinity(struct domain *d,
>      }
>  }
>  
> +static void __init initialize_domU_xenstore(void)
> +{
> +    struct domain *d;
> +
> +    if ( xs_domid == DOMID_INVALID )
> +        return;
> +
> +    for_each_domain( d )
> +    {
> +        unsigned long gfn = d->arch.hvm.params[HVM_PARAM_STORE_PFN];
> +        int rc;
> +
> +        if ( gfn == 0 )
> +            continue;
> +
> +        if ( is_xenstore_domain(d) )
> +            continue;
> +
> +        rc = alloc_xenstore_evtchn(d);
> +        if ( rc < 0 )
> +            panic("%pd: Failed to allocate xenstore_evtchn\n", d);
> +
> +        if ( gfn != ~0ULL )
> +            gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
> +                              gfn, GTF_permit_access);
> +    }
> +}
> +
>  static int __init construct_domU(struct domain *d,
>                                   const struct dt_device_node *node)
>  {
> @@ -888,17 +912,13 @@ static int __init construct_domU(struct domain *d,
>           rc == -ENODATA ||
>           (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
>      {
> -        if ( hardware_domain )
> -            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
> -        else
> -            panic("At the moment, Xenstore support requires dom0 to be present\n");
> +        need_xenstore = true;
> +        kinfo.dom0less_feature = DOM0LESS_ENHANCED;
>      }
>      else if ( rc == 0 && !strcmp(dom0less_enhanced, "legacy") )
>      {
> -        if ( hardware_domain )
> -            kinfo.dom0less_feature = DOM0LESS_ENHANCED_LEGACY;
> -        else
> -            panic("At the moment, Xenstore support requires dom0 to be present\n");
> +        need_xenstore = true;
> +        kinfo.dom0less_feature = DOM0LESS_ENHANCED_LEGACY;
>      }
>      else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
>          kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
> @@ -1181,8 +1201,13 @@ void __init create_domUs(void)
>                    dt_node_name(node), rc);
>  
>          if ( d_cfg.flags & XEN_DOMCTL_CDF_xs_domain )
> -            xs_domid = d->domain_id;
> +            set_xs_domid(d->domain_id);
>      }
> +
> +    if ( need_xenstore && xs_domid == DOMID_INVALID )
> +        panic("xenstore requested, but xenstore domain not present\n");
> +
> +    initialize_domU_xenstore();
>  }
>  
>  /*
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 00bc484642..ba6bbb95c1 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2373,6 +2373,7 @@ void __init create_dom0(void)
>      unsigned int flags = CDF_privileged | CDF_hardware;
>      int rc;
>  
> +    set_xs_domid(0);
>      /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>      dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
>      /*
> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
> index 5864944bda..df879f93c8 100644
> --- a/xen/arch/arm/include/asm/dom0less-build.h
> +++ b/xen/arch/arm/include/asm/dom0less-build.h
> @@ -9,6 +9,7 @@
>  
>  void create_domUs(void);
>  bool is_dom0less_mode(void);
> +void set_xs_domid(domid_t);
>  
>  #else /* !CONFIG_DOM0LESS_BOOT */
>  
> @@ -17,6 +18,7 @@ static inline bool is_dom0less_mode(void)
>  {
>      return false;
>  }
> +static inline void set_xs_domid(domid_t) {}
>  
>  #endif /* CONFIG_DOM0LESS_BOOT */
>  
> -- 
> 2.48.1
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 06:46:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 06:46:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904574.1312423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqRT8-000304-JH; Fri, 07 Mar 2025 06:46:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904574.1312423; Fri, 07 Mar 2025 06:46: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 1tqRT8-0002zx-GY; Fri, 07 Mar 2025 06:46:02 +0000
Received: by outflank-mailman (input) for mailman id 904574;
 Fri, 07 Mar 2025 06: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqRT6-0002zo-AZ
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 06:46:00 +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 d172665c-fb1f-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 07:45:55 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43bccfa7b89so12249805e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 22:45:54 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd4292b06sm71567795e9.14.2025.03.06.22.45.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 22:45:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d172665c-fb1f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741329954; x=1741934754; 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=quyTqgKjxX51WvfCbFzKIoqY3JS/tsWKJIymCFM6deg=;
        b=bVy+AppBq/daJ9w1mG9bTtnixbtQFgk3xix+dmqw6oK0rhu9lgOFgT8mRfwv2hoA+p
         cX0fWjINuXqE/VV8C9qyXbuXd3yzAvdgnzAYvsTzfdn6WVRbKGxzABwfz8pvlC3f6ojA
         2BfHbSpUUJ1nmn/OfsmeUJBBWiqSm2HuvZnQbsm1PJ3sjkrQB9Mn80WGrG/rhAVXzYUF
         ZumqbSDBbRx9S/ZDiG8C7NfeoAQYkdCVBObSva+0soKrr1RpSg5p5nWNlmsHqvRgTxCj
         /UnVp6oogqJuXf1nIS7ZRTMB/CI5XoVLHYIwomjmXLU2udFgY8TqH79D2EZsee413VPw
         Sy8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741329954; x=1741934754;
        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=quyTqgKjxX51WvfCbFzKIoqY3JS/tsWKJIymCFM6deg=;
        b=hIR3GNcy/b8f1gpH1EUvZDxf6MAGkaeFnqEYXcJOBSJhaJK7Lq03NSiwrEsbWMXhkf
         fvdbB9/ihnXzAenDvjU+ajuwP8G2Tk7DIDWnoUPe0IGxOEJylOsXK43M3hnj/BqeqErP
         i1viE97LWoSk4DYnrXCOda5Mere+eFD9xCTXqFwSXZnmfQuvSXTTZpMzxnf+bl5FjW4D
         bEgEi4HE/FK7ue4LpTtsyQgDKNTv/IrHVrkG1C8JqomgbH+tqdpbjScA/PnAFFHxRhFe
         LML1CwRxCcC+12TGR9DT2T4LnG4oglj+D+9vMmGPwwUCokUXHyX5MLNZA1HSTkxtY8HX
         WLcg==
X-Forwarded-Encrypted: i=1; AJvYcCV+JFWbUPupAIRxnR8WgWNqxnAXMfnJvyETNop3CBhY6k/9aAz/Yv5OJ8ZQShjphQpUfs74oXpEIfY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLVytAq0CBJ/JUgELReb3Dg5lS0MV+hef/XQy8yAhmX8Bh4ESS
	nXB9xaEVUcB7Wpymkg23HG3foEbYVIKyVdt0pmC2mAuyRBbatMelltwpwuR4kQ==
X-Gm-Gg: ASbGncsNHYz9iKqYy2O/zPht90keD6yX6k+v+KwE1uT2T0AWKgyvPbKrMNAeYQXs0yY
	rY8mrzjmPPz0TH6hbiZEtd5TfMTWp/t+BHijA5kuFqQyWsPx9GBv6mHxVfbsyCu6A02qSzmsycT
	MG2w/E6IBk8/IpWuPFQROdaXxXC0GAA/DByze/o2Ugrj50yvg0ujseUqT0jSVkcT35zHW0Q9g8i
	lQSvtve4KbADpoS9NwdW3MrF5Jir0rRpGS7DK7EojJdTQlY7+1GihufbTryYYLdowfDpXLfJSL+
	eFFOdhjHQcN7uPD8z6KaYLQNMPhEhntOZWZznPAEQ9LuY+0ksKHGHjPDpI9zyiVmJbZfES1osSl
	/8qZ9AxHvW80DglscS/Py4Ay1yBkMOg==
X-Google-Smtp-Source: AGHT+IFEessieloPhN4O7ic7amXUZp/f1NlL+crEiN2vFkJ5MqvPxZw2xIxvKloWRIHm64OtslgBdg==
X-Received: by 2002:a05:600c:3590:b0:439:5a37:815c with SMTP id 5b1f17b1804b1-43c6020845bmr12056485e9.20.1741329954249;
        Thu, 06 Mar 2025 22:45:54 -0800 (PST)
Message-ID: <fb3ccb67-9699-4a68-84ea-236fe33335bc@suse.com>
Date: Fri, 7 Mar 2025 07:45:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@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: <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 21:19, Andrew Cooper wrote:
> On 05/03/2025 7:34 am, Jan Beulich wrote:
>> On 28.02.2025 17:24, Andrew Cooper wrote:
>>> On 27/02/2025 8:11 am, Jan Beulich wrote:
>>>> On 26.02.2025 18:20, Andrew Cooper wrote:
>>>>> --- a/xen/arch/riscv/include/asm/bitops.h
>>>>> +++ b/xen/arch/riscv/include/asm/bitops.h
>>>>> @@ -125,6 +125,13 @@ static inline void clear_bit(int nr, volatile void *p)
>>>>>  #undef NOT
>>>>>  #undef __AMO
>>>>>  
>>>>> +#define arch_ffs(x)     ((x) ? 1 + __builtin_ctz(x) : 0)
>>>>> +#define arch_ffsl(x)    ((x) ? 1 + __builtin_ctzl(x) : 0)
>>>>> +#define arch_fls(x)     ((x) ? 32 - __builtin_clz(x) : 0)
>>>> I fear you won't like me to say this, but can't we avoid baking in yet
>>>> another assumption on sizeof(int) == 4, by using at least sizeof(int) * 8
>>>> here (yet better might be sizeof(int) * BITS_PER_BYTE)?
>>> Yes and no.
>>>
>>> No, because 32 here is consistent with ARM and PPC when it comes to
>>> arch_fls().Â  Given the effort it took to get these consistent, I'm not
>>> interested in letting them diverge.
>>>
>>> But, if someone wants to introduce BITS_PER_INT to mirror BITS_PER_LONG
>>> and use it consistently, then that would be ok too.
> 
> Oleksii: I see your patch is committed, but when I said "use it
> consistently", I meant "patch ARM and PPC too".
>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>> retain a shorthand of that name, if so desired, but I see no reason why
>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
> 
> The concern is legibility and clarity.
> 
> This:
> 
> Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
> 
> is a clear expression in a way that this:
> 
> Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
> 
> is not.Â  The problem is the extra binary expression, and this:
> 
> Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
> 
> is still clear, because the reader doesn't have to perform a multiply to
> just to figure out what's going on.
> 
> 
> It is definitely stupid to have each architecture provide their own
> BITS_PER_*.Â  The compiler is in a superior position to provide those
> details, and it should be in a common location.
> 
> I don't particularly mind how those constants are derived, but one key
> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.

This is a fair point indeed.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 06:59:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 06:59:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904583.1312433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqRfk-0008WC-MR; Fri, 07 Mar 2025 06:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904583.1312433; Fri, 07 Mar 2025 06:59: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 1tqRfk-0008W5-Jn; Fri, 07 Mar 2025 06:59:04 +0000
Received: by outflank-mailman (input) for mailman id 904583;
 Fri, 07 Mar 2025 06:59: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqRfk-0008Vz-0Q
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 06:59:04 +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 a6f1a52e-fb21-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 07:59:02 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-390eebcc331so923279f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 22:59:02 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8da097sm42929185e9.17.2025.03.06.22.59.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 22:59:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6f1a52e-fb21-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741330742; x=1741935542; 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=8wyvEdczGpWizVGjAAtGsizqbzD28+n1382w2Q2Yo9Y=;
        b=WQdy0otQDqcWlQ00cO2kaxZezqs369UKXVtmVKoZLv+p73pFOCa7qtIlJl52hXkv/0
         JKl0CRSnOsbj+2SX2ozc/7UHGi+h4ueD/+63rzEntEvCdh4HVcHjRot4C2iZgeWyXJcH
         JycU2pGWljDCW587eSstrS7sxxgjFXz4OYSThMqgT6dnTvKAK0YiHR1lLCAyqR1/7eQD
         G8bC4/nSyjokeWOto5g5+ygKsRbYsOwLR00rxHCas6ejX8Rx1jjVz2oI7WMSgSDhRYoN
         g2ZxQDOZLmEB48hIAIpMGrOl/C6j1dHdILI0lwvevfnwqf/q5FDypfM95SNM01FZcKb+
         Z4tQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741330742; x=1741935542;
        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=8wyvEdczGpWizVGjAAtGsizqbzD28+n1382w2Q2Yo9Y=;
        b=a2A1fvJ+SejQ0stCI5V8M0lH1WKFjnvonp+wduAkaYBa0zlx7gCAnnGwcxa+Bz1N2y
         I/R1ZXgd59qaNXkRa4nmBLoXXdZ5qVqnjrLV11pSRaNXq54IVVNgpi9DXpigCF18aqHz
         03GuDNo5DWiyUC1p3CvRtKhu9v92j/XPForbQF5RHP+Fqk1vH+ADrMQ1Pjk8rRuq+2HP
         7YwnF/MSSpfxjnt1mAIw0iPPNcl8ms9zVAaYDnxHGuQ9MKZhgug2TE/yqg/I3fEL6ySk
         q0KHCG7YhrmfZZpoXP3Zjcir5BXOSNce0K20r/ChcYXuITi8iZ7ZyXm1ZTiTjQEjHAou
         b30g==
X-Forwarded-Encrypted: i=1; AJvYcCUUcYIOHpyD/w6lR9+OYYilHlAukptSZUGoE+In+a8SPEi1VmoIr4a43Hf8GwaM8yRKr/YFtkg1exE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4dMBofLcZev67d4zLe4cNpt7bG5ZqJbY5zGp0IODWV5b3sz4n
	tyPrm/RqPwKUrgO0xI46amKY76My7CrotckehmEgnerPgQeD2HUdoetYFIjPsQ==
X-Gm-Gg: ASbGncvXzCCbgzCKOqmKiJfmuw39d4CiS3YKO8M5fhSIFaWHckRBM4BCtzGOgLy1aKE
	6xe/6W5dw1vVQwDbTyDRprLuune9MJrifvvd6GIxHehPl0vCLLl3TeEPaHKhZDKHVPcr7ubgvoS
	rHCC2o70rafqJiETx4SQV3F6jeyv5Zn9XdglOZ+3QDQSRZm8Gpw/ptvRHd9v4WidIvn8wpLVx32
	f5lKqea2SSKCyOlSdqxc7OqT6jYxdRId1ReP+mPc+6rczEmj14hvMYAlEke6hADebNh+0jwOJpw
	QUemCYRrsdM/ib0cFTEYMj/ea/nRF/hQ4bOdy7v1dNv/hP766lNEi5MkWEdmmCfq4Qi67QIaIew
	oU3s88Szu0KXPsNoP7Z4NXtvY9nBCxg==
X-Google-Smtp-Source: AGHT+IE5vcZz3t/1VI8X2rhG6LIhDSoEgAzGWuW0O+IhDM7Oa3j5x8TxiMkMD523NYOMd3SgjTcSdQ==
X-Received: by 2002:a05:6000:1888:b0:390:e904:63ee with SMTP id ffacd0b85a97d-3912982e891mr3970918f8f.17.1741330742073;
        Thu, 06 Mar 2025 22:59:02 -0800 (PST)
Message-ID: <8166d698-9761-40d6-a4c0-c7614d97367e@suse.com>
Date: Fri, 7 Mar 2025 07:59:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Don't cast away const-ness in vcpu_show_registers()
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250225230213.1248136-1-andrew.cooper3@citrix.com>
 <7e77dceb-489b-4022-a665-2a008ddfe844@suse.com>
 <f62841d3-b0e4-4007-a056-a807a19fc988@citrix.com>
 <98998559-27d6-4b65-bd45-cb1755d48564@suse.com>
 <5eadc0e9-54ce-464c-80fe-e7b7cfd45ecf@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: <5eadc0e9-54ce-464c-80fe-e7b7cfd45ecf@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07.03.2025 00:17, Andrew Cooper wrote:
> On 05/03/2025 7:53 am, Jan Beulich wrote:
>> On 03.03.2025 17:52, Andrew Cooper wrote:
>>> On 26/02/2025 7:33 am, Jan Beulich wrote:
>>>> On 26.02.2025 00:02, Andrew Cooper wrote:
>>>>> The final hunk is `(struct vcpu *)v` in disguise, expressed using a runtime
>>>>> pointer chase through memory and a technicality of the C type system to work
>>>>> around the fact that get_hvm_registers() strictly requires a mutable pointer.
>>>>>
>>>>> For anyone interested, this is one reason why C cannot optimise any reads
>>>>> across sequence points, even for a function purporting to take a const object.
>>>>>
>>>>> Anyway, have the function correctly state that it needs a mutable vcpu.  All
>>>>> callers have a mutable vCPU to hand, and it removes the runtime pointer chase
>>>>> in x86.
>>>>>
>>>>> Make one style adjustment in ARM while adjusting the parameter type.
>>>>>
>>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>>>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>>>>
>>>>> RISC-V and PPC don't have this helper yet, not even in stub form.
>>>>>
>>>>> I expect there will be one objection to this patch.  Since the last time we
>>>>> fought over this, speculative vulnerabilities have demonstrated how dangerous
>>>>> pointer chases are, and this is a violation of Misra Rule 11.8, even if it's
>>>>> not reasonable for Eclair to be able to spot and reject it.
>>>> On these grounds
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>> Thanks.
>>>
>>>> irrespective of the fact that a function of this name and purpose really, really
>>>> should be taking a pointer-to-const.
>>> No - this is a perfect example of why most functions should *not* take
>>> pointer-to-const for complex objects.
>>>
>>> There is no such thing as an actually-const vcpu or domain; they are all
>>> mutable.Â  The reason why x86 needs a strictly-mutable pointer is because
>>> it needs to take a spinlock to negotiate for access to a hardware
>>> resource to read some of the registers it needs.
>>>
>>> This is where there is a semantic gap between "logically doesn't modify"
>>> and what the C keyword means.
>> And hence (in part) why C++ gained "mutable" ages ago.
> 
> Sure.Â  If we were writing in C++, then an internal splinlock being
> mutable would be a fine thing.
> 
> But we're writing in a language where there is no such concept.
>>> Anything except the-most-trivial trivial predates may reasonably need to
>>> take a spinlock or some other safety primitive, even just to read
>>> information.
>>>
>>>
>>> Because this was gratuitously const in the first place, bad code was put
>>> in place of making the prototype match reality.
>>>
>>> This demonstrates a bigger failing in how code is reviewed and
>>> maintained.Â  It is far too frequent that requests to const things don't
>>> even compile.Â  It is also far too frequent that requests to const things
>>> haven't read the full patch series to realise why not.Â  Both of these
>>> are a source of friction during review.
>>>
>>> But more than that, even if something could technically be const right
>>> now, the request to do so forces churn into a future patch to de-const
>>> it in order to make a clean change.Â  And for contributors who aren't
>>> comfortable saying a firm no to a maintainer, this turns into a bad hack
>>> instead.
>>>
>>> i.e. requests to const accessors for complexity objects are making Xen
>>> worse, not better, and we should stop doing it.
>> Okay, let's agree that we don't agree in our perspectives here.
> 
> I'm not saying this to be mean.Â  If C could do something like C++'s
> mutable, then this wouldn't be an issue.
> 
> But, I have lost count of the number of times I have had to reject
> requests of yours to const a pointer, on the basis that it can't
> compile.Â  Your review feedback cost one of my team-members a week trying
> to fulfil a const request before asking me for help, and it was another
> impossible example.
> 
> Of all feedback given by reviewers (it's not only you), requests to
> const are the ones that are most often wrong in my experience.

I am entirely certain you're wrong here, unless maybe you mean solely
comments on patches of yours. There are far too many places where we're
still lacking const, and people are copying such instances far too
blindly.

>Â  Probably
> only ~50% of requests are correct, yet it takes a very seasoned
> developer to come back and say "no, that doesn't compile", because
> that's really a "I think you're wrong" needing knowledge in a subtle
> part of the language.
> 
> My request is to all reviewers.Â  Please take far more care before asking
> for const.Â  There are absolutely cases where it's right, but a false
> request is more problematic than it appears at the surface.

I am attempting to be quite careful with such requests, but as for any
review comment mistakes / oversights happen. Furthermore relatively
often I put such comments as questions, in the hope to indicates this
way that the change request depends on the result actually building
fine. In fact things not building doesn't necessarily mean the comment
was outright wrong - it often means code elsewhere isn't properly
constified.

My request to all submitters: Constify your patches properly up front.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 07:01:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 07:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904595.1312445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqRiB-0002Vm-5X; Fri, 07 Mar 2025 07:01:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904595.1312445; Fri, 07 Mar 2025 07:01: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 1tqRiB-0002Vf-1h; Fri, 07 Mar 2025 07:01:35 +0000
Received: by outflank-mailman (input) for mailman id 904595;
 Fri, 07 Mar 2025 07:01: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqRi9-0002VZ-Gt
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 07:01:33 +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 ff91d19f-fb21-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 08:01:31 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43bc30adad5so9020215e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 23:01:31 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8b04edsm41908595e9.1.2025.03.06.23.01.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 23:01:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff91d19f-fb21-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741330891; x=1741935691; 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=RS476B2SU7qQlYR+uylKs0Zico0mizTgEw12o/5AepI=;
        b=ZQi308/Q0Jwto+yjhNhO12gjs4DiTpSPYUahz3VZsQNxJ0y2+WfSJK0GcY+M4dxOWu
         ackp6HdwYxuZ3n20eHJZiBH03BFtMgMi72IQhyyJ1jp96dgoDhiFaQfyAnj6d9ChM7iG
         js+aQG0KCxHZ/QojzXSDGmyCfns8h0ar48Yq80s07YaiQ45tfqc1N91TU6Z5G2auTM7Z
         TqyIzoO3NajYkL2a46ZDQSvtHZb45wH8Ek9iO7oZHtD0Xi0seojrqVU/+YDrpGnCLz/w
         GmuFf/5uXnY6hvYGpG+uwOP40512+rFDmdAKDKtptKlwc+7UIPB/WE0R5aZhmWHMNlCx
         T/mA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741330891; x=1741935691;
        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=RS476B2SU7qQlYR+uylKs0Zico0mizTgEw12o/5AepI=;
        b=Zncq7VNN5F2EEi8g4eLfDbcGqwYqB1BkSYkca/9KOtjc0ZTbXVP8n/JjZUc1HxZVGp
         zvVAVW27Z59bxW/wg7sM07c/eWCUE8YfolstKhtuYSf3sB00O9gtCc4vcNXJihcwkjQV
         iCqtUO7spgaO/kAJZqF53WYygNvwmGoox+8VitGNMifrT3pTmzZkriJPO0hF8b3IGoZD
         SnCYuIy2xRAYSXHP9VHDP5D/xLbskuvo9hZ7klJnIb6Ix05izo/NGQLOmFdxwtIQRU1f
         7q72v/ndqBgqrx4mAjKUJxOIJtQmtGODLmlRw4l7zP1WvuqQqtv0s9kbnm6gOMLWldyg
         gZjw==
X-Forwarded-Encrypted: i=1; AJvYcCXISVthSWlheDNJ3oRBjzDxpGEX6ks6rhuiJ3khroFPmOHnPUlxpV2Lsq4ZuJ3QflKTvrXnpbvWt9g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzP3/JtkN6340KFzGL+Sekl4DgQriDFYCGT+02hyY0wtXNOIrp9
	TFbO/y3K0kjhDjOxXuecqTLgJxILCWT28XPNurSKj8um5WDZVTmGzcnbMHH1gA==
X-Gm-Gg: ASbGnct/rTpVBWj3Ny8iYmHP88m+GvLP2AQuCBk6SwipXyIrOfXoWrQuO9g3HIz8Kq+
	Sct2s1A3KMzdjEJsHlaQ9bvnQkmAluxzrRJV9hJjiR2c9i0NqKWM1utEVkvIaj9PZsL89O8gOos
	YfZNTsJ9wYfEQMRF6Jeb3ZrBohpXFE6iqTcObu07p47E8HniGoHovDSzeD+naMTsQ4h2JBxBzP3
	yZmbmdVtytj3uc6Vmzz28/1vD75/AAbSwfSoOAz7A0KZLcWw9eVUhtTJFCUC8/8AiPE6fBuzEam
	GOTSH6Uqgf9buVESZCqZNiSMCYlRac+6uzyd4eeP4hA46IJhERsnQNuMA8EyezU41oxEV/xunFv
	p95hKapQXdc1OCeb89w3P7GlUq2U5EQ==
X-Google-Smtp-Source: AGHT+IGmoZW+VEw6IvVZ7XdWfaJbp+g7koPT2ud0KSDjbnUyZLKwe35qN37yTOlkeEXi2sv+Ch5RRA==
X-Received: by 2002:a05:600c:4884:b0:439:9d75:9e7d with SMTP id 5b1f17b1804b1-43cd169b4d8mr4051965e9.22.1741330890737;
        Thu, 06 Mar 2025 23:01:30 -0800 (PST)
Message-ID: <f2ad2751-8b00-4541-a372-d754c84f955c@suse.com>
Date: Fri, 7 Mar 2025 08:01:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/domain: Annotate struct domain as page aligned
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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250303232941.2641306-1-andrew.cooper3@citrix.com>
 <20250303232941.2641306-2-andrew.cooper3@citrix.com>
 <abffca04-ca4f-4d62-8c2d-c687550ca8c3@suse.com>
 <7da64dd1-2510-440f-b165-f64c0a873575@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: <7da64dd1-2510-440f-b165-f64c0a873575@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 22:29, Andrew Cooper wrote:
> On 05/03/2025 9:23 am, Jan Beulich wrote:
>> On 04.03.2025 00:29, Andrew Cooper wrote:
>>> --- a/xen/include/xen/sched.h
>>> +++ b/xen/include/xen/sched.h
>>> @@ -645,7 +645,7 @@ struct domain
>>>      unsigned int num_llc_colors;
>>>      const unsigned int *llc_colors;
>>>  #endif
>>> -};
>>> +} __aligned(PAGE_SIZE);
>>>  
>>>  static inline struct page_list_head *page_to_list(
>>>      struct domain *d, const struct page_info *pg)
>> I understand struct domain is where you need the annotation right away, but is
>> there a reason not to do the same for struct vcpu right away?
> 
> struct vcpu is more complicated.Â  It's multi-page on ARM, and I have a
> strong suspicion that alignment is going to have to change away from
> PAGE_SIZE for architectures wanting to use larger page sizes.
> 
> e.g. with 64k pagetables, I expect these will still want 4k alignment,
> and therefore they'll all want changing. i.e. I'm probably creating less
> work for someone in the future by not annotating struct vcpu. ~Andrew

Wouldn't the same hold for struct domain?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 07:05:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 07:05:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904604.1312454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqRlk-00035a-Jn; Fri, 07 Mar 2025 07:05:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904604.1312454; Fri, 07 Mar 2025 07: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 1tqRlk-00035T-GI; Fri, 07 Mar 2025 07:05:16 +0000
Received: by outflank-mailman (input) for mailman id 904604;
 Fri, 07 Mar 2025 07:05: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=uQHP=V2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqRli-00035L-UJ
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 07:05:14 +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 82fc4e90-fb22-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 08:05:11 +0100 (CET)
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 45C431F766;
 Fri,  7 Mar 2025 07:05:11 +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 C3BCF13939;
 Fri,  7 Mar 2025 07:05:10 +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 DXxSLqaaymdDGgAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 07 Mar 2025 07:05: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: 82fc4e90-fb22-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741331111; 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=IzTrtNRwD750t1JBnHw9fIxPCdnuvWII1rgrzMHkIbY=;
	b=n8ykz+wGFLaGSUPa5okgW9Z/3JEYTIJ4nK30DxlSD3+NpDmUo2FE+RnsBbYan09yQ9Dhiz
	bRgpXO1CYf7SnTTnEAyIvEcvtZ0jn5tQHIitMmPobv8166CWXzhKvNdNCIYfiMm/PHHwk/
	hNIgq32euU2q1SZbv34XDu6S0qBdbs8=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741331111; 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=IzTrtNRwD750t1JBnHw9fIxPCdnuvWII1rgrzMHkIbY=;
	b=n8ykz+wGFLaGSUPa5okgW9Z/3JEYTIJ4nK30DxlSD3+NpDmUo2FE+RnsBbYan09yQ9Dhiz
	bRgpXO1CYf7SnTTnEAyIvEcvtZ0jn5tQHIitMmPobv8166CWXzhKvNdNCIYfiMm/PHHwk/
	hNIgq32euU2q1SZbv34XDu6S0qBdbs8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH] xen/events: fix global virq handling
Date: Fri,  7 Mar 2025 08:05:07 +0100
Message-ID: <20250307070507.30102-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.30
X-Spamd-Result: default: False [-1.30 / 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)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TAGGED_RCPT(0.00)[];
	ARC_NA(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[16];
	MIME_TRACE(0.00)[0:+];
	FREEMAIL_CC(0.00)[suse.com,kernel.org,xen.org,arm.com,amd.com,epam.com,citrix.com,vates.tech,raptorengineering.com,wdc.com,gmail.com];
	RCVD_TLS_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 

VIRQs are split into "global" and "per vcpu" ones. Unfortunately in
reality there are "per domain" ones, too.

send_global_virq() and set_global_virq_handler() make only sense for
the real "global" ones, so replace virq_is_global() with a new
function get_virq_type() returning one of the 3 possible types (global,
domain, vcpu VIRQ).

Fixes: 980822c5edd1 ("xen/events: allow setting of global virq handler only for unbound virqs")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
As I don't have much time today (I'm having a day off), only compile
tested. Please try a CI run with this patch before applying!

 xen/arch/arm/include/asm/event.h   |  4 ++--
 xen/arch/ppc/include/asm/event.h   |  4 ++--
 xen/arch/riscv/include/asm/event.h |  4 ++--
 xen/arch/x86/include/asm/event.h   |  6 +++---
 xen/common/event_channel.c         | 34 +++++++++++++++++-------------
 xen/include/xen/sched.h            |  6 ++++++
 6 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/include/asm/event.h b/xen/arch/arm/include/asm/event.h
index b14c166ad6..509157b2b3 100644
--- a/xen/arch/arm/include/asm/event.h
+++ b/xen/arch/arm/include/asm/event.h
@@ -47,9 +47,9 @@ static inline void local_event_delivery_enable(void)
 }
 
 /* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 #endif
diff --git a/xen/arch/ppc/include/asm/event.h b/xen/arch/ppc/include/asm/event.h
index 1b95ee4f61..0f475c4b89 100644
--- a/xen/arch/ppc/include/asm/event.h
+++ b/xen/arch/ppc/include/asm/event.h
@@ -17,9 +17,9 @@ static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
 }
 
 /* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 static inline int local_events_need_delivery(void)
diff --git a/xen/arch/riscv/include/asm/event.h b/xen/arch/riscv/include/asm/event.h
index c7bb8c0fa6..116434c665 100644
--- a/xen/arch/riscv/include/asm/event.h
+++ b/xen/arch/riscv/include/asm/event.h
@@ -24,9 +24,9 @@ static inline void local_event_delivery_enable(void)
 }
 
 /* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 #endif /* ASM__RISCV__EVENT_H */
diff --git a/xen/arch/x86/include/asm/event.h b/xen/arch/x86/include/asm/event.h
index 5e09ede6d7..434f65007e 100644
--- a/xen/arch/x86/include/asm/event.h
+++ b/xen/arch/x86/include/asm/event.h
@@ -41,10 +41,10 @@ static inline void local_event_delivery_enable(void)
     vcpu_info(current, evtchn_upcall_mask) = 0;
 }
 
-/* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+/* Only global arch specific virq definitions. */
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 #ifdef CONFIG_PV_SHIM
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index c68aa97135..0fcdec8a40 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -127,7 +127,7 @@ static struct domain *get_global_virq_handler(unsigned int virq)
     return global_virq_handlers[virq] ?: hardware_domain;
 }
 
-static bool virq_is_global(unsigned int virq)
+static enum virq_type get_virq_type(unsigned int virq)
 {
     switch ( virq )
     {
@@ -135,14 +135,17 @@ static bool virq_is_global(unsigned int virq)
     case VIRQ_DEBUG:
     case VIRQ_XENOPROF:
     case VIRQ_XENPMU:
-        return false;
+        return VIRQ_VCPU;
+
+    case VIRQ_ARGO:
+        return VIRQ_DOMAIN;
 
     case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
-        return arch_virq_is_global(virq);
+        return arch_get_virq_type(virq);
     }
 
     ASSERT(virq < NR_VIRQS);
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 static struct evtchn *_evtchn_from_port(const struct domain *d,
@@ -476,7 +479,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, evtchn_port_t port)
     struct domain *d = current->domain;
     int            virq = bind->virq, vcpu = bind->vcpu;
     int            rc = 0;
-    bool           is_global;
+    enum virq_type type;
 
     if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) )
         return -EINVAL;
@@ -486,9 +489,9 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, evtchn_port_t port)
     * speculative execution.
     */
     virq = array_index_nospec(virq, ARRAY_SIZE(v->virq_to_evtchn));
-    is_global = virq_is_global(virq);
+    type = get_virq_type(virq);
 
-    if ( is_global && vcpu != 0 )
+    if ( type != VIRQ_VCPU && vcpu != 0 )
         return -EINVAL;
 
     if ( (v = domain_vcpu(d, vcpu)) == NULL )
@@ -496,7 +499,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, evtchn_port_t port)
 
     write_lock(&d->event_lock);
 
-    if ( is_global && get_global_virq_handler(virq) != d )
+    if ( type == VIRQ_GLOBAL && get_global_virq_handler(virq) != d )
     {
         rc = -EBUSY;
         goto out;
@@ -756,7 +759,8 @@ int evtchn_close(struct domain *d1, int port1, bool guest)
         if ( chn1->u.virq == VIRQ_DOM_EXC )
             domain_deinit_states(d1);
 
-        v = d1->vcpu[virq_is_global(chn1->u.virq) ? 0 : chn1->notify_vcpu_id];
+        v = d1->vcpu[get_virq_type(chn1->u.virq) != VIRQ_VCPU
+            ? 0 : chn1->notify_vcpu_id];
 
         write_lock_irqsave(&v->virq_lock, flags);
         ASSERT(read_atomic(&v->virq_to_evtchn[chn1->u.virq]) == port1);
@@ -900,7 +904,7 @@ bool evtchn_virq_enabled(const struct vcpu *v, unsigned int virq)
     if ( !v )
         return false;
 
-    if ( virq_is_global(virq) && v->vcpu_id )
+    if ( get_virq_type(virq) != VIRQ_VCPU && v->vcpu_id )
         v = domain_vcpu(v->domain, 0);
 
     return read_atomic(&v->virq_to_evtchn[virq]);
@@ -913,7 +917,7 @@ void send_guest_vcpu_virq(struct vcpu *v, uint32_t virq)
     struct domain *d;
     struct evtchn *chn;
 
-    ASSERT(!virq_is_global(virq));
+    ASSERT(get_virq_type(virq) == VIRQ_VCPU);
 
     read_lock_irqsave(&v->virq_lock, flags);
 
@@ -940,7 +944,7 @@ void send_guest_global_virq(struct domain *d, uint32_t virq)
     struct vcpu *v;
     struct evtchn *chn;
 
-    ASSERT(virq_is_global(virq));
+    ASSERT(get_virq_type(virq) != VIRQ_VCPU);
 
     if ( unlikely(d == NULL) || unlikely(d->vcpu == NULL) )
         return;
@@ -995,7 +999,7 @@ static DEFINE_SPINLOCK(global_virq_handlers_lock);
 
 void send_global_virq(uint32_t virq)
 {
-    ASSERT(virq_is_global(virq));
+    ASSERT(get_virq_type(virq) == VIRQ_GLOBAL);
 
     send_guest_global_virq(get_global_virq_handler(virq), virq);
 }
@@ -1008,7 +1012,7 @@ int set_global_virq_handler(struct domain *d, uint32_t virq)
 
     if (virq >= NR_VIRQS)
         return -EINVAL;
-    if (!virq_is_global(virq))
+    if (get_virq_type(virq) != VIRQ_GLOBAL)
         return -EINVAL;
 
     if (global_virq_handlers[virq] == d)
@@ -1204,7 +1208,7 @@ int evtchn_bind_vcpu(evtchn_port_t port, unsigned int vcpu_id)
     switch ( chn->state )
     {
     case ECS_VIRQ:
-        if ( virq_is_global(chn->u.virq) )
+        if ( get_virq_type(chn->u.virq) != VIRQ_VCPU )
             chn->notify_vcpu_id = v->vcpu_id;
         else
             rc = -EINVAL;
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index ea63ca1c79..43bc4da0e2 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -84,6 +84,12 @@ extern domid_t hardware_domid;
 #define XEN_CONSUMER_BITS 3
 #define NR_XEN_CONSUMERS ((1 << XEN_CONSUMER_BITS) - 1)
 
+enum virq_type {
+    VIRQ_GLOBAL,
+    VIRQ_DOMAIN,
+    VIRQ_VCPU
+};
+
 struct evtchn
 {
     rwlock_t lock;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 07:28:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 07:28:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904614.1312463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqS89-0007Zb-BX; Fri, 07 Mar 2025 07:28:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904614.1312463; Fri, 07 Mar 2025 07:28: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 1tqS89-0007ZU-8z; Fri, 07 Mar 2025 07:28:25 +0000
Received: by outflank-mailman (input) for mailman id 904614;
 Fri, 07 Mar 2025 07:28: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqS88-0007ZM-0e
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 07:28:24 +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 bf3f8ac6-fb25-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 08:28:21 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43bc6a6aaf7so11674345e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Mar 2025 23:28:21 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8c324csm42465915e9.12.2025.03.06.23.28.20
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Mar 2025 23:28:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf3f8ac6-fb25-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741332501; x=1741937301; 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=YQDLz+6QSvsh+cWgBfIYqdjk1TWuURfQmhCJZAML8Jc=;
        b=PjqI3bbjZoT/kx84VcVQFdqPEqNPtZ1tejXUV/tOHBnEPeAdBdL0WauHYCbvNByslf
         Biczy3vT4uOrGH66VngqBrlhUQgrOYd6K8G8Xyl/RsnLJRTU48lmDOR06WQTvN1lVdUN
         h3yNxqJfdJV5RIP6s6a5DPwCOLCPXq8D4MbvELL1I/ERwVw7zvF4mn2/xVcib6A3brCV
         UvKYlw5uglfG/uhuglQOkRE+EiT+hUn11UkhxDjQ8YpY9V0OGWHoZ4b4zfDBGJAC7L5J
         AoCbQXB+iGCkQHc5TzxAx/ttMBFKFyJVrTrwXC/xX+eivgBnQA9Un/9VwAoN8MvkQpLX
         szpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741332501; x=1741937301;
        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=YQDLz+6QSvsh+cWgBfIYqdjk1TWuURfQmhCJZAML8Jc=;
        b=wWENvLHvqC2i7nR0CX9yxNHG+f054UmVKJoiX3CahMSE2AROYKc2VFxwzl6secumIn
         Rzt9YFYf6f48bpMxZfI9+Od4XyL4qV+me2X0leApHk1VVsCUlREocbAVQa18J/0lPcqc
         jOGEpb9oxCrVGPZ8Nc33biMwdJREw2Hq94D+VVoSbwC8Zz8zeIOqtKpNr8l3H6R0Z+84
         Cz2EZjspvSPL1Tvicm9bg3nxQ2jv3hsXGpS+eOydJEO0unofI7rxuN+N6/erbx/7f7Gp
         HxG2y0TeIMLgYLq6y8EFDdH3DkjIOB27JIlO6JsIP3A4y7aktb8O2dtwmGzhRxOjeeaV
         nNiw==
X-Gm-Message-State: AOJu0Yy2GT3/RrSCQB4HZ6Y0sI4JYKh9TZNs4g3IniL2sz9Sx2i+EsgO
	Qwpz59i6+XnAwtaOrT/j5B3Q86MVWFXe7uarOskNKNtRo0dOruNwIyobaHr96hcWXvQ0DJzugOA
	=
X-Gm-Gg: ASbGncuQaaYd1oQrGbe+AnQDNuCYLfS/YX7Z6Nj0rKzl7Z2GbiXPQlJUySi/6Ixnv8D
	1v7+3d818yy9DWfFR08l4eYW4mBXy+kYHE4P+l4RBQTaHaqKgE5l6u9JUMH0Ld0mM5ea7Ph7obV
	zpGy5uyCrf73yf8Yy+asamoMjt5q9q3wxmc0ck2gB9C+lGC6ijZcYgWYMhnC9qaSK3JEiB2pHo7
	QJtje1dh3JwEhwMj0MqHecVWiQ3tfehezcsAcVBlKX2YWGquLuzeN4MkLXzHfHhk02NzvDBgHs1
	f0q07bDFcyIsFGLrUJI5igDVtqQnvH99J0PpgGwimnGLtxMDxfxUVXhxRycGSWWbeL6hnb64+Ve
	9nVGa0O0rXSZu8XC2FAW0HH8aoiD+nw==
X-Google-Smtp-Source: AGHT+IERnw0yjpRoHD/OLZIOdalaNRFxF6S3fkGWDMCxhuFsGGVLpM25xXa+qq7obbBgsc1HcWhJxw==
X-Received: by 2002:a05:600c:19ca:b0:43b:cf37:c7ed with SMTP id 5b1f17b1804b1-43c5a5e5259mr11951755e9.1.1741332500728;
        Thu, 06 Mar 2025 23:28:20 -0800 (PST)
Message-ID: <1ca1105b-2ad5-477e-9707-15c5423a6aaa@suse.com>
Date: Fri, 7 Mar 2025 08:28:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | fe5757f2
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <67c9da9b3186_2e7497fa83084b8@gitlab-sidekiq-catchall-v2-66447c6578-4sqjw.mail>
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: <67c9da9b3186_2e7497fa83084b8@gitlab-sidekiq-catchall-v2-66447c6578-4sqjw.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 18:25, GitLab wrote:
> 
> 
> Pipeline #1703410235 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
> 
> Commit: fe5757f2 ( https://gitlab.com/xen-project/hardware/xen/-/commit/fe5757f25de6062732c088ae54e2180236632552 )
> Commit Message: xen/events: fix get_global_virq_handler() usage...
> Commit Author: Juergen Gross ( https://gitlab.com/jgross1 )
> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> 
> 
> Pipeline #1703410235 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1703410235 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
> had 1 failed job.
> 
> Job #9334349344 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/9334349344/raw )
> 
> Stage: test
> Name: xilinx-smoke-dom0-x86_64-gcc-debug-argo

I fear I can't spot what the issue is here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 07:58:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 07:58:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904626.1312474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqSaY-0005YO-H9; Fri, 07 Mar 2025 07:57:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904626.1312474; Fri, 07 Mar 2025 07: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 1tqSaY-0005YH-EH; Fri, 07 Mar 2025 07:57:46 +0000
Received: by outflank-mailman (input) for mailman id 904626;
 Fri, 07 Mar 2025 07: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=UYgQ=V2=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tqSaV-0005YB-Se
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 07:57:44 +0000
Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch
 [185.70.40.133]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d613e2d5-fb29-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 08:57:37 +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: d613e2d5-fb29-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741334256; x=1741593456;
	bh=nLYTQKoATI/LXfQBASN75Se+HUZd5e+tWhsq1WltsXg=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=jBVlllenZciSHFHgIlaxGWTRyKaBewczqgUIZuFjFjudyfDogeReO9iyjLK3vKs/D
	 BBovEeUqIJpn9GKc0IOq9qfsdLJSYoTjo3UOG3B41GZlI2Xbj8PPzrtd68vgfMjWtl
	 ppWIBpvYMimJuILG1kgtEkfGWA6lBg+zpFUmfbIHsQ5o7H3q3hxztEjTBpP0h1xDSp
	 wzEE5kr98kbPwjliWAAcIXE+oEM2bVTINRnxL0pLrZXDUU0SvEFa1b0cY733+2eLHc
	 DQM1PZ8qKw4dk7ROXzkLxvc7JJZF3dDEGDDhyFa+vF6XcWFfLOr5SL4HIUp6dAxHaO
	 CKzCpm2NCfvUQ==
Date: Fri, 07 Mar 2025 07:57:28 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5] xen/consoled: clean up console handling for PV shim
Message-ID: <pwgsQnY4i4Gw01Ny2d4T-FhShI1m_d6xvFiwdUUto_UC13O_RgXGU-dJ81-ClbWtF0ayeRnHmYuz0YL3-3xGGQ0kxzrl5mpR9xqRteyDemQ=@proton.me>
In-Reply-To: <6aadb0dd-8bfe-4c63-9997-8ded6a9faf98@suse.com>
References: <20250306075819.154361-1-dmkhn@proton.me> <6aadb0dd-8bfe-4c63-9997-8ded6a9faf98@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 54f54509e7b7438895c54f692699d76669a5b9d2
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thursday, March 6th, 2025 at 8:35 AM, Jan Beulich <jbeulich@suse.com> wr=
ote:

>=20
>=20
> On 06.03.2025 08:59, dmkhn@proton.me wrote:> --- a/xen/include/xen/consol=
ed.h
>=20
> > +++ b/xen/include/xen/consoled.h
> > @@ -1,12 +1,23 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > #ifndef XEN_CONSOLED_H
> > #define XEN_CONSOLED_H
> >=20
> > #include <public/io/console.h>
> >=20
> > +int consoled_guest_tx(char c);
> > +
> > +#ifdef CONFIG_PV_SHIM
> > +
> > void consoled_set_ring_addr(struct xencons_interface *ring);
> > struct xencons_interface consoled_get_ring_addr(void);
> > -void consoled_guest_rx(void);
> > -void consoled_guest_tx(char c);
> > +int consoled_guest_rx(void);
> > +bool consoled_is_enabled(void);
> > +
> > +#else
> > +
> > +#define consoled_is_enabled() (false)
> > +
> > +#endif / CONFIG_PV_SHIM */
>=20
>=20
> I'm sorry to be picky, but why did you move just consoled_guest_tx() out
> of the conditional? Once something needs moving out, imo everything that
> doesn't strictly need to be there wants to move out as well. Which would
> leave just consoled_is_enabled() there. Then
> Acked-by: Jan Beulich jbeulich@suse.com
>=20
> I can certainly make the adjustment while committing, if no other need
> for a v6 arises.

I will appreciate help!
Thanks

>=20
> Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 07:58:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 07:58:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904637.1312483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqSbU-00065X-Ux; Fri, 07 Mar 2025 07:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904637.1312483; Fri, 07 Mar 2025 07:58: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 1tqSbU-00065Q-SO; Fri, 07 Mar 2025 07:58:44 +0000
Received: by outflank-mailman (input) for mailman id 904637;
 Fri, 07 Mar 2025 07:58: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=Ceor=V2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tqSbU-00065D-09
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 07:58:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id fc1c9fda-fb29-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 08:58:42 +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 9CEDB1682;
 Thu,  6 Mar 2025 23:58:53 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A6A033F673;
 Thu,  6 Mar 2025 23:58:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc1c9fda-fb29-11ef-9ab5-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 0/2] Prerequisite patches for Arm64 MPU build
Date: Fri,  7 Mar 2025 07:58:16 +0000
Message-Id: <20250307075818.740649-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

in order to build Xen for Arm64 with MPU support, there are few changes to
support the compilation of Arm code without HAS_PASSTHROUGH and some Kconfig
changes.

Luca Fancellu (2):
  xen/passthrough: Provide stub functions when !HAS_PASSTHROUGH
  xen/arm: Restrict Kconfig configuration for LLC coloring

 xen/arch/arm/Kconfig                   |  2 +-
 xen/arch/arm/include/asm/grant_table.h |  5 +--
 xen/include/xen/iommu.h                | 50 +++++++++++++++++++++++++-
 3 files changed, 53 insertions(+), 4 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 07:58:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 07:58:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904638.1312494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqSbW-0006Js-6Y; Fri, 07 Mar 2025 07:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904638.1312494; Fri, 07 Mar 2025 07:58: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 1tqSbW-0006Jo-30; Fri, 07 Mar 2025 07:58:46 +0000
Received: by outflank-mailman (input) for mailman id 904638;
 Fri, 07 Mar 2025 07:58: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=Ceor=V2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tqSbU-00065D-MB
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 07:58:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id fcfa1e47-fb29-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 08:58:43 +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 2C09022C7;
 Thu,  6 Mar 2025 23:58:55 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3EFD93F673;
 Thu,  6 Mar 2025 23:58:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcfa1e47-fb29-11ef-9ab5-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 1/2] xen/passthrough: Provide stub functions when !HAS_PASSTHROUGH
Date: Fri,  7 Mar 2025 07:58:17 +0000
Message-Id: <20250307075818.740649-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250307075818.740649-1-luca.fancellu@arm.com>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When Xen is built without HAS_PASSTHROUGH, there are some parts
in arm where iommu_* functions are called in the codebase, but
their implementation is under xen/drivers/passthrough that is
not built.

So provide some stub for these functions in order to build Xen
when !HAS_PASSTHROUGH, which is the case for example on systems
with MPU support.

For gnttab_need_iommu_mapping() in the Arm part, modify the macro
to use IS_ENABLED for the HAS_PASSTHROUGH Kconfig.

Fixes: 0388a5979b21 ("xen/arm: mpu: Introduce choice between MMU and MPU")
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v4 changes:
 - re-introduced stub for iommu_use_hap_pt, Stefano suggested
   it is ok to have it in iommu.h.
 - Reworded comment in iommu_domain_init from Jan suggestion

v3 Changes:
 - removed stub for iommu_use_hap_pt, another solution will be
   done for the instance in common arm code.
 - Moved a comment close to the macro it was referred to
 - add comment to iommu_domain_init() stub
 - modified commit message
 - Add fixes tag

v2 Changes:
 - modify gnttab_need_iommu_mapping to use IS_ENABLED
 - removed macro that didn't allow some of the parameter to be
   evaluated
 - Changed commit message
---
---
 xen/arch/arm/include/asm/grant_table.h |  5 +--
 xen/include/xen/iommu.h                | 50 +++++++++++++++++++++++++-
 2 files changed, 52 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/include/asm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h
index d3c518a926b9..c5d87b60c4df 100644
--- a/xen/arch/arm/include/asm/grant_table.h
+++ b/xen/arch/arm/include/asm/grant_table.h
@@ -73,8 +73,9 @@ int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
 #define gnttab_status_gfn(d, t, i)                                       \
     page_get_xenheap_gfn(gnttab_status_page(t, i))
 
-#define gnttab_need_iommu_mapping(d)                    \
-    (is_domain_direct_mapped(d) && is_iommu_enabled(d))
+#define gnttab_need_iommu_mapping(d)                                     \
+    (IS_ENABLED(CONFIG_HAS_PASSTHROUGH) && is_domain_direct_mapped(d) && \
+     is_iommu_enabled(d))
 
 #endif /* __ASM_GRANT_TABLE_H__ */
 /*
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 77a514019cc6..5ac038521e23 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -110,6 +110,8 @@ extern int8_t iommu_hwdom_reserved;
 
 extern unsigned int iommu_dev_iotlb_timeout;
 
+#ifdef CONFIG_HAS_PASSTHROUGH
+
 int iommu_setup(void);
 int iommu_hardware_setup(void);
 
@@ -122,6 +124,28 @@ int arch_iommu_domain_init(struct domain *d);
 void arch_iommu_check_autotranslated_hwdom(struct domain *d);
 void arch_iommu_hwdom_init(struct domain *d);
 
+#else
+
+static inline int iommu_setup(void)
+{
+    return -ENODEV;
+}
+
+static inline int iommu_domain_init(struct domain *d, unsigned int opts)
+{
+    /*
+     * Return as the real iommu_domain_init() would: Success when
+     * !is_iommu_enabled(), following from !iommu_enabled when !HAS_PASSTHROUGH
+     */
+    return 0;
+}
+
+static inline void iommu_hwdom_init(struct domain *d) {}
+
+static inline void iommu_domain_destroy(struct domain *d) {}
+
+#endif /* HAS_PASSTHROUGH */
+
 /*
  * The following flags are passed to map (applicable ones also to unmap)
  * operations, while some are passed back by lookup operations.
@@ -209,6 +233,8 @@ struct msi_msg;
 #ifdef CONFIG_HAS_DEVICE_TREE
 #include <xen/device_tree.h>
 
+#ifdef CONFIG_HAS_PASSTHROUGH
+
 int iommu_assign_dt_device(struct domain *d, struct dt_device_node *dev);
 int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev);
 int iommu_dt_domain_init(struct domain *d);
@@ -238,6 +264,26 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
  */
 int iommu_remove_dt_device(struct dt_device_node *np);
 
+#else
+
+static inline int iommu_assign_dt_device(struct domain *d,
+                                         struct dt_device_node *dev)
+{
+    return -EINVAL;
+}
+
+static inline int iommu_add_dt_device(struct dt_device_node *np)
+{
+    return 1;
+}
+
+static inline int iommu_release_dt_devices(struct domain *d)
+{
+    return 0;
+}
+
+#endif /* HAS_PASSTHROUGH */
+
 #endif /* HAS_DEVICE_TREE */
 
 struct page_info;
@@ -383,17 +429,19 @@ struct domain_iommu {
 #define iommu_set_feature(d, f)   set_bit(f, dom_iommu(d)->features)
 #define iommu_clear_feature(d, f) clear_bit(f, dom_iommu(d)->features)
 
+#ifdef CONFIG_HAS_PASSTHROUGH
 /* Are we using the domain P2M table as its IOMMU pagetable? */
 #define iommu_use_hap_pt(d)       (IS_ENABLED(CONFIG_HVM) && \
                                    dom_iommu(d)->hap_pt_share)
 
 /* Does the IOMMU pagetable need to be kept synchronized with the P2M */
-#ifdef CONFIG_HAS_PASSTHROUGH
 #define need_iommu_pt_sync(d)     (dom_iommu(d)->need_sync)
 
 int iommu_do_domctl(struct xen_domctl *domctl, struct domain *d,
                     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
 #else
+#define iommu_use_hap_pt(d)     ({ (void)(d); false; })
+
 #define need_iommu_pt_sync(d)     ({ (void)(d); false; })
 
 static inline int iommu_do_domctl(struct xen_domctl *domctl, struct domain *d,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 07:58:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 07:58:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904639.1312504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqSbc-0006c0-F2; Fri, 07 Mar 2025 07:58:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904639.1312504; Fri, 07 Mar 2025 07:58: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 1tqSbc-0006bo-Bv; Fri, 07 Mar 2025 07:58:52 +0000
Received: by outflank-mailman (input) for mailman id 904639;
 Fri, 07 Mar 2025 07:58: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=Ceor=V2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tqSba-0006aB-LE
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 07:58:50 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id fdbd3535-fb29-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 08:58: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 70A0822C8;
 Thu,  6 Mar 2025 23:58:56 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C1CA73F673;
 Thu,  6 Mar 2025 23:58:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdbd3535-fb29-11ef-9898-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v4 2/2] xen/arm: Restrict Kconfig configuration for LLC coloring
Date: Fri,  7 Mar 2025 07:58:18 +0000
Message-Id: <20250307075818.740649-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250307075818.740649-1-luca.fancellu@arm.com>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xen LLC coloring feature can be used only on the MMU subsystem,
move the code that selects it from ARM_64 to MMU and add the
ARM_64 dependency.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v4 changes:
 - clarified that it's the Xen feature LLC coloring that is not
   applicable to the MPU subsystem, not the generic cache coloring
   method.
 - Add R-by Michal

v3 changes:
 - Dropped comment on top of boot_fdt_info()

v2 changes:
 - dropped part of the v1 code, now this one is simpler, I will
   discuss better how to design a common boot flow for MPU and
   implement on another patch.

---
---
 xen/arch/arm/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a26d3e11827c..ffdff1f0a36c 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -8,7 +8,6 @@ config ARM_64
 	depends on !ARM_32
 	select 64BIT
 	select HAS_FAST_MULTIPLY
-	select HAS_LLC_COLORING if !NUMA
 
 config ARM
 	def_bool y
@@ -76,6 +75,7 @@ choice
 
 config MMU
 	bool "MMU"
+	select HAS_LLC_COLORING if !NUMA && ARM_64
 	select HAS_PMAP
 	select HAS_VMAP
 	select HAS_PASSTHROUGH
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 08:23:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 08:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904674.1312514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqSzh-0005YI-Nn; Fri, 07 Mar 2025 08:23:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904674.1312514; Fri, 07 Mar 2025 08:23: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 1tqSzh-0005YB-Ko; Fri, 07 Mar 2025 08:23:45 +0000
Received: by outflank-mailman (input) for mailman id 904674;
 Fri, 07 Mar 2025 08:23: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=+QIi=V2=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tqSzg-0005Y3-LD
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:23:44 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060b.outbound.protection.outlook.com
 [2a01:111:f403:200a::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7af7eac7-fb2d-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 09:23:43 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 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.8511.19; Fri, 7 Mar
 2025 08:23:39 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.017; Fri, 7 Mar 2025
 08:23: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: 7af7eac7-fb2d-11ef-9ab5-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vgisgvgeWkpV5ry1sinW8fMcn8kPvVTrLH3TBN+7YHzUYnrjGaMCqwWt23o3QBeLOqt80IoovguX0BKUr6TIMNc95dsgm8WXsX46z7spRpzXZLhsMLW+q5C8lfC6fA3mg3UCZLMlfg4Qbi/OGk653bIUbyyR1KMdLsD3Dtv7dmOETOKHRJrA54gorAabdxwjbbPSpywS/9VVSApVhnjpcMY9rJUlIV9D1IooT/0yDX6zYhtlV+OYljmCqrMV1aYum+cp7vwFRSxLjt14/Arxyg4xyQJzIqcqDsXykP1+eRq5ZGeXR7+zV5L4y0cPlMLexBWh49gM41Q9uwBQ6NJ35Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vjakkyh8QSy5O+s7gra1Uc30sOF38GlooyqMRZUOe9g=;
 b=Kux4N/qoNz5GE80qYxiNF8R0f/nbQXPGvwn48/1xXqKH4MEvtaZQrZmSWRZDOzFbXJ9VpTVr9OX+DTV7q4w/QGapVpMquk6DnYQaUOPzHqIhTgov29OYRK/OeVnc19h5oRRV4V9J/9dym5nfQjSU6LPkw+vHMlXcVkVADusHX4ZZK83MXBKMQtPGs8NU7YStZHG8CcWKQLw+DCV/2hADOmPhNHJAT1W0AmG03gdgkTUvZAxfKDOulL6dzvcwKaJGbs5zew8SyqOyW1fCZRrJsmhpEELxLQ2isUedpT60wu8cCc7hDcDi9bwwN9MFk+RFtKhJcvlGJkDFni+qs7FoQQ==
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=vjakkyh8QSy5O+s7gra1Uc30sOF38GlooyqMRZUOe9g=;
 b=oV2N7KgqmxovIu2vuj+GRMqSjlwWJQ2v4Y2sHZtG2pV8YTBPqW41s+mNKLHW6RreLrJ1j3HCOLCHOWG9HZ5stf6V3n23WDECkNhgAeeRRPgLiDsBFngmoxXa1CWgy2Di0/zMwEd+1L2kp6nHbghd6KgqBRVo7k3hpgkKSpYQM8Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <18061830-538d-4101-960e-a34941fe30ad@amd.com>
Date: Fri, 7 Mar 2025 09:23:35 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | fe5757f2
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <67c9da9b3186_2e7497fa83084b8@gitlab-sidekiq-catchall-v2-66447c6578-4sqjw.mail>
 <1ca1105b-2ad5-477e-9707-15c5423a6aaa@suse.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <1ca1105b-2ad5-477e-9707-15c5423a6aaa@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::13) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SA0PR12MB4446:EE_
X-MS-Office365-Filtering-Correlation-Id: 029be9d1-c062-457b-4682-08dd5d515caa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZEczcjJxdWtnZG00N3g1SW1yRG4zWHBaOUtPUm1WeEIvWjMvemxFdGtxTTZJ?=
 =?utf-8?B?WjVoeDJPVXZ2bW5WTVgvTU0zVnlVTTBmeWgyYU9UTXhHMEhSZlZ1ZkFBVGNk?=
 =?utf-8?B?SDJpUk5XS1FOc002MWtGL3V5UWVYMXNNVkRyVTF0QzhqZjdsb3JoY0VhcnB2?=
 =?utf-8?B?U1FRNDI1bjhvdm8vWUlHVXJwMUZwZnV4UXVwc052TDFBZUovb2M0cjNNTDM5?=
 =?utf-8?B?ajJTTWwwaW5vckJxaEgwYXA2NURpWVpKZ0s2SW1HemRVVXVFNSt0QWZoVVp1?=
 =?utf-8?B?OG9kMXNLdjl1S1dJblFYOStCVlFNbVFveTdReUdrb1BLSzZqbkFtSThLelR1?=
 =?utf-8?B?WkJPUlFaU3VITlYzNU1zK0dSMDYyRkFiZDI4QTVrMUdFV1ZTN0kvOHVtMGZq?=
 =?utf-8?B?N1Flalhmdjdqb2FxVEhkc0hsYW5ZdTUyQnRGVVZUVkIyckdYaEVmb2ZMVldR?=
 =?utf-8?B?elNYa1BNRVFaV1MwemNJczBLY3VWRGQ1cTdFL2dJcDJnRDl1b2g0c2NLVDhw?=
 =?utf-8?B?Nit0VUJFK1VNWngvYWk2ZEYvT0hkNE1mcktYOXpTVDVEOTY5NUFJWWVpdkV4?=
 =?utf-8?B?Tno1S2F2clRoNGVzU0ZvVGh0WU9scE5YNExPcVk3aktpT0xHQUVRT201dlJH?=
 =?utf-8?B?TktIMU9YK3dSZ3AwNTB0MjNNS2FDMURUcVRZQ2Q1aFhSVmVYYVdIVzk2eC9k?=
 =?utf-8?B?aDZVKzJDVXF3RW1qR0h6UFZqMGNlNXEvdzVWdzhhWUVma0QwMGlIV0ExL1VP?=
 =?utf-8?B?emIyS3VTR0YvWnhTYWJnMUJsWjJheFI1eThCYis0cm1uUjAxOHorVkVNbytI?=
 =?utf-8?B?WitBa1NEdmFYdFdsNkNpY0lKdkZXRUZ1OEozWmMzTkNqbC8xZGkwM1NxT1Ur?=
 =?utf-8?B?azVrbHpBU1VYNVBiTHcrYTJoc3c4NnQrR3NUa1F2MWdhWFliRW9vMTRzUVMr?=
 =?utf-8?B?OTZ2dUN5S1drWHJubnRpZlI0c044K2dxNzdFSFovU3l1dXlUcXhpOUNnRnUw?=
 =?utf-8?B?Nnd0ZzNueUVTa2ErVThRalBIQm96NnhIZjBzV2huVmNkVkdQdnM2Mnlsb29O?=
 =?utf-8?B?Qmp0UHlaMmNab0w0N21EOUNjYUtqY3JaVmZaeHNsNDI1MXNxWTBLRHU4MU9z?=
 =?utf-8?B?TlNhN1BaMmFVQXpqbTlEVnFhZWFtK3AvczBSWUcvOHQyS2kxcmNqTzNvTHVa?=
 =?utf-8?B?VkFzN2ROelV0SVhveEpIK0F3aG4xcG1EY0N2R0h4Yk54Q3AvMlM1SzFTN05K?=
 =?utf-8?B?Vk5NZWRoV3hGQkpMU1E2MFRpWEZxUUQ1cWZjaXFLRnNzZVh1VnM3bytadUtM?=
 =?utf-8?B?OGkvekFIZ1JMdzF3SVpyZEdtQTN3K2VhaTl4MExYbGZBZHRRZUxwaFFPaFBG?=
 =?utf-8?B?dzczYVV1L095ZTB1MU1aUGZMNkh3anBIc0F2dVZ0V2lDdGwvY2ptSkpPdERN?=
 =?utf-8?B?VmhXNFRKVElkaFpWTEQxcnpmTU5IREdCeDVwKzFrZ2pMTW5EcFQ1VGhtMmJC?=
 =?utf-8?B?RTlxTDJocmI2bi90UnJoM1M0VGpXWEJjbURuSU5CS2wvcEZEV3cyc0pmYjNu?=
 =?utf-8?B?R2w2TlQvNm1TeHBwelJwclB3bTVYUzc5ZzhlenNpV0ZGYTJSUmMxRjB0Tks2?=
 =?utf-8?B?Tm9qSjdOSktRVCtjaTZnUXU4S0dENDdiV2NaeVhrNFBjODRJTWVKcEliRmgw?=
 =?utf-8?B?bzFvNTFmRFJzR240WEVCNmxBR0IyVHF4V2dKbXpwL3NUMUFsdEZpbHVFTEU4?=
 =?utf-8?B?L21iVWFvQkdOU1EvOWRCY0Fjcis4RjFpNktqMi9nSThzbXlZSCtORDRjTjVq?=
 =?utf-8?B?eGZKbEZjS3FoSG03Ykg3UT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(13003099007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QWw0QmEwM1dWYWd1ck9PaUF1bHREaVU3T3JDMDhUdmlvTDQ0UnhCNnN0NStZ?=
 =?utf-8?B?MTd2bEdSL295dVI3RllBNisyWmJKKyt0b3psbE1UOFArVEo5V1owK0tTdVNw?=
 =?utf-8?B?Um9qZ2VpeDZpS01PbFVIbXBPRXR0dVNab2o3d08vOWFoZ3ZYZndpVjVXT2hK?=
 =?utf-8?B?UGVEMXdyaHNtMW5BYTB2dDlWaFRuSVJaRUJFdHJLK2JVTWp6VzhoU1ZBUlVq?=
 =?utf-8?B?d094Unl3Q1dtb3IxRlpmcExqK3JTMzNEN1Fsb3djTU9XQzI1NGRHa2U0RGRw?=
 =?utf-8?B?Smd3ZGl0VXdQNGwwTFhobThWL0VOclhlaXlaL0FVUEVRY0lRNkZPS2g4Zm96?=
 =?utf-8?B?SElFNUVhVUNocFNuOVVBRVBYaHNuMzd2N2V3NXhUdjlRZGkvSmxWaDcrU1Zh?=
 =?utf-8?B?UEZ5TWQzMFBlWWovdWVrRytib3UwaklyZGZoK2hudUQyOGlITlhSdVVUNVFi?=
 =?utf-8?B?OWJUV1h5M28zTW9BcndHTm9iQndzdnRBQkkyK3FFNWhwbnRmaXlPUStnNzk1?=
 =?utf-8?B?WmVFcXc1d2tCaEtYNk1Wa21oQjBXU2Z1bmZnQStPM0swQVFEQVMwQXYyWTBo?=
 =?utf-8?B?Rmp1Mk0yR0taZXV2RXNXTjJUM3hKZUlOdmNEZWRTM3FzWTdWZW5PTEc3ZTVY?=
 =?utf-8?B?bXJxNUJsMjZaTmtTaUpFSTBVVUtUNlZXUmdDOEhZVERJTlR6bXRPK2hPM1F0?=
 =?utf-8?B?WXpDRWRYRXpIaVdtZ0F4NThrVVU1b2FDc1o4WnRGd0cwOHhwMHYwczJrSEFk?=
 =?utf-8?B?ekxwdS9iUUExZHhhMnl5anlKdWViU1MxaDZHaERUeG1WT2xxVDIwcUluVmtV?=
 =?utf-8?B?djBCMGJLNkQ5QjNhYU9NZnBHVVMvY2E0MUVWSlM1MWJrWW55Mmg5MENNSXMy?=
 =?utf-8?B?dVlyd3hVdzkyL01WM242NlRHMjJRcE51ZEFncm0xa0xnbzFITm5Xa2ZwNXNp?=
 =?utf-8?B?WmtEek5QNmlvVHRZeFFvNWpiUnJKd3I3UXpEaEY4RDhSaUxYVjJOSlh4WmZr?=
 =?utf-8?B?MDRVZ21tTDh4cDFTbW1zeGFJRE1pSkMrMlRIbDBiSVlUY09SY3B0b0pCWXJy?=
 =?utf-8?B?cEc3c0d5YzdMaERvUVJhL3pqZlp1UkJ0ZEhheGpIWGVxMTNPcm1lc2JzRE52?=
 =?utf-8?B?ZnR1dG4wbHE3clpaOHpHWlB6Skh0KzdaVDJ2ZnN6cWd2Nllyei95WWFweHFk?=
 =?utf-8?B?aFlxRWgwT05Rbk5QaWlITVcyd3J4UUllMlE4L3R3bERVT1I4WlVOSDBJZ1l0?=
 =?utf-8?B?SUF2MVR1ODNPMHBJNkRLVG5HQ0UzcXpLQTJUWWZVVWtaZjVVM1NCSEJWemhO?=
 =?utf-8?B?WGFablVNUjJSeHlkUmtwWVAzRTR4ZHllUkVFQk9tc0sydVptUzVKQy9zWEtt?=
 =?utf-8?B?Z1l1eE53OWFocWVjYy9ZbGllZkdla05tVzkzeFJIbVJUL2V5RzJuMjNCZldr?=
 =?utf-8?B?VVdGRFNUS0RKcURZN3VFR3I5aHVpbDJ0N1BVaHN0c3JLOEltMDhEeFFQSzBj?=
 =?utf-8?B?bE84MmFLbnQxTjl1VGd1MlFzRWRuY0o2eWZrTUZ4U2J5V01QcUZUUDRCRTZN?=
 =?utf-8?B?WHB6a2M5aFI0YVhzWVVudmhlQUwxRFl5byt3QktGcFpwRml1Z2c3aHpjeUxU?=
 =?utf-8?B?T0ptdE1VVHVxRGRiaTZpQ2xuWjltMytOSld0RHBsamMxMDlqblE5eVAwaDEy?=
 =?utf-8?B?aTREN21TNThpUytudzZRRVo4bFFpMWhlcUdaYlVmZlhwWW5RRUFQc1RXOWZI?=
 =?utf-8?B?WU9OcHB3TXc4V0M0K1Y3WXBOaldRNzFkd1RSNUFSa1JKbklzcW5vcHdTZDY1?=
 =?utf-8?B?UXRxaFFuTkpEVDJFUDJzT2tVU2FHc3NXUjJURm4wcGNZL000REZ0bCtMM3Qv?=
 =?utf-8?B?WG52QlV3OFBpTHBkWDJpb0tPVkZFZHhwYU02SFNmS2hNT3FyT2VadkQ1QWtD?=
 =?utf-8?B?YXc0d25YbDVJMkw3YWNvditwY0xacy9aRmloc0lNQzNCWm5heUNkUjZOU2J4?=
 =?utf-8?B?YjduMEV1aFp5QTNxZHdDbjdFOURMRlMzOVZYWlIvSkluYkI0ZzRlOXh6L2FC?=
 =?utf-8?B?emxoVWJmVWlOazNnSDNweEZzK21CemNRVlZkQjIwZ0laSDVVQTc3cUljeFRp?=
 =?utf-8?Q?U/N8=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 029be9d1-c062-457b-4682-08dd5d515caa
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 08:23:38.6854
 (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: KZUDRNoaGyRkXcNWKo8DlGRhNJRU8AL3e/Dzfg/gVzC3BU97Kh+GXccQG1Br+KuT
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4446



On 07/03/2025 08:28, Jan Beulich wrote:
> 
> 
> On 06.03.2025 18:25, GitLab wrote:
>>
>>
>> Pipeline #1703410235 has failed!
>>
>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
>> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
>>
>> Commit: fe5757f2 ( https://gitlab.com/xen-project/hardware/xen/-/commit/fe5757f25de6062732c088ae54e2180236632552 )
>> Commit Message: xen/events: fix get_global_virq_handler() usage...
>> Commit Author: Juergen Gross ( https://gitlab.com/jgross1 )
>> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
>>
>>
>> Pipeline #1703410235 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1703410235 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
>> had 1 failed job.
>>
>> Job #9334349344 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/9334349344/raw )
>>
>> Stage: test
>> Name: xilinx-smoke-dom0-x86_64-gcc-debug-argo
> 
> I fear I can't spot what the issue is here.
AFAICS, the explanation is in the latest MAtrix thread under failed pipeline
and Juergen wrote a patch for that:
https://lore.kernel.org/xen-devel/20250307070507.30102-1-jgross@suse.com/T/#u

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 08:31:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 08:31:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904685.1312524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqT7I-00077Q-FC; Fri, 07 Mar 2025 08:31:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904685.1312524; Fri, 07 Mar 2025 08:31: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 1tqT7I-00077J-Bu; Fri, 07 Mar 2025 08:31:36 +0000
Received: by outflank-mailman (input) for mailman id 904685;
 Fri, 07 Mar 2025 08:31:35 +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 1tqT7H-00077D-3d
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:31:35 +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 1tqT7G-006tKL-2a;
 Fri, 07 Mar 2025 08:31:34 +0000
Received: from [2a02:8012:3a1:0:9517:10f4:44fb:20af]
 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 1tqT7G-00C5op-19;
 Fri, 07 Mar 2025 08: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>
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=h19r5AIA3nZOO5CuFfijzYmocGFVLxFl0Bdn5FndP5Y=; b=nLJ+5zGvlOcXaXY6lG8Ku4pihw
	dm78tEm5I/3TLvKKe66GOnUji9RJyEEX8d7u0nhDYObsf9JdSb6jrINDo2Ee94+8Nuw7neNc+gg3A
	15NGeMYC8jMjOt8aC5sRgXAfSSLDgkTY1w2AEmScdX9jVnKMGd4jYuemyxgF8gGVv738=;
Message-ID: <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org>
Date: Fri, 7 Mar 2025 08:31:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
Content-Language: en-GB
To: Jason Andryuk <jason.andryuk@amd.com>, 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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-jason.andryuk@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250306220343.203047-5-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 06/03/2025 22:03, Jason Andryuk wrote:
> Assign domid 0 to the hwdom.  Normally, dom0less does not use domid 0.

A few years ago, we went to great length to avoid making the assumption 
that the hardware domain is domid 0. See all the calls to 
"is_hardware_domain()". So I am reluctant to force the domain ID to 0.

> 
> This fixes using the Xen console which assumes domid 0 to use the
> hypercall interface.

I had a brief look at drivers/char/console.c and I can't find any place 
assuming "domid 0". Do you have any pointer?

> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
>   xen/arch/arm/dom0less-build.c | 8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index e539bcc762..5a7871939b 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -969,6 +969,7 @@ void __init create_domUs(void)
>       dt_for_each_child_node(chosen, node)
>       {
>           struct domain *d;
> +        domid_t domid;
>           struct xen_domctl_createdomain d_cfg = {
>               .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>               .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
> @@ -1121,7 +1122,12 @@ void __init create_domUs(void)
>            * very important to use the pre-increment operator to call
>            * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
>            */
> -        d = domain_create(++max_init_domid, &d_cfg, flags);
> +        if ( flags & CDF_hardware )
> +            domid = 0;
> +        else
> +            domid = ++max_init_domid;
> +
> +        d = domain_create(domid, &d_cfg, flags);
>           if ( IS_ERR(d) )
>               panic("Error creating domain %s (rc = %ld)\n",
>                     dt_node_name(node), PTR_ERR(d));

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 08:35:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 08:35:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904694.1312533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTB1-0007iA-Ts; Fri, 07 Mar 2025 08:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904694.1312533; Fri, 07 Mar 2025 08:35: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 1tqTB1-0007i3-QK; Fri, 07 Mar 2025 08:35:27 +0000
Received: by outflank-mailman (input) for mailman id 904694;
 Fri, 07 Mar 2025 08:35: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqTB0-0007hx-I5
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:35:26 +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 1bc66617-fb2f-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 09:35:22 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43bcfa6c57fso8808635e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 00:35:22 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd93cb9bsm44488615e9.31.2025.03.07.00.35.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 00:35:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1bc66617-fb2f-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741336521; x=1741941321; 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=mnwWtfn9898dg3u5GPG2f+D52GCr/PsssNU0Y0tfSSM=;
        b=dX/jI/DljqTB1YKWQRDbA3clRra5Jm1Z1WWKVIhOnXZ99bYDbBKIV4O25pD7wryFqn
         nrU6+hsl26NEGSr5z2WQpTXGkhNObrnlB+dwRluwITxU05lApgXgG5KiJy7Uxq3rXOOK
         7Lps+kRYsyEesK479X0stX5cpJegaUCZzvGbJzZvfhrr4Z91envyFdxA1tCUaK8Kg3cj
         9I3IHYHAwIbXaQ+eFltjEW7VGlMXzWJCvbDPRsKokLWwC3xtnCEz47x/AdD2kbcaDV5c
         w++VG912/CmgfH9AfLDuP7e4bJNyxVj4qRnw4uCgGQx4c7dtTXNcOdXrwbGcY8IpFXZC
         QBIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741336521; x=1741941321;
        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=mnwWtfn9898dg3u5GPG2f+D52GCr/PsssNU0Y0tfSSM=;
        b=g7m9P1zmdMUYV/Jrj7s6Movv+DpwevTKiPUZhsFznhoZKURf25I8JI5YSWnWPusa8c
         /TOiubBfIKpGx0YEcDufbh/q3a6poUMSxnpw1v6atzu0kPFbRKjWNDi2i+ehSCmAF36y
         yDzqLwaQvHTTO1VanqAFPld3ME0RIs6LbikQShkM5ADaO+DDENUBe9v26oUoPZG5Ilz7
         WIZvxLNJwCbwdFBO8R8ckY/Kv5wNtrpF5rbmQ40qZHwSqjD7pbFUaJJT+lPPYpczDzrw
         F49Gw4U75S3W/OHR2cOzI8Z7/641v6v0tdu7luRth6DVLjb0v1kpuK3H3B8W7N/oMLKB
         IFZQ==
X-Forwarded-Encrypted: i=1; AJvYcCWejQKxdSOY7qHHYuEt3D++VZIfo+o7t2EUzSPpbq3c/0W0cYwu30Zyxg85YFEFFLkDIm60q3mgzMA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwfBLiFGZlgorYtRbaEPHnKIUc0AE7q8zs3IaGeZ+oTiLUmzVlk
	HHSysYy/aiqMcDjI2NM0/LVkn+cUafqx5ol+tDLnzoPxvRIR6OoJ4JUUWy6k8g==
X-Gm-Gg: ASbGncvlwqtAn3qFeOziPMWHKOXzO02DPdYAAxFZ1GaVSDXvEBpvX9iHRJPusmaSvOn
	yoZ6JeaArZCaaYfGQi8n4EH3xNPYmQAsUub9hdBKq+5MB+dxgQgvyd6Bcs/4N4IUvJgjb+e/KcD
	laaolO9vsbdb5UVPaz6avnkb76b298O1hrKrxJ0bnU9wVtWVFg1AiPCaUq0jtkfZ2dIrOW8dMNO
	pb9uPojyNmwg65MMM1yi0qYY2aHrtB4UfZ07kYFawjMhZmku7E1pNKgRjjiRXdlurDFt3B9GHKd
	Lbu8jll3nf71Xd9bf3NR3p/1pOI/w6RTJrO1YQHvpuaqyHMqXPVp9glAftEcmGfQl53v5lbDcYx
	7w2ZzOrppLufMJ3xl9abgUw3a9DQAKg==
X-Google-Smtp-Source: AGHT+IGgTBpotmGJ0JzvPrvBIgIY90nHLWz7UUe4NAQ1lMI/cDy7jtRYP7oIVXoxRRmftWmzH8M7Ug==
X-Received: by 2002:a05:6000:1fa4:b0:391:319c:1950 with SMTP id ffacd0b85a97d-39132d0539dmr1362194f8f.8.1741336521596;
        Fri, 07 Mar 2025 00:35:21 -0800 (PST)
Message-ID: <fc9caab0-6d7c-4901-a366-4cce8e3aa90e@suse.com>
Date: Fri, 7 Mar 2025 09:35:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
To: Jason Andryuk <jason.andryuk@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@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-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: <20250306220343.203047-5-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> Assign domid 0 to the hwdom.  Normally, dom0less does not use domid 0.
> 
> This fixes using the Xen console which assumes domid 0 to use the
> hypercall interface.

Iirc a patch by Denis Mukhin is taking care of that, if what's meant is
the input focus switching logic.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 08:42:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 08:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904705.1312544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTHO-0000sH-MQ; Fri, 07 Mar 2025 08:42:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904705.1312544; Fri, 07 Mar 2025 08:42: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 1tqTHO-0000s9-Iw; Fri, 07 Mar 2025 08:42:02 +0000
Received: by outflank-mailman (input) for mailman id 904705;
 Fri, 07 Mar 2025 08:42: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqTHN-0000s3-7l
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:42:01 +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 06971b9f-fb30-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 09:41:56 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43bc38bb6baso9181425e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 00:41:56 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd91338cesm62935545e9.7.2025.03.07.00.41.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 00:41:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06971b9f-fb30-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741336915; x=1741941715; 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=3PXCmsE5+ZqD7GfMdkI9s/1ITxDw17hPdBYplkZdj8Q=;
        b=JQ/f+42d9BUxAaLTLGvl54GXy0P4T+ZEUWORECJ23QrQ7k7+LEspOYd7mHlAVkSyw9
         o+uFzjGNXUcmJrWkw9VZTuRz0MKduX6cOG2rAbO46D7OCoElQj4ZwSkgZBQyYWSi3iRm
         zXw9sIhaLEuPW8Ma81uaYO3UNxnBhgHI8qwdhhq0BNTwMFBV9nRkwcic44cYcQ1iQGns
         oB+BmJ2QI+gFlMgC+PVvWmPkh/y0NBxqYQ98PFNMuMaaBfOlcw6dkhgOgHkCD4PFEG/U
         aSV+WVAzChFIX8qyUpIxs4iBQHZwbyeljUjwZaF+PfAD41yG9ekXk/6M0FPRPQzjCq/o
         tZMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741336915; x=1741941715;
        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=3PXCmsE5+ZqD7GfMdkI9s/1ITxDw17hPdBYplkZdj8Q=;
        b=k403zF8D4tEjjTjz8wdQI3AnIPq5hWOsCO60n+Eut2xr3qTY0rpy3Pirvxtki0r5CM
         qiQOL3Ppr2R6SoyDPRVmmgKYIbzNyTVNZYqIVuvB+yRXaonTogn4Hc0A+fnyCFloim1t
         ezA8/ppv6gf3XrOOEJj3PUWBmIJ+Ce0mQe1y/p2fcVm0RfpCEGsYsFs8ROuD/ii1/FNJ
         dZYV2omuz4VdrTWBnyBRexPijsssCJ1h6x2b0exkTJ5Dk3ezT8B8I+GNHWlUAwn0RIq/
         5YVdGjchb2zNWBtNKYkPfp/v2l78imN0WLcaVu2uTvBsWmzWTFwJTJAlm6xYI7qbn9BV
         GaPA==
X-Forwarded-Encrypted: i=1; AJvYcCW3nvWxuXgQKNxk9m8qUzv0T2HmAefX3ER88SyHtrH+yYuQ4U6yVUQBt1w9kj/P+Xa+ZlAVNLi/8q4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzvfxmbtqSuuymBCks1pK4srFw426CbHq8I2Ljj4TG/dQ3Di2bK
	KEJRkM/8vr1II7dvuHYj8iL6GQXtthfTZmiRl4X0BAT/ZZW5mX9YJqie3AptPA==
X-Gm-Gg: ASbGncuz6y23CfSS2/am7EvS7isiMhU01+A2vZeh1pceWk7SU1A8WThtecLBHJ7GhC7
	DRIBy5dBgNDJdHkeveBf0Uv/9akrh6uo7S45h50dJoZwJOxetXzyyuJfCwLP0ND38VsD5KRx8F9
	z+vebETKkilWAngnonrU0kZM8cRi7D3BIpd0DvBZ7cXMGRxX/qu6m9SSCzCriIGCgt/Aj3n/7uq
	8XPe7gG/wmkxs8EmaRDkO7gFTPGdwi9ePywjr7lcxSoi6S0LWyLzhA3PEEE2qbz/tCEkMUgR5eB
	Hw8fXcWXY0KYpq5/CQ17N6Y1hMSrbh/lkg9/V21lPQrSqGOE8qOc4nEQIdZYXf7/cflzLqbVqsU
	54jN8kJiyDEvqWEr9EpMglG7TJhEd9Q==
X-Google-Smtp-Source: AGHT+IGbZd891KWxN3oQ5QqWX3SXjHxvbptnJVdcnayJ9yEw/stvcftk3rNXLRXYwfrP4rX/6AHtqQ==
X-Received: by 2002:a05:6000:1789:b0:390:e521:463 with SMTP id ffacd0b85a97d-39132db206bmr1439628f8f.52.1741336915520;
        Fri, 07 Mar 2025 00:41:55 -0800 (PST)
Message-ID: <9d9bcc66-0031-4ec4-a335-23009cedd27b@suse.com>
Date: Fri, 7 Mar 2025 09:41:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/events: fix global virq handling
To: Juergen Gross <jgross@suse.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>,
 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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <20250307070507.30102-1-jgross@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: <20250307070507.30102-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 08:05, Juergen Gross wrote:
> @@ -913,7 +917,7 @@ void send_guest_vcpu_virq(struct vcpu *v, uint32_t virq)
>      struct domain *d;
>      struct evtchn *chn;
>  
> -    ASSERT(!virq_is_global(virq));
> +    ASSERT(get_virq_type(virq) == VIRQ_VCPU);
>  
>      read_lock_irqsave(&v->virq_lock, flags);

To better fit with this function's name, ...

> @@ -940,7 +944,7 @@ void send_guest_global_virq(struct domain *d, uint32_t virq)
>      struct vcpu *v;
>      struct evtchn *chn;
>  
> -    ASSERT(virq_is_global(virq));
> +    ASSERT(get_virq_type(virq) != VIRQ_VCPU);
>  
>      if ( unlikely(d == NULL) || unlikely(d->vcpu == NULL) )
>          return;

... I think this function wants renaming to send_guest_domain_virq(), to
further eliminate underlying confusion. Ideally right here, but certainly
also possible in a follow-on patch.

Everything else looks okay to me.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 08:48:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 08:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904716.1312554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTNS-0001VD-At; Fri, 07 Mar 2025 08:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904716.1312554; Fri, 07 Mar 2025 08:48: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 1tqTNS-0001V6-7z; Fri, 07 Mar 2025 08:48:18 +0000
Received: by outflank-mailman (input) for mailman id 904716;
 Fri, 07 Mar 2025 08:48: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqTNQ-0001Uy-Tn
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:48:16 +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 e84fe521-fb30-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 09:48:14 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso9543765e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 00:48:14 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c01d2cdsm4713729f8f.57.2025.03.07.00.48.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 00:48:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e84fe521-fb30-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741337294; x=1741942094; 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=fQ5OfCOYBCvZ31XgUnkpoIj0cS9VWUrAYcOq9/eRpyI=;
        b=SOSvhfwhr00xsl1GeiqiaxMYgUQyeA/WaySaBECumyq2/+EzfEcAzUPd+U6HWIE6qa
         2DqfnWuqTjNJbb0eN3Ptdr2k80qhEHTHzv32aXf1ZGnRMjXuxHIN/zoI4DFZDR0EuYUA
         458qibmGsJcwIZ6n40Sn5RKB8irR90RxzyC0wNtZfDktR6ceRnL4KMB7+9jSXrtimz7z
         1Gn4qrdtkshKS1GS119gy3RJVdDkR5x0Coz0Fgyo/7dnjQXDl2+W/mIs9MnHziytJoPB
         7x+8BhVRSrNovJ8MkDcGYPbC7JkHtDtVjXj/oiv3vV63r5Nh+qrcWUgMVdCYk7bigmCR
         Vn8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741337294; x=1741942094;
        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=fQ5OfCOYBCvZ31XgUnkpoIj0cS9VWUrAYcOq9/eRpyI=;
        b=NWDvOE06O78ZHebcJfSsUPntn+5YBCxtrlZjbfL+p8XiGZmUdQ6NjEM+BbZXu3+t11
         Y5+SdJiLCLJylApXmSbm5yU+9rxkUe4jfCKXA9LUXhB70dh8mst53l9cO+Eiwd2J3E8a
         mg084AWbZjjgoqExpxH1E7siVkts0aKRjVGH/VREM0t/8fp9VraPrW8u35XXk8dtgk5T
         zyC/uypZ9RXWBzicVcppyoumoEjZPQVHE4KedLIdHklfxBW35QvdVf0GvAzEgQT25kbn
         YNhAwQB6Wcl3G5mJaX3+o67iX5607tCde4N/tUqCgcqCnsi9dadZcHOCoU8CmQo3hVrr
         IRbw==
X-Forwarded-Encrypted: i=1; AJvYcCWq3jdp+uD5xxpHoJmjtos+r1/0nf/+cVF2EQWoEu7OCnWyi/WuW5kNYc2F2u7VZf6ZHGrUl+kAwVs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzp52fSrvZmexoUrYQAdZqUgRD4QSWL+pt+ffCtlVYO86g+3ZxE
	Czl5SOTPwYJEJNSH6lNH0yfTKVcFEYm3GU8y/qmy/ua0Euy8JqV7+4TpRit3oT9qYeXlYV6/Fuw
	=
X-Gm-Gg: ASbGnct9oQ+foezwvU4+fFOcZ1zMfwL6d/KyNDsVKP2fFiiGNpeNEV01IYtgddRwNq9
	IXehi8oo1/2o1PKpCEyss9mGigJrKtn5XXeeNccaToKLg98gIIRLW1F2NN6g1PXGPFmcL7N/QYL
	OLcx8itXHvY6DMiqSx4/nbtCJARWmX/U5wS0+pEfMu0W0tJGJmXh/iJd26Er8vlKo25N1QxzJp+
	5VS/r3QOyvllD+mtyNsBVi530ELmyQR00wkFE/ggVU8FcvEDDQ3H0oPfd4PjcG5OQ+T6+gLN/Vo
	Wd6Ns087Vm7OK51NC7YDv43X0Z0LubJuvGbP4SLZemb7E38ndxmXdR11+0gPrx1ADL74rJ3dfXj
	WutsBNkl7FpaQUMhqWt95eBtISVZhbQ==
X-Google-Smtp-Source: AGHT+IF/LcDJ8PB7xf4fl9jUXKvSIJpol9mVlnHmz2jSj8B36NKbI43TnfRMxbLM9ddixvdxjwcIjA==
X-Received: by 2002:a05:600c:45cc:b0:43b:ccfe:eee5 with SMTP id 5b1f17b1804b1-43c601e188bmr16785725e9.17.1741337294119;
        Fri, 07 Mar 2025 00:48:14 -0800 (PST)
Message-ID: <1f5bf9e0-4f88-4d00-8b44-cc4e666aeea5@suse.com>
Date: Fri, 7 Mar 2025 09:48:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/e820: Remove opencoded vendor/feature checks
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: <20250306233519.3006560-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: <20250306233519.3006560-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 00:35, Andrew Cooper wrote:
> We've already scanned features by the time init_e820() is called.  Remove the
> cpuid() calls.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> Backporting.  Not sure it's worth backporing, but it is safe (just) to
> backport past commit 365f408339d3 ("x86/boot: Load microcode much earlier on
> boot").  That commit was the last one to reposition early_cpu_init().

At least I wouldn't consider such cleanup to be an obvious backporting
candidate.

> I'm pretty sure that all 64bit CPUs have MTRR, but I'm less certain if
> dropping the check is wise given the variety of VM configurations that exist.

We did consider exposing PAT-only configurations to guests, so I don't think
we should be implying MTRR from being 64-bit (unless we know cpu_has_hypervisor
is false).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 08:48:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 08:48:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904722.1312564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTNu-0001wG-IE; Fri, 07 Mar 2025 08:48:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904722.1312564; Fri, 07 Mar 2025 08:48: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 1tqTNu-0001w9-FW; Fri, 07 Mar 2025 08:48:46 +0000
Received: by outflank-mailman (input) for mailman id 904722;
 Fri, 07 Mar 2025 08:48: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=rsP0=V2=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tqTNt-0001Uy-Vu
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:48:46 +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 f815ceda-fb30-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 09:48:41 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAWPR03MB10092.eurprd03.prod.outlook.com
 (2603:10a6:102:364::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar
 2025 08:48:38 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.017; Fri, 7 Mar 2025
 08:48: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: f815ceda-fb30-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NGYIUJNWYeVEw4p4DW8xH0a4fdX4KLvp2Yk0VOsWl/HXfknuUd0BFbH2eajWUQp61obZAaY1LEA3o7YtRLc0rMgUIQtIhZkMdJC7YL2pfLyjIGR1frubgiaREFPiLnw4TEXf7W/yz7g8koufI8kCBM523upagoyO1zoaDOCix7H7vfT0JjiocwGmWb+2CtquZhdggp/yvbaeAEShuCoK/VZVvBjS8OoizXOAEzEKrZp6Ecc4NBrkr/HXIijOcEU/9ZGA7rcyz4byeH8uStAGputqa3EqEOF98G+u/y3yVrT7u0vgzgjD3RpR0lngvECZZ3LZZOsmvybSNWU42ViCGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nwqUn+tjSSJwzBz/LNrZZj3l5GIStUn+SSRfJzFqDBw=;
 b=sXJC8l7eoF+LwECNlStNEuKC6X8KxUe5XH1NKCqHikzkH9BrjHLkZF5eVKxWGg/eDCfT5G5BwRQo4sHl0euuVHcpc1mdZQnmYVcKtRXdQfm6RHBXHuCABP/DVAnh21T/ZOS1u6qb4wLO6ms0j7gM/1N0VdsTSktMSaHiT9pdphi5eGlGdjSAYI3m6UcqgtqulErY4J4SuDhkE6a/F0+8ZLQW0hx29MotzBnE1fQmNoRdXSwuXP5B49+DcT3LT4GwTbG0RLLMAf4vYfNTW+ahdJcwVtir407FAgwNlC5151j+T6PAP23LVrjRExRuNrmx8fa9cHhZnDMW9I/rZ3limw==
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=nwqUn+tjSSJwzBz/LNrZZj3l5GIStUn+SSRfJzFqDBw=;
 b=kAHMJ71eHJNPO+1QBhNHrKc2Y57ANw6Y71XZcBW7/j42BY0X/LMcc68GKolBosquxsM18vDHzJQNRU0Dx8Im+ujNBacCZlR+wjLWTg6gJGGg7TN49vd7uwVEhrauE4BU4sunQpi/RSld76Osi6nqviUrimYcbtlSID4SNMI8Old7rzvNNVF6mEbRpSZxLdH30X3Vz97+EkX1fLSansD+0glIWrpzBn6MzYlc1bdrmYtPptnbhSP6d+5Rq0NORXOjv95c+FC5DEX1ntOHinvp+WzPQE0JOpwc2l4X8ira4w2bU8FkJX/HS99+IJuKFKSdihf2mtRlT3WcnE9T7s3JAA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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: Re: [PATCH 4/7] xen/arm: add support for R-Car Gen4 PCI host
 controller
Thread-Topic: [PATCH 4/7] xen/arm: add support for R-Car Gen4 PCI host
 controller
Thread-Index: AQHbhp0OJEwwd7KbIUWidoI1k6AKJ7NmiwSAgADjMIA=
Date: Fri, 7 Mar 2025 08:48:37 +0000
Message-ID: <f6d1d6f7-5118-4b5e-a748-68eb4625593d@epam.com>
References: <cover.1740382735.git.mykyta_poturai@epam.com>
 <8e567e7db48ba6d268c5e3a3481d53d891524d68.1740382735.git.mykyta_poturai@epam.com>
 <a2092d85-9b4d-40d3-883e-60207d2e3412@amd.com>
In-Reply-To: <a2092d85-9b4d-40d3-883e-60207d2e3412@amd.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_|PAWPR03MB10092:EE_
x-ms-office365-filtering-correlation-id: 0622d296-f1b5-4e07-d234-08dd5d54da53
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|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?NDJlc1FOdnp3TmR2QTBZNXpKUmR5UjZ2NlozdEdYQlNTUXNOK2NZdmlzQllw?=
 =?utf-8?B?TUNRNGo5c0JETVM1Q3UrQWlZTytHakxUS3U0ajVMZjJBekpCWW1nUU1neXNO?=
 =?utf-8?B?V1dMYVBpc3laZ1VQRC9lY3dEWTVQc042c25sU1dRUzBCazJuaEhGREJOb0U2?=
 =?utf-8?B?UjBLZVlZQ2VpczBaVXFtYnhSTDBFUlpyQVpWa2ZpYm4rNTZvZG9aaVVyQmdI?=
 =?utf-8?B?N212T3VRKzlCSXRjUjI4N3dIVG55dGp5VkpCaXdiUTUyc0VWcUJ2NDhldWtx?=
 =?utf-8?B?UnVEMTFBNG85akdlNXpNWDNTc3FDam5wL1pzQW8ybTJCaVFCbUtHUUpReWlM?=
 =?utf-8?B?c1FWTFFpMXhrUjFRZm5ENkFXUFdIK0lXUUFjL0xGNGFrUjFZSXJad0RjcG1H?=
 =?utf-8?B?T1BtcjU1VWl0YWxnenNhdktnMUVXYjkvRll3TzF4QS9kbTZUSGtWMlpyOGZw?=
 =?utf-8?B?Q1QwNm1vb3EyUGg2Q2NSRitzSFBuRGlLNURZTWh3T1diK0JyUlhKejB1d1Fa?=
 =?utf-8?B?eE9mbW1XOTRDVTJwTzllWTU3YTNrZjNWb2FoTnk2SE1jZWxzdVZ0UVM1MmdV?=
 =?utf-8?B?NWFjamMycC92NlNhb0s3OFVaZ0NCT1NkRlZDMy9pVURIQ3FnM0NDc3Q4ZHBi?=
 =?utf-8?B?TllvcjVKNGkxMmhpY1g3UGVsc3p4S2doN0lXWWNtYW5NTldaWVI4T0VWODBD?=
 =?utf-8?B?Q1Bubm1ucGpPbUw3bWxXcWlocTdoRnpSUSt0cW41T2poUWE1Rk5qd2EzYkZU?=
 =?utf-8?B?NDB6RFRneUpxVnhBeWcyWHN4UnhSWDN5ZHFRUHRpa0c4V1pTWHhSdzZMbEJo?=
 =?utf-8?B?TksyM1g2QXVhQ0ZSUENWREs2S1Z2WkNqOE1OdmE4YnNZRExjWG9GNjVmNndx?=
 =?utf-8?B?enlxRHI3QmRqaGRKMG1IWUlHelRUOENnbG85S01KRnhxM1psUm42aGlCNzVY?=
 =?utf-8?B?QXNpN3A5ZUNHUmE5TkkxZmZVamZ3U2hrOTFXTFJvOTZCdVhmcmswV01jbVRM?=
 =?utf-8?B?NmJSUDFsemJvQ2JyV0VKWUxHOU5aWDVMYW1yN1pyYlkwcGh2VmQ4YjBmYWc2?=
 =?utf-8?B?NTQyeVI4d0kyOFdwMldxamc3aXhQby9jOWlpUlhaK2ZGUm9ycWYvK1BPNzEy?=
 =?utf-8?B?SlJVN0NGWjV6UnUwSUszQk5nS3FJM24rZWJoSi95OGR4YU52Um5WZVNncVNT?=
 =?utf-8?B?cGhrQ2g2ZGxzN016UzQ4V1ZzSTV1am0wQkhmei8wdVRNYmF3cE5KRW9oZ0dk?=
 =?utf-8?B?bjZqNmFVT1p2QkxJazdFQ2w1SVBFb1UvUmJBYUI3TGZ5cnJJMURKWVMxcDhX?=
 =?utf-8?B?NXd0U2JIQXVuTDQrT2NyOU1VOU9mL3lYU29oa2t2Sk42T1owb3krdFdjcVVk?=
 =?utf-8?B?cExZZVdMc2RDMFBzbXlzK2tPWjdyRjFQdzFSVy9TTEdwSFFPL1pkeEg2ODBP?=
 =?utf-8?B?emIwdGZPZ3NmdElmeXkybXNEOFczTlB4WkJSd0E4clQ1OUtNQXJtUHd2QmZI?=
 =?utf-8?B?azMvQnBUQjBBMm1GQ21hblQwU0doKzE5dFJ5WitOczBxTXVpWmJQYWJUS1dN?=
 =?utf-8?B?dlE5U0h0QjBLVXAxTllvaXRleWhiT2FIR3YzODhwTDExb2tVU1ZCOEZrOE01?=
 =?utf-8?B?WFZ6S2J1NHlsOW5tL3UxNkQ1VkVMYzdFbjRBelljR3g0L25ORFJRNFJHZ3dx?=
 =?utf-8?B?emZoYnFHdkFYczQwaHE4Qi9Ea0srNVgvOVVGbmViRzdpMDhiMEh2K3cyZVJB?=
 =?utf-8?B?QWhWRXNFa3RWc1VaeTNiZGdKMWV3Zll0c3pHRGUvWjRKRFB5dlJ3aVVudFlI?=
 =?utf-8?B?dmVhVTZSZFM4bG9JNG5JUEJhRU5TNXBMaHFzWWQwbHBnTGN6Ky9IWG9TZWJo?=
 =?utf-8?B?SDh5cUZOcitGTElxMlFMSEdNbTRVTTlXRmxBRlM2TCsvNFlscjFqMHhIT3Iw?=
 =?utf-8?Q?7Ry1ZFkpf6bhLWE5RVPHciSIc0gn/3Pj?=
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)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OEl6QjJjbWdGa1JQRFovQ2llR1F6MGtlTUdhUkR3SVM1cTdjUitubmdXSy83?=
 =?utf-8?B?U2ZtbzhQbmJlaWZrdm5XSmZiangvMFNNNEpUN0JyL1A4K0x1N2txTDFTVkJ0?=
 =?utf-8?B?UERSQ0VRMUQ1ZURnbmcwekJzR1dwczNKQjVCNzNOQjNqb05NQktIUytDek85?=
 =?utf-8?B?S1BEd1lpL3FXZnREdkN4WGh3bGR5c1BUZ0lvNDFhM1RIOHhPRW9vVDQyUVln?=
 =?utf-8?B?d25lakdBL20zZC9sTzBORkNIUmtUcjV5bjZJWnM4cTRGRDI4WmV3Q1oxM1k4?=
 =?utf-8?B?bzZmbjBHQ0cwUy9FV3k5NkFmOWF0VVdTaHM1cGlQRnRNZG90UFRKdDF5aG5C?=
 =?utf-8?B?ZGdzdlNYUEhPdFFFeWU3OU10aC9vMWdtSThOSUZYOWtKWDBrblkzTno1dnFL?=
 =?utf-8?B?aFptQTVVVmpjWnFnT3FWRDlMSkQvVTd3UERXTjBrMjA3ZEo0MDhWSEMvaXFN?=
 =?utf-8?B?QUpFWDc0Q0Q0Q2FkNVFuU3o5cWhMNE9uUUFCZ2xJNEd4VnVEUzB5Q0R3UDYv?=
 =?utf-8?B?WTY3Sk5YOENSY0l2TWdzdUxCNUJyZ1VubngySk9nV3ZFQUpiRXYxSmFRNjdH?=
 =?utf-8?B?bUQrOVQzVW13Z2J3NW90UENnTlM2bkFDU0hJOG55dGtIb2ZSMk9NYnFXTXVX?=
 =?utf-8?B?NGpvcEEzaFVodzM1ODJmQnEzbC9oSkg3NDZjQmRRRFZhL1VDTzhHb2tEclZn?=
 =?utf-8?B?MlkzQVFmajFHay9xeWc5dXZqZnYrSG9oYWpPWVptVGoyc09SNGx6Wlg3cDhS?=
 =?utf-8?B?M3RpMWY3UjkvSzNEeEErdy9mRWY0dkt4RGIrTzBwNi9BeURjT2h3aEZITkND?=
 =?utf-8?B?cUJHeC9mdThqV21BUlM5VmJTb1hMUU5NY1hkMHJNSGZzTURUTmtKZzAxRzY1?=
 =?utf-8?B?MGhhVTVMQ3NnVW01OVJDNlRsM0hlZzJIcGQySy9jdVNLbnJaWXJsWlZxeG1H?=
 =?utf-8?B?SWFDTjR0VnBIOVNtdTlSWnZJeldjN1ZzQ1lHREhZYlJIT3ZZV0VBaW1hUWhw?=
 =?utf-8?B?ZTJNcnk2ZENEa0QzTFJPbjl1SExDdTYyVXNVUEhZaWduMlhpT2hXY0dGb0pT?=
 =?utf-8?B?RDlCR2lNb2dycnl6YUlrUlVwdnhTMVVnQktYTGJrNmU3SWdCT0lMNi9oN2ha?=
 =?utf-8?B?R1VsYXY4WFNNaytHeFNMWFhpOWpqbXlFbEl1eCtablgrUXBCQSttekZHa2M3?=
 =?utf-8?B?NFBSTktEUCsvZ2xVZDlhVTBLbzJQZ3B5MnM0WTAycS9zRVVESnQxeWlxaVZL?=
 =?utf-8?B?a2pTQ0xyNEo5azlqRHFhdWs5UlJiZGJrQmxianNCQXdlMTBwbnhnSHBLaHp3?=
 =?utf-8?B?QU9WclRPOU1DbkhGUlIyRFE5bXNCQ0lTa2ZPZTJHMTJWU3NzbTVUdDdCazB4?=
 =?utf-8?B?aS95ZWsybWJTMngzVWVkQm43anVJNjlVNmVMQTY0L3Q1aHlLc0pqbXVpejd5?=
 =?utf-8?B?Ulg5ZXJEMmo3aWJrOExnYjd4RlBqdmMwanczdGh0UFc5alVtdlJhbXdiK2J2?=
 =?utf-8?B?Wm80am04clM2K1IyQWtUU29SNVRFQUZwdG0yLzdOVVY4TTdhVG1wYU02KzU1?=
 =?utf-8?B?WW5uUDFSLy9IY3dFM1ZLc1hzbzlYWVBmZ0RhZG5OL2NJaHpvR1RvSjFNK21W?=
 =?utf-8?B?MEFzV2s3eFp3MUYrM05zRzVZaStkcjd2TDJJbUl1WE1PNUtnMWd6S1RXbjBS?=
 =?utf-8?B?M0t1bkdtaVB3dEF0amVyTlN4Wlp3WERpVWxxRHZkSHF2ZWc0TkwzUDNWd0Jx?=
 =?utf-8?B?SmR5NHVZNkEyK2dPODBsV3RjcU5XMzZFeUVOUjdsRXBudmVaV1JCZXVTTWl5?=
 =?utf-8?B?V0xMVGRhN1Q4TmR4U2FKQTBiSWY3NzFyaVZ0b3hBYkV5VFJMZW9aa3JoY25m?=
 =?utf-8?B?QzF0T1Vna21ac282V2ZJSFJwR25aMGVNZmVmS0RBZStidDNHWlhqK1NhbE9C?=
 =?utf-8?B?MWdOeTdGWktiaVlpRWxJWHpsUGRPRXNDbFcwZjVZVDRQeWZ1UUVnZExSTHJo?=
 =?utf-8?B?eVlNNzlCNU96S1pXcVlXU2JnY3pxcW5uY2w0cVpuOVl3VWdKNDlIZmR6TCtx?=
 =?utf-8?B?QUZTV25ybUJxLzFvNnRnNWFWMHZwUDZtMUVqa0NvSkhHbGRNMkZRMUVQWkIv?=
 =?utf-8?B?UVZOVitLaHEyKzZ2WkY1RVJYSHRsWnU3ZmNVQlcrNm04NUlFMW9aUU1XVkpX?=
 =?utf-8?B?Qnc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <46A62DAAC559F6459120DB60FADE23BD@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: 0622d296-f1b5-4e07-d234-08dd5d54da53
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2025 08:48:37.7793
 (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: JaHiFisvuS9loo6luGtmFdvelqUb69fKBwiB17Qhdd74m4HvjXA9e5seE/dMxMwhfrcMdVb7hvHyeMzkKmhpfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR03MB10092

T24gMDYuMDMuMjUgMjE6MTUsIFN0ZXdhcnQgSGlsZGVicmFuZCB3cm90ZToNCj4gT24gMi8yNC8y
NSAwNDoxOCwgTXlreXRhIFBvdHVyYWkgd3JvdGU6DQo+PiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVz
aGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+Pg0KPj4gQWRkIHN1
cHBvcnQgZm9yIFJlbmVzYXMgUi1DYXIgR2VuNCBQQ0kgaG9zdCBjb250cm9sbGVyLg0KPj4gUzQg
YW5kIFY0SCBTb0NzIGFyZSBzdXBwb3J0ZWQuDQo+PiBJbXBsZW1lbnQgY29uZmlnIHJlYWQvd3Jp
dGUgb3BlcmF0aW9ucyBmb3IgYm90aCByb290IGFuZCBjaGlsZCBidXNlcy4NCj4+IEZvciBhY2Nl
c3NpbmcgdGhlIGNoaWxkIGJ1cywgaUFUVSBpcyB1c2VkIGZvciBhZGRyZXNzIHRyYW5zbGF0aW9u
Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2Fu
ZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IE15a3l0YSBQb3R1
cmFpIDxteWt5dGFfcG90dXJhaUBlcGFtLmNvbT4NCj4+IC0tLQ0KPj4gICB4ZW4vYXJjaC9hcm0v
cGNpL01ha2VmaWxlICAgICAgICAgfCAgIDEgKw0KPj4gICB4ZW4vYXJjaC9hcm0vcGNpL3BjaS1o
b3N0LXJjYXI0LmMgfCA1MjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAgIDIg
ZmlsZXMgY2hhbmdlZCwgNTMwIGluc2VydGlvbnMoKykNCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0
IHhlbi9hcmNoL2FybS9wY2kvcGNpLWhvc3QtcmNhcjQuYw0KPiANCj4gQ2FuIGFueSBwYXJ0cyBv
ZiB0aGlzIHBvdGVudGlhbGx5IGJlIHJldXNlZCBmb3Igb3RoZXIgZGVzaWdud2FyZS1iYXNlZA0K
PiBQQ0llIGNvbnRyb2xsZXJzPyBJZiBzbywgY291bGQgdGhvc2UgcGFydHMgYmUgbW92ZWQgdG8g
YSBzZXBhcmF0ZSBmaWxlPw0KDQpHcmVhdCBpZGVhISBJIHdpbGwgdHJ5IHRvIGRvIGEgc2VwYXJh
dGlvbiBzaW1pbGFyIHRvIGhvdyBpdCdzIGRvbmUgaW4gTGludXguDQoNCi0tIA0KTXlreXRh


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 08:50:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 08:50:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904733.1312574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTPy-0003YG-Uo; Fri, 07 Mar 2025 08:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904733.1312574; Fri, 07 Mar 2025 08:50: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 1tqTPy-0003Y9-Qc; Fri, 07 Mar 2025 08:50:54 +0000
Received: by outflank-mailman (input) for mailman id 904733;
 Fri, 07 Mar 2025 08:50: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqTPy-0003Y3-3Y
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:50: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 4617bf21-fb31-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 09:50:52 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43bbb440520so17330595e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 00:50:52 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd41c7cc7sm78908345e9.0.2025.03.07.00.50.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 00:50:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4617bf21-fb31-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741337451; x=1741942251; 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=O1x1n+AZzf5/b70OMat2ZfJvKVdQaC7k7NkrClJm+nU=;
        b=V37WWK4b28prbkr+rCu8gdkmZf0hol3nstrge59eZ9CauDFfQIveiQFcIww+1vH3yS
         dCSrBLKrhfUw3Y3QfET6+iHysrtDmutwwfDJA2dssYNkE8wQ4k21SbwJqVN3lXYxpnEP
         mfHUwu/13G4/Q53Cw02eXkR0yDLGU2RWNMdKVtTqO5XtpwFsy4PmBHJ65Tlih6udFKoM
         3NXkOXVreokzHu2yOdD7gTn4eXlp7KaKOOQWxoY6aDWA9CkQpHFXmqIPEbdD7lYPeIKg
         ht2um63Eq360kq4zhQOC8tTwe5QqaF/vm5gQknVg9dfehgI3nIlNPjlIK/olnWDgQFY/
         9QGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741337451; x=1741942251;
        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=O1x1n+AZzf5/b70OMat2ZfJvKVdQaC7k7NkrClJm+nU=;
        b=WHEMbRdJqh3dr9gzdfYKi0krE00bYFer9YGwYUgqRPNViRlQSFjxE1YbpdbURb5s6R
         c5RgEZZnEK/9G80H/Fn/gtKkZOgQ9kJjX4okjJIwdumeT3DuBbO73YFfeWk66YcIkSAu
         iTGY6Y0VGfSK+x3Lw87AJh1NfAnwL37YGFUnjGlehw+Dh/BT+zsFz3QOgdgwEsfzX2co
         IqmEBMU49gR8UsDFUAKJxAX1OmNl6UmVoJlgXcXjcVUT73jKbMmU5PN7Z5VzFUSpykvj
         RZURXt4B3lqXBCEebTpRAXXqqZ94ORdw8rlIngjt3CfqM71yGpZ/6kR+eugLelL4vFWk
         PCtw==
X-Forwarded-Encrypted: i=1; AJvYcCVhcPpDOb3SkQ42Sepj9trOYeO0FclDA0wEDBoXdKW/LUtV9Ntm27d4aMJwfXW3Ash00UVh7ELXo/I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyyg2IMhqrHn+1FSOYcXNJPSpX0Rx59G1AvK5C3S8ltC1ibftQB
	rPV6CljbRFRs7rOQejPvs3UeVHasoH5BvOO2FhLQN76fqEYmQTXrpt0nwNXsfw==
X-Gm-Gg: ASbGncv01psbJpGo2XyAm4xTnGrkrLjx4bpWN2YgE5hj8dQNeG0e9oBexQrktxFGMMz
	KHNLG6/gbI7ZwDQyT2MLTSdP2yqTdwjCvCf0hJA814W/mq6x4YtI7JKlj9o+vTMMJpQE0DMqiro
	is/S7Ez6JL3y0nq0TaTB4bcmZymIxzMN3EZNzpr4dj6pu+NYLTb2IFOPmDAGKHYHGBodBRCPFZq
	0+1S5ykhW6qnIBa3aqo+MeWkzTj/iLfX5kQVrzuP0hm+H30W+IKr9Wl61MWFikqJpH8hc/oZkXi
	Lumq6ubwqK+KLuJAAnn2gFTKDV4UC2bisIn62igaDt+fJDMQymAc9gJQRx6iK1PEAfbVkWYwQBa
	cO+ix0eIXlPKUPKXMVhh1JPOlnCgm3w==
X-Google-Smtp-Source: AGHT+IFtm0vCNT80/kaN0ZBJg+VWDLFqUhJpN6OWNhiKBvTVPzqhWfBg+8Nb70DFrpKT/ClmgXv6OQ==
X-Received: by 2002:a05:600c:468f:b0:43b:cf12:2ca6 with SMTP id 5b1f17b1804b1-43c5a62ff38mr16569555e9.1.1741337451492;
        Fri, 07 Mar 2025 00:50:51 -0800 (PST)
Message-ID: <26b95258-af65-4cbb-a054-d7fe9b0ea1e4@suse.com>
Date: Fri, 7 Mar 2025 09:50:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/e820: Remove opencoded vendor/feature checks
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 <xen-devel@lists.xenproject.org>
References: <20250306233519.3006560-1-andrew.cooper3@citrix.com>
 <1f5bf9e0-4f88-4d00-8b44-cc4e666aeea5@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: <1f5bf9e0-4f88-4d00-8b44-cc4e666aeea5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 09:48, Jan Beulich wrote:
> On 07.03.2025 00:35, Andrew Cooper wrote:
>> We've already scanned features by the time init_e820() is called.  Remove the
>> cpuid() calls.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
>> Backporting.  Not sure it's worth backporing, but it is safe (just) to
>> backport past commit 365f408339d3 ("x86/boot: Load microcode much earlier on
>> boot").  That commit was the last one to reposition early_cpu_init().
> 
> At least I wouldn't consider such cleanup to be an obvious backporting
> candidate.
> 
>> I'm pretty sure that all 64bit CPUs have MTRR, but I'm less certain if
>> dropping the check is wise given the variety of VM configurations that exist.
> 
> We did consider exposing PAT-only configurations to guests, so I don't think
> we should be implying MTRR from being 64-bit (unless we know cpu_has_hypervisor
> is false).

Except that - we do:

#define cpu_has_mtrr            1

I guess that wants undoing (pre-dating the consideration of Xen running
virtualized itself).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 09:01:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 09:01:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904750.1312583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTZx-00062k-TS; Fri, 07 Mar 2025 09:01:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904750.1312583; Fri, 07 Mar 2025 09:01: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 1tqTZx-00062d-Qj; Fri, 07 Mar 2025 09:01:13 +0000
Received: by outflank-mailman (input) for mailman id 904750;
 Fri, 07 Mar 2025 09:01:12 +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 1tqTZw-00062X-Lz
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 09:01:12 +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 1tqTZw-006tul-0M;
 Fri, 07 Mar 2025 09:01:11 +0000
Received: from [2a02:8012:3a1:0:9517:10f4:44fb:20af]
 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 1tqTZv-00C8Qh-1w;
 Fri, 07 Mar 2025 09:01: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>
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=Gi2H+Z6LnQa9RXh6kXivv8rTJXUPkDXRWWOVXCADnBQ=; b=rNpKUrwe+c4KwTUDTUfXHQsrrE
	NSKXi4EWSJg/Kv4IP0sAVpw8mRVz3xQ4n0ypbTfE+8LAeYDOLae5M4xOlhrpjF31hmActWeiWTBEC
	BvbJi1QdVJybskuWjrqTRf5p4ybgCfQc26S6/mACTNKYX7w9N3dtlvh108wiUatUoGQw=;
Message-ID: <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
Date: Fri, 7 Mar 2025 09:01:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
Content-Language: en-GB
To: Jason Andryuk <jason.andryuk@amd.com>, 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250306220343.203047-6-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 06/03/2025 22:03, Jason Andryuk wrote:
> Add capabilities property to dom0less to allow building a
> disaggregated system.
> 
> Introduce bootfdt.h to contain these constants.
> 
> When using the hardware or xenstore capabilities, adjust the grant and
> event channel limits similar to dom0.
 > > Also for the hardware domain, set directmap and iommu.  This brings its
> configuration in line with a dom0.

Looking the device tree bindings, a user would be allowed to disable 
"passthrough" or even "directmap". This means, we would never be able to 
disable "directmap" for the hardware domain in the future with the 
existing property (this is to avoid break backwards compatibility).

Instead, I think we should check what the user provided and confirm this 
is matching our expectation for an hardware domain.

That said, I am not entirely sure why we should force directmap for the 
HW domain. We are starting from a clean slate, so I think it would be 
better to have by default no directmap and imposing the presence of an 
IOMMU in the system.

Lastly, can you provide an example of what the hardware domain DT node 
would looke like?

> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> There is overlap with hyperlaunch.  The numeric values are the same.
> Hyperlaunch doesn't expose the values in a public header as done here.
> Is this to be expected for dom0less?  It seems most of dom0less isn't in
> a header, but just in docs.
> 
> Hyperlaunch uses BUILD_CAPS_, but I chose DOMAIN_CAPS_ since there are
> domain-level capabilities.
> 
> Only a single xenstore and hardware domain make sense.  A check to limit
> to only a single hardware domain is in place - building two breaks.  But
> nothing prevents the dom0less configuration from only having multiple
> xenstore domains.  Each xenstore domain would have slightly more
> permissions, but only the last one would be used.
 > --->   docs/misc/arm/device-tree/booting.txt | 11 ++++++++++
>   xen/arch/arm/dom0less-build.c         | 29 +++++++++++++++++++++++++++
>   xen/arch/arm/domain.c                 |  3 ++-
>   xen/include/public/bootfdt.h          | 27 +++++++++++++++++++++++++
>   4 files changed, 69 insertions(+), 1 deletion(-)
>   create mode 100644 xen/include/public/bootfdt.h
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index ac781c9cc8..490c792ddf 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -167,6 +167,17 @@ with the following properties:
>       Refer to docs/misc/cache_coloring.rst for syntax. This option is applicable
>       only to Arm64 guests.
>   
> +- capabilities
> +    Optional.  A bit field of domain capabilities for a disaggregated
> +    system.  A traditional dom0 has all all of these capabilities, and a
> +    domU has none of them.
> +
> +    0x1 DOMAIN_CAPS_CONTROL  - A privileged, control domain
> +    0x2 DOMAIN_CAPS_HARDWARE - The hardware domain - there can be only 1
> +    0x4 DOMAIN_CAPS_XENSTORE - The xenstore domain - there can be only 1
> +
> +    The default is no capabilities.
> +
>   - vpl011
>   
>       An empty property to enable/disable a virtual pl011 for the guest to
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 5a7871939b..068bf99294 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -12,6 +12,7 @@
>   #include <xen/sizes.h>
>   #include <xen/vmap.h>
>   
> +#include <public/bootfdt.h>
>   #include <public/io/xs_wire.h>
>   
>   #include <asm/arm64/sve.h>
> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>           if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>               panic("No more domain IDs available\n");
>   
> +        if ( dt_property_read_u32(node, "capabilities", &val) )
> +        {
> +            if ( val & ~DOMAIN_CAPS_MASK )
> +                panic("Invalid capabilities (%"PRIx32")\n", val);
> +
> +            if ( val & DOMAIN_CAPS_CONTROL )
> +                flags |= CDF_privileged;
> +
> +            if ( val & DOMAIN_CAPS_HARDWARE )
> +            {
> +                if ( hardware_domain )
> +                    panic("Only 1 hardware domain can be specified! (%pd)\n",
> +                           hardware_domain);
> +
> +                d_cfg.max_grant_frames = gnttab_dom0_frames();
> +                d_cfg.max_evtchn_port = -1;

What about d_cfg.arch.nr_spis? Are we expecting the user to pass "nr_spis"?

> +                flags |= CDF_hardware;
> +                flags |= CDF_directmap;
 > +                iommu = true;> +            }
> +
> +            if ( val & DOMAIN_CAPS_XENSTORE )
> +            {
> +                d_cfg.flags |= XEN_DOMCTL_CDF_xs_domain;
> +                d_cfg.max_evtchn_port = -1;
> +            }
> +        }
> +
>           if ( dt_find_property(node, "xen,static-mem", NULL) )
>           {
>               if ( llc_coloring_enabled )
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 3ba959f866..dc4b4e84c1 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -608,7 +608,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>   {
>       unsigned int max_vcpus;
>       unsigned int flags_required = (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap);
> -    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu);
> +    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu |
> +                                   XEN_DOMCTL_CDF_xs_domain );
>       unsigned int sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
>   
>       if ( (config->flags & ~flags_optional) != flags_required )
> diff --git a/xen/include/public/bootfdt.h b/xen/include/public/bootfdt.h
> new file mode 100644
> index 0000000000..4e87aca8ac
> --- /dev/null
> +++ b/xen/include/public/bootfdt.h
> @@ -0,0 +1,27 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Xen Device Tree boot information
> + *
> + * Information for configuring Xen domains created at boot time.
> + */
> +
> +#ifndef __XEN_PUBLIC_BOOTFDT_H__
> +#define __XEN_PUBLIC_BOOTFDT_H__
> +
> +/* Domain Capabilities specified in the "capabilities" property.  Use of
> + * this property allows splitting up the monolithic dom0 into separate,
> + * less privileged components.  A regular domU has no capabilities
> + * (which is the default if nothing is specified).  A traditional dom0
> + * has all three capabilities.*/
> +
> +/* Control/Privileged domain capable of affecting other domains. */
> +#define DOMAIN_CAPS_CONTROL  (1 << 0)
> +/* Hardware domain controlling physical hardware.  Typically providing
> + * backends to other domains.  */
> +#define DOMAIN_CAPS_HARDWARE (1 << 1)
> +/* Xenstore domain. */
> +#define DOMAIN_CAPS_XENSTORE (1 << 2)
> +#define DOMAIN_CAPS_MASK     (DOMAIN_CAPS_CONTROL | DOMAIN_CAPS_HARDWARE | \
> +                              DOMAIN_CAPS_XENSTORE)
> +
> +#endif /* __XEN_PUBLIC_BOOTFDT_H__ */

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 09:09:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 09:09:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904763.1312594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTht-0006hO-Ku; Fri, 07 Mar 2025 09:09:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904763.1312594; Fri, 07 Mar 2025 09:09: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 1tqTht-0006hH-I6; Fri, 07 Mar 2025 09:09:25 +0000
Received: by outflank-mailman (input) for mailman id 904763;
 Fri, 07 Mar 2025 09:09:24 +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 1tqThs-0006hB-22
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 09:09:24 +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 1tqThr-006u2t-2T;
 Fri, 07 Mar 2025 09:09:23 +0000
Received: from [2a02:8012:3a1:0:9517:10f4:44fb:20af]
 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 1tqThr-00C9g3-0S;
 Fri, 07 Mar 2025 09:09: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>
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=BFpTOSDy50ZixyM5uUXTyzOmmMUItVK4jkyiJjzaB1I=; b=0o5cqTbwg8bELn3kO0lyFr9QBm
	mQgXJwiX6NAua+H0aF9S4NyvqDrKz6DpsPzqFMQJHSAGL4Dy9giSBpYPBiw1MQqCR/xfIrDmVVJN7
	m17Mk4euUSc9NTDItcKFPG0uMcIUeiiDoL3cdXPyOFqAdKMtZeAj2Q2eCMDhaN0Xm/J0=;
Message-ID: <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
Date: Fri, 7 Mar 2025 09:09:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, 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>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
 <20250307075818.740649-2-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250307075818.740649-2-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 07/03/2025 07:58, Luca Fancellu wrote:
> When Xen is built without HAS_PASSTHROUGH, there are some parts
> in arm where iommu_* functions are called in the codebase, but
> their implementation is under xen/drivers/passthrough that is
> not built.
> 
> So provide some stub for these functions in order to build Xen
> when !HAS_PASSTHROUGH, which is the case for example on systems
> with MPU support.
> 
> For gnttab_need_iommu_mapping() in the Arm part, modify the macro
> to use IS_ENABLED for the HAS_PASSTHROUGH Kconfig.
> 
> Fixes: 0388a5979b21 ("xen/arm: mpu: Introduce choice between MMU and MPU")
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v4 changes:
>   - re-introduced stub for iommu_use_hap_pt, Stefano suggested
>     it is ok to have it in iommu.h.
>   - Reworded comment in iommu_domain_init from Jan suggestion
> 
> v3 Changes:
>   - removed stub for iommu_use_hap_pt, another solution will be
>     done for the instance in common arm code.
>   - Moved a comment close to the macro it was referred to
>   - add comment to iommu_domain_init() stub
>   - modified commit message
>   - Add fixes tag
> 
> v2 Changes:
>   - modify gnttab_need_iommu_mapping to use IS_ENABLED
>   - removed macro that didn't allow some of the parameter to be
>     evaluated
>   - Changed commit message
> ---
> ---
>   xen/arch/arm/include/asm/grant_table.h |  5 +--
>   xen/include/xen/iommu.h                | 50 +++++++++++++++++++++++++-
>   2 files changed, 52 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h
> index d3c518a926b9..c5d87b60c4df 100644
> --- a/xen/arch/arm/include/asm/grant_table.h
> +++ b/xen/arch/arm/include/asm/grant_table.h
> @@ -73,8 +73,9 @@ int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
>   #define gnttab_status_gfn(d, t, i)                                       \
>       page_get_xenheap_gfn(gnttab_status_page(t, i))
>   
> -#define gnttab_need_iommu_mapping(d)                    \
> -    (is_domain_direct_mapped(d) && is_iommu_enabled(d))
> +#define gnttab_need_iommu_mapping(d)                                     \
> +    (IS_ENABLED(CONFIG_HAS_PASSTHROUGH) && is_domain_direct_mapped(d) && \
> +     is_iommu_enabled(d))
>   
>   #endif /* __ASM_GRANT_TABLE_H__ */
>   /*
> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> index 77a514019cc6..5ac038521e23 100644
> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -110,6 +110,8 @@ extern int8_t iommu_hwdom_reserved;
>   
>   extern unsigned int iommu_dev_iotlb_timeout;
>   
> +#ifdef CONFIG_HAS_PASSTHROUGH
> +
>   int iommu_setup(void);
>   int iommu_hardware_setup(void);
>   
> @@ -122,6 +124,28 @@ int arch_iommu_domain_init(struct domain *d);
>   void arch_iommu_check_autotranslated_hwdom(struct domain *d);
>   void arch_iommu_hwdom_init(struct domain *d);
>   
> +#else
> +
> +static inline int iommu_setup(void)
> +{
> +    return -ENODEV;
> +}
> +
> +static inline int iommu_domain_init(struct domain *d, unsigned int opts)
> +{
> +    /*
> +     * Return as the real iommu_domain_init() would: Success when
> +     * !is_iommu_enabled(), following from !iommu_enabled when !HAS_PASSTHROUGH
> +     */
> +    return 0;
> +}
> +
> +static inline void iommu_hwdom_init(struct domain *d) {}
> +
> +static inline void iommu_domain_destroy(struct domain *d) {}
> +
> +#endif /* HAS_PASSTHROUGH */
> +
>   /*
>    * The following flags are passed to map (applicable ones also to unmap)
>    * operations, while some are passed back by lookup operations.
> @@ -209,6 +233,8 @@ struct msi_msg;
>   #ifdef CONFIG_HAS_DEVICE_TREE
>   #include <xen/device_tree.h>
>   
> +#ifdef CONFIG_HAS_PASSTHROUGH
> +
>   int iommu_assign_dt_device(struct domain *d, struct dt_device_node *dev);
>   int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev);
>   int iommu_dt_domain_init(struct domain *d);
> @@ -238,6 +264,26 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>    */
>   int iommu_remove_dt_device(struct dt_device_node *np);
>   
> +#else
> +
> +static inline int iommu_assign_dt_device(struct domain *d,
> +                                         struct dt_device_node *dev)
> +{
> +    return -EINVAL;
> +}
> +
> +static inline int iommu_add_dt_device(struct dt_device_node *np)
> +{
> +    return 1;

I would suggest to add a comment explain what 1 means. IIRC, this means 
"no iommu" present.

Other than that:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 09:13:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 09:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904772.1312604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTm2-0008Cj-4p; Fri, 07 Mar 2025 09:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904772.1312604; Fri, 07 Mar 2025 09:13: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 1tqTm2-0008Cc-1I; Fri, 07 Mar 2025 09:13:42 +0000
Received: by outflank-mailman (input) for mailman id 904772;
 Fri, 07 Mar 2025 09:13: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqTm0-0008CG-1p
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 09:13: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 74d2eba5-fb34-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 10:13:39 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43bc63876f1so13587645e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 01:13:39 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd435c6ffsm74559375e9.33.2025.03.07.01.13.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 01:13:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74d2eba5-fb34-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741338818; x=1741943618; 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=Cyl9hUZgtMTThSqrYpMZScOq562GDDGL0ex6bxdyrfA=;
        b=QaxOsY2edx+KIWJ4amHtTMk8z8qiXUhJX6e0gBGi5NcwnfpSeDCiBMDVjq8Nekp1Ex
         hX1IZYExYspm1lH7YLta3fI/L6H3ntxLud8559ASW6fXD0s0FPBU7UN0QwUHe7MFb4c5
         wyzAu/Z4/t3XlELND6m7zEskZ2JGHyciN8QxSJ7uI75LtX/hXxSEZoXIey7UabLARUHb
         YG05gDKekex9d9qXtEEz96+B/+S7kTDxB07SCfcnbgERbH+jXoqequD87/873KUDOmDb
         4a7s+Gux0/gaDu04DrUCk2bU4kzAMjBRdkFKVYev1AUyG7HjL7P0SrGOwDPWFq1JbX4O
         lzBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741338818; x=1741943618;
        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=Cyl9hUZgtMTThSqrYpMZScOq562GDDGL0ex6bxdyrfA=;
        b=E5LtSreOeEHbiXogRJWS6a+vARqBVGqLfRs4aMq3BfOJD9C47QwRIldbdYUsd996ua
         cz48Pjjb6RsB9WonM/HMlVuoRuVOb341pKnTonseMDp/i/BxceigjiyDDHHqa1hhRcF8
         F6oq2nOO9uwsGi7bHgdIqShKtn9u4843X3j0felB75wvKqX4iMGgfusWZexgtA2YtLah
         nk6q3UB9nUKJiluS5dnawDaeyN198MlPKKQFrZvBGI7enLlMo0E6CQD2yogVGGfuSqyl
         xvB9PZBydiauiHHxRrc28+xY8U8Q3Uvgmz/NrD9mcJoH/aoS70ak716YVRIUxLQJ/1HS
         kHSw==
X-Forwarded-Encrypted: i=1; AJvYcCXXfrQTjLLRppcq8+og946PVWFjuaDrH4lLRY08uN7HprxM5f38Cm+Pc6bCh+avlyL0K0hMLeu+f/E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOm46meNHZly3jzQiabAaAHsliI5+FP0KzSzF/+z+fY3jipzK2
	/PSMSguP2l8LATKZPGHwah04azBQqL7f0vpGDqyjnUjajm+bu677fZHnlvgTIA==
X-Gm-Gg: ASbGncudjmYGOPeHKvqAaB+ZFKQYmJ1eVK92L2ukaHVh0yWvHk+vhlfTlgGwZD51EKF
	G7LOGtGOVUIISAhT/CWXtGe+B8n3WWa5uBvRcL3OlwXGGq8loeXlCYFzmptZKYoTg15uLakNgtD
	/fCrCMjTdYKf5TnobRJeGHWi4Zvu66pxiGC6IBNe5n8X16ZvlWZ9wzqWRuiq4dxgxu+qR/O7Kdw
	V/Fw7xdyd1MUluC5Wf6Ze5ZnViyJTEDgZIIu/1d3w7lo8zgRsdKe1JSNLbI0qtEW0jfRvhyMHz/
	3s68YaaLKTt/SC+t2f5Yv+mJFgS47P8eoS+SQmnLHtIzgaaixJsG8JgKqqvGvELKIXGPzrPsnck
	Zt3lN5OluMooe1lcdE2AoIpTvGBwj6g==
X-Google-Smtp-Source: AGHT+IH5JfPLmzm6C79jD6Q1GDomSrY809xBbIONYCtMy6x8qUuxCduNUFjHq3ZtU1YIc2cmkjDEdw==
X-Received: by 2002:a05:600c:4750:b0:439:60ef:ce94 with SMTP id 5b1f17b1804b1-43c621ccff7mr14863225e9.21.1741338818458;
        Fri, 07 Mar 2025 01:13:38 -0800 (PST)
Message-ID: <09e07468-8558-477a-9e1d-1247620faea0@suse.com>
Date: Fri, 7 Mar 2025 10:13:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/IDT: Make idt_tables[] be per_cpu(idt)
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: <20250305000247.2772029-1-andrew.cooper3@citrix.com>
 <20250305000247.2772029-3-andrew.cooper3@citrix.com>
 <636170c8-2b61-4918-8c17-5c4953aa25ca@suse.com>
 <1cf7e95c-eea5-4a93-81ea-7505ee158b4f@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: <1cf7e95c-eea5-4a93-81ea-7505ee158b4f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07.03.2025 02:09, Andrew Cooper wrote:
> On 05/03/2025 2:01 pm, Jan Beulich wrote:
>> On 05.03.2025 01:02, Andrew Cooper wrote:
>>> This can be a plain per_cpu() variable, and __read_mostly seeing as it's
>>> allocated once and never touched again.
>> cpu_smpboot_free() certainly touches (really: modifies) it again.
> 
> Not really.Â  That's a dead path because we always park CPUs.

On Intel hardware; not (yet) on AMD / Hygon iirc.

Jan

> But fine, I'll rephrase to "not touched again during it's lifetime".
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 09:20:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 09:20:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904784.1312614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTsg-0001y4-PW; Fri, 07 Mar 2025 09:20:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904784.1312614; Fri, 07 Mar 2025 09:20: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 1tqTsg-0001xx-Mn; Fri, 07 Mar 2025 09:20:34 +0000
Received: by outflank-mailman (input) for mailman id 904784;
 Fri, 07 Mar 2025 09: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=Ceor=V2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tqTsg-0001xr-0Z
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 09:20:34 +0000
Received: from AS8PR03CU001.outbound.protection.outlook.com
 (mail-westeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c201::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b01a38b-fb35-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 10:20:32 +0100 (CET)
Received: from AS4P189CA0038.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5dd::10)
 by DU2PR08MB7374.eurprd08.prod.outlook.com (2603:10a6:10:2f2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar
 2025 09:20:28 +0000
Received: from AM3PEPF0000A79B.eurprd04.prod.outlook.com
 (2603:10a6:20b:5dd:cafe::7f) by AS4P189CA0038.outlook.office365.com
 (2603:10a6:20b:5dd::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.22 via Frontend Transport; Fri,
 7 Mar 2025 09:20:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A79B.mail.protection.outlook.com (10.167.16.106) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Fri, 7 Mar 2025 09:20:27 +0000
Received: ("Tessian outbound bc832f6acacf:v585");
 Fri, 07 Mar 2025 09:20:27 +0000
Received: from L7d429e545f6f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C53AF3C4-7A72-40D6-A134-9D2B69BE8FA1.1; 
 Fri, 07 Mar 2025 09:20:20 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L7d429e545f6f.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 07 Mar 2025 09:20:20 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by AS8PR08MB9268.eurprd08.prod.outlook.com (2603:10a6:20b:5a4::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.18; Fri, 7 Mar
 2025 09:20:18 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Fri, 7 Mar 2025
 09:20: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: 6b01a38b-fb35-11ef-9ab5-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=fzrJMHvDHcTD/QXFnkRO1TSXWr7ty2Y0TGI5/Kee4yE9VwZuKV14TuJkxULkrN/lCoPEJ8+7MNeIwwOg1gjSqrT3ZFerdsmIIzq6u43Fg3gzAzvTBGLsbiN34tYU0qSyR7CwyjQugqJiw3OxZsONpbv6wQigrqjem+Ml6IxBuIBXuOuYenfCD2MUOTpi4vHB8NT+QSSLSceWM4OqMypfOieLhJ9A29GuD25fqupg5kcCEHa/NI9DVfvthkaAf9VZZ7vF9qHwOAuWowy7Ip7FTDELs5RJDINZDJBUgh5iG0/uoLmn9cIdIEm+FKhM07sbKQNQS4N0zGvvFcHnCkp0lw==
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=wYL4OYVij4c+8oBG6Tjq29RndlZHUzxVFHP4bAybbfc=;
 b=em/OgqgUfXxsymgTuMiNwlT72XUlpcVvu+jJVMbWf/QR7q/JGWPOJCRzvBEgAup9qtrKG1M8YDwRqLAYTiGGW4FG4mB1pbEFgZrcekW1tDbQz99ltPi4RMe8BIJ45De3TbkGj+eyjnSjbSCG1waLmVf96hXXfYH6oY6jbKCuc9NvczYY1IScigrKBCMbNdcffk7s7Gbzu8NSDNTVQ4/BblJdd8e7sJeHD750+xAT83PNH7oAHopxYPqyQV9H/pAqb/8WJyi32iliP7d38nizL6CAM6mzy9yzVw4T0OCKJxrs1Ac9Cc04081MSg9nln7HwVfIu5xiJtmsn5EtjaEA8Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=wYL4OYVij4c+8oBG6Tjq29RndlZHUzxVFHP4bAybbfc=;
 b=HU8d+sVtBCpTaH6QRXuq53Zx45NNLUFh77on21vtP4LsMBwkYa5hDMBnkmmVdXyEFxFA+DPnGWyuanzNE/lrr0tCi/KZO7YOIVcE64Wjg5jdPxPBv4BKYK6gK8KQKlrCzskz/5X5Cgbo5eHDhALpmUm1vLfDjkONqdQ8RXR3WFU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 899bc6055df7dd41
X-TessianGatewayMetadata: rfVWmk5wODMGhHOimxGu5QKRX6jKbIHkk8NMsABisP2sUq0phyGDUvphtkUFgvqbpHW6ZksFHvs5Jo6LMVylQMVJgHBi0BYYUY0aWgP3TdmpF1eTvBiUKQ324CeyDdgiYV/yyWoCt1u8kxx+FHG6QmILOTpBK7OM4PAw/a3v0GA=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ERAWiv7btaYTQaday9k/QR4QoU87p7YgMTjST6nRxgUKZQIAtIJyqdnKhnRzjFHk8OqC2vaGDTHsv/6uOCSg6c0I1MKLGFmBWNJaQX4PoOW96Y/Zr5Bsd801V7Q3RhPQA9WANYJa37Qhf0O813j0O0TojA4IQD75bHrZqpw1Kpoy93eqtaw+lDhPJ8OpUxgDZbKj0slUdMvgQ8FjjGwQrQwBwxBRpr4mKo1fVfUFGbav1pnnRn1tDLVGjYr7y7fBCebUopwTJPmHERCYszkGMU+5Y2YEdmh9Cu/lewrziMIquKjXKRndi3GEGHpFOaCm8My6M5F9YLjRFwNJMC+LVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wYL4OYVij4c+8oBG6Tjq29RndlZHUzxVFHP4bAybbfc=;
 b=yIg78nCF1ovGHX5/iwursHG6q+UnRd34MmLhELvZ2LuThvL1qInpW3GN71AdYi3/Qy72a5cC1L95y1kSH6XfMIV/5PD9ULTyygLKuMB8Paye9nZbg2os2yNmQC012w85vMfA0a66SJN05iDhtBNmh18agM0QIaJuLVcK7+DJUFiGwsHJ8Vq2RpcGRmN/qqwsUMlTPbVfdRAplZiMM2OeHsPMJD/YlrYgUp1qqyEBjA+TbGWOdZAsFY3qYUaO077Q+artPRJ+/5enqi8IMnEwWRKuatLLC7eMgZ4BMQFSCSgHzopqpqyuMHdTXUq2BY5j9gAoi2suWOCaYTSACBEVVw==
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=wYL4OYVij4c+8oBG6Tjq29RndlZHUzxVFHP4bAybbfc=;
 b=HU8d+sVtBCpTaH6QRXuq53Zx45NNLUFh77on21vtP4LsMBwkYa5hDMBnkmmVdXyEFxFA+DPnGWyuanzNE/lrr0tCi/KZO7YOIVcE64Wjg5jdPxPBv4BKYK6gK8KQKlrCzskz/5X5Cgbo5eHDhALpmUm1vLfDjkONqdQ8RXR3WFU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: Re: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Thread-Topic: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Thread-Index: AQHbjzbI53lezYd1hUSXD4RbGtfICrNnYsoAgAAC7IA=
Date: Fri, 7 Mar 2025 09:20:18 +0000
Message-ID: <F4801232-DC72-44D4-AF0D-EFDF5D2B3202@arm.com>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
 <20250307075818.740649-2-luca.fancellu@arm.com>
 <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
In-Reply-To: <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|AS8PR08MB9268:EE_|AM3PEPF0000A79B:EE_|DU2PR08MB7374:EE_
X-MS-Office365-Filtering-Correlation-Id: 0bfd6348-5bb5-4a86-b00f-08dd5d594ca6
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|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?dFBzWTk4Z3Q1NlA2V3hZbUpYR09qZll6V1Y2UThQaXdDS1M0Y0owRmtKSkRT?=
 =?utf-8?B?NEE5d1Z3OEo1TktnV0FMOWh0b3BERlNzT25aMmVUbUlUNWVxQWJhc3RVRlRJ?=
 =?utf-8?B?OHNiVEx3S1Z4djZqYkJ5RGlDSmN1SW1BZHB6eHk1YmJlZmhaTmZzN0RaWnJT?=
 =?utf-8?B?Q2J5QVlFSUh4M1J3NllyVEJEV2V3RDR1Vm1GOTVKMDBybWZFMnRBbStRZXgx?=
 =?utf-8?B?bXgzSHJUSy92U3cybGp1dCs0T0VkVlJYQ1d2ZGN5eGppZ0xaRVpYaUlQV3U1?=
 =?utf-8?B?UWpieUU4VmF2dkhiM3VRWmF6T3N6NjBwS2cyRlFwMjlVTEZKOEo3Z1BaUUFz?=
 =?utf-8?B?MjM0bkVQcVR1TitabEpoMStmWHlXcTkyTkR0Mjg3bTR6RU91SzZCM0xFSzg0?=
 =?utf-8?B?VlVtRmtyNEZUazY2UFg2bnIxaldFak9saW9JbjZHMjVwSCtUM21aN2hteW0z?=
 =?utf-8?B?S29KQ0dlaTAwclREeUNFSzFkaXYzYWNhcFVHYy9SMTVYZU1oUnIreGtHRjBl?=
 =?utf-8?B?akx0UUhVSytzY0pLZFcxdGpxaUowakxIek5TQWlqU0UzNlVEa2UxQXZFcUph?=
 =?utf-8?B?dFJvY2V1WmlHNWwyMWR4TlhhZGlGOFA5UDhJb1lnMGJTZFFkSlFSNm1hRUN4?=
 =?utf-8?B?YkRIRzZNbi8wV2ZoU1RtMkRNeWRQNmRVM3JRYW82YUNFM2JqM083V3R4SjJH?=
 =?utf-8?B?eUVkMGlVUUxJZnBORG5jaU4vd3FiRXo3TWM1WS9KZGhSNWFTZW1EQlRucmo0?=
 =?utf-8?B?dGlCYXovMFpmOUtYbG5JZUp2VUxzeHo3MzluOW1mQmZMcXN0eDdobDNnbVJv?=
 =?utf-8?B?cDkrdEwrTE9OVTlZbzhENmhtYUFkUVJiWjhrcGMrQ08vZE9Jbk9RM0NkYm5x?=
 =?utf-8?B?Tkx2dEs0WDJxbGtXeGkzaGRlNGxiSXpSTzh4djZEZWp1QVNjYks4Z2ZmU0tN?=
 =?utf-8?B?RWVNWjNVNmRJVWtsOVdWNUNSRVJtbXFHTzJyNnVKVlhua0ZpcUhVQk1TSGw1?=
 =?utf-8?B?bnhHNTQzKzdJbm1vcEV6RzVSQ0JRZ25RWmQ3RzNCYzgxUWN4bTdBdUJNdmdH?=
 =?utf-8?B?THBjNXZWdlIrbk9pamYxclM3VU4vV2hKUTFTYWZScEVJTEQvRnV0Y2FqNHhT?=
 =?utf-8?B?QXQ4TmpqdUFEZkJGd0NHeTRUdUNiQjkyQUZwR2p6dGJ2MGlNMDgwRUZYMUpB?=
 =?utf-8?B?a2N2b2VRVjFXVVpLWDZjekh6ZnBQWEp3ZDY1Q2RnV1V2aU9kbjc1TlpnSEls?=
 =?utf-8?B?enE1RUR6Slc3UEtzdzlyYlRhUVhOcnFGcEZ5enc0N0xoUHk0bTQyN2I1VnNj?=
 =?utf-8?B?WjJVVTVBUms3QVk5Qk9tMk5KR1d4d1dQbHhaWkRSejZ6bjlFMVBkY3dPcXBD?=
 =?utf-8?B?TW5nU29NQzVxWTY0bzc2cFZvOVpobUZnNWdKTWwvYkRXaDgwUnRzV1BleURa?=
 =?utf-8?B?SVVpdzIrUE9zOWlOREx1NDRCK0hiWlNOTjZqZTBwNWNxeG8wQ2IyTG51dnl3?=
 =?utf-8?B?dlJScHFWMDZHRHFqUG1NNDdPSnIxZXdCb1dpdlFxK1pQMm9hRlRzeFBPSVk4?=
 =?utf-8?B?L2I3ZmxVMTFjOTdqRmsvVVlrRU5yb1VpTmtRMkRjdCtvN2FZWHl1SE5aZlp1?=
 =?utf-8?B?Y0ZVV2FJczZYb2VFUzJzZUxFeUpzQ0ZVVW1wWXZDN1JwaDFiVU9IMGI5ZjVJ?=
 =?utf-8?B?dHpFNURNcnJmb1ErUDJENm1oSEV5bDlSTEQ3dDN3NmszclNEM3IvcXZFZFBG?=
 =?utf-8?B?VUMwbEQ0Y3NYaUcrZ0crRFI5RVFsVVNMTHVPc1EyUFNYYmE3OXlQa1BkbXZm?=
 =?utf-8?B?dTdiMmYzUVJYTUthSE5YeDFZU0puVXRBVUpvM3N5bERpblB2L2RzZW4zaXVL?=
 =?utf-8?B?dkpvZ1lEbGdzZjVFOGw3V0RCVHQybkRmeVA4QmtmM2pGMjJOTXJpVCtHNWsr?=
 =?utf-8?Q?TTnwD2e/mNbMWQ98x8iYQyzbB8cyB/ol?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <894FF18736BF14448738BD8A3742AD89@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9268
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A79B.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	55b04427-56d5-498f-32ba-08dd5d594718
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|14060799003|376014|36860700013|82310400026|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cUx5VUl0VFI3QXlHK2h0aWlvUGhqU2x6TmVCQjVaOWRKMG5ZTWluUklyOTkw?=
 =?utf-8?B?MmhOZmp5YU1qa0RLRUVrMDREc2ZVcEtxR21DSjFacGg0ZExJYkkvSFR2MDhE?=
 =?utf-8?B?b3pqZVQ0Mm5IcWVGTk1FZ2ttWmkwSTFEVWl2VzBzWnNxZ0NuSyt3K0lDQVQ0?=
 =?utf-8?B?RWN3VlZJSCtCMmFkZjJWUWt2dE12S1FJZ2VOMXVYRG12dFVlanZuaEo2Z1NB?=
 =?utf-8?B?UmovcnRzR3lNTFMrUnRqQU9rQnZjeHRKZUtwSFNvMmZMcTZHdk0xOEs0N1hG?=
 =?utf-8?B?Q3pDWTBDVmpSZVpMdVptVFdVRVQ5Snc2a0NnNmZpaTArRUFxVVFCZnB2OE1O?=
 =?utf-8?B?YjFkZXBqSC9XQ1FRNFBrNVduTlVtc3JYQ1VQY3diMzI2T2dpNmlUQ0d4S09U?=
 =?utf-8?B?K3R2UWRWT045Z0JVYWZEemNNVWVnM3AvT3VoQlJuM3QxTE84dWpSNGwyWTdq?=
 =?utf-8?B?L3hFRkN1cWxqcGpmV3NHYk1VZStyZzlyTVJHbUlGYnVTWDcwc2l0V2hoWkhN?=
 =?utf-8?B?ZlZFSTlmd2Z2cWFLRHlBVUNpMzZ0b1lLZzFwM0graDluUThTSXR3bDh6cmFp?=
 =?utf-8?B?aW5RMWNZUVBYTHE3dmNXSHBHdTN3MmxITVd4Nk9oL0tpQVE5YW14NXh3M2Jk?=
 =?utf-8?B?SHJmOUF5eVg1c1BrREhIN0hnRWUycjJpSFVzOVJ3aTQ4WXd3VFliRWNIRFJt?=
 =?utf-8?B?MWxjcEorVFArOVJibXZZS1R6RWF3UW1UWVQweWVZVGFweW9KdWovL0ptejJQ?=
 =?utf-8?B?bStoYTRxOGtNdGw5RmFSdDNMbW16TS9aYkVIY21FKzd4TWxRQzE5R3B0NS83?=
 =?utf-8?B?YllqeXdYT2Fmd3BRNkhia0Njei85RlN0U0xWWEpzTU9ldmU4VjV1dmZSQ251?=
 =?utf-8?B?Z3VYUG5GTjcxQmtDdDRvUjNhZWo4TzU1U0ljYVdyTjloSGpvVWdiQmR1Um82?=
 =?utf-8?B?YXA3MCt5cnBpUzRqc09SZjFRcmJZMDJXU3NFbU4raGdrSkMzdlplZnhUK2JM?=
 =?utf-8?B?TUlDQ3Z4SHZyV1dKMW9SbW9TaHVsS2F6aUtZemF1OURPRlFhSUtiaHQrcGdZ?=
 =?utf-8?B?cmlQS0FaOGZ0N3ZJbnpVZ29YQnlaUjhLZnV2a05qNUJaTnZyVDFJNnlTKzB1?=
 =?utf-8?B?SW5ibTdDc29INWxIb3M3V2pyaTN4Y2NYRFUvQmVMRlJxbFd6L1pnRXgwZWhy?=
 =?utf-8?B?aTVXQmh4WU5mMmhadzEwZEo2QTBaS29wQzduYnR6MUJkeFl2NlAycDVRUUt0?=
 =?utf-8?B?WWd5VlVmMFZ1UThTeUxSbnlQakduTmpvMVdZdlVxOHEvaTZwUjFXcXE0SVV4?=
 =?utf-8?B?bDZjT0JiRmF2bUtIc01mV05BS2w4ekRQM045MDEzRHQ5bStPVG8vRE11NEdH?=
 =?utf-8?B?UkhxOGhRa09UUU4vYU94eVp0VUUrL213bWxyMzF3ZjZaT3RkTkl5MEIxTUZB?=
 =?utf-8?B?OGZwd2VDRE0wcTdNa1lESFIxQklBcktpK1h5cEltWGUxOE0wN3BXU1pTa0Ey?=
 =?utf-8?B?TStRQ21QZUh1UVFVK05GOWozT2I4Q0gzcFdoZzd4azNHNFN5OTJiMWErSm13?=
 =?utf-8?B?UW1VRGhiN1hFc0Irb2pnTzZ2WU5MaENRNUtKaUI4TVg0VWtwOXVRZTAxM1Js?=
 =?utf-8?B?Y2dnL1lMdmNBak5HZkQ0MDVMdTRPT1RTUUkzNmxmQ1pySnFpNVpiNnNkMFFw?=
 =?utf-8?B?MkFSSWxJVk90a0gyakpoRG9namt6TGNsZ0dicVJCYkZqRTVKUkt6eFhSRkRZ?=
 =?utf-8?B?d2doNE1YMEdNa2pMQlVMTHp3NE52aVgxS2x6UXJDSGFOM0k5YnZmaUtUc00r?=
 =?utf-8?B?bndlT2JrNjA3Z0xQaS9WMnFCZG9wR0sza29iUVd4K05LNzdpdDJyQ1NuSGxt?=
 =?utf-8?B?ODg1WkxjYmMzM1ZKdkFzdDJmSTUvZFdybTA5YzlqYjBiR1ZFaktCWFRPVXZa?=
 =?utf-8?B?d0VDRUxQbHhPcHdHbFVrNyt4Q1lXbDZKV0p3SFZUR2JnbkR2V3YvUkEzMGFX?=
 =?utf-8?Q?cPAQfNtwJQRJ9+/4wkYcj2YT9IokdE=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(14060799003)(376014)(36860700013)(82310400026)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 09:20:27.5318
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bfd6348-5bb5-4a86-b00f-08dd5d594ca6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A79B.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7374

SGkgSnVsaWVuLA0KDQo+IE9uIDcgTWFyIDIwMjUsIGF0IDA5OjA5LCBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEx1Y2EsDQo+IA0KPiBPbiAwNy8wMy8yMDI1
IDA3OjU4LCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gV2hlbiBYZW4gaXMgYnVpbHQgd2l0aG91
dCBIQVNfUEFTU1RIUk9VR0gsIHRoZXJlIGFyZSBzb21lIHBhcnRzDQo+PiBpbiBhcm0gd2hlcmUg
aW9tbXVfKiBmdW5jdGlvbnMgYXJlIGNhbGxlZCBpbiB0aGUgY29kZWJhc2UsIGJ1dA0KPj4gdGhl
aXIgaW1wbGVtZW50YXRpb24gaXMgdW5kZXIgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2ggdGhhdCBp
cw0KPj4gbm90IGJ1aWx0Lg0KPj4gU28gcHJvdmlkZSBzb21lIHN0dWIgZm9yIHRoZXNlIGZ1bmN0
aW9ucyBpbiBvcmRlciB0byBidWlsZCBYZW4NCj4+IHdoZW4gIUhBU19QQVNTVEhST1VHSCwgd2hp
Y2ggaXMgdGhlIGNhc2UgZm9yIGV4YW1wbGUgb24gc3lzdGVtcw0KPj4gd2l0aCBNUFUgc3VwcG9y
dC4NCj4+IEZvciBnbnR0YWJfbmVlZF9pb21tdV9tYXBwaW5nKCkgaW4gdGhlIEFybSBwYXJ0LCBt
b2RpZnkgdGhlIG1hY3JvDQo+PiB0byB1c2UgSVNfRU5BQkxFRCBmb3IgdGhlIEhBU19QQVNTVEhS
T1VHSCBLY29uZmlnLg0KPj4gRml4ZXM6IDAzODhhNTk3OWIyMSAoInhlbi9hcm06IG1wdTogSW50
cm9kdWNlIGNob2ljZSBiZXR3ZWVuIE1NVSBhbmQgTVBVIikNCj4+IFNpZ25lZC1vZmYtYnk6IEx1
Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gdjQgY2hhbmdl
czoNCj4+ICAtIHJlLWludHJvZHVjZWQgc3R1YiBmb3IgaW9tbXVfdXNlX2hhcF9wdCwgU3RlZmFu
byBzdWdnZXN0ZWQNCj4+ICAgIGl0IGlzIG9rIHRvIGhhdmUgaXQgaW4gaW9tbXUuaC4NCj4+ICAt
IFJld29yZGVkIGNvbW1lbnQgaW4gaW9tbXVfZG9tYWluX2luaXQgZnJvbSBKYW4gc3VnZ2VzdGlv
bg0KPj4gdjMgQ2hhbmdlczoNCj4+ICAtIHJlbW92ZWQgc3R1YiBmb3IgaW9tbXVfdXNlX2hhcF9w
dCwgYW5vdGhlciBzb2x1dGlvbiB3aWxsIGJlDQo+PiAgICBkb25lIGZvciB0aGUgaW5zdGFuY2Ug
aW4gY29tbW9uIGFybSBjb2RlLg0KPj4gIC0gTW92ZWQgYSBjb21tZW50IGNsb3NlIHRvIHRoZSBt
YWNybyBpdCB3YXMgcmVmZXJyZWQgdG8NCj4+ICAtIGFkZCBjb21tZW50IHRvIGlvbW11X2RvbWFp
bl9pbml0KCkgc3R1Yg0KPj4gIC0gbW9kaWZpZWQgY29tbWl0IG1lc3NhZ2UNCj4+ICAtIEFkZCBm
aXhlcyB0YWcNCj4+IHYyIENoYW5nZXM6DQo+PiAgLSBtb2RpZnkgZ250dGFiX25lZWRfaW9tbXVf
bWFwcGluZyB0byB1c2UgSVNfRU5BQkxFRA0KPj4gIC0gcmVtb3ZlZCBtYWNybyB0aGF0IGRpZG4n
dCBhbGxvdyBzb21lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gYmUNCj4+ICAgIGV2YWx1YXRlZA0KPj4g
IC0gQ2hhbmdlZCBjb21taXQgbWVzc2FnZQ0KPj4gLS0tDQo+PiAtLS0NCj4+ICB4ZW4vYXJjaC9h
cm0vaW5jbHVkZS9hc20vZ3JhbnRfdGFibGUuaCB8ICA1ICstLQ0KPj4gIHhlbi9pbmNsdWRlL3hl
bi9pb21tdS5oICAgICAgICAgICAgICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKy0N
Cj4+ICAyIGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+
PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2dyYW50X3RhYmxlLmggYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZ3JhbnRfdGFibGUuaA0KPj4gaW5kZXggZDNjNTE4YTky
NmI5Li5jNWQ4N2I2MGM0ZGYgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9h
c20vZ3JhbnRfdGFibGUuaA0KPj4gKysrIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2dyYW50
X3RhYmxlLmgNCj4+IEBAIC03Myw4ICs3Myw5IEBAIGludCByZXBsYWNlX2dyYW50X2hvc3RfbWFw
cGluZyh1aW50NjRfdCBncGFkZHIsIG1mbl90IGZyYW1lLA0KPj4gICNkZWZpbmUgZ250dGFiX3N0
YXR1c19nZm4oZCwgdCwgaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
DQo+PiAgICAgIHBhZ2VfZ2V0X3hlbmhlYXBfZ2ZuKGdudHRhYl9zdGF0dXNfcGFnZSh0LCBpKSkN
Cj4+ICAtI2RlZmluZSBnbnR0YWJfbmVlZF9pb21tdV9tYXBwaW5nKGQpICAgICAgICAgICAgICAg
ICAgICBcDQo+PiAtICAgIChpc19kb21haW5fZGlyZWN0X21hcHBlZChkKSAmJiBpc19pb21tdV9l
bmFibGVkKGQpKQ0KPj4gKyNkZWZpbmUgZ250dGFiX25lZWRfaW9tbXVfbWFwcGluZyhkKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAgIChJU19FTkFCTEVEKENP
TkZJR19IQVNfUEFTU1RIUk9VR0gpICYmIGlzX2RvbWFpbl9kaXJlY3RfbWFwcGVkKGQpICYmIFwN
Cj4+ICsgICAgIGlzX2lvbW11X2VuYWJsZWQoZCkpDQo+PiAgICAjZW5kaWYgLyogX19BU01fR1JB
TlRfVEFCTEVfSF9fICovDQo+PiAgLyoNCj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v
aW9tbXUuaCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oDQo+PiBpbmRleCA3N2E1MTQwMTljYzYu
LjVhYzAzODUyMWUyMyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oDQo+
PiArKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaA0KPj4gQEAgLTExMCw2ICsxMTAsOCBAQCBl
eHRlcm4gaW50OF90IGlvbW11X2h3ZG9tX3Jlc2VydmVkOw0KPj4gICAgZXh0ZXJuIHVuc2lnbmVk
IGludCBpb21tdV9kZXZfaW90bGJfdGltZW91dDsNCj4+ICArI2lmZGVmIENPTkZJR19IQVNfUEFT
U1RIUk9VR0gNCj4+ICsNCj4+ICBpbnQgaW9tbXVfc2V0dXAodm9pZCk7DQo+PiAgaW50IGlvbW11
X2hhcmR3YXJlX3NldHVwKHZvaWQpOw0KPj4gIEBAIC0xMjIsNiArMTI0LDI4IEBAIGludCBhcmNo
X2lvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpOw0KPj4gIHZvaWQgYXJjaF9pb21t
dV9jaGVja19hdXRvdHJhbnNsYXRlZF9od2RvbShzdHJ1Y3QgZG9tYWluICpkKTsNCj4+ICB2b2lk
IGFyY2hfaW9tbXVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKTsNCj4+ICArI2Vsc2UNCj4+
ICsNCj4+ICtzdGF0aWMgaW5saW5lIGludCBpb21tdV9zZXR1cCh2b2lkKQ0KPj4gK3sNCj4+ICsg
ICAgcmV0dXJuIC1FTk9ERVY7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbmxpbmUgaW50IGlv
bW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBvcHRzKQ0KPj4g
K3sNCj4+ICsgICAgLyoNCj4+ICsgICAgICogUmV0dXJuIGFzIHRoZSByZWFsIGlvbW11X2RvbWFp
bl9pbml0KCkgd291bGQ6IFN1Y2Nlc3Mgd2hlbg0KPj4gKyAgICAgKiAhaXNfaW9tbXVfZW5hYmxl
ZCgpLCBmb2xsb3dpbmcgZnJvbSAhaW9tbXVfZW5hYmxlZCB3aGVuICFIQVNfUEFTU1RIUk9VR0gN
Cj4+ICsgICAgICovDQo+PiArICAgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMg
aW5saW5lIHZvaWQgaW9tbXVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKSB7fQ0KPj4gKw0K
Pj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBpb21tdV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWlu
ICpkKSB7fQ0KPj4gKw0KPj4gKyNlbmRpZiAvKiBIQVNfUEFTU1RIUk9VR0ggKi8NCj4+ICsNCj4+
ICAvKg0KPj4gICAqIFRoZSBmb2xsb3dpbmcgZmxhZ3MgYXJlIHBhc3NlZCB0byBtYXAgKGFwcGxp
Y2FibGUgb25lcyBhbHNvIHRvIHVubWFwKQ0KPj4gICAqIG9wZXJhdGlvbnMsIHdoaWxlIHNvbWUg
YXJlIHBhc3NlZCBiYWNrIGJ5IGxvb2t1cCBvcGVyYXRpb25zLg0KPj4gQEAgLTIwOSw2ICsyMzMs
OCBAQCBzdHJ1Y3QgbXNpX21zZzsNCj4+ICAjaWZkZWYgQ09ORklHX0hBU19ERVZJQ0VfVFJFRQ0K
Pj4gICNpbmNsdWRlIDx4ZW4vZGV2aWNlX3RyZWUuaD4NCj4+ICArI2lmZGVmIENPTkZJR19IQVNf
UEFTU1RIUk9VR0gNCj4+ICsNCj4+ICBpbnQgaW9tbXVfYXNzaWduX2R0X2RldmljZShzdHJ1Y3Qg
ZG9tYWluICpkLCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRldik7DQo+PiAgaW50IGlvbW11X2Rl
YXNzaWduX2R0X2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUg
KmRldik7DQo+PiAgaW50IGlvbW11X2R0X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpOw0K
Pj4gQEAgLTIzOCw2ICsyNjQsMjYgQEAgaW50IGlvbW11X2RvX2R0X2RvbWN0bChzdHJ1Y3QgeGVu
X2RvbWN0bCAqZG9tY3RsLCBzdHJ1Y3QgZG9tYWluICpkLA0KPj4gICAqLw0KPj4gIGludCBpb21t
dV9yZW1vdmVfZHRfZGV2aWNlKHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbnApOw0KPj4gICsjZWxz
ZQ0KPj4gKw0KPj4gK3N0YXRpYyBpbmxpbmUgaW50IGlvbW11X2Fzc2lnbl9kdF9kZXZpY2Uoc3Ry
dWN0IGRvbWFpbiAqZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2KQ0KPj4gK3sNCj4+ICsgICAgcmV0dXJuIC1F
SU5WQUw7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbmxpbmUgaW50IGlvbW11X2FkZF9kdF9k
ZXZpY2Uoc3RydWN0IGR0X2RldmljZV9ub2RlICpucCkNCj4+ICt7DQo+PiArICAgIHJldHVybiAx
Ow0KPiANCj4gSSB3b3VsZCBzdWdnZXN0IHRvIGFkZCBhIGNvbW1lbnQgZXhwbGFpbiB3aGF0IDEg
bWVhbnMuIElJUkMsIHRoaXMgbWVhbnMgIm5vIGlvbW11IiBwcmVzZW50Lg0KDQpXb3VsZCBpdCBi
ZSBvayBzb21ldGhpbmcgbGlrZSBpbiBpb21tdV9kb21haW5faW5pdDoNCg0KLyoNCiAqIFJldHVy
bnMgYXMgdGhlIHJlYWwgaW9tbXVfYWRkX2R0X2RldmljZSgpIHdvdWxkOiBFcnJvciDigJxubyBp
b21tdSIgYmVjYXVzZQ0KICogIWlvbW11X2VuYWJsZWQgZHVlIHRvIHRoZSBmYWN0IHRoYXQgIUhB
U19QQVNTVEhST1VHSA0KICovDQoNCj4gDQo+IE90aGVyIHRoYW4gdGhhdDoNCj4gDQo+IEFja2Vk
LWJ5OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0KPiANCj4gQ2hlZXJzLA0KPiAN
Cj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 09:22:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 09:22:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904800.1312624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqTuW-0002im-AE; Fri, 07 Mar 2025 09:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904800.1312624; Fri, 07 Mar 2025 09: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 1tqTuW-0002if-6p; Fri, 07 Mar 2025 09:22:28 +0000
Received: by outflank-mailman (input) for mailman id 904800;
 Fri, 07 Mar 2025 09:22:27 +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 1tqTuV-0002iV-7S
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 09:22:27 +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 1tqTuU-006uJ9-2K;
 Fri, 07 Mar 2025 09:22:26 +0000
Received: from [2a02:8012:3a1:0:9517:10f4:44fb:20af]
 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 1tqTuU-00CAXt-0s;
 Fri, 07 Mar 2025 09:22: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>
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=LOO3bsbjLDkKTFTcxSxrHNGTU0H4SpiXVfq/cu5k0cs=; b=5Pd0cXys7d508aC0QRDxr/RK0b
	RKYuWDYiDcGJZcLcY3nYvwESFVsfzQgZUxyPE3ZDOQQVC+mGwN2PxzDhGEGp0LtJgxt3lmYB51l2S
	JcVKH/h2Nn7jMgCOoRlsDHEDqZEODyQXSSZ/nL4sOlvwLF4v540uJPOPCDnklrhhyq58=;
Message-ID: <9476def9-a02a-4676-ab29-92ba7516866b@xen.org>
Date: Fri, 7 Mar 2025 09:22:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
 <20250307075818.740649-2-luca.fancellu@arm.com>
 <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
 <F4801232-DC72-44D4-AF0D-EFDF5D2B3202@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <F4801232-DC72-44D4-AF0D-EFDF5D2B3202@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 07/03/2025 09:20, Luca Fancellu wrote:
>> On 7 Mar 2025, at 09:09, Julien Grall <julien@xen.org> wrote:
>>>   /*
>>>    * The following flags are passed to map (applicable ones also to unmap)
>>>    * operations, while some are passed back by lookup operations.
>>> @@ -209,6 +233,8 @@ struct msi_msg;
>>>   #ifdef CONFIG_HAS_DEVICE_TREE
>>>   #include <xen/device_tree.h>
>>>   +#ifdef CONFIG_HAS_PASSTHROUGH
>>> +
>>>   int iommu_assign_dt_device(struct domain *d, struct dt_device_node *dev);
>>>   int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev);
>>>   int iommu_dt_domain_init(struct domain *d);
>>> @@ -238,6 +264,26 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>>>    */
>>>   int iommu_remove_dt_device(struct dt_device_node *np);
>>>   +#else
>>> +
>>> +static inline int iommu_assign_dt_device(struct domain *d,
>>> +                                         struct dt_device_node *dev)
>>> +{
>>> +    return -EINVAL;
>>> +}
>>> +
>>> +static inline int iommu_add_dt_device(struct dt_device_node *np)
>>> +{
>>> +    return 1;
>>
>> I would suggest to add a comment explain what 1 means. IIRC, this means "no iommu" present.
> 
> Would it be ok something like in iommu_domain_init:
> 
> /*
>   * Returns as the real iommu_add_dt_device() would: Error âno iommu" because
>   * !iommu_enabled due to the fact that !HAS_PASSTHROUGH
>   */

That's fine with me. The iommu code is technically maintained by Jan, so 
I will wait for him to confirm he is fine with the patch before committing.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 09:46:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 09:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904817.1312634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqUHO-0007By-0W; Fri, 07 Mar 2025 09:46:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904817.1312634; Fri, 07 Mar 2025 09:46: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 1tqUHN-0007Br-U6; Fri, 07 Mar 2025 09:46:05 +0000
Received: by outflank-mailman (input) for mailman id 904817;
 Fri, 07 Mar 2025 09: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqUHN-0007Bl-0l
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 09:46:05 +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 fa906c71-fb38-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 10:46:01 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43bd5644de8so18036075e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 01:46:01 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bcbcbe64fsm71740575e9.0.2025.03.07.01.45.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 01:46:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa906c71-fb38-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741340761; x=1741945561; 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=4W6pX3E98C87U4EFHMStWMN+RiCAN79IXQGEvb8aLu8=;
        b=NDC2D97ZjGghj2DnSFXAptiUW5kSESzeO2jIzrV+dihCq0n/0okH8iPmXsaTKE3dQZ
         vn7weUyZHrmuk9mBq0l1+0FZSZkqDXFh5EOdKCKGUULZ53BGsJWVBwsYc9C2BjyDxYTt
         DnhsxQZPq1A13Mj8iKo2YHUQXHCDWPpup7ADE3corCHcDCFY6GVIO3mX1BaOajDeI2Re
         fMjfN7l6d+pQY/dICMYisDAepvXA9PGRXAcpu14WqAiP2Vyd2slVGUqZ2pUz3jq3fr1W
         B1+bOVzySlxDkIfJK+2zadIDuS2in0FlU9uY0MR8qSRnJeRLPmjJHEYAMdfjhGqvS+vQ
         ukDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741340761; x=1741945561;
        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=4W6pX3E98C87U4EFHMStWMN+RiCAN79IXQGEvb8aLu8=;
        b=mava6h1akmIHqGva2CvgorhBGywY2HhRj9neHBu0m+9FhNFiyfKwxE4EZZbyzijY3a
         42fSuwjn51axwJmR8E5y3N5kpysJ6iuPB7p2j9P843ILv3a0rp3ndifb8Hf1DUe+zC/w
         XUlmw1lLWaotZSOvPpk5HkF57Ur0p0dd3KBspGMYPuuvWZ53W5ju6Q23o+1qzmaYQKp9
         RI+U5cuxZ4hoJV3qYl5CqMIUE6E7/DDTkwpG1rREf/nOFtvpJ1RVuXITt+61pRq+ihMj
         /dox82rsvD7Kfa4deYhaGUPM7+GEICxODlDonpYcT+P/NkSB0r+xHZ6+UiAtqwCQqNl+
         9yLg==
X-Gm-Message-State: AOJu0Yw911hc0Fpzy1k80mUpqudWqc/jQ7ud82UPj+YHi7qGZS7lV4Bn
	3xoJ3GLwKT7T4xUk9GnTbZgSo/dvIeaMJIr/xMk00X91qNS8MLjPuUFHxjJr6g==
X-Gm-Gg: ASbGnctk6CwFCYbz0N8g6M8FVDbCe8gtuscEscwDXVA2+150q/TlPt3tQUwnG0ylr9n
	pZOIfm58QekwL7hsHtWHadWM07z3miw0YAqyl8OLXkx7fb27Chesz/wlCZxBRul3RKlM6hy7/GF
	LWuy21U7Pw+Fc/nGSvWHZP/xi/AbnAfOnc7eeOH0MptQch3to0OSuzf6ut8uEvW3w7LyWJ3PPGy
	N8PUBKwDhGTIdLwc/wpNpbyWJIG8Tf8T+LwadNIp5kZqlt7F1nUA7F7mozJXMzVzXYA7fTfbYfp
	/leL+Lfp+URwKbcsjJmU6BKVeZ+EqklLTtl95NrPrzPIi7vqwWUPuI446yepL8fG/iSc7kFm+oN
	ljmYbQoD9n0Bg04anwbcHqGr7mn952g==
X-Google-Smtp-Source: AGHT+IEr92KhGuc9/ENtlyaZeoemPjdIGwgcUEKsgyXU0ooMcGKhxnoGtOpHmuNBjKjBO4qibCRLdw==
X-Received: by 2002:a05:600c:5103:b0:439:a0a3:a15 with SMTP id 5b1f17b1804b1-43c601cf53amr25915405e9.14.1741340760538;
        Fri, 07 Mar 2025 01:46:00 -0800 (PST)
Message-ID: <cc4c694c-9d31-4239-a469-18580d74d35a@suse.com>
Date: Fri, 7 Mar 2025 10:45:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
To: Luca Fancellu <Luca.Fancellu@arm.com>, Julien Grall <julien@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.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>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
 <20250307075818.740649-2-luca.fancellu@arm.com>
 <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
 <F4801232-DC72-44D4-AF0D-EFDF5D2B3202@arm.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: <F4801232-DC72-44D4-AF0D-EFDF5D2B3202@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07.03.2025 10:20, Luca Fancellu wrote:
> Hi Julien,
> 
>> On 7 Mar 2025, at 09:09, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 07/03/2025 07:58, Luca Fancellu wrote:
>>> When Xen is built without HAS_PASSTHROUGH, there are some parts
>>> in arm where iommu_* functions are called in the codebase, but
>>> their implementation is under xen/drivers/passthrough that is
>>> not built.
>>> So provide some stub for these functions in order to build Xen
>>> when !HAS_PASSTHROUGH, which is the case for example on systems
>>> with MPU support.
>>> For gnttab_need_iommu_mapping() in the Arm part, modify the macro
>>> to use IS_ENABLED for the HAS_PASSTHROUGH Kconfig.
>>> Fixes: 0388a5979b21 ("xen/arm: mpu: Introduce choice between MMU and MPU")
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>> ---
>>> v4 changes:
>>>  - re-introduced stub for iommu_use_hap_pt, Stefano suggested
>>>    it is ok to have it in iommu.h.
>>>  - Reworded comment in iommu_domain_init from Jan suggestion
>>> v3 Changes:
>>>  - removed stub for iommu_use_hap_pt, another solution will be
>>>    done for the instance in common arm code.
>>>  - Moved a comment close to the macro it was referred to
>>>  - add comment to iommu_domain_init() stub
>>>  - modified commit message
>>>  - Add fixes tag
>>> v2 Changes:
>>>  - modify gnttab_need_iommu_mapping to use IS_ENABLED
>>>  - removed macro that didn't allow some of the parameter to be
>>>    evaluated
>>>  - Changed commit message
>>> ---
>>> ---
>>>  xen/arch/arm/include/asm/grant_table.h |  5 +--
>>>  xen/include/xen/iommu.h                | 50 +++++++++++++++++++++++++-
>>>  2 files changed, 52 insertions(+), 3 deletions(-)
>>> diff --git a/xen/arch/arm/include/asm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h
>>> index d3c518a926b9..c5d87b60c4df 100644
>>> --- a/xen/arch/arm/include/asm/grant_table.h
>>> +++ b/xen/arch/arm/include/asm/grant_table.h
>>> @@ -73,8 +73,9 @@ int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
>>>  #define gnttab_status_gfn(d, t, i)                                       \
>>>      page_get_xenheap_gfn(gnttab_status_page(t, i))
>>>  -#define gnttab_need_iommu_mapping(d)                    \
>>> -    (is_domain_direct_mapped(d) && is_iommu_enabled(d))
>>> +#define gnttab_need_iommu_mapping(d)                                     \
>>> +    (IS_ENABLED(CONFIG_HAS_PASSTHROUGH) && is_domain_direct_mapped(d) && \
>>> +     is_iommu_enabled(d))
>>>    #endif /* __ASM_GRANT_TABLE_H__ */
>>>  /*
>>> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
>>> index 77a514019cc6..5ac038521e23 100644
>>> --- a/xen/include/xen/iommu.h
>>> +++ b/xen/include/xen/iommu.h
>>> @@ -110,6 +110,8 @@ extern int8_t iommu_hwdom_reserved;
>>>    extern unsigned int iommu_dev_iotlb_timeout;
>>>  +#ifdef CONFIG_HAS_PASSTHROUGH
>>> +
>>>  int iommu_setup(void);
>>>  int iommu_hardware_setup(void);
>>>  @@ -122,6 +124,28 @@ int arch_iommu_domain_init(struct domain *d);
>>>  void arch_iommu_check_autotranslated_hwdom(struct domain *d);
>>>  void arch_iommu_hwdom_init(struct domain *d);
>>>  +#else
>>> +
>>> +static inline int iommu_setup(void)
>>> +{
>>> +    return -ENODEV;
>>> +}
>>> +
>>> +static inline int iommu_domain_init(struct domain *d, unsigned int opts)
>>> +{
>>> +    /*
>>> +     * Return as the real iommu_domain_init() would: Success when
>>> +     * !is_iommu_enabled(), following from !iommu_enabled when !HAS_PASSTHROUGH
>>> +     */
>>> +    return 0;
>>> +}
>>> +
>>> +static inline void iommu_hwdom_init(struct domain *d) {}
>>> +
>>> +static inline void iommu_domain_destroy(struct domain *d) {}
>>> +
>>> +#endif /* HAS_PASSTHROUGH */
>>> +
>>>  /*
>>>   * The following flags are passed to map (applicable ones also to unmap)
>>>   * operations, while some are passed back by lookup operations.
>>> @@ -209,6 +233,8 @@ struct msi_msg;
>>>  #ifdef CONFIG_HAS_DEVICE_TREE
>>>  #include <xen/device_tree.h>
>>>  +#ifdef CONFIG_HAS_PASSTHROUGH
>>> +
>>>  int iommu_assign_dt_device(struct domain *d, struct dt_device_node *dev);
>>>  int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev);
>>>  int iommu_dt_domain_init(struct domain *d);
>>> @@ -238,6 +264,26 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>>>   */
>>>  int iommu_remove_dt_device(struct dt_device_node *np);
>>>  +#else
>>> +
>>> +static inline int iommu_assign_dt_device(struct domain *d,
>>> +                                         struct dt_device_node *dev)
>>> +{
>>> +    return -EINVAL;
>>> +}
>>> +
>>> +static inline int iommu_add_dt_device(struct dt_device_node *np)
>>> +{
>>> +    return 1;
>>
>> I would suggest to add a comment explain what 1 means. IIRC, this means "no iommu" present.
> 
> Would it be ok something like in iommu_domain_init:
> 
> /*
>  * Returns as the real iommu_add_dt_device() would: Error âno iommu" because
>  * !iommu_enabled due to the fact that !HAS_PASSTHROUGH
>  */

We had been there before, hadn't we? Personally I find the suggested text
hard to follow. How about

    /*
     * !HAS_PASSTHROUGH => !iommu_enabled (see the non-stub
     * iommu_add_dt_device())
     */

If that's too terse, adding a few words should be fine.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 10:11:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 10:11:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904831.1312644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqUgD-0004lB-UO; Fri, 07 Mar 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 904831.1312644; Fri, 07 Mar 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 1tqUgD-0004l4-Qx; Fri, 07 Mar 2025 10:11:45 +0000
Received: by outflank-mailman (input) for mailman id 904831;
 Fri, 07 Mar 2025 10:11: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqUgC-0004ky-Eu
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 10:11:44 +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 919f602c-fb3c-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 11:11:43 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43bc48ff815so10167055e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 02:11:43 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8c3aa8sm46171535e9.14.2025.03.07.02.11.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 02:11:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 919f602c-fb3c-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741342303; x=1741947103; 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=7ZSXVjc2miKUFoLiDEfoI9Vwsq/CSEqNaJnezPJXwc4=;
        b=DeCXxupKRXI1oFCfKT16YYeeuhIjFPpxkIRzqVJ1F2EiATNSJJOW/57lRr4qWZyq21
         QSspd8WtJ8uKDzY+WfnsTq0n92cz9PfcZQvf2onGUxudg7DntUESde3gQv77blNOm9IW
         hf15yb926daiThsfXajJ6iYmZ1AXd86+VNGuFclpGga7LodsGMdms7Sl1bVFiscq31xw
         IPSU79W6V4XhfCGS7kBYIbGehulntpDdFaRKD57ZborhII8aP9KPAAo/ylOAIDbM2dxd
         VQe0EvOazYJ0T1aJ2B5LOI2hCAM4xH7AK4KUjcYiIjoHJHejqnSPmlXlSu+iWgE2hVff
         cgkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741342303; x=1741947103;
        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=7ZSXVjc2miKUFoLiDEfoI9Vwsq/CSEqNaJnezPJXwc4=;
        b=DImvE/l3M+/yYPwFXTGObCRK3sA5Gmqx6qs8CkJh9TVmwYjRuoLR6hkjH3Y4sgJdaR
         C9MDRUX3QdrxzEpw39f0uC+xo10riC4ADsFjifFTDtkpz8CQtRXs1usqlHNm+MDebt9x
         3Xl/xZRQqt9dn/HMsEgqyNRzmQ4XfcKZoSmOAtVHA/rg0sB/qAYGcOw+3gPTM0hyDXEI
         pGxq7aoUyL2x8Re6NZ+UisZyoy3GD6/w6TBK1H8QBUAnxr6r9Oj71veSLuXNa6BOHQh9
         wyXVMEuPH6sJMF7sHPw+Z0mwK7lczWwfLJLyIcfGuRtlCq/CLl8kE3/18TQGE0vpvnF2
         9voQ==
X-Gm-Message-State: AOJu0YwrmrFBpqFvyK2U2A/1qfyznmpTEpWmYQHdIjyGCXtgZlTUWauz
	dgsGx138/zpmRMqiBd1xvYQv6YNfDGdSEyPss+SXhcBkb/9uSqcRpjN3JWWU8ZHk1MIYQ1TmfuY
	=
X-Gm-Gg: ASbGnct18V+G8PKkrdTC7Mlem1s0nbuRBfn2pQwhf9hQuBAfBkhyMf8pnZ9lUP3op/L
	b/S78rdykvdGPX1c/eIGor8kXqF/J3RoOAqlszTwEoVXqgyw8/h4OuYx9m7iBzFQBMZpNrcMbB0
	1/yWtLuyTISnx/vi1+6ugQDpPuVoGInRg7duIAxx1E13+Yvoc9CUaVgOxP06ppPVy8h4fyzBT2V
	FAT5/WCuv5YDJS1Rg2GsYRe8vdd1YWU26LEXKWO0pl3luJ1Rv/orj3X74YLeCJl+e2cTZTj2mX2
	vYpGYnm7Lw45N4NFyf9+BQ5FqRbyMCKxSYUKM3MhwYmIFtGqpa53RS4VTRrXv6bHkSSYXayZItS
	b2cwzP3GTnjGEG0UqaFJ6WWtZHnXgKA==
X-Google-Smtp-Source: AGHT+IFLSw4U5goXom44ORWdkvAJxaNSNigDPKxhLuUc5DDECCGXduXJmpXUQ2hZYN86LbLfZBy8jw==
X-Received: by 2002:a7b:c053:0:b0:43b:c592:7e16 with SMTP id 5b1f17b1804b1-43bdb368dafmr49566775e9.3.1741342302667;
        Fri, 07 Mar 2025 02:11:42 -0800 (PST)
Message-ID: <0315252d-0378-4699-bff7-ce745d753438@suse.com>
Date: Fri, 7 Mar 2025 11:11:41 +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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Connor Davis <connojdavis@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Christopher Clark <christopher.w.clark@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] xen/events: fix global virq 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

VIRQs are split into "global" and "per vcpu" ones. Unfortunately in
reality there are "per domain" ones, too.

send_global_virq() and set_global_virq_handler() make only sense for
the real "global" ones, so replace virq_is_global() with a new
function get_virq_type() returning one of the 3 possible types (global,
domain, vcpu VIRQ).

To make its intended purpose more clear, also rename
send_guest_global_virq() to send_guest_domain_virq().

Fixes: 980822c5edd1 ("xen/events: allow setting of global virq handler only for unbound virqs")
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
As I don't have much time today (I'm having a day off), only compile
tested. Please try a CI run with this patch before applying!

Whether the "domain" infix in send_guest_domain_virq() is really useful
I don't know. Maybe we should go even father with renaming, to have
{vcpu,domain}_send_virq()?
---
v2: Also rename send_guest_global_virq().

--- a/xen/arch/arm/include/asm/event.h
+++ b/xen/arch/arm/include/asm/event.h
@@ -47,9 +47,9 @@ static inline void local_event_delivery_
 }
 
 /* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 #endif
--- a/xen/arch/ppc/include/asm/event.h
+++ b/xen/arch/ppc/include/asm/event.h
@@ -17,9 +17,9 @@ static inline int vcpu_event_delivery_is
 }
 
 /* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 static inline int local_events_need_delivery(void)
--- a/xen/arch/riscv/include/asm/event.h
+++ b/xen/arch/riscv/include/asm/event.h
@@ -24,9 +24,9 @@ static inline void local_event_delivery_
 }
 
 /* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 #endif /* ASM__RISCV__EVENT_H */
--- a/xen/arch/x86/include/asm/event.h
+++ b/xen/arch/x86/include/asm/event.h
@@ -41,10 +41,10 @@ static inline void local_event_delivery_
     vcpu_info(current, evtchn_upcall_mask) = 0;
 }
 
-/* No arch specific virq definition now. Default to global. */
-static inline bool arch_virq_is_global(unsigned int virq)
+/* Only global arch specific virq definitions. */
+static inline enum virq_type arch_get_virq_type(unsigned int virq)
 {
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 #ifdef CONFIG_PV_SHIM
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -440,7 +440,7 @@ signal_domain(struct domain *d)
 {
     argo_dprintk("signalling domid:%u\n", d->domain_id);
 
-    send_guest_global_virq(d, VIRQ_ARGO);
+    send_guest_domain_virq(d, VIRQ_ARGO);
 }
 
 static void
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -127,7 +127,7 @@ static struct domain *get_global_virq_ha
     return global_virq_handlers[virq] ?: hardware_domain;
 }
 
-static bool virq_is_global(unsigned int virq)
+static enum virq_type get_virq_type(unsigned int virq)
 {
     switch ( virq )
     {
@@ -135,14 +135,17 @@ static bool virq_is_global(unsigned int
     case VIRQ_DEBUG:
     case VIRQ_XENOPROF:
     case VIRQ_XENPMU:
-        return false;
+        return VIRQ_VCPU;
+
+    case VIRQ_ARGO:
+        return VIRQ_DOMAIN;
 
     case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
-        return arch_virq_is_global(virq);
+        return arch_get_virq_type(virq);
     }
 
     ASSERT(virq < NR_VIRQS);
-    return true;
+    return VIRQ_GLOBAL;
 }
 
 static struct evtchn *_evtchn_from_port(const struct domain *d,
@@ -476,7 +479,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t
     struct domain *d = current->domain;
     int            virq = bind->virq, vcpu = bind->vcpu;
     int            rc = 0;
-    bool           is_global;
+    enum virq_type type;
 
     if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) )
         return -EINVAL;
@@ -486,9 +489,9 @@ int evtchn_bind_virq(evtchn_bind_virq_t
     * speculative execution.
     */
     virq = array_index_nospec(virq, ARRAY_SIZE(v->virq_to_evtchn));
-    is_global = virq_is_global(virq);
+    type = get_virq_type(virq);
 
-    if ( is_global && vcpu != 0 )
+    if ( type != VIRQ_VCPU && vcpu != 0 )
         return -EINVAL;
 
     if ( (v = domain_vcpu(d, vcpu)) == NULL )
@@ -496,7 +499,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t
 
     write_lock(&d->event_lock);
 
-    if ( is_global && get_global_virq_handler(virq) != d )
+    if ( type == VIRQ_GLOBAL && get_global_virq_handler(virq) != d )
     {
         rc = -EBUSY;
         goto out;
@@ -756,7 +759,8 @@ int evtchn_close(struct domain *d1, int
         if ( chn1->u.virq == VIRQ_DOM_EXC )
             domain_deinit_states(d1);
 
-        v = d1->vcpu[virq_is_global(chn1->u.virq) ? 0 : chn1->notify_vcpu_id];
+        v = d1->vcpu[get_virq_type(chn1->u.virq) != VIRQ_VCPU
+            ? 0 : chn1->notify_vcpu_id];
 
         write_lock_irqsave(&v->virq_lock, flags);
         ASSERT(read_atomic(&v->virq_to_evtchn[chn1->u.virq]) == port1);
@@ -900,7 +904,7 @@ bool evtchn_virq_enabled(const struct vc
     if ( !v )
         return false;
 
-    if ( virq_is_global(virq) && v->vcpu_id )
+    if ( get_virq_type(virq) != VIRQ_VCPU && v->vcpu_id )
         v = domain_vcpu(v->domain, 0);
 
     return read_atomic(&v->virq_to_evtchn[virq]);
@@ -913,7 +917,7 @@ void send_guest_vcpu_virq(struct vcpu *v
     struct domain *d;
     struct evtchn *chn;
 
-    ASSERT(!virq_is_global(virq));
+    ASSERT(get_virq_type(virq) == VIRQ_VCPU);
 
     read_lock_irqsave(&v->virq_lock, flags);
 
@@ -933,14 +937,14 @@ void send_guest_vcpu_virq(struct vcpu *v
     read_unlock_irqrestore(&v->virq_lock, flags);
 }
 
-void send_guest_global_virq(struct domain *d, uint32_t virq)
+void send_guest_domain_virq(struct domain *d, uint32_t virq)
 {
     unsigned long flags;
     int port;
     struct vcpu *v;
     struct evtchn *chn;
 
-    ASSERT(virq_is_global(virq));
+    ASSERT(get_virq_type(virq) != VIRQ_VCPU);
 
     if ( unlikely(d == NULL) || unlikely(d->vcpu == NULL) )
         return;
@@ -995,9 +999,9 @@ static DEFINE_SPINLOCK(global_virq_handl
 
 void send_global_virq(uint32_t virq)
 {
-    ASSERT(virq_is_global(virq));
+    ASSERT(get_virq_type(virq) == VIRQ_GLOBAL);
 
-    send_guest_global_virq(get_global_virq_handler(virq), virq);
+    send_guest_domain_virq(get_global_virq_handler(virq), virq);
 }
 
 int set_global_virq_handler(struct domain *d, uint32_t virq)
@@ -1008,7 +1012,7 @@ int set_global_virq_handler(struct domai
 
     if (virq >= NR_VIRQS)
         return -EINVAL;
-    if (!virq_is_global(virq))
+    if (get_virq_type(virq) != VIRQ_GLOBAL)
         return -EINVAL;
 
     if (global_virq_handlers[virq] == d)
@@ -1204,7 +1208,7 @@ int evtchn_bind_vcpu(evtchn_port_t port,
     switch ( chn->state )
     {
     case ECS_VIRQ:
-        if ( virq_is_global(chn->u.virq) )
+        if ( get_virq_type(chn->u.virq) != VIRQ_VCPU )
             chn->notify_vcpu_id = v->vcpu_id;
         else
             rc = -EINVAL;
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -24,17 +24,17 @@
 void send_guest_vcpu_virq(struct vcpu *v, uint32_t virq);
 
 /*
- * send_global_virq: Notify the domain handling a global VIRQ.
- *  @virq:     Virtual IRQ number (VIRQ_*)
+ * send_guest_domain_virq:
+ *  @d:        Domain to which VIRQ should be sent
+ *  @virq:     Virtual IRQ number (VIRQ_*), may not be per-vCPU
  */
-void send_global_virq(uint32_t virq);
+void send_guest_domain_virq(struct domain *d, uint32_t virq);
 
 /*
- * send_guest_global_virq:
- *  @d:        Domain to which VIRQ should be sent
- *  @virq:     Virtual IRQ number (VIRQ_*), must be global
+ * send_global_virq: Notify the domain handling a global VIRQ.
+ *  @virq:     Virtual IRQ number (VIRQ_*)
  */
-void send_guest_global_virq(struct domain *d, uint32_t virq);
+void send_global_virq(uint32_t virq);
 
 /*
  * sent_global_virq_handler: Set a global VIRQ handler.
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -84,6 +84,12 @@ extern domid_t hardware_domid;
 #define XEN_CONSUMER_BITS 3
 #define NR_XEN_CONSUMERS ((1 << XEN_CONSUMER_BITS) - 1)
 
+enum virq_type {
+    VIRQ_GLOBAL,
+    VIRQ_DOMAIN,
+    VIRQ_VCPU
+};
+
 struct evtchn
 {
     rwlock_t lock;


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 10:13:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 10:13:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904843.1312654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqUhP-0005Ix-Ak; Fri, 07 Mar 2025 10:12:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904843.1312654; Fri, 07 Mar 2025 10: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 1tqUhP-0005Iq-7h; Fri, 07 Mar 2025 10:12:59 +0000
Received: by outflank-mailman (input) for mailman id 904843;
 Fri, 07 Mar 2025 10:12: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqUhN-0005Ij-RX
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 10:12:57 +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 bc0644f6-fb3c-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 11:12:54 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43bcad638efso9714585e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 02:12:54 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd426c56esm80085555e9.8.2025.03.07.02.12.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 02:12:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc0644f6-fb3c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741342374; x=1741947174; 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=mj7dpYe51f8Bs06A85T+QoEdXgUq3kWARWy1uDkTrD4=;
        b=Ka0XbAvCDkMoQcUcFeop/fLZMTJ9ETef60YknjUM001XupZ2RFxUNoptsmhcpqt7m1
         4BH3eJThgbggKjIdl/lgld9YqNc4DtLitaenRHPaiYNxA5rdhQoJwLaAvjBJ2SAuA2O4
         ApGjbOKxcfEQo08Iue80xsSQbE8P4TYto5qnt5IJMjOfmDpchP89um0clnUXt5JLIAPq
         MqoRzsr0NSfE6QJLTozRfMAQ+kSpcu0ha/x31GDkCsp5nM6cHYR1waRN1+111+96rIku
         Vst4YJ2Ae4XtUEnC4pMGDZVoq4WoMcHDqrx/BJBGoC5HgJdeomkf/euq0CJjBY4tbmJF
         ykXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741342374; x=1741947174;
        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=mj7dpYe51f8Bs06A85T+QoEdXgUq3kWARWy1uDkTrD4=;
        b=tXQkEeTuyHoAYYhdA5Ps+eb0rfWjJJGfSB5Jl56s5dtPXZpeeCDVPlKJrce/+92TtL
         8LmY93g+X3eix+RhkcypqIm+gq53lEYBDpn1LnjJzf6/L1znbwyL2+3UqFFueBTZKRoj
         x9IlLGe2IZ9Im1aGWeaZftveIYWQc7JfvXH3y2u/CJTXrxhO5WKiTjRgKuRkC+LPzsKQ
         ZHWr9ENSJCDSKOdrMzJMRdWYQbsHPisSKT94ShAA5Fx/fhFBWx/DYPhVwRNFrsYPBM32
         RIkVP7cswttcKcz/uxB3F5TLnFacyVZQPLnvTu0GlZZuOfdxNCNOWbsCWue8fVEkKWgw
         okSw==
X-Gm-Message-State: AOJu0YzgvABnxNZt4ga/go7wb2OtyG9dkyC5s78+BNq112Wb1XqlzoaA
	eWQeN0aDmTGo3S71GVnjis9DuWjjd1IravzmMOm5gXUXrpuX+cfQco/Cgv3dsVtuLtJkq6nhGvk
	=
X-Gm-Gg: ASbGncvh00bJl3M5c0vc7lcaImJn00AvFtPlMXHnf0lNIyBLD/SlNrnADKhw+Vol5Al
	E3A5EHu7bQtenZogKxRTybdw/ULpch6EpkmsN/Yn31d39FdHuISgoshffcA6lUNJFoXEtci2BuP
	BXzBbHBtmqNsZ37Qm0I5KUps5dTbSInkWjMJhi76HuPryTpLz+FpVqtU1FlfFTZ46QCuHd/vYhW
	J1im8L8OZUrDsos3PicP2A6E0CyJDO9LYYdUm4Rfhml7jubwfy6FcnDI8t59AtKONUb60B+d15f
	3OjkC1AJGlPpKHGrr0FK9YfT409Q9ds+ydoxFZDn041Vi20U7v4dSlMcVLwfPkMM+MwYNtkNubf
	vp6p519Eo5rIfknbm45CzcmIuvnhCcA==
X-Google-Smtp-Source: AGHT+IGoRGmaBEm98vWLkj939Fmpcj5E1peF+HSQuS1bUF/v/XFDxoAL/yBsZ/J0+tBdUcZ+24Zk7w==
X-Received: by 2002:a05:600c:3b9c:b0:43b:cfbb:3806 with SMTP id 5b1f17b1804b1-43c601e07e8mr21194435e9.14.1741342373824;
        Fri, 07 Mar 2025 02:12:53 -0800 (PST)
Message-ID: <489c9ef9-4ea2-42f1-b3b5-0992a4ef9cbd@suse.com>
Date: Fri, 7 Mar 2025 11:12:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/events: fix global virq 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>, 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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bobby Eshleman <bobbyeshleman@gmail.com>,
 Connor Davis <connojdavis@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Juergen Gross <jgross@suse.com>
References: <0315252d-0378-4699-bff7-ce745d753438@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: <0315252d-0378-4699-bff7-ce745d753438@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 11:11, Jan Beulich wrote:

Sorry, missed
From: Juergen Gross <jgross@suse.com>

Jan

> VIRQs are split into "global" and "per vcpu" ones. Unfortunately in
> reality there are "per domain" ones, too.
> 
> send_global_virq() and set_global_virq_handler() make only sense for
> the real "global" ones, so replace virq_is_global() with a new
> function get_virq_type() returning one of the 3 possible types (global,
> domain, vcpu VIRQ).
> 
> To make its intended purpose more clear, also rename
> send_guest_global_virq() to send_guest_domain_virq().
> 
> Fixes: 980822c5edd1 ("xen/events: allow setting of global virq handler only for unbound virqs")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> As I don't have much time today (I'm having a day off), only compile
> tested. Please try a CI run with this patch before applying!
> 
> Whether the "domain" infix in send_guest_domain_virq() is really useful
> I don't know. Maybe we should go even father with renaming, to have
> {vcpu,domain}_send_virq()?
> ---
> v2: Also rename send_guest_global_virq().
> 
> --- a/xen/arch/arm/include/asm/event.h
> +++ b/xen/arch/arm/include/asm/event.h
> @@ -47,9 +47,9 @@ static inline void local_event_delivery_
>  }
>  
>  /* No arch specific virq definition now. Default to global. */
> -static inline bool arch_virq_is_global(unsigned int virq)
> +static inline enum virq_type arch_get_virq_type(unsigned int virq)
>  {
> -    return true;
> +    return VIRQ_GLOBAL;
>  }
>  
>  #endif
> --- a/xen/arch/ppc/include/asm/event.h
> +++ b/xen/arch/ppc/include/asm/event.h
> @@ -17,9 +17,9 @@ static inline int vcpu_event_delivery_is
>  }
>  
>  /* No arch specific virq definition now. Default to global. */
> -static inline bool arch_virq_is_global(unsigned int virq)
> +static inline enum virq_type arch_get_virq_type(unsigned int virq)
>  {
> -    return true;
> +    return VIRQ_GLOBAL;
>  }
>  
>  static inline int local_events_need_delivery(void)
> --- a/xen/arch/riscv/include/asm/event.h
> +++ b/xen/arch/riscv/include/asm/event.h
> @@ -24,9 +24,9 @@ static inline void local_event_delivery_
>  }
>  
>  /* No arch specific virq definition now. Default to global. */
> -static inline bool arch_virq_is_global(unsigned int virq)
> +static inline enum virq_type arch_get_virq_type(unsigned int virq)
>  {
> -    return true;
> +    return VIRQ_GLOBAL;
>  }
>  
>  #endif /* ASM__RISCV__EVENT_H */
> --- a/xen/arch/x86/include/asm/event.h
> +++ b/xen/arch/x86/include/asm/event.h
> @@ -41,10 +41,10 @@ static inline void local_event_delivery_
>      vcpu_info(current, evtchn_upcall_mask) = 0;
>  }
>  
> -/* No arch specific virq definition now. Default to global. */
> -static inline bool arch_virq_is_global(unsigned int virq)
> +/* Only global arch specific virq definitions. */
> +static inline enum virq_type arch_get_virq_type(unsigned int virq)
>  {
> -    return true;
> +    return VIRQ_GLOBAL;
>  }
>  
>  #ifdef CONFIG_PV_SHIM
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -440,7 +440,7 @@ signal_domain(struct domain *d)
>  {
>      argo_dprintk("signalling domid:%u\n", d->domain_id);
>  
> -    send_guest_global_virq(d, VIRQ_ARGO);
> +    send_guest_domain_virq(d, VIRQ_ARGO);
>  }
>  
>  static void
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -127,7 +127,7 @@ static struct domain *get_global_virq_ha
>      return global_virq_handlers[virq] ?: hardware_domain;
>  }
>  
> -static bool virq_is_global(unsigned int virq)
> +static enum virq_type get_virq_type(unsigned int virq)
>  {
>      switch ( virq )
>      {
> @@ -135,14 +135,17 @@ static bool virq_is_global(unsigned int
>      case VIRQ_DEBUG:
>      case VIRQ_XENOPROF:
>      case VIRQ_XENPMU:
> -        return false;
> +        return VIRQ_VCPU;
> +
> +    case VIRQ_ARGO:
> +        return VIRQ_DOMAIN;
>  
>      case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
> -        return arch_virq_is_global(virq);
> +        return arch_get_virq_type(virq);
>      }
>  
>      ASSERT(virq < NR_VIRQS);
> -    return true;
> +    return VIRQ_GLOBAL;
>  }
>  
>  static struct evtchn *_evtchn_from_port(const struct domain *d,
> @@ -476,7 +479,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t
>      struct domain *d = current->domain;
>      int            virq = bind->virq, vcpu = bind->vcpu;
>      int            rc = 0;
> -    bool           is_global;
> +    enum virq_type type;
>  
>      if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) )
>          return -EINVAL;
> @@ -486,9 +489,9 @@ int evtchn_bind_virq(evtchn_bind_virq_t
>      * speculative execution.
>      */
>      virq = array_index_nospec(virq, ARRAY_SIZE(v->virq_to_evtchn));
> -    is_global = virq_is_global(virq);
> +    type = get_virq_type(virq);
>  
> -    if ( is_global && vcpu != 0 )
> +    if ( type != VIRQ_VCPU && vcpu != 0 )
>          return -EINVAL;
>  
>      if ( (v = domain_vcpu(d, vcpu)) == NULL )
> @@ -496,7 +499,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t
>  
>      write_lock(&d->event_lock);
>  
> -    if ( is_global && get_global_virq_handler(virq) != d )
> +    if ( type == VIRQ_GLOBAL && get_global_virq_handler(virq) != d )
>      {
>          rc = -EBUSY;
>          goto out;
> @@ -756,7 +759,8 @@ int evtchn_close(struct domain *d1, int
>          if ( chn1->u.virq == VIRQ_DOM_EXC )
>              domain_deinit_states(d1);
>  
> -        v = d1->vcpu[virq_is_global(chn1->u.virq) ? 0 : chn1->notify_vcpu_id];
> +        v = d1->vcpu[get_virq_type(chn1->u.virq) != VIRQ_VCPU
> +            ? 0 : chn1->notify_vcpu_id];
>  
>          write_lock_irqsave(&v->virq_lock, flags);
>          ASSERT(read_atomic(&v->virq_to_evtchn[chn1->u.virq]) == port1);
> @@ -900,7 +904,7 @@ bool evtchn_virq_enabled(const struct vc
>      if ( !v )
>          return false;
>  
> -    if ( virq_is_global(virq) && v->vcpu_id )
> +    if ( get_virq_type(virq) != VIRQ_VCPU && v->vcpu_id )
>          v = domain_vcpu(v->domain, 0);
>  
>      return read_atomic(&v->virq_to_evtchn[virq]);
> @@ -913,7 +917,7 @@ void send_guest_vcpu_virq(struct vcpu *v
>      struct domain *d;
>      struct evtchn *chn;
>  
> -    ASSERT(!virq_is_global(virq));
> +    ASSERT(get_virq_type(virq) == VIRQ_VCPU);
>  
>      read_lock_irqsave(&v->virq_lock, flags);
>  
> @@ -933,14 +937,14 @@ void send_guest_vcpu_virq(struct vcpu *v
>      read_unlock_irqrestore(&v->virq_lock, flags);
>  }
>  
> -void send_guest_global_virq(struct domain *d, uint32_t virq)
> +void send_guest_domain_virq(struct domain *d, uint32_t virq)
>  {
>      unsigned long flags;
>      int port;
>      struct vcpu *v;
>      struct evtchn *chn;
>  
> -    ASSERT(virq_is_global(virq));
> +    ASSERT(get_virq_type(virq) != VIRQ_VCPU);
>  
>      if ( unlikely(d == NULL) || unlikely(d->vcpu == NULL) )
>          return;
> @@ -995,9 +999,9 @@ static DEFINE_SPINLOCK(global_virq_handl
>  
>  void send_global_virq(uint32_t virq)
>  {
> -    ASSERT(virq_is_global(virq));
> +    ASSERT(get_virq_type(virq) == VIRQ_GLOBAL);
>  
> -    send_guest_global_virq(get_global_virq_handler(virq), virq);
> +    send_guest_domain_virq(get_global_virq_handler(virq), virq);
>  }
>  
>  int set_global_virq_handler(struct domain *d, uint32_t virq)
> @@ -1008,7 +1012,7 @@ int set_global_virq_handler(struct domai
>  
>      if (virq >= NR_VIRQS)
>          return -EINVAL;
> -    if (!virq_is_global(virq))
> +    if (get_virq_type(virq) != VIRQ_GLOBAL)
>          return -EINVAL;
>  
>      if (global_virq_handlers[virq] == d)
> @@ -1204,7 +1208,7 @@ int evtchn_bind_vcpu(evtchn_port_t port,
>      switch ( chn->state )
>      {
>      case ECS_VIRQ:
> -        if ( virq_is_global(chn->u.virq) )
> +        if ( get_virq_type(chn->u.virq) != VIRQ_VCPU )
>              chn->notify_vcpu_id = v->vcpu_id;
>          else
>              rc = -EINVAL;
> --- a/xen/include/xen/event.h
> +++ b/xen/include/xen/event.h
> @@ -24,17 +24,17 @@
>  void send_guest_vcpu_virq(struct vcpu *v, uint32_t virq);
>  
>  /*
> - * send_global_virq: Notify the domain handling a global VIRQ.
> - *  @virq:     Virtual IRQ number (VIRQ_*)
> + * send_guest_domain_virq:
> + *  @d:        Domain to which VIRQ should be sent
> + *  @virq:     Virtual IRQ number (VIRQ_*), may not be per-vCPU
>   */
> -void send_global_virq(uint32_t virq);
> +void send_guest_domain_virq(struct domain *d, uint32_t virq);
>  
>  /*
> - * send_guest_global_virq:
> - *  @d:        Domain to which VIRQ should be sent
> - *  @virq:     Virtual IRQ number (VIRQ_*), must be global
> + * send_global_virq: Notify the domain handling a global VIRQ.
> + *  @virq:     Virtual IRQ number (VIRQ_*)
>   */
> -void send_guest_global_virq(struct domain *d, uint32_t virq);
> +void send_global_virq(uint32_t virq);
>  
>  /*
>   * sent_global_virq_handler: Set a global VIRQ handler.
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -84,6 +84,12 @@ extern domid_t hardware_domid;
>  #define XEN_CONSUMER_BITS 3
>  #define NR_XEN_CONSUMERS ((1 << XEN_CONSUMER_BITS) - 1)
>  
> +enum virq_type {
> +    VIRQ_GLOBAL,
> +    VIRQ_DOMAIN,
> +    VIRQ_VCPU
> +};
> +
>  struct evtchn
>  {
>      rwlock_t lock;



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 10:18:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 10:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904853.1312664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqUmL-0005xZ-S1; Fri, 07 Mar 2025 10:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904853.1312664; Fri, 07 Mar 2025 10:18: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 1tqUmL-0005xS-PD; Fri, 07 Mar 2025 10:18:05 +0000
Received: by outflank-mailman (input) for mailman id 904853;
 Fri, 07 Mar 2025 10:18: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqUmL-0005xM-Eb
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 10:18:05 +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 742b18d1-fb3d-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 11:18:03 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43bd87f7c2eso9363605e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 02:18:03 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfbaa94sm4905486f8f.14.2025.03.07.02.18.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 02:18:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 742b18d1-fb3d-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741342683; x=1741947483; 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=lwusYRAshkn4IoRmn+Btk/sfMLkdMusYw3dg4FXrJfA=;
        b=DoMyWIBwoD3/cWFdYtBQGdz+QjOZuUoi4L9kBpjjJcseyC6zobybyQplPS0SYvKM9c
         rsF4FzfQuIkppnajLy2/rxYsk7n+PnHp7v6UC3g31o0WwoGdMfcYUWohkLIAtOF4FCbg
         PPRt/+g9IlCUSoe/Gy4NpuQF/NLzdw8vJ6KCaNmHP/BTOKcIwRbPaGmgbFiihINyuf5t
         7P9IS6z3qrqrvIofrz8smxi3MwrvedE9FLCq+/Hcm9mU5MbOtJC1Py3iVUoQn5u5t3O6
         EMddE49cBUqqYqjuUbsY5Dybu1Min1GwMjbIwZjqq+L3doh7K5X78BDqI5qh0/OtwXEO
         yd3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741342683; x=1741947483;
        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=lwusYRAshkn4IoRmn+Btk/sfMLkdMusYw3dg4FXrJfA=;
        b=XwNQvIEyc1c48/jHq+u0v6WaVu6T7v+dj4POQzhjlp00Q8PC6HOY6Tk3lJpIIuQ91s
         9XnKzH2457AxOpWP0Fdj539T8QEyBiN5QzrqMUrDKNBVH60dZQ1HKrOXKzu0axMFHmth
         kb6ltl/u2ch8j85iJi4X+FRkfr6dDfPUtWvKbvvPrlnEXBx79eHJcgyxuAjZRBJYVlRB
         fmRfAZRI8z0OSjeOr9ECCPd0gZLmF+RGQX7xUhI2Z32DSGQVO4sG1OsuJxEghohiSgN5
         z9+u5cFaHswGK40cbNMXvpBDRKeWMU4R9e+Gai1h/K/HUf8ymTc1pCE7pyNniX4tErpC
         YpdQ==
X-Forwarded-Encrypted: i=1; AJvYcCUzQ+FQgk6BinkKtBu7aymD113DReFg9lMGurYU+FF9LoEn3TszW0yOSe82JVfDbiVN4ndExo2i4mk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8Pp3mFumoDBz92kItLms5ZA+YwFe/U6HhEqEIuebNjTgftSgP
	9TzsRCkpFSIUywM0SuNTKLKKORlahPvjGzuUQsUMd2dVzf4beuno1YjgUiQ6jg==
X-Gm-Gg: ASbGncs57RaFx6xEOom952VeDf7VqPUskcx0/DhptNwtlVHeYt8UfkwAVuGqEC4YTxr
	8V7XX/GeDtOxUJXZNZ81cBNukjYcQlfauzbVMaMwq/bda+2PAk1JxYTiHkLYXRhIfd3/hJDindz
	RkTGXnhja5TEgEtztDrErnCMXc+Hw3Y9w8BqqqmOFmdGz+U0zOfBZY9ScdWjfASQvB6/8ppNaOl
	T8gykC1dI3KOtv+1Q67N91fGiEKUHREWXZLumMdQT/3rIHT97ZVV2MNzlMl+sflKhbwJ7ChaaPS
	0dVJduZUH5JOafSozbOFG3MzuaLTa96tazx/rLomi1x643kgs/+9K8tkKQj9+bfxu5jk+1oG4xp
	obQ3XR3uq6AxF2X48S7SD3R4aBM7GUQ==
X-Google-Smtp-Source: AGHT+IGXKqeuMDpIOn5fCsmA/A3KtV3o3FqDAwIIzN2D/HXXPQOuE2HR/PxD13987H3juysRFr8apA==
X-Received: by 2002:a5d:5889:0:b0:391:4f9:a039 with SMTP id ffacd0b85a97d-39132d1df2cmr2177980f8f.16.1741342682790;
        Fri, 07 Mar 2025 02:18:02 -0800 (PST)
Message-ID: <8fc6651f-f100-4ba6-95a8-faa8d99ed8f7@suse.com>
Date: Fri, 7 Mar 2025 11:18:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] x86/msi: don't use cached address and data fields
 in msi_desc for dump_msi()
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
References: <20250306145733.99927-1-roger.pau@citrix.com>
 <20250306145733.99927-3-roger.pau@citrix.com>
 <697601b2-5592-4552-b6e0-4366a55467e8@suse.com>
 <Z8nhxJV5lS4dz0AL@macbook.local>
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: <Z8nhxJV5lS4dz0AL@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 18:56, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 06, 2025 at 05:45:27PM +0100, Jan Beulich wrote:
>> On 06.03.2025 15:57, Roger Pau Monne wrote:
>>> Instead compose a dummy MSI message just for the purpose of getting the
>>> delivery attributes, which are the same for all messages.  Note that the
>>> previous usage of the cached MSI message wasn't fetching the hardware MSI
>>> fields either.
>>
>> This feels not future proof. There's no guarantee special IRQs (HPET, IOMMU)
>> would necessarily use msi_compose_msg() (or any open-coded subset thereof).
> 
> Hm, even if not using msi_compose_msg() I don't see how any device
> would use a different MSI settings from physical delivery and fixed
> destination.  I think it's unlikely for a device to use anything
> different from the current values set by msi_compose_msg().

I'm not entirely sure about this. If e.g. broadcast was possible to send via
MSI, I could see use cases. Potentially also for e.g. NMI.

> Otherwise I can see about returning whether the entry needs to be
> updated from iommu_update_ire_from_msi() (if the offset into the IRT
> for the entry has changed).  However that requires adding code to both
> AMD and Intel IOMMU implementations, and will need at least a way to
> signal that the MSI fields must forcefully be written on resume.

While that may indeed be more intrusive, it feels like it may be the less
risky approach (as to overlooking yet another case where we rely on the
untranslated message to be stored). Overall I can only say that I'm
uncertain which of the two approaches would end up being better.

>>> @@ -1512,8 +1520,7 @@ static void cf_check dump_msi(unsigned char key)
>>>              mask = '?';
>>>          printk(" %-6s%4u vec=%02x%7s%6s%3sassert%5s%7s"
>>>                 " dest=%08x mask=%d/%c%c/%c\n",
>>> -               type, irq,
>>> -               (data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT,
>>> +               type, irq, desc->arch.vector,
>>
>> We've already dropped desc's lock, so shouldn't be de-referencing desc anymore.
> 
> Right, I need to cache it before dropping the lock.
> 
>>>                 data & MSI_DATA_DELIVERY_LOWPRI ? "lowest" : "fixed",
>>>                 data & MSI_DATA_TRIGGER_LEVEL ? "level" : "edge",
>>>                 data & MSI_DATA_LEVEL_ASSERT ? "" : "de",
>>
>> To add to the comment at the top, plus taking patch 1 into account: If we
>> uniformly used the output of the dummy msi_compose_msg() invocation, why would
>> we even bother to log information conditionally upon what is in data/addr?
> 
> We could change what's set by msi_compose_msg(), and then the
> information here would be incorrect (if hardcoded).

Hmm, yes, that could happen, but would hopefully be caught in review (much
like it happened this time round).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 10:39:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 10:39:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904868.1312674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqV6p-0000y5-Gm; Fri, 07 Mar 2025 10:39:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904868.1312674; Fri, 07 Mar 2025 10:39: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 1tqV6p-0000xy-Dd; Fri, 07 Mar 2025 10:39:15 +0000
Received: by outflank-mailman (input) for mailman id 904868;
 Fri, 07 Mar 2025 10:39: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 1tqV6o-0000xs-5n
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 10:39: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 1tqV6b-006vsi-2H;
 Fri, 07 Mar 2025 10:39:01 +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 1tqV6b-00CI90-0T;
 Fri, 07 Mar 2025 10:39: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=XTOmmQ2mK3eAeh54TywQk0UUL/JTx2q9dmNhnKy7zMQ=; b=1OtPf4htAZU3Rd4LYuqdGPd2jO
	NrsngLKHhI9MHj9pq5vgYo4rsqtytr3k+hQXsQ2qWPnJbTyWMq4s14VE7hJX0FeUkSN68H+3Q8Ba4
	gHUqZXy/o9Q/oklXinrpZaakMssFoJqkYaHHGkVJ7Z2HL/FWH5zi80opaoqdYaUawlbk=;
Date: Fri, 7 Mar 2025 11:38:58 +0100
From: Anthony PERARD <anthony@xenproject.org>
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
	kvm@vger.kernel.org, Sean Christopherson <seanjc@google.com>
Subject: Re: [PATCH 2/2] hw/xen: Add "mode" parameter to xen-block devices
Message-ID: <Z8rMwkKVSgop_eNV@l14>
References: <20250207143724.30792-1-dwmw2@infradead.org>
 <20250207143724.30792-2-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250207143724.30792-2-dwmw2@infradead.org>

On Fri, Feb 07, 2025 at 02:37:24PM +0000, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Block devices don't work in PV Grub (0.9x) if there is no mode specified. It
> complains: "Error ENOENT when reading the mode"
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 11:15:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 11:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904888.1312683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqVfe-0001Ho-4g; Fri, 07 Mar 2025 11:15:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904888.1312683; Fri, 07 Mar 2025 11: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 1tqVfe-0001Hh-2D; Fri, 07 Mar 2025 11:15:14 +0000
Received: by outflank-mailman (input) for mailman id 904888;
 Fri, 07 Mar 2025 11: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=xMDZ=V2=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tqVfd-0001Ha-0E
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 11:15:13 +0000
Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com
 [2607:f8b0:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b101417-fb45-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 12:15:04 +0100 (CET)
Received: by mail-oi1-x22f.google.com with SMTP id
 5614622812f47-3f66dae4db9so1096475b6e.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 03:15:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b101417-fb45-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741346103; x=1741950903; 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=aC+mRq0zftwvLnH56/1dj9mNI5kr+QrZy3+JWI7HWko=;
        b=gd+Fc5gWVsh55G6Fcxncy0fFGMk9oKA36XieMIkuROeUn0auuFcXx2MWYcchlgfeOh
         nLzxhz0+YvuP4oAET09sx+nwLzhbfEiES/gJuuG834OLwUbjjpiTMV3jBFb0qry96DEE
         jcdlwVPic2WRiU+EU4C7deVdYuc/s2gPmYPJA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741346103; x=1741950903;
        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=aC+mRq0zftwvLnH56/1dj9mNI5kr+QrZy3+JWI7HWko=;
        b=eBL32Jj2jofNrOIkd9F7E2DQzBHsESSCeaAx4x64b1Yn2uaSnsZ5mrM7uAigfrBicJ
         RR3QueDSnKBUHonDXcFPuPO0PLjNY/JIk73Jcppg/4/4W+ZJdnT/V2/0EOdniFMVvAi0
         63kxl+v1uJZzrEmxYLaUfBQzkVFZYBPpaP1/YxyOdgXrIP0uE/lZSq8zEZ+xlaRc30VF
         s2emM0c9gvNY1fXxUbhjZzE7HmV+gv/6q0o3/vLCexe5XGENw52GaanAsbMdHx6g6Tfj
         WiYR94Zub1/kyNOEn3ALnxbi0/usyB2GLJKXyhpxgK6NCslmqGTiLkMKCsOflvXOSvO9
         koJQ==
X-Forwarded-Encrypted: i=1; AJvYcCWOVt3hMDZAdhuj1S7JOfPzt0cZiueLRbdGOSI3+CoP6LMfDUTf36jX7R15C2z3C/U2Z4sZVB17W1U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmslSVH3jcrwWVecaXoVqtq/QWviknbYJ7qp2hNWfef6+WLVgL
	kom/shJMI50oj4LXDgZ67VC/zcBCzj9ag7tOiFEnT2q8PD7avRi53V81jHxCbLWhbm/vl5Belfz
	RSN3rtCIqiew1lYafIrSNeHlNO4GO5ObCSic+oQ==
X-Gm-Gg: ASbGncvrcJmtSQqQuNkncIUF5TeQO0YnLCtiAo6XZsROOf5bHmn7bFkIRxdgSeDACz+
	nwHu/vzHFmKRf+RjVJzO6onKdqG38+maU1cSCC6g8vKeteSHV4dF9Oiz2NXmTUcMHUqUG7hoNyp
	HN1xqecuV71KS/bDE+P+i/PSGtZQ==
X-Google-Smtp-Source: AGHT+IHS+8sjc5YG92F0jPHMOtSWgd5xfM0ddbwObbq034Q1F2GLBGE1S1EJ2zlSWt+Q5PT+yX0vy3cVNnVd7DpetaE=
X-Received: by 2002:a05:6808:2201:b0:3f6:6d32:bdb4 with SMTP id
 5614622812f47-3f697bcd23fmr1526628b6e.24.1741346103371; Fri, 07 Mar 2025
 03:15:03 -0800 (PST)
MIME-Version: 1.0
References: <20250225140400.23992-1-frediano.ziglio@cloud.com>
 <20250227145016.25350-1-frediano.ziglio@cloud.com> <a14c6897-075c-4b2c-8906-75eb96d5c430@citrix.com>
 <Z8GuItUuhbF1UZ9V@macbook.local>
In-Reply-To: <Z8GuItUuhbF1UZ9V@macbook.local>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Fri, 7 Mar 2025 11:14:52 +0000
X-Gm-Features: AQ5f1JprH-QX_1EZaSQq9Kv8z1dnQxxStGxVbnOaCg1A07TCPjKd2tyHe_b2rh0
Message-ID: <CACHz=ZjurD-dvVOnOCJv4q02UV4iy78J5hJ8rMh1UPAZBbfaXQ@mail.gmail.com>
Subject: Re: [PATCH v2] xen: Add support for XenServer 6.1 platform device
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, 
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, 
	Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Bjorn Helgaas <bhelgaas@google.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,
   after all discussions on this thread and Xen-devel, can we agree
that this patch is good as it is and can be merged upstream?
Just to make it clear, it was already acked.

Regards,
   Frediano

On Fri, Feb 28, 2025 at 12:37=E2=80=AFPM Roger Pau Monn=C3=A9 <roger.pau@ci=
trix.com> wrote:
>
> On Thu, Feb 27, 2025 at 03:41:54PM +0000, Andrew Cooper wrote:
> > On 27/02/2025 2:50 pm, Frediano Ziglio wrote:
> > > On XenServer on Windows machine a platform device with ID 2 instead o=
f
> > > 1 is used.
> > >
> > > This device is mainly identical to device 1 but due to some Windows
> > > update behaviour it was decided to use a device with a different ID.
> > >
> > > This causes compatibility issues with Linux which expects, if Xen
> > > is detected, to find a Xen platform device (5853:0001) otherwise code
> > > will crash due to some missing initialization (specifically grant
> > > tables). Specifically from dmesg
> > >
> > >     RIP: 0010:gnttab_expand+0x29/0x210
> > >     Code: 90 0f 1f 44 00 00 55 31 d2 48 89 e5 41 57 41 56 41 55 41 89=
 fd
> > >           41 54 53 48 83 ec 10 48 8b 05 7e 9a 49 02 44 8b 35 a7 9a 49=
 02
> > >           <8b> 48 04 8d 44 39 ff f7 f1 45 8d 24 06 89 c3 e8 43 fe ff =
ff
> > >           44 39
> > >     RSP: 0000:ffffba34c01fbc88 EFLAGS: 00010086
>
> I think the back trace might be more helpful here rather than the raw
> code?
>
> Not sure if it helps, but there's a document in upstream Xen
> repository that lists the IDs:
>
> https://xenbits.xen.org/docs/unstable/man/xen-pci-device-reservations.7.h=
tml
>
> It would be good to record the information you have gathered about the
> different devices somewhere.  Maybe xen-pci-device-reservations would
> be a good place to list the intended usage of those device IDs, as
> right now it just lists the allocated ranges, but no information about
> what's the purpose of each device.
>
> > >     ...
> > >
> > > The device 2 is presented by Xapi adding device specification to
> > > Qemu command line.
> > >
> > > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> >
> > I'm split about this.  It's just papering over the bugs that exist
> > elsewhere in the Xen initialisation code.
> >
> > But, if we're going to take this approach, then 0xc000 needs adding too=
,
> > which is the other device ID you might find when trying to boot Linux i=
n
> > a VM configured using a Windows template.
>
> Won't adding 0xc000 cause issues?  As then the xenpci driver will bind
> to two devices on the same system (either 0001 or 0002, and
> additionally c000).  As it's my understanding that the device with ID
> c000 will be present in conjunction with either a device with ID 0001
> or 0002.
>
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 11:24:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 11:24:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904903.1312693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqVoO-0003MR-1G; Fri, 07 Mar 2025 11:24:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904903.1312693; Fri, 07 Mar 2025 11:24:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqVoN-0003MK-UV; Fri, 07 Mar 2025 11:24:15 +0000
Received: by outflank-mailman (input) for mailman id 904903;
 Fri, 07 Mar 2025 11:24: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=Ceor=V2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tqVoM-0003LS-6h
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 11:24:14 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2612::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af4d477a-fb46-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 12:24:08 +0100 (CET)
Received: from DB6PR0301CA0069.eurprd03.prod.outlook.com (2603:10a6:6:30::16)
 by AM7PR08MB5318.eurprd08.prod.outlook.com (2603:10a6:20b:104::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar
 2025 11:24:03 +0000
Received: from DB1PEPF000509FE.eurprd03.prod.outlook.com
 (2603:10a6:6:30:cafe::7b) by DB6PR0301CA0069.outlook.office365.com
 (2603:10a6:6:30::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Fri,
 7 Mar 2025 11:24:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509FE.mail.protection.outlook.com (10.167.242.40) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Fri, 7 Mar 2025 11:24:02 +0000
Received: ("Tessian outbound a60532193129:v585");
 Fri, 07 Mar 2025 11:24:02 +0000
Received: from L168028a3130e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7803E17A-5507-41FA-B7C2-CF7F861C1D0B.1; 
 Fri, 07 Mar 2025 11:23:50 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L168028a3130e.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 07 Mar 2025 11:23:50 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by PAWPR08MB9613.eurprd08.prod.outlook.com (2603:10a6:102:2e4::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.20; Fri, 7 Mar
 2025 11:23:48 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%2]) with mapi id 15.20.8489.028; Fri, 7 Mar 2025
 11:23: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: af4d477a-fb46-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=azXQHDeLT3IQhhaM7354u3btLbHUYqX32De3yiYpcvxhpPykZcnhfHCbJDyXGQHFY6zNfx80tQE6MuCZ/ZN3T/iqb+RwP2x27LZ7T2rmNkC7i/y79PCqJGmAxssGBqqhS73n29FRWP6OehM0/X9V72eDTiMt1IIjvHIUSXLC6cV+ej8BWswis5pypt4clEY5kbuyd4b4EaT2dfUoLMmyoXlcUOUvCIlEl59RqJlibW/NXs26iWwFbWp/GJBJBMc3Ze7x5QLLwo27dhMugTnWayjcG0bcjOlqjZfDaTYE4iwmdJLURypx9oSOhJb3ZZIE0NKIt/Mlr6EH4LheagauFw==
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=wpSCct9tGiW8zIHM1IfWMzCfJ7Bem16VzZ8Bs9ayW7U=;
 b=hfltGZRURXTfbVUuAMMFwWndTZr0EYreWfQiJzqA4rvHnGLCO7oQwYbQFyBjXOFI5nLBFgLtlf4+KuOx1A7uz3pnMNZ8reMjhQYLabEwFh/SMJtQx11kWRRG1iyOlyp6Jk/Ve9vLaWRd61OFBIO8rFAz3QubHvdShifFY2i90pvQcvXOzV19dj7u+Zy3IRiv3AUANjHLFhtXh7OhUog+2yPkroHZfhwChuawbo2GpfncRj5FLOxo8qb1J6U/0hCernp3yT93m2ojlFc4SWaYDZtoDnwsMsRSn8Q+VFX+HQ1BJQawc55Ye4o4VerUjyX1oH7BgXj0USyDSoXh+Eg1Cw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=wpSCct9tGiW8zIHM1IfWMzCfJ7Bem16VzZ8Bs9ayW7U=;
 b=owhgS062KDJAlBu+wRD+d+bzRIEbKq/rV7kVXxrbZzeqywcv/S+7xb2eR7F3ICe8pTWiAxZSpLhgqT3gPav/gjo5WEymFWMmn0D4YJInzGlA/6m0LfyC4H/PuhPCDKpFhNXO3lZStG6/n1oxVxzcqtOQDKajbA1nVCjTfgOnA6E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2b95d564db976452
X-TessianGatewayMetadata: y5q2dzanSprzrroXZDkSQeSVS0jvYsh948j9jFi/UcRJ2vFxE7ReGvNRPoDbz9MMH2ZsKVoIwGPILax3fnaSo8y3CZTzyEtfgwmfppWouFGyiYMYoxYQL1V8qjXtcm6gFtwKS52Xld/PQOtUaGshqvEjqL4NhTPF4llX3YfRCps=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QDszsQx0DlIJhXd03bade6ElWyYBffFN7Ljt4Hn/VT/JObvS4STYAWOqlHPTGElvRatPen6StARMEh55d6h3uNRLRvom1rXyW9Fa5YTKRvJ2/B9aWLi6KtnqLAmrsE2moyKUYibfjtidxvaOLvbe45GgJjd7tjOpj4Lg3KSJqdqF/sDBg30ZkdiGaXWeUWrKYvDcc8D7kSamwR87bWI6kYyNNsbP48F9pSEi3ZbtlZwJgnDRofPH3F7S68RjAZmKxyl39Z2uzS5XYAbzaUVbe/5SA8k1571p5HYiMbuiw+/Q8nzVsZlJvRoXl87JRyaTQEURVdoWaYkCLIz0qymL7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wpSCct9tGiW8zIHM1IfWMzCfJ7Bem16VzZ8Bs9ayW7U=;
 b=Fzw2pW1NDH8U50EAnzVHcHaRJv8p2jmmkgZ37sCeE21LslRtsZGnr80OO8/APUK+Uw+/UodIBflmVDFz8LAgercq2kNK2wPeM+kNzGgQDuVNoRuh3DAIRbvb0iEpmbj3icVIzGT6HxM+4N0+ZwGgatZltjGM+J7b+S7XtX+d+3i7SLcxkF9qiiOwTH9cwAHS/Xoq9wOoSV1QQ3tnXQQTJcRFhL4gVD0qTbTVw+mPvMiqcz5Z8eckOGc8iYjyg6LKXNNpSeLnbocreZtul9sI+kLTl2kKKinEiTIsSSWllTJyOGEGsuB75htwJfrUkiS29RQEibB/YzUz59lK3N153Q==
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=wpSCct9tGiW8zIHM1IfWMzCfJ7Bem16VzZ8Bs9ayW7U=;
 b=owhgS062KDJAlBu+wRD+d+bzRIEbKq/rV7kVXxrbZzeqywcv/S+7xb2eR7F3ICe8pTWiAxZSpLhgqT3gPav/gjo5WEymFWMmn0D4YJInzGlA/6m0LfyC4H/PuhPCDKpFhNXO3lZStG6/n1oxVxzcqtOQDKajbA1nVCjTfgOnA6E=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: Re: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Thread-Topic: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
Thread-Index: AQHbjzbI53lezYd1hUSXD4RbGtfICrNnYsoAgAAC7ICAAAdSgIAAGzEA
Date: Fri, 7 Mar 2025 11:23:48 +0000
Message-ID: <FD7FAEC0-2678-450E-A85F-24ADFEEE1B03@arm.com>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
 <20250307075818.740649-2-luca.fancellu@arm.com>
 <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
 <F4801232-DC72-44D4-AF0D-EFDF5D2B3202@arm.com>
 <cc4c694c-9d31-4239-a469-18580d74d35a@suse.com>
In-Reply-To: <cc4c694c-9d31-4239-a469-18580d74d35a@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|PAWPR08MB9613:EE_|DB1PEPF000509FE:EE_|AM7PR08MB5318:EE_
X-MS-Office365-Filtering-Correlation-Id: 396db98c-d418-47ee-26d1-08dd5d6a903b
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?QVgyS2FudzR1RWJnTGVsWWR5THIySDJQbm5Hbld2VVJFRUc4R2FJNXkveUp4?=
 =?utf-8?B?dks5QzdZZW0wdExPbEdOazcvbDRyS3Y1NFlUSmRFazJQTXRQeVlBZ2hkRmpC?=
 =?utf-8?B?NFZVUlRFcGptZGZCLyt2WnB6QzlmV2tZTkhpd20vdU9XM0tPYWJaYnJQRW9O?=
 =?utf-8?B?VGRyLzZjMUZFYWxPTEhodjdyZ2xPbm1vVVU0RmRNU3MzTnBZS1J4MHhIb1Jq?=
 =?utf-8?B?TVdDZW5PUXVSNmRvdVBVZDFjOGJzRC9LbGVGbG9kWVhtU2VWRDBtZDZzNG54?=
 =?utf-8?B?WUFHZzAwT1lsV1N6WGRPelFqRHBsZ1V3UXpuR2o4NUs3UXRUbmY0eHhVZDFy?=
 =?utf-8?B?bVZXUEhNSDRscnBDeVk0ZDdLT1RSOGhDenRoWEhvSWplK1NDNzJxeThLUjYv?=
 =?utf-8?B?bGUxOG8yUWNFeXh1TDdpNGxQNFhCYXFRSEtKY3JvUXF0YlozclJwQmJydldj?=
 =?utf-8?B?TnFiRHU2d3IrczJoY2ZYSGpPc0FobHhYeTNwdlc4MUJMOVQ5dWk3M2Y1cElB?=
 =?utf-8?B?NzVFYjlLOXZCSGY1OXdHUVpJTmh3d204dm80SFAxQzZ2bXVpS2ZzWnY4SnFk?=
 =?utf-8?B?VmxMSjVRWHN2K1JlTzFnZkllN3dZalVNU0lPMktrOVhseHptOTVSZVRLazRS?=
 =?utf-8?B?UmdpUWVUN05Nd29TRTVUNTFzby9NZ084TXBSRDVWNnkvKzFZSWZUZm4yVXNm?=
 =?utf-8?B?T3hJY2FuVnUxTXlVM3VYMkR3dG5MMDN0NXp3UXd3Uk9PZ2h1azhLQ1ZQcmha?=
 =?utf-8?B?VnlCZmdhVFRaaU15T1cxeFRKeXN3cVhVaW9Fd1l4L3FZNGRIOWZNN2UvbkFl?=
 =?utf-8?B?OVFZbGtxLzhPRUxidk1WWUpaN2RiMloreHExaUhLL2MySW5OZTY1TzVqdUZK?=
 =?utf-8?B?WGFMdU1ISHZ3b3ZQWVNxUVNiUWNKVnMzZVdBdkQ3UTZpUDdqSUhxTFFFTXph?=
 =?utf-8?B?RGEzSWdCZk9XT1ZwZEJ6d0dnMUt2YjdGK1k2djhraWEvaDhhNVNTNytOcCtl?=
 =?utf-8?B?b05pNG1xd3c4bWdnelhUZ2lxamIrUHFKQWlKQnRaQ0F6MW51RUFnYnZNUzFl?=
 =?utf-8?B?ZGN0bHpBZkdiY1FZM24zSUV6QTkrbmRLRjRjUWFOQmhHQkMxemFIZk9FeXRr?=
 =?utf-8?B?WVVRcnQ2K1ZNakVQYlZHcmhmZkpxckNpNFZJbE5nR3NQNEZrWWJZT2RtUjky?=
 =?utf-8?B?cVRtc0FSOUxCRzBZeXBwS0lZUkE0OUZjeE9yNkNmTUhVSCtZd3Z1bnlaNGpT?=
 =?utf-8?B?RzFqUTVEQjNTeVh0aEdrLzc4T1BERUNZNDl3VXZmbWFVM3cvdTNjWjZvNHhj?=
 =?utf-8?B?YWIxNDdZYlRCeENYd3NYUTRYd05qME03YlN0ZTk0dWpmOHlrbERaMWU3TEEv?=
 =?utf-8?B?djlZMFpsODg0a1REV0s4L3RCa0wvUFVUK2lteHhTU3lQck44ZVU2eFdVL2FF?=
 =?utf-8?B?dE9tdXJiTGlsVkdnNmNhby9ZUFFUUDNoeUkrTFRHMUxZRlUvTm9GS2gzbkhT?=
 =?utf-8?B?VUdYQmxTT2FJWDBmc20vWndkbnlQcDNBL0lhNkx1QjJ6d2gzNllWUDhrNWl4?=
 =?utf-8?B?NStOU0pQM2lHWWszaWFsalJKSGg4c2ZWMTRPNW5hdFdPaFowOUV1QkpGWDZU?=
 =?utf-8?B?TFl1aVV5bFloYUJLZWszU1hnZG9GRys0eGJFeHVTK3ZyRGdGbFQzelBkeXlX?=
 =?utf-8?B?QmQvbGtsTXJBTjBiWGdUWmlSMTFwb1lnT1ZJMXdmWkVjZXNZYi90YVBSQzc0?=
 =?utf-8?B?dVJKaG5heVRaODhJRTBpMks4UElMZ0szTW1KNFYxaFZvdVAvd0VGcHdyTmpT?=
 =?utf-8?B?ZU1zYjZuODJZV2tsVG1TQXdjMTJpeWlXYWNpWUUvbEJjeGhuTE9aMW9oMk94?=
 =?utf-8?B?L3dqYzZlQW13UmlZamFOenZpTnZ3WTZ2UXlmdlNDbDJybGZsR3FTNnpMYURO?=
 =?utf-8?Q?lEmdjQrmXJWmYT+YbkMHEL0TBadfDcx4?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <7F04E3B79E136B4196E6FB84EE6A2770@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9613
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509FE.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b0ae914b-b65d-457e-383f-08dd5d6a87e5
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|14060799003|1800799024|36860700013|82310400026|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?T2gyL1hGUUFJU2RpZmhQUGc3d1d0c2xYQUdmejlHUGZaeEgxbC9meUM4N2Q3?=
 =?utf-8?B?emVaTU5scEF1akRrOW0wOG90dnIwdm1uKy9Lb2F2SWNhUWZqWTJ0cmNUd01F?=
 =?utf-8?B?QzV3eUNveTh2ZFR1dm5tWVBWc2FvRXo4WU90R0paK04wOG4yNUhxZWZaWXp6?=
 =?utf-8?B?UksvTzFnanVTckdGckRyWTJvdkhhWEVLL1FlWnk4Ym1kT1VrQVcxRUozWC9t?=
 =?utf-8?B?UUx3dmhMK3Via3QwNk4wSWlQcXpTeEJMZi9nV0VlcWU0QTRwaGpkdnVEOEYz?=
 =?utf-8?B?Njk2VTdaWjlVeVBReXV6ZWtaa2g5NzNlMjZaU2h6ckt4dnhsOUdyNHgzckov?=
 =?utf-8?B?RXpBcnhMWG8rTHRFSmVCN0FXSFNrdFBYbnNUYjhpMEM5U0RvWUo0OXlIVXIv?=
 =?utf-8?B?ZU1Pc0RiNlFSb3ZOS3g4c1EyU3VWY0MrVHVPak84REJCaXV5Smg0enlJak8v?=
 =?utf-8?B?Qm1kUUIxK0UxbVZkQ1F3UEE4amxMUllLV1VIbUpBV295Qk52ME0vN1R6L1Q0?=
 =?utf-8?B?SWJwYUx5Nmx3NUJtZVhzSXdsZ0I5NDdIK2ZWYUtuV2RYUU1oK2lEZm95QkdH?=
 =?utf-8?B?TUFCYTZBeUZRZVJueUpOOWw5blBXUk00ZktiZnNZWC8vZXRpdUdrUEsxTkF3?=
 =?utf-8?B?UHl4dEMydHlodER2ZEEvWnNXcVdpd1EyR0Z2TDdWRmVJSXRESk5zeU0wcGVT?=
 =?utf-8?B?ZjdENFcrWDYySlVBYnN5VklEK0h6T2RIaXBSR0o1RzV3Z1pHdW9URXpVZHlV?=
 =?utf-8?B?YnlYci83QjdrRCtVWm9kZlpocW1DeWhYcEp6T1ZjVEN5anpvakIxL3FvTzZq?=
 =?utf-8?B?MzNpaDZIcUROMVUxSm5XSW9PdnkwNTQzcndvcDBGdlJxNzVhU1UwVjBEL1g5?=
 =?utf-8?B?THVTV2N1cjV0OFZkTzQ4Nk4yZGIzNkNWaWlwMTd6aVpicmE2ZzgzUC9ZNGpj?=
 =?utf-8?B?TGFqWFYrdWlZMFpZYjJHQ1AvcG5KOElPSkRmSGlDWE5jckljQWxKZHl0c2dN?=
 =?utf-8?B?dzZ1NnJyT0o2d1pmai9IRnRWY28xSHZqTTc3ckhJSXhnM1pkMG1QWC9YKzgr?=
 =?utf-8?B?NWh1TjE5RWtVQTNoOWhyRmNNN082RlF1bjlPT2w5MzlaTnN3UFRnZmU4Ulg1?=
 =?utf-8?B?NDA5OUQxelBCU28wUFVmNkRqUVI1eGdOK3NxWW1Hck1kb2EvN1g0VnpNM3RB?=
 =?utf-8?B?ekI2Y0RUeFlNcjAzMW9XZzBjVmdyWHZzTlJUT0NMSm94eWJmam1obDdoS0lT?=
 =?utf-8?B?RUZZbXBSN0VSL3d2MnAxd09WY0QxKzIzL0h5QVIxaVFML3dvaGxkTE5qODFl?=
 =?utf-8?B?WDFBR1ZLUWdybkpWQnRNMUcxaWdkNEJPZEtFR29FN0dDLytza09iRENQY0gz?=
 =?utf-8?B?a1ZxeHh4SjZVRjdrYkRIRWRLTEZuVURtc1dUcXVqOTg4RThSaVovSk1xWDFx?=
 =?utf-8?B?SkJ3SC9wUUJUZjN3ZjdFSGo4d29iOTI5eTh2OUhmcFhzRVE1Q2RZdWx6ZDlo?=
 =?utf-8?B?ZEV2bjRJdGtZU1RsWDZEeldwTTFBQkovYkdHemt0YXRzRWhtV2RValV0YkJo?=
 =?utf-8?B?UVV0OTNlenNiMitUbDJoTnNSUFQzNHdjellmR1dEUHBMT1FvN3VtWTJ0L0RJ?=
 =?utf-8?B?NzUxYzMzaDhDQUJmR2dXYlhlR2lRWVRlaFBwR1NYMnBVTUVISHBQajcvb1I4?=
 =?utf-8?B?NFl2NFRXdW9SVmN0dlN5N050SUVCeUhlZXpVT1pMU3F6MDlYcndvVUQ3OUgr?=
 =?utf-8?B?L2ltUCtaUTVRcXNVVEhsTVcwZmpmejQ3NysyMGJMVVFxZlQ1LzE3NEV1ZE9l?=
 =?utf-8?B?OGZWRmNQUjVPMUFzdWhUSzA3RVBCVldLTUNkNDUrY2RBdm1pc3ErbzNxbDdh?=
 =?utf-8?B?L1FueDlzYVNLUDdva2V0WGpON21mRC9wSGZrLzJoSGF2MUtDTmo4MlRwNWZT?=
 =?utf-8?B?dy9kbyswQmNNNWlRNkRJZGRLdWY2NWY1cGptcVF6U2d6cHU4ZkxrUHlTcGlB?=
 =?utf-8?B?RXJtNURMUEdRPT0=?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(376014)(14060799003)(1800799024)(36860700013)(82310400026)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 11:24:02.4190
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 396db98c-d418-47ee-26d1-08dd5d6a903b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509FE.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5318

SGkgSmFuLA0KDQo+Pj4+ICsNCj4+Pj4gK3N0YXRpYyBpbmxpbmUgaW50IGlvbW11X2RvbWFpbl9p
bml0KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBvcHRzKQ0KPj4+PiArew0KPj4+PiAr
ICAgIC8qDQo+Pj4+ICsgICAgICogUmV0dXJuIGFzIHRoZSByZWFsIGlvbW11X2RvbWFpbl9pbml0
KCkgd291bGQ6IFN1Y2Nlc3Mgd2hlbg0KPj4+PiArICAgICAqICFpc19pb21tdV9lbmFibGVkKCks
IGZvbGxvd2luZyBmcm9tICFpb21tdV9lbmFibGVkIHdoZW4gIUhBU19QQVNTVEhST1VHSA0KPj4+
PiArICAgICAqLw0KPj4+PiArICAgIHJldHVybiAwOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICtz
dGF0aWMgaW5saW5lIHZvaWQgaW9tbXVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKSB7fQ0K
Pj4+PiArDQo+Pj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgaW9tbXVfZG9tYWluX2Rlc3Ryb3koc3Ry
dWN0IGRvbWFpbiAqZCkge30NCj4+Pj4gKw0KPj4+PiArI2VuZGlmIC8qIEhBU19QQVNTVEhST1VH
SCAqLw0KPj4+PiArDQo+Pj4+IC8qDQo+Pj4+ICAqIFRoZSBmb2xsb3dpbmcgZmxhZ3MgYXJlIHBh
c3NlZCB0byBtYXAgKGFwcGxpY2FibGUgb25lcyBhbHNvIHRvIHVubWFwKQ0KPj4+PiAgKiBvcGVy
YXRpb25zLCB3aGlsZSBzb21lIGFyZSBwYXNzZWQgYmFjayBieSBsb29rdXAgb3BlcmF0aW9ucy4N
Cj4+Pj4gQEAgLTIwOSw2ICsyMzMsOCBAQCBzdHJ1Y3QgbXNpX21zZzsNCj4+Pj4gI2lmZGVmIENP
TkZJR19IQVNfREVWSUNFX1RSRUUNCj4+Pj4gI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPg0K
Pj4+PiArI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gNCj4+Pj4gKw0KPj4+PiBpbnQgaW9t
bXVfYXNzaWduX2R0X2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZHRfZGV2aWNlX25v
ZGUgKmRldik7DQo+Pj4+IGludCBpb21tdV9kZWFzc2lnbl9kdF9kZXZpY2Uoc3RydWN0IGRvbWFp
biAqZCwgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXYpOw0KPj4+PiBpbnQgaW9tbXVfZHRfZG9t
YWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCk7DQo+Pj4+IEBAIC0yMzgsNiArMjY0LDI2IEBAIGlu
dCBpb21tdV9kb19kdF9kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKmRvbWN0bCwgc3RydWN0IGRv
bWFpbiAqZCwNCj4+Pj4gICovDQo+Pj4+IGludCBpb21tdV9yZW1vdmVfZHRfZGV2aWNlKHN0cnVj
dCBkdF9kZXZpY2Vfbm9kZSAqbnApOw0KPj4+PiArI2Vsc2UNCj4+Pj4gKw0KPj4+PiArc3RhdGlj
IGlubGluZSBpbnQgaW9tbXVfYXNzaWduX2R0X2RldmljZShzdHJ1Y3QgZG9tYWluICpkLA0KPj4+
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHRfZGV2
aWNlX25vZGUgKmRldikNCj4+Pj4gK3sNCj4+Pj4gKyAgICByZXR1cm4gLUVJTlZBTDsNCj4+Pj4g
K30NCj4+Pj4gKw0KPj4+PiArc3RhdGljIGlubGluZSBpbnQgaW9tbXVfYWRkX2R0X2RldmljZShz
dHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5wKQ0KPj4+PiArew0KPj4+PiArICAgIHJldHVybiAxOw0K
Pj4+IA0KPj4+IEkgd291bGQgc3VnZ2VzdCB0byBhZGQgYSBjb21tZW50IGV4cGxhaW4gd2hhdCAx
IG1lYW5zLiBJSVJDLCB0aGlzIG1lYW5zICJubyBpb21tdSIgcHJlc2VudC4NCj4+IA0KPj4gV291
bGQgaXQgYmUgb2sgc29tZXRoaW5nIGxpa2UgaW4gaW9tbXVfZG9tYWluX2luaXQ6DQo+PiANCj4+
IC8qDQo+PiAqIFJldHVybnMgYXMgdGhlIHJlYWwgaW9tbXVfYWRkX2R0X2RldmljZSgpIHdvdWxk
OiBFcnJvciDigJxubyBpb21tdSIgYmVjYXVzZQ0KPj4gKiAhaW9tbXVfZW5hYmxlZCBkdWUgdG8g
dGhlIGZhY3QgdGhhdCAhSEFTX1BBU1NUSFJPVUdIDQo+PiAqLw0KPiANCj4gV2UgaGFkIGJlZW4g
dGhlcmUgYmVmb3JlLCBoYWRuJ3Qgd2U/IFBlcnNvbmFsbHkgSSBmaW5kIHRoZSBzdWdnZXN0ZWQg
dGV4dA0KPiBoYXJkIHRvIGZvbGxvdy4NCg0Kd2VsbCwgSeKAmXZlIHRha2VuIHlvdXIgc3VnZ2Vz
dGlvbiBmb3IgaW9tbXVfZG9tYWluX2luaXQgYW5kIGFkYXB0ZWQgaGVyZSwgDQptYXliZSB0aGUg
YWRhcHRhdGlvbiBkaWRu4oCZdCBtZWV0IHlvdXIgY3JpdGVyaWEgdGhlbiA6KQ0KDQpCdXQgLi4u
DQoNCj4gSG93IGFib3V0DQo+IA0KPiAgICAvKg0KPiAgICAgKiAhSEFTX1BBU1NUSFJPVUdIID0+
ICFpb21tdV9lbmFibGVkIChzZWUgdGhlIG5vbi1zdHViDQo+ICAgICAqIGlvbW11X2FkZF9kdF9k
ZXZpY2UoKSkNCj4gICAgICovDQo+IA0KPiBJZiB0aGF0J3MgdG9vIHRlcnNlLCBhZGRpbmcgYSBm
ZXcgd29yZHMgc2hvdWxkIGJlIGZpbmUuDQoNCmFzIGxvbmcgYXMgeW91IGFyZSBoYXBweSB3aXRo
IHRoYXQsIEnigJltIGhhcHB5IGFzIHdlbGwsIHBsZWFzZSBsZXQgbWUga25vdw0KaWYgeW91IHdh
bnQgYSB2NSB3aXRoIHRoaXMgb3IgaWYgeW91IHdvdWxkIGRvIHRoZSBtb2RpZmljYWl0b24gb24g
Y29tbWl0Lg0KDQpDaGVlcnMsDQpMdWNhDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 11:51:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 11:51:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904915.1312704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqWEH-00014s-2u; Fri, 07 Mar 2025 11:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904915.1312704; Fri, 07 Mar 2025 11:51: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 1tqWEG-00014l-VG; Fri, 07 Mar 2025 11:51:00 +0000
Received: by outflank-mailman (input) for mailman id 904915;
 Fri, 07 Mar 2025 11:50: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=YHQw=V2=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tqWEF-00014f-Jr
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 11:50:59 +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 6e90754c-fb4a-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 12:50:57 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e4f88ea298so3080823a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 03:50:57 -0800 (PST)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c74a6af7sm2430951a12.33.2025.03.07.03.50.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 03:50:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e90754c-fb4a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741348257; x=1741953057; 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=PsZwKpgBToRc6otnjdnjYspSc26Bg7dzFdExKxzScUw=;
        b=mPpCgrZTvWE8Mb0bMYBWGM6YxGKYHtT+doT2PIofTDW9fqTw6xk0TmmEUV8tRrmmGU
         5+YlaACyeqqckIqYEgUt0UA+SF/nXxvNs2IXHveRU5rslAWjzpWv0EfN8MjzsSpUq0mm
         JAC22o1ueLoSEQhvt1m7rxxRbtwqhl2JMfbGjoehIGKX9K362irFIVsUCiQaNjlmc2z5
         97Y5dLaAU4Ufmm8XL6STMlZxypUh9lQABoJVVKXfCvA56QPnknSVNdmFX77eymckGQbq
         0qIsQVyUcuok5W5gUSjwhmmpR2ir4b4P7nHy/ezBnY3Pb4EZDJYJFDMmJhc0Wo296ZBQ
         gxKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741348257; x=1741953057;
        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=PsZwKpgBToRc6otnjdnjYspSc26Bg7dzFdExKxzScUw=;
        b=TTqhNGc9gAFWjgnSAmSvLwTKm/8MhJxKJDegFqCiFkEItJAi0lSHLAOiy2cNTh4YRz
         yy6dPaD6dZkd3Vz/lvvaQMveE/UwZ7geakG8slcjGUIV6bp/bst8U9XWfagIgOahmjjL
         i3Lc2rnnPRvg/F3M0EbOsRdsbLoTIvMsXCZa0LcCTmOYeFpFwL51aiOEEx2BUmKyUlv1
         Xyhg0Wi3TQAmnTYBbFOMZUPo0zYSWfMdr6peL4OADbZBsHx8QTmJJZWvq7e8nzLum+yI
         UjnETYx7eXem8F4RilaeKGIOEah7+m9PKq0w9zwKIDGRsrsNyEz2YcX2h6gMvUOWnLZa
         BtoQ==
X-Gm-Message-State: AOJu0YxgYgtwU8b4ZbPG9TXnmvjisOADacNoSmuvqueH4glqPyqW4w/+
	GpBVtCKt42HrHdfYoz5m0EIDs9l8sQ3EwALqZASjLxhlUo05yPyk
X-Gm-Gg: ASbGncuX/0fKrqhJpy9a36219HVOy6vUxDfpOJKrLtQrfMA1UQ4/USy5PcWj/HJ6XIe
	wL4qKH5uoHJB/FN/BC3K0iSB2MKNxAoEU8cclEX8KUypCu9IxcclSiSC22gbK9c4qlfI5aJivUJ
	Lz7Fj6rgdH5ipmRlAgIYGogvSexmJRGyntjJDPbXdwKN/3DeXCHxlHh7sc5uLmcJFtdoFOPKxUT
	I+fPsGmcROHVrYsJy2wYdenxwdlz0v3mAy2eLjiy/fsXaNyTWhvKwuTYq6C0tNv9dAZlfyVuyaR
	aspRIMWEF2/QFb3WnkKfC2IE5CVMHBCB9cauN1UOkA49RD3628lS+TdiK/3q22+c+zNGCl60oe7
	PK/8qOhETIZ66MQGHgH0B
X-Google-Smtp-Source: AGHT+IHHEuArQRUOcoulK3E8ghqsdZVhd5a2GlcFE+ppmNRPyEroEYUij6ovR0P4ROftB97mOyCwzA==
X-Received: by 2002:a05:6402:4402:b0:5de:39fd:b2f5 with SMTP id 4fb4d7f45d1cf-5e5e22bf610mr2938299a12.1.1741348256446;
        Fri, 07 Mar 2025 03:50:56 -0800 (PST)
Content-Type: multipart/alternative;
 boundary="------------59hCNb4BUGWcLGx4xB8k00kb"
Message-ID: <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
Date: Fri, 7 Mar 2025 12:50:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>

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


On 3/6/25 9:19 PM, Andrew Cooper wrote:
> On 05/03/2025 7:34 am, Jan Beulich wrote:
>> On 28.02.2025 17:24, Andrew Cooper wrote:
>>> On 27/02/2025 8:11 am, Jan Beulich wrote:
>>>> On 26.02.2025 18:20, Andrew Cooper wrote:
>>>>> --- a/xen/arch/riscv/include/asm/bitops.h
>>>>> +++ b/xen/arch/riscv/include/asm/bitops.h
>>>>> @@ -125,6 +125,13 @@ static inline void clear_bit(int nr, volatile void *p)
>>>>>   #undef NOT
>>>>>   #undef __AMO
>>>>>   
>>>>> +#define arch_ffs(x)     ((x) ? 1 + __builtin_ctz(x) : 0)
>>>>> +#define arch_ffsl(x)    ((x) ? 1 + __builtin_ctzl(x) : 0)
>>>>> +#define arch_fls(x)     ((x) ? 32 - __builtin_clz(x) : 0)
>>>> I fear you won't like me to say this, but can't we avoid baking in yet
>>>> another assumption on sizeof(int) == 4, by using at least sizeof(int) * 8
>>>> here (yet better might be sizeof(int) * BITS_PER_BYTE)?
>>> Yes and no.
>>>
>>> No, because 32 here is consistent with ARM and PPC when it comes to
>>> arch_fls().Â  Given the effort it took to get these consistent, I'm not
>>> interested in letting them diverge.
>>>
>>> But, if someone wants to introduce BITS_PER_INT to mirror BITS_PER_LONG
>>> and use it consistently, then that would be ok too.
> Oleksii: I see your patch is committed, but when I said "use it
> consistently", I meant "patch ARM and PPC too".

I planned to do that in a separate patch next week.

>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>> retain a shorthand of that name, if so desired, but I see no reason why
>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
> The concern is legibility and clarity.
>
> This:
>
>  Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>
> is a clear expression in a way that this:
>
>  Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>
> is not.Â  The problem is the extra binary expression, and this:
>
>  Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>
> is still clear, because the reader doesn't have to perform a multiply to
> just to figure out what's going on.
>
>
> It is definitely stupid to have each architecture provide their own
> BITS_PER_*.Â  The compiler is in a superior position to provide those
> details, and it should be in a common location.
>
> I don't particularly mind how those constants are derived, but one key
> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.

What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)

#define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
#define BITS_PER_INTÂ  (BYTES_PER_INT << 3)

#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
#define BITS_PER_LONG (BYTES_PER_LONG << 3)
#define BITS_PER_BYTE 8

Also, it seems like the follwoing could be moved there too:

#define POINTER_ALIGN  BYTES_PER_LONG

#define BITS_PER_LLONG 64

#define BITS_PER_BYTE 8

Only, BITS_PER_XEN_ULONG is looking different for x86, so should be still in arch specific config.h.

~ Oleksii

>
> The following files use BITS_PER_LONG preprocessing:
>
> arch/arm/include/asm/div64.h
> arch/x86/cpu/mcheck/mce.c
> arch/x86/smpboot.c
> common/bitops.c
> common/coverage/gcov.h
> common/coverage/llvm.c
> common/cpu.c
> common/event_channel.c
> common/time.c
> common/ubsan/ubsan.c
> include/asm-generic/div64.h
> include/xen/cpumask.h
> include/xen/inttypes.h
> include/xen/nodemask.h
> include/xen/sched.h
> include/xen/xxhash.h
> lib/find-next-bit.c
> lib/generic-ffsl.c
> lib/generic-flsl.c
> lib/generic-hweightl.c
>
> And I really don't think they can be replaced with a sizeof().
>
> ~Andrew
--------------59hCNb4BUGWcLGx4xB8k00kb
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 3/6/25 9:19 PM, Andrew Cooper wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com">
      <pre wrap="" class="moz-quote-pre">On 05/03/2025 7:34 am, Jan Beulich wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 28.02.2025 17:24, Andrew Cooper wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 27/02/2025 8:11 am, Jan Beulich wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 26.02.2025 18:20, Andrew Cooper wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">--- a/xen/arch/riscv/include/asm/bitops.h
+++ b/xen/arch/riscv/include/asm/bitops.h
@@ -125,6 +125,13 @@ static inline void clear_bit(int nr, volatile void *p)
 #undef NOT
 #undef __AMO
 
+#define arch_ffs(x)     ((x) ? 1 + __builtin_ctz(x) : 0)
+#define arch_ffsl(x)    ((x) ? 1 + __builtin_ctzl(x) : 0)
+#define arch_fls(x)     ((x) ? 32 - __builtin_clz(x) : 0)
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">I fear you won't like me to say this, but can't we avoid baking in yet
another assumption on sizeof(int) == 4, by using at least sizeof(int) * 8
here (yet better might be sizeof(int) * BITS_PER_BYTE)?
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Yes and no.

No, because 32 here is consistent with ARM and PPC when it comes to
arch_fls().Â  Given the effort it took to get these consistent, I'm not
interested in letting them diverge.

But, if someone wants to introduce BITS_PER_INT to mirror BITS_PER_LONG
and use it consistently, then that would be ok too.
</pre>
        </blockquote>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Oleksii: I see your patch is committed, but when I said "use it
consistently", I meant "patch ARM and PPC too".</pre>
    </blockquote>
    <pre>I planned to do that in a separate patch next week.

</pre>
    <blockquote type="cite"
      cite="mid:8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com">
      <pre wrap="" class="moz-quote-pre">
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
retain a shorthand of that name, if so desired, but I see no reason why
each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
The concern is legibility and clarity.

This:

Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)

is a clear expression in a way that this:

Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)

is not.Â  The problem is the extra binary expression, and this:

Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)

is still clear, because the reader doesn't have to perform a multiply to
just to figure out what's going on.


It is definitely stupid to have each architecture provide their own
BITS_PER_*.Â  The compiler is in a superior position to provide those
details, and it should be in a common location.

I don't particularly mind how those constants are derived, but one key
thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.</pre>
    </blockquote>
    <pre>What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)</pre>
    <pre>#define BYTES_PER_INTÂ  (1 &lt;&lt; INT_BYTEORDER)
#define BITS_PER_INTÂ  (BYTES_PER_INT &lt;&lt; 3)</pre>
    <pre>#define BYTES_PER_LONG (1 &lt;&lt; LONG_BYTEORDER)
#define BITS_PER_LONG (BYTES_PER_LONG &lt;&lt; 3)
#define BITS_PER_BYTE 8
</pre>
    <pre>Also, it seems like the follwoing could be moved there too:

#define POINTER_ALIGN  BYTES_PER_LONG
</pre>
    <pre>#define BITS_PER_LLONG 64

#define BITS_PER_BYTE 8

Only, BITS_PER_XEN_ULONG is looking different for x86, so should be still in arch specific config.h.

~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com">
      <pre wrap="" class="moz-quote-pre">

The following files use BITS_PER_LONG preprocessing:

arch/arm/include/asm/div64.h
arch/x86/cpu/mcheck/mce.c
arch/x86/smpboot.c
common/bitops.c
common/coverage/gcov.h
common/coverage/llvm.c
common/cpu.c
common/event_channel.c
common/time.c
common/ubsan/ubsan.c
include/asm-generic/div64.h
include/xen/cpumask.h
include/xen/inttypes.h
include/xen/nodemask.h
include/xen/sched.h
include/xen/xxhash.h
lib/find-next-bit.c
lib/generic-ffsl.c
lib/generic-flsl.c
lib/generic-hweightl.c

And I really don't think they can be replaced with a sizeof().

~Andrew
</pre>
    </blockquote>
  </body>
</html>

--------------59hCNb4BUGWcLGx4xB8k00kb--


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 11:51:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 11:51:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904926.1312714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqWF1-0001l8-Dc; Fri, 07 Mar 2025 11:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904926.1312714; Fri, 07 Mar 2025 11:51: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 1tqWF1-0001l1-AN; Fri, 07 Mar 2025 11:51:47 +0000
Received: by outflank-mailman (input) for mailman id 904926;
 Fri, 07 Mar 2025 11:51: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqWF0-0001cc-Bh
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 11:51:46 +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 844b7592-fb4a-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 12:51:33 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-38f406e9f80so1262096f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 03:51:33 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8db6c7sm48847945e9.22.2025.03.07.03.51.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 03:51:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 844b7592-fb4a-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741348293; x=1741953093; 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=7K1WxkPx6B+F9quxshJAMXmff5Fv04D/D/jaAgOIolQ=;
        b=SKSlRJBvU7i2AXBdoo1+o41GV9uG7tJXnwp5bSmOa5b+13VnF7UUCsJ9TueVE7hMNa
         zJMkTn1gsfW05tHEY/Y+G4IaSfWyXoveDORZERDAJXWE9kUxK0pA9x3gBX2zaXfcVyeN
         kQhhZchnb39JjwzX70D43fGz+YuO8qWqxhWM0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741348293; x=1741953093;
        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=7K1WxkPx6B+F9quxshJAMXmff5Fv04D/D/jaAgOIolQ=;
        b=RlYcr+fKlqHU3RonQaXeQz8KK93GOMTF4Z/39KwfTKv/jkjCuWDQzmfCSV3iGbETMI
         NQjUGp/WID70qUXaVeC1VC8ySJLuZIYrVGPNtp3Z0IeFi2U85nTc2NZ9HyFVVc7+XWGn
         9s047bM/vlgVqMTZceTJcTcmeZqVw+2KGOXC89YGg+nXf8Fi2g8PlAfXFK/LBHRpwqSF
         e/Ou+T7yg5al2D9S+4chHG30JwyFpYVBJ24I9OhF7tiSWV4pNpinuQjiEhvrFREqxMlH
         Li96YT3uUldyEKKxrujuOzxj8evqZURr2yrzmLgmiQyazNIbew4JYciuAyEYjXKjkSqJ
         /FMQ==
X-Gm-Message-State: AOJu0Yxw+iNdiQoJ8W5OaqUrI8CzMyjvsbArjsQ8kyest/3vMWgNayLV
	EvUmFwQG1PpU2QGrS1o2YOr9+rODJWhT458piWJDYE7GT2PFArwbI/zraUyQKyNpqlH275UhJ8a
	L
X-Gm-Gg: ASbGncuOkO926/Umj+kv4vXBUZItEX7gJgKlYNi0BeeXFkBb8/j3a7FwbGwZ8vbYkMh
	+yBFkqMQ5h9VBXOdATOUPr2loWik//QsRyXLjDrtUf36KEFUHRcM5nMHQdB3OCalTrE7ND8ykNL
	ogee+x+kHeJF/93poWgraAy1uorkKWl+hC+eXmuyHqnnNK1aTVr4BRXAmGclJhE6jqFqgDbSwm2
	a60kIgHnqQ+DfBR23qgHqLiKHcBO59UIOnKHpqP5cek5F2S2P+a5oYnQZaSg2ZHSH9ClC/8zqqa
	35kCm22cjph/RTGzl5psf073l2eTl8ZQrVVDc1tEDp+eh6sFDuKVt3dDvCapFYA93VXOoe6NL85
	XmVhEXY6x150F/Xzgqu/vU7NQ
X-Google-Smtp-Source: AGHT+IGW6GL6gl90EjQabVRBImMQqqWEd9p57XRhL1b2Ns2xfnkJi5d2vUoK7w5nHKGB8NmadGE6Pg==
X-Received: by 2002:a5d:47a4:0:b0:390:eb46:1894 with SMTP id ffacd0b85a97d-39132d64b2fmr2183957f8f.21.1741348293036;
        Fri, 07 Mar 2025 03:51:33 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] xen/public: Fix documentation of VIRQs
Date: Fri,  7 Mar 2025 11:49:30 +0000
Message-Id: <20250307114930.3038480-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <0315252d-0378-4699-bff7-ce745d753438@suse.com>
References: <0315252d-0378-4699-bff7-ce745d753438@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It has been discovered that VIRQ_ARGO is a 3rd type of VIRQ.  Also, recent
work has prevented global VIRQs from being stolen from the owning domain.

Rewrite the description of VIRQ classifications.  Drop the (DOM0) comment from
the global VIRQs; it's not been true for a long time.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Juergen Gross <jgross@suse.com>
---
 xen/include/public/event_channel.h |  8 +++----
 xen/include/public/xen.h           | 37 +++++++++++++++++++-----------
 2 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/xen/include/public/event_channel.h b/xen/include/public/event_channel.h
index 0d91a1c4afab..c5548d206c74 100644
--- a/xen/include/public/event_channel.h
+++ b/xen/include/public/event_channel.h
@@ -114,10 +114,10 @@ typedef struct evtchn_bind_interdomain evtchn_bind_interdomain_t;
  * EVTCHNOP_bind_virq: Bind a local event channel to VIRQ <irq> on specified
  * vcpu.
  * NOTES:
- *  1. Virtual IRQs are classified as per-vcpu or global. See the VIRQ list
- *     in xen.h for the classification of each VIRQ.
- *  2. Global VIRQs must be allocated on VCPU0 but can subsequently be
- *     re-bound via EVTCHNOP_bind_vcpu.
+ *  1. Virtual IRQs are classified as per-vcpu, per-domain or global. See the
+ *     VIRQ list in xen.h for the classification of each VIRQ.
+ *  2. Per-domain and global VIRQs must be allocated on vCPU0 but can
+ *     subsequently be re-bound via EVTCHNOP_bind_vcpu.
  *  3. Per-vcpu VIRQs may be bound to at most one event channel per vcpu.
  *     The allocated event channel is bound to the specified vcpu and the
  *     binding cannot be changed.
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index e051f989a5ca..75b1c1d597f9 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -159,25 +159,34 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
  *
  * Virtual interrupts that a guest OS may receive from Xen.
  *
- * In the side comments, 'V.' denotes a per-VCPU VIRQ while 'G.' denotes a
- * global VIRQ. The former can be bound once per VCPU and cannot be re-bound.
- * The latter can be allocated only once per guest: they must initially be
- * allocated to VCPU0 but can subsequently be re-bound.
+ * There are three types:
+ *
+ * 1. (V) Per-vcpu:
+ *    These can be bound once per vCPU, each using a different evtchn port.
+ *    An evtchn for one vCPU cannot be rebound to a different vCPU.
+ *
+ * 2. (D) Per-domain:
+ *    These can be bound once per domain.  They must be bound on vCPU 0 first,
+ *    but can be rebound to other vCPUs afterwards.
+ *
+ * 3. (G) Global:
+ *    Like per-domain, but can only be bound to a single domain at a time.
+ *    The owning domain must unbind before a new domain can bind.
  */
 /* ` enum virq { */
 #define VIRQ_TIMER      0  /* V. Timebase update, and/or requested timeout.  */
 #define VIRQ_DEBUG      1  /* V. Request guest to dump debug info.           */
-#define VIRQ_CONSOLE    2  /* G. (DOM0) Bytes received on emergency console. */
-#define VIRQ_DOM_EXC    3  /* G. (DOM0) Exceptional event for some domain.   */
-#define VIRQ_TBUF       4  /* G. (DOM0) Trace buffer has records available.  */
-#define VIRQ_DEBUGGER   6  /* G. (DOM0) A domain has paused for debugging.   */
+#define VIRQ_CONSOLE    2  /* G. Bytes received on emergency console.        */
+#define VIRQ_DOM_EXC    3  /* G. Exceptional event for some domain.          */
+#define VIRQ_TBUF       4  /* G. Trace buffer has records available.         */
+#define VIRQ_DEBUGGER   6  /* G. A domain has paused for debugging.          */
 #define VIRQ_XENOPROF   7  /* V. XenOprofile interrupt: new sample available */
-#define VIRQ_CON_RING   8  /* G. (DOM0) Bytes received on console            */
-#define VIRQ_PCPU_STATE 9  /* G. (DOM0) PCPU state changed                   */
-#define VIRQ_MEM_EVENT  10 /* G. (DOM0) A memory event has occurred          */
-#define VIRQ_ARGO       11 /* G. Argo interdomain message notification       */
-#define VIRQ_ENOMEM     12 /* G. (DOM0) Low on heap memory       */
-#define VIRQ_XENPMU     13 /* V.  PMC interrupt                              */
+#define VIRQ_CON_RING   8  /* G. Bytes received on console                   */
+#define VIRQ_PCPU_STATE 9  /* G. PCPU state changed                          */
+#define VIRQ_MEM_EVENT  10 /* G. A memory event has occurred                 */
+#define VIRQ_ARGO       11 /* D. Argo interdomain message notification       */
+#define VIRQ_ENOMEM     12 /* G. Low on heap memory                          */
+#define VIRQ_XENPMU     13 /* V. PMC interrupt                               */
 
 /* Architecture-specific VIRQ definitions. */
 #define VIRQ_ARCH_0    16
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 11:57:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 11:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904939.1312724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqWK7-0003Wz-0P; Fri, 07 Mar 2025 11:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904939.1312724; Fri, 07 Mar 2025 11: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 1tqWK6-0003Ws-TK; Fri, 07 Mar 2025 11:57:02 +0000
Received: by outflank-mailman (input) for mailman id 904939;
 Fri, 07 Mar 2025 11: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=YHQw=V2=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tqWK5-0003Wm-UZ
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 11:57:01 +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 4666373f-fb4b-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 12:56:59 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5e5e0caa151so1690701a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 03:56:59 -0800 (PST)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c768f8cbsm2419913a12.76.2025.03.07.03.56.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 03:56:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4666373f-fb4b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741348619; x=1741953419; 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=8wHNyQPneM7ZqwLxqlqQxFiog4J6FqDY8ioJmChRN2I=;
        b=UVpiNe3RjmYFqyKDr8OyEFjqjhpEztEJy7XIgMJXIWZIR5dqzD3g0tHFtmVvpM8I5c
         jLVAml1wGtGtxClzAD8lBHgHFa2okcKzLN0k2SPeqfI2gsym7smlwmAKww1/8FTRrotE
         fSjarpdDHClaXyRsqU17a8HE58+vbb6lSBSKDjwzyEZTIoFsnnqpaHW5bYwsXI+fdajM
         5fF0M/PSaw4ede+PE6iN2AUqgHvyWY+/cSKmbz/MgijQS8Jz4Eu9Jt0WsCSPVy7P3C4p
         CRJCadU0Dje6Q2nLaIvbztS5eDXNq67exT653vp1Vx5za/kpQoKuXVzUOk5I+7vxQMhl
         4qfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741348619; x=1741953419;
        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=8wHNyQPneM7ZqwLxqlqQxFiog4J6FqDY8ioJmChRN2I=;
        b=Rywv9vL1NuMu/jTcXO75JlS+DKSgJovdOAKXhDU6fHBMsK1FDV2l05zAxPjqnTHf7i
         mALRoUEHA2/7N9AsTaJPbpN9G5Epmzr6dnI9MaZWeWURyIKCYkWyK2QOLm4CkstyW4vf
         vnMx+M0YijxHi21y+ISAZZhkm5N8FlrUZExryUchzjIe1lqqpE0OqFGtfBYmOiHuX2BQ
         KsebZimJrDPheTp1hRcqIhVj6C+UtBlYaXW0I/Aie6DkJZd+PxQ9y7WRggRA4SHqyRfk
         XZmIzQ14zatbXxIob2lDPdLPABzqdFD5Gplh0avixJ4qRpX79z4PgGSuFPXsMN1WGg1Z
         ZqdA==
X-Gm-Message-State: AOJu0Yx6wplxLXr2yWp0QUpBBa8BydGabOVOiGgtVAwEFrG8n9Dc7QXD
	tXn4YGvxSKeHSUaZkHd18rtWvX+R5b45oBHqdzoc4DujJ3JXkp/D
X-Gm-Gg: ASbGncs6+Ebq+DIOEzBkWptX1183geSNWdH41jNKjXAOB2pVJHs8eM2qjPeHUqEO8qB
	2N0MfjBHQXS+mLhnSf/PM3qGmbXJOeqgCf7Ob4pUDgBnt/yJtT5R6vRRGiZBrWFAbQoCb7pLF8R
	fQ5nBpFWYRuEdxCeetIuBuTqbomnqFahgvh0ifkoKdqw6tTtssnrBR3euWz7q8h0qZGGZHhdPZu
	iPIx6CmGEM8dfZdGUlrryPrnP0M4PIIEif0EpL1nrHfuvehDmKaFypn3niI5UQ9ZSOKtnqxBpmK
	MOVlCZlDbKUhUgO0b0cmU2CFX8A6OgKI2+5vCuMnVVtflJkWh0nYf33k1TKon3RPR2gltMhs6sH
	aGUj1Z2J+kxpHZxbYzcDH
X-Google-Smtp-Source: AGHT+IGbIUKGX5/NY8E9LSxlRk/GHBZTT4zxyrR86sp7eOy9aYm8Ujc5J6Mm1ZkP6DbUwg0jVpDWVw==
X-Received: by 2002:a50:8dca:0:b0:5e5:bd8d:edb9 with SMTP id 4fb4d7f45d1cf-5e5e22db548mr2752291a12.10.1741348618640;
        Fri, 07 Mar 2025 03:56:58 -0800 (PST)
Content-Type: multipart/alternative;
 boundary="------------1Rn7CXrr0ks0L0utR9UF0rNg"
Message-ID: <90dd70c2-88bc-44a6-8ccd-12bda9ac00f2@gmail.com>
Date: Fri, 7 Mar 2025 12:56:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/riscv: copy_to_guest/copy_from_guest functionality.
To: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.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_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Milan Djokic <Milan.Djokic@rt-rk.com>
References: <dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com>
 <1b71b063-1f1d-4cd0-be06-0ba3908027e6@gmail.com>
 <CAKp59VHngx=DaHYdb8nYNNbmd5_s5FejShX2xwFFz1KVmPB_vw@mail.gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <CAKp59VHngx=DaHYdb8nYNNbmd5_s5FejShX2xwFFz1KVmPB_vw@mail.gmail.com>

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


On 3/4/25 1:09 PM, Milan ÄokiÄ wrote:
>> diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
>> index 17827c302c..f4098f5b5e 100644
>> --- a/xen/arch/riscv/arch.mk
>> +++ b/xen/arch/riscv/arch.mk
>> @@ -23,13 +23,17 @@ $(eval $(1) := \
>>    $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>   endef
>>
>> +h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)
>> +$(h-extension-name)-insn := "hfence.gvma"
>> +$(call check-extension,$(h-extension-name))
>> +
>>   zbb-insn := "andn t0$(comma)t0$(comma)t0"
>>   $(call check-extension,zbb)
>>
>>   zihintpause-insn := "pause"
>>   $(call check-extension,zihintpause)
>>
>> -extensions := $(zbb) $(zihintpause)
>> +extensions := $(value $(h-extension-name)) $(zbb) $(zihintpause)
>>
>>   extensions := $(subst $(space),,$(extensions))
>>
>> This patch should take into account another one patch series (https://lore.kernel.org/xen-devel/cover.1740071755.git.oleksii.kurochko@gmail.com/T/#t)
>> update for which I am going to sent today.
>>
>> Also, these changes would be better to move into separate commit with explanation why what is so specific with 1301 and why it is needed to introduce
>> 'hh'.
>> I believe that these changes were taken based on my patch:https://gitlab.com/xen-project/people/olkur/xen/-/commit/154f75e943f1668dbf2c7be0f0fdff5b30132e89
>> Probably it will make sense just to get it and rebase on top of mentioned above patch series.
>>
> Yes, it is based on your patch. Sorry, I was not aware that you
> already have an active patch series which contains this part.
> In that case we'll wait for your patch series to be merged first. And
> we'll split it into 2 commits where first one will only introduce h
> extension handling in arch.mk and the second one with
> copy_from/to_guest functionallity

This is not really contains this part directly but that another one patch series will affect these changes.
So the final changes should look like:
   https://gitlab.com/xen-project/people/olkur/xen/-/commit/eb75bc3482ffe025cf36c320e2e13a77deeea883

I planned to send this patch to upstream on Monday.

Best regards,
  Oleksii


--------------1Rn7CXrr0ks0L0utR9UF0rNg
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 3/4/25 1:09 PM, Milan ÄokiÄ wrote:</div>
    <blockquote type="cite"
cite="mid:CAKp59VHngx=DaHYdb8nYNNbmd5_s5FejShX2xwFFz1KVmPB_vw@mail.gmail.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 17827c302c..f4098f5b5e 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -23,13 +23,17 @@ $(eval $(1) := \
  $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
 endef

+h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)
+$(h-extension-name)-insn := "hfence.gvma"
+$(call check-extension,$(h-extension-name))
+
 zbb-insn := "andn t0$(comma)t0$(comma)t0"
 $(call check-extension,zbb)

 zihintpause-insn := "pause"
 $(call check-extension,zihintpause)

-extensions := $(zbb) $(zihintpause)
+extensions := $(value $(h-extension-name)) $(zbb) $(zihintpause)

 extensions := $(subst $(space),,$(extensions))

This patch should take into account another one patch series ( <a class="moz-txt-link-freetext" href="https://lore.kernel.org/xen-devel/cover.1740071755.git.oleksii.kurochko@gmail.com/T/#t">https://lore.kernel.org/xen-devel/cover.1740071755.git.oleksii.kurochko@gmail.com/T/#t</a>)
update for which I am going to sent today.

Also, these changes would be better to move into separate commit with explanation why what is so specific with 1301 and why it is needed to introduce
'hh'.
I believe that these changes were taken based on my patch: <a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/commit/154f75e943f1668dbf2c7be0f0fdff5b30132e89">https://gitlab.com/xen-project/people/olkur/xen/-/commit/154f75e943f1668dbf2c7be0f0fdff5b30132e89</a>
Probably it will make sense just to get it and rebase on top of mentioned above patch series.

</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">Yes, it is based on your patch. Sorry, I was not aware that you
already have an active patch series which contains this part.
In that case we'll wait for your patch series to be merged first. And
we'll split it into 2 commits where first one will only introduce h
extension handling in arch.mk and the second one with
copy_from/to_guest functionallity
</pre>
    </blockquote>
    <pre>This is not really contains this part directly but that another one patch series will affect these changes.
So the final changes should look like:
  <a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/commit/eb75bc3482ffe025cf36c320e2e13a77deeea883">https://gitlab.com/xen-project/people/olkur/xen/-/commit/eb75bc3482ffe025cf36c320e2e13a77deeea883</a></pre>
    <pre>I planned to send this patch to upstream on Monday.

Best regards,
 Oleksii
</pre>
    <br>
  </body>
</html>

--------------1Rn7CXrr0ks0L0utR9UF0rNg--


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 12:01:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 12:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904960.1312734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqWOb-0005ee-Qc; Fri, 07 Mar 2025 12:01:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904960.1312734; Fri, 07 Mar 2025 12: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 1tqWOb-0005eX-Mp; Fri, 07 Mar 2025 12:01:41 +0000
Received: by outflank-mailman (input) for mailman id 904960;
 Fri, 07 Mar 2025 12: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqWOa-00055Y-7y
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 12:01: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 ead42bb2-fb4b-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 13:01:35 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43bccfa7b89so14626845e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 04:01:35 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bd42c55e6sm78758855e9.23.2025.03.07.04.01.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 04:01:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ead42bb2-fb4b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741348895; x=1741953695; 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=p95YJeBeMnMCmGNX6XRZSUU5pl9cPMp9s3eKMC3J3/w=;
        b=RjnHB/snNrCvxcw0izffhVTPNJDJ0dzvGbIXPMgtockQR1jnS8YhzlzfbVJKkJlfaM
         yUE83uKDTNwgdvW9Gqgq04z2dLfdB8vLos0hfw3DdxPusSYa7EqcPHKXIFJ34iNIchEd
         dzaNpYWv/QYO9U5fQHyEN+BLLc5aUJOkDP4Izweqo8SKgVpfec96H2QgzBwG+6rxpagM
         /DDB1QiU63uFa+t0AnUAshLU0ViHISV/tdgE8T3ZfreGSUDPlpJ1E2qxE/RZ2kOEvTcU
         mOAxB60wwUseVaZ3PR7uOIfsRgYGwvZOUeARCWdVJ7PY4I6DTsswOcoi0vkirVj3jDEv
         av3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741348895; x=1741953695;
        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=p95YJeBeMnMCmGNX6XRZSUU5pl9cPMp9s3eKMC3J3/w=;
        b=dvYR6s+pfuS8CoaUdFiBVY9hvNc6vw6wJpjC+e320nn4ppoFmCvhic2mRcjpwRobjo
         a2FpmbUEBoQtNu2L1CP+j83wY5A+bXT4AZnQAyCbTD4GDet7NZWFxE2b2Z7MK9n8eB83
         RtmT3ZjPSYn9MGpF1hPLOu2un8rwYiKIkuTVZ14YIQvqWEKm4rlrTqaP3v2LPaJrPS/7
         yy6oixR0Y3gFEbGCSHTAAa5dqK0r1OX+JHl8yTSArGk20ABRmUK4J4fOi6eEBDTYRt32
         1WrE/RvkTR8ZziYWMgX8L6MiaQ7OqTZ6rn58712OuoAsIiIrH0a3sbsd4zNsy7NI51XA
         0RDw==
X-Gm-Message-State: AOJu0YxBMEsak+Obfd827PyaQe7KZQ1zvZeboVxDtTshw+awvh3ykTr1
	ZATECQTOJAQcaotkD9DhEi3gRmm1PrjN+NgSz+EBvqft00h/o2ZUYi2zZDdI0Q==
X-Gm-Gg: ASbGncsnDWCxJ3XkwzuVPhJgkd8Nr9aL0U3ECOc+Kop6QzD7ahENBiSqlyIiinzdV5c
	PAu9yeNgSSX9arq6l2XIctOb5UUeMRWztQvCiUxm8lNagxfQN/WyysfpBLR/Hi6SxTJfA5C7Cxr
	OqIeSoDtzP/QKTSfr/9TYU+8x/f1PsAv6fWAQxvIKs5hHyXvRhDfB8gxN4eOl9pQapDkJ7r1MQl
	tc4JRo0a7bZ/h3qaAOmEpiNzVy3rNYedY2B0pMvSpq2zTKSgUXSHnrINB8A0RluAssZV6aXxkdw
	09zuJhlrx7dD4mkaxKeKehQiCVHCSuarcPyuIK+/tM8QmvwCOTA43XFCOE+b/I6+snyX+efcay+
	GMf2Ci3ZJ+EOp7arjLcQIj9XGI2cn2g==
X-Google-Smtp-Source: AGHT+IEppgYU8oDCm+jUYaZT/3e9zeFvX7uSGBL0YpEarIxWnywGK5Qe3JAhO5wHjZO8nyKiHMQpdw==
X-Received: by 2002:a05:600c:4f91:b0:439:a1b8:a246 with SMTP id 5b1f17b1804b1-43c5cb68df2mr20980845e9.8.1741348894765;
        Fri, 07 Mar 2025 04:01:34 -0800 (PST)
Message-ID: <927264c2-0b99-4d60-97f8-31bcd0d64aa6@suse.com>
Date: Fri, 7 Mar 2025 13:01:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
 <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@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: <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07.03.2025 12:50, Oleksii Kurochko wrote:
> On 3/6/25 9:19 PM, Andrew Cooper wrote:
>> On 05/03/2025 7:34 am, Jan Beulich wrote:
>>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>>> retain a shorthand of that name, if so desired, but I see no reason why
>>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
>> The concern is legibility and clarity.
>>
>> This:
>>
>>  Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>>
>> is a clear expression in a way that this:
>>
>>  Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>>
>> is not.Â  The problem is the extra binary expression, and this:
>>
>>  Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>>
>> is still clear, because the reader doesn't have to perform a multiply to
>> just to figure out what's going on.
>>
>>
>> It is definitely stupid to have each architecture provide their own
>> BITS_PER_*.Â  The compiler is in a superior position to provide those
>> details, and it should be in a common location.
>>
>> I don't particularly mind how those constants are derived, but one key
>> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
> 
> What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)
> 
> #define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
> #define BITS_PER_INTÂ  (BYTES_PER_INT << 3)
> 
> #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
> #define BITS_PER_LONG (BYTES_PER_LONG << 3)
> #define BITS_PER_BYTE 8
> 
> Also, it seems like the follwoing could be moved there too:
> 
> #define POINTER_ALIGN  BYTES_PER_LONG

This one is likely fine to move.

> #define BITS_PER_LLONG 64

This one is only fine to move imo when converted to

#define BITS_PER_LONG (BYTES_PER_LLONG << 3)

> #define BITS_PER_BYTE 8

Personally I'd rather leave this per-arch. The others can truly be derived;
this one can't be. If we centralize, imo we should also convert the " << 3"
to " * BITS_PER_BYTE".

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 12:03:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 12:03:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904969.1312744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqWPp-0006CW-51; Fri, 07 Mar 2025 12:02:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904969.1312744; Fri, 07 Mar 2025 12:02: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 1tqWPp-0006CP-1L; Fri, 07 Mar 2025 12:02:57 +0000
Received: by outflank-mailman (input) for mailman id 904969;
 Fri, 07 Mar 2025 12:02: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqWPo-0006CH-43
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 12:02:56 +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 1a32f59c-fb4c-11ef-9ab5-95dc52dad729;
 Fri, 07 Mar 2025 13:02:55 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43bdcd0d97dso10006905e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 04:02:55 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c015d1csm5057822f8f.44.2025.03.07.04.02.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 04:02:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a32f59c-fb4c-11ef-9ab5-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741348974; x=1741953774; 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=pN5nrAwn2fzCZ1r0R5lcDNw58qTDSLSmSVYAfxI1/0U=;
        b=UcVHp1ldSoSEUN/R6qjKTP0Nr3GWUI5vDSEIFpyyzWwkoK6NpW9Jwp0eX+QoQYmjXt
         nzZ7J1bN5NmsuuvgEPDu1HI2qXAh7XMrEl2+E8wcMrFwRCikBNrhdGhARJpnjbHQ1M+e
         Hf68YpJgDY0Liwzo1yZ460CSaKfLWKk4pFTt7oMohIelaXVqmhXyTQsq4MzjySxGoSDH
         yAZYc+hPcQbU6pwGMoqbMSGAzaiPHWoE1oshNgiqwN1Xzh/m7jtXdo2JRigL5DzIwVzw
         2SlY62MWkT95X+nE2Yy8BMcsSrg69QmKDwQY6sdIpumCKj1HagJKbsP2Z2ecGEHHPoi1
         iWWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741348974; x=1741953774;
        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=pN5nrAwn2fzCZ1r0R5lcDNw58qTDSLSmSVYAfxI1/0U=;
        b=wMr8lkmbgY8y0WC5esRhZMPp4VzajFfg15H3UC6/Ty4v80fj8vwnBOhqx4GxAUVZCY
         Ti3/Zp/UUh5SgsHDlRhwdogEO+2c0WeGdca8j63ckt7fqHo7Iecl7iUnuTXNjMS5ercQ
         Rv9HVjiOMzINpP6s6Z2numicL8pNm2af5uQee/dbQi6qDQwtR3vr0pNv4kHolK5JgM2n
         65vo/qPFgQneM63UZA10eqy9TOUJSniJx4x2sUjEgEqztZYT0lA1SmVJ6493AXAIDQqG
         U4inWoKhENQCOInmEivSGACZC3kwL7IrcNjzEuccFAyiveFNpcJMh6MsWD0SfxRXvBvK
         uVsw==
X-Forwarded-Encrypted: i=1; AJvYcCUbHt6GCfDRWPKEIQzsd29lmnPSThFCoj/vs3t33oynMr79Umqpqpot0DxlyRvNu/VsxO49e+5sBXw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYSY9g7P4QgWpOgWVC1FwLYEZP6GtMT54joma5HFg7TBgmhhgl
	liC4qC/wuHQ7+XOjDAQrlzgacjq0euSX01xvv43kUeLzxXA8efJ46UxHMiQP9A==
X-Gm-Gg: ASbGncuuCdbfl7WHC7+NpIdMRDHteqG9yVqtlWSiAUoBJ8UHgtBnT/FpA1TkktApHkb
	bYXOHi9FM5FvVO5BPai7Vbyqq7/8S8bC5jBBJ3SIgahY4YEpbp97fl65RylHzLhLUIx9sCv0CXE
	PQTo1m/umzTKVZ9mp/xqTku8YifNrs9bflCPz9ICwo5oDZBY8Xk2/SgfwTqwD46xks3HDtJKH1z
	3F+0TrbNKTck70pTGslK2GA4QNnl6rxeIEJYFgFUnZt/q4j0LPzZDuYKxpSOjBIq9wvcql7inl1
	+cvA0ociEI4SBHL7xijmpHMy38d+RtK+m4kyGXUTI9uvRdJz/UU0cgJyuxdrBwvDqtrPmlS2YCw
	a+/emzr4oTr3mhly02n80zRhQVS0Hbg==
X-Google-Smtp-Source: AGHT+IGjlg2oResXOCCANO0t/Q1utFTcD0DxPhWdGOQj8GYLMy7jzkxFtYjWpWlq5f+EgllcImyTAg==
X-Received: by 2002:a05:600c:1c85:b0:43b:d531:ca94 with SMTP id 5b1f17b1804b1-43c601cdb67mr19719025e9.3.1741348974209;
        Fri, 07 Mar 2025 04:02:54 -0800 (PST)
Message-ID: <e5924368-4474-456a-a805-78b34ca31776@suse.com>
Date: Fri, 7 Mar 2025 13:02:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.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>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
 <20250307075818.740649-2-luca.fancellu@arm.com>
 <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
 <F4801232-DC72-44D4-AF0D-EFDF5D2B3202@arm.com>
 <cc4c694c-9d31-4239-a469-18580d74d35a@suse.com>
 <FD7FAEC0-2678-450E-A85F-24ADFEEE1B03@arm.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: <FD7FAEC0-2678-450E-A85F-24ADFEEE1B03@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07.03.2025 12:23, Luca Fancellu wrote:
>>>>> +
>>>>> +static inline int iommu_domain_init(struct domain *d, unsigned int opts)
>>>>> +{
>>>>> +    /*
>>>>> +     * Return as the real iommu_domain_init() would: Success when
>>>>> +     * !is_iommu_enabled(), following from !iommu_enabled when !HAS_PASSTHROUGH
>>>>> +     */
>>>>> +    return 0;
>>>>> +}
>>>>> +
>>>>> +static inline void iommu_hwdom_init(struct domain *d) {}
>>>>> +
>>>>> +static inline void iommu_domain_destroy(struct domain *d) {}
>>>>> +
>>>>> +#endif /* HAS_PASSTHROUGH */
>>>>> +
>>>>> /*
>>>>>  * The following flags are passed to map (applicable ones also to unmap)
>>>>>  * operations, while some are passed back by lookup operations.
>>>>> @@ -209,6 +233,8 @@ struct msi_msg;
>>>>> #ifdef CONFIG_HAS_DEVICE_TREE
>>>>> #include <xen/device_tree.h>
>>>>> +#ifdef CONFIG_HAS_PASSTHROUGH
>>>>> +
>>>>> int iommu_assign_dt_device(struct domain *d, struct dt_device_node *dev);
>>>>> int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev);
>>>>> int iommu_dt_domain_init(struct domain *d);
>>>>> @@ -238,6 +264,26 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>>>>>  */
>>>>> int iommu_remove_dt_device(struct dt_device_node *np);
>>>>> +#else
>>>>> +
>>>>> +static inline int iommu_assign_dt_device(struct domain *d,
>>>>> +                                         struct dt_device_node *dev)
>>>>> +{
>>>>> +    return -EINVAL;
>>>>> +}
>>>>> +
>>>>> +static inline int iommu_add_dt_device(struct dt_device_node *np)
>>>>> +{
>>>>> +    return 1;
>>>>
>>>> I would suggest to add a comment explain what 1 means. IIRC, this means "no iommu" present.
>>>
>>> Would it be ok something like in iommu_domain_init:
>>>
>>> /*
>>> * Returns as the real iommu_add_dt_device() would: Error âno iommu" because
>>> * !iommu_enabled due to the fact that !HAS_PASSTHROUGH
>>> */
>>
>> We had been there before, hadn't we? Personally I find the suggested text
>> hard to follow.
> 
> well, Iâve taken your suggestion for iommu_domain_init and adapted here, 
> maybe the adaptation didnât meet your criteria then :)

I wasn't overly happy with that other comment either.

> But ...
> 
>> How about
>>
>>    /*
>>     * !HAS_PASSTHROUGH => !iommu_enabled (see the non-stub
>>     * iommu_add_dt_device())
>>     */
>>
>> If that's too terse, adding a few words should be fine.
> 
> as long as you are happy with that, Iâm happy as well, please let me know
> if you want a v5 with this or if you would do the modificaiton on commit.

I first need to get to looking at v4 as a whole.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 12:13:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 12:13:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904980.1312753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqWZY-0007p5-0X; Fri, 07 Mar 2025 12:13:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904980.1312753; Fri, 07 Mar 2025 12: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 1tqWZX-0007oy-UC; Fri, 07 Mar 2025 12:12:59 +0000
Received: by outflank-mailman (input) for mailman id 904980;
 Fri, 07 Mar 2025 12: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqWZW-0007op-Os
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 12:12:58 +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 813398a2-fb4d-11ef-9ab6-95dc52dad729;
 Fri, 07 Mar 2025 13:12:57 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-390effd3e85so1610803f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 04:12:57 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfcdasm5083770f8f.23.2025.03.07.04.12.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 04:12:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 813398a2-fb4d-11ef-9ab6-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741349576; x=1741954376; 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=racZ9WLIFatRaEJK5lSBxAGRS2J5Dg95ncOfXNtBjHY=;
        b=dWRmFyOn9da8vemIe7618T2ECAPLUIUIFGcIlVVy3G8EJnaigCEOVjJp9NulWlzeR1
         Zv9SSGXk6FdpWamsq/z2xL55MJqQpVNWQWIzLoNO6e9/sdbmFWqg31Bp+NTMde4+WLo8
         X0wW7E8is1G2SwPD/2wWA7Khy8RYY5TUHy9Dw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741349576; x=1741954376;
        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=racZ9WLIFatRaEJK5lSBxAGRS2J5Dg95ncOfXNtBjHY=;
        b=bboqDIlq9MdSU6O1wfxO+mEiZQCN+Q+fwvIfBooJ/qjBFNXkYqkPwiduxah8pHapdP
         NNe7Oeubdn3IVtMMTPMKvJgcRsME4pG1O+42hXaOsFDOmZvj+EpyyrdKOB8tHG+iT1q0
         UssN/wWKwri4Ym1vaokRqt9LMPrsBjOVuISjOxKSbxtx7+aa15vTydBzKPljAGFnMvOQ
         6Inb+wy56ISdXIQDwZE0iXiKvRlXEKnhe96ySxLn+/7Ekfm/6JAPpEkNzfvBpmClQNaG
         SMAl2ZM4LWV2wbAmYJM5YZI7KpQaPZPMfrrIGLmyz/xchHbm+VExdU/R5lh0Sanqzse9
         r03Q==
X-Gm-Message-State: AOJu0YzK+mrZSdiZFeG3UrcSxJHA/weg22Nzb8QzSJYa96PMcd/Sd8fI
	G1859CyUhb0VkQDvW/gr/2kkTrhpCnvVY0hQBjulRcd9taRAQql5+880t/B35Yo=
X-Gm-Gg: ASbGncvQj86zCT+9lbPrBIaEcR2UxI1vVywlczP5HIV6u0UURg585MgH+qmcDpd8XYd
	o1uib+Zjvxm7UAfqksQKjDhA1hoJ2CA+mRuvHVWcnny8wr4yNEyc549+ka93ONr2qbPbW6AwNqH
	RPYpxb3KxpVrLuVTYz4jXRmVA72F0KMGXZvhgFXHIsMDhsfEmXdTWdFsGbBTRQJS0AWo4ITaMbX
	JIC1eFQ6HEar1RqfTObHFSgMZO0KyemVhu7odvywi0HNKBwto2b+ddvJ0F22hI3nGfUC20Irzqs
	LlOWv9LqxK6wU/q6Ra2rSPqpYdjJI1VdkZ6ktpaESb6qWlEJi5JFGFndgcbEedyCAMD8/VhGBLA
	jaV5fpcBx
X-Google-Smtp-Source: AGHT+IFUUwfXlO2hHx99v5v6MmO2zQAicCY3V5nHHcAx+NRYetMTkFo6Xh+olRcOtS76hNMeeTuvvg==
X-Received: by 2002:a5d:5f4e:0:b0:391:fcc:9ee8 with SMTP id ffacd0b85a97d-39132d6bc06mr1798241f8f.23.1741349576548;
        Fri, 07 Mar 2025 04:12:56 -0800 (PST)
Message-ID: <a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com>
Date: Fri, 7 Mar 2025 12:12:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
 <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
 <927264c2-0b99-4d60-97f8-31bcd0d64aa6@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: <927264c2-0b99-4d60-97f8-31bcd0d64aa6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/03/2025 12:01 pm, Jan Beulich wrote:
> On 07.03.2025 12:50, Oleksii Kurochko wrote:
>> On 3/6/25 9:19 PM, Andrew Cooper wrote:
>>> On 05/03/2025 7:34 am, Jan Beulich wrote:
>>>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>>>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>>>> retain a shorthand of that name, if so desired, but I see no reason why
>>>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
>>> The concern is legibility and clarity.
>>>
>>> This:
>>>
>>>  Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>>>
>>> is a clear expression in a way that this:
>>>
>>>  Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>>>
>>> is not.Â  The problem is the extra binary expression, and this:
>>>
>>>  Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>>>
>>> is still clear, because the reader doesn't have to perform a multiply to
>>> just to figure out what's going on.
>>>
>>>
>>> It is definitely stupid to have each architecture provide their own
>>> BITS_PER_*.Â  The compiler is in a superior position to provide those
>>> details, and it should be in a common location.
>>>
>>> I don't particularly mind how those constants are derived, but one key
>>> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
>> What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)
>>
>> #define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
>> #define BITS_PER_INTÂ  (BYTES_PER_INT << 3)
>>
>> #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
>> #define BITS_PER_LONG (BYTES_PER_LONG << 3)
>> #define BITS_PER_BYTE 8

The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
straight up, and this will simplify quite a lot of preprocessing.

>>
>> Also, it seems like the follwoing could be moved there too:
>>
>> #define POINTER_ALIGN  BYTES_PER_LONG
> This one is likely fine to move.
>
>> #define BITS_PER_LLONG 64
> This one is only fine to move imo when converted to
>
> #define BITS_PER_LONG (BYTES_PER_LLONG << 3)

Erm?Â  That's mixing long and long long types.Â  Presuming that's an
errant L, then sure.

>
>> #define BITS_PER_BYTE 8
> Personally I'd rather leave this per-arch. The others can truly be derived;
> this one can't be. If we centralize, imo we should also convert the " << 3"
> to " * BITS_PER_BYTE".

It is highly unlikely that Xen will ever run on a system where CHAR_BIT
isn't 8.

So I suggest it stays central to reduce complexity.Â  If an arch ever
needs to change it, the complexity can be added then.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 13:05:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 13:05:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904997.1312764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqXNk-0000jZ-S6; Fri, 07 Mar 2025 13:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904997.1312764; Fri, 07 Mar 2025 13:04: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 1tqXNk-0000jR-Mz; Fri, 07 Mar 2025 13:04:52 +0000
Received: by outflank-mailman (input) for mailman id 904997;
 Fri, 07 Mar 2025 13:04: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=hW4D=V2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tqXNj-0000jL-7H
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 13:04:51 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bfe6c9c2-fb54-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 14:04:48 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-54957f0c657so2097835e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 05:04:48 -0800 (PST)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfcdasm5207549f8f.23.2025.03.07.05.04.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 05:04:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfe6c9c2-fb54-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741352688; x=1741957488; 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=eaMyo+npIexXr831OCEP5A7iI6U6j5Gor1kwie0RLhE=;
        b=COaRs+UO9hRicTjNGBj06FVo38oupAofESpS/0lMuGCkUV5dZyFWWcCGUhtaA4+2Jd
         jq18kjAm5X1vUAap5Uk4/UuGYSR3W1xPZrED2GJiyYeGNiMNtvt6MvRQN/P0giK0T8oJ
         UarCnpYiK9SJFg7YJz5VLwGFUUsOapEq/bTseru3SQrecK9mmUinr7NrSCzC2zNg+ZMf
         cInkGy82hBBfw3wYzIzJh7fJsa+OwV41T6GHtd1BdKRRooawRwttrzrnBfCT0buA3ed/
         cSrCvOghivIW6JYWrcKNnXz6e5iEceluZVTPss3RG71MQnU1DnX77nfj8k2p/U+Cdyqj
         0agg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741352688; x=1741957488;
        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=eaMyo+npIexXr831OCEP5A7iI6U6j5Gor1kwie0RLhE=;
        b=C+/GxxsTb6tRiKaNHARyzZ0n+Pacsdd4n2rJtdoKv0VNwY/XLDwIr8rxNdnvjYzAoS
         YwthIyyApO6Ut3Cb2EAw+krvAu2ORIJqVj0eQdZNgcfk6NTH5GOx0obmcdNdTfo/7AeC
         VtaQHPW7q2UeM6VmbalC5z3+5/L7SuE0gAWrgId3VU41iHeRWTwFS+eW8ddD+oGGu1zj
         Qx2AkSEOpaB9mWtEAoEXM5q5a4IK0yzrjVmfnLCVS72c0cyQaJM6lU76sh2WFDTgPE9D
         7aKrJlTEl3EBhW1a/Yo7d06he4O6Q7vRz6xzVCbvba8bEWzNI/7EJtf5bIf01qV7Ug0Z
         945w==
X-Forwarded-Encrypted: i=1; AJvYcCX4SBUSJHDCDpp7JyCOotE4bcjytyro+wJaTbtbYgNcXSC1anuGE0HUGfL+IlisX8Y0amdPCqOQ+UE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzABFGwEWbeVYae5ac7PSOOvybjcJCbe+0HMNQn+l3LB0Pg/blW
	pG9j7zVS1E4lEexjQTTgh5GAImh72V0wqs/qkkD54M8cQ6ljUmTsbdQaMSK0iTevuLLbQDV/mYw
	=
X-Gm-Gg: ASbGncvO2LkxjYSh136ZW26CSbeneGTSms6Fqx6yVio050LutcLceA/Gi5Gvi9+GaEy
	y0yMpAuh+mBxPqBLnYZ7rOIRp5hCPckG0k5clGTyHOC+19G7nbDmJgk79hrDWEi5S9GI4BCB8V9
	1bjkQ7u/5YBrpc5HFzELnCCdpoRyqLYybgBg6D87HpszZc4bWOHlHWAdsV0e2cfEEwgHgVOsDKC
	trMtLrSUFfRjoId2FmNKmWg1kBPwTC5Rt9hq5XK54Z3Iivs6Tkjkrhgiue0km8j0rmRkl3uJbQP
	0Y78oaXDr9XF0heNGMPXJOxONEbkv0xlFfvcMBuJYE7plPwQj/FHJgybb+lX08JQYFIKVwVngnp
	MldfrbehGRUyGPtRWVye7jc+K34ohuA==
X-Google-Smtp-Source: AGHT+IEV8pqn/pQJcNfOhcqnnVLKfUYtltVrxOkRIRYmOYY8XWNo/7zjAeI67l5dDTul8kOEzr8Hww==
X-Received: by 2002:a05:600c:4e8d:b0:439:873a:1114 with SMTP id 5b1f17b1804b1-43c5a60efaamr21764345e9.6.1741352654173;
        Fri, 07 Mar 2025 05:04:14 -0800 (PST)
Message-ID: <91939942-0290-40d3-9164-68ab13821b09@suse.com>
Date: Fri, 7 Mar 2025 14:04:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: Fix documentation of VIRQs
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>, Juergen Gross
 <jgross@suse.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <0315252d-0378-4699-bff7-ce745d753438@suse.com>
 <20250307114930.3038480-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: <20250307114930.3038480-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 12:49, Andrew Cooper wrote:
> It has been discovered that VIRQ_ARGO is a 3rd type of VIRQ.  Also, recent
> work has prevented global VIRQs from being stolen from the owning domain.
> 
> Rewrite the description of VIRQ classifications.  Drop the (DOM0) comment from
> the global VIRQs; it's not been true for a long time.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Mar 07 13:19:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 13:19:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.904713.1312774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqXbz-0002se-8i; Fri, 07 Mar 2025 13:19:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 904713.1312774; Fri, 07 Mar 2025 13:19: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 1tqXbz-0002sW-4L; Fri, 07 Mar 2025 13:19:35 +0000
Received: by outflank-mailman (input) for mailman id 904713;
 Fri, 07 Mar 2025 08:42: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=lT2w=V2=ffwll.ch=simona.vetter@srs-se1.protection.inumbo.net>)
 id 1tqTHu-0000s3-N0
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 08:42:34 +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 1a4b0e0a-fb30-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 09:42:29 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43bc38bb6baso9184315e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 00:42:29 -0800 (PST)
Received: from phenom.ffwll.local ([2a02:168:57f4:0:5485:d4b2:c087:b497])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c0194f2sm4703188f8f.54.2025.03.07.00.42.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 00:42:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a4b0e0a-fb30-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ffwll.ch; s=google; t=1741336948; x=1741941748; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=US2Wc6icG0i9/47aJ/pkH3GP4es8yYK0BFMiCt7We04=;
        b=j5qCM1yIkKBEdb4LzYrdrMwPkdnC0vuVkIf9HDl/t8+UNKmKOFEn/5HYq1A9mfddRZ
         nepYsMLgNHres99VsG0u/SHGqSTe+YAWFPzdWWATVlTjxQyf09JotI7wQ4uGFbEVRBdD
         xhdFORO8E2cZDe3Ky9r+ew8fPD8ujZmhFM4oc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741336948; x=1741941748;
        h=in-reply-to: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=US2Wc6icG0i9/47aJ/pkH3GP4es8yYK0BFMiCt7We04=;
        b=qf+YvI+wgdWzbO7KeDvLvjuxWO9dL74QamdaJJOkFFV0cJ+J9FPrPim18tQ91Rh8Yt
         ZxoL8V41pZl2m19FmI56iaTEfTL0jrg1fB7As4eKV2wCO8A8TKU+EwinwZrpqJwELua8
         hWH6JWEEEEsnD9NAQnQ2NjpZYQBkxmYbrDBjshqKPan/7CidBtJ0+47d0rU+A+WweJE8
         Xbv2Smsiikg2VGEKgtFqUVx6zSHuZ+uaafprXevyhVCJ4+CR2dljc7CBrpXGq/5srn1O
         LxUGeQJkgxGidHX18XZNky4ap7cDO53lgVc8+cg0j3fDhnlreg04AWj3Dxr7iQUJZinm
         VzzQ==
X-Forwarded-Encrypted: i=1; AJvYcCWAvaOx7IxO6YXCIsuPP4GMZ0v3SS2zLh9qOoO+yPa1xM+UGCEmQjF3NajmXQhQfjjetk3vMbgfCuo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZti91BNTUoZIn7+LIhWD4zHU/YgvNjMdVMJXVEOMXN8GNOI9C
	SAdOVE6xW+EPDKmmTAF0unyBLuMFffViWMi84JWt14Np1y7+xcN16H7caKNFfzE=
X-Gm-Gg: ASbGncvM+W8Da1PB6F3JvdQbViDEJWlIbw4qOu6jgt8J1jGqKkVanv55nGIi05Bu01H
	OGYmJZW+zgpSKoepYQwz2kmYn/LVsodow9ufxEGOYnTaJlIsCNwKZYRSTMXwwiZeItLWhqlCMxx
	9PGtJQmmwdn+QH+llh/AKGoFR4qeC2SHdMAPcf2Zw+ta61fFxlrGyO5YRd2RzR9cNVXKkaveQOU
	5O06ypcvk9R2xEoMFls1447C+jurn3ZSnz4p4itxsss2kPS1pBCDKv6/uS1CQe+btiCJp3Y4LlE
	3PHQn5kdmysdr8B1WDpyvqrZ4n2+n0bch1CoeX4QGwkyRQjagqJ1qy7u
X-Google-Smtp-Source: AGHT+IHeHcCAYfYIfg5Jap/0uuzQ6Oi2iytybYQTlJnuwARBxYqbc0PxFDylyktyJP3I4EPX9/4QPQ==
X-Received: by 2002:a05:600c:1c19:b0:439:a1ef:c238 with SMTP id 5b1f17b1804b1-43c601e1162mr16070975e9.13.1741336948296;
        Fri, 07 Mar 2025 00:42:28 -0800 (PST)
Date: Fri, 7 Mar 2025 09:42:25 +0100
From: Simona Vetter <simona.vetter@ffwll.ch>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	airlied@gmail.com, simona@ffwll.ch, dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org, freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org, imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org, nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 02/25] drm/dumb-buffers: Provide helper to set pitch
 and size
Message-ID: <Z8qxcTIcD4W5OGwL@phenom.ffwll.local>
References: <20250218142542.438557-1-tzimmermann@suse.de>
 <20250218142542.438557-3-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250218142542.438557-3-tzimmermann@suse.de>
X-Operating-System: Linux phenom 6.12.11-amd64 

On Tue, Feb 18, 2025 at 03:23:25PM +0100, Thomas Zimmermann wrote:
> Add drm_modes_size_dumb(), a helper to calculate the dumb-buffer
> scanline pitch and allocation size. Implementations of struct
> drm_driver.dumb_create can call the new helper for their size
> computations.
> 
> There is currently quite a bit of code duplication among DRM's
> memory managers. Each calculates scanline pitch and buffer size
> from the given arguments, but the implementations are inconsistent
> in how they treat alignment and format support. Later patches will
> unify this code on top of drm_mode_size_dumb() as much as possible.
> 
> drm_mode_size_dumb() uses existing 4CC format helpers to interpret
> the given color mode. This makes the dumb-buffer interface behave
> similar the kernel's video= parameter. Current per-driver implementations
> again likely have subtle differences or bugs in how they support color
> modes.
> 
> The dumb-buffer UAPI is only specified for known color modes. These
> values describe linear, single-plane RGB color formats or legacy index
> formats. Other values should not be specified. But some user space
> still does. So for unknown color modes, there are a number of known
> exceptions for which drm_mode_size_dumb() calculates the pitch from
> the bpp value, as before. All other values work the same but print
> an error.
> 
> v3:
> - document the UAPI semantics
> - compute scanline pitch from for unknown color modes (Andy, Tomi)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>  drivers/gpu/drm/drm_dumb_buffers.c | 116 +++++++++++++++++++++++++++++
>  include/drm/drm_dumb_buffers.h     |  14 ++++
>  include/uapi/drm/drm_mode.h        |  46 +++++++++++-
>  3 files changed, 175 insertions(+), 1 deletion(-)
>  create mode 100644 include/drm/drm_dumb_buffers.h
> 
> diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
> index 9916aaf5b3f2..600ab281712b 100644
> --- a/drivers/gpu/drm/drm_dumb_buffers.c
> +++ b/drivers/gpu/drm/drm_dumb_buffers.c
> @@ -25,6 +25,8 @@
>  
>  #include <drm/drm_device.h>
>  #include <drm/drm_drv.h>
> +#include <drm/drm_dumb_buffers.h>
> +#include <drm/drm_fourcc.h>
>  #include <drm/drm_gem.h>
>  #include <drm/drm_mode.h>
>  
> @@ -57,6 +59,120 @@
>   * a hardware-specific ioctl to allocate suitable buffer objects.
>   */
>  
> +static int drm_mode_align_dumb(struct drm_mode_create_dumb *args,
> +			       unsigned long pitch_align,
> +			       unsigned long size_align)
> +{
> +	u32 pitch = args->pitch;
> +	u32 size;
> +
> +	if (!pitch)
> +		return -EINVAL;
> +
> +	if (pitch_align)
> +		pitch = roundup(pitch, pitch_align);
> +
> +	/* overflow checks for 32bit size calculations */
> +	if (args->height > U32_MAX / pitch)
> +		return -EINVAL;
> +
> +	if (!size_align)
> +		size_align = PAGE_SIZE;
> +	else if (!IS_ALIGNED(size_align, PAGE_SIZE))
> +		return -EINVAL;
> +
> +	size = ALIGN(args->height * pitch, size_align);
> +	if (!size)
> +		return -EINVAL;
> +
> +	args->pitch = pitch;
> +	args->size = size;
> +
> +	return 0;
> +}
> +
> +/**
> + * drm_mode_size_dumb - Calculates the scanline and buffer sizes for dumb buffers
> + * @dev: DRM device
> + * @args: Parameters for the dumb buffer
> + * @pitch_align: Scanline alignment in bytes
> + * @size_align: Buffer-size alignment in bytes
> + *
> + * The helper drm_mode_size_dumb() calculates the size of the buffer
> + * allocation and the scanline size for a dumb buffer. Callers have to
> + * set the buffers width, height and color mode in the argument @arg.
> + * The helper validates the correctness of the input and tests for
> + * possible overflows. If successful, it returns the dumb buffer's
> + * required scanline pitch and size in &args.
> + *
> + * The parameter @pitch_align allows the driver to specifies an
> + * alignment for the scanline pitch, if the hardware requires any. The
> + * calculated pitch will be a multiple of the alignment. The parameter
> + * @size_align allows to specify an alignment for buffer sizes. The
> + * returned size is always a multiple of PAGE_SIZE.
> + *
> + * Returns:
> + * Zero on success, or a negative error code otherwise.
> + */
> +int drm_mode_size_dumb(struct drm_device *dev,
> +		       struct drm_mode_create_dumb *args,
> +		       unsigned long pitch_align,
> +		       unsigned long size_align)
> +{
> +	u64 pitch = 0;
> +	u32 fourcc;
> +
> +	/*
> +	 * The scanline pitch depends on the buffer width and the color
> +	 * format. The latter is specified as a color-mode constant for
> +	 * which we first have to find the corresponding color format.
> +	 *
> +	 * Different color formats can have the same color-mode constant.
> +	 * For example XRGB8888 and BGRX8888 both have a color mode of 32.
> +	 * It is possible to use different formats for dumb-buffer allocation
> +	 * and rendering as long as all involved formats share the same
> +	 * color-mode constant.
> +	 */
> +	fourcc = drm_driver_color_mode_format(dev, args->bpp);
> +	if (fourcc != DRM_FORMAT_INVALID) {
> +		const struct drm_format_info *info = drm_format_info(fourcc);
> +
> +		if (!info)
> +			return -EINVAL;
> +		pitch = drm_format_info_min_pitch(info, 0, args->width);
> +	} else if (args->bpp) {
> +		/*
> +		 * Some userspace throws in arbitrary values for bpp and
> +		 * relies on the kernel to figure it out. In this case we
> +		 * fall back to the old method of using bpp directly. The
> +		 * over-commitment of memory from the rounding is acceptable
> +		 * for compatibility with legacy userspace. We have a number
> +		 * of deprecated legacy values that are explicitly supported.
> +		 */
> +		switch (args->bpp) {
> +		default:
> +			drm_warn(dev, "Unknown color mode %d; guessing buffer size.\n",
> +				 args->bpp);
> +			fallthrough;

We cannot let userspace trigger dmesg warnings (or anything else really
that spams logs). Also I think for future proofing it would be good if we
just reject anything we don't currently know about instead of silently
letting this mess become worse. Hence my vote is to reject unknown bpp
hack values.

> +		case 12:
> +		case 15:
> +		case 30: /* see drm_gem_afbc_get_bpp() */

This is a bit too cryptic to me, I think if you want to do comments I'd
just put a long-form one above each value that explains where we've found
it and why it happens. I'm also assuming these all have depth = 0, which I
guess is something we should check just to keep this as strict as
possible? Or do they have matching depth?

Cheers, Sima

> +		case 10:
> +		case 64: /* used by Mesa */
> +			pitch = args->width * DIV_ROUND_UP(args->bpp, SZ_8);
> +			break;
> +		}
> +	}
> +
> +	if (!pitch || pitch > U32_MAX)
> +		return -EINVAL;
> +
> +	args->pitch = pitch;
> +
> +	return drm_mode_align_dumb(args, pitch_align, size_align);
> +}
> +EXPORT_SYMBOL(drm_mode_size_dumb);
> +
>  int drm_mode_create_dumb(struct drm_device *dev,
>  			 struct drm_mode_create_dumb *args,
>  			 struct drm_file *file_priv)
> diff --git a/include/drm/drm_dumb_buffers.h b/include/drm/drm_dumb_buffers.h
> new file mode 100644
> index 000000000000..6fe36004b19d
> --- /dev/null
> +++ b/include/drm/drm_dumb_buffers.h
> @@ -0,0 +1,14 @@
> +/* SPDX-License-Identifier: MIT */
> +
> +#ifndef __DRM_DUMB_BUFFERS_H__
> +#define __DRM_DUMB_BUFFERS_H__
> +
> +struct drm_device;
> +struct drm_mode_create_dumb;
> +
> +int drm_mode_size_dumb(struct drm_device *dev,
> +		       struct drm_mode_create_dumb *args,
> +		       unsigned long pitch_align,
> +		       unsigned long size_align);
> +
> +#endif
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index c082810c08a8..eea09103b1a6 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -1058,7 +1058,7 @@ struct drm_mode_crtc_page_flip_target {
>   * struct drm_mode_create_dumb - Create a KMS dumb buffer for scanout.
>   * @height: buffer height in pixels
>   * @width: buffer width in pixels
> - * @bpp: bits per pixel
> + * @bpp: color mode
>   * @flags: must be zero
>   * @handle: buffer object handle
>   * @pitch: number of bytes between two consecutive lines
> @@ -1066,6 +1066,50 @@ struct drm_mode_crtc_page_flip_target {
>   *
>   * User-space fills @height, @width, @bpp and @flags. If the IOCTL succeeds,
>   * the kernel fills @handle, @pitch and @size.
> + *
> + * The value of @bpp is a color-mode number describing a specific format
> + * or a variant thereof. The value often corresponds to the number of bits
> + * per pixel for most modes, although there are exceptions. Each color mode
> + * maps to a DRM format plus a number of modes with similar pixel layout.
> + * Framebuffer layout is always linear.
> + *
> + * Support for all modes and formats is optional. Even if dumb-buffer
> + * creation with a certain color mode succeeds, it is not guaranteed that
> + * the DRM driver supports any of the related formats. Most drivers support
> + * a color mode of 32 with a format of DRM_FORMAT_XRGB8888 on their primary
> + * plane.
> + *
> + * +------------+------------------------+------------------------+
> + * | Color mode | Framebuffer format     | Compatibles            |
> + * +============+========================+========================+
> + * |     32     |  * DRM_FORMAT_XRGB8888 |  * DRM_FORMAT_XBGR8888 |
> + * |            |                        |  * DRM_FORMAT_RGBX8888 |
> + * |            |                        |  * DRM_FORMAT_BGRX8888 |
> + * +------------+------------------------+------------------------+
> + * |     24     |  * DRM_FORMAT_RGB888   |  * DRM_FORMAT_BGR888   |
> + * +------------+------------------------+------------------------+
> + * |     16     |  * DRM_FORMAT_RGB565   |  * DRM_FORMAT_BGR565   |
> + * +------------+------------------------+------------------------+
> + * |     15     |  * DRM_FORMAT_XRGB1555 |  * DRM_FORMAT_XBGR1555 |
> + * |            |                        |  * DRM_FORMAT_RGBX1555 |
> + * |            |                        |  * DRM_FORMAT_BGRX1555 |
> + * +------------+------------------------+------------------------+
> + * |      8     |  * DRM_FORMAT_C8       |  * DRM_FORMAT_R8       |
> + * +------------+------------------------+------------------------+
> + * |      4     |  * DRM_FORMAT_C4       |  * DRM_FORMAT_R4       |
> + * +------------+------------------------+------------------------+
> + * |      2     |  * DRM_FORMAT_C2       |  * DRM_FORMAT_R2       |
> + * +------------+------------------------+------------------------+
> + * |      1     |  * DRM_FORMAT_C1       |  * DRM_FORMAT_R1       |
> + * +------------+------------------------+------------------------+
> + *
> + * Color modes of 10, 12, 15, 30 and 64 are only supported for use by
> + * legacy user space. Please don't use them in new code. Other modes
> + * are not support.
> + *
> + * Do not attempt to allocate anything but linear framebuffer memory
> + * with single-plane RGB data. Allocation of other framebuffer
> + * layouts requires dedicated ioctls in the respective DRM driver.
>   */
>  struct drm_mode_create_dumb {
>  	__u32 height;
> -- 
> 2.48.1
> 

-- 
Simona Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 13:19:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 13:19:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905012.1312784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqXc5-00037H-Ek; Fri, 07 Mar 2025 13:19:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905012.1312784; Fri, 07 Mar 2025 13:19: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 1tqXc5-000376-Az; Fri, 07 Mar 2025 13:19:41 +0000
Received: by outflank-mailman (input) for mailman id 905012;
 Fri, 07 Mar 2025 13: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=lT2w=V2=ffwll.ch=simona.vetter@srs-se1.protection.inumbo.net>)
 id 1tqXbm-0002rv-5l
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 13:19:22 +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 c4ef3b0a-fb56-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 14:19:16 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e0813bd105so3019097a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 05:19:16 -0800 (PST)
Received: from phenom.ffwll.local ([2a02:168:57f4:0:5485:d4b2:c087:b497])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2399d2dd8sm272788966b.166.2025.03.07.05.19.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 05:19:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4ef3b0a-fb56-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ffwll.ch; s=google; t=1741353556; x=1741958356; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=GmXXr/GHvAGv2swMlIkbl+Www19HcX8d7ze1AMoIM9w=;
        b=ZSpnj3AQzj1VC1X6fv3WE2z3y86fdwk/bpTd+4cqXnNdV38GRALKc1OaqJ+BhZ3mlA
         JK9fepptkCfu3ZdeNCxm2i5poT6PSFqEJdzgC609Y1c9h9TDNn5udktjqsdf39mLpog9
         uQuLhAFvI/Fba7e93p2LL7/RWbc5ItCLMCmjY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741353556; x=1741958356;
        h=in-reply-to: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=GmXXr/GHvAGv2swMlIkbl+Www19HcX8d7ze1AMoIM9w=;
        b=p3xSfaiCKcAimqSFRBG3rDsFd8K7NMojfPOK8Uw/GF7epngAGaRXCoopY/Sao0XXB0
         C4asNmIrQwGMb9IrHQ8HwXFRIfQQmhA0H9kxdSRpS5QzIulot29AA1RcyBsC6HsVdrWA
         dKB7IEys+ps1FfPFxaTa8aI7uz0ByloYGGF+HTGuGIeWGkyO9TWnTCdPIpFgvCBep1JI
         ccQwoh6NyqmpOQZD4Mt9zKaehPW6AQxe9lr2ngOwcDl111B7m2kIVeQ8D49HxUx+JIRZ
         RM2S66S692RNjo0bnbaF2HjJuAOTaNIIXZbfG5sB/CPClE1/zVjb0ode5cpb8O+cGRy+
         cZsg==
X-Forwarded-Encrypted: i=1; AJvYcCV5xst6oRwXxxh8b1ANpmoZlGDVTog3p8O7nm7joZLLjyAUb2qGmXxd/W0MG3/jJdcGMC2uWPWYvhI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3Nz14xhb8wyd7IpLOznAd8AC5NewZArPWyEiwJEyrolOxfLU0
	EeRYwsAD4jyVapoVV9uG/KqAjHXh6zAoFWpcrFm4FAKzmOwvNq77WgvMQeEgHws=
X-Gm-Gg: ASbGncvXAaHH2ZEvGW9bn5LmIcNaITul+nizGCuiZaMVlSdHXcyQ+NQ+Lru/IYWPZJk
	q8nHu7fPoHI2u9nQZYVazYVf748hBmhivDQA6ZOFNfbHUA3SDBe4uZiXdr0AAYMMI8klnxmCK1e
	9CTOWl4DB20hZks1X50qxVgYSPnXwcSUsQ+q2yD9R+oGWXpXehqSAa+PWUvzSMyGh8hPgwecXAo
	P/4QJvUqQ3y2mvSrvGryJIj0PI+REhlyH2CoZBIhH582Bye2snDjwH/zHBGfIwmYjNu47yLeN4+
	ove7W3WLuJ7HifxxS4VC2owktRqyJDjFCPNwwJGti8WF7Sf63H70jSm7
X-Google-Smtp-Source: AGHT+IGWJEXpT4oFObUhXEX1baZSA5ka+RDW0BObeZF31pqEHYIrQhNdRsTwmr/EHhhCwd6ldgP0tQ==
X-Received: by 2002:a17:907:7ea9:b0:abf:6b30:7a94 with SMTP id a640c23a62f3a-ac252f4c9eamr387695566b.45.1741353555414;
        Fri, 07 Mar 2025 05:19:15 -0800 (PST)
Date: Fri, 7 Mar 2025 14:19:12 +0100
From: Simona Vetter <simona.vetter@ffwll.ch>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	airlied@gmail.com, simona@ffwll.ch, dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org, freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org, imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org, nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 02/25] drm/dumb-buffers: Provide helper to set pitch
 and size
Message-ID: <Z8ryUGgxqVTEw9pe@phenom.ffwll.local>
References: <20250218142542.438557-1-tzimmermann@suse.de>
 <20250218142542.438557-3-tzimmermann@suse.de>
 <Z8qxcTIcD4W5OGwL@phenom.ffwll.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Z8qxcTIcD4W5OGwL@phenom.ffwll.local>
X-Operating-System: Linux phenom 6.12.11-amd64 

On Fri, Mar 07, 2025 at 09:42:25AM +0100, Simona Vetter wrote:
> On Tue, Feb 18, 2025 at 03:23:25PM +0100, Thomas Zimmermann wrote:
> > Add drm_modes_size_dumb(), a helper to calculate the dumb-buffer
> > scanline pitch and allocation size. Implementations of struct
> > drm_driver.dumb_create can call the new helper for their size
> > computations.
> > 
> > There is currently quite a bit of code duplication among DRM's
> > memory managers. Each calculates scanline pitch and buffer size
> > from the given arguments, but the implementations are inconsistent
> > in how they treat alignment and format support. Later patches will
> > unify this code on top of drm_mode_size_dumb() as much as possible.
> > 
> > drm_mode_size_dumb() uses existing 4CC format helpers to interpret
> > the given color mode. This makes the dumb-buffer interface behave
> > similar the kernel's video= parameter. Current per-driver implementations
> > again likely have subtle differences or bugs in how they support color
> > modes.
> > 
> > The dumb-buffer UAPI is only specified for known color modes. These
> > values describe linear, single-plane RGB color formats or legacy index
> > formats. Other values should not be specified. But some user space
> > still does. So for unknown color modes, there are a number of known
> > exceptions for which drm_mode_size_dumb() calculates the pitch from
> > the bpp value, as before. All other values work the same but print
> > an error.
> > 
> > v3:
> > - document the UAPI semantics
> > - compute scanline pitch from for unknown color modes (Andy, Tomi)
> > 
> > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> > ---
> >  drivers/gpu/drm/drm_dumb_buffers.c | 116 +++++++++++++++++++++++++++++
> >  include/drm/drm_dumb_buffers.h     |  14 ++++
> >  include/uapi/drm/drm_mode.h        |  46 +++++++++++-
> >  3 files changed, 175 insertions(+), 1 deletion(-)
> >  create mode 100644 include/drm/drm_dumb_buffers.h
> > 
> > diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
> > index 9916aaf5b3f2..600ab281712b 100644
> > --- a/drivers/gpu/drm/drm_dumb_buffers.c
> > +++ b/drivers/gpu/drm/drm_dumb_buffers.c
> > @@ -25,6 +25,8 @@
> >  
> >  #include <drm/drm_device.h>
> >  #include <drm/drm_drv.h>
> > +#include <drm/drm_dumb_buffers.h>
> > +#include <drm/drm_fourcc.h>
> >  #include <drm/drm_gem.h>
> >  #include <drm/drm_mode.h>
> >  
> > @@ -57,6 +59,120 @@
> >   * a hardware-specific ioctl to allocate suitable buffer objects.
> >   */
> >  
> > +static int drm_mode_align_dumb(struct drm_mode_create_dumb *args,
> > +			       unsigned long pitch_align,
> > +			       unsigned long size_align)
> > +{
> > +	u32 pitch = args->pitch;
> > +	u32 size;
> > +
> > +	if (!pitch)
> > +		return -EINVAL;
> > +
> > +	if (pitch_align)
> > +		pitch = roundup(pitch, pitch_align);
> > +
> > +	/* overflow checks for 32bit size calculations */
> > +	if (args->height > U32_MAX / pitch)
> > +		return -EINVAL;
> > +
> > +	if (!size_align)
> > +		size_align = PAGE_SIZE;
> > +	else if (!IS_ALIGNED(size_align, PAGE_SIZE))
> > +		return -EINVAL;
> > +
> > +	size = ALIGN(args->height * pitch, size_align);
> > +	if (!size)
> > +		return -EINVAL;
> > +
> > +	args->pitch = pitch;
> > +	args->size = size;
> > +
> > +	return 0;
> > +}
> > +
> > +/**
> > + * drm_mode_size_dumb - Calculates the scanline and buffer sizes for dumb buffers
> > + * @dev: DRM device
> > + * @args: Parameters for the dumb buffer
> > + * @pitch_align: Scanline alignment in bytes
> > + * @size_align: Buffer-size alignment in bytes
> > + *
> > + * The helper drm_mode_size_dumb() calculates the size of the buffer
> > + * allocation and the scanline size for a dumb buffer. Callers have to
> > + * set the buffers width, height and color mode in the argument @arg.
> > + * The helper validates the correctness of the input and tests for
> > + * possible overflows. If successful, it returns the dumb buffer's
> > + * required scanline pitch and size in &args.
> > + *
> > + * The parameter @pitch_align allows the driver to specifies an
> > + * alignment for the scanline pitch, if the hardware requires any. The
> > + * calculated pitch will be a multiple of the alignment. The parameter
> > + * @size_align allows to specify an alignment for buffer sizes. The
> > + * returned size is always a multiple of PAGE_SIZE.
> > + *
> > + * Returns:
> > + * Zero on success, or a negative error code otherwise.
> > + */
> > +int drm_mode_size_dumb(struct drm_device *dev,
> > +		       struct drm_mode_create_dumb *args,
> > +		       unsigned long pitch_align,
> > +		       unsigned long size_align)
> > +{
> > +	u64 pitch = 0;
> > +	u32 fourcc;
> > +
> > +	/*
> > +	 * The scanline pitch depends on the buffer width and the color
> > +	 * format. The latter is specified as a color-mode constant for
> > +	 * which we first have to find the corresponding color format.
> > +	 *
> > +	 * Different color formats can have the same color-mode constant.
> > +	 * For example XRGB8888 and BGRX8888 both have a color mode of 32.
> > +	 * It is possible to use different formats for dumb-buffer allocation
> > +	 * and rendering as long as all involved formats share the same
> > +	 * color-mode constant.
> > +	 */
> > +	fourcc = drm_driver_color_mode_format(dev, args->bpp);
> > +	if (fourcc != DRM_FORMAT_INVALID) {
> > +		const struct drm_format_info *info = drm_format_info(fourcc);
> > +
> > +		if (!info)
> > +			return -EINVAL;
> > +		pitch = drm_format_info_min_pitch(info, 0, args->width);
> > +	} else if (args->bpp) {
> > +		/*
> > +		 * Some userspace throws in arbitrary values for bpp and
> > +		 * relies on the kernel to figure it out. In this case we
> > +		 * fall back to the old method of using bpp directly. The
> > +		 * over-commitment of memory from the rounding is acceptable
> > +		 * for compatibility with legacy userspace. We have a number
> > +		 * of deprecated legacy values that are explicitly supported.
> > +		 */
> > +		switch (args->bpp) {
> > +		default:
> > +			drm_warn(dev, "Unknown color mode %d; guessing buffer size.\n",
> > +				 args->bpp);
> > +			fallthrough;
> 
> We cannot let userspace trigger dmesg warnings (or anything else really
> that spams logs). Also I think for future proofing it would be good if we
> just reject anything we don't currently know about instead of silently
> letting this mess become worse. Hence my vote is to reject unknown bpp
> hack values.
> 
> > +		case 12:
> > +		case 15:
> > +		case 30: /* see drm_gem_afbc_get_bpp() */
> 
> This is a bit too cryptic to me, I think if you want to do comments I'd
> just put a long-form one above each value that explains where we've found
> it and why it happens. I'm also assuming these all have depth = 0, which I
> guess is something we should check just to keep this as strict as
> possible? Or do they have matching depth?

Correction from irc: Thomas pointed out that there's no depth in the
create_dumb ioctl, I was mixing this up with addfb and failed to check. So
please disregard this part, I was fabricating stuff out of some very thin
air (and probably not enough coffee in the brain too).
-Sima

> 
> Cheers, Sima
> 
> > +		case 10:
> > +		case 64: /* used by Mesa */
> > +			pitch = args->width * DIV_ROUND_UP(args->bpp, SZ_8);
> > +			break;
> > +		}
> > +	}
> > +
> > +	if (!pitch || pitch > U32_MAX)
> > +		return -EINVAL;
> > +
> > +	args->pitch = pitch;
> > +
> > +	return drm_mode_align_dumb(args, pitch_align, size_align);
> > +}
> > +EXPORT_SYMBOL(drm_mode_size_dumb);
> > +
> >  int drm_mode_create_dumb(struct drm_device *dev,
> >  			 struct drm_mode_create_dumb *args,
> >  			 struct drm_file *file_priv)
> > diff --git a/include/drm/drm_dumb_buffers.h b/include/drm/drm_dumb_buffers.h
> > new file mode 100644
> > index 000000000000..6fe36004b19d
> > --- /dev/null
> > +++ b/include/drm/drm_dumb_buffers.h
> > @@ -0,0 +1,14 @@
> > +/* SPDX-License-Identifier: MIT */
> > +
> > +#ifndef __DRM_DUMB_BUFFERS_H__
> > +#define __DRM_DUMB_BUFFERS_H__
> > +
> > +struct drm_device;
> > +struct drm_mode_create_dumb;
> > +
> > +int drm_mode_size_dumb(struct drm_device *dev,
> > +		       struct drm_mode_create_dumb *args,
> > +		       unsigned long pitch_align,
> > +		       unsigned long size_align);
> > +
> > +#endif
> > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> > index c082810c08a8..eea09103b1a6 100644
> > --- a/include/uapi/drm/drm_mode.h
> > +++ b/include/uapi/drm/drm_mode.h
> > @@ -1058,7 +1058,7 @@ struct drm_mode_crtc_page_flip_target {
> >   * struct drm_mode_create_dumb - Create a KMS dumb buffer for scanout.
> >   * @height: buffer height in pixels
> >   * @width: buffer width in pixels
> > - * @bpp: bits per pixel
> > + * @bpp: color mode
> >   * @flags: must be zero
> >   * @handle: buffer object handle
> >   * @pitch: number of bytes between two consecutive lines
> > @@ -1066,6 +1066,50 @@ struct drm_mode_crtc_page_flip_target {
> >   *
> >   * User-space fills @height, @width, @bpp and @flags. If the IOCTL succeeds,
> >   * the kernel fills @handle, @pitch and @size.
> > + *
> > + * The value of @bpp is a color-mode number describing a specific format
> > + * or a variant thereof. The value often corresponds to the number of bits
> > + * per pixel for most modes, although there are exceptions. Each color mode
> > + * maps to a DRM format plus a number of modes with similar pixel layout.
> > + * Framebuffer layout is always linear.
> > + *
> > + * Support for all modes and formats is optional. Even if dumb-buffer
> > + * creation with a certain color mode succeeds, it is not guaranteed that
> > + * the DRM driver supports any of the related formats. Most drivers support
> > + * a color mode of 32 with a format of DRM_FORMAT_XRGB8888 on their primary
> > + * plane.
> > + *
> > + * +------------+------------------------+------------------------+
> > + * | Color mode | Framebuffer format     | Compatibles            |
> > + * +============+========================+========================+
> > + * |     32     |  * DRM_FORMAT_XRGB8888 |  * DRM_FORMAT_XBGR8888 |
> > + * |            |                        |  * DRM_FORMAT_RGBX8888 |
> > + * |            |                        |  * DRM_FORMAT_BGRX8888 |
> > + * +------------+------------------------+------------------------+
> > + * |     24     |  * DRM_FORMAT_RGB888   |  * DRM_FORMAT_BGR888   |
> > + * +------------+------------------------+------------------------+
> > + * |     16     |  * DRM_FORMAT_RGB565   |  * DRM_FORMAT_BGR565   |
> > + * +------------+------------------------+------------------------+
> > + * |     15     |  * DRM_FORMAT_XRGB1555 |  * DRM_FORMAT_XBGR1555 |
> > + * |            |                        |  * DRM_FORMAT_RGBX1555 |
> > + * |            |                        |  * DRM_FORMAT_BGRX1555 |
> > + * +------------+------------------------+------------------------+
> > + * |      8     |  * DRM_FORMAT_C8       |  * DRM_FORMAT_R8       |
> > + * +------------+------------------------+------------------------+
> > + * |      4     |  * DRM_FORMAT_C4       |  * DRM_FORMAT_R4       |
> > + * +------------+------------------------+------------------------+
> > + * |      2     |  * DRM_FORMAT_C2       |  * DRM_FORMAT_R2       |
> > + * +------------+------------------------+------------------------+
> > + * |      1     |  * DRM_FORMAT_C1       |  * DRM_FORMAT_R1       |
> > + * +------------+------------------------+------------------------+
> > + *
> > + * Color modes of 10, 12, 15, 30 and 64 are only supported for use by
> > + * legacy user space. Please don't use them in new code. Other modes
> > + * are not support.
> > + *
> > + * Do not attempt to allocate anything but linear framebuffer memory
> > + * with single-plane RGB data. Allocation of other framebuffer
> > + * layouts requires dedicated ioctls in the respective DRM driver.
> >   */
> >  struct drm_mode_create_dumb {
> >  	__u32 height;
> > -- 
> > 2.48.1
> > 
> 
> -- 
> Simona Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

-- 
Simona Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 13:36:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 13:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905040.1312801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqXrk-0000u5-0i; Fri, 07 Mar 2025 13:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905040.1312801; Fri, 07 Mar 2025 13:35: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 1tqXrj-0000ty-UJ; Fri, 07 Mar 2025 13:35:51 +0000
Received: by outflank-mailman (input) for mailman id 905040;
 Fri, 07 Mar 2025 13:35: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqXri-0000ts-Lc
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 13:35:50 +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 1293743c-fb59-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 14:35:45 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43bc4b1603fso11437705e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 05:35:45 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfb799fsm5326001f8f.2.2025.03.07.05.35.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 05:35:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1293743c-fb59-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741354544; x=1741959344; 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=dlC/Vx3UWbowuDDeWyGh/6v1Kg3wCL6sEzGQMuIV9bs=;
        b=D7Zgyn2v4xUTazTvf6godve4DNBDSX/a6wzedtzrC3TG/vkV95OuaIwMM1EaoZIH9Q
         C6cUBAhytia5v/g7ATxpJrneooPQ28+dJXqf1qXzhB4uGpN20E3GXPEN83haK5/V/UnQ
         Dm2vCnh4AkNV/DUyrLqiXBwe5yThgTBcZXXjc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741354544; x=1741959344;
        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=dlC/Vx3UWbowuDDeWyGh/6v1Kg3wCL6sEzGQMuIV9bs=;
        b=M7ymciHrQkfKYmVAksFuDd1aBG4zMXESc9gbGgkhVYt5A50ZuSYIjTJi8y31xPrKls
         KFJk4dAxd9ojOP3Wv35dIENWgYmQknN1oE3L8FFbaoffIO5m+UOS2gCdnCBKKbXCc/oi
         UyvnKzjithBx/doaqNIT9nb0osEUSwRGrExfPMZlyzJayxgOfrbqqb5En07p41WsnDKj
         G6AjL41+ssC0JyT16L4ULFKSc13upAqKH7HYZp+4q6TyBy4FRFBuoGUHjYcIZCF+hqor
         xXXOTWNV9LF3L1R4oWKKDwtU1yZDOgh0QfUxuMFK6tnQ+2maNLO8bN1uOQ70kMrBsUwX
         4FDA==
X-Gm-Message-State: AOJu0YypDd4MrK0bubMD/w3U2R6Czosfg4SPFVF6dCHC8sIAxYsTZjd5
	WjRKrpp2qnGW+U1MVdZLXvldidrSyo43fzhVM8wgTaf4z/SanwvrEdeXwtcG/aCX0nDAF6u2UYK
	I
X-Gm-Gg: ASbGncsyKlmPL+CKp+G3zwG1fqMXGdCTs6kmEwPiHOQAg4JDOMUpmc0zSPhZHuTfWpz
	5Gvip1ndDCLa4br6WxeastsNa2Mo4Zh6E+WcTPmhgengeYYgmjkLoDPYrUJV3eHjGJ1n6XFQzGj
	CniV8qasLZgHYaqwGNnrSpeK9qr4zw8pC629RXRQXcLm+JwEZJ29TzdqASf+rKUobmU5WjpkaSN
	4nGsQlwTcoMtE/0xA21w4jDBd3tonk5qFlV1BD043oc4g8ewygoDbIdbbwImifhz6otKd74tP8X
	pHs8ecfk3//zP+YC4xTIk0a6URY4RTq6jozEcsNWDVClYyeHzvpGGzhM9LSxZidW1Z/j30BXYXS
	uYN0FL/lSvl/sDKhRbyg/1Z9Z
X-Google-Smtp-Source: AGHT+IGdtKSi6I7lu3pag4C7tfcm3d6j4Q+3qjtyC+3mth+BdTLi8dogMAihYOXnfJPOru/r18zNiA==
X-Received: by 2002:a05:600c:1c2a:b0:43b:c95f:fd9 with SMTP id 5b1f17b1804b1-43c5a5e9074mr29964915e9.5.1741354544611;
        Fri, 07 Mar 2025 05:35:44 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] tools/libs: Make uselibs.mk more legible
Date: Fri,  7 Mar 2025 13:33:42 +0000
Message-Id: <20250307133342.3057009-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A few blank lines go a very long way.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>
---
 tools/libs/uselibs.mk | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/tools/libs/uselibs.mk b/tools/libs/uselibs.mk
index c0a234cfec84..3c88e78c10cd 100644
--- a/tools/libs/uselibs.mk
+++ b/tools/libs/uselibs.mk
@@ -2,34 +2,49 @@
 
 LIBS_LIBS += toolcore
 USELIBS_toolcore :=
+
 LIBS_LIBS += toollog
 USELIBS_toollog :=
+
 LIBS_LIBS += evtchn
 USELIBS_evtchn := toollog toolcore
+
 LIBS_LIBS += gnttab
 USELIBS_gnttab := toollog toolcore
+
 LIBS_LIBS += call
 USELIBS_call := toollog toolcore
+
 LIBS_LIBS += foreignmemory
 USELIBS_foreignmemory := toollog toolcore
+
 LIBS_LIBS += devicemodel
 USELIBS_devicemodel := toollog toolcore call
+
 LIBS_LIBS += hypfs
 USELIBS_hypfs := toollog toolcore call
+
 LIBS_LIBS += manage
 USELIBS_manage := toollog toolcore call
+
 LIBS_LIBS += ctrl
 USELIBS_ctrl := toollog call evtchn gnttab foreignmemory devicemodel
+
 LIBS_LIBS += guest
 USELIBS_guest := evtchn ctrl
+
 LIBS_LIBS += store
 USELIBS_store := toolcore
+
 LIBS_LIBS += vchan
 USELIBS_vchan := toollog store gnttab evtchn
+
 LIBS_LIBS += stat
 USELIBS_stat := ctrl store
+
 LIBS_LIBS += light
 USELIBS_light := toollog evtchn toolcore ctrl store hypfs guest
+
 LIBS_LIBS += util
 USELIBS_util := light
 FILENAME_util := xlutil
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 14:27:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 14:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905058.1312811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqYf3-00008t-M8; Fri, 07 Mar 2025 14:26:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905058.1312811; Fri, 07 Mar 2025 14:26: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 1tqYf3-00008m-Jc; Fri, 07 Mar 2025 14:26:49 +0000
Received: by outflank-mailman (input) for mailman id 905058;
 Fri, 07 Mar 2025 14:26: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqYf1-00008g-Qs
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 14:26:47 +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 329389d1-fb60-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 15:26:45 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3912d2c89ecso1510827f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 06:26:45 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfb16sm5459661f8f.29.2025.03.07.06.26.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 06:26:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 329389d1-fb60-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741357605; x=1741962405; 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=U2TzeJhPfRjh9culJoSSA5hwu6Q+wgxqSML8qWtf39I=;
        b=ENXb2/NgdVQ61W7+l2P6Ady65LwxVNIdvGkFVRMcfMuqX1Mbe7P2hckpPHpAZbymZE
         zXCG/bkWYD6lJZYXdNlGO1UjdEj/2v7izRwSii6QGclBooKEa/n5WO98PuYUSaIvNJSz
         QE/SjVrpYwjqNOukDsqaIzc/jHEULU/U4tMyE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741357605; x=1741962405;
        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=U2TzeJhPfRjh9culJoSSA5hwu6Q+wgxqSML8qWtf39I=;
        b=RuPG8C4vR3ahKzepwCYjiB+fbZr5O7bmugkws7waMS3MnLQDem/VxizUb4JL28VGi+
         GHR3jKwOKcomfyxwwCFLJB1CwQgNRLB8j1luKsqLaKMix33NjfqbLwBkGlXeYgRU1int
         gM1M5G3ibiNPzGz1Z9EseYDSXwK4v+zwER6/oGCfyQx3pzzQ1UziEKUx9DTPNfchT58T
         wdXfoOoY71A7HWatcFs9qV9gpcOjLkJNYvK9OoqSRSIz4FJpd2geihGCIWedmew5C0lh
         BmHhxkHtXXPIgi/JF/FYqeWdKJbKXlYOc8B5yw7oYfZz1gaLmqIRZisc8DEDnx/Mu9Ay
         RepA==
X-Gm-Message-State: AOJu0YxoI3Ish0yRSDZmEyq8Puz/oUclm9VCe1PUnm9kp5Adj3A3J0u9
	m5/HUQ/5S7h5WMRw9nE9Gq2UP1PCgnHSNFbkV/j1t7MOwGqRvLr98q3opFsc9lQpwpcH+8wwojz
	T
X-Gm-Gg: ASbGnctm8gHW9NQhBvPSR2jvE8OjTlnDxWBt+PaCrN8QwfGt5tweCJNSrQH0y74DcbH
	QLFVyyfPRwpZ1f0fnN14zZexUPIKwJWqMxDdiO2u0LwfkceHRprgyWXEkeBQFr0+0kQLhnP7ynK
	cAiUbqWTtKf5AcIHxm6o6ac3jX4Dj5Ns5HioeJXVqNcmYU60+XpV4MQ/ZN5n9mj8TLuxXY7b3m2
	XvyQkRb/I9ozZY61mfPtQ1Fq3ZKWfWqccs1eiXPamfqbp2uJGnxnJ7rhrDc3NrB+sAwgCe/zUZv
	ZYcgeF1tauOaaC8GBjPCwaV9Axwfs9XG/VAg5JFa3zNZdRGrtJr9FJhdrYdYXoOliLLJsXb5wXp
	LA+S4A3jMYLOxBEJprKp5XC5h
X-Google-Smtp-Source: AGHT+IFbK9MwCWUdJcKZMTUeOb+pbes0/VGJr+lCtdKljjqlE6X2qjcPx9/SJkGBCfjxlTVstfm3WQ==
X-Received: by 2002:a05:6000:1a86:b0:38f:2a32:abbb with SMTP id ffacd0b85a97d-39132d325c1mr1875537f8f.4.1741357604859;
        Fri, 07 Mar 2025 06:26:44 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH v3] xen/watchdog: Identify which domain watchdog fired
Date: Fri,  7 Mar 2025 14:24:42 +0000
Message-Id: <20250307142442.3063528-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
References: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When a watchdog fires, the domain is crashed and can't dump any state.

Xen allows a domain to have two separate watchdogs.  Therefore, for a
domain running multiple watchdogs (e.g. one based around network, one
for disk), it is important for diagnostics to know which watchdog
fired.

As the printk() is in a timer callback, this is a bit awkward to
arrange, but there are 12 spare bits in the bottom of the domain
pointer owing to its alignment.

Reuse these bits to encode the watchdog id too, so the one which fired
is identified when the domain is crashed.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Dario Faggioli <dfaggioli@suse.com>
CC: Juergen Gross <jgross@suse.com>
CC: George Dunlap <gwd@xenproject.org>

v3:
 * Fix alignof() expressions.
v2:
 * BUILD_BUG_ON() against the alignment of d.
---
 xen/common/sched/core.c | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index d6296d99fdb9..9043414290a8 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1534,12 +1534,19 @@ long vcpu_yield(void)
 
 static void cf_check domain_watchdog_timeout(void *data)
 {
-    struct domain *d = data;
+    /*
+     * The data parameter encodes the watchdog id in the low bits of
+     * the domain pointer.
+     */
+    struct domain *d = _p((unsigned long)data & PAGE_MASK);
+    unsigned int id = (unsigned long)data & ~PAGE_MASK;
+
+    BUILD_BUG_ON(alignof(*d) < PAGE_SIZE);
 
     if ( d->is_shutting_down || d->is_dying )
         return;
 
-    printk("Watchdog timer fired for domain %u\n", d->domain_id);
+    printk("Watchdog timer %u fired for %pd\n", id, d);
     domain_shutdown(d, SHUTDOWN_watchdog);
 }
 
@@ -1593,7 +1600,17 @@ void watchdog_domain_init(struct domain *d)
     d->watchdog_inuse_map = 0;
 
     for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
-        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, 0);
+    {
+        void *data = d;
+
+        BUILD_BUG_ON(NR_DOMAIN_WATCHDOG_TIMERS > alignof(*d));
+
+        /*
+         * For the timer callback parameter, encode the watchdog id in
+         * the low bits of the domain pointer.
+         */
+        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, data + i, 0);
+    }
 }
 
 void watchdog_domain_destroy(struct domain *d)

base-commit: 4d4725901e474fb3a61814e3c7bcb563cbdd857a
prerequisite-patch-id: abf66c7a76178c5cf225f0c67efd6c430e95974a
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 14:56:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 14:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905090.1312850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqZ7T-0005Te-72; Fri, 07 Mar 2025 14:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905090.1312850; Fri, 07 Mar 2025 14: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 1tqZ7T-0005TX-3E; Fri, 07 Mar 2025 14:56:11 +0000
Received: by outflank-mailman (input) for mailman id 905090;
 Fri, 07 Mar 2025 14: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqZ7R-0005T9-Od
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 14:56:09 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20613.outbound.protection.outlook.com
 [2a01:111:f403:2417::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45043500-fb64-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 15:55:55 +0100 (CET)
Received: from BN9PR03CA0561.namprd03.prod.outlook.com (2603:10b6:408:138::26)
 by MW5PR12MB5682.namprd12.prod.outlook.com (2603:10b6:303:19f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar
 2025 14:55:51 +0000
Received: from BL6PEPF0001AB51.namprd04.prod.outlook.com
 (2603:10b6:408:138:cafe::2e) by BN9PR03CA0561.outlook.office365.com
 (2603:10b6:408:138::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Fri,
 7 Mar 2025 14:55:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB51.mail.protection.outlook.com (10.167.242.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 14:55:50 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Mar
 2025 08:55:50 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 08:55:49 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45043500-fb64-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hYZRdj3g4SCm1r9h0MIRZhbXPPpcjDvmaTcR5oBxzh+V9Uxd4UVoTiGqTtjyjg1V9zxb2bkaQE9IneylU8oBjwinFKzP/xrL+7i5wjgxLaiYT4W8Gf1p/XbEL0yLIx+bOYhuORDlfeUXm64ihTKe1XHMW1V2BoF3menrc2D4EHJRYwWyFVD0VpQ7uraJ4OEWew2UlRk/ouyRi+cq0c+3OFeAXTlydj+Li9w8uOssJDZOYCcj2rpl0WkVj/zzRY6JPZA+lgFfM0XglZu/wpstd9K8simxygDr/h7CcG+Fz0+dtH5Z/GTFm1S2Vu0fSc6+ohgZXx9MamLYVI8EJYbNJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PFaYEivUuXyQSV+HkU/ttBd/P0Jev+Ka6o6RT4UJfI4=;
 b=WyCaL8xsum/EXQoKXgnMHtyHwhtlv6NGRTBBZ8Lb0EATL4EDTg6BGuUnd+P2KIia0YzpbMrg9YWY6xD1T5JbHN10xfxgVuesVUN1wKgv/oDW14yraTD0EABojRssk6Kv+jHF189pPjiPFq3sVpVIbY7IXiHgi11CTH4PUGCSjcBdUuQbnVoLrb0/6wXx1VoxYUHeU4ReBiiF/JMsxr7usTTZ8zFl7Nh47M8WgwRBBqa9TCbpaUN3wglrhOaK7GPGt+2rvML55i/y/O+ItJoj+E0YQJ8qxE/kCb1tmfidK+9XT3QrkSViyTAjw66rjlHeDLABilV3KOa2Ka7Pqw7Ybg==
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=PFaYEivUuXyQSV+HkU/ttBd/P0Jev+Ka6o6RT4UJfI4=;
 b=MNkTOeMBRPMtcRmi/U+mTYAyd53X8EjwIZH7ZR8Ewun3sL2MIB9XfYXorhaUqMZT6fWNHsQdJ5xKivncdgFIA9+EAwKdqIVQeMaYQUVJesyzZMUFgYoJ55gc8zwF6rvTLrMojt02EF3qMp+yfmKeFGmnxgeENLDczxMI7SojsVo=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <cc4e26f9-e198-4677-8873-343f49d0f1ac@amd.com>
Date: Fri, 7 Mar 2025 09:55:51 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/23] xen: introduce hardware domain create flag
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-2-jason.andryuk@amd.com>
 <eca6c919-043b-4e7b-a04d-639406ca1332@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <eca6c919-043b-4e7b-a04d-639406ca1332@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB51:EE_|MW5PR12MB5682:EE_
X-MS-Office365-Filtering-Correlation-Id: bd2866b6-3562-4d33-bafb-08dd5d88270b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|7416014|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NElaNHA4Ynl2MFZvN2NYZjhEOUtrN282K2FCY0cxeDgxQmVNUkJJaDNQeW1F?=
 =?utf-8?B?NVZTNit0TDlyS3NiM2o3dW1vNzRuUDRnbU1jaldRKzVQNmtTUXVtNE92YnF1?=
 =?utf-8?B?TGpwRjNFTGpzUU54SWU1YngvMVd0bW1ibFBsaTVqYUhvdHRaMWNVOC95M3Ux?=
 =?utf-8?B?YTZRSFNPRjJvOUNCbVdIN3pwdXNwMDN5bnhZbjNSWWw4SDh3L3RpbEhNNW95?=
 =?utf-8?B?MXMwRTE2VVhVN1k1KzNvakk2T3hZZVMybjZlVElZeHZxQW5lQ1dTQllHNHBi?=
 =?utf-8?B?bi9lclRzc0hrNCtOME9OK2FvQlZreWxyVjQ3NjJ3MWE3ajEzdGhVNFlGM2l5?=
 =?utf-8?B?Q0EyZVBLSmJqQ1lhTmV1Z0hPZnltL2JIY0Naenh4RDBPQ0laSkR3M0Q5Ym1I?=
 =?utf-8?B?c1Y4S1VNSnREMW9sYkUyZEJlYmJwamZRWjFvblVXRHMwYThHUEkvZU8xTEk3?=
 =?utf-8?B?U0FwRndWWXcyQVpMREQxQ1g1VzQ2dXhxaFdlTWJZMlRWbmRTeC8wSVZRR0U4?=
 =?utf-8?B?RzBjYnB0VE5yOGp2c3UrV3FsTEpUVm9tSHYxTGdQbHNyL0lLdG9FazA2dFJp?=
 =?utf-8?B?TTYxQUhiOHpYVlhBQXZpQXk3U3RNTTh4SFRRMFlBekdUVk4yaEJiU1p1NGRm?=
 =?utf-8?B?eU9iRXZtMzREbVpMUWNMWjlzejNickNoOERHUDZJMlJUUmhjSTJxZ2g4b2ZG?=
 =?utf-8?B?TWhRM2xUS2hhVytjcm5ZdDM3TGRTNFA4SmFVaDd2d2YrZkRRVWlxUWhzblhJ?=
 =?utf-8?B?YVVYMzVUM1dhQ1NsYWFlbjA0Y0IxWjYvekJYS1kwbmRDVmZ6bUliZ0F3Z28r?=
 =?utf-8?B?T3p0V05mNTNOZ3IvblJZdFVhNW16UTRwQnF3REthNGlEeit5OElDYnpUNDlZ?=
 =?utf-8?B?dFJjMGVZaUx2OUVuc0F0ejVMc2VwNmlGQkNzcXdyOEZra1hNbE9oZEtQVmdr?=
 =?utf-8?B?L1lPS2NoSWJ4ZFo5enJSUjlmc1ErSGJ5dUFWTHgwN3JvRTF3ejBiU3pmcXhr?=
 =?utf-8?B?S3ZIYm04a0Z3NDRwNDVYcS9DNmVrelU3TjdXVlh1WXlWc1E5aS9Mc3UvZDdG?=
 =?utf-8?B?QUY4S0IySlplOE9GUHRTQXNtdmZpWHYrQzg1eVdDUWVkL3g4RXVza25PQmty?=
 =?utf-8?B?eld1Rjl0ODhMV3BTekpBc3RuOTRRb2ZGenlndW1xa1VZTTNGYXc4RHA3Rytx?=
 =?utf-8?B?MHBtQzdubENoa0oxUy8veVgvU1Bvb095dWFoN3JjNjEvYkUwSVlrOGFBb1pC?=
 =?utf-8?B?UlRVUHdobGxxV0xpbUI4VVdIZXdmSGVPNFVnRkFXWkFJWFRVOFBGL3FIQWZ2?=
 =?utf-8?B?VEU0YURzUVp1czVqZUgwUVhKTXhLMzRZeWF6ZEdmNVVPNzBqMWxzYS8vbjY4?=
 =?utf-8?B?VXhkWVB1NTI3cGcrbzZFK1czRUxFaEtPNVpUYlNkSDJuR3FsMVdxUWRWdVk0?=
 =?utf-8?B?ZEFROHpTaHkvT0ZsTnZERU5DUStYSGtzOHgxbjJMRENFOFg1T1dwTU9zblVL?=
 =?utf-8?B?bXBBWENUT2J2eTNRTU5hRGxUS1Y2TDF5aHB1WnNLSmhSTEZjWS9YaElqVStr?=
 =?utf-8?B?L2RBeUhtUzRkWmFyamlGVTF3aStONGlteDhIOHQwL2k1MkFqTUhISjVhM1ZI?=
 =?utf-8?B?WlZSZ3JBeU45R3BzZU1ybjVDSnFESUxueG9wMGZlTkVrZ2JLOHRLV2Q4ZURE?=
 =?utf-8?B?QmszUGVjdnowY1Bzak9qcmxaR1hkaWEydnVjRkZjZmdVTk1xMG96elNQbzZu?=
 =?utf-8?B?Z3RIUmdzTTdFTUVCTDVEMXpQQXBBMEhQNkRiL21kdDZiWnExL0ZNTnRMcDlV?=
 =?utf-8?B?Y0NOQ2F5YnkwS0dROSthS3RvOVhvNEQ3aGo4cElsZWFqVURSaXl2QmFONWlG?=
 =?utf-8?B?R1krbTdPRXE0dHB5Q2NLelhiZ3czb2Q4bXJJaWxLSWVLMWJmZGUvOVdTS2xi?=
 =?utf-8?B?b0Z4SkgwOXVqQWJLSGswSWtwemVndkFNc04zdG90NThnWXhvUXk3U1hIR2Jp?=
 =?utf-8?Q?gzWTPhOO8ar8ujNa/h26pCyzitXjpw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(7416014)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 14:55:50.8025
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bd2866b6-3562-4d33-bafb-08dd5d88270b
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB51.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR12MB5682

On 2025-03-06 17:39, Andrew Cooper wrote:
> On 06/03/2025 10:03 pm, Jason Andryuk wrote:
>> From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
>>
>> Add and use a new internal create domain flag to specify the hardware
>> domain.  This removes the hardcoding of domid 0 as the hardware domain.
>>
>> This allows more flexibility with domain creation.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> I definitely like the removal of the late_hwdom bodges.
> 
> However, there are several things to be aware of here.
> 
> First, CDF_privileged probably wants renaming to CDF_control, now that
> CDF_hardware is being split out.
> 
> Second, you've created a case where we can make multiple hardware
> domains, yet it is very much a singleton object from Xen's point of view.

hardware_domain still remains the check for is_hardware_domain(), so 
it's still a singleton.

A later ARM patch for the dom0less code adds a panic() if the device 
tree defines a second hardware domains.

> This might be ok it's addressed by later in the series.Â  One especially
> nasty bit of late_hwdom was how dom0 started as both, then the
> late_hwdom stole dom0's hw-ness.Â  I expect untangling this is more
> complicated than a single patch.

I didn't address the late_hwdom path.  I don't think I broken anything. 
But this hardware stealing is why I added the 2nd hwdom check in the ARM 
code.

> But, by the end, I think we do need to have reasonable confidence that
> only a single domain can be constructed as the hardware domain.

What do you think about multiple control/privileged domains?

>> diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
>> index 3de5635291..b5e82578c3 100644
>> --- a/xen/include/xen/domain.h
>> +++ b/xen/include/xen/domain.h
>> @@ -50,6 +50,8 @@ void arch_get_domain_info(const struct domain *d,
>>   #else
>>   #define CDF_staticmem            0
>>   #endif
>> +/* Is this the hardware? */
>> +#define CDF_hardware             (1U << 3)
> 
> No, this one CDF flag isn't the hardware.Â  That would be the CPU we're
> running on.

:)

-Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 15:01:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 15:01:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905123.1312957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqZCH-00080c-R5; Fri, 07 Mar 2025 15:01:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905123.1312957; Fri, 07 Mar 2025 15:01: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 1tqZCH-00080V-MC; Fri, 07 Mar 2025 15:01:09 +0000
Received: by outflank-mailman (input) for mailman id 905123;
 Fri, 07 Mar 2025 15:01: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqZCG-00080P-GE
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 15:01:08 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20603.outbound.protection.outlook.com
 [2a01:111:f403:2405::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fdd208e3-fb64-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 16:01:05 +0100 (CET)
Received: from BL1PR13CA0023.namprd13.prod.outlook.com (2603:10b6:208:256::28)
 by SJ0PR12MB7035.namprd12.prod.outlook.com (2603:10b6:a03:47c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.22; Fri, 7 Mar
 2025 15:00:56 +0000
Received: from BL02EPF0001A107.namprd05.prod.outlook.com
 (2603:10b6:208:256:cafe::e) by BL1PR13CA0023.outlook.office365.com
 (2603:10b6:208:256::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.14 via Frontend Transport; Fri,
 7 Mar 2025 15:00:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A107.mail.protection.outlook.com (10.167.241.136) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 15:00:55 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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; Fri, 7 Mar
 2025 09:00:55 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 7 Mar
 2025 09:00:55 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 09:00:54 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdd208e3-fb64-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=minqys+RgUgkrcrN9FWydUyRxEtuRDEc6vH/Kdui/CpSXNKkwLShg6KwVNdiUQExwGfgKf5CMPl8WdFhESCUHTiW7X9ASWv+6w2RWB2nVS93chSb3FGaNd6XO21VCyyn8QbXPelFmW1pjLrBiZGmv0PwxRKIX1DFEQy8RkDLGhfJZ7teUmrA7C/nPheByNLwC3/KeQWj6grRhtJnMwLADeKCBihdnRZ/QYZEgO5Lw8ItoPyLzUHndEgCQdZTSEOlKGThD9QwlsRE+M0ShYOUooiqVIU8Tfd+RIGFBjDivt9NeKHqHr/m7IXC9ir+KXJ1tj750Ny2AZn5Ok0g9oYFuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ot0tqWos9JReoTWC0254x4nLr0cDwCaE0AsCcoINB8k=;
 b=EfaGn8UjaSknnHHv1RrDqeIK4bgEtEOQeGMJNc6qnvPxxKAJSPQAUix2t/yZqhjR07j+Iauviaw6elJx+d1YzFUjZlbLrR711x3kptDSiqOmwxpARIe/CU0NFllnGwfbR5ZTFLjmPyuFA0s9Efa3cioJa9vr4lQRLXWeF17dqzOzQVdaXSkuj0iRuXNaxmXjtFnNZfLZdag+Xsh9+6qHPQfiEssax5JFZJmcMoToiHVoM+c5M5BlE6aAH+1BLSNDozvBmu8h5XGhAFHdTl4UzShsCvNeeR6AeSc4uyjIJEphibCagcbqUCC1uCJwtccEnOvAwF7weYZxH9BoKgAUGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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=Ot0tqWos9JReoTWC0254x4nLr0cDwCaE0AsCcoINB8k=;
 b=iQFjZ6CE23lnSntvdAz7OcNqJInOC6ZE2YbRscywDzE5eLTbbw30xaGtOGGmnvm78P0D/imCt5e/YxQEZ46+pA8qUZFnCWQNBPo2agbg0fGcjR2jhvtcNm3vgD5yNwLKY/Eo9O5vi7WO217b6+kLx6IJciHQIZNLbYM/PrUX+d0=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <b67cfe20-78b5-4855-83fb-d5721699ea71@amd.com>
Date: Fri, 7 Mar 2025 10:00:57 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-jason.andryuk@amd.com>
 <alpine.DEB.2.22.394.2503061731511.2600338@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2503061731511.2600338@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A107:EE_|SJ0PR12MB7035:EE_
X-MS-Office365-Filtering-Correlation-Id: 35e14afb-0d7b-439c-0636-08dd5d88dcf3
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?NzVTdUo5R1VXb1p5R1RMaGcwQi93ZmFpcTFEL3ZINk9CVWExaWNjQjlXTXpG?=
 =?utf-8?B?QnJXd2Z1MnFaTU9iQ1NDU3RkNy9uTDJFV3R1UWhmcnNJVUFyUTFkZ2FmL1Y0?=
 =?utf-8?B?dFU5cjZwSkJzSWFNYS9rQ1JZT0RpZVI0M0hvRUE5S2drQ0VKeDQrTUxvNjV2?=
 =?utf-8?B?SiszaXVlZU91Qm42U21BaWtnVzlpOWFma2ZPVzkvemplakt4RWd5NEREdEdJ?=
 =?utf-8?B?N3cwMDRjdTRwamhEcjJPbXB1VXBmTy9oUitSS01TSndhekN1WEVRZG5BMUk1?=
 =?utf-8?B?cHUyZFNnNFpwQkhybUJvMjhSOWdYZC81UUpKUUcrTUVzV29QeEU3VVZRTi9T?=
 =?utf-8?B?SFlCRThsdXBoR0U5Vk1Mbnc1MzUvMmVETGh2eDlta1M5WU1KQUpQeEZ6aFRx?=
 =?utf-8?B?THVMeU1qc2N4TEJFeFlUSk1PZEVTK0Y1VjRBUXh5MjRpemp2MkozOGV1d1dM?=
 =?utf-8?B?VjRMODFxRDB6ZytsZkpFZGNuK3J2Y1IvLzZPUkJ6UDlhNVFwM3NKTzNBeExZ?=
 =?utf-8?B?K3JuQThJcUt2YlZmYWR4ajJmR2R4bExoUm1uT1o2VytZd2xjMlZ6aVZKTzhL?=
 =?utf-8?B?dklDRmlQNi9zb01MdzA1Vkx1TFRua1U1N2xZaWZIcXhtaXVMV0JFK2RXRTNU?=
 =?utf-8?B?ejBnSmZWOUNwWm1uNmhkRm5TOUhYT3hjUHpDTGkzRVZoSktyL3dMNGU5UUph?=
 =?utf-8?B?MkZrOWRtZ2JCOTF2bkdVSDVOaG5hYUdiOTB5U0NUdUFTaUFSbWt3eldtUW85?=
 =?utf-8?B?S1Z0UmFVNkJWSDMyMm4wUmU2K003ZCtOUUx0ZTA1MTR0QU05bTc4emFHbEtl?=
 =?utf-8?B?SjBNbGt6L0FJUTlLeDROdS9tNHdTYXBTT2x4VXpMaktHWU13ejI3ZHRMM21y?=
 =?utf-8?B?WEN0Z1BsNTh0UStWc0JGeHdFcW1MQlZZL0dsVXJCNDVEMlhpM3c4K3Jqek1m?=
 =?utf-8?B?bFBZRXd5RDZoK1JHT1NGc25uaEt3WWFsOWRublgzTXd1SElxcHRVZW9tSDZs?=
 =?utf-8?B?QWtIU0VxWCtBOVJkb2tET2dxVkgzTUlFZkc3VldjZHRMZXl3WEJnVHc3RXVN?=
 =?utf-8?B?VkRUamZudElqQ1ZYaitnTWlYQnExV2c5dWxSNUxLWmJIUTYwRlRsMm1Xd1dI?=
 =?utf-8?B?ZHdZNERBMHpPVE1WQXJ3d25OYXNydWZvcTlCVzdKTm1aayswWXRIdXhCRnBR?=
 =?utf-8?B?RG9SeHBYd2lrWWNRSUtHVkwvU3NRM2pZSUllUzFWNk91Y2k2Yzd2aWgrbUsw?=
 =?utf-8?B?V01rRlByNnJocjhTR05Bb2pqWnFkakF1bkR1UjFRU3JkQ080NXRlSGNveTBB?=
 =?utf-8?B?OXNOU1prZ2VFMnZQSWFLRStpMjRPT1c5YTI1SWZaNWVxNEFuMnlFWEM0Z0h6?=
 =?utf-8?B?S3p1Mk1FSEYrWnVmRHZ5L3NGa3F3ZVRXRDkvd1Y1MFljNmpsaUJIaXl2SjVP?=
 =?utf-8?B?b2MzQkdlZVRnNVdkc281YlBTUDRqb2kxdG5BbHQxUC9ZdnUzRHp5aDBDSjJH?=
 =?utf-8?B?Nlg3WlJIOTBNUURYVnRKS2E3QjJyUFprSE1RMHkxTmlPYW1FOEcwYjhxcFFN?=
 =?utf-8?B?WjN3aDg4MzREV0NUaEFsQkc3eGtrTkhITjVCTGdESkQrV2xYajBhVGMxdHdP?=
 =?utf-8?B?aUc5YlQ0NzVGWTRVb0V6SGZkMVZJL3lBL1F2L2NSY3RUODF1MmdRNHNvNGJs?=
 =?utf-8?B?eEsra2F1ZFg4Ri9YM2dLUks3UmdacURpd3ZnRjVpUTVIMzRpT2w5K1IxeHR3?=
 =?utf-8?B?UGlWSW5wcTRuakxJdlEzcG40bFZjVERiMVZXbER2bkNPUEJlK0xKY3hWMjg3?=
 =?utf-8?B?bUpIZlBKRVg4RHkxQ0EvcUg2emdLeHY2MERuSmlicFd1eEpRandTamVOUVF1?=
 =?utf-8?B?Z3VBMTFhYXdVZ3JLRnFCOERYOFo3WkZ4Z0VwbGNNUjZOM0ZpQXNob0ZZOThx?=
 =?utf-8?B?SklYNUEzK1A3M0U3UlZ6MW42MEtxYWhJNCtSeUt4YmFzUXVwTHFSNFB0eTRC?=
 =?utf-8?Q?/wCZWHBEFQ3X9Ms9GFFdbQYHRVHlaI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 15:00:55.9859
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 35e14afb-0d7b-439c-0636-08dd5d88dcf3
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A107.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7035

On 2025-03-06 20:32, Stefano Stabellini wrote:
> On Thu, 6 Mar 2025, Jason Andryuk wrote:
>> Assign domid 0 to the hwdom.  Normally, dom0less does not use domid 0.
>>
>> This fixes using the Xen console which assumes domid 0 to use the
>> hypercall interface.
>>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> I hope there is a check already in the code somewhere that triggers an
> error if multiple domains are created with domid 0 ?

Hmm, no, the existence check is in the domctl code and not in 
domain_create().  The next patch in the series, "xen/arm: Add 
capabilities to dom0less", adds a panic when trying to create a second 
hardware_domain.  That check could be moved here to keep it all together.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 15:20:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 15:20:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905145.1312966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqZUT-0002M8-D4; Fri, 07 Mar 2025 15:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905145.1312966; Fri, 07 Mar 2025 15:19: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 1tqZUT-0002M1-A3; Fri, 07 Mar 2025 15:19:57 +0000
Received: by outflank-mailman (input) for mailman id 905145;
 Fri, 07 Mar 2025 15:19: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqZUS-0002Lv-0D
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 15:19:56 +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 9f8f07fa-fb67-11ef-9ab6-95dc52dad729;
 Fri, 07 Mar 2025 16:19:55 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3910e101d0fso1107778f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 07:19:55 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c1030cfsm5728880f8f.90.2025.03.07.07.19.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 07:19:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f8f07fa-fb67-11ef-9ab6-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741360794; x=1741965594; 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=+ixUV0Bf7whqnnPrTuPptPAyhW7N8Z5HGcEiryb8H3I=;
        b=GPuU9NobqOqVZMCJZGZ319B6F0uho9a0MPMH8Smqp6gMBgFTPTHnmuabwQCJNSTeqW
         aM/N5c21KDUk9kK20N9uZYvIUU3ewW7GLh4EndC5Xj2C1IPwyScnrI0oQynn5binUmpo
         4lk4RsL81GmQcvVX7ZqLPaw00khH8MKxyl9x8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741360794; x=1741965594;
        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=+ixUV0Bf7whqnnPrTuPptPAyhW7N8Z5HGcEiryb8H3I=;
        b=CJTdN3Kx8uCseyj875QaatJbjod9Q7grjuGz6cC/qCix3i2qfEs0iU6IBAkoq3L3y6
         4ByzBKqNAEZIiDOfkVe+K/JAjGla361Jc9hMa0wfx2hEuSm2IleC2uwnU/2RqJT1ZE9u
         rMiNyCGGwYWkyTerfj17MIGqRijXMCc+L5vHAa0CwV7R1zrXsFkqDIykXWkO5IpEJjeA
         XWqAZEfbmaNQHJqSWn5ZNucVAA0RXaGdPImM7tF/8Wo2V5AlnAa0J8sNoZyU7i1BPNdp
         Ai0Wth0P343vpk2p0FbqO2MEdIaqGTk5hABL/cmIigiSOzPZkm+hBC33MEm/74zrRcft
         iYig==
X-Gm-Message-State: AOJu0YxI0kyf2V3EMUhjEKJSUkQbeb6yKdqc7X0wZUkT3ADud3o+eANp
	6MbIeI1EJm7t4ezVeBv88Wj3WYrUadtMwvA1XWGJ8FnhzWrf6Y0wtJwfjho67zIjHN9TkxZnjBv
	B
X-Gm-Gg: ASbGncuT8PFkCYXVcgTtAHchSk7qz6T91ya/QKrYRZrTdDCLOnlOuHd9Ph1Y6SvzY7p
	iMYcV4mRde3zUldJWxX5IMWKzCnhSmBz1V/SsUD/dGE4RNxk7tpT1OkU5RhmJx76EgT+bfZeHvD
	VietZdEd/FgeVk25vY1O0KS8n+xtRaY2N+T5ciCvPkxJ3PTSWCGTCSBr7j3uxa0DF/Mn9ogUijP
	GNEUGl6F5ZUK6LzlyeFQRvGuzEhXhmDsepAIccG44geQlS49m4sOQRpnEkQxlgFuDxTxvLB+18L
	jbIZz5RYS/YtlEz06OLx1axKZF/IGdQk2yEpaerBcqCpsLaT4YFcZo/u2HJp+AYImjGR1qtu1eI
	ECxQpsPu6w2h2vluhgiuC1WmN
X-Google-Smtp-Source: AGHT+IGG8EHzowSzuN9OQfNAg6Kj3VXDM72VlCav9HtQczkegIZtRlaT61BKor6uFZXI3hAZlxGWyA==
X-Received: by 2002:a05:6000:2b07:b0:390:f1cb:286e with SMTP id ffacd0b85a97d-39132d771a1mr1955533f8f.27.1741360794194;
        Fri, 07 Mar 2025 07:19:54 -0800 (PST)
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>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] CI: Drop the now-obsolete 11-riscv64.dockerfile
Date: Fri,  7 Mar 2025 15:17:49 +0000
Message-Id: <20250307151749.3066186-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fixes: bd9bda50553b ("automation: drop debian:11-riscv64 container")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
---
 automation/build/debian/11-riscv64.dockerfile | 33 -------------------
 1 file changed, 33 deletions(-)
 delete mode 100644 automation/build/debian/11-riscv64.dockerfile

diff --git a/automation/build/debian/11-riscv64.dockerfile b/automation/build/debian/11-riscv64.dockerfile
deleted file mode 100644
index a55047c5019a..000000000000
--- a/automation/build/debian/11-riscv64.dockerfile
+++ /dev/null
@@ -1,33 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 debian:bullseye-slim
-LABEL maintainer.name="The Xen Project"
-LABEL maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV DEBIAN_FRONTEND=noninteractive
-ENV CROSS_COMPILE=riscv64-linux-gnu-
-ENV XEN_TARGET_ARCH=riscv64
-
-RUN <<EOF
-#!/bin/bash
-    set -e
-
-    useradd --create-home user
-
-    apt-get update
-
-    DEPS=(
-        # Xen
-        bison
-        build-essential
-        checkpolicy
-        flex
-        gcc-riscv64-linux-gnu
-        python3-minimal
-    )
-
-    apt-get -y --no-install-recommends install "${DEPS[@]}"
-    rm -rf /var/lib/apt/lists/*
-EOF
-
-USER user
-WORKDIR /build
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 16:03:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 16:03:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905171.1313020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqaAh-0004T6-21; Fri, 07 Mar 2025 16:03:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905171.1313020; Fri, 07 Mar 2025 16:03: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 1tqaAg-0004Sz-Ui; Fri, 07 Mar 2025 16:03:34 +0000
Received: by outflank-mailman (input) for mailman id 905171;
 Fri, 07 Mar 2025 16:03: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqaAf-0004St-IQ
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 16:03:33 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2415::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b51ec921-fb6d-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 17:03:28 +0100 (CET)
Received: from SN4PR0501CA0060.namprd05.prod.outlook.com
 (2603:10b6:803:41::37) by PH7PR12MB6906.namprd12.prod.outlook.com
 (2603:10b6:510:1b8::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar
 2025 16:03:23 +0000
Received: from SA2PEPF00003F67.namprd04.prod.outlook.com
 (2603:10b6:803:41:cafe::9a) by SN4PR0501CA0060.outlook.office365.com
 (2603:10b6:803:41::37) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.15 via Frontend Transport; Fri,
 7 Mar 2025 16:03:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00003F67.mail.protection.outlook.com (10.167.248.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 16:03:21 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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; Fri, 7 Mar
 2025 10:03:21 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 10:03:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b51ec921-fb6d-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qwQrk7uMC9meaFQRXUuYywoZ/gpWrxUCAc8EFGgckWTQCcgUkTPAQjGfSA7ROY4akHTEg2j1847GVV9YNG84qqdL1/Vhpgpz9IDi0oZVkhtsrhcykkpIEL5NGy6dUQiS16PlxYFy0BVjrz9u4eivyNZH0l20Aj2p1VG3lq/CS5lyIF0CwhuS2qaH6d9gqu1Mwq26RvsWN+Tr05EqluCfycnkbZEneeWvaAPfkkwJzRQ3G6Rmw6m+22P7Skvcu4ZO2LZ4uiCXopZm8359XAqFn2sbyU+75JciVrKlAeAqbfC01QUhTBpFfXH8b2/JSqquZbiAgV6mH+CtfE85mBY1Gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wAD8RspWKayh/+HoP93NlJFVnCoVOjCCIcVG82O1d1Y=;
 b=fMWEuLWfbQcwba0oISX6shgZNxY2Ogx4cDUTaUfD4hbMuVn2kZZPQTEe5bcfoFlsKTjPQ+62bQMdal8h/SMLUDyHAef0BSNEL+QOQTpxjsnOaDhOapgdxet1JKu8SeWGdyRD7Acz3fEd3dptgqZlftUSU7N9/aRQkmTnLYorN2MV6JvQIUNUrGSgKPT9sToiHhE8qC3NIm8802yZ7pgPGH6ipmlN4TBlmaEk3xChh++BHAupDbrs5aQx2fNRkFK99hVI8P927rW8Mt4P4mOPU6NYjS49HHNi5fz+UUHigCD3pcFAlMRB3HTAUvwcUnMaKXs9bMj4HtfOVOYNmi8E6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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=wAD8RspWKayh/+HoP93NlJFVnCoVOjCCIcVG82O1d1Y=;
 b=V4fuNmnJ4f3ToOnf6nDT/M5+04SaWBw7odsgxG0V57DumMx+THJNvsMFf+R9rjXiIhHVzs3ZWgnkkEOGPPgEQTQr1oSKJ6Pw3K/TtOs0ipos3wXO8udv1LKOZsNm0KkuS3LLp31qzVmmah7wvZ2MgjC97IgHRSoyVRdySdAwTJ4=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <734d9fdf-a201-4a46-9739-26a474683b10@amd.com>
Date: Fri, 7 Mar 2025 11:03:17 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
To: Julien Grall <julien@xen.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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-jason.andryuk@amd.com>
 <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
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: SA2PEPF00003F67:EE_|PH7PR12MB6906:EE_
X-MS-Office365-Filtering-Correlation-Id: 94d42d06-d51b-46db-4168-08dd5d91957a
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?SGJuNGxJYnB2RnNwaStybFFROHRsT24xampkWU4vTmtPZGhSanNqcnNTY2Y4?=
 =?utf-8?B?aEk1MUMxdzNVTHZpK3FUcnBnekYrdTlES3NhVWc3UDZSbTcwSnlIMFh2WWQ4?=
 =?utf-8?B?Z3pWRFNqc29iVHlrYStyU0FtT0RXcjE4Z2s3OSt5TUJ5K1dsN1JFdmdEMHg4?=
 =?utf-8?B?WG9IT2UzbUR3WHNFUGFvdHJHQ3VHVUExdTJOSEtYWWs3cHFBMysrR3VsRUJ4?=
 =?utf-8?B?U3BJUVpXZ01xV1h6N3grZDVFNEtCaktPOGwxYUlnb2lRWCtIU2FyUWJ4bGhr?=
 =?utf-8?B?Q21qWkMrdnY5Sm5Xa1dTajhjWjJsRUU3dXcrb2VSZkFVSlh1Yzhmb2RtNWh6?=
 =?utf-8?B?VTIzNzhwRUhyK2dydUlZZ0ZOZCtadUtnTWpGb1VBTy9YWTlVQ3NvZkg4aXJK?=
 =?utf-8?B?YTgwWERWS0FXdnlJczVXSEYyVVR4WVlQL1FtQ1NkS0NDU3RSM3pCeVNKc2Ry?=
 =?utf-8?B?L3VUT3ZQbUNqSnN0VFJLcU1ydHJZbjRpUnZuaUR3NWJadmsvbm9oeDVsUkl4?=
 =?utf-8?B?REtHZkRFTzhrMVZyZUhWKzlyYXVtK3gxTUJqWDhEd2tMaGEwL09FaUNoVmdm?=
 =?utf-8?B?WTFjU3Z5MnZNdTRDck55YzFXRkZ0NVhaM3d3MEVkU0ErUGJsVE1ESm8wMEhq?=
 =?utf-8?B?U2xsV0t2VVVlNlc1R0RlYmkyM0ZvelkzSnY1VDJSZzFIWWJHWjlrSFJuUEFn?=
 =?utf-8?B?S1dVWGU2VVc1ek56K2kxNUFSdk43bDBaTzB4eTRpN2NHTjhVQWpmZWZ2MkhB?=
 =?utf-8?B?U3hYY1JyMW42eGRhOVdyYWFGYzFOd1BUcDNNRUNPWGlqcTNrZzVWeTMxeGN6?=
 =?utf-8?B?UTM4ZWUxa05iT0ZhOEdtaHN0U0o1QUVWbVAyMEY0WWJMbGx0WENzL3V4d0tx?=
 =?utf-8?B?Mm54MnFWZlZMVjVvSS9aWkpWcVpsNEtyd1FTVkpJZHNKMnVaanE3ak5mdnh0?=
 =?utf-8?B?djEvSDZydTZLOERudjZDWjBzYmI4SU1rWVpQUlVKdkZ0S05nbG5RZmhmWER1?=
 =?utf-8?B?ZzJyNVBCdjB4cStZZkN3N2ZwUDMwRC9EZzlIaTRCUHpoUE9yNkdObTNPWUNn?=
 =?utf-8?B?a05mR21xc0x0MEVLN3ExUXpYVElkZHcxTm9ZTFFPQ0pMV3ZyVkdpYVBjQ1hN?=
 =?utf-8?B?VndwT0NSZ002V2FFOWRLdmJwWlQ4aVZIVXZrbzkybFh3Rk1YNmswZzBxMkFB?=
 =?utf-8?B?eTV4Uzk3L2xzbFBpaGhxUFNqZGhpMDdpdllmZGIxekEvYThKSzJldHNPWDJI?=
 =?utf-8?B?WkRtUVNyck1OV2FZQkF0MzdhOUFGNloxclJEbm1FVklkNWkzdFg0R2VNL2J4?=
 =?utf-8?B?SFNTdlVyVjhrS0YwU1BaNlBoRGN0Wi9HcXVrZmNUMEdoeFZpSmN0TGJ3SXRP?=
 =?utf-8?B?THA2aGZPWUkxYXkzMU9MaklieDJsbnp6U0pmTlI5MDVRKzZ6YTFFRjdFdnpl?=
 =?utf-8?B?ZXpOVnJRMEZLUFcvV3NJbmE1UHdzaGdRVGhGNGxuenVsZmt3QkNWQWhUdDBQ?=
 =?utf-8?B?TVBaVzdsa2VuY2NBTzc1TDhKZVc1U1lsS1haOFE5WHk3UnM3MDJ2SnQxRjdI?=
 =?utf-8?B?ZU9yU1RGMDBwM3dSNHNvcXljTFUxMTI3YXVoZjdQYUFRUEdyV1R0b0owZTdS?=
 =?utf-8?B?Z3dPaFoycGxlczFsekp4bkhydTA4YmhJWTVXVHV1KzlqNkhFNWx0VmNUMStu?=
 =?utf-8?B?dDdIOGk4U2QxaGpWY2lHZTBCWmkwU1FLeXlwcTBoeW04S2hKQXg5UEF4OThs?=
 =?utf-8?B?TTFRZEVZZ25DN3hvd1c2NWczbFgraENKTW5HaHN1VUtHT2FQa21DU1gyaDFs?=
 =?utf-8?B?T0RRTE05Y0FDNFZzejA0d0sxWWl1d1psVmJSalh1UktLenNVWWFFaUhOM1Qw?=
 =?utf-8?B?WjZzclEzcGRKRjVpbWoyYjZ0VmJhUnQwVVFoNnRPZG9OdW45WUNHeWQ0QVNO?=
 =?utf-8?B?KzBRaldqMzFJWTFuNm80REFzeEphVGNhSkwzd3o5UmtiVTlxQ3loVHAyTmd5?=
 =?utf-8?Q?Lm2kVQeuRGX0EmGnyF1JtDTpW9QRtk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 07 Mar 2025 16:03:21.4530
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 94d42d06-d51b-46db-4168-08dd5d91957a
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003F67.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6906

On 2025-03-07 03:31, Julien Grall wrote:
> Hi,
> 
> On 06/03/2025 22:03, Jason Andryuk wrote:
>> Assign domid 0 to the hwdom.Â  Normally, dom0less does not use domid 0.
> 
> A few years ago, we went to great length to avoid making the assumption 
> that the hardware domain is domid 0. See all the calls to 
> "is_hardware_domain()". So I am reluctant to force the domain ID to 0.

I was disappointed when it didn't "just work".

>>
>> This fixes using the Xen console which assumes domid 0 to use the
>> hypercall interface.
> 
> I had a brief look at drivers/char/console.c and I can't find any place 
> assuming "domid 0". Do you have any pointer?

As Jan pointed out, Denis Mukhin's patch removed the domid 0 assumption. 
  This was developed without this patch when it mattered.

I tested before posting without this patch (and with Denis's), and again 
now, and I didn't get a hwdom login.  Turns out xenstored was assuming 
domid 0.  Changing that with --master-domid gets to the login prompt.

Still, there are now other userspace errors.  xen-init-dom0 hardcodes 
domid 0 which doesn't exist.  init-dom0less only initializes 
non-introduced domains, so hwdom doesn't get its "domid" xenstore node 
populated.  That leads to other errors.

So I think with Denis's patch, this isn't strictly needed.  It does help 
existing toolstack code work today.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 16:26:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 16:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905185.1313029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqaWw-0002BA-NK; Fri, 07 Mar 2025 16:26:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905185.1313029; Fri, 07 Mar 2025 16:26: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 1tqaWw-0002B3-K5; Fri, 07 Mar 2025 16:26:34 +0000
Received: by outflank-mailman (input) for mailman id 905185;
 Fri, 07 Mar 2025 16: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqaWv-0002Ax-5e
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 16:26:33 +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 eb4576f0-fb70-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 17:26:27 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so13008045e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 08:26:27 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd93cc2esm55314085e9.30.2025.03.07.08.26.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 08:26:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb4576f0-fb70-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741364787; x=1741969587; 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=2+eLkAS5fc0YTW2wyqSjdY5F/l/loYkj8j5GqQ53A4U=;
        b=ZWM8Sb1PQnTBe4ToL9wSTJQl8zr+9Ev12/GxSxSQD5iB0VzIuHbVhXmP5ajH1ZPvuc
         cyI5i+aq5SKYVfP75XtpGST5uZlgvxmcYtZy2vWMntYhk1zfsyMNT5ZxpbClm5vVHbed
         dTT2jKbnRw0AVshprSymTJjPYrPxODdDUOVxI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741364787; x=1741969587;
        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=2+eLkAS5fc0YTW2wyqSjdY5F/l/loYkj8j5GqQ53A4U=;
        b=h5SJ2PzdA62qoCW5O+JTZnFsU+6jtcL68Ac0lTVieVtTxdJEwOsQy0XadTGYVYtRys
         kDWVQKF6iyTnYMNtcIOwSKI7Sqw6yvI0Ny4eYNbFm6vHjumtetefc0tGE6YyZMZr9jyY
         zilFVklBYymsAgzBlGoFiAxdrPQWcfwfoMIJATPeI41UC12brCGQA5hfME0Cqd1Ekkd+
         VthTxCiyAuRW8/Y24TMfuSQjlxV29pugTqVy+S+Omehgqzo0BymVoqq3G/QynHbP4Eo7
         OO1SL25k/hLy66K0eWLOaEMUe7JOIHH0KNSRI9eMaBDXc8vJJusH+VHo8YZmV4YKeBxq
         qpfA==
X-Forwarded-Encrypted: i=1; AJvYcCWWMOEpOiXrInw4ozq9SnS5ZKsJrmEapods8EQI04y07d1fj9WDeGfA7Hyr8v0vEDcqZatSWPfqCG4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YztGMhTtWWt8zEa/M/bCO+N1tXPL5NbCusuwdtpzXK/3tE939sx
	OXEFR/N5zObG1zcMxPO1cvEnGD2KvM0XQcxYc/kEFMLu5Nsk5swlTby7lQcIo3c=
X-Gm-Gg: ASbGncsFoQbnpsY9KwgQf9LaWFdCUd+P0zqy29UF0BwYVq8m7ILsxX8kmi9/uEpMErX
	c3c3ZryY/pb+PZiMVtqxd9c8u8j/YXCCMklTp0VhOhmsurGsgloYBkZ8/M3UvqBBEgmhEzYTf69
	AdcyOTepc18cNsCx1QHeEWF0LX9vG9v2bV3/qTydEvFHh/+hf8JjXqqCvRox4S5VfJhdDVxju2h
	LfLmzPGYWzyZMB1cefBzDeb1W+gozHiKksCBDELmu/7+beujZPDAo3WQoJtn5HBYE7qpRSBNwqh
	sy85qOQbnnn/38g54XB5dhBAqwX2zlo8kYXmeyGT+VcNIDR1of0zP7WduRKycICxYLSy913feoM
	A45py0024
X-Google-Smtp-Source: AGHT+IHJ9HFBYWcyb1TnYD8Q/Cc2bci2BGN6NmDoeX0qh63llNA7yEvfO6jA2Fi8bZAz8eI8lL0mLw==
X-Received: by 2002:a05:600c:524c:b0:439:5747:7f2d with SMTP id 5b1f17b1804b1-43c5a63049dmr26432465e9.21.1741364786945;
        Fri, 07 Mar 2025 08:26:26 -0800 (PST)
Message-ID: <75335424-eef1-4d52-a86a-caefdf4b0623@citrix.com>
Date: Fri, 7 Mar 2025 16:26:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/23] xen: introduce hardware domain create flag
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.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>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-2-jason.andryuk@amd.com>
 <eca6c919-043b-4e7b-a04d-639406ca1332@citrix.com>
 <cc4e26f9-e198-4677-8873-343f49d0f1ac@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: <cc4e26f9-e198-4677-8873-343f49d0f1ac@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/03/2025 2:55 pm, Jason Andryuk wrote:
> On 2025-03-06 17:39, Andrew Cooper wrote:
>> Second, you've created a case where we can make multiple hardware
>> domains, yet it is very much a singleton object from Xen's point of
>> view.
>
> hardware_domain still remains the check for is_hardware_domain(), so
> it's still a singleton.

Multiple domains can pass in CDF_hardware and latest-takes-precedence
for hardware_domain.

That only exists because late_hwdom is a bodge and relies on stealing.

> A later ARM patch for the dom0less code adds a panic() if the device
> tree defines a second hardware domains.

Another option might be to strip out late_hwdom, and do this more
nicely.Â  I have little confidence that it works, seeing as it only gets
touched to fix build issues.

Either way, I think the common code wants to be ultimately responsible
for refusing to create multiple hardware domains.

>
>> But, by the end, I think we do need to have reasonable confidence that
>> only a single domain can be constructed as the hardware domain.
>
> What do you think about multiple control/privileged domains?

Well, I am the author of
https://github.com/xenserver/xen.pg/blob/XS-8.2.x/patches/xen-domctl-set-privileged-domain.patch
and this is deployed in production for XenServer+HVMI.

"Works on my hypervisor".

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 16:28:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 16:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905193.1313040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqaYT-0002gP-2O; Fri, 07 Mar 2025 16:28:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905193.1313040; Fri, 07 Mar 2025 16:28: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 1tqaYS-0002gI-VB; Fri, 07 Mar 2025 16:28:08 +0000
Received: by outflank-mailman (input) for mailman id 905193;
 Fri, 07 Mar 2025 16:28:07 +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 1tqaYR-0002gA-33
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 16:28:07 +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 1tqaYL-0073eI-0u;
 Fri, 07 Mar 2025 16:28:01 +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 1tqaYK-00Cnez-2N;
 Fri, 07 Mar 2025 16:28: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>
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=yaoCgDwqPyoie72Nhfe+CmsilcG3+4JgnZmBZXTTZiQ=; b=eiXtWsOxKcduOtyeeVJGRo+Ou/
	EYOmMaDXtOCNb00An1PE4X6sIol0l8eepolAbmxtI+u30yfE7p1/iuLxRAUq4Y6VpsSF31BeAOEE6
	EdZs8/zfOkC7QO0tGEpo62woi03QSEn1SCLsAMAwK9yFYGQIWcupRcD7SbQZbD3XgOwQ=;
Date: Fri, 7 Mar 2025 17:27:56 +0100
From: Anthony PERARD <anthony@xenproject.org>
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: qemu-devel@nongnu.org, qemu-stable@nongnu.org, sstabellini@kernel.org,
	paul@xen.org, olaf@aepfle.de, edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 1/1] xen: No need to flush the mapcache for grants
Message-ID: <Z8sejC7gUn5MPJSy@l14>
References: <20250206194915.3357743-1-edgar.iglesias@gmail.com>
 <20250206194915.3357743-2-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250206194915.3357743-2-edgar.iglesias@gmail.com>

On Thu, Feb 06, 2025 at 08:49:15PM +0100, Edgar E. Iglesias wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> On IOREQ_TYPE_INVALIDATE we need to invalidate the mapcache for regular
> mappings. Since recently we started reusing the mapcache also to keep
> track of grants mappings. However, there is no need to remove grant
> mappings on IOREQ_TYPE_INVALIDATE requests, we shouldn't do that. So
> remove the function call.
> 
> Fixes: 9ecdd4bf08 (xen: mapcache: Add support for grant mappings)
> Cc: qemu-stable@nongnu.org
> Reported-by: Olaf Hering <olaf@aepfle.de>
> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 16:40:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 16:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905202.1313049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqakp-000725-41; Fri, 07 Mar 2025 16:40:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905202.1313049; Fri, 07 Mar 2025 16:40: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 1tqakp-00071y-1J; Fri, 07 Mar 2025 16:40:55 +0000
Received: by outflank-mailman (input) for mailman id 905202;
 Fri, 07 Mar 2025 16:40: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqakn-00071s-Rd
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 16:40:53 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20620.outbound.protection.outlook.com
 [2a01:111:f403:2418::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed10d559-fb72-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 17:40:51 +0100 (CET)
Received: from SA9PR03CA0011.namprd03.prod.outlook.com (2603:10b6:806:20::16)
 by SN7PR12MB7204.namprd12.prod.outlook.com (2603:10b6:806:2ab::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar
 2025 16:40:43 +0000
Received: from SA2PEPF00003F63.namprd04.prod.outlook.com
 (2603:10b6:806:20:cafe::57) by SA9PR03CA0011.outlook.office365.com
 (2603:10b6:806:20::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Fri,
 7 Mar 2025 16:40:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00003F63.mail.protection.outlook.com (10.167.248.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 16:40:42 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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; Fri, 7 Mar
 2025 10:40:42 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 7 Mar
 2025 10:40:41 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 10:40:40 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed10d559-fb72-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M/QXtssOreN/LRNakkEC7rIpJ0WvbAopa/5qTg4C2HKISyecEut/DY2BBjZRC3vsGK2RmocZHyRraWPjRom2Q9gqod16n86LudAvhbJjSLRXFF4mOgZ0raw0Qcx5kOLhjCMM7uFthwo1UDiQ69VDp1jBHKjCDNzn8vLzPmH7IjuIQg3UmS9zal0TmWWGV3+3Kiyx/9UdRpekMA9Sz/3ko3ts/RkF8EPq6ltgaeJTbDT3bLsrku5J8GzrVypLIG25ID3e0rhLj/I7U+L0k863qK0C7Ng/lZJ/AxsZtk0JX6B3Ku8BG/PRigr2LpULW6YjD6Eiy+UK8fXIO77dcfpVJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C1Kyp1GjSs0giE7LMIyGsT/22R8Oz254Jiq7SGMmfhc=;
 b=kFe68GwIekL+4gFVgkTpRtFgH9ZcEdjLAacoJvOk48fyxRRudKACNGHfpYfIRZxSVCLsPhakoMOf5PIfazgYwhi+f4D3L2fL17s0T3TJGyBZQti1uf1+7jWLP5nRl9q7bHkReOPol59wOMwaL7+ZFxkfJTbZiIPnsQruOGUlvYdbfYaYhaCZuVITmlCYL5K40mCczUi253H7ap1U/947wLNytWAYEG+RKhknbg18XU67yvWN8rtm10C5o/SGLlcpb+iGebFczhOajdp3l2sXyUPcxCtmGgH7EP7Tc3kc0mYdr69yPW/4hyzffyBw+FsIpo4X9vICH2LbKGn4uwCCYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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=C1Kyp1GjSs0giE7LMIyGsT/22R8Oz254Jiq7SGMmfhc=;
 b=QYZH1t00Dy9hiTarnTxY158ptdn8KFez1vI2xf2o2mEGpOUHC3Fzmyb8Y29Cr5BiFAoAHm028gKu71xLaRbLoHheltWMQOLDbZt3PIdCoETyFQeFI4rbCtA4iWJ3P1EMWXXVqk4wK9vldPDjjL9NOoBpXHMAncAZjumUOmb/bJc=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <8a8cf06d-4e2e-4d42-baa9-21cc6bf1f863@amd.com>
Date: Fri, 7 Mar 2025 11:40:37 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.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_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <alpine.DEB.2.22.394.2503061738430.2600338@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2503061738430.2600338@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00003F63:EE_|SN7PR12MB7204:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c01eb73-1a76-4a36-f72a-08dd5d96cd7f
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:
	=?utf-8?B?NEtrOXltK3ZYaGpDVStnYTV1QUZ0NVl1RGtWaGp4SFYyV3FMTTE2RHA5MkRY?=
 =?utf-8?B?N1BHaytlZWtsblI5SlBNT09tVFQvZlk3bmxhNldYMzREcEswczFCdTd5Ympu?=
 =?utf-8?B?Q0N5K0pLUkwyN3YzY0w2ZDhVV1RucXNFRk9Wd2RDUVVJNG5PVUplL3E4ZitH?=
 =?utf-8?B?VDR3ZURhbktIZU1MbHV6R2hVYmVPek16ZjM0TlZPNXFDTDVrbVhhdFdIUU15?=
 =?utf-8?B?WlYxbUt0ZGRzZU5ZVHRoOUoxSE92emcwVlVFbkUybWtEa0duSjNubElFWlFS?=
 =?utf-8?B?Q2trVGRvcU4rdzNUZU9jSHZ5L01oeHJsLzMvNUxEV21UcjR3b3NiNkVuSE02?=
 =?utf-8?B?VlBOZXdzOWxDMmIxZFRFLzdMeWpMSlhIN0hxVzVNSjNkMHA4VTFoak9rNCtZ?=
 =?utf-8?B?dytycmdtbm5tODZLaTRxM3ZlYzJDcFExWFlLcmhoeWFpNnlYTUhWb2lPUVAr?=
 =?utf-8?B?bW40MWVHeFNrcjVxVk9vdEx5OHRDZUZoR2ZLRVBTY0Y0U0NVQmYvN0RVOVhD?=
 =?utf-8?B?VmJvcHVSKzhNdHlBSlBGVG10eEh0UkhuTys1bHNoNHRJeU5KdURjMUF2ZmdV?=
 =?utf-8?B?V1k2SkRzVEpZWTY4ZmJTbDcrTGlEMDB1RkJmdlF0Mm5VUnR5RE4weHRmUk9M?=
 =?utf-8?B?ZE1ZRXZLTnROcjFkQ2xtZjBlRFBHQXYxdTFnN0N5Q3Qra1BzZzdUeU5TYU1B?=
 =?utf-8?B?cUQ4Z0ZGM0Myek9ocmRLMW82Y2c0MTVtQlprQm1Ha3Q5OGZQYjY0NExHa1lm?=
 =?utf-8?B?czJJbzdxRzBsNDNmL2o5bmlHQ25oNXU4OUd1ZHdJZkRKTFZXR21ybEJDbG1G?=
 =?utf-8?B?UE9xeWFEL0NObE40SzRnaHpNOVBVUnhOUkZLL3V6bW5xRWtQbDNSQ05mWDIy?=
 =?utf-8?B?ZHZkOWN4UEp6OXI0bWFxN0owWndoMmhYR2psWFVFclVZTytOT0p5M2tGSEwx?=
 =?utf-8?B?VVVIclBteEU2ZnJoQ2pVUmx2UlhQb3ZlK0hnVlZYa1h0aE9NNEhEVzF3dE5n?=
 =?utf-8?B?ZDlqTlQwTnEyNTNxV2hGOXVpcWYxbXNrM2lrL3NGOWRJRDNBZkdVd20xVjBS?=
 =?utf-8?B?eXhXdWxuUFhkWVhUK3Y5OW4vczNnZmwyajY0NDZjaDN2MC9yMlIycjUzakQ3?=
 =?utf-8?B?NzkzZ2FsM0ZGbC9rNVptaWJBMWNqTHV4MWJ1N1VlYi85VGxoWXNGVzdBbEtK?=
 =?utf-8?B?WVoyMmdCZEdqbXdQRDZmSkF6NDJzeEVKTlpJNWRabEN5OEFSTiswV0s1VXR4?=
 =?utf-8?B?UExza3dSYkh3bHJSRmpycTJTUHE3dlBPT2ZtaWNaUHg2d2ZWUUZ3OTZSakVH?=
 =?utf-8?B?M3ZNS0dyQlBIMFIvdWc1aDhwTlU5N2NSS3psWkJ6WVhHYkJsc3JKMUFnaFR1?=
 =?utf-8?B?bERSRjNoYTBtb0RWSHA4cnB4QmNySTJyYXY1cHh0TUQ3MDBLQUZHVkltQ002?=
 =?utf-8?B?QkxNQ01waldLcG5UeE1iQVZWOEovUEdLY2hYWHhhQ2V1Zi9Dby81ZFJIb2lJ?=
 =?utf-8?B?dVpJT1RHaTh0VUZWN3dyajlRQTFBdjZqOUVkblBqKzUzWWs3ekVkUkxnZ0pm?=
 =?utf-8?B?TEV3TzhtRHlBY2UzRWhFRlBWQXhaU0ZKOW1yajljbEE3NVhSK0EzRmlxL1Zt?=
 =?utf-8?B?Y1RWTnYvM094bllyUVF6MFlhMUxmMVhTYlVBK0x4K2h6cXlFMTR4SkdqWHhX?=
 =?utf-8?B?cTBrZ2tsOVJ6TEVMTGJudjJXaCtOS29aQmZyeW5PRnZNOHVRWmdIK1lqLzIx?=
 =?utf-8?B?NUJBRTNuemVMcnB4OFZCOU9lLzRzOXMvMzgyc2VERDh6K2prYXNhdnM1Z3RP?=
 =?utf-8?B?ZGZBRVN6clZRR3dhcTdIS2dqTTcrcFlSQzcvcytid1hmcXg3ZGsvZXRkMzBO?=
 =?utf-8?B?ZXNZSFh0R2M2eHBmYmRLU0RjWnJ3R2xrOHlFUDM4SUJ3RDBZR1NCY0ZWb0dN?=
 =?utf-8?B?dWZLK285TFplb2RGT1VyTXhjV0R0YW1CWEJjM0hBT3lBOFFmR3VUcno2RVNM?=
 =?utf-8?Q?oJcyFEBBo7F3HIS8fg/dJgOohAcN+s=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 07 Mar 2025 16:40:42.9890
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c01eb73-1a76-4a36-f72a-08dd5d96cd7f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003F63.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7204

On 2025-03-06 20:40, Stefano Stabellini wrote:
> On Thu, 6 Mar 2025, Jason Andryuk wrote:
>> Add capabilities property to dom0less to allow building a
>> disaggregated system.
>>
>> Introduce bootfdt.h to contain these constants.
>>
>> When using the hardware or xenstore capabilities, adjust the grant and
>> event channel limits similar to dom0.
>>
>> Also for the hardware domain, set directmap and iommu.  This brings its
>> configuration in line with a dom0.
>>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> There is overlap with hyperlaunch.  The numeric values are the same.
>> Hyperlaunch doesn't expose the values in a public header as done here.
>> Is this to be expected for dom0less?  It seems most of dom0less isn't in
>> a header, but just in docs.
>>
>> Hyperlaunch uses BUILD_CAPS_, but I chose DOMAIN_CAPS_ since there are
>> domain-level capabilities.
>>
>> Only a single xenstore and hardware domain make sense.  A check to limit
>> to only a single hardware domain is in place - building two breaks.  But
>> nothing prevents the dom0less configuration from only having multiple
>> xenstore domains.  Each xenstore domain would have slightly more
>> permissions, but only the last one would be used.

>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
>> index 5a7871939b..068bf99294 100644
>> --- a/xen/arch/arm/dom0less-build.c
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -12,6 +12,7 @@
>>   #include <xen/sizes.h>
>>   #include <xen/vmap.h>
>>   
>> +#include <public/bootfdt.h>
>>   #include <public/io/xs_wire.h>
>>   
>>   #include <asm/arm64/sve.h>
>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>>           if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>>               panic("No more domain IDs available\n");
>>   
>> +        if ( dt_property_read_u32(node, "capabilities", &val) )
>> +        {
>> +            if ( val & ~DOMAIN_CAPS_MASK )
>> +                panic("Invalid capabilities (%"PRIx32")\n", val);
>> +
>> +            if ( val & DOMAIN_CAPS_CONTROL )
>> +                flags |= CDF_privileged;
>> +
>> +            if ( val & DOMAIN_CAPS_HARDWARE )
>> +            {
>> +                if ( hardware_domain )
>> +                    panic("Only 1 hardware domain can be specified! (%pd)\n",
>> +                           hardware_domain);
>> +
>> +                d_cfg.max_grant_frames = gnttab_dom0_frames();
>> +                d_cfg.max_evtchn_port = -1;
> 
> max_maptrack_frames = -1 ?

Yes.

> 
>> +                flags |= CDF_hardware;
>> +                flags |= CDF_directmap;
>> +                iommu = true;
>> +            }
>> +
>> +            if ( val & DOMAIN_CAPS_XENSTORE )
>> +            {
>> +                d_cfg.flags |= XEN_DOMCTL_CDF_xs_domain;
> 
> shouldn't we take the opportunity to also set XEN_DOMCTL_CDF_xs_domain
> in xen/arch/arm/domain_build.c:create_dom0 ?

We could.  It isn't normally used except for a standalone xenstore 
domain, which is why I didn't add it.

> 
>> +                d_cfg.max_evtchn_port = -1;
> 
> Why this one?

It mirrors what is done in init-xenstore for a xenstore stubdom.  It's 
to remove the limit so the xenstore domain can create as many as 
necessary for however many domains.

> 
>> +            }
>> +        }
>> +
>>           if ( dt_find_property(node, "xen,static-mem", NULL) )
>>           {
>>               if ( llc_coloring_enabled )

>> diff --git a/xen/include/public/bootfdt.h b/xen/include/public/bootfdt.h
>> new file mode 100644
>> index 0000000000..4e87aca8ac
>> --- /dev/null
>> +++ b/xen/include/public/bootfdt.h
>> @@ -0,0 +1,27 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Xen Device Tree boot information
>> + *
>> + * Information for configuring Xen domains created at boot time.
>> + */
>> +
>> +#ifndef __XEN_PUBLIC_BOOTFDT_H__
>> +#define __XEN_PUBLIC_BOOTFDT_H__
>> +
>> +/* Domain Capabilities specified in the "capabilities" property.  Use of
>> + * this property allows splitting up the monolithic dom0 into separate,
>> + * less privileged components.  A regular domU has no capabilities
>> + * (which is the default if nothing is specified).  A traditional dom0
>> + * has all three capabilities.*/
> 
> The multiline comment coding style is:
> 
> /*
>   * comment
>   * comment
>   */

Ok.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 16:45:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 16:45:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905213.1313061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqap3-0007fd-Pu; Fri, 07 Mar 2025 16:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905213.1313061; Fri, 07 Mar 2025 16:45: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 1tqap3-0007fW-KM; Fri, 07 Mar 2025 16:45:17 +0000
Received: by outflank-mailman (input) for mailman id 905213;
 Fri, 07 Mar 2025 16:45: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=69sh=V2=bounce.vates.tech=bounce-md_30504962.67cb2296.v1-3e956771535c4e7eb16e1461b3eb5378@srs-se1.protection.inumbo.net>)
 id 1tqap2-0007fQ-PJ
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 16:45:16 +0000
Received: from mail186-3.suw21.mandrillapp.com
 (mail186-3.suw21.mandrillapp.com [198.2.186.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88c953de-fb73-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 17:45:11 +0100 (CET)
Received: from pmta10.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail186-3.suw21.mandrillapp.com (Mailchimp) with ESMTP id 4Z8XFy0gbmzDRHyyN
 for <xen-devel@lists.xenproject.org>; Fri,  7 Mar 2025 16:45:10 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 3e956771535c4e7eb16e1461b3eb5378; Fri, 07 Mar 2025 16:45: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: 88c953de-fb73-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741365910; x=1741635910;
	bh=/qKMcF5yj94w1xzhbL/50AX7Q/0LRAM+o5099XQD54o=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=nQoKXhSqcAA71er83RYzWYiForULuLH0290vd5uGRqFrp0CbJ3p7Xu1BerVKpnxwb
	 EVVbqzez8mr9AfLRJigHlK7qemNMp2rXTqQIsyguNEBEtKuiBIXIyN32DMXFjAfHTi
	 rdLMxBsEGHViPIiVidgEfYMK7QDJDCNOSS+0kggQmu7C4ANhJ9ZpAtX4w6aMYd7Rct
	 cQWhewNUWEpGVCH/OMR2kg4kp1U5xX8lcTPEvL7NA3EivYn6ZvqxbUAlTYtTgHcPID
	 /gFVg0DH8yfSF4GXB2i07QvKdhkShkjqfoHxfTVy6zcZf3R9ItY6nEEPwaqxEvAEc/
	 XCI2L3BgOUfDg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741365910; x=1741626410; i=anthony.perard@vates.tech;
	bh=/qKMcF5yj94w1xzhbL/50AX7Q/0LRAM+o5099XQD54o=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=z7QcKPmtPe8RiD+q+1MjTU7Y+AYt7syg1YhCsnzdg7ZgmR8uRy4XrdZQZe7bLv7wo
	 d5D7I0REC0OMtKKIZvH6bBTQ21w3s5wpzrV2sujEhSaIKCoL7cfnozdp21fD2mMqbv
	 gqvmQjsAANBZ3wZqvuzdlNH++jF685G5lvPLfnWg9KxK0C3aiSe9KOpcAyDbwdqVi1
	 Gl5sSiy9zSBwgeMpt3cMRi7ECkKpgRkKLaAoMjl7lSBU+yWpkkA3iRiZQfy9+jKAo1
	 hNVIzVYMkE2fjg9wf55QYEMXVpC9JZNFOo7Qk++AEqDYkujHIPMW+PqNq5syiN424v
	 4Z9SGzzCHX4Uw==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20tools/libs:=20Make=20uselibs.mk=20more=20legible?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741365909210
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, "Juergen Gross" <jgross@suse.com>
Message-Id: <Z8silEX4FYkFg6RV@l14>
References: <20250307133342.3057009-1-andrew.cooper3@citrix.com>
In-Reply-To: <20250307133342.3057009-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.3e956771535c4e7eb16e1461b3eb5378?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250307:md
Date: Fri, 07 Mar 2025 16:45:10 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Fri, Mar 07, 2025 at 01:33:42PM +0000, Andrew Cooper wrote:
> A few blank lines go a very long way.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 16:50:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 16:50:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905221.1313069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqatj-0000ke-7c; Fri, 07 Mar 2025 16:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905221.1313069; Fri, 07 Mar 2025 16:50: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 1tqatj-0000kX-59; Fri, 07 Mar 2025 16:50:07 +0000
Received: by outflank-mailman (input) for mailman id 905221;
 Fri, 07 Mar 2025 16:50: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqati-0000dZ-0U
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 16:50:06 +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 3790ea44-fb74-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 17:50:04 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-390f5f48eafso1140882f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 08:50:04 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bcbcc0c39sm91444105e9.0.2025.03.07.08.50.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 08:50:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3790ea44-fb74-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741366203; x=1741971003; 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=c03e4tdWOqrDGmP3AYQLe9DcnVISbUluGPGs8Qxvsw8=;
        b=AVAi5SjAkWY8JcYmWdlDKnYlp3+r5CVnx+JGUNrVfmYNMn6zpQ1QU0i952l+zvF4qg
         QQQZ2KLMlcj1xTXBAiuboLOnsnfIAsKCl3ExEn8v5KBlpvzq0dPc3gvIaKHHSTG4l6eK
         eUEzwfiySRBgrIgr6PqdormF2Dgdvru0JGIxg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741366203; x=1741971003;
        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=c03e4tdWOqrDGmP3AYQLe9DcnVISbUluGPGs8Qxvsw8=;
        b=nfPEs1kbePP4W2Aq95elf/8mcIZMPaGvHWSdjMD8jSmvPk7Bn60dsI17OdHU8unPAv
         AL4oZBf4Z0YG5VDZyh44TF8vxY4ToNp5iZ4x5hQKr6lybG90fDH3+66pxKmflebFTrMJ
         vRMVWyBROXGkVY+CsuulbBFtCKRllC+DStR1JA4rWL1mat7FPQ2t4GRHAQZcjyaTxQWL
         dODzk88PaWGpLgY/MdgaShlPGJ19mZ1pV1Qu1KFi19i1Ax7+zWHRrx21gBcV741YZLou
         aoSAInoHpbHOKwP/UVHAYLjWvSqj/eGTEkKYiVuaU4cfOaA8ga+9hWBJUZX4/WovXpzR
         p5uw==
X-Gm-Message-State: AOJu0Yxxg8nONd6A7N/gIAx868la0LH75ImilUBKA5uUA8dbs8JojI1i
	XYUO9pOxdac6QHUB4WLlZSLkKqVsUpDLyecj4pdfblsYBWq1jjIqS9FD8d0hMgIsIlPo81/5rCr
	E
X-Gm-Gg: ASbGnctV7sr5XW+xAEk7sx3B0QnnwajmKmWEu6UKJSg3T5GLdr4iFZitCOgiveP2DiO
	WhFhh71Dy/mvqmdTAl1h+IYxbrDkdXXAeaHIY2lAL6cHrUv8bV652GU77nW6b5TRDqZN8sft4bi
	crRN1JzNwq2N83ErwSKd7MPaf7pvJVVQgHwDIEK+HZgGleRL3zkY4ggkJvKi5qMimFWBw/xi6c1
	Gw1kdXFyADH/l7ac9/RXNuULjzqnMdfREoecob/EfGnv6llP2a/yT3iskiT4bpb4J9VCHOmuhne
	LFyr7zPbf7jzCcTgQkCHd375qkDXviNsSv/I7neuF2L5hJcH34rHEkIbnntGoulsHju3E3pXMyq
	ITxw1mD0RYeAg7X/1CcUpmlkP
X-Google-Smtp-Source: AGHT+IFNY48awumxgEdtHmoxCGME6x7R6bdlUInN4JVtY8eGjaMAac2ZasGQWYHqNj7ftGZZtRFX3A==
X-Received: by 2002:a5d:588f:0:b0:391:1806:e23d with SMTP id ffacd0b85a97d-39132d7a3b6mr2466543f8f.6.1741366203119;
        Fri, 07 Mar 2025 08:50:03 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] xen/domain: Initialise the domain handle before inserting into the domlist
Date: Fri,  7 Mar 2025 16:46:37 +0000
Message-Id: <20250307164637.3087855-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

As soon as the the domain is in the domlist, it can be queried via various
means, ahead of being fully constructed.  Ensure it the UUID give by the
toolstack is in place ahead of this.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>

Quite possibly benign right now, but the change is appropriate nonetheless.
---
 xen/common/domain.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index b887c60ecc1d..8d0125bb8fd0 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -901,6 +901,8 @@ struct domain *domain_create(domid_t domid,
      */
     ASSERT(config);
 
+    memcpy(d->handle, config->handle, sizeof(d->handle));
+
 #ifdef CONFIG_HAS_PIRQ
     if ( !is_hardware_domain(d) )
         d->nr_pirqs = nr_static_irqs + extra_domU_irqs;
@@ -962,7 +964,6 @@ struct domain *domain_create(domid_t domid,
     domlist_insert(d);
 
     domain_changed_state(d);
-    memcpy(d->handle, config->handle, sizeof(d->handle));
 
     return d;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 16:50:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 16:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905223.1313080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqatu-00012C-Fq; Fri, 07 Mar 2025 16:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905223.1313080; Fri, 07 Mar 2025 16: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 1tqatu-000125-D2; Fri, 07 Mar 2025 16:50:18 +0000
Received: by outflank-mailman (input) for mailman id 905223;
 Fri, 07 Mar 2025 16:50: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqatt-00010Q-4V
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 16:50:17 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20616.outbound.protection.outlook.com
 [2a01:111:f403:2413::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e2861d3-fb74-11ef-9ab6-95dc52dad729;
 Fri, 07 Mar 2025 17:50:16 +0100 (CET)
Received: from CH0PR04CA0063.namprd04.prod.outlook.com (2603:10b6:610:74::8)
 by SN7PR12MB7954.namprd12.prod.outlook.com (2603:10b6:806:344::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.22; Fri, 7 Mar
 2025 16:50:09 +0000
Received: from DS3PEPF0000C37E.namprd04.prod.outlook.com
 (2603:10b6:610:74:cafe::6a) by CH0PR04CA0063.outlook.office365.com
 (2603:10b6:610:74::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Fri,
 7 Mar 2025 16:50:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF0000C37E.mail.protection.outlook.com (10.167.23.8) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 16:50:09 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Mar
 2025 10:50:08 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 7 Mar
 2025 10:50:08 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 10:50:08 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e2861d3-fb74-11ef-9ab6-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gbX3yLPJlREPIMJm2IjjGn1C66ynDObj7ue6yYmSh4iPfcIM254SiK5FLOxgyfeBlgcf4SUKGaCse/IqffIvu1A7HPMD4TCu0GrUQ+s8eZtXsHAdy3QqZ8sj3piWrZBOUrb3SfMRawuUmnLQzeL8Zl765Vx0eHfUv7iIBwibuiUFr9oQWGzgXYM5DBoLkdYet0viHlsYDb98gzu4mu3M9usTEbwHdgj8eFOZzRumTKTz9f8YSJT8akoE61QUgXA/nwlbc8biORhmdaWbPb92Om4gIJdr6B74/QlmKXcKrm+fNZ7ynvgg0ffCOh1skaNC44OfNC27m3aaSNjpzjLNXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SaMEf4hiqQ+SBwHKWaef253oG8EnBU5z73/RaAVxkn0=;
 b=vsTbkpK2fkSsWvjEnXRs0zAeHRRMvGffLRqb8uTEflSjObib6eRxLgRPBNCKWOfULhSGZ/Q7i7GySy8IRlfoR8lbQ/uaDYhV/Eh6AqHuscYh4WCpnTRYF18wUUL9LUrgC4VYDS36O+5HWdDpGtRu4xOYMiKPMMRZIQ5u8LXMxhyIGKLRh1PNb0UaB9TC2gIfsXj4tndK7M6SrKxfW6XVv7NcjSa6f1/PG8MtK07joPEnvzijLiBdBDmcLVIj7UNe61SInvfbBfqdhEzZfJY2cU2HMsYN8+OkYbgCPV6El+5l8uvMT8LjgZu8rtQ4TLp1QXNXTgECkHEV6CVsuX3evw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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=SaMEf4hiqQ+SBwHKWaef253oG8EnBU5z73/RaAVxkn0=;
 b=D+BiLf6KU5zpwUokFxDjJjRDtk6t2YxB3UW4O30BKLHry0OH6wVKfStZQyxdjoVhOwxj2JznGFkQdc67Say/T2yEGPVIYFjN7WZTXxjvPIBkgAFn3odPbjVbsI+u2Y3GUJ+Y9DsRsn3vGPRVrhkTAH3WOtwiIRHftNl7VOBOp0I=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <53ffb461-7497-40e6-b632-60230f41d9e5@amd.com>
Date: Fri, 7 Mar 2025 11:50:10 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
From: Jason Andryuk <jason.andryuk@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.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_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <alpine.DEB.2.22.394.2503061738430.2600338@ubuntu-linux-20-04-desktop>
 <8a8cf06d-4e2e-4d42-baa9-21cc6bf1f863@amd.com>
Content-Language: en-US
In-Reply-To: <8a8cf06d-4e2e-4d42-baa9-21cc6bf1f863@amd.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: DS3PEPF0000C37E:EE_|SN7PR12MB7954:EE_
X-MS-Office365-Filtering-Correlation-Id: 07675f63-386b-412f-5aed-08dd5d981f0f
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?THJRMktTRFZhU05YN29XK0JHUFFLa3ZYd095cHBVNTFaWkFRdTYvVUdHZzRy?=
 =?utf-8?B?dktkUWc1Nmpoanh3RVBRQjU3d3RheU9hd0tjcUhveW5vQXdmV0pMQWx1UThI?=
 =?utf-8?B?RHBOUnUwd2hLck5xa0ZoNEdpNzNXK3VKRUNSSVZDajY3clBBN0FjSEhaaGRq?=
 =?utf-8?B?U3lmc0RIZXhjZnVHSkZKaTFkM21URjdjVllySTJVM1VJVXBsY1k3SEFzL2tj?=
 =?utf-8?B?NlFaU0xUcmlYMld1aWFadFJmemZ0dXhhZHg4RFJLOGpXeS9peC9JSENJK1NN?=
 =?utf-8?B?L0VGZGpOeGdMQ3MvNllyelJ6RUkwMjNGbGJSY3IvTnJJcGprN2VodVNiQ2tI?=
 =?utf-8?B?ODZRMlVuWWJ4NGNCdUczZmg2T3REcitHb3RUMGU4Mm9hcnBHNEFqOWI4SDFo?=
 =?utf-8?B?QUJMZTJMbm04Wm1ncW5LbnFPK0MwTDBoY0t1SW1La0ZpL0hpTUx4bTYvdENi?=
 =?utf-8?B?aDhFaDhDRE85bkIzZGpCVkc5bzViMVdlUXhFVmtuSkNpMUVtUHc4ZTBXZysr?=
 =?utf-8?B?Z2ZjaWxyOStiaUNQY1RwdXR2WVk4L3BqamJ5Y05jT0tGS3dwVzhhNXVuZ0tO?=
 =?utf-8?B?aHFIK01kczRBWUI4LzA3dGFYYXc3VkxGRGhxMmZ0NlVOa0lxV0d4YzlBeEpV?=
 =?utf-8?B?SVBHWnd5MjFoclVKRnNZdFRTRzlvc1hyZXI4SlRZOWRHZDB5TUxPaEFIczlx?=
 =?utf-8?B?OUNpeS9IdlBISEUySThmQmdUYnNnYjFZR2NkczhZZ3pCRFRCbVIrcG1nNHJq?=
 =?utf-8?B?cXE0M284K3lLMS94ZlYyb2RnaXl1VCtvN0ltcjYyNGJnK3FJa0ZxcDYxdlNr?=
 =?utf-8?B?ZmFWNWN3NEVKYjBjOHVvUm5sV3U2S0JhdFFHVHBxeEhFbDloS2luUWpBZ2I0?=
 =?utf-8?B?Y0RrT04zZS9maDI5SUl0SDRZSU1Ec21LSkZOL3N6U0s0allnK3NYYzBKZlQ5?=
 =?utf-8?B?dTZFN2lIbzJYT3Z0RUdXdDNYQThUS1ZxdmVTejdadVBsZEVLcDdUcFgzcW5Z?=
 =?utf-8?B?bUM4ZjFUNkliOE5kRlJlc2FiUzZ5dER5bTVQUUM1QjBiTnNNUXc3RDM4YW4z?=
 =?utf-8?B?Yk5NaEJPNWJ3RnNQcW1xTVhLLzdhdWdCWDJKOWZMbkdEMDd4NkFXR3hkRXNa?=
 =?utf-8?B?NWg0TlBxeUM3Ty9xZmNyeXZCamtqTS83U0gvQm0wOWRJV1J0RDUyVXVhMmdE?=
 =?utf-8?B?NDVmenBDNmFhY005TjhUTzdlV3VVYWJzN1k2Wk14Um1EaHl4d0xlUENYYW5T?=
 =?utf-8?B?bVI2ZTllWW1xRkN0RS9ubUJrK3E3ZEIwUE8wc2JYM0JBdmFGSTJuQWhDTE5q?=
 =?utf-8?B?all3ZUY0cE5UN0pOMG5OejI1dkNpOWJIQXg1dlQ4R1RLdW9uZWZGRm8rR25G?=
 =?utf-8?B?QUVRYmt1bkxhb2taMEZ0dk5ybWJLOEpiME9qbW11ckE5Y1RjNnZGZ00veEYy?=
 =?utf-8?B?ZExhVFdJVnVkUWFXTTdpTlNiL3pHbkY4a2wyWHE3OG1GR3g1UDJOcWc4blBH?=
 =?utf-8?B?K1UrMGFodzVSdWFxdFZKS0xhem9MQW41ZHBBMWdDWDVTMTJxMHlCTFAxRnNv?=
 =?utf-8?B?QzRmZEY3R0RWR0d0czZyNkM1Tm01SEdpL0xseG12aVlvWkJLUEVPSFJaT1ZC?=
 =?utf-8?B?aDg5ak5JUFErYzhXcmZrN29yVzA2bURKbmx5YVlNZnFEYUVaa0hZS3JPTzV5?=
 =?utf-8?B?eXBMNXJLRU9IVHVGN01tenRNZVJBazUzRWFnWmlOWWRGMlhMRmhzK09ZUUlt?=
 =?utf-8?B?TGhYSVJMYjVXTWVsTGovbGc2L0NGN2YrVlZXNTdRTzdLVDYzL2hyWkJyQldu?=
 =?utf-8?B?cXFjWEJJd081dUo4ZmVsT1JCbU14eUhTWVhKbTc5YlJsSWVQZ2lxcW5KV0N0?=
 =?utf-8?B?SHlhMWNITVFXOFhRZU1YcFRMTnVpWUlYbjM5ZVh3REROUGZLMkFtT1Z5eExx?=
 =?utf-8?B?NjdHUVNxZm1UQy9KeE50bzd6TTkyUGhoTVk0dFZvaEE3aFhkKzBFSk1sKzNF?=
 =?utf-8?Q?oPoiro2CmfX2gj84yWbOsTlkDwwFmY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 07 Mar 2025 16:50:09.3365
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 07675f63-386b-412f-5aed-08dd5d981f0f
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF0000C37E.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7954

On 2025-03-07 11:40, Jason Andryuk wrote:
> On 2025-03-06 20:40, Stefano Stabellini wrote:
>> On Thu, 6 Mar 2025, Jason Andryuk wrote:

>>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less- 
>>> build.c
>>> index 5a7871939b..068bf99294 100644
>>> --- a/xen/arch/arm/dom0less-build.c
>>> +++ b/xen/arch/arm/dom0less-build.c
>>> @@ -12,6 +12,7 @@
>>> Â  #include <xen/sizes.h>
>>> Â  #include <xen/vmap.h>
>>> +#include <public/bootfdt.h>
>>> Â  #include <public/io/xs_wire.h>
>>> Â  #include <asm/arm64/sve.h>
>>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>>> Â Â Â Â Â Â Â Â Â  if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("No more domain IDs available\n");
>>> +Â Â Â Â Â Â Â  if ( dt_property_read_u32(node, "capabilities", &val) )
>>> +Â Â Â Â Â Â Â  {
>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & ~DOMAIN_CAPS_MASK )
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Invalid capabilities (%"PRIx32")\n", val);
>>> +
>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_CONTROL )
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  flags |= CDF_privileged;
>>> +
>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_HARDWARE )
>>> +Â Â Â Â Â Â Â Â Â Â Â  {
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( hardware_domain )
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Only 1 hardware domain can be specified! 
>>> (%pd)\n",
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hardware_domain);
>>> +
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_grant_frames = gnttab_dom0_frames();
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_evtchn_port = -1;
>>
>> max_maptrack_frames = -1 ?
> 
> Yes.

Actually, -1 is already used to initialize d_cfg.max_maptrack_frames.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 17:56:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 17:56:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905257.1313134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqbwE-0003fV-IW; Fri, 07 Mar 2025 17:56:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905257.1313134; Fri, 07 Mar 2025 17:56: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 1tqbwE-0003fO-Fh; Fri, 07 Mar 2025 17:56:46 +0000
Received: by outflank-mailman (input) for mailman id 905257;
 Fri, 07 Mar 2025 17:56: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqbwD-0003fI-HE
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 17:56:45 +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 86a7039f-fb7d-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 18:56:42 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43bc30adad5so13596675e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 09:56:42 -0800 (PST)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c103035sm5954573f8f.88.2025.03.07.09.56.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Mar 2025 09:56:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86a7039f-fb7d-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741370201; x=1741975001; 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=+x1kYl1a1noEIWw3uWYi5SihUJ8GTOHCbg14SU8Fyx8=;
        b=snuMlCyxORaVGf5zO7pCSJPOzE5DD+ZIPi3Ths0uhHRzjG8lRX7P4S2NPwY8/2ubHI
         yWu0yMsizKsnTvKBANDtM6boZIKFGQ13WDrCAydXfV/guGY8v4tY5SuKiDwIIPvumKJ1
         DOoxX9B4FnTrb4Jkv+QT50oNnB7p8VKOLbkGo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741370201; x=1741975001;
        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=+x1kYl1a1noEIWw3uWYi5SihUJ8GTOHCbg14SU8Fyx8=;
        b=K2Y+oZvwBD8Q7k0DrWXF8/iz2t1sVlnC+311VYAAJrirpubSeJxIRKea5JWk6sZtiz
         wMWklKyIRl5r/Y4zwPq6UrhocxpQRmCSmmGvzsu1MzCYf7XdkLMcoqlvQ4kqIUH0sVxd
         xL90GKRNCI3N+vhj1GG9qrHqrg6lx5bFFn2BGPTxbeWeaf12zFkMFsQWJwreMDQMHuOz
         G2jhWAGCXkg4uoXxGFa4egxCtuFAVWHh2LWQmDOF+iVrrR3ODcDtDuGXa3FB/xaq+1Uw
         6V/tdAT2Cg3B5ZLitN9YkjS6iZBmLoF996YLkWm1KZSHNWqjrz3WJGKVyEhO0eviNNbM
         V0DQ==
X-Gm-Message-State: AOJu0Ywy/JC7rkYVf5DiKucANr3rq48MqyogVHS3Hr47HksdG6KdhjN+
	C440GE8vnv/BoxLa3aNTMNs20QevjZyRwRCJRixXq47qH8kEcWaw8izJqnMSFUcQuvNtx0vdtv9
	0
X-Gm-Gg: ASbGncuAcxc/aX+fBrVUQkfp2qFx1d9qA3h6X7dy1AwA/jkgaCux1BFQJ/x3HcFVsz7
	gPEdmAjKLj22hx7q0EYKAjwKiDXnRZGkxGshsvrDLZ0QltDtRaI9OEj4hoMa08ak3CqjQfwwF26
	Dq9Uubc02cL6EFt0qXl6/D4/RNKV1dDA5oCfenVN1bQ7c3P0WM+B1/D1DT3DYdTyQQMHc3wXCCo
	X9Yz/JTkuqySgiYevdoqbHCdaYYW5PGx6TaNqxFIHa32LyCVauHda0jxNKSrHAoPWUIzTBodJ7F
	NoAYhXDeOI0WDPB4WqzLGjqKCc3qzxeKU9mLg5PaVzS0dc1PiGRinVtIFvKbOuUuxXngTtdz70n
	uKtyWmaQgnVqcKA8nYOgU5SDg
X-Google-Smtp-Source: AGHT+IGMN7OGJHyaospCvBCxQZoVlXR6Ja9W+F7zuctZhWg699INKZdDM2daFxLVjRE1BExIQ095QQ==
X-Received: by 2002:a5d:648f:0:b0:38f:2b77:a9f3 with SMTP id ffacd0b85a97d-39132dd6934mr3302787f8f.43.1741370199747;
        Fri, 07 Mar 2025 09:56:39 -0800 (PST)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH] xen: Update minimum toolchain requirements
Date: Fri,  7 Mar 2025 17:54:35 +0000
Message-Id: <20250307175435.3089686-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

GCC 4.1.2 is from 2007, and Binutils 2.16 is a similar vintage.  Clang 3.5 is
from 2014.  Supporting toolchains this old is a massive development and
testing burden.

Set a minimum baseline of GCC 5.1 across the board, along with Binutils 2.25
which is the same age.  These were chosen *3 years ago* as Linux's minimum
requirements because even back then, they were ubiquitous in distros.  Choose
Clang/LLVM 11 as a baseline for similar reasons; the Linux commit making this
change two years ago cites a laudry list of code generation bugs.

This will allow us to retire a lot of compatiblity logic, and start using new
features previously unavailable because of no viable compatibility option.

Merge the ARM 32bit and 64bit sections now they're the same.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>

PPC doesn't have a minimum set stated yet, but CI tests GCC 10 from Debian 11.

This will require dropping some containers from CI.  CentOS 7 notably.

In terms of specific new features, I'm interested in:

 * __has_include() to remove the asm-generic makefile tangle
 * asm goto (), to remove .fixup and code generation for error handling.

and these too, but will require MISRA adjustments:

 * _Generic() to make properly const-preserving wrappers
 * Updating our -std to gnu11, which drops further compatibility logic

When the arguments die down, I'll add a hunk to CHANGELOG.md as this is very
significant.
---
 README | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/README b/README
index 9d9c6fc324c6..be90be3910d4 100644
--- a/README
+++ b/README
@@ -38,16 +38,13 @@ provided by your OS distributor:
     * GNU Make v3.80 or later
     * C compiler and linker:
       - For x86:
-        - GCC 4.1.2_20070115 or later
-        - GNU Binutils 2.16.91.0.5 or later
+        - GCC 5.1 or later
+        - GNU Binutils 2.25 or later
         or
-        - Clang/LLVM 3.5 or later
-      - For ARM 32-bit:
-        - GCC 4.9 or later
-        - GNU Binutils 2.24 or later
-      - For ARM 64-bit:
+        - Clang/LLVM 11 or later
+      - For ARM:
         - GCC 5.1 or later
-        - GNU Binutils 2.24 or later
+        - GNU Binutils 2.25 or later
       - For RISC-V 64-bit:
         - GCC 12.2 or later
         - GNU Binutils 2.39 or later

base-commit: ac29d63a0fa6a3ed98ecf86f95995811c301308f
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 17:58:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 17:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905266.1313143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqbxu-0004BD-Sh; Fri, 07 Mar 2025 17:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905266.1313143; Fri, 07 Mar 2025 17: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 1tqbxu-0004B6-Q4; Fri, 07 Mar 2025 17:58:30 +0000
Received: by outflank-mailman (input) for mailman id 905266;
 Fri, 07 Mar 2025 17:58: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqbxt-0004Ax-K9
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 17:58:29 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2417::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4246b68-fb7d-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 18:58:26 +0100 (CET)
Received: from SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31)
 by MN2PR12MB4453.namprd12.prod.outlook.com (2603:10b6:208:260::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.22; Fri, 7 Mar
 2025 17:58:21 +0000
Received: from SJ1PEPF00002324.namprd03.prod.outlook.com
 (2603:10b6:a03:33f:cafe::9c) 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.8534.11 via Frontend Transport; Fri,
 7 Mar 2025 17:58:20 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF00002324.mail.protection.outlook.com (10.167.242.87) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 17:58:19 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Mar
 2025 11:58:18 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 7 Mar
 2025 11:58:18 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 11:58:17 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4246b68-fb7d-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uuPbhR1KeJ6PaQdTnsoaH1YVJZIKs8NqdX2FJqyUHmHNx67m5hPyv09v93b713JZ04+xHy+tHovvfbrfJ96qwdiUQR0gdlG9VK6Jn4/WcZ75D8//tNw5xzWqvh4IYarttb2jE1o62UB5AbtDAE+IkX5CE992ilX8DgYoKMazc67QLp81+dHQCwQq657WP/tV4sNF6diMOgk66qDvP/vEGVWmBF48miJlUUR4JIqVIs4N6XHAqlTx5JVNymdLprJHTvHqB6cMHEdwIn1PhSKjSPfRt8quZ2YE4XkQC3bQTUX0TqhQ5Dn75OyCZ+NGRsB7Txe3v15TyAvI67HxwVoL2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eIHNE9Ii/J+FsdfR48xw7xJyclQHvqEJ7v+DfEhtS2M=;
 b=ktMUpmGIdMDuvKCpUuNu+FdyR6T3sDgHYrqddqiUFctvAlWpR5RLycNUAXY3Bh6gJZYn36aVtwjQrjFRHBdAmmiQxEnVHFXxPftkG6kaOl9+jN9qlnME5EmVb2t8cUq6qE5kUJlGTThHYnM/ml0ABY9Q1HWDOOOpIEYwN7abVuiwlf7kXokJo2hxlaEkdGIL+7BkVzshuQSDdKn3f5WoJP4oJTA8nltwpuFZM+tLjcBvekQKnpu+zerFhyijcPX1kPPYs1A6a1borVsQfh5Hh6FfFeBzQnAZKqPFJA3POhctm3mbsSgj0seXJbB3hGYO2CQH/tfzVAlAumyaeAa3Ig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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=eIHNE9Ii/J+FsdfR48xw7xJyclQHvqEJ7v+DfEhtS2M=;
 b=oRFCgBJTtRTp2Qj2nzJgqIvkvvInq/M03/+1XuztFOushBhPF94PFDYb2xN5EARi2Qojj6GtY5vi2KUhpV++jKtu6QfMcDgcKhlvDdK69A/ZS9396aLgHrRNAnOeDtowNhksnS9gmnUyurPNuxL3cF4mOacImaAemJgBRSuYP+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=SATLEXMB03.amd.com; pr=C
Content-Type: multipart/mixed;
	boundary="------------UjfTwq5u02D0WqrgKI9HLqjz"
Message-ID: <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com>
Date: Fri, 7 Mar 2025 12:58:19 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
To: Julien Grall <julien@xen.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Jan
 Beulich" <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00002324:EE_|MN2PR12MB4453:EE_
X-MS-Office365-Filtering-Correlation-Id: 93e558f1-a3a3-474b-590e-08dd5da1a524
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026|4053099003;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OUNuai9CUm5YQ3Z6R1JwOXhvWmxkVDdsWkEvSmFxeVZWWXNOWVhkVG1VWkdW?=
 =?utf-8?B?WHZla2owYkhQS0JrcjF0TGNDNWlGR25EZGpCaGdUWjFPZDZ5bUdXYjVpNDY3?=
 =?utf-8?B?NEVsN015VWFVNDBjMzEwa0ZtYndSRFBMbGdQQ2QzMDloWWJNQTVTejhCYTIw?=
 =?utf-8?B?eGZacG1sTzFrVjV2aFdIdkEzcUl6eWdBSFpnK3pEVm9BSDkxOHRPTFZSTkRi?=
 =?utf-8?B?UUc5Mzk2allGeHFrWnhodTNndHpRL3NZcjZQczJMVlBnM3NKbEp5UkhYWEN6?=
 =?utf-8?B?dkxhK1IydDMxM3Z5RTB2RTE4VVM4N2lIT1pIWFZ1OXgvcGVvRFVDYk9kbStx?=
 =?utf-8?B?TmxnTGRCUXJTV3BWR3N4MHoxSTFrdmU5QzZQY2U4UFBpVmNsMXozbkxyR2tZ?=
 =?utf-8?B?N1hXNzJsNTBZa1EvK0JWaXloV3hQUm5pZlMvRWNoWXlzbjlhN0FJL2xvdE05?=
 =?utf-8?B?KzhNajVZYlRUWlF1THgxT1MwVTFNaVpqSlNyZFQyQjRaWnZUNnAzd1I2Rm5x?=
 =?utf-8?B?YWQweW9lVmxac1NyOWpWaGhsMkM5UEp1K3Z0REQ1ekY5UThZNDRIMEhpSk54?=
 =?utf-8?B?Ym5SbnFuSnhGZkxWdkZkcWNrUDNJWjAvcnM3ZVltOGtBYmVGazVyZU5LSkJB?=
 =?utf-8?B?a2VyQkxoWEhlWGRXaTRkaDE0Wnd6RG5BMGppNm1UbnVMdFZVNFBuRWtmYWM0?=
 =?utf-8?B?SDg5elpvRW9jMmNSSWFQR3h1M0VQNVl4UWQ4Yi9idW4vU1JwdEFwMTlzM09D?=
 =?utf-8?B?TXRKdm5TYlRDRnpjRC9nNnBsdFdGQkxtdlFJVWp4andqeCs3UEpSVHY4a251?=
 =?utf-8?B?bVdFMVpTa2Q5NkVaMjNsTThxaEx3SXNqNWFlbGNSNVMzd08wc2R6d295N0FV?=
 =?utf-8?B?UXY5ZWR2cU16M1dMYnNnQlZFeU43Y3FmR203QkZ4NWt3T0lBMjlNYnhpUGFN?=
 =?utf-8?B?WmgvQy9MUERZZVd4ejUxcm9SSnVjd242Sy9zM0NKMFRiTmhVZFU0V1RQamJ6?=
 =?utf-8?B?TFpxN1lDTThLajJuNTFFRHZ1S3hzYzBjSGkwQytBVytCR21ZUE9vdDV3ZnVI?=
 =?utf-8?B?Um11QzdRclVMb0YvT1N0ODhoUEFaTWJaTXhibWVXNUdGQXlidTB4RHJpQTdx?=
 =?utf-8?B?SU5heER0TUwycmc0YXM1dmdTcS9tZEJHb1VJL0JBK204cGZTcUlwN2ZBQ2tS?=
 =?utf-8?B?Ty9UQi9XN01qQUpKYkYreEdZSlJuN2lpTmQwMlJEaEhGZ2xVSGpDRUNOWjVa?=
 =?utf-8?B?OWVHRkJUZVBvWlh4RnRBazVpOEZDV3JVbXlDeDl2T2pzN0lKYWdYODdjZGdZ?=
 =?utf-8?B?K20rdXA1OWRENVNUN3RtVGNkcWh5Yk8zQ2RrZkdUL2NGN3pmdFhpdTFqbExx?=
 =?utf-8?B?ZmQyT2pKV3N6UWU2enErNjZONmwxVWdmcmpETFpvb2wyYWFxWjV2MFV1VzEr?=
 =?utf-8?B?SFFGWTRFbnEzcWRBZnBXRlFyeWtUZmN5bzVkaTdDVmN4MkN4dG1YQzFUNi8v?=
 =?utf-8?B?NnQyd1VybW52T0puaVorYTB1MnMycTVLYW9MRDZMT0pzZ0tDVTdYMnRLSVA1?=
 =?utf-8?B?cVdCOWE2dGMxaUpJSXowWkg2cHZVZDZJWVA2Q1JnenZzcWN1WXg5MG96K2FN?=
 =?utf-8?B?UUlUdWZDZTFZVnVzWWkrYWhLZkhFdWx5QllCcC9Beld4NDVzWERpNkRHVVdu?=
 =?utf-8?B?TUs1TFZ0NDNaeEpCb1RBWHdxQ0l5N0h6WktYTE4wMHNDVDNnV1hvZXUyenpQ?=
 =?utf-8?B?KzJkUytBWEVYaHp0OVRtWkoyVzFuT1BxaHRmRjVYelJnTkZBZ241Z1BvMFNx?=
 =?utf-8?B?NzloQXVuWlpDaWNNdVlwWDYrK1hjSWxVbS9wU2tSUVA5UkVYeW9lbzVHUEl2?=
 =?utf-8?B?eWpldFdmTnhNWkl0WE9MTXcxSFBuVEZiVm1EdHRnVUJhaHJlN2xkYUUrdU15?=
 =?utf-8?B?NHR4ek0zekgzTndRMHFURjZrWVdtNEhsOFhTYlF6ZWszdlk4am53ZzloWHN4?=
 =?utf-8?Q?ujrxERigMX5oomLhvp9qCia/SQ2PcA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026)(4053099003);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2025 17:58:19.6500
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93e558f1-a3a3-474b-590e-08dd5da1a524
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002324.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4453

--------------UjfTwq5u02D0WqrgKI9HLqjz
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit

On 2025-03-07 04:01, Julien Grall wrote:
> Hi,
> 
> On 06/03/2025 22:03, Jason Andryuk wrote:
>> Add capabilities property to dom0less to allow building a
>> disaggregated system.
>>
>> Introduce bootfdt.h to contain these constants.
>>
>> When using the hardware or xenstore capabilities, adjust the grant and
>> event channel limits similar to dom0.
>  > > Also for the hardware domain, set directmap and iommu.Â  This brings 
> its
>> configuration in line with a dom0.
> 
> Looking the device tree bindings, a user would be allowed to disable 
> "passthrough" or even "directmap". This means, we would never be able to 
> disable "directmap" for the hardware domain in the future with the 
> existing property (this is to avoid break backwards compatibility).
> 
> Instead, I think we should check what the user provided and confirm this 
> is matching our expectation for an hardware domain.
 >
> That said, I am not entirely sure why we should force directmap for the 
> HW domain. We are starting from a clean slate, so I think it would be 
> better to have by default no directmap and imposing the presence of an 
> IOMMU in the system.

Ok, it seems like directmap is not necessary.  It was helpful early on 
to get things booting, but I think it's no longer necessary after 
factoring out construct_hwdom().

What exactly do you mean by imposing with respect to the iommu?  Require 
one, or mirror the dom0 code and set it for the hwdom?

     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;

> Lastly, can you provide an example of what the hardware domain DT node 
> would looke like?

I've attached a dump of /sys/firmware/fdt from hwdom.  (This is direct 
mapped).

>> --- a/xen/arch/arm/dom0less-build.c
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -12,6 +12,7 @@
>> Â  #include <xen/sizes.h>
>> Â  #include <xen/vmap.h>
>> +#include <public/bootfdt.h>
>> Â  #include <public/io/xs_wire.h>
>> Â  #include <asm/arm64/sve.h>
>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>> Â Â Â Â Â Â Â Â Â  if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("No more domain IDs available\n");
>> +Â Â Â Â Â Â Â  if ( dt_property_read_u32(node, "capabilities", &val) )
>> +Â Â Â Â Â Â Â  {
>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & ~DOMAIN_CAPS_MASK )
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Invalid capabilities (%"PRIx32")\n", val);
>> +
>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_CONTROL )
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  flags |= CDF_privileged;
>> +
>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_HARDWARE )
>> +Â Â Â Â Â Â Â Â Â Â Â  {
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( hardware_domain )
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Only 1 hardware domain can be specified! 
>> (%pd)\n",
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hardware_domain);
>> +
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_grant_frames = gnttab_dom0_frames();
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_evtchn_port = -1;
> 
> What about d_cfg.arch.nr_spis? Are we expecting the user to pass "nr_spis"?

Further down, when nr_spis isn't specified in the DT, it defaults to:
     d_cfg.arch.nr_spis = gic_number_lines() - 32;

Dom0 does:
     /*
      * Xen vGIC supports a maximum of 992 interrupt lines.
      * 32 are substracted to cover local IRQs.
      */
     dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) 
- 32;
     if ( gic_number_lines() > 992 )
         printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");

So I think it's fine as-is?  I could add the min() and warning if you 
think it's necessary.

Regards,
Jason
--------------UjfTwq5u02D0WqrgKI9HLqjz
Content-Type: text/plain; charset="UTF-8"; name="hwdom-dts"
Content-Disposition: attachment; filename="hwdom-dts"
Content-Transfer-Encoding: base64

L2R0cy12MS87CgovIHsKCWludGVycnVwdC1wYXJlbnQgPSA8MHg4MDA1PjsKCWRtYS1jb2hl
cmVudDsKCW1vZGVsID0gImxpbnV4LGR1bW15LXZpcnQiOwoJI3NpemUtY2VsbHMgPSA8MHgw
Mj47CgkjYWRkcmVzcy1jZWxscyA9IDwweDAyPjsKCWNvbXBhdGlibGUgPSAibGludXgsZHVt
bXktdmlydCI7CgoJcGxhdGZvcm0tYnVzQGMwMDAwMDAgewoJCWludGVycnVwdC1wYXJlbnQg
PSA8MHg4MDA1PjsKCQlyYW5nZXMgPSA8MHgwMCAweDAwIDB4YzAwMDAwMCAweDIwMDAwMDA+
OwoJCSNhZGRyZXNzLWNlbGxzID0gPDB4MDE+OwoJCSNzaXplLWNlbGxzID0gPDB4MDE+OwoJ
CWNvbXBhdGlibGUgPSAicWVtdSxwbGF0Zm9ybSIsICJzaW1wbGUtYnVzIjsKCX07CgoJZnct
Y2ZnQDkwMjAwMDAgewoJCWRtYS1jb2hlcmVudDsKCQlyZWcgPSA8MHgwMCAweDkwMjAwMDAg
MHgwMCAweDE4PjsKCQljb21wYXRpYmxlID0gInFlbXUsZnctY2ZnLW1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAwMDAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MTAgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAwMDAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAwMjAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MTEgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAwMjAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAwNDAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MTIgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAw
NDAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAwNjAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MTMgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAwNjAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAwODAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MTQgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAwODAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAwYTAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MTUgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAw
YTAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAwYzAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MTYgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAwYzAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAwZTAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MTcgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAwZTAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAxMDAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MTggMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAx
MDAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAxMjAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MTkgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAxMjAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAxNDAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MWEgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAxNDAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAxNjAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MWIgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAx
NjAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAxODAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MWMgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAxODAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAxYTAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MWQgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAxYTAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAxYzAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MWUgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAx
YzAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAxZTAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MWYgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAxZTAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAyMDAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MjAgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAyMDAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAyMjAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MjEgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAy
MjAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAyNDAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MjIgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAyNDAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAyNjAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MjMgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAyNjAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAyODAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MjQgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAy
ODAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAyYTAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MjUgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAyYTAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAyYzAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MjYgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAyYzAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAyZTAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MjcgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAy
ZTAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAzMDAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MjggMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAzMDAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAzMjAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MjkgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAzMjAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAzNDAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MmEgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAz
NDAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAzNjAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MmIgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAzNjAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAzODAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MmMgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAzODAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAzYTAwIHsKCQlkbWEtY29oZXJlbnQ7
CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MmQgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAz
YTAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2
aXJ0aW9fbW1pb0BhMDAzYzAwIHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDww
eDAwIDB4MmUgMHgwMT47CgkJcmVnID0gPDB4MDAgMHhhMDAzYzAwIDB4MDAgMHgyMDA+OwoJ
CWNvbXBhdGlibGUgPSAidmlydGlvLG1taW8iOwoJfTsKCgl2aXJ0aW9fbW1pb0BhMDAzZTAw
IHsKCQlkbWEtY29oZXJlbnQ7CgkJaW50ZXJydXB0cyA9IDwweDAwIDB4MmYgMHgwMT47CgkJ
cmVnID0gPDB4MDAgMHhhMDAzZTAwIDB4MDAgMHgyMDA+OwoJCWNvbXBhdGlibGUgPSAidmly
dGlvLG1taW8iOwoJfTsKCglncGlvLWtleXMgewoJCWNvbXBhdGlibGUgPSAiZ3Bpby1rZXlz
IjsKCgkJcG93ZXJvZmYgewoJCQlncGlvcyA9IDwweDgwMDcgMHgwMyAweDAwPjsKCQkJbGlu
dXgsY29kZSA9IDwweDc0PjsKCQkJbGFiZWwgPSAiR1BJTyBLZXkgUG93ZXJvZmYiOwoJCX07
Cgl9OwoKCXBsMDYxQDkwMzAwMDAgewoJCXBoYW5kbGUgPSA8MHg4MDA3PjsKCQljbG9jay1u
YW1lcyA9ICJhcGJfcGNsayI7CgkJY2xvY2tzID0gPDB4ODAwMD47CgkJaW50ZXJydXB0cyA9
IDwweDAwIDB4MDcgMHgwND47CgkJZ3Bpby1jb250cm9sbGVyOwoJCSNncGlvLWNlbGxzID0g
PDB4MDI+OwoJCWNvbXBhdGlibGUgPSAiYXJtLHBsMDYxIiwgImFybSxwcmltZWNlbGwiOwoJ
CXJlZyA9IDwweDAwIDB4OTAzMDAwMCAweDAwIDB4MTAwMD47CgkJc3RhdHVzID0gImRpc2Fi
bGVkIjsKCX07CgoJcGNpZUAxMDAwMDAwMCB7CgkJaW50ZXJydXB0LW1hcC1tYXNrID0gPDB4
MTgwMCAweDAwIDB4MDAgMHgwNz47CgkJaW50ZXJydXB0LW1hcCA9IDwweDAwIDB4MDAgMHgw
MCAweDAxIDB4ODAwNSAweDAwIDB4MDAgMHgwMCAweDAzIDB4MDQgMHgwMCAweDAwIDB4MDAg
MHgwMiAweDgwMDUgMHgwMCAweDAwIDB4MDAgMHgwNCAweDA0IDB4MDAgMHgwMCAweDAwIDB4
MDMgMHg4MDA1IDB4MDAgMHgwMCAweDAwIDB4MDUgMHgwNCAweDAwIDB4MDAgMHgwMCAweDA0
IDB4ODAwNSAweDAwIDB4MDAgMHgwMCAweDA2IDB4MDQgMHg4MDAgMHgwMCAweDAwIDB4MDEg
MHg4MDA1IDB4MDAgMHgwMCAweDAwIDB4MDQgMHgwNCAweDgwMCAweDAwIDB4MDAgMHgwMiAw
eDgwMDUgMHgwMCAweDAwIDB4MDAgMHgwNSAweDA0IDB4ODAwIDB4MDAgMHgwMCAweDAzIDB4
ODAwNSAweDAwIDB4MDAgMHgwMCAweDA2IDB4MDQgMHg4MDAgMHgwMCAweDAwIDB4MDQgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDMgMHgwNCAweDEwMDAgMHgwMCAweDAwIDB4MDEgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDUgMHgwNCAweDEwMDAgMHgwMCAweDAwIDB4MDIgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDYgMHgwNCAweDEwMDAgMHgwMCAweDAwIDB4MDMgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDMgMHgwNCAweDEwMDAgMHgwMCAweDAwIDB4MDQgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDQgMHgwNCAweDE4MDAgMHgwMCAweDAwIDB4MDEgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDYgMHgwNCAweDE4MDAgMHgwMCAweDAwIDB4MDIgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDMgMHgwNCAweDE4MDAgMHgwMCAweDAwIDB4MDMgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDQgMHgwNCAweDE4MDAgMHgwMCAweDAwIDB4MDQgMHg4
MDA1IDB4MDAgMHgwMCAweDAwIDB4MDUgMHgwND47CgkJI2ludGVycnVwdC1jZWxscyA9IDww
eDAxPjsKCQlyYW5nZXMgPSA8MHgxMDAwMDAwIDB4MDAgMHgwMCAweDAwIDB4M2VmZjAwMDAg
MHgwMCAweDEwMDAwIDB4MjAwMDAwMCAweDAwIDB4MTAwMDAwMDAgMHgwMCAweDEwMDAwMDAw
IDB4MDAgMHgyZWZmMDAwMCAweDMwMDAwMDAgMHg4MCAweDAwIDB4ODAgMHgwMCAweDgwIDB4
MDA+OwoJCXJlZyA9IDwweDQwIDB4MTAwMDAwMDAgMHgwMCAweDEwMDAwMDAwPjsKCQltc2kt
bWFwID0gPDB4MDAgMHg4MDA2IDB4MDAgMHgxMDAwMD47CgkJZG1hLWNvaGVyZW50OwoJCWJ1
cy1yYW5nZSA9IDwweDAwIDB4ZmY+OwoJCWxpbnV4LHBjaS1kb21haW4gPSA8MHgwMD47CgkJ
I3NpemUtY2VsbHMgPSA8MHgwMj47CgkJI2FkZHJlc3MtY2VsbHMgPSA8MHgwMz47CgkJZGV2
aWNlX3R5cGUgPSAicGNpIjsKCQljb21wYXRpYmxlID0gInBjaS1ob3N0LWVjYW0tZ2VuZXJp
YyI7Cgl9OwoKCXBsMDMxQDkwMTAwMDAgewoJCWNsb2NrLW5hbWVzID0gImFwYl9wY2xrIjsK
CQljbG9ja3MgPSA8MHg4MDAwPjsKCQlpbnRlcnJ1cHRzID0gPDB4MDAgMHgwMiAweDA0PjsK
CQlyZWcgPSA8MHgwMCAweDkwMTAwMDAgMHgwMCAweDEwMDA+OwoJCWNvbXBhdGlibGUgPSAi
YXJtLHBsMDMxIiwgImFybSxwcmltZWNlbGwiOwoJfTsKCglpbnRjQDgwMDAwMDAgewoJCXBo
YW5kbGUgPSA8MHg4MDA1PjsKCQkjYWRkcmVzcy1jZWxscyA9IDwweDAyPjsKCQkjc2l6ZS1j
ZWxscyA9IDwweDAyPjsKCQkjaW50ZXJydXB0LWNlbGxzID0gPDB4MDM+OwoJCWludGVycnVw
dC1jb250cm9sbGVyOwoJCWNvbXBhdGlibGUgPSAiYXJtLGdpYy12MyI7CgkJI3JlZGlzdHJp
YnV0b3ItcmVnaW9ucyA9IDwweDAxPjsKCQlyZWcgPSA8MHgwMCAweDgwMDAwMDAgMHgwMCAw
eDEwMDAwIDB4MDAgMHg4MGEwMDAwIDB4MDAgMHhmNjAwMDA+OwoJfTsKCglmbGFzaEAwIHsK
CQliYW5rLXdpZHRoID0gPDB4MDQ+OwoJCXJlZyA9IDwweDAwIDB4MDAgMHgwMCAweDQwMDAw
MDAgMHgwMCAweDQwMDAwMDAgMHgwMCAweDQwMDAwMDA+OwoJCWNvbXBhdGlibGUgPSAiY2Zp
LWZsYXNoIjsKCX07CgoJdGltZXIgewoJCWNvbXBhdGlibGUgPSAiYXJtLGFybXY4LXRpbWVy
IjsKCQlpbnRlcnJ1cHRzID0gPDB4MDEgMHgwZCAweGYwOCAweDAxIDB4MGUgMHhmMDggMHgw
MSAweDBiIDB4ZjA4PjsKCQlpbnRlcnJ1cHQtcGFyZW50ID0gPDB4ODAwNT47Cgl9OwoKCWFw
Yi1wY2xrIHsKCQlwaGFuZGxlID0gPDB4ODAwMD47CgkJY2xvY2stb3V0cHV0LW5hbWVzID0g
ImNsazI0bWh6IjsKCQljbG9jay1mcmVxdWVuY3kgPSA8MHgxNmUzNjAwPjsKCQkjY2xvY2st
Y2VsbHMgPSA8MHgwMD47CgkJY29tcGF0aWJsZSA9ICJmaXhlZC1jbG9jayI7Cgl9OwoKCWFs
aWFzZXMgewoJCXNlcmlhbDAgPSAiL3BsMDExQDkwMDAwMDAiOwoJfTsKCgljaG9zZW4gewoJ
CXUtYm9vdCx2ZXJzaW9uID0gIjIwMjQuMTAiOwoJCSNzaXplLWNlbGxzID0gPDB4MDI+OwoJ
CSNhZGRyZXNzLWNlbGxzID0gPDB4MDI+OwoJCWthc2xyLXNlZWQgPSA8MHhjZmJkNmNmNCAw
eGFmMjMzODcwPjsKCQlib290YXJncyA9ICJjb25zb2xlPWh2YzAgY29uc29sZT10dHlBTUEw
IGVhcmx5Y29uPXhlbiBlYXJseXByaW50az14ZW4gY2xrX2lnbm9yZV91bnVzZWQiOwoJCWxp
bnV4LGluaXRyZC1zdGFydCA9IDwweDAwIDB4YzgyMDAwMDA+OwoJCWxpbnV4LGluaXRyZC1l
bmQgPSA8MHgwMCAweGNiZDJmYWVmPjsKCX07CgoJaHlwZXJ2aXNvciB7CgkJY29tcGF0aWJs
ZSA9ICJ4ZW4seGVuLTQuMjEiLCAieGVuLHhlbiI7CgkJcmVnID0gPDB4MDAgMHg0ZDIwMDAw
MCAweDAwIDB4NDAwMDAgMHgwMCAweDQwMDAwMDAwIDB4MDAgMHhkMDAwMDAwIDB4MDAgMHg0
ZDQwMDAwMCAweDAwIDB4NzJhMDAwMDAgMHgwMCAweGUwMDAwMDAwIDB4MDAgMHhmZTAwMDAw
IDB4MDAgMHhmODAwMDAwMCAweDAwIDB4MzI2MDAwMDAgMHgwMSAweDJmNDAwMDAwIDB4MDAg
MHgxMGEwMDAwMD47CgkJaW50ZXJydXB0cyA9IDwweDAxIDB4MDAgMHhmMDg+OwoJCWludGVy
cnVwdC1wYXJlbnQgPSA8MHg4MDA1PjsKCX07CgoJcHNjaSB7CgkJY29tcGF0aWJsZSA9ICJh
cm0scHNjaS0xLjAiLCAiYXJtLHBzY2ktMC4yIiwgImFybSxwc2NpIjsKCQltZXRob2QgPSAi
aHZjIjsKCQljcHVfb2ZmID0gPDB4MDE+OwoJCWNwdV9vbiA9IDwweDAyPjsKCX07CgoJY3B1
cyB7CgkJI2FkZHJlc3MtY2VsbHMgPSA8MHgwMT47CgkJI3NpemUtY2VsbHMgPSA8MHgwMD47
CgoJCWNwdUAwIHsKCQkJY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWE1NyI7CgkJCWRldmlj
ZV90eXBlID0gImNwdSI7CgkJCXJlZyA9IDwweDAwPjsKCQkJZW5hYmxlLW1ldGhvZCA9ICJw
c2NpIjsKCQl9OwoJfTsKCgltZW1vcnlAYzAwMDAwMDAgewoJCWRldmljZV90eXBlID0gIm1l
bW9yeSI7CgkJcmVnID0gPDB4MDAgMHhjMDAwMDAwMCAweDAwIDB4MjAwMDAwMDAgMHgwMCAw
eGYwMDAwMDAwIDB4MDAgMHg4MDAwMDAwIDB4MDEgMHgyYTgwMDAwMCAweDAwIDB4MzgwMDAw
MCAweDAxIDB4MmYwMDAwMDAgMHgwMCAweDQwMDAwMD47Cgl9Owp9Owo=

--------------UjfTwq5u02D0WqrgKI9HLqjz--


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 18:11:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 18:11:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905283.1313154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqcAk-0002ou-65; Fri, 07 Mar 2025 18:11:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905283.1313154; Fri, 07 Mar 2025 18:11: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 1tqcAk-0002on-24; Fri, 07 Mar 2025 18:11:46 +0000
Received: by outflank-mailman (input) for mailman id 905283;
 Fri, 07 Mar 2025 18:11:44 +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 1tqcAi-0002oh-97
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 18:11:44 +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 1tqcAh-0075lk-2C;
 Fri, 07 Mar 2025 18:11:43 +0000
Received: from [15.248.2.28] (helo=[10.24.67.32])
 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 1tqcAh-00CyIl-03;
 Fri, 07 Mar 2025 18:11: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>
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=BxL7dRHtzAZD81NyXHeVYChdlRwPDdaJmPSajOIJjI4=; b=OPIgHW+9pLLhmoaQgH8Bi/GU13
	rjxJHvyJPScVC8YH3PX40M1Uuf+nqPV1d2EqsC6Ld8Ll4I9YeD6Sf3B9X1pV+T6OdlPzm4fXc/FS2
	DdVB5WHYpkTBvb+2ca6QQkAy1JAmpVjLE8W6sMWSoZvLcpkH0AK8bvermwX3WxbWNGmc=;
Message-ID: <66a04219-ed4d-4959-9d44-43a38955471d@xen.org>
Date: Fri, 7 Mar 2025 18:11:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
Content-Language: en-GB
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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/03/2025 17:54, Andrew Cooper wrote:
> GCC 4.1.2 is from 2007, and Binutils 2.16 is a similar vintage.  Clang 3.5 is
> from 2014.  Supporting toolchains this old is a massive development and
> testing burden.
> 
> Set a minimum baseline of GCC 5.1 across the board, along with Binutils 2.25
> which is the same age.  These were chosen *3 years ago* as Linux's minimum
> requirements because even back then, they were ubiquitous in distros.  Choose
> Clang/LLVM 11 as a baseline for similar reasons; the Linux commit making this
> change two years ago cites a laudry list of code generation bugs.
> 
> This will allow us to retire a lot of compatiblity logic, and start using new
> features previously unavailable because of no viable compatibility option.
> 
> Merge the ARM 32bit and 64bit sections now they're the same.
> 
> 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 Fri Mar 07 18:22:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 18:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905294.1313163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqcLJ-0004lh-3D; Fri, 07 Mar 2025 18:22:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905294.1313163; Fri, 07 Mar 2025 18:22: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 1tqcLJ-0004la-0c; Fri, 07 Mar 2025 18:22:41 +0000
Received: by outflank-mailman (input) for mailman id 905294;
 Fri, 07 Mar 2025 18:22: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=siCl=V2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1tqcLH-0004lU-A9
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 18:22:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 258ccfc0-fb81-11ef-9ab7-95dc52dad729;
 Fri, 07 Mar 2025 19:22:37 +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 8E9BA4EF40C8;
 Fri,  7 Mar 2025 19:22:35 +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: 258ccfc0-fb81-11ef-9ab7-95dc52dad729
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=1741371756;
	b=UN0U9/VsPmFBbaXcHoqfkajsooPKYZdiatLuuOoEMiZHz77SowIz4zMDucZkZwYmSCCY
	 tRU1BwHFyxsUeiY9Md8VWjHyWz7eI3JcdM55JE9aY0uvgZmv2uHvK7YaOmvznmfwymCP6
	 XIiCevRUjdJ5yGPiSS/YresV9VUjqOVxoqUB55ieizd3XfCdTeet79nrcNGUqglNrkYqy
	 Vz8yDsIfKlsYQZLdDH4cgtMIRbVL9Js8JAFCE/fNjlXSb41bHmZFLVVA+6JZduNPlSfhu
	 lmYtl0oNmpyVLSjkkLQfRrILzNLHRYsH8Oq5SHYKlV4NGWSQXvKO8zVVkeLtKvqq9qmvP
	 zEpC34f+nLhm5yVLjMQtp7vz2LmmXzPT8+jLTgvebMsD1X7XgrZlWKAThcQACeAifG+p0
	 CD1h1FvBqE7CzRbs5wYXRp+ttP+njUFQJuaaiU3W5HNJGVeaSJD8etKdpfyYhmzs1hT4s
	 wqZDvvF3jbbwvBggSATS04OU5sJAZlRm+5hiqm4WSJ+ffzrpqriysw/cwpttVVsS4Y1by
	 CibX0I/xq8yKvIJyMVrMjbhjDNnOfE/C3ZPAFeNalfXag/i2pgEIvzfa/ShuKElkV4Hza
	 FZx+Lf9wUfR15ez3jx5ocdWuQ4pEnuqe0fV9IR0dO/OMqQWODqLoxUGHtgo9B14=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1741371756;
	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=b2GpiO+14vGTaI+sXl5OewE+EwoYOP+PjCS9mx46WmM=;
	b=RN7BktBLsC4h2gpqKYc8IFAPypzWsdseFk0Lb+tY2KnL+tkgRNKZpiutUtJ2xhKxtfx9
	 svya63hi9x3/Ekk+xphCvf0RIFEgAkPiTZHQ7kdCNtoLqW4S7rh8SfCuZ+5fbEgnkG22/
	 S0U8fgfG14osSwHk7ixVPjHmBa8QBaIkrRkdHvO4wPA7GXbZPx4Dcd8SbOS85uHNcybaV
	 HSS6cmIZGFqNqNecTrZEBzzdlN4wVGv8eBfM7k9+Q4wVnosPCdG1gcKicgKuQ2SQbuEZe
	 642uY1EV8Gwh7HuA/EEJ2thjXmUIT9KrGNCb01be8P0OkX+6nthyb+cZKyWQRhkGlzd3P
	 VUtuixY+Eg79hP3f1lOwYhoMOTfqqzyD1RHnNtgG0j00S10WF21QUtQ2NNrMx+Whk6tE6
	 vyKjU4mm+d1WUKf/LmZh4RvBgrPxs2cpTmcXrDXxJ4ICIKVhfRCHrk3eURCCNljCcQLLe
	 //m4Jb/pB6DGrUcW2eIqVp6dyQ8NvZpKdoOkyqOqTIJADyZzSWjJ9ZQ3dQptbyQ2PaaeU
	 L3TAFPOPt5O3z060y1dGCMvAbYY6XnYvpNM7ebOCtzDAmQkbP1+HyxPDVJdH2VvUXBsRh
	 aPNHzhaKYb6kIpzTfCWbov0W96jIuB6X2o6fvF+kMhfpwUxu7umpLylWzGYkkCY=
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=1741371756; bh=aQQY3+cXN6ISLYuje5/6IuhvooYeUUIJpTd37yYoCiU=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=TEq5ODP25vx93C6AhRJFuUwmMWoOxtTx27MyonKWzcBS/cFWu/89Y+kgi9FT6vpfP
	 tuXea49nhU9KdWvSJw+aTWZiBNrvRA2HZfi9Sb8VUT/Atx2PN1Jj6BGS56bgxp/sPX
	 VOQqLNPKJJR/q0LWFAGyKGcLgXGLa0tuoFoNOXiusizTJ5MiWhqpusazL1z0yP6773
	 4aAasR1QAKNPONxkDwQ4U0YFbGQX9FEf01QvgLzj6trgsU/9hRMDGqty7Kv89r3DYC
	 i0raFgspCCO9sgk/bV6yNcS+q+amo5YXLg0far+VV+Ugbo/cFuX+RP/LI0x4weUodH
	 QzI0kX0Ug+91Q==
MIME-Version: 1.0
Date: Fri, 07 Mar 2025 19:22:35 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
In-Reply-To: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
References: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
Message-ID: <2aaa6042ec9f6220e6229878a13a714b@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-03-07 18:54, Andrew Cooper wrote:
> GCC 4.1.2 is from 2007, and Binutils 2.16 is a similar vintage.  Clang 
> 3.5 is
> from 2014.  Supporting toolchains this old is a massive development and
> testing burden.
> 
> Set a minimum baseline of GCC 5.1 across the board, along with Binutils 
> 2.25
> which is the same age.  These were chosen *3 years ago* as Linux's 
> minimum
> requirements because even back then, they were ubiquitous in distros.  
> Choose
> Clang/LLVM 11 as a baseline for similar reasons; the Linux commit 
> making this
> change two years ago cites a laudry list of code generation bugs.
> 
> This will allow us to retire a lot of compatiblity logic, and start 
> using new
> features previously unavailable because of no viable compatibility 
> option.
> 
> Merge the ARM 32bit and 64bit sections now they're the same.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> PPC doesn't have a minimum set stated yet, but CI tests GCC 10 from 
> Debian 11.
> 
> This will require dropping some containers from CI.  CentOS 7 notably.
> 
> In terms of specific new features, I'm interested in:
> 
>  * __has_include() to remove the asm-generic makefile tangle
>  * asm goto (), to remove .fixup and code generation for error 
> handling.
> 
> and these too, but will require MISRA adjustments:
> 
>  * _Generic() to make properly const-preserving wrappers

Perhaps stating something that is already well-known, but this 
effectively means moving from MISRA C:2012 Amendment 2 as a target to, 
at least, MISRA C:2012 Amendment 3, as that version contains rules in 
series 23 for _Generic.

>  * Updating our -std to gnu11, which drops further compatibility logic
> 
> When the arguments die down, I'll add a hunk to CHANGELOG.md as this is 
> very
> significant.
> ---
>  README | 13 +++++--------
>  1 file changed, 5 insertions(+), 8 deletions(-)
> 
> diff --git a/README b/README
> index 9d9c6fc324c6..be90be3910d4 100644
> --- a/README
> +++ b/README
> @@ -38,16 +38,13 @@ provided by your OS distributor:
>      * GNU Make v3.80 or later
>      * C compiler and linker:
>        - For x86:
> -        - GCC 4.1.2_20070115 or later
> -        - GNU Binutils 2.16.91.0.5 or later
> +        - GCC 5.1 or later
> +        - GNU Binutils 2.25 or later
>          or
> -        - Clang/LLVM 3.5 or later
> -      - For ARM 32-bit:
> -        - GCC 4.9 or later
> -        - GNU Binutils 2.24 or later
> -      - For ARM 64-bit:
> +        - Clang/LLVM 11 or later
> +      - For ARM:
>          - GCC 5.1 or later
> -        - GNU Binutils 2.24 or later
> +        - GNU Binutils 2.25 or later
>        - For RISC-V 64-bit:
>          - GCC 12.2 or later
>          - GNU Binutils 2.39 or later
> 
> base-commit: ac29d63a0fa6a3ed98ecf86f95995811c301308f

-- 
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 Mar 07 18:30:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 18:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905304.1313173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqcSx-0006JZ-Q5; Fri, 07 Mar 2025 18:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905304.1313173; Fri, 07 Mar 2025 18: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 1tqcSx-0006JS-NY; Fri, 07 Mar 2025 18:30:35 +0000
Received: by outflank-mailman (input) for mailman id 905304;
 Fri, 07 Mar 2025 18: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=ZxnO=V2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tqcSw-0006JM-Fd
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 18:30:34 +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 41564870-fb82-11ef-9ab7-95dc52dad729;
 Fri, 07 Mar 2025 19:30:33 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-38dcac27bcbso2275537f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 10:30:33 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd947544sm58169745e9.35.2025.03.07.10.30.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 10:30:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41564870-fb82-11ef-9ab7-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741372233; x=1741977033; 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=ZgM6E48Rp8uSANZFV+oWiH5GSE6BZDIqr4f0J7ZKj+4=;
        b=YjBor4rahmF7eBlqFRszWcpbwsq9cB3iLXdVQ4fqLSzthJ8OkFYXDeLeV0jInVAgn/
         FT7Oelot25RUxCK4yy0Jq4r0HQ60uoXTQTLpPqaVCkmb1NVEV98eaLIrm+dVQgtLaIFS
         nf4swhEFYASizlVJpg/zTxCb6lIw2FCYsAeV8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741372233; x=1741977033;
        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=ZgM6E48Rp8uSANZFV+oWiH5GSE6BZDIqr4f0J7ZKj+4=;
        b=bcVVSEZ8/VSBxEOWlxPqtaVALhKP5ruMNhuQGV04uILJr9Ahj7ZDdOGEltUho7XaWh
         BkWhjbW3hpa5flUbZpM9MYhMFNrN8QMyijocCrVFGlQr36vfzPrEtHFakttGezFtqilG
         G43ilC7z1ryHEAkyKGf/N6rfOqky9CMsxwLMNK8kK7TyF3LELOG8njL76P88Zk4NCSLs
         azwEwJIWcn0xzirXanPHm4kTLQ2rj1VwMdfb8pBgNe9ndDd2YdplmPe5QGBNM5SL7BmO
         b3WKSoHjgOBWtv+nHg1epAdWOSrF4VJNA9qQGdkAImUsvgil9A3TibnGQp2lIozr2wKS
         DvKQ==
X-Gm-Message-State: AOJu0YxaeqJvHDQdLb3PxqiKEusK0wf743PDwADqofeYZvVqUxC32qS4
	oy9ersVQwaZ0ubcIvzF+FJpUKqdjQkjN6XoBGZuUJhSAzeuXnYuOmSWO1QEqnZg=
X-Gm-Gg: ASbGncsR9ygwZn/Ae+yg15f+/3cZvvLnSgb0P/hJ0kzBucZEoebF6m1AqAm7Lpnnu7e
	KJBO7v5d9wnkZlphHJzwP7ev1Og2ZMBALlePpF7hg5eUYf28r3v4QMwQBJOjQMvPGBZULJ70F2O
	rbWlPVlLRQ8Dm2s22UnmDQdF3FZ8iMuAVnNTvBHFDMKsa6zLui4KVPPJaLM1zGZOMhC7wS8mGdW
	BPQRbwS0KY2G5B5/qXLF2sSBk1or21NHxwlomikeqbPiraIeQHGU1heK9AeVYEtX3IIMW+VTpmq
	woAah7wK0n9y3ccO9AFraukBSd1uPWWOXERRCHqvq+hn3ZYFKqAKNa2gvb7WerDh+bv1cHZJbOu
	6h/UlJ6dJ
X-Google-Smtp-Source: AGHT+IGm9Jse6osgnBI8ZEo56+3E+IM7PSQY7Me/nA3pltTYnJG3o4x3o0CTdg6870eHR4u9akEhgg==
X-Received: by 2002:a5d:47cb:0:b0:390:df83:1f22 with SMTP id ffacd0b85a97d-3913af390a9mr536004f8f.25.1741372232744;
        Fri, 07 Mar 2025 10:30:32 -0800 (PST)
Message-ID: <307ce623-9cb1-4dc1-beb9-abd78fc1f61d@citrix.com>
Date: Fri, 7 Mar 2025 18:30:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Xen-devel <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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
 <2aaa6042ec9f6220e6229878a13a714b@bugseng.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: <2aaa6042ec9f6220e6229878a13a714b@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/03/2025 6:22 pm, Nicola Vetrini wrote:
> On 2025-03-07 18:54, Andrew Cooper wrote:
>> and these too, but will require MISRA adjustments:
>>
>> Â * _Generic() to make properly const-preserving wrappers
>
> Perhaps stating something that is already well-known, but this
> effectively means moving from MISRA C:2012 Amendment 2 as a target to,
> at least, MISRA C:2012 Amendment 3, as that version contains rules in
> series 23 for _Generic.

Yes, I was expecting something along these lines.Â  It's also why I don't
suggest we start using it immediately.Â  (There's *loads* of non-MISRA
related work to do when these changes get accepted.)


Part of the justification for doing the MISRA work upstream was so it
could stay "clean" on an ongoing basis.Â  The corollary to this is that
our choice of MISRA standard needs to adapt as upstream Xen changes.


Do you have any insight on how disruptive this would be?Â  I presume it's
not as simple as running sed over our docs and Eclair config, but I also
don't imagine it's a giant task either.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 18:35:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 18:35:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905314.1313184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqcXK-0006uB-C0; Fri, 07 Mar 2025 18:35:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905314.1313184; Fri, 07 Mar 2025 18:35: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 1tqcXK-0006u4-8E; Fri, 07 Mar 2025 18:35:06 +0000
Received: by outflank-mailman (input) for mailman id 905314;
 Fri, 07 Mar 2025 18:35: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqcXJ-0006ty-9U
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 18:35:05 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20625.outbound.protection.outlook.com
 [2a01:111:f403:2414::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e14d9284-fb82-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 19:35:02 +0100 (CET)
Received: from SJ0PR03CA0185.namprd03.prod.outlook.com (2603:10b6:a03:2ef::10)
 by SA1PR12MB9491.namprd12.prod.outlook.com (2603:10b6:806:458::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Fri, 7 Mar
 2025 18:34:57 +0000
Received: from MWH0EPF000971E2.namprd02.prod.outlook.com
 (2603:10b6:a03:2ef:cafe::7c) by SJ0PR03CA0185.outlook.office365.com
 (2603:10b6:a03:2ef::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Fri,
 7 Mar 2025 18:34:57 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MWH0EPF000971E2.mail.protection.outlook.com (10.167.243.69) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 18:34:56 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Mar
 2025 12:34:23 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 12:34:22 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e14d9284-fb82-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rI2oEv8RBh0otq4G24T0b8FxU73iTNf4ySzJfGAg3XTCaU4A3t9FlLt6IehN7b1btc3BxYVt+88xubT+vwuDGrcEgV2GPUbant4HJeiC7YfvtDD/q2OaltJ9YXOepC/YSYLXe7L9pO5GKO4+XCgWUj/RAGLvfDGFKBwEfFI6vqFq00n9o4PVp/qqI7Bd78ANMIFfif28+3zjnXun9G8vJmTBb7kjyx/YRsRJ7ZIKshUPZv3yk6PiwxvtaOC696fnqFTh24aGsTDXduvi4PKYyLdnRFB10FqjNrkma0JGY22iS9Qm5gZQyZu9KrdZASP0sQDnVo72Z6Z4mnUK37VXqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=seKkujC0nE67B6XURNIfxyizCZTe4rYHhb47ttCs0mo=;
 b=lanpnsP8EQ6f/Tbi/ABW4ck3x1rZOfBjicesZNm5lbjZmBNPybITAv91i/UTLA7sxjsR6e0UVYbWNwWBGUvPNV4J+t76igFjDno/zAzGnmNpoA/F3g5urfFykRLyKBpNOVassFmvFsThafjY1AzuaLu8vdylDJoaOSkXvJjKii0ezoo8M2C0zG4pNvtmubp7Ci+bc3+FcAANs/FQEtaJetKGTgbyQW6xDgJK9sdsa9Tv2ZLWVzCfDG32+JY2NPQyW4jZS9NPgCBLMjv8dXzkhC2vSXTRneB1j0RdgJ4OGq7q5L9Q9IO9j8SMpdGNsvKh/nF9lHusjaysXe0zagD/7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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=seKkujC0nE67B6XURNIfxyizCZTe4rYHhb47ttCs0mo=;
 b=CgtUy5Pg00EPZ26X+94z56HBcuatNOnEAV1gHJpfpoZyFB0S5ZPsrILlGLlPbRZYeWCWsrk2YJen5UcbOrea0JnrEYDdf+q/gRCD4RZ83kzLiUCX1XLzyecI++pwoNxC82+GGMJVczGQ6tVp0ilCDDOYUtw/unJL4rrm3QOkAW8=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <b5cf6ff9-2bf9-4060-8e30-774da4a87cff@amd.com>
Date: Fri, 7 Mar 2025 13:34:24 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.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_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
 <alpine.DEB.2.22.394.2503061744590.2600338@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2503061744590.2600338@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E2:EE_|SA1PR12MB9491:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d4e6f70-aa48-47c9-e719-08dd5da6c2c6
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?clYzZVdlcEwyNkJoWHFBSEx4SHBmaU5qblhNMEcyOHJUSFJYR0E4UFRqUXJ5?=
 =?utf-8?B?MWQ2RE94VEo2a3JVSGpRSnF2VStZbnF3Tjl0QTJwNmwyY1I0RzZoTEtkRWJV?=
 =?utf-8?B?eFQ2WEtOcFNORHVrTnArMTdIYSt6aEJLYkhKRWM5aUt3VmxPcFhmV2s1aXox?=
 =?utf-8?B?VFhWOU9KeHJYd2d1UCtTcEtrZVVNNkg0MUpwbGErT3RRWHRXR080cHh3V2R6?=
 =?utf-8?B?ZGJTWWZSc1MzRjlZMnJBdTlreTRTckNZdFpaWmdHMkl5a0FnTkk3TWN2bWho?=
 =?utf-8?B?T25aa1QvbnpMQzcxK2I4NHNkb2hZUnhYZURzN1JSSnhRditJYzhkaWtXN3Iv?=
 =?utf-8?B?a1VKK3Y0Y1RGbTRacTFoYmw5cUV2QjlqSXVQaUY1N2pHaVJGNXhpZU54Q3Ra?=
 =?utf-8?B?VW12T0tKYTBvVVpsVVRaNFMvcnNnRWY3MmNxSUNmWi9EZVJKbHlpVEJGSit0?=
 =?utf-8?B?eDJXdWZ5d3VFcnhyQm5Wanl6U1ZlZmgyb01BRDE3TXQ4QU83Kzdad1V3ZW1Y?=
 =?utf-8?B?U3FDd3RsMDR2dmNxLzJWcDh5NlNjejBRdlN0VnJNU2F0YkhqbFFSeDJCeGtN?=
 =?utf-8?B?WnlKbG15eVV5UVBoSkw5MUtTWHd4UDE3MmhGL2FXYVRGbzJacEFpQ2FEb2VD?=
 =?utf-8?B?M1pOUHljODQxRTg3OERuS3FyaXljTEREbTk0L1VQVmFkQWdrQXk4cXRSZEFh?=
 =?utf-8?B?eTViTGl2VDFRMU1VMjhFOVZXYkF6YU1waWFkY1hrb3QvdXgwaUQ4VEYzWnVF?=
 =?utf-8?B?UytKczRZanVCN1NuSk1aODdTSXpKOUZNQ3kzbHVZSUJBV0c1R1lkVzArak01?=
 =?utf-8?B?clp3cmFwTUpNVS9XZ2FDS0h5ZjdTdk1MYklabUFSWkdnd0tOOW5mN05uV3V3?=
 =?utf-8?B?MWZ4b2dDQTJyVUtjN1Y4K3JiZnNOaldhOXdwM2o0U1Z2bEpiT2xtVlRraDE5?=
 =?utf-8?B?UU1yUkEyRTB3TmdOQzRnOW9oMUFZUEdLUTViMHNsbFEveG5pYndHaHVhQWhx?=
 =?utf-8?B?UDRRWFVEZDN2aXdzM3VYdUpjY0hERFdGcS9TYkF3UE52OHB2YVE4bWlPeTY3?=
 =?utf-8?B?aUd6bFphSll0Sk5waXRMUUNxTVJQcVpLWTBzdlQxZWtNSUhtRHBBaWM5MkYw?=
 =?utf-8?B?QzdxR2tLVk5qSGkyaitVLzJ1MjdocXByemhFN25LK1hNSml4YXord3Z5VFQv?=
 =?utf-8?B?cGpIU1NRaUQ2ZkxNSXh1Q3IxVjRXdWNoeC9NZUJPeGZqaVd0aXJPSmQ4bTI3?=
 =?utf-8?B?WGdja2xwNkxybUNlazQ1Z1RRY3ZnWWc4Z0hlbWlZZFVrTVB1d2xhZVpVSTBX?=
 =?utf-8?B?cHYzVTZ3bmxybThNdDlNUnN1Z2ZISzFycSs4aGFrR2V4bCtGUXljOEtZT1JC?=
 =?utf-8?B?azdpSCs2eTY3NVQ3ZWlHZ0xxYnQxdW8rS2w0Qm5FY25sWU11bXZwTXpIL2FB?=
 =?utf-8?B?K2tLU2xWRzZVd3MwRFNxSyt2Rk1aM0hJbXhKTmZ5NEZDaTdLNmtXY3dJc1da?=
 =?utf-8?B?QVFkbFZJbkFrdnZxL0xKc3RMNEZaNkZQNUJkZ3JtUk4zYit2UXo2VERmRVhp?=
 =?utf-8?B?QXpHLzdvWHlvcmIrenB1enhydkhOUTlCZjhndEJnclRIM3hUWlh3NUg4MzlM?=
 =?utf-8?B?TUg3VFY5KzZCMjIwN2xVZS9KSUFUYys2dmFYRFdMZnR2cDZkNEdJQ0JIU1dC?=
 =?utf-8?B?VWIwUC9ZbVVvYUZmWWpDd0loSEZxa2Y2d2FkKzMvRi9FcVBwNzB5MTBqRXVa?=
 =?utf-8?B?OXE0dVN5RHlMVmRFamJvaFZXRE5aM2VVN0RVN0U0NkxyVkx1UUdKRVhwRndQ?=
 =?utf-8?B?NGdQR085ZWVBZ3VmVEJWbXg0T1JTTWhzek5TbTJjZ3FpTDV3WTdUQzJoMERn?=
 =?utf-8?B?dmZGQkNBV29UNzI5cFh1TlMvQmdCV1psYlZhVTRaT0NUNWhPSXByVVdnM0tz?=
 =?utf-8?B?eXUweXl3dDZXY0VQb0NrVUdYZE1uKzRyaFhYYmFmWk00cGlveGtDMlVXUzlZ?=
 =?utf-8?Q?SzWI77B6HsSVZwKLKpDDN7/Wb6C5BI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 18:34:56.8685
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d4e6f70-aa48-47c9-e719-08dd5da6c2c6
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000971E2.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9491

On 2025-03-06 20:47, Stefano Stabellini wrote:
> On Thu, 6 Mar 2025, Jason Andryuk wrote:
>> With a split hardware and control domain, the control domain may still
>> want and xenstore access.  Currently this relies on init-dom0less to
>> seed the grants.  This is problematic since we don't want hardware
>> domain to be able to map the control domain's resources.  Instead have
>> the hypervisor see the grant table entry.  The grant is then accessible
>> as normal.
>>
>> This is also useful with a xenstore stubdom to setup the xenbus page
>> much earlier.
> 
> Reading the patch, it seems that what is doing is letting the xenstore
> domain map the domU's grant table page. Is that correct?

The end result is everything is setup for xenstored to map 
GNTTAB_RESERVED_XENSTORE at some time later.

> If so, I would suggest to update the commit message as follows:
> 
> With split hardware/control/xenstore domains, the xenstore domain may
> still want to access other domains' xenstore page. Currently this relies
> on init-dom0less to seed the grants from Dom0.  This is problematic
> since we don't want the hardware domain to be able to map other domains'
> resources without their permission.  Instead have the hypervisor seed
> the grant table entry for every dom0less domain.  The grant is then
> accessible as normal.

I'll go with a tweaked version of yours:
xenstored maps other domains' xenstore pages.  Currently this relies
on init-dom0less or xl to seed the grants from Dom0.  With split 
hardware/control/xenstore domains, this is problematic since we don't 
want the hardware domain to be able to map other domains' resources 
without their permission.  Instead have the hypervisor seed the grant 
table entry for every dom0less domain.  The grant is then accessible as 
normal.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 18:36:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 18:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905326.1313194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqcYh-0007Te-Pt; Fri, 07 Mar 2025 18:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905326.1313194; Fri, 07 Mar 2025 18: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 1tqcYh-0007TX-Lw; Fri, 07 Mar 2025 18:36:31 +0000
Received: by outflank-mailman (input) for mailman id 905326;
 Fri, 07 Mar 2025 18:36: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqcYg-0007TN-Ry
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 18:36:30 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20618.outbound.protection.outlook.com
 [2a01:111:f403:2418::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 104bb1e0-fb83-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 19:36:20 +0100 (CET)
Received: from BY3PR03CA0013.namprd03.prod.outlook.com (2603:10b6:a03:39a::18)
 by SA1PR12MB7040.namprd12.prod.outlook.com (2603:10b6:806:24f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.22; Fri, 7 Mar
 2025 18:36:16 +0000
Received: from SJ5PEPF00000208.namprd05.prod.outlook.com
 (2603:10b6:a03:39a:cafe::aa) by BY3PR03CA0013.outlook.office365.com
 (2603:10b6:a03:39a::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.17 via Frontend Transport; Fri,
 7 Mar 2025 18:36:15 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 18:36:15 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Mar
 2025 12:36:13 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 7 Mar
 2025 12:36:13 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 12:36:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 104bb1e0-fb83-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=is8uSy0zNvmyO//9lEL/xeCb4uMK/2Q7qJZMoVXcSohLYc0JvvSPVecDAMojZeQzHD16Dpe2Nf9LKBXeOLZe9L2mK38eq1pi9dg5dh+RjyZaCI9GTeOr7+TzPtx9lbbK/ZpvCyqx5QTqCMshEv/DqYgCw9cLwlc/fXDGKjxdo8xrFUy5g2f8LA/c6JqGX6Ruvb3JjpZDHaHXjG82GHU5UrzeoaEcyYXwtFYLPoYhCI0znEOfzKBtxls09acPPD0mj7OOcf1tEiltH04qCbKxv/1dszeaCUXqBVrp9VycvU3sH4U79kOACkVVXsxXOKv9I96BN6Ypp94undUeAR1pbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b0q+rxR/oDa6kXpXFSCptbEN9+6EcP1t4CN77c4LBSA=;
 b=qoAzDsrpzIBq3DQIJFUMGvuCboIBoqrCQz9QAw5zgbkrKDF5+AFqwfw3kAAwbn4MBgKjCH+90SeTcUiEEi7Yk7Kqo3LIDIs08Os5eRy+CQ1hUHolAmEOnkiSzdj9nfodvTH0K+FSURFDF5iIyGkj8eq0hUF95URCvOkPmPzs8/lNuh9BLveuveyhSTaAAGenvQX4UfeVmJQxom9q8dBAuR29lge9TVhLjNdIk0C2b+JtJV30hB9MxaLAPi2wz9XXXY2gXELKbZLaR//CDzVZwmdhDYxTiL0EA+dOI2cnVDEsHhPM/GOHP+TsTwd0+/5GPoo+TNVPDyiMjHKq7HMA5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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=b0q+rxR/oDa6kXpXFSCptbEN9+6EcP1t4CN77c4LBSA=;
 b=PKCFddiKInDiqdZ9axEm7RdMugWjoNtSiDwh4F8veh4G0b+71/cs3sO5wlL7kR+pBRJ+kdYd+P3UhMBq9jUg+GfDRc1YtbWdCcX93dL4dVGrArmZwY9njd1LxmDc9abPl18zuBo1/0ZzH4TILu5/r5vIJeQb/EXdd6Oc0PFF7RY=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <0781c22a-36b8-45a8-b478-fc73405ea96b@amd.com>
Date: Fri, 7 Mar 2025 13:36:15 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 10/23] xen/arm: dom0less delay xenstore initialization
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-11-jason.andryuk@amd.com>
 <alpine.DEB.2.22.394.2503061758220.2600338@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2503061758220.2600338@ubuntu-linux-20-04-desktop>
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: SJ5PEPF00000208:EE_|SA1PR12MB7040:EE_
X-MS-Office365-Filtering-Correlation-Id: d14fc24d-8611-406a-1b87-08dd5da6f1aa
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?S0xLRitIMkg4Q1IwN05nME90UWVtc1FwVWNNL0h3M285MDc4ZTR0ZW53NGNq?=
 =?utf-8?B?cmFsS2dIN1pFZVN3YnlHWklwTUxxRzJYZjVhN1VKS21aT0Uwb2V0aDc4dzJB?=
 =?utf-8?B?YnozL2ZQb0piQkF5ZnZFV0pjdGJnb0Zobm53NWVEV2VCcHNKcW55cWszeXVa?=
 =?utf-8?B?MnJpVWlUS1BrQjlEOVdVbG1CL0Z6WFZXdWZ6bTRoRUVsZGxJUEsyYjMvc2xG?=
 =?utf-8?B?Ky9ZRXR0d09KUEtYemF1Y2hhNTZpOTRHbTR1QlppaUNDbFJ4ZHdSY05hblpo?=
 =?utf-8?B?L0xVcS90d3hRMzltc2p0RHIrNmVPM0VYSVNzWkFZRDRTa3llVVBWZ25Bck1n?=
 =?utf-8?B?NjVRQUhGRnlSYU9saVpxQ0xxOTdQN0xYWDZUSTRVZStlZkhWKytiN280eGRj?=
 =?utf-8?B?dy96bi9wWjE4UVpYd2d0NzVlL3ZtTUc2eXUxUFBiZERYMFNZWFR0Uzk2V3hN?=
 =?utf-8?B?VThrTEpsamVkVDVoYjZOY1RTNkVobXVxc1BOSEhvaVVRdFBwNEcrME1HNnJZ?=
 =?utf-8?B?UzRhVS8zSWEvQ1VlTmFBTVA2c3QyTnUzaVcxMmpwRTJsQjRqcUxVdjZzMVky?=
 =?utf-8?B?ODh0aW1meDM4b0RpNWhhZ0pwNDZZbG1zN3A3ZVJZd1B0TVRjNDBxMDJrYmcz?=
 =?utf-8?B?SWhjQmNkNnVxaDZwUStTcUV6TWRKSmpuUHVRV0RNaG8vcWhLSGhTcGd6TEsv?=
 =?utf-8?B?N1UyWktnRlFTcU40VFpVTGtMaTkwamZKbm9ZaytEWitKTzJpRldROVpadERZ?=
 =?utf-8?B?ZXd6aUYvY2xhclpKMU1RejZGaE1KM3lVcy9qZkNKYTNqZ3N6QkI3M0tBNEJL?=
 =?utf-8?B?Q1pWRzFJMGZBVlZkVFVpbTRiY0ErYWdSeG4vY3pFTnFTK2xBdTB1ZE52NXhm?=
 =?utf-8?B?V0JUVUgrSzNSeEozay9vK1I4UndSVkJmZ2Q2c2RtVlBVR1plNGlna1dWRlNV?=
 =?utf-8?B?d0t6V0R1cy96MlJOQ1BzRzhNQWJvZnlmYzVaSk1WV2V0a3Urc2hUWnBYcGtu?=
 =?utf-8?B?YTBKRWc1TC9CLyt5cWZTQkxkV1NpREw5cWNuWTF6Ly9Ia2xaOWp2czJXWldy?=
 =?utf-8?B?NmdyejhYRm9oYjVQL0xFeERRUmw3dUlZSCtRN2U0VWxHKzdIQk5IeEhmRkFT?=
 =?utf-8?B?YUsrN205TlE5U3lZc2ZZaFA0Qno1VEU4TzNyT25qemZ2cHN5QVBleEtyb2Fj?=
 =?utf-8?B?b1B3NFlsZTNqazlYa2ZBMS9GUmlZLzU1SG1pSXVEVUNqbDd3MGR6dFZQczNT?=
 =?utf-8?B?UVBDQlc2YTNXUDBrMkNoeFN3N3ZuMGE3UFJoUXlXbWZiUm9YZDY1c0Jpb1h3?=
 =?utf-8?B?d2ZyNndjd3ZrWnFEY0EyYVFwZ0EvREF0alEvR2c4SFdnUXl1ZVFXSkViaklo?=
 =?utf-8?B?eGt0U1o1Yml0ajVFOHR2OEJwNGdpK3hBVWJiVkdPRkhIREtpVllaRllNNDVQ?=
 =?utf-8?B?eE1MRWNXd080ZEFuYUlXaWE2RUdybDY1dDdVaGZVbFluakVQRFZSVWhpdSsv?=
 =?utf-8?B?Z2lqQXJabVpLZ0NvUThCd1diaVR6WFBmb2QzbDVnTW00Vkxmc0ZDd0F3NStD?=
 =?utf-8?B?enZlcTdLUWRpaHZLZURvQUl5VEM5WVFEV1pualM2WXVRVm43Q2lIQlFzQlpI?=
 =?utf-8?B?ejVTY1lIU29HQm9rTys0NmdkWmhTRGZqUnIxOC9Yb01FR05UUVlZZ2NvcHdY?=
 =?utf-8?B?Vi90Vmp6MEJZWktXRmNZUmwvUS9aVnZzbUQ4NFdlbWFzRHhUOExSV0RqdlRm?=
 =?utf-8?B?cmhFekhxTnlTTzlMOVdFME9xWnFRTnoxZHlCTEZmZXpLVW1mOTFmYm10V29P?=
 =?utf-8?B?dS9KbGRUWUVrVjVneVN6aGZPRFpvQWlxVDFJZFloOEptNzdRazdxSnBNU1JW?=
 =?utf-8?B?SjY4SmFYRUQ5Z1RzUVRoZzJMS3BQQnFMT3RVNXIyUHQ2aEtoVytmbktWaUxk?=
 =?utf-8?B?em11bWlGSDVrSGFkZFFNWTJUSFAvZDkrZXdmU1BNeVZjclQ4WUNCcEk0bXB4?=
 =?utf-8?Q?GpKDyoGRRFPza3nJ9MNOW2MXDbiZ2U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 07 Mar 2025 18:36:15.5171
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d14fc24d-8611-406a-1b87-08dd5da6f1aa
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=[SATLEXMB03.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: SA1PR12MB7040

On 2025-03-06 20:59, Stefano Stabellini wrote:
> On Thu, 6 Mar 2025, Jason Andryuk wrote:

>> @@ -697,7 +703,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
>>       int rc;
>>   
>>       alloc.dom = d->domain_id;
>> -    alloc.remote_dom = hardware_domain->domain_id;
>> +    alloc.remote_dom = xs_domid;

This...

>>       rc = evtchn_alloc_unbound(&alloc, 0);
>>       if ( rc )
>>       {

>> @@ -767,16 +769,10 @@ static int __init alloc_xenstore_params(struct kernel_info *kinfo)
>>       struct domain *d = kinfo->d;
>>       int rc = 0;
>>   
>> -    if ( kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
>> -    {
>> -        ASSERT(hardware_domain);
>> -        rc = alloc_xenstore_evtchn(d);
> 
> This patch looks correct. However, I don't understand why you didn't
> keep the call to alloc_xenstore_evtchn in alloc_xenstore_params.

alloc_xenstore_evtchn() needs to be delayed so that xs_domid is available.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 20:09:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 20:09:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905348.1313204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqe05-00005t-W5; Fri, 07 Mar 2025 20:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905348.1313204; Fri, 07 Mar 2025 20:08: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 1tqe05-00005m-SM; Fri, 07 Mar 2025 20:08:53 +0000
Received: by outflank-mailman (input) for mailman id 905348;
 Fri, 07 Mar 2025 20: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=siCl=V2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1tqe03-00005g-PO
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 20:08:52 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5eb0afd-fb8f-11ef-9898-31a8f345e629;
 Fri, 07 Mar 2025 21:08:39 +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 AF3FA4EF40C8;
 Fri,  7 Mar 2025 21:08:38 +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: f5eb0afd-fb8f-11ef-9898-31a8f345e629
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=1741378119;
	b=SOdJwn+IswVoQGeRAlQrOe2TIeOTAv9RDM1TY6RUSznvuEZnAuFQ7gbUVRUwiGXAT5nM
	 AMUfHt+LYka887/7yCvj5pygKk02YX+Ay3fzOOlCY1g8tYTS2ZP6dS/CpHaBdYBbGrubz
	 p8jvkMr24lZMvZnAbpfEpmEtrowyhqebRD1B3eB1Xr4YtjeHMgoiBOExc+hT7eBhAJqv8
	 X9e8mUbpZ776Skh+TJR15J1vD4Wmd3nQCNv/Ym/V69IGcxh5iyx8GX/Un//sofftj6tdI
	 nvqM+ZzpIRFMQlr/w4/+qfaxF7twN0HaFeSRzumb+Bc/BmdMm6LceRgtsUJ9kMBrvRn3O
	 EKafjx6F68ROl/nfOmqDj8NDHWdg8StfqrEJHMZHR0mZ99PsGSz5sArjp2/VEWRF5u3SI
	 D+djkIwkEgEpxGjA5JSWo+2CcsHiG8NKBUTK2xsmxxAgBtrDJj4UDA6uiiy+ZiGiMYBOT
	 azqNxmAmr8W8nKxWR9ZVHkrGT9V3IXN9sClldYbgijGl/uZUn3lUdJv5T/4rDRQTwSiza
	 bNM4x9SWuvV8PyXl+Kj+PZaFvGoB2xkaJIoTP2bdGw1cb2VK/nl8bJ4lWCFer/hWiKk2d
	 yKcw/CSATlzPh5jx++mgPmsAl5AqKSrBUuvFQAhezP1EI2ZshZJ2X0KC0LtSHd4=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1741378119;
	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=aPqu49HRDz5buvYMOPIIYA0uxJGcIu1ZYKxWBLXBdAo=;
	b=T1XDAZLiDgsDMbP2AJKLY58L1C+gaRHcMAOyDZ98VQLNr2+PDwUrtQ73EgsV201YL+uG
	 A4r1LgfWWHr7spQxEGR+44jDTt7L3EmfDaaGSc1EGfguanAS42IGQqC+AW8XfSc8P02dN
	 7f3WBQTyQQgbNM/zrT0m7xp3m8KymimJyN58VtoFc1oIZjwF2hmmGC09a33DlFdrCwBJf
	 Gyw/BPko7SY/mAjlkPJ6QkVmlkxD5QvrWNH1WaVNat6JS8TKda+ZzC3P7NY7kECNOI5+F
	 Us2ZglrHMC+UubJWECq4/FC344vtdoAZIjCzVv5057tz4IDbVS20dR42K5O3p1HrNTl/l
	 jj60XzfzfeLax1fSgkq2AdkzQpCohFboYbO+NsVfNBhQrczOm97xy0GUUFTfo5z86D6hm
	 zCThAmkXq505LV+8wl0vPcThRFyRpD1dYHAt0CS4LiwINHxgUQgrOw7VVglt+7hM8Z7qQ
	 WA2Ak0qtHd3gbGscV5u3U0V84zq9R2u+5xqe2DlpyWQAWEvUWyqHNCRbh99TQtthmRJP2
	 sSCTCx3VXJjdc9HCavrrsBgiDR7ogPejE183LMKWyQZftg4604VO3AJA7GawzoluntqbO
	 kKjQJxsGWHDxIIhpjIm02YmHss51SJP4L/fTrMywMPZ+9jex6jgAcpyCb9Qv7xY=
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=1741378119; bh=lpFWD91CDiyhBzb3t/QG4dUPbF/9wJzNwwYJ8cOIYRE=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=XzGWVMdqs+sQHSWSCDkTGqoSsTeSpw1k3GAtgZtav6ZfRhdjpzFWUwVeSlwYug97w
	 RKC5ghCUTdCEgb6BZaOXx3hF/tArJuH+mwjGTEYRfp7nI8HIzESXkeiFHO8Gvnu2PV
	 X0JGwtxJ1U3El4bzx1AgZZTE/ZYjQ+5A02XKfLKlOu6yWw4D9Umx5asH5QLnl/utTo
	 8qhQqKpz+cPUTNQqMnfvdkS+lrx4fCYD3/Bf3J6fF7v8YsWaqfwONJ78zrdN7SWgKm
	 S8PZO5GgsgK4oiyVPU0nPv2GGtkLp9fkra/dFa933ql84GTA32mMfuWVhPIsmu87Us
	 cp5T4cExfzYpg==
MIME-Version: 1.0
Date: Fri, 07 Mar 2025 21:08:38 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
In-Reply-To: <307ce623-9cb1-4dc1-beb9-abd78fc1f61d@citrix.com>
References: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
 <2aaa6042ec9f6220e6229878a13a714b@bugseng.com>
 <307ce623-9cb1-4dc1-beb9-abd78fc1f61d@citrix.com>
Message-ID: <9ef23d76ac1d41a93573d8064ded8590@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-03-07 19:30, Andrew Cooper wrote:
> On 07/03/2025 6:22 pm, Nicola Vetrini wrote:
>> On 2025-03-07 18:54, Andrew Cooper wrote:
>>> and these too, but will require MISRA adjustments:
>>> 
>>> Â * _Generic() to make properly const-preserving wrappers
>> 
>> Perhaps stating something that is already well-known, but this
>> effectively means moving from MISRA C:2012 Amendment 2 as a target to,
>> at least, MISRA C:2012 Amendment 3, as that version contains rules in
>> series 23 for _Generic.
> 
> Yes, I was expecting something along these lines.Â  It's also why I 
> don't
> suggest we start using it immediately.Â  (There's *loads* of non-MISRA
> related work to do when these changes get accepted.)
> 
> 
> Part of the justification for doing the MISRA work upstream was so it
> could stay "clean" on an ongoing basis.Â  The corollary to this is that
> our choice of MISRA standard needs to adapt as upstream Xen changes.
> 
> 
> Do you have any insight on how disruptive this would be?Â  I presume 
> it's
> not as simple as running sed over our docs and Eclair config, but I 
> also
> don't imagine it's a giant task either.
> 

Yes, indeed. I needs a global re-evaluation due to new rules being 
introduced (e.g. _Noreturn handling gets its own rules in Amendment 3) 
so those would need to be discussed in-depth, but the impact is probably 
not dramatic overall in terms of configuration changes, as most of the 
rules are unchanged.

> ~Andrew

-- 
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 Mar 07 21:01:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 21:01:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905364.1313214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqeoi-0003j4-MP; Fri, 07 Mar 2025 21:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905364.1313214; Fri, 07 Mar 2025 21:01: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 1tqeoi-0003ix-Ie; Fri, 07 Mar 2025 21:01:12 +0000
Received: by outflank-mailman (input) for mailman id 905364;
 Fri, 07 Mar 2025 21:01: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 1tqeoh-0003ir-2A
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 21:01: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 1tqeog-0079TO-2p;
 Fri, 07 Mar 2025 21:01:10 +0000
Received: from [2a02:8012:3a1:0:5057:2808:1e53:9bd7]
 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 1tqeog-00D5HA-1H;
 Fri, 07 Mar 2025 21:01: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>
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=12RnVyXYpxg9lGLiVRjMZ/H0i+9xd/YySVHaRNJPHiY=; b=Reu1mkS44gA5BHdQv45qHiow0X
	rq6LuFWlyh48/I5d8ML57YV6L2HMLrfrFA5cj7rUBcOsFrLLHbTis2JErgdz4NfO8UowfIsHNEeNg
	NH2ziU2XLNYzm7SrZDlfDqJ1QLD3rWEE7O3BY3gaGS8ZAWAGZKu7nQmPBpy+6yIxBx5Q=;
Message-ID: <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
Date: Fri, 7 Mar 2025 21:01:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
Content-Language: en-GB
To: Jason Andryuk <jason.andryuk@amd.com>, 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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-jason.andryuk@amd.com>
 <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org>
 <734d9fdf-a201-4a46-9739-26a474683b10@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <734d9fdf-a201-4a46-9739-26a474683b10@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jason,

On 07/03/2025 16:03, Jason Andryuk wrote:
> On 2025-03-07 03:31, Julien Grall wrote:
>> Hi,
>>
>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>> Assign domid 0 to the hwdom.Â  Normally, dom0less does not use domid 0.
>>
>> A few years ago, we went to great length to avoid making the 
>> assumption that the hardware domain is domid 0. See all the calls to 
>> "is_hardware_domain()". So I am reluctant to force the domain ID to 0.
> 
> I was disappointed when it didn't "just work".
> 
>>>
>>> This fixes using the Xen console which assumes domid 0 to use the
>>> hypercall interface.
>>
>> I had a brief look at drivers/char/console.c and I can't find any 
>> place assuming "domid 0". Do you have any pointer?
> 
> As Jan pointed out, Denis Mukhin's patch removed the domid 0 assumption. 
>  Â This was developed without this patch when it mattered.
> 
> I tested before posting without this patch (and with Denis's), and again 
> now, and I didn't get a hwdom login.Â  Turns out xenstored was assuming 
> domid 0.Â  Changing that with --master-domid gets to the login prompt.

Hmmm, I am not sure --master-domid should point to the hardware domain. 
Instead, it feels like it should be the control domain because it needs 
to manage the VMs so needs to create any nodes in Xenstore.

> 
> Still, there are now other userspace errors.Â  xen-init-dom0 hardcodes 
> domid 0 which doesn't exist. 

I am confused. Why would you call xen-init-dom0 in a domain that is 
meant to be the hardware domain rather than dom0?

> init-dom0less only initializes non- 
> introduced domains, so hwdom doesn't get its "domid" xenstore node 
> populated.Â  That leads to other errors.
 > > So I think with Denis's patch, this isn't strictly needed.Â  It does 
help
> existing toolstack code work today.

I don't think the toolstack is ready for a split between 
control/hardware domain. That said, shouldn't the toolstack run in the 
control domain? Same for xenstored (unless you have a xenstored domain)?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 21:22:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 21:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905374.1313224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqf8b-0006Nq-7c; Fri, 07 Mar 2025 21:21:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905374.1313224; Fri, 07 Mar 2025 21:21: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 1tqf8b-0006Nj-49; Fri, 07 Mar 2025 21:21:45 +0000
Received: by outflank-mailman (input) for mailman id 905374;
 Fri, 07 Mar 2025 21:21:43 +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 1tqf8Z-0006Nd-R7
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 21:21:43 +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 1tqf8Z-0079qU-1Z;
 Fri, 07 Mar 2025 21:21:43 +0000
Received: from [2a02:8012:3a1:0:5057:2808:1e53:9bd7]
 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 1tqf8Y-00D921-3A;
 Fri, 07 Mar 2025 21:21: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>
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=2nus3HuRh077mA9zNPG2smM1poHCXmQR1XkCOKtZ2Gc=; b=rwdG7Ag2rxomndtfvID3Z2TqQX
	w0pAvafJm1tD0VPvWHM1ndd3j2YS4IgSx+kB9xNKq3g6cONQumVUS5N/0xBfXqDPd5CgdUoL7NIlg
	bvd8R0nCft+hYSwWYblLVO14qWdrhvZTSj7NqTL3c3wuKL9xPDkwTJsXNzkseY+OxsGs=;
Message-ID: <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
Date: Fri, 7 Mar 2025 21:21:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
Content-Language: en-GB
To: Jason Andryuk <jason.andryuk@amd.com>, 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
 <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jason,

On 07/03/2025 17:58, Jason Andryuk wrote:
> On 2025-03-07 04:01, Julien Grall wrote:
>> Hi,
>>
>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>> Add capabilities property to dom0less to allow building a
>>> disaggregated system.
>>>
>>> Introduce bootfdt.h to contain these constants.
>>>
>>> When using the hardware or xenstore capabilities, adjust the grant and
>>> event channel limits similar to dom0.
>> Â > > Also for the hardware domain, set directmap and iommu.Â  This 
>> brings its
>>> configuration in line with a dom0.
>>
>> Looking the device tree bindings, a user would be allowed to disable 
>> "passthrough" or even "directmap". This means, we would never be able 
>> to disable "directmap" for the hardware domain in the future with the 
>> existing property (this is to avoid break backwards compatibility).
>>
>> Instead, I think we should check what the user provided and confirm 
>> this is matching our expectation for an hardware domain.
>  >
>> That said, I am not entirely sure why we should force directmap for 
>> the HW domain. We are starting from a clean slate, so I think it would 
>> be better to have by default no directmap and imposing the presence of 
>> an IOMMU in the system.
> 
> Ok, it seems like directmap is not necessary.Â  It was helpful early on 
> to get things booting, but I think it's no longer necessary after 
> factoring out construct_hwdom().
> 
> What exactly do you mean by imposing with respect to the iommu?Â  Require 
> one, or mirror the dom0 code and set it for the hwdom?
> 
>  Â Â Â  if ( iommu_enabled )
>  Â Â Â Â Â Â Â  dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;

I mean requires one. Without it, you would need to set directmap and I 
don't think this should be allowed (at least for now) for the HW domain.

> 
>> Lastly, can you provide an example of what the hardware domain DT node 
>> would looke like?
> 
> I've attached a dump of /sys/firmware/fdt from hwdom.Â  (This is direct 
> mapped).

Sorry if this was not clear, I am asking for the configuration you wrote 
in the host DT for create the hardware domain. I am interested to know 
which properties you set...

> 
>>> --- a/xen/arch/arm/dom0less-build.c
>>> +++ b/xen/arch/arm/dom0less-build.c
>>> @@ -12,6 +12,7 @@
>>> Â  #include <xen/sizes.h>
>>> Â  #include <xen/vmap.h>
>>> +#include <public/bootfdt.h>
>>> Â  #include <public/io/xs_wire.h>
>>> Â  #include <asm/arm64/sve.h>
>>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>>> Â Â Â Â Â Â Â Â Â  if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("No more domain IDs available\n");
>>> +Â Â Â Â Â Â Â  if ( dt_property_read_u32(node, "capabilities", &val) )
>>> +Â Â Â Â Â Â Â  {
>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & ~DOMAIN_CAPS_MASK )
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Invalid capabilities (%"PRIx32")\n", val);
>>> +
>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_CONTROL )
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  flags |= CDF_privileged;
>>> +
>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_HARDWARE )
>>> +Â Â Â Â Â Â Â Â Â Â Â  {
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( hardware_domain )
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Only 1 hardware domain can be specified! 
>>> (%pd)\n",
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hardware_domain);
>>> +
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_grant_frames = gnttab_dom0_frames();
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_evtchn_port = -1;
>>
>> What about d_cfg.arch.nr_spis? Are we expecting the user to pass 
>> "nr_spis"?
> 
> Further down, when nr_spis isn't specified in the DT, it defaults to:
>  Â Â Â  d_cfg.arch.nr_spis = gic_number_lines() - 32;

Thanks. One further question, what if the user pass "nr_spis" for the HW 
domain. Wouldn't this result to more issue further down the line?

> 
> Dom0 does:
>  Â Â Â  /*
>  Â Â Â Â  * Xen vGIC supports a maximum of 992 interrupt lines.
>  Â Â Â Â  * 32 are substracted to cover local IRQs.
>  Â Â Â Â  */
>  Â Â Â  dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) 
> - 32;
>  Â Â Â  if ( gic_number_lines() > 992 )
>  Â Â Â Â Â Â Â  printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
> 
> So I think it's fine as-is?Â  I could add the min() and warning if you 
> think it's necessary.

Regardless this discussion, I wonder why we didn't add the min(...) here 
like for dom0 because we are using the same vGIC emulation. So the max 
SPIs supported is the same...

What I am trying to understand is whether it is ok to allow the user to 
select "nr_spis", "vpl011" & co if they are either not honored (like for 
vpl011) or could introduce further issue (like for nr_spis as the HW 
domain is supposed to have the same configuration as dom0).

I also don't think it is a good idea to silently ignore what the user 
requested. So far, on Arm, we mainly decided to reject/panic early if 
the setup is not correct.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 21:24:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 21:24:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905383.1313234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqfBE-0006vH-KG; Fri, 07 Mar 2025 21:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905383.1313234; Fri, 07 Mar 2025 21:24: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 1tqfBE-0006vA-HL; Fri, 07 Mar 2025 21:24:28 +0000
Received: by outflank-mailman (input) for mailman id 905383;
 Fri, 07 Mar 2025 21:24:26 +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 1tqfBC-0006uz-SE
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 21:24:26 +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 1tqfBC-0079sp-2E;
 Fri, 07 Mar 2025 21:24:26 +0000
Received: from [2a02:8012:3a1:0:5057:2808:1e53:9bd7]
 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 1tqfBC-00D9Nj-0j;
 Fri, 07 Mar 2025 21:24: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>
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=oNme71YGqOUbSAVXsT2MrRmE1ZrdbBnkJbKNACGYj2A=; b=2wqMJhjPivrKbJR68MuHlXWMwK
	TxvPDY0Yhfi6EckK6LBLPMEI+UwOKpjW3FCmJ4MnjzHyNb5BpeNZ8h23a+piVydbzxRNqTmEF/1yW
	T6xPa/c5ItP51bGkz0sCM8H2R1mU63EDNUOS1btY89JMUOXySDusDkzqKl2akXUQLJnI=;
Message-ID: <4c66ad14-9a30-48e5-aae1-49f61efaaf67@xen.org>
Date: Fri, 7 Mar 2025 21:24:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
Content-Language: en-GB
To: Jason Andryuk <jason.andryuk@amd.com>, 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250306220343.203047-9-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 06/03/2025 22:03, Jason Andryuk wrote:
> With a split hardware and control domain, the control domain may still
> want and xenstore access.  Currently this relies on init-dom0less to
> seed the grants.  This is problematic since we don't want hardware
> domain to be able to map the control domain's resources.  Instead have
> the hypervisor see the grant table entry.  The grant is then accessible
> as normal.

I am probably missing something, but why would run xenstored in the 
hardware domain rather than the control domain? Isn't xenstored more 
related to the VM management than HW?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 07 22:48:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 22:48:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905413.1313244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqgUC-00078I-GD; Fri, 07 Mar 2025 22:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905413.1313244; Fri, 07 Mar 2025 22: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 1tqgUC-00078B-DQ; Fri, 07 Mar 2025 22:48:08 +0000
Received: by outflank-mailman (input) for mailman id 905413;
 Fri, 07 Mar 2025 22:48: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqgUA-000781-Sw
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 22:48:07 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20631.outbound.protection.outlook.com
 [2a01:111:f403:2413::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b12749a-fba6-11ef-9ab7-95dc52dad729;
 Fri, 07 Mar 2025 23:48:04 +0100 (CET)
Received: from CH2PR11CA0021.namprd11.prod.outlook.com (2603:10b6:610:54::31)
 by PH7PR12MB6761.namprd12.prod.outlook.com (2603:10b6:510:1ab::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.23; Fri, 7 Mar
 2025 22:48:00 +0000
Received: from CH2PEPF00000144.namprd02.prod.outlook.com
 (2603:10b6:610:54:cafe::fa) by CH2PR11CA0021.outlook.office365.com
 (2603:10b6:610:54::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Fri,
 7 Mar 2025 22:47:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF00000144.mail.protection.outlook.com (10.167.244.101) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 22:47:59 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Mar
 2025 16:47:58 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 16:47:58 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b12749a-fba6-11ef-9ab7-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xdV71i+MzBVEkUteJffQd3eqwbJFJKC3z4ia93/371RwNqnVVHljahEXtt/VoJVK4ByIiyVR+7jYDY69Ky+FVKkIt7+v66XPFzdQekg1ad/vPvOgV6aEjlcfuhYkMc31Fq2AvIBwM+JmZUn6GRryZa69Yda2cmFdOF++GmlLXcpdcbZDiE1tzyttnn4neK7s8HYQZvNnJnZuOHBSiB25kcjq21Qkshssy5tEZUMybNNCyKRMieZX390BQoqanwR0xJRUWcB1ycck3ggxKn8T5xr/Kco/FdGC+8rzYtmq6oU7Zf9/XH1mvNEFo9EFFISaFy93lKfFLhuFMnmdxtcjBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yoUlJ8X5hl1jeeavFHiCEieoAxqW6zpyrFe/OYUoKpQ=;
 b=bYekx8H9MqtqT9ShHMd6WG0zDQVyNLpAt6ZULGvFBzAcniBJLwpqDSM89bwYw5gbXd89m3vm1g5NhUjkveG+zQELN6t6HzSJABs6GfAWtaLf6WJo/wtzJJGbgc/dclGDGERPEf/bG4Gqkp8GBfuhzOhkDRhY8VLRCAqiZNYalYZ61H7YKux9LlLXetDj4Qm/J7qjQOtuCXSOaV0WYbMKmbrnrKOuqfX/sc4kp8K7KurEb6yhjYG3qtTRzRT5NyPY+fJRMV71+mgHR/ik3Xax2jwP2tt/kLs0fuy1fbi4kyh0+BWfTP9HEte7VZUsVWzz8cqfeIGSjJrerjZssxjnQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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=yoUlJ8X5hl1jeeavFHiCEieoAxqW6zpyrFe/OYUoKpQ=;
 b=KIUHXnpjpcIpCoaOFZU8VMmdhN+6w+9SJ+HhSmvGQZUffVELFhj+IQqtjiRhs6J1LPZh503KyxsrVH8QbkGzvWPYt4GjnUqXyQEySHsvL0sBC8Bmg8saaM0UFd/u60H1CNhrat27f6AGVQ9o1OFDKAqi0LRYV3m5LvhfKOXPQHo=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <ba5b9675-fa62-4872-b969-e5ecc917a087@amd.com>
Date: Fri, 7 Mar 2025 17:47:58 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
To: Julien Grall <julien@xen.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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-jason.andryuk@amd.com>
 <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org>
 <734d9fdf-a201-4a46-9739-26a474683b10@amd.com>
 <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF00000144:EE_|PH7PR12MB6761:EE_
X-MS-Office365-Filtering-Correlation-Id: 40862fc8-90f1-4930-bf0c-08dd5dca1c3a
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?cnIzK08zUWVVOEh0SWZCc1ZFcHpnOUhpVjV5R25GRGFCQWkxVzNqd04ybHFB?=
 =?utf-8?B?NDJMWFZLZHRDR1ZnUWZ2N0tlM1QySzlxL0RuMmtTK05rdllYSXRwZHhwTlk3?=
 =?utf-8?B?Vk5zQUF4cTZWVVJzTFZ5ajhoTXNMVUNxMzhPM1htejl0Y2xpWk5NYUpmQUFT?=
 =?utf-8?B?MS80VDRscFRjU1UvQnpFYVUyWFNYS3o3NVg5ZlZYUitQL1dhSTFwZ1hNUkha?=
 =?utf-8?B?ZVI1NTdxeW9XRlBhS2U3Rlo3RkY2QlVqYnYwR0twT2NPV3VybDBxRjh2M2Vr?=
 =?utf-8?B?aWsySmRpdXFzenExRXBwWGFlSCtpeXNhcGZvbXJKZGNNSmJPbVBVTXNBbHlo?=
 =?utf-8?B?VDNLNXRGMjNURHpFd3lVckVCdldweURIZ2JKSUMyaHRFZXFMS3R2RzNFdmN3?=
 =?utf-8?B?Q3g0WWFncFJnZjdzRTZkeGV4UEQxUEZXQko3YzBwcFFDMlhkZVRpUHJtZXV6?=
 =?utf-8?B?MExjckhHd0RuWnVkd1F3K3BpdmR1NFkzT0k2enBqZVNaZFNxYU5ZTVoyT3ZY?=
 =?utf-8?B?aFk1ek10R3FjdWdJaGJURkpZQnRNUG9NVWo3aTdXUlNGN0QzNjQ1WmRSanJ1?=
 =?utf-8?B?a0kvWWR1TWRpUDV0OXlmbWorV0ZMbXNUOU4zVDhINFBjZk9wSjFvK2xyeVNJ?=
 =?utf-8?B?dFdwTENHbWJQVmpidDRLR1FxaVJ4OElac2tEaEJ3TVkzVzBXaDhHNW5rdk9L?=
 =?utf-8?B?Mi9YTU9zRC81MHM2WmliNitaWTZ3NjlYZWJQWjk1M0VmWGlIdEdkcGlXNFlk?=
 =?utf-8?B?WDh2L3k0NFExWVFaUVU2V3Q1WjhxcGFabWQ0YnVCY09LbDFnV1FDV05hZFVt?=
 =?utf-8?B?VEhBeENRVlVoOHArVGZTc2t0dnVxckJla2dlZjEvWThUc1BIZW5YYzZHSU5q?=
 =?utf-8?B?RkZWOHlGYy81QTdJM0xabUcvKzFBYnVGbFh3ZW5aSlJ0WUZHYWNJd1dmdWF6?=
 =?utf-8?B?cUdIR2dlbXV5c01ubjNDWmt1djNtM29wQyszNzNpYVVCbThJSnlDcXIvckk1?=
 =?utf-8?B?NTBodStOSTdVUmdsQjVSU2kveHZ1M3NudTRNamtsdXlOZ1Nyc1I1M3VBT0FV?=
 =?utf-8?B?N1hjWjZaeU5yaklHQXpCbi9RNVNYakVhSkZMTm9Sck9uV3dUU0s4QnJHcVFy?=
 =?utf-8?B?dWRQZGFDZ3BNOTg0WEsrcEZUOFFJcTVRMmZERGtkRU9NZkYzblcrY3RzT0xv?=
 =?utf-8?B?U1ZVSUJ6UnNzRjg5dVUvQ1RkZ2JUeTQ4YnNOaCtiUWxaSjZuQVR1blpIeENV?=
 =?utf-8?B?aEY4RjlYSXNvMEQ3WWNyZ0Z5U0laeVF2ODFSOVM1T0hsSWY5U2xKU0llY0Ix?=
 =?utf-8?B?aFd3TnlOREoyMnZYYjlDZVZkVGcxNzVCeFk0OENITkkwSUVBdGtYclE3SGd1?=
 =?utf-8?B?T29kaGppYVNGWXJNcE41KzdQakh3ZDFrRGExUkt0ZDkvR2NzTi9yaTA3UUxV?=
 =?utf-8?B?bWlXZmpxbFloaHkyR3g5SlN1dDdZakRiTTBFZ3RxZVljL2lmNGNOa0I1S2kv?=
 =?utf-8?B?NXhQNmgyTG8rdXhmOGJMRmU4ZDJOaUVEdHZ4RWt4aGJmUEdQWnZXUmNGc2k4?=
 =?utf-8?B?Uk0zemRaYnhDRlBPTm5Vc0NSUW9OUlVMN0NQZVErRml5UFNpTFc1V3VnckIy?=
 =?utf-8?B?dE9NTDNkUjZLOCt1elJkMk83Y1V2SlVKd2diNkdGK2ZvUStwNXd4UWJDU00w?=
 =?utf-8?B?WnA0OW80b01QVFFRQkR4eU5UOVY4WUE0L1IxamxXM2VpaXdjUjk4ZHByTnV1?=
 =?utf-8?B?cEVzeDZRa3lFY2djWUlReWRaRHJrSVFWcFJodlZoU2czS0tJdG1BWUJrSktK?=
 =?utf-8?B?aDlEelVXazIwYVlncTErOFcrSURuN1htU0tZNE9IMXhIZ2tUYWZvU1Ftbmkz?=
 =?utf-8?B?MWNEMlc5S0hPZlo1NFY5bTdWeFhIbFdUMS96MGdXNGNQREw1andnaXB5ZXRZ?=
 =?utf-8?B?bDlEQ2Z0MGlhdE9BbmVrSUhBWm5jMDRpWjQrNmQ5MDVVQ051S3VqbS91bVNX?=
 =?utf-8?Q?wYBiT6n6QaAsKEXggAgbAJRxuh4ZqE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 22:47:59.4086
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 40862fc8-90f1-4930-bf0c-08dd5dca1c3a
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF00000144.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6761

On 2025-03-07 16:01, Julien Grall wrote:
> Hi Jason,
> 
> On 07/03/2025 16:03, Jason Andryuk wrote:
>> On 2025-03-07 03:31, Julien Grall wrote:
>>> Hi,
>>>
>>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>>> Assign domid 0 to the hwdom.Â  Normally, dom0less does not use domid 0.
>>>
>>> A few years ago, we went to great length to avoid making the 
>>> assumption that the hardware domain is domid 0. See all the calls to 
>>> "is_hardware_domain()". So I am reluctant to force the domain ID to 0.
>>
>> I was disappointed when it didn't "just work".
>>
>>>>
>>>> This fixes using the Xen console which assumes domid 0 to use the
>>>> hypercall interface.
>>>
>>> I had a brief look at drivers/char/console.c and I can't find any 
>>> place assuming "domid 0". Do you have any pointer?
>>
>> As Jan pointed out, Denis Mukhin's patch removed the domid 0 
>> assumption. Â Â This was developed without this patch when it mattered.
>>
>> I tested before posting without this patch (and with Denis's), and 
>> again now, and I didn't get a hwdom login.Â  Turns out xenstored was 
>> assuming domid 0.Â  Changing that with --master-domid gets to the login 
>> prompt.
> 
> Hmmm, I am not sure --master-domid should point to the hardware domain. 
> Instead, it feels like it should be the control domain because it needs 
> to manage the VMs so needs to create any nodes in Xenstore.

--master-domid encompasses "the domid where xenstored is running" (which 
really xenstored should figure out itself), and is needed for xenstored 
to start.

There is an additional --priv-domid, which can point at the control domain.

>>
>> Still, there are now other userspace errors.Â  xen-init-dom0 hardcodes 
>> domid 0 which doesn't exist. 
> 
> I am confused. Why would you call xen-init-dom0 in a domain that is 
> meant to be the hardware domain rather than dom0?

I was using domid 0 :)  Also, it's called by default in xencommons and 
sets up the cpupools.

>> init-dom0less only initializes non- introduced domains, so hwdom 
>> doesn't get its "domid" xenstore node populated.Â  That leads to other 
>> errors.
>  > > So I think with Denis's patch, this isn't strictly needed.Â  It does 
> help
>> existing toolstack code work today.
> 
> I don't think the toolstack is ready for a split between control/ 
> hardware domain. That said, shouldn't the toolstack run in the control 
> domain? Same for xenstored (unless you have a xenstored domain)?

Yes, maybe running control and xenstore together is better.  I came from 
the perspective of dom0less with a hardware/control split, the toolstack 
is less important.

But in general, it's all intertwined.  You have to start somewhere 
untangling.

Running xenstored in the hardware domain, and leaving hardware domain at 
domid 0 seemed like a good way to keep most things working while 
splitting out the hardware/control permissions.

There was also this practical consideration:

Xen:
             if ( is_hardware_domain(d) )
                 fi.submap |= 1U << XENFEAT_dom0;

arch/arm/xen/enlighten.c
         if (xen_feature(XENFEAT_dom0))
                 xen_start_flags |= SIF_INITDOMAIN|SIF_PRIVILEGED;

drivers/xen/xenfs/super.c
         if (xen_initial_domain())
                 tmp = "control_d\n";

So control_d is set in /proc/xen/capabilities for the hardware 
domain/initial domain.  That is checked in xencommons.  Sure, that can 
be worked around, but I was trying to get something going.

I tried a combined control|xenstore domain, but it doesn't have 
/proc/xen/xsd_port, so xenstored fails:
Failed to initialize dom0 port: No such file or directory

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Mar 07 23:03:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Mar 2025 23:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905425.1313253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqgip-0002RW-OH; Fri, 07 Mar 2025 23:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905425.1313253; Fri, 07 Mar 2025 23: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 1tqgip-0002RP-Lc; Fri, 07 Mar 2025 23:03:15 +0000
Received: by outflank-mailman (input) for mailman id 905425;
 Fri, 07 Mar 2025 23: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=0EBm=V2=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqgin-0002RH-W7
 for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 23:03:13 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20620.outbound.protection.outlook.com
 [2a01:111:f403:2418::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56e67355-fba8-11ef-9898-31a8f345e629;
 Sat, 08 Mar 2025 00:03:11 +0100 (CET)
Received: from CH0PR03CA0375.namprd03.prod.outlook.com (2603:10b6:610:119::25)
 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.8511.20; Fri, 7 Mar
 2025 23:03:06 +0000
Received: from DS3PEPF0000C380.namprd04.prod.outlook.com
 (2603:10b6:610:119:cafe::1c) by CH0PR03CA0375.outlook.office365.com
 (2603:10b6:610:119::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Fri,
 7 Mar 2025 23:03:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF0000C380.mail.protection.outlook.com (10.167.23.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Fri, 7 Mar 2025 23:03:05 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 7 Mar
 2025 17:03:05 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 7 Mar
 2025 17:03:04 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 17:03:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56e67355-fba8-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NilQcwJYb+Fl9DaedUMtzseYpxqk0EhXBgwHxmDdrPQGWFcLudSNCyqoti41sLXDnJ0ZepBY2cth/yyyfax4LwMQIF1M86h0VOCFOGKXYPs6MYtC7WVgFErrOJ9c88WPY/RnWouTEEqEihxUyzz608/m2NK9pLVES2HLLwm059tQF+Oq0NDz+Kw13DQKdQ2Pxl0ujT48BiWo2kXktWeyaKLvgHE7kJaTyZOIVGv+lFWAO0HaA78tKbNHmcRtt/qBfDv9Xbtntw6sLZZKL76I+Hd2m1h4BpQiLucqqXVd76hu5EPEIXpivLQKjMPQnIz4u1jW1YLi0wcx0DTZ3dW87g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U6tZ2CA7CUC1O78q4dZoymsDPoHQJYfLwg+gZK+FlnY=;
 b=QM16uLRdWagdryyp5tFZDNLM+4ZShiqO4IByX0mQV31BRuPd7zs1oo6nnzPhjSLmFeP+B8Ui37AwE48FB3pfsUskJ1LR5Z8WgtURRTCiV8FXAU8G5cgNwHoAjtaqs2JASajxs8EgAErgnVtANpn2w75iJcGt3wzYonNC/iKZs3inEvO3Y6jVp+ggzTXhT/mSU16bLUjyMM5FUHUG6PdDzWt0/cYdA4Hrc/HpJwuIcqpyk1udlip+YCeGFecjPkGiinN1TJjquqd7auUyWPYmr06FEjaI/agebIBtikwTCYv18gvT25jJp6fPdcCM0PmnHYp5/ZxHZ8yDwqZqlX8a/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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=U6tZ2CA7CUC1O78q4dZoymsDPoHQJYfLwg+gZK+FlnY=;
 b=uHk7rGt1zGO+K2/iTSEMOhyn8RckUGon7C5wUc3QH8Lv7Rf53GPy0TsCz76Fz5BjnhH2U3lvuO+2+xYZUVOSuoSuozaDrAZuTsaGYgH+F2evaT6jsAkvybMi8X+Q2vcFccPtqTO2Vpjb8MgcGKv4dP5klz9fTPsQBLQ7KPKSKrc=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <d002aef4-3511-4e9b-8ff2-34bb268d9d7d@amd.com>
Date: Fri, 7 Mar 2025 18:03:03 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
To: Julien Grall <julien@xen.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Jan
 Beulich" <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
 <4c66ad14-9a30-48e5-aae1-49f61efaaf67@xen.org>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <4c66ad14-9a30-48e5-aae1-49f61efaaf67@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF0000C380:EE_|CH1PR12MB9600:EE_
X-MS-Office365-Filtering-Correlation-Id: cd080311-2a96-48fe-79d6-08dd5dcc3839
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?VkMzRFBqelY1SngvdWR0TlIxRGsrSDlkVzN1SEpxTFpWdFRUUVF1b1hORWNI?=
 =?utf-8?B?blhERmdvdkgrZTltdUp1TUVLa2puNENUUUJqbnlwb2dPcjVkaTAwZTE3dk0y?=
 =?utf-8?B?eUQ2R0RURjBpUUNzRThXeHo5SzBWc1E2cWZleTNEcEtCT2FQNVJiMXUyR1pa?=
 =?utf-8?B?REdiTWJsNEJLQ0crSWdaU1FFT0lYdVovOU9QWExrcDBtd1hqOThrS1FuSkhK?=
 =?utf-8?B?bWl1NjBSNVVNZExrdDZvUzVPVjFhY1ZyUVZGaTB4Z3EyRGNOdjduWWN5ZGVx?=
 =?utf-8?B?NFJ5b0tvT2tMTkVXRjBaMGo0bFNkL2dKWlc1QytQbXFRTzNVVFBsditZZTRX?=
 =?utf-8?B?RmowWHY2dmhNcElsaStuSkZNcUFBRDU2blNJandMSGFrc05MamxzTklqM1d3?=
 =?utf-8?B?ckVWOWZJMTFuM3g3Z1piaEFSYjFFaTd6dFE4cDRvdDV1WFU2dGg1dzFzaDVn?=
 =?utf-8?B?cEpiWkZSbUlhZDk5YzRhYm5GT1Ivb2c1R0hUUzRVZ2xKd1pOWGRvdnFtK2li?=
 =?utf-8?B?V09EM2w2ZnR5dnhjSEM4NGlxNk9TS0VEcEQvQVFaLzd6SGlQNU9nRUk2MUxu?=
 =?utf-8?B?VFUvMXZDNHlRUnA5OVQvekNKTXUxMDB0bU1nODRRc0FNaUNncXFyQjVNYWpr?=
 =?utf-8?B?UHViS0FNYVlkeFNNYzJBY2J6RG5obTR4cThJQXB2eGJjT3pBNkRqMUtXRU9u?=
 =?utf-8?B?dHRkMVROcWRRWHJSRkZxaENFWnY0SlM0VUlpQlQrTXFBbllMcW9Bd0JScFB5?=
 =?utf-8?B?UzdmaFB3Y2dDak1jMUhQQ3BzVm1qT1J6QjVsNWUvRVgwSXIzWXBYQ3dKL0s5?=
 =?utf-8?B?aVA4UWpKcndabFpmUmZ0U0NOMElsY0pCTjFaMUxCbm5rd09aRkNpQ0EybHlx?=
 =?utf-8?B?MG5yWWF2bjZTNzVJNHJEbmlqTGhzcXdKQVAzWFpNbnRVd3RhaXo5UEE1MUM3?=
 =?utf-8?B?VHdzKzVtUUJldmdGcHNMd0VCdm96MkExZnlJbzNLVVcxSjF3Z3lNeENMUmRt?=
 =?utf-8?B?QXJHQTZNQmxnVXR5Y3hlM1NRM3JHbWtKd3Bvd3ViVHRJdTc0TnBiUUh6VFZT?=
 =?utf-8?B?WHo1bmx2Rjd6TVN0UmFqR1RrclhRQzJKMUhRdWh3NHF4ZUdzenV4SnI4aktu?=
 =?utf-8?B?RUNLOCtsYm00Nmp4TzltSDRud1REeVhLNmtjVTNrMGIyaFpuMFpkUFhKWldI?=
 =?utf-8?B?QVd6L1VSOVREOTFzY0VyQXBPd2VZZkw0Mm9iNHdOQnJ2WFlIQnVwVCtHbStE?=
 =?utf-8?B?cGJWMlRBSkgwSzE1UlhIUEpFSmJ5MVdqYUFsSUR4MHhJZjZCTlJkaVZCWnRT?=
 =?utf-8?B?RkF2ODA3MXBFZFpSeGRlaUlmTHRWYXJucU9MUFRJNVh1dHAvY05VT0c0elRU?=
 =?utf-8?B?SW4vbzJOOTNhYUFkNDhPSmZSVG1qaFVpWS9MQTE1MnU5WVZtMmRlTWhkYkVj?=
 =?utf-8?B?eWgvaTh2Ri95U2VUOU1xenoxUTRQczhudUtqM0RycDNNMG9iNUdDbG9NbVVY?=
 =?utf-8?B?dm5xK0hVeW5JcUNEWkJCUEExRTV2bEw1R04yd2htTkhFNmNsZHEva1ZuUVky?=
 =?utf-8?B?bXY5WGx5czdMTDRrVlJ5elV5M00wd25MU29VZlNzS2k2OUZEVEF6bmFqWDlk?=
 =?utf-8?B?dkhXWFU1cEZWaWc2WWdEWWNhTStHd0dnbE9iMVlCRzR5VXl6aDluZVd4eVMy?=
 =?utf-8?B?YjJMWno1YlFCUUErWlRtWWJXZjJVWmdLR2ZjZWRNZHJtODBjcmYwU3Z1TFJW?=
 =?utf-8?B?dlpCeGF1UmJXbkY4Z05pMndZd1ZFRU1vUTM4REw0WXdCMjgvOGJ4cTREenZi?=
 =?utf-8?B?L1lrMjd2NDNtVFlxL1BidkJIY1FLUi94enRTTzRTSWtRbzMyY0VjcmpTRmV1?=
 =?utf-8?B?M3V6KzNGN3Y3N0xZbnZRSUxWU2FoMm1Ybjc4b2tmbFY2YUw1YXdrWnVOZDRS?=
 =?utf-8?B?OTVncDlzbjNiVThtaXZEVlhmeC9jTTdXOUg5cmFJTjFuV1NWUnJ6U2IyNlBz?=
 =?utf-8?B?Y2o5d2dNcEJnPT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 07 Mar 2025 23:03:05.3543
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd080311-2a96-48fe-79d6-08dd5dcc3839
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF0000C380.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PR12MB9600

On 2025-03-07 16:24, Julien Grall wrote:
> Hi,
> 
> On 06/03/2025 22:03, Jason Andryuk wrote:
>> With a split hardware and control domain, the control domain may still
>> want and xenstore access.Â  Currently this relies on init-dom0less to
>> seed the grants.Â  This is problematic since we don't want hardware
>> domain to be able to map the control domain's resources.Â  Instead have
>> the hypervisor see the grant table entry.Â  The grant is then accessible
>> as normal.
> 
> I am probably missing something, but why would run xenstored in the 
> hardware domain rather than the control domain? Isn't xenstored more 
> related to the VM management than HW?

I addressed this in my other email.  You're probably right that 
xenstored should run in control, but implementation details prevent that 
in the short term.

Regardless, of the xenstored placement, I think it's a better design for 
Xen to seed the grants.  With Xen allocating the xenstore page and event 
channel, and now seeding the grant table, they can just be used.  A 
xenstore stubdom can just establish all the connections without relying 
on another domain to perform an action.

I tested that with hyperlaunching the xenstore stubdom.  That is where 
the two XS_PRIV changes later in the series come from.  xenstore stubdom 
iterates the domains, reads the hvm_param for the event channel, and 
then runs introduce to set up the connection.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:03:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:03:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905443.1313264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqhec-0006CM-Gq; Sat, 08 Mar 2025 00:02:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905443.1313264; Sat, 08 Mar 2025 00:02: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 1tqhec-0006CF-E7; Sat, 08 Mar 2025 00:02:58 +0000
Received: by outflank-mailman (input) for mailman id 905443;
 Sat, 08 Mar 2025 00:02: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=MIyW=V3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqhea-0006C6-7R
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:02:56 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2062b.outbound.protection.outlook.com
 [2a01:111:f403:2407::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae703b1c-fbb0-11ef-9ab7-95dc52dad729;
 Sat, 08 Mar 2025 01:02:54 +0100 (CET)
Received: from SN6PR08CA0008.namprd08.prod.outlook.com (2603:10b6:805:66::21)
 by CYXPR12MB9319.namprd12.prod.outlook.com (2603:10b6:930:e8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Sat, 8 Mar
 2025 00:02:48 +0000
Received: from SN1PEPF00036F42.namprd05.prod.outlook.com
 (2603:10b6:805:66:cafe::2a) by SN6PR08CA0008.outlook.office365.com
 (2603:10b6:805:66::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.16 via Frontend Transport; Sat,
 8 Mar 2025 00:02:47 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00036F42.mail.protection.outlook.com (10.167.248.26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8511.15 via Frontend Transport; Sat, 8 Mar 2025 00:02:46 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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; Fri, 7 Mar
 2025 18:02:46 -0600
Received: from [172.20.156.222] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 7 Mar 2025 18:02:45 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae703b1c-fbb0-11ef-9ab7-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TAuPJpzDzrLwuN0HJ5jHg4VkDGt2Aj/OdoNvsfTCzfXsYeJxLBtC3g6AfLrqoTL6O1WojeLcX//jqDDY/K6g9u6mSnFde9sKR+CN5WVqWq/foFvfgNDTVMOe2EAen3gipZnG6NYihHaWyenDwCONDVz6lEjFv9QEc0/cmwnqYAC/wKjtvQ8JwkqzfUN8GL8AByYnoPJrjDO60EraWdj49yS95iIaqdyXMq8DlEb8/g7Qj5w1a+wWyk7ekV7Qu7wK3sPzXgrP7i5uPUdB+tx0kMNl+ypjFpqUrh2s1tLfRGSm+839K2E8GCZ9Wp4C66OEPMjpkAieANvEEXhxcBmgQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eX50daKY+BRsgMCRJLObWH3OKvN0RGH5d7wAZjKpA24=;
 b=Qixis5eidOysaDylDUw0yfw4aSSNcylx8d4v2wrNOMVRdSqwUXwYV4k1qu5v4mMd/Yp2nkipdoimoD+ykkaic6Btcsf3pidDORFBfZHI/FlLXOi+/I3Fud3co/GEjJbnrGGTv3142F9o7s5s+LR4dwD8FzfQE7pAShGlSUHnrC2g9zmzPmqnOnDB/feIHKfC7lifWg/nMHpkJAIvPIsaFUyaHn1WQB+7BpQoO4PkPuG1HR6j4zUisrhW/1N2LIWUeZuGdT9w+jULfqxxUzVsAoqNVRx5LWeloIJCl7Hoy8Y1ZUM+s2ilwf0O4V2sHqOsHLmR1ItSznD8/vZNa2gwLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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=eX50daKY+BRsgMCRJLObWH3OKvN0RGH5d7wAZjKpA24=;
 b=SUDxeRu67ucSt20j5iFD5ESLhFpTFnWRbN1UbLtgJIDr7qNagca3uejRmBccuUnPyphA39i0uHukU6YdP6kgpfA7VggMIxQVAkE5gmlgdfze6QKw/SSdRd0Ilxw6yYQ0z/w/zEqC+tXlAlWYhnVI2dY/B8ks84qx/YfhR9zusag=
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=SATLEXMB04.amd.com; pr=C
Content-Type: multipart/mixed;
	boundary="------------iyDybqn8S8ILnHMucJG0OJf1"
Message-ID: <09103c2b-a7c0-44d5-8eb5-2d0fcb01c26e@amd.com>
Date: Fri, 7 Mar 2025 19:02:40 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
To: Julien Grall <julien@xen.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Jan
 Beulich" <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
 <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com>
 <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
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: SN1PEPF00036F42:EE_|CYXPR12MB9319:EE_
X-MS-Office365-Filtering-Correlation-Id: 75b7899f-e334-4b4e-d6e3-08dd5dd48f0a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024|4053099003;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NFZIanNWUjk0MFpjZEFQMHhqNVhhZ0pPckpqT1ZGQU5OUGtwRndNb3VWWmRW?=
 =?utf-8?B?MXZKczVHM3NDRGo1dDdDK1FUNGFMR09lQXFJMklscVJ5SDY1VitKQ0tZSldx?=
 =?utf-8?B?WVpPS0Jqd2dTKzFWVUxpL1lUb3l0djVkUjdCTWV2WUZkOEdsRWVZdGNGaFRJ?=
 =?utf-8?B?ZVViNldsSUNVZHl2bi9vN2RoWnJVZWkvbHFhelYralFHVWI5aFhNR0hOZG5u?=
 =?utf-8?B?NjFaR2pOZ0t4K1J0WE1yVzRQaWpWZWEyeFB1QTJEVE5GYUsrTkVlcWxPUXEw?=
 =?utf-8?B?SUh0bUlPTEdyZW5laE4vRzk0RS9NeG9Ka1hGcHhCTlpzMFV6U01Ca3dZUmF0?=
 =?utf-8?B?TzI0b2JGak83UUViY3VyeG1tcXJ6N2pOYmxQUktTWEw3ak5oTm96M1g2TTVt?=
 =?utf-8?B?dTA0S3ZKbk8vTkpNOGdXZFRCQVdVcXpjNjd5blZWcklsTG5heE5sV0luLzRh?=
 =?utf-8?B?V3lTdHo0OWtqWlg3bWV6dy80QUdWL2dSNGVJTEI5Yzc2dCtnV1NZWFNiaGdi?=
 =?utf-8?B?bjZOc0RWRVVWbFNWTStPWk5jWDZCbXJ4RVc5Rkp2bldXWUwvL1hBYWJDM1ZL?=
 =?utf-8?B?bTJ2NzV4cmgyS3c1ZUhVVm0vcE9nRU83R2R4UlNyQzI4NFFTOWdGcjZwY0dC?=
 =?utf-8?B?TDRKTFhHUHUrdXF1R0hodkJZVHNTYUNXcWpScWppLzZrS3YyWmcxSXdyYXB1?=
 =?utf-8?B?TXdPTmoxaXA2MzlsK0NKMEZVUTVKaG1nZThBM3BPQmlsb0hldlVCYTAvajRD?=
 =?utf-8?B?YWVFc1l0bXpNOFUvZzFndXNMNjl4V2RDcGNpVFZhaEloTDNGeXdwUVYxcmhu?=
 =?utf-8?B?QmtlY3c4NUlFZDhNUkpza1dLSFhWbnJ1UzNLSmVJOVQ3NUVtMXhXUk0xRVhK?=
 =?utf-8?B?MURyTEs4dEFCRGlmS0V5Mk5KYkt3Qmw3dFVwaE52T2ZDUGdMN0hIc2VNb0V0?=
 =?utf-8?B?WmcwN3BnMnFCdzRvenMxRElOR2EzUHlxNGl1U3c0YUhNdk1LVit6VjY3Mjd4?=
 =?utf-8?B?dTZSUnVWbmorRDNPNmdGSmoyVi83ckF6ZHcwVVdTMWI1VmM5cllRdVZQbFhy?=
 =?utf-8?B?c0M5b3BxRDZtUDMvZnVpWU92QjhPa1dIYnQ0aXpubHJJaGlHVzRidzJKYWtF?=
 =?utf-8?B?dkV4UzZTM0VQSDdhQUtYN3RKTUptWStzWTVnbE5lZGZFV2M0RlFkbGNBUm9h?=
 =?utf-8?B?Yy9Qd2l4NUw4MTdzelNmeVZkV1BMMmYrZDdSSEJ1WGJPd1MyWkxHdGRpc0Vy?=
 =?utf-8?B?S0VzRTlTck1pVjZDWTZzMm12ODl3OEhIQkdnNXcwWGx3L3BCdGZFbWU4VlRZ?=
 =?utf-8?B?QkN1TXNpOGZ1dUtWK0NwZlgrL29mVDEzMklNNVJvM3ovaFliTnJiUlRQUkU0?=
 =?utf-8?B?NHF0YjVQSUJNdXgxam1DQjlscTY0WkhQUlY3WTRxNXR0MTBDd0NLeHh2Lzdq?=
 =?utf-8?B?NWJ4N1UrYWxCMWRNNWVQN2hZTzl4a2Jmb2RPaC9xcy9NdWZvSzA2ZVA1eWRG?=
 =?utf-8?B?UzNTQ0tLS0Yybk1MemVSa0dhczZvelRwTVJsZ040SmlEKzRIUS9xLzRWOXdk?=
 =?utf-8?B?VTBSZGhmUS92LytraDlFUkVxRitpWnUwaWNxUlFoR1Y0LzFGRkhLNjcyblNh?=
 =?utf-8?B?LzRSM014NmhhYkdHNy9iWlJjWVhxVzJBQmxPTzlBKzhad0lSLzVPMk41REdH?=
 =?utf-8?B?c1NBTjd3LzcrSlFZc0xub0V1VWtiOFBSNUJhNlVCSCsyeDMvcXU4Y1hNNndZ?=
 =?utf-8?B?VkZuSVA5R0cyZVV6V3NZaWQ3K0t0S3AySFo2cklDVnZsZ01lMDEwNko2bGNp?=
 =?utf-8?B?eks4K2huZHBld2xlWFlkN1daSHdBUHF3K3JyOVdoNDEwSWNIcHRhc0RvbVgw?=
 =?utf-8?B?U0Z4K3hIdDBEV0VvT2R0Y29UVWNtaldTRE50d1VjMHdQbGw4aGRwNmRldGJu?=
 =?utf-8?B?Yk5qZFNOQkpPVXQ2QzRudU9RN2lyUEQ5UWpoeHlXaFZCODNvaEJSWEt5Z0dF?=
 =?utf-8?Q?j2dsICKUeM3tmGyoFsVwXwoolzCOms=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024)(4053099003);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2025 00:02:46.9843
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 75b7899f-e334-4b4e-d6e3-08dd5dd48f0a
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF00036F42.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9319

--------------iyDybqn8S8ILnHMucJG0OJf1
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit

On 2025-03-07 16:21, Julien Grall wrote:
> Hi Jason,
> 
> On 07/03/2025 17:58, Jason Andryuk wrote:
>> On 2025-03-07 04:01, Julien Grall wrote:
>>> Hi,
>>>
>>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>>> Add capabilities property to dom0less to allow building a
>>>> disaggregated system.
>>>>
>>>> Introduce bootfdt.h to contain these constants.
>>>>
>>>> When using the hardware or xenstore capabilities, adjust the grant and
>>>> event channel limits similar to dom0.
>>> Â > > Also for the hardware domain, set directmap and iommu.Â  This 
>>> brings its
>>>> configuration in line with a dom0.
>>>
>>> Looking the device tree bindings, a user would be allowed to disable 
>>> "passthrough" or even "directmap". This means, we would never be able 
>>> to disable "directmap" for the hardware domain in the future with the 
>>> existing property (this is to avoid break backwards compatibility).
>>>
>>> Instead, I think we should check what the user provided and confirm 
>>> this is matching our expectation for an hardware domain.
>> Â >
>>> That said, I am not entirely sure why we should force directmap for 
>>> the HW domain. We are starting from a clean slate, so I think it 
>>> would be better to have by default no directmap and imposing the 
>>> presence of an IOMMU in the system.
>>
>> Ok, it seems like directmap is not necessary.Â  It was helpful early on 
>> to get things booting, but I think it's no longer necessary after 
>> factoring out construct_hwdom().
>>
>> What exactly do you mean by imposing with respect to the iommu?  
>> Require one, or mirror the dom0 code and set it for the hwdom?
>>
>> Â Â Â Â  if ( iommu_enabled )
>> Â Â Â Â Â Â Â Â  dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
> 
> I mean requires one. Without it, you would need to set directmap and I 
> don't think this should be allowed (at least for now) for the HW domain.
> 
>>
>>> Lastly, can you provide an example of what the hardware domain DT 
>>> node would looke like?
>>
>> I've attached a dump of /sys/firmware/fdt from hwdom.Â  (This is direct 
>> mapped).
> 
> Sorry if this was not clear, I am asking for the configuration you wrote 
> in the host DT for create the hardware domain. I am interested to know 
> which properties you set...

I've attached the u-boot fdt commands which generate the DT.  Hopefully 
that works for you.

>>
>>>> --- a/xen/arch/arm/dom0less-build.c
>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>> @@ -12,6 +12,7 @@
>>>> Â  #include <xen/sizes.h>
>>>> Â  #include <xen/vmap.h>
>>>> +#include <public/bootfdt.h>
>>>> Â  #include <public/io/xs_wire.h>
>>>> Â  #include <asm/arm64/sve.h>
>>>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>>>> Â Â Â Â Â Â Â Â Â  if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>>>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("No more domain IDs available\n");
>>>> +Â Â Â Â Â Â Â  if ( dt_property_read_u32(node, "capabilities", &val) )
>>>> +Â Â Â Â Â Â Â  {
>>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & ~DOMAIN_CAPS_MASK )
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Invalid capabilities (%"PRIx32")\n", val);
>>>> +
>>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_CONTROL )
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  flags |= CDF_privileged;
>>>> +
>>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_HARDWARE )
>>>> +Â Â Â Â Â Â Â Â Â Â Â  {
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( hardware_domain )
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Only 1 hardware domain can be specified! 
>>>> (%pd)\n",
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hardware_domain);
>>>> +
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_grant_frames = gnttab_dom0_frames();
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_evtchn_port = -1;
>>>
>>> What about d_cfg.arch.nr_spis? Are we expecting the user to pass 
>>> "nr_spis"?
>>
>> Further down, when nr_spis isn't specified in the DT, it defaults to:
>> Â Â Â Â  d_cfg.arch.nr_spis = gic_number_lines() - 32;
> 
> Thanks. One further question, what if the user pass "nr_spis" for the HW 
> domain. Wouldn't this result to more issue further down the line?

I'm not familiar with ARM, so I'll to whatever is best.  I did put the 
capabilities first, thinking it would set defaults, and then later 
options could override them.

>>
>> Dom0 does:
>> Â Â Â Â  /*
>> Â Â Â Â Â  * Xen vGIC supports a maximum of 992 interrupt lines.
>> Â Â Â Â Â  * 32 are substracted to cover local IRQs.
>> Â Â Â Â Â  */
>> Â Â Â Â  dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 
>> 992) - 32;
>> Â Â Â Â  if ( gic_number_lines() > 992 )
>> Â Â Â Â Â Â Â Â  printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded. 
>> \n");
>>
>> So I think it's fine as-is?Â  I could add the min() and warning if you 
>> think it's necessary.
> 
> Regardless this discussion, I wonder why we didn't add the min(...) here 
> like for dom0 because we are using the same vGIC emulation. So the max 
> SPIs supported is the same...
> 
> What I am trying to understand is whether it is ok to allow the user to 
> select "nr_spis", "vpl011" & co if they are either not honored (like for 
> vpl011) or could introduce further issue (like for nr_spis as the HW 
> domain is supposed to have the same configuration as dom0).
> 
> I also don't think it is a good idea to silently ignore what the user 
> requested. So far, on Arm, we mainly decided to reject/panic early if 
> the setup is not correct.

Again, I'll do whatever is best.

Regards,
Jason
--------------iyDybqn8S8ILnHMucJG0OJf1
Content-Type: text/plain; charset="UTF-8"; name="boot.source"
Content-Disposition: attachment; filename="boot.source"
Content-Transfer-Encoding: base64

dGZ0cGIgMHg0MDQwMDAwMCBJbWFnZQp0ZnRwYiAweDQyMDAwMDAwIGRvbTAtcm9vdGZzLmNw
aW8uZ3oKdGZ0cGIgMHg0NUMwMDAwMCBJbWFnZQp0ZnRwYiAweDQ3ODAwMDAwIGluaXRyZAp0
ZnRwYiAweDQ3QTAwMDAwIEltYWdlCnRmdHBiIDB4NDk2MDAwMDAgZG9tVS1yb290ZnMuY3Bp
by5negp0ZnRwYiAweDREMjAwMDAwIHhlbgp0ZnRwYiAweDRENDAwMDAwIHZpcnQtZ2ljdjMu
ZHRiCmZkdCBhZGRyIDB4NEQ0MDAwMDAKZmR0IHJlc2l6ZSAxMDI0CmZkdCBzZXQgL2Nob3Nl
biBcI2FkZHJlc3MtY2VsbHMgPDB4Mj4KZmR0IHNldCAvY2hvc2VuIFwjc2l6ZS1jZWxscyA8
MHgyPgpmZHQgc2V0IC9jaG9zZW4geGVuLHhlbi1ib290YXJncyAiY29uc29sZT1kdHVhcnQg
ZHR1YXJ0PXNlcmlhbDAgICBib290c2NydWI9MCB2d2ZpPW5hdGl2ZSBzY2hlZD1udWxsIgpm
ZHQgbWtub2QgL2Nob3NlbiBkb21VMApmZHQgc2V0IC9jaG9zZW4vZG9tVTAgY29tcGF0aWJs
ZSAieGVuLGRvbWFpbiIKZmR0IHNldCAvY2hvc2VuL2RvbVUwIFwjYWRkcmVzcy1jZWxscyA8
MHgyPgpmZHQgc2V0IC9jaG9zZW4vZG9tVTAgXCNzaXplLWNlbGxzIDwweDI+CmZkdCBzZXQg
L2Nob3Nlbi9kb21VMCBtZW1vcnkgPDB4MCAweEFGMDAwID4KZmR0IHNldCAvY2hvc2VuL2Rv
bVUwIGNwdXMgPDE+CmZkdCBzZXQgL2Nob3Nlbi9kb21VMCB2cGwwMTEKZmR0IHNldCAvY2hv
c2VuL2RvbVUwIGNhcGFiaWxpdGllcyA8Nj4KZmR0IHNldCAvY2hvc2VuL2RvbVUwIHBhc3N0
aHJvdWdoICIiCmZkdCBta25vZCAvY2hvc2VuL2RvbVUwIG1vZHVsZUA0MDQwMDAwMApmZHQg
c2V0IC9jaG9zZW4vZG9tVTAvbW9kdWxlQDQwNDAwMDAwIGNvbXBhdGlibGUgICJtdWx0aWJv
b3Qsa2VybmVsIiAibXVsdGlib290LG1vZHVsZSIKZmR0IHNldCAvY2hvc2VuL2RvbVUwL21v
ZHVsZUA0MDQwMDAwMCByZWcgPDB4MCAweDQwNDAwMDAwIDB4MCAweDFBODAwMDAgPgpmZHQg
c2V0IC9jaG9zZW4vZG9tVTAvbW9kdWxlQDQwNDAwMDAwIGJvb3RhcmdzICJjb25zb2xlPWh2
YzAgY29uc29sZT10dHlBTUEwIGVhcmx5Y29uPXhlbiBlYXJseXByaW50az14ZW4gY2xrX2ln
bm9yZV91bnVzZWQiCmZkdCBta25vZCAvY2hvc2VuL2RvbVUwIG1vZHVsZUA0MjAwMDAwMApm
ZHQgc2V0IC9jaG9zZW4vZG9tVTAvbW9kdWxlQDQyMDAwMDAwIGNvbXBhdGlibGUgICJtdWx0
aWJvb3QscmFtZGlzayIgIm11bHRpYm9vdCxtb2R1bGUiCmZkdCBzZXQgL2Nob3Nlbi9kb21V
MC9tb2R1bGVANDIwMDAwMDAgcmVnIDwweDAgMHg0MjAwMDAwMCAweDAgMHgzQjJFRkI2ID4K
ZmR0IG1rbm9kIC9jaG9zZW4gZG9tVTEKZmR0IHNldCAvY2hvc2VuL2RvbVUxIGNvbXBhdGli
bGUgInhlbixkb21haW4iCmZkdCBzZXQgL2Nob3Nlbi9kb21VMSBcI2FkZHJlc3MtY2VsbHMg
PDB4Mj4KZmR0IHNldCAvY2hvc2VuL2RvbVUxIFwjc2l6ZS1jZWxscyA8MHgyPgpmZHQgc2V0
IC9jaG9zZW4vZG9tVTEgbWVtb3J5IDwweDAgMHg2NDAwMCA+CmZkdCBzZXQgL2Nob3Nlbi9k
b21VMSBjcHVzIDwyPgpmZHQgc2V0IC9jaG9zZW4vZG9tVTEgdnBsMDExCmZkdCBzZXQgL2No
b3Nlbi9kb21VMSB4ZW4sZW5oYW5jZWQgImVuYWJsZWQiCmZkdCBzZXQgL2Nob3Nlbi9kb21V
MSBjYXBhYmlsaXRpZXMgPDA+CmZkdCBta25vZCAvY2hvc2VuL2RvbVUxIG1vZHVsZUA0NUMw
MDAwMApmZHQgc2V0IC9jaG9zZW4vZG9tVTEvbW9kdWxlQDQ1QzAwMDAwIGNvbXBhdGlibGUg
ICJtdWx0aWJvb3Qsa2VybmVsIiAibXVsdGlib290LG1vZHVsZSIKZmR0IHNldCAvY2hvc2Vu
L2RvbVUxL21vZHVsZUA0NUMwMDAwMCByZWcgPDB4MCAweDQ1QzAwMDAwIDB4MCAweDFBODAw
MDAgPgpmZHQgc2V0IC9jaG9zZW4vZG9tVTEvbW9kdWxlQDQ1QzAwMDAwIGJvb3RhcmdzICJj
b25zb2xlPXR0eUFNQTAiCmZkdCBta25vZCAvY2hvc2VuL2RvbVUxIG1vZHVsZUA0NzgwMDAw
MApmZHQgc2V0IC9jaG9zZW4vZG9tVTEvbW9kdWxlQDQ3ODAwMDAwIGNvbXBhdGlibGUgICJt
dWx0aWJvb3QscmFtZGlzayIgIm11bHRpYm9vdCxtb2R1bGUiCmZkdCBzZXQgL2Nob3Nlbi9k
b21VMS9tb2R1bGVANDc4MDAwMDAgcmVnIDwweDAgMHg0NzgwMDAwMCAweDAgMHgxNTEyMDUg
PgpmZHQgbWtub2QgL2Nob3NlbiBkb21VMgpmZHQgc2V0IC9jaG9zZW4vZG9tVTIgY29tcGF0
aWJsZSAieGVuLGRvbWFpbiIKZmR0IHNldCAvY2hvc2VuL2RvbVUyIFwjYWRkcmVzcy1jZWxs
cyA8MHgyPgpmZHQgc2V0IC9jaG9zZW4vZG9tVTIgXCNzaXplLWNlbGxzIDwweDI+CmZkdCBz
ZXQgL2Nob3Nlbi9kb21VMiBtZW1vcnkgPDB4MCAweEFGMDAwID4KZmR0IHNldCAvY2hvc2Vu
L2RvbVUyIGNwdXMgPDE+CmZkdCBzZXQgL2Nob3Nlbi9kb21VMiB2cGwwMTEKZmR0IHNldCAv
Y2hvc2VuL2RvbVUyIHhlbixlbmhhbmNlZCAiZW5hYmxlZCIKZmR0IHNldCAvY2hvc2VuL2Rv
bVUyIGNhcGFiaWxpdGllcyA8MT4KZmR0IG1rbm9kIC9jaG9zZW4vZG9tVTIgbW9kdWxlQDQ3
QTAwMDAwCmZkdCBzZXQgL2Nob3Nlbi9kb21VMi9tb2R1bGVANDdBMDAwMDAgY29tcGF0aWJs
ZSAgIm11bHRpYm9vdCxrZXJuZWwiICJtdWx0aWJvb3QsbW9kdWxlIgpmZHQgc2V0IC9jaG9z
ZW4vZG9tVTIvbW9kdWxlQDQ3QTAwMDAwIHJlZyA8MHgwIDB4NDdBMDAwMDAgMHgwIDB4MUE4
MDAwMCA+CmZkdCBzZXQgL2Nob3Nlbi9kb21VMi9tb2R1bGVANDdBMDAwMDAgYm9vdGFyZ3Mg
ImNvbnNvbGU9dHR5QU1BMCIKZmR0IG1rbm9kIC9jaG9zZW4vZG9tVTIgbW9kdWxlQDQ5NjAw
MDAwCmZkdCBzZXQgL2Nob3Nlbi9kb21VMi9tb2R1bGVANDk2MDAwMDAgY29tcGF0aWJsZSAg
Im11bHRpYm9vdCxyYW1kaXNrIiAibXVsdGlib290LG1vZHVsZSIKZmR0IHNldCAvY2hvc2Vu
L2RvbVUyL21vZHVsZUA0OTYwMDAwMCByZWcgPDB4MCAweDQ5NjAwMDAwIDB4MCAweDNCMkYx
ODIgPgpzZXRlbnYgZmR0X2hpZ2ggMHhmZmZmZmZmZmZmZmZmZmZmCmJvb3RpIDB4NEQyMDAw
MDAgLSAweDRENDAwMDAwCg==

--------------iyDybqn8S8ILnHMucJG0OJf1--


From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:16:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905462.1313273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqhrd-0001rw-Pz; Sat, 08 Mar 2025 00:16:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905462.1313273; Sat, 08 Mar 2025 00:16: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 1tqhrd-0001rp-Mt; Sat, 08 Mar 2025 00:16:25 +0000
Received: by outflank-mailman (input) for mailman id 905462;
 Sat, 08 Mar 2025 00: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=MIyW=V3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqhrc-0001r6-6N
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:16:24 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20615.outbound.protection.outlook.com
 [2a01:111:f403:2415::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9082c9de-fbb2-11ef-9ab7-95dc52dad729;
 Sat, 08 Mar 2025 01:16:23 +0100 (CET)
Received: from PH7PR10CA0004.namprd10.prod.outlook.com (2603:10b6:510:23d::22)
 by MN6PR12MB8489.namprd12.prod.outlook.com (2603:10b6:208:474::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.22; Sat, 8 Mar
 2025 00:16:17 +0000
Received: from CO1PEPF000044F9.namprd21.prod.outlook.com
 (2603:10b6:510:23d:cafe::1b) by PH7PR10CA0004.outlook.office365.com
 (2603:10b6:510:23d::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Sat,
 8 Mar 2025 00:16:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F9.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8558.0 via Frontend Transport; Sat, 8 Mar 2025 00:16:16 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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; Fri, 7 Mar
 2025 18:16:14 -0600
Received: from amd-BIRMANPLUS.mshome.net (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Fri, 7 Mar 2025 18:16:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9082c9de-fbb2-11ef-9ab7-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dOyZzMtiqHyTAAI3GFFrJpDwcasBslHC0E3WemiSzDtxNmlqwgy0vaNowC5uQwphNpy7iTntYajsO3bBp+CtpD5kAu8vOU0mGYIcr4dA64fyKkyEBGGLQ8L+196xoOs9zd6LT4l4q6YVynv6SdGeR9aJ6r4TWwKW6vefIY5ov/+ywx2Rv4wef6JGxExi+YEBQA3qD5XeO/5VTeyEK9FUf5LLQnnC0xdUQln39JvxIctKbU4qIlYFdFgG4kxZJ1KRTcTXdUSYGzynGxQQbj5tWf6trvy56tpy9KOk339gcArJNETCQaV5qQqfBwv+GJ1fewUAbEHEIdR7dSVhEvv7Ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vaI6EZemoHm5B0weo/dwTRxCldsMAovM/DZArusHS5o=;
 b=l5ljIHZy5JUoLBO2iWUpeyHRN096+2kMNFHsVvzdxJWSN4yoKmblrzRr4c7dET0IJCWJ8UkRZNkyD7nQptz/xSjHuM0lW3/0lGE/CJrWnu944zos+jAiv7nLQkjOkE9Jk6zr7sB+Dvd5p7IKE/vUPvxNcDmqDDdLUKpgd0GUOmapbrAiTWgMvZKWdK6AOzEBcJvAbOjZHFjmftq/oz+su5vE6QGgQaMuW4ilkcjZiIQpraz3vFTnQRFha7ElBO+Xx8n2Bo9acBrnRyf+LQlibjd5Fa4V++qdMawWvEec/FkZNjjsCvz57JVa3gz6f5q6ILhyb204aFq91IPxMQOJxw==
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=vaI6EZemoHm5B0weo/dwTRxCldsMAovM/DZArusHS5o=;
 b=ZoLN2mhpMXJrv4+7mtdO5LdJKiD9qyLaeqHFnHgShm1W9m0IzQNgJpNfQuF7Z+33Hlo6js6GEGqKZNK/rIC2ItSfCPu8ymmJ11T3/wquDw6FMnzxzNBMxlKlX1fkkNb7IQ7MmDNrVn1eUC7b36U4vby582+VA1iJId3Qnz4gAOc=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Anthony PERARD <anthony.perard@vates.tech>, "Juergen
 Gross" <jgross@suse.com>
Subject: [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi()
Date: Fri, 7 Mar 2025 19:17:10 -0500
Message-ID: <20250308001711.18746-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250308001711.18746-1-jason.andryuk@amd.com>
References: <20250308001711.18746-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: CO1PEPF000044F9:EE_|MN6PR12MB8489:EE_
X-MS-Office365-Filtering-Correlation-Id: aae5044f-80fa-4e59-361c-08dd5dd671a1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?crl9VXGY2PFwrB36WhG/XNRpL7LndwBx7oGcDn9nCcmoNrWb7McEGcCQ/Bui?=
 =?us-ascii?Q?5NmgrSdQt30q60KKr6E13tL72E+pHvv+wk0QmE/phVvuNFagPfLNT4HLWRAC?=
 =?us-ascii?Q?1k/iOOxp8Q77963JH0ePN5TVX4GWkvj1ZNJ/75KDDUewv5S/qLkgeD3yzt/e?=
 =?us-ascii?Q?wAZefpC8ZDpwoKiSohev7r6NRfz/UOSXeCsoQGAt+WdlFRiznhBDPQJt33gb?=
 =?us-ascii?Q?EVbirr2MyRiqsLPwtAs1pUV4mBxJ5XT7qzlTq1bqifsHRZ8NnvpRa6203B3l?=
 =?us-ascii?Q?cohSBBr8eTBqqOBd644j7EXkWr3ENvN5dzzzgK9Xqf72CAtjfPU8jv8QXSIF?=
 =?us-ascii?Q?Pd0BYmc7T8awHpTqD4yQBMZ+jGIRbfnlzTNFfkfEC/6YncwLCy4B9kilUh0t?=
 =?us-ascii?Q?HmUzJgmUrLC6D4NPpBK1s1BmaRCtKUsYGCuNwxymGVADW6OQMm5DMaaekLjp?=
 =?us-ascii?Q?rKlmLst4w4WtAldl7QpL3Z07SLJmhg+JWtDuo7q2MppoSSMEktlvwjXOUZX3?=
 =?us-ascii?Q?8RZp3UCp+wpFfWlUkJEuEniKOaOp/ezeNgrFGHM4EiqKkJ9dBZsRoUwspQYb?=
 =?us-ascii?Q?I4BXLxdHaQinvafaeVZ7FubYz+Ywx6zNxbAKLQfF5a8m1DArawFmgIRf64ds?=
 =?us-ascii?Q?HeqA08PzRenOQfl5oqAnQjG1iFoF53viO7RKUndndbDcC1iQtgcWzwABrGLC?=
 =?us-ascii?Q?aartSRBSYjeFAWDtCQoM8yDZcBjsL5fjYJKq7dVBGSwySYfmuGsnmDkpVkah?=
 =?us-ascii?Q?itrCn0kiM+o88ioaZOCwVmk1F9wHaesKMC0tZIoa9DiczxL5itQoMdQgNcaK?=
 =?us-ascii?Q?oHKjfaeXpeq8yodkvLohMGbWTUEQuQrD00SID2qoyovJXM44Gyi6EjDw/MJy?=
 =?us-ascii?Q?uqjd0iroyhGY3ZGBOyelDJTYF1oFOk1rR3SMLo+P3nAqUhCuWQknVXHvbjwv?=
 =?us-ascii?Q?IkdyCVjKqaRd0RZn2F0bWtbXVmMeI9p6y/XT4kXt//MBUYy1j4WzTx5EF25Q?=
 =?us-ascii?Q?+ejc+UtwEO1IqdQsg2h4dVTDfQXo1jE4LIzoVGjRNdk/B/aXzv5Yp73oabWn?=
 =?us-ascii?Q?XyPIG41EfX59q2hOhvAmqp9yY/bNU1pvgzuqtSJtG93t/KzKbghK2303mNAb?=
 =?us-ascii?Q?A+FgGcJJzAh+/izbSj/MdiL36oNwYeSqZPZH4fqjGWIVSBiChcuZPrP+vz4u?=
 =?us-ascii?Q?1QRx7Fy0LxAirlHk/rlBXVFYKFAbMvomFnT66967YBRq2kdR5ydMTrteox8O?=
 =?us-ascii?Q?U7o+Zpoqgu4Zto+nQR2MkOlmpN/lKKTIqne/OPwLIPNpV2IbohCyiijfmQU4?=
 =?us-ascii?Q?9Jzev+5k+ZjOolSRNsbcjWBzj8fA8cX2CurSXEzJi/o+V7in3Y+t+SJWxbpM?=
 =?us-ascii?Q?MnXmZI6J6ym6wO6VSvu3x0aR3w7OmCpJy8+56wHNK4thc3upgrOHEzzcL1rl?=
 =?us-ascii?Q?WHRBQ/k/AKXaJGduCjhTa9Q+/X0eN+dBBoi0r+Lwe7EMZHCK98iOcQ=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2025 00:16:16.5690
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aae5044f-80fa-4e59-361c-08dd5dd671a1
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F9.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8489

It is valid for a PCI device to not have a legacy IRQ.  In that case, do
not print an error to keep the lgs clean.

This relies on pciback being updated to return -ENOENT for a missing
GSI.

Fixes: b93e5981d258 ("tools: Add new function to get gsi from dev")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Use Xen code style
Print sbdf
---
 tools/libs/ctrl/xc_linux.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/tools/libs/ctrl/xc_linux.c b/tools/libs/ctrl/xc_linux.c
index 92591e49a1..2b2d7b3196 100644
--- a/tools/libs/ctrl/xc_linux.c
+++ b/tools/libs/ctrl/xc_linux.c
@@ -77,9 +77,14 @@ int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
     ret = ioctl(xencall_fd(xch->xcall),
                 IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi);
 
-    if (ret < 0) {
-        PERROR("Failed to get gsi from dev");
-    } else {
+    if ( ret < 0 )
+    {
+        if ( errno != ENOENT )
+            PERROR("Failed to get gsi for dev %04x:%02x:%02x.%u",
+                sbdf >> 16, (sbdf >> 8) & 0xff, sbdf >> 3 & 0x1f, sbdf & 0x7);
+    }
+    else
+    {
         ret = dev_gsi.gsi;
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:16:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905463.1313278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqhre-0001v6-0O; Sat, 08 Mar 2025 00:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905463.1313278; Sat, 08 Mar 2025 00:16: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 1tqhrd-0001uD-Sv; Sat, 08 Mar 2025 00:16:25 +0000
Received: by outflank-mailman (input) for mailman id 905463;
 Sat, 08 Mar 2025 00:16: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=MIyW=V3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqhrc-0001rU-I0
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:16:24 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2418::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9041b69d-fbb2-11ef-9898-31a8f345e629;
 Sat, 08 Mar 2025 01:16:22 +0100 (CET)
Received: from PH7PR10CA0021.namprd10.prod.outlook.com (2603:10b6:510:23d::20)
 by IA1PR12MB6410.namprd12.prod.outlook.com (2603:10b6:208:38a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Sat, 8 Mar
 2025 00:16:18 +0000
Received: from CO1PEPF000044F9.namprd21.prod.outlook.com
 (2603:10b6:510:23d:cafe::59) by PH7PR10CA0021.outlook.office365.com
 (2603:10b6:510:23d::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Sat,
 8 Mar 2025 00:16:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F9.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8558.0 via Frontend Transport; Sat, 8 Mar 2025 00:16:17 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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; Fri, 7 Mar
 2025 18:16:15 -0600
Received: from amd-BIRMANPLUS.mshome.net (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Fri, 7 Mar 2025 18:16:15 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9041b69d-fbb2-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eQt612TIsesfj61qVT3feg4EtqBv3xS6ptkUtg2MyImjbFuMXM8Jt0Bzgewp8Uf4hzjjUMuGXtI2f8E8J5/NCD5f0exssQWDtV+d4yJ5EJaUGw4ztrupoEO2z/4By2Sm5rK2JKvs9yPSXuabpJ4v+wn8uHfkapwIK6+MYUma6ib/B7vv7JSs/1BOUJ8a+m2P/WnDDkvmCD9nWYCTElokmkWuoHQTwbQSdI5KVGsEJXGlAWf+NCITU8hUikyUsVjbsZXDSvHrnv+BvVH3swk8N0NxzNdDXXSNfeumeDZkQO5AJJCuRYYcLBkJKGoq4MEvBHsLJVje/+13nOyZrpau7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YYdp2KXh51I7oF/KfEovWNzNxs0Oiy1xi9uDyok5KHo=;
 b=AJDDG0W8kwt12d+BUQGOxnw3cerA0AyW/+BNyJ4qIbhTINeCBNC8RJstn5JXFdrT2RBxWAqUr6KjJrnd6aIVVm2GBT8WIMSl+GtMtj0DgcHme3ZQ8VVBblf0SHpKFyH0szxpgOLs7uhFTqvp7ae/cz+pJZsagnypj3CTXRNJi2/9KEhlhZbxl9wPUY/Ua4IiAIi6t2QfZDECwVMNkVP+74tmxXgfpe7WB2mBtq1AMp4Vz/PmRDTiM4yQG6j7Hx5KlQj957akfM0GLkDn1bp3y/MBKwIKM+0Q/5/f5XDxTStQMNVmN107kXoRBijGr+L5n3U4FryjAXNk5Qt8ZXOM3A==
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=YYdp2KXh51I7oF/KfEovWNzNxs0Oiy1xi9uDyok5KHo=;
 b=YXPIK1U2vVLq88kcvz8nPZC+Ige/6SIQ3ZE86AMgSOX5mK1OjOr0F8L7STOXVqKDB3we7iZUPtZjMxRG4oL0T4IYV32TILckVs0IwsLlJ7EQoZjlmHgEnCBXZPgrSqInqHmSiGZqTKyH8CoCtQzACGC6F6mBoxhVmybZ7z8gSCw=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Anthony PERARD <anthony.perard@vates.tech>, "Juergen
 Gross" <jgross@suse.com>
Subject: [PATCH v2 2/2] tools/libxl: Skip missing PCI GSIs
Date: Fri, 7 Mar 2025 19:17:11 -0500
Message-ID: <20250308001711.18746-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250308001711.18746-1-jason.andryuk@amd.com>
References: <20250308001711.18746-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: CO1PEPF000044F9:EE_|IA1PR12MB6410:EE_
X-MS-Office365-Filtering-Correlation-Id: da3c284c-9343-4e23-8fc8-08dd5dd6725d
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?GjOiJTr3JjPpxuNlovop37ktWU2vWuxpoppWMUA+OlaBMb19IN6F2fQQiq4V?=
 =?us-ascii?Q?XPFl3GLKApMJYQR21HliqZSnR78ecsaIV2+km8TV049saDuE44h1m0MCTV2H?=
 =?us-ascii?Q?yz6IUn5TjtN5zHeu2yTPwVhPku4Z94nAP3iCBL2kusBT7I27CzZ4DDzlPMLe?=
 =?us-ascii?Q?THmsij7yABHAbMFb7Nt28JSUE49Qi21sj/4utd1GxBqnM5jL0VoykJRb+b39?=
 =?us-ascii?Q?ARrR0kyDN50obLgs4gqzf5flIalfXw2vGcPW2gDDd84CoNER0Qtt8Q+mBIcA?=
 =?us-ascii?Q?7x6Tk1sbMhStsYlGfwJLCw1vxnYobnAGVqB7jDNvb6rcPg96ZnRlS1mZW0Sh?=
 =?us-ascii?Q?fexZjNEsqZ440N+p1FDwWruyBV0qmMoNYtpTEKMbzwNYJyyXgxaXDi+QIhuP?=
 =?us-ascii?Q?WonrflP/OvUy33aWHnuR3NXbkCEvRjZDkoRDUoRWZWE09KLLHMHOzVqRz3zL?=
 =?us-ascii?Q?x41Nmms2j0W3FKQ4GUHsCzHpKPfd0GzLlhHaj/n2h3XmYuKb0yJv+v0O48oJ?=
 =?us-ascii?Q?eiwgt+EY1Zd3TbqKj6pbWe0hBozGg3nedfUjrlheTGp7dPV/l4lijGP0ctf5?=
 =?us-ascii?Q?gW+40gUpcoY/basLbYpbE5epgP3KX0UGEbQWlrNzQgMgKgXGl3tzgdq3Dqol?=
 =?us-ascii?Q?I/fGW5DQcmz36TxhQgZJQ9DlyrOZtT+iYH/bfPIQlk8UM+andk/dUqW1KNqS?=
 =?us-ascii?Q?B5i6YaKGoSzP8SYycIE3cpLkKwsurFB9RL6orrylSdmFkT+l7XpS9bBeHZJR?=
 =?us-ascii?Q?9tFB8239yd/1Sssup0CZI9tLHoKwk0HWQubIVHz5zYTv8rcP0SljDg+cdyXB?=
 =?us-ascii?Q?AfOtyiRSC0ZbCJ2VuKKRsPCZtFqZB46ljzyJuMf2gNuHqi6fzwolkNpq6mXE?=
 =?us-ascii?Q?XxENm5YMm4F1sKXEVc5pVfhMF0o+9XYeytI6IUyDQ8UPmkUJ5AFpMa1UtGPM?=
 =?us-ascii?Q?xxuF8hKnWMMeRZGVjLYo8PR14u5MmKwIfisjPwhkyqVwd8J9CGFOHLxkTBLU?=
 =?us-ascii?Q?3/x7L4IOKo3go//Jc0rIMAkix7safhjHM8fD0oQ/kCnK4pDreCVDxmtxzEsY?=
 =?us-ascii?Q?BRCaOdnYFCBDTrkZESXfllTK9j8EAAIMtEfAeXLmVj0kRjd2FtC3weDw/BXF?=
 =?us-ascii?Q?pfrG47fG4vQUWSaY0DUoZysZ/rB/Vqi9OxAUWZtvtbAL9X3VfqXzR6r4+Vul?=
 =?us-ascii?Q?aS5nAekxYCQdTCVDB/GMjNH/yKO3rPgL1uA3u3eicNqIvkMFtIjl9b3lrQaO?=
 =?us-ascii?Q?9thIkkvtMcm/m3WO60BoZDwOrk2cGX3hrv8SiEVJZJCJH7KoaIEOdsFUdt5A?=
 =?us-ascii?Q?TnXO6rM7oX5cRK8Q8BYpCkRSxyGybVuKgp/0B2oXJbZYJHm6Lf7E+yEVCc5q?=
 =?us-ascii?Q?SqDFKGT/vOQhJ3yD/zA9NVfQ8xbbkpZCk0B1qZr6t46nBx9n+R7FjePV86Po?=
 =?us-ascii?Q?9zDrH1Cw3z23gfDebpq+akXPU0q4Bu9fwl/3PtSKiBHc6THbx/AC/A=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 08 Mar 2025 00:16:17.8034
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: da3c284c-9343-4e23-8fc8-08dd5dd6725d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F9.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6410

A PCI device may not have a legacy IRQ.  In that case, we don't need to
do anything, so don't fail in libxl__arch_hvm_map_gsi() and
libxl__arch_hvm_unmap_gsi().

Requires an updated pciback to return -ENOENT.

Fixes: f97f885c7198 ("tools: Add new function to do PIRQ (un)map on PVH dom0")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Use gsi < 0 - Jan
---
 tools/libs/light/libxl_x86.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index a3164a3077..0a7f64ad46 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -901,7 +901,10 @@ int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
     int pirq = -1, gsi, r;
 
     gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
-    if (gsi < 0) {
+    if (gsi < 0 && errno == ENOENT) {
+        LOGD(DEBUG, domid, "xc_pcidev_get_gsi no gsi");
+        return 0;
+    } else if (gsi < 0) {
         return ERROR_FAIL;
     }
 
@@ -925,7 +928,10 @@ int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
     int pirq = -1, gsi, r;
 
     gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
-    if (gsi < 0) {
+    if (gsi < 0 && errno == ENOENT) {
+        LOGD(DEBUG, domid, "xc_pcidev_get_gsi no gsi");
+        return 0;
+    } else if (gsi < 0) {
         return ERROR_FAIL;
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:16:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905464.1313286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqhre-00020H-BX; Sat, 08 Mar 2025 00:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905464.1313286; Sat, 08 Mar 2025 00: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 1tqhre-0001yp-4P; Sat, 08 Mar 2025 00:16:26 +0000
Received: by outflank-mailman (input) for mailman id 905464;
 Sat, 08 Mar 2025 00:16: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=MIyW=V3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tqhrc-0001rU-R1
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:16:24 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20623.outbound.protection.outlook.com
 [2a01:111:f403:2412::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e66e51e-fbb2-11ef-9898-31a8f345e629;
 Sat, 08 Mar 2025 01:16:20 +0100 (CET)
Received: from PH7PR10CA0001.namprd10.prod.outlook.com (2603:10b6:510:23d::23)
 by SA1PR12MB6894.namprd12.prod.outlook.com (2603:10b6:806:24d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.22; Sat, 8 Mar
 2025 00:16:14 +0000
Received: from CO1PEPF000044F9.namprd21.prod.outlook.com
 (2603:10b6:510:23d:cafe::25) by PH7PR10CA0001.outlook.office365.com
 (2603:10b6:510:23d::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Sat,
 8 Mar 2025 00:16:14 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F9.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8558.0 via Frontend Transport; Sat, 8 Mar 2025 00:16:13 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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; Fri, 7 Mar
 2025 18:16:12 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 7 Mar
 2025 18:16:12 -0600
Received: from amd-BIRMANPLUS.mshome.net (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Fri, 7 Mar 2025 18:16:11 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e66e51e-fbb2-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=y/nW+jAmZRSb4D51rOTPYBhvhe5Kn7GTCQ91LW3ut6zR97Sz8kZ84bHMRPNNFimE4OBO+t2QXlAc14yBdYCVkIJq1nkeAmeUDNigO8drjtsoBJVj45DuVwLwDqtaEOFrg0SSKAHCK4lNY2AFZM63rvH9gvjI3HTb5QPbm5LjsbboFWCPmiUUZIBXAsS2wLvBkH4jXDHU0EGDzdw/Lh6Lgeazo8KJ9CCKkBR87PRX1ERSVBcckY1U7+V56g/gcyiLZCg+KS5e4NpXEF6328go73jbGNtPNQVKeqx/aVjp558I0LxOiEI6N9gBkNYHoOt+8Ks4ZE6gl9CyEoAIAArxnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OVbyUMe/ZD9zRIAvR8guy+m7+oje+qEheIUUpEhekXU=;
 b=jMWJtFGuYZYr/9wKulocGB3AcWipRUj977Kd3+1bBRElX6PkimilCus9J5IgoSPjpPGtx4f+9kSjD0A9GSijNMwO5PQ18ENr9hHyDco61d0KPZJTAGCmADDkHd1fbIDLdiQmasFJ6yLopa5oyymCIgjUc3jvP17/+waqp9Qo4kWaqUzJNZpg874z3KnoRAI2DMEAR44n9bh9nN/91PWUVZ2pA/onudioQiyagY0HOY9YXL00SbwLqgTBg7Vjf2fQcAo9XRUWOjx8ym3NQ8pj0Q/YDO3f2teAN83fzNChvjQVhRUpbyQYGEu0FtYUAb1/bckWWrpm1HpxzopEV99SWg==
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=OVbyUMe/ZD9zRIAvR8guy+m7+oje+qEheIUUpEhekXU=;
 b=h0bpCtIoDa6SZb/lg09EJvIrDrxI0hNm4lK/VE2nZywV4A0I5qzelOCClyfCxuyA1OOv2aDj7ddqDsQ4+Hv6QO+103uH3t9lBDGJi+RjAa7G9/kC3nvU5OB6iLqE9TymaIpayY0ykwaUMZxPpOHXBO9yhBGB2FiJ+Nla1Rsczlw=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Anthony PERARD <anthony.perard@vates.tech>, "Juergen
 Gross" <jgross@suse.com>
Subject: [PATCH v2 0/2] tools: Fix PVH dom0 passthrough with legacy irq
Date: Fri, 7 Mar 2025 19:17:09 -0500
Message-ID: <20250308001711.18746-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.34.1
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: CO1PEPF000044F9:EE_|SA1PR12MB6894:EE_
X-MS-Office365-Filtering-Correlation-Id: d9b8df83-8ae7-41a2-eb55-08dd5dd66f8f
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?FuB2sQHpqfGzZ0dJl8zDEJj8VWxQ2TdgCvkaxVcpXv0veOCcuTiEiFjO9kV4?=
 =?us-ascii?Q?BtY7Aw7jqsoxNZCmgSnO3EfuQ+/HAWHR69jJ/Sl6hZQCVbzKHEEanKpTEjhK?=
 =?us-ascii?Q?5qZhadusR8Br511jX8c49+olniY1QV0alY3NF0K4IFAubv8k0hIU8CoO44dl?=
 =?us-ascii?Q?rOf6TRhpk9qQSP2zSq1uUY0oGg8jWghvQVe1Q7iGm/SaFl7FPXtMlb5fcm8d?=
 =?us-ascii?Q?1OIEqckB79dSsp1XXWJWYQtfBeWFzXvW7ePYYFRwuBgNrU59P37auNZakGhS?=
 =?us-ascii?Q?3UQ0k5DM7DTnG7LrA0FLVdQIW5tQRDbaM9z9JzyWm+/l42DNF9e+x6sWX4sd?=
 =?us-ascii?Q?G7X9DbzzVp7xsXJeFwp12FBFjLWUUkPUdOd1s7DvrP4mpb9OuvLHwH5ZfAiq?=
 =?us-ascii?Q?+yiGmvrXErnt+HGthU8ca/gmLQqqzz1G2B5Wbepm1hvcwKepAgniNoPO2EFT?=
 =?us-ascii?Q?HTPO9jSb0jLdmmz2CkDXgLuyEV+RaL0jm4nbIKjT11z9KX2oHQCr1Dg7vzbI?=
 =?us-ascii?Q?LYoUEGe0eFzJ0U2O8wZ623v1hCQxFSzZVHak2TnadHcGh46TldBvjrcm4Bd0?=
 =?us-ascii?Q?PJmMrWKEPPMh1LerSGgATW9d5mGMowc7ELiTFP7YgTtXjM3PlwYk8TivlRsj?=
 =?us-ascii?Q?Gtusv7edTYx7TZIfA62wWbo2WafTEEV8C4NA42+6JTaPhOsNOw+dp4b7+Xht?=
 =?us-ascii?Q?WyZiO18Gft+sUrQgOOPghCS3+JjX1MCD1JKMvSWuV0EGbQHm7Hi2X3bTA1pS?=
 =?us-ascii?Q?9IpnLRuGPqK3hqWnHVG+/UgX9O0iwyVNzQODjYwB8dxVMoiGNmUj4FBXxaK9?=
 =?us-ascii?Q?aZP7GIknSd9gHkmbyWLML5jVJeCZDWkEgj3pJNUbid61ROiY4bSQ2FBaoM9T?=
 =?us-ascii?Q?FYk4ZrUKUOYwNP5rhksNtGuCmT3/63vA3L52xYEnCh+XIiQgoMg2E3YnDO9o?=
 =?us-ascii?Q?8s89zP/8/H/ygR+sfY0MUwBO39QLgiA+g5/0l3efxe0xGzLiYpEVozl1NIpj?=
 =?us-ascii?Q?321CNykPAbVQ4uBG1D6QMnQWotBbJM0yBZ4mPhZPWqZoBMCVK5an25fZ9xRO?=
 =?us-ascii?Q?GmIhVPF9Xmvb7uuoBRrYzKmjD1YYEvTy8KuZf/rwON/CgpvTTVT6D82X935W?=
 =?us-ascii?Q?pN9y+WWkH7AF/NNVvm4h3IEvSM1Kntf38mh83+05WxryN8iBnMzh3c6T/Hgi?=
 =?us-ascii?Q?b4ceO7+9Tgm094RYcB7xlYfMN5BqmIB7dmwpC+vyPS9fgZDRkyVL5h1bHaaQ?=
 =?us-ascii?Q?T6xCIGlfIF4Uc0TdRIePNe+uONwq5cxKr0YRImA4QGvNpnhhTcqMmcX1vLkn?=
 =?us-ascii?Q?1eE4j07RG+XTj4oZlNrO+oR58nnUud5bJt94rNGuzgIyAADntbweJMvepFQi?=
 =?us-ascii?Q?bAonqyBSZ78eMfOg2xe1t6MTeCdDzuB8LP+ugYI4MHBvSNwV1Qw9oS2k8UYw?=
 =?us-ascii?Q?zraz6f529JPgDyOAt2YfyzVFR84o2uXu?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 08 Mar 2025 00:16:13.1003
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d9b8df83-8ae7-41a2-eb55-08dd5dd66f8f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F9.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6894

A PCI device may not have a legacy IRQ assigned.  This series allows
passthrough of such a device to a guest.

It relies on a Linux change to xen-pciback to also handle missing legacy
IRQs:
https://lore.kernel.org/xen-devel/20250226200134.29759-1-jason.andryuk@amd.com/T/#u

Jason Andryuk (2):
  tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi()
  tools/libxl: Skip missing PCI GSIs

 tools/libs/ctrl/xc_linux.c   | 11 ++++++++---
 tools/libs/light/libxl_x86.c | 10 ++++++++--
 2 files changed, 16 insertions(+), 5 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:40:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:40:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905494.1313304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqiEu-0000Cx-37; Sat, 08 Mar 2025 00:40:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905494.1313304; Sat, 08 Mar 2025 00:40: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 1tqiEt-0000Cq-Vi; Sat, 08 Mar 2025 00:40:27 +0000
Received: by outflank-mailman (input) for mailman id 905494;
 Sat, 08 Mar 2025 00:40: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=7c++=V3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqiEs-0000Ck-FN
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:40:26 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9ae1425-fbb5-11ef-9898-31a8f345e629;
 Sat, 08 Mar 2025 01:40:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id A25E25C4ABA;
 Sat,  8 Mar 2025 00:38:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34355C4CED1;
 Sat,  8 Mar 2025 00:40: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: e9ae1425-fbb5-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741394419;
	bh=sOvqEJwEZSzFsZtvgel1LGoHafNyDQKD1Uufc0hgZk4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nOirclNAR90x62tUo18PHbJ2illWTctbQcFmrqOmq7DXF942h7SYzd7BIEjv9CU5K
	 tUNsyFina5awEALQF6dsZ+1dmj/BV9oEnt4ZQS2JIK7WrR3gmWx2uaYLmYyLn9myAP
	 znXx/CpU1Fqins9pogYPA/KWDlml+DyaM7VuBZomDJV2IWC8Fr/Jwp3zCd6X40VOk5
	 TiHWTjNJu6oxupaxeHPjmcCmjCEAHcobrqWRiCwVkXgxjgSMs1qTiVaj9Km2+FaGbj
	 gYNk38NkZ+9KK7Tlexk7Tt3dH6ujVm49wNmjgbNinqwJMhIwkxGe1nvxFyt7MxTkfn
	 krk8ljiDeXVeQ==
Date: Fri, 7 Mar 2025 16:40:13 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
In-Reply-To: <ba5b9675-fa62-4872-b969-e5ecc917a087@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503071450480.2600338@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-5-jason.andryuk@amd.com> <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org> <734d9fdf-a201-4a46-9739-26a474683b10@amd.com> <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
 <ba5b9675-fa62-4872-b969-e5ecc917a087@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-556157648-1741388131=:2600338"
Content-ID: <alpine.DEB.2.22.394.2503071456300.2600338@ubuntu-linux-20-04-desktop>

  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-556157648-1741388131=:2600338
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2503071456301.2600338@ubuntu-linux-20-04-desktop>

On Fri, 7 Mar 2025, Jason Andryuk wrote:
> On 2025-03-07 16:01, Julien Grall wrote:
> > Hi Jason,
> > 
> > On 07/03/2025 16:03, Jason Andryuk wrote:
> > > On 2025-03-07 03:31, Julien Grall wrote:
> > > > Hi,
> > > > 
> > > > On 06/03/2025 22:03, Jason Andryuk wrote:
> > > > > Assign domid 0 to the hwdom.Â  Normally, dom0less does not use domid 0.
> > > > 
> > > > A few years ago, we went to great length to avoid making the assumption
> > > > that the hardware domain is domid 0. See all the calls to
> > > > "is_hardware_domain()". So I am reluctant to force the domain ID to 0.
> > > 
> > > I was disappointed when it didn't "just work".
> > > 
> > > > > 
> > > > > This fixes using the Xen console which assumes domid 0 to use the
> > > > > hypercall interface.
> > > > 
> > > > I had a brief look at drivers/char/console.c and I can't find any place
> > > > assuming "domid 0". Do you have any pointer?
> > > 
> > > As Jan pointed out, Denis Mukhin's patch removed the domid 0 assumption.
> > > Â Â This was developed without this patch when it mattered.
> > > 
> > > I tested before posting without this patch (and with Denis's), and again
> > > now, and I didn't get a hwdom login.Â  Turns out xenstored was assuming
> > > domid 0.Â  Changing that with --master-domid gets to the login prompt.
> > 
> > Hmmm, I am not sure --master-domid should point to the hardware domain.
> > Instead, it feels like it should be the control domain because it needs to
> > manage the VMs so needs to create any nodes in Xenstore.
> 
> --master-domid encompasses "the domid where xenstored is running" (which
> really xenstored should figure out itself), and is needed for xenstored to
> start.
> 
> There is an additional --priv-domid, which can point at the control domain.
> 
> > > 
> > > Still, there are now other userspace errors.Â  xen-init-dom0 hardcodes
> > > domid 0 which doesn't exist. 
> > 
> > I am confused. Why would you call xen-init-dom0 in a domain that is meant to
> > be the hardware domain rather than dom0?
> 
> I was using domid 0 :)  Also, it's called by default in xencommons and sets up
> the cpupools.
> 
> > > init-dom0less only initializes non- introduced domains, so hwdom doesn't
> > > get its "domid" xenstore node populated.Â  That leads to other errors.
> >  > > So I think with Denis's patch, this isn't strictly needed.Â  It does
> > help
> > > existing toolstack code work today.
> > 
> > I don't think the toolstack is ready for a split between control/ hardware
> > domain. That said, shouldn't the toolstack run in the control domain? Same
> > for xenstored (unless you have a xenstored domain)?
> 
> Yes, maybe running control and xenstore together is better.  I came from the
> perspective of dom0less with a hardware/control split, the toolstack is less
> important.
> 
> But in general, it's all intertwined.  You have to start somewhere untangling.
> 
> Running xenstored in the hardware domain, and leaving hardware domain at domid
> 0 seemed like a good way to keep most things working while splitting out the
> hardware/control permissions.

In my opinion, there are reasons for placing xenstored in the control
domain and also reasons for placing it in the hardware domain. I think
this is the kind of policy decision I would leave to the user.

In an embedded environment where safety is a concern, it also depends on
whether the user wants to keep xenstore only between non-safe VMs, in
which case I would put it in the hardware domain so that the control
domain is fully isolated and protected. xenstore could be a source of
interference.

Or whether the user wants to use xenstore also for safe VMs, in which
case they are likely to reimplement xenstored in a way that is safety
certified and as part of a safety certified OS such as Zephyr. In this
type of configuration, it would make sense to have xenstored in the
control domain.

I would suggest to make the location of xenstored configurable, and only
provide a sensible default when the user doesn't explicitly say. With
the state of the codebase and protocols that we have today, I think we
are not ready for a xenstore free-from-interference implementation, so
it would be safer to leave xenstored in the hardware domain as default,
but we should make also the other configurations possible.

This is the first patch series aimed at untangling the whole thing,
so not everything can be done here. For example, if the location of
Xenstore is not configurable in this series, it may still be OK. We
just need to be careful in the docs and interfaces not to bake it into
an assumption.

I would also say the same for domid == 0: while it would be ideal to
avoid relying on domid == 0 for the hardware domain, we don't have to
resolve everything immediately. This series already achieves a
significant improvement by separating the hardware domain from the
control domain, which is valuable in itself.
--8323329-556157648-1741388131=:2600338--


From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:48:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:48:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905506.1313313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqiMa-0001tn-Tf; Sat, 08 Mar 2025 00:48:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905506.1313313; Sat, 08 Mar 2025 00:48: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 1tqiMa-0001tg-R1; Sat, 08 Mar 2025 00:48:24 +0000
Received: by outflank-mailman (input) for mailman id 905506;
 Sat, 08 Mar 2025 00:48: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=7c++=V3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqiMa-0001ta-At
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:48:24 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 092a2825-fbb7-11ef-9ab7-95dc52dad729;
 Sat, 08 Mar 2025 01:48:22 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 53991A453A9;
 Sat,  8 Mar 2025 00:42:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1998AC4CED1;
 Sat,  8 Mar 2025 00:48:19 +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: 092a2825-fbb7-11ef-9ab7-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741394901;
	bh=H5oYHhqH4NzBGtKxHm2Nw6mnKCEyM983o340HFIuPQk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OGSYGPRAg8EhBmdTL4nPd6mRVcVCqqz5v9UL32tAJlgoASMyqBN74DLJcscPfCNFW
	 tS/0ttVCcH0wahZZ7Wez+/RoJPAvq4J0YJUIlugzDrjGcAolvi+0vC2jPB9CGAAyol
	 jyM/lhgyT8uJDu71kQaRJird4X7pb3vuH+U6Q2sn82cYEA4jk5sE3HVpi8AoXh/Z0S
	 UGMaa+CtNB/8lBqlWqJLHYyL4zI395neMgC6gL3wLHAHK+Rw6Y7AAXa45em6OKDA+S
	 k2mNvQ009iCuuHwA94Qedg/n7HF+DHSCz65B5BAzk9xnzQYccC21XfK0HlbHxLBWV2
	 PjNzBSBsMSPoA==
Date: Fri, 7 Mar 2025 16:48:19 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table
 entry
In-Reply-To: <d002aef4-3511-4e9b-8ff2-34bb268d9d7d@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503071642470.3032631@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-9-jason.andryuk@amd.com> <4c66ad14-9a30-48e5-aae1-49f61efaaf67@xen.org> <d002aef4-3511-4e9b-8ff2-34bb268d9d7d@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-435799868-1741394695=:3032631"
Content-ID: <alpine.DEB.2.22.394.2503071645100.3032631@ubuntu-linux-20-04-desktop>

  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-435799868-1741394695=:3032631
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2503071645101.3032631@ubuntu-linux-20-04-desktop>

On Fri, 7 Mar 2025, Jason Andryuk wrote:
> On 2025-03-07 16:24, Julien Grall wrote:
> > Hi,
> > 
> > On 06/03/2025 22:03, Jason Andryuk wrote:
> > > With a split hardware and control domain, the control domain may still
> > > want and xenstore access.Â  Currently this relies on init-dom0less to
> > > seed the grants.Â  This is problematic since we don't want hardware
> > > domain to be able to map the control domain's resources.Â  Instead have
> > > the hypervisor see the grant table entry.Â  The grant is then accessible
> > > as normal.
> > 
> > I am probably missing something, but why would run xenstored in the hardware
> > domain rather than the control domain? Isn't xenstored more related to the
> > VM management than HW?
> 
> I addressed this in my other email.  You're probably right that xenstored
> should run in control, but implementation details prevent that in the short
> term.

I wrote a longer reply here:
https://marc.info/?l=xen-devel&m=174139414000462

I think there are valid reasons to run xenstored in either the control
domain or the hardware domain, so it should be configurable. If no
specific preference is indicated, I would place it in the hardware
domain because the control domain must remain free from interference.
Given that I don't think we know for sure today whether the Xenstore
protocol could be a potential vector for interference, it is safer to
avoid placing it in the control domain by default.


> Regardless, of the xenstored placement, I think it's a better design for Xen
> to seed the grants.  With Xen allocating the xenstore page and event channel,
> and now seeding the grant table, they can just be used.  A xenstore stubdom
> can just establish all the connections without relying on another domain to
> perform an action.

+1


> I tested that with hyperlaunching the xenstore stubdom.  That is where the two
> XS_PRIV changes later in the series come from.  xenstore stubdom iterates the
> domains, reads the hvm_param for the event channel, and then runs introduce to
> set up the connection.
--8323329-435799868-1741394695=:3032631--


From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:54:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:54:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905515.1313323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqiS6-0003zv-GP; Sat, 08 Mar 2025 00:54:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905515.1313323; Sat, 08 Mar 2025 00:54: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 1tqiS6-0003zo-Dm; Sat, 08 Mar 2025 00:54:06 +0000
Received: by outflank-mailman (input) for mailman id 905515;
 Sat, 08 Mar 2025 00:54: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=7c++=V3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqiS5-0003zi-Jn
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:54:05 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d277e15a-fbb7-11ef-9898-31a8f345e629;
 Sat, 08 Mar 2025 01:54:00 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id F370DA455AA;
 Sat,  8 Mar 2025 00:48:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34F69C4CED1;
 Sat,  8 Mar 2025 00:53:58 +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: d277e15a-fbb7-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741395239;
	bh=Peod8AxqMf9613TS2aH9gWnEv3mJhqhEDj2d7jrL1+Y=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cpHIB+M5XkWru4U11Ha6bBfQHxPqTOmZmR+s7igQDsrhsLX1rL+EP12lVUFhITKfj
	 ukmJQQPEj+JoVRpso/2k9soo3Bzm3nIGlYrAmH987e81/GGjXKBqEupO4IYKMA9N78
	 KNDxkZ1eyuPGdln3vCFj32CRO931vaLVipkKiFPCBqMOA0E3Kx3DhD6lHdOpuqB9Zn
	 8l18IVmrGaZPpU4vUgeVoHf6tXi4QJFF48MyNMRTPELTJgV+mLptrWbyBMDOBP25QM
	 0LnmPqDP3dDYLo2FX/mb7nffeMP63BMr8k/5alEt1xmn9W6osLh9VdTrTFVqfPghxm
	 oKQbtFNpox3Xw==
Date: Fri, 7 Mar 2025 16:53:56 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
In-Reply-To: <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
Message-ID: <alpine.DEB.2.22.394.2503071651090.3032631@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-5-jason.andryuk@amd.com> <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org> <734d9fdf-a201-4a46-9739-26a474683b10@amd.com> <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1608948088-1741395239=:3032631"

  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-1608948088-1741395239=:3032631
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 7 Mar 2025, Julien Grall wrote:
> > init-dom0less only initializes non- introduced domains, so hwdom doesn't get
> > its "domid" xenstore node populated.Â  That leads to other errors.
> > > So I think with Denis's patch, this isn't strictly needed.Â  It does help
> > existing toolstack code work today.
> 
> I don't think the toolstack is ready for a split between control/hardware
> domain. That said, shouldn't the toolstack run in the control domain? Same for
> xenstored (unless you have a xenstored domain)?

Yes, the toolstack (if present) would be in the control domain.
xenstored doesn't have to be in the control domain and in fact it might
not be advisable to place it there today.

The main difference between the toolstack and xenstored is that the
toolstack only talks to Xen, while xenstored talks to all other VMs,
which is dangerous in many configurations.
--8323329-1608948088-1741395239=:3032631--


From xen-devel-bounces@lists.xenproject.org Sat Mar 08 00:56:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 00:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905523.1313335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqiUI-0004rt-T7; Sat, 08 Mar 2025 00:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905523.1313335; Sat, 08 Mar 2025 00:56: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 1tqiUI-0004rm-P2; Sat, 08 Mar 2025 00:56:22 +0000
Received: by outflank-mailman (input) for mailman id 905523;
 Sat, 08 Mar 2025 00:56: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=7c++=V3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tqiUH-0004rg-9E
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 00:56:21 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 256bf26f-fbb8-11ef-9ab7-95dc52dad729;
 Sat, 08 Mar 2025 01:56:20 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id C76EF5C649A;
 Sat,  8 Mar 2025 00:54:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E19E5C4CEE3;
 Sat,  8 Mar 2025 00:56: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: 256bf26f-fbb8-11ef-9ab7-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741395378;
	bh=tOkzSuCF3xIbg1ODCi3tdRzJm+mv/X9rR8yj4CvmIUA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TdETXMOsi1Gu0skF3LvWDkRc2ZHip9uOSapfJkVoMORy7vIbk5a7Eb++MRnczGesT
	 ZhV53+/ZlTyHObPkeOhvY718ccSvFnhc2BhcLNb1DADGyzFqmu756zKhcto8jF4BvB
	 JelIa3onsfB0VImSjzjVP9OfAPF4ijyLclKVZeCVmO2B9lnMGlrNrpuR3m/EUXK1e7
	 WIP3tz8b4qgFCdK/bGHxP40x8yP30p9q1uE9yvEyY62dTY5ALPRCotm1MZ9+lCJy+I
	 9YyYY+OwY2pP/o7vgFRCE5aC013heESTxbxDKqepF5HfMn1rCSs5YeLRRZ9jWxfkNx
	 jG9y7TCdghy7w==
Date: Fri, 7 Mar 2025 16:56:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
In-Reply-To: <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
Message-ID: <alpine.DEB.2.22.394.2503071654180.3032631@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-6-jason.andryuk@amd.com> <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org> <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com> <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-935559913-1741395378=:3032631"

  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-935559913-1741395378=:3032631
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 7 Mar 2025, Julien Grall wrote:
> > What exactly do you mean by imposing with respect to the iommu?Â  Require
> > one, or mirror the dom0 code and set it for the hwdom?
> > 
> >  Â Â Â  if ( iommu_enabled )
> >  Â Â Â Â Â Â Â  dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
> 
> I mean requires one. Without it, you would need to set directmap and I don't
> think this should be allowed (at least for now) for the HW domain.

I think the directmap should be optional for the hardware domain. In
practice, we already have not direct-mapped dom0 today when the user
enables cache coloring.
--8323329-935559913-1741395378=:3032631--


From xen-devel-bounces@lists.xenproject.org Sat Mar 08 07:03:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 07:03:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905585.1313348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqoD3-0006gU-IB; Sat, 08 Mar 2025 07:02:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905585.1313348; Sat, 08 Mar 2025 07:02: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 1tqoD3-0006gN-FC; Sat, 08 Mar 2025 07:02:57 +0000
Received: by outflank-mailman (input) for mailman id 905585;
 Sat, 08 Mar 2025 07:02: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=vBWN=V3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tqoD1-0006fw-FK
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 07:02:55 +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 5b4412e5-fbeb-11ef-9ab7-95dc52dad729;
 Sat, 08 Mar 2025 08:02:54 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5e0b70fb1daso4780701a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 07 Mar 2025 23:02:54 -0800 (PST)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c7473ea1sm3589947a12.29.2025.03.07.23.02.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 07 Mar 2025 23:02:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b4412e5-fbeb-11ef-9ab7-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741417373; x=1742022173; 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=weekariHQ1j4NG3soPlRTbfahMDCcJ/PoVzv62PshsU=;
        b=XqjAJsNKCbN/0E8Akkv2xQVLaDBqfhEnXNItHPadAihet0IC5KhsYNKRRpPIJn88nQ
         P5dbTZWQ/dRf7kU93jZhWOZT3SZJ9AQqZkC+BF8dEkalTAEbXxGiSNCCtVMBe38oOQKr
         pgm0kfDJjJnyERe2dSnGlVq3P9uI5d8flKt/2081K4iOxBW402HD6Vh8NFjs1MJ2Z5xN
         pH1is4isKckH2gZg9bkjCw/fySZ1efe7zZFe2Eq45A/T6166/JfC+/dpo4oSt98Yl5OV
         zMkYNqzwWTWHEmD/psQR805BAIEIjRMJU7tR/hLS9Z9lTWxJwob9Hdg0ABeBrqFWJ6Q9
         mRkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741417373; x=1742022173;
        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=weekariHQ1j4NG3soPlRTbfahMDCcJ/PoVzv62PshsU=;
        b=KLm5NGTGUoGvqRl0saaqnXOS8KIvgksgHo55DURBWZ5bIbtZludTqswzktWEow8q3G
         3gth/5R2+/EKNeCAAyFsjpE77F2coHDAjnQYzvZ0SLZqGBlnM9Ul490GJd4MrOJPtF3Y
         7+6A4NKQZQb0yzGQvYc6y783hhv7UMEnXViVA8VXzokpk8w2MHkVfyUtX4MnxaPVJVgU
         TxIlu/68scj4yolbpoK9ZAWZGziNTQ9BDkN70NGBHvZVcDuTzLyBHKZtZ+1pbfvZEHSx
         qyTTCdpv0JcdqLOEmdnnK89c0HMllHMDLNaanz8bEqXd72mCdjCygcwGyzdYVRYQ02or
         BgFw==
X-Forwarded-Encrypted: i=1; AJvYcCW5jfNGPGAu+85Sw8ep/o29wqNkDuiGUETlD5jAIIvpRIvVNiYdNhbpXkjwg/zHUpww4kaaxlNDK68=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxf2MZEBqbT3zCBlidXOyViNAG7KCAEiKz1MPSoM7RiKYDi0NwK
	RM5Ry4IMrFRIoFsy7mN5kJJU+xceo9sdJEDIAcvkHT6upxpNnSvjX2WXp1OULnQ=
X-Gm-Gg: ASbGncv2yiS9u6Gp4kiJxLLP/DPEh/St64LXct/xVG13OL9Gqj5+piVFFB9a/SnfqbM
	VAoN+gYB85rxG5XSEt84/m8Uz8/UjDkkZ3sapCLVkSMmweTKYCnNEb9+u2UBpYsLmvScYJELAFI
	Kr1BcRNuwhKLMs7rZuJPqYxXn00LS5MoQzYv36mHD3qNLkPpYcSbcjV70eaQZM/l7aM5OVTAqrK
	ipO1cRVfCsBYtp3lT1iusf5s3wPuBteLmEZ5ugy/686qqEqqZSjqA8SQ1MFTuzDmo2Xacnme4OS
	djkHznbSGitPZoYp/dCuhSUR1TjZLJeZSPoQ56tpM1NK1b3dFgzsb7dPAQyWuK/ulKC3V44Pw9S
	h2C0by7+rmwl69p+H/7HMx4JBerU+h6M8jjTsGMZ03CKPUInoUL3Yy/51V/g9Wr6wvbTdD1bewr
	Yo3A==
X-Google-Smtp-Source: AGHT+IGK7yG5U1Z3floOrCioom9oKztrxvpvwvd4C6NZZ8V8yhayQH7jNRc+4V5MUBUcfG/MgobMVw==
X-Received: by 2002:a05:6402:5387:b0:5e0:9254:c10e with SMTP id 4fb4d7f45d1cf-5e5e22dbbf6mr7188642a12.11.1741417373321;
        Fri, 07 Mar 2025 23:02:53 -0800 (PST)
Message-ID: <5c0a1526-7faa-407a-b249-e80fb23c97b2@suse.com>
Date: Sat, 8 Mar 2025 08:02:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/23] tools/xenstored: Automatically set dom0_domid and
 priv_domid
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-12-jason.andryuk@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: <20250306220343.203047-12-jason.andryuk@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------NXaVMz0rUPJfoDTxmrcH0Aa0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------NXaVMz0rUPJfoDTxmrcH0Aa0
Content-Type: multipart/mixed; boundary="------------xTZdO5NmatvmxbeVDyr9vTT4";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <5c0a1526-7faa-407a-b249-e80fb23c97b2@suse.com>
Subject: Re: [PATCH 11/23] tools/xenstored: Automatically set dom0_domid and
 priv_domid
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-12-jason.andryuk@amd.com>
In-Reply-To: <20250306220343.203047-12-jason.andryuk@amd.com>

--------------xTZdO5NmatvmxbeVDyr9vTT4
Content-Type: multipart/mixed; boundary="------------bNI0FAs32zyoJHTrWJFsFLyx"

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

T24gMDYuMDMuMjUgMjM6MDMsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IFdpdGggc3BsaXQg
aGFyZHdhcmUgYW5kIGNvbnRyb2wgZG9tYWlucywgZWFjaCBkb21haW4gc2hvdWxkIGJlDQo+
IHByaXZpbGVnZWQgd2l0aCByZXNwZWN0IHRvIHhlbnN0b3JlLiAgV2hlbiBhZGRpbmcgZG9t
YWlucyB0byB4ZW5zdG9yZSwNCj4gbG9vayBhdCB0aGVpciBwcml2aWxlZ2UgYW5kIGFkZCB0
aGVtIHRvIHhlbnN0b3JlZCBhcyBhcHByb3ByaWF0ZS4NCj4gZG9tMF9kb21pZCBpcyB1c2Vk
IGZvciB0aGUgaGFyZHdhcmUgZG9tYWluLCBhbmQgcHJpdl9kb21pZCBpcyB1c2VkIGZvciBh
DQo+IGNvbnRyb2wgZG9tYWluLg0KPiANCj4gT25seSBvbmUgb2YgZWFjaCBpcyBhbGxvd2Vk
IGZvciBub3cuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYXNvbi5h
bmRyeXVrQGFtZC5jb20+DQo+IC0tLQ0KPiAgIHRvb2xzL3hlbnN0b3JlZC9kb21haW4uYyB8
IDE2ICsrKysrKysrKysrKysrKysNCj4gICAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9u
cygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYyBiL3Rv
b2xzL3hlbnN0b3JlZC9kb21haW4uYw0KPiBpbmRleCA2NGM4ZmQwY2MzLi5mMjM5NGNkNmU5
IDEwMDY0NA0KPiAtLS0gYS90b29scy94ZW5zdG9yZWQvZG9tYWluLmMNCj4gKysrIGIvdG9v
bHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+IEBAIC03OTUsNiArNzk1LDIwIEBAIHN0YXRpYyBz
dHJ1Y3QgZG9tYWluICpmaW5kX29yX2FsbG9jX2V4aXN0aW5nX2RvbWFpbih1bnNpZ25lZCBp
bnQgZG9taWQpDQo+ICAgCXJldHVybiBkb21haW47DQo+ICAgfQ0KPiAgIA0KPiArc3RhdGlj
IHZvaWQgZG9tYWluX3NldF9wcml2aWxlZ2VkKHN0cnVjdCBkb21haW4gKmRvbWFpbikNCj4g
K3sNCj4gKwl4Y19kb21haW5pbmZvX3QgZG9taW5mbzsNCj4gKw0KPiArCWlmICggIWdldF9k
b21haW5faW5mbyhkb21haW4tPmRvbWlkLCAmZG9taW5mbykgKQ0KPiArCQlyZXR1cm47DQo+
ICsNCj4gKwlpZiAoIGRvbWluZm8uZmxhZ3MgJiBYRU5fRE9NSU5GX3ByaXYgKQ0KPiArCQlw
cml2X2RvbWlkID0gZG9tYWluLT5kb21pZDsNCj4gKw0KPiArCWlmICggZG9taW5mby5mbGFn
cyAmIFhFTl9ET01JTkZfaGFyZHdhcmUgKQ0KPiArCQlkb20wX2RvbWlkID0gZG9tYWluLT5k
b21pZDsNCj4gK30NCg0KUGxlYXNlIG5vIHVzZSBvZiBsaWJ4ZW5jdHJsLiBJIGhhdmUgd29y
a2VkIGhhcmQgdG8gZWxpbWluYXRlIHRoZSB1c2FnZQ0KaW4gb3JkZXIgdG8gZW5hYmxlIGEg
eGVuc3RvcmUtc3R1YmRvbSBiZWluZyB1c2VkIGFjcm9zcyBYZW4gdmVyc2lvbnMNCihDIFhl
bnN0b3JlIGlzIHJlbHlpbmcgb24gc3RhYmxlIGh5cGVyY2FsbHMgb25seSBub3cpLg0KDQpZ
b3UgbmVlZCB0byBhZGQgdGhlIG5lZWRlZCBmbGFncyB0byB0aGUgcmF0aGVyIG5ldyBzdGFi
bGUgZG9tY3RsDQpYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGUgYW5kIHRvIGxpYnhlbm1h
bmFnZS4NCg0KPiArDQo+ICAgc3RhdGljIGludCBuZXdfZG9tYWluKHN0cnVjdCBkb21haW4g
KmRvbWFpbiwgaW50IHBvcnQsIGJvb2wgcmVzdG9yZSkNCj4gICB7DQo+ICAgCWludCByYzsN
Cj4gQEAgLTgzMSw2ICs4NDUsOCBAQCBzdGF0aWMgaW50IG5ld19kb21haW4oc3RydWN0IGRv
bWFpbiAqZG9tYWluLCBpbnQgcG9ydCwgYm9vbCByZXN0b3JlKQ0KPiAgIAlkb21haW4tPmNv
bm4tPmRvbWFpbiA9IGRvbWFpbjsNCj4gICAJZG9tYWluLT5jb25uLT5pZCA9IGRvbWFpbi0+
ZG9taWQ7DQo+ICAgDQo+ICsJZG9tYWluX3NldF9wcml2aWxlZ2VkKGRvbWFpbik7DQoNClRo
ZSBuYW1lIGltcGxpZXMgeW91IGFyZSBjaGFuZ2luZyB0aGUgZG9tYWluIHRvIGJlIHByaXZp
bGVnZWQsIGJ1dCB0aGlzDQppcyBkb25lIGNvbmRpdGlvbmFsbHkgb25seS4NCg0KTWF5YmUg
bmFtZSB0aGUgZnVuY3Rpb24gZG9tYWluX2FwcGx5X3ByaXZpbGVnZXMoKT8NCg0KDQpKdWVy
Z2VuDQo=
--------------bNI0FAs32zyoJHTrWJFsFLyx
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-----

--------------bNI0FAs32zyoJHTrWJFsFLyx--

--------------xTZdO5NmatvmxbeVDyr9vTT4--

--------------NXaVMz0rUPJfoDTxmrcH0Aa0
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/Ey8FAmfL65wFAwAAAAAACgkQsN6d1ii/Ey91
Xwf/Rvxst11NL8mBekmBLJFLDAyb7N3//65mrvVa9QFn2XQlciigtIWZtlUN0+3VD6sPfZwDA2es
dcpnP/whumGO30eGwwKtHgq0OpOVE7S1v3d3Kd8UPI9gvI7hMhkGbestpRntpbb44VJ6DgeOqY0W
ug9p9d+fZSB4fEKAxNk8sdVk0x5KzlomJMJy0W82himXpzkVg8LpAmAzcC3js0aioJIio6lFcWL7
i9eT16ZDOALQ1dP24SGErTzlsKN6NcVGM+kvaeSzjpRhPepIeoZLs6cBjk1C+772NPfCPpBRJSC2
F3IW+WBIGb8KWK4wxHRdzYQvP7XFYKM4Wnp5xrGZ8Q==
=ziOX
-----END PGP SIGNATURE-----

--------------NXaVMz0rUPJfoDTxmrcH0Aa0--


From xen-devel-bounces@lists.xenproject.org Sat Mar 08 11:35:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 11:35:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905638.1313362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqsSZ-0005lx-Lp; Sat, 08 Mar 2025 11:35:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905638.1313362; Sat, 08 Mar 2025 11:35: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 1tqsSZ-0005lq-Hb; Sat, 08 Mar 2025 11:35:15 +0000
Received: by outflank-mailman (input) for mailman id 905638;
 Sat, 08 Mar 2025 11:35:14 +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 1tqsSY-0005lk-0j
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 11:35:14 +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 1tqsSX-008qVS-2u;
 Sat, 08 Mar 2025 11:35:13 +0000
Received: from [2a02:8012:3a1:0:5057:2808:1e53:9bd7]
 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 1tqsSX-00E4k3-1P;
 Sat, 08 Mar 2025 11:35: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>
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=kJYgYT9It6FrxdeVh3aCOByd3HUcOnmDFg6fBscdrtU=; b=RMxPPT/qea/8S3BV+Fdk3qLX+O
	L8wjunky3EU/acNkD0eMYlTPNV3MRrNc8crg3Jm+6ewBDH/h0pSrafvHv4peatYypD49y45UdrQSU
	O12KmRoLXhNzlc/KEPtpX5q0spHpbves+Q0fOuNfukcADhkUB9t9SL+Jec7rQpU5zuvM=;
Message-ID: <ff034e29-1aa4-42af-a28c-fd95b83a0ce1@xen.org>
Date: Sat, 8 Mar 2025 11:35:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-jason.andryuk@amd.com>
 <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org>
 <734d9fdf-a201-4a46-9739-26a474683b10@amd.com>
 <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
 <ba5b9675-fa62-4872-b969-e5ecc917a087@amd.com>
 <alpine.DEB.2.22.394.2503071450480.2600338@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2503071450480.2600338@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 08/03/2025 00:40, Stefano Stabellini wrote:
> On Fri, 7 Mar 2025, Jason Andryuk wrote:
>> On 2025-03-07 16:01, Julien Grall wrote:
>>> Hi Jason,
>>>
>>> On 07/03/2025 16:03, Jason Andryuk wrote:
>>>> On 2025-03-07 03:31, Julien Grall wrote:
>>>>> Hi,
>>>>>
>>>>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>>>>> Assign domid 0 to the hwdom.Â  Normally, dom0less does not use domid 0.
>>>>>
>>>>> A few years ago, we went to great length to avoid making the assumption
>>>>> that the hardware domain is domid 0. See all the calls to
>>>>> "is_hardware_domain()". So I am reluctant to force the domain ID to 0.
>>>>
>>>> I was disappointed when it didn't "just work".
>>>>
>>>>>>
>>>>>> This fixes using the Xen console which assumes domid 0 to use the
>>>>>> hypercall interface.
>>>>>
>>>>> I had a brief look at drivers/char/console.c and I can't find any place
>>>>> assuming "domid 0". Do you have any pointer?
>>>>
>>>> As Jan pointed out, Denis Mukhin's patch removed the domid 0 assumption.
>>>>  Â Â This was developed without this patch when it mattered.
>>>>
>>>> I tested before posting without this patch (and with Denis's), and again
>>>> now, and I didn't get a hwdom login.Â  Turns out xenstored was assuming
>>>> domid 0.Â  Changing that with --master-domid gets to the login prompt.
>>>
>>> Hmmm, I am not sure --master-domid should point to the hardware domain.
>>> Instead, it feels like it should be the control domain because it needs to
>>> manage the VMs so needs to create any nodes in Xenstore.
>>
>> --master-domid encompasses "the domid where xenstored is running" (which
>> really xenstored should figure out itself), and is needed for xenstored to
>> start.
>>
>> There is an additional --priv-domid, which can point at the control domain.
>>
>>>>
>>>> Still, there are now other userspace errors.Â  xen-init-dom0 hardcodes
>>>> domid 0 which doesn't exist.
>>>
>>> I am confused. Why would you call xen-init-dom0 in a domain that is meant to
>>> be the hardware domain rather than dom0?
>>
>> I was using domid 0 :)  Also, it's called by default in xencommons and sets up
>> the cpupools.
>>
>>>> init-dom0less only initializes non- introduced domains, so hwdom doesn't
>>>> get its "domid" xenstore node populated.Â  That leads to other errors.
>>>   > > So I think with Denis's patch, this isn't strictly needed.Â  It does
>>> help
>>>> existing toolstack code work today.
>>>
>>> I don't think the toolstack is ready for a split between control/ hardware
>>> domain. That said, shouldn't the toolstack run in the control domain? Same
>>> for xenstored (unless you have a xenstored domain)?
>>
>> Yes, maybe running control and xenstore together is better.  I came from the
>> perspective of dom0less with a hardware/control split, the toolstack is less
>> important.
>>
>> But in general, it's all intertwined.  You have to start somewhere untangling.
>>
>> Running xenstored in the hardware domain, and leaving hardware domain at domid
>> 0 seemed like a good way to keep most things working while splitting out the
>> hardware/control permissions.
> 
> In my opinion, there are reasons for placing xenstored in the control
> domain and also reasons for placing it in the hardware domain. I think
> this is the kind of policy decision I would leave to the user.

I agree it should be a policy decision. But as a default setup, I think 
this is muddying the difference between the control domain and hardware 
domain. Today's toolstack can't work without xenstored. So intuitively, 
xenstored would belong to the control domain in a default setup.

> 
> In an embedded environment where safety is a concern, it also depends on
> whether the user wants to keep xenstore only between non-safe VMs, in
> which case I would put it in the hardware domain so that the control
> domain is fully isolated and protected. xenstore could be a source of
> interference.

So your hardware domain is not really an hardware domain, right? This is 
more a dom0 minus toolstack? If so, I think it might be helpful if you 
add a document explaining what a hardware domain really means with this 
series.

> 
> Or whether the user wants to use xenstore also for safe VMs, in which
> case they are likely to reimplement xenstored in a way that is safety
> certified and as part of a safety certified OS such as Zephyr. In this
> type of configuration, it would make sense to have xenstored in the
> control domain.
 > > I would suggest to make the location of xenstored configurable, and 
only
> provide a sensible default when the user doesn't explicitly say. With
> the state of the codebase and protocols that we have today, I think we
> are not ready for a xenstore free-from-interference implementation, so
> it would be safer to leave xenstored in the hardware domain as default,
> but we should make also the other configurations possible.
> 
> This is the first patch series aimed at untangling the whole thing,
> so not everything can be done here. For example, if the location of
> Xenstore is not configurable in this series, it may still be OK. We
> just need to be careful in the docs and interfaces not to bake it into
> an assumption.
> 
> I would also say the same for domid == 0: while it would be ideal to
> avoid relying on domid == 0 for the hardware domain, we don't have to
> resolve everything immediately.

I have to disagree. If we start shipping Xen with "hwdomid == 0", it 
will be quite difficult to remove this behavior because new tooling 
(which may not be under our control) will likely start/continue to rely 
on it. So ...


> This series already achieves a
> significant improvement by separating the hardware domain from the
> control domain, which is valuable in itself.

... while I agree this series is a good step, I don't want to have any 
version of Xen where hwdomid == 0 (even temporarily).

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sat Mar 08 11:45:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 11:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905653.1313371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqsci-00019M-O8; Sat, 08 Mar 2025 11:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905653.1313371; Sat, 08 Mar 2025 11: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 1tqsci-00019F-LS; Sat, 08 Mar 2025 11:45:44 +0000
Received: by outflank-mailman (input) for mailman id 905653;
 Sat, 08 Mar 2025 11:45:43 +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 1tqsch-000199-S6
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 11:45:43 +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 1tqsch-008qkD-2N;
 Sat, 08 Mar 2025 11:45:43 +0000
Received: from [2a02:8012:3a1:0:5057:2808:1e53:9bd7]
 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 1tqsch-00E5nX-0z;
 Sat, 08 Mar 2025 11:45: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>
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=agIOgA+i3QXuUDkJZqMWNAjpLeF4OSnO/HmWfCNGUI0=; b=cKGvSYmx+UW9UQXt8NoGM5axPp
	F2OYX16nKpFB0FF/NF9CUvsW5HCBREryyujylqKApedt/RmgjpOfPH83vudF5DvkzULc/gGq57Y+m
	BzhGswqOfkeS55MmDXbWY/8HpgvVa/XH4LPrIkOOiqfP/9fIU1pEj5b05Q2e7fQTJbbo=;
Message-ID: <6c5d389e-72b7-4a64-af05-574655a6dcec@xen.org>
Date: Sat, 8 Mar 2025 11:45:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-5-jason.andryuk@amd.com>
 <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org>
 <734d9fdf-a201-4a46-9739-26a474683b10@amd.com>
 <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
 <alpine.DEB.2.22.394.2503071651090.3032631@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2503071651090.3032631@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 08/03/2025 00:53, Stefano Stabellini wrote:
> On Fri, 7 Mar 2025, Julien Grall wrote:
>>> init-dom0less only initializes non- introduced domains, so hwdom doesn't get
>>> its "domid" xenstore node populated.Â  That leads to other errors.
>>>> So I think with Denis's patch, this isn't strictly needed.Â  It does help
>>> existing toolstack code work today.
>>
>> I don't think the toolstack is ready for a split between control/hardware
>> domain. That said, shouldn't the toolstack run in the control domain? Same for
>> xenstored (unless you have a xenstored domain)?
> 
> Yes, the toolstack (if present) would be in the control domain.
> xenstored doesn't have to be in the control domain and in fact it might
> not be advisable to place it there today.
> 
> The main difference between the toolstack and xenstored is that the
> toolstack only talks to Xen, while xenstored talks to all other VMs,
> which is dangerous in many configurations.

It is not really clear which toolstack you are referring to.

Someone using vanilla Xen upstream will end up to use "xl"  which has to 
talk to xenstored and also indirectly to each domain (e.g. 
shutdown/suspend node in xenstored). So for this setup, "xenstored" is 
not optional and I would argue should be part of the control domain (or 
in a xenstore stubdomain which IIRC is not supported on Arm today).

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sat Mar 08 12:37:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Mar 2025 12:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905677.1313383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tqtQo-0002qY-Mc; Sat, 08 Mar 2025 12:37:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905677.1313383; Sat, 08 Mar 2025 12:37: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 1tqtQo-0002qR-Hs; Sat, 08 Mar 2025 12:37:30 +0000
Received: by outflank-mailman (input) for mailman id 905677;
 Sat, 08 Mar 2025 12:37:29 +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 1tqtQn-0002qL-09
 for xen-devel@lists.xenproject.org; Sat, 08 Mar 2025 12:37:29 +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 1tqtQm-008ria-1y;
 Sat, 08 Mar 2025 12:37:28 +0000
Received: from [2a02:8012:3a1:0:5057:2808:1e53:9bd7]
 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 1tqtQl-00EB5j-3D;
 Sat, 08 Mar 2025 12:37: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>
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=eg3FJYsT45Gm7cOBDnUNLx4BtDMVb7xQcoVTW4Z35is=; b=GT196senWSvKumZ47+qqWC/PQo
	tmtIYECyPimsR+KiES/lCEQNBPR5Rk3g33BgBqqO08s30diXNAaPqWPiLpes2Nib50mHf6OW43d8F
	xh6UPQF8Roe6i7kvYeuYqSPRqn4unbphVZXQIB87fxGfFRut/Fpf/DFwp4RoDHGZeA1s=;
Message-ID: <cdb05727-fd2f-4b83-9200-d88789ce908e@xen.org>
Date: Sat, 8 Mar 2025 12:37:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
Content-Language: en-GB
To: Jason Andryuk <jason.andryuk@amd.com>, 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
 <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com>
 <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
 <09103c2b-a7c0-44d5-8eb5-2d0fcb01c26e@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <09103c2b-a7c0-44d5-8eb5-2d0fcb01c26e@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jason,

On 08/03/2025 00:02, Jason Andryuk wrote:
> On 2025-03-07 16:21, Julien Grall wrote:
>> Hi Jason,
>>
>> On 07/03/2025 17:58, Jason Andryuk wrote:
>>> On 2025-03-07 04:01, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>>>> Add capabilities property to dom0less to allow building a
>>>>> disaggregated system.
>>>>>
>>>>> Introduce bootfdt.h to contain these constants.
>>>>>
>>>>> When using the hardware or xenstore capabilities, adjust the grant and
>>>>> event channel limits similar to dom0.
>>>> Â > > Also for the hardware domain, set directmap and iommu.Â  This 
>>>> brings its
>>>>> configuration in line with a dom0.
>>>>
>>>> Looking the device tree bindings, a user would be allowed to disable 
>>>> "passthrough" or even "directmap". This means, we would never be 
>>>> able to disable "directmap" for the hardware domain in the future 
>>>> with the existing property (this is to avoid break backwards 
>>>> compatibility).
>>>>
>>>> Instead, I think we should check what the user provided and confirm 
>>>> this is matching our expectation for an hardware domain.
>>> Â >
>>>> That said, I am not entirely sure why we should force directmap for 
>>>> the HW domain. We are starting from a clean slate, so I think it 
>>>> would be better to have by default no directmap and imposing the 
>>>> presence of an IOMMU in the system.
>>>
>>> Ok, it seems like directmap is not necessary.Â  It was helpful early 
>>> on to get things booting, but I think it's no longer necessary after 
>>> factoring out construct_hwdom().
>>>
>>> What exactly do you mean by imposing with respect to the iommu? 
>>> Require one, or mirror the dom0 code and set it for the hwdom?
>>>
>>> Â Â Â Â  if ( iommu_enabled )
>>> Â Â Â Â Â Â Â Â  dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
>>
>> I mean requires one. Without it, you would need to set directmap and I 
>> don't think this should be allowed (at least for now) for the HW domain.
>>
>>>
>>>> Lastly, can you provide an example of what the hardware domain DT 
>>>> node would looke like?
>>>
>>> I've attached a dump of /sys/firmware/fdt from hwdom.Â  (This is 
>>> direct mapped).
>>
>> Sorry if this was not clear, I am asking for the configuration you 
>> wrote in the host DT for create the hardware domain. I am interested 
>> to know which properties you set...
> 
> I've attached the u-boot fdt commands which generate the DT.Â  Hopefully 
> that works for you.
> 
>>>
>>>>> --- a/xen/arch/arm/dom0less-build.c
>>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>>> @@ -12,6 +12,7 @@
>>>>> Â  #include <xen/sizes.h>
>>>>> Â  #include <xen/vmap.h>
>>>>> +#include <public/bootfdt.h>
>>>>> Â  #include <public/io/xs_wire.h>
>>>>> Â  #include <asm/arm64/sve.h>
>>>>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>>>>> Â Â Â Â Â Â Â Â Â  if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>>>>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("No more domain IDs available\n");
>>>>> +Â Â Â Â Â Â Â  if ( dt_property_read_u32(node, "capabilities", &val) )
>>>>> +Â Â Â Â Â Â Â  {
>>>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & ~DOMAIN_CAPS_MASK )
>>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Invalid capabilities (%"PRIx32")\n", val);
>>>>> +
>>>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_CONTROL )
>>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  flags |= CDF_privileged;
>>>>> +
>>>>> +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_HARDWARE )
>>>>> +Â Â Â Â Â Â Â Â Â Â Â  {
>>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( hardware_domain )
>>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Only 1 hardware domain can be 
>>>>> specified! (%pd)\n",
>>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hardware_domain);
>>>>> +
>>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_grant_frames = gnttab_dom0_frames();
>>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_evtchn_port = -1;
>>>>
>>>> What about d_cfg.arch.nr_spis? Are we expecting the user to pass 
>>>> "nr_spis"?
>>>
>>> Further down, when nr_spis isn't specified in the DT, it defaults to:
>>> Â Â Â Â  d_cfg.arch.nr_spis = gic_number_lines() - 32;
>>
>> Thanks. One further question, what if the user pass "nr_spis" for the 
>> HW domain. Wouldn't this result to more issue further down the line?
> 
> I'm not familiar with ARM, so I'll to whatever is best.Â  I did put the 
> capabilities first, thinking it would set defaults, and then later 
> options could override them.

I am not sure it is related to Arm. It is more that the HW domain is 
going to re-use the memory layout of the host (this is including the 
mapping for the GIC) and also have all the irqs with pirq == virq.

I am a bit concerned that letting the users mistakenly tweaking the 
defaults could prevent attaching devices (for instance if the IRQ ID is 
above > nr_spis).

> 
>>>
>>> Dom0 does:
>>> Â Â Â Â  /*
>>> Â Â Â Â Â  * Xen vGIC supports a maximum of 992 interrupt lines.
>>> Â Â Â Â Â  * 32 are substracted to cover local IRQs.
>>> Â Â Â Â Â  */
>>> Â Â Â Â  dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 
>>> 992) - 32;
>>> Â Â Â Â  if ( gic_number_lines() > 992 )
>>> Â Â Â Â Â Â Â Â  printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded. 
>>> \n");
>>>
>>> So I think it's fine as-is?Â  I could add the min() and warning if you 
>>> think it's necessary.
>>
>> Regardless this discussion, I wonder why we didn't add the min(...) 
>> here like for dom0 because we are using the same vGIC emulation. So 
>> the max SPIs supported is the same...
>>
>> What I am trying to understand is whether it is ok to allow the user 
>> to select "nr_spis", "vpl011" & co if they are either not honored 
>> (like for vpl011) or could introduce further issue (like for nr_spis 
>> as the HW domain is supposed to have the same configuration as dom0).
>>
>> I also don't think it is a good idea to silently ignore what the user 
>> requested. So far, on Arm, we mainly decided to reject/panic early if 
>> the setup is not correct.
> 
> Again, I'll do whatever is best.

Bertrand, Michal, Stefano, any opinions?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905980.1313526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqx-0003Ry-0C; Mon, 10 Mar 2025 06:43:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905980.1313526; Mon, 10 Mar 2025 06: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 1trWqw-0003KR-CM; Mon, 10 Mar 2025 06:43:06 +0000
Received: by outflank-mailman (input) for mailman id 905980;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEN-000735-7K
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:11 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 66f23026-fd6c-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 05:59:10 +0100 (CET)
Received: by mail-pj1-x1029.google.com with SMTP id
 98e67ed59e1d1-2f44353649aso5724934a91.0
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:10 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.59.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:59: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: 66f23026-fd6c-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582749; x=1742187549; 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=yo5TAW5cQeh1DHP1d5HtuffIuVKJac+rUoQhULbtd80=;
        b=S2adxy8Nd/4OmJZD51feUMSKWHs/gsUxnwaWATXLKof9d6pL4LXlCHEQ2nXqMR0HQL
         1lOjaCqZA+toQZy/r0w2aPKinmNkMWogDFTRJaA57w2WxewXVuoFiXDbFJrtYM1kh+9Z
         0bVDbuaGtuEUzKqt04ngkRu33xWnkTSTbKaWhfsDoGpHScULSByHClbS2vpL3XHB/r8V
         6yG7g1bPYomWnsZh68k+oBvX9kqNCSA/b2vtUUX2x0QfYpQatgRJBPeeocyc53g6GCKS
         xkvjqTjnN5aL4X8Rc7Y0/bdNSRejl5Fc6kC+cTADxayRhF8wipLGkuTzGN6RZIIAV4jN
         T4rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582749; x=1742187549;
        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=yo5TAW5cQeh1DHP1d5HtuffIuVKJac+rUoQhULbtd80=;
        b=pRHaEXHSgrPfkcaGeFZQaTzM40yaXogJ1y65+YbHJKShBPvpOc5BL+i2Y7Q3vQpns+
         AsF6JWn9exge8oQe9Fadcogayfld+HQpfR3CWPYx1YIOrq6eAXzVEWJCGN2ieI28cDhO
         CCIUbeXWC04dYmIuubD7qqvuBMm7z9sG41RRRQd70JZsMtt2O9kJx5rMHiP2uMrgi0nM
         K3jWIWTVLS4JUkDPJ7l5K7SeqTTQou/2zSAy0DgPcY9aml9Uo89mKy9SWQW8upHBWCj3
         NTa4RygWiZtPuqO5hIMy7sy+CaBkX/AZDk75jWVelEaxVm8/Qtf8Zps1a4w0tqFK+6ac
         W8Cw==
X-Forwarded-Encrypted: i=1; AJvYcCXCoMhldYcVdGa4Qy2KoZnekX7J5yHVThKELxVusn/D+u/sIywlX/HMEedy6wxAC7Y+nnWeapJ1rNw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtuXWa6Sfju/6E0h2JYUew4MzzqVkF+RPl6pApJRDEqY2XcpRC
	9QYP0AI3AA9b0SYWttxyi1hg5mRzOrNVOoYGgOj6/CMHVNxSZ0cnR805DhfUnSw=
X-Gm-Gg: ASbGncvcSA6M7MQwxDri1eug5pTL6nOLnuXYdM7InYyTxe/zKalh66VsmoP/WNSWEHy
	ShACHimFp+ZAs7En5TiBvnBzkz9So3b0arlJ6OB2K6nGwxkPkeDaEETYMIGDDccsyF5u7SD+Dxi
	A2f54hjlR35mT8kdQBesvGvYaNXFeFTN2hN2gXNU62/HoTpzf1w2vdgwRQhBpyie6xvaONREVn8
	hCV/D0wyGvxcZcnUeMub0+CmUK0ALVVPpoXHHSq33HwW9bk/7iZaEfhhFgUNtN4Rz6JVaw8dvRM
	l2zbBk6MYSbyq047z/vX/KOyEsRSV933XhWObFoJDC3n
X-Google-Smtp-Source: AGHT+IE5gWrqVh7MPBsCW9xpH4WbBfOw86WZFsUWQXQSa3FRghy/XQpC1OkuRKA1xd7a02NCd2RqPg==
X-Received: by 2002:a05:6a21:6e93:b0:1f5:6e00:14da with SMTP id adf61e73a8af0-1f56e0016d7mr7868375637.40.1741582749217;
        Sun, 09 Mar 2025 21:59:09 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 16/16] system/ioport: make compilation unit common
Date: Sun,  9 Mar 2025 21:58:42 -0700
Message-Id: <20250310045842.2650784-17-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/ioport.c    | 1 -
 system/meson.build | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/system/ioport.c b/system/ioport.c
index 55c2a752396..89daae9d602 100644
--- a/system/ioport.c
+++ b/system/ioport.c
@@ -26,7 +26,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "cpu.h"
 #include "exec/ioport.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
diff --git a/system/meson.build b/system/meson.build
index 881cb2736fe..3faec7e4dfb 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,6 +1,5 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
-  'ioport.c',
 )])
 
 system_ss.add(files(
@@ -12,6 +11,7 @@ system_ss.add(files(
   'dirtylimit.c',
   'dma-helpers.c',
   'globals.c',
+  'ioport.c',
   'memory_mapping.c',
   'memory.c',
   'physmem.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905958.1313431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqq-0001RG-OD; Mon, 10 Mar 2025 06:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905958.1313431; Mon, 10 Mar 2025 06:43: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 1trWqq-0001Q4-JC; Mon, 10 Mar 2025 06:43:00 +0000
Received: by outflank-mailman (input) for mailman id 905958;
 Mon, 10 Mar 2025 04: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEA-00070S-TF
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:58:58 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f03c64d-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:58:57 +0100 (CET)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-22435603572so30007585ad.1
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:57 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 5f03c64d-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582736; x=1742187536; 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=gKLFWb+An2Ks9U+R2rK1VtO2Tw0/JUbGbAmdQc7IQwE=;
        b=d8E/aEnpuRQkUpOaZn5NmjBDE5tx1OV+ELlwxUK8LwHAFdwbjFA7aaKbNtPsVXFMSn
         aYYEEc30wAIYa9xxROFlqZBI09sXwj4/P56iFtXYUsl+CktnpcgEmtReAeVtKN7ru0By
         v/5HuVQ4bT9883O7Y8DVwpTryW95ThE5fMjGjnUMELOAFPY62I29WhXcbSny1+NNVIoJ
         RSWYstgoK7mRa9cYBjndF7SSyAuIfT8sbGyERqXj2h3Kj0UqwCB5ovmxME30svMaIkb5
         ccJOVfNPV/qe98BDxFrTpaNL2RbFeVAMMZNRkt1Aqeljp1IFypPOMfiuqxuZbIB6mAxF
         kiZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582736; x=1742187536;
        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=gKLFWb+An2Ks9U+R2rK1VtO2Tw0/JUbGbAmdQc7IQwE=;
        b=W1IwdS8TXx4J18CemnzO5n90Dm2/QlaOy74CUPE0dZDPBqt4nHZC6SF4zO0+TEA9/s
         GcJN3VPUdP9MzNzFHI/1UCXiB9iLYmuo2njpLlA2oo1qZEJ946wtCFuKmjvXBfG8VBLb
         ntpANZYKPSXp7e7ELQbl5PQfJm++o4JArE0reg1OIQueNdE4Vx73m4OeWJAcaEwyZ00s
         cFbmXh8/D0J6XxA6/a0qP2iZDlHIA0XTPjhux8SqsBpmlxlEmUhrTVnNgHAkKnMgD1eL
         1t/7yGB/Dt/0KU6SO9v6Zj8ZIEYtXbaCxu2C0zCEjKf7pDEZeexVG6KtFdY9dMJ1SqiC
         yMTg==
X-Forwarded-Encrypted: i=1; AJvYcCXyP0BGBGg4uB+gkCWD5NCR3GDInLXatlkhIv0h0mJij76ledFZkSJDD2DbIDAlRZBKnyNy2RrBU5s=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yys5liU36GIX+yXciIajej7g+PAsfiqZM3psrafYkzlq1DEIJqy
	ScbRN6hEZnchwLdOONld1qDf7Dtn0nb6HWO6mDkVwGnSyc6q1GEo9/XsfEaTGaA=
X-Gm-Gg: ASbGncsbRTf69cXWTmUUaeC48Y7758ZaLJT5dQRfndawnq4zuzpeYjyJL87Z7mnYYKf
	9iEhmKyWdJcsyzEjVZI8tm0dAIVB7zMVro3ySkTYRfxAl7mSisvHVXlVtmJf5hA6XB3H6Be8rGT
	DCw+HnvoBGyAPd02PF5llkYziuBwb4MXGmp5rP9Q9wlAz6htQHKTj6/4vdNMZati8C7O+4rO/Ii
	zTsPjhUl9mtNC2tPdH5qj6eK319IzqkAs11iydJnXDz3fSrHgEFv9bWuSD80LOfFpQERmh20EHx
	L1t7lKpSm8/ea3AzT7yWgcOBKgFTyxUNLxDaS9KXckXD
X-Google-Smtp-Source: AGHT+IEAovvlOy2ME9s2bcowigrmpQEpYOhHLOJWN1HotCTdKvUP3vKFXajlsE4wLKble7VBohAKKQ==
X-Received: by 2002:a05:6a00:4fc6:b0:736:32d2:aa82 with SMTP id d2e1a72fcca58-736aab17045mr17832470b3a.23.1741582735793;
        Sun, 09 Mar 2025 21:58:55 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 05/16] qemu/bswap: implement {ld,st}.*_p as functions
Date: Sun,  9 Mar 2025 21:58:31 -0700
Message-Id: <20250310045842.2650784-6-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For now, they are duplicate of the same macros in cpu-all.h that we
eliminate in next commit.

Keep code readable by not defining them with macros, but simply their
implementation.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/qemu/bswap.h | 70 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h
index ebf6f9e5f5c..46ec62f716d 100644
--- a/include/qemu/bswap.h
+++ b/include/qemu/bswap.h
@@ -442,6 +442,76 @@ DO_STN_LDN_P(be)
 
 #undef DO_STN_LDN_P
 
+/* Return ld{word}_{le,be}_p following target endianness. */
+#define LOAD_IMPL(word, args...)                    \
+do {                                                \
+    if (target_words_bigendian()) {                 \
+        return glue(glue(ld, word), _be_p)(args);   \
+    } else {                                        \
+        return glue(glue(ld, word), _le_p)(args);   \
+    }                                               \
+} while (0)
+
+static inline int lduw_p(const void *ptr)
+{
+    LOAD_IMPL(uw, ptr);
+}
+
+static inline int ldsw_p(const void *ptr)
+{
+    LOAD_IMPL(sw, ptr);
+}
+
+static inline int ldl_p(const void *ptr)
+{
+    LOAD_IMPL(l, ptr);
+}
+
+static inline uint64_t ldq_p(const void *ptr)
+{
+    LOAD_IMPL(q, ptr);
+}
+
+static inline uint64_t ldn_p(const void *ptr, int sz)
+{
+    LOAD_IMPL(n, ptr, sz);
+}
+
+#undef LOAD_IMPL
+
+/* Call st{word}_{le,be}_p following target endianness. */
+#define STORE_IMPL(word, args...)           \
+do {                                        \
+    if (target_words_bigendian()) {         \
+        glue(glue(st, word), _be_p)(args);  \
+    } else {                                \
+        glue(glue(st, word), _le_p)(args);  \
+    }                                       \
+} while (0)
+
+
+static inline void stw_p(void *ptr, uint16_t v)
+{
+    STORE_IMPL(w, ptr, v);
+}
+
+static inline void stl_p(void *ptr, uint32_t v)
+{
+    STORE_IMPL(l, ptr, v);
+}
+
+static inline void stq_p(void *ptr, uint64_t v)
+{
+    STORE_IMPL(q, ptr, v);
+}
+
+static inline void stn_p(void *ptr, int sz, uint64_t v)
+{
+    STORE_IMPL(n, ptr, sz, v);
+}
+
+#undef STORE_IMPL
+
 #undef le_bswap
 #undef be_bswap
 #undef le_bswaps
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905952.1313411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqp-00016X-RL; Mon, 10 Mar 2025 06:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905952.1313411; Mon, 10 Mar 2025 06: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 1trWqp-00015R-MO; Mon, 10 Mar 2025 06:42:59 +0000
Received: by outflank-mailman (input) for mailman id 905952;
 Mon, 10 Mar 2025 04:58: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVE7-00070S-Nq
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:58:55 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cdc72d1-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:58:53 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-219f8263ae0so68330215ad.0
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:53 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 5cdc72d1-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582732; x=1742187532; 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=2OIqebmv6TCVHIjcnbRR2ASx6yOnmt3f1dkycngreo0=;
        b=PP9Bbu0X9Ufi0FV6MFFY5KAFGCsSYwKZzoypWbzHTAAw/ZTpJkQ18V2BzZZeb2ZhN+
         NsHfVE95eQWbHPIVMThuOFki7WJH8FvzN4IvGx3zHcLDbSMetRqrSN2nDl7sm4+Fg73h
         IrbHgyWOmyQbHVm/LqqsID7NkQrlJWVlnyhG9/AgdRxzqb4asUsm0xUR3Hz8jSQq+zEg
         7i5veS7pN0bPS+/Cudb7rHrhG7PpM0N2I6Qya/soXIQw13nhMXdX3aFU8STToXuoeq6w
         aOhdt9h6MBdz+GWXZ/v2nj3ZnhF3bwCT8TkIiiG00pyuiXidbVFMDj3mqhf/SOi3gJ3t
         ganw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582732; x=1742187532;
        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=2OIqebmv6TCVHIjcnbRR2ASx6yOnmt3f1dkycngreo0=;
        b=vqhUVkA81OU4VXFf7Sqm5E0MZdVQH6iJKy068escnaesqrC3bvT0WzJlI1KUX10Bk6
         h+2NlwZz8oplOdULZPhLhbuFa3s5nKrMWhYN30cw1w/X9Opdgjr092v7bViPIzKu/d6M
         MEZ7xyqMHGOAd1zkn+Lm0/KWAAfvAAyNyPYRmtyYDDO0MjFthfgGBhonBRs8cSt07j4L
         J4MNByakfWzs7t2/gT4HI/5Y6mdk2oLOpDCTd51t7DzuCiLiiDNT+G/e+8EF07S9OGRS
         tKnLB1iiBeg0seKQHbhDwXiTaiALbFxiMqm/NfwobwFEyCvMKJmMxXycjjcqeJMiavXU
         Wmqg==
X-Forwarded-Encrypted: i=1; AJvYcCU2aHRcAekSE7L7gP5rv+I4gAwJTxTpZP3FWB6pybFvNnDOwnjMYt/hdvTDQgZLfbtCzqjhiE+iM6A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpAPnbpD640dJuBz/2WvY4pOJTQgQX5yk2y8sdKNdDJYxysfbl
	tkUZ5AfD4DDhL0T7uMRinowmgxKCd1AB+o5ZmLiDilRSu8kO/rhXTuU+ZNh7Nc8=
X-Gm-Gg: ASbGnculWWAgu8SB7K888L1Dw0+H9ian7SB0LRzkkLXDzEes5zXllNEYLsEn0IAPrvH
	9jqKxiOW2VrSWRxjthH1oYXus2wwAZstXbhp011bv1fod+tOXkXvuBWzI9K0IFC7eZt/QD8vvE5
	bP6+/PhPnlagMm6m+lGAmCzrWDnaxxyj3/6cG/U+vHO/NeXmNLxaZsW7dqhiWMS1x8VBJH53Dl+
	Xbe8QZb1J0ocS7X3+VE5ySQ9iKmaIgseY8lnTVPlkVlgyDtTY9qXFOIIz0TwUA53TsoqRXbMEYA
	t7xbIKms4BwymFj9vlAh9ks1c4ZhF4l4ML1b8QWsuP4i
X-Google-Smtp-Source: AGHT+IFiauNE3phtYbHOElNurEea3KFBOmPJM6YIEsLLcuetadtqaCJcJRoQf8PU7u5dj3ax/cwksA==
X-Received: by 2002:a05:6a00:17a7:b0:736:47a5:e268 with SMTP id d2e1a72fcca58-736aa9bc787mr17756988b3a.1.1741582732211;
        Sun, 09 Mar 2025 21:58:52 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 02/16] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h
Date: Sun,  9 Mar 2025 21:58:28 -0700
Message-Id: <20250310045842.2650784-3-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

To allow this, we need to implement address_space_st{*}_cached, simply
forwarding the calls to _cached_slow variants.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h              | 15 ------------
 include/exec/memory.h               | 36 +++++++++++++++++++++++++++++
 include/exec/memory_ldst_phys.h.inc |  5 +---
 3 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 17ea82518a0..1c2e18f492b 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -75,21 +75,6 @@ static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val
                                MEMTXATTRS_UNSPECIFIED, NULL);
 }
 
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-
-/* Inline fast path for direct RAM access.  */
-#define ENDIANNESS
-#include "exec/memory_ldst_cached.h.inc"
-
-#define SUFFIX       _cached
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
 #endif
 
 /* page related stuff */
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 78c4e0aec8d..7c20f36a312 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -2798,6 +2798,42 @@ static inline void address_space_stb_cached(MemoryRegionCache *cache,
     }
 }
 
+static inline uint16_t address_space_lduw_cached(MemoryRegionCache *cache,
+    hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
+{
+    return address_space_lduw_cached_slow(cache, addr, attrs, result);
+}
+
+static inline void address_space_stw_cached(MemoryRegionCache *cache,
+    hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result)
+{
+    address_space_stw_cached_slow(cache, addr, val, attrs, result);
+}
+
+static inline uint32_t address_space_ldl_cached(MemoryRegionCache *cache,
+    hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
+{
+    return address_space_ldl_cached_slow(cache, addr, attrs, result);
+}
+
+static inline void address_space_stl_cached(MemoryRegionCache *cache,
+    hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result)
+{
+    address_space_stl_cached_slow(cache, addr, val, attrs, result);
+}
+
+static inline uint64_t address_space_ldq_cached(MemoryRegionCache *cache,
+    hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
+{
+    return address_space_ldq_cached_slow(cache, addr, attrs, result);
+}
+
+static inline void address_space_stq_cached(MemoryRegionCache *cache,
+    hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result)
+{
+    address_space_stq_cached_slow(cache, addr, val, attrs, result);
+}
+
 #define ENDIANNESS   _le
 #include "exec/memory_ldst_cached.h.inc"
 
diff --git a/include/exec/memory_ldst_phys.h.inc b/include/exec/memory_ldst_phys.h.inc
index ecd678610d1..db67de75251 100644
--- a/include/exec/memory_ldst_phys.h.inc
+++ b/include/exec/memory_ldst_phys.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_lduw, SUFFIX)(ARG1, addr,
@@ -55,7 +54,7 @@ static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val)
     glue(address_space_stq, SUFFIX)(ARG1, addr, val,
                                     MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#else
+
 static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_ldub, SUFFIX)(ARG1, addr,
@@ -139,9 +138,7 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t va
     glue(address_space_stq_be, SUFFIX)(ARG1, addr, val,
                                        MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905963.1313447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqr-0001ib-K3; Mon, 10 Mar 2025 06:43:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905963.1313447; Mon, 10 Mar 2025 06:43: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 1trWqr-0001iB-Cp; Mon, 10 Mar 2025 06:43:01 +0000
Received: by outflank-mailman (input) for mailman id 905963;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEE-000735-U7
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:02 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60758afa-fd6c-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 05:59:01 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-22398e09e39so65589935ad.3
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:59 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 60758afa-fd6c-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582738; x=1742187538; 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=8s25jeAGTcBk8xCVR99anv09nY4TtNOY1pAkSQYXuE0=;
        b=MAuFZdP1snK4RBJauQKk9IyBArEt30/odJpEL6c0pv50e/d05kLEHtfCesSDPBi08O
         qAGC0JN6u8lXlh3uO5EYC+Op9xhfb/TQoBo1yXVrW3XRhI03r1rA4t+dv2qjgnfvIRAr
         soS5fjZXUOGQ/4naN9dxxBxC3kzKrZ+GK31FcL2yL+sBZCd8w63iDdvrwAlA21fAhW4E
         846D1OOsoM4I5xX53JzaCVVtg6atWB4Lk2hbHAattBX6qzQjPvq7ku4/ttywBlb8FH/y
         6WfpDdeNjfLbGqrumNPoCirmjdSpB2f0ai7yb+GZjqo+ABE8+gD1Zdn0CYdc7S/zyJ9w
         OZpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582738; x=1742187538;
        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=8s25jeAGTcBk8xCVR99anv09nY4TtNOY1pAkSQYXuE0=;
        b=AcAW2pXFnNy31DBxKnZjtfR4+93G5+NPCWrgMMn5GndEHsCTN+l5Lsgnh+KmeMalei
         tpnIcIN3SXVwYoYl1B574dSisruLseqX5Bb58S5s3qleYC1FNSixFl5VqCAZnt4vBVEF
         z5lpJmLR2FOcPywuKWVNJ+mNn4EGCa21xXq5tJSLnspT2eSWo3rxwnkkCpHjQJssrBYQ
         O0EK7mbXBA9Vp6ryTXpEuOc/x9CIBMezRItsMeMVSyARBa4d2max3S6Mtgejk5xipxD7
         FQWRf6hmhN83LsBFFtbHvC7V4HzMJ9jBnAuBiZTf6hPW3TarVw6R8/aNLcrFS/Ud94Xm
         MLpw==
X-Forwarded-Encrypted: i=1; AJvYcCXT6GUbSTPcHn9rMmo2VPaR6OybmW3nGRU68CZqzeinUDfFqClJeiiXlmr80YciCzGCk6Nbu+rqqqk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0PYbIa0ZxIK7KwESaf0r3P4S95oqKFlvb7zGMV30KFlres+/g
	2klTWlfLqGNK4XoKcIA8XcZ05GzmNqkwwEOwrA/igU/hWSlYniFmNYnAjRw8Kro=
X-Gm-Gg: ASbGncvXluj052xIQcddWBgQADCTL6/PJlKlbwwT8kTujXc4NUXRVtvVhM+/WKCde1H
	wraN9AmAJxxoUdjSb5E6XTcBJ35aZYhbwmwt0OfNclsYv7xrdzcleNMwUyB/CQtg1e52mKS8itp
	CjLkkBi2bfKdXv82NMgs4hnBL9j4iE0pvggoJcaUrw0aH2En/QO/gX6CePQKjiZ+uaGi0z1KHUz
	owmYJ6dqqcahmcwCGydrqKVbr2Q4bXHSgmkw0iL5rEt9vKzvAEtEGhOfrc1kKqixaOjrY9351WY
	Mh0/vPN1h+F7ftLNIybM6qHNQMZxseRMrq7bTleivc859nsVO9UXEw4=
X-Google-Smtp-Source: AGHT+IGRoGZ7coEeYo9o9fE7YTKv7YM5Vcb8VYcCl0LtzUFuhPuPAIbAabhl/TEnMhgrans4FlUiUA==
X-Received: by 2002:a17:902:f648:b0:220:d601:a704 with SMTP id d9443c01a7336-22428a967a4mr181654565ad.18.1741582738292;
        Sun, 09 Mar 2025 21:58:58 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 07/16] codebase: prepare to remove cpu.h from exec/exec-all.h
Date: Sun,  9 Mar 2025 21:58:33 -0700
Message-Id: <20250310045842.2650784-8-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/tcg/tcg-op.h           | 1 +
 target/ppc/helper_regs.h       | 2 ++
 hw/ppc/spapr_nested.c          | 1 +
 hw/sh4/sh7750.c                | 1 +
 page-vary-target.c             | 3 ++-
 target/riscv/bitmanip_helper.c | 1 +
 6 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index a02850583bd..bc46b5570c4 100644
--- a/include/tcg/tcg-op.h
+++ b/include/tcg/tcg-op.h
@@ -9,6 +9,7 @@
 #define TCG_TCG_OP_H
 
 #include "tcg/tcg-op-common.h"
+#include "exec/target_long.h"
 
 #ifndef TARGET_LONG_BITS
 #error must include QEMU headers
diff --git a/target/ppc/helper_regs.h b/target/ppc/helper_regs.h
index 8196c1346dc..b928c2c452d 100644
--- a/target/ppc/helper_regs.h
+++ b/target/ppc/helper_regs.h
@@ -20,6 +20,8 @@
 #ifndef HELPER_REGS_H
 #define HELPER_REGS_H
 
+#include "target/ppc/cpu.h"
+
 void hreg_swap_gpr_tgpr(CPUPPCState *env);
 void hreg_compute_hflags(CPUPPCState *env);
 void hreg_update_pmu_hflags(CPUPPCState *env);
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index 23958c6383a..18bbb1403c6 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -2,6 +2,7 @@
 #include "qemu/cutils.h"
 #include "exec/exec-all.h"
 #include "exec/cputlb.h"
+#include "exec/target_long.h"
 #include "helper_regs.h"
 #include "hw/ppc/ppc.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index 6faf0e3ca8b..41306fb6008 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -29,6 +29,7 @@
 #include "hw/irq.h"
 #include "hw/sh4/sh.h"
 #include "system/system.h"
+#include "target/sh4/cpu.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "sh7750_regs.h"
diff --git a/page-vary-target.c b/page-vary-target.c
index 3f81144cda8..12fda410bb0 100644
--- a/page-vary-target.c
+++ b/page-vary-target.c
@@ -20,8 +20,9 @@
 #define IN_PAGE_VARY 1
 
 #include "qemu/osdep.h"
-#include "exec/page-vary.h"
 #include "exec/exec-all.h"
+#include "exec/page-vary.h"
+#include "exec/target_page.h"
 
 bool set_preferred_target_page_bits(int bits)
 {
diff --git a/target/riscv/bitmanip_helper.c b/target/riscv/bitmanip_helper.c
index b99c4a39a1f..d93312a811c 100644
--- a/target/riscv/bitmanip_helper.c
+++ b/target/riscv/bitmanip_helper.c
@@ -21,6 +21,7 @@
 #include "qemu/osdep.h"
 #include "qemu/host-utils.h"
 #include "exec/exec-all.h"
+#include "exec/target_long.h"
 #include "exec/helper-proto.h"
 #include "tcg/tcg.h"
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905960.1313442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqr-0001XD-8V; Mon, 10 Mar 2025 06:43:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905960.1313442; Mon, 10 Mar 2025 06:43: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 1trWqq-0001UE-Rk; Mon, 10 Mar 2025 06:43:00 +0000
Received: by outflank-mailman (input) for mailman id 905960;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEC-00070S-2T
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:00 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fbbae20-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:58:58 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id
 98e67ed59e1d1-2ff6a98c638so7132758a91.0
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:58 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 5fbbae20-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582737; x=1742187537; 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=ErKU0wbfVZdnsjs5NMSuiTB4KixyX1gD9AraKkIZNBI=;
        b=OQOOlWNi52Yku4QClHAMKlQuJ4CjB0VBe4FkV7VkXKHLJrJlqrnAW4GC9v6pff6ZMf
         esaqHclwd2xg1oHwIL/YmMYmmE5YrIjlmoA3w+pVcLrKzEKL2tNWnoYrai95tTDOvaeD
         uRohAWPpd8dEqaz7VbYOBjvED7SH3BTJ1E+YqQxOKBVeC3HtAJhATE5u+KjnUTrPwEwg
         bN8m+CxS6T4OU0FkIbQ5WlA1bmIzloZBdIM/yusTsdskAR/QC9ty5HCraahwi5YBvOT1
         uXvK0qXmgHp2GT4c+YkgGzlkIYaseh7kVfLq/UnyTIEZmwC7Xq8xnaguqRpOB39CJ6tC
         G2wQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582737; x=1742187537;
        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=ErKU0wbfVZdnsjs5NMSuiTB4KixyX1gD9AraKkIZNBI=;
        b=MQ3LyaQQmXKfg3kIINQJEVhVu/KaApGfavVOYG4OKLAbMTBLlhoUSgFX7yEZ1KIUj5
         qdZdNHk9c+o434VcqZMgcFrxBcdeGH+RLj4U0BCZYH2Eqga/0nTNx8YQ2UlqDmFkkC7R
         ZZJ+lDRj8O1T3JjOKzhJWHejPfWOVVArxG0JHepNFOVDFpPk97e+wbTaq7/ThVEwwhu7
         4Hgyv9gKUgNFO/ronc0WinAOEQKpvlZbWZHYCWx0VMhadpYXnbBBe3IFX56NxV33wqLc
         xApqtm+tyNgwFLOFvGWd94n7lL9NnemJ6ZXut+aPTNqUkTaoQ2EqmWGdR3D7tLEBC0Ic
         zj0w==
X-Forwarded-Encrypted: i=1; AJvYcCX1EK+ouxKtWrlWi2XGyQTP6Tot9MvMM72pB4lsWTXsGigUdFVgsz/oip07OExmmWXsc80+l7pWrgo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9Aat/p8HPAL8ROBwxPTZDWz9d3dsZE/Op5FYjZCfPpCYFk4Zm
	kcr//U9KdMqVfpoTXyLz/EAxsu0OIRChe0hRaxRZtAQPGBwgib1RnEzw6yYdHxQ=
X-Gm-Gg: ASbGncvG133hepn4+PCY4ydt4zN7X2SNZOb+DyxMnlk0cCEWmea4CGG82B61AWk/z3R
	Z+rD9qWzsAv6JX7vGsyNz1v6kW1zrrxPG8OaHK6D8Fn8k+sFXjFwAqSkwza7y74dx3dB8Sm37d/
	X93s6ZtAWNNvZHuTgxsR/aY7ZaaBhyE0AHbvwwm50b1zEFfpbQ4mieIpSByQC72Z6z3rbJjLZCZ
	fnCMXQboMK9WGzto8eoP5VrSaROTakUmg0v6GfdgIWdLpaW11DycNOqS18mXmKjgya6W6+/Vu0b
	bcRSHkqEX1m7I/eBr+/ZyhX92oPsl7aRtt+l+lc+hJQp
X-Google-Smtp-Source: AGHT+IHO0adHTKDFbdiZLdbwVjzffyYfi7nVPL6wN+0ieHxoGwNOezFQMlR0NxHpJZQhWhI8f44U4w==
X-Received: by 2002:a05:6a21:9786:b0:1f5:8506:5039 with SMTP id adf61e73a8af0-1f585065599mr1040552637.28.1741582737079;
        Sun, 09 Mar 2025 21:58:57 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 06/16] exec/cpu-all.h: we can now remove ld/st macros
Date: Sun,  9 Mar 2025 21:58:32 -0700
Message-Id: <20250310045842.2650784-7-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Functions declared in bswap.h will be used instead.

At this point, we finished to extract memory API from cpu-all.h, and it
can be called from any common or target dependent code.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h | 25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 1c2e18f492b..625b4c51f3c 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,31 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* Target-endianness CPU memory access functions. These fit into the
- * {ld,st}{type}{sign}{size}{endian}_p naming scheme described in bswap.h.
- */
-#if TARGET_BIG_ENDIAN
-#define lduw_p(p) lduw_be_p(p)
-#define ldsw_p(p) ldsw_be_p(p)
-#define ldl_p(p) ldl_be_p(p)
-#define ldq_p(p) ldq_be_p(p)
-#define stw_p(p, v) stw_be_p(p, v)
-#define stl_p(p, v) stl_be_p(p, v)
-#define stq_p(p, v) stq_be_p(p, v)
-#define ldn_p(p, sz) ldn_be_p(p, sz)
-#define stn_p(p, sz, v) stn_be_p(p, sz, v)
-#else
-#define lduw_p(p) lduw_le_p(p)
-#define ldsw_p(p) ldsw_le_p(p)
-#define ldl_p(p) ldl_le_p(p)
-#define ldq_p(p) ldq_le_p(p)
-#define stw_p(p, v) stw_le_p(p, v)
-#define stl_p(p, v) stl_le_p(p, v)
-#define stq_p(p, v) stq_le_p(p, v)
-#define ldn_p(p, sz) ldn_le_p(p, sz)
-#define stn_p(p, sz, v) stn_le_p(p, sz, v)
-#endif
-
 /* MMU memory access macros */
 
 #if !defined(CONFIG_USER_ONLY)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905964.1313457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqs-0001wr-46; Mon, 10 Mar 2025 06:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905964.1313457; Mon, 10 Mar 2025 06:43: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 1trWqr-0001tU-SQ; Mon, 10 Mar 2025 06:43:01 +0000
Received: by outflank-mailman (input) for mailman id 905964;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEF-000735-V1
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:03 +0000
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com
 [2607:f8b0:4864:20::102f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62a8b858-fd6c-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 05:59:03 +0100 (CET)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-2fa8ada6662so7948105a91.1
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:03 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.59.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:59: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: 62a8b858-fd6c-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582742; x=1742187542; 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=pcOq/B0qkF7oBYEuLqTVXYwaTmG9K1DoxB38gebkidU=;
        b=Ug909t6oOZ+qhEAFZgkXv5IR5GPQFhiPmsozn2mvH9BJ3EJx93H1FZXulK/LtANPZc
         VP8ANg5DZCFDs+gpBPpey/1XRCSo9IYTCdpax5is2jwmFzlP/FaQ1dHd1k7nPYwQtH5U
         inwzkK/s7sk2CWOCTQoa9raCJ2+JBaEZhhiesCpWD3i+1Uj7X/R6i8Fi/quAstkOM/5g
         MdsjZL5E1syTW1AXv4JoyfJ7iXHi+kP4n/sP9YoP/50oU1Ft92kZdaMOl6Z1eNSPDGpm
         q9s1Nl6Rx71JYzyuoAkxXkM3rchC7ARJ+tlJ+e/KdzLlGnNyYkpLDwkhPCNQRGMD/IXB
         udlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582742; x=1742187542;
        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=pcOq/B0qkF7oBYEuLqTVXYwaTmG9K1DoxB38gebkidU=;
        b=pfUAP6ZQXAZOKIOEYt7JnA3yDzk9mmTddq25PrbMTLxG5sgbFj8Mz/iLxeECNzASYg
         CJs4LvUoYxQ9AeV4A4PF1TvjXcqWiIebw7bqRrXRRyx+eGshpmo9mlUV6vqZnzPaiDGD
         aDXZ5NsaW8aRmYBasFjc6xgZO3IxqDoncxBXggWLVgsUz/cYJwf+TOXqthrWHLrtpTYV
         tOD2TU08Fuv0kUl5+emSb42XathRVPzFg0f73/04C0MRLqd8J6S2KNAVfPAXnOXnZ2b6
         6FVI03nzdYBSE/7qLZ7KviELZ5AEWXyK/42NyaFx4yao76+7FZMpl4xUo2ll4Jg6HipC
         BiPQ==
X-Forwarded-Encrypted: i=1; AJvYcCV9iCVS4MKwf7s70LjlbpdzXHt5TLvIP8TG24ZJU1Zn+6jieCqNuJbSLpsYRNmodghzfq2+fcrdFT4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxLhgMrofULsnJmDijswB6P1IieQj6U8u4wOLpXDwgV35UfMid1
	GMQ9Zd1WDLQlUYmJb+W9qHOv5UoWccKOOSzyfplkTVTOsPJZf+cd3ukswaDCA/w=
X-Gm-Gg: ASbGnctwOA16IJMBLNhJE9JHBr8jemzBgApiucumPE6Z8vfSSZfGq194YdZqWdQS2wP
	fa/OYk+MphkybXYDQ5/AeuNx7eAQZYPdKU7ijcro6VVlqq797GsvGZ0OtaaUH0JPkpO8km1IC0T
	QS159u/GuFjZeifTNf0XYCG3OdtYyxpjyjw039YUx2vgf03nD9DeXyc+InzK9oT0rxMX+Mry9N9
	WYEKJ+c773FgewyucPimhfzOPMpox7vVQDSbe3YSKCminkxrWW496ogE67n1rXUGzAwkOBJPhFX
	/dlRSn1zIECl929nJsMA3ZwaHtAWo5npVa2SglhIusLB
X-Google-Smtp-Source: AGHT+IEEpEpujiC2fwj7VGkMO+uHTookE/oxRvy3WzoSDUTK3dbiUUraMl3feFU8Mr38LhiryglRJw==
X-Received: by 2002:a05:6a21:8dc2:b0:1ee:c1b2:76d4 with SMTP id adf61e73a8af0-1f544f67b54mr22292031637.40.1741582742058;
        Sun, 09 Mar 2025 21:59:02 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 10/16] exec/ram_addr: remove dependency on cpu.h
Date: Sun,  9 Mar 2025 21:58:36 -0700
Message-Id: <20250310045842.2650784-11-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 3d8df4edf15..7c011fadd11 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -20,13 +20,14 @@
 #define RAM_ADDR_H
 
 #ifndef CONFIG_USER_ONLY
-#include "cpu.h"
 #include "system/xen.h"
 #include "system/tcg.h"
 #include "exec/cputlb.h"
 #include "exec/ramlist.h"
 #include "exec/ramblock.h"
 #include "exec/exec-all.h"
+#include "exec/memory.h"
+#include "exec/target_page.h"
 #include "qemu/rcu.h"
 
 #include "exec/hwaddr.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905971.1313491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqu-0002YI-8H; Mon, 10 Mar 2025 06:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905971.1313491; Mon, 10 Mar 2025 06:43: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 1trWqt-0002Ux-MQ; Mon, 10 Mar 2025 06:43:03 +0000
Received: by outflank-mailman (input) for mailman id 905971;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEJ-00070S-Lq
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:07 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b891409-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:58:51 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-223594b3c6dso65469345ad.2
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:51 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 5b891409-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582730; x=1742187530; 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=CyMnY8DCOyhH4sll8UBWjGQBOdpS4N2V2sRcD5CyECM=;
        b=T5mqFkzrUgQVbUzBL0B85y3B6SqnLNGzrHsv3Bxb/R4kyBvS+USlLx0k2HscWCN2gt
         j6bEhCFCX6GUTPbTdawtKg5ufipes77/Xtgp9qN2R3IWLGAD1pnHDWKUzlpoDlBPa1jS
         9Dz8+A42USY9gBeCj2kPO4ewiGcTh7ZlnjHA5RS6VxumjazXOeCF4QCfjDZCFx+3pCW3
         fiYTEpCdm19qEfCtuotquGgTfi2O+DOSOtfmeJb/tRU6GRy4quFpSmTvxS8gDV2lub7H
         HhezNqM5520UFUilbf4QUbbA0S3BKkRgBGcaXnWqO4l+1+jn7peXCYscBVngVOECFntF
         S37A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582730; x=1742187530;
        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=CyMnY8DCOyhH4sll8UBWjGQBOdpS4N2V2sRcD5CyECM=;
        b=P2RlC9xV5uZTBZ6qDvwfkDxWADRsrLGvAnAxGly8e+PPg/eowyY1OkZJ0JZNT8O2xr
         Gu4C3zjVh1eiRZFUDiiWj+LCNbUgclXNFjlK6nl6HPMBhNalw0y1TY+z6UvfH/MbVJUo
         4SPDxaVLDBQ050bEyybbLkwGBoffEYexd34T0pdazsE2DGmk7N7rI7TJwQjWsAXqlali
         ZDLlsFZf9pZeRg2Ha8LeKE7a2KPN99kBPYFpGIzU0mK/8iYQ1q6KO+4FUUdjbmBH+k+B
         PGQEuuKDbSJvi3O5Pci1NOFIAlp/DJO0caqgu9cWoH/YDUmilmLXUl4bLQmuhmyorI/p
         AjRg==
X-Forwarded-Encrypted: i=1; AJvYcCVgDJ6nzhPSnf6NGu7wgKXQ1x0RQM73fzuon+DgI2ZATTP+Z17LHCtaBED6bhgFWH3V05ziNUNKv5Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJRzmm/EGqhOLmZgGKScJZzJQ7945A+/mviOvwFnRNEIazdFf1
	sfJ65uD1DBQusQ/VYwAfxYXddadnU17VnARBgmLnSGho5TZEBznF7H2nbyl1shI=
X-Gm-Gg: ASbGncuCJUn8AptwNY/k8Ob8TCM2/uw5/OVZuxRH/cHbe8pB681WucIMhJQgFGOmPQf
	pei/mo0dI5uxEqmPeU5CZwyEFoPwyiNMpx3TN65dY1o159ydWnbRtDfiVAyOSbs+1vD0KRPYEAx
	ExeUuzKmMxaFWKjvhxmz2UTk2yTJSUrzxHxeEujj7oByc5OyWTiYceISPpJXS9UP76FKhkFKTtX
	jozcxneuJPjJ+9RBmTyLU5LJqxovdwp0wXj7qLC+FR1jhNLBpffQDBxXLndcAujhCS3dA2IEy3x
	q9I0pKneaOSvDVpJcjXivOgbNgjs2r7hl8NvwH1PLRpA10/LVz0WtXE=
X-Google-Smtp-Source: AGHT+IFBRE9vcuWy/8QGIVJH+CegCd8ZXFRntWgx7wfqbQL9hdyzkh8MEMl2t2vqfLHGN0wEW9B3Eg==
X-Received: by 2002:a05:6a00:b4e:b0:736:57cb:f2b6 with SMTP id d2e1a72fcca58-736aaa1acf0mr17943212b3a.12.1741582729877;
        Sun, 09 Mar 2025 21:58:49 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 00/16] make system memory API available for common code
Date: Sun,  9 Mar 2025 21:58:26 -0700
Message-Id: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The main goal of this series is to be able to call any memory ld/st function
from code that is *not* target dependent. As a positive side effect, we can
turn related system compilation units into common code.

The first 6 patches remove dependency of memory API to cpu headers and remove
dependency to target specific code. This could be a series on its own, but it's
great to be able to turn system memory compilation units into common code to
make sure it can't regress, and prove it achieves the desired result.

The next patches remove more dependencies on cpu headers (exec-all,
memory-internal, ram_addr).
Then, we add access to a needed function from kvm, some xen stubs, and we
finally can turn our compilation units into common code.

Every commit was tested to build correctly for all targets (on windows, linux,
macos), and the series was fully tested by running all tests we have (linux,
x86_64 host).

Pierrick Bouvier (16):
  exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
  exec/memory_ldst_phys: extract memory_ldst_phys declarations from
    cpu-all.h
  include: move target_words_bigendian() from tswap to bswap
  exec/memory.h: make devend_memop target agnostic
  qemu/bswap: implement {ld,st}.*_p as functions
  exec/cpu-all.h: we can now remove ld/st macros
  codebase: prepare to remove cpu.h from exec/exec-all.h
  exec/exec-all: remove dependency on cpu.h
  exec/memory-internal: remove dependency on cpu.h
  exec/ram_addr: remove dependency on cpu.h
  system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
    common code
  exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
  hw/xen: add stubs for various functions
  system/physmem: compilation unit is now common to all targets
  system/memory: make compilation unit common
  system/ioport: make compilation unit common

 include/exec/cpu-all.h              | 52 ------------------
 include/exec/exec-all.h             |  1 -
 include/exec/memory-internal.h      |  2 -
 include/exec/memory.h               | 48 ++++++++++++++---
 include/exec/ram_addr.h             | 11 ++--
 include/exec/tswap.h                | 11 ----
 include/qemu/bswap.h                | 82 +++++++++++++++++++++++++++++
 include/system/kvm.h                |  6 +--
 include/tcg/tcg-op.h                |  1 +
 target/ppc/helper_regs.h            |  2 +
 include/exec/memory_ldst.h.inc      | 13 ++---
 include/exec/memory_ldst_phys.h.inc |  5 +-
 hw/ppc/spapr_nested.c               |  1 +
 hw/sh4/sh7750.c                     |  1 +
 hw/xen/xen_stubs.c                  | 56 ++++++++++++++++++++
 page-vary-target.c                  |  3 +-
 system/ioport.c                     |  1 -
 system/memory.c                     | 22 +++++---
 target/riscv/bitmanip_helper.c      |  1 +
 hw/xen/meson.build                  |  3 ++
 system/meson.build                  |  6 +--
 21 files changed, 225 insertions(+), 103 deletions(-)
 create mode 100644 hw/xen/xen_stubs.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905953.1313419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqq-0001Bl-61; Mon, 10 Mar 2025 06:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905953.1313419; Mon, 10 Mar 2025 06:43: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 1trWqp-000195-W4; Mon, 10 Mar 2025 06:42:59 +0000
Received: by outflank-mailman (input) for mailman id 905953;
 Mon, 10 Mar 2025 04:58: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVE8-00070S-Mx
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:58:56 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d8e6c01-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:58:54 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-22337bc9ac3so70486625ad.1
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:54 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 5d8e6c01-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582733; x=1742187533; 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=OGwlDw5fL6/8/4sqaw9ZjtskhrLsqkJfziSvtmiyf9E=;
        b=dYKGUC4ns833MidhHbCiU1Ik8x3AXHorarfhFD9472lELlVv6/UXB9tcZ4jUUobFP/
         rIwqwB/WHu8FqWJnHd4ooWFghp9Cv3HySkwffAE7ucOjh/lSnUSHqJUHIQwGbPz7IR8s
         pb1R62vOqbmyS4BH6oXyncFY/bK7EdnMl6O2WqX3NlP8LG6vQis5HhO3Gpung4HP4cYf
         C+w0Cu0Gu79ut4wjMC3YAYvRs9c2j2+Dt2qqzFhytXbl0QG4cMThpIoGujnnDmS7UHL3
         G4aKCP8vwPBQurLqT5c7hgTk2wPzRe+3Q9f5dZPRKJDwrElpdOx05L7Gh25jyhIUJkNV
         VUYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582733; x=1742187533;
        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=OGwlDw5fL6/8/4sqaw9ZjtskhrLsqkJfziSvtmiyf9E=;
        b=JZ1FSyyFUiCgAriv8Ic2LiUu40XV73xRmgLwban+K2W4Ht0Fe1tForQVhqoS4EvQpY
         WzXFEkI+idPiU2Q9hA++SqfvdqfhBNYqWPF4sRUkDHY4wplfs1UgF4YCfPwi8i+K78Pe
         m61YjtpZXVR7K/IITYQyW0vpOMcwCM9qjuCmcbPvXnntUi1Xy8jlmQmAkr3357TU9AI5
         oGwbutnMhp/uhP4kf/atweuDmh13rAbwbgQ0htvAA1a+TCSsjGkWuoCRMRYz/B9g/6Am
         qyWjswQ5uvUgxS/c0Z04OM4I9dF1TKAs0cKM2uJOPpsTJuYxIzfbtnC3VNuRzJIj3C62
         1OBw==
X-Forwarded-Encrypted: i=1; AJvYcCVbZj/OqMWCoxf3L41Z2p6MVgk5Z0lpu+Jw3jb3Np117sTR92aEZiwHzkDMtBerieNzJtoobWDwlo8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzI5ocD0FITfRSVT0F8M6GvrGr2XFJ3/MP0DEeM06fh99Spf0qy
	WJ/NAhIsyKBE9/X0SwMhuWwWDlAgzAhvhvmqnBmNI9PEVHuk2m86/L/DB9HBJqg=
X-Gm-Gg: ASbGncuwJ8N9xpK35diFlkEsm+r/oEaSaLtMk9vsNMKIRzg5DLXkHxuV/BaKNK6buGl
	ysSf78UT/GyhoDDDzxgPjTufWGyOGmz8vwCzURNwhltsy7IpNw0bPCRtl14kw4YB343/bfkoOKp
	2skVXSqeqd/rZQ76ZLpJbTJmDQtdTLT7G5UaqWmh3YBOrPZOIJdh1KcJZQVldOQBJ8L5vjiFVLh
	vr6Ewn8C1E+7zWj3FQn5TRIvfluUa05vrTJmqX7/MVT4hC1EoLkSmE0dMkRlq4eQx2Q6jOzmiO4
	SshwKpfZvMvF4kz2CPLrgv3QhjYTyFAUCzV07dX6FdYL
X-Google-Smtp-Source: AGHT+IF9OJp4stFJ9k/lsvOwoQRvqqkA/ZzdxglsajfWtO3On0dbMxz5MT0xvVfYC1mLC7gyZMGdug==
X-Received: by 2002:a05:6a00:13a9:b0:736:3be3:3d77 with SMTP id d2e1a72fcca58-736aaac69ddmr15637676b3a.16.1741582733352;
        Sun, 09 Mar 2025 21:58:53 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 03/16] include: move target_words_bigendian() from tswap to bswap
Date: Sun,  9 Mar 2025 21:58:29 -0700
Message-Id: <20250310045842.2650784-4-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is needed for next commits (especially when implementing st/ld
primitives which will use this function).
As well, remove reference to TARGET_BIG_ENDIAN, as we are about to
remove this dependency.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/tswap.h | 11 -----------
 include/qemu/bswap.h | 12 ++++++++++++
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index ecd4faef015..cc662cd8b54 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -10,17 +10,6 @@
 
 #include "qemu/bswap.h"
 
-/**
- * target_words_bigendian:
- * Returns true if the (default) endianness of the target is big endian,
- * false otherwise. Note that in target-specific code, you can use
- * TARGET_BIG_ENDIAN directly instead. On the other hand, common
- * code should normally never need to know about the endianness of the
- * target, so please do *not* use this function unless you know very well
- * what you are doing!
- */
-bool target_words_bigendian(void);
-
 /*
  * If we're in target-specific code, we can hard-code the swapping
  * condition, otherwise we have to do (slower) run-time checks.
diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h
index b915835bead..ebf6f9e5f5c 100644
--- a/include/qemu/bswap.h
+++ b/include/qemu/bswap.h
@@ -1,6 +1,8 @@
 #ifndef BSWAP_H
 #define BSWAP_H
 
+#include <stdbool.h>
+
 #undef  bswap16
 #define bswap16(_x) __builtin_bswap16(_x)
 #undef  bswap32
@@ -8,6 +10,16 @@
 #undef  bswap64
 #define bswap64(_x) __builtin_bswap64(_x)
 
+/**
+ * target_words_bigendian:
+ * Returns true if the (default) endianness of the target is big endian,
+ * false otherwise.
+ * Common code should normally never need to know about the endianness of the
+ * target, so please do *not* use this function unless you know very well
+ * what you are doing!
+ */
+bool target_words_bigendian(void);
+
 static inline uint32_t bswap24(uint32_t x)
 {
     return (((x & 0x000000ffU) << 16) |
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905983.1313538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqy-0003lk-AP; Mon, 10 Mar 2025 06:43:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905983.1313538; Mon, 10 Mar 2025 06: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 1trWqx-0003fX-KG; Mon, 10 Mar 2025 06:43:07 +0000
Received: by outflank-mailman (input) for mailman id 905983;
 Mon, 10 Mar 2025 05:00: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEL-00070S-MB
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:09 +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 64d1eb34-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:59:07 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-225477548e1so20296375ad.0
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:07 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.59.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21: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: 64d1eb34-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582745; x=1742187545; 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=Mz3bAPQKR6fBbshrwXBmzVU3oJFomZ1j01ZC38m+4VY=;
        b=Hfi1g9ZZ1P0TQ2wYMpVKU0npiziFjyAV4mkW8XnSf2gZEG+jNqS1zX8PIBuY4LeAyC
         fW+WRqRtALk/KxmIH+sqQu5usjuhPGeNRh1y6Bl4SdyZ3qZ3O2jcb6M6Jn+vEZUP2COM
         rk4G9kZQ/C93UdMvbXmX8TfQlkNmlXfLvO01xgyQmfLT9cAJjS4r8OVHOiAYICNZkwS/
         GTvK3pQqt0lfZN6tBGCtYLjt7FXb9drCJRNq8ifLRQ0cPErGPT/jQmBUYNhLXQSqhO0X
         yOR0t4UMLtn7X5Y4bIVnGRYoz82M/J1oyWMcQaHB3IjIZReJGOm8OtNHm4gxXpN3+xl7
         k6bw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582745; x=1742187545;
        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=Mz3bAPQKR6fBbshrwXBmzVU3oJFomZ1j01ZC38m+4VY=;
        b=EBvMdawMkEAtSfKQWRgMlZTHDOyCYZV3awvR5HGiOoLORgmcXLBsOkWO/Hf2gUPqh0
         A+kFmPGWBE6a+mBx5eJM4CiGDXWwTzEreXVDIH/MwNMmv9fwme5sm6hsZERyYovJTMqD
         aE0ZpNHjL6bdh9nAMfishiUnDbL1uJpz48NU+lNMRZs3hJEjwCO2uLcbJB45gb8bPIHq
         zZMq64h/CqTxPyD+wEICmixO3g3R19ejonDV2CzfQAFb7VT1Fk6sraylNn6W+A37bYrR
         PeALNNi1+t3fRm54wNUzwB1xHge7n/QRxkyxiPlWApMh5uSSbfgJUKlX/1e/SlBHWa7C
         YuWg==
X-Forwarded-Encrypted: i=1; AJvYcCXxvuF918QNLhqWXzq2/AVb4enSt5b8RiihOE9eSjgBwqZA+BndrbGFUK6ezQW3tcswuchpbPi9Pew=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxS/zDGSUDCyK64ET/2mFyn8rB/vdkEn28O2jShnJN7ESVpP+9q
	kEnE2ExLB6dkGxxIzmPWWAKBeFAqLcpJ0hxWxnaGivc6wboi4xZOgn3EIL0fdI0=
X-Gm-Gg: ASbGncuJgse1vBP//9tnvMc81HrNmDTSWoF4k2erON0gwekLQ0ViItVRUYk0jSpkOhG
	RCjUQmoWk/1Pf8WdfysbuFny16kmK/vcUo5O3JHGyqTnFtiq33xVWAIdzRg0QaEjdE+Qrzxu/0c
	5zlTqXsCY6PRsxZbtiEBLDNQuYF59CkpB6G1KSmnOaT3c9xgKYtWE65oUgRUViz33kPsS08x3DX
	DZ+8KImzrCu/QccVPrHcbA6+evkGfgclZ7GySoDCnnH5vhUpxZDH/dM3ofnjR9KBL1j7116scBc
	RqvpADuDtlHOsEPYD6Wm4qkkLNT+dgu/HqZH3V04Y34eV5QFVeueGyY=
X-Google-Smtp-Source: AGHT+IF05iTMc8yin7+8YVYQSgdEUPUj/50hW5+Z0DK0JGoSuS9iEibUeyOyOMAIIkH5mDIAK7kv9A==
X-Received: by 2002:a05:6a00:2e17:b0:736:3954:d78c with SMTP id d2e1a72fcca58-736aaa1ce42mr17690072b3a.6.1741582745578;
        Sun, 09 Mar 2025 21:59:05 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 13/16] hw/xen: add stubs for various functions
Date: Sun,  9 Mar 2025 21:58:39 -0700
Message-Id: <20250310045842.2650784-14-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Those functions are used by system/physmem.c, and are called only if
xen is enabled (which happens only if CONFIG_XEN is not set).

So we can crash in case those are called.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/xen/xen_stubs.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/xen/meson.build |  3 +++
 2 files changed, 59 insertions(+)
 create mode 100644 hw/xen/xen_stubs.c

diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
new file mode 100644
index 00000000000..19cee84bbb4
--- /dev/null
+++ b/hw/xen/xen_stubs.c
@@ -0,0 +1,56 @@
+/*
+ * Various stubs for xen functions
+ *
+ * Those functions are used only if xen_enabled(). This file is linked only if
+ * CONFIG_XEN is not set, so they should never be called.
+ *
+ * Copyright (c) 2025 Linaro, Ltd.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "system/xen.h"
+#include "system/xen-mapcache.h"
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    g_assert_not_reached();
+}
+
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   struct MemoryRegion *mr, Error **errp)
+{
+    g_assert_not_reached();
+}
+
+bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache_entry(uint8_t *buffer)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache(void)
+{
+    g_assert_not_reached();
+}
+
+ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+{
+    g_assert_not_reached();
+}
+
+uint8_t *xen_map_cache(MemoryRegion *mr,
+                       hwaddr phys_addr,
+                       hwaddr size,
+                       ram_addr_t ram_addr_offset,
+                       uint8_t lock,
+                       bool dma,
+                       bool is_write)
+{
+    g_assert_not_reached();
+}
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index 4a486e36738..a1850e76988 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -9,6 +9,9 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
 
 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()
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905951.1313408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqp-00014G-JC; Mon, 10 Mar 2025 06:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905951.1313408; Mon, 10 Mar 2025 06: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 1trWqp-000148-E3; Mon, 10 Mar 2025 06:42:59 +0000
Received: by outflank-mailman (input) for mailman id 905951;
 Mon, 10 Mar 2025 04:58: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVE7-00070S-Eq
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:58:55 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c24e916-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:58:52 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-2232aead377so1096105ad.0
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:52 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21: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: 5c24e916-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582731; x=1742187531; 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=1JZyw573LWlQgbC9bGnVcpJUmDARxtxiYGI4BMcj5vE=;
        b=f8A9xZQlQU9RBP+FJb9Jr9zPxlerCWiByInKxltateVQL7tJ02kSkGbHRn2YrveZun
         VS9MefhHxwbiDqPsSBMhoFmecoI/HBwSNtDQPsjvzMt960Tf4Z9DozX8UoWgyVhkWHJj
         1dQFVeCPc5eURe5gsANGiAQ9GTmzFjIsoaIe2CNASjc4tJJbPu4zYLh5m3Z87BoXok+5
         jWocmSWJaQfZ1OC5iWv967cSmfSQ6GwAhyCmQx9bzdqyNLOj9hioewY2FN37N8mf/aTt
         PrHvf+yMRhQtb94DTisBhkSNgPnFgCBoujTh8JvE152xfZKK/BKV+AkY+w07V+uUqBAJ
         9bXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582731; x=1742187531;
        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=1JZyw573LWlQgbC9bGnVcpJUmDARxtxiYGI4BMcj5vE=;
        b=nwolCvLPpGAmCueH8wpsemu4d/u8wOVKb1Q6Py3wua17x+xFF9mND/2H3oE8X04aAi
         rB5/cAHg48DOA+6W/dJJwNrk+9phMecR+WZtYuAeaizGEU8GHe4pp6uo/GBI564gfRCW
         0D8T7AvgCLqFAewStENWfu8ltA+6qGffSboFVYyk45zdTJaB5H1N0zEWroEL8t7vTO2u
         hNIV3EU/ms5Ml+xW0wEz19r5d1EkAJi6xSrgSyvzjgldhqxf+oi1VuWpwN4cU3dSwtH9
         8YKsrXVQXraiVDHFIWLWRsLAruFkiaDgb8FWn/u8cJhBSUTN2GVdAha9LQxUziiLFnVn
         K2YA==
X-Forwarded-Encrypted: i=1; AJvYcCX5zOB5qJyTKPqFPIREvYH4VOSYvKDVCyqGgptmTUYLQ8PQL652vJgmwvG7ZiOLQXPCSABM7gtW4l8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwV2xCzi1Sr2MuTmv0qFlrrFUls/cw7OitDdqFWMAdj093TfuhF
	GNy4rGrb2ca0cxlz6Ma0P9tWxGa/xKuALk2MDdedPJHPACcTTOqC/aovSlStoDI=
X-Gm-Gg: ASbGncuUPS9yvlg2XlsWVWxeMcSe2wbLpn8C6M05xCyG6mMJGd+I9t/E6FhoknPxQuq
	SEo+2WxRsFet0crFW81GsijNqZIXXyE/VtTSdZLAtdzFiunxtpkDaaU3xXzDMU8xM3kDszcw6wt
	iO02u+P5I69S4g1esKA8r6ADdPVT/DXnoeaOus6j4JC6shqKzvtnEwYYANmFs+VwnidS+BMVfOC
	7Y4MMdAoixML8mmWMdG1NVY5b/Y8uXmIezYfzVW05pIT8bOoBRJbiEaibnk1MQR7lBmmd+3v1XE
	eyRZh8PFVOD+AbzYv2dBpQMTQqt2iwys2L2RrFYEfYGp
X-Google-Smtp-Source: AGHT+IHsrTctZA7T98GoAjZcAG6E707cPIOSM6QcsZhsVvq9UPUg2kUQ9eJxgIpK7zPxh80fLwzPDw==
X-Received: by 2002:a17:902:f644:b0:224:76f:9e45 with SMTP id d9443c01a7336-22428a8c6femr219904905ad.21.1741582731096;
        Sun, 09 Mar 2025 21:58:51 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 01/16] exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
Date: Sun,  9 Mar 2025 21:58:27 -0700
Message-Id: <20250310045842.2650784-2-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h         | 12 ------------
 include/exec/memory_ldst.h.inc | 13 +++++--------
 2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 8cd6c00cf89..17ea82518a0 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -69,18 +69,6 @@
 
 #include "exec/hwaddr.h"
 
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
-#define SUFFIX       _cached_slow
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
 static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
 {
     address_space_stl_notdirty(as, addr, val,
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 92ad74e9560..74519a88de0 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -19,7 +19,8 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
+uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
+    hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
@@ -28,15 +29,15 @@ uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
+void glue(address_space_stb, SUFFIX)(ARG1_DECL,
+    hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stw, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#else
-uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
-    hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
+
 uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL,
@@ -49,8 +50,6 @@ uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-void glue(address_space_stb, SUFFIX)(ARG1_DECL,
-    hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stw_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stw_be, SUFFIX)(ARG1_DECL,
@@ -63,9 +62,7 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905967.1313477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqt-0002GR-9A; Mon, 10 Mar 2025 06:43:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905967.1313477; Mon, 10 Mar 2025 06:43: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 1trWqs-0002DO-PD; Mon, 10 Mar 2025 06:43:02 +0000
Received: by outflank-mailman (input) for mailman id 905967;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEH-00070S-LG
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:05 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61434633-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:59:01 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-223959039f4so72659275ad.3
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:01 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 61434633-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582739; x=1742187539; 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=nnRQREfY8a8hSo7O5I1BTgAG3l8eG/Rc3wUh1Oiddgs=;
        b=kvGAjamNHVP3zUFlVlqc4eqZJDNVC3pOlJCk0JpwNKfCRHL3+fFf+PQn5ihjFjqdq4
         kNH9NLKxw+C9yxcdrdOdDVGcXN5vNjIMjC8UW2atRBjuEkCV1U1/OwwtBB0BY0bkb6m7
         mameGeisaz9s/enb0CZbYhQ8X79LARZUf587f7XgaKQFzUOho7AGzuQitOavWaVLvkVJ
         wwxP/7YGGPbYKXnpU+T4UptMmV6niX50llnoEcOFeAb5U+arUBW0pUW6n9ct2asDPkat
         TtI2kgrzzXoylLR4kbkuaKSAJZBNCyaxbO+8xELOgs2DekRYFYRUPuQQZkKWdqiBNftx
         Fakg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582739; x=1742187539;
        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=nnRQREfY8a8hSo7O5I1BTgAG3l8eG/Rc3wUh1Oiddgs=;
        b=U12OpdKFMEYM3/satlsKfy6ZAmUX+48f7trtdf68B91QuBXikXHUkJnqbG7VLGzAnF
         Mt82AsxvsCQ9nfRuyed3aJmNFRC1uam6J1Qtnj7++qQ1+9zIApoOnTNYEKdTJMquVNeg
         qgZyEkQG/3MXNnsTjTajgTTy0ZBIzo0m/yVwAWnCjfztmUBfxyH03FhZ7qH/tBcUIDh1
         dzp6AE1MPfc35/G5syVC9ICjD76uoGHrIj8I6lhpQcsZWpnt+EmAdx3j1ddgEp7Q/FRD
         S+VWEVe6mZipBU/G12sK8+nXsDFJma+Qw7EuVwcyqbN3bGPrKMuiBKs9sU3N5AkE9oDq
         YCqQ==
X-Forwarded-Encrypted: i=1; AJvYcCW+TA8VNcmlaL9xYC0ng8A5S0B8KjN5AVhZdZXRG121iy1YI6b3VNeTn4BrwArmxEUp3gm2EuIZYcQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YycgCKHhoUi6BCNtihUe1P0QzCKk6qxBWRcjIhxFFwlhn0rDrqx
	tBF+oJGOdXO/pAeZY7+zuHdx2lbvnimiXRod3/tJy/9Ox4rKktVR4VcFeDrkHQA=
X-Gm-Gg: ASbGncsOookgIQgVIQqLZqMxlz1fWMADKKW0ZTiwLo2fo32rv7S8YilZq+V6WvWhUoD
	U1sIxVJb6IyUFkrNieqPx0ZTh+xqfVCEy/8WNZ+25OlFki3ZLgUZwrhoWt/Kqo+d57rnOvNCDYV
	MMkM7eVQRT0i9suXK/va96dDV5jZHhiKyuI268T9Vu/+9GZPb/OvoG4dRLUVE+rexilt3yPuHi7
	Or9BN+hrJBMxih49crJrXz+v6I943A+0Rfptqs5TG3mnUZl+8VnvFZPthzX/7tArih2+6PmIOXg
	wPPtseoi1NfgWbG2Kyw2QsO78zqgnTV5yqnt7UiRxYGD
X-Google-Smtp-Source: AGHT+IHAsq4Y63EYcwwuW/i7zg2X2liiOFC3cUgAGGWfi3nL4Ogmzyt5TH8VxxgwmAwHkd5TSMj4Zg==
X-Received: by 2002:a05:6a00:3e29:b0:736:5ee3:64d5 with SMTP id d2e1a72fcca58-736aaaed79amr16963023b3a.23.1741582739550;
        Sun, 09 Mar 2025 21:58:59 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 08/16] exec/exec-all: remove dependency on cpu.h
Date: Sun,  9 Mar 2025 21:58:34 -0700
Message-Id: <20250310045842.2650784-9-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/exec-all.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index dd5c40f2233..19b0eda44a7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -20,7 +20,6 @@
 #ifndef EXEC_ALL_H
 #define EXEC_ALL_H
 
-#include "cpu.h"
 #if defined(CONFIG_USER_ONLY)
 #include "exec/cpu_ldst.h"
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905973.1313502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqu-0002nr-Vi; Mon, 10 Mar 2025 06:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905973.1313502; Mon, 10 Mar 2025 06:43: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 1trWqu-0002h8-C4; Mon, 10 Mar 2025 06:43:04 +0000
Received: by outflank-mailman (input) for mailman id 905973;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEK-00070S-Ls
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:08 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6414b0be-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:59:05 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-2240b4de12bso56093115ad.2
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:05 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.59.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:59: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: 6414b0be-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582744; x=1742187544; 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=0+faf/Iypy1sVhFNFInOCPAbXVKj8STEbMMwCdFMyRw=;
        b=b4uYIVhQNuu/Rev+NnYln+CiLyYUH+JzVeZNWyrO32z/tJ+0iSe2YsX4PFjOi+KibN
         p+gv7/i7EGtzuXbsy881Gp9hl/1WCEcosyPcyBgpAbLyjFbIbiIuwGDoLkSwtooT32F2
         8R3HKsNy+FRCotzGsvJDLV1RYpICrvjz1cTk5bswkPf2W/dfgO04uaAueJaIcBq9ZwCM
         D1eISl1r+Nkcq1SaJ4SgEpVhNFruWJfSqFu5qZBGvRxXuzfjVad6JPAMNaX3diPf8q4J
         eV87u27iIBtw5D8nrNQKviep68zGejf83NJOQGcMO6pV1Cdp5hz3epsUrbl2u9SAE6Yr
         8VcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582744; x=1742187544;
        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=0+faf/Iypy1sVhFNFInOCPAbXVKj8STEbMMwCdFMyRw=;
        b=t1JpkJjJiDtFOFPW0wYkr/Ayg4PU7s34DfX1i7qYn/6Ozqep4Abt91IbvNMVp7DTT5
         4T27lQxjoqrImAltI0ygfW/J15ynH0a9gvXXjT7Y01wFriUc8jnQ3oTBca9F2mFKUkgZ
         3e8hsaRf14ZjJO1PQOHEEi4/uZmV8Ld0uJ4m8lv+Kh4BLzupwDE0nS9OaKrtfvFvnWPb
         ii874e81nwnL4Ott6tNrrKIG7pcSTv/w/fWZW0fGVChLJZl5GM99LGma4jqU72qrVhL3
         xWrLMLfHvfVrPPFuqhuAmqH2USKAjeI7OhwTG5V4IJuZ2mdtQ5TpQhkTtH+9dUt9gyy0
         vdLw==
X-Forwarded-Encrypted: i=1; AJvYcCU5wsDALsCt/r53/OuzGluzr4SHUAHmmhXNJ7haXu38/J+5L4j+Ttw3OiCqmpFQR4/kfXBGiBwlk5A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3xlHjlZ1COEbP7rUPa8lRQogF9BhmQtaPVGKRIanWbExU+9M5
	U43Jjj1vb4dVmx6adrN0UkOV22Tjr6UC3jfHoLGJZxZbdfVW2wIOh/WriTAYSow=
X-Gm-Gg: ASbGncv2wYW1iDDXzu2hmCKBdYw2bOJCzG3iTJfmSjY1izX5+LUbmoPO/8cTyicrsH2
	WV4oZPk6UOCorWvndocTO3DjDoRV4MgfjBdo2VTg9GSeJkWpLLZFANbVA4ldMgjYmz6mI7qavMo
	Dze+NHt7UN6oI712pgpO1HTyshtR0Rr2CCxMSBV8Yqcwb/mDpD8PyI1jlZgWq8NNB7TPzOfgXDt
	WsIFGh5ZEhzGYdWCgI5q9b6NQdHM0VBiqERxJVEYYQVyfqAQv+cxikOItGrjxFodZkurmbAZmY8
	TpPPzdcIxFWc1I8TlTHMN+zj7p4sdr4sRt66EFLJqB1Aoes3F3uKgJk=
X-Google-Smtp-Source: AGHT+IHvC7npbpjr3DTdxoZwzYb1dM7G7lfM3pxuLeNMzVZpdYuqkJ12UM6z/Bptz/oCAInuSIhPSQ==
X-Received: by 2002:a05:6a20:a11f:b0:1f3:2d62:3151 with SMTP id adf61e73a8af0-1f544acc6camr22843444637.7.1741582744338;
        Sun, 09 Mar 2025 21:59:04 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 12/16] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
Date: Sun,  9 Mar 2025 21:58:38 -0700
Message-Id: <20250310045842.2650784-13-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 7c011fadd11..098fccb5835 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -342,7 +342,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
         }
     }
 
-    xen_hvm_modified_memory(start, length);
+    if (xen_enabled()) {
+        xen_hvm_modified_memory(start, length);
+    }
 }
 
 #if !defined(_WIN32)
@@ -418,7 +420,9 @@ uint64_t cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
             }
         }
 
-        xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        if (xen_enabled()) {
+            xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        }
     } else {
         uint8_t clients = tcg_enabled() ? DIRTY_CLIENTS_ALL : DIRTY_CLIENTS_NOCODE;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905966.1313469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqs-00027W-NW; Mon, 10 Mar 2025 06:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905966.1313469; Mon, 10 Mar 2025 06:43: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 1trWqs-00024e-AO; Mon, 10 Mar 2025 06:43:02 +0000
Received: by outflank-mailman (input) for mailman id 905966;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEH-000735-2o
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:05 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6361bf9c-fd6c-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 05:59:04 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-225477548e1so20296055ad.0
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:04 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.59.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:59: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: 6361bf9c-fd6c-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582743; x=1742187543; 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=bTI1e75Far6tkvgIJWf413Q47HXvE/J/3XXxjgsh6yQ=;
        b=UwdO3/DlArvPrTbp7cCirMYVd/il1H7IPdcFWlxtSXqc2kgHQa9CW5UivbcyQagELN
         Y5Hm/s7op8lqFSym1LmYVnZUiotjLgHSC4rfTmzu+yYa/gDVFd1NMSU44lOX64Npg8e3
         ziOjlQ+Y6hyD6xAp5OvC1ptab3Ep+Vx0NclWK7ReGVGpmKEwxr8Sx0RY+lOtkUSbMzja
         gF7n5wHWCZisHu298rs8eBL7fezC1HyMnezZlH/0o3xwm+kk8V2/P8qix8EwbcOIqYki
         IZwYi+qQezBNT71Qj9AEAmTnWvlsfdNCPUFSp+xVPCiZR+6N70DO2lE8BS1dRDehLjj2
         N70A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582743; x=1742187543;
        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=bTI1e75Far6tkvgIJWf413Q47HXvE/J/3XXxjgsh6yQ=;
        b=vBpbyJr2AybVZHtSTSCj6b1r/qw3oOV6YYkhh863mN0vDCb54MFyLxO+gj+O2KumMm
         t5TF0UYG5xG6Cv7uU4LFI0V4heerANKqF48s9KSKgT2GHyZf306I7NIm+7mZDT7+JtKD
         l1gBNsCD0hCiqAz/aaknpfi3H1WWGRQ+1U47OolQFfUaigqOKIiJjEPcNVjhz6zDYd9f
         lsZGGTH7YTfB3Tyrr13S7Gjsmk6HTWKmG/4rJdYIt51b9n8IRYWncnnjrB/EgZ4khK9u
         4B/JvZczgeLwo9vUX3F+p/3h64BkM/65OyRjFJGrv8hCZZk+AvamsN74pJwpt0UE4O3q
         aajQ==
X-Forwarded-Encrypted: i=1; AJvYcCVPHgsZ/RYNMcvulqpEE5U1aHuacpU8Ky/hKXPP3WZxvn79tMOpNYYlQRRaZ7WN82qHjPY5MsAImNY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrYy7ntWdrn/K+ZZlUx/Oal2m7CLd0MBUx6lmcMdEOf+yWDlrp
	b9YZmN/Yxxqdnly2VHr/NPOOUoUb/4r1JoO0OnL2aCzH9ih2zFj4+aQ15aS251c=
X-Gm-Gg: ASbGncsUw2WOOGW5etwiOOeLyAId5oQFMD22gFRKCjZ+2oJVqGsYCAlvSdbWt9+ZvQf
	aLO4WyD//CtqcYm+89MS+56GjeuBZ9w3ZzDkTIjXcOI8ZhRPTtF6DApRUDiHmHIOEApiKDhWbTR
	YIDU7yDEa8gWQTVSV1fRpm9l0nIqcIJuD/7n9BdjYShGKvxHV7EnvxUreaEkN2nKJal2mNMN0Bw
	ybor2pdUsUmazFr5EOU+t9nDoWCKoy7tienikeMBmH3N9InjzsjAelAVeLigxM2vIbkLJ52Yyol
	i8FCZ9jPc0UeTMP5Dl5K67RabCkrKpyMtQEzx6R1eMx5
X-Google-Smtp-Source: AGHT+IEJmFw/36nK1SG72X+BhxhrmIBbQ3tB+znRJTwS+V3kz822OtyZYcKaYIi+o8+TLN45WlwkAA==
X-Received: by 2002:a17:903:32c5:b0:224:3c9:19ae with SMTP id d9443c01a7336-22428c07361mr200227865ad.34.1741582743213;
        Sun, 09 Mar 2025 21:59:03 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 11/16] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code
Date: Sun,  9 Mar 2025 21:58:37 -0700
Message-Id: <20250310045842.2650784-12-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This function is used by system/physmem.c will be turn into common code
in next commit.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/kvm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/system/kvm.h b/include/system/kvm.h
index ab17c09a551..21da3b8b052 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -210,11 +210,11 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
-#ifdef COMPILING_PER_TARGET
-#include "cpu.h"
-
 void kvm_flush_coalesced_mmio_buffer(void);
 
+#ifdef COMPILING_PER_TARGET
+#include "cpu.h"
+
 /**
  * kvm_update_guest_debug(): ensure KVM debug structures updated
  * @cs: the CPUState for this cpu
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905974.1313511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqv-00032q-O8; Mon, 10 Mar 2025 06:43:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905974.1313511; Mon, 10 Mar 2025 06:43: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 1trWqu-0002wT-Uv; Mon, 10 Mar 2025 06:43:04 +0000
Received: by outflank-mailman (input) for mailman id 905974;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEK-000735-M2
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:08 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 658460b3-fd6c-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 05:59:08 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-2255003f4c6so17804685ad.0
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:08 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.59.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21: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: 658460b3-fd6c-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582747; x=1742187547; 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=GMZho2jTEznhsPIS6UESQksv+KrJv0rJOAa8ZMe9/mc=;
        b=IsKsnidGxtIvsNR63CCYeXYz/4d/I8bWkAP4tpQsS5liiaMMKJ4YbdhhIvQaLnb7Yf
         6RGWuUFeNXxZrwbmNO+m9q+flgOFm+syKNoakOMx/i/FFNpQL7tLZjK3Na6oau8Pr7pl
         95gEP+cw64oYbFq0lUsPKkn0TvbseIFqr9nlfVi6BD5s3fwDNPGHXs2NqcY70zHaz+30
         zfBPTNYQKnY+ZspFyVVahHx4jO+JQsynX4QqEER7T5FALNuE/xCmg/uh6atTbkhvl/l8
         aZUPUHu/s4fNJvQbjYsThiCfSUv0P6UmT/i1yBNIdztUrGIlF96yoEHvsyZjHx693j6D
         u7cA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582747; x=1742187547;
        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=GMZho2jTEznhsPIS6UESQksv+KrJv0rJOAa8ZMe9/mc=;
        b=rtEXPvvBv1S2AJK1XZqrm1uNTE3lexnnIeTPSihj9BvHoqmVNJY9yGfFAe2iRS+fIj
         wa7im4SLCmD8yRHzLL2I5mSzlsNSnDcOUFP4zWSZfQqRNHZirMJKQU1BpZ7cijJlVnKU
         Mjg0KEwbmN3saXxeiQFMs+OqRE2fyUjGwPjs5aYiDjt7fx58POKrDm9VAgMuTR85aKTZ
         ahveLoZNSRwmG1qYX4HJWnT1pq/TrKwa7W+ZDnNHvCKN6FBLHjfDXc8Blc/bwgWNaAyO
         CukvxzJs0JSrE35P3ovx5ZZs/OcC2NMzqN4f7XaxfspNloJqFgbcXxLTDWYVVkeU+OTQ
         xk3g==
X-Forwarded-Encrypted: i=1; AJvYcCUN4a7ECd8TqVPgG3UG+tTf0IsFMzznCzZSHR5I0c0RcZ0iZQbb7o2yaKroLqDgTLay+XYdjWT4f2M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOUyctZKEV4XEdV2f7U950R7swpNj4GGECV+faab5aoWBWTwVe
	GeidEVJK1NyYqwg8F/5XHT6MAA+YxCDD7knQ1tzCzGFwPMVvQQcJlaoqbondrAA=
X-Gm-Gg: ASbGncsVJykq9S96g6qoVhuTWDX7Pwmd0NEPP7CykVdE31pdVxU601tiGRC1rqqBjSV
	VQSJB1OhaOICD5zJeMyTkGjbmHsC4NwTuin7KgMoFCcLjzbrP1CNFgEr5aFX7bIp91q2YtJVKo1
	F1hyvCr06h9Rrtub+djwh9j9yeGfjxJosibZl6fefOZmfUUw10RQE0Hq++0aI95HqO7Kau4QIpj
	rJ62731pt1FhmvgiHfjfRAefyYqreI6JG+8tsNvqgkwOhSTantZAfRlzS62cIDJLyiWiJ3VFIvD
	h5Pier9VFWU1dvgjqRuVsl30gAmkg60oj3fvN+XON6oR
X-Google-Smtp-Source: AGHT+IHbQ1zJTyihYPTNnOdjfB7Sf4JwjgD8pBM833NXOATM0his3HUH4Ux5tSFbwWsuCfmQbH8fWg==
X-Received: by 2002:a17:902:d488:b0:215:4a4e:9262 with SMTP id d9443c01a7336-2242887fd5cmr174335945ad.8.1741582746784;
        Sun, 09 Mar 2025 21:59:06 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 14/16] system/physmem: compilation unit is now common to all targets
Date: Sun,  9 Mar 2025 21:58:40 -0700
Message-Id: <20250310045842.2650784-15-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/meson.build b/system/meson.build
index c83d80fa248..9d0b0122e54 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -2,7 +2,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
   'memory.c',
-  'physmem.c',
 )])
 
 system_ss.add(files(
@@ -15,6 +14,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
   'rtc.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905969.1313482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqt-0002NU-NK; Mon, 10 Mar 2025 06:43:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905969.1313482; Mon, 10 Mar 2025 06:43: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 1trWqt-0002K1-4P; Mon, 10 Mar 2025 06:43:03 +0000
Received: by outflank-mailman (input) for mailman id 905969;
 Mon, 10 Mar 2025 04:59: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEI-00070S-Lb
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:06 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61f4d223-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:59:02 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-22409077c06so47319435ad.1
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:02 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:59: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: 61f4d223-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582741; x=1742187541; 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=IPEDYJNluDpPES/gm3SGsU7HvgYj8dBtSrlHoVBQ0cc=;
        b=OjiXXz1DPqdeSG/s2a39ISkjWnRfIMRl0XXkUAwV3g2k++CsT7A+keEfpP3GxNfwdN
         u/DPIfbve7P8koO1sH+muVDRmGWcQShNJ1ZTUHRbTT/xVzoej9216a2xiBS2oSagn2X0
         KwEUoX/qhbrC8UAYiCYufoF4CGl6xT92YeFzmEXggz89sl2hfio/BNHpEKxIySJcJdyF
         uAfsiITLFrqbo06uHIE10e+l7NsG6mvBQM6wAGjkPrLotJNi4yPZq0tf9+AyCbdi4RB1
         r2zKUVukU15jmDQAYgA9a4VFLsQ8dpQk0clEzpnDzHziISQrlGzU0/qFpD5Ct5WHwDjk
         U+IA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582741; x=1742187541;
        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=IPEDYJNluDpPES/gm3SGsU7HvgYj8dBtSrlHoVBQ0cc=;
        b=VOr759h2yEpeU8IInp1WSwdAzgBjrCDoYjRPmamCdQHejwlP3T0ZSJXvXwzdSGRn6t
         MT3oEvA+cIB0wn2UFU4Pr6w9ptKpTk/SHtG3SRVnAZLeRGfQabvcNX74a80dV1thHXTV
         TMpU/GvwW4KcHwZGc9/SMFqUJh3rXHHqXP2cU6/4qIIijkiqkEnEc49vJMgOz/wFGU4y
         KKE/gW6lY7sjAKwYV5KBRQPA0qSYWkIN1pReE8e74K4zwTUI7BjJ4wxpPKdvpUKtQiox
         fKfUQQaxAMgTX0Ln4A0bHN4eK4yarlzPSlbsa2NbYqJR3LLMv30y0+1Vkoj1Z8sGsp+w
         OjHw==
X-Forwarded-Encrypted: i=1; AJvYcCW+hX9qTDMohwH5sQkaRmHzYZRoIfsxyqu7guN2SLWWAVpzF1FPwDacZKTM1jsPGA1wvcqUEm3zRu0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzdJ4M60qGAulz8DUk6RisJJQpCQt9JUQKxvRXcbRWXhpMHVBIJ
	HBvSod3wZpmGaT+MtHX7+y9JQvbd00OalfwhCWIGjfJhHTldFKry9FvyjmEzqQM=
X-Gm-Gg: ASbGncuaJAfUJChXS/4jrOAAGoCEbyfelkmB8UsSRHsI7IOsJTCPYMxbjWZ7IuanuhT
	X/9HJ5umXw80ji8bjZJZA+lXc3BGFvRQtuAB64/AL/9hrEn+kQ5L65XN4rRhl5eM8diaAO8C9iX
	Eaful6UJcDBWanZirmYQ0MuBahFNXhAhvS7fo6vJ1rpU3UUXDjZ33tNFeFUehTNOTZrtdS847lP
	+mnYuE+PdZNHKIfESxLZbmddius9qKGQUBjEzIPAhqt88bA6T2uFTmcs2UGPcCt7N8tpVpzuAKH
	KrT3fz++VGXJduigIudCSCIanxSiZGkxu7dbD/78XEib
X-Google-Smtp-Source: AGHT+IGnRL2uatBuqKhV40BV7IK05QSeZki08kFFlneJ+DA+/in0OuYiAmS5NbuJabl8/7CaVrRM1Q==
X-Received: by 2002:a05:6a00:cc2:b0:736:4704:d5da with SMTP id d2e1a72fcca58-736aab14d5amr19552625b3a.22.1741582740826;
        Sun, 09 Mar 2025 21:59:00 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 09/16] exec/memory-internal: remove dependency on cpu.h
Date: Sun,  9 Mar 2025 21:58:35 -0700
Message-Id: <20250310045842.2650784-10-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 100c1237ac2..b729f3b25ad 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -20,8 +20,6 @@
 #ifndef MEMORY_INTERNAL_H
 #define MEMORY_INTERNAL_H
 
-#include "cpu.h"
-
 #ifndef CONFIG_USER_ONLY
 static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
 {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905956.1313423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqq-0001Ie-Cs; Mon, 10 Mar 2025 06:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905956.1313423; Mon, 10 Mar 2025 06:43: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 1trWqq-0001Gj-8W; Mon, 10 Mar 2025 06:43:00 +0000
Received: by outflank-mailman (input) for mailman id 905956;
 Mon, 10 Mar 2025 04:58: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVE9-00070S-Oq
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:58:57 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e46147a-fd6c-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 05:58:56 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-22401f4d35aso65267385ad.2
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:58:56 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.58.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21:58: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: 5e46147a-fd6c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582734; x=1742187534; 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=S8ktbxqhQcYI9crAlIF4CNR4KDCM1LZDZwDTggcCVc4=;
        b=hMY5kfr9jB94ogwzcxcNPnzCgH70IP+FH9lpeDPMHnV2swPOMdIZPcWovnG7AB+6IP
         VEc+INhCm+LAPX+CXI8fiZsHdKZlOGtzR8Iz3QabtBEo7BFa9QBaIngOc1CGxGkEbQ7S
         h6g4xnMlPw+cFccOa5X/nUnOmgGU5uy4yX9u5UoV52Ybrx/Nc2zVN7LncqHqVHTrpQvY
         SHsabZQMWPW3iZE83xeGE5+TCGcn6Ymb+00v4+Ki/3CkjsgshNoRXEwak5reZtooMtRV
         sU+jNMVpIDzyMiqh9stNqJW8BiMzQgyVv7wTIWX/LxMaKNCloHz1NX33eUsIITt5h/9N
         4QGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582734; x=1742187534;
        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=S8ktbxqhQcYI9crAlIF4CNR4KDCM1LZDZwDTggcCVc4=;
        b=MmbFM+DoX0URVNs7gMGPqLKWW/Z+RgJKjtvWsYc8B7n69JfX6vPCDHv4GuYiT08y5m
         54sJ7rU3DgB5rMdlmBHyEMqcZpJH1winA9h9BFt98BrV5B0iMA8WOo4d6V9f+KVAAsBX
         3qrWQLbDQbJucEmo2i2qL8P7m8bCaLDDLjuGQph7AeJFLKbLqF/2SVjLouDxK59vq44o
         jq1l08ilip20CKYy/BN7+QEaxDcajlkT+TMfZEqvHIjqqmRoTfxnZpMaJAW7wxi7xDGC
         14I6PDVv5kNRYBlWHf9WvgwqcibrRbh73dclFg3ELGfl5Ct5p7V2JHw06zywUer8FYCB
         kDLQ==
X-Forwarded-Encrypted: i=1; AJvYcCV79mvAewapvNaPcsR7j9aawhx0PeAsaixAM9kmmkk+FKf1jiBK+Ygte1GYhOcGmMi6F4YHKQ6Idf0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTuIYW2Bep+Dz9Kxh8wZiVmhav0k0JozsRZBDR+fvUuJhw89rh
	xxmHxacV+MDrirLAkHJ25lqhRDCvlWekHrnA/XOe6ExqacJtmFPcfcIR5vi2qcg=
X-Gm-Gg: ASbGncvv6LMQG57HLQWXXAdrbsZyfTT/gCuD4vbWEFs+U+RKcSeU7iyHEM0/joYbKmp
	S4Il3O5ejKirUUCSLdZq8Qce566BwHc6q5pvESdQby0SxunlqkbOOYao9leh9ZQtSoI6DNFukz1
	KU6cyEqxJrFGdewxL+sH9hOLVxJF2ROSd5f0p5LoWozXXC+XctZZhd72DKlk8yDXUzrFOjCw9f7
	Ew0/vZ4fPny6LlbvCV6i4qPLFWB4EvwDYglL/ItheTjaJzdfGTsdZq/qP3BiYsv+NrvaJ8wqQJB
	QXuiBtwPuHYPQE380IevQq/2KjHm0ETokzyYVQsV7o2G
X-Google-Smtp-Source: AGHT+IHkXXNzkEnz2BccPlbhHJNUY3LGOIbmL0i4gzfHTIIx3yoWhp8OGUsmgyQKBXK356JOEhoSQw==
X-Received: by 2002:a05:6a00:2493:b0:736:ab48:5b0 with SMTP id d2e1a72fcca58-736ab48061fmr14740098b3a.2.1741582734610;
        Sun, 09 Mar 2025 21:58:54 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 04/16] exec/memory.h: make devend_memop target agnostic
Date: Sun,  9 Mar 2025 21:58:30 -0700
Message-Id: <20250310045842.2650784-5-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Will allow to make system/memory.c common later.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index 7c20f36a312..698179b26d2 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3164,25 +3164,23 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef COMPILING_PER_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN
-    /* Swap if non-host endianness or native (target) endianness */
-    return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
-#else
+    if (HOST_BIG_ENDIAN != target_words_bigendian()) {
+        /* Swap if non-host endianness or native (target) endianness */
+        return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
+    }
+
     const int non_host_endianness =
         DEVICE_LITTLE_ENDIAN ^ DEVICE_BIG_ENDIAN ^ DEVICE_HOST_ENDIAN;
 
     /* In this case, native (target) endianness needs no swap.  */
     return (end == non_host_endianness) ? MO_BSWAP : 0;
-#endif
 }
-#endif /* COMPILING_PER_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 06:43:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 06:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.905976.1313520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trWqw-0003Cr-Ac; Mon, 10 Mar 2025 06:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 905976.1313520; Mon, 10 Mar 2025 06: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 1trWqv-00038R-KG; Mon, 10 Mar 2025 06:43:05 +0000
Received: by outflank-mailman (input) for mailman id 905976;
 Mon, 10 Mar 2025 04: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trVEL-000735-TF
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 04:59:09 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 663d603f-fd6c-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 05:59:09 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-224341bbc1dso35375245ad.3
 for <xen-devel@lists.xenproject.org>; Sun, 09 Mar 2025 21:59:09 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736d2ae318csm1708308b3a.53.2025.03.09.21.59.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Mar 2025 21: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: 663d603f-fd6c-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741582748; x=1742187548; 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=ca5XHIZHBD7tCKLnU5sMNG3rMchaOW2xdNGbrtAeUuA=;
        b=ShIznCKlcc13AfUB+Fz+JnpwLHMXWsyLkK4YQyQcAypnnQ8zySP/fgd9MXbtm8uqBj
         /sH4bgtBdmesuKImOPQxM8zX38eA4QRrJFJ8RWEqeeH5FZ/K0liPsIy1Wqcg04t/SYnn
         0YdFLoRWnGJ0+xHJcK/wjzdSePTdniYhmAxyv4VR5dkJi7O4BCotlw68ARRZBYy1YZfj
         /SOH4plbmK3iUWEQhNigEBKjLXqyBY+JiWoUbGHhQvkSG5mi/o5U4pl0HhoSXAkO22Py
         bUEIj4QOViFhpel8aB86CZKS+zIVpjCDRHa6th5fvU+LZp27bVKBUnNsbjKiMUQIS/Et
         pZiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741582748; x=1742187548;
        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=ca5XHIZHBD7tCKLnU5sMNG3rMchaOW2xdNGbrtAeUuA=;
        b=m9H4/hPdEvh8mlyE82q77gB8urFzvHTPro7ZY2lxOcc2zN1IKj5PvyrFZuy5J7AFpa
         VwXkAbhZ81N266krHY9Tdj+utL1nNpvQq6j66a9V1zshd4eygQL/ah4dDVh0Y84YbkQ7
         L9EkFQBEJauzHWpeVVwNGCW55LFxDr9KBgOzKadkBIZBmV63qzIVWg4JR1h0mLkolH3Z
         jYOgWghf9zMgPILaaiMBGnJ7xGoVyA09guD1TyjWwBiK6PoCvW1G7x2DMhassTB/2p62
         leEpHOqvRzgCb/KQTRYXdspG/R4v7Wo1K4KXxpoEqQkzoaQ6st6QTFHFxToKGbwU0r9I
         045g==
X-Forwarded-Encrypted: i=1; AJvYcCX9A7e8NrVtnN1Ook/6E3li1YkowH7ViYFRhRyUY/OrZjOoIBchdwolDTx8LUhh2kgDZj1i7bvptUI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx84FSA+ouzyZ50fm9/bPHs8UXRa2XZy4O8O1cDJEqTeNc0fldh
	mh1+hjl0dWaM11lvqd2uMZJuPVNW04/R0bETJX2nVb2Au2rsI/RmftbU8RjoOHU=
X-Gm-Gg: ASbGncsmrDZzrZdqMPIk9ibCZvFSLfxfzifFQIaUeggn+W+mW1cQnB/SJ848p2J8BTy
	lbbVc/Gkn2W9Kq6+Mgei3TNjzU1TwpW+IjCab6YwZW+TJ2CZQlgfmtdkjBUFw/lZQXDnT0vl3fW
	SVfOeD2nz/XG0F6M0QblIx64u58jOE2x+5ClCNBSGqzrieZNjISLHb3kVRmx9y9KN0LiakPxi4Y
	AVoNEpDAuOljMeHeh2c8Ufg/m0HnY9UvR1nLQxJK8MSS1TRjgvbAecw6BAPSPmlPGVt2g6B4rSi
	cE6oBh5GC5sMVrsM1Qv9IVvO1mlZHONSAfaI4N6wqUSo
X-Google-Smtp-Source: AGHT+IHOxR50kjFp3DQk9gSBOkNND2h3Drx9YEHpcRm5j+6hJ+poi1niGnSE9oReFoFKVWczKyJ1NQ==
X-Received: by 2002:a05:6a00:2315:b0:730:7600:aeab with SMTP id d2e1a72fcca58-736aa9fea71mr18336179b3a.13.1741582748003;
        Sun, 09 Mar 2025 21:59:08 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kvm@vger.kernel.org,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	manos.pitsidianakis@linaro.org,
	qemu-riscv@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH 15/16] system/memory: make compilation unit common
Date: Sun,  9 Mar 2025 21:58:41 -0700
Message-Id: <20250310045842.2650784-16-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/memory.c    | 22 +++++++++++++++-------
 system/meson.build |  2 +-
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/system/memory.c b/system/memory.c
index 4c829793a0a..b401be8b5f1 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -355,11 +355,11 @@ static void flatview_simplify(FlatView *view)
 
 static bool memory_region_big_endian(MemoryRegion *mr)
 {
-#if TARGET_BIG_ENDIAN
-    return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
-#else
-    return mr->ops->endianness == DEVICE_BIG_ENDIAN;
-#endif
+    if (target_words_bigendian()) {
+        return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
+    } else {
+        return mr->ops->endianness == DEVICE_BIG_ENDIAN;
+    }
 }
 
 static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op)
@@ -2584,7 +2584,11 @@ void memory_region_add_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        if (target_words_bigendian()) {
+            adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_BE);
+        } else {
+            adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_LE);
+        }
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
@@ -2619,7 +2623,11 @@ void memory_region_del_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        if (target_words_bigendian()) {
+            adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_BE);
+        } else {
+            adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_LE);
+        }
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
diff --git a/system/meson.build b/system/meson.build
index 9d0b0122e54..881cb2736fe 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,7 +1,6 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
-  'memory.c',
 )])
 
 system_ss.add(files(
@@ -14,6 +13,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'memory.c',
   'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:02:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906131.1313577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trY5F-0003eI-W3; Mon, 10 Mar 2025 08:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906131.1313577; Mon, 10 Mar 2025 08: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 1trY5F-0003eB-TP; Mon, 10 Mar 2025 08:01:57 +0000
Received: by outflank-mailman (input) for mailman id 906131;
 Mon, 10 Mar 2025 08:01: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trY5E-0003e5-If
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:01:56 +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 edb1d3ca-fd85-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 09:01:53 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so1673313f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:01: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-43ce3d5a0e2sm83720525e9.12.2025.03.10.01.01.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:01: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: edb1d3ca-fd85-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741593713; x=1742198513; 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=X6dywhLknJ5/bp1jnLsBbaDdFkSHw7wfUPhMm6JROLU=;
        b=WVCYUC18cM8leOuqlOsUpzshuN6uKS8044rnktD79zPM1luYmZ5xjSliZXDyKP31jp
         kucLN0g0ifA5zuOSB9OMnMTXmnQq26zs32db7+ZIF8tlsVtklKqpTzxjNJ2QWsVIJqv4
         WvwrIH6oQUD+HkbroHr6wRcQj3JUSNHUVUoIRK09TooPpmBIRmm8jdo7m6VU/fViTSzQ
         0gT5V9zfIC9kd3LTglC8jjgnwk31Y6IHLDhs6uKOMFN40ORq7nxZQgacNQY1Rbu3F2dq
         s0SSOZFjXFHE4gTDpYb9dop/6xFXBmYKoWTimyVKA/Nt1r7EVqCr1t9tsdCHS8sOG7+i
         OcMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741593713; x=1742198513;
        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=X6dywhLknJ5/bp1jnLsBbaDdFkSHw7wfUPhMm6JROLU=;
        b=O7LmQg0Bb67+SIo0EFd92iOUT/0tpiVzXwlosD75/0yIS7HC5qURg1350faEdohFa8
         vyLfZFDrxa0N2QrsHljs29kup/XP1Kr6bj9wxIQWFS0x7kARulQqDeJsKtXf2KGEdZXB
         hHAsCaDbYf4x57QMaDFrsrvlh+ke9ze586Hyu8dIm8Wo7UKUkTaUTzC7bdWOs+OtVBMR
         /fikVcicEjQtZA1LPX7so6ory1iTzZaIdj9yQ0s6OW18dsgTlBOm/Ghw6zvysCLqSigA
         tfe9xyasx9gqVSxes5IaaElfPE5IjeAyORSK9juYHDld+nPzMQE0yqX8XxnKF9AuoYV1
         w6SQ==
X-Forwarded-Encrypted: i=1; AJvYcCVR7XFFFilYzSGJ2uemRCq8ZpWpUOa1nnBPVNLcZwqbYKOMoKenOZ7Fx5wOA4ZA63FvKRqSRYT183U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrBHjh+oz7kCbwYQ/v5UM6TtlCDlB6SyBtVAii6JACOnmFAoz3
	E7/QDX0U+SuGEDtH39txRmN0CtEBJ0wTKcBzQmslg+HPd9DDnl4wsWtxtWnBSg==
X-Gm-Gg: ASbGnctd8Nx0SDvwpxEalkmgzpqkss6jgxE1WQ6eAOovq1Mvr58T+CmkQWGVwyzeL5H
	GQRf7leE5h+AYEPp7vdK4VbAkodTDHkYqI/jwwbksp6gxhLddZDuRDRaVWB9QCNgtiOdiih0uuJ
	xiSn3I6WGvRehwkLEQmXZL8dCPsGFfwHpnWvvD0eTM2rZbJ/p0n/YdG0Nt8wPjpdjaNF2v6VINo
	MNbVh9d6ulw+2isfnIO5BKSut7Sf19rYHXWNzIGAd+rivYleH4fR2C7BKrrwcimd5b2A2/lxmqr
	XYVvtum2axMEjEuKzkCmDz6REawQ/SuE87qwV70Yz7wM5Bwdd7keZsDbkMJC/5hi8fwPLsfklZR
	24AucaHynvx7y2QNn5nEIUon0Tp0pVg==
X-Google-Smtp-Source: AGHT+IFOeBvAbtevo82oJPiWzlLCN/WWVbfnW4MXo5Ae/anx0+GRq84j5hYFyQiJPlTJwl5v6is7kg==
X-Received: by 2002:a5d:64a4:0:b0:390:fbdd:994d with SMTP id ffacd0b85a97d-39132d45d52mr7254346f8f.27.1741593712801;
        Mon, 10 Mar 2025 01:01:52 -0700 (PDT)
Message-ID: <93fdeea0-495a-40c7-936c-749e75a3d728@suse.com>
Date: Mon, 10 Mar 2025 09:01:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
To: Jason Andryuk <jason.andryuk@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>,
 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
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-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: <20250306220343.203047-9-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -4346,6 +4346,16 @@ static void gnttab_usage_print(struct domain *rd)
>          printk("no active grant table entries\n");
>  }
>  
> +void gnttab_seed_entry(struct domain *d, int idx, domid_t be_domid,

Can idx be negative? If not, unsigned int please.

Furthermore, as with any additions to common code, please keep in mind
Misra: We better wouldn't gain new unreachable code for certain configs,
even if - didn't check - the respective rule continues to be non-blocking.

> +                       uint64_t frame, unsigned int flags)
> +{
> +    struct grant_table *gt = d->grant_table;

This looks like it could be pointer-to-const. Same apparently for the d
function parameter. Question is - would it perhaps make sense to have
const struct grant_table *gt be the function parameter in the first place?

> +    shared_entry_v1(gt, idx).flags = flags;
> +    shared_entry_v1(gt, idx).domid = be_domid;
> +    shared_entry_v1(gt, idx).frame = frame;
> +}

In common code there shouldn't be an assumption that gnttab v1 is in use.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:03:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906141.1313588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trY6f-0004B3-AN; Mon, 10 Mar 2025 08:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906141.1313588; Mon, 10 Mar 2025 08:03: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 1trY6f-0004Aw-7D; Mon, 10 Mar 2025 08:03:25 +0000
Received: by outflank-mailman (input) for mailman id 906141;
 Mon, 10 Mar 2025 08:03: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=t+uq=V5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1trY6c-0004Ah-P0
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:03:23 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2614::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 213a906a-fd86-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 09:03:21 +0100 (CET)
Received: from AM0PR10CA0006.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::16)
 by DB9PR08MB7605.eurprd08.prod.outlook.com (2603:10a6:10:308::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar
 2025 08:03:14 +0000
Received: from AM3PEPF0000A79A.eurprd04.prod.outlook.com
 (2603:10a6:208:17c:cafe::9b) by AM0PR10CA0006.outlook.office365.com
 (2603:10a6:208:17c::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Mon,
 10 Mar 2025 08:03:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A79A.mail.protection.outlook.com (10.167.16.105) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Mon, 10 Mar 2025 08:03:13 +0000
Received: ("Tessian outbound c3a902884497:v585");
 Mon, 10 Mar 2025 08:03:12 +0000
Received: from Ld91c9f086527.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3D2279C5-9211-457D-9955-C7EFF641D09E.1; 
 Mon, 10 Mar 2025 08:01:48 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ld91c9f086527.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 10 Mar 2025 08:01:48 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB8397.eurprd08.prod.outlook.com (2603:10a6:10:407::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar
 2025 08:01:46 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8511.025; Mon, 10 Mar 2025
 08: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: 213a906a-fd86-11ef-9ab8-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=dYrD8IEPPNKjZhfV7RzuF01JhirGefiXC7VsD2JdRVDY3omXdSXMtHNv8Y4XnhonUYc5ygzU0XWYbfWHoPOyb7cZXqV8gTLQMBRIVgK2Dx3YSRN9yEYS512IHzzz4blmnGG+xu/hsZ/HLCPBCOe/qZzn+FYtUOpu+II6DGQp7+lMs2X1eQl0uiKytKqKqaCgUYBZ0WJ2YTpIvafCEPUXgbFmGfilalUNbMzX5QKcwg1mK+b95iJ1RsbnO8Uv8oNRl9LH8gdDFUnug27g+wNILtlgSSiSPML+AsZB1PVr9ApJpD4xkPJcNP5n4RVq9aAitsyMZnVdkOCnxNXiu4JkvQ==
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=ZOkUF/QJDo4Pm67xoymNLYakN7APMs/mYU9MjFEQ/Q4=;
 b=siB3BYLwBi/xvTuwuGnWO+zPebBn4fLuK0f2OlJ24GwVUvDKeYDwL+0OOYC1GHiF95c8WGeYNUbDR3MXnx37n+ixH63WczjeVrSnjvy+ahG9D9BdwucLsxykPFDJm1IuhNsqvCKfTOnpAH8ibGsQx/Fj8ca9kr02LPUUYBlQVShQIie1ioO0qyDopH3fyhEHX90RZTn+n1cRtjh/UcD7mN9lnKUgzvtoHWdrpSO+6U2tGOSRGhvISzW+sGZaQV8v9YwK1JTKYjejnex+FwUOBD2RY4oxyloBtnfhbhNREbzKDKYWaP4nDZdsFO5PSDszfzOaZ2b3lz0HswDG3B+odA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=ZOkUF/QJDo4Pm67xoymNLYakN7APMs/mYU9MjFEQ/Q4=;
 b=VGWEYVZq0ayvEivKlApsWRqW25eAQLYOP8HH1s0qsQb3iyaNrRxIDTom5jD9+554vBcJ2cdKEdgQkhnM60Vy33wL+fMDP9v2fPxxAiW6FkATeMfz/ycL5dOL7cFm2TB0SMjZOROiKl0sd2Kqk+dw7h3PARN8vXvW3D6hv1pJHso=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c03093578ed4cbfa
X-TessianGatewayMetadata: /AlVOH0jhWNvjkpfIhzDeRSpTMQeVVmy/vGiRgVWePslEO4f/SYA9k97/QWiYWIBvOOmSiyC38wdFTxlE1+9l7Td8Eb6Ew45I+odU/tsxZKgZzYIFaAWyzr8tdOfkSRW3if0Z3EiZ6R1UkvNI0rnvbqWfRum2C6mnRAtBpNP+Mk=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hMPbfE/5gyafAwqDq9Lyov40f2ATnQMCvGRTiqYDPQUI7wlYGjkvzfmy7T74Zl+eziioAr/JHU8LOX+1qDIFW7k7nTcCYRkZFN9/KvKOm6p1iIPGtYve6h7kMSrcfX2VtJkeezJmvNLn6l+0KWS7QgR++Mp/myKJiyknZIsFFzTDf3lDM/vkzGkL3ugjRKKYm4OhdCiOn5UJqPsaQ4KrgZB4L2nEu1K+uriPXr1Wp8QNr4PghIzxMbnVtaS9O2Zqs7XySeqAiu8kLKxefC38x3awPKqK6jXfDC9YAHSp0Be19Uh89Xb6J1evhPtvPh0pTsrLfpwcsHRurX5CmoEaYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZOkUF/QJDo4Pm67xoymNLYakN7APMs/mYU9MjFEQ/Q4=;
 b=e+0+x/qYFYPVCafLBdLYk7qUcZpJou8ix3A5zRvUVwKptj2uKBRwVLyjdmVyZnkP9j9TMJR3j1Llsyqq5yv0MTd2MYJHbwWBEmMfGUK6H9NqNrmRKDB8HS03bkK/sB8jJSYLBsEqk9OmMSMpyY15GbHDgD1qNgMiLYHz9Q2sH8Eb0JyPhcU0C81GiWhRf4k1lgGHsbBMf7RAKO78b/SD0WVnfXtAoCQIOiXrKOB41HHFDjYUJE28OLc+yPfo7j46TgFIqQ5OemQeKOgPZKpzNiMLdlcV6wyubAyM8Dk5hWjHMeocEdEc8VKTFmNLt4Qs3i5eNDWPpFsLEp/+Lqrvkg==
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=ZOkUF/QJDo4Pm67xoymNLYakN7APMs/mYU9MjFEQ/Q4=;
 b=VGWEYVZq0ayvEivKlApsWRqW25eAQLYOP8HH1s0qsQb3iyaNrRxIDTom5jD9+554vBcJ2cdKEdgQkhnM60Vy33wL+fMDP9v2fPxxAiW6FkATeMfz/ycL5dOL7cFm2TB0SMjZOROiKl0sd2Kqk+dw7h3PARN8vXvW3D6hv1pJHso=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, 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>
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
Thread-Topic: [PATCH 05/23] xen/arm: Add capabilities to dom0less
Thread-Index:
 AQHbjuOsEpKBv2XdREGmb6t5T5YNe7NnYSeAgACWFoCAADjQAIAALPwAgADS4ICAAteYgA==
Date: Mon, 10 Mar 2025 08:01:45 +0000
Message-ID: <474C7972-2B67-4FD3-B4F7-39B352301A46@arm.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
 <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com>
 <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
 <09103c2b-a7c0-44d5-8eb5-2d0fcb01c26e@amd.com>
 <cdb05727-fd2f-4b83-9200-d88789ce908e@xen.org>
In-Reply-To: <cdb05727-fd2f-4b83-9200-d88789ce908e@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB8397:EE_|AM3PEPF0000A79A:EE_|DB9PR08MB7605:EE_
X-MS-Office365-Filtering-Correlation-Id: c4f0a2b8-df0d-477f-2312-08dd5faa0186
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|7416014|376014|10070799003|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?iso-8859-1?Q?Wcy1AG2/+wAuyuOZdGChjyqOtPf6zUv28V55Q1nvlYjjEPhywN+hWNofcL?=
 =?iso-8859-1?Q?/sVFgBIoZo93ZlPPZPTXcdbPO9sSdTEMzpmKGqVufr8OVos/phOsbfMdqj?=
 =?iso-8859-1?Q?0XZDxxBGf2x0u15KbhUoF103yKFM+HWbkrKIQqjv1epeyhWJ+YHDFqEKaW?=
 =?iso-8859-1?Q?KgFCl/cC+ExqcEu9T5IE90kDnjQePUaaqVru6dQJYQZvjFG2wr+GC72HOV?=
 =?iso-8859-1?Q?b/+2HUAC3RvqJlpLRXKs0IkEllLMw7TDmTP4Z0NwJghjfhqSNfwaLoZOPJ?=
 =?iso-8859-1?Q?96tcvVGTmzLZXNMsjgvWsuQMY2lfDW+58K0zYHv+OBMXkgrxG8Ohf0KRqM?=
 =?iso-8859-1?Q?EZyD6pBnGoAfZQ3Wc1XKYoRKYQZ88dMn2/21eAmCzyNgqsn0iiCS2arfyG?=
 =?iso-8859-1?Q?vFEYocIaLbowTKNqfG9Sgcp4tkglkXDwZ4152RVheT8EUnW2tEEplawzCr?=
 =?iso-8859-1?Q?7WXb9Pc9VP1hU9n/AHNQJPQvgw3tt4iIEHYZwKvrb+1TFoKdqtXjBA2Vk9?=
 =?iso-8859-1?Q?uuvwYU8bEhSsP9ywO2Axl8iGJyKHeaCRc79cInnqqJVQ5VYo6SLFOFzFzV?=
 =?iso-8859-1?Q?qcnBkv++SQ8MWYSaflEXJzYG5ni+cgkOP9Rn3MmBniVoaWWmAUid6Kw6IE?=
 =?iso-8859-1?Q?7IneCf2cf7rpnl+Gb0Te8oeWNoy4jpQlHucrFXJXrSB0woCW3HxWlaWvZt?=
 =?iso-8859-1?Q?vQx849PTdSIJHkuABXZf8xjGh+zb1bLibyollgpcQdYg1yuhTjwE+/P6dQ?=
 =?iso-8859-1?Q?8mzdnsTq9azw40ePkKUXYkfQWjGdJAJz74xmQwrgdqxb+MVa+RER3i6xC+?=
 =?iso-8859-1?Q?bSeN/yf/mPkLmLRaBdW7O/+Km2GG+wLdFQA/M9QFvIpSdXF+3sS7fsTmza?=
 =?iso-8859-1?Q?JmoISssF/Z3hdsOr/IzYR1dvl6IYdAq017OyRN40nQXyiPiNWfVvRl+bEd?=
 =?iso-8859-1?Q?2wRuxM5kTFfItp/ogZtynphD8+IH3+CRt9Sb0RQxq+52h7DnZAxZnHhKXi?=
 =?iso-8859-1?Q?kRcsrR8B9p2RpCvvTYYVyG4F7FWVRKJXcbkRRCMsXVfA7qD5kENPUZRyWN?=
 =?iso-8859-1?Q?sDdgHXLUXDduuO9lPIwZusK12Bqn4V7nB2lTCbDaolkXUGW/yfn3veGx3i?=
 =?iso-8859-1?Q?IVdWz4DVjc1LKnp1MXT8nXhkyoD7p7YipAmr9m+v+pJomJmQz61AzfuyUz?=
 =?iso-8859-1?Q?AEULVjKhNKnApQcjXadtuI86vfoai+AKOV6h98lKkBZTxM+uClrP4MQUVZ?=
 =?iso-8859-1?Q?12/vm8NMaODBpN4w3fSh/dUWAaIV6fexxADrnX56k+O49y2uGclOUBMEne?=
 =?iso-8859-1?Q?3s2Fp0G5YQ2EzHRig5OljmF5mHtSyTaPvJs7lclGIdXQbfbU+UyiCPOIyR?=
 =?iso-8859-1?Q?4cCKPdYgzeXjadJdQNEoQW3wAn7lVgdkagAASDsPInL6o00XO2b4T7Td9f?=
 =?iso-8859-1?Q?GR3NiLkBpK+8It0URB50KZZURoKebJTM0FotGzJn01y67Ze3JV1sTBhS8W?=
 =?iso-8859-1?Q?n2w+r0g45If48YEp8bGFwF?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(10070799003)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <E5A724102F56E04B814339B73EC438CD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8397
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A79A.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fe50c25d-b247-42ff-acd6-08dd5fa9cd7e
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|14060799003|82310400026|36860700013|35042699022|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?iso-8859-1?Q?DHv1uXHpsxoYUDmul3cTw9tqqKEC7XLIombPPNNgAJUhYFI12bnodGdCl5?=
 =?iso-8859-1?Q?K2Qdlyebp8MYorcRmvkaUMrkERHB/4bKb/gQ7XOa+yhtupX3p8V0LqojAU?=
 =?iso-8859-1?Q?fLa+qQCk0DkdHytSlRUTlYtj7/RC/+ecrrhYwjgNVn29gnJEU/qc0xaE0J?=
 =?iso-8859-1?Q?3MojHgmHVPpJS0pkaflqQPA6OII6P00b+is0ehBkg6yOdV4bGtd8hjezR/?=
 =?iso-8859-1?Q?KoNgW2Nxj2LH7m2en1/dpSPAKHhabVzzIPy3ZxArTHJtRKn71WT1LpWFUe?=
 =?iso-8859-1?Q?5uPpXnNQbDxl0mnrzMPYaSfTFIjdZMSTkezYoWxOkwOyaCcvxWcbY3nSYK?=
 =?iso-8859-1?Q?koNVNo9O7MjwTodEIWHOQTwTLn+uU/N5pwfBxbe90Xtddp+J6Y/CnN+OrR?=
 =?iso-8859-1?Q?Wf6KEy3RbEIYSQy74+zZzcOtJlY0yyRrOdTU/o5T/sMMeXOeebh/enzmS1?=
 =?iso-8859-1?Q?QEVNTZlfaID/9oUoMDDMnrdBdP9NsU1w3OBg3gl8tyrGOsPkNJUT6yvU7s?=
 =?iso-8859-1?Q?7BQGcUd1ZD/5C1jwEXjNcixcBN0NvBD6wOguiD4oSPGYxv/vvX0ZXFhFcM?=
 =?iso-8859-1?Q?H2SL+R61RiKMBN9OA4hYVxJKkelGQIhXrKl4gjxYFFw4xvORUtTcFnqcNc?=
 =?iso-8859-1?Q?7h9dWKp1pQsuJ5cniZeaehhhYriZb4E/CJk9oD7xjFcxgY1Bu2JnX3hBWA?=
 =?iso-8859-1?Q?nSfLBGZhpqKxBp2rGCGUKiz9Ba9W/3e4rxGyGUnEKnisd1W6+pLmiin+fj?=
 =?iso-8859-1?Q?5d2a2LK7fpQ6zO6YFMas6xYr2Tb4qnwc5AQOY1nWBIv9HsiBOxM6SsabOf?=
 =?iso-8859-1?Q?y/tSD/nszoGvenBOtjs1XBMQX3RS+L78wFAOkovNpXRY+IegjtI2Sp0E0q?=
 =?iso-8859-1?Q?GhZtGAgHlGsOUQRhSK1AxNMGDQCYkLNCGJPNypOy3X+Tu7Nz8b+r4mOfW0?=
 =?iso-8859-1?Q?mPbSyjHFDFucdaF8Cz22+ry1E/AMQZvPDYTiQWo7ymLGuqipZPwMOsQCGN?=
 =?iso-8859-1?Q?eSlZGfsvadR9mybkE7IU2W8QtWjDQnl04kZjgcopSDngG99FoNFJpSuVl0?=
 =?iso-8859-1?Q?YBA9SQDPQCfYydGWjvDBCf9AwJXTYn3hQdTDqoPEEN7i2qVzphyRpeKmRo?=
 =?iso-8859-1?Q?cXbRlnUhuG/BmyU0Mw8vLbaS4f4uzP5aFigNUteWTTSoUTyLu6BBmdQ0Fa?=
 =?iso-8859-1?Q?U8PH4W3lZbAp77+yeaVVlCYYkjEwo6dAK/g7LT00Y3RBns36Rntg4odz9F?=
 =?iso-8859-1?Q?0UZGHO7+BeH7IIIz9BpKNXfvMuY/iqy+6aFsXpsiwdBLZsyriSCnJolkpy?=
 =?iso-8859-1?Q?bdqlTlHOixX+SrruCxOMVOh+vTBzIo4Fk5x6YmoedOf15Y2akjhEfo3AmV?=
 =?iso-8859-1?Q?otd9GaSVALcS2FjDRbIxSy0HhZ3eSCgBDOiVDQKzJIXIk8h1guzowVsdM5?=
 =?iso-8859-1?Q?Y8Zkj0EYAgHguMNsqxvW2Cvah8nsKqW4QnHOWSRxIRXLkK6vdLJHF13kUv?=
 =?iso-8859-1?Q?wHrUMpr8J45YrcMuTTDIkELOWMnJZuxn3YVcFz15BWLSYZD/0VHW2T+pHt?=
 =?iso-8859-1?Q?Oqwb4Qc=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(376014)(14060799003)(82310400026)(36860700013)(35042699022)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 08:03:13.0500
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c4f0a2b8-df0d-477f-2312-08dd5faa0186
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A79A.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7605

Hi,

> On 8 Mar 2025, at 13:37, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Jason,
>=20
> On 08/03/2025 00:02, Jason Andryuk wrote:
>> On 2025-03-07 16:21, Julien Grall wrote:
>>> Hi Jason,
>>>=20
>>> On 07/03/2025 17:58, Jason Andryuk wrote:
>>>> On 2025-03-07 04:01, Julien Grall wrote:
>>>>> Hi,
>>>>>=20
>>>>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>>>>> Add capabilities property to dom0less to allow building a
>>>>>> disaggregated system.
>>>>>>=20
>>>>>> Introduce bootfdt.h to contain these constants.
>>>>>>=20
>>>>>> When using the hardware or xenstore capabilities, adjust the grant a=
nd
>>>>>> event channel limits similar to dom0.
>>>>>  > > Also for the hardware domain, set directmap and iommu.  This bri=
ngs its
>>>>>> configuration in line with a dom0.
>>>>>=20
>>>>> Looking the device tree bindings, a user would be allowed to disable =
"passthrough" or even "directmap". This means, we would never be able to di=
sable "directmap" for the hardware domain in the future with the existing p=
roperty (this is to avoid break backwards compatibility).
>>>>>=20
>>>>> Instead, I think we should check what the user provided and confirm t=
his is matching our expectation for an hardware domain.
>>>>  >
>>>>> That said, I am not entirely sure why we should force directmap for t=
he HW domain. We are starting from a clean slate, so I think it would be be=
tter to have by default no directmap and imposing the presence of an IOMMU =
in the system.
>>>>=20
>>>> Ok, it seems like directmap is not necessary.  It was helpful early on=
 to get things booting, but I think it's no longer necessary after factorin=
g out construct_hwdom().
>>>>=20
>>>> What exactly do you mean by imposing with respect to the iommu? Requir=
e one, or mirror the dom0 code and set it for the hwdom?
>>>>=20
>>>>      if ( iommu_enabled )
>>>>          dom0_cfg.flags |=3D XEN_DOMCTL_CDF_iommu;
>>>=20
>>> I mean requires one. Without it, you would need to set directmap and I =
don't think this should be allowed (at least for now) for the HW domain.
>>>=20
>>>>=20
>>>>> Lastly, can you provide an example of what the hardware domain DT nod=
e would looke like?
>>>>=20
>>>> I've attached a dump of /sys/firmware/fdt from hwdom.  (This is direct=
 mapped).
>>>=20
>>> Sorry if this was not clear, I am asking for the configuration you wrot=
e in the host DT for create the hardware domain. I am interested to know wh=
ich properties you set...
>> I've attached the u-boot fdt commands which generate the DT.  Hopefully =
that works for you.
>>>>=20
>>>>>> --- a/xen/arch/arm/dom0less-build.c
>>>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>>>> @@ -12,6 +12,7 @@
>>>>>>   #include <xen/sizes.h>
>>>>>>   #include <xen/vmap.h>
>>>>>> +#include <public/bootfdt.h>
>>>>>>   #include <public/io/xs_wire.h>
>>>>>>   #include <asm/arm64/sve.h>
>>>>>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>>>>>>           if ( (max_init_domid + 1) >=3D DOMID_FIRST_RESERVED )
>>>>>>               panic("No more domain IDs available\n");
>>>>>> +        if ( dt_property_read_u32(node, "capabilities", &val) )
>>>>>> +        {
>>>>>> +            if ( val & ~DOMAIN_CAPS_MASK )
>>>>>> +                panic("Invalid capabilities (%"PRIx32")\n", val);
>>>>>> +
>>>>>> +            if ( val & DOMAIN_CAPS_CONTROL )
>>>>>> +                flags |=3D CDF_privileged;
>>>>>> +
>>>>>> +            if ( val & DOMAIN_CAPS_HARDWARE )
>>>>>> +            {
>>>>>> +                if ( hardware_domain )
>>>>>> +                    panic("Only 1 hardware domain can be specified!=
 (%pd)\n",
>>>>>> +                           hardware_domain);
>>>>>> +
>>>>>> +                d_cfg.max_grant_frames =3D gnttab_dom0_frames();
>>>>>> +                d_cfg.max_evtchn_port =3D -1;
>>>>>=20
>>>>> What about d_cfg.arch.nr_spis? Are we expecting the user to pass "nr_=
spis"?
>>>>=20
>>>> Further down, when nr_spis isn't specified in the DT, it defaults to:
>>>>      d_cfg.arch.nr_spis =3D gic_number_lines() - 32;
>>>=20
>>> Thanks. One further question, what if the user pass "nr_spis" for the H=
W domain. Wouldn't this result to more issue further down the line?
>> I'm not familiar with ARM, so I'll to whatever is best.  I did put the c=
apabilities first, thinking it would set defaults, and then later options c=
ould override them.
>=20
> I am not sure it is related to Arm. It is more that the HW domain is goin=
g to re-use the memory layout of the host (this is including the mapping fo=
r the GIC) and also have all the irqs with pirq =3D=3D virq.
>=20
> I am a bit concerned that letting the users mistakenly tweaking the defau=
lts could prevent attaching devices (for instance if the IRQ ID is above > =
nr_spis).
>=20
>>>>=20
>>>> Dom0 does:
>>>>      /*
>>>>       * Xen vGIC supports a maximum of 992 interrupt lines.
>>>>       * 32 are substracted to cover local IRQs.
>>>>       */
>>>>      dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), (unsigned int) =
992) - 32;
>>>>      if ( gic_number_lines() > 992 )
>>>>          printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded. =
\n");
>>>>=20
>>>> So I think it's fine as-is?  I could add the min() and warning if you =
think it's necessary.
>>>=20
>>> Regardless this discussion, I wonder why we didn't add the min(...) her=
e like for dom0 because we are using the same vGIC emulation. So the max SP=
Is supported is the same...
>>>=20
>>> What I am trying to understand is whether it is ok to allow the user to=
 select "nr_spis", "vpl011" & co if they are either not honored (like for v=
pl011) or could introduce further issue (like for nr_spis as the HW domain =
is supposed to have the same configuration as dom0).
>>>=20
>>> I also don't think it is a good idea to silently ignore what the user r=
equested. So far, on Arm, we mainly decided to reject/panic early if the se=
tup is not correct.
>> Again, I'll do whatever is best.
>=20
> Bertrand, Michal, Stefano, any opinions?

I definitely think that any user configuration mistake should end up in a p=
anic, a warning message is definitely not enough.
Here the user might discover or not at runtime that what he thought was con=
figured is not.
So a panic here would be better from my point of view.

Cheers
Bertrand=20

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:17:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:17:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906156.1313598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYKW-0006Dt-KW; Mon, 10 Mar 2025 08:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906156.1313598; Mon, 10 Mar 2025 08: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 1trYKW-0006Dm-H1; Mon, 10 Mar 2025 08:17:44 +0000
Received: by outflank-mailman (input) for mailman id 906156;
 Mon, 10 Mar 2025 08: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=6jP+=V5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1trYKV-0006Dg-8D
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:17:43 +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 2262df71-fd88-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 09:17:40 +0100 (CET)
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 224A71F445;
 Mon, 10 Mar 2025 08:17:40 +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 841B3139E7;
 Mon, 10 Mar 2025 08:17:39 +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 c0dEHiOgzmclPQAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 10 Mar 2025 08:17: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: 2262df71-fd88-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741594660; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=kTbg+L4QG9tqDcA4vypHCHUa9gOUstnK8OTK+zFfCyk=;
	b=b+1n0AUwDc5I37YnckvV2Rhb8d2nIRMAzongQnECNL+qummbqyNDiWr5BXDFpC7BR5ktZx
	snQJMoPg0/SfDkPT3bCTEAUQQFTU/YktC3IQNBEqZRNVR8ksHPnfSMEfx9txxx7VJxXxLi
	AD072MxWd93Hc2NW8rkZSGKr1A1En24=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741594660; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=kTbg+L4QG9tqDcA4vypHCHUa9gOUstnK8OTK+zFfCyk=;
	b=b+1n0AUwDc5I37YnckvV2Rhb8d2nIRMAzongQnECNL+qummbqyNDiWr5BXDFpC7BR5ktZx
	snQJMoPg0/SfDkPT3bCTEAUQQFTU/YktC3IQNBEqZRNVR8ksHPnfSMEfx9txxx7VJxXxLi
	AD072MxWd93Hc2NW8rkZSGKr1A1En24=
Message-ID: <664ca238-cb5a-491a-b588-a9f300d84199@suse.com>
Date: Mon, 10 Mar 2025 09:17:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
To: Jan Beulich <jbeulich@suse.com>, Jason Andryuk <jason.andryuk@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>,
 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
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
 <93fdeea0-495a-40c7-936c-749e75a3d728@suse.com>
Content-Language: en-US
From: Juergen Gross <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: <93fdeea0-495a-40c7-936c-749e75a3d728@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------vdgTq0IZpo9tN4mLplPMgehC"
X-Spam-Level: 
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.992];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.19)[-0.973];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	RCVD_TLS_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RCPT_COUNT_SEVEN(0.00)[11];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Score: -5.19
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------vdgTq0IZpo9tN4mLplPMgehC
Content-Type: multipart/mixed; boundary="------------HH29i60uGnY9zY7cyO0wnslO";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Jason Andryuk <jason.andryuk@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>,
 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
Message-ID: <664ca238-cb5a-491a-b588-a9f300d84199@suse.com>
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
 <93fdeea0-495a-40c7-936c-749e75a3d728@suse.com>
In-Reply-To: <93fdeea0-495a-40c7-936c-749e75a3d728@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=

--------------HH29i60uGnY9zY7cyO0wnslO
Content-Type: multipart/mixed; boundary="------------fJIdhuulf7ij3JesQjcrW0qi"

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

T24gMTAuMDMuMjUgMDk6MDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDI1
IDIzOjAzLCBKYXNvbiBBbmRyeXVrIHdyb3RlOg0KPj4gKyAgICBzaGFyZWRfZW50cnlfdjEo
Z3QsIGlkeCkuZmxhZ3MgPSBmbGFnczsNCj4+ICsgICAgc2hhcmVkX2VudHJ5X3YxKGd0LCBp
ZHgpLmRvbWlkID0gYmVfZG9taWQ7DQo+PiArICAgIHNoYXJlZF9lbnRyeV92MShndCwgaWR4
KS5mcmFtZSA9IGZyYW1lOw0KPj4gK30NCj4gDQo+IEluIGNvbW1vbiBjb2RlIHRoZXJlIHNo
b3VsZG4ndCBiZSBhbiBhc3N1bXB0aW9uIHRoYXQgZ250dGFiIHYxIGlzIGluIHVzZS4NCg0K
QnV0IGlzbid0IHRoZSBncmFudCB0YWJsZSBpbiBWMSBmb3JtYXQgdW50aWwgdGhlIGd1ZXN0
IHBvdGVudGlhbGx5IHN3aXRjaGVzDQp0byBWMj8NCg0KDQpKdWVyZ2VuDQo=
--------------fJIdhuulf7ij3JesQjcrW0qi
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-----

--------------fJIdhuulf7ij3JesQjcrW0qi--

--------------HH29i60uGnY9zY7cyO0wnslO--

--------------vdgTq0IZpo9tN4mLplPMgehC
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/Ey8FAmfOoCIFAwAAAAAACgkQsN6d1ii/Ey++
Hgf/d3d1in/lE4vHBlpSI5uGLGLXVhGG/bowPe4R1IZtrv8Oj9klo0H2nCCCcj3IxV3fcDfv2jaM
M2NvoD7OP+vGVDexySbXaCiUY3z7wreR2oTJFV7PY3Ijtl535LrAE515gn+FdHm32Kui92ldXSCw
A5QSqhIh+xQjykNlyvZxvMgJk0SSs4IDsNG0FoUz6VfrEejdq38Q5EhEbHj4pBVb8jyWcLvQlp/B
co/g2i57jbRUwd5HhMz9FP4FvLBfj/vdC7mXH3S3vKRpg3ilEzONXzcDBXEpk7eskf6R4affTzI2
r8CBdA7+rHXt0wN+nT8Sn8eS1rhJjMnuin5SEwuCTQ==
=nfDq
-----END PGP SIGNATURE-----

--------------vdgTq0IZpo9tN4mLplPMgehC--


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:18:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:18:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906161.1313608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYL4-0006eD-Ss; Mon, 10 Mar 2025 08:18:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906161.1313608; Mon, 10 Mar 2025 08:18: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 1trYL4-0006e6-Pt; Mon, 10 Mar 2025 08:18:18 +0000
Received: by outflank-mailman (input) for mailman id 906161;
 Mon, 10 Mar 2025 08:18: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trYL3-0006T0-JU
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:18:17 +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 37c68a50-fd88-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 09:18:16 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso350935e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:18: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-43ceb78e18dsm67836545e9.34.2025.03.10.01.18.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:18: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: 37c68a50-fd88-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741594696; x=1742199496; 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=baGOcXj9eWIBk+LWddRrRITqMC/cRu6SYDbce1iUhrk=;
        b=SfxqN+6hOnrQjXiZE/KOsz6320uT/mf7QAl929v09Sza4UARBlpbAbrum12lh4j8k5
         ir5XsEAjKiBB+pGRG9micsoHwa2TZmTwY5nPxa76jSyAHQ7jDKTpj3Gr62kbAJ/WOglM
         wZcblntBD1AlTSjKMKRNoNG87j/rCy1TV/rbJ1+RrzRgIXN3IUpAM63goqaCKiQMW7ZA
         QA6IXxOIA+YXSUogULh+OfFwmUi+RcZbs6lyObTLogEOAI5asfBpThrDMCxp2m2JM56O
         UP9YDvOehsiNeDfTThWG8RnMK8n7EZCmeHI3fZMq/qWBT5k0d7jRf5I9GNa0DrElf4gd
         2/Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741594696; x=1742199496;
        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=baGOcXj9eWIBk+LWddRrRITqMC/cRu6SYDbce1iUhrk=;
        b=lBFSapcE+3IgrEWRwIj1Gip2+EQCfFlzF3r1UDhDW2V1FRJWXz/pUMvJdsvVUB+1wd
         nYTd6BzXPli6cBejXUpzLkcVXJ3lcVtig0IzPnjrLz0PQCWpsNCZTjdTNTK63KOnu/sE
         oEi4GNkYfYMTYaN39KSmzqAuE3PW77Y5eoaQ4OXUkBy5aVpQb5dOMtJsi2u6IjdhuzW5
         0f+RJTzwbT1Zl5pHH3TVLEfaPbnMUTTOpIUXG7OtoGLZS8Lh31/GPjDtc1vdKogSBqfv
         06o++ohyTmQAY6AJfA90i61SfrfVAai1fFAWT7Cc5EE80AV9oE47ngCh8yUrDJKOocOt
         hf9Q==
X-Forwarded-Encrypted: i=1; AJvYcCUPrmpsDt/Kc3bCd2XX+NZ5xOqrVK3qyinEkXHfkFwdauaydYLTBu+pstjMwG4NmAtiumUp3+48v9g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxJIHe8PZhAv2DS/jrRLy2kyiOx3vDQpkFNCiNUa49qjGaA6Id6
	Rri3IG+SIJbr+zHRkyfrQZyNTbljrEILf8GNuKqSUFS+6+xvj78EPO4SvoijNg==
X-Gm-Gg: ASbGncu8wWg7PubFxs0Ug9SyhgmT6pMrKrycM9A2/QuF2zURUIZRQkzqq+Yxty9Duhd
	wOltZZA6vSWtKPG58QTy38pg4dzegqMnSSmUkJenJs74seglZK3y6A6ztV6o4323ehww3I3Qp4W
	Jw7BdY8YdpN/IF7avHOxPQw+qSD4q22XkxiImGId9Ip1kxWCWU4ZFF2i6Pk7xvgD4juDTG8YcFF
	JXdw1xbvJQj/h5xBuEfGyTxdbJUgtHIxZVeLYbVQ0//iCgi+WZ6IbxAlF8CJnOdtzX6gki2TS49
	qk6QqHRQ/hYfRxvVR7FIRa72She1fQGS/NDbmghrn2XOzz9Lzg9uKZGrBIubHjZx/Yw18o3xNZL
	2hiCPkWSsYVqnDobvbTraLr15eTYoJg==
X-Google-Smtp-Source: AGHT+IH+P/Yphs+vDrJE3qIfHHNpFa2QsBdFkq38Nz39n8LsEjEDoHTzjaG8nvOKa7SCUhME4FLBaQ==
X-Received: by 2002:a05:600c:4448:b0:439:a155:549d with SMTP id 5b1f17b1804b1-43c5a5ffffdmr73447525e9.12.1741594696109;
        Mon, 10 Mar 2025 01:18:16 -0700 (PDT)
Message-ID: <05057b1c-cca1-4495-b037-47a896ab9f6f@suse.com>
Date: Mon, 10 Mar 2025 09:18:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250307175435.3089686-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: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 18:54, Andrew Cooper wrote:
> GCC 4.1.2 is from 2007, and Binutils 2.16 is a similar vintage.  Clang 3.5 is
> from 2014.  Supporting toolchains this old is a massive development and
> testing burden.
> 
> Set a minimum baseline of GCC 5.1 across the board, along with Binutils 2.25
> which is the same age.  These were chosen *3 years ago* as Linux's minimum
> requirements because even back then, they were ubiquitous in distros.

I'm certainly fine with this bump, but my main earlier request remains: I'd
like it to be clear up front what the criteria are going to be for future
bumps. Imo what Linux does is at best a data point; we don't need to follow
what they do.

>  Choose
> Clang/LLVM 11 as a baseline for similar reasons; the Linux commit making this
> change two years ago cites a laudry list of code generation bugs.

I'm less happy about this one. It'll mean I now also need to arrange for
building Clang on my own, which so far I was quite happy to be able to avoid.

Tangentially, as also mentioned during earlier discussions, it would also be
nice to have an understanding what other basic platform components (e.g.
coreutils) are required to fulfill certain minimal requirements. While
putting in place a custom toolchain is (to me at least) relatively easy,
doing the same for other base platform software isn't. For some of the very
old systems I try to keep testing Xen on, extra requirements there may mean
that building Xen there isn't going to be possible anymore. Which in turn
may mean running the toolstack (built on a newer distro) there may also not
be possible anymore. Which would, perhaps severely, limit the usefulness of
such testing attempts.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:19:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:19:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906174.1313618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYM4-0007Es-60; Mon, 10 Mar 2025 08:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906174.1313618; Mon, 10 Mar 2025 08:19: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 1trYM4-0007El-35; Mon, 10 Mar 2025 08:19:20 +0000
Received: by outflank-mailman (input) for mailman id 906174;
 Mon, 10 Mar 2025 08:19: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trYM3-0007EZ-2u
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:19:19 +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 5c6a2605-fd88-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 09:19:18 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so376436f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:19: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-3912c103aa5sm14287910f8f.94.2025.03.10.01.19.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:19: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: 5c6a2605-fd88-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741594758; x=1742199558; 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=OvJxbE4gF22IQHz7PFh96IMiLJCFmtTGkr7AgW0f3Q8=;
        b=hF6V2sNSQdOFw+CA5XSowufllSr6sl9TcuAnCNfQj/OP1ptFLSxO/1sp1DXsQ6Trw9
         wdxr18Ee/3n8G9KrLgHUYqdioMpR6UgRZZ+j4aQGT9RWBgFN/krO0MY1/DBo0rkpNnTT
         6w6N7S6fr6xb7HPh8T75zqRiXBOD81o3F4RCzRSLVmP4kFODTTW85pZGDDA8WrxEMIno
         KGN/iaS9dZNZ3jgxodoXowQv7/Vl49aJFx//g2vJW+PfCsddLN6VORg/8yIXhp+xPqn5
         VIug5fZB5yYA0MDYRHPavGjZOHR5kdFAE2lij8gX94subExBWyeFx/tTkHYgLtfj+WLj
         /y1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741594758; x=1742199558;
        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=OvJxbE4gF22IQHz7PFh96IMiLJCFmtTGkr7AgW0f3Q8=;
        b=g0vklITIFmQE4yALAJCuxYtdQxwHoxY4g1Xj85xwEqc5hF5fkfhNEJ6FuCjX6R/a5K
         f1dMpoiINu1cveh+7B2YkFwG71E/Po7dKay8gwhOrqPIUKjYT+mKExHLOqtNJnDuzgAw
         WJiahCzWgC4dgjhPqKcR9fE8oeNZzpQf8HShdiPQFIMu75tatHO6TrHTaqBK42fQfTBO
         XnGWCuUH0clWZTMSVM3Uu7B79LGrAgVKMbKXE8nhkoz+/NHE49FcetKE9z2sHOplMnb8
         OTg8NKRljl/hAC/7GTxsY3fgyi4tA4zc6y3aoAIMZgsmCa9wrRed79toHm7eBD2pmqjH
         CNFA==
X-Forwarded-Encrypted: i=1; AJvYcCXxYwigbDK21GnpcWxHVp7G/cUCqVUKAUYVJcqfAR+Esh0fJoNH1/VlxiiA6B+i/xsa8TP9Q6SEwHg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYC9XWIvMCxBcDwypXlmyPdSz75POeZPxbz3G18xM6t9CinSn3
	+yjXTWlpL4hEMI2CxkWQ1cDJWdcw5FzBZYYii9A8VagA8jLIi2vT+qw0O5t2Aw==
X-Gm-Gg: ASbGncuj9yNJ+orAIeDMgDhsMAVWUcD4ncQ9pwhcVPidmqpJCbSIIeYIAf/1oiaOQt0
	xvd0X5hdcjtWfAFICKlPzwuvaNuhUaxSOFJziAUsYqLBEREwGhKZTrBPMawKma4OhBBLuNVp1ra
	Ur0X4xYOnutEgKkmQT+S6fTu8fzIYvGS8tecUFmoQ/ivYUCQrooGH5j8T/oL1OkhPXD+j1/QbrJ
	/wFPuaotRDXr3JvJsoLckvXXMXfzZCW7EkpA0PfpmQhmRYBON+a2+wi4ennnSCK0jZkLuKI9BSQ
	ckw+1dZNkk1/NC89nf3XCM2x/4jduAlUxcW2IK5wEHSAaop+nfeRyH/JK2vHbLYQ+tJVO1mIoGN
	0SDmxJrQa9ptzkS3qbihWcgegs93ZAA==
X-Google-Smtp-Source: AGHT+IH649fLojEQEEy9ukZI1fqmPMIss8CMKLaoKCE0fZrs68YAoUeBcN6J3r5rw9A5XDho/1rLZA==
X-Received: by 2002:a05:6000:402a:b0:38f:2efb:b829 with SMTP id ffacd0b85a97d-39132db8f39mr9003322f8f.50.1741594757632;
        Mon, 10 Mar 2025 01:19:17 -0700 (PDT)
Message-ID: <2e17aa1c-29a5-4e82-8c1f-f9e34f4bef55@suse.com>
Date: Mon, 10 Mar 2025 09:19:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/watchdog: Identify which domain watchdog fired
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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
 <20250307142442.3063528-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: <20250307142442.3063528-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 15:24, Andrew Cooper wrote:
> When a watchdog fires, the domain is crashed and can't dump any state.
> 
> Xen allows a domain to have two separate watchdogs.  Therefore, for a
> domain running multiple watchdogs (e.g. one based around network, one
> for disk), it is important for diagnostics to know which watchdog
> fired.
> 
> As the printk() is in a timer callback, this is a bit awkward to
> arrange, but there are 12 spare bits in the bottom of the domain
> pointer owing to its alignment.
> 
> Reuse these bits to encode the watchdog id too, so the one which fired
> is identified when the domain is crashed.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:21:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:21:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906185.1313629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYOK-0000Qy-M6; Mon, 10 Mar 2025 08:21:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906185.1313629; Mon, 10 Mar 2025 08:21: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 1trYOK-0000Qr-HM; Mon, 10 Mar 2025 08:21:40 +0000
Received: by outflank-mailman (input) for mailman id 906185;
 Mon, 10 Mar 2025 08:21: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trYOJ-0000Qj-6b
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:21:39 +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 af6a2364-fd88-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 09:21:37 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso22783405e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:21: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-3912bfdff57sm14392229f8f.37.2025.03.10.01.21.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:21: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: af6a2364-fd88-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741594897; x=1742199697; 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=PAOXRVtDKmViZ2OtReao8GU0SFwvput8+4DjsYuV3LI=;
        b=VFWTIzcEiowMRuLknWM6PZhmLqM7fX5obIJ9SRRuYl6p0OeYJpthYf/J2OHqsqYGr8
         Q8Ay2okIeHrFdmRJf4OcKqHJozpbbBBI6LhkDYkwWhvZeKmkqvaF1YT9Gq/IYvE4x9zW
         OrfWa1WEROCoYoxW/Q3WGHZXK4mw3Zkvz5OSaotKJe4zoTRsgwihWubf4+aFoSov8KIx
         /mt9xryMqS1OcZk17RIQhZSlwIuz9JK6Bg9cyCUViXmKg4j0rMYzSn5cFsrnSivT7NBO
         +rRzXTVd4cjLh+Q2gEtbJhcK/X3P1rG0VCye6V/OKgKyvVmw4iiNa1+BqV5Two1u5uGs
         KsUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741594897; x=1742199697;
        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=PAOXRVtDKmViZ2OtReao8GU0SFwvput8+4DjsYuV3LI=;
        b=oZuwfjztG4KsQOov4nLeseC4SAGjMO9gii0vpJXAnflmaRv/hwqcNshxk0QRVnMhad
         dliKz6sgF2NCM/qkUb2wl0xxQw6uAslOi7nAUl6Wh6Ar1AsEER4UfttHBNAcT8azfXUN
         GPWOXH31xhctDqgFBCQtnODN/2c35GPhzs/bvPooSQX9JJuzwasZLIpZMjld2quVVWhZ
         Xnunm9o6ZH5ejZTuMNSY819bNyKn11YtlqVq5RKx+xc4kXnKKVaU51RCKWJ2Hj6hCd94
         2rqg0XKb8SPGmFpiw2pqp5pnW0ygf6j8Kk+gkFAuX9TkiJtzKiPi+Et8BJKpZMCvgVkA
         9v3A==
X-Forwarded-Encrypted: i=1; AJvYcCWaks9SvLPxyubieVbFU7THnb5Wf/j/GFEekFaw3+fmKNhV+dfjhty7CSw9ii6jEZ+VVrWM1MDjqVA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYSB82x9gfzJ9a85TrmaDyvT+MYMBLgNx0k5IMQgd/laqw43Sc
	2Nbcxafj6rdDBQugEwSRn6J8wVDmhXXnXtj92LAnOF2v8CP/iqaz+resGQwgjg==
X-Gm-Gg: ASbGnct0VWabjRwQVTcTIUW/DcsrWfHA5SaSS7lMNfKy4xZ0jb4mT2lhnpElmo4d7cF
	iEPCFiTQ9xRXPRwFOlfRPU5+PH8wxj+/MyKctUOBx6X3M6XNWNlr/NNMyB2C16180LuUxGyakKO
	SouhqrD+8YSfRjh3wafeHEXTFT8PTRYWxy4ans8ky/NmV01z2aCO/5Hl/gTniokF08L+UgOnCyb
	HalmwLw0qomWWU/mtN1b3RfdfXAHhdFp5337zSME1R3omTIfjl1FNcQ8EHKrbyQlTtamFgQsynL
	VR/ztsmJTNNjHEW9ksS0r5LldwhKkUVlp8BuOBtGnv2J97xH+Ppi5VOz7aOowG29rI9v/1Yzgg/
	Gfr+ZBTN8XbDb0N2sIeKadkA7Rt4E8w==
X-Google-Smtp-Source: AGHT+IHMfbQGl5eHSL3zCi9hExnXwqkeTHGE4ZhGafYKQWhfP+RrPhf5Fw4q/q/tUf5f13I9bvfBOg==
X-Received: by 2002:a5d:5e10:0:b0:391:122c:8ab with SMTP id ffacd0b85a97d-39132d5f36emr5682488f8f.22.1741594896813;
        Mon, 10 Mar 2025 01:21:36 -0700 (PDT)
Message-ID: <a0d2e94b-7d11-4f4c-9941-dfb43af99147@suse.com>
Date: Mon, 10 Mar 2025 09:21:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
To: Juergen Gross <jgross@suse.com>, Jason Andryuk <jason.andryuk@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>,
 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
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
 <93fdeea0-495a-40c7-936c-749e75a3d728@suse.com>
 <664ca238-cb5a-491a-b588-a9f300d84199@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: <664ca238-cb5a-491a-b588-a9f300d84199@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.03.2025 09:17, Juergen Gross wrote:
> On 10.03.25 09:01, Jan Beulich wrote:
>> On 06.03.2025 23:03, Jason Andryuk wrote:
>>> +    shared_entry_v1(gt, idx).flags = flags;
>>> +    shared_entry_v1(gt, idx).domid = be_domid;
>>> +    shared_entry_v1(gt, idx).frame = frame;
>>> +}
>>
>> In common code there shouldn't be an assumption that gnttab v1 is in use.
> 
> But isn't the grant table in V1 format until the guest potentially switches
> to V2?

Strictly speaking it's in v0 format initially. But yes, I see your point.
Provided this function is made clear that it may only ever be used on a
domain that wasn't started yet (perhaps proven by way of an assertion).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:23:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906193.1313638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYQR-0000yA-0O; Mon, 10 Mar 2025 08:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906193.1313638; Mon, 10 Mar 2025 08: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 1trYQQ-0000y3-Sq; Mon, 10 Mar 2025 08:23:50 +0000
Received: by outflank-mailman (input) for mailman id 906193;
 Mon, 10 Mar 2025 08:23: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trYQP-0000xx-O8
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:23:49 +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 fd341253-fd88-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 09:23:47 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso7886075e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:23: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
 5b1f17b1804b1-43ceb78e18dsm67960435e9.34.2025.03.10.01.23.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:23: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: fd341253-fd88-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741595027; x=1742199827; 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=vJM3I/iPye/L6ru6I2ZzHRu7c7u5COrjTsrwqoxXGuY=;
        b=fFksLo4JcTbfbmJNFLVvB5Lb4vo3DpRG7IRR0gyMv4Bsir2sawetLfneh28GXODYgt
         z3zZS9uCn3psTwrgEJfy9VqJAtKsgeSJCKBytHU1+wtlRIge2yjS3yGGWjdMNC4Np/wr
         QmA6uPI1n+byK9IKz4tHtEtc/v94e9rqziYOXXRAa6Mb2TjzRA2ejXXAhcQ1UHbJdtq/
         G6BePw4FkTkBYV1BOImwvyCkSvBo5GnlqE7YVdM3H531VZCtM4K1nU7FsmRnLMT08j/3
         BIf0OI9D6ylhiTT6bQUQLTk30ELr9vpNQai6MNNY36xtvzMPC1QRzDSYdcA+i8ueeqfB
         +VLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741595027; x=1742199827;
        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=vJM3I/iPye/L6ru6I2ZzHRu7c7u5COrjTsrwqoxXGuY=;
        b=SSJSlqrmfMMjcNmy9J8mQs7128TP9XDfAQAML6rlvcCTllbeVBYQDcuejowh8sq8qy
         C2uW6IjdQmA/I4Hf+bcae1dUP21Nbc7IEsktqXyoLXTfJVxeQA/6LQ9fsKmk1pc7W741
         xtSncxgIHRRBHoeugWRXmo5Prk8s6G81ScvCGQMd4WgbXNIUJCrHokzgOEP0p/8SRE0u
         H3Z5UmVs/feeJY9G+urkE+VRxiB2tTEPZJwPC3tFK60maLBn7TxePfK2U3A69mmS4B91
         b4wSENZ2UuGucImXhknkjcLuG1y9HQg9mG52BfEpY7C+pp9vKavMDkinptqpdprDoFmL
         5iPg==
X-Forwarded-Encrypted: i=1; AJvYcCVs99zgWIXnGOYAE7h3bwAy+oAnY4+fne+0rBLxRmdgTkor99X3SQMz+TpwXJOLJjR6LLUp/2UBksg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8Cd/PuQe8wPvJ9YyASgkfmsGQvX9SdlZqAygxi6o5otNokRQn
	O482HJjHc6QIC2z63Ln0IT3VPPPYmUrsXavZJbqsL8bMXQnLW9N5TAUVwUVT/Q==
X-Gm-Gg: ASbGncveDKVQW6XXtWIPToPxMpqILn6P/9Fi9HRIU6B9t6Jin9LP/XIDhECcJw6Ep03
	VE5mzBvzO7JQz+eDBnPlTeJ8ottyoLmhFj2XIakmfE7EIwwOkvu57dayXpl21CxxyLvSIaVPmBz
	YqXbMhyxzyarAGk6vW/4D5L+OaQvfOcfiuaT3VtZ0agln0v+6cORvsJYj6d0lM11l/WfKiRyrfV
	u6aVYEVgJnFCdIUFL+3dX/6wTzrIW2LUdRnoIFgjIWOmOTUL+ZUJNgwxaGbE9VLcFP1PgHFuGb2
	NhBZ59O53F1V4YWg0II8L2UnwJ7Wn9oniG/SfXCug2POisgkjsj7hGNwdj5dbgPt4GGJWkqrjUy
	W/XHPiiMeuGhtdAQidypb+AIR+u68/w==
X-Google-Smtp-Source: AGHT+IESXDuZpJvXZRhIgKBoUyy7pzt836dB7b2KJdLGuISuN4m/C82irkRbImBscQx1VeVNHVWLug==
X-Received: by 2002:a05:600c:3556:b0:43c:ec27:8de1 with SMTP id 5b1f17b1804b1-43cec278ef4mr40089175e9.10.1741595027209;
        Mon, 10 Mar 2025 01:23:47 -0700 (PDT)
Message-ID: <169bd7cf-dab9-4ecd-b951-a5ee6cbc069f@suse.com>
Date: Mon, 10 Mar 2025 09:23:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/domain: Initialise the domain handle before inserting
 into the domlist
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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250307164637.3087855-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: <20250307164637.3087855-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 17:46, Andrew Cooper wrote:
> As soon as the the domain is in the domlist, it can be queried via various
> means, ahead of being fully constructed.  Ensure it the UUID give by the
> toolstack is in place ahead of this.

Nit: The latter sentence is a little bumpy to read.

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

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:31:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:31:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906204.1313648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYXo-0002m9-Ls; Mon, 10 Mar 2025 08:31:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906204.1313648; Mon, 10 Mar 2025 08:31: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 1trYXo-0002m2-JN; Mon, 10 Mar 2025 08:31:28 +0000
Received: by outflank-mailman (input) for mailman id 906204;
 Mon, 10 Mar 2025 08:31: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=6jP+=V5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1trYXn-0002la-Of
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:31:27 +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 0e28c4fc-fd8a-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 09:31:26 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so21903455e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:31:26 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43ce9f2d081sm73670315e9.21.2025.03.10.01.31.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:31: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: 0e28c4fc-fd8a-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741595485; x=1742200285; 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=PSEimHqBPfh7yGvueTBq00Mrs7f+2bmLUtp8lGtnwnM=;
        b=fRDFoDHy1vUhgSgzS/+4RCoSrQOq1eSE2J3O2fRVMoRAgKSGuzQ5eXjGu6eWp4tckf
         kP6s+g+9lFN1XUNs7hzui+LCOc8dYa99QIqA6NRiuEZca4KLm12KNFv7c+y3lqqpNdOD
         PdX7yiGhTB1w9PcdN8VUkONRkWshTI2G4zKdzf5sa0JoaFRcuSczD3+pqWva8g5/vAge
         yBl2xf1+5UGu80hODjrsxQUTtSzmqKfVuoJcfFWKgc83ahxg5jADdGuEJxFKtimaMIER
         S+J3vpbNj+kihv8jFyKkEUVsZLsCR+cMnd7+JhyE7G0Cy88wcCWNzh4gBmHe5nowQI1q
         rPkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741595485; x=1742200285;
        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=PSEimHqBPfh7yGvueTBq00Mrs7f+2bmLUtp8lGtnwnM=;
        b=oUvLLHgkXij3HQHo+uZ2Ok2ak4bOzp0B4sMT+spVXT+MrE/DXNjekIEDUnpdEBYgbp
         hrIPw4W1owOQRbM2x1KRAm4Qg5pf+7iwmhjqP40n/MIbd/28mPBh/S5WRUVBQDhPQL16
         K0Uh/munASN7abvMbO7GVrXZb7a3rJdBy1li+pg3yBUAqLrELY12yXt50lTh0p5SCbiB
         1usq1/Enm7dh9vPJ1PEtum0SkoeKOhWNKgLbbdBBlTW19CfDdbY/EadKks2meJfKoSfy
         Ja5Z89Q2ouQYSSod7i3ESTmF0v+gNqQLRTDcKIxhgzmEzBsG7bxGNaYT4k3ipd5u8KjZ
         AWbg==
X-Forwarded-Encrypted: i=1; AJvYcCWUDapjrmL18SUzlck+tYXdu5WCGKmKUCQVmJdxnUu3dGJU2gcaTePyRWfJjPDa53U9ONukkMHbcaE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzlynuPiU9fkwSMKo3WN94JOt3Xpjcwg3YqZxLCEg+Mr4NZd4ki
	Thotw96bQpFJxbsFlCXnbtZSObxAZZzTYECw/so+o/j32gYV4N0H36o4+i91q74=
X-Gm-Gg: ASbGncu/Y1MmOQsAf97OHQTTYY1dcQPw5yWaEOVQdCt9dAijLMje43viDsFow9/W/vv
	KCNSYtKFsBIqsViXff9brkQfPx9jarqUUdrR8D0zgB51A1oAfN0FyI7fhURcdJ0YmokOqMUXrtk
	fBm3/Yoy/mqnoZyM57O32hIfX1XFQ1vzoqH1q9udnn/vOku6HM9mWaq21DTpJS9chsKIAuYYECa
	Yey9nuGmh68SvWEJCsd8w2gv5w5tnE+SfoA+i8WR3Cd7FWEYsaq2K1UVVv3BcSX1UFXUCqRfKyj
	LHDyWeJzNzlMg3bJJMKlD2gLkX6j87PDBr8HcNo7+yJetdUpQcVvB6YV400elR7rqsTPTaD3oBo
	8CcvKVYtwpNA9uoEV4FPgn116VwxMyb3nzOXhpXqkgtWzR0QyJe0iuY+HEK+ORp9uWcw=
X-Google-Smtp-Source: AGHT+IFlxOb5ojOEfx9gw40e59g78sA0S3CrEtV+mtfK0ITW/uSwSsf3RNwFLOpRcJjz2R/1iRuETQ==
X-Received: by 2002:a05:600c:1d01:b0:43c:e467:d6ce with SMTP id 5b1f17b1804b1-43ce467d720mr48680665e9.4.1741595485327;
        Mon, 10 Mar 2025 01:31:25 -0700 (PDT)
Message-ID: <98b3704b-222f-4fac-9595-2b870251a06b@suse.com>
Date: Mon, 10 Mar 2025 09:31:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/watchdog: Identify which domain watchdog fired
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>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
References: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
 <20250307142442.3063528-1-andrew.cooper3@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: <20250307142442.3063528-1-andrew.cooper3@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------vyhRhM2ZG0M6nbjQFs00L8RQ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------vyhRhM2ZG0M6nbjQFs00L8RQ
Content-Type: multipart/mixed; boundary="------------ooAObu3MvsEpUyRF7vJfNtCH";
 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>
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>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
Message-ID: <98b3704b-222f-4fac-9595-2b870251a06b@suse.com>
Subject: Re: [PATCH v3] xen/watchdog: Identify which domain watchdog fired
References: <20250303232941.2641306-3-andrew.cooper3@citrix.com>
 <20250307142442.3063528-1-andrew.cooper3@citrix.com>
In-Reply-To: <20250307142442.3063528-1-andrew.cooper3@citrix.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=

--------------ooAObu3MvsEpUyRF7vJfNtCH
Content-Type: multipart/mixed; boundary="------------s1IjGYvR8kYiZGHyDn04VtjY"

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

T24gMDcuMDMuMjUgMTU6MjQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IFdoZW4gYSB3YXRj
aGRvZyBmaXJlcywgdGhlIGRvbWFpbiBpcyBjcmFzaGVkIGFuZCBjYW4ndCBkdW1wIGFueSBz
dGF0ZS4NCj4gDQo+IFhlbiBhbGxvd3MgYSBkb21haW4gdG8gaGF2ZSB0d28gc2VwYXJhdGUg
d2F0Y2hkb2dzLiAgVGhlcmVmb3JlLCBmb3IgYQ0KPiBkb21haW4gcnVubmluZyBtdWx0aXBs
ZSB3YXRjaGRvZ3MgKGUuZy4gb25lIGJhc2VkIGFyb3VuZCBuZXR3b3JrLCBvbmUNCj4gZm9y
IGRpc2spLCBpdCBpcyBpbXBvcnRhbnQgZm9yIGRpYWdub3N0aWNzIHRvIGtub3cgd2hpY2gg
d2F0Y2hkb2cNCj4gZmlyZWQuDQo+IA0KPiBBcyB0aGUgcHJpbnRrKCkgaXMgaW4gYSB0aW1l
ciBjYWxsYmFjaywgdGhpcyBpcyBhIGJpdCBhd2t3YXJkIHRvDQo+IGFycmFuZ2UsIGJ1dCB0
aGVyZSBhcmUgMTIgc3BhcmUgYml0cyBpbiB0aGUgYm90dG9tIG9mIHRoZSBkb21haW4NCj4g
cG9pbnRlciBvd2luZyB0byBpdHMgYWxpZ25tZW50Lg0KPiANCj4gUmV1c2UgdGhlc2UgYml0
cyB0byBlbmNvZGUgdGhlIHdhdGNoZG9nIGlkIHRvbywgc28gdGhlIG9uZSB3aGljaCBmaXJl
ZA0KPiBpcyBpZGVudGlmaWVkIHdoZW4gdGhlIGRvbWFpbiBpcyBjcmFzaGVkLg0KPiANCj4g
U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0K
DQpKdWVyZ2VuDQo=
--------------s1IjGYvR8kYiZGHyDn04VtjY
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-----

--------------s1IjGYvR8kYiZGHyDn04VtjY--

--------------ooAObu3MvsEpUyRF7vJfNtCH--

--------------vyhRhM2ZG0M6nbjQFs00L8RQ
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/Ey8FAmfOo1sFAwAAAAAACgkQsN6d1ii/Ey9q
EggAndLidtXwL4YnmOr6/WptzoOSP07x9JgJjNp7aWhcr4XnhD1gAo1A96eRlqsWTWdc77mwnIsF
+AFvHCB8Ihq/XNpWb7kIe55ceWno7+uTKrPJ+ud482GJj4go+Gh9zppBkirctgVug3x1InAyen2f
PNF5sCBKOt7XbsTmmKKzKhE31cT/jQMRli4OA1z9t+M+7Ppsu2tXBapLphmks6qsj2Q2q90NfZWB
d6hTCKIhQpQSaCfcbFzTINDTWqfNQEGB4zQh4taFY2+w44mm9BrQNP/NaL58nZouDqTjLxLBC3WK
s6T69BM8E55JizQjqOFdfp1qd18GtwvIyJUKmny5Nw==
=DQGV
-----END PGP SIGNATURE-----

--------------vyhRhM2ZG0M6nbjQFs00L8RQ--


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:33:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:33:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906212.1313658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYZU-0003Hv-19; Mon, 10 Mar 2025 08:33:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906212.1313658; Mon, 10 Mar 2025 08:33: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 1trYZT-0003Ho-TS; Mon, 10 Mar 2025 08:33:11 +0000
Received: by outflank-mailman (input) for mailman id 906212;
 Mon, 10 Mar 2025 08:33: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trYZT-0003Hi-6Q
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:33:11 +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 4bc95433-fd8a-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 09:33:09 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso6528575e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:33: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-43bdd8b0548sm140571575e9.6.2025.03.10.01.33.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:33: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: 4bc95433-fd8a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741595589; x=1742200389; 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=RneuC5f88/+yB+ka3HOx8pMC+s52XkO3VAwsuvDvj+4=;
        b=U9bCZGyk4bJduk4LBEmdBOFXRHS87BTSQeTuWNdYmvkGqcKVdNSSqNQ2m9Goz8JPuN
         Ijtoej0ZN6Q7JJkLS4K2A7SdYP88JwyevWwRuPQmw0/r+Y/tCXXnV+DIj91Ipohke6PI
         +M1xw2Sb/xsxG6Nsd3BD4hLdaFnyar+cmMKFqMIWg6t0U2ssKihzFWJBkkTbgpGkWeYS
         3hTu4g47EVjdH/O/ToRIM6g7O9t4ScLbFDSfIDP092p7GsUhIZMJ/2CxqoQHat2CdaMf
         3WkXhgaFCxiW5KvGWLyBjGn7n0cLrk0RBTvFgTJLUX3NiX1NlaawIdgsfBSdnvlg3vOo
         eIBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741595589; x=1742200389;
        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=RneuC5f88/+yB+ka3HOx8pMC+s52XkO3VAwsuvDvj+4=;
        b=KdP5lN/NWRbBxeNTo6nXZo8Q8itdWVgQLdImnvF26lv2kG5JeRiFGiQjTLvK9LbZTu
         TZEMhCvRlcxD5y158mQEO73Ak50bNEBFAaOLtk4ganTs+DGiuVf90Ij6wYSxsR/tsSDK
         F4FpRWiZ4d+Lpy3AfhmBAoPdPeIjqRNd29pfVirCy3IyMfgJqrOZ6mIIsonfJ/JhTpYD
         mERRX+YukNQ92XmUtlNWF+0tMzsz0bdnt2HAVULMPrtO9u6GLchKuvWLD/vwmh4WxGYM
         1X03D7Cbw62uOo9REwdDZb3teLGlwODB59zPjpH1YyDQpS/V0CQZuqjaXKbH18wdCEnv
         kM9A==
X-Forwarded-Encrypted: i=1; AJvYcCVMeMomWdhdcjMNIygDd3C0ZKE1PISNKcaY/0KvFHUbtWRnyWNAzMZuZvwuMFxVorxwcHpco2DESOg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwK25HGhK7Py18iVPjjl8peotWZjkfwuNvkQE2OQ/nJ51JDaP4w
	wYO7uZKMqOmhliAqbheoz7ectr2R4ma7y7HPhgiyvm7TMosvOMpJqEKqdtIqKQ==
X-Gm-Gg: ASbGncsQUn99mHMEt+szRjGNJgJQ3CB+qFdjKkvIdzXnTkQ37CXkZu4Byo15/x5i5c9
	ryvvNqH3s/7AkTbqa5iwMm10+ljgqPoxNDJR0n75SWcYvuS9oX8XJl9hhOfrn1UyZmfhMEApE06
	GJUps4Yh9VoORfdVcd4aZS9Xp+iWctPSZFtXdf8uXKgIjSAoMNl9t1OiPl5YfgxPpAmjRThtVxw
	1kVAYIeTmiPl/0ycdQ+Mzkvg6qANttSWaza7CPOf2XwjbqfqcJ/z3090Jg7bcQvWCU8ryPKE//j
	l3nbd52YoiFQt/BGnlQXkYCPSzFT5yVOyOCJFu1DqK9I3fDNN+ALs73x9TPIrqTEFYqT2hemEUq
	OYZK3PwXhnjwJV9e+HAXiM8w+9/7ezA==
X-Google-Smtp-Source: AGHT+IEqbXSkAKWCn0JoVGE9qWogy9VWGBxXp15YTDu7vqOfbiz0kZda5wLOBzIZ8JCCJC0Du3S/ew==
X-Received: by 2002:a05:600c:1d03:b0:43c:eacc:9d68 with SMTP id 5b1f17b1804b1-43ceacca125mr37128335e9.20.1741595588628;
        Mon, 10 Mar 2025 01:33:08 -0700 (PDT)
Message-ID: <c72e7407-4b2c-460d-a425-a8c056a23a26@suse.com>
Date: Mon, 10 Mar 2025 09:33:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/2] tools/hvmloader: Decouple APIC IDs from vCPU IDs
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>, xen-devel@lists.xenproject.org
References: <20250204173120.56598-1-alejandro.vallejo@cloud.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: <20250204173120.56598-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.02.2025 18:31, Alejandro Vallejo wrote:
> v2->v3:
>   * Moved "extern uint32_t *cpu_to_apicid;" to patch1
> 
> v2: https://lore.kernel.org/xen-devel/20250204144542.7399-1-alejandro.vallejo@cloud.com/T/#t
> v1->v2:
>   * Dropped patch to skip writing the MP Tables if apicid >= 255
> 
> v1: https://lore.kernel.org/xen-devel/20250128163342.1491-1-alejandro.vallejo@cloud.com/
> source series: https://lore.kernel.org/xen-devel/20241021154600.11745-5-alejandro.vallejo@cloud.com/
> 
> The hypervisor, hvmloader and the toolstack currently engage in a shared
> assumption that for every vCPU apicid == 2 * vcpuid. This series removes such
> assumption from hvmloader, by making it read the APIC ID of each vCPU and
> storing it for later use.
> 
> Alejandro Vallejo (2):
>   tools/hvmloader: Retrieve APIC IDs from the APs themselves
>   tools/hvmloader: Replace LAPIC_ID() with cpu_to_apicid[]

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 10 08:35:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 08:35:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906223.1313668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYbz-00040i-HG; Mon, 10 Mar 2025 08:35:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906223.1313668; Mon, 10 Mar 2025 08:35: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 1trYbz-00040b-Ch; Mon, 10 Mar 2025 08:35:47 +0000
Received: by outflank-mailman (input) for mailman id 906223;
 Mon, 10 Mar 2025 08:35: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trYbx-00040T-MF
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 08:35: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 a8685edb-fd8a-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 09:35:44 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so8819425e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 01:35: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-43cef25f075sm54007925e9.28.2025.03.10.01.35.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 01:35: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: a8685edb-fd8a-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741595744; x=1742200544; 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=0Tu8M1wbmBvd2Bhn6d98e+bIIfzD1CPCBZ/EgBV4p9c=;
        b=EfH0yAl2WUfpE+DNYHrYHqKAXcmMLZgB6XeN6XpZqpiIMIYJfgYyXQ7n9x+Jy+CrSS
         IXLtBYt3IuQMPmhO/1DGWgl+qYa+WermAqBvJJn5o6xpQxZEqAaCtjAHPzASBPvEbbBu
         1ySJo0saVy2CjrY9FjAd7/OSPUVDVETB79X4ZAF6FR1FnKgIZpgt4EFfNmzXrEgp1ZX/
         LO8e1GyobvMIMqaOlTnjELYvT/pOY/tfXetBPZJLC2V9uKnnY32E/dYvozbsUcSUY4cU
         fcuna9MxewClvNUqVf+zA6xcKwuNdgk9wkJd337ILBpmbWNEb9FysUoyAHoI2Ug9rKdo
         myAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741595744; x=1742200544;
        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=0Tu8M1wbmBvd2Bhn6d98e+bIIfzD1CPCBZ/EgBV4p9c=;
        b=CIGVYg2pvXB2di4QIjBjbmUA4J/bU/VAuqrgAkMxhYm/TtEkVe7V0rzjV0LR5qHjOY
         n/lilWZBB28e4Zhd4F08dYgjG0mGQjcbSSgw4gg2HyO0VeN/qbertBysulzgufLs1lf6
         pjFWqkrCKgaA7fxGm55pGY0siGxa4Ki9rijr2advrbniYrTf2ihAp+9stBJyY2a5D3Pm
         ZEE5wtFin64oAhQppFE3KIda8mH8ehlo5z4i8rjZL58kTZfKYdMazRqMgpieqPyaeirR
         glCaHm/E4vqif/srJEwUVFOBgn91xOLwHY/xU2VWOoQIkqyuTTNrdKXGFP2yuMchCDsw
         b2MA==
X-Forwarded-Encrypted: i=1; AJvYcCXTbhXJZPtYpoFEbTQQfru49/U6qNJ1B9jyKwVU6ET6qzqp9woVcL/S31mhDedSfdIcUWBTMdC00nM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzz0Klh4mFubvYtWMQ8baXdhVXTH74h81xGjClrdE0AIpSfApuI
	GOx++GyAxhr8YmuxzDwUX0Mzfx+tDI6wheyMUv3LzRHZTXWvOKkXgtFicJsDfQ==
X-Gm-Gg: ASbGncviM/Wpmv40KLTfG0ZuGDPyC+QEdAkyUTDBjZERa8XL5sWtuMQQFaD8SfaXnbt
	rqrqj4rQ2U4aIuBgrF+V0dfoTE1GEPP+dT+a8MP4TdaKceg/9sev7XGEIO7Td6LgSgtPt0A48qh
	DoLRmH3hbjgM8fmYkzBZW9vZFfT+s6ez544Slb7FySa9liyDdd74cdfx+6JEklxA9F5Q3zFwD8s
	aCylGbCM9RIoEPCoingjhPs/gpUJU+0gSI23OFmlXlFABxCls9QtmdkvWHs1IN7ERPgNr2MDzNA
	PvignBovJrqdc4Fnu6AC9rMpQaQJIjbpwJLd2oTNhWZJv4eWNGYJDBAxvzuT3ctmFikKptFMIlV
	PfJzgkehg+JwsoFzH5lfGMqtz57dVA0209Z9IqO+J
X-Google-Smtp-Source: AGHT+IG+qXa/CeHyg4mAuA3QejpbK8bG2mH99hImli+PWiJ5tPMDOp8OGe0lZDwF1yUkNbPxt9A97g==
X-Received: by 2002:a05:600c:1c9d:b0:439:86fb:7340 with SMTP id 5b1f17b1804b1-43c601d19cbmr82361235e9.30.1741595744132;
        Mon, 10 Mar 2025 01:35:44 -0700 (PDT)
Message-ID: <fd5c0f83-5236-4aa3-b727-f7769da7beca@suse.com>
Date: Mon, 10 Mar 2025 09:35:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Ping: [PATCH] PCI: drop pci_segments_init()
From: Jan Beulich <jbeulich@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony Perard <anthony@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <4ada4343-c65b-456d-b0c2-9ae59937aaff@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: <4ada4343-c65b-456d-b0c2-9ae59937aaff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.02.2025 12:38, Jan Beulich wrote:
> Have callers invoke pci_add_segment() directly instead: With radix tree
> initialization moved out of the function, its name isn't quite
> describing anymore what it actually does.
> 
> On x86 move the logic into __start_xen() itself, to reduce the risk of
> re-introducing ordering issues like the one which was addressed by
> 26fe09e34566 ("radix-tree: introduce RADIX_TREE{,_INIT}()").
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Arm maintainers: May I ask for an ack (or ...

> ---
> This is entirely optional and up for discussion. There certainly also is
> an argument towards keeping the function. Otoh on Arm there is the still
> open question whether segment 0 really is kind of special there (as it
> is on x86, largely for historical reasons), or whether the code can be
> dropped there altogether.

... otherwise) here please?

Jan

> ---
> v4: Move x86 logic into __start_xen() itself.
> v3: Adjust description to account for and re-base over dropped earlier
>     patch.
> v2: New.
> 
> --- a/xen/arch/arm/pci/pci.c
> +++ b/xen/arch/arm/pci/pci.c
> @@ -88,7 +88,8 @@ static int __init pci_init(void)
>      if ( !pci_passthrough_enabled )
>          return 0;
>  
> -    pci_segments_init();
> +    if ( pci_add_segment(0) )
> +        panic("Could not initialize PCI segment 0\n");
>  
>      if ( acpi_disabled )
>          return dt_pci_init();
> --- a/xen/arch/x86/x86_64/mmconfig-shared.c
> +++ b/xen/arch/x86/x86_64/mmconfig-shared.c
> @@ -402,8 +402,6 @@ void __init acpi_mmcfg_init(void)
>  {
>      bool valid = true;
>  
> -    pci_segments_init();
> -
>      /* MMCONFIG disabled */
>      if ((pci_probe & PCI_PROBE_MMCONF) == 0)
>          return;
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1898,6 +1898,13 @@ void asmlinkage __init noreturn __start_
>      setup_system_domains();
>  
>      /*
> +     * Ahead of any ACPI table parsing make sure we have control structures
> +     * for PCI segment 0.
> +     */
> +    if ( pci_add_segment(0) )
> +        panic("Could not initialize PCI segment 0\n");
> +
> +    /*
>       * IOMMU-related ACPI table parsing has to happen before APIC probing, for
>       * check_x2apic_preenabled() to be able to observe respective findings, in
>       * particular iommu_intremap having got turned off.
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -127,12 +127,6 @@ static int pci_segments_iterate(
>      return rc;
>  }
>  
> -void __init pci_segments_init(void)
> -{
> -    if ( !alloc_pseg(0) )
> -        panic("Could not initialize PCI segment 0\n");
> -}
> -
>  int __init pci_add_segment(u16 seg)
>  {
>      return alloc_pseg(seg) ? 0 : -ENOMEM;
> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -219,7 +219,6 @@ void setup_hwdom_pci_devices(struct doma
>                               int (*handler)(uint8_t devfn,
>                                              struct pci_dev *pdev));
>  int pci_release_devices(struct domain *d);
> -void pci_segments_init(void);
>  int pci_add_segment(u16 seg);
>  const unsigned long *pci_get_ro_map(u16 seg);
>  int pci_add_device(u16 seg, u8 bus, u8 devfn,



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:00:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906244.1313684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trYzZ-00008q-CQ; Mon, 10 Mar 2025 09:00:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906244.1313684; Mon, 10 Mar 2025 09:00: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 1trYzZ-00008j-9Z; Mon, 10 Mar 2025 09:00:09 +0000
Received: by outflank-mailman (input) for mailman id 906244;
 Mon, 10 Mar 2025 09:00: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trYzX-00008d-UH
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:00: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 0ea784b0-fd8e-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 10:00:04 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so8974325e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:00:04 -0700 (PDT)
Received: from [10.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-43bd4353003sm172352675e9.28.2025.03.10.02.00.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 02: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: 0ea784b0-fd8e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741597204; x=1742202004; 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=BXSNTNFeK2euoWz9Svo5AHpfvU/76RTFUZF1OpYQlBc=;
        b=G+wMOxUBSrQL2cFSk7pUeMxoStB9uV3JKFnm79v34ZNaVZqSRGCkgaetvNGjZxCG8p
         i4PWpvsCyRPf7reIFNFrqR4DBUGSucLl/qjl9QNIVqEADEIU9P9DEv0ZcQzWKRrVXpdK
         hEx/wX3dEQ9BmWlwuP4BiNT1kyCcgG8IGJ/DgdkB6l+TY8/Aa0B15lFTFGXHcoC/gfnr
         dBI97TyTnb9ZMLLQOk/NP0XztDOrM3KyR8DjnXp/SAvH6jR0IbPHIoF+xo289pvNOsqA
         BGwRfNFaF7dfCXk65okn2YlrEiFA4gi74EtlizMhtf4BIl6Rikpd2rR+zF0JzzjL0Dl/
         ZgCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741597204; x=1742202004;
        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=BXSNTNFeK2euoWz9Svo5AHpfvU/76RTFUZF1OpYQlBc=;
        b=plxaiduhcpVuk7LFZyAMAHpVH3yBZryhK3Ka18d+xIjrzIlkvj9SIpnBYsYZiNmRx5
         E56+jHZJGyo6IfKoInKlQp9vkr7Yc28DlaXycxfGYFMG8MD7/L6jN1YFS42D1k/7kO+J
         JF+ZgzBB83FcImpzHa8LFbDjYCDbQumYr8+ICtpidJOhx+NGy5F4nTtKg1OtsxNrZuSX
         kgZuAsM+9Ww6pOl/7c61O8i3jmGvA1fKXqWmHudboo4QmsNiCLuIg60Do0XeZ6R24YGN
         jtMK0Mzwt6WtRSlY537TxBP0qfvqJgaQ/btF8i4p6VuERGPYqORIGB1g9qG5cX/QxVu8
         t6Dw==
X-Forwarded-Encrypted: i=1; AJvYcCV+fNTjqUgbM2eVhG18CmcOA9DYc48bRaATv7wVrChe0kllhtNYplU5cjbLrUkWCJgJVGXUqmTEdPE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxkxHGZQ/N1TSzkw4y51J2EUL9fSzbjC0nis1A8BydMtAAKARdM
	4M1w938Pz6OrKsXJXSBkyY+du+mGjfiiVj348Xfts9S8e3MN7xYKnvWThb6k0w==
X-Gm-Gg: ASbGncsYJeA+UGgUA02uxK75tdFKvXJzLVWdbMDBiwzRfsWyKxTZ3Qty1wU8CMrsO8q
	ln8oWQWO5rh3H8xwtV+/Brkm/siVi/zqAlMUtRgCk42eCdOm/GRXcMxjXIFPC4hnHQVE13UXv7B
	P+Pn3BkVxd+KFOejHbGP4kkmZpDRKWynS3RLD80tgdfOgx2bYKZeTFr6644uf8kxigEf63WMR88
	97WahV0jxd0QKc7Ilgnz52YuBwDIQxvsfhM/0vXR6peW4r5FFdSjFGzvLv7UG6ScbS7ePNE8dCA
	yB8+PVMa+g3KxHl6ebOEXd6ixTc+/BKo+nhxdIS7/jq14tdN2JFEQcaALjRYdOmUQY2yAdzkpnY
	1oppUkBPFEQPfUjDldJX4pxua+diGJQ==
X-Google-Smtp-Source: AGHT+IErwouMuKw0nanjNH+fkJMvw+68iQ2YNlJYdyjyBxuFZ3EARueAMIBid5q2aW7rClyikVcT4g==
X-Received: by 2002:a05:600c:470c:b0:43c:f050:fed3 with SMTP id 5b1f17b1804b1-43cf051022dmr30860765e9.11.1741597203816;
        Mon, 10 Mar 2025 02:00:03 -0700 (PDT)
Message-ID: <edba2284-4539-471b-a992-0f7ac43eadcc@suse.com>
Date: Mon, 10 Mar 2025 10:00:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/23] xen: introduce hardware domain create flag
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.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
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-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: <20250306220343.203047-2-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -699,7 +699,7 @@ struct domain *domain_create(domid_t domid,
>      d->is_privileged = flags & CDF_privileged;
>  
>      /* Sort out our idea of is_hardware_domain(). */
> -    if ( domid == 0 || domid == hardware_domid )
> +    if ( flags & CDF_hardware || domid == hardware_domid )

Nit: If the rhs of the || needs to stay for the time being (does it?),
parentheses please around the & expression.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:01:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906255.1313710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZ0t-0000sU-QD; Mon, 10 Mar 2025 09:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906255.1313710; Mon, 10 Mar 2025 09: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 1trZ0t-0000sN-Nf; Mon, 10 Mar 2025 09:01:31 +0000
Received: by outflank-mailman (input) for mailman id 906255;
 Mon, 10 Mar 2025 09:01: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trZ0s-0000sF-Kf
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:01:30 +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 40cf0805-fd8e-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 10:01:28 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso5825645e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:01: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-43cf6d05234sm31144345e9.2.2025.03.10.02.01.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 02:01: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: 40cf0805-fd8e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741597288; x=1742202088; 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=w3N497sXuFP7W0HDLKpz65ux5K9/WWI36JCb19Yq+Mw=;
        b=HHvZ6LbG+btu1VPLKvayrcc+vDjRBh4Tp3dn60MtvpZCXOurdBsswJdSOsTZBdAQGL
         JagvGctntg2if5gJpOZ92pVTPjh4rCgFa+kZydPnFmOk038zY0b++nmoxhseRqQRby+9
         eCql+XuO1StI10+uP6MzyeJ1UXlafPqQcww6T3LJ2qZ3Iy3Slpzi4XihzQvJDDZAtMop
         0qtBVTBicPJ81RQZtvzExHXBXS65h31lLZPcMjnIUzr5KvXeGaJJR+qZnkpVjypWYUJU
         T6vplDu5Ax1tlla1EGng0gKhLCI1K9QIbP643kc6wtCsgQdBpz5/DCJuGgKHLqCmS4AZ
         BAig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741597288; x=1742202088;
        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=w3N497sXuFP7W0HDLKpz65ux5K9/WWI36JCb19Yq+Mw=;
        b=U6b8QipOS/JWSQ5Kj7cN/NtsuAd3Q91JwafI2AkYcOihDCRmaqqAhjsF1zLSe5U/ma
         VXadnRItCxk8bu4uBc4xSB/l4OfLN5LpSr+ANYnn2S4+ryF2ixYe/ZZWGJcVbh93aCSt
         Emeg+t4ypi8yd90XK37lvx01ALjj9lTEI8hSO3Im4kBPr6zFNO/RtxS+wgftQdZ4ZqKd
         CSYboWgJOS4dE/izT0q1GTzAqpdDzRIaWC7qnDB6Ba7UPvccFW6XRI2b45L2pQoW/SqJ
         iSQNGlvFYMbLR1c3YscBeymqfq9753BRy75upk8tYS3KGsPO8XFcMrkOpfm+WCuIK77V
         XUoQ==
X-Forwarded-Encrypted: i=1; AJvYcCV+HmyPe1hZniZjdwR26TPd03vEuMBvxvSnDlc2MVTfEfJwxuvBpDfV6uPLZmEn4T1X6mzp8bfMaFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5CrbmsvfKChxU3GLbPuhqPbo0gjBhCkaxZFtcbDuTEc5vNRIn
	EnKEgIVM6vJKObuaBGivkzhBjnqONIHrB1ZtrOe5N1ggdZeOZcSw1ZIdddpg8Q==
X-Gm-Gg: ASbGncspUAwm7hsp5z72yLZRxIQqHupQUTMNhR0WL4F+q6vyNxwOJGZFAXlaTIjGQsx
	VwWLEsbOf+VnCKKdCkqNU/nDBuBHSzqX/a02HDh0BWTxha+fNh2cE7IFz3IZr8MYXIKqdX4yqgK
	PrAvfS4l7WqjGvKRFi15uIX9X9u0lFhv0hdcoRxufQU4fOonuXCzef9bM0KejkcGUa6Ws5eYW0k
	fM8hSg1lGYhSiXGHAq0rsxo3LrHp7FtZlCYJ4m9cYwCILslAKZdt9ZDrzSPJnkcJRjPCAv6RkHC
	oRhqDWcMA1dRk66nEiJu1U+xz99+Wkvkb+bnvRxNpF9pDJwdoeasTeYpGQT46oeEvM+vQGb/Sqd
	UCAvdrCeyKbokPdAVe7n12A/dWdUFRQ==
X-Google-Smtp-Source: AGHT+IFSAYGRUi1OS47ZjSAVW22TahEieRAgvzn8BHFtocaXdhlUn/p9OK7u870J/OSp0idRonEk7w==
X-Received: by 2002:a05:600c:5103:b0:439:685e:d4c8 with SMTP id 5b1f17b1804b1-43c5a60eda3mr77328965e9.15.1741597288287;
        Mon, 10 Mar 2025 02:01:28 -0700 (PDT)
Message-ID: <88863567-220d-4b70-b0e0-1cb14e564963@suse.com>
Date: Mon, 10 Mar 2025 10:01:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/23] xen/domctl: Expose privileged and hardware
 capabilities
To: Jason Andryuk <jason.andryuk@amd.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>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-7-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: <20250306220343.203047-7-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -155,6 +155,12 @@ struct xen_domctl_getdomaininfo {
>  /* domain has hardware assisted paging */
>  #define _XEN_DOMINF_hap       8
>  #define XEN_DOMINF_hap        (1U<<_XEN_DOMINF_hap)
> +/* domain is hardware domain */
> +#define _XEN_DOMINF_hardware  9
> +#define XEN_DOMINF_hardware   (1U<<_XEN_DOMINF_hardware)
> +/* domain is privileged */
> +#define _XEN_DOMINF_priv      10
> +#define XEN_DOMINF_priv       (1U<<_XEN_DOMINF_priv)

Better use "control" in place of "priv", as "privileged" can also be a
gradual thing?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:03:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906266.1313721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZ2X-0001Uo-5t; Mon, 10 Mar 2025 09:03:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906266.1313721; Mon, 10 Mar 2025 09:03: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 1trZ2X-0001Uh-2s; Mon, 10 Mar 2025 09:03:13 +0000
Received: by outflank-mailman (input) for mailman id 906266;
 Mon, 10 Mar 2025 09:03: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trZ2W-0001Ub-3y
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:03: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 7cb67d98-fd8e-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 10:03:09 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso636875e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:03: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-43bdd9471b7sm136066705e9.34.2025.03.10.02.03.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 02:03: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: 7cb67d98-fd8e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741597389; x=1742202189; 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=gK7kVpDIOq3HwZqo56/VCxhWYDmn0+uWUzqZws8lHRs=;
        b=H0aERoqvl+sdiAMvOcCV40NTcjhNNtu+Rr9gSdFJx4hcPXmbiDNwo1L6p0AUaRhz0E
         u59NvSVm31fHvwWWdqZejCAixcHEiC4WKsyDT2FTM0Q1ej1KByYfbfC3G6WVlob+vfEH
         sVDP5FqdGeWbfkoalDfTBild0GoMqQ3D83GOBLRD46a6YOkk65YUaFDVB1Cwr6aEHDNg
         cT0XdUONPsrzHdcNr/fOf7sJ/Tjpw1Mfiikbz3zJAY6sI5VXWIfc4h75jbcOKoxN2Ot9
         y6QI8DPfpF2T++WcHaSw94oC4F9dv+Jq0Eqccq+f2H1RfPaC/0fGNrW+F5cTtIEms+M1
         r2Ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741597389; x=1742202189;
        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=gK7kVpDIOq3HwZqo56/VCxhWYDmn0+uWUzqZws8lHRs=;
        b=gzMdzXvydr6jn3N5aCURahDURPJFroCozPyOz2LwR6ugjQJHRJMMmTTXduvmFTU0vs
         brbcUZBzu5S3/xLb8kMwwF0sMM1tscXBa/+/bzNrQJ7PWGHtAE9RroJ9hdJNc+f9aVhb
         x3gvon5X0PSmWJxt/+8QDOE5ra/s2ZzRKTVWPBLl/W5g0SVKEJVPdt9+4F0c/9b3QFwz
         XhPZaRDHpZ9AoFep7PFA1P9ZmtxNSwjXqQ2poafpyOqXEOR9I2f5MKxlT1J0PdS951KO
         wUjqug5VbZVMMVvkCs4un0Zxy9cidePEJAdh6NmP+B3vr0x5IbUPi3ubXJzutqgxcqh9
         mWgQ==
X-Forwarded-Encrypted: i=1; AJvYcCUz7qXmr+/JCX5FVHbW1pgHKfRzN4UkEE4SvF3StwQBLFvwxkqG6kHQlm+yDLZnX7ysCPpLmwnG3AI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/ki/BIf7aDaUw2a0H6Go1+LhQE5KCVoKe96+uGjHMR8spfAJt
	NaA11GMwe4xPGfOHNl4yqdabqztv5MDXCxwQfvCD/afrIFUSl8q5/zGMvSDJfg==
X-Gm-Gg: ASbGnctLy440uURyUKqsjB8dfjqC+wuZuqd6bjMIwXTmr/Nlc50pohE1z9EPTC3OUSl
	pQtjsh2lBWuCDWOM+eZIK7JZTUddPvwnZRooFjzH2NrMpsrvJpNHvxz5M+YYhVD1QQgCcC3N934
	NTFoVAoGTOdGLlQqV/Kk/Fnyu8Y/lVzXKlqJobQpkaSVCUMAbCaFINuZWCSq5pzFvk6saBMT2HP
	qI48BPUlR4OeInm+VH60Bfrm9R7oRrxrdj+0J5t4IZVkGwo3e0iVDVLBmq5o3JeLD7bqHx3CAKh
	1lpw0kUu28eo7z7ymIcN3W6k7bxRhz3foopaK2wUvwevxHXeB9UiDY58LaCRdjpAXRkNugIFDPW
	9t4J4cMxwf1kgCwZlVV2HHACy8GLASg==
X-Google-Smtp-Source: AGHT+IGl8UuBrwJOmPFb6OM2C+aGC5f/WTakA7J5YJGeZKAAPtsjf9CW8tkG26U4mlGqn9EdVvQPLg==
X-Received: by 2002:a05:600c:3543:b0:43c:ec4c:25b4 with SMTP id 5b1f17b1804b1-43cec4c272fmr41091415e9.10.1741597388702;
        Mon, 10 Mar 2025 02:03:08 -0700 (PDT)
Message-ID: <813569bb-a1f7-42b0-a872-f6ecf4033880@suse.com>
Date: Mon, 10 Mar 2025 10:03:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/23] xen/domctl: Expose privileged and hardware
 capabilities
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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-7-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: <20250306220343.203047-7-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -155,6 +155,12 @@ struct xen_domctl_getdomaininfo {
>  /* domain has hardware assisted paging */
>  #define _XEN_DOMINF_hap       8
>  #define XEN_DOMINF_hap        (1U<<_XEN_DOMINF_hap)
> +/* domain is hardware domain */
> +#define _XEN_DOMINF_hardware  9
> +#define XEN_DOMINF_hardware   (1U<<_XEN_DOMINF_hardware)
> +/* domain is privileged */
> +#define _XEN_DOMINF_priv      10
> +#define XEN_DOMINF_priv       (1U<<_XEN_DOMINF_priv)

Oh, and: If we really need both constants (I doubt we do), the latter wants
to follow style even if all of its siblings don't (i.e. blanks around binary
operators).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:04:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:04:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906276.1313731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZ3K-00022b-Ic; Mon, 10 Mar 2025 09:04:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906276.1313731; Mon, 10 Mar 2025 09:04: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 1trZ3K-00022U-FH; Mon, 10 Mar 2025 09:04:02 +0000
Received: by outflank-mailman (input) for mailman id 906276;
 Mon, 10 Mar 2025 09:04: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=kKOj=V5=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1trZ3J-0001qd-56
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:04:01 +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 9ac99580-fd8e-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 10:03:59 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac2b10bea16so18599866b.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:03:59 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac283e4d50csm322617166b.175.2025.03.10.02.03.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 02:03: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: 9ac99580-fd8e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741597439; x=1742202239; 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=T8hu8ZQsUKK5QBrOl69DO8IdswJx6xSlr1Qh4X16VMs=;
        b=mzQtQU8oZ5LWIoBlcRLLYbBgZIrey6wwKgf9YmuiMie3cXkmz6jhIgifdDDcpCPgk6
         B3ZbK7A4E0lhCxaVdkg0oOa62YmQDVpRDu8DVcXJUU/oQ719Cu1nralUrlYXj7YnGhK8
         08iAAkfn+pvHmh0H2UkBUeJzDnxjfkNd2Z5NrtSyDG1O2tk1oaZU1b44a9RpaKtPfWhS
         Syzism5tMTiibJbAUiYbOXrBXfj7m69tl/lmJSHu5GCG6VglnsBlJgqRrJHOAr1NioH9
         zx3bTK0D/PdmuZmO6qlWSWUyime0VUMIVrWjrFgaNEd8+eiUf94UIyK+2Zu8VMN65vvt
         A/Ug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741597439; x=1742202239;
        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=T8hu8ZQsUKK5QBrOl69DO8IdswJx6xSlr1Qh4X16VMs=;
        b=ZYrYR8VieDg2e7iRMJxW+ShtmYA5XPZE4qbkE+OnVsZAelXzStRbDRKsEEePpqNbzB
         khLmLK1oPrD3cfsXDYOkUH21g5nzkWqxx9xL9rckJdjykxGxmFl+6biO1N7rEUkQXtyg
         xld7gGlVSM6rZWoVJXUU5vE8hCHCEh+XrbNmMkUAqY+peSd/0jPnPdn8K9f1dn5mybJy
         1BCp71w/qQix0zr6WZ/GHVVYaicj5seYtkA+H+Sm1EZnLMysPNoPuzEfTmjESMuEBbvY
         ZuqCdsc7CqGhUJo8sqdc6zLQ/imZ1gva9BKoS5aLUzYXeCTibiHKvBNr1pHtbDGvA+S9
         Qc+A==
X-Forwarded-Encrypted: i=1; AJvYcCVWF03ZGIlLgzMdQDTFKAZMw8b7ik/4ugB2IzJzdnaMSAVMy9e1OCjvje1wsP6400evJZxdSi6I8L8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/zXq9hZw3NsRppKKrpwufXI+o/NvnckFORz1Zez6+SWUM/yGJ
	zFvmSWnXhQvapWJRN/4TANJaL5Qds8sPKMcukjN6Rta0/lB40g9oxQugMA==
X-Gm-Gg: ASbGncvm1AxVokh/C6YKFPGbe7gkvMgBfhfXWPBLBPJJREf9YTirBgu6zvFW4GfV6j4
	bCnEeSHq87uvVmXJ4oUv/5juBaUuQ/IyM/jLQ8NYWH096o30d1HaiGOJlFxJrnlkgyvIdgPmMDD
	GvX++hQCLnCnOPR9mj/vGtxQiVnaa9FvJY69Vh3WaQ0XNrw3RRTn6GDlyDXxPuyhfXzm8yIXlNb
	DQhsYafk9KYsKzfTZuUexdwgWLD+A59JkItpytFHmtwn8smPq9ct2DVrHn1xymP0EuNpTvU/OTD
	ai/6ZXkOnh6R0pu1O9Tl8vUYRe5RNcN4f9M62XYuDPuqXaTOGUsg3UNO+3woR//fg4+oUBwskbH
	X6jkwBtvtB0b5Pu+gCq7r
X-Google-Smtp-Source: AGHT+IFbTLEQAhRGHCz+l5QPDnR48NwK1ENrsA/1vF62xBZWNIarNEbKI8aoGpJdsOO7mV3riOrhAQ==
X-Received: by 2002:a17:907:1ca3:b0:ab7:b30:42ed with SMTP id a640c23a62f3a-ac2521295eamr1569415966b.0.1741597438629;
        Mon, 10 Mar 2025 02:03:58 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------40uO6hPC8HAGbShqZOiaZI6O"
Message-ID: <b773c2d7-b005-4671-90b9-2382dbb25cd2@gmail.com>
Date: Mon, 10 Mar 2025 10:03:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9] vpci: Add resizable bar support
To: Jiqian Chen <Jiqian.Chen@amd.com>, xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Huang Rui <ray.huang@amd.com>
References: <20250224032433.1879630-1-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250224032433.1879630-1-Jiqian.Chen@amd.com>

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


On 2/24/25 4:24 AM, Jiqian Chen wrote:
> Some devices, like AMDGPU, support resizable bar capability,
> but vpci of Xen doesn't support this feature, so they fail
> to resize bars and then cause probing failure.
>
> According to PCIe spec, each bar that supports resizing has
> two registers, PCI_REBAR_CAP and PCI_REBAR_CTRL. So, add
> handlers to support resizing the size of BARs.
>
> Note that Xen will only trap PCI_REBAR_CTRL, as PCI_REBAR_CAP
> is read-only register and the hardware domain already gets
> access to it without needing any setup.
>
> Signed-off-by: Jiqian Chen<Jiqian.Chen@amd.com>
> ---
> Hi all,
> v8->v9 changes:
> * Changed "size" to be const in function rebar_ctrl_write.
> * Delete sentence that describes PVH dom0 doesn't support resizable BARs in
>    SUPPORT.md since this patch is to support it
> * Added an entry to CHANGELOG.md to note Rebar is supported for PVH dom0.
>
> Best regards,
> Jiqian Chen.
>
> v7->v8 changes:
> * Modified commit message and some comments.
> * Deleted unused function vpci_hw_write32.
>
> v6->v7 changes:
> * Deleted codes that add register for PCI_REBAR_CAP, and added comments to explain why.
> * Added comments to explain why use "continue" when fail to add register for PCI_REBAR_CTRL.
>
> v5->v6 changes:
> * Changed "1UL" to "1ULL" in PCI_REBAR_CTRL_SIZE idefinition for 32 bit architecture.
> * In rebar_ctrl_write used "bar - pdev->vpci->header.bars" to get index instead of reading
>    from register.
> * Added the index of BAR to error messages.
> * Changed to "continue" instead of "return an error" when vpci_add_register failed.
>
> v4->v5 changes:
> * Called pci_size_mem_bar in rebar_ctrl_write to get addr and size of BAR instead of setting
>    their values directly after writing new size to hardware.
> * Changed from "return" to "continue" when index/type of BAR are not correct during initializing
>    BAR.
> * Corrected the value of PCI_REBAR_CTRL_BAR_SIZE from "0x00001F00" to "0x00003F00".
> * Renamed PCI_REBAR_SIZE_BIAS to PCI_REBAR_CTRL_SIZE_BIAS.
> * Re-defined "PCI_REBAR_CAP_SHIFT 4" to "PCI_REBAR_CAP_SIZES_MASK 0xFFFFFFF0U".
>
> v3->v4 changes:
> * Removed PCI_REBAR_CAP_SIZES since it was not needed, and added
>    PCI_REBAR_CAP_SHIFT and PCI_REBAR_CTRL_SIZES.
> * Added parameter resizable_sizes to struct vpci_bar to cache the support resizable sizes and
>    added the logic in init_rebar().
> * Changed PCI_REBAR_CAP to PCI_REBAR_CAP(n) (4+8*(n)), changed PCI_REBAR_CTRL to
>    PCI_REBAR_CTRL(n) (8+8*(n)).
> * Added domain info of pci_dev to printings of init_rebar().
>
> v2->v3 changes:
> * Used "bar->enabled" to replace "pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY",
>    and added comments why it needs this check.
> * Added "!is_hardware_domain(pdev->domain)" check in init_rebar() to return EOPNOTSUPP for domUs.
> * Moved BAR type and index check into init_rebar(), then only need to check once.
> * Added 'U' suffix for macro PCI_REBAR_CAP_SIZES.
> * Added macro PCI_REBAR_SIZE_BIAS to represent 20.
> TODO: need to hide ReBar capability from hardware domain when init_rebar() fails.
>
> v1->v2 changes:
> * In rebar_ctrl_write, to check if memory decoding is enabled, and added
>    some checks for the type of Bar.
> * Added vpci_hw_write32 to handle PCI_REBAR_CAP's write, since there is
>    no write limitation of dom0.
> * And has many other minor modifications as well.
> ---
>   CHANGELOG.md               |   2 +
>   SUPPORT.md                 |   2 +-
>   xen/drivers/vpci/Makefile  |   2 +-
>   xen/drivers/vpci/rebar.c   | 131 +++++++++++++++++++++++++++++++++++++
>   xen/include/xen/pci_regs.h |  15 +++++
>   xen/include/xen/vpci.h     |   1 +
>   6 files changed, 151 insertions(+), 2 deletions(-)
>   create mode 100644 xen/drivers/vpci/rebar.c
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 1979166820a8..9659dc2df9a1 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -9,6 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   ### Changed
>   
>   ### Added
> + - On x86:
> +    - Resizable BARs is supported for PVH dom0.

Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii


>   
>   ### Removed
>   
> diff --git a/SUPPORT.md b/SUPPORT.md
> index e1f4769bd8b5..91cb6f8ed264 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -170,7 +170,7 @@ unexpected behavior or issues on some hardware.
>   
>   At least the following features are missing on a PVH dom0:
>   
> -  * PCI SR-IOV and Resizable BARs.
> +  * PCI SR-IOV.
>   
>     * Native NMI forwarding (nmi=dom0 command line option).
>   
> diff --git a/xen/drivers/vpci/Makefile b/xen/drivers/vpci/Makefile
> index 1a1413b93e76..a7c8a30a8956 100644
> --- a/xen/drivers/vpci/Makefile
> +++ b/xen/drivers/vpci/Makefile
> @@ -1,2 +1,2 @@
> -obj-y += vpci.o header.o
> +obj-y += vpci.o header.o rebar.o
>   obj-$(CONFIG_HAS_PCI_MSI) += msi.o msix.o
> diff --git a/xen/drivers/vpci/rebar.c b/xen/drivers/vpci/rebar.c
> new file mode 100644
> index 000000000000..793937449af7
> --- /dev/null
> +++ b/xen/drivers/vpci/rebar.c
> @@ -0,0 +1,131 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright (C) 2025 Advanced Micro Devices, Inc. All Rights Reserved.
> + *
> + * Author: Jiqian Chen<Jiqian.Chen@amd.com>
> + */
> +
> +#include <xen/sched.h>
> +#include <xen/vpci.h>
> +
> +static void cf_check rebar_ctrl_write(const struct pci_dev *pdev,
> +                                      unsigned int reg,
> +                                      uint32_t val,
> +                                      void *data)
> +{
> +    struct vpci_bar *bar = data;
> +    const unsigned int index = bar - pdev->vpci->header.bars;
> +    const uint64_t size = PCI_REBAR_CTRL_SIZE(val);
> +
> +    if ( bar->enabled )
> +    {
> +        /*
> +         * Refuse to resize a BAR while memory decoding is enabled, as
> +         * otherwise the size of the mapped region in the p2m would become
> +         * stale with the newly set BAR size, and the position of the BAR
> +         * would be reset to undefined.  Note the PCIe specification also
> +         * forbids resizing a BAR with memory decoding enabled.
> +         */
> +        if ( size != bar->size )
> +            gprintk(XENLOG_ERR,
> +                    "%pp: refuse to resize BAR#%u with memory decoding enabled\n",
> +                    &pdev->sbdf, index);
> +        return;
> +    }
> +
> +    if ( !((size >> PCI_REBAR_CTRL_SIZE_BIAS) & bar->resizable_sizes) )
> +        gprintk(XENLOG_WARNING,
> +                "%pp: new BAR#%u size %#lx is not supported by hardware\n",
> +                &pdev->sbdf, index, size);
> +
> +    pci_conf_write32(pdev->sbdf, reg, val);
> +
> +    pci_size_mem_bar(pdev->sbdf,
> +                     PCI_BASE_ADDRESS_0 + index * 4,
> +                     &bar->addr,
> +                     &bar->size,
> +                     (index == PCI_HEADER_NORMAL_NR_BARS - 1) ?
> +                      PCI_BAR_LAST : 0);
> +    bar->guest_addr = bar->addr;
> +}
> +
> +static int cf_check init_rebar(struct pci_dev *pdev)
> +{
> +    uint32_t ctrl;
> +    unsigned int nbars;
> +    unsigned int rebar_offset = pci_find_ext_capability(pdev->sbdf,
> +                                                        PCI_EXT_CAP_ID_REBAR);
> +
> +    if ( !rebar_offset )
> +        return 0;
> +
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        printk(XENLOG_ERR "%pp: resizable BARs unsupported for unpriv %pd\n",
> +               &pdev->sbdf, pdev->domain);
> +        return -EOPNOTSUPP;
> +    }
> +
> +    ctrl = pci_conf_read32(pdev->sbdf, rebar_offset + PCI_REBAR_CTRL(0));
> +    nbars = MASK_EXTR(ctrl, PCI_REBAR_CTRL_NBAR_MASK);
> +    for ( unsigned int i = 0; i < nbars; i++ )
> +    {
> +        int rc;
> +        struct vpci_bar *bar;
> +        unsigned int index;
> +
> +        ctrl = pci_conf_read32(pdev->sbdf, rebar_offset + PCI_REBAR_CTRL(i));
> +        index = ctrl & PCI_REBAR_CTRL_BAR_IDX;
> +        if ( index >= PCI_HEADER_NORMAL_NR_BARS )
> +        {
> +            printk(XENLOG_ERR "%pd %pp: too big BAR number %u in REBAR_CTRL\n",
> +                   pdev->domain, &pdev->sbdf, index);
> +            continue;
> +        }
> +
> +        bar = &pdev->vpci->header.bars[index];
> +        if ( bar->type != VPCI_BAR_MEM64_LO && bar->type != VPCI_BAR_MEM32 )
> +        {
> +            printk(XENLOG_ERR "%pd %pp: BAR%u is not in memory space\n",
> +                   pdev->domain, &pdev->sbdf, index);
> +            continue;
> +        }
> +
> +        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, rebar_ctrl_write,
> +                               rebar_offset + PCI_REBAR_CTRL(i), 4, bar);
> +        if ( rc )
> +        {
> +            printk(XENLOG_ERR "%pd %pp: BAR%u fail to add reg of REBAR_CTRL rc=%d\n",
> +                   pdev->domain, &pdev->sbdf, index, rc);
> +            /*
> +             * Ideally we would hide the ReBar capability on error, but code
> +             * for doing so still needs to be written. Use continue instead
> +             * to keep any already setup register hooks, as returning an
> +             * error will cause the hardware domain to get unmediated access
> +             * to all device registers.
> +             */
> +            continue;
> +        }
> +
> +        bar->resizable_sizes =
> +            MASK_EXTR(pci_conf_read32(pdev->sbdf,
> +                                      rebar_offset + PCI_REBAR_CAP(i)),
> +                      PCI_REBAR_CAP_SIZES_MASK);
> +        bar->resizable_sizes |=
> +            (((uint64_t)MASK_EXTR(ctrl, PCI_REBAR_CTRL_SIZES_MASK) << 32) /
> +             ISOLATE_LSB(PCI_REBAR_CAP_SIZES_MASK));
> +    }
> +
> +    return 0;
> +}
> +REGISTER_VPCI_INIT(init_rebar, VPCI_PRIORITY_LOW);
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> index 250ba106dbd3..2f1d0d63e962 100644
> --- a/xen/include/xen/pci_regs.h
> +++ b/xen/include/xen/pci_regs.h
> @@ -459,6 +459,7 @@
>   #define PCI_EXT_CAP_ID_ARI	14
>   #define PCI_EXT_CAP_ID_ATS	15
>   #define PCI_EXT_CAP_ID_SRIOV	16
> +#define PCI_EXT_CAP_ID_REBAR	21	/* Resizable BAR */
>   
>   /* Advanced Error Reporting */
>   #define PCI_ERR_UNCOR_STATUS	4	/* Uncorrectable Error Status */
> @@ -541,6 +542,20 @@
>   #define  PCI_VNDR_HEADER_REV(x)	(((x) >> 16) & 0xf)
>   #define  PCI_VNDR_HEADER_LEN(x)	(((x) >> 20) & 0xfff)
>   
> +/* Resizable BARs */
> +#define PCI_REBAR_CAP(n)	(4 + 8 * (n))	/* capability register */
> +#define  PCI_REBAR_CAP_SIZES_MASK	0xFFFFFFF0U	/* supported BAR sizes in CAP */
> +#define PCI_REBAR_CTRL(n)	(8 + 8 * (n))	/* control register */
> +#define  PCI_REBAR_CTRL_BAR_IDX		0x00000007	/* BAR index */
> +#define  PCI_REBAR_CTRL_NBAR_MASK	0x000000E0	/* # of resizable BARs */
> +#define  PCI_REBAR_CTRL_BAR_SIZE	0x00003F00	/* BAR size */
> +#define  PCI_REBAR_CTRL_SIZES_MASK	0xFFFF0000U	/* supported BAR sizes in CTRL */
> +
> +#define PCI_REBAR_CTRL_SIZE_BIAS	20
> +#define PCI_REBAR_CTRL_SIZE(v) \
> +            (1ULL << (MASK_EXTR(v, PCI_REBAR_CTRL_BAR_SIZE) \
> +                      + PCI_REBAR_CTRL_SIZE_BIAS))
> +
>   /*
>    * Hypertransport sub capability types
>    *
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index 41e7c3bc2791..807401b2eaa2 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -100,6 +100,7 @@ struct vpci {
>               /* Guest address. */
>               uint64_t guest_addr;
>               uint64_t size;
> +            uint64_t resizable_sizes;
>               struct rangeset *mem;
>               enum {
>                   VPCI_BAR_EMPTY,
--------------40uO6hPC8HAGbShqZOiaZI6O
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 2/24/25 4:24 AM, Jiqian Chen wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250224032433.1879630-1-Jiqian.Chen@amd.com">
      <pre wrap="" class="moz-quote-pre">Some devices, like AMDGPU, support resizable bar capability,
but vpci of Xen doesn't support this feature, so they fail
to resize bars and then cause probing failure.

According to PCIe spec, each bar that supports resizing has
two registers, PCI_REBAR_CAP and PCI_REBAR_CTRL. So, add
handlers to support resizing the size of BARs.

Note that Xen will only trap PCI_REBAR_CTRL, as PCI_REBAR_CAP
is read-only register and the hardware domain already gets
access to it without needing any setup.

Signed-off-by: Jiqian Chen <a class="moz-txt-link-rfc2396E" href="mailto:Jiqian.Chen@amd.com">&lt;Jiqian.Chen@amd.com&gt;</a>
---
Hi all,
v8-&gt;v9 changes:
* Changed "size" to be const in function rebar_ctrl_write.
* Delete sentence that describes PVH dom0 doesn't support resizable BARs in
  SUPPORT.md since this patch is to support it
* Added an entry to CHANGELOG.md to note Rebar is supported for PVH dom0.

Best regards,
Jiqian Chen.

v7-&gt;v8 changes:
* Modified commit message and some comments.
* Deleted unused function vpci_hw_write32.

v6-&gt;v7 changes:
* Deleted codes that add register for PCI_REBAR_CAP, and added comments to explain why.
* Added comments to explain why use "continue" when fail to add register for PCI_REBAR_CTRL.

v5-&gt;v6 changes:
* Changed "1UL" to "1ULL" in PCI_REBAR_CTRL_SIZE idefinition for 32 bit architecture.
* In rebar_ctrl_write used "bar - pdev-&gt;vpci-&gt;header.bars" to get index instead of reading
  from register.
* Added the index of BAR to error messages.
* Changed to "continue" instead of "return an error" when vpci_add_register failed.

v4-&gt;v5 changes:
* Called pci_size_mem_bar in rebar_ctrl_write to get addr and size of BAR instead of setting
  their values directly after writing new size to hardware.
* Changed from "return" to "continue" when index/type of BAR are not correct during initializing
  BAR.
* Corrected the value of PCI_REBAR_CTRL_BAR_SIZE from "0x00001F00" to "0x00003F00".
* Renamed PCI_REBAR_SIZE_BIAS to PCI_REBAR_CTRL_SIZE_BIAS.
* Re-defined "PCI_REBAR_CAP_SHIFT 4" to "PCI_REBAR_CAP_SIZES_MASK 0xFFFFFFF0U".

v3-&gt;v4 changes:
* Removed PCI_REBAR_CAP_SIZES since it was not needed, and added
  PCI_REBAR_CAP_SHIFT and PCI_REBAR_CTRL_SIZES.
* Added parameter resizable_sizes to struct vpci_bar to cache the support resizable sizes and
  added the logic in init_rebar().
* Changed PCI_REBAR_CAP to PCI_REBAR_CAP(n) (4+8*(n)), changed PCI_REBAR_CTRL to
  PCI_REBAR_CTRL(n) (8+8*(n)).
* Added domain info of pci_dev to printings of init_rebar().

v2-&gt;v3 changes:
* Used "bar-&gt;enabled" to replace "pci_conf_read16(pdev-&gt;sbdf, PCI_COMMAND) &amp; PCI_COMMAND_MEMORY",
  and added comments why it needs this check.
* Added "!is_hardware_domain(pdev-&gt;domain)" check in init_rebar() to return EOPNOTSUPP for domUs.
* Moved BAR type and index check into init_rebar(), then only need to check once.
* Added 'U' suffix for macro PCI_REBAR_CAP_SIZES.
* Added macro PCI_REBAR_SIZE_BIAS to represent 20.
TODO: need to hide ReBar capability from hardware domain when init_rebar() fails.

v1-&gt;v2 changes:
* In rebar_ctrl_write, to check if memory decoding is enabled, and added
  some checks for the type of Bar.
* Added vpci_hw_write32 to handle PCI_REBAR_CAP's write, since there is
  no write limitation of dom0.
* And has many other minor modifications as well.
---
 CHANGELOG.md               |   2 +
 SUPPORT.md                 |   2 +-
 xen/drivers/vpci/Makefile  |   2 +-
 xen/drivers/vpci/rebar.c   | 131 +++++++++++++++++++++++++++++++++++++
 xen/include/xen/pci_regs.h |  15 +++++
 xen/include/xen/vpci.h     |   1 +
 6 files changed, 151 insertions(+), 2 deletions(-)
 create mode 100644 xen/drivers/vpci/rebar.c

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1979166820a8..9659dc2df9a1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,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>)
 ### Changed
 
 ### Added
+ - On x86:
+    - Resizable BARs is supported for PVH dom0.</pre>
    </blockquote>
    <pre>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>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:20250224032433.1879630-1-Jiqian.Chen@amd.com">
      <pre wrap="" class="moz-quote-pre">
 
 ### Removed
 
diff --git a/SUPPORT.md b/SUPPORT.md
index e1f4769bd8b5..91cb6f8ed264 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -170,7 +170,7 @@ unexpected behavior or issues on some hardware.
 
 At least the following features are missing on a PVH dom0:
 
-  * PCI SR-IOV and Resizable BARs.
+  * PCI SR-IOV.
 
   * Native NMI forwarding (nmi=dom0 command line option).
 
diff --git a/xen/drivers/vpci/Makefile b/xen/drivers/vpci/Makefile
index 1a1413b93e76..a7c8a30a8956 100644
--- a/xen/drivers/vpci/Makefile
+++ b/xen/drivers/vpci/Makefile
@@ -1,2 +1,2 @@
-obj-y += vpci.o header.o
+obj-y += vpci.o header.o rebar.o
 obj-$(CONFIG_HAS_PCI_MSI) += msi.o msix.o
diff --git a/xen/drivers/vpci/rebar.c b/xen/drivers/vpci/rebar.c
new file mode 100644
index 000000000000..793937449af7
--- /dev/null
+++ b/xen/drivers/vpci/rebar.c
@@ -0,0 +1,131 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2025 Advanced Micro Devices, Inc. All Rights Reserved.
+ *
+ * Author: Jiqian Chen <a class="moz-txt-link-rfc2396E" href="mailto:Jiqian.Chen@amd.com">&lt;Jiqian.Chen@amd.com&gt;</a>
+ */
+
+#include &lt;xen/sched.h&gt;
+#include &lt;xen/vpci.h&gt;
+
+static void cf_check rebar_ctrl_write(const struct pci_dev *pdev,
+                                      unsigned int reg,
+                                      uint32_t val,
+                                      void *data)
+{
+    struct vpci_bar *bar = data;
+    const unsigned int index = bar - pdev-&gt;vpci-&gt;header.bars;
+    const uint64_t size = PCI_REBAR_CTRL_SIZE(val);
+
+    if ( bar-&gt;enabled )
+    {
+        /*
+         * Refuse to resize a BAR while memory decoding is enabled, as
+         * otherwise the size of the mapped region in the p2m would become
+         * stale with the newly set BAR size, and the position of the BAR
+         * would be reset to undefined.  Note the PCIe specification also
+         * forbids resizing a BAR with memory decoding enabled.
+         */
+        if ( size != bar-&gt;size )
+            gprintk(XENLOG_ERR,
+                    "%pp: refuse to resize BAR#%u with memory decoding enabled\n",
+                    &amp;pdev-&gt;sbdf, index);
+        return;
+    }
+
+    if ( !((size &gt;&gt; PCI_REBAR_CTRL_SIZE_BIAS) &amp; bar-&gt;resizable_sizes) )
+        gprintk(XENLOG_WARNING,
+                "%pp: new BAR#%u size %#lx is not supported by hardware\n",
+                &amp;pdev-&gt;sbdf, index, size);
+
+    pci_conf_write32(pdev-&gt;sbdf, reg, val);
+
+    pci_size_mem_bar(pdev-&gt;sbdf,
+                     PCI_BASE_ADDRESS_0 + index * 4,
+                     &amp;bar-&gt;addr,
+                     &amp;bar-&gt;size,
+                     (index == PCI_HEADER_NORMAL_NR_BARS - 1) ?
+                      PCI_BAR_LAST : 0);
+    bar-&gt;guest_addr = bar-&gt;addr;
+}
+
+static int cf_check init_rebar(struct pci_dev *pdev)
+{
+    uint32_t ctrl;
+    unsigned int nbars;
+    unsigned int rebar_offset = pci_find_ext_capability(pdev-&gt;sbdf,
+                                                        PCI_EXT_CAP_ID_REBAR);
+
+    if ( !rebar_offset )
+        return 0;
+
+    if ( !is_hardware_domain(pdev-&gt;domain) )
+    {
+        printk(XENLOG_ERR "%pp: resizable BARs unsupported for unpriv %pd\n",
+               &amp;pdev-&gt;sbdf, pdev-&gt;domain);
+        return -EOPNOTSUPP;
+    }
+
+    ctrl = pci_conf_read32(pdev-&gt;sbdf, rebar_offset + PCI_REBAR_CTRL(0));
+    nbars = MASK_EXTR(ctrl, PCI_REBAR_CTRL_NBAR_MASK);
+    for ( unsigned int i = 0; i &lt; nbars; i++ )
+    {
+        int rc;
+        struct vpci_bar *bar;
+        unsigned int index;
+
+        ctrl = pci_conf_read32(pdev-&gt;sbdf, rebar_offset + PCI_REBAR_CTRL(i));
+        index = ctrl &amp; PCI_REBAR_CTRL_BAR_IDX;
+        if ( index &gt;= PCI_HEADER_NORMAL_NR_BARS )
+        {
+            printk(XENLOG_ERR "%pd %pp: too big BAR number %u in REBAR_CTRL\n",
+                   pdev-&gt;domain, &amp;pdev-&gt;sbdf, index);
+            continue;
+        }
+
+        bar = &amp;pdev-&gt;vpci-&gt;header.bars[index];
+        if ( bar-&gt;type != VPCI_BAR_MEM64_LO &amp;&amp; bar-&gt;type != VPCI_BAR_MEM32 )
+        {
+            printk(XENLOG_ERR "%pd %pp: BAR%u is not in memory space\n",
+                   pdev-&gt;domain, &amp;pdev-&gt;sbdf, index);
+            continue;
+        }
+
+        rc = vpci_add_register(pdev-&gt;vpci, vpci_hw_read32, rebar_ctrl_write,
+                               rebar_offset + PCI_REBAR_CTRL(i), 4, bar);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "%pd %pp: BAR%u fail to add reg of REBAR_CTRL rc=%d\n",
+                   pdev-&gt;domain, &amp;pdev-&gt;sbdf, index, rc);
+            /*
+             * Ideally we would hide the ReBar capability on error, but code
+             * for doing so still needs to be written. Use continue instead
+             * to keep any already setup register hooks, as returning an
+             * error will cause the hardware domain to get unmediated access
+             * to all device registers.
+             */
+            continue;
+        }
+
+        bar-&gt;resizable_sizes =
+            MASK_EXTR(pci_conf_read32(pdev-&gt;sbdf,
+                                      rebar_offset + PCI_REBAR_CAP(i)),
+                      PCI_REBAR_CAP_SIZES_MASK);
+        bar-&gt;resizable_sizes |=
+            (((uint64_t)MASK_EXTR(ctrl, PCI_REBAR_CTRL_SIZES_MASK) &lt;&lt; 32) /
+             ISOLATE_LSB(PCI_REBAR_CAP_SIZES_MASK));
+    }
+
+    return 0;
+}
+REGISTER_VPCI_INIT(init_rebar, VPCI_PRIORITY_LOW);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
index 250ba106dbd3..2f1d0d63e962 100644
--- a/xen/include/xen/pci_regs.h
+++ b/xen/include/xen/pci_regs.h
@@ -459,6 +459,7 @@
 #define PCI_EXT_CAP_ID_ARI	14
 #define PCI_EXT_CAP_ID_ATS	15
 #define PCI_EXT_CAP_ID_SRIOV	16
+#define PCI_EXT_CAP_ID_REBAR	21	/* Resizable BAR */
 
 /* Advanced Error Reporting */
 #define PCI_ERR_UNCOR_STATUS	4	/* Uncorrectable Error Status */
@@ -541,6 +542,20 @@
 #define  PCI_VNDR_HEADER_REV(x)	(((x) &gt;&gt; 16) &amp; 0xf)
 #define  PCI_VNDR_HEADER_LEN(x)	(((x) &gt;&gt; 20) &amp; 0xfff)
 
+/* Resizable BARs */
+#define PCI_REBAR_CAP(n)	(4 + 8 * (n))	/* capability register */
+#define  PCI_REBAR_CAP_SIZES_MASK	0xFFFFFFF0U	/* supported BAR sizes in CAP */
+#define PCI_REBAR_CTRL(n)	(8 + 8 * (n))	/* control register */
+#define  PCI_REBAR_CTRL_BAR_IDX		0x00000007	/* BAR index */
+#define  PCI_REBAR_CTRL_NBAR_MASK	0x000000E0	/* # of resizable BARs */
+#define  PCI_REBAR_CTRL_BAR_SIZE	0x00003F00	/* BAR size */
+#define  PCI_REBAR_CTRL_SIZES_MASK	0xFFFF0000U	/* supported BAR sizes in CTRL */
+
+#define PCI_REBAR_CTRL_SIZE_BIAS	20
+#define PCI_REBAR_CTRL_SIZE(v) \
+            (1ULL &lt;&lt; (MASK_EXTR(v, PCI_REBAR_CTRL_BAR_SIZE) \
+                      + PCI_REBAR_CTRL_SIZE_BIAS))
+
 /*
  * Hypertransport sub capability types
  *
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 41e7c3bc2791..807401b2eaa2 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -100,6 +100,7 @@ struct vpci {
             /* Guest address. */
             uint64_t guest_addr;
             uint64_t size;
+            uint64_t resizable_sizes;
             struct rangeset *mem;
             enum {
                 VPCI_BAR_EMPTY,
</pre>
    </blockquote>
  </body>
</html>

--------------40uO6hPC8HAGbShqZOiaZI6O--


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:21:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:21:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906291.1313741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZJg-0005VH-UU; Mon, 10 Mar 2025 09:20:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906291.1313741; Mon, 10 Mar 2025 09:20: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 1trZJg-0005VA-Qj; Mon, 10 Mar 2025 09:20:56 +0000
Received: by outflank-mailman (input) for mailman id 906291;
 Mon, 10 Mar 2025 09:20: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=kKOj=V5=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1trZJf-0005TX-D1
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:20:55 +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 f6b4a020-fd90-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 10:20:53 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5e5cded3e2eso6074546a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:20:53 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac27d8b2c31sm361480766b.1.2025.03.10.02.20.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 02: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: f6b4a020-fd90-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741598452; x=1742203252; 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=6OMmdjTJYGN5IlEQedbPslmeEUtLzdH2lHF+RoHjOKg=;
        b=DG8jm4hCX7ebufdH85Y8t5658nNXXqM0lgX/yYXvrsuOaE2UNkQaGM73H9lFSa3Hpo
         QAbjEjI9gbIadBOdsu2D+rIdSiYchZQaLFQauTGdEdWrGY67O67fVBIt4Vbq3p867oyU
         CPU7mqQSc3v00EoOhkOqjW8orw9S/tz9FYaqQBiX9uOFnLehmog6LPAOAtRaMwkw2Lof
         oHhcjLIDx0qOMeOhHggMBb1ai9FTRXFqY+ahAM9S8MppzWUhe1No/SHtKt+guFS7iTxG
         sht4vKQsodXZRMM5yUHLJKNXl1s454APaTrU+BiS1/Y3iZWxtFrilb4Q51yzW1L1W7Tl
         VjPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741598452; x=1742203252;
        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=6OMmdjTJYGN5IlEQedbPslmeEUtLzdH2lHF+RoHjOKg=;
        b=HgbH4iAyWvRUC6/6qd+8A6iq+3XaZnXCzLftbncyg7VwjrRoZ/CQU80f6h+1QXuj5H
         kVK7HvBT99m1vjw7Nhh/PZtxCStpOyD5Mcw1FNrITsAppw/UfQs6wnXlB9conG0S6FNK
         Qixsp5+vlw9z3N1PHYIzjseOggh3Y+Ecq/k0v+/Qua75vxJxp/OixXg8MLH+UgtkAjAN
         jlwn9BNwQWraiar7L+BhmLn9aru0DiMZvJ50TYgNUsZQGdHctZcgeg9vPsNp5nIGTrEv
         IfhaMHxypmbCU2C3g2GwFYJwjOK7dOvOvu9j+Zn0WVmQ+hrGPIKNikMvzru1NwBEWKb7
         4M8g==
X-Forwarded-Encrypted: i=1; AJvYcCWhjWtalPgYlvN3W8GwRolSUQm/0sS2CHvcMq4wvdCT0p1xxGCnkXVsDj7rcXEfay68NuLX4l55ufQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqqL2GS0lvkYqEfsf825/lJ+tabrivL02ZgmQQc6Qc2Cpikd1l
	4KKf4GM5sMn0FjMUDtN9znlgWes205nnWvwWUl/wk/sX0OTFc04/
X-Gm-Gg: ASbGncsQzLcu7Yc3K2ZyyZroas9m339+OpIBXHhLCHa1Yogekuiiz1cLEPjYKcSt5x2
	ykoEIOaJ7ZDOlYp4ZUmpGTz4CAOvvqnI1HIx8q71lXWDckXpUa3ZrRURsHGKhsDiPJ2n/Uu+USu
	9LHiNPIV8DZO+wdD/GeKSu3yfKeFrPzzJGIhcoKwHvz6+PYuSE1hVs5UbvJwlXi3/JjQtFy3ci2
	pQl4FdZboZjZImhrcBASUduMUmEl8bBWHBByG9vcMEIJW6d0HxB//BWygD1+8lfxBKiIV6ZR926
	ancItMSBYy/iULW521qf0+AeYcVYl6/8Sm3AZ4LuXpA4rNBD9BH1BpseFTbRD2bQfQdb8OV8NZ8
	2i4jbAnoq+Nzp5AJAw7FG
X-Google-Smtp-Source: AGHT+IEt2Ig+yygdQLgkSvLg2Ja0SzBATCVoOqvrZ2vcVaudl0/i6fjJ6RnIiRkM1uf16BMC4Bmnlw==
X-Received: by 2002:a17:907:94ce:b0:ac1:e1e1:1f37 with SMTP id a640c23a62f3a-ac25273af3dmr1575173666b.10.1741598451882;
        Mon, 10 Mar 2025 02:20:51 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------aIXzOtMcji8vsWlGRxtjYtQu"
Message-ID: <c21c47df-5b87-40c6-a98b-69236237058a@gmail.com>
Date: Mon, 10 Mar 2025 10:20:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/2] asm-generic: Introduce mm-types.h header
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>
References: <a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com>

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


On 3/6/25 7:25 PM, Shawn Anastasio wrote:
> Introduce a new header, mm-types.h, which will be used to define
> architecture-specific types pertinent to memory management. This will be
> used by a future commit to enable >32 bit PTE flags.
>
> Suggested-by: Jan Beulich<jbeulich@suse.com>
> Signed-off-by: Shawn Anastasio<sanastasio@raptorengineering.com>
> Acked-by: Jan Beulich<jbeulich@suse.com>
> ---
> Changes in v4:
>    - Add Jan's Acked-by
>
>   xen/arch/arm/include/asm/Makefile   | 1 +
>   xen/arch/ppc/include/asm/Makefile   | 1 +
>   xen/arch/riscv/include/asm/Makefile | 1 +

Reviewed-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

>   xen/arch/x86/include/asm/Makefile   | 1 +
>   xen/include/asm-generic/mm-types.h  | 5 +++++
>   5 files changed, 9 insertions(+)
>   create mode 100644 xen/include/asm-generic/mm-types.h
>
> diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
> index 4a4036c951..f8249b2439 100644
> --- a/xen/arch/arm/include/asm/Makefile
> +++ b/xen/arch/arm/include/asm/Makefile
> @@ -3,6 +3,7 @@ generic-y += altp2m.h
>   generic-y += device.h
>   generic-y += hardirq.h
>   generic-y += iocap.h
> +generic-y += mm-types.h
>   generic-y += paging.h
>   generic-y += percpu.h
>   generic-y += random.h
> diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
> index c989a7f89b..c0dbc68ac6 100644
> --- a/xen/arch/ppc/include/asm/Makefile
> +++ b/xen/arch/ppc/include/asm/Makefile
> @@ -5,6 +5,7 @@ generic-y += div64.h
>   generic-y += hardirq.h
>   generic-y += hypercall.h
>   generic-y += iocap.h
> +generic-y += mm-types.h
>   generic-y += paging.h
>   generic-y += percpu.h
>   generic-y += perfc_defn.h
> diff --git a/xen/arch/riscv/include/asm/Makefile b/xen/arch/riscv/include/asm/Makefile
> index c989a7f89b..c0dbc68ac6 100644
> --- a/xen/arch/riscv/include/asm/Makefile
> +++ b/xen/arch/riscv/include/asm/Makefile
> @@ -5,6 +5,7 @@ generic-y += div64.h
>   generic-y += hardirq.h
>   generic-y += hypercall.h
>   generic-y += iocap.h
> +generic-y += mm-types.h
>   generic-y += paging.h
>   generic-y += percpu.h
>   generic-y += perfc_defn.h
> diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
> index 2c27787d31..26650707e6 100644
> --- a/xen/arch/x86/include/asm/Makefile
> +++ b/xen/arch/x86/include/asm/Makefile
> @@ -1,2 +1,3 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   generic-y += div64.h
> +generic-y += mm-types.h
> diff --git a/xen/include/asm-generic/mm-types.h b/xen/include/asm-generic/mm-types.h
> new file mode 100644
> index 0000000000..26490e48db
> --- /dev/null
> +++ b/xen/include/asm-generic/mm-types.h
> @@ -0,0 +1,5 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_MM_TYPES_H__
> +#define __ASM_GENERIC_MM_TYPES_H__
> +
> +#endif /* __ASM_GENERIC_MM_TYPES_H__ */
> --
> 2.30.2
>
--------------aIXzOtMcji8vsWlGRxtjYtQu
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 3/6/25 7:25 PM, Shawn Anastasio
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com">
      <pre wrap="" class="moz-quote-pre">Introduce a new header, mm-types.h, which will be used to define
architecture-specific types pertinent to memory management. This will be
used by a future commit to enable &gt;32 bit PTE flags.

Suggested-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
Signed-off-by: Shawn Anastasio <a class="moz-txt-link-rfc2396E" href="mailto:sanastasio@raptorengineering.com">&lt;sanastasio@raptorengineering.com&gt;</a>
Acked-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
---
Changes in v4:
  - Add Jan's Acked-by

 xen/arch/arm/include/asm/Makefile   | 1 +
 xen/arch/ppc/include/asm/Makefile   | 1 +
 xen/arch/riscv/include/asm/Makefile | 1 +</pre>
    </blockquote>
    <pre>Reviewed-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a></pre>
    <pre>~ Oleksii
</pre>
    <blockquote type="cite"
cite="mid:a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com">
      <pre wrap="" class="moz-quote-pre">
 xen/arch/x86/include/asm/Makefile   | 1 +
 xen/include/asm-generic/mm-types.h  | 5 +++++
 5 files changed, 9 insertions(+)
 create mode 100644 xen/include/asm-generic/mm-types.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 4a4036c951..f8249b2439 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -3,6 +3,7 @@ generic-y += altp2m.h
 generic-y += device.h
 generic-y += hardirq.h
 generic-y += iocap.h
+generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index c989a7f89b..c0dbc68ac6 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -5,6 +5,7 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
+generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += perfc_defn.h
diff --git a/xen/arch/riscv/include/asm/Makefile b/xen/arch/riscv/include/asm/Makefile
index c989a7f89b..c0dbc68ac6 100644
--- a/xen/arch/riscv/include/asm/Makefile
+++ b/xen/arch/riscv/include/asm/Makefile
@@ -5,6 +5,7 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
+generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += perfc_defn.h
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index 2c27787d31..26650707e6 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += div64.h
+generic-y += mm-types.h
diff --git a/xen/include/asm-generic/mm-types.h b/xen/include/asm-generic/mm-types.h
new file mode 100644
index 0000000000..26490e48db
--- /dev/null
+++ b/xen/include/asm-generic/mm-types.h
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_MM_TYPES_H__
+#define __ASM_GENERIC_MM_TYPES_H__
+
+#endif /* __ASM_GENERIC_MM_TYPES_H__ */
--
2.30.2

</pre>
    </blockquote>
  </body>
</html>

--------------aIXzOtMcji8vsWlGRxtjYtQu--


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:22:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:22:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906305.1313751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZLB-0006Y8-AQ; Mon, 10 Mar 2025 09:22:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906305.1313751; Mon, 10 Mar 2025 09:22: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 1trZLB-0006Y1-7Z; Mon, 10 Mar 2025 09:22:29 +0000
Received: by outflank-mailman (input) for mailman id 906305;
 Mon, 10 Mar 2025 09:22: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=kKOj=V5=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1trZLA-0006Xc-13
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:22:28 +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 2e796db1-fd91-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 10:22:26 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-aaeec07b705so613371466b.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:22:26 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2a385e16dsm125368766b.34.2025.03.10.02.22.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 02:22: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: 2e796db1-fd91-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741598546; x=1742203346; 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=ayK2D74ea6xS810N4YwCrZqY6fvbNlzkRgOUegdtIkU=;
        b=kHqqg7jP0Jofk2KGF7yqSVhee0zGQWMsdhczAHipSfcM/jOnJQI2O3/uzYbn7E9IGW
         IBSHrL05CAS3rmw1InbJ7GNy3KfCjulF5teYPL4XJBuG6fu84JgMNQv4lVhccGdGMP1J
         SEKKzx9psQfSaqE/ZG5/1d+d3FizPwfM0uSKImH1Ygp5/e+l0uILtBKbIVMYprOJBavB
         AXgl1ld6uBFNGA1hvLYpeOxp2xHYHRixyuQjXFuVsA2EWtU1XAMECaCcTGAfkqivZ0R3
         Xba2zzJG22M/1Ku0hraq7xQYe9esJh2vD7Hq5S6KpuumFyokJKoyqoXZvFRMgmRBehOe
         p7Iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741598546; x=1742203346;
        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=ayK2D74ea6xS810N4YwCrZqY6fvbNlzkRgOUegdtIkU=;
        b=Q4GMnRbBn9BDH2jds4OPFQaIlJShAZPIDAOmlwTVq16hJPShiKftcdmtTevJ1p0w4p
         +VvviWUynOa+wIyCGeknHxh4jfeJYKqfh1ayvihVVdXRxAxACbbBjuQx++pDnNAV/vow
         LFxb2GVPzQEb5I/UwDygKhAqjqIwtewOeM+/6Ay3+Z+e5fDCQaVgKTucd2Chdlv/jO3q
         aHrUwUAqQA0YRd4zms6D4T0tSvL4U6uRF1xx/L8zWNLIDGQSUSBILhSZ9cXT+uv9a9/I
         wqzlRtCi8aLayUMA4ye4hL5TdzdPfPIVtMEokNcQOhro95X6iHTrt7d33GtDPMJkHB19
         wMvQ==
X-Forwarded-Encrypted: i=1; AJvYcCUJ23A1m+f5DNlBIvZhOzSoL1k6Cq0J1ANessW/25Bz+XhlLoAdJ/y7bSQdPLfu9Yec5W0KY4Ts/ro=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yym8ellPeV4rgAH+V3TaH+gMLwRn8H/GZRxbCoryxKdSojiZ7m1
	GR5cfYehT9IH260yYnJ/9SJu2Ag/Gjh2ooPvSIdx/b2FqSjoGfPf
X-Gm-Gg: ASbGncsPgpXFp9n+oIvkMXqqaENCX1Lf+JPhNgv/kOVJ2zD7hZg8LLmssCdnb9m3R4f
	pbFR7hkt0YQXVYZC5ecyY5+apg3dXunCYs/0gU63ZWSPP54YXilrlXY+JD3X9z8JXr0C6lJfREl
	QvpBxykU+624JiQ7Ec9nKO7H+xNLCbt1HR1uErY+47QvKcVwIiOj8FQTtzJKRFY5QxhaLPZLzWQ
	UaTWZfBgDvKF4AmYyY2S9JYZgqbsWjGJNHhrzSDihg/doRR/K4S9t9NXFx6DufuS/i9uRxtByH+
	xUK7B1HXiNXXuolmiYSjry/7GyT9BRCkTuyqt58pJLgfpSxLS8OrD1qSNVGzf+hSIminoiPjzIA
	NbqK5E/1hIBG2R4Yss8VW
X-Google-Smtp-Source: AGHT+IEj78ER55TmiH7GXRwtWvsPXTfmPsCXasFh12qjWcotpX075LB9rm0Xc/5U7lSy+OQO/yhQnQ==
X-Received: by 2002:a17:907:c91f:b0:ac1:e1da:8744 with SMTP id a640c23a62f3a-ac252e9e437mr1119437966b.38.1741598545673;
        Mon, 10 Mar 2025 02:22:25 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------K5BGzePJBkNe0qR0rXRM17gM"
Message-ID: <803f27c4-c04b-4382-b7b0-e958134e1fd0@gmail.com>
Date: Mon, 10 Mar 2025 10:22:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/2] xen/mm: Introduce per-arch pte_attr_t type for PTE
 flags
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <a8417544cc8139ceafc1314acc6f9970358061ee.1741284947.git.sanastasio@raptorengineering.com>
 <818891459587be5e7263fa958701dc34abc4d16d.1741284947.git.sanastasio@raptorengineering.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <818891459587be5e7263fa958701dc34abc4d16d.1741284947.git.sanastasio@raptorengineering.com>

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


On 3/6/25 7:25 PM, Shawn Anastasio wrote:
> Xen's memory management APIs map_pages_to_xen, modify_xen_mappings,
> set_fixmap, ioremap_attr, and __vmap all use an unsigned int to
> represent architecture-dependent page table entry flags. This assumption
> is not well-suited for PPC/radix where some flags go past 32-bits, so
> introduce the pte_attr_t type to allow architectures to opt in to larger
> types to store PTE flags.
>
> Suggested-by: Andrew Cooper<andrew.cooper3@citrix.com>
> Signed-off-by: Shawn Anastasio<sanastasio@raptorengineering.com>
> ---
> Changes in v4:
>    - Change definitions of map_pages_to_xen, modify_xen_mappings in all arches
>    to match new prototype.
>    - Use new flag types in modify_xen_mappings_lite as well (previously missed)
>
> Changes in v3:
>    - Use new asm/mm-types.h to pull in pte_attr_t definition when
>    necessary.
>    - Drop define+ifdef since pte_attr_t is now always defined.
>
> Changes in v2:
>    - Drop Kconfig option and use `#define pte_attr_t pte_attr_t` for arches to
>    opt-in to defining the type.
>    - Move default pte_attr_definition to xen/types.h
>    - Update commit message to reflect that this change isn't strictly
>    necessary for arches w/ >32bit pte flags
>
>   xen/arch/arm/mmu/pt.c               | 4 ++--
>   xen/arch/ppc/include/asm/Makefile   | 1 -
>   xen/arch/ppc/include/asm/mm-types.h | 7 +++++++
>   xen/arch/ppc/mm-radix.c             | 2 +-
>   xen/arch/riscv/pt.c                 | 2 +-

Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

>   xen/arch/x86/mm.c                   | 6 +++---
>   xen/common/efi/boot.c               | 5 +++--
>   xen/common/vmap.c                   | 2 +-
>   xen/include/asm-generic/mm-types.h  | 2 ++
>   xen/include/xen/mm.h                | 7 ++++---
>   xen/include/xen/vmap.h              | 4 +++-
>   11 files changed, 27 insertions(+), 15 deletions(-)
>   create mode 100644 xen/arch/ppc/include/asm/mm-types.h
>
> diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
> index da28d669e7..9dc99db352 100644
> --- a/xen/arch/arm/mmu/pt.c
> +++ b/xen/arch/arm/mmu/pt.c
> @@ -701,7 +701,7 @@ static int xen_pt_update(unsigned long virt,
>   int map_pages_to_xen(unsigned long virt,
>                        mfn_t mfn,
>                        unsigned long nr_mfns,
> -                     unsigned int flags)
> +                     pte_attr_t flags)
>   {
>       return xen_pt_update(virt, mfn, nr_mfns, flags);
>   }
> @@ -719,7 +719,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
>       return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0);
>   }
>
> -int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
> +int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf)
>   {
>       ASSERT(IS_ALIGNED(s, PAGE_SIZE));
>       ASSERT(IS_ALIGNED(e, PAGE_SIZE));
> diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
> index c0dbc68ac6..c989a7f89b 100644
> --- a/xen/arch/ppc/include/asm/Makefile
> +++ b/xen/arch/ppc/include/asm/Makefile
> @@ -5,7 +5,6 @@ generic-y += div64.h
>   generic-y += hardirq.h
>   generic-y += hypercall.h
>   generic-y += iocap.h
> -generic-y += mm-types.h
>   generic-y += paging.h
>   generic-y += percpu.h
>   generic-y += perfc_defn.h
> diff --git a/xen/arch/ppc/include/asm/mm-types.h b/xen/arch/ppc/include/asm/mm-types.h
> new file mode 100644
> index 0000000000..0cb850f4f6
> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/mm-types.h
> @@ -0,0 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_PPC_MM_TYPES_H__
> +#define __ASM_PPC_MM_TYPES_H__
> +
> +typedef unsigned long pte_attr_t;
> +
> +#endif /* __ASM_PPC_MM_TYPES_H__ */
> diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
> index 24232f3907..e02dffa7c5 100644
> --- a/xen/arch/ppc/mm-radix.c
> +++ b/xen/arch/ppc/mm-radix.c
> @@ -265,7 +265,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
>   int map_pages_to_xen(unsigned long virt,
>                        mfn_t mfn,
>                        unsigned long nr_mfns,
> -                     unsigned int flags)
> +                     pte_attr_t flags)
>   {
>       BUG_ON("unimplemented");
>   }
> diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
> index 857619d48d..918b1b91ab 100644
> --- a/xen/arch/riscv/pt.c
> +++ b/xen/arch/riscv/pt.c
> @@ -504,7 +504,7 @@ static int pt_update(vaddr_t virt, mfn_t mfn,
>   int map_pages_to_xen(unsigned long virt,
>                        mfn_t mfn,
>                        unsigned long nr_mfns,
> -                     unsigned int flags)
> +                     pte_attr_t flags)
>   {
>       /*
>        * Ensure that flags has PTE_VALID bit as map_pages_to_xen() is supposed
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index bfdc8fb019..53c17c6f88 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -5472,7 +5472,7 @@ int map_pages_to_xen(
>       unsigned long virt,
>       mfn_t mfn,
>       unsigned long nr_mfns,
> -    unsigned int flags)
> +    pte_attr_t flags)
>   {
>       bool locking = system_state > SYS_STATE_boot;
>       l3_pgentry_t *pl3e = NULL, ol3e;
> @@ -5890,7 +5890,7 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
>    *
>    * It is an error to call with present flags over an unpopulated range.
>    */
> -int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
> +int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf)
>   {
>       bool locking = system_state > SYS_STATE_boot;
>       l3_pgentry_t *pl3e = NULL;
> @@ -6186,7 +6186,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
>    * the non-inclusive boundary will be updated.
>    */
>   void init_or_livepatch modify_xen_mappings_lite(
> -    unsigned long s, unsigned long e, unsigned int nf)
> +    unsigned long s, unsigned long e, pte_attr_t nf)
>   {
>       unsigned long v = s, fm, flags;
>
> diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> index efbec00af9..999dbce4dc 100644
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1,4 +1,5 @@
>   #include "efi.h"
> +#include <asm/mm-types.h>
>   #include <efi/efiprot.h>
>   #include <efi/efipciio.h>
>   #include <public/xen.h>
> @@ -1656,7 +1657,7 @@ void __init efi_init_memory(void)
>       struct rt_extra {
>           struct rt_extra *next;
>           unsigned long smfn, emfn;
> -        unsigned int prot;
> +        pte_attr_t prot;
>       } *extra, *extra_head = NULL;
>
>       free_ebmalloc_unused_mem();
> @@ -1671,7 +1672,7 @@ void __init efi_init_memory(void)
>           EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
>           u64 len = desc->NumberOfPages << EFI_PAGE_SHIFT;
>           unsigned long smfn, emfn;
> -        unsigned int prot = PAGE_HYPERVISOR_RWX;
> +        pte_attr_t prot = PAGE_HYPERVISOR_RWX;
>           paddr_t mem_base;
>           unsigned long mem_npages;
>
> diff --git a/xen/common/vmap.c b/xen/common/vmap.c
> index 47225fecc0..d6991421f3 100644
> --- a/xen/common/vmap.c
> +++ b/xen/common/vmap.c
> @@ -222,7 +222,7 @@ static void vm_free(const void *va)
>   }
>
>   void *__vmap(const mfn_t *mfn, unsigned int granularity,
> -             unsigned int nr, unsigned int align, unsigned int flags,
> +             unsigned int nr, unsigned int align, pte_attr_t flags,
>                enum vmap_region type)
>   {
>       void *va = vm_alloc(nr * granularity, align, type);
> diff --git a/xen/include/asm-generic/mm-types.h b/xen/include/asm-generic/mm-types.h
> index 26490e48db..9eb3cba698 100644
> --- a/xen/include/asm-generic/mm-types.h
> +++ b/xen/include/asm-generic/mm-types.h
> @@ -2,4 +2,6 @@
>   #ifndef __ASM_GENERIC_MM_TYPES_H__
>   #define __ASM_GENERIC_MM_TYPES_H__
>
> +typedef unsigned int pte_attr_t;
> +
>   #endif /* __ASM_GENERIC_MM_TYPES_H__ */
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 16f733281a..e79f1728c3 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -69,6 +69,7 @@
>   #include <xen/spinlock.h>
>   #include <xen/perfc.h>
>   #include <public/memory.h>
> +#include <asm/mm-types.h>
>
>   struct page_info;
>
> @@ -113,11 +114,11 @@ int map_pages_to_xen(
>       unsigned long virt,
>       mfn_t mfn,
>       unsigned long nr_mfns,
> -    unsigned int flags);
> +    pte_attr_t flags);
>   /* Alter the permissions of a range of Xen virtual address space. */
> -int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf);
> +int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf);
>   void modify_xen_mappings_lite(unsigned long s, unsigned long e,
> -                              unsigned int nf);
> +                              pte_attr_t nf);
>   int destroy_xen_mappings(unsigned long s, unsigned long e);
>   /* Retrieve the MFN mapped by VA in Xen virtual address space. */
>   mfn_t xen_map_to_mfn(unsigned long va);
> diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
> index 26c831757a..e1155ed14a 100644
> --- a/xen/include/xen/vmap.h
> +++ b/xen/include/xen/vmap.h
> @@ -8,8 +8,10 @@
>   #ifndef __XEN_VMAP_H__
>   #define __XEN_VMAP_H__
>
> +#include <xen/mm.h>
>   #include <xen/mm-frame.h>
>   #include <xen/page-size.h>
> +#include <asm/mm-types.h>
>
>   /* Identifiers for the linear ranges tracked by vmap */
>   enum vmap_region {
> @@ -57,7 +59,7 @@ void vm_init_type(enum vmap_region type, void *start, void *end);
>    * @return Pointer to the mapped area on success; NULL otherwise.
>    */
>   void *__vmap(const mfn_t *mfn, unsigned int granularity, unsigned int nr,
> -             unsigned int align, unsigned int flags, enum vmap_region type);
> +             unsigned int align, pte_attr_t flags, enum vmap_region type);
>
>   /*
>    * Map an array of pages contiguously into the VMAP_DEFAULT vmap region
> --
> 2.30.2
>
--------------K5BGzePJBkNe0qR0rXRM17gM
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 3/6/25 7:25 PM, Shawn Anastasio
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:818891459587be5e7263fa958701dc34abc4d16d.1741284947.git.sanastasio@raptorengineering.com">
      <pre wrap="" class="moz-quote-pre">Xen's memory management APIs map_pages_to_xen, modify_xen_mappings,
set_fixmap, ioremap_attr, and __vmap all use an unsigned int to
represent architecture-dependent page table entry flags. This assumption
is not well-suited for PPC/radix where some flags go past 32-bits, so
introduce the pte_attr_t type to allow architectures to opt in to larger
types to store PTE flags.

Suggested-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: Shawn Anastasio <a class="moz-txt-link-rfc2396E" href="mailto:sanastasio@raptorengineering.com">&lt;sanastasio@raptorengineering.com&gt;</a>
---
Changes in v4:
  - Change definitions of map_pages_to_xen, modify_xen_mappings in all arches
  to match new prototype.
  - Use new flag types in modify_xen_mappings_lite as well (previously missed)

Changes in v3:
  - Use new asm/mm-types.h to pull in pte_attr_t definition when
  necessary.
  - Drop define+ifdef since pte_attr_t is now always defined.

Changes in v2:
  - Drop Kconfig option and use `#define pte_attr_t pte_attr_t` for arches to
  opt-in to defining the type.
  - Move default pte_attr_definition to xen/types.h
  - Update commit message to reflect that this change isn't strictly
  necessary for arches w/ &gt;32bit pte flags

 xen/arch/arm/mmu/pt.c               | 4 ++--
 xen/arch/ppc/include/asm/Makefile   | 1 -
 xen/arch/ppc/include/asm/mm-types.h | 7 +++++++
 xen/arch/ppc/mm-radix.c             | 2 +-
 xen/arch/riscv/pt.c                 | 2 +-</pre>
    </blockquote>
    <pre>Reviewed-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a></pre>
    <pre>~ Oleksii
</pre>
    <blockquote type="cite"
cite="mid:818891459587be5e7263fa958701dc34abc4d16d.1741284947.git.sanastasio@raptorengineering.com">
      <pre wrap="" class="moz-quote-pre">
 xen/arch/x86/mm.c                   | 6 +++---
 xen/common/efi/boot.c               | 5 +++--
 xen/common/vmap.c                   | 2 +-
 xen/include/asm-generic/mm-types.h  | 2 ++
 xen/include/xen/mm.h                | 7 ++++---
 xen/include/xen/vmap.h              | 4 +++-
 11 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/mm-types.h

diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e7..9dc99db352 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -701,7 +701,7 @@ static int xen_pt_update(unsigned long virt,
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
-                     unsigned int flags)
+                     pte_attr_t flags)
 {
     return xen_pt_update(virt, mfn, nr_mfns, flags);
 }
@@ -719,7 +719,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     return xen_pt_update(s, INVALID_MFN, (e - s) &gt;&gt; PAGE_SHIFT, 0);
 }

-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf)
 {
     ASSERT(IS_ALIGNED(s, PAGE_SIZE));
     ASSERT(IS_ALIGNED(e, PAGE_SIZE));
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index c0dbc68ac6..c989a7f89b 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -5,7 +5,6 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
-generic-y += mm-types.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += perfc_defn.h
diff --git a/xen/arch/ppc/include/asm/mm-types.h b/xen/arch/ppc/include/asm/mm-types.h
new file mode 100644
index 0000000000..0cb850f4f6
--- /dev/null
+++ b/xen/arch/ppc/include/asm/mm-types.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_PPC_MM_TYPES_H__
+#define __ASM_PPC_MM_TYPES_H__
+
+typedef unsigned long pte_attr_t;
+
+#endif /* __ASM_PPC_MM_TYPES_H__ */
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 24232f3907..e02dffa7c5 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -265,7 +265,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
-                     unsigned int flags)
+                     pte_attr_t flags)
 {
     BUG_ON("unimplemented");
 }
diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
index 857619d48d..918b1b91ab 100644
--- a/xen/arch/riscv/pt.c
+++ b/xen/arch/riscv/pt.c
@@ -504,7 +504,7 @@ static int pt_update(vaddr_t virt, mfn_t mfn,
 int map_pages_to_xen(unsigned long virt,
                      mfn_t mfn,
                      unsigned long nr_mfns,
-                     unsigned int flags)
+                     pte_attr_t flags)
 {
     /*
      * Ensure that flags has PTE_VALID bit as map_pages_to_xen() is supposed
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index bfdc8fb019..53c17c6f88 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5472,7 +5472,7 @@ int map_pages_to_xen(
     unsigned long virt,
     mfn_t mfn,
     unsigned long nr_mfns,
-    unsigned int flags)
+    pte_attr_t flags)
 {
     bool locking = system_state &gt; SYS_STATE_boot;
     l3_pgentry_t *pl3e = NULL, ol3e;
@@ -5890,7 +5890,7 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
  *
  * It is an error to call with present flags over an unpopulated range.
  */
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf)
 {
     bool locking = system_state &gt; SYS_STATE_boot;
     l3_pgentry_t *pl3e = NULL;
@@ -6186,7 +6186,7 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
  * the non-inclusive boundary will be updated.
  */
 void init_or_livepatch modify_xen_mappings_lite(
-    unsigned long s, unsigned long e, unsigned int nf)
+    unsigned long s, unsigned long e, pte_attr_t nf)
 {
     unsigned long v = s, fm, flags;

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index efbec00af9..999dbce4dc 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1,4 +1,5 @@
 #include "efi.h"
+#include &lt;asm/mm-types.h&gt;
 #include &lt;efi/efiprot.h&gt;
 #include &lt;efi/efipciio.h&gt;
 #include &lt;public/xen.h&gt;
@@ -1656,7 +1657,7 @@ void __init efi_init_memory(void)
     struct rt_extra {
         struct rt_extra *next;
         unsigned long smfn, emfn;
-        unsigned int prot;
+        pte_attr_t prot;
     } *extra, *extra_head = NULL;

     free_ebmalloc_unused_mem();
@@ -1671,7 +1672,7 @@ void __init efi_init_memory(void)
         EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
         u64 len = desc-&gt;NumberOfPages &lt;&lt; EFI_PAGE_SHIFT;
         unsigned long smfn, emfn;
-        unsigned int prot = PAGE_HYPERVISOR_RWX;
+        pte_attr_t prot = PAGE_HYPERVISOR_RWX;
         paddr_t mem_base;
         unsigned long mem_npages;

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 47225fecc0..d6991421f3 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -222,7 +222,7 @@ static void vm_free(const void *va)
 }

 void *__vmap(const mfn_t *mfn, unsigned int granularity,
-             unsigned int nr, unsigned int align, unsigned int flags,
+             unsigned int nr, unsigned int align, pte_attr_t flags,
              enum vmap_region type)
 {
     void *va = vm_alloc(nr * granularity, align, type);
diff --git a/xen/include/asm-generic/mm-types.h b/xen/include/asm-generic/mm-types.h
index 26490e48db..9eb3cba698 100644
--- a/xen/include/asm-generic/mm-types.h
+++ b/xen/include/asm-generic/mm-types.h
@@ -2,4 +2,6 @@
 #ifndef __ASM_GENERIC_MM_TYPES_H__
 #define __ASM_GENERIC_MM_TYPES_H__

+typedef unsigned int pte_attr_t;
+
 #endif /* __ASM_GENERIC_MM_TYPES_H__ */
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 16f733281a..e79f1728c3 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -69,6 +69,7 @@
 #include &lt;xen/spinlock.h&gt;
 #include &lt;xen/perfc.h&gt;
 #include &lt;public/memory.h&gt;
+#include &lt;asm/mm-types.h&gt;

 struct page_info;

@@ -113,11 +114,11 @@ int map_pages_to_xen(
     unsigned long virt,
     mfn_t mfn,
     unsigned long nr_mfns,
-    unsigned int flags);
+    pte_attr_t flags);
 /* Alter the permissions of a range of Xen virtual address space. */
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf);
+int modify_xen_mappings(unsigned long s, unsigned long e, pte_attr_t nf);
 void modify_xen_mappings_lite(unsigned long s, unsigned long e,
-                              unsigned int nf);
+                              pte_attr_t nf);
 int destroy_xen_mappings(unsigned long s, unsigned long e);
 /* Retrieve the MFN mapped by VA in Xen virtual address space. */
 mfn_t xen_map_to_mfn(unsigned long va);
diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
index 26c831757a..e1155ed14a 100644
--- a/xen/include/xen/vmap.h
+++ b/xen/include/xen/vmap.h
@@ -8,8 +8,10 @@
 #ifndef __XEN_VMAP_H__
 #define __XEN_VMAP_H__

+#include &lt;xen/mm.h&gt;
 #include &lt;xen/mm-frame.h&gt;
 #include &lt;xen/page-size.h&gt;
+#include &lt;asm/mm-types.h&gt;

 /* Identifiers for the linear ranges tracked by vmap */
 enum vmap_region {
@@ -57,7 +59,7 @@ void vm_init_type(enum vmap_region type, void *start, void *end);
  * @return Pointer to the mapped area on success; NULL otherwise.
  */
 void *__vmap(const mfn_t *mfn, unsigned int granularity, unsigned int nr,
-             unsigned int align, unsigned int flags, enum vmap_region type);
+             unsigned int align, pte_attr_t flags, enum vmap_region type);

 /*
  * Map an array of pages contiguously into the VMAP_DEFAULT vmap region
--
2.30.2

</pre>
    </blockquote>
  </body>
</html>

--------------K5BGzePJBkNe0qR0rXRM17gM--


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:25:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:25:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906318.1313761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZO1-00076g-Nk; Mon, 10 Mar 2025 09:25:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906318.1313761; Mon, 10 Mar 2025 09: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 1trZO1-00076Z-L2; Mon, 10 Mar 2025 09:25:25 +0000
Received: by outflank-mailman (input) for mailman id 906318;
 Mon, 10 Mar 2025 09:25: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=6jP+=V5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1trZO0-00076R-DM
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:25:24 +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 974a6668-fd91-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 10:25:22 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5e5e63162a0so4132130a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:25:22 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c733f4c3sm6857766a12.14.2025.03.10.02.25.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 02:25: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: 974a6668-fd91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741598722; x=1742203522; 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=9Xm4DoeAjlL3wO1fwg8IHMAUEWAkH8Rk3I2Za7KFTco=;
        b=YssK5EyJxCtmVOrBt3p0i4UAvIl2/mvmpH93daFE6Xkv6vV3AOqyGu5iKlaXL0pAl9
         XLdFm1WcSSNQY+zqUvVRdj9S3wI5p5mf7jMc84B2iNS1ejTSCe3UAgaGJJc9qff3Dt53
         ifhljnYhxmV79MpE0MzION9cxD8s0YEEKnAa2j3EjEfgfQnO/VROwTGp2JrFZbljigJx
         spfjHRYbshQyilv4Cti1OvgyJO7b7D01VAAAsTt2bqsAMdmXin1WhRYPA1OwegmgoJNz
         xaX107Pxnp3NAkWaTeFijww+g0N1JpnozTG4tqqcmv1hdmmTNFDHtzCENTUPUufXMB+n
         xm3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741598722; x=1742203522;
        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=9Xm4DoeAjlL3wO1fwg8IHMAUEWAkH8Rk3I2Za7KFTco=;
        b=lthQFVaBIYQVfxys6YF2CIMnlBaUR6ZYZ8+/N+SAHoUR08FdayXiOKl3OxXYLSo43y
         zVb38MH8c8P2sTw8IvyDFhJbMqiY0o9JGCJqMzdNNDGYfmkargcOXQbs3ZhSnTCPp2YB
         9PPGXI+hI8uv++cFDSG2+yApXcuFqWQrpNoug7PWXT4nOD29VaUKfXKu7e7NrFXKgOh6
         ZjmEww22PFWPExd1+KWK5+USHWtx75zmqA1jWPBojHpsaW/wqIp2c0VPIeAfFbhhXQWd
         5jdkJoKyeQCjEo1s3PtLOrARU2j8YjYrYxTIXXm52y1/6B/BHdBnCZSQ2y59rE3jQAI7
         mEug==
X-Forwarded-Encrypted: i=1; AJvYcCWPc/7dFKoWXcyMAGA0Kc/ky9+ZYtIyvDitJXi9pBy+8ccFsngwv5ipY91mIpqSfoYZtt0FdNZkeEk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwwzY6isBw2OMqXYZWWLhdt8ilnaI1eQSZ36Thw+/PXqJw/ioAv
	kpX895TW9Aao2pdvEO48MC4sedWepKQvWxJVOjk85K3INklq2gM0DjK4RLq7J7A=
X-Gm-Gg: ASbGncug1Q0jb23tZpCj+ejj/mbNeSCre1pqO9+qFp4BW3jln24hJcycdlnjD9skhtd
	pX2taAD1HcPN58Y9ur6JlXZUIqaMDUjGQn/n7m5wsy7KchrZPuEeJ/EqX52Zirzo9hqWC+/Snh4
	mkgSkFiAFiThOw8HwTeNgfvHZbXrKCHMDJd58MhLoE2emXbXPxHxbHu1ntTCCbY41LL+NIlWRuy
	QoCb/+pA6qdY052lS5HtFYzxSBnqf6alu2K+ABwNKavf4FtE38XJT/ElWcNwovLaOgofQ/k2fzV
	lbavr93Ebg14W/O1ry4T1QsSaP16gDk2QlepMIflxLBCtri6BZ+7jUXAI1lcIqEvXPqNFQoGuUx
	ZalqHR2bIBWqmo9FYfh9pyA+S0U66VLOiv8CPk6wDOg+TwMJCQDi3bsogmsZ4SaZcL2Kd/ITnqg
	DQ1w==
X-Google-Smtp-Source: AGHT+IFN9hLL//hnUZwNtmSdbqqlUJd30ZbSJhVU9N8gJ7xDRjDWhZbi+1CZi1XD9q4JosFUCfkdjw==
X-Received: by 2002:a05:6402:5c8:b0:5e4:bf03:e907 with SMTP id 4fb4d7f45d1cf-5e5e22da05bmr15864862a12.19.1741598721723;
        Mon, 10 Mar 2025 02:25:21 -0700 (PDT)
Message-ID: <568c83e7-bf96-4a9f-98d2-19266f052ab0@suse.com>
Date: Mon, 10 Mar 2025 10:25:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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: <20250305085201.14258-1-jgross@suse.com>
 <499e999a-06d9-4a49-b223-b04bb0c34edb@citrix.com>
 <3f6f680d-3be7-41d8-a599-49521766aa62@suse.com>
 <0a3db119-11d2-4f25-bf50-f84b79a6a246@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: <0a3db119-11d2-4f25-bf50-f84b79a6a246@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0Nf2FEPSFXyY4501yTFOlzDp"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0Nf2FEPSFXyY4501yTFOlzDp
Content-Type: multipart/mixed; boundary="------------n3GWNmgcLcQ0BJpu6UqaCScW";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>
Message-ID: <568c83e7-bf96-4a9f-98d2-19266f052ab0@suse.com>
Subject: Re: [PATCH] docs: fix INTRODUCE description in xenstore.txt
References: <20250305085201.14258-1-jgross@suse.com>
 <499e999a-06d9-4a49-b223-b04bb0c34edb@citrix.com>
 <3f6f680d-3be7-41d8-a599-49521766aa62@suse.com>
 <0a3db119-11d2-4f25-bf50-f84b79a6a246@citrix.com>
In-Reply-To: <0a3db119-11d2-4f25-bf50-f84b79a6a246@citrix.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=

--------------n3GWNmgcLcQ0BJpu6UqaCScW
Content-Type: multipart/mixed; boundary="------------030pSoBrfnQJGLt7hQvZEQSl"

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

T24gMDcuMDMuMjUgMDE6MzcsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDA2LzAzLzIw
MjUgNzowOSBhbSwgSsO8cmdlbiBHcm/DnyB3cm90ZToNCj4+IE9uIDA1LjAzLjI1IDIzOjU3
LCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4+IE9uIDA1LzAzLzIwMjUgODo1MiBhbSwgSnVl
cmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBYZW5zdG9y
ZSBJTlRST0RVQ0UgY29tbWFuZCBpcyBzdGlsbCByZWZlcmVuY2luZw0KPj4+PiB4ZW5kLiBG
aXggdGhhdC4NCj4+Pj4NCj4+Pj4gV2hpbGUgYXQgaXQsIG1ha2UgY2xlYXIgdGhhdCB0aGUg
WGVuc3RvcmUgaW1wbGVtZW50YXRpb24gaXMgYWxsb3dlZA0KPj4+PiB0byBpZ25vcmUgdGhl
IHNwZWNpZmllZCBnZm4gYW5kIHVzZSB0aGUgWGVuc3RvcmUgcmVzZXJ2ZWQgZ3JhbnQgaWQN
Cj4+Pj4gR05UVEFCX1JFU0VSVkVEX1hFTlNUT1JFIGluc3RlYWQuDQo+Pj4+DQo+Pj4+IFNp
Z25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+Pj4gLS0t
DQo+Pj4+ICDCoCBkb2NzL21pc2MveGVuc3RvcmUudHh0IHwgNiArKysrKy0NCj4+Pj4gIMKg
IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+Pj4N
Cj4+Pj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW5zdG9yZS50eHQgYi9kb2NzL21pc2Mv
eGVuc3RvcmUudHh0DQo+Pj4+IGluZGV4IDM4MDE1ODM1YjEuLmQ4OTRkMjRkMTEgMTAwNjQ0
DQo+Pj4+IC0tLSBhL2RvY3MvbWlzYy94ZW5zdG9yZS50eHQNCj4+Pj4gKysrIGIvZG9jcy9t
aXNjL3hlbnN0b3JlLnR4dA0KPj4+PiBAQCAtMjg2LDcgKzI4Niw3IEBAIFRSQU5TQUNUSU9O
X0VORMKgwqDCoMKgwqDCoMKgIEZ8DQo+Pj4+ICDCoCBJTlRST0RVQ0XCoMKgwqDCoMKgwqDC
oCA8ZG9taWQ+fDxnZm4+fDxldnRjaG4+fD8NCj4+Pj4gIMKgwqDCoMKgwqAgTm90aWZpZXMg
eGVuc3RvcmVkIHRvIGNvbW11bmljYXRlIHdpdGggdGhpcyBkb21haW4uDQo+Pj4+ICDCoCAt
wqDCoMKgIElOVFJPRFVDRSBpcyBjdXJyZW50bHkgb25seSB1c2VkIGJ5IHhlbmQgKGR1cmlu
ZyBkb21haW4NCj4+Pj4gK8KgwqDCoCBJTlRST0RVQ0UgaXMgY3VycmVudGx5IG9ubHkgdXNl
ZCBieSB4ZW4gdG9vbHMgKGR1cmluZyBkb21haW4NCj4+Pj4gIMKgwqDCoMKgwqAgc3RhcnR1
cCBhbmQgdmFyaW91cyBmb3JtcyBvZiByZXN0b3JlIGFuZCByZXN1bWUpLCBhbmQNCj4+Pj4g
IMKgwqDCoMKgwqAgeGVuc3RvcmVkIHByZXZlbnRzIGl0cyB1c2Ugb3RoZXIgdGhhbiBieSBk
b20wLg0KPj4+PiAgwqAgQEAgLTI5OSw2ICsyOTksMTAgQEAgSU5UUk9EVUNFwqDCoMKgwqDC
oMKgwqAgPGRvbWlkPnw8Z2ZuPnw8ZXZ0Y2huPnw/DQo+Pj4+ICDCoMKgwqDCoMKgIGZvciBl
eGFtcGxlIHBhc3NpbmcgYSBoaWdoLWJpdC1zZXQgMzItYml0IGdmbiBhcyBhbiB1bnNpZ25l
ZA0KPj4+PiAgwqDCoMKgwqDCoCBkZWNpbWFsIHdpbGwgYXR0ZW1wdCB0byB1c2UgMHg3ZmZm
ZmZmZiBpbnN0ZWFkICghKS4NCj4+Pj4gIMKgICvCoMKgwqAgWGVuc3RvcmVkIG1pZ2h0IGln
bm9yZSB0aGUgPGdmbj4gdmFsdWUgYW5kIHVzZSB0aGUgcmVzZXJ2ZWQNCj4+Pj4gK8KgwqDC
oCBncmFudCB0YWJsZSBlbnRyeSBHTlRUQUJfUkVTRVJWRURfWEVOU1RPUkUgaW5zdGVhZCBm
b3IgbWFwcGluZw0KPj4+PiArwqDCoMKgIHRoZSBYZW5zdG9yZSBpbnRlcmZhY2UgcGFnZSBv
ZiB0aGUgZ3Vlc3QuDQo+Pj4NCj4+PiBJJ2Qgc3VnZ2VzdCBtYWtpbmcgYSBzdHJvbmdlciBz
dGF0ZW1lbnQgdGhhbiB0aGlzLg0KPj4+DQo+Pj4gLS0tDQo+Pj4gVGhlIDxnZm4+IGZpZWxk
IGlzIHVzZWQgYnkgeGVuc3RvcmVkcyB3aGljaCB1c2UgZm9yZWlnbiBtYXBwaW5nIHRvDQo+
Pj4gYWNjZXNzIHRoZSByaW5nIHBhZ2UuDQo+Pj4NCj4+PiBBbHRlcm5hdGl2ZWx5LCBHcmFu
dCAxIChHTlRUQUJfUkVTRVJWRURfWEVOU1RPUkUpIGlzIHJlc2VydmVkIGZvciB0aGUNCj4+
PiBzYW1lIHB1cnBvc2UsIGFuZCBpcyBwb3B1bGF0ZWQgYnkgdGhlIGRvbWFpbiBidWlsZGVy
IG9uIGJlaGFsZiBvZiB0aGUNCj4+PiBndWVzdC7CoCBUaGlzIG1lY2hhbmlzbSBpcyBwcmVm
ZXJyZWQgYmVjYXVzZSByZWR1Y2VzIHRoZSBwZXJtaXNzaW9ucyB0aGF0DQo+Pj4geGVuc3Rv
cmVkIG5lZWRzIGluIG9yZGVyIHRvIGZ1bmN0aW9uLg0KPj4+DQo+Pj4gQm90aCA8Z2ZuPiBh
bmQgR3JhbnQgMSBuZWVkIHRvIGFncmVlLCBiZWNhdXNlIGltcGxlbWVudGF0aW9ucyBvZg0K
Pj4+IHhlbnN0b3JlZCB3aWxsIHVzZSBvbmUgYW5kIGlnbm9yZSB0aGUgb3RoZXIuDQo+Pg0K
Pj4gRmluZSB3aXRoIG1lLg0KPiANCj4gQXJlIHlvdSBoYXBweSBmb3IgbWUgdG8gYWRqdXN0
IG9uIGNvbW1pdCwgb3IgZG8geW91IHdhbnQgYSB2MiBzZW5kaW5nIG91dD8NCj4gDQo+IH5B
bmRyZXcNCg0KSSBkaWQgc2VuZCBvdXQgVjI6DQoNCmh0dHBzOi8vbGlzdHMueGVuLm9yZy9h
cmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDI1LTAzL21zZzAwMjQ4Lmh0bWwNCg0KDQpKdWVy
Z2VuDQo=
--------------030pSoBrfnQJGLt7hQvZEQSl
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-----

--------------030pSoBrfnQJGLt7hQvZEQSl--

--------------n3GWNmgcLcQ0BJpu6UqaCScW--

--------------0Nf2FEPSFXyY4501yTFOlzDp
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/Ey8FAmfOsAAFAwAAAAAACgkQsN6d1ii/Ey+t
Lgf/YMhRjgjrYWmzulByXCO1EdG6aB04gIY6egIRONe0iSc1LW4Mm6mbxoLEivW3SW9zk3k/9byC
wRlKIUSS6c6Dy6M8IJbcqHXFpEX5HlNwTyWtEGIyUyJP7vp1kDiZ8rSOH2+ikJYTuS7A+N4WrOVk
VInQm6GBTLrU0Wc4kfSQ+PT83FWaH38NRTckRrPBtp38wDN4W3tSrRXQIVwgoP3ZkFacWIGjwDXR
ScHWFATgXD2aVOmNEummh+znBu93CxRQB/430++k1LCZmNGwZ9nCg9ylgXLr0eW6z0fYXXHs+48h
Ol2n1wqReikSNvk4zJyykadwo5rwExMfg2U1FbiAYA==
=pfg/
-----END PGP SIGNATURE-----

--------------0Nf2FEPSFXyY4501yTFOlzDp--


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:32:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:32:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906332.1313771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZUT-0001Wr-Ia; Mon, 10 Mar 2025 09:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906332.1313771; Mon, 10 Mar 2025 09:32: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 1trZUT-0001Wk-Ey; Mon, 10 Mar 2025 09:32:05 +0000
Received: by outflank-mailman (input) for mailman id 906332;
 Mon, 10 Mar 2025 09:32: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 1trZUR-0001WT-RQ
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:32: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 1trZUR-00CbAh-1M;
 Mon, 10 Mar 2025 09:32:03 +0000
Received: from [2a02:8012:3a1:0:f9cf:8834:13d9:5b3]
 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 1trZUQ-001Fdy-3D;
 Mon, 10 Mar 2025 09:32: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>
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=Gm22hsHx2D1i9GF4hRTNTwDK2maDa8wXB/+FvaWaEHg=; b=YYL+XYlfXl/BKgMbzRzHQUxAR+
	XgkCgowLrGl68Gmx3OpK4UCBClhEqJWgYNxQf9SIHW7aj18Fi3ewRwq3rFJKqxhSnYrVtsO7V3Vys
	8htPMuRDUxkODPg9ik9yd60sFysjwgOcFhfnR4lzsps9I6zusUjr2/5VaUxx9IJ8ID0o=;
Message-ID: <8be2b25d-7a2c-40a5-bbdb-0f7aade2bbd2@xen.org>
Date: Mon, 10 Mar 2025 09:32:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
Content-Language: en-GB
To: Jason Andryuk <jason.andryuk@amd.com>, 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250306220343.203047-9-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jason,

On 06/03/2025 22:03, Jason Andryuk wrote:
> With a split hardware and control domain, the control domain may still
> want and xenstore access.  Currently this relies on init-dom0less to
> seed the grants.  This is problematic since we don't want hardware
> domain to be able to map the control domain's resources.  Instead have
> the hypervisor see the grant table entry.  The grant is then accessible
> as normal.
> 
> This is also useful with a xenstore stubdom to setup the xenbus page
> much earlier.
> 
> This works with C xenstored.  OCaml xenstored does not use grants and
> would fail to foreign map the page.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
>   xen/arch/arm/dom0less-build.c |  9 +++++++++
>   xen/common/grant_table.c      | 10 ++++++++++
>   xen/include/xen/grant_table.h |  8 ++++++++
>   3 files changed, 27 insertions(+)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 068bf99294..f1d5bbb097 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -21,6 +21,8 @@
>   #include <asm/static-memory.h>
>   #include <asm/static-shmem.h>
>   
> +static domid_t __initdata xs_domid = DOMID_INVALID;
> +
>   bool __init is_dom0less_mode(void)
>   {
>       struct bootmodules *mods = &bootinfo.modules;
> @@ -753,6 +755,10 @@ static int __init alloc_xenstore_page(struct domain *d)
>       interface->connection = XENSTORE_RECONNECT;
>       unmap_domain_page(interface);
>   
> +    if ( xs_domid != DOMID_INVALID )

Looking at this patch again, is this guarantee that the xenstore domain 
will be created first? If not, then I think your series needs to be 
re-ordered so patch #10 is before this patch.

> +        gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
> +                          gfn_x(gfn), GTF_permit_access);
> +
>       return 0;
>   }
>   
> @@ -1173,6 +1179,9 @@ void __init create_domUs(void)
>           if ( rc )
>               panic("Could not set up domain %s (rc = %d)\n",
>                     dt_node_name(node), rc);
> +
> +        if ( d_cfg.flags & XEN_DOMCTL_CDF_xs_domain )
> +            xs_domid = d->domain_id;

What if there is multiple domain with XEN_DOMCTL_CDF_xs_domain? Should 
we throw an error?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:52:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:52:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906348.1313780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZoF-0007OF-5S; Mon, 10 Mar 2025 09:52:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906348.1313780; Mon, 10 Mar 2025 09:52: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 1trZoF-0007O8-2d; Mon, 10 Mar 2025 09:52:31 +0000
Received: by outflank-mailman (input) for mailman id 906348;
 Mon, 10 Mar 2025 09:52: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=mMAf=V5=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1trZoC-0007Nh-Rq
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:52:29 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2009::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 592e8cb2-fd95-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 10:52:17 +0100 (CET)
Received: from DM4PR12MB5277.namprd12.prod.outlook.com (2603:10b6:5:390::7) by
 SA1PR12MB5669.namprd12.prod.outlook.com (2603:10b6:806:237::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.26; Mon, 10 Mar 2025 09:52:13 +0000
Received: from DM4PR12MB5277.namprd12.prod.outlook.com
 ([fe80::9ab:5367:ba51:af6e]) by DM4PR12MB5277.namprd12.prod.outlook.com
 ([fe80::9ab:5367:ba51:af6e%6]) with mapi id 15.20.8511.026; Mon, 10 Mar 2025
 09:52: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: 592e8cb2-fd95-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=w2m99uWrOqWoHOsmjnG3aBCwDK8tkrQDNZzgI7we62dIG09TJaGkGnuOzPuGWWBjt9NC/RKShXHceb4j6OL7k3M755oR6pX89r5PSYWPsFq2jmkhrd+SYVcN6WCdjcSYg0lZm/udYrYAG1GcFXQQ0TsJ8oEtz1LQo+vn+KEtn2WvjIDGiJ8PKfn5qdTG4V5LNB5nZAk0beYZsD5KKhpoC2r3ywEFMlPB9U9yiATJn3MNyL5ueZANDuDV+YxPEzPb/Z37JcAg9mP1tyWi2WTmCH3XpBHMXmHM1KYxAT2a/azfmA+2kBcGvSGS8CkGNxzaEn//QnmxTzzF/qN7haTR3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dNgMswDVbwx8s+GmFezU1MKqguimdhZksWISKUejil4=;
 b=EfTRTEZ51UM+iz2wq5FzfocnONU+ZVp/zHVp4IlR6IzT01Daswq9fekSRRvWUczJAuv04zeSYolSEKIBShjJemW+s0vaQVVpgQC4rvLXl0cBDd1fs/8RbpW7vOjmGRbX+cUsQs7eJ0krs39uD1A1SEdbx7rSrmlHrUFPI9JSRoR4dV/soDYmsF+TLaoW5uM1AA+aGqSj6vKIYbTBSzD7qg2K1ouW9H0imz5WIxo7RSt9AFa8CNHy4x5RMMWUp9hUqHq1ZtfoYrUSQcdUaqN489ScwwesMZ3UgLcJhOiGA0ZMo16GG95dhYYnwhKQOH4fT9IXvQ4zvAveRZxGw2gYWQ==
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=dNgMswDVbwx8s+GmFezU1MKqguimdhZksWISKUejil4=;
 b=Mc0EsxkCPx7lQgfygJC3MlJPSWtox3xzPiGAkPJtuPQhr2n+LfqxKM9eBPtcqW0KD/NvvRW7wfbc/CUKrdqqD9W9mKSLuIVWmobJ+E4opKK0q/MaS4fARFvPS3XJNm3MhBwociWAsAQgNaBh3Ab4CyWMxRfy5aWjz69lRI+zADQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e91b4782-4fbb-4a60-bb6a-e5d054647489@amd.com>
Date: Mon, 10 Mar 2025 10:52:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
To: Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall <julien@xen.org>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-6-jason.andryuk@amd.com>
 <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org>
 <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com>
 <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
 <09103c2b-a7c0-44d5-8eb5-2d0fcb01c26e@amd.com>
 <cdb05727-fd2f-4b83-9200-d88789ce908e@xen.org>
 <474C7972-2B67-4FD3-B4F7-39B352301A46@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <474C7972-2B67-4FD3-B4F7-39B352301A46@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::13) To BL1PR12MB5272.namprd12.prod.outlook.com
 (2603:10b6:208:319::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR12MB5277:EE_|SA1PR12MB5669:EE_
X-MS-Office365-Filtering-Correlation-Id: ac1d9bc8-dfa4-4f29-87b9-08dd5fb93b43
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?ME9lYnNhczRwUktsK3dNcnE0cHdDckFPSkVyQzZSQWwzZDZTTTBvcnFORXF6?=
 =?utf-8?B?U2VldnFGS2JoNnAzZytMWFZRbkVlQ2tuS0t3em8xUDc4NFBRaE5qRzZYNFVN?=
 =?utf-8?B?VHkzMmh0ZVpJOHh5bk1yNjl1VGhXL3J1RXRoakd3SjVGbU5uWFBhOXA1ckdp?=
 =?utf-8?B?bU5sRkNmZWc0T2I4K1BnTjV1RUFDWG5NY3dWbnlPL3UxM1ljZlVkaTV1NSt6?=
 =?utf-8?B?RGw1VThnZEJWVVFYS24xM3lMbFdlQ0dCb1g5NU40enUrOTZZSFNGWWJoUXR1?=
 =?utf-8?B?ZXdZWFBvTUJWOC8xb3NoSE1hN1BGazU0dzlQdWVib2hjTGMwYUxLQS93Ri9u?=
 =?utf-8?B?czRNZDVBY3hCL3BIWThDdGIzZTBWa3NZbDU0TnN1VFdWcjIxMEV3aWlhcEdS?=
 =?utf-8?B?V3QyWGpFODlqM0NNM1p2MWNEay9TckMwNWtSM0RUU25LOEVnU3hSdkcvTEtH?=
 =?utf-8?B?aFR1SXJwbUdXSkxIL2dzVS9NdG16RVFXbDhNVWd1WEh6Z3hpMkF4enVyb0VZ?=
 =?utf-8?B?cG4zM1BKWER5bnZ4cE5rME1DaFRkUW8rTkVWeEtJaXBQajIxcVphcFdNTUoz?=
 =?utf-8?B?akc5UUUrQVh0ZjNiWWJwcWVFMEhqVXV5SXRqTnJndWZoMDducWQzc1lNSTNi?=
 =?utf-8?B?K1g2Rnh3RG16MU1sZ1czUkdYSnhiN0hwMGFGSFhSQWlaKzdkcmlMd0RZRjRo?=
 =?utf-8?B?c3NHK29HV0RrSjJRU09NVEs3bDZucEpVVEVLS3c0VmZBZzI5aThnRHBYYlI2?=
 =?utf-8?B?OUFwSEZUL1NvVXNCWExVNzk4QWFydzBHQzl5TENOM05oamp2QWtJVUJvb0JE?=
 =?utf-8?B?RGVrQStQdnhpZFJOWDJWUE9UQ2V6M2xlQndTOUd6N1NSWm1qQ1RZSWlXMVVz?=
 =?utf-8?B?SHBxL3ZZL3BVc2kySWxSaGJLMTdGc0d3ZktubnlWTmJ0TVhqeUNoMGNWdHVx?=
 =?utf-8?B?K3hVYnpINFBsUmYwZ0ZFTGVxOXdsMGhzQUhBOUtaeG1rdXd4cEcyR0Rydy9L?=
 =?utf-8?B?WENnNjJlbm5OSDdLeVpVanR5V0VaZFpRazRrS0creS9zMFJFNTJTSlIySTN4?=
 =?utf-8?B?STRaL1d2ckYrNVVsUG9LRnNGQ3VxNXR1ZkVJTHRkSGpGbXJoeEZiNjRTRnND?=
 =?utf-8?B?dnYvbGdZWHNUV0FnaDk3SHRyL0lkS1gxMHFvMHptTFMzUVJpa2VCOHFXVW81?=
 =?utf-8?B?OStQL2hES0JKSmdlei9Nb3A2UDNBUSszNVJWcEY0WHpIQXJlVDR4S0lyaEJm?=
 =?utf-8?B?ajBlZTQvTDhlU0JzZHNSckhKQWdKc1gwZzNLN0ZsZENkSkdkZ0ZRT1U2K1ZE?=
 =?utf-8?B?c1NQUkxsakVwTWhQdno5VmxIbmx1OXRYdk13M3BOZERpd2RlT0Y2L0FLQXZj?=
 =?utf-8?B?SDVlSGl2VkllL0pGUGJqenk0NmVjQy9KZENDSytrMkVyK2J2NDFtUDhCM3Fk?=
 =?utf-8?B?Tm5vY3V5dmdDVis5c0RSZmNra0tGa010cUFRVUYzc3dTTjg1eHdMYlp6bk96?=
 =?utf-8?B?eC9Gc0gvZXJURlJkUEQ4WnVOaTNpdSt4RnpYTjFYalp3RjVBRFFCZ0lHZ2dq?=
 =?utf-8?B?REozWXdvNDNkVDVtc1JENjhJbG9EWUZNbHkxcUJQek1Ga3VQQXk5NXpRbGNV?=
 =?utf-8?B?MDl1Szk2VllIcEdlWU5yckdBRldyVGlsR0xKbjRacmxpNWQ2amVVWHppOG1H?=
 =?utf-8?B?Q2tJVnhyckJ4YURrUS82bE45RFdGaldTZkJ6MmtWVDJhOVgzbG5QVzlPMXVC?=
 =?utf-8?B?VndLWU15Nk5Ca1RlK0ZxNGZZU012WTJ0TC9UT2FsQm1UME5pRE1uUTR4QUcv?=
 =?utf-8?B?OHdYSStvWDVYOVY4NHBROE5xV3JjakhtbEV4MHN6L09rRHZPazFaMGVLUEJh?=
 =?utf-8?Q?/czdqdQm+r+oy?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5277.namprd12.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?SnNIMkdlNHNwZnBwL0pSdjFGOThjRnMyNWFjTU4wQjExZDF2LzRvY3FncXdS?=
 =?utf-8?B?c2hpT3BXN2VmM1Z1M1NYRGtDemlSY09UMXhkc3JXNmxGRWczVE00ZHFmOUU0?=
 =?utf-8?B?Ym4zSHlGZXBpWm1RUEtVSTZlVWl0b1hiOU54RTZQV21RSDhuNXhORVRNdnRv?=
 =?utf-8?B?VkRkS2dSNk8zRmV4bE1FdFFCenRaQzNpU1hQQ2JBQ29xcjdZZ1AwNUNGd1hW?=
 =?utf-8?B?TGFEWVdPd2czbGVGRDNEL0liNmxDekFiMUpJQjNxUnlyaktVUmphUVZPUm5L?=
 =?utf-8?B?T2VTaGpVb1Q1RzlNNWtRVzVkQTBlMm1LZTdUT25ZbDd2eWIvd2NMM2grMWdM?=
 =?utf-8?B?SDlzUTZmWnY1WDBpU043eGUvd2lFWWZsOFplSW9uenhBYm5hdjlKRG1TMWJw?=
 =?utf-8?B?VittckxnMFZlWjVTM3FEN0tUUDNXQVdyK2FvU2VRRWsyM1hqcTR5bVZFdVNr?=
 =?utf-8?B?Ulk2SGc2dXVXeVFhZEN0ZkIwZE9tTk5CaFJjVlo5OHR6Z0NZY1hnTCtkcEhp?=
 =?utf-8?B?K3ZXMDZqNk0xS3BDd3hsbzNnZzNaSVNIK1JBRkd6OW8yQ3BGNmRESFBSWTNq?=
 =?utf-8?B?eWRLZndZamVGRTJqVjUxVURid24rSHBtTFhpcjFySm5uODJocm5oN3A0SytC?=
 =?utf-8?B?cDYzR3VaVDhqN2FCQTlEQmJLL1NwdFY3Z1ozZDBqSFVlTlhMUVhGQWtkaGRi?=
 =?utf-8?B?WlB2L0dpQ1pmQXlYQUZXOFBCenExTFIrKzJlRGd4SEY0YjNUOHRyVmRUL3NC?=
 =?utf-8?B?VG5ETS9jYkVnRzRjM3Y0ZkdrdEIxUUx5THVRMVQ0Z2NmM3B2Y2NVSHlqZks5?=
 =?utf-8?B?b0VtWkgrdENGMVQzd0FGRkVIb05IeGp0eGFONkNFMGJlUUU4VDlEak5ZUW95?=
 =?utf-8?B?T1U2NitzZ1gzZS80WnpQa2dpTWMrYkJzN0JPdjA0RDNqZDJzSlVaSFI2d0hn?=
 =?utf-8?B?N0JiN1YvemVkUHR1NWw2eFpzakFvVUNaSUNLUU9ucWVtM0laTDZBck0xSXJy?=
 =?utf-8?B?YWNZdFVvRzMzZHMrb2ttRlNRd0dxd3UyS2NFclF2M2xKQWN0UE1ESHFNZmRQ?=
 =?utf-8?B?RUI1RVNqenNrZE1pdHpxMDBaamV4Q0lyaEpENWcwZmt1VjNNN1hGQWsxSWox?=
 =?utf-8?B?NGNBZXJJMnpLeXc5TGR1MzMvR1h3SVJUREF3WFhwWVoyUnRSaW1wWFFkTUdE?=
 =?utf-8?B?QVlKUTVicGljRjFkRnRGZVc5WmNTVDg3aXc1a2o2ZFg3b09PdWRQWmoveW5w?=
 =?utf-8?B?czBhU1JyQ3dYSmlXQWJGMzlXN3VKeFBDc2sxZC9iMnNQdlpvU3UzVUQzSkZU?=
 =?utf-8?B?bk9oNWs0aFNqNkQrblRHd3ZkUXh5ZGRkakFHYlZGMXhiVUNucklINHdvYUlM?=
 =?utf-8?B?YndLUjYwUnZGOG9KVUZ1V2d2OHUvazFiY09xcTNKeUdUTVdHeGFPQ29odklN?=
 =?utf-8?B?T3ZBOXZsa1NjU0EyeEtHendZeFFaYjZuZmpIejN1c3lpb01LK1kyVDErSnRi?=
 =?utf-8?B?Nk8rWDUxcytGV2JTTkM5SlpPT0tMdjN1S3NzbnhzdWFPM1QxZFJna0U5QVVk?=
 =?utf-8?B?c2llcndYOUM3enVkblR1TEJ1UU41SW84NjVvWElTUUk1UVFVUVY3MTRTRE5M?=
 =?utf-8?B?dzJ4UnM5bkU1aEZ0WVJnOTZUZHd2SmdtaUtrNUE0NkZJOFl4UDVIMHZmY0Yz?=
 =?utf-8?B?TGF0WUVwMkt0MXlBdnBSMzNYL25wK0xiTUpqMlIwS01CNktteDlQeW5iQ1pX?=
 =?utf-8?B?YmJBZ1lhdGRoaHJZa3prS04vVDNrT2kwMFNDTC9SeW9nSEJKcEw0ZTExSndz?=
 =?utf-8?B?NVhWTFRwWVJQOHZDZ0gwT3dTL0s0OWJaSmxiR2hJZWs1Mkk3UUtxWlFidzlj?=
 =?utf-8?B?NVFhTWtZRVR4V0IzQnFORWJrbTQxUTRQcEZCbklxSFIyYVZSWE5KTmQ3V2tH?=
 =?utf-8?B?c2F2VXR5WDhRRzBwTUZIcFBQYWExeDg0VGxITGx6V1ViMU5POG5HbU55N2ly?=
 =?utf-8?B?eWUwdzRUbnZpdnN0NURKUmJmU1Z3MnhaN0NJMlpsZHRJSE5uYUdEZlZCSWJv?=
 =?utf-8?B?WUxGU0pGMWJ6ZWRNRmtiTGtVUVV2WkxkbElJK2NmUnBhY1VhcU1kR3JlWHBT?=
 =?utf-8?Q?otEM=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac1d9bc8-dfa4-4f29-87b9-08dd5fb93b43
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5272.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 09:52:13.3672
 (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: wU9RhYOtiXT7llz0w0/+cXCiyRHIZxXDShEtqa/aSelkgXX3NJekBdbmKSxsADFR
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB5669



On 10/03/2025 09:01, Bertrand Marquis wrote:
> 
> 
> Hi,
> 
>> On 8 Mar 2025, at 13:37, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Jason,
>>
>> On 08/03/2025 00:02, Jason Andryuk wrote:
>>> On 2025-03-07 16:21, Julien Grall wrote:
>>>> Hi Jason,
>>>>
>>>> On 07/03/2025 17:58, Jason Andryuk wrote:
>>>>> On 2025-03-07 04:01, Julien Grall wrote:
>>>>>> Hi,
>>>>>>
>>>>>> On 06/03/2025 22:03, Jason Andryuk wrote:
>>>>>>> Add capabilities property to dom0less to allow building a
>>>>>>> disaggregated system.
>>>>>>>
>>>>>>> Introduce bootfdt.h to contain these constants.
>>>>>>>
>>>>>>> When using the hardware or xenstore capabilities, adjust the grant and
>>>>>>> event channel limits similar to dom0.
>>>>>>  > > Also for the hardware domain, set directmap and iommu.  This brings its
>>>>>>> configuration in line with a dom0.
>>>>>>
>>>>>> Looking the device tree bindings, a user would be allowed to disable "passthrough" or even "directmap". This means, we would never be able to disable "directmap" for the hardware domain in the future with the existing property (this is to avoid break backwards compatibility).
>>>>>>
>>>>>> Instead, I think we should check what the user provided and confirm this is matching our expectation for an hardware domain.
>>>>>  >
>>>>>> That said, I am not entirely sure why we should force directmap for the HW domain. We are starting from a clean slate, so I think it would be better to have by default no directmap and imposing the presence of an IOMMU in the system.
>>>>>
>>>>> Ok, it seems like directmap is not necessary.  It was helpful early on to get things booting, but I think it's no longer necessary after factoring out construct_hwdom().
>>>>>
>>>>> What exactly do you mean by imposing with respect to the iommu? Require one, or mirror the dom0 code and set it for the hwdom?
>>>>>
>>>>>      if ( iommu_enabled )
>>>>>          dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
>>>>
>>>> I mean requires one. Without it, you would need to set directmap and I don't think this should be allowed (at least for now) for the HW domain.
>>>>
>>>>>
>>>>>> Lastly, can you provide an example of what the hardware domain DT node would looke like?
>>>>>
>>>>> I've attached a dump of /sys/firmware/fdt from hwdom.  (This is direct mapped).
>>>>
>>>> Sorry if this was not clear, I am asking for the configuration you wrote in the host DT for create the hardware domain. I am interested to know which properties you set...
>>> I've attached the u-boot fdt commands which generate the DT.  Hopefully that works for you.
>>>>>
>>>>>>> --- a/xen/arch/arm/dom0less-build.c
>>>>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>>>>> @@ -12,6 +12,7 @@
>>>>>>>   #include <xen/sizes.h>
>>>>>>>   #include <xen/vmap.h>
>>>>>>> +#include <public/bootfdt.h>
>>>>>>>   #include <public/io/xs_wire.h>
>>>>>>>   #include <asm/arm64/sve.h>
>>>>>>> @@ -994,6 +995,34 @@ void __init create_domUs(void)
>>>>>>>           if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
>>>>>>>               panic("No more domain IDs available\n");
>>>>>>> +        if ( dt_property_read_u32(node, "capabilities", &val) )
>>>>>>> +        {
>>>>>>> +            if ( val & ~DOMAIN_CAPS_MASK )
>>>>>>> +                panic("Invalid capabilities (%"PRIx32")\n", val);
>>>>>>> +
>>>>>>> +            if ( val & DOMAIN_CAPS_CONTROL )
>>>>>>> +                flags |= CDF_privileged;
>>>>>>> +
>>>>>>> +            if ( val & DOMAIN_CAPS_HARDWARE )
>>>>>>> +            {
>>>>>>> +                if ( hardware_domain )
>>>>>>> +                    panic("Only 1 hardware domain can be specified! (%pd)\n",
>>>>>>> +                           hardware_domain);
>>>>>>> +
>>>>>>> +                d_cfg.max_grant_frames = gnttab_dom0_frames();
>>>>>>> +                d_cfg.max_evtchn_port = -1;
>>>>>>
>>>>>> What about d_cfg.arch.nr_spis? Are we expecting the user to pass "nr_spis"?
>>>>>
>>>>> Further down, when nr_spis isn't specified in the DT, it defaults to:
>>>>>      d_cfg.arch.nr_spis = gic_number_lines() - 32;
>>>>
>>>> Thanks. One further question, what if the user pass "nr_spis" for the HW domain. Wouldn't this result to more issue further down the line?
>>> I'm not familiar with ARM, so I'll to whatever is best.  I did put the capabilities first, thinking it would set defaults, and then later options could override them.
>>
>> I am not sure it is related to Arm. It is more that the HW domain is going to re-use the memory layout of the host (this is including the mapping for the GIC) and also have all the irqs with pirq == virq.
>>
>> I am a bit concerned that letting the users mistakenly tweaking the defaults could prevent attaching devices (for instance if the IRQ ID is above > nr_spis).
>>
>>>>>
>>>>> Dom0 does:
>>>>>      /*
>>>>>       * Xen vGIC supports a maximum of 992 interrupt lines.
>>>>>       * 32 are substracted to cover local IRQs.
>>>>>       */
>>>>>      dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
>>>>>      if ( gic_number_lines() > 992 )
>>>>>          printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded. \n");
>>>>>
>>>>> So I think it's fine as-is?  I could add the min() and warning if you think it's necessary.
>>>>
>>>> Regardless this discussion, I wonder why we didn't add the min(...) here like for dom0 because we are using the same vGIC emulation. So the max SPIs supported is the same...
>>>>
>>>> What I am trying to understand is whether it is ok to allow the user to select "nr_spis", "vpl011" & co if they are either not honored (like for vpl011) or could introduce further issue (like for nr_spis as the HW domain is supposed to have the same configuration as dom0).
>>>>
>>>> I also don't think it is a good idea to silently ignore what the user requested. So far, on Arm, we mainly decided to reject/panic early if the setup is not correct.
>>> Again, I'll do whatever is best.
>>
>> Bertrand, Michal, Stefano, any opinions?
> 
> I definitely think that any user configuration mistake should end up in a panic, a warning message is definitely not enough.
> Here the user might discover or not at runtime that what he thought was configured is not.
> So a panic here would be better from my point of view.
I think this code handling is a bit messy today.
GIC supports max 1020 lines. That's 1020-32=988 SPIs. In our vGICs we round up
SPIs to 32, so the true vGIC max SPI is 960. Issues:

1) We warn about current lines exceeding max vGIC lines only for hwdom. This
should be made common:

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d4570bc0b4e4..8d97bbcc86c7 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2368,8 +2368,6 @@ void __init create_dom0(void)
      * 32 are substracted to cover local IRQs.
      */
     dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
-    if ( gic_number_lines() > 992 )
-        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
     dom0_cfg.arch.tee_type = tee_get_type();
     dom0_cfg.max_vcpus = dom0_max_vcpus();

diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index c563ba93af22..494210a7337d 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -116,6 +116,9 @@ int domain_vgic_init(struct domain *d, unsigned int nr_spis)
     int i;
     int ret;

+    if ( gic_number_lines() > 992 )
+        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
+
     d->arch.vgic.ctlr = 0;

     /*
diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
index f8d7d3a226d0..dd1734a61f57 100644
--- a/xen/arch/arm/vgic/vgic-init.c
+++ b/xen/arch/arm/vgic/vgic-init.c
@@ -132,6 +132,9 @@ int domain_vgic_init(struct domain *d, unsigned int nr_spis)
     unsigned int i;
     int ret;

+    if ( gic_number_lines() > 992 )
+        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
+
     /* The number of SPIs must be a multiple of 32 per the GIC spec. */
     nr_spis = ROUNDUP(nr_spis, 32);

2) If user does not specify nr_spis for dom0less domUs, we should take the max
vGIC lines into account as we do for hwdom:

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 31f31c38da3f..019ae2173400 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -1018,7 +1018,8 @@ void __init create_domUs(void)
         {
             int vpl011_virq = GUEST_VPL011_SPI;

-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+            d_cfg.arch.nr_spis = min(gic_number_lines(),
+                                     (unsigned int)992) - 32;

             /*
              * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is

3) Doc for xl cfg nr_spis is utterly wrong. First it mentions 991 as the number
of max SPIs where it should be 960.

4) Handling in libxl silently ignores user provided value if the calculated
number of required SPIs (e.g. vpl011, virtio, etc.) is bigger than user provided
value. We should bail out.

I think we should first fix the above (I can prepare patches) and then continue
adding logic if user specifies nr_spis for hwdom (not possible today).

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:57:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:57:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906357.1313791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZsx-0000tb-Mc; Mon, 10 Mar 2025 09:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906357.1313791; Mon, 10 Mar 2025 09: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 1trZsx-0000tU-Jv; Mon, 10 Mar 2025 09:57:23 +0000
Received: by outflank-mailman (input) for mailman id 906357;
 Mon, 10 Mar 2025 09:57: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trZsx-0000tO-7i
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:57:23 +0000
Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com
 [2607:f8b0:4864:20::1031])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f1c7064-fd96-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 10:57:22 +0100 (CET)
Received: by mail-pj1-x1031.google.com with SMTP id
 98e67ed59e1d1-2feb96064e4so7813704a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:57:22 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-2ff69353383sm7525981a91.14.2025.03.10.02.57.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 02:57: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: 0f1c7064-fd96-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741600640; x=1742205440; 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=AGw8fZXx26xBVi/9+pP1ytMT9vkyJXCvWgdKggi56pI=;
        b=tYILwqPsVP1Axlu3UQT0sVVj+4ZQBXYsrEn8TYI4zIR94LExrMRcliee2Z/4E+nufu
         zhJv/i+kYInwmnntOGPM70JYzBzZ/8t5p/eojY8NX3cfYhck0KqU/I0u7hPrGuCKGJF2
         9CnR+ucNBendo71EGpUKhPICaEwcKSa0Ba/SA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741600640; x=1742205440;
        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=AGw8fZXx26xBVi/9+pP1ytMT9vkyJXCvWgdKggi56pI=;
        b=JgtwYkRFyK/0oolEZ/sVzxwlaUqA48yaeKe4J1r/8lPgXHh3muZyytKtWkU2NaqjvB
         BKzKr07KXC+wzO8KmfFifl1HI1uk2OCc9WAiDQnOHLoG7ZNsGHjhxwtQ2wzgxFzzDCY4
         7mOHUvZdq46TRSANP5oovBGVBc0VB2tgow4POBFYRvRCnRKLhv0Avg/RVcx5wYl675rZ
         X+mP4hM9xpL20+XTB0ycxNYUH/1IJXNTOoCzQkfqjzSiA3jdmMLiZMr6qeweeFf2/Wsv
         TVr6Bkp4RfUp0B7gRVLgFf9xI8AOBhWP/cRzNPTlEFRktmOyi1tGY89vFFmNU67sRmtS
         ERKQ==
X-Gm-Message-State: AOJu0YyG3ZhMV/EOhVsNevBxUAMWM1yfjbo9jtxLm018uMhRskQxgz2p
	ZKoYmGsFBUQVGbS24EKTV00ebbQ419vvJDtZh2Hj2UYy1u3drW/fINQ0y6XPu6maxC66WAgtW8W
	k
X-Gm-Gg: ASbGnct0/iyVJ0hRVmQXo3BZMU9voIjHJDDNmkfc5HCn3JpndtbOVKOrf1nWUqoC8iC
	PTWSEO4i7rf7zLlBXVovUJgDEjP/C0aaTuIGxCF5ExsPPvHAVM6XS3PR8LKaMdlJ4uIF5Yyu0ml
	AsDNZVO8nyMUEzXi/vVU4WAvmS2RNUfPEbxol8K7YN+H8nb9uLFkwp45k0BYAr5STyhIp0bTev/
	ePc6VHlAq+zrae4QpfFrpqnGbKWr8Uf5K+ecb4IMWPgcImP2acmv31fPCPYQu0Ec3yO+yIL995R
	w/zCpth6IsVNw5b4xf8mVh+ZFnekwhc9lvH1cIyYsckb3JM72VVVUa4=
X-Google-Smtp-Source: AGHT+IGJ0251Brhr4SNq5GbXJLb4Nsc4FP31Eo5YM4zMZ0mMbbz/AnC1ozLMoXit69Jz2/MYw3ndFA==
X-Received: by 2002:a17:90b:1807:b0:2ee:ad18:b309 with SMTP id 98e67ed59e1d1-2ff7ce47de5mr19455947a91.3.1741600640080;
        Mon, 10 Mar 2025 02:57:20 -0700 (PDT)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v3 0/2] x86/pci: reduce PCI accesses
Date: Mon, 10 Mar 2025 10:55:33 +0100
Message-ID: <20250310095535.46033-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

First patch is not really related, but it's some cleanup I've found
while looking at the other fixes.  Patch 2 extends the IOMMU logic to
prevent re-writing the same MSI message.

Thanks, Roger.

Roger Pau Monne (2):
  x86/apic: remove delivery and destination mode fields from drivers
  x86/iommu: avoid MSI address and data writes if IRT index hasn't
    changed

 xen/arch/x86/genapic/bigsmp.c            |  2 --
 xen/arch/x86/genapic/default.c           |  2 --
 xen/arch/x86/genapic/x2apic.c            |  4 ----
 xen/arch/x86/hpet.c                      |  6 +++++-
 xen/arch/x86/hvm/vmx/vmx.c               |  4 +++-
 xen/arch/x86/include/asm/genapic.h       |  5 -----
 xen/arch/x86/io_apic.c                   | 16 ++++++++--------
 xen/arch/x86/msi.c                       | 22 +++++++++-------------
 xen/drivers/passthrough/amd/iommu_intr.c |  4 ++--
 xen/drivers/passthrough/vtd/intremap.c   |  4 +++-
 xen/include/xen/iommu.h                  |  6 ++++++
 11 files changed, 36 insertions(+), 39 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:57:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906358.1313801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZt3-00019n-19; Mon, 10 Mar 2025 09:57:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906358.1313801; Mon, 10 Mar 2025 09:57: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 1trZt2-00019g-Tq; Mon, 10 Mar 2025 09:57:28 +0000
Received: by outflank-mailman (input) for mailman id 906358;
 Mon, 10 Mar 2025 09:57: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trZt2-0000tO-6T
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:57:28 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1260798b-fd96-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 10:57:27 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-22113560c57so72753425ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:57:27 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-736985151e7sm7785151b3a.127.2025.03.10.02.57.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 02:57: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: 1260798b-fd96-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741600645; x=1742205445; 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=/DDOUj51mfixPLtIBcnzUer7UVzDVkCCw+oNHP2Q+kM=;
        b=vKAL9VzmChgX9nuG/2kl1DiNtcDN+TbkhA7ydY2EdVh+NlgfnI/DyejqizvoS7DFXN
         f+GqEpjGY5c7fouk8WK28GbMSYdBLS4KwkyWBAX7QZmdKudo7wp65TPS3+Y7C61aoJcq
         G+BC5bU52kqw+SXpCj87VD3oFREJ9gFvXLn3g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741600646; x=1742205446;
        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=/DDOUj51mfixPLtIBcnzUer7UVzDVkCCw+oNHP2Q+kM=;
        b=qU+wikiOpxDFJmju86V019+AU1h/3FhC8ly3gDWi+d7xVuYfOm7k9ZvSzFSFfjsVy2
         u20Mu/NRH5UW9xXYqxg5YhjbFBtNc5a9haWVdJPfURgMIt8l1Xa+68rAfZfrFqYA+eBd
         8D1lqF6O4DRfM3R9l9ayx/0DRuQncCtMYix7Cm9JBHWm8t1Zoso3dyaKEkcdnai2tA1K
         lkCWoj28asaoUZH9tabDwqs92meHYSj/MqtaEX621nGhWTxA+A8jG1u8hsi//xFwYClT
         L490lcL8j6ssCjHZv76l1ssxr/cRjinDdS3kmO5hOCpo2x6a8cyto64nMVfAtqCnzj5e
         WnqQ==
X-Gm-Message-State: AOJu0YxAN4+T27fFKpsO/62BTppowNAyUClp6wafcuB3w1a7R2zpszTS
	06NGTC0p6TtvThN+Ro3ZyghhUY59/pLJqDxinH9IxwzIWZU/L/nzdbpP0aoDiDPQDT+zyYzuDrV
	t
X-Gm-Gg: ASbGncvPGVTig6M65J0ZfPHbNbiydIdz6FgqcfyBLyUSPCO+ErpeVoeUL2BumdSWRMr
	sGWWxa6/IgGeYUgHJejHdqko/Whcc8Xh35k6/yTMnpu2qx4oOZ8ZAGkKwIzUlKIyq+A9vEmYCgg
	J25Xngt4K8fkVVoiYi/ZQHuEOm53kr4ZdEWz+5TtjGxNrBRdrncbwv5Db+ZmrWQwFRQ0c9KeC7C
	duhIhQe9oxBZ9x8J3XQ9sAhjbfP5dsko7ebX8cC0friFWfLlGxYGQTzgjND0OOC1VFLjxPcfdDK
	rfUpbcZLriLxBerYAZrGJnvykN0VInNaTSP8ITPG47+HRVrjP7V2VBs=
X-Google-Smtp-Source: AGHT+IHucP9m32vTdDz7lZEccwPf/TZ85VO670nznjAwqXgr4SYPQoeth1R3ej5EsF8socST/AKh8Q==
X-Received: by 2002:a05:6a21:1583:b0:1f5:8622:5ed5 with SMTP id adf61e73a8af0-1f5862261c2mr2188975637.3.1741600645645;
        Mon, 10 Mar 2025 02:57:25 -0700 (PDT)
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 v3 1/2] x86/apic: remove delivery and destination mode fields from drivers
Date: Mon, 10 Mar 2025 10:55:34 +0100
Message-ID: <20250310095535.46033-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250310095535.46033-1-roger.pau@citrix.com>
References: <20250310095535.46033-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All local APIC drivers use physical destination and fixed delivery modes,
remove the fields from the genapic struct and simplify the logic.

No functional change intended.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes since v2:
 - Add comment about dest_mode setting.
---
 xen/arch/x86/genapic/bigsmp.c      |  2 --
 xen/arch/x86/genapic/default.c     |  2 --
 xen/arch/x86/genapic/x2apic.c      |  4 ----
 xen/arch/x86/include/asm/genapic.h |  5 -----
 xen/arch/x86/io_apic.c             | 16 ++++++++--------
 xen/arch/x86/msi.c                 | 11 +++--------
 6 files changed, 11 insertions(+), 29 deletions(-)

diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index b2e721845275..ddb3a0b5d727 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -46,8 +46,6 @@ static int __init cf_check probe_bigsmp(void)
 
 const struct genapic __initconst_cf_clobber apic_bigsmp = {
 	APIC_INIT("bigsmp", probe_bigsmp),
-	.int_delivery_mode = dest_Fixed,
-	.int_dest_mode = 0, /* physical delivery */
 	.init_apic_ldr = init_apic_ldr_phys,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index 59c79afdb8fa..16e1875f6378 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -16,8 +16,6 @@
 /* should be called last. */
 const struct genapic __initconst_cf_clobber apic_default = {
 	APIC_INIT("default", NULL),
-	.int_delivery_mode = dest_Fixed,
-	.int_dest_mode = 0, /* physical delivery */
 	.init_apic_ldr = init_apic_ldr_flat,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index c277f4f79b0a..74a6d808ac30 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -140,8 +140,6 @@ static void cf_check send_IPI_mask_x2apic_cluster(
 
 static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
     APIC_INIT("x2apic_phys", NULL),
-    .int_delivery_mode = dest_Fixed,
-    .int_dest_mode = 0 /* physical delivery */,
     .init_apic_ldr = init_apic_ldr_phys,
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
     .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
@@ -163,8 +161,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
      * The following fields are exclusively used by external interrupts and
      * hence are set to use Physical destination mode handlers.
      */
-    .int_delivery_mode = dest_Fixed,
-    .int_dest_mode = 0 /* physical delivery */,
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
     .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index cf36d48f3b07..04d3f1de7a1f 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -23,9 +23,6 @@ struct genapic {
 	const char *name;
 	int (*probe)(void);
 
-	/* Interrupt delivery parameters ('physical' vs. 'logical flat'). */
-	int int_delivery_mode;
-	int int_dest_mode;
 	void (*init_apic_ldr)(void);
 	const cpumask_t *(*vector_allocation_cpumask)(int cpu);
 	unsigned int (*cpu_mask_to_apicid)(const cpumask_t *cpumask);
@@ -37,8 +34,6 @@ struct genapic {
 	.name = aname, \
 	.probe = aprobe
 
-#define INT_DELIVERY_MODE (genapic.int_delivery_mode)
-#define INT_DEST_MODE (genapic.int_dest_mode)
 #define TARGET_CPUS ((const typeof(cpu_online_map) *)&cpu_online_map)
 #define init_apic_ldr() alternative_vcall(genapic.init_apic_ldr)
 #define cpu_mask_to_apicid(mask) ({ \
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 776dd57720a2..c6cf94481129 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1080,8 +1080,8 @@ static void __init setup_IO_APIC_irqs(void)
              */
             memset(&entry,0,sizeof(entry));
 
-            entry.delivery_mode = INT_DELIVERY_MODE;
-            entry.dest_mode = INT_DEST_MODE;
+            entry.delivery_mode = dest_Fixed;
+            entry.dest_mode = 0; /* physical delivery */
             entry.mask = 0;                /* enable IRQ */
 
             idx = find_irq_entry(apic,pin,mp_INT);
@@ -1150,10 +1150,10 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
      * We use logical delivery to get the timer IRQ
      * to the first CPU.
      */
-    entry.dest_mode = INT_DEST_MODE;
+    entry.dest_mode = 0; /* physical delivery */
     entry.mask = 0;					/* unmask IRQ now */
     SET_DEST(entry, logical, cpu_mask_to_apicid(TARGET_CPUS));
-    entry.delivery_mode = INT_DELIVERY_MODE;
+    entry.delivery_mode = dest_Fixed;
     entry.polarity = 0;
     entry.trigger = 0;
     entry.vector = vector;
@@ -2338,8 +2338,8 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a
 
     memset(&entry,0,sizeof(entry));
 
-    entry.delivery_mode = INT_DELIVERY_MODE;
-    entry.dest_mode = INT_DEST_MODE;
+    entry.delivery_mode = dest_Fixed;
+    entry.dest_mode = 0; /* physical delivery */
     entry.trigger = edge_level;
     entry.polarity = active_high_low;
     entry.mask  = 1;
@@ -2473,8 +2473,8 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
      * The guest does not know physical APIC arrangement (flat vs. cluster).
      * Apply genapic conventions for this platform.
      */
-    rte.delivery_mode = INT_DELIVERY_MODE;
-    rte.dest_mode     = INT_DEST_MODE;
+    rte.delivery_mode = dest_Fixed;
+    rte.dest_mode     = 0; /* physical delivery */
 
     irq = apic_pin_2_gsi_irq(apic, pin);
     if ( irq < 0 )
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index bf5b71822ea9..6c11d76015fb 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -174,18 +174,13 @@ void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg
 
     msg->address_hi = MSI_ADDR_BASE_HI;
     msg->address_lo = MSI_ADDR_BASE_LO |
-                      (INT_DEST_MODE ? MSI_ADDR_DESTMODE_LOGIC
-                                     : MSI_ADDR_DESTMODE_PHYS) |
-                      ((INT_DELIVERY_MODE != dest_LowestPrio)
-                       ? MSI_ADDR_REDIRECTION_CPU
-                       : MSI_ADDR_REDIRECTION_LOWPRI) |
+                      MSI_ADDR_DESTMODE_PHYS |
+                      MSI_ADDR_REDIRECTION_CPU |
                       MSI_ADDR_DEST_ID(msg->dest32);
 
     msg->data = MSI_DATA_TRIGGER_EDGE |
                 MSI_DATA_LEVEL_ASSERT |
-                ((INT_DELIVERY_MODE != dest_LowestPrio)
-                 ? MSI_DATA_DELIVERY_FIXED
-                 : MSI_DATA_DELIVERY_LOWPRI) |
+                MSI_DATA_DELIVERY_FIXED |
                 MSI_DATA_VECTOR(vector);
 }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 09:57:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 09:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906361.1313810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trZtA-0001Vk-7U; Mon, 10 Mar 2025 09:57:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906361.1313810; Mon, 10 Mar 2025 09:57: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 1trZtA-0001Vd-4H; Mon, 10 Mar 2025 09:57:36 +0000
Received: by outflank-mailman (input) for mailman id 906361;
 Mon, 10 Mar 2025 09:57: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trZt8-0001Pa-Oj
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 09:57:34 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1591fb98-fd96-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 10:57:32 +0100 (CET)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2fea8d8c322so7981905a91.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 02:57:32 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-2ff69374942sm7544170a91.29.2025.03.10.02.57.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 02:57: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: 1591fb98-fd96-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741600651; x=1742205451; 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=3vMmRQt2W0c82sFmb3uw//eAKUSioCEGn4rkW7R8oOE=;
        b=g9ucUPf+VQ9SgimjTF/1hFRwupAQW0nY8waGoQvgUbOFcKPQr2klrR3nmhdgjBR/ZW
         zQZ5cpuVMOWZY1lkasPP/SXu6Mc8xAlFgoDjm8N13BoDVxJxqQ1K2YBwlePwzxrvLKrp
         9d4y3UdhCL5bbBTBKNCqiavMyh+hzx4EpzL9g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741600651; x=1742205451;
        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=3vMmRQt2W0c82sFmb3uw//eAKUSioCEGn4rkW7R8oOE=;
        b=byfALLFQAUsZcG/y6YyQz8PKpCG9yWeIuYZ+A+1C5pyb0n78wu+rmVK+L9zIDmafO+
         X6lr6rqb8MKMKpQPmclCwbvDkT9IixpoAvRLVJo04qgSp1p8cY2RA0n4qrPIY3Ud0sd0
         qLhlms4H0u8BVnbRgFs/aXeAs/Vt5bZzZPjGCjED5BOwfBcZXSBsuaPiGi/pX5iMnIjW
         GSdaaGUP6O1Jf0AIIAo6AP26OlC4zNowuukkG78STdkcTsBWCz0a53kvfC0U26lnKtGJ
         p24UqVCa1V3PpA0hDtpTKG1tuPplPzPt/A7i/MbzRqyTiglc0XLhXITzUIvWhCIdCx8E
         TPww==
X-Gm-Message-State: AOJu0YxtdOKu0HqZ0yHmu4EJzZeZzngozC/saOVc/2G1dTpqDa54buCQ
	PLvGUXDWMaaBOe+s43xorQhyKRNHDanK9lrZomej7HWdJ2xQ5DwWvYw4I2Xj4MbbDy18nDFTIfb
	v
X-Gm-Gg: ASbGncvKCpuTNFvdBXEUgMyKYwOgrHHxwCZ7yydZCw3so9LhdLAuzcKMdlVxkC5V7ek
	vsQUb7ORP3Mr6JJ6yvBLhQWJioJqQ3L8YTeqWF49wZX77/SwY6hXOutjnHFb/mHciO3YY+dXN2h
	hnaU3d4xlZrYgAJPGMtnoLbWfQHEVHYnVjBO7hj7KMW/KkFi2daaiGmYA/xSOrSVHDRXlvk2aMd
	HTnG1XTDsI7WVuyJFSN0mXifH/medyZXb6aCkP7FhGc/I9ruD0HoqqXJj78SpKyPONrFPVhBUpz
	W1iZ6CzuGFdVL2TRIjY8CnqpmHOWir8zDDyMqu/pD+jLmSiV/PDy3/c=
X-Google-Smtp-Source: AGHT+IGHZnZOng9a6hrpb9KDyeYY85ETRk4xD2Q2Cy2VUO6LRimy5CPZUaNacvgjRjaKT73MbMPOpQ==
X-Received: by 2002:a17:90b:2fc5:b0:2ee:fa0c:cebc with SMTP id 98e67ed59e1d1-2ff7ce949d2mr21089443a91.20.1741600651066;
        Mon, 10 Mar 2025 02:57:31 -0700 (PDT)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v3 2/2] x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
Date: Mon, 10 Mar 2025 10:55:35 +0100
Message-ID: <20250310095535.46033-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250310095535.46033-1-roger.pau@citrix.com>
References: <20250310095535.46033-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Attempt to reduce the MSI entry writes, and the associated checking whether
memory decoding and MSI-X is enabled for the PCI device, when the MSI data
hasn't changed.

When using Interrupt Remapping the MSI entry will contain an index into
the remapping table, and it's in such remapping table where the MSI vector
and destination CPU is stored.  As such, when using interrupt remapping,
changes to the interrupt affinity shouldn't result in changes to the MSI
entry, and the MSI entry update can be avoided.

Signal from the IOMMU update_ire_from_msi hook whether the MSI data or
address fields have changed, and thus need writing to the device registers.
Such signaling is done by returning 1 from the function.  Otherwise
returning 0 means no update of the MSI fields, and thus no write
required.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
---
Changes since v2:
 - New approach.

Changes since v1:
 - Add more comments.
 - Simplify dma_msi_set_affinity().
---
 xen/arch/x86/hpet.c                      |  6 +++++-
 xen/arch/x86/hvm/vmx/vmx.c               |  4 +++-
 xen/arch/x86/msi.c                       | 11 ++++++-----
 xen/drivers/passthrough/amd/iommu_intr.c |  4 ++--
 xen/drivers/passthrough/vtd/intremap.c   |  4 +++-
 xen/include/xen/iommu.h                  |  6 ++++++
 6 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 51ff7f12f5c0..1bca8c8b670d 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -283,8 +283,12 @@ static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
     {
         int rc = iommu_update_ire_from_msi(&ch->msi, msg);
 
-        if ( rc )
+        if ( rc < 0 )
             return rc;
+        /*
+         * Always propagate writes, to avoid having to pass a flag for handling
+         * a forceful write in the resume from suspension case.
+         */
     }
 
     hpet_write32(msg->data, HPET_Tn_ROUTE(ch->idx));
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 0241303b4bf4..764d2ff9517a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -415,7 +415,9 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
 
     ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
 
-    return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
+    rc = iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
+
+    return rc < 0 ? rc : 0;
 
  unlock_out:
     spin_unlock_irq(&desc->lock);
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 6c11d76015fb..163ccf874720 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -184,7 +184,8 @@ void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg
                 MSI_DATA_VECTOR(vector);
 }
 
-static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
+static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
+                         bool force)
 {
     entry->msg = *msg;
 
@@ -194,7 +195,7 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 
         ASSERT(msg != &entry->msg);
         rc = iommu_update_ire_from_msi(entry, msg);
-        if ( rc )
+        if ( rc < 0 || (rc == 0 && !force) )
             return rc;
     }
 
@@ -259,7 +260,7 @@ void cf_check set_msi_affinity(struct irq_desc *desc, const cpumask_t *mask)
     msg.address_lo |= MSI_ADDR_DEST_ID(dest);
     msg.dest32 = dest;
 
-    write_msi_msg(msi_desc, &msg);
+    write_msi_msg(msi_desc, &msg, false);
 }
 
 void __msi_set_enable(pci_sbdf_t sbdf, int pos, int enable)
@@ -522,7 +523,7 @@ int __setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc,
     desc->msi_desc = msidesc;
     desc->handler = handler;
     msi_compose_msg(desc->arch.vector, desc->arch.cpu_mask, &msg);
-    ret = write_msi_msg(msidesc, &msg);
+    ret = write_msi_msg(msidesc, &msg, false);
     if ( unlikely(ret) )
     {
         desc->handler = &no_irq_type;
@@ -1403,7 +1404,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
         type = entry->msi_attrib.type;
 
         msg = entry->msg;
-        write_msi_msg(entry, &msg);
+        write_msi_msg(entry, &msg, true);
 
         for ( i = 0; ; )
         {
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index c0273059cb1d..07b21c6043ef 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -492,7 +492,7 @@ static int update_intremap_entry_from_msi_msg(
                get_ivrs_mappings(iommu->seg)[alias_id].intremap_table);
     }
 
-    return 0;
+    return !fresh ? 0 : 1;
 }
 
 static struct amd_iommu *_find_iommu_for_device(int seg, int bdf)
@@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
                                             &msi_desc->remap_index,
                                             msg, &data);
-    if ( !rc )
+    if ( rc > 0 )
     {
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 1aeaeb5ec595..a9d96fcdbac8 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -506,6 +506,7 @@ static int msi_msg_to_remap_entry(
     unsigned int index, i, nr = 1;
     unsigned long flags;
     const struct pi_desc *pi_desc = msi_desc->pi_desc;
+    bool alloc = false;
 
     if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
         nr = msi_desc->msi.nvec;
@@ -529,6 +530,7 @@ static int msi_msg_to_remap_entry(
         index = alloc_remap_entry(iommu, nr);
         for ( i = 0; i < nr; ++i )
             msi_desc[i].remap_index = index + i;
+        alloc = true;
     }
     else
         index = msi_desc->remap_index;
@@ -601,7 +603,7 @@ static int msi_msg_to_remap_entry(
     unmap_vtd_domain_page(iremap_entries);
     spin_unlock_irqrestore(&iommu->intremap.lock, flags);
 
-    return 0;
+    return alloc ? 1 : 0;
 }
 
 int cf_check msi_msg_write_remap_rte(
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 77a514019cc6..984f0735d4a9 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -435,6 +435,12 @@ extern struct page_list_head iommu_pt_cleanup_list;
 bool arch_iommu_use_permitted(const struct domain *d);
 
 #ifdef CONFIG_X86
+/*
+ * Return values:
+ *  - < 0 on error.
+ *  - 0 on success and no need to write msi_msg to the hardware.
+ *  - 1 on success and msi_msg must be propagated to the hardware.
+ */
 static inline int iommu_update_ire_from_msi(
     struct msi_desc *msi_desc, struct msi_msg *msg)
 {
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 10:33:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 10:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906392.1313838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1traS6-0000W7-4J; Mon, 10 Mar 2025 10:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906392.1313838; Mon, 10 Mar 2025 10:33: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 1traS5-0000W0-Vb; Mon, 10 Mar 2025 10:33:41 +0000
Received: by outflank-mailman (input) for mailman id 906392;
 Mon, 10 Mar 2025 10:33:40 +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 1traS4-0000Va-25
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 10:33:40 +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 1traS2-00CcTB-2b;
 Mon, 10 Mar 2025 10:33:38 +0000
Received: from [2a02:8012:3a1:0:f9cf:8834:13d9:5b3]
 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 1traS2-001LD3-0P;
 Mon, 10 Mar 2025 10:33: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>
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=II7IGNZsyPxgOzZ4c+h+XyTaC4qq+sjtSfQHfeRBrg4=; b=TCVrYtH1qLrQ4iLnkMfD+/OvWh
	bqB64ULF1H0VgDDFRnMrJsRNXEjoXQblama9eBQ5nhiAV5eCzBybRFU1NEfgM0mLGCQ0EAF/qAYEI
	ZnhMSgGa6PRXwqbeOIg8Oi6q1pRBXa1CeCb1y8vRD4AnbR92RBsWxvPajW6DWmpX3/1k=;
Message-ID: <8cddfc99-391a-4500-a1af-6e5f4d2d18da@xen.org>
Date: Mon, 10 Mar 2025 10:33:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] PCI: drop pci_segments_init()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony Perard <anthony@xenproject.org>
References: <4ada4343-c65b-456d-b0c2-9ae59937aaff@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <4ada4343-c65b-456d-b0c2-9ae59937aaff@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 26/02/2025 11:38, Jan Beulich wrote:
> Have callers invoke pci_add_segment() directly instead: With radix tree
> initialization moved out of the function, its name isn't quite
> describing anymore what it actually does.
> 
> On x86 move the logic into __start_xen() itself, to reduce the risk of
> re-introducing ordering issues like the one which was addressed by
> 26fe09e34566 ("radix-tree: introduce RADIX_TREE{,_INIT}()").
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This is entirely optional and up for discussion. There certainly also is
> an argument towards keeping the function. Otoh on Arm there is the still
> open question whether segment 0 really is kind of special there (as it
> is on x86, largely for historical reasons), or whether the code can be
> dropped there altogether.

Looking at the discussion between you and Stewart, it looks like we need 
to keep the call for now. Once we have the downstream patches merged, we 
can remove it. So:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 10:36:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 10:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906403.1313850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1traVE-0001DD-Dl; Mon, 10 Mar 2025 10:36:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906403.1313850; Mon, 10 Mar 2025 10:36: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 1traVE-0001D6-BH; Mon, 10 Mar 2025 10:36:56 +0000
Received: by outflank-mailman (input) for mailman id 906403;
 Mon, 10 Mar 2025 10:36: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1traVD-0001D0-8L
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 10:36:55 +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 94cb25c5-fd9b-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 11:36:53 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3913fdd0120so745949f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 03:36: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-3912bfba87csm14800007f8f.17.2025.03.10.03.36.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 03: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: 94cb25c5-fd9b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741603012; x=1742207812; 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=xxruKh367t5nmxEuw1EmnVaO6W08iJH00rfq67GMJVY=;
        b=AxVvAfIUL6ESgOcoedCVyYtSVPfN96UZ2DUrHp1By2EQ1A6FuijfnnM2EKtZnSoTpr
         zWXos9RYuQpMrBYVev/XFlpaktP3XdT1zfEH4QdqW373vSOyLEcN7vcj6Y84BdBhDi5j
         8nhTloa5qJ1/n4VteofczXV4eed6Ou4Nv4V+V4L4DWivygvrJtit0RnTqbGLpNTy00s4
         H392OWhJmrRosgnxwVAVnUhB5nQAo5cbnsZFXSEnp65r8fm5sGTNgQQj7Gxv/Nz2Ga9P
         h/x2bMQ4V0FpbKKYAHRBE3MozplFSgMa5E6joBpf3wuoQoivldLwdQi61nECHY/4Q2gy
         nu3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741603012; x=1742207812;
        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=xxruKh367t5nmxEuw1EmnVaO6W08iJH00rfq67GMJVY=;
        b=lmVNL2Y3zLpFODcIIaQpxZVTB1HtVzHzwT2n5GGZH+LtwG8LhgPz/S5z05W9WbFZV7
         lGD9w8iwHRwiWfxUOrT3NJkeUSyZABgF4LNeRX34Xm3UTGW5GPq7Vak/qvCwMtBfuUlo
         LNiz5Z0mVvB/4j4JEDysCgRF4oPt29yWWUA7TIsOZJ2lh9pg6wG3OIRrHJyONAKvM5OJ
         OaaYXFbJcsetyAzHdbJEHvap1Pf29rtFigWfV8kAD+mGU73kUTY96BfUK1G4adm7XKfO
         oKdrN7MvQ1kmGUarVVnRe0tJtcxS2VTNmm9b/1MjhgtziEX2U9ENVWBF0psM2BXODFrA
         8YuA==
X-Forwarded-Encrypted: i=1; AJvYcCXQsAr32qjLHzDaaSgePywy/fqcskHQEYVoggOilapFymZLcByjklzOxOFsTsN9UUclGZE/sTH6yTY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwF78a0dny1DF5Jg2+ew1JTjr6EgeKyzo89UJAZaDmwGanZSRd7
	eJyMFnuuipEe4ExYnOOTQHopheZL2SLx2+/b7Y7XthGQ+Vs5lJKWDo1z6ka95A==
X-Gm-Gg: ASbGncvaMecp4mJ5v9iH9UGcvyZd3ULycc6SCgcGXQKUprsX5QVdrDHDzhifejCzfF3
	KTy8GrfeIpdAN3GsSl+BgfwdpnuAaE5TScVv9IpkXpwPdJxmgtCRBkactCqWx10cvM4DgSALmSZ
	24Kz9ICvXYnbBdiNHKorlQQ8z+pZo1H5p2K9JAhH/qRQlZpjT1ig7GTb6QrDivGpm5pjj1EwCQt
	7KIiygR942f87pjqkGbLOTCU0obtoVYtxfLRt/SiSSAKH0ZCQ1l4lvbclJ+0AtnAkAMZ1j+hZ0w
	PmxlOkAg/akvSu7+1K+cVMnEcdpRczaXSbVys0ZMzyi1/6HThUfQDkmsxNCpsibKF3uaGCjrrnK
	yQNZqGRMo5ruhf44+wiKLpYV8xw56ng==
X-Google-Smtp-Source: AGHT+IGeO4yTGC58MRRmlIHR6sIaf6azf5UDzV10+C64R/ID3UhTXRCb57T0ZMe2PAf1SmAnrzQ25A==
X-Received: by 2002:a05:6000:144d:b0:38f:503a:d93f with SMTP id ffacd0b85a97d-39132d9908fmr7003530f8f.40.1741603012535;
        Mon, 10 Mar 2025 03:36:52 -0700 (PDT)
Message-ID: <c037b420-d732-45fd-adc5-12792c1bc187@suse.com>
Date: Mon, 10 Mar 2025 11:36:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/hvm: add HVM-specific Kconfig
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250207220302.4190210-1-dmukhin@ford.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: <20250207220302.4190210-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.02.2025 23:03, dmkhn@proton.me wrote:
> Add separate menu for configuring HVM build-time settings to help organizing
> HVM-specific options.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

I think it would be nice if "organizing" was further qualified, to really see
_why_ the change is being made. A particular benefit that Roger points out is
that this way all HVM-dependent options moved here will then appear in a sub-
menu like fashion in the tool.

> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -30,7 +30,6 @@ config X86
>  	select HAS_SCHED_GRANULARITY
>  	select HAS_UBSAN
>  	select HAS_VMAP
> -	select HAS_VPCI if HVM
>  	select NEEDS_LIBELF

As said before, personally I'd prefer if this didn't move.

> --- /dev/null
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -0,0 +1,73 @@
> +menuconfig HVM
> +	bool "HVM support"
> +	depends on !PV_SHIM_EXCLUSIVE
> +	default !PV_SHIM
> +	select COMPAT
> +	select HAS_VPCI
> +	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
> +	  guests which have no specific Xen knowledge.
> +
> +	  This option is needed if you want to run HVM or PVH domains.
> +
> +	  If unsure, say Y.
> +
> +if HVM
> +
> +config AMD_SVM
> +	bool "AMD-V" if EXPERT
> +	default y
> +	help
> +	  Enables virtual machine extensions on platforms that implement the
> +	  AMD Virtualization Technology (AMD-V).
> +	  If your system includes a processor with AMD-V support, say Y.
> +	  If in doubt, say Y.
> +
> +config INTEL_VMX
> +	bool "Intel VT-x" if EXPERT
> +	default y
> +	select ARCH_VCPU_IOREQ_COMPLETION
> +	help
> +	  Enables virtual machine extensions on platforms that implement the
> +	  Intel Virtualization Technology (Intel VT-x).
> +	  If your system includes a processor with Intel VT-x support, say Y.
> +	  If in doubt, say Y.

Perhaps not to be done right here, but still: I guess the "default" of these
want to change to use AMD / INTEL respectively. While we permit enabling the
virt extension support separately, generally there's little point doing so
by default when the corresponding CPU support code was disabled.

> +config ALTP2M
> +	bool "Alternate P2M support" if EXPERT
> +	depends on INTEL_VMX
> +	default y
> +	help
> +	  Alternate-p2m allows a guest to manage multiple p2m guest physical
> +	  "memory views" (as opposed to a single p2m).
> +	  Useful for memory introspection.
> +
> +	  If unsure, stay with defaults.
> +
> +config MEM_PAGING
> +	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
> +
> +config MEM_SHARING
> +	bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
> +
> +config HVM_FEP
> +	bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
> +	default DEBUG
> +	help
> +	  Compiles in a feature that allows HVM guest to arbitrarily
> +	  exercise the instruction emulator.
> +
> +	  This feature can only be enabled during boot time with
> +	  appropriate hypervisor command line option. Please read
> +	  hypervisor command line documentation before trying to use
> +	  this feature.
> +
> +	  This is strictly for testing purposes, and not appropriate
> +	  for use in production.
> +
> +	  If unsure, say N.

Please can this move ahead of at least the two MEM_* ones, maybe even ahead
of ALTP2M?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 10:51:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 10:51:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906416.1313861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1traj5-0006lh-O2; Mon, 10 Mar 2025 10:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906416.1313861; Mon, 10 Mar 2025 10: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 1traj5-0006la-Ke; Mon, 10 Mar 2025 10:51:15 +0000
Received: by outflank-mailman (input) for mailman id 906416;
 Mon, 10 Mar 2025 10: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1traj4-0006lU-93
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 10:51:14 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 948d1454-fd9d-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 11:51:11 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso9220255e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 03: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
 5b1f17b1804b1-43cf6c74f38sm33861315e9.20.2025.03.10.03.51.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 03: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: 948d1454-fd9d-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741603871; x=1742208671; 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=wzmehQ4pIDj8/sRLN/NhOagiHJebn3c57Zcma0dsm/M=;
        b=fvJ9IIWZ6fpWAbDk1N30AFPT7Ck07+TjVVEZ2BU9rZB25KVU6SFQz3D6PvFAfNSinA
         B/RLqMGA+4um8Y4dxc3zD4yp11fnsmvnZrvjboWP20HPF7yiI3QyhaOcNuM8Mgn92rfa
         AYT9kIRFh/G5qkZEV7aVkHXYHzf3BgneSklh4FWYbYUtP1AbRBv7Rzthnaz3ieca1ewg
         tqih9/9dB+9j9H1M0P6KoEA0pIUYM76uAQf9t3kSJsf/5AMB0bHxdgppg2GxxISYQVjj
         u8gL0oJgeNH/Jbj20e5KradbMEdQb2eaoxrNcyERd3285Ava+tj96jHW0Ic+8Ci/V2pq
         3VfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741603871; x=1742208671;
        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=wzmehQ4pIDj8/sRLN/NhOagiHJebn3c57Zcma0dsm/M=;
        b=LrU+wu6+JgP6Ib0LR+g8UVS6mGNqzzDDrumdIutDFTauJVuwzUxuE48FPPJ8wnTNhk
         2ndGJ2VzC9MwGkO9NZk8uYIHn2Dz7tYWsdnfEQDMCQVgSneULeAH5YdJvH94nBqPBWhB
         gsSIBp4LPqviAPGw57kH2kyKqcVQvXmlgT6BhE8IeFVV71Uu+Y2MEslGVK0IG5Ve1me+
         DpBPxShrv3V69sk3Dnq96vnKQ2BhUp9Ucxbp/xVJ8nTHPSakVaoJztfV7/jwOpj7J2mT
         +RjyrP+rK9/4s8QITupwOxokdU3TYGEcEKGl8v4FgKz27qs/aSnGIeM6r5Uuw8BXAELK
         LJpQ==
X-Forwarded-Encrypted: i=1; AJvYcCXJgy958mpKkQELQJXSSvtpRnH9HiTesMOrihDIfNPyuOfKnri14iGGc/r0k1o92HRDmTOROh/qv2c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwIn+OtuaJzDtc6C80p34InxI29RNvMMKD0Nc/12ABlrMipNbTO
	sG3no0CT0uhbm+Ivt7xf58EZAmfsh34Drtjs8+ADmiamt7blUvoh/H7H6UIFDA==
X-Gm-Gg: ASbGnctvO5kZ91FMETaQB148p79p93ZCTKmVZ6TIaebogA7X7sVB9nGi07U2SnBDl/z
	P48UoCDAeK3J6qZmrqPm7s/jMHSUAGtEn7VuQOVf0Nxxwr3NDLJbbZCGzvJs2LKivjCzT2+EYg1
	Bz+2FNeaE+M03DoGiXYkS2aAFpeVR609bNNIjjV15TVRpnYbCTJMR4A29LFi2m89La6kzXMOvHo
	hR0GhDE34DCWQ0dqXmWdQYo0oKOr3y0sC0CEm0InY9CcYIUkecUzfKlQwW7o1hLH2a+rfT4LOSc
	ujhnzS0qhWX7w+yJBZPV/e+lZ80YYVXW1xAVhZGz5TtHk0hwxNn6IQcpJm5p4R70Gv/Uj7/xQn1
	Swlli5rrTne+dWC1tLTimYd/9c7kZOA==
X-Google-Smtp-Source: AGHT+IFplJVqNIfE6TPtDRpiNXOvhW5YCRHQHQfoxxZb0bwAwbtP7ofueGlSXQuZoxZr1J3Xyt7Fnw==
X-Received: by 2002:a05:600c:46ca:b0:439:88bb:d002 with SMTP id 5b1f17b1804b1-43c5a629b5bmr76113665e9.23.1741603871123;
        Mon, 10 Mar 2025 03:51:11 -0700 (PDT)
Message-ID: <507eef19-92ff-44ca-bd0a-86299949c03b@suse.com>
Date: Mon, 10 Mar 2025 11:51:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] x86/iommu: avoid MSI address and data writes if
 IRT index hasn't changed
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20250310095535.46033-1-roger.pau@citrix.com>
 <20250310095535.46033-3-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: <20250310095535.46033-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.03.2025 10:55, Roger Pau Monne wrote:
> Attempt to reduce the MSI entry writes, and the associated checking whether
> memory decoding and MSI-X is enabled for the PCI device, when the MSI data
> hasn't changed.
> 
> When using Interrupt Remapping the MSI entry will contain an index into
> the remapping table, and it's in such remapping table where the MSI vector
> and destination CPU is stored.  As such, when using interrupt remapping,
> changes to the interrupt affinity shouldn't result in changes to the MSI
> entry, and the MSI entry update can be avoided.
> 
> Signal from the IOMMU update_ire_from_msi hook whether the MSI data or
> address fields have changed, and thus need writing to the device registers.
> Such signaling is done by returning 1 from the function.  Otherwise
> returning 0 means no update of the MSI fields, and thus no write
> required.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with two purely cosmetic suggestions and an only loosely related question below.

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -415,7 +415,9 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
>  
>      ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
>  
> -    return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
> +    rc = iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
> +
> +    return rc < 0 ? rc : 0;

Only tangential here, but: Why does this function have a return type of
non-void, when neither caller cares?

> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> @@ -492,7 +492,7 @@ static int update_intremap_entry_from_msi_msg(
>                 get_ivrs_mappings(iommu->seg)[alias_id].intremap_table);
>      }
>  
> -    return 0;
> +    return !fresh ? 0 : 1;
>  }

Simply

    return fresh;

?

> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>                                              &msi_desc->remap_index,
>                                              msg, &data);
> -    if ( !rc )
> +    if ( rc > 0 )
>      {
>          for ( i = 1; i < nr; ++i )
>              msi_desc[i].remap_index = msi_desc->remap_index + i;
> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -506,6 +506,7 @@ static int msi_msg_to_remap_entry(
>      unsigned int index, i, nr = 1;
>      unsigned long flags;
>      const struct pi_desc *pi_desc = msi_desc->pi_desc;
> +    bool alloc = false;
>  
>      if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
>          nr = msi_desc->msi.nvec;
> @@ -529,6 +530,7 @@ static int msi_msg_to_remap_entry(
>          index = alloc_remap_entry(iommu, nr);
>          for ( i = 0; i < nr; ++i )
>              msi_desc[i].remap_index = index + i;
> +        alloc = true;
>      }
>      else
>          index = msi_desc->remap_index;
> @@ -601,7 +603,7 @@ static int msi_msg_to_remap_entry(
>      unmap_vtd_domain_page(iremap_entries);
>      spin_unlock_irqrestore(&iommu->intremap.lock, flags);
>  
> -    return 0;
> +    return alloc ? 1 : 0;
>  }

Like above, simply

    return alloc;

?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 10:58:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 10:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906425.1313870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1traq7-0007PP-CM; Mon, 10 Mar 2025 10:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906425.1313870; Mon, 10 Mar 2025 10:58: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 1traq7-0007PI-9m; Mon, 10 Mar 2025 10:58:31 +0000
Received: by outflank-mailman (input) for mailman id 906425;
 Mon, 10 Mar 2025 10: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=sahL=V5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1traq5-0007Ou-Uq
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 10:58:29 +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 988556ca-fd9e-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 11:58:27 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so23191805e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 03:58: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-43cfc02e8bfsm10019165e9.1.2025.03.10.03.58.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 03: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: 988556ca-fd9e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741604307; x=1742209107; 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=M7NUsoZ3YDpgxf0kMho0qHQQ0xPqGzRseuU60Jh2/Vs=;
        b=fwB55Jbnfv0C561GPdrSjgtkg0LLE2YZxLeh5+nI7J726sy9+IbV/0dvmZ1E8RiGoE
         WHp6mzskcVlL+W2+6KFWqyutNU2vskHxiw8E0ying4gBQnPo2+3fxVgH44JueKQhODRb
         bXExnMRrW70eKVsFtoxPSgcTHD1UrkV+LuOGjRxAMX3J8CNoI7bxdJbuMn7lV82jEKeK
         VPDYmTBf77c/KtiAKVOSQsVwxE+mywQ3HSGHzZm/RFG6cw7VDgF9DNMPzUiLAUH/8Dh2
         TxMvCV8oUDvipy4Ec9qMaeEzEAJqLx7+yiF3bsceYoF/A20XSslhiZqozPc4SVLyAwFk
         sc5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741604307; x=1742209107;
        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=M7NUsoZ3YDpgxf0kMho0qHQQ0xPqGzRseuU60Jh2/Vs=;
        b=Tzw8C37ErccRZ4t/ujt+aUiGUAhCQFip8bFQa/Kk0jMlVxL+evtbCwHTcU1TSQg87r
         nslYrRF9DBsvRljCZuBQz6FUFbLGzGyK51620554j3y5ZnvA836wcNymLDuAKMVDlMnW
         mBtxI8hpiLEuVc5Pz/w59Mh1uP3kI/waPc7I1moKR6Kwzwj5whQx6NPBVDGAI4mQUVIb
         GXtRu1F8S6B6hzVweHQI+GAqY+58KhkTwdOirBIzBKdCqAk88dABeTnBxxrQTlnuUQMn
         LjuiLrx4JG4ifU5uyCMnqyC8Bbc5S7JV/MbJV/w87ffYW4WtDz3Um62Mrnw+k0JwhSYc
         wBnQ==
X-Forwarded-Encrypted: i=1; AJvYcCVzvpfoOeun/6EPr7bs30AkuzRZtME01oemhwxrL40Xl3PAidC4UWjWAgkrcg3l7RNq60bXL244PZc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFWEmsSiYCgSWNVc7dyDAIuJLDy2qcAXRxfiW2Yn+4mTLDioed
	aGLwttQunOxYinlBlWW8JuUAyCw2ipcQZGHgVTY8cMDLydQs5K68dlsGK6WQHw==
X-Gm-Gg: ASbGncsjWo7wk+lXTaiKgDmEotDm1T4QH5TV9Dh4tT6we6qpw5itEvuyymyFLM3K9Wp
	WPDOhPZHJdWmhUxGOhlQHWekYDtyaMz2S3Yq3Hp1XTeM3yah70oo4pEwVcjo5lpGPhQ4LL6Svn4
	musnxVUjcnW07SkGrdYwgaVrCnQOqFHxTvxfXIajQtXhvmmCszx5BgnhGuy22BlW9VOQ+O/L0UH
	TzZpGGWYTRKpgPsMJ2PzJSNtpDIfuN9zn+owc7J/m7g8hw58/j3wIZeIiWKqAsQF/jggDYMoKMB
	ErFYzAy3wCLdbv5/grRAqZ7+EkgRTg7rvSFJoskcZmSwJY0EO9QTQe7KxeQLC5BAVzAL/a6Gh89
	Jg6HBTW2GuhpVAOT7XCpCIXDrOOO/rg==
X-Google-Smtp-Source: AGHT+IEc3V2k68rcGEzv5Uk7jGHAOA5Ns2LegZDIzMkv700iJ542xID08Acj6a26RgcOXLrLYjOk8Q==
X-Received: by 2002:a05:600c:19cd:b0:43c:f1b8:16ad with SMTP id 5b1f17b1804b1-43cf1b81b78mr28990245e9.30.1741604307261;
        Mon, 10 Mar 2025 03:58:27 -0700 (PDT)
Message-ID: <15510eaa-021a-4d7f-8756-c6abdf631dce@suse.com>
Date: Mon, 10 Mar 2025 11:58:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/2] xen/passthrough: Provide stub functions when
 !HAS_PASSTHROUGH
To: Luca Fancellu <luca.fancellu@arm.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>
References: <20250307075818.740649-1-luca.fancellu@arm.com>
 <20250307075818.740649-2-luca.fancellu@arm.com>
 <9a257d60-3047-4d8a-b461-ce793d5f89e8@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: <9a257d60-3047-4d8a-b461-ce793d5f89e8@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.03.2025 10:09, Julien Grall wrote:
> Hi Luca,
> 
> On 07/03/2025 07:58, Luca Fancellu wrote:
>> When Xen is built without HAS_PASSTHROUGH, there are some parts
>> in arm where iommu_* functions are called in the codebase, but
>> their implementation is under xen/drivers/passthrough that is
>> not built.
>>
>> So provide some stub for these functions in order to build Xen
>> when !HAS_PASSTHROUGH, which is the case for example on systems
>> with MPU support.
>>
>> For gnttab_need_iommu_mapping() in the Arm part, modify the macro
>> to use IS_ENABLED for the HAS_PASSTHROUGH Kconfig.
>>
>> Fixes: 0388a5979b21 ("xen/arm: mpu: Introduce choice between MMU and MPU")
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>> v4 changes:
>>   - re-introduced stub for iommu_use_hap_pt, Stefano suggested
>>     it is ok to have it in iommu.h.
>>   - Reworded comment in iommu_domain_init from Jan suggestion
>>
>> v3 Changes:
>>   - removed stub for iommu_use_hap_pt, another solution will be
>>     done for the instance in common arm code.
>>   - Moved a comment close to the macro it was referred to
>>   - add comment to iommu_domain_init() stub
>>   - modified commit message
>>   - Add fixes tag
>>
>> v2 Changes:
>>   - modify gnttab_need_iommu_mapping to use IS_ENABLED
>>   - removed macro that didn't allow some of the parameter to be
>>     evaluated
>>   - Changed commit message
>> ---
>> ---
>>   xen/arch/arm/include/asm/grant_table.h |  5 +--
>>   xen/include/xen/iommu.h                | 50 +++++++++++++++++++++++++-
>>   2 files changed, 52 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h
>> index d3c518a926b9..c5d87b60c4df 100644
>> --- a/xen/arch/arm/include/asm/grant_table.h
>> +++ b/xen/arch/arm/include/asm/grant_table.h
>> @@ -73,8 +73,9 @@ int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
>>   #define gnttab_status_gfn(d, t, i)                                       \
>>       page_get_xenheap_gfn(gnttab_status_page(t, i))
>>   
>> -#define gnttab_need_iommu_mapping(d)                    \
>> -    (is_domain_direct_mapped(d) && is_iommu_enabled(d))
>> +#define gnttab_need_iommu_mapping(d)                                     \
>> +    (IS_ENABLED(CONFIG_HAS_PASSTHROUGH) && is_domain_direct_mapped(d) && \
>> +     is_iommu_enabled(d))
>>   
>>   #endif /* __ASM_GRANT_TABLE_H__ */
>>   /*
>> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
>> index 77a514019cc6..5ac038521e23 100644
>> --- a/xen/include/xen/iommu.h
>> +++ b/xen/include/xen/iommu.h
>> @@ -110,6 +110,8 @@ extern int8_t iommu_hwdom_reserved;
>>   
>>   extern unsigned int iommu_dev_iotlb_timeout;
>>   
>> +#ifdef CONFIG_HAS_PASSTHROUGH
>> +
>>   int iommu_setup(void);
>>   int iommu_hardware_setup(void);
>>   
>> @@ -122,6 +124,28 @@ int arch_iommu_domain_init(struct domain *d);
>>   void arch_iommu_check_autotranslated_hwdom(struct domain *d);
>>   void arch_iommu_hwdom_init(struct domain *d);
>>   
>> +#else
>> +
>> +static inline int iommu_setup(void)
>> +{
>> +    return -ENODEV;
>> +}
>> +
>> +static inline int iommu_domain_init(struct domain *d, unsigned int opts)
>> +{
>> +    /*
>> +     * Return as the real iommu_domain_init() would: Success when
>> +     * !is_iommu_enabled(), following from !iommu_enabled when !HAS_PASSTHROUGH
>> +     */
>> +    return 0;
>> +}
>> +
>> +static inline void iommu_hwdom_init(struct domain *d) {}
>> +
>> +static inline void iommu_domain_destroy(struct domain *d) {}
>> +
>> +#endif /* HAS_PASSTHROUGH */
>> +
>>   /*
>>    * The following flags are passed to map (applicable ones also to unmap)
>>    * operations, while some are passed back by lookup operations.
>> @@ -209,6 +233,8 @@ struct msi_msg;
>>   #ifdef CONFIG_HAS_DEVICE_TREE
>>   #include <xen/device_tree.h>
>>   
>> +#ifdef CONFIG_HAS_PASSTHROUGH
>> +
>>   int iommu_assign_dt_device(struct domain *d, struct dt_device_node *dev);
>>   int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev);
>>   int iommu_dt_domain_init(struct domain *d);
>> @@ -238,6 +264,26 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>>    */
>>   int iommu_remove_dt_device(struct dt_device_node *np);
>>   
>> +#else
>> +
>> +static inline int iommu_assign_dt_device(struct domain *d,
>> +                                         struct dt_device_node *dev)
>> +{
>> +    return -EINVAL;
>> +}
>> +
>> +static inline int iommu_add_dt_device(struct dt_device_node *np)
>> +{
>> +    return 1;
> 
> I would suggest to add a comment explain what 1 means. IIRC, this means 
> "no iommu" present.
> 
> Other than that:
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

Then also
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 11:30:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 11:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906439.1313881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trbLL-00058F-Q3; Mon, 10 Mar 2025 11:30:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906439.1313881; Mon, 10 Mar 2025 11:30: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 1trbLL-000588-Mg; Mon, 10 Mar 2025 11:30:47 +0000
Received: by outflank-mailman (input) for mailman id 906439;
 Mon, 10 Mar 2025 11:30: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=mVaD=V5=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1trbLJ-000582-SV
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 11:30:45 +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 1ac5e3b9-fda3-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 12:30:44 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e033c2f106so4459888a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 04:30:44 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2817467f4sm355041266b.172.2025.03.10.04.30.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 04:30: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: 1ac5e3b9-fda3-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741606244; x=1742211044; darn=lists.xenproject.org;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2OQxnETLuidWx1OD1p8lJ/SqXzDhcjHPLsYZrwDUKfw=;
        b=ZsoP0mzvv0s8yI1X+vE3L+cWdhuQ6DYZJ3gjyB9qbLb2B0UB0Yt4FITKdxKZbX4kw1
         AskXiOxVs0V2Xr5NXIpBQszTK8f4uZHjXoSyhXXWEAXJqtJRJZHXkB3RvuEmtx5+zrkT
         wOnlY3VhAgjLoNdMNyrIM+IMp1ZGO5s1cmpOk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741606244; x=1742211044;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=2OQxnETLuidWx1OD1p8lJ/SqXzDhcjHPLsYZrwDUKfw=;
        b=mO/XB1FkEXJaWcpKAYnQffKjm/kp0qMYOFnZL95goV2GgJvHtxZuMM39liwg8ijLJJ
         SK8hTgVim9qhf+HdjoexbCTAaPhcdSQDMgZr8CPgO54rn7tJT2gLQwBlgegqAtQqqmhM
         dT4RERdkskQSWqsWmpRo8+DODtdUdYjwaBDl+pFqU99ljXVpGBxoi57Ep0jypVcau/lW
         1JunMUVzgSrfhWDeqS8Q2bCR+XcPHg0ik+mOYOM3itWXltUBpXle6eT85hASAZKw3u+U
         /GO+r49bASlfom3/1qEsg4xUzAzbVidCD2bDHMXRvcwqmXvJhSIElSg15hYh+9/My8sV
         h4zQ==
X-Forwarded-Encrypted: i=1; AJvYcCV6XHHieUeWvPHdtdkyW6ldZyewWAMwUFCemfdehTfkoiCOxV0baWhMFc8rOvvS/Nx3FSjocXxnte8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyCu2Cnm3qO3FEczGgis2A1WL5Xxvzk2oow/HItr63us4BWLv8J
	c2TvC7l1gFiQlR9xezBaoZq/31g3GcTjWQbdQCRpg9IPQeBYRukkH80ehUp0ols=
X-Gm-Gg: ASbGncslRObfcKnjJaTdPtqndBOBz/pdfcpZkG4EcBZyitz2J24m+TAzFQVDmEf3IcC
	9m7CVE9nGJVMRqAUdJuQdTlpLZW5rfxozZ0ryyDxt0Mkv6TJ4Jx1q2k0cEwuirX/UpsdGEi9VX0
	rUw8s3gtXSi9yEQZhMEnQ5o27xEBFhARDmgrHRN+9a+/JgPfJFMmoNjvTto8D+C+qGk1xZ3Z62Q
	50mti4C4UNuqIuc/8kF41/f3Ob9oshzA9x/YCs3/G+6am9+bl/HrEUKdGLXGcn35QqfR/Sn+w+m
	88Ewh1h9/opvCAy6z2UHMCRBTEkv7fV3DMGbSyzx/Q8kPh9/7HA=
X-Google-Smtp-Source: AGHT+IGm99IJEtpbVJ9szZRAWJ9GAOJC0pfNlzjFraw6IUEuI+T2ge6Vek7i7ftUDnUWPBG7ULNo7A==
X-Received: by 2002:a05:6402:40ce:b0:5dc:9589:9f64 with SMTP id 4fb4d7f45d1cf-5e5e22be6abmr41283394a12.13.1741606243503;
        Mon, 10 Mar 2025 04:30:43 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 10 Mar 2025 11:30:38 +0000
Message-Id: <D8CJVWUM5KCZ.3PFRO6295J7NN@cloud.com>
Subject: Re: [PATCH v3 0/2] tools/hvmloader: Decouple APIC IDs from vCPU IDs
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
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>, "Anthony PERARD"
 <anthony.perard@vates.tech>, <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250204173120.56598-1-alejandro.vallejo@cloud.com>
 <c72e7407-4b2c-460d-a425-a8c056a23a26@suse.com>
In-Reply-To: <c72e7407-4b2c-460d-a425-a8c056a23a26@suse.com>

On Mon Mar 10, 2025 at 8:33 AM GMT, Jan Beulich wrote:
> On 04.02.2025 18:31, Alejandro Vallejo wrote:
> > v2->v3:
> >   * Moved "extern uint32_t *cpu_to_apicid;" to patch1
> >=20
> > v2: https://lore.kernel.org/xen-devel/20250204144542.7399-1-alejandro.v=
allejo@cloud.com/T/#t
> > v1->v2:
> >   * Dropped patch to skip writing the MP Tables if apicid >=3D 255
> >=20
> > v1: https://lore.kernel.org/xen-devel/20250128163342.1491-1-alejandro.v=
allejo@cloud.com/
> > source series: https://lore.kernel.org/xen-devel/20241021154600.11745-5=
-alejandro.vallejo@cloud.com/
> >=20
> > The hypervisor, hvmloader and the toolstack currently engage in a share=
d
> > assumption that for every vCPU apicid =3D=3D 2 * vcpuid. This series re=
moves such
> > assumption from hvmloader, by making it read the APIC ID of each vCPU a=
nd
> > storing it for later use.
> >=20
> > Alejandro Vallejo (2):
> >   tools/hvmloader: Retrieve APIC IDs from the APs themselves
> >   tools/hvmloader: Replace LAPIC_ID() with cpu_to_apicid[]
>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Cheers!

Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 13:24:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 13:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906470.1313891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trd6n-0000Z5-Rh; Mon, 10 Mar 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 906470.1313891; Mon, 10 Mar 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 1trd6n-0000Yy-Od; Mon, 10 Mar 2025 13:23:53 +0000
Received: by outflank-mailman (input) for mailman id 906470;
 Mon, 10 Mar 2025 13: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=Hcpv=V5=eik.bme.hu=balaton@srs-se1.protection.inumbo.net>)
 id 1trd6m-0000Ys-6W
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 13:23:52 +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 e731152f-fdb2-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 14:23:50 +0100 (CET)
Received: from zero.eik.bme.hu (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 1B5624E602E;
 Mon, 10 Mar 2025 14:23:49 +0100 (CET)
Received: from zero.eik.bme.hu ([127.0.0.1])
 by zero.eik.bme.hu (zero.eik.bme.hu [127.0.0.1]) (amavisd-new, port 10028)
 with ESMTP id XvkD-BHqHTfr; Mon, 10 Mar 2025 14:23:46 +0100 (CET)
Received: by zero.eik.bme.hu (Postfix, from userid 432)
 id C9D5B4E6029; Mon, 10 Mar 2025 14:23:46 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id C787874577D;
 Mon, 10 Mar 2025 14:23:46 +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: e731152f-fdb2-11ef-9ab8-95dc52dad729
X-Virus-Scanned: amavisd-new at eik.bme.hu
Date: Mon, 10 Mar 2025 14:23:46 +0100 (CET)
From: BALATON Zoltan <balaton@eik.bme.hu>
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>
cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org, 
    Palmer Dabbelt <palmer@dabbelt.com>, 
    Daniel Henrique Barboza <danielhb413@gmail.com>, kvm@vger.kernel.org, 
    Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>, 
    Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
    David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>, 
    Paul Durrant <paul@xen.org>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>, 
    Anthony PERARD <anthony@xenproject.org>, 
    Yoshinori Sato <ysato@users.sourceforge.jp>, 
    manos.pitsidianakis@linaro.org, qemu-riscv@nongnu.org, 
    Paolo Bonzini <pbonzini@redhat.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 00/16] make system memory API available for common code
In-Reply-To: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
Message-ID: <f231b3be-b308-56cf-53ff-1a6a7fb4da5c@eik.bme.hu>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed

On Sun, 9 Mar 2025, Pierrick Bouvier wrote:
> The main goal of this series is to be able to call any memory ld/st function
> from code that is *not* target dependent.

Why is that needed?

> As a positive side effect, we can
> turn related system compilation units into common code.

Are there any negative side effects? In particular have you done any 
performance benchmarking to see if this causes a measurable slow down? 
Such as with the STREAM benchmark:
https://stackoverflow.com/questions/56086993/what-does-stream-memory-bandwidth-benchmark-really-measure

Maybe it would be good to have some performance tests similiar to 
functional tests that could be run like the CI tests to detect such 
performance changes. People report that QEMU is getting slower and slower 
with each release. Maybe it could be a GSoC project to make such tests but 
maybe we're too late for that.

Regards,
BALATON Zoltan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:08:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:08:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906483.1313904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trdo5-0007E5-2Y; Mon, 10 Mar 2025 14:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906483.1313904; Mon, 10 Mar 2025 14: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 1trdo5-0007Dy-03; Mon, 10 Mar 2025 14:08:37 +0000
Received: by outflank-mailman (input) for mailman id 906483;
 Mon, 10 Mar 2025 14:08: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=vjn7=V5=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1trdo3-0007Ds-0K
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:08:35 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2414::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25bb03dd-fdb9-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:08:33 +0100 (CET)
Received: from BN9PR03CA0530.namprd03.prod.outlook.com (2603:10b6:408:131::25)
 by SJ1PR12MB6051.namprd12.prod.outlook.com (2603:10b6:a03:48a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar
 2025 14:08:27 +0000
Received: from BN2PEPF00004FBF.namprd04.prod.outlook.com
 (2603:10b6:408:131:cafe::bf) by BN9PR03CA0530.outlook.office365.com
 (2603:10b6:408:131::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Mon,
 10 Mar 2025 14:08:27 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF00004FBF.mail.protection.outlook.com (10.167.243.185) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 14:08:27 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 10 Mar
 2025 09:08:26 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 10 Mar
 2025 09:08:26 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 10 Mar 2025 09:08:25 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25bb03dd-fdb9-11ef-9ab8-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=O9Y7Yr0UC52vmSF1VzpdUWSjsVUS4ZnTdYt4bn/UkgwDIM/mcFQ1kXopTAMsXSSV43vFlTJqK8SxxjnpYxqb+Dst/ovWr0yqwPaJZAfB1J3wfr93JX9eXc6f9XhBU1PXk9TCxwCAbfKQpOmX2WxWEPPxeLWxKf7rYNGLe6tyHFVOnyUcJW2+PiIFANeZqArFfYH2Fc1YLIj+dhCvyCRhbwiN3cM0lNZcEjWEt0fAJTYqSTsFrDWIyLfhOp2rbnFP3xPQ6lmzYs1kZL6D69aQ2SYnmkmqH2rC37iyTB4tVvMKrgVgSuhTVIfM2gRFIaRNFhe2DCmin5htyxWojQ8cLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rdEKG3qGFChkZMm+IJrY7AJtUUvY1IHQN3x+lbK+tjQ=;
 b=xph24kukvoEt1xVlGMi/mJEwzM/1uV4USQUQfLeWC0PDxZm5uTI6k7oUFlkLPEhjRqYZOJo82lZJSp4Zx3jX0iZXs3YYT3dIHrHDI0V+VItzU/h4z4NEwmMIP0eRacZb/sOp6tfaSbd5ReusC6rYyUIaDQR6xJ/y5EwT2skS+hQtFIJKUd0eTNS0xtS6t+9QNpjQM51TkmZZefutEmgeJ8CrFVvN1Owvx9K5f7zMdww6gfNqRtT8ySZgaYvymCHKSzHoMBIxGMz+hdWl+0hBl/XVeS9xesxj7aZ4N7AuAsCiDeFFqe+z1Hg4zAnRR5/dlW8VtQ67Wsqhj8GLRvfjuw==
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=rdEKG3qGFChkZMm+IJrY7AJtUUvY1IHQN3x+lbK+tjQ=;
 b=cpHLQOuFpZmNK2NuEb/HJudR64BldDfeKKEsfkAyt74EDYc8yMMKPpPLAIdYA/SpD5RwC6Jgddjaf6V1RUVdnGkEqSNZ+0lFIWEYLpWA6cw9xTbqEQJI7JOrvkjF7PP5SzDrlX/4UDHjWtji9F/CFD+Wl3t5NEj46n03mUuMcjU=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <6b23bb53-eaf5-4dc6-9192-d4a26bec290c@amd.com>
Date: Mon, 10 Mar 2025 10:08:28 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/23] xen: introduce hardware domain create flag
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-2-jason.andryuk@amd.com>
 <eca6c919-043b-4e7b-a04d-639406ca1332@citrix.com>
 <cc4e26f9-e198-4677-8873-343f49d0f1ac@amd.com>
 <75335424-eef1-4d52-a86a-caefdf4b0623@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <75335424-eef1-4d52-a86a-caefdf4b0623@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: BN2PEPF00004FBF:EE_|SJ1PR12MB6051:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e8e47e9-d23b-4f01-bce2-08dd5fdd0761
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:
	=?utf-8?B?ZFJqdW5GZFNNaW1mUjF6UGt5OU9ad0Y0VzVQdERvZ2dzclRKRjk5UExaZlRY?=
 =?utf-8?B?ZUVZTnN1ejBudm5QeHBLWWtTTzFnb013c0xTdWNoVU95SjZpWHV3NlI2amU3?=
 =?utf-8?B?UWUyMmhCbEFYbEhHVUVuM0ZLRXovS2Y0YzFCTTM5N1IrcVN5cEdSVUJTQlpa?=
 =?utf-8?B?L2NQbG9CSEFNbDg0RTBEL0tzS2lMMnVQU2wxUTdoUzlpWnFqS0pWSDRnQnRL?=
 =?utf-8?B?V3BOV0ZDaU53S3A1MmJzYzN0REJLQkpSV2NqeUxSVkpxREp3Ylh6Mm1QWUhJ?=
 =?utf-8?B?WjZ2Nzl3WU5ad1V0SEx4NVdWQ2wwL0Zpd1NHSER6d2N4cmMydHF0YlBBS1dQ?=
 =?utf-8?B?R0NodEZMcXFWTEFOV1MyVFZMK1dQcG4yeTVaSVJSOU9tZnp1UkN5aUJ5aDgz?=
 =?utf-8?B?M2lYdDNENkNIS04ySnFTQ2VqcDB3aEFUdUIyZ3g1UGkxWVA2S0VIL1lyOGh5?=
 =?utf-8?B?ck5iM3Z4L05mWXdrRUc5ZXFGWHZpNmdoTVNtN1JROWh4Qld3N0RKYmVSR0Yy?=
 =?utf-8?B?Skh3UVVXcjJIUmNZeHIvVm9DMnpQRjNtV0U0UzBKS0toT01ycGMwNitVbmhG?=
 =?utf-8?B?emZFbEJubHZ2cU1vSWhUbGRNa3pqdDdEUmhwV2dIbmlxTjhoSHpELzZqWlU4?=
 =?utf-8?B?SnJUVm9WNzZUVnZSYXIzQTJDbytEVmVjY0VqaEk0RklpWjEwSkpwWStDeWR0?=
 =?utf-8?B?YThtaVhSdDJoTDFXNVNVVFNvcW91bnVjSGp6Q1R3U2Mzazg0NkZzTjF5NFFW?=
 =?utf-8?B?NHRNYWpudmtZWnZTQnIwU1JnbTlXUW5Na2MyMTRicWY1a0NiUVllNFhQMHZi?=
 =?utf-8?B?SEhEQVIxbnFBVGl4d25UTjI3a081UEpTMnBnTi9QNm5vUzVwU3l3OWd1dVBJ?=
 =?utf-8?B?aGhvSE1WbkRsVGdKU01kZG5tZUoydkNjNzE0eXI0LzlEUUdCV09XTUZjYlk5?=
 =?utf-8?B?NkNrOE9oMGY1cEVBeGd5amJMeFhrZFVWMU5TNFpVSHRXRTBKb3NNYW1RMm9D?=
 =?utf-8?B?RHhNY1liMWxWWVhjSis5a2c2Vy9FdlNBcGZyeWY0eEFhRjhMc05Ud3NYYnN2?=
 =?utf-8?B?eUpVTk4wNzNiTnNEZ1RwdFFiVlJQeEdmWWhvY0RrSU1qcWIycUY5NS9aazJ3?=
 =?utf-8?B?THd0NS9uTHJ4ekJoeE9xUXBEYmpxTndsWStGZ1ZoUDhSZVZRS096MVYvNHND?=
 =?utf-8?B?MXJPV2kxbkFWd2hHY0lGL2RkS2t6eEEycGJBeTJjdVkyeSsyVlVlYmJ5dDVr?=
 =?utf-8?B?emgweWNKYjFIL3IwSk12NDdNamY5TytEV3RHTmdyNm5MSVlIOGdMcXE1TzI5?=
 =?utf-8?B?QndrYVFzMlVIR29vWjVMc0hhSU9rSi9VSHNrNVVnSExoNUk0VlNVVFJQOE8w?=
 =?utf-8?B?OVNZSVE4QmF2V2g2K3U3SDEvY2tvVGxjUlVJWVQyWXlOd1l6SEJ2Z2xLR3Ja?=
 =?utf-8?B?WVExNktPMG93QXBzZ2hjbmlMTGErckYrOUJCNk9nazExOTZtTzJ6NGtsOVRv?=
 =?utf-8?B?UllHckp2TW0xUmR0dTBFdkhNRFJyN1pGVUFoRTlNeGlVL2lWOEJ3Y2FqYy9v?=
 =?utf-8?B?ek10RU5qZm9LdkZEbjlqV3JzelU4Sy93djBCRmJIR2Jza0tCaWhXMVUzY3VZ?=
 =?utf-8?B?Z2k5VVM1V3hvenU2dlZoZ3l4WUdybGFyWS9Kd21icWRjOFhSVTVlU00rSXUr?=
 =?utf-8?B?RXVCR1VJZ0JUMFYvRHpSNFZxamdjaTJLNnE3emdLcXhWQXFkYWl1ZjNTVFlm?=
 =?utf-8?B?ODczQmZsc2lUNWRxbXJFT1F0bm9ZT1d1UVM2Vlh5V0ZnTlpWQ09EVkdGdW9i?=
 =?utf-8?B?MDJNRS9yNzRFSTRBTkNUNmtGTUQ2QUxyUFA3QzI4eGtCd2ovdzA5RGFpdUNk?=
 =?utf-8?B?N3BwR3Z3QXVrbXR2V0hOMnJnOTUwbitEUktOak56aEJ0eW1uL0NwQzFTdFky?=
 =?utf-8?B?aW1TVy84T0xvSGxoZmNNaUFtd3VZRTRIR3NscU56QVhCM1ZNRGpCS2JSY21H?=
 =?utf-8?Q?Z4vazc8PWfxXis3m9XkA8dSk8ukqb0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 10 Mar 2025 14:08:27.2266
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e8e47e9-d23b-4f01-bce2-08dd5fdd0761
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF00004FBF.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6051

On 2025-03-07 11:26, Andrew Cooper wrote:
> On 07/03/2025 2:55 pm, Jason Andryuk wrote:
>> On 2025-03-06 17:39, Andrew Cooper wrote:
>>> Second, you've created a case where we can make multiple hardware
>>> domains, yet it is very much a singleton object from Xen's point of
>>> view.
>>
>> hardware_domain still remains the check for is_hardware_domain(), so
>> it's still a singleton.
> 
> Multiple domains can pass in CDF_hardware and latest-takes-precedence
> for hardware_domain.
> 
> That only exists because late_hwdom is a bodge and relies on stealing.
> 
>> A later ARM patch for the dom0less code adds a panic() if the device
>> tree defines a second hardware domains.
> 
> Another option might be to strip out late_hwdom, and do this more
> nicely.Â  I have little confidence that it works, seeing as it only gets
> touched to fix build issues.

I don't want late_hwdom to hold up ARM side changes.  I'm not using 
late_hwdom, so I'd be fine removing it.  But until Hyperlaunch is 
merged, removal seems a little premature.

> Either way, I think the common code wants to be ultimately responsible
> for refusing to create multiple hardware domains.
> 
>>
>>> But, by the end, I think we do need to have reasonable confidence that
>>> only a single domain can be constructed as the hardware domain.

Would just an addition check be okay?  Only allow the late_hwdom 
behaviour for dom0.

--- i/xen/common/domain.c
+++ w/xen/common/domain.c
@@ -704,6 +704,10 @@ struct domain *domain_create(domid_t domid,
          if ( hardware_domid < 0 || hardware_domid >= 
DOMID_FIRST_RESERVED )
              panic("The value of hardware_dom must be a valid domain 
ID\n");

+        /* late_hwdom is only allowed for dom0. */
+        if ( hardware_domain && hardware_domain->domain_id )
+            return -EINVAL;
+
          old_hwdom = hardware_domain;
          hardware_domain = d;
      }

CDF_hardware is a Xen-internal flag, so it's not something the toolstack 
can pass in.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:11:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:11:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906496.1313914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trdqY-0000VR-Ey; Mon, 10 Mar 2025 14:11:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906496.1313914; Mon, 10 Mar 2025 14:11: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 1trdqY-0000VK-CP; Mon, 10 Mar 2025 14:11:10 +0000
Received: by outflank-mailman (input) for mailman id 906496;
 Mon, 10 Mar 2025 14:11: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=vjn7=V5=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1trdqX-0000VE-4R
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:11:09 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20616.outbound.protection.outlook.com
 [2a01:111:f403:2406::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 820d5dfd-fdb9-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:11:07 +0100 (CET)
Received: from SA1P222CA0002.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:22c::9)
 by CY8PR12MB7537.namprd12.prod.outlook.com (2603:10b6:930:94::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar
 2025 14:11:00 +0000
Received: from SN1PEPF0002636C.namprd02.prod.outlook.com
 (2603:10b6:806:22c:cafe::23) by SA1P222CA0002.outlook.office365.com
 (2603:10b6:806:22c::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Mon,
 10 Mar 2025 14:11:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636C.mail.protection.outlook.com (10.167.241.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 14:10:59 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 10 Mar
 2025 09:10:58 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 10 Mar 2025 09:10:57 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 820d5dfd-fdb9-11ef-9ab8-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=C8VjdW2l8DfkiO1zMYM0QaRrd1yx6otZ5SrxOu7KDJTMwgmFJTaXmal3mREBWyvqLekq5aYU8UTXKkzS1dlS1aACXBYudg0Ufi8hdoBqgLyWM7iG47MZnry+6IJnNq7TLZurQ5oA/cku3IdIqb3ehXtkaMqy+G9jhC4NG3yeoha0q0ucrOq5mPni6vbdP6K4guxzJToqmhqhZ+lReQhP4QAHng/1TWzCZ5G8fPLF6Hjjd0tUa4eyw0R7bkrNjsvT8RtfpkG63KNkOgHoT1F32OkKlKqgir84p/hvG7hwhXAfkupoCFsuYWSGBNaN0nQJSufpsNiOKnIwM6coTKTsEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b+deBzuMaTSaOu0/9chk3pmPoKMsis3czdyUZnYOZO0=;
 b=w2B9Uy6Kwg/K9XSVX5c91DUAF6m3lMbUc6eNV+mBZY4VNy3kUIGPo/jXUSsuCE0hUvH4dANWYdSmHs2a0iu2IW9a/M+S2MwOojgrxBZwUSQB22CnNiPYs6XejYGTziPH6fXDvzlUEaMnBTsOwgfBelFzwFi+neZiqBqc/sfGk56xHHm6aoftmTHeUhOxHykfGepeCc6jbu/UxU+H5uToXQ8Vch0szso8Z1XAHdUfJ275XFkH9GwCx/d6aT1vbjR+poBz0yVeYo0LFv8TFKhK6kkb78/+KMLpXxrQHhrJ3iYZhU0GzcjsylDeCR+A7osLMEivz9mF79SPHdw/v99fOQ==
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=b+deBzuMaTSaOu0/9chk3pmPoKMsis3czdyUZnYOZO0=;
 b=S23ko/CgOP7OKIF3L61Kebo3EkG7rltjz/fOsnouPBf4qp32YB6ffAIQm06QyzOAey6Oo1V30urkcsLQjhifU9zd2wclp8WJZWCJ3IocoEy6jFIUZE8wgdxgZirrGBW5OMWvmgI2AuD/CydXP+6kYwTcJQ0t74BPxHOND3XNOXM=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <fbf002d2-c38e-43f9-8bcc-e810c10d6859@amd.com>
Date: Mon, 10 Mar 2025 10:11:01 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/23] xen/domctl: Expose privileged and hardware
 capabilities
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_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-7-jason.andryuk@amd.com>
 <813569bb-a1f7-42b0-a872-f6ecf4033880@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <813569bb-a1f7-42b0-a872-f6ecf4033880@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: SN1PEPF0002636C:EE_|CY8PR12MB7537:EE_
X-MS-Office365-Filtering-Correlation-Id: 2fe84afd-aa84-44bc-1e6c-08dd5fdd6229
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?U3VHSWtSWlVBRjNpTUJkejBveEVtbmI5M2srWVVKM0xueDBSVnRwbGlWM1ZE?=
 =?utf-8?B?MjVvT3BsaGZIVWxIZTJNRTF2SlFlVVhBaXNtcmJLaW5TeFQzUGJoY05TaVFy?=
 =?utf-8?B?Uk5DNjNCVS9hbTdGRHFLM0hYVGtiT2FIdGMxQ2czcGREc2dvSWsvS0poa3ZK?=
 =?utf-8?B?ZGFjZGRONnV0ZG5LK3hlOU1leEc3TXB4NjF4bTlvcTNaZHA1cWNqMzQ0TUZB?=
 =?utf-8?B?bEgwdUVQVG5ZenhuYS9uVjV5dzg3ajQ2eVFKQTRSVm4yQnhhWitTa0MxQmhZ?=
 =?utf-8?B?N1cwdEFDcGNqY2c2Mll6K09GVWI0RVJ2dVNQeUw0SkVRc2RVbG44KzdEbmMv?=
 =?utf-8?B?SUJ4am5Dem9iOWpsdGloMEl4RmlTTmxJOTJHaUtWc1FqSUw4cnZLZE90UDJO?=
 =?utf-8?B?SU9pQjNHNGR3dkdrUXAyWE9jc204RTVKYUEzeWxDN1ovMmFpd05lMXoxMlVH?=
 =?utf-8?B?Uk1mc2RCS2tJTitjRXR3bGVuV2VPeUxOcEI2OUFHLzNDcEhZd21qdmlrVlZJ?=
 =?utf-8?B?SG05RjB3a3c5R3JNUVpYNVcwRDNmTVdIZU5JSkV0NGplN1NxUlFMSGFZbkhN?=
 =?utf-8?B?MnByQUpaYjZVUUFEUUVuRkhSTTRnT3RCNzRGVUJyUFp1UVNiQTZFd205QUtU?=
 =?utf-8?B?YmFreS82MUF1SlFObmZ3TlBSWS8yNTZNVWtOUnBLTENZWWw0RDNXbW5SY2or?=
 =?utf-8?B?STRLU1pwM29zaklXbnJnMGhjRU9rd2FGeThXdzkyOHZNdjNGSkRCWFhGNHhZ?=
 =?utf-8?B?c3hKMFIxUUdpOWJUK3FkNnF3SHJ3VXhFTzJXcThxL1c3S0k0YTlyWkpSL3Nz?=
 =?utf-8?B?a1BZUVM0UXVZditWVEE2KzhlcFo4Y3hsUnZMQzluNFIrandhclVVSzFRbUlr?=
 =?utf-8?B?c3V4NjRsKzdKNUlSWlJjV0k5TzBPdENWdkNMdU1JSTAzV3htS3FDYjU2S0ZQ?=
 =?utf-8?B?SzJDSVExTHdlTjBIUXZyWlZjR0xUYUZKbGs2SGRWdHdPUXlBT3BjRHg1NlpH?=
 =?utf-8?B?ZXZleS84ODBmYmJFZmVLRnJiVitySER3SFFIOGIzeFJpcVN1TzgyT2VFek5L?=
 =?utf-8?B?V0ZwRm5Jb1JZSFNTcVI2NUtkRGkzT1dmTk9ycWhHeVRoZzl6dkw0NlJKY1Rv?=
 =?utf-8?B?RlFFZzdJVnBIOUMxanNaWTQ3Z3hVckQxdVVjYzlVY1lSZGFDanlkZlZBN1pj?=
 =?utf-8?B?eEJmWGpmY1dOYWhIRHdlb3pYclRFdGhia3lYRXZKT1NvaGhLOXhhbEJFaDBn?=
 =?utf-8?B?QmY4Z2xFYkUrUnY1WHFibGpjODkwR2JZZE5ycGhyVVN1VnJUajRCNE01N2I0?=
 =?utf-8?B?VEJyVEF5cUJxL0cyWWZWRVVscTlVdWhDVE16TE10WjZ1TDFUVk1MQ295Z0RB?=
 =?utf-8?B?QmVzRzAzRjhFck96d1VMdWt3ckJGNy9CNFJqSnhaUEFkdmFWTkFTdk5PVDhD?=
 =?utf-8?B?YXBNc1VhSlNXMFhsVmx5MzNoV0FsUFlOL0pPOEZZUkhDSk5aSlBvRitsek5X?=
 =?utf-8?B?VzgwMWFWVE1BMm9kTnlKVUR2SFJ4NHEyMTg0WnQ1alRZZEVFWTVxNlpsUHNa?=
 =?utf-8?B?VjIram5tanBGcW1PaGttVFBBZndIeUJ5dzBzSWt5R1NvWE5Wc0dOUEVJYk9z?=
 =?utf-8?B?Vzh4MXJQMVI5NjlxbmpVYjRSeEZlN2gzaWNXdGxqazRmR3JZZDlCYWZpZmZi?=
 =?utf-8?B?L0FIQ3JvRFVQamxxZ3NtcFVrazAxRUNJQTAvMzBwZzZZU2dSTkxBYVRpWDJW?=
 =?utf-8?B?cHlMSVFoN2lCbzJEWnFKRWswbGF3bHN3RnptblBGSDE5Y0JBUWFhd0liYUFx?=
 =?utf-8?B?QlJZNHlmd08wK1V1aE5xc3p0SUFWM3VBOEVuVHZ0Yk1pSEEwSEMvZThKMFBh?=
 =?utf-8?B?QXRjUE9sSHRDVVdGVStaK05GRFJsWFN4c2lwZkk5SUMzblBybGZ5TmlsY21V?=
 =?utf-8?B?d1FKUmsxN2dBYjNyc2ZVSTcrbVMxKzRua2VhZ29lVU8weTZTb3hzSTNLN1pi?=
 =?utf-8?B?d3pWblA4dWxnPT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 10 Mar 2025 14:10:59.4814
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2fe84afd-aa84-44bc-1e6c-08dd5fdd6229
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF0002636C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7537

On 2025-03-10 05:03, Jan Beulich wrote:
> On 06.03.2025 23:03, Jason Andryuk wrote:
>> --- a/xen/include/public/domctl.h
>> +++ b/xen/include/public/domctl.h
>> @@ -155,6 +155,12 @@ struct xen_domctl_getdomaininfo {
>>   /* domain has hardware assisted paging */
>>   #define _XEN_DOMINF_hap       8
>>   #define XEN_DOMINF_hap        (1U<<_XEN_DOMINF_hap)
>> +/* domain is hardware domain */
>> +#define _XEN_DOMINF_hardware  9
>> +#define XEN_DOMINF_hardware   (1U<<_XEN_DOMINF_hardware)
>> +/* domain is privileged */
>> +#define _XEN_DOMINF_priv      10
>> +#define XEN_DOMINF_priv       (1U<<_XEN_DOMINF_priv)
> 
> Oh, and: If we really need both constants (I doubt we do), the latter wants
> to follow style even if all of its siblings don't (i.e. blanks around binary
> operators).

Ok on this and the rename.

Why do you think they are not necessary?  I did not see a way to expose 
the capabilities for other domains.

Or do you mean if they are added to XEN_DOMCTL_get_domain_state that 
won't be necessary?

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:12:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:12:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906504.1313924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trdrx-00013T-Oo; Mon, 10 Mar 2025 14:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906504.1313924; Mon, 10 Mar 2025 14:12: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 1trdrx-00013M-MA; Mon, 10 Mar 2025 14:12:37 +0000
Received: by outflank-mailman (input) for mailman id 906504;
 Mon, 10 Mar 2025 14:12: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=vjn7=V5=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1trdrw-00013B-7g
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:12:36 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20607.outbound.protection.outlook.com
 [2a01:111:f403:2418::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b636b081-fdb9-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:12:35 +0100 (CET)
Received: from SN7PR18CA0025.namprd18.prod.outlook.com (2603:10b6:806:f3::29)
 by CH3PR12MB8355.namprd12.prod.outlook.com (2603:10b6:610:131::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Mon, 10 Mar
 2025 14:12:25 +0000
Received: from SN1PEPF0002636A.namprd02.prod.outlook.com
 (2603:10b6:806:f3:cafe::89) by SN7PR18CA0025.outlook.office365.com
 (2603:10b6:806:f3::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Mon,
 10 Mar 2025 14:12:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636A.mail.protection.outlook.com (10.167.241.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 14:12:25 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 10 Mar
 2025 09:12:24 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Mon, 10 Mar
 2025 09:12:24 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 10 Mar 2025 09:12:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b636b081-fdb9-11ef-9ab8-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wQ+cYJ7Yo4yTqKP/6HnAy/a2kq7zw2uJD7O1BmTVGzUr90RUoeIewBdrRpqKuDo3tv7rtbLCRMbFCE3jQkjLQNrP6DDQxNoJ7j1ZNdrXXKSmyPBfze1vnzVmp0z9iJxZSY+tk6EhZdvjFw+JoLxOzfn0h56E0n3i9SUA34kwEiSJKtOtVsuJXbf029Z3gUlyd++xFijwGT623ZhQGfG6mfjIlboRAr7Us3gTLh55xb+i/dWBnqk5BnGtedcz/Hc3cTWrf3oJ4ymhTN6ZbPtf224tPJR1nu6pdc2Anf89cEZSNgx9YDIdb2CaVUa+EX1cYIqrYEsmicrX9DjpDU+yoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M1Mf68D1nxUB0NHlNKf0e3ivA18nJLQbFdwBqlgWvSs=;
 b=JFqRzKsIVgMCpNxHqbarqX9PFlF/sMEgULDLR6UHmzAuhT3uqWl3e0pbe5yIB0o4O6fgFgferA893/DC20dnHRX6hsf7e+wqyJcRinKW6s0SWJZC4QrpbVoSoqik/ajZx2yMe+p0edrvzkgj7l4Mcn8N+LufykmpRJg657eUgQqFY5aftukQgEGAwSOuPNtaRb9FCA0VmzRJLtZvgtCDUNAKq3Lydm1WxYEh9sH1dixksWdR1oco/xqqk8KizVEpGqB7OjquWZcfLwOgyDU/VohGtk7LVT6AeOGFmCpEWUWDsgoCsAK/JUdQPaVQYNh6kAxWS/1hn/H2me+wh4QpHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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=M1Mf68D1nxUB0NHlNKf0e3ivA18nJLQbFdwBqlgWvSs=;
 b=JQF6k8R2zYVQhaflgZX9m/dBl6MFsWyv3xqtEqdz3jRDJPIX+L2fnczrtxvtCnb17R4Bcoyz1xciUTECSqZcqsgOtF0ZVuIahHckM1qtfR90Ed+IoDKeWvwH4ApdPvCgvMLj2s5DBdGqX90oNpCFKUmWKsb20ozwGiOuLEzCPPw=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <6e994193-7761-4fb9-b4d3-ae784080e45a@amd.com>
Date: Mon, 10 Mar 2025 10:12:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
To: Julien Grall <julien@xen.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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Jan
 Beulich" <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
 <8be2b25d-7a2c-40a5-bbdb-0f7aade2bbd2@xen.org>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <8be2b25d-7a2c-40a5-bbdb-0f7aade2bbd2@xen.org>
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: SN1PEPF0002636A:EE_|CH3PR12MB8355:EE_
X-MS-Office365-Filtering-Correlation-Id: 279f5c9d-23bc-49ea-c554-08dd5fdd9558
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?UnM5YzhBbTFrUVVIRW1RV240UFFIaGVWbnlYc0Z6R3pzY1VIREo5cy9wczNl?=
 =?utf-8?B?UlJ1K3h2emVvbmNSc084dXU1RGRPOWtWVlhqVzJkWlhEbWVSMTNRKzQ0R1l1?=
 =?utf-8?B?dThxUU5OT0tMTEtsajBWN1BpUXQzNi8zQis1UnF1Y1RocE10WWVlWVhnNXRh?=
 =?utf-8?B?U1hwamw2TWdEWXNUb2NXNGlDVGpZZDdnTWlQNVNkNG54cEcvZHI2WVBEdFVk?=
 =?utf-8?B?MXJ3WEI2OStXTTgwYzJWZXByOWtsRk1aelkxaGlrelVLZmZXeVlOanZCcDhN?=
 =?utf-8?B?ZHdORFhEUU9Ec0JDSkdDQzFJV3pSOVFod1l4eFUwNWhTOG5iNnBnQzJMdE04?=
 =?utf-8?B?aDVzd0JmOHdJZ05DN2VUKzJSeEU5V3FkQnhDT2x2VHR3MFBxS0NNYlBkNEYv?=
 =?utf-8?B?bUFQczkzdUtjR3BXSi9KOTZXSExUWVhNNEJkOENSUHhicGYwTFRDelQrL29X?=
 =?utf-8?B?c2JzdkVuT3hYVGVCdzFWZ2tzVkppY29sMU1hODNHNUVURHlJZ0FjZGtxd3Vh?=
 =?utf-8?B?NUtzNVFMcEY1U25pampKY2VaQTdvYkx4Wm5KYkxVZlJybzZXZkp6eVloOFZi?=
 =?utf-8?B?aWpDOVliYkdabWtpb0ZkTWppUUdpbFJJWG1pdy8zbkwwZ2ExWkNyMlVCSE1t?=
 =?utf-8?B?cEZQV2tVNnVPQlBCakhyZGRYdXZKcC9FUXhlcC80VDA1TEdXcHpsV3l3NW9M?=
 =?utf-8?B?VC9wa2tVRkRrQWgzL1RCMFV3MkRaZU5Kd1VYQllyUzNxMHBFSmtpbWV6TU5y?=
 =?utf-8?B?MEhoVElxNkFuTURQWnFtQVB1dEh0SWRNd2RLZUcrOFFYSUJ3RGZQMU5ZVlRu?=
 =?utf-8?B?TVdwQTVLWFh4bDgrQTlvcVlCQmtPT2U0VTg0dEVJNmdwWFEwdURMNkRmTnRZ?=
 =?utf-8?B?Y09OajVYejBZN3ltdVVZSmNndzNtRGJFekNzOGpOUGI2SDBsYzR0SEJOM3JO?=
 =?utf-8?B?TGw0S2hzcnNxSWFaRi9iWG5HeXVCVmJvMnN5U1d0Tk9JV3hDbVFyL3NCdi83?=
 =?utf-8?B?bWlzblFSNlEzb0QyOVRXTzBaNHlrTjlpbFVtalNOMm40RGE2SnFYTnQ4N05Z?=
 =?utf-8?B?U2psQ0RNb2NzQTRsa0tUR1NkR0V2ZE1LQjVvZzRrN0luVG9hb1dhbVRCRkdi?=
 =?utf-8?B?U2ZyWFJlVkV5Z0hncSs2SUdlMi95L3BhZUhoc0R1cSs3MUhRQTdNaWZNR0px?=
 =?utf-8?B?ZmQ4UFNzUDcrRlZrTlJ6eHpYbHdsQ2E0Q0pxRjV0ZWhwRFJ1MHJDMXBLaWV5?=
 =?utf-8?B?Y1kzNUZhNmVQNjY1Vk5xclZjekZ4ZysrZGFtaDhwQTcyY29ITFRQWUxiS0pF?=
 =?utf-8?B?OEtOd0xTNkwzTmpKM1VhamJiODhaSnZ2Vk84YTc1UDFHSGRCOER4QjVPblJw?=
 =?utf-8?B?VUVqdkpIUTdxYnFDbEJFQytLMGt0QlhPR2hLMXlQakZTS1hqV3d1aGxNaFBo?=
 =?utf-8?B?d1NMMlFEVkhUc1owQVdwQ1lhM1FIL1BmcmNvWFIzak9GdlA4Zlp5RU4reEhn?=
 =?utf-8?B?UzZ5NldSeGg2MDVoRHJrb3YzSzVZYXk0ZU1qdjRMRmh6dVUrd2tsZlFUdjJ0?=
 =?utf-8?B?bnY2R1lRZWxJL2RRZjMzLzlnQzBnWXBDa2tFbDlIc0NFMjdBbEovaEQ5MTdB?=
 =?utf-8?B?Y2VZVWpEekJwd2dmN3pORnZpUU1sM1ZKc3p0ZitsejVKa1FxUXhxR01Cc0Fl?=
 =?utf-8?B?NkVyYW9IVjVVbFEvWWNybjJGTWpwUzNHSmQ0MHBuSFFzcTNER3kvU00zbG5I?=
 =?utf-8?B?UFFxWHVpRWMvdzJSZXJSYjl3Ymw5RXhwdWxDQjNDQnV5WnRrKzBsZ0QxNVM5?=
 =?utf-8?B?a2JvZHZQMmpHazA0aFcrYlRScXFjMWVhamR4cHV0bGkwbm5Nei9BUGk4Mkxu?=
 =?utf-8?B?YzRXOEdMaTE0UFBucllPZzY3amJnMWo3UUdMM21iNXhMd2cwdk95UTVPbUpm?=
 =?utf-8?B?SEs4SS9BNVdHeEp3VlNNQ2VwNkxMK3oxVkNPbmRETUF4MnlwVVVCUHhNWGlh?=
 =?utf-8?Q?6IxaAib8rVQvwBByl48GED3i4x9p5U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 14:12:25.3574
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 279f5c9d-23bc-49ea-c554-08dd5fdd9558
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF0002636A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8355

On 2025-03-10 05:32, Julien Grall wrote:
> Hi Jason,
> 
> On 06/03/2025 22:03, Jason Andryuk wrote:
>> With a split hardware and control domain, the control domain may still
>> want and xenstore access.Â  Currently this relies on init-dom0less to
>> seed the grants.Â  This is problematic since we don't want hardware
>> domain to be able to map the control domain's resources.Â  Instead have
>> the hypervisor see the grant table entry.Â  The grant is then accessible
>> as normal.
>>
>> This is also useful with a xenstore stubdom to setup the xenbus page
>> much earlier.
>>
>> This works with C xenstored.Â  OCaml xenstored does not use grants and
>> would fail to foreign map the page.
>>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> Â  xen/arch/arm/dom0less-build.c |Â  9 +++++++++
>> Â  xen/common/grant_table.cÂ Â Â Â Â  | 10 ++++++++++
>> Â  xen/include/xen/grant_table.h |Â  8 ++++++++
>> Â  3 files changed, 27 insertions(+)
>>
>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less- 
>> build.c
>> index 068bf99294..f1d5bbb097 100644
>> --- a/xen/arch/arm/dom0less-build.c
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -21,6 +21,8 @@
>> Â  #include <asm/static-memory.h>
>> Â  #include <asm/static-shmem.h>
>> +static domid_t __initdata xs_domid = DOMID_INVALID;
>> +
>> Â  bool __init is_dom0less_mode(void)
>> Â  {
>> Â Â Â Â Â  struct bootmodules *mods = &bootinfo.modules;
>> @@ -753,6 +755,10 @@ static int __init alloc_xenstore_page(struct 
>> domain *d)
>> Â Â Â Â Â  interface->connection = XENSTORE_RECONNECT;
>> Â Â Â Â Â  unmap_domain_page(interface);
>> +Â Â Â  if ( xs_domid != DOMID_INVALID )
> 
> Looking at this patch again, is this guarantee that the xenstore domain 
> will be created first? If not, then I think your series needs to be re- 
> ordered so patch #10 is before this patch.

Yes, you are right.

>> +Â Â Â Â Â Â Â  gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  gfn_x(gfn), GTF_permit_access);
>> +
>> Â Â Â Â Â  return 0;
>> Â  }
>> @@ -1173,6 +1179,9 @@ void __init create_domUs(void)
>> Â Â Â Â Â Â Â Â Â  if ( rc )
>> Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Could not set up domain %s (rc = %d)\n",
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  dt_node_name(node), rc);
>> +
>> +Â Â Â Â Â Â Â  if ( d_cfg.flags & XEN_DOMCTL_CDF_xs_domain )
>> +Â Â Â Â Â Â Â Â Â Â Â  xs_domid = d->domain_id;
> 
> What if there is multiple domain with XEN_DOMCTL_CDF_xs_domain? Should 
> we throw an error?

Before this series, there was no restriction on its use, but only 
init-xenstore-domain used it.  The XEN_DOMCTL_CDF_xs_domain flag allows 
the domain XSM_XS_PRIV, which grants a few more operations to an 
otherwise unprivileged domU

With the use of xs_domid (only during construction), maybe it should be 
limited to just 1 to avoid surprises.  Otherwise the last built xenstore 
domain would be configured as the backend.  Nothing would break - it 
would just be surprising.  I'll restrict to just 1.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:28:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906519.1313935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tre6l-0004CI-5A; Mon, 10 Mar 2025 14:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906519.1313935; Mon, 10 Mar 2025 14:27: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 1tre6l-0004CB-2d; Mon, 10 Mar 2025 14:27:55 +0000
Received: by outflank-mailman (input) for mailman id 906519;
 Mon, 10 Mar 2025 14:27: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=vjn7=V5=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tre6k-0004C5-2b
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:27:54 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20624.outbound.protection.outlook.com
 [2a01:111:f403:2408::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d79932d6-fdbb-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 15:27:50 +0100 (CET)
Received: from PH7PR02CA0001.namprd02.prod.outlook.com (2603:10b6:510:33d::18)
 by BY5PR12MB4147.namprd12.prod.outlook.com (2603:10b6:a03:205::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Mon, 10 Mar
 2025 14:27:44 +0000
Received: from CY4PEPF0000EE39.namprd03.prod.outlook.com
 (2603:10b6:510:33d:cafe::aa) by PH7PR02CA0001.outlook.office365.com
 (2603:10b6:510:33d::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.19 via Frontend Transport; Mon,
 10 Mar 2025 14:27:43 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE39.mail.protection.outlook.com (10.167.242.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 14:27:43 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 10 Mar
 2025 09:27:42 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Mon, 10 Mar
 2025 09:27:42 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 10 Mar 2025 09:27:41 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d79932d6-fdbb-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ayhD6TlHJcTdF3RpvwQfdKGfGr2j5vyd0nfkKQ4xJkX9C/mzDZoEmxLc1jXpZrB2qcjzZqZM96mTimwJif7zVxVLG3w5dHjtn3mZTYqxh1GwT1j4GHN0bRrPKAQzobd4n4DLFLdM5sVUcxBaXYpxy0fChBC4ol/eLKRw1mtwjnOvZgoLvITeurD/Ait0KC7c1YThs7yXrnJ6OTGgCBYCd75T2I/iQyWmRrQJl9A+A35utFq0RlxYZUC60hNzb/NAjUlqtBCHRG9MFKmnxYgaYa3f8pen3CE97WqkxQ/UCcqgoeuGPgffC04RWLld7feu6xyF/VIctEkVOfaX+9i8Xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=geaTB8mPm2fWaiIupQ1JAg4MkRjVCDpL2PfsvtAKg1U=;
 b=C47KSUKWDOJNFu4aYp1wnrHgTi0TErHSpb2rw4YkmOzbgveyB33i4E+7UekuvJh/Kbpu8+tPIUbpUtXZfuXN29rAKewtM4+RkkNbVOnS2MHFx0mLQQ9Ub0BTSKba/nNaPusVKV2otlYe61IeE9nAPqo6lmv7LHHZKDZeQ9foZHgUFvsnLqupQou2qkLampU88wpK9VUMVqs5e+FKZpLsmj+PYS9JPyVf7KLS59ici4y4F1SmNEn3J9x92TUUV+TQxm0J9Shbh+Vp9UTNhiOyidnr7Y6bqRZS2qKCrc4qtqN2x9vE/czfRwEXH40ku4q9Dw2CcpWbupoQeaq1bT4C4A==
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=geaTB8mPm2fWaiIupQ1JAg4MkRjVCDpL2PfsvtAKg1U=;
 b=F+h9+MyhnnoIuSYvaFoOy4KHGfDcIc7bt424PRjBpUpTj0l0hAHhdWSbOlNnwr/n+hlZ7zcnty5wIhod2jTvE8ny+T8McBBCucqXt/u0+UIdYRMxctKxi+VWBrsCfpPZYlytrI+52vXlnEBHyZ1L9A7xU9+3mJ/+y5uWgTU3xhU=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <11eda21b-a864-46da-8527-38888f3c0115@amd.com>
Date: Mon, 10 Mar 2025 10:27:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/23] xen/arm: dom0less seed xenstore grant table entry
To: Jan Beulich <jbeulich@suse.com>, Juergen Gross <jgross@suse.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>,
	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>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-9-jason.andryuk@amd.com>
 <93fdeea0-495a-40c7-936c-749e75a3d728@suse.com>
 <664ca238-cb5a-491a-b588-a9f300d84199@suse.com>
 <a0d2e94b-7d11-4f4c-9941-dfb43af99147@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <a0d2e94b-7d11-4f4c-9941-dfb43af99147@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: CY4PEPF0000EE39:EE_|BY5PR12MB4147:EE_
X-MS-Office365-Filtering-Correlation-Id: 0218aa8c-7c7d-4224-7e0c-08dd5fdfb8ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cFdRNjY0a0hsd3Z6alN5RjhwcFVoS2JGVmYxMnYzK2xZU2I3ZjdZeFdhZE5R?=
 =?utf-8?B?KytjZHkyK0pnbnovMjAyWW84UDcwaWtFYUNrMXpKTWdYRitYQU5zM1pnbVRT?=
 =?utf-8?B?SDh3b3pzWldPckk2eitpbVd2V1VvWkJ2blJ6K0EwbDFkRUFndFVKeDhleGI4?=
 =?utf-8?B?NmwzMlpjTzMzQlh4TFFyOFcvNG5YSG9IZlNyYVZEWHV4aXhwMllyRGtQMkZi?=
 =?utf-8?B?bnBITU5MK1dGMUN1Ti94dis2VjBxNTZiY2J5UmJLRnhnMlAvN0dxYUhyWmdw?=
 =?utf-8?B?MUdsZ2xDTnlWaHpKS3ZWSXRjWVN4RFI3dWxPb25EMjZ3ZGxkVXZkdXlmTGpI?=
 =?utf-8?B?WnlLaENyTUZDZVpnTXlSdW50aGgvUkxiakQ0cTFXekREaVBOUEdWeXE5ZzIz?=
 =?utf-8?B?ekpyaFNFV0ZNbi9wbWR2ZkJyaW5JU2g3NUtJbmNtK2oxcGVERE82eEZjbnpz?=
 =?utf-8?B?RXhmSFJYdFRCZkRhdG9GL2MwUlhDbVRlME8waTVGSUp5alV5SGdET29URXZI?=
 =?utf-8?B?bzBsUEFZVjhRUTV0Ryt4RWo5RVpMRTNSaThpSlZBbWFVOTBkNmJaZ1RSV016?=
 =?utf-8?B?b1FNZ0pUcVo1ckZuSzEwTjJiRUZSa3gzMGRpUDdMUmQ1SjJMN2tERVhkSFh1?=
 =?utf-8?B?ajdzMkJudUdWNnlGWjdIWUtuYW11eXpESUxiS0lwZVo4OHREbngwaG04YnRB?=
 =?utf-8?B?blUwZmV2QlhMM3VTeElCbGU5NDVoSlVySmV5T08ydjE3YlNTcnNsZmprN1hk?=
 =?utf-8?B?Y0s3S2dWTnNLSmRCUTc4WmZqaWQ1TDE1Q1V5cUpDcjBwZThBTTBPQkZONDMy?=
 =?utf-8?B?bVgyTk1TUEJRWW5iSGlNcHhHak5tREtYTjkzS0M5VkVXWE4wQWp6eEJHU1VX?=
 =?utf-8?B?dXlJa2gzMnUrSW1WWXJyNUhkRG1NTEZlVlY4UUY4azNEb3pPcEVZalhRS0Rh?=
 =?utf-8?B?K2VRSVdWekRZTlVmK2doMUFnRVY4MG0vVEo5NWlxaXc5Ukt6UmFDSXNtd3lK?=
 =?utf-8?B?ZUNvZTdvWEsrTkJPMmV2NVpGT1c3amhTLzZKVUp6dTRmRUFabnowR05tSDFl?=
 =?utf-8?B?NVhXR2FXWDFPOHE0d2lBZG9MT3NWbm4wYzZxVEIzd1JiZjZhWFpJTVFzL3pZ?=
 =?utf-8?B?UVZ0MFNIYkt1RFgyN3JYNXQxK2F2YjRJSnZJREVibVBrZlNkQ3ZJQ2Y1UlFC?=
 =?utf-8?B?R01SWVZJWFpjVFVBOXU2UGZSd0xwKzFHWnJNOGNJc3ZQVENicW1pTy8xR0Jp?=
 =?utf-8?B?NkRYRWp4VXR2T3ZySHlQUUs3YUdMRVFvcWdmeUNaamt2RmtsTEtFOW5xdDBz?=
 =?utf-8?B?ejBBOEhYbFVsaFFsM09nV2FBMThSVlBGSzZIVzdhdlJkV2ExNjBwUTgwdUpL?=
 =?utf-8?B?dnI5b2pKZ05hTVpTVDVuV0k3SE5zZldyejZlOElyZWorZlprYTFJeTNrckts?=
 =?utf-8?B?RWViS2ZzdUxRMDdyMUxjczlJZUw5M2hWbG04cTVMTDF4YUE2cXA1ZFBWKytQ?=
 =?utf-8?B?Sy8wSENDTXNQKy9PZWRkcGk5MnRVQUtVWFJ1QlFqN2toUHBIWHdVcXVQNVVQ?=
 =?utf-8?B?K2tTOE94N2VUMkNWMktuZGFacUsyMkhlMTRJTndXSHN0VVlIVkpUUHBZckJO?=
 =?utf-8?B?cnhJYlhYTWxmMm4vR3JlMUtUVnhnajJaQlFtS2JrUDNpWWZDYU01SXBZSDhs?=
 =?utf-8?B?Qk5zWmx3QUpldHdIS2pQR2F3b0N6bEZuQy9FcmJjc2hVKzZQemN5cWNrVWtM?=
 =?utf-8?B?K2ZCbkR2OVlHQmgrdXVHZmhXRWU4eTg1djJib1liUTVaZ3ErNzBKN29XMUQ1?=
 =?utf-8?B?Z3RTd2RNMXBSTmh0WHNQUlhJUk9jY05QZElTdXNCVDdOc3FHLzY2ZEtjWWVJ?=
 =?utf-8?B?M2tXNzE3cTJXTkFCQzNxRlRQdEYrUlZjYVJFOUpTa0RMR0xabzcvNEIvYTdR?=
 =?utf-8?B?OSt3QVdMR2dqVHI3WGQ0eG5kNTROWmhhOGg3M1NHd3l1MU1JcmtPa25ud2Fh?=
 =?utf-8?Q?OsgEjAL/ktYV+UZ9iF85MW13zoVTjs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 14:27:43.5417
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0218aa8c-7c7d-4224-7e0c-08dd5fdfb8ac
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE39.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4147

On 2025-03-10 04:21, Jan Beulich wrote:
> On 10.03.2025 09:17, Juergen Gross wrote:
>> On 10.03.25 09:01, Jan Beulich wrote:
>>> On 06.03.2025 23:03, Jason Andryuk wrote:
>>>> +    shared_entry_v1(gt, idx).flags = flags;
>>>> +    shared_entry_v1(gt, idx).domid = be_domid;
>>>> +    shared_entry_v1(gt, idx).frame = frame;
>>>> +}
>>>
>>> In common code there shouldn't be an assumption that gnttab v1 is in use.
>>
>> But isn't the grant table in V1 format until the guest potentially switches
>> to V2?
> 
> Strictly speaking it's in v0 format initially. But yes, I see your point.
> Provided this function is made clear that it may only ever be used on a
> domain that wasn't started yet (perhaps proven by way of an assertion).

Yes, this is what I was relying on.

If d is still passed in, we could do
ASSERT(!d->creation_finished);

Hmmm, the function might could be marked __init, too, I think.

struct grant_table and shared_entry_v1 are defined in 
xen/common/grant_table.c, which is why the function lives there (and 
it'll be useful for hyperlaunch).  To avoid unreachable code, I guess 
I'll wrap it inside #ifdef CONFIG_DOM0LESS_BOOT.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:32:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:32:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906531.1313944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treBJ-00060t-Li; Mon, 10 Mar 2025 14:32:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906531.1313944; Mon, 10 Mar 2025 14:32: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 1treBJ-00060m-JC; Mon, 10 Mar 2025 14:32:37 +0000
Received: by outflank-mailman (input) for mailman id 906531;
 Mon, 10 Mar 2025 14:32: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=vjn7=V5=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1treBI-00060g-OF
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:32:36 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20611.outbound.protection.outlook.com
 [2a01:111:f403:200a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80c6e371-fdbc-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 15:32:34 +0100 (CET)
Received: from CH2PR02CA0016.namprd02.prod.outlook.com (2603:10b6:610:4e::26)
 by SA3PR12MB7999.namprd12.prod.outlook.com (2603:10b6:806:312::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.23; Mon, 10 Mar
 2025 14:32:26 +0000
Received: from DS2PEPF00003448.namprd04.prod.outlook.com
 (2603:10b6:610:4e:cafe::6c) by CH2PR02CA0016.outlook.office365.com
 (2603:10b6:610:4e::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Mon,
 10 Mar 2025 14:32:26 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS2PEPF00003448.mail.protection.outlook.com (10.167.17.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 14:32:26 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 10 Mar
 2025 09:32:23 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 10 Mar 2025 09:32:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80c6e371-fdbc-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VzzSP3ZgUyVVTJt+FsjAjB1B0kJvTYNrBKQEp0exk1hkf1frReY43MBRsolaXyBEhwECNelA4cShhFZqb40IOPfh90ngYsmIqPUoy+w8upOOaympvnIenhtV5vSVOtZYiJnnCwFraHnsdCr9eQob61lDd9fkfv3XOQswCFG1+uLlDIc7LYoxumnGn9+CJwxzykx9PaCSkaD21JkSstVMSL0cmLx8TFIiHIJDuanlt7iQGv/YQON4mB/J70ZAgzA782JYuAeZgpiFBUTns2I95hYueNQk/wIoTtrsY+jI8X7HMEAFdlSwfLuEje88wabDjmrl0Km+K0xqrC/f5wUjJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z8a8nN3U5REsUOFV2dDFaUPEshc1rekuI8d8M5EUaMs=;
 b=eZ02uh5bz0KqadR02VXjTzqCxBwHLzRpzFFxlwJatFVWYLLrEwKgYGOi76lTztH3KIgyRgu4ZgxrM6Wm2wWXzgtBdSsfQZVErSNF1e9lJduttxsIO+ACMo1Z5PuI7/vbamdXRSCXTFf05JOkvxzg3j90oeViRdjy17x+8teh8QObgEBFtQSCTwLiXrR0Kc+g0ftxZ4ixmY0yL/ruDYmeLivNYxo5dKCMtEH8FrfhGZ36QYOqZi0Y7vB565E9CzLe/6tRnOYHtbkwH8kuqbqeSyqhb6//x1ua6azTxw8AZlPUkc17te4RLnKgL12xMdj5l9M2En61t1k36wQuF5Ht1w==
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=z8a8nN3U5REsUOFV2dDFaUPEshc1rekuI8d8M5EUaMs=;
 b=nt6TSU8mrIpIdTZbnn+fMvAn0ZEQ9GSR97KGJ3x7GEQI0t49MyGZ3sVeZLhSEa3oIpQRMFDtV+uhSNfdRChS7WY5JmZUF5k59pU86EUc+v+i4myUHQgSysFgvoEff3ln9v7y1NFydvPJ0QILDZRAijITD9tdFF+KYJyPe5U0/RU=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <18198558-87dc-4901-8c26-e35871b88ad7@amd.com>
Date: Mon, 10 Mar 2025 10:32:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/23] tools/xenstored: Automatically set dom0_domid and
 priv_domid
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-12-jason.andryuk@amd.com>
 <5c0a1526-7faa-407a-b249-e80fb23c97b2@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <5c0a1526-7faa-407a-b249-e80fb23c97b2@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003448:EE_|SA3PR12MB7999:EE_
X-MS-Office365-Filtering-Correlation-Id: ca53b258-ec29-43f6-4347-08dd5fe06137
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?TWlDU1Y3dHJicnlLa29ocjVZRUp5ZFVtUjV6WU1wU0JwNnFlL2ZCV29nSkZ3?=
 =?utf-8?B?YU8vcnFjTWdMOUowWE1KdCtKaU9DL09ITHRiTmw5L0dTQmlTZFZnYXB0bGZY?=
 =?utf-8?B?VnhSamt0MncvQXVwUHNsc25WQ0djTVcxaVNmMTJyQ1FERi9kUGU2cTN0eDg3?=
 =?utf-8?B?Ulk2eDRqR0lDU3ljSWk2UjkwcHlDZHRzTXRLYkxOZVZKRkh5djZMVHQweW8r?=
 =?utf-8?B?VkthOUN5YXMwcGVLOWRrcE5qSFQxdkdTc2hGc0k5NlREU3NQZVRwTGhQZkNH?=
 =?utf-8?B?Umk0Q01FaXFQSjVuT3dsL3d3c3FtVkFXeE5WNTNBZmsxVGczWFVkdDZyT2Q0?=
 =?utf-8?B?c1Y4QWhjUVRUdkFzNVBwSHUxQjhYOGpxMEZ1cUttcHFhU3VBNjRZRUFITFQ1?=
 =?utf-8?B?alRKU0g5NWZLdmhLSFdPanpTV1pDcStqaXJER2UvL21DcjYvejUyc09PR2F6?=
 =?utf-8?B?VVZjdnBOTngwUXFYTkM3MFQ1ck9QQ2I1ZUtSOHlBYkFpWHZBSW1OZGxHais5?=
 =?utf-8?B?M3NRT1g0TlkwVlR0MjFtNkN4NGg4aUNCS0k2L3M0V0hhdnRFN1BDSzFUaEhk?=
 =?utf-8?B?TGp1OHFLY1ZSdXMwaEZQNTNCWlVxVmcvelhyQTF5eWpEQkg5N3RJUFhRUDdO?=
 =?utf-8?B?a0sxUVRiNVpLRVBJUWwxdnVqWHMrbmIyTnpPMDFmbUlCbEJtV1ExWm5LaGpu?=
 =?utf-8?B?T1ZYNmZhU1V1NFFQZUpvMTd1aEt2ZmpDNmZaZE1IaXFWZTNrZUIzbDNDd0xE?=
 =?utf-8?B?ZGF0UnUxK1VodWs4VUtrNm9VZVVjNS9jNmY0c1c4eGlvSGpObzNnZXpaMU1K?=
 =?utf-8?B?aWZUUVNXb1ZSTlc4NDFmRDlOQXQvVFloREtkZWEzT2E5QnpMbTVCeC9BM2pL?=
 =?utf-8?B?OUQrRjgwQkJWckZ4S0FQUEdRak1ZWmQvVGJ6YzVLODRSaHNvTVRkczNoRW1J?=
 =?utf-8?B?ZUx0RFhPYUFnZDZSVHZ6RGNYQmNpREg0RmRmNWxSU0ptSks4dHhFS3BKL0RI?=
 =?utf-8?B?UE9mWFZWVFpHUlRybGZoTk03MkF1UVI5dEFUZUJySGU3SDUwcXNrdmpYSVNN?=
 =?utf-8?B?aGQ2aUl4K1FzMTR4OVlFd3BvaG5EOU9UMlRmZVRMUFFXeDFTbE9Uem1xZEpw?=
 =?utf-8?B?QXFwWDFsNlJ5eE0zZDY3V0c2SGxnT3JCdDlzcVB4WVFxdmc0TnZucVhNMllH?=
 =?utf-8?B?ZWlYZmRXTDJoWHh5OHZVSWh4L013SDZqUWN2T24xMHplWW04eXBiWUV6TWRh?=
 =?utf-8?B?S3RlVzF0ZDlUdTVYdHhoMFZBWXNoQzljMXJjQXhyNk41aGsrRFVxRUJBOG1X?=
 =?utf-8?B?OVN3UE0rL1dsMVlqaVpCL3ZQZzBGcTlyeEtFemhmSzBKZ0Y0OWRkS1VDSkFk?=
 =?utf-8?B?enlxZjlnSXNOOFBZeC9BOFN2cllLcHRUZXVXSUtpa1MxQlNWeG96RmM1WTJ0?=
 =?utf-8?B?SnBXR3FVeU9XTXA1djhPWW03VmhJQkFicCtqTFZjSE9GQ1gzbjNENFlnRklO?=
 =?utf-8?B?WHRVZXpnNnMyY3JnMTduaG1HTkJzajRsM2ZsT21vRU45MDU3UU9UUXphcHBS?=
 =?utf-8?B?ZWJuMzJmZVpFanBJMnNUNnYyTjErRkgydGdJcTJpQ3BtNGkwa2RFMkRsNGUw?=
 =?utf-8?B?NlE1QW1qWkdHdEVLSkJMaXQzRlVTOC96VzA0dFE3K0xUajVrZUFockZFMVIz?=
 =?utf-8?B?aHVYVmt4NjFlbXpuSUhrYUhUbzdhaDFabVdtOE01SlNYd2d5NmV0citJZTBC?=
 =?utf-8?B?b3R5S0lsbHl4TWtGWEdmZnRDc0ZsZFc3VklnT1I1Y0s3TE1UN1NhcXNKT0h1?=
 =?utf-8?B?cWRRK2NsejlOU1crWVNMVXcyYitzUGNEWC9FeTR2K3VHcXFieThQTTJJNnVu?=
 =?utf-8?B?RDFlOWNrd2N5Vk9mMVdsK2pJaDBiZkhjUVlRbk5pRUZHSmZac1czOEplWVp0?=
 =?utf-8?B?aGNhQTg1MEZvVWM2TTZlTEF4NXZ3Mzh6YlVYTXY5cVoxL1VxZzlTY3M3V2pq?=
 =?utf-8?B?alBvVll2TkVBPT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 10 Mar 2025 14:32:26.4021
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ca53b258-ec29-43f6-4347-08dd5fe06137
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003448.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7999



On 2025-03-08 02:02, JĂźrgen GroĂ wrote:
> On 06.03.25 23:03, Jason Andryuk wrote:
>> With split hardware and control domains, each domain should be
>> privileged with respect to xenstore.Â  When adding domains to xenstore,
>> look at their privilege and add them to xenstored as appropriate.
>> dom0_domid is used for the hardware domain, and priv_domid is used for a
>> control domain.
>>
>> Only one of each is allowed for now.
>>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> Â  tools/xenstored/domain.c | 16 ++++++++++++++++
>> Â  1 file changed, 16 insertions(+)
>>
>> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
>> index 64c8fd0cc3..f2394cd6e9 100644
>> --- a/tools/xenstored/domain.c
>> +++ b/tools/xenstored/domain.c
>> @@ -795,6 +795,20 @@ static struct domain 
>> *find_or_alloc_existing_domain(unsigned int domid)
>> Â Â Â Â Â  return domain;
>> Â  }
>> +static void domain_set_privileged(struct domain *domain)
>> +{
>> +Â Â Â  xc_domaininfo_t dominfo;
>> +
>> +Â Â Â  if ( !get_domain_info(domain->domid, &dominfo) )
>> +Â Â Â Â Â Â Â  return;
>> +
>> +Â Â Â  if ( dominfo.flags & XEN_DOMINF_priv )
>> +Â Â Â Â Â Â Â  priv_domid = domain->domid;
>> +
>> +Â Â Â  if ( dominfo.flags & XEN_DOMINF_hardware )
>> +Â Â Â Â Â Â Â  dom0_domid = domain->domid;
>> +}
> 
> Please no use of libxenctrl. I have worked hard to eliminate the usage
> in order to enable a xenstore-stubdom being used across Xen versions
> (C Xenstore is relying on stable hypercalls only now).

Right.  Yes, nice work on switching to stable hypercalls.

> You need to add the needed flags to the rather new stable domctl
> XEN_DOMCTL_get_domain_state and to libxenmanage.

Ok.

>> +
>> Â  static int new_domain(struct domain *domain, int port, bool restore)
>> Â  {
>> Â Â Â Â Â  int rc;
>> @@ -831,6 +845,8 @@ static int new_domain(struct domain *domain, int 
>> port, bool restore)
>> Â Â Â Â Â  domain->conn->domain = domain;
>> Â Â Â Â Â  domain->conn->id = domain->domid;
>> +Â Â Â  domain_set_privileged(domain);
> 
> The name implies you are changing the domain to be privileged, but this
> is done conditionally only.
> 
> Maybe name the function domain_apply_privileges()?

I'm thinking domain_apply_capabilities() since they are being referred 
to as capabilities.

But I'll have to revisit this.  To make xenstored "just work" when domid 
!= 0, it should auto-detect its domain id, and that has to be done 
earlier than this.

Regards,
Jason



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:51:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:51:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906547.1313954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treT2-0002rU-4g; Mon, 10 Mar 2025 14:50:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906547.1313954; Mon, 10 Mar 2025 14:50: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 1treT2-0002rN-1P; Mon, 10 Mar 2025 14:50:56 +0000
Received: by outflank-mailman (input) for mailman id 906547;
 Mon, 10 Mar 2025 14:50: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=t+uq=V5=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1treT0-0002rH-Kq
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:50:54 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1049a18d-fdbf-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:50: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 A17DF16F2;
 Mon, 10 Mar 2025 07:51:03 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.38.103])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 539543F5A1;
 Mon, 10 Mar 2025 07:50: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: 1049a18d-fdbf-11ef-9ab8-95dc52dad729
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [PATCH v2 0/5] FF-A VM to VM support
Date: Mon, 10 Mar 2025 15:50:32 +0100
Message-ID: <cover.1741617888.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch serie adds support to use FF-A between VM for communications
using indirect messages.

It adds a Kconfig parameter to enable this feature and marks it as
experimental as for now there is no system to restrict communication
rights between VM using this system.

It also adds support to use VM to VM communications using FF-A even if
there is no firmware support for FF-A. As this feature enables FF-A
support in all cases, we also introduce a new command line parameter to
allow the user to force which tee is to be used between FF-A and Optee
to have a solution to enable optee support if FF-A VM to VM is enabled.

Changes since v1 (rfc):
- add a tee command line parameter
- use IS_ENABLED instead of ifdef when possible
- rebase on latest staging

Bertrand Marquis (5):
  xen/arm: Create tee command line parameter
  xen/arm: ffa: Introduce VM to VM support
  xen/arm: ffa: Add buffer full notification support
  xen/arm: ffa: Add indirect message between VM
  xen/arm: ffa: Enable VM to VM without firmware

 docs/misc/xen-command-line.pandoc  |  14 +++
 xen/arch/arm/include/asm/tee/tee.h |   4 +
 xen/arch/arm/tee/Kconfig           |  11 +++
 xen/arch/arm/tee/ffa.c             |  12 ++-
 xen/arch/arm/tee/ffa_msg.c         |  96 +++++++++++++++++--
 xen/arch/arm/tee/ffa_notif.c       | 138 +++++++++++++++------------
 xen/arch/arm/tee/ffa_partinfo.c    | 147 +++++++++++++++++++++++------
 xen/arch/arm/tee/ffa_private.h     |  29 ++++++
 xen/arch/arm/tee/tee.c             |  31 ++++++
 9 files changed, 380 insertions(+), 102 deletions(-)

-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:51:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:51:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906550.1313964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treTH-0003C4-BT; Mon, 10 Mar 2025 14:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906550.1313964; Mon, 10 Mar 2025 14: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 1treTH-0003Bx-8w; Mon, 10 Mar 2025 14:51:11 +0000
Received: by outflank-mailman (input) for mailman id 906550;
 Mon, 10 Mar 2025 14:51: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=t+uq=V5=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1treTF-0003BL-OY
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:51:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 190a7474-fdbf-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 15:51:07 +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 62E3216F2;
 Mon, 10 Mar 2025 07:51:18 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.38.103])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C699F3F5A1;
 Mon, 10 Mar 2025 07:51: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: 190a7474-fdbf-11ef-9898-31a8f345e629
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [PATCH v2 1/5] xen/arm: Create tee command line parameter
Date: Mon, 10 Mar 2025 15:50:33 +0100
Message-ID: <9313ffc0cf2e8be7e39ba24e8849a27b6bae2526.1741617888.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1741617888.git.bertrand.marquis@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a new command line parameter "tee=" to be used to explicitly select
what tee mediator is to be used by Xen and fail if it does not exist
or the probe function for it failed.

Without specifying which tee is to be used, Xen will use the first one
for which the probe function succeeds which depends on the order of the
mediator list which depends on the compiler.
Using the command line argument, it is now possible to explicit request
a specific TEE mediator and panic on boot if it is not available.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- Patch introduced to add a command line selection of the TEE
---
 docs/misc/xen-command-line.pandoc  | 14 ++++++++++++++
 xen/arch/arm/include/asm/tee/tee.h |  4 ++++
 xen/arch/arm/tee/tee.c             | 31 ++++++++++++++++++++++++++++++
 3 files changed, 49 insertions(+)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 89db6e83be66..8464d7127890 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
 
 Flag to enable TSC deadline as the APIC timer mode.
 
+### tee
+> `= <string>`
+
+Specify the TEE mediator to be probed and use.
+
+The default behaviour is to probe all supported TEEs supported by Xen and use
+the first one successfully probed. When this parameter is passed, Xen will
+probe only the TEE mediator passed as argument and boot will fail if this
+mediator is not properly probed or if the requested TEE is not supported by
+Xen.
+
+This parameter can be set to `optee` of `ffa` if the corresponding mediators
+are compiled in.
+
 ### tevt_mask
 > `= <integer>`
 
diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/asm/tee/tee.h
index 0169fd746bcd..15d664e28dce 100644
--- a/xen/arch/arm/include/asm/tee/tee.h
+++ b/xen/arch/arm/include/asm/tee/tee.h
@@ -55,6 +55,9 @@ struct tee_mediator_desc {
     /* Printable name of the TEE. */
     const char *name;
 
+    /* Command line name of the TEE (to be used with tee= cmdline option) */
+    const char *cmdline_name;
+
     /* Mediator callbacks as described above. */
     const struct tee_mediator_ops *ops;
 
@@ -77,6 +80,7 @@ void tee_free_domain_ctx(struct domain *d);
 static const struct tee_mediator_desc __tee_desc_##_name __used     \
 __section(".teemediator.info") = {                                  \
     .name = _namestr,                                               \
+    .cmdline_name = #_name,                                         \
     .ops = _ops,                                                    \
     .tee_type = _type                                               \
 }
diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
index 3f65e45a7892..066b5ba40f9d 100644
--- a/xen/arch/arm/tee/tee.c
+++ b/xen/arch/arm/tee/tee.c
@@ -19,12 +19,17 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/types.h>
+#include <xen/param.h>
 
 #include <asm/tee/tee.h>
 
 extern const struct tee_mediator_desc _steemediator[], _eteemediator[];
 static const struct tee_mediator_desc __read_mostly *cur_mediator;
 
+/* Select the TEE mediator using a name on command line. */
+static char __initdata opt_mediator[16] = "";
+string_param("tee", opt_mediator);
+
 /*
  * TODO: Add function to alter Dom0 DTB, so we can properly describe
  * present TEE.
@@ -81,14 +86,40 @@ static int __init tee_init(void)
 {
     const struct tee_mediator_desc *desc;
 
+    if ( strcmp(opt_mediator, "") )
+        printk(XENLOG_INFO "TEE Mediator %s selected from command line\n",
+               opt_mediator);
+
+    /*
+     * When a specific TEE is selected using the 'tee=' command line
+     * argument, we panic if the probe fails or if the requested TEE is not
+     * supported.
+     */
     for ( desc = _steemediator; desc != _eteemediator; desc++ )
     {
+        if ( strcmp(opt_mediator, "") &&
+             strncmp(opt_mediator, desc->cmdline_name, sizeof(opt_mediator)) )
+            continue;
+
         if ( desc->ops->probe() )
         {
             printk(XENLOG_INFO "Using TEE mediator for %s\n", desc->name);
             cur_mediator = desc;
             return 0;
         }
+        else if ( strcmp(opt_mediator, "") )
+        {
+            panic("TEE mediator %s from command line probe failed\n",
+                  opt_mediator);
+            return -EFAULT;
+        }
+    }
+
+    if ( strcmp(opt_mediator, "") )
+    {
+        panic("TEE Mediator %s from command line not supported\n",
+              opt_mediator);
+        return -EINVAL;
     }
 
     return 0;
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:51:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:51:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906551.1313970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treTH-0003Ef-Ks; Mon, 10 Mar 2025 14:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906551.1313970; Mon, 10 Mar 2025 14: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 1treTH-0003Dm-F7; Mon, 10 Mar 2025 14:51:11 +0000
Received: by outflank-mailman (input) for mailman id 906551;
 Mon, 10 Mar 2025 14:51: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=t+uq=V5=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1treTF-0002rH-W4
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:51:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1a284b19-fdbf-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:51:09 +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 3A78226BC;
 Mon, 10 Mar 2025 07:51:20 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.38.103])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4256F3F5A1;
 Mon, 10 Mar 2025 07: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: 1a284b19-fdbf-11ef-9ab8-95dc52dad729
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2 2/5] xen/arm: ffa: Introduce VM to VM support
Date: Mon, 10 Mar 2025 15:50:34 +0100
Message-ID: <75ffd7378e75fb1a07584c1b178600bbfb348425.1741617888.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1741617888.git.bertrand.marquis@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
between VMs.
When activated list VMs in the system with FF-A support in part_info_get.

WARNING: There is no filtering for now and all VMs are listed !!

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- Switch ifdef to IS_ENABLED
- dom was not switched to d as requested by Jan because there is already
  a variable d pointing to the current domain and it must not be
  shadowed.
---
 xen/arch/arm/tee/Kconfig        |  11 +++
 xen/arch/arm/tee/ffa_partinfo.c | 144 +++++++++++++++++++++++++-------
 xen/arch/arm/tee/ffa_private.h  |  12 +++
 3 files changed, 137 insertions(+), 30 deletions(-)

diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
index c5b0f88d7522..88a4c4c99154 100644
--- a/xen/arch/arm/tee/Kconfig
+++ b/xen/arch/arm/tee/Kconfig
@@ -28,5 +28,16 @@ config FFA
 
 	  [1] https://developer.arm.com/documentation/den0077/latest
 
+config FFA_VM_TO_VM
+    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
+    default n
+    depends on FFA
+    help
+      This option enables to use FF-A between VMs.
+      This is experimental and there is no access control so any
+      guest can communicate with any other guest.
+
+      If unsure, say N.
+
 endmenu
 
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index c0510ceb8338..7af1eca2d0c4 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -77,7 +77,23 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
     };
     uint32_t src_size, dst_size;
     void *dst_buf;
-    uint32_t ffa_sp_count = 0;
+    uint32_t ffa_vm_count = 0, ffa_sp_count = 0;
+
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        struct domain *dom;
+
+        /* Count the number of VM with FF-A support */
+        rcu_read_lock(&domlist_read_lock);
+        for_each_domain( dom )
+        {
+            struct ffa_ctx *vm = dom->arch.tee;
+
+            if (dom != d && vm != NULL && vm->guest_vers != 0)
+                ffa_vm_count++;
+        }
+        rcu_read_unlock(&domlist_read_lock);
+    }
 
     /*
      * If the guest is v1.0, he does not get back the entry size so we must
@@ -127,33 +143,38 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
 
     dst_buf = ctx->rx;
 
-    if ( !ffa_rx )
+    /* If not supported, we have ffa_sp_count=0 */
+    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
     {
-        ret = FFA_RET_DENIED;
-        goto out_rx_release;
-    }
+        if ( !ffa_rx )
+        {
+            ret = FFA_RET_DENIED;
+            goto out_rx_release;
+        }
 
-    spin_lock(&ffa_rx_buffer_lock);
+        spin_lock(&ffa_rx_buffer_lock);
 
-    ret = ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
+        ret = ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
 
-    if ( ret )
-        goto out_rx_hyp_unlock;
+        if ( ret )
+            goto out_rx_hyp_unlock;
 
-    /*
-     * ffa_partition_info_get() succeeded so we now own the RX buffer we
-     * share with the SPMC. We must give it back using ffa_hyp_rx_release()
-     * once we've copied the content.
-     */
+        /*
+         * ffa_partition_info_get() succeeded so we now own the RX buffer we
+         * share with the SPMC. We must give it back using ffa_hyp_rx_release()
+         * once we've copied the content.
+         */
 
-    /* we cannot have a size smaller than 1.0 structure */
-    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
-    {
-        ret = FFA_RET_NOT_SUPPORTED;
-        goto out_rx_hyp_release;
+        /* we cannot have a size smaller than 1.0 structure */
+        if ( src_size < sizeof(struct ffa_partition_info_1_0) )
+        {
+            ret = FFA_RET_NOT_SUPPORTED;
+            goto out_rx_hyp_release;
+        }
     }
 
-    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
+    if ( ctx->page_count * FFA_PAGE_SIZE <
+         (ffa_sp_count + ffa_vm_count) * dst_size )
     {
         ret = FFA_RET_NO_MEMORY;
         goto out_rx_hyp_release;
@@ -182,25 +203,88 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
         }
     }
 
+    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
+    {
+        ffa_hyp_rx_release();
+        spin_unlock(&ffa_rx_buffer_lock);
+    }
+
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) && ffa_vm_count )
+    {
+        struct domain *dom;
+        uint32_t curr = 0;
+
+        /* add the VM informations if any */
+        rcu_read_lock(&domlist_read_lock);
+        for_each_domain( dom )
+        {
+            struct ffa_ctx *vm = dom->arch.tee;
+
+            /*
+             * we do not add the VM calling to the list and only VMs with
+             * FF-A support
+             */
+            if (dom != d && vm != NULL && vm->guest_vers != 0)
+            {
+                /*
+                 * We do not have UUID info for VMs so use
+                 * the 1.0 structure so that we set UUIDs to
+                 * zero using memset
+                 */
+                struct ffa_partition_info_1_0 srcvm;
+
+                if ( curr == ffa_vm_count )
+                {
+                    /*
+                     * The number of domains changed since we counted them, we
+                     * can add new ones if there is enough space in the
+                     * destination buffer so check it or go out with an error.
+                     */
+                    ffa_vm_count++;
+                    if ( ctx->page_count * FFA_PAGE_SIZE <
+                         (ffa_sp_count + ffa_vm_count) * dst_size )
+                    {
+                        ret = FFA_RET_NO_MEMORY;
+                        rcu_read_unlock(&domlist_read_lock);
+                        goto out_rx_release;
+                    }
+                }
+
+                srcvm.id = ffa_get_vm_id(dom);
+                srcvm.execution_context = dom->max_vcpus;
+                srcvm.partition_properties = FFA_PART_VM_PROP;
+                if ( is_64bit_domain(dom) )
+                    srcvm.partition_properties |= FFA_PART_PROP_AARCH64_STATE;
+
+                memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size));
+
+                if ( dst_size > sizeof(srcvm) )
+                    memset(dst_buf + sizeof(srcvm), 0,
+                           dst_size - sizeof(srcvm));
+
+                dst_buf += dst_size;
+                curr++;
+            }
+        }
+        rcu_read_unlock(&domlist_read_lock);
+
+        /* the number of domains could have reduce since the initial count */
+        ffa_vm_count = curr;
+    }
+
+    goto out;
+
 out_rx_hyp_release:
     ffa_hyp_rx_release();
 out_rx_hyp_unlock:
     spin_unlock(&ffa_rx_buffer_lock);
 out_rx_release:
-    /*
-     * The calling VM RX buffer only contains data to be used by the VM if the
-     * call was successful, in which case the VM has to release the buffer
-     * once it has used the data.
-     * If something went wrong during the call, we have to release the RX
-     * buffer back to the SPMC as the VM will not do it.
-     */
-    if ( ret != FFA_RET_OK )
-        ffa_rx_release(d);
+    ffa_rx_release(d);
 out:
     if ( ret )
         ffa_set_regs_error(regs, ret);
     else
-        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
+        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_size);
 }
 
 static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index c4cd65538908..bd6877d8c632 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -187,6 +187,18 @@
  */
 #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
 
+/*
+ * Partition properties we give for a normal world VM:
+ * - can send direct message but not receive them
+ * - can handle indirect messages
+ * - can receive notifications
+ * 32/64 bit flag is set depending on the VM
+ */
+#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
+                             FFA_PART_PROP_INDIRECT_MSGS | \
+                             FFA_PART_PROP_RECV_NOTIF | \
+                             FFA_PART_PROP_IS_PE_ID)
+
 /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
 #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
 #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:51:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906552.1313985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treTJ-0003h7-0T; Mon, 10 Mar 2025 14:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906552.1313985; Mon, 10 Mar 2025 14:51: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 1treTI-0003h0-Tk; Mon, 10 Mar 2025 14:51:12 +0000
Received: by outflank-mailman (input) for mailman id 906552;
 Mon, 10 Mar 2025 14:51: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=t+uq=V5=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1treTH-0002rH-IF
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:51:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1b170fb0-fdbf-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:51:10 +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 BE38216F2;
 Mon, 10 Mar 2025 07:51:21 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.38.103])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1BFDD3F5A1;
 Mon, 10 Mar 2025 07:51: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: 1b170fb0-fdbf-11ef-9ab8-95dc52dad729
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2 3/5] xen/arm: ffa: Add buffer full notification support
Date: Mon, 10 Mar 2025 15:50:35 +0100
Message-ID: <5bbdc8bc0377014a0c683f8f9e154267e4b27c1f.1741617888.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1741617888.git.bertrand.marquis@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support to raise a Rx buffer full notification to a VM.
This function will be used for indirect message support between VM and
is only activated if CONFIG_FFA_VM_TO_VM is selected.

Even if there are 32 framework notifications possible, right now only
one is defined so the implementation is simplified to only handle the
buffer full notification using a boolean. If other framework
notifications have to be supported one day, the design will have to be
modified to handle it properly.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- Code style fix
---
 xen/arch/arm/tee/ffa_notif.c   | 26 +++++++++++++++++++++-----
 xen/arch/arm/tee/ffa_private.h | 13 +++++++++++++
 2 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index 00efaf8f7353..d19aa5c5bef6 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -93,6 +93,7 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
 void ffa_handle_notification_get(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.tee;
     uint32_t recv = get_user_reg(regs, 1);
     uint32_t flags = get_user_reg(regs, 2);
     uint32_t w2 = 0;
@@ -132,11 +133,7 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
          */
         if ( ( flags  & FFA_NOTIF_FLAG_BITMAP_SP ) &&
              ( flags & FFA_NOTIF_FLAG_BITMAP_SPM ) )
-        {
-                struct ffa_ctx *ctx = d->arch.tee;
-
-                ACCESS_ONCE(ctx->notif.secure_pending) = false;
-        }
+            ACCESS_ONCE(ctx->notif.secure_pending) = false;
 
         arm_smccc_1_2_smc(&arg, &resp);
         e = ffa_get_ret_code(&resp);
@@ -156,6 +153,12 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
             w6 = resp.a6;
     }
 
+#ifdef CONFIG_FFA_VM_TO_VM
+    if ( flags & FFA_NOTIF_FLAG_BITMAP_HYP &&
+          test_and_clear_bool(ctx->notif.buff_full_pending) )
+        w7 = FFA_NOTIF_RX_BUFFER_FULL;
+#endif
+
     ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
 }
 
@@ -178,6 +181,19 @@ int ffa_handle_notification_set(struct cpu_user_regs *regs)
                            bitmap_hi);
 }
 
+#ifdef CONFIG_FFA_VM_TO_VM
+void ffa_raise_rx_buffer_full(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.tee;
+
+    if ( !ctx )
+        return;
+
+    if ( !test_and_set_bool(ctx->notif.buff_full_pending) )
+        vgic_inject_irq(d, d->vcpu[0], notif_sri_irq, true);
+}
+#endif
+
 /*
  * Extract a 16-bit ID (index n) from the successful return value from
  * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index bd6877d8c632..1f5067d5d0c9 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -210,6 +210,8 @@
 #define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
 #define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
 
+#define FFA_NOTIF_RX_BUFFER_FULL        BIT(0, U)
+
 /* Feature IDs used with FFA_FEATURES */
 #define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
 #define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
@@ -298,6 +300,13 @@ struct ffa_ctx_notif {
      * pending global notifications.
      */
     bool secure_pending;
+
+#ifdef CONFIG_FFA_VM_TO_VM
+    /*
+     * Pending Hypervisor framework notifications
+     */
+    bool buff_full_pending;
+#endif
 };
 
 struct ffa_ctx {
@@ -369,6 +378,10 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs);
 void ffa_handle_notification_get(struct cpu_user_regs *regs);
 int ffa_handle_notification_set(struct cpu_user_regs *regs);
 
+#ifdef CONFIG_FFA_VM_TO_VM
+void ffa_raise_rx_buffer_full(struct domain *d);
+#endif
+
 void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid);
 int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs);
 
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:51:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906553.1313995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treTK-0003zx-8b; Mon, 10 Mar 2025 14:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906553.1313995; Mon, 10 Mar 2025 14:51: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 1treTK-0003z4-4t; Mon, 10 Mar 2025 14:51:14 +0000
Received: by outflank-mailman (input) for mailman id 906553;
 Mon, 10 Mar 2025 14:51: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=t+uq=V5=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1treTJ-0002rH-3D
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:51:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1bfedb14-fdbf-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:51:12 +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 57F0626BE;
 Mon, 10 Mar 2025 07:51:23 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.38.103])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id ABFF63F5A1;
 Mon, 10 Mar 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: 1bfedb14-fdbf-11ef-9ab8-95dc52dad729
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2 4/5] xen/arm: ffa: Add indirect message between VM
Date: Mon, 10 Mar 2025 15:50:36 +0100
Message-ID: <2265f8a8c22034c629025f384acb4f33a4235387.1741617888.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1741617888.git.bertrand.marquis@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for indirect messages between VMs.
This is only enabled if CONFIG_FFA_VM_TO_VM is selected.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- Switch ifdef to IS_ENABLED
---
 xen/arch/arm/tee/ffa_msg.c     | 96 +++++++++++++++++++++++++++++++---
 xen/arch/arm/tee/ffa_private.h |  4 ++
 2 files changed, 92 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
index ee594e737fc7..336d5bbf64f6 100644
--- a/xen/arch/arm/tee/ffa_msg.c
+++ b/xen/arch/arm/tee/ffa_msg.c
@@ -96,9 +96,6 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
     uint16_t dst_id, src_id;
     int32_t ret;
 
-    if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( !spin_trylock(&src_ctx->tx_lock) )
         return FFA_RET_BUSY;
 
@@ -106,10 +103,10 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
     src_id = src_msg->send_recv_id >> 16;
     dst_id = src_msg->send_recv_id & GENMASK(15,0);
 
-    if ( src_id != ffa_get_vm_id(src_d) || !FFA_ID_IS_SECURE(dst_id) )
+    if ( src_id != ffa_get_vm_id(src_d) )
     {
         ret = FFA_RET_INVALID_PARAMETERS;
-        goto out_unlock_tx;
+        goto out;
     }
 
     /* check source message fits in buffer */
@@ -118,13 +115,96 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
          src_msg->msg_offset < sizeof(struct ffa_part_msg_rxtx) )
     {
         ret = FFA_RET_INVALID_PARAMETERS;
-        goto out_unlock_tx;
+        goto out;
     }
 
-    ret = ffa_simple_call(FFA_MSG_SEND2,
+    if ( FFA_ID_IS_SECURE(dst_id) )
+    {
+        /* Message for a secure partition */
+        if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
+        {
+            ret = FFA_RET_NOT_SUPPORTED;
+            goto out;
+        }
+
+        ret = ffa_simple_call(FFA_MSG_SEND2,
                           ((uint32_t)ffa_get_vm_id(src_d)) << 16, 0, 0, 0);
+        goto out;
+    }
 
-out_unlock_tx:
+    /* Message for a VM */
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        struct domain *dst_d;
+        struct ffa_ctx *dst_ctx;
+        struct ffa_part_msg_rxtx *dst_msg;
+        int err;
+
+        if ( dst_id == 0 )
+        {
+            /* FF-A ID 0 is the hypervisor, this is not valid */
+            ret = FFA_RET_INVALID_PARAMETERS;
+            goto out;
+        }
+
+        /* This is also checking that dest is not src */
+        err = rcu_lock_live_remote_domain_by_id(dst_id - 1, &dst_d);
+        if ( err )
+        {
+            ret = FFA_RET_INVALID_PARAMETERS;
+            goto out;
+        }
+
+        if ( dst_d->arch.tee == NULL )
+        {
+            ret = FFA_RET_INVALID_PARAMETERS;
+            goto out_unlock;
+        }
+
+        dst_ctx = dst_d->arch.tee;
+        if ( !dst_ctx->guest_vers )
+        {
+            ret = FFA_RET_INVALID_PARAMETERS;
+            goto out_unlock;
+        }
+
+        /* This also checks that destination has set a Rx buffer */
+        ret = ffa_rx_acquire(dst_d);
+        if ( ret )
+            goto out_unlock;
+
+        /* we need to have enough space in the destination buffer */
+        if ( dst_ctx->page_count * FFA_PAGE_SIZE <
+                (sizeof(struct ffa_part_msg_rxtx) + src_msg->msg_size) )
+        {
+            ret = FFA_RET_NO_MEMORY;
+            ffa_rx_release(dst_d);
+            goto out_unlock;
+        }
+
+        dst_msg = dst_ctx->rx;
+
+        /* prepare destination header */
+        dst_msg->flags = 0;
+        dst_msg->reserved = 0;
+        dst_msg->msg_offset = sizeof(struct ffa_part_msg_rxtx);
+        dst_msg->send_recv_id = src_msg->send_recv_id;
+        dst_msg->msg_size = src_msg->msg_size;
+
+        memcpy(dst_ctx->rx + sizeof(struct ffa_part_msg_rxtx),
+               src_ctx->tx + src_msg->msg_offset, src_msg->msg_size);
+
+        /* receiver rx buffer will be released by the receiver*/
+
+out_unlock:
+        rcu_unlock_domain(dst_d);
+        if ( !ret )
+            ffa_raise_rx_buffer_full(dst_d);
+    }
+    else
+        ret = FFA_RET_INVALID_PARAMETERS;
+
+out:
     spin_unlock(&src_ctx->tx_lock);
     return ret;
 }
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 1f5067d5d0c9..340db229453c 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -380,6 +380,10 @@ int ffa_handle_notification_set(struct cpu_user_regs *regs);
 
 #ifdef CONFIG_FFA_VM_TO_VM
 void ffa_raise_rx_buffer_full(struct domain *d);
+#else
+static inline void ffa_raise_rx_buffer_full(struct domain *d)
+{
+}
 #endif
 
 void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid);
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:51:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:51:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906555.1314005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treTM-0004In-Gb; Mon, 10 Mar 2025 14:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906555.1314005; Mon, 10 Mar 2025 14:51: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 1treTM-0004IW-Cb; Mon, 10 Mar 2025 14:51:16 +0000
Received: by outflank-mailman (input) for mailman id 906555;
 Mon, 10 Mar 2025 14:51: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=t+uq=V5=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1treTK-0002rH-Jy
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:51:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1cee860f-fdbf-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:51:14 +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 DA0C116F2;
 Mon, 10 Mar 2025 07:51:24 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.38.103])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 393AE3F5A1;
 Mon, 10 Mar 2025 07:51: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: 1cee860f-fdbf-11ef-9ab8-95dc52dad729
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
Date: Mon, 10 Mar 2025 15:50:37 +0100
Message-ID: <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1741617888.git.bertrand.marquis@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When VM to VM support is activated and there is no suitable FF-A support
in the firmware, enable FF-A support for VMs to allow using it for VM to
VM communications.
If there is Optee running in the secure world and using the non FF-A
communication system, having CONFIG_FFA_VM_TO_VM could be non functional
(if optee is probed first) or Optee could be non functional (if FF-A is
probed first) so it is not recommended to activate the configuration
option for such systems.

To make buffer full notification work between VMs when there is not
firmware, rework the notification handling and modify the global flag to
only be used as check for firmware notification support instead.

Modify part_info_get to return the list of VMs when there is no firmware
support.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- replace ifdef with IS_ENABLED when possible
---
 xen/arch/arm/tee/ffa.c          |  12 +++-
 xen/arch/arm/tee/ffa_notif.c    | 114 ++++++++++++++++----------------
 xen/arch/arm/tee/ffa_partinfo.c |   3 +-
 3 files changed, 69 insertions(+), 60 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 3bbdd7168a6b..f6582d2e855a 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -324,8 +324,9 @@ static int ffa_domain_init(struct domain *d)
     struct ffa_ctx *ctx;
     int ret;
 
-    if ( !ffa_fw_version )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !ffa_fw_version )
         return -ENODEV;
+
     /*
      * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A ID 0 is
      * reserved for the hypervisor and we only support secure endpoints using
@@ -549,6 +550,15 @@ err_no_fw:
     bitmap_zero(ffa_fw_abi_supported, FFA_ABI_BITMAP_SIZE);
     printk(XENLOG_WARNING "ARM FF-A No firmware support\n");
 
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        INIT_LIST_HEAD(&ffa_teardown_head);
+        init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
+
+        printk(XENLOG_INFO "ARM FF-A only available between VMs\n");
+        return true;
+    }
+
     return false;
 }
 
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index d19aa5c5bef6..0673e53a9def 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -16,7 +16,7 @@
 
 #include "ffa_private.h"
 
-static bool __ro_after_init notif_enabled;
+static bool __ro_after_init fw_notif_enabled;
 static unsigned int __ro_after_init notif_sri_irq;
 
 int ffa_handle_notification_bind(struct cpu_user_regs *regs)
@@ -27,21 +27,17 @@ int ffa_handle_notification_bind(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
     if ( flags )    /* Only global notifications are supported */
         return FFA_RET_DENIED;
 
-    /*
-     * We only support notifications from SP so no need to check the sender
-     * endpoint ID, the SPMC will take care of that for us.
-     */
-    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_lo,
-                           bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
+        return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags,
+                               bitmap_lo, bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
@@ -51,32 +47,34 @@ int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
-    /*
-     * We only support notifications from SP so no need to check the
-     * destination endpoint ID, the SPMC will take care of that for us.
-     */
-    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo,
-                            bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
+        return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo,
+                                bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
+    bool notif_pending = false;
 
-    if ( !notif_enabled )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
     {
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return;
     }
 
-    if ( test_and_clear_bool(ctx->notif.secure_pending) )
+    notif_pending = ctx->notif.secure_pending;
+#ifdef CONFIG_FFA_VM_TO_VM
+    notif_pending |= ctx->notif.buff_full_pending;
+#endif
+
+    if ( notif_pending )
     {
         /* A pending global notification for the guest */
         ffa_set_regs(regs, FFA_SUCCESS_64, 0,
@@ -103,7 +101,7 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
     uint32_t w6 = 0;
     uint32_t w7 = 0;
 
-    if ( !notif_enabled )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
     {
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return;
@@ -115,7 +113,8 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM ) )
+    if ( fw_notif_enabled && (flags & ( FFA_NOTIF_FLAG_BITMAP_SP
+                                        | FFA_NOTIF_FLAG_BITMAP_SPM )) )
     {
         struct arm_smccc_1_2_regs arg = {
             .a0 = FFA_NOTIFICATION_GET,
@@ -170,15 +169,14 @@ int ffa_handle_notification_set(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst >> 16) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
-    /* Let the SPMC check the destination of the notification */
-    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
-                           bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
+        return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
+                               bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 #ifdef CONFIG_FFA_VM_TO_VM
@@ -190,7 +188,7 @@ void ffa_raise_rx_buffer_full(struct domain *d)
         return;
 
     if ( !test_and_set_bool(ctx->notif.buff_full_pending) )
-        vgic_inject_irq(d, d->vcpu[0], notif_sri_irq, true);
+        vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID, true);
 }
 #endif
 
@@ -363,7 +361,7 @@ void ffa_notif_init_interrupt(void)
 {
     int ret;
 
-    if ( notif_enabled && notif_sri_irq < NR_GIC_SGI )
+    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
     {
         /*
          * An error here is unlikely since the primary CPU has already
@@ -394,41 +392,41 @@ void ffa_notif_init(void)
     int ret;
 
     /* Only enable fw notification if all ABIs we need are supported */
-    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
-        return;
-
-    arm_smccc_1_2_smc(&arg, &resp);
-    if ( resp.a0 != FFA_SUCCESS_32 )
-        return;
-
-    irq = resp.a2;
-    notif_sri_irq = irq;
-    if ( irq >= NR_GIC_SGI )
-        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
-    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
-    if ( ret )
+    if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64) )
     {
-        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
-               irq, ret);
-        return;
-    }
+        arm_smccc_1_2_smc(&arg, &resp);
+        if ( resp.a0 != FFA_SUCCESS_32 )
+            return;
 
-    notif_enabled = true;
+        irq = resp.a2;
+        notif_sri_irq = irq;
+        if ( irq >= NR_GIC_SGI )
+            irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
+        ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
+        if ( ret )
+        {
+            printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
+                   irq, ret);
+            return;
+        }
+        fw_notif_enabled = true;
+    }
 }
 
 int ffa_notif_domain_init(struct domain *d)
 {
     int32_t res;
 
-    if ( !notif_enabled )
-        return 0;
+    if ( fw_notif_enabled )
+    {
 
-    res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
-    if ( res )
-        return -ENOMEM;
+        res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
+        if ( res )
+            return -ENOMEM;
+    }
 
     return 0;
 }
@@ -439,6 +437,6 @@ void ffa_notif_domain_destroy(struct domain *d)
      * Call bitmap_destroy even if bitmap create failed as the SPMC will
      * return a DENIED error that we will ignore.
      */
-    if ( notif_enabled )
+    if ( fw_notif_enabled )
         ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
 }
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index 7af1eca2d0c4..291396c8f635 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -130,7 +130,8 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
         goto out;
     }
 
-    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) &&
+         !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
     {
         /* Just give an empty partition list to the caller */
         ret = FFA_RET_OK;
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 14:54:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 14:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906586.1314015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1treW4-00068W-3H; Mon, 10 Mar 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 906586.1314015; Mon, 10 Mar 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 1treW3-00068P-Va; Mon, 10 Mar 2025 14:54:03 +0000
Received: by outflank-mailman (input) for mailman id 906586;
 Mon, 10 Mar 2025 14:54: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1treW2-00068J-Kp
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 14:54:02 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8070529a-fdbf-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 15:54:01 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-223a7065ff8so3916295ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 07:54:01 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-224109ddffesm79144255ad.40.2025.03.10.07.53.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 07: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: 8070529a-fdbf-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741618440; x=1742223240; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=GSiMMHGI8EanCCUYMIv7epoBbhuUZMy/wy/tMSVGDtA=;
        b=MPqnaYbakZSI7FL9RiBbQ4s2jMsQBBHxdfpG9tlhuDchUup4hUq7oHvbY3YUoGW0cY
         IvpbU/KeBRuSKCWiSnadCdk17kQJyAEXvrXEIaGzyUXRPjAX/e6toGBhinFXwfHApBv4
         03qNQkByJYb5j0M3qNLZN0UhogS5sXe5BR88o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741618440; x=1742223240;
        h=in-reply-to: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=GSiMMHGI8EanCCUYMIv7epoBbhuUZMy/wy/tMSVGDtA=;
        b=HQS/eN2nK1NkAbxcwmfMbcFmC5/Cn+YjmgWTel/yZBkyd11vp4lI5R0v7ulmsyi6vB
         eCptoowVSZ2vDQDifD6I8ndiN0Gf8kSqQZ+Nul5XO5IfoyMWrBtDGKdEKmgayrN9h9wg
         +ok1d8g3Z0wRs3cpwqhgBo7wKWbf4zmaSRW+PYuNW/zSwvZMaieJ9X44gIWvUsj8L4nF
         i8Mfd6GPQuUXKB3Av8lIdwTgItNQaIw6rGjSfFC7U4VrsGvU6DUetSumaCfLhoc8RLYu
         kzgvFvT69u12nImqbPoula4L7wL/40iBshBakigFhv/Elo4VwcKKZAz5ytbwltmOwzVn
         DdfA==
X-Gm-Message-State: AOJu0Yw9NilV4fGn/2tuAYe2E/CkncoW9fAggRv9uPFKwUv78LlWS/BU
	2O/Mga7K1R9axmLesBOFDbEEoW/X+yBPcoA7kccZcfBQPsbc+DdUQ5CMxIDu3C0=
X-Gm-Gg: ASbGnct3R97v98ZqR7qIh7MFr6UAPnLfX/plv45hVQrKqhxYZ5e9Ew34Pv+213HwVax
	IkpTWolsY7Q1PhGPRSxXYA4tV8uq5ZnVvrOUIw7Mr0xERoAlHgqmn8nmcxmtJhMOLmdVt8A3uE/
	q8pH4mbs8bd50uzER2znlUguoF7nbelCnzH4DSm+HtDrt+ybd3dFniMwejh4K7sjIK02I8txdzL
	l6tGSMaljICK92wlc10ypkFUSUaAYfxw3IAV1zLUOFztGbqn/u/jWarteG7g/+NkqI6Fkr3zt5q
	npLUxezXWGkCOFuNVTTvHWBfhbjJiFyBExiruoNi40mhr082TwS38GcckWDLXoaJdg==
X-Google-Smtp-Source: AGHT+IHdPnbS6pan7R9AhhqjzrysvYWcJy+YeyNcHtrzTKZjIOxDo70x79/nkmAIqBVUzCiYqDHmng==
X-Received: by 2002:a17:903:2f8a:b0:224:1579:5e91 with SMTP id d9443c01a7336-22428ad58camr166641595ad.47.1741618440104;
        Mon, 10 Mar 2025 07:54:00 -0700 (PDT)
Date: Mon, 10 Mar 2025 15:53:54 +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>
Subject: Re: [PATCH 1/3] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
Message-ID: <Z879Aq-UNj-Jz5S1@macbook.local>
References: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@suse.com>
 <88d24595-50be-4f99-97d6-9126340b791e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <88d24595-50be-4f99-97d6-9126340b791e@suse.com>

On Wed, Feb 26, 2025 at 12:52:27PM +0100, Jan Beulich wrote:
> Handling of both grants and foreign pages was different between the two
> paths.
> 
> While permitting access to grants would be desirable, doing so would
> require more involved handling; undo that for the time being. In
> particular the page reference obtained would prevent the owning domain
> from changing e.g. the page's type (after the grantee has released the
> last reference of the grant). Instead perhaps another reference on the
> grant would need obtaining. Which in turn would require determining
> which grant that was.
> 
> Foreign pages in any event need permitting on both paths.
> 
> Introduce a helper function to be used on both paths, such that
> respective checking differs in just the extra "to be unshared" condition
> on the fast path.
> 
> While there adjust the sanity check for foreign pages: Don't leak the
> reference on release builds when on a debug build the assertion would
> have triggered. (Thanks to Roger for the suggestion.)
> 
> Fixes: 80ea7af17269 ("x86/mm: Introduce get_page_from_gfn()")
> Fixes: 50fe6e737059 ("pvh dom0: add and remove foreign pages")
> Fixes: cbbca7be4aaa ("x86/p2m: make p2m_get_page_from_gfn() handle grant case correctly")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Just a couple of nits below (with a reply to your RFC).

> ---
> RFC: While the helper could take const struct domain * as first
>      parameter, for a P2M function it seemed more natural to have it
>      take const struct p2m_domain *.
> 
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -328,12 +328,45 @@ void p2m_put_gfn(struct p2m_domain *p2m,
>      gfn_unlock(p2m, gfn_x(gfn), 0);
>  }
>  
> +static struct page_info *get_page_from_mfn_and_type(
> +    const struct p2m_domain *p2m, mfn_t mfn, p2m_type_t t)

Re your RFC: since it's a static function, just used for
p2m_get_page_from_gfn(), I would consider passing a domain instead of
a p2m_domain, as the solely usage of p2m is to obtain the domain.

> +{
> +    struct page_info *page;
> +
> +    if ( !mfn_valid(mfn) )
> +        return NULL;
> +
> +    page = mfn_to_page(mfn);
> +
> +    if ( p2m_is_ram(t) )

Should this be a likely() to speed up the common successful path?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 15:00:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 15:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906597.1314025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trebq-0006ze-Nj; Mon, 10 Mar 2025 15:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906597.1314025; Mon, 10 Mar 2025 15:00: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 1trebq-0006z5-Ja; Mon, 10 Mar 2025 15:00:02 +0000
Received: by outflank-mailman (input) for mailman id 906597;
 Mon, 10 Mar 2025 15:00: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=UYYE=V5=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1trebp-0006pH-K0
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 15:00:01 +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 51782d38-fdc0-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 15:59:51 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so771496f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 07:59:51 -0700 (PDT)
Received: from [10.81.43.157] ([46.149.103.13])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfbab43sm15477715f8f.15.2025.03.10.07.59.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 07:59: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: 51782d38-fdc0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741618791; x=1742223591; 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=XoMF72ldFEVyvJcGPXpkMpwhRk+FJSDUzxs+WCXi934=;
        b=T3p9xkToxngMyRHcNusg1yq65nvYwkuUA2DTlkeI82e2vAhDA77JhovoATIic6M1or
         /A8xeVCUHbRdxXP3XofQN8cnqnXvav+GGyMnNtcmtrjm6xk6g2uhVMLIu0A0FryXwsv8
         jtWsYytj9L+8gwKA/UAhQTT0T7DMfbzT0Nf9w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741618791; x=1742223591;
        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=XoMF72ldFEVyvJcGPXpkMpwhRk+FJSDUzxs+WCXi934=;
        b=ZXl0MJsC4YHzhhCBzjBlA+NyZXzu41FhPrZ9nqhR2C5l/bO+k+mHw7hN6NsbRhOHMN
         uEwtkWiTVAPt4xoU3BOR1DheuoXRtGiONZXRkj7/fcxfrXTYuNFi5htLaV8mJX7Et+nm
         IV/NMMS5Ji8W/sCoRY9TVI1FvNDnVjUfAdJKqIrPv8mWP6BDLCNyszK/bR9FWs6+pD9h
         n0T3s1OaetnoJyVs443NmiAojxYf02KCrbDakqzixBID/qvGnKgjZHvZzTXrkMC/Pmfw
         NVTAFl+9dYy9JGErjMAjLVcA3xE8k6fJueYBleHWinPFXkWOm5XY1h9dZ2nlN5UdcLoq
         2yUg==
X-Forwarded-Encrypted: i=1; AJvYcCX62fT9b0m55sxvDmtyYOjFWTCpufxq0/sDO/F+sHoduhQGVhhPv53hkOE8oIBJ5DwI/Th9M+wzTMs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwAEpegDKxiRtW4S3VEkf7i5RNuQp5M06YEbYWqfMKa2zQ+wnE2
	GvcLasNBwgi/domLsHfKI1eszDjeGYeo7LgDMCfCgu5fukdguoN5vBmfjU8iijY=
X-Gm-Gg: ASbGnctC7rB3uzQaqetUX83Ieo8NI4yynmr/chDTXX50aGiESj8uGkmD3UwmGI80Jf+
	oCynvd2KVQiY6Gsmxni5tptMcWPGSm9RgUWDQ7BwQPVWwP8uDOoIctWBnLfYghDgxDb09J9IukT
	GBkhVQbCoQrH/A8ZzX0yJ3P371zsmjymYtGlVRO/mjXj0mYqyWCHFOMcwhlSlhs++HrbMHRzN3Q
	js39pwGe4LuEnNIvazEaLA45QZbSZvuMP9UB4nsXTi1G3pO/OFwYDiXqpu+6FA1NEKEHT/NrCsn
	iZ31qk1nzQWBZ3Zu1DYaM7n8O6Li5F8O1t6shSHCVo4eDeUZnU/kDGc=
X-Google-Smtp-Source: AGHT+IFJap4kGoael+n4TVmhvc8g6O/Tq5Uae9SRuM9LM4r0kz+PKG55mQa5XGRjBQXc7coSWM/exw==
X-Received: by 2002:a5d:5982:0:b0:391:476f:d3b7 with SMTP id ffacd0b85a97d-391476fd660mr3777608f8f.49.1741618791011;
        Mon, 10 Mar 2025 07:59:51 -0700 (PDT)
Message-ID: <0edc059b-5dad-40d3-8b77-beac53c269a1@citrix.com>
Date: Mon, 10 Mar 2025 14:59:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/domain: Initialise the domain handle before inserting
 into the domlist
To: Jan Beulich <jbeulich@suse.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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250307164637.3087855-1-andrew.cooper3@citrix.com>
 <169bd7cf-dab9-4ecd-b951-a5ee6cbc069f@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: <169bd7cf-dab9-4ecd-b951-a5ee6cbc069f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/03/2025 8:23 am, Jan Beulich wrote:
> On 07.03.2025 17:46, Andrew Cooper wrote:
>> As soon as the the domain is in the domlist, it can be queried via various
>> means, ahead of being fully constructed.  Ensure it the UUID give by the
>> toolstack is in place ahead of this.
> Nit: The latter sentence is a little bumpy to read.

Oh, yes.Â  Fixed.

>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 15:16:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 15:16:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906635.1314038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trery-00030v-0v; Mon, 10 Mar 2025 15:16:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906635.1314038; Mon, 10 Mar 2025 15:16: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 1trerx-00030o-UV; Mon, 10 Mar 2025 15:16:41 +0000
Received: by outflank-mailman (input) for mailman id 906635;
 Mon, 10 Mar 2025 15: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trerw-00030i-Cb
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 15:16:40 +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 aa23f9de-fdc2-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 16:16:39 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-aaec111762bso854487166b.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 08:16:39 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac299a025c7sm245620866b.51.2025.03.10.08.16.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 08:16: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: aa23f9de-fdc2-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741619799; x=1742224599; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=dww1+06DIPLPQDq7Ov7sai2y9qymQatYglEhwpqcP/g=;
        b=tM8ejOQHVU9KGfWsnzO4YbPz9kyD+4WndCAjD06hvqa3NrQ7TSfDW3aqhlSn0eIL4I
         p1EVscMpmPIsVYf58gklZPylABLiEra37LZ0upBWfT6lG+w3/lf+TTxaRl/tlzx236KC
         9KQWU4FLF/wVrkqZD55nZHjd0qoFraQ7wrR4Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741619799; x=1742224599;
        h=in-reply-to: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=dww1+06DIPLPQDq7Ov7sai2y9qymQatYglEhwpqcP/g=;
        b=impyiN3iIC9uVdbT/bSmEcOFfFxQmGBhaYQfRuNKPoOGQIDvs3MC0qJBVrYXlMIXlm
         AgPa2st9BCz7ToUZXkXeI17Ugpq9RHunrWj3LnS8ddWEX7P1te2UFQF9vOxMQWxKPu4x
         VyCEwsY5Y4RH9y+k6okcj31EJOAaTtIGhuWAyUd+Y1zn9A33Inhfmuzk1nl0dcSkkXiz
         zLH7vCPjQH0Jq6I0RkKT1nXBxgiKSy7QU1+nfuNfyVkcE3US2ux7tC122zzFipsSR77X
         W3yFfAvs1tSJUep6qnZxs11mh5Ln2FDqdZqOjyF6VoGIhiS3nfWFJYyg8SgrKJct3+3v
         sKTQ==
X-Gm-Message-State: AOJu0Yy0qu99GAw6f+m+OEfigjODK71ISY3tCkH8mOgNrgp7cAZqfqGl
	iQrq4Xr5GFeoCcTdEh9tBmdBoTO549RMNlhJWCcnVqzmdzwTxvVoIF6Cms5++Wxc2uueMN7bc5O
	Z
X-Gm-Gg: ASbGncuacgrkANVV7ow5nNe8TIEReWftGDyiFEEABaF6koJeyWMJqjjKf9b+7GIN1O4
	7Al2/4FmI0411AmHx02U0w+gHDcnkY1+LPZOJhfOO6SCKKp57A9oVtNZrpGgN+uzAixmBtPEPvO
	dTuqHELUlttqNmJBwrmPhyrp3HhrNObBcmoFBaSgH4C8P+NdG5XUAZrIwr+QvEsb9zVxdz9mp9+
	J2WEDOXSbhFbrmLiEoPxbBXAtvZ+ZasQK8m8hAykZtp8D9rDbX1vd4O3tU7OPsPWW7zABupuF4i
	lZH9ZI6ggtNue5TrM74ao15kdfsaLnIBsBxSWbsenvU7us6RTY9bD2w=
X-Google-Smtp-Source: AGHT+IGFlu4kOn0/HSwdC5dt8aexx9bq1FB9SX20uUjwTSLdBYAJmj/gIP/KeMK8o3tSvFzu5DN9ig==
X-Received: by 2002:a17:907:97d5:b0:abf:6166:d0e0 with SMTP id a640c23a62f3a-ac252fb9c80mr1782390266b.35.1741619798727;
        Mon, 10 Mar 2025 08:16:38 -0700 (PDT)
Date: Mon, 10 Mar 2025 16:16: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>
Subject: Re: [PATCH 2/3] x86/P2M: correct old entry checking in
 p2m_remove_entry()
Message-ID: <Z88CVK0wjer8sXJm@macbook.local>
References: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@suse.com>
 <b9f829c3-dc7d-4023-b58a-49527742a5f0@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b9f829c3-dc7d-4023-b58a-49527742a5f0@suse.com>

On Wed, Feb 26, 2025 at 12:52:45PM +0100, Jan Beulich wrote:
> Using p2m_is_valid() isn't quite right here. It expanding to RAM+MMIO,
> the subsequent p2m_mmio_direct check effectively reduces its use to
> RAM+MMIO_DM. Yet MMIO_DM entries, which are never marked present in the
> page tables, won't pass the mfn_valid() check. It is, however, quite
> plausible (and supported by the rest of the function) to permit
> "removing" hole entries, i.e. in particular to convert MMIO_DM to
> INVALID. Which leaves the original check to be against RAM (plus MFN
> validity), while HOLE then instead wants INVALID_MFN to be passed in.
> 
> Further more grant and foreign entries (together with RAM becoming
> ANY_RAM) as well as BROKEN want the MFN checking, too.
> 
> All other types (i.e. MMIO_DIRECT and POD) want rejecting here rather
> than skipping, for needing handling / accounting elsewhere.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Paging/sharing types likely need further customization here. Paths
> leading here differ in their handling (e.g. guest_remove_page() special-
> casing paging types vs XENMEM_remove_from_physmap not doing so), so it's
> not even clear what the intentions are for those types.
> 
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -531,9 +531,9 @@ p2m_remove_entry(struct p2m_domain *p2m,
>          mfn_t mfn_return = p2m->get_entry(p2m, gfn_add(gfn, i), &t, &a, 0,
>                                            &cur_order, NULL);
>  
> -        if ( p2m_is_valid(t) &&
> -             (!mfn_valid(mfn) || t == p2m_mmio_direct ||
> -              !mfn_eq(mfn_add(mfn, i), mfn_return)) )
> +        if ( p2m_is_any_ram(t) || p2m_is_broken(t)
> +             ? !mfn_valid(mfn) || !mfn_eq(mfn_add(mfn, i), mfn_return)

In the commit message you mention that MMIO_DIRECT wants rejecting
here, yet I think some MMIO_DIRECT mfns can be valid IIRC, and hence
would satisfy the check here?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 15:21:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 15:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906649.1314048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trex1-0004Wn-Iz; Mon, 10 Mar 2025 15:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906649.1314048; Mon, 10 Mar 2025 15: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 1trex1-0004Wg-Fa; Mon, 10 Mar 2025 15:21:55 +0000
Received: by outflank-mailman (input) for mailman id 906649;
 Mon, 10 Mar 2025 15: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trex0-0004Wa-3X
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 15:21:54 +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 649a32d2-fdc3-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 16:21:52 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e5e1a38c1aso3824175a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 08:21:52 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac256654fa6sm628702366b.93.2025.03.10.08.21.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 08:21: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: 649a32d2-fdc3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741620111; x=1742224911; darn=lists.xenproject.org;
        h=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=YvsmoTGvbmgyYg/4fdn6nDOzpMN5T7rLhMpf0PuRFwI=;
        b=GGVjbGByU8FJHuCpa3vPvDw5KeEmlRdwCNxuv4wzg9WX3R1jpOK/A+ofqh9zowW8gu
         yYxqou0ZQkHOm2u39stUVULq6LyGFwVy29adWGbzVeQiIQthybwq1ZLpVE6TZ2j5YgOq
         vyu2xqfZ4YYny0wSELhitIBrhBUsRgBqPeE9U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741620111; x=1742224911;
        h=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=YvsmoTGvbmgyYg/4fdn6nDOzpMN5T7rLhMpf0PuRFwI=;
        b=Qv6FFRJCGNJDctUCbLWv9Sg/hVhAO0eBE6q+u1r25npKG5YQ77GjmK3sY7LPahN5Xt
         3Bz5U/Le7yLeRxkjdvQjML5ASQUNIxMJChZ8y1t7aDfjc+fLIsSRhyhKnUo7KSC608nd
         klrEtGy5eMMGPL3+rc8htOfAi+R1foH6/KhWvIzR0KCpU6v/YxjAX6eWP03rI1KJjiM8
         2r3c5/7fc2l0ifKzV8OliqEjlE1cpHRSqKOvOFP63bytx1fAAnzoKlHddS+PFUVNKBJ0
         9yYGLfyNuJPlLGYOtDg9g/ODIbZ+hA+Gu9xk07MlkQeMkyPmfV9pXdFRYFUIODUeu4Mk
         wgeQ==
X-Forwarded-Encrypted: i=1; AJvYcCUGfndLTz3T6wpY/mgeaywgp2417x+MZjzDg3EjZ7fFWUmqDvSMtfmKk+WyYlkrcFcrL6xkypiXTfA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyRIVccxzo1CBBgVh1hxikVmc9T+guoK//pyrtF1E5zcQbiu5Lr
	xllycqA9nYigiyq+1SU8FSd+zUWEf1qHl74cgqhlBnfmRXID1JyQDYLaNDW3HGE=
X-Gm-Gg: ASbGncsO0+SKa8nC6TMYSgZ2AkxOuaJTViYvdMryRHYU9NmZlt/YEDcToMush4osrel
	8EEA9mxOvIA6V714iRFCMF3DAEHj+mDRNW+P6Z9ydkLQ2NqWVfuhx/Au4sP0UirNowYASp7f/d+
	v+oMlg4DKIIm2/yo/8jQl+i4wrnPdmMukvSSeYbSQ9P7OHt+1f5wp+ogbkmR3PlRn6ii9lVMIZm
	pM3DETa3twVGsJF0WmDMqnS+be6HpGc1wKzHg1TMKNOGuUhff8O85s3JVajCgdT0L3ZUWT6TDtD
	nEU4n39sPtUMN409h0qgn0hJsjmo1Vk50R+1DYIlkkhekoSZNPOfObo=
X-Google-Smtp-Source: AGHT+IExB6AMSdjkUXsJNcIniZFtN1zzOFbMM2/fpPrEg0yrlnGzdWA2pBoYOw7rJ/U1Z2jE82MXLg==
X-Received: by 2002:a05:6402:42d4:b0:5e0:8c55:50d with SMTP id 4fb4d7f45d1cf-5e5e22cbc79mr41698744a12.14.1741620111552;
        Mon, 10 Mar 2025 08:21:51 -0700 (PDT)
Date: Mon, 10 Mar 2025 16:21:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/3] x86/P2M: correct old entry checking in
 p2m_remove_entry()
Message-ID: <Z88DjsyhQxh4d0Yr@macbook.local>
References: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@suse.com>
 <b9f829c3-dc7d-4023-b58a-49527742a5f0@suse.com>
 <Z88CVK0wjer8sXJm@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Z88CVK0wjer8sXJm@macbook.local>

On Mon, Mar 10, 2025 at 04:16:36PM +0100, Roger Pau MonnĂŠ wrote:
> On Wed, Feb 26, 2025 at 12:52:45PM +0100, Jan Beulich wrote:
> > Using p2m_is_valid() isn't quite right here. It expanding to RAM+MMIO,
> > the subsequent p2m_mmio_direct check effectively reduces its use to
> > RAM+MMIO_DM. Yet MMIO_DM entries, which are never marked present in the
> > page tables, won't pass the mfn_valid() check. It is, however, quite
> > plausible (and supported by the rest of the function) to permit
> > "removing" hole entries, i.e. in particular to convert MMIO_DM to
> > INVALID. Which leaves the original check to be against RAM (plus MFN
> > validity), while HOLE then instead wants INVALID_MFN to be passed in.
> > 
> > Further more grant and foreign entries (together with RAM becoming
> > ANY_RAM) as well as BROKEN want the MFN checking, too.
> > 
> > All other types (i.e. MMIO_DIRECT and POD) want rejecting here rather
> > than skipping, for needing handling / accounting elsewhere.
> > 
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > Paging/sharing types likely need further customization here. Paths
> > leading here differ in their handling (e.g. guest_remove_page() special-
> > casing paging types vs XENMEM_remove_from_physmap not doing so), so it's
> > not even clear what the intentions are for those types.
> > 
> > --- a/xen/arch/x86/mm/p2m.c
> > +++ b/xen/arch/x86/mm/p2m.c
> > @@ -531,9 +531,9 @@ p2m_remove_entry(struct p2m_domain *p2m,
> >          mfn_t mfn_return = p2m->get_entry(p2m, gfn_add(gfn, i), &t, &a, 0,
> >                                            &cur_order, NULL);
> >  
> > -        if ( p2m_is_valid(t) &&
> > -             (!mfn_valid(mfn) || t == p2m_mmio_direct ||
> > -              !mfn_eq(mfn_add(mfn, i), mfn_return)) )
> > +        if ( p2m_is_any_ram(t) || p2m_is_broken(t)
> > +             ? !mfn_valid(mfn) || !mfn_eq(mfn_add(mfn, i), mfn_return)
> 
> In the commit message you mention that MMIO_DIRECT wants rejecting
> here, yet I think some MMIO_DIRECT mfns can be valid IIRC, and hence
> would satisfy the check here?

Never mind, p2m_is_any_ram() doesn't allow MMIO_DIRECT, and hence
won't get into the mfn_valid() check in the first place.  I was
getting confused with the previous p2m_is_valid().

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 15:25:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 15:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906658.1314059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trf0a-00055R-11; Mon, 10 Mar 2025 15:25:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906658.1314059; Mon, 10 Mar 2025 15:25: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 1trf0Z-00055K-Uc; Mon, 10 Mar 2025 15:25:35 +0000
Received: by outflank-mailman (input) for mailman id 906658;
 Mon, 10 Mar 2025 15:25: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trf0X-00055B-SZ
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 15:25:33 +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 e8368e74-fdc3-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 16:25:32 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so808770566b.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 08:25:32 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac2b68b53a0sm24814366b.62.2025.03.10.08.25.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 08:25: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: e8368e74-fdc3-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741620332; x=1742225132; darn=lists.xenproject.org;
        h=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=vHLt/k8UafD//JOBgmMroG9drHMiJW1DW8qYAU21W4I=;
        b=UBl2DAa6QtNHmaUSSClxydqpgWfHj+pVb9ZvAtZxBFiNrSBarCI0O+dw7HTCiA53nM
         jK9qcUdVhITPsQocJtnX5RioVurNYstM33RdPuxPvJnkf9Qm8rCH/WAUJMCSthcccRsW
         sHDwopcBoE3xS3Q6CJeSBcYzVXhEQ0j95blfs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741620332; x=1742225132;
        h=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=vHLt/k8UafD//JOBgmMroG9drHMiJW1DW8qYAU21W4I=;
        b=fbXRbXCYdlIinLksQZI3A5+1WIA6rqE1A4KBUZsW5FLINudndLh0qkI4pdpvT8PswW
         yQE1Mfp+j8TyPD3XfrPaL9QcWlvhAJzKiKoEvSNwIfHocBlbRaXhoKTcfMzWJ91xuBcC
         eO6ql8UwjSOqB5jE/BSw7fILCgO5RYa0cjI31m8zTn3yq0Z0/7mdlTZT08Nkl7953dT7
         tR5XE0zEZvYc40+5gE6sVDua59xKer46K6WIQIBBYAT4/67kxN99DNrB0COwJYmICxRk
         nbkeIJSlr+TWOB9568ofCqXP3qWgmBG34wlU34AVXbAj+ls7QxP5BFJLOaI4B0/3zny2
         iRXA==
X-Gm-Message-State: AOJu0YzGLNE9jowytRKm2+rZ3UNOCdlPE1JOKv6Fcz8cUWleqikdQgGO
	MXEBGO23+dJIBCg9fhAvfZ/IVsgue0ly8PMRaFN8nmIF1XKfroPHn1OoOqbb9I0=
X-Gm-Gg: ASbGnctNhn7DKusIQW0R35vpCKE70F/wAZCy4utYnA/KiH+XYcC7N9GpadxDDEkC/Ye
	VQZ65gpoqCOBUT7yS0x7ZBAwv4k6VQK4/tMuEZsyKHjv7o42g72tEQQMnPZ1az5tXcVbe03VYHI
	IVlBH0HgBhexyySV+o5Egcwbhn/vELAQEHVeEwSisOnNBvef9E57dPZRW0IqYDJT9PVKia7WOFO
	Km2JHB/kaUyhf5GmYMHrwSDAzdFz7/0/oyXos9f3LXgCDl4sSmKkBD3r2/UPwmSaKqDAv3RWSu7
	vNNC9oUay6xR0ggpasrDkUMxPmBPrLiqQ6omTCfKACjFtEh8BlK7IGd6R1Lysq2w0Q==
X-Google-Smtp-Source: AGHT+IEtUkH7mco0QSFN8CjJ/zP6tyhITpmWFPP6aFVDazreZrwZWUY69Y5KRiCMBlgWnS9XKlut6g==
X-Received: by 2002:a17:907:97d5:b0:ac1:f5a4:6da5 with SMTP id a640c23a62f3a-ac252ba28efmr1951653366b.37.1741620332370;
        Mon, 10 Mar 2025 08:25:32 -0700 (PDT)
Date: Mon, 10 Mar 2025 16:25:31 +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>
Subject: Re: [PATCH 3/3] x86/P2M: don't include MMIO_DM in p2m_is_valid()
Message-ID: <Z88Ea1Qvork6ytkw@macbook.local>
References: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@suse.com>
 <2c9885d4-4a9f-4998-b0fa-15c17115fa1e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2c9885d4-4a9f-4998-b0fa-15c17115fa1e@suse.com>

On Wed, Feb 26, 2025 at 12:53:14PM +0100, Jan Beulich wrote:
> MMIO_DM specifically marks pages which aren't valid, much like INVALID
> does. Dropping the type from the predicate
> - (conceptually) corrects _sh_propagate(), where the comment says that
>   "something valid" is needed (the only call path not passing in RAM_RW
>   would pass in INVALID_GFN along with MMIO_DM),
> - is benign to the use in sh_page_fault(), where the subsequent
>   mfn_valid() check would otherwise cause the same bail-out code path to
>   be taken,
> - is benign to all three uses in p2m_pt_get_entry(), as MMIO_DM entries
>   will only ever yield non-present entries, which are being checked for
>   earlier,
> - is benign to sh_unshadow_for_p2m_change(), for the same reason,
> - is benign to gnttab_transfer() with EPT not in use, again because
>   MMIO_DM entries will only ever yield non-present entries, and
>   INVALID_MFN is returned for those anyway by p2m_pt_get_entry().
> - for gnttab_transfer() with EPT in use (conceptually) corrects the
>   corner case of a page first being subject to XEN_DMOP_set_mem_type
>   converting a RAM type to MMIO_DM (which retains the MFN in the entry),
>   and then being subject to GNTTABOP_transfer, except that steal_page()
>   would later make the operation fail unconditionally anyway.
> 
> While there also drop the unused (and otherwise now redundant)
> p2m_has_emt().
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

It's tightening an existing check (making it more restrictive), so as
long as current users can deal with it.

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 15:25:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 15:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906661.1314070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trf0r-0005VU-Cl; Mon, 10 Mar 2025 15:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906661.1314070; Mon, 10 Mar 2025 15:25: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 1trf0r-0005VL-8f; Mon, 10 Mar 2025 15:25:53 +0000
Received: by outflank-mailman (input) for mailman id 906661;
 Mon, 10 Mar 2025 15:25: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=mVaD=V5=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1trf0p-00055B-RR
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 15:25:51 +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 f32d9110-fdc3-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 16:25:51 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-ac2963dc379so169174466b.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 08:25:51 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2a65c7f7esm147674966b.117.2025.03.10.08.25.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 08:25: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: f32d9110-fdc3-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741620350; x=1742225150; 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=5ECj5KBJOzWkUhWTB7OBmw/GJyhyE2uyUhy/7AFkvkQ=;
        b=HRS8pQHO+bD84zRcWnobYd47MP1pRTWE6RfSXA6vxDF/Z5pNvyGLvHZUyCiK1iJk19
         o/K2Nvzm6F05xGrWcoxRtJ3D578Gbge8kNh6YVKTTlA1XD2U+Bdauabl135FyyqI8OLe
         z6DB04rgVBCLs7xjqhzYGX2AKyDO23rlnC4Co=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741620350; x=1742225150;
        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=5ECj5KBJOzWkUhWTB7OBmw/GJyhyE2uyUhy/7AFkvkQ=;
        b=keMpnHu6AvHIe4pkSqOXpVekxbTI7mdAGc0o2ruI5lGL0g3fuyuX0bmporqmmdJDAP
         00va7rZgRR57WKSs7omyxyEhXSn9Pe48uPuwa2vnNAOpEmvHmcUSt3zSzsoc8wwOLPbL
         dj6ZK541OHvRt+ltZFnzWiqrx4gebP+D8vck7ne8dbkSlTBxSu2MbzvVX64r15BfNmr3
         kpLbheFYfvHNAdHjlN4LlIi5uuUVG8/aPK3le/RJD8qPseCzyVkb2HZEQayB6P9joi2K
         vb4eLwVBGHTRs1Oac4k6GPAt2zsTBaJ5vHk72hhZGyfj3/9n0vUwfPXHSe1Umj2X6uCy
         rXzw==
X-Gm-Message-State: AOJu0YxXuBQr0jIvOr6r9OVN/s3H9t5ArYr/9BPESRiwXjAKp5POuKnj
	R1CAfZorWH/1OLEUedKihF4bCuTn5iM+ruvFntoa4JsQEl+f3EsGQtLrS0wcc+v1SYMF1AvpsNI
	pOWQ=
X-Gm-Gg: ASbGncvYxZ6zO6Y59tvDeW4DDFbBOOENw13DJN9Lq+Syxiftios4Daxlb/ML7GOc+mt
	lKUM4GjDD5+cj7d63j7+/W55Dbuh8qXQ9WotbI41y2V8T/rLj2t63i8L6ti6gOpessLbFTxS3iB
	DinMV9C1Vk3xWEjxqs2NiFRBRbi8hHxhmKGXFFpd/xtB3ZQ10lJTgeuZXY/p+PlNQurd2/VL2Tb
	GGdrO8QV/LBWofRHm2k63B9UN70MoshB64Qy6YeVAezLJIGLfCSOtlx1gaYxLZ0Sw0mw8kl1K2K
	6kGoUIV13T1OZFbqBASdQmwTfFPu3de8yDOqtgt1E37SwEyEiJO3CfzQjGGJFq2FVmg=
X-Google-Smtp-Source: AGHT+IHX24V4+oPGtLkU+XSmymuu523TxytSnviC3JXJHb3y8YjqKF7iY9bjrnT6GqlDgQrPwI4q2A==
X-Received: by 2002:a05:6402:5106:b0:5e5:2d5c:4f32 with SMTP id 4fb4d7f45d1cf-5e5e24bb560mr34243804a12.28.1741620350494;
        Mon, 10 Mar 2025 08:25:50 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] tools: Mark ACPI SDTs as NVS in the PVH build path
Date: Mon, 10 Mar 2025 15:25:23 +0000
Message-ID: <20250310152523.81181-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
because SeaBIOS may otherwise just mark it as RAM. There is, however,
yet another reason to do it even in the PVH path. Xen's incarnation of
AML relies on having access to some ACPI tables (e.g: _STA of Processor
objects relies on reading the processor online bit in its MADT entry)

This is problematic if the OS tries to reclaim ACPI memory for page
tables as it's needed for runtime and can't be reclaimed after the OSPM
is up and running.

Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for ACPI table region)"
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
I really, really, really dislike this idea of accessing the MADT from
AML. In time I'll try to implement something to stop doing it, but for
the time being I find it preferable to align libxl to hvmloader rather
than trying to restrict what's reclaimable and what isn't.
---
 tools/firmware/hvmloader/e820.c | 4 ++++
 tools/libs/light/libxl_x86.c    | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader/e820.c
index c490a0bc790c..86d39544e887 100644
--- a/tools/firmware/hvmloader/e820.c
+++ b/tools/firmware/hvmloader/e820.c
@@ -210,6 +210,10 @@ int build_e820_table(struct e820entry *e820,
      * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
      * before an ACPI OS takes control. This is possible due to the fact that
      * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
+     *
+     * Furthermore, Xen relies on accessing ACPI tables from within the AML
+     * code exposed to guests. So Xen's ACPI tables are not, in general,
+     * reclaimable.
      */
 
     if ( acpi_enabled )
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index a3164a3077fe..265da8072a59 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -742,7 +742,7 @@ static int domain_construct_memmap(libxl__gc *gc,
             e820[nr].addr = dom->acpi_modules[i].guest_addr_out & ~(page_size - 1);
             e820[nr].size = dom->acpi_modules[i].length +
                 (dom->acpi_modules[i].guest_addr_out & (page_size - 1));
-            e820[nr].type = E820_ACPI;
+            e820[nr].type = E820_NVS;
             nr++;
         }
     }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 15:43:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 15:43:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906687.1314079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trfHG-0001GL-N0; Mon, 10 Mar 2025 15:42:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906687.1314079; Mon, 10 Mar 2025 15:42: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 1trfHG-0001GE-KE; Mon, 10 Mar 2025 15:42:50 +0000
Received: by outflank-mailman (input) for mailman id 906687;
 Mon, 10 Mar 2025 15:42: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trfHF-0001G5-2K
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 15:42:49 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ff5c233-fdc6-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 16:42:46 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-22359001f1aso106556925ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 08:42:46 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-224109ddbf2sm79534945ad.18.2025.03.10.08.42.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 08:42: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: 4ff5c233-fdc6-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741621365; x=1742226165; darn=lists.xenproject.org;
        h=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=On0kVqxDo+Wcr67gdF9MF+rNkvzHcv2wGO4dJ9QaaCI=;
        b=juu1t8uvP4/5pot9v5pPjQkwTINLWsU7uPnWWY/3xJUiiUVrSrQbnXhjrxaFygasJp
         J7wgkUd7Q+RYp5UO9BvtHEDL2h5BkIKyi+iTj9QZTDhGSQuvj5mYYszRhOBl2QlNzPGD
         OoUDP0Ukifi43I2XxuaSW9/hgHzfr2Y1PBVzU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741621365; x=1742226165;
        h=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=On0kVqxDo+Wcr67gdF9MF+rNkvzHcv2wGO4dJ9QaaCI=;
        b=mlEsRn0/6LKbZIeWMMAWfM9w/3i6rclL9gvaGtiY2EgOR7T2qwlr/mFnhvZtvSk+iM
         8In0oIHMtYB1mXv6E7jw+wWZh9vfoMscQru97lxTHtxqesNUMw/NBYaLh2dQhuSKPuAP
         QkI3XxJ4aP0/0P4HgSm65777dsO1wiPHM/5yjnpm9kGx4xve9cODDLMUNdkI0RFDpwdR
         jef+jHGgzNq+qGc7c2X8D4yEh2ci12TY6rLE5Hv0cETvhaFnrnKHJJbqWpXuf954HGQA
         cihILIJyeSZusldL3MA9SDG1Ti5Q9uU/sPxTEOjSmJQyQAkaj/G7E6z/STLTcWNj4TWc
         SSjw==
X-Forwarded-Encrypted: i=1; AJvYcCUJ9bnxHwUegVA6e+3pc5ZGtRonh8nRHwWORSg1WiZx9jW48Mgi/rpVV/90S+q4dIierJhoh4jUs1M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxozfL3whgZa0ZOoEm/03u6Guq7s5Dk+JmU5LihxGK1sG0vmgJA
	IHqPGoDxnLs/FYh6dwR2vpXpYgqW6Vqu/WmVIQHVH7Ni7jy13Z/rq/zz0Wy41iE=
X-Gm-Gg: ASbGnct00I5nMeZwzSWunB5wEYc7Y0PtyuhWsVjakRHTsi1sWhb8jx1phsIWUaIX9OV
	fKXF89Qg9Z2q4ua2js7IuO2MefnXtrc1Owwl/KMdw9XexHE/i1MOQU5Jf8lBTVzV/l0ziUYfWJt
	Ba7IgEibJfrcukbwf8OCjZ0BD6NYGq0/iamQx7uqworQESSc+KfxuMCFoCK091eUj/v60zmB8lC
	gQOj4V13WCtRQT/HdZVdiu7DYGQjfZ1i4+7abNnHUH6dphE+fb/yjGkBKP3pJUD2EDvhlITuB1K
	7S3ah6leDwHr3niuorVOLIKCsSc6+sgryTuiHhgLo5aQOphklx3JhcNNJ42w9LmLtQ==
X-Google-Smtp-Source: AGHT+IHjFe6dDuLqlhwItMU1i9wCzI1O4A9ra3UYH7d1CtRs8AnYfXVPGz0WZ/D9SIqAJx48E8PDAw==
X-Received: by 2002:a17:902:e845:b0:223:635d:3e38 with SMTP id d9443c01a7336-2242888a9a3mr233132265ad.15.1741621365181;
        Mon, 10 Mar 2025 08:42:45 -0700 (PDT)
Date: Mon, 10 Mar 2025 16:42:39 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/2] x86/iommu: avoid MSI address and data writes if
 IRT index hasn't changed
Message-ID: <Z88Ib1ewzugJmepe@macbook.local>
References: <20250310095535.46033-1-roger.pau@citrix.com>
 <20250310095535.46033-3-roger.pau@citrix.com>
 <507eef19-92ff-44ca-bd0a-86299949c03b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <507eef19-92ff-44ca-bd0a-86299949c03b@suse.com>

On Mon, Mar 10, 2025 at 11:51:09AM +0100, Jan Beulich wrote:
> On 10.03.2025 10:55, Roger Pau Monne wrote:
> > Attempt to reduce the MSI entry writes, and the associated checking whether
> > memory decoding and MSI-X is enabled for the PCI device, when the MSI data
> > hasn't changed.
> > 
> > When using Interrupt Remapping the MSI entry will contain an index into
> > the remapping table, and it's in such remapping table where the MSI vector
> > and destination CPU is stored.  As such, when using interrupt remapping,
> > changes to the interrupt affinity shouldn't result in changes to the MSI
> > entry, and the MSI entry update can be avoided.
> > 
> > Signal from the IOMMU update_ire_from_msi hook whether the MSI data or
> > address fields have changed, and thus need writing to the device registers.
> > Such signaling is done by returning 1 from the function.  Otherwise
> > returning 0 means no update of the MSI fields, and thus no write
> > required.
> > 
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> with two purely cosmetic suggestions and an only loosely related question below.
> 
> > --- a/xen/arch/x86/hvm/vmx/vmx.c
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c
> > @@ -415,7 +415,9 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
> >  
> >      ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
> >  
> > -    return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
> > +    rc = iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
> > +
> > +    return rc < 0 ? rc : 0;
> 
> Only tangential here, but: Why does this function have a return type of
> non-void, when neither caller cares?

I'm afraid there's more wrong in vmx_pi_update_irte() that I've just
spotted afterwards.

vmx_pi_update_irte() passes to iommu_update_ire_from_msi() the
msi_desc->msg field, but that field is supposed to always contain the
non-translated MSI data, as you correctly pointed out in v1 it's
consumed by dump_msi().  vmx_pi_update_irte() using msi_desc->msg to
store the translated MSI effectively breaks dump_msi().

Also vmx_pi_update_irte() relies on the IRT index never changing, as
otherwise it's missing any logic to update the MSI registers.

I will fix that in a pre-patch.

> 
> > --- a/xen/drivers/passthrough/amd/iommu_intr.c
> > +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> > @@ -492,7 +492,7 @@ static int update_intremap_entry_from_msi_msg(
> >                 get_ivrs_mappings(iommu->seg)[alias_id].intremap_table);
> >      }
> >  
> > -    return 0;
> > +    return !fresh ? 0 : 1;
> >  }
> 
> Simply
> 
>     return fresh;
> 
> ?
> 
> > @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
> >      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
> >                                              &msi_desc->remap_index,
> >                                              msg, &data);
> > -    if ( !rc )
> > +    if ( rc > 0 )
> >      {
> >          for ( i = 1; i < nr; ++i )
> >              msi_desc[i].remap_index = msi_desc->remap_index + i;
> > --- a/xen/drivers/passthrough/vtd/intremap.c
> > +++ b/xen/drivers/passthrough/vtd/intremap.c
> > @@ -506,6 +506,7 @@ static int msi_msg_to_remap_entry(
> >      unsigned int index, i, nr = 1;
> >      unsigned long flags;
> >      const struct pi_desc *pi_desc = msi_desc->pi_desc;
> > +    bool alloc = false;
> >  
> >      if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
> >          nr = msi_desc->msi.nvec;
> > @@ -529,6 +530,7 @@ static int msi_msg_to_remap_entry(
> >          index = alloc_remap_entry(iommu, nr);
> >          for ( i = 0; i < nr; ++i )
> >              msi_desc[i].remap_index = index + i;
> > +        alloc = true;
> >      }
> >      else
> >          index = msi_desc->remap_index;
> > @@ -601,7 +603,7 @@ static int msi_msg_to_remap_entry(
> >      unmap_vtd_domain_page(iremap_entries);
> >      spin_unlock_irqrestore(&iommu->intremap.lock, flags);
> >  
> > -    return 0;
> > +    return alloc ? 1 : 0;
> >  }
> 
> Like above, simply
> 
>     return alloc;
> 
> ?

I wasn't sure whether this was overloading the boolean type and
possibly breaking some MISRA rule.  I can adjust.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 16:28:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 16:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906702.1314088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trfzL-0000FM-U9; Mon, 10 Mar 2025 16:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906702.1314088; Mon, 10 Mar 2025 16:28: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 1trfzL-0000FF-RI; Mon, 10 Mar 2025 16:28:23 +0000
Received: by outflank-mailman (input) for mailman id 906702;
 Mon, 10 Mar 2025 16:28: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trfzK-0000F9-OG
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 16:28:22 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6f16733-fdcc-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 17:28:09 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-22423adf751so63364855ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 09:28:09 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736ab33e1d3sm7113582b3a.132.2025.03.10.09.28.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 09: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: a6f16733-fdcc-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741624088; x=1742228888; 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=MB2fJsQ4IboLQPMn+u5sD/iZ5CoCsD5DvTx+in/FBzM=;
        b=eJkNTixXsyJ0pnRryoV5ksuDfqYGvmeJ1A+AQB4JFtGkBDOEfEM1knsM+egpq6JK2S
         pNfXEiZAE9jkxWrkF4Jp7eX/jZNzS5f3xwL6Y3pg8dAnTELNMHJPXoMC6cRRrzP9Ymio
         4mAhdDOsrPaV963R0IIsnZ8GL/y2M2ThzDPRtZJDYS02U2ZOYjbQK6jtFChYdB5fq+SJ
         heZle0ZQ9HWxw8YiFvnh1GWjP7wCUToPxa+tCgwy6mjuRYRKiOuBYNwXVNRrglCldUCS
         FqQ+/WLNx2OLZWveG3/CJpZVHmGyapVV6Xkk+9PeeGggnHouL3Oq5lithGTfvHym/azc
         XEdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741624088; x=1742228888;
        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=MB2fJsQ4IboLQPMn+u5sD/iZ5CoCsD5DvTx+in/FBzM=;
        b=OSO7ucwjhyQ2/jeZ2VQtJKfGjMoIXr/xqcEs668DHGY8St+DN90JzEdCMa2IVR4YUB
         yUnMmqr/u5KlEQO6825AWutxGQ22KCr1B8ydkURmZbuaOhuZCa7heYniyI4Bvb/a/HNM
         4qq4UPKwg/WMpt0ZyaqXAR7WVrNwfqsLc8o3bOHfH+wdovG2bO8VCVQ+ui+2h5B8WPI7
         sGqbuxRXiS4jO6qHW7rnrsr37sLbfKazj5UVRz06A+3ZmLvV9rz7IA5vbtMIsuPYE/tv
         /l7jBLPl3RVoLU1/5/i/eKwhYe5RQJoF2gWzcfN8z/jdbMp733vNlIWIsdjhtOptOoGZ
         oH7Q==
X-Forwarded-Encrypted: i=1; AJvYcCV43+bqRJ1LwWcJb/JhnPvOGIO0Ympn6mg8zAMABWBqgxPVowE6XUbT/ewbDXJ8EckY5O4IAdV8Jq0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy0wP2f+GxM/oWf/9QZFwzwwM/ncv0BGs/XaYElLZPaz29yYUWt
	MITNBzUeOUXI0maLsNL8A92JIK1QruMB8myVagK+z6jA30HKf1Ru08BZws+PpjI=
X-Gm-Gg: ASbGncuvym3tslVSP/9V9B5sfs6H2IW6G1iyduQ1RXpNB8FW22o66jSOgUj10kv/lmJ
	XtvNPmqI9A2mHcsX2nfDgBiU12sqqfc/T/mKKhNZEjC54hmOVbEXL/aDkW3C+FQvMnbZDld6C2G
	v88lFhvCDUvEqUFiPgHtUlEQdM3Kwnk+4xRLN9u1QPErncytN6Ux6TtX+fT3RH21Y5myvDLX/Tk
	pBtpmwNtU4JAcMJfnag+RUfu4I7HMgDEt5ojdme2B32FYmUbpFc/iSOJ5Jl9siSgCTHB9zziD6+
	WrChjfxxLsmyBPzA0LTCD6mjjE+qST6wuI2w3DmtDo1zCFVfa7iVbgQ8qg==
X-Google-Smtp-Source: AGHT+IEMClmiHQu47yv2LCemW+QIh5GG4atFR9obpakYwQTFo0T5HFRT/xNIXLHFw49N04gZ3Ngyqw==
X-Received: by 2002:a05:6a21:6e8a:b0:1ee:e2ac:5159 with SMTP id adf61e73a8af0-1f58cb438c6mr642912637.19.1741624088169;
        Mon, 10 Mar 2025 09:28:08 -0700 (PDT)
Message-ID: <c5b9eea9-c412-461d-b79b-0fa2f72128ee@linaro.org>
Date: Mon, 10 Mar 2025 09:28:06 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/16] make system memory API available for common code
Content-Language: en-US
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, kvm@vger.kernel.org,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 Paul Durrant <paul@xen.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Anthony PERARD <anthony@xenproject.org>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, manos.pitsidianakis@linaro.org,
 qemu-riscv@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
 <f231b3be-b308-56cf-53ff-1a6a7fb4da5c@eik.bme.hu>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <f231b3be-b308-56cf-53ff-1a6a7fb4da5c@eik.bme.hu>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Zoltan,

On 3/10/25 06:23, BALATON Zoltan wrote:
> On Sun, 9 Mar 2025, Pierrick Bouvier wrote:
>> The main goal of this series is to be able to call any memory ld/st function
>> from code that is *not* target dependent.
> 
> Why is that needed?
> 

this series belongs to the "single binary" topic, where we are trying to 
build a single QEMU binary with all architectures embedded.

To achieve that, we need to have every single compilation unit compiled 
only once, to be able to link a binary without any symbol conflict.

A consequence of that is target specific code (in terms of code relying 
of target specific macros) needs to be converted to common code, 
checking at runtime properties of the target we run. We are tackling 
various places in QEMU codebase at the same time, which can be confusing 
for the community members.

This series take care of system memory related functions and associated 
compilation units in system/.

>> As a positive side effect, we can
>> turn related system compilation units into common code.
> 
> Are there any negative side effects? In particular have you done any
> performance benchmarking to see if this causes a measurable slow down?
> Such as with the STREAM benchmark:
> https://stackoverflow.com/questions/56086993/what-does-stream-memory-bandwidth-benchmark-really-measure
> 
> Maybe it would be good to have some performance tests similiar to
> functional tests that could be run like the CI tests to detect such
> performance changes. People report that QEMU is getting slower and slower
> with each release. Maybe it could be a GSoC project to make such tests but
> maybe we're too late for that.
> 

I agree with you, and it's something we have mentioned during our 
"internal" conversations. Testing performance with existing functional 
tests would already be a first good step. However, given the poor 
reliability we have on our CI runners, I think it's a bit doomed.

Ideally, every QEMU release cycle should have a performance measurement 
window to detect potential sources of regressions.

To answer to your specific question, I am trying first to get a review 
on the approach taken. We can always optimize in next series version, in 
case we identify it's a big deal to introduce a branch for every memory 
related function call.

In all cases, transforming code relying on compile time 
optimization/dead code elimination through defines to runtime checks 
will *always* have an impact, even though it should be minimal in most 
of cases. But the maintenance and compilation time benefits, as well as 
the perspectives it opens (single binary, heterogeneous emulation, use 
QEMU as a library) are worth it IMHO.

> Regards,
> BALATON Zoltan

Regards,
Pierrick



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 16:57:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 16:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906729.1314099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trgQq-0007BU-1g; Mon, 10 Mar 2025 16:56:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906729.1314099; Mon, 10 Mar 2025 16:56: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 1trgQp-0007BN-V0; Mon, 10 Mar 2025 16:56:47 +0000
Received: by outflank-mailman (input) for mailman id 906729;
 Mon, 10 Mar 2025 16:56: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trgQo-0007BH-OK
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 16:56:46 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a29cf71f-fdd0-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 17:56:40 +0100 (CET)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2ff087762bbso6623009a91.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 09:56:40 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-22410aa883asm80360745ad.239.2025.03.10.09.56.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 09:56: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: a29cf71f-fdd0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741625799; x=1742230599; 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=ZkjkedmykN6Dnae+6hPjYb5eiAU0Rz5li5jIqpcMQ1w=;
        b=rMzXEY2xxM/cx5Z/HluG4sIXlkmIUOuH7SMMFiNp0yABPnoKbN0kEzyKG5DLm2GBtG
         /+GdYw+gs21QkQ5AAKZzbB4tQnx63KWYmR9a6X+WtoW6pWFhip2nSRm5ShI0TNVy2Xyk
         GBk9qKTqNKMG1Lm5Y/JPeEE0OI3eiJ7U/d9OqdxqH+S/TbxqHNFtPAQZ4IjMYzTdxOjP
         Eqn11n4EsfFXnxCgFfftDY9AIIBOYrarnwpfw7uLJ3h4G1uGyBP/6kF87MNph1hWnblO
         qyBfld3sGPSi7APz/C+XZ0AO6gJ24ExnahiF0Ahl8/lkPDEvMpuIAnTiOPLegNJFYsBP
         K5ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741625799; x=1742230599;
        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=ZkjkedmykN6Dnae+6hPjYb5eiAU0Rz5li5jIqpcMQ1w=;
        b=Ylljc1hw2CXWUmm6nTNPZZn0Ey2J+f5Dts2Lh7hJo1+LZoCh4wkZuNIfqdyaNQU0eZ
         L9px4TpN6RZ3cI+XTLnmmWBi3r2tL4nMx9qL6DjNKXcGf5j8yIFQ57mScqGJjtzWl6jV
         55okc4WYSldCXXRFIm+y0YJgKdWty7MK2faAVQLogQvgu1cTeUfuIlQkC4x1uOszbTyo
         QCDSUPa+Ip7izIE1W9TDRujXlEylBUaO3qARfUobuAcnHFNK0QvEH+4tSCz32u2gDJvC
         203UuQdLOZbWWXkglptvOuol1oj3qUtCNi/qJIgV//P2qGm4sfFZGqHmXiTMSm88x66O
         pF0w==
X-Forwarded-Encrypted: i=1; AJvYcCX/6dm8NOfhdOs7hdn57inFu37KJpWz/YGTt49aWMJ3f9zxL+eBlz3NSDlvSnMF2ZYeDsF7fu9cfxA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxt1GQUQKPPqsyFBW65MN1xHtT4n8AbiDVWTVU/GP30DHgzXKgG
	koUcKhYLPZ1bROW03tmO6RNkGezhWT1TnNIlTa+cZ5K2ZbyqK7SGaMIVmP5ByS0=
X-Gm-Gg: ASbGncuM5EzW7JtT1nCcHntNLfP+uFySMcupnpHecqjYw5ekWfdIYrOiBr2APXUhRHX
	c4D2SRw7i3xhEGTtg2984xquqpL4oc5O0BsJeMnBMZqJfuVhF9srjvhm7IGU9KePv3DkamOUDxD
	9QutXBwNSKltDAfmuLdRC32yDn1ZQLFtsrPljbMse0HtXM31yRvyz6AFkKObdZD5o+0Wwsi5nMb
	rXwuJg7vD3MLaHC0hJQfky/h33kbmjado9moWFy6TLtGrLywNl6MdxC45S4LMbjPom2s5YOhpNv
	onoAFShUxS2/Nqjwduf2S8CZggGoIrLTtLD5GXtpKx4Zd67BENIRKTSRSg==
X-Google-Smtp-Source: AGHT+IHIbgCn3Exn+AALN657KIom6PGObNAGMKxJbf0VIqQkDogxhfDXJch+Uz3paJ/iK/pOhThzrA==
X-Received: by 2002:a17:90b:4a51:b0:2fa:e9b:33b8 with SMTP id 98e67ed59e1d1-300ff10caacmr851943a91.18.1741625798731;
        Mon, 10 Mar 2025 09:56:38 -0700 (PDT)
Message-ID: <a57faa36-2e66-4438-accc-0cbfdeebf100@linaro.org>
Date: Mon, 10 Mar 2025 09:56:36 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/16] make system memory API available for common code
Content-Language: en-US
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, kvm@vger.kernel.org,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 Paul Durrant <paul@xen.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Anthony PERARD <anthony@xenproject.org>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, manos.pitsidianakis@linaro.org,
 qemu-riscv@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
 <f231b3be-b308-56cf-53ff-1a6a7fb4da5c@eik.bme.hu>
 <c5b9eea9-c412-461d-b79b-0fa2f72128ee@linaro.org>
In-Reply-To: <c5b9eea9-c412-461d-b79b-0fa2f72128ee@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/10/25 09:28, Pierrick Bouvier wrote:
> Hi Zoltan,
> 
> On 3/10/25 06:23, BALATON Zoltan wrote:
>> On Sun, 9 Mar 2025, Pierrick Bouvier wrote:
>>> The main goal of this series is to be able to call any memory ld/st function
>>> from code that is *not* target dependent.
>>
>> Why is that needed?
>>
> 
> this series belongs to the "single binary" topic, where we are trying to
> build a single QEMU binary with all architectures embedded.
> 
> To achieve that, we need to have every single compilation unit compiled
> only once, to be able to link a binary without any symbol conflict.
> 
> A consequence of that is target specific code (in terms of code relying
> of target specific macros) needs to be converted to common code,
> checking at runtime properties of the target we run. We are tackling
> various places in QEMU codebase at the same time, which can be confusing
> for the community members.
> 
> This series take care of system memory related functions and associated
> compilation units in system/.
> 
>>> As a positive side effect, we can
>>> turn related system compilation units into common code.
>>
>> Are there any negative side effects? In particular have you done any
>> performance benchmarking to see if this causes a measurable slow down?
>> Such as with the STREAM benchmark:
>> https://stackoverflow.com/questions/56086993/what-does-stream-memory-bandwidth-benchmark-really-measure
>>
>> Maybe it would be good to have some performance tests similiar to
>> functional tests that could be run like the CI tests to detect such
>> performance changes. People report that QEMU is getting slower and slower
>> with each release. Maybe it could be a GSoC project to make such tests but
>> maybe we're too late for that.
>>
> 
> I agree with you, and it's something we have mentioned during our
> "internal" conversations. Testing performance with existing functional
> tests would already be a first good step. However, given the poor
> reliability we have on our CI runners, I think it's a bit doomed.
> 
> Ideally, every QEMU release cycle should have a performance measurement
> window to detect potential sources of regressions.
> 
> To answer to your specific question, I am trying first to get a review
> on the approach taken. We can always optimize in next series version, in
> case we identify it's a big deal to introduce a branch for every memory
> related function call.
> 
> In all cases, transforming code relying on compile time
> optimization/dead code elimination through defines to runtime checks
> will *always* have an impact, even though it should be minimal in most
> of cases. But the maintenance and compilation time benefits, as well as
> the perspectives it opens (single binary, heterogeneous emulation, use
> QEMU as a library) are worth it IMHO.
> 
>> Regards,
>> BALATON Zoltan
> 
> Regards,
> Pierrick
> 

As a side note, we recently did some work around performance analysis 
(for aarch64), as you can see here [1]. In the end, QEMU performance 
depends (roughly in this order) on:
1. quality of code generated by TCG
2. helper code to implement instructions
3. mmu emulation

Other state of the art translators that exist are faster (fex, box64) 
mainly by enhancing 1, and relying on various tricks to avoid 
translating some libraries calls. But those translators are host/target 
specific, and the ratio of instructions generated (vs target ones read) 
is much lower than QEMU. In the experimentation listed in the blog, I 
observed that for qemu-system-aarch64, we have an average expansion 
factor of around 18 (1 guest insn translates to 18 host ones).

For users seeing performance decreases, beyond the QEMU code changes, 
adding new target instructions may add new helpers, which may be called 
by the stack people use, and they can sometimes observe a slower behaviour.

There are probably some other low hanging fruits for other target 
architectures.

[1] https://www.linaro.org/blog/qemu-a-tale-of-performance-analysis/


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 17:32:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 17:32:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906746.1314129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trgzQ-0006Hc-Vh; Mon, 10 Mar 2025 17:32:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906746.1314129; Mon, 10 Mar 2025 17:32: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 1trgzQ-0006HV-SX; Mon, 10 Mar 2025 17:32:32 +0000
Received: by outflank-mailman (input) for mailman id 906746;
 Mon, 10 Mar 2025 17:32: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=iUjf=V5=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1trgzP-0006HM-8c
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 17:32:31 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3e582a7-fdd5-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 18:32:30 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-22185cddbffso99068865ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 10:32:30 -0700 (PDT)
Received: from [192.168.0.4] (174-21-74-48.tukw.qwest.net. [174.21.74.48])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736cc153016sm3620330b3a.173.2025.03.10.10.32.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 10:32: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: a3e582a7-fdd5-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741627948; x=1742232748; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=FKvTTaeAXFeAoKKy/TUEugm6Lvxdb1J/dR+hd8yG8+Q=;
        b=EN/W5LxjZpdmD55TMnCWqkl1JZAjdqfUY/Z4b5oJlTlzvQfVVJ8d0VuZucLP9NwST1
         OU2o4LFGGYCS87m1BhlvqgbMZJIOllqcLJKTxZUzEvbvfxTnNCbFVbYcfrCyWfRwriX9
         cPAckxHdIpnLZoY4fxFyBBMK1aVZOcM8ayb+3bVvq21CWYhKNiOrj+/9wltFVkW6x1nG
         gZfbO3erQfF7OCXNqSjAGXl0BgS/cbLs0b/I+jNoKgbp8HMlbEblkum61f0HgERSwXhe
         J1pM63A7UlKmAgbqkBAnswSH/dOYcNPqfmDGiA6QWzYjlLIL4EhALaIdH58DTIyObeAk
         gr3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741627948; x=1742232748;
        h=content-transfer-encoding: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=FKvTTaeAXFeAoKKy/TUEugm6Lvxdb1J/dR+hd8yG8+Q=;
        b=KojWPprIllOkmuDcV9kE7Cqrjh6Bka3l7SJjTXGefk+rGjXdbK6roet//k4yhKamvq
         pKkTbQ3l76ECHCtzdJHMQZfTNCMJ0O96rtI5WJ+YUAkHudqwan6ssNgxiDan3R0v9Rgh
         XJMD65G2598104+Pi8Vk3juTh6uJOv0DiAAy3WJ8xJLMZsehGjAFXEWfYlK6bztJojUG
         Dpe/Z36Y9rS70qZrRWQESRPOt6tfx/b8hUSwg9tBvYncy5+72XEJA2+dnJUJeJu423EZ
         PWEncSL8aZp3blSz8X0Hr9O9pItyy/JrxZpqNqEOeYoynpEPh3Q/sk9oAYkuK9cq7o0h
         PDtw==
X-Gm-Message-State: AOJu0Yy0zD4IpdDyLunpg7BLEsVGcKnKC5mnlyMSSGDkMnFP2Z1fy8PO
	l2TpBYy6ZGmiTNx6Ea+oaPbZ8mMGjQpZi7zHEaUfCErhq1yLeZdF1n+Qd3mENu1yVadQFSnEdW/
	z
X-Gm-Gg: ASbGncvrl3aD9iipC6Q6rNgbTL8JmS4xxo+0bi5AD+kdG9dgF+NEcavtSu+AFh7xflh
	SnIotv3hidN3zlBLH4RRtkjzornaDXvi0mPg4yihJw7JGTQEwrMKcm84n7UuqN98KPQ99aKcm+m
	gue7Aex/Xxy1ZJ/FQNqCB1se0f3410NtfQj08E9gZfQ382bH+4EJPRx3wqcluXw41BcA8AL5mQM
	YM/vZx5Thu1b9PjVpg5rfEwXbf4hV1tynesseary7HTorE0BumV+VFlQzmUHcpHGODbSBd/AxRP
	a6m+SLPCIysr1+XrMyQaVu71A7uUifwNMj39eCelIMepsSHfFr28NW8h7ja4KQ3lMgjbkZOv9gM
	RSmw7K2ma
X-Google-Smtp-Source: AGHT+IGlsTuVM/mWYGBPfTtazpwhgbmQOPR2gjCm9rQY9M9e9b0UBRTLp/Z541I5JBsXGEodHFeYGw==
X-Received: by 2002:a05:6a00:1aca:b0:736:aea8:c9b7 with SMTP id d2e1a72fcca58-736ec5c3c05mr456490b3a.2.1741627948521;
        Mon, 10 Mar 2025 10:32:28 -0700 (PDT)
Message-ID: <3dfedea0-baa3-4768-9c6b-033cb8b8adbd@linaro.org>
Date: Mon, 10 Mar 2025 10:32:26 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 13/16] hw/xen: add stubs for various functions
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: "open list:X86" <xen-devel@lists.xenproject.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
 <20250310045842.2650784-14-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20250310045842.2650784-14-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/9/25 21:58, Pierrick Bouvier wrote:
> Those functions are used by system/physmem.c, and are called only if
> xen is enabled (which happens only if CONFIG_XEN is not set).
> 
> So we can crash in case those are called.
> 
> Signed-off-by: Pierrick Bouvier<pierrick.bouvier@linaro.org>
> ---
>   hw/xen/xen_stubs.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
>   hw/xen/meson.build |  3 +++
>   2 files changed, 59 insertions(+)
>   create mode 100644 hw/xen/xen_stubs.c


Acked-by: Richard Henderson <richard.henderson@linaro.org>


r~


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 18:17:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 18:17:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906755.1314138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trhgc-0005Y2-4v; Mon, 10 Mar 2025 18:17:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906755.1314138; Mon, 10 Mar 2025 18:17: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 1trhgc-0005Xv-2G; Mon, 10 Mar 2025 18:17:10 +0000
Received: by outflank-mailman (input) for mailman id 906755;
 Mon, 10 Mar 2025 18:17: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trhga-0005Xl-7R
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 18:17:08 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de680cb5-fddb-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 19:17:05 +0100 (CET)
Received: by mail-pj1-x1032.google.com with SMTP id
 98e67ed59e1d1-2fea8d8c322so9089702a91.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 11:17:05 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-2ff693534f8sm8281307a91.17.2025.03.10.11.17.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 11:17: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: de680cb5-fddb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741630623; x=1742235423; 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=2sAOgBUuXdaWKO3ytoPWYB8f49rfYyoU0zMSb3fCBrQ=;
        b=cXxPV0WKK8TluO/TjgXiOmQF7LgGxlLwqWH0jV5rkY8qK4aNn0DkXuyGSvpF13JGF3
         ZEGkIElEUq9WK27J1sBeeDA/K6eolijnd9UdpTf7IG+GynsG9gnmxRmTd8PKNrx6QGaC
         puVBOGgAu/W+aFhmHW8MwiE9erq/ndmQzz2LI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741630623; x=1742235423;
        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=2sAOgBUuXdaWKO3ytoPWYB8f49rfYyoU0zMSb3fCBrQ=;
        b=CEgdqoXwd4h4e86ZJD8msamhB5GhtNGIW1CdnyAS5WsGoJYqebxR8Zq/tqkzbEh9qD
         43NE6MNYlWDwxU9Mi7bZc+6izMus6dA3R+vlX26F/H1WMwfOTM6obdolhupYg8xs+OZL
         sCE/vZXm2WWU9JXn/bGuH/OEIz5AOa3hydGsolC8u2OF7zs9weW9XhLjXE16qSxXjANL
         FJ3IRxNRTGQntl0TnDdVcADHq7TM9HLY9r63HeWa4tBjO1myPIwqCxn6GXuQE+IWw5Uj
         iMrPDt1pcK0ICYpTsjT0Nh9IFK4qi/1KRLzCTdtxmVF2lSJoar8sqGEQ9msfTyFoyiAv
         F18Q==
X-Gm-Message-State: AOJu0YxsUs8WZoSxk1rGjgg0AhUpVajVR7hZiUPc/KZIid8emU79BFyY
	Bl0NrSNU6kJ/cK4LlWhoRBUWx3KNJMnStzajEbFenLKYi+Hfq/1hGj3I3zbSwCgqPfGsRUtdibJ
	O
X-Gm-Gg: ASbGnctwMBKJb80vyz51K8hws4nOsasCHaKyMpIs99qwkbeCQv9sT93hUtrvJCwJx6/
	YlLRCJBU9sHkG9e1wtyyHBesJAymUi3S940Ew2eCHt2D6VJrIsfSdm2fuRw/mjZ5HcTZlCzL+vM
	/xCCDUEuwIkSqgx856hTW6sHU/JSYtCeWVWfbZfHyTjDLfh1q1sbEenNHsvbQGl9OtKMWJ2sBIG
	Z3c7YnFniYqWyBww1jXtsgejfvMxqhEsQPdT4yIh5BT1RfklHIEYNR5KCG0KAhlr0acOAZKsk87
	5cbUP+uBBbWvCdKNjwzBTISGNckFDggtdU9bscYQdW7krUcSrLso4q0=
X-Google-Smtp-Source: AGHT+IFNYcQw9vHTcGDhDjrzDfRaVaGC0rWdBkxN/lNBLcKYAeMSjEVUmtjKu1xTkMkdnb0gy+dOfQ==
X-Received: by 2002:a17:90b:2fc5:b0:2ee:fa0c:cebc with SMTP id 98e67ed59e1d1-2ff7ce949d2mr23242122a91.20.1741630623256;
        Mon, 10 Mar 2025 11:17:03 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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] automation/cirrus-ci: store xen/.config as an artifact
Date: Mon, 10 Mar 2025 19:16:38 +0100
Message-ID: <20250310181638.51196-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Always store xen/.config as an artifact, renamed to xen-config to match
the naming used in the Gitlab CI tests.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 .cirrus.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index e2949d99d73a..1a39f5026f9a 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -15,6 +15,14 @@ freebsd_template: &FREEBSD_ENV
     APPEND_INCLUDES: /usr/local/include
     CIRRUS_CLONE_DEPTH: 1
 
+freebsd_artifacts: &FREEBSD_ARTIFACTS
+  always:
+    rename_script:
+      - cp xen/.config xen-config
+    config_artifacts:
+      path: xen-config
+      type: text/plain
+
 freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
   << : *FREEBSD_ENV
 
@@ -28,6 +36,8 @@ freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
     - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
     - gmake -j`sysctl -n hw.ncpu` clang=y
 
+  << : *FREEBSD_ARTIFACTS
+
 freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
   << : *FREEBSD_ENV
 
@@ -39,6 +49,8 @@ freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
             KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
     - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
 
+  << : *FREEBSD_ARTIFACTS
+
 task:
   name: 'FreeBSD 13: full build'
   << : *FREEBSD_13
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 18:30:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 18:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906766.1314149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trhtM-0001RJ-8Y; Mon, 10 Mar 2025 18:30:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906766.1314149; Mon, 10 Mar 2025 18:30: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 1trhtM-0001RC-5f; Mon, 10 Mar 2025 18:30:20 +0000
Received: by outflank-mailman (input) for mailman id 906766;
 Mon, 10 Mar 2025 18:30: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=UYYE=V5=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1trhtK-0001R6-Ur
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 18:30:18 +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 b6c2c151-fddd-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 19:30:16 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso20737915e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 11:30:16 -0700 (PDT)
Received: from [10.81.43.157] ([46.149.103.10])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c015c2csm15397324f8f.49.2025.03.10.11.30.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 11:30: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: b6c2c151-fddd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741631416; x=1742236216; 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=/kxi/K8greiGx9tRJC2MGXUHERJlt80UNcmi0fNtc2E=;
        b=DnJrWLvlECIBOEMzhhcs1nldSgBquHYszaHpsHWFKQGbGTcJTNktZ5N8bLFn55nVQZ
         9DFKPt/lcKN2gG1rDcE/z8HFAEGMXafwKdqxE7k25/0DUGW0VL9j6xkwl4hAwbUx6WmZ
         DeIysUGcsdZ1h1WNLctSRi3CIWlj9DZzbvA5s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741631416; x=1742236216;
        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=/kxi/K8greiGx9tRJC2MGXUHERJlt80UNcmi0fNtc2E=;
        b=kbYgHHEzTGmjMdZ5VIV4p5isvdqx/qQ4thNzWw+dBrvfPQ25smZpr3D90CNkVYFn2d
         FgQiW3rvD9+VnyvPPLWV7Kh+a0kEH5bhUeuc+iAdbm6NbJRYjk7EFV+4Lxy6YzEff7tW
         tTwLgWQdd6I8oPubRM18XD36twwcY2Nmjo13UgHwipGmutiXBkJNzUxt5YWN/VPyUdHX
         8jDr2yVovAHcpvBI5+DXd/ODx4/sWkvl9DdjnLl+EefSsH3yvG7y3IFIVeuJ0X1eAvob
         0aLNKuxc7X/s+s7h+UmS+cGikT3mGgepQeO3wXfUr25scLQkdspf4Z/J71zTodHfm5+h
         f43g==
X-Forwarded-Encrypted: i=1; AJvYcCXafChqNED/WFCYPjBWz7XCy9GQtIBL1CXQGmiCZFMh6sijFL7df55MAT466M9Kmgzxj9PnAMgRrMg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyjHi/IJ88xQUTwRTmXQVweBIA1tIqWuM1Kwmc2gkWeLEpAgYYB
	z0YpiBQRbS4D8H5Rk+n53WGlrHWp2BV5ZbzWYkJeZsx5IgNx6rRQuSxRdzagb5U=
X-Gm-Gg: ASbGnct2qErJ51krVxIp90MDTj24NTcrdKrDtlGFcXJRfKQI7bZCdY2TJl2Ymtk71vU
	IDaZ8TDAVDnn9FymBABfx4ayOEAxs8IwtkgnHyWGTT2dTaAa5B2eJncWCbXlcuggZOtBVUZsya2
	XGsCDVkeFbjTjGpR4gviF7Q37o9XSwrT9AmlduMfMqmMK94TLgPN2fjF591/O7hSJ9tlp70pFR4
	qvO6YTojtrDXll4zDKcLLwMMHB4/lixPYoJkflrTsnWcP9o47x8Egh1rmlKGfIqJzjOL5GzxheU
	VNNGIVNH3UUyDYbnDxHRqtRywunnpDnIyyRjugillqAfP9Nc//UAzJxZW7Sd2KSpTQ==
X-Google-Smtp-Source: AGHT+IGDDXsei2BCwiQobP8ANMPjWDMcmrYBsk2LlJ0ghwwiscJ4ys6sbwzr6tPAr5DVLUHunWdKGw==
X-Received: by 2002:a5d:64ad:0:b0:38f:2a49:f6a5 with SMTP id ffacd0b85a97d-39132d4de7emr11105481f8f.15.1741631416302;
        Mon, 10 Mar 2025 11:30:16 -0700 (PDT)
Message-ID: <b95a2bcc-4ab8-46d5-9d92-1f2c37d4c279@citrix.com>
Date: Mon, 10 Mar 2025 18:30:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] automation/cirrus-ci: store xen/.config as an artifact
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250310181638.51196-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: <20250310181638.51196-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/03/2025 6:16 pm, Roger Pau Monne wrote:
> Always store xen/.config as an artifact, renamed to xen-config to match
> the naming used in the Gitlab CI tests.
>
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Looking at this, I suspect my failure was caused by trying to capture
".config" directly.

> ---
>  .cirrus.yml | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index e2949d99d73a..1a39f5026f9a 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -15,6 +15,14 @@ freebsd_template: &FREEBSD_ENV
>      APPEND_INCLUDES: /usr/local/include
>      CIRRUS_CLONE_DEPTH: 1
>  
> +freebsd_artifacts: &FREEBSD_ARTIFACTS
> +  always:
> +    rename_script:
> +      - cp xen/.config xen-config
> +    config_artifacts:
> +      path: xen-config
> +      type: text/plain

Can't this be part of freebsd_template directly?

Or is there an ordering problem with the regular build_script ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 18:38:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 18:38:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906779.1314159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tri18-00027F-14; Mon, 10 Mar 2025 18:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906779.1314159; Mon, 10 Mar 2025 18:38: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 1tri17-000278-UA; Mon, 10 Mar 2025 18:38:21 +0000
Received: by outflank-mailman (input) for mailman id 906779;
 Mon, 10 Mar 2025 18:38: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=B6N5=V5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tri17-000272-C3
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 18:38:21 +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 d6e65667-fdde-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 19:38:20 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-abf615d5f31so910094866b.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 11:38:20 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac287653c7esm354515966b.84.2025.03.10.11.38.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 11:38: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: d6e65667-fdde-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741631900; x=1742236700; darn=lists.xenproject.org;
        h=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=/+kFflcnVhBXbdsOwjnJ9fWSNTzxNEzBqKowaVKxWAI=;
        b=XLujRLsA/Ix19pczZvv70gs4ZXvlXnPVFoTz7rjLNzaAtvxKfg2DP4IuNfh55wZR2R
         958vKhbHUaFIHm55oZFhz63NpaUDdI+48F8pAsaR8gruu0W14+cm7JMrZOyp9zYJ+h+v
         CKKqJ7WtcWYvqSLUIR2OEcFQSwRC/pSJu78+4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741631900; x=1742236700;
        h=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=/+kFflcnVhBXbdsOwjnJ9fWSNTzxNEzBqKowaVKxWAI=;
        b=M1oc2OX4shrchARUGiWZefRlLt6qeXJhGZURjd7WQcsnyE8xy3phhuw3ywvhULltB4
         cc5ydwxpdgLKBMxtn6aZd1OAcfYOgfDLx4X4/e2y7G1kjTib4UhC7IwvbYT3qEWTIKFm
         OQv81PXIwo+D6P+axtzStdl1+AQipnhd1Dp5b5MWYC9JRiHNUTWvTEere5UJqlKuaAvR
         dWt0CA42dYcVa9a6tmip7HC93A6V5pZECmdseXnUmw3FpOPEekKYJ2H2FYGUOFex4Tlf
         vnQmsIjwpGcTxr67ogrp38y1EaoFL89GKflK9B+5Qfi/g+VSDY81zHpm7VuQaIpHLlHt
         mdmw==
X-Gm-Message-State: AOJu0YysGvqjqZFk/bQHSv5hgHF4xBmfc76B5rTvUINxIv2ow/jP+QDu
	VK4lNRvam50yewx2QX+dftTcoF7bqHxYxLr2Fcu4XnE3pYV/M14I32ilKdLtsjU3sWXW/fI6egv
	C
X-Gm-Gg: ASbGnctPvwXAExAyv1geKQOiTSI8zaIxZOxSdMcbCbyv6aprtizdyuV9GwX3yzImAyx
	nxSAni3O1EWL5JFDprpNy+Lva8VxyVIOh2yU2WGta68p+pXFlTlU0KQ9hhRRndV16QHlRi+BheY
	AK9QnXh+nPTd4h1EwxShGR3jIcpWir1Um7itqlgV/GkAtJuaQ+FnPlz2l9Gndilj7jDSLaJYKg/
	gwfEbcj+q2crkBjQiIxzXiW5PYJ1fB9w91DeGttVTaHH/+kycta7fUjyu9Dzj5fs85wC0ZSpTqC
	oTS00NWs31yGgSlznO7vezDhDxJlSkydsjPNixIlMJhqLDniR96vza5U4/33
X-Google-Smtp-Source: AGHT+IE8sKeOwNlNtkeF/EF8QY+aAzmcnQEUfuRhumL3vDB/4OCVK4i33B3eqf7W6pF92ioAGxFknQ==
X-Received: by 2002:a17:907:6d0f:b0:ac2:89d6:9123 with SMTP id a640c23a62f3a-ac289d6a156mr884065966b.41.1741631899756;
        Mon, 10 Mar 2025 11:38:19 -0700 (PDT)
Date: Mon, 10 Mar 2025 19:38:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] automation/cirrus-ci: store xen/.config as an artifact
Message-ID: <Z88xmtUGw5k1nsBN@macbook.local>
References: <20250310181638.51196-1-roger.pau@citrix.com>
 <b95a2bcc-4ab8-46d5-9d92-1f2c37d4c279@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b95a2bcc-4ab8-46d5-9d92-1f2c37d4c279@citrix.com>

On Mon, Mar 10, 2025 at 06:30:15PM +0000, Andrew Cooper wrote:
> On 10/03/2025 6:16 pm, Roger Pau Monne wrote:
> > Always store xen/.config as an artifact, renamed to xen-config to match
> > the naming used in the Gitlab CI tests.
> >
> > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Looking at this, I suspect my failure was caused by trying to capture
> ".config" directly.
> 
> > ---
> >  .cirrus.yml | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/.cirrus.yml b/.cirrus.yml
> > index e2949d99d73a..1a39f5026f9a 100644
> > --- a/.cirrus.yml
> > +++ b/.cirrus.yml
> > @@ -15,6 +15,14 @@ freebsd_template: &FREEBSD_ENV
> >      APPEND_INCLUDES: /usr/local/include
> >      CIRRUS_CLONE_DEPTH: 1
> >  
> > +freebsd_artifacts: &FREEBSD_ARTIFACTS
> > +  always:
> > +    rename_script:
> > +      - cp xen/.config xen-config
> > +    config_artifacts:
> > +      path: xen-config
> > +      type: text/plain
> 
> Can't this be part of freebsd_template directly?
> 
> Or is there an ordering problem with the regular build_script ?

Exactly, that was my first attempt (placing it in freebsd_template),
but then the collection would be done before the build, as
freebsd_template sets the env variables ahead of the build, see:

https://cirrus-ci.com/task/5086615544004608

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 19:40:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 19:40:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906799.1314168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1triyz-0005y2-9e; Mon, 10 Mar 2025 19:40:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906799.1314168; Mon, 10 Mar 2025 19:40: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 1triyz-0005xv-73; Mon, 10 Mar 2025 19:40:13 +0000
Received: by outflank-mailman (input) for mailman id 906799;
 Mon, 10 Mar 2025 19:40: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=Hcpv=V5=eik.bme.hu=balaton@srs-se1.protection.inumbo.net>)
 id 1triyy-0005xp-Qm
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 19:40:12 +0000
Received: from zero.eik.bme.hu (zero.eik.bme.hu [152.66.115.2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78ca931a-fde7-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 20:40:08 +0100 (CET)
Received: from zero.eik.bme.hu (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 4525E4E602E;
 Mon, 10 Mar 2025 20:40:07 +0100 (CET)
Received: from zero.eik.bme.hu ([127.0.0.1])
 by zero.eik.bme.hu (zero.eik.bme.hu [127.0.0.1]) (amavisd-new, port 10028)
 with ESMTP id UKowroTsGVfA; Mon, 10 Mar 2025 20:40:04 +0100 (CET)
Received: by zero.eik.bme.hu (Postfix, from userid 432)
 id EF2D94E6030; Mon, 10 Mar 2025 20:40:04 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id EC36774577C;
 Mon, 10 Mar 2025 20:40:04 +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: 78ca931a-fde7-11ef-9898-31a8f345e629
X-Virus-Scanned: amavisd-new at eik.bme.hu
Date: Mon, 10 Mar 2025 20:40:04 +0100 (CET)
From: BALATON Zoltan <balaton@eik.bme.hu>
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>
cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org, 
    Palmer Dabbelt <palmer@dabbelt.com>, 
    Daniel Henrique Barboza <danielhb413@gmail.com>, kvm@vger.kernel.org, 
    Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>, 
    Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
    David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>, 
    Paul Durrant <paul@xen.org>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>, 
    Anthony PERARD <anthony@xenproject.org>, 
    Yoshinori Sato <ysato@users.sourceforge.jp>, 
    manos.pitsidianakis@linaro.org, qemu-riscv@nongnu.org, 
    Paolo Bonzini <pbonzini@redhat.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 00/16] make system memory API available for common code
In-Reply-To: <a57faa36-2e66-4438-accc-0cbfdeebf100@linaro.org>
Message-ID: <6b3e48e2-0730-09e2-55b1-35daff4ecf75@eik.bme.hu>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org> <f231b3be-b308-56cf-53ff-1a6a7fb4da5c@eik.bme.hu> <c5b9eea9-c412-461d-b79b-0fa2f72128ee@linaro.org> <a57faa36-2e66-4438-accc-0cbfdeebf100@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed

On Mon, 10 Mar 2025, Pierrick Bouvier wrote:
> On 3/10/25 09:28, Pierrick Bouvier wrote:
>> Hi Zoltan,
>> 
>> On 3/10/25 06:23, BALATON Zoltan wrote:
>>> On Sun, 9 Mar 2025, Pierrick Bouvier wrote:
>>>> The main goal of this series is to be able to call any memory ld/st 
>>>> function
>>>> from code that is *not* target dependent.
>>> 
>>> Why is that needed?
>>> 
>> 
>> this series belongs to the "single binary" topic, where we are trying to
>> build a single QEMU binary with all architectures embedded.

Yes I get it now, I just forgot as this wasn't mentioned so the goal 
wasn't obvious.

>> To achieve that, we need to have every single compilation unit compiled
>> only once, to be able to link a binary without any symbol conflict.
>> 
>> A consequence of that is target specific code (in terms of code relying
>> of target specific macros) needs to be converted to common code,
>> checking at runtime properties of the target we run. We are tackling
>> various places in QEMU codebase at the same time, which can be confusing
>> for the community members.

Mentioning this single binary in related series may help reminding readers 
about the context.

>> This series take care of system memory related functions and associated
>> compilation units in system/.
>> 
>>>> As a positive side effect, we can
>>>> turn related system compilation units into common code.
>>> 
>>> Are there any negative side effects? In particular have you done any
>>> performance benchmarking to see if this causes a measurable slow down?
>>> Such as with the STREAM benchmark:
>>> https://stackoverflow.com/questions/56086993/what-does-stream-memory-bandwidth-benchmark-really-measure
>>> 
>>> Maybe it would be good to have some performance tests similiar to
>>> functional tests that could be run like the CI tests to detect such
>>> performance changes. People report that QEMU is getting slower and slower
>>> with each release. Maybe it could be a GSoC project to make such tests but
>>> maybe we're too late for that.
>>> 
>> 
>> I agree with you, and it's something we have mentioned during our
>> "internal" conversations. Testing performance with existing functional
>> tests would already be a first good step. However, given the poor
>> reliability we have on our CI runners, I think it's a bit doomed.
>> 
>> Ideally, every QEMU release cycle should have a performance measurement
>> window to detect potential sources of regressions.

Maybe instead of aiming for full CI like performance testing something 
simpler like a few tests that excercise some apects each like STREAM that 
tests memory access, copying a file from network and/or disk that tests 
I/O and mp3 encode with lame for example that's supposed to test floating 
point and SIMD might be simpler to do. It could be made a bootable image 
that just runs the test and reports a number (I did that before for 
qemu-system-ppc when we wanted to test an issue that on some hosts it ran 
slower). Such test could be run by somebody making changes so they could 
call these before and after their patch to quickly check if there's 
anything to improve. This may be less through then full performance 
testing but still give some insight and better than not testing anything 
for performance.

I'm bringig this topic up to try to keep awareness on this so QEMU can 
remain true to its name. (Although I'm not sure if originally the Q in the 
name stood for the time it took to write or its performance but it's 
hopefully still a goal to keep it fast.)

>> To answer to your specific question, I am trying first to get a review
>> on the approach taken. We can always optimize in next series version, in
>> case we identify it's a big deal to introduce a branch for every memory
>> related function call.

I'm not sure we can always optimise after the fact so sometimes it can be 
necessary to take performance in consideration while designing changes.

>> In all cases, transforming code relying on compile time
>> optimization/dead code elimination through defines to runtime checks
>> will *always* have an impact,

Yes, that's why it would be good to know how much impact is that.

>> even though it should be minimal in most of cases.

Hopefully but how do we know if we don't even test for it?

>> But the maintenance and compilation time benefits, as well as
>> the perspectives it opens (single binary, heterogeneous emulation, use
>> QEMU as a library) are worth it IMHO.

I'm not so sure about that. Heterogeneous emulation sounds interesting but 
is it needed most of the time? Using QEMU as a library also may not be 
common and limited by licencing. The single binary would simplify packages 
but then this binary may get huge so it's slower to load, may take more 
resources to run and more time to compile and if somebody only needs one 
architecture why do I want to include all of the others and wait for it to 
compile using up a lot of space on my disk? So in other words, while these 
are interesting and good goals could it be achieved with keeping the 
current way of building single ARCH binary as opposed to single binary 
with multiple archs and not throwing out the optimisations a single arch 
binary can use? Which one is better may depend on the use case so if 
possible it would be better to allow both keeping what we have and adding 
multi arch binary on top not replacing the current way completely.

>>> Regards,
>>> BALATON Zoltan
>> 
>> Regards,
>> Pierrick
>> 
>
> As a side note, we recently did some work around performance analysis (for 
> aarch64), as you can see here [1]. In the end, QEMU performance depends

Thank you, very interesting read.

> (roughly in this order) on:
> 1. quality of code generated by TCG
> 2. helper code to implement instructions
> 3. mmu emulation
>
> Other state of the art translators that exist are faster (fex, box64) mainly 
> by enhancing 1, and relying on various tricks to avoid translating some 
> libraries calls. But those translators are host/target specific, and the 
> ratio of instructions generated (vs target ones read) is much lower than 
> QEMU. In the experimentation listed in the blog, I observed that for 
> qemu-system-aarch64, we have an average expansion factor of around 18 (1 
> guest insn translates to 18 host ones).
>
> For users seeing performance decreases, beyond the QEMU code changes, adding 
> new target instructions may add new helpers, which may be called by the stack 
> people use, and they can sometimes observe a slower behaviour.

I'm mostly interested in emulating PPC for older and obscure OSes running 
on older hardware so there new instructions isn't a problem. Most of the 
time MMU emulation, helpers and TCG code generation is mostly dominating 
there and on PPC particularly the lack of hard float usage. Apart from 
that maybe some device emulations but that's a different topic. This is 
already slow so any overhead introduced at lowest levels just adds to 
that and target specific optimisation may only get back what's lost 
elsewhere.

Regards,
BALATON Zoltan

> There are probably some other low hanging fruits for other target 
> architectures.
>
> [1] https://www.linaro.org/blog/qemu-a-tale-of-performance-analysis/
>
>


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 20:00:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 20:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906819.1314198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trjIJ-0001E6-4N; Mon, 10 Mar 2025 20:00:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906819.1314198; Mon, 10 Mar 2025 20:00: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 1trjIJ-0001Dz-1h; Mon, 10 Mar 2025 20:00:11 +0000
Received: by outflank-mailman (input) for mailman id 906819;
 Mon, 10 Mar 2025 20:00: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=UYYE=V5=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1trjIH-0001Dr-C8
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 20:00:09 +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 44366cb7-fdea-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 21:00:08 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso15719945e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 13:00:08 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43cea1e041fsm92235765e9.23.2025.03.10.13.00.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 13:00: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: 44366cb7-fdea-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741636807; x=1742241607; 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=OxW7Z5w1m+QU8mPxDLgCVrhTjj2pjgURoSloPRibUlA=;
        b=anGYHeGm3AlvmfycqjDFNOFDPjYPsNmsFgoE/1XJHvFuzSG4TioEL8IssEwnZr6X4H
         DY2sSCV8OZyra+a/MI1iQs3HJM2r1FnF8SiPUQhVEbtFb+BxW+o8EDdR3sroJBL4iLlE
         7tJjb7Tza4+z3XP9f9dZNR/GdZ1pvwzVyn578=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741636807; x=1742241607;
        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=OxW7Z5w1m+QU8mPxDLgCVrhTjj2pjgURoSloPRibUlA=;
        b=WH1ACGuk7+Eo9UFv+h+PtaqIIwGlceUwqN8HLou8J6CESIENJuy5eFpREJRBqowwyH
         xWYD8v2g8a+TBrT/OyUMiSmrg31fnpTlXJBlSMpFTrDdSh57UVT97eks7Z19hlmpJ3or
         A281lMmTJxo2Q4fygfJCyk7a3FTAdUUHz/0ZbYwiUh1fr+amheEfemT3kfio+jFGIWtB
         /Vp+vYiVtz01MakLvEl4DXOr4/FkQU+vE4SjwhuI1zf+rjTXO9cD9sZ4fHyo2PXImlR6
         gODP7V057Pzcx3jozA22fqDjSWz5eMGmO2uBGexRu3FLAe44pv5vrVKXJZfVWM+eXLUw
         zE4A==
X-Gm-Message-State: AOJu0Yy2/euTiwZdihq+lvU+45y2yg19OBTvbvdi2oK56JXOYJJYe4Xr
	7w10HkY664VqQCvHoETk99Pxy0+nSKrYyhaLqRG2ThBZrnr2mbzcc+Fy6PGsWok=
X-Gm-Gg: ASbGnct7MY89pZWNqMl0IGWjrwTfylZFAm90QAfrkeoKSkaiF7l+uad5Y/ZjMPXELEq
	8C0uyN2dQT+utIVeom62ryW2582PFnnG6Lt7Vh+GLREDxqMf5e6s7L5z04PNu8Jr2+h6G+OKMk+
	mGOfkX8RDqJSzZpEub5hGuivXcMZZ9KX1RnWr7Gd0DmN0i/kQOXkdx7YqIZn9OEsvBWXQRq98Pm
	+3uIBUbX/IyOjugd9ihd8uWRqpcMejNLojeroxyEXuD1F+2VoEKT6jcTEj1FzxPGH6noexhAgk+
	MV4/vrm9tmBoxFdg5Qb5TX6cBZRhD0SznW+QuJhhwavRikjENq1qka6kZZuPyjJ2Ph0eZ4ZrDqh
	BNj2978CE
X-Google-Smtp-Source: AGHT+IE18akr9YEFppq34L2cPbXOF0emAS1qTK1oSEKxTbtgqeecpuIamQA+FimK5RT9349/7RC52A==
X-Received: by 2002:a05:600c:1c81:b0:43c:efed:733e with SMTP id 5b1f17b1804b1-43d01be6389mr16366575e9.14.1741636807602;
        Mon, 10 Mar 2025 13:00:07 -0700 (PDT)
Message-ID: <d9b90141-3af1-4247-b900-0032d70ade0e@citrix.com>
Date: Mon, 10 Mar 2025 20:00:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] automation/cirrus-ci: store xen/.config as an artifact
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250310181638.51196-1-roger.pau@citrix.com>
 <b95a2bcc-4ab8-46d5-9d92-1f2c37d4c279@citrix.com>
 <Z88xmtUGw5k1nsBN@macbook.local>
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: <Z88xmtUGw5k1nsBN@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/03/2025 6:38 pm, Roger Pau MonnĂŠ wrote:
> On Mon, Mar 10, 2025 at 06:30:15PM +0000, Andrew Cooper wrote:
>> On 10/03/2025 6:16 pm, Roger Pau Monne wrote:
>>> Always store xen/.config as an artifact, renamed to xen-config to match
>>> the naming used in the Gitlab CI tests.
>>>
>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>> Looking at this, I suspect my failure was caused by trying to capture
>> ".config" directly.
>>
>>> ---
>>>  .cirrus.yml | 12 ++++++++++++
>>>  1 file changed, 12 insertions(+)
>>>
>>> diff --git a/.cirrus.yml b/.cirrus.yml
>>> index e2949d99d73a..1a39f5026f9a 100644
>>> --- a/.cirrus.yml
>>> +++ b/.cirrus.yml
>>> @@ -15,6 +15,14 @@ freebsd_template: &FREEBSD_ENV
>>>      APPEND_INCLUDES: /usr/local/include
>>>      CIRRUS_CLONE_DEPTH: 1
>>>  
>>> +freebsd_artifacts: &FREEBSD_ARTIFACTS
>>> +  always:
>>> +    rename_script:
>>> +      - cp xen/.config xen-config
>>> +    config_artifacts:
>>> +      path: xen-config
>>> +      type: text/plain
>> Can't this be part of freebsd_template directly?
>>
>> Or is there an ordering problem with the regular build_script ?
> Exactly, that was my first attempt (placing it in freebsd_template),
> but then the collection would be done before the build, as
> freebsd_template sets the env variables ahead of the build, see:
>
> https://cirrus-ci.com/task/5086615544004608
>
> Thanks, Roger.

Ok.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 20:27:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 20:27:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906830.1314209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trjiF-0006nq-4y; Mon, 10 Mar 2025 20:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906830.1314209; Mon, 10 Mar 2025 20: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 1trjiF-0006nj-2N; Mon, 10 Mar 2025 20:26:59 +0000
Received: by outflank-mailman (input) for mailman id 906830;
 Mon, 10 Mar 2025 20: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=fu2G=V5=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trjiD-0006nd-3G
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 20:26:57 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 013bb6cf-fdee-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 21:26:54 +0100 (CET)
Received: by mail-pj1-x102c.google.com with SMTP id
 98e67ed59e1d1-2feb867849fso7145662a91.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 13:26:54 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-224109e8397sm82675275ad.58.2025.03.10.13.26.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 13:26: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: 013bb6cf-fdee-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741638413; x=1742243213; 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=AiIiLS1GP7q3a1RswImI3k6TFErdPpBi0gj3iveuYnY=;
        b=o+MssS5Q7YpDAUnE4GLhhQdMGXdZin8KQQbwAUK8llFWFQILaqirVpiJjiLlfa8FLC
         RaeDd3UTElXpXMfHjUvHUhIuBW+v5gULa7vmQiz24afUNoIwiHa0KLqottkbSUjNgpKL
         mS3BQCRZu/qHaovOiXmx+RfN1uA+glrLdZtHQrv9SAxZIBxzFFJnENHKeL08AHDOPiwX
         rykE9Vg9/9WlHDaFC1r4NwS7UU4RoUOc3Nu781Bkuo3drwriFBDO1n0SbGPNhClWCktT
         6pAueUga1PbAc8SoEGYNTf6wAybB8rJvyw7r6rDm2LFlLnXxnp86gwHxD7TURkmOqnv5
         Uk+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741638413; x=1742243213;
        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=AiIiLS1GP7q3a1RswImI3k6TFErdPpBi0gj3iveuYnY=;
        b=Ec+BHeb3dZgd6G+neiUlODYsBxOZDnhoB11K25bXmRVNbZewO3eP2RNEjBp8UFBGso
         8nrlJtnpETQByaimxk7ek5+D5QKzn+2/NpJefS+SBKohEVHQ9KvUIQ4l3KrLxGuVei+C
         vtCc2B+AObmB38eseUgjifazUhA0FoqPtdXUcefT0NqjgboV08GLfrWqaVw/uf3Bj4UL
         ayQSlCzgjRMbqvaq+4lUxiYA0LJj+LSpRWxnCB0GSI4bK7sPoD8/iJ71uOeXh7qm+nhH
         vlSYn6Y6XFO94fUrmDNWDi08o6Hvf88xYdq9GfdeDpMgK59lsESVCgA5xyRHb0eJ7FWY
         7Opg==
X-Forwarded-Encrypted: i=1; AJvYcCU09IG95KJ7o+a39Y7ihY+rHus1zHL+I0DVS1su5QpGMpVyoTpO+OoGHpqhrhfZw7uzcFXSFnKeNlw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzkht6KLPBdy2/fB6rpTcEuGFplfMRo8m6uGEt3Wf8TH1DJXnWs
	gXMOIMd+jIXrJA/WVDLgXadOKn+X3RuXxgPkIDI1eaGPJ69I/CuQkpoT3pwAukg=
X-Gm-Gg: ASbGncvis3SmgwVf0P5lcTHdqcTdU2urnUVKjwdFtt3ibh6wsjlwYSJyFX9Sio72ksU
	cTcK3jv1WIQCA06iuvgH8xVAHNDR4iNobbVpMVi+fZ6uu/UgQhi8IGtsEVrIYJfnuwNlut3Zz1k
	pd23JKrJ2wlSLDsKQRSqlCqjZiJrJg2hxSgEA9y9OXludZ3nlLzN7aw1L+HApGpCe6ZAQyWmP/9
	7M7DAJcuL5QNBdHaEQ3fNMZRc9mj6R4fW4Dpz+62y8B689jmuREZDrR1ISq2qp5d/s14uhzkbPd
	mPN9qPspJxRNOko0D29WO4UT9uSyoF9cRL1UGGsq3iNGzhdwrt4ql3eruymAO3cankHx
X-Google-Smtp-Source: AGHT+IGqrKJLGR1X/ovR/W78lQ/Ua1Y2uHeHfWuLidHf+nTUnqStlIa4GrnBGcWZ3g9vtZOGkIWxrQ==
X-Received: by 2002:a17:90b:2883:b0:2ee:44ec:e524 with SMTP id 98e67ed59e1d1-2ff7cf3e402mr23135122a91.35.1741638412801;
        Mon, 10 Mar 2025 13:26:52 -0700 (PDT)
Message-ID: <86acf98f-99d6-4a93-b62f-c83571b0ae09@linaro.org>
Date: Mon, 10 Mar 2025 13:26:51 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/16] make system memory API available for common code
Content-Language: en-US
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, kvm@vger.kernel.org,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 Paul Durrant <paul@xen.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Anthony PERARD <anthony@xenproject.org>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, manos.pitsidianakis@linaro.org,
 qemu-riscv@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
 <f231b3be-b308-56cf-53ff-1a6a7fb4da5c@eik.bme.hu>
 <c5b9eea9-c412-461d-b79b-0fa2f72128ee@linaro.org>
 <a57faa36-2e66-4438-accc-0cbfdeebf100@linaro.org>
 <6b3e48e2-0730-09e2-55b1-35daff4ecf75@eik.bme.hu>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <6b3e48e2-0730-09e2-55b1-35daff4ecf75@eik.bme.hu>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/10/25 12:40, BALATON Zoltan wrote:
> On Mon, 10 Mar 2025, Pierrick Bouvier wrote:
>> On 3/10/25 09:28, Pierrick Bouvier wrote:
>>> Hi Zoltan,
>>>
>>> On 3/10/25 06:23, BALATON Zoltan wrote:
>>>> On Sun, 9 Mar 2025, Pierrick Bouvier wrote:
>>>>> The main goal of this series is to be able to call any memory ld/st
>>>>> function
>>>>> from code that is *not* target dependent.
>>>>
>>>> Why is that needed?
>>>>
>>>
>>> this series belongs to the "single binary" topic, where we are trying to
>>> build a single QEMU binary with all architectures embedded.
> 
> Yes I get it now, I just forgot as this wasn't mentioned so the goal
> wasn't obvious.
>

The more I work on this topic, the more I realize we miss a clear and 
concise document (wiki page, or anything than can be edited easily - not 
email) explaining this to other developers, and that we could share as a 
link, and enhance based on the questions asked.

>>> To achieve that, we need to have every single compilation unit compiled
>>> only once, to be able to link a binary without any symbol conflict.
>>>
>>> A consequence of that is target specific code (in terms of code relying
>>> of target specific macros) needs to be converted to common code,
>>> checking at runtime properties of the target we run. We are tackling
>>> various places in QEMU codebase at the same time, which can be confusing
>>> for the community members.
> 
> Mentioning this single binary in related series may help reminding readers
> about the context.
> 

I'll make sure to mention this "name" in the title for next series, thanks!

>>> This series take care of system memory related functions and associated
>>> compilation units in system/.
>>>
>>>>> As a positive side effect, we can
>>>>> turn related system compilation units into common code.
>>>>
>>>> Are there any negative side effects? In particular have you done any
>>>> performance benchmarking to see if this causes a measurable slow down?
>>>> Such as with the STREAM benchmark:
>>>> https://stackoverflow.com/questions/56086993/what-does-stream-memory-bandwidth-benchmark-really-measure
>>>>
>>>> Maybe it would be good to have some performance tests similiar to
>>>> functional tests that could be run like the CI tests to detect such
>>>> performance changes. People report that QEMU is getting slower and slower
>>>> with each release. Maybe it could be a GSoC project to make such tests but
>>>> maybe we're too late for that.
>>>>
>>>
>>> I agree with you, and it's something we have mentioned during our
>>> "internal" conversations. Testing performance with existing functional
>>> tests would already be a first good step. However, given the poor
>>> reliability we have on our CI runners, I think it's a bit doomed.
>>>
>>> Ideally, every QEMU release cycle should have a performance measurement
>>> window to detect potential sources of regressions.
> 
> Maybe instead of aiming for full CI like performance testing something
> simpler like a few tests that excercise some apects each like STREAM that
> tests memory access, copying a file from network and/or disk that tests
> I/O and mp3 encode with lame for example that's supposed to test floating
> point and SIMD might be simpler to do. It could be made a bootable image
> that just runs the test and reports a number (I did that before for
> qemu-system-ppc when we wanted to test an issue that on some hosts it ran
> slower). Such test could be run by somebody making changes so they could
> call these before and after their patch to quickly check if there's
> anything to improve. This may be less through then full performance
> testing but still give some insight and better than not testing anything
> for performance.
> 
> I'm bringig this topic up to try to keep awareness on this so QEMU can
> remain true to its name. (Although I'm not sure if originally the Q in the
> name stood for the time it took to write or its performance but it's
> hopefully still a goal to keep it fast.)
> 

You do well to remind that, but as always, the problem is that "run by 
somebody" is not an enforceable process.

>>> To answer to your specific question, I am trying first to get a review
>>> on the approach taken. We can always optimize in next series version, in
>>> case we identify it's a big deal to introduce a branch for every memory
>>> related function call.
> 
> I'm not sure we can always optimise after the fact so sometimes it can be
> necessary to take performance in consideration while designing changes.
> 

In the context of single binary concerned series, we mostly introduce a 
few branches in various spots, to do a runtime check.
As Richard mentioned in this series, we can keep target code exactly as 
it is.

>>> In all cases, transforming code relying on compile time
>>> optimization/dead code elimination through defines to runtime checks
>>> will *always* have an impact,
> 
> Yes, that's why it would be good to know how much impact is that.
> 
>>> even though it should be minimal in most of cases.
> 
> Hopefully but how do we know if we don't even test for it?
> 

In the case of this series, I usually so a local test booting 
(automatically) an x64 debian stable vm, that poweroff itself as part of 
its init.

With and without this series, the variation is below the average one I 
have between two runs (<1 sec, for a total of 40 seconds), so the impact 
is litterally invisible.

>>> But the maintenance and compilation time benefits, as well as
>>> the perspectives it opens (single binary, heterogeneous emulation, use
>>> QEMU as a library) are worth it IMHO.
> 
> I'm not so sure about that. Heterogeneous emulation sounds interesting but
> is it needed most of the time? Using QEMU as a library also may not be
> common and limited by licencing. The single binary would simplify packages
> but then this binary may get huge so it's slower to load, may take more
> resources to run and more time to compile and if somebody only needs one
> architecture why do I want to include all of the others and wait for it to
> compile using up a lot of space on my disk? So in other words, while these
> are interesting and good goals could it be achieved with keeping the
> current way of building single ARCH binary as opposed to single binary
> with multiple archs and not throwing out the optimisations a single arch
> binary can use? Which one is better may depend on the use case so if
> possible it would be better to allow both keeping what we have and adding
> multi arch binary on top not replacing the current way completely.
> 

Thanks, it's definitely interesting to hear the concerns on this, so we 
can address them, and find the best and minimal solution to achive the 
desired goal.

I'll answer point by point.

QEMU as a library: that's what Unicorn is 
(https://www.unicorn-engine.org/docs/beyond_qemu.html), which is used by 
a lot of researchers. Talking frequently with some of them, they would 
be happy to have such a library directly with upstream QEMU, so it can 
benefit from all the enhancements done to TCG. It's mostly a use case 
for security researchers/engineers, but definitely a valid one. Just 
look at the list of QEMU downstream forks focused on that. Combining 
this with plugins would be amazing, and only grow our list of users.

For the heterogeneous scenario, yes it's not the most common case. But 
we *must*, in terms of QEMU binary, be able to have a single binary 
first. By that, I mean the need is to be able to link a binary with 
several arch present, without any symbol conflict.

The other approach possible is to rename many functions through QEMU 
codebase by adding a target_prefix everywhere, which would be ugly and 
endless. That's why we are currently using the "remove duplicated 
compilation units" pragmatic approach. As well, we can do a lot of 
headers cleanup on the way (removing useless dependencies), which is 
good for everyone.

For compilation times, it will only speed it up, because in case you 
have only specific targets, non-needed files won't be compiled/linked. 
For multi target setup, it's only a speed up (with all targets, it would 
be a drop from 9000+ CUs to around 4000+). Less disk space as well, most 
notable in debug.
As well, having files compiled only once allow to use reliably code 
indexation tools (clangd for instance), instead of picking a random CU 
setting based on one target.
Finally, having a single binary would mean it's easy to use LTO (or at 
least distros would use it easily), and get the same or better 
performance as what we have today.

The "current" way, with several binaries, can be kept forever if people 
wants. But it's not feasible to keep headers and cu compatible for both 
modes. It would be a lot of code duplication, and that is really not 
desirable IMHO. So we need to do those system wide changes and convince 
the community it's a good progress for everyone.

Kudos to Philippe who has been doing this long and tedious work for 
several years now, and I hope that with some fresh eyes/blood, it can be 
completed soon.

>>>> Regards,
>>>> BALATON Zoltan
>>>
>>> Regards,
>>> Pierrick
>>>
>>
>> As a side note, we recently did some work around performance analysis (for
>> aarch64), as you can see here [1]. In the end, QEMU performance depends
> 
> Thank you, very interesting read.
> 
>> (roughly in this order) on:
>> 1. quality of code generated by TCG
>> 2. helper code to implement instructions
>> 3. mmu emulation
>>
>> Other state of the art translators that exist are faster (fex, box64) mainly
>> by enhancing 1, and relying on various tricks to avoid translating some
>> libraries calls. But those translators are host/target specific, and the
>> ratio of instructions generated (vs target ones read) is much lower than
>> QEMU. In the experimentation listed in the blog, I observed that for
>> qemu-system-aarch64, we have an average expansion factor of around 18 (1
>> guest insn translates to 18 host ones).
>>
>> For users seeing performance decreases, beyond the QEMU code changes, adding
>> new target instructions may add new helpers, which may be called by the stack
>> people use, and they can sometimes observe a slower behaviour.
> 
> I'm mostly interested in emulating PPC for older and obscure OSes running
> on older hardware so there new instructions isn't a problem. Most of the
> time MMU emulation, helpers and TCG code generation is mostly dominating
> there and on PPC particularly the lack of hard float usage. Apart from
> that maybe some device emulations but that's a different topic. This is
> already slow so any overhead introduced at lowest levels just adds to
> that and target specific optimisation may only get back what's lost
> elsewhere.
> 

One think we really lack for now is how to measure generated code 
quality. I mean, to know how far we are from the optimal translation.
For mmu and helper code, it's easy, as this appear in any profiling.
But for the rest, it's kind of a blackbox.

Once again, having QEMU has a library (TCG more precisely) would be 
something very beneficial to work on that.

> Regards,
> BALATON Zoltan
> 
>> There are probably some other low hanging fruits for other target
>> architectures.
>>
>> [1] https://www.linaro.org/blog/qemu-a-tale-of-performance-analysis/
>>
>>



From xen-devel-bounces@lists.xenproject.org Mon Mar 10 20:59:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 20:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906845.1314219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trkDD-0003LT-Ed; Mon, 10 Mar 2025 20:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906845.1314219; Mon, 10 Mar 2025 20: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 1trkDD-0003LM-BM; Mon, 10 Mar 2025 20:58:59 +0000
Received: by outflank-mailman (input) for mailman id 906845;
 Mon, 10 Mar 2025 20:58: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=UYYE=V5=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1trkDB-0003LE-9s
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 20:58:57 +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 79aff57f-fdf2-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 21:58:54 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so14754905e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 13:58:53 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdff72sm16244727f8f.36.2025.03.10.13.58.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 13:58: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: 79aff57f-fdf2-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741640333; x=1742245133; 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=cb8VwozYLihPlXOI0f+/TMwpoy8uXYoZ099zSO2jGrY=;
        b=EG8ANhzrCky4RV7M1uNIOPiImEpGn4XUrAnUV/8YwmRIuCCdWUo4dF6rflr/iQRbFf
         AV6yeThlZ/UETtcARhDT4AhAWy6/5Ha3QU7p3aXz30YnQyKKc4UpWgl+XHVsqwksCBFl
         NaHHgSzIY3h0/nCAiXkFswPSzvbakKFon28AM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741640333; x=1742245133;
        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=cb8VwozYLihPlXOI0f+/TMwpoy8uXYoZ099zSO2jGrY=;
        b=BstXiEG7rb7fE/1jJ7xv8ECcK4+ryKymSIyFlAYhwPR4tJiVFYxxyi4RUecSNgvAat
         KCgg+Qannsbc/DlUcnsTmoMIIhEAhdU/RKOsXTU5pG0reKcTUhxjMTkzBbgbOkIEjnM3
         xY6CxL415VDuxhlsHPI59Lxz7hUBmkQwSsLxv5ttGsNS4WuA3loQ26ResO0zoJKqgLbt
         LE84QBVu+yPgghLftPNYgKCqmUD9rw/kfMvTGRzc8OIY3g7LYuEyDPh7EVb1scpcS62h
         YWXMLhILh+e+V7j1NzEOu9okfVjmPJO0YQZWQMNOXIoIyiJZMTu8TFIqSEYy50+AFT+5
         sVMw==
X-Forwarded-Encrypted: i=1; AJvYcCUAGXL9+9CvJEKC2ZRDLbDnslDHwMEVqqiw2T/YBCZ0LM12bZ+j9bcrmGsTAHAfQoI7QX6OZIYQS5I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwWLx9cx4/ZrpghQQYvqa15yiAOymfNN9K9LYvxdMik9R62O7c2
	TNN2/WYDoJp2YnvecE4CHJ9TSQDdwto1UvodPgugNvKRlOgmklxeY78G1ziKTVc=
X-Gm-Gg: ASbGncvPWwMyGBMZImaBLvgGAJ7r96ACMTWkMJjob9QPalDZCeRHMiO9A0oSLdvEKsb
	d6HNDhWmLGY+DVlmZtftcYOHvRxgFF2hl1Jcw/zcoJaayWArZtrJSahcjMtzy2p4+8qW+d8tiLU
	WSLPpFZRNZMziwnombQZmTqU3/NF/75qE8q07w/FJnTqeovxKeK85rLwhOtUehiVDp1u6itIHsS
	z1Kpq6ggZrup8UIxhNqha+l2qmZCELBa0Qn0x7Gfoa8RXaxX514WZF7BFogSBdxZWdmQcb6qaRU
	3epkzynh5qB9fyjmXgMALZ4H7RYtfHH5/TvKXHLNwskWCa1mhYbZbQgUIZiivu2r14IkFLs8IPN
	knJCSJhYu
X-Google-Smtp-Source: AGHT+IFMFL7Db4G/4h+vbm5L3e+h03+zVh8NKDYLPX4Dlkz72erFh9IJx5d/IKWv+ktO3ksqq6oQHw==
X-Received: by 2002:a05:6000:18a3:b0:391:3207:2e6f with SMTP id ffacd0b85a97d-39132d984abmr10880095f8f.42.1741640333312;
        Mon, 10 Mar 2025 13:58:53 -0700 (PDT)
Message-ID: <137cc8c6-0727-4253-96b8-45d28ce40943@citrix.com>
Date: Mon, 10 Mar 2025 20:58:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/console: make console buffer size configurable
To: dmkhn@proton.me, xen-devel@lists.xenproject.org
Cc: anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com
References: <20250306080428.155039-1-dmkhn@proton.me>
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: <20250306080428.155039-1-dmkhn@proton.me>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/03/2025 8:05 am, dmkhn@proton.me wrote:
> From: Denis Mukhin <dmukhin@ford.com>
>
> Add new CONRING_SHIFT Kconfig parameter to specify the boot console buffer size
> as a power of 2.
>
> The supported range is [14..27] -> [16KiB..128MiB].
>
> Set default to 15 (32 KiB).
>
> Link: https://gitlab.com/xen-project/xen/-/issues/185

Minor note, we typically use Resolves: for this, which will auto-close
the issue when it's merged.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 21:02:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 21:02:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906857.1314228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trkGt-0004wA-0y; Mon, 10 Mar 2025 21:02:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906857.1314228; Mon, 10 Mar 2025 21:02: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 1trkGs-0004w3-Uh; Mon, 10 Mar 2025 21:02:46 +0000
Received: by outflank-mailman (input) for mailman id 906857;
 Mon, 10 Mar 2025 21:02: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=Hcpv=V5=eik.bme.hu=balaton@srs-se1.protection.inumbo.net>)
 id 1trkGr-0004vx-O0
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 21:02:45 +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 026e76dc-fdf3-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 22:02:44 +0100 (CET)
Received: from zero.eik.bme.hu (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id AF51A4E602E;
 Mon, 10 Mar 2025 22:02:42 +0100 (CET)
Received: from zero.eik.bme.hu ([127.0.0.1])
 by zero.eik.bme.hu (zero.eik.bme.hu [127.0.0.1]) (amavisd-new, port 10028)
 with ESMTP id IphZi4_PVs8l; Mon, 10 Mar 2025 22:02:40 +0100 (CET)
Received: by zero.eik.bme.hu (Postfix, from userid 432)
 id 6B4A84E601A; Mon, 10 Mar 2025 22:02:40 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 6816074577D;
 Mon, 10 Mar 2025 22:02:40 +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: 026e76dc-fdf3-11ef-9ab8-95dc52dad729
X-Virus-Scanned: amavisd-new at eik.bme.hu
Date: Mon, 10 Mar 2025 22:02:40 +0100 (CET)
From: BALATON Zoltan <balaton@eik.bme.hu>
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>
cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org, 
    Palmer Dabbelt <palmer@dabbelt.com>, 
    Daniel Henrique Barboza <danielhb413@gmail.com>, kvm@vger.kernel.org, 
    Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>, 
    Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
    David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>, 
    Paul Durrant <paul@xen.org>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>, 
    Anthony PERARD <anthony@xenproject.org>, 
    Yoshinori Sato <ysato@users.sourceforge.jp>, 
    manos.pitsidianakis@linaro.org, qemu-riscv@nongnu.org, 
    Paolo Bonzini <pbonzini@redhat.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 00/16] make system memory API available for common code
In-Reply-To: <86acf98f-99d6-4a93-b62f-c83571b0ae09@linaro.org>
Message-ID: <5c6a446b-e715-cc38-b212-3291ecc426d2@eik.bme.hu>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org> <f231b3be-b308-56cf-53ff-1a6a7fb4da5c@eik.bme.hu> <c5b9eea9-c412-461d-b79b-0fa2f72128ee@linaro.org> <a57faa36-2e66-4438-accc-0cbfdeebf100@linaro.org> <6b3e48e2-0730-09e2-55b1-35daff4ecf75@eik.bme.hu>
 <86acf98f-99d6-4a93-b62f-c83571b0ae09@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed

On Mon, 10 Mar 2025, Pierrick Bouvier wrote:
> On 3/10/25 12:40, BALATON Zoltan wrote:
>> On Mon, 10 Mar 2025, Pierrick Bouvier wrote:
>>> On 3/10/25 09:28, Pierrick Bouvier wrote:
>>>> Hi Zoltan,
>>>> 
>>>> On 3/10/25 06:23, BALATON Zoltan wrote:
>>>>> On Sun, 9 Mar 2025, Pierrick Bouvier wrote:
>>>>>> The main goal of this series is to be able to call any memory ld/st
>>>>>> function
>>>>>> from code that is *not* target dependent.
>>>>> 
>>>>> Why is that needed?
>>>>> 
>>>> 
>>>> this series belongs to the "single binary" topic, where we are trying to
>>>> build a single QEMU binary with all architectures embedded.
>> 
>> Yes I get it now, I just forgot as this wasn't mentioned so the goal
>> wasn't obvious.
>> 
>
> The more I work on this topic, the more I realize we miss a clear and concise 
> document (wiki page, or anything than can be edited easily - not email) 
> explaining this to other developers, and that we could share as a link, and 
> enhance based on the questions asked.

Maybe you can start collecting FAQ on a wiki page so you don't have to 
answer them multiple times. I think most people aware of this though just 
may not associate a series with it if not mentioned in the description.

>>>> To achieve that, we need to have every single compilation unit compiled
>>>> only once, to be able to link a binary without any symbol conflict.
>>>> 
>>>> A consequence of that is target specific code (in terms of code relying
>>>> of target specific macros) needs to be converted to common code,
>>>> checking at runtime properties of the target we run. We are tackling
>>>> various places in QEMU codebase at the same time, which can be confusing
>>>> for the community members.
>> 
>> Mentioning this single binary in related series may help reminding readers
>> about the context.
>> 
>
> I'll make sure to mention this "name" in the title for next series, thanks!
>
>>>> This series take care of system memory related functions and associated
>>>> compilation units in system/.
>>>> 
>>>>>> As a positive side effect, we can
>>>>>> turn related system compilation units into common code.
>>>>> 
>>>>> Are there any negative side effects? In particular have you done any
>>>>> performance benchmarking to see if this causes a measurable slow down?
>>>>> Such as with the STREAM benchmark:
>>>>> https://stackoverflow.com/questions/56086993/what-does-stream-memory-bandwidth-benchmark-really-measure
>>>>> 
>>>>> Maybe it would be good to have some performance tests similiar to
>>>>> functional tests that could be run like the CI tests to detect such
>>>>> performance changes. People report that QEMU is getting slower and 
>>>>> slower
>>>>> with each release. Maybe it could be a GSoC project to make such tests 
>>>>> but
>>>>> maybe we're too late for that.
>>>>> 
>>>> 
>>>> I agree with you, and it's something we have mentioned during our
>>>> "internal" conversations. Testing performance with existing functional
>>>> tests would already be a first good step. However, given the poor
>>>> reliability we have on our CI runners, I think it's a bit doomed.
>>>> 
>>>> Ideally, every QEMU release cycle should have a performance measurement
>>>> window to detect potential sources of regressions.
>> 
>> Maybe instead of aiming for full CI like performance testing something
>> simpler like a few tests that excercise some apects each like STREAM that
>> tests memory access, copying a file from network and/or disk that tests
>> I/O and mp3 encode with lame for example that's supposed to test floating
>> point and SIMD might be simpler to do. It could be made a bootable image
>> that just runs the test and reports a number (I did that before for
>> qemu-system-ppc when we wanted to test an issue that on some hosts it ran
>> slower). Such test could be run by somebody making changes so they could
>> call these before and after their patch to quickly check if there's
>> anything to improve. This may be less through then full performance
>> testing but still give some insight and better than not testing anything
>> for performance.
>> 
>> I'm bringig this topic up to try to keep awareness on this so QEMU can
>> remain true to its name. (Although I'm not sure if originally the Q in the
>> name stood for the time it took to write or its performance but it's
>> hopefully still a goal to keep it fast.)
>> 
>
> You do well to remind that, but as always, the problem is that "run by 
> somebody" is not an enforceable process.
>
>>>> To answer to your specific question, I am trying first to get a review
>>>> on the approach taken. We can always optimize in next series version, in
>>>> case we identify it's a big deal to introduce a branch for every memory
>>>> related function call.
>> 
>> I'm not sure we can always optimise after the fact so sometimes it can be
>> necessary to take performance in consideration while designing changes.
>> 
>
> In the context of single binary concerned series, we mostly introduce a few 
> branches in various spots, to do a runtime check.
> As Richard mentioned in this series, we can keep target code exactly as it 
> is.
>
>>>> In all cases, transforming code relying on compile time
>>>> optimization/dead code elimination through defines to runtime checks
>>>> will *always* have an impact,
>> 
>> Yes, that's why it would be good to know how much impact is that.
>> 
>>>> even though it should be minimal in most of cases.
>> 
>> Hopefully but how do we know if we don't even test for it?
>> 
>
> In the case of this series, I usually so a local test booting (automatically) 
> an x64 debian stable vm, that poweroff itself as part of its init.
>
> With and without this series, the variation is below the average one I have 
> between two runs (<1 sec, for a total of 40 seconds), so the impact is 
> litterally invisible.

That's good to hear. Some overhead which is unavoidable is OK I just hope 
we can avoid which is not unavoidable and try to do something about what 
would have noticable performance penalty. If you're already aware of that 
and do that then that's all I wanted to say, nothing new.

>>>> But the maintenance and compilation time benefits, as well as
>>>> the perspectives it opens (single binary, heterogeneous emulation, use
>>>> QEMU as a library) are worth it IMHO.
>> 
>> I'm not so sure about that. Heterogeneous emulation sounds interesting but
>> is it needed most of the time? Using QEMU as a library also may not be
>> common and limited by licencing. The single binary would simplify packages
>> but then this binary may get huge so it's slower to load, may take more
>> resources to run and more time to compile and if somebody only needs one
>> architecture why do I want to include all of the others and wait for it to
>> compile using up a lot of space on my disk? So in other words, while these
>> are interesting and good goals could it be achieved with keeping the
>> current way of building single ARCH binary as opposed to single binary
>> with multiple archs and not throwing out the optimisations a single arch
>> binary can use? Which one is better may depend on the use case so if
>> possible it would be better to allow both keeping what we have and adding
>> multi arch binary on top not replacing the current way completely.
>> 
>
> Thanks, it's definitely interesting to hear the concerns on this, so we can 
> address them, and find the best and minimal solution to achive the desired 
> goal.
>
> I'll answer point by point.
>
> QEMU as a library: that's what Unicorn is 
> (https://www.unicorn-engine.org/docs/beyond_qemu.html), which is used by a 
> lot of researchers. Talking frequently with some of them, they would be happy 
> to have such a library directly with upstream QEMU, so it can benefit from 
> all the enhancements done to TCG. It's mostly a use case for security 
> researchers/engineers, but definitely a valid one. Just look at the list of 
> QEMU downstream forks focused on that. Combining this with plugins would be 
> amazing, and only grow our list of users.
>
> For the heterogeneous scenario, yes it's not the most common case. But we 
> *must*, in terms of QEMU binary, be able to have a single binary first. By 
> that, I mean the need is to be able to link a binary with several arch 
> present, without any symbol conflict.

OK Unicorn engine explains it and it needs multiple targets in single 
library (which maybe is the real goal, not a single binary here and that 
only needs targets not all devices). By the way I think multiple-arch is 
what they really mean on that beyond_qemu.html page above under 
Thread-safety.

> The other approach possible is to rename many functions through QEMU codebase 
> by adding a target_prefix everywhere, which would be ugly and endless. That's 
> why we are currently using the "remove duplicated compilation units" 
> pragmatic approach. As well, we can do a lot of headers cleanup on the way 
> (removing useless dependencies), which is good for everyone.
>
> For compilation times, it will only speed it up, because in case you have 
> only specific targets, non-needed files won't be compiled/linked. For multi 
> target setup, it's only a speed up (with all targets, it would be a drop from 
> 9000+ CUs to around 4000+). Less disk space as well, most notable in debug.
> As well, having files compiled only once allow to use reliably code 
> indexation tools (clangd for instance), instead of picking a random CU 
> setting based on one target.
> Finally, having a single binary would mean it's easy to use LTO (or at least 
> distros would use it easily), and get the same or better performance as what 
> we have today.
>
> The "current" way, with several binaries, can be kept forever if people

As I said I think that would be needed as there are valid use cases for 
both.

> wants. But it's not feasible to keep headers and cu compatible for both 
> modes. It would be a lot of code duplication, and that is really not 
> desirable IMHO. So we need to do those system wide changes and convince the 
> community it's a good progress for everyone.

It would be nice to keep optimisations where possible and it seems it 
might be possible sometimes so just take that in consideration as well not 
just one goal.

> Kudos to Philippe who has been doing this long and tedious work for several 
> years now, and I hope that with some fresh eyes/blood, it can be completed 
> soon.

Absolutely and I did not mean to say not to do it just added another view 
point for consideration.

Regards,
BALATON Zoltan


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 21:51:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 21:51:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906868.1314239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trl1a-000819-EI; Mon, 10 Mar 2025 21:51:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906868.1314239; Mon, 10 Mar 2025 21:51: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 1trl1a-000812-BJ; Mon, 10 Mar 2025 21:51:02 +0000
Received: by outflank-mailman (input) for mailman id 906868;
 Mon, 10 Mar 2025 21:51: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=J+5T=V5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1trl1Z-00080w-05
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 21:51:01 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf32235b-fdf9-11ef-9ab8-95dc52dad729;
 Mon, 10 Mar 2025 22:50:57 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 101E0A464B3;
 Mon, 10 Mar 2025 21:45:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BDC40C4CEE5;
 Mon, 10 Mar 2025 21:50: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: bf32235b-fdf9-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741643455;
	bh=2jdVk8k2Ole035as3LBLHybHTad2Sfu6smck/2Tf7BI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BIUYAbn93Q0ohHrEpVa32CUtOkjnQMiFPScj1Wn5xVxLhO5j69EkxLlodf/d6a5LL
	 FE6UttgVpzzeUHMaTfVDHzPcB8BnutlmSM9wKTBHV4kfQTsi8++hCe6xSk+bvo1DMj
	 Sm+ZjOBRcKxr65DnclZOpsNeIU7GXUK7JUKm1knHQUMmjRX//HvxU+QyI+2hYpKEtf
	 lQZpiSiDcm2NVcNetr0qxWLWD0Bw1zu+E/swDMHDG/lxess07vHZyxvQhex5e2OO2a
	 1rp8QBPB+33QddqVAA6HpylkHh4sB+jQ9GT8ATGIc7zrlq5pz5+kd0A/yKWwTZuF0b
	 2A6hffpezIBbA==
Date: Mon, 10 Mar 2025 14:50:47 -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: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] automation/cirrus-ci: store xen/.config as an artifact
In-Reply-To: <d9b90141-3af1-4247-b900-0032d70ade0e@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503101450280.3090675@ubuntu-linux-20-04-desktop>
References: <20250310181638.51196-1-roger.pau@citrix.com> <b95a2bcc-4ab8-46d5-9d92-1f2c37d4c279@citrix.com> <Z88xmtUGw5k1nsBN@macbook.local> <d9b90141-3af1-4247-b900-0032d70ade0e@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1572860903-1741643434=:3090675"
Content-ID: <alpine.DEB.2.22.394.2503101450420.3090675@ubuntu-linux-20-04-desktop>

  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-1572860903-1741643434=:3090675
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2503101450421.3090675@ubuntu-linux-20-04-desktop>

On Mon, 10 Mar 2025, Andrew Cooper wrote:
> On 10/03/2025 6:38 pm, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 10, 2025 at 06:30:15PM +0000, Andrew Cooper wrote:
> >> On 10/03/2025 6:16 pm, Roger Pau Monne wrote:
> >>> Always store xen/.config as an artifact, renamed to xen-config to match
> >>> the naming used in the Gitlab CI tests.
> >>>
> >>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >> Looking at this, I suspect my failure was caused by trying to capture
> >> ".config" directly.
> >>
> >>> ---
> >>>  .cirrus.yml | 12 ++++++++++++
> >>>  1 file changed, 12 insertions(+)
> >>>
> >>> diff --git a/.cirrus.yml b/.cirrus.yml
> >>> index e2949d99d73a..1a39f5026f9a 100644
> >>> --- a/.cirrus.yml
> >>> +++ b/.cirrus.yml
> >>> @@ -15,6 +15,14 @@ freebsd_template: &FREEBSD_ENV
> >>>      APPEND_INCLUDES: /usr/local/include
> >>>      CIRRUS_CLONE_DEPTH: 1
> >>>  
> >>> +freebsd_artifacts: &FREEBSD_ARTIFACTS
> >>> +  always:
> >>> +    rename_script:
> >>> +      - cp xen/.config xen-config
> >>> +    config_artifacts:
> >>> +      path: xen-config
> >>> +      type: text/plain
> >> Can't this be part of freebsd_template directly?
> >>
> >> Or is there an ordering problem with the regular build_script ?
> > Exactly, that was my first attempt (placing it in freebsd_template),
> > but then the collection would be done before the build, as
> > freebsd_template sets the env variables ahead of the build, see:
> >
> > https://cirrus-ci.com/task/5086615544004608
> >
> > Thanks, Roger.
> 
> Ok.
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-1572860903-1741643434=:3090675--


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 21:57:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 21:57:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906879.1314248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trl7T-0000Dl-10; Mon, 10 Mar 2025 21:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906879.1314248; Mon, 10 Mar 2025 21:57: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 1trl7S-0000De-Uj; Mon, 10 Mar 2025 21:57:06 +0000
Received: by outflank-mailman (input) for mailman id 906879;
 Mon, 10 Mar 2025 21:57: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=J+5T=V5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1trl7S-0000DY-0v
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 21:57:06 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9981385a-fdfa-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 22:57:04 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 9A4175C55E4;
 Mon, 10 Mar 2025 21:54:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9EEC3C4CEE5;
 Mon, 10 Mar 2025 21:57: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: 9981385a-fdfa-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741643822;
	bh=u70lX74nGf6WeYhQ00FrW26GJx/rngU4WmSC2YzeUTY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tcuMmv4Wo4Ns2HX+2H6xTS2ipNdjkgvk47jcGpVsxKzskgr7PzR0RW/QpARNM6nvV
	 e/vc87odTAYxTEeTx5bUJ3ruMMMamDJvE7bFJ3KDe4aTPmgTG+deiCqRSrLcKGSHtN
	 QsDn0cA3pG8Hzm60N+4D5Y7hX+vJQl89d/hFnKsDsBWZ6m4H5t8XT7/bsQvctY4WdS
	 UHPrW/11HJM23wwrVH14en1/J8yHjpO2ZUB6/AFeaJe8/feLNzmmsYwLd3hh21uOuo
	 PCPKmGuVlSulXqs3brAE4VnZMHaqC6cwGJEz3v6ol0W2A7z/CRyOTSo8rDbr4WH+ok
	 gkDnFaZGSZ2FQ==
Date: Mon, 10 Mar 2025 14:56:59 -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: dmkhn@proton.me, xen-devel@lists.xenproject.org, anthony.perard@vates.tech, 
    jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, 
    roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH v3] xen/console: make console buffer size configurable
In-Reply-To: <137cc8c6-0727-4253-96b8-45d28ce40943@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503101455400.3090675@ubuntu-linux-20-04-desktop>
References: <20250306080428.155039-1-dmkhn@proton.me> <137cc8c6-0727-4253-96b8-45d28ce40943@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 10 Mar 2025, Andrew Cooper wrote:
> On 06/03/2025 8:05 am, dmkhn@proton.me wrote:
> > From: Denis Mukhin <dmukhin@ford.com>
> >
> > Add new CONRING_SHIFT Kconfig parameter to specify the boot console buffer size
> > as a power of 2.
> >
> > The supported range is [14..27] -> [16KiB..128MiB].
> >
> > Set default to 15 (32 KiB).
> >
> > Link: https://gitlab.com/xen-project/xen/-/issues/185
> 
> Minor note, we typically use Resolves: for this, which will auto-close
> the issue when it's merged.

Hi Andrew, I just noticed that "Fixes" is documented under
docs/process/sending-patches.pandoc, but "Resolves" is not. It would be
nice to fill the gap :-)


From xen-devel-bounces@lists.xenproject.org Mon Mar 10 22:23:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Mar 2025 22:23:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906895.1314259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trlWM-0003wM-W2; Mon, 10 Mar 2025 22:22:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906895.1314259; Mon, 10 Mar 2025 22: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 1trlWM-0003wF-TY; Mon, 10 Mar 2025 22:22:50 +0000
Received: by outflank-mailman (input) for mailman id 906895;
 Mon, 10 Mar 2025 22:22: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=xZDr=V5=kernel.org=kees@srs-se1.protection.inumbo.net>)
 id 1trlWL-0003w7-K9
 for xen-devel@lists.xenproject.org; Mon, 10 Mar 2025 22:22:49 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f453fe3-fdfe-11ef-9898-31a8f345e629;
 Mon, 10 Mar 2025 23:22:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 457A2A46469;
 Mon, 10 Mar 2025 22:17:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1073BC4CEE5;
 Mon, 10 Mar 2025 22:22: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: 2f453fe3-fdfe-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741645362;
	bh=LCXo4DfrSJdUJ1t33RWhYUBGCFMNSfeyc9xn9l9EOP4=;
	h=From:To:Cc:Subject:Date:From;
	b=eyR1OoibFhYvcVGWRY2mIfOEfrczBqywVjPNO9glntGPPDG+7MdyxSueKDW80rZtJ
	 f5ETa/ulDQgYDqiu6PbkjOc+fRN16s1xKopuTYr1Mwc4pxd6E5d+1rEeH2K+ZDjW+q
	 dHRv8DDfGayt9/zdeHkPjnJEu/MhSl4JqFzfWKv2aTjk5dqcMcYleHwiMqgQTdlwK8
	 O/ozc/3LUW4kAzKmEHzPW9q9/mnnfL8/7GCmROvNSNrTiafiYvQ4UGWZtdWAIwJ3yj
	 trZmPpp8zphiXQhAbdk2JFt70YXP8lTUoS0VBSZoEvp7nL7t/gqM95nYXjdHwafxBM
	 uhkhRUg0tfVlw==
From: Kees Cook <kees@kernel.org>
To: Juergen Gross <jgross@suse.com>
Cc: Kees Cook <kees@kernel.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: [PATCH] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 10 Mar 2025 15:22:38 -0700
Message-Id: <20250310222234.work.473-kees@kernel.org>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=1201; i=kees@kernel.org; h=from:subject:message-id; bh=LCXo4DfrSJdUJ1t33RWhYUBGCFMNSfeyc9xn9l9EOP4=; b=owGbwMvMwCVmps19z/KJym7G02pJDOnn03Tv395t7BM52ejbP6GL1Smil6PnLJuw5J6LAXOJs Ubz0sX9HaUsDGJcDLJiiixBdu5xLh5v28Pd5yrCzGFlAhnCwMUpABOplWNkWJ+/OkepMFJSyMHP wr89d8Osk61rb+W0f/B8qVI06dF6DkaG1uWssseljx0122Ld+1/yslpJyh1+x1Mnvqx/O/tOCPc XZgA=
X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026
Content-Transfer-Encoding: 8bit

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 464aa6b3a5f9..1c9afbe8cc26 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -372,7 +372,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 00:09:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 00:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906939.1314268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trnAu-00024F-5H; Tue, 11 Mar 2025 00:08:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906939.1314268; Tue, 11 Mar 2025 00:08: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 1trnAu-000248-2V; Tue, 11 Mar 2025 00:08:48 +0000
Received: by outflank-mailman (input) for mailman id 906939;
 Tue, 11 Mar 2025 00:08: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trnAs-000240-8U
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 00:08:46 +0000
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com
 [2607:f8b0:4864:20::102a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc8eb2e7-fe0c-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 01:08:43 +0100 (CET)
Received: by mail-pj1-x102a.google.com with SMTP id
 98e67ed59e1d1-2ff64550991so7394581a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 17:08:41 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30103449c84sm109325a91.1.2025.03.10.17.08.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Mar 2025 17:08: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: fc8eb2e7-fe0c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741651719; x=1742256519; 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=PTvxJUlPBJjWMPlx3bz6qPMSvpnDhRXJlpzPDdfISJA=;
        b=iEKe+qZwqrKfGbIUINupT8hvSANINpUwra+fNhahpgv+sYdz3ksovMhdBkWhzgKCFG
         zpCisBhzCCeMnvMhYBFJH7rlmAlcEPg8UzwXCvaKsdSqIJvnyBS9xHsmDfbuWq91Ri7B
         dq8DovaV12jWFH7OB9nfIIJqkPpqPgufYpDrGKIxNK3tq1/uuR5mMnEWdTYryasWHVyT
         LIJEYq0kKdge0feXShY3nz2F1lZ+WtQx4E0spYLhyjxoWSy5WPQVKuW3pvja7C2k4cAG
         maFTa/tQyPpcdLcE8iBNAGxCDVNsQ/H4wJMv34SXpoUrsWNYBDNfDj5UNLTcgGdcrgpU
         MLwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741651719; x=1742256519;
        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=PTvxJUlPBJjWMPlx3bz6qPMSvpnDhRXJlpzPDdfISJA=;
        b=qEAjDXD19kpCpRTDNs60Ih5yVdY2fWnM73tZ98+MSRh2TxN4zcr5XELLqd/d5X2sQZ
         yIVRpBkrCppuNDDSegz77rnAJ4Z1fAltgJb0CIEpi1ikhvH592tJU7LnPp37Q16pDEQ5
         SYIIJrh0Duhb7nVcUCzolFpJJyKyko4rcc8JEw+KOZ/cXpwhRZxq3Ic3fA++FYEnWIIG
         bgdRTqZO0Qc2IH7QrDLxiDI9X3pihZzJDiMGGluTiJyfEQWv4J2ofkgdPR5YH29RUjN9
         cM9SduDYNQxpPVGNFzqj8WR/4cKym/vzjFT0fdFsoBBhncss194yiOkZ/bbVupMhdcMV
         HVZg==
X-Forwarded-Encrypted: i=1; AJvYcCWvngNZplG6dRSnkX2voMy/5bGzJsdR3dZsZ/mg5WfZlgUMqpsdk/o12kyXrJ2MJftWDQbiyPcPP2c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYnXhI/SJOGE4r2QFcpMaJwfisOD3uGsbAmM7bWognua/kTMXN
	HzPyIPfPZCPSECiF0huXwJOgx0BvgqwYRo9ZgtSXT4cUhC4lmId9rRrUyCh0v5E=
X-Gm-Gg: ASbGncsAeuIA3U6Ood5QIiRo6YPDkTp+CgkNyeSBI4pK9H2sNFomYdLxExon5m3LoqP
	+/q4lTOxIWlV5T0eOKXpOoxFmKJBigi9VvxfUlpyGuh64r6mG41aKcZ5Q4/ieE5g9LCqJviVzyI
	QHljGH9hUcYoevkXhArkvnMEzh463huypyEFqT1FLeH8a4k5Z8Zt+Tr0x7Wc3tTeQ9bVgVVlhw1
	hLDKPLA1GdLl57Gd3xPafg1+5ZuybLXkH+vgXOkRsn1zCNgDvHrqjlqnK+dwWn1hcIENmV1C6hV
	vaPS/KgYM4Q1k5Gi4+8CN1WeV4Fe0Y0MlbwwI105m+yf5FJhzI5bQPbSqw==
X-Google-Smtp-Source: AGHT+IGi4aJraVBfVl/EoRE61kEiyTdmOlXjmvYO10+d4f3aT2ylBHqrXw1ypyhAFiauPBgYo5Y/4w==
X-Received: by 2002:a17:90b:3c49:b0:2ee:e317:69ab with SMTP id 98e67ed59e1d1-2ff7cd62f6dmr28557548a91.0.1741651719455;
        Mon, 10 Mar 2025 17:08:39 -0700 (PDT)
Message-ID: <106877af-deff-4919-adad-698b4c09b85e@linaro.org>
Date: Mon, 10 Mar 2025 17:08:38 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/16] exec/memory_ldst_phys: extract memory_ldst_phys
 declarations from cpu-all.h
Content-Language: en-US
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, kvm@vger.kernel.org,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 Paul Durrant <paul@xen.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Anthony PERARD <anthony@xenproject.org>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, manos.pitsidianakis@linaro.org,
 qemu-riscv@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <20250310045842.2650784-1-pierrick.bouvier@linaro.org>
 <20250310045842.2650784-3-pierrick.bouvier@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <20250310045842.2650784-3-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/9/25 21:58, Pierrick Bouvier wrote:
> They are now accessible through exec/memory.h instead, and we make sure
> all variants are available for common or target dependent code.
> 
> To allow this, we need to implement address_space_st{*}_cached, simply
> forwarding the calls to _cached_slow variants.
> 

It's not needed, following inclusion will do it.

#define ENDIANNESS
+#include "exec/memory_ldst_cached.h.inc"

> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/exec/cpu-all.h              | 15 ------------
>   include/exec/memory.h               | 36 +++++++++++++++++++++++++++++
>   include/exec/memory_ldst_phys.h.inc |  5 +---
>   3 files changed, 37 insertions(+), 19 deletions(-)
> 
> diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
> index 17ea82518a0..1c2e18f492b 100644
> --- a/include/exec/cpu-all.h
> +++ b/include/exec/cpu-all.h
> @@ -75,21 +75,6 @@ static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val
>                                  MEMTXATTRS_UNSPECIFIED, NULL);
>   }
>   
> -#define SUFFIX
> -#define ARG1         as
> -#define ARG1_DECL    AddressSpace *as
> -#define TARGET_ENDIANNESS
> -#include "exec/memory_ldst_phys.h.inc"
> -
> -/* Inline fast path for direct RAM access.  */
> -#define ENDIANNESS
> -#include "exec/memory_ldst_cached.h.inc"
> -
> -#define SUFFIX       _cached
> -#define ARG1         cache
> -#define ARG1_DECL    MemoryRegionCache *cache
> -#define TARGET_ENDIANNESS
> -#include "exec/memory_ldst_phys.h.inc"
>   #endif
>   
>   /* page related stuff */
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index 78c4e0aec8d..7c20f36a312 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -2798,6 +2798,42 @@ static inline void address_space_stb_cached(MemoryRegionCache *cache,
>       }
>   }
>   
> +static inline uint16_t address_space_lduw_cached(MemoryRegionCache *cache,
> +    hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
> +{
> +    return address_space_lduw_cached_slow(cache, addr, attrs, result);
> +}
> +
> +static inline void address_space_stw_cached(MemoryRegionCache *cache,
> +    hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result)
> +{
> +    address_space_stw_cached_slow(cache, addr, val, attrs, result);
> +}
> +
> +static inline uint32_t address_space_ldl_cached(MemoryRegionCache *cache,
> +    hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
> +{
> +    return address_space_ldl_cached_slow(cache, addr, attrs, result);
> +}
> +
> +static inline void address_space_stl_cached(MemoryRegionCache *cache,
> +    hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result)
> +{
> +    address_space_stl_cached_slow(cache, addr, val, attrs, result);
> +}
> +
> +static inline uint64_t address_space_ldq_cached(MemoryRegionCache *cache,
> +    hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
> +{
> +    return address_space_ldq_cached_slow(cache, addr, attrs, result);
> +}
> +
> +static inline void address_space_stq_cached(MemoryRegionCache *cache,
> +    hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result)
> +{
> +    address_space_stq_cached_slow(cache, addr, val, attrs, result);
> +}
> +
>   #define ENDIANNESS   _le
>   #include "exec/memory_ldst_cached.h.inc"
>   
> diff --git a/include/exec/memory_ldst_phys.h.inc b/include/exec/memory_ldst_phys.h.inc
> index ecd678610d1..db67de75251 100644
> --- a/include/exec/memory_ldst_phys.h.inc
> +++ b/include/exec/memory_ldst_phys.h.inc
> @@ -19,7 +19,6 @@
>    * License along with this library; if not, see <http://www.gnu.org/licenses/>.
>    */
>   
> -#ifdef TARGET_ENDIANNESS
>   static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
>   {
>       return glue(address_space_lduw, SUFFIX)(ARG1, addr,
> @@ -55,7 +54,7 @@ static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val)
>       glue(address_space_stq, SUFFIX)(ARG1, addr, val,
>                                       MEMTXATTRS_UNSPECIFIED, NULL);
>   }
> -#else
> +
>   static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
>   {
>       return glue(address_space_ldub, SUFFIX)(ARG1, addr,
> @@ -139,9 +138,7 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t va
>       glue(address_space_stq_be, SUFFIX)(ARG1, addr, val,
>                                          MEMTXATTRS_UNSPECIFIED, NULL);
>   }
> -#endif
>   
>   #undef ARG1_DECL
>   #undef ARG1
>   #undef SUFFIX
> -#undef TARGET_ENDIANNESS



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 01:15:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 01:15:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906960.1314279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1troDX-00036p-1z; Tue, 11 Mar 2025 01:15:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906960.1314279; Tue, 11 Mar 2025 01:15: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 1troDW-00036i-Ue; Tue, 11 Mar 2025 01:15:34 +0000
Received: by outflank-mailman (input) for mailman id 906960;
 Tue, 11 Mar 2025 01:15: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=NzKm=V6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1troDW-00035b-0h
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 01:15:34 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51f53a8b-fe16-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 02:15:29 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 59F32A465AD;
 Tue, 11 Mar 2025 01:09:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35294C4CEE5;
 Tue, 11 Mar 2025 01:15:27 +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: 51f53a8b-fe16-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741655728;
	bh=YiC5Gp5Fhy6SozVaKJyfwuJxI96bLeq6lfJmrJG0yqU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=a+aM4L8RkTDHuYmDoIfr+R3fmhM50+JqfpkkqH9wkP6FkgqTOhLjR2SQPHYipzPm/
	 ZDIeLhy5qfhJz2e5JYHpDPfnDvbWTFU/7AAdlAyAr5Fu2YfT5qyhWaoFR6Q8Blp9W3
	 l8BOdk+n1PEH4Gwn6i3d5GmxvxPHiAB+VM8SoCSbgCWjTeSQ/YTT4hGSgDoRxEkdcM
	 YOaSvLDff+OFD8ob9GYgSkkrqSqgcGe/cVuRp/twJgLTTsumQZ+C5HGbhSgMaq9Ynn
	 FDGiqlZS2ojpvCqHByRUaBgazhgPGmtKKpyEpmxF9IQOhoebiTQ27kimTb3WTwjQFK
	 oGo61zK6CwsaA==
Date: Mon, 10 Mar 2025 18:15:26 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
In-Reply-To: <6c5d389e-72b7-4a64-af05-574655a6dcec@xen.org>
Message-ID: <alpine.DEB.2.22.394.2503101723410.3090675@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-5-jason.andryuk@amd.com> <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org> <734d9fdf-a201-4a46-9739-26a474683b10@amd.com> <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
 <alpine.DEB.2.22.394.2503071651090.3032631@ubuntu-linux-20-04-desktop> <6c5d389e-72b7-4a64-af05-574655a6dcec@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1481278237-1741653283=:3090675"
Content-ID: <alpine.DEB.2.22.394.2503101734490.3090675@ubuntu-linux-20-04-desktop>

  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-1481278237-1741653283=:3090675
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2503101734491.3090675@ubuntu-linux-20-04-desktop>

On Sat, 8 Mar 2025, Julien Grall wrote:
> On 08/03/2025 00:53, Stefano Stabellini wrote:
> > On Fri, 7 Mar 2025, Julien Grall wrote:
> > > > init-dom0less only initializes non- introduced domains, so hwdom doesn't
> > > > get
> > > > its "domid" xenstore node populated.Â  That leads to other errors.
> > > > > So I think with Denis's patch, this isn't strictly needed.Â  It does
> > > > > help
> > > > existing toolstack code work today.
> > > 
> > > I don't think the toolstack is ready for a split between control/hardware
> > > domain. That said, shouldn't the toolstack run in the control domain? Same
> > > for
> > > xenstored (unless you have a xenstored domain)?
> > 
> > Yes, the toolstack (if present) would be in the control domain.
> > xenstored doesn't have to be in the control domain and in fact it might
> > not be advisable to place it there today.
> > 
> > The main difference between the toolstack and xenstored is that the
> > toolstack only talks to Xen, while xenstored talks to all other VMs,
> > which is dangerous in many configurations.
> 
> It is not really clear which toolstack you are referring to.

You make a good point, I'll be clearer and distinguish between the
implementation and the interfaces. This exercise helped me clarify my
own thoughts as well.


> Someone using vanilla Xen upstream will end up to use "xl"  which has to talk
> to xenstored and also indirectly to each domain (e.g. shutdown/suspend node in
> xenstored). So for this setup, "xenstored" is not optional and I would argue
> should be part of the control domain (or in a xenstore stubdomain which IIRC
> is not supported on Arm today).

The control domain is the guest with the highest level of privilege and
the only virtual machine that can use hypercalls to affect other VMs. A
simple example is that the control domain could issue a hypercall to
reboot other VMs.

The hardware domain does not have privilege (d->is_priv=false).

In the configuration for safety, we use dom0less for domain creation, so
there is no toolstack is the traditional sense of the word. But we could
have a Zephyr guest issuing a SHUTDOWN_poweroff hypercall for instance.
Certainly, we cannot run Linux and xl/libxl in the control domain.

Due to its high level of privilege and the fact that it can affect
others, if present, the control domain must be safety certified. The
current toolstack implementation is based on Linux. While the larger
Open Source community is working on Linux for safety, it is still a
challenge. xenstored itself would need to be safety certified as well to
run there, think of MISRA C, and also requirements, tests, etc. In
addition, xenstored communicates directly with other VMs over shared
memory, which means it would need to be developed with extreme care to
prevent interference through shared memory. Even if a safety certified
version of Linux were available in the future, the current toolstack
implementation might not be suitable for use in that environment. As of
today, safety deployments would not be able to run xl/libxl and/or
xenstored in the control domain. However, they could run a safety
certified RTOS, maybe Zephyr, issuing individual hypercalls, such as
SHUTDOWN_reboot.

If we had a safety certified free-from-interference implementation of
xenstored as a Zephyr application, with Zephyr safety-certified, then I
would run it in the control domain.

On the other hand, the hardware domain might not be safety certified. So
we could run xl/libxl and xenstored in the hardware domain. Of course
most operations will be refused, e.g. SHUTDOWN_poweroff returns error
because d->is_priv=false, but at least the user could run today's
implementation of xenstored successfully. (domain creation is done using
dom0less anyway so xl is optional.)

Conceptually, it could make sense to think of xenstored being part of
the control domain, not today's xenstored but a safe re-implementation
of xenstored based on Zephyr.

If you look at what we have today available and what people could deploy
with the current codebase this year or next year, it makes sense to
place xenstored in the hardware domain, or not at all.
--8323329-1481278237-1741653283=:3090675--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 01:22:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 01:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906972.1314289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1troKN-0004fx-Nm; Tue, 11 Mar 2025 01:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906972.1314289; Tue, 11 Mar 2025 01:22: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 1troKN-0004fq-Ka; Tue, 11 Mar 2025 01:22:39 +0000
Received: by outflank-mailman (input) for mailman id 906972;
 Tue, 11 Mar 2025 01:22: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=NzKm=V6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1troKM-0004fU-6n
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 01:22:38 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ed7e483-fe17-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 02:22:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 626965C6585;
 Tue, 11 Mar 2025 01:20:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D78D4C4CEE5;
 Tue, 11 Mar 2025 01:22: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: 4ed7e483-fe17-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741656152;
	bh=qeMdG+3QifF7XKHSkQSnpDK+M9IB6nt1fq7AY5nXYyA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T5lnaYJ5VyLcPlDfc4y38elE69YcXVR5q1ezaLuglTb4agVN+a0erR4skwqPPsiQ2
	 gIYV5NG0QZ2vDtpgObo1t7beRYFFY8ZLh7Y5o8MpJbwNdhwfzlZqbIc5/Nk2kSqlFi
	 SMy7yUoKe/dVTxcl5jr3+81z0oqyqunLYSPfWPnh6khOTSDtS0fFDF4MqidV8c8/vt
	 Xu3sVlToBPDI2KhD0XEKLu9/mHMrmwy5g2oQolpXegHm07igskx5ifCXJaQ7nvr/Jz
	 VosNkTt3I/9a6KjSu9d5FuCSH/rWHOMl2UDyayXiAJJ8UbD2HDW2H6DZdGAqYZLOEE
	 CCkHJv5nqhX3A==
Date: Mon, 10 Mar 2025 18:22:30 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 04/23] xen/arm: dom0less use domid 0 for hwdom
In-Reply-To: <ff034e29-1aa4-42af-a28c-fd95b83a0ce1@xen.org>
Message-ID: <alpine.DEB.2.22.394.2503101815520.3090675@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-5-jason.andryuk@amd.com> <4ee02463-c413-4afc-add6-d7bf3915dd5a@xen.org> <734d9fdf-a201-4a46-9739-26a474683b10@amd.com> <39540c8b-e43d-4315-bc34-a61ac6cb1d70@xen.org>
 <ba5b9675-fa62-4872-b969-e5ecc917a087@amd.com> <alpine.DEB.2.22.394.2503071450480.2600338@ubuntu-linux-20-04-desktop> <ff034e29-1aa4-42af-a28c-fd95b83a0ce1@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-537619804-1741656153=:3090675"

  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-537619804-1741656153=:3090675
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Sat, 8 Mar 2025, Julien Grall wrote:
> On 08/03/2025 00:40, Stefano Stabellini wrote:
> > On Fri, 7 Mar 2025, Jason Andryuk wrote:
> > > On 2025-03-07 16:01, Julien Grall wrote:
> > > > Hi Jason,
> > > > 
> > > > On 07/03/2025 16:03, Jason Andryuk wrote:
> > > > > On 2025-03-07 03:31, Julien Grall wrote:
> > > > > > Hi,
> > > > > > 
> > > > > > On 06/03/2025 22:03, Jason Andryuk wrote:
> > > > > > > Assign domid 0 to the hwdom.Â  Normally, dom0less does not use
> > > > > > > domid 0.
> > > > > > 
> > > > > > A few years ago, we went to great length to avoid making the
> > > > > > assumption
> > > > > > that the hardware domain is domid 0. See all the calls to
> > > > > > "is_hardware_domain()". So I am reluctant to force the domain ID to
> > > > > > 0.
> > > > > 
> > > > > I was disappointed when it didn't "just work".
> > > > > 
> > > > > > > 
> > > > > > > This fixes using the Xen console which assumes domid 0 to use the
> > > > > > > hypercall interface.
> > > > > > 
> > > > > > I had a brief look at drivers/char/console.c and I can't find any
> > > > > > place
> > > > > > assuming "domid 0". Do you have any pointer?
> > > > > 
> > > > > As Jan pointed out, Denis Mukhin's patch removed the domid 0
> > > > > assumption.
> > > > >  Â Â This was developed without this patch when it mattered.
> > > > > 
> > > > > I tested before posting without this patch (and with Denis's), and
> > > > > again
> > > > > now, and I didn't get a hwdom login.Â  Turns out xenstored was assuming
> > > > > domid 0.Â  Changing that with --master-domid gets to the login prompt.
> > > > 
> > > > Hmmm, I am not sure --master-domid should point to the hardware domain.
> > > > Instead, it feels like it should be the control domain because it needs
> > > > to
> > > > manage the VMs so needs to create any nodes in Xenstore.
> > > 
> > > --master-domid encompasses "the domid where xenstored is running" (which
> > > really xenstored should figure out itself), and is needed for xenstored to
> > > start.
> > > 
> > > There is an additional --priv-domid, which can point at the control
> > > domain.
> > > 
> > > > > 
> > > > > Still, there are now other userspace errors.Â  xen-init-dom0 hardcodes
> > > > > domid 0 which doesn't exist.
> > > > 
> > > > I am confused. Why would you call xen-init-dom0 in a domain that is
> > > > meant to
> > > > be the hardware domain rather than dom0?
> > > 
> > > I was using domid 0 :)  Also, it's called by default in xencommons and
> > > sets up
> > > the cpupools.
> > > 
> > > > > init-dom0less only initializes non- introduced domains, so hwdom
> > > > > doesn't
> > > > > get its "domid" xenstore node populated.Â  That leads to other errors.
> > > >   > > So I think with Denis's patch, this isn't strictly needed.Â  It
> > > > does
> > > > help
> > > > > existing toolstack code work today.
> > > > 
> > > > I don't think the toolstack is ready for a split between control/
> > > > hardware
> > > > domain. That said, shouldn't the toolstack run in the control domain?
> > > > Same
> > > > for xenstored (unless you have a xenstored domain)?
> > > 
> > > Yes, maybe running control and xenstore together is better.  I came from
> > > the
> > > perspective of dom0less with a hardware/control split, the toolstack is
> > > less
> > > important.
> > > 
> > > But in general, it's all intertwined.  You have to start somewhere
> > > untangling.
> > > 
> > > Running xenstored in the hardware domain, and leaving hardware domain at
> > > domid
> > > 0 seemed like a good way to keep most things working while splitting out
> > > the
> > > hardware/control permissions.
> > 
> > In my opinion, there are reasons for placing xenstored in the control
> > domain and also reasons for placing it in the hardware domain. I think
> > this is the kind of policy decision I would leave to the user.
> 
> I agree it should be a policy decision. But as a default setup, I think this
> is muddying the difference between the control domain and hardware domain.
> Today's toolstack can't work without xenstored. So intuitively, xenstored
> would belong to the control domain in a default setup.

I wrote more in another email.

 
> > In an embedded environment where safety is a concern, it also depends on
> > whether the user wants to keep xenstore only between non-safe VMs, in
> > which case I would put it in the hardware domain so that the control
> > domain is fully isolated and protected. xenstore could be a source of
> > interference.
> 
> So your hardware domain is not really an hardware domain, right? This is more
> a dom0 minus toolstack? If so, I think it might be helpful if you add a
> document explaining what a hardware domain really means with this series.

Yes, it is as you wrote: dom0 minus toolstack and without d->is_priv. I
can help document it better.

 
> > Or whether the user wants to use xenstore also for safe VMs, in which
> > case they are likely to reimplement xenstored in a way that is safety
> > certified and as part of a safety certified OS such as Zephyr. In this
> > type of configuration, it would make sense to have xenstored in the
> > control domain.
> > > I would suggest to make the location of xenstored configurable, and only
> > provide a sensible default when the user doesn't explicitly say. With
> > the state of the codebase and protocols that we have today, I think we
> > are not ready for a xenstore free-from-interference implementation, so
> > it would be safer to leave xenstored in the hardware domain as default,
> > but we should make also the other configurations possible.
> > 
> > This is the first patch series aimed at untangling the whole thing,
> > so not everything can be done here. For example, if the location of
> > Xenstore is not configurable in this series, it may still be OK. We
> > just need to be careful in the docs and interfaces not to bake it into
> > an assumption.
> > 
> > I would also say the same for domid == 0: while it would be ideal to
> > avoid relying on domid == 0 for the hardware domain, we don't have to
> > resolve everything immediately.
> 
> I have to disagree. If we start shipping Xen with "hwdomid == 0", it will be
> quite difficult to remove this behavior because new tooling (which may not be
> under our control) will likely start/continue to rely on it. So ...
> 
> > This series already achieves a
> > significant improvement by separating the hardware domain from the
> > control domain, which is valuable in itself.
> 
> ... while I agree this series is a good step, I don't want to have any version
> of Xen where hwdomid == 0 (even temporarily).

I don't feel strongly either way. If Jason is OK with ensuring the
hardware domain domid != 0 from the start, I am happy with it too.
--8323329-537619804-1741656153=:3090675--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 01:32:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 01:32:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.906986.1314299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1troU6-0007Ih-Jv; Tue, 11 Mar 2025 01:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 906986.1314299; Tue, 11 Mar 2025 01:32: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 1troU6-0007Ia-Gw; Tue, 11 Mar 2025 01:32:42 +0000
Received: by outflank-mailman (input) for mailman id 906986;
 Tue, 11 Mar 2025 01:32: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=NzKm=V6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1troU5-0007IU-GJ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 01:32:41 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b77e5b3a-fe18-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 02:32:38 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id A6A4CA40FBE;
 Tue, 11 Mar 2025 01:27:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07DBDC4CEE5;
 Tue, 11 Mar 2025 01:32: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: b77e5b3a-fe18-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741656757;
	bh=QTKu+8e++YU4ykPXa/W2YQNbcG1tqKeLylpql7nWwlM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nyzBeRTInu44PfV4vVMDBAvNrS+JQDB5ubOh2xbcBEofadPGvavZ6eYqreZ1qixZp
	 befitWZ4067zUBMXaAZ9YYP3IORg7ObbaLK/QNdsUKs2ZtLZKJxEcfssLAnikpM5xL
	 ypedjk3u4xPWfWaq22zBNleaL5BsfFWoGaBj/PGOX9PEE5K+ZfzTzr6rbfIdb8y71l
	 8SsEq+jEaJ/RbZv6zloabh7CiIn5QB1H/OUXfWzTev9jg60xp8llzi6JLqmYDZHkHb
	 Ehqs7auhfDEQKgBekmATlzlGdEEhcHZEXTVriz0SRIdfbRjqKJdS/zopHCX4jC2qvO
	 0K2zYZFIEF3qg==
Date: Mon, 10 Mar 2025 18:32:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 05/23] xen/arm: Add capabilities to dom0less
In-Reply-To: <cdb05727-fd2f-4b83-9200-d88789ce908e@xen.org>
Message-ID: <alpine.DEB.2.22.394.2503101823240.3090675@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-6-jason.andryuk@amd.com> <254e38d3-ebc2-4044-9d0f-9be9f652c46c@xen.org> <92eca43f-1dc8-4eec-a124-e715d118ab03@amd.com> <01df1e44-a2cb-4e93-8b9d-99aca914db68@xen.org>
 <09103c2b-a7c0-44d5-8eb5-2d0fcb01c26e@amd.com> <cdb05727-fd2f-4b83-9200-d88789ce908e@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-2028676297-1741656757=:3090675"

  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-2028676297-1741656757=:3090675
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Sat, 8 Mar 2025, Julien Grall wrote:
> On 08/03/2025 00:02, Jason Andryuk wrote:
> > On 2025-03-07 16:21, Julien Grall wrote:
> > > Hi Jason,
> > > 
> > > On 07/03/2025 17:58, Jason Andryuk wrote:
> > > > On 2025-03-07 04:01, Julien Grall wrote:
> > > > > Hi,
> > > > > 
> > > > > On 06/03/2025 22:03, Jason Andryuk wrote:
> > > > > > Add capabilities property to dom0less to allow building a
> > > > > > disaggregated system.
> > > > > > 
> > > > > > Introduce bootfdt.h to contain these constants.
> > > > > > 
> > > > > > When using the hardware or xenstore capabilities, adjust the grant
> > > > > > and
> > > > > > event channel limits similar to dom0.
> > > > > Â > > Also for the hardware domain, set directmap and iommu.Â  This
> > > > > brings its
> > > > > > configuration in line with a dom0.
> > > > > 
> > > > > Looking the device tree bindings, a user would be allowed to disable
> > > > > "passthrough" or even "directmap". This means, we would never be able
> > > > > to disable "directmap" for the hardware domain in the future with the
> > > > > existing property (this is to avoid break backwards compatibility).
> > > > > 
> > > > > Instead, I think we should check what the user provided and confirm
> > > > > this is matching our expectation for an hardware domain.
> > > > Â >
> > > > > That said, I am not entirely sure why we should force directmap for
> > > > > the HW domain. We are starting from a clean slate, so I think it would
> > > > > be better to have by default no directmap and imposing the presence of
> > > > > an IOMMU in the system.
> > > > 
> > > > Ok, it seems like directmap is not necessary.Â  It was helpful early on
> > > > to get things booting, but I think it's no longer necessary after
> > > > factoring out construct_hwdom().
> > > > 
> > > > What exactly do you mean by imposing with respect to the iommu? Require
> > > > one, or mirror the dom0 code and set it for the hwdom?
> > > > 
> > > > Â Â Â Â  if ( iommu_enabled )
> > > > Â Â Â Â Â Â Â Â  dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
> > > 
> > > I mean requires one. Without it, you would need to set directmap and I
> > > don't think this should be allowed (at least for now) for the HW domain.
> > > 
> > > > 
> > > > > Lastly, can you provide an example of what the hardware domain DT node
> > > > > would looke like?
> > > > 
> > > > I've attached a dump of /sys/firmware/fdt from hwdom.Â  (This is direct
> > > > mapped).
> > > 
> > > Sorry if this was not clear, I am asking for the configuration you wrote
> > > in the host DT for create the hardware domain. I am interested to know
> > > which properties you set...
> > 
> > I've attached the u-boot fdt commands which generate the DT.Â  Hopefully that
> > works for you.
> > 
> > > > 
> > > > > > --- a/xen/arch/arm/dom0less-build.c
> > > > > > +++ b/xen/arch/arm/dom0less-build.c
> > > > > > @@ -12,6 +12,7 @@
> > > > > > Â  #include <xen/sizes.h>
> > > > > > Â  #include <xen/vmap.h>
> > > > > > +#include <public/bootfdt.h>
> > > > > > Â  #include <public/io/xs_wire.h>
> > > > > > Â  #include <asm/arm64/sve.h>
> > > > > > @@ -994,6 +995,34 @@ void __init create_domUs(void)
> > > > > > Â Â Â Â Â Â Â Â Â  if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
> > > > > > Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("No more domain IDs available\n");
> > > > > > +Â Â Â Â Â Â Â  if ( dt_property_read_u32(node, "capabilities", &val) )
> > > > > > +Â Â Â Â Â Â Â  {
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â  if ( val & ~DOMAIN_CAPS_MASK )
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Invalid capabilities (%"PRIx32")\n", val);
> > > > > > +
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_CONTROL )
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  flags |= CDF_privileged;
> > > > > > +
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â  if ( val & DOMAIN_CAPS_HARDWARE )
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â  {
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( hardware_domain )
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  panic("Only 1 hardware domain can be specified!
> > > > > > (%pd)\n",
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hardware_domain);
> > > > > > +
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_grant_frames = gnttab_dom0_frames();
> > > > > > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  d_cfg.max_evtchn_port = -1;
> > > > > 
> > > > > What about d_cfg.arch.nr_spis? Are we expecting the user to pass
> > > > > "nr_spis"?
> > > > 
> > > > Further down, when nr_spis isn't specified in the DT, it defaults to:
> > > > Â Â Â Â  d_cfg.arch.nr_spis = gic_number_lines() - 32;
> > > 
> > > Thanks. One further question, what if the user pass "nr_spis" for the HW
> > > domain. Wouldn't this result to more issue further down the line?
> > 
> > I'm not familiar with ARM, so I'll to whatever is best.Â  I did put the
> > capabilities first, thinking it would set defaults, and then later options
> > could override them.
> 
> I am not sure it is related to Arm. It is more that the HW domain is going to
> re-use the memory layout of the host (this is including the mapping for the
> GIC) and also have all the irqs with pirq == virq.
> 
> I am a bit concerned that letting the users mistakenly tweaking the defaults
> could prevent attaching devices (for instance if the IRQ ID is above >
> nr_spis).
> 
> > 
> > > > 
> > > > Dom0 does:
> > > > Â Â Â Â  /*
> > > > Â Â Â Â Â  * Xen vGIC supports a maximum of 992 interrupt lines.
> > > > Â Â Â Â Â  * 32 are substracted to cover local IRQs.
> > > > Â Â Â Â Â  */
> > > > Â Â Â Â  dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992)
> > > > - 32;
> > > > Â Â Â Â  if ( gic_number_lines() > 992 )
> > > > Â Â Â Â Â Â Â Â  printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.
> > > > \n");
> > > > 
> > > > So I think it's fine as-is?Â  I could add the min() and warning if you
> > > > think it's necessary.
> > > 
> > > Regardless this discussion, I wonder why we didn't add the min(...) here
> > > like for dom0 because we are using the same vGIC emulation. So the max
> > > SPIs supported is the same...
> > > 
> > > What I am trying to understand is whether it is ok to allow the user to
> > > select "nr_spis", "vpl011" & co if they are either not honored (like for
> > > vpl011) or could introduce further issue (like for nr_spis as the HW
> > > domain is supposed to have the same configuration as dom0).
> > > 
> > > I also don't think it is a good idea to silently ignore what the user
> > > requested. So far, on Arm, we mainly decided to reject/panic early if the
> > > setup is not correct.
> > 
> > Again, I'll do whatever is best.
> 
> Bertrand, Michal, Stefano, any opinions?

As a first step, I would try to make the hardware domain as similar as
dom0 as possible in terms of these configurations. That's because I
would prioritize having something working reliably. So I think it is OK
to panic if the provided configuration is not what we expect, such as
"nr_spis" being provided.

direct-map is different because we know dom0 works fine today without
it, as an example cache coloring requires it. So I think it could be
a good idea to default direct-map to off, also to align better with
the DomU DT bindings. But the address map should still match the host
layout.
--8323329-2028676297-1741656757=:3090675--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907017.1314329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvR-00017g-Hq; Tue, 11 Mar 2025 04:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907017.1314329; Tue, 11 Mar 2025 04:09: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 1trqvR-00017Z-Et; Tue, 11 Mar 2025 04:09:05 +0000
Received: by outflank-mailman (input) for mailman id 907017;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvQ-0000fJ-3J
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:04 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90d95c1f-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:03 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-224341bbc1dso60930655ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:03 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 90d95c1f-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666142; x=1742270942; 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=GZg0/as8vJD+8Um7sy7JKxAjMVLEtPUz9ZnXYeX+5Ko=;
        b=GE9FmSt5ZO/Lj56jkZSR0M/n+RBZQzPPAvseRCmGMDWaF0Zd1kJ34SQZQoSN2tF1OK
         wA0Dlr3P31b8NEsoh3nbyHbi/COX7gbuJo1rv86j8BgRPdarLMVfXG2ZtRBSoHbk8yrp
         y1Z6ICivtslL/N8XB5ViZkACgdhYGeqIiwwuW9Fgo/J6PrOdSF/N03IJ33KPJHfUoK1j
         gcHQL0OZFBmI8YAeUmyH7c6sCqBwujsqd62lcVGD1V8fT0HBkHAzWEeokBkl8GcQDQbW
         kRdRY4+8rw+vyIsrkbaCUk5fmqGYFz1YCc4htQ6ifR4BqgiOXd98Bn3JTIVDw8ydtG2g
         ytGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666142; x=1742270942;
        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=GZg0/as8vJD+8Um7sy7JKxAjMVLEtPUz9ZnXYeX+5Ko=;
        b=n4MjXwcO7r8Q/NhCWGp7cjZMhcvhHnO5i+D0y5SNFQpfm8DkB9+jB4WbHinAIHqYrH
         Xo+UQ5DWrM1IQLDlcCCeWhmBfFNQbBZQxjHrDayJAH2sqm4+UO8csierW5yDw/Fiy9bT
         zgb3HXoWmkyq/PAirzh5FcK2YGYk0dICbKI+GeqKZ0mGePIIqdAynAMGDPvF7WeZm/eW
         f3ypkfukcq2a1vi3AUV2iupKon60sBGi19BbW1HyaAqLmVNQKUEhavBeZ2HTqBJe9biA
         LQiWbRUtsoALJQOu9Xjv9DxUnk/ZtyKiqAkSCN0DJXmNpuyhDG4vqX6JW2Or57jaKKHD
         BdLQ==
X-Forwarded-Encrypted: i=1; AJvYcCVc9flUOnjr3qA8eqlPRI6qoGLHd2PyXVIupSdcMW1A/vP7Y4e39tHo385yvjuA3Ko+JaPDvpbHpMU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwdetYUS8Mz5s0krYoBWBYWzLcX3SeXS0ioe9uV0JBW1BYT93QB
	BJYrsxSi44y08hMNQZgx94+It8DMJCAKvt5hSuq79K4qYKfYKbdaigeYIuv6AWg=
X-Gm-Gg: ASbGncvRkozWCM/AOGo6DqBVfkyWlaikUUAkueWBDkSJX7aEucY1u4NZoPYxkkz082r
	Ir2Rh/ezqLm0H4M/P/ET1h9bc18Dhq7b0cOgCJtg76yaUuZrlljUmiXvnzf8kVNG1ljXTDwg7OS
	syO9LR/XyWuVxuvrPa2gmWbAyos8mSNKYB2B2Duo0jTdDsOtdMx/5iOZrxwGk0jXO/80bTk74VI
	VjNQZiwsYRhhiTjb1dj2A6YyACCzotAyxV4LkewyNtOYwGq8JK2lgJCyRGZcncPfXrDO53ncqPo
	tmk/JrVwJvYvT+ZFzJNdSVW8gCKlt+/xTGjfT6uxMBvF
X-Google-Smtp-Source: AGHT+IEv6pfYhMlZcVFtUT8KTCc1zYGaqiUcLOn7dx2sPDPFPmpFWZtYBaUHHMwx5Ykg9mMF6L42zQ==
X-Received: by 2002:a05:6a21:7002:b0:1f5:7fcb:397d with SMTP id adf61e73a8af0-1f58cb1bea7mr3411754637.16.1741666141836;
        Mon, 10 Mar 2025 21:09:01 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 04/16] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h
Date: Mon, 10 Mar 2025 21:08:26 -0700
Message-Id: <20250311040838.3937136-5-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Move stl_phys_notdirty function as well.
Cached endianness agnostic version rely on st/ld*_p, which is available
through tswap.h.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h              | 29 -----------------------------
 include/exec/memory.h               | 10 ++++++++++
 include/exec/memory_ldst_phys.h.inc |  5 +----
 3 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 0e8205818a4..902ca1f3c7b 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,35 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* MMU memory access macros */
-
-#if !defined(CONFIG_USER_ONLY)
-
-#include "exec/hwaddr.h"
-
-static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
-{
-    address_space_stl_notdirty(as, addr, val,
-                               MEMTXATTRS_UNSPECIFIED, NULL);
-}
-
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-
-/* Inline fast path for direct RAM access.  */
-#define ENDIANNESS
-#include "exec/memory_ldst_cached.h.inc"
-
-#define SUFFIX       _cached
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-#endif
-
 /* page related stuff */
 #include "exec/cpu-defs.h"
 #include "exec/target_page.h"
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 78c4e0aec8d..ff3a06e6ced 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -21,6 +21,7 @@
 #include "exec/memattrs.h"
 #include "exec/memop.h"
 #include "exec/ramlist.h"
+#include "exec/tswap.h"
 #include "qemu/bswap.h"
 #include "qemu/queue.h"
 #include "qemu/int128.h"
@@ -2732,6 +2733,12 @@ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr,
 #define ARG1_DECL    AddressSpace *as
 #include "exec/memory_ldst.h.inc"
 
+static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
+{
+    address_space_stl_notdirty(as, addr, val,
+                               MEMTXATTRS_UNSPECIFIED, NULL);
+}
+
 #define SUFFIX
 #define ARG1         as
 #define ARG1_DECL    AddressSpace *as
@@ -2798,6 +2805,9 @@ static inline void address_space_stb_cached(MemoryRegionCache *cache,
     }
 }
 
+#define ENDIANNESS
+#include "exec/memory_ldst_cached.h.inc"
+
 #define ENDIANNESS   _le
 #include "exec/memory_ldst_cached.h.inc"
 
diff --git a/include/exec/memory_ldst_phys.h.inc b/include/exec/memory_ldst_phys.h.inc
index ecd678610d1..db67de75251 100644
--- a/include/exec/memory_ldst_phys.h.inc
+++ b/include/exec/memory_ldst_phys.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_lduw, SUFFIX)(ARG1, addr,
@@ -55,7 +54,7 @@ static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val)
     glue(address_space_stq, SUFFIX)(ARG1, addr, val,
                                     MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#else
+
 static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_ldub, SUFFIX)(ARG1, addr,
@@ -139,9 +138,7 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t va
     glue(address_space_stq_be, SUFFIX)(ARG1, addr, val,
                                        MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907018.1314339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvV-0001OM-Pz; Tue, 11 Mar 2025 04:09:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907018.1314339; Tue, 11 Mar 2025 04:09: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 1trqvV-0001OF-Mv; Tue, 11 Mar 2025 04:09:09 +0000
Received: by outflank-mailman (input) for mailman id 907018;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvU-0000fJ-52
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:08 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9369f46b-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:07 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-224171d6826so78753575ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:07 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 9369f46b-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666146; x=1742270946; 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=S847jAMJoPTCQP5Yv6FtgKXIrkXeVt152gZ92AA3GhI=;
        b=P/uDzEgLFFDPAJuCgSzgH6+/Gc5qksYe5yqND+txAymV8k6z4vTFC8FtvUt+1WO25u
         lZdH4n+7QEsfwhkMfZf2gWriYo9TnCi2A6xBJiqByCdn1Vv/Gcq8CpWO/Mf57bSRnED1
         iuNOXS4ouywjXYqCD6xlIlU+AbWLP+IbEgcmW6VldtI14lu+kZeUz4FFt/4h2JeT75gr
         yIZibgRwonL9mObBh9YtvncaZFlQMN0kpMAv9KdEbG7yBA7x8gHhYkQixfP2MEPbIDav
         GayKr/cR3sKpd+AinsqLFyjmjqG3kJR/cF5rHgVuS6GSgh5FgMEaKTVTH6qwDvnrIVlI
         wYrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666146; x=1742270946;
        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=S847jAMJoPTCQP5Yv6FtgKXIrkXeVt152gZ92AA3GhI=;
        b=D4iEtwTnnOzvpe7qqud2BuupOGpLHtixLZmJA5b9gQT2ZTe3O5zqU3pnXDV1tVybiM
         ZnYOVziEmFbWVIlJD1jA+PkiYUoFdQM/1ZaQDxAiC5Ya4M7YUvM541KveSdG2DNpHu1J
         a6Khopkt/RAeFWRqWKBnqJV3mYEzeGzfZyGGgxWmpnz41JFTVN8Z1SmjsXJPIfHxID5b
         mfWe+lKEw+fUIHkHanfhabyOFHQqi7jjbrlmure2u4M6WBpZ/zaUjVN116PdjAXQje/z
         Mmjgs2wxA45saFN7fSisMZ3fk6+PfzFe2zUxCgd7cprrY+0tY2O1vxhuCIyad+88dqFE
         8aIA==
X-Forwarded-Encrypted: i=1; AJvYcCV0JiSd0++U4FFOLRswvwLrhnz0vt6MzupBUozoOVBIJCI04XMpLZ3/giYQjH+q/efc4oUDozGlSqk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxzQvrnExFUx+ku3uN9qZVmRkZioNZBiK7LBTV0aXOWK6KztUow
	fOZCYZLmIZ+eM6qGAUHGlfpzDNu9EyCPb1a4Qa7GBdjvP1ytIPEp4Nevej2t7hE=
X-Gm-Gg: ASbGnct9MbDO7K5oT8cYUo3/mRDBzh3CAVEJYIkhODTzUTQBItHsTG9IvvsOKYcgFcB
	i2woGKDq6vtZwV6notUMzPa57CHyXgxNk4/PSsBI/yVGqWTzjfNGHkPzNXluv2MqcAf7ceHHHlJ
	DVWQZAi5I21Uy377r0wGr9CO+4uW9o9UIyzukvIWVUj4j4KL9r6IqTJDpfg+ns+kGQDkscrdPLS
	FnTrfoyhQO88GAbYx0Z9ouyM4jkMh4SpZspbgc6Q279DXB3z5AjdC4PAtjf8YhHVJX6Oxabq+iO
	OxkQNgphNYfLhsk60Oq8S2ddfgwXqwCGbVSHCLWTp99Q
X-Google-Smtp-Source: AGHT+IE3Vl9B86Ve/DQiaAua/ITAo7nczT+bEsdawDqXZ5VAclVm0x5zL+4TIfw0f3xRMRf28fdfZw==
X-Received: by 2002:a05:6a21:516:b0:1f5:709d:e0c6 with SMTP id adf61e73a8af0-1f5709de3e1mr11267027637.42.1741666146178;
        Mon, 10 Mar 2025 21:09:06 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 08/16] exec/memory-internal: remove dependency on cpu.h
Date: Mon, 10 Mar 2025 21:08:30 -0700
Message-Id: <20250311040838.3937136-9-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 100c1237ac2..b729f3b25ad 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -20,8 +20,6 @@
 #ifndef MEMORY_INTERNAL_H
 #define MEMORY_INTERNAL_H
 
-#include "cpu.h"
-
 #ifndef CONFIG_USER_ONLY
 static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
 {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907020.1314355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvY-0001if-D6; Tue, 11 Mar 2025 04:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907020.1314355; Tue, 11 Mar 2025 04:09: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 1trqvY-0001iE-6M; Tue, 11 Mar 2025 04:09:12 +0000
Received: by outflank-mailman (input) for mailman id 907020;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvW-0000fJ-LS
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:10 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94fa46ed-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:10 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-224100e9a5cso93337485ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:10 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 94fa46ed-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666149; x=1742270949; 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=lSQnGpOqRDw3w//OvJparnGxlKjvigYzwQgvxmVvIU4=;
        b=vwhswb70kDtQlFPKC9I++M8tJjjMHilSKefbsKS/dXt2QXnGizMLGQlzi3qY9/6Ec3
         fyEEVD/NtCFPdXL5B+dIOOEpD89vIywTy5pTUXGNuQkzTjmgLFRTV+STn1bTmNP1SbAG
         HvhcSAYTdbvTmQqXN48kGRtZlhO6pEuJoGTTi5fgjNhRSuN5KSnf6wFTbv5YtOQ4iy7a
         dlF542+Er+k7oWD00JNhEz2QoIiX27eZKIn0oAmZpJyZRhygjK/Ds/eq3HAXzJL4ybTT
         ko6nplOiOhoh75JLiT1fmrKEeF4aWBAUbcxsJrlRLOXN9V6R/Zf+SLxVDbb1OOxPkVFW
         KGww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666149; x=1742270949;
        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=lSQnGpOqRDw3w//OvJparnGxlKjvigYzwQgvxmVvIU4=;
        b=otSdoGtHLPy06v6b4RLy1E8iMvKY/r5QelVeJeZdyJq9cSNP8QdtCunkqRuZnYy6pm
         OVFblhK0Bo8f7cwau0K9g4TIDeCZ8Oek1JMJu7Vo7OhpBF7P9Gp/7JuApWRsWXNX4BkO
         FJXySfFC9xmr54u1OaA1G32Bkcxmf8nZycGaItsjpdt2QpXQznfDFkrwabXE12yprs9O
         WdFA3Sd4ZWCnNLXfU+QZBDk+6w5VRQLYx3NSFyAvZ7yUq3W0XbGPJrteLfcdJ6wyvrcb
         5xN6nNd5capu2HH2CUquqf57D3dypv6N9mzWq+WRE1OIAxE27Ex9BmV+zNTMzHTWngNG
         +Aug==
X-Forwarded-Encrypted: i=1; AJvYcCVhj8voQMIEu9zUs6RU2ueEMbDK/vc/T4fFwdF9HpnrVTYEObcgHzVRzCQMke96fu1AGgCQ8qUMNQ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4OqS2l88GfufPTYE9LPph0qvo9ZUMeBL03lGDqrCAbKNtT6sH
	3PVTCLzHKT2mlkMefrns/50ZgPS14hvY8L+0dACU0giflWepG/N5xKPrHMT1qa8=
X-Gm-Gg: ASbGncs4YkdcG3wRKKREwvl+tjQIfc0V5DEwEIYWNZtIdDDkr82OjSWili6wZXBtQsK
	sstrWV5WVFN7RXZHA3MaxGqOTcn+pqlKT/EisEYk/WCyQaroogVH26rtnRgsHR7IrjqxYUSpNRf
	+RMxMO0b93wk3XQYKN0q++7c3BnBYCxuhAjacwoNkClH083ej9hk9p3LDbqkiXYL4Iif73RohMA
	YJoL5uooQGUei4bAfDrd/5BAyiDiwyLyL11E9T44mrKX3tbADvGjAMZ//LXhv9Fo7G4CiYzgieS
	Bbn0Ty68gMBxjYRU9r8kioC/0hQZrtSSPiZHcgFlDvy/HpWym2bGeAQ=
X-Google-Smtp-Source: AGHT+IGAtyqJ8JwUWzZUpShXBSvpRNbrwAinE/LFxHiM0RsFVnA1TPY911KWPkY4EkoTDg/0IjRi5A==
X-Received: by 2002:a05:6a00:23cb:b0:736:55ec:ea8b with SMTP id d2e1a72fcca58-736e1b3e670mr7549220b3a.24.1741666147270;
        Mon, 10 Mar 2025 21:09:07 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 09/16] exec/ram_addr: remove dependency on cpu.h
Date: Mon, 10 Mar 2025 21:08:31 -0700
Message-Id: <20250311040838.3937136-10-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 3d8df4edf15..7c011fadd11 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -20,13 +20,14 @@
 #define RAM_ADDR_H
 
 #ifndef CONFIG_USER_ONLY
-#include "cpu.h"
 #include "system/xen.h"
 #include "system/tcg.h"
 #include "exec/cputlb.h"
 #include "exec/ramlist.h"
 #include "exec/ramblock.h"
 #include "exec/exec-all.h"
+#include "exec/memory.h"
+#include "exec/target_page.h"
 #include "qemu/rcu.h"
 
 #include "exec/hwaddr.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907016.1314312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvQ-0000iq-4q; Tue, 11 Mar 2025 04:09:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907016.1314312; Tue, 11 Mar 2025 04: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 1trqvQ-0000hU-2A; Tue, 11 Mar 2025 04:09:04 +0000
Received: by outflank-mailman (input) for mailman id 907016;
 Tue, 11 Mar 2025 04: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvO-0000fJ-Ks
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:02 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 902e64e9-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:02 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-223fb0f619dso93349925ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:02 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.08.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 902e64e9-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666141; x=1742270941; 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=KTcsPgfp4qWHKI5IiGC/xRJnn7HmZtcbIn5ZIF7f/ys=;
        b=cSbNj25mA5HsZT5KVjKrE0TLwJV6j9DrVK5wgfTSbC3nASEmC8LQqvS2O/Ni9rsnc+
         G0OF8otUYOSUnS3iZ8OBiHGh9bXN8DigRl3bg5a1AhbB7Q6dj//F3fgm+TF5NgupOF1w
         rPWd5nIhor0AnwVchF639ppfnmvjoLZmaeYDA5O/heas/6U+bbCjmAEPIP610qjjgk99
         zgzLiJKyeuMly6na50OJVHd8zvFRnNtda+YmDzzDyWshND7By7iUcQzlnnvy6DrtAPKl
         SQ523UA4F4wMh21d/cgUlplO2+9EoLPMPda/HrbDpGVT4sgCvUAiaSsE72DVMH+p7B/p
         VFkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666141; x=1742270941;
        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=KTcsPgfp4qWHKI5IiGC/xRJnn7HmZtcbIn5ZIF7f/ys=;
        b=KfwbGOq1OLAp6nTkU3+yORFIVW/IZ4VScFCgZWs/zn0/Pha/Yu0arDZ4gybRfj4AwU
         5FYkr+l/7XEGnYE8iYnheAghxJsXbvT5aon7IXseryx9FDjOQlywTNYmYeJo5vI7lsLO
         83TXZTchAgZySSVpOHPG/IfRd5eUEC9Np4eqxtG5sEmAYmdEdhZHQuLsrM9pC1SOaf4l
         Ce29AIAYHaMZzvotcKH2vjKnpYAwm4py3mSbnEIoNHhRPL/j+eB1O0frYah7CLfdPYIn
         gZ6EacdfZJp+SyXF6TCpmQOkqNUaejA96/sseLPdzQPe5qmoH6FpTHQpCKZ1porm3J7Z
         tkLg==
X-Forwarded-Encrypted: i=1; AJvYcCXDFQQK66w1OC6jAKgNdYILvAw80J7JkRM+MBWvSh2n9kd/yfRvaqDDa4h26+1kbLAKigbCSBJLbZY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxrKOa3q93fEyzPZFLiK8IInFz0LxB73Jg0I1L7Dkx7OuwZpOsh
	n+C9M/G9gC8hIDUL6ZeWeJs/sxWVynQKKU3ufIEQAUfyW6asTz56ZP/UtkHDdYE=
X-Gm-Gg: ASbGnctW4VlWONDzIbCw7Dk/rzOoydnpXKFcxDHMhstF0mjbHSNmPuoS7a1WYiz+BpE
	NcJEMjNOLYXLbnic2iNucdj1HlAx7eH+XEuA+wclRr+b/7xkzXBNUo6SYP03/wkBYacasH3XMFY
	s9ozY7RoQ5sZpa/Bft+IeQvFPRwZlJfB/aaflBzfeRhnMMox8CaLWgaKXADiXwG+U0Ez/ldVofe
	TEGn9qqNrHyT7Hft8zveWaml/+IcYRAyDfXk6RUKH+V4iXk+p+VqZCeKfDzZgAG5xykvNf9RSFF
	bSjY3cXlOM9nC71e6BOqjPlcqVFKEqgW2tLZOgBLNocx+RC2Y1V7CyQ=
X-Google-Smtp-Source: AGHT+IFvmMV6FR9w9HRJlmca+n7Q/Lcb7qpOce3I31boqIZsCEXwR+2F1i3uigVa31tDctZYbS6W9g==
X-Received: by 2002:a05:6a21:6b18:b0:1ee:c7c8:ca4 with SMTP id adf61e73a8af0-1f58cbef8a4mr4223140637.36.1741666140734;
        Mon, 10 Mar 2025 21:09:00 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 03/16] exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
Date: Mon, 10 Mar 2025 21:08:25 -0700
Message-Id: <20250311040838.3937136-4-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h         | 12 ------------
 include/exec/memory_ldst.h.inc |  4 ----
 2 files changed, 16 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index e56c064d46f..0e8205818a4 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -44,18 +44,6 @@
 
 #include "exec/hwaddr.h"
 
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
-#define SUFFIX       _cached_slow
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
 static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
 {
     address_space_stl_notdirty(as, addr, val,
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 92ad74e9560..7270235c600 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
@@ -34,7 +33,6 @@ void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#else
 uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
@@ -63,9 +61,7 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907015.1314309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvP-0000ff-Vb; Tue, 11 Mar 2025 04:09:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907015.1314309; Tue, 11 Mar 2025 04:09: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 1trqvP-0000fY-SE; Tue, 11 Mar 2025 04:09:03 +0000
Received: by outflank-mailman (input) for mailman id 907015;
 Tue, 11 Mar 2025 04: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvO-0000fJ-2e
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:02 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ee12b85-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:00 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id
 98e67ed59e1d1-300f92661fcso1724700a91.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:00 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.08.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:08: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: 8ee12b85-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666138; x=1742270938; 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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=QSIGkaZavC1QxSA5/aRCC2Kcj7KeBDlPtwOnycoI0r7AYlC80dxWIbJpzvaK4j7wW/
         kt2QkXrON1Eofzn6w7+bcPM9LJxw8sLpXcNDYpOIsIqJqk42Ocp+xprtTHrqz9CuzpeI
         dnz3ipftSgd4uFJhBpXwY9gLN1J9IUMwiSRUDJD478QdqbHMXn1CUS58mBp+aW4EXw0s
         fEdWbE5/ANUfUbKVsMbZRimldT6Vb4hiTREG2qLaWcfjcugKQbgTunlpkMNQPKAb3+hx
         Sdfc5Jy9C7HaXHR5MYh53ajOwVj9UMPo1bp/qfQ14SMIrXeJPp1QsntB5c4kcN8MbUfi
         N95A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666138; x=1742270938;
        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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=LVkNPbDqb+2feCCAuHGfZQTZEtSaaG56HAfqWmKQQ53ONrZDAA46D6ROVdFyHG46nI
         rj6AqGSplTvcLMYO/lLR5k06kp28P4TsHIH4qcqTrWe2Gdz7Iks8OdOJJdYj2/hlwuDe
         //2x/1gu50jMqn7kvWzwzIj7qNTgbZReDR1cLwzr/NgFhbxHfPLxxjmBaPz/ePpG2sS+
         7ncsGFEKyZF3DO2s9CBJIrM7EKe+Gvz1UXxqh5UGuxyGcfbdh8ld/qiXDLEh/j7PcY92
         qhIT84USkdaRcDbqDH5z5aknZPK5ga6FsEiJZQUydZD6t+4dd/rzg7nwYC2wPtz2iFV5
         /EYA==
X-Forwarded-Encrypted: i=1; AJvYcCUbn69sO2+PeavTPJAfi/qtokfI7NiLXYsUN6EcOGHbyQXPW+tlehD3y6mZBmxrCXGo+FtNxQn8WG8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuzqIYVUs4uNUP3bSrK051pYD+qHzenIqXCwtuNdBXb7F5r3ZF
	4jSefw6UpO+EvqhrBJ0GIQ2ahXCQsElmVgXSBKfJLjDqwQcFxUB7hDqdvwUpqYc=
X-Gm-Gg: ASbGnct43PpZZt79HiliiFv4/qd1BgZVSfNc9pOtrnAndlQDJB8OSV03GNdntm1ixxG
	X1TM/lbABhtHa+zN5DnP4w6STSu735B6sh5R9UoZQWKL+xJMfugeGRdB6S7/tL7UeIejWcoXVaR
	xfNe1rqpglcASX8w9R0ip3fWepDosSrk40g2dIWII4QvuT8d/rBMObixfJWOhVGLKroYRWf9O+4
	NNvKhC2NWcBGelGjCkgY0NUK4xAQKzxbyyDTZkuJRRAcEUtT03qt8BjjfT2WqmctK6rdk4xwicx
	7a5zIPm/849ZAIdBvh4aOzOPYk+LyskWGftrHiyxiXkq
X-Google-Smtp-Source: AGHT+IEzBJ4Y504tWVEKTLiAl14rUz4i3nUGGoyaKrgK43oaArjDd5np2LA5f1JQHmiuxtYBHKlEDg==
X-Received: by 2002:a05:6a21:b97:b0:1f5:889c:3cdb with SMTP id adf61e73a8af0-1f5889c6dc7mr5899820637.8.1741666138527;
        Mon, 10 Mar 2025 21:08:58 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 01/16] exec/tswap: target code can use TARGET_BIG_ENDIAN instead of target_words_bigendian()
Date: Mon, 10 Mar 2025 21:08:23 -0700
Message-Id: <20250311040838.3937136-2-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/tswap.h | 11 ++++++-----
 cpu-target.c         |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index ecd4faef015..2683da0adb7 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -13,13 +13,14 @@
 /**
  * target_words_bigendian:
  * Returns true if the (default) endianness of the target is big endian,
- * false otherwise. Note that in target-specific code, you can use
- * TARGET_BIG_ENDIAN directly instead. On the other hand, common
- * code should normally never need to know about the endianness of the
- * target, so please do *not* use this function unless you know very well
- * what you are doing!
+ * false otherwise. Common code should normally never need to know about the
+ * endianness of the target, so please do *not* use this function unless you
+ * know very well what you are doing!
  */
 bool target_words_bigendian(void);
+#ifdef COMPILING_PER_TARGET
+#define target_words_bigendian()  TARGET_BIG_ENDIAN
+#endif
 
 /*
  * If we're in target-specific code, we can hard-code the swapping
diff --git a/cpu-target.c b/cpu-target.c
index cae77374b38..519b0f89005 100644
--- a/cpu-target.c
+++ b/cpu-target.c
@@ -155,6 +155,7 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...)
     abort();
 }
 
+#undef target_words_bigendian
 bool target_words_bigendian(void)
 {
     return TARGET_BIG_ENDIAN;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907019.1314349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvY-0001f3-1J; Tue, 11 Mar 2025 04:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907019.1314349; Tue, 11 Mar 2025 04:09: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 1trqvX-0001eu-U0; Tue, 11 Mar 2025 04:09:11 +0000
Received: by outflank-mailman (input) for mailman id 907019;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvW-0000fJ-72
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:10 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94ba1b05-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:09 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-22580c9ee0aso23111055ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:09 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 94ba1b05-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666148; x=1742270948; 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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=l9OL+HSsU20FBz6Rn+inDNzpv7yBRsst2fq1x6gPUv2lonFCNnmadQObLUFsNBP4E9
         4+vDgwYL1PC86BlPawV1hY7T2C5MLZ6p+jY+Kck9LsL5t59b9bwHCJRo2CB64/WlRCDo
         KIylmdgHX6MhhxkQv9l5Xfomx+45hdpqIdZQ23lBr+0S5eQzyGbsFl5eOi7U35iEz8a/
         HW8gkRZwDE3M0T/J/Zi0WxBQEBGeSspwHbLfoIX6E0zPdxF9hsYBoBUJ0ISLFIO5Wf7v
         V7/Rlv1mj96fiUGKKyg8WCbX0UZ6nvEYXQADJoD8tGDFvOysPw5ZA3MhJJydfQAA2+Yd
         vU8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666148; x=1742270948;
        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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=eRP0f+zmPJVL1O86BW+LiDv7Ed7dvJ5z11tsAb8oMq1wwAQyjicIepVETKH62LGIgH
         ZATWu+8yCrgLFX8Soo/SBG2BvxkVtu6xgE4rMMLrxJhYw8FvQtI+tzmZdUa+ssrmemYT
         kLaDGc+rX7BdqLhcJZc/hrMxFupaksFcje9c1P/VMllppGf2e87PMlXHoCTQUCxdQUid
         2umFEr/1IBSwFnRjC8pSMRKlsy8OdUdhwHwqpFWZZDG93TSIrp/4UG6wBaJseKzkQhIb
         MnI4MQpt8zN0yNzzVc24r1cIW3HAu8A1Ut22ML9BErq5SiVbNCg7OSV16rIuNEhWYHY+
         MtHQ==
X-Forwarded-Encrypted: i=1; AJvYcCUTyq2WOHoPQcFbaIEYDNf33l5RMOmj1okYMXo6+G/drM3tA2+o6OkHTHcr9HRZtZhTlQHaiHpgZLk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywr3P1jaqGDF5OFnOsSlIx+YO/TSrevhX8YTIVjAk4Yg71Lg5X6
	I3xH7uElR5OCFsXYz391kdGUr6brD4t+ISMY6xbKYmn7KcNfHIOkf745gFd6dKI3uG/Y3WhO9fB
	GpuE=
X-Gm-Gg: ASbGncscz4tWZkcpF58g8L6YnCi3efCiRhs+88+TGHwMQo8A1PWyDdcJCi4dLVgswdC
	zOfZ/L7K8QEeNLypt78e5zNC7Ry2RJV1DOsY8dm0cvDW4skOWsOWvB9evcd66Vn0F3KH4mq8zQr
	JJ4imROe7S0ptp3cUkfLtTx/rKRamHdseIR0Id+xv+E0udXJdBUXgbTvwTEWp5D2jNNvnH5W1dT
	EqpSaQj4Y7NzDjvCh9fCQ6qRU/CBub7tOu4Nlg4BuKvEbva8zt9YVkQZcXVAgpf94BGz2+/GVUD
	1mvPoZ5H9De3z8G0fwqpSSWMmZN5Q+NG+/g/ONl7xW2Z
X-Google-Smtp-Source: AGHT+IHS2PJ+/kxwhPkSsqZSy1Lcoi2dOdo4gLmR9Sx1nH5mZxTPaitClYNterYld+kjauOZ34q9lw==
X-Received: by 2002:a05:6a21:164a:b0:1f5:60fb:8d9 with SMTP id adf61e73a8af0-1f560fb098fmr15311166637.33.1741666148378;
        Mon, 10 Mar 2025 21:09:08 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 10/16] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code
Date: Mon, 10 Mar 2025 21:08:32 -0700
Message-Id: <20250311040838.3937136-11-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This function is used by system/physmem.c will be turn into common code
in next commit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/kvm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/system/kvm.h b/include/system/kvm.h
index ab17c09a551..21da3b8b052 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -210,11 +210,11 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
-#ifdef COMPILING_PER_TARGET
-#include "cpu.h"
-
 void kvm_flush_coalesced_mmio_buffer(void);
 
+#ifdef COMPILING_PER_TARGET
+#include "cpu.h"
+
 /**
  * kvm_update_guest_debug(): ensure KVM debug structures updated
  * @cs: the CPUState for this cpu
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907023.1314369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvb-0002Fh-0K; Tue, 11 Mar 2025 04:09:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907023.1314369; Tue, 11 Mar 2025 04:09: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 1trqva-0002FY-QJ; Tue, 11 Mar 2025 04:09:14 +0000
Received: by outflank-mailman (input) for mailman id 907023;
 Tue, 11 Mar 2025 04: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvZ-0000fJ-7e
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:13 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 955f930e-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:10 +0100 (CET)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-22337bc9ac3so94536975ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:10 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 955f930e-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666149; x=1742270949; 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=d9PU2mUUZXceFgFF8NURkIZqXSTxuLUTW3yG3F37dHQ=;
        b=IOG2QTMNqRWn+Ud6DGiA4tXppTa8kXM9y4VunJCbsvr+cRxUZFZ69Oeq4G6D3LhLjS
         ncT3+UlpEutjah1xojH8e7LkRzQVDqdQLtewHaUYEooLeZ9axwi2mfvnmaz/qNnELi2I
         IneJ1wEwNOnZhDv5bSIVuo/dPbLQixTaZXYbQsBTObP+1PvxM9QkcMGRF03wSlydL43j
         N492cDMHjURn+GhQyzGbifXhTdffzABX+7UjnUh9GNhRst7Gb2E4mkLQhyM9ikQgrIZ8
         Rf0is/kxWCjTp663UQq2lno3u+ZKPXWx19I26JoXKyGMnA0mRVHqmnxgjgh93hS9r7h5
         k7nQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666149; x=1742270949;
        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=d9PU2mUUZXceFgFF8NURkIZqXSTxuLUTW3yG3F37dHQ=;
        b=i40w/IeZqKGOrukreyCi13kqnZj3ha1QZMxWKdUIa6++ZWcMLLNQAMXstw0T0e2bNk
         B1L+u6Ip4WLbg7m+5VfhU85nxK0hqQYgar3MBol8h5PdkBWG0GjwK2cWGlvbqoFsvs+M
         qFDZcei9VpIj8L/CXt5blAVhd1vZVJmfwJgH4qlWBox7VYdkE0ZZApocAWYvyYdffo0U
         AjpdwePP9TAQhKI3FBnUEgydgbTMSnNRuOMV6p7/2kI1ZY1PJywfUWu41sWu4HpShuTu
         Q0uO2jyDaRh68apzu7Nru97eFgK+wuU+v/10f5FphhUe+3T+8CEE05ynKN9l3xlyDHpv
         Cwgg==
X-Forwarded-Encrypted: i=1; AJvYcCUv+oT7p15F/Kj3wa27TDUN5JV1FP4i22CUCYsir+fu5XpckWOAvc3qeGwGQ+dqG7xgMm8ZSO87NGA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4uvzxvZCNA1Q7e8svYxPqppxApsl2atbSYzIFb0msvY/705cF
	yMPwfRG2FDCzXwZYy5VLxufOZ0mCN4w+pxjf7hD/msd32UG+ACbr1quPS/6Wfv0=
X-Gm-Gg: ASbGnctWBIfApktvPXJGtqzBOVReNRTIGRP4s3r8VR5+NubxPbx35d0R4LtBUob8hoZ
	trwSRE4ICZf4TDZ6m3kbujFKLkMYTv87COebe4xlst0UF8eaQeg3fdcUcFvVjO9zve31fD0Y4lh
	HgIj6KCYIHZpAh9taUjaWkO9+CYzlIhekrflS8DK3enyDbFbQ7QARh82akdSMMvqTzbo3vJyVeS
	JYTSaFtUmiVye+Ikom+xL9QfrMP0xxHaKUL8FD9nC7myBXHrB7sR4W96TZYnfUl9KXlgiVGoL2E
	58G2HUFeLzhDCJT3i49VEuOmjd19CziaR7jb3Q7QuUgFZY+wn/XT2nw=
X-Google-Smtp-Source: AGHT+IFhjhUd2vTxqYR3Z5nzc5K52WwhbsgB0wgjWXiu+XeofP+aLrA4dkvuyGbgnmdnOjVQzIEANg==
X-Received: by 2002:a05:6a20:160c:b0:1f5:75a9:5257 with SMTP id adf61e73a8af0-1f58cb1ba63mr3462589637.13.1741666149439;
        Mon, 10 Mar 2025 21:09:09 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 11/16] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
Date: Mon, 10 Mar 2025 21:08:33 -0700
Message-Id: <20250311040838.3937136-12-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 7c011fadd11..098fccb5835 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -342,7 +342,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
         }
     }
 
-    xen_hvm_modified_memory(start, length);
+    if (xen_enabled()) {
+        xen_hvm_modified_memory(start, length);
+    }
 }
 
 #if !defined(_WIN32)
@@ -418,7 +420,9 @@ uint64_t cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
             }
         }
 
-        xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        if (xen_enabled()) {
+            xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        }
     } else {
         uint8_t clients = tcg_enabled() ? DIRTY_CLIENTS_ALL : DIRTY_CLIENTS_NOCODE;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907025.1314379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvc-0002Vd-9u; Tue, 11 Mar 2025 04:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907025.1314379; Tue, 11 Mar 2025 04:09: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 1trqvc-0002VQ-4e; Tue, 11 Mar 2025 04:09:16 +0000
Received: by outflank-mailman (input) for mailman id 907025;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqva-0000fJ-7o
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:14 +0000
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com
 [2607:f8b0:4864:20::102a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 960e8f4e-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:12 +0100 (CET)
Received: by mail-pj1-x102a.google.com with SMTP id
 98e67ed59e1d1-2fee4d9c2efso8346082a91.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:11 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21: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: 960e8f4e-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666150; x=1742270950; 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=YZcwoIie6BtZ5Bqo8BYW0CKBTK95znA0iA8YHmiy7v4=;
        b=yP48ViHxS8/edxr4ykFVatkvDHwQWsRuSWRstFDHkoyz+EnmEWRS5WYIfZDxHhw+eI
         /OP+vdStl4B5kcaZ2a41nwK4ZvdGuhjyNcbPDTraPaJO00RZrNaAqMoOCkEj2FamHiXt
         cINA428SchuiR4SCdrWhm4WTV555PYQhl8MunXa5mvcBlNjwv3mgx8EWM9KhjgisA6v4
         YJSjd5iU2Nm34VB4+HgMEz1MytRLwVQqzDPCtOFgE7Mj9u+WS0+2vzqEjBrs119cJpZV
         xqIh7aJ7Kzm/MGwQo/5YT7b5GoRMlJ8vKKgIRRmbNIxhrg1J/Te+hvGt4sSoORO/wb6Z
         jolg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666150; x=1742270950;
        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=YZcwoIie6BtZ5Bqo8BYW0CKBTK95znA0iA8YHmiy7v4=;
        b=c4v3atunsyY/2zZkZ8xkgLTFbBA6WluZ44FhN2b3oEMtNvu6oIMOOXUoAXEQS7PsFx
         XV827pXze+2/HJ7v9cJRKCKSxC/GwE98A265A9A78sxzkRufJqOKo1buLxIUswOcD4qp
         5w6VQcbjEfCIuiQK08sX/c23Q4F3e/MVqRp8hjfceurbCpSjxmtWodWwvbEVtWHlYoP7
         FdSOnSZ5f1v41djZmuPZ604ISoa7K8tV3CqIKkGm5OXWtTr99ug+KRnygqIBFEGmudg0
         QDuqlQbLKScZPIXlywfhWmf/mWLL0WOuOvQ08bEnJm62bVO2zz4nbX6t2mZiGBu/wvup
         oq9g==
X-Forwarded-Encrypted: i=1; AJvYcCVDeOYsrTCxd4sxulR3IB6JMMzIXvtcU6Z8nA+m617XLfdz5XloGKTA0+VICVsb7Ag8vh+kVw/d+js=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/KI1Ki9aLljDJNbakn2J7LNEPcIED2x3LzcgLv94VrLgJAGGB
	Pb0KQVWVXh7a9+9V0VtKqr+ehWkpZxE/DUUHNAj2x+aeh0LAMMgj0G1BmWy9gNs=
X-Gm-Gg: ASbGncsaFPcnPpNe9C/8GepwFkIBxiagQcGxp502oWZHFjH9YwmpdBVxVOu3eJP8FHc
	IkfsN5nehlCgu2feC4zXuxAHBBuEu256e5fXEutT3YL1QqOzBigi9Ky7Mz3LZl+6u3l8Hrzo4A4
	BMmjHW1GdU6E4xH2mIDqjdjST9uvGy/ejsPMAZi3r0tPlY0XThM5Nnp/+t6XKHPx89O3tKRV0Pd
	80RxbbHFKfpfP09TM63OWiGN7QMZOJU2MmF+3t33NL3GrnPwtZDxVnNWxt/irj3+IOnJge1FaJ9
	ge4AkpsIFdcUmxIWMwsJO81x4kVYL6JEaQXcKb8K5fhL
X-Google-Smtp-Source: AGHT+IHJmCe2dJrkKZuUg8Hp5UUMBrSHtlgnmpF6Gn789stb7ihIio5wxKC4BVHFee5F9pMJvA7mBw==
X-Received: by 2002:a05:6a21:3941:b0:1f0:e42e:fb1d with SMTP id adf61e73a8af0-1f544c7fc7fmr33091101637.36.1741666150581;
        Mon, 10 Mar 2025 21:09:10 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 12/16] hw/xen: add stubs for various functions
Date: Mon, 10 Mar 2025 21:08:34 -0700
Message-Id: <20250311040838.3937136-13-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Those functions are used by system/physmem.c, and are called only if
xen is enabled (which happens only if CONFIG_XEN is not set).

So we can crash in case those are called.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/xen/xen_stubs.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/xen/meson.build |  3 +++
 2 files changed, 59 insertions(+)
 create mode 100644 hw/xen/xen_stubs.c

diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
new file mode 100644
index 00000000000..19cee84bbb4
--- /dev/null
+++ b/hw/xen/xen_stubs.c
@@ -0,0 +1,56 @@
+/*
+ * Various stubs for xen functions
+ *
+ * Those functions are used only if xen_enabled(). This file is linked only if
+ * CONFIG_XEN is not set, so they should never be called.
+ *
+ * Copyright (c) 2025 Linaro, Ltd.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "system/xen.h"
+#include "system/xen-mapcache.h"
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    g_assert_not_reached();
+}
+
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   struct MemoryRegion *mr, Error **errp)
+{
+    g_assert_not_reached();
+}
+
+bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache_entry(uint8_t *buffer)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache(void)
+{
+    g_assert_not_reached();
+}
+
+ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+{
+    g_assert_not_reached();
+}
+
+uint8_t *xen_map_cache(MemoryRegion *mr,
+                       hwaddr phys_addr,
+                       hwaddr size,
+                       ram_addr_t ram_addr_offset,
+                       uint8_t lock,
+                       bool dma,
+                       bool is_write)
+{
+    g_assert_not_reached();
+}
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index 4a486e36738..a1850e76988 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -9,6 +9,9 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
 
 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()
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907033.1314389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvl-0003Rp-N5; Tue, 11 Mar 2025 04:09:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907033.1314389; Tue, 11 Mar 2025 04:09: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 1trqvl-0003Rd-IF; Tue, 11 Mar 2025 04:09:25 +0000
Received: by outflank-mailman (input) for mailman id 907033;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvl-0003IE-59
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:25 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9228c9b1-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:09:05 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-223fb0f619dso93350375ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:05 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 9228c9b1-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666144; x=1742270944; 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=wYUY7egDw13yHwOIShpp+yHE9Lg9eeptR3FMaPhbw5Y=;
        b=gXPpclS3LVHGQvNC0lT60hIxV2wPW8XtdvfbeysQq7Gia9bTrSHGYabEiWsfOO09r6
         kv/0cUspprenkU4TKQuesy290rKTcud8TBVFjeQBDGAYIvIGShVSD3tnz58bHarIdVgw
         v5qdIAFPl8vQWL8X0INQYpEbmassVgN0oalgNM/NFt4zqW6KI03LaERRmSmvlF4IrHPX
         N59aGn2Po6RIaP1jvMxEQEhdlpQm0fktWcbDa2/HdzPI27sG/Kvu+yEk5TiIOGja27Uv
         Lxcte7y0ifQb7ZA0oZMlf2G+I99yT+BLjVywP8zmHvvZnU87O9tK2dk7jEqPOAnP/ZPB
         /9lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666144; x=1742270944;
        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=wYUY7egDw13yHwOIShpp+yHE9Lg9eeptR3FMaPhbw5Y=;
        b=mMdXibXLFHPo8FaoO8+479nj/MYXd79D/+cfTiKl4mQDnxSnLZ9ckg1Jq9sgxx2fun
         +YNQzJMZk8BeYf3rI3mY1+Fgyw0Ia6cyVa/3Ha/CCjvOCMTAwNP/OxQjrcLU01S5hYnW
         c40+dryr2++RV75Bi58N7B3SmXecZnRVuxyWGthbkgec6JbInPak1/vXxF4Nf0M4fpQN
         GvNXGpWBFenU1VwCqTR6iFjL4OPs9XKo2tRTUGigUhEsI1e4xkuj48O/KVZPmYEOEAU1
         xvD3T/oUPKCg7LiihU7OdxWpz52XEcgwFgF9xcyNsxvZSefxtmM1Mn/1pJZQiQZpDyAq
         N/sw==
X-Forwarded-Encrypted: i=1; AJvYcCX10oCQ3YvF8zDhiaImHE9Uvv5ZpkRXTMgcouSCfPrktsVlgYIEelsqDFf+1ICks454ORLgGB6HmGU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYC6kpAW1mXuJ52gcdtPeg2XppypZuPk8rcn0UvpcSqYCehj7b
	MTBw+9cGnCcmrQiA+Aek3IDb9rYKy8BU6DIMaxVkk+9MxQXpt7acPICEqwUHUhU=
X-Gm-Gg: ASbGncuvU/iZE3xcyUpteX/7Ga3N+0m/AqfHuFlonySotT1dWhlRpavSf05mQL4Mp/A
	zE+ZIHpQJMglWnGI7102JT90+wUh6gG6x/5zHMIJR1mm6vDOk1vYH6Wrr2Q91DOzY/hxLm9ARId
	3Jf6bv+4oaO3Xi1YXXCC3OqP9Zaxfpc8obh8bcYU57m+2OeNt0OjPN5sQcSb6kYlNLX6Qt8z0ER
	r4Pa/L4OEkdG2ka7aAhhJKfhMbphtTeguePsWaw4WAjO7cP+4lGIb/RaaWRh7s9mbpNx6zagJAK
	w85JCwpIy4F6y4bB9MRflaWYz3o7q1CQL5ApL1WBWd9o
X-Google-Smtp-Source: AGHT+IG1r91N/pZj/+/h4MYPAOLJfFbK6eObEmS4IiEzuC9Hkmi66055HrrfvkPljzn8i/+Wegt/7g==
X-Received: by 2002:a05:6a21:4cc7:b0:1f3:36f7:c0d2 with SMTP id adf61e73a8af0-1f58cbf3befmr3240926637.41.1741666144062;
        Mon, 10 Mar 2025 21:09:04 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 06/16] codebase: prepare to remove cpu.h from exec/exec-all.h
Date: Mon, 10 Mar 2025 21:08:28 -0700
Message-Id: <20250311040838.3937136-7-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/tcg/tcg-op.h           | 1 +
 target/ppc/helper_regs.h       | 2 ++
 hw/ppc/spapr_nested.c          | 1 +
 hw/sh4/sh7750.c                | 1 +
 page-vary-target.c             | 2 +-
 target/riscv/bitmanip_helper.c | 2 +-
 6 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index a02850583bd..bc46b5570c4 100644
--- a/include/tcg/tcg-op.h
+++ b/include/tcg/tcg-op.h
@@ -9,6 +9,7 @@
 #define TCG_TCG_OP_H
 
 #include "tcg/tcg-op-common.h"
+#include "exec/target_long.h"
 
 #ifndef TARGET_LONG_BITS
 #error must include QEMU headers
diff --git a/target/ppc/helper_regs.h b/target/ppc/helper_regs.h
index 8196c1346dc..b928c2c452d 100644
--- a/target/ppc/helper_regs.h
+++ b/target/ppc/helper_regs.h
@@ -20,6 +20,8 @@
 #ifndef HELPER_REGS_H
 #define HELPER_REGS_H
 
+#include "target/ppc/cpu.h"
+
 void hreg_swap_gpr_tgpr(CPUPPCState *env);
 void hreg_compute_hflags(CPUPPCState *env);
 void hreg_update_pmu_hflags(CPUPPCState *env);
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index 23958c6383a..18bbb1403c6 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -2,6 +2,7 @@
 #include "qemu/cutils.h"
 #include "exec/exec-all.h"
 #include "exec/cputlb.h"
+#include "exec/target_long.h"
 #include "helper_regs.h"
 #include "hw/ppc/ppc.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index 6faf0e3ca8b..41306fb6008 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -29,6 +29,7 @@
 #include "hw/irq.h"
 #include "hw/sh4/sh.h"
 #include "system/system.h"
+#include "target/sh4/cpu.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "sh7750_regs.h"
diff --git a/page-vary-target.c b/page-vary-target.c
index 3f81144cda8..84ddeb7c26a 100644
--- a/page-vary-target.c
+++ b/page-vary-target.c
@@ -21,7 +21,7 @@
 
 #include "qemu/osdep.h"
 #include "exec/page-vary.h"
-#include "exec/exec-all.h"
+#include "exec/target_page.h"
 
 bool set_preferred_target_page_bits(int bits)
 {
diff --git a/target/riscv/bitmanip_helper.c b/target/riscv/bitmanip_helper.c
index b99c4a39a1f..e9c8d7f7780 100644
--- a/target/riscv/bitmanip_helper.c
+++ b/target/riscv/bitmanip_helper.c
@@ -20,7 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/host-utils.h"
-#include "exec/exec-all.h"
+#include "exec/target_long.h"
 #include "exec/helper-proto.h"
 #include "tcg/tcg.h"
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907034.1314399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvm-0003mf-W6; Tue, 11 Mar 2025 04:09:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907034.1314399; Tue, 11 Mar 2025 04: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 1trqvm-0003l8-Ry; Tue, 11 Mar 2025 04:09:26 +0000
Received: by outflank-mailman (input) for mailman id 907034;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvl-0003IE-C4
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:25 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 96bbfb6e-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:09:13 +0100 (CET)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-224191d92e4so86287485ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:13 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 96bbfb6e-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666152; x=1742270952; 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=Q89mBu4b5JYOE58WB93/V2zR/jXmfpOvKMtRO3aXK0o=;
        b=hqc4QmMdWFslc1XO32nbv/pPRGynF0WaOpCJJdSUi10UwTHxcHcbbisZjZQRrVrQrt
         mwCWtT3JBZX40N45xxNDd3WWYLsG1w9DSxrVpzdDatnxrDwM2NUQUeUAsixi3I3EWrAs
         Uqy5gTYBjRxNPlTRlHzBNzxODe9zFQJy0TfL1HtSGwQb4EHR+oZWzza43IMyuN7Dx81w
         du/tbvGKh0ebYoIRDLjskq3o5yo6dSsTLX0IRRve+sezG6sdJtl7EwzK31uVgCQimGgA
         rWVZdTMKKdpQHkBMmlB6zBSW6zRwNwFLcLb8zDzTMSWmV9cVumyc3unD+V27phqTHa1P
         0L5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666152; x=1742270952;
        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=Q89mBu4b5JYOE58WB93/V2zR/jXmfpOvKMtRO3aXK0o=;
        b=EeEUZn206JXyWLQgFg1W2X8+JjkmZNc/G9gWRR5QtxUm2fq1/55w93tfY3azXw9bOK
         baRmoXhzFlfbBdj7rOfjbShc6Whi6PvaWC1O96KnILVz2Nlm68BmQ0Vm61iqhVf9WNu9
         UxgFvbdArqBxKMoUGU1uh16qc8KBzj/bjJr4OSKlzTbUQFsRJyChB3m36E4kUn+5GZq7
         kRt3XmgwxtZAT17F+XKIqNYR05EXhu0tuVXsSEi1ptgMf8kgdmCqiazVz1ifRat68Ghi
         CyKFRLOB96KnBAQ2fr1HQz9L7ebnVXe8n4mpiDFUZCpp+x/HVkx2j7BRhG9+V+7cdt++
         wuUA==
X-Forwarded-Encrypted: i=1; AJvYcCVqsU8i3H1js8K5KmR7z5m5FLsPNIK9VWjUmoDwWa5PoeySs7K9j0ikuGO/ecRMxYB3RmZwygg0CFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQ5k0po/kSe2jfCvcHOzG6FbULAJcIClee2Lc9DlFHJ6VOHZUD
	4AJ6V2Y6OeK98aQ1WW728gkpTGc3orpRT4Ub1SLo55a58EdHhBtc9LMrHIapD48=
X-Gm-Gg: ASbGnctxxNRmEOg46FFf1Kat+9nXixvUomr4UC94FcJZyDCyMqBEIX5+0xnpVSETFRG
	1JXOOhVrkZS/b5UI8j+xmfeeEsmtGHRwXcEinPJCRV8tIDMboH22amlCVPWFFzW9Q8/nWuuWWB3
	eNOVFMvPK3UQi9hodi2M1h5dHUznaBv5q/BfjoUe0PZwSYUopvo4ssUWM+k/51gF6vPMdIKrN5X
	u6DCTL6sJRwKzQk1ppX1oZ8gHq05lzafXmzKE2bFBKReTdraanJWiv/689O2xXgiv0hLVP/gsNU
	lLRvQVGwTY0AnjO/fz2HFJIrvLocFqzGo+iMeAPBzHFs
X-Google-Smtp-Source: AGHT+IE7G7QimFDknOZtg96uV2bamM0fTFqFZY88Y5t1E8IfrTFu2U6cjPQap3/Vq7WYgH3pY/scbA==
X-Received: by 2002:a05:6a21:3944:b0:1f3:321b:4f8b with SMTP id adf61e73a8af0-1f544b190edmr25270834637.19.1741666151748;
        Mon, 10 Mar 2025 21:09:11 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 13/16] system/physmem: compilation unit is now common to all targets
Date: Mon, 10 Mar 2025 21:08:35 -0700
Message-Id: <20250311040838.3937136-14-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/meson.build b/system/meson.build
index c83d80fa248..9d0b0122e54 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -2,7 +2,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
   'memory.c',
-  'physmem.c',
 )])
 
 system_ss.add(files(
@@ -15,6 +14,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
   'rtc.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907035.1314404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvn-0003qh-Aw; Tue, 11 Mar 2025 04:09:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907035.1314404; Tue, 11 Mar 2025 04:09: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 1trqvn-0003pX-4h; Tue, 11 Mar 2025 04:09:27 +0000
Received: by outflank-mailman (input) for mailman id 907035;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvl-0003IE-Iv
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:25 +0000
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com
 [2607:f8b0:4864:20::102f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e488d0a-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:08:59 +0100 (CET)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-2ff799d99dcso8268249a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:08:58 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.08.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:08: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: 8e488d0a-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666137; x=1742270937; 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=fGerXdOtIw0WsOiLQfJLVuAEuZhGly95KD3uNgEzFEA=;
        b=Czhpi/b55ovB++NP2xxeJf3Z1b3ttdHtpoZxJInZPLeyYzl9yx55Zf42ubt7x0otSl
         VxTjH4SbcAvN77ST/lfhvCqDjRZVRwFNE56c9Td78lvX6ycq0PiY1pifiBKVe75P/cIk
         xm/nojuWldIHR5cjG06GiUy4F5HW5mMpyU0uVKqqdRzRICfY2b6jSPuzQ4Xtwf6dnqIz
         9oFsI2jqVUgKrjL6l21A4arObhL7XHSGBO7zJN+P78dCZSfHs2aQSNk1RCtGltcQPfPt
         qMaxJqINLzn9X5GFqpgA3rISPVMg1gt1p6oy6T/zlnRBvlApnA56gZVGduf0kda7sIyD
         Adxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666137; x=1742270937;
        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=fGerXdOtIw0WsOiLQfJLVuAEuZhGly95KD3uNgEzFEA=;
        b=wi+VsxKd060656hIygWDyvQMx5iJ7qYnfhx4+HitRvkQ78CYy6g/UxYMLHILppJd1M
         56ketPT/nWQqeLL40W6roF8leWZWqmlNwIJkcM7JaGsO9rPKGTgXhD9uq5aV5WUyk6QM
         NWGW/k9DWpQLR0fcrcLnNg/TaUx3FmkV5s9/bWZaenCSZ7H7oi2MWD3C2upIeGPJRk3+
         m0AEgPaW8iZnieWMUE2LQnHSVByW4w9r539jmG8sxmj1hTpZqHKHTppT0HzCk/+ZaT6k
         3NJG71UH2Pv69/o8Q3XKBaZduzx4VYHYcDZbCktbAGH9eyIrbXbJcohb2O/DEuIbUNNl
         8B0w==
X-Forwarded-Encrypted: i=1; AJvYcCWNO9cAb4pI7NttlxTo8akO8maoiO0ThM4yzPV6pIQAmMdqWTBokYVyDf4SQSMEXxpQNHscWEgyohs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6O7oivwjLNaOuKSPaSUK/HmEAtJRTUD/eXpfJ/1qW4nMcn9QB
	U9nIob5n31uEqhMkHmSqhxP7llSnSgYttiXKD1ce3EMArnRuBzp9A9CAxknVfIQ=
X-Gm-Gg: ASbGnct6nn0Cmmxg2fePLt9R0uKoGievf7t7yU+DcAAAGUcbw49rWSts4yoAKdQwgVZ
	Qk0HvkJ7hTVX48nika8Bx8qpyTLH7qCCrb7AyihdHaOhXrthL1DPmZdILJN5KAboePZpJUsx9zQ
	QqZlqO680XEHpx+71pX35ljyhk1VyxAXuKTmL1DLj3M+1WFlbYvYNG0mZQv+07sszv7/SxNhKLS
	Y0a92OQhHzM4UTpUDnGt9wsFTAh7G+1O357KVpEqmkNDwfEhdeQ0W+pGmp+9ca205TIisUxifNY
	o3P9k6MRVqoYZg9jd6gTqlnQI0itISxi0qPzZh1GkyHJ
X-Google-Smtp-Source: AGHT+IGXMO59GO84wcQfdotD1ICTUfqb/mJe9bhBOPtOn//E28HwyLyMnn+hwaJcsHLDf6vigaP+aw==
X-Received: by 2002:a05:6a21:730e:b0:1f5:64fd:68ea with SMTP id adf61e73a8af0-1f564fd6a98mr15013110637.4.1741666137431;
        Mon, 10 Mar 2025 21:08:57 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 00/16] make system memory API available for common code
Date: Mon, 10 Mar 2025 21:08:22 -0700
Message-Id: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The main goal of this series is to be able to call any memory ld/st function
from code that is *not* target dependent. As a positive side effect, we can
turn related system compilation units into common code.

The first 5 patches remove dependency of memory API to cpu headers and remove
dependency to target specific code. This could be a series on its own, but it's
great to be able to turn system memory compilation units into common code to
make sure it can't regress, and prove it achieves the desired result.

The next patches remove more dependencies on cpu headers (exec-all,
memory-internal, ram_addr).
Then, we add access to a needed function from kvm, some xen stubs, and we
finally can turn our compilation units into common code.

Every commit was tested to build correctly for all targets (on windows, linux,
macos), and the series was fully tested by running all tests we have (linux,
x86_64 host).

v2:
- reorder first commits (tswap change first, so memory cached functions can use it)
- move st/ld*_p functions to tswap instead of bswap
- add define for target_words_bigendian when COMPILING_PER_TARGET, equals to
  TARGET_BIG_ENDIAN (avoid overhead in target code)
- rewrite devend_memop
- remove useless exec-all.h in concerned patch
- extract devend_big_endian function to reuse in system/memory.c
- rewrite changes to system/memory.c

Pierrick Bouvier (16):
  exec/tswap: target code can use TARGET_BIG_ENDIAN instead of
    target_words_bigendian()
  exec/tswap: implement {ld,st}.*_p as functions instead of macros
  exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
  exec/memory_ldst_phys: extract memory_ldst_phys declarations from
    cpu-all.h
  exec/memory.h: make devend_memop "target defines" agnostic
  codebase: prepare to remove cpu.h from exec/exec-all.h
  exec/exec-all: remove dependency on cpu.h
  exec/memory-internal: remove dependency on cpu.h
  exec/ram_addr: remove dependency on cpu.h
  system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
    common code
  exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
  hw/xen: add stubs for various functions
  system/physmem: compilation unit is now common to all targets
  include/exec/memory: extract devend_big_endian from devend_memop
  system/memory: make compilation unit common
  system/ioport: make compilation unit common

 include/exec/cpu-all.h              | 66 -----------------------
 include/exec/exec-all.h             |  1 -
 include/exec/memory-internal.h      |  2 -
 include/exec/memory.h               | 34 +++++++-----
 include/exec/ram_addr.h             | 11 ++--
 include/exec/tswap.h                | 81 +++++++++++++++++++++++++++--
 include/system/kvm.h                |  6 +--
 include/tcg/tcg-op.h                |  1 +
 target/ppc/helper_regs.h            |  2 +
 include/exec/memory_ldst.h.inc      |  4 --
 include/exec/memory_ldst_phys.h.inc |  5 +-
 cpu-target.c                        |  1 +
 hw/ppc/spapr_nested.c               |  1 +
 hw/sh4/sh7750.c                     |  1 +
 hw/xen/xen_stubs.c                  | 56 ++++++++++++++++++++
 page-vary-target.c                  |  2 +-
 system/ioport.c                     |  1 -
 system/memory.c                     | 17 ++----
 target/riscv/bitmanip_helper.c      |  2 +-
 hw/xen/meson.build                  |  3 ++
 system/meson.build                  |  6 +--
 21 files changed, 184 insertions(+), 119 deletions(-)
 create mode 100644 hw/xen/xen_stubs.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907037.1314418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvo-0004KY-Tx; Tue, 11 Mar 2025 04:09:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907037.1314418; Tue, 11 Mar 2025 04: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 1trqvo-0004JJ-L2; Tue, 11 Mar 2025 04:09:28 +0000
Received: by outflank-mailman (input) for mailman id 907037;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvm-0003IE-Eo
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:26 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 92c27126-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:09:06 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-2239c066347so87017815ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:06 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 92c27126-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666145; x=1742270945; 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=JJTMw6tkQg2gyyv9VopXfGbD8re6/gGFQNon8Npv7Ak=;
        b=nUY7vh9cTpLoU7q8EJJVt+ubn7hqFkzNgXua6XjS9FoZMbizVUtkBxFBuA5j3MbMvq
         q22A7WVnisSX7ZlxwHiXzlQJsD8VLCTJ7ef5WGmndAZ9sAy49o4MhWovrKaZK/gMXGPG
         MrGF90SoZtUcTJQnXT30Sj/XGA/jVRDEm36RjEfq3GhjDE4RPFhQROy3/5hCt7+CAO2S
         V9GeguvO3d3Gwn9BKxI5VPF1lop/M+hFn4cazRRgY8TNqneuO3Ej3OdW6V3g1x4Kkgjk
         iW5CkR3zwvGRXKNoJCoOaVpKIYiwrSJVmjUeqa3IdicTxCxuVEZNXSb8vWU6XsQCfH7y
         JH1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666145; x=1742270945;
        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=JJTMw6tkQg2gyyv9VopXfGbD8re6/gGFQNon8Npv7Ak=;
        b=EBel0w4iv4FUTs4nCtN0qNqWQ5/BNyR+GLetZI34sdaaGYVf0qQ+uzilm+WLzp7tBn
         k67v+B4RudG6CpsCvhNhiJdfYeF6lOf/yBWcveehacwoFuCd8aHlT5W+uLswZVB9hPHe
         wQqiV4w82lslJVM8BLGg4VvkIb/LK1QKIZmp0BMaaxuzE7KNLVFQw3gr0Q7B+lrPMICx
         dk33bVMmWlfKDToIcFd7sYRiyyQLk3tyfCi/6lQkIQ+vDQLyiMQkSBdWdxSxMvhfywwC
         IzXVjSl1lF3fYamj19iQB8NJ/NGSlDDHxQHbhoVxeoDE+RpCxDng8mRT9ilu3c8xcuJp
         MHjg==
X-Forwarded-Encrypted: i=1; AJvYcCU0boarhT9S6C8t35jfek7e/VbSny/jsmgecMJEDxPZfUNgkv6iRGCbreyhQzvYtFVnaj5L9tA33AQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6nyWcZ7bLrnPk0C47rHuRWapnNyKC1zKgJDf+Ph/rc2aNFKSB
	59oxGCRhZW33jDu1oH++YHinlRyHehd8WtkBaa/onoQM5iKgIQE2nyZ3RWytjCA7LYvaMVhpZXG
	En6I=
X-Gm-Gg: ASbGnctUqkM9wUALN871syyyYD9PY+W7GlrREQ+bbP00RikdJDvlUrHXdgARFDq67we
	9gvJZiCSVRrNv0SM39/3QotqKYeJFP+I2OlT9FPGrL1FoUQk0JJC1lPocDiforEpJibh0ytXyTK
	+Y2fuKNMsF8zvNVbpFCY9onNP2vaobw2WHZrFaAkDeKL3OfaH5I1GTkBVcolqQRt2CXxGi7AQLP
	waem/HVsxhG9/1lLeaSY1YW76EA8s/1n5cqXd9mwlEZwrGoRM4VW7StfoG1+dyBOcbgReMP/2Hs
	QDzuJaiZIErDc8yX6Geir80qANAnxp4fCwe6Me+OYhNXmQS5VgqasG4=
X-Google-Smtp-Source: AGHT+IEZQz4PbmDcJ14zbyjAyAYIBXfqlvYCPkEDTZUS00hzo0yd+SRkwBCunP0Y6iJa+tBGNAcErA==
X-Received: by 2002:a05:6a20:2d2c:b0:1f5:8221:d68c with SMTP id adf61e73a8af0-1f58221fee5mr8742647637.3.1741666145118;
        Mon, 10 Mar 2025 21:09:05 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 07/16] exec/exec-all: remove dependency on cpu.h
Date: Mon, 10 Mar 2025 21:08:29 -0700
Message-Id: <20250311040838.3937136-8-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/exec-all.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index dd5c40f2233..19b0eda44a7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -20,7 +20,6 @@
 #ifndef EXEC_ALL_H
 #define EXEC_ALL_H
 
-#include "cpu.h"
 #if defined(CONFIG_USER_ONLY)
 #include "exec/cpu_ldst.h"
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907038.1314422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvp-0004Ob-CN; Tue, 11 Mar 2025 04:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907038.1314422; Tue, 11 Mar 2025 04: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 1trqvp-0004NO-23; Tue, 11 Mar 2025 04:09:29 +0000
Received: by outflank-mailman (input) for mailman id 907038;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvn-0003IE-Eo
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:27 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f8cd8cb-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:09:01 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-225477548e1so45549675ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:01 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.08.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:08: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: 8f8cd8cb-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666139; x=1742270939; 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=p9XKPWEC1FDWwfXw4amuYrHiaWnSduBZ0xkgSDXw7jg=;
        b=GQfywY3MIxqH86zEipic01g+SOZZzmBk4CoeHOvaO0kNGX0NCggqYL8HVQnuCNTCaE
         29qPO3D2nhX+hualstaAJQU+6TBFuHaH6HoDgW1w5Z42LF77IqeuYCoh+qQm+NSGGSmc
         y3Uso7Cwc7xlNKd/Rlm65brmfSFoOQJpkSmoRns/+JZZzMHNZnycOanAGTk5UX1S9W3E
         3jZILVxRwGJ49K9q7yJVIFC6PpuHdaSIM5cp5jiHzND4/l9Jht3RiUTw1bq3yPdWg0hV
         IgijoZn4yWjWyOormLqZmEbn7v0NqbYjeRmnhCpagMdoL7f8bZQw2HU9nHtNhXqfKLaO
         R7WQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666139; x=1742270939;
        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=p9XKPWEC1FDWwfXw4amuYrHiaWnSduBZ0xkgSDXw7jg=;
        b=IqyXJco4bfwk4sUQAbrfBgx/ruDNJD+1UJ7doOoO+PclkiNpIg0RREp8hUaJk+6+Kr
         Lt8nF5MsCYa0h37kxOpm1Olz0UabbAuKCEfbH6ocaCfV+dkI3EBl0xgWFuAT2TbjHjAa
         Fwnm/Wiqd6IMNELArfkrm/Kf8cSVHzkxYXxFdAShw+4n2FaYqcggxMV7Z5TopIMMw8zf
         2gPic4DgFCyy2mNG03/XPtwGl/3lj61R9t0AZ5oSxGxNkj0c6skXbz9ckYsysC3cDmC2
         5ExXHyhxN4HZo09fz1FWCPv6ZUL70qiJpaFJh3bvKhuwwAWo/ER2E85NeJ9dfiJM2UCk
         hxgA==
X-Forwarded-Encrypted: i=1; AJvYcCUO3RasBoGHHanfKXRF35dQCeBlEg6U5g5fM5915yIgSUihXxViJLJUuCMbB27fkHwfWHlVoGtjYkM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx9IqMdgNENKz6saShPcThJ0S9n9brE8ySbjgOudwGA7Ct/BFJT
	Zv0j465BIysJKBnao09FZfQklYwxEwb4PVD03jxMjHSmrIo6qk+UlSCOI4wO9A4=
X-Gm-Gg: ASbGncvktes1RLSd63jjGaSdFdQsdpHEAN4BV/TJz51eXaIWI4G8uA1QbxmANG3gUX4
	zKkp7NC0sLD3olt+keZd2IKqDb/RcsAyOxhJshvsfUoNOcee7e8uhLAry/ZYLqa2R+UIxTPIb8K
	Jgd+AwZIn0xIgCKZUxVM+5IGfdUD1kzTZW0NZ4lMx6oAX4dsvFY6mPP+TiKVS67/FvHY6RxSGZt
	Ow3jAMohz8mwKh9Bl8hRR7x+qAfgPFUbzOwbamAjczEGUayHu8kr3wN7yayw/zenvlVaVaGJ8f2
	okFQLQVGFBNbmM0UE7qT7UvwrJSVb5w9qAGi8YvTW4tG
X-Google-Smtp-Source: AGHT+IFULxKXKLSRt6Qs0nLWBVqgQyDOkjRhSbU6XrRQVwLJue3Ph3bi7X9tYlurUTD8KJTtNJkwJQ==
X-Received: by 2002:a05:6a20:2d24:b0:1f5:7007:9eb7 with SMTP id adf61e73a8af0-1f57008366dmr14192716637.37.1741666139634;
        Mon, 10 Mar 2025 21:08:59 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 02/16] exec/tswap: implement {ld,st}.*_p as functions instead of macros
Date: Mon, 10 Mar 2025 21:08:24 -0700
Message-Id: <20250311040838.3937136-3-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining functions allows to use them from common code, by not depending
on TARGET_BIG_ENDIAN.
Remove previous macros from exec/cpu-all.h.
By moving them out of cpu-all.h, we'll be able to break dependency on
cpu.h for memory related functions coming in next commits.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h | 25 ---------------
 include/exec/tswap.h   | 70 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 8cd6c00cf89..e56c064d46f 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,31 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* Target-endianness CPU memory access functions. These fit into the
- * {ld,st}{type}{sign}{size}{endian}_p naming scheme described in bswap.h.
- */
-#if TARGET_BIG_ENDIAN
-#define lduw_p(p) lduw_be_p(p)
-#define ldsw_p(p) ldsw_be_p(p)
-#define ldl_p(p) ldl_be_p(p)
-#define ldq_p(p) ldq_be_p(p)
-#define stw_p(p, v) stw_be_p(p, v)
-#define stl_p(p, v) stl_be_p(p, v)
-#define stq_p(p, v) stq_be_p(p, v)
-#define ldn_p(p, sz) ldn_be_p(p, sz)
-#define stn_p(p, sz, v) stn_be_p(p, sz, v)
-#else
-#define lduw_p(p) lduw_le_p(p)
-#define ldsw_p(p) ldsw_le_p(p)
-#define ldl_p(p) ldl_le_p(p)
-#define ldq_p(p) ldq_le_p(p)
-#define stw_p(p, v) stw_le_p(p, v)
-#define stl_p(p, v) stl_le_p(p, v)
-#define stq_p(p, v) stq_le_p(p, v)
-#define ldn_p(p, sz) ldn_le_p(p, sz)
-#define stn_p(p, sz, v) stn_le_p(p, sz, v)
-#endif
-
 /* MMU memory access macros */
 
 #if !defined(CONFIG_USER_ONLY)
diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index 2683da0adb7..84060a49994 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -80,4 +80,74 @@ static inline void tswap64s(uint64_t *s)
     }
 }
 
+/* Return ld{word}_{le,be}_p following target endianness. */
+#define LOAD_IMPL(word, args...)                    \
+do {                                                \
+    if (target_words_bigendian()) {                 \
+        return glue(glue(ld, word), _be_p)(args);   \
+    } else {                                        \
+        return glue(glue(ld, word), _le_p)(args);   \
+    }                                               \
+} while (0)
+
+static inline int lduw_p(const void *ptr)
+{
+    LOAD_IMPL(uw, ptr);
+}
+
+static inline int ldsw_p(const void *ptr)
+{
+    LOAD_IMPL(sw, ptr);
+}
+
+static inline int ldl_p(const void *ptr)
+{
+    LOAD_IMPL(l, ptr);
+}
+
+static inline uint64_t ldq_p(const void *ptr)
+{
+    LOAD_IMPL(q, ptr);
+}
+
+static inline uint64_t ldn_p(const void *ptr, int sz)
+{
+    LOAD_IMPL(n, ptr, sz);
+}
+
+#undef LOAD_IMPL
+
+/* Call st{word}_{le,be}_p following target endianness. */
+#define STORE_IMPL(word, args...)           \
+do {                                        \
+    if (target_words_bigendian()) {         \
+        glue(glue(st, word), _be_p)(args);  \
+    } else {                                \
+        glue(glue(st, word), _le_p)(args);  \
+    }                                       \
+} while (0)
+
+
+static inline void stw_p(void *ptr, uint16_t v)
+{
+    STORE_IMPL(w, ptr, v);
+}
+
+static inline void stl_p(void *ptr, uint32_t v)
+{
+    STORE_IMPL(l, ptr, v);
+}
+
+static inline void stq_p(void *ptr, uint64_t v)
+{
+    STORE_IMPL(q, ptr, v);
+}
+
+static inline void stn_p(void *ptr, int sz, uint64_t v)
+{
+    STORE_IMPL(n, ptr, sz, v);
+}
+
+#undef STORE_IMPL
+
 #endif  /* TSWAP_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907040.1314427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvp-0004UG-Td; Tue, 11 Mar 2025 04:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907040.1314427; Tue, 11 Mar 2025 04: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 1trqvp-0004S7-Du; Tue, 11 Mar 2025 04:09:29 +0000
Received: by outflank-mailman (input) for mailman id 907040;
 Tue, 11 Mar 2025 04: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvo-0003IE-F6
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:28 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 917d52d2-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:09:04 +0100 (CET)
Received: by mail-pj1-x1032.google.com with SMTP id
 98e67ed59e1d1-2fec13a4067so7695710a91.2
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:04 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 917d52d2-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666143; x=1742270943; 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=igRm5DauylZU7kF6A9LJbRIXn+glPoGkFsEjcODvlvM=;
        b=B3qIhjGNC6w616SHELrFG4osL6QD6fRkSAp4uap6KhjrwVsNcpLksdtsc8Rgn3kmVQ
         UpGbnVYIeDK6lOqPmOcsfkGi7riUabdoSrqo3QeF9eIL86jkQCB7+y+HVKhispF59bwA
         mNQRLWi68qRz/Q5HYWjqEXibW7RWLDpqA+XD8LvgzqiQNUHaDAXZErhP2djwmo/QJkMZ
         21ckhIDBSiHVPbeDy5787zsMJWNBjcXGzUhLQtcI1tPsvqiif+ZJUxgPMf+8E8SNyUcl
         EFLz6IzG4TrULtIZMBO653M1Z4EyZkrevmH5cd/bcH/AekD8hMuoqnGm9AtB6gqDHzt3
         7Q3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666143; x=1742270943;
        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=igRm5DauylZU7kF6A9LJbRIXn+glPoGkFsEjcODvlvM=;
        b=Y3lAQLTZR/Ng6nCr3b+PTPkJ860K5UTniCa954Kn/RaATrqQoI5hZKgwOtl24QbNUl
         wdSfmNN8qe+WKmMndcYYftk+88732O6WKbYgzflmIvf+LzCKoQMb4iU3bwwEx7UA1Y3Z
         hRW90AYXdHLilw5h1phygKkA+LQoHxBkoLuYBayMJTkZBIuN3sewxEqPVRY0tj3qfZ+j
         0uQ8mBPgwKWHXZsnEllXq6k9RVdm/o90C8iL6W99HGV9ZwMrYc4GYiWJlU+cun7YOmZY
         T+Ed2mI31m/7lDsZmdMov9eet7xFEImyL7heT0ivGhjx+PDF3CdEzUk6Zj0kqQlg5ejr
         2Qog==
X-Forwarded-Encrypted: i=1; AJvYcCWjQgXc4K0/fKjhLTr01YICLktgfqEYOICK70846TNh0x38UkfMNzRqPCqCB4wJbHWvWMsQpsYjqvs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXnXoiRTGboTtfjqyZyopUmoaSuyFxMU2pObB5MAe1X0Hdmx+A
	iUcFluoO1xhOUxqyiL9SgsNd6zrTNYHjHsvbsrGTQ5nrEDNbubeZ45qlrKxMADs=
X-Gm-Gg: ASbGnculGOI1sTF/XOJXCBPA7pmSXlgdAc4OE8/DT0gjcdiGG01c6fnyoYxqzOnyGGn
	mjhLx99dsf23WI4kfCRWgZgcTeRYtwpXAJ3jdhsRvIUSSJX30V06g2M7W2BjNHrwTkFyFm8K6AQ
	WK+iaVtG9yJWdzc4C6SGgcrySxalkhE/0KJEMjj5j75N4b5fyvStmBljhJc+GH6TmSHz7KqoGIl
	dos7C7WZ+nTobbctkJ6uPaj1hHWUb78e7NCc77v1Pt2InQ7rwnekh0BZn38O9crjr3KRXVnEhf5
	X7Ogoo5CaKljKxtYbPOgfThIRdQP7JPa5qeQpBD1TxmJ
X-Google-Smtp-Source: AGHT+IHqGisSQCK+iGHuI44FF+Puo0WshM2hC7DuGryTfuE/I3BKO7cRhsCQCZNyA9pqBEuzvyba5w==
X-Received: by 2002:a05:6a21:3a85:b0:1f3:40a9:2c36 with SMTP id adf61e73a8af0-1f58cb20502mr3303668637.10.1741666142929;
        Mon, 10 Mar 2025 21:09:02 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 05/16] exec/memory.h: make devend_memop "target defines" agnostic
Date: Mon, 10 Mar 2025 21:08:27 -0700
Message-Id: <20250311040838.3937136-6-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Will allow to make system/memory.c common later.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index ff3a06e6ced..60c0fb6ccd4 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,25 +3138,17 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef COMPILING_PER_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN
-    /* Swap if non-host endianness or native (target) endianness */
-    return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
-#else
-    const int non_host_endianness =
-        DEVICE_LITTLE_ENDIAN ^ DEVICE_BIG_ENDIAN ^ DEVICE_HOST_ENDIAN;
-
-    /* In this case, native (target) endianness needs no swap.  */
-    return (end == non_host_endianness) ? MO_BSWAP : 0;
-#endif
+    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
+                       ? target_words_bigendian()
+                       : end == DEVICE_BIG_ENDIAN);
+    return big_endian ? MO_BE : MO_LE;
 }
-#endif /* COMPILING_PER_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907042.1314440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvr-00051L-MO; Tue, 11 Mar 2025 04:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907042.1314440; Tue, 11 Mar 2025 04:09: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 1trqvr-00050C-8U; Tue, 11 Mar 2025 04:09:31 +0000
Received: by outflank-mailman (input) for mailman id 907042;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvp-0003IE-FH
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:29 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9760f55a-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:09:14 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-22359001f1aso119439535ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:14 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 9760f55a-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666153; x=1742270953; 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=LEAQ9wvxViIwfRRF7MZBxVkXSE0tKicEinIFunB945A=;
        b=e7B1TpjeCg/ErBImGbfk6MpwK3S3fMFoxord7abVhnWVndkTmJclfG0wagCGOaUHh2
         /Ph8UA8U5Wgj5djqXeAjGH1TWka9sKJFO116B1Jw17ap/Ad/+sNGMJU8ag90yzbTvN0S
         AUN1W5JCbfiQUfeu9UFC+/Tx52sRdN9y/VX0z8KntM+1yTyHCWVFL8jQJyod2Ddi7QA9
         qW40eo7MgFm0tNW8FjUMdpHZYtIHJAFUjJalzTPCRKxhuOijpQ//dNlbgYp+rGpr8CRe
         RVYmFFzZ3gwsP3gMufTlRZdWvJUdTMzmj7Ze0qy/85BXSEq8MpGw3VFAQqbwvAFPpf0J
         BeHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666153; x=1742270953;
        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=LEAQ9wvxViIwfRRF7MZBxVkXSE0tKicEinIFunB945A=;
        b=TdSTlLSsgo+YuMflH3VgECTnkCV2AH3w2AQ1YNGH99u0huoWb8iTDxYq8BzzFTE7on
         Rckb5LrIgFudhuXh0yVef188O8YIZoSt0FJjGRaxokIvxEAw24ZDeCpLpuCUXWXjNZOA
         bP+r8KHWd0Jy8ahsXnuaKsIATkOsA4xRia7LU4WiqYzT1cVMAkA3709uPX8TtGdFVYmk
         i9xmYN4zYMBOIXi83+U7LG4iqQ1jtHKIFMQbkO+EMIWYro6LbvYZdDQHgWEzWHC3Ush8
         jJ43t8VLlOJitmkqmvgcKAO+Lr49ndHerq6kAtlf+hF8z3JyOjoqN6OXWqAZ6Zz+S4A+
         I1OA==
X-Forwarded-Encrypted: i=1; AJvYcCUnqVgMG17q9IR4twfo8tg2yoIgouwYcg4u/RlAiBEagGHEEJMjV1H+Lidq2iN8q7chGtc531UjEc8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw37/A94MjI5InC/XCc1F9kApkViUONQPGgI1+Np8t5N7pZQhVh
	/UrvSckqgaPDDlA+FWU8q0nZHFGtmp5JRZaSQqyxqUHcPz3nf9wkEynAWU1Kc7c=
X-Gm-Gg: ASbGncv86DFXemVyH+/JXB7mkuTvj400BsNJ9mybOvrBmVPgYYbpH0Ges5ArQtAsxUy
	Z2Z6kYC5Sz0+usaN3YL07eFjM1JMkZrYB8muvm1gWejOoetP4mqLLZq1BP+EwtAVZ0t0JRI8y6S
	ljEgNU79OTMGQwGsQDzE7ZVIhFi/4RTUGhXAuQS8iXMhbIxIL991Ccq+MWemimSEzOsKIhc9Ybu
	rSpmMSigOO9LAyccahAeE+aKJfdw0FzXVgGqRwGCYfKvBUc7j9VO+IjdVQ4Cr20LNQqVDJee/PI
	dJK9G8LdbqiLqnGsjMir9Hm1wKxwBjwXTQ1+ZCqwZGBR
X-Google-Smtp-Source: AGHT+IEEBIqVh4ZJ8rHFVsra/zLBqrrO/2Z7wqCz/tbRxr6Sh6SkveOkvqyI/KznC/OO1HDpbbusNw==
X-Received: by 2002:a05:6a21:4d17:b0:1f5:6e71:e55 with SMTP id adf61e73a8af0-1f56e71100cmr14244196637.6.1741666152825;
        Mon, 10 Mar 2025 21:09:12 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 14/16] include/exec/memory: extract devend_big_endian from devend_memop
Date: Mon, 10 Mar 2025 21:08:36 -0700
Message-Id: <20250311040838.3937136-15-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

we'll use it in system/memory.c.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index 60c0fb6ccd4..57661283684 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,16 +3138,22 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
-                       ? target_words_bigendian()
-                       : end == DEVICE_BIG_ENDIAN);
-    return big_endian ? MO_BE : MO_LE;
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
 }
 
 /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:09:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:09:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907043.1314447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trqvs-0005BX-JC; Tue, 11 Mar 2025 04:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907043.1314447; Tue, 11 Mar 2025 04:09: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 1trqvr-00059f-Sw; Tue, 11 Mar 2025 04:09:31 +0000
Received: by outflank-mailman (input) for mailman id 907043;
 Tue, 11 Mar 2025 04:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvq-0003IE-FJ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:30 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98aa313d-fe2e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 05:09:16 +0100 (CET)
Received: by mail-pj1-x1032.google.com with SMTP id
 98e67ed59e1d1-2fef5c978ccso7465377a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:16 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 98aa313d-fe2e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666155; x=1742270955; 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=/jGKe5PComzh06JRRSjyC3R7ujh2oauOlO5efOCu+zg=;
        b=omXTfMAStrbB9H1XbOzwI+p8VSuhEkGl4a+Yi0X8mjG1m0wKwD8dXv0HVsacXFaGZX
         XQxeyTub0FC82D0gFwvK9J80NHMg0WHIwkwUTAR2Pk+3sZqTxdNKTZgBp8992THxagBs
         wr4RA5REXMTl8WTfir3bmsL+Ojz8I1gvRiwlxhovmkvuIfn8CqkxLvnix2b768We90rH
         6CYSlTFiMgNbE/ISOX09IQrvS6no3733j6weg2pv4ScOugNDvo8JbBaMy17bl3xfjYkE
         YzBFyvwd63TUNWJO7KoEPA77lcLrf/+5ALhxhplCSNg1KkWROLB+k5W64j+ED0oPWRYG
         4COw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666155; x=1742270955;
        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=/jGKe5PComzh06JRRSjyC3R7ujh2oauOlO5efOCu+zg=;
        b=pKvR3j1k/VeiYufB6H8H0Tn5LUxniBhIA4dtPmPyRMEJNIRfkxuZCH5gYfivl4F9wO
         exRSX3t1vwjh+fsISDGvTr2t5SdyqULaDN8p6erICXTgQaciFd1wytO26HrqocfIKWx7
         cOFDH+EXFoY84w8X6o4qZsFQoRWvbtK09o+B66VEQMks4NCF+aru/fHN2eFozIkw/xVa
         Gu2k+lJIsNGqq80b7++1CGVmJZXgJtiiEEbiJy8HPxwgyJKFHb/+s57BWialmPrg5Qnb
         yadqFP7yH5RQh+/qMjKHlLhUyAsdooksjI0AJNPQ1A8Gqfx/d3bA5CbNRwpkqVxYoRCA
         VPbQ==
X-Forwarded-Encrypted: i=1; AJvYcCXCiyGEkEs4LprsgU/xkVvDSSlpDyNZEZiuidZ4eA3+mEhHorHayS/cckjcI+t9p7MrdfA5UDX9ihw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzMUp5yTlOkf9KUiTS3tKTiBnOZP6IMa+JVAize19nGZuzIeRAv
	xzg6c9VbnAklCtoKwuBrDlKoG1gR0IH50Qx0vKONy8O7wwIyQjWNoLsRWhJvQxw=
X-Gm-Gg: ASbGncu7NZANZW05s5T9WCWLD69O7A7BTbLV0ttVH/TKq2dOGTuawawh9wCcmAHBk2f
	NIlhcavikTU5t2IqhmKLW9uwQPpKMrHoqqhgw/mB+SEPgShkXehn/amHK1plXoEspYWE4KdDnGR
	o6jBFLu0O6W28z/3+F66/X1IxsIWmkEUbHXlr3xgyCh9zzlqewPKXrdlvQ7UyuoXiogHezTwk2e
	ROhO45xocud0OWIAhCz0kbVici/P9IfeJRANnLl21AR8HMkKgv2kkYYbqnPlu7wlC8Ci3EaYGpH
	BIdcAdJWqqnyxlUT1EcThMiRF9ZXKcl2GgBrVmByT7m1
X-Google-Smtp-Source: AGHT+IHyNZlPl+mr9I1Abk1OGoyMfz7g2vsqkJBEqYSKDsIrZops7PpVKyQRnmB7QqPJXfOnNuaTjA==
X-Received: by 2002:a05:6a21:6f8b:b0:1f5:8b9b:ab56 with SMTP id adf61e73a8af0-1f58b9bb025mr4529566637.18.1741666154964;
        Mon, 10 Mar 2025 21:09:14 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 16/16] system/ioport: make compilation unit common
Date: Mon, 10 Mar 2025 21:08:38 -0700
Message-Id: <20250311040838.3937136-17-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/ioport.c    | 1 -
 system/meson.build | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/system/ioport.c b/system/ioport.c
index 55c2a752396..89daae9d602 100644
--- a/system/ioport.c
+++ b/system/ioport.c
@@ -26,7 +26,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "cpu.h"
 #include "exec/ioport.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
diff --git a/system/meson.build b/system/meson.build
index 881cb2736fe..3faec7e4dfb 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,6 +1,5 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
-  'ioport.c',
 )])
 
 system_ss.add(files(
@@ -12,6 +11,7 @@ system_ss.add(files(
   'dirtylimit.c',
   'dma-helpers.c',
   'globals.c',
+  'ioport.c',
   'memory_mapping.c',
   'memory.c',
   'physmem.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 04:26:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 04:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907129.1314468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trrCb-0003p1-VJ; Tue, 11 Mar 2025 04:26:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907129.1314468; Tue, 11 Mar 2025 04:26: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 1trrCb-0003ou-Si; Tue, 11 Mar 2025 04:26:49 +0000
Received: by outflank-mailman (input) for mailman id 907129;
 Tue, 11 Mar 2025 04:26: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1trqvc-0000fJ-8N
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 04:09:16 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9804f499-fe2e-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 05:09:15 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-219f8263ae0so94074805ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 10 Mar 2025 21:09:15 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28c0339cesm7324454a12.46.2025.03.10.21.09.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 10 Mar 2025 21:09: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: 9804f499-fe2e-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741666154; x=1742270954; 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=v3CzVNwffqVfXfk4NE2Z+/4EFEG8FprDV2OFnBt+VLQ=;
        b=lHYcu5UR+CRlsq8ONACNAtRNYpVMz0JUMju0IMGdHhSXscP4gZBkaLsFIKp+kVXbxb
         SYg2j1EW0nPvNI7xE7Nq9L1pIgRwO7Qyu90IocE6V6OW44TuO/t7R2qb0vlFN3EUTkRo
         oaR8zJ5zaac9oMNV92hXfFYCZCMw3d11IXJc5AuvD/EHTJvroz9RBa9OHqIZBdw0fLL3
         8wLple5wL/ojs8CmAT/WOt5lkW3T6BCvGnkcDAhV00y/+6Z51qu1bQpETMRIBXqx7Wbl
         gjzC0ZJMtKQ71vgbCNwxSRH4SE2BN/49E5iwpvEp9OeLXKtW3rrSc4Tqj0HeKYVpOw4J
         BATw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741666154; x=1742270954;
        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=v3CzVNwffqVfXfk4NE2Z+/4EFEG8FprDV2OFnBt+VLQ=;
        b=RxezKDUSC3dgHW1N0kTRpuSc3qXKVZMNvYQL2kT4C3uVr2B6pXxaznxQ7Z2UuuVTSU
         /tZGu+Oh2MOu7JRRbXzrlE0dpD4aEtDV3eDZ7APHlWSpAkhdg/Ch2oXrb2Z7PyooGaV8
         oxGJ1FqNKFGvrfKcB6nscbIhNfsLtY3h81oir995o6RWSrpjVoNC9D9QUB2UwAZG9wq0
         gViEQOprY8LWlfZO6IF5fq1vIwOuiunDLiQV4K+0cwipNnKQL2DnD6OT8AgQ5t/a/eEP
         iAe++l8omL80WHdfNGJEWU98ZKT5C+34eh2nnN3Q2zzQMEpNCcvsdnoIFbL4pBlhaNNK
         HDjQ==
X-Forwarded-Encrypted: i=1; AJvYcCVKTNUMHbKMLEP7L6O6KjirQ7N38p6A28AeEIHDvrloMBdDZyQ3Bem+z5TyzRKNAzIKUuJCx6dUsv0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6ca1YI+WWv30p8i6hljRPwraom0SsG6+pQVvywGP39x49Dp1j
	m3SjvfyUxkcx50axZVMOXlmvhBhcY5S+OdXohpoSxNDP7K2Yk+J4JNlGVB8NILk=
X-Gm-Gg: ASbGnctj7I688k5/FKVHZIBDA4V1tEhDbtbyQn5aENtvk/vB8wI1GQpSBRHUhQHrGH3
	STJwZWjB1csGkvHhlyBR0YKXp0sRBrEvLH/wV3Y/Br5HFWfXjWkWkHFe+hYaXTAFWnXbbbWJWoZ
	0/L/ChkWSrxMxHSOnh8/eQeHbsWwvDTChY/R5WfWu8Km/SYrQofIndqrpXCnvoUAX6ebIxVIcWC
	YSbluyWuaouExj30WnPacbAR+6cdIuuhnoGw8c7kQc/HP+Y1VTPJZ/AVa15XC/M799Oji5FO33x
	tg1/YyyKoal0EHjZ23ceK1f4pigzJ5C4/+k4JZE44MLS
X-Google-Smtp-Source: AGHT+IFvXFjaslvNGXJjltHn8NjSjDrKRDjnKt7uWKtRausP/KT3hgu5XPa6ctrl8hlKzv3rih4ocw==
X-Received: by 2002:a05:6a20:c6c1:b0:1f5:59e5:8ad2 with SMTP id adf61e73a8af0-1f58cb40fa8mr3753307637.24.1741666153903;
        Mon, 10 Mar 2025 21:09:13 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v2 15/16] system/memory: make compilation unit common
Date: Mon, 10 Mar 2025 21:08:37 -0700
Message-Id: <20250311040838.3937136-16-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/memory.c    | 17 +++++------------
 system/meson.build |  2 +-
 2 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/system/memory.c b/system/memory.c
index 4c829793a0a..eddd21a6cdb 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -353,15 +353,6 @@ static void flatview_simplify(FlatView *view)
     }
 }
 
-static bool memory_region_big_endian(MemoryRegion *mr)
-{
-#if TARGET_BIG_ENDIAN
-    return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
-#else
-    return mr->ops->endianness == DEVICE_BIG_ENDIAN;
-#endif
-}
-
 static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op)
 {
     if ((op & MO_BSWAP) != devend_memop(mr->ops->endianness)) {
@@ -563,7 +554,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
     /* FIXME: support unaligned access? */
     access_size = MAX(MIN(size, access_size_max), access_size_min);
     access_mask = MAKE_64BIT_MASK(0, access_size * 8);
-    if (memory_region_big_endian(mr)) {
+    if (devend_big_endian(mr->ops->endianness)) {
         for (i = 0; i < size; i += access_size) {
             r |= access_fn(mr, addr + i, value, access_size,
                         (size - access_size - i) * 8, access_mask, attrs);
@@ -2584,7 +2575,8 @@ void memory_region_add_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
@@ -2619,7 +2611,8 @@ void memory_region_del_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
diff --git a/system/meson.build b/system/meson.build
index 9d0b0122e54..881cb2736fe 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,7 +1,6 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
-  'memory.c',
 )])
 
 system_ss.add(files(
@@ -14,6 +13,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'memory.c',
   'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:10:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:10:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907212.1314479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trtkL-0001Yj-3E; Tue, 11 Mar 2025 07:09:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907212.1314479; Tue, 11 Mar 2025 07: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 1trtkL-0001Yc-06; Tue, 11 Mar 2025 07:09:49 +0000
Received: by outflank-mailman (input) for mailman id 907212;
 Tue, 11 Mar 2025 07:09: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=lFlb=V6=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1trtkI-0001YW-10
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:09:47 +0000
Received: from mail-10630.protonmail.ch (mail-10630.protonmail.ch
 [79.135.106.30]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce34f59f-fe47-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 08:09:42 +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: ce34f59f-fe47-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741676981; x=1741936181;
	bh=mV9a75nmhMh2/Fuuwr6Zg4EoZlyh62lt04p+OA5Udzo=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=edpTw2uRGGRIojpGF/Md1uA78Uy2pTpGbpTw0CPTiLzhIlpLJesCz2nQNvgvFKW0U
	 JnhhT85i3N6k9X8FULOGpLp+2tvSAPCCYc30sKibLgBoePlvCmGqA3CUrSphr6tR4v
	 K2HX1TOUirvkETWpOP1gNNh+IL+1dx/c3HTVCcV/koQuxd2WaVqJ50FF38E+VzB5X7
	 HxpnNV/FMjtOePQUlj4GTTOXhI+CztmfgEdQw2GOoI1iwvuikh30YV1dQ9WGu0rG5e
	 XL1WhOdH3reHleaBat4afD96FdWcl4Jc9+du8fE8BRp3WXTzKzeNO7PrpfAjSl6TYV
	 5l0TIkgE4/3Cw==
Date: Tue, 11 Mar 2025 07:09:34 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v4] xen/console: make console buffer size configurable
Message-ID: <20250311070912.730334-1-dmkhn@proton.me>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 3b58a56e8d9a01993ce4841f41154431fcb97d3f
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Add new CONRING_SHIFT Kconfig parameter to specify the boot console buffer =
size
as a power of 2.

The supported range is [14..27] -> [16KiB..128MiB].

Set default to 15 (32 KiB).

Resolves: https://gitlab.com/xen-project/xen/-/issues/185
Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes v3->v4:
- s/Link:/Resolves:/ in commit message to auto-close the gitlab ticket
---
 docs/misc/xen-command-line.pandoc |  5 +++--
 xen/drivers/char/Kconfig          | 24 ++++++++++++++++++++++++
 xen/drivers/char/console.c        |  6 +++---
 3 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line=
.pandoc
index 89db6e83be..a471a9f7ce 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -425,10 +425,11 @@ The following are examples of correct specifications:
 ### conring_size
 > `=3D <size>`
=20
-> Default: `conring_size=3D16k`
-
 Specify the size of the console ring buffer.
=20
+The default console ring buffer size is selected at build time via
+CONFIG_CONRING_SHIFT setting.
+
 ### console
 > `=3D List of [ vga | com1[H,L] | com2[H,L] | pv | dbgp | ehci | xhci | n=
one ]`
=20
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index e6e12bb413..e238d4eccf 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -96,6 +96,30 @@ config SERIAL_TX_BUFSIZE
=20
 =09  Default value is 32768 (32KiB).
=20
+config CONRING_SHIFT
+=09int "Console ring buffer size (power of 2)"
+=09range 14 27
+=09default 15
+=09help
+=09  Select the boot console ring buffer size as a power of 2.
+=09  Run-time console ring buffer size is the same as the boot console rin=
g
+=09  buffer size, unless overridden via 'conring_size=3D' boot parameter.
+
+=09    27 =3D> 128 MiB
+=09    26 =3D>  64 MiB
+=09    25 =3D>  32 MiB
+=09    24 =3D>  16 MiB
+=09    23 =3D>   8 MiB
+=09    22 =3D>   4 MiB
+=09    21 =3D>   2 MiB
+=09    20 =3D>   1 MiB
+=09    19 =3D> 512 KiB
+=09    18 =3D> 256 KiB
+=09    17 =3D> 128 KiB
+=09    16 =3D>  64 KiB
+=09    15 =3D>  32 KiB (default)
+=09    14 =3D>  16 KiB
+
 config XHCI
 =09bool "XHCI DbC UART driver"
 =09depends on X86
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index ba428199d2..78794b74e9 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -101,12 +101,12 @@ static int cf_check parse_console_timestamps(const ch=
ar *s);
 custom_runtime_param("console_timestamps", parse_console_timestamps,
                      con_timestamp_mode_upd);
=20
-/* conring_size: allows a large console ring than default (16kB). */
+/* conring_size: override build-time CONFIG_CONRING_SHIFT setting. */
 static uint32_t __initdata opt_conring_size;
 size_param("conring_size", opt_conring_size);
=20
-#define _CONRING_SIZE 16384
-#define CONRING_IDX_MASK(i) ((i)&(conring_size-1))
+#define _CONRING_SIZE       (1U << CONFIG_CONRING_SHIFT)
+#define CONRING_IDX_MASK(i) ((i) & (conring_size - 1))
 static char __initdata _conring[_CONRING_SIZE];
 static char *__read_mostly conring =3D _conring;
 static uint32_t __read_mostly conring_size =3D _CONRING_SIZE;
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:26:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:26:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907234.1314490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru0O-0005Q3-Ef; Tue, 11 Mar 2025 07:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907234.1314490; Tue, 11 Mar 2025 07:26: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 1tru0O-0005Pw-9d; Tue, 11 Mar 2025 07:26:24 +0000
Received: by outflank-mailman (input) for mailman id 907234;
 Tue, 11 Mar 2025 07:26: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=+cUl=V6=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tru0M-0005Pq-FG
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:26:22 +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 20d16e62-fe4a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 08:26:20 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso15548545e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:26:20 -0700 (PDT)
Received: from [192.168.69.199] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43bdd8b0548sm176538855e9.6.2025.03.11.00.26.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:26: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: 20d16e62-fe4a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741677980; x=1742282780; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=WBH8un9SN3jvdF5o16jBTUcJYgDHmjsu0gBD/ioH79g=;
        b=yWcA7RR4G0r8VzdI6KQPRb9EJlfhycN9Qoy7FMl8AWMfcx8wJThs/bgMo0TYI8uycN
         4kVmVFksyBg2gpJo/KAfgF04E/dqONFFKD0cdynhqcXjDP/z+XTTSHYPqDQlb8jMK2Ow
         V3RLCWd83VIMJZgbthZJjyxzkFTFDq5hApbrfZ8GU3wz9TOeIjK6aC1OlsmQIMOCt5Rx
         WkMnYDi+arq2K0dZhmfZ/5SHGIZZ/hqd/CbXGOOAuoSa2rtyS7ggUzhvzf/ala4i1a7P
         YV8da/0aEKoGNnZI2hlzwJYDfxdoSWMiJW55LIvqrPf71flVSNJHJh94sGi7DewyBgLm
         dq6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741677980; x=1742282780;
        h=content-transfer-encoding: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=WBH8un9SN3jvdF5o16jBTUcJYgDHmjsu0gBD/ioH79g=;
        b=rCZ3r36yVgSJGqhph6FjFDsu3rMJ/3GI5eDf+qrWFeSzxxtrA62xIvcp11qK5+jFCa
         Gv9PpY9pwWBrZoOIhQVj8TYI5Q5334kN/19nSPEp9GHf83Nzf0yuKiTCJc10CXNSLP8F
         dQbrZe7ib2q8A2Sx29QiRDy//dgVhiLOgkM5laWU8ahE3hgXK5zveNq15k6RHRIqsWuG
         3VMbRV7BSqV+rC+LRf176ZpJpALaQmuOMPLzWpj7fi8tMQYouFWO5q0oFsvFhQ4TuYFs
         R0KA6lwwuIex9WthNeEt480CtY+oEpPYAh4IIUAZ9tdAkHQgCGd95hfW5wgvZ+h9grb1
         3NrQ==
X-Forwarded-Encrypted: i=1; AJvYcCVDxp7qGaNA/D5dLyAC/bTc//5UEDgCTpGWMfJCFYKzEmHo4EvL870GB+qKxPS3y9XQr2MKS9xpclE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzGK4oErbLw1XVVuFUikOTdJdwfaFspDTdDKnzS5gf+jn9LwOxh
	jbGHumSXev1vaeX2OFcs/h0+rfLGvghWTxtrCH6tk9iEctYBh3n1ihM4aoAt2gA=
X-Gm-Gg: ASbGncsTPfZh+DpSKJkALaERNRsTuig72lxsElrDRFpfm+SjzGmxqQwDxwHYOzZqosB
	ZdVakSlMJj+vvJFLL6Y4AhiJmw8+MBUcucp5P4SVcXrSBC/i09jV4ipJAXUfrntVeFWNn1/ZbTQ
	WX4oASRX3/745Sc6nA9FtzEl6lwJ2eFvD+kERt5uoO1P4cdAbBjdAUflyhT+I7If6pubHh0Amk9
	Nr9iJr4RAWcSphbQr1tC/VSxWcY3reoRp0aOGrkWlTGJPsqGaWKZ5v49pEP/ZB2t3V/4T1qT+23
	IgQcGVONyLLMffHW5awo10XfLaaX7XoZ89SUKso2xGLCSeTmsLTwGYLihIkfKEsZaKmq3J/MfJC
	h2mCUVjY2S9UU
X-Google-Smtp-Source: AGHT+IGFEKvevhRYU5jwIA+OF5lD7GqYNAbzux+l1q3TxUHSloakvK6wXKgncMmFM2y1SaO/Ty9ZZA==
X-Received: by 2002:a05:6000:440e:b0:391:39bd:a381 with SMTP id ffacd0b85a97d-3926487d48bmr2239834f8f.30.1741677979924;
        Tue, 11 Mar 2025 00:26:19 -0700 (PDT)
Message-ID: <f0c7b0ff-a43a-4203-aba1-2e06a462771e@linaro.org>
Date: Tue, 11 Mar 2025 08:26:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/16] exec/exec-all: remove dependency on cpu.h
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-8-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250311040838.3937136-8-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 11/3/25 05:08, Pierrick Bouvier wrote:
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

Missing the "why" justification we couldn't do that before.

> ---
>   include/exec/exec-all.h | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
> index dd5c40f2233..19b0eda44a7 100644
> --- a/include/exec/exec-all.h
> +++ b/include/exec/exec-all.h
> @@ -20,7 +20,6 @@
>   #ifndef EXEC_ALL_H
>   #define EXEC_ALL_H
>   
> -#include "cpu.h"
>   #if defined(CONFIG_USER_ONLY)
>   #include "exec/cpu_ldst.h"
>   #endif



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:26:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907238.1314499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru0j-0005o6-L6; Tue, 11 Mar 2025 07:26:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907238.1314499; Tue, 11 Mar 2025 07: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 1tru0j-0005nz-Hd; Tue, 11 Mar 2025 07:26:45 +0000
Received: by outflank-mailman (input) for mailman id 907238;
 Tue, 11 Mar 2025 07:26: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=+cUl=V6=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tru0i-0005Pq-EU
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:26:44 +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 2e0c5bf3-fe4a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 08:26:42 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso23609235e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:26:42 -0700 (PDT)
Received: from [192.168.69.199] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d025869e7sm19373395e9.7.2025.03.11.00.26.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:26: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: 2e0c5bf3-fe4a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741678002; x=1742282802; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=ixQm0MWjxG3W9XU5tOCfvUKz5fda/FdNvvBHZqMnUSI=;
        b=W4EYwbmns8SyhMw1kzFqHVzgpWdzN61iOmy67w3nucv0N611aQxCAMHOqmz+/HVxup
         pRVMRWaioZmVM7Msw3GqZhm21SJHNDgmNmYqdtcugNwrAvIByIuRwSiGcwWNRPE1KvIU
         Jksz9C92aXT5O8GjtAJV8PS6+Vs+mezbZWUrDDpsBvdqyNx3aDf1clq1n6TRn5C1Pa+E
         BW4T5+j6XnJi4BrQF2cgneX/iwHh9vJ/3sqbVmCAQ/PiFZXHYNq9tdVMf3Z2lA1nC90c
         IGcd9zLyvXXGGKfG+eun6mqoteMBYyY9oCh4TjrYRbnxA4a8eUDvT+MSo+PcVfykD1yT
         +OHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741678002; x=1742282802;
        h=content-transfer-encoding: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=ixQm0MWjxG3W9XU5tOCfvUKz5fda/FdNvvBHZqMnUSI=;
        b=G/URVADnnus70PEMUm9q72OE8PylcMMKhURztuXqj+nAoWF9AKBflL7YSwu7lk4wGP
         xStOu/+jwLAQWlyfiLDf9fVhKuPSc/lfD1Q9hfYMxH93838myyqk6UJ5a5ZdmJ5hu2Ng
         o59rAnS52VmT0qXC0QdjnVr/1HWENIpS7yzNfW9Uklm178OYGoJhe7+6Aktn1OPlmu3i
         l56Mwpf4xIxMiWUonup4SADvbRhQC1EkHsBGPl5w9elj0ZKXTClNKIYNwsvB3RxFcX2c
         IksN27O9wzL2nnb8ObkQ1G3xgpoJAMiWwd0Tq51ua89GV0+JScQ/Oy6A/9Xr84nV7Wjb
         VfIg==
X-Forwarded-Encrypted: i=1; AJvYcCXy57wgGG4CagVvLHnRVao1lW9YYzOfBOe1ib8cPOK6wP6kro0dyUD63/KzCJBtqiehqJJ+AaKjOJY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxHeg8BLawKwDbmsS0dECoqoJVb6PeD62fCxMt7lB22QLpcZXUS
	ePPheGvKWeq7yPs72Ll1G/+Gb+VfsdOdskkzkbPoxN0VJXHeYqBOZets5y/kXOI=
X-Gm-Gg: ASbGnct8k3DGOZy3um3N2PfaadFFlMEVngu2sGz5RyvViPJCaFaCogEWtNtVMEE+MUE
	DVvgu7TSWT9wSIrEC81XHSX9EozyTcrmCuBNLmI3z5uCGopGWLa4K3hHOaCNgDjLFXshvjJ4PLs
	42z646cjmLBlT5povqDDVYugVvxqzok3ORyeqyh09ZCfwmk4+Zmht44AE5Rd7CDABLngROUND9w
	MTZxxghIn99zPHISmb52D4tzqoBIw1lFMq6lydNIJFRGIzzCqqEp5AX5yNXBQiNKPkAQMJ+Qysi
	EdpR8j4MJ6SBm6PdJFdWIpuUJJBstKaTKKU/IXsF767LfLuNVniIclWZffSii3zUpZG07pP6K3I
	pX8mn4V+VAfFm
X-Google-Smtp-Source: AGHT+IHkbKwZ85r50y8SupgnjoEiG0z2vsuYpmQ1kXDuNtR/J+NTZlfd2MeQZu55SLcc8fFLvUwdtQ==
X-Received: by 2002:a05:600c:4f16:b0:43c:fd72:f039 with SMTP id 5b1f17b1804b1-43cfd72f2ccmr76596325e9.11.1741678002154;
        Tue, 11 Mar 2025 00:26:42 -0700 (PDT)
Message-ID: <9f92a783-3826-4a06-9944-0e0ec5faccc9@linaro.org>
Date: Tue, 11 Mar 2025 08:26:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 08/16] exec/memory-internal: remove dependency on cpu.h
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-9-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250311040838.3937136-9-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 11/3/25 05:08, Pierrick Bouvier wrote:
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

Missing the "why" justification we couldn't do that before.

> ---
>   include/exec/memory-internal.h | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
> index 100c1237ac2..b729f3b25ad 100644
> --- a/include/exec/memory-internal.h
> +++ b/include/exec/memory-internal.h
> @@ -20,8 +20,6 @@
>   #ifndef MEMORY_INTERNAL_H
>   #define MEMORY_INTERNAL_H
>   
> -#include "cpu.h"
> -
>   #ifndef CONFIG_USER_ONLY
>   static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
>   {



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:28:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907253.1314509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru2Y-0006UR-V2; Tue, 11 Mar 2025 07:28:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907253.1314509; Tue, 11 Mar 2025 07:28: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 1tru2Y-0006UK-SY; Tue, 11 Mar 2025 07:28:38 +0000
Received: by outflank-mailman (input) for mailman id 907253;
 Tue, 11 Mar 2025 07:28: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=lFlb=V6=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tru2X-0006UE-QS
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:28:37 +0000
Received: from mail-40131.protonmail.ch (mail-40131.protonmail.ch
 [185.70.40.131]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f84c9dc-fe4a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 08:28:32 +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: 6f84c9dc-fe4a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741678111; x=1741937311;
	bh=JmhzxO9rdDUsXnDJqFL064KibvhgPZWJo7yJkXf/GzI=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=bUzMP04Y9D0p9kY8NfVr1uksrMaeCNScS1hGa7ikkDaLClYBFXgaBiSZL4bSKeG6h
	 iJy71TsrgF5ibf4gg3FqeBom5ZKztx8C19zsoX2NYCtqnIcJuFwePXiHCgiwKOBxW3
	 m5RBC5KX4XaSfaEQlbWSk1y3zfdii+Z6vunboLvROoUurGd6y459ECpAfiAqblqgC/
	 VD9y37LmsqO/ZmwYNaZ4Z3HWWGlHDChovUv6XQ2Pp2EiT0tsz7pKhNWTS/FprblfV9
	 Su4zByNkWBRKPYu/o8ktKI4CBE3uqbXj2JOTVZiy1O6JC9Dgx0bPFRtGIAlcWrBdU9
	 Bs6idXsJ5hOUg==
Date: Tue, 11 Mar 2025 07:28:26 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH] docs: add explanation for 'Resolved:'
Message-ID: <20250311072805.778362-1-dmkhn@proton.me>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 993e177be34fd94cf41db44dd87822b4dd895f63
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

'Resolves:' tag may be used if the patch addresses one of the tickets
logged via Gitlab to auto-close such ticket when the patch got merged.

Add documentation for the tag.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 docs/process/sending-patches.pandoc | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-pat=
ches.pandoc
index 2e74c3b57e..9fc3b407ff 100644
--- a/docs/process/sending-patches.pandoc
+++ b/docs/process/sending-patches.pandoc
@@ -106,6 +106,18 @@ If git was configured as explained earlier, this can b=
e retrieved using
 ``git log --pretty=3Dfixes`` otherwise ``git log --abbrev=3D12 --oneline``=
 will
 give the proper tag and commit-id.
=20
+### Resolves:
+
+If your patch addresses an issue logged in a GitLab ticket, use the `Resol=
ves:`
+tag followed by the issue link to automatically close the ticket when the =
patch
+is merged.
+
+    Resolves: <URL>
+
+E.g.:
+
+    Resolves: https://gitlab.com/xen-project/xen/-/issues/185
+
 ### Backport:
=20
 A backport tag is an optional tag in the commit message to request a
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:29:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:29:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907261.1314518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru3a-0006zL-7D; Tue, 11 Mar 2025 07:29:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907261.1314518; Tue, 11 Mar 2025 07:29: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 1tru3a-0006zE-4h; Tue, 11 Mar 2025 07:29:42 +0000
Received: by outflank-mailman (input) for mailman id 907261;
 Tue, 11 Mar 2025 07:29: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=+cUl=V6=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tru3Y-0006z6-It
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:29:40 +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 9793fdce-fe4a-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 08:29:39 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso13614035e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:29:39 -0700 (PDT)
Received: from [192.168.69.199] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43ceed32e64sm89167575e9.5.2025.03.11.00.29.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:29: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: 9793fdce-fe4a-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741678179; x=1742282979; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=nhHodvfz83K8okGx6PVYNh8AahNsL56U7T1i1KJXP8w=;
        b=ADmHkj4mKlFG+8oTE95qyUFP0KaACmh5wdQ3dK/GJ7OdjjcQFbuic13Qahp2z7i1Sq
         XjQ+1adUGirZSmSfTtbRniiACTVBH7VRIcMdudgPcGfLPETXi8gLHEoN4QEVFfQeXrba
         wp15/i1XcjmL3ew08dJievPoqehFS8TtWMZQ26B9SEZbx6IFEu+E9ixOUXaSBphyBzhi
         qGHv4hjDPhptMvdSS6MYkZvq+MD1gyZMciwhigbx2fNY1uuHAh4cXNVSlWGRwyvfTqKm
         CzeVoWlMiFhzgTLpKfTLONHx2pXIJmwoXBk44BiidVemZT00lRpczN6iBN/DiDlxoNCj
         KaQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741678179; x=1742282979;
        h=content-transfer-encoding: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=nhHodvfz83K8okGx6PVYNh8AahNsL56U7T1i1KJXP8w=;
        b=oOcP+pwrl3AWmttjSs5waJZjJNO0B/AySxij4fXW+xjQRn/aHtYH6LBOwaZdoQNTo3
         JBnmTyNyIPKvtybGIMTNOTplZcetQAutev1pzBtq8p0cbfLgorKnrxNlBm57FPJxyb5A
         6rxO+tDQRDkjrCl3xhiT3+ZmLbkU83MantklCB+3wSU2A5wpIHJA60OnqD39D0/g5K/x
         fehj9lRzNh4W2QldZQST3EhDludirXvCE7pHER4FtdEQSGxoBcIlcE9zLyROI8VePG5B
         KvdD3BsMlkUStVdpZ3xBRQTNq6w1rdF464kyh/BqBpgIycpcMJQYLmnHJtS4M+ZTOI4p
         WfOA==
X-Forwarded-Encrypted: i=1; AJvYcCUhZW4Rz6zwZa21lyUCOvlSJWWlhZP/qQnMIetmYDbwGjqjNSzfKC6b9Efmb1wXgnQNjxU20R6es7k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzK7LHmYkwlTp/oVySaFVZrKsCcKjct5vMS+4VTgk1yLJbFIoch
	9R1nVPDdfSI3QuTq2vgJT5UrZWpGPzcc1QNSFUFyrhN5OmcweHX2U6zYRMmg6yQ=
X-Gm-Gg: ASbGncucLpQb8980zfI8NqQ7OJotO/HxpbqF500ngWYjiVc+8/sSHBwuVRI4D5kBcqy
	ChlIwn3u8jl7ud5JO3dyPAFPIpL7tQR3N+INgdQxEGfkUbxFI/pSP3l1peQ7YqsXS1lR5glBc8m
	xEgFkuo0qO8lTBS1p3TE1zQmCt1QTNaqvBqnp2q5IMANp0fg+2sIdUBoxohtDFJDO8448dRZQfr
	0ZeYHslDU0CFE+HCti1yo7OZWUkmLDI9x7Orr7vyK094TnELdkiC1blvZBXYFbMGWO/qFEqSz9q
	Bldq9AdcJWJp44bEXjzZmnGZ/D7udJq3h4+SWiTsw8lQbMVwE2oSgD+LN69rdyExk46lfeoDHWl
	4HNDxRebrLUvW
X-Google-Smtp-Source: AGHT+IGCQ0WPIofxeMF6qiP5Neb98oKIcffSaO1IosDf7UGuxLQbtl0ssdei0czfpoqguWEGtKCbYA==
X-Received: by 2002:a05:600c:3545:b0:434:fa55:eb56 with SMTP id 5b1f17b1804b1-43c5a600909mr128191755e9.7.1741678179189;
        Tue, 11 Mar 2025 00:29:39 -0700 (PDT)
Message-ID: <2aa408e2-a412-4eb6-b589-1bc2f5ac145a@linaro.org>
Date: Tue, 11 Mar 2025 08:29:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 11/16] exec/ram_addr: call xen_hvm_modified_memory only
 if xen is enabled
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-12-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250311040838.3937136-12-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 11/3/25 05:08, Pierrick Bouvier wrote:
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

I didn't follow this direction because Richard had a preference
on removing unnecessary inlined functions:
https://lore.kernel.org/qemu-devel/9151205a-13d3-401e-b403-f9195cdb1a45@linaro.org/

> ---
>   include/exec/ram_addr.h | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
> index 7c011fadd11..098fccb5835 100644
> --- a/include/exec/ram_addr.h
> +++ b/include/exec/ram_addr.h
> @@ -342,7 +342,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
>           }
>       }
>   
> -    xen_hvm_modified_memory(start, length);
> +    if (xen_enabled()) {
> +        xen_hvm_modified_memory(start, length);
> +    }
>   }



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:31:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907276.1314528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru5S-00009M-LJ; Tue, 11 Mar 2025 07:31:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907276.1314528; Tue, 11 Mar 2025 07:31: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 1tru5S-00009F-Id; Tue, 11 Mar 2025 07:31:38 +0000
Received: by outflank-mailman (input) for mailman id 907276;
 Tue, 11 Mar 2025 07:31: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=F6th=V6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tru5Q-000099-U4
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:31:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc42515c-fe4a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 08:31:35 +0100 (CET)
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 6B396210F2;
 Tue, 11 Mar 2025 07:31:34 +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 18BC8134A0;
 Tue, 11 Mar 2025 07:31:34 +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 4LCBBNbmz2dqTAAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 11 Mar 2025 07: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: dc42515c-fe4a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741678294; h=from:from:reply-to: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=jCcxak9Yu1MBKKEHRMvSIqoPlbYIX4MkZhAzfr068iw=;
	b=tvAkfVMoeufJGJZt8gM0YqgnRKqjN0pJWt62hHcVYJZybSSvHLWCRsNSyX22rp7qjxH/VB
	j+3A91wXiHxNma9a+nccBri8xeJAaEsWWS2BRbX7yXE2NwZVn7EiYuHGMqaIoz4E/eB9OP
	8DdDoX2xjxqd8eKHOCgRtRbste2G4c0=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=tvAkfVMo
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741678294; h=from:from:reply-to: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=jCcxak9Yu1MBKKEHRMvSIqoPlbYIX4MkZhAzfr068iw=;
	b=tvAkfVMoeufJGJZt8gM0YqgnRKqjN0pJWt62hHcVYJZybSSvHLWCRsNSyX22rp7qjxH/VB
	j+3A91wXiHxNma9a+nccBri8xeJAaEsWWS2BRbX7yXE2NwZVn7EiYuHGMqaIoz4E/eB9OP
	8DdDoX2xjxqd8eKHOCgRtRbste2G4c0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] docs: specify numerical values of Xenstore commands
Date: Tue, 11 Mar 2025 08:31:31 +0100
Message-ID: <20250311073131.13539-1-jgross@suse.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-Rspamd-Queue-Id: 6B396210F2
X-Spam-Level: 
X-Spamd-Result: default: False [-3.51 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	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];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[9];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.51
X-Spam-Flag: NO

In docs/misc/xenstore.txt all Xenstore commands are specified, but
the specifications lack the numerical values of the commands.

Add a table with all commands, their values, and a potential remark
(e.g. whether the command is optional).

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- replace "Ĺ" with plain "r" (Jan Beulich)
- replace hard tabs with blanks (Jan Beulich)
- allow GET_FEATURES and GET_QUOTA support without SET_* (Jan Beulich)
---
 docs/misc/xenstore.txt | 57 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 7e1f031520..8b4b790e11 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -86,6 +86,63 @@ parts of xenstore inaccessible to some clients.  In any case passing
 bulk data through xenstore is not recommended as the performance
 properties are poor.
 
+---------- Defined Xenstore message types ----------
+
+Below is a table with all defined Xenstore message types (type name
+and its associated numerical value).
+
+Some types are optional to be supported by a specific Xenstore
+implementation.  If an optional type is not supported by a Xenstore
+implementation, Xen tools will continue to work, maybe with slightly
+reduced functionality.  A mandatory type not being supported will
+result in severely reduced functionality, like inability to create
+domains.  In case a type is optional, this is stated in the table with
+the lost functionality in case Xenstore doesn't support that type.
+
+XS_CONTROL               0    optional
+    If not supported, xenstore-control command will not work.
+    XS_DEBUG is a deprecated alias of XS_CONTROL.
+XS_DIRECTORY             1
+XS_READ                  2
+XS_GET_PERMS             3
+XS_WATCH                 4
+XS_UNWATCH               5
+XS_TRANSACTION_START     6
+XS_TRANSACTION_END       7
+XS_INTRODUCE             8
+XS_RELEASE               9
+XS_GET_DOMAIN_PATH      10
+XS_WRITE                11
+XS_MKDIR                12
+XS_RM                   13
+XS_SET_PERMS            14
+XS_WATCH_EVENT          15
+    Not valid in client sent messages.
+    Only valid in Xenstore replies.
+XS_ERROR                16
+    Not valid in client sent messages.
+    Only valid in Xenstore replies.
+XS_IS_DOMAIN_INTRODUCED 17
+XS_RESUME               18
+XS_SET_TARGET           19
+XS_RESTRICT             20    no longer supported
+    XS_RESTRICT has been removed, the type value 20 is invalid.
+XS_RESET_WATCHES        21
+XS_DIRECTORY_PART       22    optional
+    If not supported, the output of xenstore-ls might be incomplete
+    with more than ca. 1000 domains active.
+XS_GET_FEATURE          23    optional
+XS_SET_FEATURE          24    optional
+    XS_SET_FEATURE requires XS_GET_FEATURE to be supported.
+    If unsupported, setting availability of Xenstore features per
+    domain is not possible.
+XS_GET_QUOTA            25    optional
+XS_SET_QUOTA            26    optional
+    XS_SET_QUOTA requires XS_GET_QUOTA to be supported.
+    If unsupported, setting of Xenstore quota per domain is not
+    possible.
+XS_INVALID           65535
+    Guaranteed invalid type (never supported).
 
 ---------- Xenstore protocol details - introduction ----------
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:32:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907285.1314539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru6c-0000hO-Ud; Tue, 11 Mar 2025 07:32:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907285.1314539; Tue, 11 Mar 2025 07:32: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 1tru6c-0000hH-Rl; Tue, 11 Mar 2025 07:32:50 +0000
Received: by outflank-mailman (input) for mailman id 907285;
 Tue, 11 Mar 2025 07:32: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=lFlb=V6=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tru6a-0000h9-9z
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:32:48 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04ebcb45-fe4b-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 08:32:43 +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: 04ebcb45-fe4b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=gl7qq2yz5raglhuenk5bvtlaqi.protonmail; t=1741678362; x=1741937562;
	bh=vWTTExRyC3/C2U0W69/wzxbUGdMENXfn+QceqYVX4Go=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=AJGyLRIozwTizWmr3UIXHbSB72iGCUjd7ujVCcdRUcaBYTfOQa5GUK2/NeAe5ZayU
	 tsmrhXObynHlLScsqbQ7kQdBrDWxoW360BdlvQ3o2qxF0axT/NDQ17tOggufsEhPuG
	 bpsRtbS4ntsPiv29XV2aHbqLpoBXdbye+AO+5fjz4qbHhziJhus+UYZNQEhKqdj2hu
	 Pk1zD+WIU9QuRB5P9IOU8EaRKqAC9uVFRvDerttwbQxOJvV4xWqFmMYs0Xufd2sMaC
	 4aOhNm+2q8bSc8/PprFPoiDEHePEVpnjFA69kr7u/XUeM75XHKz9t2Ov0Q1fCfr0ZL
	 B8/m3dw7pCysg==
Date: Tue, 11 Mar 2025 07:32:37 +0000
To: xen-devel@lists.xenproject.org
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH] docs: add explanation for 'Resolved:'
Message-ID: <wI4Ade_t6I7-NM0K8sp6oM0TwvQvHFGheTS9ZP_dcsDFV3H5h9H50XUPYvFBAoxpkv_K03MNtct9GdRD_F-_JGNjSLzdV11R4BPMkf570kU=@proton.me>
In-Reply-To: <20250311072805.778362-1-dmkhn@proton.me>
References: <20250311072805.778362-1-dmkhn@proton.me>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 457f128c424bd73b6b1b38b425761f43aecd0458
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tuesday, March 11th, 2025 at 12:28 AM, dmkhn@proton.me <dmkhn@proton.me>=
 wrote:

>=20
>=20
> From: Denis Mukhin dmukhin@ford.com
>=20
>=20
> 'Resolves:' tag may be used if the patch addresses one of the tickets
> logged via Gitlab to auto-close such ticket when the patch got merged.
>=20
> Add documentation for the tag.
>=20
> Signed-off-by: Denis Mukhin dmukhin@ford.com

Whoops, I made a typo in the subject line of the commit message:
  s/Resolved/Resolves/

If all looks good, can I ask to fix the typo on commit?

Thanks,
Denis

>=20
> ---
> docs/process/sending-patches.pandoc | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>=20
> diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-p=
atches.pandoc
> index 2e74c3b57e..9fc3b407ff 100644
> --- a/docs/process/sending-patches.pandoc
> +++ b/docs/process/sending-patches.pandoc
> @@ -106,6 +106,18 @@ If git was configured as explained earlier, this can=
 be retrieved using
> `git log --pretty=3Dfixes` otherwise `git log --abbrev=3D12 --oneline` wi=
ll
> give the proper tag and commit-id.
>=20
> +### Resolves:
> +
> +If your patch addresses an issue logged in a GitLab ticket, use the `Res=
olves:`
> +tag followed by the issue link to automatically close the ticket when th=
e patch
> +is merged.
> +
> + Resolves: <URL>
>=20
> +
> +E.g.:
> +
> + Resolves: https://gitlab.com/xen-project/xen/-/issues/185
> +
> ### Backport:
>=20
> A backport tag is an optional tag in the commit message to request a
> --
> 2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:35:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907295.1314549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru8x-0001GJ-BU; Tue, 11 Mar 2025 07:35:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907295.1314549; Tue, 11 Mar 2025 07:35: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 1tru8x-0001GC-8g; Tue, 11 Mar 2025 07:35:15 +0000
Received: by outflank-mailman (input) for mailman id 907295;
 Tue, 11 Mar 2025 07:35: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=F6th=V6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tru8w-0001G6-Ke
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:35:14 +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 5e8b15af-fe4b-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 08:35:13 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-aaf900cc7fbso1050516066b.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:35:13 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac23943945asm866456266b.22.2025.03.11.00.35.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:35: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: 5e8b15af-fe4b-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741678513; x=1742283313; 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=1mhdkSymoJXLbAOOj8O0e5gfxlvrmlEZXZNt3giyRYM=;
        b=OmP6/HZH5OuO7SmHeT5o9JF5shrjJrZ8CjpsYUpAX3X3NwRGXwsCxnch2XRUhuxhRV
         dQXCVvrSZRFEnpqfOj6u4RHceIhfGGoRnukAdUL8SjFIdWpW2tVYsvrI/lmfPpLBkU6C
         lrQ/ZSq9v7D0zlnvlHVC0KbbiX/wbeZ1ptMp/w6EcN7ohAv+CQIKcqQsa7kFjmclgwOx
         G81clEOYs42XZacrJA4D4d9nDJnDRcJDoEXXOm7bgspfZ4oTVabmk6WlZrKfvYKYPOL/
         Oay6LHK2IfAnsRZmV3LqrNYh0PvClo5YEyuXXgDRbomU/FLWR8+BEgVgbXUtzEuj3WlR
         x7HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741678513; x=1742283313;
        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=1mhdkSymoJXLbAOOj8O0e5gfxlvrmlEZXZNt3giyRYM=;
        b=sJtZGDXx6rxJR0rkpYlW36ZL4FtMkc0eups1DWFT2wbUZadW/Vr9UVswOTUjcaDqvX
         iDZdXnbzLnKMP1UdMNz3Ip0Uo7VIiy3GwuXW5fxOkt4bpwldjeoFziSmdIr4yMOVLNZF
         OH33AxaVPmT+5MquelgzvciRrbKsbnpN9yE31QpN5KxnJkv6NkU3i928tb18Zn/7BeIG
         5A3XBJsnVekhpM0iy7JVpItPPC+hmvmvtSaX4dahoctLWkikWDrt/UPyPfMBjudiOQFP
         BQfNCMfZXFvm4oqaEodTQV/fO6VA6vqrLODqlQht7uT+Q2vZTMNzIwupyHDJGSPidD5H
         RpEQ==
X-Forwarded-Encrypted: i=1; AJvYcCU8vyqe6QvhwtLujx3evEAmCSLx4t/xs+jvX3Z5R5S/3271PL0150q6rWvn0XvwimY/L4LgJHZNGuE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWWY44hQ/REJxiP6lN/jsYKtCVHcgLlsu+JlnP5PIPwZ8IHj6x
	akRRTQUie2ybZTN+lbSW5YGU5Ut8xzBFz7y0oJyDcNX8mYAL1f5oXq6lLTOAiLAXUcjUmrzaunl
	9
X-Gm-Gg: ASbGncsej9Df8bmhlu55Talq++g2g8PtNeCEyHWBjQE2Qk13dDcz2V5MpydpFM9OUR8
	6I+Jgdk1rQ7FpqCkDTu+zncoY/8ZooK2T6iw8FqOpq3GEP5YA2nC8LgQpmO1mbjWoEvSul9/Pr/
	RI7wzw7MAiM0DbT9oPl2LLGk0K8xiQLqL0ALVepai51cH3H0IEY2RqJHKTDli0ERrtq9OFXgbJR
	rv6Z18tymfjeBgZIQsYPKSN3Tm5ZA+x0ooqD+fNT93AC2C7k8B/PrNKZJhqIX5k14l39P/iM/Gz
	3bTtAfCJlFG+xjJW2jDmLC7q9Z4m+ayq1mkdpwKrtmCeT0zmWPVux9+dCCS6Ej/gUtLeFdvWjDa
	KaFCpBdc4FIPwFbRNkJpu/5zBuXdl0rXAbsq2iMnNpAmPXunVoi47caC95yoXm5TNyE0=
X-Google-Smtp-Source: AGHT+IGvm3HtbKUymTA/FtwZPwpY+ix1v4SXw4YlKtu9LDBt46FHoxqUD2ZoSyZ0AZpjtqN6iYDGtQ==
X-Received: by 2002:a17:907:2d12:b0:ac1:deb0:5c3e with SMTP id a640c23a62f3a-ac2b9de96a3mr282629466b.16.1741678512845;
        Tue, 11 Mar 2025 00:35:12 -0700 (PDT)
Message-ID: <78d2f36a-a2be-4fb6-8484-6fa0df50a419@suse.com>
Date: Tue, 11 Mar 2025 08:35:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/mcelog: Add __nonstring annotations for unterminated
 strings
To: Kees Cook <kees@kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
References: <20250310222234.work.473-kees@kernel.org>
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: <20250310222234.work.473-kees@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------XBJjVsBfgWo0WeZkAToK60dU"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------XBJjVsBfgWo0WeZkAToK60dU
Content-Type: multipart/mixed; boundary="------------37w7aYirA0kQ6hIWxrjOTvI0";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Kees Cook <kees@kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
Message-ID: <78d2f36a-a2be-4fb6-8484-6fa0df50a419@suse.com>
Subject: Re: [PATCH] xen/mcelog: Add __nonstring annotations for unterminated
 strings
References: <20250310222234.work.473-kees@kernel.org>
In-Reply-To: <20250310222234.work.473-kees@kernel.org>

--------------37w7aYirA0kQ6hIWxrjOTvI0
Content-Type: multipart/mixed; boundary="------------0jA3M0zgWTTF0Vc2RtvHJILA"

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

T24gMTAuMDMuMjUgMjM6MjIsIEtlZXMgQ29vayB3cm90ZToNCj4gV2hlbiBhIGNoYXJhY3Rl
ciBhcnJheSB3aXRob3V0IGEgdGVybWluYXRpbmcgTlVMIGNoYXJhY3RlciBoYXMgYSBzdGF0
aWMNCj4gaW5pdGlhbGl6ZXIsIEdDQyAxNSdzIC1XdW50ZXJtaW5hdGVkLXN0cmluZy1pbml0
aWFsaXphdGlvbiB3aWxsIG9ubHkNCj4gd2FybiBpZiB0aGUgYXJyYXkgbGFja3MgdGhlICJu
b25zdHJpbmciIGF0dHJpYnV0ZVsxXS4gTWFyayB0aGUgYXJyYXlzDQo+IHdpdGggX19ub25z
dHJpbmcgdG8gYW5kIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgY2hhciBhcnJheSBhcyAibm90
IGEgQw0KPiBzdHJpbmciIGFuZCB0aGVyZWJ5IGVsaW1pbmF0ZSB0aGUgd2FybmluZy4NCj4g
DQo+IExpbms6IGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk
PTExNzE3OCBbMV0NCj4gQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4g
Q2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gQ2M6
IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4N
Cj4gQ2M6IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTaWduZWQtb2ZmLWJ5
OiBLZWVzIENvb2sgPGtlZXNAa2VybmVsLm9yZz4NCg0KQWNrZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------0jA3M0zgWTTF0Vc2RtvHJILA
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-----

--------------0jA3M0zgWTTF0Vc2RtvHJILA--

--------------37w7aYirA0kQ6hIWxrjOTvI0--

--------------XBJjVsBfgWo0WeZkAToK60dU
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/Ey8FAmfP568FAwAAAAAACgkQsN6d1ii/Ey+g
5wf/UstPh1Q1G6ZfNETvmwHQV5SmAtiXW7xg1foPF3jIcFKyRxbnh5LzOJV+dt6aYiTm8pHq65eM
3R4WKqAg7aDVLk05brMWflHlo79NRXHhdBEmFxRTWIysPvcUXv6W2RqYsV7izitN/qlYybh4nwU/
hQ9ajSBsQA72iUzc2MR4yrYYicOcmZg6fyaath6Y3jTOa9+GGMmv5lipgKEjkGc7zHaVllfqFO9Q
Jx9SgpiqtwA+rWzyjWG+Y8lSqOAKL9uFvOuVn09qeOWL5o/UIoywOzXkkcjldfqKLk1fIxvKHqNG
asotqrXb+ObMtiOga1bFWFJwf2KUbfL4rlcvzvfraQ==
=4O3N
-----END PGP SIGNATURE-----

--------------XBJjVsBfgWo0WeZkAToK60dU--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:35:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:35:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907300.1314558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru9L-0001iR-Jo; Tue, 11 Mar 2025 07:35:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907300.1314558; Tue, 11 Mar 2025 07:35: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 1tru9L-0001iK-H3; Tue, 11 Mar 2025 07:35:39 +0000
Received: by outflank-mailman (input) for mailman id 907300;
 Tue, 11 Mar 2025 07:35: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tru9K-0001Vl-J5
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:35:38 +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 6c82f871-fe4b-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 08:35:37 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso14711755e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:35: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-3912c0e308dsm17655323f8f.67.2025.03.11.00.35.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:35: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: 6c82f871-fe4b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741678536; x=1742283336; 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=kGsWQtDpgLa0d4S5XZcRuF+HN3RS5mibDDvd9XLAiNA=;
        b=Kf2VCb6ZdDoERe4YFer9ae1yBBKx97GGb+s+1E/t6ODvv4fBw8YFrr1/yssNrS8Yti
         1yswK3lpiJs4WvcnHxLJbfd8xQlaUMlz/PUOgrFTltKNh86TlJrj+dSxWhUe442aHiPh
         4Yhj0JJqJAhT0g3t7XlF4qiX4ZDkeh4QiTaQgxAnwicFD0CqBPSOIfZkRQoBoHabDmyM
         3HE60p6qzYG0bxnY6hCgnhh9s06QgWaAB5+FPzZzrfz7FGkcbwxfuEykDU6xNpmRdWaH
         BPUeON05LFqKNTEJXwvp32UO3scQIA+NihlSHG4GVrGdih5N+EM5wxRwh2BfJnfsveLe
         Ctjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741678536; x=1742283336;
        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=kGsWQtDpgLa0d4S5XZcRuF+HN3RS5mibDDvd9XLAiNA=;
        b=GKgTUuN9zbv3kgilNz3A0+Z42BeGrEPMxmH9BN0D83QzEZVmpHeju9XTsJjIgBA0mC
         tPX8iE7MDB/KcQ7BCkwRtnfJwIuFd+Ki43Y+6pGDwM+RYCDsGVI9XPDiNSWJGPcRFejQ
         ECXIqjVmQgn2LkZ5c3bykNO2UjKdRUgSfjA3S+goP6jPbY59ZbjjnRKiZ2m8kdGPvVYL
         qPdVH+qkSJOfnBDc+ZeEE4J0kgipmK4vbbh0SnoImTwdm/0DpL4tGGRbROpMTHWiA5Mr
         psSN6VoMjxLQPAvduNwYi7pTmTY89ZXWrQEVQcKsoPGF639i87WUsvMKWNw3QG5yw793
         5rdw==
X-Forwarded-Encrypted: i=1; AJvYcCW4SiYLTtRbcAmD/NhBmIkcV7f3JQ2VjJHcH+NuxFjG6Vz5dTbCSDtecD5j80oZpH8uF+hlPsJmf/A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwL9hiKVf02XxqijVuk1NNNpC35mr2TXbT6vgjk/UrcQl5zXgrb
	v973MygeFG+u1e2e0bwleiIYFDYSwBwXIvt7YHHBMaRjtjJxyr/0o1Nu3FCpUg==
X-Gm-Gg: ASbGnctV7ZgqbPJhYxhgj+AlBaVG3vs675GNW2Ncj0tp/lYUFOLu9GpWLb+XeRsfV7P
	tPK8I/UcZgJL/lrMmFrT6xdoXNrLCyZ3yATd3UIxd7YE3t4a2BBqukQDaFHRLKj/tbI5qYupDXU
	tISPFpUPpyVcZE44kYXxIK3AodIK4uXmpaWV//Ijj9ZqJnPY8ezFiRQIb+TZlH1WlNNLsAnJsdD
	Ti2oXKCDDkYp1CQWBWelK9BAXCaWK5+V27ayw8d33Pf6WN8Y2IYPOLXsS9luEQQoIoUycaPzv/4
	7P7lsYmq9TKm3HpVRLJw5AgkbteGhyPE1dyAOxsJNdMiHKwvuRIkHSMTuh7y+o4CMvWS+LY6Un5
	EzF+P3RZ6p82Uim73a08gYATBzaUHGRP5jcbbH9U5
X-Google-Smtp-Source: AGHT+IFjmSUI/rQk4xDr3r0YuO6oC/w0D/d5iCJtAiz2aSaZ6kC9w81F25CRK2lrMvtYlLw+9TACkg==
X-Received: by 2002:a5d:64a4:0:b0:391:a74:d7dc with SMTP id ffacd0b85a97d-39132db7543mr12279245f8f.50.1741678536402;
        Tue, 11 Mar 2025 00:35:36 -0700 (PDT)
Message-ID: <804fd071-16d1-4703-b314-3ee3b8da4f6c@suse.com>
Date: Tue, 11 Mar 2025 08:35:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] x86/iommu: avoid MSI address and data writes if
 IRT index hasn't changed
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20250310095535.46033-1-roger.pau@citrix.com>
 <20250310095535.46033-3-roger.pau@citrix.com>
 <507eef19-92ff-44ca-bd0a-86299949c03b@suse.com>
 <Z88Ib1ewzugJmepe@macbook.local>
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: <Z88Ib1ewzugJmepe@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.03.2025 16:42, Roger Pau MonnĂŠ wrote:
> On Mon, Mar 10, 2025 at 11:51:09AM +0100, Jan Beulich wrote:
>> On 10.03.2025 10:55, Roger Pau Monne wrote:
>>> Attempt to reduce the MSI entry writes, and the associated checking whether
>>> memory decoding and MSI-X is enabled for the PCI device, when the MSI data
>>> hasn't changed.
>>>
>>> When using Interrupt Remapping the MSI entry will contain an index into
>>> the remapping table, and it's in such remapping table where the MSI vector
>>> and destination CPU is stored.  As such, when using interrupt remapping,
>>> changes to the interrupt affinity shouldn't result in changes to the MSI
>>> entry, and the MSI entry update can be avoided.
>>>
>>> Signal from the IOMMU update_ire_from_msi hook whether the MSI data or
>>> address fields have changed, and thus need writing to the device registers.
>>> Such signaling is done by returning 1 from the function.  Otherwise
>>> returning 0 means no update of the MSI fields, and thus no write
>>> required.
>>>
>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> with two purely cosmetic suggestions and an only loosely related question below.
>>
>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>>> @@ -415,7 +415,9 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
>>>  
>>>      ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
>>>  
>>> -    return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
>>> +    rc = iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
>>> +
>>> +    return rc < 0 ? rc : 0;
>>
>> Only tangential here, but: Why does this function have a return type of
>> non-void, when neither caller cares?
> 
> I'm afraid there's more wrong in vmx_pi_update_irte() that I've just
> spotted afterwards.
> 
> vmx_pi_update_irte() passes to iommu_update_ire_from_msi() the
> msi_desc->msg field, but that field is supposed to always contain the
> non-translated MSI data, as you correctly pointed out in v1 it's
> consumed by dump_msi().  vmx_pi_update_irte() using msi_desc->msg to
> store the translated MSI effectively breaks dump_msi().

Oh, indeed - it violates what write_msi_msg() specifically checks by
an assertion.

> Also vmx_pi_update_irte() relies on the IRT index never changing, as
> otherwise it's missing any logic to update the MSI registers.

Isn't this a valid assumption here? msi_msg_to_remap_entry() will only
ever allocate a new index if none was previously allocated.

>>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
>>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
>>> @@ -492,7 +492,7 @@ static int update_intremap_entry_from_msi_msg(
>>>                 get_ivrs_mappings(iommu->seg)[alias_id].intremap_table);
>>>      }
>>>  
>>> -    return 0;
>>> +    return !fresh ? 0 : 1;
>>>  }
>>
>> Simply
>>
>>     return fresh;
>>
>> ?
>>
>>> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
>>>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>>>                                              &msi_desc->remap_index,
>>>                                              msg, &data);
>>> -    if ( !rc )
>>> +    if ( rc > 0 )
>>>      {
>>>          for ( i = 1; i < nr; ++i )
>>>              msi_desc[i].remap_index = msi_desc->remap_index + i;
>>> --- a/xen/drivers/passthrough/vtd/intremap.c
>>> +++ b/xen/drivers/passthrough/vtd/intremap.c
>>> @@ -506,6 +506,7 @@ static int msi_msg_to_remap_entry(
>>>      unsigned int index, i, nr = 1;
>>>      unsigned long flags;
>>>      const struct pi_desc *pi_desc = msi_desc->pi_desc;
>>> +    bool alloc = false;
>>>  
>>>      if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
>>>          nr = msi_desc->msi.nvec;
>>> @@ -529,6 +530,7 @@ static int msi_msg_to_remap_entry(
>>>          index = alloc_remap_entry(iommu, nr);
>>>          for ( i = 0; i < nr; ++i )
>>>              msi_desc[i].remap_index = index + i;
>>> +        alloc = true;
>>>      }
>>>      else
>>>          index = msi_desc->remap_index;
>>> @@ -601,7 +603,7 @@ static int msi_msg_to_remap_entry(
>>>      unmap_vtd_domain_page(iremap_entries);
>>>      spin_unlock_irqrestore(&iommu->intremap.lock, flags);
>>>  
>>> -    return 0;
>>> +    return alloc ? 1 : 0;
>>>  }
>>
>> Like above, simply
>>
>>     return alloc;
>>
>> ?
> 
> I wasn't sure whether this was overloading the boolean type and
> possibly breaking some MISRA rule.  I can adjust.

What we are to do with Misra's essential type system is entirely unclear at
this point, aiui.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:36:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:36:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907314.1314568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tru9p-0002nW-W5; Tue, 11 Mar 2025 07:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907314.1314568; Tue, 11 Mar 2025 07: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 1tru9p-0002nP-T2; Tue, 11 Mar 2025 07:36:09 +0000
Received: by outflank-mailman (input) for mailman id 907314;
 Tue, 11 Mar 2025 07:36: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=+cUl=V6=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tru9o-0001G6-NW
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:36:08 +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 7d479f8e-fe4b-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 08:36:05 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-39140bd6317so1735233f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:36:05 -0700 (PDT)
Received: from [192.168.69.199] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43cee67ae5esm91023745e9.33.2025.03.11.00.36.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:36: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: 7d479f8e-fe4b-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741678564; x=1742283364; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=YBDtd+wGYXepiPCUvcu8NxohmXbd41Si0c1Rztrtm0M=;
        b=BWnRMCPw154basHCJkqQs6/Bg6u6ICLwUkydumixDViB3ZAOl8MlEqhVoo8N12bUqG
         olCtGJXbUmG9U74t5p52bYXW7nXYN2PHp2hP7FNdhP3RoxtISlKXodWS5qX6aY7VRCkx
         DX5zzaZYYxk4k+YWs0bYYONIwaJu1aTobWQVlD8J6jjtxT5WPpf2Jfn9K384zZSdQy/9
         4pWY3qA6dNwkjyLNbSp3jlnxOVHxJTjRjfMb8in1eG5cn6b/ExC2IBYsrZRbf5iYl5tb
         P9xlb9sCi4P/Q3XLUTVV2MpzkZojBbapeO2BwuakDCPxFetJ21GK1od8Qq6U6ROma6Ni
         0pwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741678564; x=1742283364;
        h=content-transfer-encoding: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=YBDtd+wGYXepiPCUvcu8NxohmXbd41Si0c1Rztrtm0M=;
        b=gJH3KTUMnotXhWQzL5B/mM/aUNTm9wZxrZO53HnOAbqDLwEtq8Ly95gLhEPfCYigz8
         PyapaSMuKy86eDn/v/oRQSxaRrQ/3PqUjN0GYakmtBg1cH8wL85JFZ3tG899IuGZvzLI
         UTohjc60xFOQHI8S40uxZeNrnjS6k5z/O/N8kRtuPBRf9OESvb5bfGk6+EOoykbOT7AM
         8pM7k5PBXCGEMLCKUay6W3mZ19QbS+aL5Z04qtKfpJoZWih0D759GnNZWd1O/zDKXH1T
         W+PWV8wTVis5KNbBqYLi46/475yZ928+BKGBxywcECZsZ95L2YHZ6MtVSo+HtIOhs3Jl
         6FIA==
X-Forwarded-Encrypted: i=1; AJvYcCUdAx53bw45dMJBVPPzTAHxRKSOih0gDNXn0lKPEBd6X9zzv5+0NpXjsX4Dp9lOJ/gMrG86iO8vtpk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyvpcmULUyeaQrVzewyAM6XAK6KLOjaUxGt5iXcUG+vJcChnM43
	ZHeSzED2e+JcOevya4QzW31BDRb2DBAYDERCin+L/eAjG/Ck3KCqcswTYLMO8Vg=
X-Gm-Gg: ASbGncusCxx+gmTNzTvU93POuPSOd9/KY4OrrIPoRcatQB6kTJ9cNFLhk8raQnhH0gi
	LVrOh4mwsXLaXWk1inswvhXMEpwwNIEN70h3hCJtsq6B1CZw71nUVbwkJOlm6Rah7XqYXh/HU4H
	riU60ADM18rNOz1/g7SQBcCqiYBzhvnlAy9vhJUPSJ6QOaLM7d8zi0fOotE9wfMutJHDAOcwVF2
	Ic9MTdZ2zL+rskbmC8f3pBaP/IOw4c17Dzqoj62f6bvpud0sjhdYb7QH4rS1Oslf8urhV9Qt9A1
	lFC/tSE/nj0Qe/eRQSxKPfReT5qr2QGV12x4FLpJ6T1rW2KZACWBYnR3OmVFC7YVCWb2ofx/egg
	U+4DlfMFxcbIdCDDlcwydQQc=
X-Google-Smtp-Source: AGHT+IFSPGz9/gfwsiFYEmt/RzI+9DcM9u3J2MgkQs5at33CHQLyaRLSm47Zlzsudug5b+arJ/EAbg==
X-Received: by 2002:a05:6000:188b:b0:391:496b:5646 with SMTP id ffacd0b85a97d-391496b5792mr6565392f8f.28.1741678564530;
        Tue, 11 Mar 2025 00:36:04 -0700 (PDT)
Message-ID: <b8073e25-ae8a-462b-b085-84c471a4bf5e@linaro.org>
Date: Tue, 11 Mar 2025 08:36:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/16] include/exec/memory: extract devend_big_endian
 from devend_memop
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-15-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250311040838.3937136-15-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 11/3/25 05:08, Pierrick Bouvier wrote:
> we'll use it in system/memory.c.

Having part of the commit description separated in its subject is a
bit annoying. But then I'm probably using 20-years too old tools in
my patch workflow.

Only used in system/{memory,physmem}.c, worth move to a local
system/memory-internal.h header? Or even simpler, move
include/exec/memory-internal.h -> exec/memory-internal.h first.

> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/exec/memory.h | 18 ++++++++++++------
>   1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index 60c0fb6ccd4..57661283684 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -3138,16 +3138,22 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
>   MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
>                                 uint8_t c, hwaddr len, MemTxAttrs attrs);
>   
> -/* enum device_endian to MemOp.  */
> -static inline MemOp devend_memop(enum device_endian end)
> +/* returns true if end is big endian. */
> +static inline bool devend_big_endian(enum device_endian end)
>   {
>       QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
>                         DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
>   
> -    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
> -                       ? target_words_bigendian()
> -                       : end == DEVICE_BIG_ENDIAN);
> -    return big_endian ? MO_BE : MO_LE;
> +    if (end == DEVICE_NATIVE_ENDIAN) {
> +        return target_words_bigendian();
> +    }
> +    return end == DEVICE_BIG_ENDIAN;
> +}
> +
> +/* enum device_endian to MemOp.  */
> +static inline MemOp devend_memop(enum device_endian end)
> +{
> +    return devend_big_endian(end) ? MO_BE : MO_LE;
>   }
>   
>   /*



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:38:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907324.1314579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1truC1-0003SQ-CR; Tue, 11 Mar 2025 07:38:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907324.1314579; Tue, 11 Mar 2025 07:38: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 1truC1-0003SJ-8T; Tue, 11 Mar 2025 07:38:25 +0000
Received: by outflank-mailman (input) for mailman id 907324;
 Tue, 11 Mar 2025 07:38: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1truBz-0003SC-Kd
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:38:23 +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 cf456d5a-fe4b-11ef-9ab8-95dc52dad729;
 Tue, 11 Mar 2025 08:38:22 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-390effd3e85so4418143f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:38: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-3912c01567fsm16956931f8f.41.2025.03.11.00.38.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:38: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: cf456d5a-fe4b-11ef-9ab8-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741678702; x=1742283502; 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=MO1HQRCE1cm933vGC4hrBB4CuAB+/4isDl7/6+rwZ9c=;
        b=FuzX30zU8/Uj9Vzma29DvThFCCVUFlHqZok2hLxK/GGBzJPxhh7YQlF3TF2l7d/Ev/
         0k/TcX2Tu8TwjgTZKiOaxmQwsaFCPBl9IuGUdVJYarNPMDRyeNv4IBtVA2Twwh6rwVxY
         OlOKF2KO5LEoG6GUtuLVnYDIKIEuzmlgfTt0jy9/w+GkorHhzvZDw4J517a47x59ZplH
         ilc+UQffaIlp0B6tiNwd40Vgy5lmhH4UVXzI93QWdX967A8ivMbn3hgS8pZelCN8SbZG
         Pq61UHyaotZVYBXKkWlw+akA2bIcH/jYop3oIDY2LV2sYnYcptpM4OX1czhLpGztAIuj
         K2eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741678702; x=1742283502;
        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=MO1HQRCE1cm933vGC4hrBB4CuAB+/4isDl7/6+rwZ9c=;
        b=Ddh6eByN2fVXT5hl5kZvfYdu/k1idGBDlDDzm9rql3g5t9hiCxhuznoWIj2824eOla
         eoU4ypKKQtrMpwcCPTDYDgaMIsLLnt1bn6DsSNYe3ibgYTHHObRkeNde068sUxesrGZY
         z1cOnnkCKahfGgkYTpgFik5afIYZbflY9efP5VpzFbYSXc7GM9bap98LROeeuRoJ1pd+
         hmh0nvrbYv8hUIaDWklT9PWYBawdgIUrc3UKALOIF5lX2q+NFazVpD66S62vI0ZXv69v
         JU5ZGFFY6gIcBsYJvDTXzlaht03lp6t920XVj1kkcaWFd1F5/WC+62P+Q+RQeLs/ENv2
         56ww==
X-Forwarded-Encrypted: i=1; AJvYcCWsJD4r4nnhk7LxvZKQ1m2C6CNbXFNRTlIfVb9E5jrXDzAM7joA4qV3zjLd3YTkMVWTEo3SAeVCTXE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/VUihn+s7tv8K/PCQVjHVB2/CqvoS12gXeDKsd5sFsVdEreHv
	gn0Y4IJD3rSlgPdZDmKef9AKFG5qe3a6gVX24+ikY/Rf6KIBQJQ8+K1jd6xt9g==
X-Gm-Gg: ASbGncuXJb20NfeDs8dgbiQaVb+NbsObGU093N9ZCls88EurUoJWwKKQpHfEUZyo9z+
	A9WQSLPshh26AXbPmUVSkStSQdRkdkrIn+aS7cALpL3yy1P55JXxWpmn4XjAXW6MQ9wA69LKnYO
	VO/CBhnxefDwZVC5HEhHxtLT/cEOWF07bHKnTrJbuWS4PgKjRN4fMTACB8Qk4aaEBoAX9h7uTld
	xWcvqV5VasIwGLEjW7OsWcVFYrq7/RAQd2xNCdqBbqOoWpcJtEO5S5uRPQOVgjcPWlvOR+zMllo
	QAStmxTphvk1edUYE5ohWsfldQUz1u2YBxPssXOWnRbH6IzAy2ZLeIPyrRb+w3Wb+oo6kZZCPAR
	dPWk6RxXE3z3hU9HdUGXoVvSKiS4kSA==
X-Google-Smtp-Source: AGHT+IGGWoKxR6MtziZrd/uklTSADjfW4gI8KxmiGQFXMiafL1dxhC366LHTkWZCCODbfKgEC1vPPA==
X-Received: by 2002:a5d:6483:0:b0:38f:28cb:4d35 with SMTP id ffacd0b85a97d-39132d4e38cmr13009819f8f.13.1741678702138;
        Tue, 11 Mar 2025 00:38:22 -0700 (PDT)
Message-ID: <2fbc6271-1dcd-4150-b296-2aeb0366c78f@suse.com>
Date: Tue, 11 Mar 2025 08:38:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/23] xen/domctl: Expose privileged and hardware
 capabilities
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: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-7-jason.andryuk@amd.com>
 <813569bb-a1f7-42b0-a872-f6ecf4033880@suse.com>
 <fbf002d2-c38e-43f9-8bcc-e810c10d6859@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: <fbf002d2-c38e-43f9-8bcc-e810c10d6859@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.03.2025 15:11, Jason Andryuk wrote:
> On 2025-03-10 05:03, Jan Beulich wrote:
>> On 06.03.2025 23:03, Jason Andryuk wrote:
>>> --- a/xen/include/public/domctl.h
>>> +++ b/xen/include/public/domctl.h
>>> @@ -155,6 +155,12 @@ struct xen_domctl_getdomaininfo {
>>>   /* domain has hardware assisted paging */
>>>   #define _XEN_DOMINF_hap       8
>>>   #define XEN_DOMINF_hap        (1U<<_XEN_DOMINF_hap)
>>> +/* domain is hardware domain */
>>> +#define _XEN_DOMINF_hardware  9
>>> +#define XEN_DOMINF_hardware   (1U<<_XEN_DOMINF_hardware)
>>> +/* domain is privileged */
>>> +#define _XEN_DOMINF_priv      10
>>> +#define XEN_DOMINF_priv       (1U<<_XEN_DOMINF_priv)
>>
>> Oh, and: If we really need both constants (I doubt we do), the latter wants
>> to follow style even if all of its siblings don't (i.e. blanks around binary
>> operators).
> 
> Ok on this and the rename.
> 
> Why do you think they are not necessary?  I did not see a way to expose 
> the capabilities for other domains.
> 
> Or do you mean if they are added to XEN_DOMCTL_get_domain_state that 
> won't be necessary?

Oh, I guess "both" was ambiguous: I meant both _XEN_DOMINF_* and XEN_DOMINF_*.
Of course we need both a hardware and control bit here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 07:51:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 07:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907343.1314589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1truOo-0007c0-F7; Tue, 11 Mar 2025 07:51:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907343.1314589; Tue, 11 Mar 2025 07: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 1truOo-0007bt-BR; Tue, 11 Mar 2025 07:51:38 +0000
Received: by outflank-mailman (input) for mailman id 907343;
 Tue, 11 Mar 2025 07:51: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=F6th=V6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1truOm-0007bL-SF
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 07:51:36 +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 a7704229-fe4d-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 08:51:34 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5e677f59438so3651768a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 00:51:34 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c768f213sm7793531a12.74.2025.03.11.00.51.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 00:51: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: a7704229-fe4d-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741679494; x=1742284294; 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=N0lbnrwbaL2E4Nl9iI1tNjTceRSSPe5Wn2+dDlaStaU=;
        b=RNdRFYyuLuFXKgTbsE76LhHIfgdaJ9SRES5n0146BF81bc43R91oaxBkio1v/VHXU2
         SyWQC4sbAYdO8gZtW683+zCsPQQ96LKXWhviD2VdYrdSI6R6/rhr9eA6JfRo1hE+YcyP
         wihILjlbkqkW1WAI1txLiNcmTjRZg+NAxFUmzwg3/OmR+pICl5QORpEL3Bdhbryu+O9i
         46wAz7l1iq7W4vY4jtUD/v17pvdqiTfQNWdA6QT47S3C341EwtUtyYFJsafo3ewr1kzj
         tyKeY4o13ZHY+MHcE92Vwy0u7M+oMF5YcL55GPQCLWt75nVw5j9t4snwprboGGVuKXMv
         Xi5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741679494; x=1742284294;
        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=N0lbnrwbaL2E4Nl9iI1tNjTceRSSPe5Wn2+dDlaStaU=;
        b=nXyEo7o2EM+39h+xkUZSYbRkw2ZZ9NlVwa1ruk2HYSC07VKzEo0T1zTousLMnAipY1
         FOUgDIIlWGcq26wXWzYbkm/lbQsEre/T1vVgbZlvNr5CfKrPwQTjTf9paWK/VT6S6Xc7
         nXf4qQJonWAoWgolG32UEjWHFFZmbDA31nCNg0nu/O2i3odkbwT+dhAoWuiKyvTEioEl
         SM3uNmd9tq9nVkaGt6gouUdznfAwcR3fw1S9DpA/ljpc6bmcRTlO5SUENOtg47thiiev
         4e26qWkX7hlBhRA9F/KKiUi6HlJ2G19hjj/ihoxDEC5G3rlbjF+b7YnI1WnbOeJEsAg2
         zUNA==
X-Forwarded-Encrypted: i=1; AJvYcCWIXKg71wZD+Yn4VJLapvotyBceeNSPntPbpl7q4X+XIuoD22mBD91AJrHqN0LnJgxP/lBIJUgi0eE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUBoOnKMSDEWJ2bG8OxI0gLj2B7QxaZLBNpfkdh+sXAuH81iuG
	JioB2iPzPjQ0vBP/HbI4Bcxzqq9cy0boEmHf19RS0+J18Ir+6jDee7qorAlaAHOQVW7NrBy/F7V
	E
X-Gm-Gg: ASbGncuCRzLkwnJA5mN4Yil9JgijcIT/UPds74ggU+KSsJoYlddbi6lc10mWxbUjuY3
	mKjP3rDEZJrFzKgfxrh7VkAUqeTiVNqm1RtNl6vxNeqfZb6NM48TJpMwaqTS/sn2O3EKh2jUfin
	z3Op+z72BbudgKk+g86ThidqjQIgWejPeRmrToMTcD+avONXQylIIZgT03u9cUpA+LFDRYK622K
	3pMpUa5pkln9KlNMWucXuMQxRqn2wEDsMPbScqkje2AE4b1IVg6MDQu4z5wX2ZgakS5fdS7hK6F
	AlfbCwZ56vWcPJ3xNVXmf9bIuhlCeIR62HrD2Dfbr3ulRuiichjsuHm4Kyw3mkoTnziZJOPyXdS
	EHW+0fSGn27flhW4ceVSis0qnsN4LMilgKMYWyEK5/IyYD3xygImq1yCe3nr7V4i1ZW4=
X-Google-Smtp-Source: AGHT+IFuAwd3xL4lCWVUXOGrOwiEkO+wrx/es0/+ujl4oCMsGK8h2bqDfU9lzyDIvvQx0BP3bVCsAg==
X-Received: by 2002:a05:6402:2793:b0:5e7:73ad:60a2 with SMTP id 4fb4d7f45d1cf-5e773ad622fmr1985091a12.30.1741679494106;
        Tue, 11 Mar 2025 00:51:34 -0700 (PDT)
Message-ID: <b07d1169-eb57-425b-83ad-602bee778fdf@suse.com>
Date: Tue, 11 Mar 2025 08:51:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/23] tools/xenstored: Automatically set dom0_domid and
 priv_domid
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-12-jason.andryuk@amd.com>
 <5c0a1526-7faa-407a-b249-e80fb23c97b2@suse.com>
 <18198558-87dc-4901-8c26-e35871b88ad7@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: <18198558-87dc-4901-8c26-e35871b88ad7@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------b3P5BN0leF50FuuBYfe09xH2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------b3P5BN0leF50FuuBYfe09xH2
Content-Type: multipart/mixed; boundary="------------VswRv9aVuolJuE4z5fX5TBzA";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <b07d1169-eb57-425b-83ad-602bee778fdf@suse.com>
Subject: Re: [PATCH 11/23] tools/xenstored: Automatically set dom0_domid and
 priv_domid
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-12-jason.andryuk@amd.com>
 <5c0a1526-7faa-407a-b249-e80fb23c97b2@suse.com>
 <18198558-87dc-4901-8c26-e35871b88ad7@amd.com>
In-Reply-To: <18198558-87dc-4901-8c26-e35871b88ad7@amd.com>

--------------VswRv9aVuolJuE4z5fX5TBzA
Content-Type: multipart/mixed; boundary="------------zDFhn040QlO8mPIBHkeciIhU"

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

T24gMTAuMDMuMjUgMTU6MzIsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IA0KPiANCj4gT24g
MjAyNS0wMy0wOCAwMjowMiwgSsO8cmdlbiBHcm/DnyB3cm90ZToNCj4+IE9uIDA2LjAzLjI1
IDIzOjAzLCBKYXNvbiBBbmRyeXVrIHdyb3RlOg0KPj4+IFdpdGggc3BsaXQgaGFyZHdhcmUg
YW5kIGNvbnRyb2wgZG9tYWlucywgZWFjaCBkb21haW4gc2hvdWxkIGJlDQo+Pj4gcHJpdmls
ZWdlZCB3aXRoIHJlc3BlY3QgdG8geGVuc3RvcmUuwqAgV2hlbiBhZGRpbmcgZG9tYWlucyB0
byB4ZW5zdG9yZSwNCj4+PiBsb29rIGF0IHRoZWlyIHByaXZpbGVnZSBhbmQgYWRkIHRoZW0g
dG8geGVuc3RvcmVkIGFzIGFwcHJvcHJpYXRlLg0KPj4+IGRvbTBfZG9taWQgaXMgdXNlZCBm
b3IgdGhlIGhhcmR3YXJlIGRvbWFpbiwgYW5kIHByaXZfZG9taWQgaXMgdXNlZCBmb3IgYQ0K
Pj4+IGNvbnRyb2wgZG9tYWluLg0KPj4+DQo+Pj4gT25seSBvbmUgb2YgZWFjaCBpcyBhbGxv
d2VkIGZvciBub3cuDQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBBbmRyeXVrIDxq
YXNvbi5hbmRyeXVrQGFtZC5jb20+DQo+Pj4gLS0tDQo+Pj4gwqAgdG9vbHMveGVuc3RvcmVk
L2RvbWFpbi5jIHwgMTYgKysrKysrKysrKysrKysrKw0KPj4+IMKgIDEgZmlsZSBjaGFuZ2Vk
LCAxNiBpbnNlcnRpb25zKCspDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVuc3Rv
cmVkL2RvbWFpbi5jIGIvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+Pj4gaW5kZXggNjRj
OGZkMGNjMy4uZjIzOTRjZDZlOSAxMDA2NDQNCj4+PiAtLS0gYS90b29scy94ZW5zdG9yZWQv
ZG9tYWluLmMNCj4+PiArKysgYi90b29scy94ZW5zdG9yZWQvZG9tYWluLmMNCj4+PiBAQCAt
Nzk1LDYgKzc5NSwyMCBAQCBzdGF0aWMgc3RydWN0IGRvbWFpbiANCj4+PiAqZmluZF9vcl9h
bGxvY19leGlzdGluZ19kb21haW4odW5zaWduZWQgaW50IGRvbWlkKQ0KPj4+IMKgwqDCoMKg
wqAgcmV0dXJuIGRvbWFpbjsNCj4+PiDCoCB9DQo+Pj4gK3N0YXRpYyB2b2lkIGRvbWFpbl9z
ZXRfcHJpdmlsZWdlZChzdHJ1Y3QgZG9tYWluICpkb21haW4pDQo+Pj4gK3sNCj4+PiArwqDC
oMKgIHhjX2RvbWFpbmluZm9fdCBkb21pbmZvOw0KPj4+ICsNCj4+PiArwqDCoMKgIGlmICgg
IWdldF9kb21haW5faW5mbyhkb21haW4tPmRvbWlkLCAmZG9taW5mbykgKQ0KPj4+ICvCoMKg
wqDCoMKgwqDCoCByZXR1cm47DQo+Pj4gKw0KPj4+ICvCoMKgwqAgaWYgKCBkb21pbmZvLmZs
YWdzICYgWEVOX0RPTUlORl9wcml2ICkNCj4+PiArwqDCoMKgwqDCoMKgwqAgcHJpdl9kb21p
ZCA9IGRvbWFpbi0+ZG9taWQ7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgaWYgKCBkb21pbmZvLmZs
YWdzICYgWEVOX0RPTUlORl9oYXJkd2FyZSApDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIGRvbTBf
ZG9taWQgPSBkb21haW4tPmRvbWlkOw0KPj4+ICt9DQo+Pg0KPj4gUGxlYXNlIG5vIHVzZSBv
ZiBsaWJ4ZW5jdHJsLiBJIGhhdmUgd29ya2VkIGhhcmQgdG8gZWxpbWluYXRlIHRoZSB1c2Fn
ZQ0KPj4gaW4gb3JkZXIgdG8gZW5hYmxlIGEgeGVuc3RvcmUtc3R1YmRvbSBiZWluZyB1c2Vk
IGFjcm9zcyBYZW4gdmVyc2lvbnMNCj4+IChDIFhlbnN0b3JlIGlzIHJlbHlpbmcgb24gc3Rh
YmxlIGh5cGVyY2FsbHMgb25seSBub3cpLg0KPiANCj4gUmlnaHQuwqAgWWVzLCBuaWNlIHdv
cmsgb24gc3dpdGNoaW5nIHRvIHN0YWJsZSBoeXBlcmNhbGxzLg0KPiANCj4+IFlvdSBuZWVk
IHRvIGFkZCB0aGUgbmVlZGVkIGZsYWdzIHRvIHRoZSByYXRoZXIgbmV3IHN0YWJsZSBkb21j
dGwNCj4+IFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZSBhbmQgdG8gbGlieGVubWFuYWdl
Lg0KPiANCj4gT2suDQo+IA0KPj4+ICsNCj4+PiDCoCBzdGF0aWMgaW50IG5ld19kb21haW4o
c3RydWN0IGRvbWFpbiAqZG9tYWluLCBpbnQgcG9ydCwgYm9vbCByZXN0b3JlKQ0KPj4+IMKg
IHsNCj4+PiDCoMKgwqDCoMKgIGludCByYzsNCj4+PiBAQCAtODMxLDYgKzg0NSw4IEBAIHN0
YXRpYyBpbnQgbmV3X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkb21haW4sIGludCBwb3J0LCAN
Cj4+PiBib29sIHJlc3RvcmUpDQo+Pj4gwqDCoMKgwqDCoCBkb21haW4tPmNvbm4tPmRvbWFp
biA9IGRvbWFpbjsNCj4+PiDCoMKgwqDCoMKgIGRvbWFpbi0+Y29ubi0+aWQgPSBkb21haW4t
PmRvbWlkOw0KPj4+ICvCoMKgwqAgZG9tYWluX3NldF9wcml2aWxlZ2VkKGRvbWFpbik7DQo+
Pg0KPj4gVGhlIG5hbWUgaW1wbGllcyB5b3UgYXJlIGNoYW5naW5nIHRoZSBkb21haW4gdG8g
YmUgcHJpdmlsZWdlZCwgYnV0IHRoaXMNCj4+IGlzIGRvbmUgY29uZGl0aW9uYWxseSBvbmx5
Lg0KPj4NCj4+IE1heWJlIG5hbWUgdGhlIGZ1bmN0aW9uIGRvbWFpbl9hcHBseV9wcml2aWxl
Z2VzKCk/DQo+IA0KPiBJJ20gdGhpbmtpbmcgZG9tYWluX2FwcGx5X2NhcGFiaWxpdGllcygp
IHNpbmNlIHRoZXkgYXJlIGJlaW5nIHJlZmVycmVkIHRvIGFzIA0KPiBjYXBhYmlsaXRpZXMu
DQo+IA0KPiBCdXQgSSdsbCBoYXZlIHRvIHJldmlzaXQgdGhpcy7CoCBUbyBtYWtlIHhlbnN0
b3JlZCAianVzdCB3b3JrIiB3aGVuIGRvbWlkICE9IDAsIA0KPiBpdCBzaG91bGQgYXV0by1k
ZXRlY3QgaXRzIGRvbWFpbiBpZCwgYW5kIHRoYXQgaGFzIHRvIGJlIGRvbmUgZWFybGllciB0
aGFuIHRoaXMuDQoNCkkgdGhpbmsgd2l0aCB0aGUgMyByZW1haW5pbmcgcGF0Y2hlcyBvZiBt
eSBzZXJpZXMgWzFdIHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQNCmFscmVhZHkuDQoNClsxXTog
aHR0cHM6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjUtMDIv
bXNnMDAxMjAuaHRtbA0KICAgICAgaHR0cHM6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0
bWwveGVuLWRldmVsLzIwMjUtMDIvbXNnMDAxMjEuaHRtbA0KICAgICAgaHR0cHM6Ly9saXN0
cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjUtMDIvbXNnMDAxMjIuaHRt
bA0KDQoNCkp1ZXJnZW4NCg==
--------------zDFhn040QlO8mPIBHkeciIhU
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-----

--------------zDFhn040QlO8mPIBHkeciIhU--

--------------VswRv9aVuolJuE4z5fX5TBzA--

--------------b3P5BN0leF50FuuBYfe09xH2
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/Ey8FAmfP64UFAwAAAAAACgkQsN6d1ii/Ey98
gQf9E04RU3iIAnqvefokLFl4rW0z3yJTYltp/dL5U1tHz6M8vTAi7v215uhNywesrDJa14joz3SG
09rUYugYvLYOYMX6844oDIseiCdwbutWVwvKtmvN+NCzljdnQcsE1tc80cnMr4n+5wFptUIqZzZ+
ZbS4Jr3jwft2H9lc0bJJaFTEJXk3NTf2xRX+dnh+kkQBNTxUsXhKpYXFt4jfrPrmwkDa6ll2nrEL
48uMmjvtbpXkyXRz0BDr5lNFosZ6EaMn/EQg6hGsqgimK9zYfYJMe5amtJA4Qh+1zu/PPaxl8uIS
ERtB2K8yGDEAsEYsA+6zDdqToKeFKjdxPMav7uGfLA==
=Iajk
-----END PGP SIGNATURE-----

--------------b3P5BN0leF50FuuBYfe09xH2--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 08:12:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 08:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907367.1314599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1truiZ-0002jg-5i; Tue, 11 Mar 2025 08:12:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907367.1314599; Tue, 11 Mar 2025 08:12: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 1truiZ-0002jZ-2z; Tue, 11 Mar 2025 08:12:03 +0000
Received: by outflank-mailman (input) for mailman id 907367;
 Tue, 11 Mar 2025 08:12: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1truiY-0002jT-5z
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 08:12:02 +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 81e93461-fe50-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 09:12:00 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cfa7e7f54so10405175e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 01:12:00 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-3912bfb79fbsm17640954f8f.13.2025.03.11.01.11.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 01: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: 81e93461-fe50-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741680720; x=1742285520; darn=lists.xenproject.org;
        h=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=bxrr+XATuevJM9vQ7yRwFAVvEo3YRRpdOMjLc443al0=;
        b=CEPzx7tv188decfTQlq9a2NFQHTrk0LrOglH7waM4cU/t0ZWOiwt+DH+976DOLZsjT
         heot1OjC2/ez5l4GUTAzDZKM4oLdjFNBwb9PTF/ZreiF8BgVLHXo69FhxnkuSZNee3F6
         zPTHp3SpuL9Nj9U2mgvhyLwcsmd9yiBW3OD4U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741680720; x=1742285520;
        h=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=bxrr+XATuevJM9vQ7yRwFAVvEo3YRRpdOMjLc443al0=;
        b=vZIYJg0nM3NYIk4GEuFy+ylffpHv5tfH/wGAMAfvdVK/p3KCre8qx/LmzwHPtxf5S/
         1y5ztv0Igb/tlSeGsUtzoJcNf2gqiKNuoO9VsOR6A8clGz+aaiePjy7lLDSea9nd+W3J
         0qQ40yW78Iyq+/93zFcOCX1Hox/VjqaghPaoo085vVx5ATws+63FTN6GmapKROP/USJd
         H/v4tyoYkeesN0q6EZxii038rKdckJLCEzIxwScZwwsOU0Tl6s0dutC1PimQfF9dXkOr
         opMS3r3JETLED/FxB6UDHUYs9eFkVZgUTCooH32++W9ba8M0T9WfSjLPz957Hk8w1XSn
         iAaA==
X-Forwarded-Encrypted: i=1; AJvYcCW4a9GdVKWoan+KUjAHz7W0hf72SQ3I7AWEqf4HxspPqv1nDRoj0NqsWAAefpMJGikzIQcePqZTXv0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yymx1EsegvTMSLUBQ2KO7aab00p08rhzK4kqG7oDE8VK3jaFuIw
	dyCE5abxOrprzC8JtdTu6WnW0+qhfxKhDjwpxVLKa5Zev3PtxW7wecvZLVYeoTM=
X-Gm-Gg: ASbGncvDaHxYNt7Mx9AE7tBDzjIU/poEdhZOhLXiYbCIq4yDHqi8vwV4DMDhxrsGRBC
	m0psY2jrw3qFj1BIb0deNnDrO+fTqghtKk45b6qzDbm0CfUSB4x1ZfZlqkVxj+5IeifSns/xlMx
	faPxB5iWmeOUH27eWS7pB85HVLcvDn5WZc4hBlKq9e0MKIH6dULYsKTJlO4N5jnDazPce13NBIS
	u7b6h5DzdcxE39BtV03c9y3bIXvfaREgzx4U2/kZwSdbRrZr3yGpMIbFWEvsZAuq9qbqvchkLdS
	nBWqtJ00/Zyp15FaGl955sO1vbEPGSqPjRfOOYLxtlBxNv/K3LmtJkQ=
X-Google-Smtp-Source: AGHT+IHjfOI3/Vk5A9n9fFqAICwvlQxV9cQdFpD07MTcD7FzcHWa727F6x0cENVxH9qQXJr4/Az5bQ==
X-Received: by 2002:a05:600c:450f:b0:43b:ca8c:fca3 with SMTP id 5b1f17b1804b1-43d01d37e77mr31401135e9.11.1741680719669;
        Tue, 11 Mar 2025 01:11:59 -0700 (PDT)
Date: Tue, 11 Mar 2025 09:11:58 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/2] x86/iommu: avoid MSI address and data writes if
 IRT index hasn't changed
Message-ID: <Z8_wTrf9nalT82bf@macbook.local>
References: <20250310095535.46033-1-roger.pau@citrix.com>
 <20250310095535.46033-3-roger.pau@citrix.com>
 <507eef19-92ff-44ca-bd0a-86299949c03b@suse.com>
 <Z88Ib1ewzugJmepe@macbook.local>
 <804fd071-16d1-4703-b314-3ee3b8da4f6c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <804fd071-16d1-4703-b314-3ee3b8da4f6c@suse.com>

On Tue, Mar 11, 2025 at 08:35:35AM +0100, Jan Beulich wrote:
> On 10.03.2025 16:42, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 10, 2025 at 11:51:09AM +0100, Jan Beulich wrote:
> >> On 10.03.2025 10:55, Roger Pau Monne wrote:
> >>> Attempt to reduce the MSI entry writes, and the associated checking whether
> >>> memory decoding and MSI-X is enabled for the PCI device, when the MSI data
> >>> hasn't changed.
> >>>
> >>> When using Interrupt Remapping the MSI entry will contain an index into
> >>> the remapping table, and it's in such remapping table where the MSI vector
> >>> and destination CPU is stored.  As such, when using interrupt remapping,
> >>> changes to the interrupt affinity shouldn't result in changes to the MSI
> >>> entry, and the MSI entry update can be avoided.
> >>>
> >>> Signal from the IOMMU update_ire_from_msi hook whether the MSI data or
> >>> address fields have changed, and thus need writing to the device registers.
> >>> Such signaling is done by returning 1 from the function.  Otherwise
> >>> returning 0 means no update of the MSI fields, and thus no write
> >>> required.
> >>>
> >>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >>
> >> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> >> with two purely cosmetic suggestions and an only loosely related question below.
> >>
> >>> --- a/xen/arch/x86/hvm/vmx/vmx.c
> >>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> >>> @@ -415,7 +415,9 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
> >>>  
> >>>      ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
> >>>  
> >>> -    return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
> >>> +    rc = iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
> >>> +
> >>> +    return rc < 0 ? rc : 0;
> >>
> >> Only tangential here, but: Why does this function have a return type of
> >> non-void, when neither caller cares?
> > 
> > I'm afraid there's more wrong in vmx_pi_update_irte() that I've just
> > spotted afterwards.
> > 
> > vmx_pi_update_irte() passes to iommu_update_ire_from_msi() the
> > msi_desc->msg field, but that field is supposed to always contain the
> > non-translated MSI data, as you correctly pointed out in v1 it's
> > consumed by dump_msi().  vmx_pi_update_irte() using msi_desc->msg to
> > store the translated MSI effectively breaks dump_msi().
> 
> Oh, indeed - it violates what write_msi_msg() specifically checks by
> an assertion.

Indeed.  I have a pre-patch to fix this.

> > Also vmx_pi_update_irte() relies on the IRT index never changing, as
> > otherwise it's missing any logic to update the MSI registers.
> 
> Isn't this a valid assumption here? msi_msg_to_remap_entry() will only
> ever allocate a new index if none was previously allocated.

Yes, but I think it needs to be accounted for, I've now switched this
to:

    rc = iommu_update_ire_from_msi(msi_desc, &msg);
    if ( rc > 0 )
    {
        /*
         * Callers of vmx_pi_update_irte() won't propagate the updated MSI
         * fields to the hardware, must assert there are no changes.
         */
        ASSERT_UNREACHABLE();
        rc = -EILSEQ;
    }

    return rc;

Which I think better reflects the expectations of the function.

> >>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> >>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> >>> @@ -492,7 +492,7 @@ static int update_intremap_entry_from_msi_msg(
> >>>                 get_ivrs_mappings(iommu->seg)[alias_id].intremap_table);
> >>>      }
> >>>  
> >>> -    return 0;
> >>> +    return !fresh ? 0 : 1;
> >>>  }
> >>
> >> Simply
> >>
> >>     return fresh;
> >>
> >> ?
> >>
> >>> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
> >>>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
> >>>                                              &msi_desc->remap_index,
> >>>                                              msg, &data);
> >>> -    if ( !rc )
> >>> +    if ( rc > 0 )
> >>>      {
> >>>          for ( i = 1; i < nr; ++i )
> >>>              msi_desc[i].remap_index = msi_desc->remap_index + i;
> >>> --- a/xen/drivers/passthrough/vtd/intremap.c
> >>> +++ b/xen/drivers/passthrough/vtd/intremap.c
> >>> @@ -506,6 +506,7 @@ static int msi_msg_to_remap_entry(
> >>>      unsigned int index, i, nr = 1;
> >>>      unsigned long flags;
> >>>      const struct pi_desc *pi_desc = msi_desc->pi_desc;
> >>> +    bool alloc = false;
> >>>  
> >>>      if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
> >>>          nr = msi_desc->msi.nvec;
> >>> @@ -529,6 +530,7 @@ static int msi_msg_to_remap_entry(
> >>>          index = alloc_remap_entry(iommu, nr);
> >>>          for ( i = 0; i < nr; ++i )
> >>>              msi_desc[i].remap_index = index + i;
> >>> +        alloc = true;
> >>>      }
> >>>      else
> >>>          index = msi_desc->remap_index;
> >>> @@ -601,7 +603,7 @@ static int msi_msg_to_remap_entry(
> >>>      unmap_vtd_domain_page(iremap_entries);
> >>>      spin_unlock_irqrestore(&iommu->intremap.lock, flags);
> >>>  
> >>> -    return 0;
> >>> +    return alloc ? 1 : 0;
> >>>  }
> >>
> >> Like above, simply
> >>
> >>     return alloc;
> >>
> >> ?
> > 
> > I wasn't sure whether this was overloading the boolean type and
> > possibly breaking some MISRA rule.  I can adjust.
> 
> What we are to do with Misra's essential type system is entirely unclear at
> this point, aiui.

Thanks, given the findings above I will post v4 with the extra
adjustments.

Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 08:30:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 08:30:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907380.1314608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trv0k-0000CS-L2; Tue, 11 Mar 2025 08:30:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907380.1314608; Tue, 11 Mar 2025 08:30: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 1trv0k-0000CL-IW; Tue, 11 Mar 2025 08:30:50 +0000
Received: by outflank-mailman (input) for mailman id 907380;
 Tue, 11 Mar 2025 08:30: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trv0j-0000CF-13
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 08:30:49 +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 21b3b449-fe53-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 09:30:47 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43bdf0cbb6bso29753195e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 01:30: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
 5b1f17b1804b1-43cf85f2359sm62639795e9.27.2025.03.11.01.30.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 01:30: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: 21b3b449-fe53-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741681847; x=1742286647; 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=NeOT9yjFW4+lu7zXuk2xv6YrS4zcSxuum+KE267DlGQ=;
        b=dq65JGmpPminiVz/ZPnYRCBeDe/9Tu9GQAFEmPSnfsjChwT/oyX5elr8sDiChgpdpr
         PMZZLUCqBmoWgmmc5bbyezBg90iGz4bB2vuG8R5FfxhKBoebqfQU4zDPxrWiUgQpNleM
         xyXiOWoOtTW/d9cv34Q88foxU8es78ZviUksMg7p3X2FOVUgkTc+yjRaB29n7YVIlacU
         h0wGN2VdX4o3KNsl7G64VP+WkuIKmsXCyOfhL3j0CUQvWZTbfduj9lbf3RhspBiomTr7
         k0AgV17jWZnYOGqdHuUfCQHNTJVxgVYqmFonYGBkWGyOY+SXaTcUhD4Jbv7ivQmjnnO6
         RZhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741681847; x=1742286647;
        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=NeOT9yjFW4+lu7zXuk2xv6YrS4zcSxuum+KE267DlGQ=;
        b=oVNOFdxb0mjA+r6ZDGaCQBebBGGJRZvyWbAG0EpKCAKt45puvC7wgjOTIOHqHbTr1E
         LRrCh9zUyMkABrbKvuy7khRSiPrnY619aZPKUZcNkB0sUDzd9xAiDVtTtpHiEwudtxUR
         zEM+0m64KbMo64xcbaPn+tiesfhqZsMALZ2p6UIbaOFjBXg12M6oANyUouGStao4dS7T
         yknz9ggjv0iddcys7H33bml6exkTuColwwOXny0RFaXYj6IwvJkAnvQoFzpOuy+KW7An
         zkU27L2GmDEeCE9z28QAh8bO2JWVq686/OSlgR0e3rNGKYttXhGamQqP62V+Nba3ie8+
         ayaA==
X-Forwarded-Encrypted: i=1; AJvYcCV44Z2FQ4YoqncE+BzIXvTlvDmWjOkE4hJAow8TUX/sV8mjFLek7Lye1+f+fDVbjCLJ3ihtbnJZJfk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZepstQyAUa+nL3HLyqEpd88uxvZfYIeACqSLjAYJ9zbBnVoSX
	zVKSLiPuyPg7QusAlpDTHkLS9NNGyrmE19m9Dlaxee1b30XnoyKK6wNvkutpAA==
X-Gm-Gg: ASbGncsmylWOh1aUbEjg2LjCxWr1si6CtgRbpT/jCXvXKBNJ5NxdhBCgHeBv93gZhc4
	8kKv7KPGBWshOjgNFZXsrWy+LRY1hIDOSQ5kamJvxghiLlOYOBrzu9co/MZbsO/bH0S4N9oisED
	SeTr/D0LLyRNAYnt/L9b3597gMcN06RKvY+C61Xk5oSYlsmSOhtRIl9JVtOBlExTVAdNRMlIx/e
	EheOP4BFU23/qCaFTN5GMUXWzzZlxk6s3F0Rqw5qXq0HH+XL0wPIOD2BTd8ijZ2MCyGgERIZtGB
	GHU4mUUK0977IA35tpmXYs06oEMJtdkGQAmSU5lQiRsi/7SFKaep0rZpzvLIm8SKGSSv/XRBXcH
	UFUqf+nIwxAOfQ9cui7mKF9w0RQmoPQ==
X-Google-Smtp-Source: AGHT+IErXzIowSpxHG0L9rzRinB1cNH8dX6hf11a6MDkXTC+SuQlTIUNhhDNU7p58wbW5ukUvB95Yg==
X-Received: by 2002:a05:600c:3b1d:b0:43c:fe15:41d4 with SMTP id 5b1f17b1804b1-43cfe15436emr54371565e9.18.1741681846738;
        Tue, 11 Mar 2025 01:30:46 -0700 (PDT)
Message-ID: <5f207284-d206-417a-b963-c922119abe33@suse.com>
Date: Tue, 11 Mar 2025 09:30:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools: Mark ACPI SDTs as NVS in the PVH build path
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20250310152523.81181-1-alejandro.vallejo@cloud.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: <20250310152523.81181-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.03.2025 16:25, Alejandro Vallejo wrote:
> Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
> because SeaBIOS may otherwise just mark it as RAM. There is, however,
> yet another reason to do it even in the PVH path. Xen's incarnation of
> AML relies on having access to some ACPI tables (e.g: _STA of Processor
> objects relies on reading the processor online bit in its MADT entry)
> 
> This is problematic if the OS tries to reclaim ACPI memory for page
> tables as it's needed for runtime and can't be reclaimed after the OSPM
> is up and running.
> 
> Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for ACPI table region)"
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> I really, really, really dislike this idea of accessing the MADT from
> AML.

I think this isn't Xen's invention, but something I've seen in various
systems' AML.

> In time I'll try to implement something to stop doing it, but for
> the time being I find it preferable to align libxl to hvmloader rather
> than trying to restrict what's reclaimable and what isn't.
> ---
>  tools/firmware/hvmloader/e820.c | 4 ++++
>  tools/libs/light/libxl_x86.c    | 2 +-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader/e820.c
> index c490a0bc790c..86d39544e887 100644
> --- a/tools/firmware/hvmloader/e820.c
> +++ b/tools/firmware/hvmloader/e820.c
> @@ -210,6 +210,10 @@ int build_e820_table(struct e820entry *e820,
>       * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
>       * before an ACPI OS takes control. This is possible due to the fact that
>       * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
> +     *
> +     * Furthermore, Xen relies on accessing ACPI tables from within the AML
> +     * code exposed to guests. So Xen's ACPI tables are not, in general,
> +     * reclaimable.
>       */
>  
>      if ( acpi_enabled )
> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index a3164a3077fe..265da8072a59 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -742,7 +742,7 @@ static int domain_construct_memmap(libxl__gc *gc,
>              e820[nr].addr = dom->acpi_modules[i].guest_addr_out & ~(page_size - 1);
>              e820[nr].size = dom->acpi_modules[i].length +
>                  (dom->acpi_modules[i].guest_addr_out & (page_size - 1));
> -            e820[nr].type = E820_ACPI;
> +            e820[nr].type = E820_NVS;

This likely needs a comment then, too.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 08:35:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 08:35:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907390.1314618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trv57-0000n6-5S; Tue, 11 Mar 2025 08:35:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907390.1314618; Tue, 11 Mar 2025 08: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 1trv57-0000mz-2f; Tue, 11 Mar 2025 08:35:21 +0000
Received: by outflank-mailman (input) for mailman id 907390;
 Tue, 11 Mar 2025 08:35: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trv55-0000mt-7e
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 08:35:19 +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 c259f518-fe53-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 09:35:17 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-390f5f48eafso2533246f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 01:35: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-3912c01d81csm17614697f8f.58.2025.03.11.01.35.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 01:35: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: c259f518-fe53-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741682116; x=1742286916; 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=9gcX1TXYCg6ntY8ksYwFPbVpOrg3Qrl+xl8TA5paZNE=;
        b=f6EHM3E2qiNpjKZqjXEHm+vUNA87AhR5nz9VPMnofY4WUGkeVk4afdmiwYkFlLZY1Q
         cNFqRCDezxZo+LhjW8TP+0D3pHZ0BQMnNo8sihh2WyBBMyG45QTOZWf7N67w8zvhnAti
         46PUorvOBT3JdTAoJmqcz4e7PQ+P/pcXSWq8iRMmP4T56flBFP6VN6hWH5N2n2hXpaMb
         EKL9K47U91dD84vb9MzFmspkmEwohL9BFeS6UohwNZ/F+VuGMSg7UWcz5Kk4alY2uqwj
         Ld5618CQjZ6BNJQl4FWhaLak6JvlFY9+m6IZHXb/zmf9fSRzvF91VK+eFtlDP788IUGu
         Owng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741682116; x=1742286916;
        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=9gcX1TXYCg6ntY8ksYwFPbVpOrg3Qrl+xl8TA5paZNE=;
        b=TVZ8mhm2ne/XBP4I8TJH8CwpMs7pgw25BRXQNCAz8+6YezLrlkdxNIe8J8sSe1uNjP
         V8Z+ig1tBtx2AgEMMhbJ3M+xFUBXDP3DjwJxIBZQhO7IOF+KeIHLWDvZM6LPwrLOll83
         NqyQTnDbiZGgf67RsmSs8XUPlL3Ncoh+wVh9NZOK64Krv2/kRwzitUz4Fu31sq+YcOvR
         wKpH0b5WSVtfY3M8IYfMKcF4J6iK0CgC4NpG04Kyy9mkeyogsOBlHWX6uIsB2IwFvFYU
         JgrJuEkx4DCm2atWOZzobmEKKYkDO8BHeVafjrkHzcPi0AtzckvUYdA9pDWrMuYlhEir
         eh/Q==
X-Forwarded-Encrypted: i=1; AJvYcCXGIa2J/G6c0FtoummOo80fXSocGmQsuITfLtbvXg2gSmehXMJvgAHGjxWpdSDdRjgHRSUMQNg4T2M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yypy09gUF+rwxSFwnd9qO8nLLWtyd9yFhFMqwdcnAcVMwuYXPJB
	rGo3h/XS/slU0i1bWtjQFVh6xtma2RQryO9q6UPK4nW9qB9yh7EulCn+xKiFWw==
X-Gm-Gg: ASbGncts6SIpgvq5wKshNS4cRZ7EzAvTOQ5U3mDYmNJTa2W/RNgI6/VW90YrqWBYWp9
	YMKv/9Bm93U1Vf10+Hy0+e3kM4UUyDca08Qy+rkBXeP9V+ZPy2irbpopFsDfmJhUTwSGUH0XpsE
	8cbkuIGRcf7KL0nrC1matPWCnvopDWudFAHjIyfE06l6HOLPzAe1uMFp59dVcJ/noaJ3yVmNlS2
	bkS5lxfvksuHnTxkaym9NXv1yBtIaEqHdXFaBAJ2dDVNDKfjxJS+/l9vL/vSG9DhITPg5hj0dqZ
	YdORsgU5OQB307heRbLE4zMdwcr6qHvIdBQgmXivUcrrwfA2XPSfc/btBWgvxTMcmABYXnuce3R
	kEm/ShqVUT+2k5/vK4hMnTd/6/JbhnQ==
X-Google-Smtp-Source: AGHT+IEhyAST5rhVuek4aVwecZSOvF5fQ+vCnY/Iqgg4bF2Z0bOvERO7vKt6OVthSEUWKa0YIGcrQA==
X-Received: by 2002:a5d:588f:0:b0:391:1806:e23d with SMTP id ffacd0b85a97d-39132d7a3b6mr10788909f8f.6.1741682116598;
        Tue, 11 Mar 2025 01:35:16 -0700 (PDT)
Message-ID: <83f0a115-1a14-4992-91ea-df354c5176fd@suse.com>
Date: Tue, 11 Mar 2025 09:35:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] xen/arm: Create tee command line parameter
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: jens.wiklander@linaro.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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <9313ffc0cf2e8be7e39ba24e8849a27b6bae2526.1741617888.git.bertrand.marquis@arm.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: <9313ffc0cf2e8be7e39ba24e8849a27b6bae2526.1741617888.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.03.2025 15:50, Bertrand Marquis wrote:
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
>  
>  Flag to enable TSC deadline as the APIC timer mode.
>  
> +### tee
> +> `= <string>`

This wants an arch restriction, like we have for other command line options
supported only by one arch.

Jan

> +Specify the TEE mediator to be probed and use.
> +
> +The default behaviour is to probe all supported TEEs supported by Xen and use
> +the first one successfully probed. When this parameter is passed, Xen will
> +probe only the TEE mediator passed as argument and boot will fail if this
> +mediator is not properly probed or if the requested TEE is not supported by
> +Xen.
> +
> +This parameter can be set to `optee` of `ffa` if the corresponding mediators
> +are compiled in.
> +
>  ### tevt_mask
>  > `= <integer>`
>  



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 08:44:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 08:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907399.1314630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvDr-0002Nq-1m; Tue, 11 Mar 2025 08:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907399.1314630; Tue, 11 Mar 2025 08: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 1trvDq-0002Nj-T2; Tue, 11 Mar 2025 08:44:22 +0000
Received: by outflank-mailman (input) for mailman id 907399;
 Tue, 11 Mar 2025 08:44: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trvDo-0002Nd-QJ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 08:44: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 05d4fa20-fe55-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 09:44:19 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so9232405e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 01:44: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-3912c1030cfsm17760386f8f.90.2025.03.11.01.44.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 01:44: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: 05d4fa20-fe55-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741682659; x=1742287459; 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=U9QzownHLiU16AH6mH1UpTYSiJ6RaMIlL7uNMFd4PMY=;
        b=UISlmTbYFmnqQKfQCklIKIXWoaYm30PWtYCA7wKQG30YJiwBDbRgCGIoUZnGkbgWLd
         YW11/fFZYzcQlXjKokzbR7KNYwgBHXGjBp/7B6Jz9I5Pmvr/Xn/T6EP8b0eB6qLtzExB
         sC30CxKiH/Nb3Ci1jOweJhk267SJBlewBGqi+sg12IM55d6FHNM7sUbQRy1VR5vESvgW
         Ebm4apEVQqkhqkXIq4fNwO7gyc3inBh9PEkqhwy5YZma/hKPTgGTkHDQbxU8paloTdmE
         nSVMO61bLQJEeXet4+iMMVJcc+a3b3/ugRU6KLVrPYU4O6xR9CoAV8t6K1SgSm+8PuBf
         UAHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741682659; x=1742287459;
        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=U9QzownHLiU16AH6mH1UpTYSiJ6RaMIlL7uNMFd4PMY=;
        b=gz44qOCgInpad3ot62HuxBmT7FCJ62+9yFUmEBwcwqbR6wksNCOftZodTIHGFf0orB
         pgfwvydDim5fd7E4Um/WptIBZzoPpkDfjVcxFTxHBw5gEI8emnC1Kl6suyAGZwH4sfqA
         5goaha5dHh08pbvKh+AfZ5tdd7o2HinGBIjlkiXjQ0QcRn+KguENtxgO3d+ExP0jbwYl
         9FoOLDAraTZ18wG76m+7HANMdhG8q3W46BLKvFVZigTMpDbpD5bCGvutID/Ui5lreQ7n
         aq9PWMxRvr/NS63doH32LxVAKM/1oqgg1CP5tdxpu+oKfJ8JQn2d5ha5TNEp11UUmVax
         ZCtw==
X-Gm-Message-State: AOJu0YwRRfRvESRHNmTCWjHm9FzZPSlx9KQEgQpuHCyrp2Xxy0AbR/D3
	c7JcexqYk5pCjQQbz11XIi+ZZ/ySxZjBMeqBgczBX6SHXWFsrwt+1AQC1jDJiA==
X-Gm-Gg: ASbGncstuqZvWG3t2SJWmOk0ZyggspyF4qlv4XXIDvUphOUgHFq5jy0O9pYPBwdt4R3
	ZGxnt4C26/Vc1Cc5JCZ4MOfGNAI3mSF8eQGKlUB9WGNe7YNtf1pI9SkEdqyyGJVHO5TuagoSGJc
	rbz5UOXKg3SqaaJH4JZKEJgusM/DAFf0+Oa0iHPRMmIBTkIaUes4iI9IYgp6ZR2pnm2+q5vretM
	QGlxoflNZ45YFsZ6llbVz19gYvNLSqNwtwyRl8ALLSO/DCMyAxjAsGZI8odg681+IYNWWMLm/rd
	kYvmeXwBGDoTEQbFsdhK06BC1iiUEbyenwRuyAcu2YoIklGYz7nsfgSvZCaTHWhgGG7hcAZ8jqZ
	MGEV/fo++Oi7WiI3FQboTXU1GQBzPxA==
X-Google-Smtp-Source: AGHT+IHoBOFPCdOJpNGTcSNVeyY3fLyGdrvxnoqTeqrYKvVMymOa9DYNkXajSSvqw5uMljFFwPeMbQ==
X-Received: by 2002:a05:600c:470d:b0:43c:fab3:4fad with SMTP id 5b1f17b1804b1-43cfab351c6mr68763655e9.16.1741682659062;
        Tue, 11 Mar 2025 01:44:19 -0700 (PDT)
Message-ID: <b0aae379-9128-4d31-9a3f-92a500a30d75@suse.com>
Date: Tue, 11 Mar 2025 09:44:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
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" <xen-devel@lists.xenproject.org>
References: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@suse.com>
 <88d24595-50be-4f99-97d6-9126340b791e@suse.com>
 <Z879Aq-UNj-Jz5S1@macbook.local>
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: <Z879Aq-UNj-Jz5S1@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.03.2025 15:53, Roger Pau MonnĂŠ wrote:
> On Wed, Feb 26, 2025 at 12:52:27PM +0100, Jan Beulich wrote:
>> Handling of both grants and foreign pages was different between the two
>> paths.
>>
>> While permitting access to grants would be desirable, doing so would
>> require more involved handling; undo that for the time being. In
>> particular the page reference obtained would prevent the owning domain
>> from changing e.g. the page's type (after the grantee has released the
>> last reference of the grant). Instead perhaps another reference on the
>> grant would need obtaining. Which in turn would require determining
>> which grant that was.
>>
>> Foreign pages in any event need permitting on both paths.
>>
>> Introduce a helper function to be used on both paths, such that
>> respective checking differs in just the extra "to be unshared" condition
>> on the fast path.
>>
>> While there adjust the sanity check for foreign pages: Don't leak the
>> reference on release builds when on a debug build the assertion would
>> have triggered. (Thanks to Roger for the suggestion.)
>>
>> Fixes: 80ea7af17269 ("x86/mm: Introduce get_page_from_gfn()")
>> Fixes: 50fe6e737059 ("pvh dom0: add and remove foreign pages")
>> Fixes: cbbca7be4aaa ("x86/p2m: make p2m_get_page_from_gfn() handle grant case correctly")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Just a couple of nits below (with a reply to your RFC).
> 
>> ---
>> RFC: While the helper could take const struct domain * as first
>>      parameter, for a P2M function it seemed more natural to have it
>>      take const struct p2m_domain *.
>>
>> --- a/xen/arch/x86/mm/p2m.c
>> +++ b/xen/arch/x86/mm/p2m.c
>> @@ -328,12 +328,45 @@ void p2m_put_gfn(struct p2m_domain *p2m,
>>      gfn_unlock(p2m, gfn_x(gfn), 0);
>>  }
>>  
>> +static struct page_info *get_page_from_mfn_and_type(
>> +    const struct p2m_domain *p2m, mfn_t mfn, p2m_type_t t)
> 
> Re your RFC: since it's a static function, just used for
> p2m_get_page_from_gfn(), I would consider passing a domain instead of
> a p2m_domain, as the solely usage of p2m is to obtain the domain.

Okay, will do.

>> +{
>> +    struct page_info *page;
>> +
>> +    if ( !mfn_valid(mfn) )
>> +        return NULL;
>> +
>> +    page = mfn_to_page(mfn);
>> +
>> +    if ( p2m_is_ram(t) )
> 
> Should this be a likely() to speed up the common successful path?

Well. Andrew's general advice looks to be to avoid likely() / unlikely()
in almost all situations. Therefore unless he positively indicates that
in a case like this using likely() is acceptable, I'd rather stay away
from adding that.

docs/process/coding-best-practices.pandoc could certainly do with some
rough guidelines on when adding these two is acceptable (or even
desirable). Right now to me it is largely unclear when their use is
deemed okay; it certainly doesn't match anymore what I was told some
20 years ago when I started working on Linux.



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:02:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907427.1314662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvUy-0000HD-Nk; Tue, 11 Mar 2025 09:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907427.1314662; Tue, 11 Mar 2025 09:02: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 1trvUy-0000H1-Jv; Tue, 11 Mar 2025 09:02:04 +0000
Received: by outflank-mailman (input) for mailman id 907427;
 Tue, 11 Mar 2025 09:02: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trvUx-0000Gv-Gh
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:02:03 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e3955ef-fe57-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:02:01 +0100 (CET)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-224341bbc1dso64293365ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:02:01 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-224109ddfa6sm92756665ad.33.2025.03.11.02.01.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 02:01: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: 7e3955ef-fe57-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741683720; x=1742288520; darn=lists.xenproject.org;
        h=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=h9jJQv2zBM1hKIYuWNFSCANOkqGuZ15p1wEsb2QvYHY=;
        b=LxzlqcGE4Zf5V/GKsVnTgJPrq6QubKmED0oHSP+LKECBHlYlEaBjzWsfA+4LbRCGCa
         aqxQOYrIbRHotGesMCFcfjWffbq7pDXiQnkSWyQ2OFgaKqYYmjoXtMyj6kfcqbHlowpN
         EXyTgp3mE8QWvhLlWULAE+xa1kqf56ItbtlrI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741683720; x=1742288520;
        h=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=h9jJQv2zBM1hKIYuWNFSCANOkqGuZ15p1wEsb2QvYHY=;
        b=NItZkO38m3n02d9C6hos5X/p9qCZL1iLRxyz6TOG05NQ3NA9b64bohJbS/cW9FZ9tf
         CMB4Im/DAEqvRaFxp8O0XkiU+UDymCrAKlYS3MKJdspdQDrhDvvZoVXfRU5slljx3H5R
         TcTACHUW8w/jwhrdOWtcPA6zWwrwAzKGTaGp3wu7B1sP6i0peXtz6nR0nFCERI8Os6Hx
         LKgqFm8HmLj1+Gu8q3HWGtQCZ0k/bxJKQ1frofmvGvguN+cxFfQRiI7Eno/6y6ua9bHS
         KAgu95djdGkWmQ4nrGqAXwljpa6Pfk2l7uW/0LcnvKG31l4Ak4gP1Lh3/yXGypqPAYCj
         ku7g==
X-Forwarded-Encrypted: i=1; AJvYcCV/YjHrSmfyB2F+Wv7Vv28IWHG/GfSVg3RCOfsXRRyEoajCrrB7oX5oOJX1XIBvCyfJvcX+E9GTYJs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwbB8uU5+tLauo7w9hLle0vr8efM+FTloq1H39Oj+xqty0Tf+oy
	8qI8+xMMCJFnYJvc3zD0VnCnQbjd5tU1TN+3yTmu5NNF83tO0oTvUX/cHOcvXRWPWNXkGzoyjnR
	V
X-Gm-Gg: ASbGncsCBDMVrut1b69k/UA5m/Ugi3+8U6vXRsYc4vuZvWFObFPxJIfsWy3iOsGmm5+
	RsL6i7Qhcoarn+aIVmTHM81gtpRVPa4X7HTIZYN3UOnsGv6qMyJkKEw588BsBaB1Fnp4Atd9XhR
	WaOFoAYUABQ2YKkDUuWDZns8kNN4rIwhnCBA9GmTF+8hJXiL+zJcFAyNZEk8EtXsBF+MmpDbJiZ
	Uv0IUIrL4+gK3PkgUthLaLQgusDhFuhVDnOIPAcZ6d/CRhW0UryaOxcbOF85DBocTm9rHuXwStf
	KaP6ewMPcxs6hcV8TPuv+CDwwkSOxJ6wgLmhUotChw3WtjFuoQ==
X-Google-Smtp-Source: AGHT+IFxbieKDqKiqDqsZyO48yC9YBiFmJQYlZtMvqePLNAX2S3b+lI9YQMhc//HD9eOe71/WB8NVw==
X-Received: by 2002:a17:902:d592:b0:224:376:7a07 with SMTP id d9443c01a7336-22592e2ca6emr36225105ad.13.1741683719822;
        Tue, 11 Mar 2025 02:01:59 -0700 (PDT)
Date: Tue, 11 Mar 2025 10:01:54 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/3] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
Message-ID: <Z8_8ApvqOTCXkyq_@macbook.local>
References: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@suse.com>
 <88d24595-50be-4f99-97d6-9126340b791e@suse.com>
 <Z879Aq-UNj-Jz5S1@macbook.local>
 <b0aae379-9128-4d31-9a3f-92a500a30d75@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b0aae379-9128-4d31-9a3f-92a500a30d75@suse.com>

On Tue, Mar 11, 2025 at 09:44:18AM +0100, Jan Beulich wrote:
> On 10.03.2025 15:53, Roger Pau MonnĂŠ wrote:
> > On Wed, Feb 26, 2025 at 12:52:27PM +0100, Jan Beulich wrote:
> >> Handling of both grants and foreign pages was different between the two
> >> paths.
> >>
> >> While permitting access to grants would be desirable, doing so would
> >> require more involved handling; undo that for the time being. In
> >> particular the page reference obtained would prevent the owning domain
> >> from changing e.g. the page's type (after the grantee has released the
> >> last reference of the grant). Instead perhaps another reference on the
> >> grant would need obtaining. Which in turn would require determining
> >> which grant that was.
> >>
> >> Foreign pages in any event need permitting on both paths.
> >>
> >> Introduce a helper function to be used on both paths, such that
> >> respective checking differs in just the extra "to be unshared" condition
> >> on the fast path.
> >>
> >> While there adjust the sanity check for foreign pages: Don't leak the
> >> reference on release builds when on a debug build the assertion would
> >> have triggered. (Thanks to Roger for the suggestion.)
> >>
> >> Fixes: 80ea7af17269 ("x86/mm: Introduce get_page_from_gfn()")
> >> Fixes: 50fe6e737059 ("pvh dom0: add and remove foreign pages")
> >> Fixes: cbbca7be4aaa ("x86/p2m: make p2m_get_page_from_gfn() handle grant case correctly")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Just a couple of nits below (with a reply to your RFC).
> > 
> >> ---
> >> RFC: While the helper could take const struct domain * as first
> >>      parameter, for a P2M function it seemed more natural to have it
> >>      take const struct p2m_domain *.
> >>
> >> --- a/xen/arch/x86/mm/p2m.c
> >> +++ b/xen/arch/x86/mm/p2m.c
> >> @@ -328,12 +328,45 @@ void p2m_put_gfn(struct p2m_domain *p2m,
> >>      gfn_unlock(p2m, gfn_x(gfn), 0);
> >>  }
> >>  
> >> +static struct page_info *get_page_from_mfn_and_type(
> >> +    const struct p2m_domain *p2m, mfn_t mfn, p2m_type_t t)
> > 
> > Re your RFC: since it's a static function, just used for
> > p2m_get_page_from_gfn(), I would consider passing a domain instead of
> > a p2m_domain, as the solely usage of p2m is to obtain the domain.
> 
> Okay, will do.
> 
> >> +{
> >> +    struct page_info *page;
> >> +
> >> +    if ( !mfn_valid(mfn) )
> >> +        return NULL;
> >> +
> >> +    page = mfn_to_page(mfn);
> >> +
> >> +    if ( p2m_is_ram(t) )
> > 
> > Should this be a likely() to speed up the common successful path?
> 
> Well. Andrew's general advice looks to be to avoid likely() / unlikely()
> in almost all situations. Therefore unless he positively indicates that
> in a case like this using likely() is acceptable, I'd rather stay away
> from adding that.

Oh, OK.  My suggestion was based on the use of unlikely below.  I
assume the later unlikely() in the patch is just inheritance from the
previous code.

> docs/process/coding-best-practices.pandoc could certainly do with some
> rough guidelines on when adding these two is acceptable (or even
> desirable). Right now to me it is largely unclear when their use is
> deemed okay; it certainly doesn't match anymore what I was told some
> 20 years ago when I started working on Linux.

I would be happy to have some guidance there, as I think I've been a
bit erratic with suggestions about how to use them.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:04:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907436.1314672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvXK-0000nn-22; Tue, 11 Mar 2025 09:04:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907436.1314672; Tue, 11 Mar 2025 09:04: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 1trvXJ-0000nf-VH; Tue, 11 Mar 2025 09:04:29 +0000
Received: by outflank-mailman (input) for mailman id 907436;
 Tue, 11 Mar 2025 09:04: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=5FZT=V6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1trvXI-0000nU-Iy
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:04:28 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20622.outbound.protection.outlook.com
 [2a01:111:f403:2405::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2a3aa5f-fe57-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:04:23 +0100 (CET)
Received: from SA1PR05CA0022.namprd05.prod.outlook.com (2603:10b6:806:2d2::28)
 by CY8PR12MB7220.namprd12.prod.outlook.com (2603:10b6:930:58::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:04:19 +0000
Received: from SA2PEPF000015C8.namprd03.prod.outlook.com
 (2603:10b6:806:2d2:cafe::6a) by SA1PR05CA0022.outlook.office365.com
 (2603:10b6:806:2d2::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Tue,
 11 Mar 2025 09:04:19 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 09:04:18 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 11 Mar
 2025 04:04:17 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Tue, 11 Mar 2025 04:04:15 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2a3aa5f-fe57-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TpAYOLxJnME+yFX9hgxeIpvNWeB5lgLGk/QKvFa1mAe3TOmMKQDBw7z+ZVk0yHz0JqWS/95ZCEtkrqPsmpGxmEwNpzRKK5Pb3w8o10gNqJisPjjdcO2IRRQD9Ssss37pSR3tZZKIgsPtk8HxtjUOFFJu9uQR0FYO6D5jRx0Niwd/ViR62ZXQNPpVBHcd6HsNoMlAmrj/g4GDw/I9orJcDcM5lkUWEQPwVwFyle8pIyPWQgR5zFgYvebibHd5gLDf2WyS4dpaLPLlwrZZOrAgfscjWl9VKvf3TA7ZeIHZnLUqnTMVlWkIXvxRz+FYKICdhU71PtZKCJ6rzfPentPYBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d+wZE0XEfg9Z28rwBcHSeO2X4H4qtNEwOw8m8uv9TNw=;
 b=vm+dRL2pYpRHztAO55wvU2uKBpGMxEyouAU62whrgIrqGsmOzPv8jZ67/gEf8G9pLUzWP/vKTWavVL/0jK5qMKhYhjdhWI6F6N42gR/fOTYqRdxzdt8C3ojMniijC+doCA8zsOmGRSenYrww6foRH7pJOy7mih+5fU9RMeT+RyVYpDE+GRx5tDdtUjqsXtjjCT2fnP9t3FzEM8ll9v/o0MVO/qjYdFgqjiUjueNibFAJV/fe45MIDzvAeeNqi9J5CqJJC5piXC3iw8HBu/GsUyAXMMDAEOFteB3egY89PVzonu8NGlevKbqsileyEh7/tCVTDRjH1jRb5OWA6+6p7Q==
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=d+wZE0XEfg9Z28rwBcHSeO2X4H4qtNEwOw8m8uv9TNw=;
 b=o7Es5FJLwJDxAxnx8ewx1zIi706wTtRcGQ3IIIIrHcPfTs+ciHqu+RZF3boXsm/uC1oWrqDbu1Zq7nlvd+9nFuvcwoScz+WApELv9aZJ6/pL7iGmG96KKHwHlfuYCmkEORo8xeHpHBjO1+eGwVx5hvRFdofisVjapN+iiNWOUVs=
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=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/2] arm: better handling of nr_spis
Date: Tue, 11 Mar 2025 10:04:07 +0100
Message-ID: <20250311090409.122577-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C8:EE_|CY8PR12MB7220:EE_
X-MS-Office365-Filtering-Correlation-Id: f9b58a0c-acd7-468f-c2bb-08dd607bb4e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?cAsF5AhKhHCrp99zwc/RWfZLNY/+t2FsPYy27IQ4mH63Ih88b8T4uy4UeUf6?=
 =?us-ascii?Q?/M7enz9BkUOFbKYNE2W/HKhoBZfVNgGz+TnXPpnweZKVrQfMTHBjl6qIIqlj?=
 =?us-ascii?Q?h8n+LNwBCYnq6f8znFayybYfEwvMwYgNYy4sz7y/koQ+q9XTuwGlfa9UuOYo?=
 =?us-ascii?Q?8Tu4OzI+LY+Swwv7k2pBY+PsJLjAfxZCzV5RxLeV3hlTBWzu565xLYiQLV/J?=
 =?us-ascii?Q?IqWUnl7SUiI8kGM3Bii+MCMWsQ34G+aMNtkArU9o0WC4oblbyE4qCSzV8TES?=
 =?us-ascii?Q?87Tv+l3mAdHQNcJt3kVB6dPCQaisDhWBILoJvnbFkjAUdl/CooN+y7+sK6rv?=
 =?us-ascii?Q?eGW25cftO0guemVJUCyf1ythea9wOqkBGERsQi3pZ7E45+nrjNGgnhkzmMwN?=
 =?us-ascii?Q?m2EwHQV10RKUW8GhlyaHmv2OwPGmTscNjga5hKeyMFbLIUeg6JJCRXzi61sl?=
 =?us-ascii?Q?9+i6szV5iDyUZJuhSxu8amj/xrKhLLgmDrbIMqBru5BXlGVTMDQJWB3x+0YO?=
 =?us-ascii?Q?M5YAwOPUyHzoqc11dj7vBH4Otw1BdA0rSdReAv7OCsP9sGElmFpM1IXq2/SW?=
 =?us-ascii?Q?Igj346zn7Mf5w9Di7kfRrLASTF+zyInfx/EBN/UfKlN0Z+egVlFajlklzrPm?=
 =?us-ascii?Q?S+OZwEQinvVE9mc7xYtuhTs/Eo9Kr1LaUvaMSc9PLQgMn7NVXPG/VayjxCMd?=
 =?us-ascii?Q?EqW3C48Nh7I1FNxm0ADiaziakJlDQw19bXYzheZVzXOEszpXGG58Egwzi28V?=
 =?us-ascii?Q?Xy5n6zgnov1dh9QyL8ti8jgaAzEfrSiJ1HUH7DsAdpYQzTEUQcT9WGahXJPN?=
 =?us-ascii?Q?fmVCYPukaYIePkIHrTRXJmCZDaBhDRgrwfkA5VLg8t1VAQAviKMaRYeohp/2?=
 =?us-ascii?Q?5S8LUPbyI2GpfPUDD58oljRNH3LGOzZYxJiHYV5KdwRUwCXH+8eSHAShBtfx?=
 =?us-ascii?Q?CHidcqn9Y/Hy2OwJwENETTnAjmegqmcdkSnYOfJHFLyurhTLSmNdB7d0xQED?=
 =?us-ascii?Q?zFtXfi6329FW5BIZ8Wb052uksLDJQuQB2wp2v3Dz3zjF25rkl9j2c8iyUgdN?=
 =?us-ascii?Q?Tit5l11IA3iq4LUYO3bcXeikR/xptx0UngT08bz8o8M9Y6dJqnbckeHfwSt/?=
 =?us-ascii?Q?ei7op3eyBXlsVdnZhHfO7SFlbtiW4Zi95iAZtP3Y28sq69w5Y3PcnLdvmF1X?=
 =?us-ascii?Q?jsIFQQmmH+1c2K09zHRL5zZEGzwxICH/BtJ4GqkxXHb1pet0Rc288E8jPrHl?=
 =?us-ascii?Q?LNcH6UMJ33CFeN98DHGd54VygCjkUWFnEXCe/l1OFGWhiC628yGCp46aoqX2?=
 =?us-ascii?Q?bdUebBDaT39/Yt2yR3JoeP6woKFXEo6UyDHxr1ymclmb6ERKcXtr8KSs+aRt?=
 =?us-ascii?Q?jaI73tsI2zQZeFUHUh8SR8AgjCvgrcnj9P/dOVQHM4g4CI99p0A+4jTI2Pgt?=
 =?us-ascii?Q?hAZKFao8qJ2WrQkromBH/Tx5Dozux/O+?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 09:04:18.8003
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f9b58a0c-acd7-468f-c2bb-08dd607bb4e9
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015C8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7220

Refer:
https://lore.kernel.org/xen-devel/20250306220343.203047-6-jason.andryuk@amd.com/T/#mc15ab00940d5964b18b3d6092869dae6f85af1dc

Michal Orzel (2):
  xen/arm: Improve handling of nr_spis
  tools/arm: Reject configuration with incorrect nr_spis value

 docs/man/xl.cfg.5.pod.in        | 13 +++++--------
 tools/libs/light/libxl_arm.c    |  6 ++++++
 xen/arch/arm/dom0less-build.c   |  2 +-
 xen/arch/arm/domain_build.c     |  9 ++-------
 xen/arch/arm/gic.c              |  3 +++
 xen/arch/arm/include/asm/vgic.h |  3 +++
 6 files changed, 20 insertions(+), 16 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:04:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:04:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907437.1314681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvXL-000126-9L; Tue, 11 Mar 2025 09:04:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907437.1314681; Tue, 11 Mar 2025 09:04: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 1trvXL-00011y-5u; Tue, 11 Mar 2025 09:04:31 +0000
Received: by outflank-mailman (input) for mailman id 907437;
 Tue, 11 Mar 2025 09:04: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=5FZT=V6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1trvXJ-0000na-Pp
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:04:29 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20605.outbound.protection.outlook.com
 [2a01:111:f403:2406::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5b43dfa-fe57-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 10:04:28 +0100 (CET)
Received: from SN6PR08CA0035.namprd08.prod.outlook.com (2603:10b6:805:66::48)
 by CH3PR12MB8073.namprd12.prod.outlook.com (2603:10b6:610:126::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Tue, 11 Mar
 2025 09:04:21 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:805:66:cafe::fa) by SN6PR08CA0035.outlook.office365.com
 (2603:10b6:805:66::48) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Tue,
 11 Mar 2025 09:04:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015CB.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 09:04:20 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 11 Mar
 2025 04:04:20 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Tue, 11 Mar 2025 04:04:18 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5b43dfa-fe57-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Y3lmWCBI1SfwzKnPhDhYbys+TwSBiZBEvoEWI7Nzl8s8AVSJzY1ZEl4D2Q2tpt1lEQ2lRuM5AHf17lFwXakfeQq8GbpWtXuCjIZRs8VC3JpANkombCoApGLLbGc7GlsdY6jtA+aqontJimmZG9i7mGHILvfP+vfIIUXdOdn4jx+0/NcKgXkf6b9sH9Zuxtr8/SpqgxG6W8h8UZO22jKGwF4Y5A9Lc1YRdaeLKEOt0wsrUiA8iDObRIaEYDucgNmZ/ajhAAaGPPjxKHYdSv+nhMZfPso5d8cv237ade78dxNbMN7uAtHudC9/9hcuAhxMcFqYGTyfsLgodNu2su3Fuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=80brAO46bmDac1yCYoJVXqrH6nv3qcWOTeS80rNdmTU=;
 b=ajwZdNd4WmkXInHzTKoDYRN7hGVJdpyCCindVlAZJxtoVgEp0WZ0hyX3Fg1eDrxyVinKd/ortq95PdJbvh2fcdk3zYLRZuybIkA6U8MNC+YUwqQNjWqYKOMJFp984NCnlbCYaZORfk0tZbVA/XnLf5hW9MI3PSXSVh+jkyhXWtJ3pZkH8Z0GqD/TUhkK+kWmWQCaQScUZKO/vFxRqDbTaJVz1Z6lWJ88ezqFyFQJKge36hhmlGP3maNVKeLKNS4xeqQyDsoSzR2CpABlFVWFkcAm+F/ym1CWPtGfBizCBfeMzy91cMBjg5HIgAVvRjxrrXEF1K0CUVXqweVc2YYyNA==
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=80brAO46bmDac1yCYoJVXqrH6nv3qcWOTeS80rNdmTU=;
 b=hbk75kEkMLj54z4Hx8m793xM0kWOih85m8BKgM1OLXlPLtvei+D1CPpYZ8GzzkWXuHUFGditEb1vUPQFyYExCYajZ9ua29K0rGGNufhYe3MYmP2sz9YqcYk8+OFvPbq4/A1BEYcvR5Clm57VXuWC85BXsCw4oKKO0pw5xFf64IM=
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=SATLEXMB03.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>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>
Subject: [PATCH 2/2] tools/arm: Reject configuration with incorrect nr_spis value
Date: Tue, 11 Mar 2025 10:04:09 +0100
Message-ID: <20250311090409.122577-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250311090409.122577-1-michal.orzel@amd.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|CH3PR12MB8073:EE_
X-MS-Office365-Filtering-Correlation-Id: a40a0a1f-a7ff-42cd-292c-08dd607bb632
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:
	=?us-ascii?Q?KQ/+PtggQAdTEuhWmxhbXx5iO6Dojx/XPEHrVsv8K4qfVuPWANMzG+c+BuI5?=
 =?us-ascii?Q?W7TLHDqimEwQoSyAFHWK6tnopcmz3xBZXN+C3f9FE0yIr6BM8FdO2efIt08Q?=
 =?us-ascii?Q?MJPDDV2SKRmlpJViNVeUEKBMWGnwEC/7pC/29GCPgzhI85kgsiOZCBS/Id/4?=
 =?us-ascii?Q?bukVAgdXiB+kG5ZhbuJLIMpGT8UxiQO7KAWrnStlB9suFv3I0bmKk1Glq0Nt?=
 =?us-ascii?Q?KpULsMPEK9Zqg80rYSX/9GngNyG3RMghFAxBNsQ/mE5XSWPegLlriQ9kyB86?=
 =?us-ascii?Q?j1P2mggxSRkNEG8uRNkfhpNjVhql5e7SngxrYjD5PCIr4NrshEl1HIhQ7TsE?=
 =?us-ascii?Q?HQzVlyvItcPcKvPu/pEFhvhgIdOyAOLG6JQ6iV6h+Cg34M2a0twPlAkapc/O?=
 =?us-ascii?Q?Zu6NwjP+q2qaNBqK4NOupy1303XMHfIYPrye7fit/tJ996SahnFbyJbSdpbR?=
 =?us-ascii?Q?oIQFiEjBzY3ND9CQlUE12ELLK9rPlxDtSMIBbqjPnXw6tMkDj1RCdC2FBm2f?=
 =?us-ascii?Q?s8hVfEGalFWtcApR5SJvaI7NfMFFLa1gXRhsDlEtEy0FKGalSsedi2uqfjQA?=
 =?us-ascii?Q?H4+2xEpW8cHmFd7818qCrOUvLiZpnRpj05HFNqOMfC0u3agOaMRMDade1gfJ?=
 =?us-ascii?Q?a8zwCzFTk4TvPheQ8Dr8glSlQ8S8HH3RfukZxKXH8boL9j/uNKFtkPql9469?=
 =?us-ascii?Q?OlgDRFXjjBGpiu+7mfqp3Q6suNidAxlrImAcWkslY1+UYfxgynhllCJVq8fe?=
 =?us-ascii?Q?M3bH/a/7IIDwHF9si5Rh1qitMH+NqY/DRPmYBL3tFe8wUiYCV2I6QGwpgew4?=
 =?us-ascii?Q?fL/HISPDsjlv/y10M6j0nrD/Ae6SXkd0NxtBYKHA1hRs7OCfZdU3l33oQVpc?=
 =?us-ascii?Q?lVzvsGc27sRRb4Sz5BLN3XqFScA1+y34xoobJ2b9UtVn1VvUp2CTlGR24GuE?=
 =?us-ascii?Q?/VYQPepN0RGiE2t3dwhucQuJLe2VZaPfFglJA+eBF8ee3NEBJkaHaIrkp3bB?=
 =?us-ascii?Q?zJrezpMGtggfZI14ocDFptFISFwjJC0aEODzoKTdWQkq34EhNU340eDuM4V2?=
 =?us-ascii?Q?RFF1wWa/Ogm3UC7icDYR1Gq44q+8/QN/e9jIClfu4bkoXtSqPG3rUtXnF7pz?=
 =?us-ascii?Q?7NHguBzQqQafCCV6EAgSnBtCkZpBtXxblIBsv9bV5SnrmSmm/uYE9IH0WiQi?=
 =?us-ascii?Q?zJTuPFMSI8RkMW25cxgBefASneDXUxWD4n8Le8n2e00osrHcUlHjbAdVSfbT?=
 =?us-ascii?Q?yZlT+awUaACAe944y8aZK6/1hiFRSuXgT1LG2Y9DbWsDDlnYZ/cUQmFOaOZf?=
 =?us-ascii?Q?zzzPMqlUhL+HVJv5FwlTmyKPusJbVSlQuqUax6aI3cfuJFeqmAZ1wU2vXs54?=
 =?us-ascii?Q?Awsu1ddIx6lipSt1tJzZZOlKqHMiim3G5Uz/HsxdOoic+XffQUpJvB//I1sT?=
 =?us-ascii?Q?jwVfVReuq2Z6VfhkavwM3ZXjKfv2H6uHDCE9z6TOahwuQyWSnUkxNYX/lYiE?=
 =?us-ascii?Q?IvMEmrWggWT2wik=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 11 Mar 2025 09:04:20.9369
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a40a0a1f-a7ff-42cd-292c-08dd607bb632
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8073

If the calculated value for nr_spis by the toolstack is bigger than the
value provided by the user, we silently ignore the latter. This is not
consistent with the approach we have in Xen on Arm when we try to reject
incorrect configuration. Also, the documentation for nr_spis is
incorrect as it mentions 991 as the number of max SPIs, where it should
be 960 i.e. (1020 - 32) rounded down to the nearest multiple of 32.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 docs/man/xl.cfg.5.pod.in     | 13 +++++--------
 tools/libs/light/libxl_arm.c |  6 ++++++
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 8e1422104e50..7339c44efd54 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -3083,14 +3083,11 @@ interval of colors (such as "0-4").
 =item B<nr_spis="NR_SPIS">
 
 An optional integer parameter specifying the number of SPIs (Shared
-Peripheral Interrupts) to allocate for the domain. Max is 991 SPIs. If
-the value specified by the `nr_spis` parameter is smaller than the
-number of SPIs calculated by the toolstack based on the devices
-allocated for the domain, or the `nr_spis` parameter is not specified,
-the value calculated by the toolstack will be used for the domain.
-Otherwise, the value specified by the `nr_spis` parameter will be used.
-The number of SPIs should match the highest interrupt ID that will be
-assigned to the domain.
+Peripheral Interrupts) to allocate for the domain. Max is 960 SPIs. If
+the `nr_spis` parameter is not specified, the value calculated by the toolstack
+will be used for the domain. Otherwise, the value specified by the `nr_spis`
+parameter will be used. The number of SPIs should match the highest interrupt
+ID that will be assigned to the domain.
 
 =back
 
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 5a9db5e85f6f..ee9154298f2a 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -181,6 +181,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 
     LOG(DEBUG, "Configure the domain");
 
+    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
+        LOG(ERROR, "Provided nr_spis value is too small (required %u)\n",
+            nr_spis);
+        return ERROR_FAIL;
+    }
+
     config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
     LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:04:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:04:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907438.1314692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvXM-0001H5-HD; Tue, 11 Mar 2025 09:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907438.1314692; Tue, 11 Mar 2025 09: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 1trvXM-0001Gu-DA; Tue, 11 Mar 2025 09:04:32 +0000
Received: by outflank-mailman (input) for mailman id 907438;
 Tue, 11 Mar 2025 09:04: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=5FZT=V6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1trvXK-0000nU-HI
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:04:30 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20604.outbound.protection.outlook.com
 [2a01:111:f403:240a::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d59ffdf0-fe57-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:04:28 +0100 (CET)
Received: from BY3PR03CA0018.namprd03.prod.outlook.com (2603:10b6:a03:39a::23)
 by BL1PR12MB5851.namprd12.prod.outlook.com (2603:10b6:208:396::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:04:24 +0000
Received: from SJ1PEPF0000231E.namprd03.prod.outlook.com
 (2603:10b6:a03:39a:cafe::9a) 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.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 09:04:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF0000231E.mail.protection.outlook.com (10.167.242.230) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 09:04:23 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 11 Mar
 2025 04:04:18 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Tue, 11 Mar 2025 04:04:17 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d59ffdf0-fe57-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ApwisKWEWA/kDPsohgQvyPNJvq3+aF8oML3GPR7pj5Tsh3mp/kquWGwdP+qteNqqJUIdpS0M1KO+CAK8AK0czhJdiPzPh5s47ar44zIa1hCRVYjPL2rDWyo4pY5n2HRlHYuEhBOqTKzAWusM8LQyz3hGWD8ImaLMkKkPbeAEMDfEogVXG09iXAUby2O5wPY3Lopr6Cx+CInzgcHERtCTeLrjYAR9T9Yya98Asrx45wQqLWBH40hYQ6sdl7uTE1lA2z4Vurbma9i+7u8BN+t4XZ5G/18LXnjYT219dIFGUVbwpTMzCKd4QRxTeByjGoKFNXpa2iSitgp6hEw7a+gIuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=09ybYecYRoOEzAvj3BYdvry8lchrGyNnjUK7uSVH+5I=;
 b=MgCYOhDP2Hsa5IZKEzRMMLdnIqLKZgU0z1ULRE3ynoKOA82KglymesijSBwE/YpzxejBWA3sJGdWOP6ha0cAf1wD6D6StuIWSaeRT8HMw4AvzTKhg5t1U3i2k9KkL+Cp4n2fH9Wv75thIezNv1BGbGALvZq6AqQK2lGNaevz4CoM28JSwz06D7M8qu1tA1YFqYEv51Xcwkr2Qwi0p6H3DY5vnNZ0oy3WRETu2jzoF9TLFXIYU4LK6n0NvaS9CJCWhc6WjzLnQGRlmHmM3UtStm3a4b4rDldgmBO5AkUQ+GUagghV3VsONxsfWpuMymRzkQfOhVVC/SKsTm1c91zhyw==
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=09ybYecYRoOEzAvj3BYdvry8lchrGyNnjUK7uSVH+5I=;
 b=dfqjPDKbGsyiu4DQGFXtcNbqwLcCju1XEWkCK2wSURgPwgAAwDqAwdOufv1rbmqpVGIKwBjHWm1yTVmcZQO4MigPpVBllrRV+iqeo621C/p1mh+Nb4jH3VTLOKarsUtqQypHsdk6kk/s7+yav/KQxUiA5IH+bdpMHmieoSPMJiU=
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=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Date: Tue, 11 Mar 2025 10:04:08 +0100
Message-ID: <20250311090409.122577-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250311090409.122577-1-michal.orzel@amd.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
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: SJ1PEPF0000231E:EE_|BL1PR12MB5851:EE_
X-MS-Office365-Filtering-Correlation-Id: 54dcec8f-d655-465e-8c0c-08dd607bb7cb
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?GDXvmGubcQy3cxVIm1WFwouJwJ3lFV74KGPtYVhF1Wsol7vvD5XOoCt5qdmg?=
 =?us-ascii?Q?8e88jN3NDj9vSpIOdfRvLVGgbnMz0Hg4aQOFYQoflPe+t73ux0n7qWUDiKkn?=
 =?us-ascii?Q?ydr8q0Kks0DG2/+nvkjXgx7NZC/2GlmXUkLvZ8mD8wRmvZr7nOE9UNmBINkp?=
 =?us-ascii?Q?fgJrtYrzfeK8h8YJfI+zPxt8XXEK9SNGXy9UfcdB/yIdENgGBKq92JjHHkle?=
 =?us-ascii?Q?iiCMEAf8wLkVP8NzVA+pTdFDKnmKU8RAadqgCRy0aZyZesyFZjZrInJ2wiFx?=
 =?us-ascii?Q?B4qOuYL8YSjgRx/Avvh5Vp0toRxiFSQsDfGCwApRAOjALBPZLwbttf7unRur?=
 =?us-ascii?Q?vPc96vmAuCpTzRqaCBmghYz4tdStruvXfKByZ76dm/vqVQ9bJ3o8JHOsRucH?=
 =?us-ascii?Q?ocJyUNcVa+NAuoScOrPaNPR0BqiUvdxc31W+i6NM4h6Zbwo8ZO+6/SDLuRnR?=
 =?us-ascii?Q?9Fuwro2VvLEp7rBnFhlD0KhpP6H86WOHQDqgnSL4o7r+td6xoXcbwJleD0A6?=
 =?us-ascii?Q?zZxi4aBC9eQbRHMarNzYo3qFDOiy2+9S6teHEMfMlxAsjpTVQgYSxmST6Kgf?=
 =?us-ascii?Q?VphaBfCcuYTkgvANMofM1AgWtUboWzUR6r+xIWGVugZmjEm9PoobtEGB+JSE?=
 =?us-ascii?Q?UTrJHrfaCdR4th8a8O51JnclVlRsvgdOIBDg95PY43uCUq0DUM9fpJ+8JMgN?=
 =?us-ascii?Q?zmcHJUVtEQ09f4Uv7yo0pxtA9PbKjpUuwL1gP41fcpRAIDswRrLDlmiWNMj1?=
 =?us-ascii?Q?2J2++4Ufic4KdRHhXMGBBcAVcU8Yl7L66OKvQrhQFQhKzbyatoHO2AmTr7Ai?=
 =?us-ascii?Q?D/QG3pFjCUhQwn0Aljn3dliMHRyucBiRuqUm1KJ6vI+RXn/+hB8aI9sWIpul?=
 =?us-ascii?Q?3Cdt7MN//3vEzbZzAxtAwj3lSli5mUCo3rhGUkOJxCfFVmk1se0k2FWbo2n0?=
 =?us-ascii?Q?4ADaTRB4rqQrqNqiqSJxFEr82LHzHmIVd2ahJ07TGIbiE0NI3cZx94R40pHI?=
 =?us-ascii?Q?HPxpLoP70yvQcEdFy4eYn2G3eD1FptJ5r2uINvHlAxFwxYFIGG54OQyLxEPg?=
 =?us-ascii?Q?gW7t1c+n23ZEPEfC1nOCwmjwad9bVEV/27vc1BWX0IawZ9EKhtPhG5xiMWWz?=
 =?us-ascii?Q?uRQIM3E1uhaLUQtMHdoQJSdRjKWm6g4PJwX/yRnjmBSfciWoByHa2N92IwMS?=
 =?us-ascii?Q?xlJjR1NJwj0qxrXM0AW9YjUcrDsK1cJKagp7KjwhpRKJu4vLHStUj9g1oVQ+?=
 =?us-ascii?Q?f/V0JyRTOjITLwj9CbEYnRiGmhhi+GL3bIoY3291pE5mpCjFbHw4SZx4CMyM?=
 =?us-ascii?Q?O6gBerJR5pygyxm5mjg7heNpCDR66n5MaPcvEbXXYkn/WS5l1ECNwX2NZIl/?=
 =?us-ascii?Q?KNHIA2T7JLNLn5+hHPM77sTB1N1ZWpXTM2y8eCdWdQr9rwa62DlaDScZdR76?=
 =?us-ascii?Q?jNjOnr2Jik/BJBizoVDNmIjhiJGQzhUkRkG4xLVbtgYVvSD7YsehrjgCGZRU?=
 =?us-ascii?Q?KInpIQaFslTCXrY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 11 Mar 2025 09:04:23.5730
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 54dcec8f-d655-465e-8c0c-08dd607bb7cb
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF0000231E.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5851

At the moment, we print a warning about max number of IRQs supported by
GIC bigger than vGIC only for hardware domain. This check is not hwdom
special, and should be made common. Also, in case of user not specifying
nr_spis for dom0less domUs, we should take into account max number of
IRQs supported by vGIC if it's smaller than for GIC.

Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value.
Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
IRQs comparison common.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/dom0less-build.c   | 2 +-
 xen/arch/arm/domain_build.c     | 9 ++-------
 xen/arch/arm/gic.c              | 3 +++
 xen/arch/arm/include/asm/vgic.h | 3 +++
 4 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 31f31c38da3f..9a84fee94119 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -1018,7 +1018,7 @@ void __init create_domUs(void)
         {
             int vpl011_virq = GUEST_VPL011_SPI;
 
-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+            d_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
 
             /*
              * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7cc141ef75e9..b99c4e3a69bf 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2371,13 +2371,8 @@ void __init create_dom0(void)
 
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
     dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
-    /*
-     * Xen vGIC supports a maximum of 992 interrupt lines.
-     * 32 are substracted to cover local IRQs.
-     */
-    dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
-    if ( gic_number_lines() > 992 )
-        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
+    /* 32 are substracted to cover local IRQs */
+    dom0_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
     dom0_cfg.arch.tee_type = tee_get_type();
     dom0_cfg.max_vcpus = dom0_max_vcpus();
 
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index acf61a4de373..e80fe0ca2421 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -251,6 +251,9 @@ void __init gic_init(void)
         panic("Failed to initialize the GIC drivers\n");
     /* Clear LR mask for cpu0 */
     clear_cpu_lr_mask();
+
+    if ( gic_number_lines() > VGIC_MAX_IRQS )
+        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
 }
 
 void send_SGI_mask(const cpumask_t *cpumask, enum gic_sgi sgi)
diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
index e309dca1ad01..c549e5840bfa 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -329,6 +329,9 @@ extern void vgic_check_inflight_irqs_pending(struct vcpu *v,
  */
 #define vgic_num_irqs(d)        ((d)->arch.vgic.nr_spis + 32)
 
+/* Maximum number of IRQs supported by vGIC */
+#define VGIC_MAX_IRQS 992U
+
 /*
  * Allocate a guest VIRQ
  *  - spi == 0 => allocate a PPI. It will be the same on every vCPU
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:18:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907468.1314701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvkN-0003k9-Nt; Tue, 11 Mar 2025 09:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907468.1314701; Tue, 11 Mar 2025 09:17: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 1trvkN-0003k2-LL; Tue, 11 Mar 2025 09:17:59 +0000
Received: by outflank-mailman (input) for mailman id 907468;
 Tue, 11 Mar 2025 09:17: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=QaIb=V6=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1trvkN-0003jv-0r
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:17:59 +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 b6c06ff7-fe59-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:17:54 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso14340985e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:17:54 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43cf27f8ef3sm78672445e9.11.2025.03.11.02.17.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 02:17: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: b6c06ff7-fe59-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741684674; x=1742289474; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0dzrzcyd8GjsfaBoKtl9Wiw+PcOdfc4AoYsq7TuoxVg=;
        b=EMvt49TXYNOPTbxvXEpNlgmLKyBm5V/HW8sXPWRm6BEoU43lZDO2KwwJ+BNajG8YMa
         3fDSiBfZUTvRtqmFyKnE14JHOt4iL3UStlF2reemtxDvIfw5XGZ7RbxQH4gAVuLiJb5c
         sVNHkueNbxl+MSE817/E7sy8auimRjw7plg/A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741684674; x=1742289474;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=0dzrzcyd8GjsfaBoKtl9Wiw+PcOdfc4AoYsq7TuoxVg=;
        b=NkJ9kaU+2+iwoTcZmAxTQqxBWh+MlzrOjLJREONjsGC2p0Z/3oi+w5JfzgmrBCy+dq
         X3MFZGoMuK2s5Csz+nojYO8CpNN/GE8t0SXfaqfjjqon5wk9ru4cqQnGkO4SnjUzQxxn
         H202S2SKeZWLOVlWMd1dMbH3UEAPnhHO2WW/84Q7U9fS5N2N++NyPnibTZHysq7ol3KM
         bTyISXafpDafLKnaObmlOwM1q2SRXzmLiKD8EoV+RQTVU7Wfs/50hBgzEWxPyF/jwsS2
         vYQ9JD39mT8BIFmvl8L/eWj4J8wOmEKYBUFgKWeRbXTy37GI6fFAnSUppRwBhZsZU1Su
         yELA==
X-Forwarded-Encrypted: i=1; AJvYcCXjG61WfV0+Qz06qvuXnpijxLGe7zkLOOIjh/utrPIwDyTRIgRPjAH7WPTw8DmYxc4aD3JtX88g1TU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwyvAEzx77R/CBaJbehkjKh54cQPl8kQX+00G4Xwyp24g0nHHtz
	NsSaA/xrGfoyGgM0gW/rHt6ZNGcw8+iBTfbeEo+He3UISUJ1V4eryd4YJUvGOof9hpwIBuRMswD
	6X0k=
X-Gm-Gg: ASbGncsPWqRXQs8qFK6hsDLpZ+owywIpG+Edj3l/bRtSh2SvZKlDpH8sBgQQ6S7yWjj
	32djRAGAaBR32Wb/oldtFEiK70YgStX4vqx724px3SJIC6/wPD+haOUaRuIKm+GA7U8v3+4/CFR
	M6SwtHpY/ok5p+B1eQx+SIgIBNEwPB3Kw/mEmcb/fOl57goJTcM2frqHf/YtB1gAkvT/iqUAdDK
	7hVfgXLK1oEdLVfGjoUe2bgBXi2ORJrNtBgnPB8n2fK5gHUcc9PUaw5fEhy9TfH3GM1RWBBEXZf
	GYVqpLkxLcp1/PDLhm5hBV+HPeuYhbDkbhCe2q4Tkl8T8X+gVF8=
X-Google-Smtp-Source: AGHT+IG2adtEzPJsUBOh3ZFuOSLZfOKqlIR2xFoxwrtMpZSO3oFAgkcovhJZOzgowr/MtDwzRgKI9w==
X-Received: by 2002:a05:600c:470c:b0:43c:f050:fed3 with SMTP id 5b1f17b1804b1-43cf051022dmr92439915e9.11.1741684673845;
        Tue, 11 Mar 2025 02:17:53 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 11 Mar 2025 09:17:52 +0000
Message-Id: <D8DBOSSN37VY.1VN43MHCQ5AGR@cloud.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>, "Juergen Gross" <jgross@suse.com>,
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] tools: Mark ACPI SDTs as NVS in the PVH build path
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20250310152523.81181-1-alejandro.vallejo@cloud.com>
 <5f207284-d206-417a-b963-c922119abe33@suse.com>
In-Reply-To: <5f207284-d206-417a-b963-c922119abe33@suse.com>

On Tue Mar 11, 2025 at 8:30 AM GMT, Jan Beulich wrote:
> On 10.03.2025 16:25, Alejandro Vallejo wrote:
> > Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
> > because SeaBIOS may otherwise just mark it as RAM. There is, however,
> > yet another reason to do it even in the PVH path. Xen's incarnation of
> > AML relies on having access to some ACPI tables (e.g: _STA of Processor
> > objects relies on reading the processor online bit in its MADT entry)
> >=20
> > This is problematic if the OS tries to reclaim ACPI memory for page
> > tables as it's needed for runtime and can't be reclaimed after the OSPM
> > is up and running.
> >=20
> > Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for=
 ACPI table region)"
> > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> > ---
> > I really, really, really dislike this idea of accessing the MADT from
> > AML.
>
> I think this isn't Xen's invention, but something I've seen in various
> systems' AML.
>

Do you mean ACPI hotplug? I don't think I've ever seen a real system with
support for it. I don't suppose you remember any specifically? I'd be quite
interested to have a look at their ACPI dumps.

> > In time I'll try to implement something to stop doing it, but for
> > the time being I find it preferable to align libxl to hvmloader rather
> > than trying to restrict what's reclaimable and what isn't.
> > ---
> >  tools/firmware/hvmloader/e820.c | 4 ++++
> >  tools/libs/light/libxl_x86.c    | 2 +-
> >  2 files changed, 5 insertions(+), 1 deletion(-)
> >=20
> > diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader=
/e820.c
> > index c490a0bc790c..86d39544e887 100644
> > --- a/tools/firmware/hvmloader/e820.c
> > +++ b/tools/firmware/hvmloader/e820.c
> > @@ -210,6 +210,10 @@ int build_e820_table(struct e820entry *e820,
> >       * space reuse by an ACPI unaware / buggy bootloader, option ROM, =
etc.
> >       * before an ACPI OS takes control. This is possible due to the fa=
ct that
> >       * ACPI NVS memory is explicitly described as non-reclaimable in A=
CPI spec.
> > +     *
> > +     * Furthermore, Xen relies on accessing ACPI tables from within th=
e AML
> > +     * code exposed to guests. So Xen's ACPI tables are not, in genera=
l,
> > +     * reclaimable.
> >       */
> > =20
> >      if ( acpi_enabled )
> > diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.=
c
> > index a3164a3077fe..265da8072a59 100644
> > --- a/tools/libs/light/libxl_x86.c
> > +++ b/tools/libs/light/libxl_x86.c
> > @@ -742,7 +742,7 @@ static int domain_construct_memmap(libxl__gc *gc,
> >              e820[nr].addr =3D dom->acpi_modules[i].guest_addr_out & ~(=
page_size - 1);
> >              e820[nr].size =3D dom->acpi_modules[i].length +
> >                  (dom->acpi_modules[i].guest_addr_out & (page_size - 1)=
);
> > -            e820[nr].type =3D E820_ACPI;
> > +            e820[nr].type =3D E820_NVS;
>
> This likely needs a comment then, too.

Fair enough. Let me send a v2 with that.

>
> Jan

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:21:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907480.1314712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvnW-0005Kg-56; Tue, 11 Mar 2025 09:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907480.1314712; Tue, 11 Mar 2025 09: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 1trvnW-0005KZ-2K; Tue, 11 Mar 2025 09:21:14 +0000
Received: by outflank-mailman (input) for mailman id 907480;
 Tue, 11 Mar 2025 09:21:13 +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 1trvnV-0005KT-7n
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:21:13 +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 1trvnV-00EThc-05;
 Tue, 11 Mar 2025 09:21:12 +0000
Received: from [2a02:8012:3a1:0:d5e1:ab8b:3d02:5aa4]
 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 1trvnU-003deD-1y;
 Tue, 11 Mar 2025 09: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>
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=oMgLVYklDh0YrOc0j6PCgzR6NlxnMWRVmt9aLSX5P4g=; b=AnP3YDPYIcDY4MS+SIuhDcs3xe
	TMosS0NUpWhGS4NXdsT54r+yeLSy4kXxhh5AweipeO68pqku17/DpVecEhNRd4hMFa9XEMQYdiGtg
	Ie+AZ8c9ROk5ZG/+at9xfFc7tJ8V+94NH7JRDHrGPhkZMKqDa2dt77biqGlVDTTV0CqY=;
Message-ID: <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
Date: Tue, 11 Mar 2025 09:21:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs: specify numerical values of Xenstore commands
Content-Language: en-GB
To: Juergen Gross <jgross@suse.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250311073131.13539-1-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250311073131.13539-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 11/03/2025 07:31, Juergen Gross wrote:
> In docs/misc/xenstore.txt all Xenstore commands are specified, but
> the specifications lack the numerical values of the commands.
> 
> Add a table with all commands, their values, and a potential remark
> (e.g. whether the command is optional).
> 
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - replace "Ĺ" with plain "r" (Jan Beulich)
> - replace hard tabs with blanks (Jan Beulich)
> - allow GET_FEATURES and GET_QUOTA support without SET_* (Jan Beulich)
> ---
>   docs/misc/xenstore.txt | 57 ++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 57 insertions(+)
> 
> diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
> index 7e1f031520..8b4b790e11 100644
> --- a/docs/misc/xenstore.txt
> +++ b/docs/misc/xenstore.txt
> @@ -86,6 +86,63 @@ parts of xenstore inaccessible to some clients.  In any case passing
>   bulk data through xenstore is not recommended as the performance
>   properties are poor.
>   
> +---------- Defined Xenstore message types ----------
> +
> +Below is a table with all defined Xenstore message types (type name
> +and its associated numerical value).
> +
> +Some types are optional to be supported by a specific Xenstore
> +implementation.  If an optional type is not supported by a Xenstore
> +implementation, Xen tools will continue to work, maybe with slightly
> +reduced functionality.  A mandatory type not being supported will
> +result in severely reduced functionality, like inability to create
> +domains.  In case a type is optional, this is stated in the table with
> +the lost functionality in case Xenstore doesn't support that type.
> +
> +XS_CONTROL               0    optional
> +    If not supported, xenstore-control command will not work.

Are we documenting anywhere how a user could figure out if the command 
is not supported? Is it a specific error code?

> +    XS_DEBUG is a deprecated alias of XS_CONTROL.
 > +XS_DIRECTORY             1> +XS_READ                  2
> +XS_GET_PERMS             3
> +XS_WATCH                 4
> +XS_UNWATCH               5
> +XS_TRANSACTION_START     6
> +XS_TRANSACTION_END       7
> +XS_INTRODUCE             8
> +XS_RELEASE               9
> +XS_GET_DOMAIN_PATH      10
> +XS_WRITE                11
> +XS_MKDIR                12
> +XS_RM                   13
> +XS_SET_PERMS            14
> +XS_WATCH_EVENT          15
> +    Not valid in client sent messages.
> +    Only valid in Xenstore replies.
> +XS_ERROR                16
> +    Not valid in client sent messages.
> +    Only valid in Xenstore replies.
> +XS_IS_DOMAIN_INTRODUCED 17
> +XS_RESUME               18
> +XS_SET_TARGET           19
> +XS_RESTRICT             20    no longer supported
> +    XS_RESTRICT has been removed, the type value 20 is invalid.
> +XS_RESET_WATCHES        21
> +XS_DIRECTORY_PART       22    optional
> +    If not supported, the output of xenstore-ls might be incomplete
> +    with more than ca. 1000 domains active.

Why are we making this specific to number of domains? Wouldn't the 
problem be the same if you have 1000 node within a parent node?

> +XS_GET_FEATURE          23    optional
> +XS_SET_FEATURE          24    optional
> +    XS_SET_FEATURE requires XS_GET_FEATURE to be supported.
> +    If unsupported, setting availability of Xenstore features per
> +    domain is not possible.
> +XS_GET_QUOTA            25    optional
> +XS_SET_QUOTA            26    optional
> +    XS_SET_QUOTA requires XS_GET_QUOTA to be supported.
> +    If unsupported, setting of Xenstore quota per domain is not
> +    possible.
> +XS_INVALID           65535
> +    Guaranteed invalid type (never supported).
>   
>   ---------- Xenstore protocol details - introduction ----------
>   

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:21:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:21:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907491.1314722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvoD-0005o1-Cu; Tue, 11 Mar 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 907491.1314722; Tue, 11 Mar 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 1trvoD-0005nu-A9; Tue, 11 Mar 2025 09:21:57 +0000
Received: by outflank-mailman (input) for mailman id 907491;
 Tue, 11 Mar 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=azTi=V6=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1trvoB-0005a2-SO
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:21:56 +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 439991be-fe5a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:21:50 +0100 (CET)
Received: from AM0PR02CA0011.eurprd02.prod.outlook.com (2603:10a6:208:3e::24)
 by DB4PR08MB9861.eurprd08.prod.outlook.com (2603:10a6:10:3f2::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:21:45 +0000
Received: from AMS0EPF000001A4.eurprd05.prod.outlook.com
 (2603:10a6:208:3e:cafe::28) by AM0PR02CA0011.outlook.office365.com
 (2603:10a6:208:3e::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 09:21:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A4.mail.protection.outlook.com (10.167.16.229) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 11 Mar 2025 09:21:44 +0000
Received: ("Tessian outbound 210dfbf52fb0:v585");
 Tue, 11 Mar 2025 09:21:44 +0000
Received: from L241ef48fbeec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 429A100A-778B-4635-B7B3-307C84204E32.1; 
 Tue, 11 Mar 2025 09:21:37 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L241ef48fbeec.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 11 Mar 2025 09:21:37 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by FRZPR08MB10904.eurprd08.prod.outlook.com (2603:10a6:d10:137::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:21:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 09:21: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: 439991be-fe5a-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=QxT32H242i9Wfxr1wveGJmZ4RjNDxo19s+E8jBooYXJkRZ/OLohTN2ROjiIn4W1hlq+i7JHJzR1r6wAVxoysoMZxTTTL8GRLPI2U9CpdEG0DAjKgLv8T47rpjA1EeODilrsZZbcQJ0dqTAuHXoux0nv0SJaN/VZ2Cn0GxHhvrIDArNQJoAJFdhpOddAdQldEVQTlX9bWNrhzfffcb/CpDQj06pW0sR4sBXhG8GfzJqj0lzHT1mteMisy2teVqdMUyAqL8aOeVjbIWFCsvCQjmuS+ypSxRaBtdnqrdEIyWLImUIrVKokTmmMfevJlJdGDRjah7deV/WX1h7YRRj1azg==
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=eKPZAcBtiJPiQl5rw8hVDTUtkHylNPFXj8eZ+gcclz0=;
 b=U/U6FZWXunhkmUtgbuEICOjv31OuqKgvW+E8FMwwOO0Fe/NaOa8oOAo/XleQfliDzULBwB1wtPrN2Yh9pJAvuFN0WLr+WQDJIoaGsBJiNiwbxgnp+4q9ZvtgbuspKL/++P7IzDUvZ+tC/IP3lAUi7BngGs06B8r2Rb7PKhtxwhBqnLcXqpE5L5BKPo+7qslDeRjkGAixejD3CxnnXJZVwEulL4rh3zrawT/yA5A8ImRIk4Ee4xe+MF9QyqHuYg/0fiytcqWGAGnCTIyp0PzRTsadapEtdMBJ80lxsYfnn0cNIr8DkWdXEk0MiVb+wT9kV/IPPfu6PdkMMZfzDYVkpw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=eKPZAcBtiJPiQl5rw8hVDTUtkHylNPFXj8eZ+gcclz0=;
 b=KvXxjFCqDAC+rv2qY6kDTV9zrExOFK7pE9KHGXXRWod1IjLf1jhnfVqbh9KY63X4XzSF7+fG3mtJaYSZA045pxReUdvlgeMlvbhV3bJnK/qmhOS3Z2JVpusNu9o1TuRNbe4cQqKvQIFY8GoQVlzj41jWcU3KwYQ7KGN+cVFR7AA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4e7b558ed5fe4289
X-TessianGatewayMetadata: thqrz4MZ8zVV3B9Pnl6hJPO0tHEuVQz0WJYsZrntEUMUlLEiocD76+JV8BbSDUZ/CFpcgpsucJfj8ggUg1QzSlKpt2RGX+5sSUZaMwjX3lHUJXAAReUOLbqdcTvVpuQfqH0rvGHhiloHJTqfAokATD7DTdMh3bb3NTdVo66TZ+w=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aL18dc0rzL9WPTZC266CEMh/xF+1/umNVU+9aZkzMwaQKTxmWYKr4H0gGbvRFLtSNKO5N4tEVzJ2Cmc8T0IiMdHibYq7qQ1jBajurKWVvURg0hvgvz4CCbiMDFZnzfRVnJokD2t3uT4/KQMSixQfdf9D2lIyHUnIZzjP/oEw1kkZxK6YXcS7BIlWMMiSDgovoE/YKDxtuioBQtr+7+kbnysvj8L9FUwjNhzd+HDc0LfSwFXrC7zx3kJHllJHEsM2tX3dW9Dzjww0FMtAPXygqHuFyI99PwSryGJ+ynJj1NeSA14/SFZ/S+krZks+Q3Z85QdFuNKl/DQn4+Bt05pzPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eKPZAcBtiJPiQl5rw8hVDTUtkHylNPFXj8eZ+gcclz0=;
 b=ZG5662mWGseqR4tLV2kqxnClg6fnm3/dWL/2ehYjOc/3JyUPVUbdGtQjznLSMW5/YfwrxZqnuRwb7ApSDXsMa9CP7zYcFk4JXANMP0w6qgUBiHY9PJF67xd0nFCC8/uFhcCD76ndOeueC0eG1B2I7RTHRPLlwfsz5bivMfSL0epOuAgfEf3G/ijvJk/BeW8xVTVU+YTsXvwyN/TNZiiuEM/7APxNM+eRgFp4YanOJ5avu/lJhMI46iVlVCpLj1OHDltiyM3mkAmjQSfmhzlMrcWI+IfUT4xqTZ7zawnr1kyUnJd0bnATe2jVlHoLFq075++yrQ3v4euqz71b99snig==
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=eKPZAcBtiJPiQl5rw8hVDTUtkHylNPFXj8eZ+gcclz0=;
 b=KvXxjFCqDAC+rv2qY6kDTV9zrExOFK7pE9KHGXXRWod1IjLf1jhnfVqbh9KY63X4XzSF7+fG3mtJaYSZA045pxReUdvlgeMlvbhV3bJnK/qmhOS3Z2JVpusNu9o1TuRNbe4cQqKvQIFY8GoQVlzj41jWcU3KwYQ7KGN+cVFR7AA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Anthony
 PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH 2/2] tools/arm: Reject configuration with incorrect
 nr_spis value
Thread-Topic: [PATCH 2/2] tools/arm: Reject configuration with incorrect
 nr_spis value
Thread-Index: AQHbkmSbRQWO9wYiMUWUu1bb3L8uxLNtqSKA
Date: Tue, 11 Mar 2025 09:21:36 +0000
Message-ID: <EE47F5C6-8532-4E85-90C1-C82520EA10B5@arm.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-3-michal.orzel@amd.com>
In-Reply-To: <20250311090409.122577-3-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|FRZPR08MB10904:EE_|AMS0EPF000001A4:EE_|DB4PR08MB9861:EE_
X-MS-Office365-Filtering-Correlation-Id: d87c320e-d803-41f0-e5c5-08dd607e2474
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?gfEwk+Qp/NlHm0GkdXw8SSWTTWCohWqkXz4T5Db6CxQNl8T33qJd9fnuv27j?=
 =?us-ascii?Q?oshJ7yB1udfOuvILEuesNqCrhC7YZEzuHa8IYm2iu0BwGwMfssSYSPvRqhvQ?=
 =?us-ascii?Q?gIM3YRruWv3Cw8kHU/8IeDimlpj1Qx0+xrRGKShI6fLjfEFh9FLgH0k4om3y?=
 =?us-ascii?Q?7XUu4CX98H4vEuLwZpqfBFk2iS6AYo3FJYlD2kNCEI7HW1JY9Idci2rqtc7E?=
 =?us-ascii?Q?mBMojPVCGPFJxmFI3hhrb1YOOAB3hLfwVjL7ew9KO4QvGzkHPuJ9EG6JD8gz?=
 =?us-ascii?Q?Dpd91Ecs3wps1Shjrks5gsEiIhH2IV+qZaRCXtRiklVL1UEeGlaJa+a4u8qy?=
 =?us-ascii?Q?3j0MhFoDwLr5N+q0sNEKwEANVXer1T/3H5QbyUfmB5Ih3mhR+GGVT5wgTWJC?=
 =?us-ascii?Q?juSNeO8w7ddk3QcV17Iue+Tu0ITR95DpO6E/Fpy0fqsBWDGydi/3YrbBjksu?=
 =?us-ascii?Q?ZhC1mYP0rCL2ktmQf18PB3gVNBScrIK+sEjidrdH0SEMJ1v4CpIgkoipD7nj?=
 =?us-ascii?Q?iy8rm8mOkWXAU+GvPg2nvQPiQ/ZKoMLRDWT8xYinddkjvXdQsFcabmChxOym?=
 =?us-ascii?Q?7Ry6BdDdBz/Y1rNCri4Nt67fH8/szS4wK4pVrKTdH+zXviV3xghqdngG9eKI?=
 =?us-ascii?Q?oXhmFAZmo+6C6NXwbhcHWvwIzx2lc0e6YFyXXmWM26ew0tTcFh2PRFNKdptK?=
 =?us-ascii?Q?9IDcq5jCwZYxcuMMTC+lHWcyYkSIpOVFjeew7Q3DJLj/+M/JcwCTIFKsO9UB?=
 =?us-ascii?Q?z351LmkfIx2FYNUejw9w3zIPsF4cYgHsJ58wR+yF0akpMngQT12PE5T/sC6e?=
 =?us-ascii?Q?QPITuGIcdbR1RXKvCRqttE4h9BJ0jnsQxx+L8+w2xUgU63EKdbHN9Um0s5o5?=
 =?us-ascii?Q?vrmy66Hg9/gxSKz9iMyoglfItjjU2FjItx+bl3CRbjODPIWz/evykDKqNVh+?=
 =?us-ascii?Q?JhFMi0eZXBnEp9rfhBrqFuf/tVprqCGVhvmMQij7EvDYOudK7Tnxxm0Wrw2H?=
 =?us-ascii?Q?UlfwaODbAYh841JuvwLvQ61HYm+kyZqsKKYZjTHcgNikOx6o1uJOdj6Me6xN?=
 =?us-ascii?Q?sozGKfmbJ+KpLTYNRYBCumpl0sdyI1OjYdlLR8iNi+iJBLYZsWHYrsE3+uOy?=
 =?us-ascii?Q?QQrSAywrqxDt1ZgbE/PXWpQgCdsRJjkmdrjS5R2K/n0pcQcFMZtOlJ2kVccZ?=
 =?us-ascii?Q?HpfQXiFA3NtbUXXLfmBD/sep7jpkLFFWwCTJGVjKXCMyLY9AWwtSnyQLwvhZ?=
 =?us-ascii?Q?+nj1xxhgzqA1PMJL5s5De6UnOSsEGUKBaji6M/+1uyVgbiP5JTO2hlYXtZ1i?=
 =?us-ascii?Q?N5U0bka5dmkXXS531OZhoxYrXJGiZh133ANA6GHewLn+bl962HSj2frxO5li?=
 =?us-ascii?Q?r2Z6nsh7qVUnqk28DIgQ3jmfC8qRmZ+JZ4EbtZukIplq6xrs53K+axxJpEyG?=
 =?us-ascii?Q?lo72uVA8smZREW1+C+ynQsUPeKsyivb8?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <94EC7C2F9B41EC47B43ABFDE831E1FEF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZPR08MB10904
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001A4.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a331103f-a34d-4704-4dc5-08dd607e1f24
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|14060799003|36860700013|35042699022|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Efg+/M24BrHrElvIWNwlQzMAp0lmAn2GtSe3NbL1BiCxn67IOp6sNV2/Tyat?=
 =?us-ascii?Q?IgqVLaOuRdyNxWN1cqtRyDDi4ljIPMKJtBqj6uKd6aKMRBhWkpmmJk49hDPn?=
 =?us-ascii?Q?8hKChKcpRinFq3aPk+hVZCg4RkwCYZzWTUknLVCnCKUHwMwb50R+RPdy9KJc?=
 =?us-ascii?Q?VKJoCNZTBH3jxzNTy8E6AeO9r424CHZd8s45Fcwr7Eh8IcO5mNWvA/aNhSRn?=
 =?us-ascii?Q?IhQt7S03OsQaiMetkxyP5cvcme+5ZoC3PKNcP6bdgKjbUvg3pYGlJP65yZsy?=
 =?us-ascii?Q?9Bsr4uQwnYQtZiYdAVrfwdvBrWGlpSvJvriMwBoV59cuXKxwTxvWJjLWfecz?=
 =?us-ascii?Q?xhDTp5S2OHvFPX7RBQ74IJS2NlhArDiSW0NUO6P5bh4SM5ButQGO1hOGS51d?=
 =?us-ascii?Q?uj05/wEYcLvo7dt3Zau6u2iXD9D3K2PdyLcf5yJVfXBnW88FuSHL2/QR9MpL?=
 =?us-ascii?Q?L2+inx1XcLe5mK1PK8wLEu8nkRcGteRukVCnA4dbLYIP9XgyUk0wtLIwkiRa?=
 =?us-ascii?Q?JRU42XQDxX+J3kZ2NDe0Hs+Zl4BR7/BWPQzKyIloUZeeVPICJ9AyQ4arzBVr?=
 =?us-ascii?Q?3fcwOIOGxhtUAHpc+qx+t3NqMeEioyYyJc89fxtiJ1ENg53SdiAETgU5sVxU?=
 =?us-ascii?Q?+YbzXC/9lrSOGpSYdJ4sX1rB53rmY9vfCR4kuUkKtgu1R8jFs6W5uaJXh3YU?=
 =?us-ascii?Q?QYKWEISPbnvYVm7ZRhcMAyWwkZLHu6HD9rADxCWM16vhMq+v/Hcfkwzpor8q?=
 =?us-ascii?Q?dNdn0h0m9dZD4Yfbv9sL/AcA7qW0a+zNOaZPAkTzoYwAQlQD5P93nTGGxeGq?=
 =?us-ascii?Q?qcBDYE9pHc76TFG4f/IrR5zOgaZTur5c++PpTdyiPSgZIS6UuuETOQwTsfYe?=
 =?us-ascii?Q?/FchRg32HfVqtHzmzWql0ZY59VlWKWsaG7fqvb9eEMkq+B7OJefiCdo7dYnb?=
 =?us-ascii?Q?HRIiXwpt7rp0uG9vw6xbRvBNsFO2K2tcThQM0IWBep9GOoa9MNRD8bMFDBcu?=
 =?us-ascii?Q?WjAiDqTNq05ooNDGUwAXAgywxaHWUcePgXa6qMLhhw30iHxvsJTfmxnuZMJI?=
 =?us-ascii?Q?6AuVspd/Y1cuKipN22xIMrswr6WcvfgwOTBHh991lVzB7qj/SgQje7MHQ2VL?=
 =?us-ascii?Q?unmkZozJEB5RScu5QklpN+LrZMFCen5Z6rpd+Y9y2TCw2ZNiA4vNfbkdrWj9?=
 =?us-ascii?Q?PcLb1fquoqmSe1Bs4tvN5VGV0uNVhAtlOUYvDxydtYHT1QWkijkEstL1cWn1?=
 =?us-ascii?Q?RuCb6UmFW1MrIzz+w7hg5J8CugijB9QgOnKscompLsd23P3g+ka6OidM4PIT?=
 =?us-ascii?Q?Ba6cK0ZzV9LAHKrz5i+1qXp9bBMYL8az46XEci86EGHkk9PkLRqN3IhONXWb?=
 =?us-ascii?Q?A50im9rCw2MbETFPJ0kbA7H8RRLaQzGIuQUbsDfzt6p6dfCiSZ+p1gvNxgep?=
 =?us-ascii?Q?NDV71TPC38IeQZbkFXjirD2CULNbHxSZ/xIB6qvixwvNoySz+1oW08JxxTDY?=
 =?us-ascii?Q?WHGX12bA91EIp8o=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(14060799003)(36860700013)(35042699022)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 09:21:44.9796
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d87c320e-d803-41f0-e5c5-08dd607e2474
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001A4.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9861

Hi Michal,

> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> If the calculated value for nr_spis by the toolstack is bigger than the
> value provided by the user, we silently ignore the latter. This is not
> consistent with the approach we have in Xen on Arm when we try to reject
> incorrect configuration. Also, the documentation for nr_spis is
> incorrect as it mentions 991 as the number of max SPIs, where it should
> be 960 i.e. (1020 - 32) rounded down to the nearest multiple of 32.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

With a small NIT...

> ---
> docs/man/xl.cfg.5.pod.in     | 13 +++++--------
> tools/libs/light/libxl_arm.c |  6 ++++++
> 2 files changed, 11 insertions(+), 8 deletions(-)
>=20
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 8e1422104e50..7339c44efd54 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -3083,14 +3083,11 @@ interval of colors (such as "0-4").
> =3Ditem B<nr_spis=3D"NR_SPIS">
>=20
> An optional integer parameter specifying the number of SPIs (Shared
> -Peripheral Interrupts) to allocate for the domain. Max is 991 SPIs. If
> -the value specified by the `nr_spis` parameter is smaller than the
> -number of SPIs calculated by the toolstack based on the devices
> -allocated for the domain, or the `nr_spis` parameter is not specified,
> -the value calculated by the toolstack will be used for the domain.
> -Otherwise, the value specified by the `nr_spis` parameter will be used.
> -The number of SPIs should match the highest interrupt ID that will be
> -assigned to the domain.
> +Peripheral Interrupts) to allocate for the domain. Max is 960 SPIs. If
> +the `nr_spis` parameter is not specified, the value calculated by the to=
olstack
> +will be used for the domain. Otherwise, the value specified by the `nr_s=
pis`
> +parameter will be used. The number of SPIs should match the highest inte=
rrupt
> +ID that will be assigned to the domain.
>=20
> =3Dback
>=20
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 5a9db5e85f6f..ee9154298f2a 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -181,6 +181,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>=20
>     LOG(DEBUG, "Configure the domain");
>=20
> +    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
> +        LOG(ERROR, "Provided nr_spis value is too small (required %u)\n"=
,

I would say "minimum required" here.

Cheers
Bertrand

> +            nr_spis);
> +        return ERROR_FAIL;
> +    }
> +
>     config->arch.nr_spis =3D max(nr_spis, d_config->b_info.arch_arm.nr_sp=
is);
>     LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
>=20
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:23:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907505.1314732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvpV-0006Qw-PU; Tue, 11 Mar 2025 09:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907505.1314732; Tue, 11 Mar 2025 09:23: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 1trvpV-0006Qp-MU; Tue, 11 Mar 2025 09:23:17 +0000
Received: by outflank-mailman (input) for mailman id 907505;
 Tue, 11 Mar 2025 09:23: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trvpU-0006PY-Bk
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:23:16 +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 759a0a6c-fe5a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:23:14 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so13537275e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:23: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
 5b1f17b1804b1-43d01d52582sm26261625e9.4.2025.03.11.02.23.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 02:23: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: 759a0a6c-fe5a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741684994; x=1742289794; 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=/E48EJjKAda6GgF2NXXxln++ydiCrFAJy7BswZnKIWs=;
        b=JCsrPoStzk2lPyw0/vxanbZfBj6hVYnHi0uWwD8I4v2FOH4vIc8BzpqT8JNpcGytjU
         eoA7LrHqUYiLvgco+VvdsDtQ27A8QnXNEu6JCGpaY/JunyGlk81lVo2t1j8k7VTMvSqi
         ui9U1xhlInNFARtkE6WkTsXRg+2a2auIjogDj4j4utIk11iy+PhsBKThL7wENB+eWccC
         xKR5WBOuQKzglIJWisPQNs4XT7/OCfKO2YCS9Cjo2JhQOUICrFm6eh2iztWLR+dGc7aG
         hC7igxM0UnOt9kVPfZWGqKZn/DtJbm73Gmy4QzYbS0tpPUFZ72+SLmfv0+F24gKv01lm
         T7BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741684994; x=1742289794;
        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=/E48EJjKAda6GgF2NXXxln++ydiCrFAJy7BswZnKIWs=;
        b=sQIjaJWHZahrjVSt6+1G2MPUpHqNwJG8wl74o3Z6cp249rNyV4okGo5hnF38NUTbrP
         sUzzEQhX29/29a/T10rstgeRSicKVHyE2qGt/ygfhY/EV3FmqdwERUf+XyO0PCKjIBy6
         tl8+2Jja5tV15cJ0umbl94c9JaBrpha+rBCP1n+L+fXfBEB+iGS5m1NR0G8EW1/Nv/gY
         IAu1Nct8a9/YaRYETgQIVfMtCVWS6aqm7tZ89ssxFp9DxExO0vlLVJHpYz9SBhNi+RnH
         3oKVLjvbKbdXvu656FuCK4qQuM+6xdGqjkeGP9RFbqVXvjJTibzh5A/ZkD5N+HguXEXU
         w8rA==
X-Forwarded-Encrypted: i=1; AJvYcCUJDL82s3LPA+VqSxwaoFxzXfvwjT+BsgSc7RXgH4Vuz88Ub3soomJ6rWyZaAiA5yQaHxlP5gIkUSk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzD/9NUMp9UlWqHMgYHIKOdTycpz5+r6JJYSUISFgjtKnbMh13V
	XcgJJXUpyDcUCyc8C3J0WZzTzT4ZKdfAomibz3ETM1ayCd83T0W1hnTQZI6WhQ==
X-Gm-Gg: ASbGnct1mOpA5Yek+z5NQQ4+PIYaW3cL+OBUft7GLAzUfcfSboVaIYlNYmNBAI0onjx
	UQcvYmsyNiz2FWmeaweZwYvR1ojjK7oBjPetkzp5Q3SOLTjN7euzvZK9+wTntxH7cU9LTZ4H81j
	cu8Cenl/VJ7MJnMxBS0Vd7KL/juQuYeWK3jTbXK0p+zzTpsu0abY3VnZMg/R4peIOBmx04CGs8O
	zDJ92EzMgRYoGotZV58KiAhZ67yI8xTD779fJMWl7cZWQzRrd+2VbQ+/ZSEYZFwCYAibMr20NBV
	ZXaA7uF4t3dqfTjSVjpowWHYyJzwxZZC26HBdhW9BsEuG1+rSIBYumMbE5oRRpzgJJLXU+6J+5F
	OxjNVFADcSO4CJKQEETCUDpCzwSjAlPciqjxcyNRI
X-Google-Smtp-Source: AGHT+IG2FSmY77nmTC2TqlL5UKevRnAzYj1bizHIS6y6fldKVttc0yRi0ZnM8Bp2xFt0soKDBgf/iw==
X-Received: by 2002:a05:600c:198d:b0:43c:fdbe:4398 with SMTP id 5b1f17b1804b1-43cfdbe4493mr56614775e9.6.1741684994089;
        Tue, 11 Mar 2025 02:23:14 -0700 (PDT)
Message-ID: <b3dde104-cf11-4a62-aeba-df3295504c83@suse.com>
Date: Tue, 11 Mar 2025 10:23:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools: Mark ACPI SDTs as NVS in the PVH build path
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20250310152523.81181-1-alejandro.vallejo@cloud.com>
 <5f207284-d206-417a-b963-c922119abe33@suse.com>
 <D8DBOSSN37VY.1VN43MHCQ5AGR@cloud.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: <D8DBOSSN37VY.1VN43MHCQ5AGR@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 10:17, Alejandro Vallejo wrote:
> On Tue Mar 11, 2025 at 8:30 AM GMT, Jan Beulich wrote:
>> On 10.03.2025 16:25, Alejandro Vallejo wrote:
>>> Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
>>> because SeaBIOS may otherwise just mark it as RAM. There is, however,
>>> yet another reason to do it even in the PVH path. Xen's incarnation of
>>> AML relies on having access to some ACPI tables (e.g: _STA of Processor
>>> objects relies on reading the processor online bit in its MADT entry)
>>>
>>> This is problematic if the OS tries to reclaim ACPI memory for page
>>> tables as it's needed for runtime and can't be reclaimed after the OSPM
>>> is up and running.
>>>
>>> Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for ACPI table region)"
>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>>> ---
>>> I really, really, really dislike this idea of accessing the MADT from
>>> AML.
>>
>> I think this isn't Xen's invention, but something I've seen in various
>> systems' AML.
> 
> Do you mean ACPI hotplug? I don't think I've ever seen a real system with
> support for it. I don't suppose you remember any specifically? I'd be quite
> interested to have a look at their ACPI dumps.

Well, what I've seen were systems with firmware provisions for hotplug,
even if e.g. the electric aspects were missing. There was a time, after
all, during which Intel was trying to get OEMs to support this.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:29:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:29:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907516.1314742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvvY-00074f-Ch; Tue, 11 Mar 2025 09:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907516.1314742; Tue, 11 Mar 2025 09:29: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 1trvvY-00074Y-9q; Tue, 11 Mar 2025 09:29:32 +0000
Received: by outflank-mailman (input) for mailman id 907516;
 Tue, 11 Mar 2025 09:29: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=QaIb=V6=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1trvvX-00074S-34
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:29:31 +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 54b688ab-fe5b-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:29:29 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so1929535f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:29:29 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43cea8076fcsm107537875e9.15.2025.03.11.02.29.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 02:29: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: 54b688ab-fe5b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741685368; x=1742290168; 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=o6kGi2KNZEpB+B2Uj0wCA+EPjTkzkrFJQGj+GGsjFuk=;
        b=km9UVRcepixVlFDF6mjSqsbhm+oYkKZ7MVrrhTPAIqA8rhvh1JNbqJvHp/Q4PGlx6w
         mt8ugLhozMKrZz4b15foUK26CIlTGk8ptmfANA71sFlmBLciZ5/OwqissY6vQdVjOfg6
         UO+sP7bw6nXXN2gMUOV/wXTe7HtlAwIAGDAgM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741685368; x=1742290168;
        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=o6kGi2KNZEpB+B2Uj0wCA+EPjTkzkrFJQGj+GGsjFuk=;
        b=ZJFCsmo2AsEeX+QitOfKsOPGGm+bNXTQnW2HsQIDp/baDI4ztrwRASoX1CU/1C2iI3
         XRv8gLWkesWYZUmqQs6h8jTjDzQlmtBOB3F3b9CeCX6hpa6/Gp4g22n70ec6WjC8Rz/0
         jVjuu3/dm1c1Jy97K5GG+xrpsrp5xO9IAcmvjGVj3pKONWl0H/xE7Qh3wXcUE1/J7ETd
         kLwcmlcJiEqM5awIuiBHplkDKcaCFKiexWv8idWx94l5alhJa+sqjN3VyRRV8Jdi/3AZ
         ELsDRhbouEfH1+kyJtGKNJLHsx1EBF6QDg2c/RITvEN1XQzRPQtfFcdtu57dSZBdPV5f
         Vefw==
X-Gm-Message-State: AOJu0YyIgR/96jnwaKiPAUxudprnZwz2aN6RTA61Pqb/yugXyWw0R1QO
	5M6w1AqWjOXnc+U9FhYCupNTzkvRnLlCix4aBt1kUjjQo6O29P0FXI/9CS4Z2+OcqCcBejYb7/L
	7Dc4=
X-Gm-Gg: ASbGnctLUZyjKP/5Mro/JWVp7DPQkmkYgHsGdTcAcdtRc84Hd05EYOOAptKrYVTqYtV
	dJRaqwCvOZ0CXzF2KcOWB5jxJM1iqQQjb5ttDSflM4scsPdl7tz4P7NSS3Z42njJiBdJ0kcaiRR
	wP2obnaN1iPyGjf6PZG87/NKhd8bXfR2b7SgcA7d5Qx+udn4hJ6jvih0YzJ9A/VO4+QsbYZ2fzP
	vmXkro9V43sPSHA9jKcTo+PZJo37LnKGr/VRSpzVXxjVY1KebO5OwB+q0doO94BZAB0EIgX4H58
	XS67/gh8C6ngKETJH3eASSmkfpC2sl7XCjRj+ybwakxTbyVrLSQRQs8sq/fHqDZVA1I=
X-Google-Smtp-Source: AGHT+IFYxYSccKCSk4YC94i7jWhMBuG0WLPAFlsfCF4aQTGaX6MA8VsJdtYcb/4H3Pq7pMFxD8N4Dg==
X-Received: by 2002:a5d:6482:0:b0:385:fc70:7f6 with SMTP id ffacd0b85a97d-39132d2affemr11135374f8f.7.1741685368123;
        Tue, 11 Mar 2025 02:29:28 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2] tools: Mark ACPI SDTs as NVS in the PVH build path
Date: Tue, 11 Mar 2025 09:29:05 +0000
Message-ID: <20250311092905.991-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
because SeaBIOS may otherwise just mark it as RAM. There is, however,
yet another reason to do it even in the PVH path. Xen's incarnation of
AML relies on having access to some ACPI tables (e.g: _STA of Processor
objects relies on reading the processor online bit in its MADT entry)

This is problematic if the OS tries to reclaim ACPI memory for page
tables as it's needed for runtime and can't be reclaimed after the OSPM
is up and running.

Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for ACPI table region)"
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
v1->v2:
  * Copy explanatory comment in hvmloader/e820.c to its libxl_x86.c counterpart

---
 tools/firmware/hvmloader/e820.c |  4 ++++
 tools/libs/light/libxl_x86.c    | 17 ++++++++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader/e820.c
index c490a0bc790c..86d39544e887 100644
--- a/tools/firmware/hvmloader/e820.c
+++ b/tools/firmware/hvmloader/e820.c
@@ -210,6 +210,10 @@ int build_e820_table(struct e820entry *e820,
      * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
      * before an ACPI OS takes control. This is possible due to the fact that
      * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
+     *
+     * Furthermore, Xen relies on accessing ACPI tables from within the AML
+     * code exposed to guests. So Xen's ACPI tables are not, in general,
+     * reclaimable.
      */
 
     if ( acpi_enabled )
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index a3164a3077fe..2ba96d12e595 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -737,12 +737,27 @@ static int domain_construct_memmap(libxl__gc *gc,
         nr++;
     }
 
+    /*
+     * Mark populated reserved memory that contains ACPI tables as ACPI NVS.
+     * That should help the guest to treat it correctly later: e.g. pass to
+     * the next kernel on kexec.
+     *
+     * Using NVS type instead of a regular one helps to prevent potential
+     * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
+     * before an ACPI OS takes control. This is possible due to the fact that
+     * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
+     *
+     * Furthermore, Xen relies on accessing ACPI tables from within the AML
+     * code exposed to guests. So Xen's ACPI tables are not, in general,
+     * reclaimable.
+     */
+
     for (i = 0; i < MAX_ACPI_MODULES; i++) {
         if (dom->acpi_modules[i].length) {
             e820[nr].addr = dom->acpi_modules[i].guest_addr_out & ~(page_size - 1);
             e820[nr].size = dom->acpi_modules[i].length +
                 (dom->acpi_modules[i].guest_addr_out & (page_size - 1));
-            e820[nr].type = E820_ACPI;
+            e820[nr].type = E820_NVS;
             nr++;
         }
     }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:31:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907526.1314752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvxA-0000Vr-Nu; Tue, 11 Mar 2025 09:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907526.1314752; Tue, 11 Mar 2025 09: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 1trvxA-0000Vj-KY; Tue, 11 Mar 2025 09:31:12 +0000
Received: by outflank-mailman (input) for mailman id 907526;
 Tue, 11 Mar 2025 09:31: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=azTi=V6=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1trvx9-0000VX-MZ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:31:11 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9166024e-fe5b-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 10:31:11 +0100 (CET)
Received: from AS4P189CA0013.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5d7::16)
 by PAXPR08MB6365.eurprd08.prod.outlook.com (2603:10a6:102:156::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:31:09 +0000
Received: from AMS0EPF00000191.eurprd05.prod.outlook.com
 (2603:10a6:20b:5d7:cafe::59) by AS4P189CA0013.outlook.office365.com
 (2603:10a6:20b:5d7::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 09:31:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000191.mail.protection.outlook.com (10.167.16.216) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 11 Mar 2025 09:31:08 +0000
Received: ("Tessian outbound ae00a21450c4:v585");
 Tue, 11 Mar 2025 09:31:07 +0000
Received: from L5a6d3558c43a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F50ABE33-A044-4072-8AC6-C0B0FE7FE832.1; 
 Tue, 11 Mar 2025 09:16:17 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L5a6d3558c43a.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 11 Mar 2025 09:16:17 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by GV1PR08MB7801.eurprd08.prod.outlook.com (2603:10a6:150:58::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:16:13 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 09:16: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: 9166024e-fe5b-11ef-9ab9-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=LeJsH9fSjWW0Y2MtSaVXBmL4GkigJNoqtliAMY9p4PzOg1G9bBdOP/T0p75jm9ZVqWr2byUarN83hmAxfyE3BRZPvyjvgBaVM5LugC9f6cCf5XBiiGzmitSYI1mmhFHN6d6IM+Q2Wy39QzDaYZUh373or3SJUREv0rzvMIylRysN0wBMExrMhB+WUkQHu4eOcghtL2pz2naYpboKFP6ad12J+I6xupvlGpvDzCdpf9mamBMo3EaP5iyd6o60osXF+fWLqj1Vbx+eJ9upE111KgkiYli7gqctyf+oAc4JHriBI8rewTUfgTzcY9Zlxi6bbK5nKSiqhZVA/BZASR2zPg==
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=Ohvof4En0FAIVZaCenEx6GEiQWab9plrAxOwmfnp3QE=;
 b=e10Lc7LbPG7vlxTfHu4Kan9FCwCly35kxO08o4p8Shx3hAKVuxN4AtLkhwXiYR8Qicer7any2z5AelNPFzFVbs2iiTSerYQbgNB8zOhy3CYXuaUUlr5Uq8RujPUqOVWwaotBJo/fe8zKyUMTX4Of5Tr7x57zaVahY1TmI4vtsMDLoYo+JpIpmhuaMCzOttBAc/m/XcWyv1aAK7E0xue7fqcB+l6U82KtCfjiEf2S+SuFmgbm7+GkEwkQgt6q6LqJKbnBHf84d3MxGUR6n0V3B6+pS8r6KpF1c7yguvLGheXeKUdyCn4XJcavKQlznMRNocXrGQbzsHevmPQZzfvPYw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=Ohvof4En0FAIVZaCenEx6GEiQWab9plrAxOwmfnp3QE=;
 b=XJcAFguNXlTmy54gWUgfvcTBHqBHsm8UESTHW1508aGUuRmFuYVxZvgwLMCNmjj7AYEF95EkSMQnCqqAT9Q7k1kYf/fk4Xy+mkZmxtlw95wUhE7b7q3exvImtcjfuAbB2rkjsW73FYEJzG/UY76xsw407wsotlkpKy6I8NgxLw0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7936c80e08063f44
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Pn7Le2C24gx4IJ3ZMq7Zwb80MiificDEvH2X5tkwQwiIPMUE5yEp/RDdVUHAI5DU+6CPC87h/hmrj32uk73pF57EnF2vKf505FfqJiaPGWWS8MnB2u8bpw6/CupFHRoxkdvuP5ea+QLWVkfq8DilKBWq8kLH9uoDXdt53ZaSzGINJT0FLEc4nqVE+oAlEjPkRcU82Oo20qiUs5NlW2ZI524Y2ol3cMrGlsxg0Sr/Aytx0T9P+QW3nTE2y2xklU8l/Mk13hSg3zAGUqUhOXn+B0RqomTEhfimM3+ndwoCUUSEtsJINVXy6lf9Dyjp39y6mPw4dgardJjpcQBsSoyDHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ohvof4En0FAIVZaCenEx6GEiQWab9plrAxOwmfnp3QE=;
 b=oukzZwdSq/LbUkW5ozSEqcMUA52RKvtcbWFZRYy/1eiSkEDEhGHl9rNpmPl1lmMOEHxVA1M5NiPIDmVPT94oSsLRUfIE9lg75ztJGpLXzdQsXPubQaeFOUaGMptDzhRS8JGyNYsLbvrtRIEKFod5Z1bA/U9qQeOeKutB/JniRYPjOvGRotKd3yQSE6+WxeIgTijAJBvjUa46fJ+3dMcgzMq7mzG1TQBC3vH2OXs9g2LYw/298uAJ7A7CfmkF8eP2idtzNofwvbwSjzB2A6f97M7GyCSCxZMgjCv2zKJCYyI4cCgM78tk+OedEBBUBc8r/OLjOKcbPRKZCN97CbNM1g==
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=Ohvof4En0FAIVZaCenEx6GEiQWab9plrAxOwmfnp3QE=;
 b=XJcAFguNXlTmy54gWUgfvcTBHqBHsm8UESTHW1508aGUuRmFuYVxZvgwLMCNmjj7AYEF95EkSMQnCqqAT9Q7k1kYf/fk4Xy+mkZmxtlw95wUhE7b7q3exvImtcjfuAbB2rkjsW73FYEJzG/UY76xsw407wsotlkpKy6I8NgxLw0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "jens.wiklander@linaro.org" <jens.wiklander@linaro.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/5] xen/arm: Create tee command line parameter
Thread-Topic: [PATCH v2 1/5] xen/arm: Create tee command line parameter
Thread-Index: AQHbkcvmWLsPML0q4EaY80wFSeZIVrNtnW6AgAALZQA=
Date: Tue, 11 Mar 2025 09:16:13 +0000
Message-ID: <2418E6A4-E70A-42CC-8131-69A0798BAF40@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <9313ffc0cf2e8be7e39ba24e8849a27b6bae2526.1741617888.git.bertrand.marquis@arm.com>
 <83f0a115-1a14-4992-91ea-df354c5176fd@suse.com>
In-Reply-To: <83f0a115-1a14-4992-91ea-df354c5176fd@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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|GV1PR08MB7801:EE_|AMS0EPF00000191:EE_|PAXPR08MB6365:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b3ce72f-6074-4e22-7b3d-08dd607f7458
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|1800799024|376014|7416014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?iso-8859-1?Q?b5OVcg5qW7kIYpDHF2yOI4MvGAN32/js6l72xkGrfiztfLX+y6Za7+PCT8?=
 =?iso-8859-1?Q?+m4Xu5CwYyEM811c1wHWx0q/HBmcFsauA1ll2Ns5EuWcdsL5Gzz/sKWrn0?=
 =?iso-8859-1?Q?Cm3xaxX7w906Qv3sw9ZqJxQrQ2EWMxWSRp9MD4G8GZHPgdLETMpsQlupFP?=
 =?iso-8859-1?Q?NDvG8AKat6737/Y+gPwhJqiihy3MijtoyXppWInccGCcRKynrKKl4oH7le?=
 =?iso-8859-1?Q?LfYJ3eomVNtdxVnDfpQnchOSlGzKxS122vtecZJk11IQNnl5LnDu3V70u6?=
 =?iso-8859-1?Q?Ci0Bz6gzhmL8h6HOCdQreR/zojhEwHdBZ0XkU7iC2p7PcEy7p2xk0UFmty?=
 =?iso-8859-1?Q?UWzimRoaGLzCXHx5ubOBF3U+rWulmx7zfRTv33Kv6OPmD8sB3c3fXZNf76?=
 =?iso-8859-1?Q?vd0qxqaK0mdlthIk2caEe1PcGoqn1iFkm8HY3dswMNGNey+nVBn5mRvce6?=
 =?iso-8859-1?Q?j1teji4ntw91V61b17kJcMRMu6QXqo4AWbhYtb/2ketrZeGofqRrvl4LpC?=
 =?iso-8859-1?Q?SA47g1QcJV/5t8TIyvMc3Gj6N2w7p5YmidXxN9W5HZeuiefz1Z6D52IvR1?=
 =?iso-8859-1?Q?Hs1atyroYCLLsL3AeVw5XettCuaErOKiuciP56HBFZxfeXmJ/dXjRvPV9G?=
 =?iso-8859-1?Q?jnJXhADp/w3zcep6jaugQSoel57fXS8UaVSQBjePWdZvdgw18Jhvi/nWzS?=
 =?iso-8859-1?Q?HCI9uGzQ1gTjJ5ErwlD3pbfA3kzhrGl28LflX7toiNwIuSRG63mXx8DqDb?=
 =?iso-8859-1?Q?16NDY9FK3hgPyaEYT3jqoNuUrQVndNsh77TtX9KmaBNztNql6fdCmEsjwt?=
 =?iso-8859-1?Q?6Tnzcxd7Bahkt0rePUKKt7mh8MwGVR/01HOZC/AUKBhdACnF38EvA555sy?=
 =?iso-8859-1?Q?rBlRrYC63YmxbRZaRaSt2jvFTEEZ0BHZSHLl/Q5J/W7a1BG/sX/Yc+Dchi?=
 =?iso-8859-1?Q?2gE7QFrPVp7qu53TrhiLuPHEZZkefWrMt5lUyNZYjE0I0Man8L0WyKXkX3?=
 =?iso-8859-1?Q?mJGlQ7CEiV0g5kVn9vsfNwv7oljxuwGj7EiKnMWmrH+8pKFNo5FuJ4ZZTi?=
 =?iso-8859-1?Q?FQ0gJ5ZChXsMiqxR6KfxXAnAnVT8ltMKzIdlddTimKyEiCxG7dnl4XLskG?=
 =?iso-8859-1?Q?tH8LOPPAJLwGDMmnaVsnof/N7NHCSA+pWG96TAOm6sZuu3zjmXoXo3PK0H?=
 =?iso-8859-1?Q?gdWRvV1gCv0UJjycpp3s4WDO+rBDnnb8FoJ84le5cvkC6pTNZZG6v3DfJQ?=
 =?iso-8859-1?Q?vzXZjEv2Kpz8reeQ2Dh0YvjsSkQF+s/lPXBoNG1AJgtRspFNmPYQ/VViWi?=
 =?iso-8859-1?Q?AalHFdtqJIlCim0EHs+tyJE9L+zpp3cKBSKd9MhvPZrOUdm7fMoZpkNKvh?=
 =?iso-8859-1?Q?roubwWjJsGluTk0QxvgLAsbgAxBNMhTtXWOcBGyl4JC8RAfsuvjyI7toPB?=
 =?iso-8859-1?Q?rwSQWGGZEaBZGK1IKsTS71rZH7LUFPzJrICUnx1BaDxXppnXg2HtGYrP8a?=
 =?iso-8859-1?Q?b6E5IOyCXxj0qUverIpeJx?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <50A22F7498211F42983B7312E32E916A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7801
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF00000191.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	97c22eb9-9d91-4ee2-c261-08dd607d5ee9
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|14060799003|376014|1800799024|35042699022|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?iso-8859-1?Q?AW7wUah6/uq5Y+SjBO4VXqJp1NIHlFreSXtco9VSlSFL2Ye3hPf8B9F/Tp?=
 =?iso-8859-1?Q?xY4uu5NPo2JP0aifwhOmPX3Rscbc7T29uHkeuJYtwQyyQhcY1b45Y8mVNM?=
 =?iso-8859-1?Q?R8cw6yKnXj5qtW2NMdmdE6H5M5SNhZoejwUwTd2Qr38P/xE/8ulUmsH7Vf?=
 =?iso-8859-1?Q?r3HncmIN+ynMIekwE2z/6ye3lZxwLWCzidEWPWcr9d3MV2y+bo+Ca5Hm/r?=
 =?iso-8859-1?Q?xKeBi88DCP+RIKqRwf2CI2MX0tw/ucuaMA2c073pwKkqZv4ML04b6rldsY?=
 =?iso-8859-1?Q?K1h6WQOkUu+xvNPmE24VNVRcPtN0sVrEsIw8MvxfgD3dnzMp9VhrBe41J/?=
 =?iso-8859-1?Q?P8h+qJyeWXokfc2WF1Oz3ORVFVTlMeQtv2bnsFrLjdaCI68u0d3gulMZv0?=
 =?iso-8859-1?Q?uGFndHAEg89B5ohJ4wo6XPbFhBRUWiGAAiNat2TpSp/nrI3YGT0Ce/AAjn?=
 =?iso-8859-1?Q?v76DYJeKK3tHEhqMWouz8vDHg3ZSRhZ9kiLP6dBzJjjAGHltFBicIsopVG?=
 =?iso-8859-1?Q?0jZqnhJVNpP3+W1TKwUEwnf15SEoc3YQHyiYeDJ9+uc4Oovw8hB8cK6w34?=
 =?iso-8859-1?Q?M+1Nd0JvJV5uIf5WrwXl1iOfrDHFH5p9RiJEhFBxf9W9ExFw6PJUuaM9CG?=
 =?iso-8859-1?Q?mVl6pXxvXpkUMGH7SdB929yzqA7teuColtKE6NDNAZZra4ZcTO4ALOJZ7m?=
 =?iso-8859-1?Q?NB3oxemOuA9xp+hVhEj3YDqeOp25wu7WzXjekTC7YubFfIALwnqKPN+HS8?=
 =?iso-8859-1?Q?AuwgaDrT5koYijK3zibP0Y+zmKjCHPvHJGeVuW5VeRq7/oIhE3m1CMT2oK?=
 =?iso-8859-1?Q?jRz5WmWYarXpgCwR/V16dVAiAFiZO/IE4AsZ5jsHUDiA/iLUsMDnHTC21x?=
 =?iso-8859-1?Q?Fkr0BqEq8W7gdWEpD5ysb7afx8+ZnWHHWeXnkpsh7BBT7b+2UHjQ1gWP2I?=
 =?iso-8859-1?Q?LlfvnSfFnC4i4c/WOd+B+O92pgfAmscRoyGXMQmBn4KUcDzHQdMzTNhkYg?=
 =?iso-8859-1?Q?fRiF91wNJ62S+cwOnURN88BOQNWNd4DmIN9hI/J2+9yWqODVdgryztTKbg?=
 =?iso-8859-1?Q?vN/9ZbW420ypQEjDGqVxproS8aqucpyFzTzVAzOS0T7xa1ijQhHWvPWziD?=
 =?iso-8859-1?Q?vl5w8fvER1Ez08QwgvjFGfdhtIlq26jYsXUmDEVdR9w5AtsCKiI+3ZajjL?=
 =?iso-8859-1?Q?onaNZEVOeho5Zejeety+gmC8pNCoyBC6gsvbucuJauxoaizvvSgO4g7rRC?=
 =?iso-8859-1?Q?AGBoK8/1eezCUin48HuiSX4BdtJri3S2xng1OhDNs7vYZc+kDnJCEFFkLT?=
 =?iso-8859-1?Q?x+XYciYjEjPDeA8AtV33GHI0LfeLvP0ll8OLx+byOUduy7aykiGdMa9Lh6?=
 =?iso-8859-1?Q?aqAzIHtvymyb8k+Q8P2b8atlXVYsjS/ssFDHJfh/u1hy1vCwFCJY+PUuD0?=
 =?iso-8859-1?Q?o3i/YOPNVI6LLcLnKIgaBX0niHYsc6iwMIqdc+cXz9+QXXZ8IN7Gyl0UZS?=
 =?iso-8859-1?Q?O9EN3qwD5P2nzO11CXx04EvOf34EiHWnscu/e22SXMkKqoAh94gax4RgU2?=
 =?iso-8859-1?Q?LUHVsTg=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(36860700013)(14060799003)(376014)(1800799024)(35042699022)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 09:31:08.5078
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b3ce72f-6074-4e22-7b3d-08dd607f7458
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF00000191.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6365

Hi Jan,

> On 11 Mar 2025, at 09:35, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 10.03.2025 15:50, Bertrand Marquis wrote:
>> --- a/docs/misc/xen-command-line.pandoc
>> +++ b/docs/misc/xen-command-line.pandoc
>> @@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
>>=20
>> Flag to enable TSC deadline as the APIC timer mode.
>>=20
>> +### tee
>> +> `=3D <string>`
>=20
> This wants an arch restriction, like we have for other command line optio=
ns
> supported only by one arch.

Oh yes definitely.
I will fix that in the next version.

Thanks
Bertrand

>=20
> Jan
>=20
>> +Specify the TEE mediator to be probed and use.
>> +
>> +The default behaviour is to probe all supported TEEs supported by Xen a=
nd use
>> +the first one successfully probed. When this parameter is passed, Xen w=
ill
>> +probe only the TEE mediator passed as argument and boot will fail if th=
is
>> +mediator is not properly probed or if the requested TEE is not supporte=
d by
>> +Xen.
>> +
>> +This parameter can be set to `optee` of `ffa` if the corresponding medi=
ators
>> +are compiled in.
>> +
>> ### tevt_mask
>>> `=3D <integer>`
>>=20
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:31:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907527.1314762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trvxD-0000kv-2R; Tue, 11 Mar 2025 09:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907527.1314762; Tue, 11 Mar 2025 09:31: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 1trvxC-0000ko-VK; Tue, 11 Mar 2025 09:31:14 +0000
Received: by outflank-mailman (input) for mailman id 907527;
 Tue, 11 Mar 2025 09:31: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=azTi=V6=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1trvxB-0000is-T8
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:31:14 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90078362-fe5b-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:31:08 +0100 (CET)
Received: from DU2PR04CA0002.eurprd04.prod.outlook.com (2603:10a6:10:3b::7) by
 GVXPR08MB10520.eurprd08.prod.outlook.com (2603:10a6:150:155::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:31:04 +0000
Received: from DU2PEPF00028D04.eurprd03.prod.outlook.com
 (2603:10a6:10:3b:cafe::bc) by DU2PR04CA0002.outlook.office365.com
 (2603:10a6:10:3b::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 09:31:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D04.mail.protection.outlook.com (10.167.242.164) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.15
 via Frontend Transport; Tue, 11 Mar 2025 09:31:02 +0000
Received: ("Tessian outbound 8a1969cea684:v585");
 Tue, 11 Mar 2025 09:31:02 +0000
Received: from Lfdb907fe3050.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8704D4C8-FE2C-414A-B171-E8183A1BF731.1; 
 Tue, 11 Mar 2025 09:30:55 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lfdb907fe3050.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 11 Mar 2025 09:30:55 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by VI0PR08MB10428.eurprd08.prod.outlook.com (2603:10a6:800:1b9::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 09:30:53 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 09:30: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: 90078362-fe5b-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=uj2Rhl28WiqCu5ZfexaJ7BWCZHx81Ri9hZm0nTR4pWOG1Be74dPpozoC18a6FKLPzISwpf322fAN0t0CuE3mQsecx1jeSfgLxRktEBDqbn2IpjUPNgP5yhV5HDMAbKeYI6GFRtIRD0GVvgkWUJuevR2QVYWkwD9NWKtf6TeUS4HUDrwlTtjQ9K+VVak5B+wEU147ZyigPXACxhiI/TznUTxNRxTRloSHIGuXH/Xd9EB9h2ZHUZt91BK4a2yRqryhDw/Ew9z7s9PVMDwRlyeFHtcqPH4GFPD1kyEhbI7u3eLmPYslh9/y2IT3lFiYxzIiMDm07rivDlUtmi7kGKQZDA==
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=L5MFWdEUnP9vj/jX5gTEQcm/wFdBf9rXhqZIObbaEfI=;
 b=mjboyu6gI6R4sufZOOm2Rm5NDk9I3LPWGOkKB3XSNgjX4Ngt3naK+1IGOH8SHxZDaTMbNlAzCCz72WeAmN2O4OK1Tt4oISA4HKpsyoU1fGyOghD2aTc+/R72vbuhHOnYT2jypKAXZG/RcwpXcQYIBpDucVDiog9QGxHrTI/y6LGU2UmUQCwiDKMjDW42muHBC3+lv7QW2PdeYifNM1kfQWJLsl0fX7SiAizvspqEqMBfq7qPqTSvCQSK+Ek8CfNQnmMgLyxSKQM319iPbWO0WscH7z259Hy9FX5s80n5EjurLy9L/hNiKrZGLXG4hCR4MwuHMURTBe/33QShn9MKIA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=L5MFWdEUnP9vj/jX5gTEQcm/wFdBf9rXhqZIObbaEfI=;
 b=XQBeWeD4sxT4f6fmDVpr3GehuDHggojfgTEExptXSm9iG1rxgnPiOknFJwyssfYVqaj5pmjAPZDbI3d4rty3PzxQ5AJRBNUANqpjK8bXkt/xx6Vt6cQvywmiDaPQx8+eIY1hFXgkN53YFMoAV3eHD+x3qi7WJAP4YeDrpTR1Auo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 39943f0493b8565f
X-TessianGatewayMetadata: /5TJGac9twwa3L2cOF64X/cGRbdOUIwcg2c1QpyT67dtKyqAdCymbrG7j2ixFquHl3x3f9fmIzmg7hjeFkw6QTe1WgOktYinGLNBPZYoPKoMK0nMNnYVO9XohQTULPfY9I05ruq+09b9vJtfDc4mJ28sTEhRhBTtFKVAqFlkKjc=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ODVVaOlCeHVJKVAa1BC2VM7VRlgWYFb/i5ogSNyV5mIjKVothcLXw4OmhwmhYrwbUm5dDYQP+aGxbfm9uWJkzu+3kPTSkVbW/wh3L9fR9QZq+FhTm+HPWwbZwwr/HQYkoQVghj9JOQj3RIOthSpaFCb1DeQWhIewEs0++fXWqirvZi3znts6wVjc3dHabTI/gSUr7EAmHpbwe59VFJ/oJ2QuZ8kOo1Z6gjbjp0erSoBm56dcTJ4WkreZmnrc9eHKSWV/NArkc8l2OsyF40ePQgMuCYrKvb22a4qU/HapBYX1ArC4NvRmSgiip+iu2tJfDhycxCjw+zKECiD2FszKHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L5MFWdEUnP9vj/jX5gTEQcm/wFdBf9rXhqZIObbaEfI=;
 b=xKGUyJq8SjK28WA+ZRAd4rvFNlsyDFL0ynOAL5K77y+0fSVcI9Ov5MO7jpsw9MlTLFaQY6zJYpBLw1bFDz/Zvz4gKew3G5Y51pBYDWK3TzslbOq5461u64zJKzwELnD4Y0oZGZHs1+if9LVez+sYgKSD4tfzmOrcGKm6OMqRQAATKpOXnoq/UNJvFqZK9N/ny9l1r//WtBcONkecW9DxuDcoFnAC8MphEOK5nEs//WS+f6uxGOIbJGhY3dPJDtIsVLZ83/24KATSZm1R1eZCCHF0erD1aXNXrq8tfTJzcEstVRQB4a9Dn1BCocoNdsspOXdyq8rjKyrOmCCU8GxiFA==
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=L5MFWdEUnP9vj/jX5gTEQcm/wFdBf9rXhqZIObbaEfI=;
 b=XQBeWeD4sxT4f6fmDVpr3GehuDHggojfgTEExptXSm9iG1rxgnPiOknFJwyssfYVqaj5pmjAPZDbI3d4rty3PzxQ5AJRBNUANqpjK8bXkt/xx6Vt6cQvywmiDaPQx8+eIY1hFXgkN53YFMoAV3eHD+x3qi7WJAP4YeDrpTR1Auo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Topic: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Index: AQHbkmScFxwSwnbWbUmo6sX8GQY3CLNtq7oA
Date: Tue, 11 Mar 2025 09:30:52 +0000
Message-ID: <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-2-michal.orzel@amd.com>
In-Reply-To: <20250311090409.122577-2-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|VI0PR08MB10428:EE_|DU2PEPF00028D04:EE_|GVXPR08MB10520:EE_
X-MS-Office365-Filtering-Correlation-Id: a2dd116e-7b49-49f9-f6c0-08dd607f70dd
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|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?X8Qq048X1dx1VHj2CsgvvRV6mGrIEHew4H991+8rlvGJY/EqaanMvvvNewHf?=
 =?us-ascii?Q?cBFhywzQhxN/hJb+zZq5X0WIaE0kuRH1XG2zRIo1bQfyFgZ9Ua21Aaol6r68?=
 =?us-ascii?Q?bW6NghKYPmU3qCZOIKu9FfNyAiC6zsWvmiM4esMwXWvgEyj/sB1pJswFWl/w?=
 =?us-ascii?Q?c7npxpVMJuskeYaheajEa5Jn84jPMNx6uXeIBcNc1omO028k7TmFHZ7Hwhxl?=
 =?us-ascii?Q?W+GGCmLcc8+JrMoukcAiFuKLWG+/RiRlyBkdvwaoR8aN7VIuJPzoS09O28iR?=
 =?us-ascii?Q?Ox5Gf7ef1k7WYzU97SXNMBTg9k59lDajYzQYC7rJoPCOu/jSf8uo6ITjuabg?=
 =?us-ascii?Q?N3wtfMcfVxn5FwrSswcuhOw1xKyD9n4GehKRSKkvh8oufjGjJFLSqTng8abw?=
 =?us-ascii?Q?nyxcpaI1/z1yqOeZSGdl6nv+hczLeLfLbgL/QkTsRDuPcXiOcpsmdthriGGX?=
 =?us-ascii?Q?ECxXY3IBZo1yw6QeY046A1T+3n3pCp9GUEqNyJZrozX6jCmd55/aaz8rn+7+?=
 =?us-ascii?Q?J/RqeoiaBdqlZXV0wrHk53t6I+MCGkWZ4zg5Zi4zXvce2X7Jnf0Y+eEKs27y?=
 =?us-ascii?Q?PDBy1phMUckSnyTw3gV7I9ihwOQ6oagy7yN/C/FYhgZ89kHEmV7G+KE0oljF?=
 =?us-ascii?Q?o/YuLhzMwWyBZjRGT+EG0MnttGnWJ6lCQM1iyWVIgM6s0kh+9hO6BF/9yIL1?=
 =?us-ascii?Q?ykf72Rxwcu0s0WGUFDuQF/SQTSdSsU35BNMFsNWM993cMZXBM+IRwQITPP3w?=
 =?us-ascii?Q?+bGYycjDpxxLa1mi4jHixUrPlV/du+tZWrPc2Hq1sDriGsuPUkl5xBdE8RiS?=
 =?us-ascii?Q?fCr9jy2nZaNfZkz08kXYy2akNH+uhwpBcGMz4H797RWmzACiKofQMcNSeq6V?=
 =?us-ascii?Q?i0eHneZgTlxKYjDlTgoTyxbX2083nB9uH0gCdDF+6EXJzzuK9TzbeuB2zAGT?=
 =?us-ascii?Q?F5X2eBo6Juc7qZECYVqTqxVlp4QNQMxfUiptKIyfNTGgR2ZYQM0S46EZ7lgb?=
 =?us-ascii?Q?cDS16fQXI/Fm7u0bLSAHyEX1DLSjymfTTaakzru/pm/2UEgbJP9OasSWMk6a?=
 =?us-ascii?Q?u6siZZZX36GJLO5Tgtr3mq11IHdRSYuqUYsWwY5ZLaLfNMqsjI9Y2V9NPeqe?=
 =?us-ascii?Q?KGy7mTZ5FBxIYO5ZxK5hNF/K4u9PwErC4sxjeyEurAB7/peqvXWm/UTfs99O?=
 =?us-ascii?Q?ext359B8EQPtm5o0sGN7tU+TjDUrRaBTD4ziG/bhUXx0rCJSRn+CBy6jcOvl?=
 =?us-ascii?Q?iWWLvixR+c0cJrfaFdtp60l2782pj70gWmoyWANZMsydOyRkWous+8NVza0n?=
 =?us-ascii?Q?RuNPDfzF9EuEuFhzQDRaoh/Exlf8x8EoXTMDraV1Cu/jgvooaOwUeK4mlyQ0?=
 =?us-ascii?Q?rYuA7FujalC3XxMdDmr/oaA3S0GDNK3WICFV+TxGdWw1u3fwgGb+9p/uc45R?=
 =?us-ascii?Q?nk4oTZy32XNn4G7jjM5YS1EfUzmvuTOS?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <69450265090D754EA8B53CF330FA79B1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10428
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D04.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7a4d4a61-7f6d-41f5-bb6d-08dd607f6b18
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|14060799003|1800799024|36860700013|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?OINo2hw2sEqeCvyZsdaa66bbDd+mXOtITCg70kaKCJt1Bb9z6TK9Tif6AJFG?=
 =?us-ascii?Q?B6tmokJPxQNcrCJwdQ2BDZ/4OvK6IlX0muoulJjPwt/XU9gyuseQSwjMOQY4?=
 =?us-ascii?Q?UkSiZkK9v4OCtuN/BOtRiV/T4PrAcka+ehdaGiG4YGo4dTXGZmNAlnb4nh/s?=
 =?us-ascii?Q?tb/UMPvITVaGzFbWKJW1Hoz+btcsQQRHqeH+PCk5/G3d7zTfR0rXJ52e7Kl0?=
 =?us-ascii?Q?fDnT+6gXUrTWMUdP4QHudS0t2YICge2TT/CnM4U/wiKmqvWee5KaRQzc+Qvj?=
 =?us-ascii?Q?uEVnpXl1YFjvO44ycDqta3Q5Us3/IdKZksVEyNTeYA7BKGDxMFMIbspN1J5N?=
 =?us-ascii?Q?4zP+7y46HHmk4mb1G4g//otTzyNcw98kc0gVu369kOGxqVYArNT2Ew8xpeMK?=
 =?us-ascii?Q?VKRQ0T8idNjyP8O4wG88wepnEOyIoFYSWrZj7j1yY7pJejJgOrOxLGJCalu+?=
 =?us-ascii?Q?KJvWr/aQgj37lhVfJl4Y6vOFFoBAYgULOUFkh0tZq4jdgvoHgv9QUwutBaSb?=
 =?us-ascii?Q?QnmQkM8l0DmnZbf/YdkD3CfTNdvKogdm7UpzXQ/KwuHuBGtjYaL7CYofosP3?=
 =?us-ascii?Q?NL4328t7KAtapw0mRfYhQd1RSGp9uqnnqZAp0Ala22sjYWrJNxqmZGbQ2wsJ?=
 =?us-ascii?Q?091ouf+HczPZL9cMx87xY9yBlasSkJ2n/SKmH0vYFeRFbXdqnRYfgSg8Os8U?=
 =?us-ascii?Q?5N4nZaIafzs73lMMV0ZDRUXfDSUbiRxKFWP3SvD5Ac2ybqb7iDkaQsRBJBcp?=
 =?us-ascii?Q?cAh2h84V1ujmssjEdSlC8hjLBtSpUkISMsfwdXoi2WmWL8GhdUllBd4Uc+UW?=
 =?us-ascii?Q?MaKbw0B0Jx+Y/+OCA4r/Xoh98UUGueQkxdP9U0wVyavq9FFwy2LXg6OuSRuj?=
 =?us-ascii?Q?B5+25oQxMurCYLUjHc+sAAVbCg4lhAwv2u4JeXNyln0yVbI9zbY+NdeeseXN?=
 =?us-ascii?Q?we7XTWDeccf6o40rJEEOevCfXhqnj63eKv6y1K88dNdSVl0HZ/D1FelcO96u?=
 =?us-ascii?Q?YJb0+c0daRC4JKa4vGQhqGBf231yI3G4nWwiLSwUG0oFCfobGNvN9KjmNuI4?=
 =?us-ascii?Q?hOW0U1isVgU3ciVsk7K7PL848B8wz+GBqx8S9ucc/iFCeMN8mQ3QOEuKOBud?=
 =?us-ascii?Q?+3wN07UWq/E6FCtKMljAve02mLpR0mFn6DMcgl9hsRhCdzAF/mHSV8wCt0Ll?=
 =?us-ascii?Q?vsd7UShgm/ONfpaVJiHsyl66f/APMEZAREdWHHr9+6+ADTC1Gkv7SWwX5yqW?=
 =?us-ascii?Q?dcfuhv8ZSWWYg9GBxmygrTPjsSriCfYDlBjCRBffpsgm7uToUcZY26nf69J4?=
 =?us-ascii?Q?9iW+ov3N3zCvEa8wiyXWicz03p5zUfosCOGVn3qPK5QNmVa6TBAr6vd6T2ku?=
 =?us-ascii?Q?IVIxLz5tv8lGjIViLibqKDVvru7SzIf1VeFMLbvCrASomwkx7SLYWBofnt0H?=
 =?us-ascii?Q?W8AXQh43doB89mcWag72/EGqvy5vGPCTnypc6fWbSVBWhJWTKFHY8Q=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(14060799003)(1800799024)(36860700013)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 09:31:02.7186
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a2dd116e-7b49-49f9-f6c0-08dd607f70dd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D04.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10520

Hi Michal,

> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> At the moment, we print a warning about max number of IRQs supported by
> GIC bigger than vGIC only for hardware domain. This check is not hwdom
> special, and should be made common. Also, in case of user not specifying
> nr_spis for dom0less domUs, we should take into account max number of
> IRQs supported by vGIC if it's smaller than for GIC.
>=20
> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value.
> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
> IRQs comparison common.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
> xen/arch/arm/dom0less-build.c   | 2 +-
> xen/arch/arm/domain_build.c     | 9 ++-------
> xen/arch/arm/gic.c              | 3 +++
> xen/arch/arm/include/asm/vgic.h | 3 +++
> 4 files changed, 9 insertions(+), 8 deletions(-)
>=20
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.=
c
> index 31f31c38da3f..9a84fee94119 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>         {
>             int vpl011_virq =3D GUEST_VPL011_SPI;
>=20
> -            d_cfg.arch.nr_spis =3D gic_number_lines() - 32;
> +            d_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MAX_IRQS=
) - 32;

I would suggest to introduce a static inline gic_nr_spis in a gic header ..=
.

>=20
>             /*
>              * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 7cc141ef75e9..b99c4e3a69bf 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2371,13 +2371,8 @@ void __init create_dom0(void)
>=20
>     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>     dom0_cfg.arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE;
> -    /*
> -     * Xen vGIC supports a maximum of 992 interrupt lines.
> -     * 32 are substracted to cover local IRQs.
> -     */
> -    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), (unsigned int) 992=
) - 32;
> -    if ( gic_number_lines() > 992 )
> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n")=
;
> +    /* 32 are substracted to cover local IRQs */
> +    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MAX_IRQS) - 3=
2;

and reuse it here to make sure the value used is always the same.

>     dom0_cfg.arch.tee_type =3D tee_get_type();
>     dom0_cfg.max_vcpus =3D dom0_max_vcpus();
>=20
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index acf61a4de373..e80fe0ca2421 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -251,6 +251,9 @@ void __init gic_init(void)
>         panic("Failed to initialize the GIC drivers\n");
>     /* Clear LR mask for cpu0 */
>     clear_cpu_lr_mask();
> +
> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");

I am a bit unsure with this one.
If this is the case, it means any gicv2 or gicv3 init detected an impossibl=
e value and
any usage of gic_number_lines would be using an impossible value.

Shouldn't this somehow result in a panic as the gic detection was wrong ?
Do you think we can continue to work safely if this value is over VGIC_MAX_=
IRQS.
There are other places using gic_number_lines like in irq.c.

Cheers
Bertrand


> }
>=20
> void send_SGI_mask(const cpumask_t *cpumask, enum gic_sgi sgi)
> diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/v=
gic.h
> index e309dca1ad01..c549e5840bfa 100644
> --- a/xen/arch/arm/include/asm/vgic.h
> +++ b/xen/arch/arm/include/asm/vgic.h
> @@ -329,6 +329,9 @@ extern void vgic_check_inflight_irqs_pending(struct v=
cpu *v,
>  */
> #define vgic_num_irqs(d)        ((d)->arch.vgic.nr_spis + 32)
>=20
> +/* Maximum number of IRQs supported by vGIC */
> +#define VGIC_MAX_IRQS 992U
> +
> /*
>  * Allocate a guest VIRQ
>  *  - spi =3D=3D 0 =3D> allocate a PPI. It will be the same on every vCPU
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:35:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:35:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907554.1314771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trw1V-0002kz-KA; Tue, 11 Mar 2025 09:35:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907554.1314771; Tue, 11 Mar 2025 09:35: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 1trw1V-0002ks-Hh; Tue, 11 Mar 2025 09:35:41 +0000
Received: by outflank-mailman (input) for mailman id 907554;
 Tue, 11 Mar 2025 09:35:40 +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 1trw1U-0002km-2c
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:35:40 +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 1trw1T-00ETzt-2i;
 Tue, 11 Mar 2025 09:35:39 +0000
Received: from [2a02:8012:3a1:0:d5e1:ab8b:3d02:5aa4]
 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 1trw1T-003f8I-1B;
 Tue, 11 Mar 2025 09:35: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>
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=AE27sprZm14lEd9+ewihub3olu738bqhuPPI9YkSmus=; b=3a6r3WmelAR1ymosMmneFE29HQ
	LW6zUZe/xUT2hHFKWi4m1z0h08grjUm+Ud+UUyOrqAd7mVawKgHn84xh91+x0XM5Fm4hjE16VVbE8
	fACBUKE9xUYx5I/qDtLGoojYH6ChHoJl93KmH6L0hL8dnNwqFcYZ49niBfaR+zFQ4t6w=;
Message-ID: <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
Date: Tue, 11 Mar 2025 09:35:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 1/9] xen/events: don't allow binding a global virq from
 any domain
Content-Language: en-GB
To: Juergen Gross <jgross@suse.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-2-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250204113407.16839-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 04/02/2025 11:33, Juergen Gross wrote:
> Today Xen will happily allow binding a global virq by a domain which
> isn't configured to receive it. This won't result in any bad actions,
> but the bind will appear to have succeeded with no event ever being
> received by that event channel.
> 
> Instead of allowing the bind, error out if the domain isn't set to
> handle that virq. Note that this check is inside the write_lock() on
> purpose, as a future patch will put a related check into
> set_global_virq_handler() with the addition of using the same lock.
 > > Signed-off-by: Juergen Gross <jgross@suse.com>

I see this patch was already committed. But I have a question about the 
logic.

> ---
> V6:
> - new patch
> V7:
> - move handling domain check inside locked region (Jan Beulich)
> - style fix (Jan Beulich)
> ---
>   xen/common/event_channel.c | 21 +++++++++++++++++----
>   1 file changed, 17 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> index 46281b16ce..cd6f5a1211 100644
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -120,6 +120,13 @@ static uint8_t get_xen_consumer(xen_event_channel_notification_t fn)
>   /* Get the notification function for a given Xen-bound event channel. */
>   #define xen_notification_fn(e) (xen_consumers[(e)->xen_consumer-1])
>   
> +static struct domain *__read_mostly global_virq_handlers[NR_VIRQS];
> +
> +static struct domain *get_global_virq_handler(unsigned int virq)
> +{
> +    return global_virq_handlers[virq] ?: hardware_domain;
> +}
> +
>   static bool virq_is_global(unsigned int virq)
>   {
>       switch ( virq )
> @@ -469,6 +476,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, evtchn_port_t port)
>       struct domain *d = current->domain;
>       int            virq = bind->virq, vcpu = bind->vcpu;
>       int            rc = 0;
> +    bool           is_global;
>   
>       if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) )
>           return -EINVAL;
> @@ -478,8 +486,9 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, evtchn_port_t port)
>       * speculative execution.
>       */
>       virq = array_index_nospec(virq, ARRAY_SIZE(v->virq_to_evtchn));
> +    is_global = virq_is_global(virq);
>   
> -    if ( virq_is_global(virq) && (vcpu != 0) )
> +    if ( is_global && vcpu != 0 )
>           return -EINVAL;
>   
>       if ( (v = domain_vcpu(d, vcpu)) == NULL )
> @@ -487,6 +496,12 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, evtchn_port_t port)
>   
>       write_lock(&d->event_lock);
>   
> +    if ( is_global && get_global_virq_handler(virq) != d )

What prevent a race between get_global_virq_handler() and 
set_global_virq_handler()? Also, it is not clear in the implementation 
of get_global_virq_handler() that it will ever only read 
global_virq_handlers[virq] once.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:40:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:40:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907572.1314782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trw68-0004Gf-3j; Tue, 11 Mar 2025 09:40:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907572.1314782; Tue, 11 Mar 2025 09:40: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 1trw68-0004GY-1B; Tue, 11 Mar 2025 09:40:28 +0000
Received: by outflank-mailman (input) for mailman id 907572;
 Tue, 11 Mar 2025 09:40: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=F6th=V6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1trw66-0004GS-Ky
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:40:26 +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 daa667a4-fe5c-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 10:40:23 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso1000758f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:40:23 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfad7sm17400684f8f.26.2025.03.11.02.40.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 02:40: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: daa667a4-fe5c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741686022; x=1742290822; 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=g7kFONeDAOf5QrTK2ywrU5LUN0ENYm9IXkbHl/h5CNw=;
        b=BKYMpmtS8oXERi27xiSNfth09iQo06RgPEjfG3dfolsVOtaMP2130jn6d/geQAuytq
         Oxm9WQCb9H+GWGIzaUVx1Uz/Di9MS3HiF52olOioRxfH1gSVmDCxRj9NLKPJ4+oX1txO
         Orq4MmK6YUuO+JmPbpnDRff4OX3KCV+i+v4tz8DcNmRiEKUfjbOQnTJJLOjJI5o7MzmK
         EhpXvxGG5Z2v0S4RXNoiwVIV21aAVut5PljwJXNd8tbltTYN5bIhkuVj1lE1l8zWSQ5I
         Nz0LNfE0cQqOi0YHHsLtg/lii5mZ3pYFTXoY0CsTf3mZo5U15Y2lApFFRSmuo1zmbYMu
         vWhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741686022; x=1742290822;
        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=g7kFONeDAOf5QrTK2ywrU5LUN0ENYm9IXkbHl/h5CNw=;
        b=j7JJb826qIqIp7vHApoE9GOrhtmqGm8FnZrVIXQZKCxmZGSjEYBg/e1OlFdHshw7Gw
         E/vSzJAOkwopdS4RfhZH3MurAnDB9PT7GewVbEp2g1Rg1lyWe09PcWK9lKK1o4IN4+lc
         xEwa1Tee5MUNfkQT+gCgfDA3p9dJTB9xH733sZoyaDEQjvg7AuXNlKEr6Wdb9Kj6td22
         a9E7EYYjnvwWrgqPms/R3aWN9cvAA8eORQHkr1SQF+f1yKZ74Vc88OYiLIL1Lw5g7nmU
         LoIFTNuwn8a6RjNvkEZg21Irlxu9yHUy+vM/RPBYL2ZfoJUb8SzP/ap2CzfPraD4AH+G
         YA6g==
X-Forwarded-Encrypted: i=1; AJvYcCVTq8BqZ3ic54LX0FsBw/Lq4MxDo9xOgySMy3070/M+rupXEoKhbI1Xx1Z1bk7gLwKxUTqgEGYO3nk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YymGX09i6eLJVExfN7EiZBr/QXyfCb8tAb4mkGqYSXBBXOPIpdM
	uynVx+l7PZ8xdo/XhvVMYEqaG9u5A7XU+57HzK5jrL7e2IFs/z9Fn89ULvSgIIU=
X-Gm-Gg: ASbGncukX3fiU161juNR9m809C9Sfm8/R7IvKovRCnRWeRDTkano1Qd3PmKzEmLKO1s
	bMYNzMVzd0CxIL4UbWSOeIJqwEgiRAUINJpNK6uOxRByr6AvyGgKhExZZq4Wpp5rsHdbKMx2aII
	yE5Oc/CWoBG7Ngn+vOqkqPWxObkhnoPUemCh54DArETO+LtuKb1l8tLTXeHL/pE18HBMbmOxLEN
	AuMTmalblFm653SSuZC58pyctMSZrHr0QWvuLvPpp+g5RuqGPdqTM3EaRfXiHAfjDdmmWtG+RNX
	LTXUfX+KR9eugKyeiKMhkUcJa2K04wlhqwoIcCgjPmxuYETZi7WmmlcYMWCqqvxlJUML5FNHMGg
	WwcDXHn9I+Pcw0QuXiIXJdr6KKpyXULQASL1MOKXa7t+vSPHFTTtHU699dZ63/DkJvkk=
X-Google-Smtp-Source: AGHT+IF4WA1ddgG1ugNhu9mr7Usq+c6felMxP4UZZfbhSec+VLAiGk0eYRoHD1oW6l0w/++yvyp5HA==
X-Received: by 2002:adf:a40c:0:b0:391:ab2:9e76 with SMTP id ffacd0b85a97d-39132d47102mr9901517f8f.30.1741686022468;
        Tue, 11 Mar 2025 02:40:22 -0700 (PDT)
Message-ID: <eb440a72-5016-4eb3-928c-d441268b2189@suse.com>
Date: Tue, 11 Mar 2025 10:40:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs: specify numerical values of Xenstore commands
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250311073131.13539-1-jgross@suse.com>
 <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
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: <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------z2RVo8f0sPak026edbHrCRTT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------z2RVo8f0sPak026edbHrCRTT
Content-Type: multipart/mixed; boundary="------------RHrzRMfNpceh9t6wqvAnc0eT";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <eb440a72-5016-4eb3-928c-d441268b2189@suse.com>
Subject: Re: [PATCH v2] docs: specify numerical values of Xenstore commands
References: <20250311073131.13539-1-jgross@suse.com>
 <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
In-Reply-To: <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
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=

--------------RHrzRMfNpceh9t6wqvAnc0eT
Content-Type: multipart/mixed; boundary="------------XpuCC0cyqbwlNDDePen7xuDc"

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

T24gMTEuMDMuMjUgMTA6MjEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDExLzAzLzIwMjUgMDc6MzEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJ
biBkb2NzL21pc2MveGVuc3RvcmUudHh0IGFsbCBYZW5zdG9yZSBjb21tYW5kcyBhcmUgc3Bl
Y2lmaWVkLCBidXQNCj4+IHRoZSBzcGVjaWZpY2F0aW9ucyBsYWNrIHRoZSBudW1lcmljYWwg
dmFsdWVzIG9mIHRoZSBjb21tYW5kcy4NCj4+DQo+PiBBZGQgYSB0YWJsZSB3aXRoIGFsbCBj
b21tYW5kcywgdGhlaXIgdmFsdWVzLCBhbmQgYSBwb3RlbnRpYWwgcmVtYXJrDQo+PiAoZS5n
LiB3aGV0aGVyIHRoZSBjb21tYW5kIGlzIG9wdGlvbmFsKS4NCj4+DQo+PiBSZXBvcnRlZC1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTog
SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiBWMjoNCj4+IC0g
cmVwbGFjZSAixZUiIHdpdGggcGxhaW4gInIiIChKYW4gQmV1bGljaCkNCj4+IC0gcmVwbGFj
ZSBoYXJkIHRhYnMgd2l0aCBibGFua3MgKEphbiBCZXVsaWNoKQ0KPj4gLSBhbGxvdyBHRVRf
RkVBVFVSRVMgYW5kIEdFVF9RVU9UQSBzdXBwb3J0IHdpdGhvdXQgU0VUXyogKEphbiBCZXVs
aWNoKQ0KPj4gLS0tDQo+PiDCoCBkb2NzL21pc2MveGVuc3RvcmUudHh0IHwgNTcgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiDCoCAxIGZpbGUgY2hh
bmdlZCwgNTcgaW5zZXJ0aW9ucygrKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kb2NzL21pc2Mv
eGVuc3RvcmUudHh0IGIvZG9jcy9taXNjL3hlbnN0b3JlLnR4dA0KPj4gaW5kZXggN2UxZjAz
MTUyMC4uOGI0Yjc5MGUxMSAxMDA2NDQNCj4+IC0tLSBhL2RvY3MvbWlzYy94ZW5zdG9yZS50
eHQNCj4+ICsrKyBiL2RvY3MvbWlzYy94ZW5zdG9yZS50eHQNCj4+IEBAIC04Niw2ICs4Niw2
MyBAQCBwYXJ0cyBvZiB4ZW5zdG9yZSBpbmFjY2Vzc2libGUgdG8gc29tZSBjbGllbnRzLsKg
IEluIGFueSANCj4+IGNhc2UgcGFzc2luZw0KPj4gwqAgYnVsayBkYXRhIHRocm91Z2ggeGVu
c3RvcmUgaXMgbm90IHJlY29tbWVuZGVkIGFzIHRoZSBwZXJmb3JtYW5jZQ0KPj4gwqAgcHJv
cGVydGllcyBhcmUgcG9vci4NCj4+ICstLS0tLS0tLS0tIERlZmluZWQgWGVuc3RvcmUgbWVz
c2FnZSB0eXBlcyAtLS0tLS0tLS0tDQo+PiArDQo+PiArQmVsb3cgaXMgYSB0YWJsZSB3aXRo
IGFsbCBkZWZpbmVkIFhlbnN0b3JlIG1lc3NhZ2UgdHlwZXMgKHR5cGUgbmFtZQ0KPj4gK2Fu
ZCBpdHMgYXNzb2NpYXRlZCBudW1lcmljYWwgdmFsdWUpLg0KPj4gKw0KPj4gK1NvbWUgdHlw
ZXMgYXJlIG9wdGlvbmFsIHRvIGJlIHN1cHBvcnRlZCBieSBhIHNwZWNpZmljIFhlbnN0b3Jl
DQo+PiAraW1wbGVtZW50YXRpb24uwqAgSWYgYW4gb3B0aW9uYWwgdHlwZSBpcyBub3Qgc3Vw
cG9ydGVkIGJ5IGEgWGVuc3RvcmUNCj4+ICtpbXBsZW1lbnRhdGlvbiwgWGVuIHRvb2xzIHdp
bGwgY29udGludWUgdG8gd29yaywgbWF5YmUgd2l0aCBzbGlnaHRseQ0KPj4gK3JlZHVjZWQg
ZnVuY3Rpb25hbGl0eS7CoCBBIG1hbmRhdG9yeSB0eXBlIG5vdCBiZWluZyBzdXBwb3J0ZWQg
d2lsbA0KPj4gK3Jlc3VsdCBpbiBzZXZlcmVseSByZWR1Y2VkIGZ1bmN0aW9uYWxpdHksIGxp
a2UgaW5hYmlsaXR5IHRvIGNyZWF0ZQ0KPj4gK2RvbWFpbnMuwqAgSW4gY2FzZSBhIHR5cGUg
aXMgb3B0aW9uYWwsIHRoaXMgaXMgc3RhdGVkIGluIHRoZSB0YWJsZSB3aXRoDQo+PiArdGhl
IGxvc3QgZnVuY3Rpb25hbGl0eSBpbiBjYXNlIFhlbnN0b3JlIGRvZXNuJ3Qgc3VwcG9ydCB0
aGF0IHR5cGUuDQo+PiArDQo+PiArWFNfQ09OVFJPTMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgMMKgwqDCoCBvcHRpb25hbA0KPj4gK8KgwqDCoCBJZiBub3Qgc3VwcG9ydGVkLCB4
ZW5zdG9yZS1jb250cm9sIGNvbW1hbmQgd2lsbCBub3Qgd29yay4NCj4gDQo+IEFyZSB3ZSBk
b2N1bWVudGluZyBhbnl3aGVyZSBob3cgYSB1c2VyIGNvdWxkIGZpZ3VyZSBvdXQgaWYgdGhl
IGNvbW1hbmQgaXMgbm90IA0KPiBzdXBwb3J0ZWQ/IElzIGl0IGEgc3BlY2lmaWMgZXJyb3Ig
Y29kZT8NCg0KSSBjYW4gYWRkIHRoYXQgbm90IHN1cHBvcnRlZCBjb21tYW5kcyB3aWxsIHJl
dHVybiAiRU5PU1lTIiBhcyBhbiBlcnJvcg0KcmVzcG9uc2UuDQoNCj4gDQo+PiArwqDCoMKg
IFhTX0RFQlVHIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyBvZiBYU19DT05UUk9MLg0KPiAgPiAr
WFNfRElSRUNUT1JZwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE+ICtYU19SRUFEwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyDQo+PiArWFNfR0VUX1BFUk1TwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIDMNCj4+ICtYU19XQVRDSMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIDQNCj4+ICtYU19VTldBVENIwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCA1DQo+PiArWFNfVFJBTlNBQ1RJT05fU1RBUlTCoMKgwqDCoCA2DQo+PiArWFNfVFJB
TlNBQ1RJT05fRU5EwqDCoMKgwqDCoMKgIDcNCj4+ICtYU19JTlRST0RVQ0XCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgOA0KPj4gK1hTX1JFTEVBU0XCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIDkNCj4+ICtYU19HRVRfRE9NQUlOX1BBVEjCoMKgwqDCoMKgIDEwDQo+PiArWFNf
V1JJVEXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTENCj4+ICtYU19NS0RJUsKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMg0KPj4gK1hTX1JNwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEzDQo+PiArWFNfU0VUX1BFUk1TwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCAxNA0KPj4gK1hTX1dBVENIX0VWRU5UwqDCoMKgwqDCoMKgwqDCoMKg
IDE1DQo+PiArwqDCoMKgIE5vdCB2YWxpZCBpbiBjbGllbnQgc2VudCBtZXNzYWdlcy4NCj4+
ICvCoMKgwqAgT25seSB2YWxpZCBpbiBYZW5zdG9yZSByZXBsaWVzLg0KPj4gK1hTX0VSUk9S
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE2DQo+PiArwqDCoMKgIE5vdCB2YWxp
ZCBpbiBjbGllbnQgc2VudCBtZXNzYWdlcy4NCj4+ICvCoMKgwqAgT25seSB2YWxpZCBpbiBY
ZW5zdG9yZSByZXBsaWVzLg0KPj4gK1hTX0lTX0RPTUFJTl9JTlRST0RVQ0VEIDE3DQo+PiAr
WFNfUkVTVU1FwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxOA0KPj4gK1hTX1NFVF9U
QVJHRVTCoMKgwqDCoMKgwqDCoMKgwqDCoCAxOQ0KPj4gK1hTX1JFU1RSSUNUwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIDIwwqDCoMKgIG5vIGxvbmdlciBzdXBwb3J0ZWQNCj4+ICvCoMKg
wqAgWFNfUkVTVFJJQ1QgaGFzIGJlZW4gcmVtb3ZlZCwgdGhlIHR5cGUgdmFsdWUgMjAgaXMg
aW52YWxpZC4NCj4+ICtYU19SRVNFVF9XQVRDSEVTwqDCoMKgwqDCoMKgwqAgMjENCj4+ICtY
U19ESVJFQ1RPUllfUEFSVMKgwqDCoMKgwqDCoCAyMsKgwqDCoCBvcHRpb25hbA0KPj4gK8Kg
wqDCoCBJZiBub3Qgc3VwcG9ydGVkLCB0aGUgb3V0cHV0IG9mIHhlbnN0b3JlLWxzIG1pZ2h0
IGJlIGluY29tcGxldGUNCj4+ICvCoMKgwqAgd2l0aCBtb3JlIHRoYW4gY2EuIDEwMDAgZG9t
YWlucyBhY3RpdmUuDQo+IA0KPiBXaHkgYXJlIHdlIG1ha2luZyB0aGlzIHNwZWNpZmljIHRv
IG51bWJlciBvZiBkb21haW5zPyBXb3VsZG4ndCB0aGUgcHJvYmxlbSBiZSANCj4gdGhlIHNh
bWUgaWYgeW91IGhhdmUgMTAwMCBub2RlIHdpdGhpbiBhIHBhcmVudCBub2RlPw0KDQpMZXQg
bWUgcmVpdGVyYXRlIHRoZSBhbnN3ZXIgSSBnYXZlIHRvIEphbiB3aGVuIGhlIGFza2VkOg0K
DQogICBBbmQgZWxzZXdoZXJlIHRoZXJlIGNhbid0IGJlIHZlcnkgbWFueSBub2RlcyByZXN1
bHRpbmcgaW4gYSBzaW1pbGFyDQogICBzaXR1YXRpb24/DQoNCk5vdCB3aXRob3V0IHNvbWVv
bmUgdHJ5aW5nIHRvIGZvcmNlIHRoaXMgYnkgd2lsbCAob25seSBwb3NzaWJsZSBieSBhDQpy
b290IHVzZXIgb2YgZG9tMCwgZS5nLiB2aWEgY3JlYXRpbmcgbG90cyBvZiBub2RlcyBpbiB0
aGUgc2FtZSBkaXJlY3RvcnkNCnZpYSAieGVuc3RvcmUtd3JpdGUiKS4NCg0KSGF2aW5nIGxv
dHMgb2YgZG9tYWlucyBpcyBhbiAiZWFzeSIgd2F5IHRvIGNyZWF0ZSB0aGlzIHNjZW5hcmlv
IHZpYQ0KcGVyZmVjdGx5IHZhbGlkIGFuZCBzZW5zaWJsZSBvcGVyYXRpb25zLg0KDQoNCkkg
Y2FuIHJlcGhyYXNlIHRoZSByZW1hcmsgbGlrZSB0aGlzOg0KDQogICAgIElmIG5vdCBzdXBw
b3J0ZWQsIHRoZSBvdXRwdXQgb2YgeGVuc3RvcmUtbHMgbWlnaHQgYmUgaW5jb21wbGV0ZQ0K
ICAgICB3aXRoIGEgbm9kZSdzIHN1Yi1ub2RlIGxpc3QgZXhjZWVkaW5nIHRoZSBtYXhpbXVt
IHBheWxvYWQgc2l6ZQ0KICAgICAoZS5nLiB0aGUgIi9sb2NhbC9kb21haW4iIG5vZGUgd2l0
aCBtb3JlIHRoYW4gY2EuIDEwMDAgZG9tYWlucw0KICAgICBhY3RpdmUpLg0KDQoNCkp1ZXJn
ZW4NCg==
--------------XpuCC0cyqbwlNDDePen7xuDc
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-----

--------------XpuCC0cyqbwlNDDePen7xuDc--

--------------RHrzRMfNpceh9t6wqvAnc0eT--

--------------z2RVo8f0sPak026edbHrCRTT
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/Ey8FAmfQBQUFAwAAAAAACgkQsN6d1ii/Ey+m
cQf/eXQm6NMuvPSsHrN5KVcMYCgwT7j3gZhi1HAUBYozR3Jb2mb0hL9tp6oWRBggLlmr4YDsOWaz
eHrTzFEAodD8/l/JIqzrYK9rNojZs5/5Tm9CYmaR3/ZEo11Tsye/fdiNjpaRv69s3jbm+YNpDTtu
lzwJH37m+cSb6ctLJQklnlfXlkpo28mpKRAeW+P5Ckj4pXs1VnqOe3sekAstzvNb72/jEZA8La+h
6loFcDnTVB67JvBqJntfgng5Edes0qjggbehk+VmUUbRcWa8kzco1bh35E4I4draqkOP8WOhFX3f
Zo/S3IcLwzyuykNgj8pffVAYcWT1NZ76TDnWjPYRVQ==
=8eje
-----END PGP SIGNATURE-----

--------------z2RVo8f0sPak026edbHrCRTT--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:43:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907585.1314792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trw8s-0004vX-KH; Tue, 11 Mar 2025 09:43:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907585.1314792; Tue, 11 Mar 2025 09:43: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 1trw8s-0004vQ-Hf; Tue, 11 Mar 2025 09:43:18 +0000
Received: by outflank-mailman (input) for mailman id 907585;
 Tue, 11 Mar 2025 09:43:17 +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 1trw8r-0004vI-TA
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:43:17 +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 1trw8r-00EU7v-1m;
 Tue, 11 Mar 2025 09:43:17 +0000
Received: from [2a02:8012:3a1:0:d5e1:ab8b:3d02:5aa4]
 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 1trw8r-003fno-0Q;
 Tue, 11 Mar 2025 09:43: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>
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=uRkFwsIkJpRqp/tGMVml8fG0APWEeRFzwwMeHmBqz6o=; b=w4L9EvK3kHrW9UIOucx7NKNyH5
	rQrk6qZ/ksuVTIm05FeXqhiaKwiVyB6MDxwOvK1gBTtVNSM5kn92bXLBpZygcnywQvii/CYdWJyM3
	lrVctdjTcowCSSM/Yu5xZu5Jq0x3QP0VlO0iR25cbhc1sR7BrVwWXrEXxLMIG9FJGHCU=;
Message-ID: <526952a6-eb7a-4055-bd3f-eae1af203f80@xen.org>
Date: Tue, 11 Mar 2025 09:43:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 7/9] docs: update xenstore migration stream definition
Content-Language: en-GB
To: Juergen Gross <jgross@suse.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-8-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250204113407.16839-8-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 04/02/2025 11:34, Juergen Gross wrote:
> In order to close a race window for Xenstore live update when using
> the new unique_id of domains, the migration stream needs to contain
> this unique_id for each domain known by Xenstore.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V8:
> - new patch
> ---
>   docs/designs/xenstore-migration.md | 14 +++++++++++++-
>   1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/designs/xenstore-migration.md b/docs/designs/xenstore-migration.md
> index 082314bf72..fba691ee0d 100644
> --- a/docs/designs/xenstore-migration.md
> +++ b/docs/designs/xenstore-migration.md
> @@ -156,7 +156,7 @@ the domain being migrated.
>   ```
>       0       1       2       3       4       5       6       7    octet
>   +-------+-------+-------+-------+-------+-------+-------+-------+
> -| conn-id                       | conn-type     |               |
> +| conn-id                       | conn-type     | uniq-id-off   |
>   +-------------------------------+---------------+---------------+
 >   | conn-spec>   ...
> @@ -165,6 +165,9 @@ the domain being migrated.
>   +---------------+---------------+-------------------------------+
>   | data
>   ...
> ++---------------------------------------------------------------+
> +| unique-id                                                     |
> ++---------------------------------------------------------------+
>   ```
>   
>   
> @@ -178,6 +181,12 @@ the domain being migrated.
>   |                | 0x0001: socket                               |
>   |                | 0x0002 - 0xFFFF: reserved for future use     |
>   |                |                                              |
> +| `uniq-id-off`  | The offset (in octets) of the `unique-id`    |
> +|                | field from the start of the record body.     |
> +|                | If 0, no `unique-id` field is present.       |
> +|                | Only needed for `shared ring` connection in  |
> +|                | live update streams.                         |
> +|                |                                              |

Looking at the rest of the record, the unique ID would be past the 
in-data (length is 2-byte) and the out-data (length is 4-byte). So 
technically the offset would need 5-bytes. But here you are using 
2-bytes. Can you explain why?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:46:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907595.1314802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwBf-0005V1-0p; Tue, 11 Mar 2025 09:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907595.1314802; Tue, 11 Mar 2025 09: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 1trwBe-0005Uu-UN; Tue, 11 Mar 2025 09:46:10 +0000
Received: by outflank-mailman (input) for mailman id 907595;
 Tue, 11 Mar 2025 09: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=QaIb=V6=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1trwBd-0005Uo-FP
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:46:09 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a87ab140-fe5d-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 10:46:08 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-ac2c663a3daso60766466b.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:46:08 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2a40aa5fcsm280012466b.139.2025.03.11.02.46.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 02:46: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: a87ab140-fe5d-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741686368; x=1742291168; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zBpczGnIrPBghAyOv0JflLum7lPmsd1GkdA7F43wOCE=;
        b=Mv9jgMgR4cBE3rctVqWaqVLveI/UP5xGMrPFYCYWSBju9pQmT3F3+/bEqEKxSYVJll
         s8yAwLHPRM1BdjPXuzf31ZGVS4ienPKueKDWKAs+xQR1/4syiforrqF5A+Uv/rR0Z6Aw
         7Vjt87oL69k1FAZ5zk3H9cNIvqFBXlp2k5bAU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741686368; x=1742291168;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=zBpczGnIrPBghAyOv0JflLum7lPmsd1GkdA7F43wOCE=;
        b=mNLRkL1SEsimBA8twODvtrnq53NU6zEHxGtwBRjlaRqRhHzbN0+dCsRxzSYrBLPmMF
         uja+GyE0fAHu/t3/qKvyAL5KACO5ChT0fHeWP81HmcgmnZbaSmxegQ9ce0tZ/KorJEzn
         o882ypyx5F8MKCcO9jKvPqhUrkx8LGxjImfJ0dOtufjutn5JVh65pSeb41zwvDbZDhFg
         BsUC1IcHYni33xOAxVVLsOy+ajTQZt/wMc9omXhYUvS06hmLyMWcmttTR7f85GP9kHU3
         7RfHqBIESP7Iy388CbkisROREeUZHytZN/pZr1MTB7+9JXYnEBAF/19ts8x8w2blt43J
         xAyQ==
X-Forwarded-Encrypted: i=1; AJvYcCUkfNBs8EY7IAeFKwbE+adjj2H9HCGtUx8Fu8JiKhkTL/r02wIUgmSA2u2JdAPcUZIFe5eYsT3OW1Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxJ0pPMFQSYwTbjf06M2SXMGA45L2PQZuBQgv/h5xH7W8z5HgxL
	cMWXLiF9BjeItLpR8HbytV8IxU25WJyQXbx2kZy5cb0nmD27+OPnYzr1B6Cm5R4=
X-Gm-Gg: ASbGncuLJ3eIsC5dfQhGMuE9xAlbJcM8PEI6qk/rIaxLW/uN5BvLZ0R/AOtCI+VPvMJ
	REHVIzKRiMyPARBT0j1oQhYdPbFgt6pdElXvFRtJJU+NZo2ceE81U0X5PEtHWFK4M1G+IZeRVWQ
	PFxyTaR5GcvaqM0pyH3hXJchcpTvXaoq8KccjPlUd8b0IzX771GYrKQ5yNbv5RN5zBFRjFHlEgJ
	+xMO+ZI8d4fpcYqiAw1SI3+MwF6WSQKtXIOGWYta05ZTYhqeG4zAcaCK8x6c4xzmm3JKe0T10j5
	34w735mZE4PoVRexRfbslNR6FthUvZ+PFnJD6f5v/axs53nmVMA=
X-Google-Smtp-Source: AGHT+IGmNQQ/dfLjXs2gIZTKGfHTObzobnN9ImQNkKkML9ItsIhU0mwP975JB3Vlb+ia+A7rLbfuXg==
X-Received: by 2002:a17:907:720a:b0:ac1:e881:89aa with SMTP id a640c23a62f3a-ac2525b9c95mr2033700666b.5.1741686367930;
        Tue, 11 Mar 2025 02:46:07 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 11 Mar 2025 09:46:06 +0000
Message-Id: <D8DCAEVQKQFE.2W7VAZ1VZ9LZW@cloud.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>
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <D80RCS1Y7AKH.373ULA2LO3MND@cloud.com>
 <4af0077c-c933-4894-bfad-2adda7afbbf7@suse.com>
 <D83AY7ZBKC81.3NBCLVK3DX833@cloud.com>
 <f50d8ee7-a00f-4f4f-99f6-4313af7a4fdc@suse.com>
 <D88D5732H4EQ.3770M7EIO3TW1@cloud.com>
 <6070a7b3-4d1d-4db9-a812-5887de129aa1@suse.com>
In-Reply-To: <6070a7b3-4d1d-4db9-a812-5887de129aa1@suse.com>

On Wed Mar 5, 2025 at 1:39 PM GMT, Jan Beulich wrote:
> > It's all quite perverse. Fortunately, looking at adjacent claims-relate=
d code
> > xl seems to default to making a claim prior to populating the physmap a=
nd
> > cancelling the claim at the end of the meminit() hook so this is never =
a real
> > problem.
> >=20
> > This tells me that the logic intent is to force early failure of
> > populate_physmap and nothing else. It's never active by the time balloo=
ning or
> > memory exchange matter at all.
>
> Ah yes, this I find more convincing. (Oddly enough this is all x86-only c=
ode.)

Should I take this as an "ack" to the general plan of early returning on pa=
ges
<=3D0? I have a series pending that relies on it (the v2 of this[1]). And w=
ould
rather defer its sending until this one get some form of nod. Otherwise I'l=
l
integrate it in the other series so I can at least reduce remove dependenci=
es
between things in-flight.

Cheers,
Alejandro

[1] https://lore.kernel.org/xen-devel/20250304111000.9252-1-alejandro.valle=
jo@cloud.com/


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:51:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907605.1314812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwGb-00073D-JH; Tue, 11 Mar 2025 09:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907605.1314812; Tue, 11 Mar 2025 09:51: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 1trwGb-000736-FZ; Tue, 11 Mar 2025 09:51:17 +0000
Received: by outflank-mailman (input) for mailman id 907605;
 Tue, 11 Mar 2025 09:51: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=F6th=V6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1trwGa-000730-DW
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:51:16 +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 5f4d8187-fe5e-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 10:51:15 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac286d4ed05so368797966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:51:15 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2a09ca468sm308817266b.5.2025.03.11.02.51.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 02:51: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: 5f4d8187-fe5e-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741686674; x=1742291474; 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=mar9nrrtPldwoMmug423uIAHJ8EXa4+qpMEyBeleapg=;
        b=ImXt6awSXQKfpvfBRSY+FG58vfldsKe2sU/xsSdtzaz7Xdp94s48W17+5G2DVmiL0s
         jJ7em3jhB2uXZoo9Dyuo6pD8n0op5WBkpNyR6zi7WbVkqBryYh1DV2tPT6k7EJd5VeGS
         iONOWQWOcjLUvnZdVO/9imVV3jrPKrIkrbW9ER4LMsw/06FL9/CcVs0zPn4hdaWh5N6t
         1SAGkL46XjedgPOveTln1EzgxYA11nVps/7/rvZdnIA5dtaqH7OkbmU2q7SZN1QahPFE
         m61BEOynF0bFO1fweaLbjnTXvm1ggr5ZmbuPk5xkxmGfdZyid88eNOvxBygQ1o6bph/e
         xDig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741686674; x=1742291474;
        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=mar9nrrtPldwoMmug423uIAHJ8EXa4+qpMEyBeleapg=;
        b=UrwUDsj3AjQoT07NOIY9I2Y5DQaJ42At2k/gpW6lvYvcPs7yXAILW4o6gTHS23HxDb
         hxNqaOuwepUaWOeS9qTB4wq6rZYZZA1jtqKCx5n7TIqiQJEMyhvJvpBS3s7sPCRWg/Oo
         enH1MAce5B4fCq1QC5XRDkfy+k/4bHvj2iWomO3kjZU1VZFT2Y02QMtKPpZYbt32KGYb
         jrIUyCgTkN1CsgA2n65D1gm7JXwWIYmxQPb+NW75kgEn4Ew3ueRiPssJyrK0RHvKBMWL
         naiMlNnPqz2UQUj42lk2B1A56ZHFT3zy6uowwlWclKham25Rh308wYI2cuM/FXidIyv2
         t7JA==
X-Forwarded-Encrypted: i=1; AJvYcCUsqLFBi23bOzxdcxWbFzw/qwdLUJHANCHqwefweQ8M6CDf20bnw2zE00F2j1LOFqQ1FGh2qTjfbic=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzkrZPMU8kC8vvfluDU+NYdw0nOybQ0NPLpxz24ptELvFzECCRo
	+VJS44oqfJm2biSQiHjdPcHQbA5NMOyi/k3/wYX4DBNtHKlSuGqxSe2KZEnVUWE=
X-Gm-Gg: ASbGnctJiMvPWUJCcL+Kku+Jd0pm9RxxFZQkA+ZYoECueViZRFD7kG5XmrmS/bVEr4+
	3VwW0CJl3g1+1UA8LL3xxzQz3htntqFI8+wbhg531MJk5m6UJTvs1f7BYoosZUkGSds5yubgXSj
	aWdi9N4iAzpbYLRpcZTXTYuJCu/ntFdQdydtia8PUrefhEQyGrDw6DeHGxA+M5kGiT2fXErdkX7
	D3tl2OjjzSvoo2ZMiw+bhUEkyidN21gQm+7K/Mv/8jrMlcmEpaa/6nctexWP5y0L0bOlocB5CXZ
	1bQhPhkJO1aZF/wbqqzCsuSagNU9OXeNuDa4id4kIWHaFRmGmMFB8hj+7bfalUQK9ga2BS408sg
	vbgVd8ZsN6M/1ECiSAsuTf6iBqPwjzazbEBIUDBc7ASl6NJ5Tv0087xk+3VOXRE6d6QQ=
X-Google-Smtp-Source: AGHT+IHKK84nt1WbtrJdInHOqs53RxzOxLjO8nfCz6umz3fSvccNELdDes4nwHdjIsc7+EX8WCem1Q==
X-Received: by 2002:a17:907:6ea8:b0:ac2:8a59:92f4 with SMTP id a640c23a62f3a-ac28a5997fdmr1255403366b.51.1741686674501;
        Tue, 11 Mar 2025 02:51:14 -0700 (PDT)
Message-ID: <e6352575-c2cb-4616-b305-1cd64480de1a@suse.com>
Date: Tue, 11 Mar 2025 10:51:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 1/9] xen/events: don't allow binding a global virq from
 any domain
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-2-jgross@suse.com>
 <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
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: <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------PSl804qVHK0D3e06hWVBoITR"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------PSl804qVHK0D3e06hWVBoITR
Content-Type: multipart/mixed; boundary="------------00npI2P9rnseJ6HPieiRIxJs";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <e6352575-c2cb-4616-b305-1cd64480de1a@suse.com>
Subject: Re: [PATCH v8 1/9] xen/events: don't allow binding a global virq from
 any domain
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-2-jgross@suse.com>
 <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
In-Reply-To: <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
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=

--------------00npI2P9rnseJ6HPieiRIxJs
Content-Type: multipart/mixed; boundary="------------cOK7d2SpSdlvgEe9TU4ePZFe"

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

T24gMTEuMDMuMjUgMTA6MzUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDA0LzAyLzIwMjUgMTE6MzMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBU
b2RheSBYZW4gd2lsbCBoYXBwaWx5IGFsbG93IGJpbmRpbmcgYSBnbG9iYWwgdmlycSBieSBh
IGRvbWFpbiB3aGljaA0KPj4gaXNuJ3QgY29uZmlndXJlZCB0byByZWNlaXZlIGl0LiBUaGlz
IHdvbid0IHJlc3VsdCBpbiBhbnkgYmFkIGFjdGlvbnMsDQo+PiBidXQgdGhlIGJpbmQgd2ls
bCBhcHBlYXIgdG8gaGF2ZSBzdWNjZWVkZWQgd2l0aCBubyBldmVudCBldmVyIGJlaW5nDQo+
PiByZWNlaXZlZCBieSB0aGF0IGV2ZW50IGNoYW5uZWwuDQo+Pg0KPj4gSW5zdGVhZCBvZiBh
bGxvd2luZyB0aGUgYmluZCwgZXJyb3Igb3V0IGlmIHRoZSBkb21haW4gaXNuJ3Qgc2V0IHRv
DQo+PiBoYW5kbGUgdGhhdCB2aXJxLiBOb3RlIHRoYXQgdGhpcyBjaGVjayBpcyBpbnNpZGUg
dGhlIHdyaXRlX2xvY2soKSBvbg0KPj4gcHVycG9zZSwgYXMgYSBmdXR1cmUgcGF0Y2ggd2ls
bCBwdXQgYSByZWxhdGVkIGNoZWNrIGludG8NCj4+IHNldF9nbG9iYWxfdmlycV9oYW5kbGVy
KCkgd2l0aCB0aGUgYWRkaXRpb24gb2YgdXNpbmcgdGhlIHNhbWUgbG9jay4NCj4gID4gPiBT
aWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBJ
IHNlZSB0aGlzIHBhdGNoIHdhcyBhbHJlYWR5IGNvbW1pdHRlZC4gQnV0IEkgaGF2ZSBhIHF1
ZXN0aW9uIGFib3V0IHRoZSBsb2dpYy4NCj4gDQo+PiAtLS0NCj4+IFY2Og0KPj4gLSBuZXcg
cGF0Y2gNCj4+IFY3Og0KPj4gLSBtb3ZlIGhhbmRsaW5nIGRvbWFpbiBjaGVjayBpbnNpZGUg
bG9ja2VkIHJlZ2lvbiAoSmFuIEJldWxpY2gpDQo+PiAtIHN0eWxlIGZpeCAoSmFuIEJldWxp
Y2gpDQo+PiAtLS0NCj4+IMKgIHhlbi9jb21tb24vZXZlbnRfY2hhbm5lbC5jIHwgMjEgKysr
KysrKysrKysrKysrKystLS0tDQo+PiDCoCAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9u
cygrKSwgNCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9l
dmVudF9jaGFubmVsLmMgYi94ZW4vY29tbW9uL2V2ZW50X2NoYW5uZWwuYw0KPj4gaW5kZXgg
NDYyODFiMTZjZS4uY2Q2ZjVhMTIxMSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9jb21tb24vZXZl
bnRfY2hhbm5lbC5jDQo+PiArKysgYi94ZW4vY29tbW9uL2V2ZW50X2NoYW5uZWwuYw0KPj4g
QEAgLTEyMCw2ICsxMjAsMTMgQEAgc3RhdGljIHVpbnQ4X3QgDQo+PiBnZXRfeGVuX2NvbnN1
bWVyKHhlbl9ldmVudF9jaGFubmVsX25vdGlmaWNhdGlvbl90IGZuKQ0KPj4gwqAgLyogR2V0
IHRoZSBub3RpZmljYXRpb24gZnVuY3Rpb24gZm9yIGEgZ2l2ZW4gWGVuLWJvdW5kIGV2ZW50
IGNoYW5uZWwuICovDQo+PiDCoCAjZGVmaW5lIHhlbl9ub3RpZmljYXRpb25fZm4oZSkgKHhl
bl9jb25zdW1lcnNbKGUpLT54ZW5fY29uc3VtZXItMV0pDQo+PiArc3RhdGljIHN0cnVjdCBk
b21haW4gKl9fcmVhZF9tb3N0bHkgZ2xvYmFsX3ZpcnFfaGFuZGxlcnNbTlJfVklSUVNdOw0K
Pj4gKw0KPj4gK3N0YXRpYyBzdHJ1Y3QgZG9tYWluICpnZXRfZ2xvYmFsX3ZpcnFfaGFuZGxl
cih1bnNpZ25lZCBpbnQgdmlycSkNCj4+ICt7DQo+PiArwqDCoMKgIHJldHVybiBnbG9iYWxf
dmlycV9oYW5kbGVyc1t2aXJxXSA/OiBoYXJkd2FyZV9kb21haW47DQo+PiArfQ0KPj4gKw0K
Pj4gwqAgc3RhdGljIGJvb2wgdmlycV9pc19nbG9iYWwodW5zaWduZWQgaW50IHZpcnEpDQo+
PiDCoCB7DQo+PiDCoMKgwqDCoMKgIHN3aXRjaCAoIHZpcnEgKQ0KPj4gQEAgLTQ2OSw2ICs0
NzYsNyBAQCBpbnQgZXZ0Y2huX2JpbmRfdmlycShldnRjaG5fYmluZF92aXJxX3QgKmJpbmQs
IA0KPj4gZXZ0Y2huX3BvcnRfdCBwb3J0KQ0KPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgZG9tYWlu
ICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4gwqDCoMKgwqDCoCBpbnTCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHZpcnEgPSBiaW5kLT52aXJxLCB2Y3B1ID0gYmluZC0+dmNwdTsNCj4+IMKg
wqDCoMKgwqAgaW50wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByYyA9IDA7DQo+PiArwqDCoMKg
IGJvb2zCoMKgwqDCoMKgwqDCoMKgwqDCoCBpc19nbG9iYWw7DQo+PiDCoMKgwqDCoMKgIGlm
ICggKHZpcnEgPCAwKSB8fCAodmlycSA+PSBBUlJBWV9TSVpFKHYtPnZpcnFfdG9fZXZ0Y2hu
KSkgKQ0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOw0KPj4gQEAgLTQ3
OCw4ICs0ODYsOSBAQCBpbnQgZXZ0Y2huX2JpbmRfdmlycShldnRjaG5fYmluZF92aXJxX3Qg
KmJpbmQsIA0KPj4gZXZ0Y2huX3BvcnRfdCBwb3J0KQ0KPj4gwqDCoMKgwqDCoCAqIHNwZWN1
bGF0aXZlIGV4ZWN1dGlvbi4NCj4+IMKgwqDCoMKgwqAgKi8NCj4+IMKgwqDCoMKgwqAgdmly
cSA9IGFycmF5X2luZGV4X25vc3BlYyh2aXJxLCBBUlJBWV9TSVpFKHYtPnZpcnFfdG9fZXZ0
Y2huKSk7DQo+PiArwqDCoMKgIGlzX2dsb2JhbCA9IHZpcnFfaXNfZ2xvYmFsKHZpcnEpOw0K
Pj4gLcKgwqDCoCBpZiAoIHZpcnFfaXNfZ2xvYmFsKHZpcnEpICYmICh2Y3B1ICE9IDApICkN
Cj4+ICvCoMKgwqAgaWYgKCBpc19nbG9iYWwgJiYgdmNwdSAhPSAwICkNCj4+IMKgwqDCoMKg
wqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsNCj4+IMKgwqDCoMKgwqAgaWYgKCAodiA9IGRv
bWFpbl92Y3B1KGQsIHZjcHUpKSA9PSBOVUxMICkNCj4+IEBAIC00ODcsNiArNDk2LDEyIEBA
IGludCBldnRjaG5fYmluZF92aXJxKGV2dGNobl9iaW5kX3ZpcnFfdCAqYmluZCwgDQo+PiBl
dnRjaG5fcG9ydF90IHBvcnQpDQo+PiDCoMKgwqDCoMKgIHdyaXRlX2xvY2soJmQtPmV2ZW50
X2xvY2spOw0KPj4gK8KgwqDCoCBpZiAoIGlzX2dsb2JhbCAmJiBnZXRfZ2xvYmFsX3ZpcnFf
aGFuZGxlcih2aXJxKSAhPSBkICkNCj4gDQo+IFdoYXQgcHJldmVudCBhIHJhY2UgYmV0d2Vl
biBnZXRfZ2xvYmFsX3ZpcnFfaGFuZGxlcigpIGFuZCANCj4gc2V0X2dsb2JhbF92aXJxX2hh
bmRsZXIoKT8gQWxzbywgaXQgaXMgbm90IGNsZWFyIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBv
ZiANCj4gZ2V0X2dsb2JhbF92aXJxX2hhbmRsZXIoKSB0aGF0IGl0IHdpbGwgZXZlciBvbmx5
IHJlYWQgZ2xvYmFsX3ZpcnFfaGFuZGxlcnNbdmlycV0gDQo+IG9uY2UuDQoNCnNldF9nbG9i
YWxfdmlycV9oYW5kbGVyKCkgaXMgdGFraW5nIHRoZSBldmVudF9sb2NrIG9mIHRoZSBkb21h
aW4NCnJlZ2lzdGVyZWQgYXMgaGFuZGxlci4NCg0KU28gaWYgYSBkb21haW4gaXMgcmVnaXN0
ZXJlZCBmb3IgaGFuZGxpbmcgYSB2aXJxLCBkLT5ldmVudF9sb2NrIGlzDQpwcm90ZWN0aW5n
IGFnYWluc3QgdGhlIGhhbmRsaW5nIGRvbWFpbiB0byBiZSBjaGFuZ2VkLiBDb25jdXJyZW50
DQpjYWxscyBvZiBzZXRfZ2xvYmFsX3ZpcnFfaGFuZGxlcigpIGFyZSBoYW5kbGVkIHZpYSB0
YWtpbmcgdGhlDQpnbG9iYWxfdmlycV9oYW5kbGVyc19sb2NrIHNwaW5fbG9jay4NCg0KDQpK
dWVyZ2VuDQo=
--------------cOK7d2SpSdlvgEe9TU4ePZFe
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-----

--------------cOK7d2SpSdlvgEe9TU4ePZFe--

--------------00npI2P9rnseJ6HPieiRIxJs--

--------------PSl804qVHK0D3e06hWVBoITR
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/Ey8FAmfQB5EFAwAAAAAACgkQsN6d1ii/Ey84
Mgf/Yl7tj3egwySegvTKiaVYe3IzkgafSPzTZe/GUA2mfhaULfDPlOhoxmnXv213Jzcky11guWgf
14DVDKNgt5DTOrbLoHXVpzcUxhF718hnlIm5DRf/uk84RiqpOBpvFh7GejB8mv3vNluh3A92j/rL
cA8otbTtnNu/rvUDK6fEE/xHFEK/I02Sa00uLJ4/xZy5vUDS3umAN4cs5ub8YC8prSQj7uN+Z5Sh
YRwcxpTSVcPp0zLOSFXd9WcSv6tslO5R9Yo3G8biOXDwdF2vvt/i4ETErdHiS106OA03JAUHft+S
DCR/NYCg4ImtGUWYLtw5HbnRo6i2CijxlQDGVAPtlw==
=4UpF
-----END PGP SIGNATURE-----

--------------PSl804qVHK0D3e06hWVBoITR--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 09:59:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 09:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907618.1314822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwO6-0002Sl-As; Tue, 11 Mar 2025 09:59:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907618.1314822; Tue, 11 Mar 2025 09:59: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 1trwO6-0002Se-7H; Tue, 11 Mar 2025 09:59:02 +0000
Received: by outflank-mailman (input) for mailman id 907618;
 Tue, 11 Mar 2025 09:59: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=F6th=V6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1trwO5-0002SY-68
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 09:59:01 +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 742ae5ce-fe5f-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 10:58:59 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5e5b6f3025dso7415713a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 02:58:59 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac23943945asm884610366b.22.2025.03.11.02.58.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 02:58: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: 742ae5ce-fe5f-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741687139; x=1742291939; 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=HhE42444M87VoHUgJqG8UhAKyxHfK0vP1HL/mLp74ZU=;
        b=dEhPkL4I2P5j8YMxBUvoIVmbOFMiMyB/7uq8xZ4+UuMMgdStf3wY/PhPbS5oc0uA1T
         foOOc0BNU8PBLEar/vmAoEo2a8z3S50rBGYiTLB+f48vqbKc7vUiPCyXEeGI2f4GPAVX
         1RXmZw47LfHXybCw0Xo9j8HYpie8TKYsI/eVG1X95BXp2+voOzs7F0JBuMl65shMGScS
         rgSH1ES7/moDgkwRBnKC+ebmvW8zhjR0Gwm5iibo7df0hXwb59TH4nkpjQDZw2aRUjMh
         BRR+yrbQ25V/du7f2sNUa9o+ilTIFX81rMW78MDzA3kyU9aPGeFA9hdUEfcF67TCPoki
         8FNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741687139; x=1742291939;
        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=HhE42444M87VoHUgJqG8UhAKyxHfK0vP1HL/mLp74ZU=;
        b=wT3C6lEQOWHgzw18wetEuE/w8lU+RvRuaJjPnPtprXFgBpvRWCVt27RN/KDhgiicET
         jFmlX0OmX0497mphR3RPjW1kwrLTT3AuAH0hJ4Us+0GNAIWQdylyAqlNHOTtU/FWW5fd
         WIR74lrw515ajm7SFJXdy6yU2wdmzlPGsTqMBr6KXKzBu1fT1vPMk2N6gF1Wxk+P+mLM
         arYgXWBK07PoToy0aHCvSacT/sTmZWXRbRdCIWeoYMYm3PpSGSjqyDWUAcTUC8afn4Er
         nLZbnJAlvPyQJaoXip43284sJRIu1vgM4J7uJ4lqBwMiE14YFiXWctXZVDfdW17gM5U/
         OnwQ==
X-Forwarded-Encrypted: i=1; AJvYcCWjurZlZtLaeg2oOL/YVnFsbezAdo3fG+NxgRGb5nv9mYFg8JkJ+K/nyp4ncB0IxSUXHoLHhx32sDk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8iAokVy9L9dZ+/kwfQGW0VNpm/9GDT8fcxxLHrBT9UCBXSaqi
	//KrvIknejo1zQjmIcnRe92uf1071sLIXLZWSI68NFqkJ/soNEbnl4zt0SFg/Ek=
X-Gm-Gg: ASbGncsqGJ/+l9gquen/sLsP1xxsTRXG1GQQPDt3Umvl32a3M1/hZ59eciB1QjzP2KA
	4RPmJouHo1BS+nQfXl44LKutC58NmcOp9ZM3dYhLlscNYGW0viMtD2b84dMLQaHr5YqBxFMveHM
	6OyvTrS7oKCbFA+Abkc7L54qikXe8537fTQD+L8eM5c3lBjrmp1wqZFeSVBFVTUEtNgNDJ69Nei
	P5bTcD23Bc5u0qDytrym9YjwJgllWkNRafw/9N/b5aUML4RunZ+IgMNTEoSyhjyJRHPjHBXKYqX
	sKrYVi6PuaHQ0s6bV1sSKuYpdUv6DDGtomawBYy2KJ9QRf+cUXdDIySM66KMB6nLEYh0isJEjk2
	bjF0W8/kIGVG+Q6ZhVAShPefqOjhNFZom5Pj8XPWAOV68YX/sR7U5sdX2S0opmtcs03o=
X-Google-Smtp-Source: AGHT+IEiaOyDEhLrVKNCkkdnIQ3TnI9ssdcdteYeK3kt/1u9jo9jTghMfpWKpjiXy/vlXQNj0vu+TA==
X-Received: by 2002:a17:907:158a:b0:ac2:6913:7cc6 with SMTP id a640c23a62f3a-ac2b9e220f1mr258786266b.31.1741687138969;
        Tue, 11 Mar 2025 02:58:58 -0700 (PDT)
Message-ID: <5316de12-303b-4a2e-af34-3029ac03153b@suse.com>
Date: Tue, 11 Mar 2025 10:58:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 7/9] docs: update xenstore migration stream definition
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-8-jgross@suse.com>
 <526952a6-eb7a-4055-bd3f-eae1af203f80@xen.org>
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: <526952a6-eb7a-4055-bd3f-eae1af203f80@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------otMVjAFDba6JVMIuKtRYeChe"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------otMVjAFDba6JVMIuKtRYeChe
Content-Type: multipart/mixed; boundary="------------8jaZm2EFVzYe9ZWjSyat6sbZ";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <5316de12-303b-4a2e-af34-3029ac03153b@suse.com>
Subject: Re: [PATCH v8 7/9] docs: update xenstore migration stream definition
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-8-jgross@suse.com>
 <526952a6-eb7a-4055-bd3f-eae1af203f80@xen.org>
In-Reply-To: <526952a6-eb7a-4055-bd3f-eae1af203f80@xen.org>
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=

--------------8jaZm2EFVzYe9ZWjSyat6sbZ
Content-Type: multipart/mixed; boundary="------------a8G1DYG2LmbvTnxB6wBOZjtJ"

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

T24gMTEuMDMuMjUgMTA6NDMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDA0LzAyLzIwMjUgMTE6MzQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJ
biBvcmRlciB0byBjbG9zZSBhIHJhY2Ugd2luZG93IGZvciBYZW5zdG9yZSBsaXZlIHVwZGF0
ZSB3aGVuIHVzaW5nDQo+PiB0aGUgbmV3IHVuaXF1ZV9pZCBvZiBkb21haW5zLCB0aGUgbWln
cmF0aW9uIHN0cmVhbSBuZWVkcyB0byBjb250YWluDQo+PiB0aGlzIHVuaXF1ZV9pZCBmb3Ig
ZWFjaCBkb21haW4ga25vd24gYnkgWGVuc3RvcmUuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTog
SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiBWODoNCj4+IC0g
bmV3IHBhdGNoDQo+PiAtLS0NCj4+IMKgIGRvY3MvZGVzaWducy94ZW5zdG9yZS1taWdyYXRp
b24ubWQgfCAxNCArKysrKysrKysrKysrLQ0KPj4gwqAgMSBmaWxlIGNoYW5nZWQsIDEzIGlu
c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZG9jcy9k
ZXNpZ25zL3hlbnN0b3JlLW1pZ3JhdGlvbi5tZCBiL2RvY3MvZGVzaWducy94ZW5zdG9yZS0g
DQo+PiBtaWdyYXRpb24ubWQNCj4+IGluZGV4IDA4MjMxNGJmNzIuLmZiYTY5MWVlMGQgMTAw
NjQ0DQo+PiAtLS0gYS9kb2NzL2Rlc2lnbnMveGVuc3RvcmUtbWlncmF0aW9uLm1kDQo+PiAr
KysgYi9kb2NzL2Rlc2lnbnMveGVuc3RvcmUtbWlncmF0aW9uLm1kDQo+PiBAQCAtMTU2LDcg
KzE1Niw3IEBAIHRoZSBkb21haW4gYmVpbmcgbWlncmF0ZWQuDQo+PiDCoCBgYGANCj4+IMKg
wqDCoMKgwqAgMMKgwqDCoMKgwqDCoCAxwqDCoMKgwqDCoMKgIDLCoMKgwqDCoMKgwqAgM8Kg
wqDCoMKgwqDCoCA0wqDCoMKgwqDCoMKgIDXCoMKgwqDCoMKgwqAgNsKgwqDCoMKgwqDCoCA3
wqDCoMKgIG9jdGV0DQo+PiDCoCArLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSst
LS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KPj4gLXwgY29ubi1pZMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgY29ubi10eXBlwqDCoMKg
wqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gK3wgY29ubi1pZMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgY29ubi10eXBlwqDC
oMKgwqAgfCB1bmlxLWlkLW9mZsKgwqAgfA0KPj4gwqAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsNCj4gID7CoMKg
IHwgY29ubi1zcGVjPsKgwqAgLi4uDQo+PiBAQCAtMTY1LDYgKzE2NSw5IEBAIHRoZSBkb21h
aW4gYmVpbmcgbWlncmF0ZWQuDQo+PiDCoCArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t
LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPj4gwqAgfCBkYXRhDQo+
PiDCoCAuLi4NCj4+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPj4gK3wgdW5pcXVlLWlkwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gKystLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rDQo+PiDCoCBgYGANCj4+IEBAIC0xNzgsNiArMTgxLDEyIEBAIHRoZSBkb21haW4gYmVp
bmcgbWlncmF0ZWQuDQo+PiDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg
MHgwMDAxOiBzb2NrZXTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8IDB4MDAwMiAtIDB4RkZGRjogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2XCoMKg
wqDCoCB8DQo+PiDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPj4gK3wgYHVuaXEtaWQtb2ZmYMKg
IHwgVGhlIG9mZnNldCAoaW4gb2N0ZXRzKSBvZiB0aGUgYHVuaXF1ZS1pZGDCoMKgwqAgfA0K
Pj4gK3zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBmaWVsZCBmcm9tIHRoZSBz
dGFydCBvZiB0aGUgcmVjb3JkIGJvZHkuwqDCoMKgwqAgfA0KPj4gK3zCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgfCBJZiAwLCBubyBgdW5pcXVlLWlkYCBmaWVsZCBpcyBwcmVz
ZW50LsKgwqDCoMKgwqDCoCB8DQo+PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB8IE9ubHkgbmVlZGVkIGZvciBgc2hhcmVkIHJpbmdgIGNvbm5lY3Rpb24gaW7CoCB8DQo+
PiArfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGxpdmUgdXBkYXRlIHN0cmVh
bXMuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwN
Cj4+ICt8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgfA0KPiANCj4gTG9va2luZyBhdCB0aGUgcmVzdCBvZiB0
aGUgcmVjb3JkLCB0aGUgdW5pcXVlIElEIHdvdWxkIGJlIHBhc3QgdGhlIGluLWRhdGEgDQo+
IChsZW5ndGggaXMgMi1ieXRlKSBhbmQgdGhlIG91dC1kYXRhIChsZW5ndGggaXMgNC1ieXRl
KS4gU28gdGVjaG5pY2FsbHkgdGhlIA0KPiBvZmZzZXQgd291bGQgbmVlZCA1LWJ5dGVzLiBC
dXQgaGVyZSB5b3UgYXJlIHVzaW5nIDItYnl0ZXMuIENhbiB5b3UgZXhwbGFpbiB3aHk/DQoN
Ckdvb2QgY2F0Y2guDQoNCkkgdGhpbmsgSSBuZWVkIHRvIGNoYW5nZSB0aGlzIHRvIGJlIGEg
ZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIHVuaXF1ZS1pZA0KaXMgcHJlc2VudCBhbmQgbG9j
YXRlZCBhdCB0aGUgbmV4dCA4LWJ5dGUgYm91bmRhcnkgYWZ0ZXIgImRhdGEiLg0KDQoNCkp1
ZXJnZW4NCg==
--------------a8G1DYG2LmbvTnxB6wBOZjtJ
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-----

--------------a8G1DYG2LmbvTnxB6wBOZjtJ--

--------------8jaZm2EFVzYe9ZWjSyat6sbZ--

--------------otMVjAFDba6JVMIuKtRYeChe
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/Ey8FAmfQCWIFAwAAAAAACgkQsN6d1ii/Ey9K
oAgAgDgKSDQKr6ANf2h9Rq5fm9shEtnLPgVJkZJO2EZSFo4TyDGnB6r7GX21CljwFxC2J1uIM6+o
K25ODtpY0pigXPS9GE8sDSYZ3kltc+lJPMtlt9e3GqTsh8ADD3Me4WPMo5OrmEIOcggHL0qYHaC/
Y0jquOkONBvWPr3nEvXecnE+WKOEM/T5gGvClLTVBwbA+Y26DIBO9xkuwuNVqK8DskAsXEyN4rIs
DxerzBh1UJczudsG0j9QbcDX2vGpxpv96z5mjnD9NqDdRZatoxgabTpIUn2kTtyuBx5GmzS3BKh6
Nd09kBgKUorfQNPuhwJxAmaecFcJ+XZvShqnrpLlDA==
=tPPM
-----END PGP SIGNATURE-----

--------------otMVjAFDba6JVMIuKtRYeChe--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:00:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:00:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907631.1314836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwPF-00042u-OQ; Tue, 11 Mar 2025 10:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907631.1314836; Tue, 11 Mar 2025 10:00: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 1trwPF-00042l-Lm; Tue, 11 Mar 2025 10:00:13 +0000
Received: by outflank-mailman (input) for mailman id 907631;
 Tue, 11 Mar 2025 10: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=5FZT=V6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1trwPD-000429-E2
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:00:11 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2413::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c938cd9-fe5f-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:00:08 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by IA1PR12MB8334.namprd12.prod.outlook.com (2603:10b6:208:3ff::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:00:04 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:00: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: 9c938cd9-fe5f-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fTckzv3AUdFhxyQ6o9SuzOeAvfZjiKNeYDj0TOpV6PEQ2pbVjMTVh7VVeslJO4CfEJWATk4Hnumd071dW3rp1DxuyFL16GsXuV2vnk5sYz5+qRM+VYDgEZzO8puEhpqrGaoYiDIcnkzgHqBSMRBsHsKRiyYlptVRAQfeali5esx3zrdUVfTtq97l89LFJfO+v6cL3HZxLYHgNUyiO4tMIV9+wQ5VfLwWzsYSVCTxRl4wdiaiH+QPvT1Idsb/SYBI5J0X4mYQxOqBM3qoZj1Dd/UhRvKGXCg9U6Up3tZrVho5BX0QaxcS1v14WzF7nHRxbjNq5DHuNC2yPnEQIODoKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t4i8NrnN2qPNpveCz1AjIt9LUq44osQl1nmbGk2yVJY=;
 b=HoynZr1qn0npcdhKgxq1tbO8O6HHtfSLPyAwrKbX9L21uU3W1zg/ls+X7H1JH+DpKFestbrCfFK+Z29MmJN3NrYB+bDT5qS21aSunGYrh4WOgZaAyqC6H9VJLEMaUIcwMGsvojTlXSpTySzMXAkxkrmTWWzeAqPA0pvJ/4GjKk8tN+X4d8CTbMhIraOmr07ux9/O+vUaX9DinRsVKTDjxK9ZNtOHFTTeYxSuyJj8RXA6Zn4s4CNx2MnCxhbGWloMGSciPEhNO2/9lpZpavyNkb2R2E6geMkMY2OQMvH0OEmm53Ay0lhl3C86WT7MUal780BOzwK6a/bVLZE7Wujg4w==
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=t4i8NrnN2qPNpveCz1AjIt9LUq44osQl1nmbGk2yVJY=;
 b=b4+1SQ7/hkhrusB/wmLcRzjYXDSq2owf5sFvHpeUzeEFO2Q0zCljSy5HIo2Hzlq01yZZMAm6tgfHEKL693W/qWdqv3vFMRPwO7wH9bQpicdcJPBIKFULAXlnG0gceEbx0xHonZVBFfIy9riEwtSFvnJdMatDVA6qWgteNgVGp9o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <2d66e9e2-e6a4-4552-960a-2e8d95555ff4@amd.com>
Date: Tue, 11 Mar 2025 10:59:58 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm: Improve handling of nr_spis
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-2-michal.orzel@amd.com>
 <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0252.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f5::17) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|IA1PR12MB8334:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ec7361e-4f1e-4f49-0f6c-08dd60837ef1
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?S2RJY25KQzdVM3FVU1RIZlZqdlVNdURDNTlpK1kvMVIxSkx4Qm9wOXVIMjZD?=
 =?utf-8?B?QmZUajhvR3hpaVZ4TUovSFBmZU1xakZCbmcveG9xaEk0QktnN29hNWdFZ2xU?=
 =?utf-8?B?eGhrOHRydmxrb2pqWlFMcUFsU2pGaGowWmgxOHdWMDJBSFdTS1c2N1ZJRUQ2?=
 =?utf-8?B?TjdiS0J2QStDaC9QOWlpVkhTMGhoR2hOOGYyODQ5UVRlK0FZcFZ5YjAzbmcr?=
 =?utf-8?B?RS9wYkk3UmU2QmVGMUdoYjFiVndkWWR3U2tWdlBrYmRocE9UdEF6d2tWOUJC?=
 =?utf-8?B?Ti91TERCT3hOa3psTzIwd01Qd0V6YkV3UHFOaUp5NzNoVDR4M1EvUmxhR2po?=
 =?utf-8?B?TVlRblhCQTBwSWdBQjNmdU53aHlBOVl3eVRQYVBhdjVreWRaYlVmT0MvQnpF?=
 =?utf-8?B?WExMc29rOUJ5b2dLY3hScjJaZTNnSk9LV0ZwNzgybWtxTVV4Nng2T01Ka2dS?=
 =?utf-8?B?bWcyckUzY29ZYUJ0TU1SMzBNcmNWbjV0WnNEQk80QVZkalJvNEJWY2doRzZh?=
 =?utf-8?B?TWhqQUpMYXREVStJamZyQVN1TTZDa0xITmhJd01wY3ZWSVpleHFmcUUrbFRl?=
 =?utf-8?B?SHZ1dm9RTWJHdVg0UTVVa1ZiaTY3cTRZNUFjRGgvRjVtcnRCaE9MN09YUUx1?=
 =?utf-8?B?dEFrNGg1NXcxbkhaYXVHNUJRVWhCSk9aSVFWZnJ3ckNGNGUzZSs3ak5ha2J6?=
 =?utf-8?B?Z1NKTVJxQUtXS21HUTZhRVl6aWZyS29xMEV1aDZMVmFUYm5YTkVuSExhdFBm?=
 =?utf-8?B?OExaS0xGWitNNGtTWE90OURKNFdwYTYvMnp6TmZOZHhrZkUyUGEzNUs2MzRC?=
 =?utf-8?B?blhZakE3Ykx5MmgvaXRZNDBJUDQwS21SSjNuMDZTS3RGTS9SOC83a3g3TTVF?=
 =?utf-8?B?Qkd5YjFnZENDcVB2WWhXTGVCVE1LalFWc2JKVEsybGJvSFJLWU5MYXZJMWlq?=
 =?utf-8?B?UDJQelZFUnFFbENyYUVDR2ZQckRQY1VjRmV3KzdmWkppOUg0YTJTcm1ZMEtV?=
 =?utf-8?B?VlM4ZzNpTm9CamFzdi9BaHBrcmpMbXhXWFVyVlYyTXNPOFcrTFY0OVdEbzFo?=
 =?utf-8?B?M2Vmb3dsL1JKKzVYN1Z5dGUzQkl3NXhia1NCQTZDMzN4eUtXbWIwY0RuV3Z6?=
 =?utf-8?B?eVc2TU8rMzU3eEVYN2xpT2diYlJRVXJBdTNzcGpIdEtrYVJsQWtwNU5GM043?=
 =?utf-8?B?THIxaDZuOFgvanhlOVArcFluWG1EVU1oZTNlTXhoVUxmT0pSdnlIeExITG9D?=
 =?utf-8?B?QmVDckRpc0lVWmloa2E2bTRrREkwL1pIUlk0UWFwZ1VTY0tmN2h3SnhoVWwz?=
 =?utf-8?B?NnlIa1V2d2ljQ291Z3ZmWmhZSHpNRWtnMTV2am5za0xTZGdFQzJOZ2hTajJJ?=
 =?utf-8?B?dXdaVmpnbmlVSHZCWU04NGNjcFk5SDRnWjhubGM1NlNvZXV5NC94anV4WkFS?=
 =?utf-8?B?TldLU0RFa3BYSVpmY0dIQUsranZaYXZoci91Z3NwTGRaQTlQK0xlaDB5RjRN?=
 =?utf-8?B?NUtuZmZKK28wbUpVdFdKeFNHSitiMHBPTWNQSG1vdWVDQzlJdjZ4REphSEdo?=
 =?utf-8?B?UlJmaW9HSERTaldaTHRMUUVqbTBuZHp3TDl1bHZSQWZISjVGcnliK2FiYnI4?=
 =?utf-8?B?QUorK3llTHp6Y0RRTGdXQ1dtZTlxOTQ5cXpCa1JDQTcwbnNORWlIWThpOTQv?=
 =?utf-8?B?SkFTM1JXTkRtRmRvVE1DM1diUkp5ZUczVlVhRmJlM3B4VFp0SVpoZkh3YUNU?=
 =?utf-8?B?K2UwMlhRL2h2MnZWMVFEUytMYXlReFF6N3ltdGZkcVAwMk12SHhKR3dCcS9U?=
 =?utf-8?B?WGhHWDJFaUZIUDFNM0pCWE96WSt1Z3l4WEt3a3g1NWR4bzNPbFNGRkl3a1Fq?=
 =?utf-8?Q?p/Jcf5eTaDRiR?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?dDV6aEJURzErQWNxem1YTXR2TkVlK3cvQ3J5OHBUM1luN0ZjUUdrYnRzQy9U?=
 =?utf-8?B?OWwzelBtRzAxRnRKYWs0ZVJlVnMwb0JOYUt1U0hpUmxuYkJqY3dyTE9aOUdB?=
 =?utf-8?B?d1l1dUNkZkpnZjhKWmJNWUpzUE5VSS82eHV0T1FkQWkyMW1QamxmSWxETTYz?=
 =?utf-8?B?dCtaQlRHai9GU1lZdGNhazBZSTRMUytDM29FQVI0SjVGNG9LYWtnOG9VWlRI?=
 =?utf-8?B?bTh6Y05DbWh2VnptREVmTks1STUyd0lzck04ZXJkWmFIWUR6aml3RXVGZU0v?=
 =?utf-8?B?Rm1XMEZjNVpwZlE2ekhsbG02VmN4MmovYVMrMDBSdUViUEtXaTRXLzBSeGNV?=
 =?utf-8?B?R3BDZE05YlpOcVdITDBONEdIckhCZVBlVmZ6cDJTWnJ2eFRwQStzRlNRWDNs?=
 =?utf-8?B?STdGdEs4NWFEd1lUbXA1UkxoZHI4QmtEdkZ1R2JHOVNLY2kzVkNWbWJpZ1NC?=
 =?utf-8?B?WXUraEhlQXRDWDFMNVd6ODdueUdoanNGQXpzd0k5S3pBWkZCamdvWE9aZnI3?=
 =?utf-8?B?ZFkvMndRaGVCMFlkSEsyLzVtWHZQY2JQdXh0MzhFWDdVY1JJeERQSGxvSHNP?=
 =?utf-8?B?ZlJpTlk3NXV5bzZzT2Z1M3NDSmZkSnVlZHB4ZXZ6U0NpTG8wbnd3NVdHc01r?=
 =?utf-8?B?bklIb2lMSEpFSVhxUE94cDRhd3dqdEtUOThFbmZBd04rSHVzK1dzSnc5SWsv?=
 =?utf-8?B?QzJzZkU4WDNiQjYzVDJnK0pIUUNlelZWKzJFdFdJUVEySENqYnE2aTArSzJJ?=
 =?utf-8?B?NUNnS2pYanhoTkRucjA4R0V4dUVUWVMwZ1JRc2pKeG0xdFRNREtQb0ExbnRr?=
 =?utf-8?B?dGJTcUlDZEw4UHEwU09jNUJyei9GNTd4SHpuckJuRStNODBVT0tIYThDenVB?=
 =?utf-8?B?SFY2a2t3aGw2ZmZDQTQwcjNVNmdlMHdiOWFwSkdtZ0dPSDFVVktYeTAyZjdV?=
 =?utf-8?B?RUExcmVPUGY0dlB2L2Z0TnlDMVR5NG1UREprczJNb1BPa0dTU3pSZDZMNXI3?=
 =?utf-8?B?MlRYbzBCRTRHN00wbzNCODZkNUNEdlRZd0pXR3VWZ2lzZWVxaXlRT1JrM3NQ?=
 =?utf-8?B?RGRsaDRLMzNEZUpKd29hazNyOGxVdDBCZ0JmR0tsWmY1a1BoQ0hLazJwRGRt?=
 =?utf-8?B?WXB0VzdadmtSOXRhdmU1cWd3cVJtTXJmRnFQeFV6VXVySGJ6SWp5dE5MRHV2?=
 =?utf-8?B?b2JieUswQ0d4MVFrQjQrRTM3d0xWL2xmNDlKY2VNSDlmdWxEYmdWSnF2UXdk?=
 =?utf-8?B?MjAxMzVaanY2VUtjUndpckJGVVZKTldONllDWWV3OXQyVy84MEh3YS83VkNn?=
 =?utf-8?B?NGprYTZaSGIyK2pqL3NXQ2VhZEt6MHFGY243OXFwNVVrT0VobFZZaHBGWmV6?=
 =?utf-8?B?TStLdVlNckt1MDF6cjRUTTFrZTU4R0s5RUx0dzcwSmU2cWhwdGIzOEVWWnRl?=
 =?utf-8?B?S244MTgvVVRiL0JITkpGb244dDY4cG92cGxCWnV6cU1iTWFIUzRPSVR1Q2Jo?=
 =?utf-8?B?enlCVk10NDRPUk05c3Y2M0wyUWdpcWc1Z3BPMnJaVnd1TW9PSDdEVnJ1Nk5W?=
 =?utf-8?B?VnpobGVZamI4Q1RxZVp1akNqZmdESG1pd1lNRjBsRUVKNGUzZ2oyMm5UeU1U?=
 =?utf-8?B?U2pSdFVkalE5M01FZ3RlSVBwbjdCVHJiYjBSOTVlak56RWw4Qzl0N0FHajQ5?=
 =?utf-8?B?N2hZK3VUVER2SDB4NTlEa2tUbnF3blpHcjZYSDkxR0ZOSERkN3ZkMGdBaUFO?=
 =?utf-8?B?Z1BLeUtHZEZFbHVVaUFPQ3NBWVRySG5PT2E1ak5JdDIwUmVzc2Y1MTRRQzNE?=
 =?utf-8?B?WXFlYThjekFSbkQxRUVKMGdZZlhmUEFoN05YVWV4K1BRUnRjbEI3SHVEay94?=
 =?utf-8?B?VWJJNXVzYWU4blBUWTkvbkNlc0tyKytUZSs3dE4zbmFydEQva3dWSFhwRTRo?=
 =?utf-8?B?L05oVUZXa0F5NEVUdnZ2K2ZYZnNTTis3RTVDSWlta0pQbWY5UmVtazJkbms0?=
 =?utf-8?B?SWdIRzBkKzFyRDBPaWlvNm5YcFdCbkpPVDhERm9PSUJSSllyQXZGUDZmaXBP?=
 =?utf-8?B?NUlVaVdKaHI1QTNQY0lhNnJJbDFRYlFuMjZ5UDJiQ1pqRnd2Ti9MNnpBK1lk?=
 =?utf-8?Q?BkA4=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ec7361e-4f1e-4f49-0f6c-08dd60837ef1
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 10:00:04.5201
 (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: M6e24cgPzEZoP6cVUSOQT/w0p4pIBV+KhU8IrasYCFQugWiAGlgrCP9vXUOkhIVY
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8334



On 11/03/2025 10:30, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> At the moment, we print a warning about max number of IRQs supported by
>> GIC bigger than vGIC only for hardware domain. This check is not hwdom
>> special, and should be made common. Also, in case of user not specifying
>> nr_spis for dom0less domUs, we should take into account max number of
>> IRQs supported by vGIC if it's smaller than for GIC.
>>
>> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value.
>> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
>> IRQs comparison common.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>> xen/arch/arm/dom0less-build.c   | 2 +-
>> xen/arch/arm/domain_build.c     | 9 ++-------
>> xen/arch/arm/gic.c              | 3 +++
>> xen/arch/arm/include/asm/vgic.h | 3 +++
>> 4 files changed, 9 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
>> index 31f31c38da3f..9a84fee94119 100644
>> --- a/xen/arch/arm/dom0less-build.c
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>>         {
>>             int vpl011_virq = GUEST_VPL011_SPI;
>>
>> -            d_cfg.arch.nr_spis = gic_number_lines() - 32;
>> +            d_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
> 
> I would suggest to introduce a static inline gic_nr_spis in a gic header ...
Why GIC and not vGIC? This is domain's nr_spis, so vGIC.
But then, why static inline if the value does not change and is domain agnostic?
I struggle to find a good name for this macro. Maybe (in vgic.h):
#define vgic_def_nr_spis (min(gic_number_lines(), VGIC_MAX_IRQS) - 32)
to denote default nr_spis if not set by the user?

> 
>>
>>             /*
>>              * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 7cc141ef75e9..b99c4e3a69bf 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -2371,13 +2371,8 @@ void __init create_dom0(void)
>>
>>     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>>     dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
>> -    /*
>> -     * Xen vGIC supports a maximum of 992 interrupt lines.
>> -     * 32 are substracted to cover local IRQs.
>> -     */
>> -    dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
>> -    if ( gic_number_lines() > 992 )
>> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
>> +    /* 32 are substracted to cover local IRQs */
>> +    dom0_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
> 
> and reuse it here to make sure the value used is always the same.
> 
>>     dom0_cfg.arch.tee_type = tee_get_type();
>>     dom0_cfg.max_vcpus = dom0_max_vcpus();
>>
>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>> index acf61a4de373..e80fe0ca2421 100644
>> --- a/xen/arch/arm/gic.c
>> +++ b/xen/arch/arm/gic.c
>> @@ -251,6 +251,9 @@ void __init gic_init(void)
>>         panic("Failed to initialize the GIC drivers\n");
>>     /* Clear LR mask for cpu0 */
>>     clear_cpu_lr_mask();
>> +
>> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
>> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
> 
> I am a bit unsure with this one.
> If this is the case, it means any gicv2 or gicv3 init detected an impossible value and
> any usage of gic_number_lines would be using an impossible value.
Why impossible? GIC can support up to 1020 IRQs. Our vGIC can support up to 992
IRQs.

> 
> Shouldn't this somehow result in a panic as the gic detection was wrong ?
> Do you think we can continue to work safely if this value is over VGIC_MAX_IRQS.
> There are other places using gic_number_lines like in irq.c.
I can add a panic, sure. This would be a change in behavior because we used this
check for hwdom unconditionally. I'd need others opinion for this one.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:06:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907646.1314850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwVD-00053J-FV; Tue, 11 Mar 2025 10:06:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907646.1314850; Tue, 11 Mar 2025 10:06: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 1trwVD-00053C-CU; Tue, 11 Mar 2025 10:06:23 +0000
Received: by outflank-mailman (input) for mailman id 907646;
 Tue, 11 Mar 2025 10:06: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trwVC-000536-22
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:06:22 +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 7a90abf6-fe60-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:06:20 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39129fc51f8so4174594f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 03:06: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-3912c0e34fasm17736902f8f.75.2025.03.11.03.06.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 03:06: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: 7a90abf6-fe60-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741687579; x=1742292379; 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=bHrSiSyfNmU8vpPxLBaqt2RS02xrwl4mxCFV3V4ifD8=;
        b=PcIMh1Vo9xSMvZsS3ApCUb8ooe8s8ECGAmQuOsZaeAledYUOMrEDxiwebOoBEfnxqN
         B199d2v15AFPxhGJl3w+iPBQlQiLHywxtPu5VI8uGcmtCIdMm2brgYxaDXWYENPqktVa
         MFwqb8P+w9DoCynNe4hewj8b3SVMdkO7n912DKyR4cfHC75716arae2DB3dTfco5cwiW
         bS2VF5Tt2MQ1mmV8xzA85fhbrTPo1ONb8nmuGvdNZTERyW0uS8S/2GonO/6A7HgvBRxh
         SYLflXPOAypFIuFlkzyltYHZQdNCt0qyqtOF0bDr25tuUUOEtjLp6aGV65NutDB6WTVd
         hPQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741687579; x=1742292379;
        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=bHrSiSyfNmU8vpPxLBaqt2RS02xrwl4mxCFV3V4ifD8=;
        b=myzEY/xc9gFMKDTvcIeiL72PVtEFEBJ1ZUtU6wSBqUd1I9L4QDe7MSH0A++oxvCoSt
         PaOSgcxOaVPOIZvtIAqOTroEqbnbenLA+cGKf+Kk5Vbjj6ZaE4raXf3aqCxQXr2dajSv
         y48iVBr/8BGqyWktufQaFVs6miT6e6EQMGbL4IwqX2xn9SSLSJPerQrJ5clS7QVe1fTp
         HpOIoZcTx7ROgfIVik8nk/LZrR7Q21PWCYdz6I65s+P0M7tClWktoAUSwVyFTyz1aJxc
         qRtQRL6r8mioBpkcAQfuYU/utmUXyAblJCRN4KcDZ5BAyw5aqtpIaqVtB0XAPeM3qEpC
         XIgw==
X-Forwarded-Encrypted: i=1; AJvYcCVCBvOr4TVDF+hAnO1lOx22B7m1iFgSxGlTwRAcd7cqbAbLTzmk/rUSe1feZv99gm20q+g2sQKW8f0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzoJI48WEqXfJJ67S+443ZJb6TaxuU501gu5BNRKy1EBh+L4MDB
	S7YxalULlFs8vKHJgNjQ7nOMuOaa1KqfYGWkjFgr/baDfKpuuVrjSdZ5sJ+rVw==
X-Gm-Gg: ASbGnct50wzo8JrUWb1DqB9yBZgYVQo+Kyxn1m/egjKpHlFEnzXXEt94XrUAzis9eI6
	OWQIMeUOoLsc/2jA90vRWLb9u+/Vaj0XOsL6mkjIqmi2ji6M1Ktr37wcROEh/jFTPlZFRkJY90T
	DItAG7MZs5TC3WF4ZkSaw7dbbY77E0UgT5RLpG9xlDqBWyVLIXfuST/wu+hKe/lR2CqcOEgQIOs
	leqDuJJuPIZKT25NyxYN3qk858KPmK5tNKOSjJHkHQ/A/Z013sp4EvbnHJPTLO1MsWNKozafhvJ
	nRgU340EVQ2yaaX2foGhDHlMODtxYFvZjaPCIL0gmysXakhj9juD42cUMcP3dDyNJJsZ/F5UqoL
	v98h+4C/9lwUfyCl4LCtU4zCaa320zQ==
X-Google-Smtp-Source: AGHT+IGMBB1rUosapCCaOTwY4F1heVHZ0xT7Qeto3HeTezVzN/e0N4T9a3uiX7OhqID5wcrITnQCeA==
X-Received: by 2002:a5d:64e4:0:b0:391:4889:5045 with SMTP id ffacd0b85a97d-391488951femr6674400f8f.36.1741687579251;
        Tue, 11 Mar 2025 03:06:19 -0700 (PDT)
Message-ID: <86d46d75-2142-4d51-8057-e220fd5d3432@suse.com>
Date: Tue, 11 Mar 2025 11:06:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/page_alloc: Simplify domain_adjust_tot_pages
To: Alejandro Vallejo <alejandro.vallejo@cloud.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: <20250224132724.9074-1-alejandro.vallejo@cloud.com>
 <D80RCS1Y7AKH.373ULA2LO3MND@cloud.com>
 <4af0077c-c933-4894-bfad-2adda7afbbf7@suse.com>
 <D83AY7ZBKC81.3NBCLVK3DX833@cloud.com>
 <f50d8ee7-a00f-4f4f-99f6-4313af7a4fdc@suse.com>
 <D88D5732H4EQ.3770M7EIO3TW1@cloud.com>
 <6070a7b3-4d1d-4db9-a812-5887de129aa1@suse.com>
 <D8DCAEVQKQFE.2W7VAZ1VZ9LZW@cloud.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: <D8DCAEVQKQFE.2W7VAZ1VZ9LZW@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 10:46, Alejandro Vallejo wrote:
> On Wed Mar 5, 2025 at 1:39 PM GMT, Jan Beulich wrote:
>>> It's all quite perverse. Fortunately, looking at adjacent claims-related code
>>> xl seems to default to making a claim prior to populating the physmap and
>>> cancelling the claim at the end of the meminit() hook so this is never a real
>>> problem.
>>>
>>> This tells me that the logic intent is to force early failure of
>>> populate_physmap and nothing else. It's never active by the time ballooning or
>>> memory exchange matter at all.
>>
>> Ah yes, this I find more convincing. (Oddly enough this is all x86-only code.)
> 
> Should I take this as an "ack" to the general plan of early returning on pages
> <=0? I have a series pending that relies on it (the v2 of this[1]).

Not an ack, but an "I can accept this, but someone else will need to ack it".

Jan

> And would
> rather defer its sending until this one get some form of nod. Otherwise I'll
> integrate it in the other series so I can at least reduce remove dependencies
> between things in-flight.
> 
> Cheers,
> Alejandro
> 
> [1] https://lore.kernel.org/xen-devel/20250304111000.9252-1-alejandro.vallejo@cloud.com/



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:11:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:11:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907656.1314860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwaD-0007s2-0a; Tue, 11 Mar 2025 10:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907656.1314860; Tue, 11 Mar 2025 10:11: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 1trwaC-0007rv-U2; Tue, 11 Mar 2025 10:11:32 +0000
Received: by outflank-mailman (input) for mailman id 907656;
 Tue, 11 Mar 2025 10:11: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=72vt=V6=amd.com=Luca.Miccio@srs-se1.protection.inumbo.net>)
 id 1trwaC-0007ro-08
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:11:32 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061d.outbound.protection.outlook.com
 [2a01:111:f403:2415::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32bbeb78-fe61-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 11:11:30 +0100 (CET)
Received: from CY5PR15CA0065.namprd15.prod.outlook.com (2603:10b6:930:18::20)
 by DM6PR12MB4121.namprd12.prod.outlook.com (2603:10b6:5:220::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:11:24 +0000
Received: from CY4PEPF0000EDD0.namprd03.prod.outlook.com
 (2603:10b6:930:18:cafe::58) by CY5PR15CA0065.outlook.office365.com
 (2603:10b6:930:18::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 10:11:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD0.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 10:11:24 +0000
Received: from [10.252.149.239] (10.180.168.240) 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, 11 Mar
 2025 05:11:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32bbeb78-fe61-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M2GEFBettdIK/3/RehVR+q7KGmUsOSGfC08uBPO8GYyGroCcIYzbXRQOueX7MzmJKHrmC3AIn9m8Zie7M0LqTuPzvBfSYJWfohBlWxHQYhTwWmOcSE47RblZC5b87GkPLuKv37fl7s7iB2qzk2osKP+RC0gQuBC9R6G205a1BSYrEToOneszeLC+B6kmX1pl5ZKBOxN137Y07w+TTAWBcB8Q+0bFXUC97drfPRV1jm16pB1PRORzCmeDV6Rg7D8LcfSTt8PkWIhA+jEck+sZ8Ej0uq90CAVb+l24qIFQ3m6KKvjsuNPsIufIzgskPozgSdR/kP74o9oCGEEqEIXEbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E79lLws45ZBEe6luJS6Y165zfndfyoNjgEp6F3PC4J0=;
 b=HdFWPvf+MeaaFLmhxspzG8g57le2LVRq4D2G+vjxYMBMlytB7sJ7AjoONsnPVAK9SZYhAUdO1TO+lj16aT8HD72HhvIdaR5CUn2wmHeK6o/93/sHqJtbThgLPJqGq8ULXfze8kEl1jL378wkfGv7atOIDNzu+vtUm3HwZSostJbWHY9JT0aYo0OTrH9KMlMx8C9+if5cVIgeAKXK/YHMhwWl48IqQnKgTWwVN7jGNgglBrlpAKIbe0+N7qq4eKPfjvsrz6YJrSLXZPMX57W9858oeNGW1WQLKLxXhIsPT3OFCZYo+NAiEwi8a/qsVFuILO+s3DW0ABbXkpvKxKPuFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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=E79lLws45ZBEe6luJS6Y165zfndfyoNjgEp6F3PC4J0=;
 b=h6WkTff0NvSBXZHC7wPA5WcSHUtjJXHhakob6FzfRzqE8evqdFxHLHW9U4S1yVLnuRgb8v7kB6NYtcUUjohAC6PxY/VqBRfMpio4JsFX6RA0MEmWTlbIc+cpYRLyEOlVcy3MQQ5qnzJpK4oyxqqTSQDIfsEqjktVSxKf7Cevp+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=SATLEXMB04.amd.com; pr=C
Message-ID: <42aba4f1-3aa5-47b2-8e74-b20d3fe0cb35@amd.com>
Date: Tue, 11 Mar 2025 11:11:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [ImageBuilder] uboot-script-gen: handle reserved memory regions
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>
References: <20250228150733.3945774-1-luca.miccio@amd.com>
 <alpine.DEB.2.22.394.2503061606020.2600338@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2503061648360.2600338@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: "Miccio, Luca" <luca.miccio@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2503061648360.2600338@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD0:EE_|DM6PR12MB4121:EE_
X-MS-Office365-Filtering-Correlation-Id: da70dbd7-fa8d-40ed-b637-08dd6085143c
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?UnB3ZEtGNy90SmFBbHlKWS9Pb2xtSDdYalFOd1laR3FTNTdRVVlXTk9DODdH?=
 =?utf-8?B?Qzh3MEo5WSthK3lMRTEweHFDVjV0OElmcVVDUW1hRlZnY2MxNGVvRHYwelN6?=
 =?utf-8?B?VzB6THI2ZjVLRmhmalIyVTZsOVQyU0hqYVVwYnpubk5GZ3JSM25RNFlLRHJK?=
 =?utf-8?B?OGY0ZU56YjlVcHM2QzJWSGRsVjMrRVZSTmVDdTc0c3JBU0t1OGJ6aWJwUUdV?=
 =?utf-8?B?Z09wVkNKNHVvZVdzZlJIZzFqK2syVEZHM0ZPaHUvUjFxcCt0aEZVOG83NW1r?=
 =?utf-8?B?TVJxYnVOWFppd1h5V2RqQm9KT2RSSEVPWmVRUXYraEVCK2ppc0hqaU1kVFRR?=
 =?utf-8?B?VTlPRG9BTWE0S2YvZmlUWTNyUjVMVXBGbDRCdy9xWXRGYnhIL2c1SEpNcFlM?=
 =?utf-8?B?dUZVN25hdEV1R3FScTR5QjcrNkt4WHNQVkJ4d2lVV3RsS0xsYkFKV2U5UThN?=
 =?utf-8?B?UXB6elVXejdHRmpmczg1M2N0RHNTRkwvUTZ0VUhUK25TK3FLaVZTdTVodk5K?=
 =?utf-8?B?bWgrWTQzdTI2VDVnckdCZmZibm5nZHdTZjRmN1ZKUTh0a29RK3Qwdi9acDdR?=
 =?utf-8?B?b29QWXoyOWlVMUdOakFqcEFvbWx0VW5xdTIwRWlhNTVPR2Z2UjNlMHpVakI5?=
 =?utf-8?B?T3VMMTZzK09TaVpMdnVwQzc5eW5iWTN3THFQYXVMcUtUN09zSy9XZnFpbHRN?=
 =?utf-8?B?bXorY2pTYk5ETjhXOXhpUk1jMWRWdm5aaG9mK3ZrUHpKSUxIRHBNMlBVUWQv?=
 =?utf-8?B?K3JGZ2VWSVFSTUNIQmh1MEpZVnVLS1UwaTMrM2ZOYXpHTERzNjdVN29NRmo2?=
 =?utf-8?B?alRuQjc1d2Jialp5OEJnMWFpTnJTTXlqMlk3ZlFPbUE4RTdkNjlLNFNCT0pa?=
 =?utf-8?B?OFF3QURYRGpmc3RDVFVjMTh6bE55VDhkOE9aVmYwQ0s2eXpCWmpvcHB4UDJh?=
 =?utf-8?B?U2EwVUdLbVJTNGtINWZEbGo4bkgxWlhaUkQxUmlGT0hXdTFhVlB1c3h3Nloy?=
 =?utf-8?B?MmszbThiTktvcU9NTUFFSjRLSjFzVUk3Wm0vRDFRTkNtNERTTFFLSkg3OENG?=
 =?utf-8?B?b2hieDBZR0hUa2ZuaXI1WFdtTURsVWdzNksxRzkzWUlPc3QvTFp5amdPeE1S?=
 =?utf-8?B?VmlwN2o0QXFtdjIzQkFrZkhiSVNndnYwbzliVXVQa1NJVFpKWXdaRy9MczRJ?=
 =?utf-8?B?TFpsNTZLOFFYeWluQXN0czUvRlEwRHg0ZllxT0lxUVhLYlk5WUNORGU5enVH?=
 =?utf-8?B?QmFNZ0UrSGx2NTRtcUNWQkR1MHM2dEtsK0lGN2UyeHI4Zkd5VlZKQlRoVmQz?=
 =?utf-8?B?T3B0YjRDYWxybWltL1FVZDJrWmNxSlRDL1VBZklQNXJvTGtiekxNaEpQUW5K?=
 =?utf-8?B?ZTR6aGFXbEwxajA4aWJ5U2FQMG9OWVIwR2VXaGNmKzR3d1c2V2JndWxKTEpo?=
 =?utf-8?B?dlMvYXFVc2hOTE9RTU54RWMyMHJTeFAyTy9rN3NlZ1lMUzlpb2pyRTA5cDVS?=
 =?utf-8?B?Rm1wL2dRSllJUSthVlZXZklMMU5yNVNKRlZCTUE5RThpYmN4RHI1QzkrZEhD?=
 =?utf-8?B?TjZmOTBpemFMWC9pK25SMVlPVnR2NEtYemZaYk8zaWNEMmpnNVY5aVF0RW91?=
 =?utf-8?B?SEhDazZ3UGVBTFlSWjc1NGp3QmllTno3SVJ3YW9La09IUU5RMTJ6TFRNejR2?=
 =?utf-8?B?eUdkcHRrRW9iQ0NObUo5eEM5U2N5M2ZvcUlkUTYySk5uREZtUTVSYWpwQnk4?=
 =?utf-8?B?bk85cGp3WndnSUNaUytFVStSSmw3YjBpZVBMK3pucTRhcFhQZzBVU0lvcXBC?=
 =?utf-8?B?Z2tRM2dKUGsxdUZXTzhFc0cwNnZUMGJTOHdURFIyWFo3NTlmNE9JalRIcWdm?=
 =?utf-8?B?OCsvOXhKeXNpRWdzNFBRVVliTzZ5Z0tLN2JUZ0FSOUhtQ2tXUUhGR0orU29Q?=
 =?utf-8?B?cjlLZXdVWEJhdExwNXg4d2U4T3M4SHc1T0ZmZXdrVWwrSmZzdG1ab1hzQXdW?=
 =?utf-8?Q?PoHfocl8D2tKqMbKrklF7SiMsr8Su0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 11 Mar 2025 10:11:24.1355
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: da70dbd7-fa8d-40ed-b637-08dd6085143c
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD0.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4121

Hi Stefano,

On 3/7/2025 1:49 AM, Stefano Stabellini wrote:
> On Thu, 6 Mar 2025, Stefano Stabellini wrote:
>> On Fri, 28 Feb 2025, Luca Miccio wrote:
>>> Currently, the uboot-script-gen does not account for reserved memory
>>> regions in the device tree. This oversight can lead to scenarios where
>>> one or more boot modules overlap with a reserved region. As a result,
>>> Xen will always crash upon detecting this overlap. However, the crash
>>> will be silent (without output) if earlyprintk is not enabled, which is
>>> the default setting at the moment.
>>>
>>> To address this issue, add a function that iterates over the
>>> reserved-memory nodes and populates an array. This array will be used
>>> later to calculate the load address for any given file.
>>>
>>> Signed-off-by: Luca Miccio <luca.miccio@amd.com>
>>
>> Hi Luca,
>>
>> Thanks for the nice patch! I was waiting for the 4.21 development window
>> to open.
>>
>>
>>> ---
>>>  scripts/uboot-script-gen | 59 ++++++++++++++++++++++++++++++++++++++--
>>>  1 file changed, 56 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
>>> index db2c011..cd0d202 100755
>>> --- a/scripts/uboot-script-gen
>>> +++ b/scripts/uboot-script-gen
>>> @@ -468,6 +468,42 @@ function device_tree_editing()
>>>      fi
>>>  }
>>>  
>>> +function fill_reserved_spaces_from_dtb()
>>> +{
>>> +    if [ ! -f $DEVICE_TREE ]
>>> +    then
>>> +        echo "File $DEVICE_TREE doesn't exist, exiting";
>>> +        cleanup_and_return_err
>>> +    fi
>>> +
>>> +    addr_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#address-cells')
>>> +    size_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#size-cells')
> 
> One more comment. If the DT doesn't have any reserved memory regions:
> 
> Error at '/reserved-memory': FDT_ERR_NOTFOUND
> Error at '/reserved-memory': FDT_ERR_NOTFOUND
> Error at '/reserved-memory': FDT_ERR_NOTFOUND
> 
> It would be best to silence these errors
> 
> 
>> missing "local" for both variables
>>
>>
>>> +    for node in $(fdtget -l $DEVICE_TREE /reserved-memory); do
>>> +        reg_values=($(fdtget -t x $DEVICE_TREE /reserved-memory/$node reg))
>>
>> missing "local"
>>
>>
>>> +        for ((i=0; i<${#reg_values[@]}; i+=addr_cells+size_cells)); do
>>> +            addr=0
>>> +            size=0
>>
>> missing "local" for addr and size, and also i and j
>>
>>
>>> +            for ((j=0; j<addr_cells; j++)); do
>>> +                addr=$((addr << 32 | 0x${reg_values[i+j]}))
>>> +            done
>>> +            
>>> +            for ((j=0; j<size_cells; j++)); do
>>> +                size=$((size << 32 | 0x${reg_values[i+addr_cells+j]}))
>>> +            done
>>> +            
>>> +            addr=$(printf "0x%X" $addr)
>>> +            size=$(printf "0x%X" $size)
>>> +        done
>>> +
>>> +        # Add the reserved space to the list and avoid duplicates
>>> +        if [[ ! " ${RESERVED_MEM_SPACES[@]} " =~ " ${addr},${size} " ]]; then
>>
>> I think this is too imprecise as a check because it would match with a
>> similar element of the array with a higher number of zeros. If I read
>> this right:
>>
>> 0x1000,0x1000 would match 0x1000,0x10000
>>
>> I would either remove this check, as it might be OK to have duplicates,
>> or I would turn it into a proper numeric check, one item at a time in
>> the list.
>>

You're right. I would go for the numeric check and avoid duplicates.

Thanks,
Luca

>>
>>> +            RESERVED_MEM_SPACES+=("${addr},${size}")
>>> +        fi
>>> +    done
>>> +}
>>> +
>>>  # Read effective image size from a header, which may be larger than the filesize
>>>  # due to noload sections, e.g. bss.
>>>  function get_image_size()
>>> @@ -505,9 +541,24 @@ function add_size()
>>>          size=${image_size}
>>>      fi
>>>  
>>> -    memaddr=$(( $memaddr + $size + $offset - 1))
>>> -    memaddr=$(( $memaddr & ~($offset - 1) ))
>>> -    memaddr=`printf "0x%X\n" $memaddr`
>>> +    # Try to place the file at the first available space...
>>> +    local new_memaddr=$(( (memaddr + size + offset - 1) & ~(offset - 1) ))
>>> +
>>> +    # ...then check if it overlaps with any reserved space
>>> +    for reserved_space in "${RESERVED_MEM_SPACES[@]}"; do
>>> +        local reserved_start=${reserved_space%,*}
>>> +        local reserved_size=${reserved_space#*,}
>>> +        local reserved_end=$((reserved_start + reserved_size))
>>> +
>>> +        if [[ $new_memaddr -le $reserved_end ]] && \
>>> +           [[ $((new_memaddr + size)) -ge $reserved_start ]]; then
>>> +            # In that case, place the file at the next available space
>>> +            # after the reserved one
>>> +            new_memaddr=$(( (reserved_end + offset) & ~(offset - 1) ))
>>> +        fi
>>> +    done
>>> +
>>> +    memaddr=$(printf "0x%X\n" $new_memaddr)
>>>      filesize=$size
>>>  }
>>>  
>>> @@ -1373,6 +1424,8 @@ uboot_addr=$memaddr
>>>  memaddr=$(( $memaddr + $offset ))
>>>  memaddr=`printf "0x%X\n" $memaddr`
>>>  
>>> +fill_reserved_spaces_from_dtb
>>> +
>>>  if test "$os" = "xen"
>>>  then
>>>      xen_file_loading
>>> -- 
>>> 2.25.1
>>>
>>



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:13:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:13:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907673.1314874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwbo-0000SW-GG; Tue, 11 Mar 2025 10:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907673.1314874; Tue, 11 Mar 2025 10:13: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 1trwbo-0000SP-BQ; Tue, 11 Mar 2025 10:13:12 +0000
Received: by outflank-mailman (input) for mailman id 907673;
 Tue, 11 Mar 2025 10:13: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=azTi=V6=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1trwbm-0000SH-L6
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:13:10 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061a.outbound.protection.outlook.com
 [2a01:111:f403:260d::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6db97157-fe61-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:13:08 +0100 (CET)
Received: from CWLP123CA0073.GBRP123.PROD.OUTLOOK.COM (2603:10a6:401:5b::13)
 by DU0PR08MB7740.eurprd08.prod.outlook.com (2603:10a6:10:3bc::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:13:01 +0000
Received: from AMS1EPF0000004B.eurprd04.prod.outlook.com
 (2603:10a6:401:5b:cafe::dc) by CWLP123CA0073.outlook.office365.com
 (2603:10a6:401:5b::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 10:13:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF0000004B.mail.protection.outlook.com (10.167.16.136) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 11 Mar 2025 10:12:59 +0000
Received: ("Tessian outbound 0ad77f8d5963:v585");
 Tue, 11 Mar 2025 10:12:58 +0000
Received: from L9aa06caec18b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AB6AFEB6-81C3-46A7-8C89-C68E1C0E029B.1; 
 Tue, 11 Mar 2025 10:12:52 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L9aa06caec18b.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 11 Mar 2025 10:12:52 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB9848.eurprd08.prod.outlook.com (2603:10a6:10:443::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Tue, 11 Mar
 2025 10:12:50 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:12: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: 6db97157-fe61-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=LERqqdXFoB+LftNCf8wzRgbQBNikt9ZEy1Ebw7fWfneYcLznrQKq4rXETrQGfPKYgfQGi8Bg6oefrqXLlfYj5/4Q5k1BkFcs2JTnLn3ldZSMg/FuFZFiPcdtwHmhRc6g9jxmqHlPUdfVVHxinG1i6UF8i4q06YcqRKFwWjVO6pZ7YymnvZrJulHFdN/HsBmk3Y4d+TyisLT/yuOTQ17UXhFmRcsaarydKUcLNAu8TiSq7Dg+SjWOpxHZzOWpwApRFzIlhlosSRs/e9YIpJPZti+cr+PYaPjpnpgBzAxEkNGXohwVnUnwfDod/4/lOFyZFHZELwH6C04oLhQBbQTt7Q==
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=fqXRkNJj/GExad2D0Ni1U+hHNoKohuJvuRLi5cvzO30=;
 b=dKsEp89JdsSM4YtDMwJ4S3OkLfoOeca/KZN4slW+gg9JfPrKtNVBGf81IQKOxLYuYvBzfGkK8jPPNRYTrg8XN4SEd4CUAUjGWM6A7bFxPz/Tbjuh7V8hThPtDhoL6h5Zg7y38Jc5QtVVjNew2mDpd9gG/gflQkLGWRRo50kxpz9iBHrPnBOpTTAqnAlyKyfFn7DgLK74YQxrOaNOPUSipRASmBq9dfA9/B4LtsfJe6Ac2BDNfNVdaym3rphMzzePOl53mmcr4exEVT0Tm+mIJSZqB4LfMMAB4SNiWqdeJ0bvbPJQ64zO+gFCi7ryhNK+y4wD61QbaKPNCCzCyfiUxQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=fqXRkNJj/GExad2D0Ni1U+hHNoKohuJvuRLi5cvzO30=;
 b=ewspIjVhINIsue96H3VEM1HpWY5nisAR47knT+adnOB0rUpKpCLKQraq0a0txQgMMtGGI+kZ8Jry6t9XjUV8KaYe9JHSY/4HM3lubOKV0yLrU+7m6XW2hZmltnzm91ynVbL9oml2LF+A73pUgRtnj+MmQTnyrAZEzF97xkN29lU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bf2a2fdd20b8c853
X-TessianGatewayMetadata: wjWgMrrekHD/h1+NoU8Z1Z+Wj08LD/KUeKrRORDKl4RR+SaZUPeLyWkv/1JGvVYSXmFumb5cmtD0kKCMAcG1qTBqfy/jSYaQrtMhnJHbeSZC8Huoj4BDLk6Jeu+D1HhZZd2QOSaEnUu54aLH4+QZ+uIrpKL/rm8pC4NWMTmtaBs=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fUTfmP0CtiaWkouTPXmShPrIz1xC10iZpew/MH3WyIiU7ovzR4KoQ7XS7aOg1fTURUdg8ksL6UhZbMKNN0mYpOo2xPWt22Zw0//D/FoY5Nwca4w0E+jKZA7+1sTBDbGttUCjZ0q/m4KfTkWqrznOYCl++zVOW9RRzi2r+X2gPSbGW/XiaAnuZEmDBpB5tz/XJcBFR3bLMVU+MP0q6KvRhUfTyfCnyIw2oY1T8G1+OYRUNAjagBBVuyYW4n/A5D8YI8rf4DoBLE3oBx2X6zw2uZ86PPMYa1/vy68a4igFZdIEhdqDu5t58ehpr/cx10wA0bl5swvH/dBkgu2oKeBS6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fqXRkNJj/GExad2D0Ni1U+hHNoKohuJvuRLi5cvzO30=;
 b=WdDm4FY41BEHlfH8NQ2b4KTz5FqSj5zMKdO3ud8qNcj5+40Q8WkbTRLfOimfVhf4qb1YceS01Iy6YTpXE0ilIp1wp5/h2xERrpX1PbX5wJ1i7MeOyzEqOI2KIegSF1jCtogHR9cLaU5QBH9sNZHl2oJXJHfrOMaZoLFWZOMm+FC1A+C4s4Im4DR+C0B1b1SRMGu/qjuj9OO7JzVWilb6obV9JGn+tqwSIHGfveA4UUOCGoz27C5KcNOF9a9idTsNiTNAklWEXoasIIRmVJ46lJPAjQVRiW0Wn1ae0nmFcaHfRKeURYnVCSqhyTUSP5qToHk6lvYok4mtWDCaPXCXcQ==
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=fqXRkNJj/GExad2D0Ni1U+hHNoKohuJvuRLi5cvzO30=;
 b=ewspIjVhINIsue96H3VEM1HpWY5nisAR47knT+adnOB0rUpKpCLKQraq0a0txQgMMtGGI+kZ8Jry6t9XjUV8KaYe9JHSY/4HM3lubOKV0yLrU+7m6XW2hZmltnzm91ynVbL9oml2LF+A73pUgRtnj+MmQTnyrAZEzF97xkN29lU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Orzel, Michal" <Michal.Orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Topic: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Index: AQHbkmScFxwSwnbWbUmo6sX8GQY3CLNtq7oAgAAILgCAAAOLgA==
Date: Tue, 11 Mar 2025 10:12:49 +0000
Message-ID: <17173844-577F-44C0-AA74-984ACAEBABC3@arm.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-2-michal.orzel@amd.com>
 <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
 <2d66e9e2-e6a4-4552-960a-2e8d95555ff4@amd.com>
In-Reply-To: <2d66e9e2-e6a4-4552-960a-2e8d95555ff4@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB9848:EE_|AMS1EPF0000004B:EE_|DU0PR08MB7740:EE_
X-MS-Office365-Filtering-Correlation-Id: dcd5716f-c83d-4047-edaf-08dd60854cc2
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?ZedvKcnslWoLfBNmDctKWXvGiqcdSKgyPLneDJGvSFfXMDR2Dx/KqDiX+7IA?=
 =?us-ascii?Q?NmZe5//4thnNbOsGpASa6UzUaWYiJ/lEL0cQ9N7VI/n88/0FVGF9+r3Lulru?=
 =?us-ascii?Q?6/To2f213+ooOa7u1fhZFkf7Q0fhQkcCLDkiAhlXME3ShQoBHbDx7zmZXSQ2?=
 =?us-ascii?Q?LCwHWDOmXPTGXhEJvlyZYZUZwjWsdFgyQz3cwN9eMvPUx3gc9tQRrdLLQpzC?=
 =?us-ascii?Q?YmlMvpPrF0iixz5apeVRZW16hcNzKiI614Vi2Jq+qsIE5HVD3047dOfkz5G6?=
 =?us-ascii?Q?BX9NUv8wEpn95QtAsc9z9WXeSZ+ZTFj9sZ9nA7pP6TDyIZyvs9a+aGl7Gfuz?=
 =?us-ascii?Q?Vv+Uix3dwZRkG1X+2kklo5MG55r16+hu2oj0fiqBe31OKLAbF4xuUksbZv1d?=
 =?us-ascii?Q?HfEuXqe9Ab79r86f8k/t4aIUVvDGmWqnk3cM16ami/v6rpUpHq1CggKSQnb2?=
 =?us-ascii?Q?UR93NfcKspIzIGX5JyxmldVm6sBn0OeyoAULaP1IExPJOpd27a5wf2CDEJqn?=
 =?us-ascii?Q?WFRO839y885fAue2GVdyorW3E2njT3FRkd50uX18F7wtS+InJ8ueAu5ZXqQz?=
 =?us-ascii?Q?/xpncBpfGZit0++HfoSUiUFABcIfVk7uIXkzrtihNJKwy05i2QjqYAHyCbrx?=
 =?us-ascii?Q?NOt22Hcov/Sp81VJnRbvZcuiHBSb80JwF/TaUdaDQxCNgrooeyegaldE5XYe?=
 =?us-ascii?Q?rpWWr5eqoXv3RRVpNQop8OSou4Tiedrwsb3/WbHHESVddj8uO2rY0xFPrWQ5?=
 =?us-ascii?Q?3pgqB/UdaHXL63ApPyAo7ZyV9kSw/PqrMlVeIrDHxLO77rStmZTznVOMvVOs?=
 =?us-ascii?Q?/tbCWPcJ45R4nx8hytRhFRCeSnUi4ZIAmes2r8roz7ecsyudl2Ap6mNxhSjh?=
 =?us-ascii?Q?Kd2AgDe39SAj5AkZfRLaIhh40Cs5cI6xl2UKgaQQTkKD6PFyhSR/Kj9kaYf+?=
 =?us-ascii?Q?Ks/G/slDITxUD0I99mubd/lCQn5qAu5T/tLG/4dgXXpOzgm6E7tMlaSgDu4q?=
 =?us-ascii?Q?aJKIr+tmmWQGtSCtYz1FRVI0BecnuxvXYNX5YEvLuaMwTvN14OhSx1pFdIIa?=
 =?us-ascii?Q?807htsoSDPFxTeKhU0HhDG33v1YwInj65aI9wu80CATbxuL7tifEDfV6FU92?=
 =?us-ascii?Q?cI7NmWRvVtVScwa7Z7zKfRxyrgKvMgWmUJ0F7ErPdIoKbIoLckB/9Zm58zJI?=
 =?us-ascii?Q?IIj7LtWr2YiwWuyC/xvEaTF8vPIZnEsTk5+3ZQKHtsgbucy00fsrZLqV1cuJ?=
 =?us-ascii?Q?GiwjHd9Ca95KURZgL4GJq8E0YQt9OUiW3/DXm/L0um/P53RDGHuIkpJRXC03?=
 =?us-ascii?Q?Vp2R19tdFsjA5NlM1xR5uzgj7a72MtnevleQjcZHFlrFnsjt2KV3dz/7issN?=
 =?us-ascii?Q?oZqT15OPQ7t+Jc6M1p5h9SAKotAShALixjkZ/LPPgfRnieQTTEhDezRJCsgu?=
 =?us-ascii?Q?nQaAIRIuSjLTEAxT+2avvODay6S4WI3d?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <28011CB6A1249B48BC581BF566DC00E3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9848
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF0000004B.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4d4ed5dd-0a98-45d1-c8a9-08dd60854736
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|1800799024|36860700013|35042699022|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?BQqMbo2hoW71gTLDUe8fw2olfZ+gBTX6I+qNM5p8Vq+eKEzzWIr/Dmvt35/H?=
 =?us-ascii?Q?g4kwGqwNBgloWZ9eKhB2Tcbeqe26t+dkyXCA0Z3lSc1rRDBZiFBWnQjNDDQ5?=
 =?us-ascii?Q?8AohPB3EURTVB6+Wk1Vacu212yDKlC2FzTaoZOEtipqcManX1fLOPRu3cQGp?=
 =?us-ascii?Q?YQCgiIHKEoFYiuPZWxwlJU6/LOvLU+abUwlAvlaKnQ+PAZ+jrXmdqjPgA8jr?=
 =?us-ascii?Q?jCYei1zXJf0UiHux6yu+u6ZJD9fbWlrq0OP7K0Brcu/61W+mmf+lASkFMdhP?=
 =?us-ascii?Q?xcFy53qI1qLurP8Uh3Qb6HTG3Z66HlIfeA1h25K7WTPBLbBkeyvL0KfDlzUB?=
 =?us-ascii?Q?mVB8vQMaG7DzgS+LdmRBw91oov8hWbsp8GSrQJU2zYEmBq1O5Xqp3Ur6DBut?=
 =?us-ascii?Q?ngPrxcxJaa8dsqbqxMzo0tYTPyKpLJzh1MQ+exp+iFM8mDTBrHRzqXSVwcM+?=
 =?us-ascii?Q?1p0GBCG84df/CKl0QnkUa3b0yeKswbXlb9O67IMwKeIPIKss5pvSxIK2Vtcr?=
 =?us-ascii?Q?+zG+WTkZMitRsTJZjD8ZFkTfaPpZq8MFo5RQyJ7rrkcmpHOtzGnYkEK0OhZ6?=
 =?us-ascii?Q?NFJVaJFDXFlGD/JnE/jgCmlKiKDFMKgbKw7ii1Nv8OVCVF0Zh+Z9lQWVF6Df?=
 =?us-ascii?Q?BFwYf0KLcSmB4MaEjxi23KchBKlkQJzW3m2wHFAyXo+P8rfN7ysd/bENTLWB?=
 =?us-ascii?Q?LV0C6lVliHjZ9BdqYvyv9JR2TJTPBm9/pnWJwepjlbtB8Q/RHaUAnq4xmADn?=
 =?us-ascii?Q?Mn2PgYlubgCrn1vFsnnJNEXySLjRSkdon/bvrY63C8KtYFBxI5AQHTQJnP46?=
 =?us-ascii?Q?U7kElcGXj8idCz/k+T3hIZGhPHfcY5fiTs8LSG/DlW7bUMqRXhYTLreSQDdr?=
 =?us-ascii?Q?NvrxPiN/ozokzyiz7Vu8Z12OLnWbNZbwLkbtag9VEUl/c28RI8+L6daBsR9R?=
 =?us-ascii?Q?y9ZYtOvDox9pKEMyXIyJosOggCfa7XXYDDgiyJXD+sG1imPLnGBOydXQ03CT?=
 =?us-ascii?Q?phJeW+x9r5Oum+bVh+dIPKzcxetitSl8LejbEbIxt9E+7lvgI4iW+2f0z1AZ?=
 =?us-ascii?Q?gI1IJVDv8vAE4IlflTO13CKeKR/TGMwH7X0jXeMTnIb/lPgc+gVIEddWJPbH?=
 =?us-ascii?Q?ATxL6r+aGCEnkBowYj3QDPDFeGXyvV4RzPWPQNBeYGhaI0rdI8JgtJo7+zVw?=
 =?us-ascii?Q?DQ7jGR+JCF1HrKkkLkjkNALlg29Q36cQWEc7tze3K7N7dz3oS0GzmwcxpX0M?=
 =?us-ascii?Q?tbFcczX/h/j5bmQsEAkbFuhsqzc4sk/7eVOGGLwf2QYMAiW8tSSv6B6GH/x6?=
 =?us-ascii?Q?oIl9P/FFMwchX0NqIbsPYxHhaJcLXFIGI66kEKyfDIa6k3UQq0z0wlIixbqK?=
 =?us-ascii?Q?vNTKnq7J+vcM6JzrbUhQPaMasE5Em+edHkWVVUPyzix0k8bkbdwRB5rupY6H?=
 =?us-ascii?Q?XQ/zYiLV6pczshLGcOYreDs7GIZfwk5HelyfK31/y9ifIdfxc/HYVXnRV9kw?=
 =?us-ascii?Q?v+K09CJhDo0V6AA=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(1800799024)(36860700013)(35042699022)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 10:12:59.0613
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dcd5716f-c83d-4047-edaf-08dd60854cc2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF0000004B.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7740



> On 11 Mar 2025, at 10:59, Orzel, Michal <Michal.Orzel@amd.com> wrote:
>=20
>=20
>=20
> On 11/03/2025 10:30, Bertrand Marquis wrote:
>>=20
>>=20
>> Hi Michal,
>>=20
>>> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote:
>>>=20
>>> At the moment, we print a warning about max number of IRQs supported by
>>> GIC bigger than vGIC only for hardware domain. This check is not hwdom
>>> special, and should be made common. Also, in case of user not specifyin=
g
>>> nr_spis for dom0less domUs, we should take into account max number of
>>> IRQs supported by vGIC if it's smaller than for GIC.
>>>=20
>>> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value=
.
>>> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
>>> IRQs comparison common.
>>>=20
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>> xen/arch/arm/dom0less-build.c   | 2 +-
>>> xen/arch/arm/domain_build.c     | 9 ++-------
>>> xen/arch/arm/gic.c              | 3 +++
>>> xen/arch/arm/include/asm/vgic.h | 3 +++
>>> 4 files changed, 9 insertions(+), 8 deletions(-)
>>>=20
>>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-buil=
d.c
>>> index 31f31c38da3f..9a84fee94119 100644
>>> --- a/xen/arch/arm/dom0less-build.c
>>> +++ b/xen/arch/arm/dom0less-build.c
>>> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>>>        {
>>>            int vpl011_virq =3D GUEST_VPL011_SPI;
>>>=20
>>> -            d_cfg.arch.nr_spis =3D gic_number_lines() - 32;
>>> +            d_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MAX_IR=
QS) - 32;
>>=20
>> I would suggest to introduce a static inline gic_nr_spis in a gic header=
 ...
> Why GIC and not vGIC? This is domain's nr_spis, so vGIC.

yes vGIC sorry.

> But then, why static inline if the value does not change and is domain ag=
nostic?
> I struggle to find a good name for this macro. Maybe (in vgic.h):
> #define vgic_def_nr_spis (min(gic_number_lines(), VGIC_MAX_IRQS) - 32)
> to denote default nr_spis if not set by the user?

Yes that would work. My point is to prevent to have 2 definitions in 2 diff=
erent
source file and a risk to forget to update one and not the other (let say i=
f some
day we change 32 in 64).

>=20
>>=20
>>>=20
>>>            /*
>>>             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>> index 7cc141ef75e9..b99c4e3a69bf 100644
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -2371,13 +2371,8 @@ void __init create_dom0(void)
>>>=20
>>>    /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>>>    dom0_cfg.arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE;
>>> -    /*
>>> -     * Xen vGIC supports a maximum of 992 interrupt lines.
>>> -     * 32 are substracted to cover local IRQs.
>>> -     */
>>> -    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), (unsigned int) 9=
92) - 32;
>>> -    if ( gic_number_lines() > 992 )
>>> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n=
");
>>> +    /* 32 are substracted to cover local IRQs */
>>> +    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MAX_IRQS) -=
 32;
>>=20
>> and reuse it here to make sure the value used is always the same.
>>=20
>>>    dom0_cfg.arch.tee_type =3D tee_get_type();
>>>    dom0_cfg.max_vcpus =3D dom0_max_vcpus();
>>>=20
>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>> index acf61a4de373..e80fe0ca2421 100644
>>> --- a/xen/arch/arm/gic.c
>>> +++ b/xen/arch/arm/gic.c
>>> @@ -251,6 +251,9 @@ void __init gic_init(void)
>>>        panic("Failed to initialize the GIC drivers\n");
>>>    /* Clear LR mask for cpu0 */
>>>    clear_cpu_lr_mask();
>>> +
>>> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
>>> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n"=
);
>>=20
>> I am a bit unsure with this one.
>> If this is the case, it means any gicv2 or gicv3 init detected an imposs=
ible value and
>> any usage of gic_number_lines would be using an impossible value.
> Why impossible? GIC can support up to 1020 IRQs. Our vGIC can support up =
to 992
> IRQs.

Maybe unsupported is a better wording, my point is that it could lead to no=
n working system
if say something uses irq 1000.

>=20
>>=20
>> Shouldn't this somehow result in a panic as the gic detection was wrong =
?
>> Do you think we can continue to work safely if this value is over VGIC_M=
AX_IRQS.
>> There are other places using gic_number_lines like in irq.c.
> I can add a panic, sure. This would be a change in behavior because we us=
ed this
> check for hwdom unconditionally. I'd need others opinion for this one.

ok.

Cheers
Bertrand

>=20
> ~Michal




From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:21:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907683.1314883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwje-00030z-6q; Tue, 11 Mar 2025 10:21:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907683.1314883; Tue, 11 Mar 2025 10:21: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 1trwje-00030s-3L; Tue, 11 Mar 2025 10:21:18 +0000
Received: by outflank-mailman (input) for mailman id 907683;
 Tue, 11 Mar 2025 10: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=RDOX=V6=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1trwjc-00030m-IX
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:21:16 +0000
Received: from fforwardh-b1-smtp.messagingengine.com
 (fforwardh-b1-smtp.messagingengine.com [202.12.124.196])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ec6cf79-fe62-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 11:21:14 +0100 (CET)
Received: from phl-compute-07.internal (phl-compute-07.phl.internal
 [10.202.2.47])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id B65D81740269;
 Tue, 11 Mar 2025 06:21:11 -0400 (EDT)
Received: from phl-frontend-01 ([10.202.2.160])
 by phl-compute-07.internal (MEProxy); Tue, 11 Mar 2025 06:21:12 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 11 Mar 2025 06:21:08 -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: 8ec6cf79-fe62-11ef-9ab9-95dc52dad729
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=fm1; t=
	1741688471; x=1741774871; bh=2Defy8U+bjmTXCamc6FHJEvRbqpM+3QzVqD
	UmXwi6Cs=; b=d/85DfpwsQK9T4M+t9OqQvpU+ge8ByQHthQ+PMyiOeDy8GhEOGV
	56RD1tOgi/ILokZGj82+ZC51tqDSTfVm34AFsrKoCnuNplt+WuWEzV9nhkciI31X
	Fqf+cRmlBUODmv/OI/JFxwDfOyDLnYzYXDlwnhSU8OqKBQEIhds4G9fGst4t9E/B
	VZ5WJqhEZOLJ6DFOsMZMShzUcPSECSHf8xFZwG/y86U2piSM/g5VB0+5/8fqDy5K
	x/i9BdRV6FV3dmaFNMmqoLM07fy5rxRxXq+vHuoffXWwBVyH5kqbSw2fxllQb4ft
	DRizUoCmVPnA5z+/dKbns4Zyt6DYGh1TzvQ==
X-ME-Sender: <xms:lQ7QZ1ylZEe6Vzz8o7unOd4i2QfKbS_znGkpqfWQ8CdChTJH1uQ0Jw>
    <xme:lQ7QZ1QsMVPJdoI-4jz0xCBzJr_c7pnwxIduaq2NZzZdOcjzxUe2EtjpsnyNTn6d2
    fwfKsGJfxf-I74GIao>
X-ME-Received: <xmr:lQ7QZ_Wvk0YNPwknIf3Z2UeOaOoEWW2AOzdE1Wge2n62nf6nz28uVtHC>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdduleejucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgggfestdekredtredttden
    ucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrihhkse
    gvphgrmhdrtghomheqnecuggftrfgrthhtvghrnhepgedvfeefhfduvdetkeegleeggfel
    heekveeiuddufeehtdehleelhfekiedvvedvnecuffhomhgrihhnpehkvghrnhgvlhdroh
    hrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehs
    rghkihgssegurghrkhhsthgrrhdrshhithgvpdhnsggprhgtphhtthhopedvuddpmhhoug
    gvpehsmhhtphhouhhtpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigv
    nhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohepshgvrhhgihihpghkihgsrhhikhesvg
    hprghmrdgtohhmpdhrtghpthhtoheptggrrhguohgvsegtrghrughovgdrtghomhdprhgt
    phhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhmpdhrtghpth
    htoheprghnthhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthho
    pehmihgthhgrlhdrohhriigvlhesrghmugdrtghomhdprhgtphhtthhopehjsggvuhhlih
    gthhesshhushgvrdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhr
    tghpthhtoheprhhoghgvrhdrphgruhestghithhrihigrdgtohhm
X-ME-Proxy: <xmx:lQ7QZ3h1t61-vePn8G2Ek5V24hf5zVhZPddcVNvNVnNPHgqVRbsqbQ>
    <xmx:lQ7QZ3CYimEQK6LwyQe-b7WIgNXxrcVE_PCiiyEvWePSmO2JGriZJA>
    <xmx:lQ7QZwIkHjXW8vgUzrrMPk5wGDA6EchMrrplYMjkHCqjtykW4d3GqQ>
    <xmx:lQ7QZ2CypBKS-lu4d-Zi7E-17bL6dynkcevETwsUf1lO6v6L73xz8w>
    <xmx:lQ7QZ7z_kqHKA49fC23zPWen6YwekNy4bPOPYiXXXCZc5YTEVO28CA>
    <xmx:lw7QZ2D3_bcBjhBt3X-mKChJsetnX9oRAm3qC--O6xDaIQtCB5bYPgA3Jasz>
Feedback-ID: ifd673d30:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Doug Goldstein <cardoe@cardoe.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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 0/3] make build of vm_event/mem_access/monitor optional
Date: Tue, 11 Mar 2025 12:21:06 +0200
Message-Id: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series aims to provide a possibility to build Xen without mem_access and
related features. It is already largely covered by corresponding
CONFIG_MEM_ACCESS option, yet there're still some parts remaining.
Hopefully this would help to reduce dead code a bit.

As coverage of MEM_ACCESS config option begins to extend beyond actual
mem_access code it has been suggested to rename it into VM_EVENT, as a more
general option controlling mem_access, vm_event and monitor code.

One patch for automation from v2 series had been squashed into #1 patch in
v3 series, v2 reference below:
https://lore.kernel.org/xen-devel/cover.1737452864.git.Sergiy_Kibrik@epam.com/

  -Sergiy

Sergiy Kibrik (2):
  xen: kconfig: rename MEM_ACCESS -> VM_EVENT
  x86:monitor: control monitor.c build with CONFIG_VM_EVENT option

Stefano Stabellini (1):
  xen: mem_access: conditionally compile vm_event.c & monitor.c

 automation/gitlab-ci/build.yaml         |  2 +-
 xen/arch/arm/Makefile                   |  6 +++---
 xen/arch/arm/configs/tiny64_defconfig   |  2 +-
 xen/arch/arm/include/asm/mem_access.h   |  4 ++--
 xen/arch/arm/vsmc.c                     |  3 ++-
 xen/arch/ppc/configs/ppc64_defconfig    |  2 +-
 xen/arch/riscv/configs/tiny64_defconfig |  2 +-
 xen/arch/x86/Kconfig                    |  2 +-
 xen/arch/x86/Makefile                   |  2 +-
 xen/arch/x86/mm/Makefile                |  2 +-
 xen/common/Kconfig                      |  2 +-
 xen/common/Makefile                     |  6 +++---
 xen/common/domctl.c                     |  2 +-
 xen/include/xen/mem_access.h            |  6 +++---
 xen/include/xen/monitor.h               |  9 +++++++++
 xen/include/xen/vm_event.h              | 14 +++++++++++---
 xen/include/xsm/dummy.h                 |  2 +-
 xen/include/xsm/xsm.h                   |  4 ++--
 xen/xsm/dummy.c                         |  2 +-
 xen/xsm/flask/hooks.c                   |  4 ++--
 20 files changed, 48 insertions(+), 30 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:23:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:23:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907695.1314893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwld-0003ZW-Gx; Tue, 11 Mar 2025 10:23:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907695.1314893; Tue, 11 Mar 2025 10: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 1trwld-0003ZP-E1; Tue, 11 Mar 2025 10:23:21 +0000
Received: by outflank-mailman (input) for mailman id 907695;
 Tue, 11 Mar 2025 10: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=RDOX=V6=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1trwlc-0003ZJ-6o
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:23:20 +0000
Received: from fforwardh-b1-smtp.messagingengine.com
 (fforwardh-b1-smtp.messagingengine.com [202.12.124.196])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8ecf136-fe62-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:23:17 +0100 (CET)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 5421317400CD;
 Tue, 11 Mar 2025 06:23:16 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-08.internal (MEProxy); Tue, 11 Mar 2025 06:23:16 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 11 Mar 2025 06:23:14 -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: d8ecf136-fe62-11ef-9898-31a8f345e629
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: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=fm1; t=1741688596; x=1741774996; bh=7
	rZNXPtFKuxuEpNDlqaH+Iks33wV303f2LhEdINzY0s=; b=oAmIq8RYGT20jdjK6
	GZCW6MEzkqolMEoRBPE28bXXRy3vPFIQa1aDd0B+JVlz7FBr+4PW2SCX/tfzjxQn
	QkdjsfOk1BApP7E0DiN9IL8x4OTzQUS/yZTuD/plBx4+/pLwvmL/nbYdWW9ekiJ2
	4b7blz35ko27c9qOoMDgnEcWkLAA0PM+Z2+PDgm3WK+hqqmCkAaP8QkXRMTo1rjh
	2nec6YTuEu37iKyfXov+VJe8PSnmifYiOvNGwXiJe9T3RPRsJ1QV3nRe1B2nwahi
	xWvrxRLBl0o0eo/loN+zLfx7zPDNNbtMU+MxLWfZpN1ZCXh+yHja4WfK5a78YxlF
	tN6Bw==
X-ME-Sender: <xms:Ew_QZ2tEikwVsXLpBEa_oe5PG5u7fudFrL0GJBCfl5dlkDd3NpzJ3A>
    <xme:Ew_QZ7df8fQrRMxnovbgA2s5nsMctYEogVrLkGRX6LuYVZKgu2_cqS5tAWnIRxRtm
    91TKr4Mg2pdkPQuG2I>
X-ME-Received: <xmr:Ew_QZxyD2AyK_5Bn3LZ0EYUxvSsNTWK86vuvR2-dG0wjGK6IWVGw4Qz_>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdduleekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepvddupdhmohguvgepshhmthhpohhuthdprhgtphhtthhope
    igvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphht
    thhopehsvghrghhihigpkhhisghrihhksegvphgrmhdrtghomhdprhgtphhtthhopegtrg
    hrughovgestggrrhguohgvrdgtohhmpdhrtghpthhtoheprghnughrvgifrdgtohhophgv
    rhefsegtihhtrhhigidrtghomhdprhgtphhtthhopegrnhhthhhonhihrdhpvghrrghrug
    esvhgrthgvshdrthgvtghhpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegrmhgu
    rdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtth
    hopehjuhhlihgvnhesgigvnhdrohhrghdprhgtphhtthhopehrohhgvghrrdhprghusegt
    ihhtrhhigidrtghomh
X-ME-Proxy: <xmx:Ew_QZxNnrmihyfsAmZpPMa18yrUMDf8_V1epGufB8MU_xN4s-d1jNQ>
    <xmx:Ew_QZ2-5pP6PLITfxQRD98WgzIcfQZFteabv-W9-7vtf4JvEt6848A>
    <xmx:Ew_QZ5VK9x-6tJ1GnC58Q-PZxs1r_-h4Z0fVb3n5oL0OafdSl4ZjLA>
    <xmx:Ew_QZ_cwRjOuAZzfgk6cmlSAz2DXizyePyEJrGIiAN-jSbq87vcfZA>
    <xmx:Ew_QZweQRUNIeUbce8dkLhyXR0xcPISLNVlF2jmO31FlYUlosT6P_w>
    <xmx:FA_QZ5edaUYfDTWU_PkMZduDZbD8W35qx58L4EwBOOLUabQ8oQQQ059z1Z6F>
Feedback-ID: i5e0dcf66:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Doug Goldstein <cardoe@cardoe.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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 1/3] xen: kconfig: rename MEM_ACCESS -> VM_EVENT
Date: Tue, 11 Mar 2025 12:23:12 +0200
Message-Id: <8d35ec8373b65bca2fe471eac7a17cb2a98db3fc.1741687645.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use more generic CONFIG_VM_EVENT name throughout Xen code instead of
CONFIG_MEM_ACCESS. This reflects the fact that vm_event is a higher level
feature, with mem_access & monitor depending on it.

CC: Jan Beulich <jbeulich@suse.com>
Suggested-by: Tamas K Lengyel <tamas@tklengyel.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
changes in v3:
 - squash with automation patch
 - tags & minor addition of blanks
---
 automation/gitlab-ci/build.yaml         | 2 +-
 xen/arch/arm/Makefile                   | 2 +-
 xen/arch/arm/configs/tiny64_defconfig   | 2 +-
 xen/arch/arm/include/asm/mem_access.h   | 4 ++--
 xen/arch/ppc/configs/ppc64_defconfig    | 2 +-
 xen/arch/riscv/configs/tiny64_defconfig | 2 +-
 xen/arch/x86/mm/Makefile                | 2 +-
 xen/common/Kconfig                      | 2 +-
 xen/common/Makefile                     | 2 +-
 xen/common/domctl.c                     | 2 +-
 xen/include/xen/mem_access.h            | 6 +++---
 xen/include/xsm/dummy.h                 | 2 +-
 xen/include/xsm/xsm.h                   | 4 ++--
 xen/xsm/dummy.c                         | 2 +-
 xen/xsm/flask/hooks.c                   | 4 ++--
 15 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 034d6d9c3a..b6383c4fc8 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -744,7 +744,7 @@ debian-12-riscv64-gcc:
       CONFIG_EXPERT=y
       CONFIG_GRANT_TABLE=n
       CONFIG_LIVEPATCH=n
-      CONFIG_MEM_ACCESS=n
+      CONFIG_VM_EVENT=n
       CONFIG_QEMU_PLATFORM=y
       CONFIG_XSM=n
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index fb0948f067..3bd5125e64 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -38,7 +38,7 @@ obj-y += irq.o
 obj-y += kernel.init.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-$(CONFIG_LLC_COLORING) += llc-coloring.o
-obj-$(CONFIG_MEM_ACCESS) += mem_access.o
+obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-y += p2m.o
diff --git a/xen/arch/arm/configs/tiny64_defconfig b/xen/arch/arm/configs/tiny64_defconfig
index cc6d93f2f8..469a1eb9f9 100644
--- a/xen/arch/arm/configs/tiny64_defconfig
+++ b/xen/arch/arm/configs/tiny64_defconfig
@@ -5,7 +5,7 @@ CONFIG_ARM=y
 # Architecture Features
 #
 # CONFIG_GICV3 is not set
-# CONFIG_MEM_ACCESS is not set
+# CONFIG_VM_EVENT is not set
 # CONFIG_SBSA_VUART_CONSOLE is not set
 
 #
diff --git a/xen/arch/arm/include/asm/mem_access.h b/xen/arch/arm/include/asm/mem_access.h
index abac8032fc..d42f28e8b7 100644
--- a/xen/arch/arm/include/asm/mem_access.h
+++ b/xen/arch/arm/include/asm/mem_access.h
@@ -37,7 +37,7 @@ static inline bool p2m_mem_access_sanity_check(struct domain *d)
  * Send mem event based on the access. Boolean return value indicates if trap
  * needs to be injected into guest.
  */
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 bool p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec);
 
 struct page_info*
@@ -58,7 +58,7 @@ p2m_mem_access_check_and_get_page(vaddr_t gva, unsigned long flag,
     return NULL;
 }
 
-#endif /*CONFIG_MEM_ACCESS*/
+#endif /* CONFIG_VM_EVENT */
 #endif /* _ASM_ARM_MEM_ACCESS_H */
 
 /*
diff --git a/xen/arch/ppc/configs/ppc64_defconfig b/xen/arch/ppc/configs/ppc64_defconfig
index 4924d881a2..d6aaf772e7 100644
--- a/xen/arch/ppc/configs/ppc64_defconfig
+++ b/xen/arch/ppc/configs/ppc64_defconfig
@@ -1,6 +1,6 @@
 # CONFIG_GRANT_TABLE is not set
 # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
-# CONFIG_MEM_ACCESS is not set
+# CONFIG_VM_EVENT is not set
 
 CONFIG_PPC64=y
 CONFIG_DEBUG=y
diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index bb3ae26a44..2399f7b918 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -1,6 +1,6 @@
 # CONFIG_BOOT_TIME_CPUPOOLS is not set
 # CONFIG_GRANT_TABLE is not set
-# CONFIG_MEM_ACCESS is not set
+# CONFIG_VM_EVENT is not set
 # CONFIG_COVERAGE is not set
 # CONFIG_LIVEPATCH is not set
 # CONFIG_XSM is not set
diff --git a/xen/arch/x86/mm/Makefile b/xen/arch/x86/mm/Makefile
index 0345388359..960f6e8409 100644
--- a/xen/arch/x86/mm/Makefile
+++ b/xen/arch/x86/mm/Makefile
@@ -4,7 +4,7 @@ obj-$(CONFIG_HVM) += hap/
 obj-$(CONFIG_ALTP2M) += altp2m.o
 obj-$(CONFIG_HVM) += guest_walk_2.o guest_walk_3.o guest_walk_4.o
 obj-$(CONFIG_SHADOW_PAGING) += guest_walk_4.o
-obj-$(CONFIG_MEM_ACCESS) += mem_access.o
+obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-$(CONFIG_MEM_PAGING) += mem_paging.o
 obj-$(CONFIG_MEM_SHARING) += mem_sharing.o
 obj-$(CONFIG_HVM) += nested.o
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6166327f4d..a6aa2c5c14 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -92,7 +92,7 @@ config HAS_VMAP
 config MEM_ACCESS_ALWAYS_ON
 	bool
 
-config MEM_ACCESS
+config VM_EVENT
 	def_bool MEM_ACCESS_ALWAYS_ON
 	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
 	depends on HVM
diff --git a/xen/common/Makefile b/xen/common/Makefile
index cba3b32733..b71d4b3efa 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -26,7 +26,7 @@ obj-$(CONFIG_KEXEC) += kexec.o
 obj-$(CONFIG_KEXEC) += kimage.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o livepatch_elf.o
 obj-$(CONFIG_LLC_COLORING) += llc-coloring.o
-obj-$(CONFIG_MEM_ACCESS) += mem_access.o
+obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-y += memory.o
 obj-y += multicall.o
 obj-y += notifier.o
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index b897ca8723..bfe2e1f9f0 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -809,7 +809,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
             copyback = true;
         break;
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
     case XEN_DOMCTL_set_access_required:
         if ( unlikely(current->domain == d) ) /* no domain_pause() */
             ret = -EPERM;
diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 2231341b5d..4de651038d 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -33,7 +33,7 @@
  */
 struct vm_event_st;
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 #include <asm/mem_access.h>
 #endif
 
@@ -99,7 +99,7 @@ long p2m_set_mem_access_multi(struct domain *d,
 int p2m_get_mem_access(struct domain *d, gfn_t gfn, xenmem_access_t *access,
                        unsigned int altp2m_idx);
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 int mem_access_memop(unsigned long cmd,
                      XEN_GUEST_HANDLE_PARAM(xen_mem_access_op_t) arg);
 #else
@@ -109,7 +109,7 @@ int mem_access_memop(unsigned long cmd,
 {
     return -ENOSYS;
 }
-#endif /* CONFIG_MEM_ACCESS */
+#endif /* CONFIG_VM_EVENT */
 
 #endif /* _XEN_MEM_ACCESS_H */
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index a8d06de6b0..9227205fcd 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -647,7 +647,7 @@ static XSM_INLINE int cf_check xsm_vm_event_control(
     return xsm_default_action(action, current->domain, d);
 }
 
-#ifdef CONFIG_MEM_ACCESS
+#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 8c33b055fc..24acc16125 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -153,7 +153,7 @@ struct xsm_ops {
 
     int (*vm_event_control)(struct domain *d, int mode, int op);
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
     int (*mem_access)(struct domain *d);
 #endif
 
@@ -637,7 +637,7 @@ static inline int xsm_vm_event_control(
     return alternative_call(xsm_ops.vm_event_control, d, mode, op);
 }
 
-#ifdef CONFIG_MEM_ACCESS
+#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 ce6fbdc6c5..93fbfc43cc 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -111,7 +111,7 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
 
     .vm_event_control              = xsm_vm_event_control,
 
-#ifdef CONFIG_MEM_ACCESS
+#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 389707a164..6a53487ea4 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1362,7 +1362,7 @@ 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_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 static int cf_check flask_mem_access(struct domain *d)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__MEM_ACCESS);
@@ -1955,7 +1955,7 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
 
     .vm_event_control = flask_vm_event_control,
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
     .mem_access = flask_mem_access,
 #endif
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907708.1314904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnL-0004AN-0D; Tue, 11 Mar 2025 10:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907708.1314904; Tue, 11 Mar 2025 10:25: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 1trwnK-0004AG-SF; Tue, 11 Mar 2025 10:25:06 +0000
Received: by outflank-mailman (input) for mailman id 907708;
 Tue, 11 Mar 2025 10:25: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnJ-0004A4-D9
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:05 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20603.outbound.protection.outlook.com
 [2a01:111:f403:2606::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1652e606-fe63-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:25:00 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:56 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:24: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: 1652e606-fe63-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=G63J9+9t6DdihOp+Xuavrce8/X0MSm0NjAoNyI7D+nPLvylgSfNMVqaKf6CLoB1cr7luXUkB6RPglfoGUle/ix1B+Ny+8xe8p7blDldFXuqBCRR+G1chbzuvsHFHBBGc7WowaGQ0m4fXqd4TIpd5+IiixC1sgVoSc9vNlLlTL2RJ6cZaoTAsg1HiIat9EYd6r/FFWAm9vXulZ+5WxY/m5CT/44ETB5RNxH/2tezVMHJNHatc8H62Vf08UUp1XeL5JZuWLPKJ4Ze8nBZDp/Ni5Fwd6Pfmc8Hdz+Z2OiputJIYAiKJULqrPeRBF3C1j1Ik0O2NUtbGry8g975vjfDGpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xtzJ29r2CkN/VA0see5wRUAAmQGRSSS1z7FUujbClKE=;
 b=JqBVSVkUJTAUoNlW69hVcLxAPP6MuOWzYmw2E4w7HZd8TD8/W4Vz5/bmIP9LvBcTGfRAh+wCDK38LODCfr7GWqrKSSAlvJUIi9FPxe1a1JVpobLUVISxB7AeONAr6/iZwgWN0741qLUPwAuAtL2n5OkzU1Jc33KQ62n2Q+/0Uk6wn2Q90GC2cPtQg33LeKC8dmLf/CSrpbjxGqEtlj5lxiGi03gIxd8D5APyvsF0vNd8+2GGa/QdZJIeLyimp+LfZntibMIJbISk/0ad7iFXLL1y18Se+XmFEt8WsEo4RpFt9GKUmQWljJ2y9In4GzEeJtMq9vkmE3QCMKPLRPTGsA==
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=xtzJ29r2CkN/VA0see5wRUAAmQGRSSS1z7FUujbClKE=;
 b=Hqhq+L3mLX9qaEgJEk2c5C6LCPooVoAAP2FGnSz6H5U9d4+2/JipZUUcNBr/Lwg3ZdDdK/5gG7h1EQejklMVMEe6AOWGNBcU6GrLsR9Drxy+hgKiK9Itjoycpr6M2Pda6xSFt67kviH+O2mifw0ExOfCa45EgpWudpDP2wTDLKouhQwVZce+z5pTOHRMylCYMiQVbVAqGkxZyKIGQQ19qXyCY5VvK4bacBMTIk9m3/RdAiuIMaLxuJQQgvWYuHLvLxdUAj5FznhyUH/aZuwdVw5DphGM4qw22EbK9aeQI6yLLjDFBqie6iUdlZpN6HtHno3Q5eYu6U7Q0HrEh9Izag==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 2/7] xen/arm: make pci_host_common_probe return the bridge
Thread-Topic: [PATCH v2 2/7] xen/arm: make pci_host_common_probe return the
 bridge
Thread-Index: AQHbkm/Vjo6HzaNfH0a1zt7pMvvptA==
Date: Tue, 11 Mar 2025 10:24:55 +0000
Message-ID:
 <a534f2e6b87497b3abd8820178f3ef9979d2ec70.1741596512.git.mykyta_poturai@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: a8191275-57c4-4539-69d1-08dd6086f885
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?OXXcFr48bnDyV7CZjoYIBb5kWktg+oUslvFlJsGYynqvurdkyIp9gZG34J?=
 =?iso-8859-1?Q?nL4i7+PHy2Fm4UXXLdZbaSrCJnu4rMHJk+BOexe0M6NrNGO2glU9bxGlE4?=
 =?iso-8859-1?Q?TD1TsoXq8fRrTd3n0ugBbvx2UNmNBFC65xRNjMvGzE4Ttn/slCCoR/2c1x?=
 =?iso-8859-1?Q?XTDTJzLLB6NW0GBpA3FIOEoc5WtaM07IxVYGWO3TcIxlfh8yqUdV3cMUus?=
 =?iso-8859-1?Q?+HdkyAzC4VyKEIFaZPeVv+avyWWqSMt8T5VjzMzdvfc0QavXdCLbdeYTck?=
 =?iso-8859-1?Q?p7+8YjP4X5aFdQ2W4MEfAW2y+4DIkLVKXjMk4UFtkpMeHzLEzJY8HE4q5R?=
 =?iso-8859-1?Q?7PM9XakfQm1qLM2epYZP81vL9NWe9yDom0Ouom5huGBXN3ESuh5Hnw2nqG?=
 =?iso-8859-1?Q?Xn1s+2g2h+H66ytJuqI/7GEW4KLC2oPQHnl2io/gbKAzrwWwvhi1i3J3mw?=
 =?iso-8859-1?Q?lxM36XbA49aLZYbwutqCy7mgXX7pFy5aKmEjJv8l4Tq+5RGXig5/ZH6Y3o?=
 =?iso-8859-1?Q?0sz88fuz6NwTML3CAihnY9Gq28ebQ85dkaMPwJWsyFv1fWOKaSxeRzr3pa?=
 =?iso-8859-1?Q?W4p6dvrIer7/Q9ZZabL4d8xoJIIlA2KLWRUa4yE0qRc/aTOeDNnkHz4yOx?=
 =?iso-8859-1?Q?406cxskGUn2GtyNFvLdCJLt+mz9sxz57iOXvaslsuECKDFemiSMktQCXk+?=
 =?iso-8859-1?Q?XmSYSFgQNCMokEpFGD/m2ueM4Yiaw6F+nX94ao6Xs3qQKVPoMc5AqtA82h?=
 =?iso-8859-1?Q?YCAhlDRlE//bdPVfnYDDlX8YzEKGMfYIEXXD83bPgODWEF4gCMgo1m24MU?=
 =?iso-8859-1?Q?D+MXxtQKb+0W93b+eyo6/+1otdC2pmtM4vPbE3UZKiMjMp9lJCY11Djol/?=
 =?iso-8859-1?Q?Din3v6i4ugRCC7AmW6h6socYnSg49JQumhFdWfstwqm3R4+JxBMy4EEKmg?=
 =?iso-8859-1?Q?dzo9IJkeqdWI3Y6LBC6p0ZuvUM7Z65e4oI5hr0F0gh52pA87XCXyt6+xzE?=
 =?iso-8859-1?Q?BiLdRx1I4TM2JO+dbsFGGxM3YLdALXqe7hywpfD+6o7c4Jk1fa/xOVkp28?=
 =?iso-8859-1?Q?+1DPxcgPfmvcyqPxO+vpYVx9l2x0SRpGVFbMbw8PvXf+648bzJV+0OT2EP?=
 =?iso-8859-1?Q?ddeCOo8TwTt0MIC8r3LGk1mG+9Z+M8LMEVvQ81N7WyQClUFUfHMabiWysO?=
 =?iso-8859-1?Q?mlB1jXuzuSLBijYH0srqipi3YKWRmHxm4ozOcjLkHUQB9RI5Ag17DCCE47?=
 =?iso-8859-1?Q?yCFO7f1DIDP9Y9cQxx5v7zFQBFbr+iEFvSGtAzPi7/kFiFlJEPFJcCT3CN?=
 =?iso-8859-1?Q?i0Qllplc8TLdEx8bmvEX6PWqX58a2+jBlEGWpv0IMJ8fUwL3RiU8FxdDEg?=
 =?iso-8859-1?Q?jNQmlzM7CyyykhLwvAlakh97T5BJ5KMoMtUZ6s2D64LuwCzdfliaIZIcJb?=
 =?iso-8859-1?Q?Ohk4V3ik5xgm/hx3/RcQ+QlhS6lgd0OPHJ+Lkx/6ita7wO+Ri/dT3Ct/nQ?=
 =?iso-8859-1?Q?6qx4K1PD6jyIwnsNLMvPgT?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?fflOVtU1jj6OE08Vzxt4gOQPHB15FFP3G3wPt+ohFwPzVD+5GJN14Fqpe6?=
 =?iso-8859-1?Q?0x0o3GHZzooZnklyxdEWyZcs7WWN1aYm7H+nwUrVTccyVuTeegdNJ5StiI?=
 =?iso-8859-1?Q?r2XQB/dx5E8IvU1yzI1zHsMN6CMQ7s5ZA5EblciaOYcGBNVlC127jLpc8a?=
 =?iso-8859-1?Q?haIJQA1N9wQPiuSfZ3peoox8crwIYxyRPfzHH7EpGGZzc27+jT0IZMbM0o?=
 =?iso-8859-1?Q?4TsKhkMX/zMUufqthPLVXenYK2DB6z1GljWIsQyfjo2dGETAqLc24Evx9a?=
 =?iso-8859-1?Q?hQE0WsdMpD+rfmqVour5OIRxswhiS7sDxljueLY7nxxIB3F+AwptwFVGAG?=
 =?iso-8859-1?Q?OkWNMwnhaN3DlrREVYn15Bts6mJ4cGv7eNrTlaab6MqjGsckMqftBg5m/i?=
 =?iso-8859-1?Q?sDSPP+n4l/YKAsZtZ9MBjXFDmeIbdCxjSQ145bI+AgGFCrhxh9suTbjOeT?=
 =?iso-8859-1?Q?zkvnMxf66P144l3fBYJemFecgSzaNj4gDllNNQYnK0DjverYUsLOodQBnC?=
 =?iso-8859-1?Q?shJJHRuBCqAWo1qi+yVowwgIWbV/nIomU2+XZJFO2c6M2EA9tNvjJqawqk?=
 =?iso-8859-1?Q?y5MRmPkKSvJwf/uxz9uGzGLwS7o+JCQQhi1LAVqGD6N/YpuwQ6StORn8cD?=
 =?iso-8859-1?Q?ajm2BQ6aN+2IkVDF6niiFMbmIMJ5rcSmC+xV5T3MarOQQ55V7QgJ3PPzow?=
 =?iso-8859-1?Q?sUiRPS69x4u3Sacfe8Eisvpx6AojRKdXIIjTZX0qK3TiWtGDIMserMw9Js?=
 =?iso-8859-1?Q?VL3kSmQeQMU/LCNYBYgWEiRX+10rT5111wkaytjAAo9XhrsPe9So1i65WX?=
 =?iso-8859-1?Q?FgjnYM7rlXEM5kQMBLO5egVOqp3uK1+9wwWcsCMHgvuJyq79iadW/zwS09?=
 =?iso-8859-1?Q?FuW30bBE7CGVX/Veb554yChHIRhI3TgNytYb2WcI70iuKhHirDftP0i7Ho?=
 =?iso-8859-1?Q?d+I0T6MhmuZjJNpdHctytiRn9pYA0pI9XGICvpYRrtgQb5FKSKziGcdFHH?=
 =?iso-8859-1?Q?+6U9SkHRWZm/Orx1l2PcLT7WwvLycKkMxSlx2B8rq07XY+hL95Qnsyx01j?=
 =?iso-8859-1?Q?ebZG5Mo8ALzAB+javDaHspCKovW0oseV3iOujngNQWGrSfX/aKdYcsM3X1?=
 =?iso-8859-1?Q?09fBH9rwPMojrnsn+PiShKPvq2Q5TYtBAiG+IAyK5I986qbgApn6Yx+AmN?=
 =?iso-8859-1?Q?uy/zpFB7848Ve584p7dp6lPbl43dbcs0/up+3XuauQeEGVacB4tBjgOUOx?=
 =?iso-8859-1?Q?dDYemMOhmequt2ZLfXQjpmAGjORrF76vqqNTNhuWXwy7hvMxmtPVFzsgS3?=
 =?iso-8859-1?Q?VcWnZebqyx6wVrxkRDbUDX2dfJsPsSETZOM4E/6Z1lyXsfBC40w8yxdGq9?=
 =?iso-8859-1?Q?T7P9XF58mqUZJbhNVQkmlU84A0nf+QkuxTcPOkOyAO32AXx8mXVJwmzzq+?=
 =?iso-8859-1?Q?JlL05cHmLwzgKNs91x0ssZ4RiYSxvZTnFDtMG5UzyqlFA9I9UkkpRh2nfR?=
 =?iso-8859-1?Q?IsFeGxH5Ak4tdK6w+HXYoOVTofFpC3YHA4OAYu7bVqojazvsVNCDBxEtwk?=
 =?iso-8859-1?Q?2Zlkn48IqPI8YHtBOS7jQCQFAljY2N2h+lf16irjyIDJ/yLBd0cGFwfjRm?=
 =?iso-8859-1?Q?GmrANy/TjsX3xRqtYS9+cBInQOiQ7QfjtMA5ham14rOLOvHIsQwPeurQ?=
 =?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: a8191275-57c4-4539-69d1-08dd6086f885
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:55.8291
 (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: fhp1KUU9SZajaVQ+MFZ+uGJ/H/5x8PvoVL9WVaaYJkMFZ6ucElyU4MXWUc46lluRJmwWBYfuqYByMcnQKd+05Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Some of the PCI host bridges require additional processing during the
probe phase. For that they need to access struct bridge of the probed
host, so return pointer to the new bridge from pci_host_common_probe.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* no change
---
 xen/arch/arm/include/asm/pci.h      |  8 +++++---
 xen/arch/arm/pci/pci-host-common.c  | 12 ++++++------
 xen/arch/arm/pci/pci-host-generic.c |  2 +-
 xen/arch/arm/pci/pci-host-zynqmp.c  |  2 +-
 4 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.=
h
index 44344ac8c1..e1f63d75e3 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -17,6 +17,8 @@
=20
 #ifdef CONFIG_HAS_PCI
=20
+#include <xen/err.h>
+
 #include <asm/p2m.h>
=20
 #define pci_to_dev(pcidev) (&(pcidev)->arch.dev)
@@ -95,9 +97,9 @@ struct pci_ecam_ops {
 /* Default ECAM ops */
 extern const struct pci_ecam_ops pci_generic_ecam_ops;
=20
-int pci_host_common_probe(struct dt_device_node *dev,
-                          const struct pci_ecam_ops *ops,
-                          size_t priv_sz);
+struct pci_host_bridge *pci_host_common_probe(struct dt_device_node *dev,
+                                              const struct pci_ecam_ops *o=
ps,
+                                              size_t priv_sz);
 int pci_generic_config_read(struct pci_host_bridge *bridge, pci_sbdf_t sbd=
f,
                             uint32_t reg, uint32_t len, uint32_t *value);
 int pci_generic_config_write(struct pci_host_bridge *bridge, pci_sbdf_t sb=
df,
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host=
-common.c
index be7e6c3510..e4e05d1176 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -208,9 +208,9 @@ static int pci_bus_find_domain_nr(struct dt_device_node=
 *dev)
     return domain;
 }
=20
-int pci_host_common_probe(struct dt_device_node *dev,
-                          const struct pci_ecam_ops *ops,
-                          size_t priv_sz)
+struct pci_host_bridge *pci_host_common_probe(struct dt_device_node *dev,
+                                              const struct pci_ecam_ops *o=
ps,
+                                              size_t priv_sz)
 {
     struct pci_host_bridge *bridge;
     struct pci_config_window *cfg;
@@ -222,7 +222,7 @@ int pci_host_common_probe(struct dt_device_node *dev,
=20
     bridge =3D pci_alloc_host_bridge();
     if ( !bridge )
-        return -ENOMEM;
+        return ERR_PTR(-ENOMEM);
=20
     /* Parse and map our Configuration Space windows */
     cfg =3D gen_pci_init(dev, ops);
@@ -257,7 +257,7 @@ int pci_host_common_probe(struct dt_device_node *dev,
=20
     pci_add_host_bridge(bridge);
=20
-    return 0;
+    return bridge;
=20
 err_priv:
     xfree(bridge->priv);
@@ -265,7 +265,7 @@ err_priv:
 err_exit:
     xfree(bridge);
=20
-    return err;
+    return ERR_PTR(err);
 }
=20
 /*
diff --git a/xen/arch/arm/pci/pci-host-generic.c b/xen/arch/arm/pci/pci-hos=
t-generic.c
index cc4bc70684..dde6a79a8e 100644
--- a/xen/arch/arm/pci/pci-host-generic.c
+++ b/xen/arch/arm/pci/pci-host-generic.c
@@ -29,7 +29,7 @@ static const struct dt_device_match __initconstrel gen_pc=
i_dt_match[] =3D
 static int __init pci_host_generic_probe(struct dt_device_node *dev,
                                          const void *data)
 {
-    return pci_host_common_probe(dev, &pci_generic_ecam_ops, 0);
+    return PTR_RET(pci_host_common_probe(dev, &pci_generic_ecam_ops, 0));
 }
=20
 DT_DEVICE_START(pci_gen, "PCI HOST GENERIC", DEVICE_PCI_HOSTBRIDGE)
diff --git a/xen/arch/arm/pci/pci-host-zynqmp.c b/xen/arch/arm/pci/pci-host=
-zynqmp.c
index 985a43c516..c796447ac4 100644
--- a/xen/arch/arm/pci/pci-host-zynqmp.c
+++ b/xen/arch/arm/pci/pci-host-zynqmp.c
@@ -47,7 +47,7 @@ static const struct dt_device_match __initconstrel nwl_pc=
ie_dt_match[] =3D
 static int __init pci_host_generic_probe(struct dt_device_node *dev,
                                          const void *data)
 {
-    return pci_host_common_probe(dev, &nwl_pcie_ops, 0);
+    return PTR_RET(pci_host_common_probe(dev, &nwl_pcie_ops, 0));
 }
=20
 DT_DEVICE_START(pci_gen, "PCI HOST ZYNQMP", DEVICE_PCI_HOSTBRIDGE)
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907709.1314913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnM-0004Oo-5h; Tue, 11 Mar 2025 10:25:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907709.1314913; Tue, 11 Mar 2025 10: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 1trwnM-0004Od-2Y; Tue, 11 Mar 2025 10:25:08 +0000
Received: by outflank-mailman (input) for mailman id 907709;
 Tue, 11 Mar 2025 10:25: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnL-0004A4-8n
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:07 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20603.outbound.protection.outlook.com
 [2a01:111:f403:2606::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 193cb026-fe63-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:25:05 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:57 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:24: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: 193cb026-fe63-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=inqdVN7uVusAHSbG/YVKB1F8Fzw/qJX2aSWG6dgubfDLy4MBmRe/HXNYuylfE4WXCDcLOf4x5EDR4R5OU9evmKczSYTXK30LVHUDFL8t/dVTGBnaFdkRZDWZ56xHToIIdppGg6qZFUXhBojNUX5Dyyv1xrmdytSdt8msutiFMg9f87FlPlR4TwiSZMyIRqjbbL6xPj16jw2Qy7qe20hQdLBQg86+Nu+tvkZlGxLtLFX3x2BPkIL1xCYY7Nm8WkIjt3Mu40KDmhzVMLLseSPDgk1AIglQjeLI5YdKFk9egtnU4ruXXcYH7Bwk/kahxUbZ8IP+H5xXcC4ZQ6oFvC5q4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k0TfRl/3++KwXJXT4f/ciAOEs4ilm6jBMLPNvvLZqhU=;
 b=ECKZZhYISW2w8kG4YB+QmP4yra8LQh/uvgMRxjYTTGns66BrpKugZMvKz7QeVI/wH+OYKAIOmoI3JUMuei3yQLv6MPaP+2WoUZlOuL5W3yE5nEtn6hZ/DiYSI4EWT9ECGUBnBWJ8J3s6JbtCEcc3vRPIJdwiQxG7RpGrzIrgnZu8Ows09kc78Rj6HCamg1pgptInICDoHAk9xgL+1SXrJcJuvCs0gRCLk9UHRZzkVR/GK4VPmuPcsvoX0T+bj+1IXxwrDXUf3sEnmu1uFU3VW7skRFWOYaP3K7B3tYzAw9ld+CHTwQd5idITtm61dCcOGQDG4YIUD5e09VfHts6X/g==
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=k0TfRl/3++KwXJXT4f/ciAOEs4ilm6jBMLPNvvLZqhU=;
 b=mouxT5Zxm+9IypMA28g1rxZRlepDvjTGFMdrObLvjHwXULpS/lB8haBMS6NjeROC7hLYg+n4mnerjDYTgZiMr+iXgvNWbhsaP/QRiSQNVF7zUlvosUu3tQ6E8pPbfGDy6I6xE9eydea2jXLFtS1+D/3h7UOJ0DWRincBsoY/1Fah1aWgeda6O5NenvztXRuomhOh+Fu3CGlu2x0FVKHWIJb5BjAHjymvYn/CQnjus3yT4bf8I1P3tQMj6c3LNreUKDWK5XoY/EPsKktf0p+RQoSES8yOE3FCrhcwMyktNforvFPbTvZoiXcFiTuuBMX9JDX0xRMOFiRfwDxTgZrhkA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <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>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 6/7] xen/arm: rcar4: add simple optimization to avoid ATU
 reprogramming
Thread-Topic: [PATCH v2 6/7] xen/arm: rcar4: add simple optimization to avoid
 ATU reprogramming
Thread-Index: AQHbkm/Wk5N38mqKT0ikm3bT0fuP8w==
Date: Tue, 11 Mar 2025 10:24:56 +0000
Message-ID:
 <e01e6aeba461001093b0da9af4c14b922049080a.1741596512.git.mykyta_poturai@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: 573653e5-aaee-40ac-db9f-08dd6086f92c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?W8uZaJSm7kuX4xLokQlb0ydhe07+HZPq3gAkl17SkCcLjjv9UYPAFSXwgp?=
 =?iso-8859-1?Q?Vj3WfOZc3bOtNoavmaUkFPVkg0nFxKHj3QpivuDzbaHP4B436IHvmOqTnG?=
 =?iso-8859-1?Q?Zi5Eyc7+fYAFr79OiT/WdgWHq5xjwoCapYpxerJ0XJ5Qoyq2Sc3LAkUl+d?=
 =?iso-8859-1?Q?9iJcdFUpH7P6vdwvsv2Inht7+YxYob4oA6h18JPfBo3jhGgJhj//Pls34O?=
 =?iso-8859-1?Q?6RSpma00DCoYKwkH62DC5iopwBwCMEKjUsXSymOxKt51lOvN2yTiI+o3Dz?=
 =?iso-8859-1?Q?5i+P0PAc5OiBwaFsSiZAeq35d8mlsXW+MdNiWsVQz4/MMAOmSalhjeGEnR?=
 =?iso-8859-1?Q?ubKSGiMdL7DV+D6MkCrZR3DnddBCOSB+fk628kcovnEI0DPVE0EWN5k1Iq?=
 =?iso-8859-1?Q?QjIKG0arj2m5O6dfo18pdo4fes8lVP1RXb7jMHA0mB0rIfqdHufWh+HvMB?=
 =?iso-8859-1?Q?SEu3jhezNo+Upi18f/C76KqTiK0JdlmsDKGY4dbz32ln5aIBf9e1k2BqSC?=
 =?iso-8859-1?Q?7NbEaqDq9sy+kLiaEa34udIRtNp8Ajc1JuSiAc96q1Y5nwI6/CSEEODLkq?=
 =?iso-8859-1?Q?tMuPhltBlOWnDwJZhUU/HezUvK6jEMESKck0oEt5kDOWQFpQyKPxVyiNTS?=
 =?iso-8859-1?Q?ASajV9igze++WHSb5iYbqq1YFgyiXYBxgo9XcYd3H/1b5Tv+YyQj+73boo?=
 =?iso-8859-1?Q?5gTGIetP+fAJFVQnE2/iXbHBoa6lGhLEZDHx1+6MyTJB2l+rDQ9Hu+9T+z?=
 =?iso-8859-1?Q?t6aBXiLgXWpCvocaim1evYZtB6RyHmxpA7aFMrSoOPqwnw9HS8mz5VzYGo?=
 =?iso-8859-1?Q?p9/WtkimPmH37A7ijJWpnKU05G10PwId0Yq68h/etS2ykTPXXfqSLjx3TR?=
 =?iso-8859-1?Q?8NhUfAraTZp+yfvufqyye+/xRgAw2VlpLbqyQkzN0VOkuSiE4coxY24rpP?=
 =?iso-8859-1?Q?9LSGVLdagaE5uSVih6GT/+t2rgCgcdtnPFe2GXUGEc7bhCZ2t42LlkjzRe?=
 =?iso-8859-1?Q?K16EmPh+CCMpcysLaeB6G573yhD+0YwIdikfr8PPKHfk2zeT+NmI+5JU6B?=
 =?iso-8859-1?Q?UMnfG56S7bn5gYtTBiHC+azlvyhcgZSljgNsuOai1cIY9NH3D52x3Th/m4?=
 =?iso-8859-1?Q?kA4ghRa3ZEtvWWkGkLtbGS/dp2/uvv3ilp+Cgn59N8t9Q8DWoTM4o++or1?=
 =?iso-8859-1?Q?EsytNzDPy/N7CsZSeqIJjp31Rtymj3K9gv9vToaaF3PazVm0a72AmArlrc?=
 =?iso-8859-1?Q?XqussNzveNIarGzkfkgPtR1OLetg6vBUgkIBe5oFxPC7gf5d9AW2UA0HDj?=
 =?iso-8859-1?Q?6dL7e50uhVkhDnm6+G8mNc1RynsamQm12vRkHLt1x839+MHMOZL+sLVG5J?=
 =?iso-8859-1?Q?zXkPEAba3yAiWyja9ddhe3tNFpn9O3HKVD+SnAj34yJmULvSvsuMV+gHEz?=
 =?iso-8859-1?Q?0FTbRst2/7F1DHrjcjDTY8PV8UeCNXWA1Wrw2s5j8JqVhpMA0CCWxOmBW9?=
 =?iso-8859-1?Q?N0qWRlf6S/2CpAUJ887DDA?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?G2+M8EsPgg73QL02YokWWyhIsnOS/Tkqi+4v8y7N28TdaFiSiaRMOxctPV?=
 =?iso-8859-1?Q?ASVWeuTmWUj2UORpw35c31p048elJjIO8TUduSOwRU47auGbXsPtb0odL7?=
 =?iso-8859-1?Q?We+TVtNPoLTL8ITDC+qU1qiayzitXEIeIMzaMl3BG0XVD77D/JlqCjncv4?=
 =?iso-8859-1?Q?mJrp6DLvJPI3DUhB6L/XXzxfbErbEAZREya9KgjdfG0k4a67rXk+AV9amA?=
 =?iso-8859-1?Q?vOIIe4atcRffrSQxN/wYlw/Ev/LZjjNi6hvbIGahwW1NeWXorXv/Vy1o/s?=
 =?iso-8859-1?Q?Tt0joMcmUGsoTCu/PA4U4gYHgjE7+Sq+vOWVba0LrsdmbJccOy9yZRoO5L?=
 =?iso-8859-1?Q?cFziPduyAPTcRhmz/45eE3FHiLf2PZF1B837aGeYKu6HKrzo6g7VDrIk97?=
 =?iso-8859-1?Q?y8ECmZY5OBPdroWOTqGtNbrNGhMem4YRjvZjpTvmZOd6aPRSORGuGIk3vC?=
 =?iso-8859-1?Q?wiu7aBaq6bJNJx6J6MC8WUvqFDepREsAODE6hKcIx006LYP9rkzw3bGbzt?=
 =?iso-8859-1?Q?r/1nyEKUVT7jizphS3xIHPKwGwe9mcKPbbdj05L6uvpx9d7wdEk3o6elot?=
 =?iso-8859-1?Q?OoDUGP5ArRSw+DhHZAj662nAihrvio5lQY5yd/Pd4viBzGS1Ootl9vKAPh?=
 =?iso-8859-1?Q?EAjVUVCM6785MQ16gyaRK3bauJUpsX9lL1dKbx44kowAjjetUNDcLH2jYq?=
 =?iso-8859-1?Q?nnt918QQQj41sUNWa7fIXktUFth9CNY5wdLQ/S+iiZpcjdjYgyAEWnD0q6?=
 =?iso-8859-1?Q?EqakklIGVb+210VAW+0gqZOQIKglcaVLV3sWS3CZFL9k7l54ZS1Cup6Fwk?=
 =?iso-8859-1?Q?BFfXANhlEsX0kU3eTUWHpFlpHrdEPqWQSh0BZ9rsQSRX/sM+GLrghiVrFs?=
 =?iso-8859-1?Q?+r11+TNvbPCQC15kFftt1CAUpJwGCHGWvBqTTukGikbFrmaX50RWPEWVTk?=
 =?iso-8859-1?Q?2Nvo9sjYac/oLKevXWlZF0kcVsgRnDuvHoJwTvk/AoVvgUUlram4Fb5PeM?=
 =?iso-8859-1?Q?Y4YZOwQGenPymr2Oyxo0kRBU+fsDQHlK5nNEQfKfHF5Mbbv3e22DB4M75O?=
 =?iso-8859-1?Q?4xbWF9IhkbCvsVMVeRICCsnHCQMMYCMkcitgnq1l//+5FiC3ZgyE1s8MsH?=
 =?iso-8859-1?Q?bkWq+D6se8Sh3GiZGt2/2jCA9lziY0b5jegsdU8GdFqkapKNWNiTcGn2J5?=
 =?iso-8859-1?Q?TRBJ75oAGi3/F4F3EKM2Tvn81VfXE/Gb5+U4M66lj4NtT8RAJEarYRRENb?=
 =?iso-8859-1?Q?b+fSFo3a045EvTVaTII0rOZRwuk1VgtiqTmIT7uqwEZd/dN21o9v9nmw+d?=
 =?iso-8859-1?Q?8wo8f+lLojX9yXBhnF9mta6RI55nPur1vjgjSvP2qFxfROEX5rPXxwl3NL?=
 =?iso-8859-1?Q?eYXPl/57FKs105ueOSegnuNoEsWKppGzDqcMbE1xtbWx786ZSxy/G3kE5F?=
 =?iso-8859-1?Q?ruO4AFKoI73Ka782VBQayuRER82V8706UR4BxoZhGKOqEMMA5NyGVEFX31?=
 =?iso-8859-1?Q?saYoofdSVrMjL/ElzuN9f6A7Dn4DF4RHgNAJoit7mJRBY7REfWhKwVu4c1?=
 =?iso-8859-1?Q?aaAofmMTIuTnhUPG+9UCgn1Bq7+7rsPJ7L4uFvXFYPrbigQ9rvbYxyDOu5?=
 =?iso-8859-1?Q?1N6rGYPVSp+CBA62bfAa5JmG0ehW8P40iN/nF4YVCqVwX+xQrAFNncmA?=
 =?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: 573653e5-aaee-40ac-db9f-08dd6086f92c
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:56.9178
 (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: J6Z5J/bdCktozfOkQkAgyPOyPZFdY/aDh/c2sL6FAIB4iz5R46fYNqoQKaxvj8q+M/+qQv+nAfWzRdG4ex6YYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

There are high chances that there will be a number of a consecutive
accesses to configuration space of one device. To speed things up,
we can program ATU only during first access.

This is mostly beneficial taking into account the previous patch that
adds 1ms delay after ATU reprogramming.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* rebased
---
 xen/arch/arm/pci/pci-designware.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/arm/pci/pci-designware.c b/xen/arch/arm/pci/pci-desig=
nware.c
index def2c12d63..cec52cf81a 100644
--- a/xen/arch/arm/pci/pci-designware.c
+++ b/xen/arch/arm/pci/pci-designware.c
@@ -272,6 +272,14 @@ static void dw_pcie_prog_outbound_atu(struct pci_host_=
bridge *pci, int index,
                                       int type, uint64_t cpu_addr,
                                       uint64_t pci_addr, uint64_t size)
 {
+    static uint64_t prev_addr =3D ~0;
+
+    /* Simple optimization to not-program ATU for every transaction */
+    if (prev_addr =3D=3D pci_addr)
+        return;
+
+    prev_addr =3D pci_addr;
+
     __dw_pcie_prog_outbound_atu(pci, 0, index, type,
                                 cpu_addr, pci_addr, size);
 }
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907710.1314923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnN-0004ds-G3; Tue, 11 Mar 2025 10:25:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907710.1314923; Tue, 11 Mar 2025 10:25: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 1trwnN-0004dj-Cj; Tue, 11 Mar 2025 10:25:09 +0000
Received: by outflank-mailman (input) for mailman id 907710;
 Tue, 11 Mar 2025 10:25: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnL-0004Ad-Am
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:07 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18775ae7-fe63-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 11:25:04 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:57 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:24: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: 18775ae7-fe63-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TVf9uHGn1Ix594wsdxCluf8N0h3k68frzXVvOV60SbN+Z9+M7KEaoCj7U7m2AzP9Gzfq0a1vPgLfJjLv5iXvkBv2D8Za9eXerHcAipLLdXYt5d8xiSqyoqpRegHE5sDq/YAt7bIQgAjFnGIL2so0rtRzsitq4KSJUPKvy+yCFXRarwhIs8pvPX1Osef8h/H47fXXWJoE6AKvqBdMVyKmdZ2GDl7ft+4AGl5xkwsw/j8RlRh5Mj++R2zVROcjOELDiG32dmUH7ryW43A1MyBMkIo3KY8u/GB3VvLwhanyYflzY7JsfMgAAZeaCEJln8urYGfXe+zZXJvsP2F3vuSoDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jyHZMwviRPs2B56PeLbsS5Kw9TWI8ewMWJDEvHSaFZQ=;
 b=nVAcnC3CTtBBOBKWVAzoBW+cn3mH1ZVVuHpeNYgRNP/cHqWr04czNk5ZmsSPgMK+he+7BISqvW6Xs+h6qzDDA7g96Eyc+Fhbm90RXFsTWPixfRLk2A0U5xcp0SyTKFfMUdaaiXKkUKym5Jk9WbKN4ecaoME49k54+HQT4Kj+lqxXCrhAx+55MIUX55/d4sKRDV1VfVdlCb2B86o4Rr+66Y6NZyhd3md8hfZrV/n+/WNdUHH4QtjBDqgilF7AeJzoNUPJ86mHxLw/2pg4J1QmF0PY0BBEt7O+9Kq61jkMax1mIHGVHQcbRzmliU2tdS5XgK0paQDbf7Sg7NFWQ8s+XQ==
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=jyHZMwviRPs2B56PeLbsS5Kw9TWI8ewMWJDEvHSaFZQ=;
 b=vEY9MWr7BROggtGEA0ITCGsCvZhD+ykwbvANU/xyokhFY7z78SLYpuYGg6SWzYHZlzVlxbWlGZUsXgywBal22OEjsOZZVssZS7exGJnsYkFPs1klU9VDgT9xvv4g35FD7xvMX7bp5xc+b9GVpwg0a8BsohnN3ctlbi5oXz3jPR5a5MQVOAuxDYcD4HMMP4o2Xvq5KShX46ut1af9MihI/Hk2uI4T7LWewhjOB1zHrasdQs1DpOx2f+4wUsg5bdkVnOmL+r8as4Dx2eIkoYDIIs/ZLw0sZMDmqeaYU2+LQqqdeO1AG9qZPBK75vQ0ykmwYvL0emE1QhaToC2PyhXwHw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 4/7] xen/arm: add support for R-Car Gen4 PCI host
 controller
Thread-Topic: [PATCH v2 4/7] xen/arm: add support for R-Car Gen4 PCI host
 controller
Thread-Index: AQHbkm/VSYy4W40IyEij9LnAcCxWMg==
Date: Tue, 11 Mar 2025 10:24:56 +0000
Message-ID:
 <2c03ffb2c7cd20b8a6a5a54098cc6e99e8d4a8d3.1741596512.git.mykyta_poturai@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: b5b28693-35cc-4407-c62a-08dd6086f8d5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|1800799024|366016|38070700018|13003099007;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?ZW7xYj6z7So4qC7hMIAGuJG+DTT8RgSLWYNb1TjQzzRF/Jrn1T/7SG8L6/?=
 =?iso-8859-1?Q?IgSB2c3AvSOdX5HxiNdpX8JLEbbH4UAmE3+U3QHnuMLukNU+nqtaCu+EqE?=
 =?iso-8859-1?Q?Czw0iSSreCbUZraBHhgBPwTsuQ41EgrrFd0cuP3zIlqukwYyl3wJ11hWLq?=
 =?iso-8859-1?Q?C8zSrPUjT+o59BG0oPKCZjZ3hq2fU51VwAci0RhI/AS26CNgW53Dv401jy?=
 =?iso-8859-1?Q?euI3id/SFnEa/rA32k8XsqltJFUIK9M6+OPWm9mC6IZKcuGnh528c8SJ0p?=
 =?iso-8859-1?Q?cX7jfga+9TcLkt+rzNSjOK8Gt4nZ5xncPXQwaADg1KChwj9DeiL4lcHWiN?=
 =?iso-8859-1?Q?v39VemoCi1AmUJDNoii4rwhnqpWOpAGTECCZS/qOIEBwN3j/rUi96c0+zI?=
 =?iso-8859-1?Q?fhmztWcVhZdojcNlw9TTtJKKGAHGHx78RinWtEbzc133fR0ryuos7xSi4l?=
 =?iso-8859-1?Q?E6QXodkE9eGKX85+WNUswr/IF1QBAVMvEtwqlgb3UjHcJbknYzcDjA7naP?=
 =?iso-8859-1?Q?ND4kW3faKc1ojsJw/xbMPhtq7KqCtnYD9dwGl4zMSQHcMvM8FJj5yZC43N?=
 =?iso-8859-1?Q?xk1NiKSaiYcYmBVy6giIC+xN/52mL2OYbVIBwg6KU/EBQrsGuY+IfZyNfq?=
 =?iso-8859-1?Q?BSAnFOmGt3DoUiUw3yop2Rk/RmeYSG/V9xOYTxDH3gOqcTwh17zsERH706?=
 =?iso-8859-1?Q?Y44OaK2rhNNbXi0me1yL+DB7Gw/vvHxXn3VLxCzG792pLXy5RrvYQluen/?=
 =?iso-8859-1?Q?ZLBSPv67JerRpgHdPY4ZGlGPLRudiMMnXNGoxjBn7XiHVcx0VOmx+9EVGV?=
 =?iso-8859-1?Q?GqWgsZwwj3bjr8b0XiG/YBQ87CHMnorVMBM4DH48fmcv5xMM3/c73gqDhT?=
 =?iso-8859-1?Q?yr2eECdBN4z6cbSz5VosLYEWrI/kH31QhAUgGgkdCmDwR8Ao6sbUt6UKXC?=
 =?iso-8859-1?Q?mA5U2JlZzEKp2aswbl/GElam9zJ8hxI6OySSM45fYBEOt+TJ4ioL9tkSFG?=
 =?iso-8859-1?Q?xwm72mlPWsIZ4QXuVH/skmWlLtzqK/G1Ci/2errv9L/DrFEfgYSUuTOypQ?=
 =?iso-8859-1?Q?kF8J3xhPxjug40JNlXoYYpsVR4mWw+dR2Gn3BUYszYniwGE5agkx1p7iIX?=
 =?iso-8859-1?Q?bZOzkOo0SkjDtWiwt0hZE81Q8dLFgJbBF3Z2ohxRW3RD4pdZF+p+5xs1B6?=
 =?iso-8859-1?Q?+c9wK6C9JIh1Y9Hzd/TrUDZIzAnuCESWVDp6qOCRJSgKZTRHeiL96qv31u?=
 =?iso-8859-1?Q?G2K2TM7Tf085BFAbad4nDAJYAR77Zivag/z0cB8GIpgor7ZKvF3p3pb2cq?=
 =?iso-8859-1?Q?FBJPyzJ5xE23vPAllA57DvPrdgQp7NDe4mbiffSwclzChnWUIWfSTgeRmc?=
 =?iso-8859-1?Q?n3f9EH+bv5XZnHjL8Xh5DCwszBF1z7PGl0nY0P2sXvkqr9DpOLnkFEKeAh?=
 =?iso-8859-1?Q?OGTXue8VMIukZXAzjjtMRuCANMuZjJ/c5NfwMQ=3D=3D?=
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)(38070700018)(13003099007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?y2A2V0nnZGMq9Bc2h0zIEG2KzvXAmWzr514qwbxF4mF1K0cNjfZoNALScY?=
 =?iso-8859-1?Q?3NCQr+tCyTcESBKN7kVd0+pebBUF2cHFTvYSwOjBzJxqT40E1U3rT+6vsv?=
 =?iso-8859-1?Q?qXnaTsn2cwXhKxhpC15IsvTaI5j+6MP9E9QF+UQ646SUVf1klpUa8m9gVd?=
 =?iso-8859-1?Q?jE/YU3OhQHMt3cfEwaoVkIhO1974UqRJglakCLTMnTt5Kf/Qa6YcvXKD95?=
 =?iso-8859-1?Q?Ql0Vjwpd2EcNS0FhcvrNWDPpTqJc5bq+8XWZGSGFIDsjuvJQ0zbdmDJQCE?=
 =?iso-8859-1?Q?VqAwAjhNZ1oBW1f/q4EYPwmLTsBgTMBV6PHh8D/C4U24mzFWN4G3PsRZ9E?=
 =?iso-8859-1?Q?vuRPxBlNZ8jjaOIMncDK49X3r0AnqIYWl6BKHhRwRV6/0Q+cqqIfspsWvY?=
 =?iso-8859-1?Q?j7zn5oX4Rz9nRadlZQebWWogtY3gRwxSWKwP5DMK5hoGquEuMQ7yFi6bmE?=
 =?iso-8859-1?Q?epgjSeWRoV4oZmlPefd2U+b/goqiL80y/MrJhWdV+Bb8qOhuyTWiOs/W7X?=
 =?iso-8859-1?Q?0M3qp4Fk2hhYHKtsNMjjvU4qiVtqFbffAqwU+rCqlrS/aDtTGrjZlyF1us?=
 =?iso-8859-1?Q?Ssf4oACB2AfrLp4oizRvDXBWW1kKbYjL9yidoRpS4z7ThHBOIqO89w4q/0?=
 =?iso-8859-1?Q?3GODDG45R0Qnn9uyP1ZwkCahoMxoLymBlAuZKL9T7sGPC4oZtjINBkAOhE?=
 =?iso-8859-1?Q?C8Ivho2RSEEURsa/FWPwIz+y6gLrnOBU1z1da7NLEKrVk66tscPm7b4iHr?=
 =?iso-8859-1?Q?8yqff9z6PDYThdS9SCoywwVQxBJTPaABSuj0JKP23fKSFRZCv8B21Cvibc?=
 =?iso-8859-1?Q?EGWbKNy/rqVV8PDkLp3MPqxYdZSzwRZIk6ohHW4aDwelt4Xugu1jJqBuwM?=
 =?iso-8859-1?Q?N7+LV1bbQ5/nJYF+W6I+QwlZ+m3ZTLaPRZr1IAV4DUrgPgYo3ktZ6JIgFu?=
 =?iso-8859-1?Q?kabgIpe/bwIUre47Fhcma1uAkCDEJw65ZhRRvUOiJDgmLiIs/cONiev7ty?=
 =?iso-8859-1?Q?Wx7ogVaHNRhND9uI9wjaWyeWNQ8vxLPqSaHTCYgBqOr131WzWeeOb77pD3?=
 =?iso-8859-1?Q?IfIfPnEEIkagL1fgzTmeWZP9tn3q49S15plWDCdUDIuhT7QoRcMekRSLRf?=
 =?iso-8859-1?Q?1MyeCqCLgpmgJc7RxmkLiZPuh7AVkR79ywZlSKIboB2es7jMp2NVLblBRW?=
 =?iso-8859-1?Q?V3ElenRIMrQN7Cu8aoLlbGFjEToxUHxcRjcKBLYxPT+ge6zCpX2JxpsYq1?=
 =?iso-8859-1?Q?xl8zIKSDHMx9cHt37zG7stO0ZGcyiLbeX+7ePx+5b3qokR04RsjLuvF/dW?=
 =?iso-8859-1?Q?AeBPHeJ/LDRnMnh4zJGTmGTWUhYxnYDQaxmoph9Hjh9WSwFSspxmxrVAaz?=
 =?iso-8859-1?Q?DreBCeUZ3vERZv4swJB3xJuw9jYQO+NZAWq3Tar8sNvRJD8n06LFULolv5?=
 =?iso-8859-1?Q?DXWDxXOMT/8WCBtPhYHpS5FJNpazkVoAt2H8TVya8Alr4YgHNlopvym1mY?=
 =?iso-8859-1?Q?OlDDEfsEu3RnCGw8joOXPebBvXEMZrQzvcqqPT9QIafzFSTIrfmbficNSY?=
 =?iso-8859-1?Q?6hKdaDKqV9UGBz/XfVajU5vXLT5XwbfFu5/h7LFC/gcu9C475bcAyYD6sA?=
 =?iso-8859-1?Q?fu9F92+2pvA6eEE/b2CAg/pgRMp+0KYsN3dlpdBOmJ/1qVkFFj9OqFCw?=
 =?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: b5b28693-35cc-4407-c62a-08dd6086f8d5
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:56.4411
 (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: sskKSdAF1ah7SfxsKrLz7CgDg/iui4vpsyUb9JifQKKzbb+a2ZgoUJqEUiEXKyzWU8hLkm8mdSK++p3oxr1Xmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Add support for Renesas R-Car Gen4 PCI host controller, specifically
targeting the S4 and V4H SoCs. The implementation includes configuration
read/write operations for both root and child buses. For accessing the
child bus, iATU is used for address translation.

Code common to all DesignWare PCI host controllers is located in a
separate file to allow for easy reuse in other DesignWare-based PCI
host controllers.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* move designware code in a separate file
---
 xen/arch/arm/pci/Makefile         |   2 +
 xen/arch/arm/pci/pci-designware.c | 409 ++++++++++++++++++++++++++++++
 xen/arch/arm/pci/pci-designware.h | 105 ++++++++
 xen/arch/arm/pci/pci-host-rcar4.c | 104 ++++++++
 4 files changed, 620 insertions(+)
 create mode 100644 xen/arch/arm/pci/pci-designware.c
 create mode 100644 xen/arch/arm/pci/pci-designware.h
 create mode 100644 xen/arch/arm/pci/pci-host-rcar4.c

diff --git a/xen/arch/arm/pci/Makefile b/xen/arch/arm/pci/Makefile
index 1d045ade01..ca6135e282 100644
--- a/xen/arch/arm/pci/Makefile
+++ b/xen/arch/arm/pci/Makefile
@@ -4,3 +4,5 @@ obj-y +=3D pci-host-generic.o
 obj-y +=3D pci-host-common.o
 obj-y +=3D ecam.o
 obj-y +=3D pci-host-zynqmp.o
+obj-y +=3D pci-designware.o
+obj-y +=3D pci-host-rcar4.o
diff --git a/xen/arch/arm/pci/pci-designware.c b/xen/arch/arm/pci/pci-desig=
nware.c
new file mode 100644
index 0000000000..6ab03cf9b0
--- /dev/null
+++ b/xen/arch/arm/pci/pci-designware.c
@@ -0,0 +1,409 @@
+/*
+ * Based on Linux drivers/pci/controller/pci-host-common.c
+ * Based on Linux drivers/pci/controller/pci-host-generic.c
+ * Based on xen/arch/arm/pci/pci-host-generic.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that 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/>.
+ */
+
+#include <xen/delay.h>
+#include <asm/io.h>
+
+#include "pci-designware.h"
+/**
+ * upper_32_bits - return bits 32-63 of a number
+ * @n: the number we're accessing
+ *
+ * A basic shift-right of a 64- or 32-bit quantity.  Use this to suppress
+ * the "right shift count >=3D width of type" warning when that quantity i=
s
+ * 32-bits.
+ */
+#define upper_32_bits(n) ((uint32_t)(((n) >> 16) >> 16))
+
+/**
+ * lower_32_bits - return bits 0-31 of a number
+ * @n: the number we're accessing
+ */
+#define lower_32_bits(n) ((uint32_t)((n) & 0xffffffff))
+
+static int dw_pcie_read(void __iomem *addr, int size, uint32_t *val)
+{
+    if ( !IS_ALIGNED((uintptr_t)addr, size) )
+    {
+        *val =3D 0;
+        return PCIBIOS_BAD_REGISTER_NUMBER;
+    }
+
+    if (size =3D=3D 4)
+        *val =3D readl(addr);
+    else if (size =3D=3D 2)
+        *val =3D readw(addr);
+    else if (size =3D=3D 1)
+        *val =3D readb(addr);
+    else
+    {
+        *val =3D 0;
+        return PCIBIOS_BAD_REGISTER_NUMBER;
+    }
+
+    return PCIBIOS_SUCCESSFUL;
+}
+
+static int dw_pcie_write(void __iomem *addr, int size, uint32_t val)
+{
+    if ( !IS_ALIGNED((uintptr_t)addr, size) )
+        return PCIBIOS_BAD_REGISTER_NUMBER;
+
+    if (size =3D=3D 4)
+        writel(val, addr);
+    else if (size =3D=3D 2)
+        writew(val, addr);
+    else if (size =3D=3D 1)
+        writeb(val, addr);
+    else
+        return PCIBIOS_BAD_REGISTER_NUMBER;
+
+    return PCIBIOS_SUCCESSFUL;
+}
+
+static uint32_t dw_pcie_read_dbi(struct pci_host_bridge *bridge,
+                               uint32_t reg, size_t size)
+{
+    void __iomem *addr =3D bridge->cfg->win + reg;
+    uint32_t val;
+
+    dw_pcie_read(addr, size, &val);
+    return val;
+}
+
+static void dw_pcie_write_dbi(struct pci_host_bridge *bridge,
+                            uint32_t reg, size_t size, uint32_t val)
+{
+    void __iomem *addr =3D bridge->cfg->win + reg;
+
+    dw_pcie_write(addr, size, val);
+}
+
+static uint32_t dw_pcie_readl_dbi(struct pci_host_bridge *bridge, uint32_t=
 reg)
+{
+    return dw_pcie_read_dbi(bridge, reg, sizeof(uint32_t));
+}
+
+static void dw_pcie_writel_dbi(struct pci_host_bridge *pci, uint32_t reg,
+                               uint32_t val)
+{
+    dw_pcie_write_dbi(pci, reg, sizeof(uint32_t), val);
+}
+
+static void dw_pcie_read_iatu_unroll_enabled(struct pci_host_bridge *bridg=
e)
+{
+    struct dw_pcie_priv *priv =3D bridge->priv;
+    uint32_t val;
+
+    val =3D dw_pcie_readl_dbi(bridge, PCIE_ATU_VIEWPORT);
+    if (val =3D=3D 0xffffffff)
+        priv->iatu_unroll_enabled =3D true;
+
+    printk(XENLOG_DEBUG "%s iATU unroll: %sabled\n",
+           dt_node_full_name(bridge->dt_node),
+           priv->iatu_unroll_enabled ? "en" : "dis");
+}
+
+static uint32_t dw_pcie_readl_atu(struct pci_host_bridge *pci, uint32_t re=
g)
+{
+    struct dw_pcie_priv *priv =3D pci->priv;
+    int ret;
+    uint32_t val;
+
+    ret =3D dw_pcie_read(priv->atu_base + reg, 4, &val);
+    if ( ret )
+        printk(XENLOG_ERR "Read ATU address failed\n");
+
+    return val;
+}
+
+static void dw_pcie_writel_atu(struct pci_host_bridge *pci, uint32_t reg,
+                               uint32_t val)
+{
+    struct dw_pcie_priv *priv =3D pci->priv;
+    int ret;
+
+    ret =3D dw_pcie_write(priv->atu_base + reg, 4, val);
+    if (ret)
+        printk(XENLOG_ERR "Write ATU address failed\n");
+}
+
+static uint32_t dw_pcie_readl_ob_unroll(struct pci_host_bridge *pci,
+                                        uint32_t index, uint32_t reg)
+{
+	uint32_t offset =3D PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index);
+
+	return dw_pcie_readl_atu(pci, offset + reg);
+}
+
+static void dw_pcie_writel_ob_unroll(struct pci_host_bridge *pci,
+                                     uint32_t index, uint32_t reg, uint32_=
t val)
+{
+    uint32_t offset =3D PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index);
+
+    dw_pcie_writel_atu(pci, offset + reg, val);
+}
+
+static uint32_t dw_pcie_enable_ecrc(uint32_t val)
+{
+    ASSERT_UNREACHABLE();
+    return 0;
+}
+
+static void dw_pcie_prog_outbound_atu_unroll(struct pci_host_bridge *pci,
+                                             uint8_t func_no, int index,
+                                             int type, uint64_t cpu_addr,
+                                             uint64_t pci_addr, uint64_t s=
ize)
+{
+    struct dw_pcie_priv *priv =3D pci->priv;
+    uint32_t retries, val;
+    uint64_t limit_addr =3D cpu_addr + size - 1;
+
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_LOWER_BASE,
+                             lower_32_bits(cpu_addr));
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_UPPER_BASE,
+                             upper_32_bits(cpu_addr));
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_LOWER_LIMIT,
+                             lower_32_bits(limit_addr));
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_UPPER_LIMIT,
+                             upper_32_bits(limit_addr));
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_LOWER_TARGET,
+                             lower_32_bits(pci_addr));
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_UPPER_TARGET,
+                             upper_32_bits(pci_addr));
+    val =3D type | PCIE_ATU_FUNC_NUM(func_no);
+    val =3D upper_32_bits(size - 1) ? val | PCIE_ATU_INCREASE_REGION_SIZE =
: val;
+    if (priv->version =3D=3D 0x490A)
+        val =3D dw_pcie_enable_ecrc(val);
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_REGION_CTRL1, val);
+    dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_REGION_CTRL2,
+                             PCIE_ATU_ENABLE);
+
+    /*
+     * Make sure ATU enable takes effect before any subsequent config
+     * and I/O accesses.
+     */
+    for (retries =3D 0; retries < LINK_WAIT_MAX_IATU_RETRIES; retries++)
+    {
+        val =3D dw_pcie_readl_ob_unroll(pci, index,
+                                      PCIE_ATU_UNR_REGION_CTRL2);
+        if (val & PCIE_ATU_ENABLE)
+            return;
+
+        mdelay(LINK_WAIT_IATU);
+    }
+    printk(XENLOG_ERR "Outbound iATU is not being enabled\n");
+}
+
+static void __dw_pcie_prog_outbound_atu(struct pci_host_bridge *pci,
+                                        uint8_t func_no, int index, int ty=
pe,
+                                        uint64_t cpu_addr, uint64_t pci_ad=
dr,
+                                        uint64_t size)
+{
+    struct dw_pcie_priv *priv =3D pci->priv;
+    uint32_t retries, val;
+
+    if (priv->iatu_unroll_enabled)
+    {
+        dw_pcie_prog_outbound_atu_unroll(pci, func_no, index, type,
+                                         cpu_addr, pci_addr, size);
+        return;
+    }
+
+    dw_pcie_writel_dbi(pci, PCIE_ATU_VIEWPORT,
+                       PCIE_ATU_REGION_OUTBOUND | index);
+    dw_pcie_writel_dbi(pci, PCIE_ATU_LOWER_BASE,
+                       lower_32_bits(cpu_addr));
+    dw_pcie_writel_dbi(pci, PCIE_ATU_UPPER_BASE,
+                       upper_32_bits(cpu_addr));
+    dw_pcie_writel_dbi(pci, PCIE_ATU_LIMIT,
+                       lower_32_bits(cpu_addr + size - 1));
+    if (priv->version >=3D 0x460A)
+        dw_pcie_writel_dbi(pci, PCIE_ATU_UPPER_LIMIT,
+                           upper_32_bits(cpu_addr + size - 1));
+    dw_pcie_writel_dbi(pci, PCIE_ATU_LOWER_TARGET,
+                       lower_32_bits(pci_addr));
+    dw_pcie_writel_dbi(pci, PCIE_ATU_UPPER_TARGET,
+                       upper_32_bits(pci_addr));
+    val =3D type | PCIE_ATU_FUNC_NUM(func_no);
+    val =3D ((upper_32_bits(size - 1)) && (priv->version >=3D 0x460A)) ?
+        val | PCIE_ATU_INCREASE_REGION_SIZE : val;
+    if (priv->version =3D=3D 0x490A)
+        val =3D dw_pcie_enable_ecrc(val);
+    dw_pcie_writel_dbi(pci, PCIE_ATU_CR1, val);
+    dw_pcie_writel_dbi(pci, PCIE_ATU_CR2, PCIE_ATU_ENABLE);
+
+    /*
+     * Make sure ATU enable takes effect before any subsequent config
+     * and I/O accesses.
+     */
+    for (retries =3D 0; retries < LINK_WAIT_MAX_IATU_RETRIES; retries++)
+    {
+        val =3D dw_pcie_readl_dbi(pci, PCIE_ATU_CR2);
+        if (val & PCIE_ATU_ENABLE)
+            return;
+
+        mdelay(LINK_WAIT_IATU);
+    }
+    printk(XENLOG_ERR "Outbound iATU is not being enabled\n");
+}
+
+static void dw_pcie_prog_outbound_atu(struct pci_host_bridge *pci, int ind=
ex,
+                                      int type, uint64_t cpu_addr,
+                                      uint64_t pci_addr, uint64_t size)
+{
+    __dw_pcie_prog_outbound_atu(pci, 0, index, type,
+                                cpu_addr, pci_addr, size);
+}
+
+void dw_pcie_set_version(struct pci_host_bridge *bridge, unsigned int vers=
ion)
+{
+    struct dw_pcie_priv *priv =3D bridge->priv;
+
+    priv->version =3D version;
+}
+
+void __iomem *dw_pcie_child_map_bus(struct pci_host_bridge *bridge,
+                                         pci_sbdf_t sbdf, uint32_t where)
+{
+    uint32_t busdev;
+
+    busdev =3D PCIE_ATU_BUS(sbdf.bus) | PCIE_ATU_DEV(PCI_SLOT(sbdf.devfn))=
 |
+        PCIE_ATU_FUNC(PCI_FUNC(sbdf.devfn));
+
+    /* FIXME: Parent is the root bus, so use PCIE_ATU_TYPE_CFG0. */
+    dw_pcie_prog_outbound_atu(bridge, PCIE_ATU_REGION_INDEX1,
+                              PCIE_ATU_TYPE_CFG0,
+                              bridge->child_cfg->phys_addr,
+                              busdev, bridge->child_cfg->size);
+
+    return bridge->child_cfg->win + where;
+}
+
+int dw_pcie_child_config_read(struct pci_host_bridge *bridge,
+                                   pci_sbdf_t sbdf, uint32_t reg,
+                                   uint32_t len, uint32_t *value)
+{
+    struct dw_pcie_priv *priv =3D bridge->priv;
+    int ret;
+
+    /*
+     * FIXME: we cannot read iATU settings at the early initialization
+     * (probe) as the host's HW is not yet initialized at that phase.
+     * This read operation is the very first thing Domain-0 will do
+     * during its initialization, so take this opportunity and read
+     * iATU setting now.
+     */
+    if ( unlikely(!priv->iatu_unroll_initilized) )
+    {
+        dw_pcie_read_iatu_unroll_enabled(bridge);
+        priv->iatu_unroll_initilized =3D true;
+    }
+
+    ret =3D pci_generic_config_read(bridge, sbdf, reg, len, value);
+    if ( !ret && (priv->num_viewport <=3D 2) )
+        dw_pcie_prog_outbound_atu(bridge, PCIE_ATU_REGION_INDEX1,
+                                  PCIE_ATU_TYPE_IO,
+                                  bridge->child_cfg->phys_addr,
+                                  0, bridge->child_cfg->size);
+
+    return ret;
+}
+
+int dw_pcie_child_config_write(struct pci_host_bridge *bridge,
+                                    pci_sbdf_t sbdf, uint32_t reg,
+                                    uint32_t len, uint32_t value)
+{
+    struct dw_pcie_priv *priv =3D bridge->priv;
+    int ret;
+
+    ret =3D pci_generic_config_write(bridge, sbdf, reg, len, value);
+    if ( !ret && (priv->num_viewport <=3D 2) )
+        dw_pcie_prog_outbound_atu(bridge, PCIE_ATU_REGION_INDEX1,
+                                  PCIE_ATU_TYPE_IO,
+                                  bridge->child_cfg->phys_addr,
+                                  0, bridge->child_cfg->size);
+    return ret;
+}
+
+bool __init dw_pcie_child_need_p2m_hwdom_mapping(struct domain *d,
+                                               struct pci_host_bridge *bri=
dge,
+                                               uint64_t addr)
+{
+    struct pci_config_window *cfg =3D bridge->child_cfg;
+
+    /*
+     * We do not want ECAM address space to be mapped in Domain-0's p2m,
+     * so we can trap access to it.
+     */
+    return cfg->phys_addr !=3D addr;
+}
+
+struct pci_host_bridge * __init
+dw_pcie_host_probe(struct dt_device_node *dev, const void *data,
+                   const struct pci_ecam_ops *ops,
+                   const struct pci_ecam_ops *child_ops)
+{
+
+    struct pci_host_bridge *bridge;
+    struct dw_pcie_priv *priv;
+
+    paddr_t atu_phys_addr;
+    paddr_t atu_size;
+    int atu_idx, ret;
+
+    bridge =3D pci_host_common_probe(dev, ops, child_ops, sizeof(*priv));
+    if ( IS_ERR(bridge) )
+        return bridge;
+
+    priv =3D bridge->priv;
+
+    atu_idx =3D dt_property_match_string(dev, "reg-names", "atu");
+    if ( atu_idx < 0 )
+    {
+        printk(XENLOG_ERR "Cannot find \"atu\" range index in device tree\=
n");
+        return ERR_PTR(atu_idx);
+    }
+    ret =3D dt_device_get_address(dev, atu_idx, &atu_phys_addr, &atu_size)=
;
+    if ( ret )
+    {
+        printk(XENLOG_ERR "Cannot find \"atu\" range in device tree\n");
+        return ERR_PTR(ret);
+    }
+    printk("iATU at [mem 0x%" PRIpaddr "-0x%" PRIpaddr "]\n",
+           atu_phys_addr, atu_phys_addr + atu_size - 1);
+    priv->atu_base =3D ioremap_nocache(atu_phys_addr, atu_size);
+    if ( !priv->atu_base )
+    {
+        printk(XENLOG_ERR "iATU ioremap failed\n");
+        return ERR_PTR(ENXIO);
+    }
+
+    if ( !dt_property_read_u32(dev, "num-viewport", &priv->num_viewport) )
+        priv->num_viewport =3D 2;
+
+    /*
+     * FIXME: we cannot read iATU unroll enable now as the host bridge's
+     * HW is not yet initialized by Domain-0: leave it for later.
+     */
+
+    printk(XENLOG_INFO "%s number of view ports: %d\n", dt_node_full_name(=
dev),
+           priv->num_viewport);
+
+    return bridge;
+}
diff --git a/xen/arch/arm/pci/pci-designware.h b/xen/arch/arm/pci/pci-desig=
nware.h
new file mode 100644
index 0000000000..f00ebc6be4
--- /dev/null
+++ b/xen/arch/arm/pci/pci-designware.h
@@ -0,0 +1,105 @@
+/*
+ * Based on Linux drivers/pci/controller/pci-host-common.c
+ * Based on Linux drivers/pci/controller/pci-host-generic.c
+ * Based on xen/arch/arm/pci/pci-host-generic.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that 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/>.
+ */
+
+#include <xen/pci.h>
+#include <xen/init.h>
+
+#ifndef __PCI_DESIGNWARE_H__
+#define __PCI_DESIGNWARE_H__
+
+#define PCIBIOS_SUCCESSFUL              0x00
+#define PCIBIOS_BAD_REGISTER_NUMBER     0x87
+
+#define PCIE_ATU_VIEWPORT               0x900
+#define PCIE_ATU_REGION_OUTBOUND        0
+#define PCIE_ATU_CR1                    0x904
+#define PCIE_ATU_INCREASE_REGION_SIZE   BIT(13, UL)
+#define PCIE_ATU_CR2                    0x908
+#define PCIE_ATU_ENABLE                 BIT(31, UL)
+#define PCIE_ATU_LOWER_BASE             0x90C
+#define PCIE_ATU_UPPER_BASE             0x910
+#define PCIE_ATU_LIMIT                  0x914
+#define PCIE_ATU_LOWER_TARGET           0x918
+#define PCIE_ATU_UPPER_TARGET           0x91C
+#define PCIE_ATU_UPPER_LIMIT            0x924
+
+#define PCIE_ATU_REGION_INDEX1  0x1
+#define PCIE_ATU_TYPE_IO        0x2
+#define PCIE_ATU_TYPE_CFG0      0x4
+
+#define FIELD_PREP(_mask, _val) \
+    (((typeof(_mask))(_val) << (ffs64(_mask) - 1)) & (_mask))
+
+#define PCIE_ATU_BUS(x)         FIELD_PREP(GENMASK(31, 24), x)
+#define PCIE_ATU_DEV(x)         FIELD_PREP(GENMASK(23, 19), x)
+#define PCIE_ATU_FUNC(x)        FIELD_PREP(GENMASK(18, 16), x)
+
+/* Register address builder */
+#define PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(region) \
+    ((region) << 9)
+
+/*
+ * iATU Unroll-specific register definitions
+ * From 4.80 core version the address translation will be made by unroll
+ */
+#define PCIE_ATU_UNR_REGION_CTRL1       0x00
+#define PCIE_ATU_UNR_REGION_CTRL2       0x04
+#define PCIE_ATU_UNR_LOWER_BASE         0x08
+#define PCIE_ATU_UNR_UPPER_BASE         0x0C
+#define PCIE_ATU_UNR_LOWER_LIMIT        0x10
+#define PCIE_ATU_UNR_LOWER_TARGET       0x14
+#define PCIE_ATU_UNR_UPPER_TARGET       0x18
+#define PCIE_ATU_UNR_UPPER_LIMIT        0x20
+
+#define PCIE_ATU_FUNC_NUM(pf)           ((pf) << 20)
+
+/* Parameters for the waiting for iATU enabled routine */
+#define LINK_WAIT_MAX_IATU_RETRIES      5
+#define LINK_WAIT_IATU                  9
+
+struct dw_pcie_priv
+{
+    uint32_t num_viewport;
+    bool iatu_unroll_initilized;
+    bool iatu_unroll_enabled;
+    void __iomem *atu_base;
+    unsigned int version;
+};
+
+void dw_pcie_set_version(struct pci_host_bridge *bridge, unsigned int vers=
ion);
+
+void __iomem *dw_pcie_child_map_bus(struct pci_host_bridge *bridge,
+                                    pci_sbdf_t sbdf, uint32_t where);
+
+int dw_pcie_child_config_read(struct pci_host_bridge *bridge,
+                              pci_sbdf_t sbdf, uint32_t reg,
+                              uint32_t len, uint32_t *value);
+
+int dw_pcie_child_config_write(struct pci_host_bridge *bridge,
+                               pci_sbdf_t sbdf, uint32_t reg,
+                               uint32_t len, uint32_t value);
+
+bool __init dw_pcie_child_need_p2m_hwdom_mapping(struct domain *d,
+                                                 struct pci_host_bridge *b=
ridge,
+                                                 uint64_t addr);
+
+struct pci_host_bridge * __init
+dw_pcie_host_probe(struct dt_device_node *dev, const void *data,
+                   const struct pci_ecam_ops *ops,
+                   const struct pci_ecam_ops *child_ops);
+#endif /* __PCI_DESIGNWARE_H__ */
diff --git a/xen/arch/arm/pci/pci-host-rcar4.c b/xen/arch/arm/pci/pci-host-=
rcar4.c
new file mode 100644
index 0000000000..f6ae3c5685
--- /dev/null
+++ b/xen/arch/arm/pci/pci-host-rcar4.c
@@ -0,0 +1,104 @@
+/*
+ * Based on Linux drivers/pci/controller/pci-host-common.c
+ * Based on Linux drivers/pci/controller/pci-host-generic.c
+ * Based on xen/arch/arm/pci/pci-host-generic.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that 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/>.
+ */
+
+#include <xen/init.h>
+#include <xen/pci.h>
+
+#include <asm/device.h>
+#include <asm/io.h>
+#include <asm/pci.h>
+
+#include "pci-designware.h"
+
+#define RCAR4_DWC_VERSION       0x520A
+
+/*
+ * PCI host bridges often have different ways to access the root and child
+ * bus config spaces:
+ *   "dbi"   : the aperture where root port's own configuration registers
+ *             are available.
+ *   "config": child's configuration space
+ *   "atu"   : iATU registers for DWC version 4.80 or later
+ */
+static int __init rcar4_cfg_reg_index(struct dt_device_node *np)
+{
+    return dt_property_match_string(np, "reg-names", "dbi");
+}
+
+static int __init rcar4_child_cfg_reg_index(struct dt_device_node *np)
+{
+    return dt_property_match_string(np, "reg-names", "config");
+}
+
+/* ECAM ops */
+const struct pci_ecam_ops rcar4_pcie_ops =3D {
+    .bus_shift  =3D 20,
+    .cfg_reg_index =3D rcar4_cfg_reg_index,
+    .pci_ops    =3D {
+        .map_bus                =3D pci_ecam_map_bus,
+        .read                   =3D pci_generic_config_read,
+        .write                  =3D pci_generic_config_write,
+        .need_p2m_hwdom_mapping =3D pci_ecam_need_p2m_hwdom_mapping,
+    }
+};
+
+const struct pci_ecam_ops rcar4_pcie_child_ops =3D {
+    .bus_shift  =3D 20,
+    .cfg_reg_index =3D rcar4_child_cfg_reg_index,
+    .pci_ops    =3D {
+        .map_bus                =3D dw_pcie_child_map_bus,
+        .read                   =3D dw_pcie_child_config_read,
+        .write                  =3D dw_pcie_child_config_write,
+        .need_p2m_hwdom_mapping =3D dw_pcie_child_need_p2m_hwdom_mapping,
+    }
+};
+
+static const struct dt_device_match __initconstrel rcar4_pcie_dt_match[] =
=3D
+{
+    { .compatible =3D "renesas,r8a779f0-pcie" },
+    { .compatible =3D "renesas,r8a779g0-pcie" },
+    { },
+};
+
+static int __init pci_host_generic_probe(struct dt_device_node *dev,
+                                         const void *data)
+{
+    struct pci_host_bridge *bridge;
+
+    bridge =3D dw_pcie_host_probe(dev, data, &rcar4_pcie_ops,
+                                &rcar4_pcie_child_ops);
+
+    dw_pcie_set_version(bridge, RCAR4_DWC_VERSION);
+
+    return 0;
+}
+
+DT_DEVICE_START(pci_gen, "PCI HOST R-CAR GEN4", DEVICE_PCI_HOSTBRIDGE)
+.dt_match =3D rcar4_pcie_dt_match,
+.init =3D pci_host_generic_probe,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907711.1314929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnO-0004hX-02; Tue, 11 Mar 2025 10:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907711.1314929; Tue, 11 Mar 2025 10:25: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 1trwnN-0004h1-Lh; Tue, 11 Mar 2025 10:25:09 +0000
Received: by outflank-mailman (input) for mailman id 907711;
 Tue, 11 Mar 2025 10: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnM-0004Ad-1i
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a5a1c27-fe63-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 11:25:07 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:57 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:24: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: 1a5a1c27-fe63-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OeZCKa7NTPaalODffIpVPZxyubtbDkfmnybRmNGuy+ri0kcxKqOS5xNZQIEGy8/FqyeE3d2iV22W8we8y/G3b3NX1vK9xhEVpHy07lOF7cBkdoHBdySt1GCf98cpB/4F9e8/Ws2a+mlQx+L7INz7i/Wo92UPPJdOUuaWv3WJhpXh35Bb/f98GghY1R0xkxPp7Y+Rc7VUzlGle5qzWo3MLVhSOvck8xrA1Vc+S7b81fS6p4czEXrqUrNA4OA9gPBoccfbNMbzf4oSFtMs64a7ViFOrJQLsnPS6ZwcMgseyDE37yfPnX6BwcM0m6r3bFfIXoPFV6WNL3Bb+VW5e1LXHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jHsx4IPGUNnEssavxJhbxu4YzgwEQR4y4pjAfnqiIiU=;
 b=CAWtxwFyVWm+L8ZGXt/z7/lxl0mooQMfHIsKZW7UH8yTkXwzw1tS+kvpbLWTOfb61FQBxEDaR7sKgvD3paQNf2I2gxPtDPu1en6juokZKxsaSdYFPcU258Uabr4FRGpLAlhUVQ1d466yzAs2SOXO4NSH1Gmn0g3jwnvL8oBjgw1YRVShFUpUgC6IFn41iIjjW6ILMnw5EG+IzmK3f0ThpcywgQC67ePUVGoRjXwAzctydK8+z/MiYy+xJNyDImkKr/O8hUKJROX4hEmX3RQmCss9sZQi+0FaTI9AWMiIhehvfdz4VadLde9BMw8IZyjESwjjg0Z5sPQPxf64nnLDBg==
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=jHsx4IPGUNnEssavxJhbxu4YzgwEQR4y4pjAfnqiIiU=;
 b=GKrRwYRvHyM9HAeJHswhToy89qvcugDEgk+gKu8E0yKnIQ1aV/ITTjtrRaJgYpOlbTzyfp4ZFxVhVi3Ab1TMBXlTpImcwA5Kr9iYSUNz/E+gt1iJ/Zo1Bp1Oe3tCN7rwxVPgKiVnk1qCMHk5oxkalUsl8OXsbkAELCbh/W1Mw82clfAIXmyu6D1IkT7Z5TECynCqKpLoYGrgoFx4Nctdc5oGNS5+adEjC6Vth7N9XJtaZpQh0mdwDRpUmAgI1HS9yEh3uFHkFum42LPZgrCW7VqYxCzElGCDNDk+E8/iD4aChQF9yfRrkrrmTDnKcuzl6o+5jRASJwmIURsmi6YgTg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <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>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 5/7] xen/arm: rcar4: add delay after programming ATU
Thread-Topic: [PATCH v2 5/7] xen/arm: rcar4: add delay after programming ATU
Thread-Index: AQHbkm/V+s7gEh8jVE2kSVeMpYb04g==
Date: Tue, 11 Mar 2025 10:24:56 +0000
Message-ID:
 <9cd78a64dde2e0a039919a08025abaa89d63966c.1741596512.git.mykyta_poturai@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: 446d29ff-4a12-44ae-44a4-08dd6086f902
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?ULJyjMejd8A8v8/hbedXMoqoa7VZHsjkbOVOXYDu+V0CQ7qb/pkfqIJLwv?=
 =?iso-8859-1?Q?h3Prljx+pPfZ+Z+uFanBcn5M22j/fDBrTKztuM38aNC/woPSEHzYcK+QTo?=
 =?iso-8859-1?Q?gH/lQStxxg8ubEUYev9zme5tMMCL0fSGBIQ+bMINayoOlot1CCnS2bGw8I?=
 =?iso-8859-1?Q?vVUfUKxG5SDKc01TPEZRDxXoZS2TKMJXyyjy1EDRNGC3gLzH9iuICdfnr6?=
 =?iso-8859-1?Q?gDpeE1KqK8LfU+BK7k7X1pslQCmsaVTrTf6jhj05UOfRZMd0UDQDEph2QE?=
 =?iso-8859-1?Q?Q7oQ+mrV5UKxNUpMRMHTwV+yT3ceqQzldNEF6O27odGjkNAmiLvoI2uhPS?=
 =?iso-8859-1?Q?izMDjYwk6aEPGwFz/37r8Wav2x/SDx0U6onmYRcapGWDbLtz3G51s8TZ3V?=
 =?iso-8859-1?Q?y6CXh8EbFmyedr3dx1vfJAUQrYE2MkBql+JmEVA6IOJ0G9xqHB8VaJKzW4?=
 =?iso-8859-1?Q?b0YRD3NuUGSxivcshCTG6Qr+a35okh1QKaJzpk1VIDZELQwQ9V9Lk/pXNR?=
 =?iso-8859-1?Q?Jg+FD3/avnSpQM+CIdcRLrfNd3LA3ohTTpj2sZgkZjddyUlafbhZuINC9P?=
 =?iso-8859-1?Q?IpQYuVmdSfksXvnG+DkWjSuc1C0ia6n30fFuRY5bGi4XukYbjnSD5v8JQt?=
 =?iso-8859-1?Q?yFYlk8+8EVrXxfDH0a8+DPuqXQNBZsYHg0/vCs8wHzHAHYwMmh6l5ZyI7u?=
 =?iso-8859-1?Q?DPfsOvBoHbGBrIfOCA9XndfjGQG2WJh7NhN/uJJ1DvLDWXWfRqR7gmS3q0?=
 =?iso-8859-1?Q?wZuc+7C4qxiVWFtRtSoSZRrR71I9jdENLibjBjD9d5lWbmdrRCfrdXNP4U?=
 =?iso-8859-1?Q?eHXmDsySpwyx9TZ/u2/kiWGz6v7DzhnSYjJWyOHhynRRUVDKCiKCcda999?=
 =?iso-8859-1?Q?3DM5sLnaJAtWb0MNEdkHiowmbcHx+frU2QeOAQL8bbpmkxYLMGbabqyxJw?=
 =?iso-8859-1?Q?kykcz5jz7LE6UBzXzq8+Re8N1mv+6WAZEguWtrGJScnyFm3OlAHuBLk/2r?=
 =?iso-8859-1?Q?5Y7fDrIasJwat0vGU/LhSr85Z4G4rDaEyb4voGkWYw9m7nqbumJg+5fSL9?=
 =?iso-8859-1?Q?mQrURT8jjf+Lgnf2CG2GMgPWbcuFbZUG6ZvDsHrUEQqM1tv0zEJUqkmtDy?=
 =?iso-8859-1?Q?vlNe9/AjKjP/ndGnRBPeros040hshqXMj90AiovR57pdz2Vw2WZPsyl8ul?=
 =?iso-8859-1?Q?TAQbbgCbjL0xQKYFYTsNfBBK72Vj1mQITI/jBGc0SQrnwFnL9G46+5kkc4?=
 =?iso-8859-1?Q?BrUAVi7a7cf69h+LWZ2ra/jdSIJY/kVsQASG2W8wAS1z3mrq49jMJ3CU8u?=
 =?iso-8859-1?Q?Exk/NIkrua7yWfk0IkwO8kg5XJJDap00L8j2vZW+Lc0IjOJwSmL/BO7pz6?=
 =?iso-8859-1?Q?bxn9ip8J57dpTLx65+X+W+SA8uajNGcsedRYJToghc/+rwSvyzlDXuAREL?=
 =?iso-8859-1?Q?DmdoQjr20j6WXN9vyQtZnbnJjYfOkgCelteIeGyxI7j2LulMsCXO3BDW2/?=
 =?iso-8859-1?Q?ePA8j4PpfYyyQekpo35LJV?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?VbwCsf97UrpjouCUy+X62GBSISjeaNyMe+WBRUaD3BKawG+CWVCmzs/ZaH?=
 =?iso-8859-1?Q?rARnGHHwyqpVkLD0TKyVB59Adl0IdoZY+W6ms8kDVqg7rmvneljnUyjJ0n?=
 =?iso-8859-1?Q?8EvJdO9kUinXqN7O95AcAsIg2kkTXtnDeCv+uIcb4McdEApHj70Yuk8AsT?=
 =?iso-8859-1?Q?6uZhqm7fYJD74qS3dcwjyyDKDaKdMyeMJtpVU2zuwM1MoWk5XQOovWkmAm?=
 =?iso-8859-1?Q?sRXEaWuH3LIkxtJnsB4IwM/IPMaQY0ibaEkMhVGW48U45SzAvJsqZHQPcv?=
 =?iso-8859-1?Q?KjjvWIhJStiZS0toHvG9D+74v7Xl9ORQxSZLgyCOzVKrtKvIsgpe3XtHkc?=
 =?iso-8859-1?Q?8OrYeueSeJO6SSq+rL26XUWQRN3CQSGq8XE4gQQYt/Zng76J4uYbgOVexI?=
 =?iso-8859-1?Q?qRWdGHyTdRT7mbt3EHxO350Ck7jbRJ8cm/WMe/6i/L1IdarbiSiYhZhgla?=
 =?iso-8859-1?Q?tLj30fRK4Q2//00aaLyNNUFSL8NWKHO1nM/mCq4ey3VrT0obf7C0aLp2Nm?=
 =?iso-8859-1?Q?DkdzL5uIq99Wdk+r1GpjkbbocHT2fFbIURc/eAWRoR5NRHrFWPCCdCZrD6?=
 =?iso-8859-1?Q?Dg/EJdAFPpYnD/96hlt3cBtvhupgvMc6J9MwnFylhceU84DwY1g4f/SuUV?=
 =?iso-8859-1?Q?lK8ITPIsz3Th4ZIFk3Kcoq9QADABTCcKBQKodsbhlrMTsZIQYAFyXPJCyo?=
 =?iso-8859-1?Q?ESGAhhVtHMenYBcVFNSu5TIqY6b8w/1/gtkb9B4bjXPXugrfibVh6TAqar?=
 =?iso-8859-1?Q?fYcIJQFjF6uxrBmGyc7dWn4iGct4NEZ3QZpeEihmiK+Q1yaHg9kwlVJ+gi?=
 =?iso-8859-1?Q?Yga4zGz+97heFX9p1kDjLOnMOM8R64Teg1sC6qE4pttLezYI6rOEvm78UJ?=
 =?iso-8859-1?Q?Er6ALmR6qQX3DgEGWexqZwR+VSPZp0cFRMjNiwCWQuf8INRkkYHADFfPfS?=
 =?iso-8859-1?Q?Wbu1HGBrqB1q9XZmudVa5yb4EuhtMT+guRrL+DvAtWiWf6fR48e67uShCq?=
 =?iso-8859-1?Q?HpgAkZuKwmw3YMiGEGwcg8tlcJYLiXpSjzufj7buP2WfVooipsXAx/N6Z2?=
 =?iso-8859-1?Q?oKlqpkPyBoV6c5+MiVbGtHXHYi6F5aqv81iwOIxVKcc/Rw3bPOotkEBERM?=
 =?iso-8859-1?Q?fwoQIHjxyo0GFljtWVHonSmZYG1OdR85eDzTDiJPHrqrRRn7wOgaMJdaQO?=
 =?iso-8859-1?Q?XCHCQ7HW+JSYSn8AmEXAa/VFJfRRKg/VL280sNkMJlePl1fWbKJtTO7qFS?=
 =?iso-8859-1?Q?+8THfw00WB5MHbCBZlFV5hX5T8uuBynWAkBC+Kk5cYkUg6/jF2vbvm1w06?=
 =?iso-8859-1?Q?ln2MPPfbYKiZqlgBJi/u3o9/Y1ns1tUokDBIOCSU/3PrN89WsDkLyIPFJg?=
 =?iso-8859-1?Q?RQP32OsiehXL5XGnByzBqu0nLzgk3uLJrepUnA9bP8LjL09Fd7O8aNqNxR?=
 =?iso-8859-1?Q?/aBXrdtttmZQUliWAYzz9XIZ9w8/JRJY2+Grn7HFo8HZYhzMRSxQhO+bEi?=
 =?iso-8859-1?Q?to98xiyu6sJDkto5QOXnX/CIr1WPEHCfIg7d7DvYLcKYu1tYSoXvsoLTmd?=
 =?iso-8859-1?Q?lUti7eGUlaNhN7onN36ExNUn84gIR9s2vDidapfkYpkw+qnJrUdvQ6UOfR?=
 =?iso-8859-1?Q?OTuPqaGR+xKGnH9ZL6w7Nla6vqFak+YutNuW81uCcg4aud+7ubfRVvBw?=
 =?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: 446d29ff-4a12-44ae-44a4-08dd6086f902
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:56.6931
 (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: fi/M4T3LWXxuhX6tBs/pc4e9GpPwJkWtXZmWUFbJ78+VMcTWwimcoT2egnnqeFZnpNHHoVOzrQufX22xYpnsQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

For some reason, we need a delay before accessing ATU region after
we programmed it. Otherwise, we'll get erroneous TLP.

There is a code below, which should do this in proper way, by polling
CTRL2 register, but according to documentation, hardware does not
change this ATU_ENABLE bit at all.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* rebased
---
 xen/arch/arm/pci/pci-designware.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/arm/pci/pci-designware.c b/xen/arch/arm/pci/pci-desig=
nware.c
index 6ab03cf9b0..def2c12d63 100644
--- a/xen/arch/arm/pci/pci-designware.c
+++ b/xen/arch/arm/pci/pci-designware.c
@@ -194,6 +194,11 @@ static void dw_pcie_prog_outbound_atu_unroll(struct pc=
i_host_bridge *pci,
     dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_REGION_CTRL2,
                              PCIE_ATU_ENABLE);
=20
+    /*
+     * HACK: We need to delay there, because the next code does not
+     * work as expected on S4
+     */
+    mdelay(1);
     /*
      * Make sure ATU enable takes effect before any subsequent config
      * and I/O accesses.
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907712.1314933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnO-0004qs-Ec; Tue, 11 Mar 2025 10:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907712.1314933; Tue, 11 Mar 2025 10:25: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 1trwnO-0004nf-6F; Tue, 11 Mar 2025 10:25:10 +0000
Received: by outflank-mailman (input) for mailman id 907712;
 Tue, 11 Mar 2025 10:25: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnN-0004Ad-0g
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:09 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1aa572ae-fe63-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 11:25:07 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:55 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:24: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: 1aa572ae-fe63-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bV1VU5IwbSdHzZVZ/KCFaR7fJwliTUBwx66Uoam/AfGrr3OI9UUKQoCIlu5q252x8vUSM0PVfRn1et6NwcPfsDbgJ3pgu/vWV3sodfS3v+DL71YuipWHRCKL+CKwB6I2JPJmAJF34ar/WXjhgBBzutLJTsqShZAmos/vEbO+hlfV+tuiVQmr9TBDfnFca3jVrh7PbQwA3MEejkvi8n9OsCikkF3tYmcrr3RpsWZZyf2Ez5UkmKAStMMt2XOh5UsOacZ1S8sxRebYA+4joU1XY/hPuGIzBP5HhRgvMpd5aCpBoCWC0lhPIrYqU8lSuJon4Wo0I++G6a/ErJSddD+Rsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mhQZ1hinwog35mTTs1CSCcB5FM3Syg9JkGX4kmvajxM=;
 b=T3DmeOZ0TWEQd+TTATCM15Kduntb2g5Es+YIPXkOyiU7TGVqGoBnZzGsS0Y8BXN4euC03hpp9+iXtL0HrLgPhP/muo6p412j05Tvk3U0ekeyZ1OFqdjiH38Tt11HmtVopeMY5In3b1YrWxQIIoclE2Wl+RqJw6YWPha0hMMp1fbC6cp/izSmTRwHbK4gV6IxmdhpxvXyAJ03fknLyNT9drukHvLXfY/rn7FKbjCA8btBW+qvTLjtb0rUSr16MMo//5aT2SL7VB86OYd5gVIWauYVeWuF/kX8dUcwCgEYXhyfpmzraC5fzamziM9WRZK5vR5VYuL+THPF9kT12hxh4A==
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=mhQZ1hinwog35mTTs1CSCcB5FM3Syg9JkGX4kmvajxM=;
 b=tHCTLtU3IfWXSf/7ar0EUnbsqMXDfKUeR7ludItPtP9+sUEcU+2HBHarxvWo9t3PMvSMSa7fhq5PJ7pqYCRJqzBBiTwLdkx+rm2fP50DxZKnk9qYdzV3uSzr9LxzN0TdbSiGoMX0P8pbGe7xHJgrNW2NwPAzI/kS/OdVhJ25uMMUt41K/Wz77p2LalW3P5cKferjzF3Ym3wRaMReX2DsKqIlmSOAmLIjAopaEgj4/fzZDQsTUkPTcUow6is/85kmbcwAUWNgRvCVWu8F0WK7G+FOHBaWj7yGz/LXHR4dSnf38x2edTzqd7aPyoeZBD2qzQBkyb0FU6LYZxe0wpTvmg==
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 0/7] Add support for R-Car Gen4 PCI host controller
Thread-Topic: [PATCH v2 0/7] Add support for R-Car Gen4 PCI host controller
Thread-Index: AQHbkm/U1faza3W2FU6EMBfK4RuJBQ==
Date: Tue, 11 Mar 2025 10:24:54 +0000
Message-ID: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: 87e3711b-c02a-49bb-fb5a-08dd6086f75b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?BhluE1x7PqfeSHFRtJAQdLe9Q5kiv4hOFwc8auc0a3CLJE57bemnbOrpqa?=
 =?iso-8859-1?Q?HHaCj0WnApKo2cTC4RfxIxnxXlSCwvL0iom/pgk1oK6vubRzjV6LI00N7W?=
 =?iso-8859-1?Q?EMfEOvo1w6vy0NkJAWnjg9reQGvOevejfzZf8qjp7qcOSgq4VLzIBISLzW?=
 =?iso-8859-1?Q?b//BOSGz13t900UQSl1gJdUH1T4Q4sVUlzwgwYZLApBNEmuqhxJqfc5RKZ?=
 =?iso-8859-1?Q?jXGoD4R1TnBwQKAHqKe8g94wqZm0JogFBw1VTayPNXA0ORjvbAL5vAOS+7?=
 =?iso-8859-1?Q?vI70/P5jQaMlaWShqG22KabGdlrJY+7klc7OUrPPOaMvFiuFzcnlzGKw2X?=
 =?iso-8859-1?Q?AfF+a1ey3jNS4UAeMGiAhsH+Kv8cT5QJqGvekvKAlbX1RM/UPx9nKqP5HE?=
 =?iso-8859-1?Q?Gpt+Iw9PEhTlEujDSCa6TJSlAdiOQsTX5vZ+D16mszw0kz4uZRnxqMENus?=
 =?iso-8859-1?Q?giQFpSoVhZWl2k6B/clr0B1dgWhO8I127j41VyDJ3fMJW9T8bLfFia09wM?=
 =?iso-8859-1?Q?11ch/+T0m+cCU3UtVmjCsFRxoutFDCE4s9FInvMpoZ5S28b7ESWM2wzvYK?=
 =?iso-8859-1?Q?tMurnXJ9UWMHJVIeQKtPzKrEr/j8VBynn87zs1FyHTQCjv9Q5lo5gyZ+Ro?=
 =?iso-8859-1?Q?AZA80MgiSjVd6tJOE0yJFPyzPMyGzfHQolybzUnlAGSmcVNLozGeG7lB9S?=
 =?iso-8859-1?Q?y246O4k64E6PzF9qjHvpBSPv9NateNPak45AKnpvQc3BGE15YHVVeTaxki?=
 =?iso-8859-1?Q?oIWTrSh8AanmIQ2CAOQGVEqPWWSss1RS79zzr8tkHxcxf3WGVV/WeiHkkt?=
 =?iso-8859-1?Q?F0/nMF03vysmFLGAYrTpEr3BugrREq5vKH8n4i7hThs6fZ7ZxOERXz8AsN?=
 =?iso-8859-1?Q?230yZYbErj1SwqE4Ko332L/VbG/LGdZhJ7j2+5rZGxzlo0FKmxa3LJfTpl?=
 =?iso-8859-1?Q?2Nl/Ne3SCi/xSgY+4+vLUg0mHwVKyeFbAbItRxe1zRjX8zoetKHulU6Au0?=
 =?iso-8859-1?Q?uuz+pAWjeF4GPSevZEAqw/v5UTegTPt2naxpzAosLLgd06HJW0Lh019dh3?=
 =?iso-8859-1?Q?SaqeMc1iyOcekutEDoYLFcwfp4SEE0gD1KiciajPPtHGe33cIqEBhRZlI4?=
 =?iso-8859-1?Q?PEdy04WbromYI5abq901gBWMu1+Y96fACepcn02ABPlNf9HZ1PUUcjEBCW?=
 =?iso-8859-1?Q?FKZGsVpoJVEluIun4OYuVnaumRhImaqQbJhXas2j/Fps0HE0iKhGIMr38P?=
 =?iso-8859-1?Q?3VKk+jUdtIu+oQHxO9lw4SBizzF/aAAaw8MXV9RNz9UfiaAFnDQkQwLPiT?=
 =?iso-8859-1?Q?0H64M9tZWJeRwhrNu+ehXtVqc0AqpCdceheJ8YmEJ30qQ0bkMg0arf4DVN?=
 =?iso-8859-1?Q?vnh2kiTXzLXxzPrT54EJx/bQXnZY8+fhzl2zFdkzorisVj2Zuv7RkerWRP?=
 =?iso-8859-1?Q?YS8x62xInA0FhX+xuvSzth161+eZulYzirZvdcLUrfbWcVuQHiY9AKLyBK?=
 =?iso-8859-1?Q?yz2bWHu5qVGKdjzQntLsnk?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?pDe+j0DBUhKMDFVgwK6sHsRv3kromsWcPwhJZYvVI+uCS4y1KsGwbzOXf2?=
 =?iso-8859-1?Q?WcK3S5QVJOUUqzkFH0NuW/1c4XTBGAxaFc2KV0AyITnBrg0fmQPAk33KJM?=
 =?iso-8859-1?Q?lS1oLybU6HnAYUwmYkxT1KUqnnhcOSHBCAvTdPMyL+laqwLcjusak31qmL?=
 =?iso-8859-1?Q?x+YMl7NgBu+9b2lpp3eAZGOH/U9Ep231pg6MgbCxT3rermX9jswpRnItjb?=
 =?iso-8859-1?Q?UUoLGn4SQjzDjPveTc1Bsc7vl9bAcnPpMJ3YBzk5PMKXSnxjXNnhzV4EOI?=
 =?iso-8859-1?Q?5M7+dQbSRdxldvCNZowJPIbZqwaKvA5Y8BXhu8h1X0js/laXS02+bOuqKJ?=
 =?iso-8859-1?Q?yvewBmuiUNu89BizHBEftK3amaezTxNtgG9+Je2n4GPZf1idcsaOLEYJWH?=
 =?iso-8859-1?Q?nTBY9wokRRXeKbhV0Y110N2B3htWCHyTyxcYPx76ZRR8kDGU3gsgzlckL6?=
 =?iso-8859-1?Q?pYZ/QXpQz2UVCm6RcA3+maHD614de3FgxUd13zRWrGpMVeBhDA5Yyd5WCS?=
 =?iso-8859-1?Q?QCASUFz1k3ul5iFvqxgnGMbwYLcixKxvNKAoGPSG+tStbSJd4/2J3XsFMZ?=
 =?iso-8859-1?Q?r0XeduSb8bnL6FVvHHqsr7Rcg7xhOXVO3rvrT7mhk/mfgLYuxYZx58zOIV?=
 =?iso-8859-1?Q?chu+rSklz1OyVdCqwhPn/5JMuGQfe0LTZhaO76JETshiXTtc8RmUwBRl1D?=
 =?iso-8859-1?Q?sX08Ij7ssrpRhYH9IImemjE/xpX6kv1fqMby/f2hZDbWKGe5g+7fY969Oc?=
 =?iso-8859-1?Q?CVfvyb1LoNDKT1N7gquTLIijfV7xpv3HTF/1ksP+0TvtkoRN3Uua4e0Ela?=
 =?iso-8859-1?Q?QVro/VoVNYEpWouMkgLQyBsZnRlxw7nm62oQQWavL7nndFIHHOofG/ilf2?=
 =?iso-8859-1?Q?uF1BoZPOvnPrrUae8oiT2xBrnnwsXa+iyBTqEcobO3oNmYsFY6Ti8CRD3z?=
 =?iso-8859-1?Q?2xOsiazMk4JH8s1ljCtKUDCYy9cNIuUKUxcPxCqadM/9L+uhAM3AlPo2FT?=
 =?iso-8859-1?Q?ch5732EtQBjARBDmbUbgJY8n1qsdu3JGfYHhCu3srcGlQeF3zfkb49cw0b?=
 =?iso-8859-1?Q?qaGXvVY4Ou8n/xYCDvbWs2KKCaiVBjIANYB/U+NXBnW4d2MmA3BJbyD38D?=
 =?iso-8859-1?Q?VvF/JFx2SYVyzr9zDb88UA4bbDYbIS050XEoE2+IaA8dPmsDtEMebGo8QN?=
 =?iso-8859-1?Q?XLZJ9Wcy0GD8rWbzuaN4YsK1vL6o0dh5blEWfIJCXP0QQLIytksmgPXcRq?=
 =?iso-8859-1?Q?l6w3LiKzuY5rExk0CG1otVC9GSbnezpqXwCuZgPMcsK/3mjpZR8HfqEL1s?=
 =?iso-8859-1?Q?kvQhIGhgViUmL2owryKij7PcVlW6U2SDP7mdlJRZZt7kTU1FGHeGkuHFQ+?=
 =?iso-8859-1?Q?ks1ChKPS8g4BHvow1MnvyGOQHvCSDdL5NmvylB4MeQJ7XkVZiTZNi3W42n?=
 =?iso-8859-1?Q?Dz3b6vo/elkHoW6taakw3v9H/joIdg3lzBO+ycmzJIKuMxMhh2ogY5fK4A?=
 =?iso-8859-1?Q?6bhxFAI/UDxESUmyCLkDPhX+eqAj2s4fj7w8yg/QdaGSiO1wCjguzF7C9n?=
 =?iso-8859-1?Q?g6Mq3jO7jrR/mouxhzvhfH7gHOC6Y7b0KarxYLA14n4Pd3BfPMMf5diWWg?=
 =?iso-8859-1?Q?q3/oeIDwHYu2Ai2P74SyjmKvECLewsSTZ/oYKhMf/DOWBgUpE0m+xGYw?=
 =?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: 87e3711b-c02a-49bb-fb5a-08dd6086f75b
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:54.8266
 (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: 78SrSM05yd3PW3zKnkCqYMkRoZEp0O4y7GIos4u13kjQXS7e7oDZNo+Yr5dh756+gfTgunpZMykVJVJe98Mf0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

This series adds support for R-Car Gen4 PCI host controller.

To fully support the controller, the following changes were made:
- Generic mechanism to support PCI child buses is added.
- Private data for PCI host bridge and means to access it are added.

The series also includes a workaround for proper ATU propramming and
optimizations to lessen the performance impact of that workaround.

The series was tested as a part of the pci-passthrough patches[1] and
build-tested standalone with enabled HAS_PCI and HAS_VPCI.

[1] https://github.com/Deedone/xen/tree/pci_passthrough_wip

v1->v2:
* see individual patches

Oleksandr Andrushchenko (4):
  xen/arm: allow PCI host bridge to have private data
  xen/arm: make pci_host_common_probe return the bridge
  xen/arm: add support for PCI child bus
  xen/arm: add support for R-Car Gen4 PCI host controller

Volodymyr Babchuk (3):
  xen/arm: rcar4: add delay after programming ATU
  xen/arm: rcar4: add simple optimization to avoid ATU reprogramming
  xen/arm: rcar4: program ATU to accesses to all functions

 xen/arch/arm/include/asm/pci.h      |  16 +-
 xen/arch/arm/pci/Makefile           |   2 +
 xen/arch/arm/pci/ecam.c             |  17 +-
 xen/arch/arm/pci/pci-access.c       |  37 ++-
 xen/arch/arm/pci/pci-designware.c   | 422 ++++++++++++++++++++++++++++
 xen/arch/arm/pci/pci-designware.h   | 105 +++++++
 xen/arch/arm/pci/pci-host-common.c  | 106 +++++--
 xen/arch/arm/pci/pci-host-generic.c |   2 +-
 xen/arch/arm/pci/pci-host-rcar4.c   | 104 +++++++
 xen/arch/arm/pci/pci-host-zynqmp.c  |   2 +-
 xen/arch/arm/vpci.c                 |  83 ++++--
 11 files changed, 846 insertions(+), 50 deletions(-)
 create mode 100644 xen/arch/arm/pci/pci-designware.c
 create mode 100644 xen/arch/arm/pci/pci-designware.h
 create mode 100644 xen/arch/arm/pci/pci-host-rcar4.c

--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907713.1314953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnP-0005KU-PS; Tue, 11 Mar 2025 10:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907713.1314953; Tue, 11 Mar 2025 10: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 1trwnP-0005Je-Ka; Tue, 11 Mar 2025 10:25:11 +0000
Received: by outflank-mailman (input) for mailman id 907713;
 Tue, 11 Mar 2025 10:25: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnN-0004A4-S6
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:09 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20603.outbound.protection.outlook.com
 [2a01:111:f403:2606::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1aa57a82-fe63-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:25:07 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:56 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10: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: 1aa57a82-fe63-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wBRmOWMMzQFaVnRGm3kAwelD7U1W45TTB/anaX6JkYi1YjwandgOmLeLmGTvjzzQZn305bArMBj8g8sP25rm3Bs8OG5cwfSdJsOzKIUslmzq6Ha5xdNlx6NWK0H0V0tMJInQtNs5V8PLJ5sg/vw0SevTl2Gbo6sVRBIHPc4yvmBTn9IBiLjEAb6ERuHjbTtlbLXGP38AGkqISHy/dnbE+QGFbeoMqcsvdQsghwEWd7QfzexSPuPH8qCZeUNID9PHMPh+1cpUcBs0EiYgk/gv9nmmzan34c5SJT1FTck8yJcFFOSrzrq5U3RPG95BHn/3oUpByj/5WCPREYe0Gh1YSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bV8YM3jhG2UMfsijfyto0ijbdWaFLchbb+HNCctMjwo=;
 b=HTIaOeHXeIJVp3FajkcCRfu/mqJ2btvt7ipJ14H9G+Dx8FFZaKxXNP3hjn/s1TeFZ7iopBLOgtxtHF658COC4xFw5ctZKDRqLJl8jTkxsJiON3cldP4f79Vuth3MdYm7p+PPfNrjN8GbzSVHsYU1cuOcYMNAqX4iQut/xzOBK15MkjOd5EHdOP6g5g7DXBpP6i4dKGPcAt7t2g0nGLPekHdqc3PV3zktpM6VH+bhzoah8019drSOVsTSYCFS6ccZumJwms0Gf0+85NLZkbbfr/gCbFZpUlsZKECxe4AZwLK2srfwC6MOrux4HeouKEi65vRkyUM2kIrWRhbigwsquQ==
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=bV8YM3jhG2UMfsijfyto0ijbdWaFLchbb+HNCctMjwo=;
 b=giMZDHrle/fn+xblJhe2K7cvcwWZUQr6xttc9tFqbQ3qN7/7YQZDM+QCv24QrSePrsV8DhP/G0WGILR3zZeb9un2q6XKGAQVZvLJqwlvrh4KQ1Tu+GhrVH804pKaa7bhPBT1YuowYvT2Ov2XsaHoqQH8kSe7OPa7WMZEDyGgwdGr7h3IpWuYr+8OWBfs7yIqmgm/caF/dw3QGL+FxG8Jfn0PecvuUaySPNqKP3YsZwr5PMUyc+YwtmOZCOXwzK5mHRLeC7YgJkwcZ8/3BiQ+9tRbNwaS/Amg+PvmrjgOhGpgKgqFOSWSIBU9egZ23ZKMMlbGQ45cvxsTipNHqS+qMQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 1/7] xen/arm: allow PCI host bridge to have private data
Thread-Topic: [PATCH v2 1/7] xen/arm: allow PCI host bridge to have private
 data
Thread-Index: AQHbkm/VvvSFGErp6EOKl9y39vdqWQ==
Date: Tue, 11 Mar 2025 10:24:55 +0000
Message-ID:
 <cd3bd35a570064e1b03054bab73e29aa1578bd24.1741596512.git.mykyta_poturai@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: 2c20fc1b-9efd-4910-f5ee-08dd6086f793
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?4cWLZPFsE2an/rKi6yavJiHDFBLMQ2X4N+stTBluCXLcvwQUZ8HceRMEAC?=
 =?iso-8859-1?Q?sYYoEUnPLTyOdjIbgSME3kdaJQuZFjCOV/F1BtlJTNvTu+SvlF43NTrYhn?=
 =?iso-8859-1?Q?jgDSstQcuXlr0gX3CNHHt3+IGGKadgIwGdUKmxb90z/IIjBwDLriekgyMP?=
 =?iso-8859-1?Q?XsjflLufqEwycxO85+jte+XCWAJdV0itgGFwii4YLP+oequanjzx4jlT2U?=
 =?iso-8859-1?Q?v49lTg6BTxN7d9WzeT+gud5JKLRwhdhOxtjx2aVl6Lhl9WEyEt+ZnTCykw?=
 =?iso-8859-1?Q?njmzUiim61iRpHkRALaaM6XHVdqEpD9vJVO6P+yMtiTsOU9LtKt4OlSSOR?=
 =?iso-8859-1?Q?2pX4d1Pi7UYl1maSUmHoUNHJ2BQLmPVzVxOZhso7wS+sKg579tPY3zHtCD?=
 =?iso-8859-1?Q?aUqV2RZrib8MMIV+ShMIpoDI6zZnHBDEYYp8EOBKnqfVJqwwtRgmXio4MU?=
 =?iso-8859-1?Q?mdbSP9mw+mcZK0HUL9LpyFKWbs6dTYflTQLsTiWqfeLVsREx+J11pNSHrd?=
 =?iso-8859-1?Q?O3dzSrTbxRN1/kpZwdEZaMMoa/tVsxZglIfRa/ymk4nVBYUIqO+TN+hovD?=
 =?iso-8859-1?Q?QHmzEqZnoskn+6Xhauw1CF0+n9xO7lUyCD/PkLYY3nZeQQ+ZDmpI2E8kvO?=
 =?iso-8859-1?Q?WNZT27hxD4GFaauldhSJGDpGiwRYSVZasneKDcuZKQ5fViPU+CIXwu4Ru0?=
 =?iso-8859-1?Q?CXiTM/EXx3lm1LyswOKCs0EMlrkWx2L3exYmrMnyUnQCXmbxbdeRRYXm8/?=
 =?iso-8859-1?Q?h8qU9wXhpoExdlxLsuukjFXTb8kPudlqWcjFq22qgBqNmI9rAH3fyxkIUM?=
 =?iso-8859-1?Q?1jVxR9BJZNMb2aVR4LbJ7PgrtlwOEBMCdkhr8kJTgml7/BvUQrqeowABwC?=
 =?iso-8859-1?Q?Ilc2rFndhxQrvl7l0DjDAundqie5V5iTGW9d4ExGXG95K+KjPRtOEfUJO3?=
 =?iso-8859-1?Q?cCbrRBZbrP4868HMuaKeBVDava7mHSFrHl/6qNvBLMSIKFKdC5y51i87Jn?=
 =?iso-8859-1?Q?8aAIfX4J7yLpQcMt2ovBSNjLPKLwDRiGpiQnb4IxZjTbPJOE+0LcU2gmMt?=
 =?iso-8859-1?Q?DT7sYaxfCVodAZ7GQPj48ehdiwEZuJ8JM+nR2yIUBkUHOTtjbHBk1daWYq?=
 =?iso-8859-1?Q?q6An8pBR2Zz8DEeelgpNmlxMCoo8hzgJNfQ9hvItqZVwhIY406H4/cy+Op?=
 =?iso-8859-1?Q?GwfzVFv5myNvTGb7XFr70/2w/CkFCADZ3OM3uxakNoUVFolYnnbiaYusGT?=
 =?iso-8859-1?Q?QNHSXq8JH19vwGcihdhw5zbifIWevTCu0iY1X+eytXsbKBfAC2395JDa3b?=
 =?iso-8859-1?Q?tUDedaAMtxloeBTwzrw3UuPX1HU5EvEWv5kmo1mFycVvQFIq9FULPegC6v?=
 =?iso-8859-1?Q?xPu8giHB/br9BFQdKwAhbhf7/h9C/wI0ePqRftwpuj7vJ6DNPP8FJGjpvN?=
 =?iso-8859-1?Q?KLE9wJXbQgVsYZDdsTV4KfnXLuKkkFnLFR8IJ/p896pEdhdIjT/UDzppp2?=
 =?iso-8859-1?Q?usf+1RHRJSJDdgU+MGwido?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?sRmY5oL0tvIlRTWnFajlxWy55x4qPHvDcp33NMSbBLkW973TQT5SCZA/+w?=
 =?iso-8859-1?Q?eMOogAerxAn+lYcVN8tfVC5Vi2GPnXi0cOnYfDMlEcVkvBSJ5nIF1493+K?=
 =?iso-8859-1?Q?7As7ONbMiTwdp6PDemPAjJ6V4UtADEq4f3ovYvJ+CNdnafhjVOAF03piO0?=
 =?iso-8859-1?Q?IkeYrEpj4rcayKUk2+3XaRVsHeEA/BOjoPUR+XckaBEjnFz3Z+0MlZp451?=
 =?iso-8859-1?Q?CZ1ZAueS1t39gFXZpQcyOjpFY0nDwk2TQGRbvFBY4jvCqnaTNR8zSKWmlI?=
 =?iso-8859-1?Q?OkUL++0LYcMjBOHopRBbKl8dX6bWhNTMvpqLqak9N4nUD0hUGCe0gLVMNR?=
 =?iso-8859-1?Q?G/VUeAy96qHmD7Yxp1PPfsd5tdC6HRoRJ3w69N2EfJEKbecFCNLzgfByxG?=
 =?iso-8859-1?Q?6z+HOfMdOvJWAGlj7H+C54xKJgPr/wsC5B7tZ+tf7VsdoO/0D9iX52RFC+?=
 =?iso-8859-1?Q?BtT5JM2QXzg0qmLsyAw8R56UjC5Hb4lbXjGP3/EIygmafWwPKSdEpe+1vy?=
 =?iso-8859-1?Q?rtqW2Cf/epvxQNhYmo4ZM+P9G5T/JY04EHqD8lEvlQiQsLvLECE0PAk2EG?=
 =?iso-8859-1?Q?GvnsEu1U+EH2Qqfq6xDVBX3L2TxTrQEnnQHIN5Pe+46fEiZJW8q3BqPZuC?=
 =?iso-8859-1?Q?WtswjV9rguViGPMr+rQllaPRP7YGOeQQS2qT02Sqf70Oj2+R//qrlQcELs?=
 =?iso-8859-1?Q?mtG4gJn2upn4Qh6AgTr7/LmtQvSaDEUFLqp85rWnH84rETtj2iLqijBnB6?=
 =?iso-8859-1?Q?9EIovHVO280wuoX7nHQsWRb6lR3PIATBNqFyKwUiL8Cylka9ZPozVH0y+z?=
 =?iso-8859-1?Q?rZgSLzG+26AhS3BM6TEwVFyE8JFoGVBO1ERQZRKLNP8cpoHIEopUX2HxXK?=
 =?iso-8859-1?Q?vHH2H3f0Oaie9L8D6bHz/2ArJzN0vtKznBx1F20WLv8GZ8nYFcqgXMFE4t?=
 =?iso-8859-1?Q?0eVvukwnN9T3y+UTgfhqhX49qxJvUwnOF5SiT0sJNoj9ZAfvVuhh72gnKa?=
 =?iso-8859-1?Q?gezIycyrbmfM7UDBBRYNBb0JxmNLdNoXw18Syk7zbq/A7E7h6s7aeraHWj?=
 =?iso-8859-1?Q?DrZDTOLyicEalp66Y0KZqjkQ4g0HGH2GOzsCn8wtGNbC+F2K/U7CYkKmGl?=
 =?iso-8859-1?Q?jfuSWnnVXFpV7olzvoc6cbxe+71dGqy96mksqNlBizi/NxNK8BT4WIcDCh?=
 =?iso-8859-1?Q?OB0rSlP0N5gy14PMDnPPBBiKcORfVNAU6CP7p1vMv3pqBWycnrI8JdvAFl?=
 =?iso-8859-1?Q?Epln3LumlPIX0KRpP8mXjOX1BX91i3m/H7eoiR8vnZC2rXavHq9qf/wic7?=
 =?iso-8859-1?Q?ENCBngB6/gc0zqkqJM0CINX3JwJrll8i+MYyCZF1GJuUy12AuGosP96W37?=
 =?iso-8859-1?Q?HMmMXfTjPEUwdWq5esR2PSkbyja1g24GcmbPKXyJ7D0ZHMKqBzaWLZF1yf?=
 =?iso-8859-1?Q?uAlq/mtn6kZ8tV3ksWC/lv5LCgzWFFwKi2h4DvKJGamIDU2ZUwGFRGML1J?=
 =?iso-8859-1?Q?nElfqKCXBUZUdsRXLx1KukWZxDeZRm0PEUotV89jb28pJuZXweOCxvs3rc?=
 =?iso-8859-1?Q?uE9ZLPqQQRSK1LW0GEvIBPmyPyNI4NV703F6q0LTGf7eoWxqsLEbCl5YXb?=
 =?iso-8859-1?Q?k9HcDIkmLSVwVBVO5fq7VaIGwBKr34Cg1sP9Z29zTWlD087q3N74S8cg?=
 =?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: 2c20fc1b-9efd-4910-f5ee-08dd6086f793
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:55.1158
 (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: tJDPfSCntYGYJA+MCxZMFg8McRjBYCzrKTBXsZD/HNJcQuzg/fW47I+JbkGetVNIoLtLA7kuYmysyS3ybnyeWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Some of the PCI host bridges require private data. Create a generic
approach for that, so such bridges may request the private data to
be allocated during initialization.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* no change
---
 xen/arch/arm/include/asm/pci.h      |  4 +++-
 xen/arch/arm/pci/pci-host-common.c  | 18 +++++++++++++++++-
 xen/arch/arm/pci/pci-host-generic.c |  2 +-
 xen/arch/arm/pci/pci-host-zynqmp.c  |  2 +-
 4 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.=
h
index 7f77226c9b..44344ac8c1 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -66,6 +66,7 @@ struct pci_host_bridge {
     uint16_t segment;                /* Segment number */
     struct pci_config_window* cfg;   /* Pointer to the bridge config windo=
w */
     const struct pci_ops *ops;
+    void *priv;                      /* Private data of the bridge. */
 };
=20
 struct pci_ops {
@@ -95,7 +96,8 @@ struct pci_ecam_ops {
 extern const struct pci_ecam_ops pci_generic_ecam_ops;
=20
 int pci_host_common_probe(struct dt_device_node *dev,
-                          const struct pci_ecam_ops *ops);
+                          const struct pci_ecam_ops *ops,
+                          size_t priv_sz);
 int pci_generic_config_read(struct pci_host_bridge *bridge, pci_sbdf_t sbd=
f,
                             uint32_t reg, uint32_t len, uint32_t *value);
 int pci_generic_config_write(struct pci_host_bridge *bridge, pci_sbdf_t sb=
df,
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host=
-common.c
index c0faf0f436..be7e6c3510 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -209,7 +209,8 @@ static int pci_bus_find_domain_nr(struct dt_device_node=
 *dev)
 }
=20
 int pci_host_common_probe(struct dt_device_node *dev,
-                          const struct pci_ecam_ops *ops)
+                          const struct pci_ecam_ops *ops,
+                          size_t priv_sz)
 {
     struct pci_host_bridge *bridge;
     struct pci_config_window *cfg;
@@ -241,11 +242,26 @@ int pci_host_common_probe(struct dt_device_node *dev,
         printk(XENLOG_ERR "Inconsistent \"linux,pci-domain\" property in D=
T\n");
         BUG();
     }
+
     bridge->segment =3D domain;
+
+    if ( priv_sz )
+    {
+        bridge->priv =3D xzalloc_bytes(priv_sz);
+        if ( !bridge->priv )
+        {
+            err =3D -ENOMEM;
+            goto err_priv;
+        }
+    }
+
     pci_add_host_bridge(bridge);
=20
     return 0;
=20
+err_priv:
+    xfree(bridge->priv);
+
 err_exit:
     xfree(bridge);
=20
diff --git a/xen/arch/arm/pci/pci-host-generic.c b/xen/arch/arm/pci/pci-hos=
t-generic.c
index 46de6e43cc..cc4bc70684 100644
--- a/xen/arch/arm/pci/pci-host-generic.c
+++ b/xen/arch/arm/pci/pci-host-generic.c
@@ -29,7 +29,7 @@ static const struct dt_device_match __initconstrel gen_pc=
i_dt_match[] =3D
 static int __init pci_host_generic_probe(struct dt_device_node *dev,
                                          const void *data)
 {
-    return pci_host_common_probe(dev, &pci_generic_ecam_ops);
+    return pci_host_common_probe(dev, &pci_generic_ecam_ops, 0);
 }
=20
 DT_DEVICE_START(pci_gen, "PCI HOST GENERIC", DEVICE_PCI_HOSTBRIDGE)
diff --git a/xen/arch/arm/pci/pci-host-zynqmp.c b/xen/arch/arm/pci/pci-host=
-zynqmp.c
index 101edb8593..985a43c516 100644
--- a/xen/arch/arm/pci/pci-host-zynqmp.c
+++ b/xen/arch/arm/pci/pci-host-zynqmp.c
@@ -47,7 +47,7 @@ static const struct dt_device_match __initconstrel nwl_pc=
ie_dt_match[] =3D
 static int __init pci_host_generic_probe(struct dt_device_node *dev,
                                          const void *data)
 {
-    return pci_host_common_probe(dev, &nwl_pcie_ops);
+    return pci_host_common_probe(dev, &nwl_pcie_ops, 0);
 }
=20
 DT_DEVICE_START(pci_gen, "PCI HOST ZYNQMP", DEVICE_PCI_HOSTBRIDGE)
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907714.1314958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnQ-0005Pd-6o; Tue, 11 Mar 2025 10:25:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907714.1314958; Tue, 11 Mar 2025 10:25: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 1trwnP-0005O8-VB; Tue, 11 Mar 2025 10:25:11 +0000
Received: by outflank-mailman (input) for mailman id 907714;
 Tue, 11 Mar 2025 10: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnO-0004Ad-11
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:10 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b32108e-fe63-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 11:25:08 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:57 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:24: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: 1b32108e-fe63-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Nd3aHdKhIn9vB84mlBklg8YKc2fLBXKi8LDjK00A6hvbw+yuPNHY1N91rwh9H55lIJe8p8lCwKGTxftCOa5Ulfff1okj/lplBiebpUp8TrlEwUUv8PaHqeFadtqOpGzN6+fsINUvdNOUyIOhrv3pvog1EmopWS9FuRqCCRiX94lRguIqjif6h0sWUWsGKKvEQQ0U1Kaq1cKaixfMMX+xX+F9LEqgtmvGTDUJWC2Z4Zl4PzIY+DO32NmftodPnKUbSwqQKSW2dtjEzMgGSULp4jENTKQn8/gLbUbLsqeH8bCkRduR/ryCP0DDL+mFFeI/+Gkgi+f9Z48qR9BElXKrFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Dvd/0gWByS7JSPGL03cPILxwiEHvlhItiyeW4bdjMzE=;
 b=TTaKHEKjlNv9cfibTpGsVKViF9o3DrAhuYtpxxR0buN/Mvx6ipH0pwMfVXRJYDKJe9bMkWfP52b7P7BOG6cuFHaffgcEvyHB7KbADnENRUyBls+zrLqYg5AQKRjET8ZIub+qGbNNygOsLfEnEZavZ4y1iAaZOBiqCiF7nCAXYpyYSZ5kHWMAKZIK0fidijwy9ZR3Wyhx3pxlvNen8q2n/giJ4hx55Azy4ZTpDXIwS0VStOhRKyOKXhg4VBsJFvBDb9lYYaEcSv3uB5OuzeGUfVqVPQ6HCm1INBqI3nEr0JVdqyRzBbolfyuPQOz2/yicgKh7Cvd1yQ8KbZHKarSW2g==
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=Dvd/0gWByS7JSPGL03cPILxwiEHvlhItiyeW4bdjMzE=;
 b=TbddUNMregTF3GGB5b1ZOCXEUwqQOuJ4ixei8E+VbVAGeWIT4SUNwxK6PPLH+XQPR+fxSgkrcjZFC2US5we7t5rEjvXprvSYWCwN55HTnZn3tuIpx0QfIBzc1lMCDXpqnTfjzRmodVtSInL2pTD4KFBRnYVOBhf/bYRjgSCBEEuc//sEcaYnLDq/0tjC1CTcH7ExjN102jFta9va6+uIb0oR7Kcf7YdLcXI1hv1JU4XGRWjdaoxJGzSTekQykuqKDGxX+TE7lXTAPq1/tecEJtS1an3S2PKs+D/al7VF6AaBTvFZAVMraIJK7bmCyk3PxBYJL2vGr6Wn+eT7gCV/IA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 3/7] xen/arm: add support for PCI child bus
Thread-Topic: [PATCH v2 3/7] xen/arm: add support for PCI child bus
Thread-Index: AQHbkm/VQEv3ZcEekE6JuMob/0RHFg==
Date: Tue, 11 Mar 2025 10:24:56 +0000
Message-ID:
 <1737690bf95f80ca3965abc5961a05b2193590e4.1741596512.git.mykyta_poturai@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: 0e4e3ea4-7743-43a4-9ac1-08dd6086f8ae
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?54KUlCvfMQxD8Mp9W1RlkAUvEc3p3YsK+T5zoyOyOL8K9dajKTTSvWcyRB?=
 =?iso-8859-1?Q?IorSfn/0DTe/UheusJGLpi/sEaJIktYmLI7irsxqvGBzdwJxoi21R632TU?=
 =?iso-8859-1?Q?sgQGYVAjvk1/l3wZhfTEMLJ2x0GQOs3UWfMunwwpPY+0QWtT84YZjwSb9D?=
 =?iso-8859-1?Q?8jJfCEWsKzleVE2xoMXQEBrs4xHq5xXbk3WxI1NQ0qQAUOh/Aguhqfc5EE?=
 =?iso-8859-1?Q?lT4c1q+42iXmbHXHxE0arsxrjL9u+RllCHN72zxXtnuHN8YgyuBpaqxlQh?=
 =?iso-8859-1?Q?NEpbusLlChXfrRES0Jnq+1kQ9Xt8OlYAlvwqCnv5WU1Ux2oyjQvUKD/Ztl?=
 =?iso-8859-1?Q?gWY9IkuaQk7zcddhnndXJXJ35MuO21CagANOh+P+a4na++qh9IFdo81nad?=
 =?iso-8859-1?Q?lruZ56QtiOcPaK4OLBof1aqoamyUv6k03QH+yzP17VhK54crjls1Cwwl5g?=
 =?iso-8859-1?Q?WaM+5zImSY/ao3+Wqi++kujglXPMVgp+WzedYUJ71cTqY3auQEwv59pkIU?=
 =?iso-8859-1?Q?y5offmQnUW8FkeexQBARKVOiqPtwBLwrtEV+ytp69j0dRYar2FcJxjnzgT?=
 =?iso-8859-1?Q?oNu3wNmNG/46Iw7dcksPgwAG4qcI+WpkCtroQToGYDwnV4kNWJp4TE4YnN?=
 =?iso-8859-1?Q?rXyMNNiU41KSUHfHg915Bdp19m4Gfv96CnPC4IQWBEM8j4ABhaY8b8Kfzh?=
 =?iso-8859-1?Q?Uh6C4mZQW4DkWb4w6I/+8fUEQTflKQFKf8+wv6cJDag5w0MBIt0/sQnjIn?=
 =?iso-8859-1?Q?V/sVTYXb5AFvdZkQld64hE94/Sru0fuCTwxMcFMJCLnpplcOgE+R1bK8oq?=
 =?iso-8859-1?Q?gEfeunq77QjQ4fZ8vLgMKXhAW9ooz+cj8ETtbHoxAP7sMDhUxi8XpwAydZ?=
 =?iso-8859-1?Q?i5LfZY6riBhCdUntDwcczvzQ/loLjE1tbLluroq4LLUiDzQJ1O3VTECN7d?=
 =?iso-8859-1?Q?xOLLNNF8omN9vGOvBoDHS2SsiN66Lz25UL9fYwOXumR19IiNoYDtG0w/PE?=
 =?iso-8859-1?Q?SYTXEBAvu88iyRh6M2BOif19yMnXQ9LHlIlDkh39rxxgqJHC19Zb9Jb4sB?=
 =?iso-8859-1?Q?i0hmwJg/aYgyOdx8Z42KvIO/WeBGpxj+GVp9EXcR0Bves7e4XIRph9sYN0?=
 =?iso-8859-1?Q?nGdAmNwR2CmqACagkU5MN+a1UqwYaRPRghkQhRM7ond5EZfvZDB5nSaeRs?=
 =?iso-8859-1?Q?ruJgHaz/UcCejI3t73tqCSrND8iYm572CjArgd9XTDZDm1VdAd1VC6p51j?=
 =?iso-8859-1?Q?Nk8YbncoP+kGYmmk+sg0840GTD6Gx4X+APfBdP8a0ippUCDE1Mtm1suzuJ?=
 =?iso-8859-1?Q?i24VUPpFkUj0vzeZt51N75xKf7YgK1ZAW/LOfHeGcf6NlKQ9uGce0w4OnD?=
 =?iso-8859-1?Q?gwGFyc0HGf/J4Kq3HWEUJKXRM57Q26d+Xt2p/6wr+eHfOmpUZMQPNADGmi?=
 =?iso-8859-1?Q?kGPjoiwl4BpiqIuuVXZpFI5JCQypmJXrcDbVng=3D=3D?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?1Qbucgq90CtkiL53fC70W6rWpVpRtWy7/wOcM22BSwQoLbIhF+4o1ojAa+?=
 =?iso-8859-1?Q?jZgOgH6CXz+cP7pUCS8MK7h71AgBNc61xrNkcB8xLId8DX4xVKZ3Km08Ns?=
 =?iso-8859-1?Q?6QAtYbapOaph/oyaedyjy8wNvPEesY66s3M1AvFuARCf3w4doanBP0OkTa?=
 =?iso-8859-1?Q?gQgIbqqqJ5cmkbtwSZi0kmDgkHBzbSmqMJfML1gfP4AZUYlPsY85iYyYAi?=
 =?iso-8859-1?Q?LU/iwHylQDIcPk8cHVOfmt9/rKb8nOdyBPM/X+qel/XMT9vnwc5pZVBI6f?=
 =?iso-8859-1?Q?k0ObpOF4nsADfclKhGtxKlE7OhN7lqJ5eWxJDQArmjHkoGv0yGfWO2rDuY?=
 =?iso-8859-1?Q?AGS8cfOD1g5P5gPTPLXvD35T5Vt1gybQa6CKtues8SmOvFkOH6sPj0mWpR?=
 =?iso-8859-1?Q?7VojouaJxacv2ylqFaQ4b/Xpnt5gXDaYAWm3mmsvDEDQXCF+HpV/+Z+2p1?=
 =?iso-8859-1?Q?/Ebsdl9BLaYHNJRldP9ifEW/kyEy+tbf2lJmlu1pq4VDz79PK/aHiXgBug?=
 =?iso-8859-1?Q?+NiXSa/4Iky0PIF4isAoh8IhTrxmRc5hsCECdSiu1qHDcc8A/m1ieTeF7U?=
 =?iso-8859-1?Q?gV16+/nfaC8aAheLu9wnXJXAaScNFaTDBc3My2iTAC3zdEDLQInUG7sQJd?=
 =?iso-8859-1?Q?h2m5V/MVRdJxddbfBhj6jM/c8Amihr6XybAFGuDFZv8IQ74g797B6m8XAy?=
 =?iso-8859-1?Q?Imfg3/7lPVx/IgXwAV+RDPR8NJ3jNOUfGATSnlJRcE/E4ps/VGKpulaJLT?=
 =?iso-8859-1?Q?sOHH0Nz1Zy09l5SKWDaCBDcHRSaq1pZpPIBPFokWTkZKjwc8Ge1zcqI9ys?=
 =?iso-8859-1?Q?Pf1YMIY51XkEZMg54lioUVYNGTDCFl+aCxHi8OHJQRaDX5S6MZlBVWPVZU?=
 =?iso-8859-1?Q?PaatWgyq2tbdLiw+DEeLdKjND80t6G8MnoVG/oomcbi1k7peRqPMOsdXgx?=
 =?iso-8859-1?Q?tI+Hm75Xp6tBD0VIgfNy2LbvDKDYsmi8aMqELtq5OgX6+v5+SGA02qeNQa?=
 =?iso-8859-1?Q?S2/Pgla5q/hd8JYqQMT7Wl90Hv0nxAURvGS+YFMdA25/MiRZ1nT49Gmu8D?=
 =?iso-8859-1?Q?P/HFFQq9V0boy8ytMKCg6Up6vDPwmjvrLs5/bAw+rjflhnjtkersRrnKAL?=
 =?iso-8859-1?Q?24uxHeYcxH5Up0/yBwMV78KHLVz0fE3gX6ioeg0M3fMto65bIDqiFkv+6h?=
 =?iso-8859-1?Q?mviFvDC7823y1EYBhM+EWNZfbBGCg9et1pyD9SVOiW7JRNhBJTI03q5QWk?=
 =?iso-8859-1?Q?0vxkNQTIFIBNL9eoRlx5xoD8xhD3TGTmhowj8LvOOXrui5BwPPMAot/KYs?=
 =?iso-8859-1?Q?Vmv/7jWo2z6IdP/+MciPZaH/hcUvDugkJfCZB6y/TaR9vnV3LuNkIIZFNX?=
 =?iso-8859-1?Q?MiOusSBQfQuoZ7gHuo2U3cTmpuW3mYCGtJ8O+ArbHA/Du7CjYesu5S//8g?=
 =?iso-8859-1?Q?mI4Wlh0kRVXi/9515HezPIjHgWsV34ajBrWpJBZKvfeiGN61ZTEhOiHimT?=
 =?iso-8859-1?Q?jAmRROwNFxv90TORNmKY35P0OTAZk/Pnt6sB6GUPHviiLtosg3S94Biw6+?=
 =?iso-8859-1?Q?LPGSC4lPPqHbj140etEqxq9bDLCC9YuuGX6n4FmMf5uaQdsjfUpIfOEIGe?=
 =?iso-8859-1?Q?wZIu5yn/uccaSYOcDMzZT4xYNDeXlEsn/89HwPeDa6C814N6k6fFa9pw?=
 =?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: 0e4e3ea4-7743-43a4-9ac1-08dd6086f8ae
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:56.1208
 (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: 061zzsoHUmq7lT442xgtDtkwTWqmYRAHLfFMRD4c6wEV8L1rispBLBXUqoZs+t6SlkuqYya6C5Kyu9mUfwoCKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

PCI host bridges often have different ways to access the root and child
bus configuration spaces. One of the examples is Designware's host bridge
and its multiple clones [1].

Linux kernel implements this by instantiating a child bus when device
drivers provide not only the usual pci_ops to access ECAM space (this is
the case for the generic host bridge), but also means to access the child
bus which has a dedicated configuration space and own implementation for
accessing the bus, e.g. child_ops.

For Xen it is not feasible to fully implement PCI bus infrastructure as
Linux kernel does, but still child bus can be supported.

Add support for the PCI child bus which includes the following changes:
- introduce bus mapping functions depending on SBDF
- assign bus start and end for the child bus and re-configure the same for
  the parent (root) bus
- make pci_find_host_bridge be aware of multiple busses behind the same bri=
dge
- update pci_host_bridge_mappings, so it also doesn't map to guest the memo=
ry
  spaces belonging to the child bus
- make pci_host_common_probe accept one more pci_ops structure for the chil=
d bus
- install MMIO handlers for the child bus
- re-work vpci_mmio_{write|read} with parent and child approach in mind

[1] https://elixir.bootlin.com/linux/v5.15/source/drivers/pci/controller/dw=
c

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* fixed compilation issues
---
 xen/arch/arm/include/asm/pci.h      | 14 ++++-
 xen/arch/arm/pci/ecam.c             | 17 ++++--
 xen/arch/arm/pci/pci-access.c       | 37 +++++++++++--
 xen/arch/arm/pci/pci-host-common.c  | 86 +++++++++++++++++++++++------
 xen/arch/arm/pci/pci-host-generic.c |  2 +-
 xen/arch/arm/pci/pci-host-zynqmp.c  |  2 +-
 xen/arch/arm/vpci.c                 | 83 ++++++++++++++++++++++------
 7 files changed, 192 insertions(+), 49 deletions(-)

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.=
h
index e1f63d75e3..0012c2ae9e 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -69,6 +69,9 @@ struct pci_host_bridge {
     struct pci_config_window* cfg;   /* Pointer to the bridge config windo=
w */
     const struct pci_ops *ops;
     void *priv;                      /* Private data of the bridge. */
+    /* Child bus */
+    struct pci_config_window* child_cfg;
+    const struct pci_ops *child_ops;
 };
=20
 struct pci_ops {
@@ -97,15 +100,20 @@ struct pci_ecam_ops {
 /* Default ECAM ops */
 extern const struct pci_ecam_ops pci_generic_ecam_ops;
=20
-struct pci_host_bridge *pci_host_common_probe(struct dt_device_node *dev,
-                                              const struct pci_ecam_ops *o=
ps,
-                                              size_t priv_sz);
+struct pci_host_bridge *
+pci_host_common_probe(struct dt_device_node *dev,
+                      const struct pci_ecam_ops *ops,
+                      const struct pci_ecam_ops *child_ops,
+                      size_t priv_sz);
 int pci_generic_config_read(struct pci_host_bridge *bridge, pci_sbdf_t sbd=
f,
                             uint32_t reg, uint32_t len, uint32_t *value);
 int pci_generic_config_write(struct pci_host_bridge *bridge, pci_sbdf_t sb=
df,
                              uint32_t reg, uint32_t len, uint32_t value);
 void __iomem *pci_ecam_map_bus(struct pci_host_bridge *bridge,
                                pci_sbdf_t sbdf, uint32_t where);
+void __iomem *pci_ecam_map_bus_generic(const struct pci_config_window *cfg=
,
+                                       const struct pci_ecam_ops *ops,
+                                       pci_sbdf_t sbdf, uint32_t where);
 bool pci_ecam_need_p2m_hwdom_mapping(struct domain *d,
                                      struct pci_host_bridge *bridge,
                                      uint64_t addr);
diff --git a/xen/arch/arm/pci/ecam.c b/xen/arch/arm/pci/ecam.c
index 3987f96b01..5486881c5c 100644
--- a/xen/arch/arm/pci/ecam.c
+++ b/xen/arch/arm/pci/ecam.c
@@ -20,12 +20,10 @@
 /*
  * Function to implement the pci_ops->map_bus method.
  */
-void __iomem *pci_ecam_map_bus(struct pci_host_bridge *bridge,
-                               pci_sbdf_t sbdf, uint32_t where)
+void __iomem *pci_ecam_map_bus_generic(const struct pci_config_window *cfg=
,
+                                       const struct pci_ecam_ops *ops,
+                                       pci_sbdf_t sbdf, uint32_t where)
 {
-    const struct pci_config_window *cfg =3D bridge->cfg;
-    const struct pci_ecam_ops *ops =3D
-        container_of(bridge->ops, const struct pci_ecam_ops, pci_ops);
     unsigned int devfn_shift =3D ops->bus_shift - 8;
     void __iomem *base;
     unsigned int busn =3D sbdf.bus;
@@ -39,6 +37,15 @@ void __iomem *pci_ecam_map_bus(struct pci_host_bridge *b=
ridge,
     return base + (sbdf.devfn << devfn_shift) + where;
 }
=20
+void __iomem *pci_ecam_map_bus(struct pci_host_bridge *bridge,
+                               pci_sbdf_t sbdf, uint32_t where)
+{
+    const struct pci_ecam_ops *ops =3D
+        container_of(bridge->ops, const struct pci_ecam_ops, pci_ops);
+
+    return pci_ecam_map_bus_generic(bridge->cfg, ops, sbdf, where);
+}
+
 bool __init pci_ecam_need_p2m_hwdom_mapping(struct domain *d,
                                             struct pci_host_bridge *bridge=
,
                                             uint64_t addr)
diff --git a/xen/arch/arm/pci/pci-access.c b/xen/arch/arm/pci/pci-access.c
index 9f9aac43d7..4da607ac3f 100644
--- a/xen/arch/arm/pci/pci-access.c
+++ b/xen/arch/arm/pci/pci-access.c
@@ -18,10 +18,31 @@
 #define INVALID_VALUE (~0U)
 #define PCI_ERR_VALUE(len) GENMASK(0, len * 8)
=20
+static const struct pci_ops *get_ops(struct pci_host_bridge *bridge,
+                                     pci_sbdf_t sbdf)
+{
+    if ( bridge->child_ops )
+    {
+        struct pci_config_window* cfg =3D bridge->child_cfg;
+
+        if ( (sbdf.bus >=3D cfg->busn_start) && (sbdf.bus <=3D cfg->busn_e=
nd) )
+            return bridge->child_ops;
+    }
+    return bridge->ops;
+}
+
+static void __iomem *map_bus(struct pci_host_bridge *bridge, pci_sbdf_t sb=
df,
+                            uint32_t reg)
+{
+    const struct pci_ops *ops =3D get_ops(bridge, sbdf);
+
+    return ops->map_bus(bridge, sbdf, reg);
+}
+
 int pci_generic_config_read(struct pci_host_bridge *bridge, pci_sbdf_t sbd=
f,
                             uint32_t reg, uint32_t len, uint32_t *value)
 {
-    void __iomem *addr =3D bridge->ops->map_bus(bridge, sbdf, reg);
+    void __iomem *addr =3D map_bus(bridge, sbdf, reg);
=20
     if ( !addr )
     {
@@ -50,7 +71,7 @@ int pci_generic_config_read(struct pci_host_bridge *bridg=
e, pci_sbdf_t sbdf,
 int pci_generic_config_write(struct pci_host_bridge *bridge, pci_sbdf_t sb=
df,
                              uint32_t reg, uint32_t len, uint32_t value)
 {
-    void __iomem *addr =3D bridge->ops->map_bus(bridge, sbdf, reg);
+    void __iomem *addr =3D map_bus(bridge, sbdf, reg);
=20
     if ( !addr )
         return -ENODEV;
@@ -78,14 +99,16 @@ static uint32_t pci_config_read(pci_sbdf_t sbdf, unsign=
ed int reg,
 {
     uint32_t val =3D PCI_ERR_VALUE(len);
     struct pci_host_bridge *bridge =3D pci_find_host_bridge(sbdf.seg, sbdf=
.bus);
+    const struct pci_ops *ops;
=20
     if ( unlikely(!bridge) )
         return val;
=20
-    if ( unlikely(!bridge->ops->read) )
+    ops =3D get_ops(bridge, sbdf);
+    if ( unlikely(!ops->read) )
         return val;
=20
-    bridge->ops->read(bridge, sbdf, reg, len, &val);
+    ops->read(bridge, sbdf, reg, len, &val);
=20
     return val;
 }
@@ -94,14 +117,16 @@ static void pci_config_write(pci_sbdf_t sbdf, unsigned=
 int reg,
                              unsigned int len, uint32_t val)
 {
     struct pci_host_bridge *bridge =3D pci_find_host_bridge(sbdf.seg, sbdf=
.bus);
+    const struct pci_ops *ops;
=20
     if ( unlikely(!bridge) )
         return;
=20
-    if ( unlikely(!bridge->ops->write) )
+    ops =3D get_ops(bridge, sbdf);
+    if ( unlikely(!ops->write) )
         return;
=20
-    bridge->ops->write(bridge, sbdf, reg, len, val);
+    ops->write(bridge, sbdf, reg, len, val);
 }
=20
 /*
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host=
-common.c
index e4e05d1176..3824146561 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -57,17 +57,12 @@ static void pci_ecam_free(struct pci_config_window *cfg=
)
     xfree(cfg);
 }
=20
-static struct pci_config_window * __init
-gen_pci_init(struct dt_device_node *dev, const struct pci_ecam_ops *ops)
+static void __init gen_pci_init_bus_range(struct dt_device_node *dev,
+                                          struct pci_host_bridge *bridge,
+                                          struct pci_config_window *cfg)
 {
-    int err, cfg_reg_idx;
     u32 bus_range[2];
-    paddr_t addr, size;
-    struct pci_config_window *cfg;
-
-    cfg =3D xzalloc(struct pci_config_window);
-    if ( !cfg )
-        return NULL;
+    int err;
=20
     err =3D dt_property_read_u32_array(dev, "bus-range", bus_range,
                                      ARRAY_SIZE(bus_range));
@@ -82,6 +77,36 @@ gen_pci_init(struct dt_device_node *dev, const struct pc=
i_ecam_ops *ops)
         if ( cfg->busn_end > cfg->busn_start + 0xff )
             cfg->busn_end =3D cfg->busn_start + 0xff;
     }
+}
+
+static void __init gen_pci_init_bus_range_child(struct dt_device_node *dev=
,
+                                                struct pci_host_bridge *br=
idge,
+                                                struct pci_config_window *=
cfg)
+{
+    cfg->busn_start =3D bridge->cfg->busn_start + 1;
+    cfg->busn_end =3D bridge->cfg->busn_end;
+    bridge->cfg->busn_end =3D bridge->cfg->busn_start;
+
+    printk(XENLOG_INFO "Root bus end updated: [bus %x-%x]\n",
+           bridge->cfg->busn_start, bridge->cfg->busn_end);
+}
+
+static struct pci_config_window * __init
+gen_pci_init(struct dt_device_node *dev, struct pci_host_bridge *bridge,
+             const struct pci_ecam_ops *ops,
+             void (*init_bus_range)(struct dt_device_node *dev,
+                                    struct pci_host_bridge *bridge,
+                                    struct pci_config_window *cfg))
+{
+    int err, cfg_reg_idx;
+    paddr_t addr, size;
+    struct pci_config_window *cfg;
+
+    cfg =3D xzalloc(struct pci_config_window);
+    if ( !cfg )
+        return NULL;
+
+    init_bus_range(dev, bridge, cfg);
=20
     if ( ops->cfg_reg_index )
     {
@@ -208,9 +233,11 @@ static int pci_bus_find_domain_nr(struct dt_device_nod=
e *dev)
     return domain;
 }
=20
-struct pci_host_bridge *pci_host_common_probe(struct dt_device_node *dev,
-                                              const struct pci_ecam_ops *o=
ps,
-                                              size_t priv_sz)
+struct pci_host_bridge *
+pci_host_common_probe(struct dt_device_node *dev,
+                      const struct pci_ecam_ops *ops,
+                      const struct pci_ecam_ops *child_ops,
+                      size_t priv_sz)
 {
     struct pci_host_bridge *bridge;
     struct pci_config_window *cfg;
@@ -225,7 +252,7 @@ struct pci_host_bridge *pci_host_common_probe(struct dt=
_device_node *dev,
         return ERR_PTR(-ENOMEM);
=20
     /* Parse and map our Configuration Space windows */
-    cfg =3D gen_pci_init(dev, ops);
+    cfg =3D gen_pci_init(dev, bridge, ops, gen_pci_init_bus_range);
     if ( !cfg )
     {
         err =3D -ENOMEM;
@@ -245,6 +272,21 @@ struct pci_host_bridge *pci_host_common_probe(struct d=
t_device_node *dev,
=20
     bridge->segment =3D domain;
=20
+    if ( child_ops )
+    {
+        /* Parse and map child's Configuration Space windows */
+        cfg =3D gen_pci_init(dev, bridge, child_ops,
+                           gen_pci_init_bus_range_child);
+        if ( !cfg )
+        {
+            err =3D -ENOMEM;
+            goto err_child;
+        }
+
+        bridge->child_cfg =3D cfg;
+        bridge->child_ops =3D &child_ops->pci_ops;
+    }
+
     if ( priv_sz )
     {
         bridge->priv =3D xzalloc_bytes(priv_sz);
@@ -262,6 +304,9 @@ struct pci_host_bridge *pci_host_common_probe(struct dt=
_device_node *dev,
 err_priv:
     xfree(bridge->priv);
=20
+err_child:
+    xfree(bridge->cfg);
+
 err_exit:
     xfree(bridge);
=20
@@ -296,9 +341,11 @@ struct pci_host_bridge *pci_find_host_bridge(uint16_t =
segment, uint8_t bus)
     {
         if ( bridge->segment !=3D segment )
             continue;
-        if ( (bus < bridge->cfg->busn_start) || (bus > bridge->cfg->busn_e=
nd) )
-            continue;
-        return bridge;
+        if ( bridge->child_cfg && (bus >=3D bridge->child_cfg->busn_start)=
 &&
+             (bus <=3D bridge->child_cfg->busn_end) )
+             return bridge;
+        if ( (bus >=3D bridge->cfg->busn_start) && (bus <=3D bridge->cfg->=
busn_end) )
+             return bridge;
     }
=20
     return NULL;
@@ -364,6 +411,7 @@ int __init pci_host_bridge_mappings(struct domain *d)
     {
         const struct dt_device_node *dev =3D bridge->dt_node;
         unsigned int i;
+        bool need_mapping;
=20
         for ( i =3D 0; i < dt_number_of_address(dev); i++ )
         {
@@ -379,7 +427,11 @@ int __init pci_host_bridge_mappings(struct domain *d)
                 return err;
             }
=20
-            if ( bridge->ops->need_p2m_hwdom_mapping(d, bridge, addr) )
+            need_mapping =3D bridge->ops->need_p2m_hwdom_mapping(d, bridge=
, addr);
+            if ( need_mapping && bridge->child_ops )
+                  need_mapping =3D bridge->child_ops->
+                      need_p2m_hwdom_mapping(d, bridge, addr);
+            if ( need_mapping )
             {
                 err =3D map_range_to_domain(dev, addr, size, &mr_data);
                 if ( err )
diff --git a/xen/arch/arm/pci/pci-host-generic.c b/xen/arch/arm/pci/pci-hos=
t-generic.c
index dde6a79a8e..08d94879b7 100644
--- a/xen/arch/arm/pci/pci-host-generic.c
+++ b/xen/arch/arm/pci/pci-host-generic.c
@@ -29,7 +29,7 @@ static const struct dt_device_match __initconstrel gen_pc=
i_dt_match[] =3D
 static int __init pci_host_generic_probe(struct dt_device_node *dev,
                                          const void *data)
 {
-    return PTR_RET(pci_host_common_probe(dev, &pci_generic_ecam_ops, 0));
+    return PTR_RET(pci_host_common_probe(dev, &pci_generic_ecam_ops, NULL,=
 0));
 }
=20
 DT_DEVICE_START(pci_gen, "PCI HOST GENERIC", DEVICE_PCI_HOSTBRIDGE)
diff --git a/xen/arch/arm/pci/pci-host-zynqmp.c b/xen/arch/arm/pci/pci-host=
-zynqmp.c
index c796447ac4..0b51ff6bd9 100644
--- a/xen/arch/arm/pci/pci-host-zynqmp.c
+++ b/xen/arch/arm/pci/pci-host-zynqmp.c
@@ -47,7 +47,7 @@ static const struct dt_device_match __initconstrel nwl_pc=
ie_dt_match[] =3D
 static int __init pci_host_generic_probe(struct dt_device_node *dev,
                                          const void *data)
 {
-    return PTR_RET(pci_host_common_probe(dev, &nwl_pcie_ops, 0));
+    return PTR_RET(pci_host_common_probe(dev, &nwl_pcie_ops, NULL, 0));
 }
=20
 DT_DEVICE_START(pci_gen, "PCI HOST ZYNQMP", DEVICE_PCI_HOSTBRIDGE)
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index b63a356bb4..ed665e9f26 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -8,15 +8,17 @@
 #include <asm/mmio.h>
=20
 static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_host_bridge *bridge,
-                                     paddr_t gpa)
+                                     paddr_t gpa, bool use_root)
 {
     pci_sbdf_t sbdf;
=20
     if ( bridge )
     {
-        sbdf.sbdf =3D VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
+        const struct pci_config_window *cfg =3D use_root ? bridge->cfg :
+                                                         bridge->child_cfg=
;
+        sbdf.sbdf =3D VPCI_ECAM_BDF(gpa - cfg->phys_addr);
         sbdf.seg =3D bridge->segment;
-        sbdf.bus +=3D bridge->cfg->busn_start;
+        sbdf.bus +=3D cfg->busn_start;
     }
     else
         sbdf.sbdf =3D VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
@@ -24,11 +26,9 @@ static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_ho=
st_bridge *bridge,
     return sbdf;
 }
=20
-static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
-                          register_t *r, void *p)
+static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info, register_t *r=
,
+                          pci_sbdf_t sbdf)
 {
-    struct pci_host_bridge *bridge =3D p;
-    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa);
     const unsigned int access_size =3D (1U << info->dabt.size) * 8;
     const register_t invalid =3D GENMASK_ULL(access_size - 1, 0);
     /* data is needed to prevent a pointer cast on 32bit */
@@ -46,31 +46,78 @@ static int vpci_mmio_read(struct vcpu *v, mmio_info_t *=
info,
     return 0;
 }
=20
-static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
-                           register_t r, void *p)
+static int vpci_mmio_read_root(struct vcpu *v, mmio_info_t *info,
+                          register_t *r, void *p)
 {
     struct pci_host_bridge *bridge =3D p;
-    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa);
+    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa, true);
=20
+    return vpci_mmio_read(v, info, r, sbdf);
+}
+
+static int vpci_mmio_read_child(struct vcpu *v, mmio_info_t *info,
+                          register_t *r, void *p)
+{
+    struct pci_host_bridge *bridge =3D p;
+    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa, false);
+
+    return vpci_mmio_read(v, info, r, sbdf);
+}
+
+static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
+                           register_t r, pci_sbdf_t sbdf)
+{
     return vpci_ecam_write(sbdf, ECAM_REG_OFFSET(info->gpa),
                            1U << info->dabt.size, r);
 }
=20
+static int vpci_mmio_write_root(struct vcpu *v, mmio_info_t *info,
+                                register_t r, void *p)
+{
+    struct pci_host_bridge *bridge =3D p;
+    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa, true);
+
+    return vpci_mmio_write(v, info, r, sbdf);
+}
+
+static int vpci_mmio_write_child(struct vcpu *v, mmio_info_t *info,
+                                register_t r, void *p)
+{
+    struct pci_host_bridge *bridge =3D p;
+    pci_sbdf_t sbdf =3D vpci_sbdf_from_gpa(bridge, info->gpa, false);
+
+    return vpci_mmio_write(v, info, r, sbdf);
+}
+
 static const struct mmio_handler_ops vpci_mmio_handler =3D {
-    .read  =3D vpci_mmio_read,
-    .write =3D vpci_mmio_write,
+    .read  =3D vpci_mmio_read_root,
+    .write =3D vpci_mmio_write_root,
+};
+
+static const struct mmio_handler_ops vpci_mmio_handler_child =3D {
+    .read  =3D vpci_mmio_read_child,
+    .write =3D vpci_mmio_write_child,
 };
=20
 static int vpci_setup_mmio_handler_cb(struct domain *d,
                                       struct pci_host_bridge *bridge)
 {
     struct pci_config_window *cfg =3D bridge->cfg;
+    int count =3D 1;
=20
     register_mmio_handler(d, &vpci_mmio_handler,
                           cfg->phys_addr, cfg->size, bridge);
=20
-    /* We have registered a single MMIO handler. */
-    return 1;
+    if ( bridge->child_ops )
+    {
+        struct pci_config_window *cfg =3D bridge->child_cfg;
+
+        register_mmio_handler(d, &vpci_mmio_handler_child,
+                              cfg->phys_addr, cfg->size, bridge);
+        count++;
+    }
+
+    return count;
 }
=20
 int domain_vpci_init(struct domain *d)
@@ -101,8 +148,12 @@ int domain_vpci_init(struct domain *d)
 static int vpci_get_num_handlers_cb(struct domain *d,
                                     struct pci_host_bridge *bridge)
 {
-    /* Each bridge has a single MMIO handler for the configuration space. =
*/
-    return 1;
+    int count =3D 1;
+
+    if ( bridge->child_cfg )
+        count++;
+
+    return count;
 }
=20
 unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d)
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907715.1314966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnR-0005a4-0s; Tue, 11 Mar 2025 10:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907715.1314966; Tue, 11 Mar 2025 10:25: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 1trwnQ-0005Yl-Mu; Tue, 11 Mar 2025 10:25:12 +0000
Received: by outflank-mailman (input) for mailman id 907715;
 Tue, 11 Mar 2025 10:25: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=nFC1=V6=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1trwnP-0004Ad-1F
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1bdad314-fe63-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 11:25:09 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU4PR03MB10646.eurprd03.prod.outlook.com
 (2603:10a6:10:58c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 10:24:58 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 10:24: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: 1bdad314-fe63-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PxLQ2DzKOIqnCcIg/+vda0ayaUYfMBT6SiC0X9VrakaEzyVODkOaUUymHVKgY23adZl0s/ryC4Y7bUdY/snkqQWYKcpdnZwHMFmmfRFxKRt+PFYlBzG0RpPt9cmkKRVc64yjWDgFqgVAv0AD4WIzB7F/zpAYoTo287HuKCDjrx5mkSSTWwj+QsKKsdmb0VGPEUXw5N9WdXWPHyZwPqCjSm5T3qf7MIyFlJY7IJj2bYneIjWDHXmmLk1vbrIUQTaNq1TPUTvNJ6pnC2drfwhq4xVR/IXV4Ea7oB1GrzqCtB3Ah6HLGcra3H/tBzzKzHnD3NuUvEN0pEHyTERHTMkwSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gO2IjWfufULwwhkWhKMvUjMTCm7EjpS7pzTWQeUncXA=;
 b=VOi1jxUc25c/ZYO4pjiz/Atu4VJwFLIg1sYTQpkVipf81+cKwL/rSjgHBCja7y8zoD1Sh7QX1WM/MsiPUBAlug7GPVYhaXE1B+5z/LSCjQnLzNjjsHJfKtvfsEpsBD+XnaqFzfZ2oUyNqMNmexp+vciUFcT+iggIlmVYWhtLKZu83mc60Y8LDfzutGdgawPNw6HijIhZxrcj1paaGUafs2Q0xy+qLcIpYxpBU2gdzrY2yrMIDCnOgfp6q9cbggUTzkdIChpfNX1FKddKf+RmIohi++PJcRUE18+D68GypT7uYXCyXW4DWGjw5NwM6nm4Jw7lf0gHCPLwS2ycCfEGJA==
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=gO2IjWfufULwwhkWhKMvUjMTCm7EjpS7pzTWQeUncXA=;
 b=KhfBYpBAHk65esToO58MEXVmKXF5lheQxCvL2pZIPr8aewZyhnjWncnF8dGpJPVqEjg5gtc2AQnu1sJ+r6anHiFp40KsCkIvj1C0n7HGXE+Y11hJNCE/j6kmvyjsbOjatHwMJA78ocHgI8c1zaYeQrHNIFpKrYwFKuXs+Em/wct1Jn/ZBZoiAOafILwUetaDMfJbnZ9BEw2f/ajtx4YJ+5pewwfK6h5Umy/mGiQOXNGX1atGj+SoC15nb6ArAgwEt+pLpW/K9yZZ24PAZ/FtBCqaX8jaebqQ/VtgwDRPO/7/JijT63dzoMPYl2DDwufuLnfizqd0x6U9rCNxky+Wug==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <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>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 7/7] xen/arm: rcar4: program ATU to accesses to all
 functions
Thread-Topic: [PATCH v2 7/7] xen/arm: rcar4: program ATU to accesses to all
 functions
Thread-Index: AQHbkm/WZsnsJQf1WkK0RbNDpdgTwg==
Date: Tue, 11 Mar 2025 10:24:57 +0000
Message-ID:
 <10bf9a3b4489242cf9407a2f70d84be378e9c206.1741596512.git.mykyta_poturai@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741596512.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_|DU4PR03MB10646:EE_
x-ms-office365-filtering-correlation-id: c4be1d56-6851-41b9-c7d1-08dd6086f954
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?P8B0IBehlimYY5w5wo+CR839mkva06YoQ1C9gzjGLwHYUu3k75xYwG0or5?=
 =?iso-8859-1?Q?tJ5t5104zFrVewSEEmR5IKcHvrtk4Cdgpa2G8ZExpUxQcYnc1uInsB564u?=
 =?iso-8859-1?Q?6pu8PBXuRR9uAHHymU5+2LV4D8+4dH7SdYmf2L65wL1F6nUDyPWGYcm64o?=
 =?iso-8859-1?Q?7Ip3xl8ACwdrQ3St2XsHQ6kldcmTRphgcHmHUK1kHngDX2L4XK6RyJ6w1k?=
 =?iso-8859-1?Q?nDdQe0bQPq6Om3hi5dzOhn1oF/g9m0kaSxAquN9M8pbbyyqgYzGwi2fqUY?=
 =?iso-8859-1?Q?Qso6fCN+zvCQQ7hGa19ySr35SGJIlFxK3Ip//qm4VDkXR0Y+aOKhl4u5KP?=
 =?iso-8859-1?Q?OA8zwoJ7+fkSvuqOYrzsjIAYHkdb4ReuH2BNDPV6NhBkkLM7nN0EbAqSPF?=
 =?iso-8859-1?Q?yfUjKDodN0p5YlPLtd1VZMQs2UZfg0EdLKiN4E8ML38QtZZLgoRqDyvZqf?=
 =?iso-8859-1?Q?8+mqkDg+CcWU3PcUortbSlgqAxJkVlXNSU6KWL6ohfGaAEoFAjWmejbWSx?=
 =?iso-8859-1?Q?m+ofO1xRQxnFMZhqrKVZnNlcF61dvaXa1moIJmT3qVaXdhJc8J5P3l/PfZ?=
 =?iso-8859-1?Q?9ly8bWjjiiLXuwiBSmsJ3LnUUIZYHqseEHZbDqOjtYaLS4B+sS2m9Q7KGC?=
 =?iso-8859-1?Q?srN3RIgEFFGrR5yUCcr0n0L1nPKQFDON1qOG/zwF8DoJvMJuPjUr+zYLU+?=
 =?iso-8859-1?Q?KKf1QnKw/z9v3fo4kB0K55G9L8HJDf0Di1sCjNDGn+eN4SOZGVAP/AsVXm?=
 =?iso-8859-1?Q?o5Y8fNhmUP/afvEHW59F565azlNKooUQ9F012U+bJOq8MPnwAFQw4e+DDH?=
 =?iso-8859-1?Q?Qih5zKlsZqhD3VmLwiBhCaSegvn5tm1oDD1vljwjgCsMbqT8tqq/LalXrF?=
 =?iso-8859-1?Q?IglwFOhESwJEW6PqUl5Vm+V2J0ynZGoAGgrpRVy7xYEGMA2FvxSGTppRzZ?=
 =?iso-8859-1?Q?jNxejAJPc4UVvif0YjDTUAuJWhZ/SAwZcvNYJg3r75vM1Dv8A2HxCV4j+A?=
 =?iso-8859-1?Q?pLBsf3eysJwGosTEWMmBk6vp42c+9kSadh+3KLAzACWc5qB1CNNFlSrwvA?=
 =?iso-8859-1?Q?PSGS0QLYRtAqH6jJYjcV7kApAzP7wQEId0SFSfm1T1MbB8E+bctThSKV2j?=
 =?iso-8859-1?Q?btrqP3JxZE852G+G/ZYTcuiotD3m/uaN8HUgsxslpCCCTw+ObOKHxEoDnH?=
 =?iso-8859-1?Q?cg/4t2DL48/3jpiuQezXFwL81srDg4hHu8rODpM0FuuWdYHd7RW//2tL4v?=
 =?iso-8859-1?Q?osONHEDYI/6UhkRfXlZvSuB6Ij8DdwErUKDPJ9VXI3MySciAA7GkhspZ/H?=
 =?iso-8859-1?Q?N1yfrh+HY9B0lOmll38VQ0gkre64+xsgsQQ4+VB+0mq8SxR7WIKL+5WCSR?=
 =?iso-8859-1?Q?7uazTQusHrDDCVP0Uo7my/WZAt+ihks6/Lp7a+Kn+NDSzKUp0Bgk/zqdfy?=
 =?iso-8859-1?Q?fSllX/TVb3J0UBlwGvt3KhvnVkvgsBPS/1j3HDx8EN8oHTG+nClGcJD6DN?=
 =?iso-8859-1?Q?e/D3srvZoGEImygHfVW9/z?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?GOkryCYrJrvp4VNYUsNfRl3pvTAwSV1j9ShbxEDPy4tpeSTdzxbgcBcYu/?=
 =?iso-8859-1?Q?C357Ku5h+GzqE8NaaQt7f6lLXC1ehFocBV0Fs9Ybf7EukEw4I/RF9fy/Fp?=
 =?iso-8859-1?Q?MP1rcvxjYoxAK8jaHC6QV4pAvintLdmjUrc++MrIBP6IWWKtgzzkLkEmfj?=
 =?iso-8859-1?Q?kEjg6U0t1S82Pg+pLSOj57Tv0vGq9+30IydkpUJsdDxowhp7Sc3OUj2uvY?=
 =?iso-8859-1?Q?yaPdaqoDp7FLUsrQL3K7tdXXYK9rPsN+h6fHFsOOI5y6evl5GmmwmFOhNw?=
 =?iso-8859-1?Q?TE7eVHwTZun4xbG/HldTqoqyCgtE1O1e6cM0BcQxXw+aeauhUynfV9xTAD?=
 =?iso-8859-1?Q?wwo7vWnl1fINylmfOfCwylGZUuky/tWqosbOz1n6j8EbYss+jf2MoBbdcH?=
 =?iso-8859-1?Q?dJdI4S9b3KL90yspdtmqVy5xJd9qs8/WuhkyAgZN/W7P+KKOb40A2RHQ62?=
 =?iso-8859-1?Q?cHRM9HSwWfpIfpsTMqCFUkdpcH/o/258pR8AOJlBb8pu401U47vhv58sTm?=
 =?iso-8859-1?Q?3ukeZpeLYr9blcMEHgNC0C6oRiuPmukDEKiRRFNG1XLBcqfv7rSYjNfHs+?=
 =?iso-8859-1?Q?i1Xm/ZsPf8Q3jw5PDWjkNW4zmiWFk1fksExa/Qf/VUDjNZCEsW4//gEOF9?=
 =?iso-8859-1?Q?kGnLfSXVWLtaBB8E5tFwPa8RQc7lCnRjCh+knw1OPI0ujM1VjhcJAzeJ50?=
 =?iso-8859-1?Q?fWWIo2PgAt582FjU26LZN1U3Ioz4aUlZ6X1Zz/Va9WbqcZ1gW1mammK1Sy?=
 =?iso-8859-1?Q?fMGJdGTv3z27Elk08co8HcnuGQTgbRhOL27Hv5UjDGPFgpi7fcp1lAwlLF?=
 =?iso-8859-1?Q?9YDYWR/LMOrGY44ELQCTP2Czb7JBmcCXuTndLoRCC4eG8h994x6lpu2KZ+?=
 =?iso-8859-1?Q?uBkKlIoV0s873ZPeQ9secFg4C4k8GfmPodV8ePlUeJ1inTUxsrGHY+u3CE?=
 =?iso-8859-1?Q?EeNtW0PCbYr5m0QU4KSUT3yhTReBIg9PYU1Q9tr6ZVJuga5CtJG5lbwyB0?=
 =?iso-8859-1?Q?5/wIs1N9nq2QB72n9Fu0z9hAirctOCFUmo43rdQEyQwBgEEB62M2bwd5oo?=
 =?iso-8859-1?Q?JiZdFXEbSWR5ygwKfMQSqF+x52Lu1hP7t0TxjvEh0BmbwdV+dJg5GAp/Mb?=
 =?iso-8859-1?Q?QZZTPXHfUSryykEWoEAcyecwn4aVx2Uk4Og/U+1aWJp0mFhGgYaJ9XoHkR?=
 =?iso-8859-1?Q?m5qdjcMNJBAL88QEdxhwgqDREQu9uN/vdYKJ3nWYFhqdmUFo98QFA8fNQm?=
 =?iso-8859-1?Q?42+XNcXgn5wQzicjrXpy8DIXnAhP2QPZsQaXdxKMWGHzQ4guaeTUjjbPRa?=
 =?iso-8859-1?Q?GiLsK4z8oP9AAnSDvo75+R0S3L2Ok6w/g4ktM7xSaIVMXAXYsyRmNTfsET?=
 =?iso-8859-1?Q?hyiK12s7KhgiG5NdGluTV7EYfMX8zTvqt4bcRZ2gbS5kv0Q7Cv6hTwFOzK?=
 =?iso-8859-1?Q?XzhIs4B6zKMKi6P7Lw6kNlSzECq/GKaj3jJ3xpojZ5aiHnISMLw+Y9bTzn?=
 =?iso-8859-1?Q?I+EiJKZiIvxiQ3MlW/0Lnl6FVpETUKuN53n5UiI+2DwFyHdcEv1M1DechZ?=
 =?iso-8859-1?Q?eVWm3BLGjNDLF/GYt9r52dVxzl7Ig7EFj0B5AM856H0D0/clhTFO9/rpmp?=
 =?iso-8859-1?Q?5BZfULa7T6W4KuGUlWkBYzdug7HUaEOlb4W228xe4gu3QbYi5dXN+kzg?=
 =?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: c4be1d56-6851-41b9-c7d1-08dd6086f954
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 10:24:57.2139
 (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: cg/wVhin8kV0txwdqfVNwEo/18o0O2pkXTqAhlCIpBxSqEDfLcHERnzz547ZH47YUyhoRXg5yV/1Ec+gq8MAZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10646

From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

According to ATU documentation, bits [18:16] of accessed memory
address correspond to a function number. This is somewhat similar to
ECAM, but with huge holes between regions.

We can use this to minimize number of ATU re-programmings: configure
ATU to access BDF with F=3D0 and adjust memory address with function
number.

Taking into account the previous patch, that optimizes ATU
reprogramming by skipping call to __dw_pcie_prog_outbound_atu() if we
already configured pci_address, we can be sure that accesses to all
functions of one device will not trigger ATU reprogramming at all.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* rebased
---
 xen/arch/arm/pci/pci-designware.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/pci/pci-designware.c b/xen/arch/arm/pci/pci-desig=
nware.c
index cec52cf81a..fec8c7296d 100644
--- a/xen/arch/arm/pci/pci-designware.c
+++ b/xen/arch/arm/pci/pci-designware.c
@@ -297,7 +297,7 @@ void __iomem *dw_pcie_child_map_bus(struct pci_host_bri=
dge *bridge,
     uint32_t busdev;
=20
     busdev =3D PCIE_ATU_BUS(sbdf.bus) | PCIE_ATU_DEV(PCI_SLOT(sbdf.devfn))=
 |
-        PCIE_ATU_FUNC(PCI_FUNC(sbdf.devfn));
+        PCIE_ATU_FUNC(0);
=20
     /* FIXME: Parent is the root bus, so use PCIE_ATU_TYPE_CFG0. */
     dw_pcie_prog_outbound_atu(bridge, PCIE_ATU_REGION_INDEX1,
@@ -305,7 +305,7 @@ void __iomem *dw_pcie_child_map_bus(struct pci_host_bri=
dge *bridge,
                               bridge->child_cfg->phys_addr,
                               busdev, bridge->child_cfg->size);
=20
-    return bridge->child_cfg->win + where;
+    return bridge->child_cfg->win + ((uint32_t)sbdf.fn << 16) + where;
 }
=20
 int dw_pcie_child_config_read(struct pci_host_bridge *bridge,
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:25:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:25:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907727.1314983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwnc-0006lG-Ct; Tue, 11 Mar 2025 10:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907727.1314983; Tue, 11 Mar 2025 10:25: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 1trwnc-0006l5-9D; Tue, 11 Mar 2025 10:25:24 +0000
Received: by outflank-mailman (input) for mailman id 907727;
 Tue, 11 Mar 2025 10:25: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=RDOX=V6=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1trwna-0004A4-VP
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:25:22 +0000
Received: from fforwardh-b1-smtp.messagingengine.com
 (fforwardh-b1-smtp.messagingengine.com [202.12.124.196])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 227941d7-fe63-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:25:21 +0100 (CET)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 1C0421740202;
 Tue, 11 Mar 2025 06:25:20 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-10.internal (MEProxy); Tue, 11 Mar 2025 06:25:20 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 11 Mar 2025 06:25:18 -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: 227941d7-fe63-11ef-9898-31a8f345e629
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: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=fm1; t=1741688719; x=1741775119; bh=8
	gtu3M66RCphGMRnb9LvcGgL3tCIvFU0NSfbGCgNSNk=; b=u8SNWHU6Yy8xgjpQ2
	vewv/lW60El1BSUgR2ilmhjELEPFKAk0JiPe5H5uh1tZkZqST2l5Md5d4m6LMziA
	UvQQo3qb5lQ0A/z0ty13YOlcTMjpoAPCJx00/InKXwIg8mntHdiYp2wxLvOfGso7
	mY0lzDNJpZTpqoYvEWwbKFIWIjyeQXx5cxqhhelzo98aCJ2kOKMt1Kct8V4jDMNJ
	12FsTuVnyV4Fh2K0McslFGjvU0MfiKE//k2pQUcaxkjUazjnihlxhPEZl4pzajZ+
	VsvQSGGiVq358dsYL93Tb3k8vN7ZoPonChqtdG3dJqjL5Vb/Q4aBE8YBUGYchMLJ
	gMuHg==
X-ME-Sender: <xms:jw_QZ29aw5blsO_My26eZs5WVBVtF58Iecw7RJRQTYh1zmyAxdQOTg>
    <xme:jw_QZ2tXt5ytFtARwbHmG236FcliH0zNZnD3DECR2Ju-eAYbft2yGb0G-bAdsKHSm
    iyXEkcG6okb0dekDMA>
X-ME-Received: <xmr:jw_QZ8CynsqazJCuYX_JRWIhsJR1EWuX1BzVX5KH_v4QeUJBo2MdXscf>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdduleekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgi
    gvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthht
    ohepshgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtohepjhgsvg
    hulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghr
    feestghithhrihigrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrih
    igrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:jw_QZ-cHDmgPs7_ghUr6V1SoeQ8ukVwkFEMUHepUSl6T-oIdZ8ZnFQ>
    <xmx:jw_QZ7OrSsAClGmbBo-u2vms-VQiLnCfsX9cSA5uApeggJnJ7oNCKA>
    <xmx:jw_QZ4mJ-PmZhicezSZBPyhtPKkkZJiYqEdxOQgQIF666pO-DDUm9A>
    <xmx:jw_QZ9s2TcXFjxgL2J3pc8v52j1kT7uM1Hja5jFLMQRX_WmkofspRw>
    <xmx:jw_QZxvqveXxrBYq1rfwiAv82Bgf-pjXtxFjvEa9IPRmigv0Ji1f6w>
    <xmx:jw_QZ22kOo20lvr4k47Cyuvt_6MjM1IN55qVel2z1v34jJvukzhFp2mxTQjL>
Feedback-ID: i5fdb7c23:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 2/3] x86:monitor: control monitor.c build with CONFIG_VM_EVENT option
Date: Tue, 11 Mar 2025 12:25:17 +0200
Message-Id: <6acad259a83b09544b2ac7cec0bfc5dd5e434fb0.1741687645.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace more general CONFIG_HVM option with CONFIG_VM_EVENT which is more
relevant and specific to monitoring. This is only to clarify at build level
to which subsystem this file belongs.

No functional change here, as VM_EVENT depends on HVM.

Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index c763f80b0b..f59c9665fd 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -49,7 +49,7 @@ obj-$(CONFIG_PV) += ioport_emulate.o
 obj-y += irq.o
 obj-$(CONFIG_KEXEC) += machine_kexec.o
 obj-y += mm.o x86_64/mm.o
-obj-$(CONFIG_HVM) += monitor.o
+obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += mpparse.o
 obj-y += nmi.o
 obj-y += numa.o
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:27:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907763.1314993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwpb-0000an-RA; Tue, 11 Mar 2025 10:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907763.1314993; Tue, 11 Mar 2025 10:27: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 1trwpb-0000ac-Ma; Tue, 11 Mar 2025 10:27:27 +0000
Received: by outflank-mailman (input) for mailman id 907763;
 Tue, 11 Mar 2025 10:27: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=RDOX=V6=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1trwpa-0000aF-Un
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:27:26 +0000
Received: from fforwardh-b1-smtp.messagingengine.com
 (fforwardh-b1-smtp.messagingengine.com [202.12.124.196])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c2b999a-fe63-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:27:24 +0100 (CET)
Received: from phl-compute-11.internal (phl-compute-11.phl.internal
 [10.202.2.51])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 5DABE174026E;
 Tue, 11 Mar 2025 06:27:23 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-11.internal (MEProxy); Tue, 11 Mar 2025 06:27:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 11 Mar 2025 06:27:22 -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: 6c2b999a-fe63-11ef-9898-31a8f345e629
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: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=fm1; t=1741688843; x=1741775243; bh=G
	Dnll3y+gmMLSLaE30GCig0th50OGyuwuf+2w72YSio=; b=lr1xUqHPG5mG1c5/j
	zaXC0j1WhgoFWaC1wRkKzFbNOd9CXCnTgylI8BFj29ZN97D+pdtwSpMdSz14axdR
	/6SSPyX4SiPMwAAjQvxOTb05PZGEslokf7mDW5U/GwS/ICJ7bAVLMnKJfNbuRZxa
	VTR9LS0rkDrvZbjjD6v1l5nZ1nnY2ybBfLXLNfP7rdsHwn1Xrcpucka+hEsQEKIi
	MaVYqCx58AfjsKsaSfpEWkV88M52t53B5qurXucu6yIH0GeYfYyUCi+1ixz8lxL4
	Vag6uwJ8WTk8v4DJ4sHnaZOc5UY5tF2Hzd2Aj8w4ZHg9h8keIT5xcvd93O6A54Zj
	S5bLg==
X-ME-Sender: <xms:ChDQZwxvr2SPi1qT-0jYXTln4Hl0f6UjeISTo-XjAyyAw70NEDkvtw>
    <xme:ChDQZ0QsfYsa9MaQseyAeZdTzGuJc4A7egkjmKxrRGjCmeT9Ht7Gd7MmKJukM0wfL
    hqQi_mBZCJezjvvrlk>
X-ME-Received: <xmr:ChDQZyVJIZh7BwdhhpHckUlIwjlea7p5-tyThxIwIkBGl0UZim2A4Qjy>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdduleelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepudeipdhmohguvgepshhmthhpohhuthdprhgtphhtthhope
    igvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphht
    thhopehsthgvfhgrnhhordhsthgrsggvlhhlihhnihesrghmugdrtghomhdprhgtphhtth
    hopehjuhhlihgvnhesgigvnhdrohhrghdprhgtphhtthhopegsvghrthhrrghnugdrmhgr
    rhhquhhishesrghrmhdrtghomhdprhgtphhtthhopehmihgthhgrlhdrohhriigvlhesrg
    hmugdrtghomhdprhgtphhtthhopehvohhlohguhihmhihrpggsrggstghhuhhksegvphgr
    mhdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrd
    gtohhmpdhrtghpthhtoheprghnthhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggt
    hhdprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomh
X-ME-Proxy: <xmx:ChDQZ-jO4nbfzof4DHKdJghxS6sqkBGVLLp6OdlbzJ_9-K06lc55Gw>
    <xmx:ChDQZyBNmo5TqBaT3zya5s6KRtBnNEbebU7CyF8u0FJGANl524d1eg>
    <xmx:ChDQZ_IyZLOXM7A1UHeuwkLcOlRFhKgtyFfJuV82GRpWdkOf-CUSvQ>
    <xmx:ChDQZ5CuJK01ZXQfV4YQNjHW-3PiebySkHuGvByC2iP9-OZj-h6rZA>
    <xmx:ChDQZyyA5ILarRMHVqiAU6lqYwvARmjgmh2L2BcjS1klkj8OctOhvQ>
    <xmx:CxDQZ4TLYs5hUtWNyzA3lgUanqiwrdZ2MFifSsvaOdaykfZsYkqjkk_CNdRp>
Feedback-ID: id5edb69a:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
	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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [PATCH v3 3/3] xen: mem_access: conditionally compile vm_event.c & monitor.c
Date: Tue, 11 Mar 2025 12:27:20 +0200
Message-Id: <e37da57b94fd3bd4f314e6fbd7b6b94aee4b4607.1741687645.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Extend coverage of CONFIG_VM_EVENT option and make the build of VM events
and monitoring support optional. Also make MEM_PAGING option depend on VM_EVENT
to document that mem_paging is relying on vm_event.
This is to reduce code size on Arm when this option isn't enabled.

CC: Jan Beulich <jbeulich@suse.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
changes in v3:
 - add dependency MEM_PAGING -> VM_EVENT
 - monitor_domctl() stub returns -EOPNOTSUPP
changes in v2:
 - rename CONFIG_MEM_ACCESS -> CONFIG_VM_EVENT
 - tags
---
 xen/arch/arm/Makefile      |  4 ++--
 xen/arch/arm/vsmc.c        |  3 ++-
 xen/arch/x86/Kconfig       |  2 +-
 xen/common/Makefile        |  4 ++--
 xen/include/xen/monitor.h  |  9 +++++++++
 xen/include/xen/vm_event.h | 14 +++++++++++---
 6 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 3bd5125e64..4837ad467a 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -40,7 +40,7 @@ obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-$(CONFIG_LLC_COLORING) += llc-coloring.o
 obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-y += mm.o
-obj-y += monitor.o
+obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += p2m.o
 obj-y += platform.o
 obj-y += platform_hypercall.o
@@ -66,7 +66,7 @@ obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
-obj-y += vm_event.o
+obj-$(CONFIG_VM_EVENT) += vm_event.o
 obj-y += vtimer.o
 obj-$(CONFIG_SBSA_VUART_CONSOLE) += vpl011.o
 obj-y += vsmc.o
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index e253865b6c..6081f14ed0 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -330,7 +330,8 @@ void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr)
     }
 
     /* If monitor is enabled, let it handle the call. */
-    if ( current->domain->arch.monitor.privileged_call_enabled )
+    if ( IS_ENABLED(CONFIG_VM_EVENT) &&
+         current->domain->arch.monitor.privileged_call_enabled )
         rc = monitor_smc();
 
     if ( rc == 1 )
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6e41bc0fb4..f086799594 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -350,7 +350,7 @@ endif
 
 config MEM_PAGING
 	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
-	depends on HVM
+	depends on HVM && VM_EVENT
 
 config MEM_SHARING
 	bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
diff --git a/xen/common/Makefile b/xen/common/Makefile
index b71d4b3efa..ac23120d7d 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -54,7 +54,7 @@ obj-y += timer.o
 obj-$(CONFIG_TRACEBUFFER) += trace.o
 obj-y += version.o
 obj-y += virtual_region.o
-obj-y += vm_event.o
+obj-$(CONFIG_VM_EVENT) += vm_event.o
 obj-$(CONFIG_HAS_VMAP) += vmap.o
 obj-y += vsprintf.o
 obj-y += wait.o
@@ -68,7 +68,7 @@ obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o
 
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
-obj-y += monitor.o
+obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += sysctl.o
 endif
 
diff --git a/xen/include/xen/monitor.h b/xen/include/xen/monitor.h
index 713d54f7c1..634b6cd2a1 100644
--- a/xen/include/xen/monitor.h
+++ b/xen/include/xen/monitor.h
@@ -27,8 +27,17 @@
 struct domain;
 struct xen_domctl_monitor_op;
 
+#ifdef CONFIG_VM_EVENT
 int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop);
 void monitor_guest_request(void);
+#else
+static inline int monitor_domctl(struct domain *d,
+                                 struct xen_domctl_monitor_op *mop)
+{
+    return -EOPNOTSUPP;
+}
+static inline void monitor_guest_request(void) {}
+#endif
 
 int monitor_traps(struct vcpu *v, bool sync, vm_event_request_t *req);
 
diff --git a/xen/include/xen/vm_event.h b/xen/include/xen/vm_event.h
index 9a86358b42..268c85fc4f 100644
--- a/xen/include/xen/vm_event.h
+++ b/xen/include/xen/vm_event.h
@@ -50,9 +50,6 @@ struct vm_event_domain
     unsigned int last_vcpu_wake_up;
 };
 
-/* Clean up on domain destruction */
-void vm_event_cleanup(struct domain *d);
-
 /* Returns whether a ring has been set up */
 bool vm_event_check_ring(struct vm_event_domain *ved);
 
@@ -88,7 +85,18 @@ void vm_event_cancel_slot(struct domain *d, struct vm_event_domain *ved);
 void vm_event_put_request(struct domain *d, struct vm_event_domain *ved,
                           vm_event_request_t *req);
 
+#ifdef CONFIG_VM_EVENT
+/* Clean up on domain destruction */
+void vm_event_cleanup(struct domain *d);
 int vm_event_domctl(struct domain *d, struct xen_domctl_vm_event_op *vec);
+#else
+static inline void vm_event_cleanup(struct domain *d) {}
+static inline int vm_event_domctl(struct domain *d,
+                                  struct xen_domctl_vm_event_op *vec)
+{
+    return -EINVAL;
+}
+#endif
 
 void vm_event_vcpu_pause(struct vcpu *v);
 void vm_event_vcpu_unpause(struct vcpu *v);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 10:33:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 10:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907795.1315003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trwva-0003My-DB; Tue, 11 Mar 2025 10:33:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907795.1315003; Tue, 11 Mar 2025 10:33: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 1trwva-0003Mr-9Q; Tue, 11 Mar 2025 10:33:38 +0000
Received: by outflank-mailman (input) for mailman id 907795;
 Tue, 11 Mar 2025 10:33: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1trwvY-0003Ml-Tt
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 10:33:37 +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 48ff1b25-fe64-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 11:33:34 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac2bfcd2a66so74779366b.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 03:33:34 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac25328f86fsm773210266b.64.2025.03.11.03.33.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 03: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: 48ff1b25-fe64-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741689214; x=1742294014; 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=l2dt2YEi6bkLuYjuQ4wupWEEHqAqv6aJi8xRVFE4GCI=;
        b=Cjj33nortfjFJw+1NozPs+LRP+roELCeexcDyqaUAxpqeC/IVwjLWdEyF1TuYbQYdK
         EEvjYsvaUSbcWrzptq7KrLSF3+ueL4TY8Kcwb2ESqeIoohw7eGYTUiZoSb4GDS4bjLIj
         X4WuA8Dqf+e0kfRYWM41xB3Gfx3g9aAHMbH4ewAjRMBIwgKg1mES8cHnLRYNQv4BBc11
         LhG8tLz/Ii25pwWIquKjapZSDAsg+kgZHiXUgCwQbiExkdK/kGGv4euagxv+0MuekGRz
         5iUw8O5B86YRHydt7jwiK0/ckHErBIebHhlSuVX5bQ/3wVxLjJ4zJQKMcgeloDjAwtm6
         YL5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741689214; x=1742294014;
        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=l2dt2YEi6bkLuYjuQ4wupWEEHqAqv6aJi8xRVFE4GCI=;
        b=gTSO7F3jEUyeC0sjGHxaieTSl6Oar+f9u8wwEZ//AJveKDr2RkiK68wRsrynqSda12
         9z9Q2QdJv2FrSx9N6Uxa2KdOcz2JKUz9p7c1qT1RGfyCcUzluxYOHwYxLfz6+vA/tevb
         msQi79m1qWK+TECPx5xkPYFZg+qosHevIxkqF55PpKAH70tSiBvwZzJEfZulFTSLMnsr
         bVCH2RmCuvM8LKeWUAX2Qav+uYAWzNHVM5rD0clYGsaI6KbjXqI2puAuTbkG86zz3MKv
         142xB31OVHGl0nZCBSrEQ8OW/GiQkBj3h91NEfv5gyFe7Y8J88NB9EuSSwPqvpulN6m5
         qeYw==
X-Forwarded-Encrypted: i=1; AJvYcCVnu3kwhBgSLrtAAwEUmgin+uBWjIp/nakeOVq8Ul41lOfDpbk8rDGJHJx+K1bk0mZh8800I550llM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0aTeZUKRyoPXI9f6prOx+9jKp6kr6/ckXQsQ9GxusfZuWsUeE
	+MD9r1x2WJBSgWDj+tRmlrxZv5HMwblg1sPvueT2ZwUpKIQIM6AM
X-Gm-Gg: ASbGncvcciZYAgw5uNJ3qfxkKPkgH4iAKwbkF4RtlQEz7awD6XTTWh39KEKpnIBAVcz
	V/vLVO3WcqLOnTQXRxh4OP6290R+xbXfQGBA0CSMJKavJgdUSJxolVowd+oZ6Q0SAAeqcHi51tl
	Q1TzldOTxTOtAy0S45ZIScr4Kc69FBP3ClvKjD25ZZoAsTymDyBlAYDsgZRv2i14nTp3VxFuvgp
	bfCsR20TqcNcT5rhNL2k15lnYwbhXO9jDZg7n7ImT9lwy4C0zfv5lIttPo+/60QuBuqTOjVGcBJ
	aKz5wrQUoTIc4tFoHwtZ+snhSMyly5Ps4YGCQoNrwyVF24Jeg7WjuekliPgGnzU2/h3dC+OD5Hx
	sRXPwnX1SBp/Rj3ItdEv+
X-Google-Smtp-Source: AGHT+IGxQY4J2ZrJ/3Exe+Kv+bny7qsqr9NTO2YmBvq8vA6gl2tte2UFl+QVCbdLHKk0Z6+OGccakg==
X-Received: by 2002:a17:907:158a:b0:abf:fb78:673a with SMTP id a640c23a62f3a-ac2b9e1e390mr292725766b.29.1741689213702;
        Tue, 11 Mar 2025 03:33:33 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------IBCb16rOC0R6LYt0gbOFyik8"
Message-ID: <0343b6a0-9b38-45dd-be05-9b5f599c3bde@gmail.com>
Date: Tue, 11 Mar 2025 11:33:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 16/16] CHANGELOG: Mention Xen suspend/resume to RAM
 feature on arm64
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Community Manager <community.manager@xenproject.org>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <9706307f5349238240704c5edf2e708a5d93ddf5.1741164138.git.xakep.amatop@gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <9706307f5349238240704c5edf2e708a5d93ddf5.1741164138.git.xakep.amatop@gmail.com>

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


On 3/5/25 10:11 AM, Mykola Kvach wrote:
> Signed-off-by: Mykola Kvach<mykola_kvach@epam.com>
> ---
>   CHANGELOG.md | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 04c21d5bce..489404fc8b 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -7,6 +7,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>   
>   ### Changed
> + - On Arm:
> +   - Support for suspend/resume to/from RAM on arm64

With proper Acks for the rest of the patches of this patch series: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

>   
>   ### Added
>   
--------------IBCb16rOC0R6LYt0gbOFyik8
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 3/5/25 10:11 AM, Mykola Kvach wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:9706307f5349238240704c5edf2e708a5d93ddf5.1741164138.git.xakep.amatop@gmail.com">
      <pre wrap="" class="moz-quote-pre">Signed-off-by: Mykola Kvach <a class="moz-txt-link-rfc2396E" href="mailto:mykola_kvach@epam.com">&lt;mykola_kvach@epam.com&gt;</a>
---
 CHANGELOG.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 04c21d5bce..489404fc8b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,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>)
 ## [4.21.0 UNRELEASED](<a class="moz-txt-link-freetext" href="https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging">https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging</a>) - TBD
 
 ### Changed
+ - On Arm:
+   - Support for suspend/resume to/from RAM on arm64</pre>
    </blockquote>
    <pre>With proper Acks for the rest of the patches of this patch series: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a></pre>
    <pre>~ Oleksii
</pre>
    <blockquote type="cite"
cite="mid:9706307f5349238240704c5edf2e708a5d93ddf5.1741164138.git.xakep.amatop@gmail.com">
      <pre wrap="" class="moz-quote-pre">
 
 ### Added
 
</pre>
    </blockquote>
  </body>
</html>

--------------IBCb16rOC0R6LYt0gbOFyik8--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:07:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907836.1315025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxRy-0004QT-Vb; Tue, 11 Mar 2025 11:07:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907836.1315025; Tue, 11 Mar 2025 11:07: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 1trxRy-0004QM-SH; Tue, 11 Mar 2025 11:07:06 +0000
Received: by outflank-mailman (input) for mailman id 907836;
 Tue, 11 Mar 2025 11:07: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=5FZT=V6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1trxRx-0004QG-N2
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:07:05 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20621.outbound.protection.outlook.com
 [2a01:111:f403:2408::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eeb75080-fe68-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 12:06:51 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by SN7PR12MB8026.namprd12.prod.outlook.com (2603:10b6:806:34b::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 11:06:48 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 11:06: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: eeb75080-fe68-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pSBK+/rtJpwq+nxvqtUhyquhQ8p6M3PpLN0WmrLk2TztI7wJvemlpnOZcogJJneUEuotqlh7qL32OxD1EKS1MYYQBYzlJX0tEwml5Q3Nyo2a11RRMeZHJNZBx0TmyVbmPT+TN4QB1H/PtC+j+vHnWQ0aWe9dV92yzSnQ5C+N6Au0JIynswBZO6f/FbXxH3IDj4bR4t8cclbpEtu/ZKO5VLKYtiGQ1AztVw8SOBIp1nR1LFvKN0fPZ8cPofq7BBz3knxhuxnbrDnZ4wV6P2wdpOrDL2F9YuR5khf5O+3g5JEpYDZSfrZWhWmoSR+M/ybmzm+V0eVoZtGc/HsUi7qWNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jnOnmr6gHGourkrlcNvTlbPdrZcR/t1xMPpkUjoIn0c=;
 b=oSXrDjjJUfwya7F75CBgFZ3MOy3pz8qpmR1+WP6ldzwjIgrRARpx+mZgtoK4yme8ZWeFgUK4SgYkFuUbgXLh7k76wTCZKO37nWMQDV1IuhWi0XXPDi96MLIa27uxOjr6w190IL3PNT/qaQRe02B4uPD+loOMXFDiCWuL0qwwWMV1CjEMWO2YJ8SEe/uw7pJgRdzOUD1iJ/mEnGpPqPvWq2pog+94I05s1+EgfkfuCBdDKrt/v10TBmcP+lzkpkFwrFH49RTnAsqHhbFfYM0iYnsygM+1jlRTZOukLT26CoQa073dT0sKusFLHADh7c6K0lJ83ia6DqLrCAGVnl9IkA==
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=jnOnmr6gHGourkrlcNvTlbPdrZcR/t1xMPpkUjoIn0c=;
 b=3e2TW78q3SYhnVjl9nC+ztQGjTad1nljnr3CA+yathj335IpUo7iTmTkK69lLqDgyD0y0ya930FzQOJ7imQ8mSFZdoH9AS1ikwKhbxofRvnl/V7RAtSFVGQaLQKhyG/wyrBjKtkT3Ei2W6oOPaL+DLIRp6IayRruRjG5iECZKVg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <8b06403d-02c9-49d1-a5d9-5aef57dde3cc@amd.com>
Date: Tue, 11 Mar 2025 12:06:43 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm: Improve handling of nr_spis
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-2-michal.orzel@amd.com>
 <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
 <2d66e9e2-e6a4-4552-960a-2e8d95555ff4@amd.com>
 <17173844-577F-44C0-AA74-984ACAEBABC3@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <17173844-577F-44C0-AA74-984ACAEBABC3@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0382.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f7::20) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SN7PR12MB8026:EE_
X-MS-Office365-Filtering-Correlation-Id: d47ace9a-7334-4d5f-6afd-08dd608cd12a
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?VW9JRno4WXNNM1lOVVdwNkl3b1ZncjZudnpEenlKSXY2U3dHdE1RYWtXL1Bv?=
 =?utf-8?B?MWN3cnByUlU3TkNnNUF3bUxPemh2ck16UkF5bmdkREJPRS8zTy9uZGQ5UC9a?=
 =?utf-8?B?SzFHZzdRRkl3dVNWZEpwT0VRbXJQNk1jVk5NbEVwZC80SFpVTThmUVMyNTZo?=
 =?utf-8?B?TndLZ2hoV1VsRXNVN3RBOWJGYUh6cHlrNVlKelIyNUIvUzJsNzVwRlA3WmtQ?=
 =?utf-8?B?bWNqemtyeFU5dTJkQ3hDakRGS2xLNG9oakF6MmdFYXQrM1ZhTWQ2cmJybXk3?=
 =?utf-8?B?QVhXaDdxeGFIbWxaMzUxNk55ak9xZmFjd1l6dm56Ti9wMVBoN0REMC80dDgv?=
 =?utf-8?B?MnV0cjdNZ3ZwV3MwWXRVOVdvTjhxUUUwZEFadUZMNW0yOURqSXllZVRNTUdk?=
 =?utf-8?B?aG5EemlmaUxSenIyMy9SekpHeUF4bW1Sa1lVNWJpZWY0ZmhBUzQrUm85bnZx?=
 =?utf-8?B?bVNhbDZ2OSt4VHl4bEwzSjFYTUt0MHZYbkFGdFpjSUh3MDVUWGtXbWM4ZDVW?=
 =?utf-8?B?MDBhMzZTeHY3bUp3U3lNZFRQS2RDTWU1cm00ZjE3MEx1MWx0b0VINHpjbkZH?=
 =?utf-8?B?K3lXTDVpcjkwOU5BcFVxYnJQSS9KMDgzdFhSTHZPL0ZNQXNpQlpCcWt4bjZI?=
 =?utf-8?B?bGhFNFYyak1zTWs5eEI4bmF2L2JoZC9kZjFZT2ZrVDY0WjB3bVNmYjBNcVYx?=
 =?utf-8?B?aG9rZnNWaXEwcWRHRUVtTElraWhoMlUrMnhsdEorMkdoSVdpZWVqemJpNEJ1?=
 =?utf-8?B?ZXlkOHcrRkpSN1hnNkdIZTgrdUl6Y0gyVHdHU1B0dkVWY0RWVTFiTmt5cmxG?=
 =?utf-8?B?TG9EL1hXYm03a2luNms4TlpCcmdLSU5GYXNxdk1wWDNjYVM3V0xoeG1uN0dL?=
 =?utf-8?B?cWtLTENQUUFhU3Jja016L0RnWGY3WUErRE1qVTU1Y0JtdmR3L1pWYkFaY0Zn?=
 =?utf-8?B?VFZGTFlTRndFOGFLSkoza3RhbXdSN3JTWURGbU1TN0pJVDRUdHJ1c3VTd1VK?=
 =?utf-8?B?NjB1dDdMVmxGTFhGWnJNU25XY3hyeTRRRkRiQnpJSlBsWGh2SlNiTWxieFd5?=
 =?utf-8?B?UnY1enF1Qi9kUEh6STlNTjV2bFMvNCtWd1Y1bzRBVmE2bEVpcklTajlaaVR4?=
 =?utf-8?B?LzFEdmFlWW8yNU5GWitsZjhoWm1wSmtvWkg3M1NTMkFyRXVqSHlteDhRTEtW?=
 =?utf-8?B?Z21IYVpvdis0dUhZN0xDTyt1bC81VnliM0sxSVFoa0ZaUjd6U2VoQUhRM2Vs?=
 =?utf-8?B?Z1V4emRRRU5Zc3gzM1RzWE9YV2pQQUpUdDlGMVFLS0wxL3B1QTJiUkFiVEhT?=
 =?utf-8?B?RStOWnk2YUNucFVCS1QyTk1qYXNqSFRieGVDK1did1dYMVpZelNqS21idUMw?=
 =?utf-8?B?T3I3bGIxNy9hSE9leFpNb0swVDduKzM3VlErSWdsblhEWXdSbjdRZTBUQmpR?=
 =?utf-8?B?YkVZUERMK0FoU0JCU3JNQS9kWVY2Y1NNdnlDTERlUUVYdzNWWHd6WVdoSmhx?=
 =?utf-8?B?Zy90UGZpZk5SZ1ZSaXVGaUdIRzJGeStWNVFwTlVBa3l6UHJlNEtzWWVLcjdv?=
 =?utf-8?B?bmlPTE1tT2duQVJ6NnVMZmNuUHN0b2g3dURnYUp3VExMRi9wRnZtZERJcDRm?=
 =?utf-8?B?dG9ZbjdDWTJvV2lsSWQrWUtlekN4VkNpaWN4VDZlSTZjaUhmV0lzNFhEVDk4?=
 =?utf-8?B?TzFiNDh0bTQ2TWdiaU9RRkllRitheGZUaUtPdmF2U3UvUzRLSWNpOSsyd3Ey?=
 =?utf-8?B?aFJoVXNXRU11bkdvSHgrV3RQSkVPd1JTZm80SkJYTnFjK0s2ZTRNWEltOFZH?=
 =?utf-8?B?NHJlUTJvL2MxdUU4MnpMNWhlYzZueGpnMDhrMDdGbUEwT3IrWDVBSFdJanR3?=
 =?utf-8?Q?LN5CUr8WcEEbR?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?ZllXSUJiK1Z4R1lZamZ5MmJ3aS9FbVdtWDZhZkxhdlloU3lSN21QbzdJQjZx?=
 =?utf-8?B?Q1FpcTN4bkZqUVFidWhvWFhXOHUvb2FOdy9ZKzJPSHBKeU9hb28xL1orNkFZ?=
 =?utf-8?B?b3NZSFpXcnZvUTVwN3NOS2lBdDRUVmw3STFnUjlwRnZ3TWNhYnA3K3ZJQkNH?=
 =?utf-8?B?TjZZbXRuMDh2cWRuTUQrUkRLdGYvcWNNOTljRURXUTFtVHdTVWpHSGEwL1hw?=
 =?utf-8?B?TDRZbEZxdzRYVWRnaWxFU3JmeHF1NVQ4ZzFBTklzeExRL0FTTVRidjUwN0Nm?=
 =?utf-8?B?TmlNOVE3dklWQXdvMFdjQXlJOE02aWZiYUd2U1YvWUQ5Y21SWXZ1OUJreWpj?=
 =?utf-8?B?YlN1QlpIQnBhUHJKT29DaSsycmJjdytYaXR6Z3NnejBsWXFYYjlTTWI5Wm5n?=
 =?utf-8?B?cDdTbkk4SVYrWFN2TjNRY1h6YTRPOUIxOHlvVWNpNlRUcFVRaGtBS2tEeks0?=
 =?utf-8?B?bU10Q3lhYnZrSkxYMjZOWmdsL1ZOZzJtbURsbXUvVXI0NGpFejZ4cnB0QlhM?=
 =?utf-8?B?KzduRjUwdDI5SzkrdEpqeEtOTUVtZVpFb1JFVUpESkFETmRSWHFsN2NlZG5j?=
 =?utf-8?B?M1JLSmZ4U1E4OHZXTGFSRGZQbUFKMjNEMmhKZjZlQjdNVFUyRGVOaUJLZ3Z3?=
 =?utf-8?B?UFBScjByei81bEo2czJUU3RNbzYvVmI4Nm9MS1BXOVA1ZUxCWHY4UmtzZHpK?=
 =?utf-8?B?YlB5d01peWZJczlBMUVMZDNadFlxK3dsYzV5dk5EYWh4WFVtTkhZb21ISnh4?=
 =?utf-8?B?WnU1QlZwM0ZuQlVnZ0lvbzZxOWwvckwrcmNmYzY0ckYxd2NVUmdvRG5sdFRp?=
 =?utf-8?B?aEd5bW9oblg0VWlXVUwvWFpwYzZKVytiSFhWUEZIcDZyWGkrMTl1NUd3OXYx?=
 =?utf-8?B?TXpWaEVtdkRJbThJNXowNHJZR3lHKzZ6UldiSFd2bERRSk9WSnZlY1FZUTlD?=
 =?utf-8?B?c2dEa0hIT3U3T0pwWThnWWRaYWNkNFVoN2M3T3lFVCtKZ2FNT2dkQi9YdXA1?=
 =?utf-8?B?TEpLY1hGRVllc2xheVJnd3RXOW80d2ZlUDJMRHVXN1ptaUU3bHN4cXo1WmYw?=
 =?utf-8?B?cVdkTmV1TkNmTENxbU9xcE80WW4ybzJQUGhaMll0dzAyY2p1Z2dhaGM1Zmp4?=
 =?utf-8?B?SFJ3OU4xeWR2V2x4Qit6NGZBcDdmUzJ1REl1eFlFdkNBYzNuemw0RFQyNUhG?=
 =?utf-8?B?U2RHNXZyV1k1aXlYNjQ4by96MERBVjYvbFR3T3dTVmNuTkJjT3hncU1VdUlv?=
 =?utf-8?B?R2Q0Q2Fwc3h6MGt6MzNtMjFUMm1qRndDUytYZFJrN3RkSVpnQS85cnY5Q2lI?=
 =?utf-8?B?ekJSclhOKzBzNDZYVFE4ZHF6cWZmSElYamg5RS96c3R5eDhzcjM3LzUzR2l3?=
 =?utf-8?B?TExNeGx0QnFFVDZzci9QYmsvamRlbGxPbSt2VG5BTVk1c3JNcGIwUFBWOHFw?=
 =?utf-8?B?cEV5MHBkZzNtUkdtUTVobUcyRFNlUFF1MEhYbjcybi9nclVBK0hGeGpON0NG?=
 =?utf-8?B?NDB4Qk1MUWs4TjM2YjduS205QXBvN3NIdzVOL25lUjlwTklscWhnN0lrcTFM?=
 =?utf-8?B?dEVmd0ZaREREbGV4VER6OXFMbFRJbnpQT2dHVmZVei90cVZjL3A4Vzg5V1Za?=
 =?utf-8?B?RS9xUnBpU28rZ1JoeEdKcUUrNU10TzRoNGdlTm40UHFkcDlTc25wRXYzVm9L?=
 =?utf-8?B?cDdyWFBwbkJQUmZoY3JtQWVkb2lMVEdJZFcwWDFpeUhEcmpjMVdlOGpyVGNF?=
 =?utf-8?B?elN4VnZZWThHSS9Sc1B1NUs2eFAyRVdJaW5VY2ZmdHMyM1FwN1dRU1A3TTJL?=
 =?utf-8?B?YzNUd1hQbmVWaGNBeGVZN21xRFlRL0hoN1RxRktzd0FsbE1GZi9WNjkxd09Q?=
 =?utf-8?B?SXo0VTVyb21IRmpicVZ2Y2tHOW9hdy96M3RvdE4wR2E0ek9kN3pid01kbDls?=
 =?utf-8?B?MVpJY0I3ZFJHTDRjUWRYWmJzVXd3Wis4QVQ3aU5qdkwrSnorVWtScFNkN0oz?=
 =?utf-8?B?Yi84SGozN0hqY0luRkp2UXduVEc1MjRCL2FSVW9TQzJBU3RLVitwaUR0bklF?=
 =?utf-8?B?THJIUDIvUVNoQ0toVVNFaEZqcTMvWC9ERHc2WXE2NElmWlEyVHJBL0xtZUZR?=
 =?utf-8?Q?sbiw=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d47ace9a-7334-4d5f-6afd-08dd608cd12a
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 11:06:47.9458
 (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: OEHXBvjCuUY4lsug8W1yDkiNUH4jcRwsyjOiZuCi4bGajqfps2tz9boDYCx7Mxo7
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8026



On 11/03/2025 11:12, Bertrand Marquis wrote:
> 
> 
>> On 11 Mar 2025, at 10:59, Orzel, Michal <Michal.Orzel@amd.com> wrote:
>>
>>
>>
>> On 11/03/2025 10:30, Bertrand Marquis wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>>> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>
>>>> At the moment, we print a warning about max number of IRQs supported by
>>>> GIC bigger than vGIC only for hardware domain. This check is not hwdom
>>>> special, and should be made common. Also, in case of user not specifying
>>>> nr_spis for dom0less domUs, we should take into account max number of
>>>> IRQs supported by vGIC if it's smaller than for GIC.
>>>>
>>>> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value.
>>>> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
>>>> IRQs comparison common.
>>>>
>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>> ---
>>>> xen/arch/arm/dom0less-build.c   | 2 +-
>>>> xen/arch/arm/domain_build.c     | 9 ++-------
>>>> xen/arch/arm/gic.c              | 3 +++
>>>> xen/arch/arm/include/asm/vgic.h | 3 +++
>>>> 4 files changed, 9 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
>>>> index 31f31c38da3f..9a84fee94119 100644
>>>> --- a/xen/arch/arm/dom0less-build.c
>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>>>>        {
>>>>            int vpl011_virq = GUEST_VPL011_SPI;
>>>>
>>>> -            d_cfg.arch.nr_spis = gic_number_lines() - 32;
>>>> +            d_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
>>>
>>> I would suggest to introduce a static inline gic_nr_spis in a gic header ...
>> Why GIC and not vGIC? This is domain's nr_spis, so vGIC.
> 
> yes vGIC sorry.
> 
>> But then, why static inline if the value does not change and is domain agnostic?
>> I struggle to find a good name for this macro. Maybe (in vgic.h):
>> #define vgic_def_nr_spis (min(gic_number_lines(), VGIC_MAX_IRQS) - 32)
>> to denote default nr_spis if not set by the user?
> 
> Yes that would work. My point is to prevent to have 2 definitions in 2 different
> source file and a risk to forget to update one and not the other (let say if some
> day we change 32 in 64).
> 
>>
>>>
>>>>
>>>>            /*
>>>>             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>>> index 7cc141ef75e9..b99c4e3a69bf 100644
>>>> --- a/xen/arch/arm/domain_build.c
>>>> +++ b/xen/arch/arm/domain_build.c
>>>> @@ -2371,13 +2371,8 @@ void __init create_dom0(void)
>>>>
>>>>    /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>>>>    dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
>>>> -    /*
>>>> -     * Xen vGIC supports a maximum of 992 interrupt lines.
>>>> -     * 32 are substracted to cover local IRQs.
>>>> -     */
>>>> -    dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
>>>> -    if ( gic_number_lines() > 992 )
>>>> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
>>>> +    /* 32 are substracted to cover local IRQs */
>>>> +    dom0_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
>>>
>>> and reuse it here to make sure the value used is always the same.
>>>
>>>>    dom0_cfg.arch.tee_type = tee_get_type();
>>>>    dom0_cfg.max_vcpus = dom0_max_vcpus();
>>>>
>>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>>> index acf61a4de373..e80fe0ca2421 100644
>>>> --- a/xen/arch/arm/gic.c
>>>> +++ b/xen/arch/arm/gic.c
>>>> @@ -251,6 +251,9 @@ void __init gic_init(void)
>>>>        panic("Failed to initialize the GIC drivers\n");
>>>>    /* Clear LR mask for cpu0 */
>>>>    clear_cpu_lr_mask();
>>>> +
>>>> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
>>>> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
>>>
>>> I am a bit unsure with this one.
>>> If this is the case, it means any gicv2 or gicv3 init detected an impossible value and
>>> any usage of gic_number_lines would be using an impossible value.
>> Why impossible? GIC can support up to 1020 IRQs. Our vGIC can support up to 992
>> IRQs.
> 
> Maybe unsupported is a better wording, my point is that it could lead to non working system
> if say something uses irq 1000.
Actually, I took a look at the code and I don't think we should panic (i.e. we
should keep things as they are today). In your example, if something uses IRQ >
VGIC_MAX_IRQS that is bigger than gic_number_lines(), then we will receive error
when mapping this IRQ to guest (but you don't have to use such device and in the
future we may enable IRQ re-mapping). That's why in all the places related to
domains, we use vgic_num_irqs() and not gic_number_lines(). The latter is only
used for IRQs routed to Xen.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:16:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907848.1315035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxab-00061h-Rf; Tue, 11 Mar 2025 11:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907848.1315035; Tue, 11 Mar 2025 11:16: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 1trxab-00061a-Op; Tue, 11 Mar 2025 11:16:01 +0000
Received: by outflank-mailman (input) for mailman id 907848;
 Tue, 11 Mar 2025 11:15: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=72vt=V6=amd.com=Luca.Miccio@srs-se1.protection.inumbo.net>)
 id 1trxaZ-00061U-Pn
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:15:59 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20614.outbound.protection.outlook.com
 [2a01:111:f403:2414::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3205fc32-fe6a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:15:54 +0100 (CET)
Received: from BN9P221CA0030.NAMP221.PROD.OUTLOOK.COM (2603:10b6:408:10a::29)
 by PH8PR12MB7232.namprd12.prod.outlook.com (2603:10b6:510:224::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 11:15:49 +0000
Received: from BL6PEPF0001AB59.namprd02.prod.outlook.com
 (2603:10b6:408:10a:cafe::d7) by BN9P221CA0030.outlook.office365.com
 (2603:10b6:408:10a::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Tue,
 11 Mar 2025 11:15:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB59.mail.protection.outlook.com (10.167.241.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 11:15:49 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 11 Mar
 2025 06:15:48 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 11 Mar
 2025 06:15:48 -0500
Received: from xsjstefanos51.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Tue, 11 Mar 2025 06:15:48 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3205fc32-fe6a-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VS+AfzYU7oSEqNYiW2DxmvY1hTOUqc9LXy3u7KT5W0kncGjlsMrBE+NdM1ZNH9Wi+AgueOwwsBypFQcPcRBrdcUoY6UvreQROzCgEhT/cNyI9jP+9/84JTHz7cL9D1b9xGL39guJOkGn2MBrisN/tGpUnpG9rT6G0cwCy5hjPQNhIYbwLmrS0Pv+uZVIlAyjUBuvvvzwWyl6KPADDJ/c+dvXlSy2PrNqpRMfy/K673KabS3d+NJiQeauEjcDVWOgRze3uVDL+6KKXxgSQtkAQgJ50D1G4W7aluOCcESzdyaH1JeqyrGr85UDmBg/mJRrpgcFX71PMlzQgLBxIMLJjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7bOrbxElBQUFEUmULX+wor0Ego3z9F5Xqr1SL2zMeko=;
 b=ls2+XuWCug2DwwqUtd+OEMFYZEuLGjQSBO39JSRoHsTjeHjm0ASO+OtbZaElJ5yO7osSlIodvP5Xj3HTZNm5mbiBjjzo+cLoZznyY6LjqJIbW/gQk153CQDkCWTvU9hfpXozgH9zBaXsFUzYu2iS4FPn+P8JZ3DEJMLT/+HpXMZzQH/WEAdNirSXOvIyvVvC6gWAASiRZgrgpjXuCqi8Shd/3entH2PBi5ZKBb6rkNi33Rn3hB2qCcqPKqNTxIa/wGw8jrgzOotB3cTs7zycIR3usoh5J0o+HCmYZaxrywyTN/xfpHRe4+IFdAx4IK901hUaqWzIE4gBZzHM9fXcOg==
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=7bOrbxElBQUFEUmULX+wor0Ego3z9F5Xqr1SL2zMeko=;
 b=p0618K/w/m3Fy+dqZMrVfe0dhj6QN3RDdfzUnJaxzviMPLl4uCAdV0wzb4X0+ndMzWCJp+fPifTAbf0h0DQeVe2e3sr6WTj8DnDnp+KQzN8hOQ3Ytpgfn4o7WrsvjQTuX0SLr5/nnPb1e0uqrMrcu9nGh7gxoJD5wUWFgOrD3H0=
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=SATLEXMB04.amd.com; pr=C
From: Luca Miccio <luca.miccio@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>
Subject: [ImageBuilder][PATCH v2] uboot-script-gen: handle reserved memory regions
Date: Tue, 11 Mar 2025 04:15:48 -0700
Message-ID: <20250311111548.3696851-1-luca.miccio@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: luca.miccio@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB59:EE_|PH8PR12MB7232:EE_
X-MS-Office365-Filtering-Correlation-Id: fe29296a-0a91-4674-80eb-08dd608e13f1
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?VshcLKHJhyrQlbNTFocgjyJwExa9euBceNqoilaRs7SHWXlcdHTvoWMFmx/n?=
 =?us-ascii?Q?eFwMpw5y1X2xkOWK/s9g/xlCsZC3+rx8mAzg8zo3jtTRnK9Me6TbfOIwWOeD?=
 =?us-ascii?Q?6XiflguidfQcQ5xc8OFc8zkC1S34KnuLyK1+FZBhSOVwZ4KydRrw0UJMRvOX?=
 =?us-ascii?Q?GwyUOVG+gUfiurkWccP+kOXcSQbraOSO803gyaiQ2V3hbGtXHhLZwJ8J0wOK?=
 =?us-ascii?Q?KAuvASGZSXxz78f4hcu3lUpR8l83QpeCxF7+Mb43Lzqib6rZyJGBvkZmJkKz?=
 =?us-ascii?Q?t6tB11BUqICDyNHpff16ed3m3wdfFblF1TGU2e+PEmfGMBRslCkjyCx3o3bL?=
 =?us-ascii?Q?6RH3kiOAvB490wwSO4AKGRQW/fHJ7dfMrL4oeG5FgVb3OvkltrxeIYwhb9sa?=
 =?us-ascii?Q?D5Gx6WuAxfpKvZVdun2v2nWw+75e8PlSMcG6UBzqyc2kmJynwwsEhCBgTNQd?=
 =?us-ascii?Q?un9b0WthjyhV1188WikmIF5hg+6BMXQVBopQdem9SdqDPT2A6qtrb5066etX?=
 =?us-ascii?Q?vL/ZwBcilcHA2z/DhogNRh75mm8XEEdSEvY9xaHM98bqDRlJ4mG8FGd3R6X/?=
 =?us-ascii?Q?yQexfeBqsRtKPoUNxJlM8c3CJ+D2+calhAb2ArrgCr3+5YMmhz6ez6AL80yX?=
 =?us-ascii?Q?vIiciuyRgkDsSNBHsP7ls4KvR0QwCy5iL28vyp3Wg/sOemeBzUL1uveBMsuP?=
 =?us-ascii?Q?W4lBFZsNVku8Ln4iaJ7id4RF0GKPZ8oKrXyVaPWvo0KDKTYRKzDkQqv0Io0k?=
 =?us-ascii?Q?3yW2Z2R8HMIpRLp5aaMdaY8hvCrYfTZIu9G7pC90WEdg4KsHIcYMsCD/YvI0?=
 =?us-ascii?Q?LLp3dRNWh0pboqAh2fugPXFdzsjO4ilpXXSgOGddT7WdSTY+HWav77o9B3LE?=
 =?us-ascii?Q?Rx/FKCImUvItOrHIJV1l7fZjD0/MOcro4bx+cJYBoiyEpYnFSlcBmbmTd3ut?=
 =?us-ascii?Q?3dexoFl8xpAvJ+v4fBOoJtGh3P+PMohOAL3kmo2L8U8Co8QMOSjhkEmucJTx?=
 =?us-ascii?Q?3knsBeUPo63vkGLcC2u0gnrzegJhkhpaWe42zfPgWoHUas3EQHkKuYf9DVZH?=
 =?us-ascii?Q?VBfRBFo23OSkjnhX+U81V6EpAafrOYycClsafzJTr76m2G7YlIlFKib4C7/W?=
 =?us-ascii?Q?wRvSHocIeKh3sGdCvLe/U19JAEmXXmwVisINlBzispiWPI8nu5S8orGCxzNf?=
 =?us-ascii?Q?XB1vViuwYhS7iEWGyvb0ZGRvWvVxxLQNO08tR9QVo+aj6J5gGiPwpK3SOh5j?=
 =?us-ascii?Q?Bh+Iffn/YCYiMkRBM2knRu0fe1Is6aCTGr+mOiWOI1G019CX7seIwZliX6st?=
 =?us-ascii?Q?Jr9fBN1FLl2ZmO0guvrU0eCaCSdVlLxAsnJ7ADfIytAFev27nXpkjLr+19lQ?=
 =?us-ascii?Q?qMEPUbpBUuzCG7taVcBoMWsJQmQ4l/++/+mo//WFKa3fPeKkb/TbWWGS5N+w?=
 =?us-ascii?Q?8F3KKdtfcOOtELiHdN4rkGJrttPlYxS+L0ZbiSc+Lr1QjViXJWTJvFk/ZTF/?=
 =?us-ascii?Q?LGdF+nmYiABLVmM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 11 Mar 2025 11:15:49.2226
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fe29296a-0a91-4674-80eb-08dd608e13f1
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB59.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7232

Currently, the uboot-script-gen does not account for reserved memory
regions in the device tree. This oversight can lead to scenarios where
one or more boot modules overlap with a reserved region. As a result,
Xen will always crash upon detecting this overlap. However, the crash
will be silent (without output) if earlyprintk is not enabled, which is
the default setting at the moment.

To address this issue, add a function that iterates over the
reserved-memory nodes if any and populates an array. This array will
be used later to calculate the load address for any given file.

Signed-off-by: Luca Miccio <luca.miccio@amd.com>
---
v1->v2
 - added local
 - check if reserved node exists
 - handle fdtget errors
 - use numeric check for duplicates
---
 scripts/uboot-script-gen | 84 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 81 insertions(+), 3 deletions(-)

diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index db2c011..edc6a4c 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -468,6 +468,67 @@ function device_tree_editing()
     fi
 }
 
+function fill_reserved_spaces_from_dtb()
+{
+    if [ ! -f $DEVICE_TREE ]
+    then
+        echo "File $DEVICE_TREE doesn't exist, exiting";
+        cleanup_and_return_err
+    fi
+
+    # Check if reserved-memory node exists
+    if ! fdtget -l $DEVICE_TREE /reserved-memory &> /dev/null
+    then
+        return
+    fi
+
+    local addr_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#address-cells' 2> /dev/null\
+                    || fdtget -t x $DEVICE_TREE / '#address-cells' 2> /dev/null)
+    local size_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#size-cells' 2> /dev/null\
+                    || fdtget -t x $DEVICE_TREE / '#size-cells' 2> /dev/null)
+
+    if [ -z "$addr_cells" ] || [ -z "$size_cells" ]; then
+        echo "Could not find #address-cells or #size-cells properties for reserved-memory node in $DEVICE_TREE"
+        cleanup_and_return_err
+    fi
+
+    for node in $(fdtget -l $DEVICE_TREE /reserved-memory); do
+        local reg_values=($(fdtget -t x $DEVICE_TREE /reserved-memory/$node reg))
+        local i=0
+        for ((i=0; i<${#reg_values[@]}; i+=addr_cells+size_cells)); do
+            local addr=0
+            local size=0
+            local j=0
+
+            for ((j=0; j<addr_cells; j++)); do
+                addr=$((addr << 32 | 0x${reg_values[i+j]}))
+            done
+
+            for ((j=0; j<size_cells; j++)); do
+                size=$((size << 32 | 0x${reg_values[i+addr_cells+j]}))
+            done
+
+            addr=$(printf "0x%X" $addr)
+            size=$(printf "0x%X" $size)
+        done
+
+        # Add the reserved space to the list and avoid duplicates
+        local duplicate=0
+        for reserved_space in "${RESERVED_MEM_SPACES[@]}"; do
+            local reserved_start=${reserved_space%,*}
+            local reserved_size=${reserved_space#*,}
+
+            if [[ $addr -eq $reserved_start ]] && [[ $size -eq $reserved_size ]]; then
+                duplicate=1
+                break
+            fi
+        done
+        if [ $duplicate -eq 0 ]; then
+            RESERVED_MEM_SPACES+=("${addr},${size}")
+        fi
+    done
+}
+
 # Read effective image size from a header, which may be larger than the filesize
 # due to noload sections, e.g. bss.
 function get_image_size()
@@ -505,9 +566,24 @@ function add_size()
         size=${image_size}
     fi
 
-    memaddr=$(( $memaddr + $size + $offset - 1))
-    memaddr=$(( $memaddr & ~($offset - 1) ))
-    memaddr=`printf "0x%X\n" $memaddr`
+    # Try to place the file at the first available space...
+    local new_memaddr=$(( (memaddr + size + offset - 1) & ~(offset - 1) ))
+
+    # ...then check if it overlaps with any reserved space
+    for reserved_space in "${RESERVED_MEM_SPACES[@]}"; do
+        local reserved_start=${reserved_space%,*}
+        local reserved_size=${reserved_space#*,}
+        local reserved_end=$((reserved_start + reserved_size))
+
+        if [[ $new_memaddr -le $reserved_end ]] && \
+           [[ $((new_memaddr + size)) -ge $reserved_start ]]; then
+            # In that case, place the file at the next available space
+            # after the reserved one
+            new_memaddr=$(( (reserved_end + offset) & ~(offset - 1) ))
+        fi
+    done
+
+    memaddr=$(printf "0x%X\n" $new_memaddr)
     filesize=$size
 }
 
@@ -1373,6 +1449,8 @@ uboot_addr=$memaddr
 memaddr=$(( $memaddr + $offset ))
 memaddr=`printf "0x%X\n" $memaddr`
 
+fill_reserved_spaces_from_dtb
+
 if test "$os" = "xen"
 then
     xen_file_loading
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:16:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:16:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907855.1315045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxb9-0006T7-3p; Tue, 11 Mar 2025 11:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907855.1315045; Tue, 11 Mar 2025 11:16: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 1trxb9-0006T0-01; Tue, 11 Mar 2025 11:16:35 +0000
Received: by outflank-mailman (input) for mailman id 907855;
 Tue, 11 Mar 2025 11:16: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxb8-0006Sq-6p
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:34 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49ea3842-fe6a-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 12:16:33 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-30bef9b04adso47322621fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:33 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04:16: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: 49ea3842-fe6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691792; x=1742296592; 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=N+6cbmlWt96G4k4CNtgTYC9+E+sNENwDJS4lYdrVj9I=;
        b=RTxksURGtodyePsTffag4o9YamUh+Wm2S4p1nAllmQMIYwRySLU8QA284sWMgpDRwQ
         cxec65UuRJ+7o2JCLPxITtxoe423RkycnOSQ9PugmHFcXpO5+Hv6TJbAMDQYP3Nxyhpw
         WtPEdY1+ReEms0AGF/fcxIP2Ve1MJASVQ0cbYwB9+07ne783G6hM9tAOCi56xWV1fnIp
         nA1RPj0d0jPTATsG8Pr1BVUNBhq02yWqfKsJgFKsk++jRkvSkoQe6I3tXM6TgEn8aNX+
         Uv7Ixo6APMYgKmWT1n8+EniNGStFu1qg3n7FUPg4URUdy42rrq3RZxMcXWRGIjVJZgT5
         xadA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691792; x=1742296592;
        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=N+6cbmlWt96G4k4CNtgTYC9+E+sNENwDJS4lYdrVj9I=;
        b=fxBB3AKlmtHOuLd9WKnatBFpSFn1B1Ha9fFejp1xmDxSyHPg2SNFHLWo61j9GgKaIr
         SIXvvbQPPi8gUKltb7YzdtRLHBvxGb8lFl9DOohxXxJsVw29nN7b01/YxHkH4z/35Wbd
         B1zMt6YP3Pmgij3wsCF84q9hxnECmeeNy1MdbDrvoNUbMKvASltipMd2D6ZP/DjN4RiB
         AiUmZ2PL0RGXH3XRJlVOwWVSCQ/yBNc3irv75Xw8QmsFsUlqXBD/0GvvK2mjA/iaaC7R
         FII9mpaAJHmFvVntUaS4pNn4G87FGxPmmsp0kpXSPNuPjipFTh2pVyGiMTCQD6pemHJW
         U7Mw==
X-Gm-Message-State: AOJu0YxDUGMXf9QOXNDSslRgmkZcuUZSu4d2WoyMtmxE+yCNxs6Dt2p2
	fxqC/sA8l/0qWNwnSS08fxWI8CPMQ71r+pgcuX+Oj8NCkHqIZkp7srky26my
X-Gm-Gg: ASbGnctw+kNS9Riguu2Y2iopz2hl/LbWtTbBgjDm2yy0coy8oBBOYyJxAUL2o6twfhG
	CMKG/oqjFSvR3tsHVA24O7UZJq4BSywHxXTRbJXUi4E25LxZeaMTBVlVxcFij37x7lzQbmGX3iU
	Tkrd1MXoKloKJjnaS1bGCagW3WpDjzzTs3ffwVaopInk3UrUWh2UvVItw5j/gZk8jmO8sAB3xze
	FZN/kFOJ8e2k4HsxAP1CziV49TlEMA7fQ2dUQAGJp6/X3PV5Cd4HgetMIwEDh44yuibPEfNtt+K
	KSHqhj5d5HkZPa5IgXgnnlMDcLJXkujLGBlHwDPlcfFQvyAZHbC8qAckVA+/HgoajwEpsiCGURj
	C2lsL4OFCElVNgjB8gxLqWnYTQHo=
X-Google-Smtp-Source: AGHT+IEe27X8S43+QmAn//kF2YBvQ7Td9nd32YZUwH/lFFiOWnbg3afQPaUvFTyERbDyXW6oMYiJYw==
X-Received: by 2002:a05:651c:b0c:b0:30b:c637:fcea with SMTP id 38308e7fff4ca-30c20648a89mr12321621fa.3.1741691791812;
        Tue, 11 Mar 2025 04:16:31 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [RFC PATCH v3 0/7] xen/arm: scmi: introduce SCI SCMI SMC multi-agent support
Date: Tue, 11 Mar 2025 13:16:11 +0200
Message-Id: <20250311111618.1850927-1-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

This is respin of RFCv2 series from Oleksii Moisieiev [1] which was send pretty long time ago (2022),
with the main intention is to resume this discussion in public and gather more opinions.

Hence the code was previously sent long time ago there are pretty high number of changes,
including rebase on newer Xen version 4.20.0-rc2, which already contains some basic SCMI SMC driver
introduced by Andrei Cherechesu, commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls
handling layer").

Patch 1 "xen/arm: add generic SCI subsystem"
- rebased and refactored
- introduced DEVICE_ARM_SCI DT device class and used for SCI drivers probing instead of custom,
  linker sections based implementation.
- added SCI API for Dom0 DT handling, instead of manipulating with ARM arch dom0 code directly.
- TODO: RFC changes in XEN_DOMCTL_assign_device OP processing

Patch 2 "xen/arm: scmi-smc: update to be used under sci subsystem"
- update driver introduced by commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls
handling layer") be used under sci subsystem.
- no functional changes in general

Patch 3 "xen/arm: scmi-smc: passthrough SCMI SMC to guest domain
This is new change which allows passthrough SCMI SMC, single agent interface to guest domain
cover use case "thin Dom0 with guest domain, which serves as Driver domain".
See patch commit message for full description.

Patch 4 - xen/arm: scmi: introduce SCI SCMI SMC multi-agent driver
- added "xen,scmi-secondary-agents" property in "chosen" to inform SCI SCMI multi-agent driver
  about available agents and their configuration. It defines <agent_id> to <smc-id,scmi_shm> map.
  This option is Xen specific as Xen is the only one entry in the system which need to know
  about SCMI multi-agent support and configuration.
- each guest using SCMI should be configured with SCMI agent_id, so SCMI
  FW can implement Agent-specific permission policy.
  -- dom0: dom0_scmi_agent_id=<agent_id> in Xen command line option
  -- toolstack: arm_sci = "type=scmi_smc_multiagent,agent_id=<agent_id>"
  -- dom0less: todo: "xen,sci_type", "xen,sci_agent_id" properties in "xen,domain" nodes.
- factored out SCMI generic definitions (re-usable)
- factored out SCMI shmem code (re-usable)
- the SCMI passthrough configuration for guest domains is similar to any other HW passthrough cfg.

Patches 5-7
- no major changes, except to follow rebase and changes in previous patches

Regarding patches 5-7 I'd like to rise a question and I, personally, feel very skeptical doing any
kind of SCMI DT nodes generation as from toolstack as from Xen.
1) SCMI is no differ as any other HW MFD device, and HW passthrough configuration works for it in
   the same way.
2) if toolstack generates DT then dom0less case might need it also, but this means more code in Xen,
   so, with certification in mind, it means more overhead requirements, docs and testing.
   In my opinion if something can be done outside "kernel" - it should.
   So better invest in tools (imagebuilder, lopper, etc.) instead.
3) Hence SCMI DT bindings are pretty complex the corresponding guest DT nodes can't be generated
   from scratch - the user still need to add scmi node, protocols and protocols subnodes in the
   partial device tree, at least empty. But stop, not exactly empty - the properties like
   "#clock-cells" need to be added to avoid DTC warnings. Such behavior is rather confusing than
   helpful.
4) Exposing the Host Device tree in Dom0 is another questionable thing for toolstack SCMI DT
   generation. It consumes 128K of memory on Renesas r8a779g0-whitehawk.
5) No needs for additional public API (XEN_DOMCTL_get_sci_info, GUEST_SCI_SHMEM_BASE..) if dropped 

Code can be found at:
https://github.com/GrygiriiS/xen/commits/master_v4h_sci_v13_dt_gen

[1] RFC v2:
https://patchwork.kernel.org/project/xen-devel/cover/cover.1644341635.git.oleksii_moisieiev@epam.com/

SCMI spec:
https://developer.arm.com/documentation/den0056/e/?lang=en

SCMI bindings:
https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/access-controllers/access-controllers.yaml

Reference EL3 FW:
RPI5: https://github.com/xen-troops/arm-trusted-firmware/commits/rpi5_dev/
Renesas v4h: https://github.com/GrygiriiS/arm-trusted-firmware/commits/rcar_gen4_v2.7_v4x-scmi_upd/

base-commit: c3f5d1bb40b5 ("automation/cirrus-ci: introduce FreeBSD randconfig builds")

Grygorii Strashko (2):
  xen/arm: scmi-smc: update to be used under sci subsystem
  xen/arm: scmi-smc: passthrough SCMI SMC to domain, single agent

Oleksii Moisieiev (5):
  xen/arm: add generic SCI subsystem
  xen/arm: scmi: introduce SCI SCMI SMC multi-agent driver
  libs: libxenhypfs - handle blob properties
  xen/arm: Export host device-tree to hypfs
  xen/arm: scmi: generate scmi dt node for DomUs

 MAINTAINERS                                  |   6 +
 docs/man/xl.cfg.5.pod.in                     |  51 ++
 docs/misc/xen-command-line.pandoc            |  18 +
 tools/include/libxl.h                        |   5 +
 tools/include/xenctrl.h                      |   3 +
 tools/libs/ctrl/xc_domain.c                  |  18 +
 tools/libs/hypfs/core.c                      |   2 -
 tools/libs/light/libxl_arm.c                 | 311 ++++++-
 tools/libs/light/libxl_create.c              |  12 +
 tools/libs/light/libxl_internal.h            |   3 +
 tools/libs/light/libxl_types.idl             |  12 +
 tools/xl/xl_parse.c                          |  83 ++
 xen/arch/arm/Kconfig                         |  16 +
 xen/arch/arm/Makefile                        |   1 +
 xen/arch/arm/device.c                        |   5 +
 xen/arch/arm/dom0less-build.c                |  13 +
 xen/arch/arm/domain.c                        |  12 +-
 xen/arch/arm/domain_build.c                  |  11 +-
 xen/arch/arm/domctl.c                        |  22 +
 xen/arch/arm/firmware/Kconfig                |  36 +-
 xen/arch/arm/firmware/Makefile               |   2 +
 xen/arch/arm/firmware/sci.c                  | 187 ++++
 xen/arch/arm/firmware/scmi-proto.h           | 164 ++++
 xen/arch/arm/firmware/scmi-shmem.c           | 172 ++++
 xen/arch/arm/firmware/scmi-shmem.h           |  45 +
 xen/arch/arm/firmware/scmi-smc-multiagent.c  | 858 +++++++++++++++++++
 xen/arch/arm/firmware/scmi-smc.c             | 161 +++-
 xen/arch/arm/host_dtb_export.c               |  28 +
 xen/arch/arm/include/asm/domain.h            |  11 +
 xen/arch/arm/include/asm/firmware/sci.h      | 214 +++++
 xen/arch/arm/include/asm/firmware/scmi-smc.h |  41 -
 xen/arch/arm/vsmc.c                          |   4 +-
 xen/common/domctl.c                          |  13 +
 xen/drivers/passthrough/device_tree.c        |   7 +
 xen/include/asm-generic/device.h             |   1 +
 xen/include/public/arch-arm.h                |  12 +
 xen/include/public/device_tree_defs.h        |   1 +
 xen/include/public/domctl.h                  |  11 +
 38 files changed, 2471 insertions(+), 101 deletions(-)
 create mode 100644 xen/arch/arm/firmware/sci.c
 create mode 100644 xen/arch/arm/firmware/scmi-proto.h
 create mode 100644 xen/arch/arm/firmware/scmi-shmem.c
 create mode 100644 xen/arch/arm/firmware/scmi-shmem.h
 create mode 100644 xen/arch/arm/firmware/scmi-smc-multiagent.c
 create mode 100644 xen/arch/arm/host_dtb_export.c
 create mode 100644 xen/arch/arm/include/asm/firmware/sci.h
 delete mode 100644 xen/arch/arm/include/asm/firmware/scmi-smc.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:16:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:16:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907856.1315055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxbB-0006iG-Ay; Tue, 11 Mar 2025 11:16:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907856.1315055; Tue, 11 Mar 2025 11:16: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 1trxbB-0006i9-7M; Tue, 11 Mar 2025 11:16:37 +0000
Received: by outflank-mailman (input) for mailman id 907856;
 Tue, 11 Mar 2025 11:16: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxbA-0006Sq-1X
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:36 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4af8f589-fe6a-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 12:16:35 +0100 (CET)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-30bf5d7d107so41455011fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:35 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04:16: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: 4af8f589-fe6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691794; x=1742296594; 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=04wizIaLTSFlmJKWvZpRMDn++A6FwzgnmnVliYBR7HQ=;
        b=jtaj1sBtZdLX/b90XHXChtuaoPnJUehP/M0ug+7A8jzopvqfv8mgSj72lQ+tiZENXH
         vfvijZ1GiS75IWd8QVXKe09oEbK3TRaoxc3DUb1dq5Ofku7wpXPpQAjWe4uYBnPijOgI
         3dfwXSUG+19XhwFSHTcxWv4G4b2L5u7fwkpqwT68tjjOnlsMRYwYAJZ8NtKeMxLU9DAi
         fst5Z3BZ9X0Ll8aSbMnCO7+xn+Gq1EcoV9Lsh1CnSC7ajd8qGTMOegbUGcKRzhI8WV9H
         OkhRskyt4lPVp7OMcnOAhzTEUTGtSX9N6yDC0Didv9Ul/9FonWpkcukwDV7ycQm8DIvk
         Cv9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691794; x=1742296594;
        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=04wizIaLTSFlmJKWvZpRMDn++A6FwzgnmnVliYBR7HQ=;
        b=IeAuyYT1KWJULU2MoYRBQCirL9TqbrtR8pUoSWKnmvgGJZ7/cRdlPwvL7+yMftMl7m
         dc4xiEGkvXxaTtq3BaIIWFzYfHK0Q/5wSV5+A7UEfLI1CENYxX+k5gu+VvmMC5dKrh6b
         vyaGUKvmIx8O0lcA83ZmCyCNhd6Q4nFCgbcwE79aTlpJ3r/lcu/do1bZumXotqu+1mYZ
         QV8Nm9uEYF3DD6DE4jkF9RqYoeifkuXif9K9Vgtn/KouXdBHyDdLKPVsEtON/mD/BBOf
         38iHbB8Wt0CLSJbdCOO24y+ZERfcKB3IePoo3+yvxHX1FXZ067QFAL9tGrnuo1KT515h
         QSrg==
X-Gm-Message-State: AOJu0Ywi0hYqOEK3DH5Ati1kV+BccZB2VjYo8MzBMZnPSGAhA3iZM/xg
	MDUYRgK/jeiIhH9jPhUatx/dWXxDbN+JlRskA/HiL87CFxgq4CtDUtsU8rA4
X-Gm-Gg: ASbGncuD/qw3HIuxtB2x9Xi3dOA+IPIASAeRiwBhuuKcPMdMXgwczjVUppMPY1kb6aC
	ltLtJgRRWzIHNOGA8bVa/D2G3q+G4/jVAWKxu7Ub3vuZ9WW/y934d4VvWet82+ekFfdAQN13dzW
	ojac0IKiQXbtxCUyv0eXk1E8rMNR2hBMhHyek3sans7CEWxjI/H7T8hBQ/99xcO8tnKT9Ypfvj1
	pcNNa+upwQoonNBp6rptugLHfanq7xGx981luW8+bWfERbx0WGRSiifDmFg4w7bFrWxcOp+KU4f
	WD2Td9+BURX6ut4zzgh0ak6q5ceFd0ptKLcoRDVGpaie/XuB0bweQXxOweKXds+mcAg7WrqXogs
	ZVM8bBzwb5faXSc+qsSNTfok/rJ/K4EZ6rdhZVg==
X-Google-Smtp-Source: AGHT+IEMbJFWqRghLmu/ZOG4/DATF4wm6MfGWoKHG9Dg4MGsf5di/UXYyq9/MBiw5MgtsVaoqqO4MA==
X-Received: by 2002:a05:6512:1597:b0:549:4e86:75cc with SMTP id 2adb3069b0e04-54990e2bc0cmr6156848e87.4.1741691793579;
        Tue, 11 Mar 2025 04:16:33 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
Date: Tue, 11 Mar 2025 13:16:12 +0200
Message-Id: <20250311111618.1850927-2-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>

This patch adds the basic framework for ARM SCI mediator. SCI is System
Control Interface, which is designed to redirect requests from the Domains
to ARM specific Firmware (for example SCMI). This will allow the devices,
passed-through to the different Domains, to access to the System resources
(such as clocks/resets etc) by sending requests to the firmware.

ARM SCI subsystem allows to implement different SCI drivers to handle
specific ARM firmware interfaces (like ARM SCMI) and mediate requests
between the Domains and the Firmware. Also it allows SCI drivers to perform
proper action during Domain creation/destruction which is vital for
handling use cases like Domain reboot.

This patch introduces new DEVICE_ARM_SCI device subclass for probing SCI
drivers basing on device tree, SCI drivers register itself with
DT_DEVICE_START/END macro. On init - the SCI drivers should register its
SCI ops with sci_register(). Only one SCI driver can be supported.

At run-time, the following SCI API calls are introduced:

- sci_domain_sanitise_config() called from arch_sanitise_domain_config()
- sci_domain_init() called from arch_domain_create()
- sci_relinquish_resources() called from domain_relinquish_resources()
- sci_domain_destroy() called from arch_domain_destroy()
- sci_handle_call() called from vsmccc_handle_call()
- sci_dt_handle_node()
  sci_dt_finalize() called from handle_node() (Dom0 DT)

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 MAINTAINERS                             |   6 +
 xen/arch/arm/device.c                   |   5 +
 xen/arch/arm/dom0less-build.c           |  13 ++
 xen/arch/arm/domain.c                   |  12 +-
 xen/arch/arm/domain_build.c             |   8 +
 xen/arch/arm/firmware/Kconfig           |   8 +
 xen/arch/arm/firmware/Makefile          |   1 +
 xen/arch/arm/firmware/sci.c             | 187 +++++++++++++++++++++
 xen/arch/arm/include/asm/domain.h       |   5 +
 xen/arch/arm/include/asm/firmware/sci.h | 214 ++++++++++++++++++++++++
 xen/arch/arm/vsmc.c                     |   3 +
 xen/common/domctl.c                     |  13 ++
 xen/drivers/passthrough/device_tree.c   |   7 +
 xen/include/asm-generic/device.h        |   1 +
 xen/include/public/arch-arm.h           |   4 +
 15 files changed, 486 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/firmware/sci.c
 create mode 100644 xen/arch/arm/include/asm/firmware/sci.h

diff --git a/MAINTAINERS b/MAINTAINERS
index c11b82eca98f..c0e8143dca63 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -526,6 +526,12 @@ S:	Supported
 F:	xen/arch/arm/include/asm/tee/
 F:	xen/arch/arm/tee/
 
+SCI MEDIATORS
+M:	Oleksii Moisieiev <oleksii_moisieiev@epam.com>
+S:	Supported
+F:	xen/arch/arm/sci
+F:	xen/include/asm-arm/sci
+
 TOOLSTACK
 M:	Anthony PERARD <anthony.perard@vates.tech>
 S:	Supported
diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 5610cddcba8e..bdab96a408c4 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -13,6 +13,7 @@
 #include <xen/iocap.h>
 #include <xen/lib.h>
 
+#include <asm/firmware/sci.h>
 #include <asm/setup.h>
 
 int map_irq_to_domain(struct domain *d, unsigned int irq,
@@ -303,6 +304,10 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
                 return res;
             }
         }
+
+        res = sci_assign_dt_device(d, dev);
+        if ( res )
+            return res;
     }
 
     res = map_device_irqs_to_domain(d, dev, own_device, irq_ranges);
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 49d1f14d659b..c463ab3eaca5 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -14,6 +14,7 @@
 #include <asm/arm64/sve.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/firmware/sci.h>
 #include <asm/static-memory.h>
 #include <asm/static-shmem.h>
 
@@ -321,6 +322,10 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
         return -EINVAL;
     }
 
+    res = sci_assign_dt_device(kinfo->d, node);
+    if ( res )
+        return res;
+
     res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
     if ( res < 0 )
         return res;
@@ -970,6 +975,14 @@ void __init create_domUs(void)
         if ( !llc_coloring_enabled && llc_colors_str )
             panic("'llc-colors' found, but LLC coloring is disabled\n");
 
+        /*
+         * TODO: enable ARM SCI for dom0less case
+         * The configuration need to be retrieved from DT
+         *  - arch.arm_sci_type, like "xen,sci_type"
+         *  - arch.arm_sci_agent_id, like "xen,sci_agent_id"
+         */
+        d_cfg.arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_NONE;
+
         /*
          * The variable max_init_domid is initialized with zero, so here it's
          * very important to use the pre-increment operator to call
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 3ba959f86633..652aeb7a55de 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -25,6 +25,7 @@
 #include <asm/platform.h>
 #include <asm/procinfo.h>
 #include <asm/regs.h>
+#include <asm/firmware/sci.h>
 #include <asm/tee/tee.h>
 #include <asm/vfp.h>
 #include <asm/vgic.h>
@@ -694,7 +695,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
-    return 0;
+    return sci_domain_sanitise_config(config);
 }
 
 int arch_domain_create(struct domain *d,
@@ -786,6 +787,9 @@ int arch_domain_create(struct domain *d,
     d->arch.sve_vl = config->arch.sve_vl;
 #endif
 
+    if ( (rc = sci_domain_init(d, config)) != 0 )
+        goto fail;
+
     return 0;
 
 fail:
@@ -846,6 +850,7 @@ void arch_domain_destroy(struct domain *d)
     domain_vgic_free(d);
     domain_vuart_free(d);
     free_xenheap_page(d->shared_info);
+    sci_domain_destroy(d);
 #ifdef CONFIG_ACPI
     free_xenheap_pages(d->arch.efi_acpi_table,
                        get_order_from_bytes(d->arch.efi_acpi_len));
@@ -1039,6 +1044,7 @@ enum {
     PROG_p2m_root,
     PROG_p2m,
     PROG_p2m_pool,
+    PROG_sci,
     PROG_done,
 };
 
@@ -1098,6 +1104,10 @@ int domain_relinquish_resources(struct domain *d)
         ret = relinquish_p2m_mapping(d);
         if ( ret )
             return ret;
+    PROGRESS(sci):
+        ret = sci_relinquish_resources(d);
+        if ( ret )
+            return ret;
 
     PROGRESS(p2m_root):
         /*
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7b47abade196..36d28b52a418 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -24,6 +24,7 @@
 #include <asm/setup.h>
 #include <asm/tee/tee.h>
 #include <asm/pci.h>
+#include <asm/firmware/sci.h>
 #include <asm/platform.h>
 #include <asm/psci.h>
 #include <asm/setup.h>
@@ -1888,6 +1889,9 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         return 0;
     }
 
+    if ( sci_dt_handle_node(d, node) )
+        return 0;
+
     /*
      * The vGIC does not support routing hardware PPIs to guest. So
      * we need to skip any node using PPIs.
@@ -1988,6 +1992,10 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
+        res = sci_dt_finalize(d, kinfo->fdt);
+        if ( res )
+            return res;
+
         /*
          * Create a second memory node to store the ranges covering
          * reserved-memory regions.
diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
index 817da745fd43..fc7918c7fc56 100644
--- a/xen/arch/arm/firmware/Kconfig
+++ b/xen/arch/arm/firmware/Kconfig
@@ -1,3 +1,11 @@
+config ARM_SCI
+	bool
+	depends on ARM
+	help
+	  This option enables generic Arm SCI (System Control Interface) mediators
+	  support. It allows domains to control system resources via one of
+	  Arm SCI mediators drivers implemented in XEN, like SCMI.
+
 menu "Firmware Drivers"
 
 config SCMI_SMC
diff --git a/xen/arch/arm/firmware/Makefile b/xen/arch/arm/firmware/Makefile
index a5e454266625..71bdefc24afb 100644
--- a/xen/arch/arm/firmware/Makefile
+++ b/xen/arch/arm/firmware/Makefile
@@ -1 +1,2 @@
+obj-$(CONFIG_ARM_SCI) += sci.o
 obj-$(CONFIG_SCMI_SMC) += scmi-smc.o
diff --git a/xen/arch/arm/firmware/sci.c b/xen/arch/arm/firmware/sci.c
new file mode 100644
index 000000000000..1fb6b55e030a
--- /dev/null
+++ b/xen/arch/arm/firmware/sci.c
@@ -0,0 +1,187 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Generic part of the SCI (System Control Interface) subsystem.
+ *
+ * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
+ * Copyright (c) 2025 EPAM Systems
+ */
+
+#include <xen/acpi.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/sched.h>
+#include <xen/types.h>
+
+#include <asm/firmware/sci.h>
+
+static const struct sci_mediator_ops __read_mostly *cur_mediator;
+
+int sci_register(const struct sci_mediator_ops *ops)
+{
+    if ( cur_mediator )
+        return -EEXIST;
+
+    if ( !ops->domain_init || !ops->domain_destroy || !ops->handle_call )
+        return -EINVAL;
+
+    cur_mediator = ops;
+
+    return 0;
+};
+
+bool sci_handle_call(struct cpu_user_regs *args)
+{
+    if ( unlikely(!cur_mediator) )
+        return false;
+
+    return cur_mediator->handle_call(args);
+}
+
+int sci_domain_init(struct domain *d, struct xen_domctl_createdomain *config)
+{
+    if ( !cur_mediator )
+        return 0;
+
+    return cur_mediator->domain_init(d, config);
+}
+
+int sci_domain_sanitise_config(struct xen_domctl_createdomain *config)
+{
+    if ( !cur_mediator )
+        return 0;
+
+    if ( !cur_mediator->domain_sanitise_config )
+        return 0;
+
+    return cur_mediator->domain_sanitise_config(config);
+}
+
+void sci_domain_destroy(struct domain *d)
+{
+    if ( !cur_mediator )
+        return;
+
+    cur_mediator->domain_destroy(d);
+}
+
+int sci_relinquish_resources(struct domain *d)
+{
+    if ( !cur_mediator )
+        return 0;
+
+    if ( !cur_mediator->relinquish_resources )
+        return 0;
+
+    return cur_mediator->relinquish_resources(d);
+}
+
+bool sci_dt_handle_node(struct domain *d, struct dt_device_node *node)
+{
+    if ( !cur_mediator )
+        return 0;
+
+    if ( !cur_mediator->dom0_dt_handle_node )
+        return 0;
+
+    return cur_mediator->dom0_dt_handle_node(d, node);
+}
+
+int sci_dt_finalize(struct domain *d, void *fdt)
+{
+    if ( !cur_mediator )
+        return 0;
+
+    if ( !cur_mediator->dom0_dt_finalize )
+        return 0;
+
+    return cur_mediator->dom0_dt_finalize(d, fdt);
+}
+
+int sci_assign_dt_device(struct domain *d, struct dt_device_node *dev)
+{
+    struct dt_phandle_args ac_spec;
+    int index = 0;
+    int ret;
+
+    if ( !cur_mediator )
+        return 0;
+
+    if ( !cur_mediator->assign_dt_device )
+        return 0;
+
+    while ( !dt_parse_phandle_with_args(dev, "access-controllers",
+                                        "#access-controller-cells", index,
+                                        &ac_spec) )
+    {
+        printk(XENLOG_DEBUG "sci: assign device %s to %pd\n",
+               dt_node_full_name(dev), d);
+
+        ret = cur_mediator->assign_dt_device(d, &ac_spec);
+        if ( ret )
+            return ret;
+
+        index++;
+    }
+
+    return 0;
+}
+
+int sci_do_domctl(struct xen_domctl *domctl, struct domain *d,
+                  XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
+{
+    struct dt_device_node *dev;
+    int ret = 0;
+
+    switch ( domctl->cmd )
+    {
+    case XEN_DOMCTL_assign_device:
+        if ( domctl->u.assign_device.dev != XEN_DOMCTL_DEV_DT )
+        {
+            ret = -EINVAL;
+            break;
+        }
+
+        ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
+                                    domctl->u.assign_device.u.dt.size, &dev);
+        if ( ret )
+            return ret;
+
+        ret = sci_assign_dt_device(d, dev);
+        if ( ret )
+            break;
+
+        break;
+    default:
+        /* do not fail here as call is chained with iommu handling */
+        break;
+    }
+
+    return ret;
+}
+
+static int __init sci_init(void)
+{
+    struct dt_device_node *np;
+    unsigned int num_sci = 0;
+    int rc;
+
+    dt_for_each_device_node(dt_host, np)
+    {
+        rc = device_init(np, DEVICE_ARM_SCI, NULL);
+        if ( !rc && num_sci )
+        {
+            printk(XENLOG_ERR
+                   "SCMI: Only one SCI controller is supported. found second %s\n",
+                   np->name);
+            return -EOPNOTSUPP;
+        }
+        else if ( !rc )
+            num_sci++;
+        else if ( rc != -EBADF && rc != -ENODEV )
+            return rc;
+    }
+
+    return 0;
+}
+
+__initcall(sci_init);
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index f1d72c6e48df..fa0898b7cf80 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -118,6 +118,11 @@ struct arch_domain
 #ifdef CONFIG_TEE
     void *tee;
 #endif
+#ifdef CONFIG_ARM_SCI
+    bool sci_enabled;
+    /* ARM SCI driver's specific data */
+    void *sci_data;
+#endif
 
 }  __cacheline_aligned;
 
diff --git a/xen/arch/arm/include/asm/firmware/sci.h b/xen/arch/arm/include/asm/firmware/sci.h
new file mode 100644
index 000000000000..4c6f624723c5
--- /dev/null
+++ b/xen/arch/arm/include/asm/firmware/sci.h
@@ -0,0 +1,214 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Generic ARM SCI (System Control Interface) subsystem.
+ *
+ * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
+ * Copyright (c) 2025 EPAM Systems
+ */
+
+#ifndef __ASM_ARM_SCI_H
+#define __ASM_ARM_SCI_H
+
+#include <xen/lib.h>
+#include <xen/types.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/sched.h>
+
+#ifdef CONFIG_ARM_SCI
+
+struct sci_mediator_ops {
+    /*
+     * Called during domain construction. If it is requested to enable
+     * SCI support, so SCI driver can create own structures for the new domain
+     * and inform firmware about new domain (if required).
+     * Mandatory.
+     */
+    int (*domain_init)(struct domain *d,
+                       struct xen_domctl_createdomain *config);
+
+    /*
+     * Called during domain construction. The SCI driver uses
+     * it to sanitize domain SCI configuration parameters.
+     * Optional.
+     */
+    int (*domain_sanitise_config)(struct xen_domctl_createdomain *config);
+
+    /*
+     * Called during domain destruction, releases all resources, that
+     * were allocated for domain.
+     * Mandatory.
+     */
+    void (*domain_destroy)(struct domain *d);
+
+    /*
+     * Called during domain destruction to relinquish resources used
+     * by SCI driver itself and request resources releasing from firmware.
+     * Optional.
+     */
+    int (*relinquish_resources)(struct domain *d);
+
+    /* SMC/HVC Handle callback */
+    bool (*handle_call)(struct cpu_user_regs *regs);
+
+    /*
+     * Dom0 DT nodes handling callback so SCI driver can detect DT nodes it
+     * need to handle and decide if those nodes need to be provided to Dom0.
+     * Optional.
+     */
+    bool (*dom0_dt_handle_node)(struct domain *d, struct dt_device_node *node);
+
+    /*
+     * SCI driver callback called at the end of Dom0 DT generation, so
+     * it can perform steps to modify DT to enable/disable SCI
+     * functionality for Dom0.
+     */
+    int (*dom0_dt_finalize)(struct domain *d, void *fdt);
+
+    /*
+     * SCI driver callback called when DT device is passed through to guest,
+     * so SCI driver can enable device access to the domain if SCI FW provides
+     * Device specific access control functionality.
+     * Optional.
+     */
+    int (*assign_dt_device)(struct domain *d, struct dt_phandle_args *ac_spec);
+};
+
+
+static inline bool sci_domain_is_enabled(struct domain *d)
+{
+    return d->arch.sci_enabled;
+}
+
+/*
+ * Register SCI subsystem ops.
+ *
+ * Register SCI drivers operation and so enable SCI functionality.
+ * Only one SCI driver is supported.
+ */
+int sci_register(const struct sci_mediator_ops *ops);
+
+/*
+ * Initialize SCI functionality for domain if configured.
+ *
+ * Initialization routine to enable SCI functionality for the domain.
+ * The SCI configuration data and decision about enabling SCI functionality
+ * for the domain is SCI driver specific.
+ */
+int sci_domain_init(struct domain *d, struct xen_domctl_createdomain *config);
+
+/*
+ * Sanitise domain configuration parameters.
+ *
+ */
+int sci_domain_sanitise_config(struct xen_domctl_createdomain *config);
+
+/*
+ * Destroy SCI domain instance.
+ */
+void sci_domain_destroy(struct domain *d);
+
+/*
+ * Free resources assigned to the certain domain.
+ */
+int sci_relinquish_resources(struct domain *d);
+
+/*
+ * SMC/HVC Handle callback.
+ *
+ * SCI driver acts as SMC/HVC server for the registered domains and
+ * does redirection of the domain calls to the SCI firmware,
+ * such as ARM TF-A or similar.
+ */
+bool sci_handle_call(struct cpu_user_regs *regs);
+
+/*
+ * Dom0 DT nodes handling function.
+ *
+ * Allows SCI driver to detect DT nodes it need to handle and decide if
+ * those nodes need to be provided to Dom0.
+ */
+bool sci_dt_handle_node(struct domain *d, struct dt_device_node *node);
+
+/*
+ * Dom0 DT generation finalize.
+ *
+ * Called at the end of Dom0 DT generation, so SCI driver can perform steps
+ * to modify DT to enable/disable SCI functionality for Dom0.
+ */
+int sci_dt_finalize(struct domain *d, void *fdt);
+
+/*
+ * Assign DT device to domain.
+ *
+ * Called when DT device is passed through to guest, so SCI driver can enable
+ * device access to the domain if SCI FW provides "Device specific access
+ * control" functionality.
+ */
+int sci_assign_dt_device(struct domain *d, struct dt_device_node *dev);
+
+/*
+ * SCI domctl handler
+ *
+ * Only XEN_DOMCTL_assign_device is handled for now.
+ */
+int sci_do_domctl(struct xen_domctl *domctl, struct domain *d,
+                  XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
+#else
+
+static inline bool sci_domain_is_enabled(struct domain *d)
+{
+    return false;
+}
+
+static inline int sci_domain_init(struct domain *d,
+                                  struct xen_domctl_createdomain *config)
+{
+    return 0;
+}
+
+static inline int
+sci_domain_sanitise_config(struct xen_domctl_createdomain *config)
+{
+    return 0;
+}
+
+static inline void sci_domain_destroy(struct domain *d)
+{}
+
+static inline int sci_relinquish_resources(struct domain *d)
+{
+    return 0;
+}
+
+static inline bool sci_handle_call(struct cpu_user_regs *args)
+{
+    return false;
+}
+
+static inline bool sci_dt_handle_node(struct domain *d,
+                                      struct dt_device_node *node)
+{
+    return false;
+}
+
+static inline int sci_dt_finalize(struct domain *d, void *fdt)
+{
+    return false;
+}
+
+static inline int sci_assign_dt_device(struct domain *d,
+                                       struct dt_device_node *dev)
+{
+    return 0;
+}
+
+static inline int sci_do_domctl(struct xen_domctl *domctl, struct domain *d,
+                                XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
+{
+    return 0;
+}
+
+#endif /* CONFIG_ARM_SCI */
+
+#endif /* __ASM_ARM_SCI_H */
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 62d8117a120c..51b3c0297314 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -12,6 +12,7 @@
 #include <public/arch-arm/smccc.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
+#include <asm/firmware/sci.h>
 #include <asm/monitor.h>
 #include <asm/regs.h>
 #include <asm/smccc.h>
@@ -300,6 +301,8 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
             break;
         case ARM_SMCCC_OWNER_SIP:
             handled = handle_sip(regs);
+            if ( !handled )
+                handled = sci_handle_call(regs);
             break;
         case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
         case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 05abb581a03d..b48ad20a6e2b 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -27,6 +27,7 @@
 #include <xen/vm_event.h>
 #include <xen/monitor.h>
 #include <asm/current.h>
+#include <asm/firmware/sci.h>
 #include <asm/irq.h>
 #include <asm/page.h>
 #include <asm/p2m.h>
@@ -851,6 +852,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
     case XEN_DOMCTL_deassign_device:
     case XEN_DOMCTL_get_device_group:
         ret = iommu_do_domctl(op, d, u_domctl);
+
+        if ( ret >= 0 || (ret == -EOPNOTSUPP) || (ret == -ENODEV) )
+        {
+            /*
+             * TODO: RFC
+             * This change will allow to pass DT nodes/devices to
+             * XEN_DOMCTL_assign_device OP using xl.cfg:"dtdev" property even
+             * if those DT nodes/devices even are not behind IOMMU (or IOMMU
+             * is disabled) without failure.
+             */
+            ret = sci_do_domctl(op, d, u_domctl);
+        }
         break;
 
     case XEN_DOMCTL_get_paging_mempool_size:
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 075fb25a3706..f2ee0a72f541 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -318,6 +318,13 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
             break;
         }
 
+        /* TODO: RFC allow assignment of devices without IOMMU protection. */
+        if ( !dt_device_is_protected(dev) )
+        {
+            ret = 0;
+            break;
+        }
+
         ret = iommu_assign_dt_device(d, dev);
 
         if ( ret )
diff --git a/xen/include/asm-generic/device.h b/xen/include/asm-generic/device.h
index 1acd1ba1d8b4..9fcdabfda9bc 100644
--- a/xen/include/asm-generic/device.h
+++ b/xen/include/asm-generic/device.h
@@ -18,6 +18,7 @@ enum device_class
     DEVICE_IOMMU,
     DEVICE_INTERRUPT_CONTROLLER,
     DEVICE_PCI_HOSTBRIDGE,
+    DEVICE_ARM_SCI,
     /* Use for error */
     DEVICE_UNKNOWN,
 };
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 24840eeaa666..55eed9992c9d 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -327,6 +327,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
 #define XEN_DOMCTL_CONFIG_TEE_FFA       2
 
+#define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
+
 struct xen_arch_domainconfig {
     /* IN/OUT */
     uint8_t gic_version;
@@ -350,6 +352,8 @@ struct xen_arch_domainconfig {
      *
      */
     uint32_t clock_frequency;
+    /* IN */
+    uint8_t arm_sci_type;
 };
 #endif /* __XEN__ || __XEN_TOOLS__ */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:16:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:16:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907857.1315065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxbC-0006xm-Lf; Tue, 11 Mar 2025 11:16:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907857.1315065; Tue, 11 Mar 2025 11: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 1trxbC-0006xb-Iw; Tue, 11 Mar 2025 11:16:38 +0000
Received: by outflank-mailman (input) for mailman id 907857;
 Tue, 11 Mar 2025 11: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxbB-0006Sq-4K
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:37 +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 4bd56487-fe6a-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 12:16:36 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-54298ec925bso7021294e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:36 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04:16: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: 4bd56487-fe6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691795; x=1742296595; 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=hGhUZQZETvwJUHblIGD6a6nZ384/sBHUcT5eMii7h8w=;
        b=HQt9OphC2vrL27PyMOOOLhC/Vpk728zA79jSt4t2Wg4SedWd0/YE35MfZ71LTlHb0F
         dMZa0g/aKzMvogPoZYkMZgVRuIE1JqjR2YXenp5n0a1GZ5j6XjUIqH48gmhCb0V3O0/I
         X5/YmsqrC2mxcWlUYxYWSuMOtr9TAcFM6S5RUYrM+nELX9Q0hNtyF4ga+95PWa9Mj1PQ
         858bBCtUolK80Smgnf0UckfWI1qYGo2yYypGKqtGjlZtWZq+ycxcqV21/BRvIvsdYQKE
         twrip0zGxWHCkVLwYPPx5duAoJwboKG/e5Zvz8Qw9UUuFq7jB61lkp1F8dK2Y5kIX779
         EpQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691795; x=1742296595;
        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=hGhUZQZETvwJUHblIGD6a6nZ384/sBHUcT5eMii7h8w=;
        b=mt6Emzmb1LzZyOiRcJ7sx6BytGcRiNY9jSrGjC5AyyG+pBxf0lohLQo6NFLY1KE5Hz
         Pvirjus+Rk8YnL6lLeFs7RbojCLCVK5GvdjhgTqOihDfyDTr3GCGx/5y4ICZCxn86q0T
         w5hbhnmzabhmIQaC2vmbmMF4bxNT+VIm2amszMfbJ0pqScT8JA7LPlJ5szTgT/VIVzfH
         +qD/28LyejY0FVIvjwVPmAld/ZZ3COtgcHwcrPzb30md0YSEIPQ/cngDRZVkWjKTQyiK
         Yqsvos2/jWJf0NWX2MRjOYgZkobjz4UyjxA2kVtWK+NyZ/jfeRdO/2aQKg7P7tnPHIXq
         eVuA==
X-Gm-Message-State: AOJu0YxoOspnq6i2jTSmcXlI4GLesVo8bFWmwAMq2+6hP0uJP9n9chIr
	nl9GBbZnE7MlknSeDI+y93HfpbQcDs6ZK46CJ8vJ0e/Npyy2oAbR4pDazA==
X-Gm-Gg: ASbGncsZShE7Ep4s/A+22ZFYr0mzpi8sOWJDDmbdxTI0kgsW62TT84XIhFpzV5UMX1K
	gSn0GO1Qm89k4zzITI6p1SwCEtJiwmZB/vL4Mqv3Qc9wgIbAV4/LNsSfgwVDopZzZqfxwcNqpvD
	+uFUyDL3U6LS1QfCgbq9E66AYpEcagwr7xgG/aopLnSKEkOwei0JE+eMd3yElQzm4Z+oJaJ4own
	vU1TfGYSpYp6tiLUjrifcy+xjIFG3QUXeYPBeujqNOFUSElEacE1BtVex55eXRQApGgZVEgvkZ5
	RfwKwP/4/fs8pvLXrV6eTVymaQrkEqGk1smRzb585XhLKTwCQHY+yNFSNPFDl1OjWLQyNuQYmOJ
	AZ/Kb0qrGddIWr7w/hCfxIg8NJME=
X-Google-Smtp-Source: AGHT+IHlWv9I8sfmTXTE7NFjAbWldyDQVy4MVUe/rIRmiDwXkC2wZ9bpIauh2gi8vNr/FkdRbc/SLw==
X-Received: by 2002:a05:6512:1112:b0:549:4f0e:8e28 with SMTP id 2adb3069b0e04-54990e5d374mr6731453e87.15.1741691795231;
        Tue, 11 Mar 2025 04:16:35 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [RFC PATCH v3 2/7] xen/arm: scmi-smc: update to be used under sci subsystem
Date: Tue, 11 Mar 2025 13:16:13 +0200
Message-Id: <20250311111618.1850927-3-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The introduced SCI (System Control Interface) subsystem provides unified
interface to integrate in Xen SCI drivers which adds support for ARM
firmware (EL3, SCP) based software interfaces (like SCMI) that are used in
system management. The SCI subsystem allows to add drivers for different FW
interfaces or have different drivers for the same FW interface (for example,
SCMI with different transports).

This patch updates SCMI over SMC calls handling layer, introduced by
commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls handling
layer"), to be SCI driver:
- convert to DT device;
- convert to SCI Xen interface.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/arm/firmware/Kconfig                | 13 ++-
 xen/arch/arm/firmware/scmi-smc.c             | 93 +++++++++++---------
 xen/arch/arm/include/asm/firmware/scmi-smc.h | 41 ---------
 xen/arch/arm/vsmc.c                          |  5 +-
 xen/include/public/arch-arm.h                |  1 +
 5 files changed, 64 insertions(+), 89 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/firmware/scmi-smc.h

diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
index fc7918c7fc56..02d7b600317f 100644
--- a/xen/arch/arm/firmware/Kconfig
+++ b/xen/arch/arm/firmware/Kconfig
@@ -8,9 +8,18 @@ config ARM_SCI
 
 menu "Firmware Drivers"
 
+choice
+	prompt "ARM SCI driver type"
+	default ARM_SCI_NONE
+	help
+	Choose which ARM SCI driver to enable.
+
+config ARM_SCI_NONE
+	bool "none"
+
 config SCMI_SMC
 	bool "Forward SCMI over SMC calls from hwdom to EL3 firmware"
-	default y
+	select ARM_SCI
 	help
 	  This option enables basic awareness for SCMI calls using SMC as
 	  doorbell mechanism and Shared Memory for transport ("arm,scmi-smc"
@@ -18,4 +27,6 @@ config SCMI_SMC
 	  firmware node is used to trap and forward corresponding SCMI SMCs
 	  to firmware running at EL3, for calls coming from the hardware domain.
 
+endchoice
+
 endmenu
diff --git a/xen/arch/arm/firmware/scmi-smc.c b/xen/arch/arm/firmware/scmi-smc.c
index 33473c04b181..188bd659513b 100644
--- a/xen/arch/arm/firmware/scmi-smc.c
+++ b/xen/arch/arm/firmware/scmi-smc.c
@@ -9,6 +9,7 @@
  * Copyright 2024 NXP
  */
 
+#include <asm/device.h>
 #include <xen/acpi.h>
 #include <xen/device_tree.h>
 #include <xen/errno.h>
@@ -16,12 +17,11 @@
 #include <xen/sched.h>
 #include <xen/types.h>
 
+#include <asm/firmware/sci.h>
 #include <asm/smccc.h>
-#include <asm/firmware/scmi-smc.h>
 
 #define SCMI_SMC_ID_PROP   "arm,smc-id"
 
-static bool __ro_after_init scmi_enabled;
 static uint32_t __ro_after_init scmi_smc_id;
 
 /*
@@ -41,14 +41,11 @@ static bool scmi_is_valid_smc_id(uint32_t fid)
  *
  * Returns true if SMC was handled (regardless of response), false otherwise.
  */
-bool scmi_handle_smc(struct cpu_user_regs *regs)
+static bool scmi_handle_smc(struct cpu_user_regs *regs)
 {
     uint32_t fid = (uint32_t)get_user_reg(regs, 0);
     struct arm_smccc_res res;
 
-    if ( !scmi_enabled )
-        return false;
-
     if ( !scmi_is_valid_smc_id(fid) )
         return false;
 
@@ -78,49 +75,45 @@ bool scmi_handle_smc(struct cpu_user_regs *regs)
     return true;
 }
 
-static int __init scmi_check_smccc_ver(void)
+static int scmi_smc_domain_init(struct domain *d,
+                                struct xen_domctl_createdomain *config)
 {
-    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
-    {
-        printk(XENLOG_WARNING
-               "SCMI: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
-        return -ENOSYS;
-    }
+    if ( !is_hardware_domain(d) )
+        return 0;
 
+    d->arch.sci_enabled = true;
+    printk(XENLOG_DEBUG "SCMI: %pd init\n", d);
     return 0;
 }
 
-static int __init scmi_dt_init_smccc(void)
+static void scmi_smc_domain_destroy(struct domain *d)
 {
-    static const struct dt_device_match scmi_ids[] __initconst =
-    {
-        /* We only support "arm,scmi-smc" binding for now */
-        DT_MATCH_COMPATIBLE("arm,scmi-smc"),
-        { /* sentinel */ },
-    };
-    const struct dt_device_node *scmi_node;
-    int ret;
+    if ( !is_hardware_domain(d) )
+        return;
 
-    /* If no SCMI firmware node found, fail silently as it's not mandatory */
-    scmi_node = dt_find_matching_node(NULL, scmi_ids);
-    if ( !scmi_node )
-        return -EOPNOTSUPP;
+    printk(XENLOG_DEBUG "SCMI: %pd destroy\n", d);
+}
 
-    ret = dt_property_read_u32(scmi_node, SCMI_SMC_ID_PROP, &scmi_smc_id);
-    if ( !ret )
+static int __init scmi_check_smccc_ver(void)
+{
+    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
     {
-        printk(XENLOG_ERR "SCMI: No valid \"%s\" property in \"%s\" DT node\n",
-               SCMI_SMC_ID_PROP, scmi_node->full_name);
-        return -ENOENT;
+        printk(XENLOG_WARNING
+               "SCMI: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
+        return -ENOSYS;
     }
 
-    scmi_enabled = true;
-
     return 0;
 }
 
+static const struct sci_mediator_ops scmi_smc_ops = {
+    .handle_call = scmi_handle_smc,
+    .domain_init = scmi_smc_domain_init,
+    .domain_destroy = scmi_smc_domain_destroy,
+};
+
 /* Initialize the SCMI layer based on SMCs and Device-tree */
-static int __init scmi_init(void)
+static int __init scmi_dom0_init(struct dt_device_node *dev, const void *data)
 {
     int ret;
 
@@ -134,22 +127,36 @@ static int __init scmi_init(void)
     if ( ret )
         return ret;
 
-    ret = scmi_dt_init_smccc();
-    if ( ret == -EOPNOTSUPP )
-        return ret;
+    ret = dt_property_read_u32(dev, SCMI_SMC_ID_PROP, &scmi_smc_id);
+    if ( !ret )
+    {
+        printk(XENLOG_ERR "SCMI: No valid \"%s\" property in \"%s\" DT node\n",
+               SCMI_SMC_ID_PROP, dt_node_full_name(dev));
+        return -ENOENT;
+    }
+
+    ret = sci_register(&scmi_smc_ops);
     if ( ret )
-        goto err;
+    {
+        printk(XENLOG_ERR "SCMI: mediator already registered (ret = %d)\n",
+               ret);
+        return ret;
+    }
 
     printk(XENLOG_INFO "Using SCMI with SMC ID: 0x%x\n", scmi_smc_id);
 
     return 0;
-
- err:
-    printk(XENLOG_ERR "SCMI: Initialization failed (ret = %d)\n", ret);
-    return ret;
 }
 
-__initcall(scmi_init);
+static const struct dt_device_match scmi_smc_match[] __initconst = {
+    DT_MATCH_COMPATIBLE("arm,scmi-smc"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(gicv3, "SCMI SMC DOM0", DEVICE_ARM_SCI)
+    .dt_match = scmi_smc_match,
+    .init = scmi_dom0_init,
+DT_DEVICE_END
 
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/firmware/scmi-smc.h b/xen/arch/arm/include/asm/firmware/scmi-smc.h
deleted file mode 100644
index 6b1a164a400e..000000000000
--- a/xen/arch/arm/include/asm/firmware/scmi-smc.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * xen/arch/arm/include/asm/firmware/scmi-smc.h
- *
- * ARM System Control and Management Interface (SCMI) over SMC
- * Generic handling layer
- *
- * Andrei Cherechesu <andrei.cherechesu@nxp.com>
- * Copyright 2024 NXP
- */
-
-#ifndef __ASM_SCMI_SMC_H__
-#define __ASM_SCMI_SMC_H__
-
-#include <xen/types.h>
-
-struct cpu_user_regs;
-
-#ifdef CONFIG_SCMI_SMC
-
-bool scmi_handle_smc(struct cpu_user_regs *regs);
-
-#else
-
-static inline bool scmi_handle_smc(struct cpu_user_regs *regs)
-{
-    return false;
-}
-
-#endif /* CONFIG_SCMI_SMC */
-
-#endif /* __ASM_SCMI_H__ */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 51b3c0297314..b33c69a1c22a 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -21,7 +21,6 @@
 #include <asm/traps.h>
 #include <asm/vpsci.h>
 #include <asm/platform.h>
-#include <asm/firmware/scmi-smc.h>
 
 /* Number of functions currently supported by Hypervisor Service. */
 #define XEN_SMCCC_FUNCTION_COUNT 3
@@ -233,7 +232,7 @@ static bool handle_sip(struct cpu_user_regs *regs)
     if ( platform_smc(regs) )
         return true;
 
-    return scmi_handle_smc(regs);
+    return sci_handle_call(regs);
 }
 
 /*
@@ -301,8 +300,6 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
             break;
         case ARM_SMCCC_OWNER_SIP:
             handled = handle_sip(regs);
-            if ( !handled )
-                handled = sci_handle_call(regs);
             break;
         case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
         case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 55eed9992c9d..095b1a23e30c 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -328,6 +328,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 #define XEN_DOMCTL_CONFIG_TEE_FFA       2
 
 #define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
+#define XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC  1
 
 struct xen_arch_domainconfig {
     /* IN/OUT */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:16:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:16:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907860.1315075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxbF-0007G1-Uc; Tue, 11 Mar 2025 11:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907860.1315075; Tue, 11 Mar 2025 11: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 1trxbF-0007Fo-Ph; Tue, 11 Mar 2025 11:16:41 +0000
Received: by outflank-mailman (input) for mailman id 907860;
 Tue, 11 Mar 2025 11: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxbE-0006Sq-5w
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:40 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d8b93ed-fe6a-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 12:16:39 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-30bfc8faef9so32685031fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:39 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04: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: 4d8b93ed-fe6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691798; x=1742296598; 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=dZ8IiY6XgKfSZ4z1G9tlPGGTDMovYwX3g0MBfNvj3Cs=;
        b=CBaP2AX1s5zyWTfjDVj3q/+tD2+qRwbckiCuIN+v1zMrftdEYgcDp9lUdenq1VVAwd
         hli+fG+LIlsHYFb5YO2DCv91kQgPsqjbCM+Kt5DPNHjpjmXwJA8qRAo57Mc99MQm5Ggv
         6Zn7DjE+8D56IYGnTMF5kbeZHxOknghyu1PJBtbSUai0L9d0wBS4CL/SLiaoHr/pOxdj
         XHntwmEIlfjlwCL5vika/061UpG3WGcZAjtodkSzoQfY8oWkvZN1WlFsjLRyW748E/Iv
         1z/LgmLfzxvB3K4r6JiKhNHP1gIcOT/q2WSueoKoF68/eaexsfvdf+GeevpEjMEKpVpR
         YROQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691798; x=1742296598;
        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=dZ8IiY6XgKfSZ4z1G9tlPGGTDMovYwX3g0MBfNvj3Cs=;
        b=DorzlewQ50RgbQV1pEQpELQpIuqXgpvEfAogoeTH8soIv7DbfLuNDDmEe6uGrM3Huj
         Vl+WbTzKAHdF4BhW06zy3Ps217FUok4a4SdhiQiSNOF+6dNfonE71Y+1AMha95DHSdtC
         PpEpNvfmI4HX19tv6gRPjwYjeC4G9eC4zF/82nutjKA2I3EjVOcD4alQrKWfHryPHF/R
         pvaFoHzU6pOpzQiJt4TE2VOfQLlam3YBF5ovdUkCg2WAVph9bElSgV6UPwixvuxp/vx7
         NGSRKVY7Uyh0p05M/uYfxmdPzChs83pM6SbjD1v5Ay6sm8GSCjUzJ0x2ODiIKDT1E10y
         fjuQ==
X-Gm-Message-State: AOJu0YxfPDeYv5AJ64RQ+Qcu2ZKMvVwljm/bHonQ9gppLL0HnTtYNSeY
	4vY/DJcOkPEAW4UAeAPHOqvaVgnVQ9cS7+Etwfd0vC/KuJlEBwQYlaU8Yg==
X-Gm-Gg: ASbGnctsc7bomL/mWg62N1ZxPHAT/8s520CenkhhD51GXgWOFpX/+mo1eNUeGT0xL5D
	g/jGWPLX8jykXkTtQ0yWpUntvwlQ5qLquOr/MQnzawmLQ8FHUCr8stmPdSFK+1Cxb/GCYON9rTy
	zSiJQB/kJ6HSxpvf42IWvlZO0zIH2UWxtMRUp7XRsi7/NOzVbFap72V14XMz9GB1fSaPh1jSLI+
	FqyOdHwU9bHBKEG8IGjTQHkcQU0LI6QMHCKTEL14BdrGKZjhXJN5HwsEpoth0IEpP9X6npPt1vq
	Wa3ueHAWIPK0HkWabCqKrHEiOkYh90NRcFSh1G6ImstrzgOSWN9SfvRRSrYbXoeRMLBsv6x9JHz
	D5Th1MLo/1ScLzNOJGLOXdXlBEA8=
X-Google-Smtp-Source: AGHT+IFxUf27PD/iQbSf+dmvyb3BN7p5RVYXcb02X3oue8L5FSS5VfDdw3RzWVnfz/fqptXjSmChVA==
X-Received: by 2002:a05:6512:159a:b0:549:8924:2212 with SMTP id 2adb3069b0e04-54990e5866bmr6506877e87.17.1741691798136;
        Tue, 11 Mar 2025 04:16:38 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [RFC PATCH v3 3/7] xen/arm: scmi-smc: passthrough SCMI SMC to guest domain
Date: Tue, 11 Mar 2025 13:16:14 +0200
Message-Id: <20250311111618.1850927-4-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls
handling layer") introduces simple driver which forwards SCMI over SMC
calls from hwdom/dom0 to EL3 firmware (TF-A) with a single SCMI OSPM agent
support. While it working gracefully for hwdom/dom0 use case it doesn't
cover "thin Dom0 with guest domain, which serves as Driver domain"
use-case. In this case HW need to be enable in Driver domain and dom0 is
performing only control functions.

The EL3 SCMI firmware (TF-A) with a single SCMI OSPM agent support is
pretty generic case for the default vendors SDK and new platforms.

This patch enables passthrough of SCMI SMC single agent interface to the
Driver domain which can be enabled in the following way:

 - dom0: add dom0_scmi_smc_passthrough to the Xen Command Line
 - domD: xl.cfg add "arm_sci" option as below

   arm_sci = "type=scmi_smc"

 - domD: xl.cfg enable access to the "arm,scmi-shmem"

iomem = [
    "47ff0,1@22001",
]

 - domD: add scmi nodes to the Driver domain partial device tree as in the
 below example:

passthrough {
   scmi_shm_0: sram@22001000 {
       compatible = "arm,scmi-shmem";
       reg = <0x0 0x22001000 0x0 0x1000>;
   };

   firmware {
        compatible = "simple-bus";
            scmi: scmi {
                compatible = "arm,scmi-smc";
                shmem = <&scmi_shm_0>;
                ...
            }
    }
}

The SCMI SMC single agent interface can be enabled for one and only one
domain. In general, the configuration is similar to any other HW
passthrough, except explicitly enabling SCMI with "arm_sci" xl.cfg option.

Note that SCMI and "arm,scmi-shmem" nodes will be removed from
dom0 DT.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 docs/man/xl.cfg.5.pod.in          | 36 ++++++++++++++
 docs/misc/xen-command-line.pandoc |  9 ++++
 tools/include/libxl.h             |  5 ++
 tools/libs/light/libxl_arm.c      | 13 ++++++
 tools/libs/light/libxl_types.idl  | 10 ++++
 tools/xl/xl_parse.c               | 66 ++++++++++++++++++++++++++
 xen/arch/arm/firmware/Kconfig     |  4 +-
 xen/arch/arm/firmware/scmi-smc.c  | 78 +++++++++++++++++++++++++++++--
 8 files changed, 217 insertions(+), 4 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 8e1422104e50..7edf272386e3 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -3094,6 +3094,42 @@ assigned to the domain.
 
 =back
 
+=over 4
+
+=item B<arm_sci="ARM_SCI_STRING">
+
+Set ARM_SCI specific options for the guest. ARM SCI is System
+Control Protocol allows domain to manage various functions that are provided
+by HW platform firmware.
+
+B<ARM_SCI_STRING> is a comma separated list of C<KEY=VALUE> settings,
+from the following list:
+
+=over 4
+
+=item B<type=STRING>
+
+Specifies an ARM SCI type for the guest.
+
+=over 4
+
+=item B<none>
+
+Don't allow guest to use ARM SCI if present on the platform. This is the
+default value.
+
+=item B<scmi_smc>
+
+Enables ARM SCMI SMC support for the guest by enabling SCMI over SMC calls
+forwarding from domain to the EL3 firmware (like Trusted Firmware-A) with a
+single SCMI OSPM agent support.
+Should be used together with B<dom0_scmi_smc_passthrough> Xen command line
+option.
+
+=back
+
+=back
+
 =head3 x86
 
 =over 4
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 9bbd00baef91..8e50f6b7c7ac 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1082,6 +1082,15 @@ affinities to prefer but be not limited to the specified node(s).
 
 Pin dom0 vcpus to their respective pcpus
 
+### dom0_scmi_smc_passthrough (ARM)
+> `= <boolean>`
+
+The option is available when `CONFIG_SCMI_SMC` is compiled in, and allows to
+enable SCMI SMC single agent interface for any, but only one guest domain,
+which serves as Driver domain. The SCMI will be disabled for Dom0/hwdom and
+SCMI nodes removed from Dom0/hwdom device tree.
+(for example, thin Dom0 with Driver domain use-case).
+
 ### dtuart (ARM)
 > `= path [:options]`
 
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index f8fe4afd7dca..5fa43637ab76 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -313,6 +313,11 @@
  */
 #define LIBXL_HAVE_BUILDINFO_ARCH_NR_SPIS 1
 
+/*
+ * libxl_domain_build_info has the arch_arm.sci* fields.
+ */
+#define LIBXL_HAVE_BUILDINFO_ARCH_ARM_SCI 1
+
 /*
  * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
  * 'soft reset' for domains and there is 'soft_reset' shutdown reason
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 28cea1f643c9..d41adea1cefd 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -222,6 +222,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         config->arch.sve_vl = d_config->b_info.arch_arm.sve_vl / 128U;
     }
 
+    switch (d_config->b_info.arm_sci.type) {
+    case LIBXL_ARM_SCI_TYPE_NONE:
+        config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_NONE;
+        break;
+    case LIBXL_ARM_SCI_TYPE_SCMI_SMC:
+        config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC;
+        break;
+    default:
+        LOG(ERROR, "Unknown ARM_SCI type %d",
+            d_config->b_info.arm_sci.type);
+        return ERROR_FAIL;
+    }
+
     return 0;
 }
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 33c9cfc1a267..ea0d30654cdd 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -551,6 +551,15 @@ libxl_sve_type = Enumeration("sve_type", [
     (2048, "2048")
     ], init_val = "LIBXL_SVE_TYPE_DISABLED")
 
+libxl_arm_sci_type = Enumeration("arm_sci_type", [
+    (0, "none"),
+    (1, "scmi_smc")
+    ], init_val = "LIBXL_ARM_SCI_TYPE_NONE")
+
+libxl_arm_sci = Struct("arm_sci", [
+    ("type", libxl_arm_sci_type),
+    ])
+
 libxl_rdm_reserve = Struct("rdm_reserve", [
     ("strategy",    libxl_rdm_reserve_strategy),
     ("policy",      libxl_rdm_reserve_policy),
@@ -639,6 +648,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("apic",             libxl_defbool),
     ("dm_restrict",      libxl_defbool),
     ("tee",              libxl_tee_type),
+    ("arm_sci",          libxl_arm_sci),
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
                                        ("bios",             libxl_bios_type),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 9a3679c02325..ac9bf0b25c5a 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1284,6 +1284,63 @@ out:
     if (rc) exit(EXIT_FAILURE);
 }
 
+static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
+                                const char *str)
+{
+    enum {
+        STATE_OPTION,
+        STATE_TYPE,
+        STATE_TERMINAL,
+    };
+    int ret, state = STATE_OPTION;
+    char *buf2, *tok, *ptr, *end;
+
+    if (NULL == (buf2 = ptr = strdup(str)))
+        return ERROR_NOMEM;
+
+    for (tok = ptr, end = ptr + strlen(ptr) + 1; ptr < end; ptr++) {
+        switch(state) {
+        case STATE_OPTION:
+            if (*ptr == '=') {
+                *ptr = '\0';
+                if (!strcmp(tok, "type")) {
+                    state = STATE_TYPE;
+                } else {
+                    fprintf(stderr, "Unknown ARM_SCI option: %s\n", tok);
+                    goto parse_error;
+                }
+                tok = ptr + 1;
+            }
+            break;
+        case STATE_TYPE:
+            if (*ptr == '\0' || *ptr == ',') {
+                state = *ptr == ',' ? STATE_OPTION : STATE_TERMINAL;
+                *ptr = '\0';
+                ret = libxl_arm_sci_type_from_string(tok, &arm_sci->type);
+                if (ret) {
+                    fprintf(stderr, "Unknown ARM_SCI type: %s\n", tok);
+                    goto parse_error;
+                }
+                tok = ptr + 1;
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    if (tok != ptr || state != STATE_TERMINAL)
+        goto parse_error;
+
+    free(buf2);
+
+    return 0;
+
+parse_error:
+    free(buf2);
+    return ERROR_INVAL;
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2981,6 +3038,15 @@ skip_usbdev:
     if (!xlu_cfg_get_long (config, "nr_spis", &l, 0))
         b_info->arch_arm.nr_spis = l;
 
+    if (!xlu_cfg_get_string(config, "arm_sci", &buf, 1)) {
+        libxl_arm_sci arm_sci = { 0 };
+        if (!parse_arm_sci_config(config, &arm_sci, buf)) {
+            b_info->arm_sci.type = arm_sci.type;
+        } else {
+            exit(EXIT_FAILURE);
+        }
+    }
+
     parse_vkb_list(config, d_config);
 
     d_config->virtios = NULL;
diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
index 02d7b600317f..2686ba313898 100644
--- a/xen/arch/arm/firmware/Kconfig
+++ b/xen/arch/arm/firmware/Kconfig
@@ -25,7 +25,9 @@ config SCMI_SMC
 	  doorbell mechanism and Shared Memory for transport ("arm,scmi-smc"
 	  compatible only). The value of "arm,smc-id" DT property from SCMI
 	  firmware node is used to trap and forward corresponding SCMI SMCs
-	  to firmware running at EL3, for calls coming from the hardware domain.
+	  to firmware running at EL3, for calls coming from the hardware domain or
+	  driver domain.
+	  Use with EL3 firmware which supports only single SCMI OSPM agent.
 
 endchoice
 
diff --git a/xen/arch/arm/firmware/scmi-smc.c b/xen/arch/arm/firmware/scmi-smc.c
index 188bd659513b..7a0130ea0ea9 100644
--- a/xen/arch/arm/firmware/scmi-smc.c
+++ b/xen/arch/arm/firmware/scmi-smc.c
@@ -14,6 +14,8 @@
 #include <xen/device_tree.h>
 #include <xen/errno.h>
 #include <xen/init.h>
+#include <xen/iocap.h>
+#include <xen/param.h>
 #include <xen/sched.h>
 #include <xen/types.h>
 
@@ -22,7 +24,11 @@
 
 #define SCMI_SMC_ID_PROP   "arm,smc-id"
 
+static bool __ro_after_init opt_dom0_scmi_smc_passthrough = false;
+boolean_param("dom0_scmi_smc_passthrough", opt_dom0_scmi_smc_passthrough);
+
 static uint32_t __ro_after_init scmi_smc_id;
+static struct domain *scmi_dom;
 
 /*
  * Check if provided SMC Function Identifier matches the one known by the SCMI
@@ -50,7 +56,7 @@ static bool scmi_handle_smc(struct cpu_user_regs *regs)
         return false;
 
     /* Only the hardware domain should use SCMI calls */
-    if ( !is_hardware_domain(current->domain) )
+    if ( scmi_dom != current->domain )
     {
         gdprintk(XENLOG_WARNING, "SCMI: Unprivileged access attempt\n");
         return false;
@@ -78,9 +84,18 @@ static bool scmi_handle_smc(struct cpu_user_regs *regs)
 static int scmi_smc_domain_init(struct domain *d,
                                 struct xen_domctl_createdomain *config)
 {
-    if ( !is_hardware_domain(d) )
+    if ( !opt_dom0_scmi_smc_passthrough && !is_hardware_domain(d) )
+        return 0;
+
+    if ( opt_dom0_scmi_smc_passthrough &&
+         (config->arch.arm_sci_type != XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC ||
+          is_hardware_domain(d)) )
         return 0;
 
+    if ( scmi_dom )
+        return -EEXIST;
+
+    scmi_dom = d;
     d->arch.sci_enabled = true;
     printk(XENLOG_DEBUG "SCMI: %pd init\n", d);
     return 0;
@@ -88,12 +103,68 @@ static int scmi_smc_domain_init(struct domain *d,
 
 static void scmi_smc_domain_destroy(struct domain *d)
 {
-    if ( !is_hardware_domain(d) )
+    if ( scmi_dom && scmi_dom != d )
         return;
 
+    scmi_dom = NULL;
+    d->arch.sci_enabled = false;
     printk(XENLOG_DEBUG "SCMI: %pd destroy\n", d);
 }
 
+/*
+ * Handle Dom0 SCMI SMC specific DT nodes
+ *
+ * Copy SCMI nodes into Dom0 device tree if dom0_scmi_smc_passthrough=false.
+ *
+ */
+static bool scmi_smc_dt_handle_node(struct domain *d,
+                                    struct dt_device_node *node)
+{
+    static const struct dt_device_match shmem_matches[] __initconst = {
+        DT_MATCH_COMPATIBLE("arm,scmi-shmem"),
+        { /* sentinel */ },
+    };
+    static const struct dt_device_match scmi_matches[] __initconst = {
+        DT_MATCH_PATH("/firmware/scmi"),
+        { /* sentinel */ },
+    };
+
+    if ( dt_match_node(shmem_matches, node) && !sci_domain_is_enabled(d) )
+    {
+        dt_dprintk("  Skip scmi shmem node\n");
+        return true;
+    }
+
+    if ( dt_match_node(scmi_matches, node) && !sci_domain_is_enabled(d) )
+    {
+        struct dt_device_node *shmem_node;
+        const __be32 *prop;
+        u64 paddr, size;
+        int ret;
+
+        dt_dprintk("  Skip scmi node\n");
+
+        prop = dt_get_property(node, "shmem", NULL);
+        if ( !prop )
+            return true;
+
+        shmem_node = dt_find_node_by_phandle(be32_to_cpup(prop));
+        if ( !shmem_node )
+            return true;
+
+        ret = dt_device_get_address(shmem_node, 0, &paddr, &size);
+        if ( ret )
+            return true;
+
+        ret = iomem_permit_access(d, paddr_to_pfn(paddr),
+                                  paddr_to_pfn(paddr + size - 1));
+
+        return true;
+    }
+
+    return false;
+}
+
 static int __init scmi_check_smccc_ver(void)
 {
     if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
@@ -110,6 +181,7 @@ static const struct sci_mediator_ops scmi_smc_ops = {
     .handle_call = scmi_handle_smc,
     .domain_init = scmi_smc_domain_init,
     .domain_destroy = scmi_smc_domain_destroy,
+    .dom0_dt_handle_node = scmi_smc_dt_handle_node,
 };
 
 /* Initialize the SCMI layer based on SMCs and Device-tree */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:16:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907865.1315085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxbL-0007fU-AZ; Tue, 11 Mar 2025 11:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907865.1315085; Tue, 11 Mar 2025 11: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 1trxbL-0007fN-7D; Tue, 11 Mar 2025 11:16:47 +0000
Received: by outflank-mailman (input) for mailman id 907865;
 Tue, 11 Mar 2025 11: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxbK-0006Sq-6k
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:46 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51188313-fe6a-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 12:16:45 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5495078cd59so6077124e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:45 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04:16: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: 51188313-fe6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691804; x=1742296604; 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=DOtEpGDdd8lHC2aLHRNxzl9ISoh4BrNCKPiIInwVNAg=;
        b=jBRiO0kkqdvSA4yK0nouc/gtILNiwORc3ZNvygEFl+N2eeoHHQ6ny5l5sojXR1AXZt
         TUOjyIhuR5kDyACqy1jfNX2OoneZof1iT4adTxMJMCGkxS/26dSkrM6Wvi3Wrk4OmRYr
         f8+QrnPqSRcU0fBrLXwS7ipgnc86CiiwbH6W9FdryrWZxcoViRwrfLuRjk32eZmtxBcg
         d2D/sQ3BZj6CjbcYZIbTUob4RcDExj7TBnvd6bOSb4O4ke1cM40gan+ncHRBR+ixdkp3
         EDOQKhDhOTZzqL1Ks2f94HHBAxhK6W4+T6K0wV/hEgrpk8ZjpPbLm6V5E4ZnQD8xqzS1
         MweQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691804; x=1742296604;
        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=DOtEpGDdd8lHC2aLHRNxzl9ISoh4BrNCKPiIInwVNAg=;
        b=LNajOXVRtcJc8H/bKfy6vaSv6A/Fp6R28efp6Cyzgr8X50EUdp3N8qySJuazyIX1ho
         MG8SqbFmbJ9w4jj4P+T8aNXsRTxPKXtsrRrOGAW2R9GweAo7RhhQuFG4Zkpch70+vCsy
         jQ4/1KnVzUSL1RmT4p77Z/xRCE+OFpz/RDM68N8BuNBcaFnJbgeANwAagtBWmjBbC85y
         c5EoFMrgHu5piNsBvRz8G6Gqkt7m3AWmTyfMYskW8vwInYOZingQCPkGK7k0DGLEixAI
         /rG2YKVKlujD4XqIb0S0H69t8t0SkyvTUU2fRYjhcGL7gWNGQvlxIDajipADQeswmEcJ
         l7Vg==
X-Gm-Message-State: AOJu0Yz1AR/bpzv4nspbO7FM3gHw0IeRGpfANnklenLm0xsF6Gdwq+ca
	/GV2bNRqfv5eqWwoTaRSKtjNUwSdKxfhSfXpK/Fv3Klyr4WapMlFyqYdnQ==
X-Gm-Gg: ASbGncsbBGMUA9DEASmHL/6vv4ijQMv1rm4T7xhQUEDkD5GpRS8SD8v67D45OdecdVj
	60UuJg+ZgojvP9IwdPVASHW4l4AwvW9/rHgwhdhPFnvCUaJx+j2IApUGgmGUKJSiNFKqwE0BaMg
	XLtvm3bfToyJTcW66ztkTCsqF5AwWNCNwq3J3imiJ+2S/uKxOvULNZJXUlIQ7KxEqNllVAFqlnN
	n9GBI+aosxsM59aPB2uN+qSWkfL04dEf3fbanuV2y6xHjFOsnyA1LRxa0opjmXG1I3nZWMo6erD
	dZ+ToUU80PZEXd+cDPnIZhD9QeofzIZadfhmNVZ9iJcl4bPj2vyJYx4xc3fuYUpLXgbaZ6CcHef
	gRJpJrsX7Y+2aCW8ubUVk3InR50E=
X-Google-Smtp-Source: AGHT+IGw121SvpsZ35jLD8nCjjL/pIbEqsB+Js6bNwH38TaKrgmFssk+9nrfBp83LHpRtNi4TrBygQ==
X-Received: by 2002:a05:6512:3e01:b0:549:8f47:e67d with SMTP id 2adb3069b0e04-549abae7180mr1223991e87.34.1741691804231;
        Tue, 11 Mar 2025 04:16:44 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [RFC PATCH v3 5/7] libs: libxenhypfs - handle blob properties
Date: Tue, 11 Mar 2025 13:16:16 +0200
Message-Id: <20250311111618.1850927-6-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>

libxenhypfs will return blob properties as is. This output can be used
to retrieve information from the hypfs. Caller is responsible for
parsing property value.

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 tools/libs/hypfs/core.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/tools/libs/hypfs/core.c b/tools/libs/hypfs/core.c
index 52b30db8d777..d09bba7d8c86 100644
--- a/tools/libs/hypfs/core.c
+++ b/tools/libs/hypfs/core.c
@@ -307,8 +307,6 @@ char *xenhypfs_read(xenhypfs_handle *fshdl, const char *path)
         errno = EISDIR;
         break;
     case xenhypfs_type_blob:
-        errno = EDOM;
-        break;
     case xenhypfs_type_string:
         ret_buf = buf;
         buf = NULL;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:16:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:16:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907867.1315095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxbM-0007vt-Kd; Tue, 11 Mar 2025 11:16:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907867.1315095; Tue, 11 Mar 2025 11:16: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 1trxbM-0007vg-EQ; Tue, 11 Mar 2025 11:16:48 +0000
Received: by outflank-mailman (input) for mailman id 907867;
 Tue, 11 Mar 2025 11: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxbL-00061U-20
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:47 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50632b62-fe6a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:16:44 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-30bee278c2aso52145171fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:44 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04:16: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: 50632b62-fe6a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691803; x=1742296603; 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=ULLAK7NmCziJs9BSDGosiIrFW201LWUnnGDpVeP39lU=;
        b=lNVOBg9q8bq1WyXNqcLHVtcLJ+VW5YlyXFx+7DlcGXFF7vgCxwT2zlZYymZ64Gtttc
         rdzbIHDsHxR23/4RH+s6125qB2Y1+wYlbyc/A4UssTCll4AGgM96wW9kyXYrPgXGzuh3
         rQhnvqhVkhf6jz3mpyilcdtBfZ6lyLyw0wp+98hMLAOyoKHgfx9yBXx7sQeQRszjfcb+
         W0i2goNILYCX2oIH2pznq3qKuJZyUnyYuUlZBpigLFAQwyMtonEgVLD1+12/7ImoovRu
         OjH2cdlhR0IdRFOSmpNVFhYwKzv7uT9CR1AhTyUDZtuuM0fjKLjBOBw9hYYpwPZuF6rz
         FF9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691803; x=1742296603;
        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=ULLAK7NmCziJs9BSDGosiIrFW201LWUnnGDpVeP39lU=;
        b=a9erxy57EXiadMYtpxc7BpgRf8JK1ebypX/f8VU1QD1pyGFeb2dM+7sROA2uC0gjVn
         el9wdwUw4nt9e8SjCZD/aXxfGYe1AeRza3U7NE509cjCfc3CgyYXRELC2QvA9txTAmQn
         AHk1emuNV+KU+OPFvZbbt+5lft2FBJ2GXGlBUr81l9b/47aIHX5HPHpA/DvKZjJtGE/6
         R1eks5izTYO28ljmKYYQuEQ0S4Oiv1QwNCbKpAb/X/MAr36xe+qQuekB0lbfNaEnnm7y
         F1Y4CD+iw2FSEqNW7a15WDcHmL3z+OC49e5D2I/qA20EawbsJegVoG8oZmL8I0859Otw
         RrcA==
X-Gm-Message-State: AOJu0Yy2VErUq3Hk0YJaWBCmOsTg9OFsnVdXKamL58n20iTcFkbysjOd
	IyCAC33YN2QXF0RJCXicAYMx5Aa81E0U99w5MhNFjXeNJfFt7hzlZvdLYQ==
X-Gm-Gg: ASbGncv0g8zLEpBtoWytD/c0WHuCkebid+fckntF3vTbjUeGOqBSBYekxtKQ9wyBN6p
	dmHZUsHlOcnIPtNJ/7igHeSnBGDrh+GAghDalOmemP+p2VpVsI8BdsW0PzdEe7cZ0shWAo6xUf0
	43ai8SUn0MZCVhrUd3Srf7z64OMV39OSmhIt1GcMtJMaYC4IySKciN1zVDntkj4Vqpda4Dnt1lD
	a6PImu8pwfOOTnYKYY25JzXRXS5FxACpjGSrpH66y70ZcRqBDjOfu4nTytsprSLaXU6bIC6bj6B
	m9uiJbKk1AQMySQUe2Gm5438dVTNRVF/9k3zJKI12R0O7201VgkhJN+FBRhlwJf7iiUR2pwcahI
	X8XNc9b7N1wOHcAO1VzAm7fpUJ5g=
X-Google-Smtp-Source: AGHT+IElCrrkRe4hwT75pzwhZTMPYIUdZ7glJt6yA9xPn9E8GYjecUN2cUo3EXRlfv/KVXK9G2ZkoA==
X-Received: by 2002:a05:6512:39d6:b0:545:a70:74c5 with SMTP id 2adb3069b0e04-549abd252a5mr1045694e87.13.1741691802373;
        Tue, 11 Mar 2025 04:16:42 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [RFC PATCH v3 4/7] xen/arm: scmi: introduce SCI SCMI SMC multi-agent driver
Date: Tue, 11 Mar 2025 13:16:15 +0200
Message-Id: <20250311111618.1850927-5-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>

This patch introduces SCI driver to support for ARM EL3 Trusted Firmware-A
(TF-A) which provides SCMI interface with multi-agnet support, as shown
below.

  +-----------------------------------------+
  |                                         |
  | EL3 TF-A SCMI                           |
  +-------+--+-------+--+-------+--+-------++
  |shmem0 |  |shmem1 |  |shmem2 |  |shmemX |
  +-----+-+  +---+---+  +--+----+  +---+---+
smc-id0 |        |         |           |
agent0  |        |         |           |
  +-----v--------+---------+-----------+----+
  |              |         |           |    |
  |              |         |           |    |
  +--------------+---------+-----------+----+
         smc-id1 |  smc-id2|    smc-idX|
         agent1  |  agent2 |    agentX |
                 |         |           |
            +----v---+  +--v-----+  +--v-----+
            |        |  |        |  |        |
            | Dom0   |  | Dom1   |  | DomX   |
            |        |  |        |  |        |
            |        |  |        |  |        |
            +--------+  +--------+  +--------+

The EL3 SCMI multi-agent firmware expected to provide SCMI SMC/HVC shared
memory transport for every Agent in the system.

The SCMI Agent transport channel defined by pair:
 - smc-id: SMC/HVC id used for Doorbell
 - shmem: shared memory for messages transfer, Xen page aligned,
 p2m_mmio_direct_nc.

The follwoing SCMI Agents expected to be defined by SCMI FW to enable SCMI
multi-agent functionality under Xen:
- Xen manegement agent: trusted agents that accesses to the Base Protocol
commands to configure agent specific permissions
- OSPM VM agents: non-trusted agent, one for each Guest domain which is
  allowed direct HW access. At least one OSPM VM agent has to be provided
  by FW if HW is handled only by Dom0 or Driver Domain.

The EL3 SCMI FW expected to implement following Base protocol messages:
- BASE_DISCOVER_AGENT
- BASE_RESET_AGENT_CONFIGURATION (optional)
- BASE_SET_DEVICE_PERMISSIONS (optional)

The SCI SCMI SMC multi-agent driver implements following functionality:
- It's initialized based on the Host DT SCMI node (only one SCMI interface
is supported) which describes Xen management agent SCMI interface.

scmi_shm_0 : sram@47ff0000 {
    compatible = "arm,scmi-shmem";
    reg = <0x0 0x47ff0000 0x0 0x1000>;
};
firmware {
    scmi: scmi {
        compatible = "arm,scmi-smc";
        arm,smc-id = <0x82000002>; // Xen manegement agent smc-id
        \#address-cells = < 1>;
        \#size-cells = < 0>;
        \#access-controller - cells = < 1>;
        shmem = <&scmi_shm_0>; // Xen manegement agent shmem

        protocol@X{
        };
    };
};

- It obtains Xen specific SCMI Agent's configuration from the Host DT,
  probes Agents and build SCMI Agents list. The Agents configuration
  is taken from:

chosen {
  xen,scmi-secondary-agents = <
		1 0x82000003 &scmi_shm_1
		2 0x82000004 &scmi_shm_2
		3 0x82000005 &scmi_shm_3
		4 0x82000006 &scmi_shm_4>;
}

/{
	scmi_shm_1: sram@47ff1000 {
		compatible = "arm,scmi-shmem";
		reg = <0x0 0x47ff1000 0x0 0x1000>;
	};
	scmi_shm_2: sram@47ff2000 {
		compatible = "arm,scmi-shmem";
		reg = <0x0 0x47ff2000 0x0 0x1000>;
	};
	scmi_shm_3: sram@47ff3000 {
		compatible = "arm,scmi-shmem";
		reg = <0x0 0x47ff3000 0x0 0x1000>;
	};
}
  where first item is "agent_id", second - "arm,smc-id", and third - "arm,scmi-shmem" for
  this agent_id.

  Note that Xen is the only one entry in the system which need to know
  about SCMI multi-agent support.

- It implements the SCI subsystem interface required for configuring and
enabling SCMI functionality for Dom0/hwdom and Guest domains. To enable
SCMI functionality for domain it has to be configured with unique supported
SCMI Agent_id and use corresponding SCMI SMC/HVC shared memory transport
[smc-id, shmem] defined for this SCMI Agent_id.
- Once Xen domain is configured it can communicate with EL3 SCMI FW:
  -- zero-copy, the guest domain puts SCMI message in shmem;
  -- the guest triggers SMC/HVC exception with smc-id (doorbell);
  -- the Xen driver catches exception, do checks and synchronously forwards
  it to EL3 FW.
- the Xen driver sends BASE_RESET_AGENT_CONFIGURATION message to Xen
  management agent channel on domain destroy event. This allows to reset
  resources used by domain and so implement use-case like domain reboot.

Dom0 Enable SCMI SMC:
 - pass dom0_scmi_agent_id=<agent_id> in Xen command line option. if not provided
   SCMI will be disabled for Dom0 and all SCMI nodes removed from Dom0 DT.
   The driver updates Dom0 DT SCMI node "arm,smc-id" value and fix up shmem
   node according to assigned agent_id.

Guest domains enable SCMI SMC:
 - xl.cfg: add configuration option as below

   arm_sci = "type=scmi_smc_multiagent,agent_id=2"

 - xl.cfg: enable access to the "arm,scmi-shmem" which should correspond assigned agent_id for
   the domain, for example:

iomem = [
    "47ff2,1@22001",
]

 - DT: add SCMI nodes to the Driver domain partial device tree as in the
 below example. The "arm,smc-id" should correspond assigned agent_id for the domain:

passthrough {
   scmi_shm_0: sram@22001000 {
       compatible = "arm,scmi-shmem";
       reg = <0x0 0x22001000 0x0 0x1000>;
   };

   firmware {
        compatible = "simple-bus";
            scmi: scmi {
                compatible = "arm,scmi-smc";
                arm,smc-id = <0x82000004>;
                shmem = <&scmi_shm_0>;
                ...
            }
    }
}

SCMI "4.2.1.1 Device specific access control"

The XEN SCI SCMI SMC multi-agent driver performs "access-controller" provider function
in case EL3 SCMI FW implements SCMI "4.2.1.1 Device specific access control" and provides the
BASE_SET_DEVICE_PERMISSIONS command to configure the devices that an agents have access to.
The DT SCMI node should "#access-controller-cells=<1>" property and DT devices should be bound
to the Xen SCMI.

&i2c1 {
   access-controllers = <&scmi 0>;
};

The Dom0 and dom0less (TBD) domains DT devices will be processed automatically through
sci_assign_dt_device() call, but to assign SCMI devices from toolstack the xl.cfg:"dtdev" property
shell be used:

dtdev = [
    "/soc/i2c@e6508000",
]

xl.cfg:dtdev will contain all nodes which are under SCMI management (not only those which are behind IOMMU).

TODO:
- dom0less is not fully supported yet
- move memcpy_fro/tomio in separate patch

[1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
[2] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/access-controllers/access-controllers.yaml
Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 docs/man/xl.cfg.5.pod.in                    |  15 +
 docs/misc/xen-command-line.pandoc           |   9 +
 tools/libs/light/libxl_arm.c                |   4 +
 tools/libs/light/libxl_types.idl            |   4 +-
 tools/xl/xl_parse.c                         |  17 +
 xen/arch/arm/domain_build.c                 |   3 +-
 xen/arch/arm/firmware/Kconfig               |  11 +
 xen/arch/arm/firmware/Makefile              |   1 +
 xen/arch/arm/firmware/scmi-proto.h          | 164 ++++
 xen/arch/arm/firmware/scmi-shmem.c          | 172 ++++
 xen/arch/arm/firmware/scmi-shmem.h          |  45 +
 xen/arch/arm/firmware/scmi-smc-multiagent.c | 856 ++++++++++++++++++++
 xen/include/public/arch-arm.h               |   3 +
 13 files changed, 1302 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/arm/firmware/scmi-proto.h
 create mode 100644 xen/arch/arm/firmware/scmi-shmem.c
 create mode 100644 xen/arch/arm/firmware/scmi-shmem.h
 create mode 100644 xen/arch/arm/firmware/scmi-smc-multiagent.c

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 7edf272386e3..fc6041724a13 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -3126,6 +3126,21 @@ single SCMI OSPM agent support.
 Should be used together with B<dom0_scmi_smc_passthrough> Xen command line
 option.
 
+=item B<scmi_smc_multiagent>
+
+Enables ARM SCMI SMC multi-agent support for the guest by enabling SCMI over
+SMC calls forwarding from domain to the EL3 firmware (like Trusted Firmware-A)
+with a multi SCMI OSPM agent support. The SCMI B<agent_id> should be
+specified for the guest.
+
+=back
+
+=item B<agent_id=NUMBER>
+
+Specifies a non-zero ARM SCI agent id for the guest. This option is mandatory
+if the SCMI SMC support is enabled for the guest. The agent ids of domains
+existing on a single host must be unique.
+
 =back
 
 =back
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 8e50f6b7c7ac..bc3c64d6ec90 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1091,6 +1091,15 @@ which serves as Driver domain. The SCMI will be disabled for Dom0/hwdom and
 SCMI nodes removed from Dom0/hwdom device tree.
 (for example, thin Dom0 with Driver domain use-case).
 
+### dom0_scmi_agent_id (ARM)
+> `= <integer>`
+
+The option is available when `CONFIG_SCMI_SMC_MA` is compiled in, and allows to
+enable SCMI functionality for Dom0 by specifying a non-zero ARM SCMI agent id.
+The SCMI will be disabled for Dom0 if this option is not specified
+(for example, thin Dom0 or dom0less use-cases).
+The agent ids of domains existing on a single host must be unique.
+
 ### dtuart (ARM)
 > `= path [:options]`
 
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index d41adea1cefd..cdf5edb299af 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -229,6 +229,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
     case LIBXL_ARM_SCI_TYPE_SCMI_SMC:
         config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC;
         break;
+    case LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT:
+        config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA;
+        config->arch.arm_sci_agent_id = d_config->b_info.arm_sci.agent_id;
+        break;
     default:
         LOG(ERROR, "Unknown ARM_SCI type %d",
             d_config->b_info.arm_sci.type);
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index ea0d30654cdd..e6707c7ca9e7 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -553,11 +553,13 @@ libxl_sve_type = Enumeration("sve_type", [
 
 libxl_arm_sci_type = Enumeration("arm_sci_type", [
     (0, "none"),
-    (1, "scmi_smc")
+    (1, "scmi_smc"),
+    (2, "scmi_smc_multiagent")
     ], init_val = "LIBXL_ARM_SCI_TYPE_NONE")
 
 libxl_arm_sci = Struct("arm_sci", [
     ("type", libxl_arm_sci_type),
+    ("agent_id", uint8)
     ])
 
 libxl_rdm_reserve = Struct("rdm_reserve", [
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ac9bf0b25c5a..011222ec55b9 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1290,6 +1290,7 @@ static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
     enum {
         STATE_OPTION,
         STATE_TYPE,
+        STATE_AGENT_ID,
         STATE_TERMINAL,
     };
     int ret, state = STATE_OPTION;
@@ -1305,6 +1306,8 @@ static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
                 *ptr = '\0';
                 if (!strcmp(tok, "type")) {
                     state = STATE_TYPE;
+                } else if (!strcmp(tok, "agent_id")) {
+                    state = STATE_AGENT_ID;
                 } else {
                     fprintf(stderr, "Unknown ARM_SCI option: %s\n", tok);
                     goto parse_error;
@@ -1324,11 +1327,24 @@ static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
                 tok = ptr + 1;
             }
             break;
+        case STATE_AGENT_ID:
+            if (*ptr == ',' || *ptr == '\0') {
+                state = *ptr == ',' ? STATE_OPTION : STATE_TERMINAL;
+                *ptr = '\0';
+                arm_sci->agent_id = strtoul(tok, NULL, 0);
+                tok = ptr + 1;
+            }
         default:
             break;
         }
     }
 
+    if (arm_sci->type == LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT &&
+        arm_sci->agent_id == 0) {
+        fprintf(stderr, "A non-zero ARM_SCI agent_id must be specified\n");
+        goto parse_error;
+    }
+
     if (tok != ptr || state != STATE_TERMINAL)
         goto parse_error;
 
@@ -3042,6 +3058,7 @@ skip_usbdev:
         libxl_arm_sci arm_sci = { 0 };
         if (!parse_arm_sci_config(config, &arm_sci, buf)) {
             b_info->arm_sci.type = arm_sci.type;
+            b_info->arm_sci.agent_id = arm_sci.agent_id;
         } else {
             exit(EXIT_FAILURE);
         }
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 36d28b52a418..9238771a4aac 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -616,7 +616,8 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
                  dt_property_name_is_equal(prop, "linux,uefi-mmap-start") ||
                  dt_property_name_is_equal(prop, "linux,uefi-mmap-size") ||
                  dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-size") ||
-                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-ver"))
+                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-ver") ||
+                 dt_property_name_is_equal(prop, "xen,scmi-secondary-agents"))
                 continue;
 
             if ( dt_property_name_is_equal(prop, "xen,dom0-bootargs") )
diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
index 2686ba313898..63fc5eac8d52 100644
--- a/xen/arch/arm/firmware/Kconfig
+++ b/xen/arch/arm/firmware/Kconfig
@@ -29,6 +29,17 @@ config SCMI_SMC
 	  driver domain.
 	  Use with EL3 firmware which supports only single SCMI OSPM agent.
 
+config SCMI_SMC_MA
+	bool "Enable ARM SCMI SMC multi-agent driver"
+	select ARM_SCI
+	help
+	  Enables SCMI SMC/HVC multi-agent in XEN to pass SCMI requests from Domains
+	  to EL3 firmware (TF-A) which supports multi-agent feature.
+	  This feature allows to enable SCMI per Domain using unique SCMI agent_id,
+	  so Domain is identified by EL3 firmware as an SCMI Agent and can access
+	  allowed platform resources through dedicated SMC/HVC Shared memory based
+	  transport.
+
 endchoice
 
 endmenu
diff --git a/xen/arch/arm/firmware/Makefile b/xen/arch/arm/firmware/Makefile
index 71bdefc24afb..37927e690e98 100644
--- a/xen/arch/arm/firmware/Makefile
+++ b/xen/arch/arm/firmware/Makefile
@@ -1,2 +1,3 @@
 obj-$(CONFIG_ARM_SCI) += sci.o
 obj-$(CONFIG_SCMI_SMC) += scmi-smc.o
+obj-$(CONFIG_SCMI_SMC_MA) += scmi-shmem.o scmi-smc-multiagent.o
diff --git a/xen/arch/arm/firmware/scmi-proto.h b/xen/arch/arm/firmware/scmi-proto.h
new file mode 100644
index 000000000000..3f4b9c5d6b7c
--- /dev/null
+++ b/xen/arch/arm/firmware/scmi-proto.h
@@ -0,0 +1,164 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Arm System Control and Management Interface definitions
+ * Version 3.0 (DEN0056C)
+ *
+ * Copyright (c) 2024 EPAM Systems
+ */
+
+#ifndef XEN_ARCH_ARM_SCI_SCMI_PROTO_H_
+#define XEN_ARCH_ARM_SCI_SCMI_PROTO_H_
+
+#include <xen/stdint.h>
+
+#define SCMI_SHORT_NAME_MAX_SIZE 16
+
+/* SCMI status codes. See section 4.1.4 */
+#define SCMI_SUCCESS              0
+#define SCMI_NOT_SUPPORTED      (-1)
+#define SCMI_INVALID_PARAMETERS (-2)
+#define SCMI_DENIED             (-3)
+#define SCMI_NOT_FOUND          (-4)
+#define SCMI_OUT_OF_RANGE       (-5)
+#define SCMI_BUSY               (-6)
+#define SCMI_COMMS_ERROR        (-7)
+#define SCMI_GENERIC_ERROR      (-8)
+#define SCMI_HARDWARE_ERROR     (-9)
+#define SCMI_PROTOCOL_ERROR     (-10)
+
+/* Protocol IDs */
+#define SCMI_BASE_PROTOCOL 0x10
+
+/* Base protocol message IDs */
+#define SCMI_BASE_PROTOCOL_VERSION            0x0
+#define SCMI_BASE_PROTOCOL_ATTIBUTES          0x1
+#define SCMI_BASE_PROTOCOL_MESSAGE_ATTRIBUTES 0x2
+#define SCMI_BASE_DISCOVER_AGENT              0x7
+#define SCMI_BASE_SET_DEVICE_PERMISSIONS      0x9
+#define SCMI_BASE_RESET_AGENT_CONFIGURATION   0xB
+
+typedef struct scmi_msg_header {
+    uint8_t id;
+    uint8_t type;
+    uint8_t protocol;
+    uint32_t status;
+} scmi_msg_header_t;
+
+/* Table 2 Message header format */
+#define SCMI_HDR_ID    GENMASK(7, 0)
+#define SCMI_HDR_TYPE  GENMASK(9, 8)
+#define SCMI_HDR_PROTO GENMASK(17, 10)
+
+#define SCMI_FIELD_GET(_mask, _reg)                                            \
+    ((typeof(_mask))(((_reg) & (_mask)) >> (ffs64(_mask) - 1)))
+#define SCMI_FIELD_PREP(_mask, _val)                                           \
+    (((typeof(_mask))(_val) << (ffs64(_mask) - 1)) & (_mask))
+
+static inline uint32_t pack_scmi_header(scmi_msg_header_t *hdr)
+{
+    return SCMI_FIELD_PREP(SCMI_HDR_ID, hdr->id) |
+           SCMI_FIELD_PREP(SCMI_HDR_TYPE, hdr->type) |
+           SCMI_FIELD_PREP(SCMI_HDR_PROTO, hdr->protocol);
+}
+
+static inline void unpack_scmi_header(uint32_t msg_hdr, scmi_msg_header_t *hdr)
+{
+    hdr->id = SCMI_FIELD_GET(SCMI_HDR_ID, msg_hdr);
+    hdr->type = SCMI_FIELD_GET(SCMI_HDR_TYPE, msg_hdr);
+    hdr->protocol = SCMI_FIELD_GET(SCMI_HDR_PROTO, msg_hdr);
+}
+
+static inline int scmi_to_xen_errno(int scmi_status)
+{
+    if ( scmi_status == SCMI_SUCCESS )
+        return 0;
+
+    switch ( scmi_status )
+    {
+    case SCMI_NOT_SUPPORTED:
+        return -EOPNOTSUPP;
+    case SCMI_INVALID_PARAMETERS:
+        return -EINVAL;
+    case SCMI_DENIED:
+        return -EACCES;
+    case SCMI_NOT_FOUND:
+        return -ENOENT;
+    case SCMI_OUT_OF_RANGE:
+        return -ERANGE;
+    case SCMI_BUSY:
+        return -EBUSY;
+    case SCMI_COMMS_ERROR:
+        return -ENOTCONN;
+    case SCMI_GENERIC_ERROR:
+        return -EIO;
+    case SCMI_HARDWARE_ERROR:
+        return -ENXIO;
+    case SCMI_PROTOCOL_ERROR:
+        return -EBADMSG;
+    default:
+        return -EINVAL;
+    }
+}
+
+/* PROTOCOL_VERSION */
+#define SCMI_VERSION_MINOR GENMASK(15, 0)
+#define SCMI_VERSION_MAJOR GENMASK(31, 16)
+
+struct scmi_msg_prot_version_p2a {
+    uint32_t version;
+} __packed;
+
+/* BASE PROTOCOL_ATTRIBUTES */
+#define SCMI_BASE_ATTR_NUM_PROTO GENMASK(7, 0)
+#define SCMI_BASE_ATTR_NUM_AGENT GENMASK(15, 8)
+
+struct scmi_msg_base_attributes_p2a {
+    uint32_t attributes;
+} __packed;
+
+/*
+ * BASE_DISCOVER_AGENT
+ */
+#define SCMI_BASE_AGENT_ID_OWN 0xFFFFFFFF
+
+struct scmi_msg_base_discover_agent_a2p {
+    uint32_t agent_id;
+} __packed;
+
+struct scmi_msg_base_discover_agent_p2a {
+    uint32_t agent_id;
+    char name[SCMI_SHORT_NAME_MAX_SIZE];
+} __packed;
+
+/*
+ * BASE_SET_DEVICE_PERMISSIONS
+ */
+#define SCMI_BASE_DEVICE_ACCESS_ALLOW           BIT(0, UL)
+
+struct scmi_msg_base_set_device_permissions_a2p {
+    uint32_t agent_id;
+    uint32_t device_id;
+    uint32_t flags;
+} __packed;
+
+/*
+ * BASE_RESET_AGENT_CONFIGURATION
+ */
+#define SCMI_BASE_AGENT_PERMISSIONS_RESET       BIT(0, UL)
+
+struct scmi_msg_base_reset_agent_cfg_a2p {
+    uint32_t agent_id;
+    uint32_t flags;
+} __packed;
+
+#endif /* XEN_ARCH_ARM_SCI_SCMI_PROTO_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/firmware/scmi-shmem.c b/xen/arch/arm/firmware/scmi-shmem.c
new file mode 100644
index 000000000000..3815c15bed80
--- /dev/null
+++ b/xen/arch/arm/firmware/scmi-shmem.c
@@ -0,0 +1,172 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * SCI SCMI multi-agent driver, using SMC/HVC shmem as transport.
+ *
+ * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
+ * Copyright (c) 2025 EPAM Systems
+ */
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <asm/io.h>
+#include <xen/err.h>
+
+#include "scmi-proto.h"
+#include "scmi-shmem.h"
+
+/*
+ * Copy data from IO memory space to "real" memory space.
+ */
+static void __memcpy_fromio(void *to, const volatile void __iomem *from,
+                            size_t count)
+{
+    while ( count && !IS_ALIGNED((unsigned long)from, 4) )
+    {
+        *(u8 *)to = readb_relaxed(from);
+        from++;
+        to++;
+        count--;
+    }
+
+    while ( count >= 4 )
+    {
+        *(u32 *)to = readl_relaxed(from);
+        from += 4;
+        to += 4;
+        count -= 4;
+    }
+
+    while ( count )
+    {
+        *(u8 *)to = readb_relaxed(from);
+        from++;
+        to++;
+        count--;
+    }
+}
+
+/*
+ * Copy data from "real" memory space to IO memory space.
+ */
+static void __memcpy_toio(volatile void __iomem *to, const void *from,
+                          size_t count)
+{
+    while ( count && !IS_ALIGNED((unsigned long)to, 4) )
+    {
+        writeb_relaxed(*(u8 *)from, to);
+        from++;
+        to++;
+        count--;
+    }
+
+    while ( count >= 4 )
+    {
+        writel_relaxed(*(u32 *)from, to);
+        from += 4;
+        to += 4;
+        count -= 4;
+    }
+
+    while ( count )
+    {
+        writeb_relaxed(*(u8 *)from, to);
+        from++;
+        to++;
+        count--;
+    }
+}
+
+static inline int
+shmem_channel_is_free(const volatile struct scmi_shared_mem __iomem *shmem)
+{
+    return (readl(&shmem->channel_status) &
+            SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE) ? 0 : -EBUSY;
+}
+
+int shmem_put_message(volatile struct scmi_shared_mem __iomem *shmem,
+                      scmi_msg_header_t *hdr, void *data, int len)
+{
+    int ret;
+
+    if ( (len + sizeof(shmem->msg_header)) > SCMI_SHMEM_MAPPED_SIZE )
+    {
+        printk(XENLOG_ERR "scmi: Wrong size of smc message. Data is invalid\n");
+        return -EINVAL;
+    }
+
+    ret = shmem_channel_is_free(shmem);
+    if ( ret )
+        return ret;
+
+    writel_relaxed(0x0, &shmem->channel_status);
+    /* Writing 0x0 right now, but "shmem"_FLAG_INTR_ENABLED can be set */
+    writel_relaxed(0x0, &shmem->flags);
+    writel_relaxed(sizeof(shmem->msg_header) + len, &shmem->length);
+    writel(pack_scmi_header(hdr), &shmem->msg_header);
+
+    if ( len > 0 && data )
+        __memcpy_toio(shmem->msg_payload, data, len);
+
+    return 0;
+}
+
+int shmem_get_response(const volatile struct scmi_shared_mem __iomem *shmem,
+                            scmi_msg_header_t *hdr, void *data, int len)
+{
+    int recv_len;
+    int ret;
+    int pad = sizeof(hdr->status);
+
+    if ( len >= SCMI_SHMEM_MAPPED_SIZE - sizeof(shmem) )
+    {
+        printk(XENLOG_ERR
+               "scmi: Wrong size of input smc message. Data may be invalid\n");
+        return -EINVAL;
+    }
+
+    ret = shmem_channel_is_free(shmem);
+    if ( ret )
+        return ret;
+
+    recv_len = readl(&shmem->length) - sizeof(shmem->msg_header);
+
+    if ( recv_len < 0 )
+    {
+        printk(XENLOG_ERR
+               "scmi: Wrong size of smc message. Data may be invalid\n");
+        return -EINVAL;
+    }
+
+    unpack_scmi_header(readl(&shmem->msg_header), hdr);
+
+    hdr->status = readl(&shmem->msg_payload);
+    recv_len = recv_len > pad ? recv_len - pad : 0;
+
+    ret = scmi_to_xen_errno(hdr->status);
+    if ( ret ) {
+        printk(XENLOG_DEBUG "scmi: Error received: %d\n", ret);
+        return ret;
+    }
+
+    if ( recv_len > len )
+    {
+        printk(XENLOG_ERR
+               "scmi: Not enough buffer for message %d, expecting %d\n",
+               recv_len, len);
+        return -EINVAL;
+    }
+
+    if ( recv_len > 0 )
+        __memcpy_fromio(data, shmem->msg_payload + pad, recv_len);
+
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/firmware/scmi-shmem.h b/xen/arch/arm/firmware/scmi-shmem.h
new file mode 100644
index 000000000000..f19e90786824
--- /dev/null
+++ b/xen/arch/arm/firmware/scmi-shmem.h
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Arm System Control and Management Interface definitions
+ * Version 3.0 (DEN0056C)
+ * Shared Memory based Transport
+ *
+ * Copyright (c) 2024 EPAM Systems
+ */
+
+#ifndef XEN_ARCH_ARM_SCI_SCMI_SHMEM_H_
+#define XEN_ARCH_ARM_SCI_SCMI_SHMEM_H_
+
+#include <xen/stdint.h>
+
+#define SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE  BIT(0, UL)
+#define SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR BIT(1, UL)
+
+struct scmi_shared_mem {
+    uint32_t reserved;
+    uint32_t channel_status;
+    uint32_t reserved1[2];
+    uint32_t flags;
+    uint32_t length;
+    uint32_t msg_header;
+    uint8_t msg_payload[];
+};
+
+#define SCMI_SHMEM_MAPPED_SIZE PAGE_SIZE
+
+int shmem_put_message(volatile struct scmi_shared_mem __iomem *shmem,
+                      scmi_msg_header_t *hdr, void *data, int len);
+
+int shmem_get_response(const volatile struct scmi_shared_mem __iomem *shmem,
+                            scmi_msg_header_t *hdr, void *data, int len);
+#endif /* XEN_ARCH_ARM_SCI_SCMI_SHMEM_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/firmware/scmi-smc-multiagent.c b/xen/arch/arm/firmware/scmi-smc-multiagent.c
new file mode 100644
index 000000000000..293fb30fa6c5
--- /dev/null
+++ b/xen/arch/arm/firmware/scmi-smc-multiagent.c
@@ -0,0 +1,856 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * SCI SCMI multi-agent driver, using SMC/HVC shmem as transport.
+ *
+ * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
+ * Copyright (c) 2025 EPAM Systems
+ */
+
+#include <xen/acpi.h>
+
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/iocap.h>
+#include <xen/err.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/param.h>
+#include <xen/sched.h>
+#include <xen/vmap.h>
+
+#include <asm/firmware/sci.h>
+#include <asm/smccc.h>
+
+#include "scmi-proto.h"
+#include "scmi-shmem.h"
+
+#define SCMI_AGENT_ID_INVALID 0xFF
+
+static uint8_t __initdata opt_dom0_scmi_agent_id = SCMI_AGENT_ID_INVALID;
+integer_param("dom0_scmi_agent_id", opt_dom0_scmi_agent_id);
+
+#define SCMI_SECONDARY_AGENTS  "xen,scmi-secondary-agents"
+
+#define HYP_CHANNEL 0x0
+
+
+struct scmi_channel {
+    uint32_t agent_id;
+    uint32_t func_id;
+    domid_t domain_id;
+    uint64_t paddr;
+    uint64_t len;
+    struct scmi_shared_mem __iomem *shmem;
+    spinlock_t lock;
+    struct list_head list;
+};
+
+struct scmi_data {
+    struct list_head channel_list;
+    spinlock_t channel_list_lock;
+    uint32_t func_id;
+    bool initialized;
+    uint32_t shmem_phandle;
+    struct dt_device_node *dt_dev;
+};
+
+static struct scmi_data scmi_data;
+
+static int send_smc_message(struct scmi_channel *chan_info,
+                            scmi_msg_header_t *hdr, void *data, int len)
+{
+    struct arm_smccc_res resp;
+    int ret;
+
+    ret = shmem_put_message(chan_info->shmem, hdr, data, len);
+    if ( ret )
+        return ret;
+
+    arm_smccc_1_1_smc(chan_info->func_id, 0, 0, 0, 0, 0, 0, 0, &resp);
+
+    if ( resp.a0 )
+        return -EOPNOTSUPP;
+
+    return 0;
+}
+
+static int do_smc_xfer(struct scmi_channel *chan_info, scmi_msg_header_t *hdr,
+                       void *tx_data, int tx_size, void *rx_data, int rx_size)
+{
+    int ret = 0;
+
+    ASSERT(chan_info && chan_info->shmem);
+
+    if ( !hdr )
+        return -EINVAL;
+
+    spin_lock(&chan_info->lock);
+
+    printk(XENLOG_DEBUG
+           "scmi: agent_id = %d msg_id = %x type = %d, proto = %x\n",
+           chan_info->agent_id, hdr->id, hdr->type, hdr->protocol);
+
+    ret = send_smc_message(chan_info, hdr, tx_data, tx_size);
+    if ( ret )
+        goto clean;
+
+    ret = shmem_get_response(chan_info->shmem, hdr, rx_data, rx_size);
+
+clean:
+    printk(XENLOG_DEBUG
+           "scmi: get smc response agent_id = %d msg_id = %x proto = %x res=%d\n",
+           chan_info->agent_id, hdr->id, hdr->protocol, ret);
+
+    spin_unlock(&chan_info->lock);
+
+    return ret;
+}
+
+static struct scmi_channel *get_channel_by_id(uint32_t agent_id)
+{
+    struct scmi_channel *curr;
+    bool found = false;
+
+    spin_lock(&scmi_data.channel_list_lock);
+    list_for_each_entry(curr, &scmi_data.channel_list, list)
+    {
+        if ( curr->agent_id == agent_id )
+        {
+            found = true;
+            break;
+        }
+    }
+
+    spin_unlock(&scmi_data.channel_list_lock);
+    if ( found )
+        return curr;
+
+    return NULL;
+}
+
+static struct scmi_channel *aquire_scmi_channel(struct domain *d,
+                                                uint32_t agent_id)
+{
+    struct scmi_channel *curr;
+    struct scmi_channel *ret = ERR_PTR(-ENOENT);
+
+    spin_lock(&scmi_data.channel_list_lock);
+    list_for_each_entry(curr, &scmi_data.channel_list, list)
+    {
+        if ( curr->agent_id == agent_id )
+        {
+            if ( curr->domain_id != DOMID_INVALID )
+            {
+                ret = ERR_PTR(-EEXIST);
+                break;
+            }
+
+            curr->domain_id = d->domain_id;
+            ret = curr;
+            break;
+        }
+    }
+
+    spin_unlock(&scmi_data.channel_list_lock);
+
+    return ret;
+}
+
+static void relinquish_scmi_channel(struct scmi_channel *channel)
+{
+    ASSERT(channel != NULL);
+
+    spin_lock(&scmi_data.channel_list_lock);
+    channel->domain_id = DOMID_INVALID;
+    spin_unlock(&scmi_data.channel_list_lock);
+}
+
+static int map_channel_memory(struct scmi_channel *channel)
+{
+    ASSERT( channel && channel->paddr );
+    channel->shmem = ioremap_nocache(channel->paddr, SCMI_SHMEM_MAPPED_SIZE);
+    if ( !channel->shmem )
+        return -ENOMEM;
+
+    channel->shmem->channel_status = SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE;
+    printk(XENLOG_DEBUG "scmi: Got shmem %lx after vmap %p\n", channel->paddr,
+           channel->shmem);
+
+    return 0;
+}
+
+static void unmap_channel_memory(struct scmi_channel *channel)
+{
+    ASSERT( channel && channel->shmem );
+    iounmap(channel->shmem);
+    channel->shmem = NULL;
+}
+
+static struct scmi_channel *smc_create_channel(uint32_t agent_id,
+                                               uint32_t func_id, uint64_t addr)
+{
+    struct scmi_channel *channel;
+
+    channel = get_channel_by_id(agent_id);
+    if ( channel )
+        return ERR_PTR(EEXIST);
+
+    channel = xmalloc(struct scmi_channel);
+    if ( !channel )
+        return ERR_PTR(ENOMEM);
+
+    spin_lock_init(&channel->lock);
+    channel->agent_id = agent_id;
+    channel->func_id = func_id;
+    channel->domain_id = DOMID_INVALID;
+    channel->shmem = NULL;
+    channel->paddr = addr;
+    list_add_tail(&channel->list, &scmi_data.channel_list);
+    return channel;
+}
+
+static void free_channel_list(void)
+{
+    struct scmi_channel *curr, *_curr;
+
+    list_for_each_entry_safe (curr, _curr, &scmi_data.channel_list, list)
+    {
+        list_del(&curr->list);
+        xfree(curr);
+    }
+}
+
+static int scmi_dt_read_hyp_channel_addr(struct dt_device_node *scmi_node,
+                                         u64 *addr, u64 *size)
+{
+    struct dt_device_node *shmem_node;
+    const __be32 *prop;
+
+    prop = dt_get_property(scmi_node, "shmem", NULL);
+    if ( !prop )
+        return -EINVAL;
+
+    shmem_node = dt_find_node_by_phandle(be32_to_cpup(prop));
+    if ( IS_ERR_OR_NULL(shmem_node) )
+    {
+        printk(XENLOG_ERR
+               "scmi: Device tree error, can't parse reserved memory %ld\n",
+               PTR_ERR(shmem_node));
+        return PTR_ERR(shmem_node);
+    }
+
+    return dt_device_get_address(shmem_node, 0, addr, size);
+}
+
+/*
+ * Handle Dom0 SCMI specific DT nodes
+ *
+ * Make a decision on copying SCMI specific nodes into Dom0 device tree.
+ * For SCMI multi-agent case:
+ * - shmem nodes will not be copied and generated instead if SCMI
+ *   is enabled for Dom0
+ * - scmi node will be copied if SCMI is enabled for Dom0
+ */
+static bool scmi_dt_handle_node(struct domain *d, struct dt_device_node *node)
+{
+    static const struct dt_device_match skip_matches[] __initconst = {
+        DT_MATCH_COMPATIBLE("arm,scmi-shmem"),
+        { /* sentinel */ },
+    };
+    static const struct dt_device_match scmi_matches[] __initconst = {
+        DT_MATCH_PATH("/firmware/scmi"),
+        { /* sentinel */ },
+    };
+
+    if ( !scmi_data.initialized )
+        return false;
+
+    /* always drop shmem */
+    if ( dt_match_node(skip_matches, node) )
+    {
+        dt_dprintk("  Skip scmi shmem\n");
+        return true;
+    }
+
+    /* drop scmi if not enabled */
+    if ( dt_match_node(scmi_matches, node) && !sci_domain_is_enabled(d) )
+    {
+        dt_dprintk("  Skip scmi node\n");
+        return true;
+    }
+
+    return false;
+}
+
+/*
+ * Finalize Dom0 SCMI specific DT nodes
+ *
+ * if SCMI is enabled for Dom0:
+ * - generate shmem node
+ * - map SCMI shmem MMIO into Dom0
+ */
+static int scmi_dt_finalize(struct domain *d, void *fdt)
+{
+    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+    struct scmi_channel *channel;
+    int nodeoffset;
+    __be32 *cells;
+    __be32 val;
+    char buf[64];
+    int res, rc;
+
+    if ( !sci_domain_is_enabled(d) )
+        return 0;
+
+    channel = d->arch.sci_data;
+
+    /*
+     * Replace "arm,smc-id" with proper value assigned for Dom0 SCMI channel
+     */
+    nodeoffset = fdt_node_offset_by_compatible(fdt, -1, "arm,scmi-smc");
+    if ( nodeoffset < 0 )
+        return -ENODEV;
+
+    cells = (__be32 *)&val;
+    dt_set_cell(&cells, 1, channel->func_id);
+    res = fdt_setprop_inplace(fdt, nodeoffset, "arm,smc-id", &val, sizeof(val));
+    if ( res )
+        return -EINVAL;
+
+    /*
+     * All SCMI shmem nodes should be removed from Dom0 DT at this point, so
+     * the shmem node for Dom0 need to be generated from SCMI channel assigned
+     * to Dom0.
+     * The original SCMI shmem node from platform DT is used by Xen SCMI driver
+     * itself as privileged channel (agent_id=0) to manage other SCMI
+     * agents (domains).
+     */
+    snprintf(buf, sizeof(buf), "scmi-shmem@%lx", channel->paddr);
+
+    res = fdt_begin_node(fdt, buf);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,scmi-shmem");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       channel->paddr, SCMI_SHMEM_MAPPED_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", scmi_data.shmem_phandle);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    /*
+     * Map SCMI shmem into Dom0 here as shmem nodes are excluded from
+     * generic Dom0 DT processing
+     */
+    res = iomem_permit_access(d, paddr_to_pfn(channel->paddr),
+                              paddr_to_pfn(channel->paddr +
+                                           SCMI_SHMEM_MAPPED_SIZE - 1));
+    if ( res )
+        return res;
+
+    res = map_regions_p2mt(d, gaddr_to_gfn(channel->paddr),
+                           PFN_UP(SCMI_SHMEM_MAPPED_SIZE),
+                           maddr_to_mfn(channel->paddr), p2m_mmio_direct_nc);
+    if ( res )
+    {
+        rc = iomem_deny_access(d, paddr_to_pfn(channel->paddr),
+                               paddr_to_pfn(channel->paddr +
+                                            SCMI_SHMEM_MAPPED_SIZE - 1));
+        if ( rc )
+            printk(XENLOG_ERR "scmi: Unable to deny iomem access , err = %d\n",
+                   rc);
+    }
+
+    return res;
+}
+
+static int scmi_assign_device(uint32_t agent_id, uint32_t device_id,
+                              uint32_t flags)
+{
+    struct scmi_msg_base_set_device_permissions_a2p tx;
+    struct scmi_channel *channel;
+    scmi_msg_header_t hdr;
+    int ret;
+
+    channel = get_channel_by_id(HYP_CHANNEL);
+    if ( !channel )
+        return -EINVAL;
+
+    hdr.id = SCMI_BASE_SET_DEVICE_PERMISSIONS;
+    hdr.type = 0;
+    hdr.protocol = SCMI_BASE_PROTOCOL;
+
+    tx.agent_id = agent_id;
+    tx.device_id = device_id;
+    tx.flags = flags;
+
+    ret = do_smc_xfer(channel, &hdr, &tx, sizeof(tx), NULL, 0);
+    if ( ret == -EOPNOTSUPP )
+        return 0;
+
+    return ret;
+}
+
+static int scmi_dt_assign_device(struct domain *d,
+                                 struct dt_phandle_args *ac_spec)
+{
+    struct scmi_channel *agent_channel;
+    uint32_t scmi_device_id = ac_spec->args[0];
+    int ret;
+
+    if ( !d->arch.sci_data )
+        return 0;
+
+    /* The access-controllers is specified for DT dev, but it's not a SCMI */
+    if ( ac_spec->np != scmi_data.dt_dev )
+        return 0;
+
+    agent_channel = d->arch.sci_data;
+
+    spin_lock(&agent_channel->lock);
+
+    ret = scmi_assign_device(agent_channel->agent_id, scmi_device_id,
+                             SCMI_BASE_DEVICE_ACCESS_ALLOW);
+    if ( ret )
+    {
+        printk(XENLOG_ERR
+               "scmi: could not assign dev for %pd agent:%d dev_id:%u (%d)",
+               d, agent_channel->agent_id, scmi_device_id, ret);
+    }
+
+    spin_unlock(&agent_channel->lock);
+    return ret;
+}
+
+static __init int collect_agents(struct dt_device_node *scmi_node)
+{
+    const struct dt_device_node *chosen_node;
+    const __be32 *prop;
+    u32 len, i;
+
+    chosen_node = dt_find_node_by_path("/chosen");
+    if ( !chosen_node )
+    {
+        printk(XENLOG_ERR "scmi: chosen node not found\n");
+        return -ENOENT;
+    }
+
+    prop = dt_get_property(chosen_node, SCMI_SECONDARY_AGENTS, &len);
+    if ( !prop )
+    {
+        printk(XENLOG_WARNING "scmi: No %s property found\n",
+               SCMI_SECONDARY_AGENTS);
+        return -ENODEV;
+    }
+
+    if ( len % (3 * sizeof(u32)) )
+    {
+        printk(XENLOG_ERR "scmi: Invalid length of %s property: %d\n",
+               SCMI_SECONDARY_AGENTS, len);
+        return -EINVAL;
+    }
+
+    for ( i = 0 ; i < len / (3 * sizeof(u32)) ; i++ )
+    {
+        u32 agent_id = be32_to_cpu(*prop++);
+        u32 smc_id = be32_to_cpu(*prop++);
+        u32 shmem_phandle = be32_to_cpu(*prop++);
+        struct dt_device_node *node = dt_find_node_by_phandle(shmem_phandle);
+        u64 addr, size;
+        int ret;
+
+        if ( !node )
+        {
+            printk(XENLOG_ERR"scmi: Could not find shmem node for agent %d\n",
+                   agent_id);
+            return -EINVAL;
+        }
+
+        ret = dt_device_get_address(node, 0, &addr, &size);
+        if ( ret )
+        {
+            printk(XENLOG_ERR
+                   "scmi: Could not read shmem address for agent %d: %d",
+                   agent_id, ret);
+            return ret;
+        }
+
+        if ( !IS_ALIGNED(size, SCMI_SHMEM_MAPPED_SIZE) )
+        {
+            printk(XENLOG_ERR "scmi: shmem memory is not aligned\n");
+            return -EINVAL;
+        }
+
+        ret = PTR_RET(smc_create_channel(agent_id, smc_id, addr));
+        if ( ret )
+        {
+            printk(XENLOG_ERR "scmi: Could not create channel for agent %d: %d",
+                   agent_id, ret);
+            return ret;
+        }
+
+        printk(XENLOG_DEBUG "scmi: Agent %d SMC %X addr %lx\n", agent_id,
+               smc_id, addr);
+    }
+
+    return 0;
+}
+
+static int scmi_domain_init(struct domain *d,
+                            struct xen_domctl_createdomain *config)
+{
+    struct scmi_channel *channel;
+    int ret;
+
+    if ( !scmi_data.initialized )
+        return 0;
+
+    /*
+     * Special case for Dom0 - the SCMI support is enabled basing on
+     * "dom0_sci_agent_id" Xen command line parameter
+     */
+    if ( is_hardware_domain(d) ) {
+        if ( opt_dom0_scmi_agent_id != SCMI_AGENT_ID_INVALID )
+        {
+            config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA;
+            config->arch.arm_sci_agent_id = opt_dom0_scmi_agent_id;
+        } else
+            config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_NONE;
+    }
+
+    if ( config->arch.arm_sci_type == XEN_DOMCTL_CONFIG_ARM_SCI_NONE )
+        return 0;
+
+    channel = aquire_scmi_channel(d, config->arch.arm_sci_agent_id);
+    if ( IS_ERR(channel) )
+    {
+        printk(XENLOG_ERR"scmi: Failed to acquire SCMI channel for agent_id %u: %ld\n",
+               config->arch.arm_sci_agent_id, PTR_ERR(channel));
+        return PTR_ERR(channel);
+    }
+
+    printk(XENLOG_INFO"scmi: Acquire channel id = 0x%x, domain_id = %d paddr = 0x%lx\n",
+        channel->agent_id, channel->domain_id, channel->paddr);
+
+    /*
+     * Dom0 (if present) needs to have an access to the guest memory range
+     * to satisfy iomem_access_permitted() check in XEN_DOMCTL_iomem_permission
+     * domctl.
+     */
+    if ( hardware_domain && !is_hardware_domain(d) )
+    {
+        ret = iomem_permit_access(hardware_domain, paddr_to_pfn(channel->paddr),
+                                  paddr_to_pfn(channel->paddr + PAGE_SIZE - 1));
+        if ( ret )
+            goto error;
+    }
+
+    d->arch.sci_data = channel;
+    d->arch.sci_enabled = true;
+
+    return 0;
+
+error:
+    relinquish_scmi_channel(channel);
+    return ret;
+}
+
+int scmi_domain_sanitise_config(struct xen_domctl_createdomain *config)
+{
+    if ( config->arch.arm_sci_type != XEN_DOMCTL_CONFIG_ARM_SCI_NONE &&
+         config->arch.arm_sci_type != XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA )
+    {
+        dprintk(XENLOG_INFO, "scmi: Unsupported ARM_SCI type\n");
+        return -EINVAL;
+    }
+    else if ( config->arch.arm_sci_type ==
+              XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA &&
+              config->arch.arm_sci_agent_id == 0 )
+    {
+        dprintk(XENLOG_INFO,
+                "scmi: A zero ARM SCMI agent_id is not supported\n");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int scmi_relinquish_resources(struct domain *d)
+{
+    int ret;
+    struct scmi_channel *channel, *agent_channel;
+    scmi_msg_header_t hdr;
+    struct scmi_msg_base_reset_agent_cfg_a2p tx;
+
+    if ( !d->arch.sci_data )
+        return 0;
+
+    agent_channel = d->arch.sci_data;
+
+    spin_lock(&agent_channel->lock);
+    tx.agent_id = agent_channel->agent_id;
+    spin_unlock(&agent_channel->lock);
+
+    channel = get_channel_by_id(HYP_CHANNEL);
+    if ( !channel )
+    {
+        printk(XENLOG_ERR
+               "scmi: Unable to get Hypervisor scmi channel for domain %d\n",
+               d->domain_id);
+        return -EINVAL;
+    }
+
+    hdr.id = SCMI_BASE_RESET_AGENT_CONFIGURATION;
+    hdr.type = 0;
+    hdr.protocol = SCMI_BASE_PROTOCOL;
+
+    tx.flags = 0;
+
+    ret = do_smc_xfer(channel, &hdr, &tx, sizeof(tx), NULL, 0);
+    if ( ret == -EOPNOTSUPP )
+        return 0;
+
+    return ret;
+}
+
+static void scmi_domain_destroy(struct domain *d)
+{
+    struct scmi_channel *channel;
+
+    if ( !d->arch.sci_data )
+        return;
+
+    channel = d->arch.sci_data;
+    spin_lock(&channel->lock);
+
+    relinquish_scmi_channel(channel);
+    printk(XENLOG_DEBUG "scmi: Free domain %d\n", d->domain_id);
+
+    d->arch.sci_data = NULL;
+    d->arch.sci_enabled = true;
+
+    spin_unlock(&channel->lock);
+}
+
+static bool scmi_handle_call(struct cpu_user_regs *regs)
+{
+    uint32_t fid = (uint32_t)get_user_reg(regs, 0);
+    struct scmi_channel *agent_channel;
+    struct domain *d = current->domain;
+    struct arm_smccc_res resp;
+    bool res = false;
+
+    if ( !sci_domain_is_enabled(d) )
+        return false;
+
+    agent_channel = d->arch.sci_data;
+    spin_lock(&agent_channel->lock);
+
+    if ( agent_channel->func_id != fid )
+    {
+        res = false;
+        goto unlock;
+    }
+
+    arm_smccc_1_1_smc(fid,
+                      get_user_reg(regs, 1),
+                      get_user_reg(regs, 2),
+                      get_user_reg(regs, 3),
+                      get_user_reg(regs, 4),
+                      get_user_reg(regs, 5),
+                      get_user_reg(regs, 6),
+                      get_user_reg(regs, 7),
+                      &resp);
+
+    set_user_reg(regs, 0, resp.a0);
+    set_user_reg(regs, 1, resp.a1);
+    set_user_reg(regs, 2, resp.a2);
+    set_user_reg(regs, 3, resp.a3);
+    res = true;
+unlock:
+    spin_unlock(&agent_channel->lock);
+
+    return res;
+}
+
+static const struct sci_mediator_ops scmi_ops = {
+    .domain_init = scmi_domain_init,
+    .domain_destroy = scmi_domain_destroy,
+    .relinquish_resources = scmi_relinquish_resources,
+    .handle_call = scmi_handle_call,
+    .dom0_dt_handle_node = scmi_dt_handle_node,
+    .dom0_dt_finalize = scmi_dt_finalize,
+    .domain_sanitise_config = scmi_domain_sanitise_config,
+    .assign_dt_device = scmi_dt_assign_device,
+};
+
+static int __init scmi_check_smccc_ver(void)
+{
+    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
+    {
+        printk(XENLOG_WARNING
+               "scmi: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
+        return -ENOSYS;
+    }
+
+    return 0;
+}
+
+static __init int scmi_probe(struct dt_device_node *scmi_node, const void *data)
+{
+    u64 addr, size;
+    int ret, i;
+    struct scmi_channel *channel, *agent_channel;
+    int n_agents;
+    scmi_msg_header_t hdr;
+    struct scmi_msg_base_attributes_p2a rx;
+
+    ASSERT(scmi_node != NULL);
+
+    INIT_LIST_HEAD(&scmi_data.channel_list);
+    spin_lock_init(&scmi_data.channel_list_lock);
+
+    if ( !acpi_disabled )
+    {
+        printk(XENLOG_WARNING "scmi: is not supported when using ACPI\n");
+        return -EINVAL;
+    }
+
+    ret = scmi_check_smccc_ver();
+    if ( ret )
+        return ret;
+
+    if ( !dt_property_read_u32(scmi_node, "arm,smc-id", &scmi_data.func_id) )
+    {
+        printk(XENLOG_ERR "scmi: unable to read smc-id from DT\n");
+        return -ENOENT;
+    }
+
+    /* save shmem phandle and re-use it fro Dom0 DT shmem node */
+    if ( !dt_property_read_u32(scmi_node, "shmem", &scmi_data.shmem_phandle) )
+    {
+        printk(XENLOG_ERR "scmi: unable to read shmem phandle from DT\n");
+        return -ENOENT;
+    }
+
+    ret = scmi_dt_read_hyp_channel_addr(scmi_node, &addr, &size);
+    if ( IS_ERR_VALUE(ret) )
+        return -ENOENT;
+
+    if ( !IS_ALIGNED(size, SCMI_SHMEM_MAPPED_SIZE) )
+    {
+        printk(XENLOG_ERR "scmi: shmem memory is not aligned\n");
+        return -EINVAL;
+    }
+
+    scmi_data.dt_dev = scmi_node;
+
+    channel = smc_create_channel(HYP_CHANNEL, scmi_data.func_id, addr);
+    if ( IS_ERR(channel) )
+        goto out;
+
+    ret = map_channel_memory(channel);
+    if ( ret )
+        goto out;
+
+    channel->domain_id = DOMID_XEN;
+
+    hdr.id = SCMI_BASE_PROTOCOL_ATTIBUTES;
+    hdr.type = 0;
+    hdr.protocol = SCMI_BASE_PROTOCOL;
+
+    ret = do_smc_xfer(channel, &hdr, NULL, 0, &rx, sizeof(rx));
+    if ( ret )
+        goto error;
+
+    n_agents = SCMI_FIELD_GET(SCMI_BASE_ATTR_NUM_AGENT, rx.attributes);
+    printk(XENLOG_DEBUG "scmi: Got agent count %d\n", n_agents);
+
+    ret = collect_agents(scmi_node);
+    if ( ret )
+        goto error;
+
+    i = 1;
+
+    list_for_each_entry(agent_channel, &scmi_data.channel_list, list)
+    {
+        struct scmi_msg_base_discover_agent_p2a da_rx;
+        struct scmi_msg_base_discover_agent_a2p da_tx;
+
+        ret = map_channel_memory(agent_channel);
+        if ( ret )
+            goto error;
+
+        hdr.id = SCMI_BASE_DISCOVER_AGENT;
+        hdr.type = 0;
+        hdr.protocol = SCMI_BASE_PROTOCOL;
+
+        da_tx.agent_id = agent_channel->agent_id;
+
+        ret = do_smc_xfer(agent_channel, &hdr, &da_tx,
+                          sizeof(da_tx), &da_rx, sizeof(da_rx));
+        if ( agent_channel->domain_id != DOMID_XEN )
+            unmap_channel_memory(agent_channel);
+        if ( ret )
+            goto error;
+
+        printk(XENLOG_DEBUG "id=0x%x name=%s\n",
+               da_rx.agent_id, da_rx.name);
+
+        agent_channel->agent_id = da_rx.agent_id;
+
+        if ( i > n_agents )
+            break;
+
+        i++;
+    }
+
+    ret = sci_register(&scmi_ops);
+    if (ret) {
+        printk(XENLOG_ERR "SCMI: mediator already registered (ret = %d)\n",
+               ret);
+        return ret;
+    }
+
+    scmi_data.initialized = true;
+    goto out;
+
+error:
+    unmap_channel_memory(channel);
+    free_channel_list();
+out:
+    return ret;
+}
+
+static const struct dt_device_match scmi_smc_match[] __initconst = {
+    DT_MATCH_COMPATIBLE("arm,scmi-smc"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(gicv3, "SCMI SMC MEDIATOR", DEVICE_ARM_SCI)
+        .dt_match = scmi_smc_match,
+        .init = scmi_probe,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 095b1a23e30c..30e46de6d7a0 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -329,6 +329,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 
 #define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
 #define XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC  1
+#define XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA  2
 
 struct xen_arch_domainconfig {
     /* IN/OUT */
@@ -355,6 +356,8 @@ struct xen_arch_domainconfig {
     uint32_t clock_frequency;
     /* IN */
     uint8_t arm_sci_type;
+    /* IN */
+    uint8_t arm_sci_agent_id;
 };
 #endif /* __XEN__ || __XEN_TOOLS__ */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:26:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907914.1315104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxks-00032X-Mv; Tue, 11 Mar 2025 11:26:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907914.1315104; Tue, 11 Mar 2025 11:26: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 1trxks-00032Q-KF; Tue, 11 Mar 2025 11:26:38 +0000
Received: by outflank-mailman (input) for mailman id 907914;
 Tue, 11 Mar 2025 11:26: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=F6th=V6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1trxkr-00032K-2P
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:26:37 +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 af4db4e5-fe6b-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:26:33 +0100 (CET)
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 420511F443;
 Tue, 11 Mar 2025 11:26:32 +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 D1CF9134A0;
 Tue, 11 Mar 2025 11:26:31 +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 6Wm9Mecd0GcpHAAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 11 Mar 2025 11:26: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: af4db4e5-fe6b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741692392; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=mTxF7VeeHsTS5DV78R/UU1jxsujaaMlln7IICO57VeQ=;
	b=NVSiDXwuFQ5tiYd2YKlLMthgR/Ztn2s+2I8Ea6nG88N7ZrofyWQHygAGWz9yEgZCzYn0CD
	b5j1ZsRkL8Ce1qn/WP1lT1uCpKxSjwXYm17y+hOaiGAJvbMnkv7FEifkLgYTCMXdiwDaRf
	5DTyR/95N18uCO0goEt5lfPT+Zcx9PI=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741692392; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=mTxF7VeeHsTS5DV78R/UU1jxsujaaMlln7IICO57VeQ=;
	b=NVSiDXwuFQ5tiYd2YKlLMthgR/Ztn2s+2I8Ea6nG88N7ZrofyWQHygAGWz9yEgZCzYn0CD
	b5j1ZsRkL8Ce1qn/WP1lT1uCpKxSjwXYm17y+hOaiGAJvbMnkv7FEifkLgYTCMXdiwDaRf
	5DTyR/95N18uCO0goEt5lfPT+Zcx9PI=
Message-ID: <7ef00fa0-5e40-4204-ab12-e1b820c3358a@suse.com>
Date: Tue, 11 Mar 2025 12:26:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 5/7] libs: libxenhypfs - handle blob properties
To: Grygorii Strashko <gragst.linux@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-6-grygorii_strashko@epam.com>
Content-Language: en-US
From: Juergen Gross <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: <20250311111618.1850927-6-grygorii_strashko@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------RYdN3UR30ULH0tkZuE092G5T"
X-Spam-Score: -3.66
X-Spamd-Result: default: False [-3.66 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	SUSPICIOUS_RECIPS(1.50)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.96)[-0.961];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	FREEMAIL_TO(0.00)[gmail.com,lists.xenproject.org];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[12];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TAGGED_RCPT(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid]
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------RYdN3UR30ULH0tkZuE092G5T
Content-Type: multipart/mixed; boundary="------------sQPZsre0myDyxnvoGUbbEfpD";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Grygorii Strashko <gragst.linux@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
Message-ID: <7ef00fa0-5e40-4204-ab12-e1b820c3358a@suse.com>
Subject: Re: [RFC PATCH v3 5/7] libs: libxenhypfs - handle blob properties
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-6-grygorii_strashko@epam.com>
In-Reply-To: <20250311111618.1850927-6-grygorii_strashko@epam.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=

--------------sQPZsre0myDyxnvoGUbbEfpD
Content-Type: multipart/mixed; boundary="------------p034AxZnjbBWWNPfnkMvqqGd"

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

T24gMTEuMDMuMjUgMTI6MTYsIEdyeWdvcmlpIFN0cmFzaGtvIHdyb3RlOg0KPiBGcm9tOiBP
bGVrc2lpIE1vaXNpZWlldiA8b2xla3NpaV9tb2lzaWVpZXZAZXBhbS5jb20+DQo+IA0KPiBs
aWJ4ZW5oeXBmcyB3aWxsIHJldHVybiBibG9iIHByb3BlcnRpZXMgYXMgaXMuIFRoaXMgb3V0
cHV0IGNhbiBiZSB1c2VkDQo+IHRvIHJldHJpZXZlIGluZm9ybWF0aW9uIGZyb20gdGhlIGh5
cGZzLiBDYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yDQo+IHBhcnNpbmcgcHJvcGVydHkgdmFs
dWUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lpIE1vaXNpZWlldiA8b2xla3NpaV9t
b2lzaWVpZXZAZXBhbS5jb20+DQo+IFJldmlld2VkLWJ5OiBWb2xvZHlteXIgQmFiY2h1ayA8
dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb20+DQo+IC0tLQ0KPiAgIHRvb2xzL2xpYnMvaHlw
ZnMvY29yZS5jIHwgMiAtLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQ0K
PiANCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvaHlwZnMvY29yZS5jIGIvdG9vbHMvbGli
cy9oeXBmcy9jb3JlLmMNCj4gaW5kZXggNTJiMzBkYjhkNzc3Li5kMDliYmE3ZDhjODYgMTAw
NjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvaHlwZnMvY29yZS5jDQo+ICsrKyBiL3Rvb2xzL2xp
YnMvaHlwZnMvY29yZS5jDQo+IEBAIC0zMDcsOCArMzA3LDYgQEAgY2hhciAqeGVuaHlwZnNf
cmVhZCh4ZW5oeXBmc19oYW5kbGUgKmZzaGRsLCBjb25zdCBjaGFyICpwYXRoKQ0KPiAgICAg
ICAgICAgZXJybm8gPSBFSVNESVI7DQo+ICAgICAgICAgICBicmVhazsNCj4gICAgICAgY2Fz
ZSB4ZW5oeXBmc190eXBlX2Jsb2I6DQo+IC0gICAgICAgIGVycm5vID0gRURPTTsNCj4gLSAg
ICAgICAgYnJlYWs7DQo+ICAgICAgIGNhc2UgeGVuaHlwZnNfdHlwZV9zdHJpbmc6DQo+ICAg
ICAgICAgICByZXRfYnVmID0gYnVmOw0KPiAgICAgICAgICAgYnVmID0gTlVMTDsNCg0KWW91
IGFyZSBsb3NpbmcgdGhlIHNpemUgaW5mb3JtYXRpb24uIFNvIHlvdSBjYW4gb25seSBwYXJz
ZSB0aGUgYmxvYg0KaWYgdGhlIHNpemUgaXMga25vd24gb3IgdGhlIGJsb2IgaXMgY29udGFp
bmluZyB0aGUgc2l6ZS4NCg0KQW55IHJlYXNvbiB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgeGVu
aHlwZnNfcmVhZF9yYXcoKSwgd2hpY2ggaXMNCmF2YWlsYWJsZSBleGFjdGx5IGZvciB0aGF0
IHB1cnBvc2U/DQoNCg0KSnVlcmdlbg0K
--------------p034AxZnjbBWWNPfnkMvqqGd
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-----

--------------p034AxZnjbBWWNPfnkMvqqGd--

--------------sQPZsre0myDyxnvoGUbbEfpD--

--------------RYdN3UR30ULH0tkZuE092G5T
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/Ey8FAmfQHecFAwAAAAAACgkQsN6d1ii/Ey8g
+wgAhg23RC1/kuA1whn7+j6jBUfq0YXPRcYYgmY+lBOcp7S/0mIgDmgIYGpFQ2N8gXb5RpICKUVA
nWJflbk+MtP7i+FKO4449QOc1H1aK9vX77LNcffoVmZQeCpUUj7THv7QNPhhbLxnyveoWGAVKf9K
UfnILIlven1NSa0+zNzRupxQ0SG9Gj/U/pSuFKYSZcesHYhEsKF/TDZZ5IPgilKuFzlsMZjElgJS
hiZOHiiO78vTIoPcU7hhNpRLbwn2P4knxQJKQEBpZHeRnZjpiZ7eSHpgpVWynBmxaGaNp5dxqvvJ
8V/z6W7A8yd5o2u9XxdJ7Qdlf7sT6QowOjjv1O7XGA==
=xjyD
-----END PGP SIGNATURE-----

--------------RYdN3UR30ULH0tkZuE092G5T--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:31:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907925.1315115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trxpt-0004ah-8U; Tue, 11 Mar 2025 11:31:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907925.1315115; Tue, 11 Mar 2025 11:31: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 1trxpt-0004aa-5H; Tue, 11 Mar 2025 11:31:49 +0000
Received: by outflank-mailman (input) for mailman id 907925;
 Tue, 11 Mar 2025 11:31: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=0SOU=V6=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1trxpr-0004aT-Uu
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:31:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20617.outbound.protection.outlook.com
 [2a01:111:f403:260d::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5bc2b0a0-fe6c-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:31:22 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV1PR03MB8494.eurprd03.prod.outlook.com (2603:10a6:150:8d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 11:31:20 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 11: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: 5bc2b0a0-fe6c-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=suERWYgbKc3U8i0SerpkUkCKby0atXAhXfmZvXr2hqT9uhPHRAgFcekCKfsuX7Ib5o0ys+s43EU20JWroPpgcKXdpIVsPldBEmLpaRCxrBtQUCPzFvZ3Yr6ZkvT5hsV4bbwrjYVy0dYeVslTFzI076BRGKvveQhd/pVKhAf6x15oklL0vg+ixHrjxCnXhHrHgf8lDV0IqFVDOxj5i7cNnP8RW/x0jfxkt0TNB8BftBF3Ex8cO7lbep14XjOExMxaWh7o52E0NEyd9OKl/+R2vNh56TsPzlEi8cn3zzDfBn28cIjFNNUxnoGIElgxempiUJ0O0JtcU0QwdpUYMT/Hmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X3G/o5aj+YPdppb8CyOOCrUi6lyaBkvp2EFrk0XcZgY=;
 b=pvUWe+7umYPvRG8xm0K4mjHGwKgy7dEa8WzFqEZ/J3yf6Q1N22AZZoTVvcusxywzTCdcFylNCp9glQ/VaFV53mH2dNTUKWmInITmpDIdtwJBknUNGBJFlaCJlYSVFeCP7SpkmU0tS70q5qIKDAFo6Gw5wabqJGvYGYHAnbuWdmIZrLIKwDdPnp5S42fYdK6fsxXbItFyD8PeZMWveiTbtBhbu32BMFunA0ydNRBYMunNvvx010gtltDpcKMAHpfVPQ7HuOHVtXqtqb5YbEoPGQce5D4vC0rlwKrFJWj9mX5CStOPRBIz1ZPqD2AIWQnuYWiO2JLOiRde2lwvz4AUkw==
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=X3G/o5aj+YPdppb8CyOOCrUi6lyaBkvp2EFrk0XcZgY=;
 b=BVgk9lD5NLoWY3uAe9VN5P2b+/OqwfXURNPMY8Ez4by8/UhDEId1tcnVgk/186q84G0uglYGIioD/bYYSbqdLocCx51LmCg6BmpF92A6vYKhh/oKeN51doUo0gy07/RPgpkT1taw/irfPON33OYxf2Vki6QEJdPmlutbWIQWV+sP4dymgNKiYVEtjhj926HWpefRCIK56LnkkwL5mn8IIqB8/A/Jcw0K+mVNjxYgpiYoS1VmLNQe0iJAi1cumqTTK/CjOkHwPMuLarknLK/RR+DJ6k2vna1S/nDmopU26Ytnx85lrPf2kTfz2rmiLA/84LwrqEVE7gLE/RX+FiufPg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <f938f8f2-052b-4456-947e-2f8925eb406b@epam.com>
Date: Tue, 11 Mar 2025 13:31:17 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm: fix iomem permissions cfg in
 map_range_to_domain()
To: Julien Grall <julien@xen.org>, Grygorii Strashko
 <gragst.linux@gmail.com>, 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250218112253.3136505-1-grygorii_strashko@epam.com>
 <20250218112253.3136505-2-grygorii_strashko@epam.com>
 <8f0c8df3-3e6c-40a4-a88e-b81174a170f6@xen.org>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <8f0c8df3-3e6c-40a4-a88e-b81174a170f6@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0203.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e5::6) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|GV1PR03MB8494:EE_
X-MS-Office365-Filtering-Correlation-Id: f7e70002-ac8d-4fe8-8c8b-08dd60903e88
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?OFJtdGhGb3dNdW5HMnMrdHlBZFBVdjRDRDdUY3BKd2wrYkpwd0ZxVnUzVmt2?=
 =?utf-8?B?Vm9JLzhobkZqblRzMHBhR3NFeklwbUY4Z3RaaWVXVE1ocXlnVzhjMDh5NG43?=
 =?utf-8?B?cWwxcVBEbzYwSWhyKzlON0RuYzNiTHNKNytHSHZaOVlGa0lMWW9mcFo2d1A0?=
 =?utf-8?B?bHpKVUhLSnVqeWloaUdkM3hSaG13N2x0K1NTMUdodzBsY2RFYWltTHYzTlRv?=
 =?utf-8?B?S01oMmdPdWxlZGpOMFVwdzd6bGdOTXhwN21rOEZCMDhnUlJoY1ZNaTM5SXhw?=
 =?utf-8?B?amVveWhoand6MXRMWDJkT3h5TzYwV2JRckd0eTd5R2c1SU9SemxmZmhHN1dE?=
 =?utf-8?B?bVJ3VVBnQU1ud0JOV29IbUxZK2lkdTdlbG51Q0JLU2pob0VCZ2NNN1d3RkIr?=
 =?utf-8?B?ajFNOXFWZ2Y5cEJ4QnF1b3BmemZ1Nzladk9welVybUdreDdBelIyN3I0blRI?=
 =?utf-8?B?blVmTFV4ZzZXT0oreU9vZU9rUmExdGhpemxuY2dTblA5RDcwaDdWTWtRL0hr?=
 =?utf-8?B?ZXZnZjBJREZ5N3V1WnhWZUNGN1A0RERMSU9vcGV2UW5vRUh2VHZ3djJIMWhp?=
 =?utf-8?B?bUJOaDcyR2R1MW50YnBLeXhZczUvZ3BiMmNTbUZjVjJNMTMwQjUxZ0lkWEtk?=
 =?utf-8?B?Y1VwVUI5RS9ENDVZQy9BN0dTRlB4V0hCZy9oN3hDaXJDajJMTGVldkRHWExu?=
 =?utf-8?B?VllvY1YvWEhJOFcvK1NucmZJcm1FdmRoUStqbjNqUmZiUTB1Zks4Wi8rMy9a?=
 =?utf-8?B?T0tpSFc3NlhwdFU2cDd3ZURqMC82N1NCWjg2bEVadk9sL05BSEUrSHhTendB?=
 =?utf-8?B?bENJc1NVbXJBVklqcHN4bmVPeENrV0E3OEF1ek02SnpjWmdoVzhmWWRUVFhJ?=
 =?utf-8?B?VGkweitqbEhKVXRkRTMzVHpHQ00wcWI1WGhCRmFLWW9jVzBSSVhuOWxJaTVZ?=
 =?utf-8?B?MzFtMmVmMmlPbXRtbElCMXZ3NWRadnhWczdFUVRIRmR4MkY3MzBqUWVUUERW?=
 =?utf-8?B?Z2FOVEVKcFg4UUxEUGFCbGxoK3ljYW1TSkYrM2tSWVpmZkdMNnlOWEJPUTN6?=
 =?utf-8?B?eFBqcHFIMHV1NTNyamtQUFR0OW02KzdaY1pHSkFjMHA3eGZDbWgwZXVIWWl5?=
 =?utf-8?B?WFAvTTEyVUkrZHdvTDhqNnlKbmZuS0VneFhsUElFdzVWUEdocXZGOThsRjNC?=
 =?utf-8?B?bmtPTzFRaC9TWUxDN0wrWnlYUG5zTGxKa2IzZXdnenhIS2kxKzU4VVkvMERm?=
 =?utf-8?B?cVAvK2lNWERQVTFWd20rbENYMjV5S1NnS0FkQlR5ckExRWRuelpyVGFnUmtB?=
 =?utf-8?B?TXY3WUpBTjN2SytkS200dFhrNGpLbVlmRjdPbVJ6bkNubHYvUmVWb29oL285?=
 =?utf-8?B?WkloOHF4T1E2NXJZRVAxNC8vdkVKTGdhWllmUXFUOUEzMGZYVjJiRitRMWc1?=
 =?utf-8?B?YUlxcjZxM2lHUFF5M1IxU0oxWGJKSlRvVkxFN0lrUTBQY0pHOXVpdE02QTFm?=
 =?utf-8?B?amFHV1ZsT2RPM0VEbEs1M1RzR2xiYjBlOXpwbFNRUTFvSjdFSHBsVlR1TEJG?=
 =?utf-8?B?WFYweGIyemFiWmNaNjdwRERad2F2aG0ySktOOUsxU1Y3MG9kMUV0aThodnRB?=
 =?utf-8?B?bVhvNWptZkJIdkVPZWVmS3dsSnhCaWc3cWp1QXAzWmRyeWM2YjVweUhuTkE1?=
 =?utf-8?B?cVBIdkhmTm9GaHAyOEpmM3VCbnlrQVVUOFE0c2xyZ3NzcUkrSnBFbWZoSzFn?=
 =?utf-8?B?MXN5R3BRQkJPL3V5dWdJbVpPcE50cGtDWHAvOEpQQlFQUDBUSHVObHM1aUpq?=
 =?utf-8?B?YkRBQ1hxTVdOeno5Q0hlR0x5UkFCb2JCVFFuK3VWaFY5bG5wQnV1V2NGaEFG?=
 =?utf-8?Q?DpvXCzD8vLbc4?=
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?MlRSNmJvaHBlZURWenI5Z0V4ZE5JRGZBSmFQNk9FWjdqenVpbXAzYjR2aUJx?=
 =?utf-8?B?d3BXWGkveW5jNmRCR1cwbWh6SEhOR0VlMUV2NjlGZncxUHJoSjNIUXc5QXIr?=
 =?utf-8?B?L2Jlb0lFUDBEV3J5d2lWbFk5V1N5RlJaL0ROYjZLNmdYdGNRd0gxNGdoZUlR?=
 =?utf-8?B?NEtGWCtYeldaTEdtcFdySk5DdWlzVlJ3cUJkOGNHMm9mNlJHcytEYlhZWGd0?=
 =?utf-8?B?YkQ3TzFkdVpMUFhiR3YvVjZOUmY1azNQSFBvUlk2YUNORndVZG1yakhOU0Fo?=
 =?utf-8?B?RzV4cWNSempnU2VRSHdmRmV3M1VpektVNDNXdmRUUlZpU1ZySzF0MVNpTUZr?=
 =?utf-8?B?c3kraCtWN09henpsMkQ0RE4xdittNWZaZVlqci94c0VmUjRuc1J5Z25aV1Ja?=
 =?utf-8?B?UHZDNExvN1gyRU5UOE1qeDRaMFY2RlMyK1dZbm9Pako2dkE4TTVKUkxSK2Ft?=
 =?utf-8?B?bjF3eVJQRzJiYmdsQ09hdk41NURXZThGR3Qrc2FRRXhzTmwybVpwZEdBRDVk?=
 =?utf-8?B?ejA4dUFKSmtCTEMyZGpoNnA2YkNpOTFuSTcxSVVaRk5UV2pBNEJRbkR6VkJX?=
 =?utf-8?B?dHc3eFlZdFlIaWVGRE9qeXlpUkZoOG0wR0svS2JJTjRIN3hUVGRpS29CWkJ1?=
 =?utf-8?B?SHA5RUgyVnNLSHhSV3VVc1NKK0lVbWVUeDU1NGZCNUFYQ2E1eVc0eDF0Tk80?=
 =?utf-8?B?R0xnU2M1RzhQWk9RUHRrTUlINlJIcENBM3BVQnh4anMwekpwZlIzSXo1Q0ZZ?=
 =?utf-8?B?ZmtMQmFzY3NhOTNpUnVkSzhjMnVnaUpHaWhRQWJxMXJNZlUvWmdBS3JJMk52?=
 =?utf-8?B?K3A2THNiOXNaSXZ4SFV6TlU0aXBhamwyR2lZbXdyaktvK21sazYxZDBDalp3?=
 =?utf-8?B?eGtFSjRkREYxa2RNU1BrWnlaTmMzRXpxbFk0dzU2WldpVkRxL0xWVnBVY2tD?=
 =?utf-8?B?dGh2cWJyVGpCTDZacEpobGdxY0xITFdpRnZUMllMZTAyYUZ5Um1GVXNjRW1o?=
 =?utf-8?B?NW9CYm9ENGxVQjRFUWJBS3BHZWpWMGhZR0M3cXg4YVVCMGJrY2Ruc2M0NHlp?=
 =?utf-8?B?TzhUUEQ3RlBkY0ZMN2NwaTMzUEEwanNjTEpkbWJNQklxV08xK054czRlQWR2?=
 =?utf-8?B?L01UellyTU1HOTVXa0FGaU9tMnJmeFJjUTMybVI3bE1FZVorM0VQSjhjVFVh?=
 =?utf-8?B?eDM0VUR2eVlUb1RMVWxZTFcrbHlLWEppTEpTTDZ1NUwwdkJ1MzdmNTR1Z2px?=
 =?utf-8?B?VGMxQU1iYWVKS1lmVGtIekh2SmxnbWxDTTROWnAxY3V0bjhxVWR0cHZWbUdK?=
 =?utf-8?B?dnNLNENuTld6VHQycFpUdUtUVFVIZWlZZGNHTGhYR1NxclRrNmZTOFNaZ24r?=
 =?utf-8?B?YjdWcitSTXp3U0hMWEhCbU5zN01OcVNTenJlMjBXUWVXc0g0T0tPbktFeG9a?=
 =?utf-8?B?dVN2amxIeXJYSEVwNzhVRk5mT3FocTVXNWk4RzF5Unk0MVBEYkdCQXRUbkJC?=
 =?utf-8?B?UFhwbTNEeXJZdkdrL3poVUx2bC82bm5TTlZSVGRiY1lIQmZZNW5iUmtSWGY4?=
 =?utf-8?B?UjIvNVUvV2JvNS9rUGE5cWxaUFh1cXdaUnVzUitGcXlqOWx4bEIyTzJMQ0JZ?=
 =?utf-8?B?MnFuMXQybzBudWdSTVpUb0RQMmJYWnlNMXJtVWZrTU9SVXFHVzVEYTMweWUy?=
 =?utf-8?B?VUN2SlFnVCtrRTVUb0xhS0JTWk9wbUFDUGpKa3pLMzR0bm1kbFFXNGpHeDhY?=
 =?utf-8?B?Q3Nqa2F6RFM0SkNWMDFZUnhtNWVlSjBWSGlMSkF2REpyaGs1SmRhRkRPK3hh?=
 =?utf-8?B?MjF4N01JdE52eVhLVm5ES0g2dzB0enpXMm80R3VrcER6YUk5SVBLRm1rOFRR?=
 =?utf-8?B?WWtMWUttd0s0dXp5TkZjMGZJUGtpcXVqekxYZnBDQVdJWmtUbGE2NkJwbng0?=
 =?utf-8?B?bnpJbzVEOHl0R1FlU01zV3ZaUURVZ0RGY3QwN0IyZms4OVFscXQyWG8zcWt2?=
 =?utf-8?B?bWVVN002dG1kajArM1ZiVG9ZY3lWeUxhZDBnYnRsNE41WHlOQzVYaStZdG5B?=
 =?utf-8?B?M1RnYUZDcFRHNjhsYXNwVTlJM0QyTTYxTzNWbk5WeG02VUNaY2pkYjZBbE1v?=
 =?utf-8?B?MlliS0EvZjM3QzhnMWo2ZHNsZUFUZjJHbW1zbU0vZm51dlZOUjYyRWlJZ3Fa?=
 =?utf-8?B?dmc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7e70002-ac8d-4fe8-8c8b-08dd60903e88
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 11:31:19.8857
 (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: Q3gvZV7l6s+oTicJaIbZw+D2XZw+hnOG0no9ZeZhjR3/jToENqnW9WnUOD1F4sd1IEyGlULuk2+exgXz3QJpkOHac3Q25uohFIYdB13JGK8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8494

Hi

On 19.02.25 13:25, Julien Grall wrote:
> Hi Grygorii,
> 
> On 18/02/2025 11:22, Grygorii Strashko wrote:
>> Now the following code in map_range_to_domain()
>>
>> Â Â Â Â  res = iomem_permit_access(d, paddr_to_pfn(addr),
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
>>
>> calculates the iomem range end address by rounding it up to the next Xen
>> page with incorrect assumption that iomem range end address passed to
>> iomem_permit_access() is exclusive, while it is expected to be inclusive.
>> It gives Control domain (Dom0) access to manage incorrect MMIO range with
>> one additional page.
>>
>> For example, if requested range is [00e6140000:00e6141004] then it expected
>> to add [e6140:e6141] range (num_pages=2) to the domain iomem_caps rangeset,
>> but will add [e6140:e6142] (num_pages=3) instead.
>>
>> To fix it, drop PAGE_ALIGN() from the iomem range end address calculation
>> formula.
>>
>> Fixes: 33233c2758345 ("arch/arm: domain build: let dom0 access I/O memory
>> of mapped devices")
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Sorry, that I'm disturbing you, but do i need to perform any additional actions here?

> 
> Cheers,
> 
>> ---
>> Â  xen/arch/arm/device.c | 2 +-
>> Â  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
>> index 5610cddcba8e..97e613e06afa 100644
>> --- a/xen/arch/arm/device.c
>> +++ b/xen/arch/arm/device.c
>> @@ -71,7 +71,7 @@ int map_range_to_domain(const struct dt_device_node *dev,
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  strlen("/reserved-memory/")) != 0 )
>> Â Â Â Â Â  {
>> Â Â Â Â Â Â Â Â Â  res = iomem_permit_access(d, paddr_to_pfn(addr),
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  paddr_to_pfn(addr + len - 1));
>> Â Â Â Â Â Â Â Â Â  if ( res )
>> Â Â Â Â Â Â Â Â Â  {
>> Â Â Â Â Â Â Â Â Â Â Â Â Â  printk(XENLOG_ERR "Unable to permit to dom%d access to"
> 

Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:43:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907935.1315126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1try0o-0006Ew-8f; Tue, 11 Mar 2025 11:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907935.1315126; Tue, 11 Mar 2025 11: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 1try0o-0006Ep-4Q; Tue, 11 Mar 2025 11:43:06 +0000
Received: by outflank-mailman (input) for mailman id 907935;
 Tue, 11 Mar 2025 11:43: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1try0n-0006Ej-79
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:43:05 +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 fdfbce39-fe6d-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 12:43:04 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso21455615e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:43:04 -0700 (PDT)
Received: from [10.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-43cf27f8ef3sm82676935e9.11.2025.03.11.04.43.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 04: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: fdfbce39-fe6d-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741693383; x=1742298183; 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=Gmv143IPjlIa7TGdcoEdnJnBb+vnuvoiBmNX4lh20wM=;
        b=bEpcQNZWC6OwQDAd8HzXyiMyaGabGq2BJaGMFN3MsQosaz+OEIV/qczV+T/vw7Jfym
         gcyFaj0GG87dENwzAUp/8O2yliZWOYpz2ZQOo+Y8cXVVq+LmxmNkf2y0z5AazC82FaaD
         Jtc6BdWj63a3HQTSCYXoMagNzGSuBlTyAO5seAFwWhFGLWeHxC37xQSEv26cVXSOi/nj
         SDIhBuxXyt+tVIwV0Ot9VQBAsgiektc3WlkkCuk5i59Yyqenfm6LMIQ7Y0b6/k4hUhMR
         jT3xjb8ayNtONAdEf7mEAoappA5WJGt7nZ6qGLrqRDi/gTW92PhxtP4dR2VCdpXI5+F1
         msUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741693383; x=1742298183;
        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=Gmv143IPjlIa7TGdcoEdnJnBb+vnuvoiBmNX4lh20wM=;
        b=gew+IOpbVzpYMSbRALkLUDzjRDCeA4pmvOY0lLJukY9fyPXl3OFvN/7Jm+acCkRcPq
         601lGRqRsmAHOUz7XthbMZSAHMf7qeqo28vHeWl5TasdW/2Rkr3tKazlQz7h/JdXCZnA
         Y58W2xr2ybBhieqrsMsv0n/1WztTLRpRrs2TJYpU6UVlJAJbafZ6Qhw294yrMLlTDhoq
         HdGMvasa4pKk12zdhlXqYhO/YpRr2rKOCHczf2CQLwWciSKQy0fJzn+qkEtce0SiPfjo
         RJ8ZuWkkNi1xIHp9DXwqjPPIJ3KxiY+lCu9wjNjU2Jn3+OTX8hCYaWwqpAK74Or97xP7
         JgxA==
X-Forwarded-Encrypted: i=1; AJvYcCUw33lq+NLXJPj51t0MUTIGI8+GdqlFt75WRiWfUt4K/64t08n1ebJZdgDzRatWfVXcicnmANOL/f0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUXpF2Z1qELFG2MM8Yy2JJj0JqSPXtSzXt8P+bDwEFuCH00jcK
	Yo5QkSBVkw/e7Hjqg8XpOkcvxTbSb2TFkk9CNjMmZD4NUpEz174+AnLny6j+tw==
X-Gm-Gg: ASbGncvctGbWtdm+NjHxMuY0ZuxwcuEDAkE7Xgiig8SIpXunuMUuZL41LDepeY8M0V2
	8AmwPlHBCxUzjiPYAVSDXNOma30pL9W7jXUEYQa4PyhZQN4qnm73lwKnhs4eVbzUs5MsMuWPAKt
	DSGxNbFreIfykZbgQSM0t9v1aHweg1vNjP6vzdBFw5M9B+vFFDO+FN9/Ls8XoRijBMH2P4AsHNY
	2cuZTJ8x55b8Qycik1Z1EBjTIBYehiJmMtn0vqj0F01RFvfOfoOcwRFFrl7lLgwXQzGkLFIc17w
	4N9eAlNaKT8MhAq7vqQPTjH4exfZkbXbc6NDveGbYVswnUiJWqXhxVFqoA9cZERLZdQnFjlGjEG
	9wWh2Y8cKP5H1XE1cdB1ZsKby32+VDg==
X-Google-Smtp-Source: AGHT+IH6yHeL4EoTswVO2FZWN926l4yMuLRtp9wTbljow29BOOg4XEzJleItR0Btu+dsiQGkJ+EmeA==
X-Received: by 2002:a5d:47c2:0:b0:390:ea4b:ea9 with SMTP id ffacd0b85a97d-3926bfe070cmr5221101f8f.39.1741693383240;
        Tue, 11 Mar 2025 04:43:03 -0700 (PDT)
Message-ID: <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
Date: Tue, 11 Mar 2025 12:43:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
To: Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, Grygorii Strashko <grygorii_strashko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-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: <20250311111618.1850927-2-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 12:16, Grygorii Strashko wrote:
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -526,6 +526,12 @@ S:	Supported
>  F:	xen/arch/arm/include/asm/tee/
>  F:	xen/arch/arm/tee/
>  
> +SCI MEDIATORS
> +M:	Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> +S:	Supported
> +F:	xen/arch/arm/sci
> +F:	xen/include/asm-arm/sci
> +
>  TOOLSTACK
>  M:	Anthony PERARD <anthony.perard@vates.tech>
>  S:	Supported

Please can you respect alphabetical sorting in this file?

> @@ -851,6 +852,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>      case XEN_DOMCTL_deassign_device:
>      case XEN_DOMCTL_get_device_group:
>          ret = iommu_do_domctl(op, d, u_domctl);
> +
> +        if ( ret >= 0 || (ret == -EOPNOTSUPP) || (ret == -ENODEV) )
> +        {
> +            /*
> +             * TODO: RFC
> +             * This change will allow to pass DT nodes/devices to
> +             * XEN_DOMCTL_assign_device OP using xl.cfg:"dtdev" property even
> +             * if those DT nodes/devices even are not behind IOMMU (or IOMMU
> +             * is disabled) without failure.
> +             */
> +            ret = sci_do_domctl(op, d, u_domctl);
> +        }
>          break;

Despite the comment I fear I don't understand what you're trying to do here.
In any event you may not clobber the original "ret", if all you do is some
"add-on".

> --- a/xen/include/asm-generic/device.h
> +++ b/xen/include/asm-generic/device.h
> @@ -18,6 +18,7 @@ enum device_class
>      DEVICE_IOMMU,
>      DEVICE_INTERRUPT_CONTROLLER,
>      DEVICE_PCI_HOSTBRIDGE,
> +    DEVICE_ARM_SCI,
>      /* Use for error */
>      DEVICE_UNKNOWN,

This is a generic header - I don't see how anything arch-specific could
validly end up here.

> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -327,6 +327,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>  #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>  #define XEN_DOMCTL_CONFIG_TEE_FFA       2
>  
> +#define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
> +
>  struct xen_arch_domainconfig {
>      /* IN/OUT */
>      uint8_t gic_version;
> @@ -350,6 +352,8 @@ struct xen_arch_domainconfig {
>       *
>       */
>      uint32_t clock_frequency;
> +    /* IN */
> +    uint8_t arm_sci_type;
>  };

You're not re-using a pre-existing padding field, so I don't see how you
can get away without bumping XEN_DOMCTL_INTERFACE_VERSION.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:46:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907948.1315134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1try4X-0006rX-Qu; Tue, 11 Mar 2025 11:46:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907948.1315134; Tue, 11 Mar 2025 11:46: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 1try4X-0006rQ-O7; Tue, 11 Mar 2025 11:46:57 +0000
Received: by outflank-mailman (input) for mailman id 907948;
 Tue, 11 Mar 2025 11:46: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1try4W-0006rK-Gn
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:46:56 +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 878ac211-fe6e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:46:54 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac2a9a74d9cso337860666b.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:46: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
 a640c23a62f3a-ac2a385e09dsm297184766b.48.2025.03.11.04.46.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 04:46: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: 878ac211-fe6e-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741693614; x=1742298414; 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=oo+zFSk1rEJLd5hQmX0r94e4LlW+Zu7ptqf6pG4Xz8s=;
        b=Nbby92TjuJyqL1V7wgE+2T3qeH10M4Ip/JtJLCnnQf6NAxw8H8ufW+0AOiJ6v+MJuZ
         FaSeT8mxCpIwO8o9rmDr+Tv/0MNZLILTuSuSRxRr0TFgSj6g8QZO4uWbjrucIpsnfPH3
         4zL/cdUPo+ugEywe6uFLYNhZF4KC9Z6XsnMX/JgAWZtRIPX9FLOrsOCTqvQLT69T8cw3
         xDg9mdSX4gOw2p1KtbLBbFQpj47G5UjwyW3uZiR4vHdMRY4jT6thH3h0fdi4xwZv61Ge
         W775fQQ8mTnHshSWHhRer09OoDrFFo3ZsG67hJSyLd24iCCaibOMsDSmeMRabralFWBF
         K1ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741693614; x=1742298414;
        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=oo+zFSk1rEJLd5hQmX0r94e4LlW+Zu7ptqf6pG4Xz8s=;
        b=ZNdMJ0D6ekk3bWGO1/FYjiPEn9Fb7bQgLKgeh+Fv7ghPKXnSgQYCVfXdDWaqeuOPgA
         P/NnRRWVTAXp8qMetNDv6nXfWHRb41Vnp1JIbBbCe1z/aCADZaIOcH/zg4eQgjoa6BII
         JCDydycxnaxW+8OZG9JQrJ981m5eveYP1sWbh/tiiPESui4fudO1xdGfCIvgu4D0hh8d
         zQ+ChMl7nsQMgXU4HJ5DwkA8hBncVmvXil6Xgtl+olfV3bEmn8AiCLw2MW3EsoJKC5Oj
         TGs7YKrQnj+knPPPxexzN6d5vTOdVWqZ5BUdkAhe3e1bsLH67Ivy47A3LloeGOjVMHlh
         rAHQ==
X-Forwarded-Encrypted: i=1; AJvYcCXspIEhJ8eEjrS4ENlamXrDaRrf6wm173iQLfj7cIWWaEuGa0kEeKgJK0X++2yRLorVENCdK7NgePM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQZ4/Ajtw87i0ZRzdfFO8zuNvM96zxPRBthZjysD2w7FP3jPg9
	f4z2UEqtsIDZLjdNdjI5OJm9jYaPMZlz8MLfyvybMmmh+PIqlt6oN/99ugiMeA==
X-Gm-Gg: ASbGncuvuvr9tiZ+yde7EqRx4k4UHfRDd2P679PRv+6/OEAscoqNnNdRiVF6HFqRKCe
	3JGLurvtswIyd2++R1R4XBbrmtFTMtXd3MVYFoDFQhEK5FRdAl7QK4KBP2XK1FLo6Na66a/wkwL
	+n5agYMY1yblN2NKBSs5pBZ27vvpbTqpEF+qFFw5GmZ/sqlpkSmlINUVLNymAb9uThJSo5TRUrc
	6FOHOufxhBGRWWUFVCQNdzUyo/uBWSyJCXSMciBJ/lUAnfwwA4T/O0slNYe5U2hxFsGfKD+6yJA
	1Fgp0/eW3leGF3xH2WBlwXNgXRkPlnjJkNMdZV4iVN9nZX1AoT9M/V0pWdNtJoSFeY+bywIq1SA
	/DKggbGqVkBm+DyVnbyWh8tfYQnBC/g==
X-Google-Smtp-Source: AGHT+IEXRrV+YxhntIWg4PtUh80zEOtYNr1aFeTzgUieJF81VjXaMzyNN7PmtuiBpRx/FIcO9v3HAA==
X-Received: by 2002:a17:907:608e:b0:ac2:b826:1e6b with SMTP id a640c23a62f3a-ac2b9db3c7bmr435021366b.4.1741693612636;
        Tue, 11 Mar 2025 04:46:52 -0700 (PDT)
Message-ID: <6668a29f-0b78-4579-8583-132d9fb3df0c@suse.com>
Date: Tue, 11 Mar 2025 12:46:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 7/7] xen/arm: scmi: generate scmi dt node for DomUs
To: Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, Grygorii Strashko <grygorii_strashko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-8-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: <20250311111618.1850927-8-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 12:16, Grygorii Strashko wrote:
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -1223,6 +1223,13 @@ struct xen_domctl_vmtrace_op {
>  #define XEN_DOMCTL_vmtrace_get_option         5
>  #define XEN_DOMCTL_vmtrace_set_option         6
>  };
> +
> +/* XEN_DOMCTL_get_sci_info */
> +struct xen_domctl_sci_info {
> +    uint64_t paddr;
> +    uint32_t func_id;
> +};

Please take a look at the rest of this header: Outside of x86-specific
sub-ops there's no use of uint64_t; uint64_aligned_t wants using instead.

> @@ -1333,6 +1340,9 @@ struct xen_domctl {
>  #define XEN_DOMCTL_dt_overlay                    87
>  #define XEN_DOMCTL_gsi_permission                88
>  #define XEN_DOMCTL_set_llc_colors                89
> +
> +#define XEN_DOMCTL_get_sci_info                  90
> +
>  #define XEN_DOMCTL_gdbsx_guestmemio            1000
>  #define XEN_DOMCTL_gdbsx_pausevcpu             1001
>  #define XEN_DOMCTL_gdbsx_unpausevcpu           1002

The latter of the blank lines may make sense to add. There former shouldn't
be there imo.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:56:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:56:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907957.1315144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryDf-0000Nu-Ls; Tue, 11 Mar 2025 11:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907957.1315144; Tue, 11 Mar 2025 11:56: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 1tryDf-0000Nn-J5; Tue, 11 Mar 2025 11:56:23 +0000
Received: by outflank-mailman (input) for mailman id 907957;
 Tue, 11 Mar 2025 11:56: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxbR-00061U-95
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:53 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54932f69-fe6a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:16:51 +0100 (CET)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-30762598511so57568661fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:51 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04:16: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: 54932f69-fe6a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691810; x=1742296610; 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=B96UdKByw6q/7v0qR414AXSgvWpTAQ49fpaibtFfFYs=;
        b=Ld1T7HdYse4bHSpwXfIacLy+h+X30k1aUUxatCAwFgiyyuytBBPg6eyq/zIyEOTQFG
         WItagRCAkjfCncq8gW9conTf/rXS6Vf12f0gn32Yrzownf6ydfYiJJlEgsuthvrnAtL/
         4mf8Osru/mTy+y5jsqc8rG4rR+qlfoz5tx+vAxfVFBsmY9Y5yEHOkl24K/HWOW7sst74
         /Iie6R9C2PVJwybp+At/+JjUHyCzM6RBAtcL1pvf/D//eNCU6EwuprbRuqxHOCfLHFbd
         nnMztfZd03jaYBixZYiQLxjUYl3hWjGG+qyfTtWW86hEKphWMWkz1JHfTBvKEjnG+Ilh
         yhbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691810; x=1742296610;
        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=B96UdKByw6q/7v0qR414AXSgvWpTAQ49fpaibtFfFYs=;
        b=nhWEBfMEnfV+deqhuWsJZ5VLawTamT6ohSqrxRznQWpLHZU2RoAAz0yGvrC+KHr+9F
         F3MIRgurKN1pmq5QrO+S8U8dXGXa1Dy/F2/FyS75UEkyr0JTYIZ9KB3UGeJVNqUkXDYa
         rf/BKQUmwmz2h0vLzBd3DzuVbCJ23G+m4wzidmIt6vxyLh0h84e58AqER1lHRWheCJmE
         4nbwS3I/UHyrnXBYwNpV+iBPb/9aht1mtBYS94h2S4syDFyPRGWbhBvfVQtqS8zNZBP2
         mtDdcv5UsehWAxKjFMw5XjgfUZZkJ/idoKFh+phQEu9xq+lzJI5wPuqGDdUei96zXje4
         9lcA==
X-Gm-Message-State: AOJu0YzFSgtWZ8PNrLzJQEhlSLeiuFi3zD2VnlC5RX78vvogKVjWFohZ
	OvaEQpvNgJGt49T3kasWCwdcIengbnTnFH2oEI03eE1IPcX9kH0drIx1QQ==
X-Gm-Gg: ASbGncsPv6kte7hD1Kp9g4Tx/4V3vRQYslXLqPno8klrzC7N8glS4WY2+as738UulcR
	rBLkVeMVL/+65KZIE0R/BNHwpzhjL3gXfdL7akYW+Q9NHKZ1xmCIMHEakemCEIvJB1klCCxlgge
	ZkzAuykriFRV5ssOQ/nVMnGEhUCsk6zWQgkh6NykwnrL0l3JxPvpgdW5GVtePvo8AQde4Te0w7N
	evamUpqROGaBuOubLy6ewhH/PF5/tdo3YwugVyjx8ZTyulEUtsr4wvZ6WRoNTboURx9D0X7H7tr
	nRXmlVbP08mavvW6/cmOQTBal8BX7K5ODSYFYyhhDXF0XfHcK1D75NToJg2YXn3L4FSt0CiPTsG
	nFZHdomZp0rKM9nfxaTRDilrtuVE=
X-Google-Smtp-Source: AGHT+IF64v2hXGQ00z9GVEJ8U68hv2KGBZFKEJQrCkpVVAWcuKQkSvBRVsWQkqHjxbSg/SHD3m9UlA==
X-Received: by 2002:a05:6512:b14:b0:544:11cf:10c1 with SMTP id 2adb3069b0e04-54990e641efmr6135062e87.30.1741691809824;
        Tue, 11 Mar 2025 04:16:49 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [RFC PATCH v3 7/7] xen/arm: scmi: generate scmi dt node for DomUs
Date: Tue, 11 Mar 2025 13:16:18 +0200
Message-Id: <20250311111618.1850927-8-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>

This feature introduces SCMI support for DomU domains with partial SCMI DT
node generation.
During domain creation the following prerequisites are expected:

 - SCMI node template in partial device-tree, which should contain all
 subnodes used by DomU:

/ {
    firmware {
            scmi {
                    scmi_reset: protocol@19 {
			\#reset-cells = <1>;
                    };
                    scmi_clk: protocol@14 {
			\#clock-cells = <1>;
		    };
                    scmi_pinctrl: protocol@19 {
                            sdio_mux: mux {
                            };
                            mux1: mux1 {
                            };
                    };
            };
    };

    passthrough {
            sdio {
                    pinctrl-0 = <&sdio_mux>;
                    resets = <&scmi_reset 0x1>;
                    clocks = <&scmi_clk 0x1>;
            };
	    dev1 {
                 resets = <&scmi_reset 2>;
                 pinctrl-0 = <&mux1>;
            };
   };
};

 - properly defined "arm_sci" property in domain xl.cfg:

 arm_sci = "type=scmi_smc_multiagent,agent_id=2"

 - Platform/Xen DT exposed to Dom0 through Xen hypfs.

The Xen toolstack:

- obtains from Xen information about phys address of the SCMI shmem and
SMC/HVC id used by specified SCMI agent_id (domctl
XEN_DOMCTL_get_sci_info)

- creates the SCMI shmem node in domain DT using predefined guest MMIO
mappings and DT phandle

	GUEST_SCI_SHMEM_BASE xen_mk_ullong(0x22001000)
	GUEST_SCI_SHMEM_SIZE xen_mk_ullong(0x01000)
	GUEST_PHANDLE_SCMI (GUEST_PHANDLE_IOMMU + 1)

- creates SCMI node in domain DT with:
  - "shmem" phandle sets to GUEST_PHANDLE_SCMI
  - "arm,smc-id" sets to SMC/HVC id obtained from Xen
  - parses partial device tree and creates corresponding SCMI subnodes in
  domain DT. All SCMI subnodes properties are copied from Xen DT except
  phandles, which are taken from partial DT.

- maps the SCMI shmem into DomU GUEST_SCI_SHMEM_BASE address.

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 tools/include/xenctrl.h                     |   3 +
 tools/libs/ctrl/xc_domain.c                 |  18 ++
 tools/libs/light/libxl_arm.c                | 294 +++++++++++++++++++-
 tools/libs/light/libxl_create.c             |  12 +
 tools/libs/light/libxl_internal.h           |   3 +
 xen/arch/arm/domctl.c                       |  22 ++
 xen/arch/arm/firmware/scmi-smc-multiagent.c |   2 +
 xen/arch/arm/include/asm/domain.h           |   6 +
 xen/include/public/arch-arm.h               |   4 +
 xen/include/public/device_tree_defs.h       |   1 +
 xen/include/public/domctl.h                 |  11 +
 11 files changed, 365 insertions(+), 11 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 495598123133..54a93431641a 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1205,6 +1205,9 @@ int xc_domain_getvnuma(xc_interface *xch,
 int xc_domain_soft_reset(xc_interface *xch,
                          uint32_t domid);
 
+int xc_domain_get_sci_info(xc_interface *xch, uint32_t domid,
+                           uint64_t *paddr, uint32_t *func_id);
+
 #if defined(__i386__) || defined(__x86_64__)
 /*
  * PC BIOS standard E820 types and structure.
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index 2ddc3f4f426d..f4ffab2021cd 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -2229,6 +2229,24 @@ out:
 
     return ret;
 }
+
+int xc_domain_get_sci_info(xc_interface *xch, uint32_t domid,
+                            uint64_t *paddr, uint32_t *func_id)
+{
+    struct xen_domctl domctl = {};
+
+    memset(&domctl, 0, sizeof(domctl));
+    domctl.cmd = XEN_DOMCTL_get_sci_info;
+    domctl.domain = domid;
+
+    if ( do_domctl(xch, &domctl) != 0 )
+        return 1;
+
+    *paddr = domctl.u.sci_info.paddr;
+    *func_id = domctl.u.sci_info.func_id;
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index cdf5edb299af..cc54abc1ea79 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -9,6 +9,7 @@
 #include <libfdt.h>
 #include <assert.h>
 #include <xen/device_tree_defs.h>
+#include <xenhypfs.h>
 
 /*
  * There is no clear requirements for the total size of Virtio MMIO region.
@@ -640,9 +641,6 @@ static int make_optee_node(libxl__gc *gc, void *fdt)
     int res;
     LOG(DEBUG, "Creating OP-TEE node in dtb");
 
-    res = fdt_begin_node(fdt, "firmware");
-    if (res) return res;
-
     res = fdt_begin_node(fdt, "optee");
     if (res) return res;
 
@@ -655,9 +653,6 @@ static int make_optee_node(libxl__gc *gc, void *fdt)
     res = fdt_end_node(fdt);
     if (res) return res;
 
-    res = fdt_end_node(fdt);
-    if (res) return res;
-
     return 0;
 }
 
@@ -1191,10 +1186,9 @@ static int copy_node(libxl__gc *gc, void *fdt, void *pfdt,
     return 0;
 }
 
-static int copy_node_by_path(libxl__gc *gc, const char *path,
-                             void *fdt, void *pfdt)
+static int get_path_nodeoff(const char *path, void *pfdt)
 {
-    int nodeoff, r;
+    int nodeoff;
     const char *name = strrchr(path, '/');
 
     if (!name)
@@ -1214,12 +1208,277 @@ static int copy_node_by_path(libxl__gc *gc, const char *path,
     if (strcmp(fdt_get_name(pfdt, nodeoff, NULL), name))
         return -FDT_ERR_NOTFOUND;
 
+    return nodeoff;
+}
+
+static int copy_node_by_path(libxl__gc *gc, const char *path,
+                             void *fdt, void *pfdt)
+{
+    int nodeoff, r;
+
+    nodeoff = get_path_nodeoff(path, pfdt);
+    if (nodeoff < 0)
+        return nodeoff;
+
     r = copy_node(gc, fdt, pfdt, nodeoff, 0);
     if (r) return r;
 
     return 0;
 }
 
+static int map_sci_page(libxl__gc *gc, uint32_t domid, uint64_t paddr,
+                         uint64_t guest_addr)
+{
+    int ret;
+    uint64_t _paddr_pfn = paddr >> XC_PAGE_SHIFT;
+    uint64_t _guest_pfn = guest_addr >> XC_PAGE_SHIFT;
+
+    assert(paddr && guest_addr);
+    LOG(DEBUG, "[%d] mapping sci shmem page %"PRIx64, domid, _paddr_pfn);
+
+    ret = xc_domain_iomem_permission(CTX->xch, domid, _paddr_pfn, 1, 1);
+    if (ret < 0) {
+        LOG(ERROR,
+              "failed give domain access to iomem page %"PRIx64,
+             _paddr_pfn);
+        return ret;
+    }
+
+    ret = xc_domain_memory_mapping(CTX->xch, domid,
+                                   _guest_pfn, _paddr_pfn,
+                                   1, 1);
+    if (ret < 0) {
+        LOG(ERROR,
+              "failed to map to domain iomem page %"PRIx64
+              " to guest address %"PRIx64,
+              _paddr_pfn, _guest_pfn);
+        return ret;
+    }
+
+    return 0;
+}
+
+static int scmi_dt_make_shmem_node(libxl__gc *gc, void *fdt)
+{
+    int res;
+    char buf[64];
+
+    snprintf(buf, sizeof(buf), "scmi-shmem@%llx", GUEST_SCI_SHMEM_BASE);
+
+    res = fdt_begin_node(fdt, buf);
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "arm,scmi-shmem");
+    if (res) return res;
+
+    res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+                    GUEST_ROOT_SIZE_CELLS, 1,
+                    GUEST_SCI_SHMEM_BASE, GUEST_SCI_SHMEM_SIZE);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_SCMI);
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return 0;
+}
+
+static const char *name_from_path(const char *path)
+{
+    return strrchr(path, '/') + 1;
+}
+
+static int dt_copy_properties(libxl__gc *gc, void* fdt, void *xen_fdt,
+        const char *full_name)
+{
+    int propoff, nameoff, r, nodeoff;
+    const struct fdt_property *prop;
+
+    LOG(DEBUG, "Copy properties for node: %s", full_name);
+    nodeoff = get_path_nodeoff(full_name, xen_fdt);
+    if (nodeoff < 0)
+        return -FDT_ERR_NOTFOUND;
+
+    for (propoff = fdt_first_property_offset(xen_fdt, nodeoff);
+         propoff >= 0;
+         propoff = fdt_next_property_offset(xen_fdt, propoff)) {
+
+        if (!(prop = fdt_get_property_by_offset(xen_fdt, propoff, NULL)))
+            return -FDT_ERR_INTERNAL;
+
+        nameoff = fdt32_to_cpu(prop->nameoff);
+
+        /* Skipping phandle nodes in xen device-tree */
+        if (strcmp(fdt_string(xen_fdt,nameoff), "phandle") == 0 ||
+            strcmp(fdt_string(xen_fdt, nameoff), "linux,phandle") == 0)
+            continue;
+
+        r = fdt_property(fdt, fdt_string(xen_fdt, nameoff),
+                         prop->data, fdt32_to_cpu(prop->len));
+        if (r) return r;
+    }
+
+    return (propoff != -FDT_ERR_NOTFOUND)? propoff : 0;
+}
+
+static int scmi_dt_scan_node(libxl__gc *gc, void *fdt, void *pfdt,
+                             void *xen_fdt, int nodeoff)
+{
+    int rc;
+    int node_next;
+    char full_name[128];
+    uint32_t phandle;
+
+    node_next = fdt_first_subnode(pfdt, nodeoff);
+    while (node_next > 0)
+    {
+        LOG(ERROR,"Processing node %s",
+                fdt_get_name(pfdt, node_next, NULL));
+
+        phandle = fdt_get_phandle(pfdt, node_next);
+
+        rc = fdt_get_path(pfdt, node_next, full_name, sizeof(full_name));
+        if (rc) return rc;
+
+        rc = fdt_begin_node(fdt, name_from_path(full_name));
+        if (rc) return rc;
+
+        rc = dt_copy_properties(gc, fdt, xen_fdt, full_name);
+        if (rc) return rc;
+
+        if (phandle) {
+            rc = fdt_property_cell(fdt, "phandle", phandle);
+            if (rc) return rc;
+        }
+
+        rc = scmi_dt_scan_node(gc, fdt, pfdt, xen_fdt, node_next);
+        if (rc) return rc;
+
+        rc = fdt_end_node(fdt);
+        if (rc) return rc;
+
+        node_next = fdt_next_subnode(pfdt, node_next);
+    }
+
+    return 0;
+}
+
+static int scmi_hypfs_fdt_check(libxl__gc *gc, void *fdt)
+{
+    int r;
+
+    if (fdt_magic(fdt) != FDT_MAGIC) {
+         LOG(ERROR, "FDT is not a valid Flat Device Tree");
+         return ERROR_FAIL;
+     }
+
+     r = fdt_check_header(fdt);
+     if (r) {
+         LOG(ERROR, "Failed to check the FDT (%d)", r);
+         return ERROR_FAIL;
+     }
+
+     return r;
+}
+
+static int scmi_dt_copy_subnodes(libxl__gc *gc, void *fdt, void *pfdt)
+{
+    struct xenhypfs_handle *hdl;
+    struct xenhypfs_dirent *ent;
+    void *xen_fdt;
+    int rc, nodeoff;
+
+    hdl = xenhypfs_open(NULL, 0);
+    if (!hdl)
+        return -EINVAL;
+
+    xen_fdt = xenhypfs_read_raw(hdl, "/devicetree", &ent);
+    if (!xen_fdt) {
+        rc = errno;
+        LOG(ERROR, "Unable to read hypfs entry: %d", rc);
+        goto out;
+    }
+
+    rc = scmi_hypfs_fdt_check(gc, xen_fdt);
+    if (rc) {
+        LOG(ERROR, "Hypfs device tree is invalid");
+        goto out;
+    }
+
+    nodeoff = get_path_nodeoff("/firmware/scmi", pfdt);
+    if (nodeoff <= 0) {
+        rc = -ENODEV;
+        goto out;
+    }
+
+    rc = scmi_dt_scan_node(gc, fdt, pfdt, xen_fdt, nodeoff);
+
+out:
+    xenhypfs_close(hdl);
+
+    return rc;
+}
+
+static int scmi_dt_create_node(libxl__gc *gc, void *fdt, void *pfdt,
+                               uint32_t func_id)
+{
+    int rc = 0;
+
+    rc = fdt_begin_node(fdt, "scmi");
+    if (rc) return rc;
+
+    rc = fdt_property_compat(gc, fdt, 1, "arm,scmi-smc");
+    if (rc) return rc;
+
+    rc = fdt_property_cell(fdt, "shmem", GUEST_PHANDLE_SCMI);
+    if (rc) return rc;
+
+    rc = fdt_property_cell(fdt, "#addrets-cells", 1);
+    if (rc) return rc;
+
+    rc = fdt_property_cell(fdt, "#size-cells", 0);
+    if (rc) return rc;
+
+    rc = fdt_property_cell(fdt, "arm,smc-id", func_id);
+    if (rc) return rc;
+
+    rc = scmi_dt_copy_subnodes(gc, fdt, pfdt);
+    if (rc) return rc;
+
+    rc = fdt_end_node(fdt);
+    if (rc) return rc;
+
+    return rc;
+}
+
+static int make_firmware_node(libxl__gc *gc, void *fdt, void *pfdt, int tee,
+                              int sci, uint32_t func_id)
+{
+    int res;
+
+    if ((tee == LIBXL_TEE_TYPE_NONE) && (sci == LIBXL_ARM_SCI_TYPE_NONE))
+        return 0;
+
+    res = fdt_begin_node(fdt, "firmware");
+    if (res) return res;
+
+    if (tee == LIBXL_TEE_TYPE_OPTEE) {
+       res = make_optee_node(gc, fdt);
+       if (res) return res;
+    }
+
+    if (sci == LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT) {
+        res = scmi_dt_create_node(gc, fdt, pfdt, func_id);
+        if (res) return res;
+    }
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+    return 0;
+}
+
 /*
  * The partial device tree is not copied entirely. Only the relevant bits are
  * copied to the guest device tree:
@@ -1391,8 +1650,11 @@ next_resize:
         if (info->arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART)
             FDT( make_vpl011_uart_node(gc, fdt, ainfo, dom) );
 
-        if (info->tee == LIBXL_TEE_TYPE_OPTEE)
-            FDT( make_optee_node(gc, fdt) );
+        if (info->arm_sci.type == LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT)
+            FDT( scmi_dt_make_shmem_node(gc, fdt) );
+
+        FDT( make_firmware_node(gc, fdt, pfdt, info->tee, info->arm_sci.type,
+                state->arm_sci_agent_funcid) );
 
         if (d_config->num_pcidevs)
             FDT( make_vpci_node(gc, fdt, ainfo, dom) );
@@ -1671,6 +1933,16 @@ int libxl__arch_build_dom_finish(libxl__gc *gc,
 {
     int rc = 0, ret;
 
+    if (info->arm_sci.type == LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT) {
+        ret = map_sci_page(gc, dom->guest_domid, state->arm_sci_agent_paddr,
+                           GUEST_SCI_SHMEM_BASE);
+        if (ret < 0) {
+            LOG(ERROR, "map_sci_page failed\n");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
     if (info->arch_arm.vuart != LIBXL_VUART_TYPE_SBSA_UART) {
         rc = 0;
         goto out;
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index e03599ea99d1..ba26b9784838 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -813,6 +813,18 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
      */
     assert(libxl_domid_valid_guest(*domid));
 
+    if (d_config->b_info.arm_sci.type == LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT) {
+        ret = xc_domain_get_sci_info(ctx->xch, *domid, &state->arm_sci_agent_paddr,
+                &state->arm_sci_agent_funcid);
+        LOGD(DEBUG, *domid,"sci_agent_paddr = %lx", state->arm_sci_agent_paddr);
+        if (ret) {
+            LOGED(ERROR, *domid, "failed to get sci paddr");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+
+    }
+
     dom_path = libxl__xs_get_dompath(gc, *domid);
     if (!dom_path) {
         rc = ERROR_FAIL;
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index cfac8e18b6d3..349c89a938ca 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -1405,6 +1405,9 @@ typedef struct {
      * applicable to the primary domain, not support domains (e.g. stub QEMU). */
     bool restore;
     bool soft_reset;
+
+    uint64_t arm_sci_agent_paddr;
+    uint32_t arm_sci_agent_funcid;
 } libxl__domain_build_state;
 
 _hidden void libxl__domain_build_state_init(libxl__domain_build_state *s);
diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index 9d047065ba13..3ac77ea4d497 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -49,6 +49,17 @@ static int handle_vuart_init(struct domain *d,
     return rc;
 }
 
+static int get_sci_info(struct domain *d, struct xen_domctl_sci_info *sci_info)
+{
+#ifdef CONFIG_ARM_SCI
+    sci_info->paddr = d->arch.sci_channel.paddr;
+    sci_info->func_id = d->arch.sci_channel.guest_func_id;
+    return 0;
+#else
+    return -ENODEV;
+#endif
+}
+
 long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
                     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 {
@@ -179,6 +190,17 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
     }
     case XEN_DOMCTL_dt_overlay:
         return dt_overlay_domctl(d, &domctl->u.dt_overlay);
+
+    case XEN_DOMCTL_get_sci_info:
+    {
+        int rc = get_sci_info(d, &domctl->u.sci_info);
+
+        if ( !rc )
+            rc = copy_to_guest(u_domctl, domctl, 1);
+
+        return rc;
+    }
+
     default:
         return subarch_do_domctl(domctl, d, u_domctl);
     }
diff --git a/xen/arch/arm/firmware/scmi-smc-multiagent.c b/xen/arch/arm/firmware/scmi-smc-multiagent.c
index 293fb30fa6c5..c2f43d97d804 100644
--- a/xen/arch/arm/firmware/scmi-smc-multiagent.c
+++ b/xen/arch/arm/firmware/scmi-smc-multiagent.c
@@ -560,6 +560,8 @@ static int scmi_domain_init(struct domain *d,
 
     d->arch.sci_data = channel;
     d->arch.sci_enabled = true;
+    d->arch.sci_channel.paddr = channel->paddr;
+    d->arch.sci_channel.guest_func_id = channel->func_id;
 
     return 0;
 
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index fa0898b7cf80..511f4aa8ed8d 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -59,6 +59,11 @@ struct paging_domain {
     unsigned long p2m_total_pages;
 };
 
+struct sci_channel {
+    uint32_t guest_func_id;
+    uint64_t paddr;
+};
+
 struct arch_domain
 {
 #ifdef CONFIG_ARM_64
@@ -122,6 +127,7 @@ struct arch_domain
     bool sci_enabled;
     /* ARM SCI driver's specific data */
     void *sci_data;
+    struct sci_channel sci_channel;
 #endif
 
 }  __cacheline_aligned;
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 30e46de6d7a0..a5b22225bf31 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -469,6 +469,10 @@ typedef uint64_t xen_callback_t;
 #define GUEST_PL011_BASE    xen_mk_ullong(0x22000000)
 #define GUEST_PL011_SIZE    xen_mk_ullong(0x00001000)
 
+/* SCI mediator */
+#define GUEST_SCI_SHMEM_BASE xen_mk_ullong(0x22001000)
+#define GUEST_SCI_SHMEM_SIZE xen_mk_ullong(0x01000)
+
 /* Guest PCI-PCIe memory space where config space and BAR will be available.*/
 #define GUEST_VPCI_ADDR_TYPE_MEM            xen_mk_ullong(0x02000000)
 #define GUEST_VPCI_MEM_ADDR                 xen_mk_ullong(0x23000000)
diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/device_tree_defs.h
index 9e80d0499dc3..b8bdfcdcf0b9 100644
--- a/xen/include/public/device_tree_defs.h
+++ b/xen/include/public/device_tree_defs.h
@@ -14,6 +14,7 @@
  */
 #define GUEST_PHANDLE_GIC (65000)
 #define GUEST_PHANDLE_IOMMU (GUEST_PHANDLE_GIC + 1)
+#define GUEST_PHANDLE_SCMI (GUEST_PHANDLE_IOMMU + 1)
 
 #define GUEST_ROOT_ADDRESS_CELLS 2
 #define GUEST_ROOT_SIZE_CELLS 2
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index e2d392d1e5e5..6ef78c241f8c 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -1223,6 +1223,13 @@ struct xen_domctl_vmtrace_op {
 #define XEN_DOMCTL_vmtrace_get_option         5
 #define XEN_DOMCTL_vmtrace_set_option         6
 };
+
+/* XEN_DOMCTL_get_sci_info */
+struct xen_domctl_sci_info {
+    uint64_t paddr;
+    uint32_t func_id;
+};
+
 typedef struct xen_domctl_vmtrace_op xen_domctl_vmtrace_op_t;
 DEFINE_XEN_GUEST_HANDLE(xen_domctl_vmtrace_op_t);
 
@@ -1333,6 +1340,9 @@ struct xen_domctl {
 #define XEN_DOMCTL_dt_overlay                    87
 #define XEN_DOMCTL_gsi_permission                88
 #define XEN_DOMCTL_set_llc_colors                89
+
+#define XEN_DOMCTL_get_sci_info                  90
+
 #define XEN_DOMCTL_gdbsx_guestmemio            1000
 #define XEN_DOMCTL_gdbsx_pausevcpu             1001
 #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1400,6 +1410,7 @@ struct xen_domctl {
         struct xen_domctl_dt_overlay        dt_overlay;
 #endif
         struct xen_domctl_set_llc_colors    set_llc_colors;
+        struct xen_domctl_sci_info          sci_info;
         uint8_t                             pad[128];
     } u;
 };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:56:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:56:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907961.1315155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryDn-0000nK-0q; Tue, 11 Mar 2025 11:56:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907961.1315155; Tue, 11 Mar 2025 11: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 1tryDm-0000nD-U2; Tue, 11 Mar 2025 11:56:30 +0000
Received: by outflank-mailman (input) for mailman id 907961;
 Tue, 11 Mar 2025 11: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=1WQE=V6=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1trxbS-00061U-VN
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:16:54 +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 55919bee-fe6a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:16:52 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-549967c72bcso3886836e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:16:52 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-74.141.223.85.sovam.net.ua.
 [85.223.141.74]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5498ae45fa8sm1755729e87.52.2025.03.11.04.16.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 04:16: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: 55919bee-fe6a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741691812; x=1742296612; 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=/wR0JYxxte1bhZ8sh6yCrPXhqI+ZP9qFcPRuW8qo1VM=;
        b=VRIxBeqnnSnOMqrsVvtW87EAOkAaj8ai0xFDS3Hez5Z01U6CENTNVfCIus4YXyQOJf
         sRPDygVn/LO+a38q6tab9l5W99RY1f5BamezobjjIVJ4Pnlsqr8mWOHp7nJWR/64C9cr
         PNGOH6Q94RzZfHoFL1mdbbEuTzmyYygmmkPQAWtr5bFKfSoXtLCG21G8p+ZXSrzsqAHU
         CtnrYjsVa8wAOp+ADXrgNxLVe2NAKHVITL+//wWT1z0q9lI1z+5awIuDr9zyCP4aXufQ
         Ex/PMgP5+E6yIFkpc53K/JW/QBu/QrTpZBpE1vmFptRVRtDiTAgnIvHH4j+SIHOx8Rsq
         W6xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741691812; x=1742296612;
        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=/wR0JYxxte1bhZ8sh6yCrPXhqI+ZP9qFcPRuW8qo1VM=;
        b=RDkliEj7AOjan9O/ARRtlk7bkTklsbPxlmEEwQoSYg7Dlhtpom9Uv3wFpq7uLA3OIa
         Fl5VlEI38y13yDIiJHFiXZ9et0ROudchtnDbIVIzBArdp9dbh807mFDifh039R3lu12/
         VvFTtPtJQgpmIbVDs+dT534J0HwzHYRlL0l7lKpITGKYWgTU1+UzaRt5yKlD6t7o/76I
         rscqwRotdhZzHsUi0WOrhVrZNmPXHkH9HVH0MxMEqSN/8znTfO/ZTF8DOZ3+Xu8dARZ2
         miq9navycPVbiPHWcK9px8l45zYTgnhW0MrcxCEDg77r1fPdMAlVJzYOdSyFotHHN6qm
         uvVg==
X-Gm-Message-State: AOJu0YxnKcypI23fRi9gt2y7zd8vtSYOCBDQ6BrkhAKp1P7WpxPyadB0
	aLU1LfNx0AAf31P8pvo/Q7aGGv1hbM/uGKaSI8eREgrKm5dC/vpQOM9eSQ==
X-Gm-Gg: ASbGnctVCO1RFCpTdz+bERLs+LOOXfxp4QSymzpjBwvw1GGqQUHaTyt7DCBbieiE1cl
	JwcoKhL7xe9La6tcEj1ksFFKnKdcLoDuV5vjZ+bByJvkOmhCxAxEJ5kGrRumwR8CtKdmXKs1ZN1
	4xRaSo8gyuFIOAJA4rZtM8lr3B9uvdiK4tCW8qz5cShZ3GtLv8o1DXYAppmQ+raYKros1WBfzDB
	IAv97IIn6NeV0yaqlLBLrxjOt2b4lw7VWSuFWx1HulffdNwCzj3+FhXGl1LC4PVVFe241OecKhy
	Lv7pNY1xkn7TBzTpHXqybr/xM8wmGofu2uFcnBXdFj0UdD1kFW73QCoHO7GJImFiFKdfy30oK6n
	yiDQH3JAaRyEy2sdPO8zGmhppwhJVG9ju/jraLw==
X-Google-Smtp-Source: AGHT+IG26J7NKqoiAtVdI7Uj/LA73Tb1+MkPu25XYvQn8u3Jxdn5WZsSviRv1ozk/kK+Fu6pEBCesQ==
X-Received: by 2002:a05:6512:b14:b0:545:c89:2bc9 with SMTP id 2adb3069b0e04-549910cb4a9mr6523148e87.43.1741691807076;
        Tue, 11 Mar 2025 04:16:47 -0700 (PDT)
From: Grygorii Strashko <gragst.linux@gmail.com>
X-Google-Original-From: Grygorii Strashko <grygorii_strashko@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH v3 6/7] xen/arm: Export host device-tree to hypfs
Date: Tue, 11 Mar 2025 13:16:17 +0200
Message-Id: <20250311111618.1850927-7-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>

If enabled, host device-tree will be exported to hypfs and can be
accessed through /devicetree path.
Exported device-tree has the same format, as the device-tree
exported to the sysfs by the Linux kernel.
This is useful when XEN toolstack needs an access to the host device-tree.

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
---
 xen/arch/arm/Kconfig           | 16 ++++++++++++++++
 xen/arch/arm/Makefile          |  1 +
 xen/arch/arm/host_dtb_export.c | 28 ++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+)
 create mode 100644 xen/arch/arm/host_dtb_export.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a26d3e11827c..fa51244e2706 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -125,6 +125,22 @@ config DOM0LESS_BOOT
 	  Xen boot without the need of a control domain (Dom0), which could be
 	  present anyway.
 
+config HOST_DTB_EXPORT
+	bool "Export host device tree to hypfs if enabled"
+	depends on ARM && HYPFS && !ACPI
+	help
+
+	  Export host device-tree to hypfs so toolstack can have an access for the
+	  host device tree from Dom0. If you unsure say N.
+
+config HOST_DTB_MAX_SIZE
+	int "Max host dtb export size"
+	depends on HOST_DTB_EXPORT
+	default 8192
+	help
+
+	  Maximum size of the host device-tree exported to hypfs.
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 43ab5e8f2550..1518592deb64 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -20,6 +20,7 @@ obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-y += domctl.o
+obj-$(CONFIG_HOST_DTB_EXPORT) += host_dtb_export.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
diff --git a/xen/arch/arm/host_dtb_export.c b/xen/arch/arm/host_dtb_export.c
new file mode 100644
index 000000000000..c9beb2803883
--- /dev/null
+++ b/xen/arch/arm/host_dtb_export.c
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Export host FDT to the hypfs
+ *
+ * Copyright (C) 2024 EPAM Systems
+ */
+
+#include <xen/device_tree.h>
+#include <xen/hypfs.h>
+#include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
+
+static HYPFS_VARSIZE_INIT(dt_prop, XEN_HYPFS_TYPE_BLOB,
+        "devicetree", CONFIG_HOST_DTB_MAX_SIZE,
+        &hypfs_leaf_ro_funcs);
+
+static int __init host_dtb_export_init(void)
+{
+    ASSERT(dt_host && (dt_host->sibling == NULL));
+
+    dt_prop.u.content = device_tree_flattened;
+    dt_prop.e.size = fdt_totalsize(device_tree_flattened);
+    hypfs_add_leaf(&hypfs_root, &dt_prop, true);
+
+    return 0;
+}
+
+__initcall(host_dtb_export_init);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 11:59:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 11:59:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.907993.1315165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryGd-0002wm-Ea; Tue, 11 Mar 2025 11:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 907993.1315165; Tue, 11 Mar 2025 11:59: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 1tryGd-0002wf-Bz; Tue, 11 Mar 2025 11:59:27 +0000
Received: by outflank-mailman (input) for mailman id 907993;
 Tue, 11 Mar 2025 11:59: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tryGc-0002wZ-F4
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 11:59:26 +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 4657556d-fe70-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 12:59:24 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-38f403edb4eso2930745f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 04:59: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-3912c01cd31sm18004294f8f.52.2025.03.11.04.59.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 04:59: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: 4657556d-fe70-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741694364; x=1742299164; 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=hERjAomuy6L7tseKyGREGYCTqyHWIvjuFAPqa/xMCh4=;
        b=QdKAwQxx2Yz4Vgu+nHDnuhpRRl7yZZr9Y6avtw5Zii/ILqbGN27aBNJM94KOwaVejZ
         pUTgx+M4vwwd+GvHd3LSSV7nDY6mtfGsac+D0COyqCkCYb+ONnJNZfvq56og4UcnkB96
         jesbOBW7i4aaV875q7jZcAxf/q8l0BJi4ZQLau3MMwxi7VcBRaeruoxkmfdnysFbI0vz
         /di662gw7JjB7vCTzScPlLz+L8pkXU/xJjsRXK2b1r0bfKPdYtgJ8ep7duyY15f+1luu
         EAQ08UroXb9C/kHc+cw0iRz83h6xcgErXdSydH851WoUkAMlwMPilYGH/kwckcrd+7td
         S2qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741694364; x=1742299164;
        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=hERjAomuy6L7tseKyGREGYCTqyHWIvjuFAPqa/xMCh4=;
        b=lMoYsvMuxteen/QvvZ7fwzNerRD0tFPslNJe2KSrgmGjGpRl3BWsb9SR9RZExvI0av
         qBxhq2KShR5GvbK2XKTfixeTwrIyMN6FljYqe1SQT/4jTQTlgCqKebRCmKS+tjJbo2LB
         //kGwIadANxicy8FH5FL1K+XZvM79fCIHlgCpWLeumEXusYk0aoTi4BVgfFadj1FEu/h
         p+6uXazaBYByCCc/hzEDFu9UwnUaB5pUiNxHL2ugO7Y1JvPXdgrc9Bl0F9N+7fwXEKcp
         Sq0lhuQsEkplLlGm644uhw6rQXzzOOZ+Tki2IXm+IODjnG6jtXGqPZcWpxl/dz4gYnXJ
         gKRQ==
X-Forwarded-Encrypted: i=1; AJvYcCUiPvmmeL4bHCQkWcxE9ff/L53I30ZrRmvQr0K1MaHMQeIFn2D4xXolYxxEpOyKQZ/Dlhyvk2DgssE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcHeuLfttclQqi5fQ5RcR/PmFKglQZ2zRlbKHhZ7GpWs8fcLsn
	/iE8jP7vhVntBDC3qZoRo1lybIM3EKG+up5s0wosiblmZpJKtGjQONajB4Kmlw==
X-Gm-Gg: ASbGnctmmr3EO5drAlctR4TSte+dJ57u+9cOPGX9NOwMyP3rYE0gQVGhmo+fli9Oun5
	2sV9Wpp7OHUN581H1kLOCwjGD8KvzsHAjFhgWIUwVjymA0/sGOAg2e8q7awyXkBZcftVfsxaoFQ
	8GOMeNnPDEU6Kk3LIsCXQcSm/TloKk9D3Ulw+48PNtTlRsFA7CcOfSRM1+j+RqhD1Ug6czeeQ+Z
	zt0WkFvh367tsUOh51QVgDiRRU7qw3SsTK8H35GVEDWTouxta3r/hjshcpdIfaGHzVzKaYdE/fh
	6/SPMVDGiuere+oULKRCJtqFN2Fx+D5jmC915DWkSNQA7YP/ks6flEDccRe3M19x4j5tNsSCGZB
	kJpfAfj0kUBGIFL8QWb6gvSPcBJdFBw==
X-Google-Smtp-Source: AGHT+IF/+zvCgqnz54MKha9rjmWTbzhz7I+uiHmK9RnlJizGEWHlGU5FUJEMNKwCgNAD9dFNBaWh/g==
X-Received: by 2002:a5d:6d8a:0:b0:390:e655:f998 with SMTP id ffacd0b85a97d-39132d6f17bmr13936800f8f.26.1741694363716;
        Tue, 11 Mar 2025 04:59:23 -0700 (PDT)
Message-ID: <ebef450c-280e-43a4-9a48-e4d1f754ba03@suse.com>
Date: Tue, 11 Mar 2025 12:59:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/3] xen: mem_access: conditionally compile vm_event.c
 & monitor.c
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 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>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
 <e37da57b94fd3bd4f314e6fbd7b6b94aee4b4607.1741687645.git.Sergiy_Kibrik@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: <e37da57b94fd3bd4f314e6fbd7b6b94aee4b4607.1741687645.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 11:27, Sergiy Kibrik wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Extend coverage of CONFIG_VM_EVENT option and make the build of VM events
> and monitoring support optional. Also make MEM_PAGING option depend on VM_EVENT
> to document that mem_paging is relying on vm_event.
> This is to reduce code size on Arm when this option isn't enabled.
> 
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Tamas K Lengyel <tamas@tklengyel.com>
> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Please can tags be kept in chronological order? It's impossible to review
a patch that wasn't first signed-off on by the author(s).

> ---
> changes in v3:
>  - add dependency MEM_PAGING -> VM_EVENT
>  - monitor_domctl() stub returns -EOPNOTSUPP

Seeing this, i.e. ...

> --- a/xen/include/xen/monitor.h
> +++ b/xen/include/xen/monitor.h
> @@ -27,8 +27,17 @@
>  struct domain;
>  struct xen_domctl_monitor_op;
>  
> +#ifdef CONFIG_VM_EVENT
>  int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop);
>  void monitor_guest_request(void);
> +#else
> +static inline int monitor_domctl(struct domain *d,
> +                                 struct xen_domctl_monitor_op *mop)
> +{
> +    return -EOPNOTSUPP;

... this, why ...

> @@ -88,7 +85,18 @@ void vm_event_cancel_slot(struct domain *d, struct vm_event_domain *ved);
>  void vm_event_put_request(struct domain *d, struct vm_event_domain *ved,
>                            vm_event_request_t *req);
>  
> +#ifdef CONFIG_VM_EVENT
> +/* Clean up on domain destruction */
> +void vm_event_cleanup(struct domain *d);
>  int vm_event_domctl(struct domain *d, struct xen_domctl_vm_event_op *vec);
> +#else
> +static inline void vm_event_cleanup(struct domain *d) {}
> +static inline int vm_event_domctl(struct domain *d,
> +                                  struct xen_domctl_vm_event_op *vec)
> +{
> +    return -EINVAL;

... is it EINVAL here?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:01:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908005.1315175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryIO-0004mQ-UQ; Tue, 11 Mar 2025 12:01:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908005.1315175; Tue, 11 Mar 2025 12:01: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 1tryIO-0004mJ-Qt; Tue, 11 Mar 2025 12:01:16 +0000
Received: by outflank-mailman (input) for mailman id 908005;
 Tue, 11 Mar 2025 12:01: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tryIO-0004mC-3c
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 12:01:16 +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 87cf5d88-fe70-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 13:01:14 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4394a823036so45643725e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:01: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
 5b1f17b1804b1-43cf279a1ffsm84110395e9.39.2025.03.11.05.01.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 05:01: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: 87cf5d88-fe70-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741694473; x=1742299273; 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=Zl6n5xOacHuvpmSQimiKC2F3O5KK6ryJGO7gWHZHhl4=;
        b=dsUKx728OQrBdLzhWYZ2BQDYTaD/HXgz9rpcmmsTz1qbkV5irpTx4u+i8aohIDgxtu
         FlJOW4V/cmvLgWecoVPdVBkXWQRO3b0iotm+0caONT7fP0btnFCQ+0ZuywU+/KQcW1Ga
         bKFmiMZr9GzzXk2/eqm1OcKpDIvw3jg/B4uyekE01JJt+NmsWKOkN6YP41pJ5xJBv6K1
         e0qhYoI83g6iM8q2v4VrcBkLfenZXeGuzUe+vIx6+e9NORmBs1THTUgYkejGjpioiLE8
         KfOr4eAuJYUvjhEoXVLPV2uId7Qf7DWW0y71MlfPnf6DB7EEvYBVLnm2tjvwN8GluiJC
         84kQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741694473; x=1742299273;
        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=Zl6n5xOacHuvpmSQimiKC2F3O5KK6ryJGO7gWHZHhl4=;
        b=gVOqNuWSg74+8KX872PJC8SS0aODbv9iXcJqSw+Z4ou76BFI4gTwREGY5qeAsLhi/Q
         l92xrWSp3xySrsiWkBnGimi4EiJi51dCCubWQ/ucCEF++T9ruetX8WH/o8f0COYuyjKJ
         XhlDpAwQvx+D5Tjv/e6Ef0UKwJ7EAIZKMW1F2jYMazQ6VDsRgqdLznn51nTrW2UdVvwx
         t/PTMTq9ZwZc20kPGCDotiQ818wW0Pw+j70xDqJoH+tQvbXTX47xvW2CjaLmOjJgc3BG
         mhNz480v3DJ0RPe45HAn3dlFWoel8vsSQWhJd2v0swwWKgR3RCmhdm69vPDxyQksRYt/
         0fNQ==
X-Forwarded-Encrypted: i=1; AJvYcCW4OKp+cA+jWNSRIA1HnMlhw5ZBXJPCJJyb+1OQ3nDbNmlktMm/WTY1ZAoXCCpJclo1Eey7h7K8OcA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIOYrrPpxHmzEUSM6EO1q87L1gwpW/fZw/I+Wft/b6u9yy+afv
	D2as7B0kipKsTSP9WJEW+Ux+Kz5/4RUvHLXe8f1Lxat/M8cAdKDG9fGI7iFucw==
X-Gm-Gg: ASbGncuWMPCtYHowtSoghzsVFl7xOIQAawei3FEeSCAhgr0ohjXM2fxKD/skCF0HalF
	b4IyH0DJ/S/z4L5OLY4BZPUhDfYLyznAEiQ1FFbAmqwlH1597JpkZ53IHRCD2EMgw1bpmoaz8wh
	I1k5d7/JCjhHhmndqll/sZBv2gzLAZe3b9wO3HUsRzqlLZHQzWPqo+DuRzEYLumij/PDmoCtCRR
	sLNSqOm12EjZee4MKyup2xTmSbL3GYCGK87mf7ku0dgpChFlsqVtJTjpmUjEVZ05c5LzXPB73X+
	NYSBcQXRU6qFM1GaWDEktkpE96AJjwSmDiPaOURRlxtxpt2pQKVqcH/8KAoWyGpj/vS7P+W6tQ6
	AUR5cHx8kFPPCqXuZna+tYOjZRClLNw==
X-Google-Smtp-Source: AGHT+IGLOoMKoeisVkocYdGNAZNHiCcunKHrpM6wa0JSXS4/Q6WxL0OeIb7NY0IGem0iZy1TONV3nw==
X-Received: by 2002:a05:600c:46cb:b0:43c:f470:7605 with SMTP id 5b1f17b1804b1-43d01bdd4a4mr46418275e9.12.1741694473446;
        Tue, 11 Mar 2025 05:01:13 -0700 (PDT)
Message-ID: <16cb9d3c-c02e-487b-9982-466f0e2f0c41@suse.com>
Date: Tue, 11 Mar 2025 13:01:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/3] xen: kconfig: rename MEM_ACCESS -> VM_EVENT
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Doug Goldstein <cardoe@cardoe.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
 <8d35ec8373b65bca2fe471eac7a17cb2a98db3fc.1741687645.git.Sergiy_Kibrik@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: <8d35ec8373b65bca2fe471eac7a17cb2a98db3fc.1741687645.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 11:23, Sergiy Kibrik wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -92,7 +92,7 @@ config HAS_VMAP
>  config MEM_ACCESS_ALWAYS_ON
>  	bool
>  
> -config MEM_ACCESS
> +config VM_EVENT
>  	def_bool MEM_ACCESS_ALWAYS_ON
>  	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
>  	depends on HVM

I still don't see why we would then stick to MEM_ACCESS_ALWAYS_ON as a name
for the sibling option.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:07:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:07:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908021.1315194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryO7-0005o5-Nc; Tue, 11 Mar 2025 12:07:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908021.1315194; Tue, 11 Mar 2025 12:07: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 1tryO7-0005ny-L1; Tue, 11 Mar 2025 12:07:11 +0000
Received: by outflank-mailman (input) for mailman id 908021;
 Tue, 11 Mar 2025 12:07: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tryO6-0005a1-Du
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 12:07:10 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ab14304-fe71-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 13:07:08 +0100 (CET)
Received: by mail-pj1-x102e.google.com with SMTP id
 98e67ed59e1d1-300f92661fcso2269130a91.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:07:08 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-2ff4e773dddsm11737657a91.12.2025.03.11.05.07.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 05: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: 5ab14304-fe71-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741694827; x=1742299627; 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=4jErcxw8hXwlteixzxl0LBLAgfAmaGdNXQV4dueoQeA=;
        b=mxmuypI8V+xpxTKO2mU0bpCyRDtODasePgLM5GBEHR4r+3SIVF0QS4nBObVFehvGzU
         Ni/FqKv49n1iMfmy3wWOqi3edQcMit3mGANDmxA7lBGMIIVw0z8uTdcFy3CPpfNqqm6b
         U01qZnL4oej+xZluhA6CtlM9uzlVjR8vBvP4M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741694827; x=1742299627;
        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=4jErcxw8hXwlteixzxl0LBLAgfAmaGdNXQV4dueoQeA=;
        b=hFNRSyvw5rw82+uoWzMS7cN2Y9dM0mqSCkbpu5Btqm9q8wi6eta85QN4GVlKRgSorz
         MwGWRGhMRXb0gQcpU+CIyv2xVLZqqaxyBeXajNZ+Vf1ia1++giLnbDTp0KTXYCvwLcz6
         hTGJSC7DZntDtURyITyFoILuZzNA36+4M5/L5DELY4PaJ8vYhEwk1W0aw+BZ0IK/g0J0
         AOegbtdJx/lM5VvXiIodBMVgg93kSnHUcR9gysXiOtDfchf6b85l3ySHNpoEavEGxmp0
         dPvtT4HoH6+Ck2i3mQh6Ln56iJqOaWSFTuPmz5v6B1a4NFZUiG4mxz7iCfExAbEMPJ8N
         t1bw==
X-Gm-Message-State: AOJu0Yx4N3xhyFK7MLDC83lr7/TBLIeBRuPhs7SBjO+aIp3aV0PQqRDA
	RCCMr78rLTaLHijtRE+thQY/X1pk5lfqqfWmXdZd4+YV2S/CkwEphgEYRd3WNWdmvTRINcRlr1/
	B
X-Gm-Gg: ASbGncvqMkPyazv86oZy7rPPFtn5YhNN9ijtGGOwZttNKwHkg/CgW7tWsf2en6arVJW
	FfvMCs7KnnQRhlwX0P0jGw0BQXs70V9ojfeHNfbxknB7/phjtZUkHknIMRlo00h1iye7yuIsLaT
	BqWAf4pXyq1Uzokp1lSaAs6Z6P8Dcb9iwMzIc2lFNgT2Y/LteuWZXs+A3rb2oxp651H4NzkdMwu
	/JnE5b6398pFuhl3KG6A8kkSHSYE9MIS/tc4IjckijPcT/m0jiNW2Jc+f7u8IY8X8lREuTpkev+
	8SWvS0oHNaGnEXNQlwumNq/VDpid8bg4po/vWwSJoyXNWnjOKL04KTI=
X-Google-Smtp-Source: AGHT+IEckJW2JtOIBmxT4Hmkwecoki/J7UEiV+z216vrUg+iTQcfRhZ/wdd465edtUY+ZOJlGiV+rg==
X-Received: by 2002:a17:90a:d605:b0:2ee:db8a:2a01 with SMTP id 98e67ed59e1d1-2ff7cf128cdmr24469073a91.30.1741694826779;
        Tue, 11 Mar 2025 05:07:06 -0700 (PDT)
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 v4 1/3] x86/vmx: fix posted interrupts usage of msi_desc->msg field
Date: Tue, 11 Mar 2025 13:06:50 +0100
Message-ID: <20250311120652.61366-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311120652.61366-1-roger.pau@citrix.com>
References: <20250311120652.61366-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current usage of msi_desc->msg in vmx_pi_update_irte() will make the
field contain a translated MSI message, instead of the expected
untranslated one.  This breaks dump_msi(), that use the data in
msi_desc->msg to print the interrupt details.

Fix this by introducing a dummy local msi_msg, and use it with
iommu_update_ire_from_msi().  vmx_pi_update_irte() relies on the MSI
message not changing, so there's no need to propagate the resulting msi_msg
to the hardware, and the contents can be ignored.

Fixes: a5e25908d18d ('VT-d: introduce new fields in msi_desc to track binding with guest interrupt')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v3:
 - New in this version.
---
 xen/arch/x86/hvm/vmx/vmx.c     | 9 ++++++++-
 xen/arch/x86/include/asm/msi.h | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 0241303b4bf4..c407513af624 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -396,6 +396,13 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
     const struct pi_desc *pi_desc = v ? &v->arch.hvm.vmx.pi_desc : NULL;
     struct irq_desc *desc;
     struct msi_desc *msi_desc;
+    /*
+     * vmx_pi_update_irte() relies on the IRTE already being setup, and just
+     * updates the guest vector, but not the other IRTE fields.  As such the
+     * contents of msg are not consumed by iommu_update_ire_from_msi().  Even
+     * if not consumed, zero the contents to avoid possible stack leaks.
+     */
+    struct msi_msg msg = {};
     int rc;
 
     desc = pirq_spin_lock_irq_desc(pirq, NULL);
@@ -415,7 +422,7 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
 
     ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
 
-    return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
+    return iommu_update_ire_from_msi(msi_desc, &msg);
 
  unlock_out:
     spin_unlock_irq(&desc->lock);
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index 378b85ee947b..975d0f26b35d 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -124,7 +124,7 @@ struct msi_desc {
     int irq;
     int remap_index;         /* index in interrupt remapping table */
 
-    struct msi_msg msg;      /* Last set MSI message */
+    struct msi_msg msg;      /* Last set MSI message (untranslated) */
 };
 
 /*
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:07:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:07:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908020.1315185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryO6-0005aI-HN; Tue, 11 Mar 2025 12:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908020.1315185; Tue, 11 Mar 2025 12:07: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 1tryO6-0005a7-EU; Tue, 11 Mar 2025 12:07:10 +0000
Received: by outflank-mailman (input) for mailman id 908020;
 Tue, 11 Mar 2025 12:07: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tryO4-0005a1-T9
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 12:07:08 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57903bae-fe71-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 13:07:03 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-223a7065ff8so4184405ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:07:03 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-22410aa8b83sm95765925ad.241.2025.03.11.05.06.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 05: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: 57903bae-fe71-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741694821; x=1742299621; 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=t4y83HIIB3mMQLsS32XTY2zN9q/797IMVEGVxmTtEcw=;
        b=VVFtbQfErdG5Lnu1XCCrLdxLRCnJeRChAMtXCQ+JY8X4JEGGQfsCT7NbMMb+cuaxAt
         Af55qsTDD/Irn04QNUtWxmYXUHknq0UXBsLuGVH313TxTwAxlHwdRUr+xeh4msLgVSmy
         Jy1xfYevQZQ+JsvEamI3wXCEj3ifZHrRCgoCE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741694821; x=1742299621;
        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=t4y83HIIB3mMQLsS32XTY2zN9q/797IMVEGVxmTtEcw=;
        b=vcEbLtFgLCg60cEuPUtpH4zN5me9xY0+YXG5Xcn0l1SlN2gRV08YVfSajsNcxF3UNM
         XnbU1hZjR3xZxUB2E/loSNpFOjcx4MOw6qlj6nUVqcj0LIgOgduG1Lj/D4TrkVMkSGRJ
         54NpSjVK61F6VP0iFG7oMlRl1N0zcIwCdS1Sw4Tr8fNlRc0CfyZ2OLPsOhnAbsHFZ6zQ
         Z9YcArDSidD45quvI0212oFXpVJyQ9MoULWMSFZR4jVPDwRSJXtouqk1fcDqH5r5RNhh
         0TAkrbWiEKj+KeTe5gXS6sDbBFNVxyXNp3QfMK6HQ+LQ1qWI/dP/5jwztr2ma6zXqBJq
         90pw==
X-Gm-Message-State: AOJu0YwTSg+9f+jURabXxB0iepMA4zWKNQJbbWbNuL6t6Och7DvaAa1p
	dH2k3kSpWXsAJ4EikxrIWgvi9hy1WAJWXDf07l2a4dpW35lmGQwKBnZrPqd4+/KNVD60D29Lrma
	h
X-Gm-Gg: ASbGncspfYetSuvE6LgEPhO03Cl3AE4qvl13ZQxOwSzBWSOX2QFKCHI9x9HGvj3BOQh
	OBzA6DzlQOMtA3y2klyfXWCgx8ja0rqIkFR4x1CTITwpc9DDUhNO/xL+HXHi3Q8Vs+slGXj4P4e
	uAcUl9glK/+g62NKuH3HpSzdmN0yyLhOeuG0Wmet4Zn0yOsJ9402OwXeZ13CGJWPzbD6keq+LeR
	rck2d9VIlQjc+zhvJBGPRMjdf0i9xodPmKaaPxEJQfRC5WwT0ClEFuiJLWTqa8uJ0cEivUqW+BK
	oprWI/acvU/uDx+Z3q+KTI3JUheSoh/BB8GPZMNBchSKqBj4/loedoQ=
X-Google-Smtp-Source: AGHT+IG7kexaPwSjg1r85EBBfAulHDp473EZw8sSzI5+X7MB9NxcylaxuLaol60b2UYOLehD0wMLuA==
X-Received: by 2002:a17:902:f686:b0:224:5a8:ba29 with SMTP id d9443c01a7336-22428ad1f1dmr268339265ad.43.1741694821021;
        Tue, 11 Mar 2025 05:07:01 -0700 (PDT)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v4 0/3] x86/pci: reduce PCI accesses
Date: Tue, 11 Mar 2025 13:06:49 +0100
Message-ID: <20250311120652.61366-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Patches 1 and 2 are new bugfixes in this version.  Patch 3 is still
mostly as v3, just with the extra logic to ensure vmx_pi_update_irte()
correctness.

Thanks, Roger.

Roger Pau Monne (3):
  x86/vmx: fix posted interrupts usage of msi_desc->msg field
  x86/hvm: check return code of hvm_pi_update_irte when binding
  x86/iommu: avoid MSI address and data writes if IRT index hasn't
    changed

 xen/arch/x86/hpet.c                      |  6 +++++-
 xen/arch/x86/hvm/vmx/vmx.c               | 20 +++++++++++++++++++-
 xen/arch/x86/include/asm/msi.h           |  2 +-
 xen/arch/x86/msi.c                       | 11 ++++++-----
 xen/drivers/passthrough/amd/iommu_intr.c |  4 ++--
 xen/drivers/passthrough/vtd/intremap.c   |  4 +++-
 xen/drivers/passthrough/x86/hvm.c        | 10 +++++++++-
 xen/include/xen/iommu.h                  |  6 ++++++
 8 files changed, 51 insertions(+), 12 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:07:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908022.1315206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryOD-00065N-2p; Tue, 11 Mar 2025 12:07:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908022.1315206; Tue, 11 Mar 2025 12: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 1tryOC-00065E-Sr; Tue, 11 Mar 2025 12:07:16 +0000
Received: by outflank-mailman (input) for mailman id 908022;
 Tue, 11 Mar 2025 12:07: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tryOC-000646-3w
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 12:07:16 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e034700-fe71-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 13:07:14 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-22401f4d35aso94273635ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:07:14 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-736cbe3fb3fsm5116665b3a.83.2025.03.11.05.07.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 05:07: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: 5e034700-fe71-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741694832; x=1742299632; 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=JTL0ZfXPTekNOVwpdMmR6t4znYMHoG7CKcBB5SY41+I=;
        b=V/ZJpDsvgg0iOpKUsy3j9Bi6qJdmVYGFjt98zK9G3Q6RiZFLjL2CF9ezQSU0Aqg5b/
         HspOFSiDx9DmAAYBGhUrR3AeLIlBv+gpAvp5O9ZYVbCWYZ2GLOG3Oo0LqsO40Lvu/eW4
         Q4e8tw0sNaniGan7lpLOezkBwa9F4/3HxE4X0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741694832; x=1742299632;
        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=JTL0ZfXPTekNOVwpdMmR6t4znYMHoG7CKcBB5SY41+I=;
        b=IEG/nMHWlfdbdO1gGV3W3KWvm7vobhp+IK0VDaWDvrElPUmNB22nl1Jau/CTh5mjUp
         q9etcBdN83hLn86s3Zh6lRyoGUtELBENky25UZZwJDri55I2J4Q2d3mOYrckSzZs5tFT
         vCkjHR/f7ISa4ltIgUJGI0x9TB7Gpy9mCA2EOt9nUqDQIjIYkJxapJKN//ne0Orlf5xb
         ySrNH7yxclv9WhzdniQwe303smGka6ffi7pWsnzj8MxM66DYXrVTiJjU+wvKWrkjWqsJ
         Q1hxljkpq30Pyf554TgarB9pHfuzrRWhNTILpzRNswd5yRr7nqPOyo5JXxjc48FA0QzR
         aYZQ==
X-Gm-Message-State: AOJu0Yx9r2WStf/7UMrZ4tZR5O/iazBkhpifMzXINybQw/L+XcIHp4pE
	9TkhQTP0Bytz943gk7WzqowEUdQ6ksKG7It0d7UjvhkB3sDxQ168Ds+JBPvJq3/1n7sSg02IYzB
	T
X-Gm-Gg: ASbGnct0ZNFzDLjNH6T4t0t4W3EMLm7SfgpFC499o5g5/wDceTi7pB/j+BxphOXTVHm
	Ie9QEHF5SVH8JTdB9+hivQ1iU08r1oc2vSIKFihP8dA6jRE+QlA6T7ZbEbfTI0hojrHrBJJA+C6
	r5SnK7n3HLmsT8B5hXWeJrTY9hsfCJGmaosKRfPcRQm0XQagbD3gjW36NPbnq+2M5d/FbQpsYgm
	CQInig7eC7k4JZYMGStdETio8VkkG2Jc87bLWggGxZbdk4tdQWqxKRpjdBW6yIAq3JumjajUxcx
	2OXi9cb80do9kl4owZgBbG2sX0eCAecR/txRxQL8hioFGMvMpVvpTg0=
X-Google-Smtp-Source: AGHT+IF84n5Crz4rbJ97n8u9t0N/OS3tqDTWlQm9iV1Ar93eP3SlCpQjtGofhTyf01f6SjEMXq3r0w==
X-Received: by 2002:a05:6a00:244e:b0:730:9801:d3e2 with SMTP id d2e1a72fcca58-736eb7d87f5mr5847293b3a.8.1741694831988;
        Tue, 11 Mar 2025 05:07:11 -0700 (PDT)
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>
Subject: [PATCH v4 2/3] x86/hvm: check return code of hvm_pi_update_irte when binding
Date: Tue, 11 Mar 2025 13:06:51 +0100
Message-ID: <20250311120652.61366-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311120652.61366-1-roger.pau@citrix.com>
References: <20250311120652.61366-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Consume the return code from hvm_pi_update_irte(), and propagate the error
back to the caller if hvm_pi_update_irte() fails.

Fixes: 35a1caf8b6b5 ('pass-through: update IRTE according to guest interrupt config changes')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v3:
 - New in this version.
---
 xen/drivers/passthrough/x86/hvm.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x86/hvm.c
index f5faff7a499a..47de6953fdf8 100644
--- a/xen/drivers/passthrough/x86/hvm.c
+++ b/xen/drivers/passthrough/x86/hvm.c
@@ -381,7 +381,15 @@ int pt_irq_create_bind(
 
         /* Use interrupt posting if it is supported. */
         if ( iommu_intpost )
-            hvm_pi_update_irte(vcpu, info, pirq_dpci->gmsi.gvec);
+        {
+            rc = hvm_pi_update_irte(vcpu, info, pirq_dpci->gmsi.gvec);
+
+            if ( rc )
+            {
+                pt_irq_destroy_bind(d, pt_irq_bind);
+                return rc;
+            }
+        }
 
         if ( pt_irq_bind->u.msi.gflags & XEN_DOMCTL_VMSI_X86_UNMASKED )
         {
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:07:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:07:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908025.1315214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryOI-0006PV-7O; Tue, 11 Mar 2025 12:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908025.1315214; Tue, 11 Mar 2025 12:07: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 1tryOI-0006PN-3w; Tue, 11 Mar 2025 12:07:22 +0000
Received: by outflank-mailman (input) for mailman id 908025;
 Tue, 11 Mar 2025 12:07: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tryOH-000646-JP
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 12:07:21 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61bc074c-fe71-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 13:07:20 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-22185cddbffso112221305ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:07:20 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-736d820ebacsm4147840b3a.11.2025.03.11.05.07.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 05:07: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: 61bc074c-fe71-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741694838; x=1742299638; 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=3hkZjl6qpKTXdMO/1TFak2yBcgGai4JUqjS2jVFe5tY=;
        b=a/2SL8ra5TaXmeRc9D3o8QutbgLpC28pnrSzeb8hX+tGzYPD39D2sqdfDBbqiQ14Hs
         S5tA5WNljA6wfOp15MR0Hj4cV3Xz3Xaseke4ylA1mUL/DvpC0EJOwPb32QqJ704YEM/1
         xqG/NJA0KquYw2U1LQ6st4F3kjaIdq58dBqK8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741694838; x=1742299638;
        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=3hkZjl6qpKTXdMO/1TFak2yBcgGai4JUqjS2jVFe5tY=;
        b=V3CdTdoBK5XVNYY3aheo6jrcmta2g9qCJmWWhee5gutO7U/zk3W1pMdUGQ0JT5mbcj
         1fDFr96XevEL5o1ofdkqvhH6QOSCpUgifzSUelKpnljAqJvDg/uTWKKfzL8YuHd6bLlK
         P8utS9kF5PvBEZwFB9A1LRgNljQX9jWiAZFma97oLCAFMADtDpCNzBbzRf3LF7DrdPSj
         Y8mJj1htBmofXc0FUgsBEZ9Fth/derhbLGHthOHQnE/tPsfMDp8eVjNvc126gmLhb38/
         k8Meb4iSCo7y7bl/DDZtinPGCtdGEU0v7vi0h5f3LEG/0+ccmhXEOSl4FyvCRYu5pjHr
         Do+Q==
X-Gm-Message-State: AOJu0YxOOFhAvGgO2jWm/kZk8V6RY38sngT5KatseNgU0s03l+n7iPQD
	tVS+qBpPk0M5D11rir8611tDegNfvqwA/A3Xl3H2BM5k62sS/gQUawpyS8+2egoZeZe5Y9Ub0qQ
	2
X-Gm-Gg: ASbGnctLQ7INgTs/lqR4m+U7wwzX5nKKHdxwMvhOsCcFp2/fidvK4atVDIWGmhlMhsI
	Cy8n6QuUqStWLidG3fFIRJJEuxJq8IKAyXxNYzgsz+8rM0fppn5qrf4yzw1zyXxD1sTi6hxAbva
	NmWPRSmPFyEfLLUpFDQO767JkjgjgbMv3u//9dCq8V4Kp0awjWeqX9GU8t4C+/ZbFcjJjuyUN32
	8Vwi98akJOC/7xib0JRHqNHdi1Izc8MW1jVZ9g/O46tsfJv5CYZTlmAor1OBC3ldS2BF2rUNkSP
	5XXGvWznS872PAWvVTPXcOKRTUzFVrKTJWToe89G3awVYEn5sqxsre4=
X-Google-Smtp-Source: AGHT+IHJyozDFB4akTMDg6U4ZbKYut75l7sukU0s1eBT9e9e47kM3oLA0KtXoGLSjNybQHh+EsRowA==
X-Received: by 2002:a05:6a00:1394:b0:736:5813:8c46 with SMTP id d2e1a72fcca58-736ec6b29b0mr4709594b3a.8.1741694838011;
        Tue, 11 Mar 2025 05:07:18 -0700 (PDT)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v4 3/3] x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
Date: Tue, 11 Mar 2025 13:06:52 +0100
Message-ID: <20250311120652.61366-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311120652.61366-1-roger.pau@citrix.com>
References: <20250311120652.61366-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Attempt to reduce the MSI entry writes, and the associated checking whether
memory decoding and MSI-X is enabled for the PCI device, when the MSI data
hasn't changed.

When using Interrupt Remapping the MSI entry will contain an index into
the remapping table, and it's in such remapping table where the MSI vector
and destination CPU is stored.  As such, when using interrupt remapping,
changes to the interrupt affinity shouldn't result in changes to the MSI
entry, and the MSI entry update can be avoided.

Signal from the IOMMU update_ire_from_msi hook whether the MSI data or
address fields have changed, and thus need writing to the device registers.
Such signaling is done by returning 1 from the function.  Otherwise
returning 0 means no update of the MSI fields, and thus no write
required.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
---
Changes since v3:
 - Assert MSI fields are never updated in vmx_pi_update_irte().
 - Directly return booleans from msi_msg_to_remap_entry() and
   update_intremap_entry_from_msi_msg().

Changes since v2:
 - New approach.

Changes since v1:
 - Add more comments.
 - Simplify dma_msi_set_affinity().
---
 xen/arch/x86/hpet.c                      |  6 +++++-
 xen/arch/x86/hvm/vmx/vmx.c               | 13 ++++++++++++-
 xen/arch/x86/msi.c                       | 11 ++++++-----
 xen/drivers/passthrough/amd/iommu_intr.c |  4 ++--
 xen/drivers/passthrough/vtd/intremap.c   |  4 +++-
 xen/include/xen/iommu.h                  |  6 ++++++
 6 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 51ff7f12f5c0..1bca8c8b670d 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -283,8 +283,12 @@ static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
     {
         int rc = iommu_update_ire_from_msi(&ch->msi, msg);
 
-        if ( rc )
+        if ( rc < 0 )
             return rc;
+        /*
+         * Always propagate writes, to avoid having to pass a flag for handling
+         * a forceful write in the resume from suspension case.
+         */
     }
 
     hpet_write32(msg->data, HPET_Tn_ROUTE(ch->idx));
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c407513af624..7535a45b31fc 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -422,7 +422,18 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
 
     ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
 
-    return iommu_update_ire_from_msi(msi_desc, &msg);
+    rc = iommu_update_ire_from_msi(msi_desc, &msg);
+    if ( rc > 0 )
+    {
+        /*
+         * Callers of vmx_pi_update_irte() won't propagate the updated MSI
+         * fields to the hardware, must assert there are no changes.
+         */
+        ASSERT_UNREACHABLE();
+        rc = -EILSEQ;
+    }
+
+    return rc;
 
  unlock_out:
     spin_unlock_irq(&desc->lock);
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 6c11d76015fb..163ccf874720 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -184,7 +184,8 @@ void msi_compose_msg(unsigned vector, const cpumask_t *cpu_mask, struct msi_msg
                 MSI_DATA_VECTOR(vector);
 }
 
-static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
+static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
+                         bool force)
 {
     entry->msg = *msg;
 
@@ -194,7 +195,7 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 
         ASSERT(msg != &entry->msg);
         rc = iommu_update_ire_from_msi(entry, msg);
-        if ( rc )
+        if ( rc < 0 || (rc == 0 && !force) )
             return rc;
     }
 
@@ -259,7 +260,7 @@ void cf_check set_msi_affinity(struct irq_desc *desc, const cpumask_t *mask)
     msg.address_lo |= MSI_ADDR_DEST_ID(dest);
     msg.dest32 = dest;
 
-    write_msi_msg(msi_desc, &msg);
+    write_msi_msg(msi_desc, &msg, false);
 }
 
 void __msi_set_enable(pci_sbdf_t sbdf, int pos, int enable)
@@ -522,7 +523,7 @@ int __setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc,
     desc->msi_desc = msidesc;
     desc->handler = handler;
     msi_compose_msg(desc->arch.vector, desc->arch.cpu_mask, &msg);
-    ret = write_msi_msg(msidesc, &msg);
+    ret = write_msi_msg(msidesc, &msg, false);
     if ( unlikely(ret) )
     {
         desc->handler = &no_irq_type;
@@ -1403,7 +1404,7 @@ int pci_restore_msi_state(struct pci_dev *pdev)
         type = entry->msi_attrib.type;
 
         msg = entry->msg;
-        write_msi_msg(entry, &msg);
+        write_msi_msg(entry, &msg, true);
 
         for ( i = 0; ; )
         {
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index c0273059cb1d..9abdc38053d7 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -492,7 +492,7 @@ static int update_intremap_entry_from_msi_msg(
                get_ivrs_mappings(iommu->seg)[alias_id].intremap_table);
     }
 
-    return 0;
+    return fresh;
 }
 
 static struct amd_iommu *_find_iommu_for_device(int seg, int bdf)
@@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
                                             &msi_desc->remap_index,
                                             msg, &data);
-    if ( !rc )
+    if ( rc > 0 )
     {
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 1aeaeb5ec595..b3b53518e294 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -506,6 +506,7 @@ static int msi_msg_to_remap_entry(
     unsigned int index, i, nr = 1;
     unsigned long flags;
     const struct pi_desc *pi_desc = msi_desc->pi_desc;
+    bool alloc = false;
 
     if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
         nr = msi_desc->msi.nvec;
@@ -529,6 +530,7 @@ static int msi_msg_to_remap_entry(
         index = alloc_remap_entry(iommu, nr);
         for ( i = 0; i < nr; ++i )
             msi_desc[i].remap_index = index + i;
+        alloc = true;
     }
     else
         index = msi_desc->remap_index;
@@ -601,7 +603,7 @@ static int msi_msg_to_remap_entry(
     unmap_vtd_domain_page(iremap_entries);
     spin_unlock_irqrestore(&iommu->intremap.lock, flags);
 
-    return 0;
+    return alloc;
 }
 
 int cf_check msi_msg_write_remap_rte(
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 77a514019cc6..984f0735d4a9 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -435,6 +435,12 @@ extern struct page_list_head iommu_pt_cleanup_list;
 bool arch_iommu_use_permitted(const struct domain *d);
 
 #ifdef CONFIG_X86
+/*
+ * Return values:
+ *  - < 0 on error.
+ *  - 0 on success and no need to write msi_msg to the hardware.
+ *  - 1 on success and msi_msg must be propagated to the hardware.
+ */
 static inline int iommu_update_ire_from_msi(
     struct msi_desc *msi_desc, struct msi_msg *msg)
 {
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:23:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908061.1315224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tryeD-0003Z4-NG; Tue, 11 Mar 2025 12:23:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908061.1315224; Tue, 11 Mar 2025 12:23: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 1tryeD-0003Yx-KC; Tue, 11 Mar 2025 12:23:49 +0000
Received: by outflank-mailman (input) for mailman id 908061;
 Tue, 11 Mar 2025 12:23: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tryeC-0003Yr-C2
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 12:23:48 +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 adb7c7d9-fe73-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 13:23:46 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac289147833so438530166b.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:23:46 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac239482f3bsm927812266b.52.2025.03.11.05.23.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 05:23: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: adb7c7d9-fe73-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741695825; x=1742300625; 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=ULC3mLT08eiUwzMYDRPpDGGckCo7E4MExnZyqsj1Hss=;
        b=MQZ8XNFUAVV8YXQi/0ZvtFm/tl5GDfv94cDNQ3QhGML1l69CoY+uoJ6T/4LMcSrhwk
         v1LMMe+UxQ6N12P2IMdPgSqa5h/YahM2YNTjZ8SOA8DhKIDwBnnGc9jJ+FLBA5qEHTeX
         nY+YGxMhSuj3eBOBZRoqrPBLvYOpAqE1xa/fE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741695825; x=1742300625;
        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=ULC3mLT08eiUwzMYDRPpDGGckCo7E4MExnZyqsj1Hss=;
        b=jYzcu8d5Osxc/1G3sazkJblx7e0hc01ZfjTOkfQnS6apJXe9zh4MfMZoSyXwpNAxnu
         QHpnE1AhJyIpr1PF0WdwreOWvRnaTEpkv0QYoDPAwxcQbseD/QrBnVr//+M5ESopFd27
         xzhKuEjb3jiCmoexdbLHQMUf90msR6DOBIz07wS8/SYDYORiojwCLtJzUNP0bFulpEfE
         yCkWcQ0v7h8kvm/VHL61KDUdMUo9p1rJGPX+EkUBJ6qoYFicgg2NKcyHIo7HclDPD7Y+
         ESWHVkeUnvlBV61xJuzC+LjYjM7VFiD3XMVoDnHoSiRj7HlxaCOjSqjC2mwI8v0t9VTA
         6GIA==
X-Gm-Message-State: AOJu0YwLqnxDMbgFqf1AvBK68+REZratHaHyBRmo+ZCROYcca3W4IJlk
	sq9L80hOty/HLtZiRLtUFnvnvMi2JK02D7a37tNxeTExXOXylZCnf/D1dWi5UU8WCRjzkXqaBXK
	F
X-Gm-Gg: ASbGncsz0J+CWtK7MRQsRW1Wh0KIqaqLVCjcamewUFi8XCbRBfNJMSCe/0KvOqZqWPE
	xWrj2z2/6Etx2+hBnkRlz+3W0oLW865RORE266g2+KxlacWmdmAkEgM2KY+b+snNRlstruzGsXM
	y/aEAQ/q5K/Qah+ymQG6vwSEHe1wKjxapGT12/cgkGYZN2iyg37yLZ3hXmaG/vQ+ea3SBV/+RV3
	DxgYH4U2gTClLxbqYpQ4YTYjKFNnnc6OY6+T9nCn1A4sZahJ+1vkZCCDi/c9Nrp1PzfHx1OcsjN
	WqXd2a0XUZN5dtiN3RDa/MoreXKvcKwSZ0GtSQa3JuqkGTThDA==
X-Google-Smtp-Source: AGHT+IFx7Yq1ZMT37sbgJ6ObWgAeZ/dwmG+yvQeUoTdsF5hdpoR1QFjmnNMg+Y6lPhnj/GKvEhOVlw==
X-Received: by 2002:a17:907:1b21:b0:ac1:e2e0:f8d6 with SMTP id a640c23a62f3a-ac2525f936amr1713605566b.17.1741695825300;
        Tue, 11 Mar 2025 05:23:45 -0700 (PDT)
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 v3] x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
Date: Tue, 11 Mar 2025 13:22:35 +0100
Message-ID: <20250311122235.61656-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The MMIO_CONF_BASE reports the base of the MCFG range on AMD systems.
Linux pre-6.14 is unconditionally attempting to read the MSR without a
safe MSR accessor, and since Xen doesn't allow access to it Linux reports
the following error:

unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
Call Trace:
 xen_read_msr+0x1e/0x30
 amd_get_mmconfig_range+0x2b/0x80
 quirk_amd_mmconfig_area+0x28/0x100
 pnp_fixup_device+0x39/0x50
 __pnp_add_device+0xf/0x150
 pnp_add_device+0x3d/0x100
 pnpacpi_add_device_handler+0x1f9/0x280
 acpi_ns_get_device_callback+0x104/0x1c0
 acpi_ns_walk_namespace+0x1d0/0x260
 acpi_get_devices+0x8a/0xb0
 pnpacpi_init+0x50/0x80
 do_one_initcall+0x46/0x2e0
 kernel_init_freeable+0x1da/0x2f0
 kernel_init+0x16/0x1b0
 ret_from_fork+0x30/0x50
 ret_from_fork_asm+0x1b/0x30

Such access is conditional to the presence of a device with PnP ID
"PNP0c01", which triggers the execution of the quirk_amd_mmconfig_area()
function.  Note that prior to commit 3fac3734c43a MSR accesses when running
as a PV guest would always use the safe variant, and thus silently handle
the #GP.

Fix by allowing access to the MSR on AMD systems for the hardware domain.

Write attempts to the MSR will still result in #GP for all domain types.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v2:
 - #GP on domU accesses.

Changes since v1:
 - Expand commit message to note which device triggers the MSR read.
---
 xen/arch/x86/msr.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 1550fd9ec9f3..2cd46b6c8afa 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -318,6 +318,14 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
         *val = 0;
         break;
 
+    case MSR_FAM10H_MMIO_CONF_BASE:
+        if ( !is_hardware_domain(d) ||
+             !(cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) ||
+             rdmsr_safe(msr, *val) )
+            goto gp_fault;
+
+        break;
+
     case MSR_VIRT_SPEC_CTRL:
         if ( !cp->extd.virt_ssbd )
             goto gp_fault;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:26:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:26:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908072.1315235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trygt-0004cA-3l; Tue, 11 Mar 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 908072.1315235; Tue, 11 Mar 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 1trygt-0004c3-14; Tue, 11 Mar 2025 12:26:35 +0000
Received: by outflank-mailman (input) for mailman id 908072;
 Tue, 11 Mar 2025 12:26: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trygr-0004Xq-Sn
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 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-sth1.inumbo.com (Halon) with ESMTPS
 id 11050409-fe74-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 13:26:32 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-38dcac27bcbso4186174f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:26: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-3912c0e1d67sm17968702f8f.74.2025.03.11.05.26.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 05:26: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: 11050409-fe74-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741695992; x=1742300792; 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=aGhmuneANVNpktgepI8vk9n6PFb4Bp3qfWYDqtysOLQ=;
        b=D8/YO7T2UDQbe+e00+z17tJu18QerypuFxg+DvgxRWCvbPhTwPWdDSbjIiUjrPRsSz
         Lug7QLcCUPfPUzKPW1KYxuJVATgcyuTvXGk9fkyq3kC2AEXMD/FNSTnkiVdq9pf2sOTd
         7zJKlGvGCtCt9XEfe9RGalrtOAJGC8yJMvw/oVstYb0DyqIKVJQn91ai946pngs/JGz+
         CYxbinla+MPDUg7Pc2s9Rk1qP+GvbNRyNj3lcDkAwMY7jWIWU56olO4Y8rmdCaauwImo
         UzIcOvBN5OUG1rS5RLpqlJ3aobrIAVWiyyb7+DBCQQ6YFIhJHNlctgj/cFbv7n6k+JTr
         kP3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741695992; x=1742300792;
        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=aGhmuneANVNpktgepI8vk9n6PFb4Bp3qfWYDqtysOLQ=;
        b=DzFKwGDCSg7bbdGkY0bmo/N6/FDsjIIUTU+VxB/84Id1Xm/jbTCV7MYO1K3q1jmBjq
         d91LEbVxzvefdX+SIsPrkn0NSEmPN0aC1xdQMNG6RIF+F/k+dX7SXaMnn/w7+Q1IrQLg
         XWtiN0rfpi2PdI7KL31GAlM4u7y3kB12y7NXqS6qn5UwRGFP3cCCmLoAfWoIWSRKAIrZ
         Inemv+wLwSuWoRZPvNZjVBkTzZlZY3pF3MpcpVLChv26TaetJJWQfy8GH86fFABOkuKO
         ade7qC4CRKkIgwZsMfZ+aERvDCqvgMe5x/hJBeipPo3oMHn/2Kkj0Ou0AlRYE1hdiCJE
         UMsA==
X-Forwarded-Encrypted: i=1; AJvYcCWg8jv+RBaQXhhhC6cYAXLZBR1IXwaczuer3rPGf3hxJ7jhb3xhlxKI2YvFXRyxMobdmFQAHc9Fz6I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwMPcsV/qfLI4G0FxPpMR+VdvtoWTdPVQBRhEiI2sIcUHcz8V/O
	DzacfnLzJPGqo45SwWUNqJZ+IfwAZUj+shOrWlKi9WnjfKKIU0pzCGWpTOwC9A==
X-Gm-Gg: ASbGnctBESjNii8NjoDWCqr7zFM6g5ByYwYZY7uTX0nZmyG1cAsEbSIaqe6G/BUb3ou
	NHf9cqlahbLeIXwg8fMMDLr0h2o+rv6dAu6jn4Ql7esT3DU3GOiL/D666m+0NeBuQa53X+uABTM
	NnioFoo/YwFuq+Cap7JdLmJYgoQhK/Wl0dsiJxeCfxkwsXkSR/z/Ma5DsaUJ/wsx9JhT6ACl85M
	XoR9GGfQB64kvmdeAyeLDnXLXO3zUT3eR0O0kIFNDsS/NweciLauT9zieUksr6I2OypewyU8Zgg
	Mny8/FRVwpWesurXYMTNo0L4k5u7DYMrYJ98Rtl//X5LmLS3A9BzZQM06AM7Rh5C+6lgdSXmXQl
	PQP6+3g8Ir1g00ZB0PqCpWNKrPDk3v3Pl9kdLEa+1
X-Google-Smtp-Source: AGHT+IHe1ujhe83VUZ9lZkEiVpGCjJDRZXxV4HOBQDuBEAy/Xfi+ydfXzI58+W0bcR//D3cU3eHDjw==
X-Received: by 2002:a5d:47af:0:b0:390:f9e0:f0d0 with SMTP id ffacd0b85a97d-3926bfe0e4dmr4408653f8f.6.1741695992203;
        Tue, 11 Mar 2025 05:26:32 -0700 (PDT)
Message-ID: <f70530ca-c5cf-4286-ba23-f28c786b1327@suse.com>
Date: Tue, 11 Mar 2025 13:26:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250311122235.61656-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: <20250311122235.61656-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 13:22, Roger Pau Monne wrote:
> The MMIO_CONF_BASE reports the base of the MCFG range on AMD systems.
> Linux pre-6.14 is unconditionally attempting to read the MSR without a
> safe MSR accessor, and since Xen doesn't allow access to it Linux reports
> the following error:
> 
> unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
> Call Trace:
>  xen_read_msr+0x1e/0x30
>  amd_get_mmconfig_range+0x2b/0x80
>  quirk_amd_mmconfig_area+0x28/0x100
>  pnp_fixup_device+0x39/0x50
>  __pnp_add_device+0xf/0x150
>  pnp_add_device+0x3d/0x100
>  pnpacpi_add_device_handler+0x1f9/0x280
>  acpi_ns_get_device_callback+0x104/0x1c0
>  acpi_ns_walk_namespace+0x1d0/0x260
>  acpi_get_devices+0x8a/0xb0
>  pnpacpi_init+0x50/0x80
>  do_one_initcall+0x46/0x2e0
>  kernel_init_freeable+0x1da/0x2f0
>  kernel_init+0x16/0x1b0
>  ret_from_fork+0x30/0x50
>  ret_from_fork_asm+0x1b/0x30
> 
> Such access is conditional to the presence of a device with PnP ID
> "PNP0c01", which triggers the execution of the quirk_amd_mmconfig_area()
> function.  Note that prior to commit 3fac3734c43a MSR accesses when running
> as a PV guest would always use the safe variant, and thus silently handle
> the #GP.
> 
> Fix by allowing access to the MSR on AMD systems for the hardware domain.
> 
> Write attempts to the MSR will still result in #GP for all domain types.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Just to record that I'm also fine with it this way:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 12:47:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 12:47:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908094.1315245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trz0Q-0003EY-Kk; Tue, 11 Mar 2025 12:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908094.1315245; Tue, 11 Mar 2025 12: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 1trz0Q-0003ER-HV; Tue, 11 Mar 2025 12:46:46 +0000
Received: by outflank-mailman (input) for mailman id 908094;
 Tue, 11 Mar 2025 12:46: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1trz0O-0003EL-To
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 12:46:45 +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 e2c91508-fe76-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 13:46:43 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-ac29fd22163so370908066b.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 05:46:43 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac283e4d50csm510721666b.175.2025.03.11.05.46.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 05:46: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: e2c91508-fe76-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741697203; x=1742302003; darn=lists.xenproject.org;
        h=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=c3x8r2j2bFWEU/AX/TOWZ82cqR6clh2v+jAveGkPY5g=;
        b=ORK8pjoVoqAnv+nM1Y9P+OsJ6fiuxNP7YBkQTHH4Nh/4iNGWWuJejOMm8WEIBLOIxm
         pADdqbXbF1xgEl0XZLOqeSjR51R5qASR2prZDKI2s1j74rU4T515nIisfVIL9Peud3gN
         fL2MjmmzTLmdER+pMYEvvccuY/4xbSTgSuGG8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741697203; x=1742302003;
        h=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=c3x8r2j2bFWEU/AX/TOWZ82cqR6clh2v+jAveGkPY5g=;
        b=G6EN7m3omXC/ih0mjCUa1sZFM2v9UmmWFMtUdqWMuLd+Ez5uvUPldSpDe5vf0THx2a
         VFv1o7cPtEk5ezUTy/2IDWzvX2PnnhSFbiRKInWKGIU9EzJm6PBlvbz1sA3CLYVs5JFP
         qU9hni0d0KpPm0dDzVswspoKgt3XE/v+UqQpeETBXlgXQ46CZf5gEYHjqbC5N9nrNTjK
         ifhRaEl6D9RsALOvFu8is1tqTZhhsYaljuZFxJJAXgDUS2VK395NvahJaKYXXHuFz1BM
         E5+KC0FNVxVwdOa5MNkuW2h2I7oR9lX16L1uCdHEKEcIB3EtjYh7dqaKojrjUyNHS1hx
         pbqw==
X-Gm-Message-State: AOJu0YzHUaRgyi4ehzU8HetbRAdm/nBZglN4EwyeYaU4sLemXwnh9jOO
	JL6jAhJjmiG269GfFpgxy/vmyVAi6fbMWp+9zXG0L7c3eWPca+mCiMb9wCQCX3U=
X-Gm-Gg: ASbGncurNvcl3sZcgT1weB9HtmDEsxmYXFWigYe1+fm97iaypc7gjvAEFn/9SpFWt1A
	gJQMu1F1Bcwi4VkSxXcT/GQsW+A3bFCs4H9bq2ACKdakqqjJqAJoJ19sjQ46cJrD9/h2b038hZp
	yjO30ae/NLoIQ6wIA1wbnFooiPTi06Cf8g5GhMA2EP4wGhkKRpLU2P0e9D1yOExLVrWkvNdLlZH
	nQV457DdM7QhWcDfzx9IW9hoHSJoBfO2NhM+yQ9C/4Kgel3IIV5O/YV8t0y8vsZIdXr+5pAqEMa
	bSJYOf2oWFrOWziBs0xRPjPVtRe4iWZYKAaPgGmtqkGAjg7HLyZDw/mMIY2+
X-Google-Smtp-Source: AGHT+IEmh++4k4e08aPMnDxffH2SaJzZ1s/r66VHvWDEGVNYmmmqy4L77QF6fcXcW5RwaiUjfuXrTA==
X-Received: by 2002:a17:907:3608:b0:abf:6bf6:a397 with SMTP id a640c23a62f3a-ac252a9e1afmr1865519766b.15.1741697203182;
        Tue, 11 Mar 2025 05:46:43 -0700 (PDT)
Date: Tue, 11 Mar 2025 13:46:42 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.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 v2] xen/page_alloc: Simplify domain_adjust_tot_pages
Message-ID: <Z9AwsrDBELe2UREz@macbook.local>
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250304111000.9252-1-alejandro.vallejo@cloud.com>

On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
> The logic has too many levels of indirection and it's very hard to
> understand it its current form. Split it between the corner case where
> the adjustment is bigger than the current claim and the rest to avoid 5
> auxiliary variables.
> 
> Add a functional change to prevent negative adjustments from
> re-increasing the claim. This has the nice side effect of avoiding
> taking the heap lock here on every free.
> 
> While at it, fix incorrect field name in nearby comment.
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

I think it would be nice to also ensure that once the domain is
finished building (maybe when it's unpaused for the first
time?) d->outstanding_pages is set to 0.  IMO the claim system was
designed to avoid races during domain building, and shouldn't be used
once the domain is already running.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:10:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:10:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908104.1315255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trzN8-00089n-Db; Tue, 11 Mar 2025 13:10:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908104.1315255; Tue, 11 Mar 2025 13:10: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 1trzN8-00089g-Ad; Tue, 11 Mar 2025 13:10:14 +0000
Received: by outflank-mailman (input) for mailman id 908104;
 Tue, 11 Mar 2025 13:10: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trzN7-00089Z-CX
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:10:13 +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 29f820f2-fe7a-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 14:10:11 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-391342fc148so2598451f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 06:10: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-3912bfdfc96sm18445614f8f.31.2025.03.11.06.10.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 06:10: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: 29f820f2-fe7a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741698611; x=1742303411; 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=kZxzBfeMvtS8msc4AUdZye+paWIRQWsY02FYX9D/dyU=;
        b=aXTG4GJomasvzYn3/08M6fWlTyn5aYN5byhrV4x2/47tyLawdlFqxQZfRSejQPK0ME
         HhYcwDLLZe54K/yGOFlVciaVwTJYpTBcdk4satfpYP1YjmPOvjqgBKTb/V6EmXoTEErq
         EjhGjSF50tyY76QNu1C9b+9LJL+4VznjCO/Z37oxTMbsmMOgSgUjgy0dCvDT/YA85Gpt
         tcD6JqV9UlZ30feRaqMsCYvY35VclKue5eNhsDluTex1MBbok/OIpehEJuiod06DST3e
         9f/ARL7dpYoMCDHIyykIR1wrH6OaHepRIBi3SbSnrPlHL9J0EjHh/+zOkHQR9/XzVP0o
         rWrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741698611; x=1742303411;
        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=kZxzBfeMvtS8msc4AUdZye+paWIRQWsY02FYX9D/dyU=;
        b=jtZNKz+aeZAnNGS43WScGJCjS9iJGr7VZOov060cxMNrCaSGc2fS3dcGJpwjC+Zo/A
         daMw9BdiIiE2XlVa9DlPe3vI18zBkUOkITpphSFwrEQuurMAEwRS2j69Jb2l5+KjnnGe
         y/tXyckCsnQ4rDDE8/KstV7+uNnSFolQgDu3wi4aGV4JMF2pWbr3I3FRTqqgetJCCmtG
         6CySl0KmWDizlyDJf0tPTijGp6bdlcLwo+gUvAgLBgukblKHap7/MP40fKGrIXs9Uq0F
         p+dyQCZnyPlncfx6X1T1ZAgJtrOA6G1xa5k27mXpKRgMMifnPF+/1++nCeUNNYndfuLI
         HUkQ==
X-Forwarded-Encrypted: i=1; AJvYcCU+81320mxFEcwBqNtk7NlZGszDHinb/8yaYlso/Mixm8jG1JWS2OzSE5fTBkKSx2RuJ/l3FQ5ko18=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9bAmkV6lYtlHVLHbk3ekKfZazONXQMMqNsaqEGOVNoN+8RMBj
	wb0erBv8qqzcY/j35V/NtskhJ+t5PgXSYOhoPPmuiybMNJZ+gufx9KNYlqyiLQ==
X-Gm-Gg: ASbGncuL9A+8AqWfmWq4hRkiAXksuiA3pqKvhfhGlZ+D6WI4GjdT3w0uqQJV/HxYhwE
	TetRULS4l1tpJiWTLwrctqQv0/hNrzNwLJ7cIemajDU3onU24IhREfuZapODXmpcI9qSnuZlQoZ
	jXzPSTP7oPxQ24njXWna7Y9aS+v+gHDLl5l82oV0aomQeMhsZ54LVOB9mUCU+27kj1IflInAye0
	bh6bseYgGXknsiMwCfkl0qPlsYvNmIKuwsOnSrtR96vIc9c6/Ea3e1NL9YTbV8Q9b09WmpeJIxX
	btvgSYMmabA2JQ4p3mdGNDJcHhzeyqOtj6abIrJZZqDnQFTIRAveDazNYr1sM9wYDHDokHlScbQ
	5Mbthaw/lhsO7ibrhEPByptHgNqd/0w==
X-Google-Smtp-Source: AGHT+IGjgWsrvzzfEZbJBBfLP7b3NXl+vu6YRfQZwy/4AhwAC/+SYuRPlvSDF6NzMYVciulPb5U/tQ==
X-Received: by 2002:a05:6000:1acd:b0:390:d796:b946 with SMTP id ffacd0b85a97d-3926c1ce312mr4745960f8f.44.1741698611073;
        Tue, 11 Mar 2025 06:10:11 -0700 (PDT)
Message-ID: <369daf2d-63de-4375-a11e-401135ede43b@suse.com>
Date: Tue, 11 Mar 2025 14:10:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] x86/vmx: fix posted interrupts usage of
 msi_desc->msg field
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250311120652.61366-1-roger.pau@citrix.com>
 <20250311120652.61366-2-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: <20250311120652.61366-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 13:06, Roger Pau Monne wrote:
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -396,6 +396,13 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
>      const struct pi_desc *pi_desc = v ? &v->arch.hvm.vmx.pi_desc : NULL;
>      struct irq_desc *desc;
>      struct msi_desc *msi_desc;
> +    /*
> +     * vmx_pi_update_irte() relies on the IRTE already being setup, and just
> +     * updates the guest vector, but not the other IRTE fields.  As such the
> +     * contents of msg are not consumed by iommu_update_ire_from_msi().  Even
> +     * if not consumed, zero the contents to avoid possible stack leaks.
> +     */
> +    struct msi_msg msg = {};

What the comment says is true only when pi_desc != NULL. As can be seen in
context above, it can very well be NULL here, though (which isn't to say
that I'm convinced the NULL case is handled correctly here). I'd view it as
more safe anyway if you set msg from msi_desc->msg.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:17:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:17:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908113.1315265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trzU1-0000Mn-3Z; Tue, 11 Mar 2025 13:17:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908113.1315265; Tue, 11 Mar 2025 13:17: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 1trzU0-0000Mg-Vq; Tue, 11 Mar 2025 13:17:20 +0000
Received: by outflank-mailman (input) for mailman id 908113;
 Tue, 11 Mar 2025 13:17: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1trzTz-0000Ma-Ra
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:17:19 +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 289900b1-fe7b-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 14:17:18 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-391211ea598so3034582f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 06:17: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-3912bfba8a9sm18096708f8f.9.2025.03.11.06.17.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 06:17: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: 289900b1-fe7b-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741699038; x=1742303838; 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=O21ZBP1LORUHWVo7z4txTTHR9OUfXFI/2w9ZR5Kdntc=;
        b=WK5zP+oNeJlMwxk9SPWHeVrao1qO+s968mWDn0FEFORE5X8F9K7QGi5EKrhxc3o+bg
         q41yhgc82nfH2qXQlpo45Os55F07X1nmStqrllIDiowqaKN07q5aUdMKndKWxXvyKfAQ
         vFIqudv76id1JNpi7DGVYbosWeV0RRPP6aj71iXTs1VtOpX8WtGWAsOcp8lyrFIxe3O7
         vstQABUEqBPTEuVE4wDk2zkpGEMurbBJ3qUoBuBlNVGnpDe1rPwBBUBV9/tgr2Ox00GL
         BXRZPvyB29KIq/QTta3QdCsXt+5J/ASB4WXSp/+hJOWwtVnL2d96az+O5CAubu5xaDUM
         MarQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741699038; x=1742303838;
        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=O21ZBP1LORUHWVo7z4txTTHR9OUfXFI/2w9ZR5Kdntc=;
        b=c1Gj45bqi3oF2m+30y2efuSEuzuItMMU5epraX/dyz0nuhuCO3oThqFUc6MFoPufND
         banshvGJZXmD35CdWQxmF+ghdtk0daa88dy6serEp2Z7HHkswfIQ+4jL7atVI3hCwVHq
         jPH9AA/k2vKF3BTwTFrUHp7Ejz3jO6bhsoM50DqTRBbIyFjrtoT7P8LuT2PoVHTmuRaQ
         lSHV60MbPuwafFRn47l0Cy8FeoD+VfzC9VdnfZgSxsgfXaCX0CXyYJNbUWedIwjKkrcU
         qm/Ud1iCtNKzYlPXetzSfY4aaxQwWabQirW3gtQ9iV/KrEcrSsUaxhVOZ6Vw0tXFlt94
         udHw==
X-Gm-Message-State: AOJu0YzCoRhB5Zrqks3pwviZUABz07meERGsaeBnWk+nNjguNANYF5hD
	U9IuFCjJp/IbT0HVO82B4UIeaBQ+8oSvGEOauV79S/+OeYDw/J7m2g8yHSsNFA==
X-Gm-Gg: ASbGncsup3P8DYMoLnmLBbC3aDtQ4ujef+Yx8NKCk80ClJxeCBaDJrt8XtholqRDQNx
	JYbv9qTRrAZFiLclnlJ8dCok7XppCuqX/uk4XGURv/Ta4PyYcJOHcryIEYaUQdq+CunBmCxZ9XL
	OIixqq/Q0hzflOq2iAsXDdqj1CadNXEY3S4xftRhT0uj5zbZRg9h9oLH+++CE67CQeXiM/ZzQUL
	fWPJz7CXnexn2Gvrtxcp/3qgeTHhbWmdMzkQYB430MJh08ZfpjiL6sceTpoLY/M5MrltR9rieK9
	C9cIlVhp0lLejjbyXDPkKJI6VLTXnBYm1ix1zimTaCd3WSIwPOS8lkhx2SjBdAm+geLFdFsPO57
	t8KxyNZTiZrFKverDvq9TOt/Arn+UAw==
X-Google-Smtp-Source: AGHT+IFhiMI5KdoXCzVoYQ8B4lgVwTEc+bUtmXpgR7uq6gFqabB8V/F+i+Qzy58RPYAqiqX1AzdoMQ==
X-Received: by 2002:a05:6000:1fa1:b0:390:fb37:1ca with SMTP id ffacd0b85a97d-39132dbb25amr13046137f8f.53.1741699038331;
        Tue, 11 Mar 2025 06:17:18 -0700 (PDT)
Message-ID: <42f7e36b-c3ee-45b8-9821-44a9da77eb6d@suse.com>
Date: Tue, 11 Mar 2025 14:17:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/3] x86/hvm: check return code of hvm_pi_update_irte
 when binding
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20250311120652.61366-1-roger.pau@citrix.com>
 <20250311120652.61366-3-roger.pau@citrix.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: <20250311120652.61366-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 13:06, Roger Pau Monne wrote:
> Consume the return code from hvm_pi_update_irte(), and propagate the error
> back to the caller if hvm_pi_update_irte() fails.
> 
> Fixes: 35a1caf8b6b5 ('pass-through: update IRTE according to guest interrupt config changes')
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:27:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:27:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908127.1315275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trzdI-0002eD-0D; Tue, 11 Mar 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 908127.1315275; Tue, 11 Mar 2025 13:26: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 1trzdH-0002e6-Tc; Tue, 11 Mar 2025 13:26:55 +0000
Received: by outflank-mailman (input) for mailman id 908127;
 Tue, 11 Mar 2025 13:26: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=azTi=V6=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1trzdG-0002e0-CR
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:26:54 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e4c152b-fe7c-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 14:26:52 +0100 (CET)
Received: from CWXP123CA0005.GBRP123.PROD.OUTLOOK.COM (2603:10a6:401:73::17)
 by DU5PR08MB10660.eurprd08.prod.outlook.com (2603:10a6:10:51d::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 13:26:48 +0000
Received: from AMS1EPF00000048.eurprd04.prod.outlook.com
 (2603:10a6:401:73:cafe::a8) by CWXP123CA0005.outlook.office365.com
 (2603:10a6:401:73::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 13:26:47 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000048.mail.protection.outlook.com (10.167.16.132) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 11 Mar 2025 13:26:47 +0000
Received: ("Tessian outbound 68993334049c:v585");
 Tue, 11 Mar 2025 13:26:47 +0000
Received: from Lf30772f9515b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5D53D5C6-C03F-4B8A-B56F-5C0230249073.1; 
 Tue, 11 Mar 2025 13:26:40 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lf30772f9515b.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 11 Mar 2025 13:26:40 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS2PR08MB8928.eurprd08.prod.outlook.com (2603:10a6:20b:5fb::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 13:26:34 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 13: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: 7e4c152b-fe7c-11ef-9ab9-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=f2DiNipdUcDc6DR1f6ZyNlr/DFgq2PADeVqIHTXF2hgZkRUCKffzo+/gGXzw8teVU6u8J+dG8+2Tg5EtRBCvs7kFBn2r0p2pxuGPwBqXroiH7tYttFkZCr1b+Q+CdzZIrJ11bAxTPXwF+Qed1PcFu1xE3QRjgJY5Py1/v3gG8BMIDEekBzefY1OIgFPK0h+8fq/NubACbOjg0Y8CWyMXEV6ZTScsP1MjFyOD6WnWRIIIaL3GXlSncBh2ttqbdvwyjrk2hlFwswiMQYfkFu2bVAm+rgMrKpwqAXyvAgqFfcXLjigZa5OlQ/XoJipG6UPm6RANgJla/hJz5VtEvpOC+A==
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=E9NQZ3BDqrgJzkgCiJowRBuLXW/eZjQYayZ9t22HBDs=;
 b=S0U3SEcHoeOx58TNH+saHhcWjr2T2tXy6S1NgTO3citjozwBGg9kQo+B13aDibaeD/kR2rT7Xj3m1UUiF+w55YubHVOsquTmD57fuPrXLK6T5K7dqgG1UXYsqnsQzQKp0UGGxFterBaV6YaOC7pld8wFo+pWXigwOgQmhJ9BAmLxsfqpWAOzFgKJXRZ4iVcRJsF6RP9jPx+JUya1j3UDnO4ry+NLDCpqV0y56oMHMLxdCKgrRnoR1DleciK98jvNqKjkP9whGEV0xqQx62QcL3ldNJ7s59FUTgOD7l4aLG2nBOddB0qWiKwJ4s1Lky7U69t15h/QsZRnXL4qHu+Q6A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=E9NQZ3BDqrgJzkgCiJowRBuLXW/eZjQYayZ9t22HBDs=;
 b=EVsx2BMvo9RObMl4PiNGCn16Of/hBuFvRrTA0ebS0wX/0acYgsAB217WdV/8gmQsKC8jNXJnu7/wAXpQZfgGnpFg88bg+87wEopj+/iqATMvTtocK8lSXU6ls93/n4Lk0VZ2yPwdISCns60Bxu3SaHC8lTya8VeoT/V8QM4flHg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: cb02871ef85a9609
X-TessianGatewayMetadata: ro0fVwQgGngrJBlU7YEepVejVyQbT6Ll5J87qweZxXKqJ4ohvupgEXk+eHr5vj9oA5SHicskzGHpjGMpsDeQoJPtsFEle84OscxhA+nYe/eAsfYu3u52pQHF9AyKctjKxccEXh7IDx/RTyI7zxaeKS+jDTdLxwFx700Y/IMLig0=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Vmll9J5YaqwH3q7kUXrX+cWSWzIhrBtarcw/VquX80/pgPqjdRAnnqb4043taccNgjim64u5iTWILIFqku+w0nDpnwCotw5DGVQg114oF7jdmd97eG6MG40TTgQtlj2T5dt6S/82pJUmTUkDacC/USsvZiat2q7agDxjuwRPNpO75lrHYgyRXd/fFs19nnlFiJwdVRqBJmeUbZRIZkTMk5AJpkY3oH2+Rw4Z+Q6VB3Rc4NDxKL+oBMToCx5djvcj9EzdjfBnw0Pc9qHFLTMkQY87o50kDRQERkCRzAE0wgTKoB81i7eHaiE9TzKNcXfHceUb7e0BFlfHUvz7++JKrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E9NQZ3BDqrgJzkgCiJowRBuLXW/eZjQYayZ9t22HBDs=;
 b=RRdMZbsv79PDiaLqvGErq/fCSRxDjH4R1cD5HBtSh/NEosKwx0u6CuT6aEwAXOBP/nvCWyw73ILCpjJcq7jhjyxiEqv++CcWrJNOxfUg64Li24+IZxvZsyb5HSrG3sVY+SzTSEe9mNjf5jLZ/Oyg5rYcBj1ahU3MR2REmerSxpvJbPMjQLfLDRmiAnc8QdNBVHQDvBxRl0TEFFVoRRhLg7OVX2fDS0z/ifEkp+9aFWgEN3FHmzmmwjct4Ifoo/0rWyUUoe9HPB5+hFLqmS0h5b/OavJWKnYvjIOIuIB2+CxOj3yabVf3ifIObkvchleGq299um9EPePGWsINbcv6KA==
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=E9NQZ3BDqrgJzkgCiJowRBuLXW/eZjQYayZ9t22HBDs=;
 b=EVsx2BMvo9RObMl4PiNGCn16Of/hBuFvRrTA0ebS0wX/0acYgsAB217WdV/8gmQsKC8jNXJnu7/wAXpQZfgGnpFg88bg+87wEopj+/iqATMvTtocK8lSXU6ls93/n4Lk0VZ2yPwdISCns60Bxu3SaHC8lTya8VeoT/V8QM4flHg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Topic: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Index: AQHbkmScFxwSwnbWbUmo6sX8GQY3CLNtq7oAgAAILgCAAAOLgIAADxuAgAAnBoA=
Date: Tue, 11 Mar 2025 13:26:34 +0000
Message-ID: <69752546-1957-4515-B32F-DB541391AE8F@arm.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-2-michal.orzel@amd.com>
 <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
 <2d66e9e2-e6a4-4552-960a-2e8d95555ff4@amd.com>
 <17173844-577F-44C0-AA74-984ACAEBABC3@arm.com>
 <8b06403d-02c9-49d1-a5d9-5aef57dde3cc@amd.com>
In-Reply-To: <8b06403d-02c9-49d1-a5d9-5aef57dde3cc@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS2PR08MB8928:EE_|AMS1EPF00000048:EE_|DU5PR08MB10660:EE_
X-MS-Office365-Filtering-Correlation-Id: 5145d59b-5604-4dc7-b8c8-08dd60a05fb5
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|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?mkO9jvLhPLYLZWBc+nI3QkDHjZLRSOrvBxR2P2WMggGx6NyGKLAS840aBQsP?=
 =?us-ascii?Q?KwP8SvmM4Gl32bPPlOEbAMRkMWez7P45aUHdO00oImueNXZN19WZEepVFZRk?=
 =?us-ascii?Q?82Ii95PdvvpY618nAWO82RfpSTDp1lokMCOPOtAnUlmameAyTdvHbQK3MKZ9?=
 =?us-ascii?Q?RzyAvYJKWtGKYCePgPRuBh3x0dlwjR7ERWGyMPlltGU4NlSOL7DdPcKDYpzv?=
 =?us-ascii?Q?9AoFb5CIg5l2VvGUW3/LcwMoeLjhdYII+M6nrvdaSloSdw8Q3VL63E9xsCuK?=
 =?us-ascii?Q?ozYpT41TtWf16sb4lbHUrmOZrpiW0Ku0LahehgNC3AE0rHRESa4um02Iz8dh?=
 =?us-ascii?Q?y5PA/mc/QrA+mBjkF0bzwfqTB9L1xtVHx9xKJFtC7iz8ACcEosZXQuZl+PBq?=
 =?us-ascii?Q?S/1PfRRlnYeBRI87gdtdIoydn01O5G1PvS0BhlGAkwCDWSVu19ngfN+qlaXH?=
 =?us-ascii?Q?60Q/MnSR8+zJZCjgrh967Z+FJ9XPajH+qnkHciEikQYiQ5sxEHJhWgXAmvnt?=
 =?us-ascii?Q?1kxAyMCEpI8FddPdUJD1oATfnx4TpRqs6oKUTMo2hy1z6MY8gcRJ/zz85JNM?=
 =?us-ascii?Q?2FuHU4QDAwU54p2ABzI99EDtpVyjbVkJIfrmPrhqWQHnTWABF/XXEoUKhByA?=
 =?us-ascii?Q?QaUta1aRNRZ3BYvGYdkv/nBeSau9HkEN8xx0Pq5XjZpMkDsY8MxGWFXXMqSt?=
 =?us-ascii?Q?phZVboqEMZscWNK1yPZWkhtOIzrbYrbuVApLhYCzA5P+T0HymSKabiMCXX/9?=
 =?us-ascii?Q?KWu03yqeQHTBQuFaR5ZTAO9MUZWqtaLHCFOuQzJwde+6snADWfOKwLANJGHw?=
 =?us-ascii?Q?6uac1CC26TWzvmGtv6cuuqck+hYgnl+aotlOH2uQK/tDcmiFT3rqzFIusu67?=
 =?us-ascii?Q?OuD8MIqrd54sOXgJx/YO40KO7EYBSEouho+w9diKFHftvMBh/SygfBgLv2b5?=
 =?us-ascii?Q?PGHnv/t2CW6qE/9pYBBWnheUIzLAcDBFE+ojIOKetTa6/WBzPj4Y6DjDttvk?=
 =?us-ascii?Q?XgzSzRUtVaqm9X53ITwc/19dOJ9FySTqrFS/7RkR8InqzraxNBZICA2fosrr?=
 =?us-ascii?Q?wSYlpVTCmfkg/5kx4+I6dCTYfnKf+9IeHTDcaaxXcmL2D6721LnZ5f6/Ph6H?=
 =?us-ascii?Q?VXWnmUp1QniT+zj783U7p9RtJ+uAElgJWLSk7nYIi44XzN9jiik9XzBNSuaH?=
 =?us-ascii?Q?HBRHyGgENppvej4ifB1gGMYM1rsPKG8fR8X3iBEOsT4xzR+Y5b4VST97UmG/?=
 =?us-ascii?Q?/LEpK9QP1o+HURuL4GWRK0IcSKhZ21JgQPzqXtqVh95r9VqYKKiD+/fULGTG?=
 =?us-ascii?Q?UF5vO3gZ29sAtvfhQpWuxuSYhWCDVmTb1RMblGhowKyW+MQkYKOhFwwjjl9y?=
 =?us-ascii?Q?8NckVJNUS1687ZWm/jqnXcqXCKlQgNTACVF+7LIIeXqYRXfWgnPfSPAvxl3F?=
 =?us-ascii?Q?T2w/p179zXEB9CIL26/aqhirmO8aEVg/?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E0DA4CFF976D6543BFE30AB112360F07@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8928
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF00000048.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	af6faae5-7376-4424-8f0b-08dd60a05830
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|35042699022|36860700013|82310400026|376014|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?yovP0UkJlFb3vv1hWaN0cFq6+8Noqnqr50igAdaBl5EKKFcdHSFYvShb5Hai?=
 =?us-ascii?Q?MY15tmgZSOyoYJE+ljKFMJjiJS+jWt318SUV9V22nzdwk+IR4vO4uC6jE/Jl?=
 =?us-ascii?Q?e7G7ZfxL98fpnA7s4lHCHdGNK7LQQljnqwS/ba8Fts+XdlEl95GRNb1wZ8RV?=
 =?us-ascii?Q?z4qzR38x35hDLoq7PyK+DfHgcVDPiMyo3Pm3iWyqXQ32TtM6gnCgg1NrjM8x?=
 =?us-ascii?Q?OsRGAG/LxjJ9oFrhEM4CuQHsBWq+RWyFqd1GTVYv3+a5+XxoqS0mHgGkrXJg?=
 =?us-ascii?Q?baqAcnfd0HKs8DIl4N3VnJ8BXXVHLk5kvAjBZ9Nf6DrfT5eB5m8/L/WPiK3I?=
 =?us-ascii?Q?u05VVgYPtiQAtG3T/PzrkpydJSqVj6UbyvsLkicZM3WSFX//xSB49MqjOK8A?=
 =?us-ascii?Q?3dd+JWHkMev5TuTwsQi9+yzPiHH5XNRDMLpzdEv6u1VEeRrReTbPHtcKkEv2?=
 =?us-ascii?Q?TJV2TRLDuyTdBYRHHQj8xnqKJybvMytqYYGvAXI230xnF7VkQ28GWDAT1cYZ?=
 =?us-ascii?Q?0wh56VtCS/Ih4S4frYjhMvO/hgixe734a4de2xnELVyOt2/2K3ql7k9Y89q1?=
 =?us-ascii?Q?c+djmiREA6pxGNPNcqyFvBHJItYaI3lHtMlUOVnlhkYGyjeMRF8cQWtNIqvk?=
 =?us-ascii?Q?jjMcUBx8AhKkjeyn/nz44QaYsaprP9EFNL94oVe3umRda0kYtD9ffGMx3yxf?=
 =?us-ascii?Q?/qsanK0vIw5estydb1dd6GRg8lY6nnGznSJe1xXsOr+lqoNhd613ObL51jyE?=
 =?us-ascii?Q?16o3Pf97AksCaBVGRBPSCNFXj/NDAc1sr2LlRiB/OwXKjgV1vxigS4TX8beG?=
 =?us-ascii?Q?acs9VIBZpEtDWFMXWrsPKxJf54F/iCvp2AAtyXVC4vis+EhR9H2XP5dKAKxv?=
 =?us-ascii?Q?tnNZsHABNHiCSyKAiUXMyIqxMiRSZfXNsgAcQTBqRVbMOEHssD33lOvu0Mdo?=
 =?us-ascii?Q?/YbRS6Xw37piwRCkL53pUX6IRmqBKjrpPeI8pXSTRcO9h5BvY5KpbQoUuMPA?=
 =?us-ascii?Q?lvgkMz+VJRNs48nQEZauti5xU0/38k5Hr4aBWcaPO7bnvmJtFUQcBaX22MXy?=
 =?us-ascii?Q?6dpPl/zpK0Mtq5nrgOzfE9TB3KHLY6TKg3Mr52dIDEsOTlNYdoEiqfOc8ftc?=
 =?us-ascii?Q?a/atAT8LqiU3Ez/3ifBZFa2VrZNw0BsQ2GFk7AId59nq5nqeZ0WQ9EAvkr2p?=
 =?us-ascii?Q?L9oH6NJV76XhHUsqqCTtUKbb0rqPLQKj0iNL9FzgQZMNyNh2Khy4kFU5CfyB?=
 =?us-ascii?Q?JQXK3latNxVW8EfR90cOFCAdApirNbgBvA/vOPlydWzXkCnsZPcfJEaeuE+S?=
 =?us-ascii?Q?fMGyljsA6uK8MSPgCvER8jNV925YkfWLqt5K7oy7fbVEfbwpwihWFUyXhIxM?=
 =?us-ascii?Q?udhiL4FmNr2qiHxgs7GdI0jLaRqNKgXvmsyGNAmlP8lJdV71PCRxaYdNBTjK?=
 =?us-ascii?Q?smXzvh9fn4YuQdIhTU7qQu/oLdpdrkFfveThjMwpusvwD1T7Q9Zz0xdA0Iy5?=
 =?us-ascii?Q?ATAizruYnUpAoZA=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(35042699022)(36860700013)(82310400026)(376014)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 13:26:47.2319
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5145d59b-5604-4dc7-b8c8-08dd60a05fb5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF00000048.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10660

Hi Michal,

> On 11 Mar 2025, at 12:06, Orzel, Michal <michal.orzel@amd.com> wrote:
>=20
>=20
>=20
> On 11/03/2025 11:12, Bertrand Marquis wrote:
>>=20
>>=20
>>> On 11 Mar 2025, at 10:59, Orzel, Michal <Michal.Orzel@amd.com> wrote:
>>>=20
>>>=20
>>>=20
>>> On 11/03/2025 10:30, Bertrand Marquis wrote:
>>>>=20
>>>>=20
>>>> Hi Michal,
>>>>=20
>>>>> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>=20
>>>>> At the moment, we print a warning about max number of IRQs supported =
by
>>>>> GIC bigger than vGIC only for hardware domain. This check is not hwdo=
m
>>>>> special, and should be made common. Also, in case of user not specify=
ing
>>>>> nr_spis for dom0less domUs, we should take into account max number of
>>>>> IRQs supported by vGIC if it's smaller than for GIC.
>>>>>=20
>>>>> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 val=
ue.
>>>>> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC m=
ax
>>>>> IRQs comparison common.
>>>>>=20
>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>> ---
>>>>> xen/arch/arm/dom0less-build.c   | 2 +-
>>>>> xen/arch/arm/domain_build.c     | 9 ++-------
>>>>> xen/arch/arm/gic.c              | 3 +++
>>>>> xen/arch/arm/include/asm/vgic.h | 3 +++
>>>>> 4 files changed, 9 insertions(+), 8 deletions(-)
>>>>>=20
>>>>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-bu=
ild.c
>>>>> index 31f31c38da3f..9a84fee94119 100644
>>>>> --- a/xen/arch/arm/dom0less-build.c
>>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>>> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>>>>>       {
>>>>>           int vpl011_virq =3D GUEST_VPL011_SPI;
>>>>>=20
>>>>> -            d_cfg.arch.nr_spis =3D gic_number_lines() - 32;
>>>>> +            d_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MAX_=
IRQS) - 32;
>>>>=20
>>>> I would suggest to introduce a static inline gic_nr_spis in a gic head=
er ...
>>> Why GIC and not vGIC? This is domain's nr_spis, so vGIC.
>>=20
>> yes vGIC sorry.
>>=20
>>> But then, why static inline if the value does not change and is domain =
agnostic?
>>> I struggle to find a good name for this macro. Maybe (in vgic.h):
>>> #define vgic_def_nr_spis (min(gic_number_lines(), VGIC_MAX_IRQS) - 32)
>>> to denote default nr_spis if not set by the user?
>>=20
>> Yes that would work. My point is to prevent to have 2 definitions in 2 d=
ifferent
>> source file and a risk to forget to update one and not the other (let sa=
y if some
>> day we change 32 in 64).
>>=20
>>>=20
>>>>=20
>>>>>=20
>>>>>           /*
>>>>>            * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map i=
s
>>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.=
c
>>>>> index 7cc141ef75e9..b99c4e3a69bf 100644
>>>>> --- a/xen/arch/arm/domain_build.c
>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>> @@ -2371,13 +2371,8 @@ void __init create_dom0(void)
>>>>>=20
>>>>>   /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>>>>>   dom0_cfg.arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE;
>>>>> -    /*
>>>>> -     * Xen vGIC supports a maximum of 992 interrupt lines.
>>>>> -     * 32 are substracted to cover local IRQs.
>>>>> -     */
>>>>> -    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), (unsigned int)=
 992) - 32;
>>>>> -    if ( gic_number_lines() > 992 )
>>>>> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.=
\n");
>>>>> +    /* 32 are substracted to cover local IRQs */
>>>>> +    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MAX_IRQS)=
 - 32;
>>>>=20
>>>> and reuse it here to make sure the value used is always the same.
>>>>=20
>>>>>   dom0_cfg.arch.tee_type =3D tee_get_type();
>>>>>   dom0_cfg.max_vcpus =3D dom0_max_vcpus();
>>>>>=20
>>>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>>>> index acf61a4de373..e80fe0ca2421 100644
>>>>> --- a/xen/arch/arm/gic.c
>>>>> +++ b/xen/arch/arm/gic.c
>>>>> @@ -251,6 +251,9 @@ void __init gic_init(void)
>>>>>       panic("Failed to initialize the GIC drivers\n");
>>>>>   /* Clear LR mask for cpu0 */
>>>>>   clear_cpu_lr_mask();
>>>>> +
>>>>> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
>>>>> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\=
n");
>>>>=20
>>>> I am a bit unsure with this one.
>>>> If this is the case, it means any gicv2 or gicv3 init detected an impo=
ssible value and
>>>> any usage of gic_number_lines would be using an impossible value.
>>> Why impossible? GIC can support up to 1020 IRQs. Our vGIC can support u=
p to 992
>>> IRQs.
>>=20
>> Maybe unsupported is a better wording, my point is that it could lead to=
 non working system
>> if say something uses irq 1000.
> Actually, I took a look at the code and I don't think we should panic (i.=
e. we
> should keep things as they are today). In your example, if something uses=
 IRQ >
> VGIC_MAX_IRQS that is bigger than gic_number_lines(), then we will receiv=
e error
> when mapping this IRQ to guest (but you don't have to use such device and=
 in the
> future we may enable IRQ re-mapping). That's why in all the places relate=
d to
> domains, we use vgic_num_irqs() and not gic_number_lines(). The latter is=
 only
> used for IRQs routed to Xen.

So you will get an error later such an IRQ is mapped to a guest. Tracking w=
hy this is might not
be easy.
Anyway this is a hardware value that the user has no power on so if we pani=
c it would mean
Xen would never run on the given hardware without any chance for the user t=
o workaround the
problem so maybe the Warning is the best we can do here.

Maybe others have an other idea here but i will not object to this.

Cheers
Bertrand

>=20
> ~Michal
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:30:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:30:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908137.1315285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trzhC-00048H-FL; Tue, 11 Mar 2025 13:30:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908137.1315285; Tue, 11 Mar 2025 13: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 1trzhC-00048A-C4; Tue, 11 Mar 2025 13:30:58 +0000
Received: by outflank-mailman (input) for mailman id 908137;
 Tue, 11 Mar 2025 13:30: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=Gv3n=V6=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1trzhB-000484-8G
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:30:57 +0000
Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com
 [136.143.188.12]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e52adb0-fe7d-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 14:30:55 +0100 (CET)
Received: by mx.zohomail.com with SMTPS id 1741699847436718.392932341477;
 Tue, 11 Mar 2025 06:30:47 -0700 (PDT)
Received: by mail-yw1-f173.google.com with SMTP id
 00721157ae682-6feafc707d3so50124017b3.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 06:30: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: 0e52adb0-fe7d-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; t=1741699850; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=PnXvOy/ozhMMNuyQPYj8ki/P2F4Gc7mQRUO5Ii8mQJKPHuA71VBtHwQwcx4xXqSU0Qg+igHwNAgReVmZTaFta2m+2zemXAtip1qYxTjOPMUy2vXNvofDuu2KVREb+l8gXSovC1AEN6ZK6tVDdF5a6eWq3+G5yIh4m0GJnh+7nBE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1741699850; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=dV9FQ6qxY/K8lDM0QGYGwJOwo/oiKz7kG/7bEWa9Dkc=; 
	b=jAg3VzA/GI9XPvzu2yMEs7xlYNzV3pkJ9V9ThwmP5zmKqLDxeFLjxRJnxVMF6usDDz6RPcFCoTeG8/1GHpV8mB7p1vB07r0kiM3Fh/eGBneJ6wfvENG4LX4IWEh/yHznZhBur7VzGkxoVcte1rDtz4gpGZ4d8VAfMLXIp0d23Lw=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1741699850;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=dV9FQ6qxY/K8lDM0QGYGwJOwo/oiKz7kG/7bEWa9Dkc=;
	b=KDj8lZoivs0GnFByv/loLCYAHwTnbL+0Z/uJSrtYqhq/+YzTax+hhFQsYJtxRzf+
	IxXOqjDnQlKhfA48IY3QMHjH0i5Zb/L9ePMfC4l3D5R9qvk6e6grdEIsYQG1D+h+BJw
	WJs/zw3T8BX0SQ4B0XGNTkvU4UGCtsdnH5t6Homg=
X-Forwarded-Encrypted: i=1; AJvYcCV+t3MO9u/5CUbE744aF1sPsjjUWjMMhUnd6K7/NR+RqpYMg/s39tTWpsffBaz0OzOzT0OAfPV0qek=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyoU2Mrq7LlleyFNXdujw7tK7Zo3rsxxWdJ3toFsl2c3aaXNZn8
	Y98Ji+gLk+21alCu6Df7NHIl0dMKTNgbYjhRPhGDBb3EUHLzzHknrtNso4jNU6gI5NkzPK80RGD
	w8DnwjSJ86nL3zXcwMw0bSZ0Nu4w=
X-Google-Smtp-Source: AGHT+IEHv9tRdGmHBjv43ZrlV47ldcgucR7M6Jl1jlLZ7ayUZUCW7TWKwxXQA5kRxqxFGL/mMLMZa6IKwnwOdGTJ69E=
X-Received: by 2002:a05:690c:4d06:b0:6fd:3fd0:6f2f with SMTP id
 00721157ae682-6ff09260720mr56201737b3.26.1741699846613; Tue, 11 Mar 2025
 06:30:46 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com> <8d35ec8373b65bca2fe471eac7a17cb2a98db3fc.1741687645.git.Sergiy_Kibrik@epam.com>
 <16cb9d3c-c02e-487b-9982-466f0e2f0c41@suse.com>
In-Reply-To: <16cb9d3c-c02e-487b-9982-466f0e2f0c41@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 11 Mar 2025 09:30:09 -0400
X-Gmail-Original-Message-ID: <CABfawh=och+_ZsRSnZb01XOg50OGPSTvbdP45YJvS7xEATaiow@mail.gmail.com>
X-Gm-Features: AQ5f1Jo6cvXrq72K2DGM407J-RuiXJieHA2q56h6X-6ZlZozZdIShUbtjjeVnuM
Message-ID: <CABfawh=och+_ZsRSnZb01XOg50OGPSTvbdP45YJvS7xEATaiow@mail.gmail.com>
Subject: Re: [PATCH v3 1/3] xen: kconfig: rename MEM_ACCESS -> VM_EVENT
To: Jan Beulich <jbeulich@suse.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Doug Goldstein <cardoe@cardoe.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>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Shawn Anastasio <sanastasio@raptorengineering.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Connor Davis <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 11, 2025 at 8:01=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 11.03.2025 11:23, Sergiy Kibrik wrote:
> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -92,7 +92,7 @@ config HAS_VMAP
> >  config MEM_ACCESS_ALWAYS_ON
> >       bool
> >
> > -config MEM_ACCESS
> > +config VM_EVENT
> >       def_bool MEM_ACCESS_ALWAYS_ON
> >       prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
> >       depends on HVM
>
> I still don't see why we would then stick to MEM_ACCESS_ALWAYS_ON as a na=
me
> for the sibling option.

I'm not opposed to renaming it but it's also not something I see much
value in doing. It's not used anywhere in the code, it's purely used
in the config selector to mark that on x86 the
vm_event/mem_access/monitor bits are not setup to be compiled-out.

Tamas


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:33:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:33:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908147.1315295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trzji-0004h8-Rv; Tue, 11 Mar 2025 13:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908147.1315295; Tue, 11 Mar 2025 13: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 1trzji-0004h1-OI; Tue, 11 Mar 2025 13:33:34 +0000
Received: by outflank-mailman (input) for mailman id 908147;
 Tue, 11 Mar 2025 13:33: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=5FZT=V6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1trzji-0004gv-7p
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:33:34 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061a.outbound.protection.outlook.com
 [2a01:111:f403:2412::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69ca5d3c-fe7d-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 14:33:28 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 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.8511.27; Tue, 11 Mar
 2025 13:33:25 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 13:33: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: 69ca5d3c-fe7d-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NCKHTEe4y/QJQbJQ1lpSg/J7opKOkoWPutFr9wNtQ9kA/Z1XHfyWgnig3Ph+ZSA0GugN1OeVc2v11Fal9WgXWS41+EfXTZmhYRXRT5fj67ju4l/WfNIN8rRjEyfjkgSvjDN8WkAL3ZqJgddmWhnl2B/oJA0TDH0U9fUR52+KfGOh5bsCQR5h9QKf9qiIzi58izL/TRP9OqZ5bpckLn+vuP0gqeTNW/V9CUn7G1iTyWk91GE+tcVkiF4GolqTc41Y/1MnHaXVna8OEBhUoTXdevvayJSy6lS2xdv5IH6FID1uriIkLebnpXzbvAqp9A8cSbdsqvIGjRyeLTZosGM4kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XDHAVDN9PSSrx3B66DflA08/kQ1c9upqiB4ay8GMFIc=;
 b=jPZovbdDUXYVfNNsCJzimgCSq+pa6WzqQWDnHpZk9AdB3S5/DyZ8gse1Fj5lDYNI5mjw7CEsnnI66lwBu6M9keAA31SgFg4gqVmn09fuVxfsuYnWj/KDaEazpB6idnEH1hyvR2RlxWe1H23CTHmM6CEgjVlQ3RgwGPEhNqMsg39neYIPJ6yWd8i5BVHSZbm2DZBoNrILQa+In8bQ9V0drvZDM7zps+Haxr5T+ueepXg0LPkOIV9l5M0ByL7Sa/1Vwx5fuRPZvW6+aFih94kfucCK2vC1XYT3B9N7+xDyIPDxSu+YamRmr1bOlz8ib6cWpQu/voqy8MVwfDSKprx9Kw==
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=XDHAVDN9PSSrx3B66DflA08/kQ1c9upqiB4ay8GMFIc=;
 b=GXM1aM/p/YA2ixvus/oGbRD19Z7Q2ReqFQqDAQOmTRL4W63RxLJMGPfPaYZltIeI5e8GMgUcZ0tA5HNVvTaAB+mBkJP7HQu2up6ztGt3UHzHndc3zOY0tmYbugxmG+v9dYUoE6LJfZb6w3sPhpZZkn8fgKdTiSlSa8TE/3Ss+tE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <df198c67-afa2-405b-bef6-dd4a444dc320@amd.com>
Date: Tue, 11 Mar 2025 14:33:21 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm: Improve handling of nr_spis
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-2-michal.orzel@amd.com>
 <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
 <2d66e9e2-e6a4-4552-960a-2e8d95555ff4@amd.com>
 <17173844-577F-44C0-AA74-984ACAEBABC3@arm.com>
 <8b06403d-02c9-49d1-a5d9-5aef57dde3cc@amd.com>
 <69752546-1957-4515-B32F-DB541391AE8F@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <69752546-1957-4515-B32F-DB541391AE8F@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0262.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::8) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CH3PR12MB7763:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f827dbd-3e25-4e3b-3708-08dd60a14c99
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?OWVCWUlFTE5qK3ZPRjR5cExGTHRIWUo0YVA0SXNhSGpWTjNpK0FleWpPMmgv?=
 =?utf-8?B?bHVtcW1BNlJEa1lGNmRKbCtzS2RSd0ljMkI3WGUzUjRCcklzRWM1TWZyVHlV?=
 =?utf-8?B?WWhka1lhMWdlNU16a2NNVURORlVNOEFHVXhoV3c2S1JjVURiaDFEbng3Qjk4?=
 =?utf-8?B?WFROUWtCdm1lUnUvTHlKRDhBcWh6UzFtTkYwMjNqcU45QkdzSThUTmIrL3ZL?=
 =?utf-8?B?MVBtd3RvZjFuem5aZFJ6UjgxSzJKTm80VWdUYkJUTjJJMEdlcVB5em9Tc3hv?=
 =?utf-8?B?OHhBVlcvQ0RwLy9WK0NmSjFsT0prSlhBbkVYaThURVA2TzBtZWovZXRVUGJZ?=
 =?utf-8?B?ZFdBYmNxTUFieEhaQXdadlp1bk14Z0dwbjJOQTZIU2s5dDZlTmw5aHBPNXNI?=
 =?utf-8?B?cmRKL3JKVXV2S1VmTmVhT1Z4VW05T1RtR3E5QWZ4VWJLVEduc1FXM0xjeno1?=
 =?utf-8?B?ZUtSOFMzTTBLaHk1b3ZuT28wV2QwZ0F0TmJYako2S0l3K1ZZZE55b0xpdnA2?=
 =?utf-8?B?Tk40My9iSmovRTBSUG41NDNEWHUvRHNkTlovM0t3c20rTW1XZzNaa0J4VmRl?=
 =?utf-8?B?S2F2NDFPY1lXUmNpZkRxVjByN080R3FRcUJxTEQ1QXJuYmt5TmNEcGJNTWNi?=
 =?utf-8?B?aUF2UjRTekF1SnBsSDIvY0FFUHBSd2d3WjJWZDBiNUNzcUNzdFBwcnVoVGVl?=
 =?utf-8?B?Wmd5RnhzZzRheWNUK29IV2o5TEd1dWtXZHJJNEZzaFFReHA3dzZtcEtUTXBU?=
 =?utf-8?B?MGxKbkJMSEpESmJtOGZiRmFFeDUwT1ovaFU0VUNJekZjNU0rQlhsRHpOZmNX?=
 =?utf-8?B?eFVsM1Rzd2UzQlV0Vmk5ZEszZmxsbVFEVlZyR2VjSzB4anlEY1RHL1dxTTZx?=
 =?utf-8?B?NHpZdzVDYjVWcWt0Z2RlV0ZIMHFvUytqV2EveFY3bWdZc29Za0hYMkxMZXRW?=
 =?utf-8?B?WU0wdlJyMnM1aDl0SXNMd08yak9YZTBpeEtQLzYrK1RIeDlOdGRqa1NpY29t?=
 =?utf-8?B?MW5QUHdoTUNmRm1aeXFVUklaY3VnZU9NMlFEaFoyWnN6bGZBdlhUUnd4Vytx?=
 =?utf-8?B?YWg5aVo4WkZkVnJwWTl3VEd2MjV5Q1E5MEtGb2VwYjJiMGtBWEZERm1FRmRV?=
 =?utf-8?B?bkZDdmlieTQyOTFEeTNDc1JQVjlXeEhhdWdSWVp1WExNdHlhQnMxWnVpSzRR?=
 =?utf-8?B?M1BuajRtaWhxaHh1bUZyQ1pZK3JraUpQa0VOd2pLUWJSY0w3anhETWNsRDNO?=
 =?utf-8?B?bVpwTlBxa09GZnQzTVBFd1JoSjBtWnZXRmc4cHRERnp0ZGlTK1JCZEpOWEhK?=
 =?utf-8?B?STN6elZzNzQzTEZEWkNMaXRlU0xLTWRkOUNwd2ZVclp0YUhPQThkS21ucEQy?=
 =?utf-8?B?d2k1OUN4WEptckdxT0V5dklYUjNReXNnd21sc0tsN1NhV2tQMWh4WGh1bjUz?=
 =?utf-8?B?VVBSOU9sWm83MldXUUJJMG9jUlA5MjFHRE13TCtRN2dLYjgvR0hjeWE3bVQ1?=
 =?utf-8?B?WFB3VWFTZkpDNzYvMks2czVPS25kNU1TRmJUQU1sTVBWanlMc0o1amdrNXho?=
 =?utf-8?B?QlVVYTJCb04rdTFTdkhKMitMTk96L29DckFYTGVqajFtdy8zSE1LNmxnVXd5?=
 =?utf-8?B?Zlp1RGpuT2prMVNkcVQxaHAzblUrMXVGUlVFMHFsQVFuSnpFWkRTbWw2S2FS?=
 =?utf-8?B?dzE3eW5QOUx3SkxFT2lBNzBEcmp1c3NjbzU4ZkFSNUduSzhxTzNUNXVnK3Fa?=
 =?utf-8?B?ODVONC81ZHpQS0RycjAwNXdXWEJIWUNyZ2RKc3FDNjN4dDJFYy9FUnRJZm9F?=
 =?utf-8?B?dlFVbE5vV0hFMjhsSnJyci9yRnpTQll6c3dwdmJvZENhWmt4M0p3TTY3d2dS?=
 =?utf-8?Q?g7TybdWpNZASG?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?b3FsamRsaEVxSGVCUy92TVAwcWpiNWNUalJEbndSMUgrOW9tdDNZeUVjOW9U?=
 =?utf-8?B?cE9YQWJEMFQ0dTZ0ZG1WMTA4Zmd0TEg4WDZ4Q3FmN1JXQk93QmxDcUJjdm16?=
 =?utf-8?B?M1U2UXZCalo1cWp2dy9lcFJhSFM1d2w2dUNXSlRieTVlZVVOS2M4ZzNzeG9T?=
 =?utf-8?B?UHNTMHdyenpZelBwMXF1bnBFeUQraXllbXV5TmE5aEdWdm54QmRBSkE4aGcz?=
 =?utf-8?B?a2VNY1VUUlFQMUFlWUF6ajRmOEN0cDZ0ZFFYTjlvcFEwTE50M1JhUmt3UXJu?=
 =?utf-8?B?T2RTR2g2U3RpeG5jdUZlUlVMQ1dVT0NiWDUwRVZ3cktXa3JJMFp1alN2ZVVT?=
 =?utf-8?B?Mk5zNHU3TWlkaWRKZDJ6Z2YxWitkU0dwNnhiMUVUYWFlZnNyU0RsbytuQTEw?=
 =?utf-8?B?L0phbFFpZGpBeTJyQ1NqT0xOb3dJYnhYU0h6MEM4dzBoT0IyVGlEbFlnM2tK?=
 =?utf-8?B?VDczeWQrTk1TdDZFZDh1Y2ZKbHlZVDRDTlZuTllVYjJzUENLcEJlVkhRYUV5?=
 =?utf-8?B?L1RvRVNjQzRqYVR0OHBjcHFrSkZhN1kwRmJ0cmlJYVg2YzlialhwdUI3VE4y?=
 =?utf-8?B?Wjd1azdJbjNUb3NhbHN3V3M4ZkJSOVBmK3NnbkN5V1dGVU8zenEwUzVHc0Jo?=
 =?utf-8?B?M1ZiNk52NWI1MHg3V1JzQXBWcUpLTWVYdkdOaE9LRXlNeGtDazh2ci9PcTZy?=
 =?utf-8?B?dTZHbUhJQ1JkY3FwQ2pwbzAzTjZtaXFpNis3bklPKzBFeU5iODNNNDJqV1VM?=
 =?utf-8?B?MTNibkNaS3MvdzJOZlpJWGhxdCt4STdGZ2kzOFpKeDZ2WTB1RjJGYmdyYkJJ?=
 =?utf-8?B?SkV4RXJmWXJERUdaQ25VWWRRblA0bTR6c2RBZU1DMjA2dExPRlVPUWpvODlo?=
 =?utf-8?B?UVUyQ3VBbFpOdWpPQzZiem1IS2N4WXFWUWk0VWxta0lyd0NGUW5hb1Z6eTJO?=
 =?utf-8?B?clFIODAyWi9oUHp1SS91SCtaUGt3MmNHRmdWWUNORmE3anFjR0RPQ0lvN3RT?=
 =?utf-8?B?NHNycVJyK2U0QmRmampyWlE2cVRBaVVtMVhRRFNiNTgrUEd4MHcrM0ltL1M4?=
 =?utf-8?B?OUhDRUx0R2RMMWwrelUzT0VScGhGTHRqR1hBb2dzTTAxSmp4Z1pqaFNsck5V?=
 =?utf-8?B?UTV6VUZKblQzREhHVmQzbmwxUFhMc0RGQnpDK3FSdmNISm9Wc0o2azlabW9S?=
 =?utf-8?B?SHBvYUlKUmhwc3pwbXB4NDIrK3MxUlJUUVQ5Q2M2aU45VEJhRjQvWFF5U21O?=
 =?utf-8?B?MEdKZVpLRzgrcWJZTVIvNG9VMENYUjdVSEoyWTV6VG9wa01lR3dOR0QyeXQx?=
 =?utf-8?B?V1NEMjBwaXB6REtjSjROWUQ4ck4rNENVdzgzUFFHaDI2Z1FWZFJrZmFFTzlq?=
 =?utf-8?B?cGQxbjdqclhJYkxlN04yYnpEUFZEZXBodzVsQlI5bXlPcUNWL1ZUUnk3ZEFa?=
 =?utf-8?B?aVJKOUlvYUgzQ2lVYUF4dUN1VFhpTkF4dTdRZXMxeFUrZVN4dEprSlNzOUt2?=
 =?utf-8?B?QWw0TU9WMlBheitTWGY3MytRekNCQ2VuR1NPTlViTUU0S1p4VUJlMFVaTzVv?=
 =?utf-8?B?NjdBM0ZBZnl0WU5RVWMyQnRNbTEwd1ZESmNkTDdXTXNMbFRZMVJ6OXphTm9p?=
 =?utf-8?B?UGRYSC9KYWs0UGdqMFN1WFhrNmpnYzJlMXNRVTVtMGQ1MWF3QWdxL0RXamll?=
 =?utf-8?B?QkZ5ZlZNNEQxWExnUVhFUXU2OUhTVGZZSGoxTHplRXEzRHVQV3ZHclI3d01R?=
 =?utf-8?B?TklQL3RmekNielk2a0lrZkUyckpsNzJJbEVCelpUZUQ2SWMrZk5HQlp2ZmI4?=
 =?utf-8?B?NldpTTBleXJkNUgzTnV1YnlzK3psU3VHSDNNVU55NlFkTEVxbDNvNHl4ckJh?=
 =?utf-8?B?b05jbXVUa09PK1F3djdyWENCK3F3NzJ3S1IyMGU3enV2Q3IzTFdpRTlncmJo?=
 =?utf-8?B?TkNPLzJlTFJJbWVBci9mUWxFdXNxWU9ERE1sZW5pazc1UFlvVHh5NUUvNUEr?=
 =?utf-8?B?M245am5CQ2pCNjE0Zm1GMXpnOHR2MkQrSVdDUVhxOUlEb0h5dUQvaXRJekZS?=
 =?utf-8?B?UlF5OXZ4SWZiV0w0YWNrRi9SblFtWUVqWkJaRHlJdXFwNWo2cTNwL1A3eDdE?=
 =?utf-8?Q?4800=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f827dbd-3e25-4e3b-3708-08dd60a14c99
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 13:33:24.9366
 (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: w0CBlwERSZzRMATtux3nn9kLhzB8Vf84xZl6nFcIsQYWCJYKsgM10LSAtyyqomXD
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7763



On 11/03/2025 14:26, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 11 Mar 2025, at 12:06, Orzel, Michal <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 11/03/2025 11:12, Bertrand Marquis wrote:
>>>
>>>
>>>> On 11 Mar 2025, at 10:59, Orzel, Michal <Michal.Orzel@amd.com> wrote:
>>>>
>>>>
>>>>
>>>> On 11/03/2025 10:30, Bertrand Marquis wrote:
>>>>>
>>>>>
>>>>> Hi Michal,
>>>>>
>>>>>> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>
>>>>>> At the moment, we print a warning about max number of IRQs supported by
>>>>>> GIC bigger than vGIC only for hardware domain. This check is not hwdom
>>>>>> special, and should be made common. Also, in case of user not specifying
>>>>>> nr_spis for dom0less domUs, we should take into account max number of
>>>>>> IRQs supported by vGIC if it's smaller than for GIC.
>>>>>>
>>>>>> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value.
>>>>>> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
>>>>>> IRQs comparison common.
>>>>>>
>>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>>> ---
>>>>>> xen/arch/arm/dom0less-build.c   | 2 +-
>>>>>> xen/arch/arm/domain_build.c     | 9 ++-------
>>>>>> xen/arch/arm/gic.c              | 3 +++
>>>>>> xen/arch/arm/include/asm/vgic.h | 3 +++
>>>>>> 4 files changed, 9 insertions(+), 8 deletions(-)
>>>>>>
>>>>>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
>>>>>> index 31f31c38da3f..9a84fee94119 100644
>>>>>> --- a/xen/arch/arm/dom0less-build.c
>>>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>>>> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>>>>>>       {
>>>>>>           int vpl011_virq = GUEST_VPL011_SPI;
>>>>>>
>>>>>> -            d_cfg.arch.nr_spis = gic_number_lines() - 32;
>>>>>> +            d_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
>>>>>
>>>>> I would suggest to introduce a static inline gic_nr_spis in a gic header ...
>>>> Why GIC and not vGIC? This is domain's nr_spis, so vGIC.
>>>
>>> yes vGIC sorry.
>>>
>>>> But then, why static inline if the value does not change and is domain agnostic?
>>>> I struggle to find a good name for this macro. Maybe (in vgic.h):
>>>> #define vgic_def_nr_spis (min(gic_number_lines(), VGIC_MAX_IRQS) - 32)
>>>> to denote default nr_spis if not set by the user?
>>>
>>> Yes that would work. My point is to prevent to have 2 definitions in 2 different
>>> source file and a risk to forget to update one and not the other (let say if some
>>> day we change 32 in 64).
>>>
>>>>
>>>>>
>>>>>>
>>>>>>           /*
>>>>>>            * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
>>>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>>>>> index 7cc141ef75e9..b99c4e3a69bf 100644
>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>> @@ -2371,13 +2371,8 @@ void __init create_dom0(void)
>>>>>>
>>>>>>   /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>>>>>>   dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
>>>>>> -    /*
>>>>>> -     * Xen vGIC supports a maximum of 992 interrupt lines.
>>>>>> -     * 32 are substracted to cover local IRQs.
>>>>>> -     */
>>>>>> -    dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
>>>>>> -    if ( gic_number_lines() > 992 )
>>>>>> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
>>>>>> +    /* 32 are substracted to cover local IRQs */
>>>>>> +    dom0_cfg.arch.nr_spis = min(gic_number_lines(), VGIC_MAX_IRQS) - 32;
>>>>>
>>>>> and reuse it here to make sure the value used is always the same.
>>>>>
>>>>>>   dom0_cfg.arch.tee_type = tee_get_type();
>>>>>>   dom0_cfg.max_vcpus = dom0_max_vcpus();
>>>>>>
>>>>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>>>>> index acf61a4de373..e80fe0ca2421 100644
>>>>>> --- a/xen/arch/arm/gic.c
>>>>>> +++ b/xen/arch/arm/gic.c
>>>>>> @@ -251,6 +251,9 @@ void __init gic_init(void)
>>>>>>       panic("Failed to initialize the GIC drivers\n");
>>>>>>   /* Clear LR mask for cpu0 */
>>>>>>   clear_cpu_lr_mask();
>>>>>> +
>>>>>> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
>>>>>> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
>>>>>
>>>>> I am a bit unsure with this one.
>>>>> If this is the case, it means any gicv2 or gicv3 init detected an impossible value and
>>>>> any usage of gic_number_lines would be using an impossible value.
>>>> Why impossible? GIC can support up to 1020 IRQs. Our vGIC can support up to 992
>>>> IRQs.
>>>
>>> Maybe unsupported is a better wording, my point is that it could lead to non working system
>>> if say something uses irq 1000.
>> Actually, I took a look at the code and I don't think we should panic (i.e. we
>> should keep things as they are today). In your example, if something uses IRQ >
>> VGIC_MAX_IRQS that is bigger than gic_number_lines(), then we will receive error
>> when mapping this IRQ to guest (but you don't have to use such device and in the
>> future we may enable IRQ re-mapping). That's why in all the places related to
>> domains, we use vgic_num_irqs() and not gic_number_lines(). The latter is only
>> used for IRQs routed to Xen.
> 
> So you will get an error later such an IRQ is mapped to a guest. Tracking why this is might not
> be easy.
I did check and we get a nice error that I find good enough, e.g.:
(XEN) the vIRQ number 260 is too high for domain 0 (max = 256)
(XEN) Unable to map IRQ260 to d0

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:40:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:40:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908160.1315306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trzqN-0006J9-Mj; Tue, 11 Mar 2025 13:40:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908160.1315306; Tue, 11 Mar 2025 13:40: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 1trzqN-0006J2-Ic; Tue, 11 Mar 2025 13:40:27 +0000
Received: by outflank-mailman (input) for mailman id 908160;
 Tue, 11 Mar 2025 13:40: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=Gv3n=V6=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1trzqM-0006Iw-2T
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:40:26 +0000
Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com
 [136.143.188.12]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6203001f-fe7e-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 14:40:25 +0100 (CET)
Received: by mx.zohomail.com with SMTPS id 1741700419011527.3349630498233;
 Tue, 11 Mar 2025 06:40:19 -0700 (PDT)
Received: by mail-yw1-f179.google.com with SMTP id
 00721157ae682-6f6ae4846c7so51178527b3.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 06:40: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: 6203001f-fe7e-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; t=1741700422; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=aZ4aGQR+/lwThdYxdPKpVhDA4YD0RVXy4GWewc+YatxaIciYa6lz31ev1R6VPxpQXE58bemylJ9xv64Xh2DR7RHAkGGh0ppS1is7I0rKH/zcqecpWbfZ9GNw3s+4e37UscJH+8Gfo1lh6EFwlN8gepdj498nw3XHdgYiADWjfN8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1741700422; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=ropjuOrtlKTIQ5l9s9klP6ltBqFVvqKwMXaQP+BEcW0=; 
	b=PMl7rsJZJr1b2g5HdH4nmBj650Sfk/uGSPD7nLKlHPLELeERKNiVhf7/bD3wi/3vwyX1hPGyqm4050iowITl+I5/BAXhN+Y8/g5p3pbxVjWvvoUQEhIFs2eN/MmqOT2ZdDYdilt7fNDZCfaMmW3nRFn809Y89LqcGlqCrhxkRHg=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1741700422;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=ropjuOrtlKTIQ5l9s9klP6ltBqFVvqKwMXaQP+BEcW0=;
	b=NGFPTY59dem9/DDEKkIbuQ5J4L8BE6t/sC6JEOm9lhyCJ/DM2rhOFUvJUh8+Liwp
	4FA89pfJuXwMqBjNcp+xOBJCYwq8z830Q/dPPh9I2GQ4Sep6E3LgyRGNptjT3Af9Lei
	F6+wFT7YfSSeUH+T1pltgf/adbWcYWX/clL4Uo8I=
X-Forwarded-Encrypted: i=1; AJvYcCUcdNRMVCmWdWPQQco+sFl6TloY9ygvqG7P4suOElQzO0nb5+OAg0/YPoH/cXb9fkJZ4CsMUm6ii60=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVktrVjl/xevzsCjc+ovCNYZUp/jc1SrndSalFnyo+IDT3lz4m
	Za6/W/YusQquAVcRPCwJnrWVaKEcq2e1QH+m+wppPzc6JbNS3k6+p/xDbv0liqVs7DzxL9sRLqC
	CTFQgxaErvZQ/0yUtH3ofrIuA/E0=
X-Google-Smtp-Source: AGHT+IEHReOH1s+cVnJo5ip8ZwEahmuFMrm/Sh7yX74pkouvAoWBrM1FZwCbGWTYQdDIby8C79He4I7NWpNcqWJXvtg=
X-Received: by 2002:a05:690c:6e0a:b0:6fd:4473:5184 with SMTP id
 00721157ae682-6ff092b483emr51589077b3.35.1741700418114; Tue, 11 Mar 2025
 06:40:18 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com> <e37da57b94fd3bd4f314e6fbd7b6b94aee4b4607.1741687645.git.Sergiy_Kibrik@epam.com>
 <ebef450c-280e-43a4-9a48-e4d1f754ba03@suse.com>
In-Reply-To: <ebef450c-280e-43a4-9a48-e4d1f754ba03@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 11 Mar 2025 09:39:41 -0400
X-Gmail-Original-Message-ID: <CABfawhn2+CpxZx50oYXbi1NPkqJqT7=tMrhYbPZCGsCoQjkfAA@mail.gmail.com>
X-Gm-Features: AQ5f1JqJPDGUHz90JbENlsVVdDPCoHlzWmpzAQkdyF4oQCYWHLurXvOVPce3GOE
Message-ID: <CABfawhn2+CpxZx50oYXbi1NPkqJqT7=tMrhYbPZCGsCoQjkfAA@mail.gmail.com>
Subject: Re: [PATCH v3 3/3] xen: mem_access: conditionally compile vm_event.c
 & monitor.c
To: Jan Beulich <jbeulich@suse.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Stefano Stabellini <stefano.stabellini@amd.com>, 
	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>, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 11, 2025 at 7:59=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 11.03.2025 11:27, Sergiy Kibrik wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> >
> > Extend coverage of CONFIG_VM_EVENT option and make the build of VM even=
ts
> > and monitoring support optional. Also make MEM_PAGING option depend on =
VM_EVENT
> > to document that mem_paging is relying on vm_event.
> > This is to reduce code size on Arm when this option isn't enabled.
> >
> > CC: Jan Beulich <jbeulich@suse.com>
> > CC: Tamas K Lengyel <tamas@tklengyel.com>
> > Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>
> Please can tags be kept in chronological order? It's impossible to review
> a patch that wasn't first signed-off on by the author(s).
>
> > ---
> > changes in v3:
> >  - add dependency MEM_PAGING -> VM_EVENT

This seems to be largely unnecessary since on x86 selecting HVM
already selects it but I guess it also doesn't hurt to explicitly mark
it like this either.

> >  - monitor_domctl() stub returns -EOPNOTSUPP
>
> Seeing this, i.e. ...
>
> > --- a/xen/include/xen/monitor.h
> > +++ b/xen/include/xen/monitor.h
> > @@ -27,8 +27,17 @@
> >  struct domain;
> >  struct xen_domctl_monitor_op;
> >
> > +#ifdef CONFIG_VM_EVENT
> >  int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop=
);
> >  void monitor_guest_request(void);
> > +#else
> > +static inline int monitor_domctl(struct domain *d,
> > +                                 struct xen_domctl_monitor_op *mop)
> > +{
> > +    return -EOPNOTSUPP;
>
> ... this, why ...
>
> > @@ -88,7 +85,18 @@ void vm_event_cancel_slot(struct domain *d, struct v=
m_event_domain *ved);
> >  void vm_event_put_request(struct domain *d, struct vm_event_domain *ve=
d,
> >                            vm_event_request_t *req);
> >
> > +#ifdef CONFIG_VM_EVENT
> > +/* Clean up on domain destruction */
> > +void vm_event_cleanup(struct domain *d);
> >  int vm_event_domctl(struct domain *d, struct xen_domctl_vm_event_op *v=
ec);
> > +#else
> > +static inline void vm_event_cleanup(struct domain *d) {}
> > +static inline int vm_event_domctl(struct domain *d,
> > +                                  struct xen_domctl_vm_event_op *vec)
> > +{
> > +    return -EINVAL;
>
> ... is it EINVAL here?

I would prefer if it was consistent too with -EOPNOTSUPP for both when
the subsystems are compiled out.

Thanks,
Tamas


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:41:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908170.1315315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trzrh-0006rL-06; Tue, 11 Mar 2025 13:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908170.1315315; Tue, 11 Mar 2025 13:41: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 1trzrg-0006rE-TL; Tue, 11 Mar 2025 13:41:48 +0000
Received: by outflank-mailman (input) for mailman id 908170;
 Tue, 11 Mar 2025 13:41: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=DDdi=V6=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1trzrf-0006qn-5i
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:41:47 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90915968-fe7e-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 14:41:42 +0100 (CET)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by PAWPR03MB9666.eurprd03.prod.outlook.com (2603:10a6:102:2e9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 13:41:39 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%4]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 13:41: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: 90915968-fe7e-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ef2+n1+7rDnGIxX+UACgTHHuI40nMn1QKjVx5Wc6zomNfMhgPhcaM/8QXhrs+ooH003rvIK0b7gLnU0qOtkmYbvYJQvszV6cCflWl0ry4pMi2DqrMKNj5BCWHiUXpVd/qyNC3jb470EuP7m0PUaHfYJifA2VRxhkuvb4C8N1xjD/FS+TFDETZLN48GMEzIdxM65vbHmAoFhkBihgin+X7MYuutACFoCkxWH+EfIwCCuMGBQONSlvsCacJZFtGyJ/ezp+Qq18rLbiN28mHyom72BdjXEFlvN6sdadPOto7vs2nm8HeKXzFRJ+Ebg0EYEnH4Tkt2+1UCMJlgbBcrzprg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7YuYqFKk1rkc5lLc985EzvHyKJVMFYuAqXUlD1w9gEI=;
 b=bWsPhIHKFr+3dZ/qKbJhURwpBKK3hPlp4qQ716D7xS9+iOaYvA6y4S3OHbFOhPsePvJJx7eTYGhwqD2NmEYj4tFGXMBpx941yoTdSqojBy7Qu/kDslwkpDJQhQQRdjuuPXFeBErnLc6EjM4+UBxXkGG8xKw9t6wCR9KWbiwIL+B7/gx293qqR5M89NxqqxFwWEpGe+QI8MkYoXbWXvGniEwfCSmYU+aRaEbN9sBpz8YOVDC74pn3AgT47xP8LuPvv+Ko0Ieel23VQrixfk81PBLHGRe21evHg1ycZuUJny2WvUEy0KworI53UHNpn8VAp6a1t7UbWyJcHk01ODPulg==
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=7YuYqFKk1rkc5lLc985EzvHyKJVMFYuAqXUlD1w9gEI=;
 b=koiEtOWEOXtakoHeFL8ZLsgQEWEAYx/36hdqPP0Ma3y+KYmE8xTIADaxfxGGPLqApur+PUIib3ChMvOHP53KcZuQg81+z7/MiV9QBdIENV3guP/RMi3VlU+2xVRgBQh8Skpn1vQ6/TQ3O97L0JXliX9QiHtzqx3oXgw5oY6JwXBzdBUkI9Q2/JkZ4PEG41/jPQoaPYS/9wmpb++i4H4RwUeyjEpISk//tg+gTaj53cKZMrYCGu/O3nLctPiUI3mVOSX6+IQfaM6pkaLBwtRciXs/ADh2BTpIpwfG487BBJjh9s11QWVzGb6RRT13jk1rJyqP2xFo9CSnDnZa7wSHXg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <8b26199e-94f6-4a72-b1ca-efd65a6265c5@epam.com>
Date: Tue, 11 Mar 2025 15:41:35 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/3] xen: kconfig: rename MEM_ACCESS -> VM_EVENT
To: Jan Beulich <jbeulich@suse.com>
Cc: Doug Goldstein <cardoe@cardoe.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
 <8d35ec8373b65bca2fe471eac7a17cb2a98db3fc.1741687645.git.Sergiy_Kibrik@epam.com>
 <16cb9d3c-c02e-487b-9982-466f0e2f0c41@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <16cb9d3c-c02e-487b-9982-466f0e2f0c41@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0014.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::24)
 To AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|PAWPR03MB9666:EE_
X-MS-Office365-Filtering-Correlation-Id: 21748fc3-a37d-4c6b-efdd-08dd60a27265
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VHMyNHhjazFLNlJOSVN3amo3eHhOdjNmanNCS09ob0RkUVd4K21kNjAzelk0?=
 =?utf-8?B?MUw0STBGMjI3NE9tR2JHd0dOd08rY0I3bkpxTlBVOVdmdXNIZG5JcFZ5dlB1?=
 =?utf-8?B?anpmODA5NXd6WjR2eHA4UWwxdnlqZ1prYXBvdGRWclNwNDVETkxNZlM2WUd4?=
 =?utf-8?B?QkN6YjMrL0Y4cWppb2FNNVNTT1dwM25TK2hySXN0emlRN21xUllwYityaG5q?=
 =?utf-8?B?a3EzYnJyTlVnbnNQdHV3NDZDeER3QWZUTjBHTEMyNG1QbXlmcDRVeEY4R0xJ?=
 =?utf-8?B?aUpQTWNacGxmSnU2WEpidzlPMlBJcm5OM3BXVG9RNEx0cStGc1IwM3c2enFa?=
 =?utf-8?B?SVZjQ1RKWm1SejJRSFRpbjV4djltQkkrYTZEM29lM2x0N0drS2Y4T3BjV3p2?=
 =?utf-8?B?ZlNLU2FURnJBK1p0NnBmRXRBTmhWOXdwSUZjamc5UjR1WFcrMXFZSGVKRGdC?=
 =?utf-8?B?Z04yajNrRUZHVkphM3VIc2JuaTRsN2ZkUTcrdFRSRWt0bWZiSngvVXlaWlY3?=
 =?utf-8?B?UGk5cmtqR2VNTmFGOElFcnlTd3Z5ZkpKU3Nydm1yUDRuc1lGL3RoUWZQd0ow?=
 =?utf-8?B?UjJUK1lCMEhqZzh5S1dSOCtVbmlGUUVrdW54QThHRjBNMnFtZ3p5OTArN3hN?=
 =?utf-8?B?OTB5S0g2ZXBVNFh1S0Q3QlJxMlFaOVpoUHQ1ejQxU3pRVE1hZ2g5d1BHeHF4?=
 =?utf-8?B?dFE5Skp4b1R5KytuLzdBbldBTWNTbUNVRmoveGlwOXFma3BLRHkrTDhXQWNn?=
 =?utf-8?B?ZXp2T0ZkdWJvaVQzZjJrdjBiQ3dFM05PQlIxNytxNDYxYmVsaE12bUdhbjlo?=
 =?utf-8?B?M3dLZjIwZHVXSTZsSW8zdHZjNmEzTk1HcDRQRmpXbTNtaGFKZmtnb1hFZDNK?=
 =?utf-8?B?MFYyM3VpWGhTb05hUENUMDlEdjlMZ29NQkhyZmVZWWVLTnpKZWV3YTVFMU9a?=
 =?utf-8?B?NzN6MW1ZUjVYOUdIUlBTclQvY0VEdmdudmR2aUZYZ3lhTGJia0FHUE16VDZj?=
 =?utf-8?B?Y1djUlh3dU12V2wxRnNDUVdubi93VUZzVXd2dmVQbkZxZzJjL1ZuNHptVjJy?=
 =?utf-8?B?TXU5bGEvMEZJUzczTVNmQXh3b2Nlb1V1S25OckwxbW5nUXY3dm8rUWp5Nis4?=
 =?utf-8?B?azdxTUVQRFVaeTlJQzYvYzF1TDlFNUlac3dGS2RtWGx2aEdKNkE1VUpxVWNx?=
 =?utf-8?B?MTZ1b2FKcEdEVzdycTg2dHFtdFJNcnNXRjI3MGJsUlZLMzFkSUxMYkNVemto?=
 =?utf-8?B?YVZzOWpBSm52RmZPTXppc05BSEZhSlprZjFodXRJQ0NhK1hUTkJrQllBMmNZ?=
 =?utf-8?B?TFZoMUYyUnk0aUQwaC9NVEN0T0IrMUEwUStqNC9wTFJ4dzI5aVFQZEtJeU44?=
 =?utf-8?B?SG1oRnZtZFdmN3k3bnNNcEhEUDFBNGVIOU1wQ1RRRGlmdXkwNkVYSTFrRzFu?=
 =?utf-8?B?bjRCbW9LTTQyK2twMy9KK242UDI4N3c3SW92OVR3aHMySm9QNU5PalVzaE5W?=
 =?utf-8?B?ZUVmMHhjaTlvR292TzJaYmFrZ0ZIV1NGeXd1V2tSdGtQaWEyTmR6U2VIYmdO?=
 =?utf-8?B?UW95R3ZMMHFKcDJVQnJvdFVBSkJiQjVkRUFBUFNPQTZhMmZwK1ZqNDB0NWNJ?=
 =?utf-8?B?OU92MXhCVHNON0dvOTh4TDUvYW53M2VzUTJQZmpQU2g2cy9td2VXVU1rUDJu?=
 =?utf-8?B?bC9PYVdyVE9nOXdaNG0vOCtyMjRHTDJiS3VLV0M1TjA2RTNWVzFBa1I4cUNH?=
 =?utf-8?B?ckZ4Zy85VmZMRFQ4bHFDNlUvNldlRFF3Q3FLUG0xcDM3VHQ0Y2lHa3VhUWFk?=
 =?utf-8?B?ZGk1UmRpa3ZNWjg1ZUdwUnlkOGx4M205SjFFYUtTSE1HT01GRVlZcHAybnl6?=
 =?utf-8?Q?CKA8vexXc7lZq?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDNpRWsrbEwyTFVqSnF6M0JEa1VTVHM5bW1ZOEMxZzVlYy9rV1NMR3NLbkRE?=
 =?utf-8?B?Z2lkVEtmRVVSM21hZWtMckVvQTRHc2VQK0hUSUZnYlg0aWRVSnd1ZU92UzBW?=
 =?utf-8?B?TEowM1p1WG5iMExzaGlKQ2VQYkRPWVlNNW0zQTVTTmNmOExhUVVZa2Q5dnI0?=
 =?utf-8?B?c2REQ2phVnY2bmVYYXlFZVplVS93azErMHJsUFdoUmNXMXhLbVlCcHZEN28v?=
 =?utf-8?B?bXo4SVFSNmVFN3VxTG9zcFVBUG1HL3hKRUl6ZExHNG1BNDZqUDVodi93L0ZJ?=
 =?utf-8?B?dGNEcXZPc3pWeUFBdEE4WTlzVkIyRnJYalBZUXhPZTdHUEFxajNkVmtkbWk3?=
 =?utf-8?B?MnhJK2ZnWTBWNFJ6VHRaTENpdzRiakE1R3RrTDJBUUk1dU1DTVN5L3c1ZGMy?=
 =?utf-8?B?V3dyWU1lTjROcE11MW84b29LeFNlWmVXcGtNK21walJiYWcyempPL28zdi9F?=
 =?utf-8?B?ODFhWTFhUk0xU0RURXQwWHJHVG92eTR3U1pyWW15UXJ3WVVYbjl0bnNMN3A5?=
 =?utf-8?B?QXdRZXZhVE5xZC9URTd0WHFmci93SzdIT1lEcEYyeVFQVUZXZmlJU1hzYUpZ?=
 =?utf-8?B?WWxrSUMzbVV2UXFlaDE2WEkvcFJ2T3ZtOUpwa1REQWNsRENVb2FLbDZkaWUw?=
 =?utf-8?B?L1YzRU1KWitOb3BNc0gvWWJPUDFmNm1haDdNWXVuc2txMEZ6QWhEckRWZkpr?=
 =?utf-8?B?ZmFjTWpHTnZBWnZNOWd0VzRoOHZ4dW5zV09ER2xVNzFkMjJBc0R5ZUxHTlly?=
 =?utf-8?B?VWttcHQxSkVVYnhQWktWN1AzcVNWQms4VXRMVWI2R3BsZG1wa1FCWU1HaVpX?=
 =?utf-8?B?bzZxbXJUd0Z4UDMvZkJuUmtnc1Roc1lTR1g1N3ozakNCY3NpV1hGRHZBS3Fz?=
 =?utf-8?B?MFVmU0ZtYTRicWRXUk1jRXh1RFd6dUh5ZXpxSS96bkI0THZtVlE4ai9FaVBa?=
 =?utf-8?B?U1NMQ3Nrb1lWR2UySWVFZHBJWkduNUxaZC84U2RCN0lsYk4rNU1nTkd6SFI5?=
 =?utf-8?B?Q1duKzJpNUNZdU9BdHYrbTNjR0E4YW1OZENzUlljYXlmaFA5c0JwZTUwemVo?=
 =?utf-8?B?ZWJKUUhZZFpHcWRyWjhwdkFaVURVVCtVN2NjRFhlUTM2dktTQXNDa1hRVmht?=
 =?utf-8?B?Kzk0M2lBcVRUVEVjeXBoaDhpWVlvcjN5cTlWNDdIK3NCRjhBa050S08xMFZK?=
 =?utf-8?B?M0R5dVBZTVFKOGZuMHhXQ1FtcUNLd1lRc2kxOTZtNmxkU0VxMkZMQzFQVFEr?=
 =?utf-8?B?dHVqWVNjNFBubGtzdEU5QU9FMWRmbnFxaE9Fd3hqQTB2WElvNS9ESmxVNFRL?=
 =?utf-8?B?WHpLYm5qZUtDZCtyS24vMnR0U3lRNkc5ckU2WVF0eDYzUTJINDMydGZod0dh?=
 =?utf-8?B?ek5jVjB1cUFmNENPYWZMbkVJL1MzZDZvZklaM05nV0ZPTnRleVd5UVM1LzRQ?=
 =?utf-8?B?OXRoZUR6M3dNOXB5TmJQc2NTNGZjclFBNnFhTThqdlJpenYrWWJ1S2dyMDF6?=
 =?utf-8?B?WDhmN3IxVXQvcXhRa0NVNnRRSTc2amZLbW4yRDBwMytjRkpZNG9ncitaRG1k?=
 =?utf-8?B?UDJjdGJkMnlZWDJOWC9UNkJNbFpZRGR4a1FFdEM1UWpUbGNvbTQ2eUd1WVVn?=
 =?utf-8?B?VFRNSUFvTWtBaUl6c3Vpb2ErSDVua2NMT016MWZFZlR3blcyd3hpaHUrelNV?=
 =?utf-8?B?VWRJV0h2RzAxUzBsWEFXSGZLNlJVcWtXWmJhUWFJYWxCTnQ4ZDBFcXpSVHJw?=
 =?utf-8?B?RE5WTTFXSmwzWSt6TkFxazQwRVRlaEdIS0d5eWFHYmxGaERzbHNYbGJnUDIy?=
 =?utf-8?B?bDVxOTdNTWRpVTZiMXIzUC9OQmJXamgzSkpsSGZlK0N2dFcyTWVCMCt2WGJj?=
 =?utf-8?B?RWR3ODR3NEhvYjZNa1FmaDBKWUlkTUhWYlFIVTlRMGpMSDhMQnVKYXRLZ0hQ?=
 =?utf-8?B?NXZSVGFGaHcwNklHTzF5WnpORHQ5MVVmbnRjVFQ5d2doQzFERXhIaUNCV2dN?=
 =?utf-8?B?MFYxZHR0dDFnUTdPczdnOC92VnBWT2xHUGJRdCtoSyt5ZFpveUdzNmxZRGVs?=
 =?utf-8?B?UHJaS3VQUC93cVpWcGx4SEkwQUhKVExsMnd2N0s3YW9aTjVtanJndjZMUlh0?=
 =?utf-8?Q?Phwfh0YwmP5s42MunW02zqtlZ?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21748fc3-a37d-4c6b-efdd-08dd60a27265
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 13:41:37.8285
 (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: xvkj7Juvs8b4cMOOGzNKVMXvJp+bpCuYcXwMtua9AGZ5jKcAyuzTYxIkrIfaEEjQI5nRl+zlL6YP8Ny18l+Z8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR03MB9666

11.03.25 14:01, Jan Beulich:
> On 11.03.2025 11:23, Sergiy Kibrik wrote:
>> --- a/xen/common/Kconfig
>> +++ b/xen/common/Kconfig
>> @@ -92,7 +92,7 @@ config HAS_VMAP
>>   config MEM_ACCESS_ALWAYS_ON
>>   	bool
>>   
>> -config MEM_ACCESS
>> +config VM_EVENT
>>   	def_bool MEM_ACCESS_ALWAYS_ON
>>   	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
>>   	depends on HVM
> 
> I still don't see why we would then stick to MEM_ACCESS_ALWAYS_ON as a name
> for the sibling option.
> 

as HVM requires mem-access to be enabled I felt like it should be kept 
as is -- to hint that it is mem-access that ties vm_event to hvm.

  -Sergiy


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 13:43:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 13:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908179.1315324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1trztf-0007RX-AY; Tue, 11 Mar 2025 13:43:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908179.1315324; Tue, 11 Mar 2025 13: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 1trztf-0007RQ-7s; Tue, 11 Mar 2025 13:43:51 +0000
Received: by outflank-mailman (input) for mailman id 908179;
 Tue, 11 Mar 2025 13:43: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=azTi=V6=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1trztd-0007RI-8i
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 13:43:49 +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 dbeca8ad-fe7e-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 14:43:48 +0100 (CET)
Received: from AM6PR10CA0104.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::45)
 by PA4PR08MB7668.eurprd08.prod.outlook.com (2603:10a6:102:265::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 13:43:46 +0000
Received: from AM3PEPF00009B9D.eurprd04.prod.outlook.com
 (2603:10a6:209:8c:cafe::ec) by AM6PR10CA0104.outlook.office365.com
 (2603:10a6:209:8c::45) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 13:43:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF00009B9D.mail.protection.outlook.com (10.167.16.22) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 11 Mar 2025 13:43:44 +0000
Received: ("Tessian outbound 0ad77f8d5963:v585");
 Tue, 11 Mar 2025 13:43:44 +0000
Received: from L6c144ed7cf42.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D353C4E2-9270-4041-AB00-D95F335719C1.1; 
 Tue, 11 Mar 2025 13:43:38 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L6c144ed7cf42.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 11 Mar 2025 13:43:38 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DB9PR08MB6329.eurprd08.prod.outlook.com (2603:10a6:10:25a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 13:43:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%6]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 13: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>
X-Inumbo-ID: dbeca8ad-fe7e-11ef-9ab9-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=sjjsdhRYomavd6rBsdr60fa4oxvn8M7P/uCGgE72XinyE6NBvpjxgto84logbLnwJfCv23Ko4mRF0xdOK8TYP3TcieLgysfk4a1C3tIBwyxf3U2rVz6VR6bj3nt/VWdSQw/aIx8RcNLIhIZwM8xXoXuqLuqw4ZxF6Ohar+Xb1AH8AoRfSjEYhGSAf+m/h2/IfqKzvoAqixoLhs0n1cBRlANHSd0C6fdvIJtoUZOiMwzrAmhN6e4bqBeu/1Dlo6V3aotf2Ax7TY82HBXjwwWRs5iglV/Z4rlcc1Cro3ABwXqkRY01fH4BGk+4xu9oFKVtnYT0G8cIc8wbaoDNYJ1O8Q==
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=9MaYazL/QznHhlf+iCXh4lPyN8s3Cz1DVGUqb08LyYw=;
 b=QTYTG6CPopaF+sr2xFzzVKVkAvyCByuvCS/1zN5pCbkiMH0m2EuIohFjtZuRSzc41s6ec77TBVpPKZRWzWhKxaylQhOZk7wm49mggD7FtyfNDb4MttcDaW1FwQk3NCQ5qa0wWP7ZYCpWjNI39wtxKpT/WC1aNVudfx0fDvfBAiJSk0jRkvN7kA21YFMr092LqKbfyOZI/hK0sgSALOgJNe7+qAh2UVk/OQajIMOL3UW+YAvR7NF2yiQKLwfsq0mmUeLLsQiZlXXofKt6IVga+VoT/8m5E/6TKt3O6WpJuDtmS5dKDihF8kCSe09TPZ4m1n4be52kAjWrPfNUCETI+A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=9MaYazL/QznHhlf+iCXh4lPyN8s3Cz1DVGUqb08LyYw=;
 b=HaiGtdWR1QHO90rc2nz4YhzHMIfK8Cn1LxhcReRDO1hcpqvrlFIatPTUAtDTN7GAz3cGzhIz1uvZRx71Z4N+xnZQZKxO6dfeqUUO2RTeFHwyf5ZYSCFa2pQb0vPFWkLxCtXaDLPYQ0tKGbtLF3Oi+4tdTX10Z8gTi1T8UqCVJyk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 673977a811bef0a1
X-TessianGatewayMetadata: AUiDmhejoeCDGvHFZM+PoaoY7ZO/xcOkZMcRxgaPXPkdT02a0iEFKQeixWgLR0qjzj4h3JE40QwtmJOe9ndDrwoHgl+Pjw5AAUqdqzqF8qHmQbCK63UWN1TeywFWVH7UOS7zC1kMKQyJZ7JVkYR0exMThBTGV2TCim0QE/lxOgk=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=B8Gl8CKxX9prr1Oa/e48deiN28aNLtwOFVCLF3z+WCWnr3/FR3UVnsHhWvvKvF1FWjNebLW4bdbp7kYWT3cmuPPOdPGXMeRNsG9l+a4BB4l7WO72Jcoh1tsL9yV0IHahmYFFHp/ytWnQanaz0Kcuux0rDhYFw4kzqCbChREXf51KbNeyiuqlvZ5odROj2rQ5APaLXXRyOZzlmZw3PXFsnjRUjyQP2UgGpMyX6RBlOHV6hkgOhdwbZQyCMlFEfJ21kPdcV3KTcCtmlv/3VRzHf2tTLeQdEDt7/50TAoLXnzjRhbOY9MnLmomJ7sgu2MoP6TGY0w5wefYrdb2NfFX1dg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9MaYazL/QznHhlf+iCXh4lPyN8s3Cz1DVGUqb08LyYw=;
 b=i1UnVeT7Dca8pv9cEprPRxrxPukEWHmxIoDbYw5GdwYiSrAiwN8wfL1MTQJBNB39hOc7mK2Xe1eMyzymUDiHH/TPATSBV5fgaAV7EUSjWpNTCstruhNYMx1i1x472xPLVkiQqeEKRYrlf6exrJqLRs9k49wYZyV/J0HspGJ1EBB9zzAmuN17AfRo7Kl17ZllYfb7E3pw545rxfrk2sO+EjgwD1qnlmK8or47wto2nDBMp4qvdAm7Yw3h7UE2cNMAdopnNKga+DaZv5z2JhEWxuR5TYkaABW3pTh1Ctx7x9WVHaqpwEmCu3074uGOgXEY9lAJbqVOt8R037UV353UmA==
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=9MaYazL/QznHhlf+iCXh4lPyN8s3Cz1DVGUqb08LyYw=;
 b=HaiGtdWR1QHO90rc2nz4YhzHMIfK8Cn1LxhcReRDO1hcpqvrlFIatPTUAtDTN7GAz3cGzhIz1uvZRx71Z4N+xnZQZKxO6dfeqUUO2RTeFHwyf5ZYSCFa2pQb0vPFWkLxCtXaDLPYQ0tKGbtLF3Oi+4tdTX10Z8gTi1T8UqCVJyk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Topic: [PATCH 1/2] xen/arm: Improve handling of nr_spis
Thread-Index:
 AQHbkmScFxwSwnbWbUmo6sX8GQY3CLNtq7oAgAAILgCAAAOLgIAADxuAgAAnBoCAAAHygIAAAtCA
Date: Tue, 11 Mar 2025 13:43:35 +0000
Message-ID: <13086ECA-62BE-4820-83A6-D05C84FA3D39@arm.com>
References: <20250311090409.122577-1-michal.orzel@amd.com>
 <20250311090409.122577-2-michal.orzel@amd.com>
 <69E0A550-5B43-4AE4-AD19-0456AA280871@arm.com>
 <2d66e9e2-e6a4-4552-960a-2e8d95555ff4@amd.com>
 <17173844-577F-44C0-AA74-984ACAEBABC3@arm.com>
 <8b06403d-02c9-49d1-a5d9-5aef57dde3cc@amd.com>
 <69752546-1957-4515-B32F-DB541391AE8F@arm.com>
 <df198c67-afa2-405b-bef6-dd4a444dc320@amd.com>
In-Reply-To: <df198c67-afa2-405b-bef6-dd4a444dc320@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DB9PR08MB6329:EE_|AM3PEPF00009B9D:EE_|PA4PR08MB7668:EE_
X-MS-Office365-Filtering-Correlation-Id: 41245b4e-80e5-4344-f6c6-08dd60a2be21
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|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?rgkwW+TJQoKTl4V4Qp7YYnzW9e+EqmYrZNg3LW4SJxdVdCiI4tL55oI6u4cE?=
 =?us-ascii?Q?DP2Mh4GJ1vsfVEkyKIb16hRybQ2Gc/wa8fY8ksw0ds069ooAvLh3glrI5chr?=
 =?us-ascii?Q?QlpHuauT/Tj8+9s4LDNFhnWDjommGau2NQFStDVit7QYw7c6wNPrySZ/yU+U?=
 =?us-ascii?Q?G45vPhjDpARr0qGeTXqktgV9AXUFjpv+5D5XAG34l7AOOVF9bxQNMTrspAyl?=
 =?us-ascii?Q?z4/lHvunSBN1q6/rY2DTolL33Qg4AnAdv5cpV9DnMT0nEqeddQuuIUcPgST1?=
 =?us-ascii?Q?RvrTNJMdTUdED70bLZWPoE636qn71alf2tOx4E7PP4bao3x2/5XXzKrSB5yG?=
 =?us-ascii?Q?XbkR46OXesbh03mHurkLaziw5bRuXTJMPMGm1NzgsPMlHxsKvlG+U5lyBP3W?=
 =?us-ascii?Q?oKJF2KqpkAk83h7/MeWro9oUcolO+3oGGK15Rq2Ht713ZTjSP7FJrJXU4LFw?=
 =?us-ascii?Q?X2uIvvsJwLhIwuqaIFd0RZtn6Y9L+71YMxlVNGByzt3Frw6gJy/STKmI9g81?=
 =?us-ascii?Q?OPA8UVRY6hGDg7WvMkRJFTZCWLgthyDznip4//Bi2nKzzTwbNGT94Y9O7Lqh?=
 =?us-ascii?Q?wE5/RB7LC0tJlDwWlKxEDt1SbJo8Tiw4gE5ahvpCqgAQSokLuLkPd+zX43XO?=
 =?us-ascii?Q?pn5cSifxn6ak3hZovzX5FZCxxNVeSYTMiOpW6BxV5JzijgTysRB5tDwqApUk?=
 =?us-ascii?Q?Vg/CPQBmHugzKN/Xk7MEHfglna9Nd05mqBkrkGlqtZqvtW0+j2+prLMC+oJK?=
 =?us-ascii?Q?5j5LK4p2ThODYpqB/AynenU2zc9LPz3Y1Ufh0OscfHWD83X9Jbra6dX0zXc0?=
 =?us-ascii?Q?wXZ5bzUOoNbuxc53yBV/A0rJDGPvNmfwDDOKQPjgHzLOw0vtP3TGDSKXWssA?=
 =?us-ascii?Q?+tpUQ7hEKSr30rOP3Dy6Cm+TVZF403Xuq5xlc2Vj1TXvLhmJrqKsRzS016qy?=
 =?us-ascii?Q?rHyp0u0l1mMyt3oY+2Vp8kuptKgtexMzrySpRulHkJJsQ3rdKYNCLUztZ0h0?=
 =?us-ascii?Q?e2zMl3RTWVNxtsJtWrdvokpBIqC5fVXO5c321Rw4FX/DhxYVyaK93c3cpEgp?=
 =?us-ascii?Q?Rmma4KaWBKVlJnbIrlGon0ghZxjBnEFRq/0w7GIieWYc+iooOjdJPqklxUyK?=
 =?us-ascii?Q?hTGjb74GdI6Tw948OZbagZ2cNex6/bviJUH1AuY93CnBM0UJgi6n8utA7VsG?=
 =?us-ascii?Q?G+NEz5MPowjZX0rSrrJG0m4EA2OutEQCqGXdzZd+U9UCYVdthtAIaH/05TgD?=
 =?us-ascii?Q?fAJXkVl5FwPEsn3EyN6Foz0PE218PCdjR+xV0CYQyfE7rrhV1KEl/LLck8f0?=
 =?us-ascii?Q?8LZNMeDxuldrTJxDDcX88jeRTtTVNT47YvN/vs57KwB29HEXxulX+urJjDDy?=
 =?us-ascii?Q?7uS0RIZzzgYXYGcLItgq2w6bx/A2TadQfczoea2btFyUk0KXN4a3M5TDwzIG?=
 =?us-ascii?Q?zoEMrYQp8/akfU52JgwC2+1RNRGcR4iE?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0AAB114CCAEB0D4B8E6B55824F8783D0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6329
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF00009B9D.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7eaa0527-09cb-4d31-2fd7-08dd60a2b8b8
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|14060799003|376014|36860700013|1800799024|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?K4xZ1XMSSoosdCh9/uiJb36yyJ5jfwiyFOZHF6GedwKUHMc705CDKgUvPqtw?=
 =?us-ascii?Q?gfw4ObzjxhV8+DmXYsH/bwKd3wC8sxy8QP60s6Ua1dMafj7h2aUcpoQdefOw?=
 =?us-ascii?Q?doW9NnD2avsFoSe2lWCLJr2OBxR2Q1RaacdR988wGP8wOMVOeZ6Yd/EQ4BUA?=
 =?us-ascii?Q?N69Aw7IbL7p58Fz3F8b5CtyleYVQvtf76Lib+C6jDVLVDTJdPvFyptLVjr1i?=
 =?us-ascii?Q?KG8QxPEqdP2Q4elJ7OaShS0G6eGaD2FVZDsVTUCq9XE65yzYQX2CNLoaeDzB?=
 =?us-ascii?Q?fwbeQIo15an9HAmZGUFyZB6d3BItT7iFSNQRoJz5bBTyaBV03z3AmVb1x9/c?=
 =?us-ascii?Q?owBjnZb7VsogOMSRcOKarRrm1WqxYtirrkt4qP+e66/ePWFe/xmF/c9KehLQ?=
 =?us-ascii?Q?IWinuqBEn1/ksjKmz15f8Q8Z08Ymvq+ZqC5N4wp4aXtnjLqSDneQl0SbKRIc?=
 =?us-ascii?Q?w1kZSCcViP8O1HUxSDd+5izh9lKkE3Y21JXUcT02Q8zTsF3QkEDEeqnoc6rK?=
 =?us-ascii?Q?rWrf9b++E6mQiN117Vzmex97Uoeq0QHGtXbEG7qVnwfW/S/FJMA2XYq/UeoA?=
 =?us-ascii?Q?DEdPPc4eHi5Gzsi4XD9CJ+XFfxHIj0HcjNj+z45Ycm7lbNafDv8dnh/ufSAN?=
 =?us-ascii?Q?thaFYIbGK5oDxHGDBFprUK/EKI71sUc2ejhTzqJjR8BDKfNf9Q4gstx7gB2b?=
 =?us-ascii?Q?nZ2O4IGUJaeZq52jw67LDKRYL9GV3ViEZxii+Ke7o26QlziMCKk9GpxIvF3k?=
 =?us-ascii?Q?/s/afcUbCSdsDMkm4Ka2qPKt4goEbMaTniEThNPEuTIdhk5rS7KZkccb1MA9?=
 =?us-ascii?Q?UfWb8isudXF/OMAOoDO9dwUwMxci+mJRhteRFbqEt9WsOhfos8hfv50t3ZcV?=
 =?us-ascii?Q?lNtAYpUBw5a2x+0jvVVE3/ug1OJR5R93TmhiXweHcqmnvkPYCd397sZwc66f?=
 =?us-ascii?Q?tvmQTxDZR8wfG2wPiCQ8ObgRpJ39C8ivxDcmpHUYG3g3v1Fre8HwmSwLgoBH?=
 =?us-ascii?Q?2Bv9AT35Dk0zsh7FpfYAs6BpAQaF07mMklkUZSmLD8DTZeiq3LVWbkDrer6O?=
 =?us-ascii?Q?BGR0+VI9LWM+mLvxt4936/0OQI7hs+BUvDb9kWbk81A+LGWY9XZLbQWR7amE?=
 =?us-ascii?Q?r1o72xPGHneh+mhwtoRs6uHad6NVR6brwftUgDqLLd6qsmyYKeadw417v9Lm?=
 =?us-ascii?Q?G4uDG0ckb7KCkZb8HsEwS8fM9QMK14kx6cYULH7OoibbmoKNRmtLMQ8KN7WI?=
 =?us-ascii?Q?8Aoqk7eMtjyNSdZ/pAx33levnTDfB8BlPGrtrR+fP8fE0q9F4Fz+kwzLPNnr?=
 =?us-ascii?Q?ZTNJamNXeFDaYelrGdS8e4s2jFOfABMTmKUk/6FU2DyyPoFDGESUUFFWFect?=
 =?us-ascii?Q?6iTOFjlP1X6GM7+yoUDeR7m8/BobROekkIKKYp++wPVb+XRo5YhiJuTosmbX?=
 =?us-ascii?Q?Yl2NXI20b3h8Hi3RkUyAOXVxWfzDlLyxr5xk6nCOm0+9DV+YDzvZW9XGH+Iu?=
 =?us-ascii?Q?Wxl6HnDH/PQE6kM=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(14060799003)(376014)(36860700013)(1800799024)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 13:43:44.6718
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 41245b4e-80e5-4344-f6c6-08dd60a2be21
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF00009B9D.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7668



> On 11 Mar 2025, at 14:33, Orzel, Michal <michal.orzel@amd.com> wrote:
>=20
>=20
>=20
> On 11/03/2025 14:26, Bertrand Marquis wrote:
>>=20
>>=20
>> Hi Michal,
>>=20
>>> On 11 Mar 2025, at 12:06, Orzel, Michal <michal.orzel@amd.com> wrote:
>>>=20
>>>=20
>>>=20
>>> On 11/03/2025 11:12, Bertrand Marquis wrote:
>>>>=20
>>>>=20
>>>>> On 11 Mar 2025, at 10:59, Orzel, Michal <Michal.Orzel@amd.com> wrote:
>>>>>=20
>>>>>=20
>>>>>=20
>>>>> On 11/03/2025 10:30, Bertrand Marquis wrote:
>>>>>>=20
>>>>>>=20
>>>>>> Hi Michal,
>>>>>>=20
>>>>>>> On 11 Mar 2025, at 10:04, Michal Orzel <michal.orzel@amd.com> wrote=
:
>>>>>>>=20
>>>>>>> At the moment, we print a warning about max number of IRQs supporte=
d by
>>>>>>> GIC bigger than vGIC only for hardware domain. This check is not hw=
dom
>>>>>>> special, and should be made common. Also, in case of user not speci=
fying
>>>>>>> nr_spis for dom0less domUs, we should take into account max number =
of
>>>>>>> IRQs supported by vGIC if it's smaller than for GIC.
>>>>>>>=20
>>>>>>> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 v=
alue.
>>>>>>> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC=
 max
>>>>>>> IRQs comparison common.
>>>>>>>=20
>>>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>>>> ---
>>>>>>> xen/arch/arm/dom0less-build.c   | 2 +-
>>>>>>> xen/arch/arm/domain_build.c     | 9 ++-------
>>>>>>> xen/arch/arm/gic.c              | 3 +++
>>>>>>> xen/arch/arm/include/asm/vgic.h | 3 +++
>>>>>>> 4 files changed, 9 insertions(+), 8 deletions(-)
>>>>>>>=20
>>>>>>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-=
build.c
>>>>>>> index 31f31c38da3f..9a84fee94119 100644
>>>>>>> --- a/xen/arch/arm/dom0less-build.c
>>>>>>> +++ b/xen/arch/arm/dom0less-build.c
>>>>>>> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>>>>>>>      {
>>>>>>>          int vpl011_virq =3D GUEST_VPL011_SPI;
>>>>>>>=20
>>>>>>> -            d_cfg.arch.nr_spis =3D gic_number_lines() - 32;
>>>>>>> +            d_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MA=
X_IRQS) - 32;
>>>>>>=20
>>>>>> I would suggest to introduce a static inline gic_nr_spis in a gic he=
ader ...
>>>>> Why GIC and not vGIC? This is domain's nr_spis, so vGIC.
>>>>=20
>>>> yes vGIC sorry.
>>>>=20
>>>>> But then, why static inline if the value does not change and is domai=
n agnostic?
>>>>> I struggle to find a good name for this macro. Maybe (in vgic.h):
>>>>> #define vgic_def_nr_spis (min(gic_number_lines(), VGIC_MAX_IRQS) - 32=
)
>>>>> to denote default nr_spis if not set by the user?
>>>>=20
>>>> Yes that would work. My point is to prevent to have 2 definitions in 2=
 different
>>>> source file and a risk to forget to update one and not the other (let =
say if some
>>>> day we change 32 in 64).
>>>>=20
>>>>>=20
>>>>>>=20
>>>>>>>=20
>>>>>>>          /*
>>>>>>>           * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map =
is
>>>>>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_buil=
d.c
>>>>>>> index 7cc141ef75e9..b99c4e3a69bf 100644
>>>>>>> --- a/xen/arch/arm/domain_build.c
>>>>>>> +++ b/xen/arch/arm/domain_build.c
>>>>>>> @@ -2371,13 +2371,8 @@ void __init create_dom0(void)
>>>>>>>=20
>>>>>>>  /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>>>>>>>  dom0_cfg.arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE;
>>>>>>> -    /*
>>>>>>> -     * Xen vGIC supports a maximum of 992 interrupt lines.
>>>>>>> -     * 32 are substracted to cover local IRQs.
>>>>>>> -     */
>>>>>>> -    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), (unsigned in=
t) 992) - 32;
>>>>>>> -    if ( gic_number_lines() > 992 )
>>>>>>> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceede=
d.\n");
>>>>>>> +    /* 32 are substracted to cover local IRQs */
>>>>>>> +    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), VGIC_MAX_IRQ=
S) - 32;
>>>>>>=20
>>>>>> and reuse it here to make sure the value used is always the same.
>>>>>>=20
>>>>>>>  dom0_cfg.arch.tee_type =3D tee_get_type();
>>>>>>>  dom0_cfg.max_vcpus =3D dom0_max_vcpus();
>>>>>>>=20
>>>>>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>>>>>> index acf61a4de373..e80fe0ca2421 100644
>>>>>>> --- a/xen/arch/arm/gic.c
>>>>>>> +++ b/xen/arch/arm/gic.c
>>>>>>> @@ -251,6 +251,9 @@ void __init gic_init(void)
>>>>>>>      panic("Failed to initialize the GIC drivers\n");
>>>>>>>  /* Clear LR mask for cpu0 */
>>>>>>>  clear_cpu_lr_mask();
>>>>>>> +
>>>>>>> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
>>>>>>> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceede=
d\n");
>>>>>>=20
>>>>>> I am a bit unsure with this one.
>>>>>> If this is the case, it means any gicv2 or gicv3 init detected an im=
possible value and
>>>>>> any usage of gic_number_lines would be using an impossible value.
>>>>> Why impossible? GIC can support up to 1020 IRQs. Our vGIC can support=
 up to 992
>>>>> IRQs.
>>>>=20
>>>> Maybe unsupported is a better wording, my point is that it could lead =
to non working system
>>>> if say something uses irq 1000.
>>> Actually, I took a look at the code and I don't think we should panic (=
i.e. we
>>> should keep things as they are today). In your example, if something us=
es IRQ >
>>> VGIC_MAX_IRQS that is bigger than gic_number_lines(), then we will rece=
ive error
>>> when mapping this IRQ to guest (but you don't have to use such device a=
nd in the
>>> future we may enable IRQ re-mapping). That's why in all the places rela=
ted to
>>> domains, we use vgic_num_irqs() and not gic_number_lines(). The latter =
is only
>>> used for IRQs routed to Xen.
>>=20
>> So you will get an error later such an IRQ is mapped to a guest. Trackin=
g why this is might not
>> be easy.
> I did check and we get a nice error that I find good enough, e.g.:
> (XEN) the vIRQ number 260 is too high for domain 0 (max =3D 256)
> (XEN) Unable to map IRQ260 to d0

Agree this is enough. If the user does not get why it says 256 it will
be able to find the warning earlier in the logs.

Thanks for digging

Cheers
Bertrand

>=20
> ~Michal




From xen-devel-bounces@lists.xenproject.org Tue Mar 11 14:15:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 14:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908194.1315335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts0O1-0006BQ-PL; Tue, 11 Mar 2025 14:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908194.1315335; Tue, 11 Mar 2025 14:15: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 1ts0O1-0006BI-Mj; Tue, 11 Mar 2025 14:15:13 +0000
Received: by outflank-mailman (input) for mailman id 908194;
 Tue, 11 Mar 2025 14:15: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ts0O0-0006BC-Pk
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 14:15:12 +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 3df22a14-fe83-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 15:15:10 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5e5491eb379so9302575a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 07:15:10 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac2ab8298b0sm261932066b.89.2025.03.11.07.15.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 07: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: 3df22a14-fe83-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741702510; x=1742307310; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=uNnsAbmPD8b+15vtMIDn6Lm5/u5b5xODSC7AIl4Ti2g=;
        b=TKONsod4Rwfc2VJx+Vw3OVc7vA6DEAEECgNThH8m7a8LhgX/lIKH/uUzEtUXUMzC7D
         ejaEe7rAM2xOk33hSGfntMAoEiWPf0OyIjqdoW3NeY3b5DWeRx5C6cu38WHYG+z54g0I
         3Fa/mUW56FHPdI4pBW3+mJGqNZ3RkJmPtKG4M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741702510; x=1742307310;
        h=in-reply-to: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=uNnsAbmPD8b+15vtMIDn6Lm5/u5b5xODSC7AIl4Ti2g=;
        b=V0nSoInxotMt8ErmH75dWQTrRH88k3RkPBupxdOUL0fNYDBKlPiUqPCsQ0MdsKwfTU
         EVbXEW+EcR+Fy667bMeJ5ZnBQJXW6I5RfobAeTLUB1Prd7KE02yw0FHT1UtpNGfWamQf
         AS4mHapFuilBmA0XSLZ4STVyifaTRrK55CbeilKYvnY74PnbdNUfAHGJp19oQymkC90D
         trjUN6EmRn07qVh0/ahl/GCWTpSo17jOSko4vzHSclblGWU4gt+BdA6pwxxYcQm8pOAC
         BcbJnDbeaE7ugAv2IJvIu0wnGRDTGgZWTnhQa8geZSi/0LHSi3WpLwQZ/pDtewbMYQui
         ua3g==
X-Forwarded-Encrypted: i=1; AJvYcCU60q+Csqjpkj5n78NuGJhOwU7gn9KABZulWRa8TqccbxgFvLD9kU0QykDe5+KhKVJMcwBWq4Avib8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxN9qQqnyUJI9ZsCFqlU2CqIw6uHzLTIxPT4oUTfRaUn5muecwy
	oILub2BmVoYOp44AxD+gK4iTwY4KAhVmu7Cb1V65w08FwNiOTK9w2hwnLaZ1FuQ=
X-Gm-Gg: ASbGncvmvVx02ourY5hdP+ub9PHN6xY6sHRmP5uZFku8skoMD06/QXepgdY7fOOzKJg
	EvXKFWDsbg7wCjfe0cOT6mV5WF7CZb873mIIVftGVKFvFUsPmBQPFN+PLNwEJVVRPVEbOXeQ7Rt
	hV7oPPfQv/49l/sQ5Pr8XywsEs8ZWw9mnMzFwxK+hB2FoEGHsS3IqcvRUpPgUftZ4eJ6qumKRNr
	pt01Pz7r4gViDiifOi5buJTRR40p2J14nsZgFr35Xw2meCHaVm1CZzo1DlKYcAHnD/PKd63iycO
	RNBW6ex92eCyMGy5XtA0Pkrx3aUHceEGxF/akkDoP4taMkB3Yw==
X-Google-Smtp-Source: AGHT+IEZ4zVFA42YCE9nVCJJNLHxpsLOmJ/1n216qF/fWaF9hZ+rLUMcq9FsR/kjdYnzKdr6wRfBbQ==
X-Received: by 2002:a17:907:72d5:b0:ac2:13f:338b with SMTP id a640c23a62f3a-ac252ef65e0mr1738195666b.55.1741702509975;
        Tue, 11 Mar 2025 07:15:09 -0700 (PDT)
Date: Tue, 11 Mar 2025 15:15:08 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 1/3] x86/vmx: fix posted interrupts usage of
 msi_desc->msg field
Message-ID: <Z9BFbFzOTq7AbE04@macbook.local>
References: <20250311120652.61366-1-roger.pau@citrix.com>
 <20250311120652.61366-2-roger.pau@citrix.com>
 <369daf2d-63de-4375-a11e-401135ede43b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <369daf2d-63de-4375-a11e-401135ede43b@suse.com>

On Tue, Mar 11, 2025 at 02:10:04PM +0100, Jan Beulich wrote:
> On 11.03.2025 13:06, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/hvm/vmx/vmx.c
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c
> > @@ -396,6 +396,13 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
> >      const struct pi_desc *pi_desc = v ? &v->arch.hvm.vmx.pi_desc : NULL;
> >      struct irq_desc *desc;
> >      struct msi_desc *msi_desc;
> > +    /*
> > +     * vmx_pi_update_irte() relies on the IRTE already being setup, and just
> > +     * updates the guest vector, but not the other IRTE fields.  As such the
> > +     * contents of msg are not consumed by iommu_update_ire_from_msi().  Even
> > +     * if not consumed, zero the contents to avoid possible stack leaks.
> > +     */
> > +    struct msi_msg msg = {};
> 
> What the comment says is true only when pi_desc != NULL. As can be seen in
> context above, it can very well be NULL here, though (which isn't to say
> that I'm convinced the NULL case is handled correctly here). I'd view it as
> more safe anyway if you set msg from msi_desc->msg.

Indeed that's likely better.  I'm also unsure the teardown is correct
(or needed), but I didn't want to deal with that right now.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 14:21:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 14:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908208.1315345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts0UV-0007mu-G0; Tue, 11 Mar 2025 14:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908208.1315345; Tue, 11 Mar 2025 14: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 1ts0UV-0007mn-Bd; Tue, 11 Mar 2025 14:21:55 +0000
Received: by outflank-mailman (input) for mailman id 908208;
 Tue, 11 Mar 2025 14:21: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts0UU-0007mh-Au
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 14:21:54 +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 2dfc7741-fe84-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 15:21:53 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso61351035e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 07:21:53 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d031d1438sm13068265e9.0.2025.03.11.07.21.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 07:21: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: 2dfc7741-fe84-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741702913; x=1742307713; 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=yHdmUhS8bEnAo05Zk1DYVHXa83vBJHIJ+q0jLYFJDoo=;
        b=Nu6buf1dsVHBp3pcCOLew5oUgwJyASrb9aTvJwpUnlB6YZSwOHIJxgDzgZ9Tr+N6/s
         cLdTyW9dzNdlj3+QiaQibQqJauBmYDslazpSXeAYRV8uzTIgdChZifyIp+I8vyqw2WGz
         6H04pldJNfsfV+spuvk0xUQbKYMFu/7xRHCP8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741702913; x=1742307713;
        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=yHdmUhS8bEnAo05Zk1DYVHXa83vBJHIJ+q0jLYFJDoo=;
        b=c7o+7YeL0a/DSyqRS8qNsWhOb/hrYmOMF+abpOyfXqwiSXVbMaj9zGm9dAc3MM2wfW
         Ce4vE2hr2uvt2OeFBtB8Ma77Rq5PhJ1m1MFTmjyiBYF91aTXN3CG4TcpXOHyN6lRyYo5
         7TANlPV7nNj3GwwWw8JcEr578S+OPiqCFHbtFLavXaDW3mVoJXHV9sTIZVaE0ibiX/EY
         +oc1elXn0wf+LSlBMHZIb8JNpRrHTPqVt3rhLoPdYY4DtKSPTb5L4gTjWelW3vfDiaze
         HsJrd+9Ut1cGgSsKsWsecagd7z9KJMofGDyx7WBrTAPjaJy+Bdyv5wouuKeoEtaG2FA3
         mYyg==
X-Forwarded-Encrypted: i=1; AJvYcCUgQcKdxySNKiN4wed6P62v44rtlSS2pu4Gv/R8dsXWoy7aLTeAePEacC0PWIdeyJmM3TnT0tBV3xo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPE5TIfM9NrmHWyKSZjAYFm+CyGJjlh4T+hXBLjIwCmQU82iV+
	DDGjkzHFv1RLnredEiHvlNAMDigYeEIuakexAwdi0iHay9dvzk578mQNN9NdoiVk0z3hKqp1l6Q
	H
X-Gm-Gg: ASbGnculVzXijeRZoLku1Y5smYkzz4bY6H2XGKS5D+S+8nHWoRIY3ZyZc8NC++5IOr7
	4uvedGeHlrd1oAQOMoOEASTRqC/WOR+NJadDA72cszU2W1vqpsSL1GBNkBX6qv4c69xGS+obDrl
	hhHFZc26Xm6lDkRZJmI4YABPqIG5mGkPDAZIxneT3exh9NV3KqjcA1FaLEiqW3WxPfPaGGarGzv
	Ry5Y4Ny1Zp7RO56pHMjclKm3n63blCmCBLOrjB1UWiKTg2ajOkDu/r9jRrAacZ+oq0rIFX2+REc
	nC8jivKO5Q6gPruJZjN4EF+xE3dHR+xHknDDLtVALMACdKGo83sjku8uW5sBbIqc5UzcMGB9R+p
	soam9iiZ3
X-Google-Smtp-Source: AGHT+IHfT6JK70zVTjIjY4yrHGyisG2ZcPuccF/6j0YKI0q3Tnr8NBmgagR793qj6wU3HJZwR5r8Yg==
X-Received: by 2002:a05:600c:4eca:b0:43d:762:e0c4 with SMTP id 5b1f17b1804b1-43d0762e364mr19917575e9.27.1741702912690;
        Tue, 11 Mar 2025 07:21:52 -0700 (PDT)
Message-ID: <3dd5e64c-81cd-44fe-808a-c09e55c92d32@citrix.com>
Date: Tue, 11 Mar 2025 14:21:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/elf: Improve code generation in elf_core_save_regs()
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: <20250225224559.1226079-1-andrew.cooper3@citrix.com>
 <68a14ea8-b6f0-448e-8713-e9696c024c43@suse.com>
 <b9bdba63-82a4-4833-b8bd-b3788fd02321@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: <b9bdba63-82a4-4833-b8bd-b3788fd02321@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/02/2025 8:44 am, Jan Beulich wrote:
> On 26.02.2025 08:44, Jan Beulich wrote:
>> On 25.02.2025 23:45, Andrew Cooper wrote:
>>> A CALL with 0 displacement is handled specially, and is why this logic
>>> functions even with CET Shadow Stacks active.  Nevertheless a rip-relative LEA
>>> is the more normal way of doing this in 64bit code.
>>>
>>> The retrieval of flags modifies the stack pointer so needs to state a
>>> dependency on the stack pointer.  Despite it's name, ASM_CALL_CONSTRAINT is
>>> the way to do this.
>>>
>>> read_sreg() forces the answer through a register, causing code generation of
>>> the form:
>>>
>>>     mov    %gs, %eax
>>>     mov    %eax, %eax
>>>     mov    %rax, 0x140(%rsi)
>>>
>>> Encode the reads directly with a memory operand.  This results in a 16bit
>>> store instead of an 64bit store, but the backing memory is zeroed.
>> Raises the question whether we shouldn't change read_sreg(). At least the
>> emulator uses of it would also benefit from storing straight to memory. And
>> the remaining uses ought to be optimizable by the compiler, except that I
>> don't expect we'd be able to express the zero-extending nature when the
>> destination is a register. Or wait, maybe I can make up something (whether
>> that's going to be liked is a separate question).
> Here you go.
>
> Jan
>
> x86: make read_sreg() "bi-modal"
>
> Permit use sites to control whether to store directly to memory; right
> now both elf_core_save_regs() and the insn emulator's put_fpu()
> needlessly go through an intermediate GPR. Note that in both cases the
> apparent loss of zero-extension isn't a problem: The fields written to
> start out zero-initialized anyway.
>
> No change in generated code for the use sites not being touched.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Whether to make the change to put_fpu() is up for discussion: In my
> build it increases code size slightly, despite the reduction of number
> of insns emitted. An alternative (leaving the decision to the compiler)
> might be to drop the if() and use "=g" as constraint.
>
> I was considering to omit the assignment to sel_ on the if() branch,
> expecting the compiler to then flag uses of the return value (as
> consuming uninitialized data) when a 2nd argument is passed. However,
> gcc14 then already flags the "sel_;" at the end of the macro as
> consuming uninitialized data.
>
> --- a/xen/arch/x86/include/asm/regs.h
> +++ b/xen/arch/x86/include/asm/regs.h
> @@ -16,10 +16,20 @@
>      !diff || ((r)->cs != __HYPERVISOR_CS);                                    \
>  })
>  
> -#define read_sreg(name) ({                           \
> -    unsigned int __sel;                              \
> -    asm ( "mov %%" STR(name) ",%0" : "=r" (__sel) ); \
> -    __sel;                                           \
> +#define read_sreg(name, dst...) ({                       \
> +    unsigned int sel_;                                   \
> +    BUILD_BUG_ON(count_args(dst) > 1);                   \
> +    if ( count_args(dst) )                               \
> +    {                                                    \
> +        typeof(LASTARG(&sel_, ## dst)) dst_ =            \
> +            LASTARG(&sel_, ## dst);                      \
> +        asm ( "mov %%" STR(name) ",%0" : "=m" (*dst_) ); \
> +        /* The compiler ought to optimize this out. */   \
> +        sel_ = *dst_;                                    \
> +    }                                                    \
> +    else                                                 \
> +        asm ( "mov %%" STR(name) ",%0" : "=r" (sel_) );  \
> +    sel_;                                                \
>  })

This doesn't fix the register promotion problem.Â  That can be fixed by
unsigned long rather than int, as you did for rdmsr.Â 
https://godbolt.org/z/K5hKz7KvM

But the fundamental problem is that the sreg instructions with mem16
encodings are weird.Â  They don't even follow normal x86 rules for
operand size.

By the end of the FRED series (for which this patch was misc cleanup),
I've almost removed read_sreg(), and was intending to purge it
completely.Â  Even in it's current form, it's not normal C semantics,
because it looks to take a variable which isn't a variable.

Clever as this trick is, I feel it's a backwards step in terms of
legibility, and that plain asm()'s are the lesser evil when it comes to
mem16 instructions.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 14:35:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 14:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908217.1315354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts0hT-0004Rs-IQ; Tue, 11 Mar 2025 14:35:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908217.1315354; Tue, 11 Mar 2025 14:35: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 1ts0hT-0004Rl-FM; Tue, 11 Mar 2025 14:35:19 +0000
Received: by outflank-mailman (input) for mailman id 908217;
 Tue, 11 Mar 2025 14:35: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts0hS-0004Rf-Fq
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 14:35:18 +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 0d289d4f-fe86-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 15:35:17 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so24728495e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 07:35: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-3912c1031e3sm18046300f8f.82.2025.03.11.07.35.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 07:35: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: 0d289d4f-fe86-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741703717; x=1742308517; 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=EZb/PHy6+WkaWcYYnXl21lbfb4pVo3HGrkzj7elF85w=;
        b=cRUX+CXP+UFqiygnRaHvuYZFItFueew+qbXAWWMkI4b9MdizbPICWRNoi4tVcXN5gp
         qLxVjnw0UUqcrpAIAmMlwxAMGAIJoVPyQaFjR9jJvdZlW4nbuNM6v3yyCtyNbJUl/Tvb
         SGBC/RU+0IObJK24UsDyfFm4TOpVFvq59KhBRFyk8OazPjFrJQHX96YOq/6DiSJBagrt
         dFm8ywFZ6FrMmT+JpoyAvSVi+hUKE0l+frNXac4wqJBG5AWShTO++FHiFHEkhPh4qvBj
         P0Q7i1S0vo5wgdmv6bVuAmpz8c8RodBOI0omb5jFf6Qj6afhJxUZiZs/L8G4LKJSXO5/
         OZFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741703717; x=1742308517;
        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=EZb/PHy6+WkaWcYYnXl21lbfb4pVo3HGrkzj7elF85w=;
        b=PMzSRcYkQ3dbpWzhc5KloA1SdFbBJuxOuuh7/Z4wvd/LQq9pQMBAqRHZQUlJJ9Zo4/
         GqTH/3WT++VkK0J/phcLxQlFC8cjqmX87/EVaVwN2EWhVIIGmTLg4gWf0xN+HKUFwOTr
         4H1gs9m8oxyqnuWCNX6jyJ7WmYZ5oWdCOBa85YwaoQo8bi+jTFvq/HbJQmx+iKMWoHAk
         Cl4fL0YlEtEX5Ol2URG5B+PLH5AzUe4zPOTLhRGzT4IsxkGVIpypavJVhUcZ49QvN1c5
         4I/tltGzeX4G3gqUD4hskDuAOp/HgwRUBVqBItG/JdK13TwdjIemBbJq6GsimsJnFwnL
         YoXg==
X-Forwarded-Encrypted: i=1; AJvYcCUfx762xFRvBsco6a2cHhSz0RN5MZVroa+BZq5v6WmnEuDyW99iNtr0HKpC8oAVuryQd9pyJQ7NeRo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy89Sx05L38MtQQzhsCrbXHUYSSHUGK2KXdHEzImxnf+c6Ff/jM
	cfiH/nZWAw4ZiUrt9TkBRo/5ttQumAJGiiQlHqaINYhKJulbLoTrnjCLf7cOqQ==
X-Gm-Gg: ASbGncu/Wlri9RoHvm2Dhu+FjfLOEULNmas0yux0/lDP7TC+RVxm3puU/fk6VSj22Gj
	l2VycPP4SaWOgbyU0T37ess5VjaQ94hkVEmB4PvJF61yBetFlUKKzTbxdX++HQcT8kpjayQdiFW
	ynZJgYzv3No7LQL92nq9aBt3Zms1edIv63jtSkn0Easy2OIjHpLrOvgaCl3sU+Fe/Dgd6FhQvpe
	s3fI7ZCXIR/2IM3Sy0x4XE3FT9U/l+kGRmLQIaMMOM8QvvXk2tnMX3tvUxi5Z1n2kmKmFWBznQg
	V10AWMmtSCdt2ZD0izj58lDfoBpkFDXAQkou6D597OgASd7dwSavYb5Q3Ty4AyiHBIAnRNJIJCM
	5AvrAGDrkDFywtI4LzbQvvYVSPe31jw==
X-Google-Smtp-Source: AGHT+IEEQ8G71tKfiPchCvjLcK9+EDzzWpRvKUJZXaxQnfKv6tnmBOw3I1W4xpIEukSg63zZIsI5xw==
X-Received: by 2002:a05:600c:3ba3:b0:43c:fcbc:968c with SMTP id 5b1f17b1804b1-43cfcbc97d3mr93533745e9.7.1741703716688;
        Tue, 11 Mar 2025 07:35:16 -0700 (PDT)
Message-ID: <99771639-af21-4872-b81f-8442f3cb2652@suse.com>
Date: Tue, 11 Mar 2025 15:35:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/3] xen: kconfig: rename MEM_ACCESS -> VM_EVENT
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: Doug Goldstein <cardoe@cardoe.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
 <8d35ec8373b65bca2fe471eac7a17cb2a98db3fc.1741687645.git.Sergiy_Kibrik@epam.com>
 <16cb9d3c-c02e-487b-9982-466f0e2f0c41@suse.com>
 <8b26199e-94f6-4a72-b1ca-efd65a6265c5@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: <8b26199e-94f6-4a72-b1ca-efd65a6265c5@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 14:41, Sergiy Kibrik wrote:
> 11.03.25 14:01, Jan Beulich:
>> On 11.03.2025 11:23, Sergiy Kibrik wrote:
>>> --- a/xen/common/Kconfig
>>> +++ b/xen/common/Kconfig
>>> @@ -92,7 +92,7 @@ config HAS_VMAP
>>>   config MEM_ACCESS_ALWAYS_ON
>>>   	bool
>>>   
>>> -config MEM_ACCESS
>>> +config VM_EVENT
>>>   	def_bool MEM_ACCESS_ALWAYS_ON
>>>   	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
>>>   	depends on HVM
>>
>> I still don't see why we would then stick to MEM_ACCESS_ALWAYS_ON as a name
>> for the sibling option.
> 
> as HVM requires mem-access to be enabled

If that was indeed the case, ...

> I felt like it should be kept 
> as is -- to hint that it is mem-access that ties vm_event to hvm.

... I'd agree. It was my understanding though that MEM_ACCESS_ALWAYS_ON
only exists because when Arm support was added no-one wanted to take the
time to make mem-access properly optional on x86.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 14:39:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 14:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908228.1315364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts0l0-00052C-0I; Tue, 11 Mar 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 908228.1315364; Tue, 11 Mar 2025 14:38: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 1ts0kz-000525-U6; Tue, 11 Mar 2025 14:38:57 +0000
Received: by outflank-mailman (input) for mailman id 908228;
 Tue, 11 Mar 2025 14:38: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts0ky-00051z-4A
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 14:38:56 +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 8ee6a914-fe86-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 15:38:55 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so33459935e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 07:38: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-43d025869e7sm32165655e9.7.2025.03.11.07.38.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 07:38: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: 8ee6a914-fe86-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741703934; x=1742308734; 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=tspCbd/hT2vDr7de6KAkUb85jCsiDSxeYlkFf9BqpQk=;
        b=Tx7Jk7t+dmrAyph17vY8YgcPTRlyZh8PFxxzl540dJ00Wwuc717OULgBVsrtCH9n5y
         qZvH5qOs2kTtO0gpR/M2qNwBgcVF77JztwtNNWa3vmbOGAGmhNvaZtoIZXHmiPbiIkBl
         w4mZD/oiat/fdITaUOWzDdDcTVyAkJCT7Xj/OqXhFfUpymbkVcDMAfiqHMQ8kD2H0Auj
         352Yzo89lonuqT5pvQzckrJCUt5Qfu0nALBx3shLq79Bvp3+dbR+QAiD8ROllv5qqVh2
         EM7ouUd8++uSnmiWxxUw492CttrWrg6XwjFO0MO9H9TtvMeUy+fFfOZ3fugPjbFKRJy1
         O3YQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741703934; x=1742308734;
        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=tspCbd/hT2vDr7de6KAkUb85jCsiDSxeYlkFf9BqpQk=;
        b=u4+OkBBpME9x+KkPBAaso3oeP40lZeHRnxyE8iOU+XnvvFr2CeJE515RgTHg/Q8AML
         A9cXxkqJeuYXLduDzRYaBbi9od5JrnRpqxqLkvZuglVsxZOkFOOtFPK9ltqeno71ycol
         9QPXmvTqiPRChAbKzbaqSb06kGmfc4gAPYxwR7yJMseZ61LToGdjV6PmKhhxWXvbK2pU
         I+CknK/zjDKHJmIVXyO8LGI+zbU8/MrBcQRhiDrJSA6Rl+pjkbkNLkEJ2teA26+FJzc2
         z+YqdWxm4/HvJw3AaZ/qKqUCtcVXgASP8aJZLczZEbv/Zg5t7RaWTIVpzPUU92nhdIPQ
         8dPg==
X-Forwarded-Encrypted: i=1; AJvYcCUeuFGqiL5IkO+b6bQsIlgY/rII6io/PQYQY/3exMC11+q4HdSBa9OMK6W6a1NspWYiEV0rdvXEgDk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCzpzu/fMJPOzCvlHn4lBu12JAusYwiDoE7bEZkXMA5oMVLfeE
	/7kUlQLWCJo48aR35zUaE2zjddLq+Rf4eoH4dF4vsWZ2RTPUjiVwfRlXWZI7rg==
X-Gm-Gg: ASbGncuOd1N8dWGxDH5WXOw6pfA2fearSqULw+kAmqcra4zqUG1k6f46Yhg15PhE6JU
	xroD91KDEaHk2xdEouHEtMLXrz302ViunILHDQaaMEod0/Pbrw5TaS1wzeny9HJqRWcCNxsqahC
	XsmIBrKFEGBZkQ4zlF220me5TD4HqGpqHE6rjRPylSStca1tkka9q2ENP8z/ZwzDI8uV3gKu+36
	rdJcVW8hw9XP1x1aL7m0ejXfYfWTKAk+JLW69QUOFywzdtj1C22dB3XDWPijkHgg0JjgBA+OiZU
	5ko3iGKKyV0yXsh/0dNyjBRsa05Z19IaqeTrKRFDx4uJ5CeDLXypszyptiHboY/51CT+q3A4bVi
	gme2kE7WJeSq5JZd1Ynz6wBUkbjJsYmTTQIiYkurH
X-Google-Smtp-Source: AGHT+IEebjeYCETbpVREfohUjWQINQA2iWcxwDhY52JML+x4xDgdtX32Ov5OxLy6wzMfXyo0pFvosQ==
X-Received: by 2002:a05:600c:1c05:b0:43b:b756:f0a9 with SMTP id 5b1f17b1804b1-43d01bdbea9mr61202385e9.11.1741703934357;
        Tue, 11 Mar 2025 07:38:54 -0700 (PDT)
Message-ID: <ba5a370e-3cad-4ed8-874c-7372d6d8a4b3@suse.com>
Date: Tue, 11 Mar 2025 15:38:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/elf: Improve code generation in elf_core_save_regs()
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: <20250225224559.1226079-1-andrew.cooper3@citrix.com>
 <68a14ea8-b6f0-448e-8713-e9696c024c43@suse.com>
 <b9bdba63-82a4-4833-b8bd-b3788fd02321@suse.com>
 <3dd5e64c-81cd-44fe-808a-c09e55c92d32@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: <3dd5e64c-81cd-44fe-808a-c09e55c92d32@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 15:21, Andrew Cooper wrote:
> On 26/02/2025 8:44 am, Jan Beulich wrote:
>> On 26.02.2025 08:44, Jan Beulich wrote:
>>> On 25.02.2025 23:45, Andrew Cooper wrote:
>>>> A CALL with 0 displacement is handled specially, and is why this logic
>>>> functions even with CET Shadow Stacks active.  Nevertheless a rip-relative LEA
>>>> is the more normal way of doing this in 64bit code.
>>>>
>>>> The retrieval of flags modifies the stack pointer so needs to state a
>>>> dependency on the stack pointer.  Despite it's name, ASM_CALL_CONSTRAINT is
>>>> the way to do this.
>>>>
>>>> read_sreg() forces the answer through a register, causing code generation of
>>>> the form:
>>>>
>>>>     mov    %gs, %eax
>>>>     mov    %eax, %eax
>>>>     mov    %rax, 0x140(%rsi)
>>>>
>>>> Encode the reads directly with a memory operand.  This results in a 16bit
>>>> store instead of an 64bit store, but the backing memory is zeroed.
>>> Raises the question whether we shouldn't change read_sreg(). At least the
>>> emulator uses of it would also benefit from storing straight to memory. And
>>> the remaining uses ought to be optimizable by the compiler, except that I
>>> don't expect we'd be able to express the zero-extending nature when the
>>> destination is a register. Or wait, maybe I can make up something (whether
>>> that's going to be liked is a separate question).
>> Here you go.
>>
>> Jan
>>
>> x86: make read_sreg() "bi-modal"
>>
>> Permit use sites to control whether to store directly to memory; right
>> now both elf_core_save_regs() and the insn emulator's put_fpu()
>> needlessly go through an intermediate GPR. Note that in both cases the
>> apparent loss of zero-extension isn't a problem: The fields written to
>> start out zero-initialized anyway.
>>
>> No change in generated code for the use sites not being touched.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Whether to make the change to put_fpu() is up for discussion: In my
>> build it increases code size slightly, despite the reduction of number
>> of insns emitted. An alternative (leaving the decision to the compiler)
>> might be to drop the if() and use "=g" as constraint.
>>
>> I was considering to omit the assignment to sel_ on the if() branch,
>> expecting the compiler to then flag uses of the return value (as
>> consuming uninitialized data) when a 2nd argument is passed. However,
>> gcc14 then already flags the "sel_;" at the end of the macro as
>> consuming uninitialized data.
>>
>> --- a/xen/arch/x86/include/asm/regs.h
>> +++ b/xen/arch/x86/include/asm/regs.h
>> @@ -16,10 +16,20 @@
>>      !diff || ((r)->cs != __HYPERVISOR_CS);                                    \
>>  })
>>  
>> -#define read_sreg(name) ({                           \
>> -    unsigned int __sel;                              \
>> -    asm ( "mov %%" STR(name) ",%0" : "=r" (__sel) ); \
>> -    __sel;                                           \
>> +#define read_sreg(name, dst...) ({                       \
>> +    unsigned int sel_;                                   \
>> +    BUILD_BUG_ON(count_args(dst) > 1);                   \
>> +    if ( count_args(dst) )                               \
>> +    {                                                    \
>> +        typeof(LASTARG(&sel_, ## dst)) dst_ =            \
>> +            LASTARG(&sel_, ## dst);                      \
>> +        asm ( "mov %%" STR(name) ",%0" : "=m" (*dst_) ); \
>> +        /* The compiler ought to optimize this out. */   \
>> +        sel_ = *dst_;                                    \
>> +    }                                                    \
>> +    else                                                 \
>> +        asm ( "mov %%" STR(name) ",%0" : "=r" (sel_) );  \
>> +    sel_;                                                \
>>  })
> 
> This doesn't fix the register promotion problem.Â  That can be fixed by
> unsigned long rather than int, as you did for rdmsr.Â 
> https://godbolt.org/z/K5hKz7KvM

Right, but that's an orthogonal aspect.

> But the fundamental problem is that the sreg instructions with mem16
> encodings are weird.Â  They don't even follow normal x86 rules for
> operand size.
> 
> By the end of the FRED series (for which this patch was misc cleanup),
> I've almost removed read_sreg(), and was intending to purge it
> completely.

Well, if that's the plan, then ...

>Â  Even in it's current form, it's not normal C semantics,
> because it looks to take a variable which isn't a variable.
> 
> Clever as this trick is, I feel it's a backwards step in terms of
> legibility, and that plain asm()'s are the lesser evil when it comes to
> mem16 instructions.

... indeed I agree here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 14:40:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 14:40:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908240.1315374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts0mH-0006VP-DJ; Tue, 11 Mar 2025 14:40:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908240.1315374; Tue, 11 Mar 2025 14:40: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 1ts0mH-0006VI-AT; Tue, 11 Mar 2025 14:40:17 +0000
Received: by outflank-mailman (input) for mailman id 908240;
 Tue, 11 Mar 2025 14:40: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts0mG-0006V8-59
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 14:40:16 +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 bea8367e-fe86-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 15:40:15 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso5605715e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 07:40: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-43cea8076fcsm116075565e9.15.2025.03.11.07.40.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 07:40: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: bea8367e-fe86-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741704014; x=1742308814; 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=C/eDNm3veu2kEtLJaDIeOArNxq9TE3o+DSORQrLAqPs=;
        b=Xr18DbnEEIxOWrJ4ZUlBZxj0i8yG3ypAr+KcM5Zl9J2aRu8sKeQrlTmtZzhOQtflcg
         sKjasrWaGnExfUTm9lo+K4S2QuCKkd6sqpbE7NATYy4B+O6opEBbP+WtG6O0eD7sX9ZZ
         CyJCB9GkT85f5aEHNG75LS6DLiCyBNKH6g9k3BqN1w6NalvdSqIKHj3gOBcGWmkpThwv
         dE4Hw3vfKGCYk2YTdZCdWhIpCtfU5HeMGZyAUHADCQfx6UB4bjEjFN2JJ1h/rCZ52KlB
         V4qgLdwVEfkFrHdY6QMg2bi8MSqOr3q6yPaYwk/w4TZArNUi7LWd6D/k44vd2poRXA1X
         Crrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741704014; x=1742308814;
        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=C/eDNm3veu2kEtLJaDIeOArNxq9TE3o+DSORQrLAqPs=;
        b=fIAD+UiGeu91L4zDtk4+gUyMFK+7IoHG2KYyxu06EebSuYpEyF8x99X2g6u00diQwc
         0N4M2z9nTJ+9CAYtXvmpME7epD/WjM5ZJeqs0g1j+ec/dFc0EI96WIbLIue9U+i1M7hJ
         k/UH5RyKTJCFYGbsTVC5kxZb0eJgWOOBMISGWnLjhfphTMuSKchMPqugL/lvJ3fk0dev
         bfCy9MvJVuwXvmrTk19hrfAVCIGXfqTDQHD0LaYGeMwIgO8AiXj4I4E7gYdmF+cejsTR
         cQpya/mu1uhHrbPAEWiDApe4pTrVHidO8jSHLxdWnJYbxX0wx57P+ADa53xivJibJHoF
         lbXg==
X-Forwarded-Encrypted: i=1; AJvYcCXCKqQghrAwMXXxwhJO0toMLXk5jMK4nYB7cx5/5GVGTBVFU7LMopGhRwK4yptmN/nNKTdFRgMM8Nk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzhzad7nDpcfHjxy9e8WR1j97lPJtNmv4bUyC01Syh1FJwqWHNG
	8Qcw4vGIM0XCxCpOKzmBSs05B+8kjROmow+0P+9wvIwl88d6MyXgB1UGaT2Btw==
X-Gm-Gg: ASbGncuWjQ1V7Kb5IyxPrw7GE0+3naN+tqdrp0PkKRcEXw97hhOLqueRFqTbyKCSd4Q
	OcPEviFqjYtx+J/CJ252eovbRGkDbevI+zmwKlBx4SAxjWUAYFUOwlr9aIGg/oY8qg0XzfXrTsJ
	hjQG+3iW4uKBfY3e4+81E1lJdAxx/fogy7ZGE4Lx5nBUvy18M0/JqGgK1IeaPx2M1nqAKPC2/yn
	M/wRLX2MAVvxXQMn5IDNjLP+dxZfb9JouNgpQyR5pfaGpPHz5yEOAhcWj4IXEd891gKUH46Nowt
	D59yHSELJraigUd1oxtJRrMYtVjE4VnHXVk9Osr2gbcoOLgkdTr0MUQqDagmD6cAI1pthWG070O
	k8vHJIrvYhGcVMQgKGYPzENKlHSv+hQ==
X-Google-Smtp-Source: AGHT+IGLSojSkH00MXbQ7Dr/vVQ/dWb8LvA1vJfHO2vj0JQfECZ7YPMMZ7416bJSgWSSd3vhLbvvrQ==
X-Received: by 2002:a05:600c:2947:b0:434:9e17:190c with SMTP id 5b1f17b1804b1-43d01cc32fcmr45556375e9.0.1741704014569;
        Tue, 11 Mar 2025 07:40:14 -0700 (PDT)
Message-ID: <704d5246-83ee-4dd8-a0ff-d7bc2cd8d63c@suse.com>
Date: Tue, 11 Mar 2025 15:40:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/elf: Improve code generation in elf_core_save_regs()
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: <20250225224559.1226079-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: <20250225224559.1226079-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.02.2025 23:45, Andrew Cooper wrote:
> A CALL with 0 displacement is handled specially, and is why this logic
> functions even with CET Shadow Stacks active.  Nevertheless a rip-relative LEA
> is the more normal way of doing this in 64bit code.
> 
> The retrieval of flags modifies the stack pointer so needs to state a
> dependency on the stack pointer.  Despite it's name, ASM_CALL_CONSTRAINT is
> the way to do this.
> 
> read_sreg() forces the answer through a register, causing code generation of
> the form:
> 
>     mov    %gs, %eax
>     mov    %eax, %eax
>     mov    %rax, 0x140(%rsi)
> 
> Encode the reads directly with a memory operand.  This results in a 16bit
> store instead of an 64bit store, but the backing memory is zeroed.
> 
> While cleaning this up, drop one piece of trailing whitespace.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

With the plan to ultimately drop read_sreg() altogether:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 14:53:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 14:53:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908254.1315385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts0yn-0002gu-GI; Tue, 11 Mar 2025 14:53:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908254.1315385; Tue, 11 Mar 2025 14:53: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 1ts0yn-0002gn-CY; Tue, 11 Mar 2025 14:53:13 +0000
Received: by outflank-mailman (input) for mailman id 908254;
 Tue, 11 Mar 2025 14:53: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=QaIb=V6=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1ts0ym-0002gh-7B
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 14:53:12 +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 8abb8e1d-fe88-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 15:53:07 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso15240435e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 07:53:06 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43cf85f2359sm73265195e9.27.2025.03.11.07.53.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 07:53: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: 8abb8e1d-fe88-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741704786; x=1742309586; darn=lists.xenproject.org;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xPHUIkRagrerQxbbIFC8W4cRa356O4VsA/PfNTIW4h0=;
        b=gu0sF74PXlrI022P/BdmxDLPqReiPNXSgoLZhZyzASdvuoGBj8ORnseYzQ2Ojc+qbP
         PO5V4C4V04xql3X4v1HCOt0+fGcWYF6lDoDwBidmVveF5+8MlVm1uyA+DFzunJBhObJN
         8hNwzRquUctBrhCn5P6oMnH+bQ0B0DvGf5k8Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741704786; x=1742309586;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=xPHUIkRagrerQxbbIFC8W4cRa356O4VsA/PfNTIW4h0=;
        b=qfuYbk59A87JQ4FRiJwpNldKHK1oF2eq2yvcVXpowa4KqV/Egomy/rYYVEUHE+KBWw
         Y+8vdho/1Akt8KlUnBeQpnzZK38LB9fyRUf+I0FI24Y0gBeZSeuh5Yet7KAg3v/nwa4y
         4Bhtglvdlt55+LiHa1BBrpA2qvdekRZBixM3Pkmma5q9QjiYxVA4j/6UlqeSTX78YQSO
         wA3MbRcwNmuUIQt4092MU/zFlgcv0ZYq9pWJP5EfT4mJCSm58kjDJ6eVOH6uUkftAOWt
         bInieqLPH1dqSy+KyK3E2JVt+P5ybMKRjcnZoS72DQgwiiLoj2YFpQWwJF9aFDHjlsyg
         s6YA==
X-Gm-Message-State: AOJu0YzMWi8cOhQIACqOPRkYIk6NCpBaooTrRPK3FOCjpjsFEe2VRKL7
	N8M903Gow5aU/FU/gt8//supFzM9S7p3xkYKlaQuo1JlyCmq4Gy7E/Yl6QS8lj4=
X-Gm-Gg: ASbGnctCmfurcH1oqSp1ygXAhl+fSucPHO3CYNk8pmORW3spzMqUIJxxHpoT8cnYpXz
	EjlFTPWyO+tvSbgBnBZuKPWhwV/U1dGGM9LUUlmXhMCHyAt+jAYhlq+rrvryq8rNhW01V8dbQzN
	AfEQHmXl/s+9NNZU1xbLUM/3a8uNqrobHjf3a+7JE48Dw5qzIVhipH8k9IFeXAP3suMHz+d23uP
	uZNrOu4zaxDU3nRVLBzg8vqFs0v4lK0OuNZ9vm8nmdz0gauGHSmtd0HHhsec8+uWRT5WvyJQ9CH
	crK4AwhlIHlff4CZayLV6XRT1Enin9LVrO3CcNGx3CqxBZu/gkI=
X-Google-Smtp-Source: AGHT+IEEIaN/SSV7MHpvZBfQENw6pUZfh2IYqIoTdGc0whdEAX6+z+9qXWhSNp86euEqVbzL28Yd3g==
X-Received: by 2002:a05:600c:4f0e:b0:439:8c80:6af4 with SMTP id 5b1f17b1804b1-43d01c1e135mr43707095e9.19.1741704786275;
        Tue, 11 Mar 2025 07:53:06 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 11 Mar 2025 14:53:04 +0000
Message-Id: <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>
Subject: Re: [PATCH v2] xen/page_alloc: Simplify domain_adjust_tot_pages
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.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>, "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>
X-Mailer: aerc 0.18.2
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
 <Z9AwsrDBELe2UREz@macbook.local>
In-Reply-To: <Z9AwsrDBELe2UREz@macbook.local>

On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau Monn=C3=A9 wrote:
> On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
> > The logic has too many levels of indirection and it's very hard to
> > understand it its current form. Split it between the corner case where
> > the adjustment is bigger than the current claim and the rest to avoid 5
> > auxiliary variables.
> >=20
> > Add a functional change to prevent negative adjustments from
> > re-increasing the claim. This has the nice side effect of avoiding
> > taking the heap lock here on every free.
> >=20
> > While at it, fix incorrect field name in nearby comment.
> >=20
> > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>
> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Thanks.

> I think it would be nice to also ensure that once the domain is
> finished building (maybe when it's unpaused for the first
> time?) d->outstanding_pages is set to 0.  IMO the claim system was
> designed to avoid races during domain building, and shouldn't be used
> once the domain is already running.
>
> Thanks, Roger.

As a matter of implementation that's already the case by toolstack being "n=
ice"
and unconditionally clearing claims after populating the physmap.

However, I agree the hypervisor should do it on its own. I didn't find a
suitable place for it. It may be possible to do it on every unpause with
minimal overhead because it doesn't need to take the heap lock unless there=
 are
outstanding claims on the domains. Would that sound like an ok idea? I'd ra=
ther
not add even more state into "struct domain" to count pauses...

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 14:54:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 14:54:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908263.1315395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts0zZ-0003B4-NR; Tue, 11 Mar 2025 14:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908263.1315395; Tue, 11 Mar 2025 14: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 1ts0zZ-0003Ax-KT; Tue, 11 Mar 2025 14:54:01 +0000
Received: by outflank-mailman (input) for mailman id 908263;
 Tue, 11 Mar 2025 14:54: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=0SOU=V6=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1ts0zY-0002gh-6Q
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 14:54:00 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20625.outbound.protection.outlook.com
 [2a01:111:f403:260d::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a95ece02-fe88-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 15:53:58 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AM9PR03MB7629.eurprd03.prod.outlook.com (2603:10a6:20b:410::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 14:53: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%4]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 14:53: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: a95ece02-fe88-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i2LI6gTd7v8o21XDcA3lkKxPfEaCePUobFGb+kMz3LeaS8FZNEdUt8h2cBk0EoBwNmkO2ykY3EoFdCS6SRqT+T0oMBLTQY0+Vl1KmGqz4pvh/V9cfuC2hGgiJ3Eld8DVgU842L9JFcdX0MzrEvZe0kHuMHsb1zzIJVtFRRsBVxl+LL3PUW4o1x7NnSvMwHFgFKeS1AnHWK6jOEiE1xh30iX93J6OJONJze35kC/VEAVGnRRzU7TazDsQ/c20JwR0fZ4JGlPpT38v9of+3aiO9/2w/SuJbUDo8IFKbCHSwR/WHoaSsSr9vvDGo9HKYamIiYCYPHJ4EnsLFYeq2RklMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TPiOWTADMFfF8gky0m9wHObBf5t4ppPwV4JxEm2d9nc=;
 b=tU9XsrSrJCe5B7ltiPDnSGhg9iqImek/ew7EqLF/QeQ90UbsieVma7PoVMypCnYZgYUewd7voOnBagZ0E+6vNhL6utS6Wfaj7FPjht4MOAGCXiDPv0Z9opyI6hRNx24xZZLafFSBYUMRGTnCcfoAiSD8T4hrR8YNs0KXr09SJSyhv87YgMGy8pXkb+9gyqO6QO9TLXWgvMZkCBtq9iwtn6eKw/1hQUzaKpkMu7KXc26nMsAKSUqkNvs8+h+cJS86tLRSyD+5L46vtTp9rR57ksjObnAQBmPTvNvwH1SdnJXtz4JI7GKN+DqvRtmf6uNolarGB/TeVxmHiHgm4QNwTw==
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=TPiOWTADMFfF8gky0m9wHObBf5t4ppPwV4JxEm2d9nc=;
 b=oM01Bj0/rNNviLHV07kLPHXwmSQnjRnT7nvH+uqm23vvUoe4nw3l8aOG1qLSa1f0R1og3Esm5vKhkKI6PUUhhI1B/d9oaVUonkySWCmu1SrNjaJ3ypGZkHM/8avzKr5J/Shp6D5D1dHLzTXPPN0dQQpvxq3PqjUwdFJQ0wTj7ymGf6Sm7/bLY0bhSg1ZsAS2SHsHItH4YZ6Ihtc9s4SXQXObmQnuuEIvHShYKtB7UKANJOJUm8ZCXWIphKDebDVetdUHa3Iw8fbhZXpltG3NuwVsPMZSj8OWOioDjC87ZamW8k+SGiawSAL7D05IhykLzZ2ejtwbTxk+AZ2eWCDRcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <d7fe19f2-f8ac-497a-833e-44a04e1ca4c7@epam.com>
Date: Tue, 11 Mar 2025 16:53:52 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/iocap.h: add documentation
To: Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <20250224113828.151794-1-grygorii_strashko@epam.com>
 <83d5d612-2f6a-430a-8aee-4738f43204e0@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <83d5d612-2f6a-430a-8aee-4738f43204e0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
X-ClientProxiedBy: FR5P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f2::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_|AM9PR03MB7629:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f4b623b-388c-4b1d-fcb4-08dd60ac8bae
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?bTFmZ2ZLMTBuQmhNbXJhUEZNNHdEa01ocnFBME0rTEx6ZmJIaS9PQmd4enRq?=
 =?utf-8?B?SnNKeU8wWGtJQ1poK3g5QWJ0U3FPSlVFNFlrclVraVFpeFRvaXBnZDU0UlYx?=
 =?utf-8?B?Q2ZzaGhrVUZvbEEzQzRNeXpTWDlmNFJxdVFYNEhmd2g1aTJqeS9tdjRyQmdm?=
 =?utf-8?B?bThYTlo2UkFscGdoRWsxZVIxKzR6cUQyU1kvRTcyOW5Gb2c2V0UxOFhyY3dY?=
 =?utf-8?B?MG9LYktDU2JYcXJsVTNjMDF5UTd3a1Y2WjJwTVJyWmM5STB6Z3VnbGpIVlJU?=
 =?utf-8?B?UGFKbldROU9vUmxjUDlEWlNUUDE1TFFKYzFVTXRRdlBOZ3hoNjRZQVRMOVY1?=
 =?utf-8?B?anJZUzdmRUpHak9rT1hSZ3FvS2VNRlRKRDN0YWlBeGVDMEVyYjJ2SmJrb3lj?=
 =?utf-8?B?dG4vNVlZTVpKbDhSNDZNakt6ZGJXT2JUNHU5bXNuTXVyN3ZSZE1DR0ZrdTY0?=
 =?utf-8?B?cEF3enFhb2UzMmNzVDJjT05wRk1UNWhnbDgxSk9DT2xLZkY3SzA1UFRQR054?=
 =?utf-8?B?SHZxSjdBQTNOS09WbnRnb2NlUXJCN3JobHZiRmpHVTdLZUdiS0J1dTl3alFS?=
 =?utf-8?B?MDh3a0hJL2FWb1RUaVZhTzFTdlNySm5JazhhQVg5TEpUa04vUjFXNUkvODVW?=
 =?utf-8?B?ekloZWphOXQxS3lvV3F4eGV6SnRTc29UYkxEbjdESDZyTW0xbG1teXRCTElt?=
 =?utf-8?B?YnV5NEhhSnl0cGx3Zkg4dSs4bjRPbXBtTGNrT0ZWOVVsYlV0VFZLaW9LeVEy?=
 =?utf-8?B?S09jTDV0OXplY0R5TlhwRzlCam8wMU9WQ2hudEFXNEMrdW5NUjkrSnJFOG0x?=
 =?utf-8?B?V3ZHR3F2WU5SUDk4YzhtQjJXWk1VN2NDVitPQWJpL2JRWlRYQ3NLQkd2amxr?=
 =?utf-8?B?aUxsSFR3RGpzU1FoTE5PNjdOd1lWZitUMmxBSVl2Y0xCcldSbmpnY3l2S0Qy?=
 =?utf-8?B?OC9HcXhZRHFtbHZuUG83VnAxVzVuTDJTc29qQml3S2FjWWNaZ1ZWcWNzNno1?=
 =?utf-8?B?ZmgxS0d0LzdQcmUwVlFXMEdLOEw2Q05ONEhjOWJOeDc4QWRkTFNPczlXaHQ5?=
 =?utf-8?B?dng1eUROTzdBbTBYdHdhVzArRHVjaXU5NG01eHY5bGVhcEZuSDNoNysxTlA5?=
 =?utf-8?B?VWxBSnYyUExZSTJRellXRFdXZ01xb3Q2UUttOE5UMzA3SUJWWmxnbmRKRm5j?=
 =?utf-8?B?TVd4YTdXeWtpeUw3YmUwQmFmR1cvVFBLcytnbmdndnpmdTdUTlBzTnl0TXVO?=
 =?utf-8?B?aXF1V3RlUHk4TVVES2xuem1rb09PazZqSGdRZU9WM3ovdkdKdDJOWWd5UHpO?=
 =?utf-8?B?V2djV1Y3S1gwcW9JWU1UdHJEZUxpYXhWSUZYRVRTeXZHL0djSk1LOFA5UEdC?=
 =?utf-8?B?Uzh5dGhGOTd2bmJBd1hzV0Z3Q0tQUXhnUVhrSm5LaXRsRWsvNWhBQ2RYaGx4?=
 =?utf-8?B?cE1Bb2xWc1FtQWtoejBWL0xzUXg0cUxzc1BKL2JjZ3c2TmZGbEVTVTQ1azF1?=
 =?utf-8?B?R09nNG9GZERGOHQ3Y1pYdVJiUVF4M1puRHN6TUNUeEhubnNnSW1TTUtZcnIx?=
 =?utf-8?B?SjJla2w3ZnZPSk41NU81YUU5WTlWdldrSExWVnRTSnFQdTMxWU5YOEJCNUxL?=
 =?utf-8?B?cm9HMGFJNngyMFM3UGZhYng1UkozTW9aWG5BYk5jUFFCSW1VMEFhVzVqdlZk?=
 =?utf-8?B?TnNNVkV3MVdOckltY0piMjFMWVBDU0VPa0hzQmhXN2dCUVpibUdyeFFEaFhl?=
 =?utf-8?B?SVBBNmZ1MHkzK3E4allTRks0TVlUVHJKNTlDUVI5WmlxdnNEMFZsYll4TW05?=
 =?utf-8?B?eFZRY3ByM01IOXN2ZGRzRVIxZnU1MjlSSzdyZnJ1V0lGOTh5MUphTGgyZGRZ?=
 =?utf-8?Q?o3g+PpOAoaBIt?=
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?OWJDWFZ2OVBSQm14TnQvK2J5NnBvZVl5RjZ2aUEvTjZMRUhoUlBWRkxFZ2Jm?=
 =?utf-8?B?ZEpHRTVHYVYyYzBFcHVNVnd5dmJvd1VNRVlYYksrcTRHSERuazROTjk2SzF4?=
 =?utf-8?B?OG1PTnBGdkROVk96OUFZaUdzT0ltSE5wQ201ZmJaaEMrb1VxamlkT1haWTJJ?=
 =?utf-8?B?U1VDUlFoZWQ2ZThYSDlEZUhXZHhNUW5ZaHRwSGw0dVJ5T1pHU3l2SG95Zzht?=
 =?utf-8?B?M3I3dVVjWVZvYk9Cc3BrK3gzU0FzaDFHd0ZoaXFWd1hkbklvajh0ZVhlWEhQ?=
 =?utf-8?B?UkwvRUZTckFseTR0c2VySVRBb1FEK2pBa1JCR29lTTFMTFUyelJ0R2t3VmI1?=
 =?utf-8?B?cnZsbjZpelp4b2pyNHZ1LzFvSjF3VjhYVU1qYXFCQWtTemVhZUJDdUg0Qkl4?=
 =?utf-8?B?S3F5S0xaa2daZ2VRRFJLS1B6TmtWUWRSYkhuVXpGc0dWVHhiSnhzbTFSZnNq?=
 =?utf-8?B?cDBTb01teEwreStQYUNxZWhENGNKRi8wTjlTS1Z3Rk0zR2lrOEJBVFhBellI?=
 =?utf-8?B?LzVDL3dYbnhsSE1LQnE5b3VIZEFHVGNWU2xUZC9sV3BJUFVLSWxuTGZSUHNq?=
 =?utf-8?B?c0VvVlk0K29HaDlkRS9KWlBSaCsyQ1dOQUdQbjBYZk5kSVRVajJmeElTQ1Qv?=
 =?utf-8?B?ajVzVk51RFh6clp4dUVjZ0hRQS9kdVBaU1hQaEQ5NzRVS3dsUEVZRitJVG9a?=
 =?utf-8?B?V3VPempYc1llb0xERVEvYzlnUXVCbDJrWXE3N3RERFFJSjQvMHVsOWdwL1Az?=
 =?utf-8?B?cyt5OXppdFhnLzdiNW5DRks3S0xHTWFJWWxEdHk3SWVBTlZaR2VReHlub1JT?=
 =?utf-8?B?QzdWRWo4UFFvZGc2VFE4ZWJTeU5NUFlkdmFTVzBOOWh3SUhHSVdVWGFGcm9Z?=
 =?utf-8?B?VTNVWDFQdnpzMzVoS3poakZOaEhRak83b1hnR1RsWkVyZXJ1Y2o2RlFSMGtS?=
 =?utf-8?B?eGVtaVg3ajdDU0V1RXcwdFF5L0dubUl3ODk5T256bE9nUWxRcmZvZXMyWmJ0?=
 =?utf-8?B?NWpreDJkQklvNVlMdVNqTWtROERoWlV5V0JwcS84eWd6ZGtXVTVpNHBPa04y?=
 =?utf-8?B?YUhQMnU2aFBDQ05DeHhGd2w5YTlPbnExU0JBWjlqMi9ZdURmcHhIOWlhODFR?=
 =?utf-8?B?N1I5V2R4cDZ4WDBORERzSytOM1BwRWthVlZtV0RwN29USFBtMUxIMkJxTVl1?=
 =?utf-8?B?b2Y3STRCKzRhK1pwTkRZTFVKTWxuRmUwZjd5MktCOFJIVmZIRmtQVUl1Tkxy?=
 =?utf-8?B?MGlVWDN0em40TUhEcGNWanZ6MWxjYm9LeXBtMk91MjJ4ZWVIZ21mR1BLblph?=
 =?utf-8?B?UVdXcERkWDlhSUU2VkR4ekpZOXlhdkhVV0dIWVpsd0cxbENuRzVHek5iV3ls?=
 =?utf-8?B?OEFUUnZaWFBIWWdQMTJES3dDQTlUN2tSMU5VVkxCK0hVckZveG5LZU5EakdY?=
 =?utf-8?B?NGJLSnpUM3BST0tnS3A5bDNzajZKSm1NYUMxQS91aW5tazBJZkQ1dStLS25r?=
 =?utf-8?B?MGZackxpVlBBZkMzckFhOGVwMVdQMUdVZzRFdklIN1Y5Z2REamlNL0R1SENV?=
 =?utf-8?B?TVM3bHRNbC9BQnM5VjRNQTZxaFVaQ1ZCbWNxTDBkTlZldzV3VVpTY1dEaEZK?=
 =?utf-8?B?MlUwc3JjKzVmOG5xa21wdTU0MHYrbEdBdXpLMjVydEpkY1ZzVWpDMjZQK1pP?=
 =?utf-8?B?QmNpQ2NpQkZLTXhWY3FwQVZxa0ZMRmpQMFZsVVNpcVNqQ1lTYitybTVSQ3lC?=
 =?utf-8?B?N216ZXA5NTdMU0JwT2EvWXVMdk0ybTZQWGMzRXJUbDdJSzMxSi9CT3dNUjFP?=
 =?utf-8?B?Sk52NVkwNk55alh1OWd5V1pwTXpRV05IU2VmT0d1UHJBN3pIRFpDdGdQWjR1?=
 =?utf-8?B?V1hIeGhoTjZuVmdNN3YyZ3BteGI5K1JtOXNXYjFNR0tQUHBUajRUdnQrNUMz?=
 =?utf-8?B?czhHZ245dVZkSHVyUE9KUkNDSFB1c0c2eUxUOFpNSENrSGxZZ3I1STFpK2NY?=
 =?utf-8?B?YkppYStQdFNhYTN4RE5QVDJNRHVjeUFuR3F3L2F6bnVSblhtZWdjNkJtVW95?=
 =?utf-8?B?UUFiN3g2N2lnejJSTGtZOElGVnRmYldzZi9wL05DL1dlUzVETkFDN202TmVY?=
 =?utf-8?B?VlhWQldyNCtRd0pjUFMzenFFY3ljQXNWTy9adkdLanlGbW5VemJvWDV4RDBt?=
 =?utf-8?B?Mmc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f4b623b-388c-4b1d-fcb4-08dd60ac8bae
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 14:53:55.2194
 (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: pvNH22bEaF3qpX3lQ+vPMhp3PA6THldG4fJa1Xr2XSX2zfjwZQtvw4L/B4/zUftWkOn8LCmbfkeJeQPxuMV8KXphAcHZPe3u/fM/Y8va8mU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7629

Hi Jan,

On 05.03.25 12:37, Jan Beulich wrote:
> On 24.02.2025 12:38, Grygorii Strashko wrote:
>> Change rangeset parameters to "start, last" as proposed in [1],
>> and add documentation for public interface.
>>
>> No functional changes.
>>
>> [1] https://patchwork.kernel.org/comment/26251962/
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> To be honest, this is getting too verbose for my taste. I also don't think
> title and description fit together: One says the main thing the patch does
> is add doc, the other says the main thing is the parameter renaming. When
> then there's at least one further parameter which is also renamed, despite
> not fitting the description.
> 

I can update subject and commit message and resend.

Or you want me to drop some parts?

[...]


Thank you for your review.

BR,
-grygorii


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:05:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908272.1315404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1B3-0004pm-OB; Tue, 11 Mar 2025 15:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908272.1315404; Tue, 11 Mar 2025 15:05: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 1ts1B3-0004pf-LC; Tue, 11 Mar 2025 15:05:53 +0000
Received: by outflank-mailman (input) for mailman id 908272;
 Tue, 11 Mar 2025 15:05: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=0SOU=V6=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1ts1B2-0004pZ-93
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:05:52 +0000
Received: from AS8PR03CU001.outbound.protection.outlook.com
 (mail-westeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c201::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f1b6d83-fe8a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:05:47 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DBBPR03MB6796.eurprd03.prod.outlook.com (2603:10a6:10:207::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 15:05:44 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 15:05: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: 4f1b6d83-fe8a-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YiUdQ9j7eC85jweYi978E0DtBOIuCQFbptqGKGSB9K14WFsEwRzI9vlB1plGzugQ9gbB+w/raWgcmJMwbkQdLHVTlK8ITZrQ8eTv2n6C8TfqfakQAXVcO5ovyAu3LD276H+nQDXbM4IP/WghHVejhuX3ayMOM257E96Xi2Y7hzMA9M0aHPcYjfyaehkLPZFPPHVZorC+++nVks3+dbP3gG5h27aZYn4C/zAphNgNyZgLKFrGaNWREcu2BibHNdFJBAxKO+qls7865Sv7tjCZGvovuRfd9m+jNQFapJlWMO3a7ztQyOdpCsuU3pVsMwGfrwPYh8hrw1nQVZZGm0+kUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F0NUy53ZdaNsOaVAHtjmaOVQnvnKBmP4ygnw/1fyCB0=;
 b=fPmlRPTIjs48uklu1a70CQtR41gAk0XJyRb0qS5fOIWBe8EJodHTdL3ykv5rKr8RYfYu0iRbkR0XOL97g6+GRqt2b0ucfdBWFgR9PyaQfUqVM8+VPNI5ClnMFCLsyDJ/mh7ntsvUo40rupQllbXP7YMz0BzOeLh7CnFg26Q+HehaA9yBP1queMaVCSxJVcheC7vLpOoR4MtzHn36OIwSHReWvfkHigYGWcrHSY+8zQZ3ahDbUp+53nVh6s0Kq7I9JRgZvfSD0MylO5AMhGF+Y0RIqv+aJz7pKHpy6wbnY+urp3RIlMAbyoBobVZsinFI57+Oq+f9lwysg0bsi7AYTQ==
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=F0NUy53ZdaNsOaVAHtjmaOVQnvnKBmP4ygnw/1fyCB0=;
 b=LoP7kLbp7VKwR3OLZpmOtJEuWcSswQdKuTSgQlkZ5yHI5WssiQ15uWBB2lk997PbirPggF5Zqd15cXjgxQdrErFTSAV1A1GUUQOpJqm80u+miEuKpl0zJzpb2wTicHonfHVZD5nHBxYp7+xBE9yDJERjYfonuvjCpBr3ksC2NSTFmjwq9xw58JdFJRDv/UKmpZ8WNlkEtd6n47568dNq7QaMDOMIaDEihVcoS5METs81uwuaOo6sB+bBj/w0b+cRl/92QhDF8K+xVkIvOVmxGEZ1A/Lpol7Dp5hWQqmgGs33dHrioX6kFtW9Biv+Rtx/YgnbTj+A4pA3z1UtR+UjEw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <8c7b7186-c5eb-4ec7-a2b2-fdad76aacf9d@epam.com>
Date: Tue, 11 Mar 2025 17:05:41 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] xen/arm: allow PCI host bridge to have private
 data
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
 <cd3bd35a570064e1b03054bab73e29aa1578bd24.1741596512.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <cd3bd35a570064e1b03054bab73e29aa1578bd24.1741596512.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0194.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::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_|DBBPR03MB6796:EE_
X-MS-Office365-Filtering-Correlation-Id: c0238d91-4d95-4b74-63ce-08dd60ae3232
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?cEZ2Vm9YYyt6cFFOV0tlT3dmWVFNMmhLNjdCdVU2MExOODRKQmhxWjRXakZ2?=
 =?utf-8?B?OEMvbDFMWXVmM0Zub21TYkRQVmMrK1hFdzNtYk9iMGVsOUhRMk5rU24rSUVl?=
 =?utf-8?B?Mmg2eWx2U0hROFlQeWhRT1JUV2hBc2U5eU5zdUZsVXl5UVlUcDN0NUxjcVFQ?=
 =?utf-8?B?N1pFNUh0emVwS01qQncxVTVNU0R5KzlHNDNRQ2FaYUd5REYzMy9NVmZ3UEFS?=
 =?utf-8?B?RUNSZVl6dFA4K3JNMmJ5c0tzanBBS3ROL2REUFdNa2czMnFNcFJ0M2R0Ykw4?=
 =?utf-8?B?SGFzRGk0TmF2VzdyTS9vekJFYVF4amEzR0lUYnNRQ1pqOWkyZSt1Wit0R1Jm?=
 =?utf-8?B?QURqeXhPbjcvdDZxclZ4eE0wMS91R25LWTNETW4yTnF0bUhxQzQxSUdCT1Nk?=
 =?utf-8?B?OTlxNy9BRXRQampyUFEwSDc5anlZNjMwaXBKa3ZRM2wwQmd5OWVrMXJFL3gw?=
 =?utf-8?B?Y2tsNkdCUEt1bDA0bVpuRTBwV1VpTUs3Q01FcDUzVlJDbUNmQnQ5K2dianN4?=
 =?utf-8?B?TXorOTQ3MmZyRm11TXNReXluczFhOTJFZmZZU2cyZEQxdHdiTzhLRXg4SEhO?=
 =?utf-8?B?K1poQ05SVjRZS054WGZJRVNSN1RuT2NzZE5JQ1NEVndTVHVlazhsWTlSMjBu?=
 =?utf-8?B?ZWpjQjhpT3dSREZlSUVuQkZGODNlNTRoakUxMmJjeUltTjc3ZnpidjZDU2tM?=
 =?utf-8?B?Y2JUUjlnT0hGZFpocDRzOGNRSUlJdElQMGxzZG12TGk0MUhGRFpBY2dIS2xU?=
 =?utf-8?B?ZlVSN0xSeWo0K2d2UCtaUVE4NVJadENKTXhYSDJSM0E5NTRORnpIUmE4QW9w?=
 =?utf-8?B?SExiSWNCa3J0SmhvYVU5dEpaV2hOK0xoYktLNm9mTHpuM2RlaFJHaER4T09M?=
 =?utf-8?B?MENpUHBWdk10SlhjdDlqUTdSWDA2aWxXbU1EdHVyNEhkUmd4RG5XQ1NwTlZh?=
 =?utf-8?B?L1k1aE4raUIvS09iQ3ZFQ293UVRSODlvSjRmWGhtbmlwdkZmWnBLKzdHU3U3?=
 =?utf-8?B?cEpVc3VRSVppTjFTQWVVN0lHcGI5TkwvY0N0K3V5a29TL2RCUkRaRWlBeWgv?=
 =?utf-8?B?UDVrcXdwaFhRK1NiK0R1UjB4VVlJbGlRUnRiY21wNmdLWFF6VXBZMGhNbVNr?=
 =?utf-8?B?RE5RUmJnSXpsaVhZQVZRNFMwSDB4NWw3NEt5R3ZPWGpFTDljN2UxaG1pS3Bi?=
 =?utf-8?B?ZHJjTkRBV1czRHZwREJFUmIzYjI2OE90ZU5neWdhM2FUUjNZMkZaclRUK0FY?=
 =?utf-8?B?c2liRGRxbm0xZnhwWjV6RkpEekZpOHF5c05ZUUZYM1MzWXhtalF6Rk5PcjJ2?=
 =?utf-8?B?bW5hdHhhVkxLWW4zZFdKbXRzbGE5WGJyTnZCQTc0Y2dkdEh0aThrUXV6WmhR?=
 =?utf-8?B?R0pHOGp6enUreHE0eFJBYlhtWm5WY0dSR0NLenRhbXk5b1JvWmdUckpXZ0Z2?=
 =?utf-8?B?KzY5L2xBRTZZYnA0Z2xYVjg5RE0yRVAxaW1pb0VMZC9zVkNRcHJ0MTNFL0NM?=
 =?utf-8?B?azNwS3JaZVhRdlJ1NVNUYWlpWXVCcDFQR1pOYW5UQTZPVHJ0RkRVd0lYRzRr?=
 =?utf-8?B?b24vcVFhbmV3R0Yvc1pXTnZaZ1BlUDdHcnBhZUllWnltL0V1dmNlbldQdFdy?=
 =?utf-8?B?UFI4aEtUS0JmdHlZVGkxakxzZHgzRjRYRUhXeHk3VGdJVXpHeWtxU0RhaDc2?=
 =?utf-8?B?ZlV6Tzh6VHVEdm1uQXpOTXNFWEZOUVd1YjRsdEJ4RWFCZ1hKODgxTkRPWTZL?=
 =?utf-8?B?My8vUUFabUhWWkE3Y010YUtEZW1FZnViMWNtRERGZUlwemM5VlFPRFZud0JH?=
 =?utf-8?B?YkY0ZXliai8xTnlzM1U2aTJ2NWJpRlFpM1F3T0JRTkhVZmFyL2JHOVVMWkFD?=
 =?utf-8?Q?XVdCo3Vi4zNDM?=
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?ekpBbDJyRHhIWWpjRkh6SDZhaUlLbHNTSHhLWlc0UEl5VHNUYUQvMnllSkQ3?=
 =?utf-8?B?VkM0bDhZcVdoOFhreUdtQXhaUDU0WGMvc3FkRXc3L2tBUC9rS00zN2hnRXJl?=
 =?utf-8?B?cW8yMmFYNjJmeExPQTYzUjNxN3oyNWNEb2MwcmRXNmtiY1NzUXMxSmVFMlpp?=
 =?utf-8?B?ZzdoSHpVeCtpQ2JmYk1DelhSNyt6QW5aSG5VRHVjeDU5U3FoNklIZUs4QnZl?=
 =?utf-8?B?L0dOWHJEYis2ZGF2bExKdUpYaWlXL0wzdEN3ZmNhNlZFT0JlTFdFcHgySWh0?=
 =?utf-8?B?SnF3d2pIeGs4YkxROGNPM0JtZlpWbG1UUTUwZHh4UTd3ZzVlMUV0azcxSnpa?=
 =?utf-8?B?c3pvemZOeklOQUJTNlJqQ1VCR1hkaTFxSFFRN0pBQ0tmUUJ0QmpxNitrc1BJ?=
 =?utf-8?B?OE44UExQWm9aNHZxYVpib3A0d0VEb2s4S0MvWnRwWTdTR3pZMDRHQlRzdndo?=
 =?utf-8?B?QWIwcWxaUXljSExIemFlVXhoQ1hHQU4vdEpqeU9jQmV6Q2dabHRrb3FPZTJv?=
 =?utf-8?B?MEdsQi94SEhmZEtQV0puKzhkWHJRVnZwcmtrT2RsRlR3TUZTQlE4bENWN05X?=
 =?utf-8?B?OStVKzR5TEZVdjdTd1BkWlYzbUpQbUZ0RW5YWUxhbWFJdllYdXNwWVA5RFVx?=
 =?utf-8?B?ZVBCWmxobnh6bnYwR2w4YWcvM1VhdDFIVkk2eHFhY0IyZjhvZTluK2lIOXY3?=
 =?utf-8?B?VXpwQnphWjZmenBCVlFDVjd3aE1tUjI2cEk2ajFnYnhaUUlKTjluaVk5ZGVH?=
 =?utf-8?B?N3NKNXhzTHQrbWx3K3pydy84RWZ0TU9tV3hNYUNPU2ErVHJ1anRJZHU3aVpv?=
 =?utf-8?B?SkE5QTNoelVDK3A3eVhoOUJyR1V3SUN2NHdObGNka0h0aUxpRnh3N0NSUFRs?=
 =?utf-8?B?blpKazF5ZnZLTndiZmhMUTFyU2h0eWM4a3d3dkVpek5vdFdBdDRGTlJ6VVZV?=
 =?utf-8?B?a1NyS2dSNVNGOE11dE1IYk80Wk53cTJnM3ovMk1ySDNmVzlBemFaYnJOb095?=
 =?utf-8?B?TlNXbFptZGZOUkpkeFk5NDc3SGJMczJtdUhkdXU1S2RzdGRwQjBsUGhEVWZq?=
 =?utf-8?B?NWJ6dHJ4dzQ5Ykx2WjlVdXQxUXoxUXZYYzN4d1VQcVJaYXhoWUhtYm4wcmx5?=
 =?utf-8?B?Ry9ZN0ZTcGdGeEIwaVpNb0cxVzVMNHI2VnlBNzZoZHZJVmVnSmpDSURKTkQ4?=
 =?utf-8?B?WE5xVFYyOWtyZUNENlFKS3FhV2xIQmNKQkZnSFYrNThzZE9HYzVOOXdObUtY?=
 =?utf-8?B?VWJlUC8rNlB6dG95NERkb2cwdENHSm1EMDhvQUhzTXFuSzc5VU05UFpXVjVu?=
 =?utf-8?B?NUk3QnZleXpQVWRQb2pDU2xXYnlVSGgrdjNpUWJYa3NUZ0U1ME44bnhZVTBZ?=
 =?utf-8?B?V0MvZGZManIvR2VGR21OWEo1Q0NGam5iZFNaaE1HRjhtZnp0ZUM2OGVjYU5F?=
 =?utf-8?B?dDQ5eW1OSy9YandEZ2dFY3M1TmMxZVYraW9hbWtMWnVMTXJDS0NHYlJ2NTJo?=
 =?utf-8?B?Nm0yQ1ZPUW44OVBubzY5ZzdOOU1lejJ4VEdia3RwR0hxblZ3Z09qWlFNQUg2?=
 =?utf-8?B?OGExaUM3TXBqS0J4bGtYOTBuWHdMRmRkc3JYNlpEMDRPTWNlbGxHQ1RiajRt?=
 =?utf-8?B?MHVWWE05cUNJUnFRNDJUdFBTTStIU0tMc09tTzZTODZoMnNXcHVvYm1LYzVn?=
 =?utf-8?B?NGg2WFhSSUw4anh2VG1MMms3REhXcFdVNkRSZ1BxSld4V1o5dDhVRWFQNkFF?=
 =?utf-8?B?US82NUdiMGtlYkFySUNwVnRwWWYzdXMvVDdqY1orYU9NQUlMZW5FU2dmNXhP?=
 =?utf-8?B?WDVTYUVWZ1IyMWFJN28rbEZvUTg4S3JIME52Mld2bktJK1NVNFNpSUZEcE9G?=
 =?utf-8?B?YnAwc3dOdDBiR1dZNExzSkc3NFlJOFR0dkwybXhmV2Z4L3JnWkU2dkt4cUsr?=
 =?utf-8?B?dUJENCtNRHRJV0V5Q3NjQXB5YUJPaFFPSXdvRCswc21iZ2JEdk1ndVdVYXlZ?=
 =?utf-8?B?Wlk1NFNRTUU2SWlkbmhWNzJSNG5MeE55VkZ3THYwOE1OM3FYLzNQd3RMWjdF?=
 =?utf-8?B?S3hlQ0RqVERoaHNablNmWFdYUk9MNStSbU5RcnFDUGJ0eFB3Q1pocmpMSFFN?=
 =?utf-8?B?eWxSRlNtMnMzRjFUSHVDeW45RGdHL244OWt6NlJTUzdZRFRDUHVjTUxzWWNp?=
 =?utf-8?B?UGc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c0238d91-4d95-4b74-63ce-08dd60ae3232
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 15:05:44.0745
 (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: lG570+/wC+SU39vk1pQ5QidUIRYpxTWG/R3QbzYwoqM8juaQQ4/BLhO4RS47TAJUg3+KZ1oechD7L0jYAvT3W6WHUAPGhU6Ra+4z1kH8Kto=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB6796



On 11.03.25 12:24, Mykyta Poturai wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Some of the PCI host bridges require private data. Create a generic
> approach for that, so such bridges may request the private data to
> be allocated during initialization.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
> v1->v2:
> * no change
> ---
>   xen/arch/arm/include/asm/pci.h      |  4 +++-
>   xen/arch/arm/pci/pci-host-common.c  | 18 +++++++++++++++++-
>   xen/arch/arm/pci/pci-host-generic.c |  2 +-
>   xen/arch/arm/pci/pci-host-zynqmp.c  |  2 +-
>   4 files changed, 22 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
> index 7f77226c9b..44344ac8c1 100644
> --- a/xen/arch/arm/include/asm/pci.h
> +++ b/xen/arch/arm/include/asm/pci.h
> @@ -66,6 +66,7 @@ struct pci_host_bridge {
>       uint16_t segment;                /* Segment number */
>       struct pci_config_window* cfg;   /* Pointer to the bridge config window */
>       const struct pci_ops *ops;
> +    void *priv;                      /* Private data of the bridge. */
>   };
>   
>   struct pci_ops {
> @@ -95,7 +96,8 @@ struct pci_ecam_ops {
>   extern const struct pci_ecam_ops pci_generic_ecam_ops;
>   
>   int pci_host_common_probe(struct dt_device_node *dev,
> -                          const struct pci_ecam_ops *ops);
> +                          const struct pci_ecam_ops *ops,
> +                          size_t priv_sz);
>   int pci_generic_config_read(struct pci_host_bridge *bridge, pci_sbdf_t sbdf,
>                               uint32_t reg, uint32_t len, uint32_t *value);
>   int pci_generic_config_write(struct pci_host_bridge *bridge, pci_sbdf_t sbdf,
> diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
> index c0faf0f436..be7e6c3510 100644
> --- a/xen/arch/arm/pci/pci-host-common.c
> +++ b/xen/arch/arm/pci/pci-host-common.c
> @@ -209,7 +209,8 @@ static int pci_bus_find_domain_nr(struct dt_device_node *dev)
>   }
>   
>   int pci_host_common_probe(struct dt_device_node *dev,
> -                          const struct pci_ecam_ops *ops)
> +                          const struct pci_ecam_ops *ops,
> +                          size_t priv_sz)
>   {
>       struct pci_host_bridge *bridge;
>       struct pci_config_window *cfg;
> @@ -241,11 +242,26 @@ int pci_host_common_probe(struct dt_device_node *dev,
>           printk(XENLOG_ERR "Inconsistent \"linux,pci-domain\" property in DT\n");
>           BUG();
>       }
> +
>       bridge->segment = domain;
> +
> +    if ( priv_sz )
> +    {
> +        bridge->priv = xzalloc_bytes(priv_sz);
> +        if ( !bridge->priv )
> +        {
> +            err = -ENOMEM;
> +            goto err_priv;
> +        }
> +    }
> +

I'd like to propose to move allocation into pci_alloc_host_bridge()
to keep mallocs in one place and do it earlier, before proceeding
with other initialization steps.

Also the pci_alloc_host_bridge() could be made static, seems.

>       pci_add_host_bridge(bridge);
>   
>       return 0;
>   
> +err_priv:
> +    xfree(bridge->priv);
> +
>   err_exit:
>       xfree(bridge);
>   

[...]

-grygorii


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:09:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:09:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908284.1315414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1EP-0005T0-A9; Tue, 11 Mar 2025 15:09:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908284.1315414; Tue, 11 Mar 2025 15:09: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 1ts1EP-0005St-7g; Tue, 11 Mar 2025 15:09:21 +0000
Received: by outflank-mailman (input) for mailman id 908284;
 Tue, 11 Mar 2025 15:09: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts1EN-0005Sn-QP
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:09:19 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca8d9052-fe8a-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:09:13 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-22409077c06so15471485ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:09:13 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736b3f2412csm8273161b3a.175.2025.03.11.08.09.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:09: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: ca8d9052-fe8a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741705752; x=1742310552; 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=qBzq3gZ4RElKkwYhaj8ZNxHgJX2I6SVrzxCcg9CG9Dw=;
        b=jf5rnMWQwUYKs+hZc4roX6YEfjYQQHRaIdPohBhCkFlsvUpnQHRAPGLCITBm79ABN3
         +Oq/qbEkFO/S+FAJnto2CEJNOA0+5lebqQzTR0xA+P1MCb06OPhQjf9MY8CvxG0SYIqX
         oMQgcCnt55el0+1aRglrEhejdDJGCD3vuUv800UJFJIIwXzM1H5PRNdSqTcbz8J0tkMH
         BKRK781UfvwTWPcedMhyGy5CrhRr/Qes5w6jbPctN0He3Dl/n1YYkgmhb3FHUWaCYR54
         lg7FPaOyqJWHN03NrWSFAOrTsaNNseeCvkBsvrGlVEw2Hd1PAO7aNjfki13zmcHNzu1P
         phQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741705752; x=1742310552;
        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=qBzq3gZ4RElKkwYhaj8ZNxHgJX2I6SVrzxCcg9CG9Dw=;
        b=sVklhcCS4dDBpXR71etB8GvEPdLPuJ+yZc/DdRs6bdCRI01IH1SNiUZ0u1AMVrFHSq
         8+qPJ4PnHBhGrqBJz5qAn7Rf38wLRG4da+6nJ3dOjkyLI1chDXn+poXMh1hrbQNss/sx
         CSqw15+gV2SGDfZD/T1HVMDdZa8zuM4JDdn+Bi5TKflJs9fxGGqvgXVzu7S1QNeFCy5q
         tMRUlAkNhmO/HBIl9Y7CbFd/8dzFVlHdCBAdyPohwIC8j7JmE2BqOCsqmloXBYj0nCWJ
         3Zp+1/j0Xao5+XgtbYJYxkBAAqqSCwNYmzTs3upeScUTLt1id1c0mXqcgQCieB/fWQ+u
         vkwg==
X-Forwarded-Encrypted: i=1; AJvYcCWZiBpjwk1RhFs2I5LYMqqMXMbccTeH0959Xf7n3le3GobpCmVydEoJf+3SIXSlaOEWYfX22jgV1go=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYuyDHLX+xucyRqUX+KxJEh1JFqrtQmskKF/cOTAloMx9LshWk
	MKC57qPDaRSINw7b/+QGUU9XgYdnOuPkPXoM1ZduuS/OEAvwhrT5g/qJ4cKcLD4=
X-Gm-Gg: ASbGncsy9KMuS2IgZcNi2pCh0TyNOcYR9LsfcnTmQBua2unUC9EJLy7DsUUeLJQkuPJ
	rWnpuFLsmgm03SncEACWHlM+EfEOPZU6sA3udb502ui4F81GEpasKX+oDoxXRraTseewGwmfIQw
	eVVuG4kk5NffYYM5qfFDsGiqJNgUG0lriNMQ//9TCc+tMXaJGS3TG9ZpbcqeP8RTM9ROiAy+jaW
	Cm8mirfK2cE2CLFnPMph9xmmv/4qOw0Oq8gF78+EmKLJJvXXCat8gM6LE3GXnkU0H0npe3dYTQe
	TYk1zDUr0Gi3DgqFFJMMJaq7UCqG9i0m00puNTK/BOVkzOv6s5dVBz++BQ==
X-Google-Smtp-Source: AGHT+IHdtXZCBvbhA4fnw5TeglBYyYnfR3rHysBoeOpLSs+t9AWpL5KS2rwpMgVJc9S6ANeeel2twg==
X-Received: by 2002:a05:6a00:2e17:b0:730:95a6:3761 with SMTP id d2e1a72fcca58-736aa9e745amr29105632b3a.3.1741705752226;
        Tue, 11 Mar 2025 08:09:12 -0700 (PDT)
Message-ID: <437c66f2-b2f5-42dd-a266-581997d90581@linaro.org>
Date: Tue, 11 Mar 2025 08:09:10 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 03/16] exec/memory_ldst: extract memory_ldst
 declarations from cpu-all.h
Content-Language: en-US
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-4-pierrick.bouvier@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <20250311040838.3937136-4-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/10/25 21:08, Pierrick Bouvier wrote:
> They are now accessible through exec/memory.h instead, and we make sure
> all variants are available for common or target dependent code.
> 
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/exec/cpu-all.h         | 12 ------------
>   include/exec/memory_ldst.h.inc |  4 ----
>   2 files changed, 16 deletions(-)
> 
> diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
> index e56c064d46f..0e8205818a4 100644
> --- a/include/exec/cpu-all.h
> +++ b/include/exec/cpu-all.h
> @@ -44,18 +44,6 @@
>   
>   #include "exec/hwaddr.h"
>   
> -#define SUFFIX
> -#define ARG1         as
> -#define ARG1_DECL    AddressSpace *as
> -#define TARGET_ENDIANNESS
> -#include "exec/memory_ldst.h.inc"
> -
> -#define SUFFIX       _cached_slow
> -#define ARG1         cache
> -#define ARG1_DECL    MemoryRegionCache *cache
> -#define TARGET_ENDIANNESS
> -#include "exec/memory_ldst.h.inc"
> -
>   static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
>   {
>       address_space_stl_notdirty(as, addr, val,
> diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
> index 92ad74e9560..7270235c600 100644
> --- a/include/exec/memory_ldst.h.inc
> +++ b/include/exec/memory_ldst.h.inc
> @@ -19,7 +19,6 @@
>    * License along with this library; if not, see <http://www.gnu.org/licenses/>.
>    */
>   
> -#ifdef TARGET_ENDIANNESS
>   uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
>       hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
>   uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
> @@ -34,7 +33,6 @@ void glue(address_space_stl, SUFFIX)(ARG1_DECL,
>       hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
>   void glue(address_space_stq, SUFFIX)(ARG1_DECL,
>       hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
> -#else
>   uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
>       hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
>   uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
> @@ -63,9 +61,7 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
>       hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
>   void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
>       hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
> -#endif
>   
>   #undef ARG1_DECL
>   #undef ARG1
>   #undef SUFFIX
> -#undef TARGET_ENDIANNESS

Just to track last Richard answer,
Posted on v1:

On 3/10/25 17:04, Pierrick Bouvier wrote:
 >  From what I understand, non endian versions are simply passing 
DEVICE_NATIVE_ENDIAN as a
 > parameter for address_space_ldl_internal, which will thus match the 
target endianness.
 >
 > So what is the risk for common code to call this?

You're right.  I failed to look at the current implementation
to see that it would already work.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:11:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908292.1315425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1Fw-0006tH-LQ; Tue, 11 Mar 2025 15:10:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908292.1315425; Tue, 11 Mar 2025 15:10: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 1ts1Fw-0006tA-Ha; Tue, 11 Mar 2025 15:10:56 +0000
Received: by outflank-mailman (input) for mailman id 908292;
 Tue, 11 Mar 2025 15:10: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts1Fu-0006t0-DS
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:10:54 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0397046e-fe8b-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:10:49 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-225a28a511eso9117355ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:10:49 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af28126d69bsm9585406a12.51.2025.03.11.08.10.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08: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: 0397046e-fe8b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741705848; x=1742310648; 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=cQwJl5AaMpNuj13k4T9FN6aD7KIBuzBDEK+lwo9Ext8=;
        b=nFDzTlSGhPMWFqApNH/A01QmZ7QpSwYR1B5iAayzOClosH8EJeq1zMyh+nkshhUlpJ
         eGO/JrSjst1gXYPdRPHO6ejal5/NiJ/Cx5XEVzGzqMHnO4EKeEH/u9+HSwb4+dWW1qIS
         OYCWjGlqWVvR/gXzldmB27BraUj4uVAVs61U+UdD/Goo3/fvKjaTvVpOZbDPpFkBH6/q
         sp+moXX4/OYq6zqmogy4LdWCA5v6jRtSgjVY0mlhllta3278GRP4uAuE589d+17jieU6
         H1+V/eTiLRoLxOaJH/1wH0INy6nmzAlUmOgPeI4G6634FtiT8T28I8VQlw10VFqy3ACW
         XNGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741705848; x=1742310648;
        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=cQwJl5AaMpNuj13k4T9FN6aD7KIBuzBDEK+lwo9Ext8=;
        b=expgmAOMisou+sSJPwu76WVoxa9IPdAz+aTFNyEyfEjCyMBKH1DtA6Ixz2+Tn4mQYd
         XmisNqT06ArhsGPqJ9zoUWM3caseUXsmNoB+gI+T3rD8GPjQxqmdPVKwq52pr2jQHzg+
         BFII+p27cj0ygkCWW0TpfN0kMnwriQNPvo6QkaMBUMDbvLlq2ZCdcTTPnJmSUQfKv3HE
         EtcAi2vgcpmG1cWCW2xmf1TOcUXWdeMBUxHH1RnP7hKmAOEy+Bj5vx9gW4J9fbGWEyt4
         3h5JZ2riN1b4hTwtKmmIK+nqnmvVSnT80APITikwK18i1tZqTXGjePsbTQGX3h7ggiUA
         2piw==
X-Forwarded-Encrypted: i=1; AJvYcCVMQww4PlmmXK6QElK1E0vhSNg6AnAtWdD39cvAGZc+3Znt70VbdO/oy+Dy89m0QS4kq9wQCsgS17g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxhYtlhJHtajDIDIruGEQjCRmckujFHmGOw7DExO2rZpSdmK3pi
	Q1Ygl3rzmoo/2PjegTPIkPaUqSgEZ761Or5zfS5a5IjuZ6WglA+wxmjvu7QKu0c=
X-Gm-Gg: ASbGncsFq+YG8Q3nGB/MkAwM5/cKCcycqeYA2W2ScezcpeJI5g2Mw3vTwJ0jyd9ya1d
	7mMDW2VpIs63PqtT0/IAOPk1jcLVg0YFQjib+pV70HddpT5mKQFrHm8YiaEpnpnWl65GoXZbtEm
	7ZgMIKAE8ZjjdPukA0DwzSnNiEenqrcuV8AJn16wUDQEJX2Vx07Y0KXzvcC9YpGxws+jQMPPvyl
	cRBx3o5GHSkDGgez+eC7R7LkUi3l9GPiOE8THt5aBCeg4Gzqsh3MtkTkpQrhQug2SGN1siQqwna
	0R0k3VZouDgmdpObxaJCY3YrUTJVCP59HZPYxVPVhn/W6dMPGF5kv817fA==
X-Google-Smtp-Source: AGHT+IEITMrsbR3vHiF3IG5H7RZJtH9+eCZYnI84EngoCoPfv0vimXTB3AzAhTXNWBOwPqkcAjXLsA==
X-Received: by 2002:a05:6a20:7fa1:b0:1ee:dd60:194f with SMTP id adf61e73a8af0-1f544c378b7mr26705105637.26.1741705847979;
        Tue, 11 Mar 2025 08:10:47 -0700 (PDT)
Message-ID: <9706a688-b466-40ca-a6b8-0221b11f749c@linaro.org>
Date: Tue, 11 Mar 2025 08:10:46 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/16] exec/exec-all: remove dependency on cpu.h
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-8-pierrick.bouvier@linaro.org>
 <f0c7b0ff-a43a-4203-aba1-2e06a462771e@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <f0c7b0ff-a43a-4203-aba1-2e06a462771e@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xMS8yNSAwMDoyNiwgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDExLzMvMjUgMDU6MDgsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6DQo+PiBSZXZpZXdlZC1i
eTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+DQo+
PiBTaWduZWQtb2ZmLWJ5OiBQaWVycmljayBCb3V2aWVyIDxwaWVycmljay5ib3V2aWVyQGxp
bmFyby5vcmc+DQo+IA0KPiBNaXNzaW5nIHRoZSAid2h5IiBqdXN0aWZpY2F0aW9uIHdlIGNv
dWxkbid0IGRvIHRoYXQgYmVmb3JlLg0KPiANCj4+IC0tLQ0KPj4gICAgaW5jbHVkZS9leGVj
L2V4ZWMtYWxsLmggfCAxIC0NCj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0p
DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9leGVjLWFsbC5oIGIvaW5jbHVk
ZS9leGVjL2V4ZWMtYWxsLmgNCj4+IGluZGV4IGRkNWM0MGYyMjMzLi4xOWIwZWRhNDRhNyAx
MDA2NDQNCj4+IC0tLSBhL2luY2x1ZGUvZXhlYy9leGVjLWFsbC5oDQo+PiArKysgYi9pbmNs
dWRlL2V4ZWMvZXhlYy1hbGwuaA0KPj4gQEAgLTIwLDcgKzIwLDYgQEANCj4+ICAgICNpZm5k
ZWYgRVhFQ19BTExfSA0KPj4gICAgI2RlZmluZSBFWEVDX0FMTF9IDQo+PiAgICANCj4+IC0j
aW5jbHVkZSAiY3B1LmgiDQo+PiAgICAjaWYgZGVmaW5lZChDT05GSUdfVVNFUl9PTkxZKQ0K
Pj4gICAgI2luY2x1ZGUgImV4ZWMvY3B1X2xkc3QuaCINCj4+ICAgICNlbmRpZg0KPiANCg0K
UHJldmlvdXMgY29tbWl0IGlzIG5hbWVkOg0KY29kZWJhc2U6IHByZXBhcmUgdG8gcmVtb3Zl
IGNwdS5oIGZyb20gZXhlYy9leGVjLWFsbC5oDQpTbyBiZWZvcmUgdGhvc2UgY2hhbmdlcywg
aXQncyBub3QgcG9zc2libGUuDQoNCkkgY2FuIHJlcGVhdCB0aGF0IGhlcmUsIG9yIHNxdWFz
aCB0aGUgcGF0Y2hlcyB0b2dldGhlciwgYXMgeW91IHByZWZlci4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:13:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908303.1315435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1Il-0007UN-0K; Tue, 11 Mar 2025 15:13:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908303.1315435; Tue, 11 Mar 2025 15: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 1ts1Ik-0007UG-U0; Tue, 11 Mar 2025 15:13:50 +0000
Received: by outflank-mailman (input) for mailman id 908303;
 Tue, 11 Mar 2025 15:13: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts1Ik-0007UA-6F
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:13:50 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6eb26724-fe8b-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:13:49 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-22401f4d35aso100406775ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:13:49 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736cb466a6csm5505816b3a.165.2025.03.11.08.13.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08: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: 6eb26724-fe8b-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741706028; x=1742310828; 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=86STdfu7sbDSkiwCii3eDdimSERy6/v6Vuyj4krzCSs=;
        b=wEJCeV2ARs29RrMTUo8sOyxnQM5w542bFfWw727wklWR8ti0iPY/ez8nM9tbHoTWZO
         AD+1+qgjNhtg6VcEBZcGIIYM5kerAYFdHuHonxMkbBRC0U7OX0gCmQvr2qVhkzCTP/0j
         9yKAdbS2Llr9pROXwTxyswuU7n7UcDhFkFgYzkFn+JgO7VVnvnatUUsZ8Fn9St7ZkDNB
         C9U1gv88ZtF8w2r8LvxMjxd1n2d/8Xi1pW5nsDG6mk4041aRd6AFWF+bXF9tmH1qsHDy
         h7AV9ZtaHK9RQKU+xBECNfc15W6rWQRoNXlXXBeIBavYXA65VqYemo9R3+Ah31ZEifEL
         BrHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741706028; x=1742310828;
        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=86STdfu7sbDSkiwCii3eDdimSERy6/v6Vuyj4krzCSs=;
        b=OzOE5HmNtNEHp5t2pLBHvIHJPkWTufQVyI7T5ixW2anloZ0ndbieTCmDFXqXbu+bj2
         KOPaWU4BZer8HZA5rEKedgJcmeOWeTOwGPMuMphXH5Za6EqXWQUYIo+EHa5HVfHjKUZc
         j16pgIBo4vtQUFql1idQQMT6Nj6xeJNV1zlxFZvqZ5ElyFj8ZVtyLQx0tAyemuQgRoCR
         dbgNCShmZZMd1bBSXYqHJU/JJan0RQ8Qp9pJ7++JTRBc7mFjiO+M7LXK4oRwJk8dzAHC
         ZPyxd6gU2hJZxAgfd3+fxYgYSb8ekN8S+Rmf1adeWxDBbuT00H9TxCWfonm1D1mqFfcJ
         CCNg==
X-Forwarded-Encrypted: i=1; AJvYcCX1hM22ig7HQe8x1bdvrWLN+ruhzi0M5MZIpni1uqhNcOYe8+mxaC3bnGc1DmAR/uMw38foYcxCK8I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXzfm5zEh5v0bzXxV9X1kP6MQcmh+ZSfcYRNpf0PoC/XUkk8qT
	SD8VLwhYuvOs9Gqd0TDWI9BH2k1UHmNdsUhJFdbNrtCod3wTGvCrhvJNSjYOq9w=
X-Gm-Gg: ASbGnctKpjEb/DLi/UnRjsPRBXxJZokbM8CEkeMWYkZ482AZJmOOJSedYbxUDkUhzE5
	5IaNeVWpIFjKGvJzqppA8dfqVHlndcDrs3Uq4Cnacyf8wAQsWyi5a/p9iJRc8qzVcRkRc7kZjyu
	QK4MB3NLEbM/3/DFgRNd0+OZM6xVWutxXYgdZ06rP2bUj3Cp7ONjfH+G0d0dgwxhaOq1jN9jSkT
	Tr2TymOOC/JittlRTg7V7v+GRQtdPrA9b063I2squEKpdy3sKnlmSb69XOMpVYhvEwsukJLQDsC
	I3wCevo+sBJ5/nAwlCp+eKR6MTGpG7szOEbB3jKolUXYaNO1JHFRfjEOAg==
X-Google-Smtp-Source: AGHT+IEZ5MBTaCdyWT08MqOAa8+LxkV8QowtXuqs/UZhCfCdiX14jnvavHT21U00/SV+pE0VLr2heQ==
X-Received: by 2002:a05:6a00:10d5:b0:736:47a5:e268 with SMTP id d2e1a72fcca58-736eb7b363bmr5355533b3a.1.1741706027670;
        Tue, 11 Mar 2025 08:13:47 -0700 (PDT)
Message-ID: <72e938d4-fb4e-4be4-9a34-7b0321ee2554@linaro.org>
Date: Tue, 11 Mar 2025 08:13:46 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 08/16] exec/memory-internal: remove dependency on cpu.h
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-9-pierrick.bouvier@linaro.org>
 <9f92a783-3826-4a06-9944-0e0ec5faccc9@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <9f92a783-3826-4a06-9944-0e0ec5faccc9@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xMS8yNSAwMDoyNiwgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDExLzMvMjUgMDU6MDgsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6DQo+PiBSZXZpZXdlZC1i
eTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+DQo+
PiBTaWduZWQtb2ZmLWJ5OiBQaWVycmljayBCb3V2aWVyIDxwaWVycmljay5ib3V2aWVyQGxp
bmFyby5vcmc+DQo+IA0KPiBNaXNzaW5nIHRoZSAid2h5IiBqdXN0aWZpY2F0aW9uIHdlIGNv
dWxkbid0IGRvIHRoYXQgYmVmb3JlLg0KPiANCj4+IC0tLQ0KPj4gICAgaW5jbHVkZS9leGVj
L21lbW9yeS1pbnRlcm5hbC5oIHwgMiAtLQ0KPj4gICAgMSBmaWxlIGNoYW5nZWQsIDIgZGVs
ZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9tZW1vcnktaW50
ZXJuYWwuaCBiL2luY2x1ZGUvZXhlYy9tZW1vcnktaW50ZXJuYWwuaA0KPj4gaW5kZXggMTAw
YzEyMzdhYzIuLmI3MjlmM2IyNWFkIDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9leGVjL21l
bW9yeS1pbnRlcm5hbC5oDQo+PiArKysgYi9pbmNsdWRlL2V4ZWMvbWVtb3J5LWludGVybmFs
LmgNCj4+IEBAIC0yMCw4ICsyMCw2IEBADQo+PiAgICAjaWZuZGVmIE1FTU9SWV9JTlRFUk5B
TF9IDQo+PiAgICAjZGVmaW5lIE1FTU9SWV9JTlRFUk5BTF9IDQo+PiAgICANCj4+IC0jaW5j
bHVkZSAiY3B1LmgiDQo+PiAtDQo+PiAgICAjaWZuZGVmIENPTkZJR19VU0VSX09OTFkNCj4+
ICAgIHN0YXRpYyBpbmxpbmUgQWRkcmVzc1NwYWNlRGlzcGF0Y2ggKmZsYXR2aWV3X3RvX2Rp
c3BhdGNoKEZsYXRWaWV3ICpmdikNCj4+ICAgIHsNCj4gDQoNCk5vIGRpcmVjdCBkZXBlbmRl
bmN5LCBidXQgd2hlbiBhIGNvbW1vbiBjb2RlIHdpbGwgaW5jbHVkZSB0aGF0IChsaWtlIA0K
c3lzdGVtL21lbW9yeS5jKSwgd2UgY2FuJ3QgaGF2ZSBhIGRlcGVuZGVuY3kgb24gY3B1Lmgg
YW55bW9yZS4NCkkgY2FuIHJlb3JkZXIgb3Igc3F1YXNoIGNvbW1pdHMgaWYgeW91IHByZWZl
ci4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:17:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908314.1315445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1Ll-00082z-EV; Tue, 11 Mar 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 908314.1315445; Tue, 11 Mar 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 1ts1Ll-00082s-Bh; Tue, 11 Mar 2025 15:16:57 +0000
Received: by outflank-mailman (input) for mailman id 908314;
 Tue, 11 Mar 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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts1Lk-00082k-Kj
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:16:56 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd29374a-fe8b-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:16:54 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-223fd89d036so110449965ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:16:54 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a68b89eesm9616262b3a.104.2025.03.11.08.16.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:16: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: dd29374a-fe8b-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741706213; x=1742311013; 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=X8LOGG4uU8FOZpUEyBqgQ5KobC97qVpoXve38nvbWcU=;
        b=J0duy1Cj8QSmr1pSx3NSWrXgZZq02Q3htqn2gWldUeb0D/2H7YUNqCtqmnL9Syn9SX
         btuQPIvxKA3ieP7oxBrmO4vu50hc8Wfq2cjM+gYTE3sbIVdVEnE3yWmPP7AyY3tt0zwI
         pWU+JKHKh0yW9pvGIlIzEIFoNmsFe/ypjciy9o3BnqsW2i3d0kkhc+BW3MReWgCkhpWo
         n1PtBVFmb1TvSjMPxYTN7pltL9j2h7fWM0Jjm8d6VU1TrKe/54bdlxoOknGv0+cEsMvh
         ipT89wTiSA04EuNbLEJrsq1wnZw/XJBLxt6ZIkD2qEb46g01T4ABCu0Mu0wqFwN892J/
         t6Ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741706213; x=1742311013;
        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=X8LOGG4uU8FOZpUEyBqgQ5KobC97qVpoXve38nvbWcU=;
        b=OIH1Er/bU7LJYLDJ5Elu5c0fRMS93gFFsqsOIexYUitFZ3GnTyywZKq/HhUssep4AK
         j1zmAZDZK7FuSLH+M7vgDHuijUWNDIDFbqfVYiYDm90Quleg54FSq+IOixZbUcEIZYnD
         rwCYlF+jT5ROAhlHKSUEB8ae5xQ1sMZdI7hOBmV4MXRz3nZD/+WhEWnbkHC3B6En3ABs
         wTxu75rEsgj+W6hqjjbGZbx/BsHDKn8TcFtXDwpSJKZVKb58q/b/FFrpK9ZLX22wjtsw
         bOle86TgnGpM1vNWherOHGkwzNqLlKOPsLCKzM+51h4gwlyQ3Ro79zvN0qxgcK0EIZM7
         ssXw==
X-Forwarded-Encrypted: i=1; AJvYcCXxDN8jX1gz4x6Yd9AK491x3sQD03w1au1UuUzIeVg5E8zrTCvzgYdxOolbK39hZ7Gwv3RNd00tbgg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywn2LO39SOGMG6HQfWq0njgrvFnE5gQjfUpBzqGYaBteHLSb7i9
	ya3Q2SR+m4Ld149h9gO23Z/UXT/kpD1OVmk+0kSCbmQIPtpesdKmXTbg7wPdFyE=
X-Gm-Gg: ASbGncurxIuYP2J1wS5XX+sTUyecIQpy1g+2EhDQzOxIWdXb1veBtgnTvJz4owEL3QK
	Bo6eSZd0SOj57PgfZ5QJUcSlKXGKzfr9btE5l8kyqwSf4Z0qgOJHjlfhcrT+YH7x9FsEa3EKEGz
	G/n1kDEUAmxiJ8EOQ4w62a6DJ5VYDOO4ZKNdTIMthYHH9E1lVUJ+Ycu9w10XAUsAATTvI1zaiI4
	MVRSnLaxDsp/juXA1qE6+2huKvDIlzaMYn/xwo6THqPZ9GmaiMcLNeO7lihaT2J8lD6AQ+2oGOY
	gRyU806cytPtuDsohMbFWo/Jx2h7HD42Hr9JjY1b/f5SnmWRrb4Fl4SzUw==
X-Google-Smtp-Source: AGHT+IEfixA7L2fnS5UNE8FbDPTHCcGVSGrEqusGAVylfXrcSrSOLbWL24c8Jlqg7HqGHL0V+epMxw==
X-Received: by 2002:a17:903:230b:b0:224:f12:3746 with SMTP id d9443c01a7336-22428aaeb0amr227978355ad.30.1741706213011;
        Tue, 11 Mar 2025 08:16:53 -0700 (PDT)
Message-ID: <de156b56-4ed5-4b04-95d4-81fc2953491d@linaro.org>
Date: Tue, 11 Mar 2025 08:16:51 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 11/16] exec/ram_addr: call xen_hvm_modified_memory only
 if xen is enabled
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-12-pierrick.bouvier@linaro.org>
 <2aa408e2-a412-4eb6-b589-1bc2f5ac145a@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <2aa408e2-a412-4eb6-b589-1bc2f5ac145a@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xMS8yNSAwMDoyOSwgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDExLzMvMjUgMDU6MDgsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6DQo+PiBSZXZpZXdlZC1i
eTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+DQo+
PiBTaWduZWQtb2ZmLWJ5OiBQaWVycmljayBCb3V2aWVyIDxwaWVycmljay5ib3V2aWVyQGxp
bmFyby5vcmc+DQo+IA0KPiBJIGRpZG4ndCBmb2xsb3cgdGhpcyBkaXJlY3Rpb24gYmVjYXVz
ZSBSaWNoYXJkIGhhZCBhIHByZWZlcmVuY2UNCj4gb24gcmVtb3ZpbmcgdW5uZWNlc3Nhcnkg
aW5saW5lZCBmdW5jdGlvbnM6DQo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2
ZWwvOTE1MTIwNWEtMTNkMy00MDFlLWI0MDMtZjkxOTVjZGIxYTQ1QGxpbmFyby5vcmcvDQo+
IA0KDQpUaGUgcGF0Y2ggeW91IG1lbnRpb24gd2FzIG1vdmluZyBjb2RlLCB3aGljaCBjYW4g
YmUgYXJndWFibHkgZGlmZmVyZW50IA0KZnJvbSBzaW1wbHkgZWRpdGluZyBleGlzdGluZyBv
bmUuDQpUaGF0IHNhaWQsIGFuZCBldmVuIHRob3VnaCB0aGUgY29uY2VybiBpcyByZWFsLCBJ
IHdvdWxkIGFwcHJlY2lhdGUgdG8gDQprZWVwIHRoaXMgc2VyaWVzIGZvY3VzZWQgb24gYWNo
aWV2aW5nIHRoZSBnb2FsLCBhbmQgbm90IGRvaW5nIGEgcmVmYWN0b3IgDQpvZiB0aGUgaW52
b2x2ZWQgaGVhZGVycy4NCg0KPj4gLS0tDQo+PiAgICBpbmNsdWRlL2V4ZWMvcmFtX2FkZHIu
aCB8IDggKysrKysrLS0NCj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyks
IDIgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9yYW1f
YWRkci5oIGIvaW5jbHVkZS9leGVjL3JhbV9hZGRyLmgNCj4+IGluZGV4IDdjMDExZmFkZDEx
Li4wOThmY2NiNTgzNSAxMDA2NDQNCj4+IC0tLSBhL2luY2x1ZGUvZXhlYy9yYW1fYWRkci5o
DQo+PiArKysgYi9pbmNsdWRlL2V4ZWMvcmFtX2FkZHIuaA0KPj4gQEAgLTM0Miw3ICszNDIs
OSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY3B1X3BoeXNpY2FsX21lbW9yeV9zZXRfZGlydHlf
cmFuZ2UocmFtX2FkZHJfdCBzdGFydCwNCj4+ICAgICAgICAgICAgfQ0KPj4gICAgICAgIH0N
Cj4+ICAgIA0KPj4gLSAgICB4ZW5faHZtX21vZGlmaWVkX21lbW9yeShzdGFydCwgbGVuZ3Ro
KTsNCj4+ICsgICAgaWYgKHhlbl9lbmFibGVkKCkpIHsNCj4+ICsgICAgICAgIHhlbl9odm1f
bW9kaWZpZWRfbWVtb3J5KHN0YXJ0LCBsZW5ndGgpOw0KPj4gKyAgICB9DQo+PiAgICB9DQo+
IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:20:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:20:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908324.1315454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1P1-00016v-Sk; Tue, 11 Mar 2025 15:20:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908324.1315454; Tue, 11 Mar 2025 15: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 1ts1P1-00016o-QG; Tue, 11 Mar 2025 15:20:19 +0000
Received: by outflank-mailman (input) for mailman id 908324;
 Tue, 11 Mar 2025 15:20: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts1P0-00016i-BZ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:20:18 +0000
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com
 [2607:f8b0:4864:20::1035])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54e082a7-fe8c-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:20:15 +0100 (CET)
Received: by mail-pj1-x1035.google.com with SMTP id
 98e67ed59e1d1-2ff80290e44so9174098a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:20:15 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-2ff53eda418sm11565063a91.45.2025.03.11.08.20.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:20: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: 54e082a7-fe8c-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741706414; x=1742311214; 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=lQ1DlCBUIbAraI/JTg1m2qqamEpgEFznt1TObYD6Os0=;
        b=bVEH06M6bNQDiS2U+ZGR4FHli+h9htWlMvk5qEIGD0ah8tmy792LmF0PivfHwosWu7
         sRLeRvi/jUSy8uH1wEZtasAE6d/KwKcywhaADK9Gx004jYmQRxDedaVvF4ONNy95aDm/
         h0mW2hodynw4+DMu8+vSW/iKFtK7YbFTuv60JC0M+sC+dtKu75nxtuyd8BGcVvasKYkl
         Tk9jq9XlNyqHLRwZ+vV/hOK4vD/4gbM5kPNqvyqoCMhHMZRKl2Npn9+LiIMgOrWtaLDj
         ukJkzIAC5NV2Mtzr3nC/HHXFtsQueuKJnEPyAOUnJB/Kjlbm4aUVblQa3b/TV+WJZ92C
         CemQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741706414; x=1742311214;
        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=lQ1DlCBUIbAraI/JTg1m2qqamEpgEFznt1TObYD6Os0=;
        b=SkiOJNlD2i8xnbz6X9RBeoV/PjJxV2nAPIFwL1v3WVF2FL9YFBUM2kseHCa6WuXVSR
         C85+a95whYvi3YmvcO13uHVoFEO969o3D0WqgqkJsdoCy+9UAjRj4l/4g541wrFvpolc
         AQcnYSA8p8wqfEk3wsFoLdzgF8B/pGmN9OIdAoOGFvchYr615owS2BV3FmgRuV22XZ7D
         MFp98fTKc8GFWLaBlZCzRWra1H9xHWneVipD7CN1ydp9uLSdWdO3Fzw+Zn0iVAKPHdCI
         Nh/5duG1PSlDKukNR2l04ODBA+eGZbUJFYVCTsFCMmURpPrno9G5lPAM6Jz1XIuo8oqp
         kxag==
X-Forwarded-Encrypted: i=1; AJvYcCUSE56gRkJVh19XFpwiLU1+W0pEiIpyV3cl718HDjD+nnSqCke5+FsVB82paas+U+8ZHbyWFrLmSVo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywj2kEi+Lqf5xh+Df/X9xAPcZUmSfT1YoeL0uVWRvlxefpRuudL
	5xTYN88jZVnbLWj6/UEgrx6agCrv75zBWGEvWCF3WCz+VRqskT3C4OeUL5ULaTw=
X-Gm-Gg: ASbGncv8L7Gdrlpn1zqLbA6KBD1WSgys+8Qnz5riB4ivA59PZ3M07yHpmQ0z72YC5yR
	cVW5v4g4tcAFrJJuUV1W/6adnOGhNOro8ZKq2P44fUjzt2mu5IUBzGap1W1ytIiFc823eSAPttC
	CJIDWsAsOpUfgHe8AHVqV/yuY7KEB1NzG4+b5fmvCy+nUnLLvxPEHrfsDtl2Exy3/AH9t1uimpN
	n7fOOx64Uwdk085H8ZFrHV5VmPrNSw0QRI35mI7UFEEQFRfqa4VVS2lH9oikDu2IWhncrEbU4yw
	7aRQizKZCX87E1+Zn9tlCPwJJUUq57OuxHg+7z0Hx+7HdzvnE/QbMRIejA==
X-Google-Smtp-Source: AGHT+IHB6/PW0IHKkK7wGI9UOrKJJD3Du6pkJ5/gnIg+/UfsjtLDQjkMRqgvo/n5/5r2fsfdUad9Yg==
X-Received: by 2002:a17:90b:2883:b0:2ff:52e1:c4a1 with SMTP id 98e67ed59e1d1-2ff7cf128acmr27929118a91.24.1741706413718;
        Tue, 11 Mar 2025 08:20:13 -0700 (PDT)
Message-ID: <42184de6-5484-4e5a-b502-48db0e6d2cf5@linaro.org>
Date: Tue, 11 Mar 2025 08:20:12 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/16] include/exec/memory: extract devend_big_endian
 from devend_memop
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-15-pierrick.bouvier@linaro.org>
 <b8073e25-ae8a-462b-b085-84c471a4bf5e@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <b8073e25-ae8a-462b-b085-84c471a4bf5e@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xMS8yNSAwMDozNiwgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDExLzMvMjUgMDU6MDgsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6DQo+PiB3ZSdsbCB1c2Ug
aXQgaW4gc3lzdGVtL21lbW9yeS5jLg0KPiANCj4gSGF2aW5nIHBhcnQgb2YgdGhlIGNvbW1p
dCBkZXNjcmlwdGlvbiBzZXBhcmF0ZWQgaW4gaXRzIHN1YmplY3QgaXMgYQ0KPiBiaXQgYW5u
b3lpbmcuIEJ1dCB0aGVuIEknbSBwcm9iYWJseSB1c2luZyAyMC15ZWFycyB0b28gb2xkIHRv
b2xzIGluDQo+IG15IHBhdGNoIHdvcmtmbG93Lg0KPiANCj4gT25seSB1c2VkIGluIHN5c3Rl
bS97bWVtb3J5LHBoeXNtZW19LmMsIHdvcnRoIG1vdmUgdG8gYSBsb2NhbA0KPiBzeXN0ZW0v
bWVtb3J5LWludGVybmFsLmggaGVhZGVyPyBPciBldmVuIHNpbXBsZXIsIG1vdmUNCj4gaW5j
bHVkZS9leGVjL21lbW9yeS1pbnRlcm5hbC5oIC0+IGV4ZWMvbWVtb3J5LWludGVybmFsLmgg
Zmlyc3QuDQo+IA0KDQpHb29kIHBvaW50LCBJJ2xsIG1vdmUgdGhlbSB0byB0aGUgZXhpc3Rp
bmcgZXhlYy9tZW1vcnktaW50ZXJuYWwuaCBpbiBhbiANCmFkZGl0aW9uYWwgY29tbWl0Lg0K
DQo+PiBTaWduZWQtb2ZmLWJ5OiBQaWVycmljayBCb3V2aWVyIDxwaWVycmljay5ib3V2aWVy
QGxpbmFyby5vcmc+DQo+PiAtLS0NCj4+ICAgIGluY2x1ZGUvZXhlYy9tZW1vcnkuaCB8IDE4
ICsrKysrKysrKysrKy0tLS0tLQ0KPj4gICAgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlv
bnMoKyksIDYgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhl
Yy9tZW1vcnkuaCBiL2luY2x1ZGUvZXhlYy9tZW1vcnkuaA0KPj4gaW5kZXggNjBjMGZiNmNj
ZDQuLjU3NjYxMjgzNjg0IDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9leGVjL21lbW9yeS5o
DQo+PiArKysgYi9pbmNsdWRlL2V4ZWMvbWVtb3J5LmgNCj4+IEBAIC0zMTM4LDE2ICszMTM4
LDIyIEBAIGFkZHJlc3Nfc3BhY2Vfd3JpdGVfY2FjaGVkKE1lbW9yeVJlZ2lvbkNhY2hlICpj
YWNoZSwgaHdhZGRyIGFkZHIsDQo+PiAgICBNZW1UeFJlc3VsdCBhZGRyZXNzX3NwYWNlX3Nl
dChBZGRyZXNzU3BhY2UgKmFzLCBod2FkZHIgYWRkciwNCj4+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QgYywgaHdhZGRyIGxlbiwgTWVtVHhBdHRycyBhdHRy
cyk7DQo+PiAgICANCj4+IC0vKiBlbnVtIGRldmljZV9lbmRpYW4gdG8gTWVtT3AuICAqLw0K
Pj4gLXN0YXRpYyBpbmxpbmUgTWVtT3AgZGV2ZW5kX21lbW9wKGVudW0gZGV2aWNlX2VuZGlh
biBlbmQpDQo+PiArLyogcmV0dXJucyB0cnVlIGlmIGVuZCBpcyBiaWcgZW5kaWFuLiAqLw0K
Pj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBkZXZlbmRfYmlnX2VuZGlhbihlbnVtIGRldmljZV9l
bmRpYW4gZW5kKQ0KPj4gICAgew0KPj4gICAgICAgIFFFTVVfQlVJTERfQlVHX09OKERFVklD
RV9IT1NUX0VORElBTiAhPSBERVZJQ0VfTElUVExFX0VORElBTiAmJg0KPj4gICAgICAgICAg
ICAgICAgICAgICAgICAgIERFVklDRV9IT1NUX0VORElBTiAhPSBERVZJQ0VfQklHX0VORElB
Tik7DQo+PiAgICANCj4+IC0gICAgYm9vbCBiaWdfZW5kaWFuID0gKGVuZCA9PSBERVZJQ0Vf
TkFUSVZFX0VORElBTg0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgPyB0YXJnZXRfd29y
ZHNfYmlnZW5kaWFuKCkNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIDogZW5kID09IERF
VklDRV9CSUdfRU5ESUFOKTsNCj4+IC0gICAgcmV0dXJuIGJpZ19lbmRpYW4gPyBNT19CRSA6
IE1PX0xFOw0KPj4gKyAgICBpZiAoZW5kID09IERFVklDRV9OQVRJVkVfRU5ESUFOKSB7DQo+
PiArICAgICAgICByZXR1cm4gdGFyZ2V0X3dvcmRzX2JpZ2VuZGlhbigpOw0KPj4gKyAgICB9
DQo+PiArICAgIHJldHVybiBlbmQgPT0gREVWSUNFX0JJR19FTkRJQU47DQo+PiArfQ0KPj4g
Kw0KPj4gKy8qIGVudW0gZGV2aWNlX2VuZGlhbiB0byBNZW1PcC4gICovDQo+PiArc3RhdGlj
IGlubGluZSBNZW1PcCBkZXZlbmRfbWVtb3AoZW51bSBkZXZpY2VfZW5kaWFuIGVuZCkNCj4+
ICt7DQo+PiArICAgIHJldHVybiBkZXZlbmRfYmlnX2VuZGlhbihlbmQpID8gTU9fQkUgOiBN
T19MRTsNCj4+ICAgIH0NCj4+ICAgIA0KPj4gICAgLyoNCj4gDQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:24:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:24:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908337.1315465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1Si-0001l7-Fq; Tue, 11 Mar 2025 15:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908337.1315465; Tue, 11 Mar 2025 15:24: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 1ts1Si-0001l0-C2; Tue, 11 Mar 2025 15:24:08 +0000
Received: by outflank-mailman (input) for mailman id 908337;
 Tue, 11 Mar 2025 15:24: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts1Sh-0001ku-8z
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:24:07 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dddfe0cc-fe8c-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:24:05 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-2feae794508so8460492a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:24:05 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-2ff4e773c7csm12057570a91.15.2025.03.11.08.24.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:24: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: dddfe0cc-fe8c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741706643; x=1742311443; 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=9SkM+QBVMzm9A6N98427a8lsiY/0Sg+B4uvqfE1GeA4=;
        b=cV+R5Dhs/TKomlOD7qavZp4QGYzEnyATmeD4p9rGXhxwPbn+s9VfCOimNMgicWXloM
         URx/26SH9chIuX+fe1QNLnaDIlLGABmC/VyFv+XwHAoB4XygY5ALbfhA4TIc1M4EtwsD
         I5mHKfSpD8l8YYb8wrXa3Gl7RqoR9J7SxXFFfu2TTlfoya+89HjEo/JWTtQr1aBcOhY5
         vSS3OxyxPyyxK68Wy7jj/hPeLzUPDNtg3lOn01KlI4F/4rRjD+UdS1RY31f4lTfVPNo9
         /8TkNla5y4w4CuGWmcdsaZjuVkOdbW3aEfdib5hdjg/JXKZki4mRYQ45X8H+ZsFrAXa3
         uAsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741706643; x=1742311443;
        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=9SkM+QBVMzm9A6N98427a8lsiY/0Sg+B4uvqfE1GeA4=;
        b=ew33vz9HOU2hTcW/ipeJ+iBQqeZ1IDO6tGa92+if4ePCQnEJrX05XImI+Terxme4zq
         mkg2GSlADmJa2vH6mVGum9rN+mMirLZ92QVkoDM56bKZQaOtSStG145cfh1ajc+Wuogb
         EgIu48ZL0pKXntSmgCN8uFP+cR/MTj1GrnREWifcbyKTrkfUsegusAEY8ne/8oqO3+ds
         JdzIGxK4BEmspT/a8KUtZGS3FnIpHJOyNM2SPSvKRZeKDxwjM+mrHjxrA3PRhH6LnQV1
         LU/A45ThGR5Wf4yyXwuG5b+A6t6zehHfMV+frQwtEEUzFZLvMeVC83CZVmO/VCHog6PT
         UKZA==
X-Forwarded-Encrypted: i=1; AJvYcCUPqkjKrJwoFVCeBkN/IdYGfwZ//Ui3k5jEKNW4CfaaT5qVKTh9gl9F7LoX9M3ksPQ4CPHrXAWSuqo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqGgJBr8KI8zvz015d10YZAQggRUA24rjeczwncfdV0uxXfhWr
	F3JHvIYVnSPf1lf6erWOiQp1UOB+Npp7ITEru98RNLQqtO7F7dMJuICElRC53AQ=
X-Gm-Gg: ASbGncuoDoUj6biDyzs884mRBxUZzklzzS7Qs5S+9H4ed96OXpw6HU/UmXAlBV28Wb2
	eYHqvKAPopoCwBz0d8091FqoiUq0E9jo3A80LQuhyFV14eUn9qXmWl8hIwjj5MPjNHb+lqpe8+j
	bi1kZJFxf98fjOTShQbxIGT9ecC6otmwtLP5lisD17h2BRmL2uguIfb6oHjGPZY7LSf0dVVYLIa
	pliHVTXlqxTFtYFSkIPAhEkf1BAHz4KV0eDT2sdZEEHTD8/IeJSKzuDcqsi0Br8F+7FzlsCaWvD
	sNAR8td5QCtDr+SSbsciFr+Ui/BGE05nSVtF6FCqJCQPQ1e6CPXW6zvpZUlkw7D/4FpF
X-Google-Smtp-Source: AGHT+IFBs0+S+LkojiDrxva0/M3wYEnbIAEG3pIneKNxcshy9ERSmJz3RFAr2j7Us8awjWxYZcw3Bg==
X-Received: by 2002:a17:90b:1c05:b0:2ee:a583:e616 with SMTP id 98e67ed59e1d1-2ff7ce6d543mr28614081a91.9.1741706643713;
        Tue, 11 Mar 2025 08:24:03 -0700 (PDT)
Message-ID: <dbe403b1-a90a-4e32-a773-680539ce5550@linaro.org>
Date: Tue, 11 Mar 2025 08:24:02 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/16] include/exec/memory: extract devend_big_endian
 from devend_memop
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Peter Xu <peterx@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 kvm@vger.kernel.org, qemu-ppc@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Anthony PERARD <anthony@xenproject.org>
References: <20250311040838.3937136-1-pierrick.bouvier@linaro.org>
 <20250311040838.3937136-15-pierrick.bouvier@linaro.org>
 <b8073e25-ae8a-462b-b085-84c471a4bf5e@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <b8073e25-ae8a-462b-b085-84c471a4bf5e@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xMS8yNSAwMDozNiwgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDExLzMvMjUgMDU6MDgsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6DQo+PiB3ZSdsbCB1c2Ug
aXQgaW4gc3lzdGVtL21lbW9yeS5jLg0KPiANCj4gSGF2aW5nIHBhcnQgb2YgdGhlIGNvbW1p
dCBkZXNjcmlwdGlvbiBzZXBhcmF0ZWQgaW4gaXRzIHN1YmplY3QgaXMgYQ0KPiBiaXQgYW5u
b3lpbmcuIEJ1dCB0aGVuIEknbSBwcm9iYWJseSB1c2luZyAyMC15ZWFycyB0b28gb2xkIHRv
b2xzIGluDQo+IG15IHBhdGNoIHdvcmtmbG93Lg0KDQpDYW4geW91IHBsZWFzZSBzaGFyZSB3
aGF0IHdvdWxkIGJlIHRoZSBtZXNzYWdlIHlvdSAob3IgdGhlIHRvb2wpIHdvdWxkIA0KcHJl
ZmVyIGluIHRoaXMgY2FzZT8NCg0KSXQncyBqdXN0IGEgc2luZ2xlIGxpbmUgc3ViamVjdCAo
c2F5aW5nICJ3ZSBleHRyYWN0IHRoZSBmdW5jdGlvbiIpICsgYW4gDQphZGRpdGlvbmFsIGxp
bmUganVzdGlmeWluZyB3aHkgaXQncyBuZWVkZWQuDQoNCj4gDQo+IE9ubHkgdXNlZCBpbiBz
eXN0ZW0ve21lbW9yeSxwaHlzbWVtfS5jLCB3b3J0aCBtb3ZlIHRvIGEgbG9jYWwNCj4gc3lz
dGVtL21lbW9yeS1pbnRlcm5hbC5oIGhlYWRlcj8gT3IgZXZlbiBzaW1wbGVyLCBtb3ZlDQo+
IGluY2x1ZGUvZXhlYy9tZW1vcnktaW50ZXJuYWwuaCAtPiBleGVjL21lbW9yeS1pbnRlcm5h
bC5oIGZpcnN0Lg0KPiANCj4+IFNpZ25lZC1vZmYtYnk6IFBpZXJyaWNrIEJvdXZpZXIgPHBp
ZXJyaWNrLmJvdXZpZXJAbGluYXJvLm9yZz4NCj4+IC0tLQ0KPj4gICAgaW5jbHVkZS9leGVj
L21lbW9yeS5oIHwgMTggKysrKysrKysrKysrLS0tLS0tDQo+PiAgICAxIGZpbGUgY2hhbmdl
ZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0
IGEvaW5jbHVkZS9leGVjL21lbW9yeS5oIGIvaW5jbHVkZS9leGVjL21lbW9yeS5oDQo+PiBp
bmRleCA2MGMwZmI2Y2NkNC4uNTc2NjEyODM2ODQgMTAwNjQ0DQo+PiAtLS0gYS9pbmNsdWRl
L2V4ZWMvbWVtb3J5LmgNCj4+ICsrKyBiL2luY2x1ZGUvZXhlYy9tZW1vcnkuaA0KPj4gQEAg
LTMxMzgsMTYgKzMxMzgsMjIgQEAgYWRkcmVzc19zcGFjZV93cml0ZV9jYWNoZWQoTWVtb3J5
UmVnaW9uQ2FjaGUgKmNhY2hlLCBod2FkZHIgYWRkciwNCj4+ICAgIE1lbVR4UmVzdWx0IGFk
ZHJlc3Nfc3BhY2Vfc2V0KEFkZHJlc3NTcGFjZSAqYXMsIGh3YWRkciBhZGRyLA0KPj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBjLCBod2FkZHIgbGVuLCBN
ZW1UeEF0dHJzIGF0dHJzKTsNCj4+ICAgIA0KPj4gLS8qIGVudW0gZGV2aWNlX2VuZGlhbiB0
byBNZW1PcC4gICovDQo+PiAtc3RhdGljIGlubGluZSBNZW1PcCBkZXZlbmRfbWVtb3AoZW51
bSBkZXZpY2VfZW5kaWFuIGVuZCkNCj4+ICsvKiByZXR1cm5zIHRydWUgaWYgZW5kIGlzIGJp
ZyBlbmRpYW4uICovDQo+PiArc3RhdGljIGlubGluZSBib29sIGRldmVuZF9iaWdfZW5kaWFu
KGVudW0gZGV2aWNlX2VuZGlhbiBlbmQpDQo+PiAgICB7DQo+PiAgICAgICAgUUVNVV9CVUlM
RF9CVUdfT04oREVWSUNFX0hPU1RfRU5ESUFOICE9IERFVklDRV9MSVRUTEVfRU5ESUFOICYm
DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0hPU1RfRU5ESUFOICE9IERF
VklDRV9CSUdfRU5ESUFOKTsNCj4+ICAgIA0KPj4gLSAgICBib29sIGJpZ19lbmRpYW4gPSAo
ZW5kID09IERFVklDRV9OQVRJVkVfRU5ESUFODQo+PiAtICAgICAgICAgICAgICAgICAgICAg
ICA/IHRhcmdldF93b3Jkc19iaWdlbmRpYW4oKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAg
ICAgOiBlbmQgPT0gREVWSUNFX0JJR19FTkRJQU4pOw0KPj4gLSAgICByZXR1cm4gYmlnX2Vu
ZGlhbiA/IE1PX0JFIDogTU9fTEU7DQo+PiArICAgIGlmIChlbmQgPT0gREVWSUNFX05BVElW
RV9FTkRJQU4pIHsNCj4+ICsgICAgICAgIHJldHVybiB0YXJnZXRfd29yZHNfYmlnZW5kaWFu
KCk7DQo+PiArICAgIH0NCj4+ICsgICAgcmV0dXJuIGVuZCA9PSBERVZJQ0VfQklHX0VORElB
TjsNCj4+ICt9DQo+PiArDQo+PiArLyogZW51bSBkZXZpY2VfZW5kaWFuIHRvIE1lbU9wLiAg
Ki8NCj4+ICtzdGF0aWMgaW5saW5lIE1lbU9wIGRldmVuZF9tZW1vcChlbnVtIGRldmljZV9l
bmRpYW4gZW5kKQ0KPj4gK3sNCj4+ICsgICAgcmV0dXJuIGRldmVuZF9iaWdfZW5kaWFuKGVu
ZCkgPyBNT19CRSA6IE1PX0xFOw0KPj4gICAgfQ0KPj4gICAgDQo+PiAgICAvKg0KPiANCg0K



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:28:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908348.1315476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1Wk-0002LV-08; Tue, 11 Mar 2025 15:28:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908348.1315476; Tue, 11 Mar 2025 15:28: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 1ts1Wj-0002LN-Ri; Tue, 11 Mar 2025 15:28:17 +0000
Received: by outflank-mailman (input) for mailman id 908348;
 Tue, 11 Mar 2025 15:28: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ts1Wi-0002LH-DD
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:28:16 +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 731c5e8b-fe8d-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:28:14 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac298c8fa50so346178366b.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:28:14 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e5c7669a96sm8430066a12.62.2025.03.11.08.28.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 08:28: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: 731c5e8b-fe8d-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741706894; x=1742311694; 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=0bobDa9zVuiFRsIZywC1n7gWR7/ACXztzFw7ywuS60o=;
        b=GmC9Tjev/DhQ19VQykm5piF8CnPVHw9oHDUoybCO8toV9DL9F5JZj8fcskLAdr6Awi
         m+wVmCQ0QdlFYyRGDpA5Ogbu57gNfXI5TnaYLTDBCl97rXTENwQ47o4FTf+PAwLtuCk+
         cxmzQcyw0ItFwQRgXO8U+8J7r0rM6dH6yp8lQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741706894; x=1742311694;
        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=0bobDa9zVuiFRsIZywC1n7gWR7/ACXztzFw7ywuS60o=;
        b=SciFV1WeR0dfBq+YnSmoxtwtP6B1+KnYIRWUcXNIKXgxfbgcRc3G+1QxWllwdLfS6M
         aafE6gcHYMsVfXuEQzStAvMoVtDVwO1/2w0Jz4S24HCpJuOrqWbGZV8mKn48teY0mUdT
         q+04tFNO/iFVfaYyGDGAfjTaGYRA1oRqnOa/m9KomsSlk45MsM9knxLxQAfu11MqirDd
         4vp6NC00WINYu8luFZmgogv9kam1kxrFs6ppdx4j6XPq4DPyfHiff8E74QV2FB95qPY7
         Yg8N9XoCoZY568sXOz+u0tWPgiZCa8tWCu/csdz/kAQMH+xn4D+rSCIR5qmOt21fLCxE
         c2/g==
X-Gm-Message-State: AOJu0YwjmB21qFfOtuDIyGuhFcJDnCHv88/cZLxWKyGxw99oNYJLIyie
	8kX3FQs8dJHi7vrp44I04JTe9J5E7UB3DcM4nq9GP5hUyWQXTozgo/BTI41c5y6ko2Uq1uwPWEq
	3
X-Gm-Gg: ASbGncuFgCXRxzGU4uCrUkUzELg4WRee4QIdp6xZ4CMAuxt08boKlIQ5BcGSxM0Gejz
	EwoMcrVxMr+6UCb4iUXSwjrW6VQgxaGKYyS/zgxb0/2Pj4mJq9R8mI32Y/8dxXy6ZdVTo4FTaUs
	sbVDg+AZ3JnqBSDB/3Dtwl85n2c65/bXSu/TE3JfRQh0yny2A0alhaZ0L/Pnk11JScr21LjQWBo
	CG9eCaoU888baZ2sE8ycBVcY+RJd/HX/qcB66m0E9w2l+NH23czp6KMyOFm7pWZ52uX1UfbqAIM
	fpvwIx2dEPpPrr3DMBdPdHgakpwJVuqTRlLB7evbZ79RQ/xdhA==
X-Google-Smtp-Source: AGHT+IHJEEiUH5UGW0jj+6BpyJs9m/qHuPk9qOGJtWA5YAu7aaOEtqTGhUYnqHFFz9cQK9HwJ/bi9w==
X-Received: by 2002:a05:6402:280d:b0:5d0:bf5e:eb8 with SMTP id 4fb4d7f45d1cf-5e5e2468800mr45797084a12.23.1741706893955;
        Tue, 11 Mar 2025 08:28:13 -0700 (PDT)
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 v5 1/3] x86/vmx: fix posted interrupts usage of msi_desc->msg field
Date: Tue, 11 Mar 2025 16:27:54 +0100
Message-ID: <20250311152754.63912-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311120652.61366-2-roger.pau@citrix.com>
References: <20250311120652.61366-2-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current usage of msi_desc->msg in vmx_pi_update_irte() will make the
field contain a translated MSI message, instead of the expected
untranslated one.  This breaks dump_msi(), that use the data in
msi_desc->msg to print the interrupt details.

Fix this by introducing a dummy local msi_msg, and use it with
iommu_update_ire_from_msi().  vmx_pi_update_irte() relies on the MSI
message not changing, so there's no need to propagate the resulting msi_msg
to the hardware, and the contents can be ignored.

Additionally add a comment to clarify that msi_desc->msg must always
contain the untranslated MSI message.

Fixes: a5e25908d18d ('VT-d: introduce new fields in msi_desc to track binding with guest interrupt')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v4:
 - Initialize the local msi_msg with the contents of msi_desc->msg.

Changes since v3:
 - New in this version.
---
 xen/arch/x86/hvm/vmx/vmx.c     | 4 +++-
 xen/arch/x86/include/asm/msi.h | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 0241303b4bf4..23b7ecd77f85 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -396,6 +396,7 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
     const struct pi_desc *pi_desc = v ? &v->arch.hvm.vmx.pi_desc : NULL;
     struct irq_desc *desc;
     struct msi_desc *msi_desc;
+    struct msi_msg msg;
     int rc;
 
     desc = pirq_spin_lock_irq_desc(pirq, NULL);
@@ -410,12 +411,13 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
     }
     msi_desc->pi_desc = pi_desc;
     msi_desc->gvec = gvec;
+    msg = msi_desc->msg;
 
     spin_unlock_irq(&desc->lock);
 
     ASSERT_PDEV_LIST_IS_READ_LOCKED(msi_desc->dev->domain);
 
-    return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
+    return iommu_update_ire_from_msi(msi_desc, &msg);
 
  unlock_out:
     spin_unlock_irq(&desc->lock);
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index 378b85ee947b..975d0f26b35d 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -124,7 +124,7 @@ struct msi_desc {
     int irq;
     int remap_index;         /* index in interrupt remapping table */
 
-    struct msi_msg msg;      /* Last set MSI message */
+    struct msi_msg msg;      /* Last set MSI message (untranslated) */
 };
 
 /*
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:35:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:35:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908358.1315484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1dd-0003ud-Kd; Tue, 11 Mar 2025 15:35:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908358.1315484; Tue, 11 Mar 2025 15: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 1ts1dd-0003uW-IA; Tue, 11 Mar 2025 15:35:25 +0000
Received: by outflank-mailman (input) for mailman id 908358;
 Tue, 11 Mar 2025 15:35: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts1dc-0003uQ-8V
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:35:24 +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 722808aa-fe8e-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:35:22 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso1266583f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:35: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-3912bfdfddcsm18783791f8f.35.2025.03.11.08.35.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:35: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: 722808aa-fe8e-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741707322; x=1742312122; 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=4uE9N5twhjrpVbHN9FqmvEeNo0w2UL2PcEkt11qCvbs=;
        b=c6OxOfRSblk1kv0n/D2tMiE1ONL8VEVSHm2p8vmzbe4ujhPNGHgQ+ygeUQXwJAjYV0
         4e/2uFhknZyBR2LbitpIcwz77j5QN2YqAAQW80MFgMFYEtbLmx0MabnO5dnHiE8O9aV2
         cePthdHVvVD/lBgBBf+tXphb1dH0GHNI/ajmb/niCiHlf2y1ywDpnjCTOHvpCaFaR28j
         yh26H9YBFYwT1k/tGiQxTbuOpkMAG64kr/HT4UIYSmhYtw/tCNFqP7Y7Etn3PD5wpqrx
         fbEpBBnIuri9k3gIx4DJNa3DPm8xxFxsBcgrALLnG9fFsbW7ESSYLUlNy4H7kjuw/9v2
         KsVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741707322; x=1742312122;
        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=4uE9N5twhjrpVbHN9FqmvEeNo0w2UL2PcEkt11qCvbs=;
        b=OoW0Nq+l1GHZ5ICxUW7WNx/A8YMnjf0HAU8m//wHCt7s+gJl1EjOarc+1QeMlXX9fQ
         jh5rPXSTtHi+o4DWWxpT2UhsmmfBCFQghLMDAortMTw3hbq4GmVObw5RMyRAAqqBvy4W
         WV4N1i5mX2pl7pcDMZnFb5/di5cVPzhIjGInNt3wBsJXCSOKfyvgH0q6tPaCB84Cal8E
         +mC7QaikOukmdyJFy8QHxf93LSaFMLtQQsPEeJuvmJInJ5ij/oZ9d1H7k85+KbL3xdsD
         F7bZYJci4gOdR/Ah/Ict2TUNgjzZ/J6PvIVb3jNB8rLut5rv8AJZBBCQBzy0nJ+LHzge
         xWvg==
X-Forwarded-Encrypted: i=1; AJvYcCXCgwpxHDaGDMOU98zn8FgRKkukuHCw+Uczb06+DV1Iqk9ujbOr6YSaGnoc3P72hr71BAfmuWThIfE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyO1k/k+Rxym6aW1+o9uNb0vSKUmDVNsKtYWS6/AKkiTH0nD9V6
	WwnY3V3yq3TyBXa1tWNJR+otIEtID/er9FonAFKshYSpwKMdazGPRsveufFv4A==
X-Gm-Gg: ASbGncusKa5Ukvnri6ohB20tFhptB6rhxXR8ORF11G3gCQNrFmYoiTkhb3l6edG2WDH
	PyHKbClng0yf8ipLo+ac1DlXOtbbvAhwLS9vjLbXije/YuvAldzgy8lzRaszsiqZXS+XHRhWXCb
	IRRIuqk2PNWB0Ux2e1H1oDDIAEdJaTRRs7zyJ258nhmzJxNDaMJ8gE0g/dXqC5qB5tOPRpsWdp0
	lZc5ng9kahRfZPqwn4hCO+RZtCh490tbqEFHjzvdvLEYF3JlZn5LXoBuZMIchGTYZ4hbSFkkMKQ
	J7qM/Xyetsmc+bEHbA6zIZe2a5TUmyDoyKdwShnKIAnmRLosdUrVr4+c857g7e1DBJTDkhi188p
	nycmTrgIjt78KCN7zS5sn7Ls5UmI4w+Aroa4XLqsV
X-Google-Smtp-Source: AGHT+IE8AUmsLbLy+Bq4lQMQH7c32WxpzRo5qPGevSH96itAAutfBnueqwuqmv1TKMbuxr2R6JWPNA==
X-Received: by 2002:a05:6000:1845:b0:391:2dea:c984 with SMTP id ffacd0b85a97d-39132d063f2mr14123301f8f.11.1741707322169;
        Tue, 11 Mar 2025 08:35:22 -0700 (PDT)
Message-ID: <60eff646-724f-4ff9-9dde-3a7f9a1da66a@suse.com>
Date: Tue, 11 Mar 2025 16:35:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/iocap.h: add documentation
To: Grygorii Strashko <grygorii_strashko@epam.com>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <20250224113828.151794-1-grygorii_strashko@epam.com>
 <83d5d612-2f6a-430a-8aee-4738f43204e0@suse.com>
 <d7fe19f2-f8ac-497a-833e-44a04e1ca4c7@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: <d7fe19f2-f8ac-497a-833e-44a04e1ca4c7@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 15:53, Grygorii Strashko wrote:
> On 05.03.25 12:37, Jan Beulich wrote:
>> On 24.02.2025 12:38, Grygorii Strashko wrote:
>>> Change rangeset parameters to "start, last" as proposed in [1],
>>> and add documentation for public interface.
>>>
>>> No functional changes.
>>>
>>> [1] https://patchwork.kernel.org/comment/26251962/
>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> To be honest, this is getting too verbose for my taste. I also don't think
>> title and description fit together: One says the main thing the patch does
>> is add doc, the other says the main thing is the parameter renaming. When
>> then there's at least one further parameter which is also renamed, despite
>> not fitting the description.
> 
> I can update subject and commit message and resend.

This would address the latter part of my comment, but ...

> Or you want me to drop some parts?

... only this would address the former part.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:43:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:43:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908371.1315495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1kw-00088O-DV; Tue, 11 Mar 2025 15:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908371.1315495; Tue, 11 Mar 2025 15:42: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 1ts1kw-00088G-8s; Tue, 11 Mar 2025 15:42:58 +0000
Received: by outflank-mailman (input) for mailman id 908371;
 Tue, 11 Mar 2025 15:42: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ts1kv-00088A-Dq
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:42:57 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80210bf9-fe8f-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:42:56 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-2254e0b4b79so18990185ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:42:56 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-22410a7fa3csm99499365ad.110.2025.03.11.08.42.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 08:42: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: 80210bf9-fe8f-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741707775; x=1742312575; darn=lists.xenproject.org;
        h=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=uVvQXPeG41SSMts6CES/bBVEgm9zR46UGau7gngXz9s=;
        b=bEG1AJI4ANk7qCcma0/g2djKkkL4hYS8vCuhr2NfqKkWRhDUiZeezmGB9VJu36tTD+
         XxIFsnK4coiWUvspRKyvl9pNbgwAOuiB0p0yx+dldB2MO9ddMGt7f/CcFNTve+uQVinB
         7dbtJJT2xUaTsHO5IgIq2ZJ18oGTTdqrKWQ48=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741707775; x=1742312575;
        h=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=uVvQXPeG41SSMts6CES/bBVEgm9zR46UGau7gngXz9s=;
        b=SO9zB8jpmdxK7t+iIbg/CvzqN1zlgI/+qJ7yud3wqZWOX2cwZVaYHpkCgLw5ZOVQJV
         3YYCLpNK2GbvdQ//7P6BfxeMeDbF3Zbcb48nNrIX8RJHBpLk1GxVoBy4ZI5b427jbZ5c
         /6sflN/20Mmzserx55Eqr9FoouOZZvfl4DdcPryCN8ZLscUMJTk78OfixvUn9DzVCpcQ
         /oIwoiw9SynGUhwVqUINq78jbX1NIVzXLBoNy5Br9ngIFX5pcmKMNPY6u8oUCYjvIdMl
         2CSn/HyS5WBhBzu9LKIS482wXGO4+/SCrUsyhE2sQBf6PA5AzBnwZQYMY14Q1en9ByWU
         XfvA==
X-Gm-Message-State: AOJu0YzNtk+rYEiNVA4L7uXN0ma60aiFXNqjpurmAJOPbAdjQu3JiUYt
	XAsb/mMZJgM9l4SSbXEmCQsRouaX0akfUzWv4Rr/wBi3m9K6nRfZ9heWwdz6gmY=
X-Gm-Gg: ASbGncuaHoAjram76zrb/x0GWd+w5NSt7g0katz653criaOkPELnfeDIEGblbLEqDVJ
	dfwLpr693ipaYljOOGE1VVlYgi1ePc3nAAjH3rGgemD6sEwCTnRsERWeFleQOSkHuGHKnw5BTyW
	Eu6EO0u7oGD5MAlihpgM8+R1AEW+GYk068lHatYrAK/qTNCpxFdCrk9R2O+NxTqizB4ZD1KJ3Fw
	Lwb0LOZ2f24rFs0h6jmuKnrxIeaVaHYKQBVOLQXrw4duaf3filXba0p9JLOOWkoo7nCFZZZ3wx2
	7fGpxZ083pxnwujaVLCQgOxcFradQHd+GqXBvpe2DHe3AfQHTQ==
X-Google-Smtp-Source: AGHT+IEhD1gp8LfNeFBtGapOSB1nq3wkIb4u0G3lHWr4BOOxkULdDIIlJMtVMKaJLPntH+UnSJ9RVw==
X-Received: by 2002:a17:902:d48f:b0:224:1219:934b with SMTP id d9443c01a7336-22428c099abmr249693515ad.50.1741707774952;
        Tue, 11 Mar 2025 08:42:54 -0700 (PDT)
Date: Tue, 11 Mar 2025 16:42:49 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.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 v2] xen/page_alloc: Simplify domain_adjust_tot_pages
Message-ID: <Z9BZ-V8fWHOAwMJ7@macbook.local>
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
 <Z9AwsrDBELe2UREz@macbook.local>
 <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>

On Tue, Mar 11, 2025 at 02:53:04PM +0000, Alejandro Vallejo wrote:
> On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
> > > The logic has too many levels of indirection and it's very hard to
> > > understand it its current form. Split it between the corner case where
> > > the adjustment is bigger than the current claim and the rest to avoid 5
> > > auxiliary variables.
> > > 
> > > Add a functional change to prevent negative adjustments from
> > > re-increasing the claim. This has the nice side effect of avoiding
> > > taking the heap lock here on every free.
> > > 
> > > While at it, fix incorrect field name in nearby comment.
> > > 
> > > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> >
> > Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Thanks.
> 
> > I think it would be nice to also ensure that once the domain is
> > finished building (maybe when it's unpaused for the first
> > time?) d->outstanding_pages is set to 0.  IMO the claim system was
> > designed to avoid races during domain building, and shouldn't be used
> > once the domain is already running.
> >
> > Thanks, Roger.
> 
> As a matter of implementation that's already the case by toolstack being "nice"
> and unconditionally clearing claims after populating the physmap.

I see.  Another option would be to refuse the unpause a domain if it
still has pending claims.  However I don't know how that will work out
with all possible toolstacks.

> However, I agree the hypervisor should do it on its own. I didn't find a
> suitable place for it. 

You could do it in arch_domain_creation_finished().

> It may be possible to do it on every unpause with
> minimal overhead because it doesn't need to take the heap lock unless there are
> outstanding claims on the domains. Would that sound like an ok idea? I'd rather
> not add even more state into "struct domain" to count pauses...

There's another side missing IMO, XENMEM_claim_pages should return an
error (and refuse the set any claims) once d->creation_finished ==
true.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:45:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:45:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908382.1315504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1n1-0000E9-N8; Tue, 11 Mar 2025 15:45:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908382.1315504; Tue, 11 Mar 2025 15:45: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 1ts1n1-0000E2-KF; Tue, 11 Mar 2025 15:45:07 +0000
Received: by outflank-mailman (input) for mailman id 908382;
 Tue, 11 Mar 2025 15:45: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts1n0-0000Dw-U0
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:45:06 +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 cdd5ab2b-fe8f-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:45:06 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so26325105e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:45: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-43cea8076fcsm117908575e9.15.2025.03.11.08.45.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:45: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: cdd5ab2b-fe8f-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741707905; x=1742312705; 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=zdHLJPJl7l7uqIh9CSFve3F+wK9rtDug0M8CSSvpwP0=;
        b=Z9nIYCbWzGrqaZQWuOMo4MFUv/3cPn4gbE4/YXKiLnxpDJT9PtTxq51uqRUsx2ciE3
         ptIIdRFTlvvtdMn89Y8mfFrSwUEBpRG4zoL138aa8wwq6IGGMDJILY65ZDtTiLv8zxao
         lNZoPC+NkdrAXI1EW7j2ymO+ZhEqqa+u1phGQooHZIy0aAQr6pYUnHFVgveiTJiAuQnM
         33KxpgpzrMGffxH+yrd6YmeL2NfNbvF477iDZcKikdezNGk3gUgYVe/T5OuG24JysHqF
         M0Pl9m+FUlcqOOYBUvvUw5ucYgGhSJzg3nzG5mdIPsGcB44hfosy54+PH/UlYjC4mI+u
         eKgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741707905; x=1742312705;
        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=zdHLJPJl7l7uqIh9CSFve3F+wK9rtDug0M8CSSvpwP0=;
        b=dB8yqV74/cdrA3LvbHX9z/7qGC5SashxV6M8IwoJ0mUuQAtsfQa71I0Ec1YfQ5asZ9
         UQLmAPIYFO8837YQaU7788X+IGsia7ZM2JSgPHrSCjaE8s+XU3ivD0LyT6C85H+LiDf8
         so1pqwzRUsn2uRpz6fNBTjEPZNPlvDbUit+nNKUJR8UrNsjBbB00kltzOwgZ21RvgNzW
         O9oqqZ4ubJDjbGj6iETuiboAIGlaeP3tQXnMxmmrYjdznUIW766855Lt2VpD54VLPSgO
         71musL/z5mNhbHXURms+0yL7R5ErLGec+CoMO3sr9RDmKC6TmjUtdvpy9sl9I3XRoUkj
         cVTw==
X-Gm-Message-State: AOJu0YyAxpkvYgvDmqb+mhfoggwUaKUgps8fsIMHsgFS/DowDFr+zLYz
	5WvkfmXpcm8yTCUO1p+VMJ8ZE0Q3ciq4BgE43mb96dyJ9H3xwXxozvliR89WWQ==
X-Gm-Gg: ASbGncuDMrFpbRCm4JIrFxn6BKL+PD3PREuWK60o6YdHJrHGmYeX9AhisOcLqLY5rPa
	ZJy0Y1IbvabUXmdmw/ITifPCPWPinPGhQtPwiJ9GlJ8xY3vOFYcEEqDnOmC3WqUBZjmLnJF9MfV
	RPov4ZtoJCJFnU3u380V8yps4rlLFSBMHaCTKX9/60PVOjZRG93iEXJCpo98FI74SV+DWKVrDDj
	h5s6BRDB+4yqAA5bV+vr15Ylz6hBrjqBSgzmFAJvCz6NkpN2MZn+69ArFyLNF5N8HPCm4p6QLB+
	+08UJHAb/pRznTuvhY2eQrZvLXbRXfXvUKoeFD3tDrDJ6WjOVf6OHfZKTFd7dUt8D8aMAW/SR5C
	04vRJo+H+vh+xQZR5GU1cDOv1YXCpvw==
X-Google-Smtp-Source: AGHT+IGscGJVDGiTKJrBIqCxQB2waYCffCOpXuB9USiwiJlKiASVvQKtk6aDDnvijT2bwhKFWnVXbA==
X-Received: by 2002:a05:600c:1e8c:b0:43c:fc0c:7f33 with SMTP id 5b1f17b1804b1-43cfc0c92bcmr98991515e9.2.1741707905403;
        Tue, 11 Mar 2025 08:45:05 -0700 (PDT)
Message-ID: <de418de2-b059-4f1e-92b0-42a236208b14@suse.com>
Date: Tue, 11 Mar 2025 16:45:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/page_alloc: Simplify domain_adjust_tot_pages
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
 <Z9AwsrDBELe2UREz@macbook.local> <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>
 <Z9BZ-V8fWHOAwMJ7@macbook.local>
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: <Z9BZ-V8fWHOAwMJ7@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 16:42, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 11, 2025 at 02:53:04PM +0000, Alejandro Vallejo wrote:
>> On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau MonnĂŠ wrote:
>>> On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
>>>> The logic has too many levels of indirection and it's very hard to
>>>> understand it its current form. Split it between the corner case where
>>>> the adjustment is bigger than the current claim and the rest to avoid 5
>>>> auxiliary variables.
>>>>
>>>> Add a functional change to prevent negative adjustments from
>>>> re-increasing the claim. This has the nice side effect of avoiding
>>>> taking the heap lock here on every free.
>>>>
>>>> While at it, fix incorrect field name in nearby comment.
>>>>
>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>>>
>>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>
>> Thanks.
>>
>>> I think it would be nice to also ensure that once the domain is
>>> finished building (maybe when it's unpaused for the first
>>> time?) d->outstanding_pages is set to 0.  IMO the claim system was
>>> designed to avoid races during domain building, and shouldn't be used
>>> once the domain is already running.
>>>
>>> Thanks, Roger.
>>
>> As a matter of implementation that's already the case by toolstack being "nice"
>> and unconditionally clearing claims after populating the physmap.
> 
> I see.  Another option would be to refuse the unpause a domain if it
> still has pending claims.  However I don't know how that will work out
> with all possible toolstacks.
> 
>> However, I agree the hypervisor should do it on its own. I didn't find a
>> suitable place for it. 
> 
> You could do it in arch_domain_creation_finished().

Except that better wouldn't be arch-specific.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:45:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:45:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908393.1315515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1ni-0000rn-2b; Tue, 11 Mar 2025 15:45:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908393.1315515; Tue, 11 Mar 2025 15: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 1ts1nh-0000rg-Vq; Tue, 11 Mar 2025 15:45:49 +0000
Received: by outflank-mailman (input) for mailman id 908393;
 Tue, 11 Mar 2025 15:45: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ts1ng-0000Dw-RN
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:45:48 +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 e2395b40-fe8f-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:45:40 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac2c663a3daso142273166b.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:45:40 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac239485d55sm946785066b.67.2025.03.11.08.45.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 08:45: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: e2395b40-fe8f-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741707939; x=1742312739; 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=mIJbgt7IrUs9KjyNsFbMDWvna1vjE52x/ZJvHbiTdeI=;
        b=Xo1qu6NhQjwzOsbCIhXn6bdHoUTsEz/XZWWoTMXdZsuqN/ghy+tddja2TDo1PKbAhF
         zEyBn+pr2FqQELqkwzFUgotWLsU1ar8Q6jsa5zFBzxytbBH6hTuIiPG9VqE2ZXjKrTSC
         NGvVDaIrlakhp14N/D73QRsWswTk3z6WSddwcqlkFuibTCxmt6mai+ZqqTiWI5yaysuw
         qaDPSw0KSbwKH5q57pw+kumEv6FrZYtT5ua6bedWhBWsCxfX2yy3AelQzSYO/iMiaIOB
         IiOW6L76qUhQgOXcT+VxmKRJxVUarQ0Xj6X1PXGttXHBZxWcEDkxC1dCnF/GqAhuhK0P
         P+uA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741707939; x=1742312739;
        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=mIJbgt7IrUs9KjyNsFbMDWvna1vjE52x/ZJvHbiTdeI=;
        b=rXRBej5ePoNSOswJ28HqwVWi28GoBIC/k9x2SZ6yuCBLScVYPK2p11lWZJUZIGH5Bn
         E/jsaWXeahPRKc33q0ptrpqmIgoFdA3MX0SikLxfRgavLR7Xu8M6xTdit6soqLT5kj+y
         Zc9Ov9ex0jYt61bTwEqb7fi3M6G4sf4tj8Sy8B1IXZWu0558/g7NrIStaab+w2q/diqE
         eGE+wGDrMWuvcbfNcbuHyT4SdYylo7Q+CAD/Lj+UMPVHxrAMzKrWRKszP6FrazHhK19K
         JasgYCej+vx8AGUW8TtvaWBGbEBPpO4ElOCK3QT+uNiS6TX1Ngsh5oflZR9shcXcQjhZ
         5gYg==
X-Gm-Message-State: AOJu0Yw41W2CgUKaO9W3noKHoMdsPAFODrAAZCW+TsmUsZ5KbkE4Xem8
	NRaUjZbqTix/cQdV0T6AhgCdHH12cxFYDJhCwFV/P2u0x0pat5qC9H3qHg==
X-Gm-Gg: ASbGncs4D/V2ryBZaGqMMwAV4feVY34gznRG6GwI+xUyBKuBRFD2DWA5CwSfY25xKWx
	zfldtB71Ua3eCFLSjLBQ9L7ODB5QgfT3h3hVlV7mzar3AkyGx3MMVEwuBq4VWi1rCYzi8cF9QvD
	ywuUZMQzIDxz6+obLja4GXOV0d65KSmdOGrFPNjwwS+TKGTIhmXyTqrD38nEKUfsetpfEwxta6O
	iGa+5PznQzLxrU7XXnoJM/PGHY/u6UL6j/iFKCw32oxe+N3QuGcpH+mRFRo+MT3QvP6AIgyVpml
	2W9/IoPwahSCu5YegmUttFVYJ0KA/CO2ZCCi2JOsqhS3DPxhm/862v1Qk2rm63D84O0RPcJ0LEH
	RAvMgZCljVUz7dQ==
X-Google-Smtp-Source: AGHT+IGUorZZIHRO8/zim1V9oGRIvUVD1C/LxAbhpqBUZ7SvQQcDZKXajDIxA84ESodmqzsvVhqLlw==
X-Received: by 2002:a17:906:cecb:b0:ac2:8118:27e7 with SMTP id a640c23a62f3a-ac2811831a3mr1528203866b.50.1741707939134;
        Tue, 11 Mar 2025 08:45:39 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Milan Djokic <milandjokic1995@gmail.com>,
	Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
Subject: [PATCH v1] xen/riscv: add H extenstion to -march
Date: Tue, 11 Mar 2025 16:45:34 +0100
Message-ID: <32ebe4032b7968157d5cadbc2f6aa1d9f2d363c9.1741707803.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

H provides additional instructions and CSRs that control the new stage of
address translation and support hosting a guest OS in virtual S-mode
(VS-mode).

According to the Unprivileged Architecture (version 20240411) specification:
```
Table 74 summarizes the standardized extension names. The table also defines
the canonical order in which extension names must appear in the name string,
with top-to-bottom in table indicating first-to-last in the name string, e.g.,
RV32IMACV is legal, whereas RV32IMAVC is not.
```
According to Table 74, the h extension is placed last in the one-letter
extensions name part of the ISA string.

`h` is a standalone extension based on the patch [1] but it wasn't so
before.
As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
and for that version, h is still considered a prefix for the hypervisor
extension but the name of hypervisor extension must be more then 1 letter
extension, a workaround ( with using `hh` as an H extension name ) is
implemented as otherwise the following compilation error will occur:
 error: '-march=rv64gc_h_zbb_zihintpause': name of hypervisor extension
        must be more than 1 letter

After GCC version 13.1.0, the commit [1] introducing H extension support
allows us to drop the workaround with `hh` as hypervisor extension name
and use only one h in -march.

To implement this, the h-extension-name is introduced, which is filled with
hh or h depending on the GCC version.

[1] https://github.com/gcc-mirror/gcc/commit/0cd11d301013af50a3fae0694c909952e94e20d5#diff-d6f7db0db31bfb339b01bec450f1b905381eb4730cc5ab2b2794971e34647d64R148

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 docs/misc/riscv/booting.txt | 4 ++++
 xen/arch/riscv/arch.mk      | 3 ++-
 xen/arch/riscv/cpufeature.c | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/docs/misc/riscv/booting.txt b/docs/misc/riscv/booting.txt
index cb4d79f12c..3a8474a27d 100644
--- a/docs/misc/riscv/booting.txt
+++ b/docs/misc/riscv/booting.txt
@@ -3,6 +3,10 @@ System requirements
 
 The following extensions are expected to be supported by a system on which
 Xen is run:
+- H:
+  Provides additional instructions and CSRs that control the new stage of
+  address translation and support hosting a guest OS in virtual S-mode
+  (VS-mode).
 - Zbb:
   RISC-V doesn't have a CLZ instruction in the base ISA.
   As a consequence, __builtin_ffs() emits a library call to ffs() on GCC,
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 236ea7c8a6..14d1f0ada0 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -9,7 +9,8 @@ riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
 riscv-march-$(CONFIG_RISCV_64) := rv64
 riscv-march-y += ima
 riscv-march-$(CONFIG_RISCV_ISA_C) += c
-riscv-march-y += _zicsr_zifencei_zbb
+h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)
+riscv-march-y += $(h-extension-name)_zicsr_zifencei_zbb
 
 riscv-generic-flags := $(riscv-abi-y) -march=$(subst $(space),,$(riscv-march-y))
 
diff --git a/xen/arch/riscv/cpufeature.c b/xen/arch/riscv/cpufeature.c
index bf09aa1170..5aafab0f49 100644
--- a/xen/arch/riscv/cpufeature.c
+++ b/xen/arch/riscv/cpufeature.c
@@ -146,6 +146,7 @@ static const struct riscv_isa_ext_data __initconst required_extensions[] = {
 #ifdef CONFIG_RISCV_ISA_C
     RISCV_ISA_EXT_DATA(c),
 #endif
+    RISCV_ISA_EXT_DATA(h),
     RISCV_ISA_EXT_DATA(zicsr),
     RISCV_ISA_EXT_DATA(zifencei),
     RISCV_ISA_EXT_DATA(zihintpause),
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:46:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:46:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908410.1315526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1oD-0001yd-By; Tue, 11 Mar 2025 15:46:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908410.1315526; Tue, 11 Mar 2025 15:46: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 1ts1oD-0001yW-7H; Tue, 11 Mar 2025 15:46:21 +0000
Received: by outflank-mailman (input) for mailman id 908410;
 Tue, 11 Mar 2025 15:46: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts1oB-0000g7-7z
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:46:19 +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 f80b38b5-fe8f-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:46:16 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso6352735e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:46: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-43cf3bf0e48sm85770245e9.20.2025.03.11.08.46.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:46: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: f80b38b5-fe8f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741707976; x=1742312776; 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=blLAVtfMM0feVbXMqPKGMvhvGzxdCWmgOY0vSLl5D8w=;
        b=eSmfIaJmm4e2w8IJEXdfJnMMQoVWwSZ5nzoHZG8tJo+c3ZJs5qhTb2HmC7cmq5M16g
         RcCGLFK/hapE7pgQEFMV6trHsJF5uS+Y6pZQc9bQbQxq5XANcVTmsGYGCEvcXAECKbAQ
         bC+U44d0swmqdSzufYHE8S4PLkPZc6CSjwSZzA+dzNWQxReZgWSKM5E6R+Pf7/iRJIb1
         Ks7Zz3SmywdveRScbfQa7sraXPL8SuiZ5Wylm9T3FUpaO3TqAJRX4dj6ru3odVT9ypRN
         bg+oOYemCXH0zCv3LtLBWVL9xIkBzirY98P9oA0+3s0t40Q2XQFl9uEsJNYl2H95Nm27
         mIIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741707976; x=1742312776;
        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=blLAVtfMM0feVbXMqPKGMvhvGzxdCWmgOY0vSLl5D8w=;
        b=YhZ4m1dim6BbwHvjkEcfkMNBmczvKeT3CAFeqw9V/yQZUzdCWRmOivQXcMvPw59zaH
         zgK/skPOU4pcmf4eFpDdQd+NKmGS3tIjdzzICmwoVmw2vJ97wru/HPKG09oUY4Srej9u
         ZM6Cx83fFoEvhJhVsKOt5Rc0d1A+C3HeW+fTmy+xDnSmUAZgpm5ki9kUuwkYuYtwPMjJ
         FAr7W1Qx0+/cxbQBn6qTNEtoPMJ+hTrIFLAQSCVd8hkWAnI5yiprSPbrlbWllBEgclzE
         jOLGux9LGmBVZclkOOVQTmZSH5N4CYdD9BJ0QpioPF6df77i/JcnqZ8ghQBDlQZS4uqQ
         aiHg==
X-Forwarded-Encrypted: i=1; AJvYcCX5CEiq5mMCZUkumZzE3174JwAVtGS9Ok6k3GGsWaorVl0ApBMpkiVTIL4ArOP/K94qS145qIvUS/I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2GEpRBZ2Xcll15Rpp5UlqDta6ta3+IdN+cbMjNyfq4Qo96l/3
	zg6fBFjXdj6hwR1zBX9nGHtKmUUXVNTSMoIj31r2qDuCkyxtoH2L4J32ntB3Qg==
X-Gm-Gg: ASbGncvweMCXjYO+6UtaVr3a7A/H3T+5/31Nolyr15Bjr+geIEabJrRjACIz6xQb1xu
	l/DX2jdxTUAv1Pi033akuX+CUxjRe0GNkHFV71c/2rKjSVoX0MlGm/uJUq3DbP+0/FnRlLZL4Hv
	jIRi68ilSgaTG8rZ2liFPJJXZdcjvj/ufwJSOOXJNE+WaC/isfMfOurccUXQAKpsuPvtacKaFKv
	HwMT3JUb9dh6evfsnWbROqMgPuRLr1TdICPcGyvpTV3F4K9JAyWFFejqClUFeyiRDbNhnyR0DmN
	6f8BzSCpVOHeePY8c+TRygYjq/KwdN12SEKBuPzKvxuW4qYcFXh0ayNc4nVwfC6mzgQ7FHS2jZL
	HMDqM/ng4/mbhnTdROsef8vOUvWKOkg==
X-Google-Smtp-Source: AGHT+IFcXyCs13bOTR1HiaAjAoTXHUNJkqTjeb9cQsmMbXCVanUiRBj9waMimbjP5flPmqwhsxVWyA==
X-Received: by 2002:a05:600c:3143:b0:43b:bedc:fcf6 with SMTP id 5b1f17b1804b1-43d01d1134cmr51959945e9.1.1741707976305;
        Tue, 11 Mar 2025 08:46:16 -0700 (PDT)
Message-ID: <f453e641-a5a1-4679-a430-95d24be8b329@suse.com>
Date: Tue, 11 Mar 2025 16:46:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/3] x86/vmx: fix posted interrupts usage of
 msi_desc->msg field
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250311120652.61366-2-roger.pau@citrix.com>
 <20250311152754.63912-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: <20250311152754.63912-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 16:27, Roger Pau Monne wrote:
> The current usage of msi_desc->msg in vmx_pi_update_irte() will make the
> field contain a translated MSI message, instead of the expected
> untranslated one.  This breaks dump_msi(), that use the data in
> msi_desc->msg to print the interrupt details.
> 
> Fix this by introducing a dummy local msi_msg, and use it with
> iommu_update_ire_from_msi().  vmx_pi_update_irte() relies on the MSI
> message not changing, so there's no need to propagate the resulting msi_msg
> to the hardware, and the contents can be ignored.
> 
> Additionally add a comment to clarify that msi_desc->msg must always
> contain the untranslated MSI message.
> 
> Fixes: a5e25908d18d ('VT-d: introduce new fields in msi_desc to track binding with guest interrupt')
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:48:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:48:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908420.1315536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1qd-0002h5-Nv; Tue, 11 Mar 2025 15:48:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908420.1315536; Tue, 11 Mar 2025 15: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 1ts1qd-0002gy-Je; Tue, 11 Mar 2025 15:48:51 +0000
Received: by outflank-mailman (input) for mailman id 908420;
 Tue, 11 Mar 2025 15:48: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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts1qd-0002gs-7G
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:48:51 +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 5381b1fe-fe90-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:48:50 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso35401485e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 08:48: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-43cf7c8249bsm77116165e9.7.2025.03.11.08.48.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 08:48: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: 5381b1fe-fe90-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741708130; x=1742312930; 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=UvO1sa82d386QVY0qd2WzXLwoNNxAuzBSDkgUD42rAU=;
        b=VHBG2LzMjh1o7An8Svq181f0TFlavH91yRGJURqAgDa33rAucEgQA6GcIquQupv6Hg
         xMqKuRSXQxWAKjxmzZGJ2MHp5Q57eHaIUt721peW0+hSrWKMtBdpPnWeLgZ4CQup9DSg
         PF8LFCSh1pvNaohGFR9JElarEP1FZ2Aidko/I4ZAorvHznGKB8VUGUs8JDPihYhXIysw
         Swb0I8hcWjNYsXW2q6VwTC4H1EsVQPQ0aVAAw5TkWW3W82091K77ycSSF+dvCm84taxw
         6c6OejUK1Q83IFWnNzcn3Iiexkrg8mORMRYqForrCCZ+4ujR2HMX6uQwck7IV5T8Xfr7
         tOhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741708130; x=1742312930;
        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=UvO1sa82d386QVY0qd2WzXLwoNNxAuzBSDkgUD42rAU=;
        b=S4NAaAj6mTYw671aEh5BufWI5NKTPMv0YVfDfA7iISBj0xNju+ySRaXR66I/MbMs30
         7xlE04+T6opJqa4t+R6QR/j3RmQHRUmnkcg8XZsSqKGb1V/OJx32P7nOH4AOSC0qnnIz
         qKh9tFYbwBYA4wdiwApUyzuM8q0BrfqaLqIT/uIrHT0E/OEAzDPZPbZRtEfO+MT+/mfE
         GthcAb/mm/ojw2oxvJw+Qu62KOKnAu1ceJFjbxXaDBzEh1fk2RSC5LmmdL6H6KXNPmTA
         YDGbviPjvYaZODyO4lhrptahSDObOzHesNh9sp2jGnZlksvgL3FHQPjfBZOTQ4KtsI1J
         e8oQ==
X-Forwarded-Encrypted: i=1; AJvYcCWmfuIIxfb6ESFIWubBDkfIj/HH82lWCyVO6ISad3naCVlkRPpq2G65T7zYlmpuObVmQ2mhnLThCWQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJzasx/YwEAbe3AYFh5t2QnLZpcHF9p17zLZN1ThLtacKLKTDz
	9QF7DVms0VnnMz88lVa1IRZJbRq4Qq5Ge1xIYm+bm9zwqz8ocZavGmS+ZTSk6g==
X-Gm-Gg: ASbGncsFkI1GL709KtX2FuazjLa8r4AfB3z51bVhu2c0bpG3uQrgx3wPcDfAKiWZzLj
	XzNu0PxWnWuy493pfD5ZRUt6wVVylEt1G61sJFH54UpnCj5F6PqJu99y+Prj8GxS65w0V+ZlXn7
	n5TQl8ApKMZyDm1SvX/y4KIEIu+X2m3+m96Ca1U8vavJfHoXQjdZOhxWSFzJFViIVNsyktN+4fZ
	ocyaqN2DyD+W+EnuWxcu9Z2zlMT6MVchzQl1v/4ji7fukGy/3ha+Ff0hBWcBkCVFapcigQGYd9d
	JWJCXC1eqCi+U3UriQ/KWzZMh11BD5y8/TnCgtUNXt5DMb09XvUrqRKb2d8wk2agkgJQPdNiGgR
	InrC1mfgByQrVhTI/edkJ2WcjxYgDgg==
X-Google-Smtp-Source: AGHT+IG4nedJ82Rb5HHp2eUfSIYkEmewD95b707XTQ/6C8brXpejVs5aPf+5IcLRJqKsCeRtUz/UwA==
X-Received: by 2002:a05:600c:511b:b0:43c:f61e:6ea8 with SMTP id 5b1f17b1804b1-43cf61e702fmr94082345e9.2.1741708129644;
        Tue, 11 Mar 2025 08:48:49 -0700 (PDT)
Message-ID: <c55c4f19-21e2-4115-b7f6-ba4752cc2e56@suse.com>
Date: Tue, 11 Mar 2025 16:48:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/riscv: add H extenstion to -march
To: 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <32ebe4032b7968157d5cadbc2f6aa1d9f2d363c9.1741707803.git.oleksii.kurochko@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: <32ebe4032b7968157d5cadbc2f6aa1d9f2d363c9.1741707803.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 16:45, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -9,7 +9,8 @@ riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
>  riscv-march-$(CONFIG_RISCV_64) := rv64
>  riscv-march-y += ima
>  riscv-march-$(CONFIG_RISCV_ISA_C) += c
> -riscv-march-y += _zicsr_zifencei_zbb
> +h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)

Instead of a version check, did you consider probing the compiler? With the
hard-coded version, how are things going to work with Clang?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:54:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908440.1315545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1wR-0007dl-9f; Tue, 11 Mar 2025 15:54:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908440.1315545; Tue, 11 Mar 2025 15:54: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 1ts1wR-0007de-6V; Tue, 11 Mar 2025 15:54:51 +0000
Received: by outflank-mailman (input) for mailman id 908440;
 Tue, 11 Mar 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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wQ-0007cO-8B
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:54: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 29899bb8-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:54:49 +0100 (CET)
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 B15E8210F4;
 Tue, 11 Mar 2025 15:54: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 22E68134A0;
 Tue, 11 Mar 2025 15:54:47 +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 P6cZB8dc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 29899bb8-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708487; h=from:from:reply-to: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=gtRbDS6fDgM8XxC/AJXySQKuvpMlmaYYWC0kn/IkeIg=;
	b=BGoZODh98b6GhN3Bz2SpP/ZKwjqeurg03noBYn8Gctwq4S8uceZjTxlXC5lxNyRSowPPWu
	FsF/N5qS6BciXPxaHIooDQdLnT7sSETAvN27PeFZxjpfO6TeyZatwDabYXWYOiOiPnOSNq
	gsDCmYcCN4VFuBXQieJpP6iz/cbIy7E=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708487;
	h=from:from:reply-to: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=gtRbDS6fDgM8XxC/AJXySQKuvpMlmaYYWC0kn/IkeIg=;
	b=/2RlqKuG8buhgFxNjGATCt4+IrPiXxDTF9ghcLzNxss9u3SJFmzGKghROw7/HyPi4svMiE
	rIRSxbQoH+g78ZAA==
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=BGoZODh9;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b="/2RlqKuG"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708487; h=from:from:reply-to: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=gtRbDS6fDgM8XxC/AJXySQKuvpMlmaYYWC0kn/IkeIg=;
	b=BGoZODh98b6GhN3Bz2SpP/ZKwjqeurg03noBYn8Gctwq4S8uceZjTxlXC5lxNyRSowPPWu
	FsF/N5qS6BciXPxaHIooDQdLnT7sSETAvN27PeFZxjpfO6TeyZatwDabYXWYOiOiPnOSNq
	gsDCmYcCN4VFuBXQieJpP6iz/cbIy7E=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708487;
	h=from:from:reply-to: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=gtRbDS6fDgM8XxC/AJXySQKuvpMlmaYYWC0kn/IkeIg=;
	b=/2RlqKuG8buhgFxNjGATCt4+IrPiXxDTF9ghcLzNxss9u3SJFmzGKghROw7/HyPi4svMiE
	rIRSxbQoH+g78ZAA==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 00/25] drm/dumb-buffers: Fix and improve buffer-size calculation
Date: Tue, 11 Mar 2025 16:47:04 +0100
Message-ID: <20250311155120.442633-1-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: B15E8210F4
X-Spam-Score: -2.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-2.01 / 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_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[21];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(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.de:mid,suse.de:dkim];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DKIM_TRACE(0.00)[suse.de:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Dumb-buffer pitch and size is specified by width, height, bits-per-pixel
plus various hardware-specific alignments. The calculation of these
values is inconsistent and duplicated among drivers. The results for
formats with bpp < 8 are sometimes incorrect.

This series fixes this for most drivers. Default scanline pitch and
buffer size are now calculated with the existing 4CC helpers. There is
a new helper drm_mode_size_dumb() that calculates scanline pitch and
buffer size according to driver requirements.

The series fixes the common GEM implementations for DMA, SHMEM and
VRAM. It further changes most implementations of dumb_create to use
the new helper. A small number of drivers has more complicated
calculations and will be updated by a later patches.

v4:
- improve UAPI documentation
- document bpp special cases
- use drm_warn_once()
- add TODO lists
- armada: fix pitch alignment
v3:
- document UAPI semantics
- fall back to bpp-based allocation for unknown color modes
- cleanups
v2:
- rewrite series
- convert many individual drivers besides the shared GEM helpers

Thomas Zimmermann (25):
  drm/dumb-buffers: Sanitize output on errors
  drm/dumb-buffers: Provide helper to set pitch and size
  drm/gem-dma: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/gem-shmem: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/gem-vram: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/armada: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/exynos: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/gma500: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/hibmc: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/imx/ipuv3: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/loongson: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/mediatek: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/msm: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/nouveau: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/omapdrm: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/qxl: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/renesas/rcar-du: Compute dumb-buffer sizes with
    drm_mode_size_dumb()
  drm/renesas/rz-du: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/rockchip: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/tegra: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/virtio: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/vmwgfx: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/xe: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/xen: Compute dumb-buffer sizes with drm_mode_size_dumb()
  drm/xlnx: Compute dumb-buffer sizes with drm_mode_size_dumb()

 Documentation/gpu/todo.rst                    |  28 +++
 drivers/gpu/drm/armada/armada_gem.c           |  16 +-
 drivers/gpu/drm/drm_dumb_buffers.c            | 172 ++++++++++++++++--
 drivers/gpu/drm/drm_gem_dma_helper.c          |   7 +-
 drivers/gpu/drm/drm_gem_shmem_helper.c        |  16 +-
 drivers/gpu/drm/drm_gem_vram_helper.c         |  89 +++------
 drivers/gpu/drm/exynos/exynos_drm_gem.c       |   8 +-
 drivers/gpu/drm/gma500/gem.c                  |  21 +--
 .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c   |  25 ++-
 drivers/gpu/drm/imx/ipuv3/imx-drm-core.c      |  29 ++-
 drivers/gpu/drm/loongson/lsdc_gem.c           |  29 +--
 drivers/gpu/drm/mediatek/mtk_gem.c            |  13 +-
 drivers/gpu/drm/msm/msm_gem.c                 |  27 ++-
 drivers/gpu/drm/nouveau/nouveau_display.c     |   7 +-
 drivers/gpu/drm/omapdrm/omap_gem.c            |  15 +-
 drivers/gpu/drm/qxl/qxl_dumb.c                |  17 +-
 drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c |   7 +-
 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c  |   7 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c   |  12 +-
 drivers/gpu/drm/tegra/gem.c                   |   8 +-
 drivers/gpu/drm/virtio/virtgpu_gem.c          |  11 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c       |  21 +--
 drivers/gpu/drm/xe/xe_bo.c                    |   8 +-
 drivers/gpu/drm/xen/xen_drm_front.c           |   7 +-
 drivers/gpu/drm/xlnx/zynqmp_kms.c             |   7 +-
 include/drm/drm_dumb_buffers.h                |  14 ++
 include/drm/drm_gem_vram_helper.h             |   6 -
 include/uapi/drm/drm_mode.h                   |  50 ++++-
 28 files changed, 449 insertions(+), 228 deletions(-)
 create mode 100644 include/drm/drm_dumb_buffers.h

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:54:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908441.1315555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1wV-0007sg-IS; Tue, 11 Mar 2025 15:54:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908441.1315555; Tue, 11 Mar 2025 15:54: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 1ts1wV-0007sZ-Fl; Tue, 11 Mar 2025 15:54:55 +0000
Received: by outflank-mailman (input) for mailman id 908441;
 Tue, 11 Mar 2025 15:54: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wU-0007cO-3K
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:54:54 +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 2be1051c-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:54:53 +0100 (CET)
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 44E8921169;
 Tue, 11 Mar 2025 15:54: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 B6FCC13AB8;
 Tue, 11 Mar 2025 15:54:47 +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 0CZbK8dc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 2be1051c-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708488; 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=UdY05RGpAGplzZ4tLpVPI7IOVTC1fiPSy8jcYt8fBIg=;
	b=MVPMBzoIn3DuWX/e1KhcyxR9UtSkFsxvL4ye6fSQQ4NMeooBVmyH7KMwO3vpDSBa4S8int
	7N1iZFnVtBRhYpjnYri2w5b+2TR46hftIVeK/zF053yFRf23TUVd1iE21CrDsW4wxsqRzc
	SjoGeNTgeJbh5pzfgTBvdlQoRA+GDvE=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708488;
	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=UdY05RGpAGplzZ4tLpVPI7IOVTC1fiPSy8jcYt8fBIg=;
	b=AfiToXBJk2NIzIwKPVhvCchsmyY8xE5VSFRMUUO0CJ1oFcnXiovgsIuuJWcmQewXGR8GEt
	SxykvWNM9nWvLVBQ==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708488; 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=UdY05RGpAGplzZ4tLpVPI7IOVTC1fiPSy8jcYt8fBIg=;
	b=MVPMBzoIn3DuWX/e1KhcyxR9UtSkFsxvL4ye6fSQQ4NMeooBVmyH7KMwO3vpDSBa4S8int
	7N1iZFnVtBRhYpjnYri2w5b+2TR46hftIVeK/zF053yFRf23TUVd1iE21CrDsW4wxsqRzc
	SjoGeNTgeJbh5pzfgTBvdlQoRA+GDvE=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708488;
	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=UdY05RGpAGplzZ4tLpVPI7IOVTC1fiPSy8jcYt8fBIg=;
	b=AfiToXBJk2NIzIwKPVhvCchsmyY8xE5VSFRMUUO0CJ1oFcnXiovgsIuuJWcmQewXGR8GEt
	SxykvWNM9nWvLVBQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 01/25] drm/dumb-buffers: Sanitize output on errors
Date: Tue, 11 Mar 2025 16:47:05 +0100
Message-ID: <20250311155120.442633-2-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	RCVD_COUNT_TWO(0.00)[2];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[21];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:mid,imap1.dmz-prg2.suse.org:helo];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

The ioctls MODE_CREATE_DUMB and MODE_MAP_DUMB return results into a
memory buffer supplied by user space. On errors, it is possible that
intermediate values are being returned. The exact semantics depends
on the DRM driver's implementation of these ioctls. Although this is
most-likely not a security problem in practice, avoid any uncertainty
by clearing the memory to 0 on errors.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/drm_dumb_buffers.c | 40 ++++++++++++++++++++++--------
 1 file changed, 29 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
index 70032bba1c97..9916aaf5b3f2 100644
--- a/drivers/gpu/drm/drm_dumb_buffers.c
+++ b/drivers/gpu/drm/drm_dumb_buffers.c
@@ -99,7 +99,30 @@ int drm_mode_create_dumb(struct drm_device *dev,
 int drm_mode_create_dumb_ioctl(struct drm_device *dev,
 			       void *data, struct drm_file *file_priv)
 {
-	return drm_mode_create_dumb(dev, data, file_priv);
+	struct drm_mode_create_dumb *args = data;
+	int err;
+
+	err = drm_mode_create_dumb(dev, args, file_priv);
+	if (err) {
+		args->handle = 0;
+		args->pitch = 0;
+		args->size = 0;
+	}
+	return err;
+}
+
+static int drm_mode_mmap_dumb(struct drm_device *dev, struct drm_mode_map_dumb *args,
+			      struct drm_file *file_priv)
+{
+	if (!dev->driver->dumb_create)
+		return -ENOSYS;
+
+	if (dev->driver->dumb_map_offset)
+		return dev->driver->dumb_map_offset(file_priv, dev, args->handle,
+						    &args->offset);
+	else
+		return drm_gem_dumb_map_offset(file_priv, dev, args->handle,
+					       &args->offset);
 }
 
 /**
@@ -120,17 +143,12 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
 			     void *data, struct drm_file *file_priv)
 {
 	struct drm_mode_map_dumb *args = data;
+	int err;
 
-	if (!dev->driver->dumb_create)
-		return -ENOSYS;
-
-	if (dev->driver->dumb_map_offset)
-		return dev->driver->dumb_map_offset(file_priv, dev,
-						    args->handle,
-						    &args->offset);
-	else
-		return drm_gem_dumb_map_offset(file_priv, dev, args->handle,
-					       &args->offset);
+	err = drm_mode_mmap_dumb(dev, args, file_priv);
+	if (err)
+		args->offset = 0;
+	return err;
 }
 
 int drm_mode_destroy_dumb(struct drm_device *dev, u32 handle,
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:54:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:54:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908442.1315565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1wY-000899-RZ; Tue, 11 Mar 2025 15:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908442.1315565; Tue, 11 Mar 2025 15: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 1ts1wY-000892-NQ; Tue, 11 Mar 2025 15:54:58 +0000
Received: by outflank-mailman (input) for mailman id 908442;
 Tue, 11 Mar 2025 15:54: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wW-0007cO-UG
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:54:56 +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 2dbe8d46-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:54:56 +0100 (CET)
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 02CA821182;
 Tue, 11 Mar 2025 15:54:50 +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 72B74134A0;
 Tue, 11 Mar 2025 15:54:49 +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 GOVMGslc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 2dbe8d46-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708490; 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=L/ul14IrM0uo8R4Fn9Yzk2D5pnGb4X/CD2s89jDy53c=;
	b=c5QgyUMR/5N9VZDSoO8HIzx7SJQIOYyD1kff3Qoy0l+0rW36oZ4Ip9cpufRtNDfx4Cd309
	F0RCrh5IrM8CZ5i/tYbae8T5ned9eWg77T9nuJEVtEcEL95wWFiRvtfCyGRWrG11qkF4wk
	XQ+s0D0RcDG2/JXd+E1vWqWkknTGiEY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708490;
	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=L/ul14IrM0uo8R4Fn9Yzk2D5pnGb4X/CD2s89jDy53c=;
	b=fqCLHjQJeaE2Lph8JpwHNy9hLwoDx2rxzp5Ah3GTFPJzanwOI2U64iFi9Fdicg1oKrCgJr
	LNa5XXuVcxwe6WBw==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708490; 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=L/ul14IrM0uo8R4Fn9Yzk2D5pnGb4X/CD2s89jDy53c=;
	b=c5QgyUMR/5N9VZDSoO8HIzx7SJQIOYyD1kff3Qoy0l+0rW36oZ4Ip9cpufRtNDfx4Cd309
	F0RCrh5IrM8CZ5i/tYbae8T5ned9eWg77T9nuJEVtEcEL95wWFiRvtfCyGRWrG11qkF4wk
	XQ+s0D0RcDG2/JXd+E1vWqWkknTGiEY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708490;
	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=L/ul14IrM0uo8R4Fn9Yzk2D5pnGb4X/CD2s89jDy53c=;
	b=fqCLHjQJeaE2Lph8JpwHNy9hLwoDx2rxzp5Ah3GTFPJzanwOI2U64iFi9Fdicg1oKrCgJr
	LNa5XXuVcxwe6WBw==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 04/25] drm/gem-shmem: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:08 +0100
Message-ID: <20250311155120.442633-5-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:email,suse.de:mid];
	RCPT_COUNT_TWELVE(0.00)[21];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 8.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/drm_gem_shmem_helper.c | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c b/drivers/gpu/drm/drm_gem_shmem_helper.c
index d99dee67353a..849ee2cde990 100644
--- a/drivers/gpu/drm/drm_gem_shmem_helper.c
+++ b/drivers/gpu/drm/drm_gem_shmem_helper.c
@@ -18,6 +18,7 @@
 #include <drm/drm.h>
 #include <drm/drm_device.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_gem_shmem_helper.h>
 #include <drm/drm_prime.h>
 #include <drm/drm_print.h>
@@ -514,18 +515,11 @@ EXPORT_SYMBOL(drm_gem_shmem_purge);
 int drm_gem_shmem_dumb_create(struct drm_file *file, struct drm_device *dev,
 			      struct drm_mode_create_dumb *args)
 {
-	u32 min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
+	int ret;
 
-	if (!args->pitch || !args->size) {
-		args->pitch = min_pitch;
-		args->size = PAGE_ALIGN(args->pitch * args->height);
-	} else {
-		/* ensure sane minimum values */
-		if (args->pitch < min_pitch)
-			args->pitch = min_pitch;
-		if (args->size < args->pitch * args->height)
-			args->size = PAGE_ALIGN(args->pitch * args->height);
-	}
+	ret = drm_mode_size_dumb(dev, args, SZ_8, 0);
+	if (ret)
+		return ret;
 
 	return drm_gem_shmem_create_with_handle(file, dev, args->size, &args->handle);
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:55:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:55:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908451.1315574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1wq-0000QJ-2o; Tue, 11 Mar 2025 15:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908451.1315574; Tue, 11 Mar 2025 15:55: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 1ts1wq-0000QC-0D; Tue, 11 Mar 2025 15:55:16 +0000
Received: by outflank-mailman (input) for mailman id 908451;
 Tue, 11 Mar 2025 15:55: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wo-0008RK-4j
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:14 +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 37363688-fe91-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:55:12 +0100 (CET)
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 1755A1F443;
 Tue, 11 Mar 2025 15:54: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 694BE13AB8;
 Tue, 11 Mar 2025 15:54: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 sJFGGMxc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15: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: 37363688-fe91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708494; 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=bQvxtHW//eoogfjKKEKKkC38s4D6U/hg24arM25nRWk=;
	b=oZOuqrYPSVVM9VvFxsTMXUZyj85FErY9iYGF5Lsz6PAQ3zJocOf9J6O8uXpl6iNBVBoTvX
	mrKZO1LMGVKfarIb7O3wWYqkRLJE1Fcdr+W/UE5/1Clq9jWGEV5yuXOJOgYdEW07ZKXYAS
	fO44Oq58Y/QeHZm+yO+vaBqcQM4TN5U=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708494;
	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=bQvxtHW//eoogfjKKEKKkC38s4D6U/hg24arM25nRWk=;
	b=7XB6KMRoTaRLV/ooyrNK8EgyNY6/OaB9L9XyH0wGeesybuyOSAPpM5X6qSTwOUzIleh5kv
	1LTjdnzBxMTMr4DA==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b="qAiQ+/xv";
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=a0oqtpx2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708493; 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=bQvxtHW//eoogfjKKEKKkC38s4D6U/hg24arM25nRWk=;
	b=qAiQ+/xvMTwufmeSnKIpIj59G3KotmnnvXYY+381HT3A1szboyWhNzScXEb4YplhbAdsWr
	52j6tEZZ+yRpDGylLAyPNrBqgeTzK3vJS+hI7irK44we8oulDWSASH0e7TzoNRbCuLt3/9
	McU0nA4hE2zwkNG7MDkH5WjlLwmm38s=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708493;
	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=bQvxtHW//eoogfjKKEKKkC38s4D6U/hg24arM25nRWk=;
	b=a0oqtpx2gAGAVOEIftO2shSS1sEkvpJBwQjtP+w4lBZ6yrZtR5driQRJFB6GREiFVg4p/+
	/m18E4LqKR5YqRAg==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Xinliang Liu <xinliang.liu@linaro.org>,
	Tian Tao <tiantao6@hisilicon.com>,
	Xinwei Kong <kong.kongxinwei@hisilicon.com>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Yongqin Liu <yongqin.liu@linaro.org>,
	John Stultz <jstultz@google.com>
Subject: [PATCH v4 09/25] drm/hibmc: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:13 +0100
Message-ID: <20250311155120.442633-10-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 1755A1F443
X-Spam-Level: 
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[27];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,linaro.org:email,suse.de:email,suse.de:dkim,suse.de:mid];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc)];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.de:+];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 128.

The hibmc driver's new hibmc_dumb_create() is similar to the one
in GEM VRAM helpers. The driver was the only caller of
drm_gem_vram_fill_create_dumb(). Remove the now unused helper.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Xinliang Liu <xinliang.liu@linaro.org>
Cc: Tian Tao <tiantao6@hisilicon.com>
Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Yongqin Liu <yongqin.liu@linaro.org>
Cc: John Stultz <jstultz@google.com>
---
 drivers/gpu/drm/drm_gem_vram_helper.c         | 65 -------------------
 .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c   | 25 ++++++-
 include/drm/drm_gem_vram_helper.h             |  6 --
 3 files changed, 24 insertions(+), 72 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
index 15cd564cbeac..b4cf8134df6d 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -444,71 +444,6 @@ void drm_gem_vram_vunmap(struct drm_gem_vram_object *gbo,
 }
 EXPORT_SYMBOL(drm_gem_vram_vunmap);
 
-/**
- * drm_gem_vram_fill_create_dumb() - Helper for implementing
- *				     &struct drm_driver.dumb_create
- *
- * @file:		the DRM file
- * @dev:		the DRM device
- * @pg_align:		the buffer's alignment in multiples of the page size
- * @pitch_align:	the scanline's alignment in powers of 2
- * @args:		the arguments as provided to
- *			&struct drm_driver.dumb_create
- *
- * This helper function fills &struct drm_mode_create_dumb, which is used
- * by &struct drm_driver.dumb_create. Implementations of this interface
- * should forwards their arguments to this helper, plus the driver-specific
- * parameters.
- *
- * Returns:
- * 0 on success, or
- * a negative error code otherwise.
- */
-int drm_gem_vram_fill_create_dumb(struct drm_file *file,
-				  struct drm_device *dev,
-				  unsigned long pg_align,
-				  unsigned long pitch_align,
-				  struct drm_mode_create_dumb *args)
-{
-	size_t pitch, size;
-	struct drm_gem_vram_object *gbo;
-	int ret;
-	u32 handle;
-
-	pitch = args->width * DIV_ROUND_UP(args->bpp, 8);
-	if (pitch_align) {
-		if (WARN_ON_ONCE(!is_power_of_2(pitch_align)))
-			return -EINVAL;
-		pitch = ALIGN(pitch, pitch_align);
-	}
-	size = pitch * args->height;
-
-	size = roundup(size, PAGE_SIZE);
-	if (!size)
-		return -EINVAL;
-
-	gbo = drm_gem_vram_create(dev, size, pg_align);
-	if (IS_ERR(gbo))
-		return PTR_ERR(gbo);
-
-	ret = drm_gem_handle_create(file, &gbo->bo.base, &handle);
-	if (ret)
-		goto err_drm_gem_object_put;
-
-	drm_gem_object_put(&gbo->bo.base);
-
-	args->pitch = pitch;
-	args->size = size;
-	args->handle = handle;
-
-	return 0;
-
-err_drm_gem_object_put:
-	drm_gem_object_put(&gbo->bo.base);
-	return ret;
-}
-EXPORT_SYMBOL(drm_gem_vram_fill_create_dumb);
-
 /*
  * Helpers for struct ttm_device_funcs
  */
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index e6de6d5edf6b..81768577871f 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -18,10 +18,12 @@
 #include <drm/clients/drm_client_setup.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_fbdev_ttm.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_gem_vram_helper.h>
 #include <drm/drm_managed.h>
+#include <drm/drm_mode.h>
 #include <drm/drm_module.h>
 #include <drm/drm_vblank.h>
 
@@ -54,7 +56,28 @@ static irqreturn_t hibmc_interrupt(int irq, void *arg)
 static int hibmc_dumb_create(struct drm_file *file, struct drm_device *dev,
 			     struct drm_mode_create_dumb *args)
 {
-	return drm_gem_vram_fill_create_dumb(file, dev, 0, 128, args);
+	struct drm_gem_vram_object *gbo;
+	int ret;
+
+	ret = drm_mode_size_dumb(dev, args, SZ_128, 0);
+	if (ret)
+		return ret;
+
+	gbo = drm_gem_vram_create(dev, args->size, 0);
+	if (IS_ERR(gbo))
+		return PTR_ERR(gbo);
+
+	ret = drm_gem_handle_create(file, &gbo->bo.base, &args->handle);
+	if (ret)
+		goto err_drm_gem_object_put;
+
+	drm_gem_object_put(&gbo->bo.base);
+
+	return 0;
+
+err_drm_gem_object_put:
+	drm_gem_object_put(&gbo->bo.base);
+	return ret;
 }
 
 static const struct drm_driver hibmc_driver = {
diff --git a/include/drm/drm_gem_vram_helper.h b/include/drm/drm_gem_vram_helper.h
index 00830b49a3ff..b6e821f5dd03 100644
--- a/include/drm/drm_gem_vram_helper.h
+++ b/include/drm/drm_gem_vram_helper.h
@@ -100,12 +100,6 @@ int drm_gem_vram_vmap(struct drm_gem_vram_object *gbo, struct iosys_map *map);
 void drm_gem_vram_vunmap(struct drm_gem_vram_object *gbo,
 			 struct iosys_map *map);
 
-int drm_gem_vram_fill_create_dumb(struct drm_file *file,
-				  struct drm_device *dev,
-				  unsigned long pg_align,
-				  unsigned long pitch_align,
-				  struct drm_mode_create_dumb *args);
-
 /*
  * Helpers for struct drm_driver
  */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:55:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:55:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908457.1315586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1wt-0000mz-DJ; Tue, 11 Mar 2025 15:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908457.1315586; Tue, 11 Mar 2025 15: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 1ts1wt-0000mh-7W; Tue, 11 Mar 2025 15:55:19 +0000
Received: by outflank-mailman (input) for mailman id 908457;
 Tue, 11 Mar 2025 15:55: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1ws-0008RK-2p
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39b678fd-fe91-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:55:16 +0100 (CET)
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 DC9CB21187;
 Tue, 11 Mar 2025 15:54:56 +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 58D6713AB8;
 Tue, 11 Mar 2025 15:54:56 +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 UAxiFNBc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15: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: 39b678fd-fe91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708497; 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=Tbf57XV86Tm6EvbxFqN8dNXgcVQxv+oJqp/TEZsU4UA=;
	b=SBY5jVnlMEVHPgvAmPTWrOtRyXMco/ndT6T1MKEoVV0GRLBuKEyrpDsvXyi1PjEvlsxVYJ
	B4sc4QMCN/0Nqxzhs2nSGE3bwCJEUtSay1muK1GcLoM6ue9cRXfMjKQ5yvEXJIB1AfPjjc
	ZwdIssX5fwM1bV7WFmvzUzY4dJBXfSo=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708497;
	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=Tbf57XV86Tm6EvbxFqN8dNXgcVQxv+oJqp/TEZsU4UA=;
	b=LsjyYe7+I+8Opj49HWYl3+U6GhshLzJsD+rKrghI7VVete2WeF95ggb3tSblVO3y+ullRJ
	UI3+JFnDnRHyvWAg==
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bX+JUPal;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=9jd0IX5+
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708496; 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=Tbf57XV86Tm6EvbxFqN8dNXgcVQxv+oJqp/TEZsU4UA=;
	b=bX+JUPalTQO9F3DCublfNhNclXfq9w09fCdMHMQPKnIBTzMH8KIHs9RC9UFyi2lJhaQz9e
	MR6dBY58xz3S5MThVmF7TxF5CnsEAdqai9sfu1q9SLHpJ0dTWsRUle+YjjYiYG/4RWIP4+
	ha6WHiDanCh88taLet50mMYKRtKlHnQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708496;
	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=Tbf57XV86Tm6EvbxFqN8dNXgcVQxv+oJqp/TEZsU4UA=;
	b=9jd0IX5+inljtu0GsEiybaPpKqi7BYoPyCzRqNUGC/v0Fv3T4ahANYE/lWmLv0JJDyxSXx
	GYhDtDpmf6HEvLBg==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 15/25] drm/omapdrm: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:19 +0100
Message-ID: <20250311155120.442633-16-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: DC9CB21187
X-Spam-Level: 
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[21];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.de:email,suse.de:dkim,suse.de:mid];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to(RLbwen1niosrcqbxsafh1),to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc)];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.de:+];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 8.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---
 drivers/gpu/drm/omapdrm/omap_gem.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_gem.c b/drivers/gpu/drm/omapdrm/omap_gem.c
index b9c67e4ca360..b8413a2dcdeb 100644
--- a/drivers/gpu/drm/omapdrm/omap_gem.c
+++ b/drivers/gpu/drm/omapdrm/omap_gem.c
@@ -11,6 +11,7 @@
 #include <linux/pfn_t.h>
 #include <linux/vmalloc.h>
 
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_prime.h>
 #include <drm/drm_vma_manager.h>
 
@@ -583,15 +584,13 @@ static int omap_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struc
 int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
 		struct drm_mode_create_dumb *args)
 {
-	union omap_gem_size gsize;
-
-	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-
-	args->size = PAGE_ALIGN(args->pitch * args->height);
+	union omap_gem_size gsize = { };
+	int ret;
 
-	gsize = (union omap_gem_size){
-		.bytes = args->size,
-	};
+	ret = drm_mode_size_dumb(dev, args, SZ_8, 0);
+	if (ret)
+		return ret;
+	gsize.bytes = args->size;
 
 	return omap_gem_new_handle(dev, file, gsize,
 			OMAP_BO_SCANOUT | OMAP_BO_WC, &args->handle);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:55:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:55:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908458.1315589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1wt-0000qQ-Ky; Tue, 11 Mar 2025 15:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908458.1315589; Tue, 11 Mar 2025 15: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 1ts1wt-0000oR-G1; Tue, 11 Mar 2025 15:55:19 +0000
Received: by outflank-mailman (input) for mailman id 908458;
 Tue, 11 Mar 2025 15:55: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1ws-0008RK-9q
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:18 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 399c07f3-fe91-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:55:16 +0100 (CET)
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 AB64A1F444;
 Tue, 11 Mar 2025 15:54:55 +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 0AF7813AB8;
 Tue, 11 Mar 2025 15:54:55 +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 uOo9Ac9c0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 399c07f3-fe91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708495; 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=H87ez1S6KJcEkfmzimTOXbDAX95sonbmvpFLLDicFno=;
	b=LUrkOcB+tUCC1xUvAywZvTzM0q2qpN6egwI2RmHE2FCgCHKumiX5HQtShdUJgW/UqrpAsA
	EG4UuKvJHKj7XXL/QVYOFqdDdi8CwLUc0iXvxKmJqKqrwrtMkXKmcFcoxRUxYeABVy4QkZ
	xZsSq2txhlaTmzjkRZ6/b31oVlaMzfE=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708495;
	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=H87ez1S6KJcEkfmzimTOXbDAX95sonbmvpFLLDicFno=;
	b=xNFbW7bovIOmWpq4sOtQHOIKrbCAFvD2reGr7Tfvpo5MgR7IZYVozRo/i0kqemiKw6sqNf
	1dpi69KqKfMkODCQ==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=LUrkOcB+;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=xNFbW7bo
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708495; 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=H87ez1S6KJcEkfmzimTOXbDAX95sonbmvpFLLDicFno=;
	b=LUrkOcB+tUCC1xUvAywZvTzM0q2qpN6egwI2RmHE2FCgCHKumiX5HQtShdUJgW/UqrpAsA
	EG4UuKvJHKj7XXL/QVYOFqdDdi8CwLUc0iXvxKmJqKqrwrtMkXKmcFcoxRUxYeABVy4QkZ
	xZsSq2txhlaTmzjkRZ6/b31oVlaMzfE=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708495;
	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=H87ez1S6KJcEkfmzimTOXbDAX95sonbmvpFLLDicFno=;
	b=xNFbW7bovIOmWpq4sOtQHOIKrbCAFvD2reGr7Tfvpo5MgR7IZYVozRo/i0kqemiKw6sqNf
	1dpi69KqKfMkODCQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Rob Clark <robdclark@gmail.com>,
	Abhinav Kumar <quic_abhinavk@quicinc.com>,
	Sean Paul <sean@poorly.run>,
	Marijn Suijten <marijn.suijten@somainline.org>
Subject: [PATCH v4 13/25] drm/msm: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:17 +0100
Message-ID: <20250311155120.442633-14-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: AB64A1F444
X-Spam-Score: -1.51
X-Rspamd-Action: no action
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[26];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.de:dkim,suse.de:mid,suse.de:email,quicinc.com:email,linaro.org:email];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc)];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.de:+];
	FREEMAIL_CC(0.00)[lists.freedesktop.org,lists.infradead.org,vger.kernel.org,lists.linux.dev,lists.xenproject.org,suse.de,linaro.org,gmail.com,quicinc.com,poorly.run,somainline.org];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch
and buffer size. Alignment is specified in bytes, but the hardware
requires the scanline pitch to be a multiple of 32 pixels. Therefore
compute the byte size of 32 pixels in the given color mode and align
the pitch accordingly. This replaces the existing code in the driver's
align_pitch() helper.

v3:
- clarify pitch alignment in commit message (Dmitry)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Abhinav Kumar <quic_abhinavk@quicinc.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Sean Paul <sean@poorly.run>
Cc: Marijn Suijten <marijn.suijten@somainline.org>
---
 drivers/gpu/drm/msm/msm_gem.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index ebc9ba66efb8..a956905f1ef2 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -11,8 +11,10 @@
 #include <linux/dma-buf.h>
 #include <linux/pfn_t.h>
 
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_prime.h>
 #include <drm/drm_file.h>
+#include <drm/drm_fourcc.h>
 
 #include <trace/events/gpu_mem.h>
 
@@ -700,8 +702,29 @@ void msm_gem_unpin_iova(struct drm_gem_object *obj,
 int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
 		struct drm_mode_create_dumb *args)
 {
-	args->pitch = align_pitch(args->width, args->bpp);
-	args->size  = PAGE_ALIGN(args->pitch * args->height);
+	u32 fourcc;
+	const struct drm_format_info *info;
+	u64 pitch_align;
+	int ret;
+
+	/*
+	 * Adreno needs pitch aligned to 32 pixels. Compute the number
+	 * of bytes for a block of 32 pixels at the given color format.
+	 * Use the result as pitch alignment.
+	 */
+	fourcc = drm_driver_color_mode_format(dev, args->bpp);
+	if (fourcc == DRM_FORMAT_INVALID)
+		return -EINVAL;
+	info = drm_format_info(fourcc);
+	if (!info)
+		return -EINVAL;
+	pitch_align = drm_format_info_min_pitch(info, 0, SZ_32);
+	if (!pitch_align || pitch_align > U32_MAX)
+		return -EINVAL;
+	ret = drm_mode_size_dumb(dev, args, pitch_align, 0);
+	if (ret)
+		return ret;
+
 	return msm_gem_new_handle(dev, file, args->size,
 			MSM_BO_SCANOUT | MSM_BO_WC, &args->handle, "dumb");
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 15:55:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 15:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908462.1315605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts1wy-0001Mg-1X; Tue, 11 Mar 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 908462.1315605; Tue, 11 Mar 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 1ts1wx-0001MZ-U8; Tue, 11 Mar 2025 15:55:23 +0000
Received: by outflank-mailman (input) for mailman id 908462;
 Tue, 11 Mar 2025 15:55: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wv-0008RK-W4
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:21 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c11c8b3-fe91-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:55:20 +0100 (CET)
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 A643421188;
 Tue, 11 Mar 2025 15:55:00 +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 0D94613AB8;
 Tue, 11 Mar 2025 15:55:00 +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 0AAKAtRc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:55: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: 3c11c8b3-fe91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708500; 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=d3BQX9BaOsrc4Jv6PDvBUwp3VMnxYpvzhc2wpYz9lDE=;
	b=B13wF/hhGsclKJ3ghqTwEBQQq8IqncPYrgm0ozcnEJbYu+tM1cGmLgZD6hbywKKljkta0F
	rw6msYC/AYKr47IiZXST7c9Q/a/pTLVUgBIDi+PAf+I8VEn1VSNKoBNb1YRBLHuUUyRBdh
	zRAPiHR30nwNP9NrghGqWQHvxZLDjlk=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708500;
	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=d3BQX9BaOsrc4Jv6PDvBUwp3VMnxYpvzhc2wpYz9lDE=;
	b=bTEh2TqPFBtmNWBgLHjJKyTLCiLpXDTgY4hJoefeBwjYQVFMFhdt0N827lpYX3SG3FLZgq
	yiElxM1lbXKqOwBg==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708500; 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=d3BQX9BaOsrc4Jv6PDvBUwp3VMnxYpvzhc2wpYz9lDE=;
	b=B13wF/hhGsclKJ3ghqTwEBQQq8IqncPYrgm0ozcnEJbYu+tM1cGmLgZD6hbywKKljkta0F
	rw6msYC/AYKr47IiZXST7c9Q/a/pTLVUgBIDi+PAf+I8VEn1VSNKoBNb1YRBLHuUUyRBdh
	zRAPiHR30nwNP9NrghGqWQHvxZLDjlk=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708500;
	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=d3BQX9BaOsrc4Jv6PDvBUwp3VMnxYpvzhc2wpYz9lDE=;
	b=bTEh2TqPFBtmNWBgLHjJKyTLCiLpXDTgY4hJoefeBwjYQVFMFhdt0N827lpYX3SG3FLZgq
	yiElxM1lbXKqOwBg==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Gurchetan Singh <gurchetansingh@chromium.org>,
	Chia-I Wu <olvaffe@gmail.com>
Subject: [PATCH v4 21/25] drm/virtio: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:25 +0100
Message-ID: <20250311155120.442633-22-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.30
X-Spamd-Result: default: False [-1.30 / 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)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,suse.de:email,imap1.dmz-prg2.suse.org:helo];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[25];
	MIME_TRACE(0.00)[0:+];
	FREEMAIL_CC(0.00)[lists.freedesktop.org,lists.infradead.org,vger.kernel.org,lists.linux.dev,lists.xenproject.org,suse.de,redhat.com,chromium.org,gmail.com];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FROM_HAS_DN(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 4.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Gurchetan Singh <gurchetansingh@chromium.org>
Cc: Chia-I Wu <olvaffe@gmail.com>
---
 drivers/gpu/drm/virtio/virtgpu_gem.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c b/drivers/gpu/drm/virtio/virtgpu_gem.c
index dde8fc1a3689..5e5e38d53990 100644
--- a/drivers/gpu/drm/virtio/virtgpu_gem.c
+++ b/drivers/gpu/drm/virtio/virtgpu_gem.c
@@ -23,6 +23,7 @@
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_file.h>
 #include <drm/drm_fourcc.h>
 
@@ -66,15 +67,14 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
 	struct virtio_gpu_object_params params = { 0 };
 	struct virtio_gpu_device *vgdev = dev->dev_private;
 	int ret;
-	uint32_t pitch;
+
+	ret = drm_mode_size_dumb(dev, args, SZ_4, 0);
+	if (ret)
+		return ret;
 
 	if (args->bpp != 32)
 		return -EINVAL;
 
-	pitch = args->width * 4;
-	args->size = pitch * args->height;
-	args->size = ALIGN(args->size, PAGE_SIZE);
-
 	params.format = virtio_gpu_translate_format(DRM_FORMAT_HOST_XRGB8888);
 	params.width = args->width;
 	params.height = args->height;
@@ -92,7 +92,6 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
 	if (ret)
 		goto fail;
 
-	args->pitch = pitch;
 	return ret;
 
 fail:
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:00:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908489.1315616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts225-0004Wy-Li; Tue, 11 Mar 2025 16:00:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908489.1315616; Tue, 11 Mar 2025 16:00: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 1ts225-0004Wr-Gp; Tue, 11 Mar 2025 16:00:41 +0000
Received: by outflank-mailman (input) for mailman id 908489;
 Tue, 11 Mar 2025 16:00: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1x8-0008RK-SQ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:34 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43376ee4-fe91-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:55:32 +0100 (CET)
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 ADA6A1F388;
 Tue, 11 Mar 2025 15:54:58 +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 27289134A0;
 Tue, 11 Mar 2025 15:54:58 +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 oDNHCNJc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 43376ee4-fe91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708498; 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=6d8Bl0cF1v6O+xcrm1WAfWxFBe//+J0Nuv+Z/eyCvFo=;
	b=CipJ1c/grFgtrQlRy8Nng29YWlfhqZxmby//Oah73rMeF4sYcnX5KbUms1SUAp90EeDh7v
	RU2LSSG5GYu9xuKBY+jGBYKd5t0oTlYSBM/fH2RTplw0wyBnpLz9DWkbo6+ObJs9mkJKJk
	VycMlO06LViQHBjw2KHWFV42qn99Aco=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708498;
	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=6d8Bl0cF1v6O+xcrm1WAfWxFBe//+J0Nuv+Z/eyCvFo=;
	b=vCq7alnIl7GS/jQY7YBk3JkQA/+EUOJ3MYUVhbmBxyCl70A9tWVf0SBgo9iK9x17aBg/1j
	75KQlvEYYpbDicCg==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708498; 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=6d8Bl0cF1v6O+xcrm1WAfWxFBe//+J0Nuv+Z/eyCvFo=;
	b=CipJ1c/grFgtrQlRy8Nng29YWlfhqZxmby//Oah73rMeF4sYcnX5KbUms1SUAp90EeDh7v
	RU2LSSG5GYu9xuKBY+jGBYKd5t0oTlYSBM/fH2RTplw0wyBnpLz9DWkbo6+ObJs9mkJKJk
	VycMlO06LViQHBjw2KHWFV42qn99Aco=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708498;
	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=6d8Bl0cF1v6O+xcrm1WAfWxFBe//+J0Nuv+Z/eyCvFo=;
	b=vCq7alnIl7GS/jQY7YBk3JkQA/+EUOJ3MYUVhbmBxyCl70A9tWVf0SBgo9iK9x17aBg/1j
	75KQlvEYYpbDicCg==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Biju Das <biju.das.jz@bp.renesas.com>
Subject: [PATCH v4 18/25] drm/renesas/rz-du: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:22 +0100
Message-ID: <20250311155120.442633-19-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	RCVD_COUNT_TWO(0.00)[2];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[22];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:mid,imap1.dmz-prg2.suse.org:helo];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch according to hardware requirements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Biju Das <biju.das.jz@bp.renesas.com>
---
 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
index 90c6269ccd29..f752369cd52f 100644
--- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
+++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
@@ -75,10 +75,11 @@ const struct rzg2l_du_format_info *rzg2l_du_format_info(u32 fourcc)
 int rzg2l_du_dumb_create(struct drm_file *file, struct drm_device *dev,
 			 struct drm_mode_create_dumb *args)
 {
-	unsigned int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-	unsigned int align = 16 * args->bpp / 8;
+	int ret;
 
-	args->pitch = roundup(min_pitch, align);
+	ret = drm_mode_size_dumb(dev, args, 16 * args->bpp / 8, 0);
+	if (ret)
+		return ret;
 
 	return drm_gem_dma_dumb_create_internal(file, dev, args);
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:01:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:01:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908504.1315625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts22w-0005FY-SV; Tue, 11 Mar 2025 16:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908504.1315625; Tue, 11 Mar 2025 16:01: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 1ts22w-0005FR-Pk; Tue, 11 Mar 2025 16:01:34 +0000
Received: by outflank-mailman (input) for mailman id 908504;
 Tue, 11 Mar 2025 16:01: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wk-0007cO-9r
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:10 +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 358ab6e5-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:09 +0100 (CET)
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 58CF821185;
 Tue, 11 Mar 2025 15:54:54 +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 C291413AFE;
 Tue, 11 Mar 2025 15:54: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 CIsbLs1c0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 358ab6e5-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708494; 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=MlMXXFdQxI/n+TKAq4PasfKR7Xggh6ISrSBylzxHnYo=;
	b=DhXUTb/iC5eyGYFM8watz4DW/hkJMGd9JcPa/tgnIVFDiJJFtf91i0fvQR26f00aTWCsuN
	nfVuuL2WLHeSLOvizdMva2lWIWCwQUgtA71pFCDb9fZdCokrS3fRutFzmq86rzmv9RHJ+0
	iuhao6zVOS2L93zgyi1raYHbQB+Rh1Q=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708494;
	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=MlMXXFdQxI/n+TKAq4PasfKR7Xggh6ISrSBylzxHnYo=;
	b=Q2ThJqFOQhpqBYA2FOTtUmRLXrBmkYP0VqLqBAj39dB5c4tKcRXXVPA8rmZn5ygc7Iyk6B
	0o9H4CtRMORYuvDQ==
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b="DhXUTb/i";
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=Q2ThJqFO
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708494; 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=MlMXXFdQxI/n+TKAq4PasfKR7Xggh6ISrSBylzxHnYo=;
	b=DhXUTb/iC5eyGYFM8watz4DW/hkJMGd9JcPa/tgnIVFDiJJFtf91i0fvQR26f00aTWCsuN
	nfVuuL2WLHeSLOvizdMva2lWIWCwQUgtA71pFCDb9fZdCokrS3fRutFzmq86rzmv9RHJ+0
	iuhao6zVOS2L93zgyi1raYHbQB+Rh1Q=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708494;
	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=MlMXXFdQxI/n+TKAq4PasfKR7Xggh6ISrSBylzxHnYo=;
	b=Q2ThJqFOQhpqBYA2FOTtUmRLXrBmkYP0VqLqBAj39dB5c4tKcRXXVPA8rmZn5ygc7Iyk6B
	0o9H4CtRMORYuvDQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Sui Jingfeng <sui.jingfeng@linux.dev>
Subject: [PATCH v4 11/25] drm/loongson: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:15 +0100
Message-ID: <20250311155120.442633-12-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 58CF821185
X-Spam-Level: 
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[22];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:dkim,suse.de:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,linux.dev:email];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc)];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.de:+];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch according to hardware requirements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Sui Jingfeng <sui.jingfeng@linux.dev>
Cc: Sui Jingfeng <sui.jingfeng@linux.dev>
---
 drivers/gpu/drm/loongson/lsdc_gem.c | 29 ++++++++---------------------
 1 file changed, 8 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/loongson/lsdc_gem.c b/drivers/gpu/drm/loongson/lsdc_gem.c
index a720d8f53209..9f982b85301f 100644
--- a/drivers/gpu/drm/loongson/lsdc_gem.c
+++ b/drivers/gpu/drm/loongson/lsdc_gem.c
@@ -6,6 +6,7 @@
 #include <linux/dma-buf.h>
 
 #include <drm/drm_debugfs.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_file.h>
 #include <drm/drm_gem.h>
 #include <drm/drm_prime.h>
@@ -204,45 +205,31 @@ int lsdc_dumb_create(struct drm_file *file, struct drm_device *ddev,
 	const struct lsdc_desc *descp = ldev->descp;
 	u32 domain = LSDC_GEM_DOMAIN_VRAM;
 	struct drm_gem_object *gobj;
-	size_t size;
-	u32 pitch;
-	u32 handle;
 	int ret;
 
-	if (!args->width || !args->height)
-		return -EINVAL;
-
-	if (args->bpp != 32 && args->bpp != 16)
-		return -EINVAL;
-
-	pitch = args->width * args->bpp / 8;
-	pitch = ALIGN(pitch, descp->pitch_align);
-	size = pitch * args->height;
-	size = ALIGN(size, PAGE_SIZE);
+	ret = drm_mode_size_dumb(ddev, args, descp->pitch_align, 0);
+	if (ret)
+		return ret;
 
 	/* Maximum single bo size allowed is the half vram size available */
-	if (size > ldev->vram_size / 2) {
-		drm_err(ddev, "Requesting(%zuMiB) failed\n", size >> 20);
+	if (args->size > ldev->vram_size / 2) {
+		drm_err(ddev, "Requesting(%zuMiB) failed\n", (size_t)(args->size >> PAGE_SHIFT));
 		return -ENOMEM;
 	}
 
-	gobj = lsdc_gem_object_create(ddev, domain, size, false, NULL, NULL);
+	gobj = lsdc_gem_object_create(ddev, domain, args->size, false, NULL, NULL);
 	if (IS_ERR(gobj)) {
 		drm_err(ddev, "Failed to create gem object\n");
 		return PTR_ERR(gobj);
 	}
 
-	ret = drm_gem_handle_create(file, gobj, &handle);
+	ret = drm_gem_handle_create(file, gobj, &args->handle);
 
 	/* drop reference from allocate, handle holds it now */
 	drm_gem_object_put(gobj);
 	if (ret)
 		return ret;
 
-	args->pitch = pitch;
-	args->size = size;
-	args->handle = handle;
-
 	return 0;
 }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:01:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908511.1315635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts237-0005d4-6K; Tue, 11 Mar 2025 16:01:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908511.1315635; Tue, 11 Mar 2025 16:01: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 1ts237-0005cx-3W; Tue, 11 Mar 2025 16:01:45 +0000
Received: by outflank-mailman (input) for mailman id 908511;
 Tue, 11 Mar 2025 16:01: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1xG-0008RK-T7
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:42 +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 4852fe38-fe91-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:55:41 +0100 (CET)
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 07C2F1F455;
 Tue, 11 Mar 2025 15:55:00 +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 599CD134A0;
 Tue, 11 Mar 2025 15:54:59 +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 oOSdFNNc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 4852fe38-fe91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708500; 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=4Kq4gWJ8mAR1h1GNflSo6SZrA0Yhy45wdEQTRWGGW54=;
	b=jfSu/kcj+M9syNgnusG2gJCNXUmAzPSdnUI4tkbbQBc1a6P2FigPwmObU9LEfeiKzjBJA1
	JJKNRBKaKsECoGk9AoCTP8m3N7VrkKiVooDb/VfN9uJzt5yk0gXvkcAEJZrApeHnoEjlYl
	WuXRRM5ddhg3SiMtyTpREzo9Ahj5o2k=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708500;
	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=4Kq4gWJ8mAR1h1GNflSo6SZrA0Yhy45wdEQTRWGGW54=;
	b=GHOcEmcucDIXlolq2a/sUj21MJgVitx/BMoV1u4ksyxaR0MOrRtwQ0HBDpspGeXFkNavtx
	p+3p4KXFm8vOq9AA==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b="jfSu/kcj";
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=GHOcEmcu
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708500; 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=4Kq4gWJ8mAR1h1GNflSo6SZrA0Yhy45wdEQTRWGGW54=;
	b=jfSu/kcj+M9syNgnusG2gJCNXUmAzPSdnUI4tkbbQBc1a6P2FigPwmObU9LEfeiKzjBJA1
	JJKNRBKaKsECoGk9AoCTP8m3N7VrkKiVooDb/VfN9uJzt5yk0gXvkcAEJZrApeHnoEjlYl
	WuXRRM5ddhg3SiMtyTpREzo9Ahj5o2k=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708500;
	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=4Kq4gWJ8mAR1h1GNflSo6SZrA0Yhy45wdEQTRWGGW54=;
	b=GHOcEmcucDIXlolq2a/sUj21MJgVitx/BMoV1u4ksyxaR0MOrRtwQ0HBDpspGeXFkNavtx
	p+3p4KXFm8vOq9AA==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Thierry Reding <treding@nvidia.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Mikko Perttunen <mperttunen@nvidia.com>
Subject: [PATCH v4 20/25] drm/tegra: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:24 +0100
Message-ID: <20250311155120.442633-21-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 07C2F1F455
X-Spam-Level: 
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.de:email,suse.de:dkim,suse.de:mid];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	ARC_NA(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[24];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TAGGED_RCPT(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	R_RATELIMIT(0.00)[to(RLbwen1niosrcqbxsafh1),to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc)];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.de:+];
	TO_DN_SOME(0.00)[];
	FREEMAIL_CC(0.00)[lists.freedesktop.org,lists.infradead.org,vger.kernel.org,lists.linux.dev,lists.xenproject.org,suse.de,nvidia.com,gmail.com];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch according to hardware requirements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Thierry Reding <treding@nvidia.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Mikko Perttunen <mperttunen@nvidia.com>
---
 drivers/gpu/drm/tegra/gem.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index ace3e5a805cf..4d88e71192fb 100644
--- a/drivers/gpu/drm/tegra/gem.c
+++ b/drivers/gpu/drm/tegra/gem.c
@@ -16,6 +16,7 @@
 #include <linux/vmalloc.h>
 
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_prime.h>
 #include <drm/tegra_drm.h>
 
@@ -543,12 +544,13 @@ void tegra_bo_free_object(struct drm_gem_object *gem)
 int tegra_bo_dumb_create(struct drm_file *file, struct drm_device *drm,
 			 struct drm_mode_create_dumb *args)
 {
-	unsigned int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
 	struct tegra_drm *tegra = drm->dev_private;
 	struct tegra_bo *bo;
+	int ret;
 
-	args->pitch = round_up(min_pitch, tegra->pitch_align);
-	args->size = args->pitch * args->height;
+	ret = drm_mode_size_dumb(drm, args, tegra->pitch_align, 0);
+	if (ret)
+		return ret;
 
 	bo = tegra_bo_create_with_handle(file, drm, args->size, 0,
 					 &args->handle);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:01:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:01:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908512.1315645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts238-0005rz-Dl; Tue, 11 Mar 2025 16:01:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908512.1315645; Tue, 11 Mar 2025 16:01: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 1ts238-0005rm-AT; Tue, 11 Mar 2025 16:01:46 +0000
Received: by outflank-mailman (input) for mailman id 908512;
 Tue, 11 Mar 2025 16: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wz-0007cO-Ks
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:25 +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 3ecbd22f-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:25 +0100 (CET)
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 52AEC21169;
 Tue, 11 Mar 2025 15:55:01 +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 ACF69134A0;
 Tue, 11 Mar 2025 15:55:00 +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 yMjrKNRc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:55: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: 3ecbd22f-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708501; 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=KOh7UhW3mzXlPJpIdVaeXaNgF5WuI+vmkqbjw0/CGbs=;
	b=bGXHt34Gpav7fo6WDGENxocm8ZOXTBKe5nTTa5pLITFQZPl7ywYtmfRqnHuZsAiOtD4KLY
	Vqpl5pCLeZFQitGjMPD4BXT22rYrfAhW3vDZUvRZjVC+PAETroXEUk/iDXTtRFjTC4K8Mh
	wQbK6D8o7dkSyqVeoLWR3m4j8OpzhnU=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708501;
	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=KOh7UhW3mzXlPJpIdVaeXaNgF5WuI+vmkqbjw0/CGbs=;
	b=o1iQLl7EJXR9UTZRWc/7J0dG+WP5cTmvuhpsPU+/rkXPy8gutWMLokEraZ70USxfAFYJsZ
	IE1Je4IL+ndcxiBQ==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708501; 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=KOh7UhW3mzXlPJpIdVaeXaNgF5WuI+vmkqbjw0/CGbs=;
	b=bGXHt34Gpav7fo6WDGENxocm8ZOXTBKe5nTTa5pLITFQZPl7ywYtmfRqnHuZsAiOtD4KLY
	Vqpl5pCLeZFQitGjMPD4BXT22rYrfAhW3vDZUvRZjVC+PAETroXEUk/iDXTtRFjTC4K8Mh
	wQbK6D8o7dkSyqVeoLWR3m4j8OpzhnU=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708501;
	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=KOh7UhW3mzXlPJpIdVaeXaNgF5WuI+vmkqbjw0/CGbs=;
	b=o1iQLl7EJXR9UTZRWc/7J0dG+WP5cTmvuhpsPU+/rkXPy8gutWMLokEraZ70USxfAFYJsZ
	IE1Je4IL+ndcxiBQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Zack Rusin <zack.rusin@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
Subject: [PATCH v4 22/25] drm/vmwgfx: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:26 +0100
Message-ID: <20250311155120.442633-23-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.30
X-Spamd-Result: default: False [-1.30 / 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)[];
	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)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[23];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,broadcom.com:email,suse.de:mid,suse.de:email];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch
and buffer size. No alignment required.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Zack Rusin <zack.rusin@broadcom.com>
Cc: Zack Rusin <zack.rusin@broadcom.com>
Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
index 02ab65cc63ec..c3a4ea713559 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
@@ -15,6 +15,7 @@
 #include "vmw_surface_cache.h"
 #include "device_include/svga3d_surfacedefs.h"
 
+#include <drm/drm_dumb_buffers.h>
 #include <drm/ttm/ttm_placement.h>
 
 #define SVGA3D_FLAGS_64(upper32, lower32) (((uint64_t)upper32 << 32) | lower32)
@@ -2270,23 +2271,9 @@ int vmw_dumb_create(struct drm_file *file_priv,
 	 * contents is going to be rendered guest side.
 	 */
 	if (!dev_priv->has_mob || !vmw_supports_3d(dev_priv)) {
-		int cpp = DIV_ROUND_UP(args->bpp, 8);
-
-		switch (cpp) {
-		case 1: /* DRM_FORMAT_C8 */
-		case 2: /* DRM_FORMAT_RGB565 */
-		case 4: /* DRM_FORMAT_XRGB8888 */
-			break;
-		default:
-			/*
-			 * Dumb buffers don't allow anything else.
-			 * This is tested via IGT's dumb_buffers
-			 */
-			return -EINVAL;
-		}
-
-		args->pitch = args->width * cpp;
-		args->size = ALIGN(args->pitch * args->height, PAGE_SIZE);
+		ret = drm_mode_size_dumb(dev, args, 0, 0);
+		if (ret)
+			return ret;
 
 		ret = vmw_gem_object_create_with_handle(dev_priv, file_priv,
 							args->size, &args->handle,
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:02:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908541.1315655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts23g-0006zY-MF; Tue, 11 Mar 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 908541.1315655; Tue, 11 Mar 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 1ts23g-0006zR-J7; Tue, 11 Mar 2025 16:02:20 +0000
Received: by outflank-mailman (input) for mailman id 908541;
 Tue, 11 Mar 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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1x7-0007cO-Mr
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:33 +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 428df4ac-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:31 +0100 (CET)
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 898702118A;
 Tue, 11 Mar 2025 15:55:02 +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 EC3C0134A0;
 Tue, 11 Mar 2025 15:55:01 +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 iGpXONVc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:55: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>
X-Inumbo-ID: 428df4ac-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708502; 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=ShM7QkYxOUzYuiM1Xi5REKpzUXaj1yvUsfwZ2Eb5boc=;
	b=B0jvFv7SeS7UCsM1iOswc5xTzBNoHtlLeuVtgU6fEbQt/UPX917FEITX069krd9irivNA8
	YwnpsS6HRTu0oXpFG/C9Dy7vjk4/FvfW/agVckY6UIukcbwmMdOmmQcVeyVaLDyqSm3Xcp
	usPBnz2+grKLPgNbU0IuxeBWp+b/2ew=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708502;
	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=ShM7QkYxOUzYuiM1Xi5REKpzUXaj1yvUsfwZ2Eb5boc=;
	b=lVVQSTm+Eln78u7D7xyM5Xcu1GeHre8Gr1VQRGSz/ramC7ySCZbO6sm2E9ySKEqMJ//0Sl
	Et56mXkKfm7BA2AA==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708502; 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=ShM7QkYxOUzYuiM1Xi5REKpzUXaj1yvUsfwZ2Eb5boc=;
	b=B0jvFv7SeS7UCsM1iOswc5xTzBNoHtlLeuVtgU6fEbQt/UPX917FEITX069krd9irivNA8
	YwnpsS6HRTu0oXpFG/C9Dy7vjk4/FvfW/agVckY6UIukcbwmMdOmmQcVeyVaLDyqSm3Xcp
	usPBnz2+grKLPgNbU0IuxeBWp+b/2ew=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708502;
	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=ShM7QkYxOUzYuiM1Xi5REKpzUXaj1yvUsfwZ2Eb5boc=;
	b=lVVQSTm+Eln78u7D7xyM5Xcu1GeHre8Gr1VQRGSz/ramC7ySCZbO6sm2E9ySKEqMJ//0Sl
	Et56mXkKfm7BA2AA==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Subject: [PATCH v4 24/25] drm/xen: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:28 +0100
Message-ID: <20250311155120.442633-25-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.30
X-Spamd-Result: default: False [-1.30 / 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)[];
	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)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[22];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:mid,suse.de:email];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch
and buffer size. Align the pitch to a multiple of 8.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
 drivers/gpu/drm/xen/xen_drm_front.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xen/xen_drm_front.c b/drivers/gpu/drm/xen/xen_drm_front.c
index 1bda7ef606cc..fd2f250fbc33 100644
--- a/drivers/gpu/drm/xen/xen_drm_front.c
+++ b/drivers/gpu/drm/xen/xen_drm_front.c
@@ -14,6 +14,7 @@
 
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_ioctl.h>
 #include <drm/drm_probe_helper.h>
 #include <drm/drm_file.h>
@@ -414,8 +415,10 @@ static int xen_drm_drv_dumb_create(struct drm_file *filp,
 	 * object without pages etc.
 	 * For details also see drm_gem_handle_create
 	 */
-	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-	args->size = args->pitch * args->height;
+
+	ret = drm_mode_size_dumb(dev, args, SZ_8, 0);
+	if (ret)
+		return ret;
 
 	obj = xen_drm_front_gem_create(dev, args->size);
 	if (IS_ERR(obj)) {
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:03:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:03:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908552.1315664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts24Q-0007mv-Ti; Tue, 11 Mar 2025 16:03:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908552.1315664; Tue, 11 Mar 2025 16:03: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 1ts24Q-0007mm-Qz; Tue, 11 Mar 2025 16:03:06 +0000
Received: by outflank-mailman (input) for mailman id 908552;
 Tue, 11 Mar 2025 16:03: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1ww-0007cO-BQ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:22 +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 3cd04229-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:21 +0100 (CET)
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 5201E1F445;
 Tue, 11 Mar 2025 15:54:56 +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 B0B73134A0;
 Tue, 11 Mar 2025 15:54:55 +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 kCveKc9c0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 3cd04229-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708496; 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=FL+FXHydxcu5T6H4AWdtXBqgbV3tuKziI46EIqxDJTc=;
	b=qFifF5inkPPExIJJzjqqjgul/c0nL69ZVVdi5Qz/v/r1iTzSeh9mCPrxk66ya5Lg3q3UoX
	iGaHYGRznW0EAn2SnxJHD+DYiKZmvoPLHmqP4XX+0bSQpxnR2pk4g46s+wlRe3ZWLcQbSU
	Rvh9Ep01Fozl670MI4bzdEIDJBqSAIg=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708496;
	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=FL+FXHydxcu5T6H4AWdtXBqgbV3tuKziI46EIqxDJTc=;
	b=nV7lAAkZE0/Azwv6pqtVPMMq7bmDvYDicqJoBda6zbnvpSvadMiXsy05AMB+3GcDHeUwP7
	4npRxPj+8P5Sv1Cw==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=qFifF5in;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=nV7lAAkZ
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708496; 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=FL+FXHydxcu5T6H4AWdtXBqgbV3tuKziI46EIqxDJTc=;
	b=qFifF5inkPPExIJJzjqqjgul/c0nL69ZVVdi5Qz/v/r1iTzSeh9mCPrxk66ya5Lg3q3UoX
	iGaHYGRznW0EAn2SnxJHD+DYiKZmvoPLHmqP4XX+0bSQpxnR2pk4g46s+wlRe3ZWLcQbSU
	Rvh9Ep01Fozl670MI4bzdEIDJBqSAIg=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708496;
	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=FL+FXHydxcu5T6H4AWdtXBqgbV3tuKziI46EIqxDJTc=;
	b=nV7lAAkZE0/Azwv6pqtVPMMq7bmDvYDicqJoBda6zbnvpSvadMiXsy05AMB+3GcDHeUwP7
	4npRxPj+8P5Sv1Cw==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Lyude Paul <lyude@redhat.com>,
	Karol Herbst <kherbst@redhat.com>,
	Danilo Krummrich <dakr@kernel.org>
Subject: [PATCH v4 14/25] drm/nouveau: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:18 +0100
Message-ID: <20250311155120.442633-15-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 5201E1F445
X-Spam-Score: -1.51
X-Rspamd-Action: no action
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[24];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.de:dkim,suse.de:mid,suse.de:email];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc),to(RLbwen1niosrcqbxsafh1)];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.de:+];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 256.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Danilo Krummrich <dakr@kernel.org>
---
 drivers/gpu/drm/nouveau/nouveau_display.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index add006fc8d81..daa2528f9c9a 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -30,6 +30,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_client_event.h>
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_probe_helper.h>
@@ -808,9 +809,9 @@ nouveau_display_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
 	uint32_t domain;
 	int ret;
 
-	args->pitch = roundup(args->width * (args->bpp / 8), 256);
-	args->size = args->pitch * args->height;
-	args->size = roundup(args->size, PAGE_SIZE);
+	ret = drm_mode_size_dumb(dev, args, SZ_256, 0);
+	if (ret)
+		return ret;
 
 	/* Use VRAM if there is any ; otherwise fallback to system memory */
 	if (nouveau_drm(dev)->client.device.info.ram_size != 0)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:03:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:03:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908553.1315669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts24R-0007q9-5X; Tue, 11 Mar 2025 16:03:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908553.1315669; Tue, 11 Mar 2025 16:03: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 1ts24R-0007pd-1U; Tue, 11 Mar 2025 16:03:07 +0000
Received: by outflank-mailman (input) for mailman id 908553;
 Tue, 11 Mar 2025 16:03: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wZ-0007cO-PK
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:54:59 +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 2f70d526-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:54:59 +0100 (CET)
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 85AA62117D;
 Tue, 11 Mar 2025 15:54:50 +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 09A6213AB8;
 Tue, 11 Mar 2025 15:54:50 +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 MIANAcpc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 2f70d526-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708490; 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=yMMGLrtVVhDmJyhqakJon+MPSH4DP55cAIQ1HDFmEFE=;
	b=yz45gS8COIA0gwXrjGPeX3Iu0WArLQWi3UVE/txxXX2o0qaz3G3SvTnrPf50+qmsA2CXru
	kCFfZVzrGR65dcJ62yvCpO2qmhPcpgUG7ASvMaOHvOyV37TujMxHRsifOfz3shAKeG9ltD
	py9ZZM+bsD9xBftLZ9RUhhZfUe3P3b0=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708490;
	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=yMMGLrtVVhDmJyhqakJon+MPSH4DP55cAIQ1HDFmEFE=;
	b=7U7YCVswFKccdzPTtVgV/0HFrVuY7QTcsTQwaxDK0GywHb/qFdxOt6Eu17ieVgn13hlzYy
	O47HTL2Nt7L8lSBA==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708490; 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=yMMGLrtVVhDmJyhqakJon+MPSH4DP55cAIQ1HDFmEFE=;
	b=yz45gS8COIA0gwXrjGPeX3Iu0WArLQWi3UVE/txxXX2o0qaz3G3SvTnrPf50+qmsA2CXru
	kCFfZVzrGR65dcJ62yvCpO2qmhPcpgUG7ASvMaOHvOyV37TujMxHRsifOfz3shAKeG9ltD
	py9ZZM+bsD9xBftLZ9RUhhZfUe3P3b0=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708490;
	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=yMMGLrtVVhDmJyhqakJon+MPSH4DP55cAIQ1HDFmEFE=;
	b=7U7YCVswFKccdzPTtVgV/0HFrVuY7QTcsTQwaxDK0GywHb/qFdxOt6Eu17ieVgn13hlzYy
	O47HTL2Nt7L8lSBA==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 05/25] drm/gem-vram: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:09 +0100
Message-ID: <20250311155120.442633-6-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:email,suse.de:mid];
	RCPT_COUNT_TWELVE(0.00)[21];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Inline code from drm_gem_vram_fill_create_dumb() without
the existing size computation. Align the pitch to a multiple of 8.

Only hibmc and vboxvideo use gem-vram. Hibmc invokes the call to
drm_gem_vram_fill_create_dumb() directly and is therefore not affected.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/drm_gem_vram_helper.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
index 22b1fe9c03b8..15cd564cbeac 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -6,6 +6,7 @@
 #include <drm/drm_debugfs.h>
 #include <drm/drm_device.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_file.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -582,10 +583,31 @@ int drm_gem_vram_driver_dumb_create(struct drm_file *file,
 				    struct drm_device *dev,
 				    struct drm_mode_create_dumb *args)
 {
+	struct drm_gem_vram_object *gbo;
+	int ret;
+
 	if (WARN_ONCE(!dev->vram_mm, "VRAM MM not initialized"))
 		return -EINVAL;
 
-	return drm_gem_vram_fill_create_dumb(file, dev, 0, 0, args);
+	ret = drm_mode_size_dumb(dev, args, SZ_8, 0);
+	if (ret)
+		return ret;
+
+	gbo = drm_gem_vram_create(dev, args->size, 0);
+	if (IS_ERR(gbo))
+		return PTR_ERR(gbo);
+
+	ret = drm_gem_handle_create(file, &gbo->bo.base, &args->handle);
+	if (ret)
+		goto err_drm_gem_object_put;
+
+	drm_gem_object_put(&gbo->bo.base);
+
+	return 0;
+
+err_drm_gem_object_put:
+	drm_gem_object_put(&gbo->bo.base);
+	return ret;
 }
 EXPORT_SYMBOL(drm_gem_vram_driver_dumb_create);
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:03:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:03:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908554.1315678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts24R-0007w6-Hf; Tue, 11 Mar 2025 16:03:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908554.1315678; Tue, 11 Mar 2025 16:03: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 1ts24R-0007v6-9n; Tue, 11 Mar 2025 16:03:07 +0000
Received: by outflank-mailman (input) for mailman id 908554;
 Tue, 11 Mar 2025 16:03: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1x4-0007cO-M9
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:30 +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 40af4176-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:28 +0100 (CET)
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 E67E921189;
 Tue, 11 Mar 2025 15:55:01 +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 4DB9413AB8;
 Tue, 11 Mar 2025 15:55:01 +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 WAKtEdVc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:55: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>
X-Inumbo-ID: 40af4176-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708502; h=from:from:reply-to: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=znEgaoJc3whB81NdWhqaU1/ZxFvs0nB2ZHw9VGWt3TU=;
	b=i9V6keK5D5tMScIaefKnYXicbaEOiJkshMPyAmGvfk54kblhgKd4OvK2l/ZehT7HwdSnOY
	d6sm7p/zlAh9omq+8Y1imB8hwWtfR3hsm/zd0c5NjIulQOHUgm2droZzNIaKTRjuX8i1o+
	fbHTTGV1AJ7aaVhDzboR6DOQ/f2HVsM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708502;
	h=from:from:reply-to: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=znEgaoJc3whB81NdWhqaU1/ZxFvs0nB2ZHw9VGWt3TU=;
	b=qO/uAFhZOEoU7BC4ef46xNIuw7jVu2+6Df4h7YC9Ycjq/Ya10Uo6esq/wIa0AArjaHmxVS
	o+2C3WZRehFa9jBw==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708501; h=from:from:reply-to: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=znEgaoJc3whB81NdWhqaU1/ZxFvs0nB2ZHw9VGWt3TU=;
	b=gywqAFQyVYU2gwZaCARNoMvbqkvQzDE8gV2tlBRp11CQPNV/X3HbJjtIHMKcYyAk3T0l0H
	dZy4yiAnpPj4u/PxULqjG0LiVgGksWsOnNpxlMv2zP8kpS9fQjTi1ZdWf5T4hWFmHdtrgo
	JstOTl7/OtOMu8o/tnOr/vjTBXex/aY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708501;
	h=from:from:reply-to: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=znEgaoJc3whB81NdWhqaU1/ZxFvs0nB2ZHw9VGWt3TU=;
	b=+VeUcLxQ5ZNyVU2yhubik1aDZPNLl0HmRfl07UIHjdTa7tZYG2ptLEVeA4a7Y+SmJ+fD0R
	vOcGEGhN6WESg5BA==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Matthew Auld <matthew.auld@intel.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>,
	=?UTF-8?q?Thomas=20Hellstr=C3=B6m?= <thomas.hellstrom@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: [PATCH v4 23/25] drm/xe: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:27 +0100
Message-ID: <20250311155120.442633-24-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-1.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SUSPICIOUS_RECIPS(1.50)[];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_TWELVE(0.00)[25];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to(RLbwen1niosrcqbxsafh1),to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:mid,intel.com:email,imap1.dmz-prg2.suse.org:helo]
X-Spam-Score: -1.80
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch
and buffer size. Align the pitch to a multiple of 8. Align the
buffer size according to hardware requirements.

Xe's internal calculation allowed for 64-bit wide buffer sizes, but
the ioctl's internal checks always verified against 32-bit wide limits.
Hance, it is safe to limit the driver code to 32-bit calculations as
well.

v3:
- mention 32-bit calculation in commit description (Matthew)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: "Thomas HellstrĂśm" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/xe/xe_bo.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 64f9c936eea0..471aab61176e 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -9,6 +9,7 @@
 #include <linux/nospec.h>
 
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_gem_ttm_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/ttm/ttm_backup.h>
@@ -2910,14 +2911,13 @@ int xe_bo_dumb_create(struct drm_file *file_priv,
 	struct xe_device *xe = to_xe_device(dev);
 	struct xe_bo *bo;
 	uint32_t handle;
-	int cpp = DIV_ROUND_UP(args->bpp, 8);
 	int err;
 	u32 page_size = max_t(u32, PAGE_SIZE,
 		xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K ? SZ_64K : SZ_4K);
 
-	args->pitch = ALIGN(args->width * cpp, 64);
-	args->size = ALIGN(mul_u32_u32(args->pitch, args->height),
-			   page_size);
+	err = drm_mode_size_dumb(dev, args, SZ_64, page_size);
+	if (err)
+		return err;
 
 	bo = xe_bo_create_user(xe, NULL, NULL, args->size,
 			       DRM_XE_GEM_CPU_CACHING_WC,
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:03:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:03:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908576.1315695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts253-00016I-Rh; Tue, 11 Mar 2025 16:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908576.1315695; Tue, 11 Mar 2025 16:03: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 1ts253-00015f-OO; Tue, 11 Mar 2025 16:03:45 +0000
Received: by outflank-mailman (input) for mailman id 908576;
 Tue, 11 Mar 2025 16:03: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wc-0007cO-Lt
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:02 +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 31188533-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:02 +0100 (CET)
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 6CA3D1F38F;
 Tue, 11 Mar 2025 15:54:49 +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 D982D13AB8;
 Tue, 11 Mar 2025 15:54: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 iEjOM8hc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 31188533-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708489; 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=+NaxrZ58v7KbvSgmylUcHGu27OMC1B7uFqKMqZUAWsA=;
	b=1tmXxKit7PZAOPFsFJJbuZ/K1y3mDLpan/elzkN+eesYl607QGVH53LbvVxOB/IH1CGbrX
	W24cBAuafdgBp4QO23LucFNdIxmJ173XFh6QogfCDxN9vR8XY9bsdl2RkOKQUciX3e7zuz
	vUTaaClcMmy9b8oBMv5AX17FY1RdKwo=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708489;
	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=+NaxrZ58v7KbvSgmylUcHGu27OMC1B7uFqKMqZUAWsA=;
	b=LiqGsVTSa9Vy5ofjUJY9sbE4rFjvLUZSIgNSqOjRCiwv88MrnH5gAOQ9HVTUphuNPAWykV
	y1o0f7xKpyS1buCg==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708489; 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=+NaxrZ58v7KbvSgmylUcHGu27OMC1B7uFqKMqZUAWsA=;
	b=1tmXxKit7PZAOPFsFJJbuZ/K1y3mDLpan/elzkN+eesYl607QGVH53LbvVxOB/IH1CGbrX
	W24cBAuafdgBp4QO23LucFNdIxmJ173XFh6QogfCDxN9vR8XY9bsdl2RkOKQUciX3e7zuz
	vUTaaClcMmy9b8oBMv5AX17FY1RdKwo=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708489;
	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=+NaxrZ58v7KbvSgmylUcHGu27OMC1B7uFqKMqZUAWsA=;
	b=LiqGsVTSa9Vy5ofjUJY9sbE4rFjvLUZSIgNSqOjRCiwv88MrnH5gAOQ9HVTUphuNPAWykV
	y1o0f7xKpyS1buCg==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 03/25] drm/gem-dma: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:07 +0100
Message-ID: <20250311155120.442633-4-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:email,suse.de:mid];
	RCPT_COUNT_TWELVE(0.00)[21];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 8.

Push the current calculation into the only direct caller imx. Imx's
hardware requires the framebuffer width to be aligned to 8. The
driver's current approach is actually incorrect, as it only guarantees
this implicitly and requires bpp to be a multiple of 8 already. A
later commit will fix this problem by aligning the scanline pitch
such that an aligned width still fits into each scanline's memory.

A number of other drivers are build on top of gem-dma helpers and
implement their own dumb-buffer allocation. These drivers invoke
drm_gem_dma_dumb_create_internal(), which is not affected by this
commit.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/drm_gem_dma_helper.c     | 7 +++++--
 drivers/gpu/drm/imx/ipuv3/imx-drm-core.c | 2 ++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem_dma_helper.c b/drivers/gpu/drm/drm_gem_dma_helper.c
index b7f033d4352a..49be9b033610 100644
--- a/drivers/gpu/drm/drm_gem_dma_helper.c
+++ b/drivers/gpu/drm/drm_gem_dma_helper.c
@@ -20,6 +20,7 @@
 #include <drm/drm.h>
 #include <drm/drm_device.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_gem_dma_helper.h>
 #include <drm/drm_vma_manager.h>
 
@@ -304,9 +305,11 @@ int drm_gem_dma_dumb_create(struct drm_file *file_priv,
 			    struct drm_mode_create_dumb *args)
 {
 	struct drm_gem_dma_object *dma_obj;
+	int ret;
 
-	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-	args->size = args->pitch * args->height;
+	ret = drm_mode_size_dumb(drm, args, SZ_8, 0);
+	if (ret)
+		return ret;
 
 	dma_obj = drm_gem_dma_create_with_handle(file_priv, drm, args->size,
 						 &args->handle);
diff --git a/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c b/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c
index ec5fd9a01f1e..e7025df7b978 100644
--- a/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c
@@ -145,6 +145,8 @@ static int imx_drm_dumb_create(struct drm_file *file_priv,
 	int ret;
 
 	args->width = ALIGN(width, 8);
+	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
+	args->size = args->pitch * args->height;
 
 	ret = drm_gem_dma_dumb_create(file_priv, drm, args);
 	if (ret)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:03:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:03:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908578.1315704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts256-0001R2-3H; Tue, 11 Mar 2025 16:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908578.1315704; Tue, 11 Mar 2025 16:03: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 1ts256-0001Qt-07; Tue, 11 Mar 2025 16:03:48 +0000
Received: by outflank-mailman (input) for mailman id 908578;
 Tue, 11 Mar 2025 16:03: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wg-0007cO-G5
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:06 +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 334c25dc-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:05 +0100 (CET)
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 C0031210F4;
 Tue, 11 Mar 2025 15:54: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 1D8E5134A0;
 Tue, 11 Mar 2025 15:54: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 EFDqBc1c0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 334c25dc-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708493; 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=6tw141ERvTj50LMM/M8KRuOx9Sn2tlrGiZPGvM+A8Ag=;
	b=Jwl4sX6kXxeItzHyArdZjJP7IA6qaUp4n+foDwzodkDLB0hJxfU3370tM3oW4ymi1cofEj
	R+pv33HvmdfQ8IuVLekLuPwYLxOAqqKyUhQ5DYfO3wd2w8kSHBDqk+BYZs0jdYFauVuPs8
	Liu/V8SrRL3ct7JID1ufZywMouRoSvg=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708493;
	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=6tw141ERvTj50LMM/M8KRuOx9Sn2tlrGiZPGvM+A8Ag=;
	b=S5WziHdsVkgKJa6wizTP2mT+2VYrR9PCAqkiMQZv9mJrN997PPAsW1ShEDLOR8VZftOJZ5
	NMIpsEWTCgiA7sCQ==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708493; 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=6tw141ERvTj50LMM/M8KRuOx9Sn2tlrGiZPGvM+A8Ag=;
	b=Jwl4sX6kXxeItzHyArdZjJP7IA6qaUp4n+foDwzodkDLB0hJxfU3370tM3oW4ymi1cofEj
	R+pv33HvmdfQ8IuVLekLuPwYLxOAqqKyUhQ5DYfO3wd2w8kSHBDqk+BYZs0jdYFauVuPs8
	Liu/V8SrRL3ct7JID1ufZywMouRoSvg=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708493;
	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=6tw141ERvTj50LMM/M8KRuOx9Sn2tlrGiZPGvM+A8Ag=;
	b=S5WziHdsVkgKJa6wizTP2mT+2VYrR9PCAqkiMQZv9mJrN997PPAsW1ShEDLOR8VZftOJZ5
	NMIpsEWTCgiA7sCQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>
Subject: [PATCH v4 10/25] drm/imx/ipuv3: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:14 +0100
Message-ID: <20250311155120.442633-11-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.30
X-Spamd-Result: default: False [-1.30 / 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)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[pengutronix.de:email,suse.de:mid,suse.de:email,imap1.dmz-prg2.suse.org:helo];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_TWELVE(0.00)[26];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FREEMAIL_CC(0.00)[lists.freedesktop.org,lists.infradead.org,vger.kernel.org,lists.linux.dev,lists.xenproject.org,suse.de,pengutronix.de,kernel.org,gmail.com];
	FROM_HAS_DN(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. The hardware requires the framebuffer width to be a
multiple of 8. The scanline pitch has be large enough to support
this. Therefore compute the byte size of 8 pixels in the given color
mode and align the pitch accordingly.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
---
 drivers/gpu/drm/imx/ipuv3/imx-drm-core.c | 31 ++++++++++++++++++------
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c b/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c
index e7025df7b978..465b5a6ad5bb 100644
--- a/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/ipuv3/imx-drm-core.c
@@ -17,7 +17,9 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_fbdev_dma.h>
+#include <drm/drm_fourcc.h>
 #include <drm/drm_gem_dma_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
@@ -141,19 +143,32 @@ static int imx_drm_dumb_create(struct drm_file *file_priv,
 			       struct drm_device *drm,
 			       struct drm_mode_create_dumb *args)
 {
-	u32 width = args->width;
+	u32 fourcc;
+	const struct drm_format_info *info;
+	u64 pitch_align;
 	int ret;
 
-	args->width = ALIGN(width, 8);
-	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-	args->size = args->pitch * args->height;
-
-	ret = drm_gem_dma_dumb_create(file_priv, drm, args);
+	/*
+	 * Hardware requires the framebuffer width to be aligned to
+	 * multiples of 8. The mode-setting code handles this, but
+	 * the buffer pitch has to be aligned as well. Set the pitch
+	 * alignment accordingly, so that the each scanline fits into
+	 * the allocated buffer.
+	 */
+	fourcc = drm_driver_color_mode_format(drm, args->bpp);
+	if (fourcc == DRM_FORMAT_INVALID)
+		return -EINVAL;
+	info = drm_format_info(fourcc);
+	if (!info)
+		return -EINVAL;
+	pitch_align = drm_format_info_min_pitch(info, 0, SZ_8);
+	if (!pitch_align || pitch_align > U32_MAX)
+		return -EINVAL;
+	ret = drm_mode_size_dumb(drm, args, pitch_align, 0);
 	if (ret)
 		return ret;
 
-	args->width = width;
-	return ret;
+	return drm_gem_dma_dumb_create(file_priv, drm, args);
 }
 
 static const struct drm_driver imx_drm_driver = {
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:03:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:03:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908583.1315710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts256-0001UQ-Cl; Tue, 11 Mar 2025 16:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908583.1315710; Tue, 11 Mar 2025 16:03: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 1ts256-0001Ta-7Q; Tue, 11 Mar 2025 16:03:48 +0000
Received: by outflank-mailman (input) for mailman id 908583;
 Tue, 11 Mar 2025 16:03: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1xB-0007cO-7X
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:37 +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 45c438dd-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:36 +0100 (CET)
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 5D69D1F454;
 Tue, 11 Mar 2025 15:54:59 +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 B4C5413AB8;
 Tue, 11 Mar 2025 15:54:58 +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 cO/UKtJc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 45c438dd-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708499; h=from:from:reply-to: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=WWelbGgEbCkjP4y//d+vHYWhnPzSt4ULU4ovN7MHpM8=;
	b=SjvLLsHe3qdAudRrPrvpBK0EcmYh0ziskEqZ8i1KeyCbS8EoQF35cAWsAqAja7EffcDZb1
	fIEZJoPmJn+2dwknAWAyxuY1lRlE5OUWrPkCfw94F2oTZGJXbFUrDY5vLFhUGUjfOQfNKv
	FWAY5liILNKzPBENjIraE7hsoSqf4rQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708499;
	h=from:from:reply-to: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=WWelbGgEbCkjP4y//d+vHYWhnPzSt4ULU4ovN7MHpM8=;
	b=8JlPHdv8s9lKjhTcW1rII9sjGNksn1+b0e760I1x5NvI2xbQRT5vdls1e73VWOugZnQgmb
	nUuTB0vZ76vY93AQ==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708499; h=from:from:reply-to: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=WWelbGgEbCkjP4y//d+vHYWhnPzSt4ULU4ovN7MHpM8=;
	b=SjvLLsHe3qdAudRrPrvpBK0EcmYh0ziskEqZ8i1KeyCbS8EoQF35cAWsAqAja7EffcDZb1
	fIEZJoPmJn+2dwknAWAyxuY1lRlE5OUWrPkCfw94F2oTZGJXbFUrDY5vLFhUGUjfOQfNKv
	FWAY5liILNKzPBENjIraE7hsoSqf4rQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708499;
	h=from:from:reply-to: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=WWelbGgEbCkjP4y//d+vHYWhnPzSt4ULU4ovN7MHpM8=;
	b=8JlPHdv8s9lKjhTcW1rII9sjGNksn1+b0e760I1x5NvI2xbQRT5vdls1e73VWOugZnQgmb
	nUuTB0vZ76vY93AQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Heiko Stuebner <heiko@sntech.de>,
	Sandy Huang <hjc@rock-chips.com>,
	Andy Yan <andy.yan@rock-chips.com>
Subject: [PATCH v4 19/25] drm/rockchip: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:23 +0100
Message-ID: <20250311155120.442633-20-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-1.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SUSPICIOUS_RECIPS(1.50)[];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_TWELVE(0.00)[24];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6),to(RLbwen1niosrcqbxsafh1)];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DBL_BLOCKED_OPENRESOLVER(0.00)[sntech.de:email,rock-chips.com:email,imap1.dmz-prg2.suse.org:helo,suse.de:email,suse.de:mid]
X-Spam-Score: -1.80
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 64.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko StĂźbner" <heiko@sntech.de>
Cc: Andy Yan <andy.yan@rock-chips.com>
---
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
index 6330b883efc3..3bd06202e232 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
@@ -9,6 +9,7 @@
 #include <linux/vmalloc.h>
 
 #include <drm/drm.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_gem.h>
 #include <drm/drm_gem_dma_helper.h>
@@ -403,13 +404,12 @@ int rockchip_gem_dumb_create(struct drm_file *file_priv,
 			     struct drm_mode_create_dumb *args)
 {
 	struct rockchip_gem_object *rk_obj;
-	int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
+	int ret;
 
-	/*
-	 * align to 64 bytes since Mali requires it.
-	 */
-	args->pitch = ALIGN(min_pitch, 64);
-	args->size = args->pitch * args->height;
+	/* 64-byte alignment required by Mali */
+	ret = drm_mode_size_dumb(dev, args, SZ_64, 0);
+	if (ret)
+		return ret;
 
 	rk_obj = rockchip_gem_create_with_handle(file_priv, dev, args->size,
 						 &args->handle);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:04:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:04:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908601.1315724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts25d-0002qf-PL; Tue, 11 Mar 2025 16:04:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908601.1315724; Tue, 11 Mar 2025 16:04: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 1ts25d-0002qY-MZ; Tue, 11 Mar 2025 16:04:21 +0000
Received: by outflank-mailman (input) for mailman id 908601;
 Tue, 11 Mar 2025 16:04: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wc-0007cO-TD
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:02 +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 31435b6a-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:02 +0100 (CET)
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 C792E21184;
 Tue, 11 Mar 2025 15:54:51 +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 26F0213AB8;
 Tue, 11 Mar 2025 15:54:51 +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 INg2CMtc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 31435b6a-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708491; 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=jozy/v8NT0GN5TxtUOTLrsyJUrXwxRJ95fyMlLjn2VI=;
	b=g3Ls7I7FIen1uaVcHU6Rsl2I9tR6aOsR13j9ny3LzmW0NHUyY5EvlGe7WKYLhgYh9RSvaZ
	LAO/0T3TDe8DZMaLIVSF8IN6NnHYUWe9TEOGNaw6mte20cOrXjuMxqApyY3u5yX71a9ppp
	AgRFS18s6Nn6AxjzWPb5mSzigNwllvA=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708491;
	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=jozy/v8NT0GN5TxtUOTLrsyJUrXwxRJ95fyMlLjn2VI=;
	b=E9IoQL8K20XcmhzjBZW2qloGWQRLqH4KojwlEzry2bwUyJ81B1BkD2ne3tzqrQttpI16tr
	65djfHE6LlZRuaBQ==
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=g3Ls7I7F;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=E9IoQL8K
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708491; 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=jozy/v8NT0GN5TxtUOTLrsyJUrXwxRJ95fyMlLjn2VI=;
	b=g3Ls7I7FIen1uaVcHU6Rsl2I9tR6aOsR13j9ny3LzmW0NHUyY5EvlGe7WKYLhgYh9RSvaZ
	LAO/0T3TDe8DZMaLIVSF8IN6NnHYUWe9TEOGNaw6mte20cOrXjuMxqApyY3u5yX71a9ppp
	AgRFS18s6Nn6AxjzWPb5mSzigNwllvA=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708491;
	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=jozy/v8NT0GN5TxtUOTLrsyJUrXwxRJ95fyMlLjn2VI=;
	b=E9IoQL8K20XcmhzjBZW2qloGWQRLqH4KojwlEzry2bwUyJ81B1BkD2ne3tzqrQttpI16tr
	65djfHE6LlZRuaBQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Inki Dae <inki.dae@samsung.com>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Alim Akhtar <alim.akhtar@samsung.com>
Subject: [PATCH v4 07/25] drm/exynos: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:11 +0100
Message-ID: <20250311155120.442633-8-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: C792E21184
X-Spam-Level: 
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[26];
	DBL_BLOCKED_OPENRESOLVER(0.00)[samsung.com:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.de:email,suse.de:dkim,suse.de:mid];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc)];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.de:+];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. No alignment required.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_drm_gem.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index 4787fee4696f..ffa1c02b4b1e 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -11,6 +11,7 @@
 #include <linux/shmem_fs.h>
 #include <linux/module.h>
 
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_prime.h>
 #include <drm/drm_vma_manager.h>
 #include <drm/exynos_drm.h>
@@ -330,15 +331,16 @@ int exynos_drm_gem_dumb_create(struct drm_file *file_priv,
 	unsigned int flags;
 	int ret;
 
+	ret = drm_mode_size_dumb(dev, args, 0, 0);
+	if (ret)
+		return ret;
+
 	/*
 	 * allocate memory to be used for framebuffer.
 	 * - this callback would be called by user application
 	 *	with DRM_IOCTL_MODE_CREATE_DUMB command.
 	 */
 
-	args->pitch = args->width * ((args->bpp + 7) / 8);
-	args->size = args->pitch * args->height;
-
 	if (is_drm_iommu_supported(dev))
 		flags = EXYNOS_BO_NONCONTIG | EXYNOS_BO_WC;
 	else
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:04:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:04:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908606.1315736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts25h-0003EC-3C; Tue, 11 Mar 2025 16:04:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908606.1315736; Tue, 11 Mar 2025 16:04: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 1ts25g-0003E2-Tp; Tue, 11 Mar 2025 16:04:24 +0000
Received: by outflank-mailman (input) for mailman id 908606;
 Tue, 11 Mar 2025 16:04: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wn-0007cO-El
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:13 +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 378cbe4f-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:12 +0100 (CET)
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 0641121186;
 Tue, 11 Mar 2025 15:54:55 +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 5EB13134A0;
 Tue, 11 Mar 2025 15:54:54 +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 INPOFc5c0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15: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: 378cbe4f-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708495; 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=tXm1bKu+RAFYNAPsfae83e9nA9nFKyOAPYmeFOBwCto=;
	b=ha/wzD6kPdVqzgBow2Gp2uZcrtulOKI1xb9rS6AxvPRI4S8TP9xVt8dENg6/wouW201L0P
	a4N1iZ9/ve7vX6X1HeO1MqjO2zym8r79WGzh2tCtORBxfBdRv69GP7KOyUkjBFhaU+Iisc
	oDkVfC23XK/90ch06usgMsA8McrVgrw=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708495;
	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=tXm1bKu+RAFYNAPsfae83e9nA9nFKyOAPYmeFOBwCto=;
	b=j4/2sQSzG5q27M244BZbWhfxXeRBJ5+ZmEdSrVEdomuPUkPvKZzuwU3Q8zLI4feX1B4uMI
	/Q4odfpgh0+IHXBw==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708495; 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=tXm1bKu+RAFYNAPsfae83e9nA9nFKyOAPYmeFOBwCto=;
	b=ha/wzD6kPdVqzgBow2Gp2uZcrtulOKI1xb9rS6AxvPRI4S8TP9xVt8dENg6/wouW201L0P
	a4N1iZ9/ve7vX6X1HeO1MqjO2zym8r79WGzh2tCtORBxfBdRv69GP7KOyUkjBFhaU+Iisc
	oDkVfC23XK/90ch06usgMsA8McrVgrw=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708495;
	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=tXm1bKu+RAFYNAPsfae83e9nA9nFKyOAPYmeFOBwCto=;
	b=j4/2sQSzG5q27M244BZbWhfxXeRBJ5+ZmEdSrVEdomuPUkPvKZzuwU3Q8zLI4feX1B4uMI
	/Q4odfpgh0+IHXBw==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Chun-Kuang Hu <chunkuang.hu@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Subject: [PATCH v4 12/25] drm/mediatek: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:16 +0100
Message-ID: <20250311155120.442633-13-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[collabora.com:email,suse.de:email,suse.de:mid,imap1.dmz-prg2.suse.org:helo,pengutronix.de:email];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TAGGED_RCPT(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[25];
	FROM_EQ_ENVFROM(0.00)[];
	FREEMAIL_CC(0.00)[lists.freedesktop.org,lists.infradead.org,vger.kernel.org,lists.linux.dev,lists.xenproject.org,suse.de,kernel.org,pengutronix.de,gmail.com,collabora.com];
	FROM_HAS_DN(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 8.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
 drivers/gpu/drm/mediatek/mtk_gem.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_gem.c b/drivers/gpu/drm/mediatek/mtk_gem.c
index a172456d1d7b..21e08fabfd7f 100644
--- a/drivers/gpu/drm/mediatek/mtk_gem.c
+++ b/drivers/gpu/drm/mediatek/mtk_gem.c
@@ -8,6 +8,7 @@
 
 #include <drm/drm.h>
 #include <drm/drm_device.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_gem.h>
 #include <drm/drm_gem_dma_helper.h>
 #include <drm/drm_prime.h>
@@ -124,15 +125,9 @@ int mtk_gem_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
 	struct mtk_gem_obj *mtk_gem;
 	int ret;
 
-	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
-
-	/*
-	 * Multiply 2 variables of different types,
-	 * for example: args->size = args->spacing * args->height;
-	 * may cause coverity issue with unintentional overflow.
-	 */
-	args->size = args->pitch;
-	args->size *= args->height;
+	ret = drm_mode_size_dumb(dev, args, SZ_8, 0);
+	if (ret)
+		return ret;
 
 	mtk_gem = mtk_gem_create(dev, args->size, false);
 	if (IS_ERR(mtk_gem))
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:05:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:05:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908627.1315744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts26e-0004Ly-9d; Tue, 11 Mar 2025 16:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908627.1315744; Tue, 11 Mar 2025 16: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 1ts26e-0004Lr-6e; Tue, 11 Mar 2025 16:05:24 +0000
Received: by outflank-mailman (input) for mailman id 908627;
 Tue, 11 Mar 2025 16:05: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ts26c-0004LY-W7
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:05:22 +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 a2009fd3-fe92-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 17:05:21 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-ac2ab99e16eso394393766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 09:05:20 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2397358b8sm946097266b.109.2025.03.11.09.05.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 09:05: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: a2009fd3-fe92-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741709120; x=1742313920; 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=UzHd6iMMLXuYYCM1EzL52RSbRwWbnidC35UGy6Zl3PA=;
        b=O1lDBPoOnrNV39a0ABAq1dNM/HhbBfvA+FbNLqepapspGXThzMtpKC5bX1VwtTnLGA
         pLLO8H9S5uuExLLTsCjFByLeqmeqO9FZZl2yqZpdaGusN1LCZ44CIGNBdRo+vQYyZfUH
         OiwPdoKc0OxMty9br001gKqJ0H9egnO3zR5XpLxQKBGzOsWcUJk44+sjUs/uocBL8G8U
         Ia/RAxbc0bHK92IDtnE2c8CTpzEYJDCi8gbZEJnvEKUn0S0zY6i4hoc1NzaXbntuOQp3
         U5MPSINHruZ1Z/sb85tEpE/PDHgDHA80SXiWR8c22JHxzm4gwrCcDjJHd/jXaTsE+Fck
         zOkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741709120; x=1742313920;
        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=UzHd6iMMLXuYYCM1EzL52RSbRwWbnidC35UGy6Zl3PA=;
        b=fNWhjB18uhYmd631yoJbyB9AU6TYAz5vO5AkdPbdjVf+bn72+pDfbQJXzmConPcI6w
         rRbrW9ri+AwgCTtihkmemYW/q8kpTY/tDSjgpDpc/DZ52JtwCpVYSDGe+I+3B+yjTjsB
         o3FqLQzeLNnzklZmZAcnDWNTqQbKUCwWZ2/QyUw0Dp1n5Hf6ilA5jLO2VjQgQgJIp8Uf
         Y7hPGQiNsEOx9gbl70vg+Pro6AVd+XRpyDt+BQnxoEhJiw16E0z7JMuJ6X26D/eaRNMm
         bJez66LUohzGZnNPhbOyFHZFP/Dkvx8vzh7DRgM4rCENz5Tc8KOsHwm+ZcJWGyvRkqkB
         m88A==
X-Forwarded-Encrypted: i=1; AJvYcCWTQzsfu08+SCuCR7aJ34VRtHGol+/z2n9MO6/kTOL343Bh+MbKZwi5oZ3qHFCT7Gx8+t7EhgnbCfg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKMpPJfaeRtnLY7mzfiPqZ3aMhlMGLlOBMSR1leWxVV02fcW20
	kv/+h7M+qPE5GALZ2I8K6AnQX2v3H9hTCXd9NncEiZiQHDLYzvjD
X-Gm-Gg: ASbGncsk5wvzUEwo9hGq3sg2scL0uJ8aM+iTMi/EWIrwZQHJWbaixnnzsUn18oOs/wo
	vm1ICUBcebyF2GC3lDc8NTOs9TBj3/guW86OjjaXZGQAtEZeHMzJDAWPiOa0+It4UJCSB1kXoYG
	2nSHZxsPvZPJlfYjVz20xbwCKv8wPcpaocIWW2NLeffc61u9XRMPMQwr5jZgWCIWXQwgvGShnoP
	tcf0GGUKJkcW/3wsJ0GVXhYMVS80m7zNEJuHA/eV2lMC4dI+bb1HrspKoxK87o6qGRGY8awp2f0
	6FexHwGcU0wsd3so797fvzHo4E/Te0Qq3DCS0/x8rK1p7iQsRvW+qMe518TxR5M27g1gs8CAEcR
	X5VNyVudPLCIArGgaxxVi
X-Google-Smtp-Source: AGHT+IHPtH2YCe19JU0eMdlCRjXCcXvn7E3iKMqnC6VjbOd3ze9nqHs2bFU0fKZU3q0Gv+40cxVuZg==
X-Received: by 2002:a17:906:3a85:b0:ac2:7adb:ee3b with SMTP id a640c23a62f3a-ac27adbf21emr1301703066b.1.1741709119385;
        Tue, 11 Mar 2025 09:05:19 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------5lscqloy2ZpsvI6lomN0fsQK"
Message-ID: <5b22cfc5-f796-46bc-8cc4-090ab66d88b5@gmail.com>
Date: Tue, 11 Mar 2025 17:05:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/riscv: add H extenstion to -march
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <32ebe4032b7968157d5cadbc2f6aa1d9f2d363c9.1741707803.git.oleksii.kurochko@gmail.com>
 <c55c4f19-21e2-4115-b7f6-ba4752cc2e56@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <c55c4f19-21e2-4115-b7f6-ba4752cc2e56@suse.com>

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


On 3/11/25 4:48 PM, Jan Beulich wrote:
> On 11.03.2025 16:45, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/arch.mk
>> +++ b/xen/arch/riscv/arch.mk
>> @@ -9,7 +9,8 @@ riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
>>   riscv-march-$(CONFIG_RISCV_64) := rv64
>>   riscv-march-y += ima
>>   riscv-march-$(CONFIG_RISCV_ISA_C) += c
>> -riscv-march-y += _zicsr_zifencei_zbb
>> +h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)
> Instead of a version check, did you consider probing the compiler? With the
> hard-coded version, how are things going to work with Clang?

Initially, it was implemented using:

+$(h-extension-name)-insn := "hfence.gvma"
+$(call check-extension,$(h-extension-name))

with

+h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)

But it seems that we still need this hard-coded version for h-extension-name
because of this behavior that h extensions should be longer then single letter
for some compilers.

Probably, we could consider option to check "hfence.gvma" twice:
h-insn := "hfence.gvma"
$(call check-extension,h)

hh-insn := "hfence.gvma"
$(call check-extension,hh)

And filter-out/skip the second check-extension if the previous one check succeeded.
But it looks a weird.

~ Oleksii



--------------5lscqloy2ZpsvI6lomN0fsQK
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 3/11/25 4:48 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c55c4f19-21e2-4115-b7f6-ba4752cc2e56@suse.com">
      <pre wrap="" class="moz-quote-pre">On 11.03.2025 16:45, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -9,7 +9,8 @@ riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
 riscv-march-$(CONFIG_RISCV_64) := rv64
 riscv-march-y += ima
 riscv-march-$(CONFIG_RISCV_ISA_C) += c
-riscv-march-y += _zicsr_zifencei_zbb
+h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Instead of a version check, did you consider probing the compiler? With the
hard-coded version, how are things going to work with Clang?</pre>
    </blockquote>
    <pre>Initially, it was implemented using:</pre>
    <pre>+$(h-extension-name)-insn := "hfence.gvma"
+$(call check-extension,$(h-extension-name))</pre>
    <pre>with</pre>
    <pre>+h-extension-name := $(call cc-ifversion,-lt,1301, hh, h)</pre>
    <pre>But it seems that we still need this hard-coded version for h-extension-name
because of this behavior that h extensions should be longer then single letter
for some compilers.

Probably, we could consider option to check "hfence.gvma" twice:
h-insn := "hfence.gvma"
$(call check-extension,h)

hh-insn := "hfence.gvma"
$(call check-extension,hh)

And filter-out/skip the second check-extension if the previous one check succeeded.
But it looks a weird.

~ Oleksii



</pre>
  </body>
</html>

--------------5lscqloy2ZpsvI6lomN0fsQK--


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:05:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908639.1315755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts26s-0004lK-Jq; Tue, 11 Mar 2025 16:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908639.1315755; Tue, 11 Mar 2025 16:05: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 1ts26s-0004lD-Gj; Tue, 11 Mar 2025 16:05:38 +0000
Received: by outflank-mailman (input) for mailman id 908639;
 Tue, 11 Mar 2025 16:05: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wg-0007cO-8w
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:06 +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 33454903-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:05 +0100 (CET)
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 20B441F394;
 Tue, 11 Mar 2025 15:54:51 +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 8D0AD134A0;
 Tue, 11 Mar 2025 15:54:50 +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 uGUlIcpc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 33454903-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708491; 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=hvyGQVvG/Gr8G1BafpFDmLBDPMYzsWpx1f1tc2HrwAI=;
	b=tepoufunognjy90xS3nppaCSwnZ7oLR7Zn0XRgzXn8AosmwaJ6IQ0UfQkoyhjDljXC1uKD
	sRqjm/OsiAstSPs0MAGQV9Jsw9rba2EtiIKoRPaC5WuiCf8rPBWiBQT+AbS4rb7FMY3czw
	2VlI67tCsPBGryS+Oaxh5LGx82/MB7I=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708491;
	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=hvyGQVvG/Gr8G1BafpFDmLBDPMYzsWpx1f1tc2HrwAI=;
	b=OfCFEZ+Frrl/5DJj9fTTIYXz5LFodSlpQtjLSXfiflwK6MEYvoa+/n+B0pccF9fGqe06Fv
	x7XGipQhFsSbx+DQ==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=tepoufun;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=OfCFEZ+F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708491; 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=hvyGQVvG/Gr8G1BafpFDmLBDPMYzsWpx1f1tc2HrwAI=;
	b=tepoufunognjy90xS3nppaCSwnZ7oLR7Zn0XRgzXn8AosmwaJ6IQ0UfQkoyhjDljXC1uKD
	sRqjm/OsiAstSPs0MAGQV9Jsw9rba2EtiIKoRPaC5WuiCf8rPBWiBQT+AbS4rb7FMY3czw
	2VlI67tCsPBGryS+Oaxh5LGx82/MB7I=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708491;
	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=hvyGQVvG/Gr8G1BafpFDmLBDPMYzsWpx1f1tc2HrwAI=;
	b=OfCFEZ+Frrl/5DJj9fTTIYXz5LFodSlpQtjLSXfiflwK6MEYvoa+/n+B0pccF9fGqe06Fv
	x7XGipQhFsSbx+DQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Russell King <linux@armlinux.org.uk>
Subject: [PATCH v4 06/25] drm/armada: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:10 +0100
Message-ID: <20250311155120.442633-7-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 20B441F394
X-Spam-Score: -1.51
X-Rspamd-Action: no action
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	RCPT_COUNT_TWELVE(0.00)[22];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	ARC_NA(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.de:dkim,suse.de:mid,suse.de:email];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.de:+];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 128.

v4:
- align pitch to 128 bytes (Russell)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Russell King <linux@armlinux.org.uk>
---
 drivers/gpu/drm/armada/armada_gem.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
index 1a1680d71486..a767c4edd5c8 100644
--- a/drivers/gpu/drm/armada/armada_gem.c
+++ b/drivers/gpu/drm/armada/armada_gem.c
@@ -9,6 +9,7 @@
 #include <linux/shmem_fs.h>
 
 #include <drm/armada_drm.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_prime.h>
 
 #include "armada_drm.h"
@@ -244,14 +245,13 @@ int armada_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
 	struct drm_mode_create_dumb *args)
 {
 	struct armada_gem_object *dobj;
-	u32 handle;
-	size_t size;
 	int ret;
 
-	args->pitch = armada_pitch(args->width, args->bpp);
-	args->size = size = args->pitch * args->height;
+	ret = drm_mode_size_dumb(dev, args, SZ_128, 0);
+	if (ret)
+		return ret;
 
-	dobj = armada_gem_alloc_private_object(dev, size);
+	dobj = armada_gem_alloc_private_object(dev, args->size);
 	if (dobj == NULL)
 		return -ENOMEM;
 
@@ -259,14 +259,12 @@ int armada_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
 	if (ret)
 		goto err;
 
-	ret = drm_gem_handle_create(file, &dobj->obj, &handle);
+	ret = drm_gem_handle_create(file, &dobj->obj, &args->handle);
 	if (ret)
 		goto err;
 
-	args->handle = handle;
-
 	/* drop reference from allocate - handle holds it now */
-	DRM_DEBUG_DRIVER("obj %p size %zu handle %#x\n", dobj, size, handle);
+	DRM_DEBUG_DRIVER("obj %p size %llu handle %#x\n", dobj, args->size, args->handle);
  err:
 	drm_gem_object_put(&dobj->obj);
 	return ret;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:05:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908640.1315761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts26s-0004og-UB; Tue, 11 Mar 2025 16:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908640.1315761; Tue, 11 Mar 2025 16:05: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 1ts26s-0004oW-Og; Tue, 11 Mar 2025 16:05:38 +0000
Received: by outflank-mailman (input) for mailman id 908640;
 Tue, 11 Mar 2025 16:05: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1x0-0007cO-Kx
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:26 +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 3ef8ea1e-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:25 +0100 (CET)
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 7CD8E1F452;
 Tue, 11 Mar 2025 15:54:57 +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 E30DA134A0;
 Tue, 11 Mar 2025 15:54:56 +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 oEspNtBc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15: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: 3ef8ea1e-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708497; 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=Y2QvY6PVclanBPN/7E5Tf5uByFFYe3OXaJ8iZr7ZrX8=;
	b=2Pn7PJ2erySVEjfwNvLRkBYt07s+rg12O+wHz5Kx8n9OJ4WW2HOxkYf/OMOxfhdB1XJ7h5
	+uSJXyzsnpxLT4idjsuZyWyDqBbx4zDzq7/4gewGRBb00dc6rnulW9wHINERup9rI3MchY
	bPgR5ip6GxUBKWhTeBPaZt4f5GuJK5g=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708497;
	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=Y2QvY6PVclanBPN/7E5Tf5uByFFYe3OXaJ8iZr7ZrX8=;
	b=G9+zCNxDECef7LxTOmra0fbhNMbTZjVoaNkDoL7lLArKtpIcQIfa2clFEm/eAGymus64VK
	nPDfD+mTu5UqnLBQ==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=2Pn7PJ2e;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=G9+zCNxD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708497; 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=Y2QvY6PVclanBPN/7E5Tf5uByFFYe3OXaJ8iZr7ZrX8=;
	b=2Pn7PJ2erySVEjfwNvLRkBYt07s+rg12O+wHz5Kx8n9OJ4WW2HOxkYf/OMOxfhdB1XJ7h5
	+uSJXyzsnpxLT4idjsuZyWyDqBbx4zDzq7/4gewGRBb00dc6rnulW9wHINERup9rI3MchY
	bPgR5ip6GxUBKWhTeBPaZt4f5GuJK5g=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708497;
	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=Y2QvY6PVclanBPN/7E5Tf5uByFFYe3OXaJ8iZr7ZrX8=;
	b=G9+zCNxDECef7LxTOmra0fbhNMbTZjVoaNkDoL7lLArKtpIcQIfa2clFEm/eAGymus64VK
	nPDfD+mTu5UqnLBQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Dave Airlie <airlied@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: [PATCH v4 16/25] drm/qxl: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:20 +0100
Message-ID: <20250311155120.442633-17-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 7CD8E1F452
X-Spam-Level: 
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[23];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:dkim,suse.de:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc),to(RLbwen1niosrcqbxsafh1)];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.de:+];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch
and buffer size. No alignment required.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
---
 drivers/gpu/drm/qxl/qxl_dumb.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c
index 17df5c7ccf69..1200946767ce 100644
--- a/drivers/gpu/drm/qxl/qxl_dumb.c
+++ b/drivers/gpu/drm/qxl/qxl_dumb.c
@@ -23,6 +23,8 @@
  *          Alon Levy
  */
 
+#include <drm/drm_dumb_buffers.h>
+
 #include "qxl_drv.h"
 #include "qxl_object.h"
 
@@ -35,14 +37,13 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
 	struct qxl_device *qdev = to_qxl(dev);
 	struct qxl_bo *qobj;
 	struct drm_gem_object *gobj;
-	uint32_t handle;
 	int r;
 	struct qxl_surface surf;
-	uint32_t pitch, format;
+	u32 format;
 
-	pitch = args->width * ((args->bpp + 1) / 8);
-	args->size = pitch * args->height;
-	args->size = ALIGN(args->size, PAGE_SIZE);
+	r = drm_mode_size_dumb(dev, args, 0, 0);
+	if (r)
+		return r;
 
 	switch (args->bpp) {
 	case 16:
@@ -57,20 +58,18 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
 
 	surf.width = args->width;
 	surf.height = args->height;
-	surf.stride = pitch;
+	surf.stride = args->pitch;
 	surf.format = format;
 	surf.data = 0;
 
 	r = qxl_gem_object_create_with_handle(qdev, file_priv,
 					      QXL_GEM_DOMAIN_CPU,
 					      args->size, &surf, &gobj,
-					      &handle);
+					      &args->handle);
 	if (r)
 		return r;
 	qobj = gem_to_qxl_bo(gobj);
 	qobj->is_dumb = true;
 	drm_gem_object_put(gobj);
-	args->pitch = pitch;
-	args->handle = handle;
 	return 0;
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:11:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908663.1315775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2C1-0007Ag-GW; Tue, 11 Mar 2025 16:10:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908663.1315775; Tue, 11 Mar 2025 16:10: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 1ts2C1-0007AZ-D4; Tue, 11 Mar 2025 16:10:57 +0000
Received: by outflank-mailman (input) for mailman id 908663;
 Tue, 11 Mar 2025 16:10: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1x6-0007cO-Mb
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:32 +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 4124655c-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:29 +0100 (CET)
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 210B21F453;
 Tue, 11 Mar 2025 15:54:58 +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 837F613AB8;
 Tue, 11 Mar 2025 15:54:57 +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 sO7OHtFc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15: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: 4124655c-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708498; 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=AB8wMKRSFa37rkxTzoFY+ZlxvSGomgdDpAQ/iG8GVqM=;
	b=LA8DoHTy3GWt6lUCKEnn6gFP+I+5vcXDrPfCdIIiP5GYy5IC7wO3ItBQa6h6uVUX2V9CTr
	Xb2v1jfYUKX3CXWBcpRz9njGLd8YNzPLM4aX62GXRKtL6IzwU2m881OyGjkSHcyuLPvNwZ
	Ov6mi2/hOV0Edc9922qQJvNQGNSkBBI=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708498;
	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=AB8wMKRSFa37rkxTzoFY+ZlxvSGomgdDpAQ/iG8GVqM=;
	b=9j5/PNeAwlT/tvDIo/3xT+8WdNBdKnk5GFYRCP40qaRKFKHFqRNx8w+YKt3WcQ/8Qj6aAG
	CQwk6GK6gWJXqKDQ==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=LA8DoHTy;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b="9j5/PNeA"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708498; 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=AB8wMKRSFa37rkxTzoFY+ZlxvSGomgdDpAQ/iG8GVqM=;
	b=LA8DoHTy3GWt6lUCKEnn6gFP+I+5vcXDrPfCdIIiP5GYy5IC7wO3ItBQa6h6uVUX2V9CTr
	Xb2v1jfYUKX3CXWBcpRz9njGLd8YNzPLM4aX62GXRKtL6IzwU2m881OyGjkSHcyuLPvNwZ
	Ov6mi2/hOV0Edc9922qQJvNQGNSkBBI=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708498;
	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=AB8wMKRSFa37rkxTzoFY+ZlxvSGomgdDpAQ/iG8GVqM=;
	b=9j5/PNeAwlT/tvDIo/3xT+8WdNBdKnk5GFYRCP40qaRKFKHFqRNx8w+YKt3WcQ/8Qj6aAG
	CQwk6GK6gWJXqKDQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Subject: [PATCH v4 17/25] drm/renesas/rcar-du: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:21 +0100
Message-ID: <20250311155120.442633-18-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 210B21F453
X-Spam-Level: 
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.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[23];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.de:email,suse.de:dkim,suse.de:mid];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TAGGED_RCPT(0.00)[renesas];
	RCVD_COUNT_TWO(0.00)[2];
	R_RATELIMIT(0.00)[to_ip_from(RLqtkr6cif1ebgurukgmwdm7xc),to(RLbwen1niosrcqbxsafh1)];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.de:+];
	FROM_EQ_ENVFROM(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch according to hardware requirements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
---
 drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
index 70d8ad065bfa..32c8307da522 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
@@ -11,6 +11,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_device.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_dma_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
@@ -407,8 +408,8 @@ int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev,
 			struct drm_mode_create_dumb *args)
 {
 	struct rcar_du_device *rcdu = to_rcar_du_device(dev);
-	unsigned int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
 	unsigned int align;
+	int ret;
 
 	/*
 	 * The R8A7779 DU requires a 16 pixels pitch alignment as documented,
@@ -419,7 +420,9 @@ int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev,
 	else
 		align = 16 * args->bpp / 8;
 
-	args->pitch = roundup(min_pitch, align);
+	ret = drm_mode_size_dumb(dev, args, align, 0);
+	if (ret)
+		return ret;
 
 	return drm_gem_dma_dumb_create_internal(file, dev, args);
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:11:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:11:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908664.1315780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2C1-0007Ds-Om; Tue, 11 Mar 2025 16:10:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908664.1315780; Tue, 11 Mar 2025 16:10: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 1ts2C1-0007Di-Kv; Tue, 11 Mar 2025 16:10:57 +0000
Received: by outflank-mailman (input) for mailman id 908664;
 Tue, 11 Mar 2025 16:10: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1xA-0008RK-SW
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4447311a-fe91-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 16:55:34 +0100 (CET)
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 23CC02118B;
 Tue, 11 Mar 2025 15:55:03 +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 8533F13AB8;
 Tue, 11 Mar 2025 15:55:02 +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 qCY1H9Zc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:55: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: 4447311a-fe91-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708503; 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=Rf5dFpikKn5c3GIrBSRRcQu3Wk8DqddBNdtAqBZYLZM=;
	b=t1dpIHSnrqZECTpEd+UQCMQ3F/48i/4XO5nRl9ubGbks3GPoT/Eeiba3sq2UK9xMKJoB1l
	U/abKclaN4reyQImvyg1rfFVn/qKr4cmSi2kDE1+zx5W7qLNGMsJGc3SoKF0p5gCo4nqEn
	CjQfFTRd21RBnVgqGuUd8Lpngff7ZpM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708503;
	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=Rf5dFpikKn5c3GIrBSRRcQu3Wk8DqddBNdtAqBZYLZM=;
	b=5ktR/K8D6OHZhut2hSWsmTlNgnHxixVaGxtP1u5MUSk7TW4N4mKLSiIIL/wzS6N/ePsrlr
	ZW5ElZzsmr8tGbCA==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708503; 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=Rf5dFpikKn5c3GIrBSRRcQu3Wk8DqddBNdtAqBZYLZM=;
	b=t1dpIHSnrqZECTpEd+UQCMQ3F/48i/4XO5nRl9ubGbks3GPoT/Eeiba3sq2UK9xMKJoB1l
	U/abKclaN4reyQImvyg1rfFVn/qKr4cmSi2kDE1+zx5W7qLNGMsJGc3SoKF0p5gCo4nqEn
	CjQfFTRd21RBnVgqGuUd8Lpngff7ZpM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708503;
	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=Rf5dFpikKn5c3GIrBSRRcQu3Wk8DqddBNdtAqBZYLZM=;
	b=5ktR/K8D6OHZhut2hSWsmTlNgnHxixVaGxtP1u5MUSk7TW4N4mKLSiIIL/wzS6N/ePsrlr
	ZW5ElZzsmr8tGbCA==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: [PATCH v4 25/25] drm/xlnx: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:29 +0100
Message-ID: <20250311155120.442633-26-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:mid,imap1.dmz-prg2.suse.org:helo];
	RCPT_COUNT_TWELVE(0.00)[22];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6),to(RLbwen1niosrcqbxsafh1)];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch according to hardware requirements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---
 drivers/gpu/drm/xlnx/zynqmp_kms.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_kms.c b/drivers/gpu/drm/xlnx/zynqmp_kms.c
index b47463473472..7ea0cd4f71d3 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_kms.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_kms.c
@@ -19,6 +19,7 @@
 #include <drm/drm_crtc.h>
 #include <drm/drm_device.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_encoder.h>
 #include <drm/drm_fbdev_dma.h>
 #include <drm/drm_fourcc.h>
@@ -363,10 +364,12 @@ static int zynqmp_dpsub_dumb_create(struct drm_file *file_priv,
 				    struct drm_mode_create_dumb *args)
 {
 	struct zynqmp_dpsub *dpsub = to_zynqmp_dpsub(drm);
-	unsigned int pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
+	int ret;
 
 	/* Enforce the alignment constraints of the DMA engine. */
-	args->pitch = ALIGN(pitch, dpsub->dma_align);
+	ret = drm_mode_size_dumb(drm, args, dpsub->dma_align, 0);
+	if (ret)
+		return ret;
 
 	return drm_gem_dma_dumb_create_internal(file_priv, drm, args);
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:11:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908677.1315795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2CQ-00086N-49; Tue, 11 Mar 2025 16:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908677.1315795; Tue, 11 Mar 2025 16:11: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 1ts2CQ-00086G-04; Tue, 11 Mar 2025 16:11:22 +0000
Received: by outflank-mailman (input) for mailman id 908677;
 Tue, 11 Mar 2025 16:11: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=0SOU=V6=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1ts2CO-0007gU-Be
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:11:20 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 753d54e2-fe93-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 17:11:15 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PAXPR03MB7617.eurprd03.prod.outlook.com (2603:10a6:102:1d8::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 16:11: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%4]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 16:11: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: 753d54e2-fe93-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WgRUhXU2T6P6C6sHx70BBwdjBPUrH+TNAaCM+izVP2wuiL9iw2dXmFKS4waJsubT1yb8XY9GDW3ZVuDjcTm9FGFTBi9fPvlzhznkv8hUX9ttZV1NPDxVGyu3B4qARkCw04XZTxEGUZxAjvts4rzdqZwWYXdnETOewvR/Si2vnMAmJAjIiP1yQFVP+/ZEFJcG8GFYXYD6sDD8eJbWThpRusHwh2xvNo3VJdO276GEAOgS8zLqS/px37ZYxVTuCDEgzt/RrIkn9T6cXDJp/NaO0/Ii/NMC3MrzadSaEIQ/lYmNZKnfYJrBfy78UUOOclb6VxUIPeYJ8ni/TAr2l+j+7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/Rpomn/r+Ds019ajq2ernrgn2VW5Z5LjCdgBh5Xzu8=;
 b=hgSoWxSm5hTRD7MLHSPYH99lRwzIc5ZTqkpJBCMigdGMR+DIbUUAgPdwhjnA3iP+Z3VD+tqCsx6tWA3dnpYqZXJy/g9Lu7Xe4Gxq6izK0hC4f9FrbzTz/lIrjZMBZH7V/KvsRvhA5vS1T21QxkenCqMfpwRL9XRwdhZADv2f9oqZ5vOXsgSrHR4jE06cy737nhNhVSZUnnp7dwKjaowrkGe9kcxD0QWxSZfUy/beodldCZoxiSm28R1ZyOtjejGOQM7upatbh7bXAw824utQXin+sH9UHE4icqU8UpJBQKZ7qcEiVLDeYPlEAmCsw6uSiFHx2Ruvb//GkQq1ta/BTQ==
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=H/Rpomn/r+Ds019ajq2ernrgn2VW5Z5LjCdgBh5Xzu8=;
 b=hlDmPWlLgEkxWklsGJ9No5pSQKGpiHYmy+3ogUk4ftRfIgxCKTbsXT1eyGT/lExdX8uVA+kmyf2CTXC/Ib4nVLwgj002QRtABytduEUA74Aa4AWInmZ8Gp+uF4KEegkm+/N2IKeO7AE5DDmPRBQrneQkdYCIpZrR85VKB8KEf50VbbZdG0IcOV1reUddj96dSfSf93E/BJVrfNxM4LeAWA3+ldPoQ4AizmlEjMoPPBbHerKYMeIcO6pznoIj3KccNjmLRHDCk/aGKevBWlHABYTGMhWBg4fDJrkMe3F3NTKv2aEU8YNGzr7h7VUFGnGakSA+lxe2WvIYHXXjGvB+mg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <49e28768-3b9e-42da-922b-64b0bf8dec34@epam.com>
Date: Tue, 11 Mar 2025 18:11:10 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/iocap.h: add documentation
To: Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <20250224113828.151794-1-grygorii_strashko@epam.com>
 <83d5d612-2f6a-430a-8aee-4738f43204e0@suse.com>
 <d7fe19f2-f8ac-497a-833e-44a04e1ca4c7@epam.com>
 <60eff646-724f-4ff9-9dde-3a7f9a1da66a@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <60eff646-724f-4ff9-9dde-3a7f9a1da66a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
X-ClientProxiedBy: FR2P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::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_|PAXPR03MB7617:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b2cd462-3be7-4c65-811f-08dd60b7580e
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?Tk5JVHVxeExkTGYwL0oyKzlJa2t4SklVMjFOREFtTjhRbHl3MHZhT05rRkhB?=
 =?utf-8?B?U1JnQmJpRVl3Ryt1QmRyQmd5TzI1WmJrUGdMMFNtNFVIWC9PeDliVnpGWWQx?=
 =?utf-8?B?NDUvbzlzRWxSSk9TKzZMemExbTNPc3FYaHgwM1lkMTZrQXU0S2piWFNVMEgx?=
 =?utf-8?B?ZXk0Q1JKZzdoTStVV3haZWl6UVhma010MCsxOUlHNTJKc2dET2tVYXBoc01S?=
 =?utf-8?B?dlhOSDlySjRLenkxQityRHQ4WTJjSkp1ZEdQRTVnVlBXWjhJcnptNzFuWnVp?=
 =?utf-8?B?NEhteTBmd01ZaUhvWmdmc3M3d2lwM0hKR1JXbWZjL3FIYXc4cDlhd1dVNmV4?=
 =?utf-8?B?WU55THloS05nSmNzNEZZZElLU3BDU1h0UWhjcHovZmFXZHZkTzZYYUd2YlZt?=
 =?utf-8?B?QmYvQWVFVWdEQ1hvODNZR01nSnkyR1h2V3hUdDlsRkxnamJ1Nk5ZckM2dE5o?=
 =?utf-8?B?bzh3eXpXWnZsL295aVorRk02UTJ3d2FWMEFuMTFNeUoxczJqVEZXcGdaVWpI?=
 =?utf-8?B?bW1hZ1Y2SHNIK0QvL2NWNGxtM3ZsRjJ5Y3lpREFMeFQzWWE5Ym1LSDYwSVpv?=
 =?utf-8?B?NTR3RTlMeUtEMzBzdTJxWUtUT09tMERkUXNKZFRqbE5KTTcwNnpnOGpaWXYv?=
 =?utf-8?B?QVZ2RVd5WVcyeUNtVnlPWUMvSTZjRUc5UWtlaDQ4bzYvTEtnSnhPNDVGaG5i?=
 =?utf-8?B?ZWhlNGpmZlhvZDFJRVZvLzBXdFRkQlFsbkRMZkJzVEM3ZW43bElpUVdtUDNO?=
 =?utf-8?B?aWJranNSazl2ck1QOTl6QTJjS21VMnZ1WkxYV0wzNURTM21Zeit0T0FSRGRR?=
 =?utf-8?B?Z1ZjV0g0U3JGNlY5SDU5eWQzTEp0NGl0cjFYelVJQU1LZWlCTmxKVytzN3Bz?=
 =?utf-8?B?MzVlNThWNjZRU0pXQ2R6dUlKZENvRWZla3FKMFpFcnBEbnF3bFNCUUtOOVg1?=
 =?utf-8?B?TGZQemNBUGlScm9pMmtkMTRLRXhnc2Y2ZVhiaEhSKzNaY0VYbmttNjFEYkhO?=
 =?utf-8?B?NmYzbktEdHlHZmg3YzMrUk1FWFhoS0JzaTdpUW04b01NNXdMNFRwdDR0NGxF?=
 =?utf-8?B?NkdOc3dxNFo1aVFVKy9lbjhkcXdhRzZTUnV4ckQ2aklNNzdKNjJZSkpoaDVO?=
 =?utf-8?B?enpVTEc3VHE3NHV1TVNaRFJYNForemxUQmtma2haNDQxNURpZ1F3NUw0aXVm?=
 =?utf-8?B?ZFlzdVpZd0pUdk50NFVYaWxWT3J5a004MC9mTzk3WEdUUSttcFlzQldJbXl2?=
 =?utf-8?B?cklBUEhjcXQ3bnNvMjQ4ZTc5aC90aEd1ZkpLbVo0NFlvMW1VcDIrTUhUVFIy?=
 =?utf-8?B?MXJhaHFPakEyUkRiRUY0YnBtbk1UVWs1clJsSTZJb1dXQkVja01jMDArNTdJ?=
 =?utf-8?B?ZTNTWTdlZE4xSU5lT3dOWFJITHBpampkdWZxWndiT3ZnNDgzRkhDaHlRRkVD?=
 =?utf-8?B?d1h1Z1NYQktrNW5WNUltWnRxREluTjZzOWlwT2djbG5VQU1YeFpCRHdqbFJJ?=
 =?utf-8?B?UWNHU2lTakpvbmFpL0hMTWt4TDFibXBKYWYxU0grZUZUbUtjNEM2Yldsalk2?=
 =?utf-8?B?UGo3UWNhN2ZSdmZGekNIUms5YWpKRk9yYjY2K0daOXo2QkR3Sy90OWRhd1B0?=
 =?utf-8?B?WHVQVDhyVDVydG1nR3JZNm5HREt2R25YUkI2bzYySjRVcnhTR2hTcFFtU2l0?=
 =?utf-8?B?TGFxZmovbnJ4bEJJdDNPZWNmZEhQMkJvVHozVm92MzNsRUJyOTk2TVF2RVgy?=
 =?utf-8?B?Tnc2T3hXdmhNM0xwVzNjOXQrbUs0Tk9qaFQ0Siszb201MmN6NU96WU5FUk5l?=
 =?utf-8?B?ZVFkQmtmeENMQVF3Zk9ZVlNacFBqWFQ2YnNoeTNKazVJRWJwd1FWMkhweXNO?=
 =?utf-8?Q?KssihsJhtf4+u?=
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?YkQ5RHNLUE9oTWU2Y2NnWGpVWDJ5UGVSN2N0djEzWnRkdkh5cWxDNmQ2VHlp?=
 =?utf-8?B?cm8wSUE0Mit1N01YRldUOUN4ZlIwKzhLK3VRZnNGbHdQWDRWcTg3UzdxQkZj?=
 =?utf-8?B?MW9aOC9nWm8vN1FFVWRjYjVPUHNaNEt1SzVzbllWcmZhV1gxcUlOejhJcVVO?=
 =?utf-8?B?cnh3OTRndGhPbmdCMmdkRGdNKzBobXhoQVdQYzZQNldMM0RxUlBKTDNyaDJE?=
 =?utf-8?B?RzBWODVZTGRlUTZIeTMwTXJJUEdpSmE2YWxxNDE1MzIzQVJxVExDb3o1MTNw?=
 =?utf-8?B?MUUzOWNacnNSWWlJTHVDWDZFZHZ6UjhIRGFOVlNFdDk0RVBBazJ6eU1JNmpW?=
 =?utf-8?B?T0pMQmVlRXlPVlM5TGNYaHB4Nklrb3diNmtTaTVHazEwc2pSV3dmN05iMCtG?=
 =?utf-8?B?VnpRY25qcU9OaEt1cWlwRGRvUUJXc2ZTQ0ZEejUyMkdoUlk3dHd3K1hRS3Rk?=
 =?utf-8?B?dzJicldJS1YvWjNNakJpanNzNnpOU0pFdm1JcDdLSFB2L2ZoVTZ6dVpianlr?=
 =?utf-8?B?OWNFUUtsVHROMTBUN3IySU1TV2hPVUxDRGZ1c00zMldNRUpwQW40SWhtUVR5?=
 =?utf-8?B?OWFsMEE4UHNUNzdBQVV2MUtiZDV6WU5URFc1eTg0cFZISVZHd1B0N25RNmxF?=
 =?utf-8?B?T3dhU1NuZUxtNThsb0JDMmZDY2tXSytNUktzSjAxdTlYMHh5akIxVEI5cGhT?=
 =?utf-8?B?bHgvZS8rUldiYkoxcUlvVmR2UWt4ZWJIbkFZRi9jRDhVQUFnZHlHeGwyTVRK?=
 =?utf-8?B?TUVMTkRZSm5MQ3M0WVRKeGIwU0krRXNZdEZjamdFQzMyMFFQVXA5UWN4eGNu?=
 =?utf-8?B?QmNMcnhrcFphZG9TOVU3aTY0MVgzQyt4U3BVRFZYcUl1RFJmcTJqcXFBeGNT?=
 =?utf-8?B?QS82dmMwcWhBME5JQjFHWG10aUZRbUtpNXo4c1AydVN2dm5HekczbUsxN3Nr?=
 =?utf-8?B?bnNobXRyUXBqdG1IMHdoY3E0aEtkUENOQ1E4cHF1OGI2aWpWdStFaW1lWTN1?=
 =?utf-8?B?TjZzcXJDckFzNU9ZVU1ONmtHZnlXdlU4S2RWcmNpSWI2bG9CZjlwS0I3T3U4?=
 =?utf-8?B?eXQ2dlpCYUQrSTlGWHdCZ3hCM0Q0Q1kwaEJtR1BENWdYOHpFQXpRa3FLZ3hO?=
 =?utf-8?B?amwrMCtvMDBBeFJldExnSDFrcG91ME5GRDBmSGg1YUhmOEV2KzRRNkNUVStO?=
 =?utf-8?B?VTJHcW1IRG1CcnFvQjNoTzlLWjZ0Mjc0UTlHR3N3ZXBjOWt1QksxREllTXFz?=
 =?utf-8?B?TXJIcmtVZWNrbjZxTFMrVXlISlRxUVlrck1Va1I5WnREeHRKNit5QlBFMEJj?=
 =?utf-8?B?WTRxU1ZHNWJ4ek1pVEdWVk1vcUxnSFplc0l3eVVyMW5PeVE4cEZrbnFjUEpl?=
 =?utf-8?B?alZIWDRKRUJmN1RId3BocG95OVZVbUIydm1EbVNlNU9EMUJ1V3kxY2w0TEhJ?=
 =?utf-8?B?TkVaZHVyNXlwcmt3QlUxaG1UY1Z3R1hLMnYwWmNwc1BVRXVvUGtrVytqZnJP?=
 =?utf-8?B?Y3grUktTWkJmSFV4WmxTTWlJL3lzWjR6QWxqck9RL1Uxa3F6TmppOVh1V1dj?=
 =?utf-8?B?L1dUTUZSaEx6Tk5uQldvakdpWFd6OGJ6ODJJWmpETGhaeW5Xa3R6aW50TVMr?=
 =?utf-8?B?OXU4L0EvZmFuZFg3bGxlV1FmYk52My93NXJBelJsQ2ZBOFQ0UjRIWElOWGx5?=
 =?utf-8?B?aFhNengxakw0aFhtQVcwL25lTjJxeStIOWRmRWJDQ291NzJOQkxTV2NrbmFs?=
 =?utf-8?B?OVd2WitsVXNreldwekhqWWdTQ1F3RHEwVnl2eGhiTmZ5TmJTMHRkRW9PNnhM?=
 =?utf-8?B?Q2Nod1RYUEI2OTBMam1ESEpKMW96ckYxUkNEWkJQMEM2Y3YwbEJ2NTR4cE5m?=
 =?utf-8?B?TFRZQWo4RUpwUWdQOUdmSkk1RzlPbEJGamtURUpWYUdRNXBsdVVCVUFOMWtD?=
 =?utf-8?B?bVdYYnN2QTFWNFZtZUFaWk9OSExUdUpMS3p4V0lyUFZTdWhZSERuY1FkNW5y?=
 =?utf-8?B?M2EveHVoZ0hmSGkyc2o2Q3NZYUd2WFNyVW5vdXVuclRzTW1GTlE5dXRkR3FK?=
 =?utf-8?B?aHpOM0NvR3NEay9FSWx6MWNydGtQbU82Q2pIY2FMcm5GbzJycVdJSlRqUlRw?=
 =?utf-8?B?Y1d0c3RpQzhuQk1UUXMwVFhpUmNQWkJkbHdWT1lqdjRKSzV6WjlsQzJPQmcw?=
 =?utf-8?B?dWc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b2cd462-3be7-4c65-811f-08dd60b7580e
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 16:11:13.0544
 (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: NRZYGf0LsHHQF3cfaASUZ8Vvwg+qQMzqF1Dlxn+p4pARR8Eu6O88khQcBxsd8VWYS8XKDumN7c1aYKe7DdLO0i52/5Gh/9XiDwjmnoWQU3Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7617


Hi Jan,

On 11.03.25 17:35, Jan Beulich wrote:
> On 11.03.2025 15:53, Grygorii Strashko wrote:
>> On 05.03.25 12:37, Jan Beulich wrote:
>>> On 24.02.2025 12:38, Grygorii Strashko wrote:
>>>> Change rangeset parameters to "start, last" as proposed in [1],
>>>> and add documentation for public interface.
>>>>
>>>> No functional changes.
>>>>
>>>> [1] https://patchwork.kernel.org/comment/26251962/
>>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>>
>>> To be honest, this is getting too verbose for my taste. I also don't think
>>> title and description fit together: One says the main thing the patch does
>>> is add doc, the other says the main thing is the parameter renaming. When
>>> then there's at least one further parameter which is also renamed, despite
>>> not fitting the description.
>>
>> I can update subject and commit message and resend.
> 
> This would address the latter part of my comment, but ...
> 
>> Or you want me to drop some parts?
> 
> ... only this would address the former part.

I'm very sorry, but I feel very much confused about your above comment :(

So I'd be appreciated if You can provide some clarification here.

1) you do not want API documentation at all?
2) you want API documentation, but only for some API?
3) you are not satisfied with documentation style?

In case 3, how do you want it to be look like? Could you point on any .h or function in Xen,
to inherit the doc style?

Here I've followed doxygen style (like in xen/include/xen/vmap.h for example)
Before proceeding I've checked CODING_STYLE and other headers as well and saw that
there is no generic style for code documentation.

Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:16:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908698.1315805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2H2-0000ZQ-Kz; Tue, 11 Mar 2025 16:16:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908698.1315805; Tue, 11 Mar 2025 16:16: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 1ts2H2-0000ZI-HK; Tue, 11 Mar 2025 16:16:08 +0000
Received: by outflank-mailman (input) for mailman id 908698;
 Tue, 11 Mar 2025 16:16: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wY-0007cO-G7
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:54:58 +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 29c53e7f-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:54:49 +0100 (CET)
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 DDA471F388;
 Tue, 11 Mar 2025 15:54: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 4BA80134A0;
 Tue, 11 Mar 2025 15:54: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 SAsoEchc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 29c53e7f-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708489; 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=SD6ygI01/fPDxVzEEZt1paTHZDmC270izQmMA1HwWl0=;
	b=jUYLrZvQgwl60yOeRqczWsx1hgPv0ppVfONv7BAuPONdApTKXEg92Ss3/RrX6fJM8GSfzK
	Mt/ViFpPt1oAFRfXjAx5mVYNOzv+VzfR44LNBcM9FQ0jNARMBTCIh54nAF/kJyZaPaGmKx
	7f1fhdvqhc2lMt4APc47U1QbBkw3KwU=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708489;
	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=SD6ygI01/fPDxVzEEZt1paTHZDmC270izQmMA1HwWl0=;
	b=oMTtGcfrgGLXuAXaTsD4hMi0JirI0Zej4pg3kP4ziJmcPWMbRLqnQwmE/Jx8UZlbs9a2ek
	rc4PJKMY5OXH0nCQ==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708488; 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=SD6ygI01/fPDxVzEEZt1paTHZDmC270izQmMA1HwWl0=;
	b=DB0wUPYiCtUmACOuQnyj6A6Txdf0EKqe3pgIxP9fBfzoo5sQjDt3ilIsID7xVJ3XSrlnDy
	Np8wxBaJrNio6M4RyETXv0dsSqvkqggPzSjv1TWl2yr/jFLks7GhsvZgDQBfoEcqC+g4T+
	+TjOgXtEijvLJ4Vba6C9709FLWEncMw=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708488;
	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=SD6ygI01/fPDxVzEEZt1paTHZDmC270izQmMA1HwWl0=;
	b=bpztiaD3TPNOCyHtPn1EdkZqYa6je72CIEkpWL0uoQjEubiZB+9SAQyImnaHoA0d82PLQw
	6els4/jtqhJ9F+AA==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 02/25] drm/dumb-buffers: Provide helper to set pitch and size
Date: Tue, 11 Mar 2025 16:47:06 +0100
Message-ID: <20250311155120.442633-3-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.30
X-Spamd-Result: default: False [-1.30 / 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)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:mid,suse.de:email];
	RCPT_COUNT_TWELVE(0.00)[21];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 

Add drm_modes_size_dumb(), a helper to calculate the dumb-buffer
scanline pitch and allocation size. Implementations of struct
drm_driver.dumb_create can call the new helper for their size
computations.

There is currently quite a bit of code duplication among DRM's
memory managers. Each calculates scanline pitch and buffer size
from the given arguments, but the implementations are inconsistent
in how they treat alignment and format support. Later patches will
unify this code on top of drm_mode_size_dumb() as much as possible.

drm_mode_size_dumb() uses existing 4CC format helpers to interpret
the given color mode. This makes the dumb-buffer interface behave
similar the kernel's video= parameter. Current per-driver implementations
again likely have subtle differences or bugs in how they support color
modes.

The dumb-buffer UAPI is only specified for known color modes. These
values describe linear, single-plane RGB color formats or legacy index
formats. Other values should not be specified. But some user space
still does. So for unknown color modes, there are a number of known
exceptions for which drm_mode_size_dumb() calculates the pitch from
the bpp value, as before. All other values work the same but print
an error.

v4:
- use %u conversion specifier (Geert)
- list DRM_FORMAT_Dn in UAPI docs (Geert)
- avoid dmesg spamming with drm_warn_once() (Sima)
- add more information about bpp special case (Sima)
- clarify parameters for hardware alignment
- add a TODO item for DUMB_CREATE2
v3:
- document the UAPI semantics
- compute scanline pitch from for unknown color modes (Andy, Tomi)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 Documentation/gpu/todo.rst         |  28 ++++++
 drivers/gpu/drm/drm_dumb_buffers.c | 132 +++++++++++++++++++++++++++++
 include/drm/drm_dumb_buffers.h     |  14 +++
 include/uapi/drm/drm_mode.h        |  50 ++++++++++-
 4 files changed, 223 insertions(+), 1 deletion(-)
 create mode 100644 include/drm/drm_dumb_buffers.h

diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index c57777a24e03..f1bd741b06dc 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -515,6 +515,34 @@ Contact: Douglas Anderson <dianders@chromium.org>
 
 Level: Starter
 
+Implement a new DUMB_CREATE2 ioctl
+----------------------------------
+
+The current DUMB_CREATE ioctl is not well defined. Instead of a pixel and
+framebuffer format, it only accepts a color mode of vague semantics. Assuming
+a linear framebuffer, the color mode gives and idea of the supported pixel
+format. But userspace effectively has to guess the correct values. It really
+only works reliable with framebuffers in XRGB8888. Userspace has begun to
+workaround these limitations by computing arbitrary format's buffer sizes and
+calculating their sizes in terms of XRGB8888 pixels.
+
+One possible solution is a new ioctl DUMB_CREATE2. It should accept a DRM
+format and a format modifier to resolve the color mode's ambiguity. As
+framebuffers can be multi-planar, the new ioctl has to return the buffer size,
+pitch and GEM handle for each individual color plane.
+
+In the first step, the new ioctl can be limited to the current features of
+the existing DUMB_CREATE. Individual drivers can then be extended to support
+multi-planar formats. Rockchip might require this and would be a good candidate.
+
+In addition to the kernel implementation, there must be user-space support
+for the new ioctl. There's code in Mesa that might be able to use the new
+call.
+
+Contact: Thomas Zimmermann <tzimmermann@suse.de>
+
+Level: Advanced
+
 
 Core refactorings
 =================
diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
index 9916aaf5b3f2..97cd3dcb79f1 100644
--- a/drivers/gpu/drm/drm_dumb_buffers.c
+++ b/drivers/gpu/drm/drm_dumb_buffers.c
@@ -25,6 +25,8 @@
 
 #include <drm/drm_device.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_dumb_buffers.h>
+#include <drm/drm_fourcc.h>
 #include <drm/drm_gem.h>
 #include <drm/drm_mode.h>
 
@@ -57,6 +59,136 @@
  * a hardware-specific ioctl to allocate suitable buffer objects.
  */
 
+static int drm_mode_align_dumb(struct drm_mode_create_dumb *args,
+			       unsigned long hw_pitch_align,
+			       unsigned long hw_size_align)
+{
+	u32 pitch = args->pitch;
+	u32 size;
+
+	if (!pitch)
+		return -EINVAL;
+
+	if (hw_pitch_align)
+		pitch = roundup(pitch, hw_pitch_align);
+
+	/* overflow checks for 32bit size calculations */
+	if (args->height > U32_MAX / pitch)
+		return -EINVAL;
+
+	if (!hw_size_align)
+		hw_size_align = PAGE_SIZE;
+	else if (!IS_ALIGNED(hw_size_align, PAGE_SIZE))
+		return -EINVAL; /* TODO: handle this if necessary */
+
+	size = ALIGN(args->height * pitch, hw_size_align);
+	if (!size)
+		return -EINVAL;
+
+	args->pitch = pitch;
+	args->size = size;
+
+	return 0;
+}
+
+/**
+ * drm_mode_size_dumb - Calculates the scanline and buffer sizes for dumb buffers
+ * @dev: DRM device
+ * @args: Parameters for the dumb buffer
+ * @hw_pitch_align: Hardware scanline alignment in bytes
+ * @hw_size_align: Hardware buffer-size alignment in bytes
+ *
+ * The helper drm_mode_size_dumb() calculates the size of the buffer
+ * allocation and the scanline size for a dumb buffer. Callers have to
+ * set the buffers width, height and color mode in the argument @arg.
+ * The helper validates the correctness of the input and tests for
+ * possible overflows. If successful, it returns the dumb buffer's
+ * required scanline pitch and size in &args.
+ *
+ * The parameter @hw_pitch_align allows the driver to specifies an
+ * alignment for the scanline pitch, if the hardware requires any. The
+ * calculated pitch will be a multiple of the alignment. The parameter
+ * @hw_size_align allows to specify an alignment for buffer sizes. The
+ * provided alignment should represent requirements of the graphics
+ * hardware. drm_mode_size_dumb() handles GEM-related constraints
+ * automatically across all drivers and hardware. For example, the
+ * returned buffer size is always a multiple of PAGE_SIZE, which is
+ * required by mmap().
+ *
+ * Returns:
+ * Zero on success, or a negative error code otherwise.
+ */
+int drm_mode_size_dumb(struct drm_device *dev,
+		       struct drm_mode_create_dumb *args,
+		       unsigned long hw_pitch_align,
+		       unsigned long hw_size_align)
+{
+	u64 pitch = 0;
+	u32 fourcc;
+
+	/*
+	 * The scanline pitch depends on the buffer width and the color
+	 * format. The latter is specified as a color-mode constant for
+	 * which we first have to find the corresponding color format.
+	 *
+	 * Different color formats can have the same color-mode constant.
+	 * For example XRGB8888 and BGRX8888 both have a color mode of 32.
+	 * It is possible to use different formats for dumb-buffer allocation
+	 * and rendering as long as all involved formats share the same
+	 * color-mode constant.
+	 */
+	fourcc = drm_driver_color_mode_format(dev, args->bpp);
+	if (fourcc != DRM_FORMAT_INVALID) {
+		const struct drm_format_info *info = drm_format_info(fourcc);
+
+		if (!info)
+			return -EINVAL;
+		pitch = drm_format_info_min_pitch(info, 0, args->width);
+	} else if (args->bpp) {
+		/*
+		 * Some userspace throws in arbitrary values for bpp and
+		 * relies on the kernel to figure it out. In this case we
+		 * fall back to the old method of using bpp directly. The
+		 * over-commitment of memory from the rounding is acceptable
+		 * for compatibility with legacy userspace. We have a number
+		 * of deprecated legacy values that are explicitly supported.
+		 */
+		switch (args->bpp) {
+		default:
+			drm_warn_once(dev,
+				      "Unknown color mode %u; guessing buffer size.\n",
+				      args->bpp);
+			fallthrough;
+		/*
+		 * These constants represent various YUV formats supported by
+		 * drm_gem_afbc_get_bpp().
+		 */
+		case 12: // DRM_FORMAT_YUV420_8BIT
+		case 15: // DRM_FORMAT_YUV420_10BIT
+		case 30: // DRM_FORMAT_VUY101010
+			fallthrough;
+		/*
+		 * Used by Mesa and Gstreamer to allocate NV formats and others
+		 * as RGB buffers. Technically, XRGB16161616F formats are RGB,
+		 * but the dumb buffers are not supposed to be used for anything
+		 * beyond 32 bits per pixels.
+		 */
+		case 10: // DRM_FORMAT_NV{15,20,30}, DRM_FORMAT_P010
+		case 64: // DRM_FORMAT_{XRGB,XBGR,ARGB,ABGR}16161616F
+			pitch = args->width * DIV_ROUND_UP(args->bpp, SZ_8);
+			break;
+		}
+	}
+
+	if (!pitch || pitch > U32_MAX)
+		return -EINVAL;
+
+	args->pitch = pitch;
+
+	return drm_mode_align_dumb(args, hw_pitch_align, hw_size_align);
+}
+EXPORT_SYMBOL(drm_mode_size_dumb);
+
 int drm_mode_create_dumb(struct drm_device *dev,
 			 struct drm_mode_create_dumb *args,
 			 struct drm_file *file_priv)
diff --git a/include/drm/drm_dumb_buffers.h b/include/drm/drm_dumb_buffers.h
new file mode 100644
index 000000000000..1f3a8236fb3d
--- /dev/null
+++ b/include/drm/drm_dumb_buffers.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: MIT */
+
+#ifndef __DRM_DUMB_BUFFERS_H__
+#define __DRM_DUMB_BUFFERS_H__
+
+struct drm_device;
+struct drm_mode_create_dumb;
+
+int drm_mode_size_dumb(struct drm_device *dev,
+		       struct drm_mode_create_dumb *args,
+		       unsigned long hw_pitch_align,
+		       unsigned long hw_size_align);
+
+#endif
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index c082810c08a8..efe8f5ad35ee 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -1058,7 +1058,7 @@ struct drm_mode_crtc_page_flip_target {
  * struct drm_mode_create_dumb - Create a KMS dumb buffer for scanout.
  * @height: buffer height in pixels
  * @width: buffer width in pixels
- * @bpp: bits per pixel
+ * @bpp: color mode
  * @flags: must be zero
  * @handle: buffer object handle
  * @pitch: number of bytes between two consecutive lines
@@ -1066,6 +1066,54 @@ struct drm_mode_crtc_page_flip_target {
  *
  * User-space fills @height, @width, @bpp and @flags. If the IOCTL succeeds,
  * the kernel fills @handle, @pitch and @size.
+ *
+ * The value of @bpp is a color-mode number describing a specific format
+ * or a variant thereof. The value often corresponds to the number of bits
+ * per pixel for most modes, although there are exceptions. Each color mode
+ * maps to a DRM format plus a number of modes with similar pixel layout.
+ * Framebuffer layout is always linear.
+ *
+ * Support for all modes and formats is optional. Even if dumb-buffer
+ * creation with a certain color mode succeeds, it is not guaranteed that
+ * the DRM driver supports any of the related formats. Most drivers support
+ * a color mode of 32 with a format of DRM_FORMAT_XRGB8888 on their primary
+ * plane.
+ *
+ * +------------+------------------------+------------------------+
+ * | Color mode | Framebuffer format     | Compatible formats     |
+ * +============+========================+========================+
+ * |     32     |  * DRM_FORMAT_XRGB8888 |  * DRM_FORMAT_BGRX8888 |
+ * |            |                        |  * DRM_FORMAT_RGBX8888 |
+ * |            |                        |  * DRM_FORMAT_XBGR8888 |
+ * +------------+------------------------+------------------------+
+ * |     24     |  * DRM_FORMAT_RGB888   |  * DRM_FORMAT_BGR888   |
+ * +------------+------------------------+------------------------+
+ * |     16     |  * DRM_FORMAT_RGB565   |  * DRM_FORMAT_BGR565   |
+ * +------------+------------------------+------------------------+
+ * |     15     |  * DRM_FORMAT_XRGB1555 |  * DRM_FORMAT_BGRX1555 |
+ * |            |                        |  * DRM_FORMAT_RGBX1555 |
+ * |            |                        |  * DRM_FORMAT_XBGR1555 |
+ * +------------+------------------------+------------------------+
+ * |      8     |  * DRM_FORMAT_C8       |  * DRM_FORMAT_D8       |
+ * |            |                        |  * DRM_FORMAT_R8       |
+ * +------------+------------------------+------------------------+
+ * |      4     |  * DRM_FORMAT_C4       |  * DRM_FORMAT_D4       |
+ * |            |                        |  * DRM_FORMAT_R4       |
+ * +------------+------------------------+------------------------+
+ * |      2     |  * DRM_FORMAT_C2       |  * DRM_FORMAT_D2       |
+ * |            |                        |  * DRM_FORMAT_R2       |
+ * +------------+------------------------+------------------------+
+ * |      1     |  * DRM_FORMAT_C1       |  * DRM_FORMAT_D1       |
+ * |            |                        |  * DRM_FORMAT_R1       |
+ * +------------+------------------------+------------------------+
+ *
+ * Color modes of 10, 12, 15, 30 and 64 are only supported for use by
+ * legacy user space. Please don't use them in new code. Other modes
+ * are not support.
+ *
+ * Do not attempt to allocate anything but linear framebuffer memory
+ * with single-plane RGB data. Allocation of other framebuffer
+ * layouts requires dedicated ioctls in the respective DRM driver.
  */
 struct drm_mode_create_dumb {
 	__u32 height;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:16:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:16:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908701.1315815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2HA-0000tF-V6; Tue, 11 Mar 2025 16:16:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908701.1315815; Tue, 11 Mar 2025 16: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 1ts2HA-0000t8-S9; Tue, 11 Mar 2025 16:16:16 +0000
Received: by outflank-mailman (input) for mailman id 908701;
 Tue, 11 Mar 2025 16: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=NX78=V6=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1ts1wj-0007cO-Sl
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 15:55:09 +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 356db928-fe91-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 16:55:09 +0100 (CET)
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 627591F441;
 Tue, 11 Mar 2025 15:54: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 CE41C134A0;
 Tue, 11 Mar 2025 15:54:51 +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 4E8NMctc0GdUdQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 11 Mar 2025 15:54: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: 356db928-fe91-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708492; 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=JBGw8LbA3pPw86wlEftdVgi1gD5iVdOftsomcOHGHcY=;
	b=JszvB5p1/gBOEG1XKTFrwObU6IuLrCzCIOp/1KPsPYx2aaCe53TkWjfAq5A+y8ATaQRGrf
	2snhuCfx0G0SsWFg8BuBmQHUUU/4oLXDWfjwXiBs0j4caxhuTH8vChknC+JYt3rXceltva
	msaIs0vJ6ERUHgwxXXrgrkC/kgYLTk4=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708492;
	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=JBGw8LbA3pPw86wlEftdVgi1gD5iVdOftsomcOHGHcY=;
	b=udb6UqkOUrtyQ5MzWJ4bxClw7e1CujVLJbyYZgnwWZnptALqvHHEw2fI7Sg4lVNEzeu/NF
	IQKrOapfZz9uf1AQ==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1741708492; 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=JBGw8LbA3pPw86wlEftdVgi1gD5iVdOftsomcOHGHcY=;
	b=JszvB5p1/gBOEG1XKTFrwObU6IuLrCzCIOp/1KPsPYx2aaCe53TkWjfAq5A+y8ATaQRGrf
	2snhuCfx0G0SsWFg8BuBmQHUUU/4oLXDWfjwXiBs0j4caxhuTH8vChknC+JYt3rXceltva
	msaIs0vJ6ERUHgwxXXrgrkC/kgYLTk4=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1741708492;
	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=JBGw8LbA3pPw86wlEftdVgi1gD5iVdOftsomcOHGHcY=;
	b=udb6UqkOUrtyQ5MzWJ4bxClw7e1CujVLJbyYZgnwWZnptALqvHHEw2fI7Sg4lVNEzeu/NF
	IQKrOapfZz9uf1AQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: simona@ffwll.ch,
	airlied@gmail.com,
	mripard@kernel.org,
	maarten.lankhorst@linux.intel.com,
	geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org,
	linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev,
	linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org,
	xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Subject: [PATCH v4 08/25] drm/gma500: Compute dumb-buffer sizes with drm_mode_size_dumb()
Date: Tue, 11 Mar 2025 16:47:12 +0100
Message-ID: <20250311155120.442633-9-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311155120.442633-1-tzimmermann@suse.de>
References: <20250311155120.442633-1-tzimmermann@suse.de>
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)[];
	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];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:email,suse.de:mid];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_TWELVE(0.00)[22];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	TAGGED_RCPT(0.00)[];
	FREEMAIL_CC(0.00)[lists.freedesktop.org,lists.infradead.org,vger.kernel.org,lists.linux.dev,lists.xenproject.org,suse.de,gmail.com];
	FREEMAIL_TO(0.00)[ffwll.ch,gmail.com,kernel.org,linux.intel.com,linux-m68k.org,ideasonboard.com];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	R_RATELIMIT(0.00)[to_ip_from(RLqirfcw6gnbcr9a9yhi49fhi6)];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Score: -1.30
X-Spam-Flag: NO

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 64.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
---
 drivers/gpu/drm/gma500/gem.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c
index 4b7627a72637..fc337db0a948 100644
--- a/drivers/gpu/drm/gma500/gem.c
+++ b/drivers/gpu/drm/gma500/gem.c
@@ -16,6 +16,7 @@
 #include <asm/set_memory.h>
 
 #include <drm/drm.h>
+#include <drm/drm_dumb_buffers.h>
 #include <drm/drm_vma_manager.h>
 
 #include "gem.h"
@@ -199,35 +200,25 @@ psb_gem_create(struct drm_device *dev, u64 size, const char *name, bool stolen,
 int psb_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
 			struct drm_mode_create_dumb *args)
 {
-	size_t pitch, size;
 	struct psb_gem_object *pobj;
 	struct drm_gem_object *obj;
-	u32 handle;
 	int ret;
 
-	pitch = args->width * DIV_ROUND_UP(args->bpp, 8);
-	pitch = ALIGN(pitch, 64);
-
-	size = pitch * args->height;
-	size = roundup(size, PAGE_SIZE);
-	if (!size)
-		return -EINVAL;
+	ret = drm_mode_size_dumb(dev, args, SZ_64, 0);
+	if (ret)
+		return ret;
 
-	pobj = psb_gem_create(dev, size, "gem", false, PAGE_SIZE);
+	pobj = psb_gem_create(dev, args->size, "gem", false, PAGE_SIZE);
 	if (IS_ERR(pobj))
 		return PTR_ERR(pobj);
 	obj = &pobj->base;
 
-	ret = drm_gem_handle_create(file, obj, &handle);
+	ret = drm_gem_handle_create(file, obj, &args->handle);
 	if (ret)
 		goto err_drm_gem_object_put;
 
 	drm_gem_object_put(obj);
 
-	args->pitch = pitch;
-	args->size = size;
-	args->handle = handle;
-
 	return 0;
 
 err_drm_gem_object_put:
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:20:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908729.1315835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2Km-0002MT-KM; Tue, 11 Mar 2025 16:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908729.1315835; Tue, 11 Mar 2025 16:20: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 1ts2Km-0002MM-Hk; Tue, 11 Mar 2025 16:20:00 +0000
Received: by outflank-mailman (input) for mailman id 908729;
 Tue, 11 Mar 2025 16:19: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ts2Kl-0002GP-3e
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:19:59 +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 abe9ad35-fe94-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 17:19:56 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5e5b56fc863so8299651a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 09:19:56 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c74a9303sm8706016a12.42.2025.03.11.09.19.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 09:19: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: abe9ad35-fe94-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741709996; x=1742314796; 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=lQepzrELpS8uLMcFNB90Tm4w1kaOHz8q3MeG0GD1qWc=;
        b=Ue9g3FUJiDMwXKek6RQ/+UCaO9jHFP3DYthoiU1jobAG4JsRx82Z+QU+cjeAjo8SoS
         2jTYr5l9dJgiMmJLrg0WMJ5lFL/65BmX+NWnit5mHCwlbxMhBBUyqMlB7YfdoyVHm7q1
         sOuvuECxmnQ5JFkGhayYWrN5FwFpluHINxtfzMmgB8Cz+Q91qjdQtjPTtN5TzOaEqzLc
         EreI/qIEPq6/FWOzq3YNURgf6xFfQ/Ys1vs4V7kmOH7QVmLWQqMtY0b/1S5ORsdI4es3
         mukuYclSXcQPFy+4o6WWIKkLe7gpMbX+51iZX9rMHmOckucQdv8Er3IXzlYc+pcj+z3l
         NNbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741709996; x=1742314796;
        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=lQepzrELpS8uLMcFNB90Tm4w1kaOHz8q3MeG0GD1qWc=;
        b=Qx5DCObvOyD74iJJhiBSog3WjwToL6dTNbKPtZczUNURdyejbjHEa79tB/c05G5avr
         QQDMv+FqDj71+hg3ZswyaZpKnrEVII2N4z7cZ3tHL8DaeFMYn4/Co0YcgHQ/X0oxP5RA
         m6kvCifI7NzRRISThnL5Z6Zr4Z1yomE7tnhxnxDpYNLJhuJxWqXpOu0UfTgCSXE/J+K9
         rtIJorv9u0VtK1FDBbQ6eQdTuSUbmV0nbjM3rIdmezL9zuuqgcTR9CpFcrBWlhn2ZPAA
         ZwuF7eWLlbWKYknM75cXq8ncYLbDvMNn9pBfQ3oibFh99l6L2zsqJETWLjkdgm5JZSsS
         /Igw==
X-Gm-Message-State: AOJu0YzZmrRCViBGaUbVgGDKKJcl0kirISrbvqNHiWQTC4nXRZKB21gC
	YvdhR3Fc1Ioew5+6ZOWT+JtNe4bo1GXxJfcp84M03slFFq7IJ4L8tlZTMg==
X-Gm-Gg: ASbGnctMQqXDn5yuTtANOh2lkvl7SyTxjGQoiYvOw+quCX906uu8c/jdPNDOcqX4rvN
	TaPgeIBF5GecTEY1bd4edF3B5ftg+97NWDe+bujs87EqCvzUJwwOcMmpeVTwrAfNZpsey8gNq+b
	1e9bO8SEmcN7X+o0NqEsUILzzGq0vFyoHy09NAxheM65F5ak6cAipNiwn6dZPsVCBEldmJTcf9N
	PXVqo7t1fTmaSSIxKii1Oy3ZFisE/dANe1b/+sWLKx+MHBbp56+Da77vhVP3F4W9c2aoIkUfkMO
	YYZzApou6zwOHMU5v3EnsGWqWKsPgDwo4EcyntPtZW2YAxuC6diddjYeNLKFlAPHpelETgRK579
	P2/W6KHc8LH/HDA==
X-Google-Smtp-Source: AGHT+IGnz5Lz4uBm1/LYXK4AZe1jYq/2LJ6oeTqZZ2SPV4Pzsa6zoYd37LPWMJhocPh+b8o1AJg0Jg==
X-Received: by 2002:a05:6402:274d:b0:5e5:c3bc:f4e0 with SMTP id 4fb4d7f45d1cf-5e75f985a00mr5485606a12.29.1741709995666;
        Tue, 11 Mar 2025 09:19:55 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 2/4] automation: select APLIC and IMSIC to handle both wired interrupts and MSIs
Date: Tue, 11 Mar 2025 17:19:49 +0100
Message-ID: <31ee47c8906f13869e085e442b285d7ca6202023.1741709885.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

By default, the `aia` option is set to "none" which selects the SiFive PLIC for
handling wired interrupts. However, since PLIC is now considered obsolete and
will not be supported by Xen now, APLIC and IMSIC are selected instead to manage
both wired interrupts and MSIs.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/scripts/qemu-smoke-riscv64.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/qemu-smoke-riscv64.sh b/automation/scripts/qemu-smoke-riscv64.sh
index 8f755d0a6a..b2e112c942 100755
--- a/automation/scripts/qemu-smoke-riscv64.sh
+++ b/automation/scripts/qemu-smoke-riscv64.sh
@@ -6,7 +6,7 @@ set -ex -o pipefail
 rm -f smoke.serial
 
 export TEST_CMD="qemu-system-riscv64 \
-    -M virt \
+    -M virt,aia=aplic-imsic \
     -smp 1 \
     -nographic \
     -m 2g \
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:20:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908730.1315845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2Kn-0002ax-Qi; Tue, 11 Mar 2025 16:20:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908730.1315845; Tue, 11 Mar 2025 16:20: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 1ts2Kn-0002aq-NK; Tue, 11 Mar 2025 16:20:01 +0000
Received: by outflank-mailman (input) for mailman id 908730;
 Tue, 11 Mar 2025 16:19: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ts2Kl-0002GP-Q1
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:19:59 +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 ac9efe9d-fe94-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 17:19:57 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5e6c18e2c7dso5043217a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 09:19:57 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c74a9303sm8706016a12.42.2025.03.11.09.19.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 09:19: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: ac9efe9d-fe94-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741709997; x=1742314797; 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=511IffhcAy5W/pLJ+OKUC4AMLtLOkIZxutbaQdf0Fko=;
        b=Z4kHQC/4bTJpQiYNsBNTEIMQXinF6fRbPpKggDyn2n44VOHEPjTMxTjt1SYklwiNCz
         jaud1CpuDJ1N11jiCW2J39FvoWoirwWzNYVQ35IqZrPxP08Zb5queP5KoWK19LL0dyDo
         4eFweT6Wpnnh/AjQmFFBo7jro/IfkPpFJMYYmRdff+mP2xyHeRPS+z1wXhVyHMK3Mu2m
         86Rw0NN8rO/3OjQ0iFapZ3HaRLjDoYFzcwUqCTDFXhTQ6CpJ5tZZDfWlDj3lt2TA7Pec
         AqgMr4UesMlT+FA4/GbBbDdXDYdo7n1wnu8bznckuYWbukpY+yik2oEPPt9hU9n3F6Xg
         cViA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741709997; x=1742314797;
        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=511IffhcAy5W/pLJ+OKUC4AMLtLOkIZxutbaQdf0Fko=;
        b=HU0C36au9VAvbRrE7KXSiC6VN5x4ZyDsFITbwTebkc/jwbh8qiXM2GENrRhCb6vx1G
         1DhHX3y59vR8QgwLpPx7P7LqYOcBmx6Delj+AArD0JWFuFM9FxJAOQFI15jgKYUYT5L/
         JE45un6spr69eY6BCBjuBKOq1eSHhx265TP+Drb0Nf/UcO8+nSJ+eI/w+UoREetGzWfN
         KeL8HNmm9EDOZfHX30H8dF3REdev5kNS/BGH6u314j7RnCpAv7VCBsuOoDI6OslM7y6y
         VA9vt1mFhH9rLe6QhCWUiYvtfpIOVbNlp/ZWOOXOk2enppg9vUlY3aU2Ys4ya/PLkM9P
         KOQg==
X-Gm-Message-State: AOJu0YwrlFKhoaFIXi2F4ZQ1Gi+9eYOmpP0BndidZgn/JfsMHIUV+Szk
	9BpwMZhHtufiNf5l79V7zdLStJ4MZMBS0T3yBgoPqARBEJhsTn1EYAhGDg==
X-Gm-Gg: ASbGncvE/CBGRoOAdaRnpKt/4eKlZPwIEupwUtCY7dvjQmcgAa7QggRaGi4yu6lxExy
	7TjpjSAN5hbB2Aw0NeJtLw51Sw8SzCHmls/fHI6qOXWfdbKxvQGbm7QSWBs988h7NwWnHP+DkgP
	NEVYIRUggzs1XYWNSlYuclwnY12InxZQQVz3FMmc0oECPma/v/veW36InTtqoGm7mfvRPF7/vU3
	ZLSYZMQRjUa6ODur7HhieJBI7u1zygEwIdrw/RGs+ynP5SKtFPgVq4lauUkMI/VvOwVqj1/lGUu
	KijIuFItg+2ak1IFrVnhR5p0NurWE09mZztGUTeqdLfkIMH7j70VikIzDgLaWCAKxtSA3pzivv7
	4TfORez87PRQcCTunodB2nSpP
X-Google-Smtp-Source: AGHT+IHrrN6Dj7yiJvpqPpgOn8sOdY2anWx617ZKvhtgWYVMQdaOX5cudWqwTab1EyfSYu1qPQEIdA==
X-Received: by 2002:a05:6402:13d4:b0:5de:dd44:929e with SMTP id 4fb4d7f45d1cf-5e5e24a9a94mr18526816a12.21.1741709996701;
        Tue, 11 Mar 2025 09:19:56 -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>,
	Romain Caritey <Romain.Caritey@microchip.com>
Subject: [PATCH v1 3/4] xen/riscv: implement basic aplic_preinit()
Date: Tue, 11 Mar 2025 17:19:50 +0100
Message-ID: <6e2212313a47772d6929ae76f5e4be0f365766e9.1741709885.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Based on the code from [1] provided by Romain Caritey from Microchip
with some minor changes():
 - Xen code style fixes
 - Drop static variable inside aplic_preinit() and check
   aplic_info.node directly.
 - Drop direct initialization of aplic_info.hw_version in aplic_preinit()
   as this field is explicitly initialized during declaration/definition
   of aplic_info.
 - Rename gic* to intc* to not confuse with Arm's GIC.
 - Keep only minimal of things needed at the moment:
    - Declare DT device.
    - Initialize APLIC node.
    - Set hw_version for aplic_info.

Since Microchip originally developed aplic.c, an internal discussion with
them led to the decision to use the MIT license instead of the default
GPL-2.0-only.

[1] https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d

Signed-off-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/aplic.c            | 50 +++++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/intc.h | 20 +++++++++++++
 3 files changed, 71 insertions(+)
 create mode 100644 xen/arch/riscv/aplic.c
 create mode 100644 xen/arch/riscv/include/asm/intc.h

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 82016a957a..dd5fd25c7d 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,3 +1,4 @@
+obj-y += aplic.o
 obj-y += cpufeature.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
new file mode 100644
index 0000000000..42fac32958
--- /dev/null
+++ b/xen/arch/riscv/aplic.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * xen/arch/riscv/aplic.c
+ *
+ * RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) 2023-2024 Microchip.
+ * Copyright (c) 2024 Vates
+ */
+
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/types.h>
+
+#include <asm/device.h>
+#include <asm/intc.h>
+
+static struct intc_info aplic_info = {
+    .hw_version = INTC_APLIC,
+    .node = NULL
+};
+
+static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
+{
+    if ( aplic_info.node )
+    {
+        printk("XEN doesn't support more than one S mode APLIC\n");
+        return -ENODEV;
+    }
+
+    /* don't process if APLIC node is not for S mode */
+    if ( dt_get_property(node, "riscv,children", NULL) )
+        return -ENODEV;
+
+    aplic_info.node = node;
+
+    return 0;
+}
+
+static const struct dt_device_match aplic_dt_match[] __initconst =
+{
+    DT_MATCH_COMPATIBLE("riscv,aplic"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(aplic, "APLIC", DEVICE_INTERRUPT_CONTROLLER)
+        .dt_match = aplic_dt_match,
+        .init = aplic_preinit,
+DT_DEVICE_END
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
new file mode 100644
index 0000000000..ff9bb33896
--- /dev/null
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * (c) 2023-2024 Microchip Technology Inc.
+ * (c) 2024 Vates
+ */
+
+#ifndef ASM__RISCV__INTERRUPT_CONTOLLER_H
+#define ASM__RISCV__INTERRUPT_CONTOLLER_H
+
+enum intc_version {
+    INTC_APLIC,
+};
+
+struct intc_info {
+    enum intc_version hw_version;
+    const struct dt_device_node *node;
+};
+
+#endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:20:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908728.1315824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2Kk-00028H-Cu; Tue, 11 Mar 2025 16:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908728.1315824; Tue, 11 Mar 2025 16:19: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 1ts2Kk-00028A-AH; Tue, 11 Mar 2025 16:19:58 +0000
Received: by outflank-mailman (input) for mailman id 908728;
 Tue, 11 Mar 2025 16:19: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ts2Kj-000284-BM
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:19:57 +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 ab953e31-fe94-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 17:19:56 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e5b56fc863so8299625a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 09:19:56 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c74a9303sm8706016a12.42.2025.03.11.09.19.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 09:19: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: ab953e31-fe94-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741709995; x=1742314795; 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=eutEi8DtefvdnHN/K0N5ySijtm5ejHaJfNHDmk6hb8k=;
        b=TCAWFU9JUMVmz7PyiPjZeaqqNgygIulzy6sRcGNOJYOZ5VJQEPUxpHKj633L9z1waz
         n9/RvQvLP5qr4aNsbdmpMjRDV/bam70nva3zZNPFzFTgAhn3xkIvPNOkZbUQ04LuVgWW
         ABokBLSpWLlMFS/4/afw/iG+/+TzrPvUF8Be0LavXt9gVASwea1xRS/H5WrTJSNYvQEd
         Uts3iFMIJ146b6h56Ul8olxWyDmzMazVjAnGI8bq6KGxqhC6NF3bGJIjCs5k5YCKW7CV
         /OmM4eEDqH3ZpGcT6olHT2Ynurx0MONRdABLVFdJrnK5Apkaco3vSA7/AqvH6YZp3xt4
         nY6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741709995; x=1742314795;
        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=eutEi8DtefvdnHN/K0N5ySijtm5ejHaJfNHDmk6hb8k=;
        b=b+5yyDoXw+AvVQklsFzJGKbTrctVCjHoKbvtCwMNcWHXk34BUWqY/NzjMmWQJwp8s1
         iC/rCmNuUFrIMUZ3trPS0CNipq/gyPhrc+pZw6WMcVd2sywgVmab7aBRI/VzamCaXaNZ
         +6RTK4u63OzMK8TQ4uNXG9L22x/ggRAplGKYpilj+VY0cFDdwqqWXX2M3RxID5TNFmRw
         KfSxvHhdktz8jOjUekfce+VuAyGIykKFenJeGs/sBc6PxLKg1IwMM3rq6o6wM9AaylOy
         slparx1PSJmv39E7hSWOO/b4xp4d3LiTht/XhD029lstvTJF+6fPD7AyPw4SUGDRzy5T
         sPBA==
X-Gm-Message-State: AOJu0YzeeeaJJH0DOA4mJod9BNjThoc8pW1sZU3zHiVFc25RH/jeVqGw
	bBtUuIxytHla65KDU4A9f6Ucqfko0s/cpwqqcuhtwccY+MfEI6WhAmRgFg==
X-Gm-Gg: ASbGncvbJMUccvVa+Z5oQg/qQhl69oK58E7cUXqirF6pw3DRulTMKXCuPwpaMWxiYPz
	SCIMBC1DA0WaTL5olynziGcZVIivx+bH63OzIU0etAXistu/9I1cPBunnrn6fB1+qyin05NA9DW
	QF1mthV70kWal8EVMJSCHv+7J0Klk5HRnlovzgZ4EN6zgqB+yvSGZ+jk/v/Szf6u+o1+XlOqhCw
	p8n5gZcDg6X7WqnSeWyeFBpQZ1iF8g+cW9oRMwDPmaHdCUdR+o+payyl0lDUBa9qIxJQ6ihbalj
	PvfckCUpyfxyspplMQUh8SYsSXP00OTXuDD7QgbcMxF1FEUom8uyCDdORDpsmtYBi4l9Z1n/M/H
	Az+tVJuKLMUxuzw==
X-Google-Smtp-Source: AGHT+IGy2UcnK2t2Zgs9j4q0VYO97EFeJHHVkvo8W3sRflsOZXxmoM5Ql0X3YH+HTGnpTgJ+WYNuOA==
X-Received: by 2002:a05:6402:1e88:b0:5de:dd6b:a7b0 with SMTP id 4fb4d7f45d1cf-5e75de57dd4mr5191318a12.1.1741709994973;
        Tue, 11 Mar 2025 09:19:54 -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: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
Date: Tue, 11 Mar 2025 17:19:48 +0100
Message-ID: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

preinit_xen_time() does two things:
1. Parse timebase-frequency properpy of /cpus node to initialize
   cpu_khz variable.
2. Initialize boot_count with the current time counter value.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/include/asm/time.h |  2 ++
 xen/arch/riscv/setup.c            |  2 ++
 xen/arch/riscv/stubs.c            |  2 --
 xen/arch/riscv/time.c             | 38 +++++++++++++++++++++++++++++++
 5 files changed, 43 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/riscv/time.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index b0c8270a99..82016a957a 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -9,6 +9,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += stubs.o
+obj-y += time.o
 obj-y += traps.o
 obj-y += vm_event.o
 
diff --git a/xen/arch/riscv/include/asm/time.h b/xen/arch/riscv/include/asm/time.h
index fc1572e9b4..f288fe1e5c 100644
--- a/xen/arch/riscv/include/asm/time.h
+++ b/xen/arch/riscv/include/asm/time.h
@@ -19,6 +19,8 @@ static inline cycles_t get_cycles(void)
     return csr_read(CSR_TIME);
 }
 
+void preinit_xen_time(void);
+
 #endif /* ASM__RISCV__TIME_H */
 
 /*
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index b0e587678e..836ad16fed 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -126,6 +126,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     riscv_fill_hwcap();
 
+    preinit_xen_time();
+
     printk("All set up\n");
 
     machine_halt();
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..caa133de84 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -27,8 +27,6 @@ nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
 /* time.c */
 
-unsigned long __ro_after_init cpu_khz;  /* CPU clock frequency in kHz. */
-
 s_time_t get_s_time(void)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/time.c b/xen/arch/riscv/time.c
new file mode 100644
index 0000000000..210df6ba28
--- /dev/null
+++ b/xen/arch/riscv/time.c
@@ -0,0 +1,38 @@
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/sections.h>
+
+unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
+unsigned long __read_mostly boot_count;
+
+static __initdata struct dt_device_node *timer;
+
+/* Set up the timer on the boot CPU (early init function) */
+static void __init preinit_dt_xen_time(void)
+{
+    static const struct dt_device_match  __initconst timer_ids[] =
+    {
+        DT_MATCH_PATH("/cpus"),
+        { /* sentinel */ },
+    };
+    u32 rate;
+
+    timer = dt_find_matching_node(NULL, timer_ids);
+    if ( !timer )
+        panic("Unable to find a compatible timer in the device tree\n");
+
+    dt_device_set_used_by(timer, DOMID_XEN);
+
+    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
+        panic("Unable to find clock frequency.\n");
+
+    cpu_khz = rate / 1000;
+}
+
+void __init preinit_xen_time(void)
+{
+    preinit_dt_xen_time();
+
+    boot_count = get_cycles();
+}
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:20:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908731.1315849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2Ko-0002e0-3G; Tue, 11 Mar 2025 16:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908731.1315849; Tue, 11 Mar 2025 16:20: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 1ts2Kn-0002cr-U5; Tue, 11 Mar 2025 16:20:01 +0000
Received: by outflank-mailman (input) for mailman id 908731;
 Tue, 11 Mar 2025 16:20: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ts2Km-0002GP-QC
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:20: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 ad2f2ec2-fe94-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 17:19:58 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5dca468c5e4so11032476a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 09:19:58 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c74a9303sm8706016a12.42.2025.03.11.09.19.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 09:19: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: ad2f2ec2-fe94-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741709998; x=1742314798; 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=8Yt18gcQ1yC9rvNCINUWZVXIFi/Nspn28W4yOKXTQyE=;
        b=SeXNRVOpoPyTXO1VOIE5nglyWT9B2o45+dkQtJhNwv+9DgmEDzZ5lhgmi8aWKY6SBM
         V+HV0M3ZDdJ+bjqVXC072+9+SMDwDrZ5aIw270sYN45MRIJ33nCoLy4YGtVQB/HpC5ZY
         PtiOsO7U88SM0ekoFNfsBlqstwlsc/2uoz86CVyX6bsMmhD1c3UbZ436mOkFNH+4CbZk
         8YVc8ho6MG5Qs7BGHxDw71WvxTFd+tnok5LJREtI5wxRdRyNvX3YceffzaJMj2oY6jtc
         yMrLUqTWElC4E9CqGNRdBJul9A7d3h9B2DOy09HxNO1J1MQ34lqch1Am56s2mABWg8Ow
         yFnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741709998; x=1742314798;
        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=8Yt18gcQ1yC9rvNCINUWZVXIFi/Nspn28W4yOKXTQyE=;
        b=MXSrGvNWpr5VFByIiw6/sE+jIxPXrZww547tCU0Ryz4Av0CzBY70jZhix3QbwQbzWY
         t4JZjnoaveSGLPju5wb3GkQn30+dSIJawTCc6YpLQ/STrLT3rlxR5JOTFPjpS+D2M59D
         IpHGobUeBQLj/yx7xrEAjhSnHLsUUNF3Duwfvuyk0P+zE0iIeO1jGG5UBniQhIISlz5T
         kULPz/yCMnvp3IMxkD8wKqpPVmSBq+hfU4I6EG1jut4nGgUDpjDr5H4G5xBQRkKwefFK
         iE+Les03p3SX2BPu+MWMvS8jVS4+bfP6JZJZHdkWOJGjRrNF+dUuuyh50JCcy+UyAYYN
         gPPQ==
X-Gm-Message-State: AOJu0Yx8AfzL7wonM3y3Nbcdn7YuE73Xhv209YRejx8Px8RIU9qpn9gv
	p+4mtlvBpm8Yn26eZ5KlfkKRLvCjtleNjkrSq9hhvDi+zH2GGILv3w99DQ==
X-Gm-Gg: ASbGncuAEMcZajmw+lA9qjJdYf7kC3rKyYLXMb140jUaJrYedG4QfDednh4JcFG/J4D
	rkaCWjvXNBtY15mBPoH7jk8JHakWwiytFszOE7uk3Jb43X50DFtmyCC/PfCewAngKXSrVbtOOt2
	0UIdKwN8OHHYcuDMIOJ2bOd1vU41fvYzYR70e2+LkRLeQGAdyQm24zJg+jqpD8rz51EnLgwCdcs
	LxzRvb4ZGjjrZAC5eScIpuP6uiHOoNwjtj++AawXenvXetd9VGHNPr7Q3lnAK4SC92vY/RYs9/V
	zMeqnc62Betac/rctqYpGygCp+FrrN1bHKpsPVeZYuxRH7lU4NCKYXLhSSnDAB8Lkqe3gj2qV2a
	ZO2cWVln+RRBNkA==
X-Google-Smtp-Source: AGHT+IF+VJjado6lRs7C2itypF7Vkd2vqg41aeZMyC655n240kmKRCaVI0urIwO7FOLZ318p2ifCNw==
X-Received: by 2002:a05:6402:3594:b0:5e6:4ac8:c361 with SMTP id 4fb4d7f45d1cf-5e64ac8c790mr15505247a12.28.1741709997755;
        Tue, 11 Mar 2025 09:19:57 -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: [PATCH v1 4/4] xen/riscv: introduce intc_preinit()
Date: Tue, 11 Mar 2025 17:19:51 +0100
Message-ID: <d89d647a0b71b0a0bc8aeb90395b28bcab15074e.1741709885.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, only the device tree method is available to locate and perform
pre-initialization steps for the interrupt controller. When `acpi_disabled`
is true, the system will scan for a node with the "interrupt-controller"
property and then call `device_init()` to validate if it is an expected
interrupt controller and if yes then save this node for further usage.

If `acpi_disabled` is false, the system will panic, as ACPI support is not
yet implemented for RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/include/asm/intc.h |  2 ++
 xen/arch/riscv/intc.c             | 14 ++++++++++++++
 xen/arch/riscv/setup.c            |  3 +++
 4 files changed, 20 insertions(+)
 create mode 100644 xen/arch/riscv/intc.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index dd5fd25c7d..0c6c4a38a3 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -2,6 +2,7 @@ obj-y += aplic.o
 obj-y += cpufeature.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
+obj-y += intc.o
 obj-y += mm.o
 obj-y += pt.o
 obj-$(CONFIG_RISCV_64) += riscv64/
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index ff9bb33896..52ba196d87 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -17,4 +17,6 @@ struct intc_info {
     const struct dt_device_node *node;
 };
 
+void intc_preinit(void);
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
new file mode 100644
index 0000000000..4061a3c457
--- /dev/null
+++ b/xen/arch/riscv/intc.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/acpi.h>
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+
+void __init intc_preinit(void)
+{
+    if ( acpi_disabled )
+        intc_dt_preinit();
+    else
+        panic("ACPI interrupt controller preinit() isn't implemented\n");
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 836ad16fed..4e416f6e44 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -16,6 +16,7 @@
 #include <asm/cpufeature.h>
 #include <asm/early_printk.h>
 #include <asm/fixmap.h>
+#include <asm/intc.h>
 #include <asm/sbi.h>
 #include <asm/setup.h>
 #include <asm/smp.h>
@@ -128,6 +129,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     preinit_xen_time();
 
+    intc_preinit();
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:23:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908766.1315864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2OJ-0005ar-NV; Tue, 11 Mar 2025 16:23:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908766.1315864; Tue, 11 Mar 2025 16:23:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2OJ-0005ak-KG; Tue, 11 Mar 2025 16:23:39 +0000
Received: by outflank-mailman (input) for mailman id 908766;
 Tue, 11 Mar 2025 16:23: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=siat=V6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ts2OI-0005ae-80
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:23:38 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ee41d3f-fe95-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 17:23:36 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-ac29fd22163so414726266b.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 09:23:36 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac29f5d2638sm368012966b.160.2025.03.11.09.23.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 09:23: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: 2ee41d3f-fe95-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741710216; x=1742315016; darn=lists.xenproject.org;
        h=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=WpPpXJmI/SEixnjKAFHqu4EO/svQtAxWHpGumrSnDJA=;
        b=N9WT9Hq+MdsAEFcCV9wd+LElpWIM+PBv7lLH1GVo6fiu81maSoTJ1fctQgjlCRNrWb
         SntckVMpOwNwArOwHIbBcAS6cvObW7AhLW21aY2+MHLAzclruegsDmiQaGkHlQi8QI+w
         3/tfwxMREQD7Y0aphzctrnIvlqCMNwK6xRCvc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741710216; x=1742315016;
        h=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=WpPpXJmI/SEixnjKAFHqu4EO/svQtAxWHpGumrSnDJA=;
        b=NivLlEfOrZ218wCXqhtjPBI9o5SB7wTPJbF2vVjChgr1kjGfRlpdIn4qXQehpLrjHY
         AcF5UVibvmKjMD05aSOJsj/iPO/SqQ8amb9gdUc88W4Yo+/34i7hzHb6mFr2E93+KCm3
         FWHgMFE12Daf2xBd1OrWplxvR9s8WlkqlNp5KZgdiGQMg+praAUtBO9UIFr7CLusIGHQ
         JgLqFBIkeLbOz5kCINylnD3SpMNV0IK+AtoeMgc+fy5FkZjcyL/WI89FKp3AnvWIuD5N
         7uKTFLbQQn2J4GKoyiUkYA5tfEWeHHJsMuEn3360RklOiWLoINlg8gX8Dmg3aZ1bQQ1I
         ObWQ==
X-Forwarded-Encrypted: i=1; AJvYcCXMKCSinX1cNHYVv3Mx+HuoA1Jk7SwYmJYC940beRthhptJA4IVeNMbRTrI5P6CjZnJNdCqGyv8xpo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4irT7nbKk3oiu0UoHqpS0/6GE0GuZPZ7Ov96DopU21DnstOmJ
	uqBwGm6L8IsaWnMilYKyZeYUhobb0Yk1/Go8JWizKxAhHJRNDIrhv7sjww1ONKU=
X-Gm-Gg: ASbGncthuZRvhPyyOsv++tvTRGCv/EEjv3BojdnTMBCoHpyqFk8mNWO92Uj6XFGvh0M
	BN7B1bm3p7cCH2iS7sWG3nGc9m6trmiicvOTsqUuzcfI9YRu42mRgqH1CILiW9uuQFAGc0GWaSr
	Uqw2pmaWy894Ohf24ohxz7VCOulcmBKtPnAd0I0C+GF7x/YoNQqBDKUe0IMbWgys2HPl8OXzHZC
	Q8ndMMlhUPoEmmBkQWtTBy4iQodfhbhgGLAJ5gwvCwMsmy62z4n60wgK6EqNOiObDSLWJSxSEpJ
	G6pMorwJvv6mG957vXX/we19i0EOra1YYPiPCmLPnXXzHoLKyCtAvw8=
X-Google-Smtp-Source: AGHT+IGkL1bWY+gYf1DyJ8T9mQDt5ejbNf64OwD2+bljX3Ityn2Ukf9maOhjHfig6Q/ow1BM/70Gow==
X-Received: by 2002:a17:907:7e9d:b0:ac2:b415:6768 with SMTP id a640c23a62f3a-ac2b4156827mr649972966b.48.1741710215643;
        Tue, 11 Mar 2025 09:23:35 -0700 (PDT)
Date: Tue, 11 Mar 2025 17:23:34 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	xen-devel@lists.xenproject.org,
	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 v2] xen/page_alloc: Simplify domain_adjust_tot_pages
Message-ID: <Z9BjhklU61maFKjo@macbook.local>
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
 <Z9AwsrDBELe2UREz@macbook.local>
 <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>
 <Z9BZ-V8fWHOAwMJ7@macbook.local>
 <de418de2-b059-4f1e-92b0-42a236208b14@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <de418de2-b059-4f1e-92b0-42a236208b14@suse.com>

On Tue, Mar 11, 2025 at 04:45:04PM +0100, Jan Beulich wrote:
> On 11.03.2025 16:42, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 11, 2025 at 02:53:04PM +0000, Alejandro Vallejo wrote:
> >> On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau MonnĂŠ wrote:
> >>> On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
> >>>> The logic has too many levels of indirection and it's very hard to
> >>>> understand it its current form. Split it between the corner case where
> >>>> the adjustment is bigger than the current claim and the rest to avoid 5
> >>>> auxiliary variables.
> >>>>
> >>>> Add a functional change to prevent negative adjustments from
> >>>> re-increasing the claim. This has the nice side effect of avoiding
> >>>> taking the heap lock here on every free.
> >>>>
> >>>> While at it, fix incorrect field name in nearby comment.
> >>>>
> >>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> >>>
> >>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >>
> >> Thanks.
> >>
> >>> I think it would be nice to also ensure that once the domain is
> >>> finished building (maybe when it's unpaused for the first
> >>> time?) d->outstanding_pages is set to 0.  IMO the claim system was
> >>> designed to avoid races during domain building, and shouldn't be used
> >>> once the domain is already running.
> >>>
> >>> Thanks, Roger.
> >>
> >> As a matter of implementation that's already the case by toolstack being "nice"
> >> and unconditionally clearing claims after populating the physmap.
> > 
> > I see.  Another option would be to refuse the unpause a domain if it
> > still has pending claims.  However I don't know how that will work out
> > with all possible toolstacks.
> > 
> >> However, I agree the hypervisor should do it on its own. I didn't find a
> >> suitable place for it. 
> > 
> > You could do it in arch_domain_creation_finished().
> 
> Except that better wouldn't be arch-specific.

Sorry, I should better have said: you could do it at the same place
where arch_domain_creation_finished() gets called in
domain_unpause_by_systemcontroller().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 16:50:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 16:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908794.1315876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2nw-0002zj-JO; Tue, 11 Mar 2025 16:50:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908794.1315876; Tue, 11 Mar 2025 16:50: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 1ts2nw-0002zc-F9; Tue, 11 Mar 2025 16:50:08 +0000
Received: by outflank-mailman (input) for mailman id 908794;
 Tue, 11 Mar 2025 16:50: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=JHpu=V6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ts2Ct-0007gU-8F
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 16:11:51 +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 89a9ddcf-fe93-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 17:11:49 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac27cb35309so512166566b.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 09:11:49 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac23943c440sm950636566b.15.2025.03.11.09.11.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 09:11: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: 89a9ddcf-fe93-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741709509; x=1742314309; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=vfv6IeyBk7vuW3v0wmc2EBgHSmlk4Z7X15EWmQ8dG0g=;
        b=NLKijRXzLgGhnhXdSpE2A5Q9bjR1Go94Pm18D+mVHl8ofQC4CT4ZF2g9odncWMAmCM
         mSwMD0/FL43nGj2Z4DMSqSgMCQq34l91M/ydjHD/iBO/ju6TAgrHcuualPtNI/urdSdV
         6n1OprCQtULrWgtgMpx09o/yD/bEwWkdT1sBi81l0ulkQjY2ZTf0LjNWJfU+eFLf+e9C
         h1AJhST3zgxQRoSCehsSzxn66pZWVeRz+hPGjGDnZnu6BnQbyKZizKXUFOw6E6IFBc+C
         97OMnkVS49JF6SQPZq40q8FqW6S37jwTl/+sCUG2y/fpVvym0CGOIAghAeMVuo9vcy75
         qTdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741709509; x=1742314309;
        h=content-transfer-encoding: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=vfv6IeyBk7vuW3v0wmc2EBgHSmlk4Z7X15EWmQ8dG0g=;
        b=n5wnQ/8lTfZvUwMbtm+bgXSkBQPAqRD6YOzrhULZe/VcApgOeb7db80Pq7Bx6OJ8Ly
         AOki5ilPo/3r8VWFIk9RNXcmsCjuugmbyKYyf1fcUSZsMveZV/mSvwguzl2wng1+BMWW
         JHDJD4YhrDhmXK5WggHyNKRET0wPXJEfap2eu4ZUmV6VJAJRHVXgXaOTKnK0BTn0aCFn
         rc/QK3M5nGeUMneBoIWfrVqXgN26nCblsSk58Wpe4gUHkJ4Tzk5OcU/DPl5QeqfYoSio
         owBCLdqa03qfhIvi4tIBTwT7cRND0xPJWweeN8BtIHodfPXToPUfUlKSls2R9JIZlKiL
         AaxA==
X-Forwarded-Encrypted: i=1; AJvYcCUK6DMHSSDl9gn82VT/lXLkx+ple5j73l4b1o4/9mlWl7G7bjzULkBs5qrdFPI9upBcUg3aYvwOC/8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy69AnXVG9YOzzZUbVZi+w71ryHyaSujShLn5NcCKIxacXkmuFM
	UBkXQutP28RVaCq+LA7vgeRr7sWNY6dFKdBq/8phO39gC/paeGKVXNiuVw==
X-Gm-Gg: ASbGncsdUrYnZ/e5oGNIL1JnLlgAzx5ObO93WLsm6M2zeo1Atq9E0L/NufdyYwJrHlE
	hdowGscmu+w88NIHM7CicKFvDVftYidPufiYB1tgQipwV3ORLRaxJSoUw3KSHM0x5+kjbLKaMxe
	jAaeTtfhGEydLLyzov6OZGOMdGAyAeYk+aQBNnonJ5zfQ7Q9RWYTnkYFDTg/7S9huBm44xAii5L
	TqawPf2QK3dCCcLpSnAX+0gGSP8tkprsXjYtmEAt7tzDn9oNY5C1fdoAJ6epp4MeNkt1uJhxKnS
	mTWIGxNhYhRqdzYhleM1kqs3wc7s04ERd4y2piCarJtq4zdGBivuxhp+lZMeJslOKmPz/RncSg7
	rI/xeqnUcv4eWkz5TP7hW
X-Google-Smtp-Source: AGHT+IHn8SSbO7qJN5jDNDMVCXE3OPSV7wREg7noWOhAWLUFyo2LtPWVMGLrutRV1VbRKFuNMXy8BQ==
X-Received: by 2002:a17:907:d8f:b0:ac2:92df:fab3 with SMTP id a640c23a62f3a-ac2b9de4fbemr606821966b.16.1741709508738;
        Tue, 11 Mar 2025 09:11:48 -0700 (PDT)
Message-ID: <0ceda9aa-4e11-4a02-8f60-ea9d1247acf1@gmail.com>
Date: Tue, 11 Mar 2025 17:11:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/4] CHANGELOG.md: Mention stack-protector feature
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Community Manager <community.manager@xenproject.org>
References: <20250217024848.3059635-1-volodymyr_babchuk@epam.com>
 <20250217024848.3059635-5-volodymyr_babchuk@epam.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250217024848.3059635-5-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 2/17/25 3:49 AM, Volodymyr Babchuk wrote:
> Stack protector is meant to be enabled on all architectures, but
> currently it is tested (and enabled) only on ARM, so mention it in ARM
> section.
>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>
> ---
>
> TODO: If this patch will not make into 4.20 - rework it by mentioning
> a correct version.
>
> Changes in v6:
>
>   - Dropped Andrew's R-b tag because there is little chance that this
>   series will be included in 4.20, so this patch should be reworked for
>   4.21
> ---
>   CHANGELOG.md | 1 +

Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii

>   1 file changed, 1 insertion(+)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 1de1d1eca1..4cac4079f0 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/)
>      - Basic handling for SCMI requests over SMC using Shared Memory, by allowing
>        forwarding the calls to EL3 FW if coming from hwdom.
>      - Support for LLC (Last Level Cache) coloring.
> +   - Ability to enable stack protector
>    - On x86:
>      - xl suspend/resume subcommands.
>      - `wallclock` command line option to select time source.


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 17:01:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 17:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908820.1315885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts2ym-0007Az-Hy; Tue, 11 Mar 2025 17:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908820.1315885; Tue, 11 Mar 2025 17:01: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 1ts2ym-0007As-Dt; Tue, 11 Mar 2025 17:01:20 +0000
Received: by outflank-mailman (input) for mailman id 908820;
 Tue, 11 Mar 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=EmiY=V6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ts2yk-0007Aj-IX
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 17:01:18 +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 6ba73490-fe9a-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 18:01:05 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43d04ea9d9aso6338985e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 10:01: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-43ceba8d727sm116891255e9.25.2025.03.11.10.01.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 10:01: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: 6ba73490-fe9a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741712465; x=1742317265; 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=fAgzANV4fpi95DidZLdr9ATxtnSWLY2xRjhmMXrOwPM=;
        b=URBQtbldrjjtlf3X6SkTyJfgvPqCpvIAa+8q42u00O2rldhwmv+5AqtT34rtScWhdK
         H50+N7IrdbJ2STm99cWBGhLTIUsgAByXcsgHqr207Q8qjDLEQVWDKj9H2+Gs/f4mGiA2
         wRTIU40d7MevnexOIlGcC2p5NNhkuyjbEs1Ee7ECdAkPFj9dLyEzx7lkXRKcMjDDSbBV
         jPt4BxPJKSjBxynoN7wdX7owYdvdjxs3alsVBEg3+DdCgdBQ8UyyhzimwSgAiSAXAjoe
         IO2aZDiZ7wDt6O+DrBs9fMlBiVPoZ0w6zVDSpCOPabsW5Jne1E/OsNSKb9jjyOzkpToE
         QCXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741712465; x=1742317265;
        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=fAgzANV4fpi95DidZLdr9ATxtnSWLY2xRjhmMXrOwPM=;
        b=xMg5qCpYV5jzpA1Ig+qdWJlWQpBZOt49tYPMgRWinuptQweoqqmrlaQ5kH+t3fCOEw
         bKrmcocRYAryuvIDw6JE+UTfoTIppDUMSukVpBJB0FaRPQ2yTqei5zS0APcbWr+kuZLK
         oZqTdrI1zRYf8VlOXvusvxfjV0NZIBWWCYIURJz3HPGfqZaOTPNZdk4N6G7qoorNSef5
         iSsa/3Z2mFfD1lbtVxI40ac7x7OCEPH18pA6DoCY7LmS54o0xL1UlQzKK3VE1DX5fKYF
         WhgMoAHofv9H7JXCV/CP+N9Iloc9rTSX3s5vKZSb+XnDLW+ME/ts1/9eJnbx0VEIRzEx
         Zumw==
X-Forwarded-Encrypted: i=1; AJvYcCUyaM5rlu3TdqQrJZgsdl0SSA/bAvlTYFCjWxt1YbAphRAxfnMgojZSTZvoouLfw9mkAbUUEclK4/s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWtXWUBm83RLoKwBzuvQmKcUmDcHA2bYdaUxbmiNFKm/mG7I6R
	j3AWqQxdulImbtM3jBBk+qTSbGstpTmyqTJPj0SwgMUNBR/42sHrnMkBRAd/tA==
X-Gm-Gg: ASbGncuk7KhnDnOeL7l4FqaRf4yX9VnH6WvlU6iDQ7YedOcAAJip3rnsBC4zI0LSH9o
	I7a+XOEUvUWcV4nUIlmyjOGPoAPzEeMqIs+6532g4eFleLRuL5yO3kad3QZcbrxAbEgPNY/gqSZ
	3jMFD2103C5xQ+sdr3R5HeRNZOVSmdgzz3+F5TbltMuSNy7hYuRsdk0QiyDk2K7UfN4WOa9MvTw
	xHLDcn1+hwrpCXkBoNR3NjDt5OiWeIGUJHTZd2FIL1ELtnZ0yFcOaUwn9ohFcdgAHamRnI/O7Oi
	QwC79t6Ume7bgMlv1D3X+bN7jvqu0gEtno1bqwgYiSKTDP+0lNGU2f/saKmormXytvpRRI6khmn
	mcx9YdN7bTfXiUiSgcb1X3PJOOPYEGnGs53c5gaBZ
X-Google-Smtp-Source: AGHT+IGlbBk5RbeAwHfpfeEPuaJZDh4JlWVJLa2WEYqpSDFhWeJsOS7C6rdMh47b7/VVNNv8cQQs/g==
X-Received: by 2002:a05:600c:1d18:b0:43c:f050:fed1 with SMTP id 5b1f17b1804b1-43cf051014bmr99573715e9.12.1741712465020;
        Tue, 11 Mar 2025 10:01:05 -0700 (PDT)
Message-ID: <5ccc36f4-0fda-4b28-9e7d-bbb2e3a66df3@suse.com>
Date: Tue, 11 Mar 2025 18:01:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/iocap.h: add documentation
To: Grygorii Strashko <grygorii_strashko@epam.com>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <20250224113828.151794-1-grygorii_strashko@epam.com>
 <83d5d612-2f6a-430a-8aee-4738f43204e0@suse.com>
 <d7fe19f2-f8ac-497a-833e-44a04e1ca4c7@epam.com>
 <60eff646-724f-4ff9-9dde-3a7f9a1da66a@suse.com>
 <49e28768-3b9e-42da-922b-64b0bf8dec34@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: <49e28768-3b9e-42da-922b-64b0bf8dec34@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 17:11, Grygorii Strashko wrote:
> 
> Hi Jan,
> 
> On 11.03.25 17:35, Jan Beulich wrote:
>> On 11.03.2025 15:53, Grygorii Strashko wrote:
>>> On 05.03.25 12:37, Jan Beulich wrote:
>>>> On 24.02.2025 12:38, Grygorii Strashko wrote:
>>>>> Change rangeset parameters to "start, last" as proposed in [1],
>>>>> and add documentation for public interface.
>>>>>
>>>>> No functional changes.
>>>>>
>>>>> [1] https://patchwork.kernel.org/comment/26251962/
>>>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>>>
>>>> To be honest, this is getting too verbose for my taste. I also don't think
>>>> title and description fit together: One says the main thing the patch does
>>>> is add doc, the other says the main thing is the parameter renaming. When
>>>> then there's at least one further parameter which is also renamed, despite
>>>> not fitting the description.
>>>
>>> I can update subject and commit message and resend.
>>
>> This would address the latter part of my comment, but ...
>>
>>> Or you want me to drop some parts?
>>
>> ... only this would address the former part.
> 
> I'm very sorry, but I feel very much confused about your above comment :(
> 
> So I'd be appreciated if You can provide some clarification here.
> 
> 1) you do not want API documentation at all?
> 2) you want API documentation, but only for some API?
> 3) you are not satisfied with documentation style?
> 
> In case 3, how do you want it to be look like? Could you point on any .h or function in Xen,
> to inherit the doc style?
> 
> Here I've followed doxygen style (like in xen/include/xen/vmap.h for example)
> Before proceeding I've checked CODING_STYLE and other headers as well and saw that
> there is no generic style for code documentation.

As said, my take is that this ends up too verbose. Personally I'm happy
without any doc for these relatively simple interfaces. I could live
with something lightweight. And if other maintainers think having this
kind of extensive doc is useful, I also wouldn't veto this going in. But
in the current shape I don#t think I'm willing to ack it.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 18:35:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 18:35:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908853.1315898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts4Ro-00034z-S0; Tue, 11 Mar 2025 18:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908853.1315898; Tue, 11 Mar 2025 18:35: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 1ts4Ro-00034s-Oj; Tue, 11 Mar 2025 18:35:24 +0000
Received: by outflank-mailman (input) for mailman id 908853;
 Tue, 11 Mar 2025 18:35: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=QaIb=V6=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1ts4Rm-00034m-Pi
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 18:35:22 +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 917d611a-fea7-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 19:35:12 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e61d91a087so4631632a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 11:35:12 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e5c745d5cfsm8619384a12.19.2025.03.11.11.35.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 11:35: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: 917d611a-fea7-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741718112; x=1742322912; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=htF2N9p/aAIVZMCKfEGHMLMJDu/Sei2gfh7cJJB7TyQ=;
        b=GzeejAFca/Ir9xstoP84IBFmpRScfx1dAMi2mHBxcF6YycH2PAqzsgPpaZpWny+9HQ
         O4JzDkc4g9QM/LqJaREH9GsTqD1OwZLRzm85PJLbvI60N6ztkD5mA/Hh0VytDrbfQzzw
         znCUClFRzqSq6cVMrVvR8jqaj/qVfowqoIg8M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741718112; x=1742322912;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=htF2N9p/aAIVZMCKfEGHMLMJDu/Sei2gfh7cJJB7TyQ=;
        b=VsmfNSEk2Zb6sMtt2gnZpanNP3McJjASGjd48gn/K2hwIX8G/lrzwdrqvK4bwTzP2n
         DvQ/LZLlb10VKcdXptltI7dJ/tVGrMMrUXgakRHBLHX7QzMAnu1nef+7V7pmRViaUAwl
         KS+16kWTihwsMHjMiU/kzwblTeo4Ot8xnkXE83aX+DqL/bYuQIooIn6AHhHycZsJmKjM
         hLkvqnjjBpUlaPhp1BpOzLW2Pw/LLJODkFolQgRE1LO01onwAuj0uYzX9N8biQNF4CMj
         3TrR1p4pXeGSrCT+P2U803OsW67tKXWOpWQGwklhL9F2gI6dSQVPSLcK9Kz3UtCmTSKv
         UZrg==
X-Gm-Message-State: AOJu0YxfNCSUbrT6H46pjasZfsBawo3mhKORV2LonRpM3w9PJNrARIFR
	ha8Z68vijeRxLfEE+dQSI5zY24fyo6ElQPIzfJwV1rvU9R/8VxYmrghUFpCfE28=
X-Gm-Gg: ASbGncst0+3qPllLYcFbcg/PNgl2rX2IKd0jccEkjM9buqR4iJ8rD+AwFFcp9D5i4Vt
	EVoicFUVD4+U2ln2MjW2Gp/ePEutNX2++9bHSXON6GA/BesoMTTMSxLs9msyIt0apIs+i+i6gLs
	0HhpwywxSjfO3w46NNuC2IcNi4TDNHIiY62joJxny/mjwMivLujE29M/RW9l6WPDkyEJ212scLl
	RMHqPz6lvEaViHZPENWQwAasY9+tl6/YE1iYjxPdX6tTe60c0xC2CuYOlySw953KBB2DJli1BZC
	mHGdxYcK5SDq2BTIiiexboyprpLAbvkanhFy2IHh8rgY0DXv22E=
X-Google-Smtp-Source: AGHT+IGcHf61jKUTnaAIgdaEUfpQt8Di28ya7aIPnzou0v1dGsyW9MuvkZaBuSazAT0WgvIjGDNzwg==
X-Received: by 2002:a05:6402:270f:b0:5de:dfde:c8b1 with SMTP id 4fb4d7f45d1cf-5e5e229de50mr43768067a12.4.1741718111956;
        Tue, 11 Mar 2025 11:35:11 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 11 Mar 2025 18:35:09 +0000
Message-Id: <D8DNJHDNZNRD.1XOJK139C5PEI@cloud.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>, "Julien Grall" <julien@xen.org>,
 "Stefano Stabellini" <sstabellini@kernel.org>
Subject: Re: [PATCH v2] xen/page_alloc: Simplify domain_adjust_tot_pages
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
X-Mailer: aerc 0.18.2
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
 <Z9AwsrDBELe2UREz@macbook.local> <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>
 <Z9BZ-V8fWHOAwMJ7@macbook.local>
 <de418de2-b059-4f1e-92b0-42a236208b14@suse.com>
In-Reply-To: <de418de2-b059-4f1e-92b0-42a236208b14@suse.com>

On Tue Mar 11, 2025 at 3:45 PM GMT, Jan Beulich wrote:
> On 11.03.2025 16:42, Roger Pau Monn=C3=A9 wrote:
> > On Tue, Mar 11, 2025 at 02:53:04PM +0000, Alejandro Vallejo wrote:
> >> On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau Monn=C3=A9 wrote:
> >>> On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
> >>>> The logic has too many levels of indirection and it's very hard to
> >>>> understand it its current form. Split it between the corner case whe=
re
> >>>> the adjustment is bigger than the current claim and the rest to avoi=
d 5
> >>>> auxiliary variables.
> >>>>
> >>>> Add a functional change to prevent negative adjustments from
> >>>> re-increasing the claim. This has the nice side effect of avoiding
> >>>> taking the heap lock here on every free.
> >>>>
> >>>> While at it, fix incorrect field name in nearby comment.
> >>>>
> >>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> >>>
> >>> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >>
> >> Thanks.
> >>
> >>> I think it would be nice to also ensure that once the domain is
> >>> finished building (maybe when it's unpaused for the first
> >>> time?) d->outstanding_pages is set to 0.  IMO the claim system was
> >>> designed to avoid races during domain building, and shouldn't be used
> >>> once the domain is already running.
> >>>
> >>> Thanks, Roger.
> >>
> >> As a matter of implementation that's already the case by toolstack bei=
ng "nice"
> >> and unconditionally clearing claims after populating the physmap.
> >=20
> > I see.  Another option would be to refuse the unpause a domain if it
> > still has pending claims.  However I don't know how that will work out
> > with all possible toolstacks.
> >=20
> >> However, I agree the hypervisor should do it on its own. I didn't find=
 a
> >> suitable place for it.=20
> >=20
> > You could do it in arch_domain_creation_finished().
>
> Except that better wouldn't be arch-specific.
>
> Jan

Why would it have to be arch-specific though? As far as the hypervisor is
concerned, it doesn't seem to be.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 18:52:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 18:52:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908871.1315908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts4i8-0006gN-9g; Tue, 11 Mar 2025 18:52:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908871.1315908; Tue, 11 Mar 2025 18:52: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 1ts4i8-0006gG-3p; Tue, 11 Mar 2025 18:52:16 +0000
Received: by outflank-mailman (input) for mailman id 908871;
 Tue, 11 Mar 2025 18:52:14 +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 1ts4i6-0006fP-UO
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 18:52:14 +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 1ts4i6-00Eg9l-2W;
 Tue, 11 Mar 2025 18:52:14 +0000
Received: from [2a02:8012:3a1:0:d5e1:ab8b:3d02:5aa4]
 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 1ts4i6-004ab4-12;
 Tue, 11 Mar 2025 18:52: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=EIisbHXrg5iwS6s/4dMZJgpXXtialHm7BA+pr+x3Hy8=; b=NRDdjGv4o9Mpqid2Q6837+HnKu
	K+zpnawfuxsPfCr48nFTKJkjTDrZv6JRc3xCCTKzbSZRu7uPI3JwroZ/ZkLdAuDdsYj4vc6ByjR4O
	8kNE7vidFU54pTj6mXIkZ4U1svjkVpxU3bcr0Xu/xXjKUZSG5lkcxPX+dXIXsojzIqB8=;
Message-ID: <1d5aca81-ef32-4baf-a0c0-d648c43b2f77@xen.org>
Date: Tue, 11 Mar 2025 18:52:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 7/9] docs: update xenstore migration stream definition
Content-Language: en-GB
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-8-jgross@suse.com>
 <526952a6-eb7a-4055-bd3f-eae1af203f80@xen.org>
 <5316de12-303b-4a2e-af34-3029ac03153b@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5316de12-303b-4a2e-af34-3029ac03153b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 11/03/2025 09:58, JĂźrgen GroĂ wrote:
> On 11.03.25 10:43, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 04/02/2025 11:34, Juergen Gross wrote:
>>> In order to close a race window for Xenstore live update when using
>>> the new unique_id of domains, the migration stream needs to contain
>>> this unique_id for each domain known by Xenstore.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>> V8:
>>> - new patch
>>> ---
>>> Â  docs/designs/xenstore-migration.md | 14 +++++++++++++-
>>> Â  1 file changed, 13 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/docs/designs/xenstore-migration.md b/docs/designs/ 
>>> xenstore- migration.md
>>> index 082314bf72..fba691ee0d 100644
>>> --- a/docs/designs/xenstore-migration.md
>>> +++ b/docs/designs/xenstore-migration.md
>>> @@ -156,7 +156,7 @@ the domain being migrated.
>>> Â  ```
>>> Â Â Â Â Â  0Â Â Â Â Â Â  1Â Â Â Â Â Â  2Â Â Â Â Â Â  3Â Â Â Â Â Â  4Â Â Â Â Â Â  5Â Â Â Â Â Â  6Â Â Â Â Â Â  7Â Â Â  octet
>>> Â  +-------+-------+-------+-------+-------+-------+-------+-------+
>>> -| conn-idÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | conn-typeÂ Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| conn-idÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | conn-typeÂ Â Â Â  | uniq-id-offÂ Â  |
>>> Â  +-------------------------------+---------------+---------------+
>> Â >Â Â  | conn-spec>Â Â  ...
>>> @@ -165,6 +165,9 @@ the domain being migrated.
>>> Â  +---------------+---------------+-------------------------------+
>>> Â  | data
>>> Â  ...
>>> ++---------------------------------------------------------------+
>>> +| unique-idÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> ++---------------------------------------------------------------+
>>> Â  ```
>>> @@ -178,6 +181,12 @@ the domain being migrated.
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | 0x0001: socketÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | 0x0002 - 0xFFFF: reserved for future useÂ Â Â Â  |
>>> Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +| `uniq-id-off`Â  | The offset (in octets) of the `unique-id`Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | field from the start of the record body.Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | If 0, no `unique-id` field is present.Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | Only needed for `shared ring` connection inÂ  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | live update streams.Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>> +|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>>
>> Looking at the rest of the record, the unique ID would be past the in- 
>> data (length is 2-byte) and the out-data (length is 4-byte). So 
>> technically the offset would need 5-bytes. But here you are using 2- 
>> bytes. Can you explain why?
> 
> Good catch.
> 
> I think I need to change this to be a flag indicating that the unique-id
> is present and located at the next 8-byte boundary after "data".

This would work for me.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:04:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:04:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908887.1315917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts4uB-0008Se-ER; Tue, 11 Mar 2025 19:04:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908887.1315917; Tue, 11 Mar 2025 19:04: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 1ts4uB-0008SX-By; Tue, 11 Mar 2025 19:04:43 +0000
Received: by outflank-mailman (input) for mailman id 908887;
 Tue, 11 Mar 2025 19:04:42 +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 1ts4uA-0008SP-Jn
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:04:42 +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 1ts4uA-00EgR6-1B;
 Tue, 11 Mar 2025 19:04:42 +0000
Received: from [2a02:8012:3a1:0:d5e1:ab8b:3d02:5aa4]
 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 1ts4u9-004bd6-30;
 Tue, 11 Mar 2025 19:04: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>
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=yTqWG+q77ofATb9AUI2XDMk5hdzmbk9y5IIv/j7CXRw=; b=R0PaKPP1Ke7gJUOx+ZtYOs2poe
	96JAA6DO3Kaci/oNlc3aEJfwiExIYlor8Kc9OG2B/Y9jTbxsmN/Z5+tQn90YlgzJ53Tc5r4L6X2us
	/jMVqu59L/kDeZbgZ0PusgkNE/QLVRQAHFwJhyHzp0i5WvgF0FbJwdcC96//Zb+RyASI=;
Message-ID: <06966fe2-17f6-40b2-a0ac-56fad426c951@xen.org>
Date: Tue, 11 Mar 2025 19:04:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 1/9] xen/events: don't allow binding a global virq from
 any domain
Content-Language: en-GB
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-2-jgross@suse.com>
 <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
 <e6352575-c2cb-4616-b305-1cd64480de1a@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e6352575-c2cb-4616-b305-1cd64480de1a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 11/03/2025 09:51, JĂźrgen GroĂ wrote:
> On 11.03.25 10:35, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 04/02/2025 11:33, Juergen Gross wrote:
>>> Today Xen will happily allow binding a global virq by a domain which
>>> isn't configured to receive it. This won't result in any bad actions,
>>> but the bind will appear to have succeeded with no event ever being
>>> received by that event channel.
>>>
>>> Instead of allowing the bind, error out if the domain isn't set to
>>> handle that virq. Note that this check is inside the write_lock() on
>>> purpose, as a future patch will put a related check into
>>> set_global_virq_handler() with the addition of using the same lock.
>> Â > > Signed-off-by: Juergen Gross <jgross@suse.com>
>>
>> I see this patch was already committed. But I have a question about 
>> the logic.
>>
>>> ---
>>> V6:
>>> - new patch
>>> V7:
>>> - move handling domain check inside locked region (Jan Beulich)
>>> - style fix (Jan Beulich)
>>> ---
>>> Â  xen/common/event_channel.c | 21 +++++++++++++++++----
>>> Â  1 file changed, 17 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
>>> index 46281b16ce..cd6f5a1211 100644
>>> --- a/xen/common/event_channel.c
>>> +++ b/xen/common/event_channel.c
>>> @@ -120,6 +120,13 @@ static uint8_t 
>>> get_xen_consumer(xen_event_channel_notification_t fn)
>>> Â  /* Get the notification function for a given Xen-bound event 
>>> channel. */
>>> Â  #define xen_notification_fn(e) (xen_consumers[(e)->xen_consumer-1])
>>> +static struct domain *__read_mostly global_virq_handlers[NR_VIRQS];
>>> +
>>> +static struct domain *get_global_virq_handler(unsigned int virq)
>>> +{
>>> +Â Â Â  return global_virq_handlers[virq] ?: hardware_domain;
>>> +}
>>> +
>>> Â  static bool virq_is_global(unsigned int virq)
>>> Â  {
>>> Â Â Â Â Â  switch ( virq )
>>> @@ -469,6 +476,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, 
>>> evtchn_port_t port)
>>> Â Â Â Â Â  struct domain *d = current->domain;
>>> Â Â Â Â Â  intÂ Â Â Â Â Â Â Â Â Â Â  virq = bind->virq, vcpu = bind->vcpu;
>>> Â Â Â Â Â  intÂ Â Â Â Â Â Â Â Â Â Â  rc = 0;
>>> +Â Â Â  boolÂ Â Â Â Â Â Â Â Â Â  is_global;
>>> Â Â Â Â Â  if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) )
>>> Â Â Â Â Â Â Â Â Â  return -EINVAL;
>>> @@ -478,8 +486,9 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, 
>>> evtchn_port_t port)
>>> Â Â Â Â Â  * speculative execution.
>>> Â Â Â Â Â  */
>>> Â Â Â Â Â  virq = array_index_nospec(virq, ARRAY_SIZE(v->virq_to_evtchn));
>>> +Â Â Â  is_global = virq_is_global(virq);
>>> -Â Â Â  if ( virq_is_global(virq) && (vcpu != 0) )
>>> +Â Â Â  if ( is_global && vcpu != 0 )
>>> Â Â Â Â Â Â Â Â Â  return -EINVAL;
>>> Â Â Â Â Â  if ( (v = domain_vcpu(d, vcpu)) == NULL )
>>> @@ -487,6 +496,12 @@ int evtchn_bind_virq(evtchn_bind_virq_t *bind, 
>>> evtchn_port_t port)
>>> Â Â Â Â Â  write_lock(&d->event_lock);
>>> +Â Â Â  if ( is_global && get_global_virq_handler(virq) != d )
>>
>> What prevent a race between get_global_virq_handler() and 
>> set_global_virq_handler()? Also, it is not clear in the implementation 
>> of get_global_virq_handler() that it will ever only read 
>> global_virq_handlers[virq] once.
> 
> set_global_virq_handler() is taking the event_lock of the domain
> registered as handler.
> 
> So if a domain is registered for handling a virq, d->event_lock is
> protecting against the handling domain to be changed. Concurrent
> calls of set_global_virq_handler() are handled via taking the
> global_virq_handlers_lock spin_lock.

I agree this would work for evtchn_bind_virq() because we only ever 
compare. But I still wonder whether get_global_virq_handler() should 
gain an ACCESS_ONCE()? Could the compiler decide to read 
global_virq_handlers[...] twice and therefore return NULL?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:10:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908898.1315927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts4zD-0000dk-0C; Tue, 11 Mar 2025 19:09:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908898.1315927; Tue, 11 Mar 2025 19: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 1ts4zC-0000dd-Tv; Tue, 11 Mar 2025 19:09:54 +0000
Received: by outflank-mailman (input) for mailman id 908898;
 Tue, 11 Mar 2025 19:09: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=K949=V6=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ts4zB-0000dX-FB
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:09:53 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2414::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 681f2d5c-feac-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:09:51 +0100 (CET)
Received: from PH7P220CA0176.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:33b::29)
 by CYYPR12MB8961.namprd12.prod.outlook.com (2603:10b6:930:bf::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 19:09:46 +0000
Received: from CY4PEPF0000EE34.namprd05.prod.outlook.com
 (2603:10b6:510:33b:cafe::e4) by PH7P220CA0176.outlook.office365.com
 (2603:10b6:510:33b::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.23 via Frontend Transport; Tue,
 11 Mar 2025 19:09:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE34.mail.protection.outlook.com (10.167.242.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 19:09:46 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 11 Mar
 2025 14:09:45 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 11 Mar
 2025 14:09:45 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 11 Mar 2025 14:09:44 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 681f2d5c-feac-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Iaoxhv/OHWV/DgS2zlGVs7Vm3fAfKfmy+EPG+2vLjE0zNj9KULef2wLcUhpbdeMZkyEEbn7MuemsZq0ru5PwN2b31oedQU+exIK7nk0GHgnMwM0yz3WSM5APNl3byCRgBZuyqrz4tgbFolvLcLv6sItTDFMw03YfdCAZ1dDMYLPWqRBdHqoFbF+Ipj66eX4qCyKwnK1tFpecsyB4YJcNys2VH6ZJYjzKAPidZigAmdTEQlYMvo6+6IzsnuECzwRh4Vgtg0DXsPiiwVYh07zm2ulIYoLA0H0LZQWYAaujQgJJLAJe8gxgsnab2/XwbRZNdvPEKr/ErOZZiq/jksSmRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c5BvjoAyXkTv4tmyXhMuvwLaX8nRB8RQJ5nFvWXZLmA=;
 b=TH75VlHBuApC/iMxL25A2/lcrNf0IzAY8CGoNEbQfCfcnmEwqjMcwQlitXS9UnBpqG9/OzJ369ZfSQm0s8Ip9kMyIvjgRhF6ePW9qymj0UdhhjDLsS7Zpluvr2whOYlzOPC0zCPoTgO/iYnV23zGfNqur3DLTse1sQGQgzYhjWS/UMfObk76lRLVfjrchbz2KlyOCaGS5IV2r0Zm4KWHDXqypMxtWuQtBFE27M67vgeKmhi1Aa/2/rzHpfcRizwyUGFkb88vuZASpKN7RB3lbxyJq/NXvYzz+u+N9PoAeCAOv+byvHdvJXbE4FWoLYKnwIMB5jz3lJ/jOHpbJwYykQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=proton.me 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=c5BvjoAyXkTv4tmyXhMuvwLaX8nRB8RQJ5nFvWXZLmA=;
 b=v52EjrYePkhunXsVg4BHPVOA+gWU2uNPExdk7v/TtFb8mjTEcQ1BQLQdIiXo02FO9DyFcI4lsiZybwnI3SMFdR/UZViwA7+i1LteQ4GAHdbL+uTn1pPjKQsC+x4uKhdOqt8/0mfq0cilsiG8HxAiHAtz/sE3Bp7Ow1bqoEKsMqI=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <e3f298c9-db4c-4255-aa38-7313a54d4f84@amd.com>
Date: Tue, 11 Mar 2025 15:09:45 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/console: make console buffer size configurable
To: <dmkhn@proton.me>, <xen-devel@lists.xenproject.org>
CC: <andrew.cooper3@citrix.com>, <anthony.perard@vates.tech>,
	<jbeulich@suse.com>, <julien@xen.org>, <michal.orzel@amd.com>,
	<roger.pau@citrix.com>, <sstabellini@kernel.org>, <dmukhin@ford.com>
References: <20250311070912.730334-1-dmkhn@proton.me>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250311070912.730334-1-dmkhn@proton.me>
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: CY4PEPF0000EE34:EE_|CYYPR12MB8961:EE_
X-MS-Office365-Filtering-Correlation-Id: 1f2cdd99-4b00-4277-1a63-08dd60d049c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026|7053199007|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cDBJc2hnTDBCWmZKWWFaS2xPNjFkME1hSGRkVWxOK21vbHVBY1Iwak9NNTVz?=
 =?utf-8?B?dWM4VkFpV3dnLzlnZ3N6ZnkxQTFHZVFxbGlYNFZ3U0lQSVFmSUpJOUUvNnhh?=
 =?utf-8?B?eGRSQzZwWUJmRm45QWVmNkZtbkE5aGlaSTRTMDU0WnBDWHIyK2ZCZWFFT1ky?=
 =?utf-8?B?NEtEREZyM1I3ZUdCMVhqK2hhK3JZV1FMdHR0Mk95MGhmMEVQa0pGQWc3NWQ0?=
 =?utf-8?B?U1BtcjdrRVlEd1locUhvUzZrSzJIcnl4NUxOd1drckRLU1gyZThGSW4zbGhP?=
 =?utf-8?B?V3VEK2phKzVqNTJ3ejhrYTc5NHRmQ3hWRVN2Uzg2cVlCN2NJOFRmOTdDZFdn?=
 =?utf-8?B?dTZsbmE4TU9nUWxKL0xMVXllTkR0ZTVRVnVzNGtPc2lHa3k0WUNVZ3pOdDZG?=
 =?utf-8?B?bGYzSGVnb0ZCTUlXMHkyK1l3SmR5bjgreXozM3ZWMWxBNWN6WThzNGdnSmNI?=
 =?utf-8?B?RHhndzZPVng5a0tmeEZXVUIrN0hrQnF5RnlEQnIzVVk3cVJjTWI3V2t3WmhL?=
 =?utf-8?B?djhwaVBEcTRyUUJuM0xtSmxpcHFtSTlPYXJuRTRJMlIxcGRDc3dCb1RueitX?=
 =?utf-8?B?RWxNM2FDRUQzZno5SWRFSU1ibzRPVEExQTlKbmdwWFFjd1F0cmVQamVvOVBa?=
 =?utf-8?B?OHllK1gxMm5xL25Sb0ZwdTNORm8yTmlRNmhuN2NmQXF5Z01BZ2VibWNSc29y?=
 =?utf-8?B?ZW9uWDFQdkh4QzdEc3dySkREdEw0K0FFT3ZjQkR2c1JsM2E5ay84UmRxVkdQ?=
 =?utf-8?B?OFI4TTVTN3d3TGJCeEgwTUVvRWxMNFRINzlod3pYVys1dzRJcS9oK0tWU2pX?=
 =?utf-8?B?bGVQR2lyemREbjVkNFJablZpV2lQUjVDVDhTWkVTTi9sMzN3YkdYL1huR1pv?=
 =?utf-8?B?alY0T0hNNGJDVVRYZWdBanZ2MFRhR05XcXN6c2N1WUtPV0RIMittNXhYSGY1?=
 =?utf-8?B?dG10eCswR0Rpb0x0UHJGeGZlajZpQmRrZXduOEpFWGJUWkRiRU9YTVR6aEdX?=
 =?utf-8?B?ZjZLbEozd0VzSnBOTFFqMGlUL1dTRmswV1BZRjlQZWVid2FjNHJsS1IzUnhI?=
 =?utf-8?B?em4vbkhlRGttQmZkZlpuQ1BQRlZFNmk3Wncrc0M1K3JZR2xGT2dzMzZFTTZR?=
 =?utf-8?B?NmR6NFRwbVVVUG5FQ1FmK0diMnNLYlRSeE4xMlJQbDNQcWNLK21jYlBmZW4w?=
 =?utf-8?B?ZnRsZHFsbEJEZnBhQkhpVW5kQnIwM0J2RlFacnd2NlhYdHJEdHA5bjZUTGZG?=
 =?utf-8?B?ZWtUTjlQdlNQbW5RYWdlTDFlckMrRlR2OXVscmd4cDZwMS9Ka1lyM3ZDQ0Z0?=
 =?utf-8?B?R1NxOTNNYk9zMDR4RExtby9jV0dHcml6Vzdlb2xqOXoxVjk1Tmx0dE0vcjdX?=
 =?utf-8?B?Z0ZPbnU2eXlsNDR2OXQwUDE0MmpXQyswdVNUZllQNndydVFRaDd3S0RlbUND?=
 =?utf-8?B?UFA4bUNXUlZ5NGlsVDJMWVRKaHhNSDltUVM5R1NOcUcyM09nWWRxOVJXUkcx?=
 =?utf-8?B?SGhIbkIvVlJiZTRpR0dqSDNXZFNXL1JzQ0xWSjUxTVJZK2w1UXpxcHVXQVY3?=
 =?utf-8?B?cnA3NHdhVVUyYlRBWko1bkRWSE52K3hOZTFNUFk0UTBGMHhTSDl2dVp4U2tm?=
 =?utf-8?B?anpKeGQrZS94Wi9OUWdWTm1ySnJhUENEVEZmT1NzV1pmcE1SYVA2OW5INUtN?=
 =?utf-8?B?N0pqd1E0SWJoc1M4a1hWYjJ6emVJYjU0eThlTlZ5RTZDTGU3dlcwSEpPK25k?=
 =?utf-8?B?Si9QRDVNdVBYcWlJOGRKb3ByQXlWSUc1dFkyT0VKUVBxc2NOSllzVUp2dmlD?=
 =?utf-8?B?Q3o1ck1rMUsrMU5DeE9tUWhJTmlVT05vekNlRlEzK2o1dm1PSExqd0wrQ0po?=
 =?utf-8?B?RXV1K3VHOURDQ1hwc1Jnd1JFeHhEMCt0TVVZNVRSRWMrLy9PYXkybzZGbkRQ?=
 =?utf-8?B?T3VDMEk0TlZVYjlmbEIvWFpWVjQ3L3d2Vkd1bTRkOGphUU1QQ2VtancxSlhu?=
 =?utf-8?Q?S4sRmY74UymMV6xl6+judlCufCA/2w=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026)(7053199007)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 19:09:46.2008
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f2cdd99-4b00-4277-1a63-08dd60d049c7
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE34.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8961

On 2025-03-11 03:09, dmkhn@proton.me wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> Add new CONRING_SHIFT Kconfig parameter to specify the boot console buffer size
> as a power of 2.
> 
> The supported range is [14..27] -> [16KiB..128MiB].
> 
> Set default to 15 (32 KiB).
> 
> Resolves: https://gitlab.com/xen-project/xen/-/issues/185
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:12:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908908.1315938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts51k-00028T-Di; Tue, 11 Mar 2025 19:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908908.1315938; Tue, 11 Mar 2025 19:12: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 1ts51k-00028K-Au; Tue, 11 Mar 2025 19:12:32 +0000
Received: by outflank-mailman (input) for mailman id 908908;
 Tue, 11 Mar 2025 19:12: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=K949=V6=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ts51i-00028E-I9
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:12:30 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20614.outbound.protection.outlook.com
 [2a01:111:f403:2413::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5dbc595-feac-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:12:29 +0100 (CET)
Received: from BN0PR10CA0028.namprd10.prod.outlook.com (2603:10b6:408:143::34)
 by MW6PR12MB8758.namprd12.prod.outlook.com (2603:10b6:303:23d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 19:12:23 +0000
Received: from BN3PEPF0000B070.namprd21.prod.outlook.com
 (2603:10b6:408:143:cafe::50) by BN0PR10CA0028.outlook.office365.com
 (2603:10b6:408:143::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 19:12:23 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B070.mail.protection.outlook.com (10.167.243.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8558.0 via Frontend Transport; Tue, 11 Mar 2025 19:12:22 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 11 Mar
 2025 14:12:22 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 11 Mar
 2025 14:12:22 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 11 Mar 2025 14:12:21 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5dbc595-feac-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wWdgP0GeDdodL25s3VNNe8tPsMm0+6w6Efw+7cvEgya1X21x92MFR73p8cEV0FFMxkoNLMsCLoG7hou+beEoCLDKULIlXpaIV7NMcJ9UF6w7Q0khG0lypvvujV6rDUx9E1UYbUdhihfCUf6N24ye6uWA5xpf2V+TkeGO1KEy4ylWA9s0AT01tK/8ccq2DIwPF+5/46/Wn1fX/RZHhrJgZO2JLGps4Kq9gzJxALnil4L7TObsQLFFG/N1A49FA46zH4Y9Js4IPX/JDYdFJL272qrMK0CZ7w6X2rO2Z4pFo90e1QrpPslpfj/Ig23x3rCZWsBUzJsgUt3cxHaJLOUCJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yAq9LAI09hmZ0pSI0FVb34PvYl3m6Ujrztbyo1DIHeU=;
 b=aN0QGsz4QKuYDSAymXAW9yPR/avDZZSGLCwhtmYqvXXlTTb931fQJVykCkgAQZVFMa/QuIOygh8Ke/UPnv/iRyP1wgj3jKgwbrKKqaPUUtBng+P6GyGoNMowA0u1fJbJSSAf3i/f5sFJXmOrQNut92C2sAb8GQj4B9nv0wjanGJ5J+5eiJ8eaadkjcUUnGzcETAaGpqmlXfWuyQ2e04GzWEVmeM4uLLXPL9QgruCe0qwZ8N4ITqAVYPJHYCOQhg0cheULh3cXMKu5lZtbxtbjrvDpAMkGOgFpf9TkVuhiNtAwfhHBYWCuvqD6HTBy7YoNtNLzzUcJ5U5xXvoSUCkOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=proton.me 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=yAq9LAI09hmZ0pSI0FVb34PvYl3m6Ujrztbyo1DIHeU=;
 b=q4FRFGV14Y/OMizctqzf/CNTYpMqe1z+lmTij8XltTAr1byM71YNXdK2fnJQjPcKd/W01lh4HM8SEWoVe1UyFGZqDQL7jerJ2agJzjQMTopYOdbtetB/pdlXAOeXe+UuuxfROHGvEVwIirnQw8FtsJ2af3ofDqlT/BojsRYemsA=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <55c35901-de99-46a2-891d-991925e9bf7b@amd.com>
Date: Tue, 11 Mar 2025 15:12:22 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: add explanation for 'Resolved:'
To: <dmkhn@proton.me>, <xen-devel@lists.xenproject.org>
CC: <andrew.cooper3@citrix.com>, <anthony.perard@vates.tech>,
	<jbeulich@suse.com>, <julien@xen.org>, <michal.orzel@amd.com>,
	<roger.pau@citrix.com>, <sstabellini@kernel.org>, <dmukhin@ford.com>
References: <20250311072805.778362-1-dmkhn@proton.me>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250311072805.778362-1-dmkhn@proton.me>
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: BN3PEPF0000B070:EE_|MW6PR12MB8758:EE_
X-MS-Office365-Filtering-Correlation-Id: f40ebe40-b11d-4fdd-2c86-08dd60d0a707
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?blJYd0tsTFQ2Z1Awc2pjeGlQMmJzTFJNN2RFbWJCSlMvRWtPektxSDV4cytC?=
 =?utf-8?B?dG50Qm42RWY2VWdzQ2tab1hlbGMxOG5CbDdTQVhyYm85blo5TllrODRRUUV0?=
 =?utf-8?B?UWZWVUtldmdUMHVNSDVNbWsrb2NZZWh6WUNZaDdpVXdtbCtpQlFPbSs3Uk1D?=
 =?utf-8?B?TkFOdm5ZTEdIc0ZOMUp3RnhHYVRaWHVrSmNreGJ4eTQvOVRPZGduVkNpeW05?=
 =?utf-8?B?NE5aK0dqMVVEUXVlODFXTDhoaWZzKytSWHNDN0tuMGlPdE5GOURvTThKYWJ5?=
 =?utf-8?B?NGpLOE8ybHora1NhZUNJUzgxSkQ4R090YWJ6TUlxN2cyQkZlSzdVaTZaM21C?=
 =?utf-8?B?YzlyWFROOUp3ZFhteXc3NnpRRG1MNmpPL1pMTjVGOUp0Yk9qbk1wdXhFRStl?=
 =?utf-8?B?YXVrL2FyandKRGFrSmpHdGNzbXN0UjVSejN1MTZGYnNXamNVMExLU2VXVmo3?=
 =?utf-8?B?VDMvbGVBZTdnWG9mcVR4RTFnNjdjLzBPRk1QSkFWWkJDS0FMdGRCdnMyY1Ni?=
 =?utf-8?B?cW12YjJqNlBNRk05YVJtN2lpTnFhNVhCUzJHR0VhYklQL3hBV09GVm45OUF5?=
 =?utf-8?B?SHFaWmdNVHhqczdBbGxLTGFNbU1SUjVtc3FIbmlyczEydTI3Z3Rrby92bHor?=
 =?utf-8?B?aFBUc3ZXUEhod0hFdTM0SUpLdEx6VXVKVGUra0dBNVExUUl6WVlLOFZzQ1l1?=
 =?utf-8?B?U2pwQU9CUitLMTFjNlRwS2xobGQxQys3OXl5ZU5VMEdmeVJsWVR6cWkya1NV?=
 =?utf-8?B?N0lhNjNzaloyNjNHRVQ4TWlES2hoTDg3ZkY5bXFvKzJER3NMK0ZIYXZYTE1k?=
 =?utf-8?B?OFEvSUp6dnIwYk5ZZ2NZY2xSdjQyV1IzLzVaVDFSbXU5T0tnSngxa3VzWHoz?=
 =?utf-8?B?cnU0S1FNaTFJWmh4QUFnVVcwanJKM2tQR0FacVhUTGNwY2JkRUxZZ0RXRVdq?=
 =?utf-8?B?K2VTRkxheEVtVkZqMlFMQ01TaHhWeUxYeUJ1QlNreUhVY2ZuU0FCNEdzZytS?=
 =?utf-8?B?YTFiRytqS1lnUm9zbGIvQW5yOURCdDBsNXdXcDhlSFFsMFZsSERMdDNQNEJJ?=
 =?utf-8?B?bkRPYWdsTVNxNER0VVZIUUN0SUtKelhjcnp3NmNjWEZqQ2FYZFphL1BuYlhJ?=
 =?utf-8?B?TFVxdHhGd3hVTUFYaTYxZk1yb3RyT1Z1R3J5SEdjZlpieFZDSnJyWThBQjk3?=
 =?utf-8?B?SjVDWU5HWFpiM3M3ZGRPTEpKdWRwcXRWalpGTW9VYnFGT21rNjlKTHBpQ205?=
 =?utf-8?B?S1FrcGlhY1BwZ1NUSWZVT1ZMazUrZnltRXpNcDZYN2NmS1FqOVdENzlLaVFB?=
 =?utf-8?B?TTBhZ1FhSzZ2V2lFQ0RCbDd2YkJJNjBYZHBNWEF0dGNtNk1lSW5xdStCQkJ4?=
 =?utf-8?B?WUhobWs3WStKaWhqd0N0VzJ1WE1xcmtXU0tjeGMwa1U3RldBN29MR3doak0v?=
 =?utf-8?B?cTJoY3NTSllyTFNLbkcxSVV1bGowVGF6K2d0cmlpeVIvYVBYU082Z1RTMGFy?=
 =?utf-8?B?MTNCRG9ZTDNGMU5VRW53Q1F4anRFRm1wWGcybFFqOFcxa1pZc1EyQnRQazVX?=
 =?utf-8?B?MFBPbGVxckdjVFFIR1FuRFljRG1KMnF4RTgvUitxL0cvUHlyZ0NyWDgyU3d3?=
 =?utf-8?B?ZUk4QXc1YjJnejJyRy85OVhGK01QbFlsK3RNcE5xRDhMSWRvcXRPdWJ1RVR5?=
 =?utf-8?B?UXFEeFVmSGo0MUhaSmJIWlZRSUwyTHJFTWVmdjg0SUEvZ0JDMjRXMlc4aWRo?=
 =?utf-8?B?eVU4M3FOQS84UGwxTmFQd2ovbDcyOWZldEdheG9sZ0M4SmIrUExEajhKc1R5?=
 =?utf-8?B?cGNXT2QxeWlDc3dGT1o2ZTY2YnY4RWRONnZnY3MrY0pCbjFFQmhBMlFHZUIr?=
 =?utf-8?B?RGZjbmE2aUwxR1k3dzR3WXVPcmRRaDdpalBwWllTUGRzQjlCNHBxdk9nSkdk?=
 =?utf-8?B?S3VaSGl0UnRscytOOE1oUTQxcUNBOVo5dmJ0MUlGZEFvVjB1OWFkYlFYWnNy?=
 =?utf-8?Q?uxAy7/ouOugoOQ9WFwqV0M+SdDM0WU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 11 Mar 2025 19:12:22.7738
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f40ebe40-b11d-4fdd-2c86-08dd60d0a707
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B070.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8758

On 2025-03-11 03:28, dmkhn@proton.me wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> 'Resolves:' tag may be used if the patch addresses one of the tickets
> logged via Gitlab to auto-close such ticket when the patch got merged.
> 
> Add documentation for the tag.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

With the commit title change,

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

> ---
>   docs/process/sending-patches.pandoc | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-patches.pandoc
> index 2e74c3b57e..9fc3b407ff 100644
> --- a/docs/process/sending-patches.pandoc
> +++ b/docs/process/sending-patches.pandoc
> @@ -106,6 +106,18 @@ If git was configured as explained earlier, this can be retrieved using
>   ``git log --pretty=fixes`` otherwise ``git log --abbrev=12 --oneline`` will
>   give the proper tag and commit-id.
>   
> +### Resolves:
> +
> +If your patch addresses an issue logged in a GitLab ticket, use the `Resolves:`
> +tag followed by the issue link to automatically close the ticket when the patch
> +is merged.
> +
> +    Resolves: <URL>
> +
> +E.g.:
> +
> +    Resolves: https://gitlab.com/xen-project/xen/-/issues/185

(I'd find it funny if you created a new issue about documenting 
"Resolved:" to place as the example.)

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:24:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:24:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908916.1315948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5Cw-0003m7-Cj; Tue, 11 Mar 2025 19:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908916.1315948; Tue, 11 Mar 2025 19:24: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 1ts5Cw-0003m0-9g; Tue, 11 Mar 2025 19:24:06 +0000
Received: by outflank-mailman (input) for mailman id 908916;
 Tue, 11 Mar 2025 19:24:05 +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 1ts5Cv-0003lu-H7
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:24:05 +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 1ts5Cv-00Ego8-0r;
 Tue, 11 Mar 2025 19:24:05 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts5Cu-004dQA-2k;
 Tue, 11 Mar 2025 19: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>
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=T8pDDfqiNYE9wbTi+9caOXXVuMwuRMwSdJwk43OMT/k=; b=wMeHvJ7OR+kyOd1kGVDcFWPEoj
	Q9N+M1GTtAvTM0ad+nFhnrHKcDhRJQnuvfSJ2OEFaDpGIvmKwGLl9mAyNmQWosWzJcUQnx+BS5nFV
	a0ULwBh5d5EzwVNvoPOiOJSJDDuGndpK8YaSLx8kEd4aZd8ejoKc05THYPc1FU5oNgVg=;
Message-ID: <540cc8cc-1a05-4b0d-9354-2e5c835513ad@xen.org>
Date: Tue, 11 Mar 2025 19:24:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] xen/arm: allow PCI host bridge to have private
 data
Content-Language: en-GB
To: Grygorii Strashko <grygorii_strashko@epam.com>,
 Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
 <cd3bd35a570064e1b03054bab73e29aa1578bd24.1741596512.git.mykyta_poturai@epam.com>
 <8c7b7186-c5eb-4ec7-a2b2-fdad76aacf9d@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8c7b7186-c5eb-4ec7-a2b2-fdad76aacf9d@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 11/03/2025 15:05, Grygorii Strashko wrote:
> 
> 
> On 11.03.25 12:24, Mykyta Poturai wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>
>> Some of the PCI host bridges require private data. Create a generic
>> approach for that, so such bridges may request the private data to
>> be allocated during initialization.
>>
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>> ---
>> v1->v2:
>> * no change
>> ---
>> Â  xen/arch/arm/include/asm/pci.hÂ Â Â Â Â  |Â  4 +++-
>> Â  xen/arch/arm/pci/pci-host-common.cÂ  | 18 +++++++++++++++++-
>> Â  xen/arch/arm/pci/pci-host-generic.c |Â  2 +-
>> Â  xen/arch/arm/pci/pci-host-zynqmp.cÂ  |Â  2 +-
>> Â  4 files changed, 22 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/ 
>> asm/pci.h
>> index 7f77226c9b..44344ac8c1 100644
>> --- a/xen/arch/arm/include/asm/pci.h
>> +++ b/xen/arch/arm/include/asm/pci.h
>> @@ -66,6 +66,7 @@ struct pci_host_bridge {
>> Â Â Â Â Â  uint16_t segment;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* Segment number */
>> Â Â Â Â Â  struct pci_config_window* cfg;Â Â  /* Pointer to the bridge config 
>> window */
>> Â Â Â Â Â  const struct pci_ops *ops;
>> +Â Â Â  void *priv;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* Private data of the bridge. */
>> Â  };
>> Â  struct pci_ops {
>> @@ -95,7 +96,8 @@ struct pci_ecam_ops {
>> Â  extern const struct pci_ecam_ops pci_generic_ecam_ops;
>> Â  int pci_host_common_probe(struct dt_device_node *dev,
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const struct pci_ecam_ops *ops);
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const struct pci_ecam_ops *ops,
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  size_t priv_sz);
>> Â  int pci_generic_config_read(struct pci_host_bridge *bridge, 
>> pci_sbdf_t sbdf,
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t reg, uint32_t len, uint32_t 
>> *value);
>> Â  int pci_generic_config_write(struct pci_host_bridge *bridge, 
>> pci_sbdf_t sbdf,
>> diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/ 
>> pci-host-common.c
>> index c0faf0f436..be7e6c3510 100644
>> --- a/xen/arch/arm/pci/pci-host-common.c
>> +++ b/xen/arch/arm/pci/pci-host-common.c
>> @@ -209,7 +209,8 @@ static int pci_bus_find_domain_nr(struct 
>> dt_device_node *dev)
>> Â  }
>> Â  int pci_host_common_probe(struct dt_device_node *dev,
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const struct pci_ecam_ops *ops)
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  const struct pci_ecam_ops *ops,
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  size_t priv_sz)
>> Â  {
>> Â Â Â Â Â  struct pci_host_bridge *bridge;
>> Â Â Â Â Â  struct pci_config_window *cfg;
>> @@ -241,11 +242,26 @@ int pci_host_common_probe(struct dt_device_node 
>> *dev,
>> Â Â Â Â Â Â Â Â Â  printk(XENLOG_ERR "Inconsistent \"linux,pci-domain\" 
>> property in DT\n");
>> Â Â Â Â Â Â Â Â Â  BUG();
>> Â Â Â Â Â  }
>> +
>> Â Â Â Â Â  bridge->segment = domain;
>> +
>> +Â Â Â  if ( priv_sz )
>> +Â Â Â  {
>> +Â Â Â Â Â Â Â  bridge->priv = xzalloc_bytes(priv_sz);
>> +Â Â Â Â Â Â Â  if ( !bridge->priv )
>> +Â Â Â Â Â Â Â  {
>> +Â Â Â Â Â Â Â Â Â Â Â  err = -ENOMEM;
>> +Â Â Â Â Â Â Â Â Â Â Â  goto err_priv;
>> +Â Â Â Â Â Â Â  }
>> +Â Â Â  }
>> +
> 
> I'd like to propose to move allocation into pci_alloc_host_bridge()
> to keep mallocs in one place and do it earlier, before proceeding
> with other initialization steps.

In both cases, we need to pass the size of the structure in parameter 
and the structure is not initialized until later. I would rather prefer
if the allocation is done by each PCI controller that needs it close to 
the initialization of "priv".

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:33:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:33:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908932.1315958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5Lm-00079b-BE; Tue, 11 Mar 2025 19:33:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908932.1315958; Tue, 11 Mar 2025 19:33: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 1ts5Lm-00079U-8N; Tue, 11 Mar 2025 19:33:14 +0000
Received: by outflank-mailman (input) for mailman id 908932;
 Tue, 11 Mar 2025 19:33:13 +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 1ts5Lk-00079M-Un
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:33:12 +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 1ts5Lk-00EgxN-2R;
 Tue, 11 Mar 2025 19:33:12 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts5Lk-004e7l-13;
 Tue, 11 Mar 2025 19:33: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=8+Kf1muwSYCtyhpjx0IL4bWcMsMpnMCRS2itN1mvUhw=; b=0NhHf9sCe9beTKYAA8ZWI4pWRG
	aDdk6H3yOEN5Ssq73n4bighc+6HkRv4xpIKq3kUdVIfuUAiSaFuVRB0yuhTk+Qgjty1/67vM6bOqC
	scpbkk8ymVMYhtvugS5MRp+OS1cfGWiBxRwhCqwkFuh/beyF4CCGx6R+nYEcesd/pypg=;
Message-ID: <4a6cfb94-a73b-4a82-9e1f-9b4f058c3d13@xen.org>
Date: Tue, 11 Mar 2025 19:33:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm: fix iomem permissions cfg in
 map_range_to_domain()
Content-Language: en-GB
To: Grygorii Strashko <grygorii_strashko@epam.com>,
 Grygorii Strashko <gragst.linux@gmail.com>, 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250218112253.3136505-1-grygorii_strashko@epam.com>
 <20250218112253.3136505-2-grygorii_strashko@epam.com>
 <8f0c8df3-3e6c-40a4-a88e-b81174a170f6@xen.org>
 <f938f8f2-052b-4456-947e-2f8925eb406b@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f938f8f2-052b-4456-947e-2f8925eb406b@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 11/03/2025 11:31, Grygorii Strashko wrote:
> Hi
> 
> On 19.02.25 13:25, Julien Grall wrote:
>> Hi Grygorii,
>>
>> On 18/02/2025 11:22, Grygorii Strashko wrote:
>>> Now the following code in map_range_to_domain()
>>>
>>> Â Â Â Â  res = iomem_permit_access(d, paddr_to_pfn(addr),
>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
>>>
>>> calculates the iomem range end address by rounding it up to the next Xen
>>> page with incorrect assumption that iomem range end address passed to
>>> iomem_permit_access() is exclusive, while it is expected to be 
>>> inclusive.
>>> It gives Control domain (Dom0) access to manage incorrect MMIO range 
>>> with
>>> one additional page.
>>>
>>> For example, if requested range is [00e6140000:00e6141004] then it 
>>> expected
>>> to add [e6140:e6141] range (num_pages=2) to the domain iomem_caps 
>>> rangeset,
>>> but will add [e6140:e6142] (num_pages=3) instead.
>>>
>>> To fix it, drop PAGE_ALIGN() from the iomem range end address 
>>> calculation
>>> formula.
>>>
>>> Fixes: 33233c2758345 ("arch/arm: domain build: let dom0 access I/O 
>>> memory
>>> of mapped devices")
>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> Reviewed-by: Julien Grall <jgrall@amazon.com>
> 
> Sorry, that I'm disturbing you, but do i need to perform any additional 
> actions here?

Thanks for the reminder. The tree only re-opened a few days ago and I 
haven't had a chance to go through the list of pending patches. I have 
pushed them to a branch. If the CI pass, then I will push them to staging.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:37:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:37:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908943.1315967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5PJ-0007lX-R8; Tue, 11 Mar 2025 19:36:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908943.1315967; Tue, 11 Mar 2025 19: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 1ts5PJ-0007lQ-Nv; Tue, 11 Mar 2025 19:36:53 +0000
Received: by outflank-mailman (input) for mailman id 908943;
 Tue, 11 Mar 2025 19:36: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 1ts5PI-0007lK-Oz
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:36: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 1ts5PI-00Eh1P-1r;
 Tue, 11 Mar 2025 19:36:52 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts5PI-004eVb-0a;
 Tue, 11 Mar 2025 19:36: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=nuc77kcg8Fu1fIijdrXHFfAop3urzcms+cPvhW/EmsQ=; b=pCllKaRI1NIwJJP2cMV8qwN2eN
	XwWRSGlkMwDDlvpJviksvY2uYJM/ZAEbF3Cw5TEuAG9txZ88zM2nr1XuSR9aS0JX58S1Scv8izOLT
	HDBzNTa+CRbk0956T4Edb70n8bBO4ayMi/fKFka68RIVcDf4S4mDqgEH45ZE3go935dw=;
Message-ID: <2eeaa891-8a6b-4bc6-b544-e825a60e8887@xen.org>
Date: Tue, 11 Mar 2025 19:36:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs: specify numerical values of Xenstore commands
Content-Language: en-GB
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250311073131.13539-1-jgross@suse.com>
 <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
 <eb440a72-5016-4eb3-928c-d441268b2189@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <eb440a72-5016-4eb3-928c-d441268b2189@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 11/03/2025 09:40, JĂźrgen GroĂ wrote:
> On 11.03.25 10:21, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 11/03/2025 07:31, Juergen Gross wrote:
>>> In docs/misc/xenstore.txt all Xenstore commands are specified, but
>>> the specifications lack the numerical values of the commands.
>>>
>>> Add a table with all commands, their values, and a potential remark
>>> (e.g. whether the command is optional).
>>>
>>> Reported-by: Jan Beulich <jbeulich@suse.com>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>> V2:
>>> - replace "Ĺ" with plain "r" (Jan Beulich)
>>> - replace hard tabs with blanks (Jan Beulich)
>>> - allow GET_FEATURES and GET_QUOTA support without SET_* (Jan Beulich)
>>> ---
>>> Â  docs/misc/xenstore.txt | 57 ++++++++++++++++++++++++++++++++++++++++++
>>> Â  1 file changed, 57 insertions(+)
>>>
>>> diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
>>> index 7e1f031520..8b4b790e11 100644
>>> --- a/docs/misc/xenstore.txt
>>> +++ b/docs/misc/xenstore.txt
>>> @@ -86,6 +86,63 @@ parts of xenstore inaccessible to some clients.  
>>> In any case passing
>>> Â  bulk data through xenstore is not recommended as the performance
>>> Â  properties are poor.
>>> +---------- Defined Xenstore message types ----------
>>> +
>>> +Below is a table with all defined Xenstore message types (type name
>>> +and its associated numerical value).
>>> +
>>> +Some types are optional to be supported by a specific Xenstore
>>> +implementation.Â  If an optional type is not supported by a Xenstore
>>> +implementation, Xen tools will continue to work, maybe with slightly
>>> +reduced functionality.Â  A mandatory type not being supported will
>>> +result in severely reduced functionality, like inability to create
>>> +domains.Â  In case a type is optional, this is stated in the table with
>>> +the lost functionality in case Xenstore doesn't support that type.
>>> +
>>> +XS_CONTROLÂ Â Â Â Â Â Â Â Â Â Â Â Â Â  0Â Â Â  optional
>>> +Â Â Â  If not supported, xenstore-control command will not work.
>>
>> Are we documenting anywhere how a user could figure out if the command 
>> is not supported? Is it a specific error code?
> 
> I can add that not supported commands will return "ENOSYS" as an error
> response.

Yes please.

> 
>>
>>> +Â Â Â  XS_DEBUG is a deprecated alias of XS_CONTROL.
>> Â > +XS_DIRECTORYÂ Â Â Â Â Â Â Â Â Â Â Â  1> +XS_READÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  2
>>> +XS_GET_PERMSÂ Â Â Â Â Â Â Â Â Â Â Â  3
>>> +XS_WATCHÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  4
>>> +XS_UNWATCHÂ Â Â Â Â Â Â Â Â Â Â Â Â Â  5
>>> +XS_TRANSACTION_STARTÂ Â Â Â  6
>>> +XS_TRANSACTION_ENDÂ Â Â Â Â Â  7
>>> +XS_INTRODUCEÂ Â Â Â Â Â Â Â Â Â Â Â  8
>>> +XS_RELEASEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â  9
>>> +XS_GET_DOMAIN_PATHÂ Â Â Â Â  10
>>> +XS_WRITEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  11
>>> +XS_MKDIRÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  12
>>> +XS_RMÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  13
>>> +XS_SET_PERMSÂ Â Â Â Â Â Â Â Â Â Â  14
>>> +XS_WATCH_EVENTÂ Â Â Â Â Â Â Â Â  15
>>> +Â Â Â  Not valid in client sent messages.
>>> +Â Â Â  Only valid in Xenstore replies.
>>> +XS_ERRORÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  16
>>> +Â Â Â  Not valid in client sent messages.
>>> +Â Â Â  Only valid in Xenstore replies.
>>> +XS_IS_DOMAIN_INTRODUCED 17
>>> +XS_RESUMEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â  18
>>> +XS_SET_TARGETÂ Â Â Â Â Â Â Â Â Â  19
>>> +XS_RESTRICTÂ Â Â Â Â Â Â Â Â Â Â Â  20Â Â Â  no longer supported
>>> +Â Â Â  XS_RESTRICT has been removed, the type value 20 is invalid.
>>> +XS_RESET_WATCHESÂ Â Â Â Â Â Â  21
>>> +XS_DIRECTORY_PARTÂ Â Â Â Â Â  22Â Â Â  optional
>>> +Â Â Â  If not supported, the output of xenstore-ls might be incomplete
>>> +Â Â Â  with more than ca. 1000 domains active.
>>
>> Why are we making this specific to number of domains? Wouldn't the 
>> problem be the same if you have 1000 node within a parent node?
> 
> Let me reiterate the answer I gave to Jan when he asked:
 > >  Â  And elsewhere there can't be very many nodes resulting in a similar
>  Â  situation?
 > > Not without someone trying to force this by will (only possible by a
> root user of dom0, e.g. via creating lots of nodes in the same directory
> via "xenstore-write").

That's assuming the admin has not changed the default quotas, right?

> 
> Having lots of domains is an "easy" way to create this scenario via
> perfectly valid and sensible operations.
 > >
> I can rephrase the remark like this:
> 
>  Â Â Â  If not supported, the output of xenstore-ls might be incomplete
>  Â Â Â  with a node's sub-node list exceeding the maximum payload size
>  Â Â Â  (e.g. the "/local/domain" node with more than ca. 1000 domains
>  Â Â Â  active).


That would be better. It doesn't tie the problem to the default quotas.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:48:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:48:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908956.1315977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5ao-0003gb-Pv; Tue, 11 Mar 2025 19:48:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908956.1315977; Tue, 11 Mar 2025 19:48: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 1ts5ao-0003gS-ND; Tue, 11 Mar 2025 19:48:46 +0000
Received: by outflank-mailman (input) for mailman id 908956;
 Tue, 11 Mar 2025 19:48:44 +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 1ts5am-0003gM-PW
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:48:44 +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 1ts5am-00EhGJ-0T;
 Tue, 11 Mar 2025 19:48:43 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts5al-004faE-2L;
 Tue, 11 Mar 2025 19:48: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>
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=TJlnoiYYq927Z7VW+GXTZR5cKDu3dweX8iy8nMx8GoA=; b=W2gY1oG+KxlwE83o9NX2eVTnbX
	t8C8Gy7PUJea0wCgXPEWFIjpe6XjJFx3MHqQJ+T3JxMUsUq9TLhhEaTy5R6nAYe5JtblY6ea96Waw
	8sb6POc+8G7oAkjgaInLep6UdUKMHaE5r+rH+Wnp84Alm9FyXDmowOLusaAxl4HTEWWs=;
Message-ID: <08bb0c67-f5c4-401d-be63-5c20d0297b59@xen.org>
Date: Tue, 11 Mar 2025 19:48:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MISRA: Rephrase the deviation for Directive 4.10
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 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>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20250304235701.2770842-1-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2503041616560.1303386@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2503041616560.1303386@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/03/2025 00:17, Stefano Stabellini wrote:
> On Tue, 4 Mar 2025, Andrew Cooper wrote:
>> The use of "legitimately" mixes the concepts of "it was designed to do this"
>> and "it was correct to do this".
>>
>> The latter in particular can go stale.  "intended" is a better way of phrasing
>> this.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
 > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Going through my email, I noticed this patch was not committed. I wonder 
if there was any reason?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908967.1316007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k3-0006zM-7k; Tue, 11 Mar 2025 19:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908967.1316007; Tue, 11 Mar 2025 19: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 1ts5k3-0006zF-5B; Tue, 11 Mar 2025 19:58:19 +0000
Received: by outflank-mailman (input) for mailman id 908967;
 Tue, 11 Mar 2025 19: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k1-0006Vp-9A
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:17 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2911048d-feb3-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:58:12 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-22398e09e39so111117945ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:12 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2911048d-feb3-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723091; x=1742327891; 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=BJxldrM9ls/rNwHOkfKDTsLlkFzxI4z634GC5RzciYk=;
        b=orfmFdNRqNculAonDC3XWTfCxovbgkTX1Ib2cWeMu1xhP+mzl57lZlHgL78LN/8xCF
         30DhzAwVihQSWI8227+l64dbXcflrtAuHd00QXfWUjdedBAcWJ+lQ/sAURXO5gBQk1Wh
         +K1MHVwf60CaKVXHH2Bmc0TZSVqdMOGeseWbulz1lN0QZUWhKoxQRt2ZsHvJVzTqGtLr
         ZsNhsg8Df8HJ77zb5+ZWU2hhL9gI7t3zSKkQmyXiZ/sB49bvd0Bn/8mpOScUK9+Vnw2X
         YIZmLcvoRS9xWHP1hj+txAaK8wD76Ot7XTWAJ1+laxhVMfLfmNud8VEoD1uCNuFfvPxM
         o/Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723091; x=1742327891;
        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=BJxldrM9ls/rNwHOkfKDTsLlkFzxI4z634GC5RzciYk=;
        b=jAO62UcgOKRgbXWr1EqGG/rnypEffXBHKJ2dyj+7J5/JkzRW/DxHDJld6A+zTEKJFl
         PnrV12Bm93N23cqe/+tJsiirmk6P9Eadbl48oE03UrfOgpp9eHASPl+HvNNEHgXSy9jk
         qUgemCv1Izxy4MG+6lXSQTZatfdp9UrpG+Kd+Ze/RTjGzZBxcU6p28J4xvf/YdGednpL
         mNXVGJVWc+CiZIUo7+vmtE1GdM1Ph/YQyd25wffKXKBCRv0HFVo4JlCDTKPG64TtoGPB
         5U6jZUGN8Ur5ndLTaxh/6oFXEF8F1PjT/zinoDUI9tHjmxcFyPEeX8zTgCx5BYNaXAhy
         AaZQ==
X-Forwarded-Encrypted: i=1; AJvYcCV2pghR2axqoNBS+UXdpzmKC6AcyzBFqj71SvU0Vyc7t+BIMUTQ9Ye6Sbozlr77zt07Sqbr+pBh9Qg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzcc7FtqkpLkg8nzTvMMUpJ9WuovD1LoNdcR8XbUl3bWPxN5UTV
	HTkfPZH9EM4BF05rHOo68AHk66dAKQzsQoXh/iC9y+ocftAvjK2O39S3/xdPjsU=
X-Gm-Gg: ASbGnctRaTqk2C9Zlu2YCsVSexbZToT26pVKdL/0ka/V63LTMhtX231zTeOH7wWd7r1
	TBD6UwdSue1mk2mUfkKDIRG3yRSadfLxl9D1SO/2fikv1Q+b+DxV+CGireul+8VPySiwasS2i7L
	xJfvN3LvEBsevUOhiSFOozpNK6ZLtR8IOLOgirM4kQi6nJStagoneLtQM54QGWjuKCQDfJiqjo4
	Nh/JhmPrUHi+3Z0xVIEP62FE0nDPnJViOK8T1s4EvDw6shelxqqnv4ccP6pUY2c+/fIKPYWmdZ1
	XHfYAA/w3vMCMPSdH63FooIEcEZ0Z/VHEkWWRHCeGeCt
X-Google-Smtp-Source: AGHT+IHOrb1ktHbDIJg0LAeBD9OfAq2o4wANofPbWEj8d4iUXmKit5ZY6qUoI1jOxUcgyXZ2QfV68A==
X-Received: by 2002:a17:903:32ce:b0:223:39ae:a98 with SMTP id d9443c01a7336-22428a98102mr318619255ad.22.1741723090697;
        Tue, 11 Mar 2025 12:58:10 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 00/17] make system memory API available for common code
Date: Tue, 11 Mar 2025 12:57:46 -0700
Message-Id: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The main goal of this series is to be able to call any memory ld/st function
from code that is *not* target dependent. As a positive side effect, we can
turn related system compilation units into common code.

The first 5 patches remove dependency of memory API to cpu headers and remove
dependency to target specific code. This could be a series on its own, but it's
great to be able to turn system memory compilation units into common code to
make sure it can't regress, and prove it achieves the desired result.

The next patches remove more dependencies on cpu headers (exec-all,
memory-internal, ram_addr).
Then, we add access to a needed function from kvm, some xen stubs, and we
finally can turn our compilation units into common code.

Every commit was tested to build correctly for all targets (on windows, linux,
macos), and the series was fully tested by running all tests we have (linux,
x86_64 host).

v2:
- reorder first commits (tswap change first, so memory cached functions can use it)
- move st/ld*_p functions to tswap instead of bswap
- add define for target_words_bigendian when COMPILING_PER_TARGET, equals to
  TARGET_BIG_ENDIAN (avoid overhead in target code)
- rewrite devend_memop
- remove useless exec-all.h in concerned patch
- extract devend_big_endian function to reuse in system/memory.c
- rewrite changes to system/memory.c

v3:
- move devend functions to memory_internal.h
- completed description for commits removing cpu.h dependency

Pierrick Bouvier (17):
  exec/tswap: target code can use TARGET_BIG_ENDIAN instead of
    target_words_bigendian()
  exec/tswap: implement {ld,st}.*_p as functions instead of macros
  exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
  exec/memory_ldst_phys: extract memory_ldst_phys declarations from
    cpu-all.h
  exec/memory.h: make devend_memop "target defines" agnostic
  codebase: prepare to remove cpu.h from exec/exec-all.h
  exec/exec-all: remove dependency on cpu.h
  exec/memory-internal: remove dependency on cpu.h
  exec/ram_addr: remove dependency on cpu.h
  system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
    common code
  exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
  hw/xen: add stubs for various functions
  system/physmem: compilation unit is now common to all targets
  include/exec/memory: extract devend_big_endian from devend_memop
  include/exec/memory: move devend functions to memory-internal.h
  system/memory: make compilation unit common
  system/ioport: make compilation unit common

 include/exec/cpu-all.h              | 66 -----------------------
 include/exec/exec-all.h             |  1 -
 include/exec/memory-internal.h      | 21 +++++++-
 include/exec/memory.h               | 30 ++++-------
 include/exec/ram_addr.h             | 11 ++--
 include/exec/tswap.h                | 81 +++++++++++++++++++++++++++--
 include/system/kvm.h                |  6 +--
 include/tcg/tcg-op.h                |  1 +
 target/ppc/helper_regs.h            |  2 +
 include/exec/memory_ldst.h.inc      |  4 --
 include/exec/memory_ldst_phys.h.inc |  5 +-
 cpu-target.c                        |  1 +
 hw/ppc/spapr_nested.c               |  1 +
 hw/sh4/sh7750.c                     |  1 +
 hw/xen/xen_stubs.c                  | 56 ++++++++++++++++++++
 page-vary-target.c                  |  2 +-
 system/ioport.c                     |  1 -
 system/memory.c                     | 17 ++----
 target/riscv/bitmanip_helper.c      |  2 +-
 hw/xen/meson.build                  |  3 ++
 system/meson.build                  |  6 +--
 21 files changed, 192 insertions(+), 126 deletions(-)
 create mode 100644 hw/xen/xen_stubs.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908968.1316013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k3-00071w-H5; Tue, 11 Mar 2025 19:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908968.1316013; Tue, 11 Mar 2025 19: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 1ts5k3-000715-CZ; Tue, 11 Mar 2025 19:58:19 +0000
Received: by outflank-mailman (input) for mailman id 908968;
 Tue, 11 Mar 2025 19: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k2-0006Vp-9T
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:18 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bc930c6-feb3-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:58:16 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-224171d6826so18620055ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:16 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2bc930c6-feb3-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723095; x=1742327895; 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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=WpuoPihMRMWrkVQBNjGQPnYo/jH2kb+d7qiiBz3VVnnX47fUwlpUzdlYoTdG1C8RPp
         qjjq9C1OajdubFUsehFC1pwmTWieQ2d3CvwRG+O68o2HeAXuvRbbVcdjc/k+LOyGPV6u
         iiOdcLQeP1OXEYUIteISVOkO7vshd/5YSnj0WpBOzEuLW6wVafDcbHpEV1hdAn2Rl2Db
         0jSazE1cUxO1l5VZQcgA0aIA30fNYgNOqCs0Kr5BvPZIjoJSi46hBDZVzgztifKBhGRK
         xn3ErySzKASOj6vZwTHTDaHRfyiq342cyU35VVrpMsSjr3T6psEBCJ5A5DoXH80tCrmH
         D6oQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723095; x=1742327895;
        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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=bSjO5s2LDVUkxIPrR6FjSZ+U5U7owNuA9XsZONcvngUYpGU5VT2B+oL9x5kt+AYjcO
         GRdw2DYY0zuSZ/bHiU0ZIo6Bh5LhEvnuNc8H1N7MLh+4h7DofGPH2cTPFu/18RjmNPZx
         I+wL+QqqOE7q+5sGNBTkaid9ZMPSDHALaQ5uK7PZ7tIhc5UeEICLNuutG5VHey192yCc
         iek9sdX/PTueB/g9ijqAsVEeq/9cBXM6xZsisij4eE2eLusQ4eeHStSjP0Z86sdXNx9d
         Rj9z+m3/0s+ynu+W1yjM+Xv2gD7m8uBeFZnYX87cBmNDrNkHWHszm9FZ5byGEiQln1UL
         YEbA==
X-Forwarded-Encrypted: i=1; AJvYcCVTSuztSLtGOQ7gKij447HK51dFXVdTFGuS25FoCktVoo+JwOpeWIEO/BBL8z3ghv1XInX0WsTN3zA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxwpg99iECUkUKmm7jE574q/Ud4WicFuMjax9RtO3ux6vRvc5hI
	SoKtQo7bYrzWzSsyF2pAwkDGkRdH3UREiIJ5VZ20Q3DwaG9yknJzU8Wkv90jUNM=
X-Gm-Gg: ASbGncvmUJofnjrukt5Oe0rzahbTzypGLtlGO6RqWaRay1Epj+aU3v/c7lt/Bw7hmBg
	QhBS4w6rhmzQjiz1VJo9zH85TCLVC9l84WLhdh/ZUJdgd4lH3HpWLkwuwSidWvxH9P3IWjTTMuV
	1GHhHdOW+TSrSANSSv7dV2up7g0e88Unt/0fSJYEJBc91LvRkg0nzljWyqWXKav3IPb1JCGE0nJ
	j9+s1dYTFfHW48hBHKBYXV/68yrdOyTjmvFml/6K1GcB4cKKf6jLN/pHt9XeWML9Y+VGAhvwvEI
	rmTjrqpwuHkWNQ8Fd7AZCrbzM8IjGO5VGJ2Sk7K6sEag
X-Google-Smtp-Source: AGHT+IGNWEO4mZBHpAmOvbPEdLBPlFyMCMG4ZRJsA2UNTnkEr6ujtHjiyajOo8ag/l99JEaYOKJfOg==
X-Received: by 2002:a05:6a00:190a:b0:736:31cf:2590 with SMTP id d2e1a72fcca58-736aaaad27fmr26132051b3a.16.1741723095319;
        Tue, 11 Mar 2025 12:58:15 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 04/17] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h
Date: Tue, 11 Mar 2025 12:57:50 -0700
Message-Id: <20250311195803.4115788-5-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Move stl_phys_notdirty function as well.
Cached endianness agnostic version rely on st/ld*_p, which is available
through tswap.h.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h              | 29 -----------------------------
 include/exec/memory.h               | 10 ++++++++++
 include/exec/memory_ldst_phys.h.inc |  5 +----
 3 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 0e8205818a4..902ca1f3c7b 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,35 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* MMU memory access macros */
-
-#if !defined(CONFIG_USER_ONLY)
-
-#include "exec/hwaddr.h"
-
-static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
-{
-    address_space_stl_notdirty(as, addr, val,
-                               MEMTXATTRS_UNSPECIFIED, NULL);
-}
-
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-
-/* Inline fast path for direct RAM access.  */
-#define ENDIANNESS
-#include "exec/memory_ldst_cached.h.inc"
-
-#define SUFFIX       _cached
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-#endif
-
 /* page related stuff */
 #include "exec/cpu-defs.h"
 #include "exec/target_page.h"
diff --git a/include/exec/memory.h b/include/exec/memory.h
index d09af58c971..da21e9150b5 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -21,6 +21,7 @@
 #include "exec/memattrs.h"
 #include "exec/memop.h"
 #include "exec/ramlist.h"
+#include "exec/tswap.h"
 #include "qemu/bswap.h"
 #include "qemu/queue.h"
 #include "qemu/int128.h"
@@ -2732,6 +2733,12 @@ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr,
 #define ARG1_DECL    AddressSpace *as
 #include "exec/memory_ldst.h.inc"
 
+static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
+{
+    address_space_stl_notdirty(as, addr, val,
+                               MEMTXATTRS_UNSPECIFIED, NULL);
+}
+
 #define SUFFIX
 #define ARG1         as
 #define ARG1_DECL    AddressSpace *as
@@ -2798,6 +2805,9 @@ static inline void address_space_stb_cached(MemoryRegionCache *cache,
     }
 }
 
+#define ENDIANNESS
+#include "exec/memory_ldst_cached.h.inc"
+
 #define ENDIANNESS   _le
 #include "exec/memory_ldst_cached.h.inc"
 
diff --git a/include/exec/memory_ldst_phys.h.inc b/include/exec/memory_ldst_phys.h.inc
index ecd678610d1..db67de75251 100644
--- a/include/exec/memory_ldst_phys.h.inc
+++ b/include/exec/memory_ldst_phys.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_lduw, SUFFIX)(ARG1, addr,
@@ -55,7 +54,7 @@ static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val)
     glue(address_space_stq, SUFFIX)(ARG1, addr, val,
                                     MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#else
+
 static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_ldub, SUFFIX)(ARG1, addr,
@@ -139,9 +138,7 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t va
     glue(address_space_stq_be, SUFFIX)(ARG1, addr, val,
                                        MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908965.1315988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k0-0006WD-MC; Tue, 11 Mar 2025 19:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908965.1315988; Tue, 11 Mar 2025 19:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k0-0006W6-Ix; Tue, 11 Mar 2025 19:58:16 +0000
Received: by outflank-mailman (input) for mailman id 908965;
 Tue, 11 Mar 2025 19:58: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5jz-0006Vp-K2
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:15 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a7004f3-feb3-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:58:14 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-219f8263ae0so113519475ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:14 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2a7004f3-feb3-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723093; x=1742327893; 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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=vbVp4dsNToGMVrDhoBatcBUBf1bpDRAGTd5lG3yKXmKFrR1tqHo0lgCq+XOcN7Q7Np
         uVNjfQFi/ED1hT8+vUM1GG5WEjUasqZHnrIQtI38nvSRQSJQUzVwxAkGrKqfdzHMPbMC
         2VHilX5fHGyK+cMmrrUEj4qovYYesf8e0RDkFrRt7/NaT/4m5tXpmQz3ujEtR3DCTqn9
         jSDwOud7QqCEXC5kfXhNjdp+Cw3atjyyTS5O/Qel9MKIi1cNZzejiptC2UIdfYuhUdsO
         tPbiNsp2I2ne9ig9qCvAdn2XlmeFl4uotqL46rjz/jXDY0RGXdJBR1e3vsnhGerbL4QH
         7XDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723093; x=1742327893;
        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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=cwKPShV1sDu8Mmc08eNFU/+0XKysJC+6XQ2b4QN8rmO+jd+mNf3eeyiuxq3ErL7rxz
         6/r1xThfCKQunSIros8Y9FpxCr8Z3t2N8Ir5D+CKdfZmt3PZomKoLVD6ahjFCcuWKWzd
         x+3jkCuAOGLvOKs1UEsGUgJnkqC6R8lleYMSx84Fvv71L4tzQC+2K56BPt5+vein7b/3
         rzijq/+MZXGf/76PPRsoB1bEUHhTZpDldIrVnfHHsqif/cANq05rnM/YeDa9XCfULAsc
         NTLU15lQCQVxXeoeZqwAHDjZwEbBJLlDQ1M/XcsjlCKeMXoIS28ty8+qrlcvcVh2EyOj
         TVCw==
X-Forwarded-Encrypted: i=1; AJvYcCVKoIPnG9iDx/NC7gmTFRzgGlGcvDxVEdqWBN+j11jdb3hbc0hi+i7M489w1DdKXC3xUXemHHYzGPs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFobBoqZ92bPtIk9R6+HnNvP6QPKZvFIvYAnTQU/FkLOGpCz3G
	kpczWPwyDtKdNaRcEQt7mABtvT7nMAP9gkV+d+IrMJVFau7xer+ZpY6Tcf9tV0E=
X-Gm-Gg: ASbGncsikKRNAIcUAWWnnk8SKLw8V7PUj5w9MYQAV0/hR5VyWeKfrZRdFs/Bsgzs/fp
	6zQonC+kk5Vx7pEaJmSKFhfuurs9BueG4fr1EzIESV1e9YtFBwDFFj1Ka7Sqvo0Cn1LzGk5IgsV
	YQzEOwcQNDJJGPIVNtmIA2AgB4ZYeq2MAURk3jRCpaRCjy1kDPHJEyuGnr5JwvuvJFdcvzOrOi4
	L9zLeATy2Wif2JoyrY9HDetW3xaXrtQWvkvty5bCzXElsi7gQ3qMfGf1NZeTxCdrvxWdUveQDAw
	zQQCW8e8PeOx3KeetJY4dyLTUT0linrT2pTnsOt7wS9j
X-Google-Smtp-Source: AGHT+IF/o3Z1voLQASAUjPWBawCvXOSnOMhb8Nk2igLOMO9aCbEfuSVrBfikbaQLM80fsMV5kN5HDw==
X-Received: by 2002:aa7:8892:0:b0:736:a540:c9ad with SMTP id d2e1a72fcca58-736eb8a17b5mr7090307b3a.20.1741723093074;
        Tue, 11 Mar 2025 12:58:13 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 02/17] exec/tswap: implement {ld,st}.*_p as functions instead of macros
Date: Tue, 11 Mar 2025 12:57:48 -0700
Message-Id: <20250311195803.4115788-3-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining functions allows to use them from common code, by not depending
on TARGET_BIG_ENDIAN.
Remove previous macros from exec/cpu-all.h.
By moving them out of cpu-all.h, we'll be able to break dependency on
cpu.h for memory related functions coming in next commits.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h | 25 ---------------
 include/exec/tswap.h   | 70 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 8cd6c00cf89..e56c064d46f 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,31 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* Target-endianness CPU memory access functions. These fit into the
- * {ld,st}{type}{sign}{size}{endian}_p naming scheme described in bswap.h.
- */
-#if TARGET_BIG_ENDIAN
-#define lduw_p(p) lduw_be_p(p)
-#define ldsw_p(p) ldsw_be_p(p)
-#define ldl_p(p) ldl_be_p(p)
-#define ldq_p(p) ldq_be_p(p)
-#define stw_p(p, v) stw_be_p(p, v)
-#define stl_p(p, v) stl_be_p(p, v)
-#define stq_p(p, v) stq_be_p(p, v)
-#define ldn_p(p, sz) ldn_be_p(p, sz)
-#define stn_p(p, sz, v) stn_be_p(p, sz, v)
-#else
-#define lduw_p(p) lduw_le_p(p)
-#define ldsw_p(p) ldsw_le_p(p)
-#define ldl_p(p) ldl_le_p(p)
-#define ldq_p(p) ldq_le_p(p)
-#define stw_p(p, v) stw_le_p(p, v)
-#define stl_p(p, v) stl_le_p(p, v)
-#define stq_p(p, v) stq_le_p(p, v)
-#define ldn_p(p, sz) ldn_le_p(p, sz)
-#define stn_p(p, sz, v) stn_le_p(p, sz, v)
-#endif
-
 /* MMU memory access macros */
 
 #if !defined(CONFIG_USER_ONLY)
diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index 2683da0adb7..84060a49994 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -80,4 +80,74 @@ static inline void tswap64s(uint64_t *s)
     }
 }
 
+/* Return ld{word}_{le,be}_p following target endianness. */
+#define LOAD_IMPL(word, args...)                    \
+do {                                                \
+    if (target_words_bigendian()) {                 \
+        return glue(glue(ld, word), _be_p)(args);   \
+    } else {                                        \
+        return glue(glue(ld, word), _le_p)(args);   \
+    }                                               \
+} while (0)
+
+static inline int lduw_p(const void *ptr)
+{
+    LOAD_IMPL(uw, ptr);
+}
+
+static inline int ldsw_p(const void *ptr)
+{
+    LOAD_IMPL(sw, ptr);
+}
+
+static inline int ldl_p(const void *ptr)
+{
+    LOAD_IMPL(l, ptr);
+}
+
+static inline uint64_t ldq_p(const void *ptr)
+{
+    LOAD_IMPL(q, ptr);
+}
+
+static inline uint64_t ldn_p(const void *ptr, int sz)
+{
+    LOAD_IMPL(n, ptr, sz);
+}
+
+#undef LOAD_IMPL
+
+/* Call st{word}_{le,be}_p following target endianness. */
+#define STORE_IMPL(word, args...)           \
+do {                                        \
+    if (target_words_bigendian()) {         \
+        glue(glue(st, word), _be_p)(args);  \
+    } else {                                \
+        glue(glue(st, word), _le_p)(args);  \
+    }                                       \
+} while (0)
+
+
+static inline void stw_p(void *ptr, uint16_t v)
+{
+    STORE_IMPL(w, ptr, v);
+}
+
+static inline void stl_p(void *ptr, uint32_t v)
+{
+    STORE_IMPL(l, ptr, v);
+}
+
+static inline void stq_p(void *ptr, uint64_t v)
+{
+    STORE_IMPL(q, ptr, v);
+}
+
+static inline void stn_p(void *ptr, int sz, uint64_t v)
+{
+    STORE_IMPL(n, ptr, sz, v);
+}
+
+#undef STORE_IMPL
+
 #endif  /* TSWAP_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908966.1315991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k0-0006Xk-TO; Tue, 11 Mar 2025 19:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908966.1315991; Tue, 11 Mar 2025 19:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k0-0006XY-PJ; Tue, 11 Mar 2025 19:58:16 +0000
Received: by outflank-mailman (input) for mailman id 908966;
 Tue, 11 Mar 2025 19: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k0-0006Vp-8r
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:16 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29b67500-feb3-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:58:13 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-223959039f4so120348505ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:13 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 29b67500-feb3-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723092; x=1742327892; 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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=xyIS890yvKZtu5TQSl53iEAb0SldLni82RUKLtE1cXqYlvD+kNRbQ5/aoz+t9EM/D0
         DldSlHWLO/Gx9/qSi4s6HokjNLim31Bp8WxzqU+zLAOl4lVOAAFGrd3va8zEA4hF3RmJ
         4Kjrhc10Vy/XeNf6kDuxxqWRD1yIiCGE8xkvSvyguJV4ENcZV4Hj0xezN4bZHm1IRtni
         eznBWjwDnPff3l2j8JlUThryp1agL88eD4kTD8zAT9a+lqaWWP/627zjVRxOsVbHxNl/
         Pip+dUoSxsxSxtFAc7ZdPs8l5nNXMK2M/P+0/GPDeDBukBIfVtqXEc40e0m/SgE5AGD5
         JPjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723092; x=1742327892;
        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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=suMncCLtRtkqWxOMNKQbxr/fhPHrEzCsIthSjHDX3FNy4oHbwqM1aDkugbWsQMxa94
         rTewfXIM4okbD0NNxB10MuPOY1tz3fJ4i9SbquVzpN4vqPgR1bGmekBLLP599a491Cgb
         X6dVS6Gu9eWuR2BPayYGkheCi24xq5FLagmTARVSd8uyeUiIDuFA0+PfmhzrbvrTajVV
         AziHkYu2pHFowh+7Eb2v8IhzSQOAQ1LZt+lBxfT+V/xNlGJTApwKQ8qiBt/n4bG5Wn8k
         xJu6x/gMq4FBfAI4xmvuJBlD4EwmMxRC+AFlpEbKlvpheijPYL4mB/IaRfw2LfjC85+b
         vzvQ==
X-Forwarded-Encrypted: i=1; AJvYcCX2AXN7kGbfpG/HQ+Wfi2dFfDz21f+47zyxs5+az5jP/QqzEjbzjEBJp2qJ3b0bVe1xVEOYncCRVQY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDhvKPA8Z9/pEsxhzZLW/G8l1gqb9Z4mgU4vGCK0Gg1xeZdHM6
	8O5Ym7toPDksxy1isPDo6TwJ/kSS9aSCjSYjxGgxZWJQ0Dkt/H/U/HKjVbv1U6g=
X-Gm-Gg: ASbGnctbEosqa+geEPH8R9Xg7mBfnqU43bmE6/jLMN92iywCaE/FzDeYZZea+nI+rCX
	WjET0YIqdgOjzxraMT6gvQ2vX9TQN3eFr/njk5C7CXCyUfzi5KwviWop7SaWNd+GAX9VWUVkN0I
	GSU97dOzfHPT1PviwG3LR9KIJ0iFTFRl5unVOuqz8szrwCOHUpXjq3akTdk8UgjQAPb6kyDVpit
	wTcvEWOdpR6/gwP80Pr3HseYBNAQYQefeZ6zcGDE6GN5hBosSm3Hy9aTuPcsyBeA7/O3AE0UqtX
	Q48x47YglWj13XL2tH9KCxLC0O1uh11yXespMQIVfhcloHpgCleZl7Q=
X-Google-Smtp-Source: AGHT+IEdn0vUjdqWf+0ft6dtNABWq7WqhDB4TNeuQtg0nIMIUQeKA5OeniZU9oewAupJBz+i092ynA==
X-Received: by 2002:aa7:9e43:0:b0:736:d297:164 with SMTP id d2e1a72fcca58-736d29703d5mr9263457b3a.1.1741723091837;
        Tue, 11 Mar 2025 12:58:11 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 01/17] exec/tswap: target code can use TARGET_BIG_ENDIAN instead of target_words_bigendian()
Date: Tue, 11 Mar 2025 12:57:47 -0700
Message-Id: <20250311195803.4115788-2-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/tswap.h | 11 ++++++-----
 cpu-target.c         |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index ecd4faef015..2683da0adb7 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -13,13 +13,14 @@
 /**
  * target_words_bigendian:
  * Returns true if the (default) endianness of the target is big endian,
- * false otherwise. Note that in target-specific code, you can use
- * TARGET_BIG_ENDIAN directly instead. On the other hand, common
- * code should normally never need to know about the endianness of the
- * target, so please do *not* use this function unless you know very well
- * what you are doing!
+ * false otherwise. Common code should normally never need to know about the
+ * endianness of the target, so please do *not* use this function unless you
+ * know very well what you are doing!
  */
 bool target_words_bigendian(void);
+#ifdef COMPILING_PER_TARGET
+#define target_words_bigendian()  TARGET_BIG_ENDIAN
+#endif
 
 /*
  * If we're in target-specific code, we can hard-code the swapping
diff --git a/cpu-target.c b/cpu-target.c
index cae77374b38..519b0f89005 100644
--- a/cpu-target.c
+++ b/cpu-target.c
@@ -155,6 +155,7 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...)
     abort();
 }
 
+#undef target_words_bigendian
 bool target_words_bigendian(void)
 {
     return TARGET_BIG_ENDIAN;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908969.1316028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k6-0007Wy-TB; Tue, 11 Mar 2025 19:58:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908969.1316028; Tue, 11 Mar 2025 19: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 1ts5k6-0007Wh-Nv; Tue, 11 Mar 2025 19:58:22 +0000
Received: by outflank-mailman (input) for mailman id 908969;
 Tue, 11 Mar 2025 19:58: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k5-0007Uu-TP
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:21 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2dc86ca4-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:20 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-22113560c57so111409135ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:20 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2dc86ca4-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723099; x=1742327899; 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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=MrBjC14IbrRjXfyDaHlpQgUSOS+1ZWWkDsY7WQ6vPwqn6+/gZMK/fIaIBHu1LmOrz6
         vHd9uH33Jwrr+Q/d0AEQzRplk1PVAt7Da/M0OLeDMSMPb7lHtRA36uRL0dXYN/UsitJH
         nP0cDqp0w095eM+PB18C17FeQ+iFk2PuoV8S+sF//QqB+ewVp/dtfkTgrBM1aWBJ/5ti
         CEupD/zVfymVMx64xXrd778/XklLbUpwRMv0MwfVmcElIeolgOLUaZOE0CeYgrNDmPW/
         Cet3J5CWdgQjGU7XGMO4G5NZH6qPIkFv8UjNbbM5VCTExriLsfbmQFtVTAbUJ2/SGKwi
         OEOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723099; x=1742327899;
        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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=b1oHNBINq7L7tPiDM3hJ2KL2hQZlvLdj9jagya42GsF0K0NjCPFpmAuoAiYHT8GcLI
         8rh7011KtpYOWe3J2qaCHZWB86Q4OKitNOWQCICESabJ5esQ5gq7n1sYWipXsuQYTkYy
         1iIcw7qKgAsVzqg7jR+Wt3bjmAK9lwX27JMdWCHkRKFynB9Nqh5mSjSqMGaOpxBbXhIl
         OMpw1qKhj7BzTTvbKgxfMclJsOzsw7FiGsSE6P3qDnJ883TA7O+zDFhWQZr3AAWX/chr
         Dhb+heVCK7Xa9XuEWIutexZOIJV8sODTfNPp1NQQOu4xmhxNBhPj3qI6IpKlj1E6ZDNv
         l4eA==
X-Forwarded-Encrypted: i=1; AJvYcCX5DjEuMjzFPfP4hrLcDuUI9mR+xsqXlypF5+Tb3CrYMDbVsU8uF+VwY8LwqTnE+fsVoCXVcVXSYTI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzvFvWGh8JQStmYJLeC+d5/oLGj9OCYOmU3WKa5Z0O0ObhD2w0z
	0E13fp6ECZxxTfkUCL2KIb2mwtCLG6qz/lt417V85DW7A4PNCDFHG+WX8SXapcM=
X-Gm-Gg: ASbGncs7GWmpLf/nfnKBH1lBGogYqKs+BzgNyeY2e1r07Jxmy944TmsS7bslN6m/Dph
	SOAuvADDReWpyFPUoQP8ld25d/TBOTZRHjO4aR1ZQ6CKSDKB43lYjzJnHbGCM99WqUqLzpvJOr4
	TJb+UqDnLPqqYT4HywVQTvEROWSe9lFwC+JMFEH94/mb9H+hMVjm9kHruA3jRguYx+ywgijozoU
	PfeFPsd+0DMB53AmqE8lYSIQWvp8zvNZgQX1xxwdd6x6v0v058T2UvVXWCRyp3/kl4+BdKfTjQ2
	yQkcacZovQ/TE6CreZzedRKCt6o1aOHCQvPfLt2DqFpCHizizH6t41o=
X-Google-Smtp-Source: AGHT+IFbL/EikEqHmQH7/+hOB9jflYFjv2fXkewmYVpLTsSrUYTiBJ9zTgGhdqBywi26rV+yUM0nVQ==
X-Received: by 2002:a05:6a00:1708:b0:736:43d6:f008 with SMTP id d2e1a72fcca58-736aa9f0b0cmr27815913b3a.12.1741723098739;
        Tue, 11 Mar 2025 12:58:18 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 07/17] exec/exec-all: remove dependency on cpu.h
Date: Tue, 11 Mar 2025 12:57:53 -0700
Message-Id: <20250311195803.4115788-8-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Previous commit changed files relying transitively on it.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/exec-all.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index dd5c40f2233..19b0eda44a7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -20,7 +20,6 @@
 #ifndef EXEC_ALL_H
 #define EXEC_ALL_H
 
-#include "cpu.h"
 #if defined(CONFIG_USER_ONLY)
 #include "exec/cpu_ldst.h"
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908971.1316038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k8-0007nl-4W; Tue, 11 Mar 2025 19:58:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908971.1316038; Tue, 11 Mar 2025 19: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 1ts5k8-0007nV-0R; Tue, 11 Mar 2025 19:58:24 +0000
Received: by outflank-mailman (input) for mailman id 908971;
 Tue, 11 Mar 2025 19:58: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k6-0007Uu-Lz
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:22 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e77400b-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:21 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-225477548e1so64746335ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:21 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2e77400b-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723100; x=1742327900; 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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=rqT+31mIV+vPr03qoENe6CuMOe8gLU4c+/GqGRI21EM+dS3Ec2fPRdbewPKTUSbooW
         vRycV7B6RVOK1vhZOIXBYxWOP7VQ/EXiTO/D29r3I6EmdnNWcOutxwiBGM8vMiYXePGQ
         9vghG81+GFDPEdj3z0WVnSmOfuqcysl4xJsE8N0eqOJn584n5DIwfc+Z5hBSG90OBQY+
         zOai0wydV9wQOFixpCT1IFZrKwkO5b8TgExMwkS1LiOcKish8VTxYsHezoZs4yScwP1t
         D6ahQSVvrawIsZpWSYB5XB1YSLx/nHvZG83PYP/l2YfQo63W9CdbcbxyTYYMbsMePt2k
         JLhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723100; x=1742327900;
        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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=KmKL3GHvEJVVWSxx0rebhShS0w4wSZYif8BdGLBtPqGZfb1ZuZE7v3nV1P2lM4+L8p
         JXXJTmL9slwSQA8P45IMHfL3ankA9eH4zGRRj2JJq64MYOxFCkvk/1chRSfP32DRVuJi
         PqIz69/lc42InhMWlXRW5LeE0MTbaJxnManjR2yKM/QxVp2Pq4Fb4T5GqMZaggJzS/Hc
         HUk/FOPer+iIM1bXAyM4WUfXSfxtd7ImJDW+gCaSR3G/pRi9+MEymNKDd10XWPM2jbaW
         zu2qwq66Y34V6EQP+3PUx5ufkVuYCzmJ/YXS5Hx772AlMG4SZtrx72lQMjFPlACnJNqI
         gLsA==
X-Forwarded-Encrypted: i=1; AJvYcCXSfT5w2shCNE3K5hy8w3GmPAvTxV9Xv0tuxaE+2vlpbF4D+w19OSeu2CRNwpTGFi0bR7/Ey52kDF0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBNXckCef3yO31LOZ8Xv07QjQwfgBIsxruZId3HbwrHmiraI9L
	oqZ9hCLIcbXQXmw2B0SHu3gKjCwZCAVF+ZRLLbb3Pv68+/YQEV6FSDDzlWcelfs=
X-Gm-Gg: ASbGncvaSgxx/ufFinL8bbPYzy3QWL09aX5R00c4FeC+QieOdCo5XT+RnHvlihrAhiL
	nNEnXbSMWSuLr+eDrW2QubNj38j0AV4ZU/DdH0IcnueotVEcH/d+pw5RV6wyd+pnm6cbLM4GxgV
	EcE8OntkWQvvwboS/pcN9icTNEVC0GLgRvRjFu/Czl49bYbpC6zVhQjz4ZxU7NLWqYh9wn+qpVT
	xDx+9gbYTYG1BLQoIhCNQE3qSLeaDkrMRudKxpgIyEf9hhVkMo8y2e3MOO3oD8iXQNK694C2uzT
	opfF8lmE4S7198FSvarzScjLxpYs+QFhIZYfScyphnKffsPW2/TlqMw=
X-Google-Smtp-Source: AGHT+IEBCxz8tAPvpmfBsP3Ukq6OIHQbs/5ODtSLSGAs7fop1NjSulQH4pEJZaQn/aXi1ghSaJLALA==
X-Received: by 2002:a17:902:cccd:b0:224:256e:5e4e with SMTP id d9443c01a7336-2242889d3a7mr298318035ad.16.1741723099862;
        Tue, 11 Mar 2025 12:58:19 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 08/17] exec/memory-internal: remove dependency on cpu.h
Date: Tue, 11 Mar 2025 12:57:54 -0700
Message-Id: <20250311195803.4115788-9-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 100c1237ac2..b729f3b25ad 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -20,8 +20,6 @@
 #ifndef MEMORY_INTERNAL_H
 #define MEMORY_INTERNAL_H
 
-#include "cpu.h"
-
 #ifndef CONFIG_USER_ONLY
 static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
 {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908972.1316047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5k9-00084N-Cr; Tue, 11 Mar 2025 19:58:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908972.1316047; Tue, 11 Mar 2025 19: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 1ts5k9-00083H-8e; Tue, 11 Mar 2025 19:58:25 +0000
Received: by outflank-mailman (input) for mailman id 908972;
 Tue, 11 Mar 2025 19: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k7-0007Uu-J5
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:23 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b1e613f-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:15 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-22401f4d35aso106632935ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:15 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2b1e613f-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723094; x=1742327894; 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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=RjxedlZ+LW41z+BebQ4BXMVeF3VJ5Ei1rh961kAkVbOMN2hI83W/ET8I2lfir2hfsz
         aKIkH2Cq9h7pN5YVvGTkfqSrlcJuElxS8j/tbUbRHgy+8s5b1kL4x0qL66yPKF4djurI
         EOaqaeh9XNI2lKYJGs2S1LQJolhiUiMDsi+4SyubEY+3tBXqDiyq258G5Pdt1CkDNluG
         s0G+FA7XUdbyD8qx9/+5WV9GwpceU2LLo4UDn2UxJqtPkCM3yY4jD+xSzU8plkWa9fCW
         JfsMyJ30uepyxe1wFxHMnCQYbsvQw9ol20d/aor4aapLuB6dz2SLrZ0bFm7uNJxi0lX5
         dcEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723094; x=1742327894;
        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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=oPxDILh1crm6Ta796d3j8QvgQhd4rl1/ssPFQUpVsCGU3dnAy8gESjjlQhox4qk6n0
         /QF+9SkyaEYXFyv5P7ipYHvT6t9TVuvpmET3grux0SHW+KMGqmtApFiVwIvMqkBGbig1
         bGIsWgI0KZ/51rDjFr70qD0TLtY6Jgq/q8g5vNbfxw9az1p8TuKGWsiovRCXXCsmpSC8
         abL4tfjU9k4ilj07QFMf+fcoBa6KVwCf+3G4dhrqYeUX9UdhIKqTUoeclof07LYOA24f
         juLVYRDv1sz+2es1hj+0KBgIX3Tb9A+szEXwsYq33KLP2XIAvFwZpdYR9OAfnMd0A5JH
         314w==
X-Forwarded-Encrypted: i=1; AJvYcCVGUSZhEM1N+BZvWAq6PfCHWHMUsd4mhFJoE/dzHtwxlWAdE1L3ClJ1M4rQT9Y5bYfMqPaUoCilWDo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwyozfjsNAGwjPXkinDmPhnxUgn6kODf6LiPouls4rec17R2n1l
	KMHB7Y9lOQOUtX0/7cObZ1DPVdWDZtsz/Gu/2EiR429GhExYP0cgihUpVFxOq/E=
X-Gm-Gg: ASbGncuxmS2q1UEj0KMiS+Mmf8y4N5E4aOrll8xpaT6oiLTkEtcPILuCCyGVHQV9hXR
	Q99K8u4PuYvvf4EL2DBTmEB3wIMEbO6cHns3eazQ+1tNuDWlNxSKrZMFeU8mEeGujOKx8ELxI0M
	UXxC5Im1Bnl/sqzSmeGkinaE3uXdarlEFMDxVxFAQF2lZ1dhD8ntdQLWQLZT/EfZf/5XhwL0yA2
	ea3qaMvJLMsgoTp1GDfkrwuCmZ6BLnyub6QnqG6EGRdyFLUYb+lopx4WYgsaAPYH+g32jWQVjwh
	wWjYCkJIr+eq8bKQCuOL5I5evFUmdzb/dntEV9Q/33L0
X-Google-Smtp-Source: AGHT+IHtn3wjueX80hXlhR3WWJLzlWQ/GjOadBaAC9ISUpU84/t/abdjw/+6bEkcmiHY0rapbw+ALA==
X-Received: by 2002:a05:6a00:189b:b0:736:755b:8317 with SMTP id d2e1a72fcca58-736eb8a15femr7017121b3a.21.1741723094173;
        Tue, 11 Mar 2025 12:58:14 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 03/17] exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
Date: Tue, 11 Mar 2025 12:57:49 -0700
Message-Id: <20250311195803.4115788-4-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h         | 12 ------------
 include/exec/memory_ldst.h.inc |  4 ----
 2 files changed, 16 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index e56c064d46f..0e8205818a4 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -44,18 +44,6 @@
 
 #include "exec/hwaddr.h"
 
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
-#define SUFFIX       _cached_slow
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
 static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
 {
     address_space_stl_notdirty(as, addr, val,
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 92ad74e9560..7270235c600 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
@@ -34,7 +33,6 @@ void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#else
 uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
@@ -63,9 +61,7 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908973.1316056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5kB-0008MZ-3a; Tue, 11 Mar 2025 19:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908973.1316056; Tue, 11 Mar 2025 19: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 1ts5kA-0008Lc-RB; Tue, 11 Mar 2025 19:58:26 +0000
Received: by outflank-mailman (input) for mailman id 908973;
 Tue, 11 Mar 2025 19: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k8-0007Uu-Iw
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:24 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c7bcf48-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:18 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-224341bbc1dso80069125ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:17 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2c7bcf48-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723096; x=1742327896; 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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=q+LietHmiMkGO68RvjWenF1AoXzdEsM7f64rE+0g5VtEW5issuYqNKsPwc9Udj4Apx
         Fgwhd43Upm106seMw99n1aqXkRaKfSylOMr5PuqlZatTkAvrZjobtzYABx6CGvNYl5yW
         w/3I6T3L0GlsikGOPLNmK0N5lTpstl+bxXuInTA9buaa3hyn04ZdKki0HSYmDJxprFki
         21FTMhS+A2GqaSExVzqMIK+JRi3e6UuH+a7P7p/PT+coBTTXZ+4XRwwRSOwAfU0eE9Th
         kp6Qn+CreF4XmXgyiTvx5o0440WOkGoGp4i1dsnr4L+HKXp/50vVAQKuJACb3BhSwj1t
         4Lhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723096; x=1742327896;
        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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=sGAUCGQmNH+F/tdT551grvcmjJ3R8dWxay+O+9su0Zg8gExh3N3TReCJCPJIzoDft9
         e6VBETnHvXLh42V9ynb8+eqrTmlJQo3x8kIZ0RwPN5r/KcP3N2NPMLMv4iXRfgO4tlRk
         yB43KNHIPyWXWJ84Gv7cVq/15pQUXsLtTL3WRkUkmCLxu2emzB6MNsVF8nii2fZR3NVk
         efqkNGyH39hxXNenvQopZXG1WFxRAYhRhbmd0DHQL/cZxoCr/trRXBsGH/WzmQdGdhmS
         LFxebVfr2zz9coy6mDDzrh3SRsWzLGQcK1u8ePIzpnC0yBUVtivnDrsG0uTGkxOF1gFz
         F+Cw==
X-Forwarded-Encrypted: i=1; AJvYcCUJdxEQiPZCEHJlIYfLTef7ckpUfAqwLjuREOcuCfDbqTugo8x+D+5vJ516ukMhs7A4WWwyb8H3bvc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9CHoJrRkfRE0hsGB1GjPRq1W97AwSeZwgMqR5ZGtEXTphCjWC
	vKRoRv3CF2hFYxBWBwj2GpPtMGvv08Bus7uYZh9lyTAUGlgU2h/84cGPCHowanU=
X-Gm-Gg: ASbGncukUyqOoHNZAd8PIgTzn/ZJmz+avj1wEyt9NkD4iikleugz7Ha3oErOyeATCwz
	VLzLN8I300I1dxPnQ3Cqx+D+aPQ+zClZwAJNsrBeSASVKdWjixGUtENWVpMHIl+QUDnfaOCq6rm
	7Ctzo+TVPqKRY+T3ags88X2Vgh0jb2NqUik21xJOU2ZVGeQxeHjJg5h2Oez3gZ4y7N0lT6BRjGB
	yQUPSSN2R2dXnVBkXj02u/hZ46/FgWo2iKobchX/PqjvQgXz6zHKngw4Jg9Y7HuVvHeOU110o3B
	SYagOQEhlpmdz/WeIfMFB3Rrwfrju8lj7M8vwtZrrlcU
X-Google-Smtp-Source: AGHT+IFol9xcK9Mza8BcbJc/CzML1UZwkH32uaLlj+5vumcl06S67T5kaVFtBRtM8pv/UzBlFhWjBg==
X-Received: by 2002:a17:902:f691:b0:215:bc30:c952 with SMTP id d9443c01a7336-22592e2009cmr58302965ad.6.1741723096508;
        Tue, 11 Mar 2025 12:58:16 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 05/17] exec/memory.h: make devend_memop "target defines" agnostic
Date: Tue, 11 Mar 2025 12:57:51 -0700
Message-Id: <20250311195803.4115788-6-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Will allow to make system/memory.c common later.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index da21e9150b5..069021ac3ff 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,25 +3138,17 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef COMPILING_PER_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN
-    /* Swap if non-host endianness or native (target) endianness */
-    return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
-#else
-    const int non_host_endianness =
-        DEVICE_LITTLE_ENDIAN ^ DEVICE_BIG_ENDIAN ^ DEVICE_HOST_ENDIAN;
-
-    /* In this case, native (target) endianness needs no swap.  */
-    return (end == non_host_endianness) ? MO_BSWAP : 0;
-#endif
+    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
+                       ? target_words_bigendian()
+                       : end == DEVICE_BIG_ENDIAN);
+    return big_endian ? MO_BE : MO_LE;
 }
-#endif /* COMPILING_PER_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908975.1316062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5kB-0008O7-D0; Tue, 11 Mar 2025 19:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908975.1316062; Tue, 11 Mar 2025 19: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 1ts5kB-0008Nc-4K; Tue, 11 Mar 2025 19:58:27 +0000
Received: by outflank-mailman (input) for mailman id 908975;
 Tue, 11 Mar 2025 19:58: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5k9-0007Uu-JG
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:25 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d24adc0-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:19 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-22359001f1aso140554015ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:19 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2d24adc0-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723097; x=1742327897; 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=wYUY7egDw13yHwOIShpp+yHE9Lg9eeptR3FMaPhbw5Y=;
        b=bdZecelYaEvd+aGIJaZvtG1mNhnUBGkmlB4X9p1O1nhGjayi25f4JSs/EOVd53V69z
         WzBwpRwmOdAdgKpS0ps2XlmC1DaIZr8C8ex6INA7LkCETLq6DBL8hJn3HARnjtA55/3a
         erRD0DISmjfw9ulLDUXB424ggSftIBS89Nk9Tp36rCCZhLEVmZA60pwaxNilzVOMtqLk
         /8XJDgMz1QnADG56XqpupL1ZIXkGdofUOWkadRrwUCdNDynrGVZ83dnIXYMXQhbBlSMY
         8e5m8Ox9xQsLlAT746wzTYFwkVpsQc1fVDmY3o4gTivBfoq0HqqooA8iTgxK+7ReSKpN
         5BXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723097; x=1742327897;
        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=wYUY7egDw13yHwOIShpp+yHE9Lg9eeptR3FMaPhbw5Y=;
        b=hoWz6uk+WAAG8tqUqyItnH/n2yNBbNnryZHajI4b4uJMihEddfk0xwBUiW/prv+KGS
         3wsBxlyV6eVoehiABYWqx27szZGcpH7FycgU//S83SvjdslN68qAOWtvrDQuxuKGeQts
         9sAQeoP1zGJbIvgn6t5zgQ3lu+M7A8Lz+xhJe7ExFT36Cnmc2hS6MfHAmyOR2VBCBj5G
         QvxUH5HNe1rZPqirEXZ22z3z2IrGVaKRjldbsEU+P816xBugWTESZCgtnxumyJygITV6
         6jKWZL87GPjDznJ8FrmDyoj3xT3+vb+ig++KNUiV3hY1c8VM39RlFE5DkthD5KmW4Z8z
         y6cQ==
X-Forwarded-Encrypted: i=1; AJvYcCWl835NQH0aWF1JGmk6WsCi3QyeASD7UksnJsTNCRswdf6cnWX6fauPlN79MMf450Ydh7Yq+wGCidk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyIJMxZ8dWBjoZs7gzckxT2B7HEKWwAEydyi6XKVRi0U7HyBsJG
	4owv9hNzsSnQo4foTa67JnuztZG6KG979lze1BZzFb9OV4HdtgMdhywJzkS7XrI=
X-Gm-Gg: ASbGncvKjS4D7Ji09KM+wYCkfJzZ/4tzAMe5LLWM2gXZ43gt0j4W6YfmhstSN2/dHKV
	SrqH+Ccq3xYgQ6t1O9DRyV+tdVCONSosVgAP2zUlBIkwqmuvl9XTbusWMKzexZqzNqOeul5I7U3
	ivYYSGy6jB2yiTUdyF8zn61GYus359q4A6Lu5a4OaOpl8pcumChQMbYo7xAR8mC5xHWJGJ+UuM/
	SfpfplNbplwnbA1aHnzdYs33C3FWRXKQQOUiVuyOgauOpJ97QIJWjROwg+pda/24fvhzO+VrV+R
	ETtt06FWC6JQD07ystgulHIJfNSFrSsVVlB9Tae1k0Wr
X-Google-Smtp-Source: AGHT+IHUxq5bEYzFkU8q2EMgwzHdCRPdTyU3cSt/scNg1CwBg3gT9IGXS4Ltng7xzXvu5gfwiPtTEg==
X-Received: by 2002:a05:6a00:7218:b0:736:ab48:18f0 with SMTP id d2e1a72fcca58-736ab481a99mr17386794b3a.1.1741723097629;
        Tue, 11 Mar 2025 12:58:17 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 06/17] codebase: prepare to remove cpu.h from exec/exec-all.h
Date: Tue, 11 Mar 2025 12:57:52 -0700
Message-Id: <20250311195803.4115788-7-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/tcg/tcg-op.h           | 1 +
 target/ppc/helper_regs.h       | 2 ++
 hw/ppc/spapr_nested.c          | 1 +
 hw/sh4/sh7750.c                | 1 +
 page-vary-target.c             | 2 +-
 target/riscv/bitmanip_helper.c | 2 +-
 6 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index a02850583bd..bc46b5570c4 100644
--- a/include/tcg/tcg-op.h
+++ b/include/tcg/tcg-op.h
@@ -9,6 +9,7 @@
 #define TCG_TCG_OP_H
 
 #include "tcg/tcg-op-common.h"
+#include "exec/target_long.h"
 
 #ifndef TARGET_LONG_BITS
 #error must include QEMU headers
diff --git a/target/ppc/helper_regs.h b/target/ppc/helper_regs.h
index 8196c1346dc..b928c2c452d 100644
--- a/target/ppc/helper_regs.h
+++ b/target/ppc/helper_regs.h
@@ -20,6 +20,8 @@
 #ifndef HELPER_REGS_H
 #define HELPER_REGS_H
 
+#include "target/ppc/cpu.h"
+
 void hreg_swap_gpr_tgpr(CPUPPCState *env);
 void hreg_compute_hflags(CPUPPCState *env);
 void hreg_update_pmu_hflags(CPUPPCState *env);
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index 23958c6383a..18bbb1403c6 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -2,6 +2,7 @@
 #include "qemu/cutils.h"
 #include "exec/exec-all.h"
 #include "exec/cputlb.h"
+#include "exec/target_long.h"
 #include "helper_regs.h"
 #include "hw/ppc/ppc.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index 6faf0e3ca8b..41306fb6008 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -29,6 +29,7 @@
 #include "hw/irq.h"
 #include "hw/sh4/sh.h"
 #include "system/system.h"
+#include "target/sh4/cpu.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "sh7750_regs.h"
diff --git a/page-vary-target.c b/page-vary-target.c
index 3f81144cda8..84ddeb7c26a 100644
--- a/page-vary-target.c
+++ b/page-vary-target.c
@@ -21,7 +21,7 @@
 
 #include "qemu/osdep.h"
 #include "exec/page-vary.h"
-#include "exec/exec-all.h"
+#include "exec/target_page.h"
 
 bool set_preferred_target_page_bits(int bits)
 {
diff --git a/target/riscv/bitmanip_helper.c b/target/riscv/bitmanip_helper.c
index b99c4a39a1f..e9c8d7f7780 100644
--- a/target/riscv/bitmanip_helper.c
+++ b/target/riscv/bitmanip_helper.c
@@ -20,7 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/host-utils.h"
-#include "exec/exec-all.h"
+#include "exec/target_long.h"
 #include "exec/helper-proto.h"
 #include "tcg/tcg.h"
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908981.1316079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5kD-0000bf-Vt; Tue, 11 Mar 2025 19:58:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908981.1316079; Tue, 11 Mar 2025 19:58: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 1ts5kD-0000bA-LE; Tue, 11 Mar 2025 19:58:29 +0000
Received: by outflank-mailman (input) for mailman id 908981;
 Tue, 11 Mar 2025 19:58: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kC-0007Uu-Jb
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:28 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f22a42b-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:22 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-22438c356c8so78188185ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:22 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2f22a42b-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723101; x=1742327901; 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=s8l5XLcA1+OCzVWAzWmOGo6RbdXUAYo+RpTNM4YWpKg=;
        b=KmXXheOrzCa5dem65+UrsjR+5EWcf1k2dHYaaChtVN1JW2yLb29+KmXIxtoLZWPlW0
         UBzETkJpBYm5YljUkENWuFMVGJO2cyXt3LSgEg7n1GyxG8XH9ei5zUuw6MF6PRL6PIgK
         fmUip/MD6D8v3ah8yRDu5cpvdirJsClihMtER5hTFQgNwdzvNLK7PaFD4QwSeFRI2w5c
         1OlkSO3aYqRjIfZoWpelrtgcZogVk2/4jg33uaDTt3ugzIcTXjIJyOyxT/adwuvuuG9n
         Aeg7YEek1eelCRDak1kFAlMcfMcNZGutfhm9FZBnqcukwhruLyMldBzSlqb8gT72OkmH
         jFxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723101; x=1742327901;
        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=s8l5XLcA1+OCzVWAzWmOGo6RbdXUAYo+RpTNM4YWpKg=;
        b=UBuEbX9JETQMxLOnknpAXQ+cdScLVblmDhEuR5QY8NZhwQZiLh8xpVXCQ9/ofYv+a6
         +Sb3HpwhtRm5KpXVfATnVPatE8HEY5frILPHHyHHosFTHx0tdZIc5DGrvi//saytGr2/
         VtLp3NVh8yzLWXn1QFaUeAPtki3rlJCPQXphFLICVzMjyxuKl9SW7MdJ8DIXSvI6Dh9m
         3kesDf+JdvWuQ/2VCXTWtIy7p1tH39sApLgRqaVMZ/OoO2H5zj+TRsBWPPiSpue08Jaq
         unw6BjzhK28nCrpV2OhTL+PG+HLk//kCM5m/xqgmeX04bjlZkGpuL/FQKstPhDUr1yWh
         +mrw==
X-Forwarded-Encrypted: i=1; AJvYcCWNMfTj42z00kxSdhXJIyixcuZBMCTEjVfwdXzPAVFVVuKgxcDiChq4F7jolnGr7EzxEgq7ao2gcA4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8Kejjcx1D3LmH867epjLa+kdza1myut/N1XOcovIAokUriaz4
	vEBuybeTtVQeKVRPhWvkeNhWmyb6AvOtVN6w1ligkhcZ8Gnc1ohvaRoe6gNBJBw=
X-Gm-Gg: ASbGncsG57Bn4X4lUTtuwHWY5zhQk0Gh+G4w/8P4HcV5ZK348Uyo53vFYyaAtVMKbcy
	cvo4dmUzzBlZOeqbhZKgzVfiVyRGfyysbRZm4S12aOikNllEm/Tptlx/zj2EYYPmqvkg+vZUEl4
	i5AsWy+KMR9sSmCOUDjMvCJCKPVBVWorfVEI/Dw2eIV2RCf1lmWA9DOxJ1b9QlAVG6AWQh6UGuw
	inDhfK5sW7no9pnXho5CjUG2lnHO00IGIeHClBQhOel/HyBTNXXcv8w/etIxv9Q+VHAsK8D+xL5
	KhzFKhwtMyX43ltzrb2N19Ym3VBVf2m+rn5W5PvS9XHk
X-Google-Smtp-Source: AGHT+IEgYvc9dMvCeCMS1wOBfk7GI8sssnnWj2guiDlIPD98ekjEveZX8r3rPhR4gVsvHIzZwJ8+qw==
X-Received: by 2002:a17:903:1a05:b0:224:1294:1d26 with SMTP id d9443c01a7336-2242888bf0fmr253744785ad.13.1741723100980;
        Tue, 11 Mar 2025 12:58:20 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 09/17] exec/ram_addr: remove dependency on cpu.h
Date: Tue, 11 Mar 2025 12:57:55 -0700
Message-Id: <20250311195803.4115788-10-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 3d8df4edf15..7c011fadd11 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -20,13 +20,14 @@
 #define RAM_ADDR_H
 
 #ifndef CONFIG_USER_ONLY
-#include "cpu.h"
 #include "system/xen.h"
 #include "system/tcg.h"
 #include "exec/cputlb.h"
 #include "exec/ramlist.h"
 #include "exec/ramblock.h"
 #include "exec/exec-all.h"
+#include "exec/memory.h"
+#include "exec/target_page.h"
 #include "qemu/rcu.h"
 
 #include "exec/hwaddr.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908982.1316082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5kE-0000gs-GV; Tue, 11 Mar 2025 19:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908982.1316082; Tue, 11 Mar 2025 19: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 1ts5kE-0000fj-5C; Tue, 11 Mar 2025 19:58:30 +0000
Received: by outflank-mailman (input) for mailman id 908982;
 Tue, 11 Mar 2025 19:58: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kC-0006Vp-QM
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:28 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3297a346-feb3-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:58:28 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-223fd89d036so116505725ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:28 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 3297a346-feb3-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723107; x=1742327907; 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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=zsJToNs+z8zlYUDRNaYdG93Aoahs67Nvz/bwYb3gP72C/faXRwSnY6OeKAyF7lx9m3
         vPG2q4AjbL14H503k2MwfHUZUtMdgstFmHGMbzpBommdfvUgdXy3sMJbuhxDEYmx3lRN
         NUAWXjWF1ImEDyRH5gU1CIU5U1J6DizxCgDsT2lfitDAzqQvbyecP+fth20Oc7BWNnVZ
         5Ukgv4auv37S/FHKFovwJOtPlaTCuS50ifENeOOn04/zaS9+gvSq/9uGQMqt4XpUqApl
         DvddAAcVjqQSB3EjBJy67foROUSY1eWmXrPl7DvCpBjgikIJU9z/nynHdcfsVzWMH4un
         2Uvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723107; x=1742327907;
        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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=Zhyw7t8yDNsegUC73d7aVtVa+cEQ2fySJ3OU2vcRjpf1RsbdrzIVykYEEj23p6XCj5
         ODxPFOWhh6kjFgd6qjipdxvyK68z1PjeE/eM+zpK+TcGA1/jQU3ERNON6FycAAWDFR3s
         LnCTjbv67ArpsJ+Pdo86Gl9WhOp6kjdsx8s06F6yW18v8JOJo5NcE+ODcJ1yB5p4Iex0
         ODYMATJqVuswEaA85ExpVK74HjlsMD4jYLsBz6GTkdjra7NAx7Vz6NSh11fQEAhVQPdQ
         R6hlnq7D+xYwQcsShx4JA8bTFVxEcil20iGutjxZxOqmeJyNIG8HOHU7UJC2lP8kA4ub
         ht+A==
X-Forwarded-Encrypted: i=1; AJvYcCUNNVjRcUS7IpNqqa35YwrU2e8ULCBw0hkKN/DmD6U2b8BDeunrvlHr+UERYi2MT3hmfTm41Y7vZdk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYP13sOXM437kpkdXVcTORVwxFdlKgJMsME5c1sP/T9i+I+djn
	swL/Z2Uwi9jdkmlCYyniRJYQ0zjOGj29mnUqL9LIamBzHHFgar+Bzjgt3Z+zY1M=
X-Gm-Gg: ASbGncvvzDmkpXRKcL6cb+lBdNntgTNZwKQzWWVTr9IsOulGnsVmmMiFKQiu+4YxRRX
	Q62lEE3pr2YCrfBqsTz236W7ISpZuDo7xJOjWEsxN2SUH8U3fxFzjARyoPAWEUonbKPpl/R2EDw
	ymBCBwXfrciPCIC54NByBipzchTmTa2mWZgjOdpp6uuBjpdKx3+zoOHgJ50uVxXs+c6aBPylsw5
	76Equ0xm1l3sItxON7m6mcuonYC/bDibMEFOXj68fa31/NIyKq8hBwK9nKRfr85pjrdtLk2zTJI
	iAAGSBX1gmmBzX9XY8Fq9bVSgxX1S3tQE6VSIDm5bFzo
X-Google-Smtp-Source: AGHT+IH4DZQtwoxJlYICmsHBrM9aJbv4mOOcZipSBsnLFw41tHWuGL9LYWyAZtn5lP/0QysRh7Mo8Q==
X-Received: by 2002:a05:6a00:928b:b0:736:5dc6:a14b with SMTP id d2e1a72fcca58-736aaa1ace3mr27769096b3a.13.1741723106807;
        Tue, 11 Mar 2025 12:58:26 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 14/17] include/exec/memory: extract devend_big_endian from devend_memop
Date: Tue, 11 Mar 2025 12:58:00 -0700
Message-Id: <20250311195803.4115788-15-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

we'll use it in system/memory.c.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index 069021ac3ff..70177304a92 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,16 +3138,22 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
-                       ? target_words_bigendian()
-                       : end == DEVICE_BIG_ENDIAN);
-    return big_endian ? MO_BE : MO_LE;
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
 }
 
 /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908983.1316090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5kF-0000oU-Dw; Tue, 11 Mar 2025 19:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908983.1316090; Tue, 11 Mar 2025 19:58: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 1ts5kE-0000lC-Pw; Tue, 11 Mar 2025 19:58:30 +0000
Received: by outflank-mailman (input) for mailman id 908983;
 Tue, 11 Mar 2025 19:58: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kD-0007Uu-Jt
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:29 +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 2fd56c7b-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:23 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-2feae794508so8962715a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:23 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 2fd56c7b-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723102; x=1742327902; 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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=JWxnxbYcPjz/Z68peTnRDKwzZo1lExFgxMYf7eC2/2RfEiQKTS00Om9Ml/ZwNd0BTg
         oYsq9wuzAHQTmurDr6fOGseYtvFWvCtvh8fLwekIGZ7Z4F9d8fAct0RtnxjgeyN1CunZ
         nRSzB6ByKD8g86J8VfxHHdpjd1XIliu7Qa1K7bq477/yZvTFrjwam9QWbd0n2pvKAA1l
         oCl3/jJAx7/6t0kvCFF9Z+wM+363EVt+2y8ZDmiITyg6YbHT2M0aws1JhmeTfaWXlUH+
         1aAgrpTvcrXIafnYtKhCjf2Z0Epsm3EFnvt/jL7MDZf/kXwOhTn9BOkaYfCxTJQk6pXA
         KhOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723102; x=1742327902;
        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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=KC71ZJg6zFJ7IjA0psBs0U3dJMsn+k8kfF3vRPoe5ozZ6WK1klHXi++L+0dXBcGK3r
         n/CwQEkLT7zmmcXSWPm14VqpqbIiAiYc3R8/olJDGn2rKz5+eVh9lXtQePCzz+iQfi37
         b+jgxe5/+hPU0YVgOaCmHJJnhc+xDMXGNDaN4u1S3APni5H+0EHG5koBXi0/wQnSy7tC
         UXp78e1YghLJcPUGXMnmcdukj2B0HmJWXSijHdIZms2qFzlw5GN995roGBCV5stHAfkv
         jU0D62Frr02ApeEvZHYoVqRVnBdTDRbPKsdSsG+nS7vSaEuzwG5s28TRh9+ezmZ/kmuY
         rAYg==
X-Forwarded-Encrypted: i=1; AJvYcCUGLY8IWXFok/Pto1qg/YN5lZX2JBWfGZDtlSLYhI8w99UaFN0JFDoeXgd3P2+FVVgCRDtYXoO6W7M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwM9HaoPhQcubaIxs1rlxOf+9vl2bo7wET0v6UTt75ZwSpr1QHi
	T/ScdBxOIVTq1ocYxhwbxh2CyHdUmbdbpyZsM2WwyXw3Ez4evTVZ0yD1IqEt8Ew=
X-Gm-Gg: ASbGncv556S6+diyH7YakDmrH05VJRedrh0VWhH+LHcpAnDzdKJLE1CNuLOAxzAhckd
	PpiAu5Pha3ahq1KWzvNIF90fXK3KU8ABGLQjFnw9GDJs7GV4VWhfIFiKJUOhu/Kiigi1sMOszBg
	SP1AR9ryjpHVU99tOZHyOFfhgAOqemyE0Ks3KkMOb/LgG6+x6PmExBhfH7PMcJ7nK9T3a3RpBkv
	6LDURm4Cgz21sJ5M4K5JXuUO0hvA8lp2O+vmEkEJmn0dKcW/3vACVuLVGvFc1CSB+gGYYHPhGqE
	8K2tLp+6StWqvrLMFTy9ETPfSG6Ap8AYOrKJU3eRvkIt
X-Google-Smtp-Source: AGHT+IFuSUSQsgKDn+cb31pnjdNEblE2NjRflSuEeU68kg8s8JFfsQQJsGkDTEhj0ycbJp3/pjIRHA==
X-Received: by 2002:a05:6a20:6f90:b0:1f3:397d:86f1 with SMTP id adf61e73a8af0-1f544afa185mr29488018637.16.1741723102158;
        Tue, 11 Mar 2025 12:58:22 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 10/17] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code
Date: Tue, 11 Mar 2025 12:57:56 -0700
Message-Id: <20250311195803.4115788-11-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This function is used by system/physmem.c will be turn into common code
in next commit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/kvm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/system/kvm.h b/include/system/kvm.h
index ab17c09a551..21da3b8b052 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -210,11 +210,11 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
-#ifdef COMPILING_PER_TARGET
-#include "cpu.h"
-
 void kvm_flush_coalesced_mmio_buffer(void);
 
+#ifdef COMPILING_PER_TARGET
+#include "cpu.h"
+
 /**
  * kvm_update_guest_debug(): ensure KVM debug structures updated
  * @cs: the CPUState for this cpu
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 19:58:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 19:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.908984.1316103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5kH-0001P7-Cp; Tue, 11 Mar 2025 19:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 908984.1316103; Tue, 11 Mar 2025 19: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 1ts5kH-0001NR-3X; Tue, 11 Mar 2025 19:58:33 +0000
Received: by outflank-mailman (input) for mailman id 908984;
 Tue, 11 Mar 2025 19: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kE-0007Uu-K4
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:30 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30851c3e-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:24 +0100 (CET)
Received: by mail-pj1-x102c.google.com with SMTP id
 98e67ed59e1d1-2feae794508so8962748a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:24 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 30851c3e-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723103; x=1742327903; 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=d9PU2mUUZXceFgFF8NURkIZqXSTxuLUTW3yG3F37dHQ=;
        b=ySlCDSlw4C2jJRBJVMlBfDoaYGpEn5JPYzGeJv7wwcI/8GCULmhksm7AnZbbXZRp78
         RL3VfSN1R6Pbtjj/p4oelMSIHRDWuhRa11Up2c/VFV/pzJ8MQnEnfUOo6HU5FarJ9uaD
         2AtB9Zw/5qWnJC1xnJT+9MNxZwMHKT9P8nu2TZ4sh1Ehd+eocmrF1R9Ldc6yEfIOCxX3
         QAzdFM0ioBiVY6a6qIFN0v5fah9oaUFccQoeLtu4PzlQBQJTYCeWNCTan5nqsPk3XGda
         3CONSYKbW3GxOVwBN99AQ1soKR/N+23s2yU9DbDmVcDgJcjId1UxT3vEhHvG1pAma/hU
         480w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723103; x=1742327903;
        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=d9PU2mUUZXceFgFF8NURkIZqXSTxuLUTW3yG3F37dHQ=;
        b=cdIoP2s1Cm2TRi0UoZ4N7FBxBq1O2JVFznx3IQZfuzckGW3IlbnFnodBQWfUBBnQLM
         W+BENAhexDEtjuPHcQ3TNsejY4J76xb7R5GmxpdkKd2+IB3WyEyDimDhmVV6wBR+1sd2
         A4JRAOPTSf5fSDZbSAhI/fpUqJzQR0OFTYpTKjWGBiIW1ycEQffTnYxHtSqv/aIYTr/p
         0yOI4AV0sjTrht0kZUtjyweKFuvDu+UtwcOIQEe/cEKGo1sHvGA5dj2YPnFK5L8mCxiE
         60kAv647N63wLr2e7mDChILRVx9ILHQk463tbqbGyAtXBuQozl1h2FKsftFWkEuWMcnf
         U/Mw==
X-Forwarded-Encrypted: i=1; AJvYcCXQIZDIW1QZ379nKMFg2ogGNztydx1+lbDB070DPc+pEL8NORmVIKnAXRO1YUjpCfJg8B7C4/ZAwJc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxdhkamp6zm1dPKxNu4T0AFkJ5mqeFjZCdyznXTjO1EDsVDTIqV
	DVBoVCmdww59eWbCxV53C2BYWpwAY3cjmJABSnVuqnHd3lVtQZ5eKZ4vUPa5IpM=
X-Gm-Gg: ASbGncuehiAP7nycboJZHcfTLMFWIcnBphw2tszUTK71vi48Xe+I0078FxV3n4x6fa7
	uRwTqujhmwpWCZH6oG5ulqqZhnfKiZ1AslnYqNXBbeSCCSeqNDhBpFxNMoSH6YneVggRDiboAhf
	W7ueTe0na1jKh6KTOzOPTuspd4XTnysm5WyJrnHTgWSbfD8hBRB2TaYtKRgH+oALDaHJ9lledug
	PIZSM5vTTRKQhlM6f2d4qT66X6etERENp/Rtuyx4FTE/odgU2xsuwaYF+J93xqxcRCjwvH3Y4wk
	OBbQCZzmI49YMdM5x8jh3dJ1KAkjJe9qZB7Vi4FoPew2tvvu8Gnw8a0=
X-Google-Smtp-Source: AGHT+IGg+aQTZ2xq9SQi3eRnsIeXjPhQ74pTHWyL4E+moWnFDewPnn2zGKzm8djm9QcS5fi3hNfHgA==
X-Received: by 2002:a05:6a00:c8f:b0:736:34ff:bfc with SMTP id d2e1a72fcca58-736aaab7d8fmr24949384b3a.19.1741723103280;
        Tue, 11 Mar 2025 12:58:23 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 11/17] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
Date: Tue, 11 Mar 2025 12:57:57 -0700
Message-Id: <20250311195803.4115788-12-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 7c011fadd11..098fccb5835 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -342,7 +342,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
         }
     }
 
-    xen_hvm_modified_memory(start, length);
+    if (xen_enabled()) {
+        xen_hvm_modified_memory(start, length);
+    }
 }
 
 #if !defined(_WIN32)
@@ -418,7 +420,9 @@ uint64_t cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
             }
         }
 
-        xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        if (xen_enabled()) {
+            xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        }
     } else {
         uint8_t clients = tcg_enabled() ? DIRTY_CLIENTS_ALL : DIRTY_CLIENTS_NOCODE;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:13:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:13:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909053.1316121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5yx-000795-On; Tue, 11 Mar 2025 20:13:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909053.1316121; Tue, 11 Mar 2025 20:13: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 1ts5yx-00078y-Lu; Tue, 11 Mar 2025 20:13:43 +0000
Received: by outflank-mailman (input) for mailman id 909053;
 Tue, 11 Mar 2025 20:13: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=8jJT=V6=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1ts5yw-00077U-Sq
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:13:42 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f403:200a::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52f385d6-feb5-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 21:13:42 +0100 (CET)
Received: from MW4P221CA0009.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::14)
 by SA5PPF8ECEC29A9.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8d5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 20:13:36 +0000
Received: from BY1PEPF0001AE1B.namprd04.prod.outlook.com
 (2603:10b6:303:8b:cafe::82) by MW4P221CA0009.outlook.office365.com
 (2603:10b6:303:8b::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Tue,
 11 Mar 2025 20:13:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BY1PEPF0001AE1B.mail.protection.outlook.com (10.167.242.103) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 20:13:34 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 11 Mar
 2025 15:13:33 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 11 Mar
 2025 15:13:33 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 11 Mar 2025 15:13:32 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52f385d6-feb5-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SfE2ZnPKwkoSt0uFeWVjJzYppwZ9ua/TU7o8phFlT0MjNdOjrv27kOnW8R01gSJyoc9VdjeGbdLI687VZlRh6RFNaA8q5NoizEpIZs4R6l14tzocNR2NckNmcJmgSW7612mez7CyC1rMOO+v3vFAw7JJZdIZgoe6mER6oc6bcXn0zU25rDLqTIdrHFMAqZ8WsIMEOXz8reCsz2tjUWYWto+teyFi3spMQEZdXBHKblLrlwJiescam6xXUgAHN2k3I3493IbTXq9hmN9jmcS2fQ+g00PBp9zBA3m7q06xHfCtAtDVOtn17kX2pummTSK19OHyOYYUg8rIQ6UCF1Df5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hRf2RtEaVioThnBIMaRfEHbIYxxzGi+1Zqsr/DNa37w=;
 b=WecWrxtmAeEsU2rG1cmen3+oiD1qK/rhH3A954r0CkDS9u/EqGhKJnrPDb0w4vmbwx3L+l3K+DL/R8cDYDopQ+zISZZI48/+lrSSNMy4Uy3MMluE8qI0cJxS3C3uFleY6kUb5UpPkLORGEe+s3zXEzZ4Tam80nNYC5p4dojhgsjikMBf7inQUXEfCSzRndNr9szUvWRUJkm26IBDuCn/m5HMtvuMcYktWs7fRYlbay9o9ZLRYD+DmsCaElwU6/BKXdW646617pEr150M7eBZczXTrVQ3KgbgnCTFTjIZGJLZqM3SclIgcUD6im+UsGa+7EeAlGN9aNmAc8POxY8B+A==
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=hRf2RtEaVioThnBIMaRfEHbIYxxzGi+1Zqsr/DNa37w=;
 b=aZtOYOSMIYcuaTH+lr6aWAd9DQWq4QW6WbfRtLqwRC4cmv+fJq++hnk+6KcZJSA/rBB30KjxiormmXQW425ADBQKZt9PSPBNNLHy8BKfSR5z4UGReOSwzdYual3DdEv97YjS9qJzEew014NGmmxNsRSGgddauryKNm+dxV9geCI=
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=SATLEXMB04.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v17 0/2] PCI devices passthrough on Arm, part 3
Date: Tue, 11 Mar 2025 16:13:26 -0400
Message-ID: <20250311201330.365499-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.48.1
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: BY1PEPF0001AE1B:EE_|SA5PPF8ECEC29A9:EE_
X-MS-Office365-Filtering-Correlation-Id: c3332fb0-b731-4853-fa13-08dd60d9339a
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?MVY5VkdJVVMyUXhzekhrd1hjZ1ArR3hneXp1ZFV3eVVNbzk0bXVFeUZlRkho?=
 =?utf-8?B?OElFSDR4TlNTRm5SbElpTWVIcUJZYXI2dWR0YTNvZmZvcm1Ob05rRDR4aHVB?=
 =?utf-8?B?Sk9CSnRTTGlWVFJkSmRkdElyRDNnOUZEcVM1REVTUnhadWx1ZDMzYzNVTnJH?=
 =?utf-8?B?Um52QWJxVExyWTRMTkIybHVia3NVS0ptK1B2cGpPbXcxQndlWFJYTWpVbjlR?=
 =?utf-8?B?TVBSdFV5TGZ2S3FweU43MGNoUms5Q0F2UjJKOWVRMDdWdjZhM2F6UktkQ0Nu?=
 =?utf-8?B?RS8vckhBQWREZDlOMlFIRjZuUmVvakRtNmhqVGdRWjhBNVpPVlpadWEyTWlO?=
 =?utf-8?B?RGkxWi9DQ2FQdHg0S2NTMkxYMlZ6NFFLMDFjT0lFSUNPczVOZVN3UFlyNTFh?=
 =?utf-8?B?aGw5Wk1udENWdTk1T2xXa2NCQ3ViZDNBbHFET1UwSzJ2dzFrUmVqR1QyZURv?=
 =?utf-8?B?UUg4QUtOb2Nack5JTnNWWTNNOUswV2swMFN4bHdvUmg2N1dHb041VTY1bEht?=
 =?utf-8?B?aEp1VllYS3pwZWNXMFVhdGErTzI4S1d4ZFVvZnNqRHZYQUhYenRtRWN3VjJR?=
 =?utf-8?B?Wkl2UXpWZW9qNXJvZTNvaFArV0ZhM0hTSCszaVhEU2JPKzZkOEdUUWZBWVFS?=
 =?utf-8?B?eC9pRkZXeHhTWWovTjZoelFUK2owMnNLU3h3dGxIUk1iUFJrRFk4STA5MTEv?=
 =?utf-8?B?WHB4Q2k3UjYzYisyQXIyc0hOanB3OXEvbjFpdUJjZHE5ZzZCaEh1b0F3cG9t?=
 =?utf-8?B?UzFteGtFdElyWVI5empOZEVjZ3c1VjEyWmN1cmpNR2ZnUk14STd5QTZsZkFz?=
 =?utf-8?B?MDhJZW1KVHJwKytQWU4xa2x4UURPeGxLdmk1d0hIVEY4YWtQdTVLSFJsekMx?=
 =?utf-8?B?WGFkRVM4eU1Wd0lteldFYmlLT2sxQ3dINWE4eVo0bEw3aU9TSGZJdlEzNHVs?=
 =?utf-8?B?ekNTMUIyT0o4dXMwbEIwTGdWYVNMTGo0TWZZZHg5U2dnV2JaRWhNYmpFM3dl?=
 =?utf-8?B?SXJ3MDh0UmFjN0N6R2VURmxrUDVKZEVkVkFkL1ZpUHZ1UlV4aDhKU21qSS9S?=
 =?utf-8?B?UGNXUWZxUEhyVFlUMVNqdElCV1RyaWlnRmtZcEJobXcyaUppKzV2a293UWRh?=
 =?utf-8?B?VjlablRTOUF5NkVqS0pNMjlRcGk4bGhiTkFKTFFoWmxmS1JxTkIzekF4R0xM?=
 =?utf-8?B?YkwzNm1MaStzUlRXalRRMUtHUjc2ZXJ6V2QwbVlCZjNGYmFnUXF4ZnM2STk5?=
 =?utf-8?B?L05pOXZITnpBZkpUZ1NYbHhjcGZsR01mb2x1Y0l5a2VJVFRuNkwvV1lLd3Yw?=
 =?utf-8?B?MXBmL2R6eGttNnkwVVVFSk5NY1JSaE90T0FNRitEbjRDOXhuSlV0Uk91a3Uz?=
 =?utf-8?B?THpRZHdpbmtRR0dzUUNvdHJUbC95dXRmZUZkTG1iZ0xUN3NMcjlpWDBkYzdD?=
 =?utf-8?B?V0g0bjdadTdieEh3NXg4Z1B0RFFtN3RYV3FhbmFBUVR3ZWN5anBtR2pOdHk5?=
 =?utf-8?B?d2NuWXpLeGc2d2J3Vlk1emVLQkhwVzdtWDIreHUvK0plL1U3K1ZUeCtpd01u?=
 =?utf-8?B?TEVQUGlsVnYySlR4a0xyME51bndqcmhheVI3S0t1Q1ZUd1FpVHByOW1PbkFF?=
 =?utf-8?B?SFVzU0k3M3hTSkJuamcrZExMVlY5VTRtczExbXh2ajF1NzNWRWM1QmJabHlq?=
 =?utf-8?B?M0lkQUlrclp1OFhBTEwvVzhDYW5HN09Sc2U1ZkRpNVFONWt5TXJqTVZ2SkZR?=
 =?utf-8?B?WGwrYXBRbjFnZWNSMEZWNnZUelVPc0RGQ011Sk9iclMvWWxUemtscDlzdWN0?=
 =?utf-8?B?VVU4MDhFNG1vckoyZCtuckMreXNGS2p3Sk9teHgvbUg0cGV3Z2g5VXVBVjda?=
 =?utf-8?B?OVVMSVdWdWZZVThCWnVaMTVxcXl3RngxSndubTlLYzVWTitHNmZzRElrU0ZI?=
 =?utf-8?B?VzkyWmVTUDcwYkV6ZS9Lc3c3eld0dW5wQVYwUG9IZUlCT1JRVHdHejlOUkNx?=
 =?utf-8?Q?b51dET9Bc9VCPqq37WEcG541/Ic/eY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 11 Mar 2025 20:13:34.4879
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c3332fb0-b731-4853-fa13-08dd60d9339a
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BY1PEPF0001AE1B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPF8ECEC29A9

This is next version of vPCI rework. Aim of this series is to prepare
ground for introducing PCI support on ARM platform.

in v17:
 - add ("xen/arm: check read handler behavior")
 - drop ("xen/arm: account IO handlers for emulated PCI MSI-X") as it
   should wait for future work
 - drop committed patches

in v16:
 - minor updates - see individual patches

in v15:
 - reorder so ("arm/vpci: honor access size when returning an error")
   comes first

in v14:
 - drop first 9 patches as they were committed
 - updated ("vpci/header: emulate PCI_COMMAND register for guests")

in v13:
 - drop ("xen/arm: vpci: permit access to guest vpci space") as it was
   unnecessary

in v12:
 - I (Stewart) coordinated with Volodomyr to send this whole series. So,
   add my (Stewart) Signed-off-by to all patches.
 - The biggest change is to re-work the PCI_COMMAND register patch.
   Additional feedback has also been addressed - see individual patches.
 - Drop ("pci: msi: pass pdev to pci_enable_msi() function") and
   ("pci: introduce per-domain PCI rwlock") as they were committed
 - Rename ("rangeset: add rangeset_empty() function")
       to ("rangeset: add rangeset_purge() function")
 - Rename ("vpci/header: rework exit path in init_bars")
       to ("vpci/header: rework exit path in init_header()")

in v11:
 - Added my (Volodymyr) Signed-off-by tag to all patches
 - Patch "vpci/header: emulate PCI_COMMAND register for guests" is in
   intermediate state, because it was agreed to rework it once Stewart's
   series on register handling are in.
 - Addressed comments, please see patch descriptions for details.

in v10:

 - Removed patch ("xen/arm: vpci: check guest range"), proper fix
   for the issue is part of ("vpci/header: emulate PCI_COMMAND
   register for guests")
 - Removed patch ("pci/header: reset the command register when adding
   devices")
 - Added patch ("rangeset: add rangeset_empty() function") because
   this function is needed in ("vpci/header: handle p2m range sets
   per BAR")
 - Added ("vpci/header: handle p2m range sets per BAR") which addressed
   an issue discovered by Andrii Chepurnyi during virtio integration
 - Added ("pci: msi: pass pdev to pci_enable_msi() function"), which is
   prereq for ("pci: introduce per-domain PCI rwlock")
 - Fixed "Since v9/v8/... " comments in changelogs to reduce confusion.
   I left "Since" entries for older versions, because they were added
   by original author of the patches.

in v9:

v9 includes addressed commentes from a previous one. Also it
introduces a couple patches from Stewart. This patches are related to
vPCI use on ARM. Patch "vpci/header: rework exit path in init_bars"
was factored-out from "vpci/header: handle p2m range sets per BAR".

in v8:

The biggest change from previous, mistakenly named, v7 series is how
locking is implemented. Instead of d->vpci_rwlock we introduce
d->pci_lock which has broader scope, as it protects not only domain's
vpci state, but domain's list of PCI devices as well.

As we discussed in IRC with Roger, it is not feasible to rework all
the existing code to use the new lock right away. It was agreed that
any write access to d->pdev_list will be protected by **both**
d->pci_lock in write mode and pcidevs_lock(). Read access on other
hand should be protected by either d->pci_lock in read mode or
pcidevs_lock(). It is expected that existing code will use
pcidevs_lock() and new users will use new rw lock. Of course, this
does not mean that new users shall not use pcidevs_lock() when it is
appropriate.

Changes from previous versions are described in each separate patch.

Oleksandr Andrushchenko (1):
  xen/arm: translate virtual PCI bus topology for guests

Stewart Hildebrand (1):
  xen/arm: check read handler behavior

 xen/arch/arm/io.c       |  2 ++
 xen/arch/arm/vpci.c     | 43 +++++++++++++++++++++++++++++++----------
 xen/drivers/vpci/vpci.c | 26 +++++++++++++++++++++++++
 xen/include/xen/vpci.h  | 12 ++++++++++++
 4 files changed, 73 insertions(+), 10 deletions(-)


base-commit: be59cceb2dbbea3815f35f6982aac6d2ab1b10b7
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:13:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:13:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909055.1316132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5zA-0007QV-2T; Tue, 11 Mar 2025 20:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909055.1316132; Tue, 11 Mar 2025 20:13: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 1ts5z9-0007QO-UD; Tue, 11 Mar 2025 20:13:55 +0000
Received: by outflank-mailman (input) for mailman id 909055;
 Tue, 11 Mar 2025 20:13: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=8jJT=V6=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1ts5z8-0007Om-S4
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:13:54 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2412::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 596ce305-feb5-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 21:13:53 +0100 (CET)
Received: from MW2PR16CA0043.namprd16.prod.outlook.com (2603:10b6:907:1::20)
 by SA0PR12MB4350.namprd12.prod.outlook.com (2603:10b6:806:92::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 20:13:47 +0000
Received: from SJ5PEPF000001D4.namprd05.prod.outlook.com
 (2603:10b6:907:1:cafe::ee) by MW2PR16CA0043.outlook.office365.com
 (2603:10b6:907:1::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.24 via Frontend Transport; Tue,
 11 Mar 2025 20:13:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001D4.mail.protection.outlook.com (10.167.242.56) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 20:13:46 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 11 Mar
 2025 15:13:45 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 11 Mar
 2025 15:13:45 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 11 Mar 2025 15:13:44 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 596ce305-feb5-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vktNRAzL13EwQwecDIgsmFncbikwgvwpRXizKI6XE6Efg082ggV6jfLIeMAhJtRgTrt22h+vfqkmU3bPL9qOtF01GveP2s/M/lDIT3P1Zi/A1EaMZaJ2YVuCvTVozew1/WKFkQ8zw3VM/yQxHOPfgwg1aP6JapegybYD2X/OARUqdJjzDXpG9rraCc2XqIy5E0zKb7LU6QLONISPzql/ows486zRBEC258D52WNvPe3fR7wZnI7UcytygjnV7W4NWsC429Xbs+FaAcpfHwrPJCrNL5wUCopZBkfcZB87AnkW8aB9RaTS70M4GqTxf4Et+tIMJ6zEOtjx41Np7lM00g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YWC1ZmRyzVKf29WtlD1YmvsLfF7BuCPZ18tLYB4GxzQ=;
 b=wFrft5+h88LBJHchHhayKAmNCRFisHJxCO8Mh6rtuy1+j98cyWb5BxHKc4rhF3cdB2gvhm/J0TXy527ZHFOyHUnZQeB28upIbEaQEYktyttiAnqDo9OmRgpz/hs29WJuPdDOQa73kjRbZvqzI2QQpy0z35wp4VZ1QsJI1MhCLCgvb7OuzbgDYYwF7eB5g/0mhcGQ5zLqdkNzDDDIJ6HKyhWyhrGEiscnwxTRo9GW5pvwNBvvRocr9hh9JC7jWAkiIXsmqbqlnvsct95CyJP7xKcmu/pByfKiYYBmGCTlOSZ9WldSRBsjAzoEvihozjDu9628l4dujf27+28ULN7+9Q==
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=YWC1ZmRyzVKf29WtlD1YmvsLfF7BuCPZ18tLYB4GxzQ=;
 b=aAe4jDE3tM2UK0Kf5aNHUCL3nNvBVwDsttuvAl+wEqFYusMVk/mde4q35y8ZuNKAV7hgg3tNAXVKHwmiMqRx8PukMTblk9vVdnmqjWB1UJXA0bHByYOpFEDNAqVOKVJSWVUs0FaqguOeb4ufD7Pf//3FiRQ7d1Bp5lQt9E4bzKU=
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=SATLEXMB03.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v17 2/2] xen/arm: check read handler behavior
Date: Tue, 11 Mar 2025 16:13:28 -0400
Message-ID: <20250311201330.365499-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311201330.365499-1-stewart.hildebrand@amd.com>
References: <20250311201330.365499-1-stewart.hildebrand@amd.com>
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: SJ5PEPF000001D4:EE_|SA0PR12MB4350:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ebdf3d1-22b5-4eea-abff-08dd60d93b0e
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?QTVieG9BdFNvU2ZPV0F6dFlYenF6RnpLM243Sk15WkNlTVVKN2NRb3NQV01I?=
 =?utf-8?B?ellHbkw4QU0reW1wRmpGTStqWEYwQmNYQmtpTmxBRXoyWWR3d1lEQW96aGZx?=
 =?utf-8?B?RXF4Zjl3eGlLU3ZxajhTakFhUlFWVkROak5jdjh1cUtzVnJ0SE9GM2ZFdXRl?=
 =?utf-8?B?eFU2Q25wc09lMi9PeFJKWVFqandiTkEwN3ZXc2U0ZHZ1STFncnUyUnpoZmMv?=
 =?utf-8?B?VitKay9QY0RDZTJGVU1rM1NzWDJmSlBsUEZKVm9kUk1HdDhKbUZkeDBGaHk2?=
 =?utf-8?B?ZVowbkNuVUVQNGtqcnlKUzhaeWdtN21NRm9EaGd5djNISldGWFcwWXNDVmlw?=
 =?utf-8?B?bndVV0RDUERYd0pRQkJVSHAxbGJYcHBLdE5zMVpuaERZY3VrNlovNE1FZUk1?=
 =?utf-8?B?eDFrZno3Mi9CWjQ4TWVpbVlsMmVnYWwweXpPUjhhNVVyc21KOC83WHEyYUZ1?=
 =?utf-8?B?UElLcXhWWWxZTHUrcExZTFVoVHVLMDdYN2w1YjNNZGdodHZhMGprNE5NOVhs?=
 =?utf-8?B?N1BqSG0rckl2Z1ZTWEJWbmNkRVlNaytYQ25JRkRqRU1QaW9tZ2hrV3VUU21V?=
 =?utf-8?B?WGFzWVZqeENvc25hVmZKWkN4WHRBZWYrb1MvSDUwRWJJOGRDQ0w1L1VjcHJu?=
 =?utf-8?B?ZWRISzQvY2t1QjRHZFMwbHRidXluZnN3Q3dQS1NMckdwTHVIaCtwSzdSYXVU?=
 =?utf-8?B?M3BBWDRiOWhCYVpoSnN2TTJ3dWtXVi8vWTdSREJ3amZ4SE4ybTVuWFhKVFJV?=
 =?utf-8?B?Q0ZGRnFFaDN0R2JzRllGZXNvN1liMmJGdWpCMjhOdUNGOUNGSVprUElRdkhY?=
 =?utf-8?B?STJENnY5UmdEeEYxY1VTRU5KS2IwbjhWZkxBWDduazlFeUMyd0QrbytDVXph?=
 =?utf-8?B?UmFmazJPNWkwYTlCQWlXbmpWbmExejcvZkJBNjlNdGFTWW1EQ2lTQ2xaN3hl?=
 =?utf-8?B?eUJzaVkxdXk5bld0dDZSdXB4VFBxRysvNHRwV3hVcVdyczV1UWZ1Z3VmK25X?=
 =?utf-8?B?MUFnR01zeEdOOUVMWVMva1JFUXBkVVc2SUtvWEV3Q005THVkMVVqYStXVldp?=
 =?utf-8?B?MkhCZnRIenJISHhKRzVWOXhucjh1UEVpdWdhdGZXMzVsTkZwTDBvWVJURUY3?=
 =?utf-8?B?SXUvNnlCNU10MlBUaXQ5V3JrKzF1Z3RiRXlrOVBwRkhmc3V5L2VUZWt3eWJO?=
 =?utf-8?B?UE5RemdJZTNSZ2QraGhhcGw5TVNQeVpSUHE1YlFrKzJnUzl3bW5QMTR5U0Zp?=
 =?utf-8?B?WVF2VnoxM3UveTVmZVd3U3VpNDNOTExwVm5vQXJ4aXJ0UUt2aE9kNXhCTmJ3?=
 =?utf-8?B?MFFTWm50aG9UaFFhZS9KYXl0bEk2WWoyTnV0dUdBLzNaZnh1ZDZtd0ZNcEF3?=
 =?utf-8?B?MVdraE5qaFdqN2ZiUFE2TlhPSE40L3lNMksyTGEwNkpKME1laFljbS9kdzVH?=
 =?utf-8?B?TEZwWXNqc2pFUU93OGJBMWt6Y0ZDaVdXSWloTWI4QUZwdnJ5V2Z3dTNKN3Vw?=
 =?utf-8?B?WEc2REUvazFvZUxFL1A5QTBjdjlLRzB0RDArK09ScEVQY2Z1dUZ3MjlEa2lT?=
 =?utf-8?B?M1h6V3BlbUxPdTQ3NXJ2aTRwb3dycHJxUTdPMGIrQmQrZE56Uy9ycURaREh6?=
 =?utf-8?B?aE9lMkM2Q1EyZnBnSmFDVjJiZ2pDSFBXamJ6WWdpVjQwWmcxU3BSVnpGNnBj?=
 =?utf-8?B?VC9nR1RRaW9IMWFhdzZQN055VHA0cDBMcU9PR00xUWlEczhBUEloMjlGT1o5?=
 =?utf-8?B?VnlIenFNMXNWYTVyUE91N2RlNVlsZE00V1VtRFlQZnoxSmQvYmUxc1hLMzN6?=
 =?utf-8?B?NHZNN05aNElObVJZM2V5Q2hjd25MK1VYQ2Y2L1hSUEVUeWNtbDhxVDBNcWo3?=
 =?utf-8?B?cm1ZY0szZnlBWXpmNGJWaCtJenk0RVZqUW1YOEo2WWVDREM3RWw2Vm91SXFJ?=
 =?utf-8?B?SC9iRVUvZEcxSmVPL2xNalY3eEh6QmxqRXRaNkFPankya01hcjlLQTlLY0pz?=
 =?utf-8?Q?g72Qds8SP1UbqarOezYDwvBPhIjyrc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 11 Mar 2025 20:13:46.9902
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ebdf3d1-22b5-4eea-abff-08dd60d93b0e
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001D4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4350

We expect mmio read handlers to leave the bits above the access size
zeroed. Add an ASSERT to check this aspect of read handler behavior.

Suggested-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v16->v17:
* new patch

See https://lore.kernel.org/xen-devel/bc6660ef-59f1-4514-9792-067d987e3fbc@xen.org/

Also see 7db7bd0f319f ("arm/vpci: honor access size when returning an error")

Also see xen/arch/arm/ioreq.c:handle_ioserv()
---
 xen/arch/arm/io.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 653428e16c1f..68b5dca70026 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -37,6 +37,8 @@ static enum io_state handle_read(const struct mmio_handler *handler,
     if ( !handler->ops->read(v, info, &r, handler->priv) )
         return IO_ABORT;
 
+    ASSERT((r & ~GENMASK_ULL((1U << info->dabt.size) * 8 - 1, 0)) == 0);
+
     r = sign_extend(dabt, r);
 
     set_user_reg(regs, dabt.reg, r);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:13:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:13:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909056.1316141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts5zB-0007g1-Dq; Tue, 11 Mar 2025 20:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909056.1316141; Tue, 11 Mar 2025 20: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 1ts5zB-0007fs-9b; Tue, 11 Mar 2025 20:13:57 +0000
Received: by outflank-mailman (input) for mailman id 909056;
 Tue, 11 Mar 2025 20:13: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=8jJT=V6=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1ts5z9-0007Om-SO
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:13:55 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20623.outbound.protection.outlook.com
 [2a01:111:f403:2418::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59e921c1-feb5-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 21:13:53 +0100 (CET)
Received: from BYAPR11CA0075.namprd11.prod.outlook.com (2603:10b6:a03:f4::16)
 by PH0PR12MB8174.namprd12.prod.outlook.com (2603:10b6:510:298::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 20:13:44 +0000
Received: from SJ5PEPF000001D7.namprd05.prod.outlook.com
 (2603:10b6:a03:f4:cafe::b1) by BYAPR11CA0075.outlook.office365.com
 (2603:10b6:a03:f4::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.23 via Frontend Transport; Tue,
 11 Mar 2025 20:13:44 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001D7.mail.protection.outlook.com (10.167.242.59) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 11 Mar 2025 20:13:43 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 11 Mar
 2025 15:13:42 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 11 Mar
 2025 15:13:42 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 11 Mar 2025 15:13:35 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59e921c1-feb5-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ShxBRuEYZ5sGkFwpv57hk2xgxt8UuXYWGAWgxNLxCO5tdBHrfYFtufUeE5VI4z4jqlmxZBiQkNAzbD+II8irl5X56iUK6aXk2Cp+J+uZdIss4n+u3Bbh+zM3nS/DVKGbO1zJ0K0mmF59LcTEX2qJQ+BvGQcEI1ag1iZilfNFsTU7FTjv1mjTzOK1Czyc/HEypaAVonjgti+qMF2wLa9mXv8YYS87Km/q7Wg2XCfmchq+qe8cm36CCq5T+ixE5irjSazUljG35D7Xx70efhiFkxcs1yncuSVZV8Or/3bYc0c8a3PHB/4lNEXqMT08JK45MmJIVTR9E0nLz0nBPHmbrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NJlcttoUkBrewjjbqp29o2Dgy13fkIGTdbkbNC7C96w=;
 b=LLeXQpKiykmUAx8LycKaYCB77Ar5pLCl9yLEt3PNiAeHuJktXIsHlBz642hkzgjea5xWjuCygb8kyPvXzGz640TbgRgb9sy9hcLyt9gKPT2Ptbz02e5pz/BKCzx2gBuB+YdXj3SrAsFaNNV2rlT4suIp9XHnJNpfIS8gxWM2OoE/sqKptK1VMaIKIVm75OWZUHfGODx96ESj9YO0YjaYFe4ohJYuuWS4xt8GMYiiHqkLl9GVBqDnXgBsFshqOTgUgiaU6GE3f0L1iYntMeDB6lIPHToFKZtCbJBl+oKci0kfhBg/DElEs46Hj6WhVTxDz5/3h6iLs2XPs18Vvo8qqQ==
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=NJlcttoUkBrewjjbqp29o2Dgy13fkIGTdbkbNC7C96w=;
 b=2OucM8A1XcG/6xkXXcCtS+89DJHYkFqE1y6y96BgnqFSlpVHNfZBgJTlEdpGSlmx/2utTCZJnE5eHjGAtBTndBVTQWFYgUaeWBeW1XtVg5FR4QkZO1zj8i0x9ypRx/BpRVtxp+FYAyx46BydFZGyPhPqp2lKVBt9oRDOY5mWd8Q=
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=SATLEXMB03.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, "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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [PATCH v17 1/2] xen/arm: translate virtual PCI bus topology for guests
Date: Tue, 11 Mar 2025 16:13:27 -0400
Message-ID: <20250311201330.365499-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250311201330.365499-1-stewart.hildebrand@amd.com>
References: <20250311201330.365499-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SJ5PEPF000001D7:EE_|PH0PR12MB8174:EE_
X-MS-Office365-Filtering-Correlation-Id: b306b098-591b-4ba2-802a-08dd60d93907
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?TaZwjyYoPi2KN+v80VrunyS0e3ZMFKfJP5Mfdq5A+jhy2NxaXByJYi8VQOfD?=
 =?us-ascii?Q?1FamLBxpiH05CdOpvzbnfYe0gI5A2j3SSGDttMY3HcvN6d8FgDmp197ecTe/?=
 =?us-ascii?Q?745TdbUJnxrSyxLtt8WJ7uxJAGcAklFVC/EQx2R0P734RH//4/o7ZJZ+59+r?=
 =?us-ascii?Q?yQTqI8HaKIZ5mdwTSs+r8p9Wrce3iNy0vL8kgwZ6jAJg7YGueGQvBdw9jLPZ?=
 =?us-ascii?Q?fOlP4uDWb3qrM/UJreJQw50ZXQI/g/wBiwQii1VeFwydyl9Szfb1bW11SkRX?=
 =?us-ascii?Q?YWbUgJ5hymOoaZh4t9qB4pSHr3CzXqryjI/YmRTa3AEz7xLz1W10PvsjtDYJ?=
 =?us-ascii?Q?MUvTdQDqdylcSSWo9spwoHdWE2vuC50lbhnOK0Rhdy9zsj3hU2/2wfJZgCKi?=
 =?us-ascii?Q?sDI/OdoSzvmSuia5ecDE+W1lKOaKoiscnJZdAbcZlxQp5YVOhBldnEvj1kpM?=
 =?us-ascii?Q?nGc8HyMTT3SVhh5lgFoq6RO5BPQG+3l2dXzMlHQVPJg+TxtsIFhbRQV/lQ1b?=
 =?us-ascii?Q?PtvnGz9iTxesF1RZ7mDs7JD7iIGOU1SdEAuEPKeGYjRxwwoSQ/dgxpHflZVs?=
 =?us-ascii?Q?a/Fy8c68X6smk5qcm3pJUJp3D75EYYNMDDHUyAtK/I5/Pm/h8c13hNeEWu6b?=
 =?us-ascii?Q?5WvF7b2QJZtS8ObeYdjsobL4LKE5m3CGL2dvt4tHWGejp/vX7jFFYneSZq23?=
 =?us-ascii?Q?yNINOQ3lv1babmop+tvqjgxKKPIcSjofZgnDmk5yv9MI1VDEJTF3GIuhCtYx?=
 =?us-ascii?Q?6Xmkp8C9D82nj7cg/c2LBZS+YeeIh6luHzKAJeBjoUO/knjoeOfkAdDL8vpy?=
 =?us-ascii?Q?qGqZjwZXyzkEDX/rIcO566d0PGLWgTFf1hB5yfX3c4AH5yXMidlQZ339oDRp?=
 =?us-ascii?Q?SmD+aV2xc21SjOrUNukRp1Bdl0qsOdycsxvUyxjV5XCN0sg9EkEYW/9fEwwg?=
 =?us-ascii?Q?3LQ2elsXiux1cEg10Jo9GjgYmLY4KcAxI7Nq6RwP4b9V3c25f0oPDsrPnpNy?=
 =?us-ascii?Q?KJzQKBIZHOV9LXaDE7KXz3sjcaBPOV6RgsV5twWBiwXDgRCODGrwA/k9B9B9?=
 =?us-ascii?Q?v7YycLd9xSFbNOLUuTrVRokGW/zxRL18gezq69Mb2tHIpYgfb4sd7lZc7vqj?=
 =?us-ascii?Q?2WjlwMp+lHJvyswScN9LUsJT9byOSmgrNNU7sptU4TAItWioJLFWnzZwkQCI?=
 =?us-ascii?Q?fEY//t4LukLpbfJXHewacTzkT0S8ng+a7CSWfBIA4o1vah08Gg1XcgDRru9y?=
 =?us-ascii?Q?2OpFOXhFFHPS/SaaCOYol63BtKiAcevHDKbkxYoy95au1IBdHLXKmEh7Z2/B?=
 =?us-ascii?Q?y4Sw0ituU/zRqqfNslbBkcs4qBu7F9y9qWEu2e3KschF4RY6am4uYGnKuM+T?=
 =?us-ascii?Q?1Yjr5d8BSDyePozcp/igsHo3qlU/Fcvp/TkOvGhCkg3NVq5tT/ihOfCk4Ubk?=
 =?us-ascii?Q?sZLSaim1mT58iDrIUCA6Zv/7SA6LbPDECpSIwy4vF66UIH2uwoBJqyeeNOIN?=
 =?us-ascii?Q?nxuibGNkPCRhg7A=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 11 Mar 2025 20:13:43.5878
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b306b098-591b-4ba2-802a-08dd60d93907
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001D7.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8174

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

There are three originators for the PCI configuration space access:
1. The domain that owns physical host bridge: MMIO handlers are
there so we can update vPCI register handlers with the values
written by the hardware domain, e.g. physical view of the registers
vs guest's view on the configuration space.
2. Guest access to the passed through PCI devices: we need to properly
map virtual bus topology to the physical one, e.g. pass the configuration
space access to the corresponding physical devices.
3. Emulated host PCI bridge access. It doesn't exist in the physical
topology, e.g. it can't be mapped to some physical host bridge.
So, all access to the host bridge itself needs to be trapped and
emulated.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
In v17:
* move lock to inside vpci_translate_virtual_device()
* acks were previously given for Arm [0] and vPCI [1], but since it was
  two releases ago and the patch has changed, I didn't pick them up

[0] https://lore.kernel.org/xen-devel/4afe33f2-72e6-4755-98ce-d7f9da374e90@xen.org/
[1] https://lore.kernel.org/xen-devel/Zk70udmiriruMt0r@macbook/

In v15:
- base on top of ("arm/vpci: honor access size when returning an error")
In v11:
- Fixed format issues
- Added ASSERT_UNREACHABLE() to the dummy implementation of
vpci_translate_virtual_device()
- Moved variable in vpci_sbdf_from_gpa(), now it is easier to follow
the logic in the function
Since v9:
- Commend about required lock replaced with ASSERT()
- Style fixes
- call to vpci_translate_virtual_device folded into vpci_sbdf_from_gpa
Since v8:
- locks moved out of vpci_translate_virtual_device()
Since v6:
- add pcidevs locking to vpci_translate_virtual_device
- update wrt to the new locking scheme
Since v5:
- add vpci_translate_virtual_device for #ifndef CONFIG_HAS_VPCI_GUEST_SUPPORT
  case to simplify ifdefery
- add ASSERT(!is_hardware_domain(d)); to vpci_translate_virtual_device
- reset output register on failed virtual SBDF translation
Since v4:
- indentation fixes
- constify struct domain
- updated commit message
- updates to the new locking scheme (pdev->vpci_lock)
Since v3:
- revisit locking
- move code to vpci.c
Since v2:
 - pass struct domain instead of struct vcpu
 - constify arguments where possible
 - gate relevant code with CONFIG_HAS_VPCI_GUEST_SUPPORT
New in v2
---
 xen/arch/arm/vpci.c     | 43 +++++++++++++++++++++++++++++++----------
 xen/drivers/vpci/vpci.c | 26 +++++++++++++++++++++++++
 xen/include/xen/vpci.h  | 12 ++++++++++++
 3 files changed, 71 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index b63a356bb4a8..5719821cad67 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -7,33 +7,51 @@
 
 #include <asm/mmio.h>
 
-static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_host_bridge *bridge,
-                                     paddr_t gpa)
+static bool vpci_sbdf_from_gpa(struct domain *d,
+                               const struct pci_host_bridge *bridge,
+                               paddr_t gpa, pci_sbdf_t *sbdf)
 {
-    pci_sbdf_t sbdf;
+    bool translated = true;
+
+    ASSERT(sbdf);
 
     if ( bridge )
     {
-        sbdf.sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
-        sbdf.seg = bridge->segment;
-        sbdf.bus += bridge->cfg->busn_start;
+        sbdf->sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
+        sbdf->seg = bridge->segment;
+        sbdf->bus += bridge->cfg->busn_start;
     }
     else
-        sbdf.sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
+    {
+        /*
+         * For the passed through devices we need to map their virtual SBDF
+         * to the physical PCI device being passed through.
+         */
+        sbdf->sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
+        translated = vpci_translate_virtual_device(d, sbdf);
+    }
 
-    return sbdf;
+    return translated;
 }
 
 static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
                           register_t *r, void *p)
 {
     struct pci_host_bridge *bridge = p;
-    pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa);
+    pci_sbdf_t sbdf;
     const unsigned int access_size = (1U << info->dabt.size) * 8;
     const register_t invalid = GENMASK_ULL(access_size - 1, 0);
     /* data is needed to prevent a pointer cast on 32bit */
     unsigned long data;
 
+    ASSERT(!bridge == !is_hardware_domain(v->domain));
+
+    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
+    {
+        *r = invalid;
+        return 1;
+    }
+
     if ( vpci_ecam_read(sbdf, ECAM_REG_OFFSET(info->gpa),
                         1U << info->dabt.size, &data) )
     {
@@ -50,7 +68,12 @@ static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
                            register_t r, void *p)
 {
     struct pci_host_bridge *bridge = p;
-    pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa);
+    pci_sbdf_t sbdf;
+
+    ASSERT(!bridge == !is_hardware_domain(v->domain));
+
+    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
+        return 1;
 
     return vpci_ecam_write(sbdf, ECAM_REG_OFFSET(info->gpa),
                            1U << info->dabt.size, r);
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 1e6aa5d799b9..49c9444195d7 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -81,6 +81,32 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
     return 0;
 }
 
+/*
+ * Find the physical device which is mapped to the virtual device
+ * and translate virtual SBDF to the physical one.
+ */
+bool vpci_translate_virtual_device(struct domain *d, pci_sbdf_t *sbdf)
+{
+    const struct pci_dev *pdev;
+
+    ASSERT(!is_hardware_domain(d));
+    read_lock(&d->pci_lock);
+
+    for_each_pdev ( d, pdev )
+    {
+        if ( pdev->vpci && (pdev->vpci->guest_sbdf.sbdf == sbdf->sbdf) )
+        {
+            /* Replace guest SBDF with the physical one. */
+            *sbdf = pdev->sbdf;
+            read_unlock(&d->pci_lock);
+            return true;
+        }
+    }
+
+    read_unlock(&d->pci_lock);
+    return false;
+}
+
 #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
 
 void vpci_deassign_device(struct pci_dev *pdev)
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 807401b2eaa2..e355329913ef 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -311,6 +311,18 @@ static inline int __must_check vpci_reset_device(struct pci_dev *pdev)
     return vpci_assign_device(pdev);
 }
 
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+bool vpci_translate_virtual_device(struct domain *d, pci_sbdf_t *sbdf);
+#else
+static inline bool vpci_translate_virtual_device(struct domain *d,
+                                                 pci_sbdf_t *sbdf)
+{
+    ASSERT_UNREACHABLE();
+
+    return false;
+}
+#endif
+
 #endif
 
 /*
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:17:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909086.1316151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts62N-0000Os-Rw; Tue, 11 Mar 2025 20:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909086.1316151; Tue, 11 Mar 2025 20:17: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 1ts62N-0000Ol-PF; Tue, 11 Mar 2025 20:17:15 +0000
Received: by outflank-mailman (input) for mailman id 909086;
 Tue, 11 Mar 2025 20:17: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts62L-0000Of-SN
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:17:13 +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 cee29f4b-feb5-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 21:17:08 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39129fc51f8so4681759f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 13:17:08 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c0e222dsm19075319f8f.72.2025.03.11.13.17.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 13:17: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: cee29f4b-feb5-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741724228; x=1742329028; 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=da4t1uU9hY6xerZJCoOF6RZuZ45wNLb8GcrSLMZ7rYU=;
        b=XVJv0YvQHbIRHowhDUkPqN19o3WppvmCJNQzJ+PmSYrw+ue1qGZS8gOUB0Gl3IkfDM
         HpaWXbK+8cNdI3Fl16He/WDWJcmO3Zsdv0WS/tVZW3vzbZf4Pw2MBpU+h3HBlLeTen1C
         WeehNjcuuMauVugIPKbyJAcHxDzPbFwccywJc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741724228; x=1742329028;
        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=da4t1uU9hY6xerZJCoOF6RZuZ45wNLb8GcrSLMZ7rYU=;
        b=VsA76iUDS4hC6jUFf+3ki6BTR0eEghnmVmRUzSb2lkfDP3d3nbepUR35ah0hgqpgzh
         BixPwHWrqN8tez/S7ZMJh32nPh5VW8zK/1d2Ra6Kv7p8D9QHFfVrC9nzGwgOtQAabHmy
         Di8Yn3LThkF0TggBlwq7ZzY2G0jclhkcNkpNh93WZscOV+0iFVXAopUBYBRT0KKOq17u
         /18jSxkzofk5n077ZyeroSrcTMu+SSMVXrOb9L/96ICYEzg74DND5VvqMSfCdcJOr2JK
         4S9dIwMsqQhhBgb/BmskuJc6SIzm+LWkfSc74+3LlUPSSlcfnvHWxpLYi+ZH3t2Jwpc/
         0eqA==
X-Gm-Message-State: AOJu0YzN9E1yhNUaRWY1vdf/gZE1mYQTYfgu1BgfDbc23o1HKRc3MLVs
	4Dd+I59Yt0+Mz4JAXzqxIILklhQrS2h0rrs9asXR+nI4D9gCqn5ER40X/QO4/pk=
X-Gm-Gg: ASbGncslBxxVMKIjBpy5Off58uR1iq3JX3ZsxNri8Ldr+K94JlEyTAFPdCNLldRIYcX
	zqqc2BwZ/op4HUChetNMQZ/pDr84gRngk1v80rZUUNhaxzj7Gs/u+v+OI1dP6odVeGua2lz7H98
	s+9PHkck+gIGWN/u+NBPhR9d6xRuxUUrLr/1YmLcc5hifWiGnu5DmypXM9HkWoX8J1tg5ObHRov
	O0aR5mRWfc60bdbB6yXc+lhpMwuNNRBidTh101oKaF6oDd5yfY323yBLTFgA4B7a5UnNwXKagHJ
	ItWudSbHZyV3y6fWsOyohWhXmefw68Ihq1eKoQA2iAR5ZOa37OAY0Fm+wd6X+PW4ESl8Q/WDmb3
	KrJhjhvMg
X-Google-Smtp-Source: AGHT+IGuS1GfO+XenCRYXvQ5sLmaWbCOo3aLpe988exkpKNNS9hykVycnWPuA9L1mgrNkaeY6/nx8Q==
X-Received: by 2002:a5d:47c1:0:b0:391:2bcc:11f2 with SMTP id ffacd0b85a97d-39132d2ac45mr13516401f8f.1.1741724228093;
        Tue, 11 Mar 2025 13:17:08 -0700 (PDT)
Message-ID: <cbf75ca2-5370-457b-9aff-399d605028be@citrix.com>
Date: Tue, 11 Mar 2025 20:17:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MISRA: Rephrase the deviation for Directive 4.10
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 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>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20250304235701.2770842-1-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2503041616560.1303386@ubuntu-linux-20-04-desktop>
 <08bb0c67-f5c4-401d-be63-5c20d0297b59@xen.org>
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: <08bb0c67-f5c4-401d-be63-5c20d0297b59@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/03/2025 7:48 pm, Julien Grall wrote:
> Hi,
>
> On 05/03/2025 00:17, Stefano Stabellini wrote:
>> On Tue, 4 Mar 2025, Andrew Cooper wrote:
>>> The use of "legitimately" mixes the concepts of "it was designed to
>>> do this"
>>> and "it was correct to do this".
>>>
>>> The latter in particular can go stale.Â  "intended" is a better way
>>> of phrasing
>>> this.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks.

>
> Going through my email, I noticed this patch was not committed. I
> wonder if there was any reason?

Urgh, it was supposed to go in ahead of 3da2149cf4dc6 ("x86/IDT:
Generate bsp_idt[] at build time") which uses the new format.

Also ahead of XSN-2, although the part needing this has been deferred
for the meantime.

But eclair is still non-blocking on D4.10, hence why staging is happy.

I'll pick this up in my next sweep.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:21:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:21:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909106.1316162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts665-0002Ui-B9; Tue, 11 Mar 2025 20:21:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909106.1316162; Tue, 11 Mar 2025 20:21: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 1ts665-0002U1-52; Tue, 11 Mar 2025 20:21:05 +0000
Received: by outflank-mailman (input) for mailman id 909106;
 Tue, 11 Mar 2025 20:21: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kG-0007Uu-KQ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:32 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31f0f0a3-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:27 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-223a7065ff8so18598585ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:27 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 31f0f0a3-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723105; x=1742327905; 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=Q89mBu4b5JYOE58WB93/V2zR/jXmfpOvKMtRO3aXK0o=;
        b=dsdnGNSEYje4UEjJnscMMBnu65Bd60XmcOVP67m7D7ORX2nLRiliplijRaZ2VOSF8N
         foGeNBdFsIwbwpdVLtFPrNwPgfnFII72zWtp7d3QEvYve7np82C+URjq3XEZsUBybJG7
         iv3G6V/06ra4lJODBjrcH8J15nlSQduFhQoXU6SfKsfZm8uYNg+FfGOrWZpVmFlzF8nM
         q6bOUH8ufsEmw1CWmGiikwHKuz1R5KCDtyrK2iDZN1vMwCqCCaopM361tri93MogrBlg
         Zf1a5eZUXpq0+7pvwZ8kuQe91OdhrtCQVzhVmk+h0Fp1Ksh+BY9zT6FkPE61CZ68OenJ
         hS1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723105; x=1742327905;
        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=Q89mBu4b5JYOE58WB93/V2zR/jXmfpOvKMtRO3aXK0o=;
        b=nxw79/3YsLMmMCp5/1AWhPZ7247joxd2wv4ZZlHVUz5OWwG2UKLvARf1N3I9gI/JJ/
         xXfcaC7EudjH4WgXiPijd1GV9Rkfa3cX1MktQyzfGFMO0/lzjyXZpf9m5/h8KW8B9T/T
         5hrxX6w4pptPc8nXVPs76qen+89Y2obNSyvKPgfKI0kPZGMmf9r5V+im5Lfb0AhF0LjK
         Ywhkkwgi62ATdr0bbpPcgM+keno4GMNjkUcT2LZODo8qD6QEBbtHbieEQ52fQF8ahV+V
         dm3BqmQmwLNvSPucErRxbkX6z5h8zlcAasCJ+xn1lqcUlxsIzx6GFvK6eFZ14ctrX4U5
         PWuA==
X-Forwarded-Encrypted: i=1; AJvYcCXve8DV3H/JO8oYp/kbcTor8J5UWQmvEzadWICx24PPg46f8X3yyjMiXeVEUtryqX3xG8ADxgsu2xA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxawJpc9JVY/zs99epblXo4Evhl8BjOQbOoWdctHS+9u/z4Pb7G
	BWH543MQ96mwKUuoZskn5E9+erwfPmYl9BDuQ09XdLxIx4X0tg7YKhb5OnfNfkE=
X-Gm-Gg: ASbGncush5SozhbASmrH4bOxL3tuLbI+9BVNRrgDaXZuhMhh5yRqeD1UWUG1be8wUVd
	ZPK35mqgr1vkr11f96qcZ87ZWO07ErIUqGONgKdiatfH7L/gUD9w2t4Vb3x9VG43Fqaxp+UX5i+
	KiQCICaxkAXsjOFoaBsXtYzx+hU1s++iUJp7H7uAM2G/+WqrgxJMD8g8U1E2nPNiDHXCFzN/+eP
	IR4U78cq1e2zGVDc45gkNOoD93gcCJ6nnLTgQdMn1ZrWb7BmXXBFB4jAMttsjWedbgtxKJa/2W2
	jrdTsNBR3Zjd0PzSwKiypc+WdfZb+ACiv1a7s6FammsG
X-Google-Smtp-Source: AGHT+IGPxcxao/HSElseyaTLTAghrvJ2csxsBfbQ4Udwa0eEZtZIt5xFFqgWZBrC6WgJmJp7FceqHA==
X-Received: by 2002:a05:6a00:4b4a:b0:736:5c8e:baaa with SMTP id d2e1a72fcca58-736aa9bc0e9mr26082176b3a.2.1741723105679;
        Tue, 11 Mar 2025 12:58:25 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 13/17] system/physmem: compilation unit is now common to all targets
Date: Tue, 11 Mar 2025 12:57:59 -0700
Message-Id: <20250311195803.4115788-14-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/meson.build b/system/meson.build
index c83d80fa248..9d0b0122e54 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -2,7 +2,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
   'memory.c',
-  'physmem.c',
 )])
 
 system_ss.add(files(
@@ -15,6 +14,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
   'rtc.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:22:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909158.1316172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts678-0004o8-Mh; Tue, 11 Mar 2025 20:22:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909158.1316172; Tue, 11 Mar 2025 20:22: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 1ts678-0004o1-IM; Tue, 11 Mar 2025 20:22:10 +0000
Received: by outflank-mailman (input) for mailman id 909158;
 Tue, 11 Mar 2025 20:22: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kF-0006Vp-GO
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:31 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 340a6615-feb3-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 20:58:30 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-2232aead377so19364785ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:30 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 340a6615-feb3-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723109; x=1742327909; 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=Z06CcN5pABW+zUVUk9wuBNFYUJo3O9KfWdv+N0a9H8A=;
        b=UKK5ULX4PGc1su16XTflG3SNOD2+yxjyQlOB3bWnaKz9IhnRAqATtfdxCpD+epOOW9
         d0CF+wYR2zAm+iKQVhmcf1CnKu73NwP1oMtkV8NXf+52HggorcMrFKbrMEDwTbPruzvK
         8ZTVNtjVYakYsaztD6kYZequpiSWzg8KLH9uVJkt6OEdVl/Kj00353dU7/8ucTCYEt+a
         nkEHvZEF2Mzu9NlmWAcTzQpwrYHZ5gBFbpEE7TnO3tLP9B6uB/wrhGu/cMZO7PV8SNRj
         0LKA9tg/mJxSJWB2UEMpP0L1jVl0O9i57pknmmVxm7lN4qfWYhQpwMgcUUuG4ifghobr
         5igg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723109; x=1742327909;
        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=Z06CcN5pABW+zUVUk9wuBNFYUJo3O9KfWdv+N0a9H8A=;
        b=l00cf7WqCNzI9uWx9sT9iLiKzRNNXdfXSgd8xjbEisiSIq19Fpropufs85ppYm6t3t
         FeLKQgVppPtxRNesE1DQmjkXpFG01L3LES/LD/I+l2opiqHJetHaQIvjOUr11HRxCRl0
         Uo7ktswJD61uycLwruFY265ZvrAjqwRhx93q4EOEtO90PA1M7GeAzLG3ANmdoiwAq3NY
         0ZXm1bz8ySAuJM12oggbU5CTgEYI71qEdglsjEg8VrmR0psGVw0y0VmyGgcJocmpJWK0
         3YReSKjocVY34kPXjl6GGY7I06IAmaKC9iz/XHiALlRCd44C55JdNd8LTcq5B0BxG9Ju
         3VHA==
X-Forwarded-Encrypted: i=1; AJvYcCWJo8b3zwMmB/iQ2BzQSJIchFdVo7QW0sPp/2OHaeZjXPF5eyQNL0AYSmf3ilFYi9idy4y/E0T5e80=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxodq+WGsO4EseIbdqiQ/pC0fxVDIWMiMZcYuvLJy4vcwgW6Rjv
	IbsRtVT5JRMwkyHaGuGeKfP0WMMzaaGDdkc+i+WG0EIUK0fwaP27fhprZcCVwdM=
X-Gm-Gg: ASbGncusDCFLtRwi6LpC8EsP9SqdRyAmztchyR0AnxzQt3wjlUWkH1hDNjLp+tezEjF
	VIYRC9b2W5KRsKIisG5pIr+FvcuglDCEDxeg1uGa8EuxPzAKW/2GgCEdIKljaMDM6LVmbLWcHj2
	r3ZOBqL6AeQzLslNUwgYA3/PAfHO2SEQFxGjBQ9mNqqcFBjDxuoMucfN8TyvtI1kW1dFgI2ocSM
	HjjadUdOBbDCBBcH6wgyEQvZmwDIcnVqYqlOKblnh54sPZ/EvnTqFu1PgkFSJhbhYVSh9qI5i8i
	ba28KS2rISk27PFgKUUsGg2FElPE1DC5Mkk8BGg8uX8O
X-Google-Smtp-Source: AGHT+IFWZfAhxvvEDgAAce92ETlma5STi2t3r8z3LElksShqNyxmTswS//w9tvWqHBQDxaqLnsB1Kg==
X-Received: by 2002:a05:6a00:2e17:b0:730:95a6:3761 with SMTP id d2e1a72fcca58-736aa9e745amr30276190b3a.3.1741723109168;
        Tue, 11 Mar 2025 12:58:29 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 16/17] system/memory: make compilation unit common
Date: Tue, 11 Mar 2025 12:58:02 -0700
Message-Id: <20250311195803.4115788-17-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/memory.c    | 17 +++++------------
 system/meson.build |  2 +-
 2 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/system/memory.c b/system/memory.c
index 4c829793a0a..eddd21a6cdb 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -353,15 +353,6 @@ static void flatview_simplify(FlatView *view)
     }
 }
 
-static bool memory_region_big_endian(MemoryRegion *mr)
-{
-#if TARGET_BIG_ENDIAN
-    return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
-#else
-    return mr->ops->endianness == DEVICE_BIG_ENDIAN;
-#endif
-}
-
 static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op)
 {
     if ((op & MO_BSWAP) != devend_memop(mr->ops->endianness)) {
@@ -563,7 +554,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
     /* FIXME: support unaligned access? */
     access_size = MAX(MIN(size, access_size_max), access_size_min);
     access_mask = MAKE_64BIT_MASK(0, access_size * 8);
-    if (memory_region_big_endian(mr)) {
+    if (devend_big_endian(mr->ops->endianness)) {
         for (i = 0; i < size; i += access_size) {
             r |= access_fn(mr, addr + i, value, access_size,
                         (size - access_size - i) * 8, access_mask, attrs);
@@ -2584,7 +2575,8 @@ void memory_region_add_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
@@ -2619,7 +2611,8 @@ void memory_region_del_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
diff --git a/system/meson.build b/system/meson.build
index 9d0b0122e54..881cb2736fe 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,7 +1,6 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
-  'memory.c',
 )])
 
 system_ss.add(files(
@@ -14,6 +13,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'memory.c',
   'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:22:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909167.1316181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts67K-0005Qq-Un; Tue, 11 Mar 2025 20:22:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909167.1316181; Tue, 11 Mar 2025 20:22: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 1ts67K-0005Qj-RT; Tue, 11 Mar 2025 20:22:22 +0000
Received: by outflank-mailman (input) for mailman id 909167;
 Tue, 11 Mar 2025 20:22: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kN-0007Uu-LR
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:39 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34b5d030-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:31 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-22398e09e39so111122405ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:31 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12:58: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: 34b5d030-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723110; x=1742327910; 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=/jGKe5PComzh06JRRSjyC3R7ujh2oauOlO5efOCu+zg=;
        b=mVAIedqMzMgG1xjzSs+2Hz0l5dbDT1JQ51IgPlqJJ0OJn6xcUgDunPeF7J/O53LKwG
         5k2FmBrYebRRX9Dzg5mvwDagBOawzlHV2ew0zMHqgMlYkZBrj1gRPLBYUwDyhJ0TaC44
         VD0WalkH8qJVqSBUKB6piwvOmEVPkbL8kTjOWOoNO4tud308y0iBP8Ac0jUJwch8t9Wz
         m3jU9hM0KmnhrLGQ2rQwHclhHdl8RUau4b9pr1cQerjCrQ1AaV+zaw+e8YU5TKOrAH7t
         9bGaA38+QWvpj02tgsEJPCqzi3OlfTI38D6eGPlfFnYMbfIh78qUSH9yQqlG5POfyD0p
         nXHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723110; x=1742327910;
        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=/jGKe5PComzh06JRRSjyC3R7ujh2oauOlO5efOCu+zg=;
        b=q6drK6hZAy4bdmTSqGSaXezUrvxB0fCupFpMlKzHeUIaGJUUfMlzc/iebwFuzoz8FW
         p6Z/NIIqD8hO3jh5FqLwgvycYXSAwXQwAM2kMCwUV1r2Dn11Y7TtqHH3QfI4tJdUOfIJ
         9gNd+DyWpV6kWVF8UaPdtoP5flNaLjnINEmZEiJxcOORmumj1hXUL/yeNuEX1ALoqSiO
         U3QQJJ4uxxNmL6pbh+fk49r+ioFDSUa6YOntVrAAXpVXrptqD+A5eljlrfJHFB/xI7RV
         45N1q4+/O/bbg5MpSbE0FTfPwt+khUvLpjkgDH12WOiqFvbsdppcbOhXBrWnBvHGhk/j
         2rMg==
X-Forwarded-Encrypted: i=1; AJvYcCVHTbPVBI5iTkbCMG/JtluHFhwTwpqvvb9zYppZILDk5ouJo1wme1p7DZqH4F3s9SAVXdguCLaW/1w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwLt3VrgXyLfr6EoZgDk26CzmGV9yrm0NcrWzHZjx089bo3uCf9
	zJB7moBhLan3RfrZCL7ak0KAEtUzixftH5qgEW1vsfWF1ioZBGV+jJZedxOmTFQ=
X-Gm-Gg: ASbGncscIuXqdraIzg+PqD9SeSV5ssXM1BbMyS+GiUN5R7628/phrdJjmbGIUBWRQD7
	Qu9lThBamt+SlSRkaa0BcgLj/yI73RMbh9Uj3utKQWi7XtYDFxdjgd5gvebf1nEIVnGec9CzzmQ
	bdFtVDYgpd9Ds2vTm+5pueI93WRBC3r4oXM1ogWLWVMURSBP3v04nOxxXCwCZJ++MG7IsKUfUnN
	tF8Jaz2M96PHANODXnRoSQCThoocR7OgcZHCDS3J75OVR98WFaRYcVwKOlJ/ivsKGoAxw7bInRW
	7XvkQ+PADpGvyJNiWObMUMliZtCdVZudg+xHtt9GoJ6o
X-Google-Smtp-Source: AGHT+IFWRSSWAAZ74eVr+KcVmFNEyBuYNdoBJPeRpIUKcbNy7sibb5A9vNOWSCrzmBmp9nxRDwlIAw==
X-Received: by 2002:a05:6a00:b86:b0:736:50c4:3e0f with SMTP id d2e1a72fcca58-736aaa373b8mr22374606b3a.10.1741723110296;
        Tue, 11 Mar 2025 12:58:30 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 17/17] system/ioport: make compilation unit common
Date: Tue, 11 Mar 2025 12:58:03 -0700
Message-Id: <20250311195803.4115788-18-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/ioport.c    | 1 -
 system/meson.build | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/system/ioport.c b/system/ioport.c
index 55c2a752396..89daae9d602 100644
--- a/system/ioport.c
+++ b/system/ioport.c
@@ -26,7 +26,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "cpu.h"
 #include "exec/ioport.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
diff --git a/system/meson.build b/system/meson.build
index 881cb2736fe..3faec7e4dfb 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,6 +1,5 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
-  'ioport.c',
 )])
 
 system_ss.add(files(
@@ -12,6 +11,7 @@ system_ss.add(files(
   'dirtylimit.c',
   'dma-helpers.c',
   'globals.c',
+  'ioport.c',
   'memory_mapping.c',
   'memory.c',
   'physmem.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:22:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909174.1316191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts67P-0005pt-6B; Tue, 11 Mar 2025 20:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909174.1316191; Tue, 11 Mar 2025 20:22: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 1ts67P-0005pk-28; Tue, 11 Mar 2025 20:22:27 +0000
Received: by outflank-mailman (input) for mailman id 909174;
 Tue, 11 Mar 2025 20: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kF-0007Uu-KQ
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:31 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3135caa4-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:25 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-2235189adaeso4054675ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:25 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 3135caa4-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723104; x=1742327904; 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=YZcwoIie6BtZ5Bqo8BYW0CKBTK95znA0iA8YHmiy7v4=;
        b=Ja+6odzn4Ez24VTaE4XHZXCJRxg+WvFcMgJghams3Ge5p9PoA23hWWCvagyxZ+YKeW
         JY9Ht6yoI4ygfNTV4qq/iiMwBjv4RFzectNS8jKYk2oDZnOO83DSTWOKP1yr4jWh95D2
         8jM8FCPTFsdY3IHIW7wNbGzO+0bI9Non2iSIK9LWX0iJMivuz0h1/5Qq1tn1f0/bMep1
         uLVZFWk5bjhpQakoeF49bl8+cKjv+mk45lpiePHeyiGj6QPzejbVLFZbXMybDPJPagSD
         nZSuFhJNBmderX7dPHB2ATIu5JBNzfrPtuEaa1vesqHniEhyYS6be4VrcbcMJc5plIKe
         7hNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723104; x=1742327904;
        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=YZcwoIie6BtZ5Bqo8BYW0CKBTK95znA0iA8YHmiy7v4=;
        b=DHnqN10v3AsrLIkjV5CEaKWA/gml7L+kidakGFbHYz5QC2qnLYqUi9xKhGeE4LDExc
         LLsy29EmUXime9mwlUfYi5cHoIXcBl/YEunffOzuYs+hiNxjYds6i1zfJxZ62/zJd7ob
         lLu1r0N+r1pRs2vU5wtIMeypNSAEbEuqGQVW8Duio14IqLRGKtg5prjhfRWHicBfHRcw
         ajYqDglcYR4VgA2vSChVwe+hWugS1BxP3uujowFErCFq8bxuvoj4E1RLNgxe+wZxIBwj
         3ivH0nkc5t1yju+ZLDsQGN6b4UNbHkl6W+Nqg4JGhtYuogO5kTL9lZYCAGXfHeikq7Xt
         8g4g==
X-Forwarded-Encrypted: i=1; AJvYcCXaQhHtlIkMyYuqZk9VgrS9AzgpJ1TPXwCL7L/3Rs1uMMkMORWZDdcfy3ViWmwZu7EzexCti8Mm6O8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybRmVQCQK6EegKNofzPGUkC+E3L3tPxPVpDxKYZKnh/P2XzDjg
	q5QTgn3N5hH2cIrPUgyANiaL9zhWKrrb0FRIwymDHXOKXVdXk2yK/8XjqF/UEio=
X-Gm-Gg: ASbGncv0dUqRv6CA/kDYlMy7Jy0CRpyIUe82xOBHp6iGYXbGRnmcGQ2b54UogW1dEQI
	wmVQqNSzAivauX0E+zyAY/2sXPWGGgQpsV9Zz/6G25u2HCZygkUF5U0sW4USpqgYnzaMLpNqY8e
	ZGzVa52xZJTi+8GCQVHHEnbvbpXVGFuqGTyHHJM2QXbxmrdUIsz028NRNu2Ry1ABEio9qbBmTUQ
	ZY+Q9+eRhyX5KAmssIjhxqPcO0nYAvb67aVED49lkegLl42xZsc17n/j9D3nj2tRURkSYE0G5v5
	pPn9pBlxXNnZ6AauweRi3FpnUrn/SpngLuz/aZTr3NXS
X-Google-Smtp-Source: AGHT+IEToni6mHy+/TOd0EQfFDFUNLQyZb+aNmkKXcJNYvCuHB4nuxbuNFqkwEKNu7S4yPPDELKJzQ==
X-Received: by 2002:a17:902:eccd:b0:21f:5063:d3ca with SMTP id d9443c01a7336-22593dc5076mr68139055ad.16.1741723104414;
        Tue, 11 Mar 2025 12:58:24 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 12/17] hw/xen: add stubs for various functions
Date: Tue, 11 Mar 2025 12:57:58 -0700
Message-Id: <20250311195803.4115788-13-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Those functions are used by system/physmem.c, and are called only if
xen is enabled (which happens only if CONFIG_XEN is not set).

So we can crash in case those are called.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/xen/xen_stubs.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/xen/meson.build |  3 +++
 2 files changed, 59 insertions(+)
 create mode 100644 hw/xen/xen_stubs.c

diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
new file mode 100644
index 00000000000..19cee84bbb4
--- /dev/null
+++ b/hw/xen/xen_stubs.c
@@ -0,0 +1,56 @@
+/*
+ * Various stubs for xen functions
+ *
+ * Those functions are used only if xen_enabled(). This file is linked only if
+ * CONFIG_XEN is not set, so they should never be called.
+ *
+ * Copyright (c) 2025 Linaro, Ltd.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "system/xen.h"
+#include "system/xen-mapcache.h"
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    g_assert_not_reached();
+}
+
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   struct MemoryRegion *mr, Error **errp)
+{
+    g_assert_not_reached();
+}
+
+bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache_entry(uint8_t *buffer)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache(void)
+{
+    g_assert_not_reached();
+}
+
+ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+{
+    g_assert_not_reached();
+}
+
+uint8_t *xen_map_cache(MemoryRegion *mr,
+                       hwaddr phys_addr,
+                       hwaddr size,
+                       ram_addr_t ram_addr_offset,
+                       uint8_t lock,
+                       bool dma,
+                       bool is_write)
+{
+    g_assert_not_reached();
+}
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index 4a486e36738..a1850e76988 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -9,6 +9,9 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
 
 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()
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:22:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909190.1316201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts67b-0006n7-Cj; Tue, 11 Mar 2025 20:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909190.1316201; Tue, 11 Mar 2025 20:22: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 1ts67b-0006n0-8z; Tue, 11 Mar 2025 20:22:39 +0000
Received: by outflank-mailman (input) for mailman id 909190;
 Tue, 11 Mar 2025 20:22: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=EQfW=V6=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1ts5kL-0007Uu-LS
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 19:58:37 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33586e4c-feb3-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 20:58:29 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-22185cddbffso3407005ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 12:58:29 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-736a6e5c13asm9646981b3a.157.2025.03.11.12.58.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 12: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: 33586e4c-feb3-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741723108; x=1742327908; 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=/B5foK4Qy0OvFQVWNYpVAAsAF+tVTKpBxl4Jl8CdPFE=;
        b=anOuByKI5L2vCHBUc81Z0qcxDNcka/KqaPYuJtBxbhnSesw5eSbcrnsIbNDMj42zqH
         oxE9dLsjPytS0BFA1EcNdoDlgPiaRqq1+ByvQQ39cjRV+L3NnM459aIg/bNn/9MSSzOv
         jv1Nll5jy5g+O+LEQW7MGcGv73JFg9F1a41XKuOv0PfRDtk/weJiNWDeAzf7HG7e+u5j
         DKZ1eH83fGRNIkUM0fDjidAmWk8+/zcQYvYDVNiZMHKJJWDait4cUCOuD9ObmWRuz3Ge
         JeUdLAJl6ZyKYFAOb6DMfHJATTVb/e7gnwE6TiiklAWibddd1c2EHfBjGU/Yare7lFgl
         OiBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741723108; x=1742327908;
        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=/B5foK4Qy0OvFQVWNYpVAAsAF+tVTKpBxl4Jl8CdPFE=;
        b=A8KXhbjEhGlk4Z766k5n6NGSxI7KdWN4Z3WQKV6QDwNXa2yKCucayVSE3uWPl9VkNZ
         957tMYZIYk1HBB/TTeVgdTYzhgTtcEroKcO7pAu8aiW4l6Ko+Yl2lh1f3lrHRtNsoupg
         tIMwZQ30sG3wG8YbSAjk1xjjx+BWe9vkjG5Sj8OAD7s44Wbt/pkh65q1xBDqlNvajjiq
         a2XJKXeg+Yw6jy6MHzTYk+pQItP7NQ8/13kE150y1KHDz32BQR/lMD/qDmVpga209yJ7
         bVlHUUNrQ8ksiw8FKVnqQwKQG8qwH7tu2lVISLCXJYc0gpLVU0qTgU8/zh64wa9xPjOt
         voJw==
X-Forwarded-Encrypted: i=1; AJvYcCXMwJbteUifPSJTKA+igXg2NnBz0jEJeTIcpEZPESjOSCFrad/oJtf1qGBNF+uo/tBWXAwDpXD/JO4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzhAxa/ILz83LWQoFWTnedFOtGRhDeGS3PadDXJRX7taFpyeQvn
	eVe8Ot/eTwXTgw/VOBvk3Hc04AwtaDpUuNwMuH3a9IkgdAuiXUtftBN2XhvZO1s=
X-Gm-Gg: ASbGncvBrvhYHBPLvaUJFxUuFil+hraFI3+aoALtBRTXJpyBmeRlFZnPvhNK8MVdk5N
	8H5IDHCi29FkAxeBxoi20BD2ZmFQoel6AD9mBE7bmKQMpyxPlgTm1+EsQQi1PKy71ay4Yh7oMza
	SVEvR7ojsSvZWoIGbhk9Oc0g1y8s3+VrmTI0RVg6rXdo0CeS+R0LahsTVQekcxSCqGjtobJPsAO
	2fTsY8n5uO+cBt5yiCG9HYwobJP62dHo1MK65agUEPPTLh2uyeNEr/vomFLWW86eTmSkTQZDCts
	eYzeR84cOpi9hbYkFB3FlvFCKYlaVqnkbHzV50lUhiUh
X-Google-Smtp-Source: AGHT+IEFWhkhOunU64h5Vgyk432uXoYWcCQsdf3Qo3RWjfxu/zqVxr3PiSl8C3ffFvP7C/aGeequIA==
X-Received: by 2002:a05:6a00:638b:b0:732:57d3:f004 with SMTP id d2e1a72fcca58-736ec5f1748mr5532672b3a.6.1741723107984;
        Tue, 11 Mar 2025 12:58:27 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Nicholas Piggin <npiggin@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	manos.pitsidianakis@linaro.org,
	Peter Xu <peterx@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	alex.bennee@linaro.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	qemu-riscv@nongnu.org,
	qemu-ppc@nongnu.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v3 15/17] include/exec/memory: move devend functions to memory-internal.h
Date: Tue, 11 Mar 2025 12:58:01 -0700
Message-Id: <20250311195803.4115788-16-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
References: <20250311195803.4115788-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Only system/physmem.c and system/memory.c use those functions, so we can
move then to internal header.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 19 +++++++++++++++++++
 include/exec/memory.h          | 18 ------------------
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index b729f3b25ad..c75178a3d6b 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -43,5 +43,24 @@ void address_space_dispatch_free(AddressSpaceDispatch *d);
 
 void mtree_print_dispatch(struct AddressSpaceDispatch *d,
                           MemoryRegion *root);
+
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
+{
+    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
+                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
+
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
+}
+
 #endif
 #endif
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 70177304a92..a3bb0542bf6 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,24 +3138,6 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* returns true if end is big endian. */
-static inline bool devend_big_endian(enum device_endian end)
-{
-    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
-                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
-
-    if (end == DEVICE_NATIVE_ENDIAN) {
-        return target_words_bigendian();
-    }
-    return end == DEVICE_BIG_ENDIAN;
-}
-
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
-{
-    return devend_big_endian(end) ? MO_BE : MO_LE;
-}
-
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
  * to manage the actual amount of memory consumed by the VM (then, the memory
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:28:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909223.1316210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6Co-0000YU-VW; Tue, 11 Mar 2025 20:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909223.1316210; Tue, 11 Mar 2025 20: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 1ts6Co-0000YN-Si; Tue, 11 Mar 2025 20:28:02 +0000
Received: by outflank-mailman (input) for mailman id 909223;
 Tue, 11 Mar 2025 20:28:01 +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 1ts6Cn-0000YG-QB
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:28:01 +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 1ts6Cn-00EiHU-2Y;
 Tue, 11 Mar 2025 20:28:01 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts6Cn-004jNM-14;
 Tue, 11 Mar 2025 20:28: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=W6/Cqy8EW2y4DqqbOEpioXdcSIuC6VCxP5l3lldR+Y4=; b=fFJczJldoEp0rfHw6hI86Qfxh9
	7uax//sElFnzX8jivRnFRKdPSOWtIJ3rVm4j0VpS5Zg0Kcoh5l2vuRSi6u4/buzxOry13S3/QCarN
	gbPKnaJM1Uqse/ngtjEo1xxl3yvUIbFsq2ZuY2+lgzfP7HVFRTUa1Jt+efB34vT60Mag=;
Message-ID: <27398a82-ecc9-4b4c-b140-2d68de666675@xen.org>
Date: Tue, 11 Mar 2025 20:27:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/16] iommu: Add checks before calling iommu
 suspend/resume
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mykyta Poturai <mykyta_poturai@epam.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Mykola Kvach <mykola_kvach@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 05/03/2025 09:11, Mykola Kvach wrote:
> From: Mykyta Poturai <mykyta_poturai@epam.com>
> 
> These functions may be unimplemented, so check that they exist before
> calling to prevent crashes.

Looking at the cover letter, I see you wrote the following:

"Add suspend/resume handlers to IOMMU drivers (there arenât any
problems with the current implementation because the domains used for
test are thin, and this patch series implements only the very basic
logic)"

which I read as this patch is a temporary hack until we implement IOMMU.
Is that correct? If so, can you tag it as HACK and move to the end to 
end up to merge it?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:47:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:47:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909246.1316234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6Vn-0006rr-O7; Tue, 11 Mar 2025 20:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909246.1316234; Tue, 11 Mar 2025 20: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 1ts6Vn-0006rk-KB; Tue, 11 Mar 2025 20:47:39 +0000
Received: by outflank-mailman (input) for mailman id 909246;
 Tue, 11 Mar 2025 20: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6Vl-0006pI-VD
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:47:37 +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 107a3b30-feba-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 21:47:36 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3913fdd003bso118064f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 13:47:36 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfb79cfsm19141697f8f.10.2025.03.11.13.47.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 13:47: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: 107a3b30-feba-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741726056; x=1742330856; 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=82Mm5p6bksajp0X2Xncut30XQtZZHxMRhwNcOGR9BMQ=;
        b=G/wg6NTkcTeey8IJnJFW4yzUM17BBl5xkoryfCvjSkTV4jmXhqF2AT0zuXwXvFS0nk
         P7yAjxYJmG+Uxe8x8ESXpV3zBF/sr2nPTIXPrsKoTBnaFKCSSQm4ZgR2MBid6LG1NLmd
         x7BjR56kdVofBYK4eR2UdLMUrT3IXQe5hfZFQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741726056; x=1742330856;
        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=82Mm5p6bksajp0X2Xncut30XQtZZHxMRhwNcOGR9BMQ=;
        b=vRSN2zLpp+MvH/1PYv7cH5+oImj8Zhngc3YDLkzfaBcYeovdJOFiJRuH8zTLccF95b
         OkAYNA56hP4DFtnMA2divR0KVamOPUtKlxRNmHpIxsEscBQWUpRnPo8m0IQR7Vd0ufSr
         aJ0NHkLYjDTg8xhFoElRXJ9UbVmVTXUd0H5D/W92CQN6rXqS42JZwNmDNAB2TNi9RFdv
         awKSnH/b6fOF2srJunvHYXvacO9adfOX2IHAXNgXh0vMR6v0Pr1BzdgDF1JLt3gvCiAp
         nyB99587twrusf/7E6/y9ILyPUla3Ps7iC2ga4827TNgJ2fodTZIIvRIaJwEsvTwUTaK
         mr1g==
X-Forwarded-Encrypted: i=1; AJvYcCUM4ERTymFRajf/Qx2HXqzJb+vCoJZmXKic/iQuoNnFvFijurtlseAAawTYHuxe31pv7sgABck4He0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpPZmrhLsfVur4hAsWVadTfUSXy2F7u6O74KTs5aQFjrfR71Si
	tFaK7L8bfwkaQgXVpEDJXxehb2C1791e55+RKoJaRIK5ffGAe5hFiSLk/Hz5iyw=
X-Gm-Gg: ASbGnctNdm3kHJJRK4L5dbqp/sB6BndZ+VAzZXjGEzGNpkOekzFKMR6LCAL4WHjJbWX
	iD1W8PfwuVJYdjP4j3yUH1bZQPz+7PCrwptlAjq42a7eqUoCANSxeWR7l+U+A1FJl15Dm+7W0ln
	CNVdIpajbPPZOxpVKxR4/9J1hEdN9L4CrJkeiGdGqt5+ND6V9LrPuFPu6eYb2VEOoPni03LN9/B
	MPfWAgP0us5QMIrzT7aKmTEL1f3X6PWF7N+mqxx1DYKoMbaA0P1P81GOGPv8hLUtUpErmwegNBQ
	nrYWDfPd0QPo9fQ2vktn5Tepkk6F/xRrgx4c9+RNLybkeVDaL4dfeX7yPMrCaFF+Qba4ocNr943
	wlDmDChI+
X-Google-Smtp-Source: AGHT+IH2bhxmREu+ZTdDCyLDzA8MyhnABf90r7sd5sBWIA80xKQPpY91zgKxRUnsTLcAgAOSQS65yQ==
X-Received: by 2002:a5d:64e4:0:b0:391:865:5a93 with SMTP id ffacd0b85a97d-3926d123ba9mr6185123f8f.22.1741726056118;
        Tue, 11 Mar 2025 13:47:36 -0700 (PDT)
Message-ID: <4bff530c-9f96-4b59-b6cb-86349c576690@citrix.com>
Date: Tue, 11 Mar 2025 20:47:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Fix zap_low_mappings() to map less of the
 trampoline
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: <20250106112652.579310-1-andrew.cooper3@citrix.com>
 <2f12f38e-9629-40fd-b532-6b6f82ecfe1f@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: <2f12f38e-9629-40fd-b532-6b6f82ecfe1f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/01/2025 11:54 am, Jan Beulich wrote:
> On 06.01.2025 12:26, Andrew Cooper wrote:
>> Regular data access into the trampoline is via the directmap.
>>
>> As now discussed quite extensively in asm/trampoline.h, the trampoline is
>> arranged so that only the AP and S3 paths need an identity mapping, and that
>> they fit within a single page.
>>
>> Right now, PFN_UP(trampoline_end - trampoline_start) is 2, causing more than
>> expected of the trampoline to be mapped.  Cut it down just the single page it
>> ought to be.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.Â  However,

> on the basis that this improves things. However, ...
>
>> --- a/xen/arch/x86/x86_64/mm.c
>> +++ b/xen/arch/x86/x86_64/mm.c
>> @@ -718,14 +718,16 @@ void __init zap_low_mappings(void)
>>  {
>>      BUG_ON(num_online_cpus() != 1);
>>  
>> -    /* Remove aliased mapping of first 1:1 PML4 entry. */
>> +    /* Stop using l?_bootmap[] mappings. */
>>      l4e_write(&idle_pg_table[0], l4e_empty());
>>      flush_local(FLUSH_TLB_GLOBAL);
>>  
>> -    /* Replace with mapping of the boot trampoline only. */
>> +    /*
>> +     * Insert an identity mapping of the AP/S3 part of the trampoline, which
>> +     * is arranged to fit in a single page.
>> +     */
>>      map_pages_to_xen(trampoline_phys, maddr_to_mfn(trampoline_phys),
>> -                     PFN_UP(trampoline_end - trampoline_start),
>> -                     __PAGE_HYPERVISOR_RX);
>> +                     1, __PAGE_HYPERVISOR_RX);
> ... literal numbers like this - however well they are commented - are
> potentially problematic to locate in case something changes significantly.
> The 1 here really would want connecting with the .equ establishing
> wakeup_stack.

how do you propose doing this?

PFN_UP(wakeup_stack - trampoline_start) doesn't have the same obvious
connection, and it would involve partly undoing 7d73c6f196a5 which hid
the symbol recently.

While 1 isn't ideal, it is next to a comment explaining what's going on,
and it's not going to go stale in a silent way...Â  (It's also not liable
to go stale either.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:47:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:47:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909244.1316223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6Vd-0006PD-GA; Tue, 11 Mar 2025 20:47:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909244.1316223; Tue, 11 Mar 2025 20:47: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 1ts6Vd-0006P6-DJ; Tue, 11 Mar 2025 20:47:29 +0000
Received: by outflank-mailman (input) for mailman id 909244;
 Tue, 11 Mar 2025 20:47:28 +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 1ts6Vc-0006P0-Sp
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:47:28 +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 1ts6Vc-00EieD-1v;
 Tue, 11 Mar 2025 20:47:28 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts6Vc-004mH9-0Z;
 Tue, 11 Mar 2025 20:47: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>
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=tLFA7kKQvzEQR9IfzGpLKmS7eFJ87zudw2MVTlSWs9k=; b=B28xG44ehYEjbpycfEoz07LS0e
	YojRfG1sdGGAdeQILKPDmzT0EpBnMm0YFD7nEh797dTOH5onwZz2gT+mm9LAC96JFsbQgLThs+GeQ
	WEshotycIslsEq4bZhuep4ql2QUPfV+3SzMSZEoMO8TdjrqnSKbGzaVFNbUCrmKNnHtU=;
Message-ID: <30681b52-0d81-47d9-959f-90238863b88e@xen.org>
Date: Tue, 11 Mar 2025 20:47:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/16] xen/cpu: prevent disable_nonboot_cpus crash on
 ARM64
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e6cc20510acf49d90c08007a2308ef3dcaccc368.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e6cc20510acf49d90c08007a2308ef3dcaccc368.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Mykola,

On 05/03/2025 09:11, Mykola Kvach wrote:
> If we call disable_nonboot_cpus on ARM64 with system_state set
> to SYS_STATE_suspend, the following assertion will be triggered:
> 
> ```
> (XEN) [   25.582712] Disabling non-boot CPUs ...
> (XEN) [   25.587032] Assertion '!in_irq() && (local_irq_is_enabled() || num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714
> [...]
> (XEN) [   25.975069] Xen call trace:
> (XEN) [   25.978353]    [<00000a000022e098>] xfree+0x130/0x1a4 (PC)
> (XEN) [   25.984314]    [<00000a000022e08c>] xfree+0x124/0x1a4 (LR)
> (XEN) [   25.990276]    [<00000a00002747d4>] release_irq+0xe4/0xe8
> (XEN) [   25.996152]    [<00000a0000278588>] time.c#cpu_time_callback+0x44/0x60
> (XEN) [   26.003150]    [<00000a000021d678>] notifier_call_chain+0x7c/0xa0
> (XEN) [   26.009717]    [<00000a00002018e0>] cpu.c#cpu_notifier_call_chain+0x24/0x48
> (XEN) [   26.017148]    [<00000a000020192c>] cpu.c#_take_cpu_down+0x28/0x34
> (XEN) [   26.023801]    [<00000a0000201944>] cpu.c#take_cpu_down+0xc/0x18
> (XEN) [   26.030281]    [<00000a0000225c5c>] stop_machine.c#stopmachine_action+0xbc/0xe4
> (XEN) [   26.038057]    [<00000a00002264bc>] tasklet.c#do_tasklet_work+0xb8/0x100
> (XEN) [   26.045229]    [<00000a00002268a4>] do_tasklet+0x68/0xb0
> (XEN) [   26.051018]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
> (XEN) [   26.057585]    [<00000a0000277e30>] start_secondary+0x21c/0x220
> (XEN) [   26.063978]    [<00000a0000361258>] 00000a0000361258
> ```
> 
> This happens because before invoking take_cpu_down via the stop_machine_run
> function on the target CPU, stop_machine_run requests
> the STOPMACHINE_DISABLE_IRQ state on that CPU. Releasing memory in
> the release_irq function then triggers the assertion:
> 
> /*
>   * Heap allocations may need TLB flushes which may require IRQs to be
>   * enabled (except when only 1 PCPU is online).
>   */
> #define ASSERT_ALLOC_CONTEXT()
> 
> This patch introduces a new tasklet to perform the CPU_DYING call chain for
> a particular CPU. However, we cannot call take_cpu_down from the tasklet
> because the __cpu_disable function disables local IRQs, causing the system
> to crash inside spin_lock_irq, which is called after the tasklet function
> invocation inside do_tasklet_work:
> 
> void _spin_lock_irq(spinlock_t *lock)
> {
>      ASSERT(local_irq_is_enabled());
> 
> To resolve this, take_cpu_down is split into two parts. The first part triggers
> the CPU_DYING call chain, while the second part, __cpu_disable, is invoked from
> stop_machine_run.

Rather than modifying common code, have you considered allocating from 
the IRQ action from the percpu area? This would also reduce the number 
of possible failure when bringup up a pCPU.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 20:59:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 20:59:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909271.1316245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6hG-0005JH-PQ; Tue, 11 Mar 2025 20:59:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909271.1316245; Tue, 11 Mar 2025 20:59: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 1ts6hG-0005JA-L3; Tue, 11 Mar 2025 20:59:30 +0000
Received: by outflank-mailman (input) for mailman id 909271;
 Tue, 11 Mar 2025 20:59:29 +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 1ts6hE-0005J4-Vq
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 20:59:29 +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 1ts6hE-00Eiub-2G;
 Tue, 11 Mar 2025 20:59:28 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts6hE-004nch-0F;
 Tue, 11 Mar 2025 20:59: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>
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=ytqT0XbvtxFADS1Rg3eUrTjTyGQ2eIkAHFMOiAgmQcA=; b=0KdDlNEVbVgEsvoF8UukEZ92wo
	NPhvTVmsrN8Pyxx7aGi3vyIFO8RMtSGNpEIUfNQirpqJghJoR/nRPFhHLcmOIep3BzT6M6pvM2Ma0
	3tOVrg9SjmTWJo8G/yPqRGK2i0WkOWZCr3F7DBdNMiLSTkgsmWsFqJF7paPdzPdYycpo=;
Message-ID: <c5ccb703-45eb-4fb1-842c-75317354afad@xen.org>
Date: Tue, 11 Mar 2025 20:59:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, Juergen Gross <jgross@suse.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

(+ Juergen)

Hi Mykola,

On 05/03/2025 09:11, Mykola Kvach wrote:
> Invocation of the CPU_UP_PREPARE notification
> on ARM64 during resume causes a crash:
> 
> (XEN) [  315.807606] Error bringing CPU1 up: -16
> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
> [...]
> (XEN) [  316.142765] Xen call trace:
> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
> 
> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
> only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
> On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
> INVALID_PERCPU_AREA depends solely on the system state.
> 
> If the system is suspended, this area is not freed, and during resume, an error
> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
> set and park_offline_cpus remains 0:
> 
>      if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>          return park_offline_cpus ? 0 : -EBUSY;
> 
> It appears that the same crash can occur on x86 if park_offline_cpus is set
> to 0 during Xen suspend.

I am rather confused. Looking at the x86 code, it seems 
park_offline_cpus is cleared for AMD platforms. So are you saying the 
suspend/resume doesn't work on AMD?

I am also CCing Juergen because he originally add the check to the 
system_state in 2019. Maybe he will remember why CPU_UP_PREPARE was not 
changed.

> 
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> These changes were introduced in V2 inside
> "xen: don't free percpu areas during suspend" patch.
> ---
>   xen/common/percpu.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/percpu.c b/xen/common/percpu.c
> index e4e8b7bcab..83dca7edd6 100644
> --- a/xen/common/percpu.c
> +++ b/xen/common/percpu.c
> @@ -74,7 +74,8 @@ static int cf_check cpu_percpu_callback(
>       switch ( action )
>       {
>       case CPU_UP_PREPARE:
> -        rc = init_percpu_area(cpu);
> +        if ( system_state != SYS_STATE_resume )
> +            rc = init_percpu_area(cpu);
>           break;
>   
>       case CPU_UP_CANCELED:

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:04:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:04:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909282.1316253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6mU-0006sR-9Z; Tue, 11 Mar 2025 21:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909282.1316253; Tue, 11 Mar 2025 21:04: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 1ts6mU-0006sK-72; Tue, 11 Mar 2025 21:04:54 +0000
Received: by outflank-mailman (input) for mailman id 909282;
 Tue, 11 Mar 2025 21:04: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 1ts6mS-0006sE-Sh
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:04: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 1ts6mR-00Ej3W-2q;
 Tue, 11 Mar 2025 21:04:51 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts6mR-004o92-1R;
 Tue, 11 Mar 2025 21:04: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>
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=PYXnjgz4McCAUig7ZhfLuoXt1YKitv9oUoVZEcCChnw=; b=RH/MELDni5v2YlY1PgvsKW0GY0
	Sg7EQf0p7BKPl2jHttA0H0nhSIx9RZLqkroguezXAm0Q0vhd6C1wedmwWUkkKRJtj7GE7jLG0UGeb
	XfIYP8+XfSD6n+SxEOOU3OIKHdW1nhYMzmZHq3C5y1WjgUOuSpnRZZwVIYl/EeZ9yodA=;
Message-ID: <0d0ed573-d810-4e78-9a12-985e9150c107@xen.org>
Date: Tue, 11 Mar 2025 21:04:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>, Dario Faggioli
 <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Mirela Simonovic <mirela.simonovic@aggios.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Mykola,

On 05/03/2025 09:11, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> This patch implements suspend/resume helpers for the watchdog.
> While a domain is suspended its watchdogs must be paused. Otherwise,
> if the domain stays in the suspend state for a longer period of time
> compared to the watchdog period, the domain would be shutdown on resume.
> Proper solution to this problem is to stop (suspend) the watchdog timers
> after the domain suspends and to restart (resume) the watchdog timers
> before the domain resumes. The suspend/resume of watchdog timers is done
> in Xen and is invisible to the guests.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in v3:
> - cover the code with CONFIG_SYSTEM_SUSPEND
> 
> Changes in v2:
> - drop suspended field from timer structure
> - drop the call of watchdog_domain_resume from ctxt_switch_to
> ---
>   xen/common/sched/core.c | 39 +++++++++++++++++++++++++++++++++++++++
>   xen/include/xen/sched.h |  9 +++++++++
>   2 files changed, 48 insertions(+)
> 
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index b1c6b6b9fa..6c2231826a 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1605,6 +1605,45 @@ void watchdog_domain_destroy(struct domain *d)
>           kill_timer(&d->watchdog_timer[i].timer);
>   }
>   
> +#ifdef CONFIG_SYSTEM_SUSPEND

The config option is Arm specific, yet this is common code. As x86, 
already suspend/resume, then shouldn't the config option be common?

But more importantly, why do we need to save/restore the watchdogs for 
Arm but not x86? Is this a latent issue or design choice?

> +
> +void watchdog_domain_suspend(struct domain *d)
> +{
> +    unsigned int i;
> +
> +    spin_lock(&d->watchdog_lock);
> +
> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> +    {
> +        if ( test_bit(i, &d->watchdog_inuse_map) )
> +        {
> +            stop_timer(&d->watchdog_timer[i].timer);
> +        }
> +    }
> +
> +    spin_unlock(&d->watchdog_lock);
> +}
> +
> +void watchdog_domain_resume(struct domain *d)
> +{
> +    unsigned int i;
> +
> +    spin_lock(&d->watchdog_lock);
> +
> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> +    {
> +        if ( test_bit(i, &d->watchdog_inuse_map) )
> +        {
> +            set_timer(&d->watchdog_timer[i].timer,
> +                      NOW() + SECONDS(d->watchdog_timer[i].timeout));
> +        }
> +    }
> +
> +    spin_unlock(&d->watchdog_lock);
> +}
> +
> +#endif /* CONFIG_SYSTEM_SUSPEND */
> +
>   /*
>    * Pin a vcpu temporarily to a specific CPU (or restore old pinning state if
>    * cpu is NR_CPUS).
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index d0d10612ce..caab4aad93 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -1109,6 +1109,15 @@ void scheduler_disable(void);
>   void watchdog_domain_init(struct domain *d);
>   void watchdog_domain_destroy(struct domain *d);
>   
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +/*
> + * Suspend/resume watchdogs of domain (while the domain is suspended its
> + * watchdogs should be on pause)
> + */
> +void watchdog_domain_suspend(struct domain *d);
> +void watchdog_domain_resume(struct domain *d);
> +#endif /* CONFIG_SYSTEM_SUSPEND */
> +
>   /*
>    * Use this check when the following are both true:
>    *  - Using this feature or interface requires full access to the hardware

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909298.1316294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uD-0000mW-Px; Tue, 11 Mar 2025 21:12:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909298.1316294; Tue, 11 Mar 2025 21:12: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 1ts6uD-0000mG-MZ; Tue, 11 Mar 2025 21:12:53 +0000
Received: by outflank-mailman (input) for mailman id 909298;
 Tue, 11 Mar 2025 21:12: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uB-0008V9-T0
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:51 +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 96898c2d-febd-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:12:50 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso37356815e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:50 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 96898c2d-febd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727569; x=1742332369; 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=3tUvTAv3blqytxViw6Vvd9NJKdvVm3sZY5QDWdB8lnM=;
        b=iL/AhS5u/a8tlcYimgK2oHOuYGIjbPkDKm1TC8UnNVOwGkJvdpgLDhLezZnIXw3+xz
         /Wn7+QvbgUJvFXnz6fsk8UEL5OTfUHbHmbaMd556Evd3Rvqm7FzF7/9gKx1nmYhGAbTz
         Uyl6OGK84IFbEjIoul10Fq4aIevCDLwJ2wc4s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727569; x=1742332369;
        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=3tUvTAv3blqytxViw6Vvd9NJKdvVm3sZY5QDWdB8lnM=;
        b=HImng6Olq4ld6l2sVEJADauDXPbUMyFv/dQgxnj89hLyClFg2OgpXayu92UTcn3pMp
         dUtzOt+WuD/GOI9liOFgvPcoxlm/VGBFNIrcB8uBEN/raQcdZvH3/MOvbgqbjYNDEE1v
         y2tKTnxUc/aYFLfaNkEct3T2YUdrN68mA1hOw15rDLFSvhvxS8t0fb6lA4Gx4pv34d9H
         g0yUeZERPkxJ5Ug86rnTHi3FIrHyt+dYLHLiv5Ct1A4QGZVJFokSSaJb4Uo4QTX/7zNn
         7c6fJllVbHtz4cfIQPdgokzzW3ZklW1lKS6C9LW4rpW9LVu86uCdcwiPUC9UfbRdZ6cF
         hfVg==
X-Gm-Message-State: AOJu0Ywgs0MNM3bKg4lSZeYrSIi8ftzbBk9j0NahSFLF+X6LP04sn+j6
	Q5aYS2x5T4GwRI37hvFae3PlyNQevrBRkLsP+91PfYGMX1uZnSaotM4+RUwUqE7pkbsdCxxdNg8
	I
X-Gm-Gg: ASbGncsOogRdUp4qwEpPwaJ6/pDgRhOeJyGY6Uw2San8NKLHg2S0mLOKxymdz9P8NC1
	KmYzLcafnIt4lfKR1vZ2lBeCT9r6D9e429RlQM5C/2UJCdqPTW792pdIIVWeFrBoqw3Of4wfEbn
	cpxz2wY+oaBT2YxAq70e1+/yCAkC+vtrRKGA3/b+JA43t9JRvI9TFmUJ1BnWID2I6IoLay5kGpu
	18s9ZYsRUDJy/oPSvLgfMm3RJn01WPOtRjcAcJwinQVJQNjWYkkaEyuIv97UqTjfeI9iCZttMa2
	/bPUN0IWeMCmENQ/a7eZ7ET2eFuqq160Vw7mTGfFTffjas68qYL4Ox+6/qMQeB3zHXjglQCYJ16
	nHB5sL8NPC0oMSI8nlxbDjXKP
X-Google-Smtp-Source: AGHT+IHDtuMEgcwGjelrzYRwcrT2OmMihNokulS7s+soekb61kdamUYko2fDPfbSIEcFLf335JFhLw==
X-Received: by 2002:a05:6000:18a3:b0:391:2df9:772d with SMTP id ffacd0b85a97d-39132d3bad8mr17084750f8f.13.1741727569105;
        Tue, 11 Mar 2025 14:12: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>
Subject: [PATCH 2/8] x86/traps: Rework register state printing to use a struct
Date: Tue, 11 Mar 2025 21:10:37 +0000
Message-Id: <20250311211043.3629696-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... in preference to the crs[8] array.  This avoids abusing crs[5..7] for the
fs/gs bases, giving them proper named fields instead, and avoids storage for
cr1 which is unused in the x86 architecture.

In show_registers(), remove a redundant read_cr2().  read_registers() already
did the same, and it is only the PV path which needs to override with
arch_get_cr2().

In vcpu_show_registers(), express the gsb/gss decision using SWAP().  The
determination is going to get even more complicated under 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>
---
 xen/arch/x86/x86_64/traps.c | 96 +++++++++++++++++++++----------------
 1 file changed, 54 insertions(+), 42 deletions(-)

diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index ac0fafd72d31..01b4f0623282 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -23,6 +23,11 @@
 #include <asm/shared.h>
 #include <asm/traps.h>
 
+struct extra_state
+{
+    unsigned long cr0, cr2, cr3, cr4;
+    unsigned long fsb, gsb, gss;
+};
 
 static void print_xen_info(void)
 {
@@ -35,28 +40,29 @@ static void print_xen_info(void)
 
 enum context { CTXT_hypervisor, CTXT_pv_guest, CTXT_hvm_guest };
 
-/* (ab)use crs[5..7] for fs/gs bases. */
-static void read_registers(struct cpu_user_regs *regs, unsigned long crs[8])
+static void read_registers(struct cpu_user_regs *regs, struct extra_state *state)
 {
-    crs[0] = read_cr0();
-    crs[2] = read_cr2();
-    crs[3] = read_cr3();
-    crs[4] = read_cr4();
+    state->cr0 = read_cr0();
+    state->cr2 = read_cr2();
+    state->cr3 = read_cr3();
+    state->cr4 = read_cr4();
+
     read_sregs(regs);
-    crs[5] = read_fs_base();
-    crs[6] = read_gs_base();
-    crs[7] = read_gs_shadow();
+
+    state->fsb = read_fs_base();
+    state->gsb = read_gs_base();
+    state->gss = read_gs_shadow();
 }
 
 static void get_hvm_registers(struct vcpu *v, struct cpu_user_regs *regs,
-                              unsigned long crs[8])
+                              struct extra_state *state)
 {
     struct segment_register sreg;
 
-    crs[0] = v->arch.hvm.guest_cr[0];
-    crs[2] = v->arch.hvm.guest_cr[2];
-    crs[3] = v->arch.hvm.guest_cr[3];
-    crs[4] = v->arch.hvm.guest_cr[4];
+    state->cr0 = v->arch.hvm.guest_cr[0];
+    state->cr2 = v->arch.hvm.guest_cr[2];
+    state->cr3 = v->arch.hvm.guest_cr[3];
+    state->cr4 = v->arch.hvm.guest_cr[4];
 
     hvm_get_segment_register(v, x86_seg_cs, &sreg);
     regs->cs = sreg.sel;
@@ -69,20 +75,20 @@ static void get_hvm_registers(struct vcpu *v, struct cpu_user_regs *regs,
 
     hvm_get_segment_register(v, x86_seg_fs, &sreg);
     regs->fs = sreg.sel;
-    crs[5] = sreg.base;
+    state->fsb = sreg.base;
 
     hvm_get_segment_register(v, x86_seg_gs, &sreg);
     regs->gs = sreg.sel;
-    crs[6] = sreg.base;
+    state->gsb = sreg.base;
 
     hvm_get_segment_register(v, x86_seg_ss, &sreg);
     regs->ss = sreg.sel;
 
-    crs[7] = hvm_get_reg(v, MSR_SHADOW_GS_BASE);
+    state->gss = hvm_get_reg(v, MSR_SHADOW_GS_BASE);
 }
 
 static void _show_registers(
-    const struct cpu_user_regs *regs, unsigned long crs[8],
+    const struct cpu_user_regs *regs, const struct extra_state *state,
     enum context context, const struct vcpu *v)
 {
     static const char *const context_names[] = {
@@ -112,10 +118,10 @@ static void _show_registers(
     printk("r12: %016lx   r13: %016lx   r14: %016lx\n",
            regs->r12, regs->r13, regs->r14);
     printk("r15: %016lx   cr0: %016lx   cr4: %016lx\n",
-           regs->r15, crs[0], crs[4]);
-    printk("cr3: %016lx   cr2: %016lx\n", crs[3], crs[2]);
+           regs->r15, state->cr0, state->cr4);
+    printk("cr3: %016lx   cr2: %016lx\n", state->cr3, state->cr2);
     printk("fsb: %016lx   gsb: %016lx   gss: %016lx\n",
-           crs[5], crs[6], crs[7]);
+           state->fsb, state->gsb, state->gss);
     printk("ds: %04x   es: %04x   fs: %04x   gs: %04x   "
            "ss: %04x   cs: %04x\n",
            regs->ds, regs->es, regs->fs,
@@ -125,34 +131,33 @@ static void _show_registers(
 void show_registers(const struct cpu_user_regs *regs)
 {
     struct cpu_user_regs fault_regs = *regs;
-    unsigned long fault_crs[8];
+    struct extra_state fault_state;
     enum context context;
     struct vcpu *v = system_state >= SYS_STATE_smp_boot ? current : NULL;
 
     if ( guest_mode(regs) && is_hvm_vcpu(v) )
     {
-        get_hvm_registers(v, &fault_regs, fault_crs);
+        get_hvm_registers(v, &fault_regs, &fault_state);
         context = CTXT_hvm_guest;
     }
     else
     {
-        read_registers(&fault_regs, fault_crs);
+        read_registers(&fault_regs, &fault_state);
 
         if ( guest_mode(regs) )
         {
             context = CTXT_pv_guest;
-            fault_crs[2] = arch_get_cr2(v);
+            fault_state.cr2 = arch_get_cr2(v);
         }
         else
         {
             context = CTXT_hypervisor;
-            fault_crs[2] = read_cr2();
         }
     }
 
     print_xen_info();
     printk("CPU:    %d\n", smp_processor_id());
-    _show_registers(&fault_regs, fault_crs, context, v);
+    _show_registers(&fault_regs, &fault_state, context, v);
 
     if ( ler_msr && !guest_mode(regs) )
     {
@@ -173,34 +178,41 @@ void vcpu_show_registers(struct vcpu *v)
 {
     const struct cpu_user_regs *regs = &v->arch.user_regs;
     struct cpu_user_regs aux_regs;
+    struct extra_state state;
     enum context context;
-    unsigned long crs[8];
 
     if ( is_hvm_vcpu(v) )
     {
         aux_regs = *regs;
-        get_hvm_registers(v, &aux_regs, crs);
+        get_hvm_registers(v, &aux_regs, &state);
         regs = &aux_regs;
         context = CTXT_hvm_guest;
     }
     else
     {
         bool kernel = guest_kernel_mode(v, regs);
+        unsigned long gsb, gss;
+
+        state.cr0 = v->arch.pv.ctrlreg[0];
+        state.cr2 = arch_get_cr2(v);
+        state.cr3 = pagetable_get_paddr(kernel
+                                        ? v->arch.guest_table
+                                        : v->arch.guest_table_user);
+        state.cr4 = v->arch.pv.ctrlreg[4];
+
+        gsb = v->arch.pv.gs_base_user;
+        gss = v->arch.pv.gs_base_kernel;
+        if ( kernel )
+            SWAP(gsb, gss);
 
-        crs[0] = v->arch.pv.ctrlreg[0];
-        crs[2] = arch_get_cr2(v);
-        crs[3] = pagetable_get_paddr(kernel ?
-                                     v->arch.guest_table :
-                                     v->arch.guest_table_user);
-        crs[4] = v->arch.pv.ctrlreg[4];
-        crs[5] = v->arch.pv.fs_base;
-        crs[6 + !kernel] = v->arch.pv.gs_base_kernel;
-        crs[7 - !kernel] = v->arch.pv.gs_base_user;
+        state.fsb = v->arch.pv.fs_base;
+        state.gsb = gsb;
+        state.gss = gss;
 
         context = CTXT_pv_guest;
     }
 
-    _show_registers(regs, crs, context, v);
+    _show_registers(regs, &state, context, v);
 }
 
 void show_page_walk(unsigned long addr)
@@ -268,7 +280,7 @@ void show_page_walk(unsigned long addr)
 void asmlinkage do_double_fault(struct cpu_user_regs *regs)
 {
     unsigned int cpu;
-    unsigned long crs[8];
+    struct extra_state state;
 
     console_force_unlock();
 
@@ -279,10 +291,10 @@ void asmlinkage do_double_fault(struct cpu_user_regs *regs)
     printk("*** DOUBLE FAULT ***\n");
     print_xen_info();
 
-    read_registers(regs, crs);
+    read_registers(regs, &state);
 
     printk("CPU:    %d\n", cpu);
-    _show_registers(regs, crs, CTXT_hypervisor, NULL);
+    _show_registers(regs, &state, CTXT_hypervisor, NULL);
     show_code(regs);
     show_stack_overflow(cpu, regs);
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909296.1316271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uB-0000Am-Eh; Tue, 11 Mar 2025 21:12:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909296.1316271; Tue, 11 Mar 2025 21:12: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 1ts6uB-00007E-7c; Tue, 11 Mar 2025 21:12:51 +0000
Received: by outflank-mailman (input) for mailman id 909296;
 Tue, 11 Mar 2025 21:12: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uA-0008V9-LN
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:50 +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 95e918ae-febd-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:12:49 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39149bccb69so2419490f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:49 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 95e918ae-febd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727568; x=1742332368; 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=MYYWoFXQadYNqg3ppNES3f8YOcne8bmt2zBhfPE0KsI=;
        b=NQ7ppZ5BoMP+56b3zvvq0pg9IntpOq2H7hwB9NAWZHQgz9Vev0XfpO+inCeHB/FD5Q
         zgNjofAmDPEnnlOuu5w+LRA3sFAZ5T5xj/9UleERfO84m7FYCcQ5LmNf1Z8b+vsbuKoj
         9EVOA3/9AHmOibF/D7j7KuX4aN/Ou7MHC8loA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727568; x=1742332368;
        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=MYYWoFXQadYNqg3ppNES3f8YOcne8bmt2zBhfPE0KsI=;
        b=NmygXvVXZ5hdakzcLs+Lx7gqPw4hRbZ6a2ayj7LQe2LfZUGq+OechiYj0d8JupEZnW
         p+h3ooUyWl6c7Ca0whSOH82Lx4XSidiwwOFthbmYLfZIN24mPJ/YCPjF8MvwZkoX7kKI
         TJp+psLXh4EdGywgoBd7EnBYJqwbzOroS82og7+mExVLyXsDgp1IUILmg3+FQJaW8BJO
         UNS0CkJvGPSioqkfqd+dwmk6+d91fiCiHvEIkwJV/YUIXFATqAbN+pc5b/8vvIxXZUSy
         EbGAAhMV/kFcFUHtRD387eZ3WaCzdhQPDNOca3BKXHgzcgVRJqOLXggWe27uLL2tvQ0H
         TGWQ==
X-Gm-Message-State: AOJu0YxtNDVnCCwP3tqQuMAV3qb2J4L/3z8iW2d79SP1bhrgAPQqcOnz
	nzredl4bMW+mOakCqwJhBbYTOGXBjpLKbmHcFxAX3ufHxz8FqPJdwP3w1kpnnyeaI84TZ4xto6d
	z
X-Gm-Gg: ASbGncuq/HjRfF9g/5MlXIP+HnUiK2yOr8RySPFuzLJIAs2GEh/W1xnUqN+vqD229P7
	Iv75CmxDw5mPgfpAhzjeY1nutTt17KEJTDiNZhx9ToZgOI2sxb22yfi6gWWIJLKpoF66LwCUJ62
	wRYurEYT3W/nAh9mYcwxEm3gY44sURqckAyZtezO9Wz6pgqWRjifj6SoNPNu6jd2/UQUbS1lpiK
	KT7Y2vUTa6meqzASa2D53RGI4gYzF6NR8QzHRmGbUzcsrJkTwKO207K0rMnIoxGkDGnrwes2Lo3
	fQykMhNvmVoY49Gdo+ML2r3pWAaCBwayWXQ6kkYS8SrseUrk+Y8NDxAlCHZVHyrOB0QzTdYrs59
	FvuC/aCDeVUiKLTRaH5pvF3cpcxpIvPz40vU=
X-Google-Smtp-Source: AGHT+IFZgdnQQjNxx8ghjAcICekZILUDfTG+OshKCf0R9bGe78OIZA2mDQRW7kigxJY2ri5dUHihpg==
X-Received: by 2002:a05:6000:4011:b0:38d:badf:9df5 with SMTP id ffacd0b85a97d-392641bfd05mr5345571f8f.17.1741727568219;
        Tue, 11 Mar 2025 14:12:48 -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 1/8] x86/regs: Fold x86_64/regs.h into it's single includer
Date: Tue, 11 Mar 2025 21:10:36 +0000
Message-Id: <20250311211043.3629696-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-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: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/include/asm/regs.h        | 21 ++++++++++++++++++-
 xen/arch/x86/include/asm/x86_64/regs.h | 28 --------------------------
 2 files changed, 20 insertions(+), 29 deletions(-)
 delete mode 100644 xen/arch/x86/include/asm/x86_64/regs.h

diff --git a/xen/arch/x86/include/asm/regs.h b/xen/arch/x86/include/asm/regs.h
index ddf5e14e5719..4f2f06b60161 100644
--- a/xen/arch/x86/include/asm/regs.h
+++ b/xen/arch/x86/include/asm/regs.h
@@ -2,7 +2,26 @@
 #ifndef __X86_REGS_H__
 #define __X86_REGS_H__
 
-#include <asm/x86_64/regs.h>
+#define ring_0(r)    (((r)->cs & 3) == 0)
+#define ring_1(r)    (((r)->cs & 3) == 1)
+#define ring_2(r)    (((r)->cs & 3) == 2)
+#define ring_3(r)    (((r)->cs & 3) == 3)
+
+#define guest_kernel_mode(v, r)                                 \
+    (!is_pv_32bit_vcpu(v) ?                                     \
+     (ring_3(r) && ((v)->arch.flags & TF_kernel_mode)) :        \
+     (ring_1(r)))
+
+#define permit_softint(dpl, v, r) \
+    ((dpl) >= (guest_kernel_mode(v, r) ? 1 : 3))
+
+/* Check for null trap callback handler: Is the EIP null? */
+#define null_trap_bounce(v, tb) \
+    (!is_pv_32bit_vcpu(v) ? ((tb)->eip == 0) : (((tb)->cs & ~3) == 0))
+
+/* Number of bytes of on-stack execution state to be context-switched. */
+/* NB. Segment registers and bases are not saved/restored on x86/64 stack. */
+#define CTXT_SWITCH_STACK_BYTES (offsetof(struct cpu_user_regs, es))
 
 #define guest_mode(r)                                                         \
 ({                                                                            \
diff --git a/xen/arch/x86/include/asm/x86_64/regs.h b/xen/arch/x86/include/asm/x86_64/regs.h
deleted file mode 100644
index 171cf9a2e217..000000000000
--- a/xen/arch/x86/include/asm/x86_64/regs.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _X86_64_REGS_H
-#define _X86_64_REGS_H
-
-#include <xen/types.h>
-#include <public/xen.h>
-
-#define ring_0(r)    (((r)->cs & 3) == 0)
-#define ring_1(r)    (((r)->cs & 3) == 1)
-#define ring_2(r)    (((r)->cs & 3) == 2)
-#define ring_3(r)    (((r)->cs & 3) == 3)
-
-#define guest_kernel_mode(v, r)                                 \
-    (!is_pv_32bit_vcpu(v) ?                                     \
-     (ring_3(r) && ((v)->arch.flags & TF_kernel_mode)) :        \
-     (ring_1(r)))
-
-#define permit_softint(dpl, v, r) \
-    ((dpl) >= (guest_kernel_mode(v, r) ? 1 : 3))
-
-/* Check for null trap callback handler: Is the EIP null? */
-#define null_trap_bounce(v, tb) \
-    (!is_pv_32bit_vcpu(v) ? ((tb)->eip == 0) : (((tb)->cs & ~3) == 0))
-
-/* Number of bytes of on-stack execution state to be context-switched. */
-/* NB. Segment registers and bases are not saved/restored on x86/64 stack. */
-#define CTXT_SWITCH_STACK_BYTES (offsetof(struct cpu_user_regs, es))
-
-#endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909300.1316314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uF-0001HQ-Es; Tue, 11 Mar 2025 21:12:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909300.1316314; Tue, 11 Mar 2025 21:12: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 1ts6uF-0001G3-B0; Tue, 11 Mar 2025 21:12:55 +0000
Received: by outflank-mailman (input) for mailman id 909300;
 Tue, 11 Mar 2025 21:12: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uE-0008V9-Ao
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:54 +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 9810a7ff-febd-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:12:52 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3912c09bea5so4964100f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:52 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 9810a7ff-febd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727572; x=1742332372; 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=791cAS5w7eCNK6kjj4DpqvEK5as6CjUXwYOSWlAUoo8=;
        b=DiBDAtE0btf+fc+DUbZocqpDQ5yZ5Yk5j6w5FVJqD9dZJdUZEmYNdLuTCY1jw50Tlr
         xB7nRip7lXsYjykgiLu+udV47il03txlkVnonlFqRMn/K5PwQ6u37Q2HNtmJo31Neezf
         rhVpfPhhDuDoqma5Xco/3sQifYkCwWkZuYQyw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727572; x=1742332372;
        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=791cAS5w7eCNK6kjj4DpqvEK5as6CjUXwYOSWlAUoo8=;
        b=LQEIBb2sYQkXO9FS5yynHExeibAYnd89MDG+PizpnRJe7o8tHe9tGSsEddXXfylS6B
         Phch/8HKKe+4PHNHE5ts82InF1RGYU2WYVqp7eLOyYp56h/+LVmU9lURXcPg5JCjuzq2
         4yrhdrn/YyAjoE7/FRdHK9xVHhvOuHMjTXU9bWX/iTWYv/0d3eucMffpJ66N/NvNRA+H
         OBRHV9KVTbjWEzZ/vmAMxrnDFxNPMqfAvWXBL2v65CVuKEvG0BmgDJyByXHUApNWestF
         H4UhsFEdBCmdvQjo37BkUB5j4nWoOESZgTSjfsUkSUKNqdhD0bYPZNyZ9Hc7zNZCsyPh
         8Qxw==
X-Gm-Message-State: AOJu0Yx9Utq8rhYNFW7wRy2dXyO/zqCMOoXLHh4YD5GfJXQA27j9NHqJ
	8U4drf2ny4ZbyppQRHzX1iI6FUkEdSQBE+jziGvdCRENM0pq10kZEmGaYPW0P+oOoqupF0tLhzH
	8
X-Gm-Gg: ASbGncugRHOhKVgvoFNjGJFANkkYcM3FOfIEXekj0LUXtYixfO2EzBp3Ds+IX+jCsVQ
	XEHm975RYrXa/8aUZmHT3asrvWHm43DxSLL+MdNbe50OOuApj1thwFf64JNTi/buaBrHorluvgs
	IMda4E/O2VGdBrLH7akH52nSt8+v+KUfbQbPoLyckfq5Y3NcnICNUdBObl0/OIoHZuBRRB5IC6x
	uCoEOPPZn4vPdhwDzwE+jLDO3Emfv07BWDdHpd0X4qwvkotQGrZ/yIcQXWKRuw6VG/bjdCn8mIq
	eMbbjj81n2HWWTUygsyFaEapwJlPIy7qLZkAYhgMgCG+iglSGKqwvN5vPaTw/hiurpuXOXNB09P
	j6TKPML2xfog96wZ5u/Jb3XK7
X-Google-Smtp-Source: AGHT+IH1rPMqHv3ArDgFC97Dc4ohFM/1rzWaP3B8txp72HirToLrO2N2PadTRsHbohho/nhVlJ116g==
X-Received: by 2002:a5d:6d06:0:b0:391:4231:414 with SMTP id ffacd0b85a97d-3926beec139mr6844639f8f.40.1741727571883;
        Tue, 11 Mar 2025 14:12: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 5/8] x86/domctl: Stop using XLAT_cpu_user_regs()
Date: Tue, 11 Mar 2025 21:10:40 +0000
Message-Id: <20250311211043.3629696-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In order to support FRED, we're going to have to remove the {ds..gs} fields
from struct cpu_user_regs, meaning that it is going to have to become a
different type to the structure embedded in vcpu_guest_context_u.

In both arch_{get,set}_info_guest(), expand the memcpy()/XLAT_cpu_user_regs()
to copy the fields individually.  This will allow us to eventually make them
different types.

No practical change.  The compat cases are identical, while the non-compat
cases no longer copy _pad fields.

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

Should we really be copying error_code/entry_vector?  They're already listed
as explicitly private fields, and I don't think anything good can come of
providing/consuming them.
---
 xen/arch/x86/domain.c | 42 ++++++++++++++++++++++++++++++++++++++++--
 xen/arch/x86/domctl.c | 42 ++++++++++++++++++++++++++++++++++++++++--
 xen/include/xlat.lst  |  2 --
 3 files changed, 80 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index a42fa5480593..bc0816c71495 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1196,7 +1196,26 @@ int arch_set_info_guest(
 
     if ( !compat )
     {
-        memcpy(&v->arch.user_regs, &c.nat->user_regs, sizeof(c.nat->user_regs));
+        v->arch.user_regs.rbx               = c.nat->user_regs.rbx;
+        v->arch.user_regs.rcx               = c.nat->user_regs.rcx;
+        v->arch.user_regs.rdx               = c.nat->user_regs.rdx;
+        v->arch.user_regs.rsi               = c.nat->user_regs.rsi;
+        v->arch.user_regs.rdi               = c.nat->user_regs.rdi;
+        v->arch.user_regs.rbp               = c.nat->user_regs.rbp;
+        v->arch.user_regs.rax               = c.nat->user_regs.rax;
+        v->arch.user_regs.error_code        = c.nat->user_regs.error_code;
+        v->arch.user_regs.entry_vector      = c.nat->user_regs.entry_vector;
+        v->arch.user_regs.rip               = c.nat->user_regs.rip;
+        v->arch.user_regs.cs                = c.nat->user_regs.cs;
+        v->arch.user_regs.saved_upcall_mask = c.nat->user_regs.saved_upcall_mask;
+        v->arch.user_regs.rflags            = c.nat->user_regs.rflags;
+        v->arch.user_regs.rsp               = c.nat->user_regs.rsp;
+        v->arch.user_regs.ss                = c.nat->user_regs.ss;
+        v->arch.user_regs.es                = c.nat->user_regs.es;
+        v->arch.user_regs.ds                = c.nat->user_regs.ds;
+        v->arch.user_regs.fs                = c.nat->user_regs.fs;
+        v->arch.user_regs.gs                = c.nat->user_regs.gs;
+
         if ( is_pv_domain(d) )
             memcpy(v->arch.pv.trap_ctxt, c.nat->trap_ctxt,
                    sizeof(c.nat->trap_ctxt));
@@ -1204,7 +1223,26 @@ int arch_set_info_guest(
 #ifdef CONFIG_COMPAT
     else
     {
-        XLAT_cpu_user_regs(&v->arch.user_regs, &c.cmp->user_regs);
+        v->arch.user_regs.ebx               = c.cmp->user_regs.ebx;
+        v->arch.user_regs.ecx               = c.cmp->user_regs.ecx;
+        v->arch.user_regs.edx               = c.cmp->user_regs.edx;
+        v->arch.user_regs.esi               = c.cmp->user_regs.esi;
+        v->arch.user_regs.edi               = c.cmp->user_regs.edi;
+        v->arch.user_regs.ebp               = c.cmp->user_regs.ebp;
+        v->arch.user_regs.eax               = c.cmp->user_regs.eax;
+        v->arch.user_regs.error_code        = c.cmp->user_regs.error_code;
+        v->arch.user_regs.entry_vector      = c.cmp->user_regs.entry_vector;
+        v->arch.user_regs.eip               = c.cmp->user_regs.eip;
+        v->arch.user_regs.cs                = c.cmp->user_regs.cs;
+        v->arch.user_regs.saved_upcall_mask = c.cmp->user_regs.saved_upcall_mask;
+        v->arch.user_regs.eflags            = c.cmp->user_regs.eflags;
+        v->arch.user_regs.esp               = c.cmp->user_regs.esp;
+        v->arch.user_regs.ss                = c.cmp->user_regs.ss;
+        v->arch.user_regs.es                = c.cmp->user_regs.es;
+        v->arch.user_regs.ds                = c.cmp->user_regs.ds;
+        v->arch.user_regs.fs                = c.cmp->user_regs.fs;
+        v->arch.user_regs.gs                = c.cmp->user_regs.gs;
+
         if ( is_pv_domain(d) )
         {
             for ( i = 0; i < ARRAY_SIZE(c.cmp->trap_ctxt); ++i )
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 3044f706de1c..7ab9e9176b58 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1399,7 +1399,26 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
         c(flags |= VGCF_online);
     if ( !compat )
     {
-        memcpy(&c.nat->user_regs, &v->arch.user_regs, sizeof(c.nat->user_regs));
+        c.nat->user_regs.rbx               = v->arch.user_regs.rbx;
+        c.nat->user_regs.rcx               = v->arch.user_regs.rcx;
+        c.nat->user_regs.rdx               = v->arch.user_regs.rdx;
+        c.nat->user_regs.rsi               = v->arch.user_regs.rsi;
+        c.nat->user_regs.rdi               = v->arch.user_regs.rdi;
+        c.nat->user_regs.rbp               = v->arch.user_regs.rbp;
+        c.nat->user_regs.rax               = v->arch.user_regs.rax;
+        c.nat->user_regs.error_code        = v->arch.user_regs.error_code;
+        c.nat->user_regs.entry_vector      = v->arch.user_regs.entry_vector;
+        c.nat->user_regs.rip               = v->arch.user_regs.rip;
+        c.nat->user_regs.cs                = v->arch.user_regs.cs;
+        c.nat->user_regs.saved_upcall_mask = v->arch.user_regs.saved_upcall_mask;
+        c.nat->user_regs.rflags            = v->arch.user_regs.rflags;
+        c.nat->user_regs.rsp               = v->arch.user_regs.rsp;
+        c.nat->user_regs.ss                = v->arch.user_regs.ss;
+        c.nat->user_regs.es                = v->arch.user_regs.es;
+        c.nat->user_regs.ds                = v->arch.user_regs.ds;
+        c.nat->user_regs.fs                = v->arch.user_regs.fs;
+        c.nat->user_regs.gs                = v->arch.user_regs.gs;
+
         if ( is_pv_domain(d) )
             memcpy(c.nat->trap_ctxt, v->arch.pv.trap_ctxt,
                    sizeof(c.nat->trap_ctxt));
@@ -1407,7 +1426,26 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
 #ifdef CONFIG_COMPAT
     else
     {
-        XLAT_cpu_user_regs(&c.cmp->user_regs, &v->arch.user_regs);
+        c.cmp->user_regs.ebx               = v->arch.user_regs.ebx;
+        c.cmp->user_regs.ecx               = v->arch.user_regs.ecx;
+        c.cmp->user_regs.edx               = v->arch.user_regs.edx;
+        c.cmp->user_regs.esi               = v->arch.user_regs.esi;
+        c.cmp->user_regs.edi               = v->arch.user_regs.edi;
+        c.cmp->user_regs.ebp               = v->arch.user_regs.ebp;
+        c.cmp->user_regs.eax               = v->arch.user_regs.eax;
+        c.cmp->user_regs.error_code        = v->arch.user_regs.error_code;
+        c.cmp->user_regs.entry_vector      = v->arch.user_regs.entry_vector;
+        c.cmp->user_regs.eip               = v->arch.user_regs.eip;
+        c.cmp->user_regs.cs                = v->arch.user_regs.cs;
+        c.cmp->user_regs.saved_upcall_mask = v->arch.user_regs.saved_upcall_mask;
+        c.cmp->user_regs.eflags            = v->arch.user_regs.eflags;
+        c.cmp->user_regs.esp               = v->arch.user_regs.esp;
+        c.cmp->user_regs.ss                = v->arch.user_regs.ss;
+        c.cmp->user_regs.es                = v->arch.user_regs.es;
+        c.cmp->user_regs.ds                = v->arch.user_regs.ds;
+        c.cmp->user_regs.fs                = v->arch.user_regs.fs;
+        c.cmp->user_regs.gs                = v->arch.user_regs.gs;
+
         if ( is_pv_domain(d) )
         {
             for ( i = 0; i < ARRAY_SIZE(c.cmp->trap_ctxt); ++i )
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index 3c7b6c6830a9..6d6c6cfab251 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -34,8 +34,6 @@
 ?	pmu_intel_ctxt			arch-x86/pmu.h
 ?	pmu_regs			arch-x86/pmu.h
 
-!	cpu_user_regs			arch-x86/xen-@arch@.h
-
 ?	cpu_offline_action		arch-x86/xen-mca.h
 ?	mc				arch-x86/xen-mca.h
 !	mc_fetch			arch-x86/xen-mca.h
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909295.1316264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uB-0008VT-12; Tue, 11 Mar 2025 21:12:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909295.1316264; Tue, 11 Mar 2025 21:12: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 1ts6uA-0008VM-US; Tue, 11 Mar 2025 21:12:50 +0000
Received: by outflank-mailman (input) for mailman id 909295;
 Tue, 11 Mar 2025 21:12: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6u9-0008V9-Ov
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:49 +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 95198016-febd-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:12:47 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3f4so2962155f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:47 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 95198016-febd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727567; x=1742332367; 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=I1kFjBuIASLmCG10NTTQBJ4txzWJ0ch7ykueDsSbR6s=;
        b=hUp6vESAfuEDbKKuMpq8lS+qh/Ew8K3x3SaJcUFxY7UHTtiI8VQJRxMeFtAsvWi3IX
         zQ3RTEIx+wnD7Lv6E8Gf3A8xpnBuIpiCGT9ubY70iZ3ID4ZpIHqxp9McChkrpwPwoZS8
         EhO0ScoHXMklfsvMzZTob6YE+P2mD4i+Akthk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727567; x=1742332367;
        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=I1kFjBuIASLmCG10NTTQBJ4txzWJ0ch7ykueDsSbR6s=;
        b=NWqF8non1wl3OldFO2l8Ax9v9R21TmIrHXsjJ6B5UG2FBL0vVo/nvQOUI4AvbUf3yl
         nIafWB6IjkknpdJrepNaf0XQ1NCuzVp77kkvaJpevYwP87GkaDGbyFRcaXApSdnt1okR
         /3piULFdOlZtIB1I4cWOydkn+qlRNmjcsbi9cL1PSgeTonVry7W3rzVFgMSZHW6ASORy
         PCBV0C0G72aaGtjXK2DrRybn2ySsbj046IdgMbPIda88RUh6DvLpQLHoEjB7BSpFj1Jz
         zGjNUKXClBjfAQ8XO3LTVZuxxjVN/E4mRolKDgM/6Impg9LOirhZy8gVhS62zoFE7pjf
         6IFQ==
X-Gm-Message-State: AOJu0YyHpGUm3Ao7BbDIjkAOS+diQX9GHp5hRUQ8h44TnTXTtYE5ux2r
	nQnTtemlzv4uPsc1hYo5M+iEntM5N8u4I0Gw9LkZiX4Sx0NZJ1pjvN6k7Fm8QvcRBmI4Qe3rTcj
	K
X-Gm-Gg: ASbGncv7wZZy9wHROKamXN2faDqRHRWnYYCJ+LTXBcX9sgd28gdLhFH/MWbrcjAqa3+
	NUGs86qp5vxbxmEb/BMucb+4BgxMDYFums8JBgOSZBSPbjOMCpnh8yAjeladPNEXVFBB4o8CuWR
	402YeL5p+cGXo6qDBPtaV7InAispbPl+ivQk5HIHSIIHk7oLKqHIYq2t/5u0YW5H5kqIl6asetb
	pI26sOaUMDLYJ+BFne8xVzulE9vvUMzcZL40WoJ3kZL2X0yGyC8gPuULw8F3Jf+uarJaRM2k4Il
	d42pGjF3ewsjHdtZxRPiRn2q2U0Eb1iD7wC3iAxC6r6B1G5WeqEPMSgkhgqIU6RLgieO5E6O/+g
	rbKwzvc/NSnvYUunrmyXZIPM5
X-Google-Smtp-Source: AGHT+IHvE0opfp4owT/k0/vfZ+AgBORwYV/A9YG+T57Es3Dxs3szSsgH+FC84OzC47NHVbYMkMJc0g==
X-Received: by 2002:a5d:6d8c:0:b0:391:952:c728 with SMTP id ffacd0b85a97d-39132d77544mr12612565f8f.4.1741727566870;
        Tue, 11 Mar 2025 14:12: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 0/8] x86: Drop the vm86 segments selectors from struct cpu_user_regs
Date: Tue, 11 Mar 2025 21:10:35 +0000
Message-Id: <20250311211043.3629696-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 next chunk of work in order to support FRED.

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1711534693
https://cirrus-ci.com/build/6031265616363520

Andrew Cooper (8):
  x86/regs: Fold x86_64/regs.h into it's single includer
  x86/traps: Rework register state printing to use a struct
  x86/traps: Avoid OoB accesses to print the data selectors
  Revert "x86/traps: 'Fix' safety of read_registers() in #DF path"
  x86/domctl: Stop using XLAT_cpu_user_regs()
  x86/pv: Store the data segment selectors outside of cpu_user_regs
  x86/public: Split the struct cpu_user_regs type
  x86: Drop the vm86 segments selectors from struct cpu_user_regs

 xen/arch/x86/cpu/common.c                |  10 +-
 xen/arch/x86/domain.c                    |  96 ++++++++++++------
 xen/arch/x86/domctl.c                    |  42 +++++++-
 xen/arch/x86/include/asm/cpu-user-regs.h |  65 +++++++++++++
 xen/arch/x86/include/asm/current.h       |  11 ++-
 xen/arch/x86/include/asm/domain.h        |   2 +
 xen/arch/x86/include/asm/hvm/hvm.h       |   4 -
 xen/arch/x86/include/asm/regs.h          |  28 ++++--
 xen/arch/x86/include/asm/x86_64/regs.h   |  28 ------
 xen/arch/x86/pv/dom0_build.c             |   6 +-
 xen/arch/x86/traps.c                     |   2 +-
 xen/arch/x86/x86_64/asm-offsets.c        |   2 +-
 xen/arch/x86/x86_64/traps.c              | 119 +++++++++++++----------
 xen/arch/x86/x86_emulate/private.h       |   2 +
 xen/include/public/arch-x86/xen-x86_32.h |   8 ++
 xen/include/public/arch-x86/xen-x86_64.h |   8 ++
 xen/include/public/arch-x86/xen.h        |   6 ++
 xen/include/xlat.lst                     |   2 -
 18 files changed, 301 insertions(+), 140 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/cpu-user-regs.h
 delete mode 100644 xen/arch/x86/include/asm/x86_64/regs.h

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909299.1316300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uE-0000pv-4S; Tue, 11 Mar 2025 21:12:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909299.1316300; Tue, 11 Mar 2025 21:12: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 1ts6uD-0000pD-UJ; Tue, 11 Mar 2025 21:12:53 +0000
Received: by outflank-mailman (input) for mailman id 909299;
 Tue, 11 Mar 2025 21:12: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uC-0008Uq-DK
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12: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 9793e51b-febd-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 22:12:51 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3913d129c1aso194570f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:51 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 9793e51b-febd-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727571; x=1742332371; 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=yybFEmxc//5qe7pG1An7XfQn4aBdIa5c65oR7D6eBis=;
        b=Qj0hWsP/dxiMpFwZISivLk3HDLjLZDFTpeZP5c/nBO/+DjMPi0N+FTUEzk+o/fzuDz
         whTjEAMPgs3VzS6crBat7W1nnHFlu+kofLIAl/i1GXSjl1sOwa3kFMhengrhqX++oPtN
         ZIR+JLLfOuOENf8KJrfqOOcSU1nTIDM5vNc1E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727571; x=1742332371;
        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=yybFEmxc//5qe7pG1An7XfQn4aBdIa5c65oR7D6eBis=;
        b=GQOl9+my7RAslyEqF8gKER7p2WNnnw3d5lF8oN3nMJRR13HRlEpRjulp2wyOdn7XLE
         OH0nN6L4qdc3yHnlMT3tggpT8/ioWHNYCvTQQxzCgdZivDRsfyL5z/ti3jxOzL7/vWXt
         J1Pqk7o6poKP+Tiyu7YWo7V3ryjnNTdshumkiPvWA5sfyaKXOyIdnKG4o9GZo4y3bZyd
         qTcGoLpSGKLZMr8clbYIWoyjecj2f6TMog1PlLqb/JIXP0WwbEgy/DQhYHZunGA6OzsO
         5Djz1JxXcDmFqMkJrPeQT9M54FXOyALt85pCk+yzR+gt2IXqyuo8Gn9lTqZE2OiUIo4s
         QHXA==
X-Gm-Message-State: AOJu0YyVrjX6NM9H41y3nglycb57bMNbFF+1JLBOMhknLRAcywmugiDj
	ylfBBEU7+LZg/KcK9zH2xy70tqxarcEYR9R0F9Z1Oyord26f/S9MzLmL6fnwBCHJIshlxk2kf+L
	R
X-Gm-Gg: ASbGncvseYdqUyPPnuLDzxHpNb/6ihadS7/F5vuC/9TaiKFq74sqBPgWBTTsJX3ahPE
	K2t8OX0+WolgKcWWZjUnX9HV3t27XhvxTL7fHqDfyeULdrpRBLwmvFku+UMADawww+/aOfea1/A
	lAow63xIHy3MBwZ8pmoEbVJ0zFCcUF5U+JhLaVbn17EXNxZtfZRlYJMeoPk0NHePSOaM1VXnAkH
	j2IwY4sTYRshM2UGEyv4LSjd035Nfw0U6UjtY9O5RS4tIwCXmZoMR2Jipp9tO+bQjFjOduTzHbR
	JF/n4bgsnCC8A3Aek3IxcAoaGm75ntyC+lF0D5za+UFR/f+hIBFeXO+jhdqRGCXKwPfD4onaFAL
	o5TBLbWswJy/daxpfp8hVLci1
X-Google-Smtp-Source: AGHT+IGK6wZWF07oLD3Yx2YrNLBvLapG2HLiF0ZbCjlm5KSKloOuGhrTSAzr/9emni6uPWQYPRt5GA==
X-Received: by 2002:a05:6000:1f8e:b0:390:ff84:532b with SMTP id ffacd0b85a97d-3926c3b8b43mr5066827f8f.7.1741727571110;
        Tue, 11 Mar 2025 14:12: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 4/8] Revert "x86/traps: 'Fix' safety of read_registers() in #DF path"
Date: Tue, 11 Mar 2025 21:10:39 +0000
Message-Id: <20250311211043.3629696-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This reverts commit 6065a05adf152a556fb9f11a5218c89e41b62893.

The discussed "proper fix" has now been implemented, and the #DF path no
longer writes out-of-bounds.  Restore the proper #DF IST pointer.

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

Only 5 years late...
---
 xen/arch/x86/cpu/common.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index e8d4ca3203be..b934ce7ca487 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -847,13 +847,7 @@ void load_system_tables(void)
 	tss->ist[IST_MCE - 1] = stack_top + (1 + IST_MCE) * PAGE_SIZE;
 	tss->ist[IST_NMI - 1] = stack_top + (1 + IST_NMI) * PAGE_SIZE;
 	tss->ist[IST_DB  - 1] = stack_top + (1 + IST_DB)  * PAGE_SIZE;
-	/*
-	 * Gross bodge.  The #DF handler uses the vm86 fields of cpu_user_regs
-	 * beyond the hardware frame.  Adjust the stack entrypoint so this
-	 * doesn't manifest as an OoB write which hits the guard page.
-	 */
-	tss->ist[IST_DF  - 1] = stack_top + (1 + IST_DF)  * PAGE_SIZE -
-		(sizeof(struct cpu_user_regs) - offsetof(struct cpu_user_regs, es));
+	tss->ist[IST_DF  - 1] = stack_top + (1 + IST_DF)  * PAGE_SIZE;
 	tss->bitmap = IOBMP_INVALID_OFFSET;
 
 	/* All other stack pointers poisioned. */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909297.1316284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uC-0000XY-J6; Tue, 11 Mar 2025 21:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909297.1316284; Tue, 11 Mar 2025 21:12: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 1ts6uC-0000XP-FU; Tue, 11 Mar 2025 21:12:52 +0000
Received: by outflank-mailman (input) for mailman id 909297;
 Tue, 11 Mar 2025 21:12: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uB-0008Uq-D9
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:51 +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 96d77c12-febd-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 22:12:50 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so2403710f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:50 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 96d77c12-febd-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727570; x=1742332370; 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=UiR2XpbypvshRbRNfBioPM8wWuD1cIjIcqBLxXLhlGE=;
        b=ea4HZ0jUAA8Hr1Yq+ZGyUuuGbpQTfF1+rCRj800IzG+er75qgHhpkGEGVsnozSE/lj
         NyypmMXtPaTJZx2hflmhF9MbdoNmR4KQOLqrxxrWjYaLLoxATSo3xRGdcS0kS2cTyKdq
         3NyvYoscqhwjnURCciJJ4hFGUjrbq+/JAt2q4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727570; x=1742332370;
        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=UiR2XpbypvshRbRNfBioPM8wWuD1cIjIcqBLxXLhlGE=;
        b=Q1bW4lWxFkdpoxZmtNg/+SM1e2FmT5fKnRn/mwSl57MC4hhpnntJ8gkzf8S8o3QbFC
         SV8DJqtypswc+7GLEsfeqw8qplryBs/NxiwC/pwvNLGNx4rzuPsWQVMsJ3YCxFtwjSF3
         DOIZvfETXe2V3xzlJQXTLi5qx8TuazONDSIjaQhwdLW8LOslsyXYHx9oI3pH4/YFFpCa
         rT8T3T+UvN2xaeJ01S8iNQzO8CJhejJYL2OfeXnQaDbFxE1iPj1/qYvu9Znyr5KAFaXk
         1r9TQKvhNLX13ciIU1wKFsr3bcFMj3FHPfyPUD0A2ndm9tDHXCQN9dxvf8OA8CHNn/F1
         GHjQ==
X-Gm-Message-State: AOJu0Yz2gf/7EduHmTPhbdgP6VbF2rYeMElie/lEZMkqWp2I6+hGYowB
	5ZJNs3+r767BmIBfnzSMxKcE1C0tNAsXs7wrnLQxucyMphF0L4BcmZfJx3z6/CHza8iNYmdMgRJ
	g
X-Gm-Gg: ASbGncs88ew1grFNlcQY25wSNXU0+JI1JJ+OL3ZIA+7WXxxTBjhHRY/jV5t6373WhIf
	znT3D3a/1pCXX6fNS9gy2oL9S7ZAF5X5ec9xh5xSnzSH0BbAbb6QSgv3yWFsGR5KjXOU88SqS/K
	yIbNmK6aU2CiGUSdagKcJ9DP3N9V6AFBCCkFCvv8YK6CKEY5Ci/n+PB00DPVoYRPxwSXsI509tt
	Y46FaczlwZR04CgTBre9UAmAPF1Q+eiE+gXhExPXb84eOCNq61ScunwUHypysvAp3t/Ghoekw29
	Q4fGDRJwA7m98xslYmdPbIVUjIfZwjLhlakyDaCg8sHBdnCnGKAxjYrdDcno9ZSlngc4orY5weR
	fUS0uZXEbENC5sJJRvxqd5IBvSRodsbKLqr0=
X-Google-Smtp-Source: AGHT+IEksX+aXkXkg07Um+9mSO9nX2sNvAhlsA7pWNcI+p2ZNrCqDLY4p05fIO2bIMnjr9gY6I/uEg==
X-Received: by 2002:a5d:64aa:0:b0:390:e853:85bd with SMTP id ffacd0b85a97d-39132db1108mr16961540f8f.48.1741727569762;
        Tue, 11 Mar 2025 14:12: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>
Subject: [PATCH 3/8] x86/traps: Avoid OoB accesses to print the data selectors
Date: Tue, 11 Mar 2025 21:10:38 +0000
Message-Id: <20250311211043.3629696-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

_show_registers() prints the data selectors from struct cpu_user_regs, but
these fields are sometimes out-of-bounds.  See commit 6065a05adf15
("x86/traps: 'Fix' safety of read_registers() in #DF path").

There are 3 callers of _show_registers():

 1. vcpu_show_registers(), which always operates on a scheduled-out vCPU,
    where v->arch.user_regs (or aux_regs on the stack) is always in-bounds.

 2. show_registers() where regs is always an on-stack frame.  regs is copied
    into a local variable first (which is an OoB read for constructs such as
    WARN()), before being modified (so no OoB write).

 3. do_double_fault(), where regs is adjacent to the stack guard page, and
    written into directly.  This is an out of bounds read and write, with a
    bodge to avoid the writes hitting the guard page.

Include the data segment selectors in struct extra_state, and use those fields
instead of the fields in regs.  This resolves the OoB write on the #DF path.

Resolve the OoB read in show_registers() by doing a partial memcpy() rather
than full structure copy.  This is temporary until we've finished untangling
the vm86 fields fully.

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/x86_64/traps.c | 39 +++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index 01b4f0623282..23622cdb1440 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -27,6 +27,7 @@ struct extra_state
 {
     unsigned long cr0, cr2, cr3, cr4;
     unsigned long fsb, gsb, gss;
+    uint16_t ds, es, fs, gs;
 };
 
 static void print_xen_info(void)
@@ -40,18 +41,21 @@ static void print_xen_info(void)
 
 enum context { CTXT_hypervisor, CTXT_pv_guest, CTXT_hvm_guest };
 
-static void read_registers(struct cpu_user_regs *regs, struct extra_state *state)
+static void read_registers(struct extra_state *state)
 {
     state->cr0 = read_cr0();
     state->cr2 = read_cr2();
     state->cr3 = read_cr3();
     state->cr4 = read_cr4();
 
-    read_sregs(regs);
-
     state->fsb = read_fs_base();
     state->gsb = read_gs_base();
     state->gss = read_gs_shadow();
+
+    asm ( "mov %%ds, %0" : "=m" (state->ds) );
+    asm ( "mov %%es, %0" : "=m" (state->es) );
+    asm ( "mov %%fs, %0" : "=m" (state->fs) );
+    asm ( "mov %%gs, %0" : "=m" (state->gs) );
 }
 
 static void get_hvm_registers(struct vcpu *v, struct cpu_user_regs *regs,
@@ -68,17 +72,17 @@ static void get_hvm_registers(struct vcpu *v, struct cpu_user_regs *regs,
     regs->cs = sreg.sel;
 
     hvm_get_segment_register(v, x86_seg_ds, &sreg);
-    regs->ds = sreg.sel;
+    state->ds = sreg.sel;
 
     hvm_get_segment_register(v, x86_seg_es, &sreg);
-    regs->es = sreg.sel;
+    state->es = sreg.sel;
 
     hvm_get_segment_register(v, x86_seg_fs, &sreg);
-    regs->fs = sreg.sel;
+    state->fs = sreg.sel;
     state->fsb = sreg.base;
 
     hvm_get_segment_register(v, x86_seg_gs, &sreg);
-    regs->gs = sreg.sel;
+    state->gs = sreg.sel;
     state->gsb = sreg.base;
 
     hvm_get_segment_register(v, x86_seg_ss, &sreg);
@@ -124,17 +128,23 @@ static void _show_registers(
            state->fsb, state->gsb, state->gss);
     printk("ds: %04x   es: %04x   fs: %04x   gs: %04x   "
            "ss: %04x   cs: %04x\n",
-           regs->ds, regs->es, regs->fs,
-           regs->gs, regs->ss, regs->cs);
+           state->ds, state->es, state->fs,
+           state->gs, regs->ss, regs->cs);
 }
 
 void show_registers(const struct cpu_user_regs *regs)
 {
-    struct cpu_user_regs fault_regs = *regs;
+    struct cpu_user_regs fault_regs;
     struct extra_state fault_state;
     enum context context;
     struct vcpu *v = system_state >= SYS_STATE_smp_boot ? current : NULL;
 
+    /*
+     * Don't read beyond the end of the hardware frame.  It is out of bounds
+     * for WARN()/etc.
+     */
+    memcpy(&fault_regs, regs, offsetof(struct cpu_user_regs, es));
+
     if ( guest_mode(regs) && is_hvm_vcpu(v) )
     {
         get_hvm_registers(v, &fault_regs, &fault_state);
@@ -142,7 +152,7 @@ void show_registers(const struct cpu_user_regs *regs)
     }
     else
     {
-        read_registers(&fault_regs, &fault_state);
+        read_registers(&fault_state);
 
         if ( guest_mode(regs) )
         {
@@ -209,6 +219,11 @@ void vcpu_show_registers(struct vcpu *v)
         state.gsb = gsb;
         state.gss = gss;
 
+        state.ds = v->arch.user_regs.ds;
+        state.es = v->arch.user_regs.es;
+        state.fs = v->arch.user_regs.fs;
+        state.gs = v->arch.user_regs.gs;
+
         context = CTXT_pv_guest;
     }
 
@@ -291,7 +306,7 @@ void asmlinkage do_double_fault(struct cpu_user_regs *regs)
     printk("*** DOUBLE FAULT ***\n");
     print_xen_info();
 
-    read_registers(regs, &state);
+    read_registers(&state);
 
     printk("CPU:    %d\n", cpu);
     _show_registers(regs, &state, CTXT_hypervisor, NULL);
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909301.1316323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uG-0001Xc-PM; Tue, 11 Mar 2025 21:12:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909301.1316323; Tue, 11 Mar 2025 21:12: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 1ts6uG-0001XB-Lc; Tue, 11 Mar 2025 21:12:56 +0000
Received: by outflank-mailman (input) for mailman id 909301;
 Tue, 11 Mar 2025 21: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uF-0008Uq-Eb
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:55 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 995413d1-febd-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 22:12:54 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so1463345e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:54 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 995413d1-febd-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727574; x=1742332374; 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=NAtTpo8KH5ZdCgDPrWpHEeo3BLVM30dQttgId7v1Tq0=;
        b=p8OjYOowWQgfPjVC0rfrPG4rSUM1ul8Qwv8SixxBguaUSx9ifZaSvyTQLQ6Jf3jDo0
         35mVXhP1oqJVqQQ/lf/jKT6p5IutAs+Crg4uSsChPbRCndlxsLECakcNUZ8c9/IkFmrU
         8oZ1QDOnnqhy/1XG9m5D7j8+Yr1Qpc2KSyzOs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727574; x=1742332374;
        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=NAtTpo8KH5ZdCgDPrWpHEeo3BLVM30dQttgId7v1Tq0=;
        b=e3TFIiS0l6vYdCNSjrXrzUnE1w48jvOMqGbVThYpWPReNQRQbns6VTP0EqMoyTmS+7
         IEu72sG7PD4mtpsfDQL2P636lR4WDSQFx+pd6HmuiUjggnAqusKkoj0Bc/QOd8v6CkN5
         y/8XTe70ILc4LdntDX4FH/ILj15S/NDs02Nq8yAWtguNPYvFvym8+ApW/oJOAslytgKO
         1AhvMdq6rASWvkE8LMVYs+uySJw8rnRSbhucJXreVHj4Tk5yFFPvgsQJrL7LuXBBqOnb
         pPASFVPIjfdZ2QhN0S2yXQGWx3eWKt44T3o2ya+rlMn+D0TgmhXTDqGgx1bbLhHX86Rw
         mmTA==
X-Gm-Message-State: AOJu0YyvUr8y2cuYgdO3gvAF6pdwq/y9DbaUXZHu20hUUju+NJB3KXvd
	Tvqmy7FoKzTSkA3xFggZAK3rGy2hvBwCsxB8BnRQr49iHq3Uhu6mzVw8kvpAKMxxZk5Pm1b8Ob4
	n
X-Gm-Gg: ASbGncsFXvYs9cPCu6kfYa/EvfRqSWROBiT5U+leF7sYqmWyem58e3rWnhHv/twMZra
	X7HqXGpJnVWrdYtqINEoB25rZDPBjuGnq29hZyU4QjlpgtyDXnodpW1j56FVPRgjy7XaZEm19Rf
	WAhiryLtQBJbFe57tcO1ECZ1rYtaIijxZJaoCqPkRBKR0mkGuXfPROzFWrYnfT8t0ufMEDfavjL
	MBmsRVl2tNv+6WPfDbByeMyw2EFVP692a/8PldMnsBxKcDU09VQPKYBBU+rby+7l8c8mI8s7CDc
	ZOUsDLn1El2plHwgaR2DdtG4pMJEMvkXx3WL+ImFGoQUhIZvV9g0pe5YmrwXndewMZvnqvWNFAK
	VTTkSt8xFx4NhOsdCWaPNUgyc
X-Google-Smtp-Source: AGHT+IHsWfSRfuAMivDIwLvlJJIaz7ykB32KoN0VA83oPOE7JV3fL2q8AIh/7qFxYjs79LGwjeHuaA==
X-Received: by 2002:a5d:5f82:0:b0:38d:b12f:60d1 with SMTP id ffacd0b85a97d-3926d5ef561mr5495427f8f.26.1741727574005;
        Tue, 11 Mar 2025 14:12: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 7/8] x86/public: Split the struct cpu_user_regs type
Date: Tue, 11 Mar 2025 21:10:42 +0000
Message-Id: <20250311211043.3629696-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In order to support FRED, we're going to have to remove the {ds..gs} fields
from struct cpu_user_regs, meaning that it is going to have to become a
different type to the structure embedded in vcpu_guest_context_u.

struct cpu_user_regs is a name used in common Xen code (i.e. needs to stay
using this name), so renaming the public struct to be guest_user_regs in Xen's
view only.

Introduce a brand hew cpu-user-regs.h, currently containing a duplicate
structure.  This removes the need for current.h to include public/xen.h, and
highlights a case where the emulator was picking up cpu_user_regs
transitively.

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>

Jan: Is this what you intended?

cpu_user_regs_t and the guest handle don't seem to be used anywhere.  I'm
tempted to exclude them from Xen builds.
---
 xen/arch/x86/include/asm/cpu-user-regs.h | 69 ++++++++++++++++++++++++
 xen/arch/x86/include/asm/current.h       |  3 +-
 xen/arch/x86/x86_emulate/private.h       |  2 +
 xen/include/public/arch-x86/xen-x86_32.h |  8 +++
 xen/include/public/arch-x86/xen-x86_64.h |  8 +++
 xen/include/public/arch-x86/xen.h        |  6 +++
 6 files changed, 95 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/x86/include/asm/cpu-user-regs.h

diff --git a/xen/arch/x86/include/asm/cpu-user-regs.h b/xen/arch/x86/include/asm/cpu-user-regs.h
new file mode 100644
index 000000000000..845b41a22ef2
--- /dev/null
+++ b/xen/arch/x86/include/asm/cpu-user-regs.h
@@ -0,0 +1,69 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef X86_CPU_USER_REGS_H
+#define X86_CPU_USER_REGS_H
+
+#define DECL_REG_LOHI(which) union { \
+    uint64_t r ## which ## x; \
+    uint32_t e ## which ## x; \
+    uint16_t which ## x; \
+    struct { \
+        uint8_t which ## l; \
+        uint8_t which ## h; \
+    }; \
+}
+#define DECL_REG_LO8(name) union { \
+    uint64_t r ## name; \
+    uint32_t e ## name; \
+    uint16_t name; \
+    uint8_t name ## l; \
+}
+#define DECL_REG_LO16(name) union { \
+    uint64_t r ## name; \
+    uint32_t e ## name; \
+    uint16_t name; \
+}
+#define DECL_REG_HI(num) union { \
+    uint64_t r ## num; \
+    uint32_t r ## num ## d; \
+    uint16_t r ## num ## w; \
+    uint8_t r ## num ## b; \
+}
+
+struct cpu_user_regs
+{
+    DECL_REG_HI(15);
+    DECL_REG_HI(14);
+    DECL_REG_HI(13);
+    DECL_REG_HI(12);
+    DECL_REG_LO8(bp);
+    DECL_REG_LOHI(b);
+    DECL_REG_HI(11);
+    DECL_REG_HI(10);
+    DECL_REG_HI(9);
+    DECL_REG_HI(8);
+    DECL_REG_LOHI(a);
+    DECL_REG_LOHI(c);
+    DECL_REG_LOHI(d);
+    DECL_REG_LO8(si);
+    DECL_REG_LO8(di);
+    uint32_t error_code;
+    uint32_t entry_vector;
+    DECL_REG_LO16(ip);
+    uint16_t cs, _pad0[1];
+    uint8_t  saved_upcall_mask;
+    uint8_t  _pad1[3];
+    DECL_REG_LO16(flags); /* rflags.IF == !saved_upcall_mask */
+    DECL_REG_LO8(sp);
+    uint16_t ss, _pad2[3];
+    uint16_t es, _pad3[3];
+    uint16_t ds, _pad4[3];
+    uint16_t fs, _pad5[3];
+    uint16_t gs, _pad6[3];
+};
+
+#undef DECL_REG_HI
+#undef DECL_REG_LO16
+#undef DECL_REG_LO8
+#undef DECL_REG_LOHI
+
+#endif /* X86_CPU_USER_REGS_H */
diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index bcec328c9875..243d17ef79fd 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -9,7 +9,8 @@
 
 #include <xen/percpu.h>
 #include <xen/page-size.h>
-#include <public/xen.h>
+
+#include <asm/cpu-user-regs.h>
 
 /*
  * Xen's cpu stacks are 8 pages (8-page aligned), arranged as:
diff --git a/xen/arch/x86/x86_emulate/private.h b/xen/arch/x86/x86_emulate/private.h
index ef4745f56e27..dde4d3e3ccef 100644
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -10,6 +10,8 @@
 
 # include <xen/bug.h>
 # include <xen/kernel.h>
+
+# include <asm/cpu-user-regs.h>
 # include <asm/endbr.h>
 # include <asm/msr-index.h>
 # include <asm/x86-vendors.h>
diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h
index 9e3bf06b121e..cd21438ab12b 100644
--- a/xen/include/public/arch-x86/xen-x86_32.h
+++ b/xen/include/public/arch-x86/xen-x86_32.h
@@ -114,6 +114,10 @@
 #define __DECL_REG_LO16(name) uint32_t e ## name
 #endif
 
+#ifdef __XEN__
+#define cpu_user_regs guest_user_regs
+#endif
+
 struct cpu_user_regs {
     __DECL_REG_LO8(b);
     __DECL_REG_LO8(c);
@@ -139,6 +143,10 @@ struct cpu_user_regs {
 typedef struct cpu_user_regs cpu_user_regs_t;
 DEFINE_XEN_GUEST_HANDLE(cpu_user_regs_t);
 
+#ifdef __XEN__
+#undef cpu_user_regs
+#endif
+
 #undef __DECL_REG_LO8
 #undef __DECL_REG_LO16
 
diff --git a/xen/include/public/arch-x86/xen-x86_64.h b/xen/include/public/arch-x86/xen-x86_64.h
index 43f6e3d22001..4388e20eaf49 100644
--- a/xen/include/public/arch-x86/xen-x86_64.h
+++ b/xen/include/public/arch-x86/xen-x86_64.h
@@ -159,6 +159,10 @@ struct iret_context {
 #define __DECL_REG_HI(num)    uint64_t r ## num
 #endif
 
+#ifdef __XEN__
+#define cpu_user_regs guest_user_regs
+#endif
+
 struct cpu_user_regs {
     __DECL_REG_HI(15);
     __DECL_REG_HI(14);
@@ -192,6 +196,10 @@ struct cpu_user_regs {
 typedef struct cpu_user_regs cpu_user_regs_t;
 DEFINE_XEN_GUEST_HANDLE(cpu_user_regs_t);
 
+#ifdef __XEN__
+#undef cpu_user_regs
+#endif
+
 #undef __DECL_REG
 #undef __DECL_REG_LOHI
 #undef __DECL_REG_LO8
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index fc2487986642..3b0fd05432f4 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -173,7 +173,13 @@ struct vcpu_guest_context {
 #define _VGCF_online                   5
 #define VGCF_online                    (1<<_VGCF_online)
     unsigned long flags;                    /* VGCF_* flags                 */
+
+#ifdef __XEN__
+    struct guest_user_regs user_regs;       /* User-level CPU registers     */
+#else
     struct cpu_user_regs user_regs;         /* User-level CPU registers     */
+#endif
+
     struct trap_info trap_ctxt[256];        /* Virtual IDT                  */
     unsigned long ldt_base, ldt_ents;       /* LDT (linear address, # ents) */
     unsigned long gdt_frames[16], gdt_ents; /* GDT (machine frames, # ents) */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909302.1316330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uH-0001az-8c; Tue, 11 Mar 2025 21:12:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909302.1316330; Tue, 11 Mar 2025 21:12: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 1ts6uG-0001a1-Tz; Tue, 11 Mar 2025 21:12:56 +0000
Received: by outflank-mailman (input) for mailman id 909302;
 Tue, 11 Mar 2025 21:12: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uF-0008V9-Ct
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:55 +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 98957bdf-febd-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:12:53 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43bb6b0b898so51036345e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:53 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 98957bdf-febd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727573; x=1742332373; 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=HFrngM1TgUNgBBj30oxGvF9xc2D1FyOkZS0ffbcsnNo=;
        b=ZCmh4i4JgAKTo1LHKdU6uMR9gNlEoE8oBaT53eeKw20Se9LYK3B9FEO412staOOBgT
         fLaFItscMaVoGKKoZOJktK+2wJwqTF9kQrQUt+OJkZnOP3kSRJ3+PAbRva2yJMM3ADKI
         cP1BCgT3LpoOnvT0lSKJhU7U2naJPYuplq67Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727573; x=1742332373;
        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=HFrngM1TgUNgBBj30oxGvF9xc2D1FyOkZS0ffbcsnNo=;
        b=r64FFSn55FZuZjEF+T96U0lBJmnrHi/vdeHsGeGusGIF8KzzL8oD2tpJXU4amZbyqn
         JuEcW/caAar7ikqdhfzKkojE7c4OGSirWy4WJQFfFZAaUfvFxon3DvonuBXi5/aecoqb
         hQF0uRHn8fVuyEvbqC7gtjb/ZyT0a5EOLREoe4YzvxZ6b5+YOO5+4JRfp3Uhas5w1R/K
         8vK+iZRHPCMv8+JjWMCVPIlP3ssBdYjcD2B/33NqjDCNlxd44LRyWNyFYGUI2z525W5m
         k/xKviBqn10CVKB6wIDITrUj/3j5hK/JHhBer65HLKGs9kmWdigtBA2jmMUVe/2VYPXU
         btkg==
X-Gm-Message-State: AOJu0YxzWnqalK50v2E28C0C6xyn+Uenc8a3efAb/XtlRmjbZ/s2LB/Z
	ko0KEXMjUIkWNDaKz0vG1obISWsmlkBu53VGMFKAWHMn0iYO4neq8IRZELdxC6pACLmHwWyfbGI
	R
X-Gm-Gg: ASbGncvrfiL546OWVZxWYJutbdDL8WHSVyMbKyGyZkT0is517Rbzb5zQru94jMMO1eS
	FOzTeFkdrcA4fGdSMOY+4qt1I9AQry9PSF6+wdPxKqjV61nWGxBnLNhIxq9BU5wmI2vWs7gIbHi
	RY7ns0za9dTganjHk2QyEYXTAV3+tiqLIsGACF2vwT4xIpoNNs0FJUmdPOzeRd3k59hsJ77k5wm
	P2PiR6W/2itRdmvBDXH4xYCVWc0pdIncuPsqk2lk/tsl8uOi0rBIqlKATlQXoxcrteWhzCxYF1u
	Y8LB5vMWK6/WCPlTB/BFqCuMFfn/TwgQfLRVYTTFWxf494Yt8KR2EjecH/Z20AJ9AW7SGMQmPun
	kUDmA5/r26tGJjOYnmBd7XGuO
X-Google-Smtp-Source: AGHT+IHLu90I7Oxb9f9B2V1ljG4U7asaIi+yb+uqAksLnpE42DOph4w9vUxKd6hge8kToyDbSdwnEg==
X-Received: by 2002:a05:6000:1885:b0:390:fbdd:994d with SMTP id ffacd0b85a97d-39264694d6bmr6113045f8f.27.1741727572721;
        Tue, 11 Mar 2025 14:12: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 6/8] x86/pv: Store the data segment selectors outside of cpu_user_regs
Date: Tue, 11 Mar 2025 21:10:41 +0000
Message-Id: <20250311211043.3629696-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In order to support FRED, we're going to have to remove the {ds..gs} fields
from struct cpu_user_regs.  This will impact v->arch.user_regs.

These fields are unused for HVM guests, but for PV hold the selector values
when the vCPU is scheduled out.

Introduce new fields for the selectors in struct pv_vcpu, and update:

 * {save,load}_segments(), context switching
 * arch_{set,set}_info_guest(), hypercalls
 * vcpu_show_registers(), diagnostics
 * dom0_construct(), PV dom0

to use the new storage.  This removes the final user of read_sregs() so drop
it too.

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             | 70 +++++++++++++++----------------
 xen/arch/x86/domctl.c             | 16 +++----
 xen/arch/x86/include/asm/domain.h |  2 +
 xen/arch/x86/include/asm/regs.h   |  8 ----
 xen/arch/x86/pv/dom0_build.c      |  6 ++-
 xen/arch/x86/x86_64/traps.c       |  8 ++--
 6 files changed, 53 insertions(+), 57 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index bc0816c71495..e9c331be6f63 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1211,10 +1211,10 @@ int arch_set_info_guest(
         v->arch.user_regs.rflags            = c.nat->user_regs.rflags;
         v->arch.user_regs.rsp               = c.nat->user_regs.rsp;
         v->arch.user_regs.ss                = c.nat->user_regs.ss;
-        v->arch.user_regs.es                = c.nat->user_regs.es;
-        v->arch.user_regs.ds                = c.nat->user_regs.ds;
-        v->arch.user_regs.fs                = c.nat->user_regs.fs;
-        v->arch.user_regs.gs                = c.nat->user_regs.gs;
+        v->arch.pv.es                       = c.nat->user_regs.es;
+        v->arch.pv.ds                       = c.nat->user_regs.ds;
+        v->arch.pv.fs                       = c.nat->user_regs.fs;
+        v->arch.pv.gs                       = c.nat->user_regs.gs;
 
         if ( is_pv_domain(d) )
             memcpy(v->arch.pv.trap_ctxt, c.nat->trap_ctxt,
@@ -1238,10 +1238,10 @@ int arch_set_info_guest(
         v->arch.user_regs.eflags            = c.cmp->user_regs.eflags;
         v->arch.user_regs.esp               = c.cmp->user_regs.esp;
         v->arch.user_regs.ss                = c.cmp->user_regs.ss;
-        v->arch.user_regs.es                = c.cmp->user_regs.es;
-        v->arch.user_regs.ds                = c.cmp->user_regs.ds;
-        v->arch.user_regs.fs                = c.cmp->user_regs.fs;
-        v->arch.user_regs.gs                = c.cmp->user_regs.gs;
+        v->arch.pv.es                       = c.nat->user_regs.es;
+        v->arch.pv.ds                       = c.nat->user_regs.ds;
+        v->arch.pv.fs                       = c.nat->user_regs.fs;
+        v->arch.pv.gs                       = c.nat->user_regs.gs;
 
         if ( is_pv_domain(d) )
         {
@@ -1729,7 +1729,6 @@ long do_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
  */
 static void load_segments(struct vcpu *n)
 {
-    struct cpu_user_regs *uregs = &n->arch.user_regs;
     unsigned long gsb = 0, gss = 0;
     bool compat = is_pv_32bit_vcpu(n);
     bool all_segs_okay = true, fs_gs_done = false;
@@ -1762,7 +1761,7 @@ static void load_segments(struct vcpu *n)
         if ( !(n->arch.flags & TF_kernel_mode) )
             SWAP(gsb, gss);
 
-        if ( using_svm() && (uregs->fs | uregs->gs) <= 3 )
+        if ( using_svm() && (n->arch.pv.fs | n->arch.pv.gs) <= 3 )
             fs_gs_done = svm_load_segs(n->arch.pv.ldt_ents, LDT_VIRT_START(n),
                                        n->arch.pv.fs_base, gsb, gss);
     }
@@ -1771,12 +1770,12 @@ static void load_segments(struct vcpu *n)
     {
         load_LDT(n);
 
-        TRY_LOAD_SEG(fs, uregs->fs);
-        TRY_LOAD_SEG(gs, uregs->gs);
+        TRY_LOAD_SEG(fs, n->arch.pv.fs);
+        TRY_LOAD_SEG(gs, n->arch.pv.gs);
     }
 
-    TRY_LOAD_SEG(ds, uregs->ds);
-    TRY_LOAD_SEG(es, uregs->es);
+    TRY_LOAD_SEG(ds, n->arch.pv.ds);
+    TRY_LOAD_SEG(es, n->arch.pv.es);
 
     if ( !fs_gs_done && !compat )
     {
@@ -1829,13 +1828,13 @@ static void load_segments(struct vcpu *n)
             }
 
             if ( ret |
-                 put_guest(rflags,      esp - 1) |
-                 put_guest(cs_and_mask, esp - 2) |
-                 put_guest(regs->eip,   esp - 3) |
-                 put_guest(uregs->gs,   esp - 4) |
-                 put_guest(uregs->fs,   esp - 5) |
-                 put_guest(uregs->es,   esp - 6) |
-                 put_guest(uregs->ds,   esp - 7) )
+                 put_guest(rflags,        esp - 1) |
+                 put_guest(cs_and_mask,   esp - 2) |
+                 put_guest(regs->eip,     esp - 3) |
+                 put_guest(n->arch.pv.gs, esp - 4) |
+                 put_guest(n->arch.pv.fs, esp - 5) |
+                 put_guest(n->arch.pv.es, esp - 6) |
+                 put_guest(n->arch.pv.ds, esp - 7) )
                 domain_crash(n->domain,
                              "Error creating compat failsafe callback frame\n");
 
@@ -1861,17 +1860,17 @@ static void load_segments(struct vcpu *n)
         cs_and_mask = (unsigned long)regs->cs |
             ((unsigned long)vcpu_info(n, evtchn_upcall_mask) << 32);
 
-        if ( put_guest(regs->ss,    rsp -  1) |
-             put_guest(regs->rsp,   rsp -  2) |
-             put_guest(rflags,      rsp -  3) |
-             put_guest(cs_and_mask, rsp -  4) |
-             put_guest(regs->rip,   rsp -  5) |
-             put_guest(uregs->gs,   rsp -  6) |
-             put_guest(uregs->fs,   rsp -  7) |
-             put_guest(uregs->es,   rsp -  8) |
-             put_guest(uregs->ds,   rsp -  9) |
-             put_guest(regs->r11,   rsp - 10) |
-             put_guest(regs->rcx,   rsp - 11) )
+        if ( put_guest(regs->ss,      rsp -  1) |
+             put_guest(regs->rsp,     rsp -  2) |
+             put_guest(rflags,        rsp -  3) |
+             put_guest(cs_and_mask,   rsp -  4) |
+             put_guest(regs->rip,     rsp -  5) |
+             put_guest(n->arch.pv.gs, rsp -  6) |
+             put_guest(n->arch.pv.fs, rsp -  7) |
+             put_guest(n->arch.pv.es, rsp -  8) |
+             put_guest(n->arch.pv.ds, rsp -  9) |
+             put_guest(regs->r11,     rsp - 10) |
+             put_guest(regs->rcx,     rsp - 11) )
             domain_crash(n->domain,
                          "Error creating failsafe callback frame\n");
 
@@ -1900,9 +1899,10 @@ static void load_segments(struct vcpu *n)
  */
 static void save_segments(struct vcpu *v)
 {
-    struct cpu_user_regs *regs = &v->arch.user_regs;
-
-    read_sregs(regs);
+    asm ( "mov %%ds, %0" : "=m" (v->arch.pv.ds) );
+    asm ( "mov %%es, %0" : "=m" (v->arch.pv.es) );
+    asm ( "mov %%fs, %0" : "=m" (v->arch.pv.fs) );
+    asm ( "mov %%gs, %0" : "=m" (v->arch.pv.gs) );
 
     if ( !is_pv_32bit_vcpu(v) )
     {
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 7ab9e9176b58..833fcbd4bbb6 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1414,10 +1414,10 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
         c.nat->user_regs.rflags            = v->arch.user_regs.rflags;
         c.nat->user_regs.rsp               = v->arch.user_regs.rsp;
         c.nat->user_regs.ss                = v->arch.user_regs.ss;
-        c.nat->user_regs.es                = v->arch.user_regs.es;
-        c.nat->user_regs.ds                = v->arch.user_regs.ds;
-        c.nat->user_regs.fs                = v->arch.user_regs.fs;
-        c.nat->user_regs.gs                = v->arch.user_regs.gs;
+        c.nat->user_regs.es                = v->arch.pv.es;
+        c.nat->user_regs.ds                = v->arch.pv.ds;
+        c.nat->user_regs.fs                = v->arch.pv.fs;
+        c.nat->user_regs.gs                = v->arch.pv.gs;
 
         if ( is_pv_domain(d) )
             memcpy(c.nat->trap_ctxt, v->arch.pv.trap_ctxt,
@@ -1441,10 +1441,10 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
         c.cmp->user_regs.eflags            = v->arch.user_regs.eflags;
         c.cmp->user_regs.esp               = v->arch.user_regs.esp;
         c.cmp->user_regs.ss                = v->arch.user_regs.ss;
-        c.cmp->user_regs.es                = v->arch.user_regs.es;
-        c.cmp->user_regs.ds                = v->arch.user_regs.ds;
-        c.cmp->user_regs.fs                = v->arch.user_regs.fs;
-        c.cmp->user_regs.gs                = v->arch.user_regs.gs;
+        c.cmp->user_regs.es                = v->arch.pv.es;
+        c.cmp->user_regs.ds                = v->arch.pv.ds;
+        c.cmp->user_regs.fs                = v->arch.pv.fs;
+        c.cmp->user_regs.gs                = v->arch.pv.gs;
 
         if ( is_pv_domain(d) )
         {
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 5fc1d1e5d01a..7fa409cb3055 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -546,6 +546,8 @@ struct pv_vcpu
     bool syscall32_disables_events;
     bool sysenter_disables_events;
 
+    uint16_t ds, es, fs, gs;
+
     /*
      * 64bit segment bases.
      *
diff --git a/xen/arch/x86/include/asm/regs.h b/xen/arch/x86/include/asm/regs.h
index 4f2f06b60161..c05b9207c281 100644
--- a/xen/arch/x86/include/asm/regs.h
+++ b/xen/arch/x86/include/asm/regs.h
@@ -41,12 +41,4 @@
     __sel;                                           \
 })
 
-static inline void read_sregs(struct cpu_user_regs *regs)
-{
-    asm ( "mov %%ds, %0" : "=m" (regs->ds) );
-    asm ( "mov %%es, %0" : "=m" (regs->es) );
-    asm ( "mov %%fs, %0" : "=m" (regs->fs) );
-    asm ( "mov %%gs, %0" : "=m" (regs->gs) );
-}
-
 #endif /* __X86_REGS_H__ */
diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index 96e28c7b6a77..bcaacc7586c0 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -1020,8 +1020,10 @@ static int __init dom0_construct(struct boot_info *bi, struct domain *d)
      *  [rAX,rBX,rCX,rDX,rDI,rBP,R8-R15 are zero]
      */
     regs = &v->arch.user_regs;
-    regs->ds = regs->es = regs->fs = regs->gs =
-               (compat ? FLAT_COMPAT_KERNEL_DS : FLAT_KERNEL_DS);
+    v->arch.pv.ds = (compat ? FLAT_COMPAT_KERNEL_DS : FLAT_KERNEL_DS);
+    v->arch.pv.es = (compat ? FLAT_COMPAT_KERNEL_DS : FLAT_KERNEL_DS);
+    v->arch.pv.fs = (compat ? FLAT_COMPAT_KERNEL_DS : FLAT_KERNEL_DS);
+    v->arch.pv.gs = (compat ? FLAT_COMPAT_KERNEL_DS : FLAT_KERNEL_DS);
     regs->ss = (compat ? FLAT_COMPAT_KERNEL_SS : FLAT_KERNEL_SS);
     regs->cs = (compat ? FLAT_COMPAT_KERNEL_CS : FLAT_KERNEL_CS);
     regs->rip = parms.virt_entry;
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index 23622cdb1440..cb06f99021d1 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -219,10 +219,10 @@ void vcpu_show_registers(struct vcpu *v)
         state.gsb = gsb;
         state.gss = gss;
 
-        state.ds = v->arch.user_regs.ds;
-        state.es = v->arch.user_regs.es;
-        state.fs = v->arch.user_regs.fs;
-        state.gs = v->arch.user_regs.gs;
+        state.ds = v->arch.pv.ds;
+        state.es = v->arch.pv.es;
+        state.fs = v->arch.pv.fs;
+        state.gs = v->arch.pv.gs;
 
         context = CTXT_pv_guest;
     }
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:12:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:12:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909304.1316343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts6uI-00020o-R9; Tue, 11 Mar 2025 21:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909304.1316343; Tue, 11 Mar 2025 21: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 1ts6uI-0001yw-HH; Tue, 11 Mar 2025 21:12:58 +0000
Received: by outflank-mailman (input) for mailman id 909304;
 Tue, 11 Mar 2025 21: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts6uH-0008V9-Ch
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:12:57 +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 99dc90dc-febd-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:12:55 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43d0782d787so7741045e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:12:55 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfba9sm19480872f8f.39.2025.03.11.14.12.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:12: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: 99dc90dc-febd-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741727575; x=1742332375; 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=ELTmL9+t2/EDs2TC9abOCsUNCvZ0XnggaJfjdGBA0Ow=;
        b=sv6x1b5lRPp3R5QZVsb2eTiHoCifdt1oLZv67tFOledHBnLnxCxVrw39GMMD7Gyp+u
         AopoVyeVZUb08VOF7zmgVz55dG6ekpCgIvR0KPfw+kw4QFDeoesLvZUgg1EEWWk+HnkL
         ESREkNL5DYJBjlAlYk2FhiLIde+l0jFqOcXcc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741727575; x=1742332375;
        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=ELTmL9+t2/EDs2TC9abOCsUNCvZ0XnggaJfjdGBA0Ow=;
        b=FNpjbWxNBFqfCe+1lm8LFc8MzLYnPpnxCYDkMTG+3zqhA3nDnRcgrVQDFp9bxhxVi4
         9X4cExC4/2ZHgX7sZEpfJqkXMfUKAzP/lfTaxwq+C4X4cOL6jsn72RKLwOyKopCntwHU
         oq90puHn8Q/F9ntvK5GvzhRwR/aBrbLJ3/r//OUJUC/odqWsEyTBeLK9VHc1fSjuvLbw
         UlrOpq/x/k385rgYKa/WK9QzUIp8Df+Xr7AA+471LcrLZvAKk6O754P8SDlZNl0BW8r9
         0bRomnjuL6XUAGMQHQrzgu9Y+RakUUogtzIz9OMNCEiqTixMPrq1Zxydo2LicvuFlZWt
         dWJA==
X-Gm-Message-State: AOJu0Yz1GfcKmUSzzFyXvAE3ARMKtOX6Tpj53CoBqU0s4RD2t85yrmdv
	DwEFAdRPyeDiZxDb9ZO1aJf451LSPBHkqEgLZK40QHW+o1v2bRj7B3RVvW+9lQF6OAkBJh38l0l
	S
X-Gm-Gg: ASbGncuh6VBUBxpYKnAq7KRxWdyBfqDWCW/HoLJ4XqjQP8mMOlp8nFnNoz8K/gwe3r3
	iyyR8WEZDkVZ3yQxe9GfbXD1vXKGQy/ZSkqfgervWr+GtIsc1NASrqUX28EooGfCVw6URvWiJTZ
	yMQvmfV0kcrTffPS2B3bN2xmMTdUXAPYIElB+5hDs3uwKPEKosAUEiCnsfmCFiYBGzwtZ1W+XtQ
	/PoUqh7VrUJ19QHvKl77vVwjYqpYo6muV9Q7b4d2iyPUZbwzGlFVwlIJl268af8WTpQwQEGkWGx
	TGju4R+XhVjPm4mQy3DAmDFRMpOIZi1+YNbRH2H6meEBgqknwRRZxL55bq0o/54MVTkaVmFg438
	qXa0Tqv7H4OFG+QoIQXyNnZfd
X-Google-Smtp-Source: AGHT+IHrlMMVED2OGhb/bvwgeOVR+uJmOwxEzLT1GTo4/e+macMG8RVTwXUyCSFe7YtaPlSC/PlVSw==
X-Received: by 2002:a5d:6d8a:0:b0:391:12a5:3cb3 with SMTP id ffacd0b85a97d-39132d2af8bmr15755406f8f.3.1741727574848;
        Tue, 11 Mar 2025 14:12: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 8/8] x86: Drop the vm86 segments selectors from struct cpu_user_regs
Date: Tue, 11 Mar 2025 21:10:43 +0000
Message-Id: <20250311211043.3629696-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The data segment registers are part of the on-stack IRET frame when
interrupting Virtual 8086 mode, but this ceased being relevant for Xen in
commit 5d1181a5ea5e ("xen: Remove x86_32 build target.") in 2012.

With all other cleanup in place, delete the fields so we can introduce FRED
support which uses this space for different data.

Everywhere which used the es field as an offset in cpu_user_regs needs
adjusting.  However, they'll change again for FRED, so no cleanup is performed
at this juncture.

This also undoes the OoB Read workaround in show_registers(), which can now
switch back to being simple structure copy.

No functional change, but a lot of rearranging of stack and struct layout
under the hood.

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/common.c                | 2 +-
 xen/arch/x86/include/asm/cpu-user-regs.h | 4 ----
 xen/arch/x86/include/asm/current.h       | 8 ++++----
 xen/arch/x86/include/asm/hvm/hvm.h       | 4 ----
 xen/arch/x86/include/asm/regs.h          | 3 +--
 xen/arch/x86/traps.c                     | 2 +-
 xen/arch/x86/x86_64/asm-offsets.c        | 2 +-
 xen/arch/x86/x86_64/traps.c              | 8 +-------
 8 files changed, 9 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index b934ce7ca487..654f847e1f8c 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -917,7 +917,7 @@ void load_system_tables(void)
 	 * Defer checks until exception support is sufficiently set up.
 	 */
 	BUILD_BUG_ON((sizeof(struct cpu_info) -
-		      offsetof(struct cpu_info, guest_cpu_user_regs.es)) & 0xf);
+		      sizeof(struct cpu_user_regs)) & 0xf);
 	BUG_ON(system_state != SYS_STATE_early_boot && (stack_bottom & 0xf));
 }
 
diff --git a/xen/arch/x86/include/asm/cpu-user-regs.h b/xen/arch/x86/include/asm/cpu-user-regs.h
index 845b41a22ef2..c4cc8640c23f 100644
--- a/xen/arch/x86/include/asm/cpu-user-regs.h
+++ b/xen/arch/x86/include/asm/cpu-user-regs.h
@@ -55,10 +55,6 @@ struct cpu_user_regs
     DECL_REG_LO16(flags); /* rflags.IF == !saved_upcall_mask */
     DECL_REG_LO8(sp);
     uint16_t ss, _pad2[3];
-    uint16_t es, _pad3[3];
-    uint16_t ds, _pad4[3];
-    uint16_t fs, _pad5[3];
-    uint16_t gs, _pad6[3];
 };
 
 #undef DECL_REG_HI
diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index 243d17ef79fd..a7c9473428b2 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -106,12 +106,12 @@ static inline struct cpu_info *get_cpu_info(void)
 #define get_per_cpu_offset()  (get_cpu_info()->per_cpu_offset)
 
 /*
- * Get the bottom-of-stack, as stored in the per-CPU TSS. This actually points
- * into the middle of cpu_info.guest_cpu_user_regs, at the section that
- * precisely corresponds to a CPU trap frame.
+ * Get the bottom-of-stack, as stored in the per-CPU TSS. This points at the
+ * end of cpu_info.guest_cpu_user_regs, at the section that precisely
+ * corresponds to a CPU trap frame.
  */
 #define get_stack_bottom()                      \
-    ((unsigned long)&get_cpu_info()->guest_cpu_user_regs.es)
+    ((unsigned long)(&get_cpu_info()->guest_cpu_user_regs + 1))
 
 /*
  * Get the reasonable stack bounds for stack traces and stack dumps.  Stack
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 963e8201130a..cde6efd7adc0 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -624,10 +624,6 @@ static inline void hvm_sanitize_regs_fields(struct cpu_user_regs *regs,
     regs->saved_upcall_mask = 0xbf;
     regs->cs = 0xbeef;
     regs->ss = 0xbeef;
-    regs->ds = 0xbeef;
-    regs->es = 0xbeef;
-    regs->fs = 0xbeef;
-    regs->gs = 0xbeef;
 #endif
 }
 
diff --git a/xen/arch/x86/include/asm/regs.h b/xen/arch/x86/include/asm/regs.h
index c05b9207c281..dcc45ac5af7f 100644
--- a/xen/arch/x86/include/asm/regs.h
+++ b/xen/arch/x86/include/asm/regs.h
@@ -20,8 +20,7 @@
     (!is_pv_32bit_vcpu(v) ? ((tb)->eip == 0) : (((tb)->cs & ~3) == 0))
 
 /* Number of bytes of on-stack execution state to be context-switched. */
-/* NB. Segment registers and bases are not saved/restored on x86/64 stack. */
-#define CTXT_SWITCH_STACK_BYTES (offsetof(struct cpu_user_regs, es))
+#define CTXT_SWITCH_STACK_BYTES sizeof(struct cpu_user_regs)
 
 #define guest_mode(r)                                                         \
 ({                                                                            \
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 5addb1f903d3..27e68285e504 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -416,7 +416,7 @@ unsigned long get_stack_trace_bottom(unsigned long sp)
     {
     case 1 ... 4:
         return ROUNDUP(sp, PAGE_SIZE) -
-            offsetof(struct cpu_user_regs, es) - sizeof(unsigned long);
+            sizeof(struct cpu_user_regs) - sizeof(unsigned long);
 
     case 6 ... 7:
         return ROUNDUP(sp, STACK_SIZE) -
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 630bdc39451d..2258b4ce1b95 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -52,7 +52,7 @@ void __dummy__(void)
     OFFSET(UREGS_eflags, struct cpu_user_regs, rflags);
     OFFSET(UREGS_rsp, struct cpu_user_regs, rsp);
     OFFSET(UREGS_ss, struct cpu_user_regs, ss);
-    OFFSET(UREGS_kernel_sizeof, struct cpu_user_regs, es);
+    DEFINE(UREGS_kernel_sizeof, sizeof(struct cpu_user_regs));
     BLANK();
 
     /*
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index cb06f99021d1..78c5b7a1e300 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -134,17 +134,11 @@ static void _show_registers(
 
 void show_registers(const struct cpu_user_regs *regs)
 {
-    struct cpu_user_regs fault_regs;
+    struct cpu_user_regs fault_regs = *regs;
     struct extra_state fault_state;
     enum context context;
     struct vcpu *v = system_state >= SYS_STATE_smp_boot ? current : NULL;
 
-    /*
-     * Don't read beyond the end of the hardware frame.  It is out of bounds
-     * for WARN()/etc.
-     */
-    memcpy(&fault_regs, regs, offsetof(struct cpu_user_regs, es));
-
     if ( guest_mode(regs) && is_hvm_vcpu(v) )
     {
         get_hvm_registers(v, &fault_regs, &fault_state);
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:25:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:25:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909357.1316353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts75u-0007pM-S0; Tue, 11 Mar 2025 21:24:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909357.1316353; Tue, 11 Mar 2025 21:24: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 1ts75u-0007pF-P3; Tue, 11 Mar 2025 21:24:58 +0000
Received: by outflank-mailman (input) for mailman id 909357;
 Tue, 11 Mar 2025 21:24: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts75t-0007nP-2G
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:24:57 +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 44339e8e-febf-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:24:51 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3913fdd0120so1967364f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:24:51 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfbab43sm19535870f8f.15.2025.03.11.14.24.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 14:24: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: 44339e8e-febf-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741728290; x=1742333090; 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=wIHmErc3c4KBAtf3kltB/P0RGxmjlu5jaxrqf95hKCA=;
        b=LZfTeRPIey7FBpwWymb3hcwdyGdAi5udk+nweQu5165or7bd4kQygj0k1qgcR/LgLh
         r0DlTCkRdlwnQ9Gi0W9T0Zdewrt2kdnhYfRmBxVWG1HRJTCGXeU5UVCgF3uDxucqeGel
         KuXMtIyc924EGW/0g8VN8Lk/8QVBZbVyb4zmQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741728290; x=1742333090;
        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=wIHmErc3c4KBAtf3kltB/P0RGxmjlu5jaxrqf95hKCA=;
        b=CPkyi3w/eyuLtJwOJc0fwIXVWLsme2QvGeoeFEkt9SovXVJGPIHBFyp9vVByYSHYTF
         Z802IUueqk/RP5MVbgT+tNCtm5dK0ZTpQYlW3fJTU30WglOk1M8M5WgreUBEI7bPFln/
         P+2fiWuvEcuZYLY3cQ93pPeKyVEtr4JtD8swLZBVGj1Z2wG3hMXJ42V76ZZVaenzaFpD
         zSkwW4/gdjRw0GmGrSj5rl7JRVc2bKdcutCOydwHiTHu8HZv7tpV89CqhRubhQlGAbaI
         wnokGZuknySF/v/S9fTT1XySi4wszTCvddT3ODCsVF9X7cma/4JR03Q8JNRj2162Jz6C
         QKNg==
X-Gm-Message-State: AOJu0Yy6IJdZzATuCQkCEZdRloLIRURifwm0UMEatQQ8ri3n2mJN15Q+
	5ggStyLEzPFEk9CRCZQNho4khAoP1e2jlvldkjhX3pemQZ8lko6hlQ0BPpiZvlCKAd2rN5x26Uu
	L
X-Gm-Gg: ASbGncv9m3C9Ujgq6WaGiLJlm8flbKaPOtj7Cg4qsQTl3BZpBxfJnKP9x4frMn7+15B
	rFAJE931+OKWt5WsUkN8qAtYxZTINTkWni4et3pPrBhfZobTYLcfXhL4yXXiJJu+KMYeK14hOuk
	3VIyRBdYiDCZPKsZhrib7VM1xdQ36fcFdFnOYUT0ISAmQ20JdyVj5523ZuOjWhKBgl3WMxEyQbo
	sOHjdRj9GNU6zVXV3mY+JQN6G9ThZSdhQ/g8ReMyTP1ScZ7SLHrZ3suQDd4XgRgKDupbxhyYRe2
	MnCBO+VTIIErTsBIuzQbuglBWLdV0HLwpySVC5INbo1hX+aOr2AhTnUq64z6rr1xKoJnuAiMgWg
	lwn4iE5VCtKLEKgItUJtOca15
X-Google-Smtp-Source: AGHT+IFKi3WBOzgKMUqZcX6VWWplSfCssaTjv2oJAjhkUWwhFOTAUFOfx8tNUL4tftcL7/da2CWOuw==
X-Received: by 2002:a05:6000:1a87:b0:391:2391:2f79 with SMTP id ffacd0b85a97d-39132d98a8emr17431181f8f.43.1741728290101;
        Tue, 11 Mar 2025 14:24: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>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/IDT: Fix IDT generation for INT $0x80
Date: Tue, 11 Mar 2025 21:22:48 +0000
Message-Id: <20250311212248.3630583-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

When PV is enabled, entry_int80 needs to be DPL3, not DPL0.

This causes the XSA-259 PoC to fail with:

  --- Xen Test Framework ---
  Environment: PV 64bit (Long mode 4 levels)
  XSA-259 PoC
  Error: Unexpected fault 0x800d0802, #GP[IDT[256]]
  Test result: ERROR

(Clearly I have a bug in XTF's rendering of the error code too.)

Reported-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
CC: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/x86/include/asm/gen-idt.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/gen-idt.h b/xen/arch/x86/include/asm/gen-idt.h
index 9c8810edf9d7..d1da73248c1c 100644
--- a/xen/arch/x86/include/asm/gen-idt.h
+++ b/xen/arch/x86/include/asm/gen-idt.h
@@ -77,7 +77,7 @@ GEN16(6);
 GEN16(7);
 
 #ifdef CONFIG_PV
-GEN(0x80, entry_int80,      DPL0, manual);
+GEN(0x80, entry_int80,      DPL3, manual);
 #else
 GEN(0x80, entry_0x80,       DPL0, autogen);
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:27:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909380.1316363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts78B-0000XQ-78; Tue, 11 Mar 2025 21:27:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909380.1316363; Tue, 11 Mar 2025 21: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 1ts78B-0000XJ-4c; Tue, 11 Mar 2025 21:27:19 +0000
Received: by outflank-mailman (input) for mailman id 909380;
 Tue, 11 Mar 2025 21:27: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts78A-0000XD-1O
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:27:18 +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 9a832cf4-febf-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 22:27:15 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so1649855e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 14:27:15 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a75aae2sm1365345e9.20.2025.03.11.14.27.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 14: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: 9a832cf4-febf-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741728435; x=1742333235; 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=GokTaAnqondTU7MlgAyrCtcMbxMtopqx+4M1uwEQ87M=;
        b=GDnEP7K5+QDtnzGPES0qpr5qInzt08jkmz/Bs7qwizzzJfC61M5Y5OoSPm/WKxXNnB
         /bDSiuDc+ky7c95PQPcC2U8lVidOVPofsrm/u0X1P1zSAOjkikYczP8VbEXtf83zE1Sf
         YlE/xZMaV2W82FK5m9WM6iil62k5b3E5BpLw8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741728435; x=1742333235;
        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=GokTaAnqondTU7MlgAyrCtcMbxMtopqx+4M1uwEQ87M=;
        b=YRXY8rl3SUHs9WY7MYSpolZrWv+y9rSm7hXl9+WF9fMXB+cW1gM/VXrG29rk0d5nEN
         P1f2yE/3fPbddUTqEEV9fpbMI7SE8QlcCTiCfDTBySe6LYyvAB+ltcNk9gP3S3+zDwvC
         CfcrdYDz8hZLX5MKWyfWghs3HKOJvxErv/ukbHEObrjvTVJX/jO/noFQ0qFHPYGLIv3D
         qT9Z1vjSOV+XBUhQfKbFgmHfmjcPBRun/f0hslRCq/stKw57fY5D4wrEVhJGHZa0AQYo
         DFh1OIY+GpJP43z30gIouGsxo6YIz/71nh4vnIJe2/OzztXuOSqXElRiWE7CN4TQ+Ax0
         IoOQ==
X-Gm-Message-State: AOJu0YyH2/ApY7bX1ewZuNirftPN4b6oCgUajFF2+KQ7C0YEQqURIfp8
	LXwTNWnBnaxQGZxsE/DeZ1CAqkrMtrmVtu+NOVy9UfCmFrnZ8rs0o5KXSD7snypduY0xGcGPtIv
	1
X-Gm-Gg: ASbGnctYscdPRr5nB8mOYtK22BwDGHxmfcxOUcnFwSf0L0KUfA6URDUPUQ8EOHJx6iM
	SF8nJ/4/iT4XRmvBBAfF3b4o2ds2BiqZ+r5JrkoknjYzCEtbw8xD65YwzLt+7kqB+sJyF/A1AW2
	qKnVlvc2EMOItp2eRMRw93VNLK5RP/qdhSahPYIswhdcOQjDvuHRFy6ID6eji/eK1W9d2F3owjP
	vxEcyywChtHkX/SPOjRBe58u87Tf/m0Ch0PAULKzu7aePKp9MCDVwPdxd+RtKteCxoQKZSl6vzu
	nBlnN5akvNA1AqkfLJtuoMATEJFjTo7Btb4PywNFiBDsldm0xHfUqNBpNxI2QWGcEaxBuT41QTb
	IlCXcj25r
X-Google-Smtp-Source: AGHT+IEaPi2ScbxWEXy9LOg2nnLdeMKQA979+ekLy7JkSlJQQ18e5x9dbPGRDBJwgTfl1/KjIdAdmg==
X-Received: by 2002:a05:6000:1fa6:b0:390:ec6e:43ea with SMTP id ffacd0b85a97d-3926c97ae30mr5904486f8f.15.1741728434878;
        Tue, 11 Mar 2025 14:27:14 -0700 (PDT)
Message-ID: <cdae37d8-a01d-412c-a48b-f4e27d7d898e@citrix.com>
Date: Tue, 11 Mar 2025 21:27:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/IDT: Fix IDT generation for INT $0x80
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Luca Fancellu <luca.fancellu@arm.com>, Jan Beulich <JBeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250311212248.3630583-1-andrew.cooper3@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: <20250311212248.3630583-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/03/2025 9:22 pm, Andrew Cooper wrote:
> When PV is enabled, entry_int80 needs to be DPL3, not DPL0.
>
> This causes the XSA-259 PoC to fail with:
>
>   --- Xen Test Framework ---
>   Environment: PV 64bit (Long mode 4 levels)
>   XSA-259 PoC
>   Error: Unexpected fault 0x800d0802, #GP[IDT[256]]
>   Test result: ERROR
>
> (Clearly I have a bug in XTF's rendering of the error code too.)

Fixes: 3da2149cf4dc ("x86/IDT: Generate bsp_idt[] at build time")

Adjusted locally.

~Andrew

> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> CC: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  xen/arch/x86/include/asm/gen-idt.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/arch/x86/include/asm/gen-idt.h b/xen/arch/x86/include/asm/gen-idt.h
> index 9c8810edf9d7..d1da73248c1c 100644
> --- a/xen/arch/x86/include/asm/gen-idt.h
> +++ b/xen/arch/x86/include/asm/gen-idt.h
> @@ -77,7 +77,7 @@ GEN16(6);
>  GEN16(7);
>  
>  #ifdef CONFIG_PV
> -GEN(0x80, entry_int80,      DPL0, manual);
> +GEN(0x80, entry_int80,      DPL3, manual);
>  #else
>  GEN(0x80, entry_0x80,       DPL0, autogen);
>  #endif



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 21:49:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 21:49:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909432.1316373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts7TV-0007nH-Uh; Tue, 11 Mar 2025 21:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909432.1316373; Tue, 11 Mar 2025 21:49: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 1ts7TV-0007nA-S7; Tue, 11 Mar 2025 21:49:21 +0000
Received: by outflank-mailman (input) for mailman id 909432;
 Tue, 11 Mar 2025 21:49:20 +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 1ts7TU-0007n4-JN
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 21:49:20 +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 1ts7TU-00EjxQ-0v;
 Tue, 11 Mar 2025 21:49:20 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts7TT-005Vl7-2k;
 Tue, 11 Mar 2025 21:49: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>
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=wRnLpbhWkjgtDUe3vtbrsnj6WjAiSrViZ+f90TH+WLc=; b=hH8zKu11iy6VrZgSYzos5TI+oc
	ny0cYPrGLmhxDeqz8rgVYl3zGqUEytnFuVirJ7kc5Nwo2Y74sdka/gE//qh2A690cDuZmCr9gh9BS
	fYO2J0WAmlz4AtICLdi6n3u//KTobO0DC2MZebnRoTmQdnq5LfQ+Ep8lu0p5LSPAPkn0=;
Message-ID: <37d1210c-cfc6-4cd4-9562-40db809b8223@xen.org>
Date: Tue, 11 Mar 2025 21:49:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/16] xen/arm: Implement PSCI system suspend
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <b80f0559048638bfe1a934f2d256331db733ed3e.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b80f0559048638bfe1a934f2d256331db733ed3e.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/03/2025 09:11, Mykola Kvach wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> The implementation consists of:
> -Adding PSCI system suspend call as new PSCI function
> -Trapping PSCI system_suspend HVC
> -Implementing PSCI system suspend call (virtual interface that allows
>   guests to suspend themselves), but currently it is only partially
>   implemented, so suspend/resume will correctly work only for dom0

What is missing for other domains?

> 
> The PSCI system suspend should be called by a guest from its boot
> VCPU. Non-boot VCPUs of the guest should be hot-unplugged using PSCI
> CPU_OFF call prior to issuing PSCI system suspend. Interrupts that
> are left enabled by the guest are assumed to be its wake-up interrupts.
> Therefore, a wake-up interrupt triggers the resume of the guest. Guest
> should resume regardless of the state of Xen (suspended or not).
> 
> When a guest calls PSCI system suspend the respective domain will be
> suspended if the following conditions are met:
> 1) Given resume entry point is not invalid
> 2) Other (if any) VCPUs of the calling guest are hot-unplugged
> 
> If the conditions above are met the calling domain is labeled as
> suspended and the calling VCPU is blocked. If nothing else wouldn't
> be done the suspended domain would resume from the place where it
> called PSCI system suspend. This is expected if processing of the PSCI
> system suspend call fails. However, in the case of success the calling
> guest should resume (continue execution after the wake-up) from the entry
> point which is given as the first argument of the PSCI system suspend
> call. In addition to the entry point, the guest expects to start within
> the environment whose state matches the state after reset. This means
> that the guest should find reset register values, MMU disabled, etc.
> Thereby, the context of VCPU should be 'reset' (as if the system is
> comming out of reset), the program counter should contain entry point,
> which is 1st argument, and r0/x0 should contain context ID which is 2nd
> argument of PSCI system suspend call. The context of VCPU is set
> accordingly when the PSCI system suspend is processed, so that nothing
> needs to be done on resume/wake-up path.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in V3:
> Dropped all domain flags and related code (which touched common functions like
> vcpu_unblock), keeping only the necessary changes for Xen suspend/resume, i.e.
> suspend/resume is now fully supported only for the hardware domain.
> Proper support for domU suspend/resume will be added in a future patch.
> This patch does not yet include VCPU context reset or domain context
> restoration in VCPU.
> ---
>   xen/arch/arm/Makefile                 |  1 +
>   xen/arch/arm/include/asm/domain.h     |  3 ++
>   xen/arch/arm/include/asm/perfc_defn.h |  1 +
>   xen/arch/arm/include/asm/psci.h       |  2 +
>   xen/arch/arm/include/asm/suspend.h    | 18 +++++++
>   xen/arch/arm/suspend.c                | 67 +++++++++++++++++++++++++++
>   xen/arch/arm/vpsci.c                  | 32 +++++++++++++
>   7 files changed, 124 insertions(+)
>   create mode 100644 xen/arch/arm/include/asm/suspend.h
>   create mode 100644 xen/arch/arm/suspend.c
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 43ab5e8f25..70d4b5daf8 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -53,6 +53,7 @@ obj-y += smpboot.o
>   obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
>   obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
>   obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
> +obj-$(CONFIG_SYSTEM_SUSPEND) += suspend.o

I am a bit confused why we are tie guest suspend/resume with system 
suspend/resume. Shouldn't they be separate?

>   obj-y += sysctl.o
>   obj-y += time.o
>   obj-y += traps.o
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index 50b6a4b009..8b1bdf3d74 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -233,6 +233,9 @@ struct arch_vcpu
>       struct vtimer virt_timer;
>       bool   vtimer_initialized;
>   
> +    register_t suspend_ep;
> +    register_t suspend_cid;
> +
>       /*
>        * The full P2M may require some cleaning (e.g when emulation
>        * set/way). As the action can take a long time, it requires
> diff --git a/xen/arch/arm/include/asm/perfc_defn.h b/xen/arch/arm/include/asm/perfc_defn.h
> index 3ab0391175..5049563718 100644
> --- a/xen/arch/arm/include/asm/perfc_defn.h
> +++ b/xen/arch/arm/include/asm/perfc_defn.h
> @@ -33,6 +33,7 @@ PERFCOUNTER(vpsci_system_reset,        "vpsci: system_reset")
>   PERFCOUNTER(vpsci_cpu_suspend,         "vpsci: cpu_suspend")
>   PERFCOUNTER(vpsci_cpu_affinity_info,   "vpsci: cpu_affinity_info")
>   PERFCOUNTER(vpsci_features,            "vpsci: features")
> +PERFCOUNTER(vpsci_system_suspend,      "vpsci: system_suspend")
>   
>   PERFCOUNTER(vcpu_kick,                 "vcpu: notify other vcpu")
>   
> diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psci.h
> index 4780972621..48a93e6b79 100644
> --- a/xen/arch/arm/include/asm/psci.h
> +++ b/xen/arch/arm/include/asm/psci.h
> @@ -47,10 +47,12 @@ void call_psci_system_reset(void);
>   #define PSCI_0_2_FN32_SYSTEM_OFF          PSCI_0_2_FN32(8)
>   #define PSCI_0_2_FN32_SYSTEM_RESET        PSCI_0_2_FN32(9)
>   #define PSCI_1_0_FN32_PSCI_FEATURES       PSCI_0_2_FN32(10)
> +#define PSCI_1_0_FN32_SYSTEM_SUSPEND      PSCI_0_2_FN32(14)
>   
>   #define PSCI_0_2_FN64_CPU_SUSPEND         PSCI_0_2_FN64(1)
>   #define PSCI_0_2_FN64_CPU_ON              PSCI_0_2_FN64(3)
>   #define PSCI_0_2_FN64_AFFINITY_INFO       PSCI_0_2_FN64(4)
> +#define PSCI_1_0_FN64_SYSTEM_SUSPEND      PSCI_0_2_FN64(14)
>   
>   /* PSCI v0.2 affinity level state returned by AFFINITY_INFO */
>   #define PSCI_0_2_AFFINITY_LEVEL_ON      0
> diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
> new file mode 100644
> index 0000000000..745377dbcf
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/suspend.h
> @@ -0,0 +1,18 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_ARM_SUSPEND_H__
> +#define __ASM_ARM_SUSPEND_H__
> +
> +int32_t domain_suspend(register_t epoint, register_t cid);
> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> new file mode 100644
> index 0000000000..27fab8c999
> --- /dev/null
> +++ b/xen/arch/arm/suspend.c
> @@ -0,0 +1,67 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/sched.h>
> +#include <asm/cpufeature.h>
> +#include <asm/event.h>
> +#include <asm/psci.h>
> +#include <asm/suspend.h>
> +#include <asm/platform.h>
> +#include <public/sched.h>
> +
> +static void vcpu_suspend_prepare(register_t epoint, register_t cid)
> +{
> +    struct vcpu *v = current;
> +
> +    v->arch.suspend_ep = epoint;
> +    v->arch.suspend_cid = cid;
> +}
> +
> +int32_t domain_suspend(register_t epoint, register_t cid)
> +{
> +    struct vcpu *v;
> +    struct domain *d = current->domain;
> +    bool is_thumb = epoint & 1;
> +
> +    dprintk(XENLOG_DEBUG,
> +            "Dom%d suspend: epoint=0x%"PRIregister", cid=0x%"PRIregister"\n",
> +            d->domain_id, epoint, cid);
> +
> +    /* THUMB set is not allowed with 64-bit domain */
> +    if ( is_64bit_domain(d) && is_thumb )
> +        return PSCI_INVALID_ADDRESS;
> +
> +    /* TODO: care about locking here */

What's the plan for this?

> +    /* Ensure that all CPUs other than the calling one are offline */
> +    for_each_vcpu ( d, v )
> +    {
> +        if ( v != current && is_vcpu_online(v) )
> +            return PSCI_DENIED;
> +    }
> +
> +    /*
> +     * Prepare the calling VCPU for suspend (save entry point into pc and
> +     * context ID into r0/x0 as specified by PSCI SYSTEM_SUSPEND)
> +     */

Looking at the code, it doesn't save the value into pc and x0/r0. 
Instead, it is stashing it into different fields.

> +    vcpu_suspend_prepare(epoint, cid);
> +
> +    /* Disable watchdogs of this domain */
> +    watchdog_domain_suspend(d);

At least for guests, I was expecting psci_suspend to behave very 
similarly to domain_shutdown(SHUTDOWN_suspend) so it can be used with 
"xl suspend/resume". Is there any reason we are diverging?

> +
> +    /*
> +     * The calling domain is suspended by blocking its last running VCPU. If an
> +     * event is pending the domain will resume right away (VCPU will not block,
> +     * but when scheduled in it will resume from the given entry point).
> +     */

Looking at the code, you don't seem to set x0, pc or even reset the vCPU 
unless the platform suspend. So are you sure the suspend will work 
properly if there is an event pending?


> +    vcpu_block_unless_event_pending(current);
 > +> +    return PSCI_SUCCESS;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
> index d1615be8a6..96eef06c18 100644
> --- a/xen/arch/arm/vpsci.c
> +++ b/xen/arch/arm/vpsci.c
> @@ -7,6 +7,7 @@
>   #include <asm/vgic.h>
>   #include <asm/vpsci.h>
>   #include <asm/event.h>
> +#include <asm/suspend.h>
>   
>   #include <public/sched.h>
>   
> @@ -197,6 +198,15 @@ static void do_psci_0_2_system_reset(void)
>       domain_shutdown(d,SHUTDOWN_reboot);
>   }
>   
> +static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
> +{
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +    return domain_suspend(epoint, cid);
> +#else
> +    return PSCI_NOT_SUPPORTED;
> +#endif
> +}
> +
>   static int32_t do_psci_1_0_features(uint32_t psci_func_id)
>   {
>       /* /!\ Ordered by function ID and not name */
> @@ -214,6 +224,8 @@ static int32_t do_psci_1_0_features(uint32_t psci_func_id)
>       case PSCI_0_2_FN32_SYSTEM_OFF:
>       case PSCI_0_2_FN32_SYSTEM_RESET:
>       case PSCI_1_0_FN32_PSCI_FEATURES:
> +    case PSCI_1_0_FN32_SYSTEM_SUSPEND:
> +    case PSCI_1_0_FN64_SYSTEM_SUSPEND:
>       case ARM_SMCCC_VERSION_FID:
>           return 0;
>       default:
> @@ -344,6 +356,26 @@ bool do_vpsci_0_2_call(struct cpu_user_regs *regs, uint32_t fid)
>           return true;
>       }
>   
> +    case PSCI_1_0_FN32_SYSTEM_SUSPEND:
> +    case PSCI_1_0_FN64_SYSTEM_SUSPEND:
> +    {
> +        register_t epoint = PSCI_ARG(regs,1);
> +        register_t cid = PSCI_ARG(regs,2);
> +        register_t ret;
> +
> +        perfc_incr(vpsci_system_suspend);
> +        /* Set the result to PSCI_SUCCESS if the call fails.

I don't understand the comment. Below, you will set "ret" only if the 
call doesn't return SUCCESS.

Also, coding style:

/*
  * Foo ...
  * Bar ...
  */

> +         * Otherwise preserve the context_id in x0. For now

Per above, I don't think this is correct.

> +         * we don't support the case where the system is suspended
> +         * to a shallower level and PSCI_SUCCESS is returned to the
> +         * caller.

I am confused. Per the specification, PSCI_SYSTEM_SUSPEND cannot return 
PSCI_SUCCESS if the call is successful. Any chance you are confusing 
with CPU_SUSPEND?

> +         */
> +        ret = do_psci_1_0_system_suspend(epoint, cid);
> +        if ( ret != PSCI_SUCCESS )
> +            PSCI_SET_RESULT(regs, ret);
> +        return true;
> +    }
> +
>       default:
>           return false;
>       }

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 22:15:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 22:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909447.1316383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts7t7-0003GR-2r; Tue, 11 Mar 2025 22:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909447.1316383; Tue, 11 Mar 2025 22:15: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 1ts7t6-0003GK-WF; Tue, 11 Mar 2025 22:15:49 +0000
Received: by outflank-mailman (input) for mailman id 909447;
 Tue, 11 Mar 2025 22:15: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=NzKm=V6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ts7t6-0003GE-5q
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 22:15:48 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 611c48d3-fec6-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 23:15:46 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 5C9365C5E24;
 Tue, 11 Mar 2025 22:13:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26EC3C4CEE9;
 Tue, 11 Mar 2025 22:15: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: 611c48d3-fec6-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741731344;
	bh=mh6LCT0NJjNAvKN19yehBveDjxYI8DOKn1UPiT6aLGE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WrbNpt+xHiVX18hDg/tJGn8PuMUbav01AJ9M51ycb5rM+fJfNA5Pv3t3KBN3D0hqC
	 MRXYfaPw5ahKo7njjzIpMYLYrxe+Nk/2qb3Nq/OgKFdDAAYg46LR5781h+3Hpgu/eR
	 MyQk4+Zx60MSnUFqU5JNj96iekoINFH/V1LJQdfFg0lFt11CY46n9Z1suqf46MgBc0
	 xWxg4LaVCInAxtR96PVDzY1s0Yh8FScXJROjzlvctGHmroVxo9PHnRwSxY87V9YfxS
	 JEprokMUrhcvaXR4r3hIi3rgg+LPf0fwlJlgCCaNRuIWIx1VG7GCFKO2KqfTh9mFjM
	 jXCyizueUV/Mg==
Date: Tue, 11 Mar 2025 15:15:41 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: dmkhn@proton.me, xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com, 
    anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, 
    michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, 
    dmukhin@ford.com
Subject: Re: [PATCH] docs: add explanation for 'Resolved:'
In-Reply-To: <55c35901-de99-46a2-891d-991925e9bf7b@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503111515190.3090675@ubuntu-linux-20-04-desktop>
References: <20250311072805.778362-1-dmkhn@proton.me> <55c35901-de99-46a2-891d-991925e9bf7b@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 11 Mar 2025, Jason Andryuk wrote:
> On 2025-03-11 03:28, dmkhn@proton.me wrote:
> > From: Denis Mukhin <dmukhin@ford.com>
> > 
> > 'Resolves:' tag may be used if the patch addresses one of the tickets
> > logged via Gitlab to auto-close such ticket when the patch got merged.
> > 
> > Add documentation for the tag.
> > 
> > Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> 
> With the commit title change,
> 
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 22:16:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 22:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909457.1316394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts7tm-0003k3-BR; Tue, 11 Mar 2025 22:16:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909457.1316394; Tue, 11 Mar 2025 22:16: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 1ts7tm-0003jw-8X; Tue, 11 Mar 2025 22:16:30 +0000
Received: by outflank-mailman (input) for mailman id 909457;
 Tue, 11 Mar 2025 22:16: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts7tl-0003GE-7P
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 22:16:29 +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 7a6b652f-fec6-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 23:16:28 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4394a823036so51447815e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 15:16:28 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0ca2sm2143775e9.37.2025.03.11.15.16.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 15:16: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: 7a6b652f-fec6-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741731388; x=1742336188; 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=5XcB2qybKZVQGl81n6pFpKOdgMjLSJJXHu7L1QoXy5A=;
        b=FprghlD9TFmJ7xBNp9UIpCHaHP8/nYYiuovtlRzaty31s5D7BHh1se/olEChKqnUOg
         ztHyJjdjyqucBHn2EHXKH1A3dCoAFkno0FI8pNDM7elb3+d+Bs8fEYLT5r9NL92xjw4j
         DiRO3U+W4Kqn9xdiNc1JVS2BxqklVU7+uldvE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741731388; x=1742336188;
        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=5XcB2qybKZVQGl81n6pFpKOdgMjLSJJXHu7L1QoXy5A=;
        b=R5Z51RrIFzHBZDeoGB5Gy9xKO67VA0qrjUTfKW/vyQTOkniSxvS1VJxAo85hMaRrQR
         WOznKHUxC8uxukjG+KVZnRRn411YybRlBESDSw6CFWmNtLZP56R+ewcVdUtwKs6Yby8E
         M/C8Jr0Vq72euH8EZhlhf8BHSUOlaF/CGk84T7dEu+S/eLWUWK/78FZbbssM7UIrFFe9
         Vf3qgRt7IAiDmzYY768g2ig2toCyIizSEBRL7m1vhLG6ZfdLsoUUXvmi7leD7VB7Wz+E
         O9C8EH657pnZJjgMXDdFdRj3zSWHP5Bfn8eCd27X/OuvaKINaRhD+HnW7HLQffX4zBIE
         +HTQ==
X-Forwarded-Encrypted: i=1; AJvYcCWhFpfBk9LHwVuoyr2xEs7LF6AlK8UDPzJ0AE4FixAr5gSttCH+ugb+MZBGWBP++BrBP2QJLGEL4wA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyY/26ttw8wk35n0Ql5Ii7lAkj+YC3o25BK9YzxWtQXBACHPuGN
	pRhporqsxRcWmUslieqBTAibJTHuZZjfnSk/qKfMEZWhsLguyKi/arI1J7j211M=
X-Gm-Gg: ASbGncvlx8lGFofGLAjtaplp/dBAb9fyX/QWJw/MhdApgLyUCw/6PisfJPDPni6AHXr
	tlxMQkFGvdbs2t16m6NEzD+449r9Rc0KAxnNDqODrg++2AvMzpJzq9H8yKSuKWcbqTcJ2VXS+jF
	v9rkteq0wnZNhtml1NVyudRNu6SyzZuLOF1CQYaFI9Z8jyuEVvGBynOl8WDi1EQTfGSMgU+l2l5
	ncqBBh6Ipc59xFr/MfwLVf2xOb/IrbUSCwfxZY8rUJym0Vfy/dxSVt9ZhJ8x1sPC5TE41xnUOAx
	HlR0DwDRH43gUMdP6z00sK6Xb7MuDL8OqoPrqHnQT0ELbk0fW+XjPNRuJJjOGqsObHlamG6Hk3h
	SAp0eNyI1
X-Google-Smtp-Source: AGHT+IHoCvkbIlocMq2Q7O8pzKghKRqSo06w6VyRiYDhv+VLC7oZlWBjFMdaymR0HX+f5FiTcn9bqg==
X-Received: by 2002:a05:600c:35d6:b0:43c:f55e:a882 with SMTP id 5b1f17b1804b1-43d01c2aa41mr66611665e9.31.1741731387769;
        Tue, 11 Mar 2025 15:16:27 -0700 (PDT)
Message-ID: <e9ba795f-ade0-482b-93f5-941048ebe234@citrix.com>
Date: Tue, 11 Mar 2025 22:16:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [REGRESSION] Re: [PATCH 0/3] x86/P2M: assorted corrections
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>,
 Luca Fancellu <luca.fancellu@arm.com>
References: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@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: <7363b2ee-f297-4b0b-9c4d-bdebe08d514b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/02/2025 11:51 am, Jan Beulich wrote:
> 1: synchronize fast and slow paths of p2m_get_page_from_gfn()
> 2: correct old entry checking in p2m_remove_entry()
> 3: don't include MMIO_DM in p2m_is_valid()

Luca is triaging failures in ARM's CI.

Commit be59cceb2dbb ("x86/P2M: don't include MMIO_DM in p2m_is_valid()")
(patch 3) breaks two different XTF tests.

They're XTF running as a PVH Dom0 inside Xen in qemu.Â  In both cases,
it's Shadow paging in use:

(XEN) [Â Â Â  1.035338] Freed 644kB init memory
--- Xen Test Framework ---
Environment: HVM 32bit (No paging)
XSA-239 PoC
******************************
PANIC: Unhandled exception at 0010:0010380e
Vec 14 #PF[-d-sWP] %cr2 fec00000
******************************

and

(XEN) [Â Â Â  1.027912] Freed 644kB init memory
--- Xen Test Framework ---
Environment: HVM 64bit (Long mode 4 levels)
XSA-195 PoC
******************************
PANIC: Unhandled exception at 0008:0000000000103fd8
Vec 14 #PF[-d-srP] %cr2 00001ffffffffff8
******************************


The XSA-239 PoC is reading from the IO-APIC.Â  The absence of a real
mapping should give ~0, not #PF (especially as it's in unpaged mode at
the time...)

The XSA-195 PoC does a decrease reservation in order to cause `BT %reg,
mem` to trap for emulation (it predates FEP), so is playing in a similar
area to XSA-239.


Either way, the reasoning of patch 3 clearly isn't correct.Â  (And we
have significant testing gaps in Gitlab CI, although we knew this.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 22:17:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 22:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909469.1316404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts7uT-0004Lv-Kn; Tue, 11 Mar 2025 22:17:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909469.1316404; Tue, 11 Mar 2025 22:17: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 1ts7uT-0004Lm-HF; Tue, 11 Mar 2025 22:17:13 +0000
Received: by outflank-mailman (input) for mailman id 909469;
 Tue, 11 Mar 2025 22:17: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=+I6a=V6=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ts7uR-0003Zb-IV
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 22:17:11 +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 911a4cf0-fec6-11ef-9898-31a8f345e629;
 Tue, 11 Mar 2025 23:17:06 +0100 (CET)
Received: from AS4P190CA0030.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d0::20)
 by AM8PR08MB5809.eurprd08.prod.outlook.com (2603:10a6:20b:1db::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar
 2025 22:17:02 +0000
Received: from AMS0EPF000001AE.eurprd05.prod.outlook.com
 (2603:10a6:20b:5d0:cafe::92) by AS4P190CA0030.outlook.office365.com
 (2603:10a6:20b:5d0::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Tue,
 11 Mar 2025 22:17:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001AE.mail.protection.outlook.com (10.167.16.154) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 11 Mar 2025 22:17:01 +0000
Received: ("Tessian outbound ae00a21450c4:v585");
 Tue, 11 Mar 2025 22:17:01 +0000
Received: from L06c021940419.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BBE84A74-988D-4404-8119-C47C5D8366B6.1; 
 Tue, 11 Mar 2025 22:16:54 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L06c021940419.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 11 Mar 2025 22:16:54 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 DU2PR08MB7342.eurprd08.prod.outlook.com (2603:10a6:10:2f1::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.27; Tue, 11 Mar 2025 22:16:52 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025
 22:16: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: 911a4cf0-fec6-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=i8QcXMU2GsZDtK2poDGWghU3yoJIyG6lX5/K2D6TZGoWXHPuHG8qBpvVHJ7ozhjVMuZ3gNlzuGI/4CjApjUIgKWbL/JAYXw6GBbND6pzENLqMKnbUgcnGncUGGfrnTN+1/AbdRLJILBnAe8Brq5AyFK+b0PloT7A4veY7iHACpOsNyJsd+MJoL7AJurAyIBv+pf9xetAZLV4cHNObCNZNTQ2y8D69Cj/Er7dT/hYIdvQFUNMRy1ZPt4VZjbN3SgMiqJsCaPW7vsA/WISHKRyMCaEiRBr5BbRvq8hB6JRxnWOhXgUC+cONtxHlM1t65copNCMd4LbLOdOF1zVeHk0Vw==
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=/n23ikcJuIIN6XWtWA+dMZseR61xTCjqPd4Es8OcOlg=;
 b=x5t5ZC1wex2y/7Umg9mOE8TqlG/nmcR6MdeU0PXqUvQs4KaVebXzwfaitmd5Dc0fH/7/6j+NkgCHiUJ2I8tgLdjg600BzdLLTF9fdYueFowzYWX01vYiuTr0IdwCFk+4WnCh3DfqwD6UJVnDvAwZp39B7BU/DdjwX2urC2BYd++AM1/PEC4gaMa+azy27auTqvJn1eG8YHug4rqcEm+YsuzLlAn/J9+GNRDAAdfVvsV5g9i5o/qp38AXAXyCrhZJgJR5oyP/AqQTvQXEcoTWvY2ZC1pZaxi+WMNbK7LKa5/GkX0+gGBvMoarvvv0QmhOKdLD3l7SEVn40XTeAAQe7w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=/n23ikcJuIIN6XWtWA+dMZseR61xTCjqPd4Es8OcOlg=;
 b=o3dtCLb/kXLa0MiViV60rVpNaA85sRRZhm7sfdyqJUNGJEMo06fqieQN1Acjc3i3LMOzjmLtB6v20fNx+A8yqswlsFEyU5O0usmV1iBbIqV83UzdgoHcCyvDjsW+8mE/v2Yc10DDBdpcrOaPOU91k7oc1tTdzoTHmtdJorB5/dc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0403e2c968953791
X-TessianGatewayMetadata: aHFma6JoBEXlcD34cdpz3Ap+/p4g9S8XuI1D3J0FDiBmbg24IFOR6+gIcW2lkItReYoO5cnySR/uA4xaqhh8eoDY7NAPSvasRsYqvYc3KVXBf0P+q52xOokwEgtBSm+8A7S9ZA5zbEatMGGbwqSIJzwFw1i3yID/tt3FPg/44Tg=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jNIMhEqrymVNFq0Vh/Lp67d4gvU8l4D16jP6fZkqy5Z673b0Y7/7O2qKiSTruJxLizrXBKldjBXdvm13BglExsr5cHU1SKppbDlzAbi3d2LSqtFO0p3txbEnTimt2Hcunf1T3qxDGhN4OvkGTDQ//1uQBhBl90BUj/cChJsOD6agodErY3qu239kJAzlfbgAxvMy2ZkSxQzhtCX9dHYeHB0+B3FtZ9T0PXyU307VhHKxFt2FKspTvgXaoyXrzleA0GLDD28+XeveaenCP5IPPOrdbXjFJLXYJzcZHie+MPcH8kR50p17wPZzdFVUt1orTdcurRNAGdv7Qc6Z185i1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/n23ikcJuIIN6XWtWA+dMZseR61xTCjqPd4Es8OcOlg=;
 b=aKIx1vP93+oPqZCE0z8FHM1zJNb4FZzgxe2WRIY7M3/qQRqKaEIaADidoCmcJnHSJ2HducT+jUfMAlKiAAOalTzv8fhD7NTDsHBT3rhfJvcoR5S6xhE94SuIK3eTWidkOph/+sT3zSqyLTJ1ckry28eHQ2X7XajDVz2V/Wq1Fy6Jgd4KHpydqHA7OLiMgIZs7sE+k+KFzFuZaT2pdlRmyxwV3qZ/hhBftRDnFIh7e9/JWhl22Bhb9qwj4RRVGTVrs4sD0x0+tJpfDBhtAqONNd8in62SSgmPhHXiXtkyzigIRvb3y9zSYDY1uZ+D/4i2Cr8DMO8XjicDwLNpe377zg==
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=/n23ikcJuIIN6XWtWA+dMZseR61xTCjqPd4Es8OcOlg=;
 b=o3dtCLb/kXLa0MiViV60rVpNaA85sRRZhm7sfdyqJUNGJEMo06fqieQN1Acjc3i3LMOzjmLtB6v20fNx+A8yqswlsFEyU5O0usmV1iBbIqV83UzdgoHcCyvDjsW+8mE/v2Yc10DDBdpcrOaPOU91k7oc1tTdzoTHmtdJorB5/dc=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH] x86/IDT: Fix IDT generation for INT $0x80
Thread-Topic: [PATCH] x86/IDT: Fix IDT generation for INT $0x80
Thread-Index: AQHbkswH4SMPnoeIB0qA1i1YYjL24bNugNeA
Date: Tue, 11 Mar 2025 22:16:51 +0000
Message-ID: <8D6654FA-E648-49DF-B9E4-84DD5729DA2E@arm.com>
References: <20250311212248.3630583-1-andrew.cooper3@citrix.com>
In-Reply-To: <20250311212248.3630583-1-andrew.cooper3@citrix.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|DU2PR08MB7342:EE_|AMS0EPF000001AE:EE_|AM8PR08MB5809:EE_
X-MS-Office365-Filtering-Correlation-Id: 298c812c-a388-40e6-2d27-08dd60ea72a2
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?RkFacncwVk03SFVZdXQ1Skp3VUpEOTVXMW5SUHZKd0JQQXYzeS94Q1JOTHox?=
 =?utf-8?B?UDdXS0s1S3pYdTZCSXExZ2E5TVI2bFNzc25SaFhUK1M4TWZBVCtkTW9TVElC?=
 =?utf-8?B?cUtzTk1kanJ0WVJyMDNsd09IenhmK3ZLemlhVVN5N0FwSml6VkFVbDRaQS9W?=
 =?utf-8?B?RjI0NnZBZWVad3BmOStsQjVVanUxcW1DZkh2ZEtkaW85MVlENnA3d2FRMmFL?=
 =?utf-8?B?SCtScHFIU1hwdjMvM2ZiVStNYWZOSll5dmNKS3JxWk9pd05aZWs3VHc5a08x?=
 =?utf-8?B?dXNxQ0h6Z1dLQ1RJZmFWbW5USENqU3BLcnN6Zmg5ZjVwcTZkNmRDSGQzYjRr?=
 =?utf-8?B?NkxVQWZKeHJGZ0dtRWYyTU5GSi9vV2lkYXBlNVNobEtFYWdacm9XT1VETEVH?=
 =?utf-8?B?cHZFQUdtYzV6VG5qTzJhaHNrSWFLbnZ1clRXWm9ab1UwbkFPenpYWVk3UVlH?=
 =?utf-8?B?aWZmVk1jWGtDZ3pXTFY5Vm1SeWxGVTQ1WkxIclRTMXBvVzhYbStOdU1wNTFR?=
 =?utf-8?B?NVQxejBFU1ZqTDNtRUlva3B6MjEyVXdNUnhoeXg1eDFxRzgyL3Z1bmo4aE5q?=
 =?utf-8?B?SHp5aGV2MmY5Slp6ZUFvdSs1S2NWaU9jT1UwZFZ4NlJLMzVPcnVKbFBwdTVJ?=
 =?utf-8?B?MFBTMVlJOTcvZlZGSjVXLzNBTUcwM21hSFJPcHFBOS92ZTJoK0lBQXk3SjNV?=
 =?utf-8?B?cmV3eXBiV0FPOEJwODF4aHR5bjRPVkhiNVRnL0cvMmk0VkhLSWlKNXpGVTFk?=
 =?utf-8?B?VEdUc3FkSTc2dXhwTlFWSnF6b2RraURCWDY0YmFmVHZrdHBvc2MxenZRZlpS?=
 =?utf-8?B?aGFoeVVLLzBSSkMwdjMrSmJNeUVjbDRvRXZxRFQzc2lEYUozUXFVS090UmZD?=
 =?utf-8?B?MTJLck5GOW05NTVKMlc3ZWpsVEJ5L3lrWFhPVlo2clg4WVRmeHcyUlV6Rm1H?=
 =?utf-8?B?MVphWlQxWWo5WVZiR3BzOFFsTzV1eDdEOHJwSGk3K3JPZWtscmFWYWVYQWh0?=
 =?utf-8?B?c1FGbjQ5R0ZtOXEvRDliQnRtWGhzcHJDWWhqeG1zb3dtVzZqdElqdEQwQnhF?=
 =?utf-8?B?UmduSU9nSlcvb2hoM01vNTJRYkdQeGNGV0kzR3NNT2RoZnZYbytuOHhFWjEx?=
 =?utf-8?B?WVMxSlpsNm0zQ0IzYzNuaEd0Szg4NCtmMVRhZWhQeEJ1T3dhclJRanpROG5Q?=
 =?utf-8?B?RjdDeFQzUURRc2RkL0kwUHovWEJRMUE3dk16cjcrZWtzSk1yK01OdWl1TGlz?=
 =?utf-8?B?dHNMc2V1Y3ZLbVBuYXYxbmtBMXozVGViMHJuREIxR3BCS3hxSzc0cHZiWitE?=
 =?utf-8?B?Zyt1VjFVTm82ZThqUVIvSGdEZUZkdE1ERE54NzRVYk5XS0RWK1czVFZRb2Q3?=
 =?utf-8?B?MXRyL3dVR3EyUEJQNWkxRWdYVmdQcE1NNHNPSVBVeUVURzVjcHd0U2hsY1NI?=
 =?utf-8?B?OVF2RnNjdk1oK0Q4U21hSGFRWXV3NkpoUEdyUjBJalRXZnlNakNaV3V1YXBR?=
 =?utf-8?B?Sit0TWZKd1RiU0UvbVkySjIwMGFHSGMwOUtIWnZoTFFKVFBIcjdrWitpMkRJ?=
 =?utf-8?B?OVovcUJkQTA4S0M1bkVLNEdKSmt4eXI5c0Jvay9Wb0xLVkVPNis0TDBmRnQ0?=
 =?utf-8?B?NGs1UXdDeFgvWlp1eTNKNFdJcjBrTVJ4TGRjcmY1SzV6aDNqcFVDMGJzMjZQ?=
 =?utf-8?B?enBVMlBERWwvMEFZY3c1ZTNwaEhPaEtWR0tta003TFZTSC9vejFpUUsxb04v?=
 =?utf-8?B?cWNOM1Rhb2VQS0NkVkxaTGtoNDFONGtCanNXbFErcDZDU3ovdE9yT1k2Y2py?=
 =?utf-8?B?QUJ3NVlBUXZ0d3YwWWp5ZThBelE2T3FMb1lVczMrRzJNMXJBYkwrRy9lOFJn?=
 =?utf-8?B?MjU3Q295OGppNnUyaTFOUVFPWjlJTWZialdZa245MnFiMG02c2RpaENHQVFj?=
 =?utf-8?Q?AsbqF2Wq6ZxgfnDQN6EuLb6Htyja7S4k?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5ED563C2D8D56D44AE8799C06BB19834@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7342
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001AE.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b68213d3-dab2-4287-c517-08dd60ea6cc9
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|35042699022|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TXJXSld5SWRHLys5RHcyU0tqWWlETkNsWHNBeGtLMmxoTStEMmVwWkFSUXJK?=
 =?utf-8?B?aDU4NTB6QUoyV1h4RXR0c2V2VWtqSFdhQkRWL0ovQXZsTWNFUUx0eHdFdCth?=
 =?utf-8?B?Q1FBOHBHU216U2c2K1NpQ29OMGRXTTV5eFJzWGc0RW0wZURIck9GVjlZbSt2?=
 =?utf-8?B?ZGlGSzhnL2FTVGwzN1JoVmdOSjFvRWE4eEE1T2pTaFJkU2h0UlRCNGZ4ejBM?=
 =?utf-8?B?RU1zK0txOFFUUFNYL3VjOVRFeXMyK3gvWjBTUGh5R3BoLzhKY21OeDFoQ2dX?=
 =?utf-8?B?MHBwcEVhVHZ2endxK2p0WWZDUHRkYmo0VW84alVlNGdzdWFxSERVNGVmckUx?=
 =?utf-8?B?aElJTkhINWJsb0o5Y2dtQjVuY2tZVHhKK3pWMzNtUnhxY2h4UUU5WGhYZERT?=
 =?utf-8?B?OUZ6Y2JpNXgzakRCYmcyMHNSSStyVHpodjlDVVlHR3kyQ3p2MnVsa0hndGYz?=
 =?utf-8?B?bGExVDdPZEQyZWNzZDk1RHJJQ1dkc3hpUUE3STUyMHZvQWxEV3JMZTczaS9M?=
 =?utf-8?B?MnR6UmFaRi9IQmRKTUpKTVB0dURCTUlRVXpWa25wQldmRGE4bVcwUE9ML0tX?=
 =?utf-8?B?Y0g2Mmc5N2txdVZJMkpzQXh1YlF5SCtMK0hHSHJlN2xyOVJWNDFNVTBNZEtq?=
 =?utf-8?B?RE9pSUw2eWNmOW1NNE9IWm1Mc1FENWF0VFFWL0Rwbk5XUXBTdVVaeHJ3dzhP?=
 =?utf-8?B?aGRranRiSExoRlRHSXEvMHNEMnVoNVVhcVc1NGVoeStGNkNjVEs5QlVuVFJy?=
 =?utf-8?B?OW1wM1dIUThldHV3NWFQd2QxVnZsa2lJYk5hWnNCQzFOTXlFWnV4YVVka2Qw?=
 =?utf-8?B?Ymh1dElIZXZ6aUk1bE85SElBL1cySmxpdEpDVXNvOWJ5aU1iSVJoc0xkNDVH?=
 =?utf-8?B?ME1UQjVPeTB3eEw5M1pUWnFzalEzL2FwdGIxYlVCTUx0Vkowd0dTUHIzanM5?=
 =?utf-8?B?L3pIWU45b2VzSGlzdkgwY3hKSjlENXZ5a3ZpcnU1OGR3cnFyWUlMQ3NTTjhX?=
 =?utf-8?B?UW9aRHphOEtzdk8rQnRzRlpDZEhmbDZyZHVhcXZlckJIS1ZPUU9yZG9wSFR6?=
 =?utf-8?B?Wjc5Y3BwL0VWb0JrY1VwY0w4M3BvbE00NmttdUhoYzhlKy9zTVI3TXc4K3cz?=
 =?utf-8?B?QW5MbUZ0TDZaM3QwZkR1aEN1SS9vRkJyWVM4Z1lDdmlHNzdyTVlNTG9iK1U2?=
 =?utf-8?B?azBibk9ad2lmVFR1eG1RK0hYa2pXYWhQd3BmV3FNT29vMWRnQ3VoUy9XNUxv?=
 =?utf-8?B?Ti90WHZsV1djQjJlYUU5bW9NN0d2d25lWFhNeTN3b1RQYTNpMXFFalJ5YVlO?=
 =?utf-8?B?UnlRTWdBa0E4QlRRb2JkVDRXNTkrRWQrTmVTdCtGOXltZDRSN0FHOElwZ0ZV?=
 =?utf-8?B?ZjROM1BxQkVwSEV6WHB2azlhRmV4K3h0YTdRU2xhRy9BczRkNjVPVG9waHpq?=
 =?utf-8?B?TUFNTzhaVDRsQnhxeTBNV0d2aTF4bktvaUpGM2pnZkwxQnlDRFBYdHBYTUo1?=
 =?utf-8?B?RHIxcC9NVzFhREJ4YnBZZlRPWVhUL0VHZjV4c1cyUFJHN1pvUFB4UW9zRjBZ?=
 =?utf-8?B?WU5rUHQ1S2lrYVFnL29KOEtvWlM1aHFLQWJaSGRONDlpaWhNL2Y5UHoyVGVk?=
 =?utf-8?B?Y21CVUlkV3g2ZG5HR283UVpuaGRkb1hOYm9UVnN1cXBQVWRFd3pnckQrZkJM?=
 =?utf-8?B?blNDZ0dBVWZ4a3kyUDZUOE04YU45bXMxVmpNc0g5RUN0WWY3OHRyVU52MnZ6?=
 =?utf-8?B?SkEyRGdScldtWnBRZGZNZ0dFazdzQ3A5Y3E1MWs4a293enAyZkFaL0lldlVD?=
 =?utf-8?B?dTRWQ0h5ODkxUW5QWnE2YldVcndNTU9VRWM2eno1T2NtT2l4WktiUm81NnBh?=
 =?utf-8?B?a1dGUUl0a0Vtb2kvOWJZRGwzRlFwYVZzOVlsSEhRay8rYmM4K0MyOGNmaVZD?=
 =?utf-8?B?TEQ3cHZDdWJhcWRMc3c5d1I4K2dLZnpsK2UwVSs1eFdOY1FNRTJoT0xKNjFT?=
 =?utf-8?Q?PecZxfgbL0TD68L5JdxPSW0osZJk3k=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(35042699022)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 22:17:01.7698
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 298c812c-a388-40e6-2d27-08dd60ea72a2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001AE.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5809

SGkgQW5kcmV3LA0KDQo+IE9uIDExIE1hciAyMDI1LCBhdCAyMToyMiwgQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6DQo+IA0KPiBXaGVuIFBWIGlzIGVuYWJs
ZWQsIGVudHJ5X2ludDgwIG5lZWRzIHRvIGJlIERQTDMsIG5vdCBEUEwwLg0KPiANCj4gVGhpcyBj
YXVzZXMgdGhlIFhTQS0yNTkgUG9DIHRvIGZhaWwgd2l0aDoNCj4gDQo+ICAtLS0gWGVuIFRlc3Qg
RnJhbWV3b3JrIC0tLQ0KPiAgRW52aXJvbm1lbnQ6IFBWIDY0Yml0IChMb25nIG1vZGUgNCBsZXZl
bHMpDQo+ICBYU0EtMjU5IFBvQw0KPiAgRXJyb3I6IFVuZXhwZWN0ZWQgZmF1bHQgMHg4MDBkMDgw
MiwgI0dQW0lEVFsyNTZdXQ0KPiAgVGVzdCByZXN1bHQ6IEVSUk9SDQo+IA0KPiAoQ2xlYXJseSBJ
IGhhdmUgYSBidWcgaW4gWFRGJ3MgcmVuZGVyaW5nIG9mIHRoZSBlcnJvciBjb2RlIHRvby4pDQo+
IA0KPiBSZXBvcnRlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0K
PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
Pg0KDQpJ4oCZdmUgcnVubmVkIFhURiBvbiB0aGlzIG9uZSBhbmQgSSBjb25maXJtIGl0IHNvbHZl
cyB0aGUgaXNzdWU6DQoNClRlc3RlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBh
cm0uY29tPg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 22:24:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 22:24:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909479.1316414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts810-00086l-9d; Tue, 11 Mar 2025 22:23:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909479.1316414; Tue, 11 Mar 2025 22:23: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 1ts810-00086e-6x; Tue, 11 Mar 2025 22:23:58 +0000
Received: by outflank-mailman (input) for mailman id 909479;
 Tue, 11 Mar 2025 22:23: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=NzKm=V6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ts80z-00086X-3Z
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 22:23:57 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84a97b5d-fec7-11ef-9ab9-95dc52dad729;
 Tue, 11 Mar 2025 23:23:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 81B0D5C0EDA;
 Tue, 11 Mar 2025 22:21:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 898BEC4CEE9;
 Tue, 11 Mar 2025 22:23:53 +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: 84a97b5d-fec7-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741731834;
	bh=qPLwOL4nPpcjqjxtTsXC7gZJIkx/wGSIIUdYdkvwBkE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nTW45xF0l5AVC3w1o0PIoQRHamvZILpYZXp9drfwAQ0wrSJSUaoQ91QudO/cFE0Xn
	 COFbZtOW6ZPtb4BjhQCP0f+zCGidam8CmGfo6SikuJ7Z8vkQ8bcGJZ912aqRB2wYrw
	 tuRjlFEjFmr/UJisGj9dRZ1HCDLyyidZle+LNJ2G+OelAqznY0C+BYaaRpMH+X7nI/
	 75J9IspCLfC3Tfc+5FQ2KPfCj5gIczNvO3TFjLtAVWW7j/oAzMzWkESjm44taXSt2x
	 REG9no1vHS3WuZLVgQWSp4Kh21dC4rmi4g8clSMueTFH1vHrYbk6ntRWDEx64X0RL5
	 Vr3yDZjpmDPWQ==
Date: Tue, 11 Mar 2025 15:23:51 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Miccio <luca.miccio@amd.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org
Subject: Re: [ImageBuilder][PATCH v2] uboot-script-gen: handle reserved memory
 regions
In-Reply-To: <20250311111548.3696851-1-luca.miccio@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503111523450.3090675@ubuntu-linux-20-04-desktop>
References: <20250311111548.3696851-1-luca.miccio@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 11 Mar 2025, Luca Miccio wrote:
> Currently, the uboot-script-gen does not account for reserved memory
> regions in the device tree. This oversight can lead to scenarios where
> one or more boot modules overlap with a reserved region. As a result,
> Xen will always crash upon detecting this overlap. However, the crash
> will be silent (without output) if earlyprintk is not enabled, which is
> the default setting at the moment.
> 
> To address this issue, add a function that iterates over the
> reserved-memory nodes if any and populates an array. This array will
> be used later to calculate the load address for any given file.
> 
> Signed-off-by: Luca Miccio <luca.miccio@amd.com>

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


> ---
> v1->v2
>  - added local
>  - check if reserved node exists
>  - handle fdtget errors
>  - use numeric check for duplicates
> ---
>  scripts/uboot-script-gen | 84 ++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 81 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index db2c011..edc6a4c 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -468,6 +468,67 @@ function device_tree_editing()
>      fi
>  }
>  
> +function fill_reserved_spaces_from_dtb()
> +{
> +    if [ ! -f $DEVICE_TREE ]
> +    then
> +        echo "File $DEVICE_TREE doesn't exist, exiting";
> +        cleanup_and_return_err
> +    fi
> +
> +    # Check if reserved-memory node exists
> +    if ! fdtget -l $DEVICE_TREE /reserved-memory &> /dev/null
> +    then
> +        return
> +    fi
> +
> +    local addr_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#address-cells' 2> /dev/null\
> +                    || fdtget -t x $DEVICE_TREE / '#address-cells' 2> /dev/null)
> +    local size_cells=$(fdtget -t x $DEVICE_TREE /reserved-memory '#size-cells' 2> /dev/null\
> +                    || fdtget -t x $DEVICE_TREE / '#size-cells' 2> /dev/null)
> +
> +    if [ -z "$addr_cells" ] || [ -z "$size_cells" ]; then
> +        echo "Could not find #address-cells or #size-cells properties for reserved-memory node in $DEVICE_TREE"
> +        cleanup_and_return_err
> +    fi
> +
> +    for node in $(fdtget -l $DEVICE_TREE /reserved-memory); do
> +        local reg_values=($(fdtget -t x $DEVICE_TREE /reserved-memory/$node reg))
> +        local i=0
> +        for ((i=0; i<${#reg_values[@]}; i+=addr_cells+size_cells)); do
> +            local addr=0
> +            local size=0
> +            local j=0
> +
> +            for ((j=0; j<addr_cells; j++)); do
> +                addr=$((addr << 32 | 0x${reg_values[i+j]}))
> +            done
> +
> +            for ((j=0; j<size_cells; j++)); do
> +                size=$((size << 32 | 0x${reg_values[i+addr_cells+j]}))
> +            done
> +
> +            addr=$(printf "0x%X" $addr)
> +            size=$(printf "0x%X" $size)
> +        done
> +
> +        # Add the reserved space to the list and avoid duplicates
> +        local duplicate=0
> +        for reserved_space in "${RESERVED_MEM_SPACES[@]}"; do
> +            local reserved_start=${reserved_space%,*}
> +            local reserved_size=${reserved_space#*,}
> +
> +            if [[ $addr -eq $reserved_start ]] && [[ $size -eq $reserved_size ]]; then
> +                duplicate=1
> +                break
> +            fi
> +        done
> +        if [ $duplicate -eq 0 ]; then
> +            RESERVED_MEM_SPACES+=("${addr},${size}")
> +        fi
> +    done
> +}
> +
>  # Read effective image size from a header, which may be larger than the filesize
>  # due to noload sections, e.g. bss.
>  function get_image_size()
> @@ -505,9 +566,24 @@ function add_size()
>          size=${image_size}
>      fi
>  
> -    memaddr=$(( $memaddr + $size + $offset - 1))
> -    memaddr=$(( $memaddr & ~($offset - 1) ))
> -    memaddr=`printf "0x%X\n" $memaddr`
> +    # Try to place the file at the first available space...
> +    local new_memaddr=$(( (memaddr + size + offset - 1) & ~(offset - 1) ))
> +
> +    # ...then check if it overlaps with any reserved space
> +    for reserved_space in "${RESERVED_MEM_SPACES[@]}"; do
> +        local reserved_start=${reserved_space%,*}
> +        local reserved_size=${reserved_space#*,}
> +        local reserved_end=$((reserved_start + reserved_size))
> +
> +        if [[ $new_memaddr -le $reserved_end ]] && \
> +           [[ $((new_memaddr + size)) -ge $reserved_start ]]; then
> +            # In that case, place the file at the next available space
> +            # after the reserved one
> +            new_memaddr=$(( (reserved_end + offset) & ~(offset - 1) ))
> +        fi
> +    done
> +
> +    memaddr=$(printf "0x%X\n" $new_memaddr)
>      filesize=$size
>  }
>  
> @@ -1373,6 +1449,8 @@ uboot_addr=$memaddr
>  memaddr=$(( $memaddr + $offset ))
>  memaddr=`printf "0x%X\n" $memaddr`
>  
> +fill_reserved_spaces_from_dtb
> +
>  if test "$os" = "xen"
>  then
>      xen_file_loading
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 11 22:29:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 22:29:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909494.1316424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts86g-000434-1K; Tue, 11 Mar 2025 22:29:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909494.1316424; Tue, 11 Mar 2025 22:29: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 1ts86f-00042x-Ua; Tue, 11 Mar 2025 22:29:49 +0000
Received: by outflank-mailman (input) for mailman id 909494;
 Tue, 11 Mar 2025 22:29:49 +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 1ts86f-00042r-1Q
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 22:29:49 +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 1ts86e-00Ekk7-2o;
 Tue, 11 Mar 2025 22:29:48 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts86e-005YO1-1S;
 Tue, 11 Mar 2025 22:29: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>
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=JTHGc4tpnyxIH+ZcQlX/czbtFNl9Ino5amPRFfI7cns=; b=yGjTItYTh5IWiHeYOGHsav6j7P
	KQthFy2Emm6xhtT7WCtwPBoB8PjQKPUS2PZrvzIox/oRBJi8eATjewy+FU6CRfKHl6xD28lbrkLYm
	jpei5/dEhm+FpVmS6r8lAkkYlP/a7CUCl40H0t6QcUQ5sfs6zN8V/ZwdhHyTZcnefZHM=;
Message-ID: <849e6163-141d-4c8a-a57f-e589a38dd38d@xen.org>
Date: Tue, 11 Mar 2025 22:29:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
 Stefano Stabellini <sstabellini@kernel.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>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/03/2025 09:11, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> This option enables the system suspend support. This is the
> mechanism that allows the system to be suspended to RAM and
> later resumed.
> 
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
>   xen/arch/arm/Kconfig | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index a26d3e1182..5834af16ab 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>   config ARM32_HARDEN_BRANCH_PREDICTOR
>       def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>   
> +config SYSTEM_SUSPEND
> +	bool "System suspend support"
> +	default y

The default should likely be no until everything is working.

> +	depends on ARM_64

I think this also needs to depends on !LLC_COLORING (unless you 
confirmed cache coloring is working) and UNSUPPORTED.

> +	help
> +	  This option enables the system suspend support. This is the
> +	  mechanism that allows the system to be suspended to RAM and
> +	  later resumed.

You seem to also tie guest suspend/resunme to this option. Is it intended?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 22:36:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 22:36:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909506.1316442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts8Cf-0007GA-O9; Tue, 11 Mar 2025 22:36:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909506.1316442; Tue, 11 Mar 2025 22:36: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 1ts8Cf-0007G3-Jz; Tue, 11 Mar 2025 22:36:01 +0000
Received: by outflank-mailman (input) for mailman id 909506;
 Tue, 11 Mar 2025 22:36:00 +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 1ts8Ce-0007Fv-A8
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 22:36:00 +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 1ts8Cd-00Ekqq-07;
 Tue, 11 Mar 2025 22:35:58 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts8Cc-005YwK-1y;
 Tue, 11 Mar 2025 22:35: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QMcVRnPEtpojrQJR8QwSjlU+582yLVBHHfLqxmuv9HM=; b=sBW0a3D1OsVEGwgJg6myRoIbKx
	K5j5r243bE4hR2B4GwEfb/0Fyjx45elbsMBOVo1OXVo+69Q0Ciiu18L0hpv0CmsDc0/RUPcWkW+yz
	Fr3e1ZcIMYU1dHMatsx+bqqOAAosjzG43xKSvHPVXWmDhnnCO6L3CgJJyKbYqzh0GZE0=;
Message-ID: <fdadd945-2069-4346-be07-b93198332118@xen.org>
Date: Tue, 11 Mar 2025 22:35:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/16] Suspend to RAM support for Xen on arm64
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@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>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <cover.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/03/2025 09:11, Mykola Kvach wrote:
> This is V1 series from Mirela Simonovic. Ported to 4.16 and with added changes
> suggested here
> https://lore.kernel.org/all/CAKPH-NjmaZENb8gT=+FobrAycRF01_--6GuRA2ck9Di5wiudhA@mail.gmail.com
> 
> This is V2 series form Mykyta Poturai:
> https://marc.info/?l=xen-devel&m=166514782207736&w=2
> 
> This series introduces support for suspend-to-RAM (referred to as "suspend"
> in the following text) for Xen on ARM64. The primary focus of this patch series
> is to add Xen system suspend support. Previous patch series raised many
> questions regarding VCPU context restoration, so the necessary changes will be
> addressed in the next part of this series.

I can't exactly remember the details. But from what you wrote here...

> As part of these changes, all domain flags and related code (which affected
> common functions like vcpu_unblock) have been removed, keeping only the
> essential modifications for Xen suspend/resume. Suspend/resume is now fully
> supported only for the hardware domain.

... it is not clear hwo suspend/resume would work even for the hardware 
domain. Can you clarify?

  Proper support for domU suspend/resume
> will be added in the next part of this patch series.
> 
> The implementation is aligned with the design specification that has been
> proposed on xen-devel list:
> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.html
> 
> At a high-level the series contains:
 > 1) Support for suspending guests via virtual PSCI SYSTEM_SUSPEND call

This is contradicting what you wrote above. If the call is not meant to 
work for guests, then the call should be forbidden.

> 2) Support for resuming a guest on an interrupt targeted to that guest
> 3) Support for suspending Xen after dom0 finalizes the suspend
> 4) Support for resuming Xen on an interrupt that is targeted to a guest
> 
> --------------------------------------------------------------------------------
> TODO:
> 1) Add VCPU context reset/restore for non-hardware domains.
> 2) Implement xl suspend/resume for Arm (should it follow the x86 approach?).
> 3) Support suspend/resume for GICv3.
> 4) Add suspend support for Arm32.
> 
> --------------------------------------------------------------------------------
> In more details:
> 
> *** About suspending/resuming guests
> 
> The patches included in this series allow PSCI compliant guests that have
> support for suspend to RAM (e.g. echo mem > /sys/power/state in Linux) to
> suspend and resume on top of Xen without any EL1 code changes.
> 
> During their suspend procedure guests will hot-unplug their secondary CPUs,
> triggering Xen's virtual CPU_OFF PSCI implementation, and then finalize the
> suspend from their boot CPU, triggering Xen's virtual SYSTEM_SUSPEND PSCI.
> Guests will save/restore their own EL1 context on suspend/resume.
> 
> A guest is expected to leave enabled interrupts that are considered to be its
> wake-up sources. Those interrupts will be able to wake up the guest. This holds
> regardless of the state of the underlying software layers, i.e. whether Xen gets
> suspended or not doesn't affect the ability of the guest to wake up.
> 
> First argument of SYSTEM_SUSPEND PSCI call is a resume entry point, from which
> the guest assumes to start on resume. On resume, guests assume to be running in
> an environment whose state matches the CPU state after reset, e.g. with reset
> register values, MMU disabled, etc. To ensure this, Xen has to 'reset' the
> VCPU context and save the resume entry point into program counter before the
> guest's VCPU gets scheduled in on resume. This is done when the guest resumes.
> Xen also needs to take care that the guest's view of GIC and timer gets saved.
> Also, while a guest is suspended its watchdogs are paused, in order to avoid
> watchdog triggered shutdown of a guest that has been asleep for a period of time
> that is longer than the watchdog period.
> 
> After this point, from Xen's point of view a suspended guest has one VCPU
> blocked, waiting for an interrupt. When such an interrupt comes, Xen will
> unblock the VCPU of the suspended domain, which results in the guest
> resuming.
> 
> *** About suspending/resuming Xen
> 
> Xen starts its own suspend procedure once dom0 is suspended. Dom0 is
> considered to be the decision maker for EL1 and EL2.
> On suspend, Xen will first freeze all domains. Then, Xen disables physical
> secondary CPUs, which leads to physical CPU_OFF to be called by each secondary
> CPU. After that Xen finalizes the suspend from the boot CPU.
> 
> This consists of suspending the timer, i.e. suppressing its interrupts (we don't
> want to be woken up by a timer, there is no VCPU ready to be scheduled). Then
> the state of GIC is saved, console is suspended, and CPU context is saved. The
> saved context tells where Xen needs to continue execution on resume.
> Since Xen will resume with MMU disabled, the first thing to do in resume is to
> resume memory management in order to be able to access the context that needs to
> be restored (we know virtual address of the context data). Finally Xen calls
> SYSTEM_SUSPEND PSCI to the EL3.
> 
> When resuming, all the steps done in suspend need to be reverted. This is
> completed by unblocking dom0's VCPU, because we always want the dom0 to
> resume,
> regardless of the target domain whose interrupt woke up Xen.
> 
> *** Handling of unprivileged guests during Xen suspend/resume
> 
> Any domU that is not suspended when dom0 suspends will be frozen, domUs that are
> already suspended remain suspended. On resume the suspended domUs still remain
> suspended (unless their wake interrupt caused Xen to wake) while the
> others will be thawed.
> 
> For more details please refer to patches or the design specification:
> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.html
> 
> --------------------------------------------------------------------------------
> CHANGELOG
> 
> In this cover letter and in the commit messages within the changelog section:
> - patch series V1 refers to https://marc.info/?l=xen-devel&m=154202231501850&w=2
> - patch series V2 refers to https://marc.info/?l=xen-devel&m=166514782207736&w=2
> 
> Changes introduced in V3:

So this series is v3?

> Mirela Simonovic (9):
>    xen/x86: Move freeze/thaw_domains into common files
>    xen/arm: introduce a separate struct for watchdog timers
>    xen/arm: add suspend and resume timer helpers
>    xen/arm: Implement GIC suspend/resume functions (gicv2 only)
>    xen/arm: Implement PSCI system suspend
>    xen/arm: Trigger Xen suspend when hardware domain completes suspend
>    xen/arm: Implement PSCI SYSTEM_SUSPEND call (physical interface)
>    xen/arm: Resume memory management on Xen resume
>    xen/arm: Save/restore context on suspend/resume
> 
> Mykola Kvach (6):
>    xen/cpu: prevent disable_nonboot_cpus crash on ARM64
>    xen/percpu: don't initialize percpu on resume
>    xen/arm: Introduce system suspend config option
>    xen/char: implement suspend/resume calls for SCIF driver
>    xen/arm: add watchdog domain suspend/resume helpers
>    CHANGELOG: Mention Xen suspend/resume to RAM feature on arm64
> 
> Mykyta Poturai (1):
>    iommu: Add checks before calling iommu suspend/resume

This series is quite large and complex to review. I am wondering if it 
would make sense to split in smaller chunk so it is quicker to 
review/merge. One split I can think of is:

* disabling CPU (could be tested using the hotplug hypercall)
* guest suspend/resume (could be tested using xl suspend/resume)
* System suspend/resume

> 
>   CHANGELOG.md                          |   2 +
>   xen/arch/arm/Kconfig                  |  11 +
>   xen/arch/arm/Makefile                 |   1 +
>   xen/arch/arm/arm64/head.S             | 117 ++++++++++
>   xen/arch/arm/gic-v2.c                 | 142 ++++++++++++
>   xen/arch/arm/gic.c                    |  29 +++
>   xen/arch/arm/include/asm/domain.h     |   3 +
>   xen/arch/arm/include/asm/gic.h        |  12 +
>   xen/arch/arm/include/asm/perfc_defn.h |   1 +
>   xen/arch/arm/include/asm/psci.h       |   3 +
>   xen/arch/arm/include/asm/suspend.h    |  41 ++++
>   xen/arch/arm/include/asm/time.h       |   5 +
>   xen/arch/arm/psci.c                   |  19 ++
>   xen/arch/arm/setup.c                  |   8 +
>   xen/arch/arm/suspend.c                | 320 ++++++++++++++++++++++++++
>   xen/arch/arm/time.c                   |  26 +++
>   xen/arch/arm/vpsci.c                  |  32 +++
>   xen/arch/x86/acpi/power.c             |  29 ---
>   xen/common/cpu.c                      |  43 ++++
>   xen/common/domain.c                   |  30 +++
>   xen/common/keyhandler.c               |   2 +-
>   xen/common/percpu.c                   |   3 +-
>   xen/common/sched/core.c               |  50 +++-
>   xen/drivers/char/scif-uart.c          |  31 ++-
>   xen/drivers/passthrough/iommu.c       |   4 +-
>   xen/include/xen/sched.h               |  15 +-
>   xen/include/xen/watchdog.h            |   6 +

You also want to update SUPPORT.md for the two/three new features. They 
probably want to be experimental until you fix everything mentioned in 
the cover letter (aside maybe cpu off which can be tech preview).

>   27 files changed, 945 insertions(+), 40 deletions(-)
>   create mode 100644 xen/arch/arm/include/asm/suspend.h
>   create mode 100644 xen/arch/arm/suspend.c
> 

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 23:04:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 23:04:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909518.1316453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts8du-0002fH-Ty; Tue, 11 Mar 2025 23:04:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909518.1316453; Tue, 11 Mar 2025 23:04: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 1ts8du-0002f9-Oj; Tue, 11 Mar 2025 23:04:10 +0000
Received: by outflank-mailman (input) for mailman id 909518;
 Tue, 11 Mar 2025 23:04:09 +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 1ts8dt-0002f3-69
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 23:04:09 +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 1ts8ds-00ElNS-2T;
 Tue, 11 Mar 2025 23:04:08 +0000
Received: from [2a02:8012:3a1:0:9c08:78f4:b949:88f8]
 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 1ts8ds-005bK7-0q;
 Tue, 11 Mar 2025 23:04: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=D7XPpLUmOlvkrbBskEb4nrzCSx2P8UAgHA84vsAuRHc=; b=4+hzcNbdN7aFME6fFx0xHaS4Gf
	HdRkPOFcNFO3MfsxRVXv01RJXe8F2hKg8c/EVK65znC9G3b4iSws+NWShccxPuwZ8WMPR5FzL2Wkg
	tgYGITGqg2SWWcCCXUHb7ZuPiBZgoqYao3LXX+v88EREFHFfVSkvii2/4jb1b8R4c2kc=;
Message-ID: <1bcdca51-0f31-421c-81cf-699a1b94fbd6@xen.org>
Date: Tue, 11 Mar 2025 23:04:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/16] xen/arm: Resume memory management on Xen resume
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <2ef15cb605f987eb087c5496d123c47c01cc0ae7.1741164138.git.xakep.amatop@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2ef15cb605f987eb087c5496d123c47c01cc0ae7.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/03/2025 09:11, Mykola Kvach wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> The MMU needs to be enabled in the resume flow before the context
> can be restored (we need to be able to access the context data by
> virtual address in order to restore it). The configuration of system
> registers prior to branching to the routine that sets up the page
> tables is copied from xen/arch/arm/arm64/head.S.
> After the MMU is enabled, the content of TTBR0_EL2 is changed to
> point to init_ttbr (page tables used at runtime).
> 
> At boot the init_ttbr variable is updated when a secondary CPU is
> hotplugged. In the scenario where there is only one physical CPU in
> the system, the init_ttbr would not be initialized for the use in
> resume flow. To get the variable initialized in all scenarios in this
> patch we add that the boot CPU updates init_ttbr after it sets the
> page tables for runtime.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in V3:
> - updated commit message
> - instead of using create_page_tables, enable_mmu, and mmu_init_secondary_cpu,
>    the existing function enable_secondary_cpu_mm is now used
> - prepare_secondary_mm (previously init_secondary_pagetables in the previous
>    patch series) is now called at the end of start_xen instead of
>    setup_pagetables. Calling it in the previous location caused a crash
> - add early printk init during resume
> 
> Changes in V2:
> - moved hyp_resume to head.S to place it near the rest of the start code
> - simplified the code in hyp_resume by using existing functions such as
>    check_cpu_mode, cpu_init, create_page_tables, and enable_mmu
> ---
>   xen/arch/arm/arm64/head.S | 23 +++++++++++++++++++++++
>   xen/arch/arm/setup.c      |  8 ++++++++
>   2 files changed, 31 insertions(+)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 3522c497c5..fab2812e54 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -564,6 +564,29 @@ END(efi_xen_start)
>   #ifdef CONFIG_SYSTEM_SUSPEND
>   
>   FUNC(hyp_resume)
> +        msr   DAIFSet, 0xf           /* Disable all interrupts */

Surely we should be here with interrupts disabled. No?

> +
> +        tlbi  alle2
> +        dsb   sy                     /* Ensure completion of TLB flush */

This doesn't exist when booting Xen and I am not sure why we would need 
it for resume as we already nuke the TLbs in enable_mmu. Can you clarify?

> +        isb
> +
> +        ldr   x0, =start
> +        adr   x19, start             /* x19 := paddr (start) */
> +        sub   x20, x19, x0           /* x20 := phys-offset */

Looking at the code, I wonder if it is still necessary to set x19 and 
x20 for booting secondary CPUs and resume. There doesn't seem to be any 
use of the registers.

> +
> +        /* Initialize the UART if earlyprintk has been enabled. */
> +#ifdef CONFIG_EARLY_PRINTK
> +        bl    init_uart
> +#endif
> +        PRINT_ID("- Xen resuming -\r\n")
> +
> +        bl    check_cpu_mode
> +        bl    cpu_init
> +
> +        ldr   lr, =mmu_resumed
> +        b     enable_secondary_cpu_mm
> +
> +mmu_resumed:
>           b .
>   END(hyp_resume)
>   
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index ffcae900d7..3a89ac436b 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -508,6 +508,14 @@ void asmlinkage __init start_xen(unsigned long fdt_paddr)
>       for_each_domain( d )
>           domain_unpause_by_systemcontroller(d);
>   
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +    /*
> +     * It is called to initialize init_ttbr.
> +     * Without this call, Xen gets stuck after resuming.

This is not a very descriptive comment. But, you seem to make the 
assumption that prepare_secondary_mm() can be called on the boot CPU. 
This is not always the case. For instance on arm32, it will allocate 
memory and overwrite the per-cpu page-tables pointer (not great). This 
will also soon be the case for arm64.

Furthermore, this call reminded me that the secondary CPU page-tables 
are not freed when turning off a CPU. So they will leak. Not yet a 
problem for arm64 though.

So overall, I think we need a separate function that will be prepare 
init_ttbr for a given CPU (not allocate any memory). This will then need 
to be called from the suspend helper.

> +     */
 > +    prepare_secondary_mm(0);> +#endif
> +
>       /* Switch on to the dynamically allocated stack for the idle vcpu
>        * since the static one we're running on is about to be freed. */
>       memcpy(idle_vcpu[0]->arch.cpu_info, get_cpu_info(),

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 11 23:37:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Mar 2025 23:37:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909539.1316462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts99c-00043n-85; Tue, 11 Mar 2025 23:36:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909539.1316462; Tue, 11 Mar 2025 23:36: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 1ts99c-00043g-5Q; Tue, 11 Mar 2025 23:36:56 +0000
Received: by outflank-mailman (input) for mailman id 909539;
 Tue, 11 Mar 2025 23:36: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=isYZ=V6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts99a-00043Y-GK
 for xen-devel@lists.xenproject.org; Tue, 11 Mar 2025 23:36:54 +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 b3dc1478-fed1-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 00:36:49 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so2067922f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 16:36:49 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bee262esm19298021f8f.0.2025.03.11.16.36.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 16:36: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: b3dc1478-fed1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741736208; x=1742341008; 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=QE6JOMNccSR32yRQAyfqaeBa0yFpZt5itSd6nBN2X2g=;
        b=eQS2t+akVDonDDqoP2LES+v5U7K9AIA0jIXGM2suFK6zLIfFRqTsW5oboedvBcKPbH
         dbKmO9eJ3MsuEh77BwqJzhmnvjncWS1940HNg/tXFzbYwyrGzo/NnHTE56yYRRWQEHDz
         6bozFlxbC2Huaog7ejq1ZaJUoM6jGhSM0PAdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741736208; x=1742341008;
        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=QE6JOMNccSR32yRQAyfqaeBa0yFpZt5itSd6nBN2X2g=;
        b=DM/jlH0dgHZ5C+2y1+oIN56QSLyt235jYVrmayf+K9uWiy/x1gP8A5/7MbP1GC6SrE
         EPEzbLN3kXrPpZqg9N/2Q2DFcQuvuyAF/JAyu/sF/7C0Grpigx9bPjiixlxizx4dED5J
         held7KQVwh0c8NL9AU3wulZy2jWACGT6iETVkMxZzRoeN8nGSEmL6a3LnENvsryiGEpm
         vFATDonym/pYVYCw4eDO776h/I5vOigP0E5Fczx+PpwzQPjOiAH8jhdpGvbwHNu8T8Z6
         Md1bNRZGWnLrTbjwYGwcflrvw8q1FukUtfyFRiMa3ZWkLK7PE6CctF/tCOtKv4JVOokA
         zW6g==
X-Gm-Message-State: AOJu0Yy5vRY8nt8RIKwBWaoiCXueQS8mcWQQS/NaZmSmir2YcKen26d/
	BW6BXYz0WmjcNLbqjAxzkHRLuOEIA2W7WUIkiIpEt9LGZ6gmbjJVjsO6VAnnQPcCLwnVTDdPx9w
	3
X-Gm-Gg: ASbGnct8Y7hTx7rMZvy+ILk2hu81TUnn3tAJ7r4bYveesEjSKcfH213kgZxqvQKVQPq
	iyQuLsGi1NwYeeb9YSEtEodEh1AWH8tnYWBLvz+1atNR59r2ZUGd0ZgV8kPl0AzlU1GCWCpF+vn
	IdiNm9fEWVObs42ZhOSLtESOWvJYbbTT6PxSM4nvdyp+L+YIENipMLzq4nV2mMAh05rPR+u4wcO
	doXEwLzMSdYdnn/eTgSaJmkmVwKC8RHxSnxTmZYSfOyd1gXjTKaWfgfN0faUZ8SqmQT0rNyC6y5
	GF8dsKp5KKii0xVagnQbyLfMU50J0nd5sZSGqZAhpN0FUVkVAoMmqNcBNH31eE0J9+2J8jSdovy
	AcPTlzKY0
X-Google-Smtp-Source: AGHT+IFvIZTswHu61twpGYiO2y/o9XmbZfKb8LCbQexZp9W6XVke4HgMyKmUx6iTwetCSG2wnYnkng==
X-Received: by 2002:adf:a29a:0:b0:391:3aaf:1d57 with SMTP id ffacd0b85a97d-3913aaf1e5dmr9798764f8f.18.1741736208225;
        Tue, 11 Mar 2025 16:36:48 -0700 (PDT)
Message-ID: <79b3e775-5996-4d31-80cf-0f29d56d9633@citrix.com>
Date: Tue, 11 Mar 2025 23:36:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/IDT: Fix IDT generation for INT $0x80
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Luca Fancellu <luca.fancellu@arm.com>, Jan Beulich <JBeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250311212248.3630583-1-andrew.cooper3@citrix.com>
 <cdae37d8-a01d-412c-a48b-f4e27d7d898e@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: <cdae37d8-a01d-412c-a48b-f4e27d7d898e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/03/2025 9:27 pm, Andrew Cooper wrote:
> On 11/03/2025 9:22 pm, Andrew Cooper wrote:
>> When PV is enabled, entry_int80 needs to be DPL3, not DPL0.
>>
>> This causes the XSA-259 PoC to fail with:
>>
>>   --- Xen Test Framework ---
>>   Environment: PV 64bit (Long mode 4 levels)
>>   XSA-259 PoC
>>   Error: Unexpected fault 0x800d0802, #GP[IDT[256]]
>>   Test result: ERROR
>>
>> (Clearly I have a bug in XTF's rendering of the error code too.)

Nope, it's a QEMU bug.Â  Under QEMU, we get:

--- Xen Test Framework ---
Environment: PV 64bit (Long mode 4 levels)
XSA-259 PoC
(XEN) [Â Â Â  3.982447] *** #GP/IDT ec 00000802
(XEN) [Â Â Â  3.982668] *** #GP/IDT ec 00000802, not permitted
(XEN) [Â Â Â  3.982849] *** #GP inject ec 00000802
Error: Unexpected fault 0x800d0802, #GP[IDT[256]]
Test result: ERROR


On real hardware:

(d1) --- Xen Test Framework ---
(d1) Environment: PV 64bit (Long mode 4 levels)
(d1) XSA-259 PoC
(XEN) *** #GP/IDT ec 00000402
(XEN) *** #GP/IDT ec 00000402, not permitted
(XEN) *** #GP inject ec 00000402
(d1) Success: Not vulnerable to XSA-259
(d1) Test result: SUCCESS

So it's by chance that Luca's testing even picked up this failure.Â  The
XSA-259 PoC can't distinguish between the #GP INT emulation path and the
INT80 fastpath's error path which injects #GP.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 00:09:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 00:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909569.1316480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts9ew-000188-2V; Wed, 12 Mar 2025 00:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909569.1316480; Wed, 12 Mar 2025 00:09: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 1ts9ev-000181-Vi; Wed, 12 Mar 2025 00:09:17 +0000
Received: by outflank-mailman (input) for mailman id 909569;
 Wed, 12 Mar 2025 00:09: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ts9ev-00017v-9V
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 00:09:17 +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 3b5ee39e-fed6-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 01:09:15 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso1474078f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 17:09:14 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a75aa22sm4327685e9.19.2025.03.11.17.09.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 17:09: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: 3b5ee39e-fed6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741738154; x=1742342954; 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=k5fCRA7OjOK2jCllStXp5TswRGXu8t0slsR5JE7Bhx8=;
        b=LHpoNQD8NC7m0Y2FQ+Um9H1F7ENmv17dYLXUSNXLZ0Bjg+uB2Fng9V4Ws32cM+BR/q
         bEHypTOIPrpSeOy2cKMGw0nbnbfekRXQ8eokplIAsR09biKgqD6D1r/JjRrdq023BoBM
         4ad5TZAHmwTXl5+wyHKI8nyLFQpw1PWsgN9F4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741738154; x=1742342954;
        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=k5fCRA7OjOK2jCllStXp5TswRGXu8t0slsR5JE7Bhx8=;
        b=jd/M0Lx9fIHkrdutON4b81XVxYt1h4gOazyYWO1YHD/vGNxx6uDOx7G6FKcNmSzjq7
         lz2XpnCqs+Xm7apUSmsUk2GwklbBq+ijzWwrPtWAsUVa4NSqfoOtbFn0gGR0SlsLkKiq
         B3HrH58sTDVZCp0jQpe2Hp9I7wqdAgoCzVfSo4xBZoY0Y2TYFzgbO96nSJWa7IY5Gfcj
         wWbzIXyBYNQtIaZ9ci+Rdy015eY83hxZHnKmPSgGYClFzE8TSIVs+9VprwcCkR2rk2vX
         51fxWk0gh6utMDzVbqGIQiwXovYlRKwfd/RV4Cb0sFTEz6sNWzVIE8vSivFc56wOVdRU
         nuMw==
X-Gm-Message-State: AOJu0Yz/5nWvgvGM0dsd81Dx4VILFwJDP2/8cSoOXxC8QtE+nNsbCFJR
	2S/xVQoIWJ2K59XJDHFow3h1NBj7MWOWwctq7BIro79L813IbC6nbzp/LFLv3pJLKDs9930X278
	Z
X-Gm-Gg: ASbGncsYk1hnJYdHpqCs2Xz9BXc7fK9SLap1XcsLeN6svTWGM89qLvqprrbnT8eZLz7
	MEUKn8DjK2d8/M9U5+uc+dt33b+ls4lrjLid/Dv9pPMz/m87SP6KnKXPsjl2dkXS56QQ9vc5fXA
	dmhiYfKdV2hLB0muMxa5LDtM790zAX1KF5/5nfDj+LsOH9rnFkaJTO3Y2nb4IbOd/csc+SEaAem
	WPGj5GSCZ7eU5OukRJEykh8b3Xlf6o26IJCy5bKwBYFgjSQHeJw4bMUim4tIRN3k86hHA5Ib5nP
	Pugg3rq0xGqezSTShWFpgkbFwFz2JfdxESKiR2RUp/NKZRQm/RhgPFHpdLmGgYxKKSPLgMtB/xa
	vplrjVoYCbM4KURYkpKs=
X-Google-Smtp-Source: AGHT+IF1L/aSYwrz3iapiNiBu7y9OGqFHxBLpVRAT4ZJKsSu0RVkfgMvwFlkLappEwlfFfxtTfUrcQ==
X-Received: by 2002:a5d:5f45:0:b0:390:f832:383f with SMTP id ffacd0b85a97d-39132d05b37mr14721565f8f.2.1741738153815;
        Tue, 11 Mar 2025 17:09:13 -0700 (PDT)
Message-ID: <807487c5-6dbc-4fcd-a157-327335b3fd08@citrix.com>
Date: Wed, 12 Mar 2025 00:09:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/IDT: Fix IDT generation for INT $0x80
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Luca Fancellu <luca.fancellu@arm.com>, Jan Beulich <JBeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250311212248.3630583-1-andrew.cooper3@citrix.com>
 <cdae37d8-a01d-412c-a48b-f4e27d7d898e@citrix.com>
 <79b3e775-5996-4d31-80cf-0f29d56d9633@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: <79b3e775-5996-4d31-80cf-0f29d56d9633@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/03/2025 11:36 pm, Andrew Cooper wrote:
> On 11/03/2025 9:27 pm, Andrew Cooper wrote:
>> On 11/03/2025 9:22 pm, Andrew Cooper wrote:
>>> When PV is enabled, entry_int80 needs to be DPL3, not DPL0.
>>>
>>> This causes the XSA-259 PoC to fail with:
>>>
>>>   --- Xen Test Framework ---
>>>   Environment: PV 64bit (Long mode 4 levels)
>>>   XSA-259 PoC
>>>   Error: Unexpected fault 0x800d0802, #GP[IDT[256]]
>>>   Test result: ERROR
>>>
>>> (Clearly I have a bug in XTF's rendering of the error code too.)
> Nope, it's a QEMU bug.Â  Under QEMU, we get:
>
> --- Xen Test Framework ---
> Environment: PV 64bit (Long mode 4 levels)
> XSA-259 PoC
> (XEN) [Â Â Â  3.982447] *** #GP/IDT ec 00000802
> (XEN) [Â Â Â  3.982668] *** #GP/IDT ec 00000802, not permitted
> (XEN) [Â Â Â  3.982849] *** #GP inject ec 00000802
> Error: Unexpected fault 0x800d0802, #GP[IDT[256]]
> Test result: ERROR
>
>
> On real hardware:
>
> (d1) --- Xen Test Framework ---
> (d1) Environment: PV 64bit (Long mode 4 levels)
> (d1) XSA-259 PoC
> (XEN) *** #GP/IDT ec 00000402
> (XEN) *** #GP/IDT ec 00000402, not permitted
> (XEN) *** #GP inject ec 00000402
> (d1) Success: Not vulnerable to XSA-259
> (d1) Test result: SUCCESS
>
> So it's by chance that Luca's testing even picked up this failure.Â  The
> XSA-259 PoC can't distinguish between the #GP INT emulation path and the
> INT80 fastpath's error path which injects #GP.

And a patch submitted.

https://lore.kernel.org/qemu-devel/20250312000603.3666083-1-andrew.cooper3@citrix.com/T/#u

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 00:10:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 00:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909557.1316491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts9fr-0002Vd-CR; Wed, 12 Mar 2025 00:10:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909557.1316491; Wed, 12 Mar 2025 00: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 1ts9fr-0002VW-8T; Wed, 12 Mar 2025 00:10:15 +0000
Received: by outflank-mailman (input) for mailman id 909557;
 Wed, 12 Mar 2025 00:07: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ts9dP-00013H-UA
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 00:07:44 +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 026ff924-fed6-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 01:07:40 +0100 (CET)
Received: from mx-prod-mc-05.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-607-tVpdxDOENfqjZCOHY5FruQ-1; Tue,
 11 Mar 2025 20:07:34 -0400
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
 (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id F07CE195608A; Wed, 12 Mar 2025 00:07:29 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.88.56])
 by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 20D971956094; Wed, 12 Mar 2025 00:07:20 +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: 026ff924-fed6-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741738058;
	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=+Jp3d8TwivY0inesFFsBMmfW4NNIDtSVjUkd3EkZcf4=;
	b=P0MMNodwRq45o6GNN2wMM+3AKeo/kjuYf1mriHw+5ugumQFV8+sAIkuJxB7+zcB4/AiwZ8
	On2/wNygN46zVLRg4OCxJwn50dDyJhKrzYdXA0C8KGE+FdbDhV8UJAMHUTye+d/8ARjTEC
	+8GhaLThh5lrFSC2aR9ZHMsLl7RSesI=
X-MC-Unique: tVpdxDOENfqjZCOHY5FruQ-1
X-Mimecast-MFC-AGG-ID: tVpdxDOENfqjZCOHY5FruQ_1741738051
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	cgroups@vger.kernel.org
Cc: kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	mst@redhat.com,
	david@redhat.com,
	jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	hannes@cmpxchg.org,
	mhocko@kernel.org,
	roman.gushchin@linux.dev,
	shakeel.butt@linux.dev,
	muchun.song@linux.dev,
	nphamcs@gmail.com,
	yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com,
	alexander.atanasov@virtuozzo.com
Subject: [RFC 0/5] track memory used by balloon drivers
Date: Tue, 11 Mar 2025 18:06:55 -0600
Message-ID: <20250312000700.184573-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15

This series introduces a way to track memory used by balloon drivers.

Add a NR_BALLOON_PAGES counter to track how many pages are reclaimed by the
balloon drivers. First add the accounting, then updates the balloon drivers
(virtio, Hyper-V, VMware, and Xen) to maintain this counter.

This makes the information visible in memory reporting interfaces like
/proc/meminfo, show_mem, and OOM reporting.

This provides admins visibility into their VM balloon sizes without
requiring different virtualization tooling. Furthermore, this information
is helpful when debugging an OOM inside a VM.

Tested: virtio_balloon, run stress-ng, inflate balloon, oom prints
Signed-off-by: Nico Pache <npache@redhat.com>

Nico Pache (5):
  meminfo: add a per node counter for balloon drivers
  virtio_balloon: update the NR_BALLOON_PAGES state
  hv_balloon: update the NR_BALLOON_PAGES state
  vmx_balloon: update the NR_BALLOON_PAGES state
  xen: balloon: update the NR_BALLOON_PAGES state

 drivers/hv/hv_balloon.c         | 2 ++
 drivers/misc/vmw_balloon.c      | 5 ++++-
 drivers/virtio/virtio_balloon.c | 4 ++++
 drivers/xen/balloon.c           | 4 ++++
 fs/proc/meminfo.c               | 2 ++
 include/linux/mmzone.h          | 1 +
 mm/memcontrol.c                 | 1 +
 mm/show_mem.c                   | 4 +++-
 mm/vmstat.c                     | 1 +
 9 files changed, 22 insertions(+), 2 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 00:10:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 00:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909559.1316496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts9fr-0002Yd-Lj; Wed, 12 Mar 2025 00:10:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909559.1316496; Wed, 12 Mar 2025 00: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 1ts9fr-0002Xf-El; Wed, 12 Mar 2025 00:10:15 +0000
Received: by outflank-mailman (input) for mailman id 909559;
 Wed, 12 Mar 2025 00: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ts9dY-00013p-4W
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 00:07: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 07a42816-fed6-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 01:07:48 +0100 (CET)
Received: from mx-prod-mc-05.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-223-vkQ8710FPFOYX9_CxAjz-Q-1; Tue,
 11 Mar 2025 20:07:42 -0400
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
 (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 2CA19195608F; Wed, 12 Mar 2025 00:07:38 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.88.56])
 by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 3CA451955F0F; Wed, 12 Mar 2025 00:07:30 +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: 07a42816-fed6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741738067;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=ceDeMBe52N2seuUa756T2OuNElv+sx4xmpEJqAZFNJ0=;
	b=ZA625eOmgzmi/qVEmreX+Of5XknsZbrx9v9HYLM2bBfRxHjNLMpkTIOxLdDhhEwjHdC9P/
	FYqvhMsklJql6XiqJPlz5bnnVIHcjGm7aMIPvX4go8q7w0ZnjIaowlKC4uSVmgIU7HT/l/
	Z75IbqeNuZS0bOislCEbadalJCNd1LA=
X-MC-Unique: vkQ8710FPFOYX9_CxAjz-Q-1
X-Mimecast-MFC-AGG-ID: vkQ8710FPFOYX9_CxAjz-Q_1741738058
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	cgroups@vger.kernel.org
Cc: kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	mst@redhat.com,
	david@redhat.com,
	jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	hannes@cmpxchg.org,
	mhocko@kernel.org,
	roman.gushchin@linux.dev,
	shakeel.butt@linux.dev,
	muchun.song@linux.dev,
	nphamcs@gmail.com,
	yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com,
	alexander.atanasov@virtuozzo.com
Subject: [RFC 1/5] meminfo: add a per node counter for balloon drivers
Date: Tue, 11 Mar 2025 18:06:56 -0600
Message-ID: <20250312000700.184573-2-npache@redhat.com>
In-Reply-To: <20250312000700.184573-1-npache@redhat.com>
References: <20250312000700.184573-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15

Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
expose it through /proc/meminfo and other memory reporting interfaces.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 fs/proc/meminfo.c      | 2 ++
 include/linux/mmzone.h | 1 +
 mm/memcontrol.c        | 1 +
 mm/show_mem.c          | 4 +++-
 mm/vmstat.c            | 1 +
 5 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
index 8ba9b1472390..83be312159c9 100644
--- a/fs/proc/meminfo.c
+++ b/fs/proc/meminfo.c
@@ -162,6 +162,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
 	show_val_kb(m, "Unaccepted:     ",
 		    global_zone_page_state(NR_UNACCEPTED));
 #endif
+	show_val_kb(m, "Balloon:        ",
+		    global_node_page_state(NR_BALLOON_PAGES));
 
 	hugetlb_report_meminfo(m);
 
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 9540b41894da..71d3ff19267a 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -223,6 +223,7 @@ enum node_stat_item {
 #ifdef CONFIG_HUGETLB_PAGE
 	NR_HUGETLB,
 #endif
+	NR_BALLOON_PAGES,
 	NR_VM_NODE_STAT_ITEMS
 };
 
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 4de6acb9b8ec..182b44646bfa 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1377,6 +1377,7 @@ static const struct memory_stat memory_stats[] = {
 #ifdef CONFIG_HUGETLB_PAGE
 	{ "hugetlb",			NR_HUGETLB			},
 #endif
+	{ "nr_balloon_pages",		NR_BALLOON_PAGES		},
 
 	/* The memory events */
 	{ "workingset_refault_anon",	WORKINGSET_REFAULT_ANON		},
diff --git a/mm/show_mem.c b/mm/show_mem.c
index 43afb56abbd3..6af13bcd2ab3 100644
--- a/mm/show_mem.c
+++ b/mm/show_mem.c
@@ -260,6 +260,7 @@ static void show_free_areas(unsigned int filter, nodemask_t *nodemask, int max_z
 			" pagetables:%lukB"
 			" sec_pagetables:%lukB"
 			" all_unreclaimable? %s"
+			" Balloon:%lukB"
 			"\n",
 			pgdat->node_id,
 			K(node_page_state(pgdat, NR_ACTIVE_ANON)),
@@ -285,7 +286,8 @@ static void show_free_areas(unsigned int filter, nodemask_t *nodemask, int max_z
 #endif
 			K(node_page_state(pgdat, NR_PAGETABLE)),
 			K(node_page_state(pgdat, NR_SECONDARY_PAGETABLE)),
-			str_yes_no(pgdat->kswapd_failures >= MAX_RECLAIM_RETRIES));
+			str_yes_no(pgdat->kswapd_failures >= MAX_RECLAIM_RETRIES),
+			K(node_page_state(pgdat, NR_BALLOON_PAGES)));
 	}
 
 	for_each_populated_zone(zone) {
diff --git a/mm/vmstat.c b/mm/vmstat.c
index 16bfe1c694dd..d3b11891a942 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1276,6 +1276,7 @@ const char * const vmstat_text[] = {
 #ifdef CONFIG_HUGETLB_PAGE
 	"nr_hugetlb",
 #endif
+	"nr_balloon_pages",
 	/* system-wide enum vm_stat_item counters */
 	"nr_dirty_threshold",
 	"nr_dirty_background_threshold",
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 00:10:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 00:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909561.1316502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts9fs-0002ha-1H; Wed, 12 Mar 2025 00:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909561.1316502; Wed, 12 Mar 2025 00:10: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 1ts9fr-0002fT-QK; Wed, 12 Mar 2025 00:10:15 +0000
Received: by outflank-mailman (input) for mailman id 909561;
 Wed, 12 Mar 2025 00:07: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ts9de-00013p-7i
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 00:07: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 0c2d39a6-fed6-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 01:07:56 +0100 (CET)
Received: from mx-prod-mc-05.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-620-xPY-jPQmOkWtvLqk-0dGRA-1; Tue,
 11 Mar 2025 20:07:50 -0400
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
 (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 5C0691956080; Wed, 12 Mar 2025 00:07:46 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.88.56])
 by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 5DA631956094; Wed, 12 Mar 2025 00:07:38 +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: 0c2d39a6-fed6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741738075;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=3y2AIYNwaPbCVrw04Rp+BR5zhMHEUrAViSTJpQkqU9Q=;
	b=QE6TZarRP9zEY30q/xfKathh1q4aVtT7e6vGgQ9Nxn/QTss6CuSsPuHENKYnWkMrwCbryj
	WqrltOlGiFkFDKu3WZES+pG0Q/q8Hiwt9EUl6VslXH3dUPUvT0NBWvm1eVe0Zoe5dA/SvO
	RWL4DkX6ZeVyjL3RAyyZruVQZx78O5o=
X-MC-Unique: xPY-jPQmOkWtvLqk-0dGRA-1
X-Mimecast-MFC-AGG-ID: xPY-jPQmOkWtvLqk-0dGRA_1741738067
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	cgroups@vger.kernel.org
Cc: kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	mst@redhat.com,
	david@redhat.com,
	jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	hannes@cmpxchg.org,
	mhocko@kernel.org,
	roman.gushchin@linux.dev,
	shakeel.butt@linux.dev,
	muchun.song@linux.dev,
	nphamcs@gmail.com,
	yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com,
	alexander.atanasov@virtuozzo.com
Subject: [RFC 2/5] virtio_balloon: update the NR_BALLOON_PAGES state
Date: Tue, 11 Mar 2025 18:06:57 -0600
Message-ID: <20250312000700.184573-3-npache@redhat.com>
In-Reply-To: <20250312000700.184573-1-npache@redhat.com>
References: <20250312000700.184573-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15

Update the NR_BALLOON_PAGES counter when pages are added to or
removed from the virtio balloon.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 drivers/virtio/virtio_balloon.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
index 89da052f4f68..406414dbb477 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -274,6 +274,8 @@ static unsigned int fill_balloon(struct virtio_balloon *vb, size_t num)
 
 		set_page_pfns(vb, vb->pfns + vb->num_pfns, page);
 		vb->num_pages += VIRTIO_BALLOON_PAGES_PER_PAGE;
+		mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
+			VIRTIO_BALLOON_PAGES_PER_PAGE);
 		if (!virtio_has_feature(vb->vdev,
 					VIRTIO_BALLOON_F_DEFLATE_ON_OOM))
 			adjust_managed_page_count(page, -1);
@@ -324,6 +326,8 @@ static unsigned int leak_balloon(struct virtio_balloon *vb, size_t num)
 		set_page_pfns(vb, vb->pfns + vb->num_pfns, page);
 		list_add(&page->lru, &pages);
 		vb->num_pages -= VIRTIO_BALLOON_PAGES_PER_PAGE;
+		mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
+			-VIRTIO_BALLOON_PAGES_PER_PAGE);
 	}
 
 	num_freed_pages = vb->num_pfns;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 00:10:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 00:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909563.1316509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts9fs-0002mL-BZ; Wed, 12 Mar 2025 00:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909563.1316509; Wed, 12 Mar 2025 00:10: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 1ts9fs-0002kg-42; Wed, 12 Mar 2025 00:10:16 +0000
Received: by outflank-mailman (input) for mailman id 909563;
 Wed, 12 Mar 2025 00:08: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ts9dk-00013p-3r
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 00:08:04 +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 0fdaf5b4-fed6-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 01:08:02 +0100 (CET)
Received: from mx-prod-mc-03.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-681-DsGHc5fiN22ggfCluAAvjA-1; Tue,
 11 Mar 2025 20:07:56 -0400
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
 (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-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 58D9B1955BC1; Wed, 12 Mar 2025 00:07:53 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.88.56])
 by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 91DF71955DDD; Wed, 12 Mar 2025 00:07: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: 0fdaf5b4-fed6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741738081;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=vPsYu1/Zt9JxInUUfAbvJhaRjTUPwV0c8VAQrmxs/V8=;
	b=iFC4UXK3vhAtOQN71LGaPaE2gbEyL6Ace7aQAAw89ENB0h+rnBsGvAAqNJ8gF3mIYtsHQb
	2c78LkH/3nWwweB6OinJKMqkSUjrPyTn6rtcUN5CG7BbI2GOo2dIht8BT8bspzZfqcNGQO
	7/1m3scQp6LRvpo1cVlTRqJVJh06Yuo=
X-MC-Unique: DsGHc5fiN22ggfCluAAvjA-1
X-Mimecast-MFC-AGG-ID: DsGHc5fiN22ggfCluAAvjA_1741738073
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	cgroups@vger.kernel.org
Cc: kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	mst@redhat.com,
	david@redhat.com,
	jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	hannes@cmpxchg.org,
	mhocko@kernel.org,
	roman.gushchin@linux.dev,
	shakeel.butt@linux.dev,
	muchun.song@linux.dev,
	nphamcs@gmail.com,
	yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com,
	alexander.atanasov@virtuozzo.com
Subject: [RFC 3/5] hv_balloon: update the NR_BALLOON_PAGES state
Date: Tue, 11 Mar 2025 18:06:58 -0600
Message-ID: <20250312000700.184573-4-npache@redhat.com>
In-Reply-To: <20250312000700.184573-1-npache@redhat.com>
References: <20250312000700.184573-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15

Update the NR_BALLOON_PAGES counter when pages are added to or
removed from the Hyper-V balloon.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 drivers/hv/hv_balloon.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index fec2f18679e3..2b4080e51f97 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -1192,6 +1192,7 @@ static void free_balloon_pages(struct hv_dynmem_device *dm,
 		__ClearPageOffline(pg);
 		__free_page(pg);
 		dm->num_pages_ballooned--;
+		mod_node_page_state(page_pgdat(pg), NR_BALLOON_PAGES, -1);
 		adjust_managed_page_count(pg, 1);
 	}
 }
@@ -1221,6 +1222,7 @@ static unsigned int alloc_balloon_pages(struct hv_dynmem_device *dm,
 			return i * alloc_unit;
 
 		dm->num_pages_ballooned += alloc_unit;
+		mod_node_page_state(page_pgdat(pg), NR_BALLOON_PAGES, alloc_unit);
 
 		/*
 		 * If we allocatted 2M pages; split them so we
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 00:10:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 00:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909565.1316512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts9fs-0002tX-Lk; Wed, 12 Mar 2025 00:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909565.1316512; Wed, 12 Mar 2025 00:10: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 1ts9fs-0002r1-EP; Wed, 12 Mar 2025 00:10:16 +0000
Received: by outflank-mailman (input) for mailman id 909565;
 Wed, 12 Mar 2025 00:08: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ts9dp-00013H-H0
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 00:08:09 +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 13d008cd-fed6-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 01:08:09 +0100 (CET)
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-569-hcKnUj3kOH-9CB9AP-czdw-1; Tue,
 11 Mar 2025 20:08:04 -0400
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
 (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 629D51800259; Wed, 12 Mar 2025 00:08:00 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.88.56])
 by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 989161956094; Wed, 12 Mar 2025 00:07:53 +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: 13d008cd-fed6-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741738087;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=F2Hs8hV+/gJc3OfaS9x8cWsCD/xR9fjklu355DFl/Jo=;
	b=h7/LFnaVkUYIZb6F2nEvZdEmWqyBt7dDEoFTk6ZMcX6Yr9FDZx5P6Ae5JoY0MvpIMc4slf
	JAiMNoXzTIJupuEUWPld4ASXPr5kuPjJCoZYDNSwMok8CcUvuHlf8NstIYCrh3GKq5l/c3
	858BXLn+8xhqsQOkMCp996R9oXOPdz0=
X-MC-Unique: hcKnUj3kOH-9CB9AP-czdw-1
X-Mimecast-MFC-AGG-ID: hcKnUj3kOH-9CB9AP-czdw_1741738080
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	cgroups@vger.kernel.org
Cc: kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	mst@redhat.com,
	david@redhat.com,
	jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	hannes@cmpxchg.org,
	mhocko@kernel.org,
	roman.gushchin@linux.dev,
	shakeel.butt@linux.dev,
	muchun.song@linux.dev,
	nphamcs@gmail.com,
	yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com,
	alexander.atanasov@virtuozzo.com
Subject: [RFC 4/5] vmx_balloon: update the NR_BALLOON_PAGES state
Date: Tue, 11 Mar 2025 18:06:59 -0600
Message-ID: <20250312000700.184573-5-npache@redhat.com>
In-Reply-To: <20250312000700.184573-1-npache@redhat.com>
References: <20250312000700.184573-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15

Update the NR_BALLOON_PAGES counter when pages are added to or
removed from the VMware balloon.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 drivers/misc/vmw_balloon.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
index c817d8c21641..2c70b08c6fb3 100644
--- a/drivers/misc/vmw_balloon.c
+++ b/drivers/misc/vmw_balloon.c
@@ -673,6 +673,8 @@ static int vmballoon_alloc_page_list(struct vmballoon *b,
 
 			vmballoon_stats_page_inc(b, VMW_BALLOON_PAGE_STAT_ALLOC,
 						 ctl->page_size);
+			mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
+				vmballoon_page_in_frames(ctl->page_size));
 		}
 
 		if (page) {
@@ -915,6 +917,8 @@ static void vmballoon_release_page_list(struct list_head *page_list,
 	list_for_each_entry_safe(page, tmp, page_list, lru) {
 		list_del(&page->lru);
 		__free_pages(page, vmballoon_page_order(page_size));
+		mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
+			-vmballoon_page_in_frames(page_size));
 	}
 
 	if (n_pages)
@@ -1129,7 +1133,6 @@ static void vmballoon_inflate(struct vmballoon *b)
 
 		/* Update the balloon size */
 		atomic64_add(ctl.n_pages * page_in_frames, &b->size);
-
 		vmballoon_enqueue_page_list(b, &ctl.pages, &ctl.n_pages,
 					    ctl.page_size);
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 00:10:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 00:10:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909567.1316520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ts9ft-0002y5-1o; Wed, 12 Mar 2025 00:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909567.1316520; Wed, 12 Mar 2025 00:10: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 1ts9fs-0002vm-PE; Wed, 12 Mar 2025 00:10:16 +0000
Received: by outflank-mailman (input) for mailman id 909567;
 Wed, 12 Mar 2025 00:08: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ts9dy-00013p-CI
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 00:08:18 +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 187a1367-fed6-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 01:08:16 +0100 (CET)
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-687-a_RbZen0O8GYnddRn1Kahg-1; Tue,
 11 Mar 2025 20:08:11 -0400
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
 (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 942B7180AF4C; Wed, 12 Mar 2025 00:08:07 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.88.56])
 by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id B44AA1955DDD; Wed, 12 Mar 2025 00:08: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: 187a1367-fed6-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741738095;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=dGPxM9RdXtkX+Els8nvXOJm60GkYwZd/fztNUeVaxvI=;
	b=BAXKzrVa2UcUeyKCZ60+1DRsaTld9aBR8Qpq5KfsblfeaYGCE8RjDZTpHax+2gM57G9mlM
	SISiVEsYhVcPpbjqFECaXls9LejjtX6Jpp1Huwc3nMFdfX/bP1wnDHpXx+UGrKgtdFdKXV
	zQU9O7yKEE754tkHDlmc87rKkMa9ZeI=
X-MC-Unique: a_RbZen0O8GYnddRn1Kahg-1
X-Mimecast-MFC-AGG-ID: a_RbZen0O8GYnddRn1Kahg_1741738088
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	cgroups@vger.kernel.org
Cc: kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	mst@redhat.com,
	david@redhat.com,
	jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com,
	eperezma@redhat.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	hannes@cmpxchg.org,
	mhocko@kernel.org,
	roman.gushchin@linux.dev,
	shakeel.butt@linux.dev,
	muchun.song@linux.dev,
	nphamcs@gmail.com,
	yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com,
	alexander.atanasov@virtuozzo.com
Subject: [RFC 5/5] xen: balloon: update the NR_BALLOON_PAGES state
Date: Tue, 11 Mar 2025 18:07:00 -0600
Message-ID: <20250312000700.184573-6-npache@redhat.com>
In-Reply-To: <20250312000700.184573-1-npache@redhat.com>
References: <20250312000700.184573-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15

Update the NR_BALLOON_PAGES counter when pages are added to or
removed from the Xen balloon.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 drivers/xen/balloon.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 163f7f1d70f1..65d4e7fa1eb8 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -157,6 +157,8 @@ static void balloon_append(struct page *page)
 		list_add(&page->lru, &ballooned_pages);
 		balloon_stats.balloon_low++;
 	}
+	inc_node_page_state(page, NR_BALLOON_PAGES);
+
 	wake_up(&balloon_wq);
 }
 
@@ -179,6 +181,8 @@ static struct page *balloon_retrieve(bool require_lowmem)
 		balloon_stats.balloon_low--;
 
 	__ClearPageOffline(page);
+	dec_node_page_state(page, NR_BALLOON_PAGES);
+
 	return page;
 }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:03:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909657.1316550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDJB-0005Ss-Uh; Wed, 12 Mar 2025 04:03:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909657.1316550; Wed, 12 Mar 2025 04: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 1tsDJB-0005Sk-Qa; Wed, 12 Mar 2025 04:03:05 +0000
Received: by outflank-mailman (input) for mailman id 909657;
 Wed, 12 Mar 2025 04:03: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=r9Zr=V7=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1tsDJA-0005Se-BY
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:03:04 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20604.outbound.protection.outlook.com
 [2a01:111:f403:2413::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e409543a-fef6-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:03:02 +0100 (CET)
Received: from SJ2PR07CA0008.namprd07.prod.outlook.com (2603:10b6:a03:505::8)
 by PH8PR12MB6961.namprd12.prod.outlook.com (2603:10b6:510:1bc::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:02:56 +0000
Received: from SJ1PEPF00001CDC.namprd05.prod.outlook.com
 (2603:10b6:a03:505:cafe::2e) by SJ2PR07CA0008.outlook.office365.com
 (2603:10b6:a03:505::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 04:02:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF00001CDC.mail.protection.outlook.com (10.167.242.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:02:55 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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, 11 Mar
 2025 23:02:32 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e409543a-fef6-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=x4rUGpOsTw7Zg7BbUlQ6bhiSfeXW718vR4lt+/nNxAOI3Jr5B5ZWK8WBiUZ+wI/mMaQkw/+Vhm43su8z0L1ASPXcmx52ZDTpk8sVnrYxBS4mUy+kroP49IeapSorxZ0HzOKOl4/8sIJHt9Y30Q2ktGq/fCAq8KaBwVpmwBSa5hav6nO5K8EclYkHiTXWQn3FARhEQ+/IjY1aoiD3Y0ykMmdnHvZX8C3QWYsqr+kUD2r7sNFEg0o/wJM2S1SKR40EZQV4T7T/b2s2khYf+GQDMWDbfDje8F4sRvsMSfe2XMcRPMeRR5jqoyx/x0xLFLB3dOem6W0PHi112DSclUYwvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zrtq4lu02GTZ3RpQc3cs8zUqgEmXOa3e11NC0hVgQSo=;
 b=yjpWYqf/xsnKgFyxq0PjL/ycwErGSSEipNesI9B76zJyWiDSS9w/ai09KBNbr7uOVlaWdm9ibRglFPm9Rkr2l8W0PRXpmb0cwRPcqg1krA2T+grONRXMA1W3lcaZvm9yOKSZ2KxQt4IdOgYJ76/K7WWd8XmWaFSJMa0GfjC3usmLE/ZW/NR58fruT4cOzymbVQEzmgCXuvc2/OC5IpizWgfoLofv8dODoX1DEtJRdOKxUafxqfUVe/NMw0ej/vn7LnY5WGPVxe7qezJ/mimxS44BIitvwYy8AvFZnrBZIajGiPuZ9c5M/DnC25JRCXeCdO0DQ0UBQhpDkMCF6FfrfQ==
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=zrtq4lu02GTZ3RpQc3cs8zUqgEmXOa3e11NC0hVgQSo=;
 b=FkIUZ//miZL6uOuf8VDh+t1T1Mvlr1bhUF3TyrzgBgRDi0TH89kQisQERYP7MRV1V7dg/24DyFEolfiBAZCaMnYXL84UkQpIyF++FAFyHPIGUykoZPoTmCrDWCHa2eCiqfBTc3RUUCxHvahYgKMRskMnV6CDszZove2VOlKiitA=
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=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Community Manager <community.manager@xenproject.org>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Huang Rui <ray.huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>
Subject: [PATCH v1] CHANGELOG.md: Mention PCI passthrough for HVM domUs
Date: Wed, 12 Mar 2025 12:02:20 +0800
Message-ID: <20250312040220.2624329-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDC:EE_|PH8PR12MB6961:EE_
X-MS-Office365-Filtering-Correlation-Id: 0cf4d849-c98d-4eca-b2a6-08dd611ac52a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Zxlin1VBmRBpDuOvyL2BKc5OGEQHj8RPPOlafpTQC0i5JAkPlbTGXruFW3W3?=
 =?us-ascii?Q?FhKRUmo3Tf6XLx+PxmfidyeZHPX9lPcYaImYNDPXvucghCHXj4vZRwF07TZy?=
 =?us-ascii?Q?I+ZQigcDHm4kpTSkMosBe0GVLiDz2V3u8/MH3cb8lB/kelvffHRpSkm3/24a?=
 =?us-ascii?Q?Nav7hkMtbxyptxWQsy49oD7/Gxa04TQNr8vYDimWczXcMipnQVyJlf1YbLu7?=
 =?us-ascii?Q?hsVWVzdP2GzPIHcL1vro3ss+WAIHjtgOBm5pSCVb7jce8AwN+RunUQBF9o2A?=
 =?us-ascii?Q?Y5baiez38rQrP8ru01KVLHR8OF5h6xHnzVMwgNKct3PwWHZNWsyspV0skcfD?=
 =?us-ascii?Q?C2yqpB++DmDiSrNsytWf7g3lJ6pHpBvA7ct7lRg0AW9ht1QurutxSa/FAXXz?=
 =?us-ascii?Q?lxybuYctRhxYGbiu+2bo5Xqh1GWNnTwq5cjIBmV9gbgfbXLJIHZFWpYoGWYF?=
 =?us-ascii?Q?EwDnjJZ9IlLV9ChAmeG+v9uL+fZ6x9Q88ryKo0IgDn2nYAHd7DbUeGl+Z5P1?=
 =?us-ascii?Q?7eD4RldnsO8SMMZTqWsCPLpN0idXED8KuCQDrlpJyurr6g3OxR7cLX0gswqP?=
 =?us-ascii?Q?omC2TYUyyVONqO2G6lDc2pAoVpeC2/qJ0VAlHvE10xuDJj2jwRqRlSXS9FPc?=
 =?us-ascii?Q?2YObtvwRPpwu35WTux8MMNi0VoaqhAF169HrhCN1o30JbRwx70/ZfX2+e3GA?=
 =?us-ascii?Q?5eTTWS+sRdim1d42yyeGQflqATQ6DXYeqQVHgH0aVfTa/1WDoNwXOaLP0OSZ?=
 =?us-ascii?Q?Jc5OL9XM5oLnOaAT91SF7tlChJ4BJEGjEN3iADWY6z4QbvPYqso9ndtnaoeD?=
 =?us-ascii?Q?NGT2mqx1tJ25AlNRJjTNGxk8EVO3WODf9pxxYyPNzkm/ecyO48kjM/W/mIM1?=
 =?us-ascii?Q?lurHHFQl5GZdrIkHBkT5ceJ4Pq+GrcqywkbwQ12LvCRuPTq/uLv6leUwaww4?=
 =?us-ascii?Q?b1FcRr4T6Sdh8Cpg2non9tnURhU3tjfmEvDya7HSO5mObIr6eZ/BycHCXa7+?=
 =?us-ascii?Q?/wKLs7gj27ZppoknBe9V+ssen1B/t9qNSKy8RRp+Hl8MuvinKYGYPSF3xiid?=
 =?us-ascii?Q?hbnRK9Ksqs0iX8pRjkyg+SpqjVGHBJjm/Y+IKTIl+jxaDdc1zYzkx6I3Z6kv?=
 =?us-ascii?Q?NkqE7b4E1WaQklZzjE+WRnnzg5pdYeGPDpYw4n0C+7YhVf75p910p9Ltkpat?=
 =?us-ascii?Q?bo0D34usRnM430pGJoC8VUS647bY0eC7j26YbrLqdoxm0lcCruhSQ39BNqfx?=
 =?us-ascii?Q?PjGjlzAPknz5Rcda+GAF741EIn8ejl8DVE7UtMeF6xuvun95BRbd6EAtJ86D?=
 =?us-ascii?Q?3ZCAM5nkH+8FL/I6J6Va8faGwBXYHr9iO5BOg06sWZMbE2lsXC/1dPIaRHT0?=
 =?us-ascii?Q?TuGlsI2CLqra45qBuMx5+0OmPFXhfXKOQqnvfh+NGeP0Ghoy6prEhhp/O1Gq?=
 =?us-ascii?Q?38hILjVetr8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:02:55.9869
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cf4d849-c98d-4eca-b2a6-08dd611ac52a
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CDC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6961

PCI passthrough is already supported for HVM domUs when dom0 is PVH
on x86. The last related patch on Qemu side was merged after Xen4.20
release. So mention this feature in Xen4.21 entry.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7201c484f899..b6de9b72ea7a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - Option to attempt to fixup p2m page-faults on PVH dom0.
    - Resizable BARs is supported for PVH dom0.
+   - Support PCI passthrough for HVM domUs when dom0 is PVH.
 
 ### Removed
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909667.1316560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDN1-0006oF-DP; Wed, 12 Mar 2025 04:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909667.1316560; Wed, 12 Mar 2025 04:07: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 1tsDN1-0006o8-9j; Wed, 12 Mar 2025 04:07:03 +0000
Received: by outflank-mailman (input) for mailman id 909667;
 Wed, 12 Mar 2025 04:07: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDN0-0006o2-4U
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:02 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20629.outbound.protection.outlook.com
 [2a01:111:f403:2413::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7155ecf5-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:06:59 +0100 (CET)
Received: from BN7PR06CA0053.namprd06.prod.outlook.com (2603:10b6:408:34::30)
 by CH3PR12MB8353.namprd12.prod.outlook.com (2603:10b6:610:12c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 04:06:55 +0000
Received: from BN1PEPF00006000.namprd05.prod.outlook.com
 (2603:10b6:408:34:cafe::b2) by BN7PR06CA0053.outlook.office365.com
 (2603:10b6:408:34::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:06:55 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:06:55 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:06:49 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7155ecf5-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZCUNTCJ+UAgUi6F6wGVho2B8VJ7REFcD6zAslk3Bcqm2D+evcGXhtKpmrUYnFwfOPJRs3m8zxorNWbRGriOkxctfBeX3jUI/Y+U4nT/ZUALVa+YAA/asm7LhYJ9ccOGL/NFwDGNJBBSV0DImLH0a0bMvSrsUIWMttfJEaoeUzVsWbK9RNvt5RAcQXmJrC8ZiPoXCXgA4Xb1DcRX7LWGkhrplnkDjtm4I2xbr+OMR5sdLaw2TP/+jS9aFj8bSG3FH0sFiS9SE8qIQdjKrH9ElD91BENVvIxEg+ekgwVYhVwz0PlgonWNzIj0g1oQXnFNVQhYr0DrBvnbMROI9YE+MZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fTxQn61zy3/kl8uCurFRssFjFGLLxuJqEfkrhfnhTqM=;
 b=m3Ng4zZUEdALU/9b+Ol/QHkH3lGHOkG5CX6K3CmtoTHUrlPSm561SmCBuQC7JNSfRRy9WyNBMAbpB3BbRHRu8KUqZ3Oag8rx2M+uRGib00Ko9XIvB0wo1A8loYcfQYFxet4Bs4As3wptq1ohYVOIKs0Fz74CxzmL8DxIgHPc5a0c2vjzHZZ3dTFhdDsCyAxQk1/ZzF5hE806iINjp5pAZZDod7dNM7/4RP3fqEp09C/+TahFgffCGVqoniosTyR81owJ5av7uoqtNK8k4WeWtDoKOVsRyDUX3juRcdb2qrhr9qRJU1bDV85NN3n8K+PQwL5du7iKHdB4IYaUPAhuHg==
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=fTxQn61zy3/kl8uCurFRssFjFGLLxuJqEfkrhfnhTqM=;
 b=o5sv1f+f0X1C/xm6sVdC4sW1kjXqrJi5AL+RM6963r52zjsCBnkvdwwn3xP9IniEuMSoQx9ETS3fRjBzsBNm3vGlHvaeSa9x2mTbuGQBpuLWbJafMYgniXQWqoMoe37JIIfpOPDbVKpdFjrH/UO82a2vwcMJ9BfV5piY82MLqwo=
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=SATLEXMB04.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>, 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>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>, Dario Faggioli
	<dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<gwd@xenproject.org>, Nathan Studer <nathan.studer@dornerworks.com>, "Stewart
 Hildebrand" <stewart@stew.dk>, 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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v1 00/19] xen: introduce CONFIG_SYSCTL
Date: Wed, 12 Mar 2025 12:06:13 +0800
Message-ID: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006000:EE_|CH3PR12MB8353:EE_
X-MS-Office365-Filtering-Correlation-Id: a6d52ed9-44bd-46d1-d864-08dd611b53b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|7416014|376014|36860700013|1800799024|82310400026|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?ZJTHSTazxczB35dCe1LStU+XNWdbUaSVCVuoD+XuZk/9mkBjiYdFolP6ckc3?=
 =?us-ascii?Q?o7mKyQjDXNw3zWzBARuToWmcN54ufmKHz+7O8qPXNdKMu0npqPgGJOHqn+10?=
 =?us-ascii?Q?Ivc/XaJnYdBt90xTYgJI8hPg+apVp0+Jku7EvOKEinS49MAmfa7bi3WJxHo1?=
 =?us-ascii?Q?88XmAl3auqQ7OmVUDxha4sCNNjU6btS1fUhUK8Yi16TO7pH/sY6n+l8+RXZ7?=
 =?us-ascii?Q?7DNH/Gz4huLQYqISUa5GJDusd1rwcRhvWzWQG4cQC39ub3v6qorup8UXGRY4?=
 =?us-ascii?Q?ARREUYBcjgZcxCqozuilUVK/YtTPcpIGTYPwi9Spy8ERAPas9dsYxyrqpk95?=
 =?us-ascii?Q?JFKzp7vmX5CPaaGB9WlHjwxr7G1dMNrw1MszZh1A6vyT6Y2fkfhGBexgugth?=
 =?us-ascii?Q?il1WSLsCiP0CMv0Tkj4/6jLm+2cFoZkYxx+SRjEhWE3hlfMToak8UL0schbD?=
 =?us-ascii?Q?FXNEJ0kBXUMtaC41DSEgxIKlHl2cxe3kw65MpfLm88+LVUwU6p0hXKxWvzsF?=
 =?us-ascii?Q?WNebgAu+oxkLLLgNFe0zB4e7HQYWO0adfU7dOxAg0j4mjE9o4sTmVjlmUPJL?=
 =?us-ascii?Q?TscaNI/bNlI9ufI6hBhvqc6frqigG7N4GBcWHx7AiB8hin1OfcrbGB3BlO7e?=
 =?us-ascii?Q?+xM4uMF9ZEk902eA47aAOiRLJpdaZtu0fLeVw6KkrIifGmFqE/bXZ7I7Vavl?=
 =?us-ascii?Q?ik26Pd+qJFXiemTsWreI42V9keeda8XuNbooxn6Vzj49nReESZpc703Ioyo3?=
 =?us-ascii?Q?GmyAb0iNB5EVfe5TQ0xmnUfE8MLbuk5KkKFyl2o4CcE2XGQM9cR80V74I12e?=
 =?us-ascii?Q?KTbjuUG5KsQ1MiI++K+nS91JAuVENVa8Bn4Dl48F3ljqDvpHL0uqsq7V3y5c?=
 =?us-ascii?Q?/zH7TlbEy6v8TDMk56YMQ9ZkMXW+Au60uWT/QZCWJ/CpxRC/jzlQdTVXrbKF?=
 =?us-ascii?Q?eHH3ukuhsyqlcDmMB6ObQa2MmivohtsvON8Fe49hTJ6/U17Se7UmVV2CWiY/?=
 =?us-ascii?Q?ZujASEwyj+fzPOSoB9yWmuvgEcCqL6vLfZVoSvMsEFp+SKAHNYCpm1FN219J?=
 =?us-ascii?Q?UaDZ6AdshaOPSpJ9kA44wBMt/iekJ+AJttvk7J8Dh8cxWIIvsMp7ctQIE5Bp?=
 =?us-ascii?Q?PwMy22jQk4vsxa+pKw4ESifCYbq16qv6wKDUXCnqMuorifNN8yxrZxdUTFcY?=
 =?us-ascii?Q?/f6xkKtSSYunHYHhTQpslzD4+XZTxhpp2Hjw43goi+MBZ3nWocKMg8NlO1FW?=
 =?us-ascii?Q?zH98H/bmGe4GyVgXVff054c3gG92nIiFX+PXB6Rp8V6KJqHgsXL8Czd9kBG+?=
 =?us-ascii?Q?XaCaazd3lO3o4PrLwVUNhAdWXXbhCG8TUOyxNS5n40F0xwkht/OSWnKp0v5d?=
 =?us-ascii?Q?a+GKhXJLO7PAX0bqBxbsnIY1nlS68Np/pLem6AWc+zZKaq8Yphz0eQKbUCGO?=
 =?us-ascii?Q?kB09n0miL80wXBUjJeLmD0kxL3+txosoFeUESs7svcBCPqVZz7eqFeHFFDnH?=
 =?us-ascii?Q?v+ZV9Kb7r03WgfE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(376014)(36860700013)(1800799024)(82310400026)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:06:55.2447
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a6d52ed9-44bd-46d1-d864-08dd611b53b5
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=[SATLEXMB04.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: CH3PR12MB8353

It can be beneficial for some dom0less systems to further reduce Xen footprint
and disable some hypercalls handling code, which may not to be used & required
in such systems. Each hypercall has a separate option to keep configuration
flexible.

Options to disable hypercalls:
- sysctl
- domctl
- hvm
- physdev
- platform

This patch serie is only focusing on introducing CONFIG_SYSCTL. Different
options will be covered in different patch serie.

Features, like LIVEPATCH, Overlay DTB, which fully rely on sysctl op, are also
being wrapped with proper CONFIG_SYSCTL, to reduce Xen footprint as much as
possible.

It is based on 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 (17):
  xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
  xen/sysctl: wrap around XEN_SYSCTL_readconsole
  xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
  xen/sysctl: wrap around XEN_SYSCTL_sched_id
  xen/sysctl: wrap around XEN_SYSCTL_perfc_op
  xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
  xen/sysctl: introduce CONFIG_PM_STATISTIC
  xen/sysctl: make CONFIG_PM_STATISTIC depend on CONFIG_SYSCTL
  xen/page: fix return type of online_page()
  xen/sysctl: wrap around XEN_SYSCTL_page_offline_op
  xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
  xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
  xen: make avail_domheap_pages() static
  xen/sysctl: wrap around XEN_SYSCTL_physinfo
  xen/sysctl: wrap around XEN_SYSCTL_coverage_op
  xen/sysctl: wrap around XEN_SYSCTL_livepatch_op
  xen/sysctl: wrap around arch-specific arch_do_sysctl

Stefano Stabellini (2):
  xen: introduce CONFIG_SYSCTL
  xen/sysctl: wrap around sysctl hypercall

 xen/Kconfig.debug                            |   2 +-
 xen/arch/arm/Kconfig                         |   2 +-
 xen/arch/arm/Makefile                        |   2 +-
 xen/arch/riscv/stubs.c                       |   2 +
 xen/arch/x86/Makefile                        |   2 +-
 xen/arch/x86/acpi/cpu_idle.c                 |   2 +
 xen/arch/x86/acpi/cpufreq/hwp.c              |   6 +
 xen/arch/x86/acpi/cpufreq/powernow.c         |   4 +
 xen/arch/x86/include/asm/psr.h               |   2 +
 xen/arch/x86/psr.c                           |  18 ++
 xen/common/Kconfig                           |  17 +-
 xen/common/Makefile                          |   2 +-
 xen/common/page_alloc.c                      |  11 +-
 xen/common/perfc.c                           |   2 +
 xen/common/sched/arinc653.c                  |   6 +
 xen/common/sched/core.c                      |   4 +
 xen/common/sched/cpupool.c                   |   9 +
 xen/common/sched/credit.c                    |   4 +
 xen/common/sched/credit2.c                   |   4 +
 xen/common/sched/private.h                   |   4 +
 xen/common/spinlock.c                        |   2 +
 xen/common/sysctl.c                          |   4 +-
 xen/drivers/acpi/Makefile                    |   2 +-
 xen/drivers/acpi/pmstat.c                    | 192 ++++++++++++++++---
 xen/drivers/char/console.c                   |   2 +
 xen/drivers/cpufreq/cpufreq.c                |  31 +++
 xen/drivers/cpufreq/cpufreq_misc_governors.c |   2 +
 xen/drivers/cpufreq/cpufreq_ondemand.c       |   2 +
 xen/drivers/cpufreq/utility.c                | 164 +---------------
 xen/include/acpi/cpufreq/cpufreq.h           |   6 +
 xen/include/acpi/cpufreq/processor_perf.h    |  12 +-
 xen/include/hypercall-defs.c                 |   4 +
 xen/include/xen/acpi.h                       |   2 +
 xen/include/xen/console.h                    |   8 +
 xen/include/xen/hypercall.h                  |   8 +
 xen/include/xen/mm.h                         |  19 +-
 xen/include/xen/perfc.h                      |   8 +
 xen/include/xen/pmstat.h                     |   2 +
 xen/include/xen/sched.h                      |  22 +++
 xen/include/xen/spinlock.h                   |   7 +
 xen/include/xsm/dummy.h                      |  21 ++
 xen/include/xsm/xsm.h                        |  27 +++
 xen/xsm/dummy.c                              |   6 +
 xen/xsm/flask/hooks.c                        |  14 ++
 44 files changed, 464 insertions(+), 208 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909668.1316570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDN3-00073C-OE; Wed, 12 Mar 2025 04:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909668.1316570; Wed, 12 Mar 2025 04: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 1tsDN3-000733-Ko; Wed, 12 Mar 2025 04:07:05 +0000
Received: by outflank-mailman (input) for mailman id 909668;
 Wed, 12 Mar 2025 04:07: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDN2-0006o2-Ln
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:04 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2415::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73571b4c-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:03 +0100 (CET)
Received: from BN9PR03CA0389.namprd03.prod.outlook.com (2603:10b6:408:f7::34)
 by PH0PR12MB7840.namprd12.prod.outlook.com (2603:10b6:510:28a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:06:58 +0000
Received: from BN1PEPF00005FFD.namprd05.prod.outlook.com
 (2603:10b6:408:f7:cafe::62) 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.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:06:58 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00005FFD.mail.protection.outlook.com (10.167.243.229) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:06:58 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:06:54 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73571b4c-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IzHAZFRS4Em+KPaYUrN9V4a9ZznKRZLpLp6NAvEa8+QdIHU/J+IsriCReN50BYAbHb5onVzfBRh8pRdwDr07u78AoL+kot9kYUoiRBbMSSATkwvxBdyfAsay14j6Jeo6mm+y4VA9jYja3NxF73+lHf21rsW/klRk0nlQj3HIPL08ssRQqliroAHe5W/Jm8QHLoVuK4pxCUFOkaAltrmctlYyF0IMp8hHDJEhiv4COl/KbwIWLhKPWHnz+LdSXCy6x0UlylobHqK3PBk9RO5QTW8c1cAEvd0aU7GgV/0tL91GKWnslm/cWZ7teVuqaVR3ZIQ6KojiaCncdqFkcGDVWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QbN9hLSoIYbmj6b7CVezgOjL65vV44FxolcdmjDHBPU=;
 b=Yqabbb3ZVXV+y2DewWh+AEZGZQsB/qZr/zLPhExay+lrvrv+8xnUum/4tXElUz2FUKLG5oK+pPSFs8fRotKdWMh13cSj5q0Dn3V/h+CyxqynmHdQT7ZJiyz2LOmW4f+LxGDsLcQ+2Y3IJep2lupJJU4c6pM8yxU4KLXENbOEZf9/XEGCZkaKLWwdyTbqkg8LfjNHe6sN09bWEjYt1Z04Y0miXPCJj9+ikSvx/gmg+b+fgG2+GZolLcPrfw0y7KYcahOFk0e1K8VvG8VeRrJvtzS4Lo1EvjhhgiVC3+5UfiZla74/ga/UEoErwbzWBHWbsiLe3hkv1ZrdiKbsM0G5nw==
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=QbN9hLSoIYbmj6b7CVezgOjL65vV44FxolcdmjDHBPU=;
 b=edqZhhVFxJZXFsgTJ1q9noBeWMmJB2g1SvW5cHxaEV9Z3Y8V/8lkhihYCC1dDl7JtBA0p8Ydsn+dXKmDJyOx/m1PHm3do4eSWv9IyoBEwOfvfuhcrBOEnp8WfOp30kz8BGxmkZOWVZFYma84HVryq+RuLxp1bLfYAY7kJ6HjAN8=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Stefano Stabellini <stefano.stabellini@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>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Penny Zheng <Penny.Zheng@amd.com>
Subject: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
Date: Wed, 12 Mar 2025 12:06:14 +0800
Message-ID: <20250312040632.2853485-2-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFD:EE_|PH0PR12MB7840:EE_
X-MS-Office365-Filtering-Correlation-Id: fde9096f-ae70-4999-a108-08dd611b5578
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?X6sxGB8ELVjXOcXA8q4hjt451rqB7Ios1o6ldDaNImP7UvonQtPWnKTC9op2?=
 =?us-ascii?Q?zc6c42npO5ycWiRTw0yKdqsHKrZfoJJzAnyHvFtECOgstBp6anYZEvFS7KR2?=
 =?us-ascii?Q?M2jkDV1gp58wMzXuNHbMj5A4uXm6DZ1mDn89EoyueM95N80rtZjc9XrCBqX+?=
 =?us-ascii?Q?xWgFJzgQU3oOiLM6MoOQ+GRav60Wjl6d+7sfV3rhJSB8V1+Lc9Ho0R1WzhWT?=
 =?us-ascii?Q?zVqZlNTS21ORQ2LaaFrW82AnWiV35vNoqfhRXPg7S+q0gxQhCqME+1bhhpxO?=
 =?us-ascii?Q?2wg946nWWVSHyH7xsfQMT6QITN11qlrUjwxY/UM+IC/A5z66BAi1BZEt4b60?=
 =?us-ascii?Q?ZKX2QC50B2YjSDkx+BFwFNe5Psi/QO9U+edWNjjr4jO9/czfLxKX+fbKrykZ?=
 =?us-ascii?Q?/oFVXOVmui0JnGCCGzIuXmTNG9T0brgROCfUQ4nMFipPvYJ4ud6/zQ0GYHqT?=
 =?us-ascii?Q?c+wfwKnXFWN9Whg6Ws1e2Y39umq9zt/eVQNp0WmZ00gvYG86D1iQ5rYXYIXz?=
 =?us-ascii?Q?Bl/7ZFtJ+bSOqUxScRgmPViWAueOVZ2xmDb5pEUMViU0WBj/HDuX5/1MxGgM?=
 =?us-ascii?Q?hK1cQo0Bqaeq1yAZoNcbisDYOZ0Awctg8IkKKMJKCWSntQRj8XzjxG2cSeve?=
 =?us-ascii?Q?8s/UeUbQe+6RQhhhbRrBPS7u0QDEZdyay+fLHAbAbcx6HommpuklWhTqlqof?=
 =?us-ascii?Q?Q+fPWM+oTMMQVa7sOdT/LWTdCorj+6YnypSdhuDAIj8F1OhKythEnUVjwgpo?=
 =?us-ascii?Q?GR5fnuvc0oqjLaGjk1lDRxlBFxodsdBzWtwNNT+GQOM30RYQLlCDcdpS5rIi?=
 =?us-ascii?Q?vfoDxgKaAsdctzxs8r6FePSaK4OD7mK0wJ3hUGrWoaSnj9zb1y2RBI/RTUmw?=
 =?us-ascii?Q?ruxIkp0fxN5tuTF+XQaZfYcOLPWpWs4qiSzXNh2fB5uciAvNUpZldU4lrbMd?=
 =?us-ascii?Q?tWpb2CbvQMXfg1yNkRnlXgm6Yf0AX6/hyNew+nFZBAvSMiKX7Sp1+1IBo6dc?=
 =?us-ascii?Q?o7YolSZ8kaaYyVJwKGAB8Mq+tSZSu5aAyXwOOoz92DPrM9zelzKgGVBLGlJI?=
 =?us-ascii?Q?n9MqYj4jG0+6itpd1q9u18rSsS4+7llz6KU0gGrTiRI3G88Avu5faRh1Ttmt?=
 =?us-ascii?Q?Oyk8lra13FQRHQNYiYHOc9YKTszQFfXNFYVJ/h2H6RYS36LHxlrF6+LlW48N?=
 =?us-ascii?Q?JZmq0vAj+RU3yafabIG8fMbtU9fJ7Akj1QOOM/Q086fy5lBaSVNhITxpNlNN?=
 =?us-ascii?Q?JS21rpa5rJjLD7V/u9ktIUK83iHWDJMz9E9qLo5DZTuUmnq5LfGiGmUbLzFY?=
 =?us-ascii?Q?H1/5wrAFvdWvoX1h+RmrxzuLgC8+Ny3ZdPbiPLO2Ik4CXDFiIEtu52m/PUFd?=
 =?us-ascii?Q?qixklVRWVmW+kt13yAteAtF1dvLItbvaKGuFpGDRk5THBOsyIWNzoiRo2L3t?=
 =?us-ascii?Q?cxyWlnN+EVEviMDc2i9Y/KG9muvWeioi2mY93DyC9jmZ4coJPyyUsqWV46mC?=
 =?us-ascii?Q?IOjDCpDxYVBLOtQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:06:58.1989
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fde9096f-ae70-4999-a108-08dd611b5578
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFD.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7840

From: Stefano Stabellini <stefano.stabellini@amd.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/Kconfig | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6166327f4d..72e1d7ea97 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -519,6 +519,15 @@ config TRACEBUFFER
 	  to be collected at run time for debugging or performance analysis.
 	  Memory and execution overhead when not active is minimal.
 
+menu "Supported hypercall interfaces"
+	visible if EXPERT
+
+config SYSCTL
+	bool "Enable sysctl hypercall"
+	depends on !PV_SHIM_EXCLUSIVE
+	default y
+endmenu
+
 config LLC_COLORING
 	bool "Last Level Cache (LLC) coloring" if EXPERT
 	depends on HAS_LLC_COLORING
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909669.1316580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDN5-0007JH-V5; Wed, 12 Mar 2025 04:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909669.1316580; Wed, 12 Mar 2025 04: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 1tsDN5-0007J6-Rk; Wed, 12 Mar 2025 04:07:07 +0000
Received: by outflank-mailman (input) for mailman id 909669;
 Wed, 12 Mar 2025 04:07: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDN4-0007Fd-SH
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:06 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2062b.outbound.protection.outlook.com
 [2a01:111:f403:2407::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75301f12-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:07:05 +0100 (CET)
Received: from BN0PR02CA0017.namprd02.prod.outlook.com (2603:10b6:408:e4::22)
 by SA1PR12MB6702.namprd12.prod.outlook.com (2603:10b6:806:252::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:01 +0000
Received: from BN1PEPF00006002.namprd05.prod.outlook.com
 (2603:10b6:408:e4:cafe::3d) by BN0PR02CA0017.outlook.office365.com
 (2603:10b6:408:e4::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 04:07:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006002.mail.protection.outlook.com (10.167.243.234) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:00 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:06:57 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75301f12-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BNK9fj2GSoUKbulpzdaO0jpRR/vfgZtLigm/oQiRwNHHPuXxk87hL4CVGdEYEVdZLPfx7UtuIrEBX64XNC0qJbQhJWea3f9yf7xN3xAEwqsZzdV2zwLmQE3Gc+tpGEj97bybPB1NknpzKEbZOTE5FRf2G0cbwB6Sh6qpP/fGWRtmFTsFWSUQEIthSoGieJo6cLKdKWk9IvvoCHsKWvQrNL/oqDS+B1ldYVrWKeaEJl6+D6fMt9CwzQXLUsNN6iVLfsRUGQeMCUdh9beRMvCM72y73AaUXg3ELNLneKpNmdbmfj5lEVkIz9Cqlbay7Jf2dc2YNh/LzoZ596l+LxjoTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jNZ6mxJPEktxyT1PTUMdc+Ph6uJ6rlUxizi8pvIjKXg=;
 b=EOyZ4ZJj9hxEOmwXIIFjExSVU/USBdmbG7ElXBlFb24TF+Y/rCgb55vj58bLKXA8DLkxBtxI9HVtYupYj07z0oxosePYzAJ4wAMVVRluYHZR/dvNy6kMO3b60yTf1IQmaNYQsiLOjIlVL4dzM1TFC409PdMOeU91ajiA+nOaUuqdUae3AolUoE0V2bA0mbGvP2becXvaji1w0CevcZDjC5frD+JS5rP9vyTG3y8k4nRMlLDt/ESxCK3CRYw5YmZ1lz+FPo6Uapt7zRIpIy6Je5DQ566/Duh7XgRtl2cvqvN9bF6OC4Gl8X4IKoHMrJIVovcREzfzwPpMrU8jodyL8A==
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=jNZ6mxJPEktxyT1PTUMdc+Ph6uJ6rlUxizi8pvIjKXg=;
 b=KAPmM09Bxy5O31t0rGbpPPg2i81tjjbyhVGthHXjy7SGKe/2Rj37ezF+ekHu5rhf67MM0akI0sPN5zC3qpHnast7QcmQ/S9s3giwFI/T6mz+jbdXjXKa5evq4hOvt/ILekyKuAaraTH2JCUkqyNEqvX1NsMpG1W1tQJYuznKA1k=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v1 02/19] xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
Date: Wed, 12 Mar 2025 12:06:15 +0800
Message-ID: <20250312040632.2853485-3-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006002:EE_|SA1PR12MB6702:EE_
X-MS-Office365-Filtering-Correlation-Id: b1f80e15-a626-4a0c-eb4e-08dd611b56ce
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?nAU2EQI5nYAxq0IZO3WgTArcIJ4ME8GmCzc9WjdqOH45ZDO/iu7nro4FJb1x?=
 =?us-ascii?Q?yIXaGnkj6s4HAd9AmlAY2bdVMQd/kT2K7bjXctiRHkVlRc3Hxo01sVRL6bkK?=
 =?us-ascii?Q?FWH/Zhqg/wiG9IpkNcDGhVMYn43V2cRR6HyySO1aDX+IJt2+YUvMfl+Vcpet?=
 =?us-ascii?Q?6dP2r141V5asY9SLfdxm6714SZ9kMuTCIFpr9tpgGxJl4F2Nf06DMBNP/VG8?=
 =?us-ascii?Q?YSKPyY51zy97gXiWI4zR1Fsr19DVULinpS5+2sJz3JkQYohao+93giN1b93q?=
 =?us-ascii?Q?2pX/LOnWqxHg75PJXxubwkRFSRFLpHNRbdQ7MUhcSEaVO+vvaAu8nKf1KWXM?=
 =?us-ascii?Q?kQwniAozqwpoNSucrbEcOsv731waJl1ENn4VJ7Uvc4dGUCw/lWObjhh6aCDR?=
 =?us-ascii?Q?an+pnvaxenqZY205r0jejbz6vpDiEW4zhKs5qkja/ybSuZgG5vUnLX7QVC5R?=
 =?us-ascii?Q?SKiw0xmFE3KTITfOh+0vqW0pxTl5oYMKyslPwaxM0wDd3BhMceSkpLkZAYxb?=
 =?us-ascii?Q?AaWesNl3G1e9rlzeqcepoDpkK3VDKE3RqNvqlZr8bcQ9VMQIQ7inwSMzYG9A?=
 =?us-ascii?Q?edrKVJzme+/2DnHpIBLTV/0NX+JIsulhOg14R+83Wx+RCA+XyIkVsllyl9FH?=
 =?us-ascii?Q?0pTeAxERrdYnU/X4EstKJzO401U25hwjoeq9Qo0NECyIwfvJZIcGgT5/hRvl?=
 =?us-ascii?Q?AgtI2P+nnMGqXQNqFje7Z6qMR1OWRjYZG0NB1CKXXdR/kYoima0Z5+qVazvW?=
 =?us-ascii?Q?Lbp2yIU7JfT2iy25wo7DwEhoylyKfOtNagtWTaIloXXp9AJj/gbfnf6ESMYL?=
 =?us-ascii?Q?09HyJreTrzmmEbLSUnr4U/ASYh6MdTV0ugvwdw+q14Kl8xoBM+Jh/BdNnY+H?=
 =?us-ascii?Q?8+9z1fwNRUl5/qJ5Qzi/oa9EytkuIZW/8HAaXklpw2lzrQ6pCRx2/m1O4dLN?=
 =?us-ascii?Q?K7qa2YOkiPUBIYqEZryds1Rb8erkfv9heYTRTm/L+ivNi/eWbNWgabiqVm0c?=
 =?us-ascii?Q?xi+adS2BKVz4n6VqJHg3GJMN4xGYV0lIWosh02Fh8OGDDwb94vpVyEHTUmRu?=
 =?us-ascii?Q?DZnc4Uf/DVBX8mMDTpx1pLyd7vz2MoZu9DACnwlGMOlunxDXQ9QEaiUYT3Cv?=
 =?us-ascii?Q?+ekH8v6SvJy0EeMNX2T7Q8i79GhTThzEeHlchnVsP/HepJTqY3sigkK2kyr4?=
 =?us-ascii?Q?cKxsNck/WdWHvUJ+qeJwXhPpYYZbLF+TVm+J5qzGbLK1es9TP0S9M4TPXPC4?=
 =?us-ascii?Q?l50PEgedVQso+UVlzrJBdrThh0lzbX/8spIuYSZJEIxebEYOpbYX/qkQGAgd?=
 =?us-ascii?Q?0a3KKt2pMcYCdQ21OoolQ20TCFc3s4WgfvLgJf+E1XU0iJoS0Ml+EKu685O7?=
 =?us-ascii?Q?EzDJSuDNZv5KLOuZmmyE75R51rOdHT6O8xIcB9qu5UZWGMQlP1hfLY/guNwX?=
 =?us-ascii?Q?wJuEoZFxMlcv38/06idbz+HD3LDEx5mlFBBOSgZJgAV/cAtvtqsWFRR12xtP?=
 =?us-ascii?Q?/7aiVUYrgCRYwio=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:00.4422
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b1f80e15-a626-4a0c-eb4e-08dd611b56ce
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006002.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6702

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/include/xsm/dummy.h | 7 +++++++
 xen/include/xsm/xsm.h   | 9 +++++++++
 xen/xsm/dummy.c         | 2 ++
 xen/xsm/flask/hooks.c   | 4 ++++
 4 files changed, 22 insertions(+)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index a8d06de6b0..afc54a0b2f 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -180,11 +180,18 @@ static XSM_INLINE int cf_check xsm_domctl(
     }
 }
 
+#ifdef CONFIG_SYSCTL
 static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
 {
     XSM_ASSERT_ACTION(XSM_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
+#else
+static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 static XSM_INLINE int cf_check xsm_readconsole(XSM_DEFAULT_ARG uint32_t clear)
 {
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 8c33b055fc..276507b515 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -60,7 +60,9 @@ struct xsm_ops {
     int (*sysctl_scheduler_op)(int op);
     int (*set_target)(struct domain *d, struct domain *e);
     int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref);
+#ifdef CONFIG_SYSCTL
     int (*sysctl)(int cmd);
+#endif
     int (*readconsole)(uint32_t clear);
 
     int (*evtchn_unbound)(struct domain *d, struct evtchn *chn, domid_t id2);
@@ -259,10 +261,17 @@ static inline int xsm_domctl(xsm_default_t def, struct domain *d,
     return alternative_call(xsm_ops.domctl, d, cmd, ssidref);
 }
 
+#ifdef CONFIG_SYSCTL
 static inline int xsm_sysctl(xsm_default_t def, int cmd)
 {
     return alternative_call(xsm_ops.sysctl, cmd);
 }
+#else
+static inline int xsm_sysctl(xsm_default_t def, int cmd)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
 {
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index ce6fbdc6c5..0a5fc06bbf 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -22,7 +22,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
     .set_target                    = xsm_set_target,
     .domctl                        = xsm_domctl,
+#ifdef CONFIG_SYSCTL
     .sysctl                        = xsm_sysctl,
+#endif
     .readconsole                   = xsm_readconsole,
 
     .evtchn_unbound                = xsm_evtchn_unbound,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 389707a164..7c5e7f5879 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -856,6 +856,7 @@ static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
     }
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check flask_sysctl(int cmd)
 {
     switch ( cmd )
@@ -933,6 +934,7 @@ static int cf_check flask_sysctl(int cmd)
         return avc_unknown_permission("sysctl", cmd);
     }
 }
+#endif
 
 static int cf_check flask_readconsole(uint32_t clear)
 {
@@ -1884,7 +1886,9 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
     .set_target = flask_set_target,
     .domctl = flask_domctl,
+#ifdef CONFIG_SYSCTL
     .sysctl = flask_sysctl,
+#endif
     .readconsole = flask_readconsole,
 
     .evtchn_unbound = flask_evtchn_unbound,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909672.1316590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDNA-0007cf-8K; Wed, 12 Mar 2025 04:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909672.1316590; Wed, 12 Mar 2025 04:07: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 1tsDNA-0007cY-4O; Wed, 12 Mar 2025 04:07:12 +0000
Received: by outflank-mailman (input) for mailman id 909672;
 Wed, 12 Mar 2025 04:07: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDN9-0006o2-50
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:11 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062b.outbound.protection.outlook.com
 [2a01:111:f403:200a::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76d9b4e1-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:09 +0100 (CET)
Received: from BN0PR02CA0015.namprd02.prod.outlook.com (2603:10b6:408:e4::20)
 by IA0PPFAF883AE17.namprd12.prod.outlook.com
 (2603:10b6:20f:fc04::be1) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 04:07:03 +0000
Received: from BN1PEPF00006002.namprd05.prod.outlook.com
 (2603:10b6:408:e4:cafe::e9) by BN0PR02CA0015.outlook.office365.com
 (2603:10b6:408:e4::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 04:07:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006002.mail.protection.outlook.com (10.167.243.234) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:03 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:06:59 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76d9b4e1-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MWQmTq78xCvWDdrXeBmv6ibx0YsGReARteo1t6cC4v8UvAn6L8KFTac3ISE2tKa+lBRFcOtR14oAlvqzoCV43dsNDyBgMauJA5VCPpxR4CGEf/dFy6uRxUFkx3jJHhmCbFm6LmMAOvuRNiBcbYctWSG0Y9DT3fa9gxgWBDqimhuqYKR+dOwZEuAJEUqxN/eooZP6uL1+ZJXVfyo1q8OZ1i3j/KPmt9CYJIvxmwSt2pnGuykV4ypJq1hiJJlu96rdCEL9k2X+AF1ycA/KJyQ+S48VSxO0mWitNGLnNoW3gUiLAPFHbKaQUG2J6/YRUWZFSyP56dSqTPX6YzZ76391Ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hfJvd41dMivz5QRFtPQPjoU8VhwHzIPONjPe2MQlcts=;
 b=PymuyoOysdLP2dldS3Tt9E9ZMEhZ8dhxDkHxYcOmMZgBtBRHebEh5nl/FyDJjBhRf4u2MvH8Fe8J5rvesJg0aZi8g302XTd/fNAHcX5yRSBrZ1e0pn+ihRlx//fh4B83bfiE/UPyyDG2tn6INhEZyeKj5pZ9oagDKmfV7N/3RiCCAHfGhBykBnnWG5IMWeUzVdXt3HRicJ/GeLaKwb4wdwJYsHMdOFRyBrUSV8+BffE+/R2GsKA07nQuyGEq6hsI57aidyU5Q4PzHfSgAl4dgc+pI6N+SEZZ0a4KDKWS/leS4fV846p5M+D9TjS1b5+vg2gQd0CyPAU4ZHD7XqDjqQ==
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=hfJvd41dMivz5QRFtPQPjoU8VhwHzIPONjPe2MQlcts=;
 b=n+gy4BodC8GBmQti5umGZ8jhtF46DboCYbK6z6rmqL0Jli/HT4cKiEP5rqHrhCp3Du2M8W17de9QXNPHebnBJEo6BcxBjYSd508kjSCYNOz6f2qDL3GvFzM31cLbZpVlwcjE1rp6mg0PiMIH0Gf6jfu90dwOWxP40DkU7XssF2c=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v1 03/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
Date: Wed, 12 Mar 2025 12:06:16 +0800
Message-ID: <20250312040632.2853485-4-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006002:EE_|IA0PPFAF883AE17:EE_
X-MS-Office365-Filtering-Correlation-Id: 9343d474-6fc9-4d37-4a2b-08dd611b58d4
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?AT32nOezBV3/d3k8muScHV5l5VPFzI6CYIwoioMVcDJHGA77DSfpzWGhT5Ak?=
 =?us-ascii?Q?x3r3N2Zs23hzWcY4JtUkBUu4Jrqb52mS7d1FBp9NYaO5sgZwg6hVWVlPjJ1O?=
 =?us-ascii?Q?E65BpQNrqUO6hZN6ETLAbq/aortkNiUL08DA/bgvDr1S7qwSYOUeLirbgd+c?=
 =?us-ascii?Q?OztjQC4zON7nDpi7HMbjieVVl+Udqepwlzi58KiGSIbuBYRt8VS3R3pJVy+E?=
 =?us-ascii?Q?CJzKN9O+IpjsG+Oa9gMGyE3+D6fonVeokXooqj2kXy1FC3vTl+Co+7biKW4I?=
 =?us-ascii?Q?C+4M2PKW2+bnkn6/jUJRlb03etCKDbg9AvBBmZ7PD3TFr2HBofGHF/Ku+ggs?=
 =?us-ascii?Q?xzBb+8lQVlqCNpzRBrEkRgAArlaRmgo1i2hjq7FP+7T/c1bsNCuT0phYoG6y?=
 =?us-ascii?Q?fNlwoAASULeiplsoErRsKTWZ3wwBvRjRwcp4ArXI9DIUWh9qhbHj62qLttOr?=
 =?us-ascii?Q?DfmcqfqYt/LoMMktVyiEL+SU3i2+1GxYV3LittT9M732UqkhNbA0/1jSgWM5?=
 =?us-ascii?Q?ENONr2HVr5xEodpyipIu0CdqPP1xQVm2Niql+otMdaGXH9b/S6a/TPZTrc8i?=
 =?us-ascii?Q?DExmf610ljzJDIEzQKolBN5P9xSR3h+yGYWqhDAP0u514nfxAvm9JprEalFO?=
 =?us-ascii?Q?Hd4t6OUhJgvxRwQ+IKbIejgD3Df2jusUmkAyrpPp+owdAICRoFk/JOc670tA?=
 =?us-ascii?Q?KNe2y/fFjcpD9tEl1BIMolDHmOilUhrxs3kPB/oPJjlHxMLn5CRmvIb7+b8a?=
 =?us-ascii?Q?FI6wIArelOyP7klxaZS2WRk/zCPVy64YQ7t0/GH69CWj27DCgeJ/U3a0fWIj?=
 =?us-ascii?Q?5V7RT2MOoRjcbPgqFIINaP4Phr5OeMQt4QfqFVwYYJ8M8Zt79JQTmwvh+Q66?=
 =?us-ascii?Q?DKJ6cIuUBABoQQ9qaPTjSrQz9z9W5Br7NjlwiBE+7QyHS7v409GPyC05qLxB?=
 =?us-ascii?Q?VRh07H4jc1JeDma5ZnczLxrOk1nB/UjsGn9xRvv56HDCw+7UuJ+gNOUODS9e?=
 =?us-ascii?Q?+GiLgcDTBISw4eF7AQhbebw3ik05iuO1zQfmUKelWekOuBhSumnn+89g2yH8?=
 =?us-ascii?Q?bmU4msqj9DLovdq1bkibGnLVV3F5lBQuP23R4BZoVr0V/kC2zKWPiG6L0IU+?=
 =?us-ascii?Q?Th7MTq+QQP95dPqzZGGlN4gTWR1PIkgGW9xTRozZzxld1e1vXqKxHjRRXj9k?=
 =?us-ascii?Q?YD3nGmYxDHw3FGc8bkzWWk1tlAETRSvJjqzwLM8JV6GiZsBM2hEWFHJjQSXU?=
 =?us-ascii?Q?BB+A50lCevwT05m30FrJLBeXxpRns8LBM1vSnoF+gzz4f5VU8XSepMdLjAB6?=
 =?us-ascii?Q?rP+/T99XQOSAEGhbChO679w8iLLRFAamUHobO04kkAoQ9N+/Brq3g7IA4cAY?=
 =?us-ascii?Q?R6wxxo+UaD4YiS4NUspXKotUpnFVoxHRHj5nWFgMnBsVuvzD59krl64LWZJR?=
 =?us-ascii?Q?E4avd/wjAmHeRWmG4UgJjQfa/Pc4AIIt05+LZc9Aora40eY7BWJbdDxpBrhB?=
 =?us-ascii?Q?0zGI1nIh3gcE4FM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:03.8328
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9343d474-6fc9-4d37-4a2b-08dd611b58d4
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006002.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPFAF883AE17

The following functions is to deal with XEN_SYSCTL_readconsole sub-op, and
shall be wrapped:
- xsm_readconsole
- read_console_ring

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/drivers/char/console.c |  2 ++
 xen/include/xen/console.h  |  8 ++++++++
 xen/include/xsm/dummy.h    | 11 ++++++++---
 xen/include/xsm/xsm.h      | 11 ++++++++---
 xen/xsm/dummy.c            |  2 +-
 xen/xsm/flask/hooks.c      |  4 ++--
 6 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 2f028c5d44..6e4f3c4659 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -336,6 +336,7 @@ static void conring_puts(const char *str, size_t len)
         conringc = conringp - conring_size;
 }
 
+#ifdef CONFIG_SYSCTL
 long read_console_ring(struct xen_sysctl_readconsole *op)
 {
     XEN_GUEST_HANDLE_PARAM(char) str;
@@ -378,6 +379,7 @@ long read_console_ring(struct xen_sysctl_readconsole *op)
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 
 /*
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index 83cbc9fbda..e7d5063d82 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -7,12 +7,20 @@
 #ifndef __CONSOLE_H__
 #define __CONSOLE_H__
 
+#include <xen/errno.h>
 #include <xen/inttypes.h>
 #include <xen/ctype.h>
 #include <public/xen.h>
 
 struct xen_sysctl_readconsole;
+#ifdef CONFIG_SYSCTL
 long read_console_ring(struct xen_sysctl_readconsole *op);
+#else
+static inline long read_console_ring(struct xen_sysctl_readconsole *op)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 void console_init_preirq(void);
 void console_init_ring(void);
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index afc54a0b2f..35d084aca7 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -186,18 +186,23 @@ static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
     XSM_ASSERT_ACTION(XSM_PRIV);
     return xsm_default_action(action, current->domain, NULL);
 }
+
+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);
+}
 #else
 static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
 {
     return -EOPNOTSUPP;
 }
-#endif
 
 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);
+    return -EOPNOTSUPP;
 }
+#endif /* CONFIG_SYSCTL */
 
 static XSM_INLINE int cf_check xsm_alloc_security_domain(struct domain *d)
 {
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 276507b515..d322740de1 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -62,8 +62,8 @@ struct xsm_ops {
     int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref);
 #ifdef CONFIG_SYSCTL
     int (*sysctl)(int cmd);
-#endif
     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,
@@ -266,17 +266,22 @@ static inline int xsm_sysctl(xsm_default_t def, int cmd)
 {
     return alternative_call(xsm_ops.sysctl, cmd);
 }
+
+static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
+{
+    return alternative_call(xsm_ops.readconsole, clear);
+}
 #else
 static inline int xsm_sysctl(xsm_default_t def, int cmd)
 {
     return -EOPNOTSUPP;
 }
-#endif
 
 static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
 {
-    return alternative_call(xsm_ops.readconsole, clear);
+    return -EOPNOTSUPP;
 }
+#endif
 
 static inline int xsm_evtchn_unbound(
     xsm_default_t def, struct domain *d1, struct evtchn *chn, domid_t id2)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 0a5fc06bbf..4c97db0c48 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -24,8 +24,8 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .domctl                        = xsm_domctl,
 #ifdef CONFIG_SYSCTL
     .sysctl                        = xsm_sysctl,
-#endif
     .readconsole                   = xsm_readconsole,
+#endif
 
     .evtchn_unbound                = xsm_evtchn_unbound,
     .evtchn_interdomain            = xsm_evtchn_interdomain,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 7c5e7f5879..7c46657d97 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -934,7 +934,6 @@ static int cf_check flask_sysctl(int cmd)
         return avc_unknown_permission("sysctl", cmd);
     }
 }
-#endif
 
 static int cf_check flask_readconsole(uint32_t clear)
 {
@@ -945,6 +944,7 @@ static int cf_check flask_readconsole(uint32_t clear)
 
     return domain_has_xen(current->domain, perms);
 }
+#endif /* CONFIG_SYSCTL */
 
 static inline uint32_t resource_to_perm(uint8_t access)
 {
@@ -1888,8 +1888,8 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .domctl = flask_domctl,
 #ifdef CONFIG_SYSCTL
     .sysctl = flask_sysctl,
-#endif
     .readconsole = flask_readconsole,
+#endif
 
     .evtchn_unbound = flask_evtchn_unbound,
     .evtchn_interdomain = flask_evtchn_interdomain,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909673.1316600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDNB-0007tf-LF; Wed, 12 Mar 2025 04:07:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909673.1316600; Wed, 12 Mar 2025 04:07: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 1tsDNB-0007tY-HE; Wed, 12 Mar 2025 04:07:13 +0000
Received: by outflank-mailman (input) for mailman id 909673;
 Wed, 12 Mar 2025 04: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNA-0006o2-5z
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:12 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20622.outbound.protection.outlook.com
 [2a01:111:f403:2406::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77f99de0-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:10 +0100 (CET)
Received: from BN0PR02CA0001.namprd02.prod.outlook.com (2603:10b6:408:e4::6)
 by CY8PR12MB7610.namprd12.prod.outlook.com (2603:10b6:930:9a::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 04:07:06 +0000
Received: from BN1PEPF00006002.namprd05.prod.outlook.com
 (2603:10b6:408:e4:cafe::64) by BN0PR02CA0001.outlook.office365.com
 (2603:10b6:408:e4::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:07:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006002.mail.protection.outlook.com (10.167.243.234) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:06 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:02 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77f99de0-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uSWGnxpXYMyXJFJuJfCTIgehv8iLZeLVdGGKUpeZC7nLqFsUSlqUTg9XyYGV91L9dgFycLMxLNfanQXSxcw8R1z4j+Q6nhSSoPe4E65pEvzPRdwyKXceKp+91jOuzfrO/Om5vGD12XycvI5Gr359zwA1O/Nhd0P3kAbN5/mgOI3baNxTCOvGGlH0D0dupVPsKfn61iMRheXGfSeviIgK1YrH1xEmnV6NfeiXv6HDthdGs4PSFesL0434BMkknBD4xvckey1Xaa1O0OnIhJmk3dNdtUawhtcczKkYO7ElCYpg8KdWqGl+YchWVGYlOcQBfAU6i+4qFnWpV63wuPTgyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=axS9aSIXrwBF9jLR7+I/Ojvre/F1Ygmqm4eXLiY7Sw8=;
 b=CJSX0+Ym9S86bFrSka/Qr5JmNc7fqh7rjVAdho+3cwPulJNZrAWjYEHRCI8Ge5wDDgaBbyZPX4ggkXcWooWwlDrSLii2BZ4LHmJEcTdWM829ZQLY0TuS60AeScTTsAVNsvkOxW+jmqx8Lft/C9h5PmOHtmNfRu0zc+PddrHj6ILE6YZ2/ilcw1dTQ7zhDg8s3Hqmjk04mMXcN4WH/W+w3LqWUAf36CkT3mOl+MdSXvJmf8QA+stVfGCznbpGguQgz987sUTJiZIOaoyU0DXhEezjZtksxdou0K19YlxyIv7zAmNWY+mHpnBSP343RBtVcnzGwL0PpKl4UT6n3iwruA==
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=axS9aSIXrwBF9jLR7+I/Ojvre/F1Ygmqm4eXLiY7Sw8=;
 b=a6nSn4Vr454FSTn6Dlx7Mr5+na6aAH9mLTjv/kN7+xHlB/1XE1aPxUMSW77WvTuINQ8AraRt+VsvhjkBcA2GpZjcGBd0tPiTL9nITRV3Abh/K8LSfhIWhe0ByqHXDFZxwUKsxgQFiTkZqIi9D4i4la2PKs2rJttprikOXU5X8dw=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 04/19] xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
Date: Wed, 12 Mar 2025 12:06:17 +0800
Message-ID: <20250312040632.2853485-5-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006002:EE_|CY8PR12MB7610:EE_
X-MS-Office365-Filtering-Correlation-Id: 890266ef-0985-4b39-c445-08dd611b5a32
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:
	=?us-ascii?Q?5E/Zkax04/8lL0//Cucc4WmwDakwHc9H42yEWTlmUakTFuhVgm+COQqyYqmz?=
 =?us-ascii?Q?XV7jZU5TtJELzxKNQZlo7D7K1igEjcgC5dwQ3rsmXQlSEM80kPaeAxjuzlk5?=
 =?us-ascii?Q?nDkMuvECYDFCwYt06HgHuHFvrvJQs7nL0paqxLak8G8b27KRAjtXLjJYPoEh?=
 =?us-ascii?Q?1y8heiGzpMJQbyYDxhLxixDjtgnRnEPTWGdxLz8/z7AKcmDXfY5dXesPnZpI?=
 =?us-ascii?Q?/P0ZBwk7gFaPfDtWsA6JgJf7tbGR+XAJfyVaCSj8YgCjuxuCA3izTPkGseUD?=
 =?us-ascii?Q?UXxo2ZDwegN54XcZ8xTK5nMF1peRgUBaO7dtchWCCrp5WkVKVVEkXI7pszHS?=
 =?us-ascii?Q?5ZJXjGMROx33Cn4Fg046SfWvswkj4YZs2YnNM2hl3UBsqWhiv1qDivdwtuOm?=
 =?us-ascii?Q?JgrVrJWtCSwY2BUQmNgABYIWcfux9vmsOviR/1vgrnx52Zl0HYZ4UD39/TKb?=
 =?us-ascii?Q?L5zzuWP+QkCqRQsYb65p0OV0RAXfo+zavbi+eJ2JeyQSDMHOZUiTvIbxHClP?=
 =?us-ascii?Q?W/+V1HxX/Asl6ByILI7U8jHNJHl0Za9eViPCegzrArAzYtCt+L/v9TFps/g0?=
 =?us-ascii?Q?MUPbqtALc21G9novQrmtl2tRR2JIZo09G/5DY3D88Myq86+3a55lRCVcVcMb?=
 =?us-ascii?Q?5Fri0CkZxIBMqkrs2FToM8ElUfi4ryPbLRynjRl65n5Xd35zdnA4OIUBCNNZ?=
 =?us-ascii?Q?8yu6CkK6G2lk2DOPFAQ1kgig9WOfVJaC4AZPHpH3gJAjQ7hw2lP8LDrCFzcl?=
 =?us-ascii?Q?AZZCJxZRp36MPp1rVFCq468zWcHXn/+3hYbnbjSzdnQX0hXW3eA3yBhK3MKe?=
 =?us-ascii?Q?5tSp7z7FyB3lM4hB0DWSPeuH0weeZctJW6tiWPx7fJiEeWNEJCvSOmpLYS/D?=
 =?us-ascii?Q?Ie1EePAqijJ6NdFAmrQiTTMsfgmI+UQ600QXcCu2+rqoU9x/aWFNQHRZR17E?=
 =?us-ascii?Q?rG55LHq1jdmzc4lhopbWAd6jf/grSlY7fpzbcjJgV5DXteFCDFagfJ2GNOGm?=
 =?us-ascii?Q?gqhLZQB5hwe6REVRotIOMFNWbcTM0EORizZov/s3fO1ycy+Txnfr+B1qH+Xh?=
 =?us-ascii?Q?MDd0HND6qZ2qRTecu48tmT5mDoHsB71+0xvUsP54eyx3KJKqbapzXAcZqk7n?=
 =?us-ascii?Q?PiaArG4L5+vGNFNLyka1J4pkYBX0zsNqC4QWO2Us2kqGpEjA71GB1ataFycv?=
 =?us-ascii?Q?ogc5yh0AA3bLbPlJjkgWNGXrRBjfi1h+lFy/e92/TCcPIrBQvcoD7Tp3H1j3?=
 =?us-ascii?Q?FO5ud3sPAFbI+M+RKJ+fOUQAIzg5pXVQBsg1ZtviylER0h4PZTJTPxnFIL4O?=
 =?us-ascii?Q?EGY/24CVhKhojMB8jOljf2itzjiDckfV6LvBwYtU+Lqnub++Oi0Ve9OiMLJB?=
 =?us-ascii?Q?uhS8UQXfyEk4/+pfCI3JqL/+RdOu1GhWg+6sOb4W8C/fM5ienAkpf+3dFmyu?=
 =?us-ascii?Q?lYGOOS2+wf3dXELY6JuiZRl36X/Fnn2er0qmTh2huTcTmoqqBx9ntmBKWYoT?=
 =?us-ascii?Q?AasIDDW2LGO9MEM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:06.1297
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 890266ef-0985-4b39-c445-08dd611b5a32
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006002.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7610

Users could only access trace buffers via hypercal XEN_SYSCTL_tbuf_op,
so this commit makes CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 72e1d7ea97..c5f4192b60 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -513,6 +513,7 @@ config DTB_FILE
 config TRACEBUFFER
 	bool "Enable tracing infrastructure" if EXPERT
 	default y
+	depends on SYSCTL
 	help
 	  Enable tracing infrastructure and pre-defined tracepoints within Xen.
 	  This will allow live information about Xen's execution and performance
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909678.1316610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDNF-0008IW-TW; Wed, 12 Mar 2025 04:07:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909678.1316610; Wed, 12 Mar 2025 04: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 1tsDNF-0008IK-Oo; Wed, 12 Mar 2025 04:07:17 +0000
Received: by outflank-mailman (input) for mailman id 909678;
 Wed, 12 Mar 2025 04: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNE-0006o2-1U
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:16 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20606.outbound.protection.outlook.com
 [2a01:111:f403:2417::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a28e153-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:14 +0100 (CET)
Received: from BN9PR03CA0519.namprd03.prod.outlook.com (2603:10b6:408:131::14)
 by PH7PR12MB9073.namprd12.prod.outlook.com (2603:10b6:510:2eb::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:10 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:131:cafe::2d) by BN9PR03CA0519.outlook.office365.com
 (2603:10b6:408:131::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 04:07:09 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:09 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:05 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a28e153-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZSmlVcRQhYFo2TKTDFfb5Umk/3L9lW135zemp2Zag00QgFHqtCySlg3U6k5snHdfh2qjXIUIxW1YYiBD8HaCY7uyJ4iNEz7O/D7Zbx8eaM/KbO3v44mJgba0JxntQ9xh2VwVaaI05bAkcERjpmp0rZ43lgGreol6/riWq4XGQ5CjALqLBM9tI/tv5NK74hhgZCZi5yUEB/ED8RkIOrot2TsJRyQ6qCXA3C+Wbo9Isk7kJTIc/sE96s8M5S2NsVqqXKTeEtYU/jc+5XpAE/0q3n+tUd4qFPrhop6c13Qv1nxUv4LSEqmkMZjrK0YF85oAQmfCcQitMXH4l6bUjekxyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MulITfmVWa9VrAVpSfm2qWFDXdm5/Mzq9x+66kMeZ7g=;
 b=mMpA6DUnPQoNbNpliA33T+ZAPtSswrb8Sp2PnhEcqpmm7yvcY/GXzCWcWMBcLZvRlcoCeygKK8zsGkYQrKwbutRC1nuKCuZCsWcwnMxmizmYWtgj2yTZ5XcfzntP06iACdl++/Ho+xhDKWrjgI+yYP2hT08Y/ZWJhho7LOEI0pyGU6MzQccrrmM9broJX5/yeV9A+qx5LGOkbTQLQwReaY5oDhn+ogekp6Xmlx/qUfETITojinfUtwB6p1abxlyUkDZNzcLR8oS2vnjsVzPRX3llR3TH8YnrcdPiRcOKcjpLn7YmfzythLu3IjhTRToUoF38VBOgQjbB/gNpJPpDYw==
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=MulITfmVWa9VrAVpSfm2qWFDXdm5/Mzq9x+66kMeZ7g=;
 b=fhFqj9wOBDtc2ZzeN/Y2T5tuu0Rxt4JI9qhp9S8TBlUS/cOOpGDu5xzbWoZhOBJAsW2Af+VAeWG/+U7+HkKjKh+ZRnRkC8TaXPJLUyHbNjswa8CfHkkyEYBMPYtkkRLtO5Fh/lWG8yUmxsm4F9ctdL53SOsitdoWxhvSdPowRf8=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, Dario Faggioli
	<dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<gwd@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v1 05/19] xen/sysctl: wrap around XEN_SYSCTL_sched_id
Date: Wed, 12 Mar 2025 12:06:18 +0800
Message-ID: <20250312040632.2853485-6-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|PH7PR12MB9073:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c95c138-bf4b-4f5e-6422-08dd611b5c27
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?pJrKAHo8ZR2OoO8yVoTR9/R6qGAjFVfbJlqoV5MdeLDbRgIce/b4zReD69Z/?=
 =?us-ascii?Q?/uTPf/B9ob7OzSNxfv0B52uq/RtipQpUjzs7Ka5Zgw45oV1b1ElnHVYVwMkl?=
 =?us-ascii?Q?r4qzYpIhrbpLNoiCR0HZ15Vylkz7Dm3AirAkjcFp0WZ5kvq056K7nHWF4RSF?=
 =?us-ascii?Q?Kerfkt05yzQSKgk49iadyXMwI70ar0JBbRla8fWm0i73ez1T4tjsjt8EUwFD?=
 =?us-ascii?Q?Ufl3T5EuuT30FXCBnspK0gBBSmn+cN0Calwks8iqqsPswGj0iMfL+VkOXPWU?=
 =?us-ascii?Q?r7hk8cE+O5qqwodivwjV7GSpeDkFer0qy+wu7Ti53a9TwiQpiU1dCOtlpwAa?=
 =?us-ascii?Q?OWNs45CbyzebPvqkVLNvmfSKwpDQWj6NtDdOW6x8hcivOoeOmkhCezb3dFMQ?=
 =?us-ascii?Q?db7AE5f58Nh4jv9G+bLRmsioZkefLQMT7bYCWP/pLEvKcEkgmmYFFt2tciK/?=
 =?us-ascii?Q?bUXAJ2UFuBhAshcXjOS3NiTuyJXFISCAKs14zdglbi4wb4OJFGF8bKxpavE6?=
 =?us-ascii?Q?+/KY4Cj9z4s0wk1PF1bmFbjzfw/yIKRq4qpvImbFaykiKeRKme/8QkSNw1LJ?=
 =?us-ascii?Q?+m4OIFuOcaS0e/83wDKaLawbevXci+SJvzitW6LIK8LP1wgzvo+rhwGT57os?=
 =?us-ascii?Q?FBuwDs9BURb+1Xe5H3xCakJPKPMDAeZsWlUh+uhrcyL4EkKJDSRaRgXGZXAX?=
 =?us-ascii?Q?+RLY9HBLoZ1GyJwDDtfofVYCb3+AwVEGBgeaozl7HohHuLVN3AQzxZLorzcr?=
 =?us-ascii?Q?zNMJdIWGm1ihsOAJlb4mPfePI872pDnUSf+5JHPZH4T7vg45TZDJmyh2ZZDl?=
 =?us-ascii?Q?JrNvSm/Lf3hbqLIjdd+ZvZeIfsqBurvCyLU//pbU1Rj6/306urwGyb9BJY8e?=
 =?us-ascii?Q?ssrXtVwsbC/zAvi7ou6tCxwPRUPS213JOwaenqIYBauAJic34jPT1Uy5Vs3B?=
 =?us-ascii?Q?JHfeNGdpFZ3Y5jtb39iSjUOwFRq31ZKPi5bMD1mK7XqjoTtzEJ/rk6U1Cl1p?=
 =?us-ascii?Q?xGAuJqcI1wmKhLWlsculMRqcCjeAbLXChFm/ErG7m18Uc5LE/Ta7QvSiuhrh?=
 =?us-ascii?Q?KOCkfcV41PI3RyLqUJsTMWOk+GxAbCwtlKv6gETu3+nkIaNe7rcNSMe2sPnJ?=
 =?us-ascii?Q?RpxLpp+KVtOQUrpgUhqG8dfuyGbzwe3dmGY60Bcp4lpNks6CS6pEjRTHoemY?=
 =?us-ascii?Q?BGpb9jXDwoVCcBF8DV7xAOQYIRpEmrXAbKQRvSN+g5cS8CFwU8w3zPJ8CZH5?=
 =?us-ascii?Q?knwSBmQqnRFIuXpCr3inRdw2SPzPv5JhXSI2E7S1OG6AjPd3x2SwIdzIqnIG?=
 =?us-ascii?Q?kRvbeEZmGTmSM5RnBX2srghBF+r7oLromUteJpaf2YIX6y71bH7wXNnCzC1j?=
 =?us-ascii?Q?8TmGSDC/6pnmZTzu5AXb5HM6dS++X3VZjlWBgRMFC/nN0m/wUtvWqe3y+L3u?=
 =?us-ascii?Q?UxOzjVK3Ec2gCN5xV3GLCBvHTNAw7X4u73HN1deKnLllGHyKiXOBDMwxWgxm?=
 =?us-ascii?Q?20I6YoIiMiAc05w=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:07:09.4106
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c95c138-bf4b-4f5e-6422-08dd611b5c27
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=[SATLEXMB04.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: PH7PR12MB9073

The following function shall be wrapped:
- scheduler_id

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/sched/core.c | 2 ++
 xen/include/xen/sched.h | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index d6296d99fd..ea452d8b3e 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2052,11 +2052,13 @@ long do_set_timer_op(s_time_t timeout)
     return 0;
 }
 
+#ifdef CONFIG_SYSCTL
 /* scheduler_id - fetch ID of current scheduler */
 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)
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 559d201e0c..9bdeb85aa4 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -849,7 +849,14 @@ int  sched_init_domain(struct domain *d, unsigned int poolid);
 void sched_destroy_domain(struct domain *d);
 long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op);
 long sched_adjust_global(struct xen_sysctl_scheduler_op *op);
+#ifdef CONFIG_SYSCTL
 int  scheduler_id(void);
+#else
+static inline int scheduler_id(void)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 /*
  * sched_get_id_by_name - retrieves a scheduler id given a scheduler name
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909680.1316615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDNG-0008La-AK; Wed, 12 Mar 2025 04:07:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909680.1316615; Wed, 12 Mar 2025 04:07: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 1tsDNG-0008K3-0t; Wed, 12 Mar 2025 04:07:18 +0000
Received: by outflank-mailman (input) for mailman id 909680;
 Wed, 12 Mar 2025 04:07: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNE-0007Fd-B8
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:16 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2405::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b97dc72-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:07:15 +0100 (CET)
Received: from BN9PR03CA0363.namprd03.prod.outlook.com (2603:10b6:408:f7::8)
 by PH7PR12MB8121.namprd12.prod.outlook.com (2603:10b6:510:2b5::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:12 +0000
Received: from BN1PEPF00005FFD.namprd05.prod.outlook.com
 (2603:10b6:408:f7:cafe::b8) by BN9PR03CA0363.outlook.office365.com
 (2603:10b6:408:f7::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 04:07:12 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00005FFD.mail.protection.outlook.com (10.167.243.229) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:12 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:08 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b97dc72-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=v+nRQqk8sw2WC0ItO7u1bW/llpoRYZFir+vc9LCvTKxwOzvYoc7tGIGDgWTQlzYpYWfNg9pAG7SgzmiKRXTp59cOOFcikOB+G44YFCHW5N5Loh6LDFS9+xUxmWKdkeW2CykEcFC1r4eQg3U+Or/mWiz9lVUsMT1iUUaA1gxbNcGoIdpWC3WvVCAV60YXKTahcb3TObGH1azT7BJSCkPu1qKnMKZ3Ze1xK5gPxLNrRZ2zQzufv37jeXQy0QD0708jd2/Fr1cNFv1ECFAbLeNUhR3Gl7K9J6ryoGS3bZk2GoD5yLm6oIYJhymMa4L6ChUQZHLyswroCCdDQSXnSpgYqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RNDtLuo2qdkeW1r6yrP9PILXWa6wrDrvqRmSKOwNmtI=;
 b=zV11JAtrlyBvsnmrQwdzZQZ/H8Y9JlPVJGYWYYVDy3+ZYuP9aNghZjCqdhYkasNJxut/jB0idPU3i2zEEwkWc68H0FRRz9byyjxfEUdw05syvAwJChQJJ9Pbdg6nMfFYMzfMsHpOpfOYsQf6wHSwFTUs2i6S5d2MNgnvh1XeKeVnHQJ/q0tTBYXgxywvDoByNlRr7vMXUzvGG75hCSahGokaGjgLHobKmW4k+34bWfEjoF+/YCc1Emy6SB4No9H1eE4YwVzW+xQceIXt1SBS5ppvIb2LFxvU2Mcts5drq08VimnkDtvFJj1AS5H3YXosq9QGfJb8rm44Cb8xb5qFHw==
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=RNDtLuo2qdkeW1r6yrP9PILXWa6wrDrvqRmSKOwNmtI=;
 b=JtVfyFPjNg04KNEqrA50mwP22xafpMCWXGZVL+vfJVV4TCmLQbNUGeQG/Wl/EOopTI/5ONxQSlpj3EB/E9cWeQP4o4LyyyLsuoE+cnZkAKQA++equCOwy65w25T+44t0mK0uTe5EUVUS+OEXIWsX7isyVofAdFpqlYdFKi1wU2Q=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 06/19] xen/sysctl: wrap around XEN_SYSCTL_perfc_op
Date: Wed, 12 Mar 2025 12:06:19 +0800
Message-ID: <20250312040632.2853485-7-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFD:EE_|PH7PR12MB8121:EE_
X-MS-Office365-Filtering-Correlation-Id: 93d98f80-361e-4160-a611-08dd611b5dd5
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?V5p1JWh/VUiA4M/I41vYkOq82kT5UOGm70I1Qux7pgQh4S8NdoCG9HcK4bD5?=
 =?us-ascii?Q?uXOIcB1PnL3doQaDq88jmddeaIXBCSlUGUR32mecymuO59xJ1wrxfJPxrNwX?=
 =?us-ascii?Q?Oxj6XuL4HkS3jJqbG9lhih7cgyt3Oh91HHtkpu7M0CWXl2froMhghYhrD4vt?=
 =?us-ascii?Q?gx/vsgaPyKxTYNh3WogP4+6QHTjtzaS/N5ll2IjjJUVq0bCraJZYtsfSg+Uf?=
 =?us-ascii?Q?i7k56+1aS0LtFBSa52fbvGMw+ynjdZaUQHvj3mL7Q+AeOPDCNfej5ADlk/Ph?=
 =?us-ascii?Q?N+kt6oOAo5eFiVG77mSIJbHQHEGgKTzu6EI5pEB60dozM6w9NXDR7XqytkQs?=
 =?us-ascii?Q?K5fy6AA6owNOSmaXbSN6F/Hy1msIfHoV3hO0hCYA44L6joWc11o9sYDsdprC?=
 =?us-ascii?Q?0Z7KeWj0UnOUJvhN4f6D2fLBZMcUo73BzqD54hrDVPk3rP2tTlZiftslCRa5?=
 =?us-ascii?Q?B0UkjMdYkba7V+lY7yWf4g4Kahqngs2HvTgXor0JmGTn5l52FpYFA/r1oFfh?=
 =?us-ascii?Q?ef0IpwEPefNmodT2sylj4Cq6bFsjS7T75FgJI71yJayzkXRrDTzYE0+lf/Ya?=
 =?us-ascii?Q?WKJsBPIMxlqvk/cVZZ72Td5fJGSi3NlyeW9EjNWpuWg64bKghny/6HOYFoP5?=
 =?us-ascii?Q?iJ9hsEW486+Pa0BCTLS8SJpeM4ohehGDB0DHt6EyGnr99FUeQ3cV8haYHRhI?=
 =?us-ascii?Q?ZPIeB5mk/P8BFxY+IL8gSqGTPlR5ruDXwcM0kRKbbjlhtbmYAdCvtXNOb1EJ?=
 =?us-ascii?Q?+eqfvm7auwBDmAfhKQzF1qVJHrFN2ccvlxyHw9+ZPBmeSykcB6JR9N6u79FI?=
 =?us-ascii?Q?5JWY/X9AO7kOHa7xsQY52wYT2uErPhvH+NXK19A/3eu8UeJbKAiBQ0FtCnBO?=
 =?us-ascii?Q?zY0O34LRVvnFDalf9Bhgjr6TwnzoPGnJKD6Iq+W7O6yQR0H5FOAdSyBNXW0R?=
 =?us-ascii?Q?485SjHPiiKRofl+u6+2S3qTt86eLdtKdR5G17RJCmKfT4zsozl1R/Ft6HXff?=
 =?us-ascii?Q?wdAUJYNZcfNWGezQaicKNKhQGslNa5qU6amL0JKdvVl7e2ae6uyMQXmNPk/L?=
 =?us-ascii?Q?/98zB4M6VekTiQIenkVQzufnyCLsuZ7mBib/pSM18HvmLnI2JLFvjIyeXepI?=
 =?us-ascii?Q?KxWnCe5xQv94a5UtgXvSCCY4+AniewHyLbqHwWU/pW8ioJWViqxM2Fh8albl?=
 =?us-ascii?Q?i7T4mUD7PqAqDSqR9PHOp1fvA8R5/YuBL4gSnZKu8Jruo5zDrd+FgV9V+GI3?=
 =?us-ascii?Q?kILRSWWJSzAePRtYAXUPfnixlf7c4Me0v88jzRBOokRvQEA4S2Vgvj0lkOz6?=
 =?us-ascii?Q?j01xcEnXTGhfFCahiNqafG1ngfuksZXQeIAANL6gd3a1DA2e5DJHHC79tDGV?=
 =?us-ascii?Q?2eCD1euQJvECb00mJiY1ioI0QQwlDLDZciVMmwumuFJWCbRVe2yWd2wBlyZY?=
 =?us-ascii?Q?mgS2YNFjmVktWYEJbvt800p2iz3lNfD96s8tKkhQ4XT4zSDgg/9Vl+4eEbyi?=
 =?us-ascii?Q?Mgy7azUOld7juWM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:12.2303
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93d98f80-361e-4160-a611-08dd611b5dd5
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFD.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8121

perfc_control() and perfc_copy_info() are responsible for providing control
of perf counters via XEN_SYSCTL_perfc_op in DOM0, so they both shall
be wrapped.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/perfc.c      | 2 ++
 xen/include/xen/perfc.h | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/xen/common/perfc.c b/xen/common/perfc.c
index 8302b7cf6d..0f3b89af2c 100644
--- a/xen/common/perfc.c
+++ b/xen/common/perfc.c
@@ -149,6 +149,7 @@ void cf_check perfc_reset(unsigned char key)
     }
 }
 
+#ifdef CONFIG_SYSCTL
 static struct xen_sysctl_perfc_desc perfc_d[NR_PERFCTRS];
 static xen_sysctl_perfc_val_t *perfc_vals;
 static unsigned int      perfc_nbr_vals;
@@ -265,6 +266,7 @@ int perfc_control(struct xen_sysctl_perfc_op *pc)
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 /*
  * Local variables:
diff --git a/xen/include/xen/perfc.h b/xen/include/xen/perfc.h
index bf0eb032f7..6cc8af12d5 100644
--- a/xen/include/xen/perfc.h
+++ b/xen/include/xen/perfc.h
@@ -5,6 +5,7 @@
 
 #include <xen/macros.h>
 #include <xen/percpu.h>
+#include <xen/errno.h>
 
 /*
  * NOTE: new counters must be defined in perfc_defn.h
@@ -92,7 +93,14 @@ DECLARE_PER_CPU(perfc_t[NUM_PERFCOUNTERS], perfcounters);
 #endif
 
 struct xen_sysctl_perfc_op;
+#ifdef CONFIG_SYSCTL
 int perfc_control(struct xen_sysctl_perfc_op *pc);
+#else
+static inline int perfc_control(struct xen_sysctl_perfc_op *pc)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 extern void cf_check perfc_printall(unsigned char key);
 extern void cf_check perfc_reset(unsigned char key);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:07:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:07:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909687.1316630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDNK-0000ew-HZ; Wed, 12 Mar 2025 04:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909687.1316630; Wed, 12 Mar 2025 04:07: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 1tsDNK-0000eH-Ce; Wed, 12 Mar 2025 04:07:22 +0000
Received: by outflank-mailman (input) for mailman id 909687;
 Wed, 12 Mar 2025 04:07: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNJ-0007Fd-H8
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:21 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20619.outbound.protection.outlook.com
 [2a01:111:f403:2414::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7dcd120b-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:07:20 +0100 (CET)
Received: from BN9PR03CA0362.namprd03.prod.outlook.com (2603:10b6:408:f7::7)
 by DM4PR12MB6088.namprd12.prod.outlook.com (2603:10b6:8:af::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 04:07:15 +0000
Received: from BN1PEPF00005FFD.namprd05.prod.outlook.com
 (2603:10b6:408:f7:cafe::bc) by BN9PR03CA0362.outlook.office365.com
 (2603:10b6:408:f7::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 04:07:14 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00005FFD.mail.protection.outlook.com (10.167.243.229) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:14 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:11 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dcd120b-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mQW3Pd/vW+mDDx3dpr4Zd6FYV7VKIDWlZU7+vgtJZ+HKCyToOt3uCIthVs/GfAIlpF0OySYS5ShfPYUG2OK88y7+T3qPZc9S8WbHjVVHMfiruI4TIFOl2KfiEYJva8ru/jjiKaeucykzT1VDz/4b2OMQf7eH0ibpzapAR0q9UxC6hLyRNxIoTZ4oxTRWpZ1HOFtZ70wxoEy1vnLTShSLUKBr2wbj/YBwiqEn+XPJB5+a5xrjrD9VsUnkueF7B4+98tdPG0u1MmYDs7ky5iZxcSS4lvP+bfWDU+bxPKpIb2IMmmlM0/WzqtePRi2KL9hYTfkORPDmoep4aRhhpfHIhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vyXPch7vdUxtYLZkn2hdqi4FR/VmMozdqU4pWrNieqE=;
 b=VpcpuquTXilZMM4AkHCnE70jRamVGPoQ51WG5KoVwi8b7Na6ryhP5rqUBXtgqLbjd43TkOtDw3qeZ+Bo7HSpGP53rTu3xziHzMPNI2aJ+isfuTI7fjOShmHj03g23Kmvt/j0GfXKG0bPGxXJXxX7vx4MNxfZJiMqgeDyD4DxeXYkI0TOVh+FraZz9XtFVN+xi7vu2en7FjDBa9a/odS3SR/cWtdC7aEntT7O/NlLTaYEVtmughOPlm/hFpbDRAsSoLgFvCr4n7PgA//5TFj2T9092cMbIrmS7giw0RmRsiT0m6UnRdYS9ML6HZqNf4734g1ME4FlgSmvolTH/9YY3A==
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=vyXPch7vdUxtYLZkn2hdqi4FR/VmMozdqU4pWrNieqE=;
 b=JLEigtTqL5x1kz0zTs8U3z0ThFZ3i1fK7GqZQCDUd16uY0WiO4gz6HT4WITq0FlEZXnzA8DdYNHbW90l5m1gWl9WJjkCo5NrMQTPx09yFsIH43cfRJHQx9H7fIKSXLBhg8H+Z3+BFODx0xFgdEBw0MUHVM+MYC4u8huWvjm0GGE=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 07/19] xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
Date: Wed, 12 Mar 2025 12:06:20 +0800
Message-ID: <20250312040632.2853485-8-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFD:EE_|DM4PR12MB6088:EE_
X-MS-Office365-Filtering-Correlation-Id: 7afb2d37-c9f1-4b82-323a-08dd611b5f66
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?tncPJjHwSB6zCeIKlaWadR2LIkmRs6oDDgdWO9MLWbWvUUY7fjTuSRuxXWGn?=
 =?us-ascii?Q?fZfrPia2LZ12+fVU2qhAnfFykg88MJA+C0hEsywM7jWsQcSp82RmPTQ1WdJF?=
 =?us-ascii?Q?fdlJjw1PfP6smZKkWSUli1u3DLhfjpOcnLKyTCPuo+bzRNtPd3PTXOP5D+UB?=
 =?us-ascii?Q?OPjuPtjil40XcXt84iBdov5ulJKdCKeh8EUWRmhFATCADyD3BeCA99UFNwy1?=
 =?us-ascii?Q?+B3kUdk0fmyPhlQ8/KnMwgiE+6Al8eBn15x9JQ+xT11n8SIiuBAjQWHlBNib?=
 =?us-ascii?Q?JfPnR3zZNeo/ZIFbIW7BiqCLf9GJd1qe1Ca8mkkXJOiabBXmteFQu+l/O7A7?=
 =?us-ascii?Q?JNM7S6yDng8q+0T880GBgv2JHizgPDw7mXYnThy0ZKZSeWVK8L3wyL0qQLHB?=
 =?us-ascii?Q?fsU7hN23gq4o7yQgSD674v3Dzi8u8xgmSkI5oJc8csV0M3Zfe0FtOTdDp35p?=
 =?us-ascii?Q?LkT6eJgP5tm6/EszHtWGXi5hwqLcoBsNN6eZN0NCwrkNnDdbRavE/HRWvJmX?=
 =?us-ascii?Q?8r0/YQfrPBAOCA6YhRJX6EOJtQNfICP8T3v/umfGTLGx9gDskmPaJ1YBrZFr?=
 =?us-ascii?Q?xxEFUp6wfhd7WOBHyXJh4Xg2eotq1YzEfOvxnT/es/xCl9gpCYbajN2NWANq?=
 =?us-ascii?Q?EOz1kuJBN4Oe5mNaB6EYmptKvM4va7QY6IvlBI3iVAQxP0yz3zNjgN4yF0W0?=
 =?us-ascii?Q?RcfmUNLPDY31r5up6662yIbFa+Gx3nEX+QSJ1A3L+bjo409q5yTPPu7qcNZY?=
 =?us-ascii?Q?ruDno5YdirUlzX/EdYhMIojVY1JDRB8OKblFoGZvQ4iTO0dnH9hQ9CGQ7bvm?=
 =?us-ascii?Q?4GUrQM9fp8OL40hF4GBQpICdm+m6WFtEdSgl+mHl6vMajoK8P2apOwzXZrpo?=
 =?us-ascii?Q?bIDBL5VwG+sAD19GgqWhfmrXNuM2kFQ0AM4ILzyF2Dm97785Tql0OEL/6rk6?=
 =?us-ascii?Q?BTG+LiXJli+H0vIKLBnlJgRuqYlDbE94Boy5fXXL3YHo5Trjy97Ve0EHV3i6?=
 =?us-ascii?Q?sYWjNDoC6sW/u37EX2KQmTjmyjfSKJmo1qt+T/d1SS6FBnoXWtLb4nBMipjo?=
 =?us-ascii?Q?776mb2yTjBaHiCBrYUVQFwnzTjFpX2cHL9C/M6rHmCTLM3t+grq3zAmZW2Uc?=
 =?us-ascii?Q?5rISNz4iigPB2GQAksDvxItCdTVwb4k/gjBXEecPI38pPxWNHuhaDeZSLTs9?=
 =?us-ascii?Q?ByMqhB8ePbipMniIzHjQ+WridfMWd1o9AMQTvUn+IsSN3+s03nmMP/M5P9RP?=
 =?us-ascii?Q?OpZ3pMGg00XlSzpT/XjviDVjwfO58B+9qT5sRqPdo+dApXgHw849fSm6l5wT?=
 =?us-ascii?Q?eiNjHcKJns3sw7zf2BDDBjM2D27+nID1ib/hGnGvsjNZT4QZNyXfUSynR/+C?=
 =?us-ascii?Q?nixqawvjyYxkUbn1ro40G2iyPFakewgVRRw3so2elUO+dFOJDm5ePP+ZfPK0?=
 =?us-ascii?Q?jMVQj/w7GZjOQQDyyEiyjbbWFyc4XDSMwhPAV9v+bBlhpvPJglLjqzHaUc2L?=
 =?us-ascii?Q?CAuuk24ssUDZPIQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:07:14.8554
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7afb2d37-c9f1-4b82-323a-08dd611b5f66
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFD.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6088

The following function is only to serve spinlock profiling via
XEN_SYSCTL_lockprof_op, so it shall be wrapped:
- spinlock_profile_control

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/spinlock.c      | 2 ++
 xen/include/xen/spinlock.h | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 38caa10a2e..0389293b09 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -690,6 +690,7 @@ void cf_check spinlock_profile_reset(unsigned char key)
     spinlock_profile_iterate(spinlock_profile_reset_elem, NULL);
 }
 
+#ifdef CONFIG_SYSCTL
 typedef struct {
     struct xen_sysctl_lockprof_op *pc;
     int                      rc;
@@ -749,6 +750,7 @@ int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 void _lock_profile_register_struct(
     int32_t type, struct lock_profile_qhead *qhead, int32_t idx)
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index ca9d8c7ec0..7f2a814ee0 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -164,7 +164,14 @@ void _lock_profile_deregister_struct(int32_t type,
 #define lock_profile_deregister_struct(type, ptr)                             \
     _lock_profile_deregister_struct(type, &((ptr)->profile_head))
 
+#ifdef CONFIG_SYSCTL
 extern int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc);
+#else
+static inline int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 extern void cf_check spinlock_profile_printall(unsigned char key);
 extern void cf_check spinlock_profile_reset(unsigned char key);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909728.1316641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQP-0003na-8E; Wed, 12 Mar 2025 04:10:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909728.1316641; Wed, 12 Mar 2025 04:10: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 1tsDQP-0003nI-2g; Wed, 12 Mar 2025 04:10:33 +0000
Received: by outflank-mailman (input) for mailman id 909728;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNW-0006o2-Ht
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:34 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20630.outbound.protection.outlook.com
 [2a01:111:f403:2416::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85b290a9-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:32 +0100 (CET)
Received: from BN0PR02CA0005.namprd02.prod.outlook.com (2603:10b6:408:e4::10)
 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.8511.27; Wed, 12 Mar
 2025 04:07:26 +0000
Received: from BN1PEPF00006002.namprd05.prod.outlook.com
 (2603:10b6:408:e4:cafe::49) by BN0PR02CA0005.outlook.office365.com
 (2603:10b6:408:e4::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:07:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006002.mail.protection.outlook.com (10.167.243.234) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:26 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85b290a9-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=zRZG8EJS2LJE1VEiiC1/2R7hoIEDm3S7xm+10f8hT6mOoOhi1fdkHqTzXRxOBCDDQHw1ABjeJ7ZC3t4baiquUJGtAAyfUW7HKzGXEBtQsxIEvrvnSJsaR0jbJOj0+ucyDIjTYlLslo3NC4JjgkHDnhngF6hyw+WayvxVRqQdeyc8Hl4l+CKQoNoDRMyBxzul/ELW+vFbS3hm+Ju2M/0JlwLFcQW13RGLSOtBnGGjw5jMNszlO6TuvXy9FxOK8n4mk95cltgFo5jV7CgH9v4HdicaWqkt40b8Tq6+1J5eI7ERKpiMBkMpE/aRdITICgU6GsZ+VMUi0cKTh3L6wDkJHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CR3SsepG3t9YxiFUsfOzjKUwTZ03/Ksnj1S8vSaXtPI=;
 b=UVm5xzUJvvnHH/Q1K0GsTRxCvIcG309ZI8hKhOUddv5Q7EEngU5EOQImmdqTK24jOfcUtT5Tip3sTHmz8y1cEFcR3siV/ltyityHyymiafCL5Mxn83ihRxKw+S8Izdy4svZMxXPn0AVwfs6JTUgHCh8NxutlHhViBWqfGHoRys1aOvL1qaoAquyiRp8RYKe3EFTrDR+hPwvJ8tegNHlFFWUFTA33s/LzjEV+vYlJ/bxIURbDlHbJsKPmG83t6Vpj7wF0zerXZNvpRNMgIlaEa0f/fydVadNYJdCaKSDmoozo8QryduIijDPxp2fCqTR89HBhqjXZlnz3bRCcREl3TQ==
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=CR3SsepG3t9YxiFUsfOzjKUwTZ03/Ksnj1S8vSaXtPI=;
 b=1WqiYDPz3pj1VLbvK+eaVvrS9vRUBw0mg+6FAh60JcGnA1wffXjAdFYPnO4r+rwax8TVnhSTfUdT0JDiE3A+Rl1miFJ5gyctTVxmXc60SYuWPNdRlLNhzeElinfRJfQUJfC1qkgBlUgQ8fHRgqd2DTFQLPD7ziM0AJVi+fPuP0A=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v1 11/19] xen/sysctl: wrap around XEN_SYSCTL_page_offline_op
Date: Wed, 12 Mar 2025 12:06:24 +0800
Message-ID: <20250312040632.2853485-12-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006002:EE_|BL1PR12MB5803:EE_
X-MS-Office365-Filtering-Correlation-Id: 73af178c-db9a-44d1-eb12-08dd611b663f
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?rPC6YSRSvXMA43gpXw78z8cFml7gzXxNu9BQg2tWpt1VMyLMkmjc328nKHRw?=
 =?us-ascii?Q?dQK0NRcVW59yYJ2cFFdxSxWcb5FmRZqXhHeph3Nx3xVeNzpHWfEqJwFAM1YC?=
 =?us-ascii?Q?teYD8HIr1pEEhnEgHpXPfHT5nAXw9Z8SGxISD9eQMkkM3Q6T9hKYuqQ32jCV?=
 =?us-ascii?Q?dG0EDvpwPSL94GA+k1AFXjpdTF4NM+2REj0GCp92+EFuFnSmOX1cbOygPqPk?=
 =?us-ascii?Q?RlHD/HKpZDTotUdcIlqxobCNusqweJUvyh8FEYZ+U4sJLqD5B4CaFLqFBUfb?=
 =?us-ascii?Q?HeoYNCKawxq6yTYS4QUW62JCTT0gclhhLAgwWeofU8syA5FbUVFUXG896Cm2?=
 =?us-ascii?Q?cVXk8LUZAsGKcVMkooXJisv8AVMVYlxFF4Q4BNt4SE3XKru/4CMkppXWPmbV?=
 =?us-ascii?Q?LElIWZ9T8v1O3zW64Za2JDlBIuCRpITMnwi+LDGH9wWd6eJa6xKjr3EtKzbE?=
 =?us-ascii?Q?IeV3+ufSrnL4NO08Vr0c/CZGp/r5edA8kuQSOSsT1Qa0pBOx8H7gWDYvoObn?=
 =?us-ascii?Q?fyORE2RKRqzKJc30ZQiIEKEDoQ/23tG4AD0BwLsIGWwZGQSucJ9rz4xDZony?=
 =?us-ascii?Q?9PmESqqfGLwDVSdrwAma9UkWmCe92hi3YdJbr5tqECEWXszIVykay/Tuy6bL?=
 =?us-ascii?Q?O2tv0PVth1+V9dfXGEP7X1sGB6ABJA0a7uPsFh2TW9K8o0n0Qo7Wyh7lB/is?=
 =?us-ascii?Q?n8/I6zdgfSxvzcGQniuntosF5yqQnQK6zgtyHHtDGxO+TXPbTWx78w83b1T6?=
 =?us-ascii?Q?M785i2t6OgYf+vg/l85YDCne/CDVqyuoCxcWyqVA3O5aVA54AZjs6KVgJsjz?=
 =?us-ascii?Q?8zI8wAd+k30hJalo79Jm1Bg20vECYAPSB8WqySwQz9y20/xI3n7Byx39Rzhd?=
 =?us-ascii?Q?r1vZ/JulTK5QtUN5u/SRCyIIrOGEHzs7nfNQ8u4+SEsTAQbKnwvsZu0iD348?=
 =?us-ascii?Q?XnEaTmYyxMK4WzgkN7JeNIpht8Kg8faa4RVe82YdhKzIzeJTZMfTtK35o0ya?=
 =?us-ascii?Q?YSDJ4YGjhNVNdj8gxv73tUoD6Bd8AYi+CAvfRGjNsVX2BLPSX4Wcb+uhoME0?=
 =?us-ascii?Q?9uz9u7DR2mVf8C3PppVqvMhulqX+p8tLn64ZSOlsSlFS8V6RaHeL6c9vWfBy?=
 =?us-ascii?Q?hlPSQGubSXrnEmF6NlxsENROwaAAChKVmIzEvZ+Yx+EiRE7n8d8awDCFTx6z?=
 =?us-ascii?Q?njSiXNvguCY1LAH+XyCpZNoimBHPtwfX5xE5ZfRwycPYhXOA0B9vGbLgZNoY?=
 =?us-ascii?Q?2B3o9hdfIlKPjbweyVpMsZ+WSMeq38IBi0qmUfSjDEZbBjJVx/2yHirVStBl?=
 =?us-ascii?Q?NGT/W70nDWzpB4cz6YE26uABc0141uepG3MS0kBesR+MB4UI4jwUHJAvJLOh?=
 =?us-ascii?Q?fq80WF3WdfYyXm//wHBpzwsV4VdMEqVuc5qOhTHRi3icyZXQo+eOhwF3Rh5x?=
 =?us-ascii?Q?G4mY2ukNs3vtSlHFkodQ3hOICCmmqiXSDyDH0L6JfppPDuussw6XkhjBEKWt?=
 =?us-ascii?Q?T82jot7YTiWaFeY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:26.3485
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 73af178c-db9a-44d1-eb12-08dd611b663f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006002.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5803

The following functions are only to deal with XEN_SYSCTL_page_offline_op,
then shall be wrapped:
- xsm_page_offline
- online_page
- query_page_offline

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/page_alloc.c |  2 ++
 xen/include/xen/mm.h    | 13 ++++++++++++-
 xen/include/xsm/dummy.h |  7 +++++++
 xen/include/xsm/xsm.h   |  9 +++++++++
 xen/xsm/dummy.c         |  2 ++
 xen/xsm/flask/hooks.c   |  6 ++++++
 6 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index b5ec4bda7d..7476d37238 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1759,6 +1759,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
     return 0;
 }
 
+#ifdef CONFIG_SYSCTL
 /*
  * Online the memory.
  *   The caller should make sure end_pfn <= max_page,
@@ -1843,6 +1844,7 @@ int query_page_offline(mfn_t mfn, uint32_t *status)
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 /*
  * This function should only be called with valid pages from the same NUMA
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index ae1c48a615..86bbb15890 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -144,9 +144,20 @@ unsigned long avail_domheap_pages(void);
 unsigned long avail_node_heap_pages(unsigned int nodeid);
 #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
 #define free_domheap_page(p)  (free_domheap_pages(p,0))
-int online_page(mfn_t mfn, uint32_t *status);
 int offline_page(mfn_t mfn, int broken, uint32_t *status);
+#ifdef CONFIG_SYSCTL
+int online_page(mfn_t mfn, uint32_t *status);
 int query_page_offline(mfn_t mfn, uint32_t *status);
+#else
+static inline int online_page(mfn_t mfn, uint32_t *status)
+{
+    return -EOPNOTSUPP;
+}
+static inline int query_page_offline(mfn_t mfn, uint32_t *status)
+{
+    return -EOPNOTSUPP;
+}
+#endif /* CONFIG_SYSCTL */
 
 void heap_init_late(void);
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 35d084aca7..5f89fc98fc 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -497,11 +497,18 @@ static XSM_INLINE int cf_check xsm_resource_setup_misc(XSM_DEFAULT_VOID)
     return xsm_default_action(action, current->domain, NULL);
 }
 
+#ifdef CONFIG_SYSCTL
 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);
 }
+#else
+static XSM_INLINE int cf_check xsm_page_offline(XSM_DEFAULT_ARG uint32_t cmd)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 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 d322740de1..d6f27aa977 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -140,7 +140,9 @@ struct xsm_ops {
     int (*resource_setup_gsi)(int gsi);
     int (*resource_setup_misc)(void);
 
+#ifdef CONFIG_SYSCTL
     int (*page_offline)(uint32_t cmd);
+#endif
     int (*hypfs_op)(void);
 
     long (*do_xsm_op)(XEN_GUEST_HANDLE_PARAM(void) op);
@@ -601,10 +603,17 @@ static inline int xsm_resource_setup_misc(xsm_default_t def)
     return alternative_call(xsm_ops.resource_setup_misc);
 }
 
+#ifdef CONFIG_SYSCTL
 static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
 {
     return alternative_call(xsm_ops.page_offline, cmd);
 }
+#else
+static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 static inline int xsm_hypfs_op(xsm_default_t def)
 {
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 4c97db0c48..aa89ee5331 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -96,7 +96,9 @@ 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
     .page_offline                  = xsm_page_offline,
+#endif
     .hypfs_op                      = xsm_hypfs_op,
     .hvm_param                     = xsm_hvm_param,
     .hvm_param_altp2mhvm           = xsm_hvm_param_altp2mhvm,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 7c46657d97..9819cd407d 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1206,10 +1206,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
 static int flask_resource_use_core(void)
 {
     return avc_current_has_perm(SECINITSID_DOMXEN, SECCLASS_RESOURCE, RESOURCE__USE, NULL);
 }
+#endif
 
 static int cf_check flask_resource_plug_pci(uint32_t machine_bdf)
 {
@@ -1274,6 +1276,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
 static inline int cf_check flask_page_offline(uint32_t cmd)
 {
     switch ( cmd )
@@ -1288,6 +1291,7 @@ static inline int cf_check flask_page_offline(uint32_t cmd)
         return avc_unknown_permission("page_offline", cmd);
     }
 }
+#endif
 
 static inline int cf_check flask_hypfs_op(void)
 {
@@ -1948,7 +1952,9 @@ 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
     .page_offline = flask_page_offline,
+#endif
     .hypfs_op = flask_hypfs_op,
     .hvm_param = flask_hvm_param,
     .hvm_param_altp2mhvm = flask_hvm_param_altp2mhvm,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909735.1316660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQR-0004Qh-N6; Wed, 12 Mar 2025 04:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909735.1316660; Wed, 12 Mar 2025 04: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 1tsDQR-0004Qa-JC; Wed, 12 Mar 2025 04:10:35 +0000
Received: by outflank-mailman (input) for mailman id 909735;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNT-0007Fd-JX
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:31 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20604.outbound.protection.outlook.com
 [2a01:111:f403:2413::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8266893c-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:07:28 +0100 (CET)
Received: from BN9PR03CA0514.namprd03.prod.outlook.com (2603:10b6:408:131::9)
 by SJ1PR12MB6100.namprd12.prod.outlook.com (2603:10b6:a03:45d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:18 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:131:cafe::fa) by BN9PR03CA0514.outlook.office365.com
 (2603:10b6:408:131::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 04:07:18 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:17 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:14 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8266893c-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fUkY/skRs6AhGNh00ue+kH0S0YIvqFB4j90+SU/hqO18gOjFxXuIiHo0oP5cyLILuJb7A56dekIvNb3dSiHsIwtsSYYLQHGg8gT0BUketZo11ZgQgBoxUs6gfuW8iLUrb7iGpYiDTHAF/Caq1gYQM196GhXfhvKpStxP8234O7dirJZSUok0riAXoqBqchi2TXucHRssTY00ErF+7+z0RAxtyvIILAqytRbfv6bSgM0KGHN6rtWeqa2Zmf+Zxe+gkLNrCzD71waaOk59gWOym8Hw3/zuIEH4uKgjSn8YkrtlYnFrNNSbUCaXDyUnSpBsx0VlYTk8b3+xiqYbr+UdzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wAni3E/lzkFT7UKJjTjPYxJbfFgXKFTWJ3maGSuPevQ=;
 b=YAuEoKgXf1qsdUOFtwhPS7lWqzBOsvgdfgd4KgF4teVyGMTILDrrl3HeJcMNTNjTAImKukkyhVoDbtR2OOZUAfHYHCMCT7fe3zbUbXO3ttNjhzrrxMv51EkgEuOi+e9pgcjF/0r9D4Nl9wV+CxCPcntMqBQlLLL01A5vigdj00XsNVFH00qgty0fGGQihv38waTntdPjCIrOGkWhz0ERHP/SRSVhqae6lWXbtPVGs5vQJB4drQFbTmnziDinalgKc9FFsoNatWGOshfRZdCMghtBxZUmLKyPzbsG29G30jrhQQO5yckcoEHsc4fciAN4+3V/v+R+rZZ87NfxXdQdDg==
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=wAni3E/lzkFT7UKJjTjPYxJbfFgXKFTWJ3maGSuPevQ=;
 b=QW1ZEqG1PQEHNkoitMyXYoScDDgR9Hszifea8gRhDo+GVK6bcbYuftyTiu2U6dN/AWlpb9qCIvRpwuzJigAVgnBlds0+/CgGrLHMuAZ/3vn40KkPmTG6M+Zbuig0xGToVFWUlxc3JwrCtJILqIu7bW5F8jn3IEyn1Nok7yeP6sY=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 08/19] xen/sysctl: introduce CONFIG_PM_STATISTIC
Date: Wed, 12 Mar 2025 12:06:21 +0800
Message-ID: <20250312040632.2853485-9-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|SJ1PR12MB6100:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d27497d-4eed-495c-b16a-08dd611b6146
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?t2ArOlywby/dwokjwXLLogmSr8kEl+2fh+CvPQSM1ScEpWv/cNjgnQvZMV7f?=
 =?us-ascii?Q?HQmAYjjqB5QqVeNPQGka9rV/XlyVCccBXVWc8oh7BTURJZ+dL3YzKACnT3lE?=
 =?us-ascii?Q?nW8wjzZ94tEv1NBdqABHqw+tc+6RtZn5xmdINBoxGQ/Hl/uN+JPk9Meoq+qM?=
 =?us-ascii?Q?y3ECQxmGhIqeD2HJMHEQlyj+b7lkhN7Wg8gvQjUtf8xHmIQGBguzXT5SwYKu?=
 =?us-ascii?Q?6yNICZoZpxf2rR2fzQXNv0R9hHxBEn5Qt9emgagkVmmsrTbz8pK+j6TjvNs7?=
 =?us-ascii?Q?a1OxkROtpUQXkg9QO8mGKl12+RiPBb+YFWDc1Tq6nRYDM5hD1s/CJw11d6V2?=
 =?us-ascii?Q?ME1tUdrj9WB5LPrpBL8xSzmjhJMu3VgU1F6c7SNwdlzizFDz0TcoTZFWaXWX?=
 =?us-ascii?Q?KuimgWPF2cCsjlj9kNNPXI7y53U1MgIr7PfT3sCnIUN00kcvqu5+cOij/2TZ?=
 =?us-ascii?Q?DcLahpKJz1e0irbjLsMakfNs3VLWnv4dgt1vaJNIKJXpFzcGmVDBMClLK0U2?=
 =?us-ascii?Q?fBKifRkaIQv8t+8XtqiR4VIHX4i4OiTA5FKzFu7glwjQpIoOBspekL02BS6x?=
 =?us-ascii?Q?WNfE1ssizZZXONvfXHBP/8xpv/kf1qYI1N9+rPgg/Dqy4y3kfEPIG1bo/WZg?=
 =?us-ascii?Q?cOVIuMfEhUlJim2AKJQPug8TzqqNDuatom8atZhabl53MeNu6nVefGDrIkNu?=
 =?us-ascii?Q?hwr6Qt3fDx/M765FkATDKTd1w21GOQshVCVXJeE47VJlB1CZ/UcTMF3WIi6M?=
 =?us-ascii?Q?k71tEAMy0sSZNYrOwVze65F1ATPJYs/6ecFcUgJSVklwSsFZuIrF1IVblD5P?=
 =?us-ascii?Q?HIWJ7wCtJ48slypV3NwLJTZ6DTxwMY5ziyvCWToOQ28FVkM7A/xHQfLHEwCU?=
 =?us-ascii?Q?NbA2qijgVKZqMAS8yo/nDaMMgPcozw8oI9VDO9RXhZzRlP/MUibKDW9xydwT?=
 =?us-ascii?Q?oP/sZGVF+YS/qZdnwaWhEhYajOxcwi2PAEXDpXAUemkEN8UZGOJFnT/0Gpep?=
 =?us-ascii?Q?S2H73CMyOC25VNDx1XdFtg8u3Iz5lua+1J8CTXAzHCvKpUv3WB+4SXeZ5I+6?=
 =?us-ascii?Q?itUSUjFFTBIccyZct87mQcGnVQCbl61hkO4wLBMO+iAlFZQOlczBwXiKnUzJ?=
 =?us-ascii?Q?FrKuxzax7twNHEJUNypjzmha5JDViQdS8LLwBCp+Tx6W4bGiptBcRr9PUEMK?=
 =?us-ascii?Q?mqLy++n4iN0LyI54qONfTRJMu0PqMESpW1y6b/M/Sz5w6reoFiKdiwX4N6A5?=
 =?us-ascii?Q?bG0iNtP5UlweFuWJr17Z22nnYUCP4+DXjhH4mieQpsl3gr3jmazZ0el/Zn6q?=
 =?us-ascii?Q?eYpBbQM2i++s/TYhx/wYhhSIEY58ihXKRkmo9nbtHrnrln4ESzvmIAEQJlhW?=
 =?us-ascii?Q?UVIsCa4kiYr/HwmHYEFNBFYks724eCjQkAXWoAVvUDKU+XAdv9uT1LWryZYp?=
 =?us-ascii?Q?NO/QBwGLQqSVH1+0kGnokfb4pUpgoi/+KLOyyjK6F1LlD41xpYNTJ+xy5i+b?=
 =?us-ascii?Q?aPZbJhL8rWKAesw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:17.9887
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d27497d-4eed-495c-b16a-08dd611b6146
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=[SATLEXMB04.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: SJ1PR12MB6100

This commit introduces CONFIG_PM_STATISTIC for wrapping all operations
regarding performance management statistic operations.
The major codes reside in xen/drivers/acpi/pmstat.c, including two main
pm-related sysctl op: do_get_pm_info() and do_pm_op().

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/arch/x86/acpi/cpu_idle.c                 |   2 +
 xen/arch/x86/acpi/cpufreq/hwp.c              |   6 +
 xen/arch/x86/acpi/cpufreq/powernow.c         |   4 +
 xen/common/Kconfig                           |   5 +
 xen/common/sysctl.c                          |   4 +-
 xen/drivers/acpi/Makefile                    |   2 +-
 xen/drivers/acpi/pmstat.c                    | 192 ++++++++++++++++---
 xen/drivers/cpufreq/cpufreq.c                |  31 +++
 xen/drivers/cpufreq/cpufreq_misc_governors.c |   2 +
 xen/drivers/cpufreq/cpufreq_ondemand.c       |   2 +
 xen/drivers/cpufreq/utility.c                | 164 +---------------
 xen/include/acpi/cpufreq/cpufreq.h           |   6 +
 xen/include/acpi/cpufreq/processor_perf.h    |  12 +-
 xen/include/xen/acpi.h                       |   2 +
 xen/include/xen/pmstat.h                     |   2 +
 15 files changed, 238 insertions(+), 198 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 420198406d..9ea52def42 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1487,6 +1487,7 @@ static void amd_cpuidle_init(struct acpi_processor_power *power)
         vendor_override = -1;
 }
 
+#ifdef CONFIG_PM_STATISTIC
 uint32_t pmstat_get_cx_nr(unsigned int cpu)
 {
     return processor_powers[cpu] ? processor_powers[cpu]->count : 0;
@@ -1606,6 +1607,7 @@ int pmstat_reset_cx_stat(unsigned int cpu)
 {
     return 0;
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 void cpuidle_disable_deep_cstate(void)
 {
diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index d5fa3d47ca..d1309e3e0a 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -466,6 +466,7 @@ static int cf_check hwp_cpufreq_cpu_exit(struct cpufreq_policy *policy)
     return 0;
 }
 
+#ifdef CONFIG_PM_STATISTIC
 /*
  * The SDM reads like turbo should be disabled with MSR_IA32_PERF_CTL and
  * PERF_CTL_TURBO_DISENGAGE, but that does not seem to actually work, at least
@@ -508,6 +509,7 @@ static int cf_check hwp_cpufreq_update(unsigned int cpu, struct cpufreq_policy *
 
     return per_cpu(hwp_drv_data, cpu)->ret;
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 static const struct cpufreq_driver __initconst_cf_clobber
 hwp_cpufreq_driver = {
@@ -516,9 +518,12 @@ hwp_cpufreq_driver = {
     .target = hwp_cpufreq_target,
     .init   = hwp_cpufreq_cpu_init,
     .exit   = hwp_cpufreq_cpu_exit,
+#ifdef CONFIG_PM_STATISTIC
     .update = hwp_cpufreq_update,
+#endif
 };
 
+#ifdef CONFIG_PM_STATISTIC
 int get_hwp_para(unsigned int cpu,
                  struct xen_cppc_para *cppc_para)
 {
@@ -639,6 +644,7 @@ int set_hwp_para(struct cpufreq_policy *policy,
 
     return hwp_cpufreq_target(policy, 0, 0);
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 int __init hwp_register_driver(void)
 {
diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c b/xen/arch/x86/acpi/cpufreq/powernow.c
index 69364e1855..0cdeeef883 100644
--- a/xen/arch/x86/acpi/cpufreq/powernow.c
+++ b/xen/arch/x86/acpi/cpufreq/powernow.c
@@ -49,6 +49,7 @@ static void cf_check transition_pstate(void *pstate)
     wrmsrl(MSR_PSTATE_CTRL, *(unsigned int *)pstate);
 }
 
+#ifdef CONFIG_PM_STATISTIC
 static void cf_check update_cpb(void *data)
 {
     struct cpufreq_policy *policy = data;
@@ -77,6 +78,7 @@ static int cf_check powernow_cpufreq_update(
 
     return 0;
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 static int cf_check powernow_cpufreq_target(
     struct cpufreq_policy *policy,
@@ -324,7 +326,9 @@ powernow_cpufreq_driver = {
     .target = powernow_cpufreq_target,
     .init   = powernow_cpufreq_cpu_init,
     .exit   = powernow_cpufreq_cpu_exit,
+#ifdef CONFIG_PM_STATISTIC
     .update = powernow_cpufreq_update
+#endif
 };
 
 unsigned int __init powernow_register_driver(void)
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index c5f4192b60..ffc6b9d4df 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -107,6 +107,11 @@ config NEEDS_LIBELF
 config NUMA
 	bool
 
+config PM_STATISTIC
+        bool "Enable Performance Management Statistic Operations"
+        depends on ACPI && HAS_CPUFREQ
+        default y
+
 config STATIC_MEMORY
 	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
 	depends on DOM0LESS_BOOT
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index c2d99ae12e..3d605633cc 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -170,7 +170,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         op->u.availheap.avail_bytes <<= PAGE_SHIFT;
         break;
 
-#if defined (CONFIG_ACPI) && defined (CONFIG_HAS_CPUFREQ)
+#ifdef CONFIG_PM_STATISTIC
     case XEN_SYSCTL_get_pmstat:
         ret = do_get_pm_info(&op->u.get_pmstat);
         break;
@@ -180,7 +180,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         if ( ret == -EAGAIN )
             copyback = 1;
         break;
-#endif
+#endif /* CONFIG_PM_STATISTIC */
 
     case XEN_SYSCTL_page_offline_op:
     {
diff --git a/xen/drivers/acpi/Makefile b/xen/drivers/acpi/Makefile
index 2fc5230253..70156ee0a4 100644
--- a/xen/drivers/acpi/Makefile
+++ b/xen/drivers/acpi/Makefile
@@ -5,7 +5,7 @@ obj-$(CONFIG_X86) += apei/
 obj-bin-y += tables.init.o
 obj-$(CONFIG_ACPI_NUMA) += numa.o
 obj-y += osl.o
-obj-$(CONFIG_HAS_CPUFREQ) += pmstat.o
+obj-$(CONFIG_PM_STATISTIC) += pmstat.o
 
 obj-$(CONFIG_X86) += hwregs.o
 obj-$(CONFIG_X86) += reboot.o
diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index df309e27b4..58cccd589b 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -43,6 +43,167 @@
 
 DEFINE_PER_CPU_READ_MOSTLY(struct pm_px *, cpufreq_statistic_data);
 
+DEFINE_PER_CPU(spinlock_t, cpufreq_statistic_lock);
+
+/*********************************************************************
+ *                    Px STATISTIC INFO                              *
+ *********************************************************************/
+
+static void cpufreq_residency_update(unsigned int cpu, uint8_t state)
+{
+    uint64_t now, total_idle_ns;
+    int64_t delta;
+    struct pm_px *pxpt = per_cpu(cpufreq_statistic_data, cpu);
+
+    total_idle_ns = get_cpu_idle_time(cpu);
+    now = NOW();
+
+    delta = (now - pxpt->prev_state_wall) -
+            (total_idle_ns - pxpt->prev_idle_wall);
+
+    if ( likely(delta >= 0) )
+        pxpt->u.pt[state].residency += delta;
+
+    pxpt->prev_state_wall = now;
+    pxpt->prev_idle_wall = total_idle_ns;
+}
+
+void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to)
+{
+    struct pm_px *pxpt;
+    struct processor_pminfo *pmpt = processor_pminfo[cpu];
+    spinlock_t *cpufreq_statistic_lock =
+               &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if ( !pxpt || !pmpt ) {
+        spin_unlock(cpufreq_statistic_lock);
+        return;
+    }
+
+    pxpt->u.last = from;
+    pxpt->u.cur = to;
+    pxpt->u.pt[to].count++;
+
+    cpufreq_residency_update(cpu, from);
+
+    (*(pxpt->u.trans_pt + from * pmpt->perf.state_count + to))++;
+
+    spin_unlock(cpufreq_statistic_lock);
+}
+
+int cpufreq_statistic_init(unsigned int cpu)
+{
+    uint32_t i, count;
+    struct pm_px *pxpt;
+    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
+    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock_init(cpufreq_statistic_lock);
+
+    if ( !pmpt )
+        return -EINVAL;
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if ( pxpt ) {
+        spin_unlock(cpufreq_statistic_lock);
+        return 0;
+    }
+
+    count = pmpt->perf.state_count;
+
+    pxpt = xzalloc(struct pm_px);
+    if ( !pxpt ) {
+        spin_unlock(cpufreq_statistic_lock);
+        return -ENOMEM;
+    }
+    per_cpu(cpufreq_statistic_data, cpu) = pxpt;
+
+    pxpt->u.trans_pt = xzalloc_array(uint64_t, count * count);
+    if (!pxpt->u.trans_pt) {
+        xfree(pxpt);
+        spin_unlock(cpufreq_statistic_lock);
+        return -ENOMEM;
+    }
+
+    pxpt->u.pt = xzalloc_array(struct pm_px_val, count);
+    if (!pxpt->u.pt) {
+        xfree(pxpt->u.trans_pt);
+        xfree(pxpt);
+        spin_unlock(cpufreq_statistic_lock);
+        return -ENOMEM;
+    }
+
+    pxpt->u.total = pmpt->perf.state_count;
+    pxpt->u.usable = pmpt->perf.state_count - pmpt->perf.platform_limit;
+
+    for (i=0; i < pmpt->perf.state_count; i++)
+        pxpt->u.pt[i].freq = pmpt->perf.states[i].core_frequency;
+
+    pxpt->prev_state_wall = NOW();
+    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
+
+    spin_unlock(cpufreq_statistic_lock);
+
+    return 0;
+}
+
+void cpufreq_statistic_exit(unsigned int cpu)
+{
+    struct pm_px *pxpt;
+    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if (!pxpt) {
+        spin_unlock(cpufreq_statistic_lock);
+        return;
+    }
+
+    xfree(pxpt->u.trans_pt);
+    xfree(pxpt->u.pt);
+    xfree(pxpt);
+    per_cpu(cpufreq_statistic_data, cpu) = NULL;
+
+    spin_unlock(cpufreq_statistic_lock);
+}
+
+static void cpufreq_statistic_reset(unsigned int cpu)
+{
+    uint32_t i, j, count;
+    struct pm_px *pxpt;
+    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
+    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if ( !pmpt || !pxpt || !pxpt->u.pt || !pxpt->u.trans_pt ) {
+        spin_unlock(cpufreq_statistic_lock);
+        return;
+    }
+
+    count = pmpt->perf.state_count;
+
+    for (i=0; i < count; i++) {
+        pxpt->u.pt[i].residency = 0;
+        pxpt->u.pt[i].count = 0;
+
+        for (j=0; j < count; j++)
+            *(pxpt->u.trans_pt + i*count + j) = 0;
+    }
+
+    pxpt->prev_state_wall = NOW();
+    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
+
+    spin_unlock(cpufreq_statistic_lock);
+}
+
 /*
  * Get PM statistic info
  */
@@ -522,34 +683,3 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
 
     return ret;
 }
-
-int acpi_set_pdc_bits(uint32_t acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
-{
-    u32 bits[3];
-    int ret;
-
-    if ( copy_from_guest(bits, pdc, 2) )
-        ret = -EFAULT;
-    else if ( bits[0] != ACPI_PDC_REVISION_ID || !bits[1] )
-        ret = -EINVAL;
-    else if ( copy_from_guest_offset(bits + 2, pdc, 2, 1) )
-        ret = -EFAULT;
-    else
-    {
-        u32 mask = 0;
-
-        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_CX )
-            mask |= ACPI_PDC_C_MASK | ACPI_PDC_SMP_C1PT;
-        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_PX )
-            mask |= ACPI_PDC_P_MASK | ACPI_PDC_SMP_C1PT;
-        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_TX )
-            mask |= ACPI_PDC_T_MASK | ACPI_PDC_SMP_C1PT;
-        bits[2] &= (ACPI_PDC_C_MASK | ACPI_PDC_P_MASK | ACPI_PDC_T_MASK |
-                    ACPI_PDC_SMP_C1PT) & ~mask;
-        ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask);
-    }
-    if ( !ret && __copy_to_guest_offset(pdc, 2, bits + 2, 1) )
-        ret = -EFAULT;
-
-    return ret;
-}
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 4a103c6de9..29fcfbe609 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -582,6 +582,37 @@ out:
     return ret;
 }
 
+int acpi_set_pdc_bits(uint32_t acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
+{
+    u32 bits[3];
+    int ret;
+
+    if ( copy_from_guest(bits, pdc, 2) )
+        ret = -EFAULT;
+    else if ( bits[0] != ACPI_PDC_REVISION_ID || !bits[1] )
+        ret = -EINVAL;
+    else if ( copy_from_guest_offset(bits + 2, pdc, 2, 1) )
+        ret = -EFAULT;
+    else
+    {
+        u32 mask = 0;
+
+        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_CX )
+            mask |= ACPI_PDC_C_MASK | ACPI_PDC_SMP_C1PT;
+        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_PX )
+            mask |= ACPI_PDC_P_MASK | ACPI_PDC_SMP_C1PT;
+        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_TX )
+            mask |= ACPI_PDC_T_MASK | ACPI_PDC_SMP_C1PT;
+        bits[2] &= (ACPI_PDC_C_MASK | ACPI_PDC_P_MASK | ACPI_PDC_T_MASK |
+                    ACPI_PDC_SMP_C1PT) & ~mask;
+        ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask);
+    }
+    if ( !ret && __copy_to_guest_offset(pdc, 2, bits + 2, 1) )
+        ret = -EFAULT;
+
+    return ret;
+}
+
 static void cpufreq_cmdline_common_para(struct cpufreq_policy *new_policy)
 {
     if (usr_max_freq)
diff --git a/xen/drivers/cpufreq/cpufreq_misc_governors.c b/xen/drivers/cpufreq/cpufreq_misc_governors.c
index 0327fad23b..efdc954a4e 100644
--- a/xen/drivers/cpufreq/cpufreq_misc_governors.c
+++ b/xen/drivers/cpufreq/cpufreq_misc_governors.c
@@ -64,6 +64,7 @@ static int cf_check cpufreq_governor_userspace(
     return ret;
 }
 
+#ifdef CONFIG_PM_STATISTIC
 int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq)
 {
     struct cpufreq_policy *policy;
@@ -80,6 +81,7 @@ int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq)
 
     return __cpufreq_driver_target(policy, freq, CPUFREQ_RELATION_L);
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 static bool __init cf_check
 cpufreq_userspace_handle_option(const char *name, const char *val)
diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
index 06cfc88d30..ec1e605a59 100644
--- a/xen/drivers/cpufreq/cpufreq_ondemand.c
+++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
@@ -57,6 +57,7 @@ static struct dbs_tuners {
 
 static DEFINE_PER_CPU(struct timer, dbs_timer);
 
+#ifdef CONFIG_PM_STATISTIC
 int write_ondemand_sampling_rate(unsigned int sampling_rate)
 {
     if ( (sampling_rate > MAX_SAMPLING_RATE / MICROSECS(1)) ||
@@ -93,6 +94,7 @@ int get_cpufreq_ondemand_para(uint32_t *sampling_rate_max,
 
     return 0;
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info)
 {
diff --git a/xen/drivers/cpufreq/utility.c b/xen/drivers/cpufreq/utility.c
index e690a484f1..2eb3314694 100644
--- a/xen/drivers/cpufreq/utility.c
+++ b/xen/drivers/cpufreq/utility.c
@@ -35,168 +35,6 @@ struct cpufreq_driver __read_mostly cpufreq_driver;
 struct processor_pminfo *__read_mostly processor_pminfo[NR_CPUS];
 DEFINE_PER_CPU_READ_MOSTLY(struct cpufreq_policy *, cpufreq_cpu_policy);
 
-DEFINE_PER_CPU(spinlock_t, cpufreq_statistic_lock);
-
-/*********************************************************************
- *                    Px STATISTIC INFO                              *
- *********************************************************************/
-
-void cpufreq_residency_update(unsigned int cpu, uint8_t state)
-{
-    uint64_t now, total_idle_ns;
-    int64_t delta;
-    struct pm_px *pxpt = per_cpu(cpufreq_statistic_data, cpu);
-
-    total_idle_ns = get_cpu_idle_time(cpu);
-    now = NOW();
-
-    delta = (now - pxpt->prev_state_wall) - 
-            (total_idle_ns - pxpt->prev_idle_wall);
-
-    if ( likely(delta >= 0) )
-        pxpt->u.pt[state].residency += delta;
-
-    pxpt->prev_state_wall = now;
-    pxpt->prev_idle_wall = total_idle_ns;
-}
-
-void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to)
-{
-    struct pm_px *pxpt;
-    struct processor_pminfo *pmpt = processor_pminfo[cpu];
-    spinlock_t *cpufreq_statistic_lock = 
-               &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if ( !pxpt || !pmpt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return;
-    }
-
-    pxpt->u.last = from;
-    pxpt->u.cur = to;
-    pxpt->u.pt[to].count++;
-
-    cpufreq_residency_update(cpu, from);
-
-    (*(pxpt->u.trans_pt + from * pmpt->perf.state_count + to))++;
-
-    spin_unlock(cpufreq_statistic_lock);
-}
-
-int cpufreq_statistic_init(unsigned int cpu)
-{
-    uint32_t i, count;
-    struct pm_px *pxpt;
-    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
-    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock_init(cpufreq_statistic_lock);
-
-    if ( !pmpt )
-        return -EINVAL;
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if ( pxpt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return 0;
-    }
-
-    count = pmpt->perf.state_count;
-
-    pxpt = xzalloc(struct pm_px);
-    if ( !pxpt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return -ENOMEM;
-    }
-    per_cpu(cpufreq_statistic_data, cpu) = pxpt;
-
-    pxpt->u.trans_pt = xzalloc_array(uint64_t, count * count);
-    if (!pxpt->u.trans_pt) {
-        xfree(pxpt);
-        spin_unlock(cpufreq_statistic_lock);
-        return -ENOMEM;
-    }
-
-    pxpt->u.pt = xzalloc_array(struct pm_px_val, count);
-    if (!pxpt->u.pt) {
-        xfree(pxpt->u.trans_pt);
-        xfree(pxpt);
-        spin_unlock(cpufreq_statistic_lock);
-        return -ENOMEM;
-    }
-
-    pxpt->u.total = pmpt->perf.state_count;
-    pxpt->u.usable = pmpt->perf.state_count - pmpt->perf.platform_limit;
-
-    for (i=0; i < pmpt->perf.state_count; i++)
-        pxpt->u.pt[i].freq = pmpt->perf.states[i].core_frequency;
-
-    pxpt->prev_state_wall = NOW();
-    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
-
-    spin_unlock(cpufreq_statistic_lock);
-
-    return 0;
-}
-
-void cpufreq_statistic_exit(unsigned int cpu)
-{
-    struct pm_px *pxpt;
-    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if (!pxpt) {
-        spin_unlock(cpufreq_statistic_lock);
-        return;
-    }
-
-    xfree(pxpt->u.trans_pt);
-    xfree(pxpt->u.pt);
-    xfree(pxpt);
-    per_cpu(cpufreq_statistic_data, cpu) = NULL;
-
-    spin_unlock(cpufreq_statistic_lock);
-}
-
-void cpufreq_statistic_reset(unsigned int cpu)
-{
-    uint32_t i, j, count;
-    struct pm_px *pxpt;
-    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
-    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if ( !pmpt || !pxpt || !pxpt->u.pt || !pxpt->u.trans_pt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return;
-    }
-
-    count = pmpt->perf.state_count;
-
-    for (i=0; i < count; i++) {
-        pxpt->u.pt[i].residency = 0;
-        pxpt->u.pt[i].count = 0;
-
-        for (j=0; j < count; j++)
-            *(pxpt->u.trans_pt + i*count + j) = 0;
-    }
-
-    pxpt->prev_state_wall = NOW();
-    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
-
-    spin_unlock(cpufreq_statistic_lock);
-}
-
-
 /*********************************************************************
  *                   FREQUENCY TABLE HELPERS                         *
  *********************************************************************/
@@ -386,6 +224,7 @@ int cpufreq_driver_getavg(unsigned int cpu, unsigned int flag)
     return policy->cur;
 }
 
+#ifdef CONFIG_PM_STATISTIC
 int cpufreq_update_turbo(unsigned int cpu, int new_state)
 {
     struct cpufreq_policy *policy;
@@ -417,6 +256,7 @@ int cpufreq_update_turbo(unsigned int cpu, int new_state)
 
     return ret;
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 
 int cpufreq_get_turbo_status(unsigned int cpu)
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index a3c84143af..bfef9bb523 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -167,7 +167,9 @@ struct cpufreq_driver {
     int    (*init)(struct cpufreq_policy *policy);
     int    (*verify)(struct cpufreq_policy *policy);
     int    (*setpolicy)(struct cpufreq_policy *policy);
+#ifdef CONFIG_PM_STATISTIC
     int    (*update)(unsigned int cpu, struct cpufreq_policy *policy);
+#endif
     int    (*target)(struct cpufreq_policy *policy,
                      unsigned int target_freq,
                      unsigned int relation);
@@ -238,6 +240,7 @@ struct cpu_dbs_info_s {
     int8_t stoppable;
 };
 
+#ifdef CONFIG_PM_STATISTIC
 int get_cpufreq_ondemand_para(uint32_t *sampling_rate_max,
                               uint32_t *sampling_rate_min,
                               uint32_t *sampling_rate,
@@ -246,6 +249,7 @@ int write_ondemand_sampling_rate(unsigned int sampling_rate);
 int write_ondemand_up_threshold(unsigned int up_threshold);
 
 int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq);
+#endif /* CONFIG_PM_STATISTIC */
 
 void cpufreq_dbs_timer_suspend(void);
 void cpufreq_dbs_timer_resume(void);
@@ -270,10 +274,12 @@ bool hwp_active(void);
 static inline bool hwp_active(void) { return false; }
 #endif
 
+#ifdef CONFIG_PM_STATISTIC
 int get_hwp_para(unsigned int cpu,
                  struct xen_cppc_para *cppc_para);
 int set_hwp_para(struct cpufreq_policy *policy,
                  struct xen_set_cppc_para *set_cppc);
+#endif /* CONFIG_PM_STATISTIC */
 
 int acpi_cpufreq_register(void);
 
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index 301104e16f..2f5a4d2b7b 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -9,11 +9,19 @@
 
 unsigned int powernow_register_driver(void);
 unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
-void cpufreq_residency_update(unsigned int cpu, uint8_t state);
+#ifdef CONFIG_PM_STATISTIC
 void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to);
 int  cpufreq_statistic_init(unsigned int cpu);
 void cpufreq_statistic_exit(unsigned int cpu);
-void cpufreq_statistic_reset(unsigned int cpu);
+#else
+static inline  void cpufreq_statistic_update(unsigned int cpu, uint8_t from,
+                                             uint8_t to) {};
+static inline int cpufreq_statistic_init(unsigned int cpu)
+{
+    return 0;
+}
+static inline void cpufreq_statistic_exit(unsigned int cpu) {};
+#endif /* CONFIG_PM_STATISTIC */
 
 int  cpufreq_limit_change(unsigned int cpu);
 
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index bc4818c943..0bbbc3c15d 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -158,6 +158,7 @@ int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
 extern unsigned int max_cstate;
 extern unsigned int max_csubstate;
 
+#ifdef CONFIG_PM_STATISTIC
 static inline unsigned int acpi_get_cstate_limit(void)
 {
 	return max_cstate;
@@ -177,6 +178,7 @@ static inline void acpi_set_csubstate_limit(unsigned int new_limit)
 {
 	max_csubstate = new_limit;
 }
+#endif /* CONFIG_PM_STATISTIC */
 
 #else
 static inline unsigned int acpi_get_cstate_limit(void) { return 0; }
diff --git a/xen/include/xen/pmstat.h b/xen/include/xen/pmstat.h
index 8350403e95..ad72665025 100644
--- a/xen/include/xen/pmstat.h
+++ b/xen/include/xen/pmstat.h
@@ -15,11 +15,13 @@ struct compat_processor_power;
 long compat_set_cx_pminfo(uint32_t acpi_id, struct compat_processor_power *power);
 #endif
 
+#ifdef CONFIG_PM_STATISTIC
 uint32_t pmstat_get_cx_nr(unsigned int cpu);
 int pmstat_get_cx_stat(unsigned int cpu, struct pm_cx_stat *stat);
 int pmstat_reset_cx_stat(unsigned int cpu);
 
 int do_get_pm_info(struct xen_sysctl_get_pmstat *op);
 int do_pm_op(struct xen_sysctl_pm_op *op);
+#endif /* CONFIG_PM_STATISTIC */
 
 #endif /* __XEN_PMSTAT_H_ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909732.1316651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQQ-000489-Gg; Wed, 12 Mar 2025 04:10:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909732.1316651; Wed, 12 Mar 2025 04:10: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 1tsDQQ-00047j-Ae; Wed, 12 Mar 2025 04:10:34 +0000
Received: by outflank-mailman (input) for mailman id 909732;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNT-0006o2-75
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:31 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060b.outbound.protection.outlook.com
 [2a01:111:f403:2412::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 836ad4be-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:29 +0100 (CET)
Received: from BN9PR03CA0682.namprd03.prod.outlook.com (2603:10b6:408:10e::27)
 by LV8PR12MB9691.namprd12.prod.outlook.com (2603:10b6:408:295::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:23 +0000
Received: from BN1PEPF00006003.namprd05.prod.outlook.com
 (2603:10b6:408:10e:cafe::f6) by BN9PR03CA0682.outlook.office365.com
 (2603:10b6:408:10e::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:07:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006003.mail.protection.outlook.com (10.167.243.235) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:23 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:20 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 836ad4be-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qdfbVYZ36h95D6hcBPFiCMeJafIiaRN7AF+VmXXx2qc7/S3WPpi93cvbqb05zLZ6j7GddcyESYrIQb3Z+KTjSv9pkp6gDuVwQVjmgjjmrub6TzYTGtKTr0aFzDRR0Hh+LjA6Aov0lTPz6b3sDyPcPfkLpxtWoPfPtQkpcGAOS2Sqz05ZaOLeK0W6SEu3Jce0i4HS3ZuCaG60rRF1cmmqNi9Dmpmvl5CjfXOj3aeg3cfg0h/NdHHIQREYr8AS1AOFwa7R3weBTpZte4j5JdQfUSDdXz2nEkJVWAC3O/NK9lA10ofov84bwEZuGE11O+nECu8bjlHGQFMweb+6M1C8rA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X9zemyVNubW8PfgWJd3Mg81LIUFsZ0rkITRTvoNrtMQ=;
 b=FUu0OsENIwGKCMIKmn2o+xt7Y9Sm+xy5fozo8zRu4q7E2gfCl5BjE+X8lHSksYN9oixmfkDxsybnOavnhlx8NllGQaPeaA8EKj/EcmJygg9UN3/BbCzr0yAh6gwOPzAn9x3V/DNcgOjAeDoyzzINrJ7eczcXHpSTOrbVAmT1z1o95Uzy1D/cxBwywZ9rezIdxv6UWMCTk7cVDe4vVHFxTYagcLAdNbQba1xv1RTvZLR3NAfVGMhILJV5NlGEUXRXoMeXerKCUl1aRFnbzEzj8UEBgxEmjzUb5zBR8926FY/ABBjs6fNMo+So3KlrQ0cSwaFR56fRFVtPaJ/u4nOVuQ==
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=X9zemyVNubW8PfgWJd3Mg81LIUFsZ0rkITRTvoNrtMQ=;
 b=KvB9Hw0O886ZfWbX4+YVmU38MrkY1z0tzY6xmiF2oLsDMJm6rLPDj6oAKk6rzCqg54/5rhuO4ft0ui4PkaKv2G9Lx2T04Sw1tm551cz3ChJ7CysX9AnWyfM/ZhsDX1i4GU02j6J1CZUUXHIhPUZCAVJOXPO4ozzEU9zGKMThVNU=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 10/19] xen/page: fix return type of online_page()
Date: Wed, 12 Mar 2025 12:06:23 +0800
Message-ID: <20250312040632.2853485-11-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006003:EE_|LV8PR12MB9691:EE_
X-MS-Office365-Filtering-Correlation-Id: 5cd23513-25dc-4ab8-ddb5-08dd611b6486
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?YqwuKirBPBZaATopkJ+ZEnjf9oMwSTeZucyp1Vsv8oZUYeZXBHdm4vUu/R+0?=
 =?us-ascii?Q?B14KbrOJXXPVX4tvJ9sapj++CB754+vUmQfjy4NqC623bpbXVX3gZRDlLDli?=
 =?us-ascii?Q?3R6+D8s4wKmMX6mNwFwGiJhiuLaNzW4SoJkFNXCdwHyiVsClSj/cKBadcSbU?=
 =?us-ascii?Q?NcQQ0mg+bTl0v6e8ptnhLvOhpO/EzmIU5mgjNO9+pw+/XMQpzq8z1++h70yS?=
 =?us-ascii?Q?Hg70arNbswCoGSnHjTYFoO8B2lnTItKGltwZmG2G/YAz7P0EBy1fkUn59AvC?=
 =?us-ascii?Q?gOmjySaddV9G0l82J4mJd48xbyBHLB/cSMuHyDfuRbOjb5XKjlZjg8QMLY6U?=
 =?us-ascii?Q?1Mdh99mA9KENw/0eh/GVRjM8BeCFEqtp4mOP9GWLGv3qRgaZAWMJGvb1wHTp?=
 =?us-ascii?Q?vRTMKKcvAWy2L1Dliv8u8+idFD8l6KXtNQanLdyytaw5kCnbl8GBUUjnsi4p?=
 =?us-ascii?Q?zrTMP7McKchAlDYXihbHruxttif1f+1atE0UrNf2JDNNoNBwvD8a98bF9obD?=
 =?us-ascii?Q?4sBxUqzEPIua4Mv5S0XpIvrC6gJ0hO3w4idwf3Hlx8nzzXnUQ94fTc9WQqmZ?=
 =?us-ascii?Q?dbNZ2ylGiG+dTUz87n7uS6ffwWVd0/AKNbFAaZXz6iYcSZhLnKKTem0Y4x4a?=
 =?us-ascii?Q?UWj61AdjNgyE/l1pTjHNGCDTfB5wmNjMAhWXscKPM1KEWr6dehF5tu6ZEtsd?=
 =?us-ascii?Q?CGSdzlDusF+bcersT0FOl387tAFOlrfaI0SV5S3kav6wx8DGplBjKlyBDHxt?=
 =?us-ascii?Q?HCit0zA08NtMX1mSimvxPWB3JO/bMFOE973EoEgPIxIZlX0/nSAZ0U1E0li5?=
 =?us-ascii?Q?n0UKIb9fteDMPvegDPCt6QR7ouoJC/9MdKdOmdS2gQzsWi0JXqeVDkyICn8m?=
 =?us-ascii?Q?S5kl2IAyyPAfGDK3iAuz6DC6ud/2G0TpmFANBkhpZjqNt4Seh5WBOuX+n+sx?=
 =?us-ascii?Q?NMPnNNdwnwSaQbxP5BaUzInrj3lSc+TR/HLAmB2CoGs5tVPrAD1/OeNt2MmX?=
 =?us-ascii?Q?is4towF+vzYGINFDy3HKr9xg/wXsYZM9l9ymH+k8O+8mQ0/bXougRtLMb9u5?=
 =?us-ascii?Q?9cUj0Tz543sV/rHO94hbsa7aoaevKjx0yBhUuIr9vuRyZiZciz7jTrWqErdj?=
 =?us-ascii?Q?tk6uaJdtyxcDn9pZnrTBFtO8aeaHSZuJaSRIFp6cA5itOHEDJ/NAGS6LMmzg?=
 =?us-ascii?Q?dDm/uLQinrL4CMXQhh7ZFcOsRNPYuG2uB/pR7YsTGjk8nQBpHHTKCe6vlu3m?=
 =?us-ascii?Q?Vg+n6VSU3g8QvAqfRsz2wFsOzNzM9kCfI31/WyhUlV2RraI0snIfoXjNthLz?=
 =?us-ascii?Q?CR9EOZKRV5UEcQRlQJv3awhSe+n7FrPX4EZo03MwRQRCVNlHNPj20nXSNJqE?=
 =?us-ascii?Q?TO915W6ykBw8ptqSn1NUcxwAdkNvKO6NZSdqqHdwmkYpZAwVgW2u3XEotAkt?=
 =?us-ascii?Q?IavhtwUow1UdN0J5MFy1zjlPPihdRCyzpmIsVtoalRRxmJrp0WGVn7wyxGml?=
 =?us-ascii?Q?k+yUohMj6eUmmC8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:07:23.4581
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cd23513-25dc-4ab8-ddb5-08dd611b6486
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006003.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9691

This commit fixes return type of online_page(), which shall be int
to include correct error value.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/page_alloc.c | 2 +-
 xen/include/xen/mm.h    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 1bf070c8c5..b5ec4bda7d 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1764,7 +1764,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
  *   The caller should make sure end_pfn <= max_page,
  *   if not, expand_pages() should be called prior to online_page().
  */
-unsigned int online_page(mfn_t mfn, uint32_t *status)
+int online_page(mfn_t mfn, uint32_t *status)
 {
     unsigned long x, nx, y;
     struct page_info *pg;
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 16f733281a..ae1c48a615 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -144,7 +144,7 @@ unsigned long avail_domheap_pages(void);
 unsigned long avail_node_heap_pages(unsigned int nodeid);
 #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
 #define free_domheap_page(p)  (free_domheap_pages(p,0))
-unsigned int online_page(mfn_t mfn, uint32_t *status);
+int online_page(mfn_t mfn, uint32_t *status);
 int offline_page(mfn_t mfn, int broken, uint32_t *status);
 int query_page_offline(mfn_t mfn, uint32_t *status);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909736.1316664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQS-0004UD-0c; Wed, 12 Mar 2025 04:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909736.1316664; Wed, 12 Mar 2025 04: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 1tsDQR-0004TJ-Qk; Wed, 12 Mar 2025 04:10:35 +0000
Received: by outflank-mailman (input) for mailman id 909736;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDQQ-0003cw-Ds
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:10:34 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20623.outbound.protection.outlook.com
 [2a01:111:f403:2407::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f176b3bc-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:10:33 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 MN0PR12MB6270.namprd12.prod.outlook.com (2603:10b6:208:3c2::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:10:30 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025
 04:10: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: f176b3bc-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=o2AKTkcNFY0gh2V+rVOC65UeZEJNYR7HEEW5rV72zElyRT+bAMl7Rq0Qc1eEHJVcx8tuJLLBOV8c7d7nPuLMcypk1fxFKPRnfk4eN3Iq45XMDm/k+/7nL5E1urAK7RFEjVToPIU3VMoHRyVoP51eddzhwbYm8a3KzgvdOq+zoHoNujq/zGvkZameONvBjxnItA+SKrbaSovJUwyhFbPbHC5OcUAN3sykVA7ms4lWa+eRjcQcUvR9xsMFid8faHuSu5EK93RloGOFcARtLVCXqYOv3e2/mh2WzWxHSNKFaR21v1u+YmGnf+3+CnLDS9DXi+El7ENrjPIvx9/rKvjn6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hIj/6w4/3poywgpunCnKDjo05HcEVh1ccU2NarPohcU=;
 b=k4P2NkbtfdujbUDFzpHBmWvs+2201Q9gD4g48uupCIFi0zWDaDBdp39EHjoyLWzqW9KCnx+Urni4b6VWvpSMtCN64zdeHyiyGc/fHvk1P6UKVBnakxQvCIidekN+h7Z8w9juohYTQGiIYZUJQCsLltKvW5DHtV1V7tK0MvXrlfuEdbdOpD4cLIi53N15Mr7tyyb7ChnHzKP6MSG6sq9P+oBWiJy8FZgbvHDWsy0cAzu+P7VVe96JCSR+MD0Kbg34hf+9ieq5rUyBfrwTSfQrRbOrY5kzFaL89VPtIyPu9h1YGY48S0ky4Lo+M6Q5FzjFTyBRrbI6oLnOwpJdjhc7Xw==
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=hIj/6w4/3poywgpunCnKDjo05HcEVh1ccU2NarPohcU=;
 b=Qv3HGGFr1UZGpQ7RZxp1VJY2IH9YkweOe2IxSiCIkShl+TrvQjH7iU21YY25B2UGhBryeql/4f4djh6NVPX4HSAK+4R9B55EpQMGoN7ItwbK4d4/mAELYeYuFplKpIOem4dYsqdTnyB+0LDPAXAgC3phCgIwGgUR6v/npz9jZ64=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "Huang, Ray" <Ray.Huang@amd.com>, "Stabellini, Stefano"
	<stefano.stabellini@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>, "Orzel, Michal"
	<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>, Sergiy Kibrik
	<Sergiy_Kibrik@epam.com>
Subject: RE: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
Thread-Topic: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
Thread-Index: AQHbkwQ2siYVTp7HZ0Ko0MkyYzyBGrNu4nmg
Date: Wed, 12 Mar 2025 04:10:29 +0000
Message-ID:
 <DM4PR12MB845105949CCBCD7780A718FFE1D02@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-2-Penny.Zheng@amd.com>
In-Reply-To: <20250312040632.2853485-2-Penny.Zheng@amd.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_ActionId=5fcb949d-9f05-42cd-aa6f-eafdf0e36244;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-12T04:10:18Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|MN0PR12MB6270:EE_
x-ms-office365-filtering-correlation-id: 44af5575-c76f-430a-03de-08dd611bd3bb
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|366016|1800799024|7053199007|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?jS+DauiYOToa9y9XjO3kHaMfkXbx0jHWPFT/RyRmFJKnARuUuLYnPNlnRY?=
 =?iso-8859-1?Q?4PSlLO8lhTD1xBKwo8lruDD631prZBGQ2FnjgSv51xCTHuTlTmu3ECjjPx?=
 =?iso-8859-1?Q?MJLw76xMIqR1EifAVbXuZQVre+S6jP5+OOrf8fNHKUvRk7Ay08qMmxRvns?=
 =?iso-8859-1?Q?vowQJ8EsuuYfh72HUxBuGO71NiDG4FivyoJNJCqCVxWuFXytugZ9+4vPua?=
 =?iso-8859-1?Q?DzRknFboEgDUslj0I01ptDgywy0LAfVx13hZwB2sAygmqVmawDy4sD+fmB?=
 =?iso-8859-1?Q?Xmgf1O/3eBsutDWLGpTcTzhojKHtkCQLLdT0141+JgHNJhBpy0ARLpTIai?=
 =?iso-8859-1?Q?wBBT9bZi7LaT2SJleVRTwuTubnLrjtxmB67xy41e10ORpP4O7pCU7wkPRU?=
 =?iso-8859-1?Q?KCC94xVTlQEauShZW+fKai18UssAz98NHmm69SrDsxjRhEaBaPCh/l/dM/?=
 =?iso-8859-1?Q?BmQNx1pyOrsUmafLRZWa4v4Ws6T+uMxTV8wpBPG2XxPza/mOa57vM4CW5B?=
 =?iso-8859-1?Q?SCpjMrt5ScyEVaWSHUef/qWJUcaoGVPHIgGAi/OAN6w0iv0XOh4aJSjQv1?=
 =?iso-8859-1?Q?IDWUIVOWnDa/yf58dyN2LIS+HSJvvYUIlvzqB4T4kf0W1jSsbOrScnGkDH?=
 =?iso-8859-1?Q?UoC54w5cJ7kLhnWkDb3++9AD30x6cwXjPt2LZl43nnNri06PIh5jedclPN?=
 =?iso-8859-1?Q?0vdUFnFa3teFjVZdjsEkqNjlPHZXL+Mb/JtvJH0CUR8e2CP3xUaTMg1MWF?=
 =?iso-8859-1?Q?1X9x1NvlBk5ZegL/GuBvrmQJ4A7jNsbA+i/RqSWSvyZ8jXdjfiDNJp81u+?=
 =?iso-8859-1?Q?WPII9n7XX8Yzv8bBMrzUVe1OLmwdentDg+I+eV9deDkHjuto5Va8tcUgEA?=
 =?iso-8859-1?Q?4C47pArHkUetvjpXqTb+PMbw4fWKUcr4h/dMjMhh58IECTh2QyLsXOfXJN?=
 =?iso-8859-1?Q?ceiQjTV6Cc8E9pGMEaO00pdu86VAYgaVbNbBowRqVceoPFvFAH47qwe+WO?=
 =?iso-8859-1?Q?TgTU/ehmiYeir4WDvIb2YHTr6YrhACd2D9zvIcg1dkGus14aAemg/Gs5DH?=
 =?iso-8859-1?Q?frdd4exgb4qiGyVKF/RCNZ/ydG/RMa4DVbPcxXFgCKSiNbDODsSsQKnFQJ?=
 =?iso-8859-1?Q?GJU5l6k69Er1w5HJ/H3pxO5ibDMONJGGOQTLtO2/pcyW/qBkflgE7TPbay?=
 =?iso-8859-1?Q?m2fRJqSM9vnjhlMrJ4qbMtD0rD9mM0n1bjEu0E+2nyM/NxcxvFGbr+XDUp?=
 =?iso-8859-1?Q?iyLM5Mx8+KbrzOZdsOwQem0X8Jkky2qUH1WJs8R11dhQ8u0hT4A+TPjhLn?=
 =?iso-8859-1?Q?uvQyDPV/0nc1YfCPSqWECorUdtMiXYyg0ZCT1pMWsyrCAL5Wy3LnL6nb+J?=
 =?iso-8859-1?Q?rRUQT+BGA6lGNyxhWLGs4NbShx3HAwnD3/u6xxtHtJONY//7WVd5r48cIX?=
 =?iso-8859-1?Q?mXGttaN35HcoDhot?=
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)(7053199007)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Lru+bRfbxYX8jX9EMKKbGgJfUqE1m43KjtPhqqYAOfHGIJ02GttlwVZdnV?=
 =?iso-8859-1?Q?Nb4f6inRy64/9kdKha5hIJx5tQZkXe1GguA1s7o5khnqR22hNqacVjQZeD?=
 =?iso-8859-1?Q?LADFx9AfxYD6e9JiNF+COkypzScwTK2umkNo9CORI5TpAf60I2QezOONus?=
 =?iso-8859-1?Q?0fdqewLWbOxV7EDGdKPMMhj3TnCUC4dXVDtoRzYstGOT9D7o75W4I5HjWi?=
 =?iso-8859-1?Q?qOlDMmxKqTqic69jp0VoIvSlosybR1TZVbYIWzvgIRu9S1SGm38TP1YAGU?=
 =?iso-8859-1?Q?4qnXC1Z88C2OWip7nCzXc/OoG93ANGWE/crUkSek6D2V7xTT2gshALri1+?=
 =?iso-8859-1?Q?d3BLPLR0cOiD4dEOTEFKIIxJ3vhNVTH6qapbO/VfwonyTYo+dsyXG26P1H?=
 =?iso-8859-1?Q?u/BXjqCxfs/aBhd7rkqmPMPfo8UAjq8CEpUFCHvQkvcg+yuxJs1kZDIOAN?=
 =?iso-8859-1?Q?Js+Q24q1AO/J6zX+U/j18UjzdYUa4cnEN0WGNcsbF/qS446Mm4HkGk+fig?=
 =?iso-8859-1?Q?bo1LJ1YRplrWFWYZP1UpIMs9grrgbb4QV/2cS26X18vuT1A9dgMMQSL4ZH?=
 =?iso-8859-1?Q?M3IsDFzPa++3a3Nxc4FgUz2YELrk2wm164D/dX3bxgux3oJe/suIvxpvda?=
 =?iso-8859-1?Q?/DMf1+ekoyQzzIyuJSqxvddI0Yyre3Jkoonddi88bksjF1pW3NKE/8/yfA?=
 =?iso-8859-1?Q?1iFgE6g15F9pJe+HVmRsqyhmujagb8Ze2z1PIq7PmTQ0k+aIvYGTLLaQb1?=
 =?iso-8859-1?Q?jSCwrguc5xE87PSav+hes4qMNchvyqkXl7KvKe0B4ZnU0FF3Hp0tC7lE6W?=
 =?iso-8859-1?Q?yossmi6mCGBYPYz7avIV1/aIlwmi1bQa3JhyelIWn4HmfNgEyv5yv9Y+xl?=
 =?iso-8859-1?Q?Wsd/uTr9ZIHS5hOdqMYbn9VYOVUahqpZk77tscXG4mdN4v1ZZQrL1G4Y+c?=
 =?iso-8859-1?Q?wwjy6VS2+WryMWxJZVVpV/r3bWTzXHXtTHRpLVLkMk2BQa4dnjJRVnfm1O?=
 =?iso-8859-1?Q?nWgVageU6lvy8uFrQP5Y6/boql/KeR3VNO4C7nB0uMrWHCfvc+OrtyJsC5?=
 =?iso-8859-1?Q?3qE3cQr8unf1xjw5Xd829eWKmQTUmuZAf0xhkRNkC4bILU/UDmkm3VDY/t?=
 =?iso-8859-1?Q?2SfvHq5tt0ZlP0z+6JMUV6YjpRGdZytaSizbm4ecFucNILiWemHWdeConl?=
 =?iso-8859-1?Q?juTl8FR0JGIFoe36t7mrJVnrLKaXInnW5sENKA+6O7C5ScMgAgYyUvsPJi?=
 =?iso-8859-1?Q?t7a2AGUE5NBqqdHzO8q4wxO1IRowAh3a39JwK8Hp+kFLCw5wYHD91jRtQO?=
 =?iso-8859-1?Q?Qkp3Ixje429G1l2qvq35hQ4x73eSS9KPRrj7BnnT+pfL8AVARTLyBXqPlu?=
 =?iso-8859-1?Q?HxFatO/PZpFcvo+U2mo4t+dh/NMxvR+quwQPf5udHHs6CNpRJ2zemasktx?=
 =?iso-8859-1?Q?Fs1rzDujOuK8cqwbQAc69qEolblT9OecmUcDLC0GpMKUvVS5H1hDZW3W2n?=
 =?iso-8859-1?Q?/QdzDKP94IuY39fuRKtlsY9g1F3AswBw15DaxWcdXCLsL+sLVzqDtZarlJ?=
 =?iso-8859-1?Q?F1f2ATBdLV/XdyhD1l8LdSUDibnj/7yEc7oBWhOyqlZjJX1F7NYN3Qn8dE?=
 =?iso-8859-1?Q?Ow5ahV8ox64Jw=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
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: 44af5575-c76f-430a-03de-08dd611bd3bb
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Mar 2025 04:10:30.0113
 (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: 5F+qy5M39HjUgYpPSML55GHGa/7bUFFB+XOAQ/3enMXqgHgsJqqmrFwqPzVOW5t02zf8pmQ06JqRj0i+ZsADIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6270

[Public]

Hi,

> -----Original Message-----
> From: Penny, Zheng <penny.zheng@amd.com>
> Sent: Wednesday, March 12, 2025 12:06 PM
> To: xen-devel@lists.xenproject.org
> Cc: Huang, Ray <Ray.Huang@amd.com>; Stabellini, Stefano
> <stefano.stabellini@amd.com>; Andrew Cooper <andrew.cooper3@citrix.com>;
> Anthony PERARD <anthony.perard@vates.tech>; Orzel, Michal
> <Michal.Orzel@amd.com>; Jan Beulich <jbeulich@suse.com>; Julien Grall
> <julien@xen.org>; Roger Pau Monn=E9 <roger.pau@citrix.com>; Stefano Stabe=
llini
> <sstabellini@kernel.org>; Sergiy Kibrik <Sergiy_Kibrik@epam.com>; Penny, =
Zheng
> <penny.zheng@amd.com>
> Subject: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
>
> From: Stefano Stabellini <stefano.stabellini@amd.com>
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/common/Kconfig | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig index
> 6166327f4d..72e1d7ea97 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -519,6 +519,15 @@ config TRACEBUFFER
>         to be collected at run time for debugging or performance analysis=
.
>         Memory and execution overhead when not active is minimal.
>
> +menu "Supported hypercall interfaces"
> +     visible if EXPERT
> +
> +config SYSCTL
> +     bool "Enable sysctl hypercall"
> +     depends on !PV_SHIM_EXCLUSIVE

I'm aware of the commit of "x86: provide an inverted Kconfig control for sh=
im-exclusive mode"[1]
And I'll rebase whenever it gets merged.

> +     default y
> +endmenu
> +
>  config LLC_COLORING
>       bool "Last Level Cache (LLC) coloring" if EXPERT
>       depends on HAS_LLC_COLORING
> --

[1] https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html

> 2.34.1

Many thanks,
Penny



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909738.1316680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQT-0004vd-Ej; Wed, 12 Mar 2025 04:10:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909738.1316680; Wed, 12 Mar 2025 04: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 1tsDQT-0004uK-70; Wed, 12 Mar 2025 04:10:37 +0000
Received: by outflank-mailman (input) for mailman id 909738;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNi-0006o2-VO
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:46 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2415::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d423667-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:45 +0100 (CET)
Received: from BN9PR03CA0516.namprd03.prod.outlook.com (2603:10b6:408:131::11)
 by DM4PR12MB6157.namprd12.prod.outlook.com (2603:10b6:8:ac::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:41 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:131:cafe::bb) by BN9PR03CA0516.outlook.office365.com
 (2603:10b6:408:131::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 04:07:40 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:40 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:35 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d423667-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=a8OuYIsazYfIEe+j3NINNJ8Idkml1iFXEH6Q6HwXu8FG2OW4czgLIuDbVtio1p+3KSipa/OGG4BRO0kvB01EKAk/jb5Qe+/rswQn7l+1N4hBoPIIEsJZ/fQKQYUVM5moUk/tqq8m6JQaE24vlpKP9Of2SJhGf8x/OuvXsmhXShwNbRoHQTgOBDmObandCvx4oeT2hiqrWLUwlmIMOTyOcsahH6sWWPILpU6sdhxgAvPVxkXMnyyyDSbWscjdLKBBWd1GRXaRMxWdhN7/I9IZheznKr08h1vzmY8Lj/bcl6OmsX8tJLyk4iufzw+GWcfLWzUm8yjvlUa8LjtBv2wAaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ozeJEycapjvZKrcQkyhn4SVuw83QMUCRxt1yd+qjAcc=;
 b=jQvskxi4E5yKmJloexAYz4xmtmve7QSTzfjeTaQc9ceAD6QLpAhPhpa2kSSyhxXRVb3stOjwXIYKftraCe4jez5fJfBIkCOdkMzIKgbV09/otNY2GHI2P5hgAcSI7v2KqR5sVIa+sUJWQt8Ett2dfyqjvluuUadWGIu+VI5MzOHRoLywQ2Uy8Q5yLCSvu58v6/SnUoDARHco8tnnpblCHQI/aToQ1CGH0FxrcPR17KexyMKqxC1YA00hJRkb/QokcxPEks1pnWNvtWrqF/7jBLhdWpLKMCdcQgPtoqjoTsRoSeLpeDAArpdJ+P4yagCC7Z2L9hBchB2Ckq/uwy6O4w==
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=ozeJEycapjvZKrcQkyhn4SVuw83QMUCRxt1yd+qjAcc=;
 b=4hTZKX6l6Cwt0OU0rWIZ8Mt9HP6yd1ajs/7QudHyudY174Q2leuv6Q8c0TyCJjabC1TnAvIdPn/gduJe8JVfXb3ZTzWBEzD0gP3Pcz+OxUWboRQX478ZxtIJ7BGosAYHTRuHLVkAqSjJxPUgfaq85rZ4mloCyC+fToBFpM6jTx8=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, Alistair Francis <alistair.francis@wdc.com>, "Bob
 Eshleman" <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v1 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
Date: Wed, 12 Mar 2025 12:06:28 +0800
Message-ID: <20250312040632.2853485-16-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|DM4PR12MB6157:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b7a6ead-dccb-4093-4f57-08dd611b6e93
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|7416014|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+qEiyGRss8IVV/5ghOO3jRKQmK20TFyfVZDedb2U8Ox1Q00eRwWlhMEoX3Q5?=
 =?us-ascii?Q?/4gKUOh2osCbMFw9iW8fuASYG6PkLb05NB6exPgtrna8kMiGdCPEBFHHyKXn?=
 =?us-ascii?Q?ILMevTmo5XEgf0QbdFB0EySpNVTagtCasS00c10M1UvjlwXt9hZJZKV+Hn6W?=
 =?us-ascii?Q?I/xAjCUcQjnzV5csYrtWSgD1FwNKtduuytT0y+kZwTkHHrWTnTgSKwVJRUAr?=
 =?us-ascii?Q?L0SO+14P0twzx8iIYgS0DfxMtVld5DMAmJLCMkLz1xLGTzdp0c/6sUhTLRr7?=
 =?us-ascii?Q?Z8CZ8WD2gc7LxdhBVEwpDPjNXR3C5U8a0SDTQMsS5Z4HAUGCZvVjCvgNgBCH?=
 =?us-ascii?Q?na8M2WWKyZtqKyAtNq/j4QSdcWZrum0bjwR85gHp3GdDuP+SXIjt+DqqKSyR?=
 =?us-ascii?Q?zco8nBDgp7dqCTzkU8mNNWvcn98GCqCeBSfg0nNIgty4gqcTELVF7oaeS2H8?=
 =?us-ascii?Q?dkO8YqZ59nP+7R669pSbS8/awJaY19xIc8gKwsb6DTBgo3hIM7Je+D6iiIHq?=
 =?us-ascii?Q?DDTBmd3cqfT399PpIkANBTWHy3Eqmb5jyCZs99Y3MCR550otcwy5XrbhMiJs?=
 =?us-ascii?Q?WV3xQMN2iEeyH69hQX+0+bsa1Iq4boKkIrM02TkLohaR3OKiUGpg+Twz/XwB?=
 =?us-ascii?Q?NqJ2c1B3Kw26TAaqzRWQQFv8N6LL7zXn2kbJLzpsDKCOekkS78jF2DaSjMaA?=
 =?us-ascii?Q?3pVX6mTbTqluw823oWsDqwwM1r9kWopN0gjyAu7DRaMmc1WxJCGUXMc9XtoI?=
 =?us-ascii?Q?ddA4g+58Y5Dr1NxaQehzXKwj9a+bcHKasEKqTPggP2884oJA1WSpL5NWaB2C?=
 =?us-ascii?Q?UoVdn/oaJfu+Mbghstm3diTLa0SzwsDZdiWI/JWwLaUcAUYx+aoyEnl15Bvj?=
 =?us-ascii?Q?DVCoLAF1Shvcjl92d/AxLxe2AuO/H/o/rIjlabNxa90IBGAcNGuNCqIbWiuj?=
 =?us-ascii?Q?dRgM2puJ5cR20+p0h/kvtpF5R/P0fFWb5aYJbaKKrjWQJYYK4/5CesN/ktN3?=
 =?us-ascii?Q?FpUCKDV6ZOQ3VSLFhbxAnncreoKwFXw5AhbZi6xXECSNsbComFKPAS5d1PjL?=
 =?us-ascii?Q?84w4ljxuJAbCmWI1+/LiUXRXPl6cuDC0Bc05YXJdxTFOVV8B52X6br2v61BT?=
 =?us-ascii?Q?Ey4uCpd/rkLva/vuWzLZGLGoW1aETeXEyr6DadHBBuAYvexSBNSSAl5au8fv?=
 =?us-ascii?Q?KgG0o+VYnoGNbG3HrztL17FII90BV2J8D+oSIcHk/mVIeoE0PVM/cuRgF6D2?=
 =?us-ascii?Q?M4c892esi7lLQVg8dEB6hVSjH1n5odpA+ryb67vd65c1A/8GNK0/uW9v8wA3?=
 =?us-ascii?Q?GheQ7t0S+W8h2MBZDPLovor52kgTFdaOLsApPbGRcQNbFt+yzre+8mbpewEQ?=
 =?us-ascii?Q?9K7PUWLk3teE+Xlnx9nYu+P9oCZ1oVcEPax5xlgrQDpprNPj0BiFmE3e7L3f?=
 =?us-ascii?Q?g0DSo+7yLP8zzDCWXiXoEBEk9GsY3dChHuXYkuyH/FJTIRiq/9Oihakw/FnA?=
 =?us-ascii?Q?nUDZL7WjgqeXXgI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(7416014)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:07:40.3012
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b7a6ead-dccb-4093-4f57-08dd611b6e93
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=[SATLEXMB04.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: DM4PR12MB6157

The following functions are only used to deal with XEN_SYSCTL_physinfo,
then they shall be wrapped:
- arch_do_physinfo
- get_outstanding_claims

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/arch/arm/sysctl.c   | 2 ++
 xen/arch/riscv/stubs.c  | 2 ++
 xen/arch/x86/sysctl.c   | 2 ++
 xen/common/page_alloc.c | 5 +++++
 xen/include/xen/mm.h    | 5 +++++
 xen/include/xen/sched.h | 4 ++++
 6 files changed, 20 insertions(+)

diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 32cab4feff..2d350b700a 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,6 +15,7 @@
 #include <asm/arm64/sve.h>
 #include <public/sysctl.h>
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 }
+#endif
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..0321ad57f0 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     BUG_ON("unimplemented");
 }
+#endif
 
 /* p2m.c */
 
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 1b04947516..d7da476379 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -91,6 +91,7 @@ static long cf_check smt_up_down_helper(void *data)
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
@@ -104,6 +105,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
         pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
 }
+#endif
 
 long arch_do_sysctl(
     struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 5e710cc9a1..d1c4db57a5 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -581,6 +581,8 @@ out:
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
+static unsigned long avail_domheap_pages(void);
 void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
 {
     spin_lock(&heap_lock);
@@ -588,6 +590,7 @@ void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
     *free_pages =  avail_domheap_pages();
     spin_unlock(&heap_lock);
 }
+#endif
 
 static bool __read_mostly first_node_initialised;
 #ifndef CONFIG_SEPARATE_XENHEAP
@@ -2796,12 +2799,14 @@ unsigned long avail_domheap_pages_region(
     return avail_heap_pages(zone_lo, zone_hi, node);
 }
 
+#ifdef CONFIG_SYSCTL
 static unsigned long avail_domheap_pages(void)
 {
     return avail_heap_pages(MEMZONE_XEN + 1,
                             NR_ZONES - 1,
                             -1);
 }
+#endif
 
 unsigned long avail_node_heap_pages(unsigned int nodeid)
 {
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index cbb9f2dfdb..a63e063a46 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -131,7 +131,12 @@ int populate_pt_range(unsigned long virt, unsigned long nr_mfns);
 unsigned long __must_check domain_adjust_tot_pages(struct domain *d,
     long pages);
 int domain_set_outstanding_pages(struct domain *d, unsigned long pages);
+#ifdef CONFIG_SYSCTL
 void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages);
+#else
+static inline void get_outstanding_claims(uint64_t *free_pages,
+                                          uint64_t *outstanding_pages) {}
+#endif /* CONFIG_SYSCTL */
 
 /* Domain suballocator. These functions are *not* interrupt-safe.*/
 void init_domheap_pages(paddr_t ps, paddr_t pe);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 5a065b3624..df39c0465a 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -1291,7 +1291,11 @@ struct cpupool *cpupool_create_pool(unsigned int pool_id, int sched_id);
 
 extern void cf_check dump_runq(unsigned char key);
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi);
+#else
+static inline void arch_do_physinfo(struct xen_sysctl_physinfo *pi) {};
+#endif /* CONFIG_SYSCTL */
 
 #ifdef CONFIG_BOOT_TIME_CPUPOOLS
 void btcpupools_allocate_pools(void);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909761.1316690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQX-0005VC-Np; Wed, 12 Mar 2025 04:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909761.1316690; Wed, 12 Mar 2025 04:10: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 1tsDQX-0005V0-HI; Wed, 12 Mar 2025 04:10:41 +0000
Received: by outflank-mailman (input) for mailman id 909761;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNt-0006o2-1k
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:57 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20623.outbound.protection.outlook.com
 [2a01:111:f403:2417::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9272a07f-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:55 +0100 (CET)
Received: from BN9PR03CA0514.namprd03.prod.outlook.com (2603:10b6:408:131::9)
 by CY8PR12MB8299.namprd12.prod.outlook.com (2603:10b6:930:6c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:50 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:131:cafe::93) by BN9PR03CA0514.outlook.office365.com
 (2603:10b6:408:131::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 04:07:50 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:50 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:45 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9272a07f-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XPrlNH7+r5ucrknBPN16oRBDMkLrYH7tfmzKJE4TM86DOA+rhTeU737X+jUnp7nIGkT5+tSsDIv0ibHr9uxIywVqElbHX/pYKOw68QXAORmfLcL/ptjFp7ARD5MPR8Czqh+ELZ0EStYvcdzLJ2eU4BrO1Vo6wdXT50ZhOmRN15s7dedo582yvvw5VQlg1bYJogzzUENrlj6o9CuXFcNGOCC6ZPYTcn+7Vx8GEfcIsQcTHasl01kSwnmzpkJnSqCGX3wKuJBGRWqINzzWnfEhIWhmGTFswAOmfaZ0DrliznLjSJ6zVPYYcvxP74oTNqtdQrH325xKp99VnMJdV+bS4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=43BgmY4i5cZIm1j7X2+C+muvoJWuYwilxkRMR7zAawM=;
 b=rOZKbzUAO26c/DGIoDxv1dtx3rr0OsOt7J2RDod+9/bPQxvioTDG2G/7go2AUi8sCGkYkeJArLdjJhsT80oUbSbsu/xLfxdXx0CKLpap89IUEBC8SxVBEMeTExHycucPEGOvcl6WFnZ4/xa//6bunStxp+m1JBycKDSzFGyrZBdc6x7Wo8Hlb8kS4H4KpqlOR48Zkpxf42K6z1i/4GVLcp5JldAAowRK7/HHF/JIU0QTyEiGEbPbdyFAnMQCmm2BAuY9A0K23V3Eap+gUI36hza7o6PIXFNfCzocaATaJfF3xqMGIZNUdPq5Z7VdCPgmcm/1belY8U3dMaQOhjMplA==
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=43BgmY4i5cZIm1j7X2+C+muvoJWuYwilxkRMR7zAawM=;
 b=N0EqCfGDNvfYR+CWLFFWkKv7OFyQcPoSIUq3Sop0oxmanAJOqJWQItk3lB7B3eh0JHQ0mM/75eUPTYRZTVNFaG7C9i1K0Qj0CohkoNfOrVN9qYo9HBeF5NjbL9J3Q/cHXWPI9Xa7TSqOpepSLPkYc/t+1cUlhMe8SCZATnVIIiY=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, Alistair Francis <alistair.francis@wdc.com>, "Bob
 Eshleman" <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific arch_do_sysctl
Date: Wed, 12 Mar 2025 12:06:31 +0800
Message-ID: <20250312040632.2853485-19-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|CY8PR12MB8299:EE_
X-MS-Office365-Filtering-Correlation-Id: a6497d8c-6b44-4853-e365-08dd611b745b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|7416014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?qLxWzcsuNROObUlkHKxUCO7ocpEp7Ir+wWsn//kbBZwupNDHWBUDlpJ3UA2S?=
 =?us-ascii?Q?giF0JvSyV1ezF3lqpRQMz/iY5l4UifIXN0uuS9Wt0Czqq27JIOZJgqG9ewQu?=
 =?us-ascii?Q?ovJNZaSDvwDblqcUf8KpB0MWTvXZFnBEgxCeSR8fujzqsXJGsZpVQAq7yyZL?=
 =?us-ascii?Q?axT1J28tXGlU5n7AtsTlsC7LBnp1sUVMLLw5ZKMIeb0U2EKebZjSXvd8obu/?=
 =?us-ascii?Q?1tDTpn64bkYFOXaxJSzB2lNfVGGyP6l3gX2LHrkeCOiAmTPlLyrZj6QAiSG7?=
 =?us-ascii?Q?ZoWLbWimb18HP/663aU6OwRqUTR7aUO/dJAPVz1+JDLa5ibvnvRtq1qWV/Kk?=
 =?us-ascii?Q?HJcpPHumObqZEsldhdRgzZQnSWBfAHBzbM91348EYzxy3wk4uW+dKHRmkfQV?=
 =?us-ascii?Q?F4RrmovOgJgRf4UdlHZPs5TfzEz2neT+MjVN0K4G/MqM5y4KTmPI7QEnMvot?=
 =?us-ascii?Q?Y74gmULEBH/QjOhPwwgr3fxYzPb0KxrunfU90kJSPfTaHGc80wudWsCBJiVd?=
 =?us-ascii?Q?qlbcGL1YcPQtVk0G3VMACa07Qs3ASYRsMFDT4w1bU9ONq74bGrTC5AyeECGH?=
 =?us-ascii?Q?4WwcAkPZ8YjndEIWaYpDY0bfL6kABiDb6dLSv5UpxpJdCaLzPn4dudUE4A2i?=
 =?us-ascii?Q?2vZG/ispsvSio1Q5AfyPAdNl6mopY+IkbyveMb7Zug5nmXuux9yeR7xa/etI?=
 =?us-ascii?Q?gvkA2xwPVm729rmy1J73R6eAJD8s9ASwWDsbjoE8kTP6SXK9qkifsLfeoqg7?=
 =?us-ascii?Q?BUDo37dVD7IDhCgwXC9WsSRFgYgV30TNOuhvjz1eVACemG8z0w1qK3Gw00+t?=
 =?us-ascii?Q?YrFSMcnV7gujcT4xy7HHibX5UVCRhYE+kbrtFBpw5Y+sxeQhjhagxAi6aznO?=
 =?us-ascii?Q?fsXLBVfVH9hBEoDEJmMP/hkgllyjpbAo0ouUyCYimlM60qRXYcvTD5RPqiPJ?=
 =?us-ascii?Q?8afpya1bRPKFGIKjJBzvVM0F9Sk0Y9xwEBmPSE6+GU9Q6gemNBM0r9n4U5bB?=
 =?us-ascii?Q?RT61Ug98m/QubLM94JPcf49uCxhbZk1+SX1jHc4iUqSheVJEPlnGH0FpahxO?=
 =?us-ascii?Q?sXoyqEYhSrXmWUqfTAvSAdOO9bxFxMvXn/DG+KdfKDUhp96zgPTvk1Dk7uqu?=
 =?us-ascii?Q?4Ue3eFVl/NzRLa46H3o8qUZ8KDA/Z8nCcai2tMt3NHPgDXlJXIm9xg1plD3F?=
 =?us-ascii?Q?hCibqGZf/Hlc9fWhqy0AxwMLjvIrh6qWrQICeZMcwIDVxUtsDwNPapZGig2z?=
 =?us-ascii?Q?vZa3XRlabSM/nknVMNPMIdrQ3zXeQJ3Y9thi66uM05g/zTFbdJCayL9/B7vt?=
 =?us-ascii?Q?el71tspOUwfJDuAszIS3Xl6iDsvhC+0qKhe333aipPtqcesvM0kvS9kh9rdT?=
 =?us-ascii?Q?DAOIoHtaXa8Xk6GHeMGSBCIGO+8CtbDLOTqjizkbQlj6d6eyv6T3ObvNnqYW?=
 =?us-ascii?Q?YLApMqeKxLEveiXrqV2xjQwBui2juDLB+VKaoFaxzrOg2hM5KZJkKAAeolL9?=
 =?us-ascii?Q?khobOza7674HQF8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(7416014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:07:50.0200
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a6497d8c-6b44-4853-e365-08dd611b745b
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=[SATLEXMB04.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: CY8PR12MB8299

Function arch_do_sysctl is to perform arch-specific sysctl op.
Some functions, like psr_get_info for x86, DTB overlay support for arm,
are solely available through sysctl op, then they all shall be wrapped
with CONFIG_SYSCTL

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/arch/arm/Kconfig           |  2 +-
 xen/arch/arm/Makefile          |  2 +-
 xen/arch/arm/sysctl.c          |  2 --
 xen/arch/riscv/stubs.c         |  2 +-
 xen/arch/x86/Makefile          |  2 +-
 xen/arch/x86/include/asm/psr.h |  2 ++
 xen/arch/x86/psr.c             | 18 ++++++++++++++++++
 xen/arch/x86/sysctl.c          |  2 --
 xen/include/xen/hypercall.h    |  8 ++++++++
 9 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a26d3e1182..001e65b336 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -140,7 +140,7 @@ config HAS_ITS
         depends on GICV3 && !NEW_VGIC && !ARM_32
 
 config OVERLAY_DTB
-	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
+	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED && SYSCTL
 	help
 	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index fb0948f067..5819c7e4d3 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -54,7 +54,7 @@ obj-y += smpboot.o
 obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
 obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
 obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 obj-y += time.o
 obj-y += traps.o
 obj-y += vcpreg.o
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 2d350b700a..32cab4feff 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,7 +15,6 @@
 #include <asm/arm64/sve.h>
 #include <public/sysctl.h>
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -23,7 +22,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 }
-#endif
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 0321ad57f0..28590efb65 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -322,13 +322,13 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from,
 
 /* sysctl.c */
 
+#ifdef CONFIG_SYSCTL
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
     BUG_ON("unimplemented");
 }
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index c763f80b0b..1949c4276e 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -79,7 +79,7 @@ ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
 obj-y += platform_hypercall.o
 obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 endif
 
 extra-y += asm-macros.i
diff --git a/xen/arch/x86/include/asm/psr.h b/xen/arch/x86/include/asm/psr.h
index d21a59d98f..e466da7428 100644
--- a/xen/arch/x86/include/asm/psr.h
+++ b/xen/arch/x86/include/asm/psr.h
@@ -75,8 +75,10 @@ static inline bool psr_cmt_enabled(void)
 int psr_alloc_rmid(struct domain *d);
 void psr_free_rmid(struct domain *d);
 
+#ifdef CONFIG_SYSCTL
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len);
+#endif
 int psr_get_val(struct domain *d, unsigned int socket,
                 uint32_t *val, enum psr_type type);
 int psr_set_val(struct domain *d, unsigned int socket,
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index 5815a35335..34d5de8d2c 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -133,9 +133,11 @@ static const struct feat_props {
      */
     enum psr_type alt_type;
 
+#ifdef CONFIG_SYSCTL
     /* 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);
@@ -418,6 +420,7 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
     return true;
 }
 
+#ifdef CONFIG_SYSCTL
 static bool cf_check cat_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
 {
@@ -430,6 +433,7 @@ static bool cf_check cat_get_feat_info(
 
     return true;
 }
+#endif
 
 /* L3 CAT props */
 static void cf_check l3_cat_write_msr(
@@ -442,11 +446,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
     .get_feat_info = cat_get_feat_info,
+#endif
     .write_msr = l3_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
+#ifdef CONFIG_SYSCTL
 /* L3 CDP props */
 static bool cf_check l3_cdp_get_feat_info(
     const struct feat_node *feat, uint32_t data[], uint32_t array_len)
@@ -458,6 +465,7 @@ static bool cf_check l3_cdp_get_feat_info(
 
     return true;
 }
+#endif
 
 static void cf_check l3_cdp_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -473,7 +481,9 @@ 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
     .get_feat_info = l3_cdp_get_feat_info,
+#endif
     .write_msr = l3_cdp_write_msr,
     .sanitize = cat_check_cbm,
 };
@@ -489,11 +499,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
     .get_feat_info = cat_get_feat_info,
+#endif
     .write_msr = l2_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
+#ifdef CONFIG_SYSCTL
 /* MBA props */
 static bool cf_check mba_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
@@ -508,6 +521,7 @@ static bool cf_check mba_get_feat_info(
 
     return true;
 }
+#endif
 
 static void cf_check mba_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -545,7 +559,9 @@ static const struct feat_props mba_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_MBA_THRTL,
     .alt_type = PSR_TYPE_UNKNOWN,
+#ifdef CONFIG_SYSCTL
     .get_feat_info = mba_get_feat_info,
+#endif
     .write_msr = mba_write_msr,
     .sanitize = mba_sanitize_thrtl,
 };
@@ -808,6 +824,7 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
     return socket_info + socket;
 }
 
+#ifdef CONFIG_SYSCTL
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len)
 {
@@ -839,6 +856,7 @@ int psr_get_info(unsigned int socket, enum psr_type type,
 
     return -EINVAL;
 }
+#endif /* CONFIG_SYSCTL */
 
 int psr_get_val(struct domain *d, unsigned int socket,
                 uint32_t *val, enum psr_type type)
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index d7da476379..1b04947516 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -91,7 +91,6 @@ static long cf_check smt_up_down_helper(void *data)
     return ret;
 }
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
@@ -105,7 +104,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
         pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
 }
-#endif
 
 long arch_do_sysctl(
     struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/include/xen/hypercall.h b/xen/include/xen/hypercall.h
index 15b6be6ec8..d0ea64b332 100644
--- a/xen/include/xen/hypercall.h
+++ b/xen/include/xen/hypercall.h
@@ -29,10 +29,18 @@ arch_do_domctl(
     struct xen_domctl *domctl, struct domain *d,
     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
 
+#ifdef CONFIG_SYSCTL
 extern long
 arch_do_sysctl(
     struct xen_sysctl *sysctl,
     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl);
+#else
+static inline long arch_do_sysctl(struct xen_sysctl *sysctl,
+                                  XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 extern long
 pci_physdev_op(
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909773.1316700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQc-00063W-BY; Wed, 12 Mar 2025 04:10:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909773.1316700; Wed, 12 Mar 2025 04:10: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 1tsDQc-00062o-4T; Wed, 12 Mar 2025 04:10:46 +0000
Received: by outflank-mailman (input) for mailman id 909773;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNe-0006o2-5P
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:42 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20624.outbound.protection.outlook.com
 [2a01:111:f403:2406::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 89aa23cb-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:40 +0100 (CET)
Received: from BN9PR03CA0384.namprd03.prod.outlook.com (2603:10b6:408:f7::29)
 by MN0PR12MB6197.namprd12.prod.outlook.com (2603:10b6:208:3c6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:36 +0000
Received: from BN1PEPF00005FFD.namprd05.prod.outlook.com
 (2603:10b6:408:f7:cafe::6c) 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.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:07:36 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00005FFD.mail.protection.outlook.com (10.167.243.229) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:36 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:33 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89aa23cb-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=itR7QteuwxKPEia8dcRCK40yPIbtBGxfhP5Crmsu0vGLErgXVkTaaux2Dr3aGvCPn44mri5hxYoQye0qaefZaS4ymyw939jtvNr+vWEYCpQ8nKZ74Idlq/LyPwrmROJBZ/XqfiAg/BJX4VAMmseN8HnfAgcBMPp8jAiiFvjiV3o3JLgrJjoIXRnQQ9lXc6KAJeTnX7s0kqDE9HKyhZsfTfa4S9oXcUD4PoKsbv3ySC7B2xc+zBurZ6xKr8rKp0vylLwl4pnqzH9/rxKPgbHJwDhpva/LdEoRBZBMyqe2VImLmrTvyDtLa6UZ4GTgHh157zjKtd+m8FonokKnfP7eLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Lfzt+raLQwsUIbWUmBDKcqwG8irJJi6lS1tTorK6i0=;
 b=keHig/CwSJqCm+BygZsK/GalnoeGLCY0A1v7mKeNotf6LFz80y9vfXp4P6grqKoYBRXFvFhMPIgXP1jAfXZG1pW6aV6Z7uqtIqLyVyfZ8rKp0OTO5a/xMVUsJ717vQxAIPO0S7j0O94N+/I4NsiiXAVZSa5Dx6zSLkLudH4onE78sA0ELbjhuyZJUVXnOdIOhbfv7mFB2vasSM+hwKJa/mUVWe9RF9kzMysI4LmdR5OxqVa2Jeqs7HodQm/g+TJK33arZ7MZMoqvilQnGE9/7YI91L7xaoBHRo6XnLEbgRK7ZpaO7ULr6r39RmmsGagYO9X0aosDfeLWpqsEmrXEww==
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=2Lfzt+raLQwsUIbWUmBDKcqwG8irJJi6lS1tTorK6i0=;
 b=mOfxOI1LZXPsPfL7bNBWfXYK4NoNM7DihLf/RSCFDWu9CN7wGP10iiNxzKwyesgJWRI6vBQAW7AoXbDl1nSTzMvLxbw8cOLL27p3V/96Yjq3gRgD/ub85UkIIrB/x0PxJYSFnePMx9QluxigvF5fUl7L/MKr06K1uynorMBo/p4=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 14/19] xen: make avail_domheap_pages() static
Date: Wed, 12 Mar 2025 12:06:27 +0800
Message-ID: <20250312040632.2853485-15-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFD:EE_|MN0PR12MB6197:EE_
X-MS-Office365-Filtering-Correlation-Id: 9587c83f-eec0-4cd3-cb44-08dd611b6c23
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?HUPmlz1eWS0DCTohCTURpWavb8aMlGx2V7TUuvRFVyCge+BX8sgNOcUEOZyr?=
 =?us-ascii?Q?uWQcCJFAMzqB4RSD1X+QfTeYC65BTghr+z9f05ZutdIf3dBK+PW53tmdDUCs?=
 =?us-ascii?Q?j9OIDJM1v2wv3D0AHU+Yd4JelGbnj5XBYGY1MhKk/N2cvieJ9lB8L4Vi4uJw?=
 =?us-ascii?Q?wW5rQcQgbktJObwyXwDS/bxaNJHOE/bE12OSFJmcGkfO/0Qitx0nM09urQqk?=
 =?us-ascii?Q?eaw3jiEyd0InuTDGz8KOoVjNnvrysVbIoEkHCNAFey+qg1+jvJYehwXxNrD9?=
 =?us-ascii?Q?/Xv42SHq5yB13cRQjAlVppeJBXLmYbKFtyUxvKkMAQw4M7YHIX767HFcccE2?=
 =?us-ascii?Q?o9rO3TGxAQGWcxMMemG2xRh0ODA5sKS1yKnaw4RS+RI//Ehn/FO2DSP5QCGa?=
 =?us-ascii?Q?8Od+ZQ2wUE1IASyM2ufYuyqIwtlnQPbiuGXvxIiaDo9MB3GCr3jCW1rWQXeK?=
 =?us-ascii?Q?xcoo60ioviAbtgKsjVFBrvOStK+BLWzfDJW+4Y5hBWRSo7qXnh8Ehs95LeUa?=
 =?us-ascii?Q?do9B6JsUVjHQ0IwXJm4QWZc0vdgH0ywmYgpFrPwEzqSi3Ii59Za5/HHG9Oor?=
 =?us-ascii?Q?hjCqOMduM/FtEhEWVTZb3ggZyhr24r2hf4tEnpcEc72IPzeHhftlGVFf35tm?=
 =?us-ascii?Q?wAChu/RQOMJ/P0zz5tm1U3XLRrC4d+NqFaU7ZStH6v59zQxFZ2T9/ZQS8WYa?=
 =?us-ascii?Q?Ou0oYXzOCjTroZt3zhqPlRYhJqOpyRUYi7LPKH/IsKFQYQSlEGwFpvp3p1ym?=
 =?us-ascii?Q?dMwrrVZ6CARzQO9489Q9CGrfT4o6lfKsOGRF5TXL+zFFF3Fc7dfQ9XQ0a2W+?=
 =?us-ascii?Q?iQxU6x39q4xibPLMSeJV76j2Ttb+udvYx63VljpBVui11NLb4GakL37iTBEn?=
 =?us-ascii?Q?zc/xeDiCbaN/+FQ+yd8pfModBUUA7eOKNzBu7ENRgZGATHlz8QViLBMB/Hq3?=
 =?us-ascii?Q?gVVxlaroGAIzOXGhm/6OA8Y8YdPe92VzLtKxAySbzRs7KfVpQRWW46w2yZVe?=
 =?us-ascii?Q?BPRiWWCcfuTwv0Zhwkec4HklF+gTtBKW5g6qaFnroGrKmzQxZ2FgZC2xy8fu?=
 =?us-ascii?Q?SfoxTYJW0uJvnnxSG+MgiW7bWNWEXMOXBLKbJErNI5wKzkKQjWpEAWh4Fmz4?=
 =?us-ascii?Q?sGbB4ae1wogtfBIrlpVlj86sIeMl1fRXhwOwl+22rud/3PCERYLYmfPd/e30?=
 =?us-ascii?Q?5G807PIJquRS2j+Y1mOqS9ctXDkVGdexb29cdPYGy2BQztG2Rstmd6MGG8Gu?=
 =?us-ascii?Q?6/VAgWp7BhMuOf9lMCa1Y2lYje2GPF74Lhw1nWk5QyTVdoWakq2aApq1qMC8?=
 =?us-ascii?Q?1Om6nn3iiRe7eQGr6UD+gAff+Wk5bKZyM9lUGe9Yqxdox2mYCO4/9klUJyt/?=
 =?us-ascii?Q?AXXFxtmfFYtg4wgdjRatQVVcIIyxK+u2dI77b/Le8QcGLyILYOV5/wBMcb0F?=
 =?us-ascii?Q?zGvooMPze0TkCy/OUy/JVYKVQWfyb0gRfP4Ne0t/NDKCvVhXrcxVIMvCmI2S?=
 =?us-ascii?Q?EhgY8s9jwgON4E4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:36.2149
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9587c83f-eec0-4cd3-cb44-08dd611b6c23
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFD.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6197

Function avail_domheap_pages() is only invoked by get_outstanding_claims(),
so it shall be static, no need to extern.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/page_alloc.c | 2 +-
 xen/include/xen/mm.h    | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 7476d37238..5e710cc9a1 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2796,7 +2796,7 @@ unsigned long avail_domheap_pages_region(
     return avail_heap_pages(zone_lo, zone_hi, node);
 }
 
-unsigned long avail_domheap_pages(void)
+static unsigned long avail_domheap_pages(void)
 {
     return avail_heap_pages(MEMZONE_XEN + 1,
                             NR_ZONES - 1,
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 86bbb15890..cbb9f2dfdb 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -140,7 +140,6 @@ struct page_info *alloc_domheap_pages(
 void free_domheap_pages(struct page_info *pg, unsigned int order);
 unsigned long avail_domheap_pages_region(
     unsigned int node, unsigned int min_width, unsigned int max_width);
-unsigned long avail_domheap_pages(void);
 unsigned long avail_node_heap_pages(unsigned int nodeid);
 #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
 #define free_domheap_page(p)  (free_domheap_pages(p,0))
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909780.1316710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQe-0006fK-LJ; Wed, 12 Mar 2025 04:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909780.1316710; Wed, 12 Mar 2025 04:10: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 1tsDQe-0006f1-GQ; Wed, 12 Mar 2025 04:10:48 +0000
Received: by outflank-mailman (input) for mailman id 909780;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNb-0006o2-Ik
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:39 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20603.outbound.protection.outlook.com
 [2a01:111:f403:2009::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86f88d1e-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:34 +0100 (CET)
Received: from BN9PR03CA0424.namprd03.prod.outlook.com (2603:10b6:408:113::9)
 by CY5PR12MB6250.namprd12.prod.outlook.com (2603:10b6:930:22::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:30 +0000
Received: from BN1PEPF00006001.namprd05.prod.outlook.com
 (2603:10b6:408:113:cafe::57) by BN9PR03CA0424.outlook.office365.com
 (2603:10b6:408:113::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 04:07:30 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006001.mail.protection.outlook.com (10.167.243.233) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:30 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:25 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86f88d1e-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EPZGXaZO89W7zW49ZlnWO7knZXs3o7Pwds5+lQek8m8LbTtdC7xf5XscxCTYGq7Q2/+AHCc/5TG9gFdO8fK4SCiljfckRg8WcWHg9eFYvIV7DePjI+ocz4iPw1M3MtKhS/oKIYfC5hubFoC46b0DX2hIlzo7M3BmukjUBbVObrdb8ialIAL5E71Zo5U1fUdf3vtminL72DWMktKyYr2oaHM52oDp0R5MlS43crC3z3iHTKuLN6XI93HCUW+7/iON0tvaLc/LMlW5ERO7HzQvJmosnwWA1nTbm/SfhV4lRaiuUbIMx5rohgtNufldDgaVMdyRGvBHuwP/e1kkQNgRfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I7eL6PKpkypQH6B94sjbTggVGB6Kr+OYdiNv5tTrv3c=;
 b=rBYV3sSXZvISoQ3Dj6dyLfGXLUj/LQjSSI1b7gXed2nSDmmV+kR+ZbWMzFmTGR8mgMVjWqQPEvuAH7ENEaxZfEFfaKfna+R3U4aHfY94Z86rxMXrk6VrS0VY/6AhBD+9CESLacpmqogNht0MJImCzxgOxP1iNPme51JsLtpqy2Nz4L0RHCR0z4u/WHxXvG6JIDPE9cZLtGmyAXs2HaIWKAonvaqCiddkhqzua8BFQ5qmig0kacLiSKyFeQj/tW/5pYmYMCAjXX4LZK7df7xrsX/9Ds3a5zbQl9SvG3PUyputrCYKuZfG8b+j0ue1itQxp3JWMdJ3pp1DPiAOQZag+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=I7eL6PKpkypQH6B94sjbTggVGB6Kr+OYdiNv5tTrv3c=;
 b=ygi8faLvIXsJPWSSnJ41FGvUb8nY6FO4wxzTU3K7rycLrC0cg2GDm4aZVa7gPsDwu3l7ZwN39ND2cFcjhq2qKFjx/dxS1QFfTj7RPQ7+sK9bdWJoFzPJgwaDlFGNEzzsTF0dgipmcl6VKyP1W3z8clhwXWocrypcX1vgZHLcbko=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, Dario Faggioli
	<dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<gwd@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v1 12/19] xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
Date: Wed, 12 Mar 2025 12:06:25 +0800
Message-ID: <20250312040632.2853485-13-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006001:EE_|CY5PR12MB6250:EE_
X-MS-Office365-Filtering-Correlation-Id: 2921187c-9798-456c-76db-08dd611b6880
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|7416014|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?kAGT0S0ksHZDYHdA5zmojPU6DpTRrjnb2FazV366/xKqSG51Rq5TFRP2e07A?=
 =?us-ascii?Q?Z3hFiGb6gvLGklX55XEsC1N9Bsi6DAUxh/X8kKtqgiWrrCbtl2zvlO6g6iVQ?=
 =?us-ascii?Q?chvp/P4jMuIPLSbZfSEvB8xleY1LGii5DFIwdsQ/l+bh/uM5zNVLQ2llxeFK?=
 =?us-ascii?Q?VPq61LERQnApJEMIalVblSr0tJj75mthvdD46CnRNjEmmbIU5KkuZiCtDPJn?=
 =?us-ascii?Q?isMS/vP82oexPfbuLjkrQJ8FOpDRIHpnmMkgCdLRInq3ncSOFk4qJI12Cl3j?=
 =?us-ascii?Q?hhND9+rAMB9manrprwAi3s/3RwbcL5ABrFfjrn1bjYhy8S6ZPILa8NqAF+Tb?=
 =?us-ascii?Q?z9qF2MtcFkr0I7F8rnLRfQEQMrRWnf+CLndpi6cCTL7l4TlSO+BQXde150T4?=
 =?us-ascii?Q?nsRgWTutLQ3xs+d+TPBH42/PDuv1e4I79+Fxp/qmdgB8q+jCvpYUdVY7Mv6D?=
 =?us-ascii?Q?yMdeQlIuJf/CfMjqldnne7KllGo+J9+7ouGXhFs3VVQDGGjnOFmmuajaQTO8?=
 =?us-ascii?Q?YCrm8uyRpmyan9D1IbAbsDD2VpLLnWY7+Ebcpex/UXien3T8mOviKDawzoJK?=
 =?us-ascii?Q?Ei8L4sypDo+wXkztlu3Ik/RIx1pwGjOTD07rHVA0EkV5nYyaDhK29hixq8jt?=
 =?us-ascii?Q?oIfJLHC/B15Q3CyWRbtNzJovHJHz9uDpULcb8HOfm0yrhiOXUHVO5JuMgxPE?=
 =?us-ascii?Q?R9GVdoy1QhKY4VF2Wct5MWzaZn77XNtIGN7zgcFfjZ4C1hJLFXOG9LKl96LS?=
 =?us-ascii?Q?vO53Na3OPMDF7t9JNr7UmjxKChcZPNGnpIUuI5bG79Kl275vSwHMS8Frqunt?=
 =?us-ascii?Q?b0f2QD46VMbFbJMyUKIQEpO+d3qTs8gz9RKnMNZvMG1TyenovVYebJ7urU0S?=
 =?us-ascii?Q?GlU5izjvM3RfZBjyrODLN1WSAK+QfMaNZdeu4iAg+fPb8yBQYpY+kyJfA1EE?=
 =?us-ascii?Q?WUgMqJFX0z9eBSVBkpO9O7xUlmygQUjxV8de+0mfSE2nW8MEPPq6Zz7LXBlK?=
 =?us-ascii?Q?MM6zN952rVGJYhMV6QgqihRWWWTY7oKduo8qh8eira3Q6WUjAcdM6d/kFayi?=
 =?us-ascii?Q?qH20QDPSehgZNTmmitnXKVzDUXNwAemfQRyQbgi/isEPJ/z6AplpoUyr80jf?=
 =?us-ascii?Q?7WOx30054qsV5+DmK/ihXoJ0wgGqSTgWCfeVR83U6pfeU+9XLl4SRkqs/HEP?=
 =?us-ascii?Q?7WTr64FjH6pgSrhGI5UMWgdAgIN6BdlVvqMEU+rCoMkjiwAXLzHmV1zhTEVJ?=
 =?us-ascii?Q?Oiiaq/1rSqk9RQQaBpXTznNwxf/ZxpCjuyvF28kz+awbXifeWbPQuNqSj/7N?=
 =?us-ascii?Q?s91sPxbp4aXVleIubThR4LGATdL9JyG7oyA4okoFR0Ttcii+uGm5axD/ke9x?=
 =?us-ascii?Q?qC2Dhw5lAy1t8lXUkBPG/VY6MI62z1KF/QEy4pUT4xcDIP36e2t3KVQ3XfKj?=
 =?us-ascii?Q?vgFfgZ0LVObkEPPTStBJYycArD/X5uqmnst8kt82b8WDbPqqoFgLsXmMwO0i?=
 =?us-ascii?Q?heSKt6I+qnLvaU8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(7416014)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:07:30.1114
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2921187c-9798-456c-76db-08dd611b6880
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006001.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6250

Function cpupool_do_sysctl is designed for doing
cpupool related sysctl operations, and shall be
wrapped.

The following static functions are only called by cpupool_do_sysctl(), then
shall be wrapped too:
- cpupool_get_next_by_id
- cpupool_destroy
- cpupool_unassign_cpu_helper
- cpupool_unassign_cpu

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/sched/cpupool.c | 9 +++++++++
 xen/include/xen/sched.h    | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 3d02c7b706..0efd8a4591 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -241,10 +241,12 @@ struct cpupool *cpupool_get_by_id(unsigned int poolid)
     return __cpupool_get_by_id(poolid, true);
 }
 
+#ifdef CONFIG_SYSCTL
 static struct cpupool *cpupool_get_next_by_id(unsigned int poolid)
 {
     return __cpupool_get_by_id(poolid, false);
 }
+#endif /* CONFIG_SYSCTL */
 
 void cpupool_put(struct cpupool *pool)
 {
@@ -352,6 +354,8 @@ static struct cpupool *cpupool_create(unsigned int poolid,
 
     return ERR_PTR(ret);
 }
+
+#ifdef CONFIG_SYSCTL
 /*
  * destroys the given cpupool
  * returns 0 on success, 1 else
@@ -379,6 +383,7 @@ static int cpupool_destroy(struct cpupool *c)
     debugtrace_printk("cpupool_destroy(pool=%u)\n", c->cpupool_id);
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 /*
  * Move domain to another cpupool
@@ -568,6 +573,7 @@ static int cpupool_unassign_cpu_start(struct cpupool *c, unsigned int cpu)
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 static long cf_check cpupool_unassign_cpu_helper(void *info)
 {
     struct cpupool *c = info;
@@ -633,6 +639,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 */
 
 /*
  * add a new domain to a cpupool
@@ -810,6 +817,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu)
     rcu_read_unlock(&sched_res_rculock);
 }
 
+#ifdef CONFIG_SYSCTL
 /*
  * do cpupool related sysctl operations
  */
@@ -975,6 +983,7 @@ int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op)
 
     return ret;
 }
+#endif /* CONFIG_SYSCTL */
 
 unsigned int cpupool_get_id(const struct domain *d)
 {
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 9bdeb85aa4..ea81832c50 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -1259,7 +1259,14 @@ static always_inline bool is_cpufreq_controller(const struct domain *d)
 }
 
 int cpupool_move_domain(struct domain *d, struct cpupool *c);
+#ifdef CONFIG_SYSCTL
 int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op);
+#else
+static inline int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 unsigned int cpupool_get_id(const struct domain *d);
 const cpumask_t *cpupool_valid_cpus(const struct cpupool *pool);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909783.1316716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQf-0006nT-C3; Wed, 12 Mar 2025 04:10:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909783.1316716; Wed, 12 Mar 2025 04: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 1tsDQf-0006mn-0P; Wed, 12 Mar 2025 04:10:49 +0000
Received: by outflank-mailman (input) for mailman id 909783;
 Wed, 12 Mar 2025 04: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNS-0007Fd-JK
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:30 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20631.outbound.protection.outlook.com
 [2a01:111:f403:2417::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 825a1573-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:07:28 +0100 (CET)
Received: from BN9PR03CA0663.namprd03.prod.outlook.com (2603:10b6:408:10e::8)
 by PH7PR12MB5784.namprd12.prod.outlook.com (2603:10b6:510:1d3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:20 +0000
Received: from BN1PEPF00006003.namprd05.prod.outlook.com
 (2603:10b6:408:10e:cafe::74) by BN9PR03CA0663.outlook.office365.com
 (2603:10b6:408:10e::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:07:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006003.mail.protection.outlook.com (10.167.243.235) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:20 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:17 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 825a1573-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=B+n53j4bARuUSWHHQgVc1V3AaS6LoxRAU3r23v/IbGMGdNtzjVhVtMCRAd6DmzB5FJ0QQyB6pgMl1Yey1BcGsyZBAtUswORElELuucKI/5nHu9vCT7up2g8By2VlRqf8GjDCQ6BDc2m/5/ASpWaM+Vr+4ks1znoNYdgEFaEAc9zweRGz0TadYsQOP0HSSK0ouSuJbW56S1D2ZRH1rq2TSFFvYmqR59xTcTw8HQdpfl+i+bJISa60VmKgV2fLjexYOVmmtU2/RY48cjc3AVNVd83a7DcGYHMm6XhXbvfE5RU37pRX4K2pmW7b63aPBC0fUhKcav0zhatTTzjjzF56MA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DLEI3G0mdFjl3RZdhIhDB4K+LruSLZL23++Ti9uAVpY=;
 b=nosc/o+i+GfMnwj2CM2Ag73OQ/73nUfQJASvHcaKq40BcNfe1ubufJphDuwdzqmBhlt78/lTC9SY70qUkaQMPxGHKYVuZoDvtfmzleZzhzEXldnHUPfr+X7HokK46YylyLX9l54HYymKAvG3ygHJu41UeTdciXYi+gure7afo2LLdpp9vLIjp26WNtULK5S5Tu8pgesTP0juz6xYKGoFgF5Emkm2E5vdQcfmbZmYbdArSGLEjwhoR8K9jKf5Gq8OxTUCUlqz/qP2jY3ydbdwukUQ9Z7c4KHKslJW1S8OBfHaeW1WTniEgDmks7qTymDBgGkseoWRcvM+mvAvK9lc7w==
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=DLEI3G0mdFjl3RZdhIhDB4K+LruSLZL23++Ti9uAVpY=;
 b=nYmBK9zV0MKZ5ZOIiUSt+FrxZ/8Dysn6kkRAzILnk84UuqbASdj4tZ71vWKqNlGc3R0Fdqw5/rARf2GF6o2DyopnMwMkZQeCwgrmvaD00iI1UK1RFBTkbgjkMb8x9Vz2qvfiKB1fLGG2fQD2uBO7lMV40T5UyVzURxuSrjZWntA=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 09/19] xen/sysctl: make CONFIG_PM_STATISTIC depend on CONFIG_SYSCTL
Date: Wed, 12 Mar 2025 12:06:22 +0800
Message-ID: <20250312040632.2853485-10-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006003:EE_|PH7PR12MB5784:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a89c8d5-8616-4d1b-7ba0-08dd611b62de
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?GaoW1+qMbFaTXNg3rqSIx9cDvVI7CmlB6GRK2RjWu5mdKeqaZlmgAr1VAiHN?=
 =?us-ascii?Q?d6Lg7/CMOU8wE8MgyYCH8Zplnkt0462NlEOt7XPIH6+zVuN9MFDzfvL/ylCM?=
 =?us-ascii?Q?2ietKOrMouXrIu68q79+/tFJWds95oRlnQX2US1DmVKsG1Fn3wq2431hMfMo?=
 =?us-ascii?Q?xTc0siQUh2WxmNgiCkZian2S9k4n4PgmF2Bp+y9SG6CtZQ7PHW7qPD0gFu4z?=
 =?us-ascii?Q?NzBSlcna7NCE7IIljkhEs6vti21MC8kKKciRvuBWTo40PPz6utVR+j3wndwK?=
 =?us-ascii?Q?tc5yw6NtCrwl0XYjqkKU8jk/jZLWU+/Itxm9Nh2w4eWo6A5MVkGInK2/AVgB?=
 =?us-ascii?Q?QRe2w7J8mA2OGrym6vZyGhW3JZAcBuKJG6h+8qiZvBpUbtyTcrOxFITVFGkY?=
 =?us-ascii?Q?BQlYHwFn6MPvSMvYXR+zQ9xC0bCGmGomwvQ3p10ATujxoCTu3KN72hXywz+c?=
 =?us-ascii?Q?YfHmLmp1ulLQc5wAFGbeX7hdgQRiXrfx5u2xV0HxxqkcgbM+KbOeFqW1EMt+?=
 =?us-ascii?Q?yQ8VaVUhBB3T+0ltPIWvVDmARFQ3zHmwl0tHEZvWvkvydv58kX67UJ+gBa/n?=
 =?us-ascii?Q?FbBNYohngEnTj90ADIg45+qO87a8F2M5hEk10KwaAmrOZko1NHfps6soF7IB?=
 =?us-ascii?Q?Mo5gxXz2hreHcDQiCvTrhZFddu304bljAx5hS++lzxR/8+w/1rjVebW5M7Yq?=
 =?us-ascii?Q?q7jI0lJmf9DOx/ZCGONhoR34GpFdyX20e0CsTW3rI2iyZxsHp9G5ltVqEL3w?=
 =?us-ascii?Q?CNueOH6+nVV4HHRELcG4RbbdbAq1lnbqOvNrpTK+XlnTkrJ5ejTj7kxIL90A?=
 =?us-ascii?Q?ByIxQKgfZ1J5/QH7XnLWEz4F5cC9/XQE4R/qpjxGUfHeEAThqDmAvxXZY46d?=
 =?us-ascii?Q?uSszQA4elf4mq0NBrMYmT2PHJ16fJlZEGV9ww/GSOtmDG5fjv5JlnhGhVo37?=
 =?us-ascii?Q?UiSoULc2TT1hqLCKDof7MJGwPxnbAe1D4tX6b7WQ6wUBmNDxBxfIyRyTBvNs?=
 =?us-ascii?Q?e6C+jvuzHpMub6KB/KGwd0E8bJ8rSJTk5fFd1AHcQBAMO7WNWfvS1qc7DXZO?=
 =?us-ascii?Q?pt5mOmA58SgY9GrBBI9EaAeIOXjmqwPOSWaX7oME+WpPItpt1KO9QkDc+28o?=
 =?us-ascii?Q?G4n4GgMmWs1Rb8MkUbFVXlMGbMdbFYiZJp1ELql0wyOB1N820qleJsYMAPT9?=
 =?us-ascii?Q?HRTqzmx7zQc7iTrvs2231GA8bKvBlFxSdwHKAXy9Hxjvfv15JZm/52YpEliY?=
 =?us-ascii?Q?A4gqap7fAKXpbTxFJFgDrWOo8JkRyr4BBe+ONCZg3Q8vMQDDI1Ja9c+ubS9j?=
 =?us-ascii?Q?XqCgPVfWkfcYzb8h9z04ClmgjMB/PqhoJFcLGLkmhhpN42fAvOb+Jg0st+9d?=
 =?us-ascii?Q?83mk/UPPAoz6eYlGTK9wetf0SSnmgS9BaFZLfGnCKjExyRgJeSchvANLlBdG?=
 =?us-ascii?Q?fPnWS+HwUQ0fUWC5rS+RhuKQSegZIDVxBHEGf0lYwNUn8tjJx8hyp/70l8R2?=
 =?us-ascii?Q?obZzlOY0B1uHKyY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:20.6612
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a89c8d5-8616-4d1b-7ba0-08dd611b62de
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006003.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5784

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index ffc6b9d4df..fbaca097ff 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -109,7 +109,7 @@ config NUMA
 
 config PM_STATISTIC
         bool "Enable Performance Management Statistic Operations"
-        depends on ACPI && HAS_CPUFREQ
+        depends on ACPI && HAS_CPUFREQ && SYSCTL
         default y
 
 config STATIC_MEMORY
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909810.1316731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQl-00084v-Vr; Wed, 12 Mar 2025 04:10:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909810.1316731; Wed, 12 Mar 2025 04:10: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 1tsDQl-00083d-Ow; Wed, 12 Mar 2025 04:10:55 +0000
Received: by outflank-mailman (input) for mailman id 909810;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNu-0006o2-K9
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:58 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20604.outbound.protection.outlook.com
 [2a01:111:f403:2009::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9431c930-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:57 +0100 (CET)
Received: from BN9PR03CA0529.namprd03.prod.outlook.com (2603:10b6:408:131::24)
 by SA3PR12MB7831.namprd12.prod.outlook.com (2603:10b6:806:311::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:53 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:131:cafe::45) by BN9PR03CA0529.outlook.office365.com
 (2603:10b6:408:131::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 04:07:53 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:53 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:49 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9431c930-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SDCe7DGg//SkeTom5Gbu4Nv2O1deWN5N+hxoHva+v3OpebklJ16KJcarPX1cKwlsxo9oyeHc0Y8NZS2zyciPsVnsVTm+rbjzrpfetQPMMpByOrfy6Cp9LZ45JmFKwWCO11YrkfMVVFXldVKCI9LTbFnBtVdppTVb8WjQYvMFUPjN9DY8F3yHT4SKqSbEwMHm5sRcXu7KY02AU4id3s0KweM/Ul5nEP8v+KWHc3tU/5lXW0u8RkL6YRHT70yG5Zn11+d/UzMv7KfVhljBm0JHowPxNSlFHY9zAVaolkprbq/BJZFGRFP2zOIKZwyBIioBZRhOP1bi5+G67ekWGTIRFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Co/A6LtKil8nD0o6Nvn8J3GZ2QcSnUMY5PdPvBScsC0=;
 b=xcsoTaFATxn+TAoYBVlaHEuEFv71/s5yhJ2rdE5EiAr3CtSWt2GcB12ck/OAegRz/9jXznguvJW9MlsQPXzomwaWLQ9n3iihzHsVjPeEJGBXu6OB/7wYk3XaTdDbYTKQgI4ii8HEvWttIbzxDVdpFrLEr14/jrVEjOmjB4WKjiv3YXiZ4+3njKVVomeyp+MzROJTL4nuptKH2zyAZRL9pLk9jywJE2T3xGShW3LDl1HEQXo/cw6ZYmRvDBxQwn722j947TJxBNgKZt+TyDGIQJv/GLcsbNuclVifFiWxBVgTX0KQUPQS5sD1CyFcOUCq21bWY8ZRUzkPfbHQD3Jt9Q==
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=Co/A6LtKil8nD0o6Nvn8J3GZ2QcSnUMY5PdPvBScsC0=;
 b=O9+y4+wqwNGTfpl8h4Nm8p0kuLktFR9MEOiYlANCuHiX4hozbfNUzH7/zUVbby4lVEMk2UV03fG+p9CQz8ToaAmJwg+CnYNmEU7xm+EoJPx41gzS1IySe82AhYOEDE19qpIcSDhzGAcezvY8HoWpboB+uMDaDF+VlTy3sDJi/wE=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Stefano Stabellini <stefano.stabellini@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>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Penny Zheng <Penny.Zheng@amd.com>
Subject: [PATCH v1 19/19] xen/sysctl: wrap around sysctl hypercall
Date: Wed, 12 Mar 2025 12:06:32 +0800
Message-ID: <20250312040632.2853485-20-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|SA3PR12MB7831:EE_
X-MS-Office365-Filtering-Correlation-Id: 51f7b02a-01c9-45f9-9295-08dd611b7631
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:
	=?us-ascii?Q?9hXgPN/92uI7cIKx5iidzWZht0smU5DC7mPvKacYRf35KmqRP5FAO00oBOAt?=
 =?us-ascii?Q?JhiD+0e3eccQOBWanLTrWtdgOm59Koh3qywL3+dX4T/B+ahQkJFgOhgsqeaZ?=
 =?us-ascii?Q?Mip5vt63uk4XR9Zeyu9eD/9dBulHH2P5xitbqIbXSB7VO6JSe9nHa09M63Oq?=
 =?us-ascii?Q?ePlaV8PJimo2Wn76OEXF06BSfJaGrvF+0PkOGl6YFRXYDGEjEz9TF8GKRiVg?=
 =?us-ascii?Q?mtUhVZisKOX1U7QqvfSY8Yq/z1DOnArkVsVpkLedHqywql1Mh5jLLPQ4I1Ek?=
 =?us-ascii?Q?J/YYbVBIksvbUxByHtFfykF408hR9Qd5QnKyUFxG7myNjG0avzJz5O1UomXr?=
 =?us-ascii?Q?+uOGQu1udLQYGV+TOkOPZ4gVEt7a1e9nWacktsy9BtqtOTZnCaL7YXRy9BH0?=
 =?us-ascii?Q?8JDParUSUmEWYIG0d2ziJ/th8hPwqNME+h3SFFz7VXd5R0nTiWPJAZh2+Lzi?=
 =?us-ascii?Q?ai9SObRVRdO+zhd1hW4IQL7rDn7rKlHp6uh9yvZxeAKCESfsLYz+Z7VZnI1N?=
 =?us-ascii?Q?gEqDtoDaisO4yC0pVqGudbv9FdkhwNyTUQ8PurC40zZ2uPeO6xC90VSplpRX?=
 =?us-ascii?Q?pIlW3P+yf1mVorXq6CJJNlA1T6MoRFofsQbIGzNDA5GRHycs6wVJ3crU0Ou9?=
 =?us-ascii?Q?uqjCPgMWTqtraOBWirxkGRKboG8BCN1IfmqlD9OlnQYAGLn4Sd8yKNqoooTR?=
 =?us-ascii?Q?SOFkOV2aRsM0QAMvEGDkoo2mqP8A5OZW0Ib8mvRmY/+OsaMnu042k/QhXH6T?=
 =?us-ascii?Q?qw8XxEuaD8L6XwXqV50vp87hqL07AEyKPPRPHeIMKNQHhwi3RLjbs8TFmtvk?=
 =?us-ascii?Q?VC2QIY0CxnzemgvoP5tjFJCGlAoRgLDq/VeNFvp6NzEmKYX53HofIBwJq7OU?=
 =?us-ascii?Q?HjFoWIZv66mSFRa+DYR4sW+UOKDAIPiI4n+2O2vHpMuHgBQ8l/issoBfgEf8?=
 =?us-ascii?Q?vHNyu7822rcWKJIJfxZ91cBttBHWV7YM2YcYiGbEI3Ddpso5u9/zBN1NIZME?=
 =?us-ascii?Q?JqkCV3O6GKKHMrwakeZ0DjfoESauLvjlrhk7UlGCjPSIBKg4SlsY4Efb2cbe?=
 =?us-ascii?Q?ghwM2TQShf3cBf0NQpOFcEgSrqaFskowHsAQ/LZ2T+J4wY1+gkxiqKDvwY/i?=
 =?us-ascii?Q?6d6KspWa0fbnlLe67OcLaQHHje/e+4sHtIVUgZ5PQr9RXSrvW4yay4mKzSF9?=
 =?us-ascii?Q?KLhCIXYsqqRYohQlNfGhXf2ftmr6ASFls251Q8vYdQ6WXlYI76zYuCvuBjJz?=
 =?us-ascii?Q?emlhQmMXFRbPQ4hO8hE4+vZaT7ZQn7dru7ZvSZo3HEjdZLT/+hw8/woWnEvr?=
 =?us-ascii?Q?oUk3qpH2XYLbNb4i98yn2xxkRJgDmd45d/hhjbmOAm8fi1o9RQOQtgE2yUVl?=
 =?us-ascii?Q?twUGQW4j+khCWvOX4mTv9yw23yc4CrvAwS0fdYx9XQgs2aHJfJBo24BKSogq?=
 =?us-ascii?Q?a2YwZP7jAYEpzcf7FIg5zpxbFrBDCagNAM0pgjzgusc/OfchFBOnlhEWi18I?=
 =?us-ascii?Q?aFyRvPqE3NpSWbU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:53.0825
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 51f7b02a-01c9-45f9-9295-08dd611b7631
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=[SATLEXMB04.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: SA3PR12MB7831

From: Stefano Stabellini <stefano.stabellini@amd.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/Makefile          | 2 +-
 xen/include/hypercall-defs.c | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/common/Makefile b/xen/common/Makefile
index cba3b32733..31c6fb1b71 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -69,7 +69,7 @@ obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
 obj-y += monitor.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 endif
 
 extra-y := symbols-dummy.o
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 7720a29ade..b2118e9adb 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -195,7 +195,9 @@ kexec_op(unsigned long op, void *uarg)
 dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
+#ifdef CONFIG_SYSCTL
 sysctl(xen_sysctl_t *u_sysctl)
+#endif
 domctl(xen_domctl_t *u_domctl)
 paging_domctl_cont(xen_domctl_t *u_domctl)
 platform_op(xen_platform_op_t *u_xenpf_op)
@@ -274,7 +276,9 @@ physdev_op                         compat   do       hvm      hvm      do_arm
 hvm_op                             do       do       do       do       do
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
+#ifdef CONFIG_SYSCTL
 sysctl                             do       do       do       do       do
+#endif
 domctl                             do       do       do       do       do
 #endif
 #ifdef CONFIG_KEXEC
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909816.1316735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQm-0008A3-Cg; Wed, 12 Mar 2025 04:10:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909816.1316735; Wed, 12 Mar 2025 04:10: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 1tsDQm-00089P-4F; Wed, 12 Mar 2025 04:10:56 +0000
Received: by outflank-mailman (input) for mailman id 909816;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNo-0006o2-Tn
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:52 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2414::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9062ab4a-fef7-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 05:07:51 +0100 (CET)
Received: from BN9PR03CA0361.namprd03.prod.outlook.com (2603:10b6:408:f7::6)
 by MN2PR12MB4334.namprd12.prod.outlook.com (2603:10b6:208:1d1::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 04:07:46 +0000
Received: from BN1PEPF00005FFD.namprd05.prod.outlook.com
 (2603:10b6:408:f7:cafe::db) by BN9PR03CA0361.outlook.office365.com
 (2603:10b6:408:f7::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 04:07:45 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00005FFD.mail.protection.outlook.com (10.167.243.229) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:45 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:42 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9062ab4a-fef7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oOsqF6UC6X57fVCQgGZpubmq+H30LMlWGVEWWZZyElh/9Cap18RJVpR7nMb5UsaWDp3BGjN0yTHq+RO0WYZwEQ37evWl6vbT+UvqXtPgM2nKqcH6EKBApb27BR2gHQCFHjoHJPJCla/eAuyDCefIv0Hm/c5IHa6YcRc192qWrBnXaHWvbDnRqO3m5jhm8Vms3zAbzDuGmcvaE46pVhVXNkNLixgauGRDAtIZIH7geFOvfp7pBYigv1feaLtKMzVChNS+aGw9WVUKosIXIoy6qcYUPOPqdgukhfAW7vVYNRYtokI9w8FO18elFeicUCKlIh8rivuUMRaCBShgHvP8Kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pVnJIwjzp8eKC2WhS+HCVSb2Ww3dYbUW05dij3RYcXo=;
 b=MPeEfwnO3pi5hqHnknU7qmMiPLyO7tfrCWB7NdpJz9pFr2zAvTtCQUL7gQLd/HapfpVdd0RTjMJEDeo4Yg/Hhmj3v5D02cfM5WOfyM5o7/hUQip/+u+P9W8hgrNUN/WYMKtouzkAzPoAt7PCrj3zPNEeVEYY5xKkHcA8pNFOe9YoIkunIC78ouhql95q9tF7x0yAIHgqqkHpGNIz1mjOHWlFxC145QCplFm51ubkJ01zTj3bwfGkAxY6pGMacyQqRqYkGgnTZ5EaQ5t0V3S/nCTNJF8nORJZMLL1z5L0ERy10/OX2dcbgJbEwI2S8++VvnDZmHh6rYIhveO6HhnQiQ==
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=pVnJIwjzp8eKC2WhS+HCVSb2Ww3dYbUW05dij3RYcXo=;
 b=YTwXDA7BVGeHme0qgSeXfY+M8A0Pi0s/e0aGO7hxotBWAmnSW0VD6crVjd8Btmqm5tQA9Lmr2d4ggEZrBQcb1ngSqSBJS+yQtFh0mdSM2PLibeJU1SVjvCubh88x8bkhZYJyD7hjcrB8AvJKhuCl9WIGtIrsu1GRMT+I5G/QmYA=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 17/19] xen/sysctl: wrap around XEN_SYSCTL_livepatch_op
Date: Wed, 12 Mar 2025 12:06:30 +0800
Message-ID: <20250312040632.2853485-18-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFD:EE_|MN2PR12MB4334:EE_
X-MS-Office365-Filtering-Correlation-Id: 901924a6-dca0-4df1-6347-08dd611b71ec
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?4ArMTVDNvrQcShxGUJaEBePHrjgR5xbev+kERd90kzByRUBs3meDbKXnTiVs?=
 =?us-ascii?Q?IPLztgV0fDk6ETa+n+ZZkyuYmY8+PFmxfEHpJzNroZOZ8H18dL29GVopZ62M?=
 =?us-ascii?Q?rSqRkOJPIaOOa+nXUEfNDczpDs7L469jkzCgo2iEfddNsyzQ6vyLKyXWA0PM?=
 =?us-ascii?Q?lBW0nCjYswslKFFuUSrL+f44T4kgYVRrHqjKAtXpavhJV2UkeXv14D3+7Rwh?=
 =?us-ascii?Q?rdTXwRIkBmQVS2HLTS7uShyYTcR+l/37zz74BRf0pgbFJn5+HrCnBUK6agMJ?=
 =?us-ascii?Q?kAzfEo6T43mWrvlCfQWiP5eQZRuEA7afwMNC+UmszUHsrrqUoMuVRxg0MvBl?=
 =?us-ascii?Q?o08N88G44sgVHBJd5Efcc+uD6KSuo1ztCzsbDH5UVwY8+xVEizTdEz0KP1bS?=
 =?us-ascii?Q?0saBBzF3x49Ph0Z9lDEh6UWN0YGUiyGJDUAFISVWh6c5U6iL+94u4pF6hLxN?=
 =?us-ascii?Q?syHWztjw1q+LYk5MRaNjwUUWg4tP3pIuYAAYtA1rAGRQiWV9OuKI86zI3Ikg?=
 =?us-ascii?Q?bwJe3fku9tTPSp3MaRgHQKAxPJGFSeyK30nJc31h3mgTN/Kg8InR+ZShvQHR?=
 =?us-ascii?Q?9HJcBWQwp0wVs+Cb+mtkeGtt5UHQY5rsD+6sRdq0tOllXNBNAteiKpv2HDFG?=
 =?us-ascii?Q?3ZDNWnWx9lDSErubb7slqMD/TwuNr//MiL71pK0M35J4smBxm4BmjYg2rZ4R?=
 =?us-ascii?Q?PsNrlW3cb+5wGMlgQRwAsCni4LcvIMxNIHPcaByYLbz5QhlZ+SgNZeiIS+1v?=
 =?us-ascii?Q?zzhNMV59QhoBxjjF4SQI6TLrfesADigTftTEtUcyYrDiAKBe+WzSAy1Juf6s?=
 =?us-ascii?Q?Dw8cGw3ILb/ZB/XxWtSXRibV1Vbl6WhWMlHDxxQsIPF42JS7xT5huXYpdb56?=
 =?us-ascii?Q?+4YJ8bucgwK99UR+rTLcZRyhwUUd72XChEiFS9L27hptxQp2vSh+2LlQzBe7?=
 =?us-ascii?Q?NcNZ9Vu+yyO1PQ9Qy5ZgYLbPl/Bt0ZGbAjG0wWsOYWrWBkhYOkUhSAHmmIif?=
 =?us-ascii?Q?sy6mW8yY01egF7wY3xixVxYUQrAJI7nfypgrPDSt1JgugfuKUd2TArQVsH8Z?=
 =?us-ascii?Q?VRnDAtZhv2Lemi/wwqYVp0KIBn0XFz1/r1h2EblsMz8U8s44tskTJcz7bAG4?=
 =?us-ascii?Q?2kdy5vf47a5EZgZ044Lf2bqxbcsZqfblQT4G5AS/1i49f6kWJckJw2Q8nSwD?=
 =?us-ascii?Q?+Wo+1glHkI2n9SPsQkorwYSAknauVyBPyaEyTi8PzY2VDhNPUP9OsRKJTRKG?=
 =?us-ascii?Q?6ss0JjXXlMK8TBeT4VqLpCI/nxmrdiv3Sj7RgN/97mfkrOpJhEHQ+X9wfsJp?=
 =?us-ascii?Q?9/UJlUksWBHxM77XJ6MBzLIJklSqQvtXIPT2M0nYab+MmyYwMnN5pZ346uZ/?=
 =?us-ascii?Q?3lBsoGLtgfdCOWTi5cBumIHGPu4xXWzDU4nqqvSHEWgTDVkRYWeSPuIsMQM5?=
 =?us-ascii?Q?jzn4o4DwBW+tJZCvjfPbFRvu5KppvxxJtH4fiNfLQG3slwgpQjj6oIePX8ny?=
 =?us-ascii?Q?Usuke4nXRhrNCI0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:45.9182
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 901924a6-dca0-4df1-6347-08dd611b71ec
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFD.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4334

LIVEPATCH mechanism relies on LIVEPATCH_SYSCTL hypercall, so CONFIG_LIVEPATCH
shall depend on CONFIG_SYSCTL

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index fbaca097ff..583972f7e3 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -426,7 +426,7 @@ config CRYPTO
 config LIVEPATCH
 	bool "Live patching support"
 	default X86
-	depends on "$(XEN_HAS_BUILD_ID)" = "y"
+	depends on "$(XEN_HAS_BUILD_ID)" = "y" && SYSCTL
 	select CC_SPLIT_SECTIONS
 	help
 	  Allows a running Xen hypervisor to be dynamically patched using
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:10:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:10:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909823.1316749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQp-0000Zr-Mx; Wed, 12 Mar 2025 04:10:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909823.1316749; Wed, 12 Mar 2025 04:10: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 1tsDQp-0000Z6-GN; Wed, 12 Mar 2025 04:10:59 +0000
Received: by outflank-mailman (input) for mailman id 909823;
 Wed, 12 Mar 2025 04:10: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNf-0007Fd-Mc
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:43 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20609.outbound.protection.outlook.com
 [2a01:111:f403:2413::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 895300db-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:07:39 +0100 (CET)
Received: from BN0PR02CA0016.namprd02.prod.outlook.com (2603:10b6:408:e4::21)
 by CY8PR12MB8243.namprd12.prod.outlook.com (2603:10b6:930:78::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 04:07:34 +0000
Received: from BN1PEPF00006002.namprd05.prod.outlook.com
 (2603:10b6:408:e4:cafe::26) by BN0PR02CA0016.outlook.office365.com
 (2603:10b6:408:e4::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.26 via Frontend Transport; Wed,
 12 Mar 2025 04:07:33 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006002.mail.protection.outlook.com (10.167.243.234) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:33 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:29 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 895300db-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OQYWArfpJTBg1X/27/wYBzBce5ohn/7ZuFohpOq7FUb8qcvGOuUxM6NzdYv8adWGyhEDm2+3dMqsWNSrwYK/BYCCD5NRwIHwjvJu8Dp/7aQ0RFl2BKY+NgxS/Ktuxdp+oytQbXKwSRuVpuJOuh3BcEpVf4TMjnVOVwlCKSh1qSHTQLVseB7r/Ji8tFnf37wAsYyOxaqqB5NemMVfjxLD7rFXvYUG8v+xQATgntWmb0oLbC04moFbYxFL6acEFSdNUdP013L/jklOqZTbSHNnkKYwgugqPItdK0/AYrTPGKg4zQa8/imWF3cUwTKbvy0QUmoHdSf7ioBqHXhCgJ4Kqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2kpH7rONbEBds+fqwFkAgmEf3lzGijaWyU1/HQRi1kg=;
 b=adz5D4NLzsPZkdlb9z8h969ZaNu5GVeqNB39DQuhZg2l6CLCYQYWyJ9w3rLPaOWtRh7iAT/uKvVPNmTLNFaOz2zoaybgpcfqTReGg8TUq0Tk1WByK/aYkW99LoyLDdJwJ0THJTH+o8RQQkm3cxcbu2b+ftVpd0C0XBoecGE17ym3MDFERIDdeOBO7HQ9tXsFN8KEnCxoLMgBywpXeTyxDjH9lGxuO7gHiJE6xJBzXCf46k7mFOB2dcaY8P+e5O0Q7toS8JdfNFcqK87Kdla8TslEkifYDV5u5NvWPuyf/5uaUfAutAEnIpej0rjSMuUDHj1FY/P4BgPhzJp5Y7TZsA==
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=2kpH7rONbEBds+fqwFkAgmEf3lzGijaWyU1/HQRi1kg=;
 b=T7TZ37AxfUaauQYYZAOA6MWbU5QQsWHn7LUuZ9oBOmnoUTuaLH/aik/0LfZo8V5n3ZUvpReN/eYqR8a+cpWdyPZ0RL/9zP4RnAi8QLd7bmknMy5Z//UrWDS6m9j55STGpcQePlDQi4petzu0gNIP51+py7zspnpBJdh/O7gkJCc=
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=SATLEXMB04.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>, 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>, 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>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v1 13/19] xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
Date: Wed, 12 Mar 2025 12:06:26 +0800
Message-ID: <20250312040632.2853485-14-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006002:EE_|CY8PR12MB8243:EE_
X-MS-Office365-Filtering-Correlation-Id: 5399652e-75bb-4cc1-f469-08dd611b6a96
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|7416014|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?3++G+noAwEwTxnJmKd3dQqQ+GzvqBDeO/RuKk7VxhDWeR6OqB23IVxLK868G?=
 =?us-ascii?Q?3ckEbNuRCwY3bnKsujqjN66zXvK7prWvITwlB0lDNHNumjjuo071bltYppMB?=
 =?us-ascii?Q?X9j2Y0oyMBrXFTs3bcwjeZ6iuwhg4cdiARxoFFgF+yK9CJAX3cP++nBzfotT?=
 =?us-ascii?Q?w0Th94F7ih+JJ0oMhBrHSKgWFrU2iAgDIFcPgfrM4XzuXLLvbiNFwPy17iNv?=
 =?us-ascii?Q?N08rCrx3MMHEDXFvBqvTWUNZOS3LY7lt7udrZLW4TAbHQiusaps+wSaU4jyw?=
 =?us-ascii?Q?eXgtWmfobAT1kGkjv+6kYkqBw3lYd1/Slt0p2Nxh7BE7wqqIW3kYMvAWuYSI?=
 =?us-ascii?Q?OOXp1jCJv+6TrzEYFAeTo7N7jilyGHYqE3+4Ve4nicigngEd2GpRBeHbelnL?=
 =?us-ascii?Q?HFewa6CrDhlipktV3REhvyM/+rHSJQt15UphUwAf5FUIQb3h3IsucSJEwi8m?=
 =?us-ascii?Q?NAqybJO/g7Fsf+kkxs8QnZSVdhS6SWlXQoGPqlRsfYupcoGd08QXpFOn8GoR?=
 =?us-ascii?Q?ZBixEsEudppsNJ7l1y3dQ3Br8b00WkVE1bpFxIm0QubtvD6Am1R4T4gWWAxM?=
 =?us-ascii?Q?+1CFiquyGfZQ/fxrpEOgn40/iyeKLkhuamPZWULW2WEXXh0aTQiPW0rQNTl+?=
 =?us-ascii?Q?PhTVgdmk/Z1a8G3os0OxiTKszHuHptLwfy715JxEYQdVZQWkGtVjf+Kf4PLz?=
 =?us-ascii?Q?zD7j1j5xFrnwk5ZFn74cHBZ0TTkUC2fVjgQv/IKh0H+AmohhNEdUKK8ppQKl?=
 =?us-ascii?Q?9UrDnP8sb+SWZR57mCfXsaMMoxunovN9koYHCXL92LzTXHvZb5WjJ0pORgnP?=
 =?us-ascii?Q?Sm+ydZ9DFyQ9/FM/EiiXAdyzzc9qZJ+mfYHAQXdpgnDiO0j2SYy9XHZ5gxz4?=
 =?us-ascii?Q?n9PYjBCqvi2OuPM0mTCz8d0wSKmPF3I14nHPtIW5BGH9xAAXUBU0CyqUxM4Z?=
 =?us-ascii?Q?KDs8ye07rYg0ye/SMsgKREL7tG7K7aGhRc5dgZa9uzE0ePdPkSHL+b6FCj6I?=
 =?us-ascii?Q?0f5y4YOauHMhN+s6N/7Y6RYpws0etCnlngKSN5h38lOfrEp+LdYBjFbuR9vj?=
 =?us-ascii?Q?O58TZdl1wyLv20xqss/fwc2UROK+GooRPNypPR1bIOx2ot+mx1fL3BMtqh9R?=
 =?us-ascii?Q?oXh4KWxss3vN2fTyA/gUqkr3eaY09IDncf4Ylhu2rWpEh+95yAGbmWMs5018?=
 =?us-ascii?Q?Iilnb9XzHi9egk+oq/a21S7I5efOH4DewOc2099Kobd5GM1hIoMyJqCafs72?=
 =?us-ascii?Q?YI5aEmty+67ayoE55SBtY5BbhXsHynQbG7fRm2y2QTBX8oof1DaAPxc4gfi4?=
 =?us-ascii?Q?36lJh2AqEppTryytYTo3nXq3iCUStPXYd+G/dxnfemhnIU3zU/PeClTeiYsk?=
 =?us-ascii?Q?7yQ/tqhUcH6YBKFKZr2X9GUPaqb4VzGmVBMQ+vWtbBm1+tC4pvkdouYZNSOp?=
 =?us-ascii?Q?H14dIuPZKKrtSqWdIQ9PxVolVenVRWRkrsvyQQpSN7N30mTecNZtsq9DnBYx?=
 =?us-ascii?Q?AVuC3VVj557mCZA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 04:07:33.6298
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5399652e-75bb-4cc1-f469-08dd611b6a96
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006002.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8243

Function sched_adjust_global is designed for XEN_SYSCTL_scheduler_op, so
itself and its calling flow, like .adjust_global, shall all be wrapped.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/common/sched/arinc653.c | 6 ++++++
 xen/common/sched/core.c     | 2 ++
 xen/common/sched/credit.c   | 4 ++++
 xen/common/sched/credit2.c  | 4 ++++
 xen/common/sched/private.h  | 4 ++++
 xen/include/xen/sched.h     | 6 +++++-
 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, 37 insertions(+), 1 deletion(-)

diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index a82c0d7314..3a2c349d38 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -214,6 +214,7 @@ static void update_schedule_units(const struct scheduler *ops)
                       SCHED_PRIV(ops)->schedule[i].unit_id);
 }
 
+#ifdef CONFIG_SYSCTL
 /**
  * This function is called by the adjust_global scheduler hook to put
  * in place a new ARINC653 schedule.
@@ -328,6 +329,7 @@ arinc653_sched_get(
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 /**************************************************************************
  * Scheduler callback functions                                           *
@@ -648,6 +650,7 @@ a653_switch_sched(struct scheduler *new_ops, unsigned int cpu,
     return &sr->_lock;
 }
 
+#ifdef CONFIG_SYSCTL
 /**
  * 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
@@ -687,6 +690,7 @@ a653sched_adjust_global(const struct scheduler *ops,
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 /**
  * This structure defines our scheduler for Xen.
@@ -721,7 +725,9 @@ static const struct scheduler sched_arinc653_def = {
     .switch_sched   = a653_switch_sched,
 
     .adjust         = NULL,
+#ifdef CONFIG_SYSCTL
     .adjust_global  = a653sched_adjust_global,
+#endif
 
     .dump_settings  = NULL,
     .dump_cpu_state = NULL,
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index ea452d8b3e..e528909e5d 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2095,6 +2095,7 @@ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
 {
     struct cpupool *pool;
@@ -2123,6 +2124,7 @@ long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void vcpu_periodic_timer_work_locked(struct vcpu *v)
 {
diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index a6bb321e7d..6dcf6b2c8b 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -1256,6 +1256,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned int timeslice_ms)
     prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check
 csched_sys_cntl(const struct scheduler *ops,
                         struct xen_sysctl_scheduler_op *sc)
@@ -1298,6 +1299,7 @@ csched_sys_cntl(const struct scheduler *ops,
     out:
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void *cf_check
 csched_alloc_domdata(const struct scheduler *ops, struct domain *dom)
@@ -2288,7 +2290,9 @@ static const struct scheduler sched_credit_def = {
 
     .adjust         = csched_dom_cntl,
     .adjust_affinity= csched_aff_cntl,
+#ifdef CONFIG_SYSCTL
     .adjust_global  = csched_sys_cntl,
+#endif
 
     .pick_resource  = csched_res_pick,
     .do_schedule    = csched_schedule,
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 0a83f23725..0b3b61df57 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -3131,6 +3131,7 @@ csched2_aff_cntl(const struct scheduler *ops, struct sched_unit *unit,
         __clear_bit(__CSFLAG_pinned, &svc->flags);
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check csched2_sys_cntl(
     const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc)
 {
@@ -3162,6 +3163,7 @@ static int cf_check csched2_sys_cntl(
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void *cf_check
 csched2_alloc_domdata(const struct scheduler *ops, struct domain *dom)
@@ -4232,7 +4234,9 @@ static const struct scheduler sched_credit2_def = {
 
     .adjust         = csched2_dom_cntl,
     .adjust_affinity= csched2_aff_cntl,
+#ifdef CONFIG_SYSCTL
     .adjust_global  = csched2_sys_cntl,
+#endif
 
     .pick_resource  = csched2_res_pick,
     .migrate        = csched2_unit_migrate,
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index c0e7c96d24..d6884550cd 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -356,8 +356,10 @@ struct scheduler {
                                     struct sched_unit *unit,
                                     const struct cpumask *hard,
                                     const struct cpumask *soft);
+#ifdef CONFIG_SYSCTL
     int          (*adjust_global)  (const struct scheduler *ops,
                                     struct xen_sysctl_scheduler_op *sc);
+#endif
     void         (*dump_settings)  (const struct scheduler *ops);
     void         (*dump_cpu_state) (const struct scheduler *ops, int cpu);
     void         (*move_timers)    (const struct scheduler *ops,
@@ -510,11 +512,13 @@ 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
 static inline int sched_adjust_cpupool(const struct scheduler *s,
                                        struct xen_sysctl_scheduler_op *op)
 {
     return s->adjust_global ? s->adjust_global(s, op) : 0;
 }
+#endif
 
 static inline void sched_move_timers(const struct scheduler *s,
                                      struct sched_resource *sr)
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index ea81832c50..5a065b3624 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -848,10 +848,14 @@ void sched_destroy_vcpu(struct vcpu *v);
 int  sched_init_domain(struct domain *d, unsigned int poolid);
 void sched_destroy_domain(struct domain *d);
 long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op);
-long sched_adjust_global(struct xen_sysctl_scheduler_op *op);
 #ifdef CONFIG_SYSCTL
+long sched_adjust_global(struct xen_sysctl_scheduler_op *op);
 int  scheduler_id(void);
 #else
+static inline long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
+{
+    return -EOPNOTSUPP;
+}
 static inline int scheduler_id(void)
 {
     return -EOPNOTSUPP;
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 5f89fc98fc..826db1fc69 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_SYSCTL
 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
 
 static XSM_INLINE int cf_check xsm_set_target(
     XSM_DEFAULT_ARG struct domain *d, struct domain *e)
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index d6f27aa977..d413a12897 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -57,7 +57,9 @@ 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
     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_SYSCTL
@@ -246,10 +248,12 @@ static inline int xsm_domctl_scheduler_op(
     return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
 }
 
+#ifdef CONFIG_SYSCTL
 static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd)
 {
     return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
 }
+#endif
 
 static inline int xsm_set_target(
     xsm_default_t def, struct domain *d, struct domain *e)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index aa89ee5331..6270bef308 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -19,7 +19,9 @@ 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
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
+#endif
     .set_target                    = xsm_set_target,
     .domctl                        = xsm_domctl,
 #ifdef CONFIG_SYSCTL
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 9819cd407d..aefb7681cb 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -626,6 +626,7 @@ static int cf_check flask_domctl_scheduler_op(struct domain *d, int op)
     }
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check flask_sysctl_scheduler_op(int op)
 {
     switch ( op )
@@ -640,6 +641,7 @@ static int cf_check flask_sysctl_scheduler_op(int op)
         return avc_unknown_permission("sysctl_scheduler_op", op);
     }
 }
+#endif
 
 static int cf_check flask_set_target(struct domain *d, struct domain *t)
 {
@@ -1887,7 +1889,9 @@ 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
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
+#endif
     .set_target = flask_set_target,
     .domctl = flask_domctl,
 #ifdef CONFIG_SYSCTL
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 04:11:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 04:11:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909833.1316761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsDQu-0001EV-A9; Wed, 12 Mar 2025 04:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909833.1316761; Wed, 12 Mar 2025 04:11: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 1tsDQu-0001EG-2g; Wed, 12 Mar 2025 04:11:04 +0000
Received: by outflank-mailman (input) for mailman id 909833;
 Wed, 12 Mar 2025 04:11: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=cozV=V7=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tsDNl-0007Fd-8d
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:07:49 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2414::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8eaae1b2-fef7-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:07:48 +0100 (CET)
Received: from BN7PR06CA0048.namprd06.prod.outlook.com (2603:10b6:408:34::25)
 by PH7PR12MB5902.namprd12.prod.outlook.com (2603:10b6:510:1d6::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 04:07:44 +0000
Received: from BN1PEPF00006000.namprd05.prod.outlook.com
 (2603:10b6:408:34:cafe::71) by BN7PR06CA0048.outlook.office365.com
 (2603:10b6:408:34::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 04:07:43 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 04:07:43 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 11 Mar 2025 23:07:39 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8eaae1b2-fef7-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ehZKLArNo+g2hkYGs45gAzYCfV9FwGlw9dmEP3CAVlgyyB3HIfKxu56LGPegy1N8/P7MN5/525Skm25jHTXsj0OpTMHVnq2Z5tKl9/RTYfDZobrJ/0PvnBB/4bliabml52pmHGds/+A1J6GS7rKCjW3kKR/cG7/zOu5aUmn9AcxY6dWnmFpQSYtvGG9VpqvXK+Mi33u34U+8NWbO6iLkviMEhI0tQgZM0nzRuQ9iEx30ygbnllfeGreMK6wVOIEbXNpKgLyCtXUpwOsH4MDj0sHSz8l3UVioq+kB7UKjCFlmpzkUAccHjbicvTjM9xDHzs9zX8EkewhwgvgGgqObJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GOqgE+bQRqJSaGdfrE8a8XEAc5wqmWyygxWbNzkBWt0=;
 b=BJDYrCJFI+9mSbNI/4RuMavJo799b282+0nfXRaJVei4f0QjIaLFQHOf/JFWDXNxk/s0HrGEE5Qi/NVMdO7eJLKcGVAPjy7qWAgXeyuJg5PGroYCv5+71yz30ehMwocp2EHsvsg4mqAf9lDK/r63udXHcrQ5/XUjdpyUJjf54nfL4CmQINyM4Drv4RpTq9b23qDimVW5Rlx4zEHslp2E1SlymUYHiFSWFYiAsA7JKr3YFx0SOatnfHa1mOi4CUQ+DZP+6NgvN4ZRzhh71oY66xjmlLi8yMlbMQt42/3yJc3WRYfQQdQa+wGDt5pG2rzP6G9hPsrej7c867igzbpkfQ==
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=GOqgE+bQRqJSaGdfrE8a8XEAc5wqmWyygxWbNzkBWt0=;
 b=AAFS89iqoiWiYFeTJP7pd1IPuzj4TYxSWnuSE9ATYP2cUS4h824aPUdAZUogXaB308PQy69Ri/o5HXP4zkHKMWOVFbA9oJLfRzaNIDb99fC5rm9a8YC5UXTECw4uG7Z/RuHAOPd7l5jCLH/JKGOrT6JRekSoLi9HUandw4dXKco=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v1 16/19] xen/sysctl: wrap around XEN_SYSCTL_coverage_op
Date: Wed, 12 Mar 2025 12:06:29 +0800
Message-ID: <20250312040632.2853485-17-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312040632.2853485-1-Penny.Zheng@amd.com>
References: <20250312040632.2853485-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006000:EE_|PH7PR12MB5902:EE_
X-MS-Office365-Filtering-Correlation-Id: d4c576de-a960-4b81-5276-08dd611b702e
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?+DwtiM1Yq2yPb327dykMvTGwo6c3IaklmnFUJ1SQtPHcOBv4E1ELZ42sNf7q?=
 =?us-ascii?Q?XKD7S4w7+YxAAMLOuGtQjEmAGKQdAdd/cOB295uioyCobimVzwB0LHxdchSv?=
 =?us-ascii?Q?fb8uoTiMZT4CntSFwJxOXYfi232rRFhqqjIZujYudDHp1XQ1ktQYKdM1LV7c?=
 =?us-ascii?Q?t39yABCBU1vH2CPYGyZhHZJY0afAdJvAETtxKNO5MEgiuBBL246UCgDM2RIj?=
 =?us-ascii?Q?zV1HIXOQHjTSeKK0ri4Sli7X6y6L/Sies3CN3G3Aechu1dahPhVXDSOuQbx6?=
 =?us-ascii?Q?onpYjC1xKrfl5C4aBB+MHyCveg+U6bHsdT+JnPZRamDoS4gRcJqHrQCpvKn7?=
 =?us-ascii?Q?XhJ+VxAUQnJXYBTwUooigfNdJ/G/zwlHVpF5Ys6Tem3E2scmlv0Dyq0KxZ2w?=
 =?us-ascii?Q?gemhyRGN8roZZsFpSJxkgnVjhsxICBd774sSPA3eallb/TSYrUXju452mKv4?=
 =?us-ascii?Q?nnUc/0NgqFQn9epUhsU0VjWYSK+ziJa12C0siasmtb/qSdw31R1zj/OUqFgF?=
 =?us-ascii?Q?WOCBSF7c7SP7KRaYFk+DHVe2KjtF1QEG+mkdxXE70vlwPTGLoGAfqOIrBLbR?=
 =?us-ascii?Q?sQOUkXPuYdHnLuBCtKjOQj2veV0WTMoAB4b3MTGBB4MgCkm1O6zxqVZjfMHA?=
 =?us-ascii?Q?+Q23xxZYHTKoyNzDn8+TwIcIc5rDroHyKxpsXHQJcSoGvfcc/aXBAx/bRat/?=
 =?us-ascii?Q?9GT8/ctGIA1b8/2XXSnPU7xFMBVWfsfmLSHBS0Op8v5LSQi8SMRX/qr6u7AB?=
 =?us-ascii?Q?4AdAA2DpFpQPZJO1yW2xB5k0rX3NXi1HbS32CnNmAkWqLpOyQwgdNijjMe07?=
 =?us-ascii?Q?Ts49u7bFjt+deC6BAYg5N3wnq+UT+kExfxzxHh/HIRMBnYC10PFXwZ5b1Lwn?=
 =?us-ascii?Q?mDxWW5ab0TY36P34d6VFP6xUIdsxJSdJhz0fQZC4fdRX7XRLnddn63rthXMA?=
 =?us-ascii?Q?jzBYshH+jD+mkwaJ+ro26K/HAkwC7wQGsbiLZVQeRI9bGumEUgzm0lRPWO9e?=
 =?us-ascii?Q?6pfi/6wCQc/osBqwNQoigLwVm0U2uzVe1Gct++m6OneHW1c1vE/MtVPaQfAF?=
 =?us-ascii?Q?VVP8mYuvqNXZL+k46aB5Ova3cQBDnFGjzEbAIEfegy7p+yFJRjdR6BlxKMtj?=
 =?us-ascii?Q?Lf5eMZsfo1AWNV5eMkWD05yrP/Yu5nkIiODGsXfADdQBlN5YhXGXxy3uJkEo?=
 =?us-ascii?Q?vk1up5hgdmwxea7JIcFnK8WKnZTJ55GVpda3tQv8cQKEV6AUxwQdE6Faalj3?=
 =?us-ascii?Q?RJR26DL/L9EkSUkcAA6LchS5EV2/NkAmEUewSsXst094cE7F/ZFlyryuztlt?=
 =?us-ascii?Q?ZxDRt43S0C9kyQdtZMnsQ7XZuJWMLH0dnjBr31nknG1RlQ7sDj9p+8gXg3qT?=
 =?us-ascii?Q?KZgJ+iOY2t7QXlvKadVmEmeY/LI7SpTV+N/4Ts3c+n+emST38lggwZaTkDjp?=
 =?us-ascii?Q?IGYxP1pvMAhobXQY5grGyNxySc3E++q+Z5IIAy1MyRhGDzgV05SYwvVGmrAh?=
 =?us-ascii?Q?C1ZZP8s/A5/Qphw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 04:07:43.0104
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d4c576de-a960-4b81-5276-08dd611b702e
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=[SATLEXMB04.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: PH7PR12MB5902

All coverage-related op shall be wrapped around with CONFIG_SYSCTL,
so this commit makes CONFIG_COVERAGE depend on CONFIG_SYSCTL.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/Kconfig.debug | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index c4a8d86912..b226ca9b6e 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -37,7 +37,7 @@ config SELF_TESTS
 
 config COVERAGE
 	bool "Code coverage support"
-	depends on !LIVEPATCH
+	depends on !LIVEPATCH && SYSCTL
 	select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS if !ENFORCE_UNIQUE_SYMBOLS
 	help
 	  Enable code coverage support.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 06:47:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 06:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909887.1316770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsFrz-0006WJ-0X; Wed, 12 Mar 2025 06:47:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909887.1316770; Wed, 12 Mar 2025 06: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 1tsFry-0006WC-Tm; Wed, 12 Mar 2025 06:47:10 +0000
Received: by outflank-mailman (input) for mailman id 909887;
 Wed, 12 Mar 2025 04: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=knxZ=V7=linux.dev=shakeel.butt@srs-se1.protection.inumbo.net>)
 id 1tsDaV-0004e1-Ut
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 04:21:00 +0000
Received: from out-182.mta0.migadu.com (out-182.mta0.migadu.com
 [91.218.175.182]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65bb66bf-fef9-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 05:20:58 +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: 65bb66bf-fef9-11ef-9ab9-95dc52dad729
Date: Tue, 11 Mar 2025 21:20:48 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1741753256;
	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=hDVW5paXvofauniZLpqYiGX3ZDGr6k7FCnVsxIQYmDI=;
	b=XEwUyIMDWawoG5pdblTStI90HquR/rc4o2V0eGwG0KkonQod7nUPqLyItShqetqdquXcQh
	/yNdl28wY6m6OKfmu15G0wheicZLL/xdftO1L8QhhRgbxANOz3ePyhU5QqTYAF2M9I/7F7
	NOKfvHIcb5lldr/IXRtr3hANfUg4T5w=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Shakeel Butt <shakeel.butt@linux.dev>
To: Nico Pache <npache@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, 
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org, 
	linux-mm@kvack.org, cgroups@vger.kernel.org, kys@microsoft.com, 
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, 
	jerrin.shaji-george@broadcom.com, bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de, 
	gregkh@linuxfoundation.org, mst@redhat.com, david@redhat.com, jasowang@redhat.com, 
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com, sstabellini@kernel.org, 
	oleksandr_tyshchenko@epam.com, akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, 
	roman.gushchin@linux.dev, muchun.song@linux.dev, nphamcs@gmail.com, yosry.ahmed@linux.dev, 
	kanchana.p.sridhar@intel.com, alexander.atanasov@virtuozzo.com
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
Message-ID: <oiues63fvb5xx45pue676iso3d3mcqboxdtmcfldwj4xm7q4g7@rxrgpz5l23ok>
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-2-npache@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250312000700.184573-2-npache@redhat.com>
X-Migadu-Flow: FLOW_OUT

On Tue, Mar 11, 2025 at 06:06:56PM -0600, Nico Pache wrote:
> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
> expose it through /proc/meminfo and other memory reporting interfaces.
> 
> Signed-off-by: Nico Pache <npache@redhat.com>
> ---
>  fs/proc/meminfo.c      | 2 ++
>  include/linux/mmzone.h | 1 +
>  mm/memcontrol.c        | 1 +
>  mm/show_mem.c          | 4 +++-
>  mm/vmstat.c            | 1 +
>  5 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
> index 8ba9b1472390..83be312159c9 100644
> --- a/fs/proc/meminfo.c
> +++ b/fs/proc/meminfo.c
> @@ -162,6 +162,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
>  	show_val_kb(m, "Unaccepted:     ",
>  		    global_zone_page_state(NR_UNACCEPTED));
>  #endif
> +	show_val_kb(m, "Balloon:        ",
> +		    global_node_page_state(NR_BALLOON_PAGES));
>  
>  	hugetlb_report_meminfo(m);
>  
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index 9540b41894da..71d3ff19267a 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -223,6 +223,7 @@ enum node_stat_item {
>  #ifdef CONFIG_HUGETLB_PAGE
>  	NR_HUGETLB,
>  #endif
> +	NR_BALLOON_PAGES,
>  	NR_VM_NODE_STAT_ITEMS
>  };
>  
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 4de6acb9b8ec..182b44646bfa 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1377,6 +1377,7 @@ static const struct memory_stat memory_stats[] = {
>  #ifdef CONFIG_HUGETLB_PAGE
>  	{ "hugetlb",			NR_HUGETLB			},
>  #endif
> +	{ "nr_balloon_pages",		NR_BALLOON_PAGES		},

Please remove the above counter from memcontrol.c as I don't think this
memory is accounted towards memcg.


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 06:56:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 06:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909968.1316780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsG0U-0008Bo-Pr; Wed, 12 Mar 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 909968.1316780; Wed, 12 Mar 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 1tsG0U-0008BX-Mx; Wed, 12 Mar 2025 06:55:58 +0000
Received: by outflank-mailman (input) for mailman id 909968;
 Wed, 12 Mar 2025 06:55: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=hgYX=V7=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tsG0S-0008BI-St
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 06:55:56 +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 0ac24e71-ff0f-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 07:55:55 +0100 (CET)
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-287-iGj6mRDAM-uRs9NeWS5Xog-1; Wed, 12 Mar 2025 02:55:52 -0400
Received: by mail-wr1-f69.google.com with SMTP id
 ffacd0b85a97d-39141ffa913so2101690f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 23:55:52 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-394a8a5a304sm565705f8f.40.2025.03.11.23.55.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 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: 0ac24e71-ff0f-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741762554;
	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=M5urNoJLNtNizXgsJBqJ+K7FyEmcih4A00lRbzK+XcU=;
	b=cfdx6bEWMVEBpVOc4NpurOqLnfNg7n19bwbGRKkrpjDH3074vULp6OLn9vhJvRZTdQF7fl
	mO7/bMTDhImiG0F/D1FmhnuqKs9xOQfh/Ahzlzz4mZrcABORLGW3ZOdNYhAPreSWijm4Ye
	mMia4Ypnq01hUkZw4t1tMk3xE5cCZWg=
X-MC-Unique: iGj6mRDAM-uRs9NeWS5Xog-1
X-Mimecast-MFC-AGG-ID: iGj6mRDAM-uRs9NeWS5Xog_1741762551
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741762551; x=1742367351;
        h=in-reply-to: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=M5urNoJLNtNizXgsJBqJ+K7FyEmcih4A00lRbzK+XcU=;
        b=iSZVAQrPEZxIM5bp6MKMP7lT4eTXkjkJu6yBIyUMuxivBZPbZ/gEWqdQea/R3t6RcB
         XQxsh/dNGUEIkW4ux1Wht7tZ52C0SH8vEY7BeZwNRzwYJz3C4nXqM9eBwywtmYPJHren
         OOAyWfgRezjJYoKH+hN1UYtYQNkfFCKVsrxpMHRkObkJjTlxu/0aZ4gAe7WP4vREHoxK
         cHUjgXot2Z8Xfs/TlC5SZMvQjuiAeIrW78WJGQuBUuFIcIawVeiq9x+luukTXOzQCRBW
         qzczlpB9yWOVeIsoIvGwH9eNQ46kkePIVcuWgR6bolstw6gnktYR2vo2TXv8kbSRkSlI
         6O7g==
X-Forwarded-Encrypted: i=1; AJvYcCUeysXAV3lzx41Kg1dR5XP//MNzfuv/BIS/Lr/4jfjJlGzT+uYaiPuizCzWMeX8DWebSCNf0C//bSw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwX19RGPE5jHGfBgmF5znmuxvmAu9Gj3XAmiTPfap3p3WkOkXbJ
	h2w2oNT2wrY9NU7d5HX240l+HcpbbB1kBZrJ7DcXeM7vGwOoelp8Vy2AUFI3DNk35aBhQ4Mf4LB
	1hIN2i22wsdbcorB17O3yjIKnhGPWHf1NV015CUhxuY8Pt+8v6wNl+6CZo1nnOK93
X-Gm-Gg: ASbGncsxS+KxGkIy2OP9xMH6dCJF1KtjLtCW/BP4UlfnI2dKo+frDsxN86shk/KV1o7
	3JHVc+u4P9EBYpQr+2AlnAWgWyyNwwapReJvEQxQeIye428aXZ1nbaAy9hp5lbEnFJOtVphw6UD
	IGib6PL5OlimXQmrTqP5lDYaaqzX36Oc1IKEsdLjdJn7ufXM3hXvhnH9eJx4+GNQzOy66bUfi0M
	t6v3ZyZA1JGMICLxg21g4MTk0Fxk49tQqxfKpkyPJfhy7uWXnUf0dmcb82R4kKGqqvwrIA9CYdu
	/RkakJVtsQ==
X-Received: by 2002:a05:6000:402a:b0:390:ed05:aa26 with SMTP id ffacd0b85a97d-39132d30c22mr15005786f8f.5.1741762551530;
        Tue, 11 Mar 2025 23:55:51 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFDerobH2f/muGrjnyAjilHqba0+0kowFg3s8AIPcyJb001SG0K4ObuoiA+X/VxHvC5d0rDfQ==
X-Received: by 2002:a05:6000:402a:b0:390:ed05:aa26 with SMTP id ffacd0b85a97d-39132d30c22mr15005774f8f.5.1741762551189;
        Tue, 11 Mar 2025 23:55:51 -0700 (PDT)
Date: Wed, 12 Mar 2025 02:55:45 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Nico Pache <npache@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
	cgroups@vger.kernel.org, kys@microsoft.com, haiyangz@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
	gregkh@linuxfoundation.org, david@redhat.com, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
	roman.gushchin@linux.dev, shakeel.butt@linux.dev,
	muchun.song@linux.dev, nphamcs@gmail.com, yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com, alexander.atanasov@virtuozzo.com
Subject: Re: [RFC 2/5] virtio_balloon: update the NR_BALLOON_PAGES state
Message-ID: <20250312025331-mutt-send-email-mst@kernel.org>
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-3-npache@redhat.com>
MIME-Version: 1.0
In-Reply-To: <20250312000700.184573-3-npache@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: DdcSdQQIm5qA_0WsLwgU6JOh6rs-bhvHI5YPXZSI7F4_1741762551
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Mar 11, 2025 at 06:06:57PM -0600, Nico Pache wrote:
> Update the NR_BALLOON_PAGES counter when pages are added to or
> removed from the virtio balloon.
> 
> Signed-off-by: Nico Pache <npache@redhat.com>
> ---
>  drivers/virtio/virtio_balloon.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
> index 89da052f4f68..406414dbb477 100644
> --- a/drivers/virtio/virtio_balloon.c
> +++ b/drivers/virtio/virtio_balloon.c
> @@ -274,6 +274,8 @@ static unsigned int fill_balloon(struct virtio_balloon *vb, size_t num)
>  
>  		set_page_pfns(vb, vb->pfns + vb->num_pfns, page);
>  		vb->num_pages += VIRTIO_BALLOON_PAGES_PER_PAGE;
> +		mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
> +			VIRTIO_BALLOON_PAGES_PER_PAGE);
>  		if (!virtio_has_feature(vb->vdev,
>  					VIRTIO_BALLOON_F_DEFLATE_ON_OOM))
>  			adjust_managed_page_count(page, -1);


This means the counter is in virtio balloon page units, which
runs counter to the declared goal of making the interface
hypervisor-agnostic.


> @@ -324,6 +326,8 @@ static unsigned int leak_balloon(struct virtio_balloon *vb, size_t num)
>  		set_page_pfns(vb, vb->pfns + vb->num_pfns, page);
>  		list_add(&page->lru, &pages);
>  		vb->num_pages -= VIRTIO_BALLOON_PAGES_PER_PAGE;
> +		mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
> +			-VIRTIO_BALLOON_PAGES_PER_PAGE);


Same.

Thanks,

>  	}
>  
>  	num_freed_pages = vb->num_pfns;
> -- 
> 2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 06:56:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 06:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909969.1316790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsG0b-0008Rg-10; Wed, 12 Mar 2025 06:56:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909969.1316790; Wed, 12 Mar 2025 06:56: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 1tsG0a-0008RZ-Tz; Wed, 12 Mar 2025 06:56:04 +0000
Received: by outflank-mailman (input) for mailman id 909969;
 Wed, 12 Mar 2025 06:56: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=IlF8=V7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsG0Z-0008BI-Eh
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 06:56:03 +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 085cae59-ff0f-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 07:55:50 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-aaf0f1adef8so1094691966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 23:55:50 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac2585d60f2sm882051866b.173.2025.03.11.23.55.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Mar 2025 23:55: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: 085cae59-ff0f-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741762550; x=1742367350; 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=2DSP1M7gIiJZhrnNdOVaNRxNOrln/8Bu3afMS9PHvZ0=;
        b=K1uo1ht1oaxtlvJF5z1V2g0VI+sAfpKU/vc2sBGRN8a9maG28F6W2tph1+4y0LPE5D
         qAk3rBfI7FAr9K51qTlzA9RhX/MQwKdqWwyiDYsNvbSOQ9mPrubwUB8zgmu8FuukPJat
         3oY6ULzsA07p4lb0/IykF1RO3zgDnKWP7FBt2reopNWVlNxnwtRP7WYVivxXAhwdsbSB
         kHOoZIhZZ18/IRLRNDydjwvym12YiAs+Hz4PvsJVCn7bj15DH0zgMGp4Ntp6+/R4atzP
         SwZ+mo2wSCzg1/GXKiCoEtSpSVCRHUUI6UcyZQNHUv4Er5p9n1GFTRDLOUaze2EsNA9s
         /ePA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741762550; x=1742367350;
        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=2DSP1M7gIiJZhrnNdOVaNRxNOrln/8Bu3afMS9PHvZ0=;
        b=WbdLFTcu64bD+IJlpTPB9NHp0tOCyOn7wfg9xtBjAFpyf5Vs/HFkdmn7AFxL/Q+fIP
         LbYA6RKSU1cSHtHcr/vitabkqZeCQjWr+30x8QZOpKCwIUHbFvJgOpa8jMacDlfH0vo+
         KDvcX8sukv9H4jjA9pDm0cvYh5cw04PlkKLFWSScYQ/Tsvq4Fy768pCD9naj0IXumlwO
         w8F34dCCGB9WzOv2A1EhyQE8FXGeNeLwa/emLUp8DU9VrZePEco+LDFq/TiJF3qtvkH+
         OfDpee0un7OHTlwIIwNJcDBy7dMFi9GHf0K0KtzpOjqHJHPWXTBJDqIRFJ3ZEhp0TNOU
         u3PA==
X-Forwarded-Encrypted: i=1; AJvYcCXFGTu+3231hnGp7OSu3HtF7MHKKikrLcTnt6ELtzFamYshozQg0HD8fRfwYmgq9sxMpWuDStIVYcc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypMdj/NKY8CNfmKQ1oizQaXEnwrLKf+vQ61WF6umXy2cPlWeuU
	FcwJyaTEd+ZN5BvyfIhXP8ly7XmbZrZEZhYx2aaiuOhbGydjc2u4l/JYD2oefsU=
X-Gm-Gg: ASbGncsQd5rK6fDTricFnNEQKP6uOacz/fuohFZRBxoAy6XNozXfWLBdldSk9CFZ1Yh
	CCMa6/oOGsf8mpl5zO1TwX6ng1c2DsoWZ01ETz9FYw+6rCuwQ0uOsokIcMB/Mgxknh6I5jEvQVj
	q7JUbrGAiz4bD+5j8V5Sm0JIlMR58uEZuTsDcoBbMjJYD9Oux/EOoAfYCXJPxmZNkZ7gpbVveR3
	jhbZ0blwO9+MVDnKCRztcOh3u/fwWi8Gi4XpCxwIvL2iehVo42AE+czJRGnJ648jULIQSC5f5Mo
	f1m7armVse3gNuqJehYsOf2ssNxicpGGKeSNwUGD4kePfIq+VtB0aoQymB+7YLti8G5WHzf6HiO
	TVNC1bkJaCnokQHb/WYS260ULeL7wzIqAU5hFzCun/K9ocJ2lMYqRq5NXrr87QgMguPA=
X-Google-Smtp-Source: AGHT+IHeqNfIdUAY0aCNZ7uSc4X7kTf1fQPORXHd3+rurnFmt+4BmasD4a+VZ5rTcATeR6AfzFsl/g==
X-Received: by 2002:a17:906:f593:b0:ac1:db49:99a3 with SMTP id a640c23a62f3a-ac252fc6bdemr2589564266b.40.1741762549618;
        Tue, 11 Mar 2025 23:55:49 -0700 (PDT)
Message-ID: <656e5916-6a8f-4151-ba27-e8214db170e8@suse.com>
Date: Wed, 12 Mar 2025 07:55:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs: specify numerical values of Xenstore commands
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250311073131.13539-1-jgross@suse.com>
 <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
 <eb440a72-5016-4eb3-928c-d441268b2189@suse.com>
 <2eeaa891-8a6b-4bc6-b544-e825a60e8887@xen.org>
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: <2eeaa891-8a6b-4bc6-b544-e825a60e8887@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------EQOX0mKuIVmlwd5mdUaSXa3k"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------EQOX0mKuIVmlwd5mdUaSXa3k
Content-Type: multipart/mixed; boundary="------------YnepqWPZZOk1HgO89uZ7bdPL";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <656e5916-6a8f-4151-ba27-e8214db170e8@suse.com>
Subject: Re: [PATCH v2] docs: specify numerical values of Xenstore commands
References: <20250311073131.13539-1-jgross@suse.com>
 <ca2e86f3-68f6-4628-af98-c3ad0e82cc0f@xen.org>
 <eb440a72-5016-4eb3-928c-d441268b2189@suse.com>
 <2eeaa891-8a6b-4bc6-b544-e825a60e8887@xen.org>
In-Reply-To: <2eeaa891-8a6b-4bc6-b544-e825a60e8887@xen.org>
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=

--------------YnepqWPZZOk1HgO89uZ7bdPL
Content-Type: multipart/mixed; boundary="------------X9bXYj9IxSh7SwEVyS39Bzz0"

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

T24gMTEuMDMuMjUgMjA6MzYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDExLzAzLzIwMjUgMDk6NDAsIErDvHJnZW4gR3Jvw58gd3JvdGU6DQo+PiBP
biAxMS4wMy4yNSAxMDoyMSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEp1ZXJnZW4s
DQo+Pj4NCj4+PiBPbiAxMS8wMy8yMDI1IDA3OjMxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4+PiBJbiBkb2NzL21pc2MveGVuc3RvcmUudHh0IGFsbCBYZW5zdG9yZSBjb21tYW5kcyBh
cmUgc3BlY2lmaWVkLCBidXQNCj4+Pj4gdGhlIHNwZWNpZmljYXRpb25zIGxhY2sgdGhlIG51
bWVyaWNhbCB2YWx1ZXMgb2YgdGhlIGNvbW1hbmRzLg0KPj4+Pg0KPj4+PiBBZGQgYSB0YWJs
ZSB3aXRoIGFsbCBjb21tYW5kcywgdGhlaXIgdmFsdWVzLCBhbmQgYSBwb3RlbnRpYWwgcmVt
YXJrDQo+Pj4+IChlLmcuIHdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgb3B0aW9uYWwpLg0KPj4+
Pg0KPj4+PiBSZXBvcnRlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0K
Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+
Pj4+IC0tLQ0KPj4+PiBWMjoNCj4+Pj4gLSByZXBsYWNlICLFlSIgd2l0aCBwbGFpbiAiciIg
KEphbiBCZXVsaWNoKQ0KPj4+PiAtIHJlcGxhY2UgaGFyZCB0YWJzIHdpdGggYmxhbmtzIChK
YW4gQmV1bGljaCkNCj4+Pj4gLSBhbGxvdyBHRVRfRkVBVFVSRVMgYW5kIEdFVF9RVU9UQSBz
dXBwb3J0IHdpdGhvdXQgU0VUXyogKEphbiBCZXVsaWNoKQ0KPj4+PiAtLS0NCj4+Pj4gwqAg
ZG9jcy9taXNjL3hlbnN0b3JlLnR4dCB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKw0KPj4+PiDCoCAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9u
cygrKQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbnN0b3JlLnR4dCBi
L2RvY3MvbWlzYy94ZW5zdG9yZS50eHQNCj4+Pj4gaW5kZXggN2UxZjAzMTUyMC4uOGI0Yjc5
MGUxMSAxMDA2NDQNCj4+Pj4gLS0tIGEvZG9jcy9taXNjL3hlbnN0b3JlLnR4dA0KPj4+PiAr
KysgYi9kb2NzL21pc2MveGVuc3RvcmUudHh0DQo+Pj4+IEBAIC04Niw2ICs4Niw2MyBAQCBw
YXJ0cyBvZiB4ZW5zdG9yZSBpbmFjY2Vzc2libGUgdG8gc29tZSBjbGllbnRzLiBJbiBhbnkg
DQo+Pj4+IGNhc2UgcGFzc2luZw0KPj4+PiDCoCBidWxrIGRhdGEgdGhyb3VnaCB4ZW5zdG9y
ZSBpcyBub3QgcmVjb21tZW5kZWQgYXMgdGhlIHBlcmZvcm1hbmNlDQo+Pj4+IMKgIHByb3Bl
cnRpZXMgYXJlIHBvb3IuDQo+Pj4+ICstLS0tLS0tLS0tIERlZmluZWQgWGVuc3RvcmUgbWVz
c2FnZSB0eXBlcyAtLS0tLS0tLS0tDQo+Pj4+ICsNCj4+Pj4gK0JlbG93IGlzIGEgdGFibGUg
d2l0aCBhbGwgZGVmaW5lZCBYZW5zdG9yZSBtZXNzYWdlIHR5cGVzICh0eXBlIG5hbWUNCj4+
Pj4gK2FuZCBpdHMgYXNzb2NpYXRlZCBudW1lcmljYWwgdmFsdWUpLg0KPj4+PiArDQo+Pj4+
ICtTb21lIHR5cGVzIGFyZSBvcHRpb25hbCB0byBiZSBzdXBwb3J0ZWQgYnkgYSBzcGVjaWZp
YyBYZW5zdG9yZQ0KPj4+PiAraW1wbGVtZW50YXRpb24uwqAgSWYgYW4gb3B0aW9uYWwgdHlw
ZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IGEgWGVuc3RvcmUNCj4+Pj4gK2ltcGxlbWVudGF0aW9u
LCBYZW4gdG9vbHMgd2lsbCBjb250aW51ZSB0byB3b3JrLCBtYXliZSB3aXRoIHNsaWdodGx5
DQo+Pj4+ICtyZWR1Y2VkIGZ1bmN0aW9uYWxpdHkuwqAgQSBtYW5kYXRvcnkgdHlwZSBub3Qg
YmVpbmcgc3VwcG9ydGVkIHdpbGwNCj4+Pj4gK3Jlc3VsdCBpbiBzZXZlcmVseSByZWR1Y2Vk
IGZ1bmN0aW9uYWxpdHksIGxpa2UgaW5hYmlsaXR5IHRvIGNyZWF0ZQ0KPj4+PiArZG9tYWlu
cy7CoCBJbiBjYXNlIGEgdHlwZSBpcyBvcHRpb25hbCwgdGhpcyBpcyBzdGF0ZWQgaW4gdGhl
IHRhYmxlIHdpdGgNCj4+Pj4gK3RoZSBsb3N0IGZ1bmN0aW9uYWxpdHkgaW4gY2FzZSBYZW5z
dG9yZSBkb2Vzbid0IHN1cHBvcnQgdGhhdCB0eXBlLg0KPj4+PiArDQo+Pj4+ICtYU19DT05U
Uk9MwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAwwqDCoMKgIG9wdGlvbmFsDQo+Pj4+
ICvCoMKgwqAgSWYgbm90IHN1cHBvcnRlZCwgeGVuc3RvcmUtY29udHJvbCBjb21tYW5kIHdp
bGwgbm90IHdvcmsuDQo+Pj4NCj4+PiBBcmUgd2UgZG9jdW1lbnRpbmcgYW55d2hlcmUgaG93
IGEgdXNlciBjb3VsZCBmaWd1cmUgb3V0IGlmIHRoZSBjb21tYW5kIGlzIG5vdCANCj4+PiBz
dXBwb3J0ZWQ/IElzIGl0IGEgc3BlY2lmaWMgZXJyb3IgY29kZT8NCj4+DQo+PiBJIGNhbiBh
ZGQgdGhhdCBub3Qgc3VwcG9ydGVkIGNvbW1hbmRzIHdpbGwgcmV0dXJuICJFTk9TWVMiIGFz
IGFuIGVycm9yDQo+PiByZXNwb25zZS4NCj4gDQo+IFllcyBwbGVhc2UuDQo+IA0KPj4NCj4+
Pg0KPj4+PiArwqDCoMKgIFhTX0RFQlVHIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyBvZiBYU19D
T05UUk9MLg0KPj4+IMKgPiArWFNfRElSRUNUT1JZwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IDE+ICtYU19SRUFEwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyDQo+Pj4+
ICtYU19HRVRfUEVSTVPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMw0KPj4+PiArWFNfV0FU
Q0jCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA0DQo+Pj4+ICtYU19VTldBVENI
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA1DQo+Pj4+ICtYU19UUkFOU0FDVElPTl9T
VEFSVMKgwqDCoMKgIDYNCj4+Pj4gK1hTX1RSQU5TQUNUSU9OX0VORMKgwqDCoMKgwqDCoCA3
DQo+Pj4+ICtYU19JTlRST0RVQ0XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOA0KPj4+PiAr
WFNfUkVMRUFTRcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOQ0KPj4+PiArWFNfR0VU
X0RPTUFJTl9QQVRIwqDCoMKgwqDCoCAxMA0KPj4+PiArWFNfV1JJVEXCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgMTENCj4+Pj4gK1hTX01LRElSwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIDEyDQo+Pj4+ICtYU19STcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAxMw0KPj4+PiArWFNfU0VUX1BFUk1TwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAxNA0KPj4+PiArWFNfV0FUQ0hfRVZFTlTCoMKgwqDCoMKgwqDCoMKgwqAgMTUNCj4+Pj4g
K8KgwqDCoCBOb3QgdmFsaWQgaW4gY2xpZW50IHNlbnQgbWVzc2FnZXMuDQo+Pj4+ICvCoMKg
wqAgT25seSB2YWxpZCBpbiBYZW5zdG9yZSByZXBsaWVzLg0KPj4+PiArWFNfRVJST1LCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTYNCj4+Pj4gK8KgwqDCoCBOb3QgdmFsaWQg
aW4gY2xpZW50IHNlbnQgbWVzc2FnZXMuDQo+Pj4+ICvCoMKgwqAgT25seSB2YWxpZCBpbiBY
ZW5zdG9yZSByZXBsaWVzLg0KPj4+PiArWFNfSVNfRE9NQUlOX0lOVFJPRFVDRUQgMTcNCj4+
Pj4gK1hTX1JFU1VNRcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTgNCj4+Pj4gK1hT
X1NFVF9UQVJHRVTCoMKgwqDCoMKgwqDCoMKgwqDCoCAxOQ0KPj4+PiArWFNfUkVTVFJJQ1TC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjDCoMKgwqAgbm8gbG9uZ2VyIHN1cHBvcnRlZA0K
Pj4+PiArwqDCoMKgIFhTX1JFU1RSSUNUIGhhcyBiZWVuIHJlbW92ZWQsIHRoZSB0eXBlIHZh
bHVlIDIwIGlzIGludmFsaWQuDQo+Pj4+ICtYU19SRVNFVF9XQVRDSEVTwqDCoMKgwqDCoMKg
wqAgMjENCj4+Pj4gK1hTX0RJUkVDVE9SWV9QQVJUwqDCoMKgwqDCoMKgIDIywqDCoMKgIG9w
dGlvbmFsDQo+Pj4+ICvCoMKgwqAgSWYgbm90IHN1cHBvcnRlZCwgdGhlIG91dHB1dCBvZiB4
ZW5zdG9yZS1scyBtaWdodCBiZSBpbmNvbXBsZXRlDQo+Pj4+ICvCoMKgwqAgd2l0aCBtb3Jl
IHRoYW4gY2EuIDEwMDAgZG9tYWlucyBhY3RpdmUuDQo+Pj4NCj4+PiBXaHkgYXJlIHdlIG1h
a2luZyB0aGlzIHNwZWNpZmljIHRvIG51bWJlciBvZiBkb21haW5zPyBXb3VsZG4ndCB0aGUg
cHJvYmxlbSBiZSANCj4+PiB0aGUgc2FtZSBpZiB5b3UgaGF2ZSAxMDAwIG5vZGUgd2l0aGlu
IGEgcGFyZW50IG5vZGU/DQo+Pg0KPj4gTGV0IG1lIHJlaXRlcmF0ZSB0aGUgYW5zd2VyIEkg
Z2F2ZSB0byBKYW4gd2hlbiBoZSBhc2tlZDoNCj4gID4gPsKgIMKgIEFuZCBlbHNld2hlcmUg
dGhlcmUgY2FuJ3QgYmUgdmVyeSBtYW55IG5vZGVzIHJlc3VsdGluZyBpbiBhIHNpbWlsYXIN
Cj4+IMKgwqAgc2l0dWF0aW9uPw0KPiAgPiA+IE5vdCB3aXRob3V0IHNvbWVvbmUgdHJ5aW5n
IHRvIGZvcmNlIHRoaXMgYnkgd2lsbCAob25seSBwb3NzaWJsZSBieSBhDQo+PiByb290IHVz
ZXIgb2YgZG9tMCwgZS5nLiB2aWEgY3JlYXRpbmcgbG90cyBvZiBub2RlcyBpbiB0aGUgc2Ft
ZSBkaXJlY3RvcnkNCj4+IHZpYSAieGVuc3RvcmUtd3JpdGUiKS4NCj4gDQo+IFRoYXQncyBh
c3N1bWluZyB0aGUgYWRtaW4gaGFzIG5vdCBjaGFuZ2VkIHRoZSBkZWZhdWx0IHF1b3Rhcywg
cmlnaHQ/DQoNCk5vLCBJIGRvbid0IHRoaW5rIHRoaXMgaXMgcmVsYXRlZCB0byBxdW90YXMu
DQoNClRoaXMgaXMgcHVyZWx5IHJlbGF0ZWQgdG8gdGhlIGZhY3QgdGhhdCBYU19ESVJFQ1RP
UlkgaXMgbm90IGNhcGFibGUgdG8NCnJldHVybiBhIGZ1bGwgbGlzdCBvZiB0aGUgbm9kZSdz
IGNoaWxkcmVuLCBhcyB0aGlzIGxpc3Qgd291bGQgZXhjZWVkDQpYRU5TVE9SRV9QQVlMT0FE
X01BWCwgd2hpY2ggaXMgYSBoYXJkIHdpcmVkIHBhcnQgb2YgdGhlIHByb3RvY29sLg0KDQo+
IA0KPj4NCj4+IEhhdmluZyBsb3RzIG9mIGRvbWFpbnMgaXMgYW4gImVhc3kiIHdheSB0byBj
cmVhdGUgdGhpcyBzY2VuYXJpbyB2aWENCj4+IHBlcmZlY3RseSB2YWxpZCBhbmQgc2Vuc2li
bGUgb3BlcmF0aW9ucy4NCj4gID4gPg0KPj4gSSBjYW4gcmVwaHJhc2UgdGhlIHJlbWFyayBs
aWtlIHRoaXM6DQo+Pg0KPj4gwqDCoMKgwqAgSWYgbm90IHN1cHBvcnRlZCwgdGhlIG91dHB1
dCBvZiB4ZW5zdG9yZS1scyBtaWdodCBiZSBpbmNvbXBsZXRlDQo+PiDCoMKgwqDCoCB3aXRo
IGEgbm9kZSdzIHN1Yi1ub2RlIGxpc3QgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHBheWxvYWQg
c2l6ZQ0KPj4gwqDCoMKgwqAgKGUuZy4gdGhlICIvbG9jYWwvZG9tYWluIiBub2RlIHdpdGgg
bW9yZSB0aGFuIGNhLiAxMDAwIGRvbWFpbnMNCj4+IMKgwqDCoMKgIGFjdGl2ZSkuDQo+IA0K
PiANCj4gVGhhdCB3b3VsZCBiZSBiZXR0ZXIuIEl0IGRvZXNuJ3QgdGllIHRoZSBwcm9ibGVt
IHRvIHRoZSBkZWZhdWx0IHF1b3Rhcy4NCg0KSSdsbCB1c2UgdGhhdCB0aGVuLg0KDQoNCkp1
ZXJnZW4NCg==
--------------X9bXYj9IxSh7SwEVyS39Bzz0
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-----

--------------X9bXYj9IxSh7SwEVyS39Bzz0--

--------------YnepqWPZZOk1HgO89uZ7bdPL--

--------------EQOX0mKuIVmlwd5mdUaSXa3k
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/Ey8FAmfRL/QFAwAAAAAACgkQsN6d1ii/Ey9a
kwf/QL2oPejmhj3A8I2pvzh5oWYHPP100PDmA+gCBRxHatx5FVl2WQD3WXQrNmGEZ3yWUu4BCpbg
9xZyAbLmeqOJD+KnBEGY5utPx0CBPpyFa9w5Jm0AwYPQaC8CRouBHC8rMqqUezap8JVxCMLfRKPO
0fz1f593DCFQftJCsVFZGGNXYC5icoGTJHUyWla73N7Ko+caydc10kIqZvSn4GULzkYIQftT/CPy
1HaFhh980t/iSwZfLYxGzgzCQJDEZ/azUzq+OhG6vnG4I6P/y0YUfIsES7UuXll1y5Xixf1WBeBP
mbQmfbVLM90FHN7l6FTf3Lg7PwCKlvjp5HO4k7MHnA==
=HkDm
-----END PGP SIGNATURE-----

--------------EQOX0mKuIVmlwd5mdUaSXa3k--


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 06:57:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 06:57:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.909990.1316799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsG1f-0000of-Fy; Wed, 12 Mar 2025 06:57:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 909990.1316799; Wed, 12 Mar 2025 06:57: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 1tsG1f-0000oY-DQ; Wed, 12 Mar 2025 06:57:11 +0000
Received: by outflank-mailman (input) for mailman id 909990;
 Wed, 12 Mar 2025 06:57: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=hgYX=V7=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tsG1e-0000oQ-Ga
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 06:57:10 +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 370f013a-ff0f-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 07:57:09 +0100 (CET)
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-495-XUHUGlINOZOzxB6g1rc87w-1; Wed, 12 Mar 2025 02:57:06 -0400
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-43ce245c5acso31975185e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 11 Mar 2025 23:57:06 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a731031sm11806955e9.7.2025.03.11.23.57.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Mar 2025 23:57: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: 370f013a-ff0f-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741762628;
	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=ngFN5P8pa+SiEt1Ew8FmKgFK9481luIZ3P3zqtJw6G4=;
	b=cKupKixu0pgM283QzKnMquaa5FimMxsNLQ0DlUX9AqzxUd1Z+BhHVgqvK/sofj9531xrkC
	odUR3qPy75F2jveM/MbWPSFK9hIfAoHvKdnqw7LJknX6T6bG2CUJFrtMf1Xlo7zWTn1st/
	024yWaJuEejvHTD6nKyezq7NMmxUYCI=
X-MC-Unique: XUHUGlINOZOzxB6g1rc87w-1
X-Mimecast-MFC-AGG-ID: XUHUGlINOZOzxB6g1rc87w_1741762625
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741762625; x=1742367425;
        h=in-reply-to: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=ngFN5P8pa+SiEt1Ew8FmKgFK9481luIZ3P3zqtJw6G4=;
        b=H3i/5ATJIIAqfoBGt42x9VMIwowXCTxDqRqRlrcgwXfTaSLX56XxHVuy86MTRwhK8X
         uszuNG3xMGN19CLX0PsxxlbrOZQOtbRUtrC20fqBMKDGqZ0hgFGGl4uO0S80cViV+yts
         rjMBdMHYvaesVsV0qgu5fUac0PUpgaFBHfLCCEHeZWtfZXFHUMV2UIfrrQigu4DLOQ2l
         pAhpR6JqhLlKmhH4ZGrD42jCsETAdF837oXxmCkk3GOFsz7eSXcnIiNeueWw4djGOeqB
         SQn0/IqQtId8liz2KRq3iYcrRae/qA2DirDsRO4+40Vy+niChPOuojP4UHt6a8zgQ+vp
         Wivg==
X-Forwarded-Encrypted: i=1; AJvYcCXvpqz4PddXLGI1noGoSeXoEu0/nFt1hhpJRxVKvIrpBV93RO4JVAbITLE9Vnv481TPl0v3KfPehoc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwSnB8Wfa/e7PVXYym4Pws1+jvYrmqqYzYf7QLqek85DG8x1mgk
	Hlvkr/lx4t5UWN/IZNlMFHeHp7UuwPOXNVu7MNuWhYiqHGLBShGTd+w2RZnwgguwLytHj0/tjjD
	M3zlWsxtDjOGtYdeyriA0oGD5nvkTsFNXgZeka8+OkDglHJfp7dc/dk6K5ztRwh9m
X-Gm-Gg: ASbGncsVZG3K/VycoUXYFw5IPSnJsTU4/l+w8XmQRfMnbPlCAZYy2pC9bzIvkQpX2l2
	MEwBpz2tVeYdTVWvW3MpCo56F0B94oYGJiWQOf4C5Kbj6SiIRhwELfPQHyHzTg0fopDpOHtDddZ
	B+T3rz0MZ1gIJQTMWn8DGs2FYfUQ19Qs4HkVc7LtQ7zzPER86cNjsC8SptI0NTOE7gfKNj+uETS
	LdHehNggThKIwWDPySVI03WjEYo2hO/sR7wC+vj2blpD5w7/kUd71oZfZ82hZaZVHYIMkKHC+zx
	OU9diAgbBQ==
X-Received: by 2002:a05:600c:5618:b0:43b:ce3c:19d0 with SMTP id 5b1f17b1804b1-43cdfb7db88mr143183335e9.29.1741762625058;
        Tue, 11 Mar 2025 23:57:05 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFXQUbnjKhdX7cSTwHc/sH5KUBC9yqYpY1/TKqBEmz2tDiKoCFs3roMwKysiE2/kbKi5UsENQ==
X-Received: by 2002:a05:600c:5618:b0:43b:ce3c:19d0 with SMTP id 5b1f17b1804b1-43cdfb7db88mr143183025e9.29.1741762624636;
        Tue, 11 Mar 2025 23:57:04 -0700 (PDT)
Date: Wed, 12 Mar 2025 02:56:59 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Nico Pache <npache@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
	cgroups@vger.kernel.org, kys@microsoft.com, haiyangz@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
	gregkh@linuxfoundation.org, david@redhat.com, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
	roman.gushchin@linux.dev, shakeel.butt@linux.dev,
	muchun.song@linux.dev, nphamcs@gmail.com, yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com, alexander.atanasov@virtuozzo.com
Subject: Re: [RFC 4/5] vmx_balloon: update the NR_BALLOON_PAGES state
Message-ID: <20250312025607-mutt-send-email-mst@kernel.org>
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-5-npache@redhat.com>
MIME-Version: 1.0
In-Reply-To: <20250312000700.184573-5-npache@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: USS4Eqa9z6hA44ljLgXxnE0J3knPJZUSkLq-BMKySTY_1741762625
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Mar 11, 2025 at 06:06:59PM -0600, Nico Pache wrote:
> Update the NR_BALLOON_PAGES counter when pages are added to or
> removed from the VMware balloon.
> 
> Signed-off-by: Nico Pache <npache@redhat.com>
> ---
>  drivers/misc/vmw_balloon.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
> index c817d8c21641..2c70b08c6fb3 100644
> --- a/drivers/misc/vmw_balloon.c
> +++ b/drivers/misc/vmw_balloon.c
> @@ -673,6 +673,8 @@ static int vmballoon_alloc_page_list(struct vmballoon *b,
>  
>  			vmballoon_stats_page_inc(b, VMW_BALLOON_PAGE_STAT_ALLOC,
>  						 ctl->page_size);
> +			mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
> +				vmballoon_page_in_frames(ctl->page_size));


same issue as virtio I think - this counts frames not pages.

>  		}
>  
>  		if (page) {
> @@ -915,6 +917,8 @@ static void vmballoon_release_page_list(struct list_head *page_list,
>  	list_for_each_entry_safe(page, tmp, page_list, lru) {
>  		list_del(&page->lru);
>  		__free_pages(page, vmballoon_page_order(page_size));
> +		mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
> +			-vmballoon_page_in_frames(page_size));
>  	}
>  
>  	if (n_pages)
> @@ -1129,7 +1133,6 @@ static void vmballoon_inflate(struct vmballoon *b)
>  
>  		/* Update the balloon size */
>  		atomic64_add(ctl.n_pages * page_in_frames, &b->size);
> -


unrelated change

>  		vmballoon_enqueue_page_list(b, &ctl.pages, &ctl.n_pages,
>  					    ctl.page_size);
>  
> -- 
> 2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 07:06:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 07:06:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910002.1316810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsGAD-0002Ut-BH; Wed, 12 Mar 2025 07:06:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910002.1316810; Wed, 12 Mar 2025 07:06: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 1tsGAD-0002Um-7d; Wed, 12 Mar 2025 07:06:01 +0000
Received: by outflank-mailman (input) for mailman id 910002;
 Wed, 12 Mar 2025 07:06: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=IlF8=V7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsGAB-0002Ug-Sh
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 07:06:00 +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 72cf2df8-ff10-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 08:05:58 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso8675935e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 00:05:58 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a74c59esm11818595e9.14.2025.03.12.00.05.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 00:05: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: 72cf2df8-ff10-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741763158; x=1742367958; 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=WKu4ZEn+9+yDU4g2fGRozFQ0eK9xTZQ/9+4GI+XaFOE=;
        b=PR+3HU5eqneBkX0xjCwDd9DFVJ84GU4czCVCssh2+Svn48l3WLJ1S30xVxVj+dL1TS
         RSCk6inWASrTluxZ/cxVs/k8DLVfXh8j4hauthwm3LCLJ6ydY32kZQxFyISXax6CZx8a
         4vaz65CL8CG/WQxmRNIa8Dh8/Ep1yu79MdNbG84i7O8oCQtRCJJNVGXRle1yo0ktBMOq
         ah9W9IJVJCCPZQ9RTDh8GFT7xDrDbGYXz+hj4kKiEs987vK7x2daMIreM9VfS/qOwel1
         l43W8ea0SdxK+JLv4Pi+Z0PYff/toAWzsMIk5iF1VxvIA7Of5oJSknbmBQ1NMR5ZKgJj
         IjrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741763158; x=1742367958;
        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=WKu4ZEn+9+yDU4g2fGRozFQ0eK9xTZQ/9+4GI+XaFOE=;
        b=TZpKrgFT1TxwAcL6WTYMW3E+b3sgCu2kDGsBokwhsEua9NrXqv98W5XNNwFhudstyw
         TR0DCSVa9LEDq5RTMlSKCPjlxDPpRsShrmIq5q6QdFXNvFv3cuMcigRRLRIQUuDAs+nn
         NhsI+/Pf+Zcoe2wHXYmz6nS6U6CYNJYnFrKrjUbYDmRWJ4tF+dYN/ikkddQnrLaP3dyx
         UjnLGJvp7ydFYwpG+kZt1Bssk3mpTvEug16rnQ059aIVS8KzX474AKEvmdmKEsew7NeB
         VsKTfyYYUP7AuNiW8CrnBUH3kE7nn0DWQfcgNi6I8RCI6BH3GYNcycjgMtY06KY542lo
         fw8g==
X-Forwarded-Encrypted: i=1; AJvYcCVsu9HldmA3AbKfWvKrViKPrHfMQWXAiFNb4Fk8rFAEH8VEd/EtqQkf+JRxbpQeI91p2JdWQnepCqs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywatsw48YAGa8TF0NttDd254FAPtS/H+lBYaUpBxGWwone9LmjB
	jbmXTxqO9JsT8APpMNS3rL++BXXh+swB9lm8MFqX5JgkzOtQh8MGP2eLV42qh3I=
X-Gm-Gg: ASbGncvF+uREZDfv/nRKISw0R8L2iVwCXj6PClW2UzxUlJ6khV31MLSwOzYyPKSI6ip
	uLP0Wedyx04HVekTj9gZj5bv3UjVNg6nPZxgBzi1hOem9zF4+wpowlGAvOsRW/dKX719tbre0I3
	4IjYZ7t8HgfG4PKwL9kvq73Akmr3Tw8M2rtlcvK0bueWpR/rPUu2hdMkO05ED6mEva+6M6LUVBz
	HHMXC1jM6EZ+PTmJCS55kHqTRFmTOAxOxcvz5J8ictLvVrnKOCqaYeogDcy22peTTs0nrY7af1A
	GemyO05AUA5Mm9bBzGPgeodpy7JYGoFaecEHmOhfmpwVyG22dLGGn7DWORophpYe8JmO/9fB0sf
	2n4QvqosPt0dNPibcUKjWUCISCA52Ig0Yd91g0V+tiwvknMFK5T1fMo8FiJQIS+EV7J/wq2S2bA
	tvnA==
X-Google-Smtp-Source: AGHT+IGd43et33//djrJ1FVo21jXOrYI+pzUiQ1pe9+2Y9uhd5oKd1qlbWopwxCcMSe4AuC4iRBkLA==
X-Received: by 2002:a05:600c:3b10:b0:43d:47e:3205 with SMTP id 5b1f17b1804b1-43d047e37d8mr62285265e9.11.1741763157716;
        Wed, 12 Mar 2025 00:05:57 -0700 (PDT)
Message-ID: <d469e915-1c0b-4f9c-bff1-dcd455aad7b9@suse.com>
Date: Wed, 12 Mar 2025 08:05:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 1/9] xen/events: don't allow binding a global virq from
 any domain
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-2-jgross@suse.com>
 <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
 <e6352575-c2cb-4616-b305-1cd64480de1a@suse.com>
 <06966fe2-17f6-40b2-a0ac-56fad426c951@xen.org>
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: <06966fe2-17f6-40b2-a0ac-56fad426c951@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------yhjrLD7MqiWgrMYmGixXstHk"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------yhjrLD7MqiWgrMYmGixXstHk
Content-Type: multipart/mixed; boundary="------------B5agClRZuxX50eGBl6ghPcLX";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <d469e915-1c0b-4f9c-bff1-dcd455aad7b9@suse.com>
Subject: Re: [PATCH v8 1/9] xen/events: don't allow binding a global virq from
 any domain
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-2-jgross@suse.com>
 <24a909a8-c6a9-4c09-b819-24c10e0762c3@xen.org>
 <e6352575-c2cb-4616-b305-1cd64480de1a@suse.com>
 <06966fe2-17f6-40b2-a0ac-56fad426c951@xen.org>
In-Reply-To: <06966fe2-17f6-40b2-a0ac-56fad426c951@xen.org>
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=

--------------B5agClRZuxX50eGBl6ghPcLX
Content-Type: multipart/mixed; boundary="------------l0inRJ4cdcNFDjehee3WcmCG"

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

T24gMTEuMDMuMjUgMjA6MDQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDExLzAzLzIwMjUgMDk6NTEsIErDvHJnZW4gR3Jvw58gd3JvdGU6DQo+PiBP
biAxMS4wMy4yNSAxMDozNSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEp1ZXJnZW4s
DQo+Pj4NCj4+PiBPbiAwNC8wMi8yMDI1IDExOjMzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4+PiBUb2RheSBYZW4gd2lsbCBoYXBwaWx5IGFsbG93IGJpbmRpbmcgYSBnbG9iYWwgdmly
cSBieSBhIGRvbWFpbiB3aGljaA0KPj4+PiBpc24ndCBjb25maWd1cmVkIHRvIHJlY2VpdmUg
aXQuIFRoaXMgd29uJ3QgcmVzdWx0IGluIGFueSBiYWQgYWN0aW9ucywNCj4+Pj4gYnV0IHRo
ZSBiaW5kIHdpbGwgYXBwZWFyIHRvIGhhdmUgc3VjY2VlZGVkIHdpdGggbm8gZXZlbnQgZXZl
ciBiZWluZw0KPj4+PiByZWNlaXZlZCBieSB0aGF0IGV2ZW50IGNoYW5uZWwuDQo+Pj4+DQo+
Pj4+IEluc3RlYWQgb2YgYWxsb3dpbmcgdGhlIGJpbmQsIGVycm9yIG91dCBpZiB0aGUgZG9t
YWluIGlzbid0IHNldCB0bw0KPj4+PiBoYW5kbGUgdGhhdCB2aXJxLiBOb3RlIHRoYXQgdGhp
cyBjaGVjayBpcyBpbnNpZGUgdGhlIHdyaXRlX2xvY2soKSBvbg0KPj4+PiBwdXJwb3NlLCBh
cyBhIGZ1dHVyZSBwYXRjaCB3aWxsIHB1dCBhIHJlbGF0ZWQgY2hlY2sgaW50bw0KPj4+PiBz
ZXRfZ2xvYmFsX3ZpcnFfaGFuZGxlcigpIHdpdGggdGhlIGFkZGl0aW9uIG9mIHVzaW5nIHRo
ZSBzYW1lIGxvY2suDQo+Pj4gwqA+ID4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8
amdyb3NzQHN1c2UuY29tPg0KPj4+DQo+Pj4gSSBzZWUgdGhpcyBwYXRjaCB3YXMgYWxyZWFk
eSBjb21taXR0ZWQuIEJ1dCBJIGhhdmUgYSBxdWVzdGlvbiBhYm91dCB0aGUgbG9naWMuDQo+
Pj4NCj4+Pj4gLS0tDQo+Pj4+IFY2Og0KPj4+PiAtIG5ldyBwYXRjaA0KPj4+PiBWNzoNCj4+
Pj4gLSBtb3ZlIGhhbmRsaW5nIGRvbWFpbiBjaGVjayBpbnNpZGUgbG9ja2VkIHJlZ2lvbiAo
SmFuIEJldWxpY2gpDQo+Pj4+IC0gc3R5bGUgZml4IChKYW4gQmV1bGljaCkNCj4+Pj4gLS0t
DQo+Pj4+IMKgIHhlbi9jb21tb24vZXZlbnRfY2hhbm5lbC5jIHwgMjEgKysrKysrKysrKysr
KysrKystLS0tDQo+Pj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA0
IGRlbGV0aW9ucygtKQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ldmVu
dF9jaGFubmVsLmMgYi94ZW4vY29tbW9uL2V2ZW50X2NoYW5uZWwuYw0KPj4+PiBpbmRleCA0
NjI4MWIxNmNlLi5jZDZmNWExMjExIDEwMDY0NA0KPj4+PiAtLS0gYS94ZW4vY29tbW9uL2V2
ZW50X2NoYW5uZWwuYw0KPj4+PiArKysgYi94ZW4vY29tbW9uL2V2ZW50X2NoYW5uZWwuYw0K
Pj4+PiBAQCAtMTIwLDYgKzEyMCwxMyBAQCBzdGF0aWMgdWludDhfdCANCj4+Pj4gZ2V0X3hl
bl9jb25zdW1lcih4ZW5fZXZlbnRfY2hhbm5lbF9ub3RpZmljYXRpb25fdCBmbikNCj4+Pj4g
wqAgLyogR2V0IHRoZSBub3RpZmljYXRpb24gZnVuY3Rpb24gZm9yIGEgZ2l2ZW4gWGVuLWJv
dW5kIGV2ZW50IGNoYW5uZWwuICovDQo+Pj4+IMKgICNkZWZpbmUgeGVuX25vdGlmaWNhdGlv
bl9mbihlKSAoeGVuX2NvbnN1bWVyc1soZSktPnhlbl9jb25zdW1lci0xXSkNCj4+Pj4gK3N0
YXRpYyBzdHJ1Y3QgZG9tYWluICpfX3JlYWRfbW9zdGx5IGdsb2JhbF92aXJxX2hhbmRsZXJz
W05SX1ZJUlFTXTsNCj4+Pj4gKw0KPj4+PiArc3RhdGljIHN0cnVjdCBkb21haW4gKmdldF9n
bG9iYWxfdmlycV9oYW5kbGVyKHVuc2lnbmVkIGludCB2aXJxKQ0KPj4+PiArew0KPj4+PiAr
wqDCoMKgIHJldHVybiBnbG9iYWxfdmlycV9oYW5kbGVyc1t2aXJxXSA/OiBoYXJkd2FyZV9k
b21haW47DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gwqAgc3RhdGljIGJvb2wgdmlycV9pc19n
bG9iYWwodW5zaWduZWQgaW50IHZpcnEpDQo+Pj4+IMKgIHsNCj4+Pj4gwqDCoMKgwqDCoCBz
d2l0Y2ggKCB2aXJxICkNCj4+Pj4gQEAgLTQ2OSw2ICs0NzYsNyBAQCBpbnQgZXZ0Y2huX2Jp
bmRfdmlycShldnRjaG5fYmluZF92aXJxX3QgKmJpbmQsIA0KPj4+PiBldnRjaG5fcG9ydF90
IHBvcnQpDQo+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRv
bWFpbjsNCj4+Pj4gwqDCoMKgwqDCoCBpbnTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZpcnEg
PSBiaW5kLT52aXJxLCB2Y3B1ID0gYmluZC0+dmNwdTsNCj4+Pj4gwqDCoMKgwqDCoCBpbnTC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJjID0gMDsNCj4+Pj4gK8KgwqDCoCBib29swqDCoMKg
wqDCoMKgwqDCoMKgwqAgaXNfZ2xvYmFsOw0KPj4+PiDCoMKgwqDCoMKgIGlmICggKHZpcnEg
PCAwKSB8fCAodmlycSA+PSBBUlJBWV9TSVpFKHYtPnZpcnFfdG9fZXZ0Y2huKSkgKQ0KPj4+
PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7DQo+Pj4+IEBAIC00NzgsOCAr
NDg2LDkgQEAgaW50IGV2dGNobl9iaW5kX3ZpcnEoZXZ0Y2huX2JpbmRfdmlycV90ICpiaW5k
LCANCj4+Pj4gZXZ0Y2huX3BvcnRfdCBwb3J0KQ0KPj4+PiDCoMKgwqDCoMKgICogc3BlY3Vs
YXRpdmUgZXhlY3V0aW9uLg0KPj4+PiDCoMKgwqDCoMKgICovDQo+Pj4+IMKgwqDCoMKgwqAg
dmlycSA9IGFycmF5X2luZGV4X25vc3BlYyh2aXJxLCBBUlJBWV9TSVpFKHYtPnZpcnFfdG9f
ZXZ0Y2huKSk7DQo+Pj4+ICvCoMKgwqAgaXNfZ2xvYmFsID0gdmlycV9pc19nbG9iYWwodmly
cSk7DQo+Pj4+IC3CoMKgwqAgaWYgKCB2aXJxX2lzX2dsb2JhbCh2aXJxKSAmJiAodmNwdSAh
PSAwKSApDQo+Pj4+ICvCoMKgwqAgaWYgKCBpc19nbG9iYWwgJiYgdmNwdSAhPSAwICkNCj4+
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOw0KPj4+PiDCoMKgwqDCoMKg
IGlmICggKHYgPSBkb21haW5fdmNwdShkLCB2Y3B1KSkgPT0gTlVMTCApDQo+Pj4+IEBAIC00
ODcsNiArNDk2LDEyIEBAIGludCBldnRjaG5fYmluZF92aXJxKGV2dGNobl9iaW5kX3ZpcnFf
dCAqYmluZCwgDQo+Pj4+IGV2dGNobl9wb3J0X3QgcG9ydCkNCj4+Pj4gwqDCoMKgwqDCoCB3
cml0ZV9sb2NrKCZkLT5ldmVudF9sb2NrKTsNCj4+Pj4gK8KgwqDCoCBpZiAoIGlzX2dsb2Jh
bCAmJiBnZXRfZ2xvYmFsX3ZpcnFfaGFuZGxlcih2aXJxKSAhPSBkICkNCj4+Pg0KPj4+IFdo
YXQgcHJldmVudCBhIHJhY2UgYmV0d2VlbiBnZXRfZ2xvYmFsX3ZpcnFfaGFuZGxlcigpIGFu
ZCANCj4+PiBzZXRfZ2xvYmFsX3ZpcnFfaGFuZGxlcigpPyBBbHNvLCBpdCBpcyBub3QgY2xl
YXIgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIA0KPj4+IGdldF9nbG9iYWxfdmlycV9oYW5k
bGVyKCkgdGhhdCBpdCB3aWxsIGV2ZXIgb25seSByZWFkIA0KPj4+IGdsb2JhbF92aXJxX2hh
bmRsZXJzW3ZpcnFdIG9uY2UuDQo+Pg0KPj4gc2V0X2dsb2JhbF92aXJxX2hhbmRsZXIoKSBp
cyB0YWtpbmcgdGhlIGV2ZW50X2xvY2sgb2YgdGhlIGRvbWFpbg0KPj4gcmVnaXN0ZXJlZCBh
cyBoYW5kbGVyLg0KPj4NCj4+IFNvIGlmIGEgZG9tYWluIGlzIHJlZ2lzdGVyZWQgZm9yIGhh
bmRsaW5nIGEgdmlycSwgZC0+ZXZlbnRfbG9jayBpcw0KPj4gcHJvdGVjdGluZyBhZ2FpbnN0
IHRoZSBoYW5kbGluZyBkb21haW4gdG8gYmUgY2hhbmdlZC4gQ29uY3VycmVudA0KPj4gY2Fs
bHMgb2Ygc2V0X2dsb2JhbF92aXJxX2hhbmRsZXIoKSBhcmUgaGFuZGxlZCB2aWEgdGFraW5n
IHRoZQ0KPj4gZ2xvYmFsX3ZpcnFfaGFuZGxlcnNfbG9jayBzcGluX2xvY2suDQo+IA0KPiBJ
IGFncmVlIHRoaXMgd291bGQgd29yayBmb3IgZXZ0Y2huX2JpbmRfdmlycSgpIGJlY2F1c2Ug
d2Ugb25seSBldmVyIGNvbXBhcmUuIEJ1dCANCj4gSSBzdGlsbCB3b25kZXIgd2hldGhlciBn
ZXRfZ2xvYmFsX3ZpcnFfaGFuZGxlcigpIHNob3VsZCBnYWluIGFuIEFDQ0VTU19PTkNFKCk/
IA0KPiBDb3VsZCB0aGUgY29tcGlsZXIgZGVjaWRlIHRvIHJlYWQgZ2xvYmFsX3ZpcnFfaGFu
ZGxlcnNbLi4uXSB0d2ljZSBhbmQgdGhlcmVmb3JlIA0KPiByZXR1cm4gTlVMTD8NCg0KSSBk
b24ndCB0aGluayB0aGVyZSBpcyBjdXJyZW50bHkgYW55IHVzZSBjYXNlIG9mIGdldF9nbG9i
YWxfdmlycV9oYW5kbGVyKCkNCndoZXJlIHRoaXMgd291bGQgYmUgYSBwcm9ibGVtLiBnZXRf
Z2xvYmFsX3ZpcnFfaGFuZGxlcigpIGlzIGFsbG93ZWQgdG8NCnJldHVybiBOVUxMIGluIGNh
c2Ugb2YgZS5nLiBhIGRvbTBsZXNzIHN5c3RlbSB3aGVyZSBoYXJkd2FyZV9kb21haW4gaXMg
TlVMTC4NCg0KDQpKdWVyZ2VuDQo=
--------------l0inRJ4cdcNFDjehee3WcmCG
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-----

--------------l0inRJ4cdcNFDjehee3WcmCG--

--------------B5agClRZuxX50eGBl6ghPcLX--

--------------yhjrLD7MqiWgrMYmGixXstHk
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/Ey8FAmfRMlQFAwAAAAAACgkQsN6d1ii/Ey+e
TAf/YZzZM6SsGbG0hj0UrbOxidvakQP8+zpXF78IUKoJ+6YLUnAEGLTj+f4S9ziR+Ty7fZM/anpY
RQtplpn0/FnUNZmoN5PMy9cK9BypW42rb42+OT6lF8DFIjYtXjWakiOBFttK7m9doik917Pzp81W
+NhuMZl++9G7LEwfe+2M4xpohxZENPCXy5w+S2cBs5Iijy3GO91pdsNrp6d+Gp7EkLMLo0yjEoQk
pfBN9QvK5WUbYR39VZzfycSfii5zACUwC/hRsqCb04eNVTz5n7l3hCU7qBRodcuoUVNwuOucgnC0
xNTRymtuvnMrBe1yemqdvV7AUnmp+G8XSUInYjl80A==
=tQMH
-----END PGP SIGNATURE-----

--------------yhjrLD7MqiWgrMYmGixXstHk--


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 08:21:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 08:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910035.1316820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsHKz-0005Ha-42; Wed, 12 Mar 2025 08:21:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910035.1316820; Wed, 12 Mar 2025 08:21: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 1tsHKz-0005HT-0i; Wed, 12 Mar 2025 08:21:13 +0000
Received: by outflank-mailman (input) for mailman id 910035;
 Wed, 12 Mar 2025 08:21: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsHKx-0005HN-EW
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 08:21:11 +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 f352a89b-ff1a-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 09:21:09 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso3592315e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 01:21: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-43d0a731031sm13755495e9.7.2025.03.12.01.21.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 01:21: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: f352a89b-ff1a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741767668; x=1742372468; 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=4NJ9uLAM4FJMJWZEMsiQkdE4qRovreYd7G6RZmWThOY=;
        b=Rsdv0KljISoUsWTr4m10//hS4lagCWBqtS5b/iFpRtv5FfXOJ43fxqVQaoT3qonqVC
         MF6RcVQxIXg/OoNE4rZs9FCcUQWtSjOMYlpxwPQtXwoUToQhAJeV2kaqoh4vRgoTT86J
         +7ZtSgJegutOZBysmkPaUylqdvW4Gaw4Z5OnjN2LOMGgNuBIyVBX2ucrHOJpynCO5jEo
         ASND+HQwuaW0AJCbUDEmdh4CQWURyrJdHBlC1JkZ6i/Y0MTUlNaiOf5B3IRuxhESgCea
         QMo/HNwYMtK1lHFNE2yIwqtw0hL1WHFBMVsZsNA/YBZzsBf083OP2Bwx/QAOsDmmswQg
         VDoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741767668; x=1742372468;
        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=4NJ9uLAM4FJMJWZEMsiQkdE4qRovreYd7G6RZmWThOY=;
        b=hq2ygM33ouKOetM4V/nQuhrNJ+a8cu8yjnyLoMoJ82PK6CcHpaVPDchH5IbbUAmZAr
         /0iPFeZLy4Eh9VFWVabFESRdsI+OABkDtR2XvHrfU9ZloUl+Mk5kq2MQWURkrWadJpXP
         oEhNeDpM7htGYA2tKDWR6ECTHEl1B3utJkCsCzOPpO+oicKKcRv+G4AQz7Cu7SNWtQH2
         yiOOhw2XfwZoVq9/2YjNEUHB84yh3Z75cuAPfQ7/yspGNRW5VYlUXurts864cM1TV2/E
         ZB93n/X/CjEYp93KjuXJMdY0BPd+lKJXRGGw2zchDhFnt+GES6QAPnReuJ4h0P7L1EoR
         MPjQ==
X-Gm-Message-State: AOJu0Yx6TgkKoPkc9vPnYpA2kynX5C4VQ9+hkHvDDi//QEergT/BOlKe
	FgvfD/3mGqDdzPH9mRMkpfeIv+MREXn1UjXp2Y9hcLuBu6xJBxm+Mv+lkc3LVw==
X-Gm-Gg: ASbGncsKfDWRU7931nf+Tv+vAKFLV6vBjsx3uSlG7ZArVf3tW7jsiEa/HygLU1AQ4od
	JkXJZdPXK5Snqq+cDJgycx285l3BRzGxxmp92diKadhBXTDNkHAQUDvP9Cp1qei/BK0eX4IVA/P
	kg8H7FyhW97NP+ouo6B5zFWl3Iugq6lIOKAMZszBUMa68v/a27KjNvtwS+Px8XUYXLlHzyyfbK7
	LsJAnMkJzE1yfEXdlqPUYJ+3A1MFD9aiEQV56wlqCdB7hAdfuyYJiEIeWlZTgWBH5O4/zLAPSrJ
	18C/ZJkvJS3CsVU5EzVv7rXYzLuT8RzMmo8YBS1wSYFFG7jzCiGXasHvIJDo6yOzeZipvymrb6l
	AqZxUQSo/Z5w+lT74/1K0tuvOvYYPPA==
X-Google-Smtp-Source: AGHT+IEFeZC6yMMqn9k/VmEcCy5cqcGk7jsSETgRI48IxW7TL9kO+6hBAnWsG42tBfNxLkemQM9rlA==
X-Received: by 2002:a05:600c:1551:b0:439:5f04:4f8d with SMTP id 5b1f17b1804b1-43d01d39b5cmr59947555e9.12.1741767668369;
        Wed, 12 Mar 2025 01:21:08 -0700 (PDT)
Message-ID: <52918859-3922-4b2d-b432-162a9de2b554@suse.com>
Date: Wed, 12 Mar 2025 09:21:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/page_alloc: Simplify domain_adjust_tot_pages
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
 <Z9AwsrDBELe2UREz@macbook.local> <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>
 <Z9BZ-V8fWHOAwMJ7@macbook.local>
 <de418de2-b059-4f1e-92b0-42a236208b14@suse.com>
 <D8DNJHDNZNRD.1XOJK139C5PEI@cloud.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: <D8DNJHDNZNRD.1XOJK139C5PEI@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 19:35, Alejandro Vallejo wrote:
> On Tue Mar 11, 2025 at 3:45 PM GMT, Jan Beulich wrote:
>> On 11.03.2025 16:42, Roger Pau MonnĂŠ wrote:
>>> On Tue, Mar 11, 2025 at 02:53:04PM +0000, Alejandro Vallejo wrote:
>>>> On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau MonnĂŠ wrote:
>>>>> On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
>>>>>> The logic has too many levels of indirection and it's very hard to
>>>>>> understand it its current form. Split it between the corner case where
>>>>>> the adjustment is bigger than the current claim and the rest to avoid 5
>>>>>> auxiliary variables.
>>>>>>
>>>>>> Add a functional change to prevent negative adjustments from
>>>>>> re-increasing the claim. This has the nice side effect of avoiding
>>>>>> taking the heap lock here on every free.
>>>>>>
>>>>>> While at it, fix incorrect field name in nearby comment.
>>>>>>
>>>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>>>>>
>>>>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>>>
>>>> Thanks.
>>>>
>>>>> I think it would be nice to also ensure that once the domain is
>>>>> finished building (maybe when it's unpaused for the first
>>>>> time?) d->outstanding_pages is set to 0.  IMO the claim system was
>>>>> designed to avoid races during domain building, and shouldn't be used
>>>>> once the domain is already running.
>>>>>
>>>>> Thanks, Roger.
>>>>
>>>> As a matter of implementation that's already the case by toolstack being "nice"
>>>> and unconditionally clearing claims after populating the physmap.
>>>
>>> I see.  Another option would be to refuse the unpause a domain if it
>>> still has pending claims.  However I don't know how that will work out
>>> with all possible toolstacks.
>>>
>>>> However, I agree the hypervisor should do it on its own. I didn't find a
>>>> suitable place for it. 
>>>
>>> You could do it in arch_domain_creation_finished().
>>
>> Except that better wouldn't be arch-specific.
> 
> Why would it have to be arch-specific though? As far as the hypervisor is
> concerned, it doesn't seem to be.

Together with Roger's earlier clarification on his original remark, I fear
I don't understand the question: I asked that it not be arch-specific. And
Roger clarified that he also didn't mean it to be.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 08:31:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 08:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910049.1316829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsHV8-0006u1-5d; Wed, 12 Mar 2025 08:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910049.1316829; Wed, 12 Mar 2025 08:31: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 1tsHV8-0006tu-2o; Wed, 12 Mar 2025 08:31:42 +0000
Received: by outflank-mailman (input) for mailman id 910049;
 Wed, 12 Mar 2025 08:31: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsHV7-0006to-1V
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 08:31:41 +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 6aa83d55-ff1c-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 09:31:38 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so23770645e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 01:31: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-43d0a8d1666sm13841975e9.40.2025.03.12.01.31.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 01:31: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: 6aa83d55-ff1c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741768298; x=1742373098; 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=PTnd/gKQCKWCasnzsOQs105SOTin9YnfxhFLcOkSEyA=;
        b=JAEs3Rv68o4+g5sl0Ms0X2UQVmBH9zsfxFf7X85zopkt/3aqC+XT5QgB5Vl8OIl30l
         /829+SSgU+d1H+c+lwOZvYhCqyVvIE482Xpp/CBD1aJijPqjM4OKc+gl7OIXvPagMi2Y
         slG5R+VmsJ5oMOGpj/ZGht4S90Dk4x0NHcLgxXWzUnE00RnRh8NtPGSzdHkjfPr93mcb
         803J4hNq+fTwHzWa5vguBEym5iCOfsYfmajK+kRjCdlCvY6WWL/UtuFm/TYOkvTrY330
         RujRC8ELHwPaQiD6VtPsN6HC0V5vG+1pmkSTy4uFmvzm6cWC33fbBgtZTdc/fkTasW/R
         MgZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741768298; x=1742373098;
        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=PTnd/gKQCKWCasnzsOQs105SOTin9YnfxhFLcOkSEyA=;
        b=T/UAKqYNE4+s0y+8Wl9So1vevGzp0lh3MJ1R4ms7KaIJpymO9gU/NT0cC/OKl/rDr5
         enzIzzJpC0y/Zn3mVPDXX9Wuheshddf7/GQGrXGmYRb4Ou1qGAOBlckiKL4gqrpMXP8K
         OSZYYmw6/hvXi4MMW7uhd0DSjn8Jt2DmPx6GlGC4KF4GVgtXPgYJrMtcJXWmMvz9kMrR
         YSqwk3O1x0QYBqaP97O+cp3k4ysncX5Ei0GOMhafTP/TPLPQpFo6es4GAIxCTp4L+0i9
         rCRno1YrSeWtWmMB83ePSXsQ1s9wqDCRZZOrZpBmxHG1Q/6FnStzMYcCGEWJ6EIb/rZX
         sDSg==
X-Forwarded-Encrypted: i=1; AJvYcCU8ueHF7HkcoxiDTRBe9KWvFWu47D26ZF/Ir4WXg1aH09KfObUjTx4IhskCZj7oG/tVRELzqxIRxBw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywd696moTHbQzw6VDdI8/tsmLxH3knNAoZISd+llcZMzGAgk6mS
	jxkXxu5JtnAwmdM/odneuY5f3Lmork27XlaoeRXzn3jNtyQJ/XWvdiUyTtMU4w==
X-Gm-Gg: ASbGncvksbI/O4Gf9Ol4r3YfB377QSu1enI0dE9AKcJpaykmoO7YNZvyXH23/xnDX29
	4+MijEl6T5a6Pj9ISSbwlUMUWZoKz8+YCcDNA175VJFmrVsYY02El5FJqdyG6c098IN/1MZOsCg
	dRojczjMxvkcaDyzLrw/mJNPfTNhpGvArf0hAAmMjtQ2m6lM1CpQNq9w+nYDucLS8dtUk/bY18+
	ehMwUa+5sW5JGrO4kvrs7IFUTPQ77o6VekEa8xuo/6T0YQ2cGY/OW+rZCRJABnsKIqlG7u5Df7x
	FsdZVtRmVMLxilk60UYDCNOKe0RqFfbmEsAxogFtFqfB/Lz/+v4fa6DSEmKXR1T//JPu2UVZlib
	Z4AgXDzrt+isU/r4Ey+FZGAaZ1G5aIQ==
X-Google-Smtp-Source: AGHT+IHrHh/TaluzVfs1MS/hF3+autYRKYmqDqYwuSNPPRhScIN5XdBu9TC0tii0nr3RIzDiuGf0CQ==
X-Received: by 2002:a05:600c:b95:b0:43c:ec97:75db with SMTP id 5b1f17b1804b1-43cec97779fmr149475225e9.11.1741768298077;
        Wed, 12 Mar 2025 01:31:38 -0700 (PDT)
Message-ID: <0565db90-5734-4795-8988-efd3e72cc770@suse.com>
Date: Wed, 12 Mar 2025 09:31:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Fix zap_low_mappings() to map less of the
 trampoline
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: <20250106112652.579310-1-andrew.cooper3@citrix.com>
 <2f12f38e-9629-40fd-b532-6b6f82ecfe1f@suse.com>
 <4bff530c-9f96-4b59-b6cb-86349c576690@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: <4bff530c-9f96-4b59-b6cb-86349c576690@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 21:47, Andrew Cooper wrote:
> On 06/01/2025 11:54 am, Jan Beulich wrote:
>> On 06.01.2025 12:26, Andrew Cooper wrote:
>>> Regular data access into the trampoline is via the directmap.
>>>
>>> As now discussed quite extensively in asm/trampoline.h, the trampoline is
>>> arranged so that only the AP and S3 paths need an identity mapping, and that
>>> they fit within a single page.
>>>
>>> Right now, PFN_UP(trampoline_end - trampoline_start) is 2, causing more than
>>> expected of the trampoline to be mapped.  Cut it down just the single page it
>>> ought to be.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks.Â  However,
> 
>> on the basis that this improves things. However, ...
>>
>>> --- a/xen/arch/x86/x86_64/mm.c
>>> +++ b/xen/arch/x86/x86_64/mm.c
>>> @@ -718,14 +718,16 @@ void __init zap_low_mappings(void)
>>>  {
>>>      BUG_ON(num_online_cpus() != 1);
>>>  
>>> -    /* Remove aliased mapping of first 1:1 PML4 entry. */
>>> +    /* Stop using l?_bootmap[] mappings. */
>>>      l4e_write(&idle_pg_table[0], l4e_empty());
>>>      flush_local(FLUSH_TLB_GLOBAL);
>>>  
>>> -    /* Replace with mapping of the boot trampoline only. */
>>> +    /*
>>> +     * Insert an identity mapping of the AP/S3 part of the trampoline, which
>>> +     * is arranged to fit in a single page.
>>> +     */
>>>      map_pages_to_xen(trampoline_phys, maddr_to_mfn(trampoline_phys),
>>> -                     PFN_UP(trampoline_end - trampoline_start),
>>> -                     __PAGE_HYPERVISOR_RX);
>>> +                     1, __PAGE_HYPERVISOR_RX);
>> ... literal numbers like this - however well they are commented - are
>> potentially problematic to locate in case something changes significantly.
>> The 1 here really would want connecting with the .equ establishing
>> wakeup_stack.
> 
> how do you propose doing this?
> 
> PFN_UP(wakeup_stack - trampoline_start) doesn't have the same obvious
> connection, and it would involve partly undoing 7d73c6f196a5 which hid
> the symbol recently.
> 
> While 1 isn't ideal, it is next to a comment explaining what's going on,
> and it's not going to go stale in a silent way...Â  (It's also not liable
> to go stale either.)

If in

        .equ    wakeup_stack, trampoline_start + PAGE_SIZE

PAGE_SIZE was replaced by a new (in asm/trampoline.h) TRAMPOLINE_PERM_SIZE,
you could use PFN_UP(TRAMPOLINE_PERM_SIZE) here to establish a connection.

I have to admit I also don't really see why things going stale here would
(a) be unlikely and (b) be guaranteed to not go silently. We just don't
know what we may need to add to the trampoline, sooner or later.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 08:34:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 08:34:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910062.1316839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsHYD-0007TU-Ie; Wed, 12 Mar 2025 08:34:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910062.1316839; Wed, 12 Mar 2025 08: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 1tsHYD-0007TN-G3; Wed, 12 Mar 2025 08:34:53 +0000
Received: by outflank-mailman (input) for mailman id 910062;
 Wed, 12 Mar 2025 08:34: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsHYC-0007TH-14
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 08:34: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 dccb2bfd-ff1c-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 09:34:50 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso38286015e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 01:34: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-43d0a74c848sm13866695e9.9.2025.03.12.01.34.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 01:34: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: dccb2bfd-ff1c-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741768489; x=1742373289; 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=cfud79DCYLt7xSFt1frzceEEUeBnioKtW6RhEpqlqBc=;
        b=aTK4AnQvLV55DFCyk4KE1D0Xr9Vx/blCzly336yX0uau+NUB3nzOSmltDSAm+peHK4
         5n1ysaACwgqNCrykkLDtSxOhAg0HC55T1rg2oNADQRAIErsbd5FVBVFwl4x94SzvnH3A
         ZVtgHWuhXBbHkbyv6WSlBdzBPIOC3EZjWeiVjNXsYH+IRkm/ybVVRsAC9pW7OfN3EJZW
         hsN0JJiLOKjvP8e8nqbNBic9myjJes60qSBV3R6oJwayft/CDtYI4dWyp5GC6HpfImFz
         RvNDATXqYAY2MMUwpru73/rN4EuaJv7l9meMIHSdU5ob2IaFoF0cf2fbsVmmDaiecrlY
         3B9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741768489; x=1742373289;
        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=cfud79DCYLt7xSFt1frzceEEUeBnioKtW6RhEpqlqBc=;
        b=oO4p41H6PptPI++36IrXYRU2vrF5SJGfD/xSHlgFnDIOt8oMXAsy9395QCKbWZQfjS
         JK0drWXYKE5x6aSD9ar4vfgi671eqiKTruT0Rg0/HwAwsBNrcHGX0FwGZOQTrRcVgse/
         yDfYv2M2w2iOq4WmJNmo7ccsVQc1aN2BW4fosAypCKrXzTSf122sBAncLhAtjgT+laSr
         vRQ49mdeyJCV8jlW2VVcDaPSEgR7KtyBeKsxvcnOAECoGbN2QF4fnwI4BQGI7+C2WVI+
         iyysOBdNB+3xyZQJv33RibvpQtGMgN0bZmdVDlkmi/h+q4nElta7YsOEs7187AZe9lxe
         Cb3g==
X-Forwarded-Encrypted: i=1; AJvYcCVooIoYWStDZpttyzuMWTG78GCOQqqSYOyDzhmLkKWWfy8Y6oyDxulejhaaS9OMxtgiwFI1/MCI8xk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykCmFFkgIt284WLUmxEOWa6hynwJ7z6H28/erptmMonMRZGXou
	xpEDmWmQe17GbfZMGtBqetks5KkiqBD5HXztOkfAhNLDrVyVlsHq5mjAqCTnuA==
X-Gm-Gg: ASbGncu+RCGKDauqk92UCzYb7+gtsnDjbo2CBvSfL52IvB2SVWMDVjWuiZLR/qEWKDG
	m6L3kcKWxx5NNrySZCG4IRTq14eVwvw++zAnDJZgixMhb2SqOawyIn9o/6W3yBq6wD9UsZA+zuB
	Q+Lx5hxqySpV3CiKZ2WW+lVdp+v0U4J2KKyuevOHp11C8x0vmuJtIHd59ZkGOlTjrDIk8IoV2Wl
	J75FgjxOQkB5ZLQsV9BMPm6b6sGmbcQU5npUml/MoNKUTrADesw3heAQsjCK0We0b+wHL7Juziz
	8/b5fLORoIqMP6mvpu+rNGiXbqhUyBZbKCw77ObCxkfSIS3u3TOBw/YRdnR+0el7HlNMaS/E6AO
	iANlVyiRo12nKP32EaviLUJu/fioxmA==
X-Google-Smtp-Source: AGHT+IEmeDVqa6LO75yMezs6cRlHJRYz4nKwdHRef4WmKWHvuBj8M4/F5U7j+VgHuOE350MnRhXP4g==
X-Received: by 2002:a05:600c:4f8b:b0:43d:649:4e50 with SMTP id 5b1f17b1804b1-43d064952fbmr43400755e9.13.1741768489623;
        Wed, 12 Mar 2025 01:34:49 -0700 (PDT)
Message-ID: <d05bd416-0643-4d7c-bb7b-39b5b82de0cc@suse.com>
Date: Wed, 12 Mar 2025 09:34:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
To: "Penny, Zheng" <penny.zheng@amd.com>
Cc: "Huang, Ray" <Ray.Huang@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@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>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-2-Penny.Zheng@amd.com>
 <DM4PR12MB845105949CCBCD7780A718FFE1D02@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: <DM4PR12MB845105949CCBCD7780A718FFE1D02@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.03.2025 05:10, Penny, Zheng wrote:
> [Public]
> 
> Hi,
> 
>> -----Original Message-----
>> From: Penny, Zheng <penny.zheng@amd.com>
>> Sent: Wednesday, March 12, 2025 12:06 PM
>> To: xen-devel@lists.xenproject.org
>> Cc: Huang, Ray <Ray.Huang@amd.com>; Stabellini, Stefano
>> <stefano.stabellini@amd.com>; Andrew Cooper <andrew.cooper3@citrix.com>;
>> Anthony PERARD <anthony.perard@vates.tech>; Orzel, Michal
>> <Michal.Orzel@amd.com>; Jan Beulich <jbeulich@suse.com>; Julien Grall
>> <julien@xen.org>; Roger Pau MonnĂŠ <roger.pau@citrix.com>; Stefano Stabellini
>> <sstabellini@kernel.org>; Sergiy Kibrik <Sergiy_Kibrik@epam.com>; Penny, Zheng
>> <penny.zheng@amd.com>
>> Subject: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
>>
>> From: Stefano Stabellini <stefano.stabellini@amd.com>
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
>> ---
>>  xen/common/Kconfig | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/xen/common/Kconfig b/xen/common/Kconfig index
>> 6166327f4d..72e1d7ea97 100644
>> --- a/xen/common/Kconfig
>> +++ b/xen/common/Kconfig
>> @@ -519,6 +519,15 @@ config TRACEBUFFER
>>         to be collected at run time for debugging or performance analysis.
>>         Memory and execution overhead when not active is minimal.
>>
>> +menu "Supported hypercall interfaces"
>> +     visible if EXPERT
>> +
>> +config SYSCTL
>> +     bool "Enable sysctl hypercall"
>> +     depends on !PV_SHIM_EXCLUSIVE
> 
> I'm aware of the commit of "x86: provide an inverted Kconfig control for shim-exclusive mode"[1]
> And I'll rebase whenever it gets merged.

Except that meanwhile it was agreed upon that it won't be merged. Instead
iirc the plan is for someone to go and remove all the "depends on
!PV_SHIM_EXCLUSIVE". Which means new ones better won't be added anymore.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 08:39:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 08:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910073.1316851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsHc7-00084x-3z; Wed, 12 Mar 2025 08:38:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910073.1316851; Wed, 12 Mar 2025 08:38: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 1tsHc6-00084q-VM; Wed, 12 Mar 2025 08:38:54 +0000
Received: by outflank-mailman (input) for mailman id 910073;
 Wed, 12 Mar 2025 08:38: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsHc5-00084i-WE
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 08:38:54 +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 6d822d9b-ff1d-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 09:38:52 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so37894325e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 01:38: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-3912bfdfb16sm20188489f8f.29.2025.03.12.01.38.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 01:38: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: 6d822d9b-ff1d-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741768732; x=1742373532; 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=TWd0JSWCnolBxwmmxmTHV+s7JlpXcHYXYHCagTxBwmY=;
        b=aNDeZnXxfSK4xNnV6wUGZRk9tl1gBvgdNaJjlBFIRhT0goAPBpatuuIYOX1y086IU1
         76Uip6NY25zFbUP3zXxNnRxrkRJriD+nP9Yi/NOdekmpZDX8XGTuhhl0o/2IVoXAaMwL
         jKzmRJpjULKZlsxGR1Nwqoqj5DCqmw524PMTvqGE1xESmVU51hpLSLWzoNqHy+4aV74o
         Emgf3cqY07reqhABjSwDJN2pK0WBz1Qrj7QNuufJbtdI6IULNZCMlSKW/cjwVAvpAQPq
         8OrP5sjCHcvcCHFrD51lIoyRdc2Vh0xWRM62rND0aKpezUPCa2tiLxX0vnQc8Y3sqs2j
         u+mQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741768732; x=1742373532;
        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=TWd0JSWCnolBxwmmxmTHV+s7JlpXcHYXYHCagTxBwmY=;
        b=KNxw7kzH4miGq15I2fyqCLdz/xvO4limwCPqp/vMV4TRyv7eAgvLe0fqmEeczVbKSC
         xhH+e6q0d1NdVfbptjH6bUbWMgW8aRcMGd8g/RW45bhD62HuGoaWL/cguIAEAVkjgzly
         Yj8hebQk23azhUzw3BvYNl0IQszTVn4fq2d1i/LDS9f8qvH9ODPzyfG0apd56Yp8MKZG
         nTfnJcwhLXEERGf+RiLO8vW1IDVoIhDve4/E/5AOsb8+5EGcqLBQvVgOnVeF0MuFFg5V
         JP8b3DBrfGbgY6dVGu6aedi8gSOeDEoiyi+blvszkDbsr6V3h4vYmhHJ5sEkyQ2KZkiz
         NB+g==
X-Forwarded-Encrypted: i=1; AJvYcCWUukoJv9X3FULGGLcdVgOvfXYjfpocHSKtTo9sJKfhTC6HPxWo3tUrcLICYDDGznTCyR9jsk1Fsvc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQSeqVrKsAFIEuQ3+1pB+hWsqA6OyLBxxbGff56sAI5uwOFpb1
	jpH5xDvxht4mln6ctQT8tQ8oc8GB5FFwLCWNUqGG0BpiyHdvsEB+jvR+lvMRLg==
X-Gm-Gg: ASbGnctuNHcz5gApQ4OC8qGFLCmQjQRFyPr+QvwUJt3HXjgTE7R66iPL8NkXmqRe01G
	hZBnylDXXigR/QxkhEpWphVtX0I9+QOTuqYCK7KJE4K3SzECwQbqUi2CxZWq3OeGLe1pgfOEGEd
	2xGjRps329bYwabIIKyo7KzVpBGwUdB6T1BvjjmbKpp4ZmVAEBKzNANLTWSZoOuPYOvMUIX2aUC
	cgJXcsP+h3UJrJ44DJETaJ+KkIgfzN+qj8nIWcMbEvyFzOWvAVgX54pI4fu5C/Of/b+rgP2QUzD
	QDsqwyuPOmwZ15qPSLae+KR3L0Vj5EtUsJ1kJ9YmWw7Ig5Baekao6+748dilTZs9VgPa0SSyClM
	QQyZ7Y9jBPa1Km9/MIUB+iW+wtgXzUA==
X-Google-Smtp-Source: AGHT+IExedR9h7u1iNCrqxzsYgQau0D/v4C9+NUIgyME6jZy3FpuNOpK1XLznQCEmg3JSPp3rh3Aig==
X-Received: by 2002:a05:600c:1c17:b0:43d:79:ae1b with SMTP id 5b1f17b1804b1-43d0079b0c9mr98175505e9.14.1741768732259;
        Wed, 12 Mar 2025 01:38:52 -0700 (PDT)
Message-ID: <78d03f36-c848-4e88-9aac-c323a48f4148@suse.com>
Date: Wed, 12 Mar 2025 09:38:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 02/19] xen/xsm: wrap around xsm_sysctl with
 CONFIG_SYSCTL
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-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: <20250312040632.2853485-3-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -180,11 +180,18 @@ static XSM_INLINE int cf_check xsm_domctl(
>      }
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
>  {
>      XSM_ASSERT_ACTION(XSM_PRIV);
>      return xsm_default_action(action, current->domain, NULL);
>  }
> +#else
> +static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif

Please can you avoid introducing unnecessary redundancy, by putting the
#ifdef inside the function body here and ...

> @@ -259,10 +261,17 @@ static inline int xsm_domctl(xsm_default_t def, struct domain *d,
>      return alternative_call(xsm_ops.domctl, d, cmd, ssidref);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static inline int xsm_sysctl(xsm_default_t def, int cmd)
>  {
>      return alternative_call(xsm_ops.sysctl, cmd);
>  }
> +#else
> +static inline int xsm_sysctl(xsm_default_t def, int cmd)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif

... here? Provided these #ifdef-s are actually needed in the first place.
The earlier one I can't really see a need for. If there was a need, at
least the assertion likely also would want to stay outside of the #ifdef.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 08:41:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 08:41:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910083.1316859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsHf3-00016y-EL; Wed, 12 Mar 2025 08:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910083.1316859; Wed, 12 Mar 2025 08:41: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 1tsHf3-00016r-BI; Wed, 12 Mar 2025 08:41:57 +0000
Received: by outflank-mailman (input) for mailman id 910083;
 Wed, 12 Mar 2025 08:41: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=IlF8=V7=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsHf2-00016l-0z
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 08:41:56 +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 d6c899f8-ff1d-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 09:41:49 +0100 (CET)
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 4BF1D1F394;
 Wed, 12 Mar 2025 08:41: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 037B3132CB;
 Wed, 12 Mar 2025 08:41:47 +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 VQUKO8tI0WfCAgAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 12 Mar 2025 08:41: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: d6c899f8-ff1d-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741768908; h=from:from:reply-to: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=wHv81Lj5QCqxN7gR9fokIxxEn01P0DZu8jlW2+mGzQs=;
	b=Iz6QtDgclSojqIclG3dnH3Gp6wsO8BAtPfnx1TV7Z2r4kBWBictDEQI516ef6ikevty3ru
	NEko9caIyuJwfa2Q2+eMW8JyOpx0YWO+kd3dizGfCP7yrpKjEO+6cbl54EzS9hjhEZt78v
	dXW6/H68P1xVbuxRuX7UVsHTOqXcRHI=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=Iz6QtDgc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741768908; h=from:from:reply-to: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=wHv81Lj5QCqxN7gR9fokIxxEn01P0DZu8jlW2+mGzQs=;
	b=Iz6QtDgclSojqIclG3dnH3Gp6wsO8BAtPfnx1TV7Z2r4kBWBictDEQI516ef6ikevty3ru
	NEko9caIyuJwfa2Q2+eMW8JyOpx0YWO+kd3dizGfCP7yrpKjEO+6cbl54EzS9hjhEZt78v
	dXW6/H68P1xVbuxRuX7UVsHTOqXcRHI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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] docs: specify numerical values of Xenstore commands
Date: Wed, 12 Mar 2025 09:41:43 +0100
Message-ID: <20250312084143.14045-1-jgross@suse.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-Rspamd-Queue-Id: 4BF1D1F394
X-Spam-Level: 
X-Spamd-Result: default: False [-3.51 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	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)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	ARC_NA(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_DN_SOME(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[9];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.51
X-Spam-Flag: NO

In docs/misc/xenstore.txt all Xenstore commands are specified, but
the specifications lack the numerical values of the commands.

Add a table with all commands, their values, and a potential remark
(e.g. whether the command is optional).

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- replace "Ĺ" with plain "r" (Jan Beulich)
- replace hard tabs with blanks (Jan Beulich)
- allow GET_FEATURES and GET_QUOTA support without SET_* (Jan Beulich)
V3:
- specify error code returned for unsupported commands (Julien Grall)
- reword XS_DIRECTORY_PART related text (Julien Grall)
---
 docs/misc/xenstore.txt | 61 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 7e1f031520..72db73deef 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -86,6 +86,67 @@ parts of xenstore inaccessible to some clients.  In any case passing
 bulk data through xenstore is not recommended as the performance
 properties are poor.
 
+---------- Defined Xenstore message types ----------
+
+Below is a table with all defined Xenstore message types (type name
+and its associated numerical value).
+
+Some types are optional to be supported by a specific Xenstore
+implementation.  If an optional type is not supported by a Xenstore
+implementation, Xen tools will continue to work, maybe with slightly
+reduced functionality.  A mandatory type not being supported will
+result in severely reduced functionality, like inability to create
+domains.  In case a type is optional, this is stated in the table with
+the lost functionality in case Xenstore doesn't support that type.
+Any not supported type sent to Xenstore will result in an error response
+with the "ENOSYS" error.
+
+XS_CONTROL               0    optional
+    If not supported, xenstore-control command will not work.
+    XS_DEBUG is a deprecated alias of XS_CONTROL.
+XS_DIRECTORY             1
+XS_READ                  2
+XS_GET_PERMS             3
+XS_WATCH                 4
+XS_UNWATCH               5
+XS_TRANSACTION_START     6
+XS_TRANSACTION_END       7
+XS_INTRODUCE             8
+XS_RELEASE               9
+XS_GET_DOMAIN_PATH      10
+XS_WRITE                11
+XS_MKDIR                12
+XS_RM                   13
+XS_SET_PERMS            14
+XS_WATCH_EVENT          15
+    Not valid in client sent messages.
+    Only valid in Xenstore replies.
+XS_ERROR                16
+    Not valid in client sent messages.
+    Only valid in Xenstore replies.
+XS_IS_DOMAIN_INTRODUCED 17
+XS_RESUME               18
+XS_SET_TARGET           19
+XS_RESTRICT             20    no longer supported
+    XS_RESTRICT has been removed, the type value 20 is invalid.
+XS_RESET_WATCHES        21
+XS_DIRECTORY_PART       22    optional
+    If not supported, the output of xenstore-ls might be incomplete
+    with a node's sub-node list exceeding the maximum payload size
+    (e.g. the "/local/domain" node with more than ca. 1000 domains
+    active).
+XS_GET_FEATURE          23    optional
+XS_SET_FEATURE          24    optional
+    XS_SET_FEATURE requires XS_GET_FEATURE to be supported.
+    If unsupported, setting availability of Xenstore features per
+    domain is not possible.
+XS_GET_QUOTA            25    optional
+XS_SET_QUOTA            26    optional
+    XS_SET_QUOTA requires XS_GET_QUOTA to be supported.
+    If unsupported, setting of Xenstore quota per domain is not
+    possible.
+XS_INVALID           65535
+    Guaranteed invalid type (never supported).
 
 ---------- Xenstore protocol details - introduction ----------
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 08:49:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 08:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910099.1316870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsHmI-0003vw-AL; Wed, 12 Mar 2025 08:49:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910099.1316870; Wed, 12 Mar 2025 08:49: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 1tsHmI-0003vp-79; Wed, 12 Mar 2025 08:49:26 +0000
Received: by outflank-mailman (input) for mailman id 910099;
 Wed, 12 Mar 2025 08:49: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsHmH-0003vj-CW
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 08:49:25 +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 e5cdbb85-ff1e-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 09:49:24 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43d0c18e84eso1437385e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 01:49: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-3912bfdfcfbsm19922695f8f.28.2025.03.12.01.49.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 01:49: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: e5cdbb85-ff1e-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741769364; x=1742374164; 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=G8rsxSW6RfkBU/qhCqIRhOPnN5q7fpagLRTqNVArWdo=;
        b=bktyYoZtxuJxcjwyVs0+8HpoemhYB4WaRcv704WykUHXl5bc8ehrB7HcXwGJYlfxru
         a3lEj3Ig6aZNOoTOTVR4/O8D8fHAMMBWSA5F8lHh/zNRlmO2B95fKNYnXHgbvHL8rGL+
         C44qNwrIYCB3Ufd5Ri8paI0/dHvSNlASPgEWjgw0rv5tWDeoxhIKDrfHiZXF40mD80Yq
         Dt4l8o/cYBjyWHc3AWTaeXtpQzCbXW+P2dM7hSzG2lTVTUHXOgdBdhKz30JeGcfNfyyq
         Q3LfYo66XKQBIUbZX+IS6jVB4Ra5nRa8LrIgGNfywjYpeTVFd/q6bQgL9UgwndHXk8Dy
         0n7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741769364; x=1742374164;
        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=G8rsxSW6RfkBU/qhCqIRhOPnN5q7fpagLRTqNVArWdo=;
        b=xS9cukZzvfJywX4AIzXYhAQqke1ABxFFRYzGEQGIeSltmuBDXHBGnN1SwkbMV16Hzo
         jbhNDcPy/SgjwrDj5Hc+xOoQm29Ewd+CKQzZzIj2KS/dFhFCX25RZam0VivQwNVDxfkM
         JH221FURMbku8PKUhS+VWBAAs0vYjPSfTIqTCKxzKVPivirTcFZ02vM8ouN5EqIYHHSE
         2YJkaSc7J0ujRP3kLQVwWAZac4D/+N79WnHPD+n+dk9BJYvrVclRrk7JS0slQ7/PJGvI
         qqUiNwKlkkqxxksZHRwNb00sDnZ09+BIm02LjxOw4cwkYYSlhRvmiiJWvwQsrOnFbA0Y
         emVA==
X-Forwarded-Encrypted: i=1; AJvYcCWsObFvKuU1zde4A7eYe7Ohs/k7iWdnmyZMI8lS20MEeLWfeJ7mL9F1Se1Z4l8iPqWvy19w5CMYNSI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxcYVUo1lmnecUvsdjJ/8A9tOhkIArQ6OIgj2jyrHQQRupyP4de
	o3NfKNmfhHjm/cPgXzk2UDkKW0EiJgukiP1M2xT/nHkgbDzvJRsN5pT3hzYTRg==
X-Gm-Gg: ASbGncuPX+5t9UyV+3eGPsbSH98bh7KPbwLKIR4IMuuLrA3bpbvOdx7pFZ1CF1SCSoN
	qWmgNfnyGqqMb9ByuW5STwH7WNRQCn/56gtb8EL8m4FivW7IxpwiiGNoQJTzW42lFrWidIw9ZVd
	jWxFsex/agZEHkG00fdM2toMjeNWdr0oSKiZtXzyKA6l1poMYlBD59JEdjXhzQvfVrYRItL1OQN
	6kjP9lMKOEzHyUkxfInBULIZE7Mqc8U8VfxtTcx4xLTYKe/e8+rW2jo1+lxjGp6dvEfldGUfuYE
	FUtAtn7rqTYHOVZFhmrhu72ltaTifgc59ulleCxWxP/hEiW8Aoh8g/G229BU+rWxfwk6L39I2cv
	SPmASShU0Hwhzsz+YOIzAF/9WBMHEUw==
X-Google-Smtp-Source: AGHT+IGfpqQrXsMVR2fjr1OH8YzpmyrJUccUqQb0HFKMYx5Qff6uD0l+RnBeXTKk54YnxWXHVuhW8w==
X-Received: by 2002:a05:600c:1d26:b0:43c:f597:d589 with SMTP id 5b1f17b1804b1-43cf597d965mr91561365e9.27.1741769363653;
        Wed, 12 Mar 2025 01:49:23 -0700 (PDT)
Message-ID: <cb7f086a-8a6d-4284-b85a-be88749757e0@suse.com>
Date: Wed, 12 Mar 2025 09:49:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/IDT: Fix IDT generation for INT $0x80
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Luca Fancellu <luca.fancellu@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250311212248.3630583-1-andrew.cooper3@citrix.com>
 <cdae37d8-a01d-412c-a48b-f4e27d7d898e@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: <cdae37d8-a01d-412c-a48b-f4e27d7d898e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:27, Andrew Cooper wrote:
> On 11/03/2025 9:22 pm, Andrew Cooper wrote:
>> When PV is enabled, entry_int80 needs to be DPL3, not DPL0.
>>
>> This causes the XSA-259 PoC to fail with:
>>
>>   --- Xen Test Framework ---
>>   Environment: PV 64bit (Long mode 4 levels)
>>   XSA-259 PoC
>>   Error: Unexpected fault 0x800d0802, #GP[IDT[256]]
>>   Test result: ERROR
>>
>> (Clearly I have a bug in XTF's rendering of the error code too.)
> 
> Fixes: 3da2149cf4dc ("x86/IDT: Generate bsp_idt[] at build time")

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 08:51:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 08:51:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910109.1316880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsHo2-0006fZ-Kt; Wed, 12 Mar 2025 08:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910109.1316880; Wed, 12 Mar 2025 08:51: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 1tsHo2-0006fS-Hy; Wed, 12 Mar 2025 08:51:14 +0000
Received: by outflank-mailman (input) for mailman id 910109;
 Wed, 12 Mar 2025 08:51: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsHo1-0006fK-Dz
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 08:51:13 +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 25902835-ff1f-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 09:51:11 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39104c1cbbdso3151646f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 01: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-3912bfdfcb8sm20762231f8f.33.2025.03.12.01.51.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 01: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: 25902835-ff1f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741769471; x=1742374271; 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=nIWMIijTkI2Ao3vMUw/l9DFrjzu18CxO6OHhFeZqUnU=;
        b=BnZSIT+sn3OF40Okt4luzqpYhVyoi3tIkrX/xDq3ycWHCkcksAVWbv6iE7Kn6t4Hwh
         WhJu+wu2VFI/7ACWAXnoYbdUP2DAMD/c2m1T03uOo4P5aYAE6sMOP/qe1ZXy3mtDIQY/
         bkOsx0SNxrBJWAmUQuGQqSZNnan8HKGXyiJCPjmTQzA1D65H2vsEFCPnYerV7vE9OP7a
         PS470eJGIHIu+N2TDm56iFuI/L2CS9ILxOHKA4NOxjfkqivcCqIKPgUdQ5MW9S2n3lrl
         RJUqD/Ok5CWrQdWtHqPnKb5otx5mV2F/RRiQmcaJMFzVaTevP47pM3zXy+XLqXfmbgDI
         fkIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741769471; x=1742374271;
        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=nIWMIijTkI2Ao3vMUw/l9DFrjzu18CxO6OHhFeZqUnU=;
        b=R8Lqj8XinL+kbyAn6aLWKmf7bKlsslq+IOvhTlH/y2ixmAmAbWaxL6MeQizN3qteyN
         bKlR3TxjZ0TLW0aOvkeymf4dzcBWqJT4LVLw5i1F6FJ0+F63JXFRnWLNEIVCo2F1vq9q
         YZPJz7zaQ6rzR/A7NiZz5eOwJRFdWeJrTNOJw5XjrrHlYIyOgBLxjlBftZ+ucSG/vqJL
         SYIzpDrdJRVeAZNB8ohhclWFEni+my8G5TAzTxP2tcwnEXdprEcfMd/ZGGm62yRlQ9hy
         4oGg/h46Lz+BqiInfvf70n6izlfHBq1rGhjZAHvEBW+rhjMdlZEbYlT1YPTppd6p5eAO
         OdGg==
X-Forwarded-Encrypted: i=1; AJvYcCXsMm0mKxV+7WK1jtZcgWoWuev5mycWSCQin1cXUKRTVptxaU1BEbk33waIJgwu/hENZ4jgDfltQTI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9hlc41MXV1C9Q44tMmg+0YkH8tUU6m+NbCMjrO4ZlIUB+8eQO
	jcDV43muKFzoXhHP4aRUwPwbWIynjmWoAvuWkVBb8nO0mQRpeR2sMpMkh7V7cA==
X-Gm-Gg: ASbGncv6SpOaaPupIk188Y4c6wwP6CjFFvkkKA2asjAQB90xcu3H+fPrgK4ID4/pV96
	4PiPOhZ6ghlErrYTsSTbrM/prVMG4Y/m6tjXQwxzh9Sm/F7f0mz3C7a9m0hSXIqaHP5CncN6uKY
	yQe0k3Mw2VfVuNPEdGTkxDMshoFpBSzlx4DywgdByE/sbfdRFmm6grkWYCGOBI/bG5s2lnDJlp3
	XI16HQje5uJz++NgwESfyzCwRzFzVpGYUMBZEeXVHRkO/krpfqdw4Ue3aaXsXUKMf78Obkj5Vnm
	uo+7qV0aUBotX+Cze9ZvTwiitobHhaK4OvlmVSc7a+yViChLbD7AuStASlPPpGbyHAW8AM92SRE
	JB0mZJK0e3wmGA4rYhfoJvWSmXN8VMg==
X-Google-Smtp-Source: AGHT+IEoyh83SoCmV7d41SM2TYpvLmlUNGbPOVs86/1BmSl7348Jt4/xB+JLfjz73o9aPRPskN+54A==
X-Received: by 2002:a5d:5885:0:b0:38f:2b77:a9f3 with SMTP id ffacd0b85a97d-3926c1ce288mr8160102f8f.43.1741769470729;
        Wed, 12 Mar 2025 01:51:10 -0700 (PDT)
Message-ID: <a8919be5-020c-47f3-8bfa-02dab2f1e2ca@suse.com>
Date: Wed, 12 Mar 2025 09:51:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] CHANGELOG.md: Mention PCI passthrough for HVM domUs
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Community Manager <community.manager@xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
References: <20250312040220.2624329-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: <20250312040220.2624329-1-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:02, Jiqian Chen wrote:
> PCI passthrough is already supported for HVM domUs when dom0 is PVH
> on x86. The last related patch on Qemu side was merged after Xen4.20
> release. So mention this feature in Xen4.21 entry.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> ---
>  CHANGELOG.md | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 7201c484f899..b6de9b72ea7a 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   - On x86:
>     - Option to attempt to fixup p2m page-faults on PVH dom0.
>     - Resizable BARs is supported for PVH dom0.
> +   - Support PCI passthrough for HVM domUs when dom0 is PVH.

Aren't we still in need of SR-IOV support in order to make such an
unconditional statement?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 09:35:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 09:35:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910130.1316897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsIUn-00076C-R6; Wed, 12 Mar 2025 09:35:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910130.1316897; Wed, 12 Mar 2025 09: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 1tsIUn-000765-O9; Wed, 12 Mar 2025 09:35:25 +0000
Received: by outflank-mailman (input) for mailman id 910130;
 Wed, 12 Mar 2025 09:35: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=JNjR=V7=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1tsIUm-00075z-FS
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 09:35:24 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 518271ad-ff25-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 10:35:21 +0100 (CET)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by GVXPR03MB10826.eurprd03.prod.outlook.com (2603:10a6:150:21f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 09:35:17 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%4]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025
 09:35: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: 518271ad-ff25-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ONxkCfV4NBNVJDrMFPrbELFTpaAislVRWfi5jF+yTA6nb/0v2bpegp0gJADLKGHBQLJLetxjf/myY06pjqWQ1zPs7gvV41BfVp6dNF5maCxJVmA8FL4859/U4QcHgTHZzEEd/a34zpZogeMiOh5EQyRI4N9gKiyDD1uutbNNofIrzWA/166D+JWUxQ1yoBLLYbon9FAh9Gm/VBdiv8Iucd05txD5DpTKManudfikLUIVAt5aGImIkPAsOrK4EavJ5BT9+wqVRA/C5TSfNyYpjDs/OPHqTriFPSiDVYyJctFV/zfWIHJximQPiJFy87pElnk0HIwgIyoFVaEsNOImlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7c+qSwfT/v0DQQKww8Qsx0ETY5tHj8E991ksUvFL25w=;
 b=rMxTUXGPzFEo//9pCUpGSgaGq4zf7iKafFJhSLFvatuu35SGoCMW9INhkT1Y/iiRxJYZYV4B9c1QDK6SiM2xPf+vC93o7ZKhvfLJxigFsh2YZvfPSwRLufV3dnkgNAFpYK0QvL7jY9ABOWzdeM2zsu/0f9eMp5yIf607+DSVxkXzgvCq3S4NlPe4HlwAFK2N73AnfG+v840HPBxTqpzF2Xs+tDh3LxTjvfMVDfvXibfiXfC/pl+oWCcRA8hW28lWGQ6nMD9EUiimjUNavht4ANSqrlA8kF5Sd9KpH0o6eUTPMCdGrzhu88NowWtP8YlAfPTIwoAxLM8wG2lmHwYVzQ==
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=7c+qSwfT/v0DQQKww8Qsx0ETY5tHj8E991ksUvFL25w=;
 b=dhaqSqcNIaTgMlq78lRJQpGZfbF5j5XGyrMLMPd8J8oqib37p34+zdvVlMNFKcu7AV55JWDoTeiWhIlH7pelE2B25oa1pn4fI6rduFP/pJOoLXO4m2L/iTF43yjJ+8JiQsgSHGrUbEDGCts7LtVbmdl8ZNUbaiOSiBZ98j3M2AuyE8Sh/cBW4SFwP8wGDRuDO2X4qACK+z1VKXLJiGTDk6M0yTelygbSdy39ELt6vRAHHp9WCcq70GqA9Uyye3tiim6W/wMT0cVhA2kPHbtKv7hHhSnO6m7F284uVDKx2b6HvbLhPwb2olcXpefej7+bGE58Mm5CfnRK4vml3SWiHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <6d746409-1591-4d44-97e0-0fa904d3186d@epam.com>
Date: Wed, 12 Mar 2025 11:35:14 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/3] xen: mem_access: conditionally compile vm_event.c
 & monitor.c
To: Tamas K Lengyel <tamas@tklengyel.com>, Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 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>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
References: <cover.1741687645.git.Sergiy_Kibrik@epam.com>
 <e37da57b94fd3bd4f314e6fbd7b6b94aee4b4607.1741687645.git.Sergiy_Kibrik@epam.com>
 <ebef450c-280e-43a4-9a48-e4d1f754ba03@suse.com>
 <CABfawhn2+CpxZx50oYXbi1NPkqJqT7=tMrhYbPZCGsCoQjkfAA@mail.gmail.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <CABfawhn2+CpxZx50oYXbi1NPkqJqT7=tMrhYbPZCGsCoQjkfAA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA0P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1::24) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|GVXPR03MB10826:EE_
X-MS-Office365-Filtering-Correlation-Id: 13b7b87a-cb3d-4d12-a5a9-08dd614932d4
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|366016|7416014|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WnhYZTFwT2EvRjVTbndsY1RvT0NOYjFZL1MrckFlNURZejNOUEhZQUU2amxv?=
 =?utf-8?B?dFdOYTNBcFhKSEtybVNSRGdTWDQrSm1SMytTdzFCZ3NZS29yb1BuMG1XTjJt?=
 =?utf-8?B?NXN3WUxDN2tUampIWmpJRnE2cTNBOGpoYXhpcm1Jc3hFYVZoTDVBVDloeFIw?=
 =?utf-8?B?cmdXbWE3R2UvNXN2VlA0S3BHMk5tUGJkdExhWDBSdGp5OS9VK0orcWp3aDZh?=
 =?utf-8?B?SkVmVUdwYmhjMHRwRTFiR1ZnWG5abDJtbWRWemQzWkRzaXM3WVQ0ZVdUQnhy?=
 =?utf-8?B?ZDR0RHBoVCtlVzBIWmliSUFSRGpTbS94ZnlEWnlwMVViZ0IrVU1rZ1dsZEZm?=
 =?utf-8?B?OG9mamRoakNMNnJQcHFJVWpQSUJWM285VTlDdnJBSUx6RWhZanlyd0FETDJS?=
 =?utf-8?B?dHdVTzF4QndwSHRsSXZXamtCRVdmemxWNGJqSkJ2ZFFqa1ZGR082c2I3TmtW?=
 =?utf-8?B?cDFjSWVHeDBJZ21aY2M3SGtRSm9Yc1M3c0JhQlpkZnZPVzQ2bUxNcWxIR1NY?=
 =?utf-8?B?ZFR0SUtRZEovcnlpQ0Z2QXlLTE4xYzN5YlpQZlB0cjUzcnFQSWpQQkZTd3g2?=
 =?utf-8?B?QnBJVlBsRGpoV2d6dlhPdXp1MlpDeFJUSHlKMURMSFlPUzlYdEVDU00zMyta?=
 =?utf-8?B?VVlrZW9xZ1U0K3NEblNZTUtRcU0wdVVGVXJuZVRUNm1pMHZJZ09oZzhkSWhC?=
 =?utf-8?B?SlFqRnJaUDdYdlYrekNXT2t0SEJDZjA3bTRlL0NSZlh0TTdMRU1SN2lJVkFT?=
 =?utf-8?B?MVdaenlkSVpvUGI0Q2hzcGc3Y0c4bkVNZ1VHWlFBaFJjeVRBcWQ4Ry9BZVhn?=
 =?utf-8?B?c2k1UTZ2cjlOZDVHTi9UMW9nUmFDbUtONXN2Q0F6Rlc5VzlHWjJWSVgyWHJ3?=
 =?utf-8?B?VFo1VCtJQm81UUk2U2RvengreUJCeGluNmVobmd4d2hkYnVBY3RSakUrRldl?=
 =?utf-8?B?bmJFd1kxR0pTcmVmM29wbkZmREk3VmI1VTM0MnBqN2VUcnlKRE5HSDZqZ2g4?=
 =?utf-8?B?ejJ0Z2Q1a0lIM3JockdyZndNQ3NCNmprYmIyb0hja2E2ajdpZkZTOWUzNFl2?=
 =?utf-8?B?SUNKdmhBdDMrT2xkS1lrU0N5TFhHYUtKMDE0aHNlUWJLOE91TDI1MWNWY05B?=
 =?utf-8?B?bkFiZjNOeCtFbjYvQitSRmJJVlBHaDhvZHZrOHJnSWhZQzF6Yld5YnhuTi9K?=
 =?utf-8?B?YXhVeHR2bXRqeHdibGZ4TVVkWHR3dkFUVkNYWVE4aSt4TFhiLzkyT1RMUmFn?=
 =?utf-8?B?MjdGZzZON01wcldyRjVCT01UNUhoWUlsNU05RERZUXZJbUo2MHRxeHkwc2lj?=
 =?utf-8?B?clZxYWpxeXV2TXhRRWQ3WGg4cFdXc2FDU1BKcmVvWS91ZDZkblRpNDY3VWUx?=
 =?utf-8?B?aGNiQldkSHh3M0YwYkZTcXB0M0liQU5EMWtWU0dpSDRTcTVKU3dtYU9KNzdl?=
 =?utf-8?B?QjJQNENQYzY3Uk9qd3RwZ3lHQkNnU2x1RmhvZm5MSzJZQmorejNkaytJMzVQ?=
 =?utf-8?B?bGxKaEFreTlINXUyT3pUK09YTEFPSEYxRE96aFBZODd5THJBZ2VXZlJLOWI5?=
 =?utf-8?B?Y1JXUUlOZmU4ODZSbjBGcS9ZaUtrWVRDbDBtYXlkQ0JuWWVET1Bxd1ExQnZk?=
 =?utf-8?B?Qms3NHYvWkhhY3RsWmQ1TnpkU0sweDUra091cmRpaklDdnd4dWtXbVBRSWND?=
 =?utf-8?B?b01JTE5iUzRaUWUrcGNXVy9LOFRCN1FsSnpEa3JnUVlLUVlZbE1Gdlhnb2Ra?=
 =?utf-8?B?VlJmVzh3ZGNUeDkwc2EwVmlzMHhiQWVnUXVHNndGZ0ZvRUxTMVI4NzBYRnJP?=
 =?utf-8?B?ekZCZk9XaUFDNkNFWHF5V2UwZkdNL2pIUEZ4YVljQ1grQk4xTTBVTnZIbDN1?=
 =?utf-8?Q?jJO0Ysi5eeC8h?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S3JjODVYN2J3aW52V1lmM1R4Vm9tM1RCQnBkd1hhMG85UHhVQ3lNaE15SGpK?=
 =?utf-8?B?Y3dKTkNQdDkwQzgzQnlvVGRhNlA2MnNheTVGbGIvb2F6d1FYQ053QUsyc3Vt?=
 =?utf-8?B?MG0zeUtXOXVXQ3ZSZ0JzUXN0NE9yY3VaRU04K1o5SG5FMjdleG8rRk9uRkNm?=
 =?utf-8?B?bis2TzNjYmk1dDVmejVmdHVSQ3BOcUp3THkrRS9vSGhrL0pwUG5uK2FiNmJt?=
 =?utf-8?B?V2M2UHhGMyt5SnNWUTY0OEszRFNVUThyOWNoc2phRlNQbTFvWXJIYzJYekk1?=
 =?utf-8?B?ZG9hTzZvbkVMRzl4VnhPVm9wSmNBU0JoYnpSd2RMOE8rSU9qbGJIc21RRSs1?=
 =?utf-8?B?b3gwbU8vRUtUSVlCM3FIUjd4K0VBdWNCNDA3c0ZSUWdpMzRaMS9XOEZVTFIy?=
 =?utf-8?B?VElJMUVyaXc1NlNvb3FSYXZDZnplVVhvRWVYRG5qQUNvVXh6OWZKZ1IvNXAx?=
 =?utf-8?B?QWFwKytnTTVES09qUGN1cExFSVlPcDVnOEpNeDNnQzg5eWVtNWFNODJBTU5J?=
 =?utf-8?B?ZFE2c3NUSlh3ZUJmU1BVTmhid01WTjQ4cndORklPS3JYTXp1dk5nMm4vN2NX?=
 =?utf-8?B?NGwwV0pyYXgrTnBDUFdMUXk1ODJXOE0rOUVycEY2cC9CdEpPTTUxWkNvZ1JM?=
 =?utf-8?B?NEdzc1lzM2cxTW55YTFaSmdTcWpDQnhxWVg1YlY3U0Fid3FhUEJ6d2xmenI5?=
 =?utf-8?B?MUlQazhkejNlMDU4ZGI4VkpUTDZyNmVuYm4yRW9wRmxub0J6ZmFkS2RkMDdr?=
 =?utf-8?B?T1pKMHUxd3UzOGxyOWcrcHdZVDdpQS9oMDhSODF3Zk1HTWFlRkd3NXY2cFBn?=
 =?utf-8?B?ZDFrTVNpTnY0SnFpZWpmL1lsYTBoaVhwZ3puTEZZS2RDNFc3MmpNdmhFQ3pU?=
 =?utf-8?B?NFdDZERma1plVEltbFo0SXZHTUdraStnbk13dDVIRXFkZ2NrZW5uRnNqb0FP?=
 =?utf-8?B?YjdrblljSlQzYXRQN0xzR1B2ZXVUcyt3ek1aWFJRZ3h0L0ZVUHJDMU1EMlZq?=
 =?utf-8?B?NTFyUGFtTklmMkZOMWZhOXd3QkVHdzVvRFl0STY0aFh4N1RkVk9KbE82RjJO?=
 =?utf-8?B?Mkd4cDdGN3R4TU5tZ2lEem1mOHllWkxYWjRtazRlY0NGTnppaXVHSHFyRVlX?=
 =?utf-8?B?SUNxWk1HRWJ0ck1GQVdIdnl0M2ZJQjJWQkpFRFZKY0l4L25wV3RkdktxQjA4?=
 =?utf-8?B?REROeUtJYVVZRjA2MkVsQWhRY1RvMG9CZUNEMHR1cXJzRHdNbHBQd0VaeWc0?=
 =?utf-8?B?RnZIanVNQUxQY1o3WVVoZklNWWlLbDBQclkzMks3bXRTc1k1dzVzY2tDbEdZ?=
 =?utf-8?B?NTRWOUcvSmVqZk1NYmtiSnhhQXdQcGJUbTNCM3UzZmJ4WlpreThDazlPVmVa?=
 =?utf-8?B?M2xXU1U0Q2Y5cGpISVpqVGZKZGhVbHVob2FqbjNoQUNHbEtZTTlNUFl4SlMy?=
 =?utf-8?B?bEo5MjFwYzB4ZjJPRDhvTStXK1d2ODJSTEh6aGpDcjBUK2VCS3lYaUpFdjFj?=
 =?utf-8?B?M0hRMTlBTm5rQmprbkFodnBKNGtoVDN1QmpDU2NVa3Qxc09qYmc1MHZDWVVL?=
 =?utf-8?B?M1lCWEsxSzArMElaczdlMFlBSGFCdzVyLzVWUGxMc3Rqek03blJKd3g3RlBz?=
 =?utf-8?B?YVZhQmFocHpDY3dod1ZhVEtydVhzOFZDbGpZbSswS3NaZWNrank3N0lwcjky?=
 =?utf-8?B?UDFoenV0UUxRK3E2d3JZZ0lVYXQ3UHZuU3Fmcy80ZGdTaVZKQklWakl5MnJI?=
 =?utf-8?B?K2NjN0MwN2cwbUhLdms1cW5YZklieis3R282a1ZnNUtPWkY5NUdpVVRuVkw3?=
 =?utf-8?B?c3JaVlFES3grK1R1bE1VTmRhdWM1c3JmZHE5UTZ2UEoyNng5NXZ2YTZqVVVE?=
 =?utf-8?B?UmcrTnJLUVVpclBHdTNzekRoSXRHNTVTeElHdmlZMUpsOWJjUlJ0d3dMdXMw?=
 =?utf-8?B?SW9KZ205WUxMRDFlSHNpZHFFRlNiZkV3Nmc1YTloZ2tVRTM2UzE4Z3lZTHFV?=
 =?utf-8?B?dHNRak5rT2Z3ZkM1VUhXemFVZDBPUU1ZcU5XZHBETHRaSmV0ODkrZ1IrSjV6?=
 =?utf-8?B?aVFyY093Q2U2QVg0ZmJETmlvUzBWeng5UFZmUEYrZktXV0JubUdhcnRlY1ly?=
 =?utf-8?Q?8GPdKlNf6HUBfpazptluvquX0?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13b7b87a-cb3d-4d12-a5a9-08dd614932d4
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 09:35:17.2002
 (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: W/wPImy8Qwnz1NfMIILHQzM4Wi2kxwnD7WVjVEIh8tLH3tfteYW6T1r6L/CWT8wrFsh3XJZO3BveOSH/UeGRug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10826

11.03.25 15:39, Tamas K Lengyel:
> On Tue, Mar 11, 2025 at 7:59âŻAM Jan Beulich<jbeulich@suse.com>  wrote:
>> On 11.03.2025 11:27, Sergiy Kibrik wrote:
>>> From: Stefano Stabellini<stefano.stabellini@amd.com>
>>>
>>> Extend coverage of CONFIG_VM_EVENT option and make the build of VM events
>>> and monitoring support optional. Also make MEM_PAGING option depend on VM_EVENT
>>> to document that mem_paging is relying on vm_event.
>>> This is to reduce code size on Arm when this option isn't enabled.
>>>
>>> CC: Jan Beulich<jbeulich@suse.com>
>>> CC: Tamas K Lengyel<tamas@tklengyel.com>
>>> Reviewed-by: Ayan Kumar Halder<ayan.kumar.halder@amd.com>
>>> Signed-off-by: Stefano Stabellini<stefano.stabellini@amd.com>
>>> Signed-off-by: Sergiy Kibrik<Sergiy_Kibrik@epam.com>
>> Please can tags be kept in chronological order? It's impossible to review
>> a patch that wasn't first signed-off on by the author(s).
>>
>>> ---
>>> changes in v3:
>>>   - add dependency MEM_PAGING -> VM_EVENT
> This seems to be largely unnecessary since on x86 selecting HVM
> already selects it but I guess it also doesn't hurt to explicitly mark
> it like this either.

It's done just to highlight this dependency, more like a documentation 
hint (as Jan suggested in previous discussion).

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 09:57:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 09:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910143.1316907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsIpz-0004Gu-Gh; Wed, 12 Mar 2025 09:57:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910143.1316907; Wed, 12 Mar 2025 09: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 1tsIpz-0004Gn-Dx; Wed, 12 Mar 2025 09:57:19 +0000
Received: by outflank-mailman (input) for mailman id 910143;
 Wed, 12 Mar 2025 09:57: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=Y3Ag=V7=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tsIpx-0004Gh-NA
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 09:57:17 +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 610c22d6-ff28-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 10:57:16 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5e677f59438so5928447a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 02:57:16 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac2394825d9sm1063193266b.50.2025.03.12.02.57.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 02: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: 610c22d6-ff28-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741773436; x=1742378236; darn=lists.xenproject.org;
        h=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=vgppIG5tpINg2Y1qHX6GPDEulu7c3cWP4/0KtQcMqZM=;
        b=VpOGVDzLHyX9brlI0lGlGZiY9/dUCpRCb+ZTH5MkKqviIS7HxVAuOyJ/2s4l+xGonz
         Msnuxn9W/mHMeFO2H09XjW91scrX36ctCPx67/dQ1tk2xUEum2FdEVFaW0aaw2pQFKZi
         kprWQOkTwnZc+TVl0P1DR6oh/Ug9yiCQ0uM2I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741773436; x=1742378236;
        h=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=vgppIG5tpINg2Y1qHX6GPDEulu7c3cWP4/0KtQcMqZM=;
        b=QOT8EhhdgAOH4fIsGr68xfthl4fD1Onn+qFqzLXczoq62Ywca+YqImREtHWatvNUAU
         79kf9UrajpmCkjgTd8frKwG1bXGMOKOKaM0YDVLJVE3FZS7h77cMIwLcYJ27wejehcOm
         xd4nbaFHu2ic12/scYx47h19Vx5fP0MkaVxSF6d+dj05qaxqBfaVj3SWdp6KkTEiltU9
         uND9R1nZ7wN+LBg9VTq93EtUymk5GHUMntoaplSzA4rkX8SaqepaFblCW+4iH+HJJFmT
         5SntQhcabu3rlaKJLpoTo4IloBJMEiVq5EYklMilRjdG+aIgIhOvk0u6KXPzev+HioYv
         uuqQ==
X-Forwarded-Encrypted: i=1; AJvYcCVzT/1NNIjrLXVy9u1vSXfa15dS0PIr3booc/HyNBPvouC/iiei3CxMyA3zOWeOvM6MjCPT2FyPGNU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjT8YPbRynNExliPv+T3vjgt2NKs5eqKwn7s3e39eNJqAeIVP1
	eD0W3QEVXLc1H4haUDDAFIV5SnMaWsSEcYMP+vR2InmVWahnsPAejMcXhOQkMCofICAkyuswg2u
	K
X-Gm-Gg: ASbGnctnOcpHWAydHHygnFs7J9FPDsqcWmbmZmedex+A/BFzyN57R7hvHK9glM0VoqL
	hoTxTXkX05Py3ZIlHQSv4nYx5qKv6x62kvGHvYl5+qGQ5+vCyg9s9clRw8V76O1N6+qriKag9my
	d8asn6UzZmKudY5Ka5NbI6LIp0uiT64C9qU5UeQ7jqy3laN7AlR+xaeJmnbit1nis48TITH0eFJ
	2Z1Uv7QmNq7i3fnFbYAOLlHaqD+Wgl00M7gWgtKnyhATMye2/2BY5g8dQ3VGok2WMb0HKMwz970
	tg2/Srq4CpohgvkMZ4ui/YdSRY6ta0JflMnIcdIr509TU1i1wQ==
X-Google-Smtp-Source: AGHT+IHwiTbQL/NyyTY4Bra6CIuLlq5Pr8bcMhjJzmfxVs4+/XMlhDVgLmCpwjzvIEvFmIeNVFEPPw==
X-Received: by 2002:a17:907:1c1f:b0:ac1:e00c:a566 with SMTP id a640c23a62f3a-ac252fa10ffmr2865168266b.45.1741773435870;
        Wed, 12 Mar 2025 02:57:15 -0700 (PDT)
Date: Wed, 12 Mar 2025 10:57:14 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/boot: Fix zap_low_mappings() to map less of the
 trampoline
Message-ID: <Z9FaeksA0d9Ms15m@macbook.local>
References: <20250106112652.579310-1-andrew.cooper3@citrix.com>
 <2f12f38e-9629-40fd-b532-6b6f82ecfe1f@suse.com>
 <4bff530c-9f96-4b59-b6cb-86349c576690@citrix.com>
 <0565db90-5734-4795-8988-efd3e72cc770@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0565db90-5734-4795-8988-efd3e72cc770@suse.com>

On Wed, Mar 12, 2025 at 09:31:37AM +0100, Jan Beulich wrote:
> On 11.03.2025 21:47, Andrew Cooper wrote:
> > On 06/01/2025 11:54 am, Jan Beulich wrote:
> >> On 06.01.2025 12:26, Andrew Cooper wrote:
> >>> Regular data access into the trampoline is via the directmap.
> >>>
> >>> As now discussed quite extensively in asm/trampoline.h, the trampoline is
> >>> arranged so that only the AP and S3 paths need an identity mapping, and that
> >>> they fit within a single page.
> >>>
> >>> Right now, PFN_UP(trampoline_end - trampoline_start) is 2, causing more than
> >>> expected of the trampoline to be mapped.  Cut it down just the single page it
> >>> ought to be.
> >>>
> >>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >> Acked-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Thanks.Â  However,
> > 
> >> on the basis that this improves things. However, ...
> >>
> >>> --- a/xen/arch/x86/x86_64/mm.c
> >>> +++ b/xen/arch/x86/x86_64/mm.c
> >>> @@ -718,14 +718,16 @@ void __init zap_low_mappings(void)
> >>>  {
> >>>      BUG_ON(num_online_cpus() != 1);
> >>>  
> >>> -    /* Remove aliased mapping of first 1:1 PML4 entry. */
> >>> +    /* Stop using l?_bootmap[] mappings. */
> >>>      l4e_write(&idle_pg_table[0], l4e_empty());
> >>>      flush_local(FLUSH_TLB_GLOBAL);
> >>>  
> >>> -    /* Replace with mapping of the boot trampoline only. */
> >>> +    /*
> >>> +     * Insert an identity mapping of the AP/S3 part of the trampoline, which
> >>> +     * is arranged to fit in a single page.
> >>> +     */
> >>>      map_pages_to_xen(trampoline_phys, maddr_to_mfn(trampoline_phys),
> >>> -                     PFN_UP(trampoline_end - trampoline_start),
> >>> -                     __PAGE_HYPERVISOR_RX);
> >>> +                     1, __PAGE_HYPERVISOR_RX);
> >> ... literal numbers like this - however well they are commented - are
> >> potentially problematic to locate in case something changes significantly.
> >> The 1 here really would want connecting with the .equ establishing
> >> wakeup_stack.
> > 
> > how do you propose doing this?
> > 
> > PFN_UP(wakeup_stack - trampoline_start) doesn't have the same obvious
> > connection, and it would involve partly undoing 7d73c6f196a5 which hid
> > the symbol recently.
> > 
> > While 1 isn't ideal, it is next to a comment explaining what's going on,
> > and it's not going to go stale in a silent way...Â  (It's also not liable
> > to go stale either.)
> 
> If in
> 
>         .equ    wakeup_stack, trampoline_start + PAGE_SIZE
> 
> PAGE_SIZE was replaced by a new (in asm/trampoline.h) TRAMPOLINE_PERM_SIZE,
> you could use PFN_UP(TRAMPOLINE_PERM_SIZE) here to establish a connection.
> 
> I have to admit I also don't really see why things going stale here would
> (a) be unlikely and (b) be guaranteed to not go silently. We just don't
> know what we may need to add to the trampoline, sooner or later.

Maybe we could introduce trampoline_{ap?,runtime?}_{start,end} that
covers this more narrow section of the trampoline code?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 10:04:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 10:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910165.1316916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsIxL-0005yA-9q; Wed, 12 Mar 2025 10:04:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910165.1316916; Wed, 12 Mar 2025 10:04: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 1tsIxL-0005y3-6y; Wed, 12 Mar 2025 10:04:55 +0000
Received: by outflank-mailman (input) for mailman id 910165;
 Wed, 12 Mar 2025 10:04: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=pbuB=V7=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tsIxJ-0005xx-9k
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 10:04:53 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f03029b-ff29-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 11:04:49 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AS1PR03MB8216.eurprd03.prod.outlook.com (2603:10a6:20b:470::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 10:04:46 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025
 10:04: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: 6f03029b-ff29-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bM4F1wFb3l0uPKTBQcJjVAiGdtwJNLxw6Ek+P/Oxupwov8NtwAwlkrFBkLdZFyOQWqqm4CHe4UnZcV9+K/zbBcb9IpGud5/fPl0ORQezjZ4i4hB/rLCuD8F5kir+fUEyVni5106yHIMSgWTRvwUM6FcMFo6L0Um/XqBT3rQ8tYJtgYWBRRE2ZkuWsqtjObvb2Td2tJgOOvbvLXRZ0919tz71U69P540GJDUvGHCvk/vc+qcANZJLgWwtafSj0IrBXoZmyIbAHLS17pWA+uixaltphnya3sdOMYXQnA/IgYtrfsJAIzY0CnKvS4K0arFTaYSO9atpLylaLV4YTmYl4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5CcxKcv4E5l3ZKvy6K0qVPjENVxR8nE2gTmbnyncZ8k=;
 b=KdWhQCkhyLMdwyEl/EGH7mEddOotUnHq5Xw9C59/VhwFI6RQnCIYU4pa7Bs/TEidcEUyyZDX/IKEgk2NGyEWkrQjaLdB10blImqAF6Ji4Ay/B9zYAjTCwDyi1E6PqjXrBhwoxCxZ8EoyTio1fbSwBlZP4dpLNp6LVcg6ucA3sqJvhodJeicw60EXUBBRw1A47F4oV9iBbh9aLk5i/09hNTKa8jlSipidQYyDyx+IGO/oExz7twqHs3TUZtPwWMSXtd6xd24XjSPILJqWUC/hxVPyN8IdzpGCrHCuiKABG476GMVtCRue3rm75x0qYD573lvu9CLh/gETRfPRURbSsg==
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=5CcxKcv4E5l3ZKvy6K0qVPjENVxR8nE2gTmbnyncZ8k=;
 b=bqy1fHT+GNZCI4Fq/ECzG7oPxMbOOGutButt7X4Js27QQcXbxZOKiI/b7CdIW/MjXvKDxysChvulPNPRKgwmo3X+GdvAHw4kr1M+VYEVsv4q8/DHr7/dDJvjCBw7M0cfERIVZ+DGbxEPuOJUUkOQeYsaHZaK8odgT3t43GNH2QwtR5pOk2TvtLamB84kTtkpFtMesJGM30XnjZHO2dD4av7saxNL6rvqX0d8VbXEBNH6uSlo6/zXwVuloIMsh/siLRrr4tJJcaxZDsF/lIfPq8eF4hXz8gwO5NK3VHNODdmyL3SCHanye7ZXa6a5V1aqvlhC18jYtl5X0NJiJ/jjvQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <8eee73ab-31f0-4d0f-b7aa-d3de6d5aef59@epam.com>
Date: Wed, 12 Mar 2025 12:04:44 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/7] xen/arm: rcar4: add simple optimization to avoid
 ATU reprogramming
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <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>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
 <e01e6aeba461001093b0da9af4c14b922049080a.1741596512.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <e01e6aeba461001093b0da9af4c14b922049080a.1741596512.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::14) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|AS1PR03MB8216:EE_
X-MS-Office365-Filtering-Correlation-Id: de1b8034-61ee-4ed3-8e8b-08dd614d5143
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?WThqWUVVUmJ0MmtVc3lpd3lQR005OXZxZFF2VTNhejY3ZExhY244MWJFaFZ0?=
 =?utf-8?B?bWdSblE2ZjVCUFRBV0MxQnZXbG9PLzNqTS8ycVg4RnY0eHF4SFJ1d0Y2ZFlH?=
 =?utf-8?B?aWh3VlVzNTZ6NjVEN0drY3pLL0xURlJZaWdvRDlaNEFZa2UyVzhnbEpLSTMr?=
 =?utf-8?B?SDBRNTMxOUZwL3dWLzd5NFlQWlp5cTFCQ2JxeG16c04xZlJxbSt6THdpMldm?=
 =?utf-8?B?Zm9mQkl4T1FVdlVNTXBEMjB3QXlhaXptWng3MENSQmNYY0N3dzdESDBvTkd5?=
 =?utf-8?B?dXNoa0xiUHBobFp0R3RJdGpXcStsTkpKUXIwV2NXSEJrTk5mNGZQV3VwY0I3?=
 =?utf-8?B?V1RuU3AvcVg2SlZrWDhtblgzcjlNQmNKRklJaFlRM0p1Y0gxT01NT0JJcDdC?=
 =?utf-8?B?WjhFZmlEOVVkK0x6QTVsb0hFV3B5cWdIblFxdE5aYWI2YXNsdXYybkVsL0Ur?=
 =?utf-8?B?ME9rWDYrcVU3SFVPODlsbFdNUDdvTjdxRHFPZVZQU0FaZjc0YTNZWFZ3MHJR?=
 =?utf-8?B?N1MxZTR2S0VvQyswZW44Z2FDZDhoem9Rd25EZjIxWW84c3d1d1JZSjFzck1W?=
 =?utf-8?B?OG1PeDhCb1kwVCtDcERaS3dFZm5Vby9ZZFI3VzVNdnltTWdWRzF0OW5oeTBJ?=
 =?utf-8?B?TG5MWnhUYVphWUpkK3pnZFZWMnRsbEMrYWhET0pmSEtLVER5VXhrMWpkdjB1?=
 =?utf-8?B?QkladHBpcXN6cVZqM0hJNUFTenlsREhhNGtmRkFscEl6NHcxeUdqU2pRN1dE?=
 =?utf-8?B?VnArbFFUaHZTUzNqV0FUSElPenpscFhaQTRCc0xFRnhuMXBMQllyUVNWUmov?=
 =?utf-8?B?cE5sMXF3NGtWMk5IK0s2VnUxWUZmODZPdXNuclhsM3VyNkFhV3N1R2p0OVpa?=
 =?utf-8?B?bHozQVlSaC9vY2Rnc3ZKQnZqeG85TTA4T0NvZUhtNk84OHJYaWZ6VXVrMHVY?=
 =?utf-8?B?WW9aUlZZTDNpZWNSUEJCclJYMGxPLzlZSjFIdC92dkpaTjh1dVpaSHZDeU5N?=
 =?utf-8?B?aUdlZ0pKN0tzYXh6UWNRUEpkRzFKYW1WM21mNFFCRnBLSDlMbW5UdzhBbURj?=
 =?utf-8?B?Rm55dG9MejZBcXN6T1NZZlZqTTdFQ3FHdFYzSFJFY1d1VWtFb0tPSCszVmpl?=
 =?utf-8?B?WHp5VXNkTkw3bUZXUm0zbWo2bTAvSmV1RGFqTDk4elMwYTV6MVBUcHNBdUZW?=
 =?utf-8?B?UUtBYUliRnVlRHlEVHRGU1p4aWcrT0lhTk4xeC90d3I0NDNOb0N3WmRDK3RG?=
 =?utf-8?B?TzlEREpBU1BwbmQzZ2svQklUMVozbm5oVERvY2k2TXhlc3VVNlZFOUxYSEI2?=
 =?utf-8?B?YWxuNFJjdkUyNVUrK2JiWGduZ0JJUEhLbVpYQ2FjQjdEbDdXWGdlM2Vvbjhl?=
 =?utf-8?B?cEs3Wm51dTRkUnJ1ZHNvcDU2THU2cTZER1lmN0t2a3BrRTVHS0FUaUFJR2lu?=
 =?utf-8?B?YXBqQXQxYXgwdmliSDBwb0xZL2Q3aS9KY3Q0c05nZlA4cVgzbUVJK2FINGU5?=
 =?utf-8?B?UXZuaCtSbWNJY0lPbHdldjFCditCMDZ4WjhEclRQZUx2UWdkNVFXWTZMNVQw?=
 =?utf-8?B?R2NxaGczV0tpZWRDT2lGVHh3T0xyNUFTcFVTaU5pVFNINHlpa282dk1NRXdD?=
 =?utf-8?B?ZlRNc2x3NVg2dzNzODdXV3VWUkd3SDh0ZC8zWENnL1pjUXVrNUVJN0xsMy9H?=
 =?utf-8?B?MnVRRDYrMUFqZUxtb2ZVWXR4RXFneWlMM2ZNZ3JGRG90ZXFlTFljeCt3L3dH?=
 =?utf-8?B?VnlxNko4aTRSWldlQUdKbDF5SUtmcEZyWHRMWFg1dFVLWnVUOTRkRWJFRmdq?=
 =?utf-8?B?M0YyazBVaU5idUhIT21VQkVaLzV5MWZJMWsrS0xuR25xWmJUcTF0SXQ1SllV?=
 =?utf-8?Q?mIj7iAta5WlDJ?=
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?UU1xZTRSUzUvOXJHU2wxdHIyb1o1cnhXSkdaTHFmSnJTeFVuZjJOTHQyUENP?=
 =?utf-8?B?ZURJWE83RTZqbnIyN3luSmJlMU5sZVppMmZHVVJWV0VYSTU4eXRPcXR1ZG9K?=
 =?utf-8?B?emcxV3I3Z3lkOHhLTGNXbWNZZzBZeUYzNFo4bkpJMkZVT0ZlWTdwUVhqZW9x?=
 =?utf-8?B?Vkp0YzloOVFSWTc2Yy9BVm9PbU5pTjFmYitOTmZwMy9YVnFYcnkybnN2OFFJ?=
 =?utf-8?B?eU5RYmhQeFh1NUtia2RocUltTDRCbFZEdzRiTkVodTdacitpaVhWK2szTk1J?=
 =?utf-8?B?YVl5aDVVVDFFUXZGNGFmK0RQNlZTVWMvK0NFMzRyUjhlcFdlbzFRUUtRU2pH?=
 =?utf-8?B?RFBkUzZVYk1icks4cWpGYnpwd3NWMEU3OTBUd0swbmp5akFCbnJMd3V4YTRH?=
 =?utf-8?B?QTYrbG4reGEwdDVENjRpTEFJQmRReGYzRm5lTUl1TVUvdGxzNlV2c1lGWVlQ?=
 =?utf-8?B?TlZEMHI2TnZaTW1aVG9mVUpCdFhNYmp6S3dDNGVwQVBjbGZ3UXVxMGdTRTM1?=
 =?utf-8?B?V0FLc3d0WTRHTTVqQSs0WjE2TlhaZHU0NXhneWc5REwzZ0paNlU2VmRUVkVk?=
 =?utf-8?B?WVl5dnRYMlEyWHhjRDNKYTNQaTJsbnk2QVJNenJmVmwvdmw4ZFBwZWt0dTJ0?=
 =?utf-8?B?NnNGTWV3dDBUNGR5ZFNKUXJKVHBoSGVZZzh4cnZweWgwdWRGTnJZZVkxYmRp?=
 =?utf-8?B?T0t1R3lwRXZPM1RDanNpcXU5U01sWFM5V0lyWWI2R3JZVjdpRForSFNyUDRj?=
 =?utf-8?B?bVBtSnYrZ3BIMHlvMldhQXluZHB1aWl3MUt3OEkzWVliaHFuNDViV1lQOTZr?=
 =?utf-8?B?Mk1Pbkdhd1g1L29QN3FRcGxIWjZwZE9FWWp0anM0L1lCZzJKNlJxQkVCR2FR?=
 =?utf-8?B?dzlZbFFMblJkSFE1MEQ3UTdJRkdZUGtCOVF3QURHYXlFN3FoZmFlOFRkWUdM?=
 =?utf-8?B?OHFIelVIRWtLQ2tHRGozeWlaSGRwc2RwOXUwMHI4d0lxRHFBdTZDMENCaEhv?=
 =?utf-8?B?VDkwOTJOOGo0M0IyRkhja0Z0LzgrT3NHVFJaRysvV1d3OTVzSTQwUUhaRktM?=
 =?utf-8?B?c1FoUnJOa0oxSUVDYndjLzRKRHkrWTdxN0lEL0lFc05CRTNEN2t2aGRnUkJO?=
 =?utf-8?B?M2w5eENQd0lLcytsQzU1ZzBFeTNrdzdnY3VjdlJMTlZiNHVoUk5yYUlhYm00?=
 =?utf-8?B?dEs5TmVsNWE5QW5FQW9WRHlNeVJxKzRkUXNTbVpzYW5xbDMrQ2dHYnc2bjMx?=
 =?utf-8?B?UWpXcndvSDlxL1BFL0hyMnNoNFpSb2l2eWQ0S0liMzdSbmxibk93NHBjR1Nm?=
 =?utf-8?B?cm1LeHRvSWZoZFZGU3d0VHhXeERvZmJVUlFjMjlod0JSYTNVMXJpeXhrR1Nt?=
 =?utf-8?B?Y3NjQnFEUU1qdlVYNENFUVcwS1V0Q2c2Ym0xLzk4L0dJWkNhNm03RGwxQWxE?=
 =?utf-8?B?SVFmaWVoVlBCdFl0cXVMaXZ5WERQdmhoTlgwZkQ1aW5TMS9DQ2NteGlIVEZi?=
 =?utf-8?B?Q1poVXA4K0JhcG1OeWJ5bEJlTnRtekdzTGl4K3R4aTdHNDdWYVl3Y1VmMEE1?=
 =?utf-8?B?aTU1VGY1MEg4anJXaU5YcnZMY0kvMlZYY2J5Wng0Tm5TS1J1L3N2a0FqYzcw?=
 =?utf-8?B?N3hqUnpRK0VYaEhOZ0dFaVVrR0F1NGxTNEhGRXZHNjhGc1JLV2YwY0EveXRS?=
 =?utf-8?B?NjZBdVBseWFYWUlxVW0xQjkrSkNaMXZXaU5oaW4remtYTXpHdDhzblR4UzFT?=
 =?utf-8?B?aFpHbWJXdWVmeUwvMVJaam1SS3BKTWNWSTRyalBQc2V0ZjZjamNkdWwxK3FY?=
 =?utf-8?B?OEc4alc4SW5BQ2tTa1VnWXNOc3lsRkgrTk1YM1VPTmExUXArS0RqMTNoSk81?=
 =?utf-8?B?VFQxelVsK2UxcEl0VXovc1JKbUJEUENjd2FEcElEZHpJdnA2YlE2V1hlaHAv?=
 =?utf-8?B?cWI4UUpOeFoyV1pWOTIxRjhHQ0hya1NDT2NzYnM0ZDFrclAzY3I2ODFQOS9m?=
 =?utf-8?B?UlI1TGJSTVVNbzJqdHE1MDhlMXZPSldqeDFNY0lvdFliZHdPc2cxV1VzYU55?=
 =?utf-8?B?SFZvc3kwcWJZZDh5MGQwSmJ1dTRGbkJibnZNVGZDdm1hQnBYWFVYT3dCOWJU?=
 =?utf-8?B?dSsxbmVtR1M2M24xa05SSTdjaURIOWhTUk1xZ2VpVTd1RlNmOU04RkRQYWls?=
 =?utf-8?B?d2c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: de1b8034-61ee-4ed3-8e8b-08dd614d5143
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 10:04:46.2827
 (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: UD2VomgrE+61KmtyncQu35SMhHZu2q6VG0LbXd3KQ9Eq33l+Qq5iUAVN3oYQWlD7SBNKVM5/smZZcS5DeO7Qz6a8+hp+9K0CLS3v+Ug3dws=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR03MB8216



On 11.03.25 12:24, Mykyta Poturai wrote:
> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> There are high chances that there will be a number of a consecutive
> accesses to configuration space of one device. To speed things up,
> we can program ATU only during first access.
> 
> This is mostly beneficial taking into account the previous patch that
> adds 1ms delay after ATU reprogramming.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
> v1->v2:
> * rebased
> ---
>   xen/arch/arm/pci/pci-designware.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/xen/arch/arm/pci/pci-designware.c b/xen/arch/arm/pci/pci-designware.c
> index def2c12d63..cec52cf81a 100644
> --- a/xen/arch/arm/pci/pci-designware.c
> +++ b/xen/arch/arm/pci/pci-designware.c
> @@ -272,6 +272,14 @@ static void dw_pcie_prog_outbound_atu(struct pci_host_bridge *pci, int index,
>                                         int type, uint64_t cpu_addr,
>                                         uint64_t pci_addr, uint64_t size)
>   {

First, using (hiding) static var inside the function deserve big, fat comment on why and what.

> +    static uint64_t prev_addr = ~0;

Second, from an experience, static vars in functions is source of potential problems,
it's kinda land mines in code. For example, lets assume there are two pci_host_bridge
instances in Xen and they are accessed concurrently.

Best to get rid of static var here - may be move in pci_host_bridge, like cached_pci_addr? not sure

> +
> +    /* Simple optimization to not-program ATU for every transaction */
> +    if (prev_addr == pci_addr)
> +        return;
> +
> +    prev_addr = pci_addr;
> +
>       __dw_pcie_prog_outbound_atu(pci, 0, index, type,
>                                   cpu_addr, pci_addr, size);
>   }

BR,
-grygorii


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 10:12:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 10:12:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910177.1316927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsJ4n-0001Ei-1D; Wed, 12 Mar 2025 10:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910177.1316927; Wed, 12 Mar 2025 10:12: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 1tsJ4m-0001Eb-T4; Wed, 12 Mar 2025 10:12:36 +0000
Received: by outflank-mailman (input) for mailman id 910177;
 Wed, 12 Mar 2025 10:12: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=pbuB=V7=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tsJ4l-0001EV-Vq
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 10:12:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20623.outbound.protection.outlook.com
 [2a01:111:f403:2613::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c9f6064-ff2a-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 11:12:22 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU0PR03MB9350.eurprd03.prod.outlook.com (2603:10a6:10:415::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 10:12:16 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025
 10:12: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: 7c9f6064-ff2a-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Y5wQcxZaOR7xG1+JystIjTAJ+z1qNl0Otor6ovnbDGf9mH7iAiMzmgC6WV8poV+725OL0D876+UhmeL09OlYNEHHWi+3CvJsDrPbwTAeNj3D7iCQ7Qqy27mAJ6+/9+e49Tt+DhaW2dbrrRKaosjW24AICy4Cv+sG/5iPxt/cbRfqeGObq1paFOGzpRsefmp1v7bcA3i8EUJ2xgxZrpXrp5hNxa3DzGPY6IQOUMlFoL1lztrh8nuPZhusliFDx90jiOYHuO1gKxTy74aJ7D4m1CaDnUoNTgDRXA5U2tXUEsUzwIAmJf1FT4LRsw5vbd+wO+o6Dm0qt6bOGN+IfwDpyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qIuxvoYl6yVWRIaa7ZCqGodLkZXrTIzc0XRyttNfbBY=;
 b=f8/0Zok/l4HPEpBJxaWNsxMFeIn9qKtHclZwRuUDW5rMTJ/wwJGRDH0acfmzWntApzCJYQRD0fh/0Qe7UH/luEz2gs79EvnRO4Q87Pk6qxOPDacyrIpJBzoS7tndGfomaqcZu7p9lvSGitkUDqRkFPe+TfEbEyuYbJlsRlsVKimuuHPP99DkJlh7kDUIUiY1g7V66PR4JDj+XAt91uN9rkCrp1gp6F7RwKfnB1vIrytiP1K1XDt6nRocffOVBiIQwliaweXmLa6Vz/x3m5LvuOAuIwIPUxtjMESGVXIwIp4oIXr3s0WFKGqgmKVM7NQBfkKOl2Q9+jO0WbbJ2wWpcA==
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=qIuxvoYl6yVWRIaa7ZCqGodLkZXrTIzc0XRyttNfbBY=;
 b=CrfmPl8wKUAhVeFVa0ujyCzFi1mJIwsABxjYbrqAjuZp5RirYg3zPxj+y8n8ObQLH71GEX4ELLVrgGTCZH8NOcO78d9J631NKJL8DIym2y1GWocxkBmEa3oy6K/5D6YSFSEuAEhkOtg9thVXzYx7PSAL67HBI6//sJUZlxAwY3uD83PxZ0jpk1WbrxsD/K52ZZHtRuoVm50UMbbtgunq1pqOeCSiNj503qY2rd8g1ciurCs1HpngxhyRdLIVADoIhq8l7HojQAa2gHa+jYiayiw6BlhqCqUereZeTHzdPAJUNZjj1dxu2aQux9yOE7h+gGl/YVemZSdWF4gF1KMWew==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <0cabf89b-4c37-45d6-98d8-38a6719160b9@epam.com>
Date: Wed, 12 Mar 2025 12:12:12 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/7] xen/arm: rcar4: add delay after programming ATU
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <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>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
 <9cd78a64dde2e0a039919a08025abaa89d63966c.1741596512.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <9cd78a64dde2e0a039919a08025abaa89d63966c.1741596512.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0168.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::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_|DU0PR03MB9350:EE_
X-MS-Office365-Filtering-Correlation-Id: bfba560c-7b3d-4886-70d5-08dd614e5cd3
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?Qm92M1QwVEZBQWxmaTZXaXphd3JrTy94TUk4V0Z5Y0VUSzRiQkh4d0IyRUs5?=
 =?utf-8?B?TVhCdkc0NG02cXZvSTZZRGc2NGpwQlhVRjdDU3NBeWhjZ0dpUHBLc3RmaTlr?=
 =?utf-8?B?SDJNU1lmeXFOZE82dVFHWTJVcWVqaS96cmtDenJIb1hTanl4dkEwTkVEMlRS?=
 =?utf-8?B?bFFqVGJuZFIxOUxycGN2V3U2eGhNSUdEeXdtVitRYTduTG5vTllERTJGT3ZQ?=
 =?utf-8?B?M3ZrVCtDVHZOMHFHV3dZbGJKU01jV3BFL3Bwa3VUU2s5NHIwM09aRFUyR094?=
 =?utf-8?B?N0M0U01KNW1Wb2hYSExiVk13WWw3elpvT3Z1cXA5UGJiaHJ6RlM3aFZPb3ht?=
 =?utf-8?B?bzNPZGRmRjFCNU9XbGVhR1dBN2lWK2ZPWXZxc2MzQ1dOaWhDZmJkRjVmT1M5?=
 =?utf-8?B?b2tOVVljMUVYL0wvVC9jUkxPU0VreG85N2d4ODVsYURkVXJiS2ZhNGJMYUlF?=
 =?utf-8?B?U3lRSmtrYWdRa0NMOWNwdHJqN2xiUDR6aGtBUmZSVEpST3FqdnVDSk9jb1Bs?=
 =?utf-8?B?VFAvVDA0ZVVPb0gwWVYyN3M3VVZuYkd6eEgyOEtaa0IrKytKT3k5L29zL2k1?=
 =?utf-8?B?Q1kxRHlWQlRHeHJsSkdrNmRvUG1EL0dhME45RXUzUWdpMURMRVJzeW54bVRu?=
 =?utf-8?B?VzNQV2dUK01na1VNRWRUNDMzZjRiRFZlVWk1aEZ0bG5OVWV1T2YzeDBETWhn?=
 =?utf-8?B?am0zOFFod3BScVRvcnFlMHN2UXd0SlpNcjJmMFRTbEtyRVROUWtKNUJzYTk4?=
 =?utf-8?B?QnpzMHB5NTdIQUNhUElUUlg3NExtcTRxelI2NDQwNFJjZVZxUnczYi9hamhQ?=
 =?utf-8?B?NW85K0xTWDNNUEVmRXdIazJHb3dIZ1BnenN1ajl5Ym1oeVJIR2VORU5zK1hu?=
 =?utf-8?B?d2VWb1lzbVExZmVVZnFiMHZnVUNaamFtTk9VMHlKSXRyVktZeG5NeG9vZU15?=
 =?utf-8?B?LzluL2o2UnA3VUU0MHF5dmpycldTdnNySDlEazNwVmNLdUVXd0V6UzRYNzVP?=
 =?utf-8?B?WDYxSi9ZdXdOQ2NIckVnNWZkdW81eUo4bEQ0ZHhmT09USWVwOXBVSjU4dVN0?=
 =?utf-8?B?NTE5RE1IQWUxZXRWYktVb3Q3TTRrcWYxWUhzeHovV2hreU9RYTFES1NHRXBz?=
 =?utf-8?B?V1h4aTV2K2pZNWZHNkJEMEtraWFXZDRLZXY3OHRMejZoaWVaMkJxUkprV3dk?=
 =?utf-8?B?NDloaUVMNGI5ZnFnUlorN1Q1WlpienE3bnd3RGJsZkdRRVo4bjM1L3piSEds?=
 =?utf-8?B?VmNDWjNJMjNVOXBpOFJxQy9FSmh1eVdsUElOclNoZzcwRzZTbFRtN0RrUnRV?=
 =?utf-8?B?M01VRGRoUElCbEtyOTU3NUxzWlZ3K0dXTDNWMlpuSWM1UUlsa0ZQSFJ2OTl2?=
 =?utf-8?B?U09yWVpnMXFyemkzYmIzdlgyK0hURFYwbm9LV0FaYm9YeGhtVWRwdlhPWXlZ?=
 =?utf-8?B?clk2WVYwdi9mdGNxWUtVR2VveHRrNDB1Ukh0eE1SbjViTTY0RTAxNTZ4V0x0?=
 =?utf-8?B?OGppQjF6TStMUWF3Um8vOWhDaEtlNUJXN2kydStSelBhUHVibDVVSHJIVnBD?=
 =?utf-8?B?S3g4U1libkVydHdDQkhnZU9wRTAva01zT2dPdXFZekFqdmh3NkIrMno1SjBR?=
 =?utf-8?B?R29uZzF0WE5UVUFYcU9HMzRuVjhzQ2tmaThLdjNjQ1p4dDNpOUF5dHNRNjZl?=
 =?utf-8?B?Q2pLMHFlRW1jUlNIcEdvdzVVamF6YnVsc3Q1QVJpUzFvMU1FWFBpNjNZTkpp?=
 =?utf-8?B?SGlFK25tTTB2aXFtR0NjQTU0d2hPRUQyQjZ3OFdkVG4rZFJiNmZLMjVBTWky?=
 =?utf-8?B?V0Fsdm0rU2JSZExvOHY3aDNWcVZNWWRmWCt5S05Wem9xSVF0bTZ5aUtJNXFD?=
 =?utf-8?Q?no85/ma/QofWs?=
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?UGNRYkJZYjBiQmVYaXgyaGtTcXlXb04weS9YRDdjekwvekZOOFJTTEdjSVZP?=
 =?utf-8?B?WnhTMHNERjZyMDdCME1XejB6cGtTTFpSK2dleEo2cDJVRld1NEhQWTZpZm1s?=
 =?utf-8?B?OCtNNXc5c1ZCUGRucTR5QzhHa0t5ekpFTXMzRUhuRUt0cDBmU3RyTzRGdU1X?=
 =?utf-8?B?VWwrT3BYeTBYUEdJMkRiUmV5K3NoWmNjM1VMU0JnRG9RRWdUT2JxaTlxU2Qw?=
 =?utf-8?B?QVVsOHFhU0paWHdSZk9PT1FlRkxWa0M1SVAyN2hxUHBKb3Y5V2cwanBYVDFv?=
 =?utf-8?B?cGpTc3h2NnJWaVpYeDNNN2plQjl5MmNvSEpYWGY2L1BsdzRNRUc2bG1zajZw?=
 =?utf-8?B?WmtQdGpSV1RFblZaLytoS0t6KzJDRHZpZ2Z1RUp3VWd2QmNxWjdVbWxnS09R?=
 =?utf-8?B?b1JZMWZQMEJqZXFWUU1tS3ZCL0w2RFJiaGJIWXp3ZTlSelBwd2g4NmUwc0Zx?=
 =?utf-8?B?bDhOYVpwb2oraHNjdGs1NVR0a3J2eDN1NDhIMXBLUG9iS0drNHk5bWYzYXUr?=
 =?utf-8?B?aTdMcW5VenFjZ3BQVVdyNkN1OSt6VWh0TWZYYWFBZ01lR3dRU0UzTlcxb1NF?=
 =?utf-8?B?V3orcytDWHFiam5pNWZBUWdCL1dNdjNOSS9rOVNzMmFRUm1zT2E0MzhSdE5m?=
 =?utf-8?B?M3o2VWU4QVMvQ2YrNVJLSmxIMjNHYm53ZEJhZVlVbjM0VUduRWlEMk1RRVI2?=
 =?utf-8?B?ck4weTJCUWZYdXFZeTVwWUtWZjJ2b281U3VKeVJldTRVdzBLKzUySVdETWcx?=
 =?utf-8?B?YTgxbGxBazluZTNpRlNUT0NCTlluaUJxMmVobEM5czl0QTQ5Q2NqanAxUlUx?=
 =?utf-8?B?bW1CalVxWFhtdmFQOS9hZzVvZWJaSDdDSzlOMTI3NDlpQ2FHTTZsNTFRcFZu?=
 =?utf-8?B?b09CUjBVTzcyL2V4TkF0Sk9tWFNlYXVVRmMwQ29iQVlCcDhabTlWdkFxRDFa?=
 =?utf-8?B?dzE1bnZUbWVTNmhvaG9xa01PKy9FblhuT3FYcWZVVXpVTEJnN2ZXSE10WG5s?=
 =?utf-8?B?VFdnVFJBM1ZqelRkSGt6bzhFaDhHZHZ2aXRFUTVZaXBuS2QvakltYXJwZE5x?=
 =?utf-8?B?amgxQXA1dkhoc3JvUnZTRjcvRDdOeVlvSUhhY1VGYmVWSW9YelZPY2l5WmM2?=
 =?utf-8?B?cnhMOFFSc0NNV2Z2Wjc2RmxkLzYxcTh3aklQdnV4N2RuRTRFajViRmc5RFdM?=
 =?utf-8?B?UlUzNUk0OTFhY0EyVUpocW9VUkh1K2tJcHBlaHpNOUlYbEtJekpJRGN2SFBI?=
 =?utf-8?B?WU5nWmFmcGxJNmgxRExSSEt6aytmVlFaOGpUb2J3K3hoUmtHTTMycTZBUUNp?=
 =?utf-8?B?MU0reHNOM1F6TmpRSkEvRHh3RjhhZDJYc2ZWZjFheHUrT2V2V2h3L3gxSHpZ?=
 =?utf-8?B?V3hBMTdSSDQ1SHlWNU1iN1hOam5YNkh2dkYyNnNyWWJUWkRreHVNZXRaTmJB?=
 =?utf-8?B?Lzl5WExWbzNKRmhETkFraVRrN2Z5bXZkcHFiMDIveDA3K0NCcjhBeEhzZ0c1?=
 =?utf-8?B?dlFCRlpNSnVqMGZkMW1sSXQ4RzF6d29iaVlkbW5EVlhPWXg3Z0xaL3Y1djV5?=
 =?utf-8?B?UFUvbWRMa2RqWnZLVnNiK3p2Qzdjd01QVkRRUDZSV05Jclo4cmxRL1gwV1pz?=
 =?utf-8?B?akhxckJKazkzMnRvRVlBRDNBdXNRMS9SbHBFQks3UGxWTVBRRmlKMTN4cEU2?=
 =?utf-8?B?dmRPNHFDa0tKTVlrdm82RlBJcnBHRXNSZW1kbS8rV3Q5bFF1L0ppQUVnU0Fu?=
 =?utf-8?B?cGM0OHp6b0hCNWNJYjZoNGV0aTZOdnY2S3FydDlZRElIRE94VGFVOGNYalZn?=
 =?utf-8?B?a0RDL2NIQmN1ZE9PK3prY1JXNXZTZlZjRmdIaGFjbDQ3enJ1Z1hyb2FHK3Q1?=
 =?utf-8?B?cGtwVit2UkVDQXFzU2dUelQ1RkZ0bzFOYTZFYWRFUFpLOUVaL3A1T3JTWkRP?=
 =?utf-8?B?aWgwc1dLbThTWUNQOTgrZDNZQjlneitVdVZMc053TE1UK2ZURWI2N290MWNu?=
 =?utf-8?B?azV6QmlrRGJhTVhTZjlwZUpkakJXV1lYdE84QWJIb2NqeHZES0VRbUorM1V6?=
 =?utf-8?B?Z2k5YXZRT0M3SjZYMjMwNmVpZXdSUHlKbWVpejBEZDQ2Sks3RlV6VU5FdmZY?=
 =?utf-8?B?ZWlvZzBsWmlEcTlLditVdThEZHg2UlFCSFZ5Q3B1NWNiaGxRL1FOTEltTURV?=
 =?utf-8?B?OUE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bfba560c-7b3d-4886-70d5-08dd614e5cd3
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 10:12:15.0542
 (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: 84412EGPHWlo2xmpyNlMbgtzgq96j1tryEhEj+k//MRaooS482GLrwwpg+dz4X1364JCss+0FL+uaBMVd+8I00ILlgROoA1Ireroo6VnCVY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9350



On 11.03.25 12:24, Mykyta Poturai wrote:
> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> For some reason, we need a delay before accessing ATU region after
> we programmed it. Otherwise, we'll get erroneous TLP.
> 
> There is a code below, which should do this in proper way, by polling
> CTRL2 register, but according to documentation, hardware does not
> change this ATU_ENABLE bit at all.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
> v1->v2:
> * rebased
> ---
>   xen/arch/arm/pci/pci-designware.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/xen/arch/arm/pci/pci-designware.c b/xen/arch/arm/pci/pci-designware.c
> index 6ab03cf9b0..def2c12d63 100644
> --- a/xen/arch/arm/pci/pci-designware.c
> +++ b/xen/arch/arm/pci/pci-designware.c
> @@ -194,6 +194,11 @@ static void dw_pcie_prog_outbound_atu_unroll(struct pci_host_bridge *pci,
>       dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_REGION_CTRL2,
>                                PCIE_ATU_ENABLE);
>   
> +    /*
> +     * HACK: We need to delay there, because the next code does not
> +     * work as expected on S4
> +     */
> +    mdelay(1);

It seems like a HACK to WA some platform issue, but in its current form it
will affect all DW PCI compatible platforms.

So, it is required a proper solution for the affected platform to be found, or
some sort of DW PCI "quirk"s processing code be introduced.

I'd recommend to drop this patch for now from this series.

>       /*
>        * Make sure ATU enable takes effect before any subsequent config
>        * and I/O accesses.

BR,
-grygorii


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 10:16:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 10:16:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910188.1316937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsJ8p-0001ot-Gk; Wed, 12 Mar 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 910188.1316937; Wed, 12 Mar 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 1tsJ8p-0001om-Ck; Wed, 12 Mar 2025 10:16:47 +0000
Received: by outflank-mailman (input) for mailman id 910188;
 Wed, 12 Mar 2025 10:16: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=qnRX=V7=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsJ8n-0001og-QF
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 10:16:45 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20606.outbound.protection.outlook.com
 [2a01:111:f403:200a::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17a140d6-ff2b-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 11:16:43 +0100 (CET)
Received: from MW4PR04CA0214.namprd04.prod.outlook.com (2603:10b6:303:87::9)
 by DM4PR12MB8569.namprd12.prod.outlook.com (2603:10b6:8:18a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 10:16:38 +0000
Received: from SJ5PEPF000001F4.namprd05.prod.outlook.com
 (2603:10b6:303:87:cafe::8e) by MW4PR04CA0214.outlook.office365.com
 (2603:10b6:303:87::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Wed,
 12 Mar 2025 10:16:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001F4.mail.protection.outlook.com (10.167.242.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 10:16:37 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 12 Mar
 2025 05:16:36 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 12 Mar
 2025 05:16:36 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Wed, 12 Mar 2025 05:16:35 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17a140d6-ff2b-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rCDlf0KyKQUclMVlB+4STzoSvT4c2N+RFVDD56VXrKj54V6jsrWDAg81pIz5JAyjW8kP2r0Acw8O4Y0pwWHDLsKjvZwUHj7uy027lqhpB+c8VqzbRK9Ulj9tx54G/Kmdj3mitI1HMyAMQxs0i3ZySkhFvQWLsvABJ1oztOIi4Z1rqcCxdzB5y2Lu6sxoZfgfIyMIxKop+I4sH1Pd/TYUfjhSDaCnvl8eXaC0uOixLex87jyBVHi80esI2MjpUi4zy1SyprrqnvlFucQsetOIBLEXVZK+hVdlr0oAA2I8OtEn+vvlHDM/N3t7BaPAy0I52HV8AxAa2k34Xq5k82kfLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ix6kopAMFhaIxGt+OPiCb5aUtkHVBjxIJ7HeFgIwq3g=;
 b=NnkX2705oEshBaqu97Y0naoCqgHnAhwT/jf10c/2NUvRX6dElLHfR4wYAmMTzrc1hLTCWAWDPQcXzOLx+HR2n588P/QBJwtjYT/OUgLs17J8Ycbcs2Nx3lhzw4hEIibLzh8d6YfPJ8S11z9ahc2hcx0WnenkjnOUHx7kfqrni9Wpno4H6lY6jx5+mfTYlaXhQ4CYLzU8wCgZ1ph7pYhAKpRtMjU2LG6TgxBjCUOHfoiHc+ZBzpJIsKjO+8R4LHX5wL2zb4MmM5H1Tpsu9XwgfvdaQ8k6KTT6+92dF1N9zy/tuRjdYrjls/PrT+OCeTm5L8rC3NERoBKU+cjqowy+Ew==
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=ix6kopAMFhaIxGt+OPiCb5aUtkHVBjxIJ7HeFgIwq3g=;
 b=sLANe1aWhA5nlNkKb/1I/P16+enbW4UdAlb25gqjuyMZjEA3HRqTo9T77MC/e4GNFeO8g4jAGjiFR9CGafDGz24pHCDuQ7//IJZwCihdvOlLWRqv1iOZOt1igQkxTsGoHqMg9mwwOH0hggAp6jvUeDhgzmWa9RI8p8b+ml/FBqk=
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=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 0/2] arm: better handling of nr_spis
Date: Wed, 12 Mar 2025 11:16:17 +0100
Message-ID: <20250312101619.327391-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F4:EE_|DM4PR12MB8569:EE_
X-MS-Office365-Filtering-Correlation-Id: 93eb48ba-d985-4afa-a64f-08dd614ef9a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?96tgSLGq0OkLL2eQoJ92voERYkbTdKL2NNSVwiNYH52A0MzaLK19aEsmIAXj?=
 =?us-ascii?Q?hBsf/L4aSZJbw4jlAzA15dS6tflrd+M98njOjL2KiKfxKdbwIYeIN3SJJ26s?=
 =?us-ascii?Q?/cMWimlVU167j+67BnWr02YE/J4YG96ffIbI2l6qt4Rsy+98wC1ayHqERvbo?=
 =?us-ascii?Q?/ICGrjG8chAMOwMhQoDMcLclkiSbfDXP9JPjBuj+5xYkpW/NQN0NIinRO9Jf?=
 =?us-ascii?Q?7vkMtEObumPbpgaiWIFhg3qWthsONfdXJX9xNnVyXMQ4+ntfGb3JLYI2ZR8B?=
 =?us-ascii?Q?kfY7cg+J/9gqGCMgx1ySLULV7dSCbzFwTAWdcBEp/mzmC5E7qsytU0bsgawf?=
 =?us-ascii?Q?d0g5CDrlxDvH7BdgITjfKNHyMdcWh92J+IjzpOOlBzFPyPh3RQwFQ+3UrrR1?=
 =?us-ascii?Q?DwKQ90n5bp3dL/n5dDLfXPIGrHlow1ZgxcDLqr23/8RjPkAZQARwtXc1/qLD?=
 =?us-ascii?Q?2YONshEqo9fi158qr0HZfZCX/yB+fbrRTfMYvRQV9lRbGNBrHiRb7NT0OJGQ?=
 =?us-ascii?Q?rFuk/ZbwpbDIPHPqWy6LMkqJxZsXxTLI9MCnpfOT6UeEs4k9JyWK50eTZQE5?=
 =?us-ascii?Q?RQS9Ck2n99B9nPzJXeRSRVB45Djp+SWS/Id6CB7aN3Pt6ycH45stZd3V6Yyn?=
 =?us-ascii?Q?FotllBXTeGlBT88sAE4KGEY6yITi5jrlZJ5zz4+6vsAXG/rmENp3EpIk3bg6?=
 =?us-ascii?Q?ErGisWFYemSiwnQTDCwffnWXgaBu7w3oj/KcQe0FFHdbsJ2mqj+d333PbFWT?=
 =?us-ascii?Q?Q69AQhxtFKFsPBrokcmCyJt7slF2YzgmgLke8ONWklKYGqkiEyalVByihYhA?=
 =?us-ascii?Q?kTS+tHhaaa7LgqUhH5yNZfWCb2O875RSdcgTENGdxXvp9+3xcveMQaXEAejs?=
 =?us-ascii?Q?dQfYn3WmdYgrees926khknPNlOsyCtJP1L9EILb3d54bmevdBrHEr5EMp/MO?=
 =?us-ascii?Q?rEhouzrH5FGratveJscuCyfcMOM2NgRkZOO4JDc35dG8jF0BrCwEllEhcltJ?=
 =?us-ascii?Q?efRsEw1Xl3neK33YSBkOfUqKZtnFOSUFoMupl45IZHaegie2/3Dzg9uCkkIH?=
 =?us-ascii?Q?39wZR7gUSK4wLpv4Fvdm2TKjuEKADTXFHlSH1Va5uid3n9oXSSBBAOw5sQMa?=
 =?us-ascii?Q?qkcXaieAMuq2f05xl/z0V5h1V8uuVW//fYDxDpnC7OwRXalEqTv2ydzxapJF?=
 =?us-ascii?Q?GfL/DsYzp8/HoIkdePPX0PUqm5VLHrgMun02O8knhxKdInJdyY1KXzNxSzG6?=
 =?us-ascii?Q?B9HVO8aqfxR4hHBt2z3ecB5yb/nkhSP0IGyKFu/sSf4JV7eaNddSwRU2k0q5?=
 =?us-ascii?Q?948cq3tooEC29cG8vinK3ZQLSGovLWqDcvrATt1AbPgMWlXGw67laFoV3PZz?=
 =?us-ascii?Q?FxG+H5YPlKnX8ueMKEvFiyG6r6o1BRCFMKZQdZjyRVRYMjXEAToeq1e0I6vB?=
 =?us-ascii?Q?VuroPr5PchmpuUjoTeY8kL+HXhJ/DAfj?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 10:16:37.8773
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93eb48ba-d985-4afa-a64f-08dd614ef9a7
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001F4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8569

Refer:
https://lore.kernel.org/xen-devel/20250306220343.203047-6-jason.andryuk@amd.com/T/#mc15ab00940d5964b18b3d6092869dae6f85af1dc

Michal Orzel (2):
  xen/arm: Improve handling of nr_spis
  tools/arm: Reject configuration with incorrect nr_spis value

 docs/man/xl.cfg.5.pod.in        | 13 +++++--------
 tools/libs/light/libxl_arm.c    |  6 ++++++
 xen/arch/arm/dom0less-build.c   |  2 +-
 xen/arch/arm/domain_build.c     |  8 +-------
 xen/arch/arm/gic.c              |  3 +++
 xen/arch/arm/include/asm/vgic.h |  6 ++++++
 6 files changed, 22 insertions(+), 16 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 10:16:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 10:16:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910189.1316947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsJ8q-00023F-RB; Wed, 12 Mar 2025 10:16:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910189.1316947; Wed, 12 Mar 2025 10:16: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 1tsJ8q-000238-O1; Wed, 12 Mar 2025 10:16:48 +0000
Received: by outflank-mailman (input) for mailman id 910189;
 Wed, 12 Mar 2025 10: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=qnRX=V7=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsJ8p-0001og-Jt
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 10:16:47 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20619.outbound.protection.outlook.com
 [2a01:111:f403:2413::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19729e59-ff2b-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 11:16:46 +0100 (CET)
Received: from MW4PR04CA0213.namprd04.prod.outlook.com (2603:10b6:303:87::8)
 by DS0PR12MB7801.namprd12.prod.outlook.com (2603:10b6:8:140::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 10:16:42 +0000
Received: from SJ5PEPF000001F4.namprd05.prod.outlook.com
 (2603:10b6:303:87:cafe::45) by MW4PR04CA0213.outlook.office365.com
 (2603:10b6:303:87::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 10:16:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001F4.mail.protection.outlook.com (10.167.242.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 10:16:41 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 12 Mar
 2025 05:16:40 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 12 Mar
 2025 05:16:39 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Wed, 12 Mar 2025 05:16:39 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19729e59-ff2b-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PU1T0C5gfHJDLke44ZRarJ1jiOLsjkbEEpp3V2urGfBE36v+qd8tWU1LEvZ/JzmPexICRjpLBB8gURFG3uO8x2yjkn+BYAwOQ4Y6viTLBzuFN3Ojk9LuSbZT3qnQjCueanfVJdLU8Brs7IO23YcwebZ2rdfYrX4e9nE21kQ73PycdLJqJ0QKxKb2FlGi3xg2+O9oZ70jpdBeJ+pWWnaGKLZ0AEQaEkOBpDaEbWR8TZBsUWqW9Yth9o3OkzbhlBuYIy8bV6+/tIv1FHnJ/tEfycaRevlSDRQnXmzazePUP0/L+S9iDD7XVPrMNJlJid8whGGdc92FAXpo57Adpb+zCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5unY60UllShS4fHki6ipXQaxRzk+8Bdb3SI1EP+Zams=;
 b=hZRPj57+kFzZ0Q6b2sOwkAuV3/uet+p115kpIqDPx2FMhKEDwwR8nxQaIoD+PP0fn4Wl6uoOByv6PTosccjBqiUKmdViZjb5CoW/kiL5gyO2NzylYEa8Ezh1TcyDHBj2y0bg8+XRS3DSCNmVddX052tgMJQSfKzGXSAH6c9p6j/DRrFzkEoKrb0klZp66rmhqIrcnXDaCY3yzCZsS0flQRMukA9B08XeHz7NvROTO0qAOzlHt20Ypp6tFyTCjUI2rPxNItTVZHaxokqyh6M9kI0uYMogsPDtg4McGeTNIq2tIr/JD7CdqNh2CpZbfM2mrRn5v/w+3dsncSVE5wtgrA==
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=5unY60UllShS4fHki6ipXQaxRzk+8Bdb3SI1EP+Zams=;
 b=pNr5zCSbGIPmdXdPjaOBE3jcdSDRbQQ7zmJRH57DzXt6h8KrBNOjUVxdLUFkomW0vRDWUF1VzRmM8WSdjZ8KYImddKx85SxrY5fXpFWTlaWcwops4K1fm0RQUvWj2YvsnNdL2xILTmTDDWETFRmjqhPosTxp3wKiXLD5Ocfn9sA=
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=SATLEXMB04.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>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v2 2/2] tools/arm: Reject configuration with incorrect nr_spis value
Date: Wed, 12 Mar 2025 11:16:19 +0100
Message-ID: <20250312101619.327391-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250312101619.327391-1-michal.orzel@amd.com>
References: <20250312101619.327391-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F4:EE_|DS0PR12MB7801:EE_
X-MS-Office365-Filtering-Correlation-Id: ae8ca0a8-011f-413c-8ab5-08dd614efbf4
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?RjARUbn3ZLzLcDExq6F5lb/7pMoj9Wm0DaYhc5tKAKSwA0EekeFoGNJxPMFd?=
 =?us-ascii?Q?+Y2hlQoo+Qb0ZneJ27PtBMgGQLVHlFg8IBDlWdbCKd/2J6NTQHo71hgrIYkl?=
 =?us-ascii?Q?QT5Rgoq6UIvOvu2vjhuYbl0LzdizctrTAx7URoNKlyg+foOLNpT1LJ7qoOwA?=
 =?us-ascii?Q?RkwmP1hUqoRrhVTMl/g+Xu6X8E/Ts5uVfLdKUpOdz0UyaHZplhm8DwJ8jSOp?=
 =?us-ascii?Q?mirmRJzeiXm7r+c7oaPounLbme7l/rjNW1oKCttlT6KrzoU9aO5sPK3CNw+f?=
 =?us-ascii?Q?i00SOCtoG6hurF1BKSs4HK1ligvH21nQ7a7QudDFfK8YfqYlcpydbNTYum1U?=
 =?us-ascii?Q?GGDVhM+lidpuJw5nbtU9AmBfZrpv9BsJcTiwUsqFie7Zc/P3AXVfhucxvfRx?=
 =?us-ascii?Q?smHWExsuIuVXn7zm4hguK34kQkGFaMsko3rRDh/a88RJxVG90cAYXpMqgTOE?=
 =?us-ascii?Q?ho4IMVHXeUX994i3JHaMxcVm9LmKuyXYyYT9oiHHrwd1Fqi8erui+bCAOfpI?=
 =?us-ascii?Q?CqORunIwHCSsaj9dj1kwzRbbD9cBZlfajISU5TMNmj835TLW7trjxEx9POBs?=
 =?us-ascii?Q?qaU362estr1bfXRwJ/Sf8aGTBX6gVg4pNOqeOkWRxhpJoTQaGNHphKkW6i2+?=
 =?us-ascii?Q?cE7tCXtXizCZQKioiQLmVzPY9rZ5m5yUyUF4Au4Q9bmWA3Lm9UTrxAc0lOct?=
 =?us-ascii?Q?5ILZfz9PiJS+6XspqGgj2gfgVudUCQ9ARVcQeRp2GtHqWVyPFnDk+bKAQA2u?=
 =?us-ascii?Q?V89mLcIAhbvNUzmNYT5Y81ngU+PNKRpwvFRXypysZ74E5NFf8imeOg6s88Ej?=
 =?us-ascii?Q?GahnwW/LUv1dlTBGb+y4CZiJ08rtPXkk3IpIg8ik2jfELirAkhFI2rXjaQgr?=
 =?us-ascii?Q?SG7LhzaEjF/7giXrQeBL8APzsULW7e3cTA+QtldfDpa8R3hVHffKNuRZAjbo?=
 =?us-ascii?Q?ISo7BIjs/hIbgKdp+03CvS7ap7bhK9s8K45H2IQ081EDyP1F5tTLr0jDwTQM?=
 =?us-ascii?Q?IkY3wZOd+G7Qg4cE2pUPvoRWMVY4P+yJxW4gOG6j5ELronzfTPI973wMUbZF?=
 =?us-ascii?Q?PwEpTwAMtxQ7V6basG+bZP0I5HvGsazAFhuMxJlvo43+tUwuULeSYIOheVbP?=
 =?us-ascii?Q?UGNRqofuiOkcnfV2L+Fy5+mjUW/YsrUrCwayQvGb1lQgdSr2XogKQOXNZJeF?=
 =?us-ascii?Q?34SHUO3uu+Rt4eo1KZVnnws9M8Z27APCpv7s48P/kxcEEWqbUtNYv5lzwXAJ?=
 =?us-ascii?Q?7f4uJk4u4JaY/ucCrgK4Je5T+uEPiNt6uu7xUb3BkBJ+AA+tnrcyRbjuuqcB?=
 =?us-ascii?Q?LADq/3XyMILf8IIQoP66moLduU0mXp7KJltE8PjGWLxKanqCs9BGyrqcwvXq?=
 =?us-ascii?Q?RuOYajEg1iY3FBZ6lZMa/y8VcuTPCUyQuljFCvhq6WdrZ+9FDnbZdSJrCZKn?=
 =?us-ascii?Q?SMjhZispaLwi6DrfpX742AcHjeMFZMnb2+rLJgaHPT+rY4FaTxr/3mHa3rGu?=
 =?us-ascii?Q?UCPta/ifesDjxq8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 10:16:41.7366
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ae8ca0a8-011f-413c-8ab5-08dd614efbf4
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001F4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7801

If the calculated value for nr_spis by the toolstack is bigger than the
value provided by the user, we silently ignore the latter. This is not
consistent with the approach we have in Xen on Arm when we try to reject
incorrect configuration. Also, the documentation for nr_spis is
incorrect as it mentions 991 as the number of max SPIs, where it should
be 960 i.e. (1020 - 32) rounded down to the nearest multiple of 32.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
 - s/required/minimum required/
---
 docs/man/xl.cfg.5.pod.in     | 13 +++++--------
 tools/libs/light/libxl_arm.c |  6 ++++++
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 8e1422104e50..7339c44efd54 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -3083,14 +3083,11 @@ interval of colors (such as "0-4").
 =item B<nr_spis="NR_SPIS">
 
 An optional integer parameter specifying the number of SPIs (Shared
-Peripheral Interrupts) to allocate for the domain. Max is 991 SPIs. If
-the value specified by the `nr_spis` parameter is smaller than the
-number of SPIs calculated by the toolstack based on the devices
-allocated for the domain, or the `nr_spis` parameter is not specified,
-the value calculated by the toolstack will be used for the domain.
-Otherwise, the value specified by the `nr_spis` parameter will be used.
-The number of SPIs should match the highest interrupt ID that will be
-assigned to the domain.
+Peripheral Interrupts) to allocate for the domain. Max is 960 SPIs. If
+the `nr_spis` parameter is not specified, the value calculated by the toolstack
+will be used for the domain. Otherwise, the value specified by the `nr_spis`
+parameter will be used. The number of SPIs should match the highest interrupt
+ID that will be assigned to the domain.
 
 =back
 
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 5a9db5e85f6f..2d895408cac3 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -181,6 +181,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 
     LOG(DEBUG, "Configure the domain");
 
+    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
+        LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
+            nr_spis);
+        return ERROR_FAIL;
+    }
+
     config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
     LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 10:16:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 10:16:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910190.1316956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsJ8s-0002IR-13; Wed, 12 Mar 2025 10:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910190.1316956; Wed, 12 Mar 2025 10: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 1tsJ8r-0002IK-Uh; Wed, 12 Mar 2025 10:16:49 +0000
Received: by outflank-mailman (input) for mailman id 910190;
 Wed, 12 Mar 2025 10: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=qnRX=V7=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsJ8q-0001og-Qe
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 10:16:48 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20606.outbound.protection.outlook.com
 [2a01:111:f403:2416::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19de634c-ff2b-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 11:16:47 +0100 (CET)
Received: from BN0PR04CA0055.namprd04.prod.outlook.com (2603:10b6:408:e8::30)
 by IA0PR12MB8327.namprd12.prod.outlook.com (2603:10b6:208:40e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 10:16:39 +0000
Received: from BN2PEPF00004FBC.namprd04.prod.outlook.com (2603:10b6:408:e8::4)
 by BN0PR04CA0055.outlook.office365.com (2603:10b6:408:e8::30) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24
 via Frontend Transport; Wed, 12 Mar 2025 10:16:39 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN2PEPF00004FBC.mail.protection.outlook.com (10.167.243.182) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 10:16:39 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 12 Mar
 2025 05:16:39 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 12 Mar
 2025 05:16:37 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Wed, 12 Mar 2025 05:16:37 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19de634c-ff2b-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AZVlbqaZRHIe2HX9qmfyOS3Pv2Myw1T1wFLaHU29BZGKchrEzBiqCypoRRaufBgXhdz/VcM4vJLwIud5PgA9uAcC63C5NDV3eTPGIajCYKHIg8t6Ws32de+i753iJovWMJZlOcg3SPBznZebPobLnbj1Vte5J9aZXco/UaKOgy46CtRXLR6C/SgfAiF8hJkwjHyUil/FCoIAkWxioeR+vroU6RYpofPC8ipBLhvCdLKO3D5ALhkP1+a0Uc/80D+3zAa8VpMAYz4LJI+izkecM7ok8wxedkt8e+j9uq+w24ewrIXl+RIBOTxINOdlfQl+aaKtE+uSGnUQbqHVzLicDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EUiS3X87wUIiGTOtmKRB+99hMbj0GPrZMJMfpdLxn9M=;
 b=C4yMcSa9VjCvLDdK1yQCY6gePksGMDLjzuosl5lEqEz/LXQd3oPTZ9jlljdX3KrwdCRBep+iCqc8I+5Ye2RmPwDJK0NxkdBeoOJYJEBLknjVoYmvN3MUNP/gTgBSxQIKxzDJ6ixBT1UQy2E7J4ZPoMpbhJ8dFryG3Re2x9N8vsWt0Wqc4AAWiT+nBBcX963rb3bIBfBMrUeFRvThMPiZyHNCQvc06/DWX4hhT+TBUTBINzHlZfDq3TG+JHdPotXz5oBSEtc6QIqJ8gl/zi22JJhEtOSX6FXqo9xXbkfANpn50I3qspqd55HePIQpnwnsZ0CYsLlRzmi2FjjGqyS4gg==
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=EUiS3X87wUIiGTOtmKRB+99hMbj0GPrZMJMfpdLxn9M=;
 b=NbfUNrjJbpC54ZKk/SZgX9+dCxuJi4EGfNuIiOKw22zt3MftgI8nAVsEWsHYWjuuvFtzIXZHFtQ9CyDzdFn+6CYI84fwwbRuSpxc6svJFiUj1U6EyW88uOZE47J7Ryx1lU/b5wutzleX0+ejpTc0bV5LaHbLXy/fhRpWF1DQVMg=
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=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 1/2] xen/arm: Improve handling of nr_spis
Date: Wed, 12 Mar 2025 11:16:18 +0100
Message-ID: <20250312101619.327391-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250312101619.327391-1-michal.orzel@amd.com>
References: <20250312101619.327391-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBC:EE_|IA0PR12MB8327:EE_
X-MS-Office365-Filtering-Correlation-Id: 85778e11-a4f2-48e7-960c-08dd614efa76
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?IcUiYJIPyS+n/scqOSb9EQKGf428U+QBvksKUJxITB30m6bJXf0NK6gAaQIB?=
 =?us-ascii?Q?413yJB6usWZ4jLjxlyRCmHtAS/dhFwu8HgK75mo9l2XFcemGmvqq9z/nNAGb?=
 =?us-ascii?Q?MTc7u0/XPivKROk0abUm81CAIGzhwWZo1x22o22q47lofaeV1gmKGx1KDQJp?=
 =?us-ascii?Q?bb5CnWuWEi5jIWXBkYNqIS5sICWoUpAvGrS8QX87bDSa9bzqUj1mj2/i0g/A?=
 =?us-ascii?Q?pHdwMX0D/22+TxatE6ZxDxS39OVCgkaakagxj/knr0gt24LQBUf7qQ9iL5nx?=
 =?us-ascii?Q?e34P8oYNn1zL2NlN5mq4nzUh/X+i04VOq1IeTyNCM61Wdr2OQ/1+VVQnZmJg?=
 =?us-ascii?Q?VgL3vvcrupwHhhgZANYskXWXtLx/ntEaxLtn7pYYKfTyrq7gYkU5PtM3x7Hn?=
 =?us-ascii?Q?K41p0wTMrwBZtpV4ZfGMwjbLtyzMsrpDlIAq8y5lBjsFeZBT/jITVEQ9ImNX?=
 =?us-ascii?Q?1jpDpq0AOuzywimeRyImYmnpAhNfj/RwpgzE/0abgYHBjznp8wMV88unyfNs?=
 =?us-ascii?Q?9uc1nlpL3Nc/5lfDLvb9RlbCQKheaLmfZ0366wyrn/JTzBOL01GIDjlorYSM?=
 =?us-ascii?Q?fv64EbyrnRNtM7FWDx2qHSgVvkhDYkOQr73aGg5o/UT9WG/G3QZKRZ1HGEgs?=
 =?us-ascii?Q?HSM5GPYAVMc0Vd2G+ZXMu2tX+gTbtq0wGrBaS3q9+64cfzmHM115dZb1AUQ+?=
 =?us-ascii?Q?VkKnR3Wi1PfPC3WkBwAECwfudPGLYNkXe2ARux6uIWhPseT339CffvTB+GED?=
 =?us-ascii?Q?60BvQIqASrOA/m7uuybK2ykZrlIFKmShFHQ1pj8Lo490f/yGDSPXaCf7mIht?=
 =?us-ascii?Q?GVeG1Mzs+nV77gsrazNunSw945xwzFQKAmhNq/EIbAz/tZG0xce0sCLokkeB?=
 =?us-ascii?Q?QWIqG+LzfvUIXf7YD66wbs8HDk8p1zrufj0D432Wuq7Q9+aOvnDdX6wQwfl7?=
 =?us-ascii?Q?DY7jaFQI4Jfn+NQrAJur09ZpQnyzgNsAPGgA7XZSDE0cA7Q5EYFVZMGRNwed?=
 =?us-ascii?Q?SRSDfAUaqbgOiiRzeIEsULsgWwhU9GwAeDxpOK6lYKGlPlaRxFrG6R2/EXBm?=
 =?us-ascii?Q?Vghd0QMLxgP0z3LaN3cRLhs/goxeOIHxRjlmwBTRFwnemK00GD4jMwco11x9?=
 =?us-ascii?Q?WEW9uQI2bi0ennwzHEIS6K5JxUVmAYc/+oMpLCjclP2CGO7B8+KGYY3dUREI?=
 =?us-ascii?Q?Y62cBy4tuIS1KZvhYisfhqKMR3HJtvpVCuS9Py4Uc5MoSF4zSrx8Bih4L8MD?=
 =?us-ascii?Q?U/aQCZG/6EC+HN4SSREsBD1G8rcknWERBw/cLAhWmQAavvBwZXbShhPc0lpe?=
 =?us-ascii?Q?7SU1dpETHxMGtko9hdYQLQCYUCv66wosMmWqMkrfWhvnQo4w1lvhiWDcypDL?=
 =?us-ascii?Q?PD68Dp1x4tR0p42Bb7qoFqyJSY2glnLLjVVwjEEDaGW33L0Pqe2a3+yW2OkP?=
 =?us-ascii?Q?mu94QwctetMqShUgVwLM7sRl/f1G1+Uy9dMjyQWOiML0ZfDG6rQRPkk67tGN?=
 =?us-ascii?Q?tXK34PgDnaOiwvc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 12 Mar 2025 10:16:39.3272
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 85778e11-a4f2-48e7-960c-08dd614efa76
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF00004FBC.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8327

At the moment, we print a warning about max number of IRQs supported by
GIC bigger than vGIC only for hardware domain. This check is not hwdom
special, and should be made common. Also, in case of user not specifying
nr_spis for dom0less domUs, we should take into account max number of
IRQs supported by vGIC if it's smaller than for GIC.

Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value.
Introduce VGIC_DEF_NR_SPIS macro to store the default number of vGIC SPIs.
Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
IRQs comparison common.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - add macro for: min(gic_number_lines(), VGIC_MAX_IRQS) - 32
---
 xen/arch/arm/dom0less-build.c   | 2 +-
 xen/arch/arm/domain_build.c     | 8 +-------
 xen/arch/arm/gic.c              | 3 +++
 xen/arch/arm/include/asm/vgic.h | 6 ++++++
 4 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 31f31c38da3f..573b0d25ae41 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -1018,7 +1018,7 @@ void __init create_domUs(void)
         {
             int vpl011_virq = GUEST_VPL011_SPI;
 
-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+            d_cfg.arch.nr_spis = VGIC_DEF_NR_SPIS;
 
             /*
              * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7cc141ef75e9..2b5b4331834f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2371,13 +2371,7 @@ void __init create_dom0(void)
 
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
     dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
-    /*
-     * Xen vGIC supports a maximum of 992 interrupt lines.
-     * 32 are substracted to cover local IRQs.
-     */
-    dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
-    if ( gic_number_lines() > 992 )
-        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
+    dom0_cfg.arch.nr_spis = VGIC_DEF_NR_SPIS;
     dom0_cfg.arch.tee_type = tee_get_type();
     dom0_cfg.max_vcpus = dom0_max_vcpus();
 
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index acf61a4de373..e80fe0ca2421 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -251,6 +251,9 @@ void __init gic_init(void)
         panic("Failed to initialize the GIC drivers\n");
     /* Clear LR mask for cpu0 */
     clear_cpu_lr_mask();
+
+    if ( gic_number_lines() > VGIC_MAX_IRQS )
+        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
 }
 
 void send_SGI_mask(const cpumask_t *cpumask, enum gic_sgi sgi)
diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
index e309dca1ad01..35c0c6a8b0b0 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -329,6 +329,12 @@ extern void vgic_check_inflight_irqs_pending(struct vcpu *v,
  */
 #define vgic_num_irqs(d)        ((d)->arch.vgic.nr_spis + 32)
 
+/* Maximum number of IRQs supported by vGIC */
+#define VGIC_MAX_IRQS 992U
+
+/* Default number of vGIC SPIs. 32 are substracted to cover local IRQs. */
+#define VGIC_DEF_NR_SPIS (min(gic_number_lines(), VGIC_MAX_IRQS) - 32)
+
 /*
  * Allocate a guest VIRQ
  *  - spi == 0 => allocate a PPI. It will be the same on every vCPU
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 10:19:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 10:19:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910221.1316966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsJBH-0003UD-EF; Wed, 12 Mar 2025 10:19:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910221.1316966; Wed, 12 Mar 2025 10:19: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 1tsJBH-0003U6-BP; Wed, 12 Mar 2025 10:19:19 +0000
Received: by outflank-mailman (input) for mailman id 910221;
 Wed, 12 Mar 2025 10:19: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=yV3S=V7=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tsJBF-0003U0-Nv
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 10:19:17 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2607::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72a998e1-ff2b-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 11:19:16 +0100 (CET)
Received: from HE1PR05CA0300.eurprd05.prod.outlook.com (2603:10a6:7:93::31) by
 AS4PR08MB8094.eurprd08.prod.outlook.com (2603:10a6:20b:589::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 10:19:09 +0000
Received: from AMS0EPF000001B3.eurprd05.prod.outlook.com
 (2603:10a6:7:93:cafe::42) by HE1PR05CA0300.outlook.office365.com
 (2603:10a6:7:93::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Wed,
 12 Mar 2025 10:19:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B3.mail.protection.outlook.com (10.167.16.167) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Wed, 12 Mar 2025 10:19:07 +0000
Received: ("Tessian outbound ae00a21450c4:v585");
 Wed, 12 Mar 2025 10:19:07 +0000
Received: from L179663aa5c03.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 91EA2D5B-1B33-47BE-B47B-4838AD37A228.1; 
 Wed, 12 Mar 2025 10:19:00 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L179663aa5c03.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 12 Mar 2025 10:19:00 +0000
Received: from AM8PR08MB6578.eurprd08.prod.outlook.com (2603:10a6:20b:36a::15)
 by PAWPR08MB10945.eurprd08.prod.outlook.com (2603:10a6:102:46e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 10:18:57 +0000
Received: from AM8PR08MB6578.eurprd08.prod.outlook.com
 ([fe80::bb1a:3ac6:3110:e2d5]) by AM8PR08MB6578.eurprd08.prod.outlook.com
 ([fe80::bb1a:3ac6:3110:e2d5%2]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025
 10:18: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: 72a998e1-ff2b-11ef-9ab9-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=sty4TCV8207NZJEYcREi0gFalSpGVrsAxM1rDis1xLdYGAAe6GfljfW6ZCM0BzmThV8zKxCmGrLKWgDtCM3yrU636R1WIJE+UTczdfdTNnKQrztwMGNvC4KcgKtqbxAjG0VR5HNDT+IfzOOtacCId8ydO7iqCY9d/lmdxMSNV9cJybfQibu408y29c3aELPPBY0HzGNFsKJIaYigfiYJhSkxDKqHj+uc0pCpTXnXOoc3eKUhqIe1PvO6yVKR+6WScRuGW0NK7wt0CpFdc8kZFZA5v5hNjs2OrCNt7DPbnyVCqOHZ2tzKPRORb76ay12suNp8je2iiCFT2c8D1oJ1nw==
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=Bn42wP4yoYAoScoQp+R6oxveYDV5SMA6NYFW1P7XDxo=;
 b=Kc6HttqhPiI36J20JyLC7p6SKa6s5ejhYBvzUvp0i6EBhg4ctdfe4jaJRDph6rmDElDKJOh6Agx5kvZsi+chFcTxyvxirB6LCbMrq/kXOP8Lk2ujIDSbWGUKB4A5/ZVQdLfJpFlvDW96G8GxQvRIbdULTG7LyYqVG+Q+Xgy5rbNtSKELaoENqBjTLzgx6fJNmupG63/iLNI/jhvA/nOi2ZtJ1yniWK/hrxs+bmYUs3kK25SAL+c8PYDou+4yBtf76+zF1ORPWmOQVw5O24DJEa9d0znvT/mg1lACp4DXDRiS2mXD+qcZn6jFtdTBsOdlnOCMUA0yJpcIXt9N8z13nw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=Bn42wP4yoYAoScoQp+R6oxveYDV5SMA6NYFW1P7XDxo=;
 b=RrjBhZtHkxKs6MYftXQfsYxVkHIk7u1kmOlZEreihckxvR8MmnzYC4cOU6okLshcHquY2M8tTUQnogW7cvZdJvKcOVoKt9e+QdfYelhh1QBP14fVKBCGYpwRKcqiKUQ9/DGGLO/xOweBHy8PKbMeyZWWepmBAcvCcnIno+qnoA8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 97574fed7f68dc7f
X-TessianGatewayMetadata: r7V/5MBBmCDiUqRVott4wIw/wqvrdDRgoX2DwRS1ASuxPeuLP4+vOTwzthVwNrELRSK0D5K4cIvWykGAdiwL/TjPJDo5iSjWmJREs1un+jPuNrjNf7d0NOl4NdOBz8lcoykuGc+EX8gRKuRDHaTFQpqdh3RPZhkgtG/TWKa6VVg=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=siMhGNWUELr37buG8181jVHnV/nHf6BXIVt5O2ZvQXHLZSjXBxHXCrWnbOlXY9Pob9B1chsM8DiUVi2ZdG8ku/w2QV7vgJ7Zce0cwo7dcDJIIih1MTz6JINcVl11UeHp3TT1IPANtB2s/AOLAoByyE7tSoUXOU2g5mnb34d/E6vw7pEeNa8ee3nZawHjLh51Yr+qOWTPmtDC1YFLFghG2ObSrCOoKRWM3Pc6508aJdOsrmrBCDZzCjThcY2DbGOunbakQIbANaK42BpC2GgQi+UFYoGQeJslwe33GIiTCusPDVB0tzDqvoos4VuuUMLVVhOC6mLHO9ZP0pGtnIIcpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bn42wP4yoYAoScoQp+R6oxveYDV5SMA6NYFW1P7XDxo=;
 b=n7EVIx31AQqSpxiQD4QG99kSkU0FOzxN8PJJ1IQR1EfDkn+6BSTR6oTrWF8Gdvpub3/sSvq1Ar1o/dtPvqhkzomY/xJ1qR878WaZaiXFbA7WuzWrEo07jEv7UwWRzO6Up09s1vPWB9GdnrtXaVwdCJ3bEP7VcX2zq5Z3BxzZGlJW59xujW5OUPAakLhKE4bXSoKX1NJdufclJg4djUpDnfulpvslk4i3JyMPaIU1yNow6d3lMrdHVIu4GIYUKd+xKjLPTUiHAOawglYYvcAiFasUUhpzpRgl7U0of0RDzodw3SxGU4rwNRRhCuAsf+v9euhGz+1SWfV2u36JvzplUQ==
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=Bn42wP4yoYAoScoQp+R6oxveYDV5SMA6NYFW1P7XDxo=;
 b=RrjBhZtHkxKs6MYftXQfsYxVkHIk7u1kmOlZEreihckxvR8MmnzYC4cOU6okLshcHquY2M8tTUQnogW7cvZdJvKcOVoKt9e+QdfYelhh1QBP14fVKBCGYpwRKcqiKUQ9/DGGLO/xOweBHy8PKbMeyZWWepmBAcvCcnIno+qnoA8=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 1/2] xen/arm: Improve handling of nr_spis
Thread-Topic: [PATCH v2 1/2] xen/arm: Improve handling of nr_spis
Thread-Index: AQHbkzfe3FkZaWCwR0OEX8fvH5KRoLNvSdiA
Date: Wed, 12 Mar 2025 10:18:57 +0000
Message-ID: <89F3F51F-F643-4217-B115-A558249CB45D@arm.com>
References: <20250312101619.327391-1-michal.orzel@amd.com>
 <20250312101619.327391-2-michal.orzel@amd.com>
In-Reply-To: <20250312101619.327391-2-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM8PR08MB6578:EE_|PAWPR08MB10945:EE_|AMS0EPF000001B3:EE_|AS4PR08MB8094:EE_
X-MS-Office365-Filtering-Correlation-Id: 4be98d15-1233-4241-8b85-08dd614f5303
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?lOkhGmm55CT4o/fP7gxyMhGEL6HaoRlcO+9BlNwbeeMvhQSwtkjS0f8Tvtsl?=
 =?us-ascii?Q?2F725/05FX6BpCWpo47jKHdjYn9YC5gEBqBAF0O9h2Jti8U7pScBlGtkPPs5?=
 =?us-ascii?Q?u6nYpVWjT6Pzz3ycNr0ZaAr2Db+fFfjeRMC3OsZDPxtedjwyEaxyufIaKQU8?=
 =?us-ascii?Q?9k6OjAr6Xn+CcbTc4J0NDU4qpSZMDmGKbYgtpAmgMhR/V/QZ1+5AJrH46Fr8?=
 =?us-ascii?Q?+MFAw9y3gn+QdpIcDQdn0uK22FLjLfxers7ClzF9Dr38sbuT54ESY5fgqMo6?=
 =?us-ascii?Q?og5FiWDDxmM0vhhtIP7IotVpQ260UsR01RxwmjW7eFXTcfnQQqP0Pry4DYug?=
 =?us-ascii?Q?xNtZaI3MXmVEwwZhJRWeBXcm7OGKvyQaDiOUfso790lFWbuz9dVNILYqPybE?=
 =?us-ascii?Q?uvKQJcXlCW6gDbUkWWGjGR8BGVimG059Re6MN8GcI/RJIaBL9D2GFfnrSmXe?=
 =?us-ascii?Q?jBjfg+2yH691szRmjyRzPaQQ6TLIy2ygP10XLarQg4wYgmZXGcAACGBCVmeM?=
 =?us-ascii?Q?3AX5//KJmPyGdzi9SKugja7PbIxukOU0Df36a4+tk+MVWnByzssLXOGYCKdj?=
 =?us-ascii?Q?MOBAtaNQUoVBwWctB8rq2TvFttLgy0l2O8ONQOJoR6YN4QewX1VJvs8EACWC?=
 =?us-ascii?Q?rveQ+MgFzPh3vbkhLalp5ck/XTEMIwvpRjnELNJd9OkNqktW+0fhNqTJD+1L?=
 =?us-ascii?Q?0UB+08jwoKVAtj6wEXtzSMvXIEq+zdIFitmnrcS8skYERTPers6x8S3AdS1G?=
 =?us-ascii?Q?uj3rOKaDlqdtr2iCdbe/o6nYPnhPuCITDfSXfmOhj3DQ602cCncw1pFkDgMY?=
 =?us-ascii?Q?D0E7y5ZYUD0PR6NGEGoNVsEKC+vQ5ld1SfmkcBqpuYCIigMWcHD7v9xaw0v2?=
 =?us-ascii?Q?6rqI/04XCHmzcIpip9vYwH414jt+KfG5PItkbxTlnhiZJHH1TcH0IAO4qy6e?=
 =?us-ascii?Q?voRneoZbGnwpgPv0OUbJ//fMFnN6N6bdbGodvY10piU25GDOOFIwlSyXXjtk?=
 =?us-ascii?Q?JzOWrYSNNNxqs67fDYW/KB3m+wfbyEU665y5PlKMMgZqiVACtXFsOq0IUhTA?=
 =?us-ascii?Q?tlz0XXE7SQPDI99/Z5PNOsPUbhMvWh7mvawesncmKOnM90MGhmqYPVHf3pXO?=
 =?us-ascii?Q?HDwIkXOWJlTDGMWwqTg8fjvqDeCqVULcNUnv1G7/mMG9XzLlPGNUVeo0H0yV?=
 =?us-ascii?Q?LvSy3ryfd9MFU/geBb9aPPOKVzSmknENIEgB9BEygvnIClmtAvtLLip4jq7k?=
 =?us-ascii?Q?kAm+ntSP8AhO6AUqRWLCsu2M/t5gjzmrnRSY2agFAhT8ZaTsk2nna2cSNKuW?=
 =?us-ascii?Q?HiM5RJK863WefOG+2thjzywnRG54lAfaSIhM0PPWnGThF4hATIyhTQRRjetJ?=
 =?us-ascii?Q?kpi08K4s6N8v+i1+nVqGSlejdxncrBs+9PE3JYLooNbw31e/a3l/nGE028DT?=
 =?us-ascii?Q?78pRpXNhl/ifZSqIBJ+uGrW0GW81Pnho?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM8PR08MB6578.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <176950BA82448A459F8E5356D7847EDB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10945
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:20b:36a::15];domain=AM8PR08MB6578.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001B3.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	31b26e33-48fd-4871-5d7b-08dd614f4caa
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|35042699022|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?aQv4wrjgr+W/wwTVzoAPgXaJtKcS5d0O2cvCQ3sRzZbWYI0DXrYDZ1WTR1CI?=
 =?us-ascii?Q?n/Ly+YxACwZx2v0ng1MVY0hoR03024Fg58rq+vi5HZckFdf7SIadsdrv3cNn?=
 =?us-ascii?Q?IE98fPXrB8rRDtAix6M6MVzakKCmwHbFq4uNItL3epODLp7hbxyHD6RRfZEn?=
 =?us-ascii?Q?OSIRLoZnFbDpSHxlY8EtGueaqsE/MlrLdhn14FAxR7A8R6gvX8wZdguP4rd4?=
 =?us-ascii?Q?dvAIHr7aYbnxTOIAXGF61g4Ix5TkxWsRVShYuXe9NluxCUAR96LRWNmoZ9Zp?=
 =?us-ascii?Q?CgfwZ6U7WzN8+MfMXvJuO9NqN+xofUW4sn6gc4v/ffTJjJ6t9tDEBWbV/Klf?=
 =?us-ascii?Q?LzyOAXk5z0FzL7GYkqhXalb4BJlQ3h1usP1brOg66/c+NpC4wJ3X5aq1slUx?=
 =?us-ascii?Q?gzO6/Jbm+0cZAIE6jOXpsWV3eGPVorucU4/XN5vKXR/492/A+o1Lhu4SVBE2?=
 =?us-ascii?Q?6VO7wluBejtjZ1jeWwIcxOx0kIe5Pfuf/7oTW+ihmPcV1C1xo+PKWWThnN7o?=
 =?us-ascii?Q?RN6nH6mQnQYQoSBs9jDbVRqZe/aG8I86gD75Z2+a08C6wUWbZ7RXUAKXLMs8?=
 =?us-ascii?Q?USapw+7UHLuXljigkO7GpjFlq9Zi7jXpC4VcR0+TCQJUL5A9rs8HlsVzwnNJ?=
 =?us-ascii?Q?I5dLuIusXgr03YMl3gzJBpHe6Q7ySTk1TdKWCG/zIRsJhDsrn8AdHfoqmkdj?=
 =?us-ascii?Q?y78vjTBvHDs/WrYIYbSifQWY9Z2QrBcpMCvfBOcrcrBsmq3pbv5bZx6iLJrs?=
 =?us-ascii?Q?DUF0gOgwwsQtmVvA7G8DGljBMewNxga39XCURfe5+iRX9kcD1DkF1x+xXNC5?=
 =?us-ascii?Q?dfC/ddGpLSvfz/bJ8tByvDMJ1ERmr70GSZF+R+COB1I7qhhIE3WZE7NolJ4I?=
 =?us-ascii?Q?EFPPWINrjw9trD/F/P8A1XNaZsx4F6IeYx4asg9Pnyk5Bsh4JwXIdBsGgGJP?=
 =?us-ascii?Q?c+hHa+F/tBXMM/cdw4HwjR6uXTuYzx69n0iklw+/wyrhk0GDuUnoLGdQS0gb?=
 =?us-ascii?Q?oWM6Os9ZtrIZ4u5SgypAoVaL2k7EVwIPiCVGopCzaVfeoBqOx3TuiBYtBGu2?=
 =?us-ascii?Q?b+tkDT+raRQow68vx2hnhaW+wSSVhSvHN1o3aclifgy3dam7th7lVppkUZL7?=
 =?us-ascii?Q?tWKBycblq37lOVcOcr1wBk1+MDJbqKD5mmV6vR50K/JWdPpwli5aLiHeynKk?=
 =?us-ascii?Q?+qaLYhs36numkF74vyfDN6ObT3cj8biXsrGAYIR+nK/YV862h4uK665ZLY/8?=
 =?us-ascii?Q?7+gqKDKwklmUaUAl6uMJptHWM980lu4b7GDk+Wq4KY8OgcALDRAb+aTufEXS?=
 =?us-ascii?Q?JeSNNqbhuEKdBwblGR/2aKPnJ0kkXxNPS909HeLFiQ5+HqJAHlrKZbVQxr8k?=
 =?us-ascii?Q?+0E6S6S/FgEKYys+5k6iNKXO1068eJ0lPzn54y0zoUH28c1oQPRmN9qu/XZg?=
 =?us-ascii?Q?IRtxVS3WlFwrbZ2XmJMRxWHZ/Kq3t29+7YdYSvLNYeCXSX01L4ErOb+T/8iU?=
 =?us-ascii?Q?j7uMPvW+1v/yac8=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(35042699022)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 10:19:07.8905
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4be98d15-1233-4241-8b85-08dd614f5303
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001B3.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8094

Hi Michal,

> On 12 Mar 2025, at 11:16, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> At the moment, we print a warning about max number of IRQs supported by
> GIC bigger than vGIC only for hardware domain. This check is not hwdom
> special, and should be made common. Also, in case of user not specifying
> nr_spis for dom0less domUs, we should take into account max number of
> IRQs supported by vGIC if it's smaller than for GIC.
>=20
> Introduce VGIC_MAX_IRQS macro and use it instead of hardcoded 992 value.
> Introduce VGIC_DEF_NR_SPIS macro to store the default number of vGIC SPIs=
.
> Fix calculation of nr_spis for dom0less domUs and make the GIC/vGIC max
> IRQs comparison common.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes in v2:
> - add macro for: min(gic_number_lines(), VGIC_MAX_IRQS) - 32
> ---
> xen/arch/arm/dom0less-build.c   | 2 +-
> xen/arch/arm/domain_build.c     | 8 +-------
> xen/arch/arm/gic.c              | 3 +++
> xen/arch/arm/include/asm/vgic.h | 6 ++++++
> 4 files changed, 11 insertions(+), 8 deletions(-)
>=20
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.=
c
> index 31f31c38da3f..573b0d25ae41 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -1018,7 +1018,7 @@ void __init create_domUs(void)
>         {
>             int vpl011_virq =3D GUEST_VPL011_SPI;
>=20
> -            d_cfg.arch.nr_spis =3D gic_number_lines() - 32;
> +            d_cfg.arch.nr_spis =3D VGIC_DEF_NR_SPIS;
>=20
>             /*
>              * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 7cc141ef75e9..2b5b4331834f 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2371,13 +2371,7 @@ void __init create_dom0(void)
>=20
>     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>     dom0_cfg.arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE;
> -    /*
> -     * Xen vGIC supports a maximum of 992 interrupt lines.
> -     * 32 are substracted to cover local IRQs.
> -     */
> -    dom0_cfg.arch.nr_spis =3D min(gic_number_lines(), (unsigned int) 992=
) - 32;
> -    if ( gic_number_lines() > 992 )
> -        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n")=
;
> +    dom0_cfg.arch.nr_spis =3D VGIC_DEF_NR_SPIS;
>     dom0_cfg.arch.tee_type =3D tee_get_type();
>     dom0_cfg.max_vcpus =3D dom0_max_vcpus();
>=20
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index acf61a4de373..e80fe0ca2421 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -251,6 +251,9 @@ void __init gic_init(void)
>         panic("Failed to initialize the GIC drivers\n");
>     /* Clear LR mask for cpu0 */
>     clear_cpu_lr_mask();
> +
> +    if ( gic_number_lines() > VGIC_MAX_IRQS )
> +        printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded\n");
> }
>=20
> void send_SGI_mask(const cpumask_t *cpumask, enum gic_sgi sgi)
> diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/v=
gic.h
> index e309dca1ad01..35c0c6a8b0b0 100644
> --- a/xen/arch/arm/include/asm/vgic.h
> +++ b/xen/arch/arm/include/asm/vgic.h
> @@ -329,6 +329,12 @@ extern void vgic_check_inflight_irqs_pending(struct =
vcpu *v,
>  */
> #define vgic_num_irqs(d)        ((d)->arch.vgic.nr_spis + 32)
>=20
> +/* Maximum number of IRQs supported by vGIC */
> +#define VGIC_MAX_IRQS 992U
> +
> +/* Default number of vGIC SPIs. 32 are substracted to cover local IRQs. =
*/
> +#define VGIC_DEF_NR_SPIS (min(gic_number_lines(), VGIC_MAX_IRQS) - 32)
> +
> /*
>  * Allocate a guest VIRQ
>  *  - spi =3D=3D 0 =3D> allocate a PPI. It will be the same on every vCPU
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 11:20:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 11:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910245.1316980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsK8N-0007aH-T5; Wed, 12 Mar 2025 11:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910245.1316980; Wed, 12 Mar 2025 11:20: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 1tsK8N-0007aA-QU; Wed, 12 Mar 2025 11:20:23 +0000
Received: by outflank-mailman (input) for mailman id 910245;
 Wed, 12 Mar 2025 11:20: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=SQxO=V7=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tsK8N-0007a4-6O
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 11:20:23 +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 f7ad4966-ff33-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 12:20:14 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso4795195e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 04:20:13 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a72eeecsm18248375e9.3.2025.03.12.04.20.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 04:20: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: f7ad4966-ff33-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741778413; x=1742383213; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jD0yBL3az1iQZ5vJbP/2HpY7+HuvtcqpDPZCfuEH298=;
        b=NiXB+av89mMvnn0Yck7Bp44LNbuakMKam5uOc1QrzsaG4QG85g2WLbvpuH0Umuh8He
         pJWmNU64w4d77l/JFm8IMBXmHENnyNksrwY/+ZFpiOTi7BsLzMJXvj43Bi/OATet8Bsr
         Ov71Uu//JeQ+LEEuc9YuuwMzmFARDpyR1y0b8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741778413; x=1742383213;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=jD0yBL3az1iQZ5vJbP/2HpY7+HuvtcqpDPZCfuEH298=;
        b=HiKb3bG2vhtz/KtD5XWTYTpSMWP0Oo8LKTqHz0GuGkiewRxMFIisBPSF+jYtrA/WZO
         Cj2Ne7I3245QxzuTlCi+CGQPnL2ltCvvx1rFOoYGGxOTDDkHaLIJuVpFuAxRIlnTJNjO
         OQbkieP2UdT5wiOfLeNRghBp68iELPN26m/zDhEUggwQVEIxCMfpeATPDk7uQ5t7oJGx
         84PHOc+8/jOyYQ1xOT7X6kv6pj6VzbnmPEJ2JgPt0JB3W0OuAvW253YX/IYH1CccCtoz
         Y0P+K0Yc1H1AiCgBC0vm5oKXiEwdiEp74jrHvG9fSV/lc1ym6hvw4yAEQFH1LbgTkRIY
         yzxA==
X-Gm-Message-State: AOJu0Yz8W33kUITWsC5gZhHHmaGNShonK711FvardCEPphaM4P8y22MK
	6ge4PN3FcavdBn2B5S3D7FbKYgXTeuW/0mMBmm4yREw13mzRURyFcCMVNO+mibM=
X-Gm-Gg: ASbGnctJ+sn+vDtrtA2gcPx9GzAFOS6yCRBBiYAjgtl1gsLDwcgpmiCxuQDXJVv1+f4
	5wWRRDFUm/l2raLiumpoowb74KOxywnBiQSpTUKrOzjNhYgqoh2GTxNg0LLNWGNs/PGc1JWm0Ui
	tYndHZ53dmIHdYYUpdEKwZbTUEShfpZbita2M5zGJqZU8C/ES1GSqkJqt0V2sbOHjHMl0hltPvk
	8BeRs7a5RSGWMIC1x73z/Tz0PQyrJJZEyduWfWuaW18TSSjOItkv4gexskfzFisK6vU2pflZg0N
	xp8hhPf6kEKTqoR7x1gvX/boNlGfD2vCvbgPLiTs/+mMAjbI0G4=
X-Google-Smtp-Source: AGHT+IH7/8ah6Zc2fJ9TdOMtGMN3FZITW0UaMKFft/1i0s38c/h4TCgplUsgEZzSQZoEXrtk2lOVyw==
X-Received: by 2002:a05:600c:4708:b0:43b:c6a7:ac60 with SMTP id 5b1f17b1804b1-43d01d322f1mr69980305e9.10.1741778413102;
        Wed, 12 Mar 2025 04:20:13 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 12 Mar 2025 11:20:10 +0000
Message-Id: <D8E8WZJYP3AH.2TPAHWGFJ68TV@cloud.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>, "Julien Grall" <julien@xen.org>,
 "Stefano Stabellini" <sstabellini@kernel.org>,
 =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2] xen/page_alloc: Simplify domain_adjust_tot_pages
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20250304111000.9252-1-alejandro.vallejo@cloud.com>
 <Z9AwsrDBELe2UREz@macbook.local> <D8DITFXFKM32.2H5OOI4GVUAZ1@cloud.com>
 <Z9BZ-V8fWHOAwMJ7@macbook.local>
 <de418de2-b059-4f1e-92b0-42a236208b14@suse.com>
 <D8DNJHDNZNRD.1XOJK139C5PEI@cloud.com>
 <52918859-3922-4b2d-b432-162a9de2b554@suse.com>
In-Reply-To: <52918859-3922-4b2d-b432-162a9de2b554@suse.com>

On Wed Mar 12, 2025 at 8:21 AM GMT, Jan Beulich wrote:
> On 11.03.2025 19:35, Alejandro Vallejo wrote:
> > On Tue Mar 11, 2025 at 3:45 PM GMT, Jan Beulich wrote:
> >> On 11.03.2025 16:42, Roger Pau Monn=C3=A9 wrote:
> >>> On Tue, Mar 11, 2025 at 02:53:04PM +0000, Alejandro Vallejo wrote:
> >>>> On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau Monn=C3=A9 wrote:
> >>>>> On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
> >>>>>> The logic has too many levels of indirection and it's very hard to
> >>>>>> understand it its current form. Split it between the corner case w=
here
> >>>>>> the adjustment is bigger than the current claim and the rest to av=
oid 5
> >>>>>> auxiliary variables.
> >>>>>>
> >>>>>> Add a functional change to prevent negative adjustments from
> >>>>>> re-increasing the claim. This has the nice side effect of avoiding
> >>>>>> taking the heap lock here on every free.
> >>>>>>
> >>>>>> While at it, fix incorrect field name in nearby comment.
> >>>>>>
> >>>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> >>>>>
> >>>>> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >>>>
> >>>> Thanks.
> >>>>
> >>>>> I think it would be nice to also ensure that once the domain is
> >>>>> finished building (maybe when it's unpaused for the first
> >>>>> time?) d->outstanding_pages is set to 0.  IMO the claim system was
> >>>>> designed to avoid races during domain building, and shouldn't be us=
ed
> >>>>> once the domain is already running.
> >>>>>
> >>>>> Thanks, Roger.
> >>>>
> >>>> As a matter of implementation that's already the case by toolstack b=
eing "nice"
> >>>> and unconditionally clearing claims after populating the physmap.
> >>>
> >>> I see.  Another option would be to refuse the unpause a domain if it
> >>> still has pending claims.  However I don't know how that will work ou=
t
> >>> with all possible toolstacks.
> >>>
> >>>> However, I agree the hypervisor should do it on its own. I didn't fi=
nd a
> >>>> suitable place for it.=20
> >>>
> >>> You could do it in arch_domain_creation_finished().
> >>
> >> Except that better wouldn't be arch-specific.
> >=20
> > Why would it have to be arch-specific though? As far as the hypervisor =
is
> > concerned, it doesn't seem to be.
>
> Together with Roger's earlier clarification on his original remark, I fea=
r
> I don't understand the question: I asked that it not be arch-specific. An=
d
> Roger clarified that he also didn't mean it to be.
>
> Jan

Bah, I misread you (and my IMAP server annoyingly decided enough was enough=
 and
declared Roger's answer was one too many and deferred sending it until much
later).

Too much going on, too little attention. Apologies for the noise.

I'll send a patch at some point with that adjustment.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 11:29:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 11:29:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910256.1316991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsKH9-0002ai-NQ; Wed, 12 Mar 2025 11:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910256.1316991; Wed, 12 Mar 2025 11: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 1tsKH9-0002ab-KJ; Wed, 12 Mar 2025 11:29:27 +0000
Received: by outflank-mailman (input) for mailman id 910256;
 Wed, 12 Mar 2025 11:29: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=HbCM=V7=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tsKH8-0002aV-8u
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 11:29:26 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f403:2613::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4046516c-ff35-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 12:29:25 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AS8PR03MB7829.eurprd03.prod.outlook.com
 (2603:10a6:20b:34d::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 11:29:23 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025
 11:29: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: 4046516c-ff35-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WOWWH6ixB+2D8mIJtofK8Qc++zt9W/9S/nX7tIh5lZjkzGYfJNLBLIVK+6ew19j0dm1lpNOmJmTt4ThQ9OCrTBusav5i8CF0rxibT5DIESh79E4abk0lbToLGmX1kHqnDT2xUV9tnNCXN+O9Kg6Rbqn0wOdW6NJo/GIgURUrMzpCKxF+u4aBWMF/ffqnf2utT/jPdO8V6yuXY517lspChG7UzVdf/0p+IGuZiknbi5NzbYdRsSZfMOnLuCKym++GemGPLBr7BKfpKzQxvVbIx9nLLkbM8qUOv6Lm6MViiHezXUqcb0AICNfgnTYzuwVhMUUmsxh1AvZrgUead9GOSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hNDDTH8qzdmuqss7yRTXM86xM2fPKlepigqawWcrZ6g=;
 b=YhZa7ybyb+Y7Lzd/aoBGPvoEXtBHl8jSp9u/2rLNRF8FRgt5wAxuCWKxly8ffslYJlWb7McwuKl0160u02awkhr04Rlw4jsofNrT4cgW9BFFcVWLT4XnQECaNXwtLiSSuWYC1blJzyXk78xZ1hKRFZgtESgRxsgSYoBtdz0uoTHsQA725sir9V/5XumAjX/yu/m6qrNs82CQTXNMvbZCoPOHhfPNHBmby3RA9wEOOhAd0VacHZubql3fcJSqmLC9lPbzKPoBqAYU59Tz2NR1qkDkNG1oj7aMNSAzzHFg2lQnpeG/7A9Nc3pLD2xa9Y5P75ntVASATN7zhJhalO2nBw==
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=hNDDTH8qzdmuqss7yRTXM86xM2fPKlepigqawWcrZ6g=;
 b=lduiZFTEHajBFxGuefRR1wkcxsGaZxtDfOkza/JV4C4x/jO+4hugMXqkWQa2X61+tkOkIpRnvW1jA/USYFxkaAvs5ULtq8vs0DZPhsBxLezfxmrty3PlDKAMtcHe7kobdt2yycs/bWAofrhtxgfLj+qIKLEkWcbq1Lxc95G72QV+EMNapqP8zQUQR7cHdArp9KDohKoJZIi0ZnsxI52ILksRwc6B3x47/s084o45wdO/3YGggFM9NmcPmli/QsbNMLj7Jz/H7Mr/FwMrJnWZ0KPzpk1Nusw3oJ+88ZvWBxZ0MO6jqD2tyR2B+G4UXhs8w0BIOx0pvOymUDnZ9lUfug==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	"xen-devel@lists.xenproject.org" <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>
Subject: Re: [PATCH v2 5/7] xen/arm: rcar4: add delay after programming ATU
Thread-Topic: [PATCH v2 5/7] xen/arm: rcar4: add delay after programming ATU
Thread-Index: AQHbkm/V+s7gEh8jVE2kSVeMpYb04rNvSZEAgAAVjoA=
Date: Wed, 12 Mar 2025 11:29:22 +0000
Message-ID: <c3d27279-8740-49e5-adbc-867fd85ecab5@epam.com>
References: <cover.1741596512.git.mykyta_poturai@epam.com>
 <9cd78a64dde2e0a039919a08025abaa89d63966c.1741596512.git.mykyta_poturai@epam.com>
 <0cabf89b-4c37-45d6-98d8-38a6719160b9@epam.com>
In-Reply-To: <0cabf89b-4c37-45d6-98d8-38a6719160b9@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_|AS8PR03MB7829:EE_
x-ms-office365-filtering-correlation-id: d5e7d9df-a3df-4ecf-2256-08dd61592328
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?TVZsVVV1YU5VSTcrNkJQMmdYUkQ1Zk1ENHNLSEoxNGhCQzA2MEswbGszNWxz?=
 =?utf-8?B?MnZJM1dsZDZRZ2pwa1ZYR3ZTRnFnbXEwNU9tVVhYWTJFclExVnhlN2srQmF0?=
 =?utf-8?B?WEFNOFhtdzhwSVN6SGtWN2VzLzFjeWVoamRVVzVxbVdmeVBBZ2hXUTE3MW5w?=
 =?utf-8?B?U1k3bGhiRWlFYnMvRWkza0o4ak5DeG53YXlmY3Z4SWJFamR0TDdnYW9USHlR?=
 =?utf-8?B?U2F3SjZ1M3BUZFlqdUgrUjZGZlhTcHdmaCsrYTlDVXVtdXZmRnE5aElybGdj?=
 =?utf-8?B?OGhuMmpuTEJRLy9OUHA3cnpZZHRvSGVWNVlUMUhRT2ErVGdVTUhTOTgxN0xP?=
 =?utf-8?B?clFMS3c5TzVQVEVNTzhqNUo4Z0V0THM2UnJrdUdKSWNxNmMyZTFWMnAvSVg0?=
 =?utf-8?B?cFE3Q3dYM0lrM2JiWXMzSU11dFY1ejA4WmcyaHdsZklLZytBbDUrTmcrdE5L?=
 =?utf-8?B?amxmc0wrS0ZUOGFUbS9palhCZUQ1WEpyajBaS2hNblhNcGlUV3pEUmRwOUcy?=
 =?utf-8?B?bXROeTZiay9FY2U5OWdJcWRWR0hFY29oWlJHU0hhRjhEQ1NIZHBaRnk1cDVn?=
 =?utf-8?B?K3NPSTlpM2ZEZFlJbHlNcmJ0VFdtZEYxaXBiZHJBRXBmVFZIVWozdFZYVU1n?=
 =?utf-8?B?T1ZtT2JEWVlXQkRSWWQrRDBtWHJJMS83Qk00VDJsRnNiSGl3YWRBRGFOTk4w?=
 =?utf-8?B?WklGTTNRQm9vcnNqc1BaeDI0N1c4UkFVU1dza2l4b0lkMVAwWW1hR2xrV1Jl?=
 =?utf-8?B?VEFyYVVxaWo1WWd6MUJVa0hEdW1MVVZLaG5LUEo3SzhSR3FuWS96S2QvbnpJ?=
 =?utf-8?B?eGFZZnMyaGcxSmwwZy83dm1MRGdTenlodHpVcXpiMUVFK3RUcjdybFgwaVdN?=
 =?utf-8?B?bGJRZUsvQ2pVbHpGLytidlZ3M2p6aDJWNXRUYzdlMXc2Q1U1amI2MU0vcTI1?=
 =?utf-8?B?WFc1U2NPb3F4dnVLZE9kam5NOGY1WUt5VHRxeXFXYUJHL2xwNU5yaUZyQ0I0?=
 =?utf-8?B?MndodEw4dm9GcjkzV3l0dFRwM0NoS1RrbW03Y21pS0xQWTdlYmphbEpTaWhG?=
 =?utf-8?B?VTZVbkszTGdCYTFOVTVLWEdXR2JRbVpMbGdmdmtxbE9ib2RhLzVvVkUrQ1Ax?=
 =?utf-8?B?d1UrTzRxL0lMcWR2a3U2RTJmdDlvaytpYnpWbzJUci9DcXRQNEQrNmhYTnVt?=
 =?utf-8?B?YnZIMDVsbkRlNjVqcG5SR2pNZDB2ZGVtZlRrL3NZS1hFRjZoKzI1aTZ2aXR1?=
 =?utf-8?B?ZUFTWkdxL3lEc016d3p3dzF6czVOWHM0L0doaEpnVFhJQUJQVkNKNjdnWHli?=
 =?utf-8?B?eVNKcjJWRHY3NzJaL3lNeFFJUnpCSTgzRzhZSnJHSEs0alRzZGZmZG1BbEdh?=
 =?utf-8?B?QmlyaDl4c0JLYnZQMHArZzFKR243ZTExd0N2dURlRjVSYmVZVzVOdXQ1WDU3?=
 =?utf-8?B?QWFxSzNZS0xxb3BSSDJPUDNLU0xVRFNTZEw5U0QzV0Fsc3ZMSWJaUEVSK3Fy?=
 =?utf-8?B?WjJLTUtMNzI0SGxNUzR3SXZRbXZ1d0hmTDRmZzY3bXZLTmRhUSs3U3poU0sz?=
 =?utf-8?B?Mi9sMWxFR3BmUEpYY3lhVTFyNFg0U2Q4WEx0cEZHZnFvZ0F6RXJMcVdGQVdR?=
 =?utf-8?B?bXlCRzd0dVdpN1ZMLzNZRHhyTzZ4SU9QMkxxYWFjRURGUDVGdmRQcXNoR0Uw?=
 =?utf-8?B?aW9yQkNCejBjUUxZOGRiWnJPMlk0THk2RkYrMitPYml3blNIS0p3NTFQSGN5?=
 =?utf-8?B?bmxjRFp5SEhjMjNwa28ya2RERG5xNCtxS0hFZUNuNzN6eG5INFZHM3IyUDhk?=
 =?utf-8?B?cGVVbzg2UHVaUHpueVN4UWdnZGVJNzRsd3BzQ2l0VVB3VUFtV2NPaVBPc1Ew?=
 =?utf-8?B?UmZyMnpralJ0ZGwvKzgwM3gzTytjbC9lNVBFVThML1ZkWWRabDhaYjRTeW44?=
 =?utf-8?Q?Ri5GCCw72ISeg1b+d1Uv8ZZ6osvYiyJl?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MmdFR2F0LzNVY0FIckpocjAxTHAxbTJ4eUVmOGFVR01vRFdsV0tRZHU4YmI5?=
 =?utf-8?B?a01HNXNQNzB0SjJEd05RWmdnc2tXN0ptTmtmWnlIRTNGcUxTa2F5eWJJeDRv?=
 =?utf-8?B?cTY5QmhTTnEyT2drN0o1MWpLNk9ZeUVTdWVjS3F3K29JNzZ3YnVjWHNvN3A1?=
 =?utf-8?B?Zk9raXNnTnhYdU5DYW1jSjlhSnFKeGhST2tOVVZvWnErTWRNbXpBK2FIWWJL?=
 =?utf-8?B?Z3lTRkRpUTl1OGZnbHhYQktxYzBCNzlhVThLb1NkTkwzL0hyZEtyaXpLTDB2?=
 =?utf-8?B?dG12MmgzRGg1a2c2d2RNNitKelJ0S21ZUHFKelNpY3FJaVBwQzdPWkUrenll?=
 =?utf-8?B?Y05ld0p2UEY3MTI5Qlg2M2RyUHBJRHZ4UVJsVThZV0ZjZG4yRUFUait6dzNv?=
 =?utf-8?B?MjRGOFlMZnZtelJqeXBNVkFwYmNyWEhpK1AvY05UYmw1SmxjMWhBSjUrVUpU?=
 =?utf-8?B?WEpYRHQ5K2ZPNzZZVmRIYnVsUUgvUDgxVnNIdzJ4VFowOFhMYXI1SDlhM1Nz?=
 =?utf-8?B?TnM1VkF2d3llNU1ySHQ1NlpXcjBpK1BWVHg4djFSOFR2eFQyd1d0M2xSdnRk?=
 =?utf-8?B?Rm5JbkczR2YzN3Q3dUxIUm50VzRFdi91UmR1M0tBOWhYMzhwOFE3NzVjMS9T?=
 =?utf-8?B?ZnU4RWZTWUhOZ2wrdmRYTGgwcnZjLzRGVk9CZHFHcVI3ODkvbE5pQTYreHNC?=
 =?utf-8?B?S0p5bS94V2c0V0ZHUjlEaXVIeUZLOE9OTnJYZ3grbmJQbTBlWDVsY1diMnBN?=
 =?utf-8?B?YTllS3E5R24zOTFFRTRXUnpnOVR6bTgzQ3BOaEg2NXFzR3VIcExLYStVaEZD?=
 =?utf-8?B?ZE1HS1Niejd5c2daS1R5QWhnclJWem9tZS80M0VpUExoUk5UZUJiNzdiYlh3?=
 =?utf-8?B?VTFDeFpiTlV6MldFU2RTSHp5Uzk3M0FsbjZxTit6UElzZzMvd3pFbng3VGdv?=
 =?utf-8?B?NElxWkp1QVF5WTZJUkUrYXVZemJGY3FCUGNoemFaRFBid3NtaFM5U3EvLzB0?=
 =?utf-8?B?dU51dm9JYzhOaFNqWDBORnl6RThRQ0RDeWpJUC9oOGMvS0tYN3hIdnU3Z2U4?=
 =?utf-8?B?U1pvVnZIVlFNVE53L2dNZE9kWkFmbzBRQUtJY2w5MkZQWWhPUER2c2hJSWZC?=
 =?utf-8?B?MWlVeXdxOUoxRlJKOXcwV3lmNS9JcGtBTUFJTWQwUTlpK0xTYXNzMTh3TjBK?=
 =?utf-8?B?Y0txVmdCeFQ0TjJtVXJXRXZTN1Rqb3hxU3hQZVlpeDRXQlF0SG1EZ1RtWFE2?=
 =?utf-8?B?OE9xSTNIUU83SGVobU5DbytUczBNUzNuNEE0VG5uQi9xZTZVNllndExvREJx?=
 =?utf-8?B?K1BJc0F5OHhWZmNCUUFadjR3Rll1YkczbGFkVmlBS2VJRHh6eXJmNWM3cEtY?=
 =?utf-8?B?aTZ3Z2IveUF5ejQwM1NSdFIrbFU3R05pUy9ZYUVZbVV5MzNPSWk4RnBYMWJW?=
 =?utf-8?B?eEhkUjV3cDRwUWJNTkxwa3BLY1plNGJQdU5XVkp6WW5LL1lyeFozQm4vMlQ0?=
 =?utf-8?B?WW1CL0JsUTdnUms1Vk9jRW82RXlpUW1pcFFpT3FiU2ROSjhTbjFhRG56ZElZ?=
 =?utf-8?B?T1d6dGRXc2FrMXJsZEhiV1BpaEduYnovd0MydW1Cd1dqTXY5Z2NLdlpWZVFn?=
 =?utf-8?B?clB6NGtrWUVVM2c5bVRUMmpIUk9USnB5dVhBQ1FkWndjak4wcUcvS1h0eEtR?=
 =?utf-8?B?QmswU0NOTVl2Rno3bTJBenhjcCtMNUpETWNuek1nZExUYXBpOU54bEw4bGtW?=
 =?utf-8?B?aW9iM2V0MFRaSFRaUzNNSlVwODFEQUZTN29qWFBVTmE2ZHdBS3N0WWxuWWVT?=
 =?utf-8?B?b1dwQ3l2cXR6TEJOcHpqbEUycy9wdCsvcXdLRHVjS0NnZ1FMSlJFRlFPd2gw?=
 =?utf-8?B?WlRkSHRDUDNycStSbFQwTGZNWkRoZlJYNmZvZmd6ckZBYmd6VmhBc1cvN3N4?=
 =?utf-8?B?enJwSTlDQjl1YkJuUUFKKzBzOThKNGhmdWxHYVo4VDgwd1QrdjdzaC9ydjhz?=
 =?utf-8?B?Z1lCMmlFcWtzSFpUcVdsa3haM3MvOW9rKzc2dU03SGhCWUJMdWFJUVpEbU5q?=
 =?utf-8?B?T21Rd3pPTTBSQnVKUEJndm40QTd3OGpKeVAzQXk3UFkvamlXMDR4VmFsVlZu?=
 =?utf-8?B?UEpUV1E0bUVobXNWMHB6NUhnVUlLS2Q0VFN1dVdVTUg3VnpTT29TUmZmY2o1?=
 =?utf-8?B?NkE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <54227AB127FE9240826D22D30B55E8BA@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: d5e7d9df-a3df-4ecf-2256-08dd61592328
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Mar 2025 11:29:22.5742
 (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: EDm1v5JzK2Czzab6GJ1+6DZ5h0Bbs7uWvBhceNd0zAjEDIbTutNDdJgo+RfJ+VGj6nQxfMtVIbo/p0cMOUSkCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7829

DQoNCk9uIDEyLjAzLjI1IDEyOjEyLCBHcnlnb3JpaSBTdHJhc2hrbyB3cm90ZToNCj4gDQo+IA0K
PiBPbiAxMS4wMy4yNSAxMjoyNCwgTXlreXRhIFBvdHVyYWkgd3JvdGU6DQo+PiBGcm9tOiBWb2xv
ZHlteXIgQmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb20+DQo+Pg0KPj4gRm9yIHNv
bWUgcmVhc29uLCB3ZSBuZWVkIGEgZGVsYXkgYmVmb3JlIGFjY2Vzc2luZyBBVFUgcmVnaW9uIGFm
dGVyDQo+PiB3ZSBwcm9ncmFtbWVkIGl0LiBPdGhlcndpc2UsIHdlJ2xsIGdldCBlcnJvbmVvdXMg
VExQLg0KPj4NCj4+IFRoZXJlIGlzIGEgY29kZSBiZWxvdywgd2hpY2ggc2hvdWxkIGRvIHRoaXMg
aW4gcHJvcGVyIHdheSwgYnkgcG9sbGluZw0KPj4gQ1RSTDIgcmVnaXN0ZXIsIGJ1dCBhY2NvcmRp
bmcgdG8gZG9jdW1lbnRhdGlvbiwgaGFyZHdhcmUgZG9lcyBub3QNCj4+IGNoYW5nZSB0aGlzIEFU
VV9FTkFCTEUgYml0IGF0IGFsbC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBWb2xvZHlteXIgQmFi
Y2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBNeWt5
dGEgUG90dXJhaSA8bXlreXRhX3BvdHVyYWlAZXBhbS5jb20+DQo+PiAtLS0NCj4+IHYxLT52MjoN
Cj4+ICogcmViYXNlZA0KPj4gLS0tDQo+PiDCoCB4ZW4vYXJjaC9hcm0vcGNpL3BjaS1kZXNpZ253
YXJlLmMgfCA1ICsrKysrDQo+PiDCoCAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspDQo+
Pg0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wY2kvcGNpLWRlc2lnbndhcmUuYyANCj4+
IGIveGVuL2FyY2gvYXJtL3BjaS9wY2ktZGVzaWdud2FyZS5jDQo+PiBpbmRleCA2YWIwM2NmOWIw
Li5kZWYyYzEyZDYzIDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL3BjaS9wY2ktZGVzaWdu
d2FyZS5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vcGNpL3BjaS1kZXNpZ253YXJlLmMNCj4+IEBA
IC0xOTQsNiArMTk0LDExIEBAIHN0YXRpYyB2b2lkIA0KPj4gZHdfcGNpZV9wcm9nX291dGJvdW5k
X2F0dV91bnJvbGwoc3RydWN0IHBjaV9ob3N0X2JyaWRnZSAqcGNpLA0KPj4gwqDCoMKgwqDCoCBk
d19wY2llX3dyaXRlbF9vYl91bnJvbGwocGNpLCBpbmRleCwgUENJRV9BVFVfVU5SX1JFR0lPTl9D
VFJMMiwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBQQ0lFX0FUVV9FTkFCTEUpOw0KPj4gK8KgwqDCoCAvKg0KPj4gK8KgwqDC
oMKgICogSEFDSzogV2UgbmVlZCB0byBkZWxheSB0aGVyZSwgYmVjYXVzZSB0aGUgbmV4dCBjb2Rl
IGRvZXMgbm90DQo+PiArwqDCoMKgwqAgKiB3b3JrIGFzIGV4cGVjdGVkIG9uIFM0DQo+PiArwqDC
oMKgwqAgKi8NCj4+ICvCoMKgwqAgbWRlbGF5KDEpOw0KPiANCj4gSXQgc2VlbXMgbGlrZSBhIEhB
Q0sgdG8gV0Egc29tZSBwbGF0Zm9ybSBpc3N1ZSwgYnV0IGluIGl0cyBjdXJyZW50IGZvcm0gaXQN
Cj4gd2lsbCBhZmZlY3QgYWxsIERXIFBDSSBjb21wYXRpYmxlIHBsYXRmb3Jtcy4NCj4gDQo+IFNv
LCBpdCBpcyByZXF1aXJlZCBhIHByb3BlciBzb2x1dGlvbiBmb3IgdGhlIGFmZmVjdGVkIHBsYXRm
b3JtIHRvIGJlIA0KPiBmb3VuZCwgb3INCj4gc29tZSBzb3J0IG9mIERXIFBDSSAicXVpcmsicyBw
cm9jZXNzaW5nIGNvZGUgYmUgaW50cm9kdWNlZC4NCj4gDQo+IEknZCByZWNvbW1lbmQgdG8gZHJv
cCB0aGlzIHBhdGNoIGZvciBub3cgZnJvbSB0aGlzIHNlcmllcy4NCj4gDQo+PiDCoMKgwqDCoMKg
IC8qDQo+PiDCoMKgwqDCoMKgwqAgKiBNYWtlIHN1cmUgQVRVIGVuYWJsZSB0YWtlcyBlZmZlY3Qg
YmVmb3JlIGFueSBzdWJzZXF1ZW50IGNvbmZpZw0KPj4gwqDCoMKgwqDCoMKgICogYW5kIEkvTyBh
Y2Nlc3Nlcy4NCj4gDQo+IEJSLA0KPiAtZ3J5Z29yaWkNCg0KSGkgR3J5Z29yaWkNCg0KQWZ0ZXIg
c29tZSBmdXJ0aGVyIGludmVzdGlnYXRpb25zIEkgaGF2ZSByZXRlc3RlZCB0aGlzIG9uIFY0SCwg
YW5kIGl0IA0Kc2VlbXMgdG8gd29yayBmaW5lIHdpdGhvdXQgZGVsYXlzLiBDb25zaWRlcmluZyB0
aGlzIGFuZCB0aGUgaXNzdWUgd2l0aCANCnN0YXRpYyB2YXJpYWJsZXMgYW5kIG11bHRpcGxlIFBD
SSBob3N0cyBJIHRoaW5rIEkgd2lsbCBkcm9wIEFUVSByZWxhdGVkIA0Kd29ya2Fyb3VuZHMgdW50
aWwgc29tZSBwcm9wZXIgcXVpcmtzIGhhbmRsaW5nIHN5c3RlbSBpcyBlc3RhYmxpc2hlZC4NCg0K
LS0gDQpNeWt5dGE=


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 11:30:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 11:30:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910267.1317000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsKIQ-0004Oh-1n; Wed, 12 Mar 2025 11:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910267.1317000; Wed, 12 Mar 2025 11:30: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 1tsKIP-0004Oa-VN; Wed, 12 Mar 2025 11:30:45 +0000
Received: by outflank-mailman (input) for mailman id 910267;
 Wed, 12 Mar 2025 11:30: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsKIO-0004OS-1T
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 11:30:44 +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 6e156a86-ff35-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 12:30:41 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so14688445e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 04: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
 ffacd0b85a97d-3912c103f57sm20853602f8f.91.2025.03.12.04.30.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 04: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: 6e156a86-ff35-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741779041; x=1742383841; 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=IGz1DMEphdyF8xaVI2+OCS6p5kClWXJUSgS3elSSYYQ=;
        b=Zpr+ibmTPdAu6IoacCqzjjk2fMNUZHI4R4sBGRIuaZUYf38+p/iCnLHqBIjtKbbWDj
         5ASTEJbqCpRYJKn7gnWdr+AHr438qEn19yQZjN+2/qkvwDlrsHYH+5YSOs2ZgtbecErZ
         xywvByTDOtJWVmhQgXo1xPL6dTO+xkz3yy5bNhMJ4Mq43z3dKhrfmKoSGxYb8b67WDvk
         6DAEWQGk8Blo3j2EGVTcG19Y3d70unvG+qaO5KTEoXLMHmcngc6R+xXmrm+RqzprzPHS
         CO16KjuoM2XYviUJSEnA5jK2+RA2EbEwQ0KP6/PjiRiKunwr5EvLDIhLUazsK5zEB4o2
         +pOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741779041; x=1742383841;
        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=IGz1DMEphdyF8xaVI2+OCS6p5kClWXJUSgS3elSSYYQ=;
        b=GJtTp7SqZJbufpGrdkzbQvCz1yeopq/qv/Nq6/zJevPlYp8xfJNlLRfQXpytiMwULB
         j3u1CVqzKhpc1aYZZJwzU+svIrByqoeZfalcA0yuwQYLkcF6osnndkCdTlIVpJ1W1OHr
         1UG+ZvIyaA5cdw7EqrFwJxwIqtyV5kJhcuiOBAWmFHfDDqtqzUnpn9AhdUHJXQAEt3J0
         FjmlwPTmZDYFclIPWlEqP1k2vXbe45vUmFt2fx9vOc3dW8SFW9WGUFZVMlFPr6vYWGqu
         sWhuybciWh/kd07WdK4K6SKdqbUutmTJ8SXJAelF2UZeWlShBZmCfK8o7GojlQdTn8cj
         7g5Q==
X-Gm-Message-State: AOJu0YyemoAIwzGIcuRezUqjF3N6pD6VQl3PhQVingAF7OzdnZoRI9tA
	FMtqwqeqquq4WddYeRSDTdPdZ3QQLSrmKTlTCQG5+h7Xq5mDCMaW07A2s+OVZBk5kVK0CkrAFzY
	=
X-Gm-Gg: ASbGncswA7YmO/Xn1gmjvEdwyYNOMdp/Dsr/UV4qOR9L8Ow6d5bHBnjSzHiZVRZ/t3B
	CjlHhu9rPX4sxzS4104lrigW2uJXMiS8VSH9oZIcFVleM+UEFi3/dKWjMu1MHnBBfwfPQZMrUcG
	86zjf+dMN+CK8zxPB0xBO4J2BeLPe/stV2xj1e/pZPzH05kmH7ap9huTLkls8m86s473PlNZvJ5
	a6NcfLx1mmWYeXA6X8Gq3mfSRsJuaSHUaMcnb2g+Xf32yPMHCE+2YXYQ3lNQ70Iqf7qtkUHx91x
	tEAmCGrtZ7nHLy8IVwLUwDQKb8qEfk4BhB03PrTkCgGGXBZYAhSRbPNDLWENz2yhSG9H0fth5jT
	0UvsfswApmPU0Kk73CrUBie0DR8WULQ==
X-Google-Smtp-Source: AGHT+IEcJLZ2MEm2fZWrmDHy8NvRCIT+M0PL0hY6eT93Neqegmuz1pXz9+Or3bu67Bxwy0N/HDxzTA==
X-Received: by 2002:a05:6000:4013:b0:391:3f94:dc9e with SMTP id ffacd0b85a97d-3913f94dde0mr15301822f8f.16.1741779041148;
        Wed, 12 Mar 2025 04:30:41 -0700 (PDT)
Message-ID: <6a7391fc-4abf-4e65-8159-30f4eae8fec5@suse.com>
Date: Wed, 12 Mar 2025 12:30:40 +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>,
 Tim Deegan <tim@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/shadow: replace p2m_is_valid() uses
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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 justification for dropping p2m_mmio_dm from p2m_is_valid() was wrong
for two of the shadow mode uses.

In _sh_propagate() we want to create special L1 entries for p2m_mmio_dm
pages. Hence we need to make sure we don't bail early for that type.

In _sh_page_fault() we want to handle p2m_mmio_dm by forwarding to
(internal or external) emulation. Pull the !p2m_is_mmio() check out of
the || expression (as otherwise it would need adding to the lhs as
well).

In both cases, p2m_is_valid() in combination with p2m_is_grant() still
doesn't cover foreign mappings. Hence use p2m_is_any_ram() plus (as
necessary) p2m_mmio_* instead.

Fixes: be59cceb2dbb ("x86/P2M: don't include MMIO_DM in p2m_is_valid()")
Reported-by: Luca Fancellu <Luca.Fancellu@arm.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This still leaves the p2m_mmio_dm vs p2m_invalid unaddressed.

While propagating #PF to the guest based on P2M type isn't quite right,
not doing so in sh_page_fault() would lead to no forward progress in the
guest anymore: If we put in place a non-present shadow PTE, another #PF
will occur right after exiting to the guest. Doing so is only okay as a
transient measure, e.g. while paging back in a paged-out page (where the
respective type is included in P2M_RAM_TYPES).

There could likely be at least one more Fixes: tag (to cover the lack of
handling foreign mappings); the one supplied is merely to indicate the
connection to the recent regression.

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -471,9 +471,7 @@ _sh_propagate(struct vcpu *v,
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
 
-    /* Check there's something for the shadows to map to */
-    if ( (!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt))
-         || !gfn_valid(d, target_gfn) )
+    if ( !gfn_valid(d, target_gfn) )
     {
         *sp = shadow_l1e_empty();
         goto done;
@@ -503,6 +501,13 @@ _sh_propagate(struct vcpu *v,
         goto done;
     }
 
+    /* Check there's something for the shadows to map to */
+    if ( !p2m_is_any_ram(p2mt) && p2mt != p2m_mmio_direct )
+    {
+        *sp = shadow_l1e_empty();
+        goto done;
+    }
+
     // Must have a valid target_mfn unless this is a prefetch or an l1
     // pointing at MMIO space.  In the case of a prefetch, an invalid
     // mfn means that we can not usefully shadow anything, and so we
@@ -2366,8 +2371,8 @@ static int cf_check sh_page_fault(
     gmfn = get_gfn(d, gfn, &p2mt);
 
     if ( shadow_mode_refcounts(d) &&
-         ((!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) ||
-          (!p2m_is_mmio(p2mt) && !mfn_valid(gmfn))) )
+         !p2m_is_mmio(p2mt) &&
+         (!p2m_is_any_ram(p2mt) || !mfn_valid(gmfn)) )
     {
         perfc_incr(shadow_fault_bail_bad_gfn);
         SHADOW_PRINTK("BAD gfn=%"SH_PRI_gfn" gmfn=%"PRI_mfn"\n",


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 12:30:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 12:30:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910294.1317011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsLEA-0007xi-Et; Wed, 12 Mar 2025 12:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910294.1317011; Wed, 12 Mar 2025 12:30: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 1tsLEA-0007xb-B9; Wed, 12 Mar 2025 12:30:26 +0000
Received: by outflank-mailman (input) for mailman id 910294;
 Wed, 12 Mar 2025 12:30: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=Y3Ag=V7=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tsLE9-0007xV-Kb
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 12:30:25 +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 c56adb7e-ff3d-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 13:30:24 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5e56b229d60so1627404a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 05:30:24 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac239485d55sm1079511866b.67.2025.03.12.05.30.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 05:30: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: c56adb7e-ff3d-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741782624; x=1742387424; darn=lists.xenproject.org;
        h=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=inrQ29XK2OWPqrbOj+WDMkr0HY/vh9OX4zHz4C2cDdA=;
        b=O+4jbpCegOacsebyZMNKwfuigLvAI0b7PNh+N8Ul51kO3zTR1q5YubaiP4loxHkDm+
         uRRY4gq5vP+RplXg7ZV8EgBivyN8TTsH1FMsXY8Sy85/WtL436Nu3LCYUC5nUEfXa26D
         bxzS3IJoTUQMMmTKLqJNdAmv5jqJDv1dZPlZ4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741782624; x=1742387424;
        h=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=inrQ29XK2OWPqrbOj+WDMkr0HY/vh9OX4zHz4C2cDdA=;
        b=p2x73NoKR8RTB+/ogiFpE0bu4OOeJBf3kPtO6gn6vCEkPCQPvH6KeDEL9puT3qlZ5r
         xBRZcllR7OQTNAsTFtgO0X1K2siSAUnQk2zeYvr9SDRvIQ9WtuSvez43oc65zl5QjG+0
         nCRDIwiqhtkaWbeheLw3u3qs94R2uqMfj1NJ6CWi6bWy6eElZv4toj9fHFGHuByOMThV
         TeBGiXOq6LhojFHW3eELOxBP54ZPeB4ZHTVIjhup1jju18YF8AUhptx+khpBJU13seGe
         q/X56GPKx69Vtm2iK9wBwvJDb1mJ9z0Xo9MVwWwh4iJB6cmyRIk9OkaqstHtp7rODMXs
         BqIg==
X-Gm-Message-State: AOJu0YzNB5yTMCXDMvFCtAQUu6Snoq7e/hYaEKjtJMO1Rhh7YuFl2G3D
	Bel9kz9Rtpar5XWLkCxx4uxLNCnxNU25/Pcz9rayFuv3PRpGEePJVZMeIMqAV+vyhNHDuF5S30E
	x
X-Gm-Gg: ASbGncswmHWQL66SRve/RkM1H3ybmbMRaiqqQV+bKedRJdHtzEYUDb+z9N583kYbx03
	IPQ//twEVMDmUylYDF60aRsS+ja3k0YMXlSwlkCY2yG70/2A41kvbAPHpCMz8ppJMFOKlUqzQJE
	WoyNHLt9WcG+3hqj1pAwd/m/x1ojlErln1xeu5JQeqI6g3FaJDGIQZkA35ZBmTL/b2l5aA6Mqy1
	qnZwu3o38V79MlAcxVgWBfx5m7dQhQeHCmmHCiGmuiH2MhUk+itXIFrM6ZEupMUf1sh6HhQV9D5
	RfO4gHV68UMbJEXLVKzAUyRmo9STvGhEl+8vY346UFdWrZCUS7Gx1AgH7w7jog+ADA==
X-Google-Smtp-Source: AGHT+IFG/0eKmklRc2XxaeCGfK5Z+zCt5mRvdpL65sT+x3L7wYSTuCAGSlBl6LhiTmq0HjDtWSW2QQ==
X-Received: by 2002:a17:907:a70a:b0:abf:6e9:3732 with SMTP id a640c23a62f3a-ac2ba47365dmr969405566b.3.1741782623721;
        Wed, 12 Mar 2025 05:30:23 -0700 (PDT)
Date: Wed, 12 Mar 2025 13:30: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>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH] x86/shadow: replace p2m_is_valid() uses
Message-ID: <Z9F-Xul18_96ok1N@macbook.local>
References: <6a7391fc-4abf-4e65-8159-30f4eae8fec5@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6a7391fc-4abf-4e65-8159-30f4eae8fec5@suse.com>

On Wed, Mar 12, 2025 at 12:30:40PM +0100, Jan Beulich wrote:
> The justification for dropping p2m_mmio_dm from p2m_is_valid() was wrong
> for two of the shadow mode uses.
> 
> In _sh_propagate() we want to create special L1 entries for p2m_mmio_dm
> pages. Hence we need to make sure we don't bail early for that type.
> 
> In _sh_page_fault() we want to handle p2m_mmio_dm by forwarding to
> (internal or external) emulation. Pull the !p2m_is_mmio() check out of
> the || expression (as otherwise it would need adding to the lhs as
> well).
> 
> In both cases, p2m_is_valid() in combination with p2m_is_grant() still
> doesn't cover foreign mappings. Hence use p2m_is_any_ram() plus (as
> necessary) p2m_mmio_* instead.
> 
> Fixes: be59cceb2dbb ("x86/P2M: don't include MMIO_DM in p2m_is_valid()")
> Reported-by: Luca Fancellu <Luca.Fancellu@arm.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

One suggestion below.

> ---
> This still leaves the p2m_mmio_dm vs p2m_invalid unaddressed.
> 
> While propagating #PF to the guest based on P2M type isn't quite right,
> not doing so in sh_page_fault() would lead to no forward progress in the
> guest anymore: If we put in place a non-present shadow PTE, another #PF
> will occur right after exiting to the guest. Doing so is only okay as a
> transient measure, e.g. while paging back in a paged-out page (where the
> respective type is included in P2M_RAM_TYPES).
> 
> There could likely be at least one more Fixes: tag (to cover the lack of
> handling foreign mappings); the one supplied is merely to indicate the
> connection to the recent regression.
> 
> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -471,9 +471,7 @@ _sh_propagate(struct vcpu *v,
>      /* We don't shadow PAE l3s */
>      ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
>  
> -    /* Check there's something for the shadows to map to */
> -    if ( (!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt))
> -         || !gfn_valid(d, target_gfn) )
> +    if ( !gfn_valid(d, target_gfn) )
>      {
>          *sp = shadow_l1e_empty();
>          goto done;
> @@ -503,6 +501,13 @@ _sh_propagate(struct vcpu *v,
>          goto done;
>      }
>  
> +    /* Check there's something for the shadows to map to */
> +    if ( !p2m_is_any_ram(p2mt) && p2mt != p2m_mmio_direct )
> +    {
> +        *sp = shadow_l1e_empty();
> +        goto done;
> +    }
> +
>      // Must have a valid target_mfn unless this is a prefetch or an l1
>      // pointing at MMIO space.  In the case of a prefetch, an invalid
>      // mfn means that we can not usefully shadow anything, and so we
> @@ -2366,8 +2371,8 @@ static int cf_check sh_page_fault(
>      gmfn = get_gfn(d, gfn, &p2mt);
>  
>      if ( shadow_mode_refcounts(d) &&
> -         ((!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) ||
> -          (!p2m_is_mmio(p2mt) && !mfn_valid(gmfn))) )
> +         !p2m_is_mmio(p2mt) &&
> +         (!p2m_is_any_ram(p2mt) || !mfn_valid(gmfn)) )

Would you mind adding some comment here about the need to forward
p2m_mmio_dm to the emulation, and hence not possible to short-circuit
here?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:42:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910320.1317044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMLw-00055z-Lh; Wed, 12 Mar 2025 13:42:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910320.1317044; Wed, 12 Mar 2025 13:42: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 1tsMLw-00055s-IS; Wed, 12 Mar 2025 13:42:32 +0000
Received: by outflank-mailman (input) for mailman id 910320;
 Wed, 12 Mar 2025 13:42: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=FzNf=V7=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMLv-00055j-J3
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:42:31 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20627.outbound.protection.outlook.com
 [2a01:111:f403:2612::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7547f75-ff47-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 14:42:29 +0100 (CET)
Received: from DB8P191CA0003.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::13)
 by DB9PR08MB8267.eurprd08.prod.outlook.com (2603:10a6:10:3c5::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 13:42:25 +0000
Received: from DU6PEPF0000B621.eurprd02.prod.outlook.com
 (2603:10a6:10:130:cafe::c1) by DB8P191CA0003.outlook.office365.com
 (2603:10a6:10:130::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 13:42:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000B621.mail.protection.outlook.com (10.167.8.138) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Wed, 12 Mar 2025 13:42:24 +0000
Received: ("Tessian outbound 68993334049c:v585");
 Wed, 12 Mar 2025 13:42:24 +0000
Received: from Lbd23429c381e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BA5CA704-160C-4FC8-A905-432236EF8D6A.1; 
 Wed, 12 Mar 2025 13:42:17 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lbd23429c381e.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 12 Mar 2025 13:42:17 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 AS8PR08MB6309.eurprd08.prod.outlook.com (2603:10a6:20b:29f::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.28; Wed, 12 Mar 2025 13:42:16 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025
 13:42: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: d7547f75-ff47-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=QUwyTMgWF4fyu3ltFUGqNbQEvI2zBqC9pl1fCMxhkFwuUORkrA1DHuTx7X36qaztYYCvGgX35V9m6lsJvNWFrDSmE7jL4Os9OkfWpCbtDZapBxApY2h/WvvSHsyNiRInhVykHetiw1jLe/BkJHVYf49c2QXr7t0/BKh3XE+Jfi+2bypLQHWB1uCEZM4fOpHLULMuAOj32BJtodnYOG0CPKr3KXM9iIp9cXWABlIPcQTPZJ3JkeHGC7yhuq/K0RKKqqeOaHjrsF8Tzkx5F7sm2K2XWBII1M+vhCw9+n5CfpQofcG7uMp2sbMotxnTSd3z1ISdvs3FZMF1idO2Vesuog==
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=UUorhL/cDoVsrZuPiFNaHtBZh4NIPDluDjfcPvJd0B4=;
 b=Ced81jvkc7Hn/ciG4mVsEDXbs+CeJAEM7uSnE5lwGdT4DlcuPGXAgWoLen3qOKLd1ArHjIOyOI4geADXWjRdteGG5ohi8criImB3Uk/QxqxFCILxTPSSEqpp7m/VJG063kEcU5IwpxlcZ2404DtdaoVO7gOf2a5MnvW46ktCYtzJBOUYaGv/m+mSbPKe123ddWqeuX+h2KU0Ss3h27GA8TmbvgV3UOBdhNYi2clEZCgzEoU8Aoky1tmUA6QEWZBFUtlTQ7AIYLO3UhZCffHLd90f0Wmlr8x4uRDSuU+VF45voywAYvACFe7Jip2HtiUtUum4TsPXqFF8UeV33FBFGA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=UUorhL/cDoVsrZuPiFNaHtBZh4NIPDluDjfcPvJd0B4=;
 b=TVs1NZv02x2FQhe0ed5RZRYmr1oRq0E+SH9dP+eRmMBIYMNPwYnKxyl9jRmBjOFbY2e2B8KI8go8naGxEeriJP23X7t+zUf/3heWyzQygUBBQxzDlQ3tjY2Uf60fAGCj3T8SifYvZasZJqW/2+ezBDqHKWZ8YnU05yaDN4dGrTw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b09be3d7dd726057
X-TessianGatewayMetadata: kwygBCOO9U4CRiCai4hSgT4HMWHHDr1NF8VfWwlu3y86PNWK02SmA9cerblrOUjglbFmjjGB+v+2lZ6R8n8loaqptkkkBwQ8at9JOwiclMjAobrJvvFwOcBjoS/AmjY9qzRr0UkNCxM5QTXG51QjGF94CaBKOvHYHnWqEH1647E=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=O4UrUQGQ38I7L8UwPTrlx5rpPagBIodK3hAyG/0dRLE3u5hq/UMLKwHOyzXORDu5A85lYT6NuoMB/J05uWleNi+ewbcMQXmkqm8OsfUxn4FVnKh5e7AD1qwJA0ASpMcCYGLjyv6obQaQ3KKh9AnDdkIwjArzmN4EmXaQXXhRMhfCT7UX2CSWOjm7RdZDe3USnY3y+Wm4Bq5Sei5NU49Xj8KXSB6YyATB9YCQTO2qggsw7vhTrUMx1/Ll34Wwy5bnuD1Hu4HFQUCLASgG9pWJ/WoHr0Ni1bI19yJ6qEX7B85PedIZ+gNxgJRMocFBi927aaz2w8dzWw5Ycq38iuOmvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UUorhL/cDoVsrZuPiFNaHtBZh4NIPDluDjfcPvJd0B4=;
 b=InMb74S5OESvmz5SKkwzMS2IsksetOOxPfgi4PfybYRr/N782jzI+WdJvMxIblsDcD2MWj3vwfTmQ6wapWX5kq0c4t/DZeeWMKfIgacOotpweMydyyuZe8obW9LEZKDC5g6iia6iR3m+NSHr/I18CJ//9l+Tb33X95QdyKLDv74r3ePO/qIo6nwVQ2AcHu/50czyabedAtuwX1271mYVYXPe9CTYARhXgRrlRNnuuKQHTR+TUkzNcvFhCY2YxppAme1mYp1GEV8O+7lF8ABw2l0ROtqdEW770x2PlT1R63IujzjPYO03IcFUozdtLwtDAjbnm8pX+xCXF4l54yS/Vw==
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=UUorhL/cDoVsrZuPiFNaHtBZh4NIPDluDjfcPvJd0B4=;
 b=TVs1NZv02x2FQhe0ed5RZRYmr1oRq0E+SH9dP+eRmMBIYMNPwYnKxyl9jRmBjOFbY2e2B8KI8go8naGxEeriJP23X7t+zUf/3heWyzQygUBBQxzDlQ3tjY2Uf60fAGCj3T8SifYvZasZJqW/2+ezBDqHKWZ8YnU05yaDN4dGrTw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH] x86/shadow: replace p2m_is_valid() uses
Thread-Topic: [PATCH] x86/shadow: replace p2m_is_valid() uses
Thread-Index: AQHbk0I7T648T2mJH06AjRu7xZ2e/bNvgniA
Date: Wed, 12 Mar 2025 13:42:15 +0000
Message-ID: <D5C00D3C-4BD0-4CBE-B989-DDEB529FF1D6@arm.com>
References: <6a7391fc-4abf-4e65-8159-30f4eae8fec5@suse.com>
In-Reply-To: <6a7391fc-4abf-4e65-8159-30f4eae8fec5@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|AS8PR08MB6309:EE_|DU6PEPF0000B621:EE_|DB9PR08MB8267:EE_
X-MS-Office365-Filtering-Correlation-Id: 8636a0b9-5dd3-4f8d-9240-08dd616bb8be
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Zkl6RDdJdnIrSEN4Ni9uMVVoQUN2RjRwUllVS21UcjBNU0RwWUZFRXVDUEl5?=
 =?utf-8?B?S09udFVoRVRRMTMxcFlqT054YmV2UmJ4SlVQMmFtK2VOZG13dklJMUpycU9Z?=
 =?utf-8?B?N3NwaVMzbDFkaWdFUVhSQURxeVpTRWdCK1FxMkhzbjNWNkxPKzcrOFplY0Rt?=
 =?utf-8?B?RjV0NWhFRU5CVHlrRmZjWjRCd2N0dGJ4dDd4RDZROG1DT1VHRU9vbFd2NUNI?=
 =?utf-8?B?TG1MdlhkR3JQdjMzbGdubllKNTgrb1pEYVE2aktmbGFHeWpBUHhUbytBQVpZ?=
 =?utf-8?B?cmFLbjNlWk1FVW12QUtnT3diSFpvUThSU1FkL2dTTnJqQ0tvOEdQL04zYUdM?=
 =?utf-8?B?cWw1MVhVSTBVQ28xUnNXNzVQUUVneUx6OGQzZllKSmFQSHpQLzVhUGxnM3My?=
 =?utf-8?B?WTc5RmZKV1NCQUNvbEl1dG1ub1RTSFFkLzNqZGVXVkdISHRMQzZQMkVvZkw1?=
 =?utf-8?B?ck91OTE4UnozajlGRXdzNWhsL09waXZvR0tCR3RsNWYvb25WNFducllGRVFk?=
 =?utf-8?B?MVVMYU4vR3Zmc0VMWHhPb3lYK1lPUW03ellxT0ZZRzV1VWVPVms2NE5uT1A4?=
 =?utf-8?B?M2V2dXluZ05uNXY5Mnh3dHdaclI5MTl0WUVkKzI0L1BIb3RONW8venZycEkz?=
 =?utf-8?B?Z1VaYTRQdXNVVk9NVFBOVWt1bk5CWStvUVRydC9wNHNDN3FDMHZtL09LMUhQ?=
 =?utf-8?B?V0sxMVRvYnIyUFZiQUE5TnlRTVhzd3hiMGtPSWlvTEFVU01acjZzTXJEZ3ZT?=
 =?utf-8?B?bENMYTcwVG12YlR1YzRxVlBUZXpsaG1rTEJlcUZxZEZjK1k4elpOV0ZvY1Zw?=
 =?utf-8?B?RzJxRlZIUk85amNvMWVIbXkzZStvN285VUJZODRDR3NaQmF2cFlxc2FTVTN3?=
 =?utf-8?B?L2tWdllWb2J0amJpWFFPWkphM3BSSTFvUVQ3cjRRSWowOHIxcEZkc0lITEVk?=
 =?utf-8?B?ZWdQbklVK1NiaDFFZElCSzA5V3ZRbXgvNC9SakloTkFnNXhJZFJrL211QXdU?=
 =?utf-8?B?WTROV3F2elJzeWZJTjRJdndCU0ZnZU1OdDh5RzdWb3NmUHlBU1lvQno3TmF2?=
 =?utf-8?B?d0VnTUpFS2hiWW41bjB1eHdxb0paQzU1bXdiYlVLNHlTYVZ5WVBwZEpvY2dH?=
 =?utf-8?B?bElKNGNOTjVJOFhoL3NPd2ZObWVnd1V4WEQ3c2ZvZENyRFA3UjNsNXk2bGlm?=
 =?utf-8?B?em11MjZCd3lvU0EzY1NGSmdxbS8vNlozNjBzOTNnekQ2ZTNsc2dTM1B0djdC?=
 =?utf-8?B?dXNxZTNLU2ZPeC9NRTl2L1RTK1hYeGNTNXlrNW1ZdVVSNDNxekdQWE90UGVC?=
 =?utf-8?B?elN0ekJJVE9MdklkWUwwc1RtRHNJVzJLTmd3bnFrMzBVLzFtcy9RaDQrUjFQ?=
 =?utf-8?B?UUlEdGh4Y2RyeUx4WTl2VlVPMC9lMW9qY0cxNTFQRUM5bGM1YmxFcGl5WXJJ?=
 =?utf-8?B?WXFRTnhXeEV4WjJyanJZdlFMa0gyOGRIayszdkYyWnROb1dRbXY1ZDFyM2cr?=
 =?utf-8?B?cjRucERDQUkwOHk3Mk1SNE92QTRBc3Z6bVNZL1dwUlhTc3J4SXV0YlBUUjJV?=
 =?utf-8?B?d0pXWmROakI0N3lsSldZNS95eHc2ZU1wbDc0RkN4OFFGSmorTCswbEZPSktO?=
 =?utf-8?B?Q28rd0ZCbVNQQjMyKzRFR1RTYzJDMXJRN2V1Ly9mdkdER0tzWWFjcE9LaEJ0?=
 =?utf-8?B?dmpxbzdQNzdvd29Xa0w4Y2k4TUlicHYxVi8vSUpqVDcySXErazMvcGdzYTY4?=
 =?utf-8?B?NnBYdzFaWmhpSUZ3akRPQ05Jd3l6elNkN3dMWGhmYVg4MVhtTzZMRmd4SWtY?=
 =?utf-8?B?bjhaSmRWbVJsb28xdTNPVlpJRXAwWXpLVU5GeERkQjZWZkF5UWFEWEx4b1JH?=
 =?utf-8?B?RDZiRzRzeVMxMDVWQVdjTUdYRzhibWRac0c0KzR1ajQxYnJFUEE4aG9RQUtz?=
 =?utf-8?Q?zI0pPTUlmhC3pmT60gwkMaUIPxpKA67E?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <EBC8DA8DCA9DE94FAE6E0E66CF1EF02D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6309
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000B621.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cb35fce6-2ac8-432c-8c94-08dd616bb3b7
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|376014|36860700013|1800799024|35042699022|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bkxPVWZmbXgrRDdrNEx0MkJpeUhXUEkxeEdXQ05IOFJodEdVMDk3czFZMTQ1?=
 =?utf-8?B?RUtZMDVxU0FmUDJ3akF4a1dKSnlIS1FubEpLWFlXS3dlU2lsb1FhSFljS0tT?=
 =?utf-8?B?NFF1UFhFTXloOGpxcm1mQW9uMUR2WXdUU3diUmhRT1N4LzRTaXBLR0F0bnFU?=
 =?utf-8?B?OVE0dkc5czlDeTJCZ0x3eU5kVkRKb0xPN3NWaXYydllkOW13Um8wd3hVZmpa?=
 =?utf-8?B?cmhzNzRBL1Qvcm9yN2Z3LzlsQlErL1htaVNMUDBOKzh3clFwMlNUN2k5VUNT?=
 =?utf-8?B?YWFvRGFrenN1cUFXK3hkQmQ4clR1cHhXeHNwb0orZUlpZlBubDRSQm43S2xY?=
 =?utf-8?B?Vm41Qm1GV2NJN3BnaDladFV5NGU3M1R5cUlEUjhTOExBdTRLV280VkwxMGhS?=
 =?utf-8?B?MmphVzFnek1oa2U0eU80MUhxMVZGOHNqcHd2MGRCemZHUThteGFnTlJGU0tJ?=
 =?utf-8?B?RVVteVZ2TTlqd2pFdmVlRDdSZ1RpaHRrR21hbEtlbWE0c1RENm5NQlNZKzZS?=
 =?utf-8?B?MGp2N1ZQZmNMOG5sR3h1UFhOdldyRWthVkMyTlROWXdwVXI2QVM0ckVUZHdx?=
 =?utf-8?B?Nk1RVUhjNTZyMXpXcmkxWW5WOUl6V2ljd3hMTjlpaXJxUnJSOEFUallVd2tY?=
 =?utf-8?B?ZG5KMkdxWVdJYXFILzhMWXhnRDBOTGhTWjlhbVM1QTJaODV1ZDRQTCtFQytm?=
 =?utf-8?B?V3YwL2Y2b1pmWEF6N3NQL0tPRXpvWVIrSmxrOG0zeW9adTdxVHZsQmVPay9Q?=
 =?utf-8?B?dHdnUmJkQXZNNCtHQkFFMVF2QVd5T01ERDcxUHhheTFuVjQ3SEV1bFlSNUY2?=
 =?utf-8?B?T2dZRExNbUtoR1JVeWE0VDhIQzFRelk3dVpxVHQ4MExydGJkenFzbjJZQjhC?=
 =?utf-8?B?aDV0a2twSGRncXpzeXVQaXNaSllOVk1BTzhvaitsdFZxMDdWQjc1UnROSTN3?=
 =?utf-8?B?bCttbkRFNEFSaU1CNUZLTnd1SFd2L3JCRWtyRzFkbHBFQUMwUC9lWWh6RGJw?=
 =?utf-8?B?ZzFPZWxVR3BlTUM2S3hXVUZuTFhzNm11cXVxRjRWbGE3WFZKMGlqYWtPWmtu?=
 =?utf-8?B?K2N3M29raFZib2RzaHM2Z2w0TS94TEdlVUxYYWdvdlh5UXJPVTJLZ3RoOVVO?=
 =?utf-8?B?UDlqNEtGVVlYams3bWJyNzF6bXpJaFQxNlNKUTRXb3o2TEtwR1RIMWdOOVht?=
 =?utf-8?B?TkNwdnRRNTNkS1UyRFBzTlVMVlJpZC8wUndFZWxkN2kwby9ZaGVDWktmTDUr?=
 =?utf-8?B?U2JIdlh2WmxJaHN4ZTdUbHhRUTVrUGhnaXN0ajBMWW9lZzNicHFaNnVxWnFo?=
 =?utf-8?B?WTVGUVhUWEYvUmpDV3RxWmJBM1JOZVVaQU5WckliM1BOWDJxZjZJK055dytl?=
 =?utf-8?B?NkJUQjVHekwvdlYxR3FFdDhvbkx1NWxwNTBwZDBSWUl2dVpqREZ5MzA2MVJz?=
 =?utf-8?B?ay81Y1dxS0JjVkNrdlNlajNpU1F6WlZqaVVCSFZFNkxoZzFIZnN0ZWZ6RjEr?=
 =?utf-8?B?SnBCR3luSmcwVkhCK2UwK2h4QTNBUncvUTR6NHN1bGdHNWNqa0pmWVk0QnQ4?=
 =?utf-8?B?cEdLV0FqTyttZW1Qb1FYUkFTYmZxeDRnUDNhelZHSTFCNFErY0NyVFFNWTJD?=
 =?utf-8?B?bmVhNHFEeVdlMzVQNmY1d3UzZ1NQdlhodEo4NDJrVEtZVklZcmdmRUZqR1hM?=
 =?utf-8?B?SUFqNjhEcEgxK0Nrd0NCMVpPZ0dET2lNK1A4Y1plWHZDSElBRFFHaDZjMElh?=
 =?utf-8?B?MktlR0V0azJrZS9ranRObW9NTVZ6U0tKODhZT2dyRi82NjgxK2M0VDQ4eG1j?=
 =?utf-8?B?c2xYck9leHIzQnBneHFXekdQbFpiaUYzZGN0NU05cGc1R21rWDZWdUUrck03?=
 =?utf-8?B?Tm9Mc1VHK2t2MGpWM1BxYnB6MEw3Y0hyN3pOR0ZKUnJ4eUx3WldZeWtsbGtW?=
 =?utf-8?B?YjB4SlArTnZPbjBNa2lHSlZiVlRRZDBTNGNQRDBPdW9NY05KL0dVbnF4TUVO?=
 =?utf-8?Q?WQ/eaNUHQbLCpVCUVdd7ZVHvtQtiNs=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(376014)(36860700013)(1800799024)(35042699022)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 13:42:24.5057
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8636a0b9-5dd3-4f8d-9240-08dd616bb8be
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000B621.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8267

SGkgSmFuLA0KDQo+IE9uIDEyIE1hciAyMDI1LCBhdCAxMTozMCwgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPiB3cm90ZToNCj4gDQo+IFRoZSBqdXN0aWZpY2F0aW9uIGZvciBkcm9wcGlu
ZyBwMm1fbW1pb19kbSBmcm9tIHAybV9pc192YWxpZCgpIHdhcyB3cm9uZw0KPiBmb3IgdHdvIG9m
IHRoZSBzaGFkb3cgbW9kZSB1c2VzLg0KPiANCj4gSW4gX3NoX3Byb3BhZ2F0ZSgpIHdlIHdhbnQg
dG8gY3JlYXRlIHNwZWNpYWwgTDEgZW50cmllcyBmb3IgcDJtX21taW9fZG0NCj4gcGFnZXMuIEhl
bmNlIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGJhaWwgZWFybHkgZm9yIHRoYXQgdHlw
ZS4NCj4gDQo+IEluIF9zaF9wYWdlX2ZhdWx0KCkgd2Ugd2FudCB0byBoYW5kbGUgcDJtX21taW9f
ZG0gYnkgZm9yd2FyZGluZyB0bw0KPiAoaW50ZXJuYWwgb3IgZXh0ZXJuYWwpIGVtdWxhdGlvbi4g
UHVsbCB0aGUgIXAybV9pc19tbWlvKCkgY2hlY2sgb3V0IG9mDQo+IHRoZSB8fCBleHByZXNzaW9u
IChhcyBvdGhlcndpc2UgaXQgd291bGQgbmVlZCBhZGRpbmcgdG8gdGhlIGxocyBhcw0KPiB3ZWxs
KS4NCj4gDQo+IEluIGJvdGggY2FzZXMsIHAybV9pc192YWxpZCgpIGluIGNvbWJpbmF0aW9uIHdp
dGggcDJtX2lzX2dyYW50KCkgc3RpbGwNCj4gZG9lc24ndCBjb3ZlciBmb3JlaWduIG1hcHBpbmdz
LiBIZW5jZSB1c2UgcDJtX2lzX2FueV9yYW0oKSBwbHVzIChhcw0KPiBuZWNlc3NhcnkpIHAybV9t
bWlvXyogaW5zdGVhZC4NCj4gDQo+IEZpeGVzOiBiZTU5Y2NlYjJkYmIgKCJ4ODYvUDJNOiBkb24n
dCBpbmNsdWRlIE1NSU9fRE0gaW4gcDJtX2lzX3ZhbGlkKCkiKQ0KPiBSZXBvcnRlZC1ieTogTHVj
YSBGYW5jZWxsdSA8THVjYS5GYW5jZWxsdUBhcm0uY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IEFja2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCj4gLS0tDQoNCknigJl2ZSB0ZXN0ZWQgdGhpcyBvbmUg
b24gdG9wIG9mIHRoZSBjdXJyZW50IHN0YWdpbmcgYW5kIGl0IGZpeGVzIHRoZSBYVEYgcmVncmVz
c2lvbg0KSSB3YXMgZXhwZXJpZW5jaW5nOg0KDQpUZXN0ZWQtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1
Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910336.1317081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWF-0006yU-4W; Wed, 12 Mar 2025 13:53:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910336.1317081; Wed, 12 Mar 2025 13:53: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 1tsMWE-0006xv-Ul; Wed, 12 Mar 2025 13:53:10 +0000
Received: by outflank-mailman (input) for mailman id 910336;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWE-0006ux-4E
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 54a406a4-ff49-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 14:53:09 +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 470F41595;
 Wed, 12 Mar 2025 06:53:19 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2DAD13F5A1;
 Wed, 12 Mar 2025 06:53: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: 54a406a4-ff49-11ef-9ab9-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [v5,01/10] xen/passthrough: Provide stub functions when !HAS_PASSTHROUGH
Date: Wed, 12 Mar 2025 13:52:49 +0000
Message-Id: <20250312135258.1815706-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When Xen is built without HAS_PASSTHROUGH, there are some parts
in arm where iommu_* functions are called in the codebase, but
their implementation is under xen/drivers/passthrough that is
not built.

So provide some stub for these functions in order to build Xen
when !HAS_PASSTHROUGH, which is the case for example on systems
with MPU support.

For gnttab_need_iommu_mapping() in the Arm part, modify the macro
to use IS_ENABLED for the HAS_PASSTHROUGH Kconfig.

Fixes: 0388a5979b21 ("xen/arm: mpu: Introduce choice between MMU and MPU")
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
https://patchwork.kernel.org/project/xen-devel/patch/20250307075818.740649-2-luca.fancellu@arm.com/
v5 changes:
 - Add Ack-by Julien and Jan
 - Add comment in iommu_add_dt_device
 - adjusted aligment for iommu_use_hap_pt
v4 changes:
 - re-introduced stub for iommu_use_hap_pt, Stefano suggested
   it is ok to have it in iommu.h.
 - Reworded comment in iommu_domain_init from Jan suggestion
v3 Changes:
 - removed stub for iommu_use_hap_pt, another solution will be
   done for the instance in common arm code.
 - Moved a comment close to the macro it was referred to
 - add comment to iommu_domain_init() stub
 - modified commit message
 - Add fixes tag

v2 Changes:
 - modify gnttab_need_iommu_mapping to use IS_ENABLED
 - removed macro that didn't allow some of the parameter to be
   evaluated
 - Changed commit message
---
---
 xen/arch/arm/include/asm/grant_table.h |  5 ++-
 xen/include/xen/iommu.h                | 54 +++++++++++++++++++++++++-
 2 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/include/asm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h
index d3c518a926b9..c5d87b60c4df 100644
--- a/xen/arch/arm/include/asm/grant_table.h
+++ b/xen/arch/arm/include/asm/grant_table.h
@@ -73,8 +73,9 @@ int replace_grant_host_mapping(uint64_t gpaddr, mfn_t frame,
 #define gnttab_status_gfn(d, t, i)                                       \
     page_get_xenheap_gfn(gnttab_status_page(t, i))
 
-#define gnttab_need_iommu_mapping(d)                    \
-    (is_domain_direct_mapped(d) && is_iommu_enabled(d))
+#define gnttab_need_iommu_mapping(d)                                     \
+    (IS_ENABLED(CONFIG_HAS_PASSTHROUGH) && is_domain_direct_mapped(d) && \
+     is_iommu_enabled(d))
 
 #endif /* __ASM_GRANT_TABLE_H__ */
 /*
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 77a514019cc6..b634da2c7256 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -110,6 +110,8 @@ extern int8_t iommu_hwdom_reserved;
 
 extern unsigned int iommu_dev_iotlb_timeout;
 
+#ifdef CONFIG_HAS_PASSTHROUGH
+
 int iommu_setup(void);
 int iommu_hardware_setup(void);
 
@@ -122,6 +124,28 @@ int arch_iommu_domain_init(struct domain *d);
 void arch_iommu_check_autotranslated_hwdom(struct domain *d);
 void arch_iommu_hwdom_init(struct domain *d);
 
+#else
+
+static inline int iommu_setup(void)
+{
+    return -ENODEV;
+}
+
+static inline int iommu_domain_init(struct domain *d, unsigned int opts)
+{
+    /*
+     * Return as the real iommu_domain_init() would: Success when
+     * !is_iommu_enabled(), following from !iommu_enabled when !HAS_PASSTHROUGH
+     */
+    return 0;
+}
+
+static inline void iommu_hwdom_init(struct domain *d) {}
+
+static inline void iommu_domain_destroy(struct domain *d) {}
+
+#endif /* HAS_PASSTHROUGH */
+
 /*
  * The following flags are passed to map (applicable ones also to unmap)
  * operations, while some are passed back by lookup operations.
@@ -209,6 +233,8 @@ struct msi_msg;
 #ifdef CONFIG_HAS_DEVICE_TREE
 #include <xen/device_tree.h>
 
+#ifdef CONFIG_HAS_PASSTHROUGH
+
 int iommu_assign_dt_device(struct domain *d, struct dt_device_node *dev);
 int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev);
 int iommu_dt_domain_init(struct domain *d);
@@ -238,6 +264,30 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
  */
 int iommu_remove_dt_device(struct dt_device_node *np);
 
+#else
+
+static inline int iommu_assign_dt_device(struct domain *d,
+                                         struct dt_device_node *dev)
+{
+    return -EINVAL;
+}
+
+static inline int iommu_add_dt_device(struct dt_device_node *np)
+{
+    /*
+     * !HAS_PASSTHROUGH => !iommu_enabled (see the non-stub
+     * iommu_add_dt_device())
+     */
+    return 1;
+}
+
+static inline int iommu_release_dt_devices(struct domain *d)
+{
+    return 0;
+}
+
+#endif /* HAS_PASSTHROUGH */
+
 #endif /* HAS_DEVICE_TREE */
 
 struct page_info;
@@ -383,17 +433,19 @@ struct domain_iommu {
 #define iommu_set_feature(d, f)   set_bit(f, dom_iommu(d)->features)
 #define iommu_clear_feature(d, f) clear_bit(f, dom_iommu(d)->features)
 
+#ifdef CONFIG_HAS_PASSTHROUGH
 /* Are we using the domain P2M table as its IOMMU pagetable? */
 #define iommu_use_hap_pt(d)       (IS_ENABLED(CONFIG_HVM) && \
                                    dom_iommu(d)->hap_pt_share)
 
 /* Does the IOMMU pagetable need to be kept synchronized with the P2M */
-#ifdef CONFIG_HAS_PASSTHROUGH
 #define need_iommu_pt_sync(d)     (dom_iommu(d)->need_sync)
 
 int iommu_do_domctl(struct xen_domctl *domctl, struct domain *d,
                     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
 #else
+#define iommu_use_hap_pt(d)       ({ (void)(d); false; })
+
 #define need_iommu_pt_sync(d)     ({ (void)(d); false; })
 
 static inline int iommu_do_domctl(struct xen_domctl *domctl, struct domain *d,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910337.1317095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWH-0007No-CA; Wed, 12 Mar 2025 13:53:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910337.1317095; Wed, 12 Mar 2025 13:53: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 1tsMWH-0007Nh-7Y; Wed, 12 Mar 2025 13:53:13 +0000
Received: by outflank-mailman (input) for mailman id 910337;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWF-0006ux-Uj
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5606bdaa-ff49-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 14:53: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 CEF0F1691;
 Wed, 12 Mar 2025 06:53:21 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1EAB73F5A1;
 Wed, 12 Mar 2025 06:53: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: 5606bdaa-ff49-11ef-9ab9-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH 03/10] arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S
Date: Wed, 12 Mar 2025 13:52:51 +0000
Message-Id: <20250312135258.1815706-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The define HYPERVISOR_VIRT_START is required by the common code,
even if MPU system doesn't use virtual memory, define it in
mpu/layout.h in order to reuse existing code.

Disable a check in the linker script for arm for !MMU systems.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/mpu/layout.h | 2 ++
 xen/arch/arm/xen.lds.S                | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
index d6d397f4c2ac..248e55f8882d 100644
--- a/xen/arch/arm/include/asm/mpu/layout.h
+++ b/xen/arch/arm/include/asm/mpu/layout.h
@@ -22,6 +22,8 @@
  */
 #define XEN_VIRT_START         _AT(paddr_t, XEN_START_ADDRESS)
 
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
 #endif /* __ARM_MPU_LAYOUT_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bbccff1a0350..4342e54422a7 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -239,4 +239,6 @@ ASSERT(IS_ALIGNED(__bss_start,      POINTER_ALIGN), "__bss_start is misaligned")
 ASSERT(IS_ALIGNED(__bss_end,        POINTER_ALIGN), "__bss_end is misaligned")
 /* To simplify the logic in head.S, we want to _end to be page aligned */
 ASSERT(IS_ALIGNED(_end,             PAGE_SIZE), "_end is not page aligned")
+#ifdef CONFIG_MMU
 ASSERT((_end - _start) <= XEN_VIRT_SIZE, "Xen is too big")
+#endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910335.1317074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWE-0006vF-RS; Wed, 12 Mar 2025 13:53:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910335.1317074; Wed, 12 Mar 2025 13:53: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 1tsMWE-0006v8-NW; Wed, 12 Mar 2025 13:53:10 +0000
Received: by outflank-mailman (input) for mailman id 910335;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWD-0006ux-Ek
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 53a054d4-ff49-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 14:53:07 +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 9A27A152B;
 Wed, 12 Mar 2025 06:53:17 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9D1D73F5A1;
 Wed, 12 Mar 2025 06:53: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: 53a054d4-ff49-11ef-9ab9-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 00/10] MPU mm subsistem skeleton
Date: Wed, 12 Mar 2025 13:52:48 +0000
Message-Id: <20250312135258.1815706-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

this serie implements the skeleton for the MPU memory management subsystem,
at the end of the serie it will be possible to compile the Arm arch using MPU.

The minimum Arm Kconfig configuration is this one:

CONFIG_UNSUPPORTED=y
CONFIG_MPU=y
CONFIG_XEN_START_ADDRESS=0x0

Luca Fancellu (8):
  xen/passthrough: Provide stub functions when !HAS_PASSTHROUGH
  xen/arm: Restrict Kconfig configuration for LLC coloring
  arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S
  arm/mpu: Introduce frame_table, virt_to_page, maddr_to_virt
  arm/mpu: Kconfig symbols for MPU build
  arm/mpu: Implement stubs for ioremap_attr on MPU
  xen/arm: Rename setup_pagetables with a more generic name
  arm/mpu: Create the skeleton for MPU compilation

Penny Zheng (2):
  arm/mpu: Implement virt/maddr conversion in MPU system
  xen/arm: introduce Kconfig HAS_PAGING_MEMPOOL

 xen/arch/arm/Kconfig                   |  9 ++-
 xen/arch/arm/arm64/mpu/Makefile        |  2 +
 xen/arch/arm/arm64/mpu/p2m.c           | 18 +++++
 xen/arch/arm/arm64/mpu/smpboot.c       | 23 +++++++
 xen/arch/arm/dom0less-build.c          |  2 +
 xen/arch/arm/include/asm/domain.h      |  2 +
 xen/arch/arm/include/asm/grant_table.h |  5 +-
 xen/arch/arm/include/asm/mm.h          | 33 +++++++--
 xen/arch/arm/include/asm/mmu/mm.h      |  7 ++
 xen/arch/arm/include/asm/mpu/layout.h  |  5 ++
 xen/arch/arm/include/asm/mpu/mm.h      | 30 ++++++++
 xen/arch/arm/include/asm/mpu/p2m.h     | 20 ++++++
 xen/arch/arm/include/asm/p2m.h         |  2 +-
 xen/arch/arm/mm.c                      |  5 ++
 xen/arch/arm/mmu/pt.c                  |  5 --
 xen/arch/arm/mmu/setup.c               |  2 +-
 xen/arch/arm/mpu/Makefile              |  3 +
 xen/arch/arm/mpu/mm.c                  | 41 +++++++++++
 xen/arch/arm/mpu/p2m.c                 | 94 ++++++++++++++++++++++++++
 xen/arch/arm/mpu/setup.c               | 42 ++++++++++++
 xen/arch/arm/mpu/vmap-mpu.c            | 24 +++++++
 xen/arch/arm/setup.c                   |  6 +-
 xen/arch/arm/xen.lds.S                 |  2 +
 xen/include/xen/iommu.h                | 54 ++++++++++++++-
 24 files changed, 414 insertions(+), 22 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
 create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h
 create mode 100644 xen/arch/arm/mpu/p2m.c
 create mode 100644 xen/arch/arm/mpu/setup.c
 create mode 100644 xen/arch/arm/mpu/vmap-mpu.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910338.1317104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWI-0007d4-HO; Wed, 12 Mar 2025 13:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910338.1317104; Wed, 12 Mar 2025 13: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 1tsMWI-0007cv-EH; Wed, 12 Mar 2025 13:53:14 +0000
Received: by outflank-mailman (input) for mailman id 910338;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWG-0007NP-Oi
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 555dad2c-ff49-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 14:53:10 +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 8B621152B;
 Wed, 12 Mar 2025 06:53:20 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CEFF53F5A1;
 Wed, 12 Mar 2025 06:53: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: 555dad2c-ff49-11ef-9898-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [v5,02/10] xen/arm: Restrict Kconfig configuration for LLC coloring
Date: Wed, 12 Mar 2025 13:52:50 +0000
Message-Id: <20250312135258.1815706-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xen LLC coloring feature can be used only on the MMU subsystem,
move the code that selects it from ARM_64 to MMU and add the
ARM_64 dependency.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
https://patchwork.kernel.org/project/xen-devel/patch/20250307075818.740649-3-luca.fancellu@arm.com/
v5 changes:
 - no changes
v4 changes:
 - clarified that it's the Xen feature LLC coloring that is not
   applicable to the MPU subsystem, not the generic cache coloring
   method.
 - Add R-by Michal

v3 changes:
 - Dropped comment on top of boot_fdt_info()

v2 changes:
 - dropped part of the v1 code, now this one is simpler, I will
   discuss better how to design a common boot flow for MPU and
   implement on another patch.

---
---
 xen/arch/arm/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a26d3e11827c..ffdff1f0a36c 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -8,7 +8,6 @@ config ARM_64
 	depends on !ARM_32
 	select 64BIT
 	select HAS_FAST_MULTIPLY
-	select HAS_LLC_COLORING if !NUMA
 
 config ARM
 	def_bool y
@@ -76,6 +75,7 @@ choice
 
 config MMU
 	bool "MMU"
+	select HAS_LLC_COLORING if !NUMA && ARM_64
 	select HAS_PMAP
 	select HAS_VMAP
 	select HAS_PASSTHROUGH
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910339.1317114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWK-0007uY-Ot; Wed, 12 Mar 2025 13:53:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910339.1317114; Wed, 12 Mar 2025 13:53: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 1tsMWK-0007uP-MB; Wed, 12 Mar 2025 13:53:16 +0000
Received: by outflank-mailman (input) for mailman id 910339;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWJ-0007NP-7l
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5721bf00-ff49-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 14:53: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 7C4FD1595;
 Wed, 12 Mar 2025 06:53:23 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 635193F5A1;
 Wed, 12 Mar 2025 06:53: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: 5721bf00-ff49-11ef-9898-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU system
Date: Wed, 12 Mar 2025 13:52:52 +0000
Message-Id: <20250312135258.1815706-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

virt_to_maddr and maddr_to_virt are used widely in Xen code. So
even there is no VMSA in MPU system, we keep the interface in MPU to
don't change the existing common code.

In order to do that, move the virt_to_maddr() definition to mmu/mm.h,
instead for maddr_to_virt() it's more difficult to isolate it under mmu/
so it will be protected by #ifdef CONFIG_MMU.

Finally implement virt_to_maddr() and maddr_to_virt() for MPU systems
under mpu/mm.h, the MPU version of virt/maddr conversion is simple since
VA==PA.

While there, take the occasion to add emacs footer to mpu/mm.c.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/mm.h     | 13 +++++++------
 xen/arch/arm/include/asm/mmu/mm.h |  7 +++++++
 xen/arch/arm/include/asm/mpu/mm.h | 27 +++++++++++++++++++++++++++
 xen/arch/arm/mpu/mm.c             |  9 +++++++++
 4 files changed, 50 insertions(+), 6 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index a0d8e5afe977..e7767cdab493 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -16,8 +16,10 @@
 
 #if defined(CONFIG_MMU)
 # include <asm/mmu/mm.h>
-#elif !defined(CONFIG_MPU)
-# error "Unknown memory management layout"
+#elif defined(CONFIG_MPU)
+# include <asm/mpu/mm.h>
+#else
+#error "Unknown memory management layout"
 #endif
 
 /* Align Xen to a 2 MiB boundary. */
@@ -261,10 +263,7 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len)
 /* Page-align address and convert to frame number format */
 #define paddr_to_pfn_aligned(paddr)    paddr_to_pfn(PAGE_ALIGN(paddr))
 
-#define virt_to_maddr(va) ({                                        \
-    vaddr_t va_ = (vaddr_t)(va);                                    \
-    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
-})
+#if defined(CONFIG_MMU)
 
 #ifdef CONFIG_ARM_32
 /**
@@ -310,6 +309,8 @@ static inline void *maddr_to_virt(paddr_t ma)
 }
 #endif
 
+#endif /* CONFIG_MMU */
+
 /*
  * Translate a guest virtual address to a machine address.
  * Return the fault information if the translation has failed else 0.
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index f5a00558c47b..5ff2071133ee 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -2,6 +2,8 @@
 #ifndef __ARM_MMU_MM_H__
 #define __ARM_MMU_MM_H__
 
+#include <asm/page.h>
+
 /* Non-boot CPUs use this to find the correct pagetables. */
 extern uint64_t init_ttbr;
 
@@ -14,6 +16,11 @@ extern unsigned long directmap_base_pdx;
 
 #define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
 
+#define virt_to_maddr(va) ({                                                   \
+    vaddr_t va_ = (vaddr_t)(va);                                               \
+    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
+})
+
 /*
  * Print a walk of a page table or p2m
  *
diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
new file mode 100644
index 000000000000..57f1e558fd44
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/mm.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MPU_MM__
+#define __ARM_MPU_MM__
+
+#include <xen/macros.h>
+
+#define virt_to_maddr(va) ({  \
+    (paddr_t)va;              \
+})
+
+/* On MPU systems there is no translation, ma == va. */
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    return _p(ma);
+}
+
+#endif /* __ARM_MPU_MM__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 0b8748e57598..a11e017d8a96 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -13,3 +13,12 @@ static void __init __maybe_unused build_assertions(void)
      */
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910340.1317119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWL-0007xX-4o; Wed, 12 Mar 2025 13:53:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910340.1317119; Wed, 12 Mar 2025 13:53: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 1tsMWK-0007wX-UH; Wed, 12 Mar 2025 13:53:16 +0000
Received: by outflank-mailman (input) for mailman id 910340;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWJ-0006ux-EH
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 57e1c12b-ff49-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 14:53:14 +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 C05D8152B;
 Wed, 12 Mar 2025 06:53:24 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 100F63F5A1;
 Wed, 12 Mar 2025 06:53: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: 57e1c12b-ff49-11ef-9ab9-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH 05/10] arm/mpu: Introduce frame_table, virt_to_page, maddr_to_virt
Date: Wed, 12 Mar 2025 13:52:53 +0000
Message-Id: <20250312135258.1815706-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce variables and functions used in the common Arm code by
MPU memory management subsystem, provide struct page_info and
the MPU implementation for helpers and macros used in the common
arm code.

Moving virt_to_page helper to mmu/mpu part is not easy as it needs
visibility of 'struct page_info', so protect it with CONFIG_MMU
and provide the MPU variant in the #else branch.

Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
pdx.c.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/mm.h         | 18 ++++++++++++++++++
 xen/arch/arm/include/asm/mpu/layout.h |  3 +++
 xen/arch/arm/include/asm/mpu/mm.h     |  3 +++
 xen/arch/arm/mpu/mm.c                 |  4 ++++
 4 files changed, 28 insertions(+)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index e7767cdab493..c96d33aceaf0 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -341,6 +341,8 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
 #define virt_to_mfn(va)     __virt_to_mfn(va)
 #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
 
+#ifdef CONFIG_MMU
+
 /* Convert between Xen-heap virtual addresses and page-info structures. */
 static inline struct page_info *virt_to_page(const void *v)
 {
@@ -355,6 +357,22 @@ static inline struct page_info *virt_to_page(const void *v)
     return frame_table + pdx - frametable_base_pdx;
 }
 
+#else /* !CONFIG_MMU */
+
+/* Convert between virtual address to page-info structure. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    unsigned long pdx;
+
+    pdx = paddr_to_pdx(virt_to_maddr(v));
+    ASSERT(pdx >= frametable_base_pdx);
+    ASSERT(pdx < frametable_pdx_end);
+
+    return frame_table + pdx - frametable_base_pdx;
+}
+
+#endif /* CONFIG_MMU */
+
 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/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
index 248e55f8882d..c46b634c9c15 100644
--- a/xen/arch/arm/include/asm/mpu/layout.h
+++ b/xen/arch/arm/include/asm/mpu/layout.h
@@ -3,6 +3,9 @@
 #ifndef __ARM_MPU_LAYOUT_H__
 #define __ARM_MPU_LAYOUT_H__
 
+#define FRAMETABLE_SIZE   GB(32)
+#define FRAMETABLE_NR     (FRAMETABLE_SIZE / sizeof(*frame_table))
+
 #define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
 
 /*
diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
index 57f1e558fd44..2219c9979548 100644
--- a/xen/arch/arm/include/asm/mpu/mm.h
+++ b/xen/arch/arm/include/asm/mpu/mm.h
@@ -5,6 +5,9 @@
 
 #include <xen/macros.h>
 
+extern struct page_info *frame_table;
+extern unsigned long frametable_pdx_end;
+
 #define virt_to_maddr(va) ({  \
     (paddr_t)va;              \
 })
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index a11e017d8a96..4036dd62eeeb 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -3,6 +3,10 @@
 #include <xen/lib.h>
 #include <xen/init.h>
 #include <xen/sizes.h>
+#include <xen/mm.h>
+
+struct page_info *frame_table;
+unsigned long __read_mostly frametable_pdx_end;
 
 static void __init __maybe_unused build_assertions(void)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910341.1317132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWM-0008KV-BT; Wed, 12 Mar 2025 13:53:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910341.1317132; Wed, 12 Mar 2025 13:53: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 1tsMWM-0008JQ-73; Wed, 12 Mar 2025 13:53:18 +0000
Received: by outflank-mailman (input) for mailman id 910341;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWL-0007NP-FY
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 589d9d72-ff49-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 14:53:15 +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 100CE1595;
 Wed, 12 Mar 2025 06:53:26 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5417B3F5A1;
 Wed, 12 Mar 2025 06:53: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: 589d9d72-ff49-11ef-9898-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH 06/10] arm/mpu: Kconfig symbols for MPU build
Date: Wed, 12 Mar 2025 13:52:54 +0000
Message-Id: <20250312135258.1815706-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the MPU system requires static memory to work,
select that when building this memory management subsystem.

While there, provide a restriction for the ARM_EFI Kconfig
parameter to be built only when !MPU, the EFI stub is not
used as there are no implementation of UEFI services for
armv8-r.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ffdff1f0a36c..5ac6ec0212d2 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -85,6 +85,7 @@ config MMU
 
 config MPU
 	bool "MPU" if UNSUPPORTED
+	select STATIC_MEMORY
 	help
 	  Memory Protection Unit (MPU). Select if you plan to run Xen on ARMv8-R
 	  systems supporting EL2. (UNSUPPORTED)
@@ -102,7 +103,7 @@ config ACPI
 
 config ARM_EFI
 	bool "UEFI boot service support"
-	depends on ARM_64
+	depends on ARM_64 && !MPU
 	default y
 	help
 	  This option provides support for boot services through
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910343.1317143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWN-0000DI-M2; Wed, 12 Mar 2025 13:53:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910343.1317143; Wed, 12 Mar 2025 13:53: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 1tsMWN-0000CS-HY; Wed, 12 Mar 2025 13:53:19 +0000
Received: by outflank-mailman (input) for mailman id 910343;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWL-0006ux-O1
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 596329fd-ff49-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 14:53:17 +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 544F3152B;
 Wed, 12 Mar 2025 06:53:27 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 97F2C3F5A1;
 Wed, 12 Mar 2025 06:53: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: 596329fd-ff49-11ef-9ab9-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH 07/10] arm/mpu: Implement stubs for ioremap_attr on MPU
Date: Wed, 12 Mar 2025 13:52:55 +0000
Message-Id: <20250312135258.1815706-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement ioremap_attr() stub for MPU system; the
implementation of ioremap() is the same between MMU
and MPU system, and it relies on ioremap_attr(), so
move the definition from mmu/pt.c to arm/mm.c.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/mm.c     | 5 +++++
 xen/arch/arm/mmu/pt.c | 5 -----
 xen/arch/arm/mpu/mm.c | 6 ++++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index a56e20ba2bdc..5a52f0c623e5 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -395,6 +395,11 @@ unsigned long get_upper_mfn_bound(void)
     return max_page - 1;
 }
 
+void *ioremap(paddr_t pa, size_t len)
+{
+    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e796..11cb1c66dac8 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -223,11 +223,6 @@ void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
     return ptr + offs;
 }
 
-void *ioremap(paddr_t pa, size_t len)
-{
-    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
-}
-
 static int create_xen_table(lpae_t *entry)
 {
     mfn_t mfn;
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 4036dd62eeeb..b196661a2312 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -18,6 +18,12 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
 
+void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910346.1317154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWQ-0000dl-3f; Wed, 12 Mar 2025 13:53:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910346.1317154; Wed, 12 Mar 2025 13: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 1tsMWP-0000d1-VQ; Wed, 12 Mar 2025 13:53:21 +0000
Received: by outflank-mailman (input) for mailman id 910346;
 Wed, 12 Mar 2025 13: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWO-0007NP-9v
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5a25673b-ff49-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 14:53: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 9AB751595;
 Wed, 12 Mar 2025 06:53:28 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DC3F23F5A1;
 Wed, 12 Mar 2025 06:53: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: 5a25673b-ff49-11ef-9898-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH 08/10] xen/arm: Rename setup_pagetables with a more generic name
Date: Wed, 12 Mar 2025 13:52:56 +0000
Message-Id: <20250312135258.1815706-9-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rename the setup_pagetables function to setup_mappings in
order to be implemented also for MPU system that does not
have page tables.

Introduce a stub implementation for MPU in order to allow
the compilation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/mm.h |  2 +-
 xen/arch/arm/mmu/setup.c      |  2 +-
 xen/arch/arm/mpu/Makefile     |  1 +
 xen/arch/arm/mpu/setup.c      | 18 ++++++++++++++++++
 xen/arch/arm/setup.c          |  6 +++---
 5 files changed, 24 insertions(+), 5 deletions(-)
 create mode 100644 xen/arch/arm/mpu/setup.c

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index c96d33aceaf0..9bf5c846c86c 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -206,7 +206,7 @@ extern unsigned long frametable_base_pdx;
 #define PDX_GROUP_SHIFT SECOND_SHIFT
 
 /* Boot-time pagetable setup */
-extern void setup_pagetables(void);
+extern void setup_mappings(void);
 /* Map FDT in boot pagetable */
 extern void *early_fdt_map(paddr_t fdt_paddr);
 /* Remove early mappings */
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index 30afe9778194..35ffa5479dd3 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -354,7 +354,7 @@ static void __init create_llc_coloring_mappings(void)
  * Boot-time pagetable setup.
  * Changes here may need matching changes in head.S
  */
-void __init setup_pagetables(void)
+void __init setup_mappings(void)
 {
     uint64_t ttbr;
     lpae_t pte, *p;
diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
index b18cec483671..04df0b2ee760 100644
--- a/xen/arch/arm/mpu/Makefile
+++ b/xen/arch/arm/mpu/Makefile
@@ -1 +1,2 @@
 obj-y += mm.o
+obj-y += setup.init.o
diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
new file mode 100644
index 000000000000..45214bfeb661
--- /dev/null
+++ b/xen/arch/arm/mpu/setup.c
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/init.h>
+
+void __init setup_mappings(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index ffcae900d72e..4c9ed747f9a8 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -338,10 +338,10 @@ void asmlinkage __init start_xen(unsigned long fdt_paddr)
     llc_coloring_init();
 
     /*
-     * Page tables must be setup after LLC coloring initialization because
-     * coloring info are required in order to create colored mappings
+     * On MMU, page tables must be setup after LLC coloring initialization
+     * because coloring info are required in order to create colored mappings
      */
-    setup_pagetables();
+    setup_mappings();
     /* Device-tree was mapped in boot page tables, remap it in the new tables */
     device_tree_flattened = early_fdt_map(fdt_paddr);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910352.1317164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWR-000102-Ur; Wed, 12 Mar 2025 13:53:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910352.1317164; Wed, 12 Mar 2025 13:53: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 1tsMWR-0000y8-Os; Wed, 12 Mar 2025 13:53:23 +0000
Received: by outflank-mailman (input) for mailman id 910352;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWQ-0007NP-G7
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5b2b9233-ff49-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 14:53:20 +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 476E8152B;
 Wed, 12 Mar 2025 06:53:30 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2EDBB3F5A1;
 Wed, 12 Mar 2025 06:53: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: 5b2b9233-ff49-11ef-9898-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH 09/10] xen/arm: introduce Kconfig HAS_PAGING_MEMPOOL
Date: Wed, 12 Mar 2025 13:52:57 +0000
Message-Id: <20250312135258.1815706-10-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

ARM MPU system doesn't need to use paging memory pool, as MPU memory
mapping table at most takes only one 4KB page, which is enough to
manage the maximum 255 MPU memory regions, for all EL2 stage 1
translation and EL1 stage 2 translation.

Introduce HAS_PAGING_MEMPOOL Kconfig symbol for Arm, selected for MMU
systems.

Wrap code accessing the 'struct paging_domain' paging member with
the new Kconfig, introduce arch_{get,set}_paging_mempool_size
implementation for MPU system, provide stubs for p2m_teardown and
p2m_teardown_allocation because they will not be used for MPU systems,
remove 'struct paging_domain' from Arm 'struct arch_domain' when the
field is not required.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/Kconfig              |  4 ++++
 xen/arch/arm/dom0less-build.c     |  2 ++
 xen/arch/arm/include/asm/domain.h |  2 ++
 xen/arch/arm/mpu/Makefile         |  1 +
 xen/arch/arm/mpu/p2m.c            | 36 +++++++++++++++++++++++++++++++
 5 files changed, 45 insertions(+)
 create mode 100644 xen/arch/arm/mpu/p2m.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5ac6ec0212d2..89c099ff464b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -76,6 +76,7 @@ choice
 config MMU
 	bool "MMU"
 	select HAS_LLC_COLORING if !NUMA && ARM_64
+	select HAS_PAGING_MEMPOOL
 	select HAS_PMAP
 	select HAS_VMAP
 	select HAS_PASSTHROUGH
@@ -158,6 +159,9 @@ config VGICV2
 config HVM
         def_bool y
 
+config HAS_PAGING_MEMPOOL
+	bool
+
 config NEW_VGIC
 	bool "Use new VGIC implementation"
 	select GICV2
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 31f31c38da3f..feaba576198b 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -865,11 +865,13 @@ static int __init construct_domU(struct domain *d,
                 p2m_mem_mb << (20 - PAGE_SHIFT) :
                 domain_p2m_pages(mem, d->max_vcpus);
 
+#ifdef CONFIG_HAS_PAGING_MEMPOOL
     spin_lock(&d->arch.paging.lock);
     rc = p2m_set_allocation(d, p2m_pages, NULL);
     spin_unlock(&d->arch.paging.lock);
     if ( rc != 0 )
         return rc;
+#endif
 
     printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
            d->max_vcpus, mem);
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 50b6a4b00982..fadec7d8fa9e 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -75,7 +75,9 @@ struct arch_domain
 
     struct hvm_domain hvm;
 
+#ifdef CONFIG_HAS_PAGING_MEMPOOL
     struct paging_domain paging;
+#endif
 
     struct vmmio vmmio;
 
diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
index 04df0b2ee760..f1417cd1b9db 100644
--- a/xen/arch/arm/mpu/Makefile
+++ b/xen/arch/arm/mpu/Makefile
@@ -1,2 +1,3 @@
 obj-y += mm.o
+obj-y += p2m.o
 obj-y += setup.init.o
diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
new file mode 100644
index 000000000000..7525d9b00bcb
--- /dev/null
+++ b/xen/arch/arm/mpu/p2m.c
@@ -0,0 +1,36 @@
+
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/domain.h>
+#include <asm/p2m.h>
+
+/* Not used on MPU system */
+int p2m_teardown(struct domain *d)
+{
+    return 0;
+}
+
+/* Not used on MPU system */
+int p2m_teardown_allocation(struct domain *d)
+{
+    return 0;
+}
+
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    return -EOPNOTSUPP;
+}
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    return -EOPNOTSUPP;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 13:53:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 13:53:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910353.1317173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsMWT-0001JL-88; Wed, 12 Mar 2025 13:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910353.1317173; Wed, 12 Mar 2025 13: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 1tsMWT-0001J7-1g; Wed, 12 Mar 2025 13:53:25 +0000
Received: by outflank-mailman (input) for mailman id 910353;
 Wed, 12 Mar 2025 13:53: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=FzNf=V7=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tsMWR-0007NP-GO
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 13:53:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5be64399-ff49-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 14:53:21 +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 8B3EE1691;
 Wed, 12 Mar 2025 06:53:31 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CF9B63F5A1;
 Wed, 12 Mar 2025 06:53: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: 5be64399-ff49-11ef-9898-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH 10/10] arm/mpu: Create the skeleton for MPU compilation
Date: Wed, 12 Mar 2025 13:52:58 +0000
Message-Id: <20250312135258.1815706-11-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit introduces the skeleton for the MPU memory management
subsystem that allows the compilation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
The implementation of setup_virt_paging() is under arm64/mpu
because it will have a different implementation from arm32.
---
---
 xen/arch/arm/arm64/mpu/Makefile    |  2 ++
 xen/arch/arm/arm64/mpu/p2m.c       | 18 ++++++++++
 xen/arch/arm/arm64/mpu/smpboot.c   | 23 ++++++++++++
 xen/arch/arm/include/asm/mpu/p2m.h | 20 +++++++++++
 xen/arch/arm/include/asm/p2m.h     |  2 +-
 xen/arch/arm/mpu/Makefile          |  1 +
 xen/arch/arm/mpu/mm.c              | 22 ++++++++++++
 xen/arch/arm/mpu/p2m.c             | 58 ++++++++++++++++++++++++++++++
 xen/arch/arm/mpu/setup.c           | 24 +++++++++++++
 xen/arch/arm/mpu/vmap-mpu.c        | 24 +++++++++++++
 10 files changed, 193 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/arm64/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c
 create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h
 create mode 100644 xen/arch/arm/mpu/vmap-mpu.c

diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/mpu/Makefile
index 3340058c08c6..cf0540aecc84 100644
--- a/xen/arch/arm/arm64/mpu/Makefile
+++ b/xen/arch/arm/arm64/mpu/Makefile
@@ -1 +1,3 @@
 obj-y += head.o
+obj-y += p2m.o
+obj-y += smpboot.o
diff --git a/xen/arch/arm/arm64/mpu/p2m.c b/xen/arch/arm/arm64/mpu/p2m.c
new file mode 100644
index 000000000000..df8de5c7d823
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/p2m.c
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/init.h>
+#include <asm/p2m.h>
+
+void __init setup_virt_paging(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm64/mpu/smpboot.c b/xen/arch/arm/arm64/mpu/smpboot.c
new file mode 100644
index 000000000000..3f3e54294e54
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/smpboot.c
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/mm.h>
+
+int prepare_secondary_mm(int cpu)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void update_boot_mapping(bool enable)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/mpu/p2m.h b/xen/arch/arm/include/asm/mpu/p2m.h
new file mode 100644
index 000000000000..e5c0e302167c
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/p2m.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ARM_MPU_P2M_H__
+#define __ARM_MPU_P2M_H__
+
+/* Not used on MPU system */
+static inline void p2m_clear_root_pages(struct p2m_domain *p2m) {}
+
+/* Not used on MPU system */
+static inline void p2m_tlb_flush_sync(struct p2m_domain *p2m) {}
+
+#endif /* __ARM_MPU_P2M_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 594dc4004138..2d53bf9b6177 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -168,7 +168,7 @@ typedef enum {
 #if defined(CONFIG_MMU)
 # include <asm/mmu/p2m.h>
 #else
-# error "Unknown memory management layout"
+# include <asm/mpu/p2m.h>
 #endif
 
 static inline bool arch_acquire_resource_check(struct domain *d)
diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
index f1417cd1b9db..a963b35db88d 100644
--- a/xen/arch/arm/mpu/Makefile
+++ b/xen/arch/arm/mpu/Makefile
@@ -1,3 +1,4 @@
 obj-y += mm.o
 obj-y += p2m.o
 obj-y += setup.init.o
+obj-y += vmap-mpu.o
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index b196661a2312..12703c4f3d4f 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -18,6 +18,28 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
 
+void __init setup_mm(void)
+{
+    BUG_ON("unimplemented");
+}
+
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void dump_hyp_walk(vaddr_t addr)
+{
+    BUG_ON("unimplemented");
+}
+
+/* Release all __init and __initdata ranges to be reused */
+void free_init_memory(void)
+{
+    BUG_ON("unimplemented");
+}
+
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
index 7525d9b00bcb..b059c86bde43 100644
--- a/xen/arch/arm/mpu/p2m.c
+++ b/xen/arch/arm/mpu/p2m.c
@@ -4,6 +4,64 @@
 #include <xen/domain.h>
 #include <asm/p2m.h>
 
+int p2m_set_entry(struct p2m_domain *p2m, gfn_t sgfn, unsigned long nr,
+                  mfn_t smfn, p2m_type_t t, p2m_access_t a)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t,
+                    p2m_access_t *a, unsigned int *page_order, bool *valid)
+{
+    BUG_ON("unimplemented");
+    return INVALID_MFN;
+}
+
+void p2m_dump_info(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int p2m_init(struct domain *d)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void p2m_save_state(struct vcpu *p)
+{
+    BUG_ON("unimplemented");
+}
+
+void p2m_restore_state(struct vcpu *n)
+{
+    BUG_ON("unimplemented");
+}
+
+void p2m_final_teardown(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+/* Not used on MPU system */
+void p2m_flush_vm(struct vcpu *v) {}
+
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    BUG_ON("unimplemented");
+    return false;
+}
+
+/* Not used on MPU system */
+int relinquish_p2m_mapping(struct domain *d)
+{
+    return 0;
+}
+
+/* Not used on MPU system */
+void p2m_domain_creation_finished(struct domain *d) {}
+
 /* Not used on MPU system */
 int p2m_teardown(struct domain *d)
 {
diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
index 45214bfeb661..28119e008341 100644
--- a/xen/arch/arm/mpu/setup.c
+++ b/xen/arch/arm/mpu/setup.c
@@ -2,12 +2,36 @@
 
 #include <xen/bug.h>
 #include <xen/init.h>
+#include <xen/types.h>
+#include <asm/setup.h>
 
 void __init setup_mappings(void)
 {
     BUG_ON("unimplemented");
 }
 
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+/*
+ * copy_from_paddr - copy data from a physical address
+ * @dst: destination virtual address
+ * @paddr: source physical address
+ * @len: length to copy
+ */
+void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
+{
+    BUG_ON("unimplemented");
+}
+
+void __init remove_early_mappings(void)
+{
+    BUG_ON("unimplemented");
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/mpu/vmap-mpu.c b/xen/arch/arm/mpu/vmap-mpu.c
new file mode 100644
index 000000000000..cb92407476de
--- /dev/null
+++ b/xen/arch/arm/mpu/vmap-mpu.c
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/mm.h>
+#include <xen/vmap.h>
+
+void *vmap_contig(mfn_t mfn, unsigned int nr)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+void vunmap(const void *va)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 15:07:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 15:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910478.1317183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsNfx-0002sJ-IV; Wed, 12 Mar 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 910478.1317183; Wed, 12 Mar 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 1tsNfx-0002sC-Ez; Wed, 12 Mar 2025 15:07:17 +0000
Received: by outflank-mailman (input) for mailman id 910478;
 Wed, 12 Mar 2025 15:07: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=UrFP=V7=bounce.vates.tech=bounce-md_30504962.67d1a320.v1-e855c459a2c24d428b98e5cc6ba39a68@srs-se1.protection.inumbo.net>)
 id 1tsNfv-0002s6-Jx
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 15:07:15 +0000
Received: from mail128-10.atl41.mandrillapp.com
 (mail128-10.atl41.mandrillapp.com [198.2.128.10])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad8c281d-ff53-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 16:07:13 +0100 (CET)
Received: from pmta08.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail128-10.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4ZCYrc0bcxzLfHGyc
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 15:07:12 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 e855c459a2c24d428b98e5cc6ba39a68; Wed, 12 Mar 2025 15:07: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: ad8c281d-ff53-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741792032; x=1742062032;
	bh=27GbLBCunkOi+rXsnGWTqOFKKegb9TBg0JutHIAllHc=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ek4yJUR+VamcfeK+gwHtNgjr/XGQ5U0dJnanTHxJJxUIhlaqiKA6DNSYZ5bfIftH2
	 ioyyaq+7+wQYLvxJWzpIGGLJ/mZBFmVG1c5iQI0NpsNzCtL4r918GSB7KbhTGK99Y6
	 QQMyIege95m2Xd5XPcJKx+t+ve+1nWjIEAEtKHj1xUupGDCcE0bkxBo6bHIVEGBRoJ
	 Mxy6YYjASgZb3rOiLYeTRSII0cluzxeAjJaQHmVz18QItogxVP5FVoOC4ff6Tu2gVw
	 47KjP7g4sMUthjDLPFwoAYYMBjP5eRZn1dCCdFoWtmTs7Ai7n0EbUCK8di7U0Dle2e
	 X5UdLdXfu0IAA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741792032; x=1742052532; i=anthony.perard@vates.tech;
	bh=27GbLBCunkOi+rXsnGWTqOFKKegb9TBg0JutHIAllHc=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=VHsvaWYb/25GrjbIhkmENNtYeUaMiXHIokN+hhPfvQT+D9KwVZHvqMya37/cIEVuV
	 +/jqn3IfJ3hTki+9K1sT2xsqrX0Ez2u/5mffB50/yN798rrngh9Z8+Eck4tfBwcmC9
	 ritKkqlda77LRcclnRYCC0hViImEzQHywDfkJw+6FBVy9+6v4zgqTj0TrgI1gzE+yP
	 ytcWxBkW1bZ7mUh0XVg8FyTIHBUNoMZ5hVcbXNfCGASpA3PCX36ncbpoIeWnHyz819
	 VtvOQuVosTeyBeyOA741z3WGeNaexO1n6fbkO5wqzBlF2b9aXgI64ZG1fe4D74P+dH
	 1f6URDJu1prKA==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=201/1]=20tools/libxl:=20search=20PATH=20for=20QEMU=20if=20`QEMU=5FXEN=5FPATH`=20is=20not=20absolute?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741792029520
To: Hongbo <hehongbo@mail.com>
Cc: xen-devel@lists.xenproject.org, "Juergen Gross" <jgross@suse.com>
Message-Id: <Z9GjHDWz4qP8-6Bz@l14>
References: <20241223031753.13709-1-hehongbo@mail.com>
In-Reply-To: <20241223031753.13709-1-hehongbo@mail.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.e855c459a2c24d428b98e5cc6ba39a68?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250312:md
Date: Wed, 12 Mar 2025 15:07:12 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Mon, Dec 23, 2024 at 11:17:53AM +0800, Hongbo wrote:
> `QEMU_XEN_PATH` will be configured as `qemu-system-i386` with no clue where, if
> `--with-system-qemu` is set without giving a path (as matched in the case `yes`
> but not `*`). However, the existence of the executable is checked by `access()`,
> that will not look for anywhere in $PATH but the current directory. And since it
> is possible for `qemu-system-i386` (or any other configured values) to be
> executed from PATH later, we'd better find that in PATH and return the full path
> for the caller to check against.
> 
> Signed-off-by: Hongbo <hehongbo@mail.com>
> 
> ---
> 
> This patch is from the maintenance team of the Xen Project Hypervisor at NixOS.
> We encountered this and thought it was an edge case, and came up with this while
> maintaining the package and module of the Hypervisor at NixOS.
> 
> According to `xen.git/tools/configure.ac`, `QEMU_XEN_PATH` will be configured as
> `qemu-system-i386` (relative) if `--with-system-qemu` is set (as `yes`) but
> without an absolute path. However, it will execute `qemu-system-i386` from the
> `PATH` only if a file is called `qemu-system-i386` in the *current directory*.
> That is because the existence of the device model executable file, in this case
> `qemu-system-i386`, is checked via `access()` without concatenating it with
> current PATHs. And `access()` is not tailored for executables, it will not
> search for the PATHs for us.
> 
> See `libxl__domain_build_info_setdefault()` at
> `xen.git/tools/libs/light/libxl_create.c`. It reads `dm` from
> `libxl__domain_device_model()` and then uses `access()` on it. If that fails, it
> will modify the `device_model_version` to qemu-traditional. Then, in
> `libxl__spawn_local_dm()` at `xen.git/tools/lib/light/libxl_dm.c`, it reads from
> `libxl__domain_device_model()` again, and `access()` is used again to detect the
> file's existence. In my investigations, if I comment out these 2 existence
> checks then it will run `qemu-system-i386` from the current PATH without issues.
> I guess if it's not blocked by those 2 checks, it will finally reach
> `libxl__exec()`. Then, inside the `libxl__exec()` the device model executable
> will be executed by `execvp()`, which can certainly call the executable from
> both absolute paths and current PATHs.
> 
> Since the device model executable will be checked twice, both of which will call
> `libxl__domain_device_model()` to get its location, I think the preferred
> solution would be patching the `libxl__domain_device_model()` function itself to
> tell if we're referring to an executable in PATHs, and resolve to the full path
> of it for the caller to check against.
> 
> It's indeed an edge case. But why would we need this? Because in Nix (the
> package manager) and NixOS, we use Nix expressions to declare dependencies on
> the dependents, and we ran into the issue of circular dependency - to build
> QEMU with Xen support, we should give the Xen header and libraries into the
> building process of QEMU, that makes Xen (`pkgs.xen`) a dependency of QEMU
> (`pkgs.qemu_xen`), which prevents us from using `pkgs.qemu_xen` in the building
> process of Xen, and in `--with-system-qemu=` argument in particular. It is very
> different compared to those distros and package managers that follow the
> Filesystem Hierarchy Standard (FHS), in which Xen can be built with
> `--with-system-qemu=` points to a non-existent FHS location of
> `qemu-system-i386`, and then use these Xen libraries from the artifacts to build
> QEMU afterward. So we decide to build Xen with `--with-system-qemu` but not
> including an executable path, taking advantage of the fact that `QEMU_XEN_PATH`
> can be configured as a relative `qemu-system-i386` when omitted, as declared as
> the `yes` case in `xen.git/tools/configure.ac`, and that results in we finding
> the aforementioned "current directory" issue, and submitting this patch.

Thanks. Sounds good, and also the feature seems half-way there already
with the default to a binary name and the use of execvp. The patch looks
mostly fine, I still have a few comments.

> In the patch, I'm using the existence of slash (`/`) to tell if `QEMU_XEN_PATH`
> is relative, and begin to search in PATH if it is. I'm sort of iffy on this,
> would it make more sense if we do this on inputs starting with a slash instead?
> And should we notify the user if it's not found anywhere in the PATH thus
> proceeding with the value configured in `QEMU_XEN_PATH` as-is?

Well, on one hand, that's how execvp() works, if there's a '/' in the
path, search in $PATH is skipped. But that would be a buggy scenario
because when you reboot a guest, the working directory isn't the same
anymore, at least with `xl`. So if `pwd`/dir/qemu-dm exist when you
execute `xl create`, but then run `reboot` in a guest, there's an "xl
daemon" that would try to reboot the guest with /dir/qemu-dm because
`pwd` would be just /.

So I think checking that QEMU_XEN_PATH is absolute would be enough here.

> Let me know if it's appropriate and if further changes are needed.
> 
> Best regards,
> Hongbo
> 
> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Juergen Gross <jgross@suse.com>
> ---
>  tools/libs/light/libxl_dm.c | 34 +++++++++++++++++++++++++++++++++-
>  1 file changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
> index 1f2f5bd97a..db05f20a5b 100644
> --- a/tools/libs/light/libxl_dm.c
> +++ b/tools/libs/light/libxl_dm.c
> @@ -332,7 +332,39 @@ const char *libxl__domain_device_model(libxl__gc *gc,
>              dm = libxl__abs_path(gc, "qemu-dm", libxl__private_bindir_path());
>              break;
>          case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
> -            dm = qemu_xen_path(gc);
> +            const char *configured_dm = qemu_xen_path(gc);

Here, `clang` complained about that new variable, it expect an
expression. Can you put the "case" in a block {} ?

> +            if (strchr(configured_dm, '/'))

As discuste before, just checking for absolute path should be good
enough here.

> +                dm = libxl__strdup(gc, configured_dm);

The function used to return the value from qemu_xen_path(gc), so you can
keep returning `configured_dm`, no need for an strdup, here or the two
other strdup(configured_dm) below.

Also as the `else` part have a block {}, it would be better to have a
block {} for the "true" part of the `if` as well.


> +            else
> +            {
> +                const char *path_env = getenv("PATH");
> +                if (!path_env)
> +                    dm = libxl__strdup(gc, configured_dm);
> +                else
> +                {
> +                    char *path_dup = libxl__strdup(gc, path_env);
> +                    char *saveptr;
> +
> +                    char *path = strtok_r(path_dup, ":", &saveptr);
> +                    char fullpath[PATH_MAX];
> +                    bool dm_found = false;
> +                    while (path)
> +                    {
> +                        snprintf(fullpath, sizeof(fullpath), "%s/%s", path,
> +                                 configured_dm);
> +                        if (access(fullpath, X_OK) == 0)
> +                        {
> +                            dm = libxl__strdup(gc, fullpath);
> +                            dm_found = true;
> +                            break;
> +                        }
> +                        path = strtok_r(NULL, ":", &saveptr);
> +                    }
> +
> +                    if (!dm_found)
> +                        dm = libxl__strdup(gc, configured_dm);
> +                }
> +            }
>              break;
>          default:
>              LOG(ERROR, "invalid device model version %d",

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 15:33:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 15:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910491.1317193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsO4k-0007TA-F4; Wed, 12 Mar 2025 15:32:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910491.1317193; Wed, 12 Mar 2025 15:32: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 1tsO4k-0007Sx-Bv; Wed, 12 Mar 2025 15:32:54 +0000
Received: by outflank-mailman (input) for mailman id 910491;
 Wed, 12 Mar 2025 15:32: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=ASRr=V7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsO4i-0007RY-Le
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 15:32:52 +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 3fb9b21c-ff57-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 16:32:47 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-38dcac27bcbso692571f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 08:32: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-3912bfdfdfdsm21917117f8f.34.2025.03.12.08.32.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 08: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: 3fb9b21c-ff57-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741793566; x=1742398366; 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=uxCyHPjJpwg6yP5Nlr+dL1vqYCjXP6NLSGpQyf0ERGY=;
        b=DAzTRsuSsNfWdbeWHketdRppze7/2vLJy+mDiS3xfoyB/BGxw3Kue3F91CRnryYmB1
         tK19fQf521xsRCYNx5mU9i8z2YWUYVyDG8N4U3Oh3n1MC4VGbFDw/lXJc4iNhzzKRm0/
         399TlUwTpMVofMaJ6Rbubn6vSzNRm/SXLRYkUSP0qxY4yknC7QhX1HU7GOjvh8ThKdY8
         L+Z1qpbFmcpw+nrYVNcsgrgPS23jt4DtDxTv+muUqfJzJ/6MoU1mOLpusvpKTVF3m1/F
         8RoGRsmaE0DAj8ZBEaHkBbhjHsZGeFfArPtNU4X/uqWo6ClouTF+AE0jxUp6idENgdvm
         iuZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741793566; x=1742398366;
        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=uxCyHPjJpwg6yP5Nlr+dL1vqYCjXP6NLSGpQyf0ERGY=;
        b=FCBiV112RwjLc98qNrp89MzdxapiouHq7DhSAHlrwX7WMeybA2HgEafrZDHSLmwq3+
         k+b5ETpIiG0IOz1SQgrlCoQx1TR4qZpamVohYt0tHbggaZX0pG9uqhBZxDueih/er3GR
         QPomxh17XMjkeUsKDUDl8x4wPCYfY+S9T+x0Fzfz8OeHVadMyIDBNfsS6yviePDQ1U7C
         mCa+aI1MQ13cLAjubboLo0xWPHfrSH0hpYlZErPhykD13lpq3ZroDW2neAcvLKoYXLKO
         8MwDaXOOfKnstTIJ464MPuf46LZlbsH2kBFwRas9Cp9CKccL1nJEjHJ18G1M5D1qjvQ3
         fRKw==
X-Gm-Message-State: AOJu0YzNTzNTXgiFFqaS4jC3RXwF2QEiVsIg2UKh6OeMFIkuMA6pCpax
	fYgTIGuudU+VLw3Bnnxgl1/vh1Zj8E1l6KycvzkJHATkN2D+cO4pLU+QYJV4bt2MCUAEWN+UfOE
	=
X-Gm-Gg: ASbGncthv/qC9tvlRpnWJ/GcGxtIdtOdhnHHa1X8yns/KZk19h8r7qANi9Ghi88uq5e
	fX9i4ePVJKoFwjTkCRzpctq4sF8IdBDyeBErytPmil1Z6T2NY+bjo2ZitLxN79ogKVq55Ks1h7b
	vI5yI82eU35XTD5mSQGWrGLNi4Lrl3X+pFEYnmCxw9QsNWihf+KX64ci+B6a909kD++I8xch+Wl
	IbR6wu6iR/qrNbeCPHcU1nspUEtxnqUuqKXA5xH18U2m2lL8X/q9gOXmXy/1cQ+3+v7avnLJEgq
	iwrFw/AH4oJm7tsycAKbhL8qbsxDpLVOtoq2bXjGSoxu364RmVcWyZsKdAEAQB97WcYeWbRgc5O
	As/nCe3bQtRxDLzQcw1mNS7mikfhwlA==
X-Google-Smtp-Source: AGHT+IH+IpVhh6VN5RVy1O/tVBPqyslmDMP8jddtNDQ34jYFUHz56rhEsAs3+tLOuoYYb9DNqO0Wxg==
X-Received: by 2002:a05:6000:2a2:b0:390:f9e0:f0d0 with SMTP id ffacd0b85a97d-3956cab9cc5mr1735f8f.6.1741793566252;
        Wed, 12 Mar 2025 08:32:46 -0700 (PDT)
Message-ID: <15d5e7fa-ec5d-422f-9319-d28bed916349@suse.com>
Date: Wed, 12 Mar 2025 16:32:45 +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: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] xenfs/xensyms: respect hypervisor's "next" indication
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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 interface specifies the symnum field as an input and output; the
hypervisor sets it to the next sequential symbol's index. xensyms_next()
incrementing the position explicitly (and xensyms_next_sym()
decrementing it to "rewind") is only correct as long as the sequence of
symbol indexes is non-sparse. Use the hypervisor-supplied value instead
to update the position in xensyms_next(), and use the saved incoming
index in xensyms_next_sym().

Fixes: a11f4f0a4e18 ("xen: xensyms support")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Not sure if this is to be considered stable (backport) material.

--- a/drivers/xen/xenfs/xensyms.c
+++ b/drivers/xen/xenfs/xensyms.c
@@ -48,7 +48,7 @@ static int xensyms_next_sym(struct xensy
 			return -ENOMEM;
 
 		set_xen_guest_handle(symdata->name, xs->name);
-		symdata->symnum--; /* Rewind */
+		symdata->symnum = symnum; /* Rewind */
 
 		ret = HYPERVISOR_platform_op(&xs->op);
 		if (ret < 0)
@@ -78,7 +78,7 @@ static void *xensyms_next(struct seq_fil
 {
 	struct xensyms *xs = m->private;
 
-	xs->op.u.symdata.symnum = ++(*pos);
+	*pos = xs->op.u.symdata.symnum;
 
 	if (xensyms_next_sym(xs))
 		return NULL;


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 15:54:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 15:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910507.1317204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsOPj-0004Xv-70; Wed, 12 Mar 2025 15:54:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910507.1317204; Wed, 12 Mar 2025 15:54: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 1tsOPj-0004Xo-4O; Wed, 12 Mar 2025 15:54:35 +0000
Received: by outflank-mailman (input) for mailman id 910507;
 Wed, 12 Mar 2025 15:54: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=t9Zb=V7=bounce.vates.tech=bounce-md_30504962.67d1ae35.v1-d3d4728f068e4480832a594fde000b53@srs-se1.protection.inumbo.net>)
 id 1tsOPh-0004Xi-0E
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 15:54:33 +0000
Received: from mail186-3.suw21.mandrillapp.com
 (mail186-3.suw21.mandrillapp.com [198.2.186.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48d7218b-ff5a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 16:54:31 +0100 (CET)
Received: from pmta10.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail186-3.suw21.mandrillapp.com (Mailchimp) with ESMTP id 4ZCZv96njFzDRHxk3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 15:54:29 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d3d4728f068e4480832a594fde000b53; Wed, 12 Mar 2025 15:54: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: 48d7218b-ff5a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741794869; x=1742064869;
	bh=3QnwQtI/I43l2qvbwrwq9ZzcdxjaS1h7Qa3H114oHNw=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=BVK8G9ALKw4316XmDAO6GBml30H96kEB1MDQD1TOhjv0wIm3DZKyTFBsZM5dxWjQ+
	 g6RvRWZBs9T9dg4pQWhvTnids0wUv+uOvsRJLpUj7sidcqF19sjMZlGz7Aq5UELx9P
	 klVelmdXhOZz6vm9UnV82Iqdg4xJb9UYer8qXk3XMRdBYRoWZWMECQn8Wo/NXbP+57
	 uKe/oODPdwE16dLy7e5kjkB+HqhknjoBozOO6hstr8D4LDrgZGY889ShmsQbGidy3c
	 2k+6vTPUXVBAGJ7QuInqiguVMYu2QkU+1Au43JlKNoSBpUeh9JWp1Up9tTWyWmfyXf
	 ITQhy0qsJwGtg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741794869; x=1742055369; i=anthony.perard@vates.tech;
	bh=3QnwQtI/I43l2qvbwrwq9ZzcdxjaS1h7Qa3H114oHNw=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=VUQJIRI0rF3ZmKbxo8SdOfEMemdcK2khYOs+qAAahW9jNcEcN3YuSEx3AsEhc+M0R
	 jzGFhUfRTIQP+sCXYZI7L1Cf8ddlpJWqTnFJd9IKsRUurjUL0jD7e9bZcwH0gbB7Xg
	 7Vve4uFWeLzwBDHkdGSCK7ori+Y3734gg6dFjcl6QLQtFmkctUevgfDzsKNTCxgsc+
	 XHcrSl4eXA3R68XWeVsUsNxHrhKcJ1QmyyOlO9eoZWUgSJb4L69fc315f49PEaIcsz
	 jDwqfwuCEk9KsCHYaLw7OpZMe1TfWrl99rMZTsR5/kZ2oScgzATiDrvnJDQxmRlfqf
	 N7EMLWyr1czlg==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2=201/2]=20tools/ctrl:=20Silence=20missing=20GSI=20in=20xc=5Fpcidev=5Fget=5Fgsi()?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741794868836
To: "Jason Andryuk" <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Juergen Gross" <jgross@suse.com>
Message-Id: <Z9GuNH4h1HY7Ajne@l14>
References: <20250308001711.18746-1-jason.andryuk@amd.com> <20250308001711.18746-2-jason.andryuk@amd.com>
In-Reply-To: <20250308001711.18746-2-jason.andryuk@amd.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.d3d4728f068e4480832a594fde000b53?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250312:md
Date: Wed, 12 Mar 2025 15:54:29 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Fri, Mar 07, 2025 at 07:17:10PM -0500, Jason Andryuk wrote:
> It is valid for a PCI device to not have a legacy IRQ.  In that case, do
> not print an error to keep the lgs clean.
> 
> This relies on pciback being updated to return -ENOENT for a missing
> GSI.
> 
> Fixes: b93e5981d258 ("tools: Add new function to get gsi from dev")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 15:56:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 15:56:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910517.1317213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsORa-00053j-HQ; Wed, 12 Mar 2025 15:56:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910517.1317213; Wed, 12 Mar 2025 15: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 1tsORa-00053c-Et; Wed, 12 Mar 2025 15:56:30 +0000
Received: by outflank-mailman (input) for mailman id 910517;
 Wed, 12 Mar 2025 15:56: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsORZ-00053W-JU
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 15:56:29 +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 8e735f62-ff5a-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 16:56:27 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so36959345e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 08:56:27 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0ac26758sm23597755e9.35.2025.03.12.08.56.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 08:56: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: 8e735f62-ff5a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741794987; x=1742399787; 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=4h/CgWNm8plLP/sXZibVT8Wk5CtEapcUjqq17OYsFuo=;
        b=MAmUkDWGFVjSqH9E304Bd6R+ySrQ2sHZ3IEwovDVY9C1DHM0Nm4BM43QIZPLuthtgO
         pKWCiI9ZvREV+6haSoSSswJTAPOyVMnEgGfEirmRIaWwfdZDrqyTgQUcJXzSCST3dahS
         vNy4wX7y/GDUE/MT4KlfvIJO59T+7kSWelFkU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741794987; x=1742399787;
        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=4h/CgWNm8plLP/sXZibVT8Wk5CtEapcUjqq17OYsFuo=;
        b=QiX3uLt8VEy2wXB4mIVONFArT1wEKCK7avZxrjjngwpfSojLz+UIOLzvM8AH+9i2eb
         FHJFT3milFe3KzdrK1QvzZHGj3Xn79UGRvy6jtvsfLXVvkIL2rxnyH5lfGm66szkcCmR
         Uimevh/tKAnDiWD6qUgVTbSJ/Qrxob49RFVvdKrVo8VBkTQl5CmgHVrUP76C/fTGqEhK
         nVPHeLK3a2zRG6m2YliYRDtJzTVcPrT6tuBIjORLV2cCcDBGT5YJJG78YOmfO044dv45
         pjJhNt9H+5KmyB7oQg8eHJSzOSfRKWQWRsntlEncOCWFKhyTyt1bYTpmTXsf1VBBCKFY
         yx1Q==
X-Forwarded-Encrypted: i=1; AJvYcCUaH+lqNDx9gYK7PzzJkHIEp3Amw87hh4/TLsxFtzS0fvJxooLtBPmDCYR026rTeUtjLm9b26uuS8o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkDp3HJBIS90t8253LbqAQpC9QyD6QTZmiVGIWlVmYSmgeAel0
	MJAhAlgInpayp7DViAf3Qt8bLzOoIh+g840Tfuh/s8zpMV7TblePvKfWAwc2BM8=
X-Gm-Gg: ASbGncsa/3cgeuxCpxIWHwn3atDaExAh7E5fNu39SwpX6LWzi/VsABdDwaKiuSvAeZf
	+PYXHYrO3qxlyXTaiQsRco5uK8DOQc0v+aokw/6bWg4aEFI/+iv+DJZZ4cWVT2XvIrac/6MCVGN
	XeqjywjysiPxRXf1Ar7zp4Jf1w/PR/nFMNu4AKp7CTm5x89ks8DLygrYm+IpYV33fgacorAHiGH
	SpSKqgWEeh9CAsMCu6nJOmy7+pjmSNonC33ztwqFircr2WhSGD/A8oIuQMMZtaXH+mBYyhnKUp/
	qPaEDhB5dW07fqVefKv6v4pfJiT9qmK2glerEio0r1nOISp6fz49V/oY/fAuREsF+VJdMcW+41t
	8vhWNTSkA
X-Google-Smtp-Source: AGHT+IEcxbJ92NgtVJZpuv4ksOyKgv0CHAznMMH7S4cKr2ncc3nDrfjpmtz/4XLlP6xYvqzz65ncwA==
X-Received: by 2002:a05:600c:3554:b0:43c:fffc:787b with SMTP id 5b1f17b1804b1-43cfffc7b0fmr119639655e9.12.1741794986925;
        Wed, 12 Mar 2025 08:56:26 -0700 (PDT)
Message-ID: <0b037ed9-cacd-4dbf-9d2a-b7ebf9ac6283@citrix.com>
Date: Wed, 12 Mar 2025 15:56:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] tools/ctrl: Silence missing GSI in
 xc_pcidev_get_gsi()
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
References: <20250308001711.18746-1-jason.andryuk@amd.com>
 <20250308001711.18746-2-jason.andryuk@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: <20250308001711.18746-2-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08/03/2025 12:17 am, Jason Andryuk wrote:
> It is valid for a PCI device to not have a legacy IRQ.  In that case, do
> not print an error to keep the lgs clean.

This logs looks a little too clean of o's.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 15:57:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 15:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910526.1317224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsOSu-0005aN-R6; Wed, 12 Mar 2025 15:57:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910526.1317224; Wed, 12 Mar 2025 15:57: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 1tsOSu-0005aG-OD; Wed, 12 Mar 2025 15:57:52 +0000
Received: by outflank-mailman (input) for mailman id 910526;
 Wed, 12 Mar 2025 15: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=8h/g=V7=bounce.vates.tech=bounce-md_30504962.67d1aef9.v1-a735cce01c05447bb713fb00167c548f@srs-se1.protection.inumbo.net>)
 id 1tsOSt-0005a8-Ut
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 15:57:51 +0000
Received: from mail186-3.suw21.mandrillapp.com
 (mail186-3.suw21.mandrillapp.com [198.2.186.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd30e628-ff5a-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 16:57:46 +0100 (CET)
Received: from pmta10.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail186-3.suw21.mandrillapp.com (Mailchimp) with ESMTP id 4ZCZyx4CCVzDRJCN4
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 15:57:45 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 a735cce01c05447bb713fb00167c548f; Wed, 12 Mar 2025 15:57: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: bd30e628-ff5a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741795065; x=1742065065;
	bh=nAmIFM4CjnvkyICVxTX3oUeTQv6V2AaVsgnTN88vk3A=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=A5d5zRyfeirbH1WKyeRkU+GAZpjgG8WgmfxGI0lFFaYjQ7o3m30wWsFRTXG0D8RXv
	 cuDouPVzARmVAQsm+uw9UcRB0Ngc8BD/WnldyZOj7P8a/LL7+wSIK8a0qrgQ6KYOIS
	 Z+gK1nrTdh/GMpbuJ5s5zBMUZBAt84nxK1XnS2uLLQsNhB9hsZPK2zd8PRmO/JvXo2
	 AM+PvrcJR2EKHRCvo5FxWTQgNl/UwHfjf27iGTDDK2qSz7uHwtxBTFo/2qAMLDCvEE
	 6IuT1op5EVxjN2YYoQ5uyLVfxnT58wipuRlVbv44weEjZuY3LObyqRkvJANwOUhU8c
	 fwHHfXqG3I8FQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741795065; x=1742055565; i=anthony.perard@vates.tech;
	bh=nAmIFM4CjnvkyICVxTX3oUeTQv6V2AaVsgnTN88vk3A=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=mUc1bkVSKpIbp3FGJehjVEPFfS8vSRRzKDrasJbN83MF56tsNYIcwHXIpHG5/v3Lo
	 x66i7tjE2ZoEaC/n64Xx4A+n4QY/aBrQZGQqodRXrJbrzQQG6ZnAKFCq9SiEMXu8ha
	 S44XZqgLQZPy+j++1aWg83faxHcdXwMD1EWb4WWvHQ+r2wR5wuowOkwKpFwD8JKlSW
	 Jyi4/hHYheC8ZShtezT2E75S7WkYqxvYuWg2v1FXukxlpQ6Dt29/J9hzGX1iLX9mKg
	 CUTOOvWjbm0m6aX6qOKOplLgcWliAGaXgc7hPY2hz1mVPP5G2gjFL6W/6Ue5GifO2h
	 GiEol73ifcksw==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2=202/2]=20tools/libxl:=20Skip=20missing=20PCI=20GSIs?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741795064561
To: "Jason Andryuk" <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Juergen Gross" <jgross@suse.com>
Message-Id: <Z9Gu-N4kbzgwQ-5R@l14>
References: <20250308001711.18746-1-jason.andryuk@amd.com> <20250308001711.18746-3-jason.andryuk@amd.com>
In-Reply-To: <20250308001711.18746-3-jason.andryuk@amd.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.a735cce01c05447bb713fb00167c548f?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250312:md
Date: Wed, 12 Mar 2025 15:57:45 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Fri, Mar 07, 2025 at 07:17:11PM -0500, Jason Andryuk wrote:
> A PCI device may not have a legacy IRQ.  In that case, we don't need to
> do anything, so don't fail in libxl__arch_hvm_map_gsi() and
> libxl__arch_hvm_unmap_gsi().
> 
> Requires an updated pciback to return -ENOENT.
> 
> Fixes: f97f885c7198 ("tools: Add new function to do PIRQ (un)map on PVH dom0")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 16:36:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 16:36:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910546.1317234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsP44-00059i-MX; Wed, 12 Mar 2025 16:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910546.1317234; Wed, 12 Mar 2025 16:36: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 1tsP44-00059b-Jn; Wed, 12 Mar 2025 16:36:16 +0000
Received: by outflank-mailman (input) for mailman id 910546;
 Wed, 12 Mar 2025 16:36: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=Y3Ag=V7=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tsP42-00058Z-Vw
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 16:36:15 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1bf8898a-ff60-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 17:36:13 +0100 (CET)
Received: by mail-pj1-x102e.google.com with SMTP id
 98e67ed59e1d1-2ff187f027fso168923a91.1
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 09:36:13 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-30119265943sm2014196a91.36.2025.03.12.09.36.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 09:36: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: 1bf8898a-ff60-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741797372; x=1742402172; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=M9Ip+TLrjNLUnpSlMDUjqctFg+lcOgix2F6wl6STCfM=;
        b=YlAODTrry2ZasBFKQb1Dgs8+jbuRDt8mLOergIP8CL6QcD5PGxZx7ntVoZjKfl8tZ/
         vcuhsO7YQC3DuXEN4gVNlHkk5/OeOZ6ZJ1hdp5L4BG0UGqZu1cZDurbVXfkP17zwlBqc
         R/XfU5Qh0SrNoq7sBJy7Sfh4PdBrfRklyp0ZE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741797372; x=1742402172;
        h=in-reply-to: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=M9Ip+TLrjNLUnpSlMDUjqctFg+lcOgix2F6wl6STCfM=;
        b=aZy59i42X53iCnSU0ATm8NGlh3RFpYc5Q20oMHMb/QjDk2NX+vOJjmXbkzLcrtRYY0
         EOJD/YlOsPOg3Fpgo0MVQnlLoCLvnH3C2Fqecv+/fAqp29SJxndBa93kDwZLrIlM+PQg
         MFNM/0hjoP/8EaSMx7BOh98oeMzLAA8mRAzGlE7YmBKoXNlRzsUwSOUF0e1Tokk93gMX
         JCSmXd2d9y6Zd/c5xJt+3kKBY+8LAB+fpFsvhsXu9D0jyh73i3yEDzjWQyLfW+F04uwF
         FAmni3XVnaIBQj5/x8/HVOJQgAE6Dyx2Heuqgyw4pKXvgYlUm1mKe/N6RlDBl4eqWRT/
         D+Vg==
X-Forwarded-Encrypted: i=1; AJvYcCVBkit6EAiZJnmmKa2iRcutcZcx/6aDmUToop5rkams4iXxuOvnrEt1w80KG3JfgTLlUAw99OsW2/E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywe9f7ftYiMhq2VNOY6WpQALejxvDPwMiURS1PbRBNDjlxKCd8w
	ms7oPV/+A4T9BexWigOXc8AFzWAb6U02uE4+lqD/A5MKz6Dv6NxO/i9KzuDAnB4=
X-Gm-Gg: ASbGncvj0qhzn9Fh83kAQR3bS0hqehZAAs/iG+ldsiEQhaqF/+r4t3f9kWHeLOgokZq
	3pvgID6E9Rsdb1A9g9EE7wPHAS292wQ2uyRBLcCGoFrJqKvNc6zmLkpVxE6Nx79GQJul0Uc3N1y
	MspRZvjMMmopVsF7o8Wj+4aqPLAq3IeJ7zM4nvHCNchEWZxZPb7xEYYHHgZ3rjlA+sxVlvR2V75
	kl27ErMClg/ECY++DS7BZmAa57JvKHWmISiJxXlW3dFrAKD7FK7rZW0Sq6fl3wC6kilM9Q47zXj
	hl9IdMezhFb3FR/I8Bpnm4K4udhnG1HXiQnV+tnK352fJjZ82g==
X-Google-Smtp-Source: AGHT+IEtNelhitUjRi629pSLf+aeDvl+mztEQBveE61NAVp/14CsRSVGKhxccw6BR63Qhf855cjmnA==
X-Received: by 2002:a17:90b:520e:b0:2fe:93be:7c9d with SMTP id 98e67ed59e1d1-30132d4ea33mr283537a91.7.1741797371570;
        Wed, 12 Mar 2025 09:36:11 -0700 (PDT)
Date: Wed, 12 Mar 2025 17:36:05 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Jiqian Chen <Jiqian.Chen@amd.com>,
	Community Manager <community.manager@xenproject.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1] CHANGELOG.md: Mention PCI passthrough for HVM domUs
Message-ID: <Z9G39ULeHr7fp9ur@macbook.local>
References: <20250312040220.2624329-1-Jiqian.Chen@amd.com>
 <a8919be5-020c-47f3-8bfa-02dab2f1e2ca@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a8919be5-020c-47f3-8bfa-02dab2f1e2ca@suse.com>

On Wed, Mar 12, 2025 at 09:51:09AM +0100, Jan Beulich wrote:
> On 12.03.2025 05:02, Jiqian Chen wrote:
> > PCI passthrough is already supported for HVM domUs when dom0 is PVH
> > on x86. The last related patch on Qemu side was merged after Xen4.20
> > release. So mention this feature in Xen4.21 entry.
> > 
> > Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> > ---
> >  CHANGELOG.md | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/CHANGELOG.md b/CHANGELOG.md
> > index 7201c484f899..b6de9b72ea7a 100644
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> >   - On x86:
> >     - Option to attempt to fixup p2m page-faults on PVH dom0.
> >     - Resizable BARs is supported for PVH dom0.
> > +   - Support PCI passthrough for HVM domUs when dom0 is PVH.
> 
> Aren't we still in need of SR-IOV support in order to make such an
> unconditional statement?

I view SR-IOV as kind of orthogonal to this: SR-IOV is not
supported at all on PVH dom0, so it's not just pass through, but the
capability itself that won't work as expected when using such devices.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 16:46:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 16:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910560.1317243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsPEL-0006oB-J2; Wed, 12 Mar 2025 16:46:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910560.1317243; Wed, 12 Mar 2025 16:46: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 1tsPEL-0006o4-GX; Wed, 12 Mar 2025 16:46:53 +0000
Received: by outflank-mailman (input) for mailman id 910560;
 Wed, 12 Mar 2025 16: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=YQsd=V7=bounce.vates.tech=bounce-md_30504962.67d1ba77.v1-e0804d302d9b4b7f9f559396a3e1c854@srs-se1.protection.inumbo.net>)
 id 1tsPEJ-0006ny-MO
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 16:46:51 +0000
Received: from mail186-3.suw21.mandrillapp.com
 (mail186-3.suw21.mandrillapp.com [198.2.186.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96a2b4bc-ff61-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 17:46:48 +0100 (CET)
Received: from pmta10.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail186-3.suw21.mandrillapp.com (Mailchimp) with ESMTP id 4ZCc3W0tMJzDRJ8cX
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 16:46:47 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 e0804d302d9b4b7f9f559396a3e1c854; Wed, 12 Mar 2025 16:46: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: 96a2b4bc-ff61-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741798007; x=1742068007;
	bh=DYD/u7Cxos1/6qORTQD07+ge20uJb2bttIU6+tU7KoE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=WIDrfWcbUWSSAKBrNf1i4ScxZtfPYCrPAKdwZ5b1ca8kSzqXXA/xGkm2RPPzS1e2F
	 zaR8Is0ApdbNXjpsEmxOvUl5Ddt5UWgVJt6wB8YJlRRbQLpvdHgyvB8xMdqamdeKXR
	 4leknYHuywDL+1kpbzogCPT4C6ecKXNEqOftfVJDsd8tFkeYWTj0ub1P7HHinfusZ3
	 56N6/AKGpqILmjFyz/42ywBkLG4VsnCjPqfBpaFk3NSBo/zGcj5SonicvNNcKs3RqG
	 0WCqs1C8c2tE40eMviFN85uvJcvXFt7qIJRZTF6z8t5xlvF7hyxtjIbY+V0lzueBfa
	 RcMqQnB2ypuiA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741798007; x=1742058507; i=anthony.perard@vates.tech;
	bh=DYD/u7Cxos1/6qORTQD07+ge20uJb2bttIU6+tU7KoE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=MYfNTzzEtSw+Z/1T14Glr/stJiRzEdDS2ShobjKdFIozyFTCf39u/eeBipfkrNYpK
	 xK5/sheC2kj82q/tDGgliyc8imrj+1KzA4cFw2oYYMaR4WV19k6SKE69/iu1WWEiPw
	 M8DhRFqOpThoxJ9476u6sV4Elifa3LA+du2Tu3JIuU9GCKCoMgvsFNeWobEThLIkYo
	 LRFDytQnq1+cfNBK4XwRWs20t+yKbRXWDnRg+v0rOVPJlIybNYS5MHCBYX8qi+qD6Q
	 zcRGWHO6T/8/LBlamiY9fBAJGNkTgI3Z6G/qraFJxYSpx3MhvjXc6BLVRVDjv68vUD
	 XlIyEEkLCEgig==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v3]=20docs:=20specify=20numerical=20values=20of=20Xenstore=20commands?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741798005702
To: "Juergen Gross" <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, "Andrew Cooper" <andrew.cooper3@citrix.com>, "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>
Message-Id: <Z9G6dXyhM01MFD_q@l14>
References: <20250312084143.14045-1-jgross@suse.com>
In-Reply-To: <20250312084143.14045-1-jgross@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.e0804d302d9b4b7f9f559396a3e1c854?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250312:md
Date: Wed, 12 Mar 2025 16:46:47 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Wed, Mar 12, 2025 at 09:41:43AM +0100, Juergen Gross wrote:
> diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
> index 7e1f031520..72db73deef 100644
> --- a/docs/misc/xenstore.txt
> +++ b/docs/misc/xenstore.txt
> @@ -86,6 +86,67 @@ parts of xenstore inaccessible to some clients.  In any case passing
> +XS_CONTROL               0    optional
> +    If not supported, xenstore-control command will not work.
> +    XS_DEBUG is a deprecated alias of XS_CONTROL.
> +XS_DIRECTORY             1
> +XS_READ                  2
> +XS_GET_PERMS             3

This new table prefix message type names with "XS_", but the rest of the
document describe each type without the prefix. Isn't it going to be
confusing, and make it slightly harder to link this table to rest of the
document? (I often search by full word, like '\<GET_PERMS\>', because
that one key stroke in vim '*', so having different prefix makes it
harder to search)

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:02:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:02:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910570.1317254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsPTO-0005ZG-So; Wed, 12 Mar 2025 17:02:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910570.1317254; Wed, 12 Mar 2025 17:02: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 1tsPTO-0005Z9-Pa; Wed, 12 Mar 2025 17:02:26 +0000
Received: by outflank-mailman (input) for mailman id 910570;
 Wed, 12 Mar 2025 17:02: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=8CKI=V7=bounce.vates.tech=bounce-md_30504962.67d1be1d.v1-2218173268df41b89b4d36b089ef3db2@srs-se1.protection.inumbo.net>)
 id 1tsPTN-0005Z3-5Y
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:02:25 +0000
Received: from mail186-3.suw21.mandrillapp.com
 (mail186-3.suw21.mandrillapp.com [198.2.186.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3e14e23-ff63-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:02:23 +0100 (CET)
Received: from pmta10.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail186-3.suw21.mandrillapp.com (Mailchimp) with ESMTP id 4ZCcPT6tqkzDRJCNH
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 17:02:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 2218173268df41b89b4d36b089ef3db2; Wed, 12 Mar 2025 17:02: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: c3e14e23-ff63-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741798942; x=1742068942;
	bh=hbn/KdsQKCwsKDnc36R6SsX38E476tfkH6g8ajEq1KE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=cmp47XSdh55CYHqkR/CE+lzQ1ipy2Ge01MeS0LBRqpeSnlpZCf3QZW47RTeCzaftD
	 YLcuGraID6sVQtOzyj97E3GMckKyZiRbkxwyJ9QXY5yODi/WSoAjMnpIplD7dWxOaj
	 jg8ucZWLyorX0RPFsexuqNKd3ors5q6uLxsdahe5zufodjMfM918UHbw4ZDqtT2+WF
	 warX3wTjo093yltrEFyct1XWTi2OwYYqMk9EgEXCM1XXN7Ya8YY7WPPB25G2eOiGhU
	 +Js5TMNiQpz30Ds8YILlZW156aW45bytoutdTG+V92hIgTBXtYH2Ah1kAD+L/iezt/
	 xPktLl9kH68eA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741798942; x=1742059442; i=anthony.perard@vates.tech;
	bh=hbn/KdsQKCwsKDnc36R6SsX38E476tfkH6g8ajEq1KE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=eEgxbVaT1wPDn3DLJ5yl15OqYbXicmtMGJwO/oETeS3cNXRxo77hha9xncoLzJt5j
	 vmF3acHR9EH9z6M72SyvyQPTA2Ziu0cW9nk7Dq2zgnNJfilGjUHpR3EjDcoe/Aa8ov
	 V7O4M3Sn548J8BzjWlJkWzgNBFl04jfTKjzwzACoRCPD1EtlVtQ5kqZ4qvq5sRJY66
	 KdevVPi0Jh7KYzjcEHuyT0gf+d+g0UUxMuSxkzClgu83aW8HteoDr4UNo38SsKjIIS
	 sEwkNNPnGBykN9NX8Mtya/67gDcJH8qcUz1hCrR7H89yPGhDQiS+Jkqexfdx+jGEFf
	 /uDbS3WjG06Mg==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20libxl:=20avoid=20infinite=20loop=20in=20libxl=5F=5Fremove=5Fdirectory()?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741798941258
To: "=?utf-8?Q?J=C3=BCrgen=20Gro=C3=9F?=" <jgross@suse.com>
Cc: "Jan Beulich" <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Message-Id: <Z9G-HMRLi9Kg6pb4@l14>
References: <0d3655d6-8551-486b-85ca-e64378231278@suse.com> <120ef18b-0bdb-48a1-be7d-177e7ea36239@suse.com>
In-Reply-To: <120ef18b-0bdb-48a1-be7d-177e7ea36239@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.2218173268df41b89b4d36b089ef3db2?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250312:md
Date: Wed, 12 Mar 2025 17:02:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 06, 2025 at 04:01:53PM +0100, J=C3=BCrgen Gro=C3=9F wrote:
> On 06.03.25 12:25, Jan Beulich wrote:
> > Infinitely retrying the rmdir() invocation makes little sense. While th=
e
> > original observation was the log filling the disk (due to repeated
> > "Directory not empty" errors, in turn occurring for unclear reasons),
> > the loop wants breaking even if there was no error message being logged
> > (much like is done in the similar loops in libxl__remove_file() and
> > libxl__remove_file_or_directory()).
> > 
> > Fixes: c4dcbee67e6d ("libxl: provide libxl__remove_file et al")
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> While probably a more sane solution by reworking this whole mess

libxl?

> is possible, this patch should solve the issue Jan has described.
> 
> So:
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:10:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:10:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910586.1317263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsPb1-0007CA-Nm; Wed, 12 Mar 2025 17:10:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910586.1317263; Wed, 12 Mar 2025 17:10: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 1tsPb1-0007C3-Kw; Wed, 12 Mar 2025 17:10:19 +0000
Received: by outflank-mailman (input) for mailman id 910586;
 Wed, 12 Mar 2025 17:10: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=sRiM=V7=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tsPb0-0007Bw-8G
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:10:18 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20623.outbound.protection.outlook.com
 [2a01:111:f403:2414::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dde549cd-ff64-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 18:10:15 +0100 (CET)
Received: from CH2PR17CA0025.namprd17.prod.outlook.com (2603:10b6:610:53::35)
 by LV8PR12MB9109.namprd12.prod.outlook.com (2603:10b6:408:18a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 17:10:08 +0000
Received: from CH1PEPF0000AD80.namprd04.prod.outlook.com
 (2603:10b6:610:53:cafe::96) by CH2PR17CA0025.outlook.office365.com
 (2603:10b6:610:53::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Wed,
 12 Mar 2025 17:10:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD80.mail.protection.outlook.com (10.167.244.90) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 17:10:08 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 12 Mar
 2025 12:10:04 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 12 Mar
 2025 12:10:04 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 12 Mar 2025 12:10:03 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dde549cd-ff64-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vUKG5VHH8PWcon9QRJWIgIAEkzEf8Ak1CfiC6aPfJNf2aorUwB9NeBEBn5UivRZNj8cdWXgfE0eH/JgqsR3MF0WbKkiMGX1iOZF/4KSlBMq5fKTi+dDjiLBb8xp86ww7Is5PRDMiERg/73oBshbP0F4W/hQQcJVvjFwKDFI39qEKGAW2KDtRUqobDW4/BtP5bFE+/3hxbECGLXlX1Oee7iWfNgzADOwNOauc/zwfiQmcMS2qvodkAZAV4zbuJ1u/g3ak2XqihYvX+rsUMbGozik9/XcIaRl14FWDRDY0muSfNC2e5oRI22kvK22n7j3kW3g0o88mAb7oS0u8AZN7PA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=47KSxIKeQ5iuwdYiyO7quW7FI/Q18KIMai8zxo5hEng=;
 b=rOc8wD+jbeauJYS2rphXp2I5sYenaW2GMtngF4VzMZ3Lrvp/eT4jTDPPeF1P5cMnU2Im5WDttI70562/z28cG5A1p47jSPMyByNviLvLzvzjOq6hhJ44TD+L1UvYuYwNyJ+r0AccGCUOA+i7M6n2xzKfm+KFxBvYZFITBEra/Zvnaa0aZyxccJRjOP+uEJHqiAVHS/98XhGdT6WTICd6SrSYu2pj/rcJEt3d2r7XIJJcILepocGRnWVUsAqCzez5Qkt/52ZeoJf2cIsZfFm8WL3VKEaA+Fp6+QbVoj9E21jtlB6vL8Dm7rNSISWxBB/BIwHFgUr8oAgEfs8RNb7IDw==
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=47KSxIKeQ5iuwdYiyO7quW7FI/Q18KIMai8zxo5hEng=;
 b=0/EyrrbzFOT8+mYTm6sKnrHebqlX7+f7bjOrgguuM9lxPq0LUXWj+/9RzW82PoNGa57oukqah5BoudmuGSoy8sOPDXe8YXngXfERAgAL+WXkemOHjP8F54YgPuynC8SIlfG/m7U49E8JwrmmbOF59BPS20xw60CKZmh1Kog45xE=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <739acb73-bbc0-48e4-bf43-76f727880eee@amd.com>
Date: Wed, 12 Mar 2025 13:09:46 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] tools/ctrl: Silence missing GSI in
 xc_pcidev_get_gsi()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
References: <20250308001711.18746-1-jason.andryuk@amd.com>
 <20250308001711.18746-2-jason.andryuk@amd.com>
 <0b037ed9-cacd-4dbf-9d2a-b7ebf9ac6283@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <0b037ed9-cacd-4dbf-9d2a-b7ebf9ac6283@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD80:EE_|LV8PR12MB9109:EE_
X-MS-Office365-Filtering-Correlation-Id: 4de66eda-26e9-4c3e-7890-08dd6188bdc0
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?ZEZUV0lCb25VZ3BmZ00vRFdzOFhQM1BQV1JnUm9uOU5vd1hnemlMVnBhdDRN?=
 =?utf-8?B?YXdWbU5MZnQzSXRxL2x2MnFUSmZBMkhGcGtGMiszK0JYK2FGVitqbDcrbmRB?=
 =?utf-8?B?U0ZHcWRyMHZsajhLNkp1RUpNTFdCazl3RGxRRHRnWE5xVVAxU04yTWRVdTN3?=
 =?utf-8?B?Z0dNS3NOOHhNMTZVOVNsakdLSmtJSURJdW5HZzdqUERxYU1lcmNJTllPWFNz?=
 =?utf-8?B?eHpaSW1aU1U2WmVsb3RzYXlYNGt0THFDN2IzdEVGUytnc0g0Z0t5cU5OR2dx?=
 =?utf-8?B?RGNabFpxNWR5TGtwUkNiMG4vYTdkVytmdnZqTVJtMllsaVJLNkc3SmtCRTRw?=
 =?utf-8?B?eGlqRDRnSGswbitSSmRVQ1o0SG1SQi9EQmZlN2ZoT3EzN1B6cmpmK2VFejRR?=
 =?utf-8?B?MXk0WHlWUHZYekdkUC9xV0Qvd3JudE1oR2RIQ3phWThyKzFBR3d4aFhibEFK?=
 =?utf-8?B?ajdHOGx0bDlvbEUrMW1xdkRmYUhZN1o2d1VQWkV2cExUWmdTUTVxMGg2Y3p1?=
 =?utf-8?B?YkNWNENTaHJyb2d6aVg1WnBVd1R2MXFiWUF6bEdvLzY5ZitsTWo3NnVNU0pL?=
 =?utf-8?B?ZG9XNWRUekF3ajk1aUkxV1pBbTJDUUlJSWRDZWNJSW9teGdSWGwwdU5UOFV1?=
 =?utf-8?B?VmMyaHJlN2N0QjJiK2RQYTE4MFdLcHBaN1NpRmFMZzBkeDR6QXZ4NWhMTTZm?=
 =?utf-8?B?cnhlbjhvTGZOSVdwNituWmpqRzB1VEN1U0IxZ1RyOStaVUtoWDNCUUdpSWl2?=
 =?utf-8?B?bkYvVlZ6dGsvK1pXL1VNbmprRG5BVXBuLy9ZNW9zb25ydVd2VXJyZEcxT1hZ?=
 =?utf-8?B?OHNvV1dybStDZUdaV0FzLzlVRWhXOTJEZjR5clZWS1M5TlVSMDcvNURQcmpt?=
 =?utf-8?B?M1VCMzdIaHkyYUxmNTB5aG5jSjhLWlhZa2M2ZU83S3V0a0FGaHJhSEZXNUJO?=
 =?utf-8?B?LzZReGxLNCtiOXhTM0ZDaTVvVWJwdzdmbWlRamQ1cUUxZlNFdHdHL2llRWdo?=
 =?utf-8?B?OUx5WVhpclZOZ3VBVGVFb1lqLzYzVENnRXpRUWlVQUR0Uzlza3ozaWlrZ083?=
 =?utf-8?B?cWxBaXhCdmd4QlloQW90bHRRSEUybnNTV2pGQS9ySGt5UlpoL0xBM1dtN0lY?=
 =?utf-8?B?SjY2Y0wzb1FuekNFUTZ4SGl4ZXNJNUdlMERFVjBHN084MGt5VnhZQWxNaURP?=
 =?utf-8?B?UzcrNThXMGUzaTFPMlNJcUtpc0dZR256UXBjR2NrYzdwelhNeUl4WW5Yc01C?=
 =?utf-8?B?MW5hdno1ZmRFV05rK3J0WTFhZzMrWHNLVWUyV1l2SllSRFlsOFBiRWl6TWph?=
 =?utf-8?B?T2dvNDFjVDdoMmwyajMrSklOVGhodHE3Wld6OXNKYTFtdjhSUTByLzV0UFVo?=
 =?utf-8?B?c0lpMTFSWWZiRFovQ2I4QlhFRjRFME81SmFWRmdwdlNNa0swYzNYYloxKzd4?=
 =?utf-8?B?QkQ3Wnh2azc4MFZ1a3kyZU96VkNnRUI2QkVFV29BNWNCM0FWQkFOUEVhWWpV?=
 =?utf-8?B?MXkrWlJPeDJ0MHlJTE5sVzlqd1NjZGRzMDd2bm9iYlFOL2EyYkN0VFNjQVl5?=
 =?utf-8?B?SjUyMERiQ2hNSEpiczVyemllc3N6TDJuNTA5Qm5RWkJwVHBqdGdieEZoc3BX?=
 =?utf-8?B?ZExsdUVZbWlrSmtneWZwRkFQU2R2dUJEdGltRFlaTGVhbHVBS3dtTzlrL3lr?=
 =?utf-8?B?Rk9abnQyZFAraHRIMW1Xc3dhM2g1Tkl0dG5qL290aWk4R0xEVTRWSkdpNnVw?=
 =?utf-8?B?OUtOSXlMV3hHRTZVdlR2WVFLYmFkbm16VTF4dFhiYytGMllDdGhjbVRnWGtx?=
 =?utf-8?B?T1drZms4WTJuNy8vcUtpR2Y3YTZ2eW9paFcxU3dqMDBMeHl4Unk1RE9WOUJs?=
 =?utf-8?B?Y1UxUjlrR2RBRER5QzJ3cTVBRUdtVzBseDV1UlVxS3lQT0Z3RENTSXdRTlJ5?=
 =?utf-8?B?RkVsL05WenZuNGcxK0x1NEVtN2txUzY1WnBVWG1sSCtHQjZ1NFlwMEJxVloz?=
 =?utf-8?Q?cdJqsI2c/YCyQKjrc4rw482gp1AakA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 12 Mar 2025 17:10:08.2963
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4de66eda-26e9-4c3e-7890-08dd6188bdc0
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD80.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9109

On 2025-03-12 11:56, Andrew Cooper wrote:
> On 08/03/2025 12:17 am, Jason Andryuk wrote:
>> It is valid for a PCI device to not have a legacy IRQ.  In that case, do
>> not print an error to keep the lgs clean.
> 
> This logs looks a little too clean of o's.

Oops.  Can this be fixed on commit, please?

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:41:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:41:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910604.1317274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQ4b-0005X7-04; Wed, 12 Mar 2025 17:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910604.1317274; Wed, 12 Mar 2025 17:40: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 1tsQ4a-0005X0-TP; Wed, 12 Mar 2025 17:40:52 +0000
Received: by outflank-mailman (input) for mailman id 910604;
 Wed, 12 Mar 2025 17:40: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=sRiM=V7=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tsQ4a-0005Wu-9d
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:40:52 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2414::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22ec2b3a-ff69-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:40:50 +0100 (CET)
Received: from DS7PR03CA0115.namprd03.prod.outlook.com (2603:10b6:5:3b7::30)
 by CY8PR12MB9034.namprd12.prod.outlook.com (2603:10b6:930:76::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 17:40:46 +0000
Received: from DS3PEPF000099D4.namprd04.prod.outlook.com
 (2603:10b6:5:3b7:cafe::21) by DS7PR03CA0115.outlook.office365.com
 (2603:10b6:5:3b7::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 17:40:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF000099D4.mail.protection.outlook.com (10.167.17.5) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 17:40:46 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 12 Mar
 2025 12:40:45 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 12 Mar
 2025 12:40:45 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 12 Mar 2025 12:40:44 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22ec2b3a-ff69-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mvfzO+2z1iF3CjDDpDCmK1PQeeDiP0kTfj2mEDcLEYri9jun7waPT/lI3FwUMcUyp/alswtYtM/5qNxh7NNeJl2eh2OHIKzEgpBTRVOeoPWvjKP3rgS6WnxY1Jxm8NBJEcKFsHaDSGwme1mNsAxEHfp247pBG7vqIBaN9uTcNdM2+g8Sy8Akmn9SoxTKvgxRyvuQxuRPmPOVPtLHGDIsK3VD9Z9USX0Ww9WHS3p182UUSB7xz9Cra1P5Up+4BrpKnvHULMmJLKD2GUB3sc11FAHxU2gXBwLfPQ4l7//JGVuSqSWNjT8u0BdBCGFsZCjVVdnHtZ1GIXe9HfIV8uNP8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=23F8W1myyJryhzgepBxpSVHRgrA0RwTaHK3k3wt/1Xs=;
 b=wVzR2/oeDHB0l01bCh9W+yWj3uwuCkYSHQnsDnT1644MoW7txCFVmDcVAaUm0ssCT/DMKkQMT0sQw9ZMXQurZTiqUJTZs+jXS+X9GR8JTrNpHE6OBnoHRTnp8m/BQIMWqimMOWOZBYAqtAsmn/TWfXi3yQqJ6O+KVz3/xa3tJCxPPUUk21fxyNYQwt021Qt9Rf22N/dMqTQutS4+AOP5fsQ2drJSDFWfOftrAwKbsbkYremgUj69392hqWPuRYtHayXDEw+el9nnNeinjfo0+f9H1ujE2dm8ipdNssv9J14X272WmHla2CZsCTAS5fAbiajVb5w8ap8qHmuFwzEGQg==
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=23F8W1myyJryhzgepBxpSVHRgrA0RwTaHK3k3wt/1Xs=;
 b=02VUGYX3xNfoL6Q/6Jd6Wp9VaP36na4E7b1GpPv0uonkBg04hiCB+ItyhhifBlZKLaTsHJHBoTdBqm63mSS7U/rlO5+Jz/oLTG58WicuSoLxR+LjjhCbUSSH3QdcYPKFHE/+yrtEXmo7tUKdUejnxFINIEYv797XLaDErGDWJ5c=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <d1a8cc18-83ce-430f-9a5e-93fa0d1d655e@amd.com>
Date: Wed, 12 Mar 2025 13:40:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 8/9] tools/xenstored: use unique_id to identify new
 domain with same domid
To: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-9-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250204113407.16839-9-jgross@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: DS3PEPF000099D4:EE_|CY8PR12MB9034:EE_
X-MS-Office365-Filtering-Correlation-Id: fbb608eb-a425-4ba3-e528-08dd618d0567
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eTVWMit1anhDKzVwa01zRzZMbllQS1NSSldtS2xUc3ZENHRjc08vQnd2RW1Y?=
 =?utf-8?B?NlhRMjUvR2VGVHV2bkJSc3pZbmFvVXBNd3RUSFZWTkNDS0U4em9rTVU1c1Yz?=
 =?utf-8?B?ZWxTMFZlVm84T3Rac2N3WkNIZGVmc3lUVjd4MEo0dzRCOW1HWVZ6bHFnSlVK?=
 =?utf-8?B?eENRRU0vWnFidHJxd0pWeFpYMXJxcFA3V2gwY0JlbXFabWJDQlk5YjVQSjFv?=
 =?utf-8?B?R1FqZFZoQkNSRzh0SkRlb0hRZStwdk5KWDhBa2ZVY0JqekNBMGs4SitaSzZo?=
 =?utf-8?B?L212dnJmOGw4U0d3QjhNejNiSFZtWHRpdkVib2VmUmVyUTNPdTFTTSsxTFlD?=
 =?utf-8?B?TWV4WGE4Uk9BcXN4RmM4ZEtaZjlPMlJLbVJrZ2wrRW9DQXpGODNYUVkvbng0?=
 =?utf-8?B?ZHlGbFFZNkl4TXBtc0RCYXR4VWN0eDQzWXJNK1VmTWJFV3haalIzT0lwN1JI?=
 =?utf-8?B?ZDhVWVQ5ZG14b1g3bTloTlIxVHlkblRXVEFBdHZqZG16U0podExRMVVNRXlB?=
 =?utf-8?B?WXlrVXlGUnFaTXVWRlhGT0VPaTNVZHZrT2FKQ09yR1hWMmZhQTZXMngyK3JC?=
 =?utf-8?B?TGdNc21ucTZvdCtlUXQwc05DeWpTcW5ubENQQkhOSmFGRHl4YXd1dkpvdUN6?=
 =?utf-8?B?aE5pbGx4SWdGOC93OW1TYnRkeDNiWFl3M3JpUSt0bkRpMGh2V1h2V0E4a1c2?=
 =?utf-8?B?Tzd1MlNOcTNCUE9hdWQvSHpEV3phc1JNSCtZc1M3TXJQUFBrODQwN0RqSjhJ?=
 =?utf-8?B?VCsyajdhNlRhYzNXNVUweVp2b1hlRHJBYytLdGNKS0Nwa3RMMEsxQy9nSDcr?=
 =?utf-8?B?RWNvMHZIbUF1dDIzbU5jV0k3NS9EWDVUbjYzeVRUL0lqYjBkZHRJMmx5Mzdu?=
 =?utf-8?B?OEl3U1hYU3k3SlJMSjZvOHN0alRzMnh4cWJucUpDU2s3WEJ5c0pUb3ZyWjEv?=
 =?utf-8?B?SG1oRU5QZzdqQ00rSjFGUFhGOStaUUNWMk8zWmx5aWNyNUpjaUhoenl0dmp2?=
 =?utf-8?B?aU1ZRUtQVjJIWlk0d1l2VGVHNm9WM0lDU2Y2VWRQT0l1S3NaR3NhQmpXN0xa?=
 =?utf-8?B?ZE02M1ZOdVpaenhCMFpNM1NqSmcrQTAwRjEwaUJwZTM0cThhandYUDc5RGdX?=
 =?utf-8?B?UnBPNnhEeTlNc1FYYzQrNUhDUG5uL2RGcmpLVzB5VEJBMzIzM0V2TUo5NkRn?=
 =?utf-8?B?SEUrRHVYdFZzbmFxa1RWeTFSYk1TTjJLVkpDaXJwL29wZllnWWI3VUdSc0RB?=
 =?utf-8?B?RnRnSnNEQnNJMzRFUmh5d1V4S0xYeDZCSFlwZ1FCVXBZTFVLUitZMno5Qjhw?=
 =?utf-8?B?OFdTc2h6THBHQ1VWcGgrLy9jQ25hRDVVUVZyZG93aEJBanJ0SWV6cVdNMnJZ?=
 =?utf-8?B?SjNyRDIvOU40Vlo3Q09KNjZ3Tjh5RVFKZDlkTmgwa09RVnB2bFl2S05QT3RO?=
 =?utf-8?B?OUx4ejlRS0VNK09EZXVlS2Rrb2F2TDZMejBpQmVHWWttV1F4WSt3V3R0MkNh?=
 =?utf-8?B?dTFrRkpNdDRPcFQ4ZFc1bEpuVnF3cnRJRHlEZTNIbGZlam1hRFY2RE5IOXZs?=
 =?utf-8?B?b0JBYjZPTURGZVNwOGZmREZhKzRNenYvVXNSdUk1MjYxckNRVWU3VlhkTnJ2?=
 =?utf-8?B?djkrN0x3UjZzMFJ4VjZFdXdpZ2ZydGNNMThtanBveURVQmx2a0JRdDFzM3Qr?=
 =?utf-8?B?UlBEOVBJRXVNWjNWbENrVmtqUy9tNEJNS3MzQ3YwQS9Mck9pTlhkYVYzZGUz?=
 =?utf-8?B?cDlmWWh1M1dXSTMrT3pEbDdNOFhZckFOYXRYZkZTdVpvYmJOc0pNQlZkMWFv?=
 =?utf-8?B?NkxURVM2REN1VTh4emZxVWo1QzBFN2VKcXFYbHYyRVE0bGJ5dFc3eUdaaWJ0?=
 =?utf-8?B?OHJaRmV0YUtnK0xUT3RjQThsS1V4L1VFc0wvc0NNb3dSb0JkeCtOdTBpeE9M?=
 =?utf-8?B?NU55RXVBQmdvdEp3WkwzLzNXU1c5cUR2SVFMc09TNUhIR21ZUUsrSjIyM1lr?=
 =?utf-8?Q?SQsSIO5a/xJiE0fdSozm0CSeXRu5Pk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 17:40:46.4518
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fbb608eb-a425-4ba3-e528-08dd618d0567
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099D4.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB9034

On 2025-02-04 06:34, Juergen Gross wrote:
> Use the new unique_id of a domain in order to detect that a domain
> has been replaced with another one reusing the doamin-id of the old

s/doamin/domain/

> domain.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---

> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
> index a6506a5bb2..63df24030e 100644
> --- a/tools/xenstored/domain.c
> +++ b/tools/xenstored/domain.c

> @@ -627,9 +628,17 @@ static int check_domain(const void *k, void *v, void *arg)
>   	int dom_invalid;
>   	struct domain *domain = v;
>   	bool *notify = arg;
> +	uint64_t unique_id;
>   
>   	dom_invalid = xenmanage_get_domain_info(xm_handle, domain->domid,
> -						&state, NULL);
> +						&state, &unique_id);
> +	if (!dom_invalid) {

What do you think about  `if (dom_valid)` to avoid the double negative?

If you don't want to change it, the code here and elsewhere looks fine 
to me as-is.

You'll re-spin with updated dump code, correct?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:46:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:46:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910617.1317285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQ9X-00067t-J7; Wed, 12 Mar 2025 17:45:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910617.1317285; Wed, 12 Mar 2025 17:45: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 1tsQ9X-00067m-EM; Wed, 12 Mar 2025 17:45:59 +0000
Received: by outflank-mailman (input) for mailman id 910617;
 Wed, 12 Mar 2025 17:45: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=sRiM=V7=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tsQ9V-00067g-Pb
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:45:57 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20618.outbound.protection.outlook.com
 [2a01:111:f403:2009::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d79dd3ba-ff69-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 18:45:53 +0100 (CET)
Received: from SA1PR03CA0007.namprd03.prod.outlook.com (2603:10b6:806:2d3::16)
 by SA1PR12MB9001.namprd12.prod.outlook.com (2603:10b6:806:387::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar
 2025 17:45:46 +0000
Received: from SA2PEPF00003AE9.namprd02.prod.outlook.com
 (2603:10b6:806:2d3:cafe::91) by SA1PR03CA0007.outlook.office365.com
 (2603:10b6:806:2d3::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 17:45:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00003AE9.mail.protection.outlook.com (10.167.248.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 17:45:46 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 12 Mar
 2025 12:45:45 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 12 Mar 2025 12:45:45 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d79dd3ba-ff69-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AkrY7C6gKOPLoXGBQkUCZ880CrL4lJky+P0o33Ad89O01/dliY7oVt/vQSONUVEYG6IA7Nm7UbvDBzfVB75fj5mXhE/LH6v8Q2rnNtYq35iGpL+4FGSPMPUc8ezA63Ycr9V9aq0MQPI+E/+FSBoqjLZuS7bo5QUBjg3IBUZAr7JGml6ninuULEC7WDCH3ndePGDY9JNQWSj/4mS0a8AFc8Q3jLyzzNZPGpmpVtFtlXgn12Cx3PbR9hu7ZmZicLLPqhCRK2JH/nlshpwwVCJuDRG4RWZdDSo8WQpCx9sF2hyyUeomq9DPAT2FWZLe1pn+/luN/vy/Ba+TQnJPv5Aw1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EgeyPPPmA/xoBDVFuDRcd8VsuEmxho2n2Q/ZPikOtEE=;
 b=BtxNoTLRQGnWMOFydtF4l3utlQGSRqzmm159w1DlJDEKr3LRXwbnYW6HUJd/b3GY6THxP+FN2DDFw/CirH96YbSlHJbt89JPIx4uSAECeMmMZeeSjTAq56SNQ34dEX0UEQS8ApVgANgJZNaoTUWl7VsXwlSP6MvDcedP+kPDFQd1SRGLQfESk2ikNk8zzoysV9OlkjgnSBHXsXjN8MsE39FrTETrPkm4RyHhx0n91JHHzdDV4mw1OiFDKJzYnKjvNflQzpr+LOCSd4gK1KJzXW3Z+v8+7mJUJqVKVD+LSyewYYmaZcqHoNNnKEL3nerKFQiFabgoxu+Mj08koGoz3g==
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=EgeyPPPmA/xoBDVFuDRcd8VsuEmxho2n2Q/ZPikOtEE=;
 b=VdYj+H6ACqaQIgTrYWENPadk+b7pW2HEZ5H+sVDj4ZwIiQgigBw2Mqn/8zOevaca/Lq8rbnjUhmunZ/lfNKLbCCRk+mN9yJl9lORRlr7h+Ed+EjPh4FCp82tDPD9vw/e+UA5Ozb1xtwxfgnKMB6WN8qzbEzrtkqsESDjUD75TJo=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <11885cfa-42be-42d2-821c-ebb8db304340@amd.com>
Date: Wed, 12 Mar 2025 13:45:28 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 9/9] tools/xenstored: use
 xenmanage_poll_changed_domain()
To: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-10-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250204113407.16839-10-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: SA2PEPF00003AE9:EE_|SA1PR12MB9001:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ec5524c-6f71-475f-1036-08dd618db86d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZjgrbUE2Y2N6T2V5WXM3eHBJSC9BYTZYNm9WcERjYUlaaXFZN1YxZzdGVW5M?=
 =?utf-8?B?TCtxQnRWYUtlTUxUamhWMHJHY1JGUjJhMnFCTk1HQ1haZXR5RWUzMnBDb1NX?=
 =?utf-8?B?QUhVbUpNb2ZyWTF0MjhsSFZRblJWMDZQWGdEWDkzQzBmY3hTMDdYeFJvcEJB?=
 =?utf-8?B?ZTJCK0VxenV0VUZ3MmdLWTRTcWRheWE3VEFlNnZrampEOFBwcG0yOGpJdzdL?=
 =?utf-8?B?RENHWHdhMnRGeGp2cFZweTZ6Y2RObzNadk1mZFJRTHZLbTgwNjZBNmg3ajdr?=
 =?utf-8?B?QU5NRGNXNm5YSmVzL0ZPUGN1MjBZVTJSV0xpR2Z0Z0tDOWFuQkIwZzNsdHRz?=
 =?utf-8?B?MWMrbnMrdHhpcWxSbkxqWCt3cFl6aGJkdXZ6RGptRWhhdXNNdm84YnNOZ3NX?=
 =?utf-8?B?emk0SEUrTWJFL1ZlNTAydzU3N1MxcnNDRFN4eEpIbFk2T2ZZMFFwejRGRmRk?=
 =?utf-8?B?SC9nVmdiMm1EV21aQjJvQmQrVmxFMzZMZU9yT05JR2VZcDN1SVkzcUpCY2pt?=
 =?utf-8?B?dnUwZllmU2l1cmVYSVlRY0tzQjFtS080UlRUanNuRGI2bnZEVUxscFJWQk5T?=
 =?utf-8?B?Y2piTng2KzNXTnJra0w5SjlibVpFRE9XVzErb0Z4dmUrL0VEL1ROT3BGRHhr?=
 =?utf-8?B?b1VmQWZ5OTEvTWR4T2hvc1RSUWZ4OHpuZDJLTlBsWUErbGNsaTMrSlRuUmFO?=
 =?utf-8?B?eGkvVVM3bUhabUZHY2p4dG4rcWJ3Z2RZaUViRk9MMzVXU0VJb3lyNi9pS3BK?=
 =?utf-8?B?YUJZWnhNQWJIUWlyN2EvK0c3OXZaSFFvYU5YRnV1TUg3MFNHNjRYQmxPdkJn?=
 =?utf-8?B?RVJUM09OMjBRdHEzTVErTS9vSGNiM1IvZkhMZ2NJeXl3Y3lpa1I4WmwrcEN2?=
 =?utf-8?B?VDNKbkVZb3I4V2t6UHB0OW9SRVhYV2h2TVVFN2hUUDA5QmZkWncxRWtkVWt5?=
 =?utf-8?B?c0lDcE4xUmVGMk0xRWt3QS9pYVhpc1lWWGdpUzFiUzhkQTYzN3cvTVdEQzZw?=
 =?utf-8?B?ZWtPVTRVcVVXWWlRT3dlQ3JtMWI3a25PN0drZnFpckx5OXdiMlNvdFNrTXM3?=
 =?utf-8?B?TTJjM0dTMWwxU1JCaUl0bm4rdytoYUp0V1NROGZZY2dvN1lISnlNMmN3Wlov?=
 =?utf-8?B?YTVBV09HeWhqa3U5QTB2V2lPc2J2M1U5NTh5eUIwVzJCelZsMmFqakZHbmxC?=
 =?utf-8?B?NG5sYTJoTmQyclJFSFd6b29rbS9Zejh3d3RvV3hHdjRaQnBBYzZMOTJnNlJn?=
 =?utf-8?B?enVQR2tSK096NG9hMUZ4UkRjOHd0dGpYb2lJbWVGenh1ODFZOWw3dUliZC85?=
 =?utf-8?B?S0xYS1VIMmdOVEtRU0dBdFRpczZ0Qkc5KzNEczlNdlFJQkxybFBnMFpOZ0xn?=
 =?utf-8?B?WjQzSVk2L0RMSlh0MHFmMUxscWs3RUtMYnN3QTJqVFJlWFBCSTZWT2FTQkNy?=
 =?utf-8?B?L0tBMW5zZ2orWURUc014RW5Za1lxdG1MMFh2bENveFNWYnl2MXA5bGUvN1FX?=
 =?utf-8?B?cXNVOVhudE93ak1Kdk9nR1pJMFJDT2FmQzYvVitwS3VIMXFpSzIvNlZPcGNP?=
 =?utf-8?B?bjArU2Vrenc0RFo5YS8vRkZlSTllV0tsa2RIT0NnZWxtaUxBcG04VjNzeGRa?=
 =?utf-8?B?ZTZ1eWRZSkxRQ3poTEZRMVFoQUhzcHdZSlUySzE3Y010d1ZFS2NHZmM2U1FB?=
 =?utf-8?B?QktLOFVmMHJUQnVTQVpSblk2L3VWSEpvb0ZtMHI4N25peHJnMW4vWnZPbTFz?=
 =?utf-8?B?STFDL0M0bVl0VXcxSzR3WDhudUNBN0dVd0lwM0NJUkZjakNkcXp5akYzKzZ1?=
 =?utf-8?B?S2ZoTitzc0RNRlNlOVdwMDNWY1V0RHNwR1o1M1pMNUg4VUFFeVY1TFNkaW53?=
 =?utf-8?B?bC8relhpMGZpNHRyREpzTU1vUjlpeWJjNGF6SDhwTlhxcWp4UDVrSTFrV2VV?=
 =?utf-8?B?NVovOWdkUWVxeHpYSTdjVi9hbXdxK2dlWmU4MTJocnhIWGcvUjN4RkZsM2lM?=
 =?utf-8?Q?/q8wY3B1JJDnusyDNgYHXU9QFZxDBU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 17:45:46.7979
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ec5524c-6f71-475f-1036-08dd618db86d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003AE9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9001

On 2025-02-04 06:34, Juergen Gross wrote:
> Instead of checking each known domain after having received a
> VIRQ_DOM_EXC event, use the new xenmanage_poll_changed_domain()
> function for directly getting the domid of a domain having changed
> its state.
> 
> A test doing "xl shutdown" of 1000 guests has shown to reduce the
> consumed cpu time of xenstored by 6% with this change applied.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

I see at least some dom_invalid uses goes away, so maybe don't bother 
changing it.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910628.1317295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAq-0006eY-SQ; Wed, 12 Mar 2025 17:47:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910628.1317295; Wed, 12 Mar 2025 17:47: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 1tsQAq-0006eR-OA; Wed, 12 Mar 2025 17:47:20 +0000
Received: by outflank-mailman (input) for mailman id 910628;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAp-0006eC-1j
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:19 +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 0a33dbd2-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:17 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cec5cd73bso414075e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:17 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0a33dbd2-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801637; x=1742406437; 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=u9ySLeeh1yjuxUkxJF2YCrGLWw2qs4BAiUK6ECM8mVI=;
        b=wHOnQSE6HIn2QZ4r2Q760hJVexwPJXuP3T6IgG+WRyM3B1xZbAxT7Dzn+Fe+hip8yq
         ROxxjdio8WRcH5R0r/Ug8EW9ndzWY23kcLT1yeHLzBqNqjdi1B4Tp/gDJxi5ujW4tRa6
         TWgaFiVJ0ZNBe8/MlE19fZs5y+xL2/W/oIt0E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801637; x=1742406437;
        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=u9ySLeeh1yjuxUkxJF2YCrGLWw2qs4BAiUK6ECM8mVI=;
        b=xLaxVePT2Q9snp+Q6DWrhiJd+j0oWpfjTrY5sgtLIYwx+CxZKRFrKS76Rw8BDRxSXZ
         Lkd0tJHgBLdfgfmZLrVBfICCvcBjQ5jFNGKliCT0ybE21hNS0XBxszq8eZdnd04UVecM
         +cvCrnPdj82BEV0godsoQEgavI7EiIVuzoDHDItct2d8Ef4tdJjDnfzyK+oHBUYS6oEj
         EErqOzHgUwC3s1uoGPdm2KtGCpIfzpcCONEKvlnlONtenQXNM+hmmE0UpQwU1D6j5v3Y
         bcU6zWmXwmo/927MBVZmt0yRY+crZB1HHo2UCE/Al7C5yprciX0CssRwlU8ZofqsJVT6
         AVbw==
X-Gm-Message-State: AOJu0YwBOLsbUicy8RZ1iSFOYl2Xy+fcbPUdtQyZEBFpl9JG58tWPtkU
	PHg/bSy+CH9eMaaFZQMGJMsIaQdBNwYMMTmbjkIZu1abgoT9GK5J5XlDWr+2On9bfeVWiCM/qh4
	U
X-Gm-Gg: ASbGncuzKrHVtQBuwxGAZblZIO6sToTVlw97J7DDG5rnitJQn/yJwB20F4pn/6LacIs
	lBl7h7prUUNbH1vPhrm98A1daK3auoKWs4c/0iQsj0Dcn0wvp4NgdEf/dNxcRS8Fg3bubvakyKf
	VhiGtuhUIjquMwtTMzQ+1JnFVKqeuPFEvxT4FJzfmAyrMzs4AE2C1HBBicGxCT8BwT4lq+S9DtG
	2lg6JAhlZR078txV7XU7NKyICcgIeqeaKXqbSQ/6zygLeeE4BkIeHYYF2Nf8yGAfUwbTSukoC1h
	CL/7Pqi+TBNM+lp8ZopX7HuOcOYzljT5LxWtJ1rt1LFBq701uqpVEWhVAdb5kXqMyX4HbKj7tza
	GWGqroQZx9NMp7jjczM3VbISLUKn2hrxBY7M=
X-Google-Smtp-Source: AGHT+IFpTaqMGcs3RCCxfIUzSMlD1wVR7Tf0H2EawjN+pSZ1/uvG+g6U61jzaIlddrU/C5NwMhyLOA==
X-Received: by 2002:a05:600c:5251:b0:43d:94:2d1e with SMTP id 5b1f17b1804b1-43d00942ff6mr100909555e9.13.1741801636750;
        Wed, 12 Mar 2025 10:47:16 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 0/8] xen: Untangle mm.h
Date: Wed, 12 Mar 2025 17:45:04 +0000
Message-Id: <20250312174513.4075066-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 started out trying to fix one little TODO in x86's microcode loader, and
escalated somewhat...

tlb-clock.h is definitely not as clean as it could be, but it's an improvment
over today, and given how long it's taken to get this to compile, I'm not
looking to rewrite everything.

Andrew Cooper (8):
  xen/elfstructs: Include xen/types.h
  xen/livepatch: Fix include hierarchy
  xen: Sort includes
  xen/common: Split tlb-clock.h out of mm.h
  xen/arch: Strip out tlb-clock stubs for non-implementors
  xen/mm: Exclude flushtlb.h from mm.h for PPC and RISC-V
  xen/mm: Exclude flushtlb.h from mm.h for ARM
  xen/mm: Exclude flushtlb.h from mm.h for x86

 xen/arch/arm/arm32/livepatch.c            |  1 -
 xen/arch/arm/arm64/livepatch.c            |  1 -
 xen/arch/arm/include/asm/arm32/flushtlb.h |  2 +
 xen/arch/arm/include/asm/arm64/flushtlb.h |  2 +
 xen/arch/arm/include/asm/fixmap.h         |  2 +
 xen/arch/arm/include/asm/flushtlb.h       | 14 -------
 xen/arch/arm/include/asm/pmap.h           |  1 +
 xen/arch/arm/livepatch.c                  |  1 -
 xen/arch/arm/mmu/domain_page.c            |  2 +
 xen/arch/arm/mmu/pt.c                     |  1 +
 xen/arch/arm/mmu/setup.c                  |  3 +-
 xen/arch/arm/traps.c                      |  1 +
 xen/arch/ppc/include/asm/flushtlb.h       | 14 -------
 xen/arch/riscv/include/asm/flushtlb.h     | 14 -------
 xen/arch/x86/Kconfig                      |  1 +
 xen/arch/x86/alternative.c                | 13 +++---
 xen/arch/x86/cpu/microcode/amd.c          |  2 +-
 xen/arch/x86/livepatch.c                  | 10 ++---
 xen/common/Kconfig                        |  3 ++
 xen/common/memory.c                       |  5 ++-
 xen/common/page_alloc.c                   |  6 +--
 xen/include/xen/elfstructs.h              |  7 +++-
 xen/include/xen/livepatch.h               | 10 ++---
 xen/include/xen/livepatch_elf.h           |  1 -
 xen/include/xen/mm.h                      | 36 ++--------------
 xen/include/xen/tlb-clock.h               | 50 +++++++++++++++++++++++
 xen/include/xen/version.h                 |  1 -
 27 files changed, 102 insertions(+), 102 deletions(-)
 create mode 100644 xen/include/xen/tlb-clock.h


base-commit: 8e60d47cf0112c145b6b0e454d102b04c857db8c
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910629.1317301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAr-0006hd-5t; Wed, 12 Mar 2025 17:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910629.1317301; Wed, 12 Mar 2025 17:47: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 1tsQAq-0006gd-Ut; Wed, 12 Mar 2025 17:47:20 +0000
Received: by outflank-mailman (input) for mailman id 910629;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAp-0006eC-Nj
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:19 +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 0ab2f288-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:18 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso488235e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:18 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0ab2f288-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801638; x=1742406438; 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=ZqBQFlJTZsCUlmNgAuNEOWwWaFXwc+Wq2W2eNaP76Wc=;
        b=WUeZe41NoXlxwUsk1Wgbrrrg+Ruf3OflzildEFWS5v1rI1aUHQQFiHR4pDn8COD4c0
         Z0p+wh4gwZAOuRn2whCBdov+TjiY3yxd8C0n10xBQ14hRoh7AcOlNxo7aflc3U5aukeJ
         yDaq8PUi4CyED3VtZp20iM/P/4qk6WoyZBK1E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801638; x=1742406438;
        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=ZqBQFlJTZsCUlmNgAuNEOWwWaFXwc+Wq2W2eNaP76Wc=;
        b=DiCC4XUHkeeNYnwLgb18J+TV9VTQYJyJVJVvagwtnNq4/uOk+4Fg7pkf/ABfmYx070
         Rs5Wy2NQR6gsQdW6y4xxT8mIJ/udYi2sCsaAZxJpiqP+vSwTQWeu29fjc0AafKkSxQGA
         2uy75SGLteuSm/vY4OiB7w13Yg3vK1bvyT6DVgUYMpT4SNEAE60OZl6AuZ4nUqu52E5D
         EJPgL3y9WUgHtNGPSm2rFjvuDPdXB0XB6MjTcsD81Z0l4YczM5nU7sxmnwwK8lDUVfOR
         ihiaf/DAy8cT8Yqv8sMgh6LyBwmuS74KLxd3B60GqMtKa7IHUrT3mzrvvWH2pXuAvtnF
         fkgw==
X-Gm-Message-State: AOJu0YxR+V+uBx4YWTfs4StyycrgUCNwKrW4TqVjjyv6gJMzyFfgiwda
	YFSIRw90ADduqR7XFVwGv5wAQqMKJj6n9tMlmASlnzVVq0JCY6MU28HklH6eHUhHeQ7NvLY8NxF
	v
X-Gm-Gg: ASbGncvPbpBcdQsVyNuftjS9qLXyHQ11YO6bYVpWk6+SRiQ7eX66Fy4L727r2EcUWVA
	9IHKW782odx5qHYFZA6YSTLruv+IMTX3cifQssM7/VE1IkOGGLxLFmsDgRWOAgRsBO++NDbm0Ma
	1HlIgwDS51GnM6L0qwE2w7Sc8m4Zc2Uv7IncaioW6LQ3756imiIhAaPcXiyuG6lfENhwPZI7XNa
	ptmhLbvTtygRydxDYfYYGBH+buXUEKyQCRqVSpeMD0TAEHtrAWXdQ3FbjpDt97RPGYSvOZf5hI0
	9WoD+m1cshBWLpYbHEt1Xbajxcg1CupkvRTffLL1X9UEMdP8RQ6iPyj2l1IzajuDR7RZlIxj0ox
	XGMvbfq0qNgoRXfbP8zhR+na2
X-Google-Smtp-Source: AGHT+IG6WIQbLyBVw6c1o93+Ab+dfGr34YtfYi/4+2Ny4ovDDLsD2cCOH/9AIuJzZw2tSsUE5Y9zaw==
X-Received: by 2002:a05:600c:468b:b0:43c:f00b:d581 with SMTP id 5b1f17b1804b1-43cf00bd768mr120761215e9.29.1741801637594;
        Wed, 12 Mar 2025 10:47:17 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 1/8] xen/elfstructs: Include xen/types.h
Date: Wed, 12 Mar 2025 17:45:05 +0000
Message-Id: <20250312174513.4075066-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

elfstructs.h needs the stdint.h types.  Two headers arrange this manually, but
elf.h and livepatch.h do not, which breaks source files whose headers are
properly sorted.

elfstructs.h is used by tools too, so limit this to Xen only.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/include/xen/elfstructs.h    | 7 ++++++-
 xen/include/xen/livepatch_elf.h | 1 -
 xen/include/xen/version.h       | 1 -
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/xen/include/xen/elfstructs.h b/xen/include/xen/elfstructs.h
index eb6b87a823a8..f64ecec01990 100644
--- a/xen/include/xen/elfstructs.h
+++ b/xen/include/xen/elfstructs.h
@@ -26,6 +26,11 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/* Outside of Xen, the includer must provide stdint.h or equivalent. */
+#ifdef __XEN__
+#include <xen/types.h>
+#endif
+
 typedef uint32_t	Elf32_Addr;	/* Unsigned program address */
 typedef uint32_t	Elf32_Off;	/* Unsigned file offset */
 typedef uint16_t	Elf32_Half;	/* Unsigned medium integer */
@@ -45,7 +50,7 @@ typedef uint64_t	Elf64_Xword;
 
 /*
  * e_ident[] identification indexes
- * See http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html 
+ * See http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html
  */
 #define EI_MAG0		0		/* file ID */
 #define EI_MAG1		1		/* file ID */
diff --git a/xen/include/xen/livepatch_elf.h b/xen/include/xen/livepatch_elf.h
index 842111e14518..a8aafecd34b1 100644
--- a/xen/include/xen/livepatch_elf.h
+++ b/xen/include/xen/livepatch_elf.h
@@ -5,7 +5,6 @@
 #ifndef __XEN_LIVEPATCH_ELF_H__
 #define __XEN_LIVEPATCH_ELF_H__
 
-#include <xen/types.h>
 #include <xen/elfstructs.h>
 
 /* The following describes an Elf file as consumed by Xen Live Patch. */
diff --git a/xen/include/xen/version.h b/xen/include/xen/version.h
index 4856ad1b446d..bc69ec9fb029 100644
--- a/xen/include/xen/version.h
+++ b/xen/include/xen/version.h
@@ -1,7 +1,6 @@
 #ifndef __XEN_VERSION_H__
 #define __XEN_VERSION_H__
 
-#include <xen/types.h>
 #include <xen/elfstructs.h>
 
 const char *xen_compile_date(void);

base-commit: 8e60d47cf0112c145b6b0e454d102b04c857db8c
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910631.1317321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAs-0007Aa-Rk; Wed, 12 Mar 2025 17:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910631.1317321; Wed, 12 Mar 2025 17: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 1tsQAs-000795-Hv; Wed, 12 Mar 2025 17:47:22 +0000
Received: by outflank-mailman (input) for mailman id 910631;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAr-0006h8-9U
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:21 +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 0b3c08ac-ff6a-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 18:47:19 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so89779f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:19 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0b3c08ac-ff6a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801638; x=1742406438; 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=ASh+oxmtGu6mpYhQylcthMaG5UYE6EuOEdO1LTm87Ak=;
        b=V28NYY3tA4sb5oMuQbTG8UICVeLUCJ61yglzgV/505XvpVEfTtGHIba4gZ2NE6zYSF
         6EVHBmj5USnn6zkwHPW6cO/FqcVzK6Ak1SDjunBW51pV57Pb+ov3SGdIsAbKW7GANE/t
         PNPva5GXpwSc1svZXd7NaQJyXqY9VL8p2kxfI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801638; x=1742406438;
        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=ASh+oxmtGu6mpYhQylcthMaG5UYE6EuOEdO1LTm87Ak=;
        b=ZBQCV2pKm+xOoUb1t+bGPETVD4NFR+UKnLAtp+0NpO2rw0+tPwwRXmqfXvNQs+33bz
         CNuz6Iz5Vjggw4ILQ3DqPRx/YqvgkxUoQKymkLJIUMDSFRM7cYbVMgcmVHbRuR1a0Cot
         EWSfCjPhcVhM0GLvCRpjJCWitgkjRgVHulF51HdCLOwOJ+Jl2ihNldiplrIWQEXesH8Y
         g8cjxPZcuSYb9SHudABpmmLsMPM1HZ2Lsj2jjtym62lEtKRxSEgQh2HWyg02lBOtpUTz
         DMa6lSomgvKxtK8QjDAa3MoHPkhZZTMcKa0L5epbcu/CTnyEN8+qV2Fvh1v0woxv5Si+
         34qw==
X-Gm-Message-State: AOJu0YzSyXS2H/HfkLj9mB0IRjIZmmT64pR/9EivGF+yaXaEGR6UMD51
	/mkjybq7jn1zauFlvNepmDhXQnp1FbmjhxHtlU4xle3TJMKteZFfj0gS01ZfMrgjpcLX6rubpOM
	k
X-Gm-Gg: ASbGncuv2YEFc+sganGL28egSoMtDhRTOJ0im+nV+8mY8mrF72+folW282EC5YyH8H+
	YCjHdY5164zczzFT9iCRChzhvmiz6RzUksEEs4viaiYvgUMm8n3Pvgvh4xFRVzwgsAYZiRXeN35
	NJAa1jGxBs8OcfbZnHJsV8i0CfSvFgunpPIyDn4asiOvmy+7utHPFnZ83u0yrGD0hl9gP6bv4/0
	Be9kvgsIDLLqsjKklkXAcFxfdUhUJ9RQs9Ufk9PDhChwdSz99N0AbthEExGXy9WLO0IUvTZNrTv
	JkYJBZmsVkowuMAnv1esPmIcBXU3ruQLpLI6AYOZbVJA93LYjXHuf2Dr7FmqS6XG4ZjVlftPYG9
	5Hje836oGU262Mvyt12lgbUdx
X-Google-Smtp-Source: AGHT+IE5nDsvP0JO7zeLJ2XUe6p6WZCWTlMmroP6ph36U/2EbdaCZ462o6JeGm2rCf9WGs3fzhBkxQ==
X-Received: by 2002:a05:6000:154b:b0:390:f6be:af1d with SMTP id ffacd0b85a97d-3926beec333mr8724474f8f.41.1741801638478;
        Wed, 12 Mar 2025 10:47:18 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 2/8] xen/livepatch: Fix include hierarchy
Date: Wed, 12 Mar 2025 17:45:06 +0000
Message-Id: <20250312174513.4075066-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

xen/livepatch.h includes public/sysctl.h twice, which can be deduplicated, and
includes asm/livepatch.h meaning that each livepatch.c does not need to
include both.

Comment the #else and #endif cases to aid legibility.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/arm/arm32/livepatch.c |  1 -
 xen/arch/arm/arm64/livepatch.c |  1 -
 xen/arch/arm/livepatch.c       |  1 -
 xen/arch/x86/livepatch.c       |  1 -
 xen/include/xen/livepatch.h    | 10 +++++-----
 5 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
index 134d07a175bb..8541c71d6e2e 100644
--- a/xen/arch/arm/arm32/livepatch.c
+++ b/xen/arch/arm/arm32/livepatch.c
@@ -9,7 +9,6 @@
 #include <xen/livepatch.h>
 
 #include <asm/page.h>
-#include <asm/livepatch.h>
 
 void arch_livepatch_apply(const struct livepatch_func *func,
                           struct livepatch_fstate *state)
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index 6efe4ec770d4..01e6db94be67 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -13,7 +13,6 @@
 #include <asm/bitops.h>
 #include <asm/byteorder.h>
 #include <asm/insn.h>
-#include <asm/livepatch.h>
 
 void arch_livepatch_apply(const struct livepatch_func *func,
                           struct livepatch_fstate *state)
diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c
index 3805b2974663..2fbb7bce60bb 100644
--- a/xen/arch/arm/livepatch.c
+++ b/xen/arch/arm/livepatch.c
@@ -11,7 +11,6 @@
 #include <xen/vmap.h>
 
 #include <asm/cpufeature.h>
-#include <asm/livepatch.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index be40f625d206..bdca355dc6cc 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -17,7 +17,6 @@
 #include <asm/endbr.h>
 #include <asm/fixmap.h>
 #include <asm/nmi.h>
-#include <asm/livepatch.h>
 #include <asm/setup.h>
 
 static bool has_active_waitqueue(const struct vm_event_domain *ved)
diff --git a/xen/include/xen/livepatch.h b/xen/include/xen/livepatch.h
index d074a5bebecc..c1e76ef55404 100644
--- a/xen/include/xen/livepatch.h
+++ b/xen/include/xen/livepatch.h
@@ -14,12 +14,14 @@ struct xen_sysctl_livepatch_op;
 #include <xen/elfstructs.h>
 #include <xen/errno.h> /* For -ENOSYS or -EOVERFLOW */
 
-#include <public/sysctl.h> /* For LIVEPATCH_OPAQUE_SIZE */
+#include <public/sysctl.h>
 
 #ifdef CONFIG_LIVEPATCH
 
 #include <xen/lib.h>
 
+#include <asm/livepatch.h>
+
 /*
  * We use alternative and exception table code - which by default are __init
  * only, however we need them during runtime. These macros allows us to build
@@ -93,8 +95,6 @@ int arch_livepatch_secure(const void *va, unsigned int pages, enum va_type types
 
 void arch_livepatch_init(void);
 
-#include <public/sysctl.h> /* For struct livepatch_func. */
-#include <asm/livepatch.h>
 int arch_livepatch_verify_func(const struct livepatch_func *func);
 
 static inline
@@ -143,7 +143,7 @@ struct payload;
 int revert_payload(struct payload *data);
 void revert_payload_tail(struct payload *data);
 
-#else
+#else /* !CONFIG_LIVEPATCH */
 
 /*
  * If not compiling with Live Patch certain functionality should stay as
@@ -165,7 +165,7 @@ static inline bool is_patch(const void *addr)
 {
     return 0;
 }
-#endif /* CONFIG_LIVEPATCH */
+#endif /* !CONFIG_LIVEPATCH */
 
 #endif /* __XEN_LIVEPATCH_H__ */
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910630.1317314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAs-00077H-E7; Wed, 12 Mar 2025 17:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910630.1317314; Wed, 12 Mar 2025 17: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 1tsQAs-000778-B8; Wed, 12 Mar 2025 17:47:22 +0000
Received: by outflank-mailman (input) for mailman id 910630;
 Wed, 12 Mar 2025 17: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAr-0006eC-3o
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:21 +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 0bdfa7d0-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:20 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so406795e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:20 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0bdfa7d0-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801639; x=1742406439; 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=sjnR5X/bvG/Rmeh84cSnx/kY2mYzKC0sb4JiHUky2ww=;
        b=UGjGwvGO3CJPXz+G38z5DEqYsPLyr3u4G1Yj76J6Rjt2JRcbhaP+SAVDUFBHhpLyuW
         J4j5c4AM7w7N2q/QbjFyb5abIY+0ffBhu3wXXF8GI/7Dim5AV6zRWKL3UwYyHJg+IdVC
         im2AIFm+Q7SGfNkR7kNxntkjhsDN6FTfYPHgY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801639; x=1742406439;
        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=sjnR5X/bvG/Rmeh84cSnx/kY2mYzKC0sb4JiHUky2ww=;
        b=fb2bgusWYiuPEGlyE32upsr0wUDKZL00ND91vwEOUiuLAWFqanAR3/iCWBKn3zNnFb
         H3E004jvPPg2R4zZlVJOxbZog+zzlo/2gESCuhks+/veLC2TYb3YltOjiNT7Gnk+vi57
         VcAxifKX+PtxktHpUgcxXYvKW5VcRb/h6UdgJyha9EULMX4MiiTtGbvXOv9UZ+PPbVqL
         IQmRmtkbtrI1hhGfvJ0wDwJaGBJa52/CirXyUVlwQ9zziCWad4qX4yUE2vmoYbhcZnk5
         KekUPrCHpOTePS2n8fs4Fj+sjjQOgY8wHWLcBfQoudyRsEszcUj+k9Fg90YosWsylmvz
         nwtA==
X-Gm-Message-State: AOJu0YyzYVMnf/VjHJqCc0ck5Vh8IxZO71OILyTm9j5+O/hCrZ6nqhga
	IT61r6wxcuJzfKD1lS5haGBYheaRjJqQPMUfaeDTPud6C+bnOTwWlb5dv/iEuQylxY4/BKIryDm
	T
X-Gm-Gg: ASbGnctrIZyW5KZQWqpwAtugD9gdlj89W1MJOZm6+k1IxoDqJP9XsRAdj8kMMwDZJM5
	T0fQi+OPDF3Crndt8c/DurCLjVgWqprDVcR1VZsVmURXRTSaYBqgggxQ5YBqccLt0B0meZ/RAR2
	pVGvIqgSSTZbItLnRmxrs0SqqE7E1QxeRDtHqbR3/6YEuNMXp3M0SsFoMmHrj9+5JeaLD7wRzVj
	WJ5DAWQPAewor02kqXOZI5hUzgGwDVdZwudyry+8lQ/DXywPxcbF1zHWcWTSQI9ivRzQL5gM0Cp
	vlDAs1iCqYnll5tWioykE0O1gGWQREVUNAlBVlDhMYueuXBJ5ccjkGqejWFpfecs8wkYqZS774E
	EIPyOaAUUl/MHoYRgH18t3A+S
X-Google-Smtp-Source: AGHT+IERj70emN4JXV0Hed5t9quWPL7b6/6L7k1RqZgYBZc+Z+cuxtIHpttWzPQyPqsdoOb8vClk2w==
X-Received: by 2002:a05:600c:3b13:b0:43d:b3:f95 with SMTP id 5b1f17b1804b1-43d00b313bemr87216185e9.28.1741801639477;
        Wed, 12 Mar 2025 10:47:19 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 3/8] xen: Sort includes
Date: Wed, 12 Mar 2025 17:45:07 +0000
Message-Id: <20250312174513.4075066-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... needing later adjustment.  Drop types.h when it's clearly not needed.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/arm/mmu/setup.c   |  2 +-
 xen/arch/x86/alternative.c | 12 ++++++------
 xen/arch/x86/livepatch.c   |  8 ++++----
 xen/common/memory.c        |  4 +++-
 xen/common/page_alloc.c    |  5 ++---
 xen/include/xen/mm.h       |  6 +++---
 6 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index 30afe9778194..f6119ccacf15 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -12,8 +12,8 @@
 #include <xen/sizes.h>
 #include <xen/vmap.h>
 
-#include <asm/setup.h>
 #include <asm/fixmap.h>
+#include <asm/setup.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef mfn_to_virt
diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 1ba35cb9ede9..46b04c9cb83d 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -4,18 +4,18 @@
  */
 
 #include <xen/delay.h>
-#include <xen/types.h>
+#include <xen/init.h>
+#include <xen/livepatch.h>
+
+#include <asm/alternative.h>
 #include <asm/apic.h>
 #include <asm/endbr.h>
+#include <asm/nmi.h>
+#include <asm/nops.h>
 #include <asm/processor.h>
-#include <asm/alternative.h>
-#include <xen/init.h>
 #include <asm/setup.h>
 #include <asm/system.h>
 #include <asm/traps.h>
-#include <asm/nmi.h>
-#include <asm/nops.h>
-#include <xen/livepatch.h>
 
 #define MAX_PATCH_LEN (255-1)
 
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index bdca355dc6cc..5158e91f7e6e 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -5,14 +5,14 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/livepatch.h>
+#include <xen/livepatch_elf.h>
 #include <xen/mm.h>
 #include <xen/pfn.h>
-#include <xen/vmap.h>
-#include <xen/livepatch_elf.h>
-#include <xen/livepatch.h>
 #include <xen/sched.h>
-#include <xen/vm_event.h>
 #include <xen/virtual_region.h>
+#include <xen/vm_event.h>
+#include <xen/vmap.h>
 
 #include <asm/endbr.h>
 #include <asm/fixmap.h>
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 8ca4e1a8425b..61a94b23abae 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -25,12 +25,14 @@
 #include <xen/sched.h>
 #include <xen/sections.h>
 #include <xen/trace.h>
-#include <xen/types.h>
+
 #include <asm/current.h>
 #include <asm/hardirq.h>
 #include <asm/p2m.h>
 #include <asm/page.h>
+
 #include <public/memory.h>
+
 #include <xsm/xsm.h>
 
 #ifdef CONFIG_X86
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 5f9c9305ef37..bc029ea797a2 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -133,7 +133,6 @@
 #include <xen/param.h>
 #include <xen/perfc.h>
 #include <xen/pfn.h>
-#include <xen/types.h>
 #include <xen/sched.h>
 #include <xen/sections.h>
 #include <xen/softirq.h>
@@ -144,14 +143,14 @@
 #include <asm/flushtlb.h>
 #include <asm/page.h>
 
-#include <public/sysctl.h>
 #include <public/sched.h>
+#include <public/sysctl.h>
 
 #ifdef CONFIG_X86
 #include <asm/guest.h>
 #include <asm/p2m.h>
-#include <asm/setup.h> /* for highmem_start only */
 #include <asm/paging.h>
+#include <asm/setup.h>
 #else
 #define p2m_pod_offline_or_broken_hit(pg) 0
 #define p2m_pod_offline_or_broken_replace(pg) BUG_ON(pg)
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 16f733281af3..45000cc3f64b 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -63,11 +63,11 @@
 
 #include <xen/bug.h>
 #include <xen/compiler.h>
-#include <xen/mm-frame.h>
-#include <xen/types.h>
 #include <xen/list.h>
-#include <xen/spinlock.h>
+#include <xen/mm-frame.h>
 #include <xen/perfc.h>
+#include <xen/spinlock.h>
+
 #include <public/memory.h>
 
 struct page_info;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910632.1317333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAu-0007ZN-3q; Wed, 12 Mar 2025 17:47:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910632.1317333; Wed, 12 Mar 2025 17: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 1tsQAt-0007Xi-US; Wed, 12 Mar 2025 17:47:23 +0000
Received: by outflank-mailman (input) for mailman id 910632;
 Wed, 12 Mar 2025 17: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAs-0006eC-PC
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:22 +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 0cf638c6-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:22 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3913cf69784so106475f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:22 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0cf638c6-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801641; x=1742406441; 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=38l7+vMOhtA3L47Dw/6UyPgylpeRB4oAz9vh/BWRMnE=;
        b=pA2bxwPdLupGIyG9Lsu+TVxyb9DZrY3+Nic9Lbpn0KqLilcTXVbUUseDzaAasTzR8t
         vyob1zHuXC63sw9fxv97UPsQW72I9dJSZMSHb3fmbaqTgEPiTcnguwlyn8XD1kQjip36
         am6ip4rF50xFStFDmHYeoxdxRIoPeQAfULY0A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801641; x=1742406441;
        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=38l7+vMOhtA3L47Dw/6UyPgylpeRB4oAz9vh/BWRMnE=;
        b=wqQ88Nsy01RI1r26dphQgb0XhK704LLBiUVXeXJKhOiqKAli5UKrFNF4xM1+H7i+zB
         8wAe27FYAqYHDjbBVDXVnSI41eI3Z8rj9UVlKQqgLXboE0j2dcSQcIEdxaXHa1nh6mG9
         D9C4vYTLzCDfFxi56QMRFqME/11TLEjGbQOghHKXIeASdAZDkCPvkxC8ecqTqA8Q42WG
         Kz2toFI6HIHUmYt5kZk4/A1fCphwj+4Qs4RMTH3rJgC6aT76IY2AsQlAINWcFYkIXe3i
         vSuv6tNkVzbUkGyndRbODd0AhbYRzqw8MSuCVrhPp8vyfBX3nV5nm4pBVnidlp6b/d/3
         gCWQ==
X-Gm-Message-State: AOJu0YyX2JBbyzIzn6txOa4FSr4cQFGBj2TetvwSNmxDPlEXix+hwO+F
	B0FuIn9yKmMcg/Npme72o/+fH6ir429Bh0Skvkn4Y3ErGYxJxrveJ/ic4R6ReK9lRDiptThneMH
	B
X-Gm-Gg: ASbGncuQKcttUX2IhSk3D6aYcMYqHoIoMVFpVAuuvhz1vQE9lL9Bj1fWK8HtaJ/SF2d
	ZRaXYrBTz54mQcFEygedzqJEn35b396YMRsBzamwPsc0fmSNoY6yNutiBZveRgqaZw+NJjRdDMO
	cQ0PBMlgyZvFqyUkJlc+jxcbrJ5dBNuXa66fIAlpis+WlWU+BA9NFXlFdGFLGfuJl1JLkesvnfT
	7LGSV4r0DI9pGmQ4Pp+6RgyAOPdYNSxTi6hiM9/E8AwrBBP+DfFrASB8TW8PniBsoB8+SWVnPhh
	yIcnqou2S1gzz1o0izqVtG0i+Itkvg/4HPKITcBoKStOsZ7hQeKVJ5p1IDYh5KrRxLhjSOeUyuY
	2/ce/ZQTBwPHXzlLgR/tzey/N
X-Google-Smtp-Source: AGHT+IE8yNmj/tKBsKKOuHgS2hQbeGbQSp2UYCGc8g9H/+eTe9f2P5rgV91G3sJSSWVZe/syuzTNPg==
X-Received: by 2002:a05:6000:4102:b0:391:487f:27e7 with SMTP id ffacd0b85a97d-391487f2b5amr12133945f8f.55.1741801641443;
        Wed, 12 Mar 2025 10:47:21 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 4/8] xen/common: Split tlk-clock.h out of mm.h
Date: Wed, 12 Mar 2025 17:45:09 +0000
Message-Id: <20250312174513.4075066-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

xen/mm.h includes asm/tlbflush.h almost at the end, which creates a horrible
tangle.  This is in order to provide two common files with an abstraction over
the x86-specific TLB clock logic.

First, introduce CONFIG_HAS_TLB_CLOCK, selected by x86 only.  Next, introduce
xen/tlb-clock.h, providing empty stubs, and include this into memory.c and
page_alloc.c

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>

There is still a mess here with the common vs x86 split, but it's better
contained than before.
---
 xen/arch/x86/Kconfig        |  1 +
 xen/common/Kconfig          |  3 +++
 xen/common/memory.c         |  1 +
 xen/common/page_alloc.c     |  1 +
 xen/include/xen/mm.h        | 27 --------------------
 xen/include/xen/tlb-clock.h | 49 +++++++++++++++++++++++++++++++++++++
 6 files changed, 55 insertions(+), 27 deletions(-)
 create mode 100644 xen/include/xen/tlb-clock.h

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6e41bc0fb435..e9a166ee3dd0 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -28,6 +28,7 @@ config X86
 	select HAS_PCI_MSI
 	select HAS_PIRQ
 	select HAS_SCHED_GRANULARITY
+	select HAS_TLB_CLOCK
 	select HAS_UBSAN
 	select HAS_VMAP
 	select HAS_VPCI if HVM
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6166327f4d14..dcf7d9d00d0a 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -83,6 +83,9 @@ config HAS_PMAP
 config HAS_SCHED_GRANULARITY
 	bool
 
+config HAS_TLB_CLOCK
+	bool
+
 config HAS_UBSAN
 	bool
 
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 61a94b23abae..9138fd096696 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -24,6 +24,7 @@
 #include <xen/perfc.h>
 #include <xen/sched.h>
 #include <xen/sections.h>
+#include <xen/tlb-clock.h>
 #include <xen/trace.h>
 
 #include <asm/current.h>
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index bc029ea797a2..b90c3d7988b4 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -137,6 +137,7 @@
 #include <xen/sections.h>
 #include <xen/softirq.h>
 #include <xen/spinlock.h>
+#include <xen/tlb-clock.h>
 #include <xen/vm_event.h>
 #include <xen/xvmalloc.h>
 
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 45000cc3f64b..fff36ff903d6 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -588,33 +588,6 @@ unsigned long get_upper_mfn_bound(void);
 
 #include <asm/flushtlb.h>
 
-static inline void accumulate_tlbflush(bool *need_tlbflush,
-                                       const struct page_info *page,
-                                       uint32_t *tlbflush_timestamp)
-{
-    if ( page->u.free.need_tlbflush &&
-         page->tlbflush_timestamp <= tlbflush_current_time() &&
-         (!*need_tlbflush ||
-          page->tlbflush_timestamp > *tlbflush_timestamp) )
-    {
-        *need_tlbflush = true;
-        *tlbflush_timestamp = page->tlbflush_timestamp;
-    }
-}
-
-static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
-{
-    cpumask_t mask;
-
-    cpumask_copy(&mask, &cpu_online_map);
-    tlbflush_filter(&mask, tlbflush_timestamp);
-    if ( !cpumask_empty(&mask) )
-    {
-        perfc_incr(need_flush_tlb_flush);
-        arch_flush_tlb_mask(&mask);
-    }
-}
-
 enum XENSHARE_flags {
     SHARE_rw,
     SHARE_ro,
diff --git a/xen/include/xen/tlb-clock.h b/xen/include/xen/tlb-clock.h
new file mode 100644
index 000000000000..796c0be7fbef
--- /dev/null
+++ b/xen/include/xen/tlb-clock.h
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef XEN_TLB_CLOCK_H
+#define XEN_TLB_CLOCK_H
+
+#include <xen/types.h>
+
+#ifdef CONFIG_HAS_TLB_CLOCK
+
+#include <xen/mm.h>
+
+#include <asm/flushtlb.h>
+
+static inline void accumulate_tlbflush(
+    bool *need_tlbflush, const struct page_info *page,
+    uint32_t *tlbflush_timestamp)
+{
+    if ( page->u.free.need_tlbflush &&
+         page->tlbflush_timestamp <= tlbflush_current_time() &&
+         (!*need_tlbflush ||
+          page->tlbflush_timestamp > *tlbflush_timestamp) )
+    {
+        *need_tlbflush = true;
+        *tlbflush_timestamp = page->tlbflush_timestamp;
+    }
+}
+
+static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
+{
+    cpumask_t mask;
+
+    cpumask_copy(&mask, &cpu_online_map);
+    tlbflush_filter(&mask, tlbflush_timestamp);
+    if ( !cpumask_empty(&mask) )
+    {
+        perfc_incr(need_flush_tlb_flush);
+        arch_flush_tlb_mask(&mask);
+    }
+}
+
+#else /* !CONFIG_HAS_TLB_CLOCK */
+
+struct page_info;
+static inline void accumulate_tlbflush(
+    bool *need_tlbflush, const struct page_info *page,
+    uint32_t *tlbflush_timestamp) {}
+static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp) {}
+
+#endif /* !CONFIG_HAS_TLB_CLOCK*/
+#endif /* XEN_TLB_CLOCK_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910633.1317340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAu-0007iT-O2; Wed, 12 Mar 2025 17:47:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910633.1317340; Wed, 12 Mar 2025 17: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 1tsQAu-0007gn-Hj; Wed, 12 Mar 2025 17:47:24 +0000
Received: by outflank-mailman (input) for mailman id 910633;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAs-0006h8-WF
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:23 +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 0c6490b5-ff6a-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 18:47:21 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3f4so71559f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:21 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10: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: 0c6490b5-ff6a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801640; x=1742406440; 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=38l7+vMOhtA3L47Dw/6UyPgylpeRB4oAz9vh/BWRMnE=;
        b=WoCvaYlquxmE3dMAb4uqA6//ASZRjwJ+mH0tqn8uXcN+cGAaJGe4Rvm55MdlNRGi2N
         KNFRAP6FutLR8VIA1YxK4QzPqkoJKq5fyANRO3qu5efNc0ltVk1BtnRpCl2EjjDelnGt
         fe8YQWzPyjdaXpZpcW8mcYu2UR9bklUGNJ66g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801640; x=1742406440;
        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=38l7+vMOhtA3L47Dw/6UyPgylpeRB4oAz9vh/BWRMnE=;
        b=l0kEmUV02JffAK7mjh0APw3jJiMEbuJHAbgvxfCF3LBkvs6RdPsKFeQ67ZcDK7t1B3
         dZpK224+JIFyY2stD6OYIXScUIcInRh0cyQG4NmXbyloWIifg37+cslessW9e9Ik3nIX
         CykJR44ShXTkiF5vk6QG6z662UKaX+jzURes/xjjDZDoWOUYJ5r5TxtHEybWsMG2ETmm
         yWldZaFIUF6H49MjxgxcUghJt5O+DdSrceQTKb0KSTLWWOP031cE8IbMi/a4Wzk2rtfX
         tDmDUuiRrlmY7mcLr7lqzUJrZssROv9gtPb3+zyuNwysJCpfVhVvVb7Bw3qNW7i8A6vJ
         I4lA==
X-Gm-Message-State: AOJu0Yw5elRFUr5SQ3+iBdS84Zy4PKD3J3sJmlud2AGF7wfjCU8sFiGs
	OV42B0Aw7jPZvvMi1+5/tQ6M+oDsTfaGfsVsdtBq1FLk4OKqA4VgCcmNh+tdeZRf8UZ+i/QnqHu
	8
X-Gm-Gg: ASbGncu3UET5q3m/R7Ke0fCZegC3BzbkYrurQoCzlFpNuWmPRyDWupNwa3a6rwzegYu
	jlUpGVvNpPrcP60Xf/uWdHU8u0hco0nhBPBSGUCi16kdFiFMsmjZQ3XJffgNuQ6Yc8Uda7AUboD
	oL7LbUb+fwPMD9/6WjyIflNypzqIBBMwATG1q7ktLToMuRrv7xfQy48ZkGnGE71BEMh12fiXFZm
	Y1YrBaKi6i97kc+H5keVZRbHqAh2jFNJRY3+Emg9pMeukrHYYDnheousU/L/KINko5p2lyuC8nu
	VeFALk3qEmd0UghUPfY3DWUZJaOTrxYLXcv0Wmy9tlekvPj77YrvksfIYK5mwCfFmzsxVe5PGlT
	gkZnRy3bxIy2Nae/2oQ86zy3+
X-Google-Smtp-Source: AGHT+IEtlqLoneJGokdux8kEu8gc5nusLLv2aIkQKVsicA5515dcUaJf1lQhm6Ccip6SAvsd5Usv/A==
X-Received: by 2002:a5d:47a2:0:b0:391:31c8:ba6b with SMTP id ffacd0b85a97d-39132d77343mr17156933f8f.10.1741801640493;
        Wed, 12 Mar 2025 10:47:20 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 4/8] xen/common: Split tlb-clock.h out of mm.h
Date: Wed, 12 Mar 2025 17:45:08 +0000
Message-Id: <20250312174513.4075066-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

xen/mm.h includes asm/tlbflush.h almost at the end, which creates a horrible
tangle.  This is in order to provide two common files with an abstraction over
the x86-specific TLB clock logic.

First, introduce CONFIG_HAS_TLB_CLOCK, selected by x86 only.  Next, introduce
xen/tlb-clock.h, providing empty stubs, and include this into memory.c and
page_alloc.c

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>

There is still a mess here with the common vs x86 split, but it's better
contained than before.
---
 xen/arch/x86/Kconfig        |  1 +
 xen/common/Kconfig          |  3 +++
 xen/common/memory.c         |  1 +
 xen/common/page_alloc.c     |  1 +
 xen/include/xen/mm.h        | 27 --------------------
 xen/include/xen/tlb-clock.h | 49 +++++++++++++++++++++++++++++++++++++
 6 files changed, 55 insertions(+), 27 deletions(-)
 create mode 100644 xen/include/xen/tlb-clock.h

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6e41bc0fb435..e9a166ee3dd0 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -28,6 +28,7 @@ config X86
 	select HAS_PCI_MSI
 	select HAS_PIRQ
 	select HAS_SCHED_GRANULARITY
+	select HAS_TLB_CLOCK
 	select HAS_UBSAN
 	select HAS_VMAP
 	select HAS_VPCI if HVM
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6166327f4d14..dcf7d9d00d0a 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -83,6 +83,9 @@ config HAS_PMAP
 config HAS_SCHED_GRANULARITY
 	bool
 
+config HAS_TLB_CLOCK
+	bool
+
 config HAS_UBSAN
 	bool
 
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 61a94b23abae..9138fd096696 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -24,6 +24,7 @@
 #include <xen/perfc.h>
 #include <xen/sched.h>
 #include <xen/sections.h>
+#include <xen/tlb-clock.h>
 #include <xen/trace.h>
 
 #include <asm/current.h>
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index bc029ea797a2..b90c3d7988b4 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -137,6 +137,7 @@
 #include <xen/sections.h>
 #include <xen/softirq.h>
 #include <xen/spinlock.h>
+#include <xen/tlb-clock.h>
 #include <xen/vm_event.h>
 #include <xen/xvmalloc.h>
 
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 45000cc3f64b..fff36ff903d6 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -588,33 +588,6 @@ unsigned long get_upper_mfn_bound(void);
 
 #include <asm/flushtlb.h>
 
-static inline void accumulate_tlbflush(bool *need_tlbflush,
-                                       const struct page_info *page,
-                                       uint32_t *tlbflush_timestamp)
-{
-    if ( page->u.free.need_tlbflush &&
-         page->tlbflush_timestamp <= tlbflush_current_time() &&
-         (!*need_tlbflush ||
-          page->tlbflush_timestamp > *tlbflush_timestamp) )
-    {
-        *need_tlbflush = true;
-        *tlbflush_timestamp = page->tlbflush_timestamp;
-    }
-}
-
-static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
-{
-    cpumask_t mask;
-
-    cpumask_copy(&mask, &cpu_online_map);
-    tlbflush_filter(&mask, tlbflush_timestamp);
-    if ( !cpumask_empty(&mask) )
-    {
-        perfc_incr(need_flush_tlb_flush);
-        arch_flush_tlb_mask(&mask);
-    }
-}
-
 enum XENSHARE_flags {
     SHARE_rw,
     SHARE_ro,
diff --git a/xen/include/xen/tlb-clock.h b/xen/include/xen/tlb-clock.h
new file mode 100644
index 000000000000..796c0be7fbef
--- /dev/null
+++ b/xen/include/xen/tlb-clock.h
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef XEN_TLB_CLOCK_H
+#define XEN_TLB_CLOCK_H
+
+#include <xen/types.h>
+
+#ifdef CONFIG_HAS_TLB_CLOCK
+
+#include <xen/mm.h>
+
+#include <asm/flushtlb.h>
+
+static inline void accumulate_tlbflush(
+    bool *need_tlbflush, const struct page_info *page,
+    uint32_t *tlbflush_timestamp)
+{
+    if ( page->u.free.need_tlbflush &&
+         page->tlbflush_timestamp <= tlbflush_current_time() &&
+         (!*need_tlbflush ||
+          page->tlbflush_timestamp > *tlbflush_timestamp) )
+    {
+        *need_tlbflush = true;
+        *tlbflush_timestamp = page->tlbflush_timestamp;
+    }
+}
+
+static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
+{
+    cpumask_t mask;
+
+    cpumask_copy(&mask, &cpu_online_map);
+    tlbflush_filter(&mask, tlbflush_timestamp);
+    if ( !cpumask_empty(&mask) )
+    {
+        perfc_incr(need_flush_tlb_flush);
+        arch_flush_tlb_mask(&mask);
+    }
+}
+
+#else /* !CONFIG_HAS_TLB_CLOCK */
+
+struct page_info;
+static inline void accumulate_tlbflush(
+    bool *need_tlbflush, const struct page_info *page,
+    uint32_t *tlbflush_timestamp) {}
+static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp) {}
+
+#endif /* !CONFIG_HAS_TLB_CLOCK*/
+#endif /* XEN_TLB_CLOCK_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910634.1317346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAv-0007pF-A7; Wed, 12 Mar 2025 17:47:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910634.1317346; Wed, 12 Mar 2025 17:47: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 1tsQAv-0007nh-38; Wed, 12 Mar 2025 17:47:25 +0000
Received: by outflank-mailman (input) for mailman id 910634;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAt-0006eC-PX
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:23 +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 0d80f95d-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:23 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso1246365e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:23 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0d80f95d-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801642; x=1742406442; 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=/ZxpY1j+tYKf6h6cwDyqwsZP3HXNRy5CWzq/bv6KU6I=;
        b=kHq6kx/bMnSVc3AHtqOnznsh1Cm1uCwLN22KrucR9Y0CpTSkzf9xv3J13uo8EGFtxg
         vn4W7dMESG1Evrd4mKkYTBZKq1pnHhUNkXmAJ5bG/1ZVZLg6jesocSGU14or50DEw4B/
         +NNEPV8wK6BhaAsJbPdikbNglMiQyxZozvBF4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801642; x=1742406442;
        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=/ZxpY1j+tYKf6h6cwDyqwsZP3HXNRy5CWzq/bv6KU6I=;
        b=Ux7FZ+/sCEKkgAAc6eJHZJAkHRgp7NKN+Ecv5vCbJzktgq35FdfZQUVFxER3riF7RQ
         o/XlcFpTfXM+OvpNaOgJ8PCyESbyylSChro/406SZQS3mXEGIhj0DoHL/mjdbD+M/C5Q
         JnQmyPfJND0kmltzmMbfb5VT7j7Y+PanoJmeYLsIWXUAFWnhl87URFSIw7GpNF2f1H7D
         ok+nbHLWnhOGE5r1TG6hBWG8ov+xcFQQfcBQo5kaKw6t6sb0kIzcj6S+IRnz79ipgKHI
         emTvHrsd4+R7/RxZYPRKVh4u3kja2mqwoq8Ou3eeOnWkRrzP91CZg08CFiet5v0GkQ03
         MRrA==
X-Gm-Message-State: AOJu0YyN7RCfk6hs8PJ2WgnGrNOEAdw3hHMRua7xugZSCb10engRV6vS
	arPs0lDTWzVUoUlpzycDXJFe9F43z8z+VmZE+zXcLqWSUH61zs2vHwbuWGkEW5eLh9jnAEYnPns
	w
X-Gm-Gg: ASbGncteVHRcVWAGSnRZ7OcZsLGbPYaXkoK355jDgPKYkdEd+JhM+YvUMufDXfR5/q5
	wzvvrFGHNxVmB2fBqOPYkD7yPDa3c3Ll1QKgJd4s6PnmO87xXqhpzsVYSJj26SmvaKhjALcrrHa
	ya1XBn92NEN59Fm8NNhM3CQo80nKFMQpMfsPs1qBHz4hMQdtsmM20sOCuZtOJns9oJZ8QoI0Tdf
	MPJ7BfsA42QW6AiDEva5EVOyNGZwLWKJmzfjzsUcqdLbEyfHShbBQrnoKQxyyMUttMHlX/ZpD3J
	GR1lxTZPWTTHPXC1aocDeh6n5E38lpo5RDUxYRn3iqE+UhPVPp1H9eVV8GLqxPjBUHqrHPC8nrW
	wm4Ig5jdpF6LTiCeXiEEJN034iYDz4SBUZ90=
X-Google-Smtp-Source: AGHT+IFOZgz21JTkr53wf6nAyfUuR8xGMtR4kI57Y4nBotlAubxbKXRNoHNCn66WKMXoJaECwuxQTA==
X-Received: by 2002:a05:600c:512a:b0:439:8878:5029 with SMTP id 5b1f17b1804b1-43d16192475mr4024405e9.2.1741801642295;
        Wed, 12 Mar 2025 10:47:22 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 5/8] xen/arch: Strip out tlb-clock stubs for non-implementors
Date: Wed, 12 Mar 2025 17:45:10 +0000
Message-Id: <20250312174513.4075066-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Now that there's a common stub implementation TLB clocks, there's no need for
architectures to provide their own.

Repeatedly zeroing page->tlbflush_timestamp is no use, so provide an even more
empty common stub for page_set_tlbflush_timestamp().

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/arm/include/asm/flushtlb.h   | 14 --------------
 xen/arch/ppc/include/asm/flushtlb.h   | 14 --------------
 xen/arch/riscv/include/asm/flushtlb.h | 14 --------------
 xen/include/xen/tlb-clock.h           |  1 +
 4 files changed, 1 insertion(+), 42 deletions(-)

diff --git a/xen/arch/arm/include/asm/flushtlb.h b/xen/arch/arm/include/asm/flushtlb.h
index e45fb6d97b02..6f69a5bdc8c2 100644
--- a/xen/arch/arm/include/asm/flushtlb.h
+++ b/xen/arch/arm/include/asm/flushtlb.h
@@ -3,20 +3,6 @@
 
 #include <xen/cpumask.h>
 
-/*
- * Filter the given set of CPUs, removing those that definitely flushed their
- * TLB since @page_timestamp.
- */
-/* XXX lazy implementation just doesn't clear anything.... */
-static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timestamp) {}
-
-#define tlbflush_current_time()                 (0)
-
-static inline void page_set_tlbflush_timestamp(struct page_info *page)
-{
-    page->tlbflush_timestamp = tlbflush_current_time();
-}
-
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/flushtlb.h>
 #elif defined(CONFIG_ARM_64)
diff --git a/xen/arch/ppc/include/asm/flushtlb.h b/xen/arch/ppc/include/asm/flushtlb.h
index afcb74078368..f89037bd4543 100644
--- a/xen/arch/ppc/include/asm/flushtlb.h
+++ b/xen/arch/ppc/include/asm/flushtlb.h
@@ -4,20 +4,6 @@
 
 #include <xen/cpumask.h>
 
-/*
- * Filter the given set of CPUs, removing those that definitely flushed their
- * TLB since @page_timestamp.
- */
-/* XXX lazy implementation just doesn't clear anything.... */
-static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timestamp) {}
-
-#define tlbflush_current_time()                 (0)
-
-static inline void page_set_tlbflush_timestamp(struct page_info *page)
-{
-    page->tlbflush_timestamp = tlbflush_current_time();
-}
-
 /* Flush specified CPUs' TLBs */
 void arch_flush_tlb_mask(const cpumask_t *mask);
 
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index 51c8f753c51e..23739a22fb2a 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -20,20 +20,6 @@ static inline void flush_tlb_range_va(vaddr_t va, size_t size)
     sbi_remote_sfence_vma(NULL, va, size);
 }
 
-/*
- * Filter the given set of CPUs, removing those that definitely flushed their
- * TLB since @page_timestamp.
- */
-/* XXX lazy implementation just doesn't clear anything.... */
-static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timestamp) {}
-
-#define tlbflush_current_time() (0)
-
-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);
 
diff --git a/xen/include/xen/tlb-clock.h b/xen/include/xen/tlb-clock.h
index 796c0be7fbef..467f6d64a6ca 100644
--- a/xen/include/xen/tlb-clock.h
+++ b/xen/include/xen/tlb-clock.h
@@ -44,6 +44,7 @@ static inline void accumulate_tlbflush(
     bool *need_tlbflush, const struct page_info *page,
     uint32_t *tlbflush_timestamp) {}
 static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp) {}
+static inline void page_set_tlbflush_timestamp(struct page_info *page) {}
 
 #endif /* !CONFIG_HAS_TLB_CLOCK*/
 #endif /* XEN_TLB_CLOCK_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910635.1317360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAw-0008Fi-L3; Wed, 12 Mar 2025 17:47:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910635.1317360; Wed, 12 Mar 2025 17:47: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 1tsQAw-0008ET-Ei; Wed, 12 Mar 2025 17:47:26 +0000
Received: by outflank-mailman (input) for mailman id 910635;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAu-0006eC-Dd
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:24 +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 0df9be76-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:23 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cec5cd73bso414845e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:23 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0df9be76-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801643; x=1742406443; 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=P9cAeUqPHU2Cwtf0V4Y32o0EVczvwD9P2qTJlu4OoBU=;
        b=KdhM5aCh5Poc/OFmfPxHKqaQaVpuJPE0/xDVuJTPNmL23Iy/Qw+18Wf8GUxv6SYFv6
         ffp8naXpMyw7Xciqpqa8ohRrrU8HjCcL+ubig/PRkR+6s6PqxosccqvF0aYInY4mjue2
         lfNzwN9tjtvQgmULG4HK92rloLmht+/+J1fU4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801643; x=1742406443;
        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=P9cAeUqPHU2Cwtf0V4Y32o0EVczvwD9P2qTJlu4OoBU=;
        b=L7pJ9PuGlAPotLGs9Y+SXrNoDzaeDLcTHoctWGn+jh+8yAIDKXg3sYK6z6f2Jt8Zch
         VCKKloVkPnxLEnrVeTISVjMYS1JFvpdp5jQvVsl/hDRs8WQOUijjxOLGXR/FrDFmrGib
         VexHATMvIOjexmlmlpc4HcCK7rCJrDth6JIK7Xev81YX4MWbRbR31Y+HK3YhxPpDSTgB
         Q0MWB2TEFRPOAW7w7UItRMuLmDPalFNVymWQYAMcBpyIKnwheHO8lXIFhXjg8TmPMjvz
         GfbIXh/hGBAf7tJS3rC7+bbU8yI3IWARIspsnqYRZF6CsmD39gjWqP5DZsFPs17AzSE1
         zx4A==
X-Gm-Message-State: AOJu0YwOTP0voMABKou3GebLXqJG6hKxdKm81d4fNyPec3KEnygnK3dq
	dLK0KkQ5nX82bh+0F8r+/0VFsypUpbD89IfZ6hHwPZB/8R/doLIxbjzEIRykpgRPnO8D1TQPbDt
	+
X-Gm-Gg: ASbGncvSfFLo+OWPRES2Hf9gp8HHKflsmgI008S6VXlPVIHMwqW/08DiXkTKtVETV78
	mTb6LFNozjzdyfRTeiUzsm9RNnHyxwxgELPpWsdbPAofZjPoi8kWtUxNfYSpiXQ90Ic4gjnhDeC
	2AFcakb9OaR5FSjkdW9APgPdZymPLu9dpOInuWdHeyyuK2AliRODgyUXcaBXX0JLBTVS3z34dDh
	3YnwDAXEzs3FoWHGDjwZGLMiE3MikXpMwWu2AbAc5cZFhjPKVHuQ/XmTadlbxjmnUbcc1I3gBAP
	xpHBJz+YyxVrz1AIR2623gcL+0tR3m4F0ZyjTiVMqLRegIP7iVjNRMdPCZ4PVrOmdMGFhXrPFTQ
	lSp/aYnnnpf0vbycNtGxiSEw0
X-Google-Smtp-Source: AGHT+IG8sZ3w48VKqI38MuoFdpkslJZlClY6x5DWn0JuaiRhb3MT2pkvAQD8ztt52RawpxEzoLhf4g==
X-Received: by 2002:a05:600c:1d01:b0:43c:e467:d6ce with SMTP id 5b1f17b1804b1-43ce467d720mr153810085e9.4.1741801643163;
        Wed, 12 Mar 2025 10:47:23 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 6/8] xen/mm: Exclude flushtlb.h from mm.h for PPC and RISC-V
Date: Wed, 12 Mar 2025 17:45:11 +0000
Message-Id: <20250312174513.4075066-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

put_page_alloc_ref(), the final function in xen/mm.h uses test_and_clear_bit()
which is picked up transitively by all architectures.  RISC-V gets it only via
flushtlb.h, hence why it notices here.

ARM and x86 will be cleaned up in subsequent patches.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/include/xen/mm.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index fff36ff903d6..154e649db9e4 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -61,6 +61,7 @@
 #ifndef __XEN_MM_H__
 #define __XEN_MM_H__
 
+#include <xen/bitops.h>
 #include <xen/bug.h>
 #include <xen/compiler.h>
 #include <xen/list.h>
@@ -586,7 +587,9 @@ void destroy_ring_for_helper(void **_va, struct page_info *page);
 /* Return the upper bound of MFNs, including hotplug memory. */
 unsigned long get_upper_mfn_bound(void);
 
+#if defined(CONFIG_X86) || defined(CONFIG_ARM)
 #include <asm/flushtlb.h>
+#endif
 
 enum XENSHARE_flags {
     SHARE_rw,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910637.1317372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAx-0000A0-VA; Wed, 12 Mar 2025 17:47:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910637.1317372; Wed, 12 Mar 2025 17:47: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 1tsQAx-00009A-Nz; Wed, 12 Mar 2025 17:47:27 +0000
Received: by outflank-mailman (input) for mailman id 910637;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAw-0006eC-JD
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:26 +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 0e90b725-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:25 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3912c09bea5so95411f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:25 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0e90b725-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801644; x=1742406444; 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=sMLj39aTFhGq6xn1dDjh3SoXXw78RV2nULsjkmPxH8c=;
        b=jMTvDCFvHFJXNOY5FYg8OuGsgFVI/SgaCCYxBJa18W52lCpPzQQ9Und3xlkDt1WnHd
         XzEgbDj/s6aIf41YQrDOBRkykO2v8fZ7HSLvwSde38HpAYF42u2FX6Y/WfxE1K5L9gsV
         xYk5giWENkdO8fLEPY01KmDyWOEvCwRunQQMM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801644; x=1742406444;
        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=sMLj39aTFhGq6xn1dDjh3SoXXw78RV2nULsjkmPxH8c=;
        b=PTt8cqRBg72Vcvla30XHX8PXW49kOe+yXzGF2ocYb01nNVQEG3bZDOkn4vqLYfC33+
         fRdeQRuqAjgjGfthCrmqm+ByqNrMg7e+nwx5K0/OxponnezMnzzRu0fiMGBPRKCdu/Hx
         r47HkVL67u3nhTBeVpHHz5X7D6Qrzzg9dWopBgyntZ61sqxFA8tVQj6JL4PSuEpo7GEQ
         eaEMoAWQS/8G9n5RhrvOqOqv6S/EFgzw8KFrThcBuTBoooCU7ZypzsvEpfgl1u0S9WKC
         mL+p2JrBBsm1M85IPAgV9qu2a9YL3h1jlwDJeoCbck5mrJUaLYQjp+hx3nzCfGCxWsbz
         EZlQ==
X-Gm-Message-State: AOJu0YxHeWKILlkTCegTb1boXs5fDJzZP07nfVWygRjGQseKF/rZek0/
	04laTmbBQ2YByX2nYtbr0kSrgaDSPWnRrBrCdQAJitgpTlFkjlJ1n527ht5+KbQFPfFlaxhGzrP
	4
X-Gm-Gg: ASbGnctaR4DsLLUiDSSRO1xtQFPKniUn8lzaYPTD6AOOeOxlIWnwf5nFATdqQBZDx/A
	uVO8LNDt8CnZ4JzvoPO8Mv10u8TaZ3TDR51lAJd780AGkzO+39UU+ys/7LvUQtjtMLLDVdcMUtB
	DtY8VnHTprci+3j5VEufaOu9//+YCat6WqynqSvKsNupJ3WmYXYJ0H2mRYUWaMjaCOusVyEPlme
	oP7cGmknq/1ZZdp0Os9YIRTvwUAX7KHv4YG42inM/xiltEftoBU2wa2z/RpCkJLbE2YkSQF8f6t
	WWmYgpbbmJXXgwrQK5oeUDtBTvDfoj585bnGiXU+ozK0KdqSXWLbU2tsIsjwsLwersQeenHFJZD
	gX0eT1MCp2QL5BUrRD518D2NL
X-Google-Smtp-Source: AGHT+IG61+gv4GRyGYC0ZSkNJoh2fbS1N8UJczQXoQ9YfaukHazP+50OpE/OkLNZpd99M73Dx+2y+A==
X-Received: by 2002:a05:6000:4023:b0:38f:28dc:ec23 with SMTP id ffacd0b85a97d-392641c033fmr6725775f8f.19.1741801644074;
        Wed, 12 Mar 2025 10:47:24 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 7/8] xen/mm: Exclude flushtlb.h from mm.h for ARM
Date: Wed, 12 Mar 2025 17:45:12 +0000
Message-Id: <20250312174513.4075066-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

A number of files pick up flushtlb.h transitively through mm.h, while the
flushtlb.h hierachy themselves aren't even self-sufficient.

Address all of these, and exclude flushtlb.h from mm.h

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/arm/include/asm/arm32/flushtlb.h | 2 ++
 xen/arch/arm/include/asm/arm64/flushtlb.h | 2 ++
 xen/arch/arm/include/asm/fixmap.h         | 2 ++
 xen/arch/arm/include/asm/pmap.h           | 1 +
 xen/arch/arm/mmu/domain_page.c            | 2 ++
 xen/arch/arm/mmu/pt.c                     | 1 +
 xen/arch/arm/mmu/setup.c                  | 1 +
 xen/arch/arm/traps.c                      | 1 +
 xen/include/xen/mm.h                      | 2 +-
 9 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/arm32/flushtlb.h b/xen/arch/arm/include/asm/arm32/flushtlb.h
index 61c25a318998..510eb649a5c6 100644
--- a/xen/arch/arm/include/asm/arm32/flushtlb.h
+++ b/xen/arch/arm/include/asm/arm32/flushtlb.h
@@ -1,6 +1,8 @@
 #ifndef __ASM_ARM_ARM32_FLUSHTLB_H__
 #define __ASM_ARM_ARM32_FLUSHTLB_H__
 
+#include <asm/arm32/sysregs.h>
+
 /*
  * Every invalidation operation use the following patterns:
  *
diff --git a/xen/arch/arm/include/asm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
index 45642201d147..b98c8d14a78f 100644
--- a/xen/arch/arm/include/asm/arm64/flushtlb.h
+++ b/xen/arch/arm/include/asm/arm64/flushtlb.h
@@ -1,6 +1,8 @@
 #ifndef __ASM_ARM_ARM64_FLUSHTLB_H__
 #define __ASM_ARM_ARM64_FLUSHTLB_H__
 
+#include <asm/alternative.h>
+
 /*
  * Every invalidation operation use the following patterns:
  *
diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/asm/fixmap.h
index 0cb5d54d1c74..68d82d3d4ea2 100644
--- a/xen/arch/arm/include/asm/fixmap.h
+++ b/xen/arch/arm/include/asm/fixmap.h
@@ -22,6 +22,8 @@
 
 #ifndef __ASSEMBLY__
 
+#include <asm/lpae.h>
+
 /*
  * Direct access to xen_fixmap[] should only happen when {set,
  * clear}_fixmap() is unusable (e.g. where we would end up to
diff --git a/xen/arch/arm/include/asm/pmap.h b/xen/arch/arm/include/asm/pmap.h
index bca3381796f3..1162e8a6e4d2 100644
--- a/xen/arch/arm/include/asm/pmap.h
+++ b/xen/arch/arm/include/asm/pmap.h
@@ -4,6 +4,7 @@
 #include <xen/mm.h>
 
 #include <asm/fixmap.h>
+#include <asm/flushtlb.h>
 
 static inline void arch_pmap_map(unsigned int slot, mfn_t mfn)
 {
diff --git a/xen/arch/arm/mmu/domain_page.c b/xen/arch/arm/mmu/domain_page.c
index 3a43601623f0..850214925a3b 100644
--- a/xen/arch/arm/mmu/domain_page.c
+++ b/xen/arch/arm/mmu/domain_page.c
@@ -3,6 +3,8 @@
 #include <xen/pmap.h>
 #include <xen/vmap.h>
 
+#include <asm/flushtlb.h>
+
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e796..16c73da853e6 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -13,6 +13,7 @@
 
 #include <asm/current.h>
 #include <asm/fixmap.h>
+#include <asm/flushtlb.h>
 
 #ifdef NDEBUG
 static inline void
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index f6119ccacf15..64a06e30e8fb 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -13,6 +13,7 @@
 #include <xen/vmap.h>
 
 #include <asm/fixmap.h>
+#include <asm/flushtlb.h>
 #include <asm/setup.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 445e7378dd79..52f267fb11f8 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -34,6 +34,7 @@
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
 #include <asm/event.h>
+#include <asm/flushtlb.h>
 #include <asm/hsr.h>
 #include <asm/mem_access.h>
 #include <asm/mmio.h>
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 154e649db9e4..27e420e302d8 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -587,7 +587,7 @@ void destroy_ring_for_helper(void **_va, struct page_info *page);
 /* Return the upper bound of MFNs, including hotplug memory. */
 unsigned long get_upper_mfn_bound(void);
 
-#if defined(CONFIG_X86) || defined(CONFIG_ARM)
+#if defined(CONFIG_X86)
 #include <asm/flushtlb.h>
 #endif
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 17:47:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 17:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910638.1317379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQAy-0000Gg-JR; Wed, 12 Mar 2025 17:47:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910638.1317379; Wed, 12 Mar 2025 17:47: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 1tsQAy-0000Ej-5v; Wed, 12 Mar 2025 17:47:28 +0000
Received: by outflank-mailman (input) for mailman id 910638;
 Wed, 12 Mar 2025 17:47: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQAw-0006eC-Td
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 17:47:26 +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 0f664763-ff6a-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 18:47:26 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso76003f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 10:47:26 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d0b79sm27333805e9.36.2025.03.12.10.47.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 10:47: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: 0f664763-ff6a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741801645; x=1742406445; 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=UqUw1lXDWsLoEK2uMTwV0wPaZ1fDYAVfaL5LVQPDWGk=;
        b=Udv5lQxIf/E6VNrzOGOD7LJB1xLlAp6dMGQeptykmubTUUB1M2MqaeV72foBw8kUp9
         +T1LxbwMmgtfLWwieo/oI4N7aJ+iPla9t9H0cgfAcVmApc1Z4LViXO/sxvC8LtbUEnGK
         Jw4jcHFaKOPfAabUYRgCntY5SqTR1dXCA2UnA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741801645; x=1742406445;
        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=UqUw1lXDWsLoEK2uMTwV0wPaZ1fDYAVfaL5LVQPDWGk=;
        b=jt6O1EfLPLbBmr7AYcH/Q/BXC3pjgulKHH3kYSat4uK744I8t/Yv6qHVbR+wCtK4Ex
         4QOsX6qnGJiUqFrMIuxmCbWtlgCU2PvTlcZIyCWFuyH25S2fQBj0/HCz/ac1++GyFwRD
         BJ+J23CoKVBlKO6v5km7QiG3QE+XEeIeTrjw9/auhwr/X3u2CJ58RrUxxOQ4BhnhJkxg
         Q20wK8o5gZjxtojtntn1qN5NnX8TG7OULo82rY3tT6nflhC8g+QAp9KvnCadtYylV4Lx
         kHJpNuUJVto9QLMn9oexhPa0tAQ+YQfZdrjc68GAt9Qyar3BaMWhXaKaSdpNKEzTdK6U
         jWgw==
X-Gm-Message-State: AOJu0YwFFqnrmAsi5+wzZbi7axxMVcRzRVW2ipDDgz4gSZXrcpvS9vQm
	uSIEpPVg7FzIYWzj33ZM1GeVfWFqK1UUKr+WN0hxqwDbvs/LE/OGthsk4QYDwYd+MvgLdKhYeor
	x
X-Gm-Gg: ASbGnctG4PoMBtochY0cCdTHOX4A+H+tmx0tCwknZPH6QVr6tbyIKbJWE+6kZdbVNmO
	AC3GugXzBRgWJ60VPZZnIyun1dNz8oSEpdSUGBIN0yH5qArv8iUZxneeSC5a/KOzWR3TKpKwGf5
	vgn7Y2QFMGoDH7x3DVlsyVViqyBYUent5cqvusn9YKyCc4CYkmQdBZyERoMKzygtpL3DHyvY5Ym
	9oJNZSgx1EF5rDgvF9bf8zQlUoLmKeIbatKbaCmBm880CiqfqligaKsJPWVGVYF3wFoquXo8rtX
	o5Ihdbk9HLNqm30J5VF/Uc4IGAsQL3VidIxJuPFP4V/iOaTWfkTpt3AfLPmlZKt6WLnD6WvHbJ0
	DB7mouCqbccwSREIE7gHnaFc7
X-Google-Smtp-Source: AGHT+IFb4jQETQduT8FxNkpfsC/um/PLF27EYcumOcxJs7Qku0Cxj5dl8mD9orNd/ncyb7UKyFKRIQ==
X-Received: by 2002:a05:6000:4102:b0:391:42f2:5c7b with SMTP id ffacd0b85a97d-393e1e345f0mr4215659f8f.16.1741801645599;
        Wed, 12 Mar 2025 10:47:25 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH 8/8] xen/mm: Exclude flushtlb.h from mm.h for x86
Date: Wed, 12 Mar 2025 17:45:13 +0000
Message-Id: <20250312174513.4075066-10-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

alternative.c and livepatch.c pick up flushtlb.h transitively through mm.h.

Fix these, and finally resolve the TODO in microcode/amd.c

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/x86/alternative.c       | 1 +
 xen/arch/x86/cpu/microcode/amd.c | 2 +-
 xen/arch/x86/livepatch.c         | 1 +
 xen/include/xen/mm.h             | 4 ----
 4 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 46b04c9cb83d..d97eda129c32 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -10,6 +10,7 @@
 #include <asm/alternative.h>
 #include <asm/apic.h>
 #include <asm/endbr.h>
+#include <asm/flushtlb.h>
 #include <asm/nmi.h>
 #include <asm/nops.h>
 #include <asm/processor.h>
diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index ee7de5282b2a..d84dc5b0ef1f 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -17,9 +17,9 @@
 #include <xen/bsearch.h>
 #include <xen/err.h>
 #include <xen/init.h>
-#include <xen/mm.h> /* TODO: Fix asm/tlbflush.h breakage */
 #include <xen/sha2.h>
 
+#include <asm/flushtlb.h>
 #include <asm/msr.h>
 
 #include "private.h"
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index 5158e91f7e6e..5c1d16ecf5a8 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -16,6 +16,7 @@
 
 #include <asm/endbr.h>
 #include <asm/fixmap.h>
+#include <asm/flushtlb.h>
 #include <asm/nmi.h>
 #include <asm/setup.h>
 
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 27e420e302d8..088f77eed5e5 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -587,10 +587,6 @@ void destroy_ring_for_helper(void **_va, struct page_info *page);
 /* Return the upper bound of MFNs, including hotplug memory. */
 unsigned long get_upper_mfn_bound(void);
 
-#if defined(CONFIG_X86)
-#include <asm/flushtlb.h>
-#endif
-
 enum XENSHARE_flags {
     SHARE_rw,
     SHARE_ro,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 18:02:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 18:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910694.1317394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsQPr-0006dt-8J; Wed, 12 Mar 2025 18:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910694.1317394; Wed, 12 Mar 2025 18:02: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 1tsQPr-0006dm-5L; Wed, 12 Mar 2025 18:02:51 +0000
Received: by outflank-mailman (input) for mailman id 910694;
 Wed, 12 Mar 2025 18:02: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=5o35=V7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsQPq-0006dg-0U
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 18:02:50 +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 34b838ca-ff6c-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 19:02:48 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3914a5def6bso78229f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 11:02:48 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912c0193bfsm22046666f8f.55.2025.03.12.11.02.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 11:02: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: 34b838ca-ff6c-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741802567; x=1742407367; 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=IzTx2mSmO8YsKn70D4G8Y9wwkpWK/ebpiMTO7vhhz8U=;
        b=tcUh/0luQjEm0CKnggFVctwVc48VR9ZDX1hTV89koxUeP3g6+EVCJ8s2DoYEYeqL8U
         n4ev0bwDQYo6pOQHCzfTBseJLsXwZ4XjzWS4sd0vQUd72UgN5372vh2DiMcUq/dLFt3f
         qYBQ2O1eSjamy7j+BlAkPqgSdNdDgWiz8VZqk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741802567; x=1742407367;
        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=IzTx2mSmO8YsKn70D4G8Y9wwkpWK/ebpiMTO7vhhz8U=;
        b=FUcsu2SbT7HbJyOqlBLYR6boZlkmYthAFg1d3hIi7FHQU6+aFQubxY3atKsUBEEkN7
         MU0ny5dXaybV+cUsdD1Xbtg/4r7TJgiSDDPeZw4wz3YhhHJ5l7RLkKFHYIuygpkluWO8
         9+/YZX2xEiuir3OTVZJCByTiEBdOdQ4kbV36D0ZoKSf6/ve4MFLxg/f6feVXYlnzA8AV
         W4wWU/cXtG+l+UPIXlf/jbW0G74pSMaUXZyLDa+7tPWhmq7n5qJ5MOn0p4CfiAYBdWnU
         cYreNblUnVP4/QRwNhYFJpz0MMc9G5dtX7vyGctjipy8JquO/rbkRHSGvb3oTWP7KPj4
         u6qg==
X-Gm-Message-State: AOJu0YzrDe5D4Z800AfKL+w7qJmrK5HOqv5qJ9gNhAwdw6WVLRBBlkFQ
	EmZ0p23dpIqFHMDDTW5aBReKgA76Lvl8Yw7L9fxbBosQPYiMYihNP/i01iOU1O5mB3Wby6V2zR/
	N
X-Gm-Gg: ASbGnctp9TdxkCpw1fclCzXU0/6EF1O1vjCWgOUqHo5D+T4grP2JxXndZq3YJaBybAe
	xmSyprDVh0AVXRzhLkElGYQdje6m/RSwJUWZVn6dx4J17Ef6EhUjAOqyioQbOLOQPE72sOwtkjD
	rg69KBnaCOfeY5/uZRgC0vVI/5zTBMbVO3ZCY31tSbvK3RVb929n/LBY2Qu+d8vlTlgrFc8Xe9s
	IfzQ31SXffG2WydwOc6C/89/jJr8P2Nvz1lTr4xO/ZGSFN/gw1WFKY/CfNJup8HyrmphuanBSUn
	bSiJ7R8gDkBg+JtpqTtiynMTXnVln/in1D4d35hp5HOX7NWtZRfMj2x7f/OEo0JewVrRtaucGQS
	HK2QWzN97
X-Google-Smtp-Source: AGHT+IHmV1q7qNd534TQ2uErurY4RA2eX2kRyPCQWXKIi0zcU42d09ptq1+Tj38NjQIg1ukLZEakGA==
X-Received: by 2002:a5d:588f:0:b0:38f:3b9b:6f91 with SMTP id ffacd0b85a97d-39132d31b0emr14979435f8f.12.1741802567028;
        Wed, 12 Mar 2025 11:02:47 -0700 (PDT)
Message-ID: <a6713dd8-a594-40ae-8d9f-9bf30f2c21d0@citrix.com>
Date: Wed, 12 Mar 2025 18:02:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/8] xen: Untangle mm.h
To: 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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <20250312174513.4075066-1-andrew.cooper3@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: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/03/2025 5:45 pm, Andrew Cooper wrote:
> This started out trying to fix one little TODO in x86's microcode loader, and
> escalated somewhat...
>
> tlb-clock.h is definitely not as clean as it could be, but it's an improvment
> over today, and given how long it's taken to get this to compile, I'm not
> looking to rewrite everything.

The other thing to say, I expect randconfig to shake out some things,
and FreeBSD Randconfig already has.

I'll let the piplines run for a bit before accumulating.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 19:50:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 19:50:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910778.1317404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsS66-0005x9-FO; Wed, 12 Mar 2025 19:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910778.1317404; Wed, 12 Mar 2025 19:50: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 1tsS66-0005x2-Cf; Wed, 12 Mar 2025 19:50:34 +0000
Received: by outflank-mailman (input) for mailman id 910778;
 Wed, 12 Mar 2025 19:50: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=tHyV=V7=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tsS64-0005wg-I4
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 19:50:32 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20604.outbound.protection.outlook.com
 [2a01:111:f403:240a::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40125a16-ff7b-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 20:50:30 +0100 (CET)
Received: from BN9PR03CA0191.namprd03.prod.outlook.com (2603:10b6:408:f9::16)
 by DM6PR12MB4282.namprd12.prod.outlook.com (2603:10b6:5:223::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Wed, 12 Mar
 2025 19:50:23 +0000
Received: from BL02EPF0001A106.namprd05.prod.outlook.com
 (2603:10b6:408:f9:cafe::59) by BN9PR03CA0191.outlook.office365.com
 (2603:10b6:408:f9::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Wed,
 12 Mar 2025 19:50:23 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0001A106.mail.protection.outlook.com (10.167.241.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 12 Mar 2025 19:50:22 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 12 Mar
 2025 14:50:21 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 12 Mar
 2025 14:50:20 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 12 Mar 2025 14:50:20 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40125a16-ff7b-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cbVZvsQFwnDLfYVWUeiWvjdX2S/mMmpZRDKV4XR8oTiyAg3ChqWcHKCDfgoq8ovVDjKQnsKyoQYEp8LgwM8nXePixUnOu+MnVtnjjPOSqRP8PBM+Q5QwqcqIQ0ON8EEnjwI4DqncXEQ2XDaHGQTkqaoxWmHwCJd1Gfm4PzPQVPOMod0G12wpNe/9jLjDuL8RMxAYiAas5AbPj6nrdkgN3hdgMMlCDn+Y8+02Xu/es5A/gSqD2piRzLRoE3ydV6Tk01hW/AAAeywRX04XZH9HE0Y0fjFDTAH07xtHveZ27nMv/CO11DxaTZru2HKQUPEjjkcYIQrHY6K/djygZe9fUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C9CuwYoZPsmM0ysqioe6mQ4s5vfv2OuUyv0T6a636ig=;
 b=GDMS6AqwW4gHLt8THCb9OVAWUui0k26kN6j1a9guLrWplqPbqFsFz2GJzH2ZoozkPEZZnIGhIgfwutlnnAB2GsOF6IdMMJs8wkfvBlUxsWQt4GXpnF2iEG72V1kpDHfTr2lixi3RfwY4PFfgZrlp5U8QaBrUFNR+N1GuQ5+EJR7G6E7Bn9AUe/FIpHCGw9UbDVaN+L6bAlqdYnIxKvv4hEmWFxXuupeijKXfa4igp/QcZEfPAaCWcwpX7+H0LJ6p14f0KKazgvI4XUKgPuvDDypHmZHJqCjDWc0zuFqowwBXKPRRoLu+QOwos01MelronxTMkQmtLRmOAG8oremK9Q==
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=C9CuwYoZPsmM0ysqioe6mQ4s5vfv2OuUyv0T6a636ig=;
 b=csa/EMH8ccc8e3JUpmeCkDiWCqWGACXOGGHW4sNa2ULTeMI9UI9VGwSzWApLydmGOtYbEdJnk2fkN4bzllo3bSQhJ4ZJOybKQNGIktALoOXiYArI1iruFCdqTMlbRCK6VQMCL1oMjbCxLWKBt1caW8X0dlpcLlX0V62B46ctGHI=
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=SATLEXMB03.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] [RFC] vpci: allow BAR write while mapped
Date: Wed, 12 Mar 2025 15:50:17 -0400
Message-ID: <20250312195019.382926-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A106:EE_|DM6PR12MB4282:EE_
X-MS-Office365-Filtering-Correlation-Id: bff3445c-abb6-451c-fd18-08dd619f2063
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?TedRd438rmk5sSQ1UUizeDn+k2jxyP182hzgU1COMKoOPTB7mwf56TDpzfXm?=
 =?us-ascii?Q?ZRsIuMOB30KG3qX1t8BJS9JdqHbcGTnKHBGQyG5mYEUI5UvvGPkDffOcppTN?=
 =?us-ascii?Q?gwc286mkVm8p+i5adaDQiDlenOgwbO3uWJZYtl8At+XMsHVEx5t0YfeXM7/E?=
 =?us-ascii?Q?weumuekEhOkwA2kdT3g6N86HEtOa7AIJUQK7huEtggEfiLfEa1LsCmiSEk+C?=
 =?us-ascii?Q?6MBLS2a2E6pZwEd79AngvwnHO5ywps/hgEtnKbXHoOoinz8LbWAvu9ANpith?=
 =?us-ascii?Q?n63D2kOiZN6IOw8aakxRPXS1Xh4Pz9yw31PRbBbp6EHCCSPalvD3y9IXv4Wv?=
 =?us-ascii?Q?ENhPWPnXBi99KmxV6CINL3L+23WqyhypFTxG+ImzUw4Gv6W6mbJScoSIfI8Y?=
 =?us-ascii?Q?dEMyM7W2khSk/0Dq05I9N6WqAjl9rb6fwQqFNFO005M3eE1zoDScs4J4Ohib?=
 =?us-ascii?Q?Ann5ho0yGh7mLG/JCPAAotIXnABOkbnQTF0UG9NCLwbr31HmJa82MEU71Se+?=
 =?us-ascii?Q?yakX4bE55SFfDwlfd8Hbe2l0fKBhJt9nmDlCgG2yvu4zlPzXAjSdDqJXQSa0?=
 =?us-ascii?Q?mWOAX7OLQs69TOYcnamaTPbzRhQQjcK6MHdVObCHBNhvwFI6fuWvAg9FGwbR?=
 =?us-ascii?Q?EG1hY5Xg1L7Lbl+ulkTRbRzn7/EFpGmA+44+yJlRV3nh7mliLsXbaH3NDtUX?=
 =?us-ascii?Q?NAImR6nlmV7JfjxmuudSUL+qU8yMEtKn85S53e+rFTlOCzHnTBaUv6PUPMKt?=
 =?us-ascii?Q?2SyHsislmVdkfa0tH+q/LUcu6NxyBno4y5yJIWQv0KA9AKvtsZz4W23bKz4a?=
 =?us-ascii?Q?NoKvBKOi06PA9J1SWzFe0/9kZq1CVe8iGbGfqOYzIwXjQLMNvPGoOW//HPAY?=
 =?us-ascii?Q?eNLK9Jkt2EYgHR0s61/vLI8Zdm+BldFPPUDEM+PtxdR14sTgSF+KYi1uWnGF?=
 =?us-ascii?Q?5J87rYYawi2NYkSM5MYCmOuVJt3oH00iWO01X/XAdN3/AkP1fCnuMI4vHiUC?=
 =?us-ascii?Q?IQlCaxhlnqdOZr19dSmTVwWlA3GEVqB4LvuGs2w3mAPoa6iq3j/5B1PyEQ85?=
 =?us-ascii?Q?OM6rzIHpDNkjkb8dcG9dUXCYE9esbuv86lK5LcIPy/Pf7WgStmb31U9qDa93?=
 =?us-ascii?Q?zkj9mZqKUlLQCjp3iWaCthBGx+hKVF8hSidSnm1yyBD+c5gpsZ8aYsmb/v/n?=
 =?us-ascii?Q?q2vyBFagGDvGzN+L+c7pc0Wl8PT6oA2VnqUdyg+ply+CZdQUQhsX7uN3LEtO?=
 =?us-ascii?Q?8vsbNHBt8t0trr/jYd+D3HTrZsktnDHHOE+feaKnKg5Cad1+NPiX3RyKwm5n?=
 =?us-ascii?Q?/nQ6Ocym0MqmaqPu3Lfw4EiNsROe+1Tgxqv+vaBZEseg3P9xg8mRm6mVfVJk?=
 =?us-ascii?Q?qXgczsIKS2cHjCsHyhXm121N/echITf7oCVdF1RlJTLUS/Cz3NLs43MyHKeY?=
 =?us-ascii?Q?s/9ci7obRnQWaFU0Q25nkg5EyDBCPpPsQPVV2AoCJzL/3o9QHsKemf7u3J5Z?=
 =?us-ascii?Q?O9M2+uRxo/FLzHg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 12 Mar 2025 19:50:22.7127
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bff3445c-abb6-451c-fd18-08dd619f2063
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A106.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4282

Xen vPCI refuses BAR writes if the BAR is mapped in p2m. If firmware
initialized the BAR to a bad address, Linux will try to write a new
address to the BAR without disabling memory decoding. Allow the write
by updating p2m right away in the vPCI BAR write handler.

Resolves: https://gitlab.com/xen-project/xen/-/issues/197
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
RFC: Currently the deferred mapping machinery supports only map or
     unmap, not both. It might be better to rework the mapping machinery
     to support unmap-then-map operations, but please let me know your
     thoughts.
RFC: This patch has not yet made an attempt to distinguish between
     32-bit and 64-bit writes. It probably should.
---
 xen/drivers/vpci/header.c | 65 +++++++++++++++++++++++++++++++--------
 1 file changed, 53 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index ef6c965c081c..66adb2183cfe 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -173,7 +173,7 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
         ASSERT_UNREACHABLE();
 }
 
-bool vpci_process_pending(struct vcpu *v)
+static bool process_pending(struct vcpu *v, bool need_lock)
 {
     struct pci_dev *pdev = v->vpci.pdev;
     struct vpci_header *header = NULL;
@@ -182,12 +182,14 @@ bool vpci_process_pending(struct vcpu *v)
     if ( !pdev )
         return false;
 
-    read_lock(&v->domain->pci_lock);
+    if ( need_lock )
+        read_lock(&v->domain->pci_lock);
 
     if ( !pdev->vpci || (v->domain != pdev->domain) )
     {
         v->vpci.pdev = NULL;
-        read_unlock(&v->domain->pci_lock);
+        if ( need_lock )
+            read_unlock(&v->domain->pci_lock);
         return false;
     }
 
@@ -209,17 +211,20 @@ bool vpci_process_pending(struct vcpu *v)
 
         if ( rc == -ERESTART )
         {
-            read_unlock(&v->domain->pci_lock);
+            if ( need_lock )
+                read_unlock(&v->domain->pci_lock);
             return true;
         }
 
         if ( rc )
         {
-            spin_lock(&pdev->vpci->lock);
+            if ( need_lock )
+                spin_lock(&pdev->vpci->lock);
             /* Disable memory decoding unconditionally on failure. */
             modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
                             false);
-            spin_unlock(&pdev->vpci->lock);
+            if ( need_lock )
+                spin_unlock(&pdev->vpci->lock);
 
             /* Clean all the rangesets */
             for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
@@ -228,7 +233,8 @@ bool vpci_process_pending(struct vcpu *v)
 
             v->vpci.pdev = NULL;
 
-            read_unlock(&v->domain->pci_lock);
+            if ( need_lock )
+                read_unlock(&v->domain->pci_lock);
 
             if ( !is_hardware_domain(v->domain) )
                 domain_crash(v->domain);
@@ -238,15 +244,23 @@ bool vpci_process_pending(struct vcpu *v)
     }
     v->vpci.pdev = NULL;
 
-    spin_lock(&pdev->vpci->lock);
+    if ( need_lock )
+        spin_lock(&pdev->vpci->lock);
     modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
-    spin_unlock(&pdev->vpci->lock);
+    if ( need_lock )
+        spin_unlock(&pdev->vpci->lock);
 
-    read_unlock(&v->domain->pci_lock);
+    if ( need_lock )
+        read_unlock(&v->domain->pci_lock);
 
     return false;
 }
 
+bool vpci_process_pending(struct vcpu *v)
+{
+    return process_pending(v, true);
+}
+
 static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
                             uint16_t cmd)
 {
@@ -565,6 +579,8 @@ static void cf_check bar_write(
 {
     struct vpci_bar *bar = data;
     bool hi = false;
+    bool reenable = false;
+    uint32_t cmd = 0;
 
     ASSERT(is_hardware_domain(pdev->domain));
 
@@ -585,10 +601,31 @@ static void cf_check bar_write(
     {
         /* If the value written is the current one avoid printing a warning. */
         if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
+        {
             gprintk(XENLOG_WARNING,
-                    "%pp: ignored BAR %zu write while mapped\n",
+                    "%pp: allowing BAR %zu write while mapped\n",
                     &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
-        return;
+            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
+            ASSERT(spin_is_locked(&pdev->vpci->lock));
+            reenable = true;
+            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
+            /*
+             * Write-while-mapped: unmap the old BAR in p2m. We want this to
+             * finish right away since the deferral machinery only supports
+             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
+             * be better to defer the write-while-mapped case just like regular
+             * BAR writes (but still only allow it for 32-bit BAR writes).
+             */
+            /* Disable memory decoding */
+            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
+            /* Call process pending here to ensure P2M operations are done */
+            while ( process_pending(current, false) )
+            {
+                /* Pre-empted, try again */
+            }
+        }
+        else
+            return;
     }
 
 
@@ -610,6 +647,10 @@ static void cf_check bar_write(
     }
 
     pci_conf_write32(pdev->sbdf, reg, val);
+
+    if ( reenable )
+        /* Write-while-mapped: map the new BAR in p2m. OK to defer. */
+        modify_bars(pdev, cmd, false);
 }
 
 static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,

base-commit: 8e60d47cf0112c145b6b0e454d102b04c857db8c
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 20:11:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 20:11:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910796.1317425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsSQZ-0000OW-Aq; Wed, 12 Mar 2025 20:11:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910796.1317425; Wed, 12 Mar 2025 20:11: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 1tsSQZ-0000OP-8H; Wed, 12 Mar 2025 20:11:43 +0000
Received: by outflank-mailman (input) for mailman id 910796;
 Wed, 12 Mar 2025 20:11: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1tsSQY-0000OJ-2F
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 20:11:42 +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 34ac63a5-ff7e-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 21:11:39 +0100 (CET)
Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com
 [209.85.128.197]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-19-Ecrj_fLAO8eCZJuZyk7t1g-1; Wed, 12 Mar 2025 16:11:37 -0400
Received: by mail-yw1-f197.google.com with SMTP id
 00721157ae682-6fd541f4b43so2845937b3.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 13:11: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: 34ac63a5-ff7e-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741810298;
	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=CUM3a6gnZC/3zAtpJFYD7FtGrYIIZpsLuUMo7CMvX0I=;
	b=RlpGPeubXh2/Btu0Ntl/+N0pDf75cmtkmxzBO+JfX7L6tqqwVC1CE7FsgRIf4631OMwLQI
	tTPYuYk+sa8NVB9D3UXS58RJD/ZzrR15lR9yaCNSvW1PvVALBuwDLwihAFP3BJTMD+A5fA
	fVDVEG8wzfSgB7GBclHDtvj+rMqDPWI=
X-MC-Unique: Ecrj_fLAO8eCZJuZyk7t1g-1
X-Mimecast-MFC-AGG-ID: Ecrj_fLAO8eCZJuZyk7t1g_1741810296
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741810296; x=1742415096;
        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=CUM3a6gnZC/3zAtpJFYD7FtGrYIIZpsLuUMo7CMvX0I=;
        b=l00gAhnxNJd/CCUJRBM5eNxdZn4A+yLUZyRmYkC8HGQdzZUmsxYqFvkqt7YQWquB/F
         QM/kbUGUSeKmqf7uSxb77i7nSVno4r/L5dsdPMALrnceJX+84yJULnE0L6mBb2LHv4mi
         a1LtdiuzkMNRDfRzPXr/6OaBFfTEoTaH3q3gI/biNp04LR8ov37aoNLoU0B5tqE+YfY2
         i0cx/Jb4l4kuLAQaeAk716JvRL1TmNVqnWnWX9KXQWILPB5Gz8aIT7HdiD9ymXXLbz1Z
         ZI28EWCHv83/uIqEpDRuKpdbHuHD5tnOgyvYcP4ah5jl6gqQUMwATppQNzl0xRPwpOH4
         DRTw==
X-Forwarded-Encrypted: i=1; AJvYcCWy97WD+3GHQbY2b+7CyFH0ycyJk9qOfJZwyy6W5rMaZHQmRYxwZ2IZeBLaqw/yRKaegW3cSp5CZrA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwMYsMS85YCgaFsm6QvcvXYBBM/I/Y7bgqBB3PAt75tPg2aby9f
	4f2CcmYvJrOoS8OZLdbZeki4/aiMSnx4MAcn7DnB4cZUXyaEgqnJrdi9ppUdlQ3855F0n0HIbXZ
	LkAKbrXOl1lgvEQSh+CI3esWR7z9w9l84vDKM14bWisRBRLAr8O+/52H3N1HM/VtGfy9NbNL9rE
	+LGRWZxRTNpOlNpn64jWWiLNENfD3dzuIA/YqMCmI=
X-Gm-Gg: ASbGnct86EpiVzvHgPz/1lSFuxfkXpo4VnRNGkaEI7P/2XTeHjr6m21ujDY4aUAYKUh
	ocjRv4cBB0x8n3BtKXltvlLmuLkfA2ZW5SqzEA0NMBb2I/W7xPZ2KxZ2sM0WO20Z7NsLJiyRR/P
	Uk8lS/OO5HbKo=
X-Received: by 2002:a05:6902:4908:b0:e63:71cf:7a25 with SMTP id 3f1490d57ef6-e6371cf7f99mr23022172276.19.1741810296408;
        Wed, 12 Mar 2025 13:11:36 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFILEwS4y4Eu7CtZytQ1AMLlSYSOVDPPOZAL/URaaVOd4HXzYxT1BzN9xV4mLg1LOlVPDho5H2JPLVwRxAT/sw=
X-Received: by 2002:a05:6902:4908:b0:e63:71cf:7a25 with SMTP id
 3f1490d57ef6-e6371cf7f99mr23022141276.19.1741810296082; Wed, 12 Mar 2025
 13:11:36 -0700 (PDT)
MIME-Version: 1.0
References: <20250312000700.184573-1-npache@redhat.com> <20250312000700.184573-5-npache@redhat.com>
 <20250312025607-mutt-send-email-mst@kernel.org>
In-Reply-To: <20250312025607-mutt-send-email-mst@kernel.org>
From: Nico Pache <npache@redhat.com>
Date: Wed, 12 Mar 2025 14:11:09 -0600
X-Gm-Features: AQ5f1JpCzw-OMEiWJ5oWmnRpNTzG9s0Jia2dTAgWmtQzoaspW3JJPq9uXITvZCU
Message-ID: <CAA1CXcDjEErb2L85gi+W=1sFn73VHLto09nG6f1vS+10o4PctA@mail.gmail.com>
Subject: Re: [RFC 4/5] vmx_balloon: update the NR_BALLOON_PAGES state
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, 
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, 
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, 
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, 
	decui@microsoft.com, jerrin.shaji-george@broadcom.com, 
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de, 
	gregkh@linuxfoundation.org, david@redhat.com, jasowang@redhat.com, 
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com, 
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com, 
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, 
	roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, 
	nphamcs@gmail.com, yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com, 
	alexander.atanasov@virtuozzo.com
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: Iybes_z1gV4rEzKeKx1C4bN_yOplOZfd4zc5NAYzzUk_1741810296
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 12, 2025 at 12:57=E2=80=AFAM Michael S. Tsirkin <mst@redhat.com=
> wrote:
>
> On Tue, Mar 11, 2025 at 06:06:59PM -0600, Nico Pache wrote:
> > Update the NR_BALLOON_PAGES counter when pages are added to or
> > removed from the VMware balloon.
> >
> > Signed-off-by: Nico Pache <npache@redhat.com>
> > ---
> >  drivers/misc/vmw_balloon.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
> > index c817d8c21641..2c70b08c6fb3 100644
> > --- a/drivers/misc/vmw_balloon.c
> > +++ b/drivers/misc/vmw_balloon.c
> > @@ -673,6 +673,8 @@ static int vmballoon_alloc_page_list(struct vmballo=
on *b,
> >
> >                       vmballoon_stats_page_inc(b, VMW_BALLOON_PAGE_STAT=
_ALLOC,
> >                                                ctl->page_size);
> > +                     mod_node_page_state(page_pgdat(page), NR_BALLOON_=
PAGES,
> > +                             vmballoon_page_in_frames(ctl->page_size))=
;
>
>
> same issue as virtio I think - this counts frames not pages.
I agree with the viritio issue since PAGE_SIZE can be larger than
VIRTIO_BALLOON_PFN_SHIFT, resulting in multiple virtio_balloon pages
for each page. I fixed that one, thanks!

For the Vmware one, the code is littered with mentions of counting in
4k or 2M but as far as I can tell from looking at the code it actually
operates in PAGE_SIZE or PMD size chunks and this count would be
correct.
Perhaps I am missing something though.

>
> >               }
> >
> >               if (page) {
> > @@ -915,6 +917,8 @@ static void vmballoon_release_page_list(struct list=
_head *page_list,
> >       list_for_each_entry_safe(page, tmp, page_list, lru) {
> >               list_del(&page->lru);
> >               __free_pages(page, vmballoon_page_order(page_size));
> > +             mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
> > +                     -vmballoon_page_in_frames(page_size));
> >       }
> >
> >       if (n_pages)
> > @@ -1129,7 +1133,6 @@ static void vmballoon_inflate(struct vmballoon *b=
)
> >
> >               /* Update the balloon size */
> >               atomic64_add(ctl.n_pages * page_in_frames, &b->size);
> > -
>
>
> unrelated change
Fixed, Thanks for reviewing!
>
> >               vmballoon_enqueue_page_list(b, &ctl.pages, &ctl.n_pages,
> >                                           ctl.page_size);
> >
> > --
> > 2.48.1
>



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 20:15:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 20:15:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910810.1317435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsSUH-00012B-To; Wed, 12 Mar 2025 20:15:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910810.1317435; Wed, 12 Mar 2025 20:15: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 1tsSUH-000124-QR; Wed, 12 Mar 2025 20:15:33 +0000
Received: by outflank-mailman (input) for mailman id 910810;
 Wed, 12 Mar 2025 20:15: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1tsSUH-00011y-5R
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 20:15:33 +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 bf42ad16-ff7e-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 21:15:32 +0100 (CET)
Received: from mail-yb1-f198.google.com (mail-yb1-f198.google.com
 [209.85.219.198]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-387-ek_KVuTEMbC5NcApgIxVhg-1; Wed, 12 Mar 2025 16:15:27 -0400
Received: by mail-yb1-f198.google.com with SMTP id
 3f1490d57ef6-e6345bc7bd7so1892428276.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 13:15: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: bf42ad16-ff7e-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741810531;
	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=qLkIeO0MCQT7MR4XxoTZC2Dt6fLNdFPHwBMGedp21e8=;
	b=MQ9T0lyh0MdnFVflYynmUG7b7t/aHUR7S/AmgTjw94xYR86AIVLuHWDWNzGRsOqi9aFOWi
	Sq6N9TqhVfR5nKvgHScMZ31fXgGnlRMtl3wUUFVK4RpxiFIMnteKpbv3fI+4oNr8NMlmDx
	Kc8T4w0OQK/qpiUyiQuEYOaDxxN5s/g=
X-MC-Unique: ek_KVuTEMbC5NcApgIxVhg-1
X-Mimecast-MFC-AGG-ID: ek_KVuTEMbC5NcApgIxVhg_1741810527
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741810527; x=1742415327;
        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=qLkIeO0MCQT7MR4XxoTZC2Dt6fLNdFPHwBMGedp21e8=;
        b=VRcRYizFJVEARzfb1/R+261/l/8bdLXUmF48qMcSqSkKD75MW2BE5zKJR5INHBKWNh
         OPew+EJRdPBQXpFM8QzM1yrVTDNotBHmnni4myGvsfUZ15pMvhXPlIt/TNQSKHRYyy71
         QzySk2v4lkmnv8vvbPOkuwHQ7uTB8E9FnufEt4S2kAVhFKrIrDa+6hwGSG+1IBNesc2l
         Q9+kh/HrTYP9RgpNktonf3MEWWRMZyco7jIX3DLKL8+ZIEPewkW7Hl1+85x1VPYK+rZj
         LuMvI90p2tCM4gIjssK7Ka52mOlkoB9f8MczDKW5winlaAvu6WPIePRhbBFCWN4s3IY0
         6z3g==
X-Forwarded-Encrypted: i=1; AJvYcCX41SqS+aIaHGWUxlwibqB4fcCvTcLhD9sWWuVVUwFjAYLukZ5cSXMZEZo2YVeI1b5mSGW8MryCeks=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYpD4sG4f/7doiA1Zu0CIr0ALl1UEvzJ6eRHXwwwRivA8TaJkm
	53r3g7KNOzRnAZc17zhgjS+WG812WTI2b2K0IQi3G2HymhhgKiOrYwceS2PnbsxIn/Ki1o4/Ry3
	gm2iUfOG5VO6ZyR9x+PE63C/lovZmJOF2/f4GVDmf6Kv40ZXBtbc9bpJNn8Z2Xef8ihzvq4hnFu
	OZ4RbIWH3y3tYzjvnIBGTvxbjIx1buV9U2LkmWHts=
X-Gm-Gg: ASbGnctN+tOX7F6zBqsFJVqYPlBp2u9vFpSL9Szl8/TNiJclYK3OU5vMYk4/IEsbNIU
	ASanMK1VDXbLGvg4GR+ruUFHG3/zPg9D1GVK8DyVrnu1OrnU0VD1j3MzqD9wg+NibEyANZ7xhEs
	UIGZIczIECV7g=
X-Received: by 2002:a05:6902:1b8a:b0:e58:cb:70f0 with SMTP id 3f1490d57ef6-e63dd280e5amr1426490276.6.1741810527115;
        Wed, 12 Mar 2025 13:15:27 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFRjCueQJTtD1Yip12lTSRS0J2WXsza8uUs7pkqkkc4WEhTu9c6Jn8ZqT/i5u+iVlL2g8+CwS2JOOpWtSQA1o0=
X-Received: by 2002:a05:6902:1b8a:b0:e58:cb:70f0 with SMTP id
 3f1490d57ef6-e63dd280e5amr1426459276.6.1741810526854; Wed, 12 Mar 2025
 13:15:26 -0700 (PDT)
MIME-Version: 1.0
References: <20250312000700.184573-1-npache@redhat.com> <20250312000700.184573-2-npache@redhat.com>
 <oiues63fvb5xx45pue676iso3d3mcqboxdtmcfldwj4xm7q4g7@rxrgpz5l23ok>
In-Reply-To: <oiues63fvb5xx45pue676iso3d3mcqboxdtmcfldwj4xm7q4g7@rxrgpz5l23ok>
From: Nico Pache <npache@redhat.com>
Date: Wed, 12 Mar 2025 14:14:59 -0600
X-Gm-Features: AQ5f1Joh0g4Z83aGfjvoE-bfcrPmBotalHWvxVjzooJnUWJwOvfHN9lhNGt-h0o
Message-ID: <CAA1CXcCG6pdVaU7PGks2n3SdRjT1xxpP=yfsF3Mt-J4eCcshiw@mail.gmail.com>
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
To: Shakeel Butt <shakeel.butt@linux.dev>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, 
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, 
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, 
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, 
	decui@microsoft.com, jerrin.shaji-george@broadcom.com, 
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de, 
	gregkh@linuxfoundation.org, mst@redhat.com, david@redhat.com, 
	jasowang@redhat.com, xuanzhuo@linux.alibaba.com, eperezma@redhat.com, 
	jgross@suse.com, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com, 
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, 
	roman.gushchin@linux.dev, muchun.song@linux.dev, nphamcs@gmail.com, 
	yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com, 
	alexander.atanasov@virtuozzo.com
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: cQRB5PzQCFSujVWc-jl6hjTZ1wCoVAzdsZahqRfN7zQ_1741810527
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 11, 2025 at 10:21=E2=80=AFPM Shakeel Butt <shakeel.butt@linux.d=
ev> wrote:
>
> On Tue, Mar 11, 2025 at 06:06:56PM -0600, Nico Pache wrote:
> > Add NR_BALLOON_PAGES counter to track memory used by balloon drivers an=
d
> > expose it through /proc/meminfo and other memory reporting interfaces.
> >
> > Signed-off-by: Nico Pache <npache@redhat.com>
> > ---
> >  fs/proc/meminfo.c      | 2 ++
> >  include/linux/mmzone.h | 1 +
> >  mm/memcontrol.c        | 1 +
> >  mm/show_mem.c          | 4 +++-
> >  mm/vmstat.c            | 1 +
> >  5 files changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
> > index 8ba9b1472390..83be312159c9 100644
> > --- a/fs/proc/meminfo.c
> > +++ b/fs/proc/meminfo.c
> > @@ -162,6 +162,8 @@ static int meminfo_proc_show(struct seq_file *m, vo=
id *v)
> >       show_val_kb(m, "Unaccepted:     ",
> >                   global_zone_page_state(NR_UNACCEPTED));
> >  #endif
> > +     show_val_kb(m, "Balloon:        ",
> > +                 global_node_page_state(NR_BALLOON_PAGES));
> >
> >       hugetlb_report_meminfo(m);
> >
> > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> > index 9540b41894da..71d3ff19267a 100644
> > --- a/include/linux/mmzone.h
> > +++ b/include/linux/mmzone.h
> > @@ -223,6 +223,7 @@ enum node_stat_item {
> >  #ifdef CONFIG_HUGETLB_PAGE
> >       NR_HUGETLB,
> >  #endif
> > +     NR_BALLOON_PAGES,
> >       NR_VM_NODE_STAT_ITEMS
> >  };
> >
> > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> > index 4de6acb9b8ec..182b44646bfa 100644
> > --- a/mm/memcontrol.c
> > +++ b/mm/memcontrol.c
> > @@ -1377,6 +1377,7 @@ static const struct memory_stat memory_stats[] =
=3D {
> >  #ifdef CONFIG_HUGETLB_PAGE
> >       { "hugetlb",                    NR_HUGETLB                      }=
,
> >  #endif
> > +     { "nr_balloon_pages",           NR_BALLOON_PAGES                }=
,
>
> Please remove the above counter from memcontrol.c as I don't think this
> memory is accounted towards memcg.

Fixed-- Thank you!
>



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 20:57:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 20:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910834.1317453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsT8q-0004NF-1n; Wed, 12 Mar 2025 20:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910834.1317453; Wed, 12 Mar 2025 20:57: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 1tsT8p-0004N8-UQ; Wed, 12 Mar 2025 20:57:27 +0000
Received: by outflank-mailman (input) for mailman id 910834;
 Wed, 12 Mar 2025 20:57: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=hgYX=V7=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tsT8o-0004N2-Ap
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 20:57: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 982a89f8-ff84-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 21:57:23 +0100 (CET)
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-688-ImZwo5cZMkiCrd0ZGThFtQ-1; Wed, 12 Mar 2025 16:57:20 -0400
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-39131851046so107162f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 13:57:20 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3912bfdfcb8sm22470458f8f.33.2025.03.12.13.57.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Mar 2025 13:57: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: 982a89f8-ff84-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741813042;
	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=slUJe+JHhJOnq30PEtJv6XBCtRVaMaEHLPY3w2dXjCU=;
	b=A0vdGSezksR6SG4T9D+Kr+UxQwtZlIKsr0kXpq774s2dvMrsRYNBUaTXVihaw1BTm2aLs3
	BQ5M2pWGGOs/2b13QUgCrO/uFsp8125SbnXkOcLvLjkGxlTkN79o5aCZvMEKRhNUB+vCJN
	Ld+DLQT0XyBBNe0JBJ9+ld4FDn8Un5c=
X-MC-Unique: ImZwo5cZMkiCrd0ZGThFtQ-1
X-Mimecast-MFC-AGG-ID: ImZwo5cZMkiCrd0ZGThFtQ_1741813040
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741813040; x=1742417840;
        h=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=slUJe+JHhJOnq30PEtJv6XBCtRVaMaEHLPY3w2dXjCU=;
        b=HkIbfnzewXVxUxvWC+vyyC3oT7QiSH9I7Ga7zkiJhMshXEcc4IO9iUZwqDva3bfze7
         UHjGEdy21pWzfIznE3ETsyl1/71qYoxCAKO6/3xmwZ9q/6l3bgVZ+ZuIoyY5l1aBscAO
         SEojA9nAKZGmv3dVPAaMIY21U0szkWCMWW52SsAOPdeBt4+6SAFgd1wXTQWBR0X4HVgE
         VUpulZGiodF0vg4pCO1EScJkfxhN8KIAo3zalyYkNuEHZAuUMvCG9hLQVghk7l7LEn0n
         4sgbLbHIXM6IUR9/qlfvx00LAgGZDUuHuw9besBUm3y1BPOvD25K/FAVItBABvyOKKRg
         8qCQ==
X-Forwarded-Encrypted: i=1; AJvYcCVO4v4K3bp1VJZ89wQkOFMAw9yv1+GkR42g/xxN5J46NZDUs5OL/IMSFv41fLnH2lbERcc6bN0wAOs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzkCNeF/4AXDXQs6AAXt1i30wbOyLi2yc1tBRuwRPlhLItTi4eI
	4E8bkNUWihnJ4R4p1wDdsTQS9mJrpqFpZo68hFdZ594plIRrPnWfdnNuWf6BVMscaFPW52KUBzL
	1mnBmp50zIFAuZd8jJYD9zMcQ/kjmT/w+pApS5rOZKembEeSeX2Z7BCW8dHWTwXT8
X-Gm-Gg: ASbGncs2w+pPwyV7ywMjhKastKln9byCUBSpSUUmZYgEtlg51M2vnyaXrxuVUWfLi2A
	bRTglMhqcDoOFvLyLzk0ivLHpLJvZCiZzC/ExrHo4i4tVHyWBuMktqOTxhJKI7TBy3gV012RKL8
	IN5CO/wDMPp68MXfN6O1XKq49Jp7R72Dbgozur1N1NC8lxU4yH/d6786K6UHAflcSio6HIpwmG+
	gq9Clnv2Ncje9F85/U2NowO3sO5qkF198gckiEzwE7rvc71w1fnYY0mu8bCkwjIMZePWZTvWizo
	sx5+Y80QMQ==
X-Received: by 2002:a05:6000:144d:b0:38f:503a:d93f with SMTP id ffacd0b85a97d-39132d9908fmr17334948f8f.40.1741813039710;
        Wed, 12 Mar 2025 13:57:19 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH3/+BK82Z+aTDjO7POooWoHYU637cwTUeXYPG2W8VKTA2QZ3BgBHzUd7t9xStiQ+fOSVcEVA==
X-Received: by 2002:a05:6000:144d:b0:38f:503a:d93f with SMTP id ffacd0b85a97d-39132d9908fmr17334939f8f.40.1741813039371;
        Wed, 12 Mar 2025 13:57:19 -0700 (PDT)
Date: Wed, 12 Mar 2025 16:57:13 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Nico Pache <npache@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
	cgroups@vger.kernel.org, kys@microsoft.com, haiyangz@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
	gregkh@linuxfoundation.org, david@redhat.com, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
	roman.gushchin@linux.dev, shakeel.butt@linux.dev,
	muchun.song@linux.dev, nphamcs@gmail.com, yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com, alexander.atanasov@virtuozzo.com
Subject: Re: [RFC 4/5] vmx_balloon: update the NR_BALLOON_PAGES state
Message-ID: <20250312165302-mutt-send-email-mst@kernel.org>
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-5-npache@redhat.com>
 <20250312025607-mutt-send-email-mst@kernel.org>
 <CAA1CXcDjEErb2L85gi+W=1sFn73VHLto09nG6f1vS+10o4PctA@mail.gmail.com>
MIME-Version: 1.0
In-Reply-To: <CAA1CXcDjEErb2L85gi+W=1sFn73VHLto09nG6f1vS+10o4PctA@mail.gmail.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: GgNhieBzmVc2Tbe9YVtEhq4Pbacamw_vzjuBpsA6ODI_1741813040
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Wed, Mar 12, 2025 at 02:11:09PM -0600, Nico Pache wrote:
> On Wed, Mar 12, 2025 at 12:57âŻAM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Mar 11, 2025 at 06:06:59PM -0600, Nico Pache wrote:
> > > Update the NR_BALLOON_PAGES counter when pages are added to or
> > > removed from the VMware balloon.
> > >
> > > Signed-off-by: Nico Pache <npache@redhat.com>
> > > ---
> > >  drivers/misc/vmw_balloon.c | 5 ++++-
> > >  1 file changed, 4 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
> > > index c817d8c21641..2c70b08c6fb3 100644
> > > --- a/drivers/misc/vmw_balloon.c
> > > +++ b/drivers/misc/vmw_balloon.c
> > > @@ -673,6 +673,8 @@ static int vmballoon_alloc_page_list(struct vmballoon *b,
> > >
> > >                       vmballoon_stats_page_inc(b, VMW_BALLOON_PAGE_STAT_ALLOC,
> > >                                                ctl->page_size);
> > > +                     mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
> > > +                             vmballoon_page_in_frames(ctl->page_size));
> >
> >
> > same issue as virtio I think - this counts frames not pages.
> I agree with the viritio issue since PAGE_SIZE can be larger than
> VIRTIO_BALLOON_PFN_SHIFT, resulting in multiple virtio_balloon pages
> for each page. I fixed that one, thanks!
> 
> For the Vmware one, the code is littered with mentions of counting in
> 4k or 2M but as far as I can tell from looking at the code it actually
> operates in PAGE_SIZE or PMD size chunks and this count would be
> correct.
> Perhaps I am missing something though.


Can't say for sure. This needs an ack from the maintainer.

> >
> > >               }
> > >
> > >               if (page) {
> > > @@ -915,6 +917,8 @@ static void vmballoon_release_page_list(struct list_head *page_list,
> > >       list_for_each_entry_safe(page, tmp, page_list, lru) {
> > >               list_del(&page->lru);
> > >               __free_pages(page, vmballoon_page_order(page_size));
> > > +             mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
> > > +                     -vmballoon_page_in_frames(page_size));
> > >       }
> > >
> > >       if (n_pages)
> > > @@ -1129,7 +1133,6 @@ static void vmballoon_inflate(struct vmballoon *b)
> > >
> > >               /* Update the balloon size */
> > >               atomic64_add(ctl.n_pages * page_in_frames, &b->size);
> > > -
> >
> >
> > unrelated change
> Fixed, Thanks for reviewing!
> >
> > >               vmballoon_enqueue_page_list(b, &ctl.pages, &ctl.n_pages,
> > >                                           ctl.page_size);
> > >
> > > --
> > > 2.48.1
> >



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 22:17:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 22:17:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910867.1317463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsUOR-0003wh-IM; Wed, 12 Mar 2025 22:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910867.1317463; Wed, 12 Mar 2025 22: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 1tsUOR-0003wa-FP; Wed, 12 Mar 2025 22:17:39 +0000
Received: by outflank-mailman (input) for mailman id 910867;
 Wed, 12 Mar 2025 22:17: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=XFa6=V7=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tsUOQ-0003wU-Hy
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 22:17:38 +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 c902e66f-ff8f-11ef-9898-31a8f345e629;
 Wed, 12 Mar 2025 23:17:29 +0100 (CET)
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-315-t8R2WAC7P6O7eHZ_2ULvZw-1; Wed, 12 Mar 2025 18:17:23 -0400
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-39130f02631so140815f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 15:17:22 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f?
 (p200300d82f1a7c004ac1c2c441678a0f.dip0.t-ipconnect.de.
 [2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c4f9d59dsm62270f8f.0.2025.03.12.15.17.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 15:17: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: c902e66f-ff8f-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741817848;
	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=GjIBl5yndOQdnleTRVmAst04zzkiJlZJAcEZZ6NnjC8=;
	b=aB+onykU416EHhh48QzWBn0Nm0H7C+cS5O4i2WyKNjlXarUNtDnEBrjG52XOAJRb8EQj4P
	nYornZtXI4WFvKRvHZWMfuXH7GujPfmRRc3nBEZ3eY+9SaA2EqEMB8+QVmaje+2wcplsnG
	/wNggY0jhTDtV18/fBg/VxBN2S56bAE=
X-MC-Unique: t8R2WAC7P6O7eHZ_2ULvZw-1
X-Mimecast-MFC-AGG-ID: t8R2WAC7P6O7eHZ_2ULvZw_1741817841
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741817841; x=1742422641;
        h=content-transfer-encoding:in-reply-to:organization: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=GjIBl5yndOQdnleTRVmAst04zzkiJlZJAcEZZ6NnjC8=;
        b=WGLpBmvxwRT5hPF2xA7uQ9tOXj4LeacgJBtwXfcxVMnk9kPyOpoAgUEtrMHjgtoYZZ
         CS0QmBRIxesFTaNGTwLqx73JAWeJv2iw5BwKTqq+lRUkH2vt3Dxds1d730ucnXiSZ/ZJ
         98oz7vKsWLLNMr8zpxQV4vSVeAqKmZJYJIU9Qoe0rOBBrW45+vw6K07lSI4jhYqKQfwD
         cvJbnyQZnpbbgIWnJVlopKa9qWJ3lm/x761/1I6r0UDFX0MH3lwPt8cUnirB3wX4Is8v
         211hqCrHsg2cJwzC1RiaAxrvFsDm809nbjK7ykaN2jGwwxgPXRfKk/KRe9YwsB+iIu9R
         XDOA==
X-Forwarded-Encrypted: i=1; AJvYcCWPqWz/aKCq1s7/yEWgk9qRmtkx3Df97T5jGsdEkeFHG/ADVL6sY8hmfiY8j4eS0R7Lu5pOxxIZ1l0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyl4IFXAtdBgstNIWX3jVBVqzDyA+hhmQdHRceRWp2kSGG9eA2J
	4YJ8OoDr2HuEmV2uCdO5MPSb3nSfFgoaDWP2Q6PoM+jYueYgpxFTBOLOGkJBFC1cGYfjfgVrCgJ
	OlPoUC3zhDKgiYeQTaQ/bYL3ygTUNz3OXwHCB7j7use2Kh7D2HIagGcoPfC9ljqSs
X-Gm-Gg: ASbGncvu+wrEXFNG5774fQAd/oD92s8ZM4GoZTptN8//9rvetoLagbE45KrujLvqUck
	bdIFzZ5IKGM8UTjQ3R1AhopgTfpkbgxyallwcqZYHB1L+Rd5WDrAERtu06lfsGu7qlStU/7aCBP
	Y+iwD8WfdPmRG/eLcorLDB5vvVxNR5YAuIU3Pqr2exUuu2EOIvKvnhUD3iM0zh79nb8Tgxovff0
	BGb1Tq1CSbDB3vwbySEcoctTs5OE8YTgwnnE1NqquVaE2gPTdi6MIHxaS0TrIExRnAMxFq030zB
	B35OAiB+P7pfpKYTBMDBsoOybekSVAuYOwBl2vGo5o/PmOqdMSKesqSUXlf7+y5dEuCqjua4ULF
	MFPHv1JV1enwsLMDQh8EhnpnjK1PIXN94ym4CZFrI2H0=
X-Received: by 2002:a05:6000:156d:b0:391:2192:ccd6 with SMTP id ffacd0b85a97d-3926c1cd9e5mr10444698f8f.39.1741817841286;
        Wed, 12 Mar 2025 15:17:21 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IE7ajs+DbkvWkZrtvS3kgtwWoElT+oDfxGjlF1xcQLWnYsT+dOgzewtbm0o82DOv1DRYwzp5A==
X-Received: by 2002:a05:6000:156d:b0:391:2192:ccd6 with SMTP id ffacd0b85a97d-3926c1cd9e5mr10444674f8f.39.1741817840917;
        Wed, 12 Mar 2025 15:17:20 -0700 (PDT)
Message-ID: <26e942e3-4e06-4644-b19b-ae0301bf9b2a@redhat.com>
Date: Wed, 12 Mar 2025 23:17:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 4/5] vmx_balloon: update the NR_BALLOON_PAGES state
To: Nico Pache <npache@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org,
 linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org,
 kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, jerrin.shaji-george@broadcom.com,
 bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
 gregkh@linuxfoundation.org, jasowang@redhat.com, xuanzhuo@linux.alibaba.com,
 eperezma@redhat.com, jgross@suse.com, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, akpm@linux-foundation.org,
 hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev,
 shakeel.butt@linux.dev, muchun.song@linux.dev, nphamcs@gmail.com,
 yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com,
 alexander.atanasov@virtuozzo.com
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-5-npache@redhat.com>
 <20250312025607-mutt-send-email-mst@kernel.org>
 <CAA1CXcDjEErb2L85gi+W=1sFn73VHLto09nG6f1vS+10o4PctA@mail.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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <CAA1CXcDjEErb2L85gi+W=1sFn73VHLto09nG6f1vS+10o4PctA@mail.gmail.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: miGkV1RFSXSFwCK_XJ2bOThIdZi3DvlvDexyKggCr_8_1741817841
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 12.03.25 21:11, Nico Pache wrote:
> On Wed, Mar 12, 2025 at 12:57âŻAM Michael S. Tsirkin <mst@redhat.com> wrote:
>>
>> On Tue, Mar 11, 2025 at 06:06:59PM -0600, Nico Pache wrote:
>>> Update the NR_BALLOON_PAGES counter when pages are added to or
>>> removed from the VMware balloon.
>>>
>>> Signed-off-by: Nico Pache <npache@redhat.com>
>>> ---
>>>   drivers/misc/vmw_balloon.c | 5 ++++-
>>>   1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
>>> index c817d8c21641..2c70b08c6fb3 100644
>>> --- a/drivers/misc/vmw_balloon.c
>>> +++ b/drivers/misc/vmw_balloon.c
>>> @@ -673,6 +673,8 @@ static int vmballoon_alloc_page_list(struct vmballoon *b,
>>>
>>>                        vmballoon_stats_page_inc(b, VMW_BALLOON_PAGE_STAT_ALLOC,
>>>                                                 ctl->page_size);
>>> +                     mod_node_page_state(page_pgdat(page), NR_BALLOON_PAGES,
>>> +                             vmballoon_page_in_frames(ctl->page_size));
>>
>>
>> same issue as virtio I think - this counts frames not pages.
> I agree with the viritio issue since PAGE_SIZE can be larger than
> VIRTIO_BALLOON_PFN_SHIFT, resulting in multiple virtio_balloon pages
> for each page. I fixed that one, thanks!
> 
> For the Vmware one, the code is littered with mentions of counting in
> 4k or 2M but as far as I can tell from looking at the code it actually
> operates in PAGE_SIZE or PMD size chunks and this count would be
> correct.
> Perhaps I am missing something though.

vmballoon_page_in_frames() documents to "Return: the number of 4k 
frames.", because it supports either 4k or 2M chunks IIRC.

I think the catch is that PAGE_SIZE will in these configs always be 4k. 
Otherwise things like vmballoon_mark_page_offline() wouldn't work as 
expected.

So I think this is correct.

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 22:19:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 22:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910877.1317474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsUQ4-0004TP-U2; Wed, 12 Mar 2025 22:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910877.1317474; Wed, 12 Mar 2025 22:19: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 1tsUQ4-0004TG-PX; Wed, 12 Mar 2025 22:19:20 +0000
Received: by outflank-mailman (input) for mailman id 910877;
 Wed, 12 Mar 2025 22:19: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=XFa6=V7=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tsUQ2-0004T8-Ut
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 22:19:18 +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 082d5f39-ff90-11ef-9ab9-95dc52dad729;
 Wed, 12 Mar 2025 23:19:16 +0100 (CET)
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-346-QCSDL9XNNkuIgRg0hngWAw-1; Wed, 12 Mar 2025 18:19:11 -0400
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-43ceeaf1524so1742765e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 15:19:11 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f?
 (p200300d82f1a7c004ac1c2c441678a0f.dip0.t-ipconnect.de.
 [2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a73127esm34510605e9.8.2025.03.12.15.19.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 15:19: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: 082d5f39-ff90-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741817954;
	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=YKs6c5vd6BryHi5UgmvOyl94KmjrndKcyGQFDHLGkR0=;
	b=V+jD3LlEc/40EUSHErUc93E1Lu/cuEvIzpJaDVp/aw2R6eOj76uvAwACrueGAc4LsYAGFv
	MhZMSEJIS/ySuvrZwIVRRhoff1YckyddDSAnudAfCePNI333/Zg1RmtmqQs3ZAJN1N18Xr
	AXQpjygs2121gbZ23pYFNUimR/rvb30=
X-MC-Unique: QCSDL9XNNkuIgRg0hngWAw-1
X-Mimecast-MFC-AGG-ID: QCSDL9XNNkuIgRg0hngWAw_1741817950
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741817950; x=1742422750;
        h=content-transfer-encoding:in-reply-to:organization: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=YKs6c5vd6BryHi5UgmvOyl94KmjrndKcyGQFDHLGkR0=;
        b=L3g4+m10iSslMNF7K4tYxwaZLc1tQ8hEeHAoy6ve1vyPQly3j5ErmoS1P6SDsIFDYc
         g0U1dRSUodkxp4sIDV4zjYOwwxHkM56HhdIhFVyO7j1obCghFX3H7yRsvwTJ1ZCHzgL+
         5afoESn8oVU/xWl5fKM+5/H524YcbUlQ7hswqpkQcm5qBpVaVLkSdCuDrrlFdvjKyIq5
         A6Vcb0dndVdebEP8+ImZWUd3M7LbENio4g/ZVzlfwidTZg0/GJWGkO65XfiPVApZVbN+
         0wr7cx92PdI3u8JAF0z/gBoXx/k1XH46CdtsRm2kvLG/QPnsGKlKe9C+i13KCvD9rqAt
         ppPQ==
X-Forwarded-Encrypted: i=1; AJvYcCV2UuYw9otaLVvn2qXRFHXdyd6YbTsBZeJuKg88dtYin+sPLAetRSneW158MdURKICZErVOtNh2MN4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXIICu+5ZFJGMc5zwjnnY05Ix5lCsNvPf8HFvzPCcyGPwWRo9Q
	COH9vll9Qr6jjh2486xnvdCueUavriE+9+VWCRzmJR/qvGXG48BjPzJ64DZO4TW1vVmhsHyhB14
	14hPBhBzHGDd0J+faJVKPrLXO/wCa2Wb6YYVW4Fc+RehyedlodKl7UM7+AV1cETJn
X-Gm-Gg: ASbGncteJV0/SRh6JNhz2b0o0pT2nDBwx6Ln2rzMMHmIpBjZc5Bv3T2XJmWUUfuuIlp
	V+sqmJ62aEbLdH0BcU3VS+rQGWZnThDqHzNdpdci7gHdLPvw1inrrqzPdLDQNpdM1QFCpkK9Ejc
	Y3bZ6V1lm/rGTojXnWt7QSdEe1ouFNSDVfJ+kyyYGAPTuqrOebSOJFEShGexeF4y2woN00Pnwy8
	Q1TzhySFubEyn2PgsA0z9E/Ex7WNoOs2T048vGTq7J+HSD9ThFpTQFWwHvoS84Yz5TuXgw/JSwf
	KL/9jH2pXAWMnOCMqhp3H72cBBqBY24xElfpMJ4kaQqjuMqEoZQDauaG7BVJpbLKbrNKH3zloNB
	w4i98gUOHgDBkvDvDcqECOZVhi4lY5WOeYGYBi2rHH3Y=
X-Received: by 2002:a05:600c:5687:b0:43d:186d:a4bf with SMTP id 5b1f17b1804b1-43d186da55cmr561155e9.0.1741817949890;
        Wed, 12 Mar 2025 15:19:09 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEFCZMzMhDcHcPaUJ7ZYKRB5yd0dTr+9E10/9yIGc6tvXc+O0vqyF/Y1Un5pGyf0sl4Nfe9rg==
X-Received: by 2002:a05:600c:5687:b0:43d:186d:a4bf with SMTP id 5b1f17b1804b1-43d186da55cmr561065e9.0.1741817949555;
        Wed, 12 Mar 2025 15:19:09 -0700 (PDT)
Message-ID: <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
Date: Wed, 12 Mar 2025 23:19:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
To: Nico Pache <npache@redhat.com>, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,
 linux-mm@kvack.org, cgroups@vger.kernel.org
Cc: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, jerrin.shaji-george@broadcom.com,
 bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
 gregkh@linuxfoundation.org, mst@redhat.com, jasowang@redhat.com,
 xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
 roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev,
 nphamcs@gmail.com, yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com,
 alexander.atanasov@virtuozzo.com
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-2-npache@redhat.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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250312000700.184573-2-npache@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: lxQ_xoTuC7Y_EbaivctFpvfugYdizo_ZeLKOEJ2iQy0_1741817950
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 12.03.25 01:06, Nico Pache wrote:
> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
> expose it through /proc/meminfo and other memory reporting interfaces.

In balloon_page_enqueue_one(), we perform a

__count_vm_event(BALLOON_INFLATE)

and in balloon_page_list_dequeue

__count_vm_event(BALLOON_DEFLATE);


Should we maybe simply do the per-node accounting similarly there?

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:04:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910899.1317483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsV84-0000DQ-9t; Wed, 12 Mar 2025 23:04:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910899.1317483; Wed, 12 Mar 2025 23: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 1tsV84-0000DJ-6H; Wed, 12 Mar 2025 23:04:48 +0000
Received: by outflank-mailman (input) for mailman id 910899;
 Wed, 12 Mar 2025 23: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=SEQM=V7=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1tsV82-0000DD-TU
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:04:46 +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 624f1cab-ff96-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 00:04:44 +0100 (CET)
Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com
 [209.85.128.199]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-137-PLFI9rpLNHeYc_ovx9-y7A-1; Wed, 12 Mar 2025 19:04:41 -0400
Received: by mail-yw1-f199.google.com with SMTP id
 00721157ae682-6f6d40a61e7so5355477b3.1
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 16:04: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: 624f1cab-ff96-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741820682;
	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=d5PEY+yC9Huewb0HnCtpeT52eaIOfYoMMqMSFveNI50=;
	b=MlU6q2A8a4uCwqBNOlxeDEILGorCOSeWUvxDY+SIWf5LWnKEi1j7LJyx151qsyGUl2RY6t
	NiR9c+TsFmuceIU6+dGFxR1J9sfo1xk8irhkoqPSbYwLVSnYz1FrJDYI8hqERbUhNU4yNv
	+8X9qeZ9LqKRd2CvH1K/NA4ervmG4fE=
X-MC-Unique: PLFI9rpLNHeYc_ovx9-y7A-1
X-Mimecast-MFC-AGG-ID: PLFI9rpLNHeYc_ovx9-y7A_1741820681
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741820681; x=1742425481;
        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=d5PEY+yC9Huewb0HnCtpeT52eaIOfYoMMqMSFveNI50=;
        b=l3BVajjHrinnuu+2utVLHqDnz/toe8TC74hAxI8DyUGp4NVa9uBjjSAoxw+QGboJGJ
         SfxEfx0pj2LR3DwrEhKY/f3TQKbPjnFkmoFsnrRf4mMXn+NIvPE2Yae33ISREDT8DfFX
         3I1barp+/KdKGvq6hrZLVdq7WnGC+ervUSJwAaIOGBWysYGoHpjHnma+ZJkirceQ2kcK
         F/Q6j2uyzpuDHCbU7vL8ILiXLAuUkmB4fIcR807zXVqgmd4Vfi2XnjLri/TnERYsy4/4
         T1K2777LzAaqGpcUlgw5udeB1mdY20uLSWJCOLEOxKmQ9D7HSMluuzJv1/ZXdc2DcsOu
         RVVQ==
X-Forwarded-Encrypted: i=1; AJvYcCXk6N+POZIE5Xu+kZiyRLvujmRVyWzDgGf9VyaDXjdz1vDIrZ/BFbchybYz2EIYm+W4K6l3w3DB1nc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy00oRe6zlHlgEWff/m421QDMUYM75sJnb/tjYMP1c8HpyM6/OD
	BTCVJpzmPmWhxn9QvgYi05PPjsc+cta9m3roSJs4oFR1RVHa6V001sD5fYriH1h3roP526zcCis
	Ln8/wynGqxjWbrB5JxyBBZ4CqO4y9TlaQyY7na/zs6DK8ZqRykVkbyo9BD1zryeeW5NN17W+qf5
	/MTZdEZjMlIT6k8lhQJIKFFvmGW+VThF7wMnVaH3k=
X-Gm-Gg: ASbGncvO/stjGaSSCY9ibBuifJNjSwRgwYF/CPtSvx+FAiSN4vwl7SNQm6ES22qvHVe
	/ZqMG63MOKyVkqkwVRsHw1W/dPDFQJMZ7JBGK0kX4qhUE7phymNntORSBhvfZV+ExXds0T5Ts9l
	FhA0vBe3OrLOg=
X-Received: by 2002:a05:6902:2ec3:b0:e63:65bc:a173 with SMTP id 3f1490d57ef6-e6365bca293mr20489050276.41.1741820680985;
        Wed, 12 Mar 2025 16:04:40 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFE29IOsL3if064ONRlZf/bCswPuk7JbIN/+ScTtHA6PhUNFhrt31PPwWl6SfPGyM46nmrjRUH8DQbWz44H/+M=
X-Received: by 2002:a05:6902:2ec3:b0:e63:65bc:a173 with SMTP id
 3f1490d57ef6-e6365bca293mr20489001276.41.1741820680678; Wed, 12 Mar 2025
 16:04:40 -0700 (PDT)
MIME-Version: 1.0
References: <20250312000700.184573-1-npache@redhat.com> <20250312000700.184573-2-npache@redhat.com>
 <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
In-Reply-To: <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
From: Nico Pache <npache@redhat.com>
Date: Wed, 12 Mar 2025 17:04:14 -0600
X-Gm-Features: AQ5f1JrCck7ZrLXTjsNL6uP-21nbhhEyl_MT0WXZGBOwpNadq0-oKKZGcnVqKd4
Message-ID: <CAA1CXcCv20TW+Xgn18E0Jn1rbT003+3gR-KAxxE9GLzh=EHNmQ@mail.gmail.com>
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
To: David Hildenbrand <david@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, 
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, 
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, 
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, 
	decui@microsoft.com, jerrin.shaji-george@broadcom.com, 
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de, 
	gregkh@linuxfoundation.org, mst@redhat.com, jasowang@redhat.com, 
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com, 
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com, 
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, 
	roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, 
	nphamcs@gmail.com, yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com, 
	alexander.atanasov@virtuozzo.com
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: D_RAca3pKHP7VPx27CbZwxO6rs34wCmYnlX7G5XzdwA_1741820681
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 12, 2025 at 4:19=E2=80=AFPM David Hildenbrand <david@redhat.com=
> wrote:
>
> On 12.03.25 01:06, Nico Pache wrote:
> > Add NR_BALLOON_PAGES counter to track memory used by balloon drivers an=
d
> > expose it through /proc/meminfo and other memory reporting interfaces.
>
> In balloon_page_enqueue_one(), we perform a
>
> __count_vm_event(BALLOON_INFLATE)
>
> and in balloon_page_list_dequeue
>
> __count_vm_event(BALLOON_DEFLATE);
>
>
> Should we maybe simply do the per-node accounting similarly there?

I think the issue is that some balloon drivers use the
balloon_compaction interface while others use their own.

This would require unifying all the drivers under a single api which
may be tricky if they all have different behavior
>
> --
> Cheers,
>
> David / dhildenb
>



From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:08:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:08:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910909.1317492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVBE-0000lt-MI; Wed, 12 Mar 2025 23:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910909.1317492; Wed, 12 Mar 2025 23:08: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 1tsVBE-0000lm-Jl; Wed, 12 Mar 2025 23:08:04 +0000
Received: by outflank-mailman (input) for mailman id 910909;
 Wed, 12 Mar 2025 23:08: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVBD-0000lg-4P
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:08:03 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8587ddb-ff96-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:08:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id AF8F2A444BA;
 Wed, 12 Mar 2025 23:02:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EB808C4CEDD;
 Wed, 12 Mar 2025 23:07:58 +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: d8587ddb-ff96-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741820880;
	bh=C9xFQnThTri1CCCoHT8jtv7NIWyf7pS+k1Bbw39vy7A=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Ohsm9LJ18dU2BfBP3qNVqa9k+0/hiihG/aQxfhr4tN/iReTc7V63tDTYVCVL99ImE
	 iMThezanbHARPWTgE6Mvf8hj4IRlAoDdWyCYnh1stem52ONQGw8C0bC6u1kurXmTfG
	 +pq3jkLO0E2aog/QylzDPNnKbguFT1X4P1TN0r3tNyCvr7qAb0iGAuCGQpf325I5FH
	 7262bYVKGJuC+a9k1O14sqMfS24rxiD0l06hoMxQPMMM2fuJz3Izjlcp88vbI8wv6i
	 bakWxPRQvWtixwhpr7qNQLiaACK5yeGV3f4UZNkwMUlrFhFHHbFkxm3lRFgSiqlG3f
	 h2DwsUW4pw3dQ==
Date: Wed, 12 Mar 2025 16:07:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 04/19] xen/sysctl: make CONFIG_TRACEBUFFER depend on
 CONFIG_SYSCTL
In-Reply-To: <20250312040632.2853485-5-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121607520.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-5-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> Users could only access trace buffers via hypercal XEN_SYSCTL_tbuf_op,
> so this commit makes CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/common/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 72e1d7ea97..c5f4192b60 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -513,6 +513,7 @@ config DTB_FILE
>  config TRACEBUFFER
>  	bool "Enable tracing infrastructure" if EXPERT
>  	default y
> +	depends on SYSCTL
>  	help
>  	  Enable tracing infrastructure and pre-defined tracepoints within Xen.
>  	  This will allow live information about Xen's execution and performance
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:09:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910918.1317503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVCy-0001Jx-0U; Wed, 12 Mar 2025 23:09:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910918.1317503; Wed, 12 Mar 2025 23:09: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 1tsVCx-0001Jp-Tj; Wed, 12 Mar 2025 23:09:51 +0000
Received: by outflank-mailman (input) for mailman id 910918;
 Wed, 12 Mar 2025 23:09: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVCw-0001Jb-TG
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:09:50 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18279701-ff97-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 00:09:48 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 04D39A42660;
 Wed, 12 Mar 2025 23:04:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DD49DC4CEDD;
 Wed, 12 Mar 2025 23:09:45 +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: 18279701-ff97-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741820987;
	bh=XxvHmP3PKnMjISWZrgSBT28edtn3wk/uXTxXBDS/nT8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HebTx8StVY4z1LRuWtzchEo9GK3TSZC4k1xFyyP3rGjRiOUcAZmFCRqU6RPekNo0w
	 lltjK/vx+bmKGtiCAjK7LoaMd6n1QlAE5vkqq+op7KPbJsNETRYLDdr9izuujvpm0y
	 qnX62E5bVsvKmodGEX0tpBJSoabnVA2kCe/BdVRII8wNdUihMNk8hmH0NRnC1k5/L4
	 eTdkgxrunKnZA0HO0MoLNh3yqQdBxCKi5sI7X/Bnfz9vgOTTHRGr53y2lEcxph2quu
	 tByw+oMDSaN9qMMBAPgaRuZfXpf93hz0P5xSwAKd9r4MKcGs3hSamzDu/Bn6EkK4Uh
	 ZxM8tVq4xhitQ==
Date: Wed, 12 Mar 2025 16:09:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@amd.com, 
    Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, 
    George Dunlap <gwd@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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 05/19] xen/sysctl: wrap around XEN_SYSCTL_sched_id
In-Reply-To: <20250312040632.2853485-6-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121609270.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-6-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> The following function shall be wrapped:
> - scheduler_id
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/common/sched/core.c | 2 ++
>  xen/include/xen/sched.h | 7 +++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index d6296d99fd..ea452d8b3e 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -2052,11 +2052,13 @@ long do_set_timer_op(s_time_t timeout)
>      return 0;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  /* scheduler_id - fetch ID of current scheduler */
>  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)
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 559d201e0c..9bdeb85aa4 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -849,7 +849,14 @@ int  sched_init_domain(struct domain *d, unsigned int poolid);
>  void sched_destroy_domain(struct domain *d);
>  long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op);
>  long sched_adjust_global(struct xen_sysctl_scheduler_op *op);
> +#ifdef CONFIG_SYSCTL
>  int  scheduler_id(void);
> +#else
> +static inline int scheduler_id(void)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
>  
>  /*
>   * sched_get_id_by_name - retrieves a scheduler id given a scheduler name
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:12:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:12:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910934.1317513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVFF-0002n4-Cj; Wed, 12 Mar 2025 23:12:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910934.1317513; Wed, 12 Mar 2025 23: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 1tsVFF-0002mx-8w; Wed, 12 Mar 2025 23:12:13 +0000
Received: by outflank-mailman (input) for mailman id 910934;
 Wed, 12 Mar 2025 23:12: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVFD-0002lv-UH
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:12:11 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d247d21-ff97-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:12:11 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 92CA0A44875;
 Wed, 12 Mar 2025 23:06:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CE5DAC4CEDD;
 Wed, 12 Mar 2025 23:12: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: 6d247d21-ff97-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741821130;
	bh=tqElY0dHGdM3qHyhspsDJ9M7niWCShOsN96K7ZSNufM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=i8IPHpdI8NsI8ejDJM/XZECxDjxTL+y8UnaffX/90ipkcjh19lu1cNS5MIaohWbxR
	 Uo1MqV1U4RnhhrlnWr0Rp5W2tj+YiZUd1gTwUwZj5/XUG/bpcH6Ao63PgID0JXCOCm
	 UWpXTDZdK25GPrNMj41XQTZtLLrNqeu2lzdQZiRTcNVaebGrtNMC7mR3N1KRc85dkQ
	 /ynh5+zLa4aUReVhT/0IUCJRQLfWnqJNvWS63apLUWbLwKvkdHD3zUy+5xQZu1mWvp
	 0tpEadrX/3SJbVBYNFn+H9mLOaocg8qMIhQR2xcGsG527Y3WCzibyFj04FG3xm6Td+
	 eauoe5q0YAqzg==
Date: Wed, 12 Mar 2025 16:12:07 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 06/19] xen/sysctl: wrap around XEN_SYSCTL_perfc_op
In-Reply-To: <20250312040632.2853485-7-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121610510.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-7-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> perfc_control() and perfc_copy_info() are responsible for providing control
> of perf counters via XEN_SYSCTL_perfc_op in DOM0, so they both shall
> be wrapped.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/common/perfc.c      | 2 ++
>  xen/include/xen/perfc.h | 8 ++++++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/xen/common/perfc.c b/xen/common/perfc.c
> index 8302b7cf6d..0f3b89af2c 100644
> --- a/xen/common/perfc.c
> +++ b/xen/common/perfc.c
> @@ -149,6 +149,7 @@ void cf_check perfc_reset(unsigned char key)
>      }
>  }
>  
> +#ifdef CONFIG_SYSCTL

I think in this case it would be best to make CONFIG_PERF_COUNTERS
depending on CONFIG_SYSCTL. The consequence is that without
CONFIG_SYSCTL, xen/common/perfc.c will be disabled in the build.



>  static struct xen_sysctl_perfc_desc perfc_d[NR_PERFCTRS];
>  static xen_sysctl_perfc_val_t *perfc_vals;
>  static unsigned int      perfc_nbr_vals;
> @@ -265,6 +266,7 @@ int perfc_control(struct xen_sysctl_perfc_op *pc)
>  
>      return rc;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  /*
>   * Local variables:
> diff --git a/xen/include/xen/perfc.h b/xen/include/xen/perfc.h
> index bf0eb032f7..6cc8af12d5 100644
> --- a/xen/include/xen/perfc.h
> +++ b/xen/include/xen/perfc.h
> @@ -5,6 +5,7 @@
>  
>  #include <xen/macros.h>
>  #include <xen/percpu.h>
> +#include <xen/errno.h>
>  
>  /*
>   * NOTE: new counters must be defined in perfc_defn.h
> @@ -92,7 +93,14 @@ DECLARE_PER_CPU(perfc_t[NUM_PERFCOUNTERS], perfcounters);
>  #endif
>  
>  struct xen_sysctl_perfc_op;
> +#ifdef CONFIG_SYSCTL
>  int perfc_control(struct xen_sysctl_perfc_op *pc);
> +#else
> +static inline int perfc_control(struct xen_sysctl_perfc_op *pc)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
>  
>  extern void cf_check perfc_printall(unsigned char key);
>  extern void cf_check perfc_reset(unsigned char key);
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:14:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910950.1317523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVH5-0003MW-NC; Wed, 12 Mar 2025 23:14:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910950.1317523; Wed, 12 Mar 2025 23: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 1tsVH5-0003MP-JK; Wed, 12 Mar 2025 23:14:07 +0000
Received: by outflank-mailman (input) for mailman id 910950;
 Wed, 12 Mar 2025 23:14: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVH3-0003M2-TY
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:14:05 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b04a04d3-ff97-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 00:14:04 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 30248A41FE7;
 Wed, 12 Mar 2025 23:08:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64879C4CEDD;
 Wed, 12 Mar 2025 23:14:01 +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: b04a04d3-ff97-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741821242;
	bh=I6k5vYS7kInbSDxZsdfUrBZye0TyXVTsN8PwRPeDRUU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mC9nTm9EYO8gVhJje/3WT4kY6IVvknn0WfJzR3dbVB5wVY0Y9iOFF2j++6cNcVCH5
	 E5f9ZvEqUq5WoP52JNQPD6apEHpGiQaB0oTYb6Bynta7WgNp7oYwIhJnOlVUA88ZBU
	 MgSg5CEV9tt7JwCDk5uqe92sJXu5pPevZQ3T5II89FSG1Hi68x3XTBysy7kJjfy4bE
	 owTDwzYaFl7e65klvGEwCS/8lO5zJc0BAcymYfidesBh1Z1bTWTchvNHBUEqEBQEqq
	 4XJ6gz3e9jjqYl3AxJzIlUi4HitEoHAeklgeDWQ74s/OxEVLNUVhmXb9XhZxXF9VPr
	 rUcLxSz5w3kOg==
Date: Wed, 12 Mar 2025 16:13:59 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 07/19] xen/sysctl: wrap around
 XEN_SYSCTL_lockprof_op
In-Reply-To: <20250312040632.2853485-8-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121613300.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-8-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> The following function is only to serve spinlock profiling via
> XEN_SYSCTL_lockprof_op, so it shall be wrapped:
> - spinlock_profile_control
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>


Similarly to the previous patch, could be make CONFIG_DEBUG_LOCK_PROFILE
depend on CONFIG_SYSCTL? 


> ---
>  xen/common/spinlock.c      | 2 ++
>  xen/include/xen/spinlock.h | 7 +++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
> index 38caa10a2e..0389293b09 100644
> --- a/xen/common/spinlock.c
> +++ b/xen/common/spinlock.c
> @@ -690,6 +690,7 @@ void cf_check spinlock_profile_reset(unsigned char key)
>      spinlock_profile_iterate(spinlock_profile_reset_elem, NULL);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  typedef struct {
>      struct xen_sysctl_lockprof_op *pc;
>      int                      rc;
> @@ -749,6 +750,7 @@ int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
>  
>      return rc;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  void _lock_profile_register_struct(
>      int32_t type, struct lock_profile_qhead *qhead, int32_t idx)
> diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
> index ca9d8c7ec0..7f2a814ee0 100644
> --- a/xen/include/xen/spinlock.h
> +++ b/xen/include/xen/spinlock.h
> @@ -164,7 +164,14 @@ void _lock_profile_deregister_struct(int32_t type,
>  #define lock_profile_deregister_struct(type, ptr)                             \
>      _lock_profile_deregister_struct(type, &((ptr)->profile_head))
>  
> +#ifdef CONFIG_SYSCTL
>  extern int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc);
> +#else
> +static inline int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
>  extern void cf_check spinlock_profile_printall(unsigned char key);
>  extern void cf_check spinlock_profile_reset(unsigned char key);
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:17:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:17:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910961.1317533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVKM-0004tl-4a; Wed, 12 Mar 2025 23:17:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910961.1317533; Wed, 12 Mar 2025 23:17: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 1tsVKM-0004te-1Y; Wed, 12 Mar 2025 23:17:30 +0000
Received: by outflank-mailman (input) for mailman id 910961;
 Wed, 12 Mar 2025 23:17: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVKK-0004tX-1n
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:17:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28effb5b-ff98-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:17:26 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 651085C06E1;
 Wed, 12 Mar 2025 23:15:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 958C4C4CEDD;
 Wed, 12 Mar 2025 23:17:23 +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: 28effb5b-ff98-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741821444;
	bh=O2sr8/6nvxZWzJvQj9pzFJZiuOCkxc8RSxlwXZfGDqE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JKJYWonFztb/Ohr1uydYnD5wHisn6ylusuWEOX+6tiDp92JUzrmnALjqsLbNStVP2
	 XM3yHrYsSSef4nNVP7dSHeAhHrUpSvdXIqb2TSQfS48xd5PlQPFwKhYOTGx9axIfuI
	 phBjgYjV1dcR8TMIPP6xT/DFQUlUlaezQcF1UpaYpAmYW8jqONlgpmr7svJ23XXzsA
	 Z8oQcgyxy0OuLc9ZQtVjaaWMSxZ1dV/TjgsGJ6liYPPSJWYi7o6dmh7er4SN0iQizI
	 7EhEyY/c2+WB6G5ldgaI+FexDxjMdzB3He0hJg5p9Y4ox2ESIXCHzDno2rTH4DxgBa
	 vNJs+qpG6Pa0A==
Date: Wed, 12 Mar 2025 16:17:21 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 10/19] xen/page: fix return type of online_page()
In-Reply-To: <20250312040632.2853485-11-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121617160.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-11-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> This commit fixes return type of online_page(), which shall be int
> to include correct error value.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/common/page_alloc.c | 2 +-
>  xen/include/xen/mm.h    | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 1bf070c8c5..b5ec4bda7d 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1764,7 +1764,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
>   *   The caller should make sure end_pfn <= max_page,
>   *   if not, expand_pages() should be called prior to online_page().
>   */
> -unsigned int online_page(mfn_t mfn, uint32_t *status)
> +int online_page(mfn_t mfn, uint32_t *status)
>  {
>      unsigned long x, nx, y;
>      struct page_info *pg;
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 16f733281a..ae1c48a615 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -144,7 +144,7 @@ unsigned long avail_domheap_pages(void);
>  unsigned long avail_node_heap_pages(unsigned int nodeid);
>  #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
>  #define free_domheap_page(p)  (free_domheap_pages(p,0))
> -unsigned int online_page(mfn_t mfn, uint32_t *status);
> +int online_page(mfn_t mfn, uint32_t *status);
>  int offline_page(mfn_t mfn, int broken, uint32_t *status);
>  int query_page_offline(mfn_t mfn, uint32_t *status);
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:19:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:19:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910971.1317543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVM2-0005Rn-E6; Wed, 12 Mar 2025 23:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910971.1317543; Wed, 12 Mar 2025 23: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 1tsVM2-0005Rg-BF; Wed, 12 Mar 2025 23:19:14 +0000
Received: by outflank-mailman (input) for mailman id 910971;
 Wed, 12 Mar 2025 23:19: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVM1-0005Ra-TL
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:19:13 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66b68f70-ff98-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 00:19:10 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 1EB59A448EE;
 Wed, 12 Mar 2025 23:13:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3B960C4CEDD;
 Wed, 12 Mar 2025 23:19:07 +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: 66b68f70-ff98-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741821548;
	bh=0KbVc+hTWH5ShLJB/tVyjoB0uLQR8SuVb17sAG3n0sc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LloxY1jLz2wiTGp8sgFR3By6ZE227rYrTNNjySN8tvuFDFoxv1UqwKWWEUWuRdFX8
	 d0a83ByO4a3GclHKi3jh8NdxGlaJ6SvfVZ+i/+r8bJv1aOC/6v98iVx5ZJ2b2ICFxy
	 cqpTmw63cqqXBlIvUoLOYG+Kg2M2m+wj4LMndhtcYA4LPDXDibpOkxbYfhnry5DEws
	 iVJ9xCg89gz2azDFv01P0QAt3g9C6fkUa3AHquhSSC5SixNLHQFSaJxezKbvp5eQ5I
	 MyRmP0UtXIR5W85b8rTN5imIqTQRedNO5eIkIIB3/CTBYuZlmj5fqV1Zs8zobWfxXF
	 BLYcJ8Y0T18mA==
Date: Wed, 12 Mar 2025 16:19:05 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 11/19] xen/sysctl: wrap around
 XEN_SYSCTL_page_offline_op
In-Reply-To: <20250312040632.2853485-12-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121618390.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-12-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> The following functions are only to deal with XEN_SYSCTL_page_offline_op,
> then shall be wrapped:
> - xsm_page_offline
> - online_page
> - query_page_offline
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/common/page_alloc.c |  2 ++
>  xen/include/xen/mm.h    | 13 ++++++++++++-
>  xen/include/xsm/dummy.h |  7 +++++++
>  xen/include/xsm/xsm.h   |  9 +++++++++
>  xen/xsm/dummy.c         |  2 ++
>  xen/xsm/flask/hooks.c   |  6 ++++++
>  6 files changed, 38 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index b5ec4bda7d..7476d37238 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1759,6 +1759,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
>      return 0;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  /*
>   * Online the memory.
>   *   The caller should make sure end_pfn <= max_page,
> @@ -1843,6 +1844,7 @@ int query_page_offline(mfn_t mfn, uint32_t *status)
>  
>      return 0;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  /*
>   * This function should only be called with valid pages from the same NUMA
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index ae1c48a615..86bbb15890 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -144,9 +144,20 @@ unsigned long avail_domheap_pages(void);
>  unsigned long avail_node_heap_pages(unsigned int nodeid);
>  #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
>  #define free_domheap_page(p)  (free_domheap_pages(p,0))
> -int online_page(mfn_t mfn, uint32_t *status);
>  int offline_page(mfn_t mfn, int broken, uint32_t *status);
> +#ifdef CONFIG_SYSCTL
> +int online_page(mfn_t mfn, uint32_t *status);
>  int query_page_offline(mfn_t mfn, uint32_t *status);
> +#else
> +static inline int online_page(mfn_t mfn, uint32_t *status)
> +{
> +    return -EOPNOTSUPP;
> +}
> +static inline int query_page_offline(mfn_t mfn, uint32_t *status)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif /* CONFIG_SYSCTL */
>  
>  void heap_init_late(void);
>  
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 35d084aca7..5f89fc98fc 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -497,11 +497,18 @@ static XSM_INLINE int cf_check xsm_resource_setup_misc(XSM_DEFAULT_VOID)
>      return xsm_default_action(action, current->domain, NULL);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  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);
>  }
> +#else
> +static XSM_INLINE int cf_check xsm_page_offline(XSM_DEFAULT_ARG uint32_t cmd)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
>  
>  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 d322740de1..d6f27aa977 100644
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -140,7 +140,9 @@ struct xsm_ops {
>      int (*resource_setup_gsi)(int gsi);
>      int (*resource_setup_misc)(void);
>  
> +#ifdef CONFIG_SYSCTL
>      int (*page_offline)(uint32_t cmd);
> +#endif
>      int (*hypfs_op)(void);
>  
>      long (*do_xsm_op)(XEN_GUEST_HANDLE_PARAM(void) op);
> @@ -601,10 +603,17 @@ static inline int xsm_resource_setup_misc(xsm_default_t def)
>      return alternative_call(xsm_ops.resource_setup_misc);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
>  {
>      return alternative_call(xsm_ops.page_offline, cmd);
>  }
> +#else
> +static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
>  
>  static inline int xsm_hypfs_op(xsm_default_t def)
>  {
> diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
> index 4c97db0c48..aa89ee5331 100644
> --- a/xen/xsm/dummy.c
> +++ b/xen/xsm/dummy.c
> @@ -96,7 +96,9 @@ 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
>      .page_offline                  = xsm_page_offline,
> +#endif
>      .hypfs_op                      = xsm_hypfs_op,
>      .hvm_param                     = xsm_hvm_param,
>      .hvm_param_altp2mhvm           = xsm_hvm_param_altp2mhvm,
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 7c46657d97..9819cd407d 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -1206,10 +1206,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
>  static int flask_resource_use_core(void)
>  {
>      return avc_current_has_perm(SECINITSID_DOMXEN, SECCLASS_RESOURCE, RESOURCE__USE, NULL);
>  }
> +#endif
>  
>  static int cf_check flask_resource_plug_pci(uint32_t machine_bdf)
>  {
> @@ -1274,6 +1276,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
>  static inline int cf_check flask_page_offline(uint32_t cmd)
>  {
>      switch ( cmd )
> @@ -1288,6 +1291,7 @@ static inline int cf_check flask_page_offline(uint32_t cmd)
>          return avc_unknown_permission("page_offline", cmd);
>      }
>  }
> +#endif
>  
>  static inline int cf_check flask_hypfs_op(void)
>  {
> @@ -1948,7 +1952,9 @@ 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
>      .page_offline = flask_page_offline,
> +#endif
>      .hypfs_op = flask_hypfs_op,
>      .hvm_param = flask_hvm_param,
>      .hvm_param_altp2mhvm = flask_hvm_param_altp2mhvm,
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:24:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:24:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910985.1317553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVQa-00071g-5K; Wed, 12 Mar 2025 23:23:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910985.1317553; Wed, 12 Mar 2025 23:23: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 1tsVQa-00071Z-1H; Wed, 12 Mar 2025 23:23:56 +0000
Received: by outflank-mailman (input) for mailman id 910985;
 Wed, 12 Mar 2025 23:23: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVQY-00071T-Qt
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:23:54 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fa1d5b1-ff99-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:23:53 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id AD01BA448EE;
 Wed, 12 Mar 2025 23:18:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9DF9AC4CEDD;
 Wed, 12 Mar 2025 23:23: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: 0fa1d5b1-ff99-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741821832;
	bh=oSZI3+DRQzg9rjwjwh4VEfp0HrKqBYFXce+AyF7pLs0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CnnjwejwQ2tSI4voayyyMLU6zPjzKuKTr+u8cdUn29PO+rgDKV8FstWSToj3JsDR+
	 ySdsXM1ZTPn60F+s5dODSBW9qkR4eNeUnkcAHcxsOYYx8xy7v3HNin2wpdVDDx6ppt
	 x0hh0lgLTJ/XprYYaEHNcqW5+3qvDEhUC63zgog3TJe7uc2ewjuu6HrVXnAASoCdCo
	 BFzNm1B4KC4nde5a8Fcx1oSwppRjyHQfIUq53z6lU3irRnKmi18bk1RrQ0tUzv5ebz
	 5+R9dl4jFXBtqxQbRHl2EImOHLFilrkIgLREdvf8b8cYXrsv9MufmHQL7plOzz0TOU
	 s+BJshQwPXXZw==
Date: Wed, 12 Mar 2025 16:23:48 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@amd.com, 
    Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, 
    George Dunlap <gwd@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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 12/19] xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
In-Reply-To: <20250312040632.2853485-13-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121623420.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-13-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> Function cpupool_do_sysctl is designed for doing
> cpupool related sysctl operations, and shall be
> wrapped.
> 
> The following static functions are only called by cpupool_do_sysctl(), then
> shall be wrapped too:
> - cpupool_get_next_by_id
> - cpupool_destroy
> - cpupool_unassign_cpu_helper
> - cpupool_unassign_cpu
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>


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


> ---
>  xen/common/sched/cpupool.c | 9 +++++++++
>  xen/include/xen/sched.h    | 7 +++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
> index 3d02c7b706..0efd8a4591 100644
> --- a/xen/common/sched/cpupool.c
> +++ b/xen/common/sched/cpupool.c
> @@ -241,10 +241,12 @@ struct cpupool *cpupool_get_by_id(unsigned int poolid)
>      return __cpupool_get_by_id(poolid, true);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static struct cpupool *cpupool_get_next_by_id(unsigned int poolid)
>  {
>      return __cpupool_get_by_id(poolid, false);
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  void cpupool_put(struct cpupool *pool)
>  {
> @@ -352,6 +354,8 @@ static struct cpupool *cpupool_create(unsigned int poolid,
>  
>      return ERR_PTR(ret);
>  }
> +
> +#ifdef CONFIG_SYSCTL
>  /*
>   * destroys the given cpupool
>   * returns 0 on success, 1 else
> @@ -379,6 +383,7 @@ static int cpupool_destroy(struct cpupool *c)
>      debugtrace_printk("cpupool_destroy(pool=%u)\n", c->cpupool_id);
>      return 0;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  /*
>   * Move domain to another cpupool
> @@ -568,6 +573,7 @@ static int cpupool_unassign_cpu_start(struct cpupool *c, unsigned int cpu)
>      return ret;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static long cf_check cpupool_unassign_cpu_helper(void *info)
>  {
>      struct cpupool *c = info;
> @@ -633,6 +639,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 */
>  
>  /*
>   * add a new domain to a cpupool
> @@ -810,6 +817,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu)
>      rcu_read_unlock(&sched_res_rculock);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  /*
>   * do cpupool related sysctl operations
>   */
> @@ -975,6 +983,7 @@ int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op)
>  
>      return ret;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  unsigned int cpupool_get_id(const struct domain *d)
>  {
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 9bdeb85aa4..ea81832c50 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -1259,7 +1259,14 @@ static always_inline bool is_cpufreq_controller(const struct domain *d)
>  }
>  
>  int cpupool_move_domain(struct domain *d, struct cpupool *c);
> +#ifdef CONFIG_SYSCTL
>  int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op);
> +#else
> +static inline int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
>  unsigned int cpupool_get_id(const struct domain *d);
>  const cpumask_t *cpupool_valid_cpus(const struct cpupool *pool);
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:27:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:27:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.910996.1317563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVTW-0007ZY-HH; Wed, 12 Mar 2025 23:26:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 910996.1317563; Wed, 12 Mar 2025 23: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 1tsVTW-0007ZR-EB; Wed, 12 Mar 2025 23:26:58 +0000
Received: by outflank-mailman (input) for mailman id 910996;
 Wed, 12 Mar 2025 23: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVTU-0007ZL-Lz
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:26:56 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c155784-ff99-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:26:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 6D941A4497F;
 Wed, 12 Mar 2025 23:21:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C57BAC4CEDD;
 Wed, 12 Mar 2025 23:26:51 +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: 7c155784-ff99-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741822014;
	bh=jgGDYFyPYWK1XeqbrR282ah0b/LUzx1VyhUn5vHjfaE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ii4gbfGpoSk6skUTTaYMTP9UVKFdaECmf0TY6EuylBRBVvlZgrfNQ3zpkRoh01JCx
	 TFdzHPRIzZ0zY1G2ScDCZ6PgvwJIADgeGOwtUvV8eJjQDdjogwFvnfG493CKUCumEl
	 2t6oMstZmxNmsjMhaLJO26sPvBOdDs7KrvqqeMhka+TUQBSWkJ9dapX+QVIhEdhA8Y
	 QP7CKSBO/SFgQLk80EKIv69DCJHuC4LOFhMRqYOTtC5/pPHeS14BFsBzkUVOXddIih
	 mHF/6xOQeU/y1BJi4ijFd580IiepYu11JeAVrMyEUDOMGzzYGzRr5Jiz8VBkpBLETE
	 zyLYuLPEyHEBA==
Date: Wed, 12 Mar 2025 16:26:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, xen-devel@dornerworks.com, 
    ray.huang@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>, 
    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>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 13/19] xen/sysctl: wrap around
 XEN_SYSCTL_scheduler_op
In-Reply-To: <20250312040632.2853485-14-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121626160.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-14-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> Function sched_adjust_global is designed for XEN_SYSCTL_scheduler_op, so
> itself and its calling flow, like .adjust_global, shall all be wrapped.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/common/sched/arinc653.c | 6 ++++++
>  xen/common/sched/core.c     | 2 ++
>  xen/common/sched/credit.c   | 4 ++++
>  xen/common/sched/credit2.c  | 4 ++++
>  xen/common/sched/private.h  | 4 ++++
>  xen/include/xen/sched.h     | 6 +++++-
>  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, 37 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
> index a82c0d7314..3a2c349d38 100644
> --- a/xen/common/sched/arinc653.c
> +++ b/xen/common/sched/arinc653.c
> @@ -214,6 +214,7 @@ static void update_schedule_units(const struct scheduler *ops)
>                        SCHED_PRIV(ops)->schedule[i].unit_id);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  /**
>   * This function is called by the adjust_global scheduler hook to put
>   * in place a new ARINC653 schedule.
> @@ -328,6 +329,7 @@ arinc653_sched_get(
>  
>      return 0;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  /**************************************************************************
>   * Scheduler callback functions                                           *
> @@ -648,6 +650,7 @@ a653_switch_sched(struct scheduler *new_ops, unsigned int cpu,
>      return &sr->_lock;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  /**
>   * 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
> @@ -687,6 +690,7 @@ a653sched_adjust_global(const struct scheduler *ops,
>  
>      return rc;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  /**
>   * This structure defines our scheduler for Xen.
> @@ -721,7 +725,9 @@ static const struct scheduler sched_arinc653_def = {
>      .switch_sched   = a653_switch_sched,
>  
>      .adjust         = NULL,
> +#ifdef CONFIG_SYSCTL
>      .adjust_global  = a653sched_adjust_global,
> +#endif
>  
>      .dump_settings  = NULL,
>      .dump_cpu_state = NULL,
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index ea452d8b3e..e528909e5d 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -2095,6 +2095,7 @@ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
>      return ret;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
>  {
>      struct cpupool *pool;
> @@ -2123,6 +2124,7 @@ long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
>  
>      return rc;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  static void vcpu_periodic_timer_work_locked(struct vcpu *v)
>  {
> diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
> index a6bb321e7d..6dcf6b2c8b 100644
> --- a/xen/common/sched/credit.c
> +++ b/xen/common/sched/credit.c
> @@ -1256,6 +1256,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned int timeslice_ms)
>      prv->credit = prv->credits_per_tslice * prv->ncpus;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static int cf_check
>  csched_sys_cntl(const struct scheduler *ops,
>                          struct xen_sysctl_scheduler_op *sc)
> @@ -1298,6 +1299,7 @@ csched_sys_cntl(const struct scheduler *ops,
>      out:
>      return rc;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  static void *cf_check
>  csched_alloc_domdata(const struct scheduler *ops, struct domain *dom)
> @@ -2288,7 +2290,9 @@ static const struct scheduler sched_credit_def = {
>  
>      .adjust         = csched_dom_cntl,
>      .adjust_affinity= csched_aff_cntl,
> +#ifdef CONFIG_SYSCTL
>      .adjust_global  = csched_sys_cntl,
> +#endif
>  
>      .pick_resource  = csched_res_pick,
>      .do_schedule    = csched_schedule,
> diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
> index 0a83f23725..0b3b61df57 100644
> --- a/xen/common/sched/credit2.c
> +++ b/xen/common/sched/credit2.c
> @@ -3131,6 +3131,7 @@ csched2_aff_cntl(const struct scheduler *ops, struct sched_unit *unit,
>          __clear_bit(__CSFLAG_pinned, &svc->flags);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static int cf_check csched2_sys_cntl(
>      const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc)
>  {
> @@ -3162,6 +3163,7 @@ static int cf_check csched2_sys_cntl(
>  
>      return 0;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  static void *cf_check
>  csched2_alloc_domdata(const struct scheduler *ops, struct domain *dom)
> @@ -4232,7 +4234,9 @@ static const struct scheduler sched_credit2_def = {
>  
>      .adjust         = csched2_dom_cntl,
>      .adjust_affinity= csched2_aff_cntl,
> +#ifdef CONFIG_SYSCTL
>      .adjust_global  = csched2_sys_cntl,
> +#endif
>  
>      .pick_resource  = csched2_res_pick,
>      .migrate        = csched2_unit_migrate,
> diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
> index c0e7c96d24..d6884550cd 100644
> --- a/xen/common/sched/private.h
> +++ b/xen/common/sched/private.h
> @@ -356,8 +356,10 @@ struct scheduler {
>                                      struct sched_unit *unit,
>                                      const struct cpumask *hard,
>                                      const struct cpumask *soft);
> +#ifdef CONFIG_SYSCTL
>      int          (*adjust_global)  (const struct scheduler *ops,
>                                      struct xen_sysctl_scheduler_op *sc);
> +#endif
>      void         (*dump_settings)  (const struct scheduler *ops);
>      void         (*dump_cpu_state) (const struct scheduler *ops, int cpu);
>      void         (*move_timers)    (const struct scheduler *ops,
> @@ -510,11 +512,13 @@ 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
>  static inline int sched_adjust_cpupool(const struct scheduler *s,
>                                         struct xen_sysctl_scheduler_op *op)
>  {
>      return s->adjust_global ? s->adjust_global(s, op) : 0;
>  }
> +#endif
>  
>  static inline void sched_move_timers(const struct scheduler *s,
>                                       struct sched_resource *sr)
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index ea81832c50..5a065b3624 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -848,10 +848,14 @@ void sched_destroy_vcpu(struct vcpu *v);
>  int  sched_init_domain(struct domain *d, unsigned int poolid);
>  void sched_destroy_domain(struct domain *d);
>  long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op);
> -long sched_adjust_global(struct xen_sysctl_scheduler_op *op);
>  #ifdef CONFIG_SYSCTL
> +long sched_adjust_global(struct xen_sysctl_scheduler_op *op);
>  int  scheduler_id(void);
>  #else
> +static inline long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
> +{
> +    return -EOPNOTSUPP;
> +}
>  static inline int scheduler_id(void)
>  {
>      return -EOPNOTSUPP;
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 5f89fc98fc..826db1fc69 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_SYSCTL
>  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
>  
>  static XSM_INLINE int cf_check xsm_set_target(
>      XSM_DEFAULT_ARG struct domain *d, struct domain *e)
> diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
> index d6f27aa977..d413a12897 100644
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -57,7 +57,9 @@ 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
>      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_SYSCTL
> @@ -246,10 +248,12 @@ static inline int xsm_domctl_scheduler_op(
>      return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd)
>  {
>      return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
>  }
> +#endif
>  
>  static inline int xsm_set_target(
>      xsm_default_t def, struct domain *d, struct domain *e)
> diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
> index aa89ee5331..6270bef308 100644
> --- a/xen/xsm/dummy.c
> +++ b/xen/xsm/dummy.c
> @@ -19,7 +19,9 @@ 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
>      .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
> +#endif
>      .set_target                    = xsm_set_target,
>      .domctl                        = xsm_domctl,
>  #ifdef CONFIG_SYSCTL
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 9819cd407d..aefb7681cb 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -626,6 +626,7 @@ static int cf_check flask_domctl_scheduler_op(struct domain *d, int op)
>      }
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static int cf_check flask_sysctl_scheduler_op(int op)
>  {
>      switch ( op )
> @@ -640,6 +641,7 @@ static int cf_check flask_sysctl_scheduler_op(int op)
>          return avc_unknown_permission("sysctl_scheduler_op", op);
>      }
>  }
> +#endif
>  
>  static int cf_check flask_set_target(struct domain *d, struct domain *t)
>  {
> @@ -1887,7 +1889,9 @@ 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
>      .sysctl_scheduler_op = flask_sysctl_scheduler_op,
> +#endif
>      .set_target = flask_set_target,
>      .domctl = flask_domctl,
>  #ifdef CONFIG_SYSCTL
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:28:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911007.1317573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVUg-00086X-QY; Wed, 12 Mar 2025 23:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911007.1317573; Wed, 12 Mar 2025 23:28: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 1tsVUg-00086Q-N3; Wed, 12 Mar 2025 23:28:10 +0000
Received: by outflank-mailman (input) for mailman id 911007;
 Wed, 12 Mar 2025 23:28: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVUf-00085v-2O
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:28:09 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a76cfe31-ff99-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:28:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 33DDAA44D7A;
 Wed, 12 Mar 2025 23:22:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68796C4CEE3;
 Wed, 12 Mar 2025 23:28: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: a76cfe31-ff99-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741822086;
	bh=eW9QZ9w8a/e71BfrB0cP51TsPuFrRkFwNXhMufwUO1E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HvvMoXs81EzPRaP26qdm1EUNbVaIscyJ/H0DIgsX/LdDMk0SqAII8tLMqTP4MypYD
	 EORtRTorz4v0OROeEgToJ8fBLXgyfeUqqkqLanC7MO7RjY+QjRFS3/yRQa/OXVT64H
	 P804kROGbdjcuUytYVmsVLj2wdYnQfZzNlyVDmoBDFaOrZXP6cEBOGRdYNXyl+uFnM
	 Y2NAEXKQuwdP/5j0nOF5Cg5jSV+Wf0mUdCkxd/MybZ0tq0nDkC4FM5gL/88pZL3egO
	 7f0VgDrfxfe1r4TAptUKsFeQMptRBzEwMvgDjKL1IuN+5xLLIWVGrxwKC+Cn/Z8jqx
	 JMQm3NGOeHVIw==
Date: Wed, 12 Mar 2025 16:28:02 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 14/19] xen: make avail_domheap_pages() static
In-Reply-To: <20250312040632.2853485-15-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121627560.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-15-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> Function avail_domheap_pages() is only invoked by get_outstanding_claims(),
> so it shall be static, no need to extern.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/common/page_alloc.c | 2 +-
>  xen/include/xen/mm.h    | 1 -
>  2 files changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 7476d37238..5e710cc9a1 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -2796,7 +2796,7 @@ unsigned long avail_domheap_pages_region(
>      return avail_heap_pages(zone_lo, zone_hi, node);
>  }
>  
> -unsigned long avail_domheap_pages(void)
> +static unsigned long avail_domheap_pages(void)
>  {
>      return avail_heap_pages(MEMZONE_XEN + 1,
>                              NR_ZONES - 1,
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 86bbb15890..cbb9f2dfdb 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -140,7 +140,6 @@ struct page_info *alloc_domheap_pages(
>  void free_domheap_pages(struct page_info *pg, unsigned int order);
>  unsigned long avail_domheap_pages_region(
>      unsigned int node, unsigned int min_width, unsigned int max_width);
> -unsigned long avail_domheap_pages(void);
>  unsigned long avail_node_heap_pages(unsigned int nodeid);
>  #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
>  #define free_domheap_page(p)  (free_domheap_pages(p,0))
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:34:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:34:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911021.1317583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVbA-0001Fq-EI; Wed, 12 Mar 2025 23:34:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911021.1317583; Wed, 12 Mar 2025 23:34: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 1tsVbA-0001Fj-Ba; Wed, 12 Mar 2025 23:34:52 +0000
Received: by outflank-mailman (input) for mailman id 911021;
 Wed, 12 Mar 2025 23:34: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVb8-0001Fd-F1
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:34:50 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95660cfb-ff9a-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:34:47 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 707A7A4140F;
 Wed, 12 Mar 2025 23:29:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9FB17C4CEDD;
 Wed, 12 Mar 2025 23:34:44 +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: 95660cfb-ff9a-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741822486;
	bh=y0yQJRuy+QF1g5v6Gxf8ham3SVd77ry1hi7sQRG+tz8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=IhQiYKdTCXdiz/Gba26sPLNjU0BauXG+0KIyw13gVODlmSXMMcRaxUcQhzGxtzCY5
	 XuwQibiCMZHRYnc7waxHmhR601eTdaa/storFNNuM/LgJESxe1Wbacu2AX6AputTbJ
	 VoqkaOue0SoNwqeo4biBWg+UiF8oBMjcGELd6esUJ1pSvSJS4hQJ8/fldK7uCfKs5f
	 yKy7LgQhcGde9X94vkanJwCu+9NYqU1hTQ2wqDOq07g6y9KRaEYrxqjBli9bnAoOty
	 babci1ghdfNxEoB2m+jhjlyQqnaZ+jgdl3N0EIrIe/MCAvJ0cQpreW7oJPDSefZUvO
	 IvuEI8O0deZoA==
Date: Wed, 12 Mar 2025 16:34:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org, 
    ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v1 14/19] xen: make avail_domheap_pages() static
In-Reply-To: <alpine.DEB.2.22.394.2503121627560.3477110@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2503121632330.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-15-Penny.Zheng@amd.com> <alpine.DEB.2.22.394.2503121627560.3477110@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-145566692-1741822485=:3477110"

  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-145566692-1741822485=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 12 Mar 2025, Stefano Stabellini wrote:
> On Wed, 12 Mar 2025, Penny Zheng wrote:
> > Function avail_domheap_pages() is only invoked by get_outstanding_claims(),
> > so it shall be static, no need to extern.
> > 
> > Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

I spoke too soon: this patch breaks the build:

common/page_alloc.c: In function âget_outstanding_claimsâ:
common/page_alloc.c:587:20: error: implicit declaration of function âavail_domheap_pagesâ; did you mean âavail_node_heap_pagesâ? [-Werror=implicit-function-declaration]
  587 |     *free_pages =  avail_domheap_pages();
      |                    ^~~~~~~~~~~~~~~~~~~
      |                    avail_node_heap_pages
common/page_alloc.c:587:20: error: nested extern declaration of âavail_domheap_pagesâ [-Werror=nested-externs]
common/page_alloc.c: At top level:
common/page_alloc.c:2798:22: error: conflicting types for âavail_domheap_pagesâ
 2798 | static unsigned long avail_domheap_pages(void)
      |                      ^~~~~~~~~~~~~~~~~~~
common/page_alloc.c:587:20: note: previous implicit declaration of âavail_domheap_pagesâ was here
  587 |     *free_pages =  avail_domheap_pages();
      |                    ^~~~~~~~~~~~~~~~~~~
common/page_alloc.c:2798:22: error: âavail_domheap_pagesâ defined but not used [-Werror=unused-function]
 2798 | static unsigned long avail_domheap_pages(void)
      |                      ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Rules.mk:249: common/page_alloc.o] Error 1
make[1]: *** [build.mk:72: common] Error 2
make: *** [Makefile:615: xen] Error 2


I think you fixed it in the next patch. Still, it is better not to break
bisectability.

> > ---
> >  xen/common/page_alloc.c | 2 +-
> >  xen/include/xen/mm.h    | 1 -
> >  2 files changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> > index 7476d37238..5e710cc9a1 100644
> > --- a/xen/common/page_alloc.c
> > +++ b/xen/common/page_alloc.c
> > @@ -2796,7 +2796,7 @@ unsigned long avail_domheap_pages_region(
> >      return avail_heap_pages(zone_lo, zone_hi, node);
> >  }
> >  
> > -unsigned long avail_domheap_pages(void)
> > +static unsigned long avail_domheap_pages(void)
> >  {
> >      return avail_heap_pages(MEMZONE_XEN + 1,
> >                              NR_ZONES - 1,
> > diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> > index 86bbb15890..cbb9f2dfdb 100644
> > --- a/xen/include/xen/mm.h
> > +++ b/xen/include/xen/mm.h
> > @@ -140,7 +140,6 @@ struct page_info *alloc_domheap_pages(
> >  void free_domheap_pages(struct page_info *pg, unsigned int order);
> >  unsigned long avail_domheap_pages_region(
> >      unsigned int node, unsigned int min_width, unsigned int max_width);
> > -unsigned long avail_domheap_pages(void);
> >  unsigned long avail_node_heap_pages(unsigned int nodeid);
> >  #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
> >  #define free_domheap_page(p)  (free_domheap_pages(p,0))
> > -- 
> > 2.34.1
> > 
> 
--8323329-145566692-1741822485=:3477110--


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:35:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:35:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911033.1317593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVc4-0001o4-QH; Wed, 12 Mar 2025 23:35:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911033.1317593; Wed, 12 Mar 2025 23:35: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 1tsVc4-0001nx-Nb; Wed, 12 Mar 2025 23:35:48 +0000
Received: by outflank-mailman (input) for mailman id 911033;
 Wed, 12 Mar 2025 23:35: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVc4-0001bl-2s
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:35:48 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6a10ff8-ff9a-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 00:35:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 4B090A44E25;
 Wed, 12 Mar 2025 23:30:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D038FC4CEDD;
 Wed, 12 Mar 2025 23:35: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: b6a10ff8-ff9a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741822541;
	bh=sMsVV3EOdF1ZV5JdnLlnHRCKVt4P7SqAgXeaUQ59QpY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pEE2kJnBuN3fWxlJHXLirSfb7L9JuM9/FArWbJ/h2dBLGqDm5GZF7X3sjrfPNHfPc
	 4pG8FqkotVrzlQ4POXODX5NjuLUTXHqA3AofrnyZ5leUbhttuGFu2H3debHqcLAKWM
	 IEdiVpGRbtrZdEA9fQ3uvPnGOV/vIXQOt16AfDQBEfuU+AdVoqjvIWfChW0mcUW++I
	 1P9ydWrUvSISYa7KiAkBrIxoBdIQZH/alrvyQoakIPrgecfGGU0X+OBYXWQiHWOwod
	 5u//PUi1RdwxCgamETgoY6F7NtG8Y30omMe0IthZHpSTh2r7+7dq4gehAMH5LwzPYe
	 6EURrOUN90IZw==
Date: Wed, 12 Mar 2025 16:35:38 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Bob Eshleman <bobbyeshleman@gmail.com>, 
    Connor Davis <connojdavis@gmail.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v1 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
In-Reply-To: <20250312040632.2853485-16-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121634530.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-16-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> The following functions are only used to deal with XEN_SYSCTL_physinfo,
> then they shall be wrapped:
> - arch_do_physinfo
> - get_outstanding_claims
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/arch/arm/sysctl.c   | 2 ++
>  xen/arch/riscv/stubs.c  | 2 ++
>  xen/arch/x86/sysctl.c   | 2 ++
>  xen/common/page_alloc.c | 5 +++++
>  xen/include/xen/mm.h    | 5 +++++
>  xen/include/xen/sched.h | 4 ++++
>  6 files changed, 20 insertions(+)
> 
> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
> index 32cab4feff..2d350b700a 100644
> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -15,6 +15,7 @@
>  #include <asm/arm64/sve.h>
>  #include <public/sysctl.h>
>  
> +#ifdef CONFIG_SYSCTL
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
> @@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>      pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>                                         XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>  }
> +#endif
>  
>  long arch_do_sysctl(struct xen_sysctl *sysctl,
>                      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
> index 5951b0ce91..0321ad57f0 100644
> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
>      BUG_ON("unimplemented");
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      BUG_ON("unimplemented");
>  }
> +#endif
>  
>  /* p2m.c */
>  
> diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
> index 1b04947516..d7da476379 100644
> --- a/xen/arch/x86/sysctl.c
> +++ b/xen/arch/x86/sysctl.c
> @@ -91,6 +91,7 @@ static long cf_check smt_up_down_helper(void *data)
>      return ret;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
> @@ -104,6 +105,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>      if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
>          pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
>  }
> +#endif
>  
>  long arch_do_sysctl(
>      struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 5e710cc9a1..d1c4db57a5 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -581,6 +581,8 @@ out:
>      return ret;
>  }
>  
> +#ifdef CONFIG_SYSCTL
> +static unsigned long avail_domheap_pages(void);

This part here should be in the previous patch. I would add it at the
top of the page_alloc.c file, ideally without the #ifdef, I am guessing
it is not required for a forward declaration.


>  void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
>  {
>      spin_lock(&heap_lock);
> @@ -588,6 +590,7 @@ void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
>      *free_pages =  avail_domheap_pages();
>      spin_unlock(&heap_lock);
>  }
> +#endif
>  
>  static bool __read_mostly first_node_initialised;
>  #ifndef CONFIG_SEPARATE_XENHEAP
> @@ -2796,12 +2799,14 @@ unsigned long avail_domheap_pages_region(
>      return avail_heap_pages(zone_lo, zone_hi, node);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static unsigned long avail_domheap_pages(void)
>  {
>      return avail_heap_pages(MEMZONE_XEN + 1,
>                              NR_ZONES - 1,
>                              -1);
>  }
> +#endif
>  
>  unsigned long avail_node_heap_pages(unsigned int nodeid)
>  {
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index cbb9f2dfdb..a63e063a46 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -131,7 +131,12 @@ int populate_pt_range(unsigned long virt, unsigned long nr_mfns);
>  unsigned long __must_check domain_adjust_tot_pages(struct domain *d,
>      long pages);
>  int domain_set_outstanding_pages(struct domain *d, unsigned long pages);
> +#ifdef CONFIG_SYSCTL
>  void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages);
> +#else
> +static inline void get_outstanding_claims(uint64_t *free_pages,
> +                                          uint64_t *outstanding_pages) {}
> +#endif /* CONFIG_SYSCTL */
>  
>  /* Domain suballocator. These functions are *not* interrupt-safe.*/
>  void init_domheap_pages(paddr_t ps, paddr_t pe);
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 5a065b3624..df39c0465a 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -1291,7 +1291,11 @@ struct cpupool *cpupool_create_pool(unsigned int pool_id, int sched_id);
>  
>  extern void cf_check dump_runq(unsigned char key);
>  
> +#ifdef CONFIG_SYSCTL
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi);
> +#else
> +static inline void arch_do_physinfo(struct xen_sysctl_physinfo *pi) {};
> +#endif /* CONFIG_SYSCTL */
>  
>  #ifdef CONFIG_BOOT_TIME_CPUPOOLS
>  void btcpupools_allocate_pools(void);
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:37:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:37:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911043.1317602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVdU-0002M9-2h; Wed, 12 Mar 2025 23:37:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911043.1317602; Wed, 12 Mar 2025 23:37: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 1tsVdU-0002M2-0B; Wed, 12 Mar 2025 23:37:16 +0000
Received: by outflank-mailman (input) for mailman id 911043;
 Wed, 12 Mar 2025 23:37: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVdS-0002Lu-T2
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:37:14 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec208b49-ff9a-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 00:37:12 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 22C54A44E3A;
 Wed, 12 Mar 2025 23:31:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 633FFC4CEDD;
 Wed, 12 Mar 2025 23:37:10 +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: ec208b49-ff9a-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741822631;
	bh=zjXyfOS9vvbaRU96cq2Q4ht4XwOh41Qzp2pDER2KM+M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HVW8BJxYjReC62XR0aHAzd0JGGXevHBj+PN9OHIhsq9zaoT5U20NLzIb4MiyUfISl
	 3PjdlqCX5C1J5ufM7F4+/PQKjhxb5E91ufl0tP2Pmb8QPN9VpJRNFuussWgpq8riHr
	 gDTHQaIbpiBPbyKDObp980VPt3MpD4xf7fRcShNO3JIz1pcun5pZc1CtFJ/j1f4/id
	 8/I3AtspW1qh1GWo1ouksRCZuX+4ekt/1U1VBhyfN9jT9zkbhhzZjFs3rOyjGbWuHL
	 eImUkbNxV0Ae06tlM+tydkRDodIEA+Z574ebcQGLe1gD7SDBJfao67yDCJi8GoDyc4
	 7q0ESeGyQqxVA==
Date: Wed, 12 Mar 2025 16:37:08 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 16/19] xen/sysctl: wrap around
 XEN_SYSCTL_coverage_op
In-Reply-To: <20250312040632.2853485-17-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121636370.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-17-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> All coverage-related op shall be wrapped around with CONFIG_SYSCTL,
> so this commit makes CONFIG_COVERAGE depend on CONFIG_SYSCTL.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/Kconfig.debug | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
> index c4a8d86912..b226ca9b6e 100644
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -37,7 +37,7 @@ config SELF_TESTS
>  
>  config COVERAGE
>  	bool "Code coverage support"
> -	depends on !LIVEPATCH
> +	depends on !LIVEPATCH && SYSCTL
>  	select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS if !ENFORCE_UNIQUE_SYMBOLS
>  	help
>  	  Enable code coverage support.
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:38:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911053.1317612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVef-0002uP-Bf; Wed, 12 Mar 2025 23:38:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911053.1317612; Wed, 12 Mar 2025 23:38: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 1tsVef-0002uI-8w; Wed, 12 Mar 2025 23:38:29 +0000
Received: by outflank-mailman (input) for mailman id 911053;
 Wed, 12 Mar 2025 23:38: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVed-0002u6-HN
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:38:27 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 131fe1fa-ff9b-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:38:18 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 89B0CA44E4D;
 Wed, 12 Mar 2025 23:32:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1BBDC4CEDD;
 Wed, 12 Mar 2025 23: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: 131fe1fa-ff9b-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741822697;
	bh=7sLtySOIXizZt6wv3vwL2RjT0pgpsLe2ZaEJVVqlJtk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=arc5dwOzXj99pSrGFxiiKnlnnIGBWPWcWgUWJjCHJJp9HDUadCWr63qY9xBao5D5N
	 UCR76Ysy6zsChfsPH9gkVyHEp7QdVOEr6x9JHrVJPg5PrDkEznG5VnNJYzGd5V1SC/
	 kqJ0aZWe9J180Kbzw7UF51NE7Sto+4XsN529z9TjnGoA4E4R39Rg/J/GT/iVwzRREH
	 jkzjqwx/DIy/HnmjIJVjU1aoh5slxVs0Kf01bNLl8NOADLwOSpUJ5GzGTZGeyoTOKH
	 pH/d+yPVBjQKTzaGX3R/PgczXmfGFSfZGkoBsSYqhonypzN1/LdneyYI7Vn03ltx5/
	 LmE1KJ1pm4QnA==
Date: Wed, 12 Mar 2025 16:38:14 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 17/19] xen/sysctl: wrap around
 XEN_SYSCTL_livepatch_op
In-Reply-To: <20250312040632.2853485-18-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121638070.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-18-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> LIVEPATCH mechanism relies on LIVEPATCH_SYSCTL hypercall, so CONFIG_LIVEPATCH
> shall depend on CONFIG_SYSCTL
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


> ---
>  xen/common/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index fbaca097ff..583972f7e3 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -426,7 +426,7 @@ config CRYPTO
>  config LIVEPATCH
>  	bool "Live patching support"
>  	default X86
> -	depends on "$(XEN_HAS_BUILD_ID)" = "y"
> +	depends on "$(XEN_HAS_BUILD_ID)" = "y" && SYSCTL
>  	select CC_SPLIT_SECTIONS
>  	help
>  	  Allows a running Xen hypervisor to be dynamically patched using
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 12 23:44:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Mar 2025 23:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911068.1317623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsVkj-000113-1C; Wed, 12 Mar 2025 23:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911068.1317623; Wed, 12 Mar 2025 23:44: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 1tsVki-00010w-TQ; Wed, 12 Mar 2025 23:44:44 +0000
Received: by outflank-mailman (input) for mailman id 911068;
 Wed, 12 Mar 2025 23:44: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=K94u=V7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsVkh-00010q-13
 for xen-devel@lists.xenproject.org; Wed, 12 Mar 2025 23:44:43 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f742799e-ff9b-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 00:44:41 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0C8A45C4389;
 Wed, 12 Mar 2025 23:42:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 17203C4CEDD;
 Wed, 12 Mar 2025 23:44: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: f742799e-ff9b-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741823079;
	bh=Fzoai9hNhVa4E3SBOu5UK3XBi19c5TScm/jhwTK3riE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DgSbPWk7bOs2M+FubEa7dzrCGQsSMJFTzdpd3KJiu4Qo15YF57dgNYfXvwsR3eruW
	 UxnUJ1hmGOBMYHRHoVZbmURiKYgfLE/gJ4tlr9LBORPJEyO2vWRFkGYZSoaq0RhiGq
	 PfunB3UAAkgouDvrLR1o2qEjN6TttDsPxEEa828BgA0ppPa2xh7h2hBJUc7bwgxE/v
	 yfOV5ddLIE44cE9XzLCYPJoxhTfO2dQKdbs3vimV8r4XylFEBlkYAm7MjPnGGrBtGV
	 MIq6S3YMuX6aDM86QrhldmvT4C35dg0H6X+sadRk+lKSVRHhkmW01i0KEAulZ0E8wp
	 IWnJN3Cgs7tEg==
Date: Wed, 12 Mar 2025 16:44:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Bob Eshleman <bobbyeshleman@gmail.com>, 
    Connor Davis <connojdavis@gmail.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: Re: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
In-Reply-To: <20250312040632.2853485-19-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503121643380.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-19-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Mar 2025, Penny Zheng wrote:
> Function arch_do_sysctl is to perform arch-specific sysctl op.
> Some functions, like psr_get_info for x86, DTB overlay support for arm,
> are solely available through sysctl op, then they all shall be wrapped
> with CONFIG_SYSCTL
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/arch/arm/Kconfig           |  2 +-
>  xen/arch/arm/Makefile          |  2 +-
>  xen/arch/arm/sysctl.c          |  2 --
>  xen/arch/riscv/stubs.c         |  2 +-
>  xen/arch/x86/Makefile          |  2 +-
>  xen/arch/x86/include/asm/psr.h |  2 ++
>  xen/arch/x86/psr.c             | 18 ++++++++++++++++++
>  xen/arch/x86/sysctl.c          |  2 --
>  xen/include/xen/hypercall.h    |  8 ++++++++
>  9 files changed, 32 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index a26d3e1182..001e65b336 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -140,7 +140,7 @@ config HAS_ITS
>          depends on GICV3 && !NEW_VGIC && !ARM_32
>  
>  config OVERLAY_DTB
> -	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
> +	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED && SYSCTL
>  	help
>  	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
>  
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index fb0948f067..5819c7e4d3 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -54,7 +54,7 @@ obj-y += smpboot.o
>  obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
>  obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
>  obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
> -obj-y += sysctl.o
> +obj-$(CONFIG_SYSCTL) += sysctl.o
>  obj-y += time.o
>  obj-y += traps.o
>  obj-y += vcpreg.o
> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
> index 2d350b700a..32cab4feff 100644
> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -15,7 +15,6 @@
>  #include <asm/arm64/sve.h>
>  #include <public/sysctl.h>
>  
> -#ifdef CONFIG_SYSCTL

Why remove CONFIG_SYSCTL here?


>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
> @@ -23,7 +22,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>      pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>                                         XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>  }
> -#endif
>  
>  long arch_do_sysctl(struct xen_sysctl *sysctl,
>                      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
> index 0321ad57f0..28590efb65 100644
> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -322,13 +322,13 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from,
>  
>  /* sysctl.c */
>  
> +#ifdef CONFIG_SYSCTL
>  long arch_do_sysctl(struct xen_sysctl *sysctl,
>                      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>  {
>      BUG_ON("unimplemented");
>  }
>  
> -#ifdef CONFIG_SYSCTL
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      BUG_ON("unimplemented");
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index c763f80b0b..1949c4276e 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -79,7 +79,7 @@ ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
>  obj-y += domctl.o
>  obj-y += platform_hypercall.o
>  obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
> -obj-y += sysctl.o
> +obj-$(CONFIG_SYSCTL) += sysctl.o
>  endif
>  
>  extra-y += asm-macros.i
> diff --git a/xen/arch/x86/include/asm/psr.h b/xen/arch/x86/include/asm/psr.h
> index d21a59d98f..e466da7428 100644
> --- a/xen/arch/x86/include/asm/psr.h
> +++ b/xen/arch/x86/include/asm/psr.h
> @@ -75,8 +75,10 @@ static inline bool psr_cmt_enabled(void)
>  int psr_alloc_rmid(struct domain *d);
>  void psr_free_rmid(struct domain *d);
>  
> +#ifdef CONFIG_SYSCTL
>  int psr_get_info(unsigned int socket, enum psr_type type,
>                   uint32_t data[], unsigned int array_len);
> +#endif
>  int psr_get_val(struct domain *d, unsigned int socket,
>                  uint32_t *val, enum psr_type type);
>  int psr_set_val(struct domain *d, unsigned int socket,
> diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
> index 5815a35335..34d5de8d2c 100644
> --- a/xen/arch/x86/psr.c
> +++ b/xen/arch/x86/psr.c
> @@ -133,9 +133,11 @@ static const struct feat_props {
>       */
>      enum psr_type alt_type;
>  
> +#ifdef CONFIG_SYSCTL
>      /* 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);
> @@ -418,6 +420,7 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
>      return true;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static bool cf_check cat_get_feat_info(
>      const struct feat_node *feat, uint32_t data[], unsigned int array_len)
>  {
> @@ -430,6 +433,7 @@ static bool cf_check cat_get_feat_info(
>  
>      return true;
>  }
> +#endif
>  
>  /* L3 CAT props */
>  static void cf_check l3_cat_write_msr(
> @@ -442,11 +446,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
>      .get_feat_info = cat_get_feat_info,
> +#endif
>      .write_msr = l3_cat_write_msr,
>      .sanitize = cat_check_cbm,
>  };
>  
> +#ifdef CONFIG_SYSCTL
>  /* L3 CDP props */
>  static bool cf_check l3_cdp_get_feat_info(
>      const struct feat_node *feat, uint32_t data[], uint32_t array_len)
> @@ -458,6 +465,7 @@ static bool cf_check l3_cdp_get_feat_info(
>  
>      return true;
>  }
> +#endif
>  
>  static void cf_check l3_cdp_write_msr(
>      unsigned int cos, uint32_t val, enum psr_type type)
> @@ -473,7 +481,9 @@ 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
>      .get_feat_info = l3_cdp_get_feat_info,
> +#endif
>      .write_msr = l3_cdp_write_msr,
>      .sanitize = cat_check_cbm,
>  };
> @@ -489,11 +499,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
>      .get_feat_info = cat_get_feat_info,
> +#endif
>      .write_msr = l2_cat_write_msr,
>      .sanitize = cat_check_cbm,
>  };
>  
> +#ifdef CONFIG_SYSCTL
>  /* MBA props */
>  static bool cf_check mba_get_feat_info(
>      const struct feat_node *feat, uint32_t data[], unsigned int array_len)
> @@ -508,6 +521,7 @@ static bool cf_check mba_get_feat_info(
>  
>      return true;
>  }
> +#endif
>  
>  static void cf_check mba_write_msr(
>      unsigned int cos, uint32_t val, enum psr_type type)
> @@ -545,7 +559,9 @@ static const struct feat_props mba_props = {
>      .cos_num = 1,
>      .type[0] = PSR_TYPE_MBA_THRTL,
>      .alt_type = PSR_TYPE_UNKNOWN,
> +#ifdef CONFIG_SYSCTL
>      .get_feat_info = mba_get_feat_info,
> +#endif
>      .write_msr = mba_write_msr,
>      .sanitize = mba_sanitize_thrtl,
>  };
> @@ -808,6 +824,7 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
>      return socket_info + socket;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  int psr_get_info(unsigned int socket, enum psr_type type,
>                   uint32_t data[], unsigned int array_len)
>  {
> @@ -839,6 +856,7 @@ int psr_get_info(unsigned int socket, enum psr_type type,
>  
>      return -EINVAL;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  int psr_get_val(struct domain *d, unsigned int socket,
>                  uint32_t *val, enum psr_type type)
> diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
> index d7da476379..1b04947516 100644
> --- a/xen/arch/x86/sysctl.c
> +++ b/xen/arch/x86/sysctl.c
> @@ -91,7 +91,6 @@ static long cf_check smt_up_down_helper(void *data)
>      return ret;
>  }
>  
> -#ifdef CONFIG_SYSCTL

and also here?


>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
> @@ -105,7 +104,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>      if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
>          pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
>  }
> -#endif
>  
>  long arch_do_sysctl(
>      struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/include/xen/hypercall.h b/xen/include/xen/hypercall.h
> index 15b6be6ec8..d0ea64b332 100644
> --- a/xen/include/xen/hypercall.h
> +++ b/xen/include/xen/hypercall.h
> @@ -29,10 +29,18 @@ arch_do_domctl(
>      struct xen_domctl *domctl, struct domain *d,
>      XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
>  
> +#ifdef CONFIG_SYSCTL
>  extern long
>  arch_do_sysctl(
>      struct xen_sysctl *sysctl,
>      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl);
> +#else
> +static inline long arch_do_sysctl(struct xen_sysctl *sysctl,
> +                                  XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif
>  
>  extern long
>  pci_physdev_op(
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 02:16:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 02:16:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911110.1317633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsY7I-0005zk-Bv; Thu, 13 Mar 2025 02:16:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911110.1317633; Thu, 13 Mar 2025 02:16: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 1tsY7I-0005zd-8j; Thu, 13 Mar 2025 02:16:12 +0000
Received: by outflank-mailman (input) for mailman id 911110;
 Thu, 13 Mar 2025 02:16: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=js1q=WA=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1tsY7G-0005zE-Gu
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 02:16:10 +0000
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1946fcf3-ffb1-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 03:15:59 +0100 (CET)
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
 by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 12 Mar 2025 19:15:55 -0700
Received: from lkp-server02.sh.intel.com (HELO a4747d147074) ([10.239.97.151])
 by fmviesa004.fm.intel.com with ESMTP; 12 Mar 2025 19:15:31 -0700
Received: from kbuild by a4747d147074 with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1tsY6V-000936-1q;
 Thu, 13 Mar 2025 02:15: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: 1946fcf3-ffb1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1741832159; x=1773368159;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=96yJDyEP9BeK2cVK+9MUvmIHjdk7wR1LKgFfN3+p/fM=;
  b=G84TJZqugmG+cV2GRcJA7EejKnBYR0pjZP90LE3ccCKyLv7KBMjaqMhT
   zVyk6YCI7/tO/kZudICx5EWKOU8VFx0QCVGx5L3CuJ76G0PITa9edoetv
   mMWkWT8igplhb4JK89C3yZQjYiC4E++NwaFZrtom6s39asJ2hFoWXJldS
   IJPboUJQDhd20UjYrQM07NK1jNM0XDh9XdbJ6eJCQmXjxV2RWQVmj+8C7
   N/+28tnoc5sAAJWmWDPlr9uoN/vQ20hE/oBit76ULEIs+X0MxL/7lX2fC
   xP8m09RAkhpzLJrNYEKm2pUeK41EilJiXvYZAELNVLYqeF240+Vs/QqOp
   A==;
X-CSE-ConnectionGUID: oWo7LnZuT5mMfSAKkZt4uw==
X-CSE-MsgGUID: 57E4IgZzQmy3qr9zjwvqKg==
X-IronPort-AV: E=McAfee;i="6700,10204,11371"; a="43038844"
X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; 
   d="scan'208";a="43038844"
X-CSE-ConnectionGUID: KHahmpZOTNOqvrR+C7Song==
X-CSE-MsgGUID: H65afRTcQ5CspG2G7V7fvw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; 
   d="scan'208";a="125887063"
Date: Thu, 13 Mar 2025 10:15:12 +0800
From: kernel test robot <lkp@intel.com>
To: Thomas Zimmermann <tzimmermann@suse.de>, simona@ffwll.ch,
	airlied@gmail.com, mripard@kernel.org,
	maarten.lankhorst@linux.intel.com, geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev, linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org, virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Biju Das <biju.das.jz@bp.renesas.com>
Subject: Re: [PATCH v4 18/25] drm/renesas/rz-du: Compute dumb-buffer sizes
 with drm_mode_size_dumb()
Message-ID: <202503130956.VyNIuYfU-lkp@intel.com>
References: <20250311155120.442633-19-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250311155120.442633-19-tzimmermann@suse.de>

Hi Thomas,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20250311]
[also build test ERROR on v6.14-rc6]
[cannot apply to drm-exynos/exynos-drm-next rockchip/for-next tegra/for-next drm-xe/drm-xe-next linus/master v6.14-rc6 v6.14-rc5 v6.14-rc4]
[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/Thomas-Zimmermann/drm-dumb-buffers-Sanitize-output-on-errors/20250311-235818
base:   next-20250311
patch link:    https://lore.kernel.org/r/20250311155120.442633-19-tzimmermann%40suse.de
patch subject: [PATCH v4 18/25] drm/renesas/rz-du: Compute dumb-buffer sizes with drm_mode_size_dumb()
config: powerpc64-randconfig-003-20250313 (https://download.01.org/0day-ci/archive/20250313/202503130956.VyNIuYfU-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250313/202503130956.VyNIuYfU-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/202503130956.VyNIuYfU-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c: In function 'rzg2l_du_dumb_create':
>> drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c:80:15: error: implicit declaration of function 'drm_mode_size_dumb'; did you mean 'drm_mode_set_name'? [-Wimplicit-function-declaration]
      80 |         ret = drm_mode_size_dumb(dev, args, 16 * args->bpp / 8, 0);
         |               ^~~~~~~~~~~~~~~~~~
         |               drm_mode_set_name


vim +80 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c

    70	
    71	/* -----------------------------------------------------------------------------
    72	 * Frame buffer
    73	 */
    74	
    75	int rzg2l_du_dumb_create(struct drm_file *file, struct drm_device *dev,
    76				 struct drm_mode_create_dumb *args)
    77	{
    78		int ret;
    79	
  > 80		ret = drm_mode_size_dumb(dev, args, 16 * args->bpp / 8, 0);
    81		if (ret)
    82			return ret;
    83	
    84		return drm_gem_dma_dumb_create_internal(file, dev, args);
    85	}
    86	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 02:39:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 02:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911124.1317643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsYTs-0004ro-9C; Thu, 13 Mar 2025 02:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911124.1317643; Thu, 13 Mar 2025 02:39: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 1tsYTs-0004rh-5s; Thu, 13 Mar 2025 02:39:32 +0000
Received: by outflank-mailman (input) for mailman id 911124;
 Thu, 13 Mar 2025 02:39: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=L04T=WA=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tsYTq-0004rZ-I4
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 02:39:31 +0000
Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch
 [185.70.40.133]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6047658b-ffb4-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 03:39:24 +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: 6047658b-ffb4-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741833562; x=1742092762;
	bh=A7IUvS4kYW8IfUwPTZsrjBVUqNAzzBlmL2LwefwIiG4=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=PDZCtwpZ5gZHw7UL5wAh1bDueP0lKWn4QWSpviCwQ3JPF6dQ6LEukvtbKFyX4NLfi
	 yVyrcqiNQYi5OD09eUzq/tLCSPjhe8wiRCA82+xme3hiy5EDvl3oYjUnN8d8c5UIqk
	 dWnW2kPMAt/L9sXMJ0UcDvX5aWTQ+o9LycZxzz3U5GO8JH/Mx5e8IHBJtJ5YSNVz41
	 uwMYgd4L+se+M/YhSH4tJkBa7liR0PBJYvCCLC1qSVaAFfKRZ6pLHN+5kRlJLKMITo
	 7ueYZxhmF1b0Md6JcjdimwcWD1SCLU/KRsN7zth4/1eBuoha7xpD8u6W+7YUHtRESu
	 Rk2OiiCZKEIOQ==
Date: Thu, 13 Mar 2025 02:39:16 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2] x86/hvm: add HVM-specific Kconfig
Message-ID: <20250313023822.2523270-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 3abd2f6ab8b7bd7e32de09768e162955c676d8de
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Add a separate menu for configuring HVM build-time settings to better organ=
ize
HVM-specific options.

HVM options will now appear in a dedicated sub-menu in the menuconfig tool.

A new sub-menu, "Hardware Support for Virtualization" has been added for
selecting per-CPU vendor virtualization extensions on x86 systems.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes v1->v2:
- Added grouping for hardware virtualization extentions on x86
- Moved HVM options declarations as per review
- CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/1714049=
371
---
 xen/arch/x86/Kconfig     | 75 +--------------------------------------
 xen/arch/x86/hvm/Kconfig | 76 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+), 74 deletions(-)
 create mode 100644 xen/arch/x86/hvm/Kconfig

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6e41bc0fb4..18efdb2e31 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -107,42 +107,7 @@ config PV_LINEAR_PT
=20
          If unsure, say Y.
=20
-config HVM
-=09bool "HVM support"
-=09depends on !PV_SHIM_EXCLUSIVE
-=09default !PV_SHIM
-=09select COMPAT
-=09select IOREQ_SERVER
-=09select MEM_ACCESS_ALWAYS_ON
-=09help
-=09  Interfaces to support HVM domains.  HVM domains require hardware
-=09  virtualisation extensions (e.g. Intel VT-x, AMD SVM), but can boot
-=09  guests which have no specific Xen knowledge.
-
-=09  This option is needed if you want to run HVM or PVH domains.
-
-=09  If unsure, say Y.
-
-config AMD_SVM
-=09bool "AMD-V" if EXPERT
-=09depends on HVM
-=09default y
-=09help
-=09  Enables virtual machine extensions on platforms that implement the
-=09  AMD Virtualization Technology (AMD-V).
-=09  If your system includes a processor with AMD-V support, say Y.
-=09  If in doubt, say Y.
-
-config INTEL_VMX
-=09bool "Intel VT-x" if EXPERT
-=09depends on HVM
-=09default y
-=09select ARCH_VCPU_IOREQ_COMPLETION
-=09help
-=09  Enables virtual machine extensions on platforms that implement the
-=09  Intel Virtualization Technology (Intel VT-x).
-=09  If your system includes a processor with Intel VT-x support, say Y.
-=09  If in doubt, say Y.
+source "arch/x86/hvm/Kconfig"
=20
 config XEN_SHSTK
 =09bool "Supervisor Shadow Stacks"
@@ -201,25 +166,6 @@ config BIGMEM
=20
 =09  If unsure, say N.
=20
-config HVM_FEP
-=09bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
-=09default DEBUG
-=09depends on HVM
-=09help
-
-=09  Compiles in a feature that allows HVM guest to arbitrarily
-=09  exercise the instruction emulator.
-
-=09  This feature can only be enabled during boot time with
-=09  appropriate hypervisor command line option. Please read
-=09  hypervisor command line documentation before trying to use
-=09  this feature.
-
-=09  This is strictly for testing purposes, and not appropriate
-=09  for use in production.
-
-=09  If unsure, say N.
-
 config TBOOT
 =09bool "Xen tboot support (UNSUPPORTED)"
 =09depends on INTEL && UNSUPPORTED
@@ -348,14 +294,6 @@ config HYPERV_GUEST
=20
 endif
=20
-config MEM_PAGING
-=09bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
-=09depends on HVM
-
-config MEM_SHARING
-=09bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
-=09depends on HVM
-
 config REQUIRE_NX
 =09bool "Require NX (No eXecute) support"
 =09help
@@ -372,17 +310,6 @@ config REQUIRE_NX
 =09  was unavailable. However, if enabled, Xen will no longer boot on
 =09  any CPU which is lacking NX support.
=20
-config ALTP2M
-=09bool "Alternate P2M support" if EXPERT
-=09depends on INTEL_VMX
-=09default y
-=09help
-=09  Alternate-p2m allows a guest to manage multiple p2m guest physical
-=09  "memory views" (as opposed to a single p2m).
-=09  Useful for memory introspection.
-
-=09  If unsure, stay with defaults.
-
 config UCODE_SCAN_DEFAULT
 =09bool "Scan for microcode by default"
 =09help
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
new file mode 100644
index 0000000000..2ca664f36f
--- /dev/null
+++ b/xen/arch/x86/hvm/Kconfig
@@ -0,0 +1,76 @@
+menuconfig HVM
+=09bool "HVM support"
+=09depends on !PV_SHIM_EXCLUSIVE
+=09default !PV_SHIM
+=09select COMPAT
+=09select IOREQ_SERVER
+=09select MEM_ACCESS_ALWAYS_ON
+=09help
+=09  Interfaces to support HVM domains.  HVM domains require hardware
+=09  virtualisation extensions (e.g. Intel VT-x, AMD SVM), but can boot
+=09  guests which have no specific Xen knowledge.
+
+=09  This option is needed if you want to run HVM or PVH domains.
+
+=09  If unsure, say Y.
+
+if HVM
+
+menu "Hardware Support for Virtualization"
+
+config AMD_SVM
+=09bool "AMD-V" if AMD && EXPERT
+=09default y
+=09help
+=09  Enables virtual machine extensions on platforms that implement the
+=09  AMD Virtualization Technology (AMD-V).
+=09  If your system includes a processor with AMD-V support, say Y.
+=09  If in doubt, say Y.
+
+config INTEL_VMX
+=09bool "Intel VT-x" if INTEL && EXPERT
+=09default y
+=09select ARCH_VCPU_IOREQ_COMPLETION
+=09help
+=09  Enables virtual machine extensions on platforms that implement the
+=09  Intel Virtualization Technology (Intel VT-x).
+=09  If your system includes a processor with Intel VT-x support, say Y.
+=09  If in doubt, say Y.
+
+endmenu
+
+config HVM_FEP
+=09bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
+=09default DEBUG
+=09help
+=09  Compiles in a feature that allows HVM guest to arbitrarily
+=09  exercise the instruction emulator.
+
+=09  This feature can only be enabled during boot time with
+=09  appropriate hypervisor command line option. Please read
+=09  hypervisor command line documentation before trying to use
+=09  this feature.
+
+=09  This is strictly for testing purposes, and not appropriate
+=09  for use in production.
+
+=09  If unsure, say N.
+
+config ALTP2M
+=09bool "Alternate P2M support" if EXPERT
+=09depends on INTEL_VMX
+=09default y
+=09help
+=09  Alternate-p2m allows a guest to manage multiple p2m guest physical
+=09  "memory views" (as opposed to a single p2m).
+=09  Useful for memory introspection.
+
+=09  If unsure, stay with defaults.
+
+config MEM_PAGING
+=09bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
+
+config MEM_SHARING
+=09bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
+
+endif
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Thu Mar 13 02:41:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 02:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911135.1317653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsYVV-0006KD-J6; Thu, 13 Mar 2025 02:41:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911135.1317653; Thu, 13 Mar 2025 02:41: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 1tsYVV-0006K6-G2; Thu, 13 Mar 2025 02:41:13 +0000
Received: by outflank-mailman (input) for mailman id 911135;
 Thu, 13 Mar 2025 02:41: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=L04T=WA=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tsYVU-0006K0-Om
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 02:41:12 +0000
Received: from mail-40131.protonmail.ch (mail-40131.protonmail.ch
 [185.70.40.131]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9fb8ca25-ffb4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 03:41:11 +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: 9fb8ca25-ffb4-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741833670; x=1742092870;
	bh=grk1MRaKPZU7AU1uEI5ELCfZkc3UcabMef2F1CTXJOc=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=dNAcITirqMGOO2XDkTgiKXwbwiu5mIDAml+DAOQxol45sgRuM0dbhkafbCJzR8gqI
	 V2mKNtk7ZFeJMYyRjQoQQEHaFk9XcD+Ge54r+XbvjRrttH4O3HWs4hw4EPFCVDcsLG
	 o5Se82hkJriVAmACip+oUxclcBXW1R7O7QXZc0r1pHLSUf4DgUig+FBAQNiiIRn2kp
	 BSgQUfISPFeaknZCD02AMtzOQrEJEFUVCahLpnczvKC1YJl5M5ZT95bAdhVW29lJnv
	 b+BZvsVMpixMvISqUNggdLyzeGM8vcFP1w9eH8qxdISKwrYDAEyeE4x6/7Z2gdw8qo
	 V2uKxeBeXriNw==
Date: Thu, 13 Mar 2025 02:41:04 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/hvm: add HVM-specific Kconfig
Message-ID: <WA1oO_KWxB7ea-iyR665qjWssaqcWn6Wb0mRglHdw63-mr0cwb0IF5XO2voATCU5H4kimxAloJJpQxHVcPwDNyxFsuggFA_MxAylLIXmZOo=@proton.me>
In-Reply-To: <c037b420-d732-45fd-adc5-12792c1bc187@suse.com>
References: <20250207220302.4190210-1-dmukhin@ford.com> <c037b420-d732-45fd-adc5-12792c1bc187@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 877fd3e22d5336af9c03cdd293835972ff180892
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Monday, March 10th, 2025 at 3:36 AM, Jan Beulich <jbeulich@suse.com> wro=
te:

>=20
>=20
> On 07.02.2025 23:03, dmkhn@proton.me wrote:
>=20
> > Add separate menu for configuring HVM build-time settings to help organ=
izing
> > HVM-specific options.
> >=20
> > Signed-off-by: Denis Mukhin dmukhin@ford.com
>=20
>=20
> I think it would be nice if "organizing" was further qualified, to really=
 see
> why the change is being made. A particular benefit that Roger points out =
is
> that this way all HVM-dependent options moved here will then appear in a =
sub-
> menu like fashion in the tool.
>=20
> > --- a/xen/arch/x86/Kconfig
> > +++ b/xen/arch/x86/Kconfig
> > @@ -30,7 +30,6 @@ config X86
> > select HAS_SCHED_GRANULARITY
> > select HAS_UBSAN
> > select HAS_VMAP
> > - select HAS_VPCI if HVM
> > select NEEDS_LIBELF
>=20
>=20
> As said before, personally I'd prefer if this didn't move.

Fixed in v2, sorry overlooked that.

>=20
> > --- /dev/null
> > +++ b/xen/arch/x86/hvm/Kconfig
> > @@ -0,0 +1,73 @@
> > +menuconfig HVM
> > + bool "HVM support"
> > + depends on !PV_SHIM_EXCLUSIVE
> > + default !PV_SHIM
> > + select COMPAT
> > + select HAS_VPCI
> > + 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
> > + guests which have no specific Xen knowledge.
> > +
> > + This option is needed if you want to run HVM or PVH domains.
> > +
> > + If unsure, say Y.
> > +
> > +if HVM
> > +
> > +config AMD_SVM
> > + bool "AMD-V" if EXPERT
> > + default y
> > + help
> > + Enables virtual machine extensions on platforms that implement the
> > + AMD Virtualization Technology (AMD-V).
> > + If your system includes a processor with AMD-V support, say Y.
> > + If in doubt, say Y.
> > +
> > +config INTEL_VMX
> > + bool "Intel VT-x" if EXPERT
> > + default y
> > + select ARCH_VCPU_IOREQ_COMPLETION
> > + help
> > + Enables virtual machine extensions on platforms that implement the
> > + Intel Virtualization Technology (Intel VT-x).
> > + If your system includes a processor with Intel VT-x support, say Y.
> > + If in doubt, say Y.
>=20
>=20
> Perhaps not to be done right here, but still: I guess the "default" of th=
ese
> want to change to use AMD / INTEL respectively. While we permit enabling =
the
> virt extension support separately, generally there's little point doing s=
o
> by default when the corresponding CPU support code was disabled.

Addressed.

>=20
> > +config ALTP2M
> > + bool "Alternate P2M support" if EXPERT
> > + depends on INTEL_VMX
> > + default y
> > + help
> > + Alternate-p2m allows a guest to manage multiple p2m guest physical
> > + "memory views" (as opposed to a single p2m).
> > + Useful for memory introspection.
> > +
> > + If unsure, stay with defaults.
> > +
> > +config MEM_PAGING
> > + bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
> > +
> > +config MEM_SHARING
> > + bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
> > +
> > +config HVM_FEP
> > + bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORT=
ED
> > + default DEBUG
> > + help
> > + Compiles in a feature that allows HVM guest to arbitrarily
> > + exercise the instruction emulator.
> > +
> > + This feature can only be enabled during boot time with
> > + appropriate hypervisor command line option. Please read
> > + hypervisor command line documentation before trying to use
> > + this feature.
> > +
> > + This is strictly for testing purposes, and not appropriate
> > + for use in production.
> > +
> > + If unsure, say N.
>=20
>=20
> Please can this move ahead of at least the two MEM_* ones, maybe even ahe=
ad
> of ALTP2M?

Done.

>=20
> Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 03:59:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 03:59:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911171.1317663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsZjD-0004IL-TK; Thu, 13 Mar 2025 03:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911171.1317663; Thu, 13 Mar 2025 03:59: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 1tsZjD-0004IE-Pw; Thu, 13 Mar 2025 03:59:27 +0000
Received: by outflank-mailman (input) for mailman id 911171;
 Thu, 13 Mar 2025 03:59: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=js1q=WA=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1tsZjB-0004I8-Uq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 03:59:26 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 896de0f9-ffbf-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 04:59:19 +0100 (CET)
Received: from fmviesa009.fm.intel.com ([10.60.135.149])
 by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 12 Mar 2025 20:59:17 -0700
Received: from lkp-server02.sh.intel.com (HELO a4747d147074) ([10.239.97.151])
 by fmviesa009.fm.intel.com with ESMTP; 12 Mar 2025 20:59:12 -0700
Received: from kbuild by a4747d147074 with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1tsZij-00096K-1j;
 Thu, 13 Mar 2025 03:59: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>
X-Inumbo-ID: 896de0f9-ffbf-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1741838360; x=1773374360;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=cYwKWE3qx6aAxxggYpyZsccNMSnGdzKXacMIEiXDO/w=;
  b=Ah+qiOtYPxCbVH5r1cPmipzBw+A75LVf48ll/KZUFzkh40RDaD6+8kKj
   NS3Hwie4tSVsto0QKg1jDGT94sGXpAdBxj1xy6zn7BlfvwaQwdbuMSCEI
   cDXCfHGXfkIQ+G0BjCL26GLdD9N8J3baXV5iKvJfltBsRa/a3lDHByPMQ
   mBTU8Lo/v5ssohiVzZy+U/FZTJpTk5ThRG1HXzh+Puj2KMOayWtW+BdPu
   XvBukeaqQeQeHAL6IjW/NLKDylpQV3MoVXvfagK/K7BQe6hV4UPczL+2G
   Z7UnWMjCgTvXsvDEmSBkbIkkkfVkurEv7Xj9dxx5Fl1bnOaWWKBrIVVOQ
   A==;
X-CSE-ConnectionGUID: V2Vm3EoMTy60BywgVmBl7A==
X-CSE-MsgGUID: KjhTUhDMRPadX4r+57yWww==
X-IronPort-AV: E=McAfee;i="6700,10204,11371"; a="68294339"
X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; 
   d="scan'208";a="68294339"
X-CSE-ConnectionGUID: Jk/rBPr/R+CE+fsVXvv0Hg==
X-CSE-MsgGUID: rCVWNuURQ4Kucu2VbRCsgw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; 
   d="scan'208";a="121530505"
Date: Thu, 13 Mar 2025 11:58:50 +0800
From: kernel test robot <lkp@intel.com>
To: Thomas Zimmermann <tzimmermann@suse.de>, simona@ffwll.ch,
	airlied@gmail.com, mripard@kernel.org,
	maarten.lankhorst@linux.intel.com, geert@linux-m68k.org,
	tomi.valkeinen@ideasonboard.com
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org,
	freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org,
	imx@lists.linux.dev, linux-samsung-soc@vger.kernel.org,
	nouveau@lists.freedesktop.org, virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org,
	intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Biju Das <biju.das.jz@bp.renesas.com>
Subject: Re: [PATCH v4 18/25] drm/renesas/rz-du: Compute dumb-buffer sizes
 with drm_mode_size_dumb()
Message-ID: <202503131309.ZzS9Tova-lkp@intel.com>
References: <20250311155120.442633-19-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250311155120.442633-19-tzimmermann@suse.de>

Hi Thomas,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20250311]
[also build test ERROR on v6.14-rc6]
[cannot apply to drm-exynos/exynos-drm-next rockchip/for-next tegra/for-next drm-xe/drm-xe-next linus/master v6.14-rc6 v6.14-rc5 v6.14-rc4]
[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/Thomas-Zimmermann/drm-dumb-buffers-Sanitize-output-on-errors/20250311-235818
base:   next-20250311
patch link:    https://lore.kernel.org/r/20250311155120.442633-19-tzimmermann%40suse.de
patch subject: [PATCH v4 18/25] drm/renesas/rz-du: Compute dumb-buffer sizes with drm_mode_size_dumb()
config: i386-buildonly-randconfig-003-20250313 (https://download.01.org/0day-ci/archive/20250313/202503131309.ZzS9Tova-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250313/202503131309.ZzS9Tova-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/202503131309.ZzS9Tova-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c:10:
   In file included from include/drm/drm_atomic.h:31:
   In file included from include/drm/drm_crtc.h:32:
   In file included from include/drm/drm_modes.h:33:
   In file included from include/drm/drm_connector.h:32:
   In file included from include/drm/drm_util.h:36:
   In file included from include/linux/kgdb.h:19:
   In file included from include/linux/kprobes.h:28:
   In file included from include/linux/ftrace.h:13:
   In file included from include/linux/kallsyms.h:13:
   In file included from include/linux/mm.h:2296:
   include/linux/vmstat.h:507:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     507 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
>> drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c:80:8: error: call to undeclared function 'drm_mode_size_dumb'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      80 |         ret = drm_mode_size_dumb(dev, args, 16 * args->bpp / 8, 0);
         |               ^
   drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c:80:8: note: did you mean 'drm_mode_set_name'?
   include/drm/drm_modes.h:530:6: note: 'drm_mode_set_name' declared here
     530 | void drm_mode_set_name(struct drm_display_mode *mode);
         |      ^
   1 warning and 1 error generated.


vim +/drm_mode_size_dumb +80 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c

    70	
    71	/* -----------------------------------------------------------------------------
    72	 * Frame buffer
    73	 */
    74	
    75	int rzg2l_du_dumb_create(struct drm_file *file, struct drm_device *dev,
    76				 struct drm_mode_create_dumb *args)
    77	{
    78		int ret;
    79	
  > 80		ret = drm_mode_size_dumb(dev, args, 16 * args->bpp / 8, 0);
    81		if (ret)
    82			return ret;
    83	
    84		return drm_gem_dma_dumb_create_internal(file, dev, args);
    85	}
    86	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 06:30:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 06:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911217.1317673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsc5L-0001W7-BX; Thu, 13 Mar 2025 06:30:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911217.1317673; Thu, 13 Mar 2025 06:30: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 1tsc5L-0001W0-8X; Thu, 13 Mar 2025 06:30:27 +0000
Received: by outflank-mailman (input) for mailman id 911217;
 Thu, 13 Mar 2025 06:30: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=PjYM=WA=lst.de=hch@srs-se1.protection.inumbo.net>)
 id 1tsc5K-0001Vu-0D
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 06:30:26 +0000
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5623dfc-ffd4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 07:30:24 +0100 (CET)
Received: by verein.lst.de (Postfix, from userid 2407)
 id DBF1768C4E; Thu, 13 Mar 2025 07:30:19 +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: a5623dfc-ffd4-11ef-9ab9-95dc52dad729
Date: Thu, 13 Mar 2025 07:30:19 +0100
From: Christoph Hellwig <hch@lst.de>
To: Anuj Gupta <anuj20.g@samsung.com>
Cc: Jens Axboe <axboe@kernel.dk>, "Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Eugenio =?iso-8859-1?Q?P=E9rez?= <eperezma@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Maxim Levitsky <maximlevitsky@gmail.com>,
	Alex Dubov <oakad@yahoo.com>, Ulf Hansson <ulf.hansson@linaro.org>,
	Richard Weinberger <richard@nod.at>,
	Zhihao Cheng <chengzhihao1@huawei.com>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Sven Peter <sven@svenpeter.dev>, Janne Grunau <j@jannau.net>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	Keith Busch <kbusch@kernel.org>, Sagi Grimberg <sagi@grimberg.me>,
	James Smart <james.smart@broadcom.com>,
	Chaitanya Kulkarni <kch@nvidia.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org,
	linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org,
	asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] block: remove unused parameter
Message-ID: <20250313063019.GB9789@lst.de>
References: <CGME20250313040150epcas5p347f94dac34fd2946dea51049559ee1de@epcas5p3.samsung.com> <20250313035322.243239-1-anuj20.g@samsung.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250313035322.243239-1-anuj20.g@samsung.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 06:43:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 06:43:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911197.1317684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tscHS-0006fk-GJ; Thu, 13 Mar 2025 06:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911197.1317684; Thu, 13 Mar 2025 06:42: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 1tscHS-0006fd-BE; Thu, 13 Mar 2025 06:42:58 +0000
Received: by outflank-mailman (input) for mailman id 911197;
 Thu, 13 Mar 2025 05:14: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=+a2O=WA=samsung.com=anuj20.g@srs-se1.protection.inumbo.net>)
 id 1tsatT-0005Lm-TL
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 05:14:08 +0000
Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f495bd73-ffc9-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 06:13:56 +0100 (CET)
Received: from epcas5p1.samsung.com (unknown [182.195.41.39])
 by mailout3.samsung.com (KnoxPortal) with ESMTP id
 20250313051351epoutp0360b76a551a7d63bf808c8d1942858cff~sRNOxAcUO0801908019epoutp03N;
 Thu, 13 Mar 2025 05:13:51 +0000 (GMT)
Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by
 epcas5p2.samsung.com (KnoxPortal) with ESMTP id
 20250313051351epcas5p259ea25a093c959df9d8be994a07591ec~sRNOZ1lku1821918219epcas5p24;
 Thu, 13 Mar 2025 05:13:51 +0000 (GMT)
Received: from epsmgec5p1-new.samsung.com (unknown [182.195.38.175]) by
 epsnrtp3.localdomain (Postfix) with ESMTP id 4ZCwdT3d8sz4x9Pt; Thu, 13 Mar
 2025 05:13:49 +0000 (GMT)
Received: from epcas5p3.samsung.com ( [182.195.41.41]) by
 epsmgec5p1-new.samsung.com (Symantec Messaging Gateway) with SMTP id
 73.65.29212.D8962D76; Thu, 13 Mar 2025 14:13:49 +0900 (KST)
Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by
 epcas5p3.samsung.com (KnoxPortal) with ESMTPA id
 20250313040150epcas5p347f94dac34fd2946dea51049559ee1de~sQOWNZ2Q31805718057epcas5p3J;
 Thu, 13 Mar 2025 04:01:50 +0000 (GMT)
Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by
 epsmtrp1.samsung.com (KnoxPortal) with ESMTP id
 20250313040150epsmtrp1a7eed40ae47eb292a7062f705876c591~sQOWL7WLG1044810448epsmtrp1N;
 Thu, 13 Mar 2025 04:01:50 +0000 (GMT)
Received: from epsmtip1.samsung.com ( [182.195.34.30]) by
 epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id
 E8.6E.18729.EA852D76; Thu, 13 Mar 2025 13:01:50 +0900 (KST)
Received: from localhost.localdomain (unknown [107.99.41.245]) by
 epsmtip1.samsung.com (KnoxPortal) with ESMTPA id
 20250313040144epsmtip1810106b581625acc2fb4d4139e6c1a76~sQORBWe191683316833epsmtip1n;
 Thu, 13 Mar 2025 04:01:44 +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: f495bd73-ffc9-11ef-9898-31a8f345e629
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20250313051351epoutp0360b76a551a7d63bf808c8d1942858cff~sRNOxAcUO0801908019epoutp03N
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1741842831;
	bh=9Jmp5ZLIsyH8yuGTLV+R5+QG3R9RVCY2zlygWNpZ2tE=;
	h=From:To:Cc:Subject:Date:References:From;
	b=hNErEb6SN3cmVmZJ10VUrqkwy++BcWjx47Uo9UVTj83RDc1tAV3yuQQfjTzlac8my
	 AaSdViZdJopy4+rEh6F4vzhf0xvVNS5QTjWCmtEQvVdg+R3tRcd6EmmXBt3TeqisGv
	 m5iEG3kQ2yPOBKUfqeQhrnnpLdPo9QymdXyRYIr8=
X-AuditID: b6c32a50-801fa7000000721c-cc-67d2698d9fec
From: Anuj Gupta <anuj20.g@samsung.com>
To: Jens Axboe <axboe@kernel.dk>, "Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>, "Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>, Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	=?UTF-8?q?Eugenio=20P=C3=A9rez?= <eperezma@redhat.com>, Paolo Bonzini
	<pbonzini@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Juergen Gross
	<jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Oleksandr
	Tyshchenko <oleksandr_tyshchenko@epam.com>, Maxim Levitsky
	<maximlevitsky@gmail.com>, Alex Dubov <oakad@yahoo.com>, Ulf Hansson
	<ulf.hansson@linaro.org>, Richard Weinberger <richard@nod.at>, Zhihao Cheng
	<chengzhihao1@huawei.com>, Miquel Raynal <miquel.raynal@bootlin.com>,
	Vignesh Raghavendra <vigneshr@ti.com>, Sven Peter <sven@svenpeter.dev>,
	Janne Grunau <j@jannau.net>, Alyssa Rosenzweig <alyssa@rosenzweig.io>, Keith
	Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>, Sagi Grimberg
	<sagi@grimberg.me>, James Smart <james.smart@broadcom.com>, Chaitanya
	Kulkarni <kch@nvidia.com>, "James E.J. Bottomley"
	<James.Bottomley@HansenPartnership.com>, "Martin K. Petersen"
	<martin.petersen@oracle.com>
Cc: Anuj Gupta <anuj20.g@samsung.com>, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org, linux-mmc@vger.kernel.org,
	linux-mtd@lists.infradead.org, asahi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org, linux-nvme@lists.infradead.org,
	linux-scsi@vger.kernel.org
Subject: [PATCH] block: remove unused parameter
Date: Thu, 13 Mar 2025 09:23:18 +0530
Message-Id: <20250313035322.243239-1-anuj20.g@samsung.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA01TeVCUZRye9/v2ghFaEeIdksBNJSxglzheSMrK8ps0hxFNh8GBHfhaCNhd
	dhdCmojh8ABhETRlOdqII1gDXBBZDs0FOYc7KK4UhCJAQFAX2IBYdy3/e57n/T2/650fAzcb
	plsxQvgSUsTnhrFoxpTqRnt7h9SQPh5b3m6BqjrSAIpPX8fR6oApUoxJaagsuxNDD3NL6Ki6
	o4KOShT3MFT+kw+6IWWguh8eY6iobxlDOUPO6JHyMgVlqAcBmhqQYUj5cJCKGobfQv21OTTU
	tCkFqC6+iI6+L5qio5TfamiouGUDQ3Nt+XTUeO42FW2uzVDReLMCRytaLRXdqd6gokzVHEDX
	un+korLZBQpSlPmj2YxNKvpnZBNDLT+fRJudi3R071YJFWmqMjE0GI8O2BN5178mZPc7acRs
	ZjogRgtVgFDJxuhE9x83KMR3Ge00IrHpEZXomBvFiF9+jcOJ/s5IQll6gUaMDtbTCNW4B1FZ
	8C0xXZkFvK19Q/cHk9wgUmRL8gMFQSF8nhfrsI//R/6ubmyOA8cDubNs+dxw0ot18Ii3wych
	YVvLZdlGccMityRvrljMcnpvv0gQKSFtgwViiReLFAaFCV2EjmJuuDiSz3PkkxJPDpvt7LoV
	GBAa3LyYjwuTP4+emxzC40AmkQyMGJDpAgu66qjJwJhhxqwHsODBHZqeLAE40rBoIM8ArK1P
	oyQDxnPLvNpHrzcA2Jxwha4nywDmPZvBdHlpTDvY9FcS0D2YM8eMYGpVHaYjOHMMgyW9T2m6
	qB1MJ5i7nErTpaUw98BhdYRONmF6wt9bByj6Bm1gVp+Grte3w7asyec6vqUn3MzGdTkhM9kY
	Pq68D/SGg3B0KQ3T4x1wpqWKrsdW8G/pWQPmwZX+KUOMECY03zZ434dJ7VJc1w/OtIfltU56
	2RpeaS/D9HVNYap20mA1gTV5LzALnivJMWAIG7riDJiAhfJEoEtpxjwNNUOx6cBG9tI0spem
	kf1fWA7wUmBFCsXhPDLQVchx4JNf/fezgYJwJXh+ZPu8a4CiYt1RDTAGUAPIwFnmJgqvHp6Z
	SRD3TAwpEviLIsNIsRq4bq34Em5lESjYulK+xJ/j4sF2cXNzc/F4x43DsjRJUCXyzJg8roQM
	JUkhKXrhwxhGVnGYsttz+Y3sTbKHBV5Xm6/GJg1GkwPmKiCXdjufONSa0v7nkyfa+UMXPvbT
	SPHtCbeWYk/2vKbdfalj+k3BivW2iVOrnndDj7LbrK7u9Q0pdteqC0Z7C86qul7Z9cWHp6qP
	fNkb4XKebyObkAY9tZxq6+LbT2QfT+UtXR1j9322993izLZPnRaz3ccfrPmsa/3g0HzkWl3E
	RQfzo9tOFEpPbyy+/YGcZ6SUx6wu2DCWm2NNQ1Lsyh0br48Vli4HNB5rtz9ju9papMxdulyR
	FHU++rhmZKN8jyX7sGLX3eiAV9dUKoupcKdvGo9F3RzI33mg1n36mmYwZsHPrnJV47uzJGt0
	dzOLIg7mcvbhIjH3X+zuQzrtBAAA
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0xTdxjG+Z97WdADdOEAk2kzQsBR6TaTV7MxYrLl+IFEUx2OZYFGzoqR
	S9cC22AqMJ0CqSBdJlTYvFGFOhjYAS1j03IrMoIDYQOqGykExm0omVxq21nZEr+9z+/3JM+X
	l8EDTpEhzJGMLEGdoUiTUL5Ec4ckLLr+0KAyxuQKAlPfWQSFZS4c1oY3gfF+KQX1F/oxcFTX
	0tDc9z0NtcYuDBquy6GxlIG2Sw8xMAwuY1A1+hosNH1FQLl1BMHUsB6DJscICe1j22HIUkVB
	p6cUQVuhgYZvDVM0lPzWSsG1HjcG872Xaeg4/RMJnvVZEia6jTisOp0k/NzsJkFnnkdQMXCF
	hPq5vwkw1ifBXLmHhCfjHgx6vksAT/8SDV0ttSSsmHQYjBRCXCT/zY08Xv9HP8XP6coQb68x
	I96sv0/zAw8aCf7r8jsUf7JzgeT75u0Yf+tePs4P9WfzTXVFFG8f+ZHizRO7+JtXT/AzNyvR
	vi2Jvm+mCGlHcgT1jthk39Tupcu4qvi9T+cnR/F8pOOLEcNw7BvcolVejHyZALYNce2lNqIY
	iZ5yjrvzlwFt3IFcrXua3ig9RJxl5SLmFRQbwXVOn0JeIWb/EXFVLi3mDTg7jXFnxm9T3lYg
	u4OrXtZS3jmCDefGrB97sR+7m/vdNvzf2stc5eAKvcH9ud7KyWccf8q/+OECXoY26Z9T+ufU
	RYTVoWBBpUlXpmtkKlmG8IlUo0jXZGcopYcz05vQs0+JimxFLXVLUivCGGRFHINLxH7Gt+4q
	A/xSFJ/lCurMJHV2mqCxolCGkAT5Bc1oUwJYpSJLOCoIKkH9v8UYUUg+NjS7c82TvCiPrCyx
	+4eZ8ra4XqwoaR3T7G3Rnl7YtuoMP2cT1eRmhTR8aInziR8XH7j+iv9azrHNNT4FO+fWH2OH
	o+M9itcdvdWTRVWxWtfVCvKx9oT4rCNTbk5IXPtyr8ge9YLqjKl9/yN/54EZmf5z/J2xsKnk
	ocTzPX/umt5TvSAL3JObquo6f3J7aKZt8dE1lSwYOZeN63yr4+1j3QU5YZ6Uu5eOU9LVmNCG
	6IJ1S7whoeWDiYO6zS99JFbKHefcq3nB4bExE6/+Opz37u7bdXZbxOz+g2IiqPEX51Zp0q0H
	DdlPOopi9/UedY8et8jKEuOMPgOSexFb29+nbijHJYQmVSGLwtUaxb96QmhXmAMAAA==
X-CMS-MailID: 20250313040150epcas5p347f94dac34fd2946dea51049559ee1de
X-Msg-Generator: CA
Content-Type: text/plain; charset="utf-8"
X-Sendblock-Type: REQ_APPROVE
CMS-TYPE: 105P
DLP-Filter: Pass
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20250313040150epcas5p347f94dac34fd2946dea51049559ee1de
References: <CGME20250313040150epcas5p347f94dac34fd2946dea51049559ee1de@epcas5p3.samsung.com>

request_queue param is not used by blk_rq_map_sg and __blk_rq_map_sg.
remove it.

Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
---
 block/blk-merge.c                   | 4 ++--
 block/bsg-lib.c                     | 2 +-
 drivers/block/mtip32xx/mtip32xx.c   | 2 +-
 drivers/block/rnbd/rnbd-clt.c       | 2 +-
 drivers/block/sunvdc.c              | 2 +-
 drivers/block/virtio_blk.c          | 2 +-
 drivers/block/xen-blkfront.c        | 2 +-
 drivers/memstick/core/ms_block.c    | 2 +-
 drivers/memstick/core/mspro_block.c | 4 +---
 drivers/mmc/core/queue.c            | 2 +-
 drivers/mtd/ubi/block.c             | 2 +-
 drivers/nvme/host/apple.c           | 2 +-
 drivers/nvme/host/fc.c              | 2 +-
 drivers/nvme/host/pci.c             | 2 +-
 drivers/nvme/host/rdma.c            | 3 +--
 drivers/nvme/target/loop.c          | 2 +-
 drivers/scsi/scsi_lib.c             | 2 +-
 include/linux/blk-mq.h              | 9 ++++-----
 18 files changed, 22 insertions(+), 26 deletions(-)

diff --git a/block/blk-merge.c b/block/blk-merge.c
index 1d1589c35297..fdd4efb54c6c 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -551,8 +551,8 @@ static inline struct scatterlist *blk_next_sg(struct scatterlist **sg,
  * Map a request to scatterlist, return number of sg entries setup. Caller
  * must make sure sg can hold rq->nr_phys_segments entries.
  */
-int __blk_rq_map_sg(struct request_queue *q, struct request *rq,
-		struct scatterlist *sglist, struct scatterlist **last_sg)
+int __blk_rq_map_sg(struct request *rq, struct scatterlist *sglist,
+		    struct scatterlist **last_sg)
 {
 	struct req_iterator iter = {
 		.bio	= rq->bio,
diff --git a/block/bsg-lib.c b/block/bsg-lib.c
index 93523d8f8195..9ceb5d0832f5 100644
--- a/block/bsg-lib.c
+++ b/block/bsg-lib.c
@@ -219,7 +219,7 @@ static int bsg_map_buffer(struct bsg_buffer *buf, struct request *req)
 	if (!buf->sg_list)
 		return -ENOMEM;
 	sg_init_table(buf->sg_list, req->nr_phys_segments);
-	buf->sg_cnt = blk_rq_map_sg(req->q, req, buf->sg_list);
+	buf->sg_cnt = blk_rq_map_sg(req, buf->sg_list);
 	buf->payload_len = blk_rq_bytes(req);
 	return 0;
 }
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index 95361099a2dc..0d619df03fa9 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -2056,7 +2056,7 @@ static void mtip_hw_submit_io(struct driver_data *dd, struct request *rq,
 	unsigned int nents;
 
 	/* Map the scatter list for DMA access */
-	nents = blk_rq_map_sg(hctx->queue, rq, command->sg);
+	nents = blk_rq_map_sg(rq, command->sg);
 	nents = dma_map_sg(&dd->pdev->dev, command->sg, nents, dma_dir);
 
 	prefetch(&port->flags);
diff --git a/drivers/block/rnbd/rnbd-clt.c b/drivers/block/rnbd/rnbd-clt.c
index 82467ecde7ec..15627417f12e 100644
--- a/drivers/block/rnbd/rnbd-clt.c
+++ b/drivers/block/rnbd/rnbd-clt.c
@@ -1010,7 +1010,7 @@ static int rnbd_client_xfer_request(struct rnbd_clt_dev *dev,
 	 * See queue limits.
 	 */
 	if ((req_op(rq) != REQ_OP_DISCARD) && (req_op(rq) != REQ_OP_WRITE_ZEROES))
-		sg_cnt = blk_rq_map_sg(dev->queue, rq, iu->sgt.sgl);
+		sg_cnt = blk_rq_map_sg(rq, iu->sgt.sgl);
 
 	if (sg_cnt == 0)
 		sg_mark_end(&iu->sgt.sgl[0]);
diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
index 282f81616a78..2b33fb5b949b 100644
--- a/drivers/block/sunvdc.c
+++ b/drivers/block/sunvdc.c
@@ -485,7 +485,7 @@ static int __send_request(struct request *req)
 	}
 
 	sg_init_table(sg, port->ring_cookies);
-	nsg = blk_rq_map_sg(req->q, req, sg);
+	nsg = blk_rq_map_sg(req, sg);
 
 	len = 0;
 	for (i = 0; i < nsg; i++)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 6a61ec35f426..a3df4d49bd46 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -226,7 +226,7 @@ static int virtblk_map_data(struct blk_mq_hw_ctx *hctx, struct request *req,
 	if (unlikely(err))
 		return -ENOMEM;
 
-	return blk_rq_map_sg(hctx->queue, req, vbr->sg_table.sgl);
+	return blk_rq_map_sg(req, vbr->sg_table.sgl);
 }
 
 static void virtblk_cleanup_cmd(struct request *req)
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index edcd08a9dcef..5babe575c288 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -751,7 +751,7 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
 	id = blkif_ring_get_request(rinfo, req, &final_ring_req);
 	ring_req = &rinfo->shadow[id].req;
 
-	num_sg = blk_rq_map_sg(req->q, req, rinfo->shadow[id].sg);
+	num_sg = blk_rq_map_sg(req, rinfo->shadow[id].sg);
 	num_grant = 0;
 	/* Calculate the number of grant used */
 	for_each_sg(rinfo->shadow[id].sg, sg, num_sg, i)
diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_block.c
index 5b617c1f6789..f4398383ae06 100644
--- a/drivers/memstick/core/ms_block.c
+++ b/drivers/memstick/core/ms_block.c
@@ -1904,7 +1904,7 @@ static void msb_io_work(struct work_struct *work)
 
 		/* process the request */
 		dbg_verbose("IO: processing new request");
-		blk_rq_map_sg(msb->queue, req, sg);
+		blk_rq_map_sg(req, sg);
 
 		lba = blk_rq_pos(req);
 
diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/mspro_block.c
index 634d343b6bdb..c9853d887d28 100644
--- a/drivers/memstick/core/mspro_block.c
+++ b/drivers/memstick/core/mspro_block.c
@@ -627,9 +627,7 @@ static int mspro_block_issue_req(struct memstick_dev *card)
 	while (true) {
 		msb->current_page = 0;
 		msb->current_seg = 0;
-		msb->seg_count = blk_rq_map_sg(msb->block_req->q,
-					       msb->block_req,
-					       msb->req_sg);
+		msb->seg_count = blk_rq_map_sg(msb->block_req, msb->req_sg);
 
 		if (!msb->seg_count) {
 			unsigned int bytes = blk_rq_cur_bytes(msb->block_req);
diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
index ab662f502fe7..3ba62f825b84 100644
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -523,5 +523,5 @@ unsigned int mmc_queue_map_sg(struct mmc_queue *mq, struct mmc_queue_req *mqrq)
 {
 	struct request *req = mmc_queue_req_to_req(mqrq);
 
-	return blk_rq_map_sg(mq->queue, req, mqrq->sg);
+	return blk_rq_map_sg(req, mqrq->sg);
 }
diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
index 2836905f0152..39cc0a6a4d37 100644
--- a/drivers/mtd/ubi/block.c
+++ b/drivers/mtd/ubi/block.c
@@ -199,7 +199,7 @@ static blk_status_t ubiblock_read(struct request *req)
 	 * and ubi_read_sg() will check that limit.
 	 */
 	ubi_sgl_init(&pdu->usgl);
-	blk_rq_map_sg(req->q, req, pdu->usgl.sg);
+	blk_rq_map_sg(req, pdu->usgl.sg);
 
 	while (bytes_left) {
 		/*
diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c
index a060f69558e7..a437eee741e1 100644
--- a/drivers/nvme/host/apple.c
+++ b/drivers/nvme/host/apple.c
@@ -525,7 +525,7 @@ static blk_status_t apple_nvme_map_data(struct apple_nvme *anv,
 	if (!iod->sg)
 		return BLK_STS_RESOURCE;
 	sg_init_table(iod->sg, blk_rq_nr_phys_segments(req));
-	iod->nents = blk_rq_map_sg(req->q, req, iod->sg);
+	iod->nents = blk_rq_map_sg(req, iod->sg);
 	if (!iod->nents)
 		goto out_free_sg;
 
diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
index b9929a5a7f4e..1b5ad1173bc7 100644
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -2571,7 +2571,7 @@ nvme_fc_map_data(struct nvme_fc_ctrl *ctrl, struct request *rq,
 	if (ret)
 		return -ENOMEM;
 
-	op->nents = blk_rq_map_sg(rq->q, rq, freq->sg_table.sgl);
+	op->nents = blk_rq_map_sg(rq, freq->sg_table.sgl);
 	WARN_ON(op->nents > blk_rq_nr_phys_segments(rq));
 	freq->sg_cnt = fc_dma_map_sg(ctrl->lport->dev, freq->sg_table.sgl,
 				op->nents, rq_dma_dir(rq));
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 950289405ef2..a0b1c57067aa 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -812,7 +812,7 @@ static blk_status_t nvme_map_data(struct nvme_dev *dev, struct request *req,
 	if (!iod->sgt.sgl)
 		return BLK_STS_RESOURCE;
 	sg_init_table(iod->sgt.sgl, blk_rq_nr_phys_segments(req));
-	iod->sgt.orig_nents = blk_rq_map_sg(req->q, req, iod->sgt.sgl);
+	iod->sgt.orig_nents = blk_rq_map_sg(req, iod->sgt.sgl);
 	if (!iod->sgt.orig_nents)
 		goto out_free_sg;
 
diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c
index 86a2891d9bcc..b5a0295b5bf4 100644
--- a/drivers/nvme/host/rdma.c
+++ b/drivers/nvme/host/rdma.c
@@ -1476,8 +1476,7 @@ static int nvme_rdma_dma_map_req(struct ib_device *ibdev, struct request *rq,
 	if (ret)
 		return -ENOMEM;
 
-	req->data_sgl.nents = blk_rq_map_sg(rq->q, rq,
-					    req->data_sgl.sg_table.sgl);
+	req->data_sgl.nents = blk_rq_map_sg(rq, req->data_sgl.sg_table.sgl);
 
 	*count = ib_dma_map_sg(ibdev, req->data_sgl.sg_table.sgl,
 			       req->data_sgl.nents, rq_dma_dir(rq));
diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
index a9d112d34d4f..a5c41144667c 100644
--- a/drivers/nvme/target/loop.c
+++ b/drivers/nvme/target/loop.c
@@ -162,7 +162,7 @@ static blk_status_t nvme_loop_queue_rq(struct blk_mq_hw_ctx *hctx,
 		}
 
 		iod->req.sg = iod->sg_table.sgl;
-		iod->req.sg_cnt = blk_rq_map_sg(req->q, req, iod->sg_table.sgl);
+		iod->req.sg_cnt = blk_rq_map_sg(req, iod->sg_table.sgl);
 		iod->req.transfer_len = blk_rq_payload_bytes(req);
 	}
 
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index f1cfe0bb89b2..0d29470e86b0 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1149,7 +1149,7 @@ blk_status_t scsi_alloc_sgtables(struct scsi_cmnd *cmd)
 	 * Next, walk the list, and fill in the addresses and sizes of
 	 * each segment.
 	 */
-	count = __blk_rq_map_sg(rq->q, rq, cmd->sdb.table.sgl, &last_sg);
+	count = __blk_rq_map_sg(rq, cmd->sdb.table.sgl, &last_sg);
 
 	if (blk_rq_bytes(rq) & rq->q->limits.dma_pad_mask) {
 		unsigned int pad_len =
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
index fa2a76cc2f73..f2eff998913d 100644
--- a/include/linux/blk-mq.h
+++ b/include/linux/blk-mq.h
@@ -1165,14 +1165,13 @@ static inline unsigned short blk_rq_nr_discard_segments(struct request *rq)
 	return max_t(unsigned short, rq->nr_phys_segments, 1);
 }
 
-int __blk_rq_map_sg(struct request_queue *q, struct request *rq,
-		struct scatterlist *sglist, struct scatterlist **last_sg);
-static inline int blk_rq_map_sg(struct request_queue *q, struct request *rq,
-		struct scatterlist *sglist)
+int __blk_rq_map_sg(struct request *rq, struct scatterlist *sglist,
+		struct scatterlist **last_sg);
+static inline int blk_rq_map_sg(struct request *rq, struct scatterlist *sglist)
 {
 	struct scatterlist *last_sg = NULL;
 
-	return __blk_rq_map_sg(q, rq, sglist, &last_sg);
+	return __blk_rq_map_sg(rq, sglist, &last_sg);
 }
 void blk_dump_rq_flags(struct request *, char *);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 06:52:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 06:52:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911241.1317693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tscQP-0008Kk-D8; Thu, 13 Mar 2025 06:52:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911241.1317693; Thu, 13 Mar 2025 06:52: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 1tscQP-0008Kd-A3; Thu, 13 Mar 2025 06:52:13 +0000
Received: by outflank-mailman (input) for mailman id 911241;
 Thu, 13 Mar 2025 06:52: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=UDpV=WA=boeing.com=Anderson.Choi@srs-se1.protection.inumbo.net>)
 id 1tscQN-0008KX-UG
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 06:52:12 +0000
Received: from ewa-mbsout-02.mbs.boeing.net (ewa-mbsout-02.mbs.boeing.net
 [130.76.20.195]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad90563c-ffd7-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 07:52:09 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by ewa-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52D6q4Fq039436; Wed, 12 Mar 2025 23:52:05 -0700
Received: from XCH16-03-01.nos.boeing.com (xch16-03-01.nos.boeing.com
 [137.137.111.10])
 by ewa-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52D6pr6g039369
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Wed, 12 Mar 2025 23:51:53 -0700
Received: from XCH16-07-06.nos.boeing.com (137.137.111.39) by
 XCH16-03-01.nos.boeing.com (137.137.111.10) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Wed, 12 Mar 2025 23:51:52 -0700
Received: from XCH19-EDGE-Q02.nos.boeing.com (130.76.23.14) by
 XCH16-07-06.nos.boeing.com (137.137.111.39) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44 via Frontend Transport; Wed, 12 Mar 2025 23:51:52 -0700
Received: from USG02-BN3-obe.outbound.protection.office365.us (23.103.199.149)
 by boeing.com (130.76.23.14) with Microsoft SMTP Server
 (version=TLS1_2, 
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Wed, 12 Mar
 2025 23:51:50 -0700
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:19b::17)
 by SA1P110MB1038.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:171::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.37; Thu, 13 Mar
 2025 06:51:49 +0000
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d]) by BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d%6]) with mapi id 15.20.8489.033; Thu, 13 Mar 2025
 06:51: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: ad90563c-ffd7-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1741848725;
	bh=SsIpSQRIgi5CFieI6zDT5nb8o4DTTGNAzd8wdVzGX9A=;
	h=From:To:CC:Subject:Date:From;
	b=S1dD4SGF1p8rqxQco0bGgJxRZcID/U7uY6vc2Sg6SOOHMs5m/xyVs5Pm2UEcSyNHE
	 WdmkqyyzCLKQ9FOFYEc7O7CL2R89hzst+Plm+Q2pfAovpe7/Vx2aGoY8shYyOnoTj2
	 Pfn6RGsbp1jcTFwiPT9qkaBDbX+no7qpq0Bckj3j/MCwtKWubUWILP93q6Jt7irjLd
	 KQw+QZoslM/ZBgc3910arRjROYR3vO6yzAzeF5rgSvDBeC4DhYby0rGfEHror1dB4N
	 lfT06obpPk8rKGJILo06MCnM7ZnDn+SbTcn/cvxhsVpfsDv3lkBZbNcXfgsZjLS3Gy
	 7SJzFBLumJC3A==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=kbyhGnlNy3ZjsTUtpf6HN4NsydaAp04oJ13IARrL/PO2V0LmeUTo0yVFDu6uHGcWWjoJ/0MTljE0q3N5ENNwaMW72TnGj11tUHojHzU5OM3GM/q6+Slbxy2ugcG1iIf08+YAJ6/8bJGCLSr6Ks4VZjTw9i9q2xTlbeN5aZWvtJmQYU/UQaeTMzA8CaYNZWN7HfUJBhpPJFDeGo2J/MyL+Ewo/ErrxqLQk1IeD/aYP9LVIhbA5WCPlAgSFm/8IhpAfOAHW5R2C5fSWzGpjJn6VKMiy6YtG6vFyCDzfOU1Rn+X0l7LXmfuGnkTK9+OKThMkaTf7JABswNtRRNrWuceXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SsIpSQRIgi5CFieI6zDT5nb8o4DTTGNAzd8wdVzGX9A=;
 b=sqG+yJWpAQyIijGp0DLKBQFhtuUsiZVJz2YL0RlHzj7Hra5LlhZdIwJqXTaTeRWaqaCAMVPhOwqjmHEqXDQm6hXd1SIB6J4XdutJMPmQnmjimexxeeS1XcazHQHOBzpyGZTZNRN2LYHOYBx81ziBIocdUZ/Q9UeYpxY2OoEcaXTIFQ3qONhPnZu8ch1jp0viiyZEEKQtbpxHwochyAf7++T4OX/m6zoxMqlAgvIYgxBlb2n9XhUJm5396NISgWRg+E9eS+EEdZMlUjvv3I/4VhrnQItucq44SKKmeXNvcDswrPNBK/kuMgLlBrJQXwxVf8ZrXr5Ucsv6JY5fH1pXPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=boeing.com; dmarc=pass action=none header.from=boeing.com;
 dkim=pass header.d=boeing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=boeing.onmicrosoft.com; s=selector1-boeing-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SsIpSQRIgi5CFieI6zDT5nb8o4DTTGNAzd8wdVzGX9A=;
 b=I7j3PgWFO29fe1DjPmtHVk9f2I0KCXh7uhImT7NeiKxcg/mZ4g2BU/tFper/fTGnIV5Fj1nsQTVc31rJosqCB/X+fok0L75Ks8hYUSoLjtAaHQa1crKQyAEdE45pXC/h8N7/EPCczKJ08tYf98+Pzavh73rCyojKsMTCV3cGf4k=
From: "Choi, Anderson" <Anderson.Choi@boeing.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
        "stewart@stew.dk" <stewart@stew.dk>,
        "Weber (US), Matthew L"
	<matthew.l.weber3@boeing.com>,
        "Whitehead (US), Joshua C"
	<joshua.c.whitehead@boeing.com>
Subject: Discussion on unexpected behavior of ARINC653 scheduler
Thread-Topic: Discussion on unexpected behavior of ARINC653 scheduler
Thread-Index: AduT5GPU8k+LryI1RQGgVtY2Yt6hPw==
Date: Thu, 13 Mar 2025 06:51:49 +0000
Message-ID: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.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=boeing.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB2148:EE_|SA1P110MB1038:EE_
x-ms-office365-filtering-correlation-id: 294f07f9-634d-41e8-5a78-08dd61fb87ab
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?LfPCqj9uzRbihleVn6HR/Pfh0lCaTW/ph1U0wK2+YIjV+xjxuIRAg3dgQJ1G?=
 =?us-ascii?Q?oINvM1Xr2za0CwGd3i3hahIkrGK2P29axaM+d2w5xfOV41WZUQKDVFF3HwmP?=
 =?us-ascii?Q?FD0GkhlmuFoTiJZkGt+XoI6VEAPkx0AbXwpwnE8LnCW25tphHvHF6M/TFtT4?=
 =?us-ascii?Q?jpNH3c7HrLZ5ggPT9iTqH9ac0KMeR08odxA6+ozeA9r6uHet+FMJYnvno/bq?=
 =?us-ascii?Q?7r1ZAc6N83Hg25YoCCqCA4aadc1VAoqXUmZizFYX8xx/KJpAtlhCH06Jg8NX?=
 =?us-ascii?Q?AfoeognlYEwMbgXb/O/M5n8ZS0nUC+6BDfX16woA/mPOHYEFWgklAlyn/k7a?=
 =?us-ascii?Q?EyhfWznbwQN0GvKTGKlNP+DTYAeZAJg/8YCDcdrOwQnTznKcRhmfgu81Xpoy?=
 =?us-ascii?Q?kWk7SgHFSrfJoKEB+CU4f+bg/O/kEmn0OGHJm9C/drP3J8f69NX2Hzja3iei?=
 =?us-ascii?Q?JwrO6acx3rSnlJm6teYqGl7qbjtz/RPcLC/Bk/mdW2TYnEtDgy6Nxjdl7J8b?=
 =?us-ascii?Q?3ounb34kg9iaEsInlh3NMBIeMRut7s0kQUyzkcNbWf/9Vlrg3o9qixQo/D2g?=
 =?us-ascii?Q?BiNIuU+jDFe2eE4EJfSYTQ2J2XTdzU//LmNQH0jB6lFnJR0Nuuv/f9N2UFLa?=
 =?us-ascii?Q?3ixK4gMCGtxpatWp0JMG4BV3Vt9UrVGCVB+Gt9z8Hfne596cQsOtf3WnQaXn?=
 =?us-ascii?Q?NxhmRtHMxz/nw4he+6Y+i/2zn7OxtMXVbY4A6tJOtJ92XP/NOX+rV+bjWkmH?=
 =?us-ascii?Q?sylXIFukM9Told1UpkgCf2e0EA8oyVoWW5B4mtlmaQJ90ohrQ8R0BKjXZzhu?=
 =?us-ascii?Q?eXHTvF9g0n0ibWnIRnlOaegb7AAGCU3zXnEpWreXmsKX4GgmE30bC9vGPXh6?=
 =?us-ascii?Q?n3RNmIu2Q51tB2LYEWg3FCvcRmnC8zG1tRkZ/kubOTbsphyJmffVxXCCSdVP?=
 =?us-ascii?Q?8cVvH5XrS6s6h/mFSu2WjxrGBCry3E2KP8drBElgDO7OYMwgB32k5b+3vFYu?=
 =?us-ascii?Q?PZWY4QA9I25PM8FkL+cMtALcyvOdQD/8uo+OgjZc7sALboMBhKsp7v4c1psM?=
 =?us-ascii?Q?iQq0sOG2yUQazOQwMh2Fn3AyJKdVSdP0CcSyLx3kzjv5W87JkKZkMoS+b/hs?=
 =?us-ascii?Q?zVBXy+ndD/dUTLmp6ms/9NVbFdYvbjEavHG3HbWl17z7nXopECqPqVxNIUhN?=
 =?us-ascii?Q?1Gc2VXwry9rRCxZBG422vwIlKF5XNNQpEYqQwLiRDUBGqTLjJjQHu8RzQYby?=
 =?us-ascii?Q?8VeM+pAkoCnuo3CGsFUOnYW8CGg6oxhwzrahgo//u+674W+BLyrbniwtl35n?=
 =?us-ascii?Q?n18QT5NmFHUK8DutlIoY/FWyPyhnPqAh8W+U3/CDmiCj0LNWeVfT/iWjHEUZ?=
 =?us-ascii?Q?d18ioUshucKwQtXU+lynUmP3aYljfTH3wF8CubXfocVYAa4NODeDriGAAVMJ?=
 =?us-ascii?Q?usCTITnWpIMLY0shV010RF2EhqAApev8?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?2ojmGiYTBvY0QsHGKqRcHM3fBKxb1GtjnVjdZZVOG0h3I4LR6vTSel+k02/R?=
 =?us-ascii?Q?QRLGtx5NwqzPhuZSBaaNq+/8hgO5+QwKHhKShVWv+k/cZDdzrpE0aBsOYxCI?=
 =?us-ascii?Q?3rLdGj+KquVR4zfmylsADd5lbqHWUHrZMJSNbtfoJzLOk1yP5R0fndtCxfH0?=
 =?us-ascii?Q?3XjDPEev5gKTHY9F6oUkeWLD0jJIB73g4xV2WUxEsIwhMrJ49CLoDJowfbVX?=
 =?us-ascii?Q?82+N0TB5I1WbY432sYhcrs9vbLwlb/fRC0ZdRltLvYdzFDznzEXCAeahkeda?=
 =?us-ascii?Q?VQQsH1hGqWAfM6qsIebqk6QIPW/Mf9KmmtCvvac3CbZie9W9hevW2ZhfCHIQ?=
 =?us-ascii?Q?w4YReo/pkcVku9QpRrtWFhimPcFlbNpGEyORUdgqRcgwkRIW0hgkxwTULhJZ?=
 =?us-ascii?Q?3Dsy07kMKj++5lHwwVQLsnkELHbvQdwVn06gKzMTLcGuzawrnieVKIoSW5lK?=
 =?us-ascii?Q?Z1wC3YAgVhhk+Knj8zGmEzwhmrc1sY3WULO0mG46yQpU4uI/I00USsuSYqln?=
 =?us-ascii?Q?o2bb0Pz9LMZZrg1wnx2VjfxQYFac9jjJIf1GzQ7Q/YNTHUTWoX9dYE3hXhTJ?=
 =?us-ascii?Q?w32N/zFfeVxipc/qL/SOpQ6yjuKara9TxWZPiypuF0C3hqF8g84GDS8B0Qw7?=
 =?us-ascii?Q?laphtTjeFgCW5catg0Znl5pn9jDqzmFa+7uZUNUQhT/ZOTous3O8Kd79/BvC?=
 =?us-ascii?Q?L2cPZECa4XwA/w0PmH+bhypqAFTfk2pQu534O9IT5OqFu04kCi0uTuHVLwo3?=
 =?us-ascii?Q?+abOm0lSGZ881SrbQ+nWINOH9GRL895OsyrNUwkCbA0iKDemY5B99aFy2PUK?=
 =?us-ascii?Q?7sXVBK/d25FCTl4ve67+YORzGLkgjhDJb8wqD1c5sKdvVIXIXkdchgKLlUGo?=
 =?us-ascii?Q?eCP5ND8Q6Thl3R5AKiy6d3B5JIZHyQlgV/71qevn6/9YZAHi6LnltL/mu43I?=
 =?us-ascii?Q?X09P1Da+r0dx3ZoybIqbtiipUtmnU7OrQZXavENCA2+w6v6EHTW7aAXQMam6?=
 =?us-ascii?Q?lLvyyig8ari8nX5t2oRXrfVeBBK7bxId6H9kmwaw8B0dJNB+xcu0fmm9hLtv?=
 =?us-ascii?Q?OoTiDQleASshugowGUb26IA6ri+G/F0CBovXN3trYFmnvV3ktvo9LUxLzk9X?=
 =?us-ascii?Q?qXBgeTUHxeH32aWb8fnJkNjWAKSa3O4PiQswlbDaH4cU6VLTdpE54TxMCsll?=
 =?us-ascii?Q?MypuKIshMjNtBw0t31OrO8LPNjNJAKCFmaYD+drjzQUW1wZYDpfQmBvKv1Zc?=
 =?us-ascii?Q?FXg6xJfcomBBw2SroB72YUDF77ZCimc6XbG+L/G2vgWsG+IxeyQVrVPFKNn4?=
 =?us-ascii?Q?IZLRrSyG+FxwymZDyyNtenhJkuvz8K9f4z6zaWmP1xPB7YUxvrOr/LV7H6oe?=
 =?us-ascii?Q?e8rs+OFE2rtPBYX0uVDkINd5gDlJUqCEQN+Kb1MrH1uO/silafTDi0eaNGNx?=
 =?us-ascii?Q?giK80Wi2pvNVJ1OWOCWQhs7TrugxaYJVFPLJ9VCnazVDc8sQb7S5Eeo75gBN?=
 =?us-ascii?Q?Fto0ENFQGKcQd0oo0eNEmrV8KIN8O8gZ9hxk?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 294f07f9-634d-41e8-5a78-08dd61fb87ab
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2025 06:51:49.6704
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bcf48bba-4d6f-4dee-a0d2-7df59cc36629
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1P110MB1038
X-OriginatorOrg: boeing.com
X-TM-AS-GCONF: 00

We are observing an incorrect or unexpected behavior with ARINC653 schedule=
r when we set up multiple ARINC653 CPU pools and assign a different number =
of domains to each CPU pool.

Here's the test configuration to reproduce the issue.

[Test environment]
Yocto release : 5.05
Xen release : 4.19 (hash =3D 026c9fa29716b0ff0f8b7c687908e71ba29cf239)
Target machine : QEMU ARM64
Number of physical CPUs : 4

[CPU pool configuration files]
cpupool_arinc0.cfg
- name=3D "Pool-arinc0"
- sched=3D"arinc653"
- cpus=3D["2"]

cpupool_arinc1.cfg
- name=3D"Pool-arinc1"
- sched=3D"arinc653"
- cpus=3D["3]

[Domain configuration files]
Common domain configurations are applied to each domx.cfg file.
- kernel =3D "/usr/lib/xen/images/zImage"
- ramdisk =3D "/usr/lib/xen/images/rootfs.cpio.gz"
- extra =3D "root=3D/dev/loop0 rw nohlt"
- memory =3D 512

dom1.cfg
- vcpus =3D 1
- pool =3D "Pool-arinc0"

dom2.cfg / dom3.cfg / dom4.cfg=20
- vcpus =3D 1
- pool =3D "Pool-arinc1"

$ xl cpupool-cpu-remove Pool-0 2,3
$ xl cpupool-create -f cpupool_arinc0.cfg
$ xl cpupool-create -f cpupool_arinc1.cfg
$ xl create dom1.cfg
$ xl create dom2.cfg
$ xl create dom3.cfg
$ xl create dom4.cfg

[ARINC653 scheduler setup]
$ a653_sched -P Pool-arinc0 dom1:100
$ a653_sched -P Pool-arinc1 dom2:100 dom3:100 dom4:100

It seems there's a corner condition in using the global variables "sched_in=
dex" and "next_switch_time" when multiple ARINC653 cpupools are running on =
different physical CPUs

The variables sched_index and next_switch_time are defined as static at xen=
/common/sched/arinc653.c as shown below.

static void cf_check
a653sched_do_schedule(
    const struct scheduler *ops,
    struct sched_unit *prev,
    s_time_t now,
    bool tasklet_work_scheduled)
{
    struct sched_unit *new_task =3D NULL;
    static unsigned int sched_index =3D 0;    <=3D=3D
    static s_time_t next_switch_time;       <=3D=3D

First, a race condition against the global variables sched_index and next_s=
witch_time is observed.
They can be accessed concurrently on different physical CPUs but they are n=
ot correctly protected since each CPU pool uses its own scheduler-private s=
pinlock.
Technically, it's identical to using a local spinlock.

Spinlock is held here (line# 522) and,
spin_lock_irqsave(&sched_priv->lock, flags);

released here (line# 577),
spin_unlock_irqrestore(&sched_priv->lock, flags);

Second, even if it's properly protected, global sched_index and global next=
_switch_time can't be used for ARINC653 CPU pools with the asymmetric numbe=
r of domains and with the different runtime and major frames.
Domains in the ARINC653 cpupool are organized in the schedule array and the=
 next domain to run is determined using the global variable sched_index.
Since sched_index is set to 0 whenever the major frame of one ARINC653 CPU =
pool is completed, the domains that belong to lengthier ARINC653 CPU pool a=
nd are accessed with higher sched_index can be never scheduled.

We think this can be corrected by using a per-cpupool sched_index and next_=
switch_time and would be happy to provide a patch implementing this fix if =
this is the correct approach.

Can I get your advice on this subject?

Should you have any questions about the description, please let me know.

Kindly understand my description might not be clear enough as I'm not a nat=
ive English speaker.

Regards,
Anderson


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 06:55:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 06:55:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911253.1317703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tscTq-0000kQ-RS; Thu, 13 Mar 2025 06:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911253.1317703; Thu, 13 Mar 2025 06:55: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 1tscTq-0000kJ-OA; Thu, 13 Mar 2025 06:55:46 +0000
Received: by outflank-mailman (input) for mailman id 911253;
 Thu, 13 Mar 2025 06:55: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tscTp-0000kD-6l
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 06:55:45 +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 2ee09597-ffd8-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 07:55:43 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4394a823036so4934635e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 12 Mar 2025 23:55: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-43d0a8d1666sm43408005e9.40.2025.03.12.23.55.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 12 Mar 2025 23:55: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: 2ee09597-ffd8-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741848943; x=1742453743; 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=61GOI3WhQ4mgiHqGLI6UiTmbnYrMZQ3YrRFRFBSOVWg=;
        b=fhNlSJi545X0br9fNKkRwBvgFMZQ6S7LLaIcMWIRALh6KUlUheuYWcYQfdW30NnMJ5
         fA03QoPfuaZFyOn+4g/zoxLojeqnunndEIzd+gbPh3C/CXbi8ixdJOOx+5kfDFxTp7h9
         inV1q2QpQZEbXJLIRC0hyIspLUlW50V9oYVbJ+GscRoN/KglNVAwPM+qNxM1L/hShwjV
         N+SlpDe94HRU9T3lhmpaejqfH8/Q5578Fkar5YeMZ2wzCMqDVNL6Ko/b+tXECPM10tW2
         9GkgMpy/Vuh/LJekXG3HviKqQzsaf+Gto4s0v7Hdv6xJ7205v3wJkHf6mNF5/wJ40rZ4
         tJjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741848943; x=1742453743;
        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=61GOI3WhQ4mgiHqGLI6UiTmbnYrMZQ3YrRFRFBSOVWg=;
        b=A4FZhtG8ql3eTRlSbdy8BHmyIP/c+HKYZwtx9vy9RhWfgBzjCU5vJ7a8kkYtzDqc9u
         TVUg5N1nh/4brCV9JBgsCYqtO6JzUzaK6WWtCAl+AtyHhAhI3218TttKDKZuKPyIA4D0
         W8bEkxK2VBVKrocVeb7IQtD+ivibGQErGLA3c05TwreTUuY/AVN+jnFL9iXhLtwUeiqB
         JurhyWKtDEBBxFhyP/MIKHSL9tCav5/wXO03ACU4hA1QPnGaXOM86GDP1RpAKh+TLCq4
         vELZK0+Z/U/j2KN1nkpfyptckR1AcQLt8s5i42O49E/Am68IRiqFPj04XHLBmBx5Jf9x
         toyw==
X-Gm-Message-State: AOJu0YwSSctqRe8okQoQYGil0PuKyUVxQKQh1VkEDA91aBhOv9sB5KIB
	2ugdtE28FdmSzdAnWEqY7e2fztASwDa7lo0ZUVbEqRY1s3X1qkw10LcwU3NdxQ==
X-Gm-Gg: ASbGncsm2ELLzxvUM3L2hbhu6LXwAYu1p5aSoFwjUojK0ZHo9XLeAuSS9g+BfMnUG+i
	KEvdiIjCtPpPFe/5eXlVlK2W5zOfGDWFCjaLZvaZhkmzyPjjHO33fNhl26ygaf1lb3+4amqa0A5
	Op0KjwEBABDemSgdyNp9O5Ygc3J1L261TiRGaFnS3s2TIfGHVLvJbnMAnYGHwUvB+nSg7PLct9y
	pSQtd/o4Z+I/H9v/lQ9T3hFnuB4LxWc3FnOOPgYnUGrf1zYU1UQw0vay3681X6euV9Et0O6VUWX
	9FFG3HnmlskzwbDT/LFa5a333XO5cuoYXBLn+9AUw/Gj9M+hoEAM0Nnkhgnf991T4uFXertGXRM
	iFuHEDMtbQVkITQZrzwnY6o6RSvyb1A==
X-Google-Smtp-Source: AGHT+IE9LnU+mL/7E20v7bjeu3YecQmbZjIxsy0w9j2B7ki+7laFsPvObZGPs2Cw9BgqZLiFJ7jMVw==
X-Received: by 2002:a05:600c:35c7:b0:43b:cbe2:ec03 with SMTP id 5b1f17b1804b1-43d01c22600mr91729175e9.27.1741848943141;
        Wed, 12 Mar 2025 23:55:43 -0700 (PDT)
Message-ID: <61a7d917-c044-4064-91ee-f558f6416c0a@suse.com>
Date: Thu, 13 Mar 2025 07:55:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/shadow: replace p2m_is_valid() uses
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>, Tim Deegan <tim@xen.org>
References: <6a7391fc-4abf-4e65-8159-30f4eae8fec5@suse.com>
 <Z9F-Xul18_96ok1N@macbook.local>
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: <Z9F-Xul18_96ok1N@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.03.2025 13:30, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 12, 2025 at 12:30:40PM +0100, Jan Beulich wrote:
>> The justification for dropping p2m_mmio_dm from p2m_is_valid() was wrong
>> for two of the shadow mode uses.
>>
>> In _sh_propagate() we want to create special L1 entries for p2m_mmio_dm
>> pages. Hence we need to make sure we don't bail early for that type.
>>
>> In _sh_page_fault() we want to handle p2m_mmio_dm by forwarding to
>> (internal or external) emulation. Pull the !p2m_is_mmio() check out of
>> the || expression (as otherwise it would need adding to the lhs as
>> well).
>>
>> In both cases, p2m_is_valid() in combination with p2m_is_grant() still
>> doesn't cover foreign mappings. Hence use p2m_is_any_ram() plus (as
>> necessary) p2m_mmio_* instead.
>>
>> Fixes: be59cceb2dbb ("x86/P2M: don't include MMIO_DM in p2m_is_valid()")
>> Reported-by: Luca Fancellu <Luca.Fancellu@arm.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks.

>> @@ -2366,8 +2371,8 @@ static int cf_check sh_page_fault(
>>      gmfn = get_gfn(d, gfn, &p2mt);
>>  
>>      if ( shadow_mode_refcounts(d) &&
>> -         ((!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) ||
>> -          (!p2m_is_mmio(p2mt) && !mfn_valid(gmfn))) )
>> +         !p2m_is_mmio(p2mt) &&
>> +         (!p2m_is_any_ram(p2mt) || !mfn_valid(gmfn)) )
> 
> Would you mind adding some comment here about the need to forward
> p2m_mmio_dm to the emulation, and hence not possible to short-circuit
> here?

Will this do?

    /*
     * p2m_mmio_dm in particular is handled further down, and hence can't be
     * short-circuited here. Furthermore, while not fitting with architectural
     * behavior, propagating #PF to the guest when a sensible shadow entry
     * can't be written is necessary. Without doing so (by installing a non-
     * present entry) we'd get back right here immediately afterwards, thus
     * preventing the guest from making further forward progress.
     */

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 07:18:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 07:18:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911266.1317712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tscq6-0004E2-Hj; Thu, 13 Mar 2025 07:18:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911266.1317712; Thu, 13 Mar 2025 07:18: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 1tscq6-0004Dv-Eg; Thu, 13 Mar 2025 07:18:46 +0000
Received: by outflank-mailman (input) for mailman id 911266;
 Thu, 13 Mar 2025 07:18: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tscq5-0004Dp-2z
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 07:18:45 +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 640df40e-ffdb-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 08:18:41 +0100 (CET)
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 B69271F388;
 Thu, 13 Mar 2025 07:18:40 +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 72A0A137BA;
 Thu, 13 Mar 2025 07:18: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 lcL+GdCG0mdMEAAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 13 Mar 2025 07:18: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: 640df40e-ffdb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741850321; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=xZoHa1Ll3eTqXgoLkmXIBafMx+ksC4nZCkggDQuQ7HM=;
	b=EFEbdoaevNwgpFoIQaNmOi827iDt3oHBEU1Vkjj30Ox5QDWycVxjlXZiI7slY6cKKkzJsa
	ooumgNlxQsi1LZhwsQtx1QevCYnzv2MuqeLWMdhboVmYeGTUU/VDz1jMJKCGhwVOOgDjDS
	+AsbiLzG+HGRuc4c1dGz4a48ytkzWE0=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741850320; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=xZoHa1Ll3eTqXgoLkmXIBafMx+ksC4nZCkggDQuQ7HM=;
	b=h2diK1LYTAGWXtqwXbnbicc3W6DKD0hHkCCtyK7gypUnkSc9HEU0oQC6lOV22jcYHddHmb
	RDcCrSql1HzjYKJ2Tgmw7bQoyPancFzD5mkaqa/+x6pydpM508TFe+YRqGlOcFWXugGWaz
	A6U2HerIb5aRu05Wt5mSSah71wNBOgg=
Message-ID: <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.com>
Date: Thu, 13 Mar 2025 08:18:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Discussion on unexpected behavior of ARINC653 scheduler
To: "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
References: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
Content-Language: en-US
From: Juergen Gross <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: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dRXv3MgvTM6KB8Yie918mwHH"
X-Spam-Score: -5.19
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.991];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain,text/x-patch];
	NEURAL_HAM_SHORT(-0.20)[-0.998];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:+,5:~,6:~];
	TO_DN_EQ_ADDR_SOME(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email];
	RCPT_COUNT_FIVE(0.00)[6];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dRXv3MgvTM6KB8Yie918mwHH
Content-Type: multipart/mixed; boundary="------------a2aNnbxQLzM3HvGlpF7R1eyf";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
Message-ID: <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.com>
Subject: Re: Discussion on unexpected behavior of ARINC653 scheduler
References: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>

--------------a2aNnbxQLzM3HvGlpF7R1eyf
Content-Type: multipart/mixed; boundary="------------9kNQ0uz42ElHo48kEgoPbbig"

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

T24gMTMuMDMuMjUgMDc6NTEsIENob2ksIEFuZGVyc29uIHdyb3RlOg0KPiBXZSBhcmUgb2Jz
ZXJ2aW5nIGFuIGluY29ycmVjdCBvciB1bmV4cGVjdGVkIGJlaGF2aW9yIHdpdGggQVJJTkM2
NTMgc2NoZWR1bGVyIHdoZW4gd2Ugc2V0IHVwIG11bHRpcGxlIEFSSU5DNjUzIENQVSBwb29s
cyBhbmQgYXNzaWduIGEgZGlmZmVyZW50IG51bWJlciBvZiBkb21haW5zIHRvIGVhY2ggQ1BV
IHBvb2wuDQoNCi4uLg0KDQo+IEl0IHNlZW1zIHRoZXJlJ3MgYSBjb3JuZXIgY29uZGl0aW9u
IGluIHVzaW5nIHRoZSBnbG9iYWwgdmFyaWFibGVzICJzY2hlZF9pbmRleCIgYW5kICJuZXh0
X3N3aXRjaF90aW1lIiB3aGVuIG11bHRpcGxlIEFSSU5DNjUzIGNwdXBvb2xzIGFyZSBydW5u
aW5nIG9uIGRpZmZlcmVudCBwaHlzaWNhbCBDUFVzDQo+IA0KPiBUaGUgdmFyaWFibGVzIHNj
aGVkX2luZGV4IGFuZCBuZXh0X3N3aXRjaF90aW1lIGFyZSBkZWZpbmVkIGFzIHN0YXRpYyBh
dCB4ZW4vY29tbW9uL3NjaGVkL2FyaW5jNjUzLmMgYXMgc2hvd24gYmVsb3cuDQo+IA0KPiBz
dGF0aWMgdm9pZCBjZl9jaGVjaw0KPiBhNjUzc2NoZWRfZG9fc2NoZWR1bGUoDQo+ICAgICAg
Y29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLA0KPiAgICAgIHN0cnVjdCBzY2hlZF91bml0
ICpwcmV2LA0KPiAgICAgIHNfdGltZV90IG5vdywNCj4gICAgICBib29sIHRhc2tsZXRfd29y
a19zY2hlZHVsZWQpDQo+IHsNCj4gICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqbmV3X3Rhc2sg
PSBOVUxMOw0KPiAgICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2NoZWRfaW5kZXggPSAwOyAg
ICA8PT0NCj4gICAgICBzdGF0aWMgc190aW1lX3QgbmV4dF9zd2l0Y2hfdGltZTsgICAgICAg
PD09DQoNClRoYW5rcyBmb3IgdGhlIHJlcG9ydCENCg0KQ291bGQgeW91IHBsZWFzZSB2ZXJp
ZnkgdGhlIGF0dGFjaGVkIHBhdGNoIGlzIGZpeGluZyB5b3VyIHByb2JsZW0/DQoNCkFuZCBw
bGVhc2UgdGVsbCBtZSB3aGV0aGVyIGFkZGluZyB5b3UgYXMgIlJlcG9ydGVkLWJ5OiIgaXMg
ZmluZSB3aXRoIHlvdSENCg0KDQpKdWVyZ2VuDQo=
--------------9kNQ0uz42ElHo48kEgoPbbig
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-xen-sched-fix-arinc653-to-not-use-variables-across-c.patch"
Content-Disposition: attachment;
 filename*0="0001-xen-sched-fix-arinc653-to-not-use-variables-across-c.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSAyNzY2YWVhZjNjY2JlOWZlYzJjM2ZhYTZmZGUzMTRjZGE4OTFmMzRjIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
CkRhdGU6IFRodSwgMTMgTWFyIDIwMjUgMDg6MTI6MDAgKzAxMDAKU3ViamVjdDogW1BBVENI
XSB4ZW4vc2NoZWQ6IGZpeCBhcmluYzY1MyB0byBub3QgdXNlIHZhcmlhYmxlcyBhY3Jvc3Mg
Y3B1cG9vbHMKCmE2NTNzY2hlZF9kb19zY2hlZHVsZSgpIGlzIHVzaW5nIHR3byBmdW5jdGlv
biBsb2NhbCBzdGF0aWMgdmFyaWFibGVzLAp3aGljaCBpcyByZXN1bHRpbmcgaW4gYmFkIGJl
aGF2aW9yIHdoZW4gdXNpbmcgbW9yZSB0aGFuIG9uZSBjcHVwb29sCndpdGggdGhlIGFyaW5j
NjUzIHNjaGVkdWxlci4KCkZpeCB0aGF0IGJ5IG1vdmluZyB0aG9zZSB2YXJpYWJsZXMgdG8g
dGhlIHNjaGVkdWxlciBwcml2YXRlIGRhdGEuCgpGaXhlczogMjI3ODdmMmUxMDdjICgiQVJJ
TkMgNjUzIHNjaGVkdWxlciIpClJlcG9ydGVkLWJ5OiBDaG9pLCBBbmRlcnNvbiA8QW5kZXJz
b24uQ2hvaUBib2VpbmcuY29tPgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jv
c3NAc3VzZS5jb20+Ci0tLQogeGVuL2NvbW1vbi9zY2hlZC9hcmluYzY1My5jIHwgMzEgKysr
KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2Vy
dGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2No
ZWQvYXJpbmM2NTMuYyBiL3hlbi9jb21tb24vc2NoZWQvYXJpbmM2NTMuYwppbmRleCBhODJj
MGQ3MzE0Li45ZWJhZTZkN2FlIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkL2FyaW5j
NjUzLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZC9hcmluYzY1My5jCkBAIC0xNDMsNiArMTQz
LDEyIEBAIHR5cGVkZWYgc3RydWN0IGE2NTNzY2hlZF9wcml2X3MKICAgICAgKiBwb2ludGVy
cyB0byBhbGwgWGVuIFVOSVQgc3RydWN0dXJlcyBmb3IgaXRlcmF0aW5nIHRocm91Z2gKICAg
ICAgKi8KICAgICBzdHJ1Y3QgbGlzdF9oZWFkIHVuaXRfbGlzdDsKKworICAgIC8qKgorICAg
ICAqIHNjaGVkdWxpbmcgaG91c2Uga2VlcGluZyB2YXJpYWJsZXMKKyAgICAgKi8KKyAgICB1
bnNpZ25lZCBpbnQgc2NoZWRfaW5kZXg7CisgICAgc190aW1lX3QgbmV4dF9zd2l0Y2hfdGlt
ZTsKIH0gYTY1M3NjaGVkX3ByaXZfdDsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC01
MTMsOCArNTE5LDYgQEAgYTY1M3NjaGVkX2RvX3NjaGVkdWxlKAogICAgIGJvb2wgdGFza2xl
dF93b3JrX3NjaGVkdWxlZCkKIHsKICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqbmV3X3Rhc2sg
PSBOVUxMOwotICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2NoZWRfaW5kZXggPSAwOwotICAg
IHN0YXRpYyBzX3RpbWVfdCBuZXh0X3N3aXRjaF90aW1lOwogICAgIGE2NTNzY2hlZF9wcml2
X3QgKnNjaGVkX3ByaXYgPSBTQ0hFRF9QUklWKG9wcyk7CiAgICAgY29uc3QgdW5zaWduZWQg
aW50IGNwdSA9IHNjaGVkX2dldF9yZXNvdXJjZV9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsK
ICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtNTI4LDE4ICs1MzIsMTkgQEAgYTY1M3Nj
aGVkX2RvX3NjaGVkdWxlKAogICAgICAgICAvKiB0aW1lIHRvIGVudGVyIGEgbmV3IG1ham9y
IGZyYW1lCiAgICAgICAgICAqIHRoZSBmaXJzdCB0aW1lIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkLCB0aGlzIHdpbGwgYmUgdHJ1ZSAqLwogICAgICAgICAvKiBzdGFydCB3aXRoIHRoZSBm
aXJzdCBkb21haW4gaW4gdGhlIHNjaGVkdWxlICovCi0gICAgICAgIHNjaGVkX2luZGV4ID0g
MDsKKyAgICAgICAgc2NoZWRfcHJpdi0+c2NoZWRfaW5kZXggPSAwOwogICAgICAgICBzY2hl
ZF9wcml2LT5uZXh0X21ham9yX2ZyYW1lID0gbm93ICsgc2NoZWRfcHJpdi0+bWFqb3JfZnJh
bWU7Ci0gICAgICAgIG5leHRfc3dpdGNoX3RpbWUgPSBub3cgKyBzY2hlZF9wcml2LT5zY2hl
ZHVsZVswXS5ydW50aW1lOworICAgICAgICBzY2hlZF9wcml2LT5uZXh0X3N3aXRjaF90aW1l
ID0gbm93ICsgc2NoZWRfcHJpdi0+c2NoZWR1bGVbMF0ucnVudGltZTsKICAgICB9CiAgICAg
ZWxzZQogICAgIHsKLSAgICAgICAgd2hpbGUgKCAobm93ID49IG5leHRfc3dpdGNoX3RpbWUp
Ci0gICAgICAgICAgICAgICAgJiYgKHNjaGVkX2luZGV4IDwgc2NoZWRfcHJpdi0+bnVtX3Nj
aGVkdWxlX2VudHJpZXMpICkKKyAgICAgICAgd2hpbGUgKCAobm93ID49IHNjaGVkX3ByaXYt
Pm5leHRfc3dpdGNoX3RpbWUpICYmCisgICAgICAgICAgICAgICAgKHNjaGVkX3ByaXYtPnNj
aGVkX2luZGV4IDwgc2NoZWRfcHJpdi0+bnVtX3NjaGVkdWxlX2VudHJpZXMpICkKICAgICAg
ICAgewogICAgICAgICAgICAgLyogdGltZSB0byBzd2l0Y2ggdG8gdGhlIG5leHQgZG9tYWlu
IGluIHRoaXMgbWFqb3IgZnJhbWUgKi8KLSAgICAgICAgICAgIHNjaGVkX2luZGV4Kys7Ci0g
ICAgICAgICAgICBuZXh0X3N3aXRjaF90aW1lICs9IHNjaGVkX3ByaXYtPnNjaGVkdWxlW3Nj
aGVkX2luZGV4XS5ydW50aW1lOworICAgICAgICAgICAgc2NoZWRfcHJpdi0+c2NoZWRfaW5k
ZXgrKzsKKyAgICAgICAgICAgIHNjaGVkX3ByaXYtPm5leHRfc3dpdGNoX3RpbWUgKz0KKyAg
ICAgICAgICAgICAgICBzY2hlZF9wcml2LT5zY2hlZHVsZVtzY2hlZF9wcml2LT5zY2hlZF9p
bmRleF0ucnVudGltZTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTQ3LDggKzU1Miw4IEBA
IGE2NTNzY2hlZF9kb19zY2hlZHVsZSgKICAgICAgKiBJZiB3ZSBleGhhdXN0ZWQgdGhlIGRv
bWFpbnMgaW4gdGhlIHNjaGVkdWxlIGFuZCBzdGlsbCBoYXZlIHRpbWUgbGVmdAogICAgICAq
IGluIHRoZSBtYWpvciBmcmFtZSB0aGVuIHN3aXRjaCBuZXh0IGF0IHRoZSBuZXh0IG1ham9y
IGZyYW1lLgogICAgICAqLwotICAgIGlmICggc2NoZWRfaW5kZXggPj0gc2NoZWRfcHJpdi0+
bnVtX3NjaGVkdWxlX2VudHJpZXMgKQotICAgICAgICBuZXh0X3N3aXRjaF90aW1lID0gc2No
ZWRfcHJpdi0+bmV4dF9tYWpvcl9mcmFtZTsKKyAgICBpZiAoIHNjaGVkX3ByaXYtPnNjaGVk
X2luZGV4ID49IHNjaGVkX3ByaXYtPm51bV9zY2hlZHVsZV9lbnRyaWVzICkKKyAgICAgICAg
c2NoZWRfcHJpdi0+bmV4dF9zd2l0Y2hfdGltZSA9IHNjaGVkX3ByaXYtPm5leHRfbWFqb3Jf
ZnJhbWU7CiAKICAgICAvKgogICAgICAqIElmIHRoZXJlIGFyZSBtb3JlIGRvbWFpbnMgdG8g
cnVuIGluIHRoZSBjdXJyZW50IG1ham9yIGZyYW1lLCBzZXQKQEAgLTU1Niw4ICs1NjEsOCBA
QCBhNjUzc2NoZWRfZG9fc2NoZWR1bGUoCiAgICAgICogT3RoZXJ3aXNlLCBzZXQgbmV3X3Rh
c2sgZXF1YWwgdG8gdGhlIGFkZHJlc3Mgb2YgdGhlIGlkbGUgdGFzaydzCiAgICAgICogc2No
ZWRfdW5pdCBzdHJ1Y3R1cmUuCiAgICAgICovCi0gICAgbmV3X3Rhc2sgPSAoc2NoZWRfaW5k
ZXggPCBzY2hlZF9wcml2LT5udW1fc2NoZWR1bGVfZW50cmllcykKLSAgICAgICAgPyBzY2hl
ZF9wcml2LT5zY2hlZHVsZVtzY2hlZF9pbmRleF0udW5pdAorICAgIG5ld190YXNrID0gKHNj
aGVkX3ByaXYtPnNjaGVkX2luZGV4IDwgc2NoZWRfcHJpdi0+bnVtX3NjaGVkdWxlX2VudHJp
ZXMpCisgICAgICAgID8gc2NoZWRfcHJpdi0+c2NoZWR1bGVbc2NoZWRfcHJpdi0+c2NoZWRf
aW5kZXhdLnVuaXQKICAgICAgICAgOiBJRExFVEFTSyhjcHUpOwogCiAgICAgLyogQ2hlY2sg
dG8gc2VlIGlmIHRoZSBuZXcgdGFzayBjYW4gYmUgcnVuIChhd2FrZSAmIHJ1bm5hYmxlKS4g
Ki8KQEAgLTU4OSw3ICs1OTQsNyBAQCBhNjUzc2NoZWRfZG9fc2NoZWR1bGUoCiAgICAgICog
UmV0dXJuIHRoZSBhbW91bnQgb2YgdGltZSB0aGUgbmV4dCBkb21haW4gaGFzIHRvIHJ1biBh
bmQgdGhlIGFkZHJlc3MKICAgICAgKiBvZiB0aGUgc2VsZWN0ZWQgdGFzaydzIFVOSVQgc3Ry
dWN0dXJlLgogICAgICAqLwotICAgIHByZXYtPm5leHRfdGltZSA9IG5leHRfc3dpdGNoX3Rp
bWUgLSBub3c7CisgICAgcHJldi0+bmV4dF90aW1lID0gc2NoZWRfcHJpdi0+bmV4dF9zd2l0
Y2hfdGltZSAtIG5vdzsKICAgICBwcmV2LT5uZXh0X3Rhc2sgPSBuZXdfdGFzazsKICAgICBu
ZXdfdGFzay0+bWlncmF0ZWQgPSBmYWxzZTsKIAotLSAKMi40My4wCgo=
--------------9kNQ0uz42ElHo48kEgoPbbig
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-----

--------------9kNQ0uz42ElHo48kEgoPbbig--

--------------a2aNnbxQLzM3HvGlpF7R1eyf--

--------------dRXv3MgvTM6KB8Yie918mwHH
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/Ey8FAmfShs8FAwAAAAAACgkQsN6d1ii/Ey9o
tgf/f+0+ynSS9CkQe8AUWVMjxEWHygAnjXGt4lOZ6K4Iftxa4xLVH2pJmdByHiCsbiNCibhmaZYn
z32k5pSq+EYKTubok00Gt0DNx6hW2bGj2ZDc0wLiqLrZQXcGURYJC5CRO7abIaarV61mXeSeiD2q
ucbbCj/LAZfUnXrUOOS2dT746oVkpM9VdIYhdvCWh5uSIiwq54+GINVXAApAPQOpcNnW0zH0wRqn
2Rw/dwYZRV4poYIuBY0q2mizMuxIGuVzfQ+h8y3ksT7yYQPYO/36EszXXsCI36ijfwfXBeElxGu/
UBk+jnUhfD0SsReo+9RoGo5pqNG/iiv/fnv3q9wQ9Q==
=n+v9
-----END PGP SIGNATURE-----

--------------dRXv3MgvTM6KB8Yie918mwHH--


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 07:20:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 07:20:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911279.1317722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tscs9-0005lS-1e; Thu, 13 Mar 2025 07:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911279.1317722; Thu, 13 Mar 2025 07: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 1tscs8-0005lL-VH; Thu, 13 Mar 2025 07:20:52 +0000
Received: by outflank-mailman (input) for mailman id 911279;
 Thu, 13 Mar 2025 07:20: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=qPCs=WA=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tscs7-0005lB-HJ
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 07:20:51 +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 af59e818-ffdb-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 08:20:49 +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-357-L1Youx75MRqpbrHvDwdjUA-1; Thu, 13 Mar 2025 03:20:45 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-43cf5196c25so2792595e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 00:20:45 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d18a2af42sm10316185e9.32.2025.03.13.00.20.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 00:20: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: af59e818-ffdb-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741850447;
	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=o4bfYEIbp/kS2X2cwGn1CJqsR/J4F2IpC4H45RKU2a4=;
	b=FqJo5nOPWDZvXMnUaMq8yz7DAur3XgvRRlldH1KzVjncJ0fRNlVzjqNZFuXxvAjubh5CLt
	5jKxjXawWTfdH8AWnvBzqXRPxrEq0ySpYNjo+t4cSIWfVKj7VHmk6qIelpyJAHuOg2rHkT
	6r9zYLj7QvIxHGSArTietsOR7zVC46A=
X-MC-Unique: L1Youx75MRqpbrHvDwdjUA-1
X-Mimecast-MFC-AGG-ID: L1Youx75MRqpbrHvDwdjUA_1741850444
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741850444; x=1742455244;
        h=in-reply-to: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=o4bfYEIbp/kS2X2cwGn1CJqsR/J4F2IpC4H45RKU2a4=;
        b=mWTVmwHYEPA5NocIsz7aslU/YD3DfbROHO+FGZWDWY9OsjGxdAiBTazDmRhVia/s18
         0XVbaa257X7gOictjQGBTiCYiwD5GQGQRPAOmdYRcHAU4cYpAOOylnTWz00JHtDsJN/h
         oQN3Jjp2HP6IOE6hq7Yw+idSQappPcBf3NnYD2fOMVAND70cUYexRB6KTVcjVN6rAOtW
         DhMBjAuzB9pWtuUQq8h087n3bZEsyHzysNl5Vs1414B6tZVLteF9GzbOWozregDGUlpF
         unKtgd7VKxzkDb2kur72tbEuX9xBiWfvddEZeiSJ2+SLkz15puRJ385j07UGq5xd2Xp5
         CjMw==
X-Forwarded-Encrypted: i=1; AJvYcCUybLHffzuZhSLMu9uWPzP21BWU9BvFFG4ybCiEyOmBNaqGfne+onNVvNIYLXn9la6zi4BX9GLe6Ew=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5Xs0cGxkFjvHunatGmZ/0NtTv24+AM6QO1xw1VLtAI4BbBkiq
	/W5ceayKTVwDTmYMZr860ib0yOJOZGYtyohbmUW6Ah4lXJ5ipNLAaY24BwmZacB13en1upA25aj
	BZJg/veYGd0wXTW72qkkPF26KghiO+HqyRGFPaYX5P3kavNZ9ICUy3ZRJq/5NlBnK
X-Gm-Gg: ASbGncsphMBBuae+1hUeAHmcBv8ZGTx/J//GAeBaHG3HNIcWo+JLrwE6WZyAk8Cp93T
	nWHFgZT38OKm1Ogg8rH8YkcJQcpny9H6Xxr96p4bSkswvab1/8xwRfhc6CWbYldbCq/xc2AKOLa
	BU2QD+Vhkr4U25gIGQbBMg32xJYtrpoWW7s3tnKsPSz9MpBA1S7XJ8j7VOFgJDcIWyNwJkhYxMw
	748EuqE47mWcB+x9KOk2zeYNJUdXgaIAQAL0Lu/qkGLwb2DcLDyosRtBxEcxAjOr+fArfRkCCRY
	i7nv4OEdkQ==
X-Received: by 2002:a05:6000:144d:b0:391:2e58:f085 with SMTP id ffacd0b85a97d-39132dab192mr19228454f8f.54.1741850444462;
        Thu, 13 Mar 2025 00:20:44 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGdSno6hSKVsk5d06B4EsgagrhEFS5vVdfXL2wu7cQUeZCwJ3oOQpqMw11c+iVNeKk+NLYSpA==
X-Received: by 2002:a05:6000:144d:b0:391:2e58:f085 with SMTP id ffacd0b85a97d-39132dab192mr19228411f8f.54.1741850444109;
        Thu, 13 Mar 2025 00:20:44 -0700 (PDT)
Date: Thu, 13 Mar 2025 03:20:37 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: Nico Pache <npache@redhat.com>, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, cgroups@vger.kernel.org, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	jerrin.shaji-george@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
	gregkh@linuxfoundation.org, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
	roman.gushchin@linux.dev, shakeel.butt@linux.dev,
	muchun.song@linux.dev, nphamcs@gmail.com, yosry.ahmed@linux.dev,
	kanchana.p.sridhar@intel.com, alexander.atanasov@virtuozzo.com
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
Message-ID: <20250313032001-mutt-send-email-mst@kernel.org>
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-2-npache@redhat.com>
 <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
MIME-Version: 1.0
In-Reply-To: <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: rXLjSn-FufnJVXC_lH-eH1jbJ_7JAhcdc1sw2cvzY2w_1741850444
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, Mar 12, 2025 at 11:19:06PM +0100, David Hildenbrand wrote:
> On 12.03.25 01:06, Nico Pache wrote:
> > Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
> > expose it through /proc/meminfo and other memory reporting interfaces.
> 
> In balloon_page_enqueue_one(), we perform a
> 
> __count_vm_event(BALLOON_INFLATE)
> 
> and in balloon_page_list_dequeue
> 
> __count_vm_event(BALLOON_DEFLATE);
> 
> 
> Should we maybe simply do the per-node accounting similarly there?


BTW should virtio mem be tied into this too, in some way? or is it too
different?

> -- 
> Cheers,
> 
> David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 07:42:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 07:42:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911291.1317734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdD3-0000EW-P2; Thu, 13 Mar 2025 07:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911291.1317734; Thu, 13 Mar 2025 07: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 1tsdD3-0000EP-KM; Thu, 13 Mar 2025 07:42:29 +0000
Received: by outflank-mailman (input) for mailman id 911291;
 Thu, 13 Mar 2025 07:42: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdD2-0000EI-0c
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 07:42:28 +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 b5b59d6d-ffde-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 08:42:26 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso3247335e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 00:42: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-395c83b6a5esm1161599f8f.27.2025.03.13.00.42.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 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: b5b59d6d-ffde-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741851746; x=1742456546; 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=sp115kcCjP3SycZJyUlo/1IujeQwzQ/7854cSJgGcyI=;
        b=CxawcrGPMfmoz1Fh8RMVFYE9ZiCG8Y2pTX5d1d6i2Wd+icvGcY8O2oyxlXB/aKAz+5
         kX/y4bJmXuMC0dllt5mTJG1OKsis9KkD25RoBLoA8HarFo9nu4fOGpDuQUvmlE1Y6k09
         qSKT1/GPusAowUoeGPfBPd9Fh0jOEVBGompNO5eSPpQmpCq/aP48zjdXIGGoZS2+leHQ
         mR5EiHu7LAz01eO7tFp51b3j2X375L6kzbGHCodRpelTd97JL8dMB9LPoc82FN49k2Qg
         CVByLywFjIVEZt8X0UQgpX87sdYBmSPhx2HXxBdaGxjuS6sxoelhtmjDTGSJKvJoWxMZ
         yErg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741851746; x=1742456546;
        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=sp115kcCjP3SycZJyUlo/1IujeQwzQ/7854cSJgGcyI=;
        b=AHn0fMp07C87Aan84NSXGodx5c20KCYFceFf9s5FD4rF1GHWdswyhGiW0UzRcYdCm6
         sh5RyeKaDAoKHAzTVE7FLOARsWQHCQ4V1a7WJEBVMuLnZOEWX5C3BeqjqKCNNlUBbVXq
         oVfEz6KvjVuR68KBqp9iOHzhPMfUQ46Tw0Wz1hvTPTyeI4pzMbAsyjU9nVpu/v8fCfrQ
         BHUltomkteWGA/KDg5+6OE7dyYTewXX/51lY+sOQpmbOX42vpNk7GtrsGzntdDGEvpNT
         KVR8/0CNynV0aNBKON0EGU5UqD6l8QdjSPBwREzOANxSuHFe/qoPDlz7kPO9D9T5BKKm
         SdXA==
X-Forwarded-Encrypted: i=1; AJvYcCWIQm7FlxYsND5vC5wKpSp16emBnbajv4m4zc5VIUTs8kuKMXAkQmOo+BlZ3WuahbRWQXckMIvu8JA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLRqnwnXX3w1ubIVFTUUjCwC7wQ5k+V2SCbTxPzwkH/m7qrsnm
	fPEBfyDTI4B5lQkTKL3GBCPCyZXII3R1JYM+ADiKyzg1Rgw0CDvQYvni3F4Z4w==
X-Gm-Gg: ASbGnctRv6+bFlQ5eIW+MIGBCQsZ/COK9FpaxpPOL7tVwuVrDq578WL3GjtRC3vG+Eh
	1CJXzKLU+YzZMFIEx7tiY38RAev1N6IxshJKiFVLmF6yHy0OWCVxmKUQsiaFqSuPGtbjs9Quxu7
	JjGteWHZszfzLBnx39l6NKTZGJdjqxZ0bZPx8bbkiabc+59DaxGNw8Boc2sZsQXP0boqoZM0Xxp
	BEH1IBayI4nIadtwurkhY27+mfVBYykR1azF541vEv190/C2gx6TDxRFtfl926Q0/BxOju2n27a
	IAYFXCQq1QoDBtEx2lDf1Q4zPjmBrZcSLfJbLksSU9xpcu+K/EE3b7/HjRAK6EDHUJ2B/JsIAKz
	PUfQZ5lWZ51Wpp/icT8ziFzoYa7Ge5A==
X-Google-Smtp-Source: AGHT+IFKjXTe63yOsaGQSvz7SFEPIUwEjXIgpi8F3oyP3zMF7iKLMNrQkVpPiiQ4c8McRAneve5jSg==
X-Received: by 2002:a5d:6dad:0:b0:390:de66:cc0c with SMTP id ffacd0b85a97d-3926c69b260mr10806525f8f.46.1741851746274;
        Thu, 13 Mar 2025 00:42:26 -0700 (PDT)
Message-ID: <7977cc2d-d654-49be-8bf9-9d3fe9286857@suse.com>
Date: Thu, 13 Mar 2025 08:42:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] CHANGELOG.md: Mention PCI passthrough for HVM domUs
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jiqian Chen <Jiqian.Chen@amd.com>,
 Community Manager <community.manager@xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, Huang Rui
 <ray.huang@amd.com>, xen-devel@lists.xenproject.org
References: <20250312040220.2624329-1-Jiqian.Chen@amd.com>
 <a8919be5-020c-47f3-8bfa-02dab2f1e2ca@suse.com>
 <Z9G39ULeHr7fp9ur@macbook.local>
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: <Z9G39ULeHr7fp9ur@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.03.2025 17:36, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 12, 2025 at 09:51:09AM +0100, Jan Beulich wrote:
>> On 12.03.2025 05:02, Jiqian Chen wrote:
>>> PCI passthrough is already supported for HVM domUs when dom0 is PVH
>>> on x86. The last related patch on Qemu side was merged after Xen4.20
>>> release. So mention this feature in Xen4.21 entry.
>>>
>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
>>> ---
>>>  CHANGELOG.md | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>> index 7201c484f899..b6de9b72ea7a 100644
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>   - On x86:
>>>     - Option to attempt to fixup p2m page-faults on PVH dom0.
>>>     - Resizable BARs is supported for PVH dom0.
>>> +   - Support PCI passthrough for HVM domUs when dom0 is PVH.
>>
>> Aren't we still in need of SR-IOV support in order to make such an
>> unconditional statement?
> 
> I view SR-IOV as kind of orthogonal to this: SR-IOV is not
> supported at all on PVH dom0, so it's not just pass through, but the
> capability itself that won't work as expected when using such devices.

Hmm, yes and no. No in so far as I as someone who simply wants to use Xen
would read the above statement as indicating full pass-through support.
Which first and foremost includes the passing through of VFs.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 07:48:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 07:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911301.1317742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdIo-0005Z2-8o; Thu, 13 Mar 2025 07:48:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911301.1317742; Thu, 13 Mar 2025 07: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 1tsdIo-0005Yv-64; Thu, 13 Mar 2025 07:48:26 +0000
Received: by outflank-mailman (input) for mailman id 911301;
 Thu, 13 Mar 2025 07:48: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsdIm-0005Yp-DR
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 07:48:24 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062c.outbound.protection.outlook.com
 [2a01:111:f403:200a::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88e59e69-ffdf-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 08:48:22 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CH3PR12MB8903.namprd12.prod.outlook.com (2603:10b6:610:17a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Thu, 13 Mar
 2025 07:48:18 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 07:48: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: 88e59e69-ffdf-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BUc58UHaK/r0M1Q04eBJFD9Ip6sZWJRCTRH/WTn9f5dXZzEaHKRhat8IpFGQ0eXWb+N4flcepgrMpoQ1mR/MNPtTHRlQZP7IYgUXWKhYBuIuC0YWAZB7IGFSCHA6+TOaqQ6q0KUP7SmZTIsab1D1wRyerI3A120D3V8ZaUUEiiZMKIxUa3V2tnoTRuWPQFIPdixE8qBRpaxEaiVzvukKL3yY08ce8goWymy0xnsmtggImtcFNLd44DHWn0ezTfb5KJoTnQxyMi1HA+MMXHWcjr+yELcU90aSopWSv+HkagwQHueH8oXa9DXvMqIfpP6VhqTlvnUaXWCdin9ScF+HiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UD+lfanEE0YNXqP8u1patLg89e3t9Asz7pYJQiCzyX8=;
 b=agFMYvBZVQXfWIrNNc1RLHIMTYrVg/hIpmWB9G4zy77EzPh2owShaBkqq1GMYzpEjYlGUvdik27Ekh2OuJYGoV7O1wI5dMmd1UtFWDmZARgAEPEnSQOXVwyW5h6td7b5VAhb5D0aDdva3naKW+dEmQyhIqg6yiMmB+Qw/3BfQqREL3IAH9E8bVbEVpkqBMV4yoidhdxfCt30dYiYV/loGbLdO+XONpZ2DbcT7KGX0/vwgJUsFu/RtBT6TYEGh/rRc1dJhJqk2nbH8GvBRAutAjhc1Tzg6UISeesRuqaTmk5oFiRhrEf1lWDjWC8nRsw4UvnVupydK9jHQRZTnff5wg==
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=UD+lfanEE0YNXqP8u1patLg89e3t9Asz7pYJQiCzyX8=;
 b=q3SZGOR8XNS+CAJ/Rcr4YaoPhNTnQDRykQ5JQUdC4ZJuqER9lDfrTW9Jf6ihTnfe3yjzxx04+htynp9jGkiff/pkPpijtSzgP6eFa4NNJ9rqWqJc9i8Z1qjaqan7rE8eDhiLNyJPJVr1SZmxhsZw7ZGR2axZlhyk7O5/My/BzYI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <7f3a0b2a-6713-45ae-8deb-60f145f48be8@amd.com>
Date: Thu, 13 Mar 2025 08:48:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/10] MPU mm subsistem skeleton
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-1-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0435.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d1::14) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CH3PR12MB8903:EE_
X-MS-Office365-Filtering-Correlation-Id: d1dc69cb-c479-4381-bd08-08dd62036b82
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?N09aZzlyV0RHVVNlbkRaMjJrVkxsSmd2eHNLd05yNGczN0htOHA3S1JFVlR6?=
 =?utf-8?B?SkNGVzVPbHE0V2o3UVVKa3F1a29kVDVIbmc0emxOcEY4bGdNMjBITXhSeXpP?=
 =?utf-8?B?VGc1b1g1MzdQRzQ5a2lFcVQ2REZHMnBQNWdZUzFCQlF5V0RTL0VVWVJKRFA5?=
 =?utf-8?B?OTM4eXg5KzBDejRxVFdNSXZwWVd5VUJjcytCRkJucjR1RXhrZmovYzcvSEp6?=
 =?utf-8?B?Ylh2bmR5TVRaQ09pd3NFNnhjTXUrOFYzSVhsZTBLMGxsTVQvN0Zxd0xyaHFy?=
 =?utf-8?B?TkpzUE1FSi9Rdm0wZ3dWRzZNc3VKOXRkUW55c3MyRGNDSWZsR0VvRmNIK3Ez?=
 =?utf-8?B?NngzV3FDY0dKUXJYOERTUjI2NWg5MnhkTTFjUDd2MStRRzM3VHRMTVg4VlZD?=
 =?utf-8?B?U05GMlhaQ1BEUHhDZVdtcXh2OU5FSWl0Qm0reElYU0JlenV6Y0FBcXo0dllo?=
 =?utf-8?B?K2NFdlJzOGt6ZUNtdzd5UUV5NEVXL3ZGdkZ3MHFGaUxoc3FCTWpLUmxSSlg4?=
 =?utf-8?B?K05BdlVMRTRhNnBDOTB6ZnFNN2J4ZkNjRmxuQUVRSHdzSXljMldNVGE0cksr?=
 =?utf-8?B?Z0V0VFFzaTgrTHM2TytJaW1kUnJrTTUvRzN4NFlqUEhBS2hSY2RJa2VqcmhV?=
 =?utf-8?B?YU1ORURaMG5odG5sa0k4b2JnbHlSWWlQRENNcDVLQmxsTzZXN0YwVEZBUm9I?=
 =?utf-8?B?eU96TktBVWQ0NGNxc2NuUDllcnF0Q2xJQjVBR29MRlRJVWNydHh4Uk0xR3A5?=
 =?utf-8?B?bUhSdVBXdk5GQ1MwQmVWZVpkeUlubHV0MUUwcXhzb1dQZmhPTU9EaWp2NERx?=
 =?utf-8?B?bU51VHRHZ1Ixdm5WZDE2WVZ4Uy9lY0NxdG1SdlRBa3d2R1pabHZGa2J6cmto?=
 =?utf-8?B?dlJzYndrd1NrTmZvRlo2MUZSdkZVQW9YY1ppL01LMWlZZGRlamZTYnpCd3pC?=
 =?utf-8?B?Vi9xR0JjNFNxU2lWb2Flc0RTNy85WThrcnRnQ01oRWJWV1FCNVBsTkFzS1Ez?=
 =?utf-8?B?VW1aSlRxejJvZGpyWGpWK2Z2Q09zN09tRmFvQm4vUzdMY1BzeXZrbHZENXZz?=
 =?utf-8?B?anlrZTBiczJtUWtWT0w1YTloNEdXTTFnQTlQUlY1YjJLZS9YdjJiU3FKN1Fi?=
 =?utf-8?B?UXJaUXIxSkRpRjBiSVpBZThld25SR1J3bU1WTjZtWEdBdXVNWjcyWjZBNmkw?=
 =?utf-8?B?aXMvWE5DdW8wTm9Od2wwRGFQWkpUWkpZMU5XN3hzVnlCamFRQ2RPNWw3Ly9L?=
 =?utf-8?B?d2VCSDM5VkRsYyt0aTlvRG1VVWJwb2dRUGZ6azRvSld2L21Pd0lJMkRBaTNX?=
 =?utf-8?B?QUpUVEpUaHV2MjFBN0NMSGpFSTl3RzIwci83U1hHdTVWMVpLV2JiVzVUYmtr?=
 =?utf-8?B?aUFNNUFIZitsdWVvT0QyOUFxdjZBei85UGtCd2tlWVZGekhOMzNZSWt6U25s?=
 =?utf-8?B?bGFmUDIrVXg4dmtNa3dMYVorWi9sSldBaDZxcXA3dEsxMGJUUExGQTFYNlNG?=
 =?utf-8?B?SjlhZFpkdVZWSnNVYU9aNldxM21yN1FCM001ak5IbUJIN1I2MDVtdHhnektK?=
 =?utf-8?B?TGZBSzA2K1kraURyNW1qOFBTVHpoRjdMaUMxb2tkRHRpekJ2SFJUV1Rxb3R6?=
 =?utf-8?B?OUppR3VhRFE0V3MzaHVMSHU4cEVDV2t6eDg1eVQ2RkxnQkIzZHU1OXYzbHR4?=
 =?utf-8?B?cjUva0NHbEI5ZHVvMWk4Y3BNZjVaMDlRQmlKaHU1Qm42bm9ZQXlhNmptNSsv?=
 =?utf-8?B?cHhHVG9oallqUUZzeFE4a1dVZkw1MnlIaGNVT1Foc1BNZm5iNmpLbklDVTJu?=
 =?utf-8?B?clBkS2IxNWEwQlJGbkZja0R6VmtGK3RBdkdxVU1JclJXSXNFdGViNDNEQmI2?=
 =?utf-8?Q?vfPnXfSU85SV+?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?emhqYUE2RThhY3oxQmw1Vzlld3B4ZlVJMFdlOWpxYzBxUHU5SGEwb0JOYit0?=
 =?utf-8?B?Vi9QY0RPYnkxVHlXRXB2allnM29CQnM4MFNaS2hwMGQ5Um1PYThDQU4xOFRK?=
 =?utf-8?B?eXB1WmZrQjdzbThvTVdrY0QxREVBTXd3a2V4K0lCYmIwcnhUUDJnbkl6YXow?=
 =?utf-8?B?RE5OOHRPSTd3T0NING1uc1BaY21pbkprS3dLWkk0VDRaVzNpaFZGRENHQ3Bo?=
 =?utf-8?B?c1FRMmdtenhUVEtDMVpSWmUvclRnTmVTWGZvV2dUaWxYZFhWejV3REplZy9l?=
 =?utf-8?B?a0p5TzllK0tnVWVlYzN3bEtoYnkxT2NvODBIQ0FwNWJNRDlVVkxDZmJIRmRP?=
 =?utf-8?B?b2RzQ0kxQkl4Z09qTlBZS1JHSC9HREgzdlRTOUJaTzRUcmNRa3hvc0FyS2o0?=
 =?utf-8?B?OFpWMmlwOWdUczNkNTlXb0xLM1ZzSmR2QUlxY24zak1lWVlKZXBiNzEyaU1z?=
 =?utf-8?B?UFJnQnNCRnBiQm5RdkRhUWRqZjJSc1Q0eDJnK0lmaWlDTHVvdml6WGZvRGls?=
 =?utf-8?B?THYrSnpIbUJUTkxtYVc0MVR1Y213UzdkNnIwNFhUNGY1bXd3eFY0UTBzTTlh?=
 =?utf-8?B?UUFLSTRrWDM0RW9qdk01QTJTNkhnSGJNUk03dmRDekhBSmNGekFhY2RhVzNK?=
 =?utf-8?B?L2tocDZud0g1TGsrdkI0ZWZKWHFyaHBPb0d5cWpMU1hiMWI4dS8vZmZjMWhW?=
 =?utf-8?B?RUIwd095TDlieC9FbUlndVRUM2pVdW5XbVBzUVRDd25nY2Rhd0tjRFM4elcr?=
 =?utf-8?B?bkI0ZUI2eVAxQVFLamRMQkx1cDRuQXdITkVSQXlhRitLS3JCdGlRcnhnQ25l?=
 =?utf-8?B?c05FV096MEFTa1JYcTY3Sk9paFlXSklTZ1daMkw5TkR1VDBxWnQrYURhTTZk?=
 =?utf-8?B?S2RGa2YrYXh4MGFPVFNleUJPYWxSclNnWlVEcUlMQjlONTBEUXlIR0xFRjhZ?=
 =?utf-8?B?YVlNMFBoT0plUjFIUmpkMjZyUExnVXJ3ejY5eEo5aVVWVU5vQlNpZVcvUHlM?=
 =?utf-8?B?UndOaGZyOEk3RUhOY2RFd0Zpa3F1aG5uQTk3djd5MmxzTkJxYWtqdERRVCta?=
 =?utf-8?B?Z3VmNlgrTndFQkdiYm5iQms3TVN3WXB0VGIrUThhZisvRzN4SzNZczVRcnJm?=
 =?utf-8?B?VTducjIrQ2t0cm1zMWRHejJuOW9oV2Zia2Z6V0ZPZXlyeHdPOFJDQWlzamdq?=
 =?utf-8?B?em56Y0crdEF2TExMeWx5UldpaTFVVmkvbVNjd1lkampVYUlwdDU0cnZlL1Jn?=
 =?utf-8?B?YnV2MnhBVjJ6MHkwbm5LUWdBakVZWjZJY1R5OWdoVlltVUJZQ2hJd05LTm15?=
 =?utf-8?B?ZHhZUkl4cURwL09jSkV5Vm9KZDY1NGFjSkFkYUhlVGZPVytNZ1F6UFVzZG9H?=
 =?utf-8?B?bmNxRkQ1Y2w3VVJBVEZlNEp0UU1aM0x0N2RoQkNNamUvK2t1QStSeFc4c0lD?=
 =?utf-8?B?V2NURHNBZ3ZoTGNIVnhsUUNoZVFZM1kwL240K05wc2FMNVVRejRnZTMzOUo0?=
 =?utf-8?B?OThHUXRUR0duR1dxOFZyaEhoNlJBUWd2OHhVeGZ6ZGRHUDRBOG4rUStreVVn?=
 =?utf-8?B?UFQzK3ZPZXUyZmRUWU82eGxrNUEwRHJreUVYakxsUDFpcHJwSHdLYlJpV2JG?=
 =?utf-8?B?Q2lRb1h0eUw4TmJIaDZ1WUNqSU1IcTJPZEtTSmdtc3FHRmF4VDhiZVQ0UFN5?=
 =?utf-8?B?UkVPOThtWlRTVEdncUZMSG5TQThHYUJLVGJFcWRwaXRSK3NzSnBiZHJjU2gv?=
 =?utf-8?B?cmNoYkt2S0xncXgrOE5EMjhoYW9RWTF2WExNZkFDeTJnNGZnd1N6ZnZ4eStl?=
 =?utf-8?B?RitVMlFmRTUweG5QQUcrclQ1NWJsZWJBelY2U01ndDdBdlk2N0laMENNdWJw?=
 =?utf-8?B?NHEvaEIzcmxMUUxSdjFMaUQrUzkzbHZIMmhsRUVtZ3FPclRZVmtlODRtNmJp?=
 =?utf-8?B?a0ZTN1lTbVN6bjhDTFgyK04ySHlxaUE0Ukd3a1dWcllCMDByeVZvcHdpd0Mw?=
 =?utf-8?B?TEx4d1BoNHIxWDZFNlJZdHBzS2cwUDVYNGlVTTRtWldCalRVYUtET3MwTUs2?=
 =?utf-8?B?TW1jOEl3eDhFM254UUpJUnphVG9MNGlBNTE2NkRjMERqVjFheFowYlJJZCtl?=
 =?utf-8?Q?WLRE=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d1dc69cb-c479-4381-bd08-08dd62036b82
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 07:48:18.6734
 (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: TZviQqCQKCaRurs12iqsiwDteJZcziYM6VR3HZ4lAJhv363oJHX7ZbWVqpHgeMaS
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8903



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> Hi all,
> 
> this serie implements the skeleton for the MPU memory management subsystem,
> at the end of the serie it will be possible to compile the Arm arch using MPU.
> 
> The minimum Arm Kconfig configuration is this one:
> 
> CONFIG_UNSUPPORTED=y
> CONFIG_MPU=y
> CONFIG_XEN_START_ADDRESS=0x0
> 
> Luca Fancellu (8):
>   xen/passthrough: Provide stub functions when !HAS_PASSTHROUGH
>   xen/arm: Restrict Kconfig configuration for LLC coloring
These patches have necessary tags, so I committed them right away.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:05:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:05:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911324.1317772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdYi-0001ng-Qb; Thu, 13 Mar 2025 08:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911324.1317772; Thu, 13 Mar 2025 08:04: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 1tsdYi-0001nZ-Nb; Thu, 13 Mar 2025 08:04:52 +0000
Received: by outflank-mailman (input) for mailman id 911324;
 Thu, 13 Mar 2025 08:04: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdYh-0001nR-TQ
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:04:51 +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 d61176d3-ffe1-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 09:04:50 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cfa7e7f54so3982675e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:04: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
 5b1f17b1804b1-43d0a8d0ca2sm44315325e9.37.2025.03.13.01.04.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:04: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: d61176d3-ffe1-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741853089; x=1742457889; 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=wRCbB4hgvl16dZkTT7LAZzvbc8nJY8+d+MZ2cB8yygw=;
        b=Woexr9urJCgprEbyA97mL4FdzuGhF/HS+5dAW3n/279I1WuRE9gOmP48HW98kAviLU
         pQS0SWardMdpnTDAAk2CEFe4cjRqmdqsCQttJwIHnLqqSseIblqMKVySM3Emc+cB+p21
         hpNorZceKuwtXEPUhkoUgfVgRUnCnO/oSczI+ghaGrhV349ldHs5+Zk5EhBMZLDqtYwG
         MGSTgJ6iKH+llukUwDkID00U1+swOatDbO8lNZ0DniCc/YuqpkYX7DdPewQsI8QqsmeT
         EYcf4pwV2Ly+4shcrIVjds9hm+dbCBh8EBWBLUmxHQbSMEKYSL6Ng34Sg79ViJit/BEJ
         Hhqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853089; x=1742457889;
        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=wRCbB4hgvl16dZkTT7LAZzvbc8nJY8+d+MZ2cB8yygw=;
        b=hJAY2MmzojZDNjF8TI2CdL30Yy+oWOvrZDORGMUycfHM2Hl0M20bG+nBB8SpDALo8o
         R/Yho24l06M2AH3EdC8Htf5F8C2BVZJPspfLKLX1lxat6a9+qJKM0sEnX8Wdg+I2nhOa
         c1mXhlqAx0wBiMYEuefamt63yE4Pa581CXFzB/iEKIHc4RSjsDmV582mKY8MXZGEOMIM
         DhMWl1JyHERtOYTUNLBqXmuztQffR/4gS45ZEzsra9trOhBlluLYcWS+Mq4A3ZefVnZd
         kKSiGv+99KIPNE+0aee1ZeCdw8HfI/Tf2C4ZO0ST8WmPcfK4wKFoR7TRJ/9XB2Txh0tL
         cE7A==
X-Gm-Message-State: AOJu0YxeOedb3CvE8iHh3Rx2+u0v2+PBu0GduuHWbfSdXpKZfT/A2HFJ
	8cLSDcw4Tl/bxjB8KK6N2kuy9ZX4YURZwKQq8mee6ftYNb8xYgZaKLSokNJU+vSGvdhp1iTLguI
	=
X-Gm-Gg: ASbGncuO9tMKy60XtRHFoTKv8AU6VhbPZ7CcfDkkPu+l/Xdeprc0SLeJzTHgfwjeqYn
	sSC7XP6AvVACKIIgrF0SP34FGZoNaOifIDqwokxEqHVY/o+erLLlOIXgDBeEsJfhL7Zfsu5FGya
	8GOBo6y+IT6F9sZpzZdDpCBXp2M4p8zCNaFLwq5Zar/lkxFJ1SjA41aaAYQR13G6NFCtqptlbeK
	p/xedJy2b3cOl3G5knwKyBVoBQX2ZWsQ5k5oAI/b7edh7wekTomNfCvWrj64fLwxqOXDzveuMIZ
	wJ0CB3uILTegLUYGjjVn2iHY9OeFzApK1PvRgH+s886YJATLm2UQrsIqty8706BD9Kv1qKXlwco
	RGzbCDn2DisVJosbC7gKiB+zcgEjRwg==
X-Google-Smtp-Source: AGHT+IFvujoEfpihy9PKG2IZcip5fOo1UWkC+FsVKTGdKQYyUwjzJIPbs29LmiODz4mY15fYCrBQ5A==
X-Received: by 2002:a05:600c:46d2:b0:439:8e95:796a with SMTP id 5b1f17b1804b1-43d180a4435mr10696445e9.13.1741853089130;
        Thu, 13 Mar 2025 01:04:49 -0700 (PDT)
Message-ID: <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
Date: Thu, 13 Mar 2025 09:04:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v8 RESEND 0/6] (mostly) Arm32: add/convert entry point
 annotations
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@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: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

(re-sending upon Julien's request)

Besides the (now) last patch only Arm32 adjustments are left in this
series.

1: Arm32: use new-style entry annotations for library code
2: Arm32: use new-style entry annotations for MMU code
3: Arm32: use new-style entry annotations for entry code
4: Arm32: use new-style entry annotations in head.S
5: Arm: purge ENTRY(), ENDPROC(), and ALIGN
6: common: honor CONFIG_CC_SPLIT_SECTIONS also for assembly functions

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:07:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911336.1317781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdam-0002Pd-AQ; Thu, 13 Mar 2025 08:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911336.1317781; Thu, 13 Mar 2025 08:07: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 1tsdam-0002PV-7m; Thu, 13 Mar 2025 08:07:00 +0000
Received: by outflank-mailman (input) for mailman id 911336;
 Thu, 13 Mar 2025 08: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdak-0002PI-Lh
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:06:58 +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 2237ef2a-ffe2-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:06:57 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-391342fc148so399774f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:06: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-43d0a8d0ab1sm44657825e9.34.2025.03.13.01.06.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:06: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: 2237ef2a-ffe2-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741853217; x=1742458017; 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=7619zjoO2xByYDNkGfqdj7sygU5oz+pkl2wMtVZ3RHY=;
        b=MayZ0brQPLbMwJZVcU587A7qyGnO7m+v1fjMvSGYo3UwRlpje9nFHY5YqQoUUfXfQP
         UziLZipGMw8swgDIvS6BM4rXZ7FerFidBAWiJ0gVQh9dcXbSc2nTYRrlYWF4K+KZXOKj
         islPyeznqrU2/tcI4ubWrj5Z34Nh4jwjW7pv0H54WtkicALNO/ycJWyc1BYonAZGCKUy
         2Y0HqFbQwqa4BYow4vU+t3BIeehSFE520zA6NHZVGZWBB1YXV9yycKIvJj9msxLmX3cX
         BRA95a79AI5eZ14ixbpJ4C8mX+blpRt+KGe6+wizAzAIAdQ8FYaoNhycXHdQg66u9iyH
         HAcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853217; x=1742458017;
        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=7619zjoO2xByYDNkGfqdj7sygU5oz+pkl2wMtVZ3RHY=;
        b=gzpKcPT7Kj0XOkp+I8mEIoMqSFmD6gbPbYQ84WwwN637fuhM/8BSTYSagXoHbGM13u
         W+ue22W3jEzLzxxHfhRCRby7APRScgaJat9lfeAHv4iRmLGTFvLfqCM6YWebOdRPcQn1
         nPGvzpyH5Vo7xx8vsZPgvm44XmGgvh7mwwQ7mOqmmac1pl7bvhACEss+hlbxul2u3gVD
         2gRAK46EJo0qJL6ns1GqxeKvg7feIDo2tEwtYYULeHtwGVk3y4H2lQuLtaOZrE7lFYcs
         ViERzAeVZwsA+BzMpbTNR4k3esmCNvnOvBXkvASnKc4liIrPrO1yW/cySm9bID8rVz2Q
         Ygwg==
X-Gm-Message-State: AOJu0YySA1z3V8wD7sr56oKQxtFLuo4xOwtlGHk5HzI4g/IoQvLwLTIS
	6uvyhBcJ8LARPEduuu/PCt1UmLnHjYwEC0eWQPx6P1efyZUY711aN9A6Db9wz/Nj6xSfmNrj0Tk
	=
X-Gm-Gg: ASbGncs7eddKbp/U8EPObYZedR9GB/PkRMNoaYf1ta0TKY7HBC86zEVdEOtBpR1WrNp
	nTGRN1wFpb7CYqUOXrMh68WCCSqj60oSkK7uDiK7QyjdVuRIPqu4CFXAogiRHe0wk22Lo9yRQdk
	3rYREX/uRAJOmsAlZE07kKWn71weoSq3JQWNDdbTvPpd7dWnNnweh3D/p07DUOjGQvZnvp3auoz
	64tLR+qhw1gjzHD5sb2jUn1GvKQWmawdvOypbXryvvyoK2TTQAloQXqdzakJaigv/sR5IfN0ie+
	Y/1773RCirhxuvrBb/VY3cj/CCTkLhoHczrQhvjgIyn5aiP3YFpdLxCM7YnqQAdm2tpwYtQsxNS
	DDUafLT1p0Y+UTJKSznSHtiK5ReGW3w==
X-Google-Smtp-Source: AGHT+IEo1IQ9uoEizqtAsPBqTlrWlQljwbYaHMwlndpgBGDZcWP6V8gULeLoTzD2HCpCF/fW/TARCw==
X-Received: by 2002:a5d:47cd:0:b0:390:f902:f973 with SMTP id ffacd0b85a97d-39263b006d0mr7634331f8f.8.1741853216878;
        Thu, 13 Mar 2025 01:06:56 -0700 (PDT)
Message-ID: <6c071ddd-1e9b-44ea-a07c-3d049abefaa3@suse.com>
Date: Thu, 13 Mar 2025 09:06:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v8 RESEND 1/6] Arm32: use new-style entry annotations for
 library code
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@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: <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No functional change, albeit all globals now become hidden, and aliasing
symbols (__aeabi_{u,}idiv) lose their function-ness and size.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
---
If the function-ness was important (Julien says it likely isn't), some
new construct would need inventing. Not setting size for the aliases may
even be desirable, as I'm uncertain whether it is really legal in ELF
that two entities overlap in space.
---
v8: Re-base.
v7: New.

--- a/xen/arch/arm/arm32/lib/findbit.S
+++ b/xen/arch/arm/arm32/lib/findbit.S
@@ -20,7 +20,7 @@
  * Purpose  : Find a 'zero' bit
  * Prototype: int find_first_zero_bit(void *addr, unsigned int maxbit);
  */
-ENTRY(_find_first_zero_bit_le)
+FUNC(_find_first_zero_bit_le)
 		teq	r1, #0	
 		beq	3f
 		mov	r2, #0
@@ -35,13 +35,13 @@ ENTRY(_find_first_zero_bit_le)
 		blo	1b
 3:		mov	r0, r1			@ no free bits
 		mov	pc, lr
-ENDPROC(_find_first_zero_bit_le)
+END(_find_first_zero_bit_le)
 
 /*
  * Purpose  : Find next 'zero' bit
  * Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
  */
-ENTRY(_find_next_zero_bit_le)
+FUNC(_find_next_zero_bit_le)
 		cmp	r1, r2
 		bls	3b
 		ands	ip, r2, #7
@@ -55,13 +55,13 @@ ENTRY(_find_next_zero_bit_le)
 		orr	r2, r2, #7		@ if zero, then no bits here
 		add	r2, r2, #1		@ align bit pointer
 		b	2b			@ loop for next bit
-ENDPROC(_find_next_zero_bit_le)
+END(_find_next_zero_bit_le)
 
 /*
  * Purpose  : Find a 'one' bit
  * Prototype: int find_first_bit(const unsigned long *addr, unsigned int maxbit);
  */
-ENTRY(_find_first_bit_le)
+FUNC(_find_first_bit_le)
 		teq	r1, #0	
 		beq	3f
 		mov	r2, #0
@@ -76,13 +76,13 @@ ENTRY(_find_first_bit_le)
 		blo	1b
 3:		mov	r0, r1			@ no free bits
 		mov	pc, lr
-ENDPROC(_find_first_bit_le)
+END(_find_first_bit_le)
 
 /*
  * Purpose  : Find next 'one' bit
  * Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
  */
-ENTRY(_find_next_bit_le)
+FUNC(_find_next_bit_le)
 		cmp	r1, r2
 		bls	3b
 		ands	ip, r2, #7
@@ -95,11 +95,11 @@ ENTRY(_find_next_bit_le)
 		orr	r2, r2, #7		@ if zero, then no bits here
 		add	r2, r2, #1		@ align bit pointer
 		b	2b			@ loop for next bit
-ENDPROC(_find_next_bit_le)
+END(_find_next_bit_le)
 
 #ifdef __ARMEB__
 
-ENTRY(_find_first_zero_bit_be)
+FUNC(_find_first_zero_bit_be)
 		teq	r1, #0
 		beq	3f
 		mov	r2, #0
@@ -114,9 +114,9 @@ ENTRY(_find_first_zero_bit_be)
 		blo	1b
 3:		mov	r0, r1			@ no free bits
 		mov	pc, lr
-ENDPROC(_find_first_zero_bit_be)
+END(_find_first_zero_bit_be)
 
-ENTRY(_find_next_zero_bit_be)
+FUNC(_find_next_zero_bit_be)
 		cmp	r1, r2
 		bls	3b
 		ands	ip, r2, #7
@@ -131,9 +131,9 @@ ENTRY(_find_next_zero_bit_be)
 		orr	r2, r2, #7		@ if zero, then no bits here
 		add	r2, r2, #1		@ align bit pointer
 		b	2b			@ loop for next bit
-ENDPROC(_find_next_zero_bit_be)
+END(_find_next_zero_bit_be)
 
-ENTRY(_find_first_bit_be)
+FUNC(_find_first_bit_be)
 		teq	r1, #0
 		beq	3f
 		mov	r2, #0
@@ -148,9 +148,9 @@ ENTRY(_find_first_bit_be)
 		blo	1b
 3:		mov	r0, r1			@ no free bits
 		mov	pc, lr
-ENDPROC(_find_first_bit_be)
+END(_find_first_bit_be)
 
-ENTRY(_find_next_bit_be)
+FUNC(_find_next_bit_be)
 		cmp	r1, r2
 		bls	3b
 		ands	ip, r2, #7
@@ -164,7 +164,7 @@ ENTRY(_find_next_bit_be)
 		orr	r2, r2, #7		@ if zero, then no bits here
 		add	r2, r2, #1		@ align bit pointer
 		b	2b			@ loop for next bit
-ENDPROC(_find_next_bit_be)
+END(_find_next_bit_be)
 
 #endif
 
--- a/xen/arch/arm/arm32/lib/lib1funcs.S
+++ b/xen/arch/arm/arm32/lib/lib1funcs.S
@@ -201,8 +201,8 @@ along with this program; see the file CO
 .endm
 
 
-ENTRY(__udivsi3)
-ENTRY(__aeabi_uidiv)
+FUNC(__udivsi3)
+LABEL(__aeabi_uidiv)
 UNWIND(.fnstart)
 
 	subs	r2, r1, #1
@@ -228,10 +228,9 @@ UNWIND(.fnstart)
 	mov	pc, lr
 
 UNWIND(.fnend)
-ENDPROC(__udivsi3)
-ENDPROC(__aeabi_uidiv)
+END(__udivsi3)
 
-ENTRY(__umodsi3)
+FUNC(__umodsi3)
 UNWIND(.fnstart)
 
 	subs	r2, r1, #1			@ compare divisor with 1
@@ -247,10 +246,10 @@ UNWIND(.fnstart)
 	mov	pc, lr
 
 UNWIND(.fnend)
-ENDPROC(__umodsi3)
+END(__umodsi3)
 
-ENTRY(__divsi3)
-ENTRY(__aeabi_idiv)
+FUNC(__divsi3)
+LABEL(__aeabi_idiv)
 UNWIND(.fnstart)
 
 	cmp	r1, #0
@@ -289,10 +288,9 @@ UNWIND(.fnstart)
 	mov	pc, lr
 
 UNWIND(.fnend)
-ENDPROC(__divsi3)
-ENDPROC(__aeabi_idiv)
+END(__divsi3)
 
-ENTRY(__modsi3)
+FUNC(__modsi3)
 UNWIND(.fnstart)
 
 	cmp	r1, #0
@@ -314,11 +312,11 @@ UNWIND(.fnstart)
 	mov	pc, lr
 
 UNWIND(.fnend)
-ENDPROC(__modsi3)
+END(__modsi3)
 
 #ifdef CONFIG_AEABI
 
-ENTRY(__aeabi_uidivmod)
+FUNC(__aeabi_uidivmod)
 UNWIND(.fnstart)
 UNWIND(.save {r0, r1, ip, lr}	)
 
@@ -330,9 +328,9 @@ UNWIND(.save {r0, r1, ip, lr}	)
 	mov	pc, lr
 
 UNWIND(.fnend)
-ENDPROC(__aeabi_uidivmod)
+END(__aeabi_uidivmod)
 
-ENTRY(__aeabi_idivmod)
+FUNC(__aeabi_idivmod)
 UNWIND(.fnstart)
 UNWIND(.save {r0, r1, ip, lr}	)
 	stmfd	sp!, {r0, r1, ip, lr}
@@ -343,9 +341,9 @@ UNWIND(.save {r0, r1, ip, lr}	)
 	mov	pc, lr
 
 UNWIND(.fnend)
-ENDPROC(__aeabi_idivmod)
+END(__aeabi_idivmod)
 
-ENTRY(__aeabi_uldivmod)
+FUNC(__aeabi_uldivmod)
 UNWIND(.fnstart)
 UNWIND(.save {lr}	)
 	sub sp, sp, #8
@@ -357,9 +355,9 @@ UNWIND(.save {lr}	)
 	mov	pc, lr
 
 UNWIND(.fnend)
-ENDPROC(__aeabi_uldivmod)
+END(__aeabi_uldivmod)
 
-ENTRY(__aeabi_ldivmod)
+FUNC(__aeabi_ldivmod)
 UNWIND(.fnstart)
 UNWIND(.save {lr}	)
 	sub sp, sp, #16
@@ -371,10 +369,10 @@ UNWIND(.save {lr}	)
 	mov	pc, lr
 	
 UNWIND(.fnend)
-ENDPROC(__aeabi_ldivmod)
+END(__aeabi_ldivmod)
 #endif
 
-Ldiv0:
+FUNC_LOCAL(Ldiv0)
 UNWIND(.fnstart)
 UNWIND(.pad #4)
 UNWIND(.save {lr})
@@ -383,4 +381,4 @@ UNWIND(.save {lr})
 	mov	r0, #0			@ About as wrong as it could be.
 	ldr	pc, [sp], #8
 UNWIND(.fnend)
-ENDPROC(Ldiv0)
+END(Ldiv0)
--- a/xen/arch/arm/arm32/lib/lshrdi3.S
+++ b/xen/arch/arm/arm32/lib/lshrdi3.S
@@ -34,8 +34,8 @@ along with this program; see the file CO
 #define ah r1
 #endif
 
-ENTRY(__lshrdi3)
-ENTRY(__aeabi_llsr)
+FUNC(__lshrdi3)
+LABEL(__aeabi_llsr)
 
 	subs	r3, r2, #32
 	rsb	ip, r2, #32
@@ -47,5 +47,4 @@ ENTRY(__aeabi_llsr)
 	mov	ah, ah, lsr r2
 	mov	pc, lr
 
-ENDPROC(__lshrdi3)
-ENDPROC(__aeabi_llsr)
+END(__lshrdi3)
--- a/xen/arch/arm/arm32/lib/memchr.S
+++ b/xen/arch/arm/arm32/lib/memchr.S
@@ -12,8 +12,7 @@
 #include "assembler.h"
 
 	.text
-	.align	5
-ENTRY(memchr)
+FUNC(memchr, 32)
 	and	r1, r1, #0xff
 1:	subs	r2, r2, #1
 	bmi	2f
@@ -23,4 +22,4 @@ ENTRY(memchr)
 	sub	r0, r0, #1
 2:	movne	r0, #0
 	mov	pc, lr
-ENDPROC(memchr)
+END(memchr)
--- a/xen/arch/arm/arm32/lib/memcpy.S
+++ b/xen/arch/arm/arm32/lib/memcpy.S
@@ -54,8 +54,8 @@
 
 /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
 
-ENTRY(memcpy)
+FUNC(memcpy)
 
 #include "copy_template.S"
 
-ENDPROC(memcpy)
+END(memcpy)
--- a/xen/arch/arm/arm32/lib/memmove.S
+++ b/xen/arch/arm/arm32/lib/memmove.S
@@ -24,7 +24,7 @@
  * occurring in the opposite direction.
  */
 
-ENTRY(memmove)
+FUNC(memmove)
 
 		subs	ip, r0, r1
 		cmphi	r2, ip
@@ -194,4 +194,4 @@ ENTRY(memmove)
 
 18:		backward_copy_shift	push=24	pull=8
 
-ENDPROC(memmove)
+END(memmove)
--- a/xen/arch/arm/arm32/lib/memset.S
+++ b/xen/arch/arm/arm32/lib/memset.S
@@ -12,9 +12,8 @@
 #include "assembler.h"
 
 	.text
-	.align	5
 
-ENTRY(memset)
+FUNC(memset, 32)
 	and	r1, r1, #0xff
 	ands	r3, r0, #3		@ 1 unaligned?
 	mov	ip, r0			@ preserve r0 as return value
@@ -120,4 +119,4 @@ ENTRY(memset)
 	strb	r1, [ip], #1		@ 1
 	add	r2, r2, r3		@ 1 (r2 = r2 - (4 - r3))
 	b	1b
-ENDPROC(memset)
+END(memset)
--- a/xen/arch/arm/arm32/lib/strchr.S
+++ b/xen/arch/arm/arm32/lib/strchr.S
@@ -14,8 +14,7 @@
 #include "assembler.h"
 
 		.text
-		.align	5
-ENTRY(strchr)
+FUNC(strchr, 32)
 		and	r1, r1, #0xff
 1:		ldrb	r2, [r0], #1
 		teq	r2, r1
@@ -25,4 +24,4 @@ ENTRY(strchr)
 		movne	r0, #0
 		subeq	r0, r0, #1
 		mov	pc, lr
-ENDPROC(strchr)
+END(strchr)
--- a/xen/arch/arm/arm32/lib/strrchr.S
+++ b/xen/arch/arm/arm32/lib/strrchr.S
@@ -12,8 +12,7 @@
 #include "assembler.h"
 
 		.text
-		.align	5
-ENTRY(strrchr)
+FUNC(strrchr, 32)
 		and	r1, r1, #0xff
 		mov	r3, #0
 1:		ldrb	r2, [r0], #1
@@ -23,4 +22,4 @@ ENTRY(strrchr)
 		bne	1b
 		mov	r0, r3
 		mov	pc, lr
-ENDPROC(strrchr)
+END(strrchr)



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:07:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911341.1317791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdb7-0002pQ-HU; Thu, 13 Mar 2025 08:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911341.1317791; Thu, 13 Mar 2025 08:07: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 1tsdb7-0002pJ-Eb; Thu, 13 Mar 2025 08:07:21 +0000
Received: by outflank-mailman (input) for mailman id 911341;
 Thu, 13 Mar 2025 08:07: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdb6-0002fh-FE
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:07:20 +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 2ed36e0f-ffe2-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 09:07:18 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so10528775e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:07: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-395c83b6e87sm1272056f8f.32.2025.03.13.01.07.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:07: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: 2ed36e0f-ffe2-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741853238; x=1742458038; 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=JZSRw1yeJ0fgmNmD4NFPkk5QxMfczbYCBB42jjWa7ro=;
        b=dbNenuFxlb21MPiLDaqkXptFxlFStdi3Jef9jtunGkg1RcnQZi6HFzMaBpmPbcUaN6
         GFYL1roUANTGRhVY2a7Bl+F4v6qiDjHZhh5rr2giYZmSGBJuimIveVKq9dtWnd3l/FMq
         x2iWryHhsaigXUGYKXZkjQ76WTIQXJEnO84ucSG8iplzlG+zzeRAABlOJ2S+asLAfhYL
         fQ60u3MTtfr4QOv3JfyNPycANdYHG9h6J58U8y8V8lWJd+KMR1TPqEntFwprgVwfLz2q
         0ltJ4bBN50SBGsJQXoJWuHdkKU7YCVdwu4/lw0gRJGpKUTqxx1Vae0y9UybIT49ButVa
         7mqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853238; x=1742458038;
        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=JZSRw1yeJ0fgmNmD4NFPkk5QxMfczbYCBB42jjWa7ro=;
        b=i/S2Xb4bBRBG+0cunhybKEu/gd8oIiX/vHeihoCKZcBgnmmySckHlxiDHFqWEb73qJ
         AVGdeBH5bpdtQOwJx+Z7oadIdlO29o6NXuFg5v5Ud3HrhErQqNCIJOjsj86GTr05DO41
         1ar5Z66hERcH+M5MEmvpjgk90DOGq1dxK4khdmjU6a0vTUk91Zo5cIe4euOGZKQsXX2D
         BgCmfJHCbcu83kzk+b4m8AgoNgR4JEVEfpgYF2j9GsZyocWqLpLM435k0Fepytif6knu
         ibk5bgxAjxwcbOVn4p5YQw+mqUKZXsuY8pCARVCPGiqjkdB2ts7NSgLcKIwm2sEoaqVf
         vnXQ==
X-Gm-Message-State: AOJu0YyvnnmrCaGI/OblqjvQIpErPw/BDo/Z8IWrwHnXta3uNGOpOPYD
	qh9DGQbfesJAqfNuzb6TpcQhk2cfFKczwDET8JG0kapGJ56y45EZ9coodAy4GqDlY318IS9v6DI
	=
X-Gm-Gg: ASbGncvNRxGNcEfST2t59lXmoc74Z7kuCneX6f7pWG4nxc6sKrkn4ER54LL1zyfO9NU
	5yu6V2GUJM9dtLR4p0rH1DfxS78zuNAXcSv4HufELVyZCkxk0JODAStalctMHJkR9vXAt7AT27r
	FzKxt7D6+g1ous3tuo02Qwi2xyAylsMwQSLLvVEU9N8+4Go/PwmuVG+l8pGM6eccdU7EZR1gJKc
	yKceACt/zfGKV8NN5gVlryxXJvl2LFWg+m1sbnLdJWeoHfSe5GUg6X+RUpood7OEZxfTYoaEe7G
	C3aStphZD/dQ5yfr6h0P6sb+HrG+ygO4YTwjRVesqrCxaFtnLGr4Xr46zRtx3ptKY9Wtd2Dvmr0
	jJbaXm8qafhcBMYaJ+xHgEvTiICOFag==
X-Google-Smtp-Source: AGHT+IFUQAYgdwylcRt17N6aDzg8lVuRZinZ/67XT/+6aKMIt6u3gbVMpzUPLXDGMc3NmVZOw/29Ug==
X-Received: by 2002:a05:6000:18a3:b0:38d:ae1e:2f3c with SMTP id ffacd0b85a97d-395b86ea83amr1129332f8f.25.1741853238105;
        Thu, 13 Mar 2025 01:07:18 -0700 (PDT)
Message-ID: <1287edd8-188f-4b1a-b087-0beb3eea5ed4@suse.com>
Date: Thu, 13 Mar 2025 09:07:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v8 RESEND 2/6] Arm32: use new-style entry annotations for MMU
 code
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@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: <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Locally override SYM_PUSH_SECTION() to retain the intended section
association.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
---
v7: New.

--- a/xen/arch/arm/arm32/mmu/head.S
+++ b/xen/arch/arm/arm32/mmu/head.S
@@ -160,6 +160,13 @@
 .endm
 
 .section .text.idmap, "ax", %progbits
+/*
+ * Code below wants to all live in the section established above.  Annotations
+ * from xen/linkage.h therefore may not switch sections (honoring
+ * CONFIG_CC_SPLIT_SECTIONS).  Override the respective macro.
+ */
+#undef SYM_PUSH_SECTION
+#define SYM_PUSH_SECTION(name, attr)
 
 /*
  * Rebuild the boot pagetable's first-level entries. The structure
@@ -174,7 +181,7 @@
  *
  * Clobbers r0 - r5
  */
-create_page_tables:
+FUNC_LOCAL(create_page_tables)
         /* Prepare the page-tables for mapping Xen */
         mov_w r0, XEN_VIRT_START
 
@@ -263,7 +270,7 @@ use_temporary_mapping:
 
         mov   r12, #1                /* r12 := temporary mapping created */
         mov   pc, lr
-ENDPROC(create_page_tables)
+END(create_page_tables)
 
 /*
  * Turn on the Data Cache and the MMU. The function will return
@@ -276,7 +283,7 @@ ENDPROC(create_page_tables)
  *
  * Clobbers r0 - r5
  */
-enable_mmu:
+FUNC_LOCAL(enable_mmu)
         PRINT("- Turning on paging -\r\n")
 
         /*
@@ -346,7 +353,7 @@ enable_mmu:
         teq   r12, #0
         beq   remove_identity_mapping
         b     remove_temporary_mapping
-ENDPROC(enable_mmu)
+END(enable_mmu)
 
 /*
  * Switch to the runtime mapping. The logic depends on whether the
@@ -366,7 +373,7 @@ ENDPROC(enable_mmu)
  *
  * Clobbers r0 - r4
  */
-switch_to_runtime_mapping:
+FUNC_LOCAL(switch_to_runtime_mapping)
         /*
          * Jump to the runtime mapping if the virt and phys are not
          * clashing
@@ -411,7 +418,7 @@ ready_to_switch:
         PRINT_ID("- Jumping to runtime address -\r\n")
 
         mov   pc, lr
-ENDPROC(switch_to_runtime_mapping)
+END(switch_to_runtime_mapping)
 
 /*
  * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
@@ -428,7 +435,7 @@ ENDPROC(switch_to_runtime_mapping)
  *
  * Clobbers r0 - r6
  */
-ENTRY(enable_secondary_cpu_mm)
+FUNC(enable_secondary_cpu_mm)
         mov   r6, lr
 
         bl    create_page_tables
@@ -456,7 +463,7 @@ ENTRY(enable_secondary_cpu_mm)
 
         /* Return to the virtual address requested by the caller. */
         mov   pc, r6
-ENDPROC(enable_secondary_cpu_mm)
+END(enable_secondary_cpu_mm)
 
 /*
  * Enable mm (turn on the data cache and the MMU) for the boot CPU.
@@ -474,7 +481,7 @@ ENDPROC(enable_secondary_cpu_mm)
  *
  * Clobbers r0 - r6
  */
-ENTRY(enable_boot_cpu_mm)
+FUNC(enable_boot_cpu_mm)
         mov   r6, lr
 
 #ifdef CONFIG_EARLY_PRINTK
@@ -491,7 +498,7 @@ ENTRY(enable_boot_cpu_mm)
         /* Address in the runtime mapping to jump to after the MMU is enabled */
         mov   lr, r6
         b     enable_mmu
-ENDPROC(enable_boot_cpu_mm)
+END(enable_boot_cpu_mm)
 
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
@@ -503,7 +510,7 @@ ENDPROC(enable_boot_cpu_mm)
  *
  * Clobbers r0 - r3
  */
-remove_identity_mapping:
+FUNC_LOCAL(remove_identity_mapping)
         PRINT("- Removing the identity mapping -\r\n")
 
         /* r2:r3 := invalid page-table entry */
@@ -518,14 +525,14 @@ remove_identity_mapping:
 
         flush_xen_tlb_local r0
         mov   pc, lr
-ENDPROC(remove_identity_mapping)
+END(remove_identity_mapping)
 
 /*
  * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
  *
  * Clobbers r0 - r3
  */
-remove_temporary_mapping:
+FUNC_LOCAL(remove_temporary_mapping)
         PRINT("- Removing the temporary mapping -\r\n")
 
         /* r2:r3 := invalid page-table entry */
@@ -541,13 +548,14 @@ remove_temporary_mapping:
         flush_xen_tlb_local r0
 
         mov  pc, lr
-ENDPROC(remove_temporary_mapping)
+END(remove_temporary_mapping)
 
 /* Fail-stop */
-fail:   PRINT("- Boot failed -\r\n")
+FUNC_LOCAL(fail)
+        PRINT("- Boot failed -\r\n")
 1:      wfe
         b     1b
-ENDPROC(fail)
+END(fail)
 
 /*
  * Switch TTBR
@@ -555,7 +563,7 @@ ENDPROC(fail)
  *
  * TODO: This code does not comply with break-before-make.
  */
-ENTRY(switch_ttbr)
+FUNC(switch_ttbr)
         dsb                            /* Ensure the flushes happen before
                                         * continuing */
         isb                            /* Ensure synchronization with previous
@@ -579,4 +587,4 @@ ENTRY(switch_ttbr)
         isb
 
         mov pc, lr
-ENDPROC(switch_ttbr)
+END(switch_ttbr)



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:07:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:07:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911352.1317802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdbS-0003MT-Pr; Thu, 13 Mar 2025 08:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911352.1317802; Thu, 13 Mar 2025 08:07: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 1tsdbS-0003MM-MA; Thu, 13 Mar 2025 08:07:42 +0000
Received: by outflank-mailman (input) for mailman id 911352;
 Thu, 13 Mar 2025 08:07: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdbR-0002fh-92
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:07:41 +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 3b579f7f-ffe2-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 09:07:39 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3f4so350797f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:07: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-395c83b6a27sm1260836f8f.31.2025.03.13.01.07.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:07: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: 3b579f7f-ffe2-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741853259; x=1742458059; 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=XKljBacIPM6MhfkERp0GTy5k2MofG0GpSZ3K3Fzb1sA=;
        b=OrghxjR0FUV0qmWPUM8uA96f4+o38isfCyq+OLIj+yrqxrywIgpkVzgJKeSc1z98dR
         EBkI4ud73Z4LdCugXyZv3Asp/zP9T208rm2M+Wq/tCfV4ZaTs2ccKt+jO0zQussPu+W1
         uZEGQebG8zugSK2gFXtJZM2y7OoQ7nOPypfkD73ETGwO0JCYUdzXALM6fKBYf6btSxfw
         EjnWxp8q0L33gzHab1Q+MF+JLRK4JvQK8VBBXVQ+Auw0VgxPGZU4WSg/ETCDe05ttcHH
         1gsRQzIc7JwiCmvAxQboG9LpRQAgtDJn5WePwBCwpAsFS738WLlwTsSv9i/zLJ7HQ7vD
         SVsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853259; x=1742458059;
        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=XKljBacIPM6MhfkERp0GTy5k2MofG0GpSZ3K3Fzb1sA=;
        b=TZSbl01e4c4xDoHJvqV9IWb6s+nGlDtJLSrnoRxl2EBtk3cDvIcoxsH6Zj7g9m4Wet
         PtuyzHLWil+eEycn8mZQg//TK3/7VjfLxbksEsLm/BNPGmDx+mKqO/MMgjh4/FZ0fpX2
         e0WnHiub9N5rPE9pGNSxJv4E6+BGttuzGazQOG94sAoBZM+4MZHTbfPN1rpfKXNQu+Yl
         H2+rdvrPzLAPEOHfKEwwoSDwhChMIXfKaVn0RdG97Vuv6deVGy0ijOxqmzH4lygIRdQn
         tSZdOyiygi2lZehqmulyyxm1+gZUsXpEL0hT44QfeMQQfdOpbMapwjPoXzmdt6ofDfgu
         9a/g==
X-Gm-Message-State: AOJu0Yxb1MI2wv6zbbo7akU2cLxUqGUxKleGGfimwRrEIbCp+UgXGVnz
	9OuWVPiIOx+pjATzqmbHCnwQ/XIWFGK0wWFFUEMPaOOPH8r09a8+M3/2H7wCYsSEUmva8JcUNCk
	=
X-Gm-Gg: ASbGnctfwp19jFLLb/6wrUwDfKcIKXMqWb+9h8OyhCuN4+Qv59kNLvhpW71W3fjc+Ij
	i3Mh8+M8NfrusaK0DQsNn4d0ODDo51OrDuFKtcarzVqwda0f2+vUMupW50No48hS6Vqf2q2oww5
	S9OR/rHB5KfffEYKfnDiwBGCQo1mHClJ6D0nx8gWUog2rZ9amvXLgMzFGs3EnsZl8pDdWLCUgE3
	THl8fUAaskn4XXLvyE2sTRKINKo8Yx1IqB9xEJGAN6JYLHHFQFSF+MW6G25Ehm4qCwFH4768sFr
	JCbGWV6YlnicUbid4FiYDQn9CPu7GygUofYyh2HHqcIQlnRRhDpHNNpEskbwtkwN8jdXgeLBSGo
	jGk1FCswevSaXQO3yZeuQw0dpNdxMDw==
X-Google-Smtp-Source: AGHT+IFNjs9EtZR3jdS2HP7+IJGkzdIAwAMYmDJ5lsx4B1od1jm2hZCT5zOuMLeP/65L63JlwkEXcg==
X-Received: by 2002:a5d:64e4:0:b0:391:48f7:bd8a with SMTP id ffacd0b85a97d-39148f7be31mr13713225f8f.30.1741853259131;
        Thu, 13 Mar 2025 01:07:39 -0700 (PDT)
Message-ID: <149aff98-bccb-4671-9961-484e5651bf1f@suse.com>
Date: Thu, 13 Mar 2025 09:07:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v8 RESEND 3/6] Arm32: use new-style entry annotations for
 entry code
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@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: <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
---
Should the GLOBAL()s also be replaced?
---
v7: New.

--- a/xen/arch/arm/arm32/entry.S
+++ b/xen/arch/arm/arm32/entry.S
@@ -31,7 +31,7 @@
  *  r4: Set to a non-zero value if a pending Abort exception took place.
  *      Otherwise, it will be set to zero.
  */
-prepare_context_from_guest:
+FUNC_LOCAL(prepare_context_from_guest)
 #ifdef CONFIG_ARM32_HARDEN_BRANCH_PREDICTOR
         /*
          * Restore vectors table to the default as it may have been
@@ -140,7 +140,7 @@ abort_guest_exit_end:
 
 skip_check:
         b   enter_hypervisor_from_guest_preirq
-ENDPROC(prepare_context_from_guest)
+END(prepare_context_from_guest)
 
         /*
          * Macro to define a trap entry.
@@ -362,13 +362,13 @@ trap_irq:
 trap_fiq:
         vector fiq
 
-return_from_trap:
+LABEL_LOCAL(return_from_trap)
         /*
          * Restore the stack pointer from r11. It was saved on exception
          * entry (see __DEFINE_TRAP_ENTRY).
          */
         mov sp, r11
-ENTRY(return_to_new_vcpu32)
+LABEL(return_to_new_vcpu32)
         ldr r11, [sp, #UREGS_cpsr]
         and r11, #PSR_MODE_MASK
         cmp r11, #PSR_MODE_HYP
@@ -426,6 +426,7 @@ return_to_hypervisor:
         clrex
         eret
         sb
+END(return_from_trap)
 
 /*
  * struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next)
@@ -435,12 +436,13 @@ return_to_hypervisor:
  *
  * Returns prev in r0
  */
-ENTRY(__context_switch)
+FUNC(__context_switch)
         add     ip, r0, #VCPU_arch_saved_context
         stmia   ip!, {r4 - sl, fp, sp, lr}      /* Save register state */
 
         add     r4, r1, #VCPU_arch_saved_context
         ldmia   r4, {r4 - sl, fp, sp, pc}       /* Load registers and return */
+END(__context_switch)
 
 /*
  * Local variables:



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:08:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:08:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911364.1317812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdbn-0003th-4F; Thu, 13 Mar 2025 08:08:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911364.1317812; Thu, 13 Mar 2025 08:08: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 1tsdbn-0003ta-10; Thu, 13 Mar 2025 08:08:03 +0000
Received: by outflank-mailman (input) for mailman id 911364;
 Thu, 13 Mar 2025 08:08: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdbm-0002PI-JH
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:08:02 +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 4898289d-ffe2-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:08:01 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43948021a45so5238405e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:08: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-43d188b7185sm11831465e9.12.2025.03.13.01.08.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:08: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: 4898289d-ffe2-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741853281; x=1742458081; 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=1pF3zG1Lu286gm/rHp2c7FaZjiC0YCZORJZgvDubhLo=;
        b=Gi2NfSOuf0/gLnszN8av9HOq6IMXH1Rn7D0yO2OV1VrDfLyUshuzSext20G+GiqWkS
         f7g8c0zQsnyOwvBsOnVZkKOz6QuEbyvUsiEYOk35xMry0Mv2udt66dhP9CVXzlpk6TRx
         jRlVVFr0ay/Ll9/djPGUpan7Q6/gwkVMJBWU/fMhafFes0QpGGEYbzUVbfxWGBe8cby4
         xxR+hINvHhUFYTRyYBcIYM09SuLqQu+DVy2X9+kJ2g4ucHhLfb9TyQ7KKxpqGXce/ZG/
         zaE/LTPR+Eqq+VXk+NZqCIAoVxPtF9B9S0CVkeRlMLtm0bi4Kyz8GdzyDF51zlOEcqDC
         45pg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853281; x=1742458081;
        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=1pF3zG1Lu286gm/rHp2c7FaZjiC0YCZORJZgvDubhLo=;
        b=byvtU1CoUYIaZAhcxoly+gtGyHPadAJlwjqY2Ku81YBEKPwUEWhEy8QSDPrmKG1J3Y
         qunPsZoxuJQLulRdnPsaZAWYZUWM855FOvpfg+vWvCdqpjqWwIoXC1YX9bzzmqdBP9lC
         9ApNxLhXACYXMnMjNf3bgwG6/hSuYe87O8GM7lChrS+GJp5OZ8cbP/RSE0Ueqr7hqImu
         CIkJwon/lZP5eL1ygeXJjy3gGHcDbwBVOQ0nzzuDBDtloO2aGRiUuBXzHm231JEW6b2/
         O4rB4eiuF1RUbDPv8R+/V9T0oNu1meg58C3jDmxOgdoEEVETNuOhbDZ4fZmOet2KoUY8
         71lQ==
X-Gm-Message-State: AOJu0YyG9Wi2yC3vMbK+ern8JUwXi7EdCNcwW/tbMiF4NK3p4t5or6/R
	iGQre2d8AhWC6xxJHOywqsBPxuPr5O2EGEE1Txci/94q/UKpBelV9H5DMZKHCqgiqiWgtnoUGpE
	=
X-Gm-Gg: ASbGncvuglGLBoFMbIx45bbp3v6qD9VJTv+onVgNplDN1hjaJqaxMrRrusvoAETDOE+
	7eUgP910ipBUa7bQxgeL7hCJyNDm/x9v79ywAfTARHaudEANb5pzLRIHJ6lhtjJTVF1fo5MUN8x
	46EG6EnUv+YEPFE+ZtntkVB9phlMhsWCkv69A6Yo7ULFrKzoPUIw2ATqEMgSnTo05ACyJwCRldv
	AgJFKVNU0eKKa7FX3hTU5QqIxVmrtFADix0h6BUcZdMxcEDlYhtPt+4QkYcx/hWgZ9Vd019l1kT
	tbnalKJDWTrTdugCU2FAX331nHBgN8QBzc6oxzAGiwq90wHGQkZKuMEkF2czpkZFHyp+DgZ+1m2
	oxGwPsYcqEoQq+lt7TlCJoWS8oMvLCA==
X-Google-Smtp-Source: AGHT+IF6WHDW7hwE+z2543czQSgp/Nft/ARqReljA80uKWlCAa5BrOcutZtNgMkH2l4iHal9SdE3xg==
X-Received: by 2002:a05:600c:3b0e:b0:43c:f513:9585 with SMTP id 5b1f17b1804b1-43cf5139ae7mr145751395e9.13.1741853281275;
        Thu, 13 Mar 2025 01:08:01 -0700 (PDT)
Message-ID: <cffeb50d-5d99-4fa9-871c-f710da8bd028@suse.com>
Date: Thu, 13 Mar 2025 09:08:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v8 RESEND 4/6] Arm32: use new-style entry annotations in
 head.S
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@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: <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Locally override SYM_PUSH_SECTION() to retain the intended section
association.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
---
v8: Re-base.
v7: New.

--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -48,13 +48,20 @@
 
         .section .text.header, "ax", %progbits
         .arm
+/*
+ * Code below wants to all live in the section established above.  Annotations
+ * from xen/linkage.h therefore may not switch sections (honoring
+ * CONFIG_CC_SPLIT_SECTIONS).  Override the respective macro.
+ */
+#undef SYM_PUSH_SECTION
+#define SYM_PUSH_SECTION(name, attr)
 
         /*
          * This must be the very first address in the loaded image.
          * It should be linked at XEN_VIRT_START, and loaded at any
          * 4K-aligned address.
          */
-GLOBAL(start)
+FUNC(start)
         /*
          * zImage magic header, see:
          * http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#d0e309
@@ -104,9 +111,9 @@ primary_switched:
         mov   r0, r8                 /* r0 := paddr(FDT) */
         mov_w r1, start_xen
         b     launch
-ENDPROC(start)
+END(start)
 
-GLOBAL(init_secondary)
+FUNC(init_secondary)
         cpsid aif                    /* Disable all interrupts */
 
         /* Find out where we are */
@@ -142,7 +149,7 @@ secondary_switched:
         /* Jump to C world */
         mov_w r1, start_secondary
         b     launch
-ENDPROC(init_secondary)
+END(init_secondary)
 
 /*
  * Check if the CPU supports virtualization extensions and has been booted
@@ -154,7 +161,7 @@ ENDPROC(init_secondary)
  *
  * Clobbers r0 - r3
  */
-check_cpu_mode:
+FUNC_LOCAL(check_cpu_mode)
         /* Check that this CPU has Hyp mode */
         mrc   CP32(r0, ID_PFR1)
         and   r0, r0, #0xf000        /* Bits 12-15 define virt extensions */
@@ -174,14 +181,14 @@ check_cpu_mode:
         PRINT("- Xen must be entered in NS Hyp mode -\r\n")
         PRINT("- Please update the bootloader -\r\n")
         b     fail
-ENDPROC(check_cpu_mode)
+END(check_cpu_mode)
 
 /*
  * Zero BSS
  *
  * Clobbers r0 - r3
  */
-zero_bss:
+FUNC_LOCAL(zero_bss)
         PRINT("- Zero BSS -\r\n")
         mov_w r0, __bss_start        /* r0 := vaddr(__bss_start) */
         mov_w r1, __bss_end          /* r1 := vaddr(__bss_end)   */
@@ -195,9 +202,9 @@ zero_bss:
 
 skip_bss:
         mov   pc, lr
-ENDPROC(zero_bss)
+END(zero_bss)
 
-cpu_init:
+FUNC_LOCAL(cpu_init)
         PRINT("- Setting up control registers -\r\n")
 
         mov   r5, lr                       /* r5 := return address */
@@ -238,7 +245,7 @@ cpu_init_done:
         isb
 
         mov   pc, r5                        /* Return address is in r5 */
-ENDPROC(cpu_init)
+END(cpu_init)
 
 /*
  * Setup the initial stack and jump to the C world
@@ -249,7 +256,7 @@ ENDPROC(cpu_init)
  *
  * Clobbers r3
  */
-launch:
+FUNC_LOCAL(launch)
         mov_w r3, init_data
         add   r3, #INITINFO_stack    /* Find the boot-time stack */
         ldr   sp, [r3]
@@ -258,13 +265,14 @@ launch:
 
         /* Jump to C world */
        bx    r1
-ENDPROC(launch)
+END(launch)
 
 /* Fail-stop */
-fail:   PRINT("- Boot failed -\r\n")
+FUNC_LOCAL(fail)
+        PRINT("- Boot failed -\r\n")
 1:      wfe
         b     1b
-ENDPROC(fail)
+END(fail)
 
 #ifdef CONFIG_EARLY_PRINTK
 /*
@@ -275,14 +283,14 @@ ENDPROC(fail)
  *
  * Clobbers r0 - r3
  */
-init_uart:
+FUNC_LOCAL(init_uart)
         mov_w r11, CONFIG_EARLY_UART_BASE_ADDRESS
 #ifdef CONFIG_EARLY_UART_INIT
         early_uart_init r11, r1, r2
 #endif
         PRINT("- UART enabled -\r\n")
         mov   pc, lr
-ENDPROC(init_uart)
+END(init_uart)
 
 /*
  * Print early debug messages.
@@ -291,14 +299,14 @@ ENDPROC(init_uart)
  * r11: Early UART base address
  * Clobbers r0-r1
  */
-ENTRY(asm_puts)
+FUNC(asm_puts)
         early_uart_ready r11, r1
         ldrb  r1, [r0], #1           /* Load next char */
         teq   r1, #0                 /* Exit on nul */
         moveq pc, lr
         early_uart_transmit r11, r1
         b asm_puts
-ENDPROC(asm_puts)
+END(asm_puts)
 
 /*
  * Print a 32-bit number in hex.
@@ -307,7 +315,7 @@ ENDPROC(asm_puts)
  * r11: Early UART base address
  * Clobbers r0-r3
  */
-ENTRY(asm_putn)
+FUNC(asm_putn)
         adr_l r1, hex
         mov   r3, #8
 1:
@@ -319,18 +327,19 @@ ENTRY(asm_putn)
         subs  r3, r3, #1
         bne   1b
         mov   pc, lr
-ENDPROC(asm_putn)
+END(asm_putn)
 
 RODATA_SECT(.rodata.idmap, hex, "0123456789abcdef")
 
 #endif /* CONFIG_EARLY_PRINTK */
 
 /* This provides a C-API version of __lookup_processor_type */
-ENTRY(lookup_processor_type)
+FUNC(lookup_processor_type)
         stmfd sp!, {r4, lr}
         bl    __lookup_processor_type
         mov r0, r1
         ldmfd sp!, {r4, pc}
+END(lookup_processor_type)
 
 /*
  * Read processor ID register (CP#15, CR0), and Look up in the linker-built
@@ -341,7 +350,7 @@ ENTRY(lookup_processor_type)
  * r1: proc_info pointer
  * Clobbers r2-r4
  */
-__lookup_processor_type:
+FUNC_LOCAL(__lookup_processor_type)
         mrc   CP32(r0, MIDR)                /* r0 := our cpu id */
         adr_l r1, __proc_info_start
         adr_l r2, __proc_info_end
@@ -357,7 +366,7 @@ __lookup_processor_type:
         mov   r1, #0
 2:
         mov   pc, lr
-ENDPROC(__lookup_processor_type)
+END(__lookup_processor_type)
 
 /*
  * Local variables:



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:10:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911374.1317822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsddm-0005U8-FP; Thu, 13 Mar 2025 08:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911374.1317822; Thu, 13 Mar 2025 08:10: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 1tsddm-0005U1-By; Thu, 13 Mar 2025 08:10:06 +0000
Received: by outflank-mailman (input) for mailman id 911374;
 Thu, 13 Mar 2025 08:10: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsddl-0005Hx-B0
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:10:05 +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 9189ab63-ffe2-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:10:04 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so3720855e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:10:04 -0700 (PDT)
Received: from [10.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-43d0a8d0b79sm44346955e9.36.2025.03.13.01.10.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01: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: 9189ab63-ffe2-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741853404; x=1742458204; 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=a9oKTiKBwArQLNpdxNsRgLs7kPxKYu6U4lVVb3DtoME=;
        b=CmNtnYUgE3G6OGrhyZCBVkh7dlQA4CD3Kppg20VXL75uhEVgWA9LA4yKmih06ixqz2
         AdkcI8rY4L2fRVdxerSjbCupGE5aKBUZJINIoTZNgPhexQRMGZmXpMukB5auxP6rj/z1
         1RIeoZ9mVWPyfuXiFFaAs5aoPAYzirPDebhEdxRsT/HZ76IgB8hVLo2DJO02XU2OMZXW
         O74ETTcVUaK6icrqx7n7S4kjmpLq2PuAuunTrv9MJ3+7GqEHfCyH4KdAr6nBlV/BD4x8
         L9+z0avr+K7X6oCoL1wxJxJiWP6VTsZEiZ7gmSaqoI71NBEwBnHHzBYWwHRKWrcvzODX
         gevQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853404; x=1742458204;
        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=a9oKTiKBwArQLNpdxNsRgLs7kPxKYu6U4lVVb3DtoME=;
        b=GSRWggV5MI9Z1CBAEZ3CpZif0Q7ZOpdCMqE14eyG4JolC6vvXR8mQOdnBMX5SnA2mx
         5B3jLSxU0Wdr1hn7NWQ0bpv8o+PTRge5c21lWeIQdndyaIv4ht+uWB/3zUqvjSf0/K9b
         eIOmCHZiW+5ljllvDb+k2ySO5BAX8ZpeEaRP2Wldl5J3IaC0/EIe4Vo8bpBFZXKj9ydq
         dpUPq/Get7Otk1dt6IvtoFQU6HeYjfdcGam3MXOZfYzpO1wfSoUoLYhpEtNQlqgsmaOu
         8uA1NjsGkyV5OBzpZyOvMspIlpPRmx7xW7ae9WTkzQSCN9edbh9OXm0yCYzANj8m2P0J
         Zcyg==
X-Gm-Message-State: AOJu0YycARUlzBgYuR/i6szMc6cv5DlE6OW78oGe+6nmKwrMjNY/Dlrk
	+tEt3jVBGZtkJTp5qU3Zo/KvqK+8lrrVk7OG/9FIetnUgesggEdJSxguuIoJBsybEu9MHREh2Ck
	=
X-Gm-Gg: ASbGncvnTZ9Cg9A4s95hCHuAYMjexpVF42JyCjkRfD4ppj7J5OGSP+tY7DYjmDI5Kgu
	x9jxtIYPjbP0jlrWE4SbVCM2NK90sXYtfN/LCnG8EJqsOAT7AMKLtifE7XkF+ozHTJJo+IO75Os
	So+JaY83JPy6/fbh808rpw/qrrgxqbvj07DYrgBdjvp8TwcWKGeYsM6M6GFRn0hYlFdNVYWgs7l
	04SG0kNm6WYsvgdwaqQ2AIMFWXNFdk2udnfAC7qxuvmAiemGAlSe/LeOi7PHGCANaIwoRF+m7iX
	/9KKKUEnIVusl8G9PAwHQMV8NrZkSQ65XeTlJ6A290Ei5tdnLP/kC07ZBzQhTrDP4dTaVatanB4
	MZFJCD9H7kwhDcns9+08GOE8crKUnmA==
X-Google-Smtp-Source: AGHT+IEwDwx5mI15SJQFWWBqVQOvoQHyRz5yeNEZ639Qoud7rzTp6IPE3eCeIMYIkkNriAAx9Qu7lQ==
X-Received: by 2002:a05:600c:3b13:b0:43d:b3:f95 with SMTP id 5b1f17b1804b1-43d00b313bemr99893895e9.28.1741853403537;
        Thu, 13 Mar 2025 01:10:03 -0700 (PDT)
Message-ID: <ea8357e8-ae29-41d7-af51-507d598044f9@suse.com>
Date: Thu, 13 Mar 2025 09:10:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v8 RESEND 6/6] common: honor CONFIG_CC_SPLIT_SECTIONS also for
 assembly functions
From: Jan Beulich <jbeulich@suse.com>
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>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@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: <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Leverage the new infrastructure in xen/linkage.h to also switch to per-
function sections (when configured), deriving the specific name from the
"base" section in use at the time FUNC() is invoked.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
---
TBD: Since we use .subsection in UNLIKELY_START(), a perhaps not really
     wanted side effect of this change is that respective out-of-line
     code now moves much closer to its original (invoking) code.

TBD: Of course something with the same overall effect, but less
     impactful might do in Config.mk. E.g. $(filter-out -D%,$(3))
     instead of $(firstword (3)). In fact Roger wants the detection to
     be in Kconfig, for LIVEPATCH to depend on it. Yet the whole
     underlying discussion there imo would first need settling (and
     therefore reviving).

Note that we'd need to split DATA() in order to separate r/w, r/o, and
BSS contributions. Further splitting might be needed to also support
more advanced attributes (e.g. merge), hence why this isn't done right
here. Sadly while a new section's name can be derived from the presently
in use, its attributes cannot be. Perhaps the only thing we can do is
give DATA() a 2nd mandatory parameter. Then again I guess most data
definitions could be moved to C anyway.

An alternative to the "override" in arm64/head.S would be to use
LABEL{,_LOCAL}() instead of FUNC{,_LOCAL}() there. Yet that would also
lose the type information then. Question is whether the annotated ranges
really are "functions" in whichever wide or narrow sense.
---
v7: Override SYM_PUSH_SECTION() in arch/x86/indirect-thunk.S. Re-base,
    notably to deal with fallout from fba250ae604e ("xen/arm64: head:
    Add missing code symbol annotations").
v6: Deal with x86'es entry_PF() and entry_int82() falling through to the
    next "function". Re-base.
v5: Re-base over changes earlier in the series.
v4: Re-base.
v2: Make detection properly fail on old gas (by adjusting
    cc-option-add-closure).

--- a/Config.mk
+++ b/Config.mk
@@ -102,7 +102,7 @@ cc-option = $(shell if $(1) $(2:-Wno-%=-
 # Usage: $(call cc-option-add CFLAGS,CC,-march=winchip-c6)
 cc-option-add = $(eval $(call cc-option-add-closure,$(1),$(2),$(3)))
 define cc-option-add-closure
-    ifneq ($$(call cc-option,$$($(2)),$(3),n),n)
+    ifneq ($$(call cc-option,$$($(2)),$(firstword $(3)),n),n)
         $(1) += $(3)
     endif
 endef
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -415,6 +415,9 @@ AFLAGS += -D__ASSEMBLY__
 
 $(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--noexecstack)
 
+# Check to see whether the assembler supports the --sectname-subst option.
+$(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--sectname-subst -DHAVE_AS_SECTNAME_SUBST)
+
 LDFLAGS-$(call ld-option,--warn-rwx-segments) += --no-warn-rwx-segments
 
 CFLAGS += $(CFLAGS-y)
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -28,6 +28,14 @@
 #include <asm/arm64/efibind.h>
 #endif
 
+/*
+ * Code here is, at least in part, ordering sensitive.  Annotations
+ * from xen/linkage.h therefore may not switch sections (honoring
+ * CONFIG_CC_SPLIT_SECTIONS).  Override the respective macro.
+ */
+#undef SYM_PUSH_SECTION
+#define SYM_PUSH_SECTION(name, attr)
+
 #define __HEAD_FLAG_PAGE_SIZE   ((PAGE_SHIFT - 10) / 2)
 
 #define __HEAD_FLAG_PHYS_BASE   1
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -140,6 +140,9 @@ SECTIONS
   .init.text : {
        _sinittext = .;
        *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+       *(.init.text.*)
+#endif
        _einittext = .;
        . = ALIGN(PAGE_SIZE);        /* Avoid mapping alt insns executable */
        *(.altinstr_replacement)
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -103,6 +103,9 @@ SECTIONS
     DECL_SECTION(.init.text) {
         _sinittext = .;
         *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        *(.init.text.*)
+#endif
         _einittext = .;
         . = ALIGN(PAGE_SIZE);        /* Avoid mapping alt insns executable */
     } :text
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -98,6 +98,9 @@ SECTIONS
     .init.text : {
         _sinittext = .;
         *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        *(.init.text.*)
+#endif
         _einittext = .;
         . = ALIGN(PAGE_SIZE);        /* Avoid mapping alt insns executable */
     } :text
--- a/xen/arch/x86/indirect-thunk.S
+++ b/xen/arch/x86/indirect-thunk.S
@@ -11,6 +11,10 @@
 
 #include <asm/asm_defns.h>
 
+/* Section placement is done explicitly here; override the respective macro. */
+#undef SYM_PUSH_SECTION
+#define SYM_PUSH_SECTION(name, attr)
+
 .macro IND_THUNK_RETPOLINE reg:req
         call 1f
         int3
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -31,6 +31,9 @@ FUNC(entry_int82)
 
         mov   %rsp, %rdi
         call  do_entry_int82
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        jmp   compat_test_all_events
+#endif
 END(entry_int82)
 
 /* %rbx: struct vcpu */
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -771,6 +771,9 @@ END(common_interrupt)
 FUNC(entry_PF)
         ENDBR64
         movb  $X86_EXC_PF, EFRAME_entry_vector(%rsp)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        jmp   handle_exception
+#endif
 END(entry_PF)
 /* No special register assumptions. */
 FUNC(handle_exception, 0)
@@ -1084,8 +1087,11 @@ FUNC(entry_NMI)
         ENDBR64
         pushq $0
         movb  $X86_EXC_NMI, EFRAME_entry_vector(%rsp)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        jmp   handle_ist_exception
+#endif
 END(entry_NMI)
-
+/* No special register assumptions. */
 FUNC(handle_ist_exception)
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         SAVE_ALL
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -85,6 +85,9 @@ SECTIONS
        . = ALIGN(PAGE_SIZE);
        _stextentry = .;
        *(.text.entry)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+       *(.text.entry.*)
+#endif
        . = ALIGN(PAGE_SIZE);
        _etextentry = .;
 
@@ -204,6 +207,9 @@ SECTIONS
 #endif
        _sinittext = .;
        *(.init.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+       *(.init.text.*)
+#endif
        *(.text.startup)
        _einittext = .;
        /*
--- a/xen/include/xen/linkage.h
+++ b/xen/include/xen/linkage.h
@@ -18,6 +18,14 @@
 
 #define SYM_ALIGN(align...) .balign align
 
+#if defined(HAVE_AS_SECTNAME_SUBST) && defined(CONFIG_CC_SPLIT_SECTIONS)
+# define SYM_PUSH_SECTION(name, attr) \
+         .pushsection %S.name, attr, %progbits; \
+         .equ .Lsplit_section, 1
+#else
+# define SYM_PUSH_SECTION(name, attr)
+#endif
+
 #define SYM_L_GLOBAL(name) .globl name; .hidden name
 #define SYM_L_WEAK(name)   .weak name
 #define SYM_L_LOCAL(name)  /* nothing */
@@ -32,7 +40,14 @@
         SYM_ALIGN(align);                         \
         name:
 
-#define END(name) .size name, . - name
+#define END(name) \
+        .size name, . - name; \
+        .ifdef .Lsplit_section; \
+            .if .Lsplit_section; \
+                .popsection; \
+                .equ .Lsplit_section, 0; \
+            .endif; \
+        .endif
 
 /*
  * CODE_FILL in particular may need to expand to nothing (e.g. for RISC-V), in
@@ -47,6 +62,7 @@
 #endif
 
 #define FUNC(name, align...) \
+        SYM_PUSH_SECTION(name, "ax"); \
         SYM(name, FUNC, GLOBAL, DO_CODE_ALIGN(align))
 #define LABEL(name, align...) \
         SYM(name, NONE, GLOBAL, DO_CODE_ALIGN(align))
@@ -54,6 +70,7 @@
         SYM(name, DATA, GLOBAL, LASTARG(DATA_ALIGN, ## align), DATA_FILL)
 
 #define FUNC_LOCAL(name, align...) \
+        SYM_PUSH_SECTION(name, "ax"); \
         SYM(name, FUNC, LOCAL, DO_CODE_ALIGN(align))
 #define LABEL_LOCAL(name, align...) \
         SYM(name, NONE, LOCAL, DO_CODE_ALIGN(align))



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:16:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911390.1317832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdjf-00079f-2k; Thu, 13 Mar 2025 08:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911390.1317832; Thu, 13 Mar 2025 08: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 1tsdje-00079Y-Vx; Thu, 13 Mar 2025 08:16:10 +0000
Received: by outflank-mailman (input) for mailman id 911390;
 Thu, 13 Mar 2025 08:16: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdc7-0002fh-II
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:08: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 549695ef-ffe2-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 09:08:22 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so3588385e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:08: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
 5b1f17b1804b1-43d18a4c71esm11567045e9.39.2025.03.13.01.08.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:08: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: 549695ef-ffe2-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741853301; x=1742458101; 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=V2ayXPNTBMmuD+MnIRKXvHvXy9zY3DBe7QT9taI8yfA=;
        b=dajOHvIsAoJZ+5SPu07YMjM4a27Lki3NLM7mgYH41ZDjaBP6Oua8R1uzwamF28S9Gu
         9qSsGlzeQCraYBp9nKTKP5sBaMw0FZvOYMNdfGRs4jjxk+chGycN5Lfbbh9Tg8p+U2/E
         kwmYMzjgxZbszGd3CIKXfGj1rR5kDKWJLYaBY8pnnDiAo8dV7LQOctZdrcXT+fp+8qKc
         ZmC/CIMFP2K7kHl9LRNsyTKohRv3kDvVPMR2dbpf9H0yQAMk1z9hpDOZ+6H9o+0sZ6HF
         HLA/lE8p8xwszaAcRFXNjjjm0jeilykizEwCzFvMmlnzIDfeO7WQN81ONyIBpNu3psWW
         rEcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853301; x=1742458101;
        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=V2ayXPNTBMmuD+MnIRKXvHvXy9zY3DBe7QT9taI8yfA=;
        b=TMv4Vl5ug+/nn32tuwP/m8xUNRe9exw8JPPaYChhKvLx/QW3iwX2hl7Wu0BbATAiPJ
         aaGEHhX9XxSwc7FodXL4wIUnc6OsinRwEcjnrKzpLu3EhLfZhPVwtmOSG1LZy1WcOPLM
         8ZOVl/dZgKtMRaO6vnkaWHSD6mAAny/nHJjgHEvdJlaQPnGHQgp2629sXVTv6Rp1DTEi
         +gwfmmMryWRRhCla1DXn1v3DvGT9q0JNErZxjSeirvzyUYp4MVU2cuptb6DyZW9oPRoF
         dTESQAK+izX779X56cegVCYTLFBUHFWcbgsoMxYCgcP9eAfs7eOnDgaxCZRTL8T9AdXL
         a6iA==
X-Gm-Message-State: AOJu0YwInTAvRLdUJXRftPYQV7BW8ktJZJ0wot3sI8VajQ991zv/dRIG
	KWRJK8x93TDEhg8k66fvf/o3PjYBP/4MKGOosxo1HnkyuCQPjLjYMjhEHksKJx34aRO7IfthuQg
	=
X-Gm-Gg: ASbGncscayn2v0DCZS+pZNiH25wxtnXF2xoOcRIxC290mWbYYysFFtxW6jeX69jI43z
	uR5o/81bF8OTVx3y2eG9p46QlinmTrQtgIgK0yXMgdu+kOEZf2rRO8gqVHAktoktYuTQmorBjll
	jitqdI+pG9JYIh0aw485Xck5gGVtAYGL/dJYAQkXdhnQtu1vuhajKSqc/sE5duhzNSj9Y/O4f9n
	sbfoXOdyPK1l2XcTmWqeMMKFUKqr5QJBgN2D6/wmEdXJfoCxGIIYENbbhcthdTjRgk47aM7B+J3
	gXXECgTl2hwA7r1xwG4qjWZOfpsAf4rfLbJlSj9JBfCtKLBvWWUFgkzQxxmcJui2wV/L4qcwJsQ
	lizm0CHwgYDweG1tTRUm5olBcfzDOXA==
X-Google-Smtp-Source: AGHT+IHj74m/bqqWj11m3m8dDP3+N8s8544b1+LtqndUJlFNSifYnr2gbtasbdhScEcsuupGLxGCoA==
X-Received: by 2002:a05:600c:3b1d:b0:43c:fe15:41d4 with SMTP id 5b1f17b1804b1-43cfe15436emr126281805e9.18.1741853301202;
        Thu, 13 Mar 2025 01:08:21 -0700 (PDT)
Message-ID: <867b783c-4fb5-40f0-8253-54b181a95b82@suse.com>
Date: Thu, 13 Mar 2025 09:08:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v8 RESEND 5/6] Arm: purge ENTRY(), ENDPROC(), and ALIGN
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@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: <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

They're no longer used. This also makes it unnecessary to #undef two of
them in the linker script.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
---
v7: New.

--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -53,17 +53,9 @@
 
 /* Linkage for ARM */
 #ifdef __ASSEMBLY__
-#define ALIGN .balign CONFIG_FUNCTION_ALIGNMENT
-#define ENTRY(name)                             \
-  .globl name;                                  \
-  ALIGN;                                        \
-  name:
 #define GLOBAL(name)                            \
   .globl name;                                  \
   name:
-#define ENDPROC(name) \
-  .type name, %function; \
-  END(name)
 #endif
 
 #include <xen/const.h>
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -6,8 +6,6 @@
 #include <xen/lib.h>
 #include <xen/xen.lds.h>
 #include <asm/page.h>
-#undef ENTRY
-#undef ALIGN
 
 ENTRY(start)
 



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:17:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911412.1317842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdlH-0000xq-HJ; Thu, 13 Mar 2025 08:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911412.1317842; Thu, 13 Mar 2025 08:17: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 1tsdlH-0000xj-E4; Thu, 13 Mar 2025 08:17:51 +0000
Received: by outflank-mailman (input) for mailman id 911412;
 Thu, 13 Mar 2025 08:17: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=gXIy=WA=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tsdlF-0000vo-Jw
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:17:49 +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 a58392fa-ffe3-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:17:48 +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-96-y--O_IVFNf--O2ZP5OjUCQ-1; Thu, 13 Mar 2025 04:17:44 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-43d00017e9dso3087865e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:17:44 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f?
 (p200300d82f1a7c004ac1c2c441678a0f.dip0.t-ipconnect.de.
 [2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8d1666sm45451055e9.40.2025.03.13.01.17.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:17: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: a58392fa-ffe3-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741853866;
	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=d25kVXr7HGSUNn9iASDWypye6xCMoC8F2pO7KRGBFvQ=;
	b=OvySNITN7N4k/bRTNuHnOUxWF83sU5eNbwhUjvjtOuJ8DHs3RNW6fjfzCSE9d0PYtEgfL7
	pP9GOWlzDftOUiUTECHIIF78k05Qo9gRQg5bv6O/nL92wDBt0RVD5I9evCWl8ViNRmrMIs
	ZZOw+NbKOWUIjb0dr7zrDaIQNpUYmxE=
X-MC-Unique: y--O_IVFNf--O2ZP5OjUCQ-1
X-Mimecast-MFC-AGG-ID: y--O_IVFNf--O2ZP5OjUCQ_1741853863
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741853863; x=1742458663;
        h=content-transfer-encoding:in-reply-to:organization: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=d25kVXr7HGSUNn9iASDWypye6xCMoC8F2pO7KRGBFvQ=;
        b=m9dmmJKtBWgxkJQoMHKSELEPz2PhaxU0+x4LcJiWX1h1ED1HEQRq3Nh3Z3ufOYGRsX
         FcGPJ0iwUdX1Yg4JppfTmz3hxuWricVXoc7CrhQbq+SxjYfJ3ezs/r32L29j3qM8TNAb
         jQ6sGYOWgeosezdCPQcvK4+MsTK2Ct4U2SGlJKYDAuM8B/ImtWllXwYVviZi0G24uCRh
         SWi6EGjwVKE6AmPHJbLg32qKiHtBn4/5jutP4ViGvMKRlqFafPaTVjrmeQHsgC/U4m5w
         81cCPTzvHqdXw/5Ur1fvAVXAcG2/1flAPSBlqG+U0keBF+9ySZoUESPPR7oIVtDer+1u
         pvMQ==
X-Forwarded-Encrypted: i=1; AJvYcCWfLPmVplQl5vl82kr62U64bGseenqtqmwYR651YMs3AEo7JPnKjmaU3TUv1RzVG3JhVNb1lCQiHY4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+zwU4YaPVG0MG/RBEwnQ/CZRmIeY/lVd+bNXNvy13dy1GMyTC
	G0mN3gZFAJGlAgDHIlTYfURd1amlN3PcZaBwvEUjhL+QQZn2tebQvVqyo/FBj0nnhM+Z3A/llAj
	YYeA/p71iZPC0ajfkWEiIg9fEYpmUjMIlOOxDfoGz2eMC6lmutfJoC5ZcxjWXWatT
X-Gm-Gg: ASbGncv+grlXVrZcVhxYzieDFnPe4qzFqWJTLw2EBFd9mOL3HJth98zHMkAZznAD5cK
	HoaG0jHtCHJc3vQ39forL0fudAF2UuqEzP56RDfZ+T+6ka5yJtWtV0uRJF9MO0c70hesF8KRj8P
	htX7tn+LFc/ID2kePGJPJ6mUItfnokp/ZpT94yS0SJPLpit4fzQn37nPr0WPrj6sTD6elXCarl7
	iArctdFsKsr4itjoBuhgnlQlrPHr3w2YGeNu8IQKqO92bxSzPtwup/kf2aVpxUaR0IY4DnF4IC3
	e4SPrKknNR9RQzTSaicIWTNem5AzHOSKn9wA5rsMWFEuSyylRDUXAz2W8jF8i5xfawKK1zsZVJR
	zIpsjX75CNpAprpYhvqZlBVsiIgIXdE4/sNfP4B7Etxc=
X-Received: by 2002:a05:600c:3510:b0:43b:d1ad:9241 with SMTP id 5b1f17b1804b1-43c601d889dmr168277365e9.9.1741853863224;
        Thu, 13 Mar 2025 01:17:43 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IF8xDZePqcXZCtF9AAtTy2leCGXfaU4pDNiDVVh8H66qiKRFFrlJmyfFywifFDAuFvXFuDtZA==
X-Received: by 2002:a05:600c:3510:b0:43b:d1ad:9241 with SMTP id 5b1f17b1804b1-43c601d889dmr168277105e9.9.1741853862785;
        Thu, 13 Mar 2025 01:17:42 -0700 (PDT)
Message-ID: <4e1b5d05-f210-4aaf-a7d2-80458b9f20f9@redhat.com>
Date: Thu, 13 Mar 2025 09:17:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Nico Pache <npache@redhat.com>, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,
 linux-mm@kvack.org, cgroups@vger.kernel.org, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 jerrin.shaji-george@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
 arnd@arndb.de, gregkh@linuxfoundation.org, jasowang@redhat.com,
 xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
 roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev,
 nphamcs@gmail.com, yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com,
 alexander.atanasov@virtuozzo.com
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-2-npache@redhat.com>
 <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
 <20250313032001-mutt-send-email-mst@kernel.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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250313032001-mutt-send-email-mst@kernel.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: b6RNTSz3BnAx3BfwiL9DAP2EJoTrDHyekMpVnmQ7X88_1741853863
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 13.03.25 08:20, Michael S. Tsirkin wrote:
> On Wed, Mar 12, 2025 at 11:19:06PM +0100, David Hildenbrand wrote:
>> On 12.03.25 01:06, Nico Pache wrote:
>>> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
>>> expose it through /proc/meminfo and other memory reporting interfaces.
>>
>> In balloon_page_enqueue_one(), we perform a
>>
>> __count_vm_event(BALLOON_INFLATE)
>>
>> and in balloon_page_list_dequeue
>>
>> __count_vm_event(BALLOON_DEFLATE);
>>
>>
>> Should we maybe simply do the per-node accounting similarly there?
> 
> 
> BTW should virtio mem be tied into this too, in some way? or is it too
> different?

No, we should limit it to actual balloon drivers that e.g., never 
completely remove memory.

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:23:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911422.1317852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdqE-0003vQ-21; Thu, 13 Mar 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 911422.1317852; Thu, 13 Mar 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 1tsdqD-0003vJ-VV; Thu, 13 Mar 2025 08:22:57 +0000
Received: by outflank-mailman (input) for mailman id 911422;
 Thu, 13 Mar 2025 08:22: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=gXIy=WA=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tsdqC-0003vD-06
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:22:56 +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 5c11160e-ffe4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:22:54 +0100 (CET)
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-173-lQQ86oDhMY-nJ5ZjQCOmzw-1; Thu, 13 Mar 2025 04:22:51 -0400
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-3913aea90b4so264465f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:22:51 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f?
 (p200300d82f1a7c004ac1c2c441678a0f.dip0.t-ipconnect.de.
 [2003:d8:2f1a:7c00:4ac1:c2c4:4167:8a0f])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975ae2sm1308783f8f.51.2025.03.13.01.22.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:22: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: 5c11160e-ffe4-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741854173;
	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=JKb8bhfHMFiRwZ59jdxdcm6FlzuySG9mYwbfnUAEPPE=;
	b=TlJm0ZSHDvvyBuIqEMwXf3NU2C5dqdplylthZppcGrda24HB0sneOgwPjpG/DfMu55SWJr
	ZadkpaZCtQ0pRclt1Iem+SZMpqblkN2evxNSRJ8zcBCgwdD5KXSq/PPSu7py+CuxRnkcZ8
	aCGb22ROwwRqxLdk1JSL+eL8bsiwCgE=
X-MC-Unique: lQQ86oDhMY-nJ5ZjQCOmzw-1
X-Mimecast-MFC-AGG-ID: lQQ86oDhMY-nJ5ZjQCOmzw_1741854170
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741854170; x=1742458970;
        h=content-transfer-encoding:in-reply-to:organization: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=JKb8bhfHMFiRwZ59jdxdcm6FlzuySG9mYwbfnUAEPPE=;
        b=kA+ErToyC6J5DPtU5PTtwqXSiKky84QePhTy4F9ODu4HQw4BawDqKE3TwWSWFMu1+L
         g+TBLBlR/n4gdwXEkSPl9n76+dUaFAQ6j0VVrTFsXNr8kF0CDf79FNCOVe8oeQYigl0m
         X2o3ufo25X72Zw5oPTNL1KQr4knL4f6lE0XthRGRPqky3PQXPLTHyAnH3arCdczytl/w
         2nNB4Bw/Mo8FPWU3q1wACtjgJjb+prnUf/oqnYjaFPhxWRq4CkDSXB6ZjBEoegdbDEja
         WwBoScsSvmFIfwRElzTvgD2UjhEV+tDqrchfAFHBj/cSc6EsiOwNq2G/nc7Ec7mX2ieO
         FJQA==
X-Forwarded-Encrypted: i=1; AJvYcCUI0iVLZGijcCO8yCVoq0J4Feoj+Z0ayiwScjYqsUUA5Jmd+r/BQBjtUHHnq0ykeesjLMKmObrZV7A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyvsbrbBw+SS6AHiLcVeI98Wlnh8j00z6B88sdmGjpQpGYrUNA9
	M5uOQrboBJc0yLLEFlbkjuh3SOACgyFw3SmAzJdttjAiTUCUTkUvpvqCE5gqAtmeZR0KykuOf6b
	9IG74laCOjFkyZrzlGTTVY6w/Ww+9T0Q0ESD3vBx8jILVzO2CJnz8Y1ReP/7AbiUM
X-Gm-Gg: ASbGncuRQei4JsqJuK/TxOr7UX5LnqGnBQ9+M8aqqP1ME1OVQkdhLziMKl4h4W/18Xp
	qYkLkLI7w7OJET7mEewT1rF+SDwHk5EhgjWfWwLYbB52zn/Yhy7lZs1UkqFgsj6aaj57omrP9Kg
	pBUBb+T7kyE7uCWgVdu5Xppv3xh8fRLcvr5qiZPdPs7EfMdfUwqT7H8TRY90MIYiwZ4FRLrP1mp
	9e6zuuRgTsvqiC9Iwt+hgrdE4R4UQapRR7RHdwoZ8v13vTSvSHTugfhncWZRk+RyC9IqgwdueDm
	9e9WRYO2vh1DBiXUB2vIj5Rz6q+a3H49kF54BRmJ6buR/XRPQgPn3oZ7ewSq0TniQSCVWgz9fxE
	GCvoM7kPIq3VIrs3/+vLI+hejmwBzsiej/pox+YWTHhU=
X-Received: by 2002:a5d:59a7:0:b0:391:1139:2653 with SMTP id ffacd0b85a97d-39132de145bmr19688692f8f.52.1741854170222;
        Thu, 13 Mar 2025 01:22:50 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IE43rHs3WgvOTi5LsVwj2SLALb9R3gJ6Te0W53zkDxInnxOJ+3GIwgQhD4YjNmuEA7ot9BSDw==
X-Received: by 2002:a5d:59a7:0:b0:391:1139:2653 with SMTP id ffacd0b85a97d-39132de145bmr19688649f8f.52.1741854169787;
        Thu, 13 Mar 2025 01:22:49 -0700 (PDT)
Message-ID: <e9570319-a766-40f6-a8ea-8d9af5f03f81@redhat.com>
Date: Thu, 13 Mar 2025 09:22:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
To: Nico Pache <npache@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org,
 linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org,
 kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, jerrin.shaji-george@broadcom.com,
 bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
 gregkh@linuxfoundation.org, mst@redhat.com, jasowang@redhat.com,
 xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
 roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev,
 nphamcs@gmail.com, yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com,
 alexander.atanasov@virtuozzo.com
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-2-npache@redhat.com>
 <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
 <CAA1CXcCv20TW+Xgn18E0Jn1rbT003+3gR-KAxxE9GLzh=EHNmQ@mail.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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <CAA1CXcCv20TW+Xgn18E0Jn1rbT003+3gR-KAxxE9GLzh=EHNmQ@mail.gmail.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: hTLwsBEkhXyCEP0cz7upoxx46vfiaL7v9CG5ja46vyU_1741854170
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13.03.25 00:04, Nico Pache wrote:
> On Wed, Mar 12, 2025 at 4:19âŻPM David Hildenbrand <david@redhat.com> wrote:
>>
>> On 12.03.25 01:06, Nico Pache wrote:
>>> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
>>> expose it through /proc/meminfo and other memory reporting interfaces.
>>
>> In balloon_page_enqueue_one(), we perform a
>>
>> __count_vm_event(BALLOON_INFLATE)
>>
>> and in balloon_page_list_dequeue
>>
>> __count_vm_event(BALLOON_DEFLATE);
>>
>>
>> Should we maybe simply do the per-node accounting similarly there?
> 
> I think the issue is that some balloon drivers use the
> balloon_compaction interface while others use their own.
> 
> This would require unifying all the drivers under a single api which
> may be tricky if they all have different behavior

Why would that be required? Simply implement it in the balloon 
compaction logic, and in addition separately in the ones that don't 
implement it.

That's the same as how we handle PageOffline today.

In summary, we have

virtio-balloon: balloon compaction
hv-balloon: no balloon compaction
xen-balloon: no balloon compaction
vmx-balloon: balloon compaction
pseries-cmm: balloon compaction

So you'd handle 3 balloon drivers in one go.

(this series didn't touch pseries-cmm)

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:23:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911433.1317862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdrD-0004RX-AA; Thu, 13 Mar 2025 08:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911433.1317862; Thu, 13 Mar 2025 08:23: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 1tsdrD-0004RQ-7W; Thu, 13 Mar 2025 08:23:59 +0000
Received: by outflank-mailman (input) for mailman id 911433;
 Thu, 13 Mar 2025 08:23: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdrB-0004Na-5L
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:23:57 +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 81afb968-ffe4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:23:56 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-aaec61d0f65so130962666b.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:23: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
 a640c23a62f3a-ac314a9d208sm51396466b.169.2025.03.13.01.23.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:23: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: 81afb968-ffe4-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741854236; x=1742459036; 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=q9JMawlGe2/SeOILA3AYbGCQNZJWnwhD/eqnGmMvZro=;
        b=Ia6mtUo4A1WMDOSOly5/uNfys0NgsucKsRb0qQxrBMDMOTZ8fjx3AHLKjA3HdKisPp
         yLAncVEZ+HI5O73Qvi5zICx0gTVOIJTwA2QVPqRYvmrsqjqh+Wa05Uxwaw8GTPuj0DFG
         ctYUVIHRyst9xLcdSIetGatIYByDa9zNiz2Z5C2M5HLBZWx4kdLO0G44MvV++F+luBHg
         yJTJbBsr3CzYCwkGo90gNbic2i1tPxMLPCgm6547+WSrwoJUrVbLWve0Fr/d6snJN6Uy
         DMHALIn3ONXGCIny9wFKs/3f9TLbvyUQZnFllxKfh7BHGCC/t+uSkImBzVbwlyvYldf6
         3KzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741854236; x=1742459036;
        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=q9JMawlGe2/SeOILA3AYbGCQNZJWnwhD/eqnGmMvZro=;
        b=GjBfGpsHU/acdRNh7PBVs6RvucPfHwVT2P6jX1Sp+sD0j9TCDcU5JOr9AYcOutj0Ay
         s+5nXdQd10QKDV5XwgZt0nsZPutt7/pYprkxYVvnBJ5kLM3aBnsVTY0ZLWU6Hw2BHSy7
         RE7Gas85Y4p25XNiJdYBgXaf8ut+ZaSTIdRcEEfVTGbOOYEKJQxs5Xk7CtwiFTbB9OZM
         m0yw7bB3d2V5IdfMhIJ29bFtFU0FfdMn2U8xommyb+RukS+zMBppjaUuoaKmX5Ay8+fy
         by9UMPIjJvfV1J+lcmaAk4SaFr4T1WaAA+RDiLQ3HN1DDCvOm8SUE9y0sFb76h8TkGXZ
         WeuQ==
X-Gm-Message-State: AOJu0YwZOBHN6lXg43X2OofYLN/9YiEZeQmIh3IDW/NvWRCBmvNyS+I4
	2tCos6Zmp3eHio4/lENczU5OuSSBU8vLlrjSfuhvCHrVl3+/byk2Zbl/XmXX3w==
X-Gm-Gg: ASbGncu5xmVHusrfsRNJr65omw59VeJiDSSjAsD1uwrBlUNIhozg94RWH1/lYx1I9An
	/MFYPANMQfp8nfdP7dg39MDDA7/qLqgcDrKZ074xs5aFSBsdgf2x69M9eqCGHVHb2JkjZWaEkMb
	wJDh1bMkfy7406WIX7RDVt3uTneRxOeZvTUv0/2YqDktM8Mlo3nGJUqWC+ar96wdZY0+Pzi1Ozn
	/+ksxh+4Yfwbk4yRIltIN8RYxFLAgC/ysVvdkqqbju6sGWa3Gf3+vmzoPpCt54UIveFfPV8M6+Y
	qZMhef0qvi5ohVNRfWzptkeWCqoAlPX8Wp/deU/GtqP+GAbsWZU3dHk+GEOli4LC5kAu1ouk1uZ
	qAAx4dMijSZb/9Bw1MMebAW7iGDEQJg==
X-Google-Smtp-Source: AGHT+IHgqz/Odtrn3mmwnn5k2LIZA1SYc4uhPHi9TEcfpyzCRS3Be4hrUMWoe0z0WrfyEUNiBY5biw==
X-Received: by 2002:a17:907:6d0f:b0:ac2:89d6:9123 with SMTP id a640c23a62f3a-ac289d6a156mr2249049066b.41.1741854236071;
        Thu, 13 Mar 2025 01:23:56 -0700 (PDT)
Message-ID: <9e16ecd8-97e1-4633-9961-183d053f5f00@suse.com>
Date: Thu, 13 Mar 2025 09:23:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 06/19] xen/sysctl: wrap around XEN_SYSCTL_perfc_op
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, ray.huang@amd.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>,
 Penny Zheng <Penny.Zheng@amd.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-7-Penny.Zheng@amd.com>
 <alpine.DEB.2.22.394.2503121610510.3477110@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.2503121610510.3477110@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 00:12, Stefano Stabellini wrote:
> On Wed, 12 Mar 2025, Penny Zheng wrote:
>> perfc_control() and perfc_copy_info() are responsible for providing control
>> of perf counters via XEN_SYSCTL_perfc_op in DOM0, so they both shall
>> be wrapped.
>>
>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
>> ---
>>  xen/common/perfc.c      | 2 ++
>>  xen/include/xen/perfc.h | 8 ++++++++
>>  2 files changed, 10 insertions(+)
>>
>> diff --git a/xen/common/perfc.c b/xen/common/perfc.c
>> index 8302b7cf6d..0f3b89af2c 100644
>> --- a/xen/common/perfc.c
>> +++ b/xen/common/perfc.c
>> @@ -149,6 +149,7 @@ void cf_check perfc_reset(unsigned char key)
>>      }
>>  }
>>  
>> +#ifdef CONFIG_SYSCTL
> 
> I think in this case it would be best to make CONFIG_PERF_COUNTERS
> depending on CONFIG_SYSCTL. The consequence is that without
> CONFIG_SYSCTL, xen/common/perfc.c will be disabled in the build.

But perf counters can be used without sysctl, via the dedicated debug
keys.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:25:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:25:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911443.1317871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdsE-0004xV-Jf; Thu, 13 Mar 2025 08:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911443.1317871; Thu, 13 Mar 2025 08:25: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 1tsdsE-0004xO-H3; Thu, 13 Mar 2025 08:25:02 +0000
Received: by outflank-mailman (input) for mailman id 911443;
 Thu, 13 Mar 2025 08:25: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdsD-0004xI-Ge
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:25:01 +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 a7655fe0-ffe4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:25:00 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so130543366b.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:25: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
 a640c23a62f3a-ac3147ead1dsm53210966b.58.2025.03.13.01.24.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:24: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: a7655fe0-ffe4-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741854299; x=1742459099; 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=pr3i/ysPDB/VwmjHcYlP8Hx9b8dFXnEP/r2glIoXiuM=;
        b=Ef3WT4iaD1rbeD0LloBhqnVO4tfbbJD/kjjoHwR+6MxtLXYZFaSzA9s3X1X+n0RrbL
         xx0Ej6BmuudyAV+V/QS7OdiG469WPB7gTJ1wVjrcZPuey5gyx+ZeMdx6eA5cwP8F37lH
         kEReqY5iP1q12BMZWBr61ugPlRU2ce7NPHMMHnN+Siz4XIITWGAuNcCgCswRzSRNlHN/
         glPXYB3Yv/r8oVdi+tDrVhE4q2TUaGTNhv/00B3fAHGdAfA2Twx0adMJ7ipKVMwCvd1R
         WbSAWXRQaN3OoyRFoToSYjVDzNGKySsfPnAOQzt+O4ShEt9KRYJTdGmSt1Cc28ljM4bS
         GyjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741854299; x=1742459099;
        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=pr3i/ysPDB/VwmjHcYlP8Hx9b8dFXnEP/r2glIoXiuM=;
        b=WD6TYGjYfGaxMLR3zpAkn1ti30FVKtcsz81Gm413dXw9+HLEleavtc3A/xKVAtUlw1
         ChOo+upuaphkqFUDYsAMEiC+T8CL78Y1T8m44H8fhEUnHkdqMuumssOI6is8Hhd+Fo6Y
         obkplUSpha6TSH3TIA2WVJZ6iBatjEvNICM6fXziaMo+vnm1ZgUdQFaOksSqyJT0S5/5
         TCOdedo+4xIV3nM6w2go7ShcOhxn+k/D4eHQ62IxV9kjTUULgqZlCnViRjxEC86SuwXY
         IFnqzloyQBWa3tsmYGb225aonyV3DZdp5IKl6uM73nGLQOf9ITh/lWWtcoaRdZXhlki7
         vsEw==
X-Gm-Message-State: AOJu0YyGkV9/R2vj5cQdpnh0J+YSNZyyzDpmO8bMa06+E5sUkbN1JLWh
	IYWUOdfuFWUlQFHQ3YvrsnfmpLJizd10JEcRYmPpluw8RdELsSaihwHO7xLxVQ==
X-Gm-Gg: ASbGnctI6+qWsDsMjr6yQq28Da4gaG1SEylQPHfyp4HuA4JAmS5rJn8PBuq2VASqG3w
	TYswLahTGmPHqsSf9FIkTcjZWQrHYWm9rBSFGoofKMuXeXGmKzX81h2VYjGRKVLXYR+LGnba/s/
	aVzW5PEbHhxfj8Q2ZJD1svlrdtDpj22nL7JzzI8PUvSHtAuml4VEGn6LZab380w//gtQ/7B/ZIr
	eN7L6LahCJGYzdcOd7kwT2lQtE9x7faOpwiIrh1g8NwOHXqlVxfngDA01mCKtNfzjBtFBzZHP/S
	hIrQmfcvmkGCdjX6hJJTeTwVRnOg6ytyUPI+JHhfVwsbtBRU3tdBMJDsp5T+iGPLbxq1xZPzjt8
	9w1kbWlDzZdVGrNkPQ7yaXRm8o8vhrrgrVQBGPKg6
X-Google-Smtp-Source: AGHT+IHwPphU5EOAIoejI51/L2SoDy+98ReHIFo7NvtNULYcoY37a+vTnfGHHF0ojX3f6ahOTXiVPQ==
X-Received: by 2002:a17:907:3f9b:b0:ac1:ffde:7706 with SMTP id a640c23a62f3a-ac252697d79mr3219081066b.25.1741854299397;
        Thu, 13 Mar 2025 01:24:59 -0700 (PDT)
Message-ID: <30c2801a-3738-4834-8dc5-9d4b5465541d@suse.com>
Date: Thu, 13 Mar 2025 09:24:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 07/19] xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, ray.huang@amd.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>,
 Penny Zheng <Penny.Zheng@amd.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-8-Penny.Zheng@amd.com>
 <alpine.DEB.2.22.394.2503121613300.3477110@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.2503121613300.3477110@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 00:13, Stefano Stabellini wrote:
> On Wed, 12 Mar 2025, Penny Zheng wrote:
>> The following function is only to serve spinlock profiling via
>> XEN_SYSCTL_lockprof_op, so it shall be wrapped:
>> - spinlock_profile_control
>>
>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> 
> Similarly to the previous patch, could be make CONFIG_DEBUG_LOCK_PROFILE
> depend on CONFIG_SYSCTL? 

And like there this also has dedicated debug keys.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:30:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:30:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911469.1317882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsdxe-0006aK-AO; Thu, 13 Mar 2025 08:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911469.1317882; Thu, 13 Mar 2025 08:30: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 1tsdxe-0006aD-76; Thu, 13 Mar 2025 08:30:38 +0000
Received: by outflank-mailman (input) for mailman id 911469;
 Thu, 13 Mar 2025 08:30: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsdxd-0006a7-6n
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:30:37 +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 6eec5c32-ffe5-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 09:30:34 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso5691145e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:30: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-43d0a8d0ca2sm45040765e9.37.2025.03.13.01.30.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:30: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: 6eec5c32-ffe5-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741854634; x=1742459434; 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=sqgjLRA9ZHEZgsOnJcAtKDnI3OcwFX4OqnrLwoIU3VU=;
        b=cESRGF6jSC0LzukGoEBFrhhYyxuNJwz5sugzdu9gK25n8k/QM4BsPQMBKPXkkiBMgL
         gcB/asJHPDBWPv/fkGFIowpYnbhLJPsT5CbjhN5jxfLIShlUxQDewr5FpeL0LPLGvCXp
         w2qx+V2K9ceh0QvKfttuOdcfbkr0MUoFsDH5TacCHO0wuu3sJARNf9xMqPGKgPSWK2FI
         2P/TTPkXVA/qmDuv5f4XgL6ev1Y+69RZKfIcUU+GoO434OOoUxx3ai/Ln53eTME98xxS
         T+0dCDj6vTD9srhR98gihKeX5yIic2Od/liwM9xUGIiOnvWI00uKUbUwqUUs4UXcrILN
         AqYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741854634; x=1742459434;
        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=sqgjLRA9ZHEZgsOnJcAtKDnI3OcwFX4OqnrLwoIU3VU=;
        b=DLM6EbfwdlqPPEEEq6cQjYx8Oqomg+SIx7C/mdpW+pf9swmzUZofQfb0sajpGA8Js6
         XdvPYFwDbmn6ygwG9d15JkbJdpNZ3+HXL8iOxNtvWfH3vC1bGz0dsmGf79sZN1E6rm2S
         SnOADQ6KGgS6tWBo2euU98jMEJn8mWiH5OpU8o6w7SHTMHyvT7dApDK7ACBuoNieF6IN
         j8nQ2mzfZAiiV/TcPv4fi3hw2IffzPk9tA7S8zOGA6JFgs4B30jmRpZgJCeZyYK/X49d
         OQG/11R8eUYSiOYqWPEIn8ZLIC/IVsrfJTdX0Z1ctF/k24kfBlIs2VrzLtwD0KvHDK2G
         8D/g==
X-Forwarded-Encrypted: i=1; AJvYcCUoQy0PyRERDOHrwcMowMcBycap3PavtmqerELf4/qPYOuzsFxlN9WJ8+erhGOdIKcWSYx0JxOFuQ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy1LDvstVwqhsUmXlubc3vmWFK5VBLj5S7wl8kY/M0f6eHK6pn4
	hG0UWcy2LNS2FA6Smmz1jplTryknAuLlDnmSZ8tdXAUEBY1LrMKcESffnMmqEg==
X-Gm-Gg: ASbGncu7D+JJ+TLa5+VgOJ5dTKfScqV51lFV6EgXoEFzVWZSxRmmttYgKlkPb/MGtWL
	Kz9J8M3SayQ4NayCaUbbi8cQj8wNdcIoQqwlb6ZqWOfxfAgGk55of7KbAZM3iIjvfINKoKByeyW
	Awtslr0Z+qaFCvQOVntCSCU5zBF6wBpzs3Y9IJwVXmmYP0McvnLLbPSRsyNXYnHw+8LcNlwVhP9
	/9kHvVtxOyh3Lx95OBmKsexSM53fKq7hFHLq/MTGv8uGV/9fX8RKu4rMubgpL+VdbaFrJR/keDX
	AuzHcsHNFJu0w2pmsXgqIua8zm7MnRcVQujPzGSBv87BKZ4hN43f3CIVN67Uso+iQHR3tvPE8Bg
	IjZI4tuycd6Q8wI1DDYBSNRs7iugYSQ==
X-Google-Smtp-Source: AGHT+IEJkh1Dx0cxl5c9RuenmfzyuvyaW0vxn6xLir84pKRUHslYxQSSfMN9HPOq+B2VMB0UHHZCdw==
X-Received: by 2002:a05:600c:4ed1:b0:43c:eb63:415d with SMTP id 5b1f17b1804b1-43ceb63440bmr185429855e9.14.1741854633267;
        Thu, 13 Mar 2025 01:30:33 -0700 (PDT)
Message-ID: <9f75fb88-c050-48ec-881f-b963607e89f5@suse.com>
Date: Thu, 13 Mar 2025 09:30:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 10/19] xen/page: fix return type of online_page()
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-11-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: <20250312040632.2853485-11-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> This commit fixes return type of online_page(), which shall be int
> to include correct error value.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

While the patch can certainly be taken as-is, ...

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1764,7 +1764,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
>   *   The caller should make sure end_pfn <= max_page,
>   *   if not, expand_pages() should be called prior to online_page().
>   */
> -unsigned int online_page(mfn_t mfn, uint32_t *status)
> +int online_page(mfn_t mfn, uint32_t *status)
>  {
>      unsigned long x, nx, y;
>      struct page_info *pg;

... below here we have

        ret = *status = 0;

which aiui will need splitting for Misra anyway. Perhaps a good opportunity
to do so right here? (I wouldn't mind doing the extra change while committing.
Yet I can also see that this may be deemed too orthogonal to the main purpose
of the change here.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:33:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:33:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911481.1317892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tse0N-0007CO-LV; Thu, 13 Mar 2025 08:33:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911481.1317892; Thu, 13 Mar 2025 08:33: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 1tse0N-0007CH-J1; Thu, 13 Mar 2025 08:33:27 +0000
Received: by outflank-mailman (input) for mailman id 911481;
 Thu, 13 Mar 2025 08:33: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tse0M-0007CB-06
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:33:26 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2413::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d387ea71-ffe5-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:33:24 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by BL1PR12MB5875.namprd12.prod.outlook.com (2603:10b6:208:397::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 08:33:18 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 08:33: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: d387ea71-ffe5-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=O2YQgKnh6iBhlQrYwZm9hznijvFEGWCtIUpGxSz/XPR1n3YVUeRST4zktjpJO9doDyP3Ug81KzpSpmrjalaMHfF15oUePoH0/QXRxiQ0T7kkbWAykYlZ8kYh7GYii4vR63K1HeIhYVGawNtbNzPT1PVVAHm0SdJRmct5BVQOxjSS0nXtOulaZqfdbTAp/VzpSPtr0fBPJit2yxqTfEJ8ksosRYjalIFBiyjBlx8YkDS0WkOMr6Pu46ryy+nu8cYPgQobal3peEkNxkZGrxB64AfuSDA+VqdWr2HXhPt8A+p9cDzug/+GrHe/Dqt/kfTBmf5LR4K+1sq/Dh/RplBdCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6gBJwQYWAdp7HzEi53CS9g9yi+HW35tukfTWf58FFzc=;
 b=HOl4P7uN7mkQkmXjpPMXi2UcP2ivEyDMo/zPXNQ7XKhDDnc2NXWPSBAFqQ+6gW5XQluvMcybAibtuERdoLIEzh/Ko2eZ+sWbNmRISflfGdmKJspW1fdcJvgH3Dx41AAM/NDnAFiHbU8dVSfF5oXDrwii0SXA0iprucCRYuO/EkUr8KzWw+Scg9z722BcfmK/G77Sk2GeMKmudXhQ4ySSBlUUN9mtRZ7kRT/py7Xbn/9YifzybEZszz5x37Z+T191yuSQ4EuJDffrYOt3a08zN3IC9+JvwVQxhEeq5/voLz9DOPAeI9Ot6BjMzvaxEFOObJrNbR9MiZo4E4yUM4NsRQ==
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=6gBJwQYWAdp7HzEi53CS9g9yi+HW35tukfTWf58FFzc=;
 b=S/s8ihNqP+gdGOICA7ZsdX1hxi1Os5xTfbQiE5Spb0WyKcUeEquQu8b4CHYiaK2bwMT46eiO1PZownI3GLHTZpgYzpBXOM3FExBRKaEMr6no5c/At8YAzhSmbSm26+pZIl64PmZwYDwUJeX3gzQ1XOHivvL9mfMmmqQFes9GJwY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <2778a487-ec57-4fa5-b6f7-002e97935aef@amd.com>
Date: Thu, 13 Mar 2025 09:33:13 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/10] arm/mpu: Add HYPERVISOR_VIRT_START and avoid a
 check in xen.lds.S
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-4-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::9) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|BL1PR12MB5875:EE_
X-MS-Office365-Filtering-Correlation-Id: 3de7abd6-b57a-4658-9914-08dd6209b4de
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?dzNMakVod09aai82VmxXUnQwbEF6Qm1TOEpURlBXaDhmSHBxZ0tEK1ZnMWdh?=
 =?utf-8?B?S3ZQWnNTcURLS2M3N0Q2a2VFSVpHR0Y1ZllKS2dMeVp6elIrcjlRK1hOUDJV?=
 =?utf-8?B?b0RZSEpwYmlXMnE4OXJEZUlpN25tMkVEdERDK1ZsSFFUcW5NeFJBS3ZBb1p2?=
 =?utf-8?B?QW9RU09SSWl2SlgvbEtGV29xRmxHaG14aTNxc3JpeXljUHlVTi8zZGo1a3FS?=
 =?utf-8?B?QXVBKzloRlMrWVBSbUNHZTF6TU01SGZIdG9zR1FzUkF4MXF2eWdYd2tqK0Fp?=
 =?utf-8?B?alFlalFEaU1hcHR3MnF4VGpMMDZhVmRSTHJQeXQrU0FYZW1vbGMvbTdXRjBw?=
 =?utf-8?B?L2N0RXdHMm1wZDZxKzJRNU15YXdyZnl4K2QvOWJERjd0ZVdDSjFBUE1nRmNT?=
 =?utf-8?B?TE44a1Fkck1ONU5WeDQ2d1lpM1pXRXVBOXlSUGd3L1p2czJrZk1qKzFsV2dE?=
 =?utf-8?B?QUh4bk1wV1hCb2ZuOHdBNGNwWFpZNS9CZjBTczJRa0VBR0FMN0RuRXpiM3ZB?=
 =?utf-8?B?U25ObXFsVjgycVRMYUplbGlvdTg2N2d6RzNiajJRQ3NYbStCZm4vNEprT0V3?=
 =?utf-8?B?aE9JUWg0eDQ3M0QyRHUxaTZwMzhjTEdWVG9PVnN2TnlGVWdNTXFEb3VGOGlZ?=
 =?utf-8?B?UE9tMEw1S1B0ZmIwZWxld3J3aDhQOVJmdTR0Qkd1TU9PdFBQY1NIQ042UXNw?=
 =?utf-8?B?R1ZOb0orNmxFQ3NKZGRhMzVMcWJkcU92TGpGcWtXVDBIREs5RXNGYmdkOEZw?=
 =?utf-8?B?NkFUbHpiL2tYelUvSFQwb1hqaURqbTJtUTJlMjh1bEtlanBMcDZJNGhHWXpJ?=
 =?utf-8?B?YzA2WnpRZFZ1Z3F0Zkp6VlN3NEtXeFBwSnhaRGJoVWgxbElsZC9jQ0ExVzFZ?=
 =?utf-8?B?UjYzd0FnaHFBa0ZZckRvUkVNVWJWV3V2L1I3Vm9sN2lMajQ4TVc1ZzdWYkRn?=
 =?utf-8?B?UmExYzdnWG1kQmwwY3hwQkpaRmxtdmc3OXlkWVZSUmphakRZSVc0ZG1OSEc3?=
 =?utf-8?B?TDV4UDZuQW1BdlQrMzBsakkyWE5jV0VDQWlJRGFoZEpyUEhQaDg5SDlmOFVW?=
 =?utf-8?B?QldYYVlzQ0tvK0h2eHhBSEpxL3dzUGV3NW1XQjZDeHVNdWZnS3NuT0Z4eTJY?=
 =?utf-8?B?QkhLekFFbFVSYXQ3cGY2bnhvczdOTFRxTFg1ZkwzQWJ5RUE5L3d1a29qM2JK?=
 =?utf-8?B?cXhSU2JkQVV0bnBkUVFlNVdUNi9aVGx6cGgrV0UxVS9Xa0hxckdRZVRFOXVp?=
 =?utf-8?B?a283VDErMlFySmZuMkZEc05xWkUxNjA0TGRkZExSN0JSZHhPamVWMktsaHNi?=
 =?utf-8?B?bGI2YVBTM3FiWnJNUVVuSXVYRkwvTjd2ckMvcUZ2SW04R3JERjlNK00xUXN1?=
 =?utf-8?B?YnE0eWJDekNBZTkxSGhoN2dMVWJMa2RIeVoralZGejJNQytIV3BMMFBhUlFF?=
 =?utf-8?B?Wk9neUdPSGRRZVptQ1Uzd25IbktFanNEUTNqZno4VVZ6dS95cStOQllVY25S?=
 =?utf-8?B?TGkvUTBXeHNFUUpOSlhzM3VOc2kvbGljVGE4NVNwNlRLQU9ZQXRDZGlhbXF6?=
 =?utf-8?B?Mm9HRFpJcy9JN1BZVUpCY2Q5RXZRQ2UzOWZSYmZlK1N6WVEramhXcXV2blZI?=
 =?utf-8?B?YnFiUDcwOGdpRWZGRFZWVFhnWHNHaW5vL3dyZUtSK3dyNVJPSm55QTRSRGF0?=
 =?utf-8?B?RXVBcit2YlhtUkN2SkVEZjR2cDBFL3pNM1ZPaW80NWFEelJLeHFvRDZKcHJl?=
 =?utf-8?B?M2puSC9MWkI0dm9Ibk0zYitnU0JteFdNLzZMQVYveHJBZktZVVp3aWxBejhC?=
 =?utf-8?B?UmxzT2xOMWVrYVBEZzZOMk16TFVDaVhFWWJ6cmJXd0ppeE1QMndoYXFLajFN?=
 =?utf-8?Q?O8Fu/GkR4HbmH?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?WmtVMVE2NWltQjgzOU4rekpvRkRtNlg4dlNjMTR6OEdjTUN3cHlmWUhpU1Vw?=
 =?utf-8?B?NXY4bmRNaGpTK3I4YnlOTTJYaHNSRktIakRnQk1CRHhneU5MWUx4bjhNSjZX?=
 =?utf-8?B?UXFMWUZhSitIdlQ4SjIrN3pJOWJsR0xPemYreUdCOFhScGlTVVZDWGFjKysr?=
 =?utf-8?B?RWMzZEtzcGNMcjREUEN0eHdob1BkZ3M0VVRJRG4wQitoT0FrZlZIeVB2dnNT?=
 =?utf-8?B?RFhwL3p4eVBmWU1vQkRUb21yMm0rdEJrQjMxejBVL0NsdWlzRGk1dlAvTVZp?=
 =?utf-8?B?MEhjbnJSRjBBTTl5dDBDZy9pVGxNYmNXSzNRUm5RQm5YYXY5Y3BxTVluRHlL?=
 =?utf-8?B?U2dVOUFwVFdYY0lRY0gydDdyR3FRbSs4eXVESWZiaUhXQ29iZWgvZTNkbTJx?=
 =?utf-8?B?WmNMV2J0U0hOakZod1N5NkxTTm0xTlNUa29kN3F5RmNOYmxxY0JaeXpMbThp?=
 =?utf-8?B?akM1dDU2ajhMUEdnb1FQbVJ6dFl0R2Jvb2M0WFVGVkUzNm5jeU5MY1poeVQ0?=
 =?utf-8?B?a1VJM1NvTkx2bEhwQlk5eDZjT0ZLT0ZFZWtpbm9tZGlOUFgxZlFyK2lkcDcv?=
 =?utf-8?B?Q3RrODllRVNsMktrLzdsMG1FUnd5MnN1VVFVS0dVRXNTeFMzelRGNHQ3Vngw?=
 =?utf-8?B?aElZM2xhQXNqWHVIa2g5bU1ZT2tMWmJnS0JoeUUzaFVXWFpUNTdkVGxENlVD?=
 =?utf-8?B?ajZtRDFYSGdZeDZ0Q3VBVVFZZ0QvekExODFjeWFqcUNqVFZaeENHZDZGNU5C?=
 =?utf-8?B?V2NUV0V1cGg4ZHBPTHR5bXVTaXB3WkE0YlJMVEtsYTYzcXlhOEg1S05vRE1H?=
 =?utf-8?B?UUZZMEdVWldraHY1TjlaVGFJNUNBS01nQk5NSnduVlp3NWRhMm9NRDBmcVRM?=
 =?utf-8?B?Wjk5LzMvS2ZELzhUMGxSWnFoRlZIWHZGNDdEOU52bHV6ajBPNWJKUkxBeVZN?=
 =?utf-8?B?WE9FRlhOMktGK29EY3dVQ2V2U0cyZ2lrUEZFMnRmaWFvbXROU3RxSDlFTnBD?=
 =?utf-8?B?eVZVSk56OXV2bnJTajE5bnpZclUrUlNRVndJVVlyR0ROY29Gb0I1TlIrY1c0?=
 =?utf-8?B?R014d2tZS0ttNXRPWTlqSWY2SWRaQVdnTjlLN0c2OHB3SXJJd1dXRmhoVmVH?=
 =?utf-8?B?bktMNzdOby9MQ3c5amFlU3lpcjBiUzl1M0FlYUwxNFJ3cnF2ZURzWXdsTm55?=
 =?utf-8?B?TVg5RWt3dTEvSmNxY0VFc1dNRy9yMGQ0SG5MMGdaNVM2S3FnSFdEeDNLZzVo?=
 =?utf-8?B?cUFDeFNZOGltLzJOcG1RcjNFMXdSRHpyTWNWcEVNazk0L1BQNTJPRkdUWG1Y?=
 =?utf-8?B?SjVKRWFtVGlxK2ZoL1BYbzcwNlBKSjM5eU1RZExqcTc0UFVDZ3FGeHkxeDRF?=
 =?utf-8?B?VlRFem9EMW1jNXB3UTRmK3dYeHVsV2lPZm1nODJBclRiQzJTZjAwWWRZZ0Uy?=
 =?utf-8?B?OG96QWtsWnBVMURUOEJmOUx2bTd2cGQvbHBENDJTYXRPQUpNeGtNS2w1RDZS?=
 =?utf-8?B?aTVLQndNTEdqR1pOMjQzbUhQdkRBbUhJbXFsb3hmdDZKN0ZJV0toaTNENHAr?=
 =?utf-8?B?VExzTmFDN05EQkNpSDlMQkVlRDE4RThvRHRKaGZGWVZ2SjZDRnl3UUhERXVi?=
 =?utf-8?B?S2FxakNhZENOdkFFeUNqcTBJRkRCbmdidWpKdEJKbWRZWHVEVVpxMnFITVRp?=
 =?utf-8?B?YmtzVld1RjBJZ1NGYnFYZTFSL0g1TnYvSWJ5bkF5ZGQxaGpLaDdvcHR3UWJl?=
 =?utf-8?B?cWYvNGN5b0JRbCtZcDIxY2VHR1dVSEVxem9ZNCtFWW1UVnVRQ0d3a29yTXNk?=
 =?utf-8?B?ZlI3OGFIREJ4VjMrVEFzYkdhOXhHLzZwb1p3aE5PK1NxN2djK0xQVmRoNzRj?=
 =?utf-8?B?akwzY0tkS0NUOVYzNmVGYytMTnUxeWdlc0RVSmJPdTRZUWFwUGZodmVZYzVn?=
 =?utf-8?B?MjRwQlBCODcrb1dVcCtjdjJWTVVMbFlXTkZyL1hiaEdWUWhHRFVNVjdIaWlW?=
 =?utf-8?B?TFNQS3hoS3g0M3JwSTVDdmhhRzZiMmlnMDRJRFFEaVh0VXkweTF0ZTZwakIv?=
 =?utf-8?B?bmhQSnc5WnBtSWRMZDVldUtuUmR1ZlNPNHhqcFdtYjIwblkveEFKc044RGht?=
 =?utf-8?Q?DjQE=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3de7abd6-b57a-4658-9914-08dd6209b4de
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 08:33:18.8699
 (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: KY33otNJqRgFcNJ6YgN8GigR1gF955JgwnG/xfdYJXnCtasoUGnEuxJ+cKMRRvmo
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5875



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> The define HYPERVISOR_VIRT_START is required by the common code,
> even if MPU system doesn't use virtual memory, define it in
> mpu/layout.h in order to reuse existing code.
> 
> Disable a check in the linker script for arm for !MMU systems.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:45:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:45:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911494.1317902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseBW-0003ZL-L1; Thu, 13 Mar 2025 08:44:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911494.1317902; Thu, 13 Mar 2025 08:44: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 1tseBW-0003ZE-Ho; Thu, 13 Mar 2025 08:44:58 +0000
Received: by outflank-mailman (input) for mailman id 911494;
 Thu, 13 Mar 2025 08:44: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tseBV-0003Z8-6q
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:44:57 +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 7021518c-ffe7-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:44:55 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43d0c18e84eso3748385e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:44: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-395c83b6e92sm1371621f8f.38.2025.03.13.01.44.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:44: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: 7021518c-ffe7-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741855495; x=1742460295; 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=k/Vv0m7e8TP/eZ8pg1BZ8/WgIdEBJH+8JRXCFcnzxO4=;
        b=WmfmCg81BwihSh6vXrc/TOofIn4OOBJfPaZx+bWXJnjWo6Wxh5YSjx+R1de/Lly10z
         9oL59B/Nmf4WoUnrIdlYEETgtT8lJYibpwuLZryW9USpN8YNu7HzUbVQJXCZFu7cBKpv
         fPl7NMGwy54T2fMhzwSNhSdbcHZFcnfFL9dTVfpuJwQXzynYsBXZTs1qr0cwE6epKByg
         RFbjCjkyHhb3kRI0wQ594YhKEuP6gqq/5OP9zFFoyHA7XTKPKfvIn4sJEgBU0s1d9IcQ
         e2aU1WOd1IaDFLZUKepCnzhgPtHOVa7OVgVJ2ACPpttN52vrGQJh5wJCp5T9g7oTifmK
         smug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741855495; x=1742460295;
        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=k/Vv0m7e8TP/eZ8pg1BZ8/WgIdEBJH+8JRXCFcnzxO4=;
        b=dVp6qGX3cC3Qi2BV3rRDjsPdSirLg13B5QqmcXRpKMn+qTxd3BXkpTwC7Bjp51Ger2
         1zBf0EaKOQIA2w+r1i43cumE93dopQrHg9vZpSb4b3Ho9lHRWuxCVyeRzQsvPqDiraU3
         aqjJucXQ3Q7YovmTzqHsN0jnrXxi7X92sSMZTLAvk6x76L+ZUP3mf7ESMC3kUrkRvEe1
         8aQ9jySX17AO717h2KIZsHUJi+DJkP3HJFa0Pv8IQFNIw/p8ThfWCg22A+jKc35Zg6x6
         wn33B0t5PZWIJtJtXMse9Smdsem5I4b2A5gXUUyfYXw+NThjHQ9PNslUzrW1k2A0VQyJ
         L3EA==
X-Forwarded-Encrypted: i=1; AJvYcCXewP1yGTrEizHFy5rDD9rQIvArnsICZFp3UkmMnBeFO3aUucNuQJ0cGgzQbL81H4ux8W67tbMNcTE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxx4bH1IE6eyJjZtYr+FX+OQn6TkUYNx4f1xyxgre8RyY1mlDfD
	CRwDgiZTsqz5j3yjHtJMVL9jbsR+uXLkw4rX8MdY7M1DPCACeXnMMDuP0fELvQ==
X-Gm-Gg: ASbGncuotwblHh+PtbEgKe/JyuO7sf5vWFdyCanyZbs6zP3i+T1mU2GiZYxTwG3t/if
	R6ylLbpiMdhptOMucnJj6W+y4lLwHu3XDb92DYvUVcQqkGlDvNjqPtZn/IyLGxMQTjWB9U12qRJ
	sHtHiJH0/p7fkS6G/73orKin1IN+J5ftHveRCGCJRbzviWvUb7buIAHDIDBivXaXq5+4jpMTWfI
	2vem7sWeHldv6tlzcI8Du3q5SCINiSGovcxkzzudeBpsHq3AMv6tVBMiyNnPNoyjizYkvtdoIIi
	Wiw3WYmfenUtTZrdjSjjr+TQ1goHPh/3dDOkyK/yLn8rggWRinWOE63swBKryW3Wr4mWfEpf2Jh
	xeJYMkGckbMk7l8MjtfMazNfpr1RnplSorNTnsRj9
X-Google-Smtp-Source: AGHT+IGwudAk6PHJLz0mv+sSKtoGbAlgJZKIUmRPQKMpVnooQDvhFpWUqxnTmzJsdbkii5USwZKRaQ==
X-Received: by 2002:a05:6000:1867:b0:391:253b:405d with SMTP id ffacd0b85a97d-39132d98a1emr20175944f8f.41.1741855495091;
        Thu, 13 Mar 2025 01:44:55 -0700 (PDT)
Message-ID: <d4a4b8ff-161f-47c3-a2bc-dd7e1ba3ce1a@suse.com>
Date: Thu, 13 Mar 2025 09:44:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 08/19] xen/sysctl: introduce CONFIG_PM_STATISTIC
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-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: <20250312040632.2853485-9-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> This commit introduces CONFIG_PM_STATISTIC for wrapping all operations
> regarding performance management statistic operations.

Please can descriptions not use "This patch ..." or "This commit ..." or
anyhting like these?

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -107,6 +107,11 @@ config NEEDS_LIBELF
>  config NUMA
>  	bool
>  
> +config PM_STATISTIC

I think this wants to use plural, i.e. PM_STATISTICS or PM_STATS.

> +        bool "Enable Performance Management Statistic Operations"

"Enable Performance Management Statistics" ?

> +        depends on ACPI && HAS_CPUFREQ
> +        default y

Nit: Indentation.

> --- a/xen/common/sysctl.c
> +++ b/xen/common/sysctl.c
> @@ -170,7 +170,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>          op->u.availheap.avail_bytes <<= PAGE_SHIFT;
>          break;
>  
> -#if defined (CONFIG_ACPI) && defined (CONFIG_HAS_CPUFREQ)
> +#ifdef CONFIG_PM_STATISTIC
>      case XEN_SYSCTL_get_pmstat:
>          ret = do_get_pm_info(&op->u.get_pmstat);
>          break;
> @@ -180,7 +180,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>          if ( ret == -EAGAIN )
>              copyback = 1;
>          break;
> -#endif
> +#endif /* CONFIG_PM_STATISTIC */
>  
>      case XEN_SYSCTL_page_offline_op:
>      {
> diff --git a/xen/drivers/acpi/Makefile b/xen/drivers/acpi/Makefile
> index 2fc5230253..70156ee0a4 100644
> --- a/xen/drivers/acpi/Makefile
> +++ b/xen/drivers/acpi/Makefile
> @@ -5,7 +5,7 @@ obj-$(CONFIG_X86) += apei/
>  obj-bin-y += tables.init.o
>  obj-$(CONFIG_ACPI_NUMA) += numa.o
>  obj-y += osl.o
> -obj-$(CONFIG_HAS_CPUFREQ) += pmstat.o
> +obj-$(CONFIG_PM_STATISTIC) += pmstat.o
>  
>  obj-$(CONFIG_X86) += hwregs.o
>  obj-$(CONFIG_X86) += reboot.o
> diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
> index df309e27b4..58cccd589b 100644
> --- a/xen/drivers/acpi/pmstat.c
> +++ b/xen/drivers/acpi/pmstat.c
> @@ -43,6 +43,167 @@
>  
>  DEFINE_PER_CPU_READ_MOSTLY(struct pm_px *, cpufreq_statistic_data);
>  
> +DEFINE_PER_CPU(spinlock_t, cpufreq_statistic_lock);
> +
> +/*********************************************************************
> + *                    Px STATISTIC INFO                              *
> + *********************************************************************/
> +
> +static void cpufreq_residency_update(unsigned int cpu, uint8_t state)
> +{
> +    uint64_t now, total_idle_ns;
> +    int64_t delta;
> +    struct pm_px *pxpt = per_cpu(cpufreq_statistic_data, cpu);
> +
> +    total_idle_ns = get_cpu_idle_time(cpu);
> +    now = NOW();
> +
> +    delta = (now - pxpt->prev_state_wall) -
> +            (total_idle_ns - pxpt->prev_idle_wall);
> +
> +    if ( likely(delta >= 0) )
> +        pxpt->u.pt[state].residency += delta;
> +
> +    pxpt->prev_state_wall = now;
> +    pxpt->prev_idle_wall = total_idle_ns;
> +}
> +
> +void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to)
> +{
> +    struct pm_px *pxpt;
> +    struct processor_pminfo *pmpt = processor_pminfo[cpu];
> +    spinlock_t *cpufreq_statistic_lock =
> +               &per_cpu(cpufreq_statistic_lock, cpu);
> +
> +    spin_lock(cpufreq_statistic_lock);
> +
> +    pxpt = per_cpu(cpufreq_statistic_data, cpu);
> +    if ( !pxpt || !pmpt ) {
> +        spin_unlock(cpufreq_statistic_lock);
> +        return;
> +    }
> +
> +    pxpt->u.last = from;
> +    pxpt->u.cur = to;
> +    pxpt->u.pt[to].count++;
> +
> +    cpufreq_residency_update(cpu, from);
> +
> +    (*(pxpt->u.trans_pt + from * pmpt->perf.state_count + to))++;
> +
> +    spin_unlock(cpufreq_statistic_lock);
> +}
> +
> +int cpufreq_statistic_init(unsigned int cpu)
> +{
> +    uint32_t i, count;
> +    struct pm_px *pxpt;
> +    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
> +    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
> +
> +    spin_lock_init(cpufreq_statistic_lock);
> +
> +    if ( !pmpt )
> +        return -EINVAL;
> +
> +    spin_lock(cpufreq_statistic_lock);
> +
> +    pxpt = per_cpu(cpufreq_statistic_data, cpu);
> +    if ( pxpt ) {
> +        spin_unlock(cpufreq_statistic_lock);
> +        return 0;
> +    }
> +
> +    count = pmpt->perf.state_count;
> +
> +    pxpt = xzalloc(struct pm_px);
> +    if ( !pxpt ) {
> +        spin_unlock(cpufreq_statistic_lock);
> +        return -ENOMEM;
> +    }
> +    per_cpu(cpufreq_statistic_data, cpu) = pxpt;
> +
> +    pxpt->u.trans_pt = xzalloc_array(uint64_t, count * count);
> +    if (!pxpt->u.trans_pt) {
> +        xfree(pxpt);
> +        spin_unlock(cpufreq_statistic_lock);
> +        return -ENOMEM;
> +    }
> +
> +    pxpt->u.pt = xzalloc_array(struct pm_px_val, count);
> +    if (!pxpt->u.pt) {
> +        xfree(pxpt->u.trans_pt);
> +        xfree(pxpt);
> +        spin_unlock(cpufreq_statistic_lock);
> +        return -ENOMEM;
> +    }
> +
> +    pxpt->u.total = pmpt->perf.state_count;
> +    pxpt->u.usable = pmpt->perf.state_count - pmpt->perf.platform_limit;
> +
> +    for (i=0; i < pmpt->perf.state_count; i++)
> +        pxpt->u.pt[i].freq = pmpt->perf.states[i].core_frequency;
> +
> +    pxpt->prev_state_wall = NOW();
> +    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
> +
> +    spin_unlock(cpufreq_statistic_lock);
> +
> +    return 0;
> +}
> +
> +void cpufreq_statistic_exit(unsigned int cpu)
> +{
> +    struct pm_px *pxpt;
> +    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
> +
> +    spin_lock(cpufreq_statistic_lock);
> +
> +    pxpt = per_cpu(cpufreq_statistic_data, cpu);
> +    if (!pxpt) {
> +        spin_unlock(cpufreq_statistic_lock);
> +        return;
> +    }
> +
> +    xfree(pxpt->u.trans_pt);
> +    xfree(pxpt->u.pt);
> +    xfree(pxpt);
> +    per_cpu(cpufreq_statistic_data, cpu) = NULL;
> +
> +    spin_unlock(cpufreq_statistic_lock);
> +}
> +
> +static void cpufreq_statistic_reset(unsigned int cpu)
> +{
> +    uint32_t i, j, count;
> +    struct pm_px *pxpt;
> +    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
> +    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
> +
> +    spin_lock(cpufreq_statistic_lock);
> +
> +    pxpt = per_cpu(cpufreq_statistic_data, cpu);
> +    if ( !pmpt || !pxpt || !pxpt->u.pt || !pxpt->u.trans_pt ) {
> +        spin_unlock(cpufreq_statistic_lock);
> +        return;
> +    }
> +
> +    count = pmpt->perf.state_count;
> +
> +    for (i=0; i < count; i++) {
> +        pxpt->u.pt[i].residency = 0;
> +        pxpt->u.pt[i].count = 0;
> +
> +        for (j=0; j < count; j++)
> +            *(pxpt->u.trans_pt + i*count + j) = 0;
> +    }
> +
> +    pxpt->prev_state_wall = NOW();
> +    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
> +
> +    spin_unlock(cpufreq_statistic_lock);
> +}

The want/need for this code movement wants mentioning in the description imo.
It may even be desirable to split this out. The more that while you move it,
it would be quite nice if various style corrections could be applied.

> @@ -522,34 +683,3 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
>  
>      return ret;
>  }
> -
> -int acpi_set_pdc_bits(uint32_t acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
> -{
> -    u32 bits[3];
> -    int ret;
> -
> -    if ( copy_from_guest(bits, pdc, 2) )
> -        ret = -EFAULT;
> -    else if ( bits[0] != ACPI_PDC_REVISION_ID || !bits[1] )
> -        ret = -EINVAL;
> -    else if ( copy_from_guest_offset(bits + 2, pdc, 2, 1) )
> -        ret = -EFAULT;
> -    else
> -    {
> -        u32 mask = 0;
> -
> -        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_CX )
> -            mask |= ACPI_PDC_C_MASK | ACPI_PDC_SMP_C1PT;
> -        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_PX )
> -            mask |= ACPI_PDC_P_MASK | ACPI_PDC_SMP_C1PT;
> -        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_TX )
> -            mask |= ACPI_PDC_T_MASK | ACPI_PDC_SMP_C1PT;
> -        bits[2] &= (ACPI_PDC_C_MASK | ACPI_PDC_P_MASK | ACPI_PDC_T_MASK |
> -                    ACPI_PDC_SMP_C1PT) & ~mask;
> -        ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask);
> -    }
> -    if ( !ret && __copy_to_guest_offset(pdc, 2, bits + 2, 1) )
> -        ret = -EFAULT;
> -
> -    return ret;
> -}
> --- a/xen/drivers/cpufreq/cpufreq.c
> +++ b/xen/drivers/cpufreq/cpufreq.c
> @@ -582,6 +582,37 @@ out:
>      return ret;
>  }
>  
> +int acpi_set_pdc_bits(uint32_t acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
> +{
> +    u32 bits[3];
> +    int ret;
> +
> +    if ( copy_from_guest(bits, pdc, 2) )
> +        ret = -EFAULT;
> +    else if ( bits[0] != ACPI_PDC_REVISION_ID || !bits[1] )
> +        ret = -EINVAL;
> +    else if ( copy_from_guest_offset(bits + 2, pdc, 2, 1) )
> +        ret = -EFAULT;
> +    else
> +    {
> +        u32 mask = 0;
> +
> +        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_CX )
> +            mask |= ACPI_PDC_C_MASK | ACPI_PDC_SMP_C1PT;
> +        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_PX )
> +            mask |= ACPI_PDC_P_MASK | ACPI_PDC_SMP_C1PT;
> +        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_TX )
> +            mask |= ACPI_PDC_T_MASK | ACPI_PDC_SMP_C1PT;
> +        bits[2] &= (ACPI_PDC_C_MASK | ACPI_PDC_P_MASK | ACPI_PDC_T_MASK |
> +                    ACPI_PDC_SMP_C1PT) & ~mask;
> +        ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask);
> +    }
> +    if ( !ret && __copy_to_guest_offset(pdc, 2, bits + 2, 1) )
> +        ret = -EFAULT;
> +
> +    return ret;
> +}

Same here - looks pretty independent.

> --- a/xen/include/acpi/cpufreq/processor_perf.h
> +++ b/xen/include/acpi/cpufreq/processor_perf.h
> @@ -9,11 +9,19 @@
>  
>  unsigned int powernow_register_driver(void);
>  unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
> -void cpufreq_residency_update(unsigned int cpu, uint8_t state);
> +#ifdef CONFIG_PM_STATISTIC
>  void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to);
>  int  cpufreq_statistic_init(unsigned int cpu);
>  void cpufreq_statistic_exit(unsigned int cpu);
> -void cpufreq_statistic_reset(unsigned int cpu);
> +#else
> +static inline  void cpufreq_statistic_update(unsigned int cpu, uint8_t from,
> +                                             uint8_t to) {};

Nit: Stray semicolon. I'm also uncertain whether we like this kind of
formatting (i.e. if already things don't fit on a single line, I'm unsure
whether we like then having the braces not on their own line).

> +static inline int cpufreq_statistic_init(unsigned int cpu)
> +{
> +    return 0;
> +}
> +static inline void cpufreq_statistic_exit(unsigned int cpu) {};

Stray semicolon again.

> --- a/xen/include/xen/acpi.h
> +++ b/xen/include/xen/acpi.h
> @@ -158,6 +158,7 @@ int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
>  extern unsigned int max_cstate;
>  extern unsigned int max_csubstate;
>  
> +#ifdef CONFIG_PM_STATISTIC
>  static inline unsigned int acpi_get_cstate_limit(void)
>  {
>  	return max_cstate;
> @@ -177,6 +178,7 @@ static inline void acpi_set_csubstate_limit(unsigned int new_limit)
>  {
>  	max_csubstate = new_limit;
>  }
> +#endif /* CONFIG_PM_STATISTIC */

Is this really necessary? Afaict these inline functions would still
compile fine; they'd merely end up without any user for now. (Not sure
what Misra's take is on unused inline functions.)

> --- a/xen/include/xen/pmstat.h
> +++ b/xen/include/xen/pmstat.h
> @@ -15,11 +15,13 @@ struct compat_processor_power;
>  long compat_set_cx_pminfo(uint32_t acpi_id, struct compat_processor_power *power);
>  #endif
>  
> +#ifdef CONFIG_PM_STATISTIC
>  uint32_t pmstat_get_cx_nr(unsigned int cpu);
>  int pmstat_get_cx_stat(unsigned int cpu, struct pm_cx_stat *stat);
>  int pmstat_reset_cx_stat(unsigned int cpu);
>  
>  int do_get_pm_info(struct xen_sysctl_get_pmstat *op);
>  int do_pm_op(struct xen_sysctl_pm_op *op);
> +#endif /* CONFIG_PM_STATISTIC */

Similarly leaving these declarations visible isn't going to be a problem.
We do so quite frequently elsewhere.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:45:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911504.1317911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseC4-00044D-1K; Thu, 13 Mar 2025 08:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911504.1317911; Thu, 13 Mar 2025 08:45: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 1tseC3-000446-V1; Thu, 13 Mar 2025 08:45:31 +0000
Received: by outflank-mailman (input) for mailman id 911504;
 Thu, 13 Mar 2025 08:45: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tseC3-0003Z8-K4
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:45:31 +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 8537ae60-ffe7-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:45:31 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so5415245e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:45: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-43d0a75aa22sm45471295e9.19.2025.03.13.01.45.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:45: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: 8537ae60-ffe7-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741855530; x=1742460330; 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=QdOzKmn2LLe0Y8qR+H9Wrv+TpivLXMHdPDyy5F1wqHo=;
        b=MG0HjBvB5as5CkoKtkFmGrj+fXX32lfpC126VQiyHgawVem/HQ5UTaRi+GlabKNQcO
         th3e73Qj1vLwk9hPMz1p0Fx6xDNgvYSHLT2lc+1LZ8QbZHR2sc+5ryLSQwxyktMeDOBa
         Cb7vQAtcZ7icchuMkg4xH4q7t8aRJRdoyly8y9u/vQMkL67D9KU4ow2B2nlADaTD38VI
         wKFziSbsQ0q/QPhN3FFP9eCEvT4L8SMey6RV91Nc0zkCCJQUiO5tdRB05D2X5Qf3Syo9
         YJBKGwYnK3DyPO7PFS7EZiuuSDaYqH+fI1s3BBpTi76AXOL5N9szsjyRv3A/UB7SJf2e
         T7GA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741855530; x=1742460330;
        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=QdOzKmn2LLe0Y8qR+H9Wrv+TpivLXMHdPDyy5F1wqHo=;
        b=pUgf4ZsknBBN1VDHxxh1JUu0xIUCJ3TMpmG4rrMYBXiSXNatz93lJYh8ruku63bE/k
         OSf+9XioU8Hsdd4IFbBCjfWlKC48gVriB7Sq9S1UqxOtFw5IpJ+7AsiuXwln+cyOtg4D
         WnGuXpD9+JgMpuxBCf3jH5f9nyWRCNHr1iGV+3RtYVP/U7Kp61xXmwko7ozl3/m1F1eT
         /XuNA54L3uxxPBmePdHIgGjxfE1aXfe882c9rxAJsNGru6gE8fVXTnJe21p6TsNWxh/9
         H5UeWI5mSurLSZC3ZX9NoKpnwSsOGRdA8+GZ/KDPs0V4NpoDdR2cF95V8992zX3jiNdL
         FGDA==
X-Forwarded-Encrypted: i=1; AJvYcCX2OdbY24g9gDFW6JJ986U3iJaOSgrsZ/37MPQaWx30NO8xdcfWsWhcSBo3K5Lk5UMGdHj72PsnsP4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyugf2n+7+V7Aw6GOZiSXu6c8CZxFJGsCfqf9pqqT4l8LtIsjg6
	vDDq1I7OGHoWZOkwqRgJVZcwpk3lzw58sPBCPDWy/3smPwyWhrynO0C58GqR6Q==
X-Gm-Gg: ASbGnctsBjniWK+3l3HBIaRaSV6QWz2uKwCPkOzvD+FUKg8418VeGfO7iBDemBy9sJI
	lBUfp0RmJP5ACIOiwB79+avR+eWsicMSVtm1rz8iOTC9odVIobfDgapZ91f24Qem76x0zM020Y9
	yb63PLDLkmihKS8A/luO29E2+gCtnzPGxryW5c9nedMc19rkJY0YqaMX5Y4/v5halQyJq2Mr+t6
	o3BeYJl16/XaDU+mQRB9EH8LdlOIfSj4/eWtnLc0znci+cRcvt5HQGyRVna7gfWptYJ8qiNyJ9X
	OoKTfIve92wVrnr9qNWgnj4G6AOhd8KT2x95LKDFh4dOtxWvGTOMaqYB9ZkjrfhCRTJ306gfdr9
	N8XBakW+kht2qOLxZelobJLXsCgT51g==
X-Google-Smtp-Source: AGHT+IFcvzFJOcWGFiERbcS1N995pcmZL/kftda9ZrU3I85Y+6o4/v3xMI0dlVvxdKbTphP9Q7QYsg==
X-Received: by 2002:a05:600c:524d:b0:43c:f470:75df with SMTP id 5b1f17b1804b1-43cf470797emr135957235e9.3.1741855530535;
        Thu, 13 Mar 2025 01:45:30 -0700 (PDT)
Message-ID: <9143899a-06b9-4deb-a365-dea385e2012a@suse.com>
Date: Thu, 13 Mar 2025 09:45:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 09/19] xen/sysctl: make CONFIG_PM_STATISTIC depend on
 CONFIG_SYSCTL
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-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: <20250312040632.2853485-10-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/common/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index ffc6b9d4df..fbaca097ff 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -109,7 +109,7 @@ config NUMA
>  
>  config PM_STATISTIC
>          bool "Enable Performance Management Statistic Operations"
> -        depends on ACPI && HAS_CPUFREQ
> +        depends on ACPI && HAS_CPUFREQ && SYSCTL
>          default y
>  
>  config STATIC_MEMORY

Better fold into the previous patch?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:47:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:47:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911518.1317921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseDh-0004fB-Bs; Thu, 13 Mar 2025 08:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911518.1317921; Thu, 13 Mar 2025 08: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 1tseDh-0004f4-9J; Thu, 13 Mar 2025 08:47:13 +0000
Received: by outflank-mailman (input) for mailman id 911518;
 Thu, 13 Mar 2025 08: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tseDf-0004er-TB
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:47:11 +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 c0cd1727-ffe7-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 09:47:11 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-39130ee05b0so642403f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 01:47: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-395c82c23ffsm1347978f8f.22.2025.03.13.01.47.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 01:47: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: c0cd1727-ffe7-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741855630; x=1742460430; 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=AU6rvHXcByakeqgbVAphxHBTNtMFlDzafzFqARxMJ6U=;
        b=c4s+0z+a7A5vHUIYF5GJMPClBV0ZzMR9DuylLzBmHyNM+IMV3GEUaChMoqUXQmX2XA
         vjkZ8tM6NjGzlsMI8zyPOV9CZXhFY6b9+gigsGS69k2jHczDMHYT8CXYuxa0nY0E9fCm
         aiXK4rAIT8G9wZyNXIKMgOAHv4rqd0C3wTWKTzCjZHkuYGGwPNvGBSYAdpJDYQsSKQ3Q
         fiXWLSt40wbmtjiM40pNpVokIasW5sxr34OK+aMqHQ37DIylrYNeP7CYd44othKJnLby
         QbyylSGRPcomcZWfWf8szaGHu1w65Cm+Y7P6Dxxv9AxOkGpRyfZOcNddwGq9NuLnEzbr
         87ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741855630; x=1742460430;
        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=AU6rvHXcByakeqgbVAphxHBTNtMFlDzafzFqARxMJ6U=;
        b=Sv3ooKlnPkq3XZ8CPCJSP2pL4M6m/dDyoOeeKcV3357gnPKR8deBQS2xgQQvxRX/KR
         YajAF19MVQbNWAqe8abI0+gBvtg2a3idqlp6TXwySnfZx5YaLieNorcMxjunPSHTVkxk
         K1NivbzjBycRm0lGMyPbAzFyKgcd+XGh8nPtIJzu8Eh6FFAJaKzet679Fb0Fizd/YnL/
         RU8W10MYEjqPmdn/a+M/rF/pbZgPVBKIDsXLKdm2negzFPsOUMeIow+zLZgwExvcQUH+
         +lmvkaZOsusXRt4EHhWukUcgpqlNTHU75mJLODdJCyszd0xvlA01W8dN9U7zL7nHpvKH
         eY4g==
X-Forwarded-Encrypted: i=1; AJvYcCX+jQ9P07La5jtRY+EHLQyOgx5uSs0M61gJMxVFxYlUjggh+WeGyUb3z3CM0NQnbr78ljnD5YKCEHI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyS75G1pqmsZpPwIhp8uu/N+1fe4rYIebKI4F6uyaC/71PyKE8+
	eTp9kLcWrPlvPb0fvb4ngSljPsErnuhk165Xh6pmoW//Uni/+Uewr089QUMRag==
X-Gm-Gg: ASbGncuH0dIVWjpIHLsO1CO/iVPeZ7/zANhLsmFYlHW4LJd4jbd8pp9siVIsjFIuC1v
	jKyzhaWH42zkP+fxogRIM/VohdnB2kCCaKPpanZsQHls/vAPxp8u8twL6Hz+aQusQSjTSmiVxWo
	UaCkyP0/O+VzPyyJBnQTV8JyW3NC/1hVeGpFie9rjj5SV5u1Ykd2V2uGx21EdXb+6/vxR1tbMdA
	8qNNO6iU2yBplrtvmnJW9u+wO/uSP7oSYq2/PAZyUcWAVhooZXF0VPqSBobAW2Pufs70eB6RGDR
	uTuDBCLS6Q856lEYhkJXBL/wXA+pgVaWw8Ar2Q46N8bV3nvOpwOApHaXZQY7Jz1hJ5bAVGMgG3F
	LrSm1jAoA388DH055rUxoSKg8NgWQlA==
X-Google-Smtp-Source: AGHT+IE4wdZ1QKcfwcbVGBWlpmNprZaPKQE4+zB7oY/adxObpkOKBZVGxdan8/7EWI/eggIUUZ+Yvw==
X-Received: by 2002:adf:c043:0:b0:391:41c9:7a87 with SMTP id ffacd0b85a97d-39141c97c72mr11826393f8f.51.1741855630471;
        Thu, 13 Mar 2025 01:47:10 -0700 (PDT)
Message-ID: <d753f031-a630-4b13-a0a4-87f319641e9b@suse.com>
Date: Thu, 13 Mar 2025 09:47:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 11/19] xen/sysctl: wrap around
 XEN_SYSCTL_page_offline_op
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-12-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: <20250312040632.2853485-12-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> @@ -601,10 +603,17 @@ static inline int xsm_resource_setup_misc(xsm_default_t def)
>      return alternative_call(xsm_ops.resource_setup_misc);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
>  {
>      return alternative_call(xsm_ops.page_offline, cmd);
>  }
> +#else
> +static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif

As before: Less redundancy would result by placing the #ifdef inside the
function body.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:48:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:48:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911527.1317931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseEg-0005By-Kq; Thu, 13 Mar 2025 08:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911527.1317931; Thu, 13 Mar 2025 08: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 1tseEg-0005Br-I1; Thu, 13 Mar 2025 08:48:14 +0000
Received: by outflank-mailman (input) for mailman id 911527;
 Thu, 13 Mar 2025 08:48: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tseEf-0005Bh-Eb
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:48:13 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20619.outbound.protection.outlook.com
 [2a01:111:f403:2418::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3eeab51-ffe7-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 09:48:10 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by IA1PR12MB6114.namprd12.prod.outlook.com (2603:10b6:208:3ea::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Thu, 13 Mar
 2025 08:48:08 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 08: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: e3eeab51-ffe7-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PpgsSwri922qfU+yNVLjerQ/IRJ22nXWUPfZDURyjWjKcBu/PyBDgEdB2zFRoXGcR38hXbBG6a4/uuIgpfu7W6QcVm/5wLbqvnGtCpPdqN7JC8oIkB8W+y9XBErDKHCL+i+3U8PJjlrz33KjY337imd79+O8TqT0KDrGf/QArjGLG9ltMu7TO94WESt5kdU9ynFiRy3G0jErdy++48e1DT2UlO0kbPUL0cuhwDbJM9ZB0s2XV6kcSYidImezIVmzkG3Ivl+HFH5Muxpx3nz8PdZzTdyRAAJi5WgY4Ic9Fy5h6/Cq5FPCemcydE7yuIVpgl58txiwxeq1MaaY/RKRUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ns+KxdfaTWIWJlG1E3WQdcmGoD3A58CRn5Q7UgHB6X8=;
 b=P+4v/5Q1r9JdlbbK/G0Y32oYHkSKe+5fMERljPUyR0vEbE9/nTC2GPse4psCm03eiK817rkDHe5P/zRM+ohuuIcPaWVVVuFV5xr7PLiJUzGDXXquCeTXW7dqRWeHrFhLvX6/O6utwYYaWiE6jrSJp9QEKjdD5mMT0BVEp8uHI+OwRM4Q1FnO5eOdrL8ZpPlh3NGDVHw9jwtAzYZh56z8buka6QzokVGgXpLtQsHiTqTMpIPHkBGaMsWcL9SqMctD3bA5F7yjrfE07EhAftwO8wlDJxPkNklF1eG+Kjqec2rxcdMGPGxR2pvnShA3oVG6tYJi1jIGUAtQAZaVlxofDg==
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=ns+KxdfaTWIWJlG1E3WQdcmGoD3A58CRn5Q7UgHB6X8=;
 b=WYBS9I0k6wg7MvtRof4FDOtdlkTJ8QCITGFj+1i0ihcyqdqwf4VPt8IUIK+fZgGWYGIieSWWdciSbNCSdmApy5icSlIvprtnXikL9cqbrj5Bx49Brwz2zqzzlQL87QmYJmNLdUjlKQ/pHCfjifg+0LiPVwC+gvh8McoEdfTPxBE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <f16ff8ff-6d9f-4763-914c-4ada8d7ecee4@amd.com>
Date: Thu, 13 Mar 2025 09:48:02 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU
 system
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-5-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-5-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::7) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|IA1PR12MB6114:EE_
X-MS-Office365-Filtering-Correlation-Id: 73295645-bdaa-4334-9768-08dd620bc6e5
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?UjBEVk9BSW1GeW5FWm1QV3o1MTRzWWVQSkl6dmNlK1FTcFk0UVhqL3QreFJV?=
 =?utf-8?B?TUF5T0cwdDN4T1hNNWpEU1FhY3NuVDd0WUlEbStDZk10M1hacGc2SmZSUllE?=
 =?utf-8?B?MDE0U01kRThLbnJacVFaZGkzOUZVblg4MHE0R0VMNkRIdGZCelIxTUFZNHRK?=
 =?utf-8?B?cENPbFN2amt2UDdRbzF2U290cnhqYS91azFsOHBlQk1RditwenhqMjVjUXZo?=
 =?utf-8?B?SjZSQ2xHS3M2TjBqcEpFY3ZrcWJXSUhYOHIvNHMyVWJrU3JiTFA4ZFhiSHhp?=
 =?utf-8?B?NGg5ZHFBLysvTjNSZHgzbkZzdTQrTTBhUDZDcTJqcXNHd3dwbDI0dkJFejJS?=
 =?utf-8?B?WFFkY3ZwaGd0UytIVnVROURXdkJjbHJQcmZrc0Z2OUp2M0hJdExUVWd5MDVs?=
 =?utf-8?B?amMyamdpVCsxNVhnbktnNXhNSXNUbm9NZUdEcGtqb3d5V1VrZDd0NkxCdjVV?=
 =?utf-8?B?SlQyVENoYTR1aWhEVjFuUk9hd2lqYnUwZkd3L244WDNzQmhaczM1ZDdhS2ZQ?=
 =?utf-8?B?eFN3aUgwMTVCdlhvRkUrZCtUSUJaOWV0aWdCanFWZEEyTmJGUUZHN1dWZXJO?=
 =?utf-8?B?eG9aRmdVMUR1VVVQdlVpVzVBRG84cVUyZzk4UnpvamVwS0NvNldQSWdGRHZD?=
 =?utf-8?B?YjQvL1Vjdnpld0lHYmZMVDJycHpLRmFmUTh5dGNtOFVtWmtCVzNubGgvZWV4?=
 =?utf-8?B?YUV2aktZWHFobmFJNkd0ZXZNektnNVNnY2tFTUU0UXhOREorRytVUDR5b1dR?=
 =?utf-8?B?Q0xnSlhoQTcrNE9TbFBZT01mQ0tkTWJ3VUpoQnAvRVhueHZKalNySE4zRFFv?=
 =?utf-8?B?Vm1TbW9YcmdtVE5QTUppU3NoZ1M4RXRFTUd2NlhrTitLaitwSzZ3Y2VVSGRR?=
 =?utf-8?B?cmNXOUUyUGNUSmJsaXhWK254LzgxSFlLd0VYcWJrVENWZTlTaGRQRWR3MC9u?=
 =?utf-8?B?YTlmaFdGbGE5SjlndFVlVG9OdFVSalhYQW9HRGY0TTdoK2pZaVZCZElUaWh3?=
 =?utf-8?B?ckFaSjFmZ3JjT2thOGJrM1dmNXRXOHBMN3VscVNrSDZrKzc0VEV6eXpwbG5B?=
 =?utf-8?B?NGZBMHJqTVEya1UzYmp1WS81T3EvWkxNWGpjanQrTi9XemZjZC91aWIxckcz?=
 =?utf-8?B?S0h0OEpWemdGUWkzMGJWcllkOC9QWW5Uc1loOEowNDF5eUtTWjRoR1pvWWo5?=
 =?utf-8?B?ZmFVZUpIRGdYSWowVUhsbXVxQkUzWmNQZDJ6dkdTRmEyYVNRM3cyMFcxMEhH?=
 =?utf-8?B?dGpOdXdpdkltanI4OUxaeHNFNHcwamVtTWUxRXZGendQUFpseEZUdDFRQ3Rh?=
 =?utf-8?B?MEtOaFIwVmh0cThuSEZmSVVVRHVVcTlXa3ljY1hNV3JVTUUwRENrR1RuTHV4?=
 =?utf-8?B?QjczREQvMzJzMU9ubGFXeWtld2luUnNSeUl5Z1dsU3NyQVVHcXZjS1hpWEZl?=
 =?utf-8?B?bE5HcWc4U2g3WjZMdmdpUWxCUkh1WlAyajUzQ1BqWE5MMEdQQzYxdEd1OFFS?=
 =?utf-8?B?TjcveWxFV0lKK3BVN3NkRWR1bUYyYSsyTzRiZmY4TlYvRlFTdUo3V3FVOW1L?=
 =?utf-8?B?OUlRZU95SGwzZ2VBUGlwL0Y3eGR5YWpjbEtEeHBwemtHNy9sYjdCb2FpNERz?=
 =?utf-8?B?bDI4QmtabzJ0dlczdGFvaDcvMWx1MmthMEJ4MGw5YTJLQ1ZtbVdHazdvUllJ?=
 =?utf-8?B?eC9QRFlZVzZ3K0FyUXpPU3N1ZHNIYkU0N3dRUkpoQWpSOXpaS2d6c3VJc3JB?=
 =?utf-8?B?K0lBNUdOZUlBV2ZwNmFFQmxaZ1BzSTVFWmU4bE04V1dJeFJQMW14WnVtNjR6?=
 =?utf-8?B?eEs0aHRUR0hqSmdCbndOSGpUZ0VrUzNYUzNPd3J3cURWa29INUN6cFVpRU5E?=
 =?utf-8?Q?O0TjKXxzmMcT2?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?ZHU5cmZqZm1sTkUrcVdkdnZQeDE2dkppRzRMU3FRekxEOGg3alRyL1JjRlo4?=
 =?utf-8?B?SXpmTGo1Ni94QzRFOU9GN2VNL0VzTUpoc2lvUWF0QXduT3p5d0FVL3RKazB5?=
 =?utf-8?B?aHE2SDR6OUQ4QTFDWjI4Uks2L1RXOTJncS9XV29janh0UzdZbUhHbFNWZ2tt?=
 =?utf-8?B?NWVYU2dpazB6ejZpWk1KdkZHbWxJK2lCWHpFaUZvcjUvU3lUOVZLbFZHanpG?=
 =?utf-8?B?QThidFBjcUFFWkdNWW1xMjlDT1BIRG5FRUtOcGM4VUUzZE04M0tYd2RhUlhs?=
 =?utf-8?B?Q0MrdHl4Y3dITVljZzhIRC9VODAvZ0hTcTRDNStPZDlyY3ZwVzVic3FWMFpM?=
 =?utf-8?B?UnFjY2JDYzdaTS92TFF0dlFXamxFRlRrSHpHQmJMTFpyZmwybE9JNmFqUjE2?=
 =?utf-8?B?TjZ0SkxzVVRKUU1PWjdDdHhFbVFWaE9Ib3ZFWjlUeHR2WWtIcGE4Z2pUVWlh?=
 =?utf-8?B?a2RjSVdGekxMOHVDdmFqazBPcUs4WGxWallTTXdXZmJ2aG1hWDBWOHZ0Sjhp?=
 =?utf-8?B?ZTJ6dk5WbmVuemp6aWNtWm9SMzZCRTVJUGdNWERqcTNUKzA0NDB5eGFrVjlq?=
 =?utf-8?B?ZGN4dEZVQjRiTnB0Tkl5cFQ3MWtQMVNGZUEvaHBtcTV4ZU9sTnZOWTBkYlNF?=
 =?utf-8?B?OTR1VWVrM200WVNPZlhFTkFrNHBNN05iTmdqWnE2bVNrZHpHTkVOc0orYUh2?=
 =?utf-8?B?MGVZd2hnSTVpRUpRTEozMGt1NVR6eEFRdGo0azZCZHB6V0p2NTJickRxS0Rx?=
 =?utf-8?B?aEFGWTYrTjRMSkMyQ3RJT2syQXdrUVdkTU9JTXVyR1hCR0ZlOU1yRU1FcjBH?=
 =?utf-8?B?NzRRQncyRWxCdEZnd0ZSbWpXRmUwbEE1LzJBUHhYZTJtRldNazRLTndlTXlT?=
 =?utf-8?B?N20yeEFYdm5PbnREWnVIS1doenZiZTk1VXhzRmJKSGptVXdqUkk1enhpcEJi?=
 =?utf-8?B?T01HUUQ1M00vMjVOSXhmVFRJVndDRmFxQ3JISVIzbzFVZm9mWnlhNG1HMFZT?=
 =?utf-8?B?aFJVSDFCSXp2dDAwcmFNNVhaNEhLSUJSLzBVaHQ1WEhmelB0NXpEeThHdW02?=
 =?utf-8?B?WEFKbXBFVE1UdWc3V3NsK082bEEwSXRmSThwK2tyTUN5RUNiRm56UG5raTVZ?=
 =?utf-8?B?a2dIakNOM0tWMTVQQW9uaDVYVGNZTnI2Q09Ic29LRzhLNTdlRmM4Z2cyNzBo?=
 =?utf-8?B?UitFSTE4V0FVN2F4MFZEcnVJTXhHdE9LWElvR3JGWENNTk1XS3hpT2puUFlP?=
 =?utf-8?B?R0hzTnVlUnJIcHp4aG1ScGUycVdQY3VoUXUyK2w1ci8rNFlwdk9OU0FKUFVv?=
 =?utf-8?B?RXplN2IreG5vSlc1T0ZMMGVIQUJsSFlFMTE1dWE0YW1JWEFVbU1kUDlqelNh?=
 =?utf-8?B?dzFabzQxcDNGQktYdGFaVzAzNjYvTldzWTh1Sis4VVRmUFpLRnAwdllOVmJD?=
 =?utf-8?B?ckphZFZFbEVQaytPZ1JMY01wVXYwRWNvbDF3cE5URFFtaTI2NWNQdlNWZm1z?=
 =?utf-8?B?c3ladDB5YVE4N1NiN0JYQm1HMmFZRGgrOHpsTjlQejVBcGcwa0p4VXFsRGJt?=
 =?utf-8?B?TG9CVTBjbXVMSnlJa0t2alFVL20zb1ZVcDRyWWN4cEhYdGJVbkUxaWpTRmlk?=
 =?utf-8?B?Tk5yUjhtVXpaYnc4a05oME9rSEhId0pkTnV6NUVRN3RuVHFvcFg0N0NLUXh4?=
 =?utf-8?B?S3FHUCszczBlbHRlcUxuNGlaMDhZMjhTZnJEMXdTano4RjVkZU93OUhTYzBx?=
 =?utf-8?B?ZnRFVVIwWUZibUxpYmltclFRRkhPMXE5dzFlU29YK3ZWNlBmTWlZamc1bWhP?=
 =?utf-8?B?RnBQdlBNa2lQcFd2VTBrT05pS1dlaUh0Q3IrNjRrekNJSmpEN3pzTHo0SzNL?=
 =?utf-8?B?TlFDK3U4WXJWcFhTdjBKVUorSmNGUDJWeHBoS1ZsTlB2YnNWbWlSdjZEZFUy?=
 =?utf-8?B?eHhTaHpSY3M0L1l3N3pkZzRnZUhHNldhVkJmQ2pzQjJWUEF4UDk2Yy9zdWd4?=
 =?utf-8?B?eXZmTW5iWGN1MmxudFZhZmVWNDdhbjUxK1dlVFR2dk5qOG93ZkVCeVNMSmlq?=
 =?utf-8?B?SXdDTjRtdHFieTFQNFAyYXFtV2x5cllRcjJmSko3M2h0NjdCUEFRSnRvNXhH?=
 =?utf-8?Q?I8j8=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73295645-bdaa-4334-9768-08dd620bc6e5
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 08:48:07.9256
 (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: fxdMddOu/45zkbcqLgonf7cK8rQ/Ix46V+zYYHtmO0dJOqy46Ant/dV9NpoEOgeD
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6114



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> virt_to_maddr and maddr_to_virt are used widely in Xen code. So
> even there is no VMSA in MPU system, we keep the interface in MPU to
> don't change the existing common code.
> 
> In order to do that, move the virt_to_maddr() definition to mmu/mm.h,
> instead for maddr_to_virt() it's more difficult to isolate it under mmu/
> so it will be protected by #ifdef CONFIG_MMU.
I don't understand this rationale. I did a quick test and moving maddr_to_virt
to mmu/mm.h works just fine.

> 
> Finally implement virt_to_maddr() and maddr_to_virt() for MPU systems
> under mpu/mm.h, the MPU version of virt/maddr conversion is simple since
> VA==PA.
> 
> While there, take the occasion to add emacs footer to mpu/mm.c.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  xen/arch/arm/include/asm/mm.h     | 13 +++++++------
>  xen/arch/arm/include/asm/mmu/mm.h |  7 +++++++
>  xen/arch/arm/include/asm/mpu/mm.h | 27 +++++++++++++++++++++++++++
>  xen/arch/arm/mpu/mm.c             |  9 +++++++++
>  4 files changed, 50 insertions(+), 6 deletions(-)
>  create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
> 
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index a0d8e5afe977..e7767cdab493 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -16,8 +16,10 @@
> 
>  #if defined(CONFIG_MMU)
>  # include <asm/mmu/mm.h>
> -#elif !defined(CONFIG_MPU)
> -# error "Unknown memory management layout"
> +#elif defined(CONFIG_MPU)
> +# include <asm/mpu/mm.h>
> +#else
> +#error "Unknown memory management layout"
>  #endif
> 
>  /* Align Xen to a 2 MiB boundary. */
> @@ -261,10 +263,7 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len)
>  /* Page-align address and convert to frame number format */
>  #define paddr_to_pfn_aligned(paddr)    paddr_to_pfn(PAGE_ALIGN(paddr))
> 
> -#define virt_to_maddr(va) ({                                        \
> -    vaddr_t va_ = (vaddr_t)(va);                                    \
> -    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
> -})
> +#if defined(CONFIG_MMU)
> 
>  #ifdef CONFIG_ARM_32
>  /**
> @@ -310,6 +309,8 @@ static inline void *maddr_to_virt(paddr_t ma)
>  }
>  #endif
> 
> +#endif /* CONFIG_MMU */
> +
>  /*
>   * Translate a guest virtual address to a machine address.
>   * Return the fault information if the translation has failed else 0.
> diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
> index f5a00558c47b..5ff2071133ee 100644
> --- a/xen/arch/arm/include/asm/mmu/mm.h
> +++ b/xen/arch/arm/include/asm/mmu/mm.h
> @@ -2,6 +2,8 @@
>  #ifndef __ARM_MMU_MM_H__
>  #define __ARM_MMU_MM_H__
> 
> +#include <asm/page.h>
> +
>  /* Non-boot CPUs use this to find the correct pagetables. */
>  extern uint64_t init_ttbr;
> 
> @@ -14,6 +16,11 @@ extern unsigned long directmap_base_pdx;
> 
>  #define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
> 
> +#define virt_to_maddr(va) ({                                                   \
> +    vaddr_t va_ = (vaddr_t)(va);                                               \
> +    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
> +})
> +
>  /*
>   * Print a walk of a page table or p2m
>   *
> diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
> new file mode 100644
> index 000000000000..57f1e558fd44
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/mpu/mm.h
> @@ -0,0 +1,27 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ARM_MPU_MM__
Missing _H? Should be: __ARM_MPU_MM_H__

> +#define __ARM_MPU_MM__
> +
> +#include <xen/macros.h>
I guess you also need xen/types.h

> +
> +#define virt_to_maddr(va) ({  \
> +    (paddr_t)va;              \
> +})
Why multiline? Also, shouldn't we take PA bits into account?
I'd imagine:
((paddr_t)((vaddr_t)(va) & PADDR_MASK))

> +
> +/* On MPU systems there is no translation, ma == va. */
> +static inline void *maddr_to_virt(paddr_t ma)
> +{
> +    return _p(ma);
Why do we need to cast paddr_t to unsigned long before casting to void?
Why not:
return (void *)(ma);

> +}
> +
> +#endif /* __ARM_MPU_MM__ */
__ARM_MPU_MM_H__

> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
> index 0b8748e57598..a11e017d8a96 100644
> --- a/xen/arch/arm/mpu/mm.c
> +++ b/xen/arch/arm/mpu/mm.c
> @@ -13,3 +13,12 @@ static void __init __maybe_unused build_assertions(void)
>       */
>      BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
>  }
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.34.1
> 

~Michal




From xen-devel-bounces@lists.xenproject.org Thu Mar 13 08:56:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 08:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911546.1317957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseMA-0000OV-JT; Thu, 13 Mar 2025 08:55:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911546.1317957; Thu, 13 Mar 2025 08: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 1tseMA-0000OO-Gp; Thu, 13 Mar 2025 08:55:58 +0000
Received: by outflank-mailman (input) for mailman id 911546;
 Thu, 13 Mar 2025 08:55: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tseM9-0000OH-0r
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 08:55:57 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060b.outbound.protection.outlook.com
 [2a01:111:f403:2416::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8cf7d16-ffe8-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 09:55:54 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by BL1PR12MB5994.namprd12.prod.outlook.com (2603:10b6:208:39a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 08:55:50 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 08:55: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: f8cf7d16-ffe8-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZTFIfbc+2SDX4wS/g7g3vhapTTZGcMjuZatyZby4D92o4l3PCFhmMxDLtEi1BSMe1QgSdAYvxAptWNdUW0LVk2UT/qtrB6SedKdv/uoNO/I+L6LfZ79+nMlbPzUhsiLSM21BIelteV+3EfhAW3wULHnfVEZka9heYNlmeGAUdxrIcyAnNTBTcG9ukD9lbtDzlZ9hp9IfzWWTx4iab83hdnQQ38W1dZSYegN+knoSdtMQ4JIv9RUHhjhbRIhzABpKcSeNVVEZHmHYkGgIO6bdTgfm7MqqcxRaZklGln4+IXVG/JlSYI+2Gx2r7zYgAsXKR0FZUi8FtiEROR4Q365f9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rrrD5oCVC/NSiZ2ZBj+N7PSn0wQ8LF0I0qiB8qhdH3E=;
 b=uC8xMRwBqkMvWCysOfQa4Si3RhLj/3fXFtAia85yTKqRgzWJ/vdMtie6Vq2J0CwwU8m3iwJ9+TWhL01fie/IBvJgU1QwiBRl0T1mPo4pLKiiQW7BqJ6PywxWupWZDWlBetWAE8z4eoLgPAJZ6HCh8qQgyOuPt9oo4HDluhvEpA4hHfuhsmnBOL9FWKcI6AfG8jgk6wmq9AYMAd7M1P7SLHiErziYxgQkEgPi9qCKkkYp7aldBdrssij4HzvaGv243Gbla13saX1A9Qk4jj5Fy12cyKbDKcG3aW47GTwmUmMupu6UMjShBnnLD8ODigEJQbOr1ewgwCs8dDzt8BfGcA==
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=rrrD5oCVC/NSiZ2ZBj+N7PSn0wQ8LF0I0qiB8qhdH3E=;
 b=LaEJ8m7fNnOZYvK+vXqxeplScjKAXxtPs5YTVgcU6NUPx11UDsnMRxQANOAD7bQ50Ng797HFvYrGrzWELAj4auw/sNFN14MlNjUYWiFoyaHh8F4zIi0altL+B2kj7T7KmK0wgAObIoz/gRvu9DNS473HKiI6ahhrEmu30OP4AhA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <318cde52-2798-4b9d-a1e6-16c8e8767adc@amd.com>
Date: Thu, 13 Mar 2025 09:55:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU
 system
From: "Orzel, Michal" <michal.orzel@amd.com>
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-5-luca.fancellu@arm.com>
 <f16ff8ff-6d9f-4763-914c-4ada8d7ecee4@amd.com>
Content-Language: en-US
In-Reply-To: <f16ff8ff-6d9f-4763-914c-4ada8d7ecee4@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::14) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|BL1PR12MB5994:EE_
X-MS-Office365-Filtering-Correlation-Id: fa2b7bcb-4183-440f-5315-08dd620cdab6
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?TnBGenEzU2ptK25ZQnBJODdsUmJvWDNQbU01Q1J0RytKZWt4VTFrY0VhQWow?=
 =?utf-8?B?cHNna3hiQWFnQm5UM0JOUGVybWw1M1VTenRKNk5IU04ydXJLNGJWaHFHaUU4?=
 =?utf-8?B?ZUd4eGlkNkpCV016ZjMwV2JZNDlza3lqNjkyTkNQT3RLampJRjA0RWdwcE95?=
 =?utf-8?B?TndUeFNwUzlJdmFIUldvMjZWNDk1WnEyOHZqMWZ1dUF1c0t2UVhaandqT1VX?=
 =?utf-8?B?ZHlIdkFDYnFYQ0lUK3kzL2JEa0FrOWdVVjBHMGs5TWxDMHowY1cxNTY0d1BE?=
 =?utf-8?B?THpmTmJjclUvQnl5aUZPaTZuZGFIdVkxek5ILzY4REUxME1oZW15VjRDMGJO?=
 =?utf-8?B?K042T05vWHdFYWRPd3h0NlpFYnp0YVNpbXdBRENuTWNwSk5GOGVxaWx3b1dl?=
 =?utf-8?B?RG5VTXV5aGhpc2JRSk5TOGNLbGh3RXFWMUFQKzNQWnRUNHBkeXVwenpGZndI?=
 =?utf-8?B?WnJaTytPWnlObWdzaG5CVVFOa3RsZ2x5N3I1a3VQdDVMODdqYmZ3dlpJQ1Y0?=
 =?utf-8?B?OUJ0UVZ0dmh1RzhwNGg1VmZSbUpYeWFHenlacmhTK21POVZVS1R1MEVEZkRC?=
 =?utf-8?B?MVVmU3FsVitxOWdxYnZkTjk1c083NHhiU3ZZTjRlQXNuWERFNXpjR3QzOVZG?=
 =?utf-8?B?UFVGdEx5QTJkbGdQNDFXdmo2dWJQOTBVU2I2czJtd21qeGxIQjZtdWNXbWE5?=
 =?utf-8?B?NitOQ3dLOWtzNlA1S0hOZVFjVmpTZmh6N3J3YWZVY0duN1czQ2RoK2VGTGFK?=
 =?utf-8?B?WEtPcUJxUzlOWU1SZ09vbzd2ektRMU1icFRGZU5rcjJsWUpBS2FYV3hiM0hO?=
 =?utf-8?B?cEtHUTVyOHdtNFM5bjBiYUZTeWN5WlF3SXZudTY0cFBiTWZ4dnZqS1pqT2h4?=
 =?utf-8?B?YmJMckw5ZVZXaVNXMnR0MXJZRWVtQmZ5ZG5EWDJtaXg4K2RXeFNibG5KVGRh?=
 =?utf-8?B?TDVBSnBTQ3ZlaFRCenpGRDFRMEdldlN5K3ZQY1p2SndML0t6WlNzelJpVFpO?=
 =?utf-8?B?ZTVNUXhYMG9GR25lYzREVDl3bmhrS0F6QTEwV1FKVEU5VUNpVGZpMy9qVVFk?=
 =?utf-8?B?SHJSV2JLajY0L3VZNVRIL25FajhUZjdNOU5aaW94c2x2ZHZyZTNSbjF5dHJo?=
 =?utf-8?B?VHlQRE01c1MxOHdXNTdOVVMwWU5mNUprL0dCcjRsS0lzc0NOa3pvNVBDUzBF?=
 =?utf-8?B?YXVPNEZxM2ZwVjU4Ryt2NmFLRnYrWHJKYXB1c1h4aU1ad3ZhV3A0MWpsQ2w2?=
 =?utf-8?B?OEs3b2FISkRzS3JDcnd2Y2dob1RNck56R2FIdkthVzZTNE9CQm1WZTN1MkhS?=
 =?utf-8?B?TjBsN3JRQmNwUmRQcXFSNCtHcFNlMEtmeXNDUGswUUhKWllYSzJ2VEZvN2pl?=
 =?utf-8?B?QTEvbVlkS21XSVB0bDF4R0I1b2NCcjlCclBaeTZ3M2pMTEthSnZGN3JacjlQ?=
 =?utf-8?B?cGhhMlNnR0R0azJDdkNGWk9acXJtREVTNUdOUGFxWHFvZGRROFpFYURnb0Nx?=
 =?utf-8?B?aVVKZTZEWlNaWkg3b1ZJWVlHZFRqd05XSmx6dHVsdm1pRW1ydmRQSlBicGFs?=
 =?utf-8?B?UU1lazJTRHcwaVlkWnl2T0NEMDlWeDBkazNyNnZEaGRqdk1RR2FpTjdNQlow?=
 =?utf-8?B?K2s0ZFRxT1NmM2doRkRKV25ieGFROWUxc0pEcXNoTkIzUm1uTmpzTzhsTzRM?=
 =?utf-8?B?MlFlVkpMelFWaEN5dDFkV2o3bHhYdDZ0MzMzSnFBY01rYWVoRVg1VVpwOW9W?=
 =?utf-8?B?a2hseDJMeVJHdnlMa09tOWhobkIxL3lpVFBFVzBMbEpDYkZFYnoxOE5vdy8x?=
 =?utf-8?B?bldSVWlyeXBQdlBWeDd2UGNFcW5NOCtFNW5BcE5IR1NRUHhRcjJwNkV5MnE4?=
 =?utf-8?Q?WyM+YJl1Z3OTZ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?cUtGMHZLMHQrL3RLeGxycVF6Q1lmZ00ySFFHTkl6NnJSOFNWZFV1MlA0cmVo?=
 =?utf-8?B?TkJHK0RtdVFOT1ZjcVJUMFNYV2JEY2VSbndDMFBZNW14SlR3SlhHZXh4MmJF?=
 =?utf-8?B?bDFoNjAvZGZmRjFDa2s0aXRYWitPVloveVdJUDZEUjhBNVduRTJWN1lVU05I?=
 =?utf-8?B?aGtJZTZtRGlSTGpldTBTY1p5NER5R0Z6VUMrTnRUc011aEJROGlEVE84ejJy?=
 =?utf-8?B?TGlQMDZlN20vNHpKTVI1ZWhKK1hTbGJ6cU5lWXExWWQwUE9JOTJCRmQyL1FU?=
 =?utf-8?B?cmFEWGxmVGlaSTBiYnEydzA1enhuRldGOUplcEdEY21USlJZSXlweWs2WmZ5?=
 =?utf-8?B?ZGFHTitmcjBRRGVTaDVBZm9ja0J6aW5yeHRGVUhaT1R4OXdzK2J3UGlXMldX?=
 =?utf-8?B?WlNpTVVhZGk0b1ZzU1N3cEpKcVllZk9oNUNZSjZCK1o2amhjWUN5a1g5TjVk?=
 =?utf-8?B?YkppZ3ZpZUZZc1drb0x4amtRUHFaRmNaWHV4WjNTZTFpeUxzUlY2cXBvSzI2?=
 =?utf-8?B?cEd5TWk2Yll4UW42R0RQbXorU05VZjJTdTlYMGcweVlrakhPOUtldyszRDZV?=
 =?utf-8?B?TEFhNVh4eVhKb1dRSDRsMkRYRWZZd0dWTkhOMkQ5bDNkbmtON3J2QUJobXJJ?=
 =?utf-8?B?R21xZUxTaXJxSHNKU0ZtVzduUmREUVpIT3g3SmtUWTZucFB2ZFFQTlA1aW1P?=
 =?utf-8?B?cWEyVTU4Z0t5aDNMbG80QzJndmhGdlM1MlJyL3dZcHNyNHZxUkYxc204SVhN?=
 =?utf-8?B?Z2cyZmdhT1A4R29EM2xtMkRROUlvTi91bFIxYnozSU9OTDhPamtTSnFVS3hx?=
 =?utf-8?B?QXd2VXZEaWxNMDRQNS90SGNoV0g2RmgxTkI1SXM5S0VIdjYrTjloK05QRXhL?=
 =?utf-8?B?Q1h0TzVIeGluZWZuVTVuckYxTFRKWk1xcDBFNkZxam4xWlBzekZhdXNVZ2Jr?=
 =?utf-8?B?a1hxakllMUJzQ3BVaVNHcXRYb2d0VFhuZ254OG5TR0Y4SDdjOVRad05GNTRE?=
 =?utf-8?B?Unl2aWNtV2I4QmZvMGdJb3R5WWdxOXowM0FLOWJhN1pKVllZVERaWUI5YU80?=
 =?utf-8?B?UE9lRXk3dXFUM2RGOXZiWEJhazk0MTFsQ3RENThTTjZIUGhlYkpCdHBEVGdQ?=
 =?utf-8?B?Y1p4dUs3MGdYV0VINDh4K1NEYlc3TTB6T29MUElRQVY4U3JvSk9VMkxNNXFx?=
 =?utf-8?B?anBiZWVZN0pGOGV1bGl1UkhXZ0pTOXMveHVJZk04ZktzRi9BVjVoMlJqckV1?=
 =?utf-8?B?aWRWUzV3ejA5YStkUzV4c1FtRy9Nd2dvbUxtTDZrMVNWQlNYN3c3V2xTbDZP?=
 =?utf-8?B?MEtaTC9jd1d5c1prNHh0U3pvMDFBZlRkMVdvNmpFcGtjQk13TGx5VUh3Rmwz?=
 =?utf-8?B?U3VJVDJKcFBjNHIvNGQxeWMvekc3b1ZhYVhyS2lxaExwSnlxb1dFNHcvUmFp?=
 =?utf-8?B?OTZDdDFTRURYRzJBM2ErWE55NTBrVWdYQUVhUXgxTUxhbUdSaDBKTEZ6Q1VT?=
 =?utf-8?B?N0w3VzBRSytHWlhWdEszbmJwQlV3ZVZjUkp5R2JwbFdJUXh3UVowd2lVQXc3?=
 =?utf-8?B?NXhjL2pLUmt3akdjRTNEbGYvN1hHOWZLVnJZclIrZHpObkRzV05nNXFKVzVR?=
 =?utf-8?B?ZDh4RzBwaDNJcklRWUZUbGMvTllJOVJxNjhDN0U5djQ2MlB2TExmclBhSHlI?=
 =?utf-8?B?U2tva3Y5T2J1S3I0TG53d3hLZDZhbVd2bmNZSzZpK1d5elg5QndJMWpxRHQz?=
 =?utf-8?B?Ky94djdSMXloR1BhamtRcDFvUkcxSmUvWnlOZDZ5TFU4dy9IaENkTVk4RDI4?=
 =?utf-8?B?WUlQLy9CdlMrZC9xeS9Bd0ErQXRLU1FOZXVMc2h2KzZCRCtnWit5aDh4NUY1?=
 =?utf-8?B?WmZpdDJNMmh1dmtRUlhmdlMwT2grLzB6cjdaeWxETkVReWpZWGtFQkgrY0dz?=
 =?utf-8?B?MWlZVjN1YVB0RlJlaUE1bU95TkpXNjBnM3VlaVNkdWZIcDdQbHJpSk1SeGQw?=
 =?utf-8?B?d1NXNFRMZTl0YVJhZFgxTG9yTWVOY1Q5SDFUR0lqREhFRjl2dlRpaU9Ld3ZZ?=
 =?utf-8?B?aFM2VDlDZmdKTG9PRGJsemovbzhUU0xuWGNMaUlrVFZnaWY2cmJ6eGFyWHFk?=
 =?utf-8?Q?xM/Y=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa2b7bcb-4183-440f-5315-08dd620cdab6
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 08:55:50.6572
 (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: AcQ2aRg+2Jx0R4s7SOfcOwbSO+ABvQAZGz4BvmAgkIr/bsjtcft9HcVES5gct+oz
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5994



On 13/03/2025 09:48, Orzel, Michal wrote:
> 
> 
> On 12/03/2025 14:52, Luca Fancellu wrote:
>>
>>
>> From: Penny Zheng <Penny.Zheng@arm.com>
>>
>> virt_to_maddr and maddr_to_virt are used widely in Xen code. So
>> even there is no VMSA in MPU system, we keep the interface in MPU to
>> don't change the existing common code.
>>
>> In order to do that, move the virt_to_maddr() definition to mmu/mm.h,
>> instead for maddr_to_virt() it's more difficult to isolate it under mmu/
>> so it will be protected by #ifdef CONFIG_MMU.
> I don't understand this rationale. I did a quick test and moving maddr_to_virt
> to mmu/mm.h works just fine.
Ignore this comment. I was not right.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:00:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:00:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911556.1317969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseQB-0001vS-7i; Thu, 13 Mar 2025 09:00:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911556.1317969; Thu, 13 Mar 2025 09:00: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 1tseQB-0001vK-1h; Thu, 13 Mar 2025 09:00:07 +0000
Received: by outflank-mailman (input) for mailman id 911556;
 Thu, 13 Mar 2025 09:00: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tseQA-0001pm-6u
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:00:06 +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 8d815a30-ffe9-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 10:00:04 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so3915445e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:00:04 -0700 (PDT)
Received: from [10.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-43d188b6d48sm13162775e9.9.2025.03.13.02.00.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02: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: 8d815a30-ffe9-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741856403; x=1742461203; 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=KweaQvLI/SaeaKVhvDS3nZ+h6KVKXNtoM06/6+alpOQ=;
        b=gugBByk22TMbmwwLoBitNEonsyKskUlEVJmiI9QcbFoXO+ieef3YpAOnIpzZZFriyS
         rTUr2FZE5+QCc9oBrpv5bnvslb2L/7dhkHypufroCrZjCEeGRlIrom69b/ULOAtTE9PL
         H4fZ88d+CjTLeVh4eygZRxV3xHuxZgRtQ4M6Ps0fjrgzZnbqYB161L2XhBcaJxeB2Eut
         8hPcm8lRjUEii8bqXwF+0YsfWU0cTkyPrQ6XZZANz9YRj1IOFDvk2HM8VCSA4Mbji2RE
         MuxVci2G8Wru+92hqUMgRFNHsanJz0IrRxPfviU0fgSXNfXr9n3c3ChSgS7+rYqjc+mT
         M7iQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741856403; x=1742461203;
        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=KweaQvLI/SaeaKVhvDS3nZ+h6KVKXNtoM06/6+alpOQ=;
        b=piILHnbBNDsiC08dZc8l1SWSZmSSN7xK/YOG5OouFuPMp9lHSL1+Kh4lhNEd4Pt02/
         N8o2fM4DYAAr/z2VgBOwjS0FLVD8w3SLgtjoDcuX1VK4/blvyU4oKNjPqdFanhj9i/17
         ylzWejL8zwOQjRC5FxLWr4xaXCdSLn1pJWcknmv6erlDVgBn84Vd6BclYBOzbD7+OHz8
         OSA3WPvjqVBXgw5qx1QDx2tXFVoNMH4W5sVw448BhMoCHFH7q+dqg2ZfF7z+EErYDTrA
         x6fuMUYkdew51mhouLcgG1mi/WSV/JL+VpmAqr9gU5qTnWOR5mBJRrTaYsXOuOXYf+dL
         0SDw==
X-Forwarded-Encrypted: i=1; AJvYcCWcqEVE1IRps2sGsOKfDhD0DtIMYcTIvuE0zwUg4A0wMeIvdoU1jcL6aDp9M+hzr8i3g9O3qOttiXs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/rZ1M8eA9bPkk5Ib8vX/ngKWZgUMQNVR9suTBrP+oRPiIZsxW
	nhNDyjr9GNMpPyXYc0p9eSGRMpfXSJwGzbIl5db7nrh7hBv3fpl8zkClw4tQiw==
X-Gm-Gg: ASbGncsnTLIJWp0Z0bSvxTk6e0xVHSa2Mt68UbC119ujOTIh6Sexri7zET+pAkMg0/7
	97adaKHshCYjdRUa5Rj00NSr7uPHK+uhQtQCimGIznWl98+Ee6iZ6ymfYds78rL2wkveiUzRjZt
	bo7DtVx9jU0a+NHUZ9ghov1sCESEjlQihRqqb5otsMtd5UaIuxJtZNJPIOmYUWOWhm0iodXStcj
	u2Nt+woM3aLcg3EJ3h1AnlM118WgpgTeWMuqje+7HwMAywWRYh0Dxv01E8aOHa4HLyhm+QvKsMK
	sFJtZU15O+VtxOwTIEkNKIaxHG5xDyjs5g/1/mB6ZAGEGk9jXofbnwsGBoNzsJnQeGdTbNdbWOQ
	oXGKSg4R+Y5o5WIq7DVG+Y0TWssLc9w==
X-Google-Smtp-Source: AGHT+IE+Wub/LOuCuQ9ayODwifh4Rg8db8etaGWAVCwEeYZalleKvuJnYED9UhjrKKkCnAFSGo/biA==
X-Received: by 2002:a05:600c:510e:b0:43d:683:8caa with SMTP id 5b1f17b1804b1-43d068397bemr74588425e9.15.1741856403556;
        Thu, 13 Mar 2025 02:00:03 -0700 (PDT)
Message-ID: <c084d064-6478-443b-a508-10a31568e4cf@suse.com>
Date: Thu, 13 Mar 2025 10:00:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-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: <20250312040632.2853485-16-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -15,6 +15,7 @@
>  #include <asm/arm64/sve.h>
>  #include <public/sysctl.h>
>  
> +#ifdef CONFIG_SYSCTL
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
> @@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>      pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>                                         XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>  }
> +#endif

This is being removed again in patch 18. Can we try to avoid such back and forth,
if at all possible?

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -581,6 +581,8 @@ out:
>      return ret;
>  }
>  
> +#ifdef CONFIG_SYSCTL
> +static unsigned long avail_domheap_pages(void);

Instead of this, ...

> @@ -2796,12 +2799,14 @@ unsigned long avail_domheap_pages_region(
>      return avail_heap_pages(zone_lo, zone_hi, node);
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static unsigned long avail_domheap_pages(void)
>  {
>      return avail_heap_pages(MEMZONE_XEN + 1,
>                              NR_ZONES - 1,
>                              -1);
>  }
> +#endif

... can this be moved up please? Then also reducing the number of #ifdef-s?
Arguably avail_domheap_pages() could be inlined into its sole caller. That
might then be a legitimate replacement for patch 14, without breaking the
build.

> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -131,7 +131,12 @@ int populate_pt_range(unsigned long virt, unsigned long nr_mfns);
>  unsigned long __must_check domain_adjust_tot_pages(struct domain *d,
>      long pages);
>  int domain_set_outstanding_pages(struct domain *d, unsigned long pages);
> +#ifdef CONFIG_SYSCTL
>  void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages);
> +#else
> +static inline void get_outstanding_claims(uint64_t *free_pages,
> +                                          uint64_t *outstanding_pages) {}

This isn't a valid stub: Both arguments point to outputs. As it stands the
function now requires the caller to clear respective fields/variables up
front.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:04:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:04:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911567.1317977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseU2-00043y-Ku; Thu, 13 Mar 2025 09:04:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911567.1317977; Thu, 13 Mar 2025 09:04: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 1tseU2-00043r-HS; Thu, 13 Mar 2025 09:04:06 +0000
Received: by outflank-mailman (input) for mailman id 911567;
 Thu, 13 Mar 2025 09:04: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tseU1-00040S-Pf
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:04:05 +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 1cf72aac-ffea-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:04:04 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-394780e98easo435232f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:04:04 -0700 (PDT)
Received: from [10.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-395c8975ae2sm1444798f8f.51.2025.03.13.02.04.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02:04: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: 1cf72aac-ffea-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741856644; x=1742461444; 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=QLb9SvDcJYcYI9npm3qVyxvtMdC1ronRdPgBMppdVjI=;
        b=KnV2/3wnMHZka4D+6ujks+1urGw7JRBxMS03KOa+pjud8w9uV72AGuQ2FIKz19bH1V
         QRdF+O7DrvbMkSffLfSla4MYj3BVVFntgo8YwlNvA7GroDyqSfTawABe7+uKpKQnj7iA
         JePhd3st7PQGCaP2ttKi7PD2h4W2C5lbMrZWjutjlR8vhTGTUUlS19kexN3cXuzRFapK
         VkzjMfYWYl2TrSCarLrt0viXC50GCZI+Q56f4gAcBv3tS8s9k71tuz+2lAvIo3B83CXb
         Ln2PGQS1dm0ARgXsfGQapBLUIErTGPixS9pRmXlgFVHflaaCQIQZS9xke8wLbGNyACQg
         qY3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741856644; x=1742461444;
        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=QLb9SvDcJYcYI9npm3qVyxvtMdC1ronRdPgBMppdVjI=;
        b=l0NaX4UUxmKlar5/6x7oLtrmm4dx2orpYSOLtOVgD6VvvF/TsmqAUqSwFS4QGk2dMU
         dyL4J8zq21hR8tjUpnUqOcONFk5embLlKY6Qnwa6RLBJ1aJCkQom8I5UbY5cPyxGpzpP
         X7V0NrGwocv2PdhdO6HULgbbUMEsSyIgoL/q5a08kuriiKPQy1YO2uoEbXneUxV8wcEJ
         tQNuREtf17UyWJAcYii3djW+HEcY6CZ7McJmh9pdYUyF+eVvCeWlwB4e+LP+3FWUwuoF
         3GaNDt0PYub87YQEZ6/F4rHTDieRDzJHn4huuyEQxALVMtqF66XUHHWk7yWF8W4eOtXw
         GQoQ==
X-Forwarded-Encrypted: i=1; AJvYcCWoB+t3nFA8zvX+qcm9ZSA7CGpC6U9tHPxrXTospyOHjHIydGykvbmurwyYutgVxqnmTN2u0aFTgYw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJxgp+CMfgnxGbJMkwJqwePB1uUOYycg7pGxpZ0nmigrbastO/
	VuXvVXhG8Zutm03B6m5ztIi1PTtOFcLf+tYT3IxUb4jWJd3xE0YxOyNID1KsuQ==
X-Gm-Gg: ASbGncumYceW5VQj8cRM2UhunwwkXhvNA8GJHczXJan5yOPfHoA4HRCLaLeuyjLVcg9
	EhS+0UDJUv5NMBoI4aKCmQMuxAp3ozkhHXYPHGf96C1rRh6pQqVThSUrTDgjnbaWGmTQILSUNwS
	fan7ORn7C+STpg2nDHn156VGtqCNVz8mGbYt+e7rBv6N1PaVkDmS7yJzekTsVrqI+ekoW/p6B5l
	Zum9BHDprjzlZH4ZnYy7lH3EjTCtmRqonBteRuc+V5oU+X2HdCpN3DsKgy9RudDRK/BeSraXa7Z
	1Xl5wiUEykZCwrO9vl3Nbv2/+8xMlhzmMN+BTFHSila+pMrt10/noAHLjcIEERiKhKxyrCEqcYd
	4vZcymI2mCC46gdQ90tq/IBGYawKPqQ==
X-Google-Smtp-Source: AGHT+IGE8hpuITFsDl0yfkhJ26cQ5sdvI55EyWWvJyr/MZA2TjyqWyqPEngIN741pjrCrfktok3gQg==
X-Received: by 2002:a5d:5f8c:0:b0:391:22e2:cd21 with SMTP id ffacd0b85a97d-39132dc547emr16806654f8f.36.1741856644128;
        Thu, 13 Mar 2025 02:04:04 -0700 (PDT)
Message-ID: <59587bc6-a72f-48c1-a6bc-f026bff4c437@suse.com>
Date: Thu, 13 Mar 2025 10:04:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 17/19] xen/sysctl: wrap around XEN_SYSCTL_livepatch_op
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-18-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: <20250312040632.2853485-18-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> LIVEPATCH mechanism relies on LIVEPATCH_SYSCTL hypercall, so CONFIG_LIVEPATCH
> shall depend on CONFIG_SYSCTL
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/common/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index fbaca097ff..583972f7e3 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -426,7 +426,7 @@ config CRYPTO
>  config LIVEPATCH
>  	bool "Live patching support"
>  	default X86
> -	depends on "$(XEN_HAS_BUILD_ID)" = "y"
> +	depends on "$(XEN_HAS_BUILD_ID)" = "y" && SYSCTL
>  	select CC_SPLIT_SECTIONS
>  	help
>  	  Allows a running Xen hypervisor to be dynamically patched using

Here and in the previous patch the title doesn't really describe what's being
done. Earlier in the series such changes are titled "xen/...: make
CONFIG_... depend on CONFIG_SYSCTL". Whereas "wrap around ..." patches add
#ifdef-ary.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:04:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:04:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911578.1317987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseUY-0004hh-Sg; Thu, 13 Mar 2025 09:04:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911578.1317987; Thu, 13 Mar 2025 09:04: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 1tseUY-0004ha-Py; Thu, 13 Mar 2025 09:04:38 +0000
Received: by outflank-mailman (input) for mailman id 911578;
 Thu, 13 Mar 2025 09:04: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=CkET=WA=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tseUX-0004NM-By
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:04:37 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2614::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ede0d7d-ffea-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 10:04:34 +0100 (CET)
Received: from DB8PR06CA0012.eurprd06.prod.outlook.com (2603:10a6:10:100::25)
 by DU5PR08MB10823.eurprd08.prod.outlook.com (2603:10a6:10:528::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 09:04:31 +0000
Received: from DU2PEPF00028D05.eurprd03.prod.outlook.com
 (2603:10a6:10:100:cafe::73) by DB8PR06CA0012.outlook.office365.com
 (2603:10a6:10:100::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 09:04:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D05.mail.protection.outlook.com (10.167.242.165) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 13 Mar 2025 09:04:29 +0000
Received: ("Tessian outbound ae00a21450c4:v585");
 Thu, 13 Mar 2025 09:04:29 +0000
Received: from L150dd05d8bd2.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 74CE56A1-1F49-4B86-A144-8573E8A57FF4.1; 
 Thu, 13 Mar 2025 09:04:18 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L150dd05d8bd2.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 13 Mar 2025 09:04:18 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com (2603:10a6:803:4d::31)
 by DU2PR08MB10016.eurprd08.prod.outlook.com (2603:10a6:10:49e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 09:04:16 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8]) by VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8%4]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 09:04: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: 2ede0d7d-ffea-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=bHo3e9ppI5Kk355eE5S6tFVDlX+m9JVgHK7lIXAnw8zr6gHzI1QmQb7BpI9mvfrLIa7gl1NqfthB+Xf9rflVk7Dclli76N7Y3gLBp+qQvPQs87uLxyLBBnk9K8d3rP70udnz0l41QR9yO0EfrYTWfbIZmCWpWK446M4aji7v61vig9ZzIldAlMAmoWIg1KqOMSY/EEg2eUheCGdiNEGcnylBwnxLxXoddmHh/gE9moiPE7ayQvfh09y0CQmbUsGoYrKhX91kw2QqG0x3oI9OPOGsrlLHKCkwGwBya+6Jb3IOYX7yr6AiFOsWtT/6AJxr94w0IdM/MPdyEyJdxqyPOA==
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=0IgjZWoCZnEqqL014+mdpXLizAP71/z55Ej1J/F+rvM=;
 b=lSndjbDMb2xhOIy6qusF+78pOfJHu8G43K0xIMBAwkNCAVYwhhy1QfLM3yaiPCiLlVZKF7XcTwxRTWGppdBDQ31dG3WxEbfB790Yvx0QCrWvdgM7lUtOavEVKVXte3PoAcIKAETO0DI3jKn7JIFnRQVMrnCIhLBrZBznpezNaDo+Lgd1pPr+cxZD3erhHIZb1Q7klPyYJ1EonjWid05EzjTozQQyv5N/cXNH9EpHPZ3vmuTA3w1ZXfBFDTPjgt6KgRIFoGf99OffWGNFQQmfLq5SzJ4Za4CYeQkA+tiOEaL4KW6+xU0Qfg34RHqGAz1wulSlTj6OA1XoZiZhfwWgFA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=0IgjZWoCZnEqqL014+mdpXLizAP71/z55Ej1J/F+rvM=;
 b=iP2eWUu6CWz/9t9A6skG/85vwGjdZCBwO5I8JQfdto4DA0aRDPgGa6sqdZ4lZmAZqGbb9Xn8V0G2cD6LLGrkb/sjelFSVpaXY7Ji7K+tIF7Nm4nIO9bwl5JDHkk4OSkxe1qbSnWYB58NSIBN1JMqZoJB04duB+muwcLvPh1reKE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c32522c51aa179e8
X-TessianGatewayMetadata: HNHLghL4bxehPmNA40Vz+W+vPT1EaajWyxiWVZWlm7lwgPzhPvhvIK/aBhOZieeXQtJmOSQ/NKxWzPkv3wmUhxv5dVlNM8GkxIk8olqusM+Q3YW3X6mtEZSre15ZS9xSIBuBVrEeNa6FGaVb+wySM0O/WMxyjZDc42RlInN3SCQ=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ALIukiTdN1b4O13ghCJp1JdwgGrnwLtI4ZFPAH17HeqkOGdGAdtSojxTzOCcvmYAAMsAfzI3tYTOq+gKafr4SOBRJLe2xx+4yg7161Qsb+JyOBy6nSboHqGaGyVuKQFrogoI5ok4PbgIIHrzH5jGoWvdIuDVQfNSOYjcCxw8Wg4VRo2zziEvMHUfQjAnfHuM1lDMJFYKEbq6YxtjkJPa5tS24HeidQ95ng1mv3bZ10yxoWCOws0ukAYWU89HphN/1sA7j7KeTNW/a6Mf5tQaAi89vP6hPvVqRVDqs+wazEx24FeMlsHbqBdOqJTZklEd0yP4b2sxFZELdOFQNLIzxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0IgjZWoCZnEqqL014+mdpXLizAP71/z55Ej1J/F+rvM=;
 b=ookppOg6QpHxVI6hrBRRhFMNOzQkMqKEz/OiFPRrkJIgwwSZ7efMoMTILJdEHfqMo1aquBQu9q5l8+a7G/jU6d8K1T5flaSOc5spzkZQeED3cV8tuTqeWtrSKUTRpau+1WfzBDYK8e4gTWOYFlqcPYQXr6rx+FSwvROIMblrL9IAbhzcC7vIxawKj9T09b2/qeDUoGtoh02Sp9HOg+UD5GtPUvgYnAMBFIprcGBeN8IcxwTc2cfeBA2+yamNc0Oug39FQf/rcZcifIUi+u/VDlMBXHOaMtp+la5c2oQ2AfNJxDmdg0liuW2K20BP8tFxBAL+BBxyWutARSJTjtXR0g==
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=0IgjZWoCZnEqqL014+mdpXLizAP71/z55Ej1J/F+rvM=;
 b=iP2eWUu6CWz/9t9A6skG/85vwGjdZCBwO5I8JQfdto4DA0aRDPgGa6sqdZ4lZmAZqGbb9Xn8V0G2cD6LLGrkb/sjelFSVpaXY7Ji7K+tIF7Nm4nIO9bwl5JDHkk4OSkxe1qbSnWYB58NSIBN1JMqZoJB04duB+muwcLvPh1reKE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Penny
 Zheng <Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU
 system
Thread-Topic: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU
 system
Thread-Index: AQHbk1YjhSQHkM+61ES2Vr9M1l81tLNwwpUAgAAEWIA=
Date: Thu, 13 Mar 2025 09:04:15 +0000
Message-ID: <8187117A-5463-494C-B401-5D8B73634DFC@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-5-luca.fancellu@arm.com>
 <f16ff8ff-6d9f-4763-914c-4ada8d7ecee4@amd.com>
In-Reply-To: <f16ff8ff-6d9f-4763-914c-4ada8d7ecee4@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	VI1PR08MB2989:EE_|DU2PR08MB10016:EE_|DU2PEPF00028D05:EE_|DU5PR08MB10823:EE_
X-MS-Office365-Filtering-Correlation-Id: b8572b12-10f6-4e22-1bba-08dd620e1032
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?cFRBKytQQkFscklDMG5HK21oaVVsWjdUWnlwblRlWjRDM1ZmUGRreWREdGhp?=
 =?utf-8?B?T1NIdnQ5OEduV0llbm10emszUVRoN0U4dzBZT3lwSVU1MWQzK285Z1BMMEx2?=
 =?utf-8?B?bXRpalJscWxwMDQySDR4NDZnVGVYamZoSUY3dGYzN0d5cEhHRXQrWHBmV3Fw?=
 =?utf-8?B?bWxBRWFvK2lyZmMxM2Y4SFp3TzFNWm80WjlmZllxUWc2aGFnZkY0Z09qdWVY?=
 =?utf-8?B?b2xNR1lyczE4S1QyL1AxMExuRGRyUnNiZCtkUDh1b0xUV1VCUzh6OSs0UkY5?=
 =?utf-8?B?M0hsVkE3YnhLZ0JPWWpCdDBQcktmcVgxbEw5T3FVMUE1RDVwUjBKVFZlaVVK?=
 =?utf-8?B?YU9hU1QvKzNienJrMi9MUTRQNlc1a1BmUHZ1K25IeEZkSkcvSW1Ha3RCVkVj?=
 =?utf-8?B?UGZNK1ZJc1JQaEVYY2doRlBQM0trQWRMTVF2QmJNV0QyUVF4RVVIQ3pHOFl5?=
 =?utf-8?B?dHJCcnoyRTd4Q3VMaVQyZUZxM3lZbDV3dGdnSkY2QkR6TFpseHRGRHdLYjNs?=
 =?utf-8?B?OXpMNXVRWVBOWGVCMkRNa2E0UTFLdm9CaWtHdmNnN0E2RHErQi9tZDZ2TG5C?=
 =?utf-8?B?dGRuUTFheXIwV3ZTbDdSVXZLdy9SYkJtU0V0dWxHbmY5K3NsUThrcGZDVDhx?=
 =?utf-8?B?MUR2YWpRTEJSZWZDL2RHNTZOWXBjVFRNdDg1NzlMdG1DTExpYU4xaHdWdWdP?=
 =?utf-8?B?NFJPRHdRMUlqLzdBUzdvc1JzNVdyUnNBVjF2NU1hWEcyMGFVNnN2MWlnc250?=
 =?utf-8?B?SHVZcWhMVDZ3akdmMDJtVW1nRWdtYnlNdFBxSWtuQVZEMDZneHNhRTJRUFRu?=
 =?utf-8?B?WXY4dnRJMXB2NmxWN01lNEtlYWJwVVNaRVUySkpWQmRQMUl2Q0h5M1Y3WWtY?=
 =?utf-8?B?bnRLb0VhRjh1K0FadlNKbmVGdC85bXdOUjNMVjBPNEp2aW1yZEF6amRsSlRT?=
 =?utf-8?B?K2oxN1Y2Y0g4WWtOaUN4RXQ5cVVQTWxkTXFhME96Qk1lN2hxSFI0MCtGU2s4?=
 =?utf-8?B?RTNKbTU4bDdqZy91Um9MNGRPeGRBSmN6clp5N0FTUU5ObjNLTzhVa3NVN1ph?=
 =?utf-8?B?NXVWNGpSVXEvM3dVTjIxbE5jZUlGTWkwYVRzNHZyTWVxejN6MGFCQ2U4aW05?=
 =?utf-8?B?RnlHbVlhcVBHWmpRdnRjYld1VkxRYTVuUFVmVWs5NjFjSWVYcnpvcG1rakxI?=
 =?utf-8?B?ajRtRUJkL2QxZ2ZTS2lSbms4L0JZbTY2QS9ldXl3SGttaFNqRXNhTGZpTXJG?=
 =?utf-8?B?aFNsaVoxQ25wcFJ2c1M0ZFJ2bzlIR2xBbXB0ampQeWdlL0c5K0FpSzR4WENR?=
 =?utf-8?B?NmZZTGp6NXdjRUxZNlc5WGVZREptQTVSdHhHdmdnS291dFU5aHV6OGlyMGtz?=
 =?utf-8?B?WGQzQitkeUZlT3NIVmgyUFErR283b2gyT1A2QVVobjhYbTdYYkI2TDlTTk5F?=
 =?utf-8?B?OEhJc3VaRHBjcGMxZldCbmM2b3lFYWE4QjE3VWp2MTdlZjRjZ1VxNmJyTTV4?=
 =?utf-8?B?b3BwRjZjYUt3TWdlcVBxMGFsRVU5VjVpbGpXN1NIcjBaRjNNM2pIbmtSMmJo?=
 =?utf-8?B?bHBYb3R5OWFhTG1jNTlFRXVDQkprWDFiZU1PSWxOL2I3T0tId3d5UHJrM0xS?=
 =?utf-8?B?cVMrLzRFc3F5VW5Nb3pKT2lCMXlWaGpQUDFUeGsvNE1QamdOM21Ta2dhK3JD?=
 =?utf-8?B?R0lxY0kwT0lSQ0J4TVpGR2NoUW0vVnFFbDhyaENhc2dGS2NIWnoxMXRleHJn?=
 =?utf-8?B?MGhjOHB5SFEyb3J1ZytoSXo1cHpHMTRCUEVyQjlYQ3plYkNISlFQY1d2ZStz?=
 =?utf-8?B?NWwrTTZCQ2hpM3RUUVc5T2I4eEUxYWtoNk5sc2RWZzg0QXREdjdyKy9SaVd0?=
 =?utf-8?B?eXB6bUdGdzJna0wxL2k1anl1bmQwdm84RGtzc3RvaFFDYzYxcU9OV2Z4Z1dP?=
 =?utf-8?Q?nRTFAf/JaNfPqcj3O9InJcuW7LqT6EbA?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB2989.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <BE1FBD967ABF5C44BC37706AB0932B3B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB10016
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:803:4d::31];domain=VI1PR08MB2989.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D05.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6caff389-f83a-49bf-0024-08dd620e0775
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|14060799003|1800799024|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eUVJa2dJalE4OTB3aHVNdkJYbHpYSGlFaytEYS9USzM2YkNhMysyUThqU0xS?=
 =?utf-8?B?WXhZNFhYdks4QzdjenJaMGd5Z09POGsreUVGa3FuMDB5dk9jRXFNVEJJUEFS?=
 =?utf-8?B?dEZ5Z1FyZWtLTGpRbnhsQ2lUa2UzZ2ZTRHhpTHloYWlCdzh1VTUvYkJRWDdz?=
 =?utf-8?B?c1plcGdCakp1b0Y3cWh4SHEvK2lJbjQ5Zmp4VWI5RUo5UzRhK3B1dXVSYVFK?=
 =?utf-8?B?L1NnM3R5KzBvNlQ2SzNweFJ6Tm9kTmdUWXFlYlUvQTQxd2UzYWtScVByQ1Vv?=
 =?utf-8?B?TXBDQ0JVZW8yalN2RXBqbXgxVXk4VnpCSjRQcEhHM3VldEVocnRNWW9iWW9i?=
 =?utf-8?B?ZDRpMHM3djFWdmoyRTlYR2pTTkhQRElnNmZSTFBhVERMSVA5SEttWFV6QmZK?=
 =?utf-8?B?cEVVYXF4b2pUbitHR0JJbG1ZelUrWk1DMmRJeWltRW0ybmYwSkIwd2ZyK1FQ?=
 =?utf-8?B?RXhiRjgwQlhIeE8vMXlQQUFXM01aT3prMUl6c254RVZZVmZyU3pkb2FyVE01?=
 =?utf-8?B?a3luSDVXU1doQ0cxNVVUeEEwelVWR2RGM0tNTHRIZGlRd21BbFpCVlNHeFda?=
 =?utf-8?B?bFY4a3NjcUkzRFJRZ0lac0Q5cVp4c2oyTnVOdUwxQ09CS1FnTUFCU2pQb2JB?=
 =?utf-8?B?blZTaXhZVlNtLzhvd21ZQXg4cHBhR2g1RTRRbnA2QlJQSU01OUZHekNPK3Zh?=
 =?utf-8?B?UVdsSURoUWc0eDR1aVE0SXd1VDk1Vk5PUDk4YitPR1d6VVdJcFNYWEJISGtD?=
 =?utf-8?B?cm0zWTlNWkp2Y0xWcWRDV2gyVCt2QXQrVHc5WUozbXJJeUFETHdmcFRIMDFU?=
 =?utf-8?B?dVhKNzVsV2xhRmxPQnZJZUpXVS9IcHQrR3Evdmdrd0EwVXh5OGthajY1cElo?=
 =?utf-8?B?TDVuODM0LzEyT2dqOEJPTG10aEV4UGM5TWlyMzg5SVlnZUJ3YmJyWmZ4KzJK?=
 =?utf-8?B?OFdPWVpUSFBJSUgwNGNuem1sWGZJL21BYWJJR1FyYmpQaHZkbFVQSTVTTU1y?=
 =?utf-8?B?b3RKVTg3dkNDMTNLWUsveGd4a2hBSXZtNmtQb2RxMFVNZmlWbFJOeXFTc1lR?=
 =?utf-8?B?OEJFdS9leGl3ZWV4ZEcxQ2c0UWhqL1dGeGYva2pQV2VqaXZRa2RJd3U5anBQ?=
 =?utf-8?B?Nk1iVkI5dE9tWDFEMWpEQ2EvV3k4VEVEcG9KMmRIOG4zVmlzLzhrN2tHb3pU?=
 =?utf-8?B?bW9tZHMydDFyR2Q3U3V4di9aZDlWZjBZTmZIWUM2dERVa0VqZHlOMHVQWlVY?=
 =?utf-8?B?NWFTUWNVU2paWWdnY3hrL0NwSUk0eWhiR1o5bFd2VENNRk9OcDl6SUZSd3VV?=
 =?utf-8?B?MytOQTN1ZjA2SmhQSTYwcXBGY0RYcVdHMzFzNHlGMUVQSVo3aWllMWVYSHph?=
 =?utf-8?B?SXczK1doTUJJM2Nrd0RZYlBLWU1BYmFoYWY0Nk1xUUl5UXBJYTNKdDVsd3Rh?=
 =?utf-8?B?eUxnek4yUkRlRkZTVUtzNHdKakpxbFNJNC85RXZzbGkzZWEvbm1ra0F2VVA4?=
 =?utf-8?B?VDk4NmR1aFFHbkdRTGFJQTl6Mi9rbDJ6amZxWjJGekgvUDJVQ0kvclBzdmpl?=
 =?utf-8?B?cjZHaUYwdjN3M2NmQ1VDY0VyY2tMY0l2c3hQcXhBZlU2VlZvaUJQQy9BWTk1?=
 =?utf-8?B?MW0zVUxPWFFNUWVPeUlUbjIwQ3ZQN3JRcnd1dHFCUUFQaVpkNCtUNGFuTEx0?=
 =?utf-8?B?UmtSS1V0L1FNbWZVb0Jad0JnWjYydGJ2b0FHUTRZSUFDa0dMa1NmRXdHYUll?=
 =?utf-8?B?L3IrNS92TzFWVHZ6SWtGMktOZ0dFQ1ZYYTNpbG9vWitSVk9VWXRwZTRsZ3F3?=
 =?utf-8?B?Wm12ZFl5R1R5eWFiczgvUDZBTU9mRkhRbUl6clIxVTNUeHU1ZzFwNnorK0FR?=
 =?utf-8?B?NS9sR1BGTGRXak11RnBEMi9rdDdLSzRBVjdDSzQ3REFFTU5QNnVHenB0cmlI?=
 =?utf-8?B?Ym1hZURtZFJLQndYbXdveGtFeEtRUGZxUndVRUN0T0d3KytON2NSV3oxTG5Q?=
 =?utf-8?Q?8r9qwfzddHSguve9mU2s3VFP71T2ng=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(14060799003)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 09:04:29.7262
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b8572b12-10f6-4e22-1bba-08dd620e1032
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D05.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10823

SGkgTWljaGFsLA0KDQp0aGFua3MgZm9yIHlvdXIgcmV2aWV3LA0KDQo+PiBkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21wdS9tbS5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUv
YXNtL21wdS9tbS5oDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAw
MDAwLi41N2YxZTU1OGZkNDQNCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL3hlbi9hcmNoL2Fy
bS9pbmNsdWRlL2FzbS9tcHUvbW0uaA0KPj4gQEAgLTAsMCArMSwyNyBAQA0KPj4gKy8qIFNQRFgt
TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8NCj4+ICsNCj4+ICsjaWZuZGVmIF9f
QVJNX01QVV9NTV9fDQo+IE1pc3NpbmcgX0g/IFNob3VsZCBiZTogX19BUk1fTVBVX01NX0hfXw0K
PiANCj4+ICsjZGVmaW5lIF9fQVJNX01QVV9NTV9fDQo+PiArDQo+PiArI2luY2x1ZGUgPHhlbi9t
YWNyb3MuaD4NCj4gSSBndWVzcyB5b3UgYWxzbyBuZWVkIHhlbi90eXBlcy5oDQo+IA0KPj4gKw0K
Pj4gKyNkZWZpbmUgdmlydF90b19tYWRkcih2YSkgKHsgIFwNCj4+ICsgICAgKHBhZGRyX3QpdmE7
ICAgICAgICAgICAgICBcDQo+PiArfSkNCj4gV2h5IG11bHRpbGluZT8gQWxzbywgc2hvdWxkbid0
IHdlIHRha2UgUEEgYml0cyBpbnRvIGFjY291bnQ/DQo+IEknZCBpbWFnaW5lOg0KPiAoKHBhZGRy
X3QpKCh2YWRkcl90KSh2YSkgJiBQQUREUl9NQVNLKSkNCj4gDQo+PiArDQo+PiArLyogT24gTVBV
IHN5c3RlbXMgdGhlcmUgaXMgbm8gdHJhbnNsYXRpb24sIG1hID09IHZhLiAqLw0KPj4gK3N0YXRp
YyBpbmxpbmUgdm9pZCAqbWFkZHJfdG9fdmlydChwYWRkcl90IG1hKQ0KPj4gK3sNCj4+ICsgICAg
cmV0dXJuIF9wKG1hKTsNCj4gV2h5IGRvIHdlIG5lZWQgdG8gY2FzdCBwYWRkcl90IHRvIHVuc2ln
bmVkIGxvbmcgYmVmb3JlIGNhc3RpbmcgdG8gdm9pZD8NCj4gV2h5IG5vdDoNCj4gcmV0dXJuICh2
b2lkICopKG1hKTsNCg0KU28gaXQgd2FzIHBvaW50ZWQgb3V0IG9uIGEgcHJldmlvdXMgcmV2aWV3
IHRoYXQgaXTigJlzIG9rIHRvIHVzZSBfcCgpIGluc3RlYWQgb2YgZG9pbmcgc3RyYWlnaHQgdGhl
IGNhc3Q6DQpodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QveGVuLWRldmVsL3Bh
dGNoLzIwMjMwNjI2MDMzNDQzLjI5NDMyNzAtMjktUGVubnkuWmhlbmdAYXJtLmNvbS8jMjU0MDQx
MDUNCg0KcGxlYXNlIGxldCBtZSBrbm93IHlvdXIgdGhvdWdodCBhYm91dCBpdC4NCg0KPiANCj4+
ICt9DQo+PiArDQo+PiArI2VuZGlmIC8qIF9fQVJNX01QVV9NTV9fICovDQo+IF9fQVJNX01QVV9N
TV9IX18NCj4gDQoNCknigJlsbCBmaXggYWxsIHRoZSBvdGhlciBwb2ludHMgeW91IG1lbnRpb25l
ZC4NCg0KQ2hlZXJzLA0KTHVjYQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:05:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911591.1317998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseVM-0005HY-8l; Thu, 13 Mar 2025 09:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911591.1317998; Thu, 13 Mar 2025 09:05: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 1tseVM-0005HR-5Q; Thu, 13 Mar 2025 09:05:28 +0000
Received: by outflank-mailman (input) for mailman id 911591;
 Thu, 13 Mar 2025 09:05: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tseVK-00040S-At
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:05:26 +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 4d58c110-ffea-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:05:25 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso4585335e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:05: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-43d0a731265sm46589365e9.4.2025.03.13.02.05.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02:05: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: 4d58c110-ffea-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741856725; x=1742461525; 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=WTbqYx9/UaIIRfSOkrKPuMU1yypooXdUfBRHwR/ywhA=;
        b=b5p7BTaRjwVa8iq6CWjrW29weUXbQGNMwjwG1EKlvO/8RnV4bTXuwQnWEwTNgYNsI3
         JMR8W3iEv+5fbPCSK4UgZR98Wgl48nV95FVTPCkUAgTzyxxT4POHyDUl6TAVg2c/D/yc
         9ViBVlLZ6bHkO5+C19roXj8xURW9SpB2yt0RPvXpfrPC0H++T0A17Pr25UxFJDZ4QHop
         g7iuTGYEhH3DAH4ppkyyKnFieZaFCxjrrcqz2Sl6O8A++NVLGC1WhO6L+D8QVZJpyqoe
         khGd6LJ9blW20fXTq1RKblt7tcSU2UGUluFpTqYB5lW3u5Qv7gC/0aHuABAOgwJhHAdW
         S8CQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741856725; x=1742461525;
        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=WTbqYx9/UaIIRfSOkrKPuMU1yypooXdUfBRHwR/ywhA=;
        b=EyxQyINfYhELC66ds0f3pgW1R4NaslXxUsDEx/3TOUgQi/v3IQKZ2j8hpvSnPzRy4I
         DwMGSVFRbLN7DFMgGCYWxCQa5aF4ZW/stYndCunUkTqbEk7+ppal7YwmdE3u69YR5lio
         yIlXm8JBvDRnCpMuyprxCUE50CFtIU5AOppIeJdFWIe+dtD6sY1gJw4Tw1rFDGbb01A2
         yhOtCwUAC7NjrRq6rrX9Kxz7mbYLIHLe4N7nN2jEKU6w+mN05gWbaUClMDTY4CSsHYSG
         mRnk03z68v+IqC3thLHVkyYuO0qSHT3JGA8sdxvFo2yVwdJ/sj+RJerNN9kyPAVifyl4
         SPNQ==
X-Gm-Message-State: AOJu0Yy03q7NIWYUvrxaxVaniUkaKg65YU28q0LFu5khQXMRH68u6mt1
	fzLnJbWR719JcOnQEbNvWeiPKnyNT9nSuRanNH/ToJHP2NksJ0aOWrrcMOHGFg==
X-Gm-Gg: ASbGncsLE7uYT223LOLrVSVsTNNjNDnyDBMeKXYjHfsi4MpouXSxu+WWA7t2NIZofMh
	3sIJQge1Jqyv6Os8RcGL6eXAKiwL49uaanm2EynF+Dts+ESdhrOYuXgoNAitJkdeAb5ipABKKyC
	uhODvQ5Xh9heibh7Sd4qaVEGIhRofYVaHMNwXzmUIFN6Al2kHDCPxAQ/vFxEY0/6lRB1qschM6o
	oE7eOKZ7Ikx9LdIlCfSlwjYut5/DFuYv5oQNMm7dnpbUbv8ynjxwWdColGnA6yKS/fDMFOcxlFS
	hNNBAQflHy9xIgdNExZQznzg0WicdCfcVaIVljxogv/NdT0RyiBZnEMU5Y6bEN/otv9IRP3IsyW
	tM02G3rp+5xdO7wLRSs6nWm0U3YDRVAL6zvJYau5Z
X-Google-Smtp-Source: AGHT+IGvtW4VlwjPVOqceHRQU6R/wQWjgtXoRQihs1Lyy9/v9u3k7LXf94ufIeGnHhnaqC3C7bTqxg==
X-Received: by 2002:a05:600c:3b1a:b0:43b:c857:e9d7 with SMTP id 5b1f17b1804b1-43d180720e8mr10118125e9.5.1741856725278;
        Thu, 13 Mar 2025 02:05:25 -0700 (PDT)
Message-ID: <4336a7e3-0593-411c-8e4c-b582baca7979@suse.com>
Date: Thu, 13 Mar 2025 10:05:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, ray.huang@amd.com,
 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Penny Zheng <Penny.Zheng@amd.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-19-Penny.Zheng@amd.com>
 <alpine.DEB.2.22.394.2503121643380.3477110@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.2503121643380.3477110@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 00:44, Stefano Stabellini wrote:
> On Wed, 12 Mar 2025, Penny Zheng wrote:
>> --- a/xen/arch/arm/Makefile
>> +++ b/xen/arch/arm/Makefile
>> @@ -54,7 +54,7 @@ obj-y += smpboot.o
>>  obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
>>  obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
>>  obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
>> -obj-y += sysctl.o
>> +obj-$(CONFIG_SYSCTL) += sysctl.o

This is ...

>> --- a/xen/arch/arm/sysctl.c
>> +++ b/xen/arch/arm/sysctl.c
>> @@ -15,7 +15,6 @@
>>  #include <asm/arm64/sve.h>
>>  #include <public/sysctl.h>
>>  
>> -#ifdef CONFIG_SYSCTL
> 
> Why remove CONFIG_SYSCTL here?

... the answer to this question.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:09:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:09:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911602.1318008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseZa-0005v1-OJ; Thu, 13 Mar 2025 09:09:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911602.1318008; Thu, 13 Mar 2025 09:09: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 1tseZa-0005uu-LR; Thu, 13 Mar 2025 09:09:50 +0000
Received: by outflank-mailman (input) for mailman id 911602;
 Thu, 13 Mar 2025 09:09:49 +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 1tseZY-0005um-Vq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:09:48 +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 1tseZY-000eny-2q;
 Thu, 13 Mar 2025 09:09:48 +0000
Received: from [2a02:8012:3a1:0:f06b:e0c6:4c54:6a31]
 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 1tseZY-008RAh-1Y;
 Thu, 13 Mar 2025 09:09: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>
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=Wq3du6Y6s7sCcH4ejFzU9KjzWJfzWzroFe8RpT9v6Bg=; b=i3suX4vFvI6xW5PnQK5daE4DEL
	YxDYO354XLOnZgbRQEw67MtCt19KZvNdvqey9RftqruRGkLfJZ21UYb86u0fvJk52WXd5KMytNZjZ
	KzZjdIReTp2wFisnmqDb5DGTFwUj+8P3TIb7vaLjU0BmPzpKFxhYUVR7VCu8dazufc+A=;
Message-ID: <d436ecbd-3f8f-4610-95da-3c9868713f4a@xen.org>
Date: Thu, 13 Mar 2025 09:09:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU
 system
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-5-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250312135258.1815706-5-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 12/03/2025 13:52, Luca Fancellu wrote:
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> virt_to_maddr and maddr_to_virt are used widely in Xen code. So
> even there is no VMSA in MPU system, we keep the interface in MPU to
> don't change the existing common code.

Typo: I think you mean "to avoid changing".

> 
> In order to do that, move the virt_to_maddr() definition to mmu/mm.h,
> instead for maddr_to_virt() it's more difficult to isolate it under mmu/
> so it will be protected by #ifdef CONFIG_MMU.

I think defining maddr_to_virt() in asm/mm.h for the MMU but not the MPU 
is a bit odd. Can you provide more details on the exact issue?

And if it really can't be solved, then I would rather prefer if both 
virt_to_maddr() and maddr_to_virt() are defined in asm/mm.h for both the 
MPU and MMU because they are related to each other.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:10:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911613.1318018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseaW-0007Kk-0n; Thu, 13 Mar 2025 09:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911613.1318018; Thu, 13 Mar 2025 09:10: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 1tseaV-0007Kd-UM; Thu, 13 Mar 2025 09:10:47 +0000
Received: by outflank-mailman (input) for mailman id 911613;
 Thu, 13 Mar 2025 09:10: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tseaU-0007K2-N1
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:10:46 +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 0b8b184d-ffeb-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 10:10:45 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43d04ea9d9aso4085515e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:10: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
 5b1f17b1804b1-43d188b7185sm13681145e9.12.2025.03.13.02.10.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02:10: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: 0b8b184d-ffeb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741857044; x=1742461844; 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=53CzS23HEyiVmdNxXajEdr4I3hBXvBaw7lUMEh9hCLc=;
        b=GzYZlwSkC/F4zKd6FvqO7RtzfPjEgH/ub9JuT/ENwjSkgyHeQ3k8SJWVtBC/AdgHq7
         Jbi60oA3HJXHxNIDZ09m2XtTr/nirE5q/8rM58c8jjyZysydkPkFBGzTHVv9RTgf5azg
         9jv2FwYA1tc+wgH8dgFl23NaNQVYUYvNR77h4YR2fEM1xp8Ez6gIVk1pqisYx/aPxETK
         Wiz+Ffy/q6+UjrUlYP1unW5/DTeR2+40XajFPNc7i+HG3wnWx6YLcmO1j9PwgfqBO2Ut
         9RsUFdGJeBNqMmINqfad3mBxGs1CgnOSx2PTsE2IHmDAQ8myC1Rd50sj3hcikRmm2zUK
         PVOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741857044; x=1742461844;
        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=53CzS23HEyiVmdNxXajEdr4I3hBXvBaw7lUMEh9hCLc=;
        b=h4s3bN1Ym8qCCgE8bpdic2VfiXLPU5LNgAagNCxuGCIldakKlwVJYKfHVOvd1VtR/x
         IJWMPA6R8N2pHuZ0kfkKpeOuO1WhIIZ1ll0yazuUOUu2dOKba+VPtdntGwNNKwXhDXBz
         9FCr2E2kwtfbxvoQZW0gHctyWgO7ZdiTyA5VDd0VVnEog3ZrEQeblzHizw1Y/TsfyRdF
         9QiZZOvZp3Oyk8Ra3KAVT0pBbKDbDdhlP6QZyCn5h8sbObO1WKt1FydUjlPj5lxnt45H
         1VTQXbibrh0D/IPGBn2+0NwxseVH+MoHn00Xz4Nbl0uR47Ef081sxJVQoYMnBQ176b8e
         hFEw==
X-Forwarded-Encrypted: i=1; AJvYcCVRMTm2TyNFSZIlXNF8CIdcgrtdlhG8P+QsCgfwFB6YKWLV0purEqqQNPTbTUfd5vI2RKef8hc5YUA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxMuMnq7B98Nc58FjR/KiAHJYYXVP5tCTSx13Q3rku6z3XEuPR5
	I/bGQGKrCFumWgnZObGJw3dmC3GUWL63dRh72KcxZ6v2FbsnWuk4zi3VECdVNA==
X-Gm-Gg: ASbGnctT7jFFzo0c9Zd/HruyXMGKGRJMmPS87hLEAh9OMy3tFvdH7p9AiWYOqkhYFjG
	RYsp2S6JAbAlP4V2aRo4naOnbBeLgIND+4FOIU3jhD0KDrNR7k9FeK/JDwddlBZxrK/SuDZzr6/
	2GwM9fgpwp6yuDkF+8TOOd1PXtlHPkSzMVSm0SO2D9daUlXR9gyZFKTuJfTOf5ClxZeWg/oHvP2
	i04kRuAcQuM4hfEqsmb/FRMmHIQyD5lNeGTsN/6xObIgxhskz/xHyhH9q5mkWLehqlQ6U9oCPUF
	FYc/JzAKfhTXKEbm/rej/8TQa9Mgcaf3ZeQz+s4o4iOaIdssh8ITVWBhJZ69PPq48O7jfMaWkVn
	9AjiITPkY1y9zN96Pe8nf/A8VQDNuYw==
X-Google-Smtp-Source: AGHT+IF6BflA9qxMOFdmDZBHAYFPhi5CLPjGHxU/NCogm/DP398xiPljFKcW+ZlJy98+uB9+QLM4Ew==
X-Received: by 2002:a05:600c:1d03:b0:43c:eacc:9d68 with SMTP id 5b1f17b1804b1-43ceacca125mr143132025e9.20.1741857044449;
        Thu, 13 Mar 2025 02:10:44 -0700 (PDT)
Message-ID: <7d7accbc-3985-44f1-b931-f4965ac97da5@suse.com>
Date: Thu, 13 Mar 2025 10:10:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/8] xen/elfstructs: Include xen/types.h
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-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: <20250312174513.4075066-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 18:45, Andrew Cooper wrote:
> elfstructs.h needs the stdint.h types.

But then why do you include xen/types.h rather than just xen/stdint.h there?
Instead I guess ...

> --- a/xen/include/xen/elfstructs.h
> +++ b/xen/include/xen/elfstructs.h
> @@ -26,6 +26,11 @@
>   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
>  
> +/* Outside of Xen, the includer must provide stdint.h or equivalent. */
> +#ifdef __XEN__
> +#include <xen/types.h>
> +#endif

#else
#include <stdint.h>

would make sense to add at the same time then.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:11:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911622.1318028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseb5-0007pQ-8M; Thu, 13 Mar 2025 09:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911622.1318028; Thu, 13 Mar 2025 09:11: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 1tseb5-0007pJ-5C; Thu, 13 Mar 2025 09:11:23 +0000
Received: by outflank-mailman (input) for mailman id 911622;
 Thu, 13 Mar 2025 09:11: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tseb3-0007bp-NP
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:11:21 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20608.outbound.protection.outlook.com
 [2a01:111:f403:2414::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20392988-ffeb-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:11:20 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by BL1PR12MB5777.namprd12.prod.outlook.com (2603:10b6:208:390::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Thu, 13 Mar
 2025 09:11:16 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 09:11: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: 20392988-ffeb-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NsJs7oUi48MdyEFkWQjtj6a+8cjwQDo9Lplc7AtXwWGoJoYHLwrAsjPuise4P8mnl54PLCTDezD8BwMuvJHnUyIDEYxdAv7rG6dZe9OTWdJWX5ztYXF7ksSM5wZgqWmVvVmRccnBxqO74CdaoIeI7KL7Vj2uX94oJFC00CstCs1CJIi7CYqZJW/CanieKZDKBgXZeM0XCzprGk+gVb5zJRcO5n4Pb40lVwmIyPiNZ5NYQXIwXwXxtBmH6VMh4EENhyalIYiJpRY67pfCkxB44lEDnIkIesVsqVfUV/mVbsRY5nLUd/hnvSvezWmhasICFUJBaJbJ77V4lxDWIgbL/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=HqK+lSdRDDqo21XTuEup5Wmddt2jvScsxYz6XqeDWK0=;
 b=V9mE+6dbg6zROgmRq2Ufq+HzQaWtLZMV5MGsj13/J0+q214FNgJsmJutKLk00vzM+xDkvFb2rWKXibsgC4a7x42lR48KNGcV9PfAD1uT5Ovt8qg+0+Ae7TP4l5gRLyp+kW+dStuZDyT1Ee/ReobyY7nzGYgU/+vKUhpM5h66dgd+dnOkn9iTQ8SvbKNCgxLGklmfHhoPEzAE5YAID9r1DuVJGe44rm+f7BkuVMy9sEmnEP9PDEoqlpHui9rbOV1+w10K5lYFcLFg/Kd3zkXwwxkXqQdTjhhLgM5rY6fM6aFy8yfR1p/Aj1e4ttOPmbDwSF7oa8OLra8M0tLhtXpxNg==
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=HqK+lSdRDDqo21XTuEup5Wmddt2jvScsxYz6XqeDWK0=;
 b=hPNmMgNV63va8A64g5SzhMvOjLsu22TmVH82mAFFiFTtnRh2y3gZZrx3Ck2deBm/itGd1YPJbOJiPttHQ+Rpae6XhX92fDJ1zgyHsa6JHX5D7o+DGhBpHcinyrRyl0H7na4VPajMA3gyaCNLuDkMpJTKGjMLtcybYzHItUahxMQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <41c4f8aa-edf5-448d-81f6-c80c372585eb@amd.com>
Date: Thu, 13 Mar 2025 10:11:12 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU
 system
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-5-luca.fancellu@arm.com>
 <f16ff8ff-6d9f-4763-914c-4ada8d7ecee4@amd.com>
 <8187117A-5463-494C-B401-5D8B73634DFC@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <8187117A-5463-494C-B401-5D8B73634DFC@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::13) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|BL1PR12MB5777:EE_
X-MS-Office365-Filtering-Correlation-Id: bc139c4c-2324-4993-33d1-08dd620f02c4
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?azVyVFdaQ3M0b3Y0ZFUwSE5na0J6SHZPVzRFVU91aEFNSzRUcjhrQjUrcHVH?=
 =?utf-8?B?dEc2Z3dYNmgwNDduR0FYWUUzRitDcFMzaHB0UWpTUHBFNE5yaFFoR2tqbHgw?=
 =?utf-8?B?UUFLSzNPWnhlK0c4UXZOeklsbUZ6WHM4YlhzWGNJT2ViWW9QQlQwZm9TYVRQ?=
 =?utf-8?B?SWt3emxEbVBmcmVMTXlpZWthbXlhWDRmdmVkRFVsVFdIQ2NsZGlTZjdENEdo?=
 =?utf-8?B?d1dxNXpJWGoxNC9DV0RGSm9lWUE4cStEVkVrVlVubHdtT2syOFBIOXRyRm9F?=
 =?utf-8?B?K0JXeG9odUUrTHZpR0NIYlQvYXZhYjF2M21VaEFnT1BtU3VvbHhuem9Zb0lj?=
 =?utf-8?B?VlIvT3VSQzJZV3luM1dwd3hFK2gxOEZmTW9jVjNLVkQxN0FSZDY5SCswb0xW?=
 =?utf-8?B?eDh3bFBiOUxPb04zREtYa3NpRnBHMGFBWU9malhhTG1YbzI3bDBkZzMzWGRM?=
 =?utf-8?B?WC9JOFNvL2xWVEVraE44TFZ0UWJzZG5qOFMxK1Nscnh0MkNqTXVQenJ4Q0RI?=
 =?utf-8?B?S0h2TmwwZHc3UTBVc3RwSng4Z0V4Q1lnVk16UXhtMkNsTWdJSm5VMkJ2Rm1S?=
 =?utf-8?B?dFE1S04vMkxpcWU2ekpvbE1rTDFDYXA3aGFnWm5ET0V6MnhiRnVhTkVPYWdO?=
 =?utf-8?B?L0xHdml5SnNRSkJ5MWJIUFI0MUNxWFJUQlpJSGhZTFlvdDdNWmZWVzV6bEtz?=
 =?utf-8?B?UGFwWTdYSjJNSXFtemloa1JobkJsY1VTcExGVUdFRU1JNmd4VElzbHkzRWJF?=
 =?utf-8?B?cEhLdFl3RTREc0hGUlNVNXJuWTJ0c3loZnRBVVIwbGducW1WaUozTnBHSHhz?=
 =?utf-8?B?YWMzdkhHeXRCUEJDdnRjQXE1N3Y1a2RwMHJ4NGg3TnNCL1llZDd2dDZ4Wkwx?=
 =?utf-8?B?L2JEYWN5QWFpY05XNjNjRm4reGx0b3F5amt2YzJiQmRscWpOUVRBcmFlSVBz?=
 =?utf-8?B?WndlMUY4djhNK1JjSGFQMDUwU0NMVlA1dVhibjVuQ01BVFJHS28zRnVuV2dl?=
 =?utf-8?B?R0ZRZGJUSy9HVFNFSktNZ0lnb09HeUdxWU0wS2hRcUdOWlJ6UTc0RklDUXBM?=
 =?utf-8?B?YU9aNEFLYjUxZE9PN2hYNlQ1Wmg3MTVmbTBmTktwcVBheHVSQzdacUw5TTc0?=
 =?utf-8?B?QVduUDZGUHp2Y1pubHgraGh4bkNqQlloUENnRE1BWWxCd3lmbDRoY2JZRlhV?=
 =?utf-8?B?cXp5ZGlObktNSFFPWWlpQk9xcVcxN2NHeU9NVXIzWVFCR1lZaDBmWElkYWpo?=
 =?utf-8?B?U3oyZW13ZzFWZ0JHZkhqamJNTUtidjhhajRub0psNWpoSzNyMDNLcTBWaG9F?=
 =?utf-8?B?dzZJeXdKV1RKMjJQTU5ZVUZYdDNJcU44UEY4RlB6NzY1dGZYRERpVnhyc1li?=
 =?utf-8?B?TkRyd090ZHpKczVManZmM2VGMS9YcVFIbE9LZ2VkaEdTbVQ0WVUvVzV0VVJG?=
 =?utf-8?B?UU0rVWFIWUJta3BpbkJDc3hIaldjNnBVQXZXenRzNDNISFpGdjRlVVdlSGJt?=
 =?utf-8?B?MEZVSyt0T0NseFZKNW1EWXJoSVpjSUd4aWJKWFdLMTRGYzQ2R2VRR2dxOFNq?=
 =?utf-8?B?MW1XSEhsaGpvYlA2VmtYY01CbS9YQkZ2VlVONkxKMks3eVI0NHRVV0x3M25J?=
 =?utf-8?B?L01qMngyVHlvc1Y4dkdzVXdzTkdnanJuTzJWMkE0c2M1ZDhyY2czdDZGWTFM?=
 =?utf-8?B?ZmhMV0MxQ01QR0psdUZnMXM0QURGUkN1VlBySGpmclNTMFRNeGxRbzhTTFRN?=
 =?utf-8?B?Q2VIb1dGL3dVdUNDOStYaDF4eS9XVkZsamtBVjVNcnB1Z1RTbFowaWw5UkVW?=
 =?utf-8?B?dlhRZ2FwNElnc2VNcXlzdG8zc1BIOUJDaGVGbEFVVnVQUDR6dmFWVGlMNW9y?=
 =?utf-8?Q?gREBGnjpwlFUz?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?Y2NVVFp0NTFHa3pzU1dmd1BMVXFsRUh6bDdMNy9Rck91Ymh6UDZEN081cGY3?=
 =?utf-8?B?NGdNUCtHVWJQREplb3ZYSlljVnhVbHBPbE5WOStZdXdoMElKazZLSTBQSi9R?=
 =?utf-8?B?MndsRzEvTy9oMm45SVJNNXVhdUFOMWVjY3VPT2hEZEszNk1PbFFDUlJLNlQ4?=
 =?utf-8?B?cFVBUDdDR0RGRm5lREJaeGxzUzBmMWdEY096WGZQakFxbWcrODRCc1RPYnJV?=
 =?utf-8?B?RXRUUkNQZU1ad1dOVnFEMGxPcTlEVzdiSjhzVG95Q25nTVM2Slk0dFBaMkx4?=
 =?utf-8?B?amZiazBUQzltMmxDY0xMN0JHVHc5V01LVWFBSDdJY2diZEt2cFJKS0RtaFRB?=
 =?utf-8?B?aS9keXJaa3pNOTJPV2JRSTc0S1lLeC9TOGU3MHNDNTVKc2o4WjVRWncwanNL?=
 =?utf-8?B?dUtQS2xpcGtXZVpCck5HY2lVblpPWkl4SDlqeHJ5MExpNEE1MWo5dDZhTXIy?=
 =?utf-8?B?ek9taWYxSzhhbUNac1BtQ2YzNlNMaURrUTc2ZTZsbEJEQVVHem02Q1Izc1Nt?=
 =?utf-8?B?K3NuWk9hdndOS2RmdUsrTHVrbXZFOWJNUG9xNDNmRDFTTm9rSHNBWFNUVUc1?=
 =?utf-8?B?TGRiZVl2UXhha1N6SGJ5TitLbUFOQlhWa29oY1MwazhHakNMNTdzRGk5aFQx?=
 =?utf-8?B?Q25ZUGx2aVdFUW1LZUR2RlFSL09panZpcjhna1dkclF0S2xXRDVNTyt1bC9i?=
 =?utf-8?B?aW56RXpXSkU3Y29zdE92WTI5c3dKNjRCZ01pZkxpZFFPd3FONmxDMGd2cDRv?=
 =?utf-8?B?QjM3b1lWb2xNb0JVR2hXaUhBaC9ERlI1ZVFrRm9FVDF6cGRRdzFFSDdLMzRs?=
 =?utf-8?B?UFVkZHFmMnlhVk5SY2cyRFlramNaSCt3bUFWL1dqRHc1ZkQ3L3k3TFluRWJm?=
 =?utf-8?B?cm5tYkdzSTc2d3JDMDhNSHhPWVF4TDRRY0I1TjdkT3lyY0lQWUhEMlhoQ25S?=
 =?utf-8?B?Mk5kYUdVTlNtdHlWSk54Yk9seklDT205TmZ0ZGFZNXFncTRSUDlhdHVzdUsx?=
 =?utf-8?B?K1JsV1VYMVI3cTg0S0wvcWt4dGUvTmFidTJueE56L1JGVFRJK1NVVTJucHZE?=
 =?utf-8?B?ZGhCQWxHVFYwWDJhVWJiQ2xoN3FPL1BpeHQ3MS9ScCtBd0s1SGxZSTMzNVNU?=
 =?utf-8?B?SkpHalRXK0lDQlhEU2U4R0NCZFh1ZUYzRTc1NnJWcTBnS3YrWEZaK3lXZkVI?=
 =?utf-8?B?RUlRSFViOGcxTUVrM1VWTFVpQUZ4MXRGVU5sQ3RWVnJKdjhDMDhEMFVoNUNI?=
 =?utf-8?B?SWlsOG9iNkgreUduVWRKNGtrYmo2RUVya01JUXB4UVovTG14U0JRSG1PVDZw?=
 =?utf-8?B?R3JtczF6dVp5Tis2RXB0Y1BXUWJWcUQxckVyWWkyZGluVHo4VXB6a1pCZzEx?=
 =?utf-8?B?ZjJkV09uS1ZVeGdMMGZ6M2kzcG1aTWk2Rnl4a1hBMitVU2FmOG9sMGhYTjNh?=
 =?utf-8?B?ZWwwTHowcEM1NFVMSjZ4cnVJMi8yTzdVRDR6bEVsVzRwTlVIbWw0RjRVYXRS?=
 =?utf-8?B?Qk02Rm80bWorQmxmR3Ivai91bE56Wk5nQk92RVIwK0RnUzNvVEZhWDhzSkN1?=
 =?utf-8?B?YkJ2VDB1VFE1ZTR5bHRmaFpiTXV1QW1ldnoyZEN5VXJQV3VyQXpQYmVyYXd5?=
 =?utf-8?B?cDVDUlRHWDFVQktGRithMVdzaVQvbVhGMUwxN2FXU2tLdXFyMEsxK0lEWXQz?=
 =?utf-8?B?ZXNQMkp4MGhjNFRZU3RLTStPWmM1anVVMVBLcVBvVmQzY1MxeS9QNWdxelN2?=
 =?utf-8?B?TTB1d0VsVXVPUkc2OWxINEZBYUN6Wk4rS0ZMNEJaYUdlUit0c1RwanVpUUVL?=
 =?utf-8?B?QVNMZ1FFYnVSQ1BYU2J6cjBNSjdxbEFQTVgyQkk4cjhMN0l3NDExVDZUR05n?=
 =?utf-8?B?RTlBTzVab0Y5ZW9YOEhqcXp4ckV5b2NiVXVjWFplQnZSTFQvRTN5MWkrdW5D?=
 =?utf-8?B?RWdIL0xvbHdZWG5TUDBuNzE3d2hIMWZVRndZSW5mUzJpZEg5cWFFZ2NPWDE4?=
 =?utf-8?B?S0pBVzFXYkNBV0FvRWFFd3VucHpLcmZpUFBoU0ZPaHl6SnU1QnhnTE1iMDVG?=
 =?utf-8?B?Y0xvUmtWeS83Z0hJcWRObHJSYTh2OE8wVlIxeFlmdEJZOGVNNVY5ZjRNUUV0?=
 =?utf-8?Q?w5xE=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc139c4c-2324-4993-33d1-08dd620f02c4
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 09:11:16.8544
 (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: A/rkW4zPYJA+NKWzqo7avS7QifzFBcasE3QjoUBi8r1v8+h0m+9RYqn59zIVYKti
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5777



On 13/03/2025 10:04, Luca Fancellu wrote:
> 
> 
> Hi Michal,
> 
> thanks for your review,
> 
>>> diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
>>> new file mode 100644
>>> index 000000000000..57f1e558fd44
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/mpu/mm.h
>>> @@ -0,0 +1,27 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +
>>> +#ifndef __ARM_MPU_MM__
>> Missing _H? Should be: __ARM_MPU_MM_H__
>>
>>> +#define __ARM_MPU_MM__
>>> +
>>> +#include <xen/macros.h>
>> I guess you also need xen/types.h
>>
>>> +
>>> +#define virt_to_maddr(va) ({  \
>>> +    (paddr_t)va;              \
>>> +})
>> Why multiline? Also, shouldn't we take PA bits into account?
>> I'd imagine:
>> ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
>>
>>> +
>>> +/* On MPU systems there is no translation, ma == va. */
>>> +static inline void *maddr_to_virt(paddr_t ma)
>>> +{
>>> +    return _p(ma);
>> Why do we need to cast paddr_t to unsigned long before casting to void?
>> Why not:
>> return (void *)(ma);
> 
> So it was pointed out on a previous review that itâs ok to use _p() instead of doing straight the cast:
> https://patchwork.kernel.org/project/xen-devel/patch/20230626033443.2943270-29-Penny.Zheng@arm.com/#25404105
> 
> please let me know your thought about it.
I'm ok with that.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:11:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:11:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911634.1318038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsebd-0008O1-KA; Thu, 13 Mar 2025 09:11:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911634.1318038; Thu, 13 Mar 2025 09:11: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 1tsebd-0008Nu-Gj; Thu, 13 Mar 2025 09:11:57 +0000
Received: by outflank-mailman (input) for mailman id 911634;
 Thu, 13 Mar 2025 09:11: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsebc-0007bp-31
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:11:56 +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 3596a9a1-ffeb-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:11:55 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso4111145e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:11: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-43d188bb81bsm13575885e9.23.2025.03.13.02.11.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02:11: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: 3596a9a1-ffeb-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741857115; x=1742461915; 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=vxDq+DkpYrIwhhbgdQ4G/zV9HPhE8hwM/jJDiycXjZc=;
        b=M9oTBMWcvABNwLIHnMq7CfaKR+187rEJF+MrIu5jFGy8tweYmQStQjQ/JcJQMNWJVB
         L83UptJE32zIRbYCI0MBKjhi9wpcNgK8D1Sh1eaNeCeExjwRPhYl533VG7ipxB1k9LfN
         wtDljuW6mip/ZbSHCDnzltfztMi1zo3McNk7HywBOh6JKlFtLOwb+hm0+MntQjuo6207
         OeJORsktxt+jibVTdVajdS1HXrQxoPSBsSu9/DGhydvOyRmVpju5N1vBhLyLjwWrlYr4
         iBK6ojf162HI0iLgC8J616jY1MKKXjtrmALYTN0Oy4RByilQqArwjZJd5wR42mXnIc3Z
         I0Yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741857115; x=1742461915;
        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=vxDq+DkpYrIwhhbgdQ4G/zV9HPhE8hwM/jJDiycXjZc=;
        b=EdzgeW4Rq5gXne6d1cmmI2ItYSpCl6ynELnaKDfAJOV66u/hZlwnsL7x3XQ8Ul9sFm
         Kwdxwl3PGEuXDF+9Y8ctLytjkNIkz6X2vrY8sJ0jqDsaztaiyWjID1dxPfoDHiL9hgTV
         29vuoadj9DXHi27Pdf+1Wa+DIz9CfRWXRFuyIjrlpaic1qLrWyTgoEyvw8awrbaQhuy+
         evOoMIDFOhGO8N+LUrLxrTvWj0IJhLD64rs3kpvjqfy6dcfstn2r3dX7AzSc+gBPuC2b
         Z+QrvIhcbqkzkeIHypLeGSNpEXo/XSECkKW5AIodpydkoN3prd74G/U8Vv2HBJKCloHB
         s2HA==
X-Forwarded-Encrypted: i=1; AJvYcCVj8JQihWA2OJrOZP1VYEGF1Rg+0FIqJB7GPs3Q5HeElI+G6N0XUkWh2/QX9WZ1AGFOW48FGgcQXpk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwSkMcejlPmOkAczB3EKWITJc/1Z+NDpZ25yOXuA/NaJAfoAG+k
	WKUstmvZ+VFW9tIRDicgJ3dou1y8BSwd402R5jsehx5WaNnpkgN6yZHxBfWkbA==
X-Gm-Gg: ASbGncvgPPGiyqA3j02MHwZ4VR0cc4MCFFHa2tkS0oq+BY/OrwRsB+0QcQoVj/5Hbg0
	gX5xXMzudtu83SYZWxE4Die55Ja0HGKO0f1lHnpy711a7f6th7ffkOpoPZLcQqarsI+huAyQbB7
	9GZDl8QZSD7TF8yJ0730dJoPnMkWPutUzGPTKGVjmzRDMqqvQeVwjrdWy8UweeR3lALpMEhAssD
	ANL+zPHfp1y6Jav/iSKj1uWdB78eD4dp2DNgMjYtcS7Nt2mmtu/h/K4q1g+Hz8kQMbyFRygqAzQ
	OsA4zcHW33LHhCyOlp5pQlOBtZj+4UrhHfsDsDmk7Td4flykNeuH1zqZjJVU9RU7uTHLeQMuUb2
	DlzjfDBo/9FQzSJIbHJEX5BxyA0MgXA==
X-Google-Smtp-Source: AGHT+IHBTM73eHHbGaQ+x20DZi7bDxL9C2ltOhwMLMZt8PsiKCqz8uaQjnlp+OC4AEluLjcklfIPaw==
X-Received: by 2002:a05:600c:4ec9:b0:43c:fe15:41dd with SMTP id 5b1f17b1804b1-43cfe154363mr121172855e9.6.1741857114873;
        Thu, 13 Mar 2025 02:11:54 -0700 (PDT)
Message-ID: <5c9937a8-e6e7-404e-a22c-6a7979ce9c73@suse.com>
Date: Thu, 13 Mar 2025 10:11:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/8] xen: Sort includes
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-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: <20250312174513.4075066-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 18:45, Andrew Cooper wrote:
> ... needing later adjustment.  Drop types.h when it's clearly not needed.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:14:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911645.1318048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsedd-00017b-V3; Thu, 13 Mar 2025 09:14:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911645.1318048; Thu, 13 Mar 2025 09: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 1tsedd-00017U-SO; Thu, 13 Mar 2025 09:14:01 +0000
Received: by outflank-mailman (input) for mailman id 911645;
 Thu, 13 Mar 2025 09:14: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsedc-00017O-1c
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:14:00 +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 7e27062b-ffeb-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:13:57 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso414465f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:13: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-395c7df33aasm1429715f8f.2.2025.03.13.02.13.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02:13: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: 7e27062b-ffeb-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741857236; x=1742462036; 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=zKPKuq1tT/Y87Mb45MsIWXGilM2NMJCJ5BhdI2p0i1E=;
        b=exQSamsn/UTpPcKOhBQC+UydIR8Sf0nR13eMz9L5tohmkkPUjjNye2HmOkKscTTgox
         ySKN0h43fJDtazSDxD9lvsgZZK2Uy9dzAycLUqsBDYoYD9h9nwC8YkOKAJ7RP1cIkLsP
         PcLrIPsABt/I24KNYAhnBePLlNQfx/xPtzxMJhXyETeRN2JDC+JzRIXBaHVrh/XmUBNv
         3zapIeLvtSJhpU6oIhPXDdfJULJcYE59BS6yyXsFWafQIku9RRSye97Lsj9Bncdbaj1F
         lM4ov04K1xJ2lvRJi+BNyMlj34tKEMyuMtXubK+1MxJ8MQLWfpG9wbaFL0hgbrCs3cmO
         laDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741857236; x=1742462036;
        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=zKPKuq1tT/Y87Mb45MsIWXGilM2NMJCJ5BhdI2p0i1E=;
        b=tiD1tGB06lAQCS6yPCsC6opB1DLwmzXZf237ppiCHRS+PuSk0TLBO4H9GvrZmIUxYJ
         FHGZfDKjQirry4w62MyiKqUgNbUELjciEmG7fv0xt+0EbNNn33lvntqExPkB8+6X0wEh
         OyEbWELivkd8+W6mVbjzgIoU+FkyEuqy7pRBP2khoBlvG7zAWcjRo4vbdqu7WB5ZV91Q
         tB6oycPporBmJbblW0ixEYXXTfLGNEjD0ph2XzyDHJtaBA5pprB+bri9Gnq8n+/v6r24
         /A6/BX3sSrLTNncPQuFi8b8EGu9xYJiavcmm7DV/THX+hb0KzZ6L8Q1miQlasYsJ6o2+
         c8nw==
X-Forwarded-Encrypted: i=1; AJvYcCWX/AJychBhxdyDAt54ZZ7kNhC3EAQg2c34CtsO5jypVQDigPLAGUKMVqwJ6wVLvvRp+yCo6FNx16A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyXQ5jZyVpTNwTjOl4QgSKnoUAcy67Hy58OgEjbxPmXcYxhw0X2
	tney1b7jC9dtiJn9tsbXF9TNZ403cwxc+ZOYECQZAwRYSFw1lgqs7b3auFW4vQ==
X-Gm-Gg: ASbGncusqeRYUhRhfBZRNkn+EKYv8z66LY8dwVp2xA3wtIIoHHNoOpyV4R52ZFbN37p
	HtKcoNIiT6QXHaXt8GNOLEIKn6bfvIvCFJy4F04j1mirtFiNEkUIbcaQyqXSRIQIj+gbe4QWgx7
	a4LCYsgRAxtoJyjEYBrPHfjI/lehQQLoSSpyrL/3TlENlsWFNSbe60z1y0EzI42nq4OWsZNM5de
	NcDBbNVfB9O8eRsp7stBqZlBK3OFum9RJe0mX0MtOCzsQfcmOMJeoOcAfp1v9qlwUE7MifUk9pW
	4Q+Qa/acJKjM/xppH+atY7E1EoiRBB045z129V1mOMxQjy6PlI9P7J+1vRrHYGL5RNHXTpQoUlo
	4gCtM++jpQaYxk6OgnM+HpL57u0nVkMQY1KuEkqeU
X-Google-Smtp-Source: AGHT+IHQprFeR6S2R4155I7mRboU2G41XVe9CYZRwMYIb/wbTKA51zoekz3Qx3g2w04onLwCnvywTA==
X-Received: by 2002:a05:6000:1a86:b0:38d:e48b:1787 with SMTP id ffacd0b85a97d-39132d1d1efmr20638302f8f.14.1741857236689;
        Thu, 13 Mar 2025 02:13:56 -0700 (PDT)
Message-ID: <cd4e4e69-9b54-40bf-a9e2-88191481487d@suse.com>
Date: Thu, 13 Mar 2025 10:13:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 8/8] xen/mm: Exclude flushtlb.h from mm.h for x86
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-10-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: <20250312174513.4075066-10-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 18:45, Andrew Cooper wrote:
> alternative.c and livepatch.c pick up flushtlb.h transitively through mm.h.
> 
> Fix these, and finally resolve the TODO in microcode/amd.c
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:19:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:19:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911655.1318058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tseic-00033t-Ge; Thu, 13 Mar 2025 09:19:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911655.1318058; Thu, 13 Mar 2025 09:19: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 1tseic-00033m-Dw; Thu, 13 Mar 2025 09:19:10 +0000
Received: by outflank-mailman (input) for mailman id 911655;
 Thu, 13 Mar 2025 09:19: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tseib-00033g-3S
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:19:09 +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 36ca2d46-ffec-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 10:19:07 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3912baafc58so581715f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:19:07 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395c8975afesm1433755f8f.47.2025.03.13.02.19.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 02:19: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: 36ca2d46-ffec-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741857546; x=1742462346; darn=lists.xenproject.org;
        h=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=9aqWUUKxKN6Whd+pw7h8oyju+T6yXGmM8SNdTWptgx0=;
        b=RR3wM/Ty/MsF/hOebDu875r8o0lNqLWOXS1oSyQCJF5wIEXATQHb4jXrDrDBCbBh6S
         lFU5QjcPBeX2SosUmpLiApdc0W88eWUosY7MRLOJ3BvBLmVPsNyadEe0b2rwjb31Rjpb
         zEKiFIigY5M3/SemGiCEverqCr6UJapcA3zo8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741857546; x=1742462346;
        h=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=9aqWUUKxKN6Whd+pw7h8oyju+T6yXGmM8SNdTWptgx0=;
        b=UdNMfSYVcONOHd9wNaio3vLEmmQTjGQDDLpPO7BE/VrffRBLD0rNUeAfWZbh1Raqpe
         Tf2AAzZowFJYBGqUGYPXa8KdPr2+VV9kJu6f302aGymrb113JbELsjXIbc3YcKJuQkoU
         sh888Q5xhooJG2K4Yhwohs1M5sgYQymreSCGxf4ggW9uuZVH1AJdRjq7e/7bHIQ4FmbA
         lH0t+Hq5FYjn6EP2L8vcDq4MlgBFDOPChfaUnV/pXByFHCYrYyybq9bUQCGFdS95EW4F
         Smt0XV0aSOiUyxrlvmCe5+9ZyAL4NB/kcOO1Rxhz6d8Kk7p+4CYAirP/LLKgTrBs4MxU
         jENg==
X-Gm-Message-State: AOJu0YwMJTdya0T00Yv85qYSKaSdyZAkzsDIVrz6aJlWB3Oqt4ke5qhT
	NCO2wt73njqbnHKdmL8jANs4ELS8jhRvtj3bJihEb8wiaymfv38l8ptpi5MRNsM=
X-Gm-Gg: ASbGncsw5Qsa0e+FSAVGBdQNtYp/yOvsRkzO+2hQk0lg1xmCpEiFcFlYUml3SRE8nUf
	Ns7ewuYsr5Tz7MZm/UlA4QxXEpRH5hYyFJ2hp5yDuqMw/sUteRNarLSH9pg2+4vOlPgdKPtFpyT
	DFLfyixfJY4TwikcMRo0f6XZMo2mcFJM177C7n3F7T+mqqsLXNqWR41unRo6F+3EF/JfNFubtY5
	I/6hTNAtLVm5QeQWfSIbLrTabe3u045PPGpXHfSMwMyxQIcTTTQsWeKRA+bFTJABKwDh4FJibLB
	tiYRGWUxtO1fcPg5VfOX9Pe89FQ0o0WvsnlU206xteAA8xLd7w==
X-Google-Smtp-Source: AGHT+IFEHG1sXTFqPJADUBqcWsOU7HQDVFfcUX3U6dlUFaqrOkqal9gv1aJ+tEkIsrWJP6bZK5JSEw==
X-Received: by 2002:a05:6000:1fa9:b0:391:253b:404a with SMTP id ffacd0b85a97d-39132d30c5bmr18025482f8f.8.1741857546554;
        Thu, 13 Mar 2025 02:19:06 -0700 (PDT)
Date: Thu, 13 Mar 2025 10:19:05 +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>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH] x86/shadow: replace p2m_is_valid() uses
Message-ID: <Z9KjCfUslJKa0Rlj@macbook.local>
References: <6a7391fc-4abf-4e65-8159-30f4eae8fec5@suse.com>
 <Z9F-Xul18_96ok1N@macbook.local>
 <61a7d917-c044-4064-91ee-f558f6416c0a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <61a7d917-c044-4064-91ee-f558f6416c0a@suse.com>

On Thu, Mar 13, 2025 at 07:55:42AM +0100, Jan Beulich wrote:
> On 12.03.2025 13:30, Roger Pau MonnĂŠ wrote:
> > On Wed, Mar 12, 2025 at 12:30:40PM +0100, Jan Beulich wrote:
> >> The justification for dropping p2m_mmio_dm from p2m_is_valid() was wrong
> >> for two of the shadow mode uses.
> >>
> >> In _sh_propagate() we want to create special L1 entries for p2m_mmio_dm
> >> pages. Hence we need to make sure we don't bail early for that type.
> >>
> >> In _sh_page_fault() we want to handle p2m_mmio_dm by forwarding to
> >> (internal or external) emulation. Pull the !p2m_is_mmio() check out of
> >> the || expression (as otherwise it would need adding to the lhs as
> >> well).
> >>
> >> In both cases, p2m_is_valid() in combination with p2m_is_grant() still
> >> doesn't cover foreign mappings. Hence use p2m_is_any_ram() plus (as
> >> necessary) p2m_mmio_* instead.
> >>
> >> Fixes: be59cceb2dbb ("x86/P2M: don't include MMIO_DM in p2m_is_valid()")
> >> Reported-by: Luca Fancellu <Luca.Fancellu@arm.com>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Thanks.
> 
> >> @@ -2366,8 +2371,8 @@ static int cf_check sh_page_fault(
> >>      gmfn = get_gfn(d, gfn, &p2mt);
> >>  
> >>      if ( shadow_mode_refcounts(d) &&
> >> -         ((!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) ||
> >> -          (!p2m_is_mmio(p2mt) && !mfn_valid(gmfn))) )
> >> +         !p2m_is_mmio(p2mt) &&
> >> +         (!p2m_is_any_ram(p2mt) || !mfn_valid(gmfn)) )
> > 
> > Would you mind adding some comment here about the need to forward
> > p2m_mmio_dm to the emulation, and hence not possible to short-circuit
> > here?
> 
> Will this do?
> 
>     /*
>      * p2m_mmio_dm in particular is handled further down, and hence can't be
>      * short-circuited here. Furthermore, while not fitting with architectural
>      * behavior, propagating #PF to the guest when a sensible shadow entry
>      * can't be written is necessary. Without doing so (by installing a non-
>      * present entry) we'd get back right here immediately afterwards, thus
>      * preventing the guest from making further forward progress.
>      */

LGTM.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:22:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911667.1318068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tselg-0005tE-T4; Thu, 13 Mar 2025 09:22:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911667.1318068; Thu, 13 Mar 2025 09: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 1tselg-0005t7-Q5; Thu, 13 Mar 2025 09:22:20 +0000
Received: by outflank-mailman (input) for mailman id 911667;
 Thu, 13 Mar 2025 09:22:18 +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 1tsele-0005t1-NI
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:22:18 +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 1tsele-000f3i-14;
 Thu, 13 Mar 2025 09:22:18 +0000
Received: from [2a02:8012:3a1:0:f06b:e0c6:4c54:6a31]
 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 1tseld-008S1h-32;
 Thu, 13 Mar 2025 09:22: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=jEvASP4PbwIRCknRX2cyVtXVghEJuTxjwd8KsTxMuzw=; b=dpCs3DDUPD0tZIGreeq/ngHHVw
	aido8TaqbpgsmyJ6mrYvKbsiHwi0sf1tISTUE2zrWysdVJzjhQ16f8Rd7bKux8zHyCCYKRMr06xe4
	q0/8tgCl2MrRg3yZ68AeQkx7eRI5aDBWxrWhYgdQ9HyRVNAxDwzUZdblf6dU0maHRFds=;
Message-ID: <df0ad31e-1842-41fa-9112-9e3892bfdf65@xen.org>
Date: Thu, 13 Mar 2025 09:22:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/10] arm/mpu: Introduce frame_table, virt_to_page,
 maddr_to_virt
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.com>, 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: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-6-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250312135258.1815706-6-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 12/03/2025 13:52, Luca Fancellu wrote:
> Introduce variables and functions used in the common Arm code by
> MPU memory management subsystem, provide struct page_info and
> the MPU implementation for helpers and macros used in the common
> arm code.
> 
> Moving virt_to_page helper to mmu/mpu part is not easy as it needs
> visibility of 'struct page_info', so protect it with CONFIG_MMU
> and provide the MPU variant in the #else branch.

Have you considered including "asm/{mmu,mpu}/mm.h" **after** struct 
page_info is declared?
> 
> Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
> pdx.c.


Maybe clarify in the commit message that the frametable will be setup at 
a later stage?

> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/include/asm/mm.h         | 18 ++++++++++++++++++
>   xen/arch/arm/include/asm/mpu/layout.h |  3 +++
>   xen/arch/arm/include/asm/mpu/mm.h     |  3 +++
>   xen/arch/arm/mpu/mm.c                 |  4 ++++
>   4 files changed, 28 insertions(+)
> 
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index e7767cdab493..c96d33aceaf0 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -341,6 +341,8 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
>   #define virt_to_mfn(va)     __virt_to_mfn(va)
>   #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
>   
> +#ifdef CONFIG_MMU
> +
>   /* Convert between Xen-heap virtual addresses and page-info structures. */
>   static inline struct page_info *virt_to_page(const void *v)
>   {
> @@ -355,6 +357,22 @@ static inline struct page_info *virt_to_page(const void *v)
>       return frame_table + pdx - frametable_base_pdx;
>   }
>   
> +#else /* !CONFIG_MMU */
> +
> +/* Convert between virtual address to page-info structure. */
> +static inline struct page_info *virt_to_page(const void *v)
> +{
> +    unsigned long pdx;
> +
> +    pdx = paddr_to_pdx(virt_to_maddr(v));
> +    ASSERT(pdx >= frametable_base_pdx);
> +    ASSERT(pdx < frametable_pdx_end);
> +
> +    return frame_table + pdx - frametable_base_pdx;
> +}
> +
> +#endif /* CONFIG_MMU */
> +
>   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/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
> index 248e55f8882d..c46b634c9c15 100644
> --- a/xen/arch/arm/include/asm/mpu/layout.h
> +++ b/xen/arch/arm/include/asm/mpu/layout.h
> @@ -3,6 +3,9 @@
>   #ifndef __ARM_MPU_LAYOUT_H__
>   #define __ARM_MPU_LAYOUT_H__
>   
> +#define FRAMETABLE_SIZE   GB(32)

I guess you copied the value for the MMU code for arm64. But is this 
value still sensible for MPU? What about arm32?

In any case, some documentation would be useful.

> +#define FRAMETABLE_NR     (FRAMETABLE_SIZE / sizeof(*frame_table))
> +
>   #define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
>   
>   /*
> diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
> index 57f1e558fd44..2219c9979548 100644
> --- a/xen/arch/arm/include/asm/mpu/mm.h
> +++ b/xen/arch/arm/include/asm/mpu/mm.h
> @@ -5,6 +5,9 @@
>   
>   #include <xen/macros.h>
>   
> +extern struct page_info *frame_table;
> +extern unsigned long frametable_pdx_end;
> +
>   #define virt_to_maddr(va) ({  \
>       (paddr_t)va;              \
>   })
> diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
> index a11e017d8a96..4036dd62eeeb 100644
> --- a/xen/arch/arm/mpu/mm.c
> +++ b/xen/arch/arm/mpu/mm.c
> @@ -3,6 +3,10 @@
>   #include <xen/lib.h>
>   #include <xen/init.h>
>   #include <xen/sizes.h>
> +#include <xen/mm.h>
> +
> +struct page_info *frame_table;
> +unsigned long __read_mostly frametable_pdx_end;
>   
>   static void __init __maybe_unused build_assertions(void)
>   {

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:28:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:28:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911679.1318077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tserP-00073u-FT; Thu, 13 Mar 2025 09:28:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911679.1318077; Thu, 13 Mar 2025 09:28: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 1tserP-00073n-Cs; Thu, 13 Mar 2025 09:28:15 +0000
Received: by outflank-mailman (input) for mailman id 911679;
 Thu, 13 Mar 2025 09:28: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=UDpV=WA=boeing.com=Anderson.Choi@srs-se1.protection.inumbo.net>)
 id 1tserO-00073f-QQ
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:28:15 +0000
Received: from clt-mbsout-01.mbs.boeing.net (clt-mbsout-01.mbs.boeing.net
 [130.76.144.162]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a752b4d-ffed-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:28:11 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by clt-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52D9S7P9003066; Thu, 13 Mar 2025 05:28:08 -0400
Received: from XCH16-07-11.nos.boeing.com (xch16-07-11.nos.boeing.com
 [144.115.66.113])
 by clt-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52D9RvKB002965
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Thu, 13 Mar 2025 05:27:57 -0400
Received: from XCH16-05-08.nos.boeing.com (144.115.66.92) by
 XCH16-07-11.nos.boeing.com (144.115.66.113) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Thu, 13 Mar 2025 02:27:56 -0700
Received: from XCH19-EDGE-C02.nos.boeing.com (130.76.144.198) by
 XCH16-05-08.nos.boeing.com (144.115.66.92) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44 via Frontend Transport; Thu, 13 Mar 2025 02:27:56 -0700
Received: from USG02-CY1-obe.outbound.protection.office365.us (23.103.199.175)
 by boeing.com (130.76.144.198) with Microsoft SMTP Server
 (version=TLS1_2, 
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 13 Mar
 2025 02:27:55 -0700
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:19b::17)
 by PH3P110MB2023.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:1af::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.36; Thu, 13 Mar
 2025 09:27:55 +0000
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d]) by BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d%6]) with mapi id 15.20.8489.033; Thu, 13 Mar 2025
 09:27: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: 7a752b4d-ffed-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1741858088;
	bh=1Zra/gtpCyFy2nbulS28Cl1sl68BEoSNougHHCrp1DY=;
	h=From:To:CC:Subject:Date:References:In-Reply-To:From;
	b=L/vMw+F1Nw7BbH0xMKcUqhHOObUjrAEBE4gLu5Uc73lgVxAIkXNthbGca4acm9cfY
	 agy0ApB9olnHqZeZFPFXyB/nPKyLcHmlQGWqB1VroUkLxBHXc/bL5EqXFqYuTBlMKE
	 YBG8KY3ZagY2l0JvGXIsQlNKQSUBu5eaxN3hrg3NrDz2cBZd1Hz2gQaJsSF8tlv4z1
	 1EyO+9zc4NRQBx+aCmHwsl2fmwsG/iOe2JAjWMLfaG+xDGFcwIpJs8UzB6MZ+iSZEH
	 B/a+IY4dhzP/56es/5ZcUpGYfcODsSwVdF2uUxqlnk58nfIe4ogXW2M4HHv/FJzgtj
	 Juu0SkZ0khwmA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=ImFHzwZFBb688j+beXu9WQQ1j9bow0zQaTBrJ/1xo5Qw2t4ys/sEMA6ser5WNqZusTHL/XST8q/H2sr1e0YIdO14CWfWI8hpBU/X34S3VcP+Et6Q6E8ycaCENao69xFW4yL5Pp8Ps/0T3S43uza+VxvYvKcujib9/9dQPGtcqoUVREJRAwP24nzU12Q9R+YF5nsWkEb/rjY+yt5sS/12+cPt/UO/4pYCOzw70Ft5gemn3ijxSPav2UBtNhY+gDz+8zk8Yao0GUoaaug2/AVYxpt2/t39aJuHATdu7srQuTeKT9pEkjqsCie3WsO5b8lcTXpjSY6IlWRn5X+C8fgN8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1Zra/gtpCyFy2nbulS28Cl1sl68BEoSNougHHCrp1DY=;
 b=mv29O+25hM0aJOze91cJ4rQuw+7w5vy/TLnJjNW7N2OAJ4re1nRU5QuxKJbJD2WWWrcIcbQNWfOpPdrGtUkbEMqgQY1VEQnbcOrb5dh5R8Q5iS5DqzXtfZUc7iWz7kqnEvPqwSOH+i80GoMHYN4JzqNKR2mUAsjWIDdXCBUvjjgpmMawBzgfkSPfnLIGvvOFeGe2ixasotdAmc9SA82XN0poB4Ccxc55fk5gDRAAJptMFnsB1lY9gqMO0P7gw2UzmDDrBWqXRDVcqstT+vLcfK6NFRk6C0hdIi48bb5hbTF1EqadIZGSzE+kk7CqNTNBUk+HWHnNtduHPuCT+aRPLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=boeing.com; dmarc=pass action=none header.from=boeing.com;
 dkim=pass header.d=boeing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=boeing.onmicrosoft.com; s=selector1-boeing-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1Zra/gtpCyFy2nbulS28Cl1sl68BEoSNougHHCrp1DY=;
 b=KK0IjphUwcsVDPMYjpELBAneB1EBUnCbe2Hg28qgGGasUGfKfI1dGxxg0GsaTnzD7xOEemI0YaeiETI3+Hb1arZ2rGeu6SdodkgQvJdkFCah75In/XBHVV6mM6DpBDkiEAoa8EXsEj5cK/ExGJpoHOc+0I3Vl1gxOlJ5xbjU3BY=
From: "Choi, Anderson" <Anderson.Choi@boeing.com>
To: Juergen Gross <jgross@suse.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
        "stewart@stew.dk" <stewart@stew.dk>,
        "Weber (US), Matthew L"
	<matthew.l.weber3@boeing.com>,
        "Whitehead (US), Joshua C"
	<joshua.c.whitehead@boeing.com>
Subject: RE: Discussion on unexpected behavior of ARINC653 scheduler
Thread-Topic: Discussion on unexpected behavior of ARINC653 scheduler
Thread-Index: AduT5GPU8k+LryI1RQGgVtY2Yt6hPwAA8CSAAAP0WWA=
Date: Thu, 13 Mar 2025 09:27:54 +0000
Message-ID: <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
References: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.com>
In-Reply-To: <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.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=boeing.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB2148:EE_|PH3P110MB2023:EE_
x-ms-office365-filtering-correlation-id: 507ad459-a594-448b-1912-08dd621155c0
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?bXA0RG1lMFNib2hQZDVzcDJidC95TFRXdXdPMWZ5K2E4Rm55anRYYjFNb0hM?=
 =?utf-8?B?NDJkMTYvOEIwMnRPZi9KWTJwdy9ZSklGN082akdSSjRBa2Vub0MrWUtoR2Yr?=
 =?utf-8?B?WkNGYXpZdUNDc1dRQTRtTVBIRFk4TGRVTmZ1NnBMdXU0ck1ZT09MQkpyUlJV?=
 =?utf-8?B?NDE5ditWRGszdE5xUTVUS2FaRlFsamIxNFBzdHg1VC94eVlOcnNiMU83RkpW?=
 =?utf-8?B?RTBRSG5iM2N4NTJ3Vmd2bnVncHJGWURzU1BFMThXQW5GOEJHZWMvYnFTWDAr?=
 =?utf-8?B?cTNTcW9UUW1JcnVHdG5jYWlUT3pkQmZ6emZuVExzU2dqaVc0T0xBYzNZL2hW?=
 =?utf-8?B?MXFCU2RJbVFvK21rN1orWWxOYnp6N3pXUXc3OHpodlZCcC80MmoveEt4Y3lJ?=
 =?utf-8?B?NmFzdzVDdkdpRlN2U0N4TzQ4bVlFdmF2OStDVmlrbmFsWC9aZzYwUDBaVmgv?=
 =?utf-8?B?RHpwOUx1eDdUMEtQeHhQSlcrRlZQN2p4djB0MGtsVzByVTJFYkZUSGg0MWg1?=
 =?utf-8?B?TDJZVGZOU1VyWjNLVDRxK09ra3FlWEV0TlZpa09BcWJNWkVxelNsNGVwSnhp?=
 =?utf-8?B?NVF4Q29NYWNjZEkrNGdROE1NeXpIeVJXRGo4YTdPMW4vTnhTcm00ZE1IdTJR?=
 =?utf-8?B?S3d1N3hCVW13dnNqVTlSdjBTNTg3Uzh3L0RqVG1kdDNmWHdpVVcyUDJXcGcy?=
 =?utf-8?B?dE4xQ2NBa2lYTGhlVGhFOVhrYS84VEpQUi9POGVqZEtHZFZPMnJ3T0NZa1hR?=
 =?utf-8?B?SkFvSEFrUmZIVldiZ20vampWRFpNMEJoejhjN0ZQOGs4RmFRSHF6MnA0UVVL?=
 =?utf-8?B?c3NxdnJYVEVJUDMwMjdjUUhIbS9rc3VFd3BoVDVzdS9lS2RadDlwaTNaVXRY?=
 =?utf-8?B?eFpxQ3NqOUhZOXlRMERIYWpQNTRxa00vdVd6RTZsU0RjWW1taUttMEt6YjdI?=
 =?utf-8?B?ZkVzVGRvMFlZU3pVQ1RkbXFseEJDZHlYNVZHc1pWbXZjUGU5VDVBTkxKYy9l?=
 =?utf-8?B?aHJoaHpnTzVvWUJjaXpyRGZ3TmJYbXNtVEtwdlhCNGR1U2JKenEzbkZYeXcw?=
 =?utf-8?B?OFhkNTRCSjc4ZW1TQkM2am5nZVZ4cW81eVVlbUgyYmpoenZRTE4xK2RkdFB0?=
 =?utf-8?B?dFBlRC9GQnMvVUVyajcvR0tXazloU3hVc2t4Y1IxRVBKcUx5MGRsNXZ5SnF5?=
 =?utf-8?B?QkNLQ3lQUklkVjJENExRcGhaY3Q5ZGhZVVArR3YxYWRKYXVweitXcGVwd3VY?=
 =?utf-8?B?bElPbXVReGFRYmEwODY2RFpodEZGVGFFcmF0VjJQb3FuK0FZaU5qeCtLOVZs?=
 =?utf-8?B?RWc3WnlxMURIa0pvc0l5YmdybktuSG1mOXU2MXpmQ3VZVW1ZSEpJZWNBQndw?=
 =?utf-8?B?cHJvOEtWSEY4NFhCYjJoRHpLU0lwQjBIWVcySjJ0YjdrYzVnYjFkTXdlTEsy?=
 =?utf-8?B?WVBqUW5nRjZFeEE0d3ZLcjhXZ2Z5bURaMW9RNW5zSTF3c0p5dmhOWFhJSUFh?=
 =?utf-8?B?VjgxY0xMc3VtSEZWUzJmc0hyemFRNi80eitLK2wrZnkrekhrS0EyVUQ3dGJk?=
 =?utf-8?B?NWNhQWtNY2NlRzg0UGdDRERaQ3FRRjBQV1JBcGVlbmhhYVBxOVJJU0xNdE41?=
 =?utf-8?B?enBnTE9wd1J5SEU5MkdwS3Z4WDJyUGJ2SUJDVGpFRmR6b2xvUUhQdWVyUWFj?=
 =?utf-8?B?UjMreGllVWJCN2ZPVHREcERhN3lDeDhjTVAyeUJYV2ZuRWY4K0Z3eVk0bmtL?=
 =?utf-8?B?MHZXeVo3VHF4aC9xVkphckdvL0lzNHJKZ0FmVTVSQlN5clR5K0V6Q1hnNWls?=
 =?utf-8?B?QmFVQUUxQUo4d2doVm5tVUNPMEt5OWduRUJvS1ZBanZCWUU1QzVFbDRwa1Y1?=
 =?utf-8?B?T1hLZXdDandGQ1NQY09KRWEzSzRoSjZQM1NlU1VFYnBQSmYzRnhPaHk0aFBN?=
 =?utf-8?Q?iUZWTOP3WylS643wbfOSTavXE6cPrFSd?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a1NBLzM2NjJxUDNlNVZVTkJvS2RmS1c2RTd1bXdrZSt3ZzNrTlM4SGY3Slhx?=
 =?utf-8?B?ZGVrdnM5SUllWm1RaFZrMERtTzBoOXhwSWJacy93OUxHc3VqWEZsYlVmbllC?=
 =?utf-8?B?b2dMNFY4Z3dFcUhRazdSSk5Wd244NFFxdnYzRjAwODdwbGw5UFp0ZGw0eXFU?=
 =?utf-8?B?YWNnOVd6azNXS3hETmhjcDJDSklYdTM1UXF3VUdCcE9LeG5sYkMwYjlQd3Bu?=
 =?utf-8?B?N2k1K2oyenUyOWtnRjZaWE9Kelc0RTBqWjBNTDJieFc0ek1hWS9FTmVkZDFL?=
 =?utf-8?B?eHFCVjlIcmk2TE1SQzhSeWtXeDdoMWFOZmJsWmVCS1pMdUZrbkZGVHBkTjV6?=
 =?utf-8?B?QVZ4L3R0eE8rZzZmSGNURkNQTDlvd1pNOVQ1MVNkcDhhMGE1ajYvWXNDTTFy?=
 =?utf-8?B?Y2JvZjdIRlRZNXZlM0dMMk9SYlhFWCtWbEdhWWRwWmU0c0lURjEwc2tKRE9v?=
 =?utf-8?B?a2k0ZG5CUWJKb2YzR2tYUkEzZzBwRTdtektXdkxWT016TXNMUGJ4T2cvVy9w?=
 =?utf-8?B?VmE3UzFwdzNZTWkxV04vV0Rzam1Kb0ozaTZiTVBHWDBLNlRJRXgrZ3V5RERP?=
 =?utf-8?B?QWpKamxWL0RUNzhvTEMrSEZlYlY2NlgrVUlncDZqSS9naU1sYk0raHU2T3pw?=
 =?utf-8?B?OUgxUHB6cVNFOEtGMmZ3eFljc3lvR0p3QUw5N2lHb01MQ2Y1Nno2Y21CWnho?=
 =?utf-8?B?dVpNNnIvZmtuUyttU3RDdDg3M2M5VENHOGpWRG1BeUt3TFRIQmtJTTFvUVdw?=
 =?utf-8?B?b2gzL0RaVlVGcWoyZ21HRUhpelJqWnB0Y2VMdzM5ck5RQm9nTkp2MWQ5WFFt?=
 =?utf-8?B?MXNST0VZU2V4WEJaOVB0WXY4ZVg1YWtKZ2hmVU5QOFRjcEFhS2FRSFI2SnlG?=
 =?utf-8?B?MnR3NWxNTnZsWXU0dnVlclJqb29ZMDdNa1MrYWNNOFpjdXFoSkxJY0hyRUpC?=
 =?utf-8?B?R0xCN2tCa0pHOFpqYm1nc1B6RVZiNHFBakpMS1J4aW9yczBqSkhHOG95SHM1?=
 =?utf-8?B?T1Rib3p3cnEySDZhUWlSTTVSOEhOOWxGYmdnVFVxWnM3dkRaMCtaaUEwMGd5?=
 =?utf-8?B?dE9FZFdhaldNaG5va21WZnY5ZUUweDZMdFBtMVJESGQ5NEE0SDhDdTY0aEtk?=
 =?utf-8?B?VjFOby9UZGxYR2YxZFJpM0FMWk52SU5yM3I3MEhtZHprOVBpdXFqY1VRZlZq?=
 =?utf-8?B?YUtrYk1qaks5U0tLUmJ1ZG9QTnJrMzd0THRJQ3kvb2pQWGxOdE9STjBhZUdy?=
 =?utf-8?B?Zi8rdFdzQ2J1eC8yaWFjOE9XeHJmZWQ2elpwa2lMODZ6SnNLU2ZYbnErOGM4?=
 =?utf-8?B?Z2UzeFZvRllLZTVHbEYycVdsUy8va1BnblFBNDZ2UUkxZmJQdUZhYXdjVTRZ?=
 =?utf-8?B?TnhSUlBpNTJhUFRBM1Y1ZkNTSFhleWpPbkRrR21OVTRvRUlXM1VDYVNkZ0lw?=
 =?utf-8?B?cTkyOGszTHFMb3dLNzNodExEQUxvbWZCUnNuQUVHV2tNQUx1cVlUbzgyMWVS?=
 =?utf-8?B?NWhHelNXbkdYeFoyWkhCN2RvTDlNM3VaeVozOHpneDFOdEFRQ0h1TmIxcVlH?=
 =?utf-8?B?V2UzUEUzSkR2eWE3Q2VBTHR6NTZENWdZcTkya2RoYmpqUDJUOEtzbkZlRkdu?=
 =?utf-8?B?TW1XODFSSnB5TktzeGlNdjYyNWlzWTBWSklESHhDMGgreG5UaEZCbHpiMEhQ?=
 =?utf-8?B?bXFjSmFtaXN2RVRWYytXaFRuQUZscTduSFVlUlk2bUhuM3M1WmJpSDhMczNE?=
 =?utf-8?B?dUVXV3JYdFhOaVhjTzI0TDNLZllOZnBaRmxqbElYOWVMVGZkaUxkeEk1TGI4?=
 =?utf-8?B?dGRML0hPdzBwaGZtNU14SFdncGt0aVN2ZWIyZ1BXa2VvcDgwTVZ3eGlTSW43?=
 =?utf-8?B?NlVqQmNHRGFKcU4vcmxYb1o2d3h3a0JnbVQ5SWVaWTJVUHlZV3pPY0x1U2kr?=
 =?utf-8?B?aVNKSDVkMDg2TE9kdU1zVm5Ebmt6WmsraUxldTJVZlFmajdDVVpGOStZcStX?=
 =?utf-8?B?NnZidjdjclJMcHZyZElHTGc5eFNrUEMrSUttZmwxWHdRcFkveTFRZm9vQXkw?=
 =?utf-8?Q?Xb40J8?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 507ad459-a594-448b-1912-08dd621155c0
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2025 09:27:54.8677
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bcf48bba-4d6f-4dee-a0d2-7df59cc36629
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3P110MB2023
X-OriginatorOrg: boeing.com
X-TM-AS-GCONF: 00

SnVlcmdlbiwNCg0KPiBPbiAxMy4wMy4yNSAwNzo1MSwgQ2hvaSwgQW5kZXJzb24gd3JvdGU6DQo+
PiBXZSBhcmUgb2JzZXJ2aW5nIGFuIGluY29ycmVjdCBvciB1bmV4cGVjdGVkIGJlaGF2aW9yIHdp
dGggQVJJTkM2NTMNCj4gc2NoZWR1bGVyIHdoZW4gd2Ugc2V0IHVwIG11bHRpcGxlIEFSSU5DNjUz
IENQVSBwb29scyBhbmQgYXNzaWduIGEgDQo+IGRpZmZlcmVudCBudW1iZXIgb2YgZG9tYWlucyB0
byBlYWNoIENQVSBwb29sLg0KPiANCj4gLi4uDQo+IA0KPj4gSXQgc2VlbXMgdGhlcmUncyBhIGNv
cm5lciBjb25kaXRpb24gaW4gdXNpbmcgdGhlIGdsb2JhbCB2YXJpYWJsZXMgInNjaGVkX2luZGV4
Ig0KPiBhbmQgIm5leHRfc3dpdGNoX3RpbWUiIHdoZW4gbXVsdGlwbGUgQVJJTkM2NTMgY3B1cG9v
bHMgYXJlIHJ1bm5pbmcgb24gDQo+IGRpZmZlcmVudCBwaHlzaWNhbCBDUFVzDQo+PiANCj4+IFRo
ZSB2YXJpYWJsZXMgc2NoZWRfaW5kZXggYW5kIG5leHRfc3dpdGNoX3RpbWUgYXJlIGRlZmluZWQg
YXMgc3RhdGljIA0KPj4gYXQgeGVuL2NvbW1vbi9zY2hlZC9hcmluYzY1My5jIGFzIHNob3duIGJl
bG93Lg0KPj4gDQo+PiBzdGF0aWMgdm9pZCBjZl9jaGVjaw0KPj4gYTY1M3NjaGVkX2RvX3NjaGVk
dWxlKA0KPj4gICAgICBjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91
bml0ICpwcmV2LCBzX3RpbWVfdA0KPj4gICAgICBub3csIGJvb2wgdGFza2xldF93b3JrX3NjaGVk
dWxlZCkgeyBzdHJ1Y3Qgc2NoZWRfdW5pdCAqbmV3X3Rhc2sgPQ0KPj4gICAgICBOVUxMOyBzdGF0
aWMgdW5zaWduZWQgaW50IHNjaGVkX2luZGV4ID0gMDsgICAgPD09IHN0YXRpYyBzX3RpbWVfdA0K
Pj4gICAgICBuZXh0X3N3aXRjaF90aW1lOyAgICAgICA8PT0NCj4gDQo+IFRoYW5rcyBmb3IgdGhl
IHJlcG9ydCENCj4gDQo+IENvdWxkIHlvdSBwbGVhc2UgdmVyaWZ5IHRoZSBhdHRhY2hlZCBwYXRj
aCBpcyBmaXhpbmcgeW91ciBwcm9ibGVtPw0KPiANCj4gQW5kIHBsZWFzZSB0ZWxsIG1lIHdoZXRo
ZXIgYWRkaW5nIHlvdSBhcyAiUmVwb3J0ZWQtYnk6IiBpcyBmaW5lIHdpdGggeW91IQ0KPiANCj4g
SnVlcmdlbg0KDQpUaGFua3MgZm9yIHRoZSBxdWljayBwYXRjaC4gSSBoYXZlIHZlcmlmaWVkIHRo
ZSBwYXRjaCBmaXhlcyB0aGUgaXNzdWUgYW5kIEkgY2FuIHNlZSBkb21haW5zIGFyZSBydW5uaW5n
IGF0IHRoZSBwcm9ncmFtbWVkIGludGVydmFsLg0KDQpBbmQgSSBhbSB0b3RhbGx5IGZpbmUgd2l0
aCAiUmVwb3J0ZWQtYnkiLg0KDQpNYXkgSSBrbm93IHdoZW4geW91IHRoaW5rIGl0IHdvdWxkIGJl
IG1haW5saW5lZD8gQW5kIHdpbGwgaXQgYmUgYXBwbGllZCB0byBhbGwgYnJhbmNoZXMsIGxpa2Ug
NC4xOSBhbmQgNC4yMD8NCg0KUmVnYXJkcywNCkFuZGVyc29uDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:29:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911692.1318089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsesa-0007fB-Tr; Thu, 13 Mar 2025 09:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911692.1318089; Thu, 13 Mar 2025 09:29: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 1tsesa-0007f4-PF; Thu, 13 Mar 2025 09:29:28 +0000
Received: by outflank-mailman (input) for mailman id 911692;
 Thu, 13 Mar 2025 09:29: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsesZ-00073f-N4
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:29:27 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20618.outbound.protection.outlook.com
 [2a01:111:f403:2407::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7d37795-ffed-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:29:26 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by MN2PR12MB4373.namprd12.prod.outlook.com (2603:10b6:208:261::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 09:29:23 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 09:29: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: a7d37795-ffed-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Rdda0Jym0O0S2QxwhaN4y0nY0D0j4W0FzYmucXX/cA6a9Vo8xyJdQ/yPeZsnJ+JooG2kQlrYzERLsE3QzyqymIH1kP86IzrjTha2GfIFI7ZNgDzEvzHDhscHc9zJTCcTRnZMmErmW53eM4jthucQVuAHJNoSW+B+s5owho7BnKtdi/8Lzp33jgU51wtdlh2q4Vo1965laibuDOLU9hRPB946JPEUXXZ2P1qZVP8UL7BtPjnFSxyFYO9HQpqxXyU5TvAjafNVHlTjW1NxUMqkKDmfw6dXu3/tsjADTi1zG06Usg3SqzhDuOZVND3z5NiCzMZB6/7BCfUUB0Ew7wShEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tZXHQsqvPnFfoUWzocheZMxcy1ZL1XdKeTeeg83BgJo=;
 b=XPf5/YHzVJ/6DT1ke4iS1qLuK1G5ribfTPbMVZQXhVr9YX+JoD1wXfC0YrgBf9qGf+ZABXl3insnbPGo0iUBbISk4076nwmoeumXMFUdVuewgF64QlTR/D01QvQo7cTPcOHoVSP+Z7ttCoeBwh/XNTDCWwK5Q3PtqlNWTBRxU6xoSf7B5RTcEOoUjAGJGHL+Q+CabUDPnWNa0gP0H7ebgmzCQsdftIcoruX1Mo6nvfhjyW5aUzQSFatmmYguAdh96gRuh+76t5cLuiLSVJukGTFOXipRVQFCaVdrkJQhRQ+E7XSJG19cDZxZpV0r07eFKzYLPjjvgZqIXN+qGaTwMA==
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=tZXHQsqvPnFfoUWzocheZMxcy1ZL1XdKeTeeg83BgJo=;
 b=KRZ4J0GCliUligAfRIpdPU0o73zLilODdUeqt+/y8i7TK2AF1qsBwqAKexmNkP6t82ThYgkIgSpDNG0wEjT7EhM3I3vJf2cS6ohg0UzTMHDx3SSKlergvQK7adUcTmeFYldLLCfb/g15f2Ddggu8T3yfcp6usvEDR1LRZGg2Y7A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <25481877-e9de-4573-b721-e0dfc060a991@amd.com>
Date: Thu, 13 Mar 2025 10:29:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/10] arm/mpu: Introduce frame_table, virt_to_page,
 maddr_to_virt
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-6-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-6-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0301.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f6::13) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|MN2PR12MB4373:EE_
X-MS-Office365-Filtering-Correlation-Id: d0c35226-c2c1-425c-b399-08dd62118a95
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?dkEwaFJ1b1hyYVFSSysxS1hhT0owcTFrblR4bUNrVHNONWFqMkd4V2VqT0hp?=
 =?utf-8?B?SVYyTWF1aVVyZ3N2SzZydFhScElleUsyU1BCMkRQczdQbXVYS0tnQU5ja0tr?=
 =?utf-8?B?YVpLZ2JyRmd2alJVS3NmVXdqVkNEdi80b0ZjSUJDNnNjS0pqcW1VaVBVcWhV?=
 =?utf-8?B?VHd5ZCtQTWtWdDhjMVhaa2VaWUFVUlN5YWtEdnRVOGFWMEtwWlhmWnl4amZz?=
 =?utf-8?B?Z2F6ZUdoU3pwTzcvWldOUjFpdk1zaGpNMy9qQ09kdGJNNlpPNHRpOFl5QkdQ?=
 =?utf-8?B?TXNOZFdEc00yRkRwbHFaa0lMVjFqSWRjYnF4cnRIMVdvZUxHY1dMSjAxQ3Jk?=
 =?utf-8?B?TUxPc21sMk1WVDJmUzZvaHI4Z29ZaEJxbFFKUWRzQUVnd3pUUStjYjNIRCtq?=
 =?utf-8?B?TDYydkVENVV0RHdoakRHeDU3ek44SUVQV3FoREdjNGgwcVlIZVRkaUpwTThL?=
 =?utf-8?B?ZDBSV1FNUXJESlBiM2M0QXJTS2ZqRjJyOUpNVVVyY0k1cU9sdzhYUmovMnFq?=
 =?utf-8?B?WDUvOVZ5cTJaM1N3SjNhWXI0OGhsYVg1QXNPeE8rSUUxdjZ1M0Q1THRmSHVM?=
 =?utf-8?B?MVJJNmpNR1NJdDJDTEUxWmEwUG5ldXBPRE9ONU1kTUw0K05xZzJpVTVaVmxQ?=
 =?utf-8?B?WjR4OEZlVzNCTDU3OGVnbkxyTmROTWI0SzE5NE9jbDhaM2ZGZm1RaWRiU1I1?=
 =?utf-8?B?WjhjM1hObHRIOG9GWkNRb3o4U3VRdVVUbjduSk1oM0xiSlAwQkYzQWNFS0VT?=
 =?utf-8?B?bVh4WmthWWZmQ2pKYnVCRU9TaHh0UXBsNmgyOURUYzZvUU10ZytYRjhNNVVO?=
 =?utf-8?B?WHdrRzZZTWo5NmVBcUVsK1JWeUdhOWFOWTRUdTdUZ3d2UFBLamJmeUVLZHV3?=
 =?utf-8?B?enFGT2ZJNkVQdHJiOUJWQnRITUExbys5SjAzdEk2QzhpU0ZHaEFxWXVGUm5J?=
 =?utf-8?B?L0hnWTJmQm5xTjZwdGY3V081VUE5MWo5Y2ZCS0h6NkRZQk5qdSs0N3k0UVBs?=
 =?utf-8?B?aFAzQ0JwZW9ORnVjamZzMDZ6TnJjb1JNWUZ1Y2dDVjRRY2k0cXhudWZCeDZy?=
 =?utf-8?B?NUZNK3RIZWs4SWFVZDdTeTd6d0N0aTJCMkg2dllZZHNXYWtFb3lodm5vUlc2?=
 =?utf-8?B?ODd1Y2Z2bVN0djNRV21iUHJQYldZYUNBOEJKM2Mvc0dmUUpTOWZnY0V1TzU3?=
 =?utf-8?B?RG9UUUU1SlpRKzgxakcwcWYvbXllRTFENkpJSmZUVytsOFlVTTgxY1J4VFpE?=
 =?utf-8?B?ck9nUU1vc05rRWdsSW94Z1lZVE0wSXJubDBDTDNJemVZL2dOMFFkU2owSnNK?=
 =?utf-8?B?VE1UV1V5NVB1cDFpeFhac1ptZ21YbGZ1b0ZKRTlKc0hidjdCZDkweVBjK0k1?=
 =?utf-8?B?eGdVS0dad3VsblBmNlpvL3A3eUg1WkxiczNBQjd0TDdyN1gvZ3VTeHFaOUdx?=
 =?utf-8?B?Y21xbU5qU0lsem9PTW1FQ1p3dzQvWXM5RTM2R3RKRk1NazBRY3J6WjgrZFVw?=
 =?utf-8?B?Zkd6b1pLTWE0RjV0QmpBM3NmTWpvbVg1TlljMXArNFhzWHRQN3RkTmZyY1o0?=
 =?utf-8?B?MC9sWWRQSXN3OG1qUXRPL043ZFViYTdhOUNxZlY2S0dYZjhWT0hieHdqdEgv?=
 =?utf-8?B?ejBIWFlZZHViRy9Ka0kvUVE4b3JJNnhnWkxxVHZrcHJqQ1J4Z2dlRXR2cmN3?=
 =?utf-8?B?V3pBdnhHQWZ0WllVVHpJRjkyTitWaTFMdTdpUmdjdXVLV1JKN2lXa3Z3Lzc1?=
 =?utf-8?B?b2lFSVgySXhGOWE5REFjWUp0bkxmRG9zN1BoNUJqeGxoL3FyZGcwRGJzM3VN?=
 =?utf-8?B?WEkwSkRxTDh1anVmcUltYzZqU1FkMXZ1L0NGYnhmMEFwK21qb09mYm1QZ2xQ?=
 =?utf-8?Q?adUOrZ1RCKbSg?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?UG1BODVDbENzemk1NlM3cmY1WWV4dWp0azZwK1M4eFVpTmZYRnRUdnk4WEdn?=
 =?utf-8?B?RnZiZ0dBSGcxc2ZVcm9FSVZBTWZ6cE1oQVYvemNYczVVUndJNUJvM3FhR3Uw?=
 =?utf-8?B?elZkaGtaMHU2VXB5dTMrQ2VrcHAraVZ5N2lKNitDQjk3cXNwaXhVWDErbWgz?=
 =?utf-8?B?ZlJzczhiNXRpc3JzYVM2cklXZGtTNS9ESnhFYmI3VGtzRmx1UDBReEo1d0Fw?=
 =?utf-8?B?d0RUUWdpb2JaTm1CU2hKcTBxS1owOU11MWpBSXVyUXFJc0pJNlFTa1lJY1ZY?=
 =?utf-8?B?WmwvZTc4cm9FMEg0SlNmdUYxdDlsQ3V4ZGhDRjlFUGJuYjRia0tHM3BaM1Ju?=
 =?utf-8?B?dDdlUnozeU12aUp0c3hPNG8ybVM3c01zUlN3RGF3TGNqeFVuUlRhQmRZS1pk?=
 =?utf-8?B?U29ZTzlzaU10ZjIrN1U0UmFlUkhFc1pRenRIdHJEY3hCR0JuWHhIZjRSaklr?=
 =?utf-8?B?QUFhYkJsN3NaWlRERmNKUXFIUUdmZWtOMG55YTZjS2xRVlA0bnlFS0hkR1BW?=
 =?utf-8?B?aldGSjFnTnAxUnRQTmVKR3Njakpub3NDaFJibzQ2bE0veWRRUEUrNE9OQUp1?=
 =?utf-8?B?UWJqdlgvSkh3dWlRQUR1ODZ5Z1dMUjVCRFN3UFk2aUxBSXhrQmZUaFRXY1dL?=
 =?utf-8?B?ZnRTaXI0eG5vVkJLa1dDNFA1QnlKNWtaZklRQmE1Q0kyNEJWb3R5MW9MTnVC?=
 =?utf-8?B?dWpvaVdWQmZKdWVKNnZyazlPa0x2azJxd0I1N1BPQUc0a1lWbm9jY2RlZzJU?=
 =?utf-8?B?bEhzUlZOa1UrNEo2d3FwZFpDQ3pPb092YnE3TWNwTkprNWN0MFdEb3BVZHZk?=
 =?utf-8?B?ZFVCQ3QxTHdteUVKOVJUamY3K3ZjRnJyMGplTStVZ1FzNzRyRGtwcnpQNmVM?=
 =?utf-8?B?c1RiU20rRWhzank0eTBJaGc4a3pPNnFldm1nWFFVcmx5ZlM4L2FVbTFDcTFn?=
 =?utf-8?B?Z1ZZMXE5UDlzWmZxajNua0JQL2VPQSt6bHNLeXl3UTdjdWxBSVg4M2VrYU9p?=
 =?utf-8?B?N3Fhb2k1YVhuNmhYVkgyTm4xQkx6aVRyTUlvVis1SGIvN24ydHFxME56aE5H?=
 =?utf-8?B?eFpYWE42Y3pSb2RONWxtRytTU3crMUhDM1RTRHJLUDI1Qkw0YThYTGJucTNu?=
 =?utf-8?B?dGNPZWtHdzl6MG9yaWcrN1psUUR3dUl3SXRBSEJWNjNSR2hkYnZtbzAxa2sz?=
 =?utf-8?B?SGtJNmNQZ1V4QXpjK2J2RGJTV3JIUWl4WXROTDluQmJjaWlnRko1dHZWdGlR?=
 =?utf-8?B?KzlwZ1Z4aFFqWmVTanNNbkl1STNUVlRFTmhCaFdKcFR5UTNtaFd0WURRK1g1?=
 =?utf-8?B?OWdNelhmRHYwdDBEZUE1bEVmZlZ6VEpLRUJZRVM0a1k1ZHcyZUZyWS8rczZR?=
 =?utf-8?B?NzBPU3pWSkNHUnVjbEpkeTd6RHNSMVIxeGRSaU1xKzlSb25SWHdaYUFTd2J3?=
 =?utf-8?B?T1FsUndHRGszUEFIdmxQYjdZNGl3WHpra3RvSGF1T3Bxc0ZTRmJyeWp0M2N5?=
 =?utf-8?B?SDF0OTFJeDBmRGtpUUlSYzM3cWFVN08waHhGNzVFc0x4MUVxaEdkMW1rVW5U?=
 =?utf-8?B?WDZwSjhqWWdJQUsvVUx2dW1ubEdYejR5dEgxNXkxbVlPSHpEZG1GZkN0OHd1?=
 =?utf-8?B?MjdSdW05VjNFdVAxaFJkbHJ2Sy93WU5abWFOdVorRmRBdzdEekIwekNFS283?=
 =?utf-8?B?S2YwRXRKZkJUWW8yelNTUmRzNTJRNHdoQ0g0SDBPbEdJSWtOV1d0REhLS1FP?=
 =?utf-8?B?REw0N3BxYzJ0bC9zUDVsS3pXNWVYekIrNEZVMHpRdjVPUFJGNEF5NUN0WnZ0?=
 =?utf-8?B?eE1KNmhLb3YwZWhyQzAwc2x2VmtZeTlGWWdJTVYwam91U2d5UzBlSFV5TlpM?=
 =?utf-8?B?NlY1TndnN0phWmJWd3Rza1pTbDVOdUFYRkdKQTdqY1lKU3BsNEVtZ2xqMHRW?=
 =?utf-8?B?RXZOcHV1MXU4aXUwbjdORTYySzJTMXJxZ3loOUx3Vm4rUGRNVTRBaXM3ZWFX?=
 =?utf-8?B?NjJRRGluQmtBV1JLQnNweWUvZC9FS0YyLzhNY2F3YkZVNmZTWU5DdUIrL0x0?=
 =?utf-8?B?Y0prc01UVzhXTVZJNkl6SFdZSFM0bHlHeE4wZzdCK3JKNVp2WllqUTg2QnVZ?=
 =?utf-8?Q?hE0k=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0c35226-c2c1-425c-b399-08dd62118a95
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 09:29:23.6984
 (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: 9q51nOTrKiwxQXCPMDAo/gnC4NZPXJqzZNLDgLfAgx9B013USGX7T81ptSB2f3W0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4373



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> Introduce variables and functions used in the common Arm code by
> MPU memory management subsystem, provide struct page_info and
> the MPU implementation for helpers and macros used in the common
> arm code.
> 
> Moving virt_to_page helper to mmu/mpu part is not easy as it needs
> visibility of 'struct page_info', so protect it with CONFIG_MMU
> and provide the MPU variant in the #else branch.
I see we move some helpers to mmu,mpu while others stay in generic mm.h. If it's
not possible to do the movement, then I'd suggest to keep the pairs in generic
mm.h to avoid situation where one helper e.g. MMU is in generic mm.h and for MPU
in mpu/mm.h

> 
> Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
> pdx.c.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  xen/arch/arm/include/asm/mm.h         | 18 ++++++++++++++++++
>  xen/arch/arm/include/asm/mpu/layout.h |  3 +++
>  xen/arch/arm/include/asm/mpu/mm.h     |  3 +++
>  xen/arch/arm/mpu/mm.c                 |  4 ++++
>  4 files changed, 28 insertions(+)
> 
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index e7767cdab493..c96d33aceaf0 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -341,6 +341,8 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
>  #define virt_to_mfn(va)     __virt_to_mfn(va)
>  #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
> 
> +#ifdef CONFIG_MMU
> +
>  /* Convert between Xen-heap virtual addresses and page-info structures. */
>  static inline struct page_info *virt_to_page(const void *v)
>  {
> @@ -355,6 +357,22 @@ static inline struct page_info *virt_to_page(const void *v)
>      return frame_table + pdx - frametable_base_pdx;
>  }
> 
> +#else /* !CONFIG_MMU */
> +
> +/* Convert between virtual address to page-info structure. */
> +static inline struct page_info *virt_to_page(const void *v)
> +{
> +    unsigned long pdx;
> +
> +    pdx = paddr_to_pdx(virt_to_maddr(v));
> +    ASSERT(pdx >= frametable_base_pdx);
> +    ASSERT(pdx < frametable_pdx_end);
I struggle to see the usefulness of frametable_pdx_end and we don't generally
add more that start, size. Looking at your tree, the only use of
frametable_pdx_end is in this ASSERT which is a bit pointless considering
release build. You already have start, size, so you could open code it.

> +
> +    return frame_table + pdx - frametable_base_pdx;
> +}
> +
> +#endif /* CONFIG_MMU */
> +
>  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/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
> index 248e55f8882d..c46b634c9c15 100644
> --- a/xen/arch/arm/include/asm/mpu/layout.h
> +++ b/xen/arch/arm/include/asm/mpu/layout.h
> @@ -3,6 +3,9 @@
>  #ifndef __ARM_MPU_LAYOUT_H__
>  #define __ARM_MPU_LAYOUT_H__
> 
> +#define FRAMETABLE_SIZE   GB(32)
> +#define FRAMETABLE_NR     (FRAMETABLE_SIZE / sizeof(*frame_table))
> +
>  #define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
> 
>  /*
> diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
> index 57f1e558fd44..2219c9979548 100644
> --- a/xen/arch/arm/include/asm/mpu/mm.h
> +++ b/xen/arch/arm/include/asm/mpu/mm.h
> @@ -5,6 +5,9 @@
> 
>  #include <xen/macros.h>
> 
> +extern struct page_info *frame_table;
> +extern unsigned long frametable_pdx_end;
> +
>  #define virt_to_maddr(va) ({  \
>      (paddr_t)va;              \
>  })
> diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
> index a11e017d8a96..4036dd62eeeb 100644
> --- a/xen/arch/arm/mpu/mm.c
> +++ b/xen/arch/arm/mpu/mm.c
> @@ -3,6 +3,10 @@
>  #include <xen/lib.h>
>  #include <xen/init.h>
>  #include <xen/sizes.h>
> +#include <xen/mm.h>
It's not great for a relatively new header to not have its includes sorted.
Please take the occasion to reorder them.

> +
> +struct page_info *frame_table;
> +unsigned long __read_mostly frametable_pdx_end;
> 
>  static void __init __maybe_unused build_assertions(void)
>  {
> --
> 2.34.1
> 

~Michal




From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:32:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:32:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911702.1318098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsev5-0000j8-80; Thu, 13 Mar 2025 09:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911702.1318098; Thu, 13 Mar 2025 09:32: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 1tsev5-0000j1-4w; Thu, 13 Mar 2025 09:32:03 +0000
Received: by outflank-mailman (input) for mailman id 911702;
 Thu, 13 Mar 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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsev4-0000iv-Bz
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:32:02 +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 04494e61-ffee-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:32:01 +0100 (CET)
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 B48CF21192;
 Thu, 13 Mar 2025 09:32:00 +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 75CF1137BA;
 Thu, 13 Mar 2025 09:32:00 +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 PFNbGxCm0md5OQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 13 Mar 2025 09:32: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: 04494e61-ffee-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741858320; 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=M+CCvI7ESFCVI0+iNCbHsd2z9jFiWpc1UaEfWkSbBnE=;
	b=OJ68MAX3iOYqx4QlMyCWZEDMBWA5bEwZnxfrntETclHIc82lQVwEzgrXJB9RqNLqtSg4O9
	MU4wbn3V9daXStUupkhvKl1gWq4SwOVedet1JWsKov5ghiqlv+e+WzluMrf4Rv++YVlpd6
	BEBju3FzvHZqOqG2sKj82pxvEdDP8Hc=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741858320; 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=M+CCvI7ESFCVI0+iNCbHsd2z9jFiWpc1UaEfWkSbBnE=;
	b=OJ68MAX3iOYqx4QlMyCWZEDMBWA5bEwZnxfrntETclHIc82lQVwEzgrXJB9RqNLqtSg4O9
	MU4wbn3V9daXStUupkhvKl1gWq4SwOVedet1JWsKov5ghiqlv+e+WzluMrf4Rv++YVlpd6
	BEBju3FzvHZqOqG2sKj82pxvEdDP8Hc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	xen-devel@dornerworks.com
Cc: Juergen Gross <jgross@suse.com>,
	Nathan Studer <nathan.studer@dornerworks.com>,
	Stewart Hildebrand <stewart@stew.dk>,
	Dario Faggioli <dfaggioli@suse.com>,
	George Dunlap <gwd@xenproject.org>,
	Choi Anderson <Anderson.Choi@boeing.com>
Subject: [PATCH] xen/sched: fix arinc653 to not use variables across cpupools
Date: Thu, 13 Mar 2025 10:31:57 +0100
Message-ID: <20250313093157.30450-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	RCPT_COUNT_SEVEN(0.00)[8];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

a653sched_do_schedule() is using two function local static variables,
which is resulting in bad behavior when using more than one cpupool
with the arinc653 scheduler.

Fix that by moving those variables to the scheduler private data.

Fixes: 22787f2e107c ("ARINC 653 scheduler")
Reported-by: Choi Anderson <Anderson.Choi@boeing.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/arinc653.c | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index a82c0d7314..9ebae6d7ae 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -143,6 +143,12 @@ typedef struct a653sched_priv_s
      * pointers to all Xen UNIT structures for iterating through
      */
     struct list_head unit_list;
+
+    /**
+     * scheduling house keeping variables
+     */
+    unsigned int sched_index;
+    s_time_t next_switch_time;
 } a653sched_priv_t;
 
 /**************************************************************************
@@ -513,8 +519,6 @@ a653sched_do_schedule(
     bool tasklet_work_scheduled)
 {
     struct sched_unit *new_task = NULL;
-    static unsigned int sched_index = 0;
-    static s_time_t next_switch_time;
     a653sched_priv_t *sched_priv = SCHED_PRIV(ops);
     const unsigned int cpu = sched_get_resource_cpu(smp_processor_id());
     unsigned long flags;
@@ -528,18 +532,19 @@ a653sched_do_schedule(
         /* time to enter a new major frame
          * the first time this function is called, this will be true */
         /* start with the first domain in the schedule */
-        sched_index = 0;
+        sched_priv->sched_index = 0;
         sched_priv->next_major_frame = now + sched_priv->major_frame;
-        next_switch_time = now + sched_priv->schedule[0].runtime;
+        sched_priv->next_switch_time = now + sched_priv->schedule[0].runtime;
     }
     else
     {
-        while ( (now >= next_switch_time)
-                && (sched_index < sched_priv->num_schedule_entries) )
+        while ( (now >= sched_priv->next_switch_time) &&
+                (sched_priv->sched_index < sched_priv->num_schedule_entries) )
         {
             /* time to switch to the next domain in this major frame */
-            sched_index++;
-            next_switch_time += sched_priv->schedule[sched_index].runtime;
+            sched_priv->sched_index++;
+            sched_priv->next_switch_time +=
+                sched_priv->schedule[sched_priv->sched_index].runtime;
         }
     }
 
@@ -547,8 +552,8 @@ a653sched_do_schedule(
      * If we exhausted the domains in the schedule and still have time left
      * in the major frame then switch next at the next major frame.
      */
-    if ( sched_index >= sched_priv->num_schedule_entries )
-        next_switch_time = sched_priv->next_major_frame;
+    if ( sched_priv->sched_index >= sched_priv->num_schedule_entries )
+        sched_priv->next_switch_time = sched_priv->next_major_frame;
 
     /*
      * If there are more domains to run in the current major frame, set
@@ -556,8 +561,8 @@ a653sched_do_schedule(
      * Otherwise, set new_task equal to the address of the idle task's
      * sched_unit structure.
      */
-    new_task = (sched_index < sched_priv->num_schedule_entries)
-        ? sched_priv->schedule[sched_index].unit
+    new_task = (sched_priv->sched_index < sched_priv->num_schedule_entries)
+        ? sched_priv->schedule[sched_priv->sched_index].unit
         : IDLETASK(cpu);
 
     /* Check to see if the new task can be run (awake & runnable). */
@@ -589,7 +594,7 @@ a653sched_do_schedule(
      * Return the amount of time the next domain has to run and the address
      * of the selected task's UNIT structure.
      */
-    prev->next_time = next_switch_time - now;
+    prev->next_time = sched_priv->next_switch_time - now;
     prev->next_task = new_task;
     new_task->migrated = false;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:43:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911720.1318124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsf6H-0006IG-DC; Thu, 13 Mar 2025 09:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911720.1318124; Thu, 13 Mar 2025 09: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 1tsf6H-0006I9-A3; Thu, 13 Mar 2025 09:43:37 +0000
Received: by outflank-mailman (input) for mailman id 911720;
 Thu, 13 Mar 2025 09:43: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsf6F-0006I3-Bo
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:43:35 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20616.outbound.protection.outlook.com
 [2a01:111:f403:2416::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0112909-ffef-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:43:33 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by IA0PPFD7DCFAC03.namprd12.prod.outlook.com
 (2603:10b6:20f:fc04::be7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 09:43:30 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 09:43: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: a0112909-ffef-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jhzZYlzIu8upEXWeV/q1rucc+QMWS30z+jBlVTHe5M7G3S8vWgFI9kMD1glxaZeQFUf/FjHxwFs5PG8KpY91Pt1VpZcDtadBLXVh2cfOzQr45ZU3Cka4LDr3AG+fgruPRYPP3dmbVLu6OkSwNxoqL69MNURp6CseCg4zQx3QWiFGufaSrhXLBQV+IqZA+iZgZBh8dwxs77h6QEf5gkwrxjh2Dn73eBVUQqc1izF66xcMKCuz7RrJKb0p58jiyrCw1PRG8DOs3/P6E64OhEISugMiTUBwTv3kzgZBw/R7m+C+soTJRZ9iq0B6hsc229kS37w5ygKL2qxao8c386rorw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1MLgFIuHglnkmHeZHvk8nI94EBwsLduf7dnCxaU66Eg=;
 b=xkg8sQefUmqKHX7m7X4nXXoSp9buEfG+HTVn0hRvYAHdYoDg4d+Pqgpz3IswMt7b53W6FD83qcVtOS2RAuqlw6u26Xph1rBSWFDdNkpTZSE+9LIKlmlo1esMOVFMehpO7CdzZhNCA4sFtMoJqXIsZ31O3+TYSp0Soc2EKc4P9GFswsJcu23r5xubNPcPZ+fUrr1Is8aQS3HpjsNCi0r0vf4I4dmp2NOh7aSuQ0hhsa1hpfgD7E0K5+AuvgHx+bBvEDEVPeU+xxg4082MaS0zBXxZqZ+OzoUEOudzLCcNHyU96VALQ5W0G5wXEgt9OlsyO1LUT6nFwgkUAT/3vmZZ5A==
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=1MLgFIuHglnkmHeZHvk8nI94EBwsLduf7dnCxaU66Eg=;
 b=Ayj0wZgEMaMomAdRO7wLI2FPh+6FwXptBOXU2v1DXtNGospRyHNG98qkrjgTpwG8+msB5D4HE6gmRj81jZw5pfttMO8GZO4GK2VbRsEfz8zXGX5r4/HACTrhcgK3qw2D2HaUZNUcmP6RP/Rbjk570445adbXWNnHo34clArUwog=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <6a372989-e51c-4165-8f03-41da8e3a9bdd@amd.com>
Date: Thu, 13 Mar 2025 10:43:26 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/10] arm/mpu: Kconfig symbols for MPU build
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-7-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0298.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e7::7) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|IA0PPFD7DCFAC03:EE_
X-MS-Office365-Filtering-Correlation-Id: 71dffad7-3d45-4632-1699-08dd621382dd
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?S3d4U2N4RmpLWG9QQ2hIWmRXb2dFcE93enhDeU1BK3hTekdCQ1VwMFNldWZ1?=
 =?utf-8?B?RTNRbXdPTnp3clJCOFNzc2tDWms1UmJtR3M0YlA5WlNOMkRvc096R1d4eHVq?=
 =?utf-8?B?b0g2bHFWTitrQWo0YlZIb1NFSmcrbkxQZzJVUGZJbTVCdjVKMnZwNUhkd3hB?=
 =?utf-8?B?TGY2MUF4VjRURE41OUx3cHlwVnM4RGp1NjNSTzJiNG0ySVhGVlc3b25NMW9y?=
 =?utf-8?B?TW1jUHV1S3RiczM5U1ZxbmE0RU9hS0Q1a3p6WTlLVjd1ZzViL28xRUNJL00r?=
 =?utf-8?B?cXBLMWdqQWhLTitqSDBvdS8vNitLS2RsWExIVzI3MDNXVURsMTFBR1RzWkRq?=
 =?utf-8?B?QVkrMEJjT3F0UmJkWm5DWnJhWVhTVzZpQ0VITDJPcm0wNFRTaHpGdGVtR1hC?=
 =?utf-8?B?K09RamtGTGIxVG50czdjQkNHdVdlK1V6cXFlNDk2NUpGL1dxTTdUN3RuaHZX?=
 =?utf-8?B?L09zK2NIZitLTURqazZwWTEyNzNGY1poR1FvVEVQRy94R085WUNHS21aY3hv?=
 =?utf-8?B?WEt3aER0T1ZOZ0NjWUZMdjRTM05GUTNucTRLY1QwV1VnYThOQ29tWWxxT0Vi?=
 =?utf-8?B?a25qNVlBanR5Z2dBZXdHNnpwRWorVGtyUVQ1YW9aRi9tSjRZUDB4Zyt4aEVB?=
 =?utf-8?B?dDJ2YTBYWnpXVVIxSE4zbHNzT2VheDFSWm9BNy8yWlRNRE90ZkpUQXVVS2Ft?=
 =?utf-8?B?WmtpZEpVVTROSHBrVnd4cnBLSEhuY2d6aitUdUVyZ3M1NGt6NU1aQ3RNNXJi?=
 =?utf-8?B?TDhmZHVaeW1ndlA3WUtHa21iT3JkTnk0bmc5MTVjWnpuNlpDd3BudkVkcHJJ?=
 =?utf-8?B?NDdtNTIrWWh5enB5Zkw0VWpLc0lqWUxFL29ycGtIVXRBNHNuOGlPUW9WT1Ew?=
 =?utf-8?B?bU1VQXlkWkh4Vld5VjZkZGxUN3JTSVRWWnpxcFZjM0RLUGVrOHhjMHFHcThC?=
 =?utf-8?B?OHRiMFA0NmROV3g0czFMTHlqY1l2eGVJK05tQTJjOGxwQWl6SXlFNXFLRWVF?=
 =?utf-8?B?TzZhdlZvSE9heG5QdEtXUnFaS1hGekZ0eDQyYkFZS280YjRoU0lYYjRWTTla?=
 =?utf-8?B?Yjlmend2V3lMK1lOVEl3NFNsVEhIaFNNalBlN3pOTG9HQXY2NURLa1dMbHg0?=
 =?utf-8?B?UW0xYWpiSk9KbkVIUmFoQ0QxTEx4eGdnM2xJTDNtUWNaeDRqT29mN3duUmdt?=
 =?utf-8?B?RFhvdzA3dXMxMDFzdzBhZklYeTdMR2RIRysxUUNXWUJFK255ejRZM2FBVTBy?=
 =?utf-8?B?QVZ1Rk1aYWo0K0RFM1l2TzlFdG90QUpEaTZOK3FTOXB3WVdzeklhKyt6Z3BS?=
 =?utf-8?B?Tmp0MW9WV2hmdHZLbXRvYkg5c3BPQVN4K1g2ajNuczNIblRFYjZRVGtmaVIz?=
 =?utf-8?B?dVpkOW1vZ1FNK2QrY2x0V3NzbjhXQXZWT2g1MHZUbU1aa2ZXRTJjc3NaN3Y1?=
 =?utf-8?B?NW9VMEVtV3FObTFad1p2c0duUUZ0S0xhS0FMczlyald0Mm9kWXhSUlFDWWJ4?=
 =?utf-8?B?SVZ2UWNrSkVMQ1JtM05HUzJ6cXFtS1p5dnVLY1dUVzBpNEpoQkpyK1VMVmg3?=
 =?utf-8?B?Y0Q2aFpwM013bTVMYlQxZ2tMekR2U2RTdTVJV29memxTMDcwT2QyWjhEWXRH?=
 =?utf-8?B?YVA2Y2ZyMHFGYi9ocHVKTWlnM0xBU0krTjNkdlgrR3ZYenRjQldSSnlzakNM?=
 =?utf-8?B?Q3E3ZmJxR2NEaU5yMm1jVU54dzRBc2x5RnRMc0lHSytzYldnaEZnWllkbStL?=
 =?utf-8?B?N1Z0NXhsM2dHVUVUNVYzQ05JN0JYd2gwbHBaNlBxbWtzL1NOL0hZY0hZbnc4?=
 =?utf-8?B?RXI5emxFKzcyZzJKc3pWMHJlQXR4L1d6UDZBK2x1MUVqMFJaemNPNWhicnVH?=
 =?utf-8?Q?+q8SaKOtpLmBi?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?alFqOUMrbXhGR0ZFbDkyYmwrSkliVzRkUmgzMGdMeGxKdnRUaHUyZDFEbmtH?=
 =?utf-8?B?RmhIQUFpSTZzK3dtVVpBVy9PWStBRlZjZkl3ODJkNENVMzBDcHRuRUx6anZu?=
 =?utf-8?B?VmZWN1BBZGxLNXJ1enpjaVduQXMrWnBDaVpSTWQ0WTNjQU52MkFmMzQ0bCto?=
 =?utf-8?B?U3J4WkVQS1FBR3Z1NC9IUzhkbnJwYVVaa3ppQ3lSK2MvZVhQeUlFS1RYYVph?=
 =?utf-8?B?MGhORzJsNUF2bEQzVXpHcTBDdHJaN3IzOEhQUjlYMXBJSlhDdUdxTkNRaHVR?=
 =?utf-8?B?VWQvd2RCOWk2Qmk4UXNySnBuQzZFaDhhalJHVG9LYVhtaXFtd0tId2RNeWJR?=
 =?utf-8?B?TzVoMlM2SzBOVmlPSWY2dGdxRGNlZTFRcGs5R2pKSXJLek9ndy8yMXdUUXJi?=
 =?utf-8?B?akp3WG5FUDZNbjlQY0NGN3F4RzN5M1NUQ00yRGIxaGdBUVBScm83SDVvZHpk?=
 =?utf-8?B?UGVwMm8xZFgxbDNsVEZOTkZocjBMaVNvdHRBU3Z6enB0Ris5Q0VnN0Y0Nzlo?=
 =?utf-8?B?cW5rWFF3YmQzN2J1UXRYd1Y2cVpYeTkydTBPbTlBRHphODlYeDQ1cjN5MWNR?=
 =?utf-8?B?OGd4aVY2blRyc2RVRHdjTm5ONEhmMEVxS0RyZENtZDBRS1pUalNDcTlVQjJ3?=
 =?utf-8?B?L0dTMzJKeFJoVkwvTzh3eDBBbitqWHJxTEF3Nm1NaklQQVdvQU93WlJUNysz?=
 =?utf-8?B?S3BhY2R0OHJuU3JEeHJ4M09KY1ppWU5MZHJaNFJXeHJyMFJVQTk2UVpaRStu?=
 =?utf-8?B?K1VzK2FDNDZDSkVDRHh6MGJlR1Y1UGh0VnhQaUhhbWY2YW85Z05VNDNLRkFT?=
 =?utf-8?B?WmMzOWRiODROcENqSXYvZ2xsRkY1aTlJb0pKNEZMdFVKaFpldjYwdWZ2dW15?=
 =?utf-8?B?Mkl6aE5SNlFuMTFqZWF4aFZNMlFnc2N5STBkOWtCOUhMajlyRjF1d2ZFOVBX?=
 =?utf-8?B?aEhLYnY4K0NJZWliVGdYV3NrY003SlZFaFRNbnhsUk5BNlZKRmhGaTdkcHRh?=
 =?utf-8?B?WXlMWFcxTHFEUlkzR2wveGc5NHcwNFphb0RWek1Wb0lDb2V4RU05T2lDUlBk?=
 =?utf-8?B?dXllbURWNVRsbSt0MTVCQWcxbGtXbkhuSXhraEVFMXF0M0RXU09WYnZUcGJz?=
 =?utf-8?B?U29VbVkxd0k2aFBmRmhNNDI5eDkwYVUwSUdEUDNXRWI5d095R0EyVkV5eGFY?=
 =?utf-8?B?Q1pUNlJPVFhpL0FiL2N3bTg4N1FJb1R1bHlqS09FbFp4UHdqbU96c0J2emRM?=
 =?utf-8?B?bjFMNGZadCtDUkdVQlgzb2RwcFE3NE44dkkrR3FBbzdQN0d3LzZvTnFkQU1B?=
 =?utf-8?B?Ulg3aDNZcnFVV0lybittNGFVWjFGb01Sa3pwaDliSjFPck5qNkRZdUJYQTZJ?=
 =?utf-8?B?K0dWTUNpb3BLM0RFR2d2QnJrbkFQaHFTZEtTOGVzbC92RTdkM0VpaHBEU1hF?=
 =?utf-8?B?Z1pkb0l1OGF0M3hjUDhQV2xZckhHKzBJSU9jTWVLQXAwV0hWSUxvbXpsUmNG?=
 =?utf-8?B?Y005aDQ0ZitmSlliV3NCS2hSZ0p1Tmx0VWlzK1hGNGlTcmFNQkppVzNMRC9a?=
 =?utf-8?B?ajFaVlhXWmxTTDFqUG5WZml1czNoOXBNNDgxVE16OEFlUU1rU0ZzbDd5WHRk?=
 =?utf-8?B?RkpjNVdLRW04VGY4SGpQYThreUl6M2s1VUFibGEvaXFGbFlteUUxcEtoNlJ4?=
 =?utf-8?B?VTJFNDliS1NZVlo2ejNUT1Y4L21EQnp0RmlranFldkNEWEE0ZEEybnRWdi9X?=
 =?utf-8?B?WW5mZUNDTE5ObXJHYU5oNFVpRDdmWHFudGl3ZVV2Wjlpa2hMOFNvYmFLY044?=
 =?utf-8?B?ZS9jNzl0SHVhNWh3Ym4xeTd5UVozYzlOTkpUcndrZ09qNEV1cE53K0FDRWh3?=
 =?utf-8?B?M1NSbmhPVWFGbkxOT2ZQSjh3YmlDMjBnSWcwbVBMcXdzWjdsZ2pvWmVaK2JM?=
 =?utf-8?B?dGQvdjRWS0MzbnN0MEozalBtTkExanphRitPNzRyODJuUkNWZDV0UUFWNzBV?=
 =?utf-8?B?alZwWnR3UlBqeWJrcW1pTDV1Y0NlQ0RRSFM5WWRUdHdxaXZOL3c5dE1BbU8w?=
 =?utf-8?B?dms5MFR2TEhXRkREZnFPelJpSi90S3pVWEkxN0xHMzZwcW5rcEFiSFRLanFa?=
 =?utf-8?Q?Rih0=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 71dffad7-3d45-4632-1699-08dd621382dd
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 09:43:29.7549
 (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: Wc2MGxrindVVUgyOy7YJGnQxksk4F1b7iDAMgVNcJKTn3EKa/dcTajdcnNkiJubk
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPFD7DCFAC03



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> Currently the MPU system requires static memory to work,
Currently, meaning in the future it might not be needed?
Also, I don't see how is this change required to enable compilation (the main
goal of this series) for MPU but because we will have to enable it anyway...

> select that when building this memory management subsystem.
> 
> While there, provide a restriction for the ARM_EFI Kconfig
> parameter to be built only when !MPU, the EFI stub is not
> used as there are no implementation of UEFI services for
> armv8-r.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:48:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:48:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911733.1318133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfB1-0006wn-22; Thu, 13 Mar 2025 09:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911733.1318133; Thu, 13 Mar 2025 09:48: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 1tsfB0-0006wg-Vg; Thu, 13 Mar 2025 09:48:30 +0000
Received: by outflank-mailman (input) for mailman id 911733;
 Thu, 13 Mar 2025 09:48: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tsfAz-0006wa-Uc
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:48:29 +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 4ff79cfa-fff0-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 10:48:27 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3912c09be7dso440768f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:48:27 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395cb318acfsm1542919f8f.70.2025.03.13.02.48.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 02:48: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: 4ff79cfa-fff0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741859306; x=1742464106; darn=lists.xenproject.org;
        h=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=/XufgiXwt1JHlXFUSJwL6fj1nSDPgwOMu2FsdvULnGg=;
        b=AysCryXsZOwMb+Fu9wlUARrcEuBm0dEX00t0cZ6ByDM5YfPU153JBsCoqJjzdZnTqj
         gQpNryS5YDppb4DIkB7iMJiXAYNugmrxdhYJ7o8GcX6a3V7ZlRmyX1x/nuCI/xZu1/on
         7Cd5ZoLc31gyJ4s4CCGS2rVZmghVPkJwuVgTM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741859306; x=1742464106;
        h=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=/XufgiXwt1JHlXFUSJwL6fj1nSDPgwOMu2FsdvULnGg=;
        b=jwGuKOwpWxgfOpnuB438t1zLjZn6ICphgQKrBwuvbzC/a/X60A+ZUA0xO3yVvYrVbi
         Fi5hyVEyPqOSpvBCEAg7Jd9cYdaewkBAdeI1vcdaVx8jqli6xD1LGk1HzbFuIq86qeat
         OO6Uq+F7Bmngew/d9cqTlCxgTV01It1dwaz1Wa5OSjYQXpMqWEX8I9+chck+UPZ3JaXx
         EVelK6nfEk7fl7J//G1higZVkPHhOvaeN/ye7NBDE3lhrM55lskQaiauw67GuCRMolsG
         ODG/azkaNJvVB/bReMk52TpzIDUkJxjFP49K2wJmTUUxkxRQEWtcR+EkyZSEoe6WZtXE
         pW+w==
X-Forwarded-Encrypted: i=1; AJvYcCUDxdLsCggi/iO0Il9irho4k0qKnFrvoMt6W2KeBp7V/wrxWfFMqGRjetMADNO7Uura3zjP6PsPnHA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzejDI2EVQiaZqkiJWHbT/dPVjl346JQ25S/JGb/81nHKPa8NjK
	jM8i6Z4uw8/zWjZdqVt0hd9MqHlhn+ujuVKpsLzNC/hkadE8FG/ulH7oXTT4vt8=
X-Gm-Gg: ASbGncvvKFAV/LJbfY+DFWvVIhMNgvX1/LV9EW0/0C2js6Qq1XvjuSDplHRpX7r3xc1
	ojS1tKgXsbpDH8e2S+HfviRcQdOSLDWQKdHFPC8z3d8U7SK0xawyOc0LuUIK3kczJ3txXIKXvP+
	J0KiuYEGH8lBuMusaZBWe7A8EPs/C23dvfzs7kUCWKhwia/89WhHhSDGbN+gZEMMrc+tr5uDS2U
	EcyBpKY1bZDe2Mq2c4mKpivkkcBvUl168auymeTAnQihQeIpkI/e4daF/EpwJc0GUO67aIoGRYp
	YAb85ItK7/5A/aRwwDjmxShQsMV6TaPWputftEjUDh9nHpOS7A==
X-Google-Smtp-Source: AGHT+IEb5sbCQlzlEYZOYFQR/F/24VIi8AnW0CqZY34XO7/E9/O+jCmNIWWmj8heqBLEwSr0PFiJJg==
X-Received: by 2002:adf:8b92:0:b0:394:7c55:7030 with SMTP id ffacd0b85a97d-3947c5570eemr2362190f8f.30.1741859306660;
        Thu, 13 Mar 2025 02:48:26 -0700 (PDT)
Date: Thu, 13 Mar 2025 10:48:25 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Community Manager <community.manager@xenproject.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1] CHANGELOG.md: Mention PCI passthrough for HVM domUs
Message-ID: <Z9Kp6b3l2YAePqWl@macbook.local>
References: <20250312040220.2624329-1-Jiqian.Chen@amd.com>
 <a8919be5-020c-47f3-8bfa-02dab2f1e2ca@suse.com>
 <Z9G39ULeHr7fp9ur@macbook.local>
 <7977cc2d-d654-49be-8bf9-9d3fe9286857@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7977cc2d-d654-49be-8bf9-9d3fe9286857@suse.com>

On Thu, Mar 13, 2025 at 08:42:25AM +0100, Jan Beulich wrote:
> On 12.03.2025 17:36, Roger Pau MonnĂŠ wrote:
> > On Wed, Mar 12, 2025 at 09:51:09AM +0100, Jan Beulich wrote:
> >> On 12.03.2025 05:02, Jiqian Chen wrote:
> >>> PCI passthrough is already supported for HVM domUs when dom0 is PVH
> >>> on x86. The last related patch on Qemu side was merged after Xen4.20
> >>> release. So mention this feature in Xen4.21 entry.
> >>>
> >>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> >>> ---
> >>>  CHANGELOG.md | 1 +
> >>>  1 file changed, 1 insertion(+)
> >>>
> >>> diff --git a/CHANGELOG.md b/CHANGELOG.md
> >>> index 7201c484f899..b6de9b72ea7a 100644
> >>> --- a/CHANGELOG.md
> >>> +++ b/CHANGELOG.md
> >>> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> >>>   - On x86:
> >>>     - Option to attempt to fixup p2m page-faults on PVH dom0.
> >>>     - Resizable BARs is supported for PVH dom0.
> >>> +   - Support PCI passthrough for HVM domUs when dom0 is PVH.
> >>
> >> Aren't we still in need of SR-IOV support in order to make such an
> >> unconditional statement?
> > 
> > I view SR-IOV as kind of orthogonal to this: SR-IOV is not
> > supported at all on PVH dom0, so it's not just pass through, but the
> > capability itself that won't work as expected when using such devices.
> 
> Hmm, yes and no. No in so far as I as someone who simply wants to use Xen
> would read the above statement as indicating full pass-through support.
> Which first and foremost includes the passing through of VFs.

Maybe we can clarify somehow that SR-IOV devices are still not
supported on a PVH dom0:

 - Support PCI passthrough for HVM domUs when dom0 is PVH (note
   SR-IOV capability usage is not yet supported on PVH dom0).

In any case we should likely wait for:

https://lore.kernel.org/xen-devel/20250308001711.18746-1-jason.andryuk@amd.com/

To be committed?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:51:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:51:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911744.1318143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfDb-0008Oo-Ea; Thu, 13 Mar 2025 09:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911744.1318143; Thu, 13 Mar 2025 09: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 1tsfDb-0008Oh-C5; Thu, 13 Mar 2025 09:51:11 +0000
Received: by outflank-mailman (input) for mailman id 911744;
 Thu, 13 Mar 2025 09: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsfDa-0008Ob-4g
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:51: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 afdf4ee9-fff0-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 10:51:08 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ab7430e27b2so123140966b.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:51:08 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a481absm59285666b.155.2025.03.13.02.51.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02: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: afdf4ee9-fff0-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741859467; x=1742464267; 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=2AeGXZApBOtFvJ543r87/bk8C9Jux8MAjo/HntMgh9k=;
        b=Dpi2kIWEmujGejlf6iUp3gHFPSO9dyKPjW6ARBWRF80I2ZIH6cCqxpjfTLBYlyY+xc
         dxNFvfRdbAbIynk4I9qOT0a9AyVV3XTxddID4h7+d/0OvY6tgQJJI2l1frww2n2Ajj8F
         rMiLY/nfLoACiBwpIH24E296LRyAkRt8mW96jrS1rRKyFCBmE3KCUIBQXCvYZhQ7hDee
         jd9sXdbI6swHh4oJc+JcIl3SY+kQoefIOaD1xlZbKz6FqnCN8Nu42S4snfjKGyatAkGg
         t/3qeqdt/sKIW1uMeKEW6BgQemKzT9HOndlQKbTqBMtkeCZReMPq397wkTed7VUrHkG2
         tU7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741859467; x=1742464267;
        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=2AeGXZApBOtFvJ543r87/bk8C9Jux8MAjo/HntMgh9k=;
        b=j/98Z6EI7+SFv1jS1nASGEvJJsh3qqcgJZNje63kYcdhdXADzTDdbMqrRPUGyVNZBg
         f8FWB+ObSb7M2j9JULCRovPmzOhMGjtkQMd+LN3/ZOuKwSjo5KSu0CcztR8eDHSnBsPi
         A/uwGDj7e3P556r4ZLNwDb15ifu9g4gU+9AjQOykWuZLE7nlTf66rq8asjIXq6H5ziv/
         +fAIsKDeEs42lhSWuEvMK41Ak4Er+LiiSIblroKK3D+J3VcX06qW2MdAj5iFArGlZRnp
         fbBQbRa325vcUdsZY3blU5M6gFHec1sE2qZ04ThjSXnWD3+lx9POvRK+ZkLIp+ID4WU4
         o8HQ==
X-Gm-Message-State: AOJu0YxSaxJ2NnkmAyIvpjIRz7BLRdfldybM+ryKZ958t2OhmpHk4/v4
	5BQfoxHOK4FR55g4kA7q/f9bGgYx7Qw3/oaOMMyVO7gktxVeR+DDU9VrtcAU9PY=
X-Gm-Gg: ASbGncsfRLYxLP0wB+SJxUO3TpE6Y/gK3z1WtiqGXYv2spFrOre43T8EM9GhZyDD+Hb
	+gedIovbYjUwUdcZobn3FJhbYeTVNVwvViu73V1m0uj68h5UonYg/2jzqV99svaqHNoexQ8D2xW
	voB5qvCNL9Lbu0245t1KzHnLVJdWv3eupFmLJheUqwVcjraY198wlJ9xL9+yruct1FQZs7q6QI4
	PHefnDXnQXWzaIFhZ2riKWxsJVS8rNfO/rrdoZQUKT7XCwRBlyqErwFfMjwCnMobjpheBrD9yzN
	xOvLz6wn+NnpkDgseg0EB617hRrETBGfXm/RJ4C0ub9BsKvj051MclBs9ybb9mzDDtc9NRGkLa9
	snIqP+62vKpWb/nIRQBsR09I2taQHbqbgTdrFlLsaNbEDs5jd0X/duNkYnfffzJaXdns=
X-Google-Smtp-Source: AGHT+IFQswkzULsBOY/xtMNk7XzAJgv64Zl/6VN6xMS/8ql4eKgH7aZPJPeFMan/gVHbr+EgDWYqjw==
X-Received: by 2002:a17:906:f589:b0:abf:d4a9:a0a5 with SMTP id a640c23a62f3a-ac252f8e28fmr2945925666b.45.1741859467436;
        Thu, 13 Mar 2025 02:51:07 -0700 (PDT)
Message-ID: <ade9e905-f9d5-468c-bad6-acc996378f06@suse.com>
Date: Thu, 13 Mar 2025 10:51:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs: specify numerical values of Xenstore commands
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, 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: <20250312084143.14045-1-jgross@suse.com> <Z9G6dXyhM01MFD_q@l14>
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: <Z9G6dXyhM01MFD_q@l14>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Cu0px0tBBM9E5u3crMhU0A5F"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Cu0px0tBBM9E5u3crMhU0A5F
Content-Type: multipart/mixed; boundary="------------Sk331VczAEH06yQ5up1KsFog";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, 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>
Message-ID: <ade9e905-f9d5-468c-bad6-acc996378f06@suse.com>
Subject: Re: [PATCH v3] docs: specify numerical values of Xenstore commands
References: <20250312084143.14045-1-jgross@suse.com> <Z9G6dXyhM01MFD_q@l14>
In-Reply-To: <Z9G6dXyhM01MFD_q@l14>
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=

--------------Sk331VczAEH06yQ5up1KsFog
Content-Type: multipart/mixed; boundary="------------HMRyQNS7Zti760VX4qsey002"

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

T24gMTIuMDMuMjUgMTc6NDYsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBXZWQsIE1h
ciAxMiwgMjAyNSBhdCAwOTo0MTo0M0FNICswMTAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW5zdG9yZS50eHQgYi9kb2NzL21pc2MveGVu
c3RvcmUudHh0DQo+PiBpbmRleCA3ZTFmMDMxNTIwLi43MmRiNzNkZWVmIDEwMDY0NA0KPj4g
LS0tIGEvZG9jcy9taXNjL3hlbnN0b3JlLnR4dA0KPj4gKysrIGIvZG9jcy9taXNjL3hlbnN0
b3JlLnR4dA0KPj4gQEAgLTg2LDYgKzg2LDY3IEBAIHBhcnRzIG9mIHhlbnN0b3JlIGluYWNj
ZXNzaWJsZSB0byBzb21lIGNsaWVudHMuICBJbiBhbnkgY2FzZSBwYXNzaW5nDQo+PiArWFNf
Q09OVFJPTCAgICAgICAgICAgICAgIDAgICAgb3B0aW9uYWwNCj4+ICsgICAgSWYgbm90IHN1
cHBvcnRlZCwgeGVuc3RvcmUtY29udHJvbCBjb21tYW5kIHdpbGwgbm90IHdvcmsuDQo+PiAr
ICAgIFhTX0RFQlVHIGlzIGEgZGVwcmVjYXRlZCBhbGlhcyBvZiBYU19DT05UUk9MLg0KPj4g
K1hTX0RJUkVDVE9SWSAgICAgICAgICAgICAxDQo+PiArWFNfUkVBRCAgICAgICAgICAgICAg
ICAgIDINCj4+ICtYU19HRVRfUEVSTVMgICAgICAgICAgICAgMw0KPiANCj4gVGhpcyBuZXcg
dGFibGUgcHJlZml4IG1lc3NhZ2UgdHlwZSBuYW1lcyB3aXRoICJYU18iLCBidXQgdGhlIHJl
c3Qgb2YgdGhlDQo+IGRvY3VtZW50IGRlc2NyaWJlIGVhY2ggdHlwZSB3aXRob3V0IHRoZSBw
cmVmaXguIElzbid0IGl0IGdvaW5nIHRvIGJlDQo+IGNvbmZ1c2luZywgYW5kIG1ha2UgaXQg
c2xpZ2h0bHkgaGFyZGVyIHRvIGxpbmsgdGhpcyB0YWJsZSB0byByZXN0IG9mIHRoZQ0KPiBk
b2N1bWVudD8gKEkgb2Z0ZW4gc2VhcmNoIGJ5IGZ1bGwgd29yZCwgbGlrZSAnXDxHRVRfUEVS
TVNcPicsIGJlY2F1c2UNCj4gdGhhdCBvbmUga2V5IHN0cm9rZSBpbiB2aW0gJyonLCBzbyBo
YXZpbmcgZGlmZmVyZW50IHByZWZpeCBtYWtlcyBpdA0KPiBoYXJkZXIgdG8gc2VhcmNoKQ0K
DQpRdWVzdGlvbiBpcywgc2hvdWxkIEkgY2hhbmdlIHRoZSB0YWJsZSB0byBkcm9wICJYU18i
LCBvciB0aGUgcmVzdCBkb2N1bWVudA0KdG8gYWRkICJYU18iIGluc3RlYWQ/IEFmdGVyIGFs
bCB4c193aXJlLmggaXMgZGVmaW5pbmcgdGhlIG5hbWVzIHdpdGggIlhTXyIuDQoNCkknbSBz
bGlnaHRseSBsZWFuaW5nIHRvd2FyZHMgYSBwcmVwYXJhdG9yeSBwYXRjaCBhZGRpbmcgIlhT
XyIuDQoNCg0KSnVlcmdlbg0K
--------------HMRyQNS7Zti760VX4qsey002
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-----

--------------HMRyQNS7Zti760VX4qsey002--

--------------Sk331VczAEH06yQ5up1KsFog--

--------------Cu0px0tBBM9E5u3crMhU0A5F
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/Ey8FAmfSqooFAwAAAAAACgkQsN6d1ii/Ey84
3wf9F2SGOaTLaHEUtsBf7wthHlf1rUfetStOsNoE6BYyIsGht3YthCR8rsYlXdi1Ef7noP52rmnV
NnZA0NvaE6oaT1HhDGIa/M7DkeDoQy8SxfE/Vxyx7wHlxY049oP/6rEsgVHm59Myf2KLkzDyfCFg
t8+7Ib40tuPeB9rvBKc4wnIQAAcAmO807Zu6boFOI+Mc5jKHzBjLPVe9k5tZcoBMY4LXWOQrE9tB
5Fuf2cnqTeUxcr4JIGbu+rqyA2igkSsUTmQSds7mgrYrgJuU49pais0LcEtjzr9rZniM5vq4GhpY
VmP6lei0j+0Gyh8oZihvpSOAmZ7WRUqiOV94nVgBbA==
=bD5P
-----END PGP SIGNATURE-----

--------------Cu0px0tBBM9E5u3crMhU0A5F--


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:52:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911753.1318154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfEw-0000UT-OP; Thu, 13 Mar 2025 09:52:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911753.1318154; Thu, 13 Mar 2025 09:52: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 1tsfEw-0000UM-LY; Thu, 13 Mar 2025 09:52:34 +0000
Received: by outflank-mailman (input) for mailman id 911753;
 Thu, 13 Mar 2025 09:52: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsfEu-0000UE-VE
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:52:32 +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 e1c4d6e3-fff0-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:52:31 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e5bc066283so1069379a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:52:31 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e8169bcad3sm555841a12.47.2025.03.13.02.52.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02:52: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: e1c4d6e3-fff0-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741859551; x=1742464351; 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=sRtxLHEGvcE+r96K+xtPonZstZvb/S6VM3ietMzVniE=;
        b=KFTlzQF4tO9pJIXlw8C8sp4t8l16M/I6U2XFTRLyJIcWblsrlhZYigqPkMt9l6SJ/z
         KkbNBnWYlnKPBLO1TZb3RSqMuZ1LfHWy4+JbNyWyH11I/hpqq6VXtijKBeOf5hLXq81y
         T7L+eumnAMj7Cei7lWtyWBj2IoR6wqQjAd40Q8esyccv9ngHaKjt241zDewQlf7fn5b0
         OtMUrh+LVRRdmB9yk2fQgHt4CQVQjML2IAIRYTggge5k84rfP80xO8qk6NcWVPJU032V
         Y20OHSuaeUKMFbr6rFoy6EzxHImdvTYMICLHMs7Tg5zYXXA8Ev4kx/oa768OHInXQG0f
         JZXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741859551; x=1742464351;
        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=sRtxLHEGvcE+r96K+xtPonZstZvb/S6VM3ietMzVniE=;
        b=mPtOq9orCwWDGL1H2Z6Wja0JhnEcVlJOFUD6rNdZYzEQjVgh9ZhTSzJ9Xp3jeIEha9
         5pmOB3I0daC12eYvujoyYTJ7KCVgW7d2zxiiM7plXR/xwydb1La6sHgZMC/8uecOcayJ
         tYwuem14sR5vXK/GwWfYB6IWnbz8XQPMGkx/7cpYTV3aDJUTEfxz51ZSAqoKGqWWVPcM
         8YOrbxodXNsfGoqLtC3YQoZsTPdDK8WPbmVSAHGRSpQgzHFOUlgEi4mEv99LhoeInZBG
         Vj2JqE0Y1wuYY/wH6cuOtwe+ahfk0nk/VZwFI06pdZwn+zLn7zEmaZG2PC3JpxkYXsPb
         vH6w==
X-Forwarded-Encrypted: i=1; AJvYcCX04d3oyLWZUTbVk5WVU+/TI7umGZjaFdykklDFa6ub8iAtm7PSg0YMW4SJtZwSbfh6lASGvezP9N8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjVIy1EBP3zGEKbbnPaLJPH9t9AO4qVpUk1SecHwRuz9YSu4fT
	v2jWcq0bB5RXcAN2dL5f30vMM4/A4bo1nvD7HzxhltVtgmKjyLJzl9sPg2LhE9M=
X-Gm-Gg: ASbGncstyii0q48eDjm7eElZDjrEOWF1fhRPibPW2ceDY7IC5cRsMjS/5PnLk89rl+r
	dVq6jSRWiEOeD83EUGu6MiJYAEDQhUelxmN76w+SNh3ZNwdUKL0H8ierywOCLUnbYbW9gEKuUei
	Q9Yn4/PYoovcu/EoADNtYkX0C6N4tBDB9LiZv8LJWt4qsaiKj3vQy+yc4L4RdQx4dvn38tnXs5P
	Gw8sdb9cExcq/JCv58KEl/S0T8qZQUh61X30myFo3IWjhtwmtw4zoy0KBWwg6nznkgu/Y0Rgl94
	OY3NcTEc5uSAFQzP10UPVim2+PJVzmaMcoLEqnP1Z8fFE7EMpAIE9XCdzKhCfP+8tFScAoMJXQl
	fcnKhQc8TKU68qBOspbsYSxaHg2z7gJitBb2s8PqFoYtLJRvgH1Xqxhqx+oMrZJZYgHw=
X-Google-Smtp-Source: AGHT+IGx5HpgyZ7//Lz+/FSXyQEkfsgiE3u7j9LcxJeY3pXNZmV+kMQRs68TZW7s64JPXyGfJT5vcw==
X-Received: by 2002:a05:6402:3785:b0:5e6:180b:557d with SMTP id 4fb4d7f45d1cf-5e6180b5925mr26434581a12.11.1741859551202;
        Thu, 13 Mar 2025 02:52:31 -0700 (PDT)
Message-ID: <5f154436-2e05-4495-82ca-c58c5c7f33a3@suse.com>
Date: Thu, 13 Mar 2025 10:52:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 8/9] tools/xenstored: use unique_id to identify new
 domain with same domid
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-9-jgross@suse.com>
 <d1a8cc18-83ce-430f-9a5e-93fa0d1d655e@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: <d1a8cc18-83ce-430f-9a5e-93fa0d1d655e@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------uSXxECBD8yo7tCgKJ8juhi62"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------uSXxECBD8yo7tCgKJ8juhi62
Content-Type: multipart/mixed; boundary="------------OuR96bnSz4yQ49enGS0J8c0M";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <5f154436-2e05-4495-82ca-c58c5c7f33a3@suse.com>
Subject: Re: [PATCH v8 8/9] tools/xenstored: use unique_id to identify new
 domain with same domid
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-9-jgross@suse.com>
 <d1a8cc18-83ce-430f-9a5e-93fa0d1d655e@amd.com>
In-Reply-To: <d1a8cc18-83ce-430f-9a5e-93fa0d1d655e@amd.com>

--------------OuR96bnSz4yQ49enGS0J8c0M
Content-Type: multipart/mixed; boundary="------------WXNLX7hUGteVMReH76btghD5"

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

T24gMTIuMDMuMjUgMTg6NDAsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDIt
MDQgMDY6MzQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBVc2UgdGhlIG5ldyB1bmlxdWVf
aWQgb2YgYSBkb21haW4gaW4gb3JkZXIgdG8gZGV0ZWN0IHRoYXQgYSBkb21haW4NCj4+IGhh
cyBiZWVuIHJlcGxhY2VkIHdpdGggYW5vdGhlciBvbmUgcmV1c2luZyB0aGUgZG9hbWluLWlk
IG9mIHRoZSBvbGQNCj4gDQo+IHMvZG9hbWluL2RvbWFpbi8NCj4gDQo+PiBkb21haW4uDQo+
Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0K
Pj4gLS0tDQo+IA0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYyBi
L3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYw0KPj4gaW5kZXggYTY1MDZhNWJiMi4uNjNkZjI0
MDMwZSAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYw0KPj4gKysr
IGIvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+IA0KPj4gQEAgLTYyNyw5ICs2MjgsMTcg
QEAgc3RhdGljIGludCBjaGVja19kb21haW4oY29uc3Qgdm9pZCAqaywgdm9pZCAqdiwgdm9p
ZCAqYXJnKQ0KPj4gwqDCoMKgwqDCoCBpbnQgZG9tX2ludmFsaWQ7DQo+PiDCoMKgwqDCoMKg
IHN0cnVjdCBkb21haW4gKmRvbWFpbiA9IHY7DQo+PiDCoMKgwqDCoMKgIGJvb2wgKm5vdGlm
eSA9IGFyZzsNCj4+ICvCoMKgwqAgdWludDY0X3QgdW5pcXVlX2lkOw0KPj4gwqDCoMKgwqDC
oCBkb21faW52YWxpZCA9IHhlbm1hbmFnZV9nZXRfZG9tYWluX2luZm8oeG1faGFuZGxlLCBk
b21haW4tPmRvbWlkLA0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgJnN0YXRlLCBOVUxMKTsNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzdGF0ZSwgJnVuaXF1ZV9pZCk7DQo+PiArwqDC
oMKgIGlmICghZG9tX2ludmFsaWQpIHsNCj4gDQo+IFdoYXQgZG8geW91IHRoaW5rIGFib3V0
wqAgYGlmIChkb21fdmFsaWQpYCB0byBhdm9pZCB0aGUgZG91YmxlIG5lZ2F0aXZlPw0KDQpZ
ZXMsIHByb2JhYmx5IGJldHRlci4NCg0KPiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBjaGFuZ2Ug
aXQsIHRoZSBjb2RlIGhlcmUgYW5kIGVsc2V3aGVyZSBsb29rcyBmaW5lIHRvIG1lIGFzLWlz
Lg0KPiANCj4gWW91J2xsIHJlLXNwaW4gd2l0aCB1cGRhdGVkIGR1bXAgY29kZSwgY29ycmVj
dD8NCg0KWWVzLg0KDQoNCkp1ZXJnZW4NCg==
--------------WXNLX7hUGteVMReH76btghD5
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-----

--------------WXNLX7hUGteVMReH76btghD5--

--------------OuR96bnSz4yQ49enGS0J8c0M--

--------------uSXxECBD8yo7tCgKJ8juhi62
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/Ey8FAmfSqt4FAwAAAAAACgkQsN6d1ii/Ey8F
zAf+JfmnDu+4yMJwqAQ7V11b8gk1Trdtfe2X/AMCpsGnhqGrgsVq3cznFm6G4IWc1jYu0EBinSDK
pV9TrvKXKXY3adQsIAeUHwIXR+HO+qb3TilIh/VDlYVDhk9kbYIrher8Z1GYNFG1G199Ql5BSuwe
uhdJBS6TB+4VnpjvK6tOMapAeu8TAi8lHmWDHdd0848hmnJUjsyf9SBYC5uvnvNgXu5+bQy7zEDc
s+xRm0hKq2y8spwxeSznHnQoahNujEqdxc/WDBzrlqLKWQ00zfTZQHsBZjuoBF2s2pTHYt83ki0T
Nru2edvL/5w10cD2rxyJIqcndqkthq2QLzgcqOO/rA==
=ExQ0
-----END PGP SIGNATURE-----

--------------uSXxECBD8yo7tCgKJ8juhi62--


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:53:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:53:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911764.1318164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfFR-0001O0-4c; Thu, 13 Mar 2025 09:53:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911764.1318164; Thu, 13 Mar 2025 09:53: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 1tsfFR-0001Nt-1E; Thu, 13 Mar 2025 09:53:05 +0000
Received: by outflank-mailman (input) for mailman id 911764;
 Thu, 13 Mar 2025 09:53: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsfFQ-0000UE-19
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:53:04 +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 f49baff8-fff0-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:53:03 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac2a9a74d9cso165852466b.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 02:53:03 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a9daf1sm59530366b.166.2025.03.13.02.53.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 02:53: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: f49baff8-fff0-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741859583; x=1742464383; 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=xYQMaG2I3HODOmxbZjpMb9F+TDmn9WMd6FU7eLXpg9s=;
        b=WHvBSLbioFNGTtFj4uIq6U4WFEInJvHvnK9yW09yfBBB6f6FRaXdlUOOJljlpz/QLp
         VOgo4/79fKxpPoQHvpCHQshCxuBzzn2UfOPPNUJZ+rxlHbpVNbzCeKZEB1DBH4ZQPPII
         CqL7lAbOTFzxeWgv1Z3BMlTbvIsTsf9xELeEEzJHy9IvT9hKss/h+dJV/Lt5oabAcdXf
         FV56PMLLS8daeo8MLc2TU+LCYBi8ajVz4bFjHJ2zSk+8Dsv4ZHG3iD9eLlDl6alJWyoU
         MM22JCZwpASDS/h9tM4isvqltXUbYv1ejX51e6X2a7Ktxw+RC0U7iNJKygY53To788C1
         AbGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741859583; x=1742464383;
        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=xYQMaG2I3HODOmxbZjpMb9F+TDmn9WMd6FU7eLXpg9s=;
        b=WlNxSrnUFWJAp71InoZya33cgrybXt7GUe7Pocfmj2iL3ANuAqXk8tz2ohoZOKu76f
         ERh999C6RzbsTbx4XHAqauAUtLklbOTvnXrbSC5OEuikmk34GbrkWvq4GnHA8zpvHAkn
         l7KkPgTswte+yF5PxRt6/9G/BdNJ+r/U1j4otK+iXSX0HghSaG5apAXvmbnF6/4FCLZw
         74hC7HaUMY3q92B5swkIri2zo+tg+DYwP9gGZm72mP5MPM2Kg0m55jOTG45A2WznLoF6
         jI1VNIX4XB7kh57ASdhZoY8adF7R8I3fyE7IETnEN8hCjL5u95bpHlAGxVuExMQtegof
         QINA==
X-Forwarded-Encrypted: i=1; AJvYcCVfuSJ9FOmuUjoL7sgPLFAn9OBy4vrw284fgB/hfmQiVyR8XlLilkOcjGLQYsWG0EyP3clAikDfnh8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwyemNQ/lDypJ22m2XPrLC64b+PktWfBltvrHj3D/a6e4VUVEhf
	a1wUYhfP66rhGfawU1xoEvxqg+KEqH0A0DXnoZprdKOo5OcMOIW3KaVsQFw03mA=
X-Gm-Gg: ASbGncsFjNiYq6FU+GllM87fQExtBqQ1Y5lEWlYCvqVqqvZJXohx2155BoEwZD7N4mV
	sj2UHxpwyGt2fUAbxEZOikBkXnRXPt2Bg0YFP6bxsWC30dFZ7bIzv7Xr1UaPMGeFtqcGCsviGWu
	vjuY0GKK8GGz/s8lXpUQ7kcG7IQBgkpC1kFWIoF8jLyYQdzjYlS57l7iA9lBcQACKR/Roma46uX
	ltSgpLGwDoFusMJEPU+Id/+NESKnDHELoE2oGa/lxj6EUJmRT6hc8S9Popkx5HHHqQtv8Clswme
	Z9qUXy1JOjZZXF1gbtG8a0YlxMGfq0P5ay7hY3wnH7+dfIDZYjBIzm1A+AxJDk4x4aH5PslQ5uy
	fNf1jPEzec3gtHtMfV3THQUI07Rypn0uVZfojdZoFcvBP2BoGzdgpVSfBHmvBdo1P8cM=
X-Google-Smtp-Source: AGHT+IFLOEfGtcF0qa0VYiPnHUwatOV8Kmi8WYHxnzgFp9g0cXRDJObxO3JDOPajMlRRWrRodk/2VA==
X-Received: by 2002:a17:907:6ea1:b0:ac2:b414:ba2a with SMTP id a640c23a62f3a-ac2b9ea18eemr1630618466b.37.1741859582791;
        Thu, 13 Mar 2025 02:53:02 -0700 (PDT)
Message-ID: <68390678-c278-492c-9a2b-7248a91deddc@suse.com>
Date: Thu, 13 Mar 2025 10:53:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 9/9] tools/xenstored: use
 xenmanage_poll_changed_domain()
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-10-jgross@suse.com>
 <11885cfa-42be-42d2-821c-ebb8db304340@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: <11885cfa-42be-42d2-821c-ebb8db304340@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------clceAguKuyv3Arr8DFgLHKQP"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------clceAguKuyv3Arr8DFgLHKQP
Content-Type: multipart/mixed; boundary="------------f6epvUDNBh75qMypssURlDtR";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <68390678-c278-492c-9a2b-7248a91deddc@suse.com>
Subject: Re: [PATCH v8 9/9] tools/xenstored: use
 xenmanage_poll_changed_domain()
References: <20250204113407.16839-1-jgross@suse.com>
 <20250204113407.16839-10-jgross@suse.com>
 <11885cfa-42be-42d2-821c-ebb8db304340@amd.com>
In-Reply-To: <11885cfa-42be-42d2-821c-ebb8db304340@amd.com>

--------------f6epvUDNBh75qMypssURlDtR
Content-Type: multipart/mixed; boundary="------------Ywm5Thtv6fPnMwzm3AHTqeBM"

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

T24gMTIuMDMuMjUgMTg6NDUsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDIt
MDQgMDY6MzQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJbnN0ZWFkIG9mIGNoZWNraW5n
IGVhY2gga25vd24gZG9tYWluIGFmdGVyIGhhdmluZyByZWNlaXZlZCBhDQo+PiBWSVJRX0RP
TV9FWEMgZXZlbnQsIHVzZSB0aGUgbmV3IHhlbm1hbmFnZV9wb2xsX2NoYW5nZWRfZG9tYWlu
KCkNCj4+IGZ1bmN0aW9uIGZvciBkaXJlY3RseSBnZXR0aW5nIHRoZSBkb21pZCBvZiBhIGRv
bWFpbiBoYXZpbmcgY2hhbmdlZA0KPj4gaXRzIHN0YXRlLg0KPj4NCj4+IEEgdGVzdCBkb2lu
ZyAieGwgc2h1dGRvd24iIG9mIDEwMDAgZ3Vlc3RzIGhhcyBzaG93biB0byByZWR1Y2UgdGhl
DQo+PiBjb25zdW1lZCBjcHUgdGltZSBvZiB4ZW5zdG9yZWQgYnkgNiUgd2l0aCB0aGlzIGNo
YW5nZSBhcHBsaWVkLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpn
cm9zc0BzdXNlLmNvbT4NCj4gDQo+IFJldmlld2VkLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYXNv
bi5hbmRyeXVrQGFtZC5jb20+DQo+IA0KPiBJIHNlZSBhdCBsZWFzdCBzb21lIGRvbV9pbnZh
bGlkIHVzZXMgZ29lcyBhd2F5LCBzbyBtYXliZSBkb24ndCBib3RoZXIgY2hhbmdpbmcgaXQu
DQoNCkknbGwgZG8gdGhlIGNoYW5nZS4NCg0KDQpKdWVyZ2VuDQo=
--------------Ywm5Thtv6fPnMwzm3AHTqeBM
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-----

--------------Ywm5Thtv6fPnMwzm3AHTqeBM--

--------------f6epvUDNBh75qMypssURlDtR--

--------------clceAguKuyv3Arr8DFgLHKQP
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/Ey8FAmfSqv4FAwAAAAAACgkQsN6d1ii/Ey9o
TwgAmFkw7dmNEKxNPakYl9ZbuULKhRDahJkIYixsyJISRMohMbAxD4K2uwoZ/BrIgYZSulZTmg7f
QMXwv09rTxiSX4tSlBJqghglg9Z+UPRWQbiWoYb6FiRLNPXS8+k10FJSqx6T6XsDh0kyDL1nj6dX
GRBKhxeZYFbvYNb7Fo6NDuwdqxo+gQZ4bAbyXUftPS+o9UvB+RsEcihae+ItXq6A55IJeS+qI+7q
69s2p9L5P/Fr3vEBeiQqo1rEPxMD21t3uBuTy4+wXD7Nf/u3nSrdxujDFeHrknbAPPAwqKyGoDSc
OhdleZFZ/ebNQhAdr1PM0qMMiGgiDKDXejA87UGCvA==
=FLKk
-----END PGP SIGNATURE-----

--------------clceAguKuyv3Arr8DFgLHKQP--


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:54:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911775.1318174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfGP-0002fL-Dp; Thu, 13 Mar 2025 09:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911775.1318174; Thu, 13 Mar 2025 09: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 1tsfGP-0002fE-Ap; Thu, 13 Mar 2025 09:54:05 +0000
Received: by outflank-mailman (input) for mailman id 911775;
 Thu, 13 Mar 2025 09:54: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=CkET=WA=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tsfGN-0000UE-AU
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:54:03 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20602.outbound.protection.outlook.com
 [2a01:111:f403:2613::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 174e5e02-fff1-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:54:01 +0100 (CET)
Received: from DUZP191CA0038.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::22)
 by PR3PR08MB5833.eurprd08.prod.outlook.com (2603:10a6:102:81::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 09:53:57 +0000
Received: from DU2PEPF00028D01.eurprd03.prod.outlook.com
 (2603:10a6:10:4f8:cafe::f6) by DUZP191CA0038.outlook.office365.com
 (2603:10a6:10:4f8::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 09:53:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D01.mail.protection.outlook.com (10.167.242.185) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 13 Mar 2025 09:53:57 +0000
Received: ("Tessian outbound 0ad77f8d5963:v585");
 Thu, 13 Mar 2025 09:53:56 +0000
Received: from L6d557f2ad4df.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6FD9091B-5680-46D1-B7EB-AE13223F22B1.1; 
 Thu, 13 Mar 2025 09:53:50 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L6d557f2ad4df.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 13 Mar 2025 09:53:50 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com (2603:10a6:803:4d::31)
 by PAVPR08MB9185.eurprd08.prod.outlook.com (2603:10a6:102:30d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 09:53:48 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8]) by VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8%4]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 09:53: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: 174e5e02-fff1-11ef-9ab9-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=VZj2U0FpX5J8uVn1/CHlWdBSRkogwQeZ4x+Ma6JUaijaG+brjqCAlrr0qDjx/spOmZ5wriiLuVXbXsQ23QHPqFHtZLc4Wu9x59MyM9CxaQhL1dEkOIQDwztx7vUUPZUCEub+MOx/Std4jODg+B3mJFX/Raq0X2BE5XDvBk8lhiZmjsr+RRREehS9DdHmloD9152Zr75ZenRxdSsHX6zLqYnc+s0A/ZGGgWvXhtJ+nH5YYiw3cVdCkj6mKtarproR3HFIiHN7g77baGBDF259p8Q28ag5Zg8gVLtVWDScrcT1qw9Poh5hscBdW8eLtKtXrD3zAENpDEjcEFi1mYD7dw==
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=BxLausDs7ZcjasEclgiy+zHHIoM3VsJew3Nx/A3Ux4Q=;
 b=PVEbH+qHhiqUPVGlsAk1mfMg9IRvYkGa54/O7CaZogbJe0R1H3XKGAJPEp4/WKcl8uu91u4uu+4on8QykT/u+NQg0XS6Qf4C5bQgIZ16LdFfNJxGkckIMYwzxoQQ8PQmd7Esng+yl/tWJAMpwI25R8mHijQzVunB4pyY0oz5IQ+GoLz7vgVmY+wU0hHLbfP0Bu+tygWHCRL37am0qYGer9iMwrqcvDnPc1Y55u/D70D7W4zvaWU5P+IgV6kN6o1DJujSRdv2BTgLiPZdKxAo3womzdI6bNpngGbsrbYPpkq6A1jZ166krvJgKsIl03cERT0CBWtCAiNvyif1fPFAKg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=BxLausDs7ZcjasEclgiy+zHHIoM3VsJew3Nx/A3Ux4Q=;
 b=ATDTc0QQ48jJXNprpH/0+LjWtgAj5oKNFJTVrvQOyIrKD4W2JBP0qibQmZJbyYEg3o3r6zBPzEz22pG2Dxp9Yh8st0McoAwl/M7vMmDyeqIshqURlzn8jwxWEJ3VcaU0x7RnAla4J0xahHSaCJgMbofYloUkvg79KebV2mrGleQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f5e942737e7da1d4
X-TessianGatewayMetadata: ZK5kGOnJ+I4jkqbNPM97GWkUzKflYA4ppATyATT1Z272zb2CA33QWSdYq92xEsZSiA2+ZES+Oka+hcMgEBGkNFLPZ9llkseGxyp5aDMonAqYOjuF0q2gmUfKer2C7MzpZM5mMzLi3p2z0yYioKFYIBAtK8k5TqYZ8+jVZXqqVMs=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i09k1DWbeXa93cdwldK5N2zzAICRaK5nT3jBufrGVu1yh4GGzBJk7R/33vKIXJUWU3GLmrS7QxboVr+zhyzXcFaP2rVInTMn0rmIXBWOUWFYsXbHySG61mUF+bt3V9Izpw6TzyUfbw0oSO5NkAJfDL8kEGyZaa62I0N+NTUqumE7vQ/H3xlkBckbZaq5iM+5uP4+6eGruMK2kx+fS5OLg52hMKvirQIzA2lQLK/SNNXI/hLzd7LPbMgL59mo3l/kDS4dzZ68r1pnHorxSpzu7zWgPtNNrOjzb+OFBkRVKlcN2CA9Sd+WbU2vV52bhcahA5tPDUOrYzAZG9YLjVqc6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BxLausDs7ZcjasEclgiy+zHHIoM3VsJew3Nx/A3Ux4Q=;
 b=CPLIv4uJkyEil/WrRpqWNycjGKpJAZBAK0HlrppDyAsMgbx2qaJtYkm10Mpz6OyIYF9lB2TezMB30BGmkn3z+mZap2TXtBf5smiXJ5skjCInK5/7YPw1BpqjReJ78LGkw6ZejdLcpMROqACeMdf4NIf/ku7Ugf6iGubtq9lG3/Ts/XE9cAPCeDtH6dItSpbgWu+WpPqNOMowERrXlEugua81ZdRybOXisnz15rl/i61HVXE/vcMj/bPdyWFv3ZpY+KKFoaAcN99oyqbrpWR1b0Xp+vxOW0843nJQjBnkY3UsOp91yReGDFc/LFTIH9oEao2n5yqFDK0OhtURbBRRgA==
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=BxLausDs7ZcjasEclgiy+zHHIoM3VsJew3Nx/A3Ux4Q=;
 b=ATDTc0QQ48jJXNprpH/0+LjWtgAj5oKNFJTVrvQOyIrKD4W2JBP0qibQmZJbyYEg3o3r6zBPzEz22pG2Dxp9Yh8st0McoAwl/M7vMmDyeqIshqURlzn8jwxWEJ3VcaU0x7RnAla4J0xahHSaCJgMbofYloUkvg79KebV2mrGleQ=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.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>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 06/10] arm/mpu: Kconfig symbols for MPU build
Thread-Topic: [PATCH 06/10] arm/mpu: Kconfig symbols for MPU build
Thread-Index: AQHbk1YkvHjPlmI7NkCFYPV0IELI1rNw0hAAgAACwIA=
Date: Thu, 13 Mar 2025 09:53:47 +0000
Message-ID: <73E6A3C6-E9B2-43BD-9F8B-6FC6F260FCE9@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-7-luca.fancellu@arm.com>
 <6a372989-e51c-4165-8f03-41da8e3a9bdd@amd.com>
In-Reply-To: <6a372989-e51c-4165-8f03-41da8e3a9bdd@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	VI1PR08MB2989:EE_|PAVPR08MB9185:EE_|DU2PEPF00028D01:EE_|PR3PR08MB5833:EE_
X-MS-Office365-Filtering-Correlation-Id: b9ed922b-9977-4345-24d4-08dd6214f918
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?TDduUUl2ZWZOU0Zpc3FpMncxem91bm5GMHBHQWNxZlBmaW9UdzRIOG5ZTXJh?=
 =?utf-8?B?R1I3bDFVc2pjZmRoT1V2NGtqSHk5WUIrYUJERkxENTh3TTRpRDNlR28xOHBj?=
 =?utf-8?B?UGJlS2ZUdFF4TXR4allZaHlwWGM5MFZyN3pzL2tyZW1CYndJYUNaUVBzZVI0?=
 =?utf-8?B?UGd4OXR5YnRVMTFhSEVLSEdodWhTNkYxZjVBQ2V3eVdMVjd3TTlBQ1hqZldT?=
 =?utf-8?B?WmNOT2E0VUVXK0ZyWmZKTnk1Z0ZNM29hbE1kZ2VZdEpEVkhBdGpTOHIyeU4z?=
 =?utf-8?B?NFVJMXpNRjI1UTlhNWxQMDZXeXVIR3B1MDR6UjMvRkRMUHM2OEtnbVpZV0RL?=
 =?utf-8?B?Z0FQMStnRWZLb3pLKzA3Q0VtVnNuNC9qZWVwT3RZeEVuWksrZ2FLUlEvaDNr?=
 =?utf-8?B?NDd4U3FYbEdzNVhWdjlCQ0tYNWovWk12dkw4Nk12NzNOUmpYV0ZpZ3VNMDh0?=
 =?utf-8?B?Vk5IMy8vTW1GaG82SFM3UVcyRHNnN0l5NkwzR3hOQTZiWjYwYWJKYnZ3NlVV?=
 =?utf-8?B?bjMwYzZScTM5b2doMHRJbHRIak50MjFyUit5ekxhNGVkZlprUWhLMGgybTNa?=
 =?utf-8?B?cklIeHJBekEzRDd1Z00ySTlSR3NPZVpuTmozUllwUVdRRDZXOS9zZ2Z2elJZ?=
 =?utf-8?B?Rlhlb2RpQUVXbk42WGJVakNtLzlWeG1sMVpOYTNaZ1BrdlcxQlExMFVpRmhO?=
 =?utf-8?B?S3JaZk5LK3lHQ2tOUW5RelR5TkI4R2R2RXRRV1JQSXpHdFpPeExSeExCenJw?=
 =?utf-8?B?QjVkZDUycm1XUXB6QmJPbW5qenNOM1FQQWFUdGpRTFkzM3YzQXRkdUNISjdv?=
 =?utf-8?B?NnlrM2NTZllpa1laMk1DbUdUK3pldUMvaUE1a0FZUlFBT0ZjQXE2OVV2RlJY?=
 =?utf-8?B?dWQyRG0vT1diUTBYalJZNUpseTlReGU2SDRNZ2ZWN0h5YzRpejNDeDZtS0Z2?=
 =?utf-8?B?bndhSlJLZ1FJc1JsZGVWbFVaRm93Sm9wbTF2dUdOQXBmc2hTaGtmWjNrcE1t?=
 =?utf-8?B?anZtRnJRTFZyclAwVlh5aTM5SkNodTcvaXV6Q211dW1raDE0UUlKSE5OclJo?=
 =?utf-8?B?S1hVWHZ3NUhtdThOdnVxeVpNc3hPS1N3QUZFRllMVTdHMW5keHJvMmZ3Zzk5?=
 =?utf-8?B?RlEwbnZkNEp3eDlmeGloek9pQVRPbnlpMXlidU8yUTU5bE0vVEFWM0k1NFZx?=
 =?utf-8?B?bkdzdFRReFFzVTRNeVlrM3UzMlpWWEtVWkc2aDEzMWNkUzNIMHV3c21qSDQw?=
 =?utf-8?B?WHQ4MEgzTzNPUXI4Q2xuZkx0UHJCVnRuUDBJeU14S2JjdUs0K0w5R3lNdGtS?=
 =?utf-8?B?WkZ4ay9WYXpoQkpacDA5N1pjczVFWUt2aUtyQjlZVEZOa1NhbkZ0cHREcE0v?=
 =?utf-8?B?T0laSWx2UXgzS1lHeEdkMjVwSlJCMnNhcnlVNm1wRnMyWnZabkszRHMxV0s5?=
 =?utf-8?B?cHhqajZadDNvYkpDRzF4MlFjMjRjZVpzaWJmNVJUdEprdjNHQ2RCdlpXYm1S?=
 =?utf-8?B?cmV0VUsyZzgvdzdBckRZaW9BWGFzMkhtc3RHVnVTNkxOcXlNbDRjLy9rUlQz?=
 =?utf-8?B?WTRoanVINUw2TzBPcG5tU3hLUldSOTJ6UXJBZTFHeExlTTRiRUg5bUxmTzNk?=
 =?utf-8?B?K0NiR2tJY1RGaXpnK0NFS1I2eWhlRU9pTW5jSnNCbUkrREVnTms0Z24va285?=
 =?utf-8?B?LzBORU9UYnFWbzZxMXgrZmZCUXVFSEMrWTZURnlGRnNrUEcrK0IySXgxVG1x?=
 =?utf-8?B?R2RkdS9SUW9Fc1FmZkRZREZrTHlsbzYxdDhMYUk1cFdSY1NKVUV4WHczVitN?=
 =?utf-8?B?ZHhpWGxjcWgrOTE1WS9hempWdWoxWDFkVGZWaWZSeENUTXhodXRTME04QkZr?=
 =?utf-8?B?RDl4ckh0bHE4ZVhLS2twMnoxalY1VTFibGNQUHkydTh4TmQ3cy9DN29rUnp6?=
 =?utf-8?Q?WqtHIdyZZeQHVmTYC9iVvbMD+AWgU1ts?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB2989.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <4CD428BC3353EE4F86DF1675A1E5CA60@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9185
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:803:4d::31];domain=VI1PR08MB2989.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D01.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e0895f35-221c-417b-5f71-08dd6214f359
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|35042699022|376014|36860700013|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NmtrekVFOVM1d1EwZSt6a25FRE5MNlU0TWpkdUU2RlRFd210UW1iR3BRdUtt?=
 =?utf-8?B?bXdBVzBXRTJPdXl4OFJ4TUNvWkRjOExxdEJET2lmVXNwTVVDMmE3VzFXdHkr?=
 =?utf-8?B?OWdxZGh6MjBIbEZ6WUlSRTJzSTFpQkc0WThvd2E4d2dRazdiRlBZejFFSkpm?=
 =?utf-8?B?YWNqVzlmaFlxYkI4c2NPN044b2xsQjV5S1huUUwrelAvWUlzdmhEL2tVUkVi?=
 =?utf-8?B?allVbjdiYlBIRDRucXpNb0dYTFpDb1pXZU9EWWRnTUUvK3lzWkJRbi9hNzZX?=
 =?utf-8?B?a3JVZzg3TkJqbDZ2QURNcGY2elFjVDJQeDAzRnUxa3NaVWkxdkl2eTRDWnlk?=
 =?utf-8?B?RVpIVVh5b21MRlREWGFVQitKWVJCWHZ1VlFyeXNzdDZBbHlzMDhQMVprNjFV?=
 =?utf-8?B?bU9PWExaMWFacGJxWVZ4NXVUVy82dVVtUzA4WTZQdGc3MXNKbW1ReHFWTXVO?=
 =?utf-8?B?eDNsZkVIS2JTQWJqY0lrVmVGSXpNckJNbFdIWXRqdCtSV1VQQTl4OGpDdzcw?=
 =?utf-8?B?bHU4TWhsMXFOYVBBY215NzdJTVdVUWU3Tnk1YzFkZGVtaDcxd2dHNS8wL3Zk?=
 =?utf-8?B?WDFrd3BNejZkVGpsclFLbHdXcXJTZnlhUjVtTDRKbVc2TUZkQjlKNWFQdTlP?=
 =?utf-8?B?N2VxV0ExQWhGNVhmSGc2SmMvYTFTcHBPQmJnUFo0bmdrL2VjeExYQkwycXlV?=
 =?utf-8?B?OTVhWmxja1V6alpUZ2lRWXVwenM4aWQ2N3lURysxYjg4b2EzWEZRNmxiblQ2?=
 =?utf-8?B?YWdOUGlnYThudTdvbVNBZkdJQXd3bWhOZjFVRGFHRDJIa1V1ank5V0FTWFJF?=
 =?utf-8?B?R2R1TDlNSk1nVXRTMk41ZC95UWd1OCtwUTMrcWJHQUJSQnAvZzFqL1JTSUZz?=
 =?utf-8?B?L0xTVmI1bEwzSm9KbXNaeWFBMnhoUkhRTEZUblQ5WlA1MFNLMzA0ZVl1bHdO?=
 =?utf-8?B?MU5IaEVNRitwZGpMRWNyNnd3dkNaL3JDLzJjVS9DUWJ6T2E1MXdyYTUrTTZa?=
 =?utf-8?B?QTJJbTRCVzl3ZHV0UWliUmNTU3VPTnZkazArVnFjV3g4eVc2MlF4bU9CdDdY?=
 =?utf-8?B?QTIvOTVjMWE0dnNpa2xINXdaTU8zMTRhdldRQ0dpWTh4cDRQdWdQWDcrWmpK?=
 =?utf-8?B?T3ZMRlF5aTVsNkFjcm4zQmJKVE41aVFQLzRiQXFiNU50bDNrNjR2WmdWRDRr?=
 =?utf-8?B?bURYK2ovdVRDYVdwdi91d0cvZ2pQaDQwNGx4K29qREJDTGMxZGdNNEgxakpq?=
 =?utf-8?B?YXk5SDJFQ3VDeDJsYXhrWm9vbDc4dHFuVzk0UWp4UzBtK1JTbm4xSzI4ejVD?=
 =?utf-8?B?TGIyTVhSWWNLNHRLVzFNSXhiaWk1Q3c1UGthTjVtQnhlR0luanNDRnBlbmxT?=
 =?utf-8?B?cmV4Y1gwcFhPMXg3V09RbEtjUTEzNXZYdjNKWEgwYVErZ0l1dVN1Q2RRdFhH?=
 =?utf-8?B?blBpOFlUQ1ZYNnNTVmlxbk40RTdwRU1OL2UzYjVubGUwdXE4WVp4RElFOERI?=
 =?utf-8?B?NVgyRnhLdmltU0NvUFM0eCtJK3UvV0tvU3JjbWNEOG5mdEF5ZDJJNGVDd3l1?=
 =?utf-8?B?NUcwcm1xTSswOFB2K2FmOSs0R1gvUFVkWmZnYWkyZXZ2T3B0eGEraTFCQUJ0?=
 =?utf-8?B?c24xd1BBTTI1ZUxhLzNrZ0xMVHY4N0NxNjdhTytnTzlkMDFZQmlKZjVVWGU3?=
 =?utf-8?B?WjVUa1ZDWUI0WDRwbW9HeXJCNzhRem5DaThTNXN5TElQYURxOGpWeXQyUEw1?=
 =?utf-8?B?SGZBSnpMWkFkOGJ6bWRYWVRDbTh3UWJPZmVFNjRrRVdJbStHcHNzeksyREVQ?=
 =?utf-8?B?Z0drNXJjWkVpUFhEYUlmMHF6ckpTcmVQM0NwYm9aUStpWGE2cWVFTkcwM1VL?=
 =?utf-8?B?bnN2b1RiR1FEZzViS3F2anFIOFN3R1lwOFVkUHJxaWNvb3c5R201dmY3TGls?=
 =?utf-8?B?Z254cDBUaGdlZkxxQTZ5U0tpd2Q5bC9GQU14KzZCOHpWd0VEQTJTNG96ejdV?=
 =?utf-8?B?cUdhQSs4RnB3PT0=?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(35042699022)(376014)(36860700013)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 09:53:57.2580
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b9ed922b-9977-4345-24d4-08dd6214f918
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D01.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5833

SGkgTUljaGFsLA0KDQo+IE9uIDEzIE1hciAyMDI1LCBhdCAwOTo0MywgT3J6ZWwsIE1pY2hhbCA8
bWljaGFsLm9yemVsQGFtZC5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiBPbiAxMi8wMy8yMDI1
IDE0OjUyLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiANCj4+IEN1cnJlbnRseSB0aGUg
TVBVIHN5c3RlbSByZXF1aXJlcyBzdGF0aWMgbWVtb3J5IHRvIHdvcmssDQo+IEN1cnJlbnRseSwg
bWVhbmluZyBpbiB0aGUgZnV0dXJlIGl0IG1pZ2h0IG5vdCBiZSBuZWVkZWQ/DQoNCk5vLCBtYXli
ZSBJ4oCZbSBub3QgY2xlYXIsIG15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCBzdGF0aWMgbWVtb3J5
IGlzIGFsd2F5cyByZXF1aXJlZCBmb3IgTVBVLg0KDQpEbyB5b3Ugd2FudCBtZSB0byBjaGFuZ2Ug
dGhpcyBvbmU/DQoNCj4gQWxzbywgSSBkb24ndCBzZWUgaG93IGlzIHRoaXMgY2hhbmdlIHJlcXVp
cmVkIHRvIGVuYWJsZSBjb21waWxhdGlvbiAodGhlIG1haW4NCj4gZ29hbCBvZiB0aGlzIHNlcmll
cykgZm9yIE1QVSBidXQgYmVjYXVzZSB3ZSB3aWxsIGhhdmUgdG8gZW5hYmxlIGl0IGFueXdheS4u
Lg0KDQp5ZXMgSSB0aG91Z2h0IHRoZSBzYW1lDQoNCj4gDQo+PiBzZWxlY3QgdGhhdCB3aGVuIGJ1
aWxkaW5nIHRoaXMgbWVtb3J5IG1hbmFnZW1lbnQgc3Vic3lzdGVtLg0KPj4gDQo+PiBXaGlsZSB0
aGVyZSwgcHJvdmlkZSBhIHJlc3RyaWN0aW9uIGZvciB0aGUgQVJNX0VGSSBLY29uZmlnDQo+PiBw
YXJhbWV0ZXIgdG8gYmUgYnVpbHQgb25seSB3aGVuICFNUFUsIHRoZSBFRkkgc3R1YiBpcyBub3QN
Cj4+IHVzZWQgYXMgdGhlcmUgYXJlIG5vIGltcGxlbWVudGF0aW9uIG9mIFVFRkkgc2VydmljZXMg
Zm9yDQo+PiBhcm12OC1yLg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxs
dWNhLmZhbmNlbGx1QGFybS5jb20+DQo+IFJldmlld2VkLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hh
bC5vcnplbEBhbWQuY29tPg0KPiANCj4gfk1pY2hhbA0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 09:55:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 09:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911786.1318184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfHt-0003x2-Sj; Thu, 13 Mar 2025 09:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911786.1318184; Thu, 13 Mar 2025 09: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 1tsfHt-0003wv-OY; Thu, 13 Mar 2025 09:55:37 +0000
Received: by outflank-mailman (input) for mailman id 911786;
 Thu, 13 Mar 2025 09:55: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsfHs-0003wn-So
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 09:55:36 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20613.outbound.protection.outlook.com
 [2a01:111:f403:2416::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f782845-fff1-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 10:55:36 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS7PR12MB5887.namprd12.prod.outlook.com (2603:10b6:8:7a::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.28; Thu, 13 Mar 2025 09:55:31 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 09:55: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: 4f782845-fff1-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LDAX0RLLwO4HYmuX7UC1jl3LOnm/I+z4AqIKEwJAhUvfLHWH378m3yoiMuS33hRoODyyzrOLUiDs5xeWztJYHonm7Rs8eWL7R6IP7X4wPGwQe4YQZF5+EALYkEuaWdxPPty+W3bB4KE8UBrReC66YBA8MhAg+TpLuK0wkuCDXjuRnZOa4J0GYJlcef/HnLq061B51TZeGBYOuZeHMbQDVU+Zpvur/+Y+9RiuEiCSuUHuQrPI7PSuvrMPG37c0StvrMS0utiGL+XStUlbqvYVzMKVLWc+ge1g0oyV13NLJ0YvTny/6dPlBktxvq9qGvd+R9cMACB0fOOPxypo4PzELA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=18Xr0bnPxAd1IyiDUun1RW67LBHYUgXavCJtgH/4GLk=;
 b=WzpQBx42tTap55TNi+g8Fn537USlkBtRPWJzTuUGYmSVK9Tw6EIR0yOPPZQCprrYp/3fMEbFg5ioKhlOcTBA5jaQ7GPcTnXLjoSAD6w5efUSefKvWAqBt3KsCPPwnQ17MHQv8tl7vUXV3YzCyWigbjqwi0Y/jkpTI0HYv4LC9Iy+jXcWi8LO/MYjB0NYvkIHDhrNkJ2PjTNqgMph8FbxP6B9bE8J9cGguFE9xF/hpmdujzcmCX8hDSlU53MJV9Z0q9VZnskmKUbzoeL5JC8YARcZKKKgVfM6W78JQ0/S9Zi1kuVuzjmZbpBfO27eHOSwmnYSVfLWaXJfWwdiXJkCPQ==
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=18Xr0bnPxAd1IyiDUun1RW67LBHYUgXavCJtgH/4GLk=;
 b=oeVDD2MCTxHTIvTo/bckKW/JT7y/ZpTnH0xfON0TmAaVi7pMJ8osdHaJxIUUfzBq7vr+Mzoekkih1RFHbiCJ4jQs+mJt3W2TG3EggUFjR+PtIhr3DZcbBBW/RR/3ZbjnPSAFZV7GGG+IVUna7hdAZZ+iIWGNvVV6ZuHsjAZkDcE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <93d63d08-6724-4dd7-921c-826926c5cd57@amd.com>
Date: Thu, 13 Mar 2025 10:55:27 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/10] arm/mpu: Kconfig symbols for MPU build
To: Luca Fancellu <Luca.Fancellu@arm.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-7-luca.fancellu@arm.com>
 <6a372989-e51c-4165-8f03-41da8e3a9bdd@amd.com>
 <73E6A3C6-E9B2-43BD-9F8B-6FC6F260FCE9@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <73E6A3C6-E9B2-43BD-9F8B-6FC6F260FCE9@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::7) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS7PR12MB5887:EE_
X-MS-Office365-Filtering-Correlation-Id: c8e8bc0f-ae35-4b86-21af-08dd6215313a
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?QjNQK2pacHJYMFpLRWo0QnNmZUl4TDlaM0hBTkdUMlk0ZFh3V1k2Qnh6azc4?=
 =?utf-8?B?TlM0S0s2eGNIckRzR0NuUTFYTjRVbFdiZGZqLzdIdFhPQ0VuOEcwNXBuUnFW?=
 =?utf-8?B?OUtVbkZpaUN4dFF2V00zY3dZRG5NWW9IcUdoNjVGZTA4aTFMNU1IUXNmUWxC?=
 =?utf-8?B?N1E5aHdzZnBBc1FDemJaZWtmRUJENU54L2F3cUNkRDlwelpUTjhNS0wzS3ov?=
 =?utf-8?B?RHMvS3JIUDNQYWZ4SlYzRGhMMnJOUmN4bXJpMHhaejhpOXhWT3I2dlU4YU4y?=
 =?utf-8?B?eTEvQTd3NjAvb3RhNUFEOTJoUkpzcnlaWUlmWlVEeUIwdURRcFJzaTgrdXNv?=
 =?utf-8?B?LzRBOTllaDJzK2V5Z3FFTG1lVGowNk5hblFmb01iN014bVhmbjRDUjg3VEox?=
 =?utf-8?B?Tm9ZeW1CbGJiVnAzdjlPaGV2YTg4b01jKzJFUXd2cGdLckxpSW1lVHVLTG5H?=
 =?utf-8?B?UFk0MnMvTFZyRERLeXJhNXZkR1AyS3dPdkVRY2Q0Q3RuSWl4RUVMNzQ3YkNk?=
 =?utf-8?B?dVlIV1R6SDhBY3UwTzRvT0w2WG9wSjZKWHVrNkVPSld2NVRoZ0M1WUlEU2o1?=
 =?utf-8?B?Umx4akw1Zm1kVGpzclhjblpMTmtZTncrbnNhUXJySFBsZWtqcHhtbHhsZDZH?=
 =?utf-8?B?STI4K2kzQTJ1L2I4cGNsT3J6S0xiTTJJZ1RITkJ1WnVSM01vV1B5aElQOHpt?=
 =?utf-8?B?R05pc29Dcy9TWHl2c0pVVm5rcXJhejBsM2Fob1pYM3YrUEFFakRHY3YzaE9T?=
 =?utf-8?B?ZWtYblp5VjFwOEZ6MVUycUE0c0wzUm1JZTBnWEY5ejR4OTNFRGdXVmljQXNo?=
 =?utf-8?B?c3BIRnRMelp1SnB5eFl3UzFhMitFcC9oOVczTTlXc3NNYzdEejNHY2dLN25t?=
 =?utf-8?B?U294dWhodkhUUHBiRUtIOVVKbXZIRUV0eE42K3E4Vm9yWWpCcDd0MTlhSWpX?=
 =?utf-8?B?dGExaFl1VExiRkV0ZFhXUFJ4akJack11endwUTBWTzAvLzBwU2tYMWpKYWJK?=
 =?utf-8?B?WUJ3MCt4QkdrRWFDYW16aGR6MFhSck1IVUVtMDdKdm14SEJDSnBoTHBhU2FV?=
 =?utf-8?B?cmIvQ0gyU0xZWSt6NUdkVkNNRm1EbDcveTgwTmlyVUtiRDhRK0tSQldQMGt0?=
 =?utf-8?B?cy9aYTgrVlMxUml2UlU4S1FQQ3hkTW9OWDl5eEFSU01DZTd0QktnaDNNNTFK?=
 =?utf-8?B?RmY2SVltcEhJZ2VZUncwcStGTFdaL295cWllMytMa3BaQlUweHZLNXJSQS9h?=
 =?utf-8?B?S1g5RGk0dEdkTXp5T09CRTFLU0taKzBIdW9BYnIvcUdjOUJENlZ6RGVTNSs0?=
 =?utf-8?B?bDVUdWZJZVFPZUZJNURXZFNybXZBWjY1NkJydFpaSG82SXlsK1RCZWZCdkxl?=
 =?utf-8?B?MlRwSWEyTi9XNjlxQWpSRzIzQkpDVUhCT3VSQWhyekNmSVJXZHZ1WVA0OFdI?=
 =?utf-8?B?UzhpRndsMjlaZWdIc0paY2VIcDlvWjJnRTVlY0pJWDBkbVBkcnlONUdnZVp2?=
 =?utf-8?B?UUZrYUFvNkhHcC9RVloxVlNRaG9Yd2ZTVWdIV0NqNC8veDIzWmQzZWt2RnIv?=
 =?utf-8?B?RERmekxWbGczc3lORzdudXRoS09rdFMzVWl6ZEt1bUFkZmlYZ2orMmhGL05D?=
 =?utf-8?B?V2g3bGpMTG8wVDRZR0hpMXBrdjRyci9pbDNCTzE5NE0wZjNOV2E4T0xmNTc3?=
 =?utf-8?B?bXo5Smc3QTMrWmZVUlNUKys5Z3N6MkR2bFg5K05Ka0QxaWdsbFlZQzZST2hS?=
 =?utf-8?B?dldXRzkrRERWdWREU05vZGhVcml2bkoxNHVRRzdUbmZMRGlWZEluMzlkT25Z?=
 =?utf-8?B?Mkd1TWdiZURXOWgyT3BhWUVvU1hjZE5yUmQrY1ptcEdHN3FOS201NEJSZzBE?=
 =?utf-8?Q?H/vVrfc+LN15H?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?NDVQemhMbmttbE12YjRGK0JyYkVpSkFSamowQmtNL2dzY1dGaWt6QTlZWUVW?=
 =?utf-8?B?SjBzYzg2cXpxOEt0dGVOVTFUQ3hnUkgrUy9aNktGZmQ1cldrR3NGQ0pLeDdJ?=
 =?utf-8?B?dXR5L0tHQSswcm92N1JWQU1Pd1Ezb1R0RDRpYS9Wdm1OaW1wTjA2Z2ZUbTRS?=
 =?utf-8?B?Znd4WmdpL0FvVHNmTGFxOVhtaFUxNEw2NVpVT1d5aExsaUtqdmR5YlJTSVU2?=
 =?utf-8?B?M3I0Q3RmRHp0a1drRHhhTHBxWHdqSkxrWlBRWFUrTDEyUHE5UlJEQUw3Ky9t?=
 =?utf-8?B?YmlhSkxIWnJxV0NNZmV2ZFU5VUhMYVEyclJTd2NWRXZPQS9DRWg0b2dQQ2t4?=
 =?utf-8?B?bXIzOHdsMVFldUUwSTZxK0p0V0F4N3ZhM2t4dmVPVUFIelNFV0I1ZDI5aWFC?=
 =?utf-8?B?VjhpRk12cHpjR0M5dkpPdUpwZzBIeWphT3FEWXQxWjBwNzM5S00wYkRhdEpt?=
 =?utf-8?B?WjlmeHFib1hSTWJ6R0JmUmFJeDJ4RHYzS2tpMmxDMjExQW9OWVJEeXJWMUxC?=
 =?utf-8?B?cndNeWgva3dKdEIyOWZyc1VYQkRsUGV2K3VxSWdHSHIySDNncXMrUnhEdVVh?=
 =?utf-8?B?QjdycENLMUV3elFJaGtPbmVHQmwzZGJBdmdUUGxVWWljdjI4V1gwdi9iZnVR?=
 =?utf-8?B?dzBmUHR2enlyVU5QUmgvdXRKRkhuRzJCYmNrY2ZWb1JVRFdYdDAwbzdidFZR?=
 =?utf-8?B?MG9HdGFEYUkwRWJJeUUvSHV5K1B2R2REc1FzNkY5cWY5YmVCTlJwYlJtaGxu?=
 =?utf-8?B?eTJibWtpN0JObmtpVys3YUplbWhER3NVTFdnZlZFQkN4V0gwM2xraWpoeTlX?=
 =?utf-8?B?cmwvVXpwMW1QSHFoWS9lb2NwTnhxVWhyYUx5SXV6QWJJZmRTY1hlNjN0L3B4?=
 =?utf-8?B?S0tpTFN6LzJZajRxZ3ovVExFdFovSlVoMlpUeE1CempWci95aFVadUM0N1Ey?=
 =?utf-8?B?M2VBSXdySW9jYjY0R0l6ZkRZdGhJUU1EYzI0eDVrb0thMXRQcnR6YTBYckk1?=
 =?utf-8?B?OVM2UElQbHB0dGRFSTEvV29tQjlNRk1wWHJZd05XeDA1ZzJoQmt2SUNNM0tp?=
 =?utf-8?B?eExVTE9IcDNQSHkwUVNVNUhnUEV0bjIyK0FIT094czY3QkN2dGlXL2hGZk1E?=
 =?utf-8?B?SDZabU8ySUdDRkJMelZlZUQ4cWlkR2hVaEwzNyttVFlmbHNPZHBHQ2V1K3cr?=
 =?utf-8?B?Y1BIekFEK1BOd2ZQSWMra2k1K2NVOWhFMmdXOFh4QWQ0Y1ZRWkVpM29HVmJQ?=
 =?utf-8?B?Y3psKzR2dDFiWldhUzNTWW1LdDA0SzNLQTVZM0xOb2NhSlMraFNuR3BNK29M?=
 =?utf-8?B?RW5DaVljNzByZ1RVQUZ4d01xUmVaNFpTazNDTzhnZGRrbThUc1dqUUFOK3B2?=
 =?utf-8?B?OUdwSEp6YTRJMGdxbGpRM1JSV2VHS1RaT252dXVFcFpIQ3BxY2h6UkpGTFp3?=
 =?utf-8?B?QllTem5XeWNCaXBycnVWVUpkSHhyWlpzM01JbUN1QW0rQXl2dGJEbmg1SWZZ?=
 =?utf-8?B?REQyRXhyeW5hbVJoZk5NZ0wzb3hpbVFMc2xZL3pVUnNaVmpRbk8rVDdRUG9k?=
 =?utf-8?B?M2dmYzFWNnJLdU02V3pqZC90MkMwMEZDRDRaeVV6RThTMzVVSW9SOWJqejJY?=
 =?utf-8?B?YVpRdVBRaENlemcvajYzSXovSHZZNW9Gcm9zcjN1RjAremdjZ04xeTFrOFh6?=
 =?utf-8?B?ZEZoaEdQdy9qZ3ZXQngzT29jZGpjeW1vcWowWVdEcG50eEVEK3k3UDBVYWVY?=
 =?utf-8?B?WXk1OEVra2paY1R0K2NWWk42N29mTFRvb2xvRCt5QWpCalNMcFBPcENIRE51?=
 =?utf-8?B?MkgwclNOOTdkcVdxRUs3TTVpNXVuKzVwTnVCRXJ1NWk3ejk0eWw3aW42UWZF?=
 =?utf-8?B?L3VJaTcrSUVabjhMYy95TnlZdXZNMjc5cXdVY002bTc5b2dwZnkvZEZNTVBS?=
 =?utf-8?B?dmV2akwvM3pGTnhYL3laUVN6TjZVTFhGangrSnNlZTd6RmFpVUhXZ2tPQXY2?=
 =?utf-8?B?SlRKMW56blJxMjQ2SU8zWG92QTd3SWl0ckFybDBoUENQeHNIdDR1SEMzUlpT?=
 =?utf-8?B?WHpvcGRycXR6cGh2am5LL2Q5UzU4emVUWlNmQVlKNWR6OGFxMStSdnJVVCtB?=
 =?utf-8?Q?IgGA=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8e8bc0f-ae35-4b86-21af-08dd6215313a
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 09:55:31.8340
 (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: ehG1AjuNpSRVzAbbQdHdlpw50gzeSF4AdzhyAtU+0OePWYfxUCOEuG9830POJ9zw
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5887



On 13/03/2025 10:53, Luca Fancellu wrote:
> 
> 
> Hi MIchal,
> 
>> On 13 Mar 2025, at 09:43, Orzel, Michal <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 12/03/2025 14:52, Luca Fancellu wrote:
>>>
>>>
>>> Currently the MPU system requires static memory to work,
>> Currently, meaning in the future it might not be needed?
> 
> No, maybe Iâm not clear, my understanding is that static memory is always required for MPU.
I think so too. I'd suggest to drop "Currently" as it reads as if it was a
temporary requirement.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 10:04:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 10:04:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911802.1318194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfQQ-0007PN-Ip; Thu, 13 Mar 2025 10:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911802.1318194; Thu, 13 Mar 2025 10: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 1tsfQQ-0007PG-Ez; Thu, 13 Mar 2025 10:04:26 +0000
Received: by outflank-mailman (input) for mailman id 911802;
 Thu, 13 Mar 2025 10: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsfQO-0007PA-Ti
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 10:04:24 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20607.outbound.protection.outlook.com
 [2a01:111:f403:2406::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8976ec12-fff2-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 11:04:22 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by BN7PPF8FCE094C0.namprd12.prod.outlook.com
 (2603:10b6:40f:fc02::6d8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Thu, 13 Mar
 2025 10:04:17 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 10:04: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: 8976ec12-fff2-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YMWqMAoquWBu7eP/k0+R5T5Z8XzzjbqYs/qMcTE1udPbBXL4X9G4J8WUoDU6PLWRF79FYT7ngB90HRyTQmRIgyu/OAAsYvOn2kPfXukoe1/c5kL0kWL9ehS0ZLXNH7lvHdPmf2kINdVAWPC6GF5K5z8+1ZitBcZpQ20c2W/TiiXMHQ/ir/socIs9pDrfzOOLHpQp4YsPeOrshLhGx41CKM0lw7qDXo9HzJAyT/rKnsh8hYMMsjypFPiNpke6P4TqOi6s+UgKuBADEtyZexttIEErrMJHWwU/O0BKYU2kg7ShwbGaNHgbARTYHf2AwoPUrH1kLE+a4Tcp0VubNB9iMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5bwfNq62fClrcctu2qzFN2pIWgGzk5osp6y6onnH/FA=;
 b=UeY/SpnKJX9VNCDq8297KybN89Y+J3Ad7Dt0caXwMrwgbyl585z6QJtcuE6tkHd04JrhS0yDeQylmRZzRlJAbrzC18IfMaTY5j0Co0T4d/wMXprQnmfIXPZsI8C4emI+2vRhrhayOSsa14/m5ADot7KtrLURQuJPBZermV351X2z1zeNpjb2rXeYB3bKPgXBP7rcDfgpcQUwNfkUVZUJM/sVqSOxJFMHNC+54nhvb/mFw73CHLltgwS6Wl4AUPy6+icyA8+v8oIC/t7I8+v/XURC0CZ4Zlw7GTUWeXbz1RVm3xc12Iq0QvRSLzYNX1v2UEnIXzW19wt5DZK5ACDLMQ==
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=5bwfNq62fClrcctu2qzFN2pIWgGzk5osp6y6onnH/FA=;
 b=Qqp6UIBiizciijSZ3rWQEhp1MAWDF33M2mdKIZW5+uF+1ad4HM4KFZBHVKdCkU/vCQGdP+wycYYsijrPC6N1TjIw+mc9fZg9FV5mqB0bgPJEs6JDJnfNbLsQem9JzeUCJjyES5e3cMMQoKtgXUgBcvJXkOTQ0bvFvjc54EnJv20=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <db103ce9-091c-4bff-807f-38155ef1b3ca@amd.com>
Date: Thu, 13 Mar 2025 11:04:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/10] arm/mpu: Implement stubs for ioremap_attr on MPU
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-8-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-8-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0034.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::20) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|BN7PPF8FCE094C0:EE_
X-MS-Office365-Filtering-Correlation-Id: d052746a-0cac-4a4f-049b-08dd62166abb
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?QWpMN1Q4MloyelNkSUdsVVRvOUsra2VBb0dMQXQxTzI5ZWl2ZmdxT1VCT1BQ?=
 =?utf-8?B?WmZXZ2lIbm9uZDlmT2FNLzhtcEVpV3BQQjVzT0hTeElPVHZiOTZ5Qi9QQk9T?=
 =?utf-8?B?dkExbHNHZHNtZ2RTdVR1Lys3YUp0UUEwRDdGekQ3N1UrWG5Ta0RDcW5udjMy?=
 =?utf-8?B?RndxRmxpbk1RS0U2OXJlNHprNFdHbG5Ed3JISk1jQThDbjZKZkxwbk5PeGdR?=
 =?utf-8?B?VHdGSlJOeE93aWs4VWxVL1o5R1JyNHphdUc5RXFMSi9DZDVYcFh3YzNVV3lw?=
 =?utf-8?B?WE9aZW16UUYvelJJZXhweGsyZktHaEErOXNuTXlOeDY1RS84T0VwN3YrWTdF?=
 =?utf-8?B?S0hQYk9NaWdoMGgrRk8rcTlhRUlIc1F1WHQ0V0NCYlNyK1NNeFBKUjRtQVgv?=
 =?utf-8?B?TElrbjNtZUpLc1c3bUR6WksvTzdJTjFIWjM3WG9qRHBMSFBOWjBydnpUTmxK?=
 =?utf-8?B?azNwa0FnQzNscmtYNExOM3A0bjZCcGdDZHpUUFRadnlJdlF3N1E3ZHBJT1Vo?=
 =?utf-8?B?QWtuQm84MzBLNVlwbUdETDVJdngwZkJrK21IaUpVS0p2cDdXemxocWZtKzZu?=
 =?utf-8?B?NE5ZUlFCTXVaWElmL3V5LzM2Zy9YVXBTZ1VJYVZ5eHhpd3NqeUZrR05qd21m?=
 =?utf-8?B?L2ptc1haOWxsUkJNSTFqV3ZDVHpmTHZvTjIzRWpjd0FHb0R4YmRTYzhRZ0t6?=
 =?utf-8?B?WThxenIyUDJHMEZrSC90NXN5M1hCWFNxKyt3NEkvNDk1Mjk1Tk5neUd0dW5D?=
 =?utf-8?B?c3YyM3FJcmdRelhzY29rL08xaFZMQXBpTHdVdkdxeE1Eb1R3RHVtWHdoZ0ll?=
 =?utf-8?B?SlhJVFRLM1R2cUk3eTdRYnZINlhWUEFaNHVVclY2Y0pJNkpCOEZ3SENmTkN4?=
 =?utf-8?B?Z01QVHhBV1d6N05tc0JGZTIwaWhlSGw5Q2FiL3Q5V0V3QXMyblNtSUJlRzJx?=
 =?utf-8?B?OHJOY3pZa0lMVkc2dG1Tc01aZ2pDUjBlcnoyUjhmcFdrczdkRVhQRXRXbHdO?=
 =?utf-8?B?VUdydVAzWmNNVmpKMDYrODA5VUc4Q3JuUlNZb0RURzlyUlNuVWZyemdxWmVT?=
 =?utf-8?B?YWRiOTFKM01rMUgvRTlBRkdZSk9zVGl2T1ByS3IreEpOaU00cTRIVWc2NitD?=
 =?utf-8?B?alMxanMzR01FeGpwemFBYmpwWW1sQzkzWkFqNUorcmtwL1pVcjFtK0hBSEZx?=
 =?utf-8?B?bk41TFlIUUxURlI0RUhhdDdJTVJpU1ppMlpyMUxUd3N4YXExd1dOdWp3UEdq?=
 =?utf-8?B?RjFFVlROdlg1ZXdTbW1Mb25FUVEwa1NkN0VPTktjaDUyZW5JTStKMTNjbVF3?=
 =?utf-8?B?emxJcjdGcXVOQkErL3pCSTF3UGNOUFE2QTZCcU0rdVMyei9ITjVZemxxSDM2?=
 =?utf-8?B?Mm1SbUZMUStWVS80dDllMUdDdVVaT1lmQmc3RkVRMTFkaVBVa2JsazVTdUoz?=
 =?utf-8?B?bnF0RXg0NHhDU1hqYm92UnBJN0owWjhBRlNwdUlaNTBwdW0zbUNDbk9jZldI?=
 =?utf-8?B?T2dpU2xzYnh4UDNWZVBKOCtmVkZBZFEzMWY2bUV1T3VOenl5MlhlRmJSaDlY?=
 =?utf-8?B?b1NxTktLVlN5YzhKdGhWTWpxQWMzaHYzNFBZd2NYTCtuT253VU42QUxQd1RQ?=
 =?utf-8?B?dUF4TnpZRExqd3lTbUFuSGlqa3hKc0lLM3N4dWg3QW9NV0JuWFBSNWx3b2hh?=
 =?utf-8?B?V3ZocUR2MmJrL1M3TjJRVHFMSTJiQ0ZNcTFad2gvbHhkYjVFU3RweU5JSkxM?=
 =?utf-8?B?UG9uTStXeXh1ZGFrek9WU1ZYbHUwQUFMMTJyblhXczErcTVad05xdVp4RXRt?=
 =?utf-8?B?OWFyWVdHdHY0SkNkK0dGd1ovbWlyRzJ3RFpnbnd1ZnZ0eXVpN0l4Qm5tM0k3?=
 =?utf-8?Q?Qya01tiO8xd4U?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?ZzUvZ3B1VkJHWE9WL3liZ3VPbUZCMUdUVTB2SkpBc1pSSmdndFUxUnM1SzRr?=
 =?utf-8?B?WXJDc1IzSU9yTjlGa1ZzK0h0OWNJdVR1dnY0WEtXUVUvWFd0U1cveDRrd0dk?=
 =?utf-8?B?SXJxOEMwc0JYbFkrNWV1b1RlODNRWGEyQ2dnNHBBNWdvb1ZzK1FKeXpkRDRn?=
 =?utf-8?B?cmhCNEIyL2lYeHFjbHpTQk9BcXZ4YjJRMFBaVWdLcmFHQ3B4REl6MU9ERzVr?=
 =?utf-8?B?UUY5MlQzbE9MSjJ4L3IwYTlpUThoWkVaSkFqL0NlNTh0eDJWUlBvbXBjRW1E?=
 =?utf-8?B?TnE4UDJFT3V5aGNkbzN4ek5FQWdyWXd4TS9mWjU4b0RNK09rVUtmQ2FGc3dx?=
 =?utf-8?B?YzBXTUlXc0ZxNEFad0svTEl4WDFrYXlESmpvTUZKVWQ2amZ0TU5QTEZvUTl3?=
 =?utf-8?B?dVZOYk9CckRIbFl4dXJMOVZuaGVKZHFVak5LWjBmSHQzOTBuQ3Y2c1VvK25L?=
 =?utf-8?B?TGJYeUNtckZYWWxJRTUzenhxREZOVmhoMzkzekw0SWs3K2ltZ2VNRlFkTHFY?=
 =?utf-8?B?ck1lTDcvUVBMZFo4aGF2TitSRCtMVE0wL0xaQUxxcXBQdGRQVmdBL2ZMei9z?=
 =?utf-8?B?a1Q0dWVUbmxqN1pXZ3VMVldiNGJ1dkZ2UGV0ajlzNVdHOTVjQmpqZXJlcWU0?=
 =?utf-8?B?SlViQzdma2xvSWV6Q1lMM01LaTkvYURmVEQwaHpuTXozV0V6bUdpYWFLNGRi?=
 =?utf-8?B?dzdFVkkzKytUT2dVUUtTNkpoQmtXYTZrbHBmUWtrdFlBS2ZKeHA4THZ4emlY?=
 =?utf-8?B?a2hHbFcvck1UUFFiVTZ5c3drU0FDS2NhdHNEYW44L3pLYmFHcnAxMmpsV1pt?=
 =?utf-8?B?bTJtSE9IbkR0TVpweU5kSVNBbm5pYUdNdUVEby9NMFVsK2FZK3pjUmlMdSsy?=
 =?utf-8?B?SnZ0MGVLYzZ5WmtJbXlUSnhRSVZjTkt6U2FFckhaV2V2VGV1R3hzMjNxZGJa?=
 =?utf-8?B?bTd1NEdOZ0sxYm12RUlhZlUvUVJiNGVORThYYWJERmx3eDVXMmZWL3FMQlRL?=
 =?utf-8?B?UmJZdGx5RnY5R3FIbnBhYlEzZXlZMUkyc1owR3BDdjRtYUJRRlk1ZVZOZDZw?=
 =?utf-8?B?TTBMRE11VVRXb3h4Mmk0OVNMNWdGbVE0RTdSTko3TmlFMjlQSUE0emVUYTN1?=
 =?utf-8?B?MHZ5cm01bno4YVpBR1c3QWdsVUphSU5iS09jMGFIbjVlMUlxLzhrZDBQU3Ex?=
 =?utf-8?B?M3psenJkQ0pnWFRabE1PQnowOW5XQ0IwTW5JRGlFZTBlWTAvNFV5MzBFMVFp?=
 =?utf-8?B?M01aWHZXYllYODh1cEZrZ2FGcXhhY0JSandBU2Z1UFgxanZxSzdxdW00TTNu?=
 =?utf-8?B?MGpRWmhRbWhjNjFxYmdwRFBITVRFRlJ3bzUxQ0VoM1doWit3UzFzNVdEeGZr?=
 =?utf-8?B?ajlnKzg1YzM4dllaZW82WSs4RVF1aXlPTkdTclFPM1pLWlQxVmo3V1R2dWRM?=
 =?utf-8?B?WWdzVzgrclNMYzFiclNTR0Erb3JUVEg5VnFJb0VYRlhxclVKdXFKL3c5aXRC?=
 =?utf-8?B?N0trNlJsLy9NQmxqSXBZQUFsM1ozazBnclVEMVlpNFh4SlBZZFpETUJZTXpu?=
 =?utf-8?B?cmFDUHZ0VW9lN01LOWdxYmZ3RjRIQTVGbjZrWG9aWjZJY2pFS1JHMGhNL2xL?=
 =?utf-8?B?bDlwS0ljemxia09tc0dwTnhLcnViUyt4TCtJcm5FM1FWeHVBRkR1Wnl2SGdu?=
 =?utf-8?B?VmpmRG1hcnFHbmx1emFOUXVIcHVVc3NIMUg1eG80UitXa0tYNlNyTExkdFhO?=
 =?utf-8?B?RWlLeGpTbExkSzA4Y2N5OXlvWjJVNjFacjBoUWlQYVAySVNjbFdJWjRpSFVx?=
 =?utf-8?B?WkI3S0RJcncwRThPdjVVTFF2ZTAvVERhRERQUUdTbFFxa1dUNUFtTWtzV0Rj?=
 =?utf-8?B?Uk0ySDFjNnl4MGx6dUFwbXQyblpTc2ZBNFROQ3Zib1QrSmF3azBLWkFsS2NG?=
 =?utf-8?B?T3QrZGJWQU85K29VMVl0dHZQVE1ON0kzN2tSN0dvSUJoRUJTWUt4SVNIbVFi?=
 =?utf-8?B?UHBBL2trMWYwdUJpeVVFRFZTenRlOGNNMkFTRlkzbERmZUNzTmd3YnZxeGgy?=
 =?utf-8?B?d2lIMmluYnU2Z1g1MStCeHkvTDA0WHAyL1JvMEhRZisvSHgyYVFZcVFjclBo?=
 =?utf-8?Q?77rc=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d052746a-0cac-4a4f-049b-08dd62166abb
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 10:04:17.8110
 (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: Uo1mDymzd4ip1WdbFzg/MpNp7ILmVgiZY0NOlF05oebsm+FNmCSUIFNIHZKiEG79
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPF8FCE094C0



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> Implement ioremap_attr() stub for MPU system; the
> implementation of ioremap() is the same between MMU
> and MPU system, and it relies on ioremap_attr(), so
> move the definition from mmu/pt.c to arm/mm.c.
I could see this bundled with the last patch, but as you already split it.

> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 10:16:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 10:16:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911813.1318207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfcH-0002H9-JB; Thu, 13 Mar 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 911813.1318207; Thu, 13 Mar 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 1tsfcH-0002H2-GH; Thu, 13 Mar 2025 10:16:41 +0000
Received: by outflank-mailman (input) for mailman id 911813;
 Thu, 13 Mar 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=4VRv=WA=bounce.vates.tech=bounce-md_30504962.67d2b084.v1-d96656fc4bef4c46a67b20849d138f86@srs-se1.protection.inumbo.net>)
 id 1tsfcF-0002Gw-G9
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 10:16:39 +0000
Received: from mail128-10.atl41.mandrillapp.com
 (mail128-10.atl41.mandrillapp.com [198.2.128.10])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f4f883e-fff4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 11:16:37 +0100 (CET)
Received: from pmta08.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail128-10.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4ZD3Lr2QTMzLfHTDM
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:16:36 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d96656fc4bef4c46a67b20849d138f86; Thu, 13 Mar 2025 10: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: 3f4f883e-fff4-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741860996; x=1742130996;
	bh=9OLHqGV56y1iWNtM4YA49so3Lpe1f8FMl65Ei94dkao=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=U/GlslXtcnLPKmODogomWnYEBesd0WJxIzutbah4YoL5jye6COSHUT4fvBAYvoUps
	 2Cgm7omOupCpM6ACz7aGUVHYpaoMevA8uQwY8/Av8oU3YOiDgFlV5m0F6sY0uPOmZJ
	 UFfUHzEf8qyaeL07u4bLq94O7ms9evN0Zif26GwZFtUTeiZ3ITXAgmRNrxOhyPbvUd
	 KNQW1t1Vun1HG1cvDGEohtreGBbOl8JGKaIEAYq0oY3XVd2YwogYIoEZRCH7M/lrYA
	 RFJ90mRZSDdgrO2nUTDP2fWhcJN4JpjaUBivT4iVhUmSIFKJtR6jIvTDPlaW5suJ0z
	 10LXMWXkDid9w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741860996; x=1742121496; i=anthony.perard@vates.tech;
	bh=9OLHqGV56y1iWNtM4YA49so3Lpe1f8FMl65Ei94dkao=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=h8tIiW59Z9bTtud3IPzgnD6wwJ+9t6h91BLOq1Ku7qFMuY0gl6kwioh71kph6rdw+
	 aIeFTfPlJYfKBsADH3E3FczYLQYP6nvuVJ7uKF8ivCYwBgOhRF9voNyQMOMOYYb6uq
	 Wzv5NdtJriHrgVcXpMdaNBcSnGHSiw34eoJJrBoWiKfGV0tDrJUajm90V6uTPgCfSa
	 gH6A+Fg/rK6NnMwoT8DrdszmoUnrGLUs5rWAJx4HezgRwDrCcZ1f3SNe13Bxt8JDUt
	 2RCZpdLimGFOUgeOz8Oytvo+nfgsj88QeMt18auR5WPuODbSMIXYLhB7ZEFUZRk+jX
	 YHlzIWTH9WNdA==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v3]=20docs:=20specify=20numerical=20values=20of=20Xenstore=20commands?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741860994568
To: "=?utf-8?Q?J=C3=BCrgen=20Gro=C3=9F?=" <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, "Andrew Cooper" <andrew.cooper3@citrix.com>, "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>
Message-Id: <Z9Kwgqe9FUgrpSUs@l14>
References: <20250312084143.14045-1-jgross@suse.com> <Z9G6dXyhM01MFD_q@l14> <ade9e905-f9d5-468c-bad6-acc996378f06@suse.com>
In-Reply-To: <ade9e905-f9d5-468c-bad6-acc996378f06@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.d96656fc4bef4c46a67b20849d138f86?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250313:md
Date: Thu, 13 Mar 2025 10:16:36 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 13, 2025 at 10:51:06AM +0100, J=C3=BCrgen Gro=C3=9F wrote:
> On 12.03.25 17:46, Anthony PERARD wrote:
> > On Wed, Mar 12, 2025 at 09:41:43AM +0100, Juergen Gross wrote:
> > > diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
> > > index 7e1f031520..72db73deef 100644
> > > --- a/docs/misc/xenstore.txt
> > > +++ b/docs/misc/xenstore.txt
> > > @@ -86,6 +86,67 @@ parts of xenstore inaccessible to some clients.  I=
n any case passing
> > > +XS_CONTROL               0    optional
> > > +    If not supported, xenstore-control command will not work.
> > > +    XS_DEBUG is a deprecated alias of XS_CONTROL.
> > > +XS_DIRECTORY             1
> > > +XS_READ                  2
> > > +XS_GET_PERMS             3
> > 
> > This new table prefix message type names with "XS_", but the rest of th=
e
> > document describe each type without the prefix. Isn't it going to be
> > confusing, and make it slightly harder to link this table to rest of th=
e
> > document? (I often search by full word, like '\<GET_PERMS\>', because
> > that one key stroke in vim '*', so having different prefix makes it
> > harder to search)
> 
> Question is, should I change the table to drop "XS_", or the rest documen=
t
> to add "XS_" instead? After all xs_wire.h is defining the names with "XS_=
".
> 
> I'm slightly leaning towards a preparatory patch adding "XS_".

Well, I'm actually for dropping the prefix from the table. The prefix is
more of a C specific namespace than anything else. The ocaml
implementation in tree doesn't use this prefix, but a different one (if
we ignore the different case:
> Xenbus.Xb.Op.Watch
https://elixir.bootlin.com/xen/v4.20.0/source/tools/ocaml/xenstored/process=
.ml#L632
And have a link to a string without the prefix:
> | Watch=09=09=09-> "WATCH"
https://elixir.bootlin.com/xen/v4.20.0/source/tools/ocaml/libs/xb/op.ml#L49

There's also a version in Rust which also use a different prefix,
"XsMessageType::".
https://github.com/Wenzel/xenstore/blob/f82bd45cbcd1aa98306c57d35847e3d77f7=
cc8ee/src/wire.rs#L55

So the prefix is really programming language specific and I don't think
introducing it to this document would be useful.

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 10:19:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 10:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911828.1318216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsffK-0002qq-0S; Thu, 13 Mar 2025 10:19:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911828.1318216; Thu, 13 Mar 2025 10:19: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 1tsffJ-0002qj-U9; Thu, 13 Mar 2025 10:19:49 +0000
Received: by outflank-mailman (input) for mailman id 911828;
 Thu, 13 Mar 2025 10:19: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsffI-0002qd-Qc
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 10: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 b0d25c6e-fff4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 11:19:47 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso4769015e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 03:19:47 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d188affdbsm15798055e9.7.2025.03.13.03.19.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 03:19: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: b0d25c6e-fff4-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741861187; x=1742465987; 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=FFgBD4URUkG2X6df/kZGV3/2UEiBWWrVHi+FFZ9mJRs=;
        b=dnIy2BfAFuteeq/+/rYoaZIvKtE/Zxpe+iE0nQW0QfMVEFhh5uxSGSihujhqFDU0Dn
         lLK83J+zjxsbQ6fhPXC3UCTlqX6cHFykZNUbQG8X5xzXtmC8qod9vHORJhxkC1JDe3Hw
         7B45KUx2BUqUxrWQwN6at8VnH/Qu0lFph4lwvDzvt+/T/71Hd0LkaoOlp2s2VNEqr0S+
         bkrB8vtSBTr35oXvno7hzc/SVPr6+1mpseB9XpVHSEpjkGKKH7p0nyk0JptEwWSLs5jn
         LSdWbaIkmp51krdy/fMmT/QJU8GcOf265CwLEEOK6+frvgWuex9gxS6pnkkAi0fHvXuT
         o5IQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741861187; x=1742465987;
        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=FFgBD4URUkG2X6df/kZGV3/2UEiBWWrVHi+FFZ9mJRs=;
        b=kT7xT3XCdyvvm33G01m1DICiLS1pXSnaa4lVlQJsRe2YsHbJEagv0QL6wLTyxdgThk
         9j0tIHO6YAQXdTsKtctfA3augCDfjSU3iKPSrCBx0PSepITcIxBca0a99f8BW9WywjXG
         +WkNhQXwK6p47ZWv8BWi/XZ5AaVm9x19Bvvh2sk8Qy8VGn7i0nSXCC89ctmQjkCwNUE+
         vbdxsqYLIRwLFsw9Wc1RW4/qn65y+IpugGgaOaq/AOxhlj8d2Ub+jXaDSSPqqQMmulU8
         PBZ1MEIkO3Z6Uh9ItkjXGk954XRiiJYLGsz6YEknrlGWWlPevce1WZ5ZiBkrw2v4oEyE
         bEKg==
X-Gm-Message-State: AOJu0Yw7/1D7OPscRDmTFV3X1rfmSLqBnoc8xAPNFxnLhHd4PHrl+/I/
	IB7QFqiTcpBGqyFQ5LJC9+9n9FGn1JBslryTEOUYY27KECR8ncn0kHAm9btjAac=
X-Gm-Gg: ASbGncuEEWS7+pJu4ontQ0OfKIqxzWcETAulCjtyGvWcrSOB3CarBIFRLd07d1H/Cl9
	iizi8hCLEsPOWYighetuyGDnvSXKshklNrHpAMJqdWzbmQrpaNu1aHU4mU9eG/HytD1TyLeopFd
	fR1HZGCtPPx/M+iQcT9B6E/x6FOP6pk55da3REafSdr7zFHhNvin7rARDkxYO4wVm0OeMrqfZMK
	QgKZivjpu/Yl+8be0mof9j8p/tFhIjxbUAMYq8b9hGrvJqE3JDpWGEI+DeKu2k/8UuQx6NMD2HF
	RwavNaMpGIALU7xZk3TMkwq0zgrNYzGcavrsbPf+1A8EpsSGzbwiM8PV1suS4MJCKaGZJSSgamM
	WMcVOjiZPfoEjTJniNRUd0BHeTC0IqbSg17DWfKjSG3sdE8oF/Xaxu2CLIoAtsoOgTnY=
X-Google-Smtp-Source: AGHT+IHBSlByC9ie1hjlfvelmH4DxxP2LVQhbGEju7OyflfMTBP5+nDr3sIqOeQye1AUYzt3QnsFaA==
X-Received: by 2002:a05:600c:1c04:b0:43c:f629:66f4 with SMTP id 5b1f17b1804b1-43cf62969f2mr153453935e9.0.1741861187022;
        Thu, 13 Mar 2025 03:19:47 -0700 (PDT)
Message-ID: <d3a012d6-87d9-4a22-9918-c1e2033c4e0b@suse.com>
Date: Thu, 13 Mar 2025 11:19:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs: specify numerical values of Xenstore commands
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, 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: <20250312084143.14045-1-jgross@suse.com> <Z9G6dXyhM01MFD_q@l14>
 <ade9e905-f9d5-468c-bad6-acc996378f06@suse.com> <Z9Kwgqe9FUgrpSUs@l14>
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: <Z9Kwgqe9FUgrpSUs@l14>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hPwaqXVCUvYXcMLBipzzLMm0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hPwaqXVCUvYXcMLBipzzLMm0
Content-Type: multipart/mixed; boundary="------------aHc9XOJPzUV4BFr1yVzK2tjV";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, 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>
Message-ID: <d3a012d6-87d9-4a22-9918-c1e2033c4e0b@suse.com>
Subject: Re: [PATCH v3] docs: specify numerical values of Xenstore commands
References: <20250312084143.14045-1-jgross@suse.com> <Z9G6dXyhM01MFD_q@l14>
 <ade9e905-f9d5-468c-bad6-acc996378f06@suse.com> <Z9Kwgqe9FUgrpSUs@l14>
In-Reply-To: <Z9Kwgqe9FUgrpSUs@l14>
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=

--------------aHc9XOJPzUV4BFr1yVzK2tjV
Content-Type: multipart/mixed; boundary="------------M0bjHR0wHf0z2AINqwvLPwWR"

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

T24gMTMuMDMuMjUgMTE6MTYsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBUaHUsIE1h
ciAxMywgMjAyNSBhdCAxMDo1MTowNkFNICswMTAwLCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0K
Pj4gT24gMTIuMDMuMjUgMTc6NDYsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPj4+IE9uIFdl
ZCwgTWFyIDEyLCAyMDI1IGF0IDA5OjQxOjQzQU0gKzAxMDAsIEp1ZXJnZW4gR3Jvc3Mgd3Jv
dGU6DQo+Pj4+IGRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuc3RvcmUudHh0IGIvZG9jcy9t
aXNjL3hlbnN0b3JlLnR4dA0KPj4+PiBpbmRleCA3ZTFmMDMxNTIwLi43MmRiNzNkZWVmIDEw
MDY0NA0KPj4+PiAtLS0gYS9kb2NzL21pc2MveGVuc3RvcmUudHh0DQo+Pj4+ICsrKyBiL2Rv
Y3MvbWlzYy94ZW5zdG9yZS50eHQNCj4+Pj4gQEAgLTg2LDYgKzg2LDY3IEBAIHBhcnRzIG9m
IHhlbnN0b3JlIGluYWNjZXNzaWJsZSB0byBzb21lIGNsaWVudHMuICBJbiBhbnkgY2FzZSBw
YXNzaW5nDQo+Pj4+ICtYU19DT05UUk9MICAgICAgICAgICAgICAgMCAgICBvcHRpb25hbA0K
Pj4+PiArICAgIElmIG5vdCBzdXBwb3J0ZWQsIHhlbnN0b3JlLWNvbnRyb2wgY29tbWFuZCB3
aWxsIG5vdCB3b3JrLg0KPj4+PiArICAgIFhTX0RFQlVHIGlzIGEgZGVwcmVjYXRlZCBhbGlh
cyBvZiBYU19DT05UUk9MLg0KPj4+PiArWFNfRElSRUNUT1JZICAgICAgICAgICAgIDENCj4+
Pj4gK1hTX1JFQUQgICAgICAgICAgICAgICAgICAyDQo+Pj4+ICtYU19HRVRfUEVSTVMgICAg
ICAgICAgICAgMw0KPj4+DQo+Pj4gVGhpcyBuZXcgdGFibGUgcHJlZml4IG1lc3NhZ2UgdHlw
ZSBuYW1lcyB3aXRoICJYU18iLCBidXQgdGhlIHJlc3Qgb2YgdGhlDQo+Pj4gZG9jdW1lbnQg
ZGVzY3JpYmUgZWFjaCB0eXBlIHdpdGhvdXQgdGhlIHByZWZpeC4gSXNuJ3QgaXQgZ29pbmcg
dG8gYmUNCj4+PiBjb25mdXNpbmcsIGFuZCBtYWtlIGl0IHNsaWdodGx5IGhhcmRlciB0byBs
aW5rIHRoaXMgdGFibGUgdG8gcmVzdCBvZiB0aGUNCj4+PiBkb2N1bWVudD8gKEkgb2Z0ZW4g
c2VhcmNoIGJ5IGZ1bGwgd29yZCwgbGlrZSAnXDxHRVRfUEVSTVNcPicsIGJlY2F1c2UNCj4+
PiB0aGF0IG9uZSBrZXkgc3Ryb2tlIGluIHZpbSAnKicsIHNvIGhhdmluZyBkaWZmZXJlbnQg
cHJlZml4IG1ha2VzIGl0DQo+Pj4gaGFyZGVyIHRvIHNlYXJjaCkNCj4+DQo+PiBRdWVzdGlv
biBpcywgc2hvdWxkIEkgY2hhbmdlIHRoZSB0YWJsZSB0byBkcm9wICJYU18iLCBvciB0aGUg
cmVzdCBkb2N1bWVudA0KPj4gdG8gYWRkICJYU18iIGluc3RlYWQ/IEFmdGVyIGFsbCB4c193
aXJlLmggaXMgZGVmaW5pbmcgdGhlIG5hbWVzIHdpdGggIlhTXyIuDQo+Pg0KPj4gSSdtIHNs
aWdodGx5IGxlYW5pbmcgdG93YXJkcyBhIHByZXBhcmF0b3J5IHBhdGNoIGFkZGluZyAiWFNf
Ii4NCj4gDQo+IFdlbGwsIEknbSBhY3R1YWxseSBmb3IgZHJvcHBpbmcgdGhlIHByZWZpeCBm
cm9tIHRoZSB0YWJsZS4gVGhlIHByZWZpeCBpcw0KPiBtb3JlIG9mIGEgQyBzcGVjaWZpYyBu
YW1lc3BhY2UgdGhhbiBhbnl0aGluZyBlbHNlLiBUaGUgb2NhbWwNCj4gaW1wbGVtZW50YXRp
b24gaW4gdHJlZSBkb2Vzbid0IHVzZSB0aGlzIHByZWZpeCwgYnV0IGEgZGlmZmVyZW50IG9u
ZSAoaWYNCj4gd2UgaWdub3JlIHRoZSBkaWZmZXJlbnQgY2FzZToNCj4+IFhlbmJ1cy5YYi5P
cC5XYXRjaA0KPiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS94ZW4vdjQuMjAuMC9zb3Vy
Y2UvdG9vbHMvb2NhbWwveGVuc3RvcmVkL3Byb2Nlc3MubWwjTDYzMg0KPiBBbmQgaGF2ZSBh
IGxpbmsgdG8gYSBzdHJpbmcgd2l0aG91dCB0aGUgcHJlZml4Og0KPj4gfCBXYXRjaAkJCS0+
ICJXQVRDSCINCj4gaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20veGVuL3Y0LjIwLjAvc291
cmNlL3Rvb2xzL29jYW1sL2xpYnMveGIvb3AubWwjTDQ5DQo+IA0KPiBUaGVyZSdzIGFsc28g
YSB2ZXJzaW9uIGluIFJ1c3Qgd2hpY2ggYWxzbyB1c2UgYSBkaWZmZXJlbnQgcHJlZml4LA0K
PiAiWHNNZXNzYWdlVHlwZTo6Ii4NCj4gaHR0cHM6Ly9naXRodWIuY29tL1dlbnplbC94ZW5z
dG9yZS9ibG9iL2Y4MmJkNDVjYmNkMWFhOTgzMDZjNTdkMzU4NDdlM2Q3N2Y3Y2M4ZWUvc3Jj
L3dpcmUucnMjTDU1DQo+IA0KPiBTbyB0aGUgcHJlZml4IGlzIHJlYWxseSBwcm9ncmFtbWlu
ZyBsYW5ndWFnZSBzcGVjaWZpYyBhbmQgSSBkb24ndCB0aGluaw0KPiBpbnRyb2R1Y2luZyBp
dCB0byB0aGlzIGRvY3VtZW50IHdvdWxkIGJlIHVzZWZ1bC4NCg0KRmFpciBlbm91Z2guIFN0
YXkgdHVuZWQgZm9yIFY0LiA6LSkNCg0KDQpKdWVyZ2VuDQo=
--------------M0bjHR0wHf0z2AINqwvLPwWR
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-----

--------------M0bjHR0wHf0z2AINqwvLPwWR--

--------------aHc9XOJPzUV4BFr1yVzK2tjV--

--------------hPwaqXVCUvYXcMLBipzzLMm0
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/Ey8FAmfSsUEFAwAAAAAACgkQsN6d1ii/Ey+/
xQf+NkfYhJNjd2lnbMY/3OnjjHvqsGfNGqzuMm6pNF8mFpU+w51YknNtaa5ZCtMgHlOzrhHPEztr
l5Gza2EHMEfVf8pUq/n+Wsgtu0POKv+qqIwuWOlZGPFzxDK0RwKtkcFxMsuIU1XYGvlIhDOo4coo
H3StNsnHEjkeZOksVelWb7NS+e7ygIfbj+y9UG4l0kE3jLmZ8LC1Stm/IeX9n+CM0PcgQEwZMjg9
mpGobV/0v4pGqJNXG0MOEJkviFzG+IEH0vqWfLZvpWjZ0P8ld2xMA7jvmZc9BVDUTraEp5jghSWk
vbcQfyJoq5SV1V0gXRd0EvnkpQAtcu+LnTvBq9HtiQ==
=LFsF
-----END PGP SIGNATURE-----

--------------hPwaqXVCUvYXcMLBipzzLMm0--


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 10:20:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 10:20:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911830.1318227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsffU-00038f-D6; Thu, 13 Mar 2025 10:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911830.1318227; Thu, 13 Mar 2025 10:20: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 1tsffU-00038Y-A0; Thu, 13 Mar 2025 10:20:00 +0000
Received: by outflank-mailman (input) for mailman id 911830;
 Thu, 13 Mar 2025 10:19: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsffT-0002qd-7e
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 10:19:59 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20604.outbound.protection.outlook.com
 [2a01:111:f403:2412::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b649498f-fff4-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 11:19:58 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS2PR12MB9566.namprd12.prod.outlook.com (2603:10b6:8:279::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 10:19:52 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 10:19: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: b649498f-fff4-11ef-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fp3L8euKPnBUp1cPJZ6DxgqsW39LQbKpktefuKR1H5Hkf20wpomYndiG9MQ6vb+oAmjdyyBTHlM14G5mLJwYwpsVXsaYLxvVMCQzVb1FHcCIH4XMp5NsSEUSNnlk+5NQuggT7PQFO+k5XUzoM+yqE0g4alDLXjed+xgHjJiqTlw16/uiqtAnMUkjIGtbyT1UHEnDSV2WD33XfdInIIDePzxfcbhO2NpDWMhj+RXb+DRPMij/jv7tqlV0tFFQxvD6coD3OmTC9iXQQC0RXLRpRQqm+VBEibfjl8OlkNdpF0lTQf/RhGoEfd4CQkg+/Jux8M8qt1W0hyiZOl0IKwpMbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gkm32Nkjn10p3NZxcyEt95jQLsa531SN8i7olsg+l8w=;
 b=xsY/sLq6yTbdPImiSruDNjXbeJM0qODTEw2MnOsqN3RBtKZ3eU6YU7Xc5U5grhwh5LrLDgQSHPPUI7G+vPmdz6RTk4/vJYlTEhKnXyGWhQ5zChmrQnK2fRnOedfctChb8F3CmQSbRZbmph6WBoNAaqmHvUd5c6417rbqx4nbyFx1WxY5HlO2Pl4bUgu6DWh/o8cr9i81ELlfLrY8aN653IjbU3gunWc3MzKGlf7/DWcNmXYgiWvhpgTlErOhh4mmrqtu/kj1zLS2tieE2DGjZ09K+mEJoHvzTUw8+VwOY6vBWju3uvrYiXGJ3Jlv5OYV5ouGhgMduDP4vFRDVJjedQ==
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=Gkm32Nkjn10p3NZxcyEt95jQLsa531SN8i7olsg+l8w=;
 b=gsBemZzGj3KTReBA4s8dTSBceVwFlSwU52aKzUYlmfOjFG2z3fjLUgqNFtygAL1LYOCghPHzMY83KjYqHcM1xXwYwovTFzjE40phgCGres/QUceQDnNZRB/xQbcOGubaBcjDJAvKXGqo1QAsiiokl0FGxZpakEgOAJ4zlqClS7U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ada28315-0cfc-4be0-a543-31b589729044@amd.com>
Date: Thu, 13 Mar 2025 11:19:47 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/10] xen/arm: Rename setup_pagetables with a more
 generic name
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-9-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-9-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0315.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f6::11) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS2PR12MB9566:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d775f67-81f0-4d89-3c89-08dd621897c7
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?N0dOaTAzODBNbmhwZWFTWnJvSWppdDA4ak9tUGUySWFxYi9ZM3hUS282Z20v?=
 =?utf-8?B?N29Iem5pclFKQ1RSMjQ0K0ZkNkFVb25NcW9iQkQxYmRYU2t0d2h2c1QyNmxS?=
 =?utf-8?B?WmxaR09WMWR5K1phVDBVN3h1MTJ3M3k3emxKdzgrOFVaOEFWTHFzbjhtYWhW?=
 =?utf-8?B?MDZpNCs0a0VXUTkvRjAvRFJHZzBCM2ZFcy91aHdPRktkZ3B1bVFjYTZFZjkr?=
 =?utf-8?B?dmhzbnI0empSZUNXSEJmTXdBelE2eGZHMUllMW5PdjVpMnhqbkZ0YzVSd2sx?=
 =?utf-8?B?cTJRVjlHN0VYN1pSU0JiT0c0VWVlWGUvYXdzQ2hjNXFrREE0cUZqSDJrK0Qx?=
 =?utf-8?B?aklveUQreEphTlVNbHdBRk85T0ZTbTc0UTd0ZTlLQkRZbHZmWHZTUTcrbC9z?=
 =?utf-8?B?c1YxOGtoeHZybWFRT1N3dTNub1hjR3dNcUgvM0tVRThZdU94aWZuMWZLeVRF?=
 =?utf-8?B?QXJkS2o3Y0Q2RjNrZi9hd251MkUrcnRNOVhRL1pPZmZKc2JyR0N5c2szUjRC?=
 =?utf-8?B?REkvUGwwaVc2b0hZUkZTZFBRandMTXk2dlRqVnRiUFJ5R3ZzbFNaekJ1OUYw?=
 =?utf-8?B?Wk1BTVUyWlN5aW12RW9pU1FvRThoQkNMWTdPWkliU20zMHB3SWFxeG1RR2NF?=
 =?utf-8?B?QVBoWXdHL0I3czVBZG1Ta1NEVnhiMitvSUdVbGpxb3BFd1pQbDhUV0FhRGVT?=
 =?utf-8?B?TEcrR042RzFMV2FFc3JSV1ZIWWU0NlVpQk9WL2Q4SVkvSHZMcFZjV2pIZk1O?=
 =?utf-8?B?UUNXU0V6bzJTUHRZeGV1RTVmZ28vd2NYYktnTzdRV3FDVHdHMGZHcGM5NHU4?=
 =?utf-8?B?OWcrMC83dy9rSzFLT0xvTEpVK1lsRVRFQ25HRWhoYmNkR3RVK1hBa3o3VEdn?=
 =?utf-8?B?UEpISDNnS3FraEtGQVFQVkdqTFE0a1haVjVpUS9NdDRJdFpTOFVVYjBCWTRV?=
 =?utf-8?B?d3ROT1JlZVBTK3hSMjE2eXN4WVFZZllzQ1hnbjhmOXRCc285dENSUlVGVTBh?=
 =?utf-8?B?K0tsL1RoOUhwWDNGd3k0eHdlNXgrUnBpMWIxY3U4bnN0VzhlNmN3VHJHU1Ri?=
 =?utf-8?B?R1dUKzF2L0xCbk5HeXV1NXYrNTBWQldERUNxS1RVZlEwZkFvRmNTMmdyQnp2?=
 =?utf-8?B?R0pkN01HaGlYRDk1b1FkNzQ2MFYzaXZuUlZwR0FOd2tWdWtFU1Q0RXdBQnhR?=
 =?utf-8?B?bmhCN1ZWdHh3eGhCK1dkR3pNckxmemxxVXhBUytPM1dOMFV1VFhVNmZBUWUw?=
 =?utf-8?B?ZE9sUTVUZFl6enh6UkttbEM0ajRFVHBnb3pOdG8rZERsUmVPbDZ6RThMTENC?=
 =?utf-8?B?T1hjYnVHU2RDdHg3WkE5eUYrdG1LV0xLZGE5MXM3R2lnVmxuajZKTXQySnJu?=
 =?utf-8?B?Y1ZhWFhxUWNmRTRMU3A1cFkwRHh5eWtMTXN3Snp6Yjg3V1hhcS9JeURXNVpI?=
 =?utf-8?B?OGpCUWFkOSthcDNIVXJ5YlZ5dEpxNGFwUE9kR3Z0ZXluNTVGMjczbkFFQUhm?=
 =?utf-8?B?dWVVQjJzaURFeHNBMWcrT21NblZ1d1hkTzZKc01UbXZmRDQyNEhWZEtqWURv?=
 =?utf-8?B?WUNGZ3o0RHQ3TlpWMWRIemNnMVcxOU5jNk5qbFdmTERsQ1VwVGRIckNld29C?=
 =?utf-8?B?b25sbDB6TGREWm92RnJidHJOaU93d1RVNDl3ajFxQ3RUQ3ozRWcvc3FmVlFs?=
 =?utf-8?B?cVMzdXZVRFNOSnZmaFZSYlQ2RitOMCtFVzdPV0pjWkduV2Q2TDhjS1I5SUtL?=
 =?utf-8?B?R1dxYWtsYXpLd2l3OHdnOENxTDEzN01wQXVCL3JWZW4yMEZRU09UeXloS2l5?=
 =?utf-8?B?bDNvVWloR1E5cGV2MWF6VDI4ZStBTDVnRHZ5TDhtYS8xb3hLZitrRHg3Z3hs?=
 =?utf-8?Q?tFNeR+oVzZum6?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?eWdlMk95SzBKZlBRcFd2ZW5ueHBWRW5INEVoSUdGRWk5VWRYYVpSWnlzZGRO?=
 =?utf-8?B?TWxyN0VtbjQxT0FZMHAzWHEwRlJIbjNiVWVyN01IMStJS1hDSi94cWFvTUwr?=
 =?utf-8?B?Rno0eXhrRHAyZTVBQUlLdkc4T3NxTVZYcDFtVjI2NWVwc0gxcEtRUlFJMkpi?=
 =?utf-8?B?NXFKRGtVa0VUNUJMZitqNHNtUTdHMDhJa0IyT3dLNU5qZXF5a05vaWxEWlky?=
 =?utf-8?B?YVdOS05EeWpiUHA5VlBJWHY4V0xuaFVjbkJjUFFyb285V1pBeS9Ha2N1eCt2?=
 =?utf-8?B?U1Y4ZjhwMWF4dUt1N0ExaXQybGpoTVl4TjRsSWxJNjdMM21tNzNRNTRIZTl3?=
 =?utf-8?B?R0R6SDVmUXJJcFIwbmp2OUZjTGVjOThYQTdHN1NzakovZzlOSFA1T0k3dWdk?=
 =?utf-8?B?WkU0VWpDUVNmbnhxUHErUm5qVUwrT25hRTlZZzQwelBVaUQ5aFVBMEpNL1Rp?=
 =?utf-8?B?TVJ6YlBRbDN2c3pJZXl5VVBOOVZkU2Z0LzZ2aVZ3WXBWQVUrMDJwRnMvV1NH?=
 =?utf-8?B?ZjI3Ui8vaTB6Q2FIanB1Znd5bWsrS2tsM2VOb0srMXpGU2gyRENyNjJ1NHFK?=
 =?utf-8?B?NXlzK3Q3TUgwSUs3WVBZTUpXZzdYVVU3VWNqdmZaWXdrOE5qVmM4cHdVNG1C?=
 =?utf-8?B?ellmNGZiVngvVFdKaFo1ZWNmSlJYQXJGd1g5OUkxbCswOWFobTJab0p3cGcv?=
 =?utf-8?B?ZGRUZ1N2OTgwYjIzazNkMlNobXJ1elQ3WFBTU1AvUmRoSGtTM3ZtQktxQ0JX?=
 =?utf-8?B?K3NLQXZQdThaSFR1Y0YvbHdyWkgwdnNGSGRzMm5Yb3Mxb0JGbSsySmJNcnZm?=
 =?utf-8?B?RnoyZHJRUHlxRXNNdVc3NDlvKzJuSjVBSWlsNUVBU05INFNxc1ZTdDNGSUU2?=
 =?utf-8?B?ZjdBVFdVVzJFS0tVUWlTcUFqQndwOFhqOFBZUS9UL0thdFp4L0FKMUxyY0JK?=
 =?utf-8?B?VUxENE5JQUwzK0hpcVZ0QjBzcDk5Q29rWlA5TDc1Y1puaXY5TmUwWjR6Lzl6?=
 =?utf-8?B?UjJtTFRncmhjRU9Edzl2QXRWbVVzWE1lOHpQdGx4YWxySG5VWXl6OFdtZFF2?=
 =?utf-8?B?d0o3cHd3ck4yN2ZHd0Fzd0ljbnpxRWNaUVdrM3lMd0srYm1QSXNqaGNkVFZ2?=
 =?utf-8?B?djdwcERBaGlSTlV5REFVc0VrNHNBdW41a2lzK0d4eEErNi8zODAyMTJLdmlY?=
 =?utf-8?B?UCtnL1pkSTdoOERPYXQvT3VDOTk0R3BSVDVaSER1eE1nWUwveldmMnRwaXJi?=
 =?utf-8?B?ZmV6eFVNRWltZm5wbVFTVXlaRUJ5U2dXaEM5cXh6VDNIb0w3c3ErK3pDTFFt?=
 =?utf-8?B?N2ZnVGtzMUlidkxYbWI2ZkN0OGFseVoxZXRjQWpDZHA4bXZtQ2RQNXZMbFZ1?=
 =?utf-8?B?b1lYek1TNmZWdzZ3Q2J0M0cxRDE1SVcycElwd25Fb2ZrQWFtK0wrbnl3QlV0?=
 =?utf-8?B?MjRDSjROOEF5RVV5dHI4aW5PWXVNWUd6d1k4SS92SUxRTnI5WUlGSWpVWWMy?=
 =?utf-8?B?Q0pDanU5MElQZjd0MkY0MkdLc2JleWFuUWR6eHdKZkFiRmVQMDZwTk15THpm?=
 =?utf-8?B?aWt6b01oL0wveVN1Wm1IZFU2WTZmblVVTGs5VnJqT0VkbEdVQWNRM1FUeTE1?=
 =?utf-8?B?RlFER3lLMlpzajR2Wm1DOVh6UEZpcm5xMmtkYVUybUlpZ2dkaUFmbDBmK2NT?=
 =?utf-8?B?c0I3NVFSVzlLN0lRYm50M2dzMUxWYTNYSSs5dXREcnBENFJ0U0pXeWlKT2tn?=
 =?utf-8?B?ZU8yUGtGQjhUeVd0ZHJCY2NNdGpHTENzczhUNUhzdllLbkFYYkNuUUlheTBI?=
 =?utf-8?B?OXk0QVFzc3RYM2htTk1Ud2I2d3dLU0pySjRMa0FNczhlRU5TcHlsMzN5eDZ3?=
 =?utf-8?B?VnlZaktwSTlFNlJTcU80YU1teXhKdS9nRTlvTTZJVDd1cGpyRUE3S28yM2I0?=
 =?utf-8?B?ZDUvcWlJSy9JbVp1bFgvbFhJTlBIbVJCNjhESkFmL3Y5RnRUQ1JyNUdmTzBt?=
 =?utf-8?B?OUlXa09vYkQzdkkzZkJjQUl6c0lGKzNiWlpra3hzWTczRG0zcTlYeXk1T0M3?=
 =?utf-8?B?VnJyMGZ2ZEtWT3hBVVp5Sm1IcGNKNzM5WGhPYXF6ZzRVcTFmSWZPMVNwWWhh?=
 =?utf-8?Q?pTh0=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d775f67-81f0-4d89-3c89-08dd621897c7
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 10:19:52.3906
 (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: faW0arixchK9/ey8Jxoez6icqcpZPQUI0cePmBpDbPreR7D8tCS0lGHptnDb6ypr
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9566



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> Rename the setup_pagetables function to setup_mappings in
> order to be implemented also for MPU system that does not
> have page tables.

mappings is better than pagetables, so:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

but I'd like to understand what will be implementation of setup_mappings for
MPU. I suppose regions setup such that the following call to early_fdt_map can
succeed and doing this in setup_mm is already too late?

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 10:33:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 10:33:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911864.1318237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfrz-0000e7-HX; Thu, 13 Mar 2025 10:32:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911864.1318237; Thu, 13 Mar 2025 10:32: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 1tsfrz-0000e0-EG; Thu, 13 Mar 2025 10:32:55 +0000
Received: by outflank-mailman (input) for mailman id 911864;
 Thu, 13 Mar 2025 10:32: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=CkET=WA=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tsfry-0000du-Hd
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 10:32:54 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20618.outbound.protection.outlook.com
 [2a01:111:f403:2613::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8428e5e2-fff6-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 11:32:52 +0100 (CET)
Received: from DU2PR04CA0326.eurprd04.prod.outlook.com (2603:10a6:10:2b5::31)
 by AS4PR08MB8168.eurprd08.prod.outlook.com (2603:10a6:20b:58f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Thu, 13 Mar
 2025 10:32:47 +0000
Received: from DB3PEPF0000885D.eurprd02.prod.outlook.com
 (2603:10a6:10:2b5:cafe::c8) by DU2PR04CA0326.outlook.office365.com
 (2603:10a6:10:2b5::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.27 via Frontend Transport; Thu,
 13 Mar 2025 10:32:47 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB3PEPF0000885D.mail.protection.outlook.com (10.167.242.8) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 13 Mar 2025 10:32:45 +0000
Received: ("Tessian outbound 8a1969cea684:v585");
 Thu, 13 Mar 2025 10:32:45 +0000
Received: from L1b6a79a412c9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9A45BDBC-BFA8-48C5-B40F-2BBD413E0FAE.1; 
 Thu, 13 Mar 2025 10:32:33 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L1b6a79a412c9.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 13 Mar 2025 10:32:33 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com (2603:10a6:803:4d::31)
 by VI1PR08MB5437.eurprd08.prod.outlook.com (2603:10a6:803:13d::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar
 2025 10:32:31 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8]) by VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8%4]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 10:32: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: 8428e5e2-fff6-11ef-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=cycF9ywvVlAUL2zG8xjlJ5kfViXlKiAz8Bha716YeJNFr5zSwvjvVrXoS2e/UrOkZdZuPiLhWGAmc5dmMPqF8Ds925VfdwyOkfo0Q0hZOe9DGcb8Szym3zavHJUqQ1y8Vj5yRLNSChzTYC/LhdJqcyD/u3mqWNf4dJkSF4fbXndzQBzRAc/xSxJ/bqzF4kLN708AzIcsUzVp2d1tqPN0lr7CiMJ9TU7o9lb11DhU9DzCsO/ZYrO2l/ijbZw1aE+m241ivItxY4jk6r6Fik+MN+zVJBOfU6CiCVN2rz7GSm0CofFQ0QZyDm+BTM4Xwy2u0jywdcuZRAx0+1+iJdbRZw==
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=+apW+JahIzA5UMmxjlG8FWvelPkTMusEsUPz1RNmBec=;
 b=IX5Lj5XBHGglpcl9llxqJWy7O+RB6IZg8w+Qzm+MpjjeFgSy7Bm9LYf8y6DwGsqKSjDDR2UoUJZwcPLx3y82BoDYK7AhfbHA3kfYOJY90HgHAlm8DsCAWmzZJnU+5Lk5ZOl6uJYfjBv08RxPqFQ1El3qTGLjKyoYuPNTwbBEtz2/2AnjtOB/W5OzxaAixhF2RRFcdPXnm2nS2lRqFM+8bGmFfmgLjVn31kIbA4BA5+v1z/y+U5V14r//WNaIzh8HwCnUddD8UZNhtKn9UT7+I4LQ6BOSuVHECYFts2DpqSKt6qmGL6W3rD0WvPlSYF1bqHdtYf5P6ZnVrWOp6XIwrg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=+apW+JahIzA5UMmxjlG8FWvelPkTMusEsUPz1RNmBec=;
 b=FkiGAkT7dqR3unlLZEk70eMsdtdRLRqPoJ34V+LBqTsAmi2TnX7vZ3b03NKzNyvvxZibvnXtpTL69eUY3bQodu7bjLKc7TcXqctpPA9/X5dUNr7/os80HmOX2j/QjBMuGCQju+hPon6IlZgHIgvWkQeE0kqxAnpCoGHh9a3nWdg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ba639f01778acf39
X-TessianGatewayMetadata: YRegExSjeYGUageuhNhhmB+EzsymDFLJqjGb9POv8s7akTdGFpobMwUGFOaTAfikruyKXEKqucXPt3t9nYbTZZiwKTe5MC8DqFyXcNyRs4+cNY/k3wbkItXvxSYYOMyTdhzf1P7/uEmVnxtneFz37oog55s31Ee90SY2HK/MGIc=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=O6waT0v2wC4DR/RkkOuKwGCAACxdG8QjBi+9Vv/BdGXqwnwJRWWfrryVOB0nqEhAqH0n5a6/aZ4pZgkuh6PcfGtCNP6fpkEHf6gg5Zyj5GgEdRojmlBrX9S4DF2RNwNOiCI+m4c62iSz2svhiUjiku8eNU78IBUY6yu+kjyvdEEe8Ei9bMOoLOCPfbdCqQYdMlscqTb9JL4FOoQOdAV3N5nIZYLhbz/XFKW52bgk9w16viBs9O+xyV6GGmyaQUq30de5j8GHU+Ptp7dCByWnY3ZLTiX/19cWS9Ih1FlyPIj39wIWzS5pQe9I/kCTSTlVP8zVeExkJoqtnBS+3xMcuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+apW+JahIzA5UMmxjlG8FWvelPkTMusEsUPz1RNmBec=;
 b=cpi4+HOWC6k5224UYYirCfzv9NEA3o3jp9fxq1WQI7wZqe2Qvnoswjt9MY5gQKA4mlIDDgMlmTExy29UubV3rBCSPv5UH1rRL9yxNVfTqTibrYMoAQb8pubId/1QBqd47Z4ODsO1DV62jDxNLiEvkBYJtGJYluk5zr5ext3IZXOTdFLFsiECJjn2o5csIRzvSXuFfvnm4boBqyy1BPxqXHdd/yI+r2bVmhtEfiFCNxGvn/u6Ritool8Hm1L6AcI9K0m+5wxMa3/kNQOLNeSedQV8bCp73w+wvSvqQPTEQVqRn3enlmrS7sexCJHJ1B67ofDiqS+3/+MHcF25jRGMUA==
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=+apW+JahIzA5UMmxjlG8FWvelPkTMusEsUPz1RNmBec=;
 b=FkiGAkT7dqR3unlLZEk70eMsdtdRLRqPoJ34V+LBqTsAmi2TnX7vZ3b03NKzNyvvxZibvnXtpTL69eUY3bQodu7bjLKc7TcXqctpPA9/X5dUNr7/os80HmOX2j/QjBMuGCQju+hPon6IlZgHIgvWkQeE0kqxAnpCoGHh9a3nWdg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.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>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 08/10] xen/arm: Rename setup_pagetables with a more
 generic name
Thread-Topic: [PATCH 08/10] xen/arm: Rename setup_pagetables with a more
 generic name
Thread-Index: AQHbk1Yo0cmyjZFeTUSq869Hx0J/E7Nw3DiAgAADaQA=
Date: Thu, 13 Mar 2025 10:32:30 +0000
Message-ID: <ACE7CE6B-ED78-4EB1-85EB-DA2A98CEB83A@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-9-luca.fancellu@arm.com>
 <ada28315-0cfc-4be0-a543-31b589729044@amd.com>
In-Reply-To: <ada28315-0cfc-4be0-a543-31b589729044@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	VI1PR08MB2989:EE_|VI1PR08MB5437:EE_|DB3PEPF0000885D:EE_|AS4PR08MB8168:EE_
X-MS-Office365-Filtering-Correlation-Id: d904234f-9331-43d3-4879-08dd621a64c8
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?THgxQjlNbXdSMExSd1lFSWhCOENMNWo0NGlJK1RibW5nM2l0K3NUQWxiTDVG?=
 =?utf-8?B?Z3VsSlVab3hOM3FtMFB5S3pvdndQV010SkNrWUdXOERUQnNBQVRoL3dOV1FS?=
 =?utf-8?B?NVFVa3BsM0psaERPN3VFUHN4b2VmUVMxemVERjZCdHBoRzRrOTlFTGZ3NkpW?=
 =?utf-8?B?TENBUVIrTzloZWltakRhYkd1RWY2VVFwR1BhUS9Za0xCZ0ZqRGZFYU15a1dp?=
 =?utf-8?B?aHhLd25sbVNBSzNCbzdaZG1kSFkwOGRDOC9IN2pRelBQRFVsN0RnOTUyOHQx?=
 =?utf-8?B?YmZUL1dtWVpPVXNPU3pYeXd2R1lDNGViMkxMYTdaRS9mT2s3djgwN1JsY0xP?=
 =?utf-8?B?U3hWOVZBb3JldEdtdERGSkJiSU1pTUdCQ3ptd3R1T2hIQXZxSDRrOWlZUGJN?=
 =?utf-8?B?a1FNQXpDOTJKVkFzL21paWpZQzVZVUdwTjFLbDAyNmNKKzNHZ3B5S0VDNTlu?=
 =?utf-8?B?eFJ2a0xLTTNJNWtHZ25MQ1htcDdLbDlZL29ycS9EaFBTZUNwUjNuMGtmeE1N?=
 =?utf-8?B?VUIxVytaR1dzWU5TaHZjVVoyZU01TzZ5a0lDNTNKdFdJRWZtcWFocEZLVG5X?=
 =?utf-8?B?MWhOQXNzRStnNlZnKzEyUnRwZjE2SkQyVGZPVGh1V1lDVzdTR3Nud2ZHbS9B?=
 =?utf-8?B?bndleW11a0x0REYvZ0ZoVW1aQXBQMFJ3dEZUMk12VlRqdHo1RThCNVoxU0w0?=
 =?utf-8?B?V05SOVFtd0tFTG42dTNaQmlBKzc0RGxuWU9NVDdjUm1ZL2VINGFOZHRDYWVI?=
 =?utf-8?B?N1VQYWloV1RqNkhNNWpPTWVVUGhScEhzd0NnMHB3bHU5dDlzaGd0NWhtUEVy?=
 =?utf-8?B?U21GNlJuNHE4V3JLbU5ZQnZVdWJvam5Fd0E1ZFlhSDdoemxIQitleHZadlB5?=
 =?utf-8?B?WmExUE15N0pScU50aWFzSTR6Q3lvOTdpLzBvajQxSllEOTBXSi9MdXJ2dzEy?=
 =?utf-8?B?Z0gyZno3SmgvNXRoUmVhVnVQNVN4dGxJUm1saDU2akVoTXdhd2JUSUdpYW5i?=
 =?utf-8?B?ekhndnRHTXNMUUw3R1ZwRmZJc3duZkUyeW9XdHJzRDFHYmdDZjVCbjROYllj?=
 =?utf-8?B?ZnE0d0xDZE1KRFV4T09ha1NaWVFwVXluSUFlR0VvNThJZ0NCMWJMNDFBaDRi?=
 =?utf-8?B?VUNhUkdubWFLRGNOVWpuRHZub0NxbVFDd2tKd0RvcDVCeDNZVlpQbmZ5SlE3?=
 =?utf-8?B?R3RzSEQrelVqTVBSTFVFS2tZYUxEWmllem52aTFTcXJQRGVNY05Zcnp5Vnl2?=
 =?utf-8?B?bnVXb29SL1BuYnVLZkdMQTBQKzdkYTcreU1uU2ora1NlcTVaWmdyY1FVYUV3?=
 =?utf-8?B?WVg0Y3NPWGh3bjVtVHc5NzdvZ0lBZDhpVUs2Z1NTSXhaREd2NStRdTk2eWk1?=
 =?utf-8?B?TnhEQ1hDbzZ4NHVULzB3Vkg0bzNhd092RXNFaExKQlZaSnJaUkhkMXlRbjJY?=
 =?utf-8?B?SGRjd05Kc08xWTcyeStRL0NNbzNMdkdGVDVOZ1Byb2RhL1l5SHcyU3UzREUv?=
 =?utf-8?B?RUpTOThUQ2Y0SkJuVHBDZGJrZkhRWGJybXBqaGFYcldyUVBwRTZhb0lxSy9S?=
 =?utf-8?B?OFZRZlNFQ0lMSzdHdzN0VDFxZkMrTUk5cUpWLzBnbG5KN2Y4UlJkRGhQRFZa?=
 =?utf-8?B?QitSQUpCeDU1bkkyNFN1RklLODVDdWtVQmJETGkyWmtVTnBsV09tRkJVbkxM?=
 =?utf-8?B?bjRtYW84S1JDYU5xOUY0dG5KL0srVWdEM3g3NWVwWDcvelhzdHFRSGNhMlNL?=
 =?utf-8?B?Z1VMaXVMUFRHbWJqdWZ0YXhkWnNUQXBPZEZWcTlRQlNISUcwRzJhaHZURHNo?=
 =?utf-8?B?R21YODNHWDlJYmhZdGFKUmxFVUZyODI3QkR6YWJqL3AveTExM1p0RXUyOG4w?=
 =?utf-8?B?TDY0N2RyYXh0WFpXb3M4eDBva01xbndJTEs2OTJjTzEwVDU4UEdhVmV4MU1T?=
 =?utf-8?Q?ElP6u2c2wdCc57F/J0aoR8iQFRs9oL3p?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB2989.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <2D9F6FECCAE3814D95B82B8D925B6689@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5437
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:803:4d::31];domain=VI1PR08MB2989.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB3PEPF0000885D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a96e43b6-0dd1-4aae-74c9-08dd621a5bea
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|35042699022|376014|14060799003|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Sy9Dc3hXUDVGRTFIWGdHTGRPaUNOT0M3TW04Zys5QWJuOTB6RFM1ajcxaWZm?=
 =?utf-8?B?bnZHTkMyYVFpNHpTZ1d6RG9iOWNTdmo1UnQ2VEd6K0RscVVpSWQ1UWt1bTFG?=
 =?utf-8?B?UVVqVFZBVHJ6KzVxZS9Vc3grTTRiOE53dWtnY2FSbEtmMllwL2g5UVF3MFZm?=
 =?utf-8?B?ZkdDem80MGR6V0xmZzJHWUdGbkRIajdueStvWDQxWXd2dmVXNXVVbDdOSmhI?=
 =?utf-8?B?UHUxeUM1RFF3ZkpoU1hLK2FWaU5zd2RXQzNTL3pCS3NhOXZmcTkvL09sUkt2?=
 =?utf-8?B?NWdyMWIzTE9kbW1LSDhzejRacHZzK09obit4bUIvOEZOb292UGZLUGdxQUZE?=
 =?utf-8?B?cW9QcVgraDlDTE5MMmcwd2JNRmthekFGWWtPTjU2ZHY1WHpFWmErRXBiNldz?=
 =?utf-8?B?cUp0YkhKaVRPdHhIYjl6SnFtRjh2aHlNWUExcG05T3NEYXZDY2ZUelpEcmpN?=
 =?utf-8?B?cXpCZkl5WVJuVlpXVXB5M2dub0FzM3B3ajdUcDdBb0dPbTRHQXBxWjZDckpC?=
 =?utf-8?B?eWl2K1BWSVF4K0tnMUxKbXlqZTY5cjUyV0dzQ2hSZENsc09vL3RQWHZpMHJO?=
 =?utf-8?B?bUhkT3gzdWRwMG10dXdlemtNRkhpUWZuemZ0T21oaVFjbWVyMFh4QlVsMUF5?=
 =?utf-8?B?L0RFK1BNWWpXNUtPK1VMSEluN0Z4blFFcmtOM0svQzZPbnNjZHdLNWtpQmJ4?=
 =?utf-8?B?S25YN1duMTBOWWRHMWRWWEZmVXVNeEI5Ukh5bTd5Z2VzNXlYM2RPUFhyWFFj?=
 =?utf-8?B?ZDFjb240RUp6QS9YVUJlWTZDTHZ1ZmlnQk8vVWx4VFpLdVRHdnlZbTBXZzIx?=
 =?utf-8?B?UFA0TGtkcVpCTE8vNWZ0Smk3UEhYYnhkYmZ3NlZXVFE2aUpxTTRkcGd3Q1RS?=
 =?utf-8?B?ZVM3UlNyVGdEVGtXTytINGE2bmNTQ1FWWmZLNCtNQ2NvNEhRYzdwdEJESGEz?=
 =?utf-8?B?RWg3SlhNVXQzK2RxUm13cXphTmZFUzNzSlBqVWt0RzFGeVdkcTVWWUU0TGNj?=
 =?utf-8?B?UHZCc28yVE05cXRIaERJbGR2b2RoOUlJaTVzV3lCYS9FekEwWWIxZE5wOEFJ?=
 =?utf-8?B?OFpISUVQTXdDWlBHc3NpOTJoUlhVT1lPUHYyY3VIK0hqVkhCSHJKeUZoWTl3?=
 =?utf-8?B?ZXpoaXRrYmo4UDVUeFNQK3lNM0hTZWtRelhmeVhETUxSZmNYbm1pWnB4YVNn?=
 =?utf-8?B?RjYxTHJPMS9MeW9teW4rckl3Y2NQMlpiVC9rOUV0a3YzNnROSmxQNXd6cWtr?=
 =?utf-8?B?L2NVcVQ1VWF2UWY0K2NjUnpqMHltT3BZZjF5Ti9NTUxCOEdPMkZudlNLTlhT?=
 =?utf-8?B?c3NTKy9NWWFLczAzU0tzYUc2OEdsaGxiVUZ3R0V6TnNSaGFsWWE1NmlhZDhJ?=
 =?utf-8?B?MDdPeFZaME81T3g5NitSYkR4bGpTMmFuUG1iWWY2YUtwZm5zVkdsSTZIdWVl?=
 =?utf-8?B?VFhnKzh6SXNidmQ5b0YrOXFXbVlZUVl1MUxCcUJWM3FMcGFrdnVvalg2V3JQ?=
 =?utf-8?B?OGxOOW0reUhhMjhVZXMvVGU5VTZQNlpHNGk2SmlnYzBzMjJmNFRCdTBVZExh?=
 =?utf-8?B?UStmd2U1SlR2NEdGRzJ6TmdxamJwWThGU0hpRkxCY2ZFQjNkK3BRVEFLQnJ1?=
 =?utf-8?B?dnY0eExLV1FSeDkxN1pmcnZmUnlxRFFaS1pXaG5heVZOTkNNdzA3VDBPNHlW?=
 =?utf-8?B?SDhzb1A0RHh3aEk3V2F2TXZ3UXF1OTdZZWlsRTJ5eWJJT1lEekdzZmozM2pW?=
 =?utf-8?B?eDRnSWk5Um9zV1EzNVdMSHl4Vmp0am9Sb2xCcm4xb0ZGQSsvMWxHdmFPY0ZM?=
 =?utf-8?B?VFlyd2E3YUlYUzU3MzJqS2xmSnBoakgxS2x0Lzk5L08zdUFVcnVpbkcvSHJQ?=
 =?utf-8?B?c3I0U0ZIdjhPYjgveXk5RHpWRVU3RjI2WDNJQjgyTUlEdzJqQ0FsaG9VUW5t?=
 =?utf-8?B?SGIyVHo3cHdQU21qV21DZVhJL2pCU0E5Zm85TlBXUlQzRG1BbVp5OEtRdGp1?=
 =?utf-8?B?NklWSGRSVmhBPT0=?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(35042699022)(376014)(14060799003)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 10:32:45.5841
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d904234f-9331-43d3-4879-08dd621a64c8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB3PEPF0000885D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8168

SGkgTWljaGFsLA0KDQo+IE9uIDEzIE1hciAyMDI1LCBhdCAxMDoxOSwgT3J6ZWwsIE1pY2hhbCA8
bWljaGFsLm9yemVsQGFtZC5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiBPbiAxMi8wMy8yMDI1
IDE0OjUyLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiANCj4+IFJlbmFtZSB0aGUgc2V0
dXBfcGFnZXRhYmxlcyBmdW5jdGlvbiB0byBzZXR1cF9tYXBwaW5ncyBpbg0KPj4gb3JkZXIgdG8g
YmUgaW1wbGVtZW50ZWQgYWxzbyBmb3IgTVBVIHN5c3RlbSB0aGF0IGRvZXMgbm90DQo+PiBoYXZl
IHBhZ2UgdGFibGVzLg0KPiANCj4gbWFwcGluZ3MgaXMgYmV0dGVyIHRoYW4gcGFnZXRhYmxlcywg
c286DQo+IFJldmlld2VkLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPg0K
PiANCj4gYnV0IEknZCBsaWtlIHRvIHVuZGVyc3RhbmQgd2hhdCB3aWxsIGJlIGltcGxlbWVudGF0
aW9uIG9mIHNldHVwX21hcHBpbmdzIGZvcg0KPiBNUFUuIEkgc3VwcG9zZSByZWdpb25zIHNldHVw
IHN1Y2ggdGhhdCB0aGUgZm9sbG93aW5nIGNhbGwgdG8gZWFybHlfZmR0X21hcCBjYW4NCj4gc3Vj
Y2VlZCBhbmQgZG9pbmcgdGhpcyBpbiBzZXR1cF9tbSBpcyBhbHJlYWR5IHRvbyBsYXRlPw0KDQpT
byBvbiB0aGUgTVBVIHNpZGUsIG1hcHBpbmdzIGFyZSB3ZWxsIGRlZmluZWQgaW4gSFcgYnkgcmVn
aXN0ZXJzLCBzbyB3ZSBkb27igJl0IG5lZWQgdG8NCmFsbG9jYXRlIHBhZ2V0YWJsZXMsIHNvIHNl
dHVwX21hcHBpbmdzIGluIHJlYWxpdHkgd2lsbCBvbmx5IHByZXBhcmUgb3VyIGxvZ2ljYWwgZGF0
YSBzdHJ1Y3R1cmUNCnRoYXQgdHJhY2tzIHRoZSBNUFUgcmVnaW9uIHN0YXRlIChmZXcgcmVnaW9u
cyBhcmUgYWxyZWFkeSB3cml0dGVuIGJ5IHRoZSBhc20gZWFybHkgY29kZSBhbmQNCm5lZWRzIHRv
IGJlIHRyYWNrZWQpLg0KDQplYXJseV9mZHRfbWFwIHdvbuKAmXQgdXNlIHRoaXMgbG9naWNhbCB2
aWV3IG9mIHRoZSBNUFUgKGFzIGl04oCZcyBjYWxsZWQgZWFybHkpLCBpdCB3aWxsIHVzZSBsb3cg
bGV2ZWwNCkFQSSB0byBhY2Nlc3MgdGhlIE1QVSByZWdpc3RlcnMsIGxpa2UgdGhlIGVhcmx5IGFz
bSBjb2RlIGRpZCwgYmFzaWNhbGx5IHRvIG1hcCB0aGUgRFRCLg0KDQpEb2luZyB0aGF0LCB3ZSBl
bnN1cmUgdGhhdCB0aGUgY3VycmVudCBjb2RlIGZsb3cgaW4gc3RhcnRfeGVuIGNhbiBiZSByZXVz
ZWQgYXMgaXQuDQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 10:37:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 10:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911875.1318247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsfwF-0001Ea-14; Thu, 13 Mar 2025 10:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911875.1318247; Thu, 13 Mar 2025 10:37: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 1tsfwE-0001ET-UF; Thu, 13 Mar 2025 10:37:18 +0000
Received: by outflank-mailman (input) for mailman id 911875;
 Thu, 13 Mar 2025 10: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsfwD-0001EN-JN
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 10:37:17 +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 216a0811-fff7-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 11:37:15 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso473862f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 03:37: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-395cb7e9f8asm1639658f8f.81.2025.03.13.03.37.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 03:37: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: 216a0811-fff7-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741862235; x=1742467035; 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=bCsFaK1DbMz+wfAmV4eaP5+DgPJvy1c+lDQ5wv8Yy9w=;
        b=BkH2ZAJ6SjyehpIxABLhmk+a4hPktXHekDhOa7uFkoDbdk1nAuZEKG8ufuWK7PFCS9
         IKgEjYEVqcTuWFC1hkiakmVC0oQ6fMyXonlbJm/N0z3B1knSMHCkFa5FTzrsO0c9IPJO
         eQ4SakJoupWJcvAvIY5CHMv4Z69mkCODFKNIyybpATqLnIYDcKewQHoLFL3Lgw1NiHpM
         B2m86sF1XXKvmwZEoPVkg6Rz2hPMIxsFCk8x7Yga3pc3ulNq10myR26Vzun6FCH37GSZ
         tJbE8XABkg+ekfbEC6jDk8lAaKFYh9aPV1p5rAPlK1BqY3mqAxnqQa/JWoRsbj3gMTgU
         o9hA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741862235; x=1742467035;
        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=bCsFaK1DbMz+wfAmV4eaP5+DgPJvy1c+lDQ5wv8Yy9w=;
        b=Gsn3tDKVTnN6539yz4uCb7lZVfkXNM5WDLUkG5jewKAxz0bw9D6cQ5MnRi6O7wB3X7
         l3EpZvckDeLUPRMG75fHWB/vPeqc4ALQwjtykgTcyDhJ6ufbpjTI1DmrdBzDT83aeROL
         BiOt1IE3aEGacILb9vTX3bIy2C10X3a8FLIT9hz+lAzt8OwsN2ebQPCPxmFQ0l7Yxofd
         meCjrNWLMSxxbxqvNZjd0vewE2Ib8GY+GqGpEd9WeKrGyojlJ28BZszr0u0DbX7j5nsC
         62xw7DWqg8LHr0gTJBO1LZqjZcuV3Nyung9yb6LEL66nE71kl5W4lhQvOxGxYFVtItAj
         U0PQ==
X-Forwarded-Encrypted: i=1; AJvYcCWNOi5fCK9IU/s+9eDBnqm6jXUTWc8xtnqf+aS/ZzTcRXez2rt6fWkkmjzjV2O3FIvNsMijROHGkBs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywwi3Jk81y4RgnaFPMP7fof71znZ/HhZQG1NwScRPAq827zfJDU
	v0rwvumlLvGYJHZu+UNqDVhKAnHgzKwVLPPgwZZNGsNTk1ZANvXWJYV0zLltow==
X-Gm-Gg: ASbGncvBVuhVkX5HAhzhlbNtwrNI0oVkxF9tkEGz0TSAys61hGmoVboSL+Emal+d6l8
	snArPYl/epe/tz5wDFECVcu9k6pqW9roztTTSQluyLtgm0ztYpIMoMUrHNyLIDeUQ+dNo6IHHGk
	WpyAKuG/c32306vZStRih0UAEiGA/cje1mwtFy6KvfRs+DEz4hzE5MO087Mk9EtAYiSUXeq1upx
	Q47ooT6ciIeLh72iwGSEkK3436zYlKwSrdH5739lIATJzoyy3Etfcq5M+pxMFzzp2zQ8UdoC1ta
	vNJnbeSfJfK67fcEXbSdfbeWha2+q5uaelBRC/oBtq7o7gGQgLF1P08XeyW7EpmJm0K7feBdPXI
	rZP6obFk9ySfPc0rbtfqZVyUEnnQBRw==
X-Google-Smtp-Source: AGHT+IFE3qs8JCAC3RSNn2MOFrHogcnELgObJYUNA97d4s33+UQ54Z4sMirYynMf9H09MAmu+zUTPw==
X-Received: by 2002:a5d:588f:0:b0:390:f394:6274 with SMTP id ffacd0b85a97d-39132da9214mr19566760f8f.52.1741862234904;
        Thu, 13 Mar 2025 03:37:14 -0700 (PDT)
Message-ID: <0e539290-a87d-4774-8b91-7cf8cd89a574@suse.com>
Date: Thu, 13 Mar 2025 11:37:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] CHANGELOG.md: Mention PCI passthrough for HVM domUs
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Community Manager <community.manager@xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, Huang Rui
 <ray.huang@amd.com>, xen-devel@lists.xenproject.org,
 Jiqian Chen <Jiqian.Chen@amd.com>
References: <20250312040220.2624329-1-Jiqian.Chen@amd.com>
 <a8919be5-020c-47f3-8bfa-02dab2f1e2ca@suse.com>
 <Z9G39ULeHr7fp9ur@macbook.local>
 <7977cc2d-d654-49be-8bf9-9d3fe9286857@suse.com>
 <Z9Kp6b3l2YAePqWl@macbook.local>
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: <Z9Kp6b3l2YAePqWl@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 10:48, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 13, 2025 at 08:42:25AM +0100, Jan Beulich wrote:
>> On 12.03.2025 17:36, Roger Pau MonnĂŠ wrote:
>>> On Wed, Mar 12, 2025 at 09:51:09AM +0100, Jan Beulich wrote:
>>>> On 12.03.2025 05:02, Jiqian Chen wrote:
>>>>> PCI passthrough is already supported for HVM domUs when dom0 is PVH
>>>>> on x86. The last related patch on Qemu side was merged after Xen4.20
>>>>> release. So mention this feature in Xen4.21 entry.
>>>>>
>>>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
>>>>> ---
>>>>>  CHANGELOG.md | 1 +
>>>>>  1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>>>> index 7201c484f899..b6de9b72ea7a 100644
>>>>> --- a/CHANGELOG.md
>>>>> +++ b/CHANGELOG.md
>>>>> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>>>   - On x86:
>>>>>     - Option to attempt to fixup p2m page-faults on PVH dom0.
>>>>>     - Resizable BARs is supported for PVH dom0.
>>>>> +   - Support PCI passthrough for HVM domUs when dom0 is PVH.
>>>>
>>>> Aren't we still in need of SR-IOV support in order to make such an
>>>> unconditional statement?
>>>
>>> I view SR-IOV as kind of orthogonal to this: SR-IOV is not
>>> supported at all on PVH dom0, so it's not just pass through, but the
>>> capability itself that won't work as expected when using such devices.
>>
>> Hmm, yes and no. No in so far as I as someone who simply wants to use Xen
>> would read the above statement as indicating full pass-through support.
>> Which first and foremost includes the passing through of VFs.
> 
> Maybe we can clarify somehow that SR-IOV devices are still not
> supported on a PVH dom0:
> 
>  - Support PCI passthrough for HVM domUs when dom0 is PVH (note
>    SR-IOV capability usage is not yet supported on PVH dom0).

I'd prefer if we made this explicit, yes.

> In any case we should likely wait for:
> 
> https://lore.kernel.org/xen-devel/20250308001711.18746-1-jason.andryuk@amd.com/
> 
> To be committed?

Sure - they're in now.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 10:59:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 10:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911895.1318273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsgH9-0007Bo-TX; Thu, 13 Mar 2025 10:58:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911895.1318273; Thu, 13 Mar 2025 10: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 1tsgH9-0007Bh-Ph; Thu, 13 Mar 2025 10:58:55 +0000
Received: by outflank-mailman (input) for mailman id 911895;
 Thu, 13 Mar 2025 10:58: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=NEXk=WA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tsgH8-0007BX-Cw
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 10:58:54 +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 26f7ef07-fffa-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 11:58:53 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-390cf7458f5so622188f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 03:58:53 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6a32sm1762270f8f.33.2025.03.13.03.58.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 03:58: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: 26f7ef07-fffa-11ef-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741863533; x=1742468333; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zZ/XlFQ21dlvQ9nnD6/16+fc5wkNLbUY9xThx3bQ8dw=;
        b=It4FmqeEO+FPDVF+wDDAxjG+Ir4GvCNZiPXsVpYu18cf5qru+61vadxZj8jNNAt3ij
         3MW4tJtFONomfy8vlM94Tllwntz+om9x09i2BFCCTfdFuaCTwoIMUbV93dqPGZp61ii5
         62sHc3pWJ3jCXTrPa5/7I3LAFNnmFgtymTSug=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741863533; x=1742468333;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=zZ/XlFQ21dlvQ9nnD6/16+fc5wkNLbUY9xThx3bQ8dw=;
        b=fuWQ/awsx8faG5pa9vpm7kXz8JPfJcOR3PCTLhUPGbH2DGfgKkYwC88VXjX0VW9z3I
         +jPxFZBdoxSl3IcT4/XAKP0hNmsan91067sd22QPPg0ZOAf1IftkGh33qeqQ7vjB3NaM
         SdxhkDQSHdFX6B9jQlupD5EtwPvdXtASmdQxQomyUoMT9SlIhE0Y6nyugAezz0KBNliy
         Z673wMEXvOGIzXCMASvtMEPSZPlHvSC0FxfD0w+Hj7CgexTd5HquYV6yyMeAb1qHGkZv
         nQL5jE2dAuVk37Hv95SCm9g0uu9k46CLB9ebtCLRZUzyK70w8zFgycoQdEvCJOEG+j8+
         S1jw==
X-Forwarded-Encrypted: i=1; AJvYcCVl5uZswXdsQp6U8Pj/XoCNLS1UZa101e4sk+tLCiTAkr+x3ImGCbWpwHFEUZ7h8Y8g7tWxv8jjG/o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxhb9rlig7OYTdMOdFnBnWv9VouAtNQzfuse1CjucOd45s0VqYr
	CxDXMRpPHLwcC9OJVyR0pnQ2R0444lHg8n6b/qQkkokaAI9c8tepTEt1Rw/KPmU=
X-Gm-Gg: ASbGncukh1OoQPbK17IjLAvIftZT9aN8QPEpfe/Y3X4CWDYcYRn9dCTDW2XTob4fg+j
	RCU6hdrc8tk4VAeY0r0JBBYnniyNaQa28qGQ9mMFv/LDOjEZr1ArHvWk8BIhuCwAsfzgO2S20KX
	A3l/Gd/5YdOWBoj/6TxuRSNdDewCeI3UdW+YYvva8Ro1jcGsTGgedW0u7f6E/os9nxIwF+KgrZF
	FWtnrxEWgRvt/462hLnchNLaLBpHjn6/sNPMKmV+JBPbNw7tyvj6jwPM0G9ncrA7KGZAHCxRNOD
	k0fIo+f5wfLV4sge4956YG+45wF7Gr+KBTkkBnPw+DRkzlECKKE=
X-Google-Smtp-Source: AGHT+IFJl6Fpf1rfNUdciFAy2fZj1GNloIwtfmTyidwLUUkF5VcBf59mbT8ZP7VOj3MffNypuhcslA==
X-Received: by 2002:adf:8c09:0:b0:391:3915:cffb with SMTP id ffacd0b85a97d-3913915d422mr15610734f8f.43.1741863532841;
        Thu, 13 Mar 2025 03:58:52 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 13 Mar 2025 10:58:46 +0000
Message-Id: <D8F334YWF1QL.1489MNJCLHXQ2@cloud.com>
Cc: <ray.huang@amd.com>, "Stefano Stabellini" <stefano.stabellini@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, "Sergiy Kibrik"
 <Sergiy_Kibrik@epam.com>
Subject: Re: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Penny Zheng" <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-2-Penny.Zheng@amd.com>
In-Reply-To: <20250312040632.2853485-2-Penny.Zheng@amd.com>

Hi,

On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
>

Commit message?

> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/common/Kconfig | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 6166327f4d..72e1d7ea97 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -519,6 +519,15 @@ config TRACEBUFFER
>  	  to be collected at run time for debugging or performance analysis.
>  	  Memory and execution overhead when not active is minimal.
> =20
> +menu "Supported hypercall interfaces"
> +	visible if EXPERT

Any particular reason for placing it in the middle of the common menu and n=
ot
at the end?

> +
> +config SYSCTL
> +	bool "Enable sysctl hypercall"

meganit: Arguably "sysctl" is a hypercall group rather than a hypercall, so
"Enable sysctl hypercalls" sounds (subjectively) more appropriate.

> +	depends on !PV_SHIM_EXCLUSIVE
> +	default y

Do we want a "help" statement stating the scope of the hypercall and the
consequences of disabling it? Nothing major, but at least something that mi=
ght
convince someone on menuconfig/nconfig that this is indeed nothing to be
touched for a "regular" build of Xen.

> +endmenu
> +
>  config LLC_COLORING
>  	bool "Last Level Cache (LLC) coloring" if EXPERT
>  	depends on HAS_LLC_COLORING

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 11:02:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 11:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911906.1318283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsgL4-0001Nn-Cj; Thu, 13 Mar 2025 11:02:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911906.1318283; Thu, 13 Mar 2025 11:02: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 1tsgL4-0001Nf-8r; Thu, 13 Mar 2025 11:02:58 +0000
Received: by outflank-mailman (input) for mailman id 911906;
 Thu, 13 Mar 2025 11:02: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tsgL2-0001NV-Rv
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 11:02:57 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060c.outbound.protection.outlook.com
 [2a01:111:f403:2405::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b605f0b2-fffa-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 12:02:54 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by MW6PR12MB8915.namprd12.prod.outlook.com (2603:10b6:303:23e::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 11:02:50 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 11:02: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: b605f0b2-fffa-11ef-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QZB796/R2jlDE+dfy0AUggMWvW6B7SGrf5yYClUtCkZL4YZ7i8gHNAESgZJBHUdHzj6ZUlC5eQaEZhqjOe40y2dS2VK5c2dfv2djLqoGlDQPyr98SxzgRB38n9gQqKZy0lGN/7w5dsmzRolLQlM44MTlpIA0pZ/Utb4Pje8FgDIsvgO7oGdl+vRK3TPBqkx6YX6rSuVX6L7PpZir1SeCURvtxCjfWlfAPrqkQFkDm3P1kGy7j9Cq7c60BVa5ARAzNsPlobe+4i0j1GBp4lg53TkDcfF9beoPP/RX3c37ay/BTZPjcd+ruqvUP3kwjdQmxjhvk/W/owCCo5/RfMKb3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xSeo7nM9tWXQJOl4gBmo0CAM8K+7o2LjNLuFSwh05Fg=;
 b=xVjioABFOR5kONzE1Bg5kvCYElKI8LNEbwHEwpXrvvaKiaNOs4nsDYplD57rba4+YOTfX2nXV2sa9B+HxIIiy67/Tn7pvyF5TQsbi6I/xoJ1J2zLBz46vm8QAVgh0fuDdV38ssp6ZJGYp55mn0OFQX6hX3p3KHqx7OqsI0LbfpLTqoHBmD3hTeNs582J6io/WQn7Cx6HH+AYbd1mNZmOLLtESA99gGo8Z04Hml34bQzB7N/VVwN9xoCDVCABhgzBbdxyrQZPAoVHWbX+D1PQOPs75Cn4+h/aynwemYZ91dt/h27YlmJNZF7uPh1PecFTuzhooVWn2FXa+qhk00M6jg==
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=xSeo7nM9tWXQJOl4gBmo0CAM8K+7o2LjNLuFSwh05Fg=;
 b=JB5DAVFhRO9dK3lEagmShfBwWx4L+IZQa+VLyUjyK/LTIPV+mkniOiz0jjrBuu/BIbfted5rIW2fjbBxZVlPmOHKIjYHuy7ol4lstH7CuSqMb1odIK/oBrtVz1BQkJEG2/u+Tp2aZrpyJ41SxXM7oT2a9gDnGvMnN5JruiRBS+c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <810b858c-b9cf-46f1-82ab-78ce2259d714@amd.com>
Date: Thu, 13 Mar 2025 12:02:46 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/10] xen/arm: Rename setup_pagetables with a more
 generic name
To: Luca Fancellu <Luca.Fancellu@arm.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-9-luca.fancellu@arm.com>
 <ada28315-0cfc-4be0-a543-31b589729044@amd.com>
 <ACE7CE6B-ED78-4EB1-85EB-DA2A98CEB83A@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <ACE7CE6B-ED78-4EB1-85EB-DA2A98CEB83A@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR5P281CA0024.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::16) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|MW6PR12MB8915:EE_
X-MS-Office365-Filtering-Correlation-Id: 2dd3cd64-8931-4bbc-8cf3-08dd621e9874
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?SDJkdnRwazFlQThpRjlxSzhkZzZLUEllWmZBcmg0ZUdoV0R1QVUzbmxPNEln?=
 =?utf-8?B?OS9zQzdLeFdiZGdmT0VDOVU3NEdSTVpESkFxcGllL1RhQ0lqa2t5SElnSFY0?=
 =?utf-8?B?Q3dxb2NQOTVHNHJMQWt1NmFxQm04UlgrZVcyNW5rSW44Z29DUWs4KzVIa1Nx?=
 =?utf-8?B?UGxnZVJnaGFnMkl3VGJNd2IvZ0wxVkJEaFMwREFFZmpTdEx5bVV1RFp6Z1VN?=
 =?utf-8?B?NVRidDZsd29VME4rOGp6MTA0TGZaQmtzQVJCeHh6SGJDNGp5WVpCeFM5VWQ4?=
 =?utf-8?B?bXU0dDUvZTZ5bVE0OGVzR3Qvd3VUQXdYSEh1QmR3TmFVdjZHdmZxODVSWmlU?=
 =?utf-8?B?SGNINE4xRW1wcEJJOXBINnRBMjY5c3hhbHNSa29lZE40WjlGenVMdjB1bU5W?=
 =?utf-8?B?UE9uMjBudEd3b3p0akJKUjBHYkdoc2ZkK3BzOUtyeDNXNHNYbzJzTFBrNEZv?=
 =?utf-8?B?LzVPSGxlbDRTeVNQOHJ6V2N0OXdjNjdMOHVpYzZlQVpZMXJBVnkyMzR2VFZH?=
 =?utf-8?B?blVOR2w1UVMwYit3MEpyZERoUEl1TXVHWWpzemRtbGtiMEVZYmVtMzVHMTZq?=
 =?utf-8?B?NVVTOFgxQnllNytRbzRCZnFCT1MvUVNiMGlNVzIwRGswSjc2TENjcVZnT2hJ?=
 =?utf-8?B?SVRRbjc2YW9IYUZTc05OT0dGTm9VdUZIR2FydU05TXVMS2krMXFrZm1Ja0dB?=
 =?utf-8?B?QnhybE9YSElTV3JCTnk2eHF5RW9GbVFWeHpsTURsaDY5Tm9tdXhybmptUVVW?=
 =?utf-8?B?MndTbE9CV2NkdE1MWlJ6dVZyakdyTmEraFVXM1RmSTZhSTRHOXJYMjdGcjZm?=
 =?utf-8?B?c25zdFpIYVZoRmpIVWpoUHFTVHBRWkdCS2ltRU5hdmgxOW9oZnhYa3lRK0lY?=
 =?utf-8?B?M3hOUCtUL3pCWVEyZk5CN0k0V0swQjFrTkdFd0Iwb2w3T3VpQlArOE8zRG9C?=
 =?utf-8?B?dTFETFk5SXAwazdVS0FDdlNvNEUwbnk0b2RTWUFvTTFqZ1ZFZkRqd1hmMnhL?=
 =?utf-8?B?aytwb3psSEErY0JuV0pBWTZmeHM2aGJNZ1I3OVM3c1RCYnBOcGZUQnBwdXBp?=
 =?utf-8?B?S0l1bDlDNE9GUG1qdFI0R1YvR21sMzJlWlNGVCtNNkUrS1hMMHhheURwRm9N?=
 =?utf-8?B?V3JIdkZtWFE0M2dxczZyV0pUZFNjVkRqMlJWNldteEtvdzU0bUtxSWliNEZG?=
 =?utf-8?B?b0R1ZnN1SEJlenl1UE1NWDVETTJMVlBKN0oydlExUHFvRlhNYnNBNW03U3Az?=
 =?utf-8?B?YWhlVVlFUWJSd1R0b2gvL3VQV0NQMENmMkFsWnFwSEdvN014Q25rQ201UVM3?=
 =?utf-8?B?cjNRQTFzeGxQWm1VZkZGUFR2Y0M2aE5FN09ITGtnRzZYYy9uQlYxWkJicmhj?=
 =?utf-8?B?WlY0ZElyMjNSNFN4YzZiL2N0WnlubW1UMWxxYm5mTG5Zd1p5RWsrZE42MVZW?=
 =?utf-8?B?TXZzN0JmMDR0VGxYdzQ3R0gvNk9Pd01hTGdRV3MyTnBreE9EVDloT3BzWG1p?=
 =?utf-8?B?ZmwxSHpaK3VJRkkvR0hKQ01nK3o5R0pZRmwvWjN6Y0xUeDN3MVdaNTd0UTJz?=
 =?utf-8?B?TGIvdjdnUitrVmZYWFFQTHEwb1hrc0IxS0NuSDNoeWQ2cWFZc1BpRGY3dlor?=
 =?utf-8?B?azBPT29DQzFoYTdzbGRWekJVVnBNM29IZ3VnRzF3WjhrMDUyVStBQW5pZ1RD?=
 =?utf-8?B?LzRNNVFUaGE0TDRaMGdoUTFTVXJPZ0I4akExY1dGbWxaRkFMcDNyc2RIYlBO?=
 =?utf-8?B?Unl4R3ZYNnRzZHExUkx6WmlpcGxtTHpKeGppV2pUVEs2d3FyU0pKWU10TTg5?=
 =?utf-8?B?ajBTQ3RqbDRDOEtDWjBleDZwWURmR2VORHRtS0tjdkdVVldnbGc5ZHhZL0ts?=
 =?utf-8?Q?i9koFjuxPBe6G?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?cDhLMDVkc1cxWkx2ZS9nUHBPamp6VGlVZmRETm9SVHMzcWZIU2YxNVpoV0FH?=
 =?utf-8?B?WjQzRDJHSExoSVIwL2NMd1R5UGtIdFlxSHY3QVZCR2NEa05pY3lhblB6YWJu?=
 =?utf-8?B?VmloRGpxTG45UTJkUHZDUkNXaWp6KzVRRjM1dE9rYlU0dDdlbE9KdzFVRHl3?=
 =?utf-8?B?dWU5L0wySEw1dTVuVnZ5VENBWFpFWE5XVythckpibkZaMk9OSlo0TXVZLzNs?=
 =?utf-8?B?aWdXM0txdm93WVVkYzNuMXJkN3F5VGswbkZPMFpSYStUTjlzeVVqWGhkelU5?=
 =?utf-8?B?S3V1SHVqZjhsQ0VRODA5bVZYeEszaElJN1pwdCtzbHBIcm9MekozeXBrUjlV?=
 =?utf-8?B?NjF6YW5FZkdOTmZVYnVkU1dqbFlpTklpejdsckk5M2pDUEt4U2llalZ2UTRL?=
 =?utf-8?B?U280Nkp5a2ZZTFMwa1U1a01MRWd5WnZjRXkvbndzSlVzVmFJbkVqYjE0R25B?=
 =?utf-8?B?NUpSQW9UZGtsRzdjS2NiRit4VHFyNlNUZnRMWGFuanlwMVVDMk5jWjNzOElz?=
 =?utf-8?B?N0hpNHRvSUtxS2VpRXpscGR4eGh1dmpQblpVVHpWWlA2U2tHMmRVZU9wREdR?=
 =?utf-8?B?VHRUTEcxM0JYMjR4Y2xOVXJJTWlyQ1VrMmxESEs0RTlhYjk4TW1MeFhjKyti?=
 =?utf-8?B?bUF6dWIyVTM4bVQ1LzBERFZhVFB3eXJaVHJraFJNcCtPZFd1V3N6am9FZExs?=
 =?utf-8?B?SHBQYytqUS9aVVF4U2gvOWdVNlBWWUJVWTVwM0lSM3lEbVJ4NE91WkZkUWZi?=
 =?utf-8?B?MElVSVhGUHl0enEwNHE5WmdmM2Q3NHFiMFp4b2Q3QXVwWisyeW1HWTA1b1JH?=
 =?utf-8?B?ZVpLcXFONkRQd2JCRENNWjVsVnZlQms0b3FnaVdqUFpZcEVkVVd1YU9TNHlr?=
 =?utf-8?B?RS95YllVMWszVkgwYnNLMXdrSUFrWUJ3cWhOYjJtNzJaVnI5Mnd1QXUycHRp?=
 =?utf-8?B?akY1Ni9mNzAwbGxJMktkandlNXd6VmZwYTE4Wkg5N0FFd09wcmxzejhpWE1S?=
 =?utf-8?B?ZTRkU3NFaXR2UDQyVnN6Y1Excm9GZ2hwbktyVUdEbVVRRHZPbTFQY05wNVdY?=
 =?utf-8?B?OU5zUDZqTUNOVmoxVTVyeGZLS3RqbWdqWjl0bFVpMVRMbUhIbUErb28vQjFD?=
 =?utf-8?B?VnhFcjd6WkkweC9STFQzZnh0NDVXTFExZW5GQUdkVk1JQUs2SnpiY0dUdURv?=
 =?utf-8?B?K0xod2dmOVJuY01mSzNVM1NlSzhjSWdoRE1FcHFXZWE3c000bkxjY3ZycklO?=
 =?utf-8?B?TXJIemJ1WXlCdytJMGFjZDNxeFNENFZVTzFWSTNUNUNBaDNmektPbDNJNU52?=
 =?utf-8?B?Z2NleGhhREhrVlU2YkxheVVlc2pUd2sybGwxeW03TTRGS3Q0Nk9EMmpOUHlN?=
 =?utf-8?B?bXRSZjJMUlRvWStzbTJValp4ZU5rRGdjdmovZ2J3Y2ViRE5HaHpnbzhCL1Nl?=
 =?utf-8?B?K0RneVNYemQ0UEZMZ1V3c3BQS2ZKWWcraWk0emJYTkpUZnZKd1V1TTk1R3Zl?=
 =?utf-8?B?OGEzOGJLYXFxODlneFd0YUx1bTE0NktLdVNrbjZ0K21zdFB6andLdjA1S3pP?=
 =?utf-8?B?MStvM3E5RTlBYnA4TkdEM2Fpc08vRm11clpUN3NvREUxNWcwaERzZGd4KzlY?=
 =?utf-8?B?U3RBQjZMeVBnUGpvRi9mQjBEdDYzcHA0eFMrZzNnRmM4MnJ6V0p3MGZLTVBP?=
 =?utf-8?B?NVB1OGZjcHZxeWhxTzFVMnhOTElHMEZheEppY3lOY2ZBejI5OWliSkl4ZUZM?=
 =?utf-8?B?enp5Z2Jwd0ZZY0I5cFUyZGxlWjNuUUtvTHlnWDF0eTRYaG5ZemM4ZUZiOXRn?=
 =?utf-8?B?eXBsWUN6dEE3Y1FoY05vTW81b1VLUjYzcFNoNDY5N1F0MFcrY0RJN2hnbXJG?=
 =?utf-8?B?NzFvZ1dwSDEwMld0V1RvK0puWldwUVM4ZEk3bWgwbHU2QU9TckxmSGJJYk1P?=
 =?utf-8?B?N2xVaDk0MlBaaGlCdFFrczY3NDdEdGtBWEFqNnMxNTZrZTFxZDJmLy80VGhr?=
 =?utf-8?B?elk3T1RMOEpvU2t4ZVQwaGoxamkxKzVQdkx1Ulo4RTR0UVE3SHN1Tlp0Nno1?=
 =?utf-8?B?YVJqM1pKU2VoWUNNOHVxLzJERm5LWGkyQkZ5bUQ0b3RYbDZQckprZkF6dE56?=
 =?utf-8?Q?aZyVoY8V3jbA95iisVEHrb9CK?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2dd3cd64-8931-4bbc-8cf3-08dd621e9874
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 11:02:50.4675
 (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: DRoK2d3YSxpZ/rexZXnx8GUBVYehStMv450WY9Pt2ghyH7MtdyAnotQPrOaiGfDr
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8915



On 13/03/2025 11:32, Luca Fancellu wrote:
> 
> 
> Hi Michal,
> 
>> On 13 Mar 2025, at 10:19, Orzel, Michal <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 12/03/2025 14:52, Luca Fancellu wrote:
>>>
>>>
>>> Rename the setup_pagetables function to setup_mappings in
>>> order to be implemented also for MPU system that does not
>>> have page tables.
>>
>> mappings is better than pagetables, so:
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>
>> but I'd like to understand what will be implementation of setup_mappings for
>> MPU. I suppose regions setup such that the following call to early_fdt_map can
>> succeed and doing this in setup_mm is already too late?
> 
> So on the MPU side, mappings are well defined in HW by registers, so we donât need to
> allocate pagetables, so setup_mappings in reality will only prepare our logical data structure
> that tracks the MPU region state (few regions are already written by the asm early code and
> needs to be tracked).
> 
> early_fdt_map wonât use this logical view of the MPU (as itâs called early), it will use low level
> API to access the MPU registers, like the early asm code did, basically to map the DTB.
> 
> Doing that, we ensure that the current code flow in start_xen can be reused as it.
Then the question is: can the MPU part be moved to setup_mm if early_fdt_map
does not need setup_mappings? If so, we can avoid introducing a function with a
name that is at least odd in MPU context and leave setup_pagetables only for
MMU. Adding a function with not ideal name just for the sake of avoiding #ifdef
MMU does not sound like a good idea for me.

You can check with others on this one.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 11:06:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 11:06:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911918.1318292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsgOm-0002Dt-Qq; Thu, 13 Mar 2025 11:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911918.1318292; Thu, 13 Mar 2025 11:06: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 1tsgOm-0002Dm-OM; Thu, 13 Mar 2025 11:06:48 +0000
Received: by outflank-mailman (input) for mailman id 911918;
 Thu, 13 Mar 2025 11:06: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsgOl-0002Dg-D8
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 11:06:47 +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 3ea74b47-fffb-11ef-9898-31a8f345e629;
 Thu, 13 Mar 2025 12:06:42 +0100 (CET)
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 C537E1F388;
 Thu, 13 Mar 2025 11:06:43 +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 7144B137BA;
 Thu, 13 Mar 2025 11:06:43 +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 ZVw2GkO80meDUwAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 13 Mar 2025 11:06: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: 3ea74b47-fffb-11ef-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741864003; h=from:from:reply-to: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=JmBUFmUxTDnuOsAQ/WK/9Mo0hulw/ps8V91deC4RFJY=;
	b=sNyAN6wYFZ1eyzxJ3GFGPjYevwnhGKThe7yXeJk9Qipn//5oxohKq4ohwHdrpngD8toRNw
	p5+urtAP5xt11xe6mBqWUJisbPbqx522K0DUIcffZyLWoWgmWNp7HYFa1L3ANj8yqjs98o
	tM82HvmQ+UoYhtEE7+e7q4V9ACU1vx8=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=sNyAN6wY
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741864003; h=from:from:reply-to: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=JmBUFmUxTDnuOsAQ/WK/9Mo0hulw/ps8V91deC4RFJY=;
	b=sNyAN6wYFZ1eyzxJ3GFGPjYevwnhGKThe7yXeJk9Qipn//5oxohKq4ohwHdrpngD8toRNw
	p5+urtAP5xt11xe6mBqWUJisbPbqx522K0DUIcffZyLWoWgmWNp7HYFa1L3ANj8yqjs98o
	tM82HvmQ+UoYhtEE7+e7q4V9ACU1vx8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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 v4] docs: specify numerical values of Xenstore commands
Date: Thu, 13 Mar 2025 12:06:40 +0100
Message-ID: <20250313110640.4330-1-jgross@suse.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-Rspamd-Queue-Id: C537E1F388
X-Spam-Level: 
X-Spamd-Result: default: False [-3.51 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	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)[];
	ARC_NA(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[9];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.51
X-Spam-Flag: NO

In docs/misc/xenstore.txt all Xenstore commands are specified, but
the specifications lack the numerical values of the commands.

Add a table with all commands, their values, and a potential remark
(e.g. whether the command is optional).

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- replace "Ĺ" with plain "r" (Jan Beulich)
- replace hard tabs with blanks (Jan Beulich)
- allow GET_FEATURES and GET_QUOTA support without SET_* (Jan Beulich)
V3:
- specify error code returned for unsupported commands (Julien Grall)
- reword XS_DIRECTORY_PART related text (Julien Grall)
V4:
- drop "XS_" prefixes as they are language specific (Anthony Perard)
---
 docs/misc/xenstore.txt | 61 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 7e1f031520..4eccbc2f7f 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -86,6 +86,67 @@ parts of xenstore inaccessible to some clients.  In any case passing
 bulk data through xenstore is not recommended as the performance
 properties are poor.
 
+---------- Defined Xenstore message types ----------
+
+Below is a table with all defined Xenstore message types (type name
+and its associated numerical value).
+
+Some types are optional to be supported by a specific Xenstore
+implementation.  If an optional type is not supported by a Xenstore
+implementation, Xen tools will continue to work, maybe with slightly
+reduced functionality.  A mandatory type not being supported will
+result in severely reduced functionality, like inability to create
+domains.  In case a type is optional, this is stated in the table with
+the lost functionality in case Xenstore doesn't support that type.
+Any not supported type sent to Xenstore will result in an error response
+with the "ENOSYS" error.
+
+CONTROL               0    optional
+    If not supported, xenstore-control command will not work.
+    DEBUG is a deprecated alias of CONTROL.
+DIRECTORY             1
+READ                  2
+GET_PERMS             3
+WATCH                 4
+UNWATCH               5
+TRANSACTION_START     6
+TRANSACTION_END       7
+INTRODUCE             8
+RELEASE               9
+GET_DOMAIN_PATH      10
+WRITE                11
+MKDIR                12
+RM                   13
+SET_PERMS            14
+WATCH_EVENT          15
+    Not valid in client sent messages.
+    Only valid in Xenstore replies.
+ERROR                16
+    Not valid in client sent messages.
+    Only valid in Xenstore replies.
+IS_DOMAIN_INTRODUCED 17
+RESUME               18
+SET_TARGET           19
+RESTRICT             20    no longer supported
+    RESTRICT has been removed, the type value 20 is invalid.
+RESET_WATCHES        21
+DIRECTORY_PART       22    optional
+    If not supported, the output of xenstore-ls might be incomplete
+    with a node's sub-node list exceeding the maximum payload size
+    (e.g. the "/local/domain" node with more than ca. 1000 domains
+    active).
+GET_FEATURE          23    optional
+SET_FEATURE          24    optional
+    SET_FEATURE requires GET_FEATURE to be supported.
+    If unsupported, setting availability of Xenstore features per
+    domain is not possible.
+GET_QUOTA            25    optional
+SET_QUOTA            26    optional
+    SET_QUOTA requires GET_QUOTA to be supported.
+    If unsupported, setting of Xenstore quota per domain is not
+    possible.
+INVALID           65535
+    Guaranteed invalid type (never supported).
 
 ---------- Xenstore protocol details - introduction ----------
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 11:09:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 11:09:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911929.1318303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsgR0-0002mr-6w; Thu, 13 Mar 2025 11:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911929.1318303; Thu, 13 Mar 2025 11: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 1tsgR0-0002mk-3f; Thu, 13 Mar 2025 11:09:06 +0000
Received: by outflank-mailman (input) for mailman id 911929;
 Thu, 13 Mar 2025 11: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=CkET=WA=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tsgQy-0002mX-Ur
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 11:09:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060b.outbound.protection.outlook.com
 [2a01:111:f403:260e::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91fefdc1-fffb-11ef-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 12:09:02 +0100 (CET)
Received: from AS4P189CA0035.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5dd::14)
 by PAXPR08MB6525.eurprd08.prod.outlook.com (2603:10a6:102:154::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 11:08:58 +0000
Received: from AM2PEPF0001C711.eurprd05.prod.outlook.com
 (2603:10a6:20b:5dd:cafe::6) by AS4P189CA0035.outlook.office365.com
 (2603:10a6:20b:5dd::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 11:08:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C711.mail.protection.outlook.com (10.167.16.181) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 13 Mar 2025 11:08:57 +0000
Received: ("Tessian outbound a5818d08f071:v585");
 Thu, 13 Mar 2025 11:08:57 +0000
Received: from L7f636020ce1c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 17F379ED-6C55-4939-8C40-159754421042.1; 
 Thu, 13 Mar 2025 11:08:50 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L7f636020ce1c.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 13 Mar 2025 11:08:50 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com (2603:10a6:803:4d::31)
 by DB3PR08MB9034.eurprd08.prod.outlook.com (2603:10a6:10:430::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Thu, 13 Mar
 2025 11:08:47 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8]) by VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8%4]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 11:08: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: 91fefdc1-fffb-11ef-9ab9-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=GBwuoCcmfZ7qFf9P8UBY0e4ypZfAuk1MfNaxL2WdB1NQiHVv8sQbB9hcTRrIH8qIrhnSGvDtPSUeD75D4T3rCCr7a0AWCiZGdJ3gScatCtmJhuuDxySLHV0wVQauQOc+XqQBn+JKkaMS8SsdHSJqhIc0hwu0qUMzktn5JzNxy/k7hfGyX8NvG6rp63Mlrl4yIOYUYoc+HuA4hD+VX+r+7QXzOfjoompUZcvsvd7TrtlV3IYqRwpelWRrlh8IyCWFaxo9jr9108OI4wXo1KSwZ8Z6yalhKU7bV4Kqa5xlh6RFk3/3es9j5fPvSZsjuOtF0QAsDsA5SlGFOAo8hb24jg==
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=cRbv6m0a5GMGuyI5fstQobk3/CkKmm46Dh4epjdxGpA=;
 b=Fsv/BNXbSPb6TEaUPyndxF9tC/tTyvVZPpDbF1x41oH6voFL+8F6k5lN1YR0sGXlkGDi58K4eFOsbR4qfBKxUPvkqp+7l4a44q3dhpBH79XWkZV3ewFBgDcz7OH6qNlz4UA1six6JVu1kBuiKpSdK/EXH3ZPd74XgptNlgIzd7NOVnPLqpv8RuJ+N4ldtv4xldEmtzDoVyFiRJcFDvVyieKzjU7444bEDqPY8ksJnkDPGbzPVFuRovs2i9KKXEfIhuYnisgExr2nFLF4cmvsJKfHz+W7Ggd0wp/bnn8ZjaxKoJvE5lT00I3cU5mEgeWrAxqjaxxml6x7wP/w7ach6w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=cRbv6m0a5GMGuyI5fstQobk3/CkKmm46Dh4epjdxGpA=;
 b=PpufElpI2KGyx9jraLctxz4xI7nCSFxY7yjGgZwzbbrfDw9bfs+KvXrQCAgguKqHxmHm8IuEtOTSlzyKX0BMXJqKGCda2iKCzpGLQDz7np1hFxG7df6CkTC4k9pz7KzAadmcb+5FQDxdubxeSgzr3PeIXF5tufgip3HbMS4AeMA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: fe6a977dc9a750b5
X-TessianGatewayMetadata: tW5QjKw6wW64l4HXM0rgIb4wXsGvapcp5aT5uQUN9SANh4pJkUkjAksPnrsNuTUwMrt783EjQmi1pDTGmV6PoG2+xT7Llr8nTytrd0WcLghYKDxbjLP8NRybkRqdlLJE+/h2QzoYolAtRZHvgO/e99e/2vr5U5xYpCAND2Z5O50=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KwtGhAfarE4vD8Qw9CleHEDG+5rjRYYKUlS/52ZDv/DQ41PGF1wePR5UdVB0Hez9zShjWbGPIfiLZUtMZMZRmF97ArKkMEWer8r4xgAPMNVdFjOXcVnPbnlJQQsDWnTSysv3QgyPhKifx9MwXX1bXrL3WvPmhr63vlwvuQopOzVnJFBnCe1/5LUq4p3vp6gfJNjgwmmxZDe/pgp4kEFGKxjkpJ/JepX3U+IteIhy99LfGA4/lO0LdNYj3EjqRJg4IZJXs/y0VdoEJ4qClEPDLuqIPXACl+UAfFcYEdXWfICj682EYH7ZwMQ/zk86duEC/UG7/kGdmGlFHRmit7XyxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cRbv6m0a5GMGuyI5fstQobk3/CkKmm46Dh4epjdxGpA=;
 b=qaZX9f8aVHM8jZ1Z2saVaSLKubnGbHVR1Z0xcJNaaNKlaRrMfaa2DnigwoCPrF9mDHKNxzPrkQ6WFJsR6LQNhPrbJu75YP6AgyGscsC6NV/X+eBW84Ue+qK919dIrc2Zf0DnS5Sa16qoc1T/lnkJeSZ+lguLSS6+BY3+ymwzzcP9sdKcZR76u6nVxr8HbIbFMHHqdAaFqu8CLkXWcHlSHu/AOfJZAf9ECkpoc+slNFnLlL7JzUOpMNHQ92dbjcZoN2K2BqtFhvTVDPXt9ag+PbmW39mlXBv5iVp9Es2CeuNuQ6mbF6Iy0DK/I3qGZ4gIyLpOAXyicM5SWGHT4i4e+A==
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=cRbv6m0a5GMGuyI5fstQobk3/CkKmm46Dh4epjdxGpA=;
 b=PpufElpI2KGyx9jraLctxz4xI7nCSFxY7yjGgZwzbbrfDw9bfs+KvXrQCAgguKqHxmHm8IuEtOTSlzyKX0BMXJqKGCda2iKCzpGLQDz7np1hFxG7df6CkTC4k9pz7KzAadmcb+5FQDxdubxeSgzr3PeIXF5tufgip3HbMS4AeMA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.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>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 08/10] xen/arm: Rename setup_pagetables with a more
 generic name
Thread-Topic: [PATCH 08/10] xen/arm: Rename setup_pagetables with a more
 generic name
Thread-Index: AQHbk1Yo0cmyjZFeTUSq869Hx0J/E7Nw3DiAgAADaQCAAAiZAIAAAYkA
Date: Thu, 13 Mar 2025 11:08:46 +0000
Message-ID: <274347C1-EE28-48B4-9A5A-27188F5AF818@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-9-luca.fancellu@arm.com>
 <ada28315-0cfc-4be0-a543-31b589729044@amd.com>
 <ACE7CE6B-ED78-4EB1-85EB-DA2A98CEB83A@arm.com>
 <810b858c-b9cf-46f1-82ab-78ce2259d714@amd.com>
In-Reply-To: <810b858c-b9cf-46f1-82ab-78ce2259d714@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	VI1PR08MB2989:EE_|DB3PR08MB9034:EE_|AM2PEPF0001C711:EE_|PAXPR08MB6525:EE_
X-MS-Office365-Filtering-Correlation-Id: 81ba2101-0f72-482f-968d-08dd621f7393
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?b3Q0MGFnWUV3azVGYWlmaTZIK0JDQXpVYWZ4VmJQek1UVkVQd2pWL204ZkV5?=
 =?utf-8?B?YzFkYVBLeWZ4RWhOK0pqU2VJUGs3c2o4a1RWMlltUW1keW5CbFBkcDR4TG1I?=
 =?utf-8?B?UU5hQS9uVUMyaGhpQW5hbWtHd3I4TkRKRzJTWXA5M1EwSU1tWEhxTFoyQVFR?=
 =?utf-8?B?TmhBUEsxczMwQVA0bXhyckp3K3JrcUMyQnRRcHdXc0dVWFVrVlcxaUZaZ3Z6?=
 =?utf-8?B?dUVrRU1OSVM5WXFpZXFTTE5SQncwS2luZE1yc3dYOHZCS2dUKzFXZ1prdzZi?=
 =?utf-8?B?SVpnV0ZVYmtGTFUyeWdJLzVRTk9NZG9BQ1ZaUGRMU0N1akEvQ0p4Y29JbE5Q?=
 =?utf-8?B?WWZpT3YvMnRjL1BVQ2VNRTFuRGJTNktxSHRVeFdiVHVtNVVYZVZ6a2ZXRmdD?=
 =?utf-8?B?SzVyN2pBdDRIeVM1YlcyczFieFh5bjg1Q3NQQUk4d2gzVnEvUnV2OEw1Wita?=
 =?utf-8?B?OUxTYlRpOExEOWo4NWpMMmFuNnRkRXNEMW9QdGhEQm8vZDFiUWdGSVZ0UjNE?=
 =?utf-8?B?MFNaRXhHU1NReUxzaDEzVVlERnIrVFl5bW9INFU3L290eXRhWmVLM3FLb2M4?=
 =?utf-8?B?Q1lyaVQrbVVPMWtmS0NjU2VKVGtlUkM3aTB6SFJGdUxwOHlUbHVCT2RpMlNB?=
 =?utf-8?B?WUlrNk1rZnVwT2ZuUXcwWjQ2MnFQNTgrcmlwSStKM3pkTnFYVmQzdW1oZXdO?=
 =?utf-8?B?V0NNMkNENUFJMjN0bEFzVk1EQmlFKzVVc04xSVNwRFltRjNiSVkwa0phdXlk?=
 =?utf-8?B?TzdWMmtuc21kWGVLUmM5QU0rcHBleUtPSWRTUEV4NUxTbGRHbVZJWERXbDh4?=
 =?utf-8?B?dGx3UTBLRXVxcFRpOGp5TnVUT2txb1R2elRVLzVmejI1aTlKc1AxK0lWSGxm?=
 =?utf-8?B?Y1c0cWs5SnB5a1hjUkhOUzZWZDZLVi9OWm4zQy9DZ1ZDMmxya2hBTmh2WjZE?=
 =?utf-8?B?SDdKdXZscVRQc2VXd2crd2lQUXhaUFphUjZITEhLNVJZQm1wUjRrdzlhV1d6?=
 =?utf-8?B?eVc5MTdNQm5hb2hSRE1tQTRnWkMvMDIzdGU4ejBhUDVqL2N4YXRZZWw4a1ZY?=
 =?utf-8?B?LytYRlBUalhrdHVDSmNDbzNEZmFOcW42ODFCVEVEejRZcm01YjY2cWhpVHBM?=
 =?utf-8?B?dTZGTDBsWUVydFE5Wm90NVo2VllQclNvZ0NDeUpjMkdxWUtlYTVuZzlIWUFm?=
 =?utf-8?B?cU14Wk9reUJWZ0hPYUV1OG5qUTVLeUpBT1lCM1RaN0cwdDI3dUxCalc4aXVr?=
 =?utf-8?B?cmxpRU5ialc4NjN6blNGcEdpbFZrcTRtU2s5eW9zSnBTTndmVEI5VnlBYm9Y?=
 =?utf-8?B?NG5oeGJxUXh2alpNdHo4a3F6R25WeVRKVEdBTmhVQ0hwR3FwTXNaNzBXaDZE?=
 =?utf-8?B?RTRpRUlYU3VCZUxTd0hSK2pFNTlpUzNLcllPQlRtZFJOaDZXc2xaL2pjM0NC?=
 =?utf-8?B?YnY4c3ZJTElPZzhIU1FQTDgwd2lmM0VaREx2NnltZXI4RWFiY0Z4VUh3T2Vs?=
 =?utf-8?B?TkVLREd0OVBSemJvVytqRzdvbjdwZUkzREdwanM4M0ozV29sZUJtWHluN2U4?=
 =?utf-8?B?MVZIVHJTSkdaZEJMVWR0MzFiTk9ERjYyK2k1MjdpSTJjMWF6N1Z5MlBZMUJU?=
 =?utf-8?B?aVBkVllqdlFmN2F1TEV4TVI4NXNuaGVUeXlXZnVCUUJjSTBZcnVWTEVubFMr?=
 =?utf-8?B?c1E2UUNqdW1KRjY5c0dWZjN0MWtibWdublpiM2dmWit6SXhCd1pDeGdXNjRS?=
 =?utf-8?B?L2tjVThTck5xRjBkWnNDaEx6ZHRWc29sNkdneXd2Q1JNR0lGWUNNM2ZXR3ha?=
 =?utf-8?B?ZnNzdVA0Nzl1Y0NPT3hRQyt6MkpqK1p1cHZ5SzNMM2lwRkRIbUFsY1EwS1Zv?=
 =?utf-8?B?U2dhbnF1WW5leVViTXVzam5SdzF5RUZpWEJjby83U05MY0gwdHRxOUhqbzZI?=
 =?utf-8?Q?wl/NLm+P1/+FsUcn/iDvqmIJ9MdFTDOU?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB2989.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <09B9A5CC1505A64092D3E24D917D013E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9034
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:803:4d::31];domain=VI1PR08MB2989.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C711.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e9f67fc2-2f07-4cd4-1c62-08dd621f6cf0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|14060799003|35042699022|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?U1RxdlVURXMwVVlYSzRZVVkyYUZZZlpHbEtiR2N5WVg0U1VsSGUrRndUMmcz?=
 =?utf-8?B?MzFKWFkzcmgwSW4vaHpsRU5QcVgzMi9TNDFsYkc4NzFKWUVqRjBpUUhTUU1J?=
 =?utf-8?B?SkRoeXVsMGNBN3ZGak8xc3FaS1NwME8ybVQvWnUyL2RidmlnQWhnYnB6NzFv?=
 =?utf-8?B?T0F0bTMrM2JrUE5jSFFnbnFqZVRYNTl3dVlkeDE1WkRncWl0QW1zOEJWZkUv?=
 =?utf-8?B?R1B5bGpNM2d4Q2djQ3lDaG12N2RBRFlYR3Q0Y1NRVXZnN3dmMEwrOVpWSFVZ?=
 =?utf-8?B?SmltU3JTS01GbkttczFzeG1xQ3BlUlJ2cGtHSHR3aHhPNnloZFlUUnBHYnNZ?=
 =?utf-8?B?aXdtZkJHd09VWkd3aEJvczV5NmJvQ1JETC9Hb2M1U1hkaFRZNW9haFB0VndS?=
 =?utf-8?B?dkR5NEo5U2VVZXc3eXAzNExTY0NCMVJxNDRaSnNjeU5jZkNXaDJ2SlNXYytU?=
 =?utf-8?B?V3FvSldORnByR0x1bHkxUHhoaGRoUml1VTFaWkFFME1LZXJQZ0ZxeWV2UnRp?=
 =?utf-8?B?NWlTcUZYMnh6a2p4L0M1UHhtWnRmaVhpZGozeWtxSFdOY01lY1VQODBkeVpY?=
 =?utf-8?B?aTI3YjZBS2pZUER3K0NsWlQzeGtOYjFScXpXY2EwWkFaZUREdXNiZmdFeXJk?=
 =?utf-8?B?dDhNVDUyT2N1dDBxNzM1ODZ3K2ZRREVmamtHVUZUc1V1VDNHNDN3VTRudjhL?=
 =?utf-8?B?bzhGOVNLK3hUdEZhV1dyL1JScTNNWFRwV2orWi9Qak1kTy9WbEFCS1VqUzIw?=
 =?utf-8?B?Zk5wcVBmUGdteUFBODI2YzJQUDUzWWRWVjRYUU1sRnJNeWtYYVBkK1dQTWpj?=
 =?utf-8?B?N2c4b3JmLzZGWHc4TXhYMFhRUGUvTVFIZmtjUDdIeSsyNUFKYTZ5UFdwRlRz?=
 =?utf-8?B?bU9ER0Z4VldRM1M2cENvZm9aRXVyNVJta1dIR3J5OHdyaGg0Mm9oSUF1VmZR?=
 =?utf-8?B?cU1QVmY5WlduN25wb20vTFdpMmFqLzBGcjRScjhQMFordHRhZGw5bWgrajdK?=
 =?utf-8?B?ZW1wRERVenQ3S3lId3UraWUyZWdBcmk5cmtxT09sdzNxZU5FZWR1azkxaTh5?=
 =?utf-8?B?MVRyaytWZzk0bEF4YmtyTGV3TExFMGhjakc0emZ1L2ZkUVg2bHBadmVrVjBp?=
 =?utf-8?B?VWcxSkxiRVNGLzQ5SEtEYnRHbDZxbkVsUHp2dzZZWWJ5Lzd6RDBkdzc0clIz?=
 =?utf-8?B?NUp6TE1SWmhXRjIraXVBVWh0MVdsVUpLTVFmZmRqV3N0ZWRMdnhid2Z2aWpa?=
 =?utf-8?B?ckRuUFE0NG8rRkdRTVhOVTN4YTk1MytMdnJUeXVGZ3NpbHBYTWcwbXp2anhI?=
 =?utf-8?B?MWtUalJZUDI4UGRNRTJvY2hBR1VYVzRYQmpaeVZMVndDdFVRV2JhVytKSE5D?=
 =?utf-8?B?bGVFdXdoNlgwQ0FFaU13eTc0RlhNb0VKTUJiSWZSdE1aMjQwVTZUSGJ2dXpC?=
 =?utf-8?B?dEpacGdSN0tSVDVVR240Z1J1M1JBT2NRQ3R4L3RWS2RRRkd5cGdjV3dENWkz?=
 =?utf-8?B?N0V4VGk3RzMyWUhlc3ZhMWtzRkl4REpRWEJ3dzYxb1BxS3RQYU1ZM1NOVkV1?=
 =?utf-8?B?dlFQdG9SdVAzUm12ak5OVk9KUmR1TW9majgwVGViMk9jRDBFaFZSUWtDbWNv?=
 =?utf-8?B?MVJiTlhDbmY0ZHV5ZnJFUFd4SWJQbjZHbVU4ZldwKzUvMUplWkpFdzJycldG?=
 =?utf-8?B?UmYrSFphY2lSTTB2ek5tNjlFSm5Edk1sc2xZK0Y0RHJiQURqb2c2T0NNSFh3?=
 =?utf-8?B?YzY0TjJUVHkrbWhsNTBDNVptU3ZFaFl4NjJtRTZ0Q0FhTGNCci9ZTU5QNWF3?=
 =?utf-8?B?Y0NnQkF3Y1hhOTQvS09ZcmRjUENNRUJzTVl3RVRKQ2tRM24vand1ejM0NmZv?=
 =?utf-8?B?L0JQYUo0K3pGaW9qSS9vNHc3a0FMbCsxS0dmN21YVmc1OE02YlFpNzdTRkZH?=
 =?utf-8?B?RnkvZCtzTGJUaHFWVnRUSUZpU3BRNHZoOTZ0VHJVclBmWVFFNWZGSTQrc25P?=
 =?utf-8?B?RWFFL1pxNDFRPT0=?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(14060799003)(35042699022)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 11:08:57.8413
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81ba2101-0f72-482f-968d-08dd621f7393
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C711.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6525

DQoNCj4gT24gMTMgTWFyIDIwMjUsIGF0IDExOjAyLCBPcnplbCwgTWljaGFsIDxtaWNoYWwub3J6
ZWxAYW1kLmNvbT4gd3JvdGU6DQo+IA0KPiANCj4gDQo+IE9uIDEzLzAzLzIwMjUgMTE6MzIsIEx1
Y2EgRmFuY2VsbHUgd3JvdGU6DQo+PiANCj4+IA0KPj4gSGkgTWljaGFsLA0KPj4gDQo+Pj4gT24g
MTMgTWFyIDIwMjUsIGF0IDEwOjE5LCBPcnplbCwgTWljaGFsIDxtaWNoYWwub3J6ZWxAYW1kLmNv
bT4gd3JvdGU6DQo+Pj4gDQo+Pj4gDQo+Pj4gDQo+Pj4gT24gMTIvMDMvMjAyNSAxNDo1MiwgTHVj
YSBGYW5jZWxsdSB3cm90ZToNCj4+Pj4gDQo+Pj4+IA0KPj4+PiBSZW5hbWUgdGhlIHNldHVwX3Bh
Z2V0YWJsZXMgZnVuY3Rpb24gdG8gc2V0dXBfbWFwcGluZ3MgaW4NCj4+Pj4gb3JkZXIgdG8gYmUg
aW1wbGVtZW50ZWQgYWxzbyBmb3IgTVBVIHN5c3RlbSB0aGF0IGRvZXMgbm90DQo+Pj4+IGhhdmUg
cGFnZSB0YWJsZXMuDQo+Pj4gDQo+Pj4gbWFwcGluZ3MgaXMgYmV0dGVyIHRoYW4gcGFnZXRhYmxl
cywgc286DQo+Pj4gUmV2aWV3ZWQtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5j
b20+DQo+Pj4gDQo+Pj4gYnV0IEknZCBsaWtlIHRvIHVuZGVyc3RhbmQgd2hhdCB3aWxsIGJlIGlt
cGxlbWVudGF0aW9uIG9mIHNldHVwX21hcHBpbmdzIGZvcg0KPj4+IE1QVS4gSSBzdXBwb3NlIHJl
Z2lvbnMgc2V0dXAgc3VjaCB0aGF0IHRoZSBmb2xsb3dpbmcgY2FsbCB0byBlYXJseV9mZHRfbWFw
IGNhbg0KPj4+IHN1Y2NlZWQgYW5kIGRvaW5nIHRoaXMgaW4gc2V0dXBfbW0gaXMgYWxyZWFkeSB0
b28gbGF0ZT8NCj4+IA0KPj4gU28gb24gdGhlIE1QVSBzaWRlLCBtYXBwaW5ncyBhcmUgd2VsbCBk
ZWZpbmVkIGluIEhXIGJ5IHJlZ2lzdGVycywgc28gd2UgZG9u4oCZdCBuZWVkIHRvDQo+PiBhbGxv
Y2F0ZSBwYWdldGFibGVzLCBzbyBzZXR1cF9tYXBwaW5ncyBpbiByZWFsaXR5IHdpbGwgb25seSBw
cmVwYXJlIG91ciBsb2dpY2FsIGRhdGEgc3RydWN0dXJlDQo+PiB0aGF0IHRyYWNrcyB0aGUgTVBV
IHJlZ2lvbiBzdGF0ZSAoZmV3IHJlZ2lvbnMgYXJlIGFscmVhZHkgd3JpdHRlbiBieSB0aGUgYXNt
IGVhcmx5IGNvZGUgYW5kDQo+PiBuZWVkcyB0byBiZSB0cmFja2VkKS4NCj4+IA0KPj4gZWFybHlf
ZmR0X21hcCB3b27igJl0IHVzZSB0aGlzIGxvZ2ljYWwgdmlldyBvZiB0aGUgTVBVIChhcyBpdOKA
mXMgY2FsbGVkIGVhcmx5KSwgaXQgd2lsbCB1c2UgbG93IGxldmVsDQo+PiBBUEkgdG8gYWNjZXNz
IHRoZSBNUFUgcmVnaXN0ZXJzLCBsaWtlIHRoZSBlYXJseSBhc20gY29kZSBkaWQsIGJhc2ljYWxs
eSB0byBtYXAgdGhlIERUQi4NCj4+IA0KPj4gRG9pbmcgdGhhdCwgd2UgZW5zdXJlIHRoYXQgdGhl
IGN1cnJlbnQgY29kZSBmbG93IGluIHN0YXJ0X3hlbiBjYW4gYmUgcmV1c2VkIGFzIGl0Lg0KPiBU
aGVuIHRoZSBxdWVzdGlvbiBpczogY2FuIHRoZSBNUFUgcGFydCBiZSBtb3ZlZCB0byBzZXR1cF9t
bSBpZiBlYXJseV9mZHRfbWFwDQo+IGRvZXMgbm90IG5lZWQgc2V0dXBfbWFwcGluZ3M/IElmIHNv
LCB3ZSBjYW4gYXZvaWQgaW50cm9kdWNpbmcgYSBmdW5jdGlvbiB3aXRoIGENCj4gbmFtZSB0aGF0
IGlzIGF0IGxlYXN0IG9kZCBpbiBNUFUgY29udGV4dCBhbmQgbGVhdmUgc2V0dXBfcGFnZXRhYmxl
cyBvbmx5IGZvcg0KPiBNTVUuIEFkZGluZyBhIGZ1bmN0aW9uIHdpdGggbm90IGlkZWFsIG5hbWUg
anVzdCBmb3IgdGhlIHNha2Ugb2YgYXZvaWRpbmcgI2lmZGVmDQo+IE1NVSBkb2VzIG5vdCBzb3Vu
ZCBsaWtlIGEgZ29vZCBpZGVhIGZvciBtZS4NCj4gDQo+IFlvdSBjYW4gY2hlY2sgd2l0aCBvdGhl
cnMgb24gdGhpcyBvbmUuDQoNCkkgdGhpbmsgeW91IGFyZSByaWdodCwgSSBjb3VsZCBwcm92aWRl
IGEgc3R1YiBpbXBsZW1lbnRhdGlvbiBmb3Igc2V0dXBfcGFnZXRhYmxlcygpDQpvbiBNUFUgc2lu
Y2UgdGhlcmUgYXJlIG5vIHBhZ2V0YWJsZXMgYW5kIGludHJvZHVjZSBlYXJsaWVyIHNldHVwX21t
IHdoaWNoDQp3aWxsIHNldHVwIHRoZSBkYXRhc3RydWN0dXJlLg0KDQpJIGRvbuKAmXQgdGhpbmsg
YW55b25lIHdpbGwgb3Bwb3NlIHRvIHRoYXQsIHNvIGlmIEkgZG9u4oCZdCBlYXIgZnJvbSBhbnlv
bmUgSSB3aWxsIGRyb3AgdGhpcyBwYXRjaA0KYW5kIGltcGxlbWVudCB0aGUgYWJvdmUNCg0KDQo+
IA0KPiB+TWljaGFsDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 11:44:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 11:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911946.1318323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsgyv-0004aw-4M; Thu, 13 Mar 2025 11:44:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911946.1318323; Thu, 13 Mar 2025 11:44: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 1tsgyv-0004ap-0R; Thu, 13 Mar 2025 11:44:09 +0000
Received: by outflank-mailman (input) for mailman id 911946;
 Thu, 13 Mar 2025 11:44: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsgys-0004Ly-UG
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 11:44:06 +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 77fcd1a5-0000-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 12:44:06 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43d0c18e84eso5178685e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 04:44:06 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb318a5fsm1851733f8f.79.2025.03.13.04.44.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 04:44: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: 77fcd1a5-0000-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741866246; x=1742471046; 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=4+dligUpIn7eZeZppXpXDaOpcvkUgqp7/b0zEBX4m14=;
        b=rq3Wni/eFpTDGcbAYOfD1Pt6QYmn4+9y7zPaLz1yyVATlrvsg93woQk4nud3SePHwG
         K9PzVhywxg+0Ci4Hzx6mOuC1Tj4eE8x3JPjjDap0CwWIF1/g+aLx8cB1RCMnQeQ3DICa
         DhXLfc31xoOxZR5cMmJA52Z9UQ/Frbdpb1ILs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741866246; x=1742471046;
        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=4+dligUpIn7eZeZppXpXDaOpcvkUgqp7/b0zEBX4m14=;
        b=dZem0CQZJtzOFv5sX1NC0HqIddzo23Pq8cgE9SpWdB87+B1eCvPLNDzpepkB9J9dgX
         5U9mYzBIvA/i+fvMh6mPZxM9mxZwnl1ChOSzVh3cB2D7InURORQXpsVYeOGvA9egyTqY
         lRzAPHT2kqvHh0y+Vi3v+JxHEm22Ty7zRQkG3HoEHYjyUgY0fhVFGATPIcSC6+F1sBbO
         d141n7OCT0QyeJl48DeNCiMEXFFkGScG4NEROTLTRbDE4ZewqqM0U2rLysyqq7cl9/vo
         OAoomceVY8QoIpSOi6TxzUq2tz95MkJBCUrXXSubSnOtiUaA/p6acmnb3Gy54BFKgyLD
         Se5w==
X-Forwarded-Encrypted: i=1; AJvYcCVimcfbeDYM+sZJUR9JN8G7sesG5upPPCRCvtIAbi4HLTv9pN1xyvMJKw26pGSbtweRo/q75uG1xAc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2LeIvY8GtUes01XtNYV3r+i1yIQR4HJ09SLED6BBb6SGQVBU2
	OCpcXc+2CjTX3Xn1hU6//ZQ8DDktl7Wcd95Yor15KYXwn1TT/miZkXn7BbQrLZM=
X-Gm-Gg: ASbGncuOnA7PcVm5PqVMHa5NopTsrc/Ysmf9xlp9AohQUefTt+6oVqlWwcusvTjkcWL
	+IPr2J73p4k57bDnAZy+hRow3Ml3dPlJ+qdlQGipP7A/TgE+dBkVTxq7F17Fk+VxmFv0683HMQw
	FUHJyfZTwSDkbbpZGLzCKw5K2iiSLmiy7LY/QXpkG879dapq0ZOm76trQzmNJWP0oJojf8ohceb
	GxEYnNA+7M9DoP9FXhpJagdAsiKnBY4ZcF3dI3TzyRemjGeUZIpi1fWdVDW7FSc82bWDMkpnk0C
	+lC0j/OPzOIRvyECYwP9bWyqMBwEkMVbPGG6V8FyccZ2cQv32kihukSfw3ULEC6SKF25JXlelKS
	8aUQN0nub
X-Google-Smtp-Source: AGHT+IGD5ZSgXrgNvl9nNf5lNKGAYJAFmXn7V2SKcM1e8jfX4L8ZOEOY7v8BVcsX7Do3CYGlBOQ01w==
X-Received: by 2002:a5d:64cd:0:b0:390:f2f1:2a17 with SMTP id ffacd0b85a97d-39132da9d2amr20535279f8f.53.1741866245758;
        Thu, 13 Mar 2025 04:44:05 -0700 (PDT)
Message-ID: <8655362d-4019-4dca-b232-5adeb13c3ac1@citrix.com>
Date: Thu, 13 Mar 2025 11:44:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/sched: fix arinc653 to not use variables across
 cpupools
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 xen-devel@dornerworks.com
Cc: Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 George Dunlap <gwd@xenproject.org>, Choi Anderson <Anderson.Choi@boeing.com>
References: <20250313093157.30450-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: <20250313093157.30450-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/03/2025 9:31 am, Juergen Gross wrote:
> a653sched_do_schedule() is using two function local static variables,
> which is resulting in bad behavior when using more than one cpupool
> with the arinc653 scheduler.
>
> Fix that by moving those variables to the scheduler private data.
>
> Fixes: 22787f2e107c ("ARINC 653 scheduler")
> Reported-by: Choi Anderson <Anderson.Choi@boeing.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Oh lovely, those statics are nicely hidden in the local variable list.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 11:44:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 11:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911945.1318313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsgyp-0004MD-T6; Thu, 13 Mar 2025 11:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911945.1318313; Thu, 13 Mar 2025 11:44: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 1tsgyp-0004M6-QC; Thu, 13 Mar 2025 11:44:03 +0000
Received: by outflank-mailman (input) for mailman id 911945;
 Thu, 13 Mar 2025 11:44: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=NEXk=WA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tsgyo-0004Ly-8X
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 11:44:02 +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 74cf6aaa-0000-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 12:44:01 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-39143200ddaso532135f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 04:44:01 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d03e2448bsm52007035e9.1.2025.03.13.04.43.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 04:43: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: 74cf6aaa-0000-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741866240; x=1742471040; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rJQB8DvVnfT03BdpUrS/G0RkWNXtCa6OJMD/PQfWZrs=;
        b=DtKsU6Alp4PAUFzE2FaFWnDQjWxilrTE/f4PXgkFLq2STovtEli7qy3vd2J35gyit+
         yki7vn7YeMwX3TyrvsnlLCGafnUkLrG0zCy+4uzISBYercudBssE/YTNzDtU7PNvRa0k
         LxwvG406GN0xtXx48zd+5CTcZkp3Jjy0UwiFE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741866240; x=1742471040;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=rJQB8DvVnfT03BdpUrS/G0RkWNXtCa6OJMD/PQfWZrs=;
        b=topW66HGjENGuDLKOG7+pq7pMmUzamKX7dv8MSPjJb7AIAAH4Wwxuxwe+hxIoTK41o
         AOfWvZOU8SbBVd+u7zdBZHB0UKB9odafyMFCUifMaKNdvV56EguLW2eZ6SXxFpAzyibI
         p/Ul2JCPNW0T19fE0zfIZJGKlg/5nMPWWwYyX6lKOecDJl1hSV+nNa+IScALGzIV/j/y
         +rn4s6dHxDLzSIRL9UvdE1DyrhUt9lLZEcAYzTy3KhU0TZivLfktp4mNS0uYfUzO5CUg
         x2xMCnBQCKP5mTpiCbbgNEBVUoHMpULzOkVhYOmkshjIxiYPKGdivQA6/DrET4OAg/nb
         910w==
X-Forwarded-Encrypted: i=1; AJvYcCWRhEx4eDBhC8/jkGGwGV99Nqgh4PNFbH3rueiiqMuODAUirgbnxznujm16aLqLw3mpAqM349THk0M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJvQrwvluQAGYevgDem3bK31An4XK1EJGkBv8J9DWxZbGWcpfO
	P7UEqYTJTcjp3yFSQxjgZcQLoSPLhIe2X8je3SkUn0If//7nwXB0YCiRJNvR6RH9vDUVhwo11Po
	u6DQ=
X-Gm-Gg: ASbGnctmtBRLDW1OCcuLGQDJmydR9IxlSVF6Lsq6P60F8oMr7pfglSx9n5M6kv5mLlj
	Aub9Kk+uqdx5aAqpAJ9qwiHvr0lVj7sDRBQVoITbdQaooqr8CKwRZhxJvMA5mKwauoWl9PXnrJJ
	2vqyMFYC6tbFQ0B3w6mIbWZuCEaulo8gru+B1Ij36BPX7aUN60bQncY/ZE6JMzJ6KooFI+hCxuM
	y1qXl1mOctt8ioS4kFS/sjPbZy+fumO9gxLbhAY8IEORLbteiUaZ4o5fJl89MMf3s4N/oTd7qjX
	Kj4eo8R/H5dkDGOHBDlbxZHguWsFur8367srGrMKJlwvhKceBYA=
X-Google-Smtp-Source: AGHT+IE7eC/mdnBSVTjY/AChHzeU15NP5mQsMxeau1PBHXPWFqD5/x+Kd8Dpvx1mC9XlKjSUzv8H1Q==
X-Received: by 2002:a05:6000:2aa:b0:390:f400:2083 with SMTP id ffacd0b85a97d-39258949d55mr11959712f8f.0.1741866240296;
        Thu, 13 Mar 2025 04:44:00 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 13 Mar 2025 11:43:54 +0000
Message-Id: <D8F41PA5JHTU.ABSSG427OH5@cloud.com>
Cc: <ray.huang@amd.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 02/19] xen/xsm: wrap around xsm_sysctl with
 CONFIG_SYSCTL
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Penny Zheng" <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-3-Penny.Zheng@amd.com>
In-Reply-To: <20250312040632.2853485-3-Penny.Zheng@amd.com>

Hi,

On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/include/xsm/dummy.h | 7 +++++++
>  xen/include/xsm/xsm.h   | 9 +++++++++
>  xen/xsm/dummy.c         | 2 ++
>  xen/xsm/flask/hooks.c   | 4 ++++
>  4 files changed, 22 insertions(+)
>
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index a8d06de6b0..afc54a0b2f 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -180,11 +180,18 @@ static XSM_INLINE int cf_check xsm_domctl(
>      }
>  }
> =20
> +#ifdef CONFIG_SYSCTL
>  static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
>  {
>      XSM_ASSERT_ACTION(XSM_PRIV);
>      return xsm_default_action(action, current->domain, NULL);
>  }
> +#else
> +static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif

Doesn't this need to be -ENOSYS instead?

I'd put the ifdefs inside the function (making the signature common) and
then have the body ifdef-ed. But rather than that, I suspect the `else` bra=
nch
can just go away because...

> =20
>  static XSM_INLINE int cf_check xsm_readconsole(XSM_DEFAULT_ARG uint32_t =
clear)
>  {
> diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
> index 8c33b055fc..276507b515 100644
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -60,7 +60,9 @@ struct xsm_ops {
>      int (*sysctl_scheduler_op)(int op);
>      int (*set_target)(struct domain *d, struct domain *e);
>      int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref);
> +#ifdef CONFIG_SYSCTL
>      int (*sysctl)(int cmd);
> +#endif
>      int (*readconsole)(uint32_t clear);

... either you remove this field or make the dummy handler. Doing both seem=
s
redundant.

The dummy handler would return -ENOTSUPP, so the field is benign (in which =
case
I don't really get why it must go). But if the field is gone, there's no ne=
ed
for the handler to begin with.

All in all, removing the else branch in xsm_sysctl would make everything
consistent. Same in the files below.

Also, you may want to add the readconsole hook (and its handler) since that=
's
a specific sysctl that would also be disabled by !CONFIG_SYSCTL.

> =20
>      int (*evtchn_unbound)(struct domain *d, struct evtchn *chn, domid_t =
id2);
> @@ -259,10 +261,17 @@ static inline int xsm_domctl(xsm_default_t def, str=
uct domain *d,
>      return alternative_call(xsm_ops.domctl, d, cmd, ssidref);
>  }
> =20
> +#ifdef CONFIG_SYSCTL
>  static inline int xsm_sysctl(xsm_default_t def, int cmd)
>  {
>      return alternative_call(xsm_ops.sysctl, cmd);
>  }
> +#else
> +static inline int xsm_sysctl(xsm_default_t def, int cmd)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif

Same as above

> =20
>  static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
>  {

> diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
> index ce6fbdc6c5..0a5fc06bbf 100644
> --- a/xen/xsm/dummy.c
> +++ b/xen/xsm/dummy.c

Same remarks here as in the header.

> @@ -22,7 +22,9 @@ static const struct xsm_ops __initconst_cf_clobber dumm=
y_ops =3D {
>      .sysctl_scheduler_op           =3D xsm_sysctl_scheduler_op,
>      .set_target                    =3D xsm_set_target,
>      .domctl                        =3D xsm_domctl,
> +#ifdef CONFIG_SYSCTL
>      .sysctl                        =3D xsm_sysctl,
> +#endif
>      .readconsole                   =3D xsm_readconsole,
> =20
>      .evtchn_unbound                =3D xsm_evtchn_unbound,
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 389707a164..7c5e7f5879 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -856,6 +856,7 @@ static int cf_check flask_domctl(struct domain *d, un=
signed int cmd,
>      }
>  }
> =20
> +#ifdef CONFIG_SYSCTL
>  static int cf_check flask_sysctl(int cmd)
>  {
>      switch ( cmd )
> @@ -933,6 +934,7 @@ static int cf_check flask_sysctl(int cmd)
>          return avc_unknown_permission("sysctl", cmd);
>      }
>  }
> +#endif
> =20
>  static int cf_check flask_readconsole(uint32_t clear)
>  {
> @@ -1884,7 +1886,9 @@ static const struct xsm_ops __initconst_cf_clobber =
flask_ops =3D {
>      .sysctl_scheduler_op =3D flask_sysctl_scheduler_op,
>      .set_target =3D flask_set_target,
>      .domctl =3D flask_domctl,
> +#ifdef CONFIG_SYSCTL
>      .sysctl =3D flask_sysctl,
> +#endif
>      .readconsole =3D flask_readconsole,

readconsole ought to be included, imo. And its handler wiped out as well.

> =20
>      .evtchn_unbound =3D flask_evtchn_unbound,

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 11:50:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 11:50:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911965.1318333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsh53-0006NS-Nm; Thu, 13 Mar 2025 11:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911965.1318333; Thu, 13 Mar 2025 11: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 1tsh53-0006NL-KU; Thu, 13 Mar 2025 11:50:29 +0000
Received: by outflank-mailman (input) for mailman id 911965;
 Thu, 13 Mar 2025 11:50: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsh52-0006NF-EE
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 11:50:28 +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 5b13900a-0001-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 12:50:27 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so682671f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 04:50:27 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb318a12sm1862639f8f.75.2025.03.13.04.50.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 04:50: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: 5b13900a-0001-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741866627; x=1742471427; 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=TwD2InZFQbMmnKmgNnnxw0QuykR8zp9a4UFZ37MyqrY=;
        b=ZzLl/55ubyeX8V9tVw72haCv8UTrzYGV8/k9ur5tgZxeDk6WfEHfj6CsjFJFrRXbkb
         hdlBhDU88YpKaMlzN9kozx712b1hZqknW7tJuUAlbNwNw03lNoMXLxX1yN45jw8GVC27
         xUFOSxC4UvYSX+OgxAZH+mLT5mWCuckGDk3/8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741866627; x=1742471427;
        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=TwD2InZFQbMmnKmgNnnxw0QuykR8zp9a4UFZ37MyqrY=;
        b=xJMUS6ptixqZiqPWxHBe+ZlT73UJXy9IAgYU2eirlZb3zw6pAoY+WQhpuXHpAyifvi
         Q9/fOyS02xcdyHztlyf9IG3DtXT9M0MUCgPD59tNewTWE/Yh10BYJqurjNrWBnAUxYND
         fNapLwrMx6Z06HWZ7Nxpvo0XLCK4BoYlvcAhSh1MF666bXBi9sm/an3ZMrczD3X5oXDv
         xDaZW8JW5kWtOIpdfdApA1ZTXzPVu2CH9juMB+erheb1cXMceYtBHxoJDjyutvYieDXC
         LPCRiD8u8YqUfaDrIfV0g4VXl/RMVVDQf7Z/tjlLNysBbNuQ+M7kNwRhgNK00pcb2Xbx
         m99g==
X-Forwarded-Encrypted: i=1; AJvYcCUAmk15VxCzVV3nlUfFNkNBulzMl2Tar59nK1gu+qcoA5Wp0MKmn25ieqiiL1u8T1Rh6zLi5FbPeoI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSsi74kFe1ODGuSIaIl3EXIwr5fiLOcrd0lSvIMiGmRWZRhaxs
	ISVQiWakThgfV5p2q13q5LdV3I7ebqyTtA++9u5GBPf8FZ23Jv7XFlsO96IEYPc=
X-Gm-Gg: ASbGnctJNyx94HE4clzZVHcKth/P62hO6WAfL9Nxa9R+hAaYr+hV/kdWtZFrdtIhmjj
	KUXsZUyhcbO1n6LAQY0scyUarkqi05Zzk+kRp7/zc2CvKjtl8q6UBUJiEuADSsSNNVzBtLwgaGb
	HgcG4qOaH5xhd78JDaw4xE8a4ouPnZm1LtC9E6bpejvWgp4YDEtelzJXlU3fAT5yaFeq2ZynHrw
	fVZ9XnSFz4ZZFET28v425+azWgEVuK+B/FTiDDxguMvcHeN46Eg9s7CRsNN9pTqHdS+zOrQpBz8
	QWUEhKwDL/CV9Ne0prmJC94iOMd0+uZFUDR1x74D0ZzSRO+IWEVHuOwpQRmAoe6YVzbH6CKbQs1
	I2mzVhGY3
X-Google-Smtp-Source: AGHT+IH0njngF816MrTtIZXSTDaGJDf+DIm+qbChlmUNNc5jL8vq2dYxUX+8iYEiPftn9kj2lJeJqw==
X-Received: by 2002:a5d:64c3:0:b0:391:2932:e67b with SMTP id ffacd0b85a97d-39132dacfdbmr25419003f8f.35.1741866626689;
        Thu, 13 Mar 2025 04:50:26 -0700 (PDT)
Message-ID: <d58143e7-22f0-40f0-a391-1c0308796d30@citrix.com>
Date: Thu, 13 Mar 2025 11:50:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 8/8] xen/mm: Exclude flushtlb.h from mm.h for x86
To: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-10-andrew.cooper3@citrix.com>
 <cd4e4e69-9b54-40bf-a9e2-88191481487d@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: <cd4e4e69-9b54-40bf-a9e2-88191481487d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 9:13 am, Jan Beulich wrote:
> On 12.03.2025 18:45, Andrew Cooper wrote:
>> alternative.c and livepatch.c pick up flushtlb.h transitively through mm.h.
>>
>> Fix these, and finally resolve the TODO in microcode/amd.c
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
>
>

Thanks.Â  Randconfig thus far has found that
xen/arch/x86/guest/hyperv/tlb.c needs an extra include too, which I've
fixed up locally.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 11:52:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 11:52:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911975.1318343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsh6k-00087w-2Y; Thu, 13 Mar 2025 11:52:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911975.1318343; Thu, 13 Mar 2025 11: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 1tsh6j-00087p-Uk; Thu, 13 Mar 2025 11:52:13 +0000
Received: by outflank-mailman (input) for mailman id 911975;
 Thu, 13 Mar 2025 11:52: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=CkET=WA=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tsh6j-00087j-2f
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 11:52:13 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20624.outbound.protection.outlook.com
 [2a01:111:f403:2613::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 991aa855-0001-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 12:52:11 +0100 (CET)
Received: from DU2PR04CA0153.eurprd04.prod.outlook.com (2603:10a6:10:2b0::8)
 by AS8PR08MB9624.eurprd08.prod.outlook.com (2603:10a6:20b:617::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 11:52:06 +0000
Received: from DU6PEPF0000B61D.eurprd02.prod.outlook.com
 (2603:10a6:10:2b0:cafe::7) by DU2PR04CA0153.outlook.office365.com
 (2603:10a6:10:2b0::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 11:52:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000B61D.mail.protection.outlook.com (10.167.8.137) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 13 Mar 2025 11:52:05 +0000
Received: ("Tessian outbound a5818d08f071:v585");
 Thu, 13 Mar 2025 11:52:05 +0000
Received: from Lff9f9f7e1e16.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A674F86C-FC0E-43B8-99F4-B9646F4F9072.1; 
 Thu, 13 Mar 2025 11:51:53 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lff9f9f7e1e16.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 13 Mar 2025 11:51:53 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com (2603:10a6:803:4d::31)
 by DU0PR08MB8279.eurprd08.prod.outlook.com (2603:10a6:10:40d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 11:51:50 +0000
Received: from VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8]) by VI1PR08MB2989.eurprd08.prod.outlook.com
 ([fe80::a004:515d:5b93:9ec8%4]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025
 11:51: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: 991aa855-0001-11f0-9ab9-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=NpPTGAvwjMDaPZBGFm+RaIymSB9CuIILbirbHYV+M1+/ysdmBs8TAJmV94VnC8gYq2AVWdixJFBu4yVf6uonwAotbYwv1Pd+s9qOEASpMGsxFq5b9LEOkKgTJ5lAaniu0a8ELL28DQ2cLgKfAvhT0xHLaThKXGNAUXKBw8lFtOhA5pSqHwIhkr4PoioJz3QgCCu6JdplV4mIeBZFLmQiYnN1z9TW2v3p3lYi9KX+DLtkLnZQOazYzRUYGl/zrbgcLxeraz7K6vVS+9WOa1ctBLyKjNEo4b19Y/bRAb+SnzRrHVfyA9/mRf45DCktquxUL5KqA+OUF6S/Yk3WIq4FWQ==
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=6IbuvHDi3IEbxpb97HACbzLYj7M9FxHnZIeq0kBOD9o=;
 b=qw+Z86qQJ9L5doTQ4NTqkU5qCWRODo0CuzYj53ZSNJ+KRUlnaj9g8IYjN9MI9OVQ2JRcVaNVxAkKuU5tRTVAh7cNC8EBaSwCcxmyFGqOqmrfdigLE5KswX43vjIS3zcT2dtwLHg1Tpplrk4y3y4X1WfsXDuJYpvpJvhh3brDdt9xopFyNvjqHnxcuY/DdO2oBcJV9Qr66t3R470Nwp9FOlUoFS+OEG33ytXpTXO81HNGaPHSikXTuQ8ZAsPUzhnb7bmkChuqB58n2pbz9YG2/Iz+d+ae+PSE5FOBrvzHuch7DTD2Jh6ppWbem664gUeEuwD/C/ElLewgUVnkTkeEXA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=6IbuvHDi3IEbxpb97HACbzLYj7M9FxHnZIeq0kBOD9o=;
 b=hpqLS0WAeEA5wwdjdHu1jb35kHY0I1tA6tCbPfMPVF+NQBxXcam6wMiuk6LYBk/3ZTrzYilrgMayOgORrLWidXrc2t8JDhFkBTBSpYaS7W3+VFDAOpgjGMhxUOCu5SgQY2fdqPsKEXegr54F5TBD6LIEhH8o0go8zzxpX3Zwf6w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3cb57d533550b6c7
X-TessianGatewayMetadata: CqB/lGb0557cRMg72uWvKL+liCjXI7qo8CA0g1EZrkmFaaC2LQB9NO3dsznt/TOvjVweOIR/3aoOGw5xiynyqfU9/e8FaZCnHqt4pLEbgdayumB+pmdJVrHhhG7zPr1i5BeS1hwmpxKbfOqFG9Sdgu2Vfya23Ik3aOSJoqbp5IE=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A2tX2+qSjmS4HlTBxBGf9kvpRPAousH8D6tkMdm9Hc0HI1MyNRhN/+UcjJF2JlFInCMsGqWM83qEfyTfSMTFqWf6LzTDAwDMk25h+IdmopZUAqef0VCQoIqfckf/i+9xv4nrzJyFTaBYys/sEcBqZXgERme8piuDfK7J6Boc78RmnxDnQMv6Gfp2nuR2sH3Ud7cBDl6NgbXxXGVw+kHQzd/C+Rip0bMSjWCV+TemC/NdtBL2XhNqIhpswaZPMj5teV2KC2TZGoRLIgP1rVFahPYN4xpP3qzy14qHtKEn7n1sOp5vNsnOp3VLWdMlGYtPccY+8n98l90pkcBJMpMhHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6IbuvHDi3IEbxpb97HACbzLYj7M9FxHnZIeq0kBOD9o=;
 b=QGc7DOnyCv/uc2LmpezlSjCs+1XGOqydO//tcgOJwc6ecPEL3J+l0sTy5mAgnYwUaLtkXZGc4YFCEoTP0d02R08EavlDX5pdIjAprM6AhGhLkSW4U2l4sePjvyzIzztDacBVn5ZQ3gHuCQ+f5GXr5H4CD3t3zNZtqKbqxNZY+G8Iy8O2sUGbYVel4bM5R+r7Nsg/xtxXcHuQE2tKedY54yyAd8m9n7+4YgqJSTD8hQWJrIy1XSxJsWBrzaENLwejzOPzsjLW5J8aSq41Lv5JYNc4BwjcCh38BdzhUAnchDAScHGQJlVttdvBUsIw7O3rS+XSav03hXsLQeofxcol3A==
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=6IbuvHDi3IEbxpb97HACbzLYj7M9FxHnZIeq0kBOD9o=;
 b=hpqLS0WAeEA5wwdjdHu1jb35kHY0I1tA6tCbPfMPVF+NQBxXcam6wMiuk6LYBk/3ZTrzYilrgMayOgORrLWidXrc2t8JDhFkBTBSpYaS7W3+VFDAOpgjGMhxUOCu5SgQY2fdqPsKEXegr54F5TBD6LIEhH8o0go8zzxpX3Zwf6w=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 05/10] arm/mpu: Introduce frame_table, virt_to_page,
 maddr_to_virt
Thread-Topic: [PATCH 05/10] arm/mpu: Introduce frame_table, virt_to_page,
 maddr_to_virt
Thread-Index: AQHbk1YkGSTpa6yk5EqClFNNJd/JMbNwzCYAgAAppYA=
Date: Thu, 13 Mar 2025 11:51:50 +0000
Message-ID: <2294EEC2-A0AC-4FD9-864C-182801CDD734@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-6-luca.fancellu@arm.com>
 <df0ad31e-1842-41fa-9112-9e3892bfdf65@xen.org>
In-Reply-To: <df0ad31e-1842-41fa-9112-9e3892bfdf65@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	VI1PR08MB2989:EE_|DU0PR08MB8279:EE_|DU6PEPF0000B61D:EE_|AS8PR08MB9624:EE_
X-MS-Office365-Filtering-Correlation-Id: 70d22370-ace1-40a9-2626-08dd622579ec
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|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?bnhBaUg3ajEvNHJ5N3BXd3ZqaGVSa0FIcEJpdnIzSVNBT3pTRTlMV2JvQ2VK?=
 =?utf-8?B?ZGRqVmVaREFuQ050cllDNlNFbWRyYXJEenNtZmJ6K1l6bnlRcmdMUExnRVdp?=
 =?utf-8?B?eWJPU2dQUzAxZGEwQ1cwZ2xEcmZMa095VTJXeXgzcERYMHlQMFB0eHJSbnZy?=
 =?utf-8?B?eisvK0FBbTMwclNhaFhLUFVVMnZDMGxwLytQVkYveG1jRUVPaGxvR3h6WW9y?=
 =?utf-8?B?S0xHZHlQcW1BK1BZS2lUbE1lcDFSSE5PRVZqY28yNlk2VXZySFQxejgwNk9F?=
 =?utf-8?B?WlIzWisvRUdFSTVZOENaV09ISU5wNzUrUTM3NFF3aGc2NU5vd2xCSm9zSFZO?=
 =?utf-8?B?c0g2bkl0M2xlbTUwUVRmMW9wcmZxUWhsNHR1QlgvTW5tbGtKTkU2aEZvVVJP?=
 =?utf-8?B?ZGIwMWV5Um9HdHJqSlpYbmd1aXAvcVpPekVxamVpblZWem5OY1NRTXU1Q3px?=
 =?utf-8?B?M2tGNjZNQTM2VFlSRGt1TGJocWVOeGF1cmoxY3VqdDdGekVkL0pPd0IwcWdF?=
 =?utf-8?B?dGdEdXRsUi9HMXNCYmo0ZzZtRG03OVJpbHFHSHZlaXIrRmZUL1JhYWtkczRL?=
 =?utf-8?B?ejg2K3gzWWJrSHBXVHdiS015WUsyUFFxemttM3JvVkRHSFQvWlBkMXdUSUxm?=
 =?utf-8?B?OHFTZFhPWGhVdnVnZ2JOSS9DZ1RvNjVxbHJEc0Q0TG4rTE1VZTcrLy9iTWda?=
 =?utf-8?B?aUR1Si8zUFU0andxS1dHV040Y1R2SzM3Ull1eWtua2ZhRUJtM3VIMUR5ek9T?=
 =?utf-8?B?WGpCdmZFNGhTeTBqRmRRVC83ZVRQWXczR1Y5M1ZvaDZGMVhmcEk3OTFnakZO?=
 =?utf-8?B?WFRJWjZraFl0Uy9BM1MybDVCWTFuN3BiM2dISGIyOUVnajNvSU5IUnYyVFFE?=
 =?utf-8?B?emVaOGhBOS9pN1NRYSs5SjlJQkhSNkdtUnJHK3IzWXVIcDMxdjM5MHRlU0ow?=
 =?utf-8?B?K2t6Wjh4V2NFNHVUbG41dEwzYVlwSS8xZlNLclB5VnRYeFYrSGgvNGI4eWsy?=
 =?utf-8?B?Ly95UVo1U084UEF5SjV5cUpROXExTjRNUUZ5RWNqRE95NUZ5VG5pY1pxNDhj?=
 =?utf-8?B?YzNNelpUSXdLdE13Q2FrVmUvQVRTdlZ3OFJwbk44TVF1OGRwcGdDODRBTEQv?=
 =?utf-8?B?Z3kzLytWZHkzcEJQNmlDRVVFMncvWDZ5ZmI2cUlleWg0M2Z3TGk5enQxZk0y?=
 =?utf-8?B?WlRtbVJhZVg5SnJ2ZVlTa080WmR0UHlRczV2QXIvRTZ1S0VpenBRQWR6dXdz?=
 =?utf-8?B?SlZCeGtvdGV4MDRYTFd1MUxOeCsyczdXb1BvUlJPeDNwQ05KVEpSRmpETDhJ?=
 =?utf-8?B?V01DNHRaenZVbWdnZjEva2dLVU9sWTY0Q2ppN1kxdEY0dUxiQTZ4Z2F4RW1N?=
 =?utf-8?B?TlJ4bFNXamk1eDg3bDNhMDhLV3Rva2lQL0NSWlFwYVh4alU5ajBRaDNQUTFx?=
 =?utf-8?B?N2Q2Sm9ENzlmNlpoZEgvRVN2bjA3RGxEaDlkNjNsWDUydDZSZThjK2U3Y012?=
 =?utf-8?B?MnhKeHpxV0YyWkk5U3RiaDFYbmZWM3R0cDc2bXp5clBzSFFocHk2ckRQTlFz?=
 =?utf-8?B?ZmFjMG9QdU1ubTlaM1RmTlBFa2owVVNvajJFS2JHakUrVVpHVytMcDJjUHhz?=
 =?utf-8?B?a1IycmRtNjBjNUdQMHVmZ3ZEc0V0M0R6bUlXa0NwWEtzWW4yWGYwRUQ5NENZ?=
 =?utf-8?B?UCtWNEhwYXcvenNHd1kyTVhIbDdpZHBqVDZWU0N0ZloyZzF1U2RlTlROMjRJ?=
 =?utf-8?B?N2dFc2ZzdnJVeFg1T3UvenUrTzk1WDBEK1lTVkFpbXorZzFPaDhvZkJ3bEl4?=
 =?utf-8?B?ajNwZm5wSzBBQ3J6UzV1aTRvKzdQeW9hUFUwdnJuNk1IdXFhcWozRjR6aysy?=
 =?utf-8?B?OXBqMENUb3RQT1NoSGRJUFhwNkowaG13cmd2YlhJRWFjYjMvMXZOWmMxK1lZ?=
 =?utf-8?Q?mBV1+VorNtfII5ZbGcRL5bfCWGiClavq?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB2989.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <EBF36C24F93772499EC54C0CE875A4AC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8279
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:803:4d::31];domain=VI1PR08MB2989.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000B61D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	81206bf8-12d8-4b3e-2b1e-08dd622570ba
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|14060799003|82310400026|36860700013|1800799024|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UlJaZUZxd2dLTXNMNG1aTDhDZ1pGcVlDeWxqRXAvU2dJandRejlzeHdJVGlz?=
 =?utf-8?B?dzZlemhiN01OTzVNN25Kb2JiUzVRdnVIbkkxTXl2c3RTWU45cEg3eVNYNGk0?=
 =?utf-8?B?aE9ucWYxallnWko1eXNxZ3pLeFpVWjZJREVMeVZtSWdWeGg4THM0TURNellN?=
 =?utf-8?B?clNFY2NvLzRJeGlzdE95b09uZVNueDJWa2dYb0c0NnZiQXArem1LZEl3ZDZU?=
 =?utf-8?B?Wkk4OUFIeFNjTUxwMUY0VXRRL3ZnQ0FuZ2dDdFN5QitSN0djK2p3ZGFzdWFB?=
 =?utf-8?B?QzdoOFRjem9EbVZBeVJRRS9WaXpGRUMrcER3RVFTR3FjVDd5MVNxNTFsNlo3?=
 =?utf-8?B?K2xKOTB3S2FWTU5jQWRsd3dCMGM1TFRIOTl6ZHJ0RlFBNXo5NUdJVjVwWVhL?=
 =?utf-8?B?Q0xqaWZGVVVHRTBPWmtxcWdxQmlkY1NVMFo3NXlhZ2g2VVdlNW1NbHBIU2JK?=
 =?utf-8?B?SzZQcG9vUytOTGhaUUhvOXNhekJQcWhTVWtNU2lOb2syZDNkenJCdXVZOGZz?=
 =?utf-8?B?L0FBWVNtTVVWMHY5NUY1SUJCaWs2RkVrMS9oOG9YemNuVEkrK25DTW5nRzNQ?=
 =?utf-8?B?T0J3N29ZUDFCYlpMQ1N5Y2Z1WHQ0ME1nc0RhSDJva0pyKzdMQWt4S0FpZHJj?=
 =?utf-8?B?dENxWkQrWUxiaDVtUk5WQWJSaWIyK3ZEV2dMVXZjRjNOMFE5VXRUNEx5RGs3?=
 =?utf-8?B?dm5vOVlYbG03NVBFdjl2ODhrSGRpdFF3QlhhUHFGaCtYUmZJV0xLUmIxeUVo?=
 =?utf-8?B?VVZSbDM1VUw0MTNZT29kQnhFRS9td1Y4YVUrN1BnUEx6T0RDd2ZRcFJnRUNz?=
 =?utf-8?B?d0VSeEZUVmRNUzh5VWFyQzUwcUo4VmhQalZ6RWwzYktiZGozTDNxNUlCcmor?=
 =?utf-8?B?YVV6LzllTytUQVV3NmRHbmo0K05QSUpGZ0pyZWFNMUsxWjMzUGZIUXBwU1VR?=
 =?utf-8?B?MFdhM3d5em9Ya0d3dzRUVmlueTRNOGQ3ZzVtVzRYQ1Y3ZGVJYi84Z3VhcDB0?=
 =?utf-8?B?cmg3eFVyQzA3Ylo5RWpPeUdlZEJ1anI3Y1lrYW9zYTd1T0k0aFdBRC9HelRK?=
 =?utf-8?B?dlkrRy9ac3FRV0FHMjRzMnNWZHhEeVhTR3JZL3lrSGdvTkhPS2JnTTJZTkph?=
 =?utf-8?B?RmptUDFxN1M2ZVRkK0JFZE5aQmpPcU96eXVvbmZqdkp3bWFIbG5jeVl1SnFz?=
 =?utf-8?B?bmd3c3RQb3pHSkhsN2RYdC94aUZjOUlpVkRwdTB3NE9YVXp0NG9GcXpuaW4v?=
 =?utf-8?B?TVVDL082ZHhoc2MzbWVORU84UkY3Ky9SZ3pwblNVeE52K1VRbkptZ1FwUGpN?=
 =?utf-8?B?bk1CNzdzWWhPV2FyTUVrbkluclNsV0hERnA3bUZtVjYzanpUaDZRaWtnRW5i?=
 =?utf-8?B?Yy9udDYzbmd1T29xckdUSmc1emNuVHZEcnZURm9mU01WQ1QxOU9uYzVNN2dR?=
 =?utf-8?B?VHJGUldJQzcwSGRlaHluVUx5eE0vS2s4WVJ6VGxRTkZRRGM1UGZoVUVIVytS?=
 =?utf-8?B?eFJKSVcva1BKRlNRcDFVUzNyQnhtYVpvcHZuY3Bhc2tJQituZXVNTVg3c0tn?=
 =?utf-8?B?Q2htVGZPQk9NSFZ3REprZldrak8zd0VkT1cyWTZ5aE9RbDdvV3JYRnNEVzUw?=
 =?utf-8?B?M1Zsclh5Y2tSUzJZY1NDY3NSY0hCbk5wdmo5RVA4eDB0ejIzRCs2cy9zcXNC?=
 =?utf-8?B?OEVtY2ZtUkJxZ1U5NEkvM3NMNXYwTGRLSWdFMktpN3JPS2Z0cHN5RzFBZ3Ja?=
 =?utf-8?B?QkVKc2k2VGlnUnRaUm42MUIvY3EvWDExY1FHWFFmSHI1Ry8xWmRzOXJtaFlF?=
 =?utf-8?B?ei9TMXVOSnNpYTh1dVJQaE0vSWlEeDdHeUhlTjJaSjkzVXNQbThuRUlEK3Qv?=
 =?utf-8?B?akFzbXMxWFZsVWowQlpsQTAyK2tkVGNwODBzY1NCMllJdVhXUjdUSThFdldI?=
 =?utf-8?B?eEh6UHB5aS82dTFGSG03a3VwWFFSTzVqL00xRElMVFZSajhlcVpmY25kY2Rq?=
 =?utf-8?B?eWFQNTZxY3VnPT0=?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(376014)(14060799003)(82310400026)(36860700013)(1800799024)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 11:52:05.5153
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 70d22370-ace1-40a9-2626-08dd622579ec
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000B61D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9624

SGkgSnVsaWVuLA0KDQo+IE9uIDEzIE1hciAyMDI1LCBhdCAwOToyMiwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSwNCj4gDQo+IE9uIDEyLzAzLzIwMjUgMTM6
NTIsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+PiBJbnRyb2R1Y2UgdmFyaWFibGVzIGFuZCBmdW5j
dGlvbnMgdXNlZCBpbiB0aGUgY29tbW9uIEFybSBjb2RlIGJ5DQo+PiBNUFUgbWVtb3J5IG1hbmFn
ZW1lbnQgc3Vic3lzdGVtLCBwcm92aWRlIHN0cnVjdCBwYWdlX2luZm8gYW5kDQo+PiB0aGUgTVBV
IGltcGxlbWVudGF0aW9uIGZvciBoZWxwZXJzIGFuZCBtYWNyb3MgdXNlZCBpbiB0aGUgY29tbW9u
DQo+PiBhcm0gY29kZS4NCj4+IE1vdmluZyB2aXJ0X3RvX3BhZ2UgaGVscGVyIHRvIG1tdS9tcHUg
cGFydCBpcyBub3QgZWFzeSBhcyBpdCBuZWVkcw0KPj4gdmlzaWJpbGl0eSBvZiAnc3RydWN0IHBh
Z2VfaW5mbycsIHNvIHByb3RlY3QgaXQgd2l0aCBDT05GSUdfTU1VDQo+PiBhbmQgcHJvdmlkZSB0
aGUgTVBVIHZhcmlhbnQgaW4gdGhlICNlbHNlIGJyYW5jaC4NCj4gDQo+IEhhdmUgeW91IGNvbnNp
ZGVyZWQgaW5jbHVkaW5nICJhc20ve21tdSxtcHV9L21tLmgiICoqYWZ0ZXIqKiBzdHJ1Y3QgcGFn
ZV9pbmZvIGlzIGRlY2xhcmVkPw0KDQpJIGRpZG7igJl0IHRyaWVkIHRoYXQsIGJ1dCBpZiB3ZSBk
byB0aGF0IHdlIHNvbHZlIGFsbCB0aGUgaXNzdWVzIChJIGRvbuKAmXQgbGlrZSAjaW5jbHVkZXMg
aW4gdGhlIG1pZGRsZSBvZiBoZWFkZXJzLA0KYmVjYXVzZSBvZiB0aGF0IEkgZGlkbuKAmXQgdHJ5
KS4NCg0KVGhpcyBpcyB3aGF0IGl0IGxvb2tzIGxpa2U6DQoNCmRpZmYgLS1naXQgYS94ZW4vYXJj
aC9hcm0vaW5jbHVkZS9hc20vbW0uaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9tbS5oDQpp
bmRleCA5YmY1Yzg0NmM4NmMuLmI0OWVjOWMzZGQxYSAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL2Fy
bS9pbmNsdWRlL2FzbS9tbS5oDQorKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbW0uaA0K
QEAgLTE0LDE0ICsxNCw2IEBADQogIyBlcnJvciAidW5rbm93biBBUk0gdmFyaWFudCINCiAjZW5k
aWYNCiANCi0jaWYgZGVmaW5lZChDT05GSUdfTU1VKQ0KLSMgaW5jbHVkZSA8YXNtL21tdS9tbS5o
Pg0KLSNlbGlmIGRlZmluZWQoQ09ORklHX01QVSkNCi0jIGluY2x1ZGUgPGFzbS9tcHUvbW0uaD4N
Ci0jZWxzZQ0KLSNlcnJvciAiVW5rbm93biBtZW1vcnkgbWFuYWdlbWVudCBsYXlvdXQiDQotI2Vu
ZGlmDQotDQogLyogQWxpZ24gWGVuIHRvIGEgMiBNaUIgYm91bmRhcnkuICovDQogI2RlZmluZSBY
RU5fUEFERFJfQUxJR04gKDEgPDwgMjEpDQogDQpAQCAtMjY0LDUzICsyNTYsMTMgQEAgc3RhdGlj
IGlubGluZSB2b2lkIF9faW9tZW0gKmlvcmVtYXBfd2MocGFkZHJfdCBzdGFydCwgc2l6ZV90IGxl
bikNCiAjZGVmaW5lIHBhZGRyX3RvX3Bmbl9hbGlnbmVkKHBhZGRyKSAgICBwYWRkcl90b19wZm4o
UEFHRV9BTElHTihwYWRkcikpDQogDQogI2lmIGRlZmluZWQoQ09ORklHX01NVSkNCi0NCi0jaWZk
ZWYgQ09ORklHX0FSTV8zMg0KLS8qKg0KLSAqIEZpbmQgdGhlIHZpcnR1YWwgYWRkcmVzcyBjb3Jy
ZXNwb25kaW5nIHRvIGEgbWFjaGluZSBhZGRyZXNzDQotICoNCi0gKiBPbmx5IG1lbW9yeSBiYWNr
aW5nIHRoZSBYRU5IRUFQIGhhcyBhIGNvcnJlc3BvbmRpbmcgdmlydHVhbCBhZGRyZXNzIHRvDQot
ICogYmUgZm91bmQuIFRoaXMgaXMgc28gd2UgY2FuIHNhdmUgcHJlY2lvdXMgdmlydHVhbCBzcGFj
ZSwgYXMgaXQncyBpbg0KLSAqIHNob3J0IHN1cHBseSBvbiBhcm0zMi4gVGhpcyBtYXBwaW5nIGlz
IG5vdCBzdWJqZWN0IHRvIFBEWCBjb21wcmVzc2lvbg0KLSAqIGJlY2F1c2UgWEVOSEVBUCBpcyBr
bm93biB0byBiZSBwaHlzaWNhbGx5IGNvbnRpZ3VvdXMgYW5kIGNhbid0IGhlbmNlDQotICoganVt
cCBvdmVyIHRoZSBQRFggaG9sZS4gVGhpcyBtZWFucyB3ZSBjYW4gYXZvaWQgdGhlIHJvdW5kdHJp
cHMNCi0gKiBjb252ZXJ0aW5nIHRvL2Zyb20gcGR4Lg0KLSAqDQotICogQHBhcmFtIG1hIE1hY2hp
bmUgYWRkcmVzcw0KLSAqIEByZXR1cm4gVmlydHVhbCBhZGRyZXNzIG1hcHBlZCB0byBgbWFgDQot
ICovDQotc3RhdGljIGlubGluZSB2b2lkICptYWRkcl90b192aXJ0KHBhZGRyX3QgbWEpDQotew0K
LSAgICBBU1NFUlQoaXNfeGVuX2hlYXBfbWZuKG1hZGRyX3RvX21mbihtYSkpKTsNCi0gICAgbWEg
LT0gbWZuX3RvX21hZGRyKGRpcmVjdG1hcF9tZm5fc3RhcnQpOw0KLSAgICByZXR1cm4gKHZvaWQg
KikodW5zaWduZWQgbG9uZykgbWEgKyBYRU5IRUFQX1ZJUlRfU1RBUlQ7DQotfQ0KKyMgaW5jbHVk
ZSA8YXNtL21tdS9tbS5oPg0KKyNlbGlmIGRlZmluZWQoQ09ORklHX01QVSkNCisjIGluY2x1ZGUg
PGFzbS9tcHUvbW0uaD4NCiAjZWxzZQ0KLS8qKg0KLSAqIEZpbmQgdGhlIHZpcnR1YWwgYWRkcmVz
cyBjb3JyZXNwb25kaW5nIHRvIGEgbWFjaGluZSBhZGRyZXNzDQotICoNCi0gKiBUaGUgZGlyZWN0
bWFwIGNvdmVycyBhbGwgY29udmVudGlvbmFsIG1lbW9yeSBhY2Nlc2libGUgYnkgdGhlDQotICog
aHlwZXJ2aXNvci4gVGhpcyBtZWFucyBpdCdzIHN1YmplY3QgdG8gUERYIGNvbXByZXNzaW9uLg0K
LSAqDQotICogTm90ZSB0aGVyZSdzIGFuIGV4dHJhIG9mZnNldCBhcHBsaWVkIChkaXJlY3RtYXBf
YmFzZV9wZHgpIG9uIHRvcCBvZiB0aGUNCi0gKiByZWd1bGFyIFBEWCBjb21wcmVzc2lvbiBsb2dp
Yy4gSXRzIHB1cnBvc2UgaXMgdG8gc2tpcCBvdmVyIHRoZSBpbml0aWFsDQotICogcmFuZ2Ugb2Yg
bm9uLWV4aXN0aW5nIG1lbW9yeSwgc2hvdWxkIHRoZXJlIGJlIG9uZS4NCi0gKg0KLSAqIEBwYXJh
bSBtYSBNYWNoaW5lIGFkZHJlc3MNCi0gKiBAcmV0dXJuIFZpcnR1YWwgYWRkcmVzcyBtYXBwZWQg
dG8gYG1hYA0KLSAqLw0KLXN0YXRpYyBpbmxpbmUgdm9pZCAqbWFkZHJfdG9fdmlydChwYWRkcl90
IG1hKQ0KLXsNCi0gICAgQVNTRVJUKChtZm5fdG9fcGR4KG1hZGRyX3RvX21mbihtYSkpIC0gZGly
ZWN0bWFwX2Jhc2VfcGR4KSA8DQotICAgICAgICAgICAoRElSRUNUTUFQX1NJWkUgPj4gUEFHRV9T
SElGVCkpOw0KLSAgICByZXR1cm4gKHZvaWQgKikoWEVOSEVBUF9WSVJUX1NUQVJUIC0NCi0gICAg
ICAgICAgICAgICAgICAgIChkaXJlY3RtYXBfYmFzZV9wZHggPDwgUEFHRV9TSElGVCkgKw0KLSAg
ICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fZGlyZWN0bWFwb2ZmKG1hKSk7DQotfQ0KKyNlcnJv
ciAiVW5rbm93biBtZW1vcnkgbWFuYWdlbWVudCBsYXlvdXQiDQogI2VuZGlmDQogDQotI2VuZGlm
IC8qIENPTkZJR19NTVUgKi8NCi0NCiAvKg0KICAqIFRyYW5zbGF0ZSBhIGd1ZXN0IHZpcnR1YWwg
YWRkcmVzcyB0byBhIG1hY2hpbmUgYWRkcmVzcy4NCiAgKiBSZXR1cm4gdGhlIGZhdWx0IGluZm9y
bWF0aW9uIGlmIHRoZSB0cmFuc2xhdGlvbiBoYXMgZmFpbGVkIGVsc2UgMC4NCmRpZmYgLS1naXQg
YS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbW11L21tLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVk
ZS9hc20vbW11L21tLmgNCmluZGV4IDVmZjIwNzExMzNlZS4uOTU1N2Y2MzJkOGU2IDEwMDY0NA0K
LS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21tdS9tbS5oDQorKysgYi94ZW4vYXJjaC9h
cm0vaW5jbHVkZS9hc20vbW11L21tLmgNCkBAIC0yMSw2ICsyMSw1MCBAQCBleHRlcm4gdW5zaWdu
ZWQgbG9uZyBkaXJlY3RtYXBfYmFzZV9wZHg7DQogICAgIChwYWRkcl90KSgodmFfdG9fcGFyKHZh
XykgJiBQQUREUl9NQVNLICYgUEFHRV9NQVNLKSB8ICh2YV8gJiB+UEFHRV9NQVNLKSk7IFwNCiB9
KQ0KIA0KKyNpZmRlZiBDT05GSUdfQVJNXzMyDQorLyoqDQorICogRmluZCB0aGUgdmlydHVhbCBh
ZGRyZXNzIGNvcnJlc3BvbmRpbmcgdG8gYSBtYWNoaW5lIGFkZHJlc3MNCisgKg0KKyAqIE9ubHkg
bWVtb3J5IGJhY2tpbmcgdGhlIFhFTkhFQVAgaGFzIGEgY29ycmVzcG9uZGluZyB2aXJ0dWFsIGFk
ZHJlc3MgdG8NCisgKiBiZSBmb3VuZC4gVGhpcyBpcyBzbyB3ZSBjYW4gc2F2ZSBwcmVjaW91cyB2
aXJ0dWFsIHNwYWNlLCBhcyBpdCdzIGluDQorICogc2hvcnQgc3VwcGx5IG9uIGFybTMyLiBUaGlz
IG1hcHBpbmcgaXMgbm90IHN1YmplY3QgdG8gUERYIGNvbXByZXNzaW9uDQorICogYmVjYXVzZSBY
RU5IRUFQIGlzIGtub3duIHRvIGJlIHBoeXNpY2FsbHkgY29udGlndW91cyBhbmQgY2FuJ3QgaGVu
Y2UNCisgKiBqdW1wIG92ZXIgdGhlIFBEWCBob2xlLiBUaGlzIG1lYW5zIHdlIGNhbiBhdm9pZCB0
aGUgcm91bmR0cmlwcw0KKyAqIGNvbnZlcnRpbmcgdG8vZnJvbSBwZHguDQorICoNCisgKiBAcGFy
YW0gbWEgTWFjaGluZSBhZGRyZXNzDQorICogQHJldHVybiBWaXJ0dWFsIGFkZHJlc3MgbWFwcGVk
IHRvIGBtYWANCisgKi8NCitzdGF0aWMgaW5saW5lIHZvaWQgKm1hZGRyX3RvX3ZpcnQocGFkZHJf
dCBtYSkNCit7DQorICAgIEFTU0VSVChpc194ZW5faGVhcF9tZm4obWFkZHJfdG9fbWZuKG1hKSkp
Ow0KKyAgICBtYSAtPSBtZm5fdG9fbWFkZHIoZGlyZWN0bWFwX21mbl9zdGFydCk7DQorICAgIHJl
dHVybiAodm9pZCAqKSh1bnNpZ25lZCBsb25nKSBtYSArIFhFTkhFQVBfVklSVF9TVEFSVDsNCit9
DQorI2Vsc2UNCisvKioNCisgKiBGaW5kIHRoZSB2aXJ0dWFsIGFkZHJlc3MgY29ycmVzcG9uZGlu
ZyB0byBhIG1hY2hpbmUgYWRkcmVzcw0KKyAqDQorICogVGhlIGRpcmVjdG1hcCBjb3ZlcnMgYWxs
IGNvbnZlbnRpb25hbCBtZW1vcnkgYWNjZXNpYmxlIGJ5IHRoZQ0KKyAqIGh5cGVydmlzb3IuIFRo
aXMgbWVhbnMgaXQncyBzdWJqZWN0IHRvIFBEWCBjb21wcmVzc2lvbi4NCisgKg0KKyAqIE5vdGUg
dGhlcmUncyBhbiBleHRyYSBvZmZzZXQgYXBwbGllZCAoZGlyZWN0bWFwX2Jhc2VfcGR4KSBvbiB0
b3Agb2YgdGhlDQorICogcmVndWxhciBQRFggY29tcHJlc3Npb24gbG9naWMuIEl0cyBwdXJwb3Nl
IGlzIHRvIHNraXAgb3ZlciB0aGUgaW5pdGlhbA0KKyAqIHJhbmdlIG9mIG5vbi1leGlzdGluZyBt
ZW1vcnksIHNob3VsZCB0aGVyZSBiZSBvbmUuDQorICoNCisgKiBAcGFyYW0gbWEgTWFjaGluZSBh
ZGRyZXNzDQorICogQHJldHVybiBWaXJ0dWFsIGFkZHJlc3MgbWFwcGVkIHRvIGBtYWANCisgKi8N
CitzdGF0aWMgaW5saW5lIHZvaWQgKm1hZGRyX3RvX3ZpcnQocGFkZHJfdCBtYSkNCit7DQorICAg
IEFTU0VSVCgobWZuX3RvX3BkeChtYWRkcl90b19tZm4obWEpKSAtIGRpcmVjdG1hcF9iYXNlX3Bk
eCkgPA0KKyAgICAgICAgICAgKERJUkVDVE1BUF9TSVpFID4+IFBBR0VfU0hJRlQpKTsNCisgICAg
cmV0dXJuICh2b2lkICopKFhFTkhFQVBfVklSVF9TVEFSVCAtDQorICAgICAgICAgICAgICAgICAg
ICAoZGlyZWN0bWFwX2Jhc2VfcGR4IDw8IFBBR0VfU0hJRlQpICsNCisgICAgICAgICAgICAgICAg
ICAgIG1hZGRyX3RvX2RpcmVjdG1hcG9mZihtYSkpOw0KK30NCisjZW5kaWYNCisNCiAvKg0KICAq
IFByaW50IGEgd2FsayBvZiBhIHBhZ2UgdGFibGUgb3IgcDJtDQogICoNCg0KDQoNCj4+IEludHJv
ZHVjZSBGUkFNRVRBQkxFX05SIHRoYXQgaXMgcmVxdWlyZWQgZm9yICdwZHhfZ3JvdXBfdmFsaWQn
IGluDQo+PiBwZHguYy4NCj4gDQo+IA0KPiBNYXliZSBjbGFyaWZ5IGluIHRoZSBjb21taXQgbWVz
c2FnZSB0aGF0IHRoZSBmcmFtZXRhYmxlIHdpbGwgYmUgc2V0dXAgYXQgYSBsYXRlciBzdGFnZT8N
Cg0KU3VyZQ0KDQo+IA0KPj4gU2lnbmVkLW9mZi1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5j
ZWxsdUBhcm0uY29tPg0KPj4gLS0tDQo+PiAgeGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21tLmgg
ICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKw0KPj4gIHhlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9tcHUvbGF5b3V0LmggfCAgMyArKysNCj4+ICB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
bXB1L21tLmggICAgIHwgIDMgKysrDQo+PiAgeGVuL2FyY2gvYXJtL21wdS9tbS5jICAgICAgICAg
ICAgICAgICB8ICA0ICsrKysNCj4+ICA0IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKykN
Cj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbW0uaCBiL3hlbi9hcmNo
L2FybS9pbmNsdWRlL2FzbS9tbS5oDQo+PiBpbmRleCBlNzc2N2NkYWI0OTMuLmM5NmQzM2FjZWFm
MCAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9tbS5oDQo+PiArKysg
Yi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbW0uaA0KPj4gQEAgLTM0MSw2ICszNDEsOCBAQCBz
dGF0aWMgaW5saW5lIHVpbnQ2NF90IGd2aXJ0X3RvX21hZGRyKHZhZGRyX3QgdmEsIHBhZGRyX3Qg
KnBhLA0KPj4gICNkZWZpbmUgdmlydF90b19tZm4odmEpICAgICBfX3ZpcnRfdG9fbWZuKHZhKQ0K
Pj4gICNkZWZpbmUgbWZuX3RvX3ZpcnQobWZuKSAgICBfX21mbl90b192aXJ0KG1mbikNCj4+ICAr
I2lmZGVmIENPTkZJR19NTVUNCj4+ICsNCj4+ICAvKiBDb252ZXJ0IGJldHdlZW4gWGVuLWhlYXAg
dmlydHVhbCBhZGRyZXNzZXMgYW5kIHBhZ2UtaW5mbyBzdHJ1Y3R1cmVzLiAqLw0KPj4gIHN0YXRp
YyBpbmxpbmUgc3RydWN0IHBhZ2VfaW5mbyAqdmlydF90b19wYWdlKGNvbnN0IHZvaWQgKnYpDQo+
PiAgew0KPj4gQEAgLTM1NSw2ICszNTcsMjIgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFnZV9p
bmZvICp2aXJ0X3RvX3BhZ2UoY29uc3Qgdm9pZCAqdikNCj4+ICAgICAgcmV0dXJuIGZyYW1lX3Rh
YmxlICsgcGR4IC0gZnJhbWV0YWJsZV9iYXNlX3BkeDsNCj4+ICB9DQo+PiAgKyNlbHNlIC8qICFD
T05GSUdfTU1VICovDQo+PiArDQo+PiArLyogQ29udmVydCBiZXR3ZWVuIHZpcnR1YWwgYWRkcmVz
cyB0byBwYWdlLWluZm8gc3RydWN0dXJlLiAqLw0KPj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IHBh
Z2VfaW5mbyAqdmlydF90b19wYWdlKGNvbnN0IHZvaWQgKnYpDQo+PiArew0KPj4gKyAgICB1bnNp
Z25lZCBsb25nIHBkeDsNCj4+ICsNCj4+ICsgICAgcGR4ID0gcGFkZHJfdG9fcGR4KHZpcnRfdG9f
bWFkZHIodikpOw0KPj4gKyAgICBBU1NFUlQocGR4ID49IGZyYW1ldGFibGVfYmFzZV9wZHgpOw0K
Pj4gKyAgICBBU1NFUlQocGR4IDwgZnJhbWV0YWJsZV9wZHhfZW5kKTsNCj4+ICsNCj4+ICsgICAg
cmV0dXJuIGZyYW1lX3RhYmxlICsgcGR4IC0gZnJhbWV0YWJsZV9iYXNlX3BkeDsNCj4+ICt9DQo+
PiArDQo+PiArI2VuZGlmIC8qIENPTkZJR19NTVUgKi8NCj4+ICsNCj4+ICBzdGF0aWMgaW5saW5l
IHZvaWQgKnBhZ2VfdG9fdmlydChjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwZykNCj4+ICB7DQo+
PiAgICAgIHJldHVybiBtZm5fdG9fdmlydChtZm5feChwYWdlX3RvX21mbihwZykpKTsNCj4+IGRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbXB1L2xheW91dC5oIGIveGVuL2Fy
Y2gvYXJtL2luY2x1ZGUvYXNtL21wdS9sYXlvdXQuaA0KPj4gaW5kZXggMjQ4ZTU1Zjg4ODJkLi5j
NDZiNjM0YzljMTUgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbXB1
L2xheW91dC5oDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbXB1L2xheW91dC5o
DQo+PiBAQCAtMyw2ICszLDkgQEANCj4+ICAjaWZuZGVmIF9fQVJNX01QVV9MQVlPVVRfSF9fDQo+
PiAgI2RlZmluZSBfX0FSTV9NUFVfTEFZT1VUX0hfXw0KPj4gICsjZGVmaW5lIEZSQU1FVEFCTEVf
U0laRSAgIEdCKDMyKQ0KPiANCj4gSSBndWVzcyB5b3UgY29waWVkIHRoZSB2YWx1ZSBmb3IgdGhl
IE1NVSBjb2RlIGZvciBhcm02NC4gQnV0IGlzIHRoaXMgdmFsdWUgc3RpbGwgc2Vuc2libGUgZm9y
IE1QVT8gV2hhdCBhYm91dCBhcm0zMj8NCj4gDQo+IEluIGFueSBjYXNlLCBzb21lIGRvY3VtZW50
YXRpb24gd291bGQgYmUgdXNlZnVsLg0KDQpZZXMgSSB0b29rIHRoZSBvbmUgZnJvbSBhcm02NCwg
aGVyZSBJIHByb2JhYmx5IG5lZWQgc29tZSBoZWxwIGFzIHRoZXJlIGFyZSBub3QgdG9vIG1hbnkN
CmluZm9ybWF0aW9ucyBhYm91dCBob3cgdG8gc2l6ZSB0aGlzLg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:03:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:03:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.911990.1318353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tshH8-0002IH-5z; Thu, 13 Mar 2025 12:02:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 911990.1318353; Thu, 13 Mar 2025 12:02: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 1tshH8-0002IA-1T; Thu, 13 Mar 2025 12:02:58 +0000
Received: by outflank-mailman (input) for mailman id 911990;
 Thu, 13 Mar 2025 12:02: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=NEXk=WA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tshH6-0002I3-Pv
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:02:56 +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 191cbf44-0003-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 13:02:55 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so12182445e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 05:02:55 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a74d558sm51559765e9.15.2025.03.13.05.02.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 05:02: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: 191cbf44-0003-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741867375; x=1742472175; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YN/JkfFOrGNcRQigNiWgcYxWtxaIAr9r/It3ImjB+Uw=;
        b=DdXozzwNvL2+YHLIp62xnHIQor6GXgAAnzeC8BacDdJQRsVMqMuFGDLBVWSFrDW2/S
         SzAh2fku0Ee3lZYIGABqiVojWTjar56RMvMThVSUuuV3c6YTr1xBD4M9PFRODKhLSUx4
         PuB0ZOrpPD/RlQderO4oKUhKOy19FhkG64wCo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741867375; x=1742472175;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=YN/JkfFOrGNcRQigNiWgcYxWtxaIAr9r/It3ImjB+Uw=;
        b=qOLp4m22hqGlWrKZPtKDZVzBEfqTP/G3PmY1/Tvyfe3aMu2r3T46xsbXXl+ysuCmyT
         JJIJv5r3AeR1r4gTH9MBiBvmEhAmRTIXD2QTHikXzFuX3stM0QzqtHnM77QLwYUhW5rr
         xBCwmQx6UQjwCxTLjPmqb4iKqqH2KBtWRVbKBlvIIgAfjZQ51Z6ejdotvvXqEHIpABH1
         Iy/4UhDB3kDXtCcuG9EubikuobpYVXEc3JGDTWsk8DJxdsD9iLlcI/OV7MHxmhqQcZ7h
         PMRcN21d/XtkcXM+K48bKIuyLuUtRQWOGt04IxvHDA18pfhw5zyhRXHf5LSw8n9L7wGA
         nRiw==
X-Forwarded-Encrypted: i=1; AJvYcCVu4vc5Tw78nEYOQmGeN9/a5baPcO5hGC/gH/ODwRpQ2aFVM95Q2/4vjk/rr3Tm9ld9/pIKT+sxWbc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyobjO+t+h8IteCtCC/I4I85wcQ3vvANjO0edY4mbWPsAuYYMOg
	d0sYrzFyT1VHiN95cqsN+HIVCdj33vDDs6E9gbLtxoBZwnU5TmaeU5v5j9evqDs=
X-Gm-Gg: ASbGncs6YemB1xzWZAAxvDhgIuDUv7gMKEyRvX4GmQMlP0qMtSHwiI7XmwGzzr0p8o2
	cSMp5PMKP+eHSJq9RRxqQPGud5a5VbXACMCE1ow2WHSia2YdHDVSyDWEl+f8wbW71XuQs9cDiXu
	jrJXxBGfiA/zecn9gtqqzu/vodOnECCsiPxYSRh/RSqVpk7o6Bd+DxrGt9voeDiTvZbXZiFypqP
	TDlx4IQAy5iD8bQg0Ycw0MXAtYsGVqQTKdq1Bp9Ceeew65RbmfLMtHl/K9rWYudLfYw5A8ZE1sF
	3e0io1/9FzP9NkQAZnnDcnOCKQlg4FfUc/8VM0kjXXUPi9xo9Q4=
X-Google-Smtp-Source: AGHT+IGWPUBXy9ksslRKcbtuA0IxyvyHZChrQLrq6FtP0a6lTz0bscZbrD4bQ7qm5q9BAbyRKBOi7g==
X-Received: by 2002:a05:6000:18a2:b0:391:9b2:f496 with SMTP id ffacd0b85a97d-395b7c44cbcmr1620503f8f.16.1741867374837;
        Thu, 13 Mar 2025 05:02:54 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 13 Mar 2025 12:02:52 +0000
Message-Id: <D8F4G80E0LHU.5GHN1ZVVNHYB@cloud.com>
Cc: <ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Stefano Stabellini" <sstabellini@kernel.org>, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 03/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Penny Zheng" <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-4-Penny.Zheng@amd.com>
In-Reply-To: <20250312040632.2853485-4-Penny.Zheng@amd.com>

Hi,

Ok, so readconsole is done here. I see how if you're also removing the cons=
ole
handler for the sysctl that's a bit unwiledly to do in one go.

I think my earlier remarks still hold in terms of removal of else branches =
of
ifdefs.

On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
> The following functions is to deal with XEN_SYSCTL_readconsole sub-op, an=
d
> shall be wrapped:
> - xsm_readconsole
> - read_console_ring
>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/drivers/char/console.c |  2 ++
>  xen/include/xen/console.h  |  8 ++++++++
>  xen/include/xsm/dummy.h    | 11 ++++++++---
>  xen/include/xsm/xsm.h      | 11 ++++++++---
>  xen/xsm/dummy.c            |  2 +-
>  xen/xsm/flask/hooks.c      |  4 ++--
>  6 files changed, 29 insertions(+), 9 deletions(-)
>
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index 2f028c5d44..6e4f3c4659 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -336,6 +336,7 @@ static void conring_puts(const char *str, size_t len)
>          conringc =3D conringp - conring_size;
>  }
> =20
> +#ifdef CONFIG_SYSCTL
>  long read_console_ring(struct xen_sysctl_readconsole *op)
>  {
>      XEN_GUEST_HANDLE_PARAM(char) str;
> @@ -378,6 +379,7 @@ long read_console_ring(struct xen_sysctl_readconsole =
*op)
> =20
>      return 0;
>  }
> +#endif /* CONFIG_SYSCTL */
> =20
> =20
>  /*
> diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
> index 83cbc9fbda..e7d5063d82 100644
> --- a/xen/include/xen/console.h
> +++ b/xen/include/xen/console.h
> @@ -7,12 +7,20 @@
>  #ifndef __CONSOLE_H__
>  #define __CONSOLE_H__
> =20
> +#include <xen/errno.h>
>  #include <xen/inttypes.h>
>  #include <xen/ctype.h>
>  #include <public/xen.h>
> =20
>  struct xen_sysctl_readconsole;

That forward declaration should probably be inside the ifdef

> +#ifdef CONFIG_SYSCTL
>  long read_console_ring(struct xen_sysctl_readconsole *op);
> +#else
> +static inline long read_console_ring(struct xen_sysctl_readconsole *op)
> +{
> +    return -EOPNOTSUPP;
> +}
> +#endif

This is only called from sysctl.c, which will be compiled out. Why is the e=
lse
needed?

> =20
>  void console_init_preirq(void);
>  void console_init_ring(void);
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index afc54a0b2f..35d084aca7 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -186,18 +186,23 @@ static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAU=
LT_ARG int cmd)
>      XSM_ASSERT_ACTION(XSM_PRIV);
>      return xsm_default_action(action, current->domain, NULL);
>  }
> +
> +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);
> +}
>  #else
>  static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
>  {
>      return -EOPNOTSUPP;
>  }
> -#endif
> =20
>  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);
> +    return -EOPNOTSUPP;
>  }
> +#endif /* CONFIG_SYSCTL */
> =20
>  static XSM_INLINE int cf_check xsm_alloc_security_domain(struct domain *=
d)
>  {
> diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
> index 276507b515..d322740de1 100644
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -62,8 +62,8 @@ struct xsm_ops {
>      int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref);
>  #ifdef CONFIG_SYSCTL
>      int (*sysctl)(int cmd);
> -#endif
>      int (*readconsole)(uint32_t clear);
> +#endif
> =20
>      int (*evtchn_unbound)(struct domain *d, struct evtchn *chn, domid_t =
id2);
>      int (*evtchn_interdomain)(struct domain *d1, struct evtchn *chn1,
> @@ -266,17 +266,22 @@ static inline int xsm_sysctl(xsm_default_t def, int=
 cmd)
>  {
>      return alternative_call(xsm_ops.sysctl, cmd);
>  }
> +
> +static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
> +{
> +    return alternative_call(xsm_ops.readconsole, clear);
> +}
>  #else
>  static inline int xsm_sysctl(xsm_default_t def, int cmd)
>  {
>      return -EOPNOTSUPP;
>  }
> -#endif
> =20
>  static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
>  {
> -    return alternative_call(xsm_ops.readconsole, clear);
> +    return -EOPNOTSUPP;
>  }
> +#endif
> =20
>  static inline int xsm_evtchn_unbound(
>      xsm_default_t def, struct domain *d1, struct evtchn *chn, domid_t id=
2)
> diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
> index 0a5fc06bbf..4c97db0c48 100644
> --- a/xen/xsm/dummy.c
> +++ b/xen/xsm/dummy.c
> @@ -24,8 +24,8 @@ static const struct xsm_ops __initconst_cf_clobber dumm=
y_ops =3D {
>      .domctl                        =3D xsm_domctl,
>  #ifdef CONFIG_SYSCTL
>      .sysctl                        =3D xsm_sysctl,
> -#endif
>      .readconsole                   =3D xsm_readconsole,
> +#endif
> =20
>      .evtchn_unbound                =3D xsm_evtchn_unbound,
>      .evtchn_interdomain            =3D xsm_evtchn_interdomain,
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 7c5e7f5879..7c46657d97 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -934,7 +934,6 @@ static int cf_check flask_sysctl(int cmd)
>          return avc_unknown_permission("sysctl", cmd);
>      }
>  }
> -#endif
> =20
>  static int cf_check flask_readconsole(uint32_t clear)
>  {
> @@ -945,6 +944,7 @@ static int cf_check flask_readconsole(uint32_t clear)
> =20
>      return domain_has_xen(current->domain, perms);
>  }
> +#endif /* CONFIG_SYSCTL */
> =20
>  static inline uint32_t resource_to_perm(uint8_t access)
>  {
> @@ -1888,8 +1888,8 @@ static const struct xsm_ops __initconst_cf_clobber =
flask_ops =3D {
>      .domctl =3D flask_domctl,
>  #ifdef CONFIG_SYSCTL
>      .sysctl =3D flask_sysctl,
> -#endif
>      .readconsole =3D flask_readconsole,
> +#endif
> =20
>      .evtchn_unbound =3D flask_evtchn_unbound,
>      .evtchn_interdomain =3D flask_evtchn_interdomain,

Otherwise, same remarks as in the sysctl hooks for xsm.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:04:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:04:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912000.1318363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tshIh-0003AL-Ea; Thu, 13 Mar 2025 12:04:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912000.1318363; Thu, 13 Mar 2025 12:04: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 1tshIh-0003AE-BL; Thu, 13 Mar 2025 12:04:35 +0000
Received: by outflank-mailman (input) for mailman id 912000;
 Thu, 13 Mar 2025 12:04: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=NEXk=WA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tshIf-0003A6-Mi
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:04:33 +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 530bf270-0003-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 13:04:32 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0a5cfd7dso5448395e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 05:04:32 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d188b74b0sm18221265e9.15.2025.03.13.05.04.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 05: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: 530bf270-0003-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741867472; x=1742472272; darn=lists.xenproject.org;
        h=in-reply-to:references:subject:cc:to:from:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D2tZOlM7k2gq1swzyi43UR1lAocCDXQgjJRYeYxhBXE=;
        b=NConlRURd3ZrNrYpjdbEo3AvRkDC1xx50LsS34Pzgw8WbV/aWc+P1Js29aAfoS5xou
         uEq3nCsJyj5sZ3SBH9xXHN5J6PWKRI8uXIFCS56pKCyP6h02assmV5/40+eIBeMGxq9N
         pubq669SFSxFVRseD5VrTRTrW3pGMXx1IY10E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741867472; x=1742472272;
        h=in-reply-to:references:subject:cc:to:from:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=D2tZOlM7k2gq1swzyi43UR1lAocCDXQgjJRYeYxhBXE=;
        b=Pyy7bMDe2Q8Dnmmq8iQ6+0a6CPCot4OV+6QyRhV2/MLooUJTgMsqqWdbzloDDk0W/K
         DizzYJX4RcHMowGN6FiPxXaXKlRjeQ49czIVnEJBOwrptDaeCpXmwNoAPknpUqPI68Ye
         WpiaNAnrtwZQ/9VnFyk0Ae5SPVdfE60usgP099xXnrGyz7HWv2VV6IKNccjRS/YwpP7O
         +B5/qjt/hoTVrO5nFfz2UiMHI12sCtV6EX/RZXoWLlgqVFyERc6yMPOQjAvci3Da/RO0
         mbY3XunsptV8PX/JKa9yi3FGxDHN5kyx1SwFsWIkdG9ZYNe6I7hmVNhcfPsLYnPtmDb/
         lUyA==
X-Forwarded-Encrypted: i=1; AJvYcCVnc8HoLf0U0bzQR/gak99cVPUgrU2Ej5rxkk1ZKVAmO1BiBxO1hgmfLH5d5JyQhS4i59CfoIFOREI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzopRifgHg2HIy8btpO29okff+ztlrIymJncJbFWX3j0IK99njw
	qw81/fxUyZ8cVBSWWX4o2iN8AkI/rgoHhIMhW4hVLa2cmxYv36HVFgox+B+4DOY=
X-Gm-Gg: ASbGncvcMHTAw7ukimvWWUxG4xP6P9daYKYFe00dFl0FecK6kZ8E/7sUqHlBiVa/vCZ
	2TYv0kX9KlqbyhGSIilvboMZp7r4dgV7Sf3X2Kdn7ORPmwDcSWy3GsmGvGYsmMYLpy21IKMzHvQ
	Ll5ViICHuikBqZbmmkXMo6yG33oMyyy/ljhFNFIZrdiK5c7tNNRKYtAQ+6WpCGqenK1+c2YguuW
	XmqHhxdg9NNbD5QRDw8sw6Z0OjBgtr9UCEVx6aZ6VFb/zwRXQS7P8kkKR8WDD85Wb3jupvl5bm5
	vL1YBzaKEugwDQf0BKHjHaCYCyu4UQBJiAJYrgSkT2GJaiXWkio=
X-Google-Smtp-Source: AGHT+IGKAxH44nv//3jnZUxxFxAWmkENI+PQT7HH4RA+rPv7ii8IDfHniSV20xxePffPIy6PsJcPjg==
X-Received: by 2002:a05:600c:1ca6:b0:43d:24d:bbe2 with SMTP id 5b1f17b1804b1-43d024ddd61mr91369435e9.28.1741867472153;
        Thu, 13 Mar 2025 05:04:32 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 13 Mar 2025 12:04:26 +0000
Message-Id: <D8F4HFBN0ROG.3RRD7E97NYUHD@cloud.com>
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Penny Zheng" <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>
Cc: <ray.huang@amd.com>, "Dario Faggioli" <dfaggioli@suse.com>, "Juergen
 Gross" <jgross@suse.com>, "George Dunlap" <gwd@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>,
 =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: Re: [PATCH v1 05/19] xen/sysctl: wrap around XEN_SYSCTL_sched_id
X-Mailer: aerc 0.18.2
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-6-Penny.Zheng@amd.com>
In-Reply-To: <20250312040632.2853485-6-Penny.Zheng@amd.com>

On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
> The following function shall be wrapped:
> - scheduler_id
>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/common/sched/core.c | 2 ++
>  xen/include/xen/sched.h | 7 +++++++
>  2 files changed, 9 insertions(+)
>
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index d6296d99fd..ea452d8b3e 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -2052,11 +2052,13 @@ long do_set_timer_op(s_time_t timeout)
>      return 0;
>  }
> =20
> +#ifdef CONFIG_SYSCTL
>  /* scheduler_id - fetch ID of current scheduler */
>  int scheduler_id(void)
>  {
>      return operations.sched_id;
>  }
> +#endif
> =20
>  /* Adjust scheduling parameter for a given domain. */
>  long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 559d201e0c..9bdeb85aa4 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -849,7 +849,14 @@ int  sched_init_domain(struct domain *d, unsigned in=
t poolid);
>  void sched_destroy_domain(struct domain *d);
>  long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op);
>  long sched_adjust_global(struct xen_sysctl_scheduler_op *op);
> +#ifdef CONFIG_SYSCTL
>  int  scheduler_id(void);
> +#else
> +static inline int scheduler_id(void)
> +{
> +    return -EOPNOTSUPP;
> +}

Is this ever used when sysctl.c is compiled out?

> +#endif
> =20
>  /*
>   * sched_get_id_by_name - retrieves a scheduler id given a scheduler nam=
e

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:05:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:05:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912011.1318373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tshJz-0003hE-OP; Thu, 13 Mar 2025 12:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912011.1318373; Thu, 13 Mar 2025 12:05: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 1tshJz-0003h7-KN; Thu, 13 Mar 2025 12:05:55 +0000
Received: by outflank-mailman (input) for mailman id 912011;
 Thu, 13 Mar 2025 12:05: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tshJx-0003gx-ND
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:05:53 +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 821388c3-0003-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 13:05:51 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so5568575e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 05:05: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-395c83b6a10sm1933020f8f.36.2025.03.13.05.05.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 05:05: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: 821388c3-0003-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741867551; x=1742472351; 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=8Y/31HET881V19g1UiFX5jqvuUJoPCjT0+Q8wGO+mfo=;
        b=Rg+lw19kp54miPt/b7UhMJXOGBfrrV+bS1PqLWgbp+pvY/3WPoktRFawu8O/I1rDjR
         Z6kWqp67sSCcw8sQQS2xmBqtBAh0M/Aam3g4rr6igywHhE2MhVHyHEPYyScivx+OXKzg
         mbOK9ZF4nLsxMR89bCfxhYmVS9ncj+l5I4UHhubEDPuyPGOHPD2WDhZwXFVROz0gqBYl
         XbTtjcYfdnuLWJCAdjoCbTwXjC9OHoCM917WD1n+pvY6bzrNKOg9TtK4XEIoUWS6bD7O
         YL3arPR76WzxDdBnfiI1AsioGj8xhEV0r6DU5+7COBJt2ygW429d0HRcxcKeeldV1Iu8
         avWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741867551; x=1742472351;
        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=8Y/31HET881V19g1UiFX5jqvuUJoPCjT0+Q8wGO+mfo=;
        b=fPZRVgsTsT9t3V5MRcliiEbKOiXchkWTdQ3cmpu2IYE/HBRSBTwd49SBG4gdITj0Ck
         NhcLnxpoIeSQK91DdD6iCKCd6/DgW/n8ck9reizzAxLjtEQIQP2mv27wlnGnf9WVv4pj
         1fUBMtePT0euZM4PjcsAgJioyVDfIF54jU/FKeFAbNUo8xtDxJ7TvYp5hlDHcgM8tzaL
         3n3YYPuXofYSnK747WEjWQi498PHnqDLQisl2T2NEOJkYixIvH9TAJ12oZnM8ycgokzt
         Q7gdTtkKjKUbffD+3BAtV82V4tBHUflO8UoUT2sEZxdWaCEZfNTMmFKI5m5F7IL14SsT
         T+8A==
X-Forwarded-Encrypted: i=1; AJvYcCWua+sfnrXydjry9pEr/lSWEsjhHZeLP4ui4gXYCI3q7eMoJvmfQ+Gway4IoPn75foG9al070gVcl8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx9GlGiTATrN17IaNoLqFSLreRdxTYZmyEtgaFHAePbREqpFKK0
	UYYHccsXFlL+YWPOBUaHj7fhCaqxCq20XI9Ty1yyxjIcWJyiI6hEddU1tkBWpg==
X-Gm-Gg: ASbGnctYG8CsYTo6enTxE61MaiFaxZYnUHOjqLoAtxy9MjVobulrYqzBXltHVTUPjvn
	z6NM0REjxQh9Avn657hh+pDGRv+QGKfoITj2cUb56mr4j7KqQlSijeNkHEexFv14u+IRhjFsr8x
	su0DadteWuiwhCqeN22RvUJGYqNJxo7ebiNefTiSFnRHBo6auV56qZMrg6LEQTwV0XDlni5bPSS
	82qJpsyRp4qFpzR8Lr+BTeGvgUlYGBh/VjzzSw6yVnsnAoDDbCINmJDLHsSNvk4bU3ZbK+vSd2W
	NLWYTYnAvkDUjEnnw6Ocl+envOYUvywN8/CPs7hLc3gxoC0hTKZyXJRF71XUfjYzkuiw7do9W8M
	vqWRk7UVu5J5o1EFUNBukRLwjxrxrbg==
X-Google-Smtp-Source: AGHT+IEKmatLl2d/0MncsGz6JKicHW7jmB68Q0EgthDyfNtEPcle+mKx91pWNYTzr3/pA3uypbYVCA==
X-Received: by 2002:a05:6000:1a8e:b0:390:eacd:7009 with SMTP id ffacd0b85a97d-39132da110fmr18732483f8f.42.1741867551146;
        Thu, 13 Mar 2025 05:05:51 -0700 (PDT)
Message-ID: <34a1119f-62d4-4b73-b1e3-c8e945352829@suse.com>
Date: Thu, 13 Mar 2025 13:05:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 02/19] xen/xsm: wrap around xsm_sysctl with
 CONFIG_SYSCTL
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: ray.huang@amd.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-3-Penny.Zheng@amd.com>
 <D8F41PA5JHTU.ABSSG427OH5@cloud.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: <D8F41PA5JHTU.ABSSG427OH5@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 12:43, Alejandro Vallejo wrote:
> On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -180,11 +180,18 @@ static XSM_INLINE int cf_check xsm_domctl(
>>      }
>>  }
>>  
>> +#ifdef CONFIG_SYSCTL
>>  static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
>>  {
>>      XSM_ASSERT_ACTION(XSM_PRIV);
>>      return xsm_default_action(action, current->domain, NULL);
>>  }
>> +#else
>> +static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
>> +{
>> +    return -EOPNOTSUPP;
>> +}
>> +#endif
> 
> Doesn't this need to be -ENOSYS instead?

There shouldn't be any ENOSYS outside of the top-level hypercall handlers.
Granted we have many violations thereof, some of them not very reasonable
to fix (for guests looking for the specific but wrong error code).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:15:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912023.1318383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tshTf-0006aX-Jw; Thu, 13 Mar 2025 12:15:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912023.1318383; Thu, 13 Mar 2025 12:15: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 1tshTf-0006aQ-Gz; Thu, 13 Mar 2025 12:15:55 +0000
Received: by outflank-mailman (input) for mailman id 912023;
 Thu, 13 Mar 2025 12:15: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=/t9B=WA=linaro.org=ulf.hansson@srs-se1.protection.inumbo.net>)
 id 1tshTe-0006aK-5n
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:15:54 +0000
Received: from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com
 [2607:f8b0:4864:20::1129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7e95ad7-0004-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 13:15:52 +0100 (CET)
Received: by mail-yw1-x1129.google.com with SMTP id
 00721157ae682-6fee63b9139so8249737b3.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 05:15: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: e7e95ad7-0004-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741868151; x=1742472951; 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=Oxo4nRaNKlTff6Ix3Ee9t1VjmVf7/i10eQiNoUZabVo=;
        b=TT0K2T3+H45tmc4ikc4qb2kAd9FVmAE45JbbOQyTz5bwn3m02dMtVPIxoOK/zJIBU0
         AZJfw24HOJiiDzzd5DydGPd3p6Q8DK5cU7OSl8w/yOIRa+B7FG10eSO57P/ZET/ETqVO
         dYbtlA/gS7IvIFuArGoUHsKZX2KLqlu+aTXfACtfysbvYoNfyN+jvs1n9/B5Ba1Ddl6g
         pbkuo7l3QC9ESHLy15DlLPyYQHeYrJrdVjBoBTP/hxFFPoyOFlBYo27VBMTQ8TrTwwTU
         cMJmeYGKwh5im1uY+I5bsjDG1bIdQThr71PvGJzaJOdMOz9wJ3BgBVmw/g+jD0llYbhG
         mndA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741868151; x=1742472951;
        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=Oxo4nRaNKlTff6Ix3Ee9t1VjmVf7/i10eQiNoUZabVo=;
        b=uHRkF50Jz7KDTo5QLN+EtwcMRfkZa8WgrG4NLcvO9Klj3Bm0xNMxaPnbJpgsGuiLWG
         8OuEQaAJs5US7emgwwFXBj2d8E0RI3HEwSmKWZ3GIZ/6fuWXWxqdpuVi+IZN+PM1wUXe
         d7ezvqRC/v3xfW8KcKdz7zTLoyMBIV+Q9aEtYZGWU5c+kfSW8HUohQEnlryNayT/Vhkz
         MTLWskG/nODBppuNTvT7Jogg2rUMXeLbmJwuH/y/8uKKyL08cMfig2cnnPVTjnW3Kt1/
         rtbYXmXRnAf49oWhThw5L6F52vTV1gBblQf5WbeFg6vrtjMhXseOiS9sjYe7vxkgYrbD
         hH3A==
X-Forwarded-Encrypted: i=1; AJvYcCXjZ644tJGzqA8KFniT4Ep6/l9bRzyjYhmIsrJ/Pqf/dXqwPH8aB8OeRHXCu1TkkfsX5H+xVdJrmW8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDH3tBa6Rq0iVM5WKQxTxYfJFdqgyuEB7hoFgfFKy16A3azl1y
	BuoGQZY2djUpGY2w7vGO2a/wEkGfpbzRl51yuoJOAelqesy9ftVMS95t7Zc06uXTizrAvW0DZbX
	/q6r7I1xeuzSaddYu3tD775/wc1RDykCUSD2lWQ==
X-Gm-Gg: ASbGncta4Qk3taGR6LlES7Re9S/uxRQcBglB3HmM9gu9FvVCy6KWuWO8Qp6VXX+5hKk
	ucvByRP7EplmI5qL07s9ee6KQj/nCHK1Umy3gAkHwNdw41GD39muNPITvoUkntElPtLbEZPKvy/
	0sUUyx+jb5rO5OVLMKEKPV4fcirQY=
X-Google-Smtp-Source: AGHT+IH+g4YhUvJzDDM8IF19825mFy84oTJJNtvmLZ+edTkcRlAfOhjQ33xlQord/MYk0nTfcCGUgTiOxucg/kuf8R8=
X-Received: by 2002:a05:690c:6389:b0:6fe:c4bd:e2ca with SMTP id
 00721157ae682-6ff2f80f6f8mr30294897b3.14.1741868151300; Thu, 13 Mar 2025
 05:15:51 -0700 (PDT)
MIME-Version: 1.0
References: <CGME20250313040150epcas5p347f94dac34fd2946dea51049559ee1de@epcas5p3.samsung.com>
 <20250313035322.243239-1-anuj20.g@samsung.com>
In-Reply-To: <20250313035322.243239-1-anuj20.g@samsung.com>
From: Ulf Hansson <ulf.hansson@linaro.org>
Date: Thu, 13 Mar 2025 13:15:15 +0100
X-Gm-Features: AQ5f1JqMiJUg0zYIlcoPjPPIUUYi7aY9XoeZibdDJNGexKsNoy8AEu5lVvN-wm8
Message-ID: <CAPDyKFqdK0OPKkTK5C5b1_9kXNSkXJKBvBSa80eXj+GpNfEKBg@mail.gmail.com>
Subject: Re: [PATCH] block: remove unused parameter
To: Anuj Gupta <anuj20.g@samsung.com>
Cc: Jens Axboe <axboe@kernel.dk>, "Md. Haris Iqbal" <haris.iqbal@ionos.com>, 
	Jack Wang <jinpu.wang@ionos.com>, "Michael S. Tsirkin" <mst@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>, =?UTF-8?Q?Eugenio_P=C3=A9rez?= <eperezma@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Maxim Levitsky <maximlevitsky@gmail.com>, 
	Alex Dubov <oakad@yahoo.com>, Richard Weinberger <richard@nod.at>, Zhihao Cheng <chengzhihao1@huawei.com>, 
	Miquel Raynal <miquel.raynal@bootlin.com>, Vignesh Raghavendra <vigneshr@ti.com>, 
	Sven Peter <sven@svenpeter.dev>, Janne Grunau <j@jannau.net>, 
	Alyssa Rosenzweig <alyssa@rosenzweig.io>, Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>, 
	Sagi Grimberg <sagi@grimberg.me>, James Smart <james.smart@broadcom.com>, 
	Chaitanya Kulkarni <kch@nvidia.com>, 
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>, 
	"Martin K. Petersen" <martin.petersen@oracle.com>, linux-block@vger.kernel.org, 
	linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, 
	xen-devel@lists.xenproject.org, linux-mmc@vger.kernel.org, 
	linux-mtd@lists.infradead.org, asahi@lists.linux.dev, 
	linux-arm-kernel@lists.infradead.org, linux-nvme@lists.infradead.org, 
	linux-scsi@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

On Thu, 13 Mar 2025 at 06:13, Anuj Gupta <anuj20.g@samsung.com> wrote:
>
> request_queue param is not used by blk_rq_map_sg and __blk_rq_map_sg.
> remove it.
>
> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC/MEMSTICK

> ---
>  block/blk-merge.c                   | 4 ++--
>  block/bsg-lib.c                     | 2 +-
>  drivers/block/mtip32xx/mtip32xx.c   | 2 +-
>  drivers/block/rnbd/rnbd-clt.c       | 2 +-
>  drivers/block/sunvdc.c              | 2 +-
>  drivers/block/virtio_blk.c          | 2 +-
>  drivers/block/xen-blkfront.c        | 2 +-
>  drivers/memstick/core/ms_block.c    | 2 +-
>  drivers/memstick/core/mspro_block.c | 4 +---
>  drivers/mmc/core/queue.c            | 2 +-
>  drivers/mtd/ubi/block.c             | 2 +-
>  drivers/nvme/host/apple.c           | 2 +-
>  drivers/nvme/host/fc.c              | 2 +-
>  drivers/nvme/host/pci.c             | 2 +-
>  drivers/nvme/host/rdma.c            | 3 +--
>  drivers/nvme/target/loop.c          | 2 +-
>  drivers/scsi/scsi_lib.c             | 2 +-
>  include/linux/blk-mq.h              | 9 ++++-----
>  18 files changed, 22 insertions(+), 26 deletions(-)
>
> diff --git a/block/blk-merge.c b/block/blk-merge.c
> index 1d1589c35297..fdd4efb54c6c 100644
> --- a/block/blk-merge.c
> +++ b/block/blk-merge.c
> @@ -551,8 +551,8 @@ static inline struct scatterlist *blk_next_sg(struct scatterlist **sg,
>   * Map a request to scatterlist, return number of sg entries setup. Caller
>   * must make sure sg can hold rq->nr_phys_segments entries.
>   */
> -int __blk_rq_map_sg(struct request_queue *q, struct request *rq,
> -               struct scatterlist *sglist, struct scatterlist **last_sg)
> +int __blk_rq_map_sg(struct request *rq, struct scatterlist *sglist,
> +                   struct scatterlist **last_sg)
>  {
>         struct req_iterator iter = {
>                 .bio    = rq->bio,
> diff --git a/block/bsg-lib.c b/block/bsg-lib.c
> index 93523d8f8195..9ceb5d0832f5 100644
> --- a/block/bsg-lib.c
> +++ b/block/bsg-lib.c
> @@ -219,7 +219,7 @@ static int bsg_map_buffer(struct bsg_buffer *buf, struct request *req)
>         if (!buf->sg_list)
>                 return -ENOMEM;
>         sg_init_table(buf->sg_list, req->nr_phys_segments);
> -       buf->sg_cnt = blk_rq_map_sg(req->q, req, buf->sg_list);
> +       buf->sg_cnt = blk_rq_map_sg(req, buf->sg_list);
>         buf->payload_len = blk_rq_bytes(req);
>         return 0;
>  }
> diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
> index 95361099a2dc..0d619df03fa9 100644
> --- a/drivers/block/mtip32xx/mtip32xx.c
> +++ b/drivers/block/mtip32xx/mtip32xx.c
> @@ -2056,7 +2056,7 @@ static void mtip_hw_submit_io(struct driver_data *dd, struct request *rq,
>         unsigned int nents;
>
>         /* Map the scatter list for DMA access */
> -       nents = blk_rq_map_sg(hctx->queue, rq, command->sg);
> +       nents = blk_rq_map_sg(rq, command->sg);
>         nents = dma_map_sg(&dd->pdev->dev, command->sg, nents, dma_dir);
>
>         prefetch(&port->flags);
> diff --git a/drivers/block/rnbd/rnbd-clt.c b/drivers/block/rnbd/rnbd-clt.c
> index 82467ecde7ec..15627417f12e 100644
> --- a/drivers/block/rnbd/rnbd-clt.c
> +++ b/drivers/block/rnbd/rnbd-clt.c
> @@ -1010,7 +1010,7 @@ static int rnbd_client_xfer_request(struct rnbd_clt_dev *dev,
>          * See queue limits.
>          */
>         if ((req_op(rq) != REQ_OP_DISCARD) && (req_op(rq) != REQ_OP_WRITE_ZEROES))
> -               sg_cnt = blk_rq_map_sg(dev->queue, rq, iu->sgt.sgl);
> +               sg_cnt = blk_rq_map_sg(rq, iu->sgt.sgl);
>
>         if (sg_cnt == 0)
>                 sg_mark_end(&iu->sgt.sgl[0]);
> diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
> index 282f81616a78..2b33fb5b949b 100644
> --- a/drivers/block/sunvdc.c
> +++ b/drivers/block/sunvdc.c
> @@ -485,7 +485,7 @@ static int __send_request(struct request *req)
>         }
>
>         sg_init_table(sg, port->ring_cookies);
> -       nsg = blk_rq_map_sg(req->q, req, sg);
> +       nsg = blk_rq_map_sg(req, sg);
>
>         len = 0;
>         for (i = 0; i < nsg; i++)
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 6a61ec35f426..a3df4d49bd46 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -226,7 +226,7 @@ static int virtblk_map_data(struct blk_mq_hw_ctx *hctx, struct request *req,
>         if (unlikely(err))
>                 return -ENOMEM;
>
> -       return blk_rq_map_sg(hctx->queue, req, vbr->sg_table.sgl);
> +       return blk_rq_map_sg(req, vbr->sg_table.sgl);
>  }
>
>  static void virtblk_cleanup_cmd(struct request *req)
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index edcd08a9dcef..5babe575c288 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -751,7 +751,7 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
>         id = blkif_ring_get_request(rinfo, req, &final_ring_req);
>         ring_req = &rinfo->shadow[id].req;
>
> -       num_sg = blk_rq_map_sg(req->q, req, rinfo->shadow[id].sg);
> +       num_sg = blk_rq_map_sg(req, rinfo->shadow[id].sg);
>         num_grant = 0;
>         /* Calculate the number of grant used */
>         for_each_sg(rinfo->shadow[id].sg, sg, num_sg, i)
> diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_block.c
> index 5b617c1f6789..f4398383ae06 100644
> --- a/drivers/memstick/core/ms_block.c
> +++ b/drivers/memstick/core/ms_block.c
> @@ -1904,7 +1904,7 @@ static void msb_io_work(struct work_struct *work)
>
>                 /* process the request */
>                 dbg_verbose("IO: processing new request");
> -               blk_rq_map_sg(msb->queue, req, sg);
> +               blk_rq_map_sg(req, sg);
>
>                 lba = blk_rq_pos(req);
>
> diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/mspro_block.c
> index 634d343b6bdb..c9853d887d28 100644
> --- a/drivers/memstick/core/mspro_block.c
> +++ b/drivers/memstick/core/mspro_block.c
> @@ -627,9 +627,7 @@ static int mspro_block_issue_req(struct memstick_dev *card)
>         while (true) {
>                 msb->current_page = 0;
>                 msb->current_seg = 0;
> -               msb->seg_count = blk_rq_map_sg(msb->block_req->q,
> -                                              msb->block_req,
> -                                              msb->req_sg);
> +               msb->seg_count = blk_rq_map_sg(msb->block_req, msb->req_sg);
>
>                 if (!msb->seg_count) {
>                         unsigned int bytes = blk_rq_cur_bytes(msb->block_req);
> diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
> index ab662f502fe7..3ba62f825b84 100644
> --- a/drivers/mmc/core/queue.c
> +++ b/drivers/mmc/core/queue.c
> @@ -523,5 +523,5 @@ unsigned int mmc_queue_map_sg(struct mmc_queue *mq, struct mmc_queue_req *mqrq)
>  {
>         struct request *req = mmc_queue_req_to_req(mqrq);
>
> -       return blk_rq_map_sg(mq->queue, req, mqrq->sg);
> +       return blk_rq_map_sg(req, mqrq->sg);
>  }
> diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
> index 2836905f0152..39cc0a6a4d37 100644
> --- a/drivers/mtd/ubi/block.c
> +++ b/drivers/mtd/ubi/block.c
> @@ -199,7 +199,7 @@ static blk_status_t ubiblock_read(struct request *req)
>          * and ubi_read_sg() will check that limit.
>          */
>         ubi_sgl_init(&pdu->usgl);
> -       blk_rq_map_sg(req->q, req, pdu->usgl.sg);
> +       blk_rq_map_sg(req, pdu->usgl.sg);
>
>         while (bytes_left) {
>                 /*
> diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c
> index a060f69558e7..a437eee741e1 100644
> --- a/drivers/nvme/host/apple.c
> +++ b/drivers/nvme/host/apple.c
> @@ -525,7 +525,7 @@ static blk_status_t apple_nvme_map_data(struct apple_nvme *anv,
>         if (!iod->sg)
>                 return BLK_STS_RESOURCE;
>         sg_init_table(iod->sg, blk_rq_nr_phys_segments(req));
> -       iod->nents = blk_rq_map_sg(req->q, req, iod->sg);
> +       iod->nents = blk_rq_map_sg(req, iod->sg);
>         if (!iod->nents)
>                 goto out_free_sg;
>
> diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
> index b9929a5a7f4e..1b5ad1173bc7 100644
> --- a/drivers/nvme/host/fc.c
> +++ b/drivers/nvme/host/fc.c
> @@ -2571,7 +2571,7 @@ nvme_fc_map_data(struct nvme_fc_ctrl *ctrl, struct request *rq,
>         if (ret)
>                 return -ENOMEM;
>
> -       op->nents = blk_rq_map_sg(rq->q, rq, freq->sg_table.sgl);
> +       op->nents = blk_rq_map_sg(rq, freq->sg_table.sgl);
>         WARN_ON(op->nents > blk_rq_nr_phys_segments(rq));
>         freq->sg_cnt = fc_dma_map_sg(ctrl->lport->dev, freq->sg_table.sgl,
>                                 op->nents, rq_dma_dir(rq));
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 950289405ef2..a0b1c57067aa 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -812,7 +812,7 @@ static blk_status_t nvme_map_data(struct nvme_dev *dev, struct request *req,
>         if (!iod->sgt.sgl)
>                 return BLK_STS_RESOURCE;
>         sg_init_table(iod->sgt.sgl, blk_rq_nr_phys_segments(req));
> -       iod->sgt.orig_nents = blk_rq_map_sg(req->q, req, iod->sgt.sgl);
> +       iod->sgt.orig_nents = blk_rq_map_sg(req, iod->sgt.sgl);
>         if (!iod->sgt.orig_nents)
>                 goto out_free_sg;
>
> diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c
> index 86a2891d9bcc..b5a0295b5bf4 100644
> --- a/drivers/nvme/host/rdma.c
> +++ b/drivers/nvme/host/rdma.c
> @@ -1476,8 +1476,7 @@ static int nvme_rdma_dma_map_req(struct ib_device *ibdev, struct request *rq,
>         if (ret)
>                 return -ENOMEM;
>
> -       req->data_sgl.nents = blk_rq_map_sg(rq->q, rq,
> -                                           req->data_sgl.sg_table.sgl);
> +       req->data_sgl.nents = blk_rq_map_sg(rq, req->data_sgl.sg_table.sgl);
>
>         *count = ib_dma_map_sg(ibdev, req->data_sgl.sg_table.sgl,
>                                req->data_sgl.nents, rq_dma_dir(rq));
> diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
> index a9d112d34d4f..a5c41144667c 100644
> --- a/drivers/nvme/target/loop.c
> +++ b/drivers/nvme/target/loop.c
> @@ -162,7 +162,7 @@ static blk_status_t nvme_loop_queue_rq(struct blk_mq_hw_ctx *hctx,
>                 }
>
>                 iod->req.sg = iod->sg_table.sgl;
> -               iod->req.sg_cnt = blk_rq_map_sg(req->q, req, iod->sg_table.sgl);
> +               iod->req.sg_cnt = blk_rq_map_sg(req, iod->sg_table.sgl);
>                 iod->req.transfer_len = blk_rq_payload_bytes(req);
>         }
>
> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
> index f1cfe0bb89b2..0d29470e86b0 100644
> --- a/drivers/scsi/scsi_lib.c
> +++ b/drivers/scsi/scsi_lib.c
> @@ -1149,7 +1149,7 @@ blk_status_t scsi_alloc_sgtables(struct scsi_cmnd *cmd)
>          * Next, walk the list, and fill in the addresses and sizes of
>          * each segment.
>          */
> -       count = __blk_rq_map_sg(rq->q, rq, cmd->sdb.table.sgl, &last_sg);
> +       count = __blk_rq_map_sg(rq, cmd->sdb.table.sgl, &last_sg);
>
>         if (blk_rq_bytes(rq) & rq->q->limits.dma_pad_mask) {
>                 unsigned int pad_len =
> diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
> index fa2a76cc2f73..f2eff998913d 100644
> --- a/include/linux/blk-mq.h
> +++ b/include/linux/blk-mq.h
> @@ -1165,14 +1165,13 @@ static inline unsigned short blk_rq_nr_discard_segments(struct request *rq)
>         return max_t(unsigned short, rq->nr_phys_segments, 1);
>  }
>
> -int __blk_rq_map_sg(struct request_queue *q, struct request *rq,
> -               struct scatterlist *sglist, struct scatterlist **last_sg);
> -static inline int blk_rq_map_sg(struct request_queue *q, struct request *rq,
> -               struct scatterlist *sglist)
> +int __blk_rq_map_sg(struct request *rq, struct scatterlist *sglist,
> +               struct scatterlist **last_sg);
> +static inline int blk_rq_map_sg(struct request *rq, struct scatterlist *sglist)
>  {
>         struct scatterlist *last_sg = NULL;
>
> -       return __blk_rq_map_sg(q, rq, sglist, &last_sg);
> +       return __blk_rq_map_sg(rq, sglist, &last_sg);
>  }
>  void blk_dump_rq_flags(struct request *, char *);
>
> --
> 2.25.1
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:17:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912035.1318393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tshV7-0007BN-1x; Thu, 13 Mar 2025 12:17:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912035.1318393; Thu, 13 Mar 2025 12:17: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 1tshV6-0007BE-VH; Thu, 13 Mar 2025 12:17:24 +0000
Received: by outflank-mailman (input) for mailman id 912035;
 Thu, 13 Mar 2025 12:17: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=jkAC=WA=ionos.com=jinpu.wang@srs-se1.protection.inumbo.net>)
 id 1tshV5-0007B7-Ay
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:17:23 +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 1ad5cafc-0005-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 13:17:17 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e4d18a2c51so159801a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 05:17: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: 1ad5cafc-0005-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ionos.com; s=google; t=1741868237; x=1742473037; 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=T3KUfUTE42sadcrEtnViL50Ze8Ig+BwN074prKXepkA=;
        b=TIExMjdWzCxEcdXh5h5sokk6KlHCIQ8ZrVqToIAgQVyxeqH0pIhsoGo/ONneUPvny6
         iNk0egl9G4wtjcMfrwW2AwJay6XVbiS22AdStB2pPlF2lLdusHWefE4OfRHpl4vR5HSI
         tafkggyWruBNYfbCfyBidVVIWOwqklMxt3xYOYb5JBIjew+OW1TUSJTEgg+b2hJGUB6R
         9jLe6Xdj/ljTkAWu0iy4EklA+NYNLhipdaN0X4xicdTW0nj8b0RGdbPZR+LRapDik+Oy
         Up+ympqwgVFQjX/JuB27CCJL4NSiJs8le+OXUVU4HhjZ0qnO79uEqUQ5tt/Upqo33NdW
         hlJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741868237; x=1742473037;
        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=T3KUfUTE42sadcrEtnViL50Ze8Ig+BwN074prKXepkA=;
        b=vHK5PiVSOS+Ed6UvWlIiuh9qtEL9DIFDv1BuAvr8omWRpxjF609rDjKRZPnDXBjG5j
         4Izq8Coq9XObPlF6J6gW95ayxptnQnw4TRVDIM6ovMA9BQd1TDFAJSgFFDUEV9tWpzsx
         5CwbNkYHgUkOsMYvJ/bT6Xdm5Ze+xOh4Cek6E2F2ZjOTnayfEHbHjwo2mnyxHUgTK4Wv
         m31vbxsszfOk1ZxYjMOCNlt/Q0kduRo7uXFh59HcEmw4rb0RVN6GdJp7utFVFe/BS96B
         iDxcPYaNVuKfwkLWZRoRWLfckrgI5szY1RIkxJEdS/zUbO8Cs3eEsOTgZ7nhkzYOd5Zi
         lMBw==
X-Forwarded-Encrypted: i=1; AJvYcCWtiHeJRROOdf5jlNhhJX7XWZNLb5dDYcREi4xdzdqvMBwxAseeZL5uVDCFDm5vmsVQO04JmAFTkdg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyyRfl5dDtiE+LYCprUjG3iaB7EnMW+uT7OLzLzItNbgShUG/nn
	Rr9PfL8wNy6l5ZK4tfdl6xU/qr4MrydmArDkQ3zxqCYBcd18Da8l9I6Dj3U9wh5lATMjvCYSDMb
	d6HacYjTleuD5T+Utu8O+A9n21aAdEPm9px8Bdw==
X-Gm-Gg: ASbGncs/mdBnuIm65lGhERCdiDQOHu3e4j7u1VgoEt/SaWaeRQ6T25Wn+PgCHQQydes
	GqgeGm3mr4FZJJXFq7QB95mvpj5xgel+zkRX+7usP70Rsf9cLH9qtIyxAzhLT9bGfFuA8wguUQP
	RYs4JL8KnxqU1jd0lj5cvOyj/Z7N/nf0LVR+rjZ3Qe2YEhuMhMXUWqLU5O2cdqLob4FAEY9Q==
X-Google-Smtp-Source: AGHT+IFzK99kHSj5d/FDwifiVSaoCoqlhKVXWIJ6/aG6k3xd47S1yV8uOe7tE9DCf5TStXwjFqv+FuI28Gyvh18i5ws=
X-Received: by 2002:a05:6402:268f:b0:5e0:36fa:ac1c with SMTP id
 4fb4d7f45d1cf-5e75f983d16mr5279244a12.9.1741868236757; Thu, 13 Mar 2025
 05:17:16 -0700 (PDT)
MIME-Version: 1.0
References: <CGME20250313040150epcas5p347f94dac34fd2946dea51049559ee1de@epcas5p3.samsung.com>
 <20250313035322.243239-1-anuj20.g@samsung.com>
In-Reply-To: <20250313035322.243239-1-anuj20.g@samsung.com>
From: Jinpu Wang <jinpu.wang@ionos.com>
Date: Thu, 13 Mar 2025 13:17:05 +0100
X-Gm-Features: AQ5f1JrIJ_abLv2o7eKaSVbKIXVsbvKxK9F6-3hJ2TBEx-9sNptiPJkEypoOpyY
Message-ID: <CAMGffEkm5zkBM7QPbfd7+qiMA92VBfyoRUdb+3CMzqe3ZCs7rg@mail.gmail.com>
Subject: Re: [PATCH] block: remove unused parameter
To: Anuj Gupta <anuj20.g@samsung.com>
Cc: Jens Axboe <axboe@kernel.dk>, "Md. Haris Iqbal" <haris.iqbal@ionos.com>, 
	"Michael S. Tsirkin" <mst@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>, =?UTF-8?Q?Eugenio_P=C3=A9rez?= <eperezma@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Maxim Levitsky <maximlevitsky@gmail.com>, 
	Alex Dubov <oakad@yahoo.com>, Ulf Hansson <ulf.hansson@linaro.org>, 
	Richard Weinberger <richard@nod.at>, Zhihao Cheng <chengzhihao1@huawei.com>, 
	Miquel Raynal <miquel.raynal@bootlin.com>, Vignesh Raghavendra <vigneshr@ti.com>, 
	Sven Peter <sven@svenpeter.dev>, Janne Grunau <j@jannau.net>, 
	Alyssa Rosenzweig <alyssa@rosenzweig.io>, Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>, 
	Sagi Grimberg <sagi@grimberg.me>, James Smart <james.smart@broadcom.com>, 
	Chaitanya Kulkarni <kch@nvidia.com>, 
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>, 
	"Martin K. Petersen" <martin.petersen@oracle.com>, linux-block@vger.kernel.org, 
	linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, 
	xen-devel@lists.xenproject.org, linux-mmc@vger.kernel.org, 
	linux-mtd@lists.infradead.org, asahi@lists.linux.dev, 
	linux-arm-kernel@lists.infradead.org, linux-nvme@lists.infradead.org, 
	linux-scsi@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 13, 2025 at 6:14=E2=80=AFAM Anuj Gupta <anuj20.g@samsung.com> w=
rote:
>
> request_queue param is not used by blk_rq_map_sg and __blk_rq_map_sg.
> remove it.
>
> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
> ---
>  block/blk-merge.c                   | 4 ++--
>  block/bsg-lib.c                     | 2 +-
>  drivers/block/mtip32xx/mtip32xx.c   | 2 +-
>  drivers/block/rnbd/rnbd-clt.c       | 2 +-
lgtm.
Acked-by: Jack Wang <jinpu.wang@ionos.com> #rnbd
>  drivers/block/sunvdc.c              | 2 +-
>  drivers/block/virtio_blk.c          | 2 +-
>  drivers/block/xen-blkfront.c        | 2 +-
>  drivers/memstick/core/ms_block.c    | 2 +-
>  drivers/memstick/core/mspro_block.c | 4 +---
>  drivers/mmc/core/queue.c            | 2 +-
>  drivers/mtd/ubi/block.c             | 2 +-
>  drivers/nvme/host/apple.c           | 2 +-
>  drivers/nvme/host/fc.c              | 2 +-
>  drivers/nvme/host/pci.c             | 2 +-
>  drivers/nvme/host/rdma.c            | 3 +--
>  drivers/nvme/target/loop.c          | 2 +-
>  drivers/scsi/scsi_lib.c             | 2 +-
>  include/linux/blk-mq.h              | 9 ++++-----
>  18 files changed, 22 insertions(+), 26 deletions(-)
>
> diff --git a/block/blk-merge.c b/block/blk-merge.c
> index 1d1589c35297..fdd4efb54c6c 100644
> --- a/block/blk-merge.c
> +++ b/block/blk-merge.c
> @@ -551,8 +551,8 @@ static inline struct scatterlist *blk_next_sg(struct =
scatterlist **sg,
>   * Map a request to scatterlist, return number of sg entries setup. Call=
er
>   * must make sure sg can hold rq->nr_phys_segments entries.
>   */
> -int __blk_rq_map_sg(struct request_queue *q, struct request *rq,
> -               struct scatterlist *sglist, struct scatterlist **last_sg)
> +int __blk_rq_map_sg(struct request *rq, struct scatterlist *sglist,
> +                   struct scatterlist **last_sg)
>  {
>         struct req_iterator iter =3D {
>                 .bio    =3D rq->bio,
> diff --git a/block/bsg-lib.c b/block/bsg-lib.c
> index 93523d8f8195..9ceb5d0832f5 100644
> --- a/block/bsg-lib.c
> +++ b/block/bsg-lib.c
> @@ -219,7 +219,7 @@ static int bsg_map_buffer(struct bsg_buffer *buf, str=
uct request *req)
>         if (!buf->sg_list)
>                 return -ENOMEM;
>         sg_init_table(buf->sg_list, req->nr_phys_segments);
> -       buf->sg_cnt =3D blk_rq_map_sg(req->q, req, buf->sg_list);
> +       buf->sg_cnt =3D blk_rq_map_sg(req, buf->sg_list);
>         buf->payload_len =3D blk_rq_bytes(req);
>         return 0;
>  }
> diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/m=
tip32xx.c
> index 95361099a2dc..0d619df03fa9 100644
> --- a/drivers/block/mtip32xx/mtip32xx.c
> +++ b/drivers/block/mtip32xx/mtip32xx.c
> @@ -2056,7 +2056,7 @@ static void mtip_hw_submit_io(struct driver_data *d=
d, struct request *rq,
>         unsigned int nents;
>
>         /* Map the scatter list for DMA access */
> -       nents =3D blk_rq_map_sg(hctx->queue, rq, command->sg);
> +       nents =3D blk_rq_map_sg(rq, command->sg);
>         nents =3D dma_map_sg(&dd->pdev->dev, command->sg, nents, dma_dir)=
;
>
>         prefetch(&port->flags);
> diff --git a/drivers/block/rnbd/rnbd-clt.c b/drivers/block/rnbd/rnbd-clt.=
c
> index 82467ecde7ec..15627417f12e 100644
> --- a/drivers/block/rnbd/rnbd-clt.c
> +++ b/drivers/block/rnbd/rnbd-clt.c
> @@ -1010,7 +1010,7 @@ static int rnbd_client_xfer_request(struct rnbd_clt=
_dev *dev,
>          * See queue limits.
>          */
>         if ((req_op(rq) !=3D REQ_OP_DISCARD) && (req_op(rq) !=3D REQ_OP_W=
RITE_ZEROES))
> -               sg_cnt =3D blk_rq_map_sg(dev->queue, rq, iu->sgt.sgl);
> +               sg_cnt =3D blk_rq_map_sg(rq, iu->sgt.sgl);
>
>         if (sg_cnt =3D=3D 0)
>                 sg_mark_end(&iu->sgt.sgl[0]);
> diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
> index 282f81616a78..2b33fb5b949b 100644
> --- a/drivers/block/sunvdc.c
> +++ b/drivers/block/sunvdc.c
> @@ -485,7 +485,7 @@ static int __send_request(struct request *req)
>         }
>
>         sg_init_table(sg, port->ring_cookies);
> -       nsg =3D blk_rq_map_sg(req->q, req, sg);
> +       nsg =3D blk_rq_map_sg(req, sg);
>
>         len =3D 0;
>         for (i =3D 0; i < nsg; i++)
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 6a61ec35f426..a3df4d49bd46 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -226,7 +226,7 @@ static int virtblk_map_data(struct blk_mq_hw_ctx *hct=
x, struct request *req,
>         if (unlikely(err))
>                 return -ENOMEM;
>
> -       return blk_rq_map_sg(hctx->queue, req, vbr->sg_table.sgl);
> +       return blk_rq_map_sg(req, vbr->sg_table.sgl);
>  }
>
>  static void virtblk_cleanup_cmd(struct request *req)
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index edcd08a9dcef..5babe575c288 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -751,7 +751,7 @@ static int blkif_queue_rw_req(struct request *req, st=
ruct blkfront_ring_info *ri
>         id =3D blkif_ring_get_request(rinfo, req, &final_ring_req);
>         ring_req =3D &rinfo->shadow[id].req;
>
> -       num_sg =3D blk_rq_map_sg(req->q, req, rinfo->shadow[id].sg);
> +       num_sg =3D blk_rq_map_sg(req, rinfo->shadow[id].sg);
>         num_grant =3D 0;
>         /* Calculate the number of grant used */
>         for_each_sg(rinfo->shadow[id].sg, sg, num_sg, i)
> diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_=
block.c
> index 5b617c1f6789..f4398383ae06 100644
> --- a/drivers/memstick/core/ms_block.c
> +++ b/drivers/memstick/core/ms_block.c
> @@ -1904,7 +1904,7 @@ static void msb_io_work(struct work_struct *work)
>
>                 /* process the request */
>                 dbg_verbose("IO: processing new request");
> -               blk_rq_map_sg(msb->queue, req, sg);
> +               blk_rq_map_sg(req, sg);
>
>                 lba =3D blk_rq_pos(req);
>
> diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/=
mspro_block.c
> index 634d343b6bdb..c9853d887d28 100644
> --- a/drivers/memstick/core/mspro_block.c
> +++ b/drivers/memstick/core/mspro_block.c
> @@ -627,9 +627,7 @@ static int mspro_block_issue_req(struct memstick_dev =
*card)
>         while (true) {
>                 msb->current_page =3D 0;
>                 msb->current_seg =3D 0;
> -               msb->seg_count =3D blk_rq_map_sg(msb->block_req->q,
> -                                              msb->block_req,
> -                                              msb->req_sg);
> +               msb->seg_count =3D blk_rq_map_sg(msb->block_req, msb->req=
_sg);
>
>                 if (!msb->seg_count) {
>                         unsigned int bytes =3D blk_rq_cur_bytes(msb->bloc=
k_req);
> diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
> index ab662f502fe7..3ba62f825b84 100644
> --- a/drivers/mmc/core/queue.c
> +++ b/drivers/mmc/core/queue.c
> @@ -523,5 +523,5 @@ unsigned int mmc_queue_map_sg(struct mmc_queue *mq, s=
truct mmc_queue_req *mqrq)
>  {
>         struct request *req =3D mmc_queue_req_to_req(mqrq);
>
> -       return blk_rq_map_sg(mq->queue, req, mqrq->sg);
> +       return blk_rq_map_sg(req, mqrq->sg);
>  }
> diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
> index 2836905f0152..39cc0a6a4d37 100644
> --- a/drivers/mtd/ubi/block.c
> +++ b/drivers/mtd/ubi/block.c
> @@ -199,7 +199,7 @@ static blk_status_t ubiblock_read(struct request *req=
)
>          * and ubi_read_sg() will check that limit.
>          */
>         ubi_sgl_init(&pdu->usgl);
> -       blk_rq_map_sg(req->q, req, pdu->usgl.sg);
> +       blk_rq_map_sg(req, pdu->usgl.sg);
>
>         while (bytes_left) {
>                 /*
> diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c
> index a060f69558e7..a437eee741e1 100644
> --- a/drivers/nvme/host/apple.c
> +++ b/drivers/nvme/host/apple.c
> @@ -525,7 +525,7 @@ static blk_status_t apple_nvme_map_data(struct apple_=
nvme *anv,
>         if (!iod->sg)
>                 return BLK_STS_RESOURCE;
>         sg_init_table(iod->sg, blk_rq_nr_phys_segments(req));
> -       iod->nents =3D blk_rq_map_sg(req->q, req, iod->sg);
> +       iod->nents =3D blk_rq_map_sg(req, iod->sg);
>         if (!iod->nents)
>                 goto out_free_sg;
>
> diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
> index b9929a5a7f4e..1b5ad1173bc7 100644
> --- a/drivers/nvme/host/fc.c
> +++ b/drivers/nvme/host/fc.c
> @@ -2571,7 +2571,7 @@ nvme_fc_map_data(struct nvme_fc_ctrl *ctrl, struct =
request *rq,
>         if (ret)
>                 return -ENOMEM;
>
> -       op->nents =3D blk_rq_map_sg(rq->q, rq, freq->sg_table.sgl);
> +       op->nents =3D blk_rq_map_sg(rq, freq->sg_table.sgl);
>         WARN_ON(op->nents > blk_rq_nr_phys_segments(rq));
>         freq->sg_cnt =3D fc_dma_map_sg(ctrl->lport->dev, freq->sg_table.s=
gl,
>                                 op->nents, rq_dma_dir(rq));
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 950289405ef2..a0b1c57067aa 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -812,7 +812,7 @@ static blk_status_t nvme_map_data(struct nvme_dev *de=
v, struct request *req,
>         if (!iod->sgt.sgl)
>                 return BLK_STS_RESOURCE;
>         sg_init_table(iod->sgt.sgl, blk_rq_nr_phys_segments(req));
> -       iod->sgt.orig_nents =3D blk_rq_map_sg(req->q, req, iod->sgt.sgl);
> +       iod->sgt.orig_nents =3D blk_rq_map_sg(req, iod->sgt.sgl);
>         if (!iod->sgt.orig_nents)
>                 goto out_free_sg;
>
> diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c
> index 86a2891d9bcc..b5a0295b5bf4 100644
> --- a/drivers/nvme/host/rdma.c
> +++ b/drivers/nvme/host/rdma.c
> @@ -1476,8 +1476,7 @@ static int nvme_rdma_dma_map_req(struct ib_device *=
ibdev, struct request *rq,
>         if (ret)
>                 return -ENOMEM;
>
> -       req->data_sgl.nents =3D blk_rq_map_sg(rq->q, rq,
> -                                           req->data_sgl.sg_table.sgl);
> +       req->data_sgl.nents =3D blk_rq_map_sg(rq, req->data_sgl.sg_table.=
sgl);
>
>         *count =3D ib_dma_map_sg(ibdev, req->data_sgl.sg_table.sgl,
>                                req->data_sgl.nents, rq_dma_dir(rq));
> diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
> index a9d112d34d4f..a5c41144667c 100644
> --- a/drivers/nvme/target/loop.c
> +++ b/drivers/nvme/target/loop.c
> @@ -162,7 +162,7 @@ static blk_status_t nvme_loop_queue_rq(struct blk_mq_=
hw_ctx *hctx,
>                 }
>
>                 iod->req.sg =3D iod->sg_table.sgl;
> -               iod->req.sg_cnt =3D blk_rq_map_sg(req->q, req, iod->sg_ta=
ble.sgl);
> +               iod->req.sg_cnt =3D blk_rq_map_sg(req, iod->sg_table.sgl)=
;
>                 iod->req.transfer_len =3D blk_rq_payload_bytes(req);
>         }
>
> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
> index f1cfe0bb89b2..0d29470e86b0 100644
> --- a/drivers/scsi/scsi_lib.c
> +++ b/drivers/scsi/scsi_lib.c
> @@ -1149,7 +1149,7 @@ blk_status_t scsi_alloc_sgtables(struct scsi_cmnd *=
cmd)
>          * Next, walk the list, and fill in the addresses and sizes of
>          * each segment.
>          */
> -       count =3D __blk_rq_map_sg(rq->q, rq, cmd->sdb.table.sgl, &last_sg=
);
> +       count =3D __blk_rq_map_sg(rq, cmd->sdb.table.sgl, &last_sg);
>
>         if (blk_rq_bytes(rq) & rq->q->limits.dma_pad_mask) {
>                 unsigned int pad_len =3D
> diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
> index fa2a76cc2f73..f2eff998913d 100644
> --- a/include/linux/blk-mq.h
> +++ b/include/linux/blk-mq.h
> @@ -1165,14 +1165,13 @@ static inline unsigned short blk_rq_nr_discard_se=
gments(struct request *rq)
>         return max_t(unsigned short, rq->nr_phys_segments, 1);
>  }
>
> -int __blk_rq_map_sg(struct request_queue *q, struct request *rq,
> -               struct scatterlist *sglist, struct scatterlist **last_sg)=
;
> -static inline int blk_rq_map_sg(struct request_queue *q, struct request =
*rq,
> -               struct scatterlist *sglist)
> +int __blk_rq_map_sg(struct request *rq, struct scatterlist *sglist,
> +               struct scatterlist **last_sg);
> +static inline int blk_rq_map_sg(struct request *rq, struct scatterlist *=
sglist)
>  {
>         struct scatterlist *last_sg =3D NULL;
>
> -       return __blk_rq_map_sg(q, rq, sglist, &last_sg);
> +       return __blk_rq_map_sg(rq, sglist, &last_sg);
>  }
>  void blk_dump_rq_flags(struct request *, char *);
>
> --
> 2.25.1
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:21:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912048.1318403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tshZC-0000pt-KC; Thu, 13 Mar 2025 12:21:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912048.1318403; Thu, 13 Mar 2025 12:21: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 1tshZC-0000pm-G9; Thu, 13 Mar 2025 12:21:38 +0000
Received: by outflank-mailman (input) for mailman id 912048;
 Thu, 13 Mar 2025 12:21: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=a6QA=WA=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tshZA-0000pg-QW
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:21:37 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2060b.outbound.protection.outlook.com
 [2a01:111:f403:2414::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3b17b51-0005-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 13:21:34 +0100 (CET)
Received: from DM4PR12MB5277.namprd12.prod.outlook.com (2603:10b6:5:390::7) by
 SN7PR12MB7785.namprd12.prod.outlook.com (2603:10b6:806:346::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 12:21:31 +0000
Received: from DM4PR12MB5277.namprd12.prod.outlook.com
 ([fe80::9ab:5367:ba51:af6e]) by DM4PR12MB5277.namprd12.prod.outlook.com
 ([fe80::9ab:5367:ba51:af6e%6]) with mapi id 15.20.8534.027; Thu, 13 Mar 2025
 12: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: b3b17b51-0005-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=L9OJ7+w9cn3EDqJ90lozNI3JGvKY5sj+TdAwgSnSsAVv1byXOwjzNu/GPvKzuW+C/pQs/CMtUyNzydHz2bBebdx5UMTv6y1+amIHCBU6omiUbf5F2JD7Ihy2Z/asV0MgYl/XmfO7Txu4sV8axUjas4tc70z26g8h1+izzy4FvDuJ1ql1Z3h0ZpovMBAmgecjjBBtUo3CykB3L9MY3CieJFn35jj+m6YFBPzNVmbR2FOlUEYP/8M8JIhfb9BDqGgYRoiao4Ex5stq2zllrXcW/QDZn8e8t9Z82hCG0BNGc0C7rf20CwNT2gjFJ+f1ulLsNnEwVXjleURc+hEHDShDzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0BygB7Jd94wHGspROBjTr7kYQhBJkp8hniWKhiL7IO8=;
 b=Q7cJ6Hh2lO27Rdzv0TX0tREbjmiTvMbQWMKohGpBcsja+CyQzL2r7ZHWHR/RKAzffgj7rH/ZR/1tNPhoxQCxO54ptAGbunGBW2FIn1xDglbXuaQtaclVZ7d6eW5JgBfZhQNXZiAUvW3WD9rLlJ+Jx0Zkjtnbx+2IBzqh9yvJpsotwsuAfOjTrxp0dXnJttYUB5wQgNgc7GCo43q9yGmbJWlskCT0gkP5YeYVVZwrILi1LOlTjFh5QNtzpHuUcV3PxSFEEGIi0UyAaDEBcez04E+f2Uem986XNPH0iNworiuXekDBf7lHUF/MM3VBaGFYe/spXP/Nb26vx2l3nJvwZw==
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=0BygB7Jd94wHGspROBjTr7kYQhBJkp8hniWKhiL7IO8=;
 b=WtEjMk+entQ8rZXvGck7clqm16V+go1oBG0R1ox6j3VRyA+ai0Wa/2Z8Pm1wofkDSIPomyBkxNs9LdnOwM8nZRsdqfPKSv45hYVkqI3wgkEWcHZGfK7/7w88qzQ4OmvCm/M+ZfxrHFzGuqY6n+ccyThI4OcXSSsI52aDB1qbooI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <358ffad8-f41c-476c-8804-9cbee3eb9e6f@amd.com>
Date: Thu, 13 Mar 2025 13:21:24 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/10] arm/mpu: Introduce frame_table, virt_to_page,
 maddr_to_virt
To: Luca Fancellu <Luca.Fancellu@arm.com>, Julien Grall <julien@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-6-luca.fancellu@arm.com>
 <df0ad31e-1842-41fa-9112-9e3892bfdf65@xen.org>
 <2294EEC2-A0AC-4FD9-864C-182801CDD734@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <2294EEC2-A0AC-4FD9-864C-182801CDD734@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0125.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::19) To DM4PR12MB5277.namprd12.prod.outlook.com
 (2603:10b6:5:390::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR12MB5277:EE_|SN7PR12MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: 25a68ed5-3282-49de-f1b6-08dd6229961c
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?bVJjSHJHYjk0QWZvR2Y1akduTmM3d1MwT0c3cU5HOXY2MEZyMXZXVmtsMzYy?=
 =?utf-8?B?T3Irbm92Yi9LbGlPbDdleVprUEF0eUI0RGx4MUVaMzh0cmk1T2ZpWm4wRDNz?=
 =?utf-8?B?QjYxbXZ4OFkvYkZIR1U2VFdaQ1FudjdGcCtQZEZyZ2Y5eWY0ZGkzUGhvcDZ4?=
 =?utf-8?B?alMyWnhFMUVIblpvWUVoTVVtdjNzdlBJS2I0d1B0RW1CUWF0Q3NvRitIRTJj?=
 =?utf-8?B?V0JsUzhoQmxQNGRQUGJVYS9hbE9NK1Q1a2Zob29RVm1mVGFZd0R4MDNyVzhY?=
 =?utf-8?B?cTN4aXpEU1JpZStNdjVjMUF3dDdCWDJnMUFudDN4NC9palNqOWFYWm1VcTJD?=
 =?utf-8?B?YVVocXFXRjFyZWJXNVY5b2lzcTRGU1VWR0lYNXY2eXhKS0ZIRWhrUytBcWsr?=
 =?utf-8?B?RzNpTmRyMk95NmYwTHBmZXF6SVpjYitXMmYrZ2lXdlVtMzNPWDZLMkprRnpL?=
 =?utf-8?B?VkxheDgrTzk5eGlELytHMm1FWXo2S2RKWlcyQ0ZIN1UzNmZlNDh2Q2xZcHlz?=
 =?utf-8?B?YUhVeHJmZU91OE9FblNUVGNrczdWbFZkaE9sN0ppc0svL0prZzljYUhPVkYy?=
 =?utf-8?B?M3JlWUFLaEFTOFVqTVdCR3A2V2RQSWtGZ0o5Tm5oU05wR0Q0YldKVzdRTmRk?=
 =?utf-8?B?K1hvemM1eUZxcTdRTVAvZGFaRjZIN1ZVQkhkdzdMSkdGbDI2ZndQQ1E2STV0?=
 =?utf-8?B?YWZmejJRR0gwNytRdmlldHRLeGNkMkxuWEU0ZkxQMnpyN3B3WVkrZTdvbjQ5?=
 =?utf-8?B?RFZkTHZCMGlkb2tsYTdkaEVmQlRnMVQ5MHdVckZoVUw4NHJ5SWMyUys2OXVv?=
 =?utf-8?B?emczWWdLb3hVSzZ6SmJNZ1RQYUtKOTV3YnFiZG0rQmNiNERSaU5nK0tvdWUy?=
 =?utf-8?B?ZjFtVDVOYVNWSmJiVmcwZm9KN1NaMHUySGNmNkl6eXFnRktjNE03aWlnZVM2?=
 =?utf-8?B?Z1ZXRDVSaWZwOUxaZnRYUlc0Tmtac2xPMXhXSjVWS2cyWTZTM0JEaEU1NFg0?=
 =?utf-8?B?Qk8zZ2pDbi9WNUxzeXZvUS8zUklHNHdkeW1DQlZqakFGVDJSYXJHUDNOa1Jh?=
 =?utf-8?B?TXhNRytpa0tCN0hzNWtmU0lBY205aGZ0d1pLWjhjV1llb2hpcGJpZVFjQlZF?=
 =?utf-8?B?VWV0Z3h3KzU3dlIzVWxINjFwbTJZMFZIcFRmRWVwblZ6VjdmaVM4bVYxQTEr?=
 =?utf-8?B?MktaamZQV1VVUEpRT2FWemZQTWZFUW8ya3A5QllYazl0K3RGaGR0VGZScFBa?=
 =?utf-8?B?WFAvMlNpZElNVXAzcWxibzUvSW5vK05ZNVRSWkJlQjdCUVY0T2RURlBhY3Ft?=
 =?utf-8?B?c3NIbFA3ektERnhGQjFaWGYxR0lkemNOeU5NY1p2UnZtR0pzWWV2YjFWQmJ1?=
 =?utf-8?B?Y3BCdy9SdzVndVBIOWZYMkJNbyt3MUxhRktGZTEybCt0YnpCc1MzYmlHT0Ja?=
 =?utf-8?B?RnR6d25xaUtSN2xOZVlmNkw4eWJkWU9qN3dhc2V1bkk0ZHloSGt0MjJTSmk3?=
 =?utf-8?B?OSs2NThSL3A5YVJUdTRpWUp4SC9MWHhoTHZBMVpRUGxEdnhaV2doN01JV2xk?=
 =?utf-8?B?cXBBWENneFBrdTV2VmtIdHdKZmJPV3JoVW16UUJCdzNoRHhCTEM4a0tOTXEx?=
 =?utf-8?B?b0wzUzNIOTUzVVhaZmtOUVUvQksybisySWhZMW0vYWlaOVJIamJOUEt5Y09D?=
 =?utf-8?B?dnFCTEl2TE9CUWJhZmNTcGhqN3A1MHRTNTErVVJWREtmc3NrOTV3Q2xwcjN6?=
 =?utf-8?B?Z1BnZ0lWVG1JN01oOVBOOVl3YjV0NWNTaVF5MFBldVpaUnI2WUtuSlZrM0dn?=
 =?utf-8?B?Y0FuY1R2L0UxRzhYTWIyZDMrZUlVTHF5Ym5hVldEcGJOMjRiZm9nNGdrUUJR?=
 =?utf-8?Q?Pzuq61w5zmvhS?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5277.namprd12.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?QVJSSk1nZFA0cU1DVjN3eitMZjlMTzJYMmlpOXI1STNmUGR5NW5zRkxra05P?=
 =?utf-8?B?ZFV2ZkZPR09UcE9aWVc5bkU5eWNaU3RyakUxUDZZaERLNzFSOGwyejE0ekRW?=
 =?utf-8?B?VTZmbFFqU2FFYWcydHJ4NmJWei8ydG0yN3BuZUJNNmFIQlp1MmpaYk56V3c4?=
 =?utf-8?B?V3ZiWDFvKzYxWXJQYmZOc25UYUJRSkFHVmxyVHZPNGdRTFBuKy9yM3ZIS2Z5?=
 =?utf-8?B?VGl4MTE0ZXVsc1pzZjVGS2krQ2szZDlCTHRXeTU4eTNBQVY3eHpHbWFVZXY4?=
 =?utf-8?B?c0lUMmZneHZaWCtSM1BGUG1wajd3UmJYMUh2MXpJVldsc0UxY1RiTXJkL09B?=
 =?utf-8?B?aXNJYmpNVFk2UitFQmZ2S3MyU1Fwa1R4RXZPbDNzaWJmT05KNWhBWEcxcnRC?=
 =?utf-8?B?VHBFMStIcHRpdEJ6allYR056YlJlbnpQU0pXM21KMWFJRTljRDA4aHNtTDJX?=
 =?utf-8?B?Qm05TGVtdlV0UzZ1d1d1ZkJlL1REcEJvY3h0V0I2MEJGNkdVSEhVekJmRjZF?=
 =?utf-8?B?b0dEVCtNV0NOWkE1Z0VVc0RyeEFlbzR6WWdkbEpnQ0ducFBoZ1V2ZDhQMkM3?=
 =?utf-8?B?NlZOTndlb1VLcEdBNWozaXc3RzQvellRdkdWRVdXRENSTHhZY3Z2N1hZZUpm?=
 =?utf-8?B?djJVY3hJM2FpdlpwMGV1RTdyMzFmVSsxM2RRWktPaFRxNXh2N1pkOFdsTVZn?=
 =?utf-8?B?Tm8zaWxSQlZJUkd4clV1cU9sdzU5UVlhaFpIUS9KRjFMcFVTd0lKS2V1NmdU?=
 =?utf-8?B?dHorbWtOQTBkaEp3bjcvaTY1YlV6L2IzVkhkYjh5WkRXajQ2NnlieWNhVTUv?=
 =?utf-8?B?dHB1djZ3elEwalNxdzUxbEdqeXFkTUJRRWVDSWhRN1VnRTJpZXJxZmRpYktN?=
 =?utf-8?B?SUpsS01RZlYySlZLWFBhVGVybUY2c3NiRmlVZFNLa1F1T0ZpV2dGNnhieXBT?=
 =?utf-8?B?cnVRQ1RrZXhpUzR0ZThEYUxGdk5WVThsdmFETmFZQU5mU0hDZjJ6SXlpdlN5?=
 =?utf-8?B?cGVqWGVwZTA2UjllWHpDOHFveVNjdVM0d3lXUFdsWHp4RXlVZHUwemlUQzF0?=
 =?utf-8?B?dTRPbDNYV3FoeXEzSFVGNjZsRmJWeW9KV0g1OXR6TjEyNUkwQWVJd3gyU2tD?=
 =?utf-8?B?MmJBeXhjU0ZOZ3RQTm1RcXFkWTV6RGtjRHVsUzl4WmN2ZXdkb3JyZ1dwbVQr?=
 =?utf-8?B?VEUzU2taVkpyT2pvZ0dxZ0crQ1JUenBocUw2UlpCbmZZaGJOdFp4K2R4WThr?=
 =?utf-8?B?TmtCaE9seDc1eXRhRVp4RHpnQktmVGw1YlFBY0wyVWRxZDBMSVgwMUV2aVFH?=
 =?utf-8?B?NkpwM3VUQ08yQ1FXanltYThnNjFkZE03WkFHNHgrSUZyWUd4RFlzRmY4am1Z?=
 =?utf-8?B?R0lUQ2ttbGpDeHVqaU1sOTkxTnJ6V1NmNitSNzkxQlBFbktBTm5IcCtPT1di?=
 =?utf-8?B?Q1VIT05XVURHUXk5aTJBUGZ0UUJDdFNhMHhaTWw1S2VkZzNZLytubGFEb2x5?=
 =?utf-8?B?NzBrMXBLVlFCajRpZC94eTVYV1ZrYzNmMis0b2JKK0pxeThDemVRRkxUTy9w?=
 =?utf-8?B?SVNiclNhWDRhWjg1THFZendZVmQ1MWlvN205SjkvUHdURG5WTEp0YlNDOXdG?=
 =?utf-8?B?YWFVY2dGMDhVc09BVi81NU5oOUMrR1pLbDk4QjZOOThWcGF0bHc1LzNzUjls?=
 =?utf-8?B?Y2dzUFBKd052aS9wOVZMOWMyamcxV25wTTMxb1dMN29oV0UrTFBvNDUreGxQ?=
 =?utf-8?B?UDNZeHZxM21hMi9PWXhXSGpIUFpvV0hsOVdyWUhqRUdpZHU2RTBpaWZSUlNB?=
 =?utf-8?B?ajNSdW9JR2VwWUlvNmpLOVAyYXBYZ0haeGJ5U09qZTZQSE5jdndiVW42cFVD?=
 =?utf-8?B?ZnJ4bmlYV2g5WlJ5NzZhSmhwdElFUFp3M1U2SHBYeVp4K0lINUVGK2xLYVhz?=
 =?utf-8?B?QXdEbEhidkVpVTVpL2M5R3NYTUZtVDUyNXpyemljeGpRZ2p5cHF5dzZiUUpz?=
 =?utf-8?B?TWRwMFdSZDJPNmhWQmJJTWpXRlhDeHhkeUdHQ3NhYllsZDJ6bHo1R1dBbURI?=
 =?utf-8?B?bWlWMWpHbGpra3JJanAvK0lpNFRuR085Y1FMVUtzMG01RHZnSjR3TVVGdGlN?=
 =?utf-8?Q?e5/Ow9IAl6SIA2fLcf70pvdUk?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25a68ed5-3282-49de-f1b6-08dd6229961c
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5277.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 12:21:31.0682
 (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: WIvyvcAp2PuBxGhCDv9E412kUZgwwT73j+tAWGD1zW4gE0ZMyQAUIVEHELsJHwTf
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7785



On 13/03/2025 12:51, Luca Fancellu wrote:
> 
> 
> Hi Julien,
> 
>> On 13 Mar 2025, at 09:22, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 12/03/2025 13:52, Luca Fancellu wrote:
>>> Introduce variables and functions used in the common Arm code by
>>> MPU memory management subsystem, provide struct page_info and
>>> the MPU implementation for helpers and macros used in the common
>>> arm code.
>>> Moving virt_to_page helper to mmu/mpu part is not easy as it needs
>>> visibility of 'struct page_info', so protect it with CONFIG_MMU
>>> and provide the MPU variant in the #else branch.
>>
>> Have you considered including "asm/{mmu,mpu}/mm.h" **after** struct page_info is declared?
> 
> I didnât tried that, but if we do that we solve all the issues (I donât like #includes in the middle of headers,
> because of that I didnât try).
> 
> This is what it looks like:
> 
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index 9bf5c846c86c..b49ec9c3dd1a 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -14,14 +14,6 @@
>  # error "unknown ARM variant"
>  #endif
> 
> -#if defined(CONFIG_MMU)
> -# include <asm/mmu/mm.h>
> -#elif defined(CONFIG_MPU)
> -# include <asm/mpu/mm.h>
> -#else
> -#error "Unknown memory management layout"
> -#endif
> -
>  /* Align Xen to a 2 MiB boundary. */
>  #define XEN_PADDR_ALIGN (1 << 21)
> 
> @@ -264,53 +256,13 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len)
>  #define paddr_to_pfn_aligned(paddr)    paddr_to_pfn(PAGE_ALIGN(paddr))
> 
>  #if defined(CONFIG_MMU)
> -
> -#ifdef CONFIG_ARM_32
> -/**
> - * Find the virtual address corresponding to a machine address
> - *
> - * Only memory backing the XENHEAP has a corresponding virtual address to
> - * be found. This is so we can save precious virtual space, as it's in
> - * short supply on arm32. This mapping is not subject to PDX compression
> - * because XENHEAP is known to be physically contiguous and can't hence
> - * jump over the PDX hole. This means we can avoid the roundtrips
> - * converting to/from pdx.
> - *
> - * @param ma Machine address
> - * @return Virtual address mapped to `ma`
> - */
> -static inline void *maddr_to_virt(paddr_t ma)
> -{
> -    ASSERT(is_xen_heap_mfn(maddr_to_mfn(ma)));
> -    ma -= mfn_to_maddr(directmap_mfn_start);
> -    return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
> -}
> +# include <asm/mmu/mm.h>
> +#elif defined(CONFIG_MPU)
> +# include <asm/mpu/mm.h>
>  #else
> -/**
> - * Find the virtual address corresponding to a machine address
> - *
> - * The directmap covers all conventional memory accesible by the
> - * hypervisor. This means it's subject to PDX compression.
> - *
> - * Note there's an extra offset applied (directmap_base_pdx) on top of the
> - * regular PDX compression logic. Its purpose is to skip over the initial
> - * range of non-existing memory, should there be one.
> - *
> - * @param ma Machine address
> - * @return Virtual address mapped to `ma`
> - */
> -static inline void *maddr_to_virt(paddr_t ma)
> -{
> -    ASSERT((mfn_to_pdx(maddr_to_mfn(ma)) - directmap_base_pdx) <
> -           (DIRECTMAP_SIZE >> PAGE_SHIFT));
> -    return (void *)(XENHEAP_VIRT_START -
> -                    (directmap_base_pdx << PAGE_SHIFT) +
> -                    maddr_to_directmapoff(ma));
> -}
> +#error "Unknown memory management layout"
>  #endif
> 
> -#endif /* CONFIG_MMU */
> -
>  /*
>   * Translate a guest virtual address to a machine address.
>   * Return the fault information if the translation has failed else 0.
> diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
> index 5ff2071133ee..9557f632d8e6 100644
> --- a/xen/arch/arm/include/asm/mmu/mm.h
> +++ b/xen/arch/arm/include/asm/mmu/mm.h
> @@ -21,6 +21,50 @@ extern unsigned long directmap_base_pdx;
>      (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
>  })
> 
> +#ifdef CONFIG_ARM_32
> +/**
> + * Find the virtual address corresponding to a machine address
> + *
> + * Only memory backing the XENHEAP has a corresponding virtual address to
> + * be found. This is so we can save precious virtual space, as it's in
> + * short supply on arm32. This mapping is not subject to PDX compression
> + * because XENHEAP is known to be physically contiguous and can't hence
> + * jump over the PDX hole. This means we can avoid the roundtrips
> + * converting to/from pdx.
> + *
> + * @param ma Machine address
> + * @return Virtual address mapped to `ma`
> + */
> +static inline void *maddr_to_virt(paddr_t ma)
> +{
> +    ASSERT(is_xen_heap_mfn(maddr_to_mfn(ma)));
> +    ma -= mfn_to_maddr(directmap_mfn_start);
> +    return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
> +}
> +#else
> +/**
> + * Find the virtual address corresponding to a machine address
> + *
> + * The directmap covers all conventional memory accesible by the
> + * hypervisor. This means it's subject to PDX compression.
> + *
> + * Note there's an extra offset applied (directmap_base_pdx) on top of the
> + * regular PDX compression logic. Its purpose is to skip over the initial
> + * range of non-existing memory, should there be one.
> + *
> + * @param ma Machine address
> + * @return Virtual address mapped to `ma`
> + */
> +static inline void *maddr_to_virt(paddr_t ma)
> +{
> +    ASSERT((mfn_to_pdx(maddr_to_mfn(ma)) - directmap_base_pdx) <
> +           (DIRECTMAP_SIZE >> PAGE_SHIFT));
> +    return (void *)(XENHEAP_VIRT_START -
> +                    (directmap_base_pdx << PAGE_SHIFT) +
> +                    maddr_to_directmapoff(ma));
> +}
> +#endif
> +
>  /*
>   * Print a walk of a page table or p2m
>   *
> 
> 
> 
>>> Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
>>> pdx.c.
>>
>>
>> Maybe clarify in the commit message that the frametable will be setup at a later stage?
> 
> Sure
> 
>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>> ---
>>>  xen/arch/arm/include/asm/mm.h         | 18 ++++++++++++++++++
>>>  xen/arch/arm/include/asm/mpu/layout.h |  3 +++
>>>  xen/arch/arm/include/asm/mpu/mm.h     |  3 +++
>>>  xen/arch/arm/mpu/mm.c                 |  4 ++++
>>>  4 files changed, 28 insertions(+)
>>> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
>>> index e7767cdab493..c96d33aceaf0 100644
>>> --- a/xen/arch/arm/include/asm/mm.h
>>> +++ b/xen/arch/arm/include/asm/mm.h
>>> @@ -341,6 +341,8 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
>>>  #define virt_to_mfn(va)     __virt_to_mfn(va)
>>>  #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
>>>  +#ifdef CONFIG_MMU
>>> +
>>>  /* Convert between Xen-heap virtual addresses and page-info structures. */
>>>  static inline struct page_info *virt_to_page(const void *v)
>>>  {
>>> @@ -355,6 +357,22 @@ static inline struct page_info *virt_to_page(const void *v)
>>>      return frame_table + pdx - frametable_base_pdx;
>>>  }
>>>  +#else /* !CONFIG_MMU */
>>> +
>>> +/* Convert between virtual address to page-info structure. */
>>> +static inline struct page_info *virt_to_page(const void *v)
>>> +{
>>> +    unsigned long pdx;
>>> +
>>> +    pdx = paddr_to_pdx(virt_to_maddr(v));
>>> +    ASSERT(pdx >= frametable_base_pdx);
>>> +    ASSERT(pdx < frametable_pdx_end);
>>> +
>>> +    return frame_table + pdx - frametable_base_pdx;
>>> +}
>>> +
>>> +#endif /* CONFIG_MMU */
>>> +
>>>  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/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
>>> index 248e55f8882d..c46b634c9c15 100644
>>> --- a/xen/arch/arm/include/asm/mpu/layout.h
>>> +++ b/xen/arch/arm/include/asm/mpu/layout.h
>>> @@ -3,6 +3,9 @@
>>>  #ifndef __ARM_MPU_LAYOUT_H__
>>>  #define __ARM_MPU_LAYOUT_H__
>>>  +#define FRAMETABLE_SIZE   GB(32)
>>
>> I guess you copied the value for the MMU code for arm64. But is this value still sensible for MPU? What about arm32?
>>
>> In any case, some documentation would be useful.
> 
> Yes I took the one from arm64, here I probably need some help as there are not too many
> informations about how to size this.
It depends on your estimate about max RAM size you want to support in MPU case.
32GB / 56B (size of page_info on Arm64) - tells you how many page_info structs
you can have. The above value * 4K - tells you amount of RAM supported.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:53:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:53:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912076.1318413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsi4B-0000mK-UP; Thu, 13 Mar 2025 12:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912076.1318413; Thu, 13 Mar 2025 12:53: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 1tsi4B-0000mD-RX; Thu, 13 Mar 2025 12:53:39 +0000
Received: by outflank-mailman (input) for mailman id 912076;
 Thu, 13 Mar 2025 12:53: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=AcQu=WA=bounce.vates.tech=bounce-md_30504962.67d2d54e.v1-4b11ec04e3ad48b2a1d2efc1d2fa0355@srs-se1.protection.inumbo.net>)
 id 1tsi49-0000jj-S8
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:53:38 +0000
Received: from mail177-1.suw61.mandrillapp.com
 (mail177-1.suw61.mandrillapp.com [198.2.177.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2cda48a4-000a-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 13:53:35 +0100 (CET)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-1.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4ZD6qy2lxkzBsThl8
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 12:53:34 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 4b11ec04e3ad48b2a1d2efc1d2fa0355; Thu, 13 Mar 2025 12:53: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: 2cda48a4-000a-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741870414; x=1742140414;
	bh=nlw6syXGRu4/CSR+KHG0UoStDr8ILMMP04ktOJRAgbg=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=GmKui1GM6mbTESglJ10/J5RIkpnKIgxufvSruYiv/GExTJZiHQf5jMWRmydz3EfqG
	 DCPOcsnPTfB8jpVUae62d90oC8AK/0ECebAOCuGSQqos1FtuhhXIunaUQVs2SHOiS9
	 W3lgEKgc6UMQnqJTgCGNoUNWuutUjb6UJ3Fa6dD4vmtbS5DjhHlvsezS8Arhaiu/mg
	 2QiCylcE57qJUWc/1KLW0FksbJIxi0mPqVgmJ457RFOTwzEXqyZpcuDXarfUYatzQn
	 iqFBvU2ig9UtOFGAYeP79G0DuwMu/McQYR6+rek4ldIUTEcSd53kVh6SBPQwxCkQvU
	 ckp0pV6Brc5ag==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741870414; x=1742130914; i=anthony.perard@vates.tech;
	bh=nlw6syXGRu4/CSR+KHG0UoStDr8ILMMP04ktOJRAgbg=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=q1m4H8XsT3VzaNNElhHMYNvCZEzlaQUIfEN+rHVyait3iljltfWmNASbAIRCGjyxq
	 OMDtE7yksPanyFPNsCdCxFvQ+t7+Azbyt+q2pzxI4UrOYo8oIscvK7BZRD2F87hudn
	 Be3pE49l3yPk5HP6F5Df0vLmHPuhOHfD8S0e7SUkYGNu6pHGT3RLDzSxOUmv2ORnsI
	 FiRQIY0RYDC8fe/KFVYxcLO5jR7hRz0hsQUvyqKsDFr3eUZ6stV2LCO0Uh2PW16NwC
	 3thjQ9bNh1sf9WF31F9OcEqNvrSN6N9NVaBB5odHOjc4groARUHbrqyQfzRZSXJI1B
	 YDfFQ/aiOnnAw==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v4]=20docs:=20specify=20numerical=20values=20of=20Xenstore=20commands?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741870412826
To: "Juergen Gross" <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, "Andrew Cooper" <andrew.cooper3@citrix.com>, "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>
Message-Id: <Z9LVSxJYK5CohY7l@l14>
References: <20250313110640.4330-1-jgross@suse.com>
In-Reply-To: <20250313110640.4330-1-jgross@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.4b11ec04e3ad48b2a1d2efc1d2fa0355?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250313:md
Date: Thu, 13 Mar 2025 12:53:34 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 13, 2025 at 12:06:40PM +0100, Juergen Gross wrote:
> In docs/misc/xenstore.txt all Xenstore commands are specified, but
> the specifications lack the numerical values of the commands.
> 
> Add a table with all commands, their values, and a potential remark
> (e.g. whether the command is optional).
> 
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - replace "=C5=95" with plain "r" (Jan Beulich)
> - replace hard tabs with blanks (Jan Beulich)
> - allow GET_FEATURES and GET_QUOTA support without SET_* (Jan Beulich)
> V3:
> - specify error code returned for unsupported commands (Julien Grall)
> - reword XS_DIRECTORY_PART related text (Julien Grall)
> V4:
> - drop "XS_" prefixes as they are language specific (Anthony Perard)

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 12:59:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 12:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912093.1318422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsi9f-0001Nj-Gb; Thu, 13 Mar 2025 12:59:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912093.1318422; Thu, 13 Mar 2025 12:59: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 1tsi9f-0001Nc-Db; Thu, 13 Mar 2025 12:59:19 +0000
Received: by outflank-mailman (input) for mailman id 912093;
 Thu, 13 Mar 2025 12:59: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsi9d-0001NG-VT
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 12:59:17 +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 f7cc4f6e-000a-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 13:59:15 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso5691705e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 05:59: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-395c7df33ccsm2114628f8f.15.2025.03.13.05.59.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 05: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: f7cc4f6e-000a-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741870755; x=1742475555; 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=L+Wgxcw+fBE4PFuxirOwUzD6At8f6plv1yh5iZ9Rl1I=;
        b=DRlaDZymDTIpMezSLSiJbDBoMx0w/aHwTELAImm7sA0+uzO54laqfEf0EQNTtdhs9l
         P5raJ/kr1IlYOfZNnmJucQXz2YhF4WVn1k5GqyH9QUIwCyQ7w/BPqQuQvG2PJ+MZxYW/
         FVQtVezHDCFDOGvhw8z5b6bSf34MqISg/ozB5Pv4IyeeGsNKrtaobdvNn3pug0P4XeKR
         vzJUkA/kmIoMv6DDMaC4s2/UcA3cDAttI+IRcKrCmQH67H2KsXlMP7IAsGgKe03wlFtJ
         6J8PxRbHn8JgS9qm2VgGWV06XVeEYFyQJHoKLuWq7ej8jvSfqf7EL87w+lK8PmKZ4Niz
         MZNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741870755; x=1742475555;
        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=L+Wgxcw+fBE4PFuxirOwUzD6At8f6plv1yh5iZ9Rl1I=;
        b=qnMwokk1VCrAm6aIOMBEAexTbgBXAXs7xTQFu22BTG1vQbLsA1Q2T1kl4RetcRGzgm
         zriSB1Fx1KOmBsqqyHhv92rzN1jT6Z9kr4ZpJJEcj4NZ668fOcq+XvzCKHUPzVfArMLK
         ETI6gz13zAT0d1OXGW8DZaXpbNncJzBP+Ix9ykT7C5IJ7OiSFlQHkkZCn4ERYVnYMSIn
         Yyi9OwC02bg3zgEYe8QJxG4lA8QKnqnUBKD03aH7z5I02slQP4/90SkfW5K4Q48dvYTG
         8SWUJRaXNaC08THR97BZ+CLWFmRfY2J6GhvDd+kNnpTmkgXfMGPTfg3yaLP1IN72UOzM
         0PTg==
X-Forwarded-Encrypted: i=1; AJvYcCUjrotBkU+OHupHYx8bhhtOrw2ZRXY+NWqvq1scoqKk7hVPUnVB8l9Yck960A7wj2PwogZ6Folr1ug=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9Z+BsC2m/7GbuSyuCEO9++avVoyXi8pnB/opOVK4jLFVEJyIQ
	RqIv1vEPqix9d9NqpCRU1/F1+JeC5cs7NXaYUb0jJ6fUP4VjUFSNfBwlsnLkGQ==
X-Gm-Gg: ASbGncu6H6rc3XUOr5iozDbkqg1Hlc5JqStP5IXZh1dKy5D6wmJ7OH9C6Fdf9NP0hsU
	XIOEGx6xwg0xHMafxsJkZJRSbgXyy8kPJ4hEPeX3TKii/++qIqgR5Ex9ZVZ181ZiXvn4t+3LF6T
	wAzXxA7FFyiKl9/9ho9izRRE0XIxlsnF/pJfVl1kPqAfelATjdJxVvwHXsTNDm3p6mNCljD8t/D
	UGYnASIcjhnDCsaGw4lr18NuI+CrYTregHDx6rMEUa3jwzCVlgtmiNytD9csLfqPJ/ZZKmMM3K+
	y/uWicUrmWruu+MuxCweNyI22CtPEEXZinVnfe2GV50UJaiC71oufrbxR+p/aFXj0aV6g3pd4eO
	YN/LvarW045MxW/yTTY8ZtUuOENQZdg==
X-Google-Smtp-Source: AGHT+IG476cxO9ja8WlSo2+seEDn4Po6Z7PTROwjNJR/8tCgMN/NRfV7SfPN2I3IAVwTTT0v2INz6Q==
X-Received: by 2002:a05:6000:156d:b0:391:2192:ccd6 with SMTP id ffacd0b85a97d-3926c1cd9e5mr12409070f8f.39.1741870755065;
        Thu, 13 Mar 2025 05:59:15 -0700 (PDT)
Message-ID: <6d910ac4-cf1d-48ee-b088-17254d2272ab@suse.com>
Date: Thu, 13 Mar 2025 13:59:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/8] xen/common: Split tlb-clock.h out of mm.h
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-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: <20250312174513.4075066-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.03.2025 18:45, Andrew Cooper wrote:
> xen/mm.h includes asm/tlbflush.h almost at the end, which creates a horrible
> tangle.  This is in order to provide two common files with an abstraction over
> the x86-specific TLB clock logic.
> 
> First, introduce CONFIG_HAS_TLB_CLOCK, selected by x86 only.  Next, introduce
> xen/tlb-clock.h, providing empty stubs, and include this into memory.c and
> page_alloc.c
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> There is still a mess here with the common vs x86 split, but it's better
> contained than before.
> ---
>  xen/arch/x86/Kconfig        |  1 +
>  xen/common/Kconfig          |  3 +++
>  xen/common/memory.c         |  1 +
>  xen/common/page_alloc.c     |  1 +
>  xen/include/xen/mm.h        | 27 --------------------
>  xen/include/xen/tlb-clock.h | 49 +++++++++++++++++++++++++++++++++++++
>  6 files changed, 55 insertions(+), 27 deletions(-)
>  create mode 100644 xen/include/xen/tlb-clock.h
> 
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 6e41bc0fb435..e9a166ee3dd0 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -28,6 +28,7 @@ config X86
>  	select HAS_PCI_MSI
>  	select HAS_PIRQ
>  	select HAS_SCHED_GRANULARITY
> +	select HAS_TLB_CLOCK
>  	select HAS_UBSAN
>  	select HAS_VMAP
>  	select HAS_VPCI if HVM
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 6166327f4d14..dcf7d9d00d0a 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -83,6 +83,9 @@ config HAS_PMAP
>  config HAS_SCHED_GRANULARITY
>  	bool
>  
> +config HAS_TLB_CLOCK
> +	bool
> +
>  config HAS_UBSAN
>  	bool
>  
> diff --git a/xen/common/memory.c b/xen/common/memory.c
> index 61a94b23abae..9138fd096696 100644
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -24,6 +24,7 @@
>  #include <xen/perfc.h>
>  #include <xen/sched.h>
>  #include <xen/sections.h>
> +#include <xen/tlb-clock.h>
>  #include <xen/trace.h>
>  
>  #include <asm/current.h>
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index bc029ea797a2..b90c3d7988b4 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -137,6 +137,7 @@
>  #include <xen/sections.h>
>  #include <xen/softirq.h>
>  #include <xen/spinlock.h>
> +#include <xen/tlb-clock.h>
>  #include <xen/vm_event.h>
>  #include <xen/xvmalloc.h>
>  
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 45000cc3f64b..fff36ff903d6 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -588,33 +588,6 @@ unsigned long get_upper_mfn_bound(void);
>  
>  #include <asm/flushtlb.h>
>  
> -static inline void accumulate_tlbflush(bool *need_tlbflush,
> -                                       const struct page_info *page,
> -                                       uint32_t *tlbflush_timestamp)
> -{
> -    if ( page->u.free.need_tlbflush &&
> -         page->tlbflush_timestamp <= tlbflush_current_time() &&
> -         (!*need_tlbflush ||
> -          page->tlbflush_timestamp > *tlbflush_timestamp) )
> -    {
> -        *need_tlbflush = true;
> -        *tlbflush_timestamp = page->tlbflush_timestamp;
> -    }
> -}
> -
> -static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
> -{
> -    cpumask_t mask;
> -
> -    cpumask_copy(&mask, &cpu_online_map);
> -    tlbflush_filter(&mask, tlbflush_timestamp);
> -    if ( !cpumask_empty(&mask) )
> -    {
> -        perfc_incr(need_flush_tlb_flush);
> -        arch_flush_tlb_mask(&mask);
> -    }
> -}
> -
>  enum XENSHARE_flags {
>      SHARE_rw,
>      SHARE_ro,
> diff --git a/xen/include/xen/tlb-clock.h b/xen/include/xen/tlb-clock.h
> new file mode 100644
> index 000000000000..796c0be7fbef
> --- /dev/null
> +++ b/xen/include/xen/tlb-clock.h
> @@ -0,0 +1,49 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef XEN_TLB_CLOCK_H
> +#define XEN_TLB_CLOCK_H
> +
> +#include <xen/types.h>
> +
> +#ifdef CONFIG_HAS_TLB_CLOCK
> +
> +#include <xen/mm.h>
> +
> +#include <asm/flushtlb.h>
> +
> +static inline void accumulate_tlbflush(
> +    bool *need_tlbflush, const struct page_info *page,
> +    uint32_t *tlbflush_timestamp)
> +{
> +    if ( page->u.free.need_tlbflush &&
> +         page->tlbflush_timestamp <= tlbflush_current_time() &&
> +         (!*need_tlbflush ||
> +          page->tlbflush_timestamp > *tlbflush_timestamp) )
> +    {
> +        *need_tlbflush = true;
> +        *tlbflush_timestamp = page->tlbflush_timestamp;
> +    }
> +}
> +
> +static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
> +{
> +    cpumask_t mask;
> +
> +    cpumask_copy(&mask, &cpu_online_map);
> +    tlbflush_filter(&mask, tlbflush_timestamp);
> +    if ( !cpumask_empty(&mask) )
> +    {
> +        perfc_incr(need_flush_tlb_flush);

Would this perf counter then perhaps also want to become dependent upon
HAS_TLB_CLOCK=y (or become an arch-specific one)? It's used elsewhere in x86,
but not for any of the other arch-es.

However, see below.

> +        arch_flush_tlb_mask(&mask);
> +    }
> +}
> +
> +#else /* !CONFIG_HAS_TLB_CLOCK */
> +
> +struct page_info;
> +static inline void accumulate_tlbflush(
> +    bool *need_tlbflush, const struct page_info *page,
> +    uint32_t *tlbflush_timestamp) {}
> +static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp) {}

Is doing nothing here correct? mark_page_free() can set a page's
->u.free.need_tlbflush. And with that flag set the full

static inline void accumulate_tlbflush(
    bool *need_tlbflush, const struct page_info *page,
    uint32_t *tlbflush_timestamp)
{
    if ( page->u.free.need_tlbflush &&
         page->tlbflush_timestamp <= tlbflush_current_time() &&
         (!*need_tlbflush ||
          page->tlbflush_timestamp > *tlbflush_timestamp) )
    {
        *need_tlbflush = true;
        *tlbflush_timestamp = page->tlbflush_timestamp;
    }
}

reduces to (considering that tlbflush_current_time() resolves to constant 0,
which also implies every page's ->tlbflush_timestamp is only ever 0)

static inline void accumulate_tlbflush(
    bool *need_tlbflush, const struct page_info *page,
    uint32_t *tlbflush_timestamp)
{
    if ( !*need_tlbflush )
        *need_tlbflush = true;
}

which means a not-stubbed-out filtered_flush_tlb_mask(), with tlbflush_filter()
doing nothing, would actually invoke arch_flush_tlb_mask() (with all online CPUs
set in the mask) when called. And arch_flush_tlb_mask() isn't a no-op on Arm.

I therefore think that while moving stuff into a separate header makes sense,
HAS_TLB_CLOCK isn't overly useful to introduce.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:03:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:03:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912107.1318434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsiDX-00046a-17; Thu, 13 Mar 2025 13:03:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912107.1318434; Thu, 13 Mar 2025 13:03: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 1tsiDW-00046T-TC; Thu, 13 Mar 2025 13:03:18 +0000
Received: by outflank-mailman (input) for mailman id 912107;
 Thu, 13 Mar 2025 13:03: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsiDW-000464-3G
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:03:18 +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 86205400-000b-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:03:14 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-390effd3e85so796645f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:03:14 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c82c258bsm2022293f8f.24.2025.03.13.06.03.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:03: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: 86205400-000b-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741870994; x=1742475794; 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=0AfZHDw+lwjSrrZnBZ4sB1TW5PACAnANPPCrSf3ABGE=;
        b=TBTLDCtKQTzwyo2nyNZnBW3CizQtakTpB3CZrxXeG7qXMMScOSiAx/DEL48E4ryfPm
         A7maOhSHjRAe/3bjhP/FXtm98PpGxRaKwdlS/qY3Pso7XMcPtZlxpqKLGxT/peBivMQx
         Sz5BHc0OS41d83HutRvK7opzalqGfK1JZlfX02LvvpnsTTF73s87jeCSmV2Str6AthP0
         tQPeeehuN3GHyQ+hbk20zDasyaMA+nRgvIncCwV127HjIKIYHl0zOhHxzsE9ooJYgJcW
         GIcpcgTOpki5jZXL/8jCNZXkq4rEeevhDbNMX3sPT8pXc4JG03Rf5BUoka1eR3xcJwnj
         Y7aA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741870994; x=1742475794;
        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=0AfZHDw+lwjSrrZnBZ4sB1TW5PACAnANPPCrSf3ABGE=;
        b=Fz77/lGjOaqXpXxe0BdWyZaxIFfky4IY2Z8r6kyuhahjS+MYhvrP7ChdLySQqiNe+V
         knCctVU/UixO4iQSKRCyG9KrHZz3fgWpTFdWLf25U9VtTDvaTPDz22+c4r8GC8quS5xh
         xpM05CouQnY6Mf4r9TQghqXUa2jiY5eUHd7R9C96BtXk8nY+APcbdw+7OREWRlzTTRgZ
         +x8n+8EpwqhDixnsjxfkRHMSJ9NEYrFEyghgwfH+zgMkQzUanin1MPPsJCz2HSRsEpd+
         Azf0YEhZQKsMYVKiG7TIGiwbL1yeg6/9ama6Trm2HBDfWaikpQ6DVZPzYxCZhRQA4wtr
         /BfQ==
X-Forwarded-Encrypted: i=1; AJvYcCUQbrkdAB+XvfMhfTYiBKBg4uSR1VM8xnV3M3JHawUWy2bMzjiZZF4O7dTjvUhiG2gHvZl9IvNGQl4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNTwbqq63DjUKTnNwRSwEQKEj5xiLwaMo99e4OLdJzZyB9HQJS
	JjbOP30jsuSLZsqh+r8F4o4WZIgO6bnMD1fyRQIK84ZkGkT0FZtUEnX452DlyNM=
X-Gm-Gg: ASbGncvw4EoWOlS6hyPCxddH0zGSoajDJq8N3gDd/hjX9VUZl0TKfClVh7+hUKh1YFl
	TWPyMIpvLhpj51nEXaQb6xcxfbH8/1zI+0LAvk1/RC9ytKYlv6yJeQEZf4pkiD58IJ5t2zqP2mo
	dZ42nD2MDyB03lh/OhcKQ4GgVmFUSdkI+wuDYj3qHxQgCh6FuZdC7veBuzQEzzsR5cTyxliNdbQ
	bAb2H4dAaW6EkhQHbc5vmh6xTI35EKG3nWbF40i4OVhHp8TO8yzJ7wwykT85dc3bOSNz5IIiX8b
	NF700HqpEbuAnwWtlAd44Y1QiHp5mHcZqy5xea2/bir6jDVpObxg7D1LrnSptV3v93ZPKyQImLb
	ck9mu3MrXJtsGyjVaCKXcxpIZnocoXKLBF7b8nby54nVbeewIKmSCxOPXDcpNG2oM+AeIjmHz+2
	F3WQ==
X-Google-Smtp-Source: AGHT+IFk7M6IDma2MPCulDbnkk8LFeOC+6E1Dyu5EQPr2nOheHTVY8+dJNmbZvrG43lmBv7LN9Lm7w==
X-Received: by 2002:a5d:47cc:0:b0:390:f0ff:2c11 with SMTP id ffacd0b85a97d-39132d30b96mr17258240f8f.2.1741870992555;
        Thu, 13 Mar 2025 06:03:12 -0700 (PDT)
Message-ID: <aba6bc8f-8bd4-4d76-915c-79992ad26896@suse.com>
Date: Thu, 13 Mar 2025 14:03:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Discussion on unexpected behavior of ARINC653 scheduler
To: "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
References: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.com>
 <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.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: <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------FFOB0gtSG50YkS0AHs9w99iE"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------FFOB0gtSG50YkS0AHs9w99iE
Content-Type: multipart/mixed; boundary="------------EvsY8hm17rpUnJLoo8Rqul7t";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
Message-ID: <aba6bc8f-8bd4-4d76-915c-79992ad26896@suse.com>
Subject: Re: Discussion on unexpected behavior of ARINC653 scheduler
References: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.com>
 <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To: <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>

--------------EvsY8hm17rpUnJLoo8Rqul7t
Content-Type: multipart/mixed; boundary="------------cbQvgCNC0WndAolQr5SS50rw"

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

T24gMTMuMDMuMjUgMTA6MjcsIENob2ksIEFuZGVyc29uIHdyb3RlOg0KPiBKdWVyZ2VuLA0K
PiANCj4+IE9uIDEzLjAzLjI1IDA3OjUxLCBDaG9pLCBBbmRlcnNvbiB3cm90ZToNCj4+PiBX
ZSBhcmUgb2JzZXJ2aW5nIGFuIGluY29ycmVjdCBvciB1bmV4cGVjdGVkIGJlaGF2aW9yIHdp
dGggQVJJTkM2NTMNCj4+IHNjaGVkdWxlciB3aGVuIHdlIHNldCB1cCBtdWx0aXBsZSBBUklO
QzY1MyBDUFUgcG9vbHMgYW5kIGFzc2lnbiBhDQo+PiBkaWZmZXJlbnQgbnVtYmVyIG9mIGRv
bWFpbnMgdG8gZWFjaCBDUFUgcG9vbC4NCj4+DQo+PiAuLi4NCj4+DQo+Pj4gSXQgc2VlbXMg
dGhlcmUncyBhIGNvcm5lciBjb25kaXRpb24gaW4gdXNpbmcgdGhlIGdsb2JhbCB2YXJpYWJs
ZXMgInNjaGVkX2luZGV4Ig0KPj4gYW5kICJuZXh0X3N3aXRjaF90aW1lIiB3aGVuIG11bHRp
cGxlIEFSSU5DNjUzIGNwdXBvb2xzIGFyZSBydW5uaW5nIG9uDQo+PiBkaWZmZXJlbnQgcGh5
c2ljYWwgQ1BVcw0KPj4+DQo+Pj4gVGhlIHZhcmlhYmxlcyBzY2hlZF9pbmRleCBhbmQgbmV4
dF9zd2l0Y2hfdGltZSBhcmUgZGVmaW5lZCBhcyBzdGF0aWMNCj4+PiBhdCB4ZW4vY29tbW9u
L3NjaGVkL2FyaW5jNjUzLmMgYXMgc2hvd24gYmVsb3cuDQo+Pj4NCj4+PiBzdGF0aWMgdm9p
ZCBjZl9jaGVjaw0KPj4+IGE2NTNzY2hlZF9kb19zY2hlZHVsZSgNCj4+PiAgICAgICBjb25z
dCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBzY2hlZF91bml0ICpwcmV2LCBzX3Rp
bWVfdA0KPj4+ICAgICAgIG5vdywgYm9vbCB0YXNrbGV0X3dvcmtfc2NoZWR1bGVkKSB7IHN0
cnVjdCBzY2hlZF91bml0ICpuZXdfdGFzayA9DQo+Pj4gICAgICAgTlVMTDsgc3RhdGljIHVu
c2lnbmVkIGludCBzY2hlZF9pbmRleCA9IDA7ICAgIDw9PSBzdGF0aWMgc190aW1lX3QNCj4+
PiAgICAgICBuZXh0X3N3aXRjaF90aW1lOyAgICAgICA8PT0NCj4+DQo+PiBUaGFua3MgZm9y
IHRoZSByZXBvcnQhDQo+Pg0KPj4gQ291bGQgeW91IHBsZWFzZSB2ZXJpZnkgdGhlIGF0dGFj
aGVkIHBhdGNoIGlzIGZpeGluZyB5b3VyIHByb2JsZW0/DQo+Pg0KPj4gQW5kIHBsZWFzZSB0
ZWxsIG1lIHdoZXRoZXIgYWRkaW5nIHlvdSBhcyAiUmVwb3J0ZWQtYnk6IiBpcyBmaW5lIHdp
dGggeW91IQ0KPj4NCj4+IEp1ZXJnZW4NCj4gDQo+IFRoYW5rcyBmb3IgdGhlIHF1aWNrIHBh
dGNoLiBJIGhhdmUgdmVyaWZpZWQgdGhlIHBhdGNoIGZpeGVzIHRoZSBpc3N1ZSBhbmQgSSBj
YW4gc2VlIGRvbWFpbnMgYXJlIHJ1bm5pbmcgYXQgdGhlIHByb2dyYW1tZWQgaW50ZXJ2YWwu
DQoNClRoYW5rcyBmb3IgdmVyaWZ5aW5nLg0KDQo+IA0KPiBBbmQgSSBhbSB0b3RhbGx5IGZp
bmUgd2l0aCAiUmVwb3J0ZWQtYnkiLg0KPiANCj4gTWF5IEkga25vdyB3aGVuIHlvdSB0aGlu
ayBpdCB3b3VsZCBiZSBtYWlubGluZWQ/IEFuZCB3aWxsIGl0IGJlIGFwcGxpZWQgdG8gYWxs
IGJyYW5jaGVzLCBsaWtlIDQuMTkgYW5kIDQuMjA/DQoNClNob3VsZG4ndCBiZSB0b28gbG9u
ZywgYnV0IHRoaXMgd2lsbCBkZXBlbmQgb24gbWFpbnRhaW5lcnMgZ2l2aW5nIHRoZWlyIG9r
YXkuDQoNCkFzIHRoZSBwYXRjaCBpcyBmaXhpbmcgYSByZWFsIHdvcmxkcyBidWcsIGl0IHNo
b3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgc3RhYmxlDQpicmFuY2hlcywgdG9vICg0LjE4IGFu
ZCBuZXdlciBzdGlsbCBnZXQgYmFja3BvcnRzKS4NCg0KDQpKdWVyZ2VuDQo=
--------------cbQvgCNC0WndAolQr5SS50rw
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-----

--------------cbQvgCNC0WndAolQr5SS50rw--

--------------EvsY8hm17rpUnJLoo8Rqul7t--

--------------FFOB0gtSG50YkS0AHs9w99iE
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/Ey8FAmfS144FAwAAAAAACgkQsN6d1ii/Ey+i
Iwf/VyIv1B8LZRTVnAQS+isj8SBXRNQMi05a07izPTRo3ydSBa6el5rSpfK61ReHWW3erUBe3D4W
tc/a/Q0zRCV4qvbZlxnk8yiLRESz9nBI0RDD2HzNhdze3ZSBB7opeVxtIPPE/dXnH3Zh6jX3kRcL
VabHxRDmrsmQHWXVbZpR1H5Kl80+Er0WPwEvAs0T42d2J2ns5UbBaIdDVxsckR84jLP21QKZAXkW
9LbZa4DHfxl8+f3TaMZOVKldZxCD4I5tUYuJtpFDyC3anv8ptkC9FJnRSfi3TpyQ3UZWYLvtRLaG
aRq2QqeLjCWL9Ts2Quen3wgsOsKTQKA0khoY/o0qmg==
=u/o9
-----END PGP SIGNATURE-----

--------------FFOB0gtSG50YkS0AHs9w99iE--


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:05:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912120.1318443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsiFj-0004jz-FA; Thu, 13 Mar 2025 13:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912120.1318443; Thu, 13 Mar 2025 13:05: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 1tsiFj-0004js-C8; Thu, 13 Mar 2025 13:05:35 +0000
Received: by outflank-mailman (input) for mailman id 912120;
 Thu, 13 Mar 2025 13:05: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsiFi-0004jk-77
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:05:34 +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 d8438239-000b-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:05:32 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso8291875e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:05: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-395c82c258bsm2027930f8f.24.2025.03.13.06.05.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:05: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: d8438239-000b-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741871132; x=1742475932; 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=jM45XkxNyBQjNkMLZBsVHXbkMf4SzfY6mn/uxfZVz9k=;
        b=a5UH+i9zVjB471nCyjR3SH+W/YvkSHBPFphRwbBf4TVZLxuWTIlsVTOYX5+pDbhybg
         IKN41lbB0jeGa9OhMsHKZW4yChPDJckhxL+d6n0oNj0MdOc+jD9A441cOJz6I8rW2Frg
         8+aeL/hPF1Gx+LH2S+Uzey2i+/pLUXA2iGzWf39zDRCQjr2qRzJ5ds8VdYK4GGUzBj20
         pZRAW20JAGtwjPXwmQo3Q3q/9F8I67lbcpOwUWmIopVnNfwNhFZ2HKuWcKVI7o4P5PWc
         rNlJaA8c2EhVlnY418xax6bgCyazQkOFPUDnuoEFuzrAZslkD1a9a9MY9DJ/sTxU/56c
         sXbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741871132; x=1742475932;
        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=jM45XkxNyBQjNkMLZBsVHXbkMf4SzfY6mn/uxfZVz9k=;
        b=vyy7KDLa96LaF69j7RgemCJOBtx5vYtogpmsE5r3x6c4/kVUQfgbJSfbZbdjnC32xY
         GJX7LMlrQV8fpwh2yyejZuz5OXI23AZ36kwLVAz5Mn9mGMeXTVd0V2+/yplvrJ40Ua/F
         5rKS65YcDxC/Doeigk8BDuVmnjPZLSsiJEKfhNRDqIs6ywROMuiHLi600LwbZ7OGqD+2
         /wPtJlYzKb8lVrXO8LOqGFj3K+8ibV8/b7f7y4AZzRRCl6KSkJSYuORf3qXmIAPUEYkC
         ypo1Athat7WlBUe5AYPbKp0F50RXjBKeS0bHySASzXrSVgyfD7YetjC+/E57fqzK/FFB
         M8tg==
X-Forwarded-Encrypted: i=1; AJvYcCVPCz6JHz/RxsI55LYqACXBoZ2RMIx6t3IgfY1Ts9g7QthZmnJ6ZXVbW0yooK8gr0zQElf8bz3LVsg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzdKGiEIVKWn1H4EMEyOI7y2x7rEUSXZCfV9sHS7s1v73pwLnmx
	TD/v6FJGJUMFh5VKaAk9BVzkmBJ9509f4ejR0AYjpUTNkAyVgxrk63IPWqimhQ==
X-Gm-Gg: ASbGnctPdJ3Tu2zFJd+naEURe2dZJDRB7YWew2W58P7YtiIBCoVikwT7DL5x3lKNKvZ
	acQrMvum6NOhlZ8gvnfz5pDbMU0JEJworeVZMFTg/K00m4keuhFx3AfUNV9s1HAFSsjSjgW2kSm
	cVD+E3EV4iIq3vFyKRnd3LQR0QzJIGmykQqF5abMr6DwrfW66GaS24EpEPjg5rI3pNX0DJk5+ez
	6FnITE15omr1XICtOmMjbgFi60BBz11MSIcaL9kK6/svRKzqdih2wgGnCUTOCahuPEN86Lo8JQE
	/2oF+K9LN4H/rchuZCtAN3IhW48RD2sax7yp/cD0oSR04ELzrt4LwybVPKX8JNF5eBc5SIiF7w7
	37i/SwfvjEP5wG8Z+17+6ffovDS40ag==
X-Google-Smtp-Source: AGHT+IE1LWuUc3IwZwS99hBeWjS+AOjAUUv5wIAg1O78kdyDfQ3k1AsrcCGga65D5UuEOyRSnSeGbQ==
X-Received: by 2002:a5d:5f94:0:b0:38f:4d20:4a17 with SMTP id ffacd0b85a97d-392641bcf76mr12741627f8f.13.1741871131636;
        Thu, 13 Mar 2025 06:05:31 -0700 (PDT)
Message-ID: <c3890a8a-afe5-44ef-9c67-2ef0d73346a6@suse.com>
Date: Thu, 13 Mar 2025 14:05:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] xen/arch: Strip out tlb-clock stubs for
 non-implementors
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-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: <20250312174513.4075066-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 18:45, Andrew Cooper wrote:
> Now that there's a common stub implementation TLB clocks, there's no need for
> architectures to provide their own.
> 
> Repeatedly zeroing page->tlbflush_timestamp is no use, so provide an even more
> empty common stub for page_set_tlbflush_timestamp().

At which point the field itself could in principle go away. There are three
printk()s (accompanying BUG()s) which use it; surely we can find a way to
abstract that out. This may then still be enough of a reason to introduce
HAS_TLB_CLOCK.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:14:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:14:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912130.1318452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsiO9-0007XD-7W; Thu, 13 Mar 2025 13:14:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912130.1318452; Thu, 13 Mar 2025 13: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 1tsiO9-0007X6-4u; Thu, 13 Mar 2025 13:14:17 +0000
Received: by outflank-mailman (input) for mailman id 912130;
 Thu, 13 Mar 2025 13:14: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsiO7-0007X0-Oq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:14:15 +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 0eafc444-000d-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:14:13 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43948021a45so8100975e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:14: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-43d0a74d558sm53464955e9.15.2025.03.13.06.14.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06: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: 0eafc444-000d-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741871652; x=1742476452; 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=guEkeWx/FqE3FMvJpuz9pVjvKgSt0VIztTBPUY/p+Q8=;
        b=Nr9bqWjL538DQslTBACZFOzKMxk1nffoeeU6e/7JNThWl2DYTC+K/5XESosAT+zTWg
         2Eb+OmaEYVdFeb952rGTR3GPyO8gkmVl+4ModX88YDPG5mIZfW+Vfp2dTsWPsjISg8aS
         wdPZ+zTToAWO6ZVD+yurvhh058sk5Ub467KKNIGuRVldCpNHft7RNfoPa0fQLLoMl4MU
         /yH2oiZm3C/Beh+Z1DC4DEjl5mTNerLJzYjyTR3uBHfSo3Hfft72rKAZCgsZExXmWBvP
         eJc7goi2yrwfGSAaYutADhevLhhNHLM30MZMhKTFH3+SOYIKU1AsAKKkoBhvvws5658h
         2lAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741871652; x=1742476452;
        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=guEkeWx/FqE3FMvJpuz9pVjvKgSt0VIztTBPUY/p+Q8=;
        b=K8OgbqtoQ6usQBqJM5iPI4DQ1z213F/8IKbAO4e+Pe4U/HSO9o7VYTu/vrbuKdyFnQ
         Oc9DFcvV+aZbbTvQlbrlWN9u4X/QyB3oH5Uvr5jL9IGc3KM5V0dUhrj/DGMhsIZDadpA
         iFnjM2bUwGi0eaJ3wZXfk6YSFBdhbspX2UAEBPMp7q+xQKabM3skpqNbNQIcHuxloqq3
         4rWHcxVwo8tqXhjKJK3YSt6iXuWaYlqf252811qS1sanJL7lYkXo1PoJxDZyVxBDmJUW
         bJWlvArsYEaDt0a7lmTJdbPVoHfCqcrJ4qsE3dr8fFLO13RUhTVtu/67GO6Klk+e4T0F
         jsxQ==
X-Forwarded-Encrypted: i=1; AJvYcCUgTHqTdE/mjkjX/OmHLiEyJesTK02/gkMbIiv4xfXKn24aq8HmczJTml7lDZ3mdOrr0W2U5luiHn0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEqUuX8obr5LVp9eoejST/3YlaG1Ef4/m6J2kXmVMykyrPovjt
	N/30BAHxylqfDxgaUSr5eTVWnC4t23B+oIQY0h30hIZJfEG5IGUfOL+gprsQ7A==
X-Gm-Gg: ASbGncvPJZNu+OeCnSpH6XD3AijSvIDnZGBYJNM3xsGSUNKfQIdVTnIpsfLE/3ZC8sF
	MQbGLH0qIT9+VhRX3grMYk0CTX2wGmtqAE/iqg6LcKtfEwV2CIryBU9XzFeHBeDF4yhLKxZCex+
	LtfsrQhpJRgWAITCq11VCi8R/N4s6/CgoHXW+AOyJPdUlgS7ngnhqX0w9Z1vRT6CmzRM6v7M2ha
	naFfZlSl9UF3I4WKx4EUuuttXNqlY7t/JaB33nRnx0NrKRzWj4JBA1c9NOO4Nj0WRyVEYlAmeoB
	xOfjHZ0bdO5PjMQFoGVtRvQuQEaJwslY8XSB4Ud5A91BdoFX3BLbycr34HVv3pQ/NQog+fmrSDt
	FYAjCBAhf8X0MZnXQdFBoyvQtrXHFkw==
X-Google-Smtp-Source: AGHT+IH6QkdAPlUsT08mgJ1aY28Z4I5uFTPTVbQQjhMmWhZSSVJZ0pRIsc2uHDEZEeSobVDvB6Ba9Q==
X-Received: by 2002:a05:600c:4fcc:b0:43c:fcb1:528a with SMTP id 5b1f17b1804b1-43cfcb1544bmr131037775e9.6.1741871652447;
        Thu, 13 Mar 2025 06:14:12 -0700 (PDT)
Message-ID: <9cb526f9-fd2c-424c-82b1-7db57e0db50c@suse.com>
Date: Thu, 13 Mar 2025 14:14:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] tools: Mark ACPI SDTs as NVS in the PVH build path
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20250311092905.991-1-alejandro.vallejo@cloud.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: <20250311092905.991-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 10:29, Alejandro Vallejo wrote:
> Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
> because SeaBIOS may otherwise just mark it as RAM. There is, however,
> yet another reason to do it even in the PVH path. Xen's incarnation of
> AML relies on having access to some ACPI tables (e.g: _STA of Processor
> objects relies on reading the processor online bit in its MADT entry)
> 
> This is problematic if the OS tries to reclaim ACPI memory for page
> tables as it's needed for runtime and can't be reclaimed after the OSPM
> is up and running.
> 
> Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for ACPI table region)"
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> v1->v2:
>   * Copy explanatory comment in hvmloader/e820.c to its libxl_x86.c counterpart
> 
> ---
>  tools/firmware/hvmloader/e820.c |  4 ++++
>  tools/libs/light/libxl_x86.c    | 17 ++++++++++++++++-
>  2 files changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader/e820.c
> index c490a0bc790c..86d39544e887 100644
> --- a/tools/firmware/hvmloader/e820.c
> +++ b/tools/firmware/hvmloader/e820.c
> @@ -210,6 +210,10 @@ int build_e820_table(struct e820entry *e820,
>       * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
>       * before an ACPI OS takes control. This is possible due to the fact that
>       * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
> +     *
> +     * Furthermore, Xen relies on accessing ACPI tables from within the AML
> +     * code exposed to guests. So Xen's ACPI tables are not, in general,
> +     * reclaimable.
>       */
>  
>      if ( acpi_enabled )
> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index a3164a3077fe..2ba96d12e595 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -737,12 +737,27 @@ static int domain_construct_memmap(libxl__gc *gc,
>          nr++;
>      }
>  
> +    /*
> +     * Mark populated reserved memory that contains ACPI tables as ACPI NVS.
> +     * That should help the guest to treat it correctly later: e.g. pass to
> +     * the next kernel on kexec.
> +     *
> +     * Using NVS type instead of a regular one helps to prevent potential
> +     * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
> +     * before an ACPI OS takes control. This is possible due to the fact that
> +     * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
> +     *
> +     * Furthermore, Xen relies on accessing ACPI tables from within the AML
> +     * code exposed to guests. So Xen's ACPI tables are not, in general,
> +     * reclaimable.
> +     */

When asking for a comment here I really only was after what the last paragraph says.
Especially the middle paragraph seems questionable to me: It would not only be ACPI-
unawareness, but also E820-unawareness, for the range to be prematurely re-used. And
buggy bootloaders really would need fixing, I think - they'd put OSes into trouble on
real hardware as well.

In short - I'd like to ask that the middle paragraph be dropped from here (which
surely could be done while committing).

However, there's a second concern: You say "PVH" in the title, yet this function is
in use also for HVM, and ...

>      for (i = 0; i < MAX_ACPI_MODULES; i++) {
>          if (dom->acpi_modules[i].length) {
>              e820[nr].addr = dom->acpi_modules[i].guest_addr_out & ~(page_size - 1);
>              e820[nr].size = dom->acpi_modules[i].length +
>                  (dom->acpi_modules[i].guest_addr_out & (page_size - 1));
> -            e820[nr].type = E820_ACPI;
> +            e820[nr].type = E820_NVS;
>              nr++;
>          }
>      }

... this code is outside of any conditionals. This imo needs sorting one way or
another.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:24:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:24:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912141.1318463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsiYG-0001xY-2i; Thu, 13 Mar 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 912141.1318463; Thu, 13 Mar 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 1tsiYF-0001xR-W7; Thu, 13 Mar 2025 13:24:43 +0000
Received: by outflank-mailman (input) for mailman id 912141;
 Thu, 13 Mar 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=/sFJ=WA=kernel.dk=axboe@srs-se1.protection.inumbo.net>)
 id 1tsiYE-0001xL-A1
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:24:42 +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 849abd27-000e-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:24:41 +0100 (CET)
Received: by mail-io1-xd2a.google.com with SMTP id
 ca18e2360f4ac-85ad83ba141so95368039f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:24:40 -0700 (PDT)
Received: from [127.0.0.1] ([96.43.243.2]) by smtp.gmail.com with ESMTPSA id
 ca18e2360f4ac-85db879e512sm31580739f.28.2025.03.13.06.24.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 06:24: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: 849abd27-000e-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1741872280; x=1742477080; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:date:message-id:subject
         :references:in-reply-to:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5PLsvEgnbim2yotRJtm3RxSyGerYXasNwsqr+/KVpS4=;
        b=LeOw1zCrzrGMnHC0MTw0tnRlKNIY2n3q1d97jlYIN7htpGS7Fo33aJkpZU/i+UbsGz
         bwZIAOpLDonWjuU2nNHH8LxYCVeVLTO8LKplcMl+jm4fUN+LpEs93Y5O7qdup0wgwQgY
         Ro0UmjQiZW66emqH5cIZpSWWknCAdKnoEzgbD3wN0kw4VoNJpLAaev6csHvg+aFm2DHR
         EBe1UHq5WefzjkT16dnpWdZyqTlG5H3v76o5KU/1Vw9QQV5Ky6/+PnQhcuYmbVOvXnAS
         LaFUb4kvN6/GKrzjSaVBOleMsNdVQBd7aYAupBMBUuNVCxqJ7rYd4FvhSgs7A5cZccMs
         nSYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741872280; x=1742477080;
        h=content-transfer-encoding:mime-version:date:message-id:subject
         :references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=5PLsvEgnbim2yotRJtm3RxSyGerYXasNwsqr+/KVpS4=;
        b=l0itK7uYEUKcm6EaRndBTAfUGeJ7fujzbQKJD6nFWQ0d9kQNpVzwrd8kJZbT1/x/ou
         IVCv6lzWhEcQWyYxc7gzTntDvzR4uonDOjUxoNTId1irnlVKT4NWmCLiniOJtAgtGhIV
         +hJTZBxUZH0TO0Y59/rKU/4xjQiMQyzgg8ZTv6WA5d/9Rxj9Hxxg/1Hfpvm9+WJ0hIMK
         eZaIpPSZVnxldL0W9gvLNGzI2F4mndeyD1Ks7v+WEJk+iWGyNlnh7lSPOzM+9j59QNPe
         NnQaUDiUKpFwiREVWq0UDm14H7ff28HDC4+9tiLxjXrTRI9WGe4v+6NIuwyUy+pQ9fsT
         8qSw==
X-Forwarded-Encrypted: i=1; AJvYcCVaOCgLPodBpU7H+XyJb3lbIelkQ2fSxlzPku5pONPX6echHFe1iGx679B2chtasEU9MyLdbhmOIy8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzYJebKwwO0Z55rvSkj3RX+0cGKx4hYsKNIkE8ac5Cld51dimZZ
	0LfcJQc0Ly1qPDOZ2CKCB6QUCMQzAQ3lCbW8/0H5LUYMbi2CNTNERZipzU/GbB8=
X-Gm-Gg: ASbGncvwpkRldo8269IDUYH++H+SMGI9rH3x1qZyL+lWMqaNMa5/pwRfbE2A/7lsnZr
	eNr8oAFPMvL2GUDrzDXAuHcz+WfqRjDYAYmAjL0IRa8t69VHLobVtLUyeFQWfO+chHSIIrh0jQy
	AgCmjI9P8rvrbYS3iZLYg46FZ+3PyLUtQF5eos65NQff4DD/kqb2JiXjglwMcChnOvftc/4k92j
	JJreh2p9UYr6XfOl+BAXYYTryN1fHQuflfYnfLyu9lq6pBWR7gDs4fKYto6RdAWak/ggssFw50T
	UGn57YH++ppzEDWcgGf4jLy72lh1b+Q5Xa0=
X-Google-Smtp-Source: AGHT+IEer637uehs/daevOydns9iUer0NF8/Lop3Ui7LDoPjH6cMpb131IF3qkXQqxQNFL57dNEHAg==
X-Received: by 2002:a05:6602:380d:b0:85b:5494:5519 with SMTP id ca18e2360f4ac-85b54946d71mr1891701439f.5.1741872279762;
        Thu, 13 Mar 2025 06:24:39 -0700 (PDT)
From: Jens Axboe <axboe@kernel.dk>
To: "Md. Haris Iqbal" <haris.iqbal@ionos.com>, 
 Jack Wang <jinpu.wang@ionos.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
 Jason Wang <jasowang@redhat.com>, Xuan Zhuo <xuanzhuo@linux.alibaba.com>, 
 =?utf-8?q?Eugenio_P=C3=A9rez?= <eperezma@redhat.com>, 
 Paolo Bonzini <pbonzini@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, 
 =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
 Juergen Gross <jgross@suse.com>, 
 Stefano Stabellini <sstabellini@kernel.org>, 
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
 Maxim Levitsky <maximlevitsky@gmail.com>, Alex Dubov <oakad@yahoo.com>, 
 Ulf Hansson <ulf.hansson@linaro.org>, Richard Weinberger <richard@nod.at>, 
 Zhihao Cheng <chengzhihao1@huawei.com>, 
 Miquel Raynal <miquel.raynal@bootlin.com>, 
 Vignesh Raghavendra <vigneshr@ti.com>, Sven Peter <sven@svenpeter.dev>, 
 Janne Grunau <j@jannau.net>, Alyssa Rosenzweig <alyssa@rosenzweig.io>, 
 Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>, 
 Sagi Grimberg <sagi@grimberg.me>, James Smart <james.smart@broadcom.com>, 
 Chaitanya Kulkarni <kch@nvidia.com>, 
 "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>, 
 "Martin K. Petersen" <martin.petersen@oracle.com>, 
 Anuj Gupta <anuj20.g@samsung.com>
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, 
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, 
 linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, 
 asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, 
 linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org
In-Reply-To: <20250313035322.243239-1-anuj20.g@samsung.com>
References: <CGME20250313040150epcas5p347f94dac34fd2946dea51049559ee1de@epcas5p3.samsung.com>
 <20250313035322.243239-1-anuj20.g@samsung.com>
Subject: Re: [PATCH] block: remove unused parameter
Message-Id: <174187227786.18244.14269218969550436496.b4-ty@kernel.dk>
Date: Thu, 13 Mar 2025 07:24:37 -0600
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailer: b4 0.14.3-dev-7b9b9


On Thu, 13 Mar 2025 09:23:18 +0530, Anuj Gupta wrote:
> request_queue param is not used by blk_rq_map_sg and __blk_rq_map_sg.
> remove it.
> 
> 

Applied, thanks!

[1/1] block: remove unused parameter
      commit: 61667cb6644f6fb01eb8baa928e381c016b5ed7b

Best regards,
-- 
Jens Axboe





From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:32:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912152.1318473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsifz-0004nN-Qh; Thu, 13 Mar 2025 13:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912152.1318473; Thu, 13 Mar 2025 13:32: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 1tsifz-0004nG-NS; Thu, 13 Mar 2025 13:32:43 +0000
Received: by outflank-mailman (input) for mailman id 912152;
 Thu, 13 Mar 2025 13:32: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsify-0004nA-0Z
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:32: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 a317bfc8-000f-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:32:41 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso6330145e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:32: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-43d18a4c2dasm20311705e9.33.2025.03.13.06.32.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:32: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: a317bfc8-000f-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741872760; x=1742477560; 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=pS91R4lqSFQb5EgX2ajpaaJQDBB/79zDPw+ncyKE3OM=;
        b=QuwrPqI9Yw5yhIlcGrG1QMkdxN5yCaYJtdSRzPQDUmwdNVJ5S8i0FGDd9lh7s72vhm
         L7ET544K/M8wOwkgtJe2xRpA2WZAKNW3W33273bxdvM85Ny8RbelU8QjUFhZH/gEZtGk
         wsOl937P0Fzyw/R76TlJ+NoKgWTVMPhd7s4yrE0Efgfy6Gfx0omVLTUOQPzhwYfqgFvi
         ShmNXRUbmerkyq3ooDysztPMWKqf8g/0P0qhkzZoZXulLC1TpVQrdRWL7f/XnlcO0RpK
         Uotq3lOjYFB+yL4tdoQV82etquADMPPIN39w71GM0jZYE0DBaovwRlF9VqRADsHbQSFM
         Vd/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741872760; x=1742477560;
        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=pS91R4lqSFQb5EgX2ajpaaJQDBB/79zDPw+ncyKE3OM=;
        b=bdE4UBq6xpyILRF5kUyH/xVRTgp4Ej/BmW2HLrtL9qmfRgtqWeqvyVWuqC2ncuehRG
         KNS3vIcNlOfunfp6xeDL/ou6uRuaQPXnV/flqsKelMXKLb4Nb77vtBIyVvqqPxxPTmqw
         xz84hn4brSgrofDGL5qPOEAl0txnCRmAkzE1tWceJP01RHcxG8IuiWuZYFWj7K4M19O+
         J8b7mYvAdURp+WJOtycTSZpo4YLzcg6wiOr2thZc/EsU+3K/qCzkxV4vzz5KFgu/UCnQ
         GOWozgwVbV88qqMfe82lsPi1zqZr6MRBCUVcb6okORc8duCXWHxmzb6nVEeJorBVGT7X
         ngjQ==
X-Gm-Message-State: AOJu0YzdiWWBFCiuo3VByqTNi96u/FFlUm+eIfMp7txdkvdOZ0E3TbPN
	uvYDSsUBsj/vzLq+nXd0ecdvNbim+XpHWhjulXJMd6r8kXFG8ahQiMke4JJJ+Hfkvmo6k3SMnnU
	=
X-Gm-Gg: ASbGnctd0dCjvsYibX9M9GfFZXYaflPa29Y7uEjji5wnqG/FX1y9lFJdr8Ddy4jUcfG
	tOQk4rqMjLmdMbsGJGRdaViMDREoI5H6DfqfADuBWhDb4BlptNxEzv0OvZvFgE1LBmnQw1WgqRm
	9c378KM3SUr3IHadPwcZwJ4O54xeXQwKAUVFj51Uf/r9NbcC5gVVhV8vaJ9m03lRXKPMk04hqKv
	DdsiKFpPbLOw41c13+cNL9za9A20mRGbqLTkV52kBDuzWOjtoyG8KQD7HMrF6DRAoKJe4VnTJ82
	kTG0jpnaFkD8ScuVbaDLH1QGdnHk59XmLUX/Qs/obh+34jK5OMDXc75GHDDObT7SPznnDZuPH2y
	IaVGDBXgmu3n0PpwMigAWDPHFA3QDlQ==
X-Google-Smtp-Source: AGHT+IHillONlWUY4GDGVx5bJ0xxX0XbLzFEBH3X+TGyQsDtrVhiA2kkPIlffRQodAO/IsKai8qz9g==
X-Received: by 2002:a5d:5f93:0:b0:391:2e6a:30fe with SMTP id ffacd0b85a97d-39132da07d0mr21436154f8f.39.1741872760483;
        Thu, 13 Mar 2025 06:32:40 -0700 (PDT)
Message-ID: <8b610dba-0ce9-47ed-808d-035dc48f4f04@suse.com>
Date: Thu, 13 Mar 2025 14:32:39 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/2] VT-d: set_msi_source_id() (XSA-467 follow-up)
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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: move obtaining of MSI/HPET source ID
2: have set_msi_source_id() return a success indicator

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:33:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:33:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912165.1318483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsigp-0005Ng-6Z; Thu, 13 Mar 2025 13:33:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912165.1318483; Thu, 13 Mar 2025 13:33: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 1tsigp-0005NZ-2F; Thu, 13 Mar 2025 13:33:35 +0000
Received: by outflank-mailman (input) for mailman id 912165;
 Thu, 13 Mar 2025 13:33: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsign-00054A-Rq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:33:33 +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 c1306f21-000f-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:33:31 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so8256875e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:33: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-395cb318aa1sm2188236f8f.64.2025.03.13.06.33.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:33: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: c1306f21-000f-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741872811; x=1742477611; 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=Me251RWcZ43pewsUtLw3vQfNxPNwcf840kn0EwBGFJs=;
        b=dmpT/IHLLLb2jQKU+VBqfzCPOKfLY6lhybHMPE/Hr0s/pB1OdkugXf9sauZf/j630L
         1V9rw8c0nDcymuZ+EsN25C6ipzF13h6KxFzpdy8ix6fGumjSd8huYmy+C9htMCzi6C1z
         exGltjMbnoBR7T0QlW8RydUbRCbtguFN4rNNC3lZxicZ0XRHd/rYhLgynR8VAO2JddA9
         WkbYUXkbHlUBlmV4DAeYd6mzsLOqXtsb/svw3HXDSeKDY/VJg+BxPIkrzDTA34ZwCkxi
         mszF65NrDM8PTsf0RkByrkUUS69nr/LIob2QQ2DeiVF5Q/qPA5fkphVHqufn5QW8E5bL
         xozA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741872811; x=1742477611;
        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=Me251RWcZ43pewsUtLw3vQfNxPNwcf840kn0EwBGFJs=;
        b=CDkoT6dgDqDs2Qh1099zgpsYHp0H6dguAwjgZ5eE/kdrgGtlO5aOE7YXWtigTVal1Q
         xJDx8dwz/+Ql2byKhGwWwHXeAweamunIR8jQCLoRSx4NVVtLB6qMCvyDT9zP8BCRt6RY
         NPTs3k8mZ69zzFJDWvpokZhWNLXn/b4G2cC5nMCoB8QcHwotnj64//aZ3xNtvjl1bCwI
         k7Q1LYIr4ZX/Lnk/WkzqI5zfg09ZuBbAt9QDbQKat8wfgP6Afl4bMrte6SE4u1NXmmQT
         3FzziTYyQgXWvKI7Kwl6CwaHRR75rQW7VKpc9A6fdmNOoun+y0gHvWEfYUOXeHBxkt/y
         mImQ==
X-Gm-Message-State: AOJu0YwlPIiB6zUM8LgltZSgn84XG+jmO/CUjan/l9OCg55bfYshdXLz
	Wi4MatkRZ5gzNwPcwibJVyRQVoo5iyKhhZ6ksNXlkI4wcYNmogjDgfxBJsy1fwidXdnk0KWPnNI
	=
X-Gm-Gg: ASbGnctiyK7vNeuvJUEeaDCDKFTfjNc+/lK7ZID0MVMcfv8tOZspWPVSTSBCPhal+Xf
	h9jrMs7TporV9mQ47dGy5vzQbQ/2Kj1vQafpixrietQWkj9ucm49EsUGkd5h0DHNgqV8eR0ogSK
	1THtEv5l/B4rQ1r2YokYrkjFU5e8tWpF+PfkQduvKekxYAExB0LYMyYoOtEgX8mPJB/6fgMap+l
	OhYdSgGjNk3elHYY3kFM7gtzZXY6lQBzyFTqhTp3qS2+9wk6K5mDIJLskxkf0s4VNcSxTR3nMVV
	TQCO94VVjE9gjsk8mMbf7LxoI+6UAlsEStsyaDXPNfWKY0bwPrEXtIIQgPzwIR/VggiCQDXW7yA
	pjgoIpSKC8wm7Tnlb2CFTL373JcfJow==
X-Google-Smtp-Source: AGHT+IFIuB5tfUpB/P1VsNzLMI+pUqeK67zi/bdexalWFWe2qSO/aADXxhXOsNFGEhbjy3XXHG8Sxw==
X-Received: by 2002:a5d:64ec:0:b0:391:1473:336a with SMTP id ffacd0b85a97d-39132dbc5afmr17663153f8f.36.1741872810977;
        Thu, 13 Mar 2025 06:33:30 -0700 (PDT)
Message-ID: <b09c2c89-ae6b-4942-8e22-61a2ae2862a4@suse.com>
Date: Thu, 13 Mar 2025 14:33:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 1/2] VT-d: move obtaining of MSI/HPET source ID
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: <8b610dba-0ce9-47ed-808d-035dc48f4f04@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: <8b610dba-0ce9-47ed-808d-035dc48f4f04@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This was the original attempt to address XSA-467, until it was found
that IRQs can be off already from higher up the call stack. Nevertheless
moving code out of locked regions is generally desirable anyway; some of
the callers, after all, don't disable interrupts or acquire other locks.

Hence, despite this not addressing the original report:

Data collection solely depends on the passed in PCI device. Furthermore,
since the function only writes to a local variable, we can pull the
invocation of set_msi_source_id() (and also set_hpet_source_id()) ahead
of the acquiring of the (IRQ-safe) lock.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -508,6 +508,11 @@ static int msi_msg_to_remap_entry(
     const struct pi_desc *pi_desc = msi_desc->pi_desc;
     bool alloc = false;
 
+    if ( pdev )
+        set_msi_source_id(pdev, &new_ire);
+    else
+        set_hpet_source_id(msi_desc->hpet_id, &new_ire);
+
     if ( msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
         nr = msi_desc->msi.nvec;
 
@@ -575,11 +580,6 @@ static int msi_msg_to_remap_entry(
         new_ire.post.p = 1;
     }
 
-    if ( pdev )
-        set_msi_source_id(pdev, &new_ire);
-    else
-        set_hpet_source_id(msi_desc->hpet_id, &new_ire);
-
     /* now construct new MSI/MSI-X rte entry */
     remap_rte = (struct msi_msg_remap_entry *)msg;
     remap_rte->address_lo.dontcare = 0;



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:34:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:34:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912174.1318492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsihZ-0005th-DL; Thu, 13 Mar 2025 13:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912174.1318492; Thu, 13 Mar 2025 13:34: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 1tsihZ-0005ta-Ae; Thu, 13 Mar 2025 13:34:21 +0000
Received: by outflank-mailman (input) for mailman id 912174;
 Thu, 13 Mar 2025 13:34: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsihY-00054A-8G
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:34:20 +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 dd26f5e5-000f-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:34:18 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0782d787so8833465e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:34: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
 5b1f17b1804b1-43d18a2af67sm20481095e9.26.2025.03.13.06.34.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06: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: dd26f5e5-000f-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741872858; x=1742477658; 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=/cFDH4BsF1WCIyJLCwf7ShUHdgAtkyNcWW6hhvurbhQ=;
        b=Q48VOlgvQXsYyX4BDU8e/qz8sJpMQkyG/v80fOQNt3U7+HChm5PXo3ORanD1lWyYcQ
         utZT/YQ5VZHXqIgwxozIHtFCk8rgsP0OArgRSgMjj3pyKaQLZjJ8DWjWNUfHYQiHd52j
         jB/L2PplPHqZGjt3+e/dnRm3mY0R5NPMXfTeYj6I4kFcwE7KsBcA/jPZ1Xfn0YJ29rgh
         OAjVa0YUKfWo7EKlYMlZHUbUrWtZOzsiH4PweRFVOB2ObCv6NmUtTM+OQsS1sOh1EMoz
         x6W7oGTLZ7eeY28ZWMp6KbgfGLcOkCm+ym6ax+6P4T+8VRycBqUTivmz5N7xDg0tslVd
         hCRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741872858; x=1742477658;
        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=/cFDH4BsF1WCIyJLCwf7ShUHdgAtkyNcWW6hhvurbhQ=;
        b=Z2G5Bn+vZL+PAnk6pAhrlZHY5g+Rg5Y1D2hHoh29KH5laEi/vgZb8Cu/NSU9JhudR0
         c0+lKAX4m3VAgENd1WlTmpnfegUVJf0jGP7L4At1a9GO3OZjvNv3V59HlbAOxbC1d02f
         oWsA5lAx680yfso5q3C4PbcFYYE09C7s+x+WCOboj4Fi6C0s8S3l+HOyLZxMPbuGY9Dk
         qH4abFTdhiFwnDTNgzRrP0Q3EPEXvEe5mCBPma9Hc79WPm3upmfHD5BwZaB+QEXQnXZd
         CVJUKQNgJZCNrRbPNa81UZPN2a9wkg1D93x4R32xbSTSMZ3+KFx+vBZlAbAkTtiOic7W
         LrLg==
X-Gm-Message-State: AOJu0YweI9MTsixRiinkKZz5v7i45WJ6/GnaSOjS+JKyBVUhgf6Iekgs
	aB17gFBLAfxwyIWV91Sktgf5it41AXs/RXd6btfCIiKYEUw4diTG5iBp8Agq44F17blWDg50IA4
	=
X-Gm-Gg: ASbGncvBSV7iJnN2Ix1Hs7xLTgsDwT/Hyu+MpzOxFqICxhnyncbMPzlU1enOjHSZm2T
	zw8cE2/294586u9KXc+sTiZR0PfydU6wIcxcyQ1kf80xv7BiuUyAG4vUvKnYW7T12RG4ZZZuYFJ
	9R5POgAXuA0vAFPNP9Zrg5WOoyiCWVB9wPsQhOnafe+dzTE/c4WQY/bd1dmftV3O1vv5u3+zLD5
	WpzvqfbMwzr+NhOU1T/RYxH9a3B1W0UyuzGwCaMYWiUkliH9CQH8k3cZLfkwguPZHuzLKnb79lx
	0aDIrkcU+wxJwFCekE5mt0yQDhe90RJERTI0AiG5gLjLGOQLD+mv0VeN4HNzz3iHDVXOMWy0sj+
	OviZzhmFKoa4Ji+GJfBnEzwvc70FrWA==
X-Google-Smtp-Source: AGHT+IFInBjcEUX6YGaTOvYShhvblVrxOubP1v8/7fEIqiL2wpKZJJ1Sm4z4Yd2eH5Kw1c6PzyxFzQ==
X-Received: by 2002:a05:600c:1d1b:b0:43c:fcbc:9680 with SMTP id 5b1f17b1804b1-43cfcbc9883mr118885555e9.25.1741872857884;
        Thu, 13 Mar 2025 06:34:17 -0700 (PDT)
Message-ID: <6468c44a-772e-45a6-b712-0732c9017234@suse.com>
Date: Thu, 13 Mar 2025 14:34:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 2/2] VT-d: have set_msi_source_id() return a success indicator
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: <8b610dba-0ce9-47ed-808d-035dc48f4f04@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: <8b610dba-0ce9-47ed-808d-035dc48f4f04@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Handling possible internal errors by just emitting a (debug-build-only)
log message can't be quite enough. Return error codes in those cases,
and have the caller propagate those up.

Drop a pointless return path, rather than "inventing" an error code for
it.

While touching the function declarator anyway also constify its first
parameter.

Fixes: 476bbccc811c ("VT-d: fix MSI source-id of interrupt remapping")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -436,15 +436,13 @@ void cf_check io_apic_write_remap_rte(
     __ioapic_write_entry(apic, pin, true, old_rte);
 }
 
-static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire)
+static int set_msi_source_id(const struct pci_dev *pdev,
+                             struct iremap_entry *ire)
 {
     u16 seg;
     u8 bus, devfn, secbus;
     int ret;
 
-    if ( !pdev || !ire )
-        return;
-
     seg = pdev->seg;
     bus = pdev->bus;
     devfn = pdev->devfn;
@@ -485,16 +483,21 @@ static void set_msi_source_id(struct pci
                             PCI_BDF(bus, devfn));
         }
         else
+        {
             dprintk(XENLOG_WARNING VTDPREFIX,
                     "d%d: no upstream bridge for %pp\n",
                     pdev->domain->domain_id, &pdev->sbdf);
+            return -ENXIO;
+        }
         break;
 
     default:
         dprintk(XENLOG_WARNING VTDPREFIX, "d%d: unknown(%u): %pp\n",
                 pdev->domain->domain_id, pdev->type, &pdev->sbdf);
-        break;
-   }
+        return -EOPNOTSUPP;
+    }
+
+    return 0;
 }
 
 static int msi_msg_to_remap_entry(
@@ -509,7 +512,12 @@ static int msi_msg_to_remap_entry(
     bool alloc = false;
 
     if ( pdev )
-        set_msi_source_id(pdev, &new_ire);
+    {
+        int rc = set_msi_source_id(pdev, &new_ire);
+
+        if ( rc )
+            return rc;
+    }
     else
         set_hpet_source_id(msi_desc->hpet_id, &new_ire);
 



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:35:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912182.1318503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsiih-0006RJ-NL; Thu, 13 Mar 2025 13:35:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912182.1318503; Thu, 13 Mar 2025 13:35: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 1tsiih-0006RC-KE; Thu, 13 Mar 2025 13:35:31 +0000
Received: by outflank-mailman (input) for mailman id 912182;
 Thu, 13 Mar 2025 13:35: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsiig-0006R4-L9
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:35:30 +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 01485605-0010-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:35:19 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so12992455e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:35:19 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d188bb59esm20966135e9.21.2025.03.13.06.35.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:35: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: 01485605-0010-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741872918; x=1742477718; 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=wVir1xz7wFLlKnunh51uqRXAYZzapdZY+mfLlQtgaTg=;
        b=IPJDgADaOawkqz3EOvB0O2ozWRoA8ccG2tFzT3gjLdrTaYgqc1JiyGeAABqcmxhW9i
         l4oUQz9BSWmaJh2pNHiBByN/N04R58ZDJkddyxrNQkYwPmOA6SvnGWwMOp9dC0ffEIsa
         FoRxREoQ4DtbtPNiHyVoq4i8RGy7u9AbPCKDo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741872918; x=1742477718;
        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=wVir1xz7wFLlKnunh51uqRXAYZzapdZY+mfLlQtgaTg=;
        b=BBnFEu/RQnysptoiBwnNhxYBd+enaZlVNyAFucf8utllzZRTKEQIn1MwNodTgG6nP8
         SfPmrmkNnQg5KZySi/FKF/Lve5L/1ZJs+xVOMDVduyGaM9VGff6hGT3WuZni0cov2Kx3
         PHG9vGHqo2ZIEDIDreR79DLZavh3lzxEDINlJFCiOjHoz6l6uA6YiADEm0vLTaJ6Jcrb
         4w3cAKBD1NLTLhM04yqu+uv/wza1tE/ENE4Oyqhafh+RCcmvfIXvPV9az87bt/AuO1RX
         wRNbzrKqNu4bn5V5WDkIJVDSbjkDs9Qe4+7g2hivuh8k7XZQ81S4AqYwaC/cuPwYLRqu
         0Mow==
X-Forwarded-Encrypted: i=1; AJvYcCU/JY9Q1SwpQPsSH9C6TEUSdxyUlMAddXl69xOVcjWp9DDheetY5lTwilg79LgLsINNjH4M8YhDxC4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YytJmugoTNOQCWkXfePotpp+zkICqsmkKI4gyTr8FXiXwnc1MY6
	ISnQFDSxA1q/OMjjnRlh9oCDd/X7spWaq0nByxHexatbjjDqMSI4xEV/qoyAqJo=
X-Gm-Gg: ASbGncvI3yANEeTgYdH4+F5UwW6cuw9i9ZNadGoD1EoQ5HHr8uzBV9utqo0FOZHJOX7
	3xUNzrIebSCFSeRB2cYqX24EJLUyPqjQ35uNxzpXc8fWry3R9tL4jBc1Mrm/CVa/CN6mz2xSrFQ
	wRNPlXyfyIbDq4PQ0OwFjnBAa2FR7GB5ynje/30Nh1ZXCpkE55UiNlLtBCQkT6O1ro6VHRDzv7i
	r5KTevbJOzg2CN/PoxekU7IT0oYAQ3qNrzVqJCNMjEPoUQBD8NI9Zvl6yl7V/ZH7UqPeZ+HrzFx
	XYL5SIRALLzHXMYbwlvbl00Xe+MJdwZsfgfgKVVJuwL/ASNtIjYU21I2mOQI7/AbVLOA0Iff+Ou
	FpoJLHF+3
X-Google-Smtp-Source: AGHT+IHzsYEqqkUlLMfw9fC4wtS+eI4zn3lqBO1ovTL1Qj7CI+qamcnZQij2qYXhOJYF8G5x0qd6aA==
X-Received: by 2002:a05:6000:1869:b0:38d:df15:2770 with SMTP id ffacd0b85a97d-395b4231bacmr2213796f8f.0.1741872918479;
        Thu, 13 Mar 2025 06:35:18 -0700 (PDT)
Message-ID: <89fbb5ac-242a-4271-96ad-ea1bc8f77691@citrix.com>
Date: Thu, 13 Mar 2025 13:35:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/8] xen/common: Split tlb-clock.h out of mm.h
To: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-5-andrew.cooper3@citrix.com>
 <6d910ac4-cf1d-48ee-b088-17254d2272ab@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: <6d910ac4-cf1d-48ee-b088-17254d2272ab@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 12:59 pm, Jan Beulich wrote:
> On 12.03.2025 18:45, Andrew Cooper wrote:
>> xen/mm.h includes asm/tlbflush.h almost at the end, which creates a horrible
>> tangle.  This is in order to provide two common files with an abstraction over
>> the x86-specific TLB clock logic.
>>
>> First, introduce CONFIG_HAS_TLB_CLOCK, selected by x86 only.  Next, introduce
>> xen/tlb-clock.h, providing empty stubs, and include this into memory.c and
>> page_alloc.c
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
>>
>> There is still a mess here with the common vs x86 split, but it's better
>> contained than before.
>> ---
>>  xen/arch/x86/Kconfig        |  1 +
>>  xen/common/Kconfig          |  3 +++
>>  xen/common/memory.c         |  1 +
>>  xen/common/page_alloc.c     |  1 +
>>  xen/include/xen/mm.h        | 27 --------------------
>>  xen/include/xen/tlb-clock.h | 49 +++++++++++++++++++++++++++++++++++++
>>  6 files changed, 55 insertions(+), 27 deletions(-)
>>  create mode 100644 xen/include/xen/tlb-clock.h
>>
>> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
>> index 6e41bc0fb435..e9a166ee3dd0 100644
>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -28,6 +28,7 @@ config X86
>>  	select HAS_PCI_MSI
>>  	select HAS_PIRQ
>>  	select HAS_SCHED_GRANULARITY
>> +	select HAS_TLB_CLOCK
>>  	select HAS_UBSAN
>>  	select HAS_VMAP
>>  	select HAS_VPCI if HVM
>> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
>> index 6166327f4d14..dcf7d9d00d0a 100644
>> --- a/xen/common/Kconfig
>> +++ b/xen/common/Kconfig
>> @@ -83,6 +83,9 @@ config HAS_PMAP
>>  config HAS_SCHED_GRANULARITY
>>  	bool
>>  
>> +config HAS_TLB_CLOCK
>> +	bool
>> +
>>  config HAS_UBSAN
>>  	bool
>>  
>> diff --git a/xen/common/memory.c b/xen/common/memory.c
>> index 61a94b23abae..9138fd096696 100644
>> --- a/xen/common/memory.c
>> +++ b/xen/common/memory.c
>> @@ -24,6 +24,7 @@
>>  #include <xen/perfc.h>
>>  #include <xen/sched.h>
>>  #include <xen/sections.h>
>> +#include <xen/tlb-clock.h>
>>  #include <xen/trace.h>
>>  
>>  #include <asm/current.h>
>> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
>> index bc029ea797a2..b90c3d7988b4 100644
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -137,6 +137,7 @@
>>  #include <xen/sections.h>
>>  #include <xen/softirq.h>
>>  #include <xen/spinlock.h>
>> +#include <xen/tlb-clock.h>
>>  #include <xen/vm_event.h>
>>  #include <xen/xvmalloc.h>
>>  
>> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
>> index 45000cc3f64b..fff36ff903d6 100644
>> --- a/xen/include/xen/mm.h
>> +++ b/xen/include/xen/mm.h
>> @@ -588,33 +588,6 @@ unsigned long get_upper_mfn_bound(void);
>>  
>>  #include <asm/flushtlb.h>
>>  
>> -static inline void accumulate_tlbflush(bool *need_tlbflush,
>> -                                       const struct page_info *page,
>> -                                       uint32_t *tlbflush_timestamp)
>> -{
>> -    if ( page->u.free.need_tlbflush &&
>> -         page->tlbflush_timestamp <= tlbflush_current_time() &&
>> -         (!*need_tlbflush ||
>> -          page->tlbflush_timestamp > *tlbflush_timestamp) )
>> -    {
>> -        *need_tlbflush = true;
>> -        *tlbflush_timestamp = page->tlbflush_timestamp;
>> -    }
>> -}
>> -
>> -static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
>> -{
>> -    cpumask_t mask;
>> -
>> -    cpumask_copy(&mask, &cpu_online_map);
>> -    tlbflush_filter(&mask, tlbflush_timestamp);
>> -    if ( !cpumask_empty(&mask) )
>> -    {
>> -        perfc_incr(need_flush_tlb_flush);
>> -        arch_flush_tlb_mask(&mask);
>> -    }
>> -}
>> -
>>  enum XENSHARE_flags {
>>      SHARE_rw,
>>      SHARE_ro,
>> diff --git a/xen/include/xen/tlb-clock.h b/xen/include/xen/tlb-clock.h
>> new file mode 100644
>> index 000000000000..796c0be7fbef
>> --- /dev/null
>> +++ b/xen/include/xen/tlb-clock.h
>> @@ -0,0 +1,49 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +#ifndef XEN_TLB_CLOCK_H
>> +#define XEN_TLB_CLOCK_H
>> +
>> +#include <xen/types.h>
>> +
>> +#ifdef CONFIG_HAS_TLB_CLOCK
>> +
>> +#include <xen/mm.h>
>> +
>> +#include <asm/flushtlb.h>
>> +
>> +static inline void accumulate_tlbflush(
>> +    bool *need_tlbflush, const struct page_info *page,
>> +    uint32_t *tlbflush_timestamp)
>> +{
>> +    if ( page->u.free.need_tlbflush &&
>> +         page->tlbflush_timestamp <= tlbflush_current_time() &&
>> +         (!*need_tlbflush ||
>> +          page->tlbflush_timestamp > *tlbflush_timestamp) )
>> +    {
>> +        *need_tlbflush = true;
>> +        *tlbflush_timestamp = page->tlbflush_timestamp;
>> +    }
>> +}
>> +
>> +static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp)
>> +{
>> +    cpumask_t mask;
>> +
>> +    cpumask_copy(&mask, &cpu_online_map);
>> +    tlbflush_filter(&mask, tlbflush_timestamp);
>> +    if ( !cpumask_empty(&mask) )
>> +    {
>> +        perfc_incr(need_flush_tlb_flush);
> Would this perf counter then perhaps also want to become dependent upon
> HAS_TLB_CLOCK=y (or become an arch-specific one)? It's used elsewhere in x86,
> but not for any of the other arch-es.

There's nothing inherently x86-specific about our tlb-clk implementation.

I don't have time to do it, but if another arch wants to add support,
then it's probably just a case of shuffling some bits out of
asm/flushtlb.h into tlb-clock.h.

>
> However, see below.
>
>> +        arch_flush_tlb_mask(&mask);
>> +    }
>> +}
>> +
>> +#else /* !CONFIG_HAS_TLB_CLOCK */
>> +
>> +struct page_info;
>> +static inline void accumulate_tlbflush(
>> +    bool *need_tlbflush, const struct page_info *page,
>> +    uint32_t *tlbflush_timestamp) {}
>> +static inline void filtered_flush_tlb_mask(uint32_t tlbflush_timestamp) {}
> Is doing nothing here correct?

Yeah, it's not, but this only occurred to me after sending the series.

Interestingly, CI is green across the board for ARM, which suggests to
me that this logic isn't getting a workout.

>  mark_page_free() can set a page's
> ->u.free.need_tlbflush. And with that flag set the full
>
> static inline void accumulate_tlbflush(
>     bool *need_tlbflush, const struct page_info *page,
>     uint32_t *tlbflush_timestamp)
> {
>     if ( page->u.free.need_tlbflush &&
>          page->tlbflush_timestamp <= tlbflush_current_time() &&
>          (!*need_tlbflush ||
>           page->tlbflush_timestamp > *tlbflush_timestamp) )
>     {
>         *need_tlbflush = true;
>         *tlbflush_timestamp = page->tlbflush_timestamp;
>     }
> }
>
> reduces to (considering that tlbflush_current_time() resolves to constant 0,
> which also implies every page's ->tlbflush_timestamp is only ever 0)
>
> static inline void accumulate_tlbflush(
>     bool *need_tlbflush, const struct page_info *page,
>     uint32_t *tlbflush_timestamp)
> {
>     if ( !*need_tlbflush )
>         *need_tlbflush = true;
> }
>
> which means a not-stubbed-out filtered_flush_tlb_mask(), with tlbflush_filter()
> doing nothing, would actually invoke arch_flush_tlb_mask() (with all online CPUs
> set in the mask) when called. And arch_flush_tlb_mask() isn't a no-op on Arm.

Yes.Â  Sadly, fixing this (without Eclair complaining in the middle of
the series) isn't as easy as I'd hoped.

> I therefore think that while moving stuff into a separate header makes sense,
> HAS_TLB_CLOCK isn't overly useful to introduce.

It takes a cpumask_t off the stack, because we can pass cpu_online_mask
straight into arch_flush_tlb_mask(), and it removes a bitmap_copy that
the compiler can't optimise out.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:38:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:38:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912196.1318512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsilY-000756-6l; Thu, 13 Mar 2025 13:38:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912196.1318512; Thu, 13 Mar 2025 13:38: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 1tsilY-00074z-3L; Thu, 13 Mar 2025 13:38:28 +0000
Received: by outflank-mailman (input) for mailman id 912196;
 Thu, 13 Mar 2025 13:38: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsilW-00074t-Fg
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:38:26 +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 6fcd0bfd-0010-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:38:24 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso8905585e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:38: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-395cb7eb92csm2167590f8f.91.2025.03.13.06.38.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:38: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: 6fcd0bfd-0010-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741873104; x=1742477904; 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=HzXMOHfPm7CScqNWrsWmokrHguyd8BKiOsFIoGP0Fts=;
        b=B2ltFwAnrf8p3ob70JFd8T67Sxyum9lEb7scHjO53hJBq1FK4VT2qw9WL+HBAGmaBD
         fvbfaAY+WPtn8T5XkwA3nvIeYqEkMBrB7X7Mo3cVfYAxfzlz4zzZUQ/Q9JZKnIpF7yQj
         yJD/MDkCISOSXLdHjbMXTFMwjEhs69bYRWp1hVaixVEfHfTnbrZeDdITbFSURqjW16QQ
         oluFs2NSOoBANZiDQgNhYf3RADiLLV+bAZZ+czraF8g9rcMZx0KlyCajFNI5JlCC4qJu
         XbY11tKIlB9jOKmpg+jhUGhOkHYn3sAcFyCnMGtEG6KY2gN4LXGRm+pvd9w3rilqV6Y6
         +jQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741873104; x=1742477904;
        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=HzXMOHfPm7CScqNWrsWmokrHguyd8BKiOsFIoGP0Fts=;
        b=OrOEk6BaJglv9qsO6HJGZzF2RUWOgAay7Ep8UyJp0gSONMt3vq00LfXCepPeLkOGmZ
         r7FdwPTWs22GQL8wMdrQbhJN07HcVYbFYGXxDOi7k6EYg452yb2El9g+EmQsiroe0L8d
         N2aphTUILvZVYWau3YgPyKRyGXZdw2udvN65bYLJHzskAk0g8wrNF6MYem+1RwQLMqET
         PjWQGDjsAYq+dJnwziNEYGHgu2/qyYDjX2hdE7wLH4wbtEvvZAoZQZJR/EylY+ZIbed0
         0yseXY1RyN+9+vkct0XiKELvjs5seSiuAdFwIKuyDNbtJyWp4EUet1x+6pqch1+ekcSG
         WMPA==
X-Gm-Message-State: AOJu0YwLR+z5fSyoSMj83/c2jhsXsW8cy+Ob0rduMMNOzdXrHnk+47hL
	vEB0/ifKfZKb1S3Djvi+au0tJa+dHjNzwGAencmeJDgHQYHUvx7B257qb/SxHhUtfBrBxy8bEkU
	=
X-Gm-Gg: ASbGncumQmxUHyIPIN3+jR0L/lP/GGJJJibC6LeGMDpfJrsL2NmI1Zpk57WJ5aeJS5q
	Xqo7Za6c1vEeTER44tGoaBX7AAVXrLJsquFmwt04ADpVo877oOePexWwa7+Av62RHNXooD/JD1K
	vVmsN6SbFvafFbChnwQf15+1Q4UAMJv2YCoOpIqlzB6W17puTmf+GOSrysI4vFXc++JWeMkvP3k
	gQfz7PYtIp3XeqpTLp7zdOSQ9iHJbQbUz0qhGIRsW2wZImqlIA7AJFGLlrhgvSF58HmIfiFDHKi
	PcbNref1F620iNGksJMotPklm/gnYRRxyoOstRkr+fJMXCbtfkQ7YOUz0bOlGP/dWt2yFS1h2p5
	/1z2jgVNB+I1S7jyWJ+77BVYMpSEV6A==
X-Google-Smtp-Source: AGHT+IHno2+MkHdgWaYhwBiUYlFfkV0ukI4B2SfkUhi/OlNXFReumqbScvVtutrtcb25nUE7GZ8/QQ==
X-Received: by 2002:a5d:59a8:0:b0:391:2d76:baaa with SMTP id ffacd0b85a97d-39132db1be7mr23493523f8f.46.1741873103966;
        Thu, 13 Mar 2025 06:38:23 -0700 (PDT)
Message-ID: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
Date: Thu, 13 Mar 2025 14:38:22 +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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] trace: convert init_trace_bufs() to constructor
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

There's no need for each arch to invoke it directly, and there's no need
for having a stub either. With the present placement of the calls to
init_constructors() it can easily be a constructor itself.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Same could then apparently be done for heap_init_late(). Thoughts?

--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -491,8 +491,6 @@ void asmlinkage __init start_xen(unsigne
 
     heap_init_late();
 
-    init_trace_bufs();
-
     init_constructors();
 
     console_endboot();
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2143,8 +2143,6 @@ void asmlinkage __init noreturn __start_
 
     heap_init_late();
 
-    init_trace_bufs();
-
     init_constructors();
 
     console_endboot();
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -336,7 +336,7 @@ int trace_will_trace_event(u32 event)
  * trace buffers.  The trace buffers are then available for debugging use, via
  * the %TRACE_xD macros exported in <xen/trace.h>.
  */
-void __init init_trace_bufs(void)
+static void __init __constructor init_trace_bufs(void)
 {
     cpumask_setall(&tb_cpu_mask);
     register_cpu_notifier(&cpu_nfb);
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -29,9 +29,6 @@
 
 extern bool tb_init_done;
 
-/* Used to initialise trace buffer functionality */
-void init_trace_bufs(void);
-
 /* used to retrieve the physical address of the trace buffers */
 int tb_control(struct xen_sysctl_tbuf_op *tbc);
 
@@ -49,7 +46,6 @@ void __trace_hypercall(uint32_t event, u
 
 #define tb_init_done false
 
-static inline void init_trace_bufs(void) {}
 static inline int tb_control(struct xen_sysctl_tbuf_op *tbc)
 {
     return -ENOSYS;


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:50:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912214.1318523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsixV-0003Z7-9Q; Thu, 13 Mar 2025 13:50:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912214.1318523; Thu, 13 Mar 2025 13:50: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 1tsixV-0003Yx-4z; Thu, 13 Mar 2025 13:50:49 +0000
Received: by outflank-mailman (input) for mailman id 912214;
 Thu, 13 Mar 2025 13: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsixT-0003DO-Lq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:50: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 24bc50ee-0012-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:50:37 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43bb6b0b898so8974945e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:50: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-43d188b12ddsm21449345e9.8.2025.03.13.06.50.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:50: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: 24bc50ee-0012-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741873837; x=1742478637; 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=h5SSNAzy1KE2sJ7MPhzvTCHZEPpuQWMh2ct9GK6cMrs=;
        b=aDQ7oWod4GR3ol86eXjLtRTM3Tj3p+eQLB0/MK65/rIeorZMgfX1Uz5vz9REQczcrD
         TbKQgAl7EEKqkPNpVPEYHXGhyVgylqAoMefu3DZo3DSGMV6IiddqleU11RlIL81DwU+g
         58zS3eyVm9Hsn2b82jEp9/OrVE0ivoidaAxZzdPRwVNDt6TL3YqtZiDVv4meEQl1D/oL
         l5s/Eyj5JOvR46uocZw6xuZ+GkylfSdY4gTO6yEg/XvXY1eJEZzQQYDRCh/RdAxPzJpg
         QZNqJDi2S+tPriKVDxbpl5tb+sKO+C9WnDgC+kqZtISmJk2uGeyg4sisX9EfVm097lxX
         fyiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741873837; x=1742478637;
        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=h5SSNAzy1KE2sJ7MPhzvTCHZEPpuQWMh2ct9GK6cMrs=;
        b=kTKD54A/nnK+CFiPzgcVm02Qfa72Es5GHePRZ3EszVTnSHgHLCKQl1xFVqhq1Innds
         2Y4X1Su15TvVwX0QegmQONBJjr7/12tKPKrDiRMqtwqvsg0FH9gyZMLdHWxnuQ1a4VJG
         oThyIVIqm35Fxkbi6r5jB9YAY3rNCSeIgE1wu7D+SRJbNG+2iRPszwIAJO9E1yXHgxyv
         Uj50I0qZF8gOLUc8rOtlsLOgeT4/xTMx14lKFg2scR2G9YnCn91oSZvwixvmnx/p7RCF
         daYSWtj8m1KqBVQPxP2d/KRYOsBhdMhIu5nY2VdM6YzwL5EMnFPWOj41N/Qz6ybHLdXv
         bynQ==
X-Gm-Message-State: AOJu0YzQhEZplDuV8SnZwDcJbdRDEGCEWIkzcqBlgYRh9gDj4kheZ5n9
	Ac9bITf0c1q7Z9Y77vVPd2sygenmlfq2zNRrNzcOJY7FqC2eTFLS8YUazXFUj9b2ckiNq7Y8ufw
	=
X-Gm-Gg: ASbGncvtcObEtLNQA2GDJ0lwSqNtAZiaDsjuvTTooLqbg1FVczJM+wbhYJDEc04RgA9
	PDoC7QM0I6fJ++aXEfaEaleOrNfcysVLRDsXckh1XqTgLuwGxZgXWXTbHd7ulhjkflicQ5TLl7E
	DDuWyFITB2Yc6ERoVRsBLH9c8UJqyfrMK5WTkFs64M31afvzGMHek4Ho6jedHi0JCbVS7F+D/Mw
	zB4zxYoQjfNEVKOGeeNjAJyDhOH2HcKPsj650i9U/tGot6fq8ASY4PeXqYtoGyazYY2UOkeyxjt
	fJjwjeCRiwsN0c0xQLnVAoJA71KlGDZAQfWlfQ6uWQz+wXO3gwHtfnJGhmn+Xi/a4AD5PL70tKa
	awiM30ow3tuoYTL1z43qEVj/2W6pXgQ==
X-Google-Smtp-Source: AGHT+IFegTjXNc7tBFIu+ywfm/3a7gVNDTDAu7JEXEbnGG83ZlZVxlpwIuu/PCz0IMHOmeGE/MaBCA==
X-Received: by 2002:a05:600c:3b8a:b0:43c:f64c:44a4 with SMTP id 5b1f17b1804b1-43d01bdbde9mr118694545e9.8.1741873836912;
        Thu, 13 Mar 2025 06:50:36 -0700 (PDT)
Message-ID: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
Date: Thu, 13 Mar 2025 14:50:35 +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 0/6] symbols: assorted adjustments
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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 main goal was what patch 5 does, but on the way there various other
things became noticeable, and some preparation was necessary, too.

1: add minimal self-test
2: don't over-align generated data
3: sanitize a few variable's types
4: split symbols_num_syms
5: arrange to know where functions end
6: centralize and re-arrange $(all_symbols) calculation

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:52:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:52:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912225.1318533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsiz3-0004gh-Hg; Thu, 13 Mar 2025 13:52:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912225.1318533; Thu, 13 Mar 2025 13: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 1tsiz3-0004ga-F2; Thu, 13 Mar 2025 13:52:25 +0000
Received: by outflank-mailman (input) for mailman id 912225;
 Thu, 13 Mar 2025 13:52: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsiz2-0004gU-Ax
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:52:24 +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 63c459df-0012-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:52:23 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so9262215e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:52: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-43d0a74cf8bsm55030405e9.12.2025.03.13.06.52.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:52: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: 63c459df-0012-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741873943; x=1742478743; 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=fO6uuX/NNeoYzMSs64Qkp5bjEbxgGLcuU9dVefmd5QY=;
        b=QdQoJw2ZH7ek3dGMXaDo5dN73myQKoAWKiVaVTFeLLFzQ6WIn96RGgx66rVgilYXV+
         k2SXGc1rPBrzNCeHCqWK8M69uUfPxjk4ax3PRskemdcWZmZJ1l6BS0alaCw2HuAMCPSw
         ytaIUIzEJ/M1GuZ89fZNd6Q1gGUYiLkhG4kDv0VM9FpyUhYUbZb4MF2NixVZo6xNOWZl
         2sOvburOalkqC5VwV7uvj9ygdiei9hD1Qi3rQKqorkJyo+fbjxSCYKoqiG3R+/kgrc21
         JhWEoDvNRHcxzW17D58YItEP0Z1sAqCNoaajrEmGUNCLGFrdALGeDwFy4RWIdQoRlwC/
         aIiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741873943; x=1742478743;
        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=fO6uuX/NNeoYzMSs64Qkp5bjEbxgGLcuU9dVefmd5QY=;
        b=cmCR36YkWXcLwH9VEpsTzBdt+nxsgD3UWnw1dzw3UOAaIB3sQUKsQHtz8VvwDG92d4
         zz2piYUtczTqNKJ+EPr65MgZePf7g6vuG32aV65PAStRHx31qB+3iRLtrMfVFPdp0I2X
         Akkmt0ol5DEYXXOfLMGBX6lCnP+3VrlGBxDtYDt/gFUW8KN1FXUt5yixSs2reOMy8uV5
         qIBDhxVvFxL1+1yOHUR3zN+oP9/hAfFnMFmFHGgp/OjgY4VHrEqjYWkRkDGE069sRt27
         l2d0IDovmlVDyNc0Jb+LLgz7H97XIf1Rt4YkZuIbJI1iG5KBTMQd7of6st0koaEhyhzA
         7NfQ==
X-Gm-Message-State: AOJu0Yz4ljTK66ceMKOKXtxJveypIi1g4llwednH+ndtdAo9ZO/qEBBI
	D2HcNT3DLHCQpJH8m4qgKdNll5Aifip9JMT/s5o7gEMQxTiEvsqZMTgzEXa4KSxheZ2Y3fyxg/M
	=
X-Gm-Gg: ASbGncv53HZTH6YJyvDQHybbQ99+Z1zn+O0h1x2QbQ+vJvepe/A/Z7B3i+3wxYqBy6Y
	GSVIEBE1Ay+WJEo6Na1q9ah1onGEER6i7t6aJaHnbNYBXgk3ZqLffx7gzQ4Eo/kI85okWeH0TsC
	ZZiHPjvjc6M5Bu3KVn/myWjMLv7LDs3edhDT5uwVvR0V9vZs6ebd7W9Ervkdmm74yH4J1pyudOy
	3YIo6skueG6npTZVO90xowUyabf+DOA0KKQ9JkAaByaqYYKjyWQ7q+FCCXAj9oJ2vpGvn/QYBow
	j8Dk4pAEDQUjTgspR8aQvIBk4tKagWjrPXCjk61YyixNs2I4DQ7Edxjj1u9GKkM6I08n6v8ogsR
	ExoyQjDFkuFF4XfdbL9uf2nS2PJ2UIw==
X-Google-Smtp-Source: AGHT+IEQcc1w3qVtZd/nrWClsUIJLEx1OCdv2qxru5vIJE6ASkLEWvwvH1zuUdJDbUKuiIKe6TieDw==
X-Received: by 2002:a05:600c:524a:b0:43c:f75a:eb54 with SMTP id 5b1f17b1804b1-43cf75aed5emr172596805e9.13.1741873942752;
        Thu, 13 Mar 2025 06:52:22 -0700 (PDT)
Message-ID: <a556439c-b652-4789-bbdd-6d6402b2a124@suse.com>
Date: Thu, 13 Mar 2025 14:52:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 1/6] symbols: add minimal self-test
From: Jan Beulich <jbeulich@suse.com>
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@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: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

... before making changes to the involved logic.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
With this FAST_SYMBOL_LOOKUP may make sense to permit enabling even
when LIVEPATCH=n. Thoughts? (In this case "symbols: centralize and re-
arrange $(all_symbols) calculation" would want pulling ahead.)

--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -260,6 +260,41 @@ unsigned long symbols_lookup_by_name(con
     return 0;
 }
 
+#ifdef CONFIG_SELF_TESTS
+
+static void __init test_lookup(unsigned long addr, const char *expected)
+{
+    char buf[KSYM_NAME_LEN + 1];
+    const char *name, *symname;
+    unsigned long size, offs;
+
+    name = symbols_lookup(addr, &size, &offs, buf);
+    if ( !name )
+        panic("%s: address not found\n", expected);
+    if ( offs )
+        panic("%s: non-zero offset (%#lx) unexpected\n", expected, offs);
+
+    /* Cope with static symbols, where varying file names/paths may be used. */
+    symname = strchr(name, '#');
+    symname = symname ? symname + 1 : name;
+    if ( strcmp(symname, expected) )
+        panic("%s: unexpected symbol name: '%s'\n", expected, symname);
+
+    offs = symbols_lookup_by_name(name);
+    if ( offs != addr )
+        panic("%s: address %#lx unexpected; wanted %#lx\n",
+              expected, offs, addr);
+}
+
+static void __init __constructor test_symbols(void)
+{
+    /* Be sure to only try this for cf_check functions. */
+    test_lookup((unsigned long)dump_execstate, "dump_execstate");
+    test_lookup((unsigned long)test_symbols, __func__);
+}
+
+#endif /* CONFIG_SELF_TESTS */
+
 /*
  * Local variables:
  * mode: C



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:53:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:53:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912236.1318543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsj0C-0005F3-R2; Thu, 13 Mar 2025 13:53:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912236.1318543; Thu, 13 Mar 2025 13:53: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 1tsj0C-0005Ew-O3; Thu, 13 Mar 2025 13:53:36 +0000
Received: by outflank-mailman (input) for mailman id 912236;
 Thu, 13 Mar 2025 13:53: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsj0B-0005Eo-Bm
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:53:35 +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 8e1fbc28-0012-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:53:34 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso8868695e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:53: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-43d188bb81bsm21058715e9.23.2025.03.13.06.53.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:53: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: 8e1fbc28-0012-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741874014; x=1742478814; 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=fCxxDGYuy2Cc/IFubfex0MjwHffrK4iFN5U1SgdHJM0=;
        b=gkw5rDRXCn5NJeyC37OadYrar6eFKzGfgGSisNWoFjxFKLYceoY7FNEup5AEDhC7jH
         7BYyo9odLKNlqNn50g+gE8NAUWEa6xpOcuifOEZjMbxe0LDeonEVT6v6Qs3Lxp92KeVN
         7ICwgrdavJMvw2vc7cxHTIkXpRkaZiKlkUKGXKrZWNfcdq7GooK9Ts3IfxLPafLlajbF
         DXPq9xaC86sjwkp0splyYk+ytEzMGGU9btgYhok1mKkTioueeYEY5MzpaIM+ncOMkWft
         wcGdUxAgHOmOVWeUjM2meEs+KLMcLc+BNStfbl4yQkezaeG4OfchnLgesJ9CFFCw5z3V
         LsBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741874014; x=1742478814;
        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=fCxxDGYuy2Cc/IFubfex0MjwHffrK4iFN5U1SgdHJM0=;
        b=CRpWfnAcBaQXIORS39dHYrT6KA4WeW1Bye/GVIa3uAxisSB22FhsUtvyxZUNP5yPn0
         An+fgULSKv3PobRFvv8NNC3q9ccAZiXloktuc94cmCT3rBGKtgdv7bSipjo9U/iKb6OC
         XeI3otZleV38MuywdqSV/a/4vDMagveVTcQpEhazLoTP7aI9OL/R4VT2Ijiy+YraB+/I
         YyGXlne6nNxDmQrHlXY0eL0eKb3diCsPIlR+YJlefu7W/y31rQxoDEqIfoLoXlbUR1mB
         LBqTzpfLJHwTJL+vFu2XbD/QwzNIZDwgcYa161JLKW7iry3n4ZK/3oqBiiBuGtk3Kn+D
         mORg==
X-Gm-Message-State: AOJu0YwvoUdXSAwY1xhB81JmEmQEDBRgky7DsGLTGn88y7BL9hSNqJx2
	GuNtCTPC5C3+AfBtuxlWSlrlP8r1FT+LGzJtxNXGraPNstY+G0JcrzK50cjAPqOcVgDby5Q/8Zs
	=
X-Gm-Gg: ASbGncvC77X4bNzB2AmJf46IaUuI8awfFFLEquOIelTxQaw2eLz5vJbYvOCB6IDNLZG
	s9ncUdH7kjvmj9vJAQdfrHMDoiLxHQ2H3N2rgnyWpzE0VBB1dzSBuSDQCtLhn5Io0Wudo/sZDCO
	kbqJgzcrwg71MleEM2dUr91Q4tjNUUq4qESEGXgceuT2p85eudnsArxoLUbmXKwxbcDQK95DNS5
	lE5dq4C8p33fmAEy8olMxd1yMBmU66KMnJvsRrgcfc5vWcjONR+9ustOlqzgBvKMZ91aOuwAYxX
	fCoAyrOlkcinnLuVynpBFV06zkXC+R6Aury4phdGvIk5ulWpsjkmo6eqWxIQHngso7GGKBO7byu
	wwRC5plrQoxUKqrlS2VLBR8yAWOFFBA==
X-Google-Smtp-Source: AGHT+IFZjjQ0qBDB7b0zosF9/jHin5+CIaPO9cDuH6HESGaEsN6bV6XkBUq5irp9zrsar20f4aT0qA==
X-Received: by 2002:a05:600c:3b8b:b0:43c:f6b0:e807 with SMTP id 5b1f17b1804b1-43cf6b2135cmr156894775e9.31.1741874013813;
        Thu, 13 Mar 2025 06:53:33 -0700 (PDT)
Message-ID: <816a0320-d229-4f7e-b1b5-51dbb640c5c8@suse.com>
Date: Thu, 13 Mar 2025 14:53:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 2/6] symbols: don't over-align generated data
From: Jan Beulich <jbeulich@suse.com>
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>, Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@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: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

x86 is one of the few architectures where .align has the same meaning as
.balign; most other architectures (Arm, PPC, and RISC-V in particular)
give it the same meaning as .p2align. Aligning every one of these item
to 256 bytes (on all 64-bit architectures except x86-64) is clearly too
much.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Even uniformly aligning to 4 (x86, Arm32) or 8 bytes is too much imo,
when some of the items require only 1- or 2-byte alignment.

Is there a reason only x86 defines SYMBOLS_ORIGIN, to halve the address
table in size? (Arm32 and other possible 32-bit ports of course have no
need for doing so, but for 64-bit ones that can make quite a bit of a
difference.)

--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -304,10 +304,10 @@ static void write_src(void)
 	printf("#include <xen/config.h>\n");
 	printf("#if BITS_PER_LONG == 64 && !defined(SYMBOLS_ORIGIN)\n");
 	printf("#define PTR .quad\n");
-	printf("#define ALGN .align 8\n");
+	printf("#define ALGN .balign 8\n");
 	printf("#else\n");
 	printf("#define PTR .long\n");
-	printf("#define ALGN .align 4\n");
+	printf("#define ALGN .balign 4\n");
 	printf("#endif\n");
 
 	printf("\t.section .rodata, \"a\"\n");



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:53:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912239.1318553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsj0V-0005dl-6p; Thu, 13 Mar 2025 13:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912239.1318553; Thu, 13 Mar 2025 13:53: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 1tsj0V-0005de-3a; Thu, 13 Mar 2025 13:53:55 +0000
Received: by outflank-mailman (input) for mailman id 912239;
 Thu, 13 Mar 2025 13: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsj0T-0005Eo-Qa
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:53:53 +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 991c7f28-0012-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:53:53 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43948021a45so8562395e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:53: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-43d188bb577sm21275545e9.19.2025.03.13.06.53.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:53: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: 991c7f28-0012-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741874032; x=1742478832; 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=Hy8f/0LGlSutg/mtmD9f1iBXGGEL7ZBLLMqdPuSrLnU=;
        b=Bq82f5+0XUOlWERvnfPtYutYU/H+RB1MAEXhjZUTbNz6T3Bn8zm4MLfM0Ij9nhPi9s
         RFYzCvzjv1FooG69+Onni6bXbieeTv3N2KhJSv2oIUrddAe4Z52PmFpgz+7fRJ+oHRGW
         sp7gblv1lwHytuQsYDw16HHnIs1g0SPHgd2OyTsZW4HkL/FPVKSV2M4t7YSOhaM+0szc
         B+YJQ0VvX/6JXJhQ8yLCCyRGvcj0sllD49DVxiuWqG17qDAx+ZMdQ7g0p/v3bA0gBegw
         wA1G2sfFRsSLU2Hs7faCq0FqLsAJeeeAHQ5fAlIhL2+eL+aERtCKmcpwMBfXCVWQ67Nv
         wknA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741874032; x=1742478832;
        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=Hy8f/0LGlSutg/mtmD9f1iBXGGEL7ZBLLMqdPuSrLnU=;
        b=DeWgUsPjJEElPgyBHRSFmP3jH9KIzHH3qSeUIIyRx2Ku6W33k6dhCcgVjoDzo1csbE
         ZlJ6Oy1CwfRbayucO/F3X5CuBxLdP9n2lUQXi+KGaFlcCQwMoCBNuCn0ZiYKUvStR0w0
         FLfQxMLi+Fl4NbJffBC4BoEcKZLOcd1rOLuftFHbJTKOpy5SGGlPgrt4srVXCHwYvEbz
         KEUCc880nSOvHRiZX+Z5ewKRMTRLLTyLM8gUrVDz9kROGtyvLTYTrPPSCzJEstLleGeP
         wOIVW0QVJGOy0Rs8pKkUddGvqTHA15QGJZsUykpSyCUZLLAwDu7xt6x1VNrgUPV7kH/v
         AGPw==
X-Gm-Message-State: AOJu0YzwscQJ1It65bArsOv/DOYQSUmP07NfsBSBMFr2ZLS8o0a5058U
	FmgaOpM5oKyDPR2TfQM6cshd+9Xhy36LmxekaARtFdZVSf8XsOj2AJvQR8Ts7C9jfRw9buGB7ig
	=
X-Gm-Gg: ASbGncvhFUVIyV7TndA9uG1CNPn/8pvYu9swSZ7Aq2W6swKMTafatKLzvfFnlCY/knl
	KG/7NWYQ0hJG6gzLYehzHl9iLtK6JWl2KEgOFvaabqxtA5C/QyScRMVW4u92IEPXrWRzHlx62d0
	1uX/E5Ej1WV4zhjR0bIqrxEiBgto5owhXJ6Za0UN1AgNZHWihNqEBzVG8QmRaMy8uOh4nMLxtQ0
	Zjl5wCcN+UfkMGBbJ2eRmqwUiBFgcjwwz/9Dg+S+i0qfl2pG9Zrz+pKeg6/DXkedFBM5bsumFkJ
	9O3DftCkOZElqXLmgyWVPQTOiwRAMaHIF5uM8enufterr/cpPwh2GFbkmfwPF3FDdRH+LbCkE+/
	kPPX4z7XaYa+TKT7KGQdtGq9BSR136A==
X-Google-Smtp-Source: AGHT+IGyDuPMAywci6EIpal80CSyYfIDp2RwhSjgzL9ACvgV48UFjVYb+yKpq2vwLE2ZhpgL0nqMnQ==
X-Received: by 2002:a05:600c:3b21:b0:43c:fee3:2bce with SMTP id 5b1f17b1804b1-43cfee32d16mr103982915e9.26.1741874032154;
        Thu, 13 Mar 2025 06:53:52 -0700 (PDT)
Message-ID: <c4b7f6ce-baa9-4b55-bdea-a67ff7d5daa1@suse.com>
Date: Thu, 13 Mar 2025 14:53:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 3/6] symbols: sanitize a few variable's types
From: Jan Beulich <jbeulich@suse.com>
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@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: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Parameter and return types of symbols_expand_symbol() make clear that
xensyms_read()'s next_offset doesn't need to be 64-bit.

xensyms_read()'s first parameter type makes clear that the function's
next_symbols doesn't need to be 64-bit.

symbols_num_syms'es type makes clear that iteration locals in
symbols_lookup() don't need to be unsigned long (i.e. 64-bit on 64-bit
architectures).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -108,7 +108,7 @@ const char *symbols_lookup(unsigned long
                            unsigned long *offset,
                            char *namebuf)
 {
-    unsigned long i, low, high, mid;
+    unsigned int i, low, high, mid;
     unsigned long symbol_end = 0;
     const struct virtual_region *region;
 
@@ -179,7 +179,7 @@ int xensyms_read(uint32_t *symnum, char
      * from previous read. This can help us avoid the extra call to
      * get_symbol_offset().
      */
-    static uint64_t next_symbol, next_offset;
+    static unsigned int next_symbol, next_offset;
     static DEFINE_SPINLOCK(symbols_mutex);
 
     if ( *symnum > symbols_num_syms )



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:54:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912257.1318563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsj0x-0006Gd-FO; Thu, 13 Mar 2025 13:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912257.1318563; Thu, 13 Mar 2025 13:54: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 1tsj0x-0006GW-Bv; Thu, 13 Mar 2025 13:54:23 +0000
Received: by outflank-mailman (input) for mailman id 912257;
 Thu, 13 Mar 2025 13:54: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsj0v-0005Eo-Qy
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:54:21 +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 a9ea97e7-0012-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:54:21 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so812528f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:54: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-43d188b0092sm21288445e9.5.2025.03.13.06.54.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:54: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: a9ea97e7-0012-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741874060; x=1742478860; 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=pZ0/V7ZT52/4wqdqp0m7EzpxDL3ASTPBl65f2eq3ZWc=;
        b=F9v+O4/4HHONiImkwPPbKHOcoIccKOGppK492xNDJqKfwOveZRDyy20RFrTpYRMtyt
         IbMKZ3r+S2O9Oj4KZa8v1XQ7bVczkRIDeNcgnEmLelqmNNf6f1vzzalmvmdQKYu22dO6
         RMMH8N84gUD+AFFWb+QYscQ6PvlxP7kyNEuA4KbaOBXbHccOP7tES1GYOGySu3+K1IA2
         8xpF/nxLlM91bwDkSBw5DQAVrtF5QxHmnhPkzCfJ0889TUGTc+/pYazxSOHRG1oDae9A
         L5uWwQorvsqiHdU6K3LG1XSUBifLdhyA93N70VIr6AYX5duuYw+IE8uBaAJQZFUNP2Cr
         fJzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741874060; x=1742478860;
        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=pZ0/V7ZT52/4wqdqp0m7EzpxDL3ASTPBl65f2eq3ZWc=;
        b=rUxyLMZr1Djorp0MuXgV5Qf7n+Uak9rduLjiM/F3w2ZNNCCVFOpEDGlOQ9nJ1LlrdL
         RiQS1efdz1V3NDmpbxQEivPpdHcCoCcXcfU7FufdVWxW2wcM0UEJ/i5hE48UcYnAWpaw
         YqJjqYCxYRoYdf1FKML6peebqIYIdBGGRfUtiXc4fyS2iBmHFghJu2LMcgaOe4NKbVwQ
         gw85HHzecopAJQrsNer4At15JcmHf8z4QXueQkIzpLDMNFzcILvbkP4XZUd+ymsWx0cU
         DbEsQp4tnCz9v9ZcwV5genwBdSNDFeuE2uv9f6M0jSSUqEpcDZIRQ+kuVJ5o5l6jRRdC
         Zebw==
X-Gm-Message-State: AOJu0YycBMBlo5S8Ie4ULoXYLGoewVdvgo79rsem+1uKDMeKuTN1j0Pm
	D9mR4r3qXKj1LPAjyNIe0F0voTS1BUv5g4A9axbEKY98/72EAxzyj/f83nu102VjYWq26VlOuGw
	=
X-Gm-Gg: ASbGncskFk4JcdKKlrUJp3MJzdr/iu+m3nB+aCdZAwUq/FmlGjAFWZf5pL0cezb+OuG
	PskTrNBHv7bpCCj6d9mnGpAQFAAxt2WXqLkfoXPXGtXLWtjpX00Kc0+rAvWrOBCD1Gj3ZsgB9UC
	iB3oVd1IQqoyy0qVM488PP05Wnelr7vd4CM4FqVX0MmoBJt+QaW+0LuY+h2yvtKNGU8EaznMsBB
	BZDNK/dwLb3YvQl9S7jL/Yr/5nZYc+jddypDNWrwkcY7/jjvtupBgU8HSHA5/lmvqLDVinPv2IO
	VYHG/kvjcp1POq2ViI37P+4jSDkI7Uylu1o5tK+R4eaYhIDdNX79s6WueHIOO30y/BAgcT16xCf
	yG0Mzb2LvXUAkFshTx5z2s5YgAiOttQ==
X-Google-Smtp-Source: AGHT+IFGgmG1dRPjfBySTm/GbUtIWXMTCxzMjd2YdzNUe1gnX313Gdpu829R1iQoCuJQJXo5SDpFBg==
X-Received: by 2002:a5d:6d09:0:b0:38f:4fa6:68df with SMTP id ffacd0b85a97d-39132dbca7amr23825541f8f.51.1741874060421;
        Thu, 13 Mar 2025 06:54:20 -0700 (PDT)
Message-ID: <82494869-2565-4a20-b43d-224641919d68@suse.com>
Date: Thu, 13 Mar 2025 14:54:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 4/6] symbols: split symbols_num_syms
From: Jan Beulich <jbeulich@suse.com>
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@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: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

In preparation for inserting address entries into symbols_addresses[] /
symbols_offsets[] without enlarging symbols_sorted_offsets[], split
symbols_num_syms into symbols_num_addrs (counting entries in the former
plus symbols_names[] as well as, less directly, symbols_markers[]) and
symbols_num_names (counting entries in the latter).

While doing the adjustment move declarations to a new private symbols.h,
to be used by both symbols.c and symbols-dummy.c. Replace u8/u16 while
doing so.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -10,7 +10,6 @@
  *      compression (see tools/symbols.c for a more complete description)
  */
 
-#include <xen/symbols.h>
 #include <xen/kernel.h>
 #include <xen/init.h>
 #include <xen/lib.h>
@@ -21,22 +20,7 @@
 #include <xen/guest_access.h>
 #include <xen/errno.h>
 
-#ifdef SYMBOLS_ORIGIN
-extern const unsigned int symbols_offsets[];
-#define symbols_address(n) (SYMBOLS_ORIGIN + symbols_offsets[n])
-#else
-extern const unsigned long symbols_addresses[];
-#define symbols_address(n) symbols_addresses[n]
-#endif
-extern const unsigned int symbols_num_syms;
-extern const u8 symbols_names[];
-
-extern const struct symbol_offset symbols_sorted_offsets[];
-
-extern const u8 symbols_token_table[];
-extern const u16 symbols_token_index[];
-
-extern const unsigned int symbols_markers[];
+#include "symbols.h"
 
 /* expand a compressed symbol data into the resulting uncompressed string,
    given the offset to where the symbol is in the compressed stream */
@@ -124,7 +108,7 @@ const char *symbols_lookup(unsigned long
 
         /* do a binary search on the sorted symbols_addresses array */
     low = 0;
-    high = symbols_num_syms;
+    high = symbols_num_addrs;
 
     while (high-low > 1) {
         mid = (low + high) / 2;
@@ -141,7 +125,7 @@ const char *symbols_lookup(unsigned long
     symbols_expand_symbol(get_symbol_offset(low), namebuf);
 
     /* Search for next non-aliased symbol */
-    for (i = low + 1; i < symbols_num_syms; i++) {
+    for (i = low + 1; i < symbols_num_addrs; i++) {
         if (symbols_address(i) > symbols_address(low)) {
             symbol_end = symbols_address(i);
             break;
@@ -182,9 +166,9 @@ int xensyms_read(uint32_t *symnum, char
     static unsigned int next_symbol, next_offset;
     static DEFINE_SPINLOCK(symbols_mutex);
 
-    if ( *symnum > symbols_num_syms )
+    if ( *symnum > symbols_num_addrs )
         return -ERANGE;
-    if ( *symnum == symbols_num_syms )
+    if ( *symnum == symbols_num_addrs )
     {
         /* No more symbols */
         name[0] = '\0';
@@ -227,7 +211,7 @@ unsigned long symbols_lookup_by_name(con
 
 #ifdef CONFIG_FAST_SYMBOL_LOOKUP
     low = 0;
-    high = symbols_num_syms;
+    high = symbols_num_names;
     while ( low < high )
     {
         unsigned long mid = low + ((high - low) / 2);
--- /dev/null
+++ b/xen/common/symbols.h
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/stdint.h>
+#include <xen/symbols.h>
+
+#ifdef SYMBOLS_ORIGIN
+extern const unsigned int symbols_offsets[];
+#define symbols_address(n) (SYMBOLS_ORIGIN + symbols_offsets[n])
+#else
+extern const unsigned long symbols_addresses[];
+#define symbols_address(n) symbols_addresses[n]
+#endif
+extern const unsigned int symbols_num_addrs;
+extern const unsigned char symbols_names[];
+
+extern const unsigned int symbols_num_names;
+extern const struct symbol_offset symbols_sorted_offsets[];
+
+extern const uint8_t symbols_token_table[];
+extern const uint16_t symbols_token_index[];
+
+extern const unsigned int symbols_markers[];
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--- a/xen/common/symbols-dummy.c
+++ b/xen/common/symbols-dummy.c
@@ -3,22 +3,22 @@
  *                  link of the hypervisor image.
  */
 
-#include <xen/types.h>
-#include <xen/symbols.h>
+#include "symbols.h"
 
 #ifdef SYMBOLS_ORIGIN
 const unsigned int symbols_offsets[1];
 #else
 const unsigned long symbols_addresses[1];
 #endif
-const unsigned int symbols_num_syms;
-const u8 symbols_names[1];
+const unsigned int symbols_num_addrs;
+const unsigned char symbols_names[1];
 
 #ifdef CONFIG_FAST_SYMBOL_LOOKUP
+const unsigned int symbols_num_names;
 const struct symbol_offset symbols_sorted_offsets[1];
 #endif
 
-const u8 symbols_token_table[1];
-const u16 symbols_token_index[1];
+const uint8_t symbols_token_table[1];
+const uint16_t symbols_token_index[1];
 
 const unsigned int symbols_markers[1];
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -323,7 +323,7 @@ static void write_src(void)
 	}
 	printf("\n");
 
-	output_label("symbols_num_syms");
+	output_label("symbols_num_addrs");
 	printf("\t.long\t%d\n", table_cnt);
 	printf("\n");
 
@@ -373,6 +373,10 @@ static void write_src(void)
 		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);
 



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:55:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912269.1318572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsj2B-0006sb-OQ; Thu, 13 Mar 2025 13:55:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912269.1318572; Thu, 13 Mar 2025 13:55: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 1tsj2B-0006sU-Ks; Thu, 13 Mar 2025 13:55:39 +0000
Received: by outflank-mailman (input) for mailman id 912269;
 Thu, 13 Mar 2025 13:55: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsj2A-0006sM-H5
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:55: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 d788b571-0012-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:55:37 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso8899975e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06: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-43d188b6d3csm21145695e9.11.2025.03.13.06.55.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06:55: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: d788b571-0012-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741874137; x=1742478937; 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=5qdZYmy9cJ905wD0Otv7PRiJxoIoH9X0sUdlDkKSKcA=;
        b=fhZYsQeNbipVfcJMoQYXsfNriBLktsJSsJXRc8FSTkzO3Wda+TXYXCUe8dyBrhoOyR
         elNYzk//HzHxGoj5f+R4RnrmFZSTXEPSgb95zCtTaXlbPqMjK+//JjvLOVQ9QqmUaIUs
         m1jisQ3lr61PGw2wj4l3UAHirRALogZsOyJle6c3dkMxkK0FxncicSBStA+HOI2vy2YA
         CjnHKfO1qpshur0ZorXqX8lUZBGA7XOZhkvwkUrarn90NoJCUYgf9s/s6AoS3COzot00
         p+z/yuA8ZQ+cH7ooEIMIbACn0iH3VkYkyn6gV6R+xPmIY1GNqXyXLYKoybn8IVxv6WS8
         u+AQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741874137; x=1742478937;
        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=5qdZYmy9cJ905wD0Otv7PRiJxoIoH9X0sUdlDkKSKcA=;
        b=XZfVKvJtxaZWeVDCh9S1jMddRdHzf5ApJ13jMDkVHVDA1IZBgwWbI95NxvsSYqyJgs
         BLP6NbjA3Cf3qJS+g4UVpqO+YrP4GLldIftKctlL8JEFypNl7Uyk1xYgQz8Jb7SSw+lB
         v92XZMr5zWlc0xWDt7fnZbSMivBipm+q0bWjku2YcE3wqjfEnyBCvE3eUQcoUvyhzlVt
         OoUs6bCAE0x1n4O62MDyxB++/r/TJ1sIrw0FSceWZ5nFY4ytfzR8BNDsgKTEt4KI+oiF
         /kAfMq/ySOF5yA9qblzJAM9250WSLpdP5GclPWumQdq4u9oDy91yGMhb3vzd/GEbNqrP
         /dYg==
X-Gm-Message-State: AOJu0Yzw+zinMM1gWUlqeqaxwNC3ads2D3wsJ6BlHvv3XRxuFcTm9hi/
	leKz8kZzwcU9DmREPkB5+GFmMDqIsGXHVCyFkdKZxuJ8KOIAcdnZTVYB5mQeNy2Q/tFqmfJO1rk
	=
X-Gm-Gg: ASbGncsflgdYcJfLidEP+J0lYMhyUkwjK9tDBUCiyLakJ5vroUD+d56MDmU614matxD
	lheM2vUsAg3ZrCQfNpoZ+nhVK0zsy9V5PUOSfF/bq898AMZLvEZg7wSkI5X0p4iCFOmKOUaguSz
	m9ZDGIzcNAGiVKMBBZJ0eY+K4DI9Q9eD9SC8PZDVFcLIOGsvKomDrRWbQh7jLGSkf7C/V9XWnJF
	W+IhZ7NlZ4enX6yON61hhxBAoCIVERYoYpAEalzUJY8lZtjN7+J/YfTHdJmkpZclxQ5BSdioCyh
	sg60uGQ+t2KNm+dNBUMha4FAEIk9xoBX7beJP0RlJdBdBklXdC//lHgLiL0PcnlMDbtOjD0lwJ6
	caxCRPIXDS5w4Iccp2u+djjPsgAcemg==
X-Google-Smtp-Source: AGHT+IHhEpSmsnzbUqc8RQP8V5pcX6okwHwgBUU+FJpFGEJcjrYYAu9mN1ftQYelsGnh7gexHqulnQ==
X-Received: by 2002:a05:600c:198d:b0:43c:fdbe:4398 with SMTP id 5b1f17b1804b1-43cfdbe4493mr132230475e9.6.1741874136880;
        Thu, 13 Mar 2025 06:55:36 -0700 (PDT)
Message-ID: <d0521cf8-dc85-4b31-9850-2bb94c560fc5@suse.com>
Date: Thu, 13 Mar 2025 14:55:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 6/6] symbols: centralize and re-arrange $(all_symbols)
 calculation
From: Jan Beulich <jbeulich@suse.com>
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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@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: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

For one there's no need for each architecture to have the same logic.
Move to the root Makefile, also to calculate just once.

And then re-arrange to permit FAST_SYMBOL_LOOKUP to be independent of
LIVEPATCH, which may be useful in (at least) debugging.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Likely syms-warn-dup-y wants to follow suit; it doesn't even have an Arm
counterpart right now.

--- a/xen/Makefile
+++ b/xen/Makefile
@@ -460,6 +460,10 @@ ALL_OBJS-$(CONFIG_CRYPTO) += crypto/buil
 
 ALL_LIBS-y                := lib/lib.a
 
+all-symbols-y :=
+all-symbols-$(CONFIG_LIVEPATCH) += --all-symbols
+all-symbols-$(CONFIG_FAST_SYMBOL_LOOKUP) += --sort-by-name
+
 include $(srctree)/arch/$(SRCARCH)/arch.mk
 
 # define new variables to avoid the ones defined in Config.mk
@@ -612,7 +616,8 @@ $(TARGET): outputmakefile asm-generic FO
 	$(Q)$(MAKE) $(build)=include all
 	$(Q)$(MAKE) $(build)=arch/$(SRCARCH) include
 	$(Q)$(MAKE) $(build)=. arch/$(SRCARCH)/include/asm/asm-offsets.h
-	$(Q)$(MAKE) $(build)=. MKRELOC=$(MKRELOC) 'ALL_OBJS=$(ALL_OBJS-y)' 'ALL_LIBS=$(ALL_LIBS-y)' $@
+	$(Q)$(MAKE) $(build)=. MKRELOC=$(MKRELOC) 'ALL_OBJS=$(ALL_OBJS-y)' \
+	            'ALL_LIBS=$(ALL_LIBS-y)' 'all_symbols=$(all-symbols-y)' $@
 
 SUBDIRS = xsm arch common crypto drivers lib test
 define all_sources
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -81,15 +81,6 @@ ifneq ($(CONFIG_DTB_FILE),"")
 obj-y += dtb.o
 endif
 
-ifdef CONFIG_LIVEPATCH
-all_symbols = --all-symbols
-ifdef CONFIG_FAST_SYMBOL_LOOKUP
-all_symbols = --all-symbols --sort-by-name
-endif
-else
-all_symbols =
-endif
-
 $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
 ifeq ($(CONFIG_ARM_64),y)
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -111,15 +111,6 @@ notes_phdrs = --notes
 endif
 endif
 
-ifdef CONFIG_LIVEPATCH
-all_symbols = --all-symbols
-ifdef CONFIG_FAST_SYMBOL_LOOKUP
-all_symbols = --all-symbols --sort-by-name
-endif
-else
-all_symbols =
-endif
-
 syms-warn-dup-y := --warn-dup
 syms-warn-dup-$(CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS) :=
 syms-warn-dup-$(CONFIG_ENFORCE_UNIQUE_SYMBOLS) := --error-dup



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 13:58:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 13:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912279.1318582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsj4k-0007RS-3d; Thu, 13 Mar 2025 13:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912279.1318582; Thu, 13 Mar 2025 13:58: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 1tsj4k-0007RL-0x; Thu, 13 Mar 2025 13:58:18 +0000
Received: by outflank-mailman (input) for mailman id 912279;
 Thu, 13 Mar 2025 13: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsj4i-0007RE-Qa
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:58: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 35ed092d-0013-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 14:58:15 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso8993625e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 06:58:15 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d188b12ddsm21647405e9.8.2025.03.13.06.58.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 06: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: 35ed092d-0013-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741874295; x=1742479095; 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=5ENqAw/ooDKAWUJCFTq03ijJWR72T+RJ8gdQoWV47OY=;
        b=LMMVsqsJlikFoegv+KcrwE+Zo2gwpDqmsTfCCOX8SDrdavEs9hIeXLb5wlptDny7lJ
         sjtfYhNFHjFDKJBwam+ICMB4GYovVmAqz6kPjvg+dXMNioY0yPNoHEU5ICUmDDQ4b/cB
         gFw3YizlvqFTkl9CvZXu7+Dk4ZOnvBEkvp2bk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741874295; x=1742479095;
        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=5ENqAw/ooDKAWUJCFTq03ijJWR72T+RJ8gdQoWV47OY=;
        b=nFZgtTvvPiJ24K+oSuCJ/k4lhZTQrR1FAY3vNDi7EKKKDGa+JJwdKV4dKcjhFgNv3U
         fEJ+toeE+WAK83vhcUPXzIyaeAg/3cIyCjfOK33YNvNOI6pUMPaT251qSLi5NGkX9igo
         Qx+vbbsSYHF9ad1cQAGfAafNdd+0OtMow80MtksLrfGIiF6M1jpZ3nuh536M83uCjUxK
         RoEoGzzdWnYruugO32hCLE29zZrB1nOjTt3MY4zvNMTvsJWHzIQcEZArF6VnHDhgKpE7
         D125qVP8od3MtV1PNnPdWNkWgsRnuY4x48ES5HNnq2SHua9kMRFtEbLSYykySPahrJA3
         DhFw==
X-Forwarded-Encrypted: i=1; AJvYcCU+QHSmdsS5YELlOrAgld172MTG9mj/ffg7EuVexF5k8DkV5jgjK1rJYVupWr8xitai/qsvmxpNrds=@lists.xenproject.org
X-Gm-Message-State: AOJu0YywrpKNric7cWr19F6CgxLTI+XKGin5Zz3YUUFHJUb6pLIu7ZZ3
	Fubd5MED3bgrnfFJiq8kGTTMLoY2zwMt3RYXr/01XSIlZtqpAlBgSDDDZJhJnmo=
X-Gm-Gg: ASbGncsmjwYcxjrJOJ53f6OtKTLa5P0jtmKqXcRNXK5ygapNgR7QleEiGlvJUVQymeK
	bLhx2jqSBLjmZphx8DLj6restH7qyjBaQLQwWZOU38KgXssalOuQV/skDch3yd/6n8Z+Dzg2pDd
	O7eoXQ0I8SxGL9Z/B0Fk9KJgG2bdRAzbOHm+jR+PIMJvBRcryEUki3YIi6KSmeTtkk6gQYQRAZB
	W1s7BzpYnYQwVtLIZuytzWJdjKPiT26zripXA6utv30OIJduyX3u0xGiZLqCKj4UAQMhIpqUX9w
	nIWuacnlgAWyk1d7s79/lKjQwvuBkBINsySEiCH8w520IxxLf4jU2NXfAVIhbH7hnpCqzicSdHf
	2IDm5YYvi
X-Google-Smtp-Source: AGHT+IEEZcTBB/GVqJGgoFPUJJPevAdDJReyUsHw+kRBKV4/BpUfjN8s/YU0NjYGigvK4xu4xHC4Yw==
X-Received: by 2002:a05:600c:4f02:b0:43c:f87c:24d3 with SMTP id 5b1f17b1804b1-43d01c121bbmr101302695e9.20.1741874295315;
        Thu, 13 Mar 2025 06:58:15 -0700 (PDT)
Message-ID: <6ff81326-762c-46ec-a06a-254ba166433b@citrix.com>
Date: Thu, 13 Mar 2025 13:58:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@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: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 1:38 pm, Jan Beulich wrote:
> There's no need for each arch to invoke it directly, and there's no need
> for having a stub either. With the present placement of the calls to
> init_constructors() it can easily be a constructor itself.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

This has a side effect of wiring it up on RISC-V and PPC, as they
process constructors.Â  It looks safe enough, but have you double checked?


However, the position and logic during init is nonsense, I think.

It registers a cpu notifier which only does spin_lock_init() on a
per-cpu variable, which I think only works today because 0 is the init
value.

alloc_trace_bufs() on the other hand has a for_each_online_cpu() loop
because it's too late and ought to be a presmp_initcall().

Also the allocations could be NUMA-local for all but the biggest of
servers (given the 16T upper limit because there are raw uint32_t's
involved in the protocol).

I'm tempted to ack this on the basis that it is an improvement, but a /*
TODO this is all mad, please fix */ wouldn't go amiss either.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 14:03:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 14:03:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912293.1318593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsj9W-0001fP-P2; Thu, 13 Mar 2025 14:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912293.1318593; Thu, 13 Mar 2025 14:03: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 1tsj9W-0001fI-LG; Thu, 13 Mar 2025 14:03:14 +0000
Received: by outflank-mailman (input) for mailman id 912293;
 Thu, 13 Mar 2025 14:03: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsj1L-0005Wp-RM
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 13:54:47 +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 b70eb2d5-0012-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 14:54:43 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso6115475e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 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
 5b1f17b1804b1-43d0a75b0f6sm54380865e9.22.2025.03.13.06.54.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 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: b70eb2d5-0012-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741874082; x=1742478882; 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=BLOSHq8PWlNDBpZfFh39qmol2jrCmXZN7mJgC6pp9zw=;
        b=Dc5+uRvK4O8z3z9fneMry5OuJja3ueWO/XG7YI20gmdCqtCqreUU4W3ijB20FNXte0
         XDK8NvkR5WYoMMvEA9yxSll7ROYk4ygGUR38SwtIfM/hB5Gykc/17zSaUyhxStRhcxow
         GYuPAi8YgrpDCmFxHfmvWK62h8onVflbbp/0EzFLq3+wcDB2a+L5KYR0eWEbqNFHXHGP
         MAMDvoTi5EkiYfRJG/rJtrTr/oh+QDtILVRNcin9ssBeJDwcWYPRo1NWMqLRXEWFdeZP
         QAuXa1AXess4s9153yGELdmn+22APCwxUrZs90/txoZ219v1Fetd3Tdp2cxvMhYGtU2v
         8nDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741874082; x=1742478882;
        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=BLOSHq8PWlNDBpZfFh39qmol2jrCmXZN7mJgC6pp9zw=;
        b=jDQ7c/KKNvZGywFq/3BATd3uqu89SY7cpfOhK+4/BckuCKFLZ8UFemp4L0cEQt0Cp8
         X+WPg7JtU3LxvH7fAvmKlrV/4huVGw6PnV+MMrWYFI8abSVgXhITQPAcuYHef1wH55X8
         wL64vPEcpfy2DPJBRZrs0O6i9uY+xk6vPWhYI2hbO1cm8SuPBk5dgmiEeyfYZZ5Eu4wO
         Nr/ymyyaEcdxDsrsut1qpDQ/2UTWTEjBw8RIM+jMOsJKyBS7sbOPUKKgdZ8cCvcCHChv
         fMMyMJlg1eF4l8bG/NBgoottezrglcFpR59FGtkwCZH9d7TEYCLeaTCcPcEGaysNoqRR
         xg0w==
X-Gm-Message-State: AOJu0Yw6ry+DnTM/IQmKn9PNwjlDTRyuPxLkSz7Xw9q59abQ2oopyaJA
	UmCqs1GqSD4cQajpbsTb5kWQZ1+gdgVKjD6hq3Ae2dVYvBaGAvvYFmRxWqiJ6KgeWGwszB8CmtY
	=
X-Gm-Gg: ASbGncu2sxCc/CyVJZIVXzNbLkOOPI+rfpnglrS+Z8MFBdF7zC7Jxd6MhXr5o3tOfr/
	1jvf3HKAlj7imz/mwVcLm4SSyfBLhWbdFrWCiGchn5U4g9p/qDWuFT+I7e6aW6C0heDhiIlfvtu
	8QKnp4fiUiOK1foMX7nb1ceTTv8uwYKm5EAc3suaec7IYNgEx7Cco52IuBnQPJUlPzSTYuzifVC
	H/9eT2olKZnwvXHBi9ZUeJDOB42yelPrtahltXSfpibOHuG//Maq7Q+JdXdtHbKUNlVlU9au5fO
	MYEsZ9XGQdm8K3gluUqsrzBhFTNAuDBkxPEhRpL3+Q/t8SBRERZwswHI3gOxrPJ9CFZWmn1OsSZ
	dS+IvKzpdUbauk18GhuFjP2ef/zI6jQ==
X-Google-Smtp-Source: AGHT+IHNrxWxqUZCs1z/QJri7R24okz3X/vk5S6V8rhATJNTwR8xIQ1Guxwt4lsvdBllZ08p7oSS2g==
X-Received: by 2002:a05:600c:1c9a:b0:43c:e8ba:e166 with SMTP id 5b1f17b1804b1-43d01c1daebmr103220705e9.22.1741874082408;
        Thu, 13 Mar 2025 06:54:42 -0700 (PDT)
Message-ID: <51f2cd39-e92f-4745-8053-e51ada22d601@suse.com>
Date: Thu, 13 Mar 2025 14:54:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 5/6] symbols: arrange to know where functions end
From: Jan Beulich <jbeulich@suse.com>
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@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: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

When determining the symbol for a given address (e.g. for the %pS
logging format specifier), so far the size of a symbol (function) was
assumed to be everything until the next symbol. There may be gaps
though, which would better be recognizable in output (often suggesting
something odd is going on).

Insert "fake" end symbols in the address table, accompanied by zero-
length type/name entries (to keep lookup reasonably close to how it
was).

Note however that this, with present GNU binutils, won't work for
xen.efi: The linker loses function sizes (they're not part of a normal
symbol table entry), and hence nm has no way of reporting them.

The address table growth is quite significant on x86 release builds (due
to functions being aligned to 16-byte boundaries), though: Its size
almost doubles.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Note: Style-wise this is a horrible mix. I'm trying to match styles with
      what's used in the respective functions.

Older GNU ld retains section symbols, which nm then also lists. Should
we perhaps strip those as we read in nm's output? They don't provide any
useful extra information, as our linker scripts add section start
symbols anyway. (For the purposes here, luckily such section symbols are
at least emitted without size.)

--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -116,6 +116,13 @@ const char *symbols_lookup(unsigned long
         else high = mid;
     }
 
+    /* If we hit an END symbol, move to the previous (real) one. */
+    if (!symbols_names[get_symbol_offset(low)]) {
+        ASSERT(low);
+        symbol_end = symbols_address(low);
+        --low;
+    }
+
     /* search for the first aliased symbol. Aliased symbols are
            symbols with the same address */
     while (low && symbols_address(low - 1) == symbols_address(low))
@@ -124,11 +131,13 @@ const char *symbols_lookup(unsigned long
         /* Grab name */
     symbols_expand_symbol(get_symbol_offset(low), namebuf);
 
-    /* Search for next non-aliased symbol */
-    for (i = low + 1; i < symbols_num_addrs; i++) {
-        if (symbols_address(i) > symbols_address(low)) {
-            symbol_end = symbols_address(i);
-            break;
+    if (!symbol_end) {
+        /* Search for next non-aliased symbol */
+        for (i = low + 1; i < symbols_num_addrs; i++) {
+            if (symbols_address(i) > symbols_address(low)) {
+                symbol_end = symbols_address(i);
+                break;
+            }
         }
     }
 
@@ -170,6 +179,7 @@ int xensyms_read(uint32_t *symnum, char
         return -ERANGE;
     if ( *symnum == symbols_num_addrs )
     {
+    no_symbol:
         /* No more symbols */
         name[0] = '\0';
         return 0;
@@ -183,10 +193,31 @@ int xensyms_read(uint32_t *symnum, char
         /* Non-sequential access */
         next_offset = get_symbol_offset(*symnum);
 
+    /*
+     * If we're at an END symbol, skip to the next (real) one. This can
+     * happen if the caller ignores the *symnum output from an earlier
+     * iteration (Linux'es /proc/xen/xensyms handling does as of 6.14-rc).
+     */
+    if ( !symbols_names[next_offset] )
+    {
+        ++next_offset;
+        if ( ++*symnum == symbols_num_addrs )
+            goto no_symbol;
+    }
+
     *type = symbols_get_symbol_type(next_offset);
     next_offset = symbols_expand_symbol(next_offset, name);
     *address = symbols_address(*symnum);
 
+    /* If next one is an END symbol, skip it. */
+    if ( !symbols_names[next_offset] )
+    {
+        ++next_offset;
+        /* Make sure not to increment past symbols_num_addrs below. */
+        if ( *symnum + 1 < symbols_num_addrs )
+            ++*symnum;
+    }
+
     next_symbol = ++*symnum;
 
     spin_unlock(&symbols_mutex);
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -38,6 +38,7 @@
 
 struct sym_entry {
 	unsigned long long addr;
+	unsigned long size;
 	unsigned int len;
 	unsigned char *sym;
 	char *orig_symbol;
@@ -87,6 +88,8 @@ static int read_symbol(FILE *in, struct
 	static char *filename;
 	int rc = -1;
 
+	s->size = 0;
+
 	switch (input_format) {
 	case fmt_bsd:
 		rc = fscanf(in, "%llx %c %499s\n", &s->addr, &stype, str);
@@ -96,8 +99,12 @@ static int read_symbol(FILE *in, struct
 			/* nothing */;
 		rc = fscanf(in, "%499[^ |] |%llx | %c |",
 			    str, &s->addr, &stype);
-		if (rc == 3 && fscanf(in, " %19[^ |] |", type) != 1)
-			*type = '\0';
+		if (rc == 3) {
+			if(fscanf(in, " %19[^ |] |", type) != 1)
+				*type = '\0';
+			else if(fscanf(in, "%lx |", &s->size) != 1)
+				s->size = 0;
+		}
 		break;
 	}
 	if (rc != 3) {
@@ -287,9 +294,18 @@ static int compare_name_orig(const void
 	return rc;
 }
 
+/* Determine whether the symbol at address table @idx wants a fake END
+ * symbol (address only) emitted as well. */
+static bool want_symbol_end(unsigned int idx)
+{
+	return table[idx].size &&
+	       (idx + 1 == table_cnt ||
+	        table[idx].addr + table[idx].size < table[idx + 1].addr);
+}
+
 static void write_src(void)
 {
-	unsigned int i, k, off;
+	unsigned int i, k, off, ends;
 	unsigned int best_idx[256];
 	unsigned int *markers;
 	char buf[KSYM_NAME_LEN+1];
@@ -318,24 +334,32 @@ static void write_src(void)
 	printf("#else\n");
 	output_label("symbols_offsets");
 	printf("#endif\n");
-	for (i = 0; i < table_cnt; i++) {
+	for (i = 0, ends = 0; i < table_cnt; i++) {
 		printf("\tPTR\t%#llx - SYMBOLS_ORIGIN\n", table[i].addr);
+
+		table[i].addr_idx = i + ends;
+
+		if (!want_symbol_end(i))
+			continue;
+
+		++ends;
+		printf("\tPTR\t%#llx - SYMBOLS_ORIGIN\n",
+		       table[i].addr + table[i].size);
 	}
 	printf("\n");
 
 	output_label("symbols_num_addrs");
-	printf("\t.long\t%d\n", table_cnt);
+	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 = (unsigned int *) malloc(sizeof(unsigned int) * ((table_cnt + 255) / 256));
+	markers = malloc(sizeof(*markers) * ((table_cnt + ends + 255) >> 8));
 
 	output_label("symbols_names");
-	off = 0;
-	for (i = 0; i < table_cnt; i++) {
-		if ((i & 0xFF) == 0)
-			markers[i >> 8] = off;
+	for (i = 0, off = 0, ends = 0; i < table_cnt; i++) {
+		if (((i + ends) & 0xFF) == 0)
+			markers[(i + ends) >> 8] = off;
 
 		printf("\t.byte 0x%02x", table[i].len);
 		for (k = 0; k < table[i].len; k++)
@@ -344,11 +368,22 @@ static void write_src(void)
 
 		table[i].stream_offset = off;
 		off += table[i].len + 1;
+
+		if (!want_symbol_end(i))
+			continue;
+
+		/* END symbols have no name or type. */
+		++ends;
+		if (((i + ends) & 0xFF) == 0)
+			markers[(i + ends) >> 8] = off;
+
+		printf("\t.byte 0\n");
+		++off;
 	}
 	printf("\n");
 
 	output_label("symbols_markers");
-	for (i = 0; i < ((table_cnt + 255) >> 8); i++)
+	for (i = 0; i < ((table_cnt + ends + 255) >> 8); i++)
 		printf("\t.long\t%d\n", markers[i]);
 	printf("\n");
 
@@ -450,7 +485,6 @@ static void compress_symbols(unsigned ch
 		len = table[i].len;
 		p1 = table[i].sym;
 
-		table[i].addr_idx = i;
 		/* find the token on the symbol */
 		p2 = memmem_pvt(p1, len, str, 2);
 		if (!p2) continue;



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 14:12:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 14:12:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912310.1318603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsjHp-0004aZ-HG; Thu, 13 Mar 2025 14:11:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912310.1318603; Thu, 13 Mar 2025 14:11: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 1tsjHp-0004aS-DM; Thu, 13 Mar 2025 14:11:49 +0000
Received: by outflank-mailman (input) for mailman id 912310;
 Thu, 13 Mar 2025 14:11: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsjHn-0004aM-Qs
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 14:11:47 +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 18987558-0015-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 15:11:45 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-394780e98easo679429f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 07:11:45 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975d1dsm2267209f8f.50.2025.03.13.07.11.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 07:11: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: 18987558-0015-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741875105; x=1742479905; 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=H+5RPWlLpGfgrzDi0c/skDzcg4uEt5HfQwp1QOIZpso=;
        b=FHeQwlzCpQE7Vi2JHBq3IXSIgldo0YK6ugwWPNIm/tmNEbKy95vrBYAvY/iPmRuzmz
         YtG4irvnuTMPmxsqaTf4JAhYYUawff0iF7cZZI6SgFwswiWco+VN8W5Ab6VeqxwH/hDb
         Qo5JG/K/uto6yjaPFlyUq44SlRT3Rk4ER3204=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741875105; x=1742479905;
        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=H+5RPWlLpGfgrzDi0c/skDzcg4uEt5HfQwp1QOIZpso=;
        b=F3q4YucI3Vawn9BNJ2l9u8mDNZ8KnslnlZCzg710wDvm9PlTavAbllXMBJP7W0FmnU
         JrOz4MSVcuuUNWyeKCCmBnqZsVFkOKZVkKfiqFxQCz81WstUaK/JvT7UglYX/3uMh8mp
         yDg/4SJVJc4q/QmTeF2MW0Cc6hUgBTs8j0ylc6s5JL5zcy4ZIWxBuAwcgv99yzL1xx0m
         hTGm44HZsA5KYbwTnTlyPDPbdC01mlGmoLaYPTpHJIHzIdoaOA20wDYhaL38ux3986GM
         hLPeKGxzmaPw8qKO3qDmB1yj5Cgg/7cNylU3v89sZUN5hxMa2oN/bveNrBArsYXv2qRh
         M7DQ==
X-Forwarded-Encrypted: i=1; AJvYcCXYsDZ0g94Nqhzxzm2KRzLjwjX4x2ONmPUgha87wh/zeGhlGJSeqCaW1uzWYegn8RJOGA2sit/AE9E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4kT+eXw7RdP+vD8h/0vXSVeNNOPBYVmkZ2g0i8JTL+5a6Qsuf
	SR8Z412Q9Z+Vys9Fd7g0iLjrI69mQY3nvS+6RMdqem1HHgJQNohqOeH3DbSRYek=
X-Gm-Gg: ASbGncs1Tp4nsI1CflHbtQK0NAEuuv51uT+YntC8YGkfTY53sm0thKfDhHMKBZ++rtw
	2cVrCRhikJY5nali+oi5Kt7IAtbE50RmH6AQac2aj0/EDxebD/xTwArfToOXwzTRmcJ1fPR+zaT
	KIWbgOvGGaWRYXFEZzj95txDqkooC0Tl7brXI97N3KMUL0V7q+ARlsy57AP4Ag0u8srVcNxaUZn
	HveKAi5S6Ws8Z8Xf9Y+hncpsa5n9RkcJfBK9BFA2IxIAmYbKujNmy21UWdjJCu0PGE/yhuGqD+/
	bjwFwpW8W5gr/mDfICLXvZlVAXmfXQ+i9zgc+kcrSzzd4fKck5PPSKoBdzz2lFUzOHHYJ5T7pYf
	nsUzZ67uq
X-Google-Smtp-Source: AGHT+IGR7KTg8RJdO38n4eJNHkiFWbR0gFsn6e/vKQN9a6fLkGP5bEomBLH3SLYB5cZGSmWYKDsLiA==
X-Received: by 2002:a5d:5889:0:b0:391:4389:f36a with SMTP id ffacd0b85a97d-3914389f8a9mr17442791f8f.48.1741875105095;
        Thu, 13 Mar 2025 07:11:45 -0700 (PDT)
Message-ID: <504726b4-0e21-4664-87b9-3dd78526abc9@citrix.com>
Date: Thu, 13 Mar 2025 14:11:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] xen/arch: Strip out tlb-clock stubs for
 non-implementors
To: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-7-andrew.cooper3@citrix.com>
 <c3890a8a-afe5-44ef-9c67-2ef0d73346a6@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: <c3890a8a-afe5-44ef-9c67-2ef0d73346a6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/03/2025 1:05 pm, Jan Beulich wrote:
> On 12.03.2025 18:45, Andrew Cooper wrote:
>> Now that there's a common stub implementation TLB clocks, there's no need for
>> architectures to provide their own.
>>
>> Repeatedly zeroing page->tlbflush_timestamp is no use, so provide an even more
>> empty common stub for page_set_tlbflush_timestamp().
> At which point the field itself could in principle go away. There are three
> printk()s (accompanying BUG()s) which use it; surely we can find a way to
> abstract that out. This may then still be enough of a reason to introduce
> HAS_TLB_CLOCK.

I wanted to remove the field, but it wasn't trivial, and I've probably
spent more time than I can afford on this.

I'm tempted to leave a TODO in tlb-clock.h to make it clear that there's
more that ought to be done.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 14:19:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 14:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912319.1318613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsjPV-0006NZ-7m; Thu, 13 Mar 2025 14:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912319.1318613; Thu, 13 Mar 2025 14: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 1tsjPV-0006NS-5A; Thu, 13 Mar 2025 14:19:45 +0000
Received: by outflank-mailman (input) for mailman id 912319;
 Thu, 13 Mar 2025 14:19: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsjPT-0006NL-BO
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 14:19: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 34960a37-0016-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 15:19:42 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso6838285e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 07:19: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-43d188bb738sm21934945e9.22.2025.03.13.07.19.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 07:19: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: 34960a37-0016-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741875581; x=1742480381; 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=goDV6lGswItr7xQ/Z0Q0bqGFoZ86/anSRCuFIs13c+s=;
        b=f3Gz3z8xwqvlkahhLxPZqQ5djNHuZoPDG8PGsRP4f95DLwujJ5VvIKF5HPcCOkVhlc
         IF/qM/oMUfDJ0lmKf9bNND2bjyag86U6H+IUIIhUHhNeAshBgxu88pr/UILBEg/yRQz/
         AGWNIZD+gguRA6DokrWY9G1KxTSu5NONFBazWZKeA/62RO/TBZJJWbB5oZiGJqj+UxTE
         TsIRe5TcQQuOs2U40uSxhv4l87Y/keAX4XuZ2mJU2V895WKgbQUuhwPPJkxyP9sOywm3
         Bj0jmVhQNnZFrTvwAA1aOwX7rniYvsTkWLZIvshbIJrpg0RxJP0rtLZfMfxZaqL76vsb
         AJVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741875581; x=1742480381;
        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=goDV6lGswItr7xQ/Z0Q0bqGFoZ86/anSRCuFIs13c+s=;
        b=owYA07umRsbvMRSsG3PUEin/XWunfu65YnxleW4BZorJUlAOiJj9sJ2vlXafyLS05v
         gJT3CJeXJ7A3jOo2my9XI0/rg8Tu79aQ4jghnlYGkbEwDyfea9YgwgjCgJkvV2/SGtG2
         Yi1tNo/uKS5ZEODDBx9sZX7UcY1UpdLxCVLVY4XeNYJ1AAQmGYpAjhD6GVBBfU/b6ne0
         Y4WZed2ErUqZAvPqKuvp6QmTIuRr4DOB/atERUawWr5QjkEEWinXAyZroLSCHZIxSMIk
         55VPZXHTAaO/vIlbxY1Cvaw9jVIMoUzD3Y169ICJyh2k849NSl9BJwYNcI8LJTHx3mQy
         XpFQ==
X-Forwarded-Encrypted: i=1; AJvYcCXNjg1g5OaXl7lR9huatZB77jkmB4JsdTdCMKfJTkeXNaZFjbE7sKBUZn0KrIXvyf4HTzRDqLaWOrI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWzQdOKA8p9wpQVRURIzhnYqLOvNMrod0iDcbZqKkjcaX8f75L
	wHOD3/dNzHEdTFFPGlYJm6Rz9ZgvexLep6h/1zHhnAYAegJGPlDfbbtthnY89w==
X-Gm-Gg: ASbGncvpJEsSP+jUTIYpvLOVvrDZr4dO6rARDmf2//J2KwR/DgFuUKWsQTYVxLz5s4u
	2lu76bOnfS9w8GTRb8OI42t+t0sXVLobr6hbXyWOAlyQzrseM9bnD0PSaXPwKUsS5VSEsxofvfP
	LKgRS060LDITDetu8fTBsC4je7y3l8pi2r2de1kp7prKW2SPKb+KtnZe+lrCe2kPeMbJSi1L/72
	V80w7YYu15nsHVP4ZKTEN4u0p8Hrf9tL9FroLu4pxtsBcbFMTWYOnqXSfQwMxf43dNz8kSGrZ3K
	TLicRVxb4VJVp1BfZiTVWXYVLeQZuC/gwwW7RtVxRodQ+vWmjlGdix13TKb3jTdeEg1ejsTAMyI
	4elrZGtUS2rVDvOeJJpdTFRyBBvAUMQ==
X-Google-Smtp-Source: AGHT+IG6SFZBDXn3vrBjFmBozU4rJ0YGMfJA5qLKqvoCBBIBGlYYN/OwxnIUvfYHWfx5wZ7kcw51LA==
X-Received: by 2002:a05:600c:4f4f:b0:43d:d06:3798 with SMTP id 5b1f17b1804b1-43d0d063a25mr36143775e9.20.1741875581419;
        Thu, 13 Mar 2025 07:19:41 -0700 (PDT)
Message-ID: <b59ea14e-0bce-4c3e-b1fb-021b53af1780@suse.com>
Date: Thu, 13 Mar 2025 15:19:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <6ff81326-762c-46ec-a06a-254ba166433b@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: <6ff81326-762c-46ec-a06a-254ba166433b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 14:58, Andrew Cooper wrote:
> On 13/03/2025 1:38 pm, Jan Beulich wrote:
>> There's no need for each arch to invoke it directly, and there's no need
>> for having a stub either. With the present placement of the calls to
>> init_constructors() it can easily be a constructor itself.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> This has a side effect of wiring it up on RISC-V and PPC, as they
> process constructors.Â  It looks safe enough, but have you double checked?

I've been looking at this differently: For both it can't be right for the
function to _not_ be called. And no matter that ...

> However, the position and logic during init is nonsense, I think.
> 
> It registers a cpu notifier which only does spin_lock_init() on a
> per-cpu variable, which I think only works today because 0 is the init
> value.
> 
> alloc_trace_bufs() on the other hand has a for_each_online_cpu() loop
> because it's too late and ought to be a presmp_initcall().
> 
> Also the allocations could be NUMA-local for all but the biggest of
> servers (given the 16T upper limit because there are raw uint32_t's
> involved in the protocol).

... there's certainly further room for improvement, init_trace_bufs()
is all just "normal" code, which was already built before.

If there are missing pieces to make trace buffers fully working there,
that's no different from before the patch.

As to alloc_trace_bufs() - that has a 2nd caller, so converting to
presmp_initcall() may not buy us all that much.

> I'm tempted to ack this on the basis that it is an improvement, but a /*
> TODO this is all mad, please fix */ wouldn't go amiss either.

I understand you like adding such comments; I, however, at least
sometimes (e.g.) don't. Especially without at least outlining what
would need doing. Just saying "this is all mad" doesn't really help
very much.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 14:22:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 14:22:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912333.1318622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsjSS-0000wg-P4; Thu, 13 Mar 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 912333.1318622; Thu, 13 Mar 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 1tsjSS-0000wZ-Ma; Thu, 13 Mar 2025 14:22:48 +0000
Received: by outflank-mailman (input) for mailman id 912333;
 Thu, 13 Mar 2025 14:22: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsjSQ-0000wT-OJ
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 14:22:46 +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 a21a6a17-0016-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 15:22:45 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso6460645e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 07:22: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-395c7df35f7sm2301107f8f.13.2025.03.13.07.22.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 07:22: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: a21a6a17-0016-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741875765; x=1742480565; 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=Mii+gNG2ictccJktdUeZiV2ed+rWMYcQ+yEDAo3t+Dw=;
        b=evqkXGAJVfva2TOcpMh1ysd8JwBhfI312d+e1S7uEplP7JESOK3SmG2xOp18RavKtc
         2T8bDoEB3xYFY0TTUeJJVtmpp7Wxkf9uwf8ueDtHfe4H6zRXhEY3BO1diQzyudOd3512
         sThwOwvRGL9wmk1jM0mtiDRi4cvKhjG+4U5PVE7XfoPaxfIfsGBozBu3WTMF919hg4RB
         kLA/9s4QqiTswIfTdMIVgOIc6oMgZIrn3uIyHHxpo/sP3BOJ41y0tKT78AgV5hpFgAwf
         Opek+h4CSe8ChZbS3Q0t3Ux8PIEyHnnyuqaDyLJ+byg6U/BXaoHmoyrVjUzJlbC8ELeS
         IFnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741875765; x=1742480565;
        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=Mii+gNG2ictccJktdUeZiV2ed+rWMYcQ+yEDAo3t+Dw=;
        b=LUf/ISXV9wp9d1BpC9kDliXt8opzd0WIXf+DnJRz1di8uT76vVt5VBJEwwrZTroVrI
         IUC2kYMbZa5q0p1AOZAe9C8Vdr17jL3eDOYYevkgeMr0GIYlwAL8ilfZbWQro/JZxWP6
         uPpApw1Fsrn8tqHb7KzeBJHfVMesqCTuWZvQE0yre3JAO2CKBDK7aJqR7CrqvOpEid36
         2zGu0NHqzsS63ds76ZHo3KFhcgHDnK+d2Vrk1xBM7Mu5nF2H1tgFOofGSEj6ZjH8Ugou
         plSnm1jXQIpH69Y0TABqI3C0jD01OC4UqAUM4itMUt+7dFUHdsMlHSONgXzjUsmPUw2u
         MWLA==
X-Forwarded-Encrypted: i=1; AJvYcCWpfHrO76hgNEjPeN7njcXZPTvNBpfXLhZjZtANMeGykurLxcuX7qBcAGeMx2mx0Ud75B062PSxB3E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyz0UIo2dstr9EMqdJj4QV8F34p1/m/3LP2odIpuVL664RM2vDB
	VL4PFJzkq8GH3ajZNKCh80Zb2JfDnjkeWkqlrtOQtM/N8v2w4kP54SmI//9+1w==
X-Gm-Gg: ASbGncs2iRtmV5Gwv4s+UPuigaRLABbNsj6oJOUDA19hXzaF0rn1iXGsGam/cmuSBUD
	Qb4+SH1tkhDNaAH+MXmedv2Ubd+sd4VDtAguEfaWMT6lzKjzqlefxnocTtCi/iCpIMR2bEq6VE8
	bAkDu9JXlkwRxe3o/xZrcY+wzuU7ywHGhzyWpi4nk6DHXq9w6Y8TGDk9dRBvOxwvfPv6t3hPXRD
	KXE3e6tUlgKXAboFkPlBXRwEKq14MKe4fM9pWPXugPE+zCRYxY3kp2dqF2UcMu2CjUkxsxDqACT
	ZqAshldRekVtTJqGZXgiVbSzApz2QLqHPA382rw26583CtNSUcHLhvv1/MvUrnuS7NaxsQ7tVq5
	NQ0GHCIC/5ApjO6vmw0Vv3HUUtUbrXoBteKDzuhsT
X-Google-Smtp-Source: AGHT+IF3e/uTh3+XHYwzHnGVQUVgw63J9guxcnRFMu83gT5m0tHylu0LyG2yrBz47Lm6wXbt+ZSvNQ==
X-Received: by 2002:a05:600c:1c06:b0:43c:fa0e:4713 with SMTP id 5b1f17b1804b1-43d01bd1c94mr107725725e9.2.1741875765325;
        Thu, 13 Mar 2025 07:22:45 -0700 (PDT)
Message-ID: <fa3f879d-e068-4296-8281-95c6dd10ce4b@suse.com>
Date: Thu, 13 Mar 2025 15:22:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] xen/arch: Strip out tlb-clock stubs for
 non-implementors
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-7-andrew.cooper3@citrix.com>
 <c3890a8a-afe5-44ef-9c67-2ef0d73346a6@suse.com>
 <504726b4-0e21-4664-87b9-3dd78526abc9@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: <504726b4-0e21-4664-87b9-3dd78526abc9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 15:11, Andrew Cooper wrote:
> On 13/03/2025 1:05 pm, Jan Beulich wrote:
>> On 12.03.2025 18:45, Andrew Cooper wrote:
>>> Now that there's a common stub implementation TLB clocks, there's no need for
>>> architectures to provide their own.
>>>
>>> Repeatedly zeroing page->tlbflush_timestamp is no use, so provide an even more
>>> empty common stub for page_set_tlbflush_timestamp().
>> At which point the field itself could in principle go away. There are three
>> printk()s (accompanying BUG()s) which use it; surely we can find a way to
>> abstract that out. This may then still be enough of a reason to introduce
>> HAS_TLB_CLOCK.
> 
> I wanted to remove the field, but it wasn't trivial, and I've probably
> spent more time than I can afford on this.

I can understand this. It'll remain to be seen how useful HAS_TLB_CLOCK is
with patch 4 corrected. And of course it's ...

> I'm tempted to leave a TODO in tlb-clock.h to make it clear that there's
> more that ought to be done.

... kind of okay to leave parts to be done later, as long as it's at least
halfway clear what it is that wants doing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 14:30:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 14:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912344.1318633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsjZs-0002fh-Gn; Thu, 13 Mar 2025 14:30:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912344.1318633; Thu, 13 Mar 2025 14:30: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 1tsjZs-0002fa-E0; Thu, 13 Mar 2025 14:30:28 +0000
Received: by outflank-mailman (input) for mailman id 912344;
 Thu, 13 Mar 2025 14:30: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=NEXk=WA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tsjZr-0002fT-NV
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 14:30:27 +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 b3edd064-0017-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 15:30:25 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-391342fc148so704021f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 07:30:25 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8c5cb4sm55399365e9.25.2025.03.13.07.30.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 07:30: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: b3edd064-0017-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741876225; x=1742481025; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FXSApbjLp3QNkPljizJu/1RGQFb8N9taXbswCyJvqz4=;
        b=Job5cm3/Uw2vQcldc7nKxPnezIFje0UNv1etwrSF9zNUEaX4gK9h5ATOgSFAjvj0SP
         4ewN+X8N9Zyc2mAIh3Wd0yZQpzPyETA/63g/eTP8jCPcZqlNnWlwrkohKXYLIlS/Unux
         O5zdRCtbk7weda3Rnz5p0AKJJ28gm/pbbmC68=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741876225; x=1742481025;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=FXSApbjLp3QNkPljizJu/1RGQFb8N9taXbswCyJvqz4=;
        b=E8lxSH9GYouRZMSMQtcgtjK4UQWWIxuvK2C2Hc6OGFnmeGT5fxVBmRfDZ0Cb7X2pGF
         XvjJvwL1V8zrUxLn1iWKwi2l+Ip35i4eCmogOakESIl3zWOeJ+Y4mXHkUwJjiXRV+esr
         xNqDaCD7VYvYCdBfXD3CmlU4vKRuqzJy8eg8P6JiLqYkdOLYBRs8Z96YvJVxI27bVUiW
         KLw3wwz8TprmDRiLwXzfFz7djx5oBtELoznSBpLEGabl5Sn14991Xh11iSgLm1/q04oy
         DmKIHzIAgwnyK1UITvt7QT8/rQNk8/my9ElG2fjL1HaU1KkbPk2K4z3R99EalTcLzWai
         rQIw==
X-Forwarded-Encrypted: i=1; AJvYcCWgA6YeLf6a63DsaAvOGWIc4Fx/7k2+Ah6NJhdc2uUd3IQIro5v60BspRGo7PcLgAB1KYGYP0htf54=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyKznyYgdrfZruV6ti+Y7m11Zj6CkVpsnoovmbThR8dBPPbqyr0
	1+dphVqAIM9sLcZUZ3/D8Nt1ztXVvjGeSICLQAu/Qc4ZBB6suUGH9pRFdPVwbpI=
X-Gm-Gg: ASbGnctE0CMgLUB1QdZYEjF/IMAi0VzhjOVJMVnmQI11XXG00Red39q8kf+hWtuALQU
	a7J4KCabfV4Z2rDYDsRvioBwxhPz3U2Gt5F8pnJ3BgbPOz7N9L1yqrw7gn7s4bDvYaZqqdF3IUZ
	6da8S7xu4EcMxo+9QKI/EQYMrNXgs11YQTgLIRtZ1HayvamIE5/1dRO4fslsOEs4iF88+yqqZob
	Ex3F4SVYCpYDET7C9YjGc1ME67aw+0ITcXvVmb0CPq2Dy33b8xMEg//eRv+R2MgVDg33no/T6d7
	EtQlw+xZ+JdAzqRpt3HV3Mk+SYBBfD+74c6Jy41g/5iTBXoJVtU=
X-Google-Smtp-Source: AGHT+IEb2BXJg1uiv8HTP2L4ob3neC2j0aLfk8RluFn49kiXd3v0+Rw1krIiHAhLys4KNu1kDhmrbw==
X-Received: by 2002:a5d:6d06:0:b0:391:47d8:de3a with SMTP id ffacd0b85a97d-3926c69b307mr12108597f8f.53.1741876224637;
        Thu, 13 Mar 2025 07:30:24 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 13 Mar 2025 14:30:19 +0000
Message-Id: <D8F7L45LN2IQ.1X616YGM6C4DJ@cloud.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>, "Juergen Gross" <jgross@suse.com>,
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] tools: Mark ACPI SDTs as NVS in the PVH build path
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20250311092905.991-1-alejandro.vallejo@cloud.com>
 <9cb526f9-fd2c-424c-82b1-7db57e0db50c@suse.com>
In-Reply-To: <9cb526f9-fd2c-424c-82b1-7db57e0db50c@suse.com>

On Thu Mar 13, 2025 at 1:14 PM GMT, Jan Beulich wrote:
> On 11.03.2025 10:29, Alejandro Vallejo wrote:
> > Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
> > because SeaBIOS may otherwise just mark it as RAM. There is, however,
> > yet another reason to do it even in the PVH path. Xen's incarnation of
> > AML relies on having access to some ACPI tables (e.g: _STA of Processor
> > objects relies on reading the processor online bit in its MADT entry)
> >=20
> > This is problematic if the OS tries to reclaim ACPI memory for page
> > tables as it's needed for runtime and can't be reclaimed after the OSPM
> > is up and running.
> >=20
> > Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for=
 ACPI table region)"
> > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> > ---
> > v1->v2:
> >   * Copy explanatory comment in hvmloader/e820.c to its libxl_x86.c cou=
nterpart
> >=20
> > ---
> >  tools/firmware/hvmloader/e820.c |  4 ++++
> >  tools/libs/light/libxl_x86.c    | 17 ++++++++++++++++-
> >  2 files changed, 20 insertions(+), 1 deletion(-)
> >=20
> > diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader=
/e820.c
> > index c490a0bc790c..86d39544e887 100644
> > --- a/tools/firmware/hvmloader/e820.c
> > +++ b/tools/firmware/hvmloader/e820.c
> > @@ -210,6 +210,10 @@ int build_e820_table(struct e820entry *e820,
> >       * space reuse by an ACPI unaware / buggy bootloader, option ROM, =
etc.
> >       * before an ACPI OS takes control. This is possible due to the fa=
ct that
> >       * ACPI NVS memory is explicitly described as non-reclaimable in A=
CPI spec.
> > +     *
> > +     * Furthermore, Xen relies on accessing ACPI tables from within th=
e AML
> > +     * code exposed to guests. So Xen's ACPI tables are not, in genera=
l,
> > +     * reclaimable.
> >       */
> > =20
> >      if ( acpi_enabled )
> > diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.=
c
> > index a3164a3077fe..2ba96d12e595 100644
> > --- a/tools/libs/light/libxl_x86.c
> > +++ b/tools/libs/light/libxl_x86.c
> > @@ -737,12 +737,27 @@ static int domain_construct_memmap(libxl__gc *gc,
> >          nr++;
> >      }
> > =20
> > +    /*
> > +     * Mark populated reserved memory that contains ACPI tables as ACP=
I NVS.
> > +     * That should help the guest to treat it correctly later: e.g. pa=
ss to
> > +     * the next kernel on kexec.
> > +     *
> > +     * Using NVS type instead of a regular one helps to prevent potent=
ial
> > +     * space reuse by an ACPI unaware / buggy bootloader, option ROM, =
etc.
> > +     * before an ACPI OS takes control. This is possible due to the fa=
ct that
> > +     * ACPI NVS memory is explicitly described as non-reclaimable in A=
CPI spec.
> > +     *
> > +     * Furthermore, Xen relies on accessing ACPI tables from within th=
e AML
> > +     * code exposed to guests. So Xen's ACPI tables are not, in genera=
l,
> > +     * reclaimable.
> > +     */
>
> When asking for a comment here I really only was after what the last para=
graph says.
> Especially the middle paragraph seems questionable to me: It would not on=
ly be ACPI-
> unawareness, but also E820-unawareness, for the range to be prematurely r=
e-used. And
> buggy bootloaders really would need fixing, I think - they'd put OSes int=
o trouble on
> real hardware as well.
>
> In short - I'd like to ask that the middle paragraph be dropped from here=
 (which
> surely could be done while committing).

I feel the rationale is the same on both paths, so the comment blocks ought=
 to
be aligned (whichever way). But I have no strong motivations and would be f=
ine
dropping the middle paragraph here.

If that's your only remark, I'm happy for it to be dropped on commit.

>
> However, there's a second concern: You say "PVH" in the title, yet this f=
unction is
> in use also for HVM, and ...
>
> >      for (i =3D 0; i < MAX_ACPI_MODULES; i++) {
> >          if (dom->acpi_modules[i].length) {
> >              e820[nr].addr =3D dom->acpi_modules[i].guest_addr_out & ~(=
page_size - 1);
> >              e820[nr].size =3D dom->acpi_modules[i].length +
> >                  (dom->acpi_modules[i].guest_addr_out & (page_size - 1)=
);
> > -            e820[nr].type =3D E820_ACPI;
> > +            e820[nr].type =3D E820_NVS;
> >              nr++;
> >          }
> >      }
>
> ... this code is outside of any conditionals. This imo needs sorting one =
way or
> another.
>
> Jan

ACPI tables are populated by hvmloader, while libxl generates those of PVH.

dom->acpi_modules are populated by libxl__dom_load_acpi(), which is gated o=
n
the type being PVH (see the caller of this function). So this loop should b=
e
effectively skipped.

I called it the PVH path because it happens to be at the moment. Nothing
prevents this path from being the HVM path too, but that involves rewiring
hvmloader.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 14:31:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 14:31:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912355.1318642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsjb8-0003x9-Qi; Thu, 13 Mar 2025 14:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912355.1318642; Thu, 13 Mar 2025 14: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 1tsjb8-0003x2-No; Thu, 13 Mar 2025 14:31:46 +0000
Received: by outflank-mailman (input) for mailman id 912355;
 Thu, 13 Mar 2025 14: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=NEXk=WA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tsjb7-0003wo-Oz
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 14:31:45 +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 e3481795-0017-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 15:31:44 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso9182725e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 07:31:44 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975c6dsm2343049f8f.54.2025.03.13.07.31.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 07: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: e3481795-0017-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741876304; x=1742481104; darn=lists.xenproject.org;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7dRXH6xiWbQ8AwfXpG3ARoEDTnoaNMiSVWfa6lb2gFs=;
        b=GGfOmShZPxGFgouEqmAeT0Of1PlZt/Nc+d10LKgvVvHNANFqBZtPRtmPi6BwuplZRW
         E3szrLF2tpQmlI91/u/1c97f4+49UQFtyFs9LCknjy0GVTMY2JrkUydZ7zYj0+o8luRO
         vip0Y/0GRfZQLTygLx9UmQglXF0RrgQSbR/wU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741876304; x=1742481104;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=7dRXH6xiWbQ8AwfXpG3ARoEDTnoaNMiSVWfa6lb2gFs=;
        b=GgDUPMsN/xueXp18fbL1/l2Ak2x5StnOd52AOKOkl91llvkDy5xFS1SJm9qLxU+xWX
         Rql6Q1PAFH2cjoPDbEVJ8eXXdXu8QBoC27hZ8L+HCo35oUrMOKZJMGsLib5Y5uBsCyh7
         OL8PKuPb3ewD/PdZ5kRnk7TQbcctiOfgEzbFeAIOF9vVkpXQGj9Jn0Ggr2xxfzQF9oK3
         77VOgl+gjaK7h6uFAN2FRw4cLFGOyLZb8VwvB132u15TLYu5z5tnXHWdrOOmMb6wVzUf
         OIEaZKFZALFovf/RJH+AwIJwCZFDtoS49BLPFEwz1WYK3O7LJUOHx+t4c4AWljjyfaIO
         +PnQ==
X-Forwarded-Encrypted: i=1; AJvYcCX0WCeL7oF5VOV+7AJhljHWNNflZBilUj8gN+5bezOEkGJvMtqe/c139J9WdC6m4IHmvGQwPJe2jXQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz7GDdTN8eswXCXMbYKfm/0nbRY4xSwHu/IwChGCoUwZQigC0LP
	uHWB0LEOcsP1zY0knIip7VATGDLYcVh3jljzryuNjzGetM2HZF4hHZz9WwN+Hpg=
X-Gm-Gg: ASbGnctWD71VgP0K3Ykkky8zKTVBSukrzaotAjFfA8dWvlMB2patUW5nau1f24ymGsG
	ZH5xCsyTPDLAOr+81srAAsyb9XRkOYre6SKcQAM9Yqz0I9m/mFfiNzuigg20EbS0oCbNBccyT4T
	W42+n6eQ5LrwJ1BvfM6gydgrWD1mdSlKpTiC4Wj6CL7JMHIxCuhIiyCA8agmSHNNy6ZMSbpiL/Y
	jI0/7SQnZVqR7RLGdkzhoOx4/7sAiKOOZHm1w2J9lWgA2V88PK8+cthEogi7eQ1kJ0nJjo7o8cH
	Lbj7drNNpHnnSWpByn2/hrJo2Emo8fq0DCjNq+dG0fT2wZNMJjM=
X-Google-Smtp-Source: AGHT+IF8zqXPhfJaTS2PH9ZgnNKsze2rgGJ4Kr4PZCizF5Fxqqqs6lxzLkKnMiyBXBglbfv8OdHZvQ==
X-Received: by 2002:a05:600c:35d3:b0:43c:f1cd:3d78 with SMTP id 5b1f17b1804b1-43cf1cd3ecbmr158818345e9.12.1741876304123;
        Thu, 13 Mar 2025 07:31:44 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 13 Mar 2025 14:31:39 +0000
Message-Id: <D8F7M53TBZKS.2XTO21B8G2HRU@cloud.com>
Subject: Re: [PATCH v1 02/19] xen/xsm: wrap around xsm_sysctl with
 CONFIG_SYSCTL
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: <ray.huang@amd.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "Penny Zheng" <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-3-Penny.Zheng@amd.com>
 <D8F41PA5JHTU.ABSSG427OH5@cloud.com>
 <34a1119f-62d4-4b73-b1e3-c8e945352829@suse.com>
In-Reply-To: <34a1119f-62d4-4b73-b1e3-c8e945352829@suse.com>

On Thu Mar 13, 2025 at 12:05 PM GMT, Jan Beulich wrote:
> On 13.03.2025 12:43, Alejandro Vallejo wrote:
> > On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
> >> --- a/xen/include/xsm/dummy.h
> >> +++ b/xen/include/xsm/dummy.h
> >> @@ -180,11 +180,18 @@ static XSM_INLINE int cf_check xsm_domctl(
> >>      }
> >>  }
> >> =20
> >> +#ifdef CONFIG_SYSCTL
> >>  static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
> >>  {
> >>      XSM_ASSERT_ACTION(XSM_PRIV);
> >>      return xsm_default_action(action, current->domain, NULL);
> >>  }
> >> +#else
> >> +static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
> >> +{
> >> +    return -EOPNOTSUPP;
> >> +}
> >> +#endif
> >=20
> > Doesn't this need to be -ENOSYS instead?
>
> There shouldn't be any ENOSYS outside of the top-level hypercall handlers=
.
> Granted we have many violations thereof, some of them not very reasonable
> to fix (for guests looking for the specific but wrong error code).
>
> Jan

That would be the case if the else branches were dropped. They have no use
AFAICS.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 14:43:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 14:43:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912390.1318653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsjmh-0007yx-RE; Thu, 13 Mar 2025 14:43:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912390.1318653; Thu, 13 Mar 2025 14:43: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 1tsjmh-0007yq-Ng; Thu, 13 Mar 2025 14:43:43 +0000
Received: by outflank-mailman (input) for mailman id 912390;
 Thu, 13 Mar 2025 14:43: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=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsjmh-0007yk-14
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 14:43: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 8ede7817-0019-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 15:43:42 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso7467635e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 07:43:42 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c82c258bsm2273005f8f.24.2025.03.13.07.43.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 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: 8ede7817-0019-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741877021; x=1742481821; 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=7wIGkNCBAdAkXB43iC80BA+JJuIDs3rKUmSJUF1V7ZQ=;
        b=J/U8p3mBdTRfiR3pesdoKTNDhT2xN6ixOpSfM+89TLs0e7oMLSuV7S7qEiMJiPNHL+
         VHWkKGgFngi9GARsDprnLNt4RKAvafSKzeu5zjfvUdwAkHtZg/WyKvJACKyP+V5E89zM
         +uSEfyk71nElgh1lDR6e45P99q21VV7kom5OM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741877021; x=1742481821;
        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=7wIGkNCBAdAkXB43iC80BA+JJuIDs3rKUmSJUF1V7ZQ=;
        b=EQxn/E5W4/ml3AkQ5rYoWE/Z2kmRsjamJBri/Tpb/5/uzqvbMGxZpIFnUbywL5yRH8
         OlbCxXThgkiNPw1xVJ5lB/c8/D0CgumjpWqX2gvjX3aAgYDmBhYt7Dp6TNLICu6EM7Nq
         Czmi9SDQGQiF/xvot4TwnuhVioaa+H9/mvHLnATrRBKu4HFFXKq3zEupEGYwGPyI59at
         wxTFCEVb+5TBA0ol51RYnumALcM1Drjq3UdGSrLN5i5c4s8gjAUkjW0YLj0NksP+Ap0n
         Hegq6UsmEzInH1zqZxMA8cZvuFgcxG3/pxfFTT+GF3+lcdL1vVbj/Gav2/4RkUi1OmWH
         PGIA==
X-Forwarded-Encrypted: i=1; AJvYcCWpK/3fiTxkGI5FqkywgcYmbocJyTTb2Fr5U0b0tVd6szeIE0EZR7zDwH0jtefEVP7/wI7HzAllOSI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOWycvs+r6/XZ31KSVAwYQLzRkL0T2IsV8N+hPajAKLyPA2D/y
	lyhdBakrztCLgxHitnBLjdh6Guy9DNgyigrz2bf51Lvbs9JGdpZ3gXqanjd1Sqk=
X-Gm-Gg: ASbGncs4WjlFijzfuMzqNK3dvnxTpsV9J1AVRhaEQ89jZHeEFll1GqYEd5X2jVaV9iI
	p1BWdHU4jVVrBsKDszlnXV8oIOrR0vqWiEGk1tcCd+M3jKAXtZXxs5S0w3WLmXNlw/14I0oovQa
	x/Cy67UeHULu6hTensWpON98H5vtNNf214nMY/FNgEkw6icFCxmw7S6g6U4znF0s/uCY3mn7BgP
	1G1zscRC8mCieRJ9gPJT7OvtPxPp3vaLtfpvgUXYql+EBUOVoHBpP29hF54UHGvOkfhhRmtFaaY
	IbpWGPoCtNCcYMiqi2I3XQhdStL+CFA3Z9vkzU4+VFEeQfyFh5CNCXIl/M6p84xMhmb93dtDvbr
	rlGz4wMOAS1R2fkVJiPs=
X-Google-Smtp-Source: AGHT+IHRdHCzB32Dj697UpiBTozgmwq3SJ+Y5gq0ZhyyaYeNlcb32KLLDs4+WWoEpXa/FyFmAUDyZA==
X-Received: by 2002:a05:600c:4ed0:b0:439:4b23:9e8e with SMTP id 5b1f17b1804b1-43d18bb1abdmr22607785e9.3.1741877021527;
        Thu, 13 Mar 2025 07:43:41 -0700 (PDT)
Message-ID: <d7a0a5db-73f2-45f6-997a-81284209602c@citrix.com>
Date: Thu, 13 Mar 2025 14:43:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] VT-d: move obtaining of MSI/HPET source ID
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>
References: <8b610dba-0ce9-47ed-808d-035dc48f4f04@suse.com>
 <b09c2c89-ae6b-4942-8e22-61a2ae2862a4@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: <b09c2c89-ae6b-4942-8e22-61a2ae2862a4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 1:33 pm, Jan Beulich wrote:
> This was the original attempt to address XSA-467, until it was found
> that IRQs can be off already from higher up the call stack. Nevertheless
> moving code out of locked regions is generally desirable anyway; some of
> the callers, after all, don't disable interrupts or acquire other locks.
>
> Hence, despite this not addressing the original report:
>
> Data collection solely depends on the passed in PCI device. Furthermore,
> since the function only writes to a local variable, we can pull the
> invocation of set_msi_source_id() (and also set_hpet_source_id()) ahead
> of the acquiring of the (IRQ-safe) lock.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

It's worth noting that this patch was shown to fix the original crash,
only to expose the second.Â  i.e. it's had some testing.


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:01:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912407.1318664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsk3v-0003vu-Ak; Thu, 13 Mar 2025 15:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912407.1318664; Thu, 13 Mar 2025 15: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 1tsk3v-0003vn-64; Thu, 13 Mar 2025 15:01:31 +0000
Received: by outflank-mailman (input) for mailman id 912407;
 Thu, 13 Mar 2025 15:01: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsk3t-0003vh-E0
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:01:29 +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 09b702f4-001c-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:01:27 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3913d129c1aso890510f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:01:27 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df33ccsm2439585f8f.15.2025.03.13.08.01.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:01: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: 09b702f4-001c-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741878086; x=1742482886; 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=1CBwzWImXpxS6A8+Z4zLZX1AmX9T6gxrClIqQeDIrjA=;
        b=cMRHd7jxHyyk3zGZ8SQHfw461tyXpkUk7l29eUqsNkjLx5WWwvDD7ZKyW7obviAHt4
         FszuJw2PWK++UmwffbUoEN+UE2db0rvoFV2xy8uvbLUcf/Inbmj5xOzlhrWOZcbN8r4g
         UpzFUdPK/tlZmFJQz98VtB15UY7teWwCLpPr8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741878086; x=1742482886;
        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=1CBwzWImXpxS6A8+Z4zLZX1AmX9T6gxrClIqQeDIrjA=;
        b=o/YePWz++foViWHMYi8v/ahfB3zdg56YulKOAnrRRdu+w/EclBvIGShMW4mfclJ664
         iWd8X3k9oniTTyg/rs2D7muV0t5xWIXR76nZPS476QD6FB4vo4ghIG/8g9scIHQOvz7g
         o0Ey31rplNPQk/P+3zyVuuO1tJSkM0TKFSSU8udnkJbNIQIDg5VCnRDUBT1yUwsdymLT
         jPH5ILTzBHzlMnJDQ4H1vXgVf3+eroxe4HUb3+WcOLgn7mPV6BI2pn43ITcduTYbZdvZ
         McaKZ3RXqaKqCYC/uYCUaj0RgBjRsEAX6Ctn9eAZ+S01cqAIF6YgYLkg2mk2Q9mpbwg3
         g4gw==
X-Forwarded-Encrypted: i=1; AJvYcCU3ku8t44SckFUIVgb+rMQoZRb6IRHe01HKJQrGtpsYY4t/J/g/uubi9DUep0g+7Cce2kq3vTh8CmA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzcg3bECLTy/ppL7wpHccDot3FbRmBoy9mCzZ8rFaYfd6JUjOen
	9qiMZbdSscqWn/wFRjdQ2w5u5ImCNwysMO7kZWGX7PQFZflqXfr1k++PYqkzdQHQtnA9FS7X+7s
	e
X-Gm-Gg: ASbGncvTZzCQW+uRMrt/huDa8ynqW1oXtcnx6z3/U2HTh0dUeb1IAl0n4EsUxXGmJWl
	Wv+Jq+PeB6eJuJWEn7KEVZk8L67evpmmE9DPmdRI8/9QdrjVvb+ML7192mXvMtURMGPqRUo1xbk
	xobNxyCN7w8AeWedTEneZVhRm7DFVGDj2XMLt6vcV8cvdfPVCcGldyOZe3MEYeyFaxzVT1YQTCa
	m0Wps+o9q/NX4bCWrS0NT/MhIdWhkG6Atl2fkBxu4JwvuRYmsgZFjf8x0Kordw8MWD2eylXjKIR
	M/aTnp+InbW8RAfE4KT16CZwKHCirPEsXgv3gp+s5Y7aZSlTDECTYq0N1DX3zR4OYtKNFA9xgou
	VT8PMEVMV
X-Google-Smtp-Source: AGHT+IFoQdh5OU53F+yxOgsF4XF9ewqFJg7l/TqLAYqdaoP6Zf3vk/hvWgR+4MN5RicYuteM3PHlcQ==
X-Received: by 2002:a5d:64e2:0:b0:390:f9e0:f0d0 with SMTP id ffacd0b85a97d-395b72a3060mr2878559f8f.6.1741878084722;
        Thu, 13 Mar 2025 08:01:24 -0700 (PDT)
Message-ID: <f64ca308-d3e4-4097-9a60-886ba4592644@citrix.com>
Date: Thu, 13 Mar 2025 15:01:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] VT-d: have set_msi_source_id() return a success
 indicator
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>
References: <8b610dba-0ce9-47ed-808d-035dc48f4f04@suse.com>
 <6468c44a-772e-45a6-b712-0732c9017234@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: <6468c44a-772e-45a6-b712-0732c9017234@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 1:34 pm, Jan Beulich wrote:
> Handling possible internal errors by just emitting a (debug-build-only)
> log message can't be quite enough. Return error codes in those cases,
> and have the caller propagate those up.
>
> Drop a pointless return path, rather than "inventing" an error code for
> it.
>
> While touching the function declarator anyway also constify its first
> parameter.
>
> Fixes: 476bbccc811c ("VT-d: fix MSI source-id of interrupt remapping")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

>
> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -436,15 +436,13 @@ void cf_check io_apic_write_remap_rte(
>      __ioapic_write_entry(apic, pin, true, old_rte);
>  }
>  
> -static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire)
> +static int set_msi_source_id(const struct pci_dev *pdev,
> +                             struct iremap_entry *ire)
>  {
>      u16 seg;
>      u8 bus, devfn, secbus;
>      int ret;
>  
> -    if ( !pdev || !ire )
> -        return;
> -
>      seg = pdev->seg;
>      bus = pdev->bus;
>      devfn = pdev->devfn;
> @@ -485,16 +483,21 @@ static void set_msi_source_id(struct pci
>                              PCI_BDF(bus, devfn));
>          }
>          else
> +        {
>              dprintk(XENLOG_WARNING VTDPREFIX,
>                      "d%d: no upstream bridge for %pp\n",
>                      pdev->domain->domain_id, &pdev->sbdf);

as you're doing cleanup, %pd here?Â  Given DOM_IO for quarantine, I think
it's more likely now than it used to be.

> +            return -ENXIO;
> +        }
>          break;
>  
>      default:
>          dprintk(XENLOG_WARNING VTDPREFIX, "d%d: unknown(%u): %pp\n",
>                  pdev->domain->domain_id, pdev->type, &pdev->sbdf);

Here too.Â  Also, the "unknown(%u)" is less than ideal.Â  "%pd: %pp
unknown type %u\n" would be better.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:04:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:04:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912423.1318672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsk7D-0005VH-NW; Thu, 13 Mar 2025 15:04:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912423.1318672; Thu, 13 Mar 2025 15:04: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 1tsk7D-0005VA-Kp; Thu, 13 Mar 2025 15:04:55 +0000
Received: by outflank-mailman (input) for mailman id 912423;
 Thu, 13 Mar 2025 15:04: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsk7C-0005V4-8A
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:04:54 +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 82155378-001c-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:04:49 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39130ee05b0so1086066f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:04: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-395cb7ec14bsm2351809f8f.100.2025.03.13.08.04.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:04: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: 82155378-001c-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741878288; x=1742483088; 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=BzgDhyGUNoS43ZUDF27a1tC5fdoF5dyODzOY/sUqlVc=;
        b=ae6eqc8uubCgPvZ3pqtq4qrVtc5keyRFNNWdNsZn3HCTA9FqFAxXdGnJxBnLgcbIRo
         b+8HMV0als+gAehk6b62Od5jxjmNMnH8IBl5ck+wFAgZ46E96bEeksJEgN05kVVXxSov
         CD9LNMbipjXueNoma7hb+WyzAGcJeoaMKZWF8kVs3r9NA9t3B5/sU99ft72BRzYrgqq4
         ivjwM09f3vs3+dpUB/z7AnVwTq/+HlvXvnYcTe1h/ryeGoMbUyaaPgF2smvRp944gP6u
         pu71pGQr5QLhHGVOF7wXosp2PJfJGXbWrYo7Dl3rC0xNPJ4Y242qi350gIO/ftnZyhYj
         NM1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741878288; x=1742483088;
        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=BzgDhyGUNoS43ZUDF27a1tC5fdoF5dyODzOY/sUqlVc=;
        b=ESa04OyRnwUP44T+OQ1ATaZqLYqI7CLGeNRwsJIhVCZmeEgeUlOwxURaiwQLBwd5C9
         6hAxPTc9wNC49OCo0DAA6YHheDoz2/14PlNjqnHDxky3x4uDSwsq+U2z+BbNY6hTqMkx
         RUpzZE2hxHnhwPtU1o+fFKNawjyR92RNCJmqp2Do2WE5QdPkFJYWceXM9AL7k8O4IGZu
         BGY1CP2M6GgSDN7OlhzkQ5Hdv/gJ6jBYG7GWTcXO5Wr1xHNPcepSSxOjCEO5/a6+veeG
         JLwSqrkn0uOBthRizAmfF/VD51KIuJdI0MX47hgjxkYZ8okAT1l/qRE1PRlNiW4Rh5QY
         P7vg==
X-Forwarded-Encrypted: i=1; AJvYcCUAZkObWgrP5sDb9UoPRiDtoO2OnYAGPsW97yjqIbSjiB0u1jpKUfHUIDuczkya0/bsHOPQ8bpQZiU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzA3c0A5rBM33E+vHNVjE0a7WdJFPwWYN7C3vfbUWhtTItUrT6L
	31Mdawy8XN9pHOuetYqyrB3dajDkGiVwHT3t+fcbtDQJKAn9iJmvGEBWkGUn+Q==
X-Gm-Gg: ASbGncsgUTzBGK1Y5as1eqctNXdNShH/qVTc/tNjh6NDHkO5sOe6dFsXURs/moSWeDC
	xJyxZApsW3h5dKvIqPoyq5TSx9DxjHCSsk8GXGZa0g/jFAfKi8Fx9J7pAZ5RUZMQDPDizQjhRyn
	cP4d2TWhOQr5jI5/2qmLQnk5xa69KKgxSkMxfXqEpvywglg0syczsIzJlgllv6yPqfqJJ04ox30
	PZZq6R7rnYlHVYcBOzrjHIy5wgrtmXQ8+pk3+n7+5t3zlttJj4oiGOsCULHeZpJbYn1r/dRVMn7
	UDhdoPjWtoMsbuGCS69AmUGNqES0mxLi9c9H/d93WIDF+r3YnQpHBjalObe052gZbhDA421yl1v
	mA4/GmImnsRtoUBSeZAK0CQ4ZshZxXA==
X-Google-Smtp-Source: AGHT+IHV13ef9GiZKPeJeqOLimhEgDkyupz2sHDaN6hkL9OvKCcyA3ZMdiL7DLwBO8LzgDY/i6HW3Q==
X-Received: by 2002:a05:6000:1568:b0:391:45e9:face with SMTP id ffacd0b85a97d-39145e9fb7emr15325204f8f.54.1741878288315;
        Thu, 13 Mar 2025 08:04:48 -0700 (PDT)
Message-ID: <84c4d9c9-0cc8-40eb-b1d3-2eee7a6cfadc@suse.com>
Date: Thu, 13 Mar 2025 16:04:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] tools: Mark ACPI SDTs as NVS in the PVH build path
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20250311092905.991-1-alejandro.vallejo@cloud.com>
 <9cb526f9-fd2c-424c-82b1-7db57e0db50c@suse.com>
 <D8F7L45LN2IQ.1X616YGM6C4DJ@cloud.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: <D8F7L45LN2IQ.1X616YGM6C4DJ@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 15:30, Alejandro Vallejo wrote:
> On Thu Mar 13, 2025 at 1:14 PM GMT, Jan Beulich wrote:
>> On 11.03.2025 10:29, Alejandro Vallejo wrote:
>>> Commit cefeffc7e583 marked ACPI tables as NVS in the hvmloader path
>>> because SeaBIOS may otherwise just mark it as RAM. There is, however,
>>> yet another reason to do it even in the PVH path. Xen's incarnation of
>>> AML relies on having access to some ACPI tables (e.g: _STA of Processor
>>> objects relies on reading the processor online bit in its MADT entry)
>>>
>>> This is problematic if the OS tries to reclaim ACPI memory for page
>>> tables as it's needed for runtime and can't be reclaimed after the OSPM
>>> is up and running.
>>>
>>> Fixes: de6d188a519f("hvmloader: flip "ACPI data" to "ACPI NVS" type for ACPI table region)"
>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>>> ---
>>> v1->v2:
>>>   * Copy explanatory comment in hvmloader/e820.c to its libxl_x86.c counterpart
>>>
>>> ---
>>>  tools/firmware/hvmloader/e820.c |  4 ++++
>>>  tools/libs/light/libxl_x86.c    | 17 ++++++++++++++++-
>>>  2 files changed, 20 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader/e820.c
>>> index c490a0bc790c..86d39544e887 100644
>>> --- a/tools/firmware/hvmloader/e820.c
>>> +++ b/tools/firmware/hvmloader/e820.c
>>> @@ -210,6 +210,10 @@ int build_e820_table(struct e820entry *e820,
>>>       * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
>>>       * before an ACPI OS takes control. This is possible due to the fact that
>>>       * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
>>> +     *
>>> +     * Furthermore, Xen relies on accessing ACPI tables from within the AML
>>> +     * code exposed to guests. So Xen's ACPI tables are not, in general,
>>> +     * reclaimable.
>>>       */
>>>  
>>>      if ( acpi_enabled )
>>> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
>>> index a3164a3077fe..2ba96d12e595 100644
>>> --- a/tools/libs/light/libxl_x86.c
>>> +++ b/tools/libs/light/libxl_x86.c
>>> @@ -737,12 +737,27 @@ static int domain_construct_memmap(libxl__gc *gc,
>>>          nr++;
>>>      }
>>>  
>>> +    /*
>>> +     * Mark populated reserved memory that contains ACPI tables as ACPI NVS.
>>> +     * That should help the guest to treat it correctly later: e.g. pass to
>>> +     * the next kernel on kexec.
>>> +     *
>>> +     * Using NVS type instead of a regular one helps to prevent potential
>>> +     * space reuse by an ACPI unaware / buggy bootloader, option ROM, etc.
>>> +     * before an ACPI OS takes control. This is possible due to the fact that
>>> +     * ACPI NVS memory is explicitly described as non-reclaimable in ACPI spec.
>>> +     *
>>> +     * Furthermore, Xen relies on accessing ACPI tables from within the AML
>>> +     * code exposed to guests. So Xen's ACPI tables are not, in general,
>>> +     * reclaimable.
>>> +     */
>>
>> When asking for a comment here I really only was after what the last paragraph says.
>> Especially the middle paragraph seems questionable to me: It would not only be ACPI-
>> unawareness, but also E820-unawareness, for the range to be prematurely re-used. And
>> buggy bootloaders really would need fixing, I think - they'd put OSes into trouble on
>> real hardware as well.
>>
>> In short - I'd like to ask that the middle paragraph be dropped from here (which
>> surely could be done while committing).
> 
> I feel the rationale is the same on both paths, so the comment blocks ought to
> be aligned (whichever way). But I have no strong motivations and would be fine
> dropping the middle paragraph here.
> 
> If that's your only remark, I'm happy for it to be dropped on commit.
> 
>>
>> However, there's a second concern: You say "PVH" in the title, yet this function is
>> in use also for HVM, and ...
>>
>>>      for (i = 0; i < MAX_ACPI_MODULES; i++) {
>>>          if (dom->acpi_modules[i].length) {
>>>              e820[nr].addr = dom->acpi_modules[i].guest_addr_out & ~(page_size - 1);
>>>              e820[nr].size = dom->acpi_modules[i].length +
>>>                  (dom->acpi_modules[i].guest_addr_out & (page_size - 1));
>>> -            e820[nr].type = E820_ACPI;
>>> +            e820[nr].type = E820_NVS;
>>>              nr++;
>>>          }
>>>      }
>>
>> ... this code is outside of any conditionals. This imo needs sorting one way or
>> another.
> 
> ACPI tables are populated by hvmloader, while libxl generates those of PVH.
> 
> dom->acpi_modules are populated by libxl__dom_load_acpi(), which is gated on
> the type being PVH (see the caller of this function). So this loop should be
> effectively skipped.
> 
> I called it the PVH path because it happens to be at the moment. Nothing
> prevents this path from being the HVM path too, but that involves rewiring
> hvmloader.

Oh, okay - what I was missing then is that ->acpi_modules[] is populated by
libxl__dom_load_acpi(), and that bails early for non-PVH. So the loop here
will have only no-op iterations for HVM.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:09:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:09:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912434.1318683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskB8-00065C-62; Thu, 13 Mar 2025 15:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912434.1318683; Thu, 13 Mar 2025 15:08: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 1tskB8-000655-30; Thu, 13 Mar 2025 15:08:58 +0000
Received: by outflank-mailman (input) for mailman id 912434;
 Thu, 13 Mar 2025 15:08: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tskB7-00064z-FT
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:08:57 +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 153010b6-001d-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:08:56 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so7511615e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:08: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-395c7df35ecsm2441432f8f.16.2025.03.13.08.08.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:08: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: 153010b6-001d-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741878535; x=1742483335; 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=CqC++5E1NnbwneFvgKXFyaeCWRdrqITIm3BQyjo9+Do=;
        b=ErQV/LqFqir7AIy2u5qpOlnzLUBrOgLN4G/CM/tIe/4Gc6U7RwQBNOlWh8eiZKIzS6
         oxrDGXTcD10r5WrIa92iS9g+vWGWxKWfafpeoaUhxnriSex4X53ChXaKdFCSfqYTkmde
         mUBaIOsQuiixzSwQ08ZfH49DvRQCHblyzVLHReDkxxX0Sx6iljosmd3B1KoejzWsuSgo
         dNFmA6fL2jfYz1D8TM04JCQRQI8TEjPFwAHX0Zw//psV+UJ5H274XezD4qyD3ZucM5AM
         7jOkaAQgtpCt3NcivLc40EGzewogGw58HUvxkfRvA2fLHcaNAFZVuCQ0fSwV57xieiBf
         g11g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741878535; x=1742483335;
        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=CqC++5E1NnbwneFvgKXFyaeCWRdrqITIm3BQyjo9+Do=;
        b=Q7tCSsWACUQxj+U5rswq6Z7LUNoq0E1YaZbOKisSOXUIXpj7oTxzkm+wKfFOtTP2FJ
         nwOvxiy0N8D3+MM2LewYleRWzc2yfSGAYp6FijGFQa8UhviJ/G1YCTP3FjZu7DmIcIFM
         bTJqe8OdYrMT04M9y2mM5W62ioThsZ5hOre5WQ9zAHEVyz+l2ijUU/REJHDM9dk5WzK+
         0nUObXJf3Ts0EYydbXt+9sbxrGqOOuStzgNzTJIoqPrskB9z9lOcTJ7WuREM1bppfdTe
         8CusxvI5LdxN8IT4RBZYBc5ET3IzNYjPHeFSZLJiMSUbDymJiN9Cgh3nr6tZ2DjSrlov
         Hpcg==
X-Forwarded-Encrypted: i=1; AJvYcCU7Rp/HUGCxvbop0yPZ9e0kV5WYGdSoEAMju7ZwlEjN9LMlFMVC22LkvjkOG4QfJDVsBJMoCwQ0KME=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw+B48eKYrr8PZH60wCpDAGmKldkXuDLQO2PNsLji2eBD4RKVhe
	lNjKIAD5sBWGBMaLNRZnWIs4oYzvQ8r/+EtrFdJXxi6QyzWsP1/PUgybIBJNbA==
X-Gm-Gg: ASbGnctmHRn4W5caLUga0oKUmSU7eoIsIjZKjDbDhN19CanZpunY5dspPSpPxQj3bMU
	F5s1T8fnsawRpJ70P7VyneL6Le5BhjzOGoYLJIebVVYnuyR5zgzTwNfA+t4pyhLVl/NAfkxoh8V
	htj+9XCO3FbzK7WMUXvCKR3LGIbWqHYebyqoncnTU61yvPaojaUYkbaVYwKdEqvabbJK8v4tqzh
	CPf9qDwV/z6IUKC/upBPcGYYhijHSmcAewzO32pFYCNhgLbRcVG+uj15G8kFeedOaefqNXMr7c4
	J51cRPPV6HLr4r9/pQs7+7i3ivsOe1tG4KYgxyGEUNfWSv81hVbR5aXUBtnKCa91DJNUHzvlJJU
	zwB7QzDXkSPQJJZNQeIKeEWaxMPvpMg==
X-Google-Smtp-Source: AGHT+IFhvemZnNmEm9hAUbTfbZP3CEDRtEz5vKmfHw0R0SJMuLgu0SRJSVa8ONSAhn/KFjOItk2SLg==
X-Received: by 2002:a05:6000:186d:b0:390:df75:ddc4 with SMTP id ffacd0b85a97d-39132db1113mr22697077f8f.44.1741878535185;
        Thu, 13 Mar 2025 08:08:55 -0700 (PDT)
Message-ID: <98225afe-7bb6-4403-bd91-7410b5cb31fe@suse.com>
Date: Thu, 13 Mar 2025 16:08:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] VT-d: have set_msi_source_id() return a success
 indicator
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: <8b610dba-0ce9-47ed-808d-035dc48f4f04@suse.com>
 <6468c44a-772e-45a6-b712-0732c9017234@suse.com>
 <f64ca308-d3e4-4097-9a60-886ba4592644@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: <f64ca308-d3e4-4097-9a60-886ba4592644@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 16:01, Andrew Cooper wrote:
> On 13/03/2025 1:34 pm, Jan Beulich wrote:
>> Handling possible internal errors by just emitting a (debug-build-only)
>> log message can't be quite enough. Return error codes in those cases,
>> and have the caller propagate those up.
>>
>> Drop a pointless return path, rather than "inventing" an error code for
>> it.
>>
>> While touching the function declarator anyway also constify its first
>> parameter.
>>
>> Fixes: 476bbccc811c ("VT-d: fix MSI source-id of interrupt remapping")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>,

Thanks.

> although...
> 
>> --- a/xen/drivers/passthrough/vtd/intremap.c
>> +++ b/xen/drivers/passthrough/vtd/intremap.c
>> @@ -436,15 +436,13 @@ void cf_check io_apic_write_remap_rte(
>>      __ioapic_write_entry(apic, pin, true, old_rte);
>>  }
>>  
>> -static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire)
>> +static int set_msi_source_id(const struct pci_dev *pdev,
>> +                             struct iremap_entry *ire)
>>  {
>>      u16 seg;
>>      u8 bus, devfn, secbus;
>>      int ret;
>>  
>> -    if ( !pdev || !ire )
>> -        return;
>> -
>>      seg = pdev->seg;
>>      bus = pdev->bus;
>>      devfn = pdev->devfn;
>> @@ -485,16 +483,21 @@ static void set_msi_source_id(struct pci
>>                              PCI_BDF(bus, devfn));
>>          }
>>          else
>> +        {
>>              dprintk(XENLOG_WARNING VTDPREFIX,
>>                      "d%d: no upstream bridge for %pp\n",
>>                      pdev->domain->domain_id, &pdev->sbdf);
> 
> as you're doing cleanup, %pd here?Â  Given DOM_IO for quarantine, I think
> it's more likely now than it used to be.
> 
>> +            return -ENXIO;
>> +        }
>>          break;
>>  
>>      default:
>>          dprintk(XENLOG_WARNING VTDPREFIX, "d%d: unknown(%u): %pp\n",
>>                  pdev->domain->domain_id, pdev->type, &pdev->sbdf);
> 
> Here too.Â  Also, the "unknown(%u)" is less than ideal.Â  "%pd: %pp
> unknown type %u\n" would be better.

To be honest this feels like going too far with unrelated cleanup here,
even if it's all in patch context. It would be different if at least I
touched those dprintk() invocations.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:12:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912444.1318692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskEg-00084g-KH; Thu, 13 Mar 2025 15:12:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912444.1318692; Thu, 13 Mar 2025 15:12: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 1tskEg-00084Z-Hh; Thu, 13 Mar 2025 15:12:38 +0000
Received: by outflank-mailman (input) for mailman id 912444;
 Thu, 13 Mar 2025 15:12: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tskEf-00084T-8e
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:12:37 +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 9608dbb5-001d-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:12:32 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so14183995e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:12: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-43d188b74b0sm23078215e9.15.2025.03.13.08.12.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:12: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: 9608dbb5-001d-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741878751; x=1742483551; 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=xswvuqI4925Zu2z6tJL/W6tD726VoNpqtQ7PpnvAriI=;
        b=C0rvngOkAipFqy25ovIDVfJYPFYLfrx2ilyGWWwo+rufQAbqeFQYkS9D/W6DZ1xuyV
         H0VdsP4Nvuvq2GXXH6hTHL3Pqc+8+x8qdNqalHxyVNdys70JImM9mTv6iGmQRBo9j29A
         XDGYtA6I5mGvBQ17mg48zPPeK4sSrNqVBvOI7BKWXxaTbtl0Y9PrsTeLTYNzkuOQ6Esk
         MoQIaEWPPKJE7pLB2xvSDZdg6GSlddLyl76g+ViQ+hh8tJlpEKslREuHB/3wz2oHQZs5
         L2mR99TtlVCED857A/4IX1HdSZEwqCerBFTMIygVSY51WOEeZc07Wsko4yQvOfquygw3
         t1iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741878751; x=1742483551;
        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=xswvuqI4925Zu2z6tJL/W6tD726VoNpqtQ7PpnvAriI=;
        b=r9fX7P7bQ661UvHJj7qawhMUH/d0aRamdNDwfM3M7mp49P5NaUVZhimiahqk8CWDBa
         kL4XFshnhfQ+EIRpHYAYbo2zPDklySSuADXrIbTjrT6nihc0YsCK7xGort6pCld0zrmW
         w7PnWGXfPqvVGylvsUpcUg+kuRE4F2Xqur1YvtWB/An+ByqZwCUmK4v7l9e0dz4b+Pyx
         e19EcBsTGki7Pv9VD2841KVOvGFjDJUFw0zd+t8KgpDqhc+1zV/VOd0d3527T/c8JuzO
         XDUKUJlKH2v/kil46mvbqrlu842fGApqVLtKjFDNhE6Is6OMEJlXqHn/0aKNa8emWgFh
         9XUw==
X-Forwarded-Encrypted: i=1; AJvYcCXAtswrjm1AJB45Tc5I7VUEe7//SAPDUDraiEB/UNdFcWvS0tHBT0LpEWge/W2yszAWXxC68qRt5i0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YynFmlCW2UQtKAJVHrqz33uJgmBNxOrjQwMKUXIGxgf6ZS3i3D6
	6R6pKjFAwTu5zjVjKPgHWH0/g071YkCV9PmHJJF1RwRjoqkZVNKJ4mhCAhwaBg==
X-Gm-Gg: ASbGncu81CkWsPwqv5sEh9srrloTwcbN68y2YYJ0cZ5CBuSmPJplrTWltw3TMG/+qY2
	MYyIe9kpr+n3qfp7h1VoVIEjXMsprPrtkb4b+7wtaXUCcIHQ6+H7GURU70S6NnnxrqoyXwaP2vl
	2lj8iqZvkYJ9dpXpcLcspJkG6KqAMnnPf76WolWx3u073r5SLiJa5E0ghnlX0fjE7pgtn0bvpxS
	SBigBEo4Ch2eMsqqv+5m0ivmZQBPcp7dcTupNxqosELAJg7oKJSqb/xDuDatuHoOZ+XlFraodbS
	kOwxpJqOgccLaomwjE0bXhu0hH1WK08TwXOZjsx74DAiWi8rnYYhKY5Ze1kb2fVWua7VOKRoqrb
	SEWLpikpTmQzxXsnbpYG80a+nmrsuUw==
X-Google-Smtp-Source: AGHT+IFDF0LIN4r0fl9yK1K0GG9UJm3PmEFU1LcuH/hTnA+neD8qM3xkHNRcSJGpJ+DZU4347rW66g==
X-Received: by 2002:a5d:59a3:0:b0:390:e904:63ee with SMTP id ffacd0b85a97d-395b954eb3fmr2447775f8f.17.1741878751598;
        Thu, 13 Mar 2025 08:12:31 -0700 (PDT)
Message-ID: <1ecd92f6-ab92-4d9d-acad-b1fa96908984@suse.com>
Date: Thu, 13 Mar 2025 16:12:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 10/19] xen/page: fix return type of online_page()
From: Jan Beulich <jbeulich@suse.com>
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-11-Penny.Zheng@amd.com>
 <9f75fb88-c050-48ec-881f-b963607e89f5@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: <9f75fb88-c050-48ec-881f-b963607e89f5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 09:30, Jan Beulich wrote:
> On 12.03.2025 05:06, Penny Zheng wrote:
>> This commit fixes return type of online_page(), which shall be int
>> to include correct error value.
>>
>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> 
> While the patch can certainly be taken as-is, ...
> 
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -1764,7 +1764,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
>>   *   The caller should make sure end_pfn <= max_page,
>>   *   if not, expand_pages() should be called prior to online_page().
>>   */
>> -unsigned int online_page(mfn_t mfn, uint32_t *status)
>> +int online_page(mfn_t mfn, uint32_t *status)
>>  {
>>      unsigned long x, nx, y;
>>      struct page_info *pg;
> 
> ... below here we have
> 
>         ret = *status = 0;
> 
> which aiui will need splitting for Misra anyway. Perhaps a good opportunity
> to do so right here? (I wouldn't mind doing the extra change while committing.
> Yet I can also see that this may be deemed too orthogonal to the main purpose
> of the change here.)

Actually, having thought about this some more, let's just put it in as is.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:14:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912459.1318702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskGY-00011a-2u; Thu, 13 Mar 2025 15:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912459.1318702; Thu, 13 Mar 2025 15: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 1tskGY-00011T-07; Thu, 13 Mar 2025 15:14:34 +0000
Received: by outflank-mailman (input) for mailman id 912459;
 Thu, 13 Mar 2025 15:14: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=NEXk=WA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tskGW-00011I-UT
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:14:32 +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 dd3dfaf3-001d-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:14:31 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so957393f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:14:31 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8c5d04sm59050935e9.27.2025.03.13.08.14.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:14: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: dd3dfaf3-001d-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741878871; x=1742483671; darn=lists.xenproject.org;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kO0QriGb73abMdge3Lw944L0uK4ZRHzpf7qlrKSncAA=;
        b=OF8qq5/QfRFJ7sv9wMJ9m+WU+BumBcPOddNXzu9Bv37/XbSD5GmBTflRn2WLn1fsd1
         Ez0Z0MVQrd0Myc6XfPKOCfa5A+gDVrxBa8DnKWbMRIcEYACCVUuzLdGCSduZCIH2kqhy
         BWnLa6EiCjembsaE25M5yFd1bprZcSbHdufds=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741878871; x=1742483671;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=kO0QriGb73abMdge3Lw944L0uK4ZRHzpf7qlrKSncAA=;
        b=BOWaufgQMtCrpiU9t9FViINtAwHK84tOPo7I56E+UVmeR63NuuXhTEivym04Z7/sxU
         OtbL0Df3Yqv61luvg6Qj4wI6Gg0V2kFv/B9Xp8EPHWalKTLxHltDvmSdMa44v1Xco9B3
         0F9stVpLZtFQz7zxLmOs05XBDNC5EikkrW/ny2AJXxEnenhhTji5/O2hlEc4D+vYrZKy
         4Zdoe1QvR04ZT0qF2ANvMa1tkDJWRIdoMCvcz6t4lBOMz3MsJRtP6ujou4yXIR00dWRw
         F89piuan7PiZMjh5qnA8K2hojLVbF74rlJJTrJKh5GqWBq2tILyRZu1ifgJddUGcUIBp
         pXiQ==
X-Forwarded-Encrypted: i=1; AJvYcCWtDl2Pq4umrK7yiwo+UFOEgYcd+PqRGzbCewKxUNy7UEDSegg0sgvKzaPGjNftNQBmkpQNtj/yllg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxe64+SmRHN+CE812OiYVtM4q1n7IElgRCSGswXAyRAjusaSwFH
	Qf/4GjFghLNb78bvdarwALAHBYKHn5tOOkczKJaNzk2rnhhPjlZtcTC+Yrs70gI=
X-Gm-Gg: ASbGncuQOCE0j5WNJPmR3j8ySYm5pjSyiN1OriTWT16Jgwg/Fr3HcNprU6zftyhbsx6
	R4/eMvvY98RV5TPzavaszjTLE34wWMUGGXMV9Ws3Vy4K+DZtn8cLQiS2kC7vRWLubTofkaBfev+
	jp40F53SzsZcrdmzO13o7hjtXdStoR3VQHg+rlimPOOIraFG50Pjju1BaLKQoPSpaYIHlDBxb0G
	iNxEet6DL0S6WTvCCDK0+Cq354l8QmkTtKQAH44Bqsol/Xs6K/sFfN69R/x6KEChsZMI1xSgQ4K
	Qq33VpognutqEIJ5NfN5XqzKGWREm2h1jyv4ZMO21kLvrSk6Ieo=
X-Google-Smtp-Source: AGHT+IGg5ls3u5Oi43WsW2IvI2eeXO9PLgzXoW+G9b3Y2cmuLAATCevEI4byaIB0c94EK9nvdRTpHw==
X-Received: by 2002:a5d:6d83:0:b0:390:e9b5:d69c with SMTP id ffacd0b85a97d-39132d5670bmr27081374f8f.25.1741878870942;
        Thu, 13 Mar 2025 08:14:30 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 13 Mar 2025 15:14:26 +0000
Message-Id: <D8F8IW559J11.2G40MDQH23I44@cloud.com>
To: "Stewart Hildebrand" <stewart.hildebrand@amd.com>,
 <xen-devel@lists.xenproject.org>
Cc: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
X-Mailer: aerc 0.18.2
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
In-Reply-To: <20250312195019.382926-1-stewart.hildebrand@amd.com>

On Wed Mar 12, 2025 at 7:50 PM GMT, Stewart Hildebrand wrote:
> Xen vPCI refuses BAR writes if the BAR is mapped in p2m. If firmware
> initialized the BAR to a bad address, Linux will try to write a new
> address to the BAR without disabling memory decoding. Allow the write
> by updating p2m right away in the vPCI BAR write handler.
>
> Resolves: https://gitlab.com/xen-project/xen/-/issues/197
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> RFC: Currently the deferred mapping machinery supports only map or
>      unmap, not both. It might be better to rework the mapping machinery
>      to support unmap-then-map operations, but please let me know your
>      thoughts.
> RFC: This patch has not yet made an attempt to distinguish between
>      32-bit and 64-bit writes. It probably should.
> ---
>  xen/drivers/vpci/header.c | 65 +++++++++++++++++++++++++++++++--------
>  1 file changed, 53 insertions(+), 12 deletions(-)
>
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ef6c965c081c..66adb2183cfe 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -173,7 +173,7 @@ static void modify_decoding(const struct pci_dev *pde=
v, uint16_t cmd,
>          ASSERT_UNREACHABLE();
>  }
> =20
> -bool vpci_process_pending(struct vcpu *v)
> +static bool process_pending(struct vcpu *v, bool need_lock)
>  {
>      struct pci_dev *pdev =3D v->vpci.pdev;
>      struct vpci_header *header =3D NULL;
> @@ -182,12 +182,14 @@ bool vpci_process_pending(struct vcpu *v)
>      if ( !pdev )
>          return false;
> =20
> -    read_lock(&v->domain->pci_lock);
> +    if ( need_lock )
> +        read_lock(&v->domain->pci_lock);
> =20
>      if ( !pdev->vpci || (v->domain !=3D pdev->domain) )
>      {
>          v->vpci.pdev =3D NULL;
> -        read_unlock(&v->domain->pci_lock);
> +        if ( need_lock )
> +            read_unlock(&v->domain->pci_lock);
>          return false;
>      }
> =20
> @@ -209,17 +211,20 @@ bool vpci_process_pending(struct vcpu *v)
> =20
>          if ( rc =3D=3D -ERESTART )
>          {
> -            read_unlock(&v->domain->pci_lock);
> +            if ( need_lock )
> +                read_unlock(&v->domain->pci_lock);
>              return true;
>          }
> =20
>          if ( rc )
>          {
> -            spin_lock(&pdev->vpci->lock);
> +            if ( need_lock )
> +                spin_lock(&pdev->vpci->lock);
>              /* Disable memory decoding unconditionally on failure. */
>              modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
>                              false);
> -            spin_unlock(&pdev->vpci->lock);
> +            if ( need_lock )
> +                spin_unlock(&pdev->vpci->lock);
> =20
>              /* Clean all the rangesets */
>              for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
> @@ -228,7 +233,8 @@ bool vpci_process_pending(struct vcpu *v)
> =20
>              v->vpci.pdev =3D NULL;
> =20
> -            read_unlock(&v->domain->pci_lock);
> +            if ( need_lock )
> +                read_unlock(&v->domain->pci_lock);
> =20
>              if ( !is_hardware_domain(v->domain) )
>                  domain_crash(v->domain);
> @@ -238,15 +244,23 @@ bool vpci_process_pending(struct vcpu *v)
>      }
>      v->vpci.pdev =3D NULL;
> =20
> -    spin_lock(&pdev->vpci->lock);
> +    if ( need_lock )
> +        spin_lock(&pdev->vpci->lock);
>      modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
> -    spin_unlock(&pdev->vpci->lock);
> +    if ( need_lock )
> +        spin_unlock(&pdev->vpci->lock);
> =20
> -    read_unlock(&v->domain->pci_lock);
> +    if ( need_lock )
> +        read_unlock(&v->domain->pci_lock);
> =20
>      return false;
>  }
> =20
> +bool vpci_process_pending(struct vcpu *v)
> +{
> +    return process_pending(v, true);
> +}
> +
>  static int __init apply_map(struct domain *d, const struct pci_dev *pdev=
,
>                              uint16_t cmd)
>  {
> @@ -565,6 +579,8 @@ static void cf_check bar_write(
>  {
>      struct vpci_bar *bar =3D data;
>      bool hi =3D false;
> +    bool reenable =3D false;
> +    uint32_t cmd =3D 0;
> =20
>      ASSERT(is_hardware_domain(pdev->domain));
> =20
> @@ -585,10 +601,31 @@ static void cf_check bar_write(
>      {
>          /* If the value written is the current one avoid printing a warn=
ing. */
>          if ( val !=3D (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> +        {
>              gprintk(XENLOG_WARNING,
> -                    "%pp: ignored BAR %zu write while mapped\n",
> +                    "%pp: allowing BAR %zu write while mapped\n",
>                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> -        return;
> +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +            ASSERT(spin_is_locked(&pdev->vpci->lock));
> +            reenable =3D true;
> +            cmd =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> +            /*
> +             * Write-while-mapped: unmap the old BAR in p2m. We want thi=
s to
> +             * finish right away since the deferral machinery only suppo=
rts
> +             * unmap OR map, not unmap-then-remap. Ultimately, it probab=
ly would
> +             * be better to defer the write-while-mapped case just like =
regular
> +             * BAR writes (but still only allow it for 32-bit BAR writes=
).
> +             */
> +            /* Disable memory decoding */
> +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
> +            /* Call process pending here to ensure P2M operations are do=
ne */
> +            while ( process_pending(current, false) )
> +            {
> +                /* Pre-empted, try again */

This seems a tad dangerous. There may be a non-negligible amount of work qu=
eued
up. I also wonder whether the guest can induce spinning by increasing
contention on the p2m (e.g: via ballooning) or by induces work being queued=
 up.

I don't quite understand the logic, but I suspect you could
raise_softirq(SCHEDULE_SOFTIRQ), decrease the IP so the instruction is
replayed, release the locks, and simply exit the hypervisor. The system oug=
ht
to naturally split the operation in several continuations each of which doe=
s
either unmapping or mapping if it couldn't be done in a single one. Replayi=
ng
the instruction after decoding is disabled ought to be benign.

I haven't tried any of what I just wrote, so take it with with several tons=
 of
salt though.

Do you know if Linux intentionally skips disabling decode? Or is it a bug?

> +            }
> +        }
> +        else
> +            return;
>      }
> =20
> =20
> @@ -610,6 +647,10 @@ static void cf_check bar_write(
>      }
> =20
>      pci_conf_write32(pdev->sbdf, reg, val);
> +
> +    if ( reenable )
> +        /* Write-while-mapped: map the new BAR in p2m. OK to defer. */
> +        modify_bars(pdev, cmd, false);
>  }
> =20
>  static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
>
> base-commit: 8e60d47cf0112c145b6b0e454d102b04c857db8c

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:23:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912469.1318713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskOn-0003uO-Rn; Thu, 13 Mar 2025 15:23:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912469.1318713; Thu, 13 Mar 2025 15:23: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 1tskOn-0003uH-P8; Thu, 13 Mar 2025 15:23:05 +0000
Received: by outflank-mailman (input) for mailman id 912469;
 Thu, 13 Mar 2025 15:23: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=G34e=WA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tskOm-0003uB-IT
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:23:04 +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 0e6665bb-001f-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:23:03 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5e6167d0536so2050345a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:23:03 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3147ef34asm93185966b.68.2025.03.13.08.23.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:23: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: 0e6665bb-001f-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741879383; x=1742484183; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=PiSo9XTquXILdjpZNh2AfU7MB+MKJicgPsbHM6qd5IQ=;
        b=I8pb57xd3KM4nrr98otMY7ExW1mr12toz+kfgZjSdgwGYFYdGhgTTfcbn/c5oZGsgk
         ub82zkOTeMEoqteyYyB4WaVaZGYlqV7YO1PYO+GFQDqz+Gqg0RwvTFXgZ/DSkGv7Kbz9
         FqprRi4DgFw9EnaFY02F1kxIjY5iNIrVzNLAhuwfoWyacok887ho9G+hSO6ydfDraQTx
         XQUGgVjGTn33Ce78O1GHTnoczVqqJbwcFL96EKafvr7LpKSaCuMlZje8YA8tnnMwKWSI
         qebn56N3zSFh9BR7bHm0R/sFjQS15Rwb0eo/nUbEqT+JsdKDAeCVo79L9aPTCo03A872
         cWkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879383; x=1742484183;
        h=content-transfer-encoding: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=PiSo9XTquXILdjpZNh2AfU7MB+MKJicgPsbHM6qd5IQ=;
        b=oxfXUEUSFCi/5NgsnHxHMPP+ddRaMR9CaDNhIwFYjT+52phssm5is6VaO7RAadvW+A
         ZUWZZh5xDnGJneze4QT4oz2AqLTKkLjcWwk8Wkte9u+CED9Jpj3dUBDzXvis95yAKLsD
         /SUavPmz9jYj2IrOteyAgxTArBexPkhMP1Ahy6gtycvgspqsreCvIVNPpEhh+MtkbJdb
         +PHlG3n0sJkiMGEi7CPbUzoQ12RwWKGYWTloHrjNf/HXDsO1sZOHUw7UQLaAPBW76ZLL
         hmSE+dev2KQJ08lYRGJISYp7C7ESJ79BR8gsEt/Wkn/0dur8VUUUBfo8OQFHTHX5IYiX
         JDUA==
X-Forwarded-Encrypted: i=1; AJvYcCVzrG5vm3JbXIqSmbt8nZwzur33rSduSecEgsvF1QtW0VnCBfZZJlWdsCq9r7UfGlBbGYVESod3rys=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyE1yY7PaCyh5XBHBflOIeCmWQzQLAGhtKUUQRnU8hURYpiDvdG
	MWqxyjJG3f7cEwlTJBxJxvwRvxFjLySOOKkJX/pSrL2RFTmhnEMc
X-Gm-Gg: ASbGncsEUiX3VV+fN6NdarPDNA2RlDC+40Cc+SjaXJpdBRAP1dK7XlG+iSxx7xkU2SK
	gbmV1s4NFOOmCJ+fqIrDZ6+nMgGtyPntrOKvaZDq1eJk2Utq2Rv6Uo2x13ioeOgs4CzfysXIwpj
	zqKjPrJMNF/R38tDNgz6S1taM7uzF88t3Sl5uNH+SxXZkT73ZBGA6Y/ALlLrj5IboTTQ+xvayLN
	wO5eGilbb3/ldDAexXR5MY4o+4d8x3eYS9PsrdfCihLTuA4Bquz4r7aEMguQNOf3yMccATKq0VG
	pWuu/mLQ7epcwNeQjbiX24tK4vwvLvVf55MNB5knYlZIeM+ovWAORjp6HoK9RkgFFezdVBG9ReH
	ykn72sDr03AG8+6cBSMGi
X-Google-Smtp-Source: AGHT+IFP2xXu2B0wyHi5xv/C6LpAA8TQC6it1zRMccXLDewVVnfPSClp8WrmRV94dxcWb0yKNzpZLw==
X-Received: by 2002:a17:907:970a:b0:abf:51b7:608a with SMTP id a640c23a62f3a-ac2b9db4519mr1627715266b.5.1741879382746;
        Thu, 13 Mar 2025 08:23:02 -0700 (PDT)
Message-ID: <1f80af4d-e152-4c64-b6d2-db138537e531@gmail.com>
Date: Thu, 13 Mar 2025 16:23:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] CHANGELOG.md: Mention PCI passthrough for HVM domUs
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Community Manager <community.manager@xenproject.org>,
 Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
References: <20250312040220.2624329-1-Jiqian.Chen@amd.com>
 <a8919be5-020c-47f3-8bfa-02dab2f1e2ca@suse.com>
 <Z9G39ULeHr7fp9ur@macbook.local>
 <7977cc2d-d654-49be-8bf9-9d3fe9286857@suse.com>
 <Z9Kp6b3l2YAePqWl@macbook.local>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <Z9Kp6b3l2YAePqWl@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 3/13/25 10:48 AM, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 13, 2025 at 08:42:25AM +0100, Jan Beulich wrote:
>> On 12.03.2025 17:36, Roger Pau MonnĂŠ wrote:
>>> On Wed, Mar 12, 2025 at 09:51:09AM +0100, Jan Beulich wrote:
>>>> On 12.03.2025 05:02, Jiqian Chen wrote:
>>>>> PCI passthrough is already supported for HVM domUs when dom0 is PVH
>>>>> on x86. The last related patch on Qemu side was merged after Xen4.20
>>>>> release. So mention this feature in Xen4.21 entry.
>>>>>
>>>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
>>>>> ---
>>>>>   CHANGELOG.md | 1 +
>>>>>   1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>>>> index 7201c484f899..b6de9b72ea7a 100644
>>>>> --- a/CHANGELOG.md
>>>>> +++ b/CHANGELOG.md
>>>>> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>>>    - On x86:
>>>>>      - Option to attempt to fixup p2m page-faults on PVH dom0.
>>>>>      - Resizable BARs is supported for PVH dom0.
>>>>> +   - Support PCI passthrough for HVM domUs when dom0 is PVH.
>>>> Aren't we still in need of SR-IOV support in order to make such an
>>>> unconditional statement?
>>> I view SR-IOV as kind of orthogonal to this: SR-IOV is not
>>> supported at all on PVH dom0, so it's not just pass through, but the
>>> capability itself that won't work as expected when using such devices.
>> Hmm, yes and no. No in so far as I as someone who simply wants to use Xen
>> would read the above statement as indicating full pass-through support.
>> Which first and foremost includes the passing through of VFs.
> Maybe we can clarify somehow that SR-IOV devices are still not
> supported on a PVH dom0:
>
>   - Support PCI passthrough for HVM domUs when dom0 is PVH (note
>     SR-IOV capability usage is not yet supported on PVH dom0).
With this suggestion:
 Â Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
~Oleksii
>
> In any case we should likely wait for:
>
> https://lore.kernel.org/xen-devel/20250308001711.18746-1-jason.andryuk@amd.com/
>
> To be committed?
>
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:27:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912480.1318723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskSp-0004U0-DM; Thu, 13 Mar 2025 15:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912480.1318723; Thu, 13 Mar 2025 15:27: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 1tskSp-0004Tt-98; Thu, 13 Mar 2025 15:27:15 +0000
Received: by outflank-mailman (input) for mailman id 912480;
 Thu, 13 Mar 2025 15:27: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tskSn-0004Tn-V2
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:27:13 +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 a27a1242-001f-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:27:12 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cec5cd73bso7512925e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:27: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-43d0a8c5cbfsm56258725e9.30.2025.03.13.08.27.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:27: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: a27a1242-001f-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741879631; x=1742484431; 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=alBDaBhSc5c+ErX7HU9SuN15fStMCIq+BlkRU6K+X5Y=;
        b=TrBzCHIh/Cp4/V/WWk8pk+/4BXgN9QuRCMBY3PotltRUo0qoZyyzbPrmRVoQG8J2WH
         drCsDyWh/j621thh1t/BGH/cmRzacMLnry3Q19IRkGUwPoEiZQTm9rRpFrc+VJX3lQuR
         cQbhb3cKKfE1ANHlx8ZCersezHERdxx4M7B/7hYV4x20qrDQztyDpXTX4bgo3lj9OYnh
         bl9pV3EYoxLlbUO2HrUl4nwina6fxyI0G6n1UNiTwDQLLI8JdlPKrDHQ/RYhB1oXQYgO
         dG+fx0McoMLvONRmlabGPZyd+yPwS23iL66odXmp22R7lDM2cDjCzxOu2k5kWnLIOJRd
         Bfxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879631; x=1742484431;
        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=alBDaBhSc5c+ErX7HU9SuN15fStMCIq+BlkRU6K+X5Y=;
        b=OaoaZ1RTthE3z9UkjXpnufhRDQoHtSNpVSPBwJK3EADGocC7qmgJ2ROwkSSxygy8Qe
         oQoR+NsPQN+vMHRvvOEBfaw5EcRW+ucIuvYQJKYEafgHTkn6aVfF25r2C0IpIbqi/FVl
         U8dVFO3GHf8PRFZnIK/5zLY/M2t/81oe1cj8C8qw7QuvqFAm5NoR1MRGbekgmq8KImKy
         l9tS6a7bd/Oteru8KtMxOcu6yCje6rq/+p7XoT9I8/WHVpplkfs7DtK7RXS81bhBYCt0
         cY9JC696lH1X9/j9RQpRuT0ThHDj+nExRnLB5D9valCwU6oR6IJC698yL0mBu6qU3c/M
         uEUg==
X-Forwarded-Encrypted: i=1; AJvYcCUo4Ovt7K+qSGPc90Geg/it3wW6sbVf60jVLbUNPd0krF0Nvn6u9AV01W+NbHa4oWc95Ohjp42AGk4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCVBcDfKiI46LXiVekZrLezqVQooLJg7fs81uB7gLVaXgKlQyq
	EX55pmylZW+KCendc9UYIyEKVSBYIl1ILi6GGAn80l5xsf7a0+sY2XQSqtGSMg==
X-Gm-Gg: ASbGncvQ3uI7+qbb3lqteS9SByr9IMpstVcNsRjGOS2Nt3rl9PE41TI3lOaRJ1vP4Rq
	DtfY8RcgWVjwCCai5saXdCWaKC6s5execON0dcuK5Stzm2WfNg6C1n88s7NHI6/IT8A3NIY1V67
	TPhKO4lbUDCqtx82uTALIBpuw871+IAjgjc5kjPCrqbg8U16su7jTLaKRa/77UdMMOmyP6KoPTE
	IYdjAf1jG8SGvZU1GoSMHdRX+GdpAnNyyzuNnGMBNVg7bnJITjRjT+f3aUdFU/hVlM2JIHXqvzr
	oSKXoXNx189sYsYaOjXxE9FuDQR9a/C0W4Mq9UFYUccKrkIJvSzhQ+GOaGKjcLyj5NDWqSTxn2E
	JmXiJHcDQ2kStu5Hzd+0sR8HXDufujA==
X-Google-Smtp-Source: AGHT+IGmVR/TOUzIToShXO3FgHWt/dMtni1Ow7ibAk/O4+8qKajuB70IkZVHEqGGzP4DAiOOJSO7/Q==
X-Received: by 2002:a05:600c:1c8f:b0:43c:ec28:d301 with SMTP id 5b1f17b1804b1-43d1d8eb09cmr380555e9.26.1741879631321;
        Thu, 13 Mar 2025 08:27:11 -0700 (PDT)
Message-ID: <ddbf31ae-5877-4df2-a6c7-8b0251ce2b01@suse.com>
Date: Thu, 13 Mar 2025 16:27:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/16] xen/arm: introduce a separate struct for watchdog
 timers
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>, Mykyta Poturai
 <mykyta_poturai@epam.com>, Mykola Kvach <mykola_kvach@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@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: <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 10:11, Mykola Kvach wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> Introduce a separate struct for watchdog timers. It is needed to properly
> implement the suspend/resume actions for the watchdog timers. To be able
> to restart watchdog timer after suspend we need to remember their
> frequency somewhere. To not bloat the struct timer a new struct
> watchdog_timer is introduced, containing the original timer and the last
> set timeout.
> 
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>

A From: with no corresponding S-o-b: is potentially problematic. You also
can't simply add one with her agreement, though.

> ---
> This commit was introduced in patch series V2.

Yet, btw, the whole series isn't tagged with a version.

> --- a/xen/common/keyhandler.c
> +++ b/xen/common/keyhandler.c
> @@ -305,7 +305,7 @@ static void cf_check dump_domains(unsigned char key)
>          for ( i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
>              if ( test_bit(i, &d->watchdog_inuse_map) )
>                  printk("    watchdog %d expires in %d seconds\n",
> -                       i, (u32)((d->watchdog_timer[i].expires - NOW()) >> 30));
> +                       i, (u32)((d->watchdog_timer[i].timer.expires - NOW()) >> 30));

I realize you mean to just do a mechanical replacement here, yet the use of
u32 is not only against our style (should be uint32_t then), but it's also
not clear to me that this subtraction can't ever yield a negative result.
Hence the use of %d looks more correct to me than the cast to an unsigned
type.

In any event the already long line now grows too long and hence needs
wrapping.

> @@ -569,7 +570,7 @@ struct domain
>  #define NR_DOMAIN_WATCHDOG_TIMERS 2
>      spinlock_t watchdog_lock;
>      uint32_t watchdog_inuse_map;
> -    struct timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
> +    struct watchdog_timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];

An alternative would be to have a separate array for the timeout values.
This would also save some space, seeing that on 64-bit arches you
introduce 32 bits of tail padding in the struct.

If we go the struct watchdog_timer route, may I at least suggest to rename
the field to just "watchdog", so things like &d->watchdog_timer[i].timer
don't say "timer" twice?

> --- a/xen/include/xen/watchdog.h
> +++ b/xen/include/xen/watchdog.h
> @@ -8,6 +8,12 @@
>  #define __XEN_WATCHDOG_H__
>  
>  #include <xen/types.h>
> +#include <xen/timer.h>
> +
> +struct watchdog_timer {
> +    struct timer timer;
> +    uint32_t timeout;

This wants a brief comment mentioning the granularity.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:30:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:30:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912491.1318732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskWB-000639-Py; Thu, 13 Mar 2025 15:30:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912491.1318732; Thu, 13 Mar 2025 15:30: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 1tskWB-000632-NQ; Thu, 13 Mar 2025 15:30:43 +0000
Received: by outflank-mailman (input) for mailman id 912491;
 Thu, 13 Mar 2025 15:30: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=4VEl=WA=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tskWB-00062w-1L
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:30:43 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20605.outbound.protection.outlook.com
 [2a01:111:f403:2418::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f0608b0-0020-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:30:41 +0100 (CET)
Received: from MN2PR01CA0045.prod.exchangelabs.com (2603:10b6:208:23f::14) by
 CY8PR12MB7489.namprd12.prod.outlook.com (2603:10b6:930:90::11) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.28; Thu, 13 Mar 2025 15:30:31 +0000
Received: from BN1PEPF00006003.namprd05.prod.outlook.com
 (2603:10b6:208:23f:cafe::6c) by MN2PR01CA0045.outlook.office365.com
 (2603:10b6:208:23f::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.25 via Frontend Transport; Thu,
 13 Mar 2025 15:30:31 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN1PEPF00006003.mail.protection.outlook.com (10.167.243.235) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 15:30:31 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 13 Mar
 2025 10:30:30 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 13 Mar
 2025 10:30:30 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 13 Mar 2025 10:30:29 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f0608b0-0020-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RNiQo8CZqrC9wTJ3W2T43kbm28oqHbZV/suLoKfv5ZUoYYRb0hx7Qb/3Ahufv1xSDeyFONsCWphNfaV3r7WMGTHG8UO9TssknMaVR23droqCh+C2Gac0NMmoiH+tVvGhPrYQ1nfmdmdwwAddlw/e7SiuvfrnnLvhMVzRui1pZXUNrTNRgi5IuR8mD+Gtnuuzg2XgRRFxZeYwxbvOHe/clyQe46gAlKevToc9NLkl0HnktxEejSDo75RPBzelf+kwQaYYVmluuYvnTJFopnKe96WLpfZvLGHxtFx+Dxdh9q0yj5n9xQAuObqNxXgJJ6c20A6C6gx7+EEVtaGVjUnV6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ParMocr6+498F722CTkMfikeu39QUp8mT/Hj60qfjoQ=;
 b=DWByrKFBBARzoQPQnejklE4mQQSYDQKpsaFuoClQe1RT1U+xXgbDTHyB35CA5GZCZAkSEWUqHA+LjmrZeJN6xQck/WHC8CjIUv8XTFVPL6mDPiqxNG5iN3YunFVM6l2MKAKesCo55C0gXtxxf8S+qcjjGdC5Nnkq/WpsVsxLPLY4jv8fB3DnI37wSVzI1NEDgzAqfKXK2GQBe47oxdMJad0uoetZ9s8yxvDujdfmfFJTGpwnDakR2/H8qY6sB76LCQIKopgiuwfrL3fGahAQU88Lado40WpXCopyh0h3sVNrnzjFqI4+g1jJWzC+iLJ+fesn33XrEuKUfSUqDHz3Gw==
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=ParMocr6+498F722CTkMfikeu39QUp8mT/Hj60qfjoQ=;
 b=niP1q6YzmtGMYxSBwatJBkXov866eMpKT4nZ7ateZ7jIZnbljXlxUB/eO0lMoyX2DfRuK4eyXZMRasCRXDKQBee57ZGGHejVveKcpzaPlzzEgr/20Jkn0u6lCGhbo11b5DmaEJIxIKCzuzsOGlNWXcZithGewQtYS2TQKtmfh0Y=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <1d3ac61a-1acf-46b3-91bc-1dcb8bab1559@amd.com>
Date: Thu, 13 Mar 2025 11:30:28 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.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>, "Xenia
 Ragiadakou" <xenia.ragiadakou@amd.com>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <Z8A9LYjgr92IignP@macbook.local>
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: BN1PEPF00006003:EE_|CY8PR12MB7489:EE_
X-MS-Office365-Filtering-Correlation-Id: 40f32691-bd9a-4df1-fb21-08dd6243fd92
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?aUgrSy9rLzZJMEhZa0NvL0FEcjRTbVkvL1JzTkpuaU1jc0cxQmlNZmVUaXF1?=
 =?utf-8?B?ZktOY0F3VWMreGhIWlFDbzRRT0lnR1hOUGdld2M5SWFFNFg4K3AwbnhWU1Nq?=
 =?utf-8?B?MHR4ZFhjU1V0ZzB4WkxvMU5iQTdqWGRaMkpjcnZjZGh5T2E4Wk9QMExQbDhF?=
 =?utf-8?B?bzlPSmoxRTh2VGdvU0t4bnQvNGo4cXp6M01NMFhoczBhQ2pqOXFjQkkwVDh5?=
 =?utf-8?B?YkE5ZWNiZlRPZGhpaTI2RmtWMmhWcERVYmRQLzM0eEwrQkk1Szg0U25WOHl2?=
 =?utf-8?B?am12WFVZZVg2VjB1TTBGaFg4TFBLT0Z2VDloMC9rRkoyYmx4MXA4VDBTWUNM?=
 =?utf-8?B?L2JJOXJEZExyY0RCY3pQQ1RlOHpIVTJuSmJQNW42ZzZkZlgvc3JKeTdoajFW?=
 =?utf-8?B?WGpGMW9tbGtHVFFIa3BDVmtrd3BpREVlemd3WTRGTzJYWFVDanhNeDVqRzk1?=
 =?utf-8?B?aVZTbGFsbGFKM1hpME9ZMmJtcmQ0cFRhVVBWN3hXSEhLVGE2UnloTExQVVFs?=
 =?utf-8?B?R2dlKzEvYU9ENUsxTFE3QXpLQTdtdHpIV1FsZGdvemhkc0xqZFova1E5djNJ?=
 =?utf-8?B?SWVwR205Wk9vNGZiWGlMRHcyTHlXMHN4d2Y1TzZPeVN0M25lU0poZ0tTYk9L?=
 =?utf-8?B?TkQyMk1VTHhqd3RuRDJvZXV5dk81UXlNdXgzTE9DU1A0SUFqQlFUTVNtL2F0?=
 =?utf-8?B?ZXZuNks2ZEZRV2djalJmWXNyQVkvWDJvenphQUNLOUFkSStHa2xBOFNHMWU3?=
 =?utf-8?B?WnFRV1o3RUZKVjNUdVBaS0JLSjd6Z0NVeEllN2hJRzlacFJYL0ZJQTkwMVl2?=
 =?utf-8?B?VFp6Y2NpRTk1YzFIZ1pyWFljcHlWMFU4QzIwL2tTY3pxQ2d0SUplZzNkaHY2?=
 =?utf-8?B?NG94VVRHQm1ObkFodjVsRmNYSGs4elpDVGxnanBJODJ0N2dESll6ZjZlOUp5?=
 =?utf-8?B?ODZ4UHdmVnhmU3piQklyV2liaXBVUS9wWG1rVjR0RTdTTWQ2YW9TbUJsa3Nk?=
 =?utf-8?B?TE1wUjNqc2FGV1RIVTB5NFdXa2tZTjFNMGJOTzBpNVZEUG1STmRLUnU5Wngw?=
 =?utf-8?B?RUR5YmtRWG5ydnBRU0Vsa3pvOTJBemluQTJDbXd5ZEhPQXlPNDhlYXZERGxM?=
 =?utf-8?B?SFVkemVwOXRIVmd2OW9uU0F2ejIrS2Q1UU8yRSs3QzVJNHhHdklPLys5bStl?=
 =?utf-8?B?UDF3TVJYci9UbUk3bUw1YUJ3SmNQaEMrZm5aUFZERmFSam5Qa0Vuc1NJQzcv?=
 =?utf-8?B?b2tUR0VVUFZ6OTZIcXRoZHpPVzRtZ0VvcURnWVJYVFFocElvcHoydm9YNGdV?=
 =?utf-8?B?TTVrZXhiL3E3WWZBUmtDaEpuNnk3eiszRzBXYUg4eTY2RFZBZ1FpR3RnbVo4?=
 =?utf-8?B?S2hjdmh2S2xVLzZwR0RJWS9YemwyNkVVUkN1dzFnS0NlMHhmRmpYTDVGR3ZT?=
 =?utf-8?B?aWtYL09QRnd6YXZXRG54Wjk4WThUdmRXR2F4ZVJtUjBjcWIxQmRoTjl5WWpP?=
 =?utf-8?B?Ukp6RGJOd2h3a1NpaERyaU9RcSsyTTFNS0RSbkpPd3k2NXVyZDVNZEhjTDhs?=
 =?utf-8?B?MnZFZHZ2cE9xL3dwdW02amJ6ZUlmMnBmMlpldzE5a0Mxa1lpUDNkOXpqWHVL?=
 =?utf-8?B?S2VjRThpYjJNUGxyd3BIWTcxNGpGR2JOL3laSmsvenFlSGU2amplNHRGYTRT?=
 =?utf-8?B?V3ZCc2NLa1BMdENxSmluMkpNT1pUMFhDNHFMRStuTjJsK3QxNmpwSGNjSURQ?=
 =?utf-8?B?enNjdGM0dVFzSjVnK0QyelhUWEtjYXhMa29qVW1nbTYrOWhCTEdSRG1VTUJV?=
 =?utf-8?B?UmdDQk1NSmprcnVDek9aM2hBeWJhbGh3Y2NYaElGb252OWJPOXFHNWdkWG03?=
 =?utf-8?B?a2lZUHByT29qbGl1MDFpYkIzc1lJRDlHbFRlWkNaWGh4cEJ6cE5JMDM1aTBw?=
 =?utf-8?B?Z210SURGNHVuR3IrdTU2NlViTitSZnU2UG1BWFlMcEROMmQzMkRyd2N0d2F3?=
 =?utf-8?B?YURqU29NYWVnPT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 13 Mar 2025 15:30:31.2765
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 40f32691-bd9a-4df1-fb21-08dd6243fd92
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006003.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7489

On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
> On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
>>
>> The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
>> dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
>> all that has been tested.
> 
> DYK why it fails to enable 32?

In Linux msi_capability_init()

         /* Reject multi-MSI early on irq domain enabled architectures */
         if (nvec > 1 && !pci_msi_domain_supports(dev, 
MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
                 return 1;

MSI_FLAG_MULTI_PCI_MSI is only set for AMD and Intel interrupt 
remapping, and Xen PVH and HVM don't have either of those.  They are 
using "VECTOR", so this check fails.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912505.1318743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskXt-0007tm-7G; Thu, 13 Mar 2025 15:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912505.1318743; Thu, 13 Mar 2025 15:32: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 1tskXt-0007tf-4e; Thu, 13 Mar 2025 15:32:29 +0000
Received: by outflank-mailman (input) for mailman id 912505;
 Thu, 13 Mar 2025 15: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskXs-0007tP-5X
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:28 +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 5ea72b0a-0020-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:32:27 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e56b229d60so4149547a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:27 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e816968cd8sm820441a12.18.2025.03.13.08.32.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08: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: 5ea72b0a-0020-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879947; x=1742484747; 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=TIi4cok7s5N2w3ZXf4UEucaUUsE5Rcg9ljp/iK/02Ok=;
        b=sx1QSO5wt3WsPAKF4CaczyXzC4xrp4ilCYalK+xUrY1+c101av63+8jwAOCOrima2m
         Mm6rr21BOgEqLV9KO5EMGyM5Ph1boLzTsCnWp7c52uxAzrx/7Tyg7u6kqrm3HJJmcZlm
         Tavr/tSqzfSIrZH+DW33VD96w60UlYGZ0h6ns=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879947; x=1742484747;
        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=TIi4cok7s5N2w3ZXf4UEucaUUsE5Rcg9ljp/iK/02Ok=;
        b=wd8Xgpcq77GLQ6jkMT2BsDKXvH3iQf20128oJpfYmRInts9fG9Kz4cIwAce3bUNUUc
         lp5emLDX7skW3m+k0mqL5331aEEjaVryPuv8CWBFeNX4i/ByVagPEQovLH8FvRat/l0l
         774Cn+wys42senS0nf4oCPkEl5qtQh3ZVgGPgwrKyFG5DgyJvNOqY10iCa7919uaS/ow
         ORXpYJ/WicdkSWFh6wtnJCOsHhhg2rFOscApB0ntciF+vwWxvTFQrJvq4m6FT44a1OuG
         jCh56PkMiqFB89HO9ePs//Po48Hsz2wxTiyBYbWMvK0WzA8VkNXONHLVzdUVtASvgNeF
         IkZA==
X-Gm-Message-State: AOJu0YyH6PQBh/KhGyzHsRwoBHNjoJ5Rjwx1bSYqk8OI/S6mzfAG9rz3
	CCeswPGa3gkz7RqAzkVcJr4Ik+iVkCYX0CJVdkOv1ONOPBc3atmU0+pFytxttYPwFaQc7snLZkT
	k
X-Gm-Gg: ASbGnctcPRSQb1wNoFsU9vRhL0gkLxI4BGzMvJKrZzbJ1tBBbW8AVRM/btdyeO647hL
	tjZYcSf0EOC/EJrKU025RnprSuCKClfLPQE9GLcRfjVIVmze27QRe6NJZ4CzozsWExclEOmgiKY
	Y9fLDneYgbwO8REccxcQszD53gCGDHPG2VgMXyhoz7N+lkgJs20dt0LeqXh5ygvN8evgkdu5KFJ
	6DOBjsd9reVuqTMU6mesVNf9GiZGxmwV60IKZqHE43PCokBUN54l4DG5H6Z1cMqEOb9ainvI3hj
	3drH4tpTXosFaEJ+/BzczWPPWLRHiWDzenAzdfAVAxTlc+QvBw==
X-Google-Smtp-Source: AGHT+IHgfVeq3yBRo6Bqwg1lnbR26l9FzWAxjB5axSGBekPFiJ6JljFWE2Qfoy/8t7lULOx6T1mjTA==
X-Received: by 2002:a05:6402:26cc:b0:5e4:a1e8:3ef1 with SMTP id 4fb4d7f45d1cf-5e814e73895mr3446889a12.9.1741879946803;
        Thu, 13 Mar 2025 08:32:26 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH 0/7] x86/ubsan: fix ubsan on clang + code fixes
Date: Thu, 13 Mar 2025 16:30:22 +0100
Message-ID: <20250313153029.93347-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

This started as a series to fix UBSAN when using clang, and the first 2
patches do fix that.  Patch 3 fix an issue when using UBSAN on gcc 12.
Patch 4 improves the reporting of clang UB pointer arithmetics.

Finally patches 5 and 6 fix bugs in the code highlighted by the clang UB
pointer arithmetic detection: offset additions to NULL pointers and too
early usage of ioremap_wc().

Patch 7 was the original goal of the series: be able to enable UBSAN for
randconfig.

Thanks, Roger.

Roger Pau Monne (7):
  xen/ubsan: provide helper for clang's -fsanitize=function
  x86/wait: prevent duplicated assembly labels
  x86/dom0: placate GCC 12 compile-time errors with UBSAN and PVH_GUEST
  xen/ubsan: expand pointer overflow message printing
  x86/ioremap: prevent additions against the NULL pointer
  x86/vga: fix mapping of the VGA text buffer
  kconfig/randconfig: enable UBSAN for randconfig

 xen/Kconfig                        |   4 ++
 xen/Kconfig.debug                  |   2 +-
 xen/arch/x86/boot/x86_64.S         |  10 ++-
 xen/arch/x86/dmi_scan.c            |   7 +-
 xen/arch/x86/include/asm/config.h  |   5 ++
 xen/arch/x86/mm.c                  |   6 +-
 xen/arch/x86/setup.c               |   2 +-
 xen/common/ubsan/ubsan.c           |  31 +++++++-
 xen/common/ubsan/ubsan.h           |   5 ++
 xen/common/wait.c                  | 111 ++++++++++++++++++++---------
 xen/drivers/video/vga.c            |  11 ++-
 xen/tools/kconfig/allrandom.config |   1 -
 12 files changed, 144 insertions(+), 51 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912506.1318753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskXu-00087t-GA; Thu, 13 Mar 2025 15:32:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912506.1318753; Thu, 13 Mar 2025 15: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 1tskXu-00087m-CG; Thu, 13 Mar 2025 15:32:30 +0000
Received: by outflank-mailman (input) for mailman id 912506;
 Thu, 13 Mar 2025 15:32: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskXt-0007tP-9d
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:29 +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 5f55f0ef-0020-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:32:28 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5dc89df7eccso1813155a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:28 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e8169b896csm843516a12.44.2025.03.13.08.32.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08:32: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: 5f55f0ef-0020-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879948; x=1742484748; 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=vReGhqfBJ4uK8Q3JcoYxiqLwitDEZqAnuu3xoPEvPbI=;
        b=q9FMDkoJEYR/KqH60ERIN8GNpQ0E7yUidjn1jPAEPWu7FMI2HTgfm+4HIvmKj1+ZiB
         oSeLrppwgWQn+rQ2lM3uQzzrXBVVzbpy/yHcHsc9lI5nwERkaqJfGZKCFPzRiuHjbt4P
         QaP0P4GUsD17lQgmLQO028ceRCDYY8632AuyM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879948; x=1742484748;
        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=vReGhqfBJ4uK8Q3JcoYxiqLwitDEZqAnuu3xoPEvPbI=;
        b=ZZerKUHWne9/Tc80/N1D8lVke5Vo0/ExnUlbIIme5Sb8Yl3e1ZlmGciS7olUs41ipb
         AfySwLqEcS0d0wG7Ra+AAUtJCTxEj/iUYKMdXa4DP1QAfEzFIdCEb+XxJqK2Qf3jMegq
         NwlGro8j0qWZgIobkFeigVCwqlKSMDE/izlpPMn7WU9uCg96mcwXb7NPxImzAY6iWAyq
         ar9EYbYwQlfUx8nY2W8pIZzd8M5emOCOsarZwQanyi9fsVRPt4rJ1+dXL6IDtRwMVJOn
         n2AI64QXYkHHDjpU5MGOHS8InvL+T89wpeCFurfhKV7Mh2ZVdFGq+AdcubGPWRGAMyY2
         XlQg==
X-Gm-Message-State: AOJu0YxsQNRbUvA5SML+Pt2uyGI6zSH4/8HO9ebwqpCKxfWGcuUkwh+T
	JCUdbR7ssOdV1G5Pv1/gkir/u+nNORcf6UmmghJSTVzmANV+rpo6ehZkjBMsqUYe0WH/ERn/Lra
	5
X-Gm-Gg: ASbGncvDpm1Z7d8OxeDXRTDO8029hgvmi0XcM5yj1Ei4/dBDsmzhpRsojY/sSoNlGEG
	KNsm9q8mSkhoaQok2vETehpMJUzyVVJg0eEo4JAytSEkUSJHsiuNvAEXBKnmMNcE1VXy8vjEony
	RnS4xiLJG2iOSDS88eEGWTs3HZIh+v1c2OfpM+0MA6BoI8y7pG7ermKNfA5C+3DgQ0cIt5w4+kK
	FjNIDC+gFeSfEfJU66nyBlLAuKU0BVDdz+KxuMvdOIPW4Rhrmfy9hakZbmO1eA4msJw1+34iahq
	rS6p0U5PX+kpTjT4/U1YQhYk6My1rxPnz4uZsdOD6dK3kEa2Gg==
X-Google-Smtp-Source: AGHT+IFbfEhj6MgxTlKULwwo1Wwd0a5nmj7+MHvWMfzojnaK99p1HyYC4BL4AwHBleG+iqcEYcl8SA==
X-Received: by 2002:a05:6402:2550:b0:5e1:8604:9a2d with SMTP id 4fb4d7f45d1cf-5e5e229949amr31872827a12.4.1741879947944;
        Thu, 13 Mar 2025 08:32:27 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 1/7] xen/ubsan: provide helper for clang's -fsanitize=function
Date: Thu, 13 Mar 2025 16:30:23 +0100
Message-ID: <20250313153029.93347-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250313153029.93347-1-roger.pau@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

clang's -fsanitize=function relies on the presence of
__ubsan_handle_function_type_mismatch() to print the detection of indirect
calls of a function through a function pointer of the wrong type.

Implement the helper, inspired on the llvm ubsan lib implementation.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/common/ubsan/ubsan.c | 16 ++++++++++++++++
 xen/common/ubsan/ubsan.h |  5 +++++
 2 files changed, 21 insertions(+)

diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
index e99370322b44..7ebe4bfc14dc 100644
--- a/xen/common/ubsan/ubsan.c
+++ b/xen/common/ubsan/ubsan.c
@@ -546,3 +546,19 @@ void __ubsan_handle_invalid_builtin(struct invalid_builtin_data *data)
 
 	ubsan_epilogue(&flags);
 }
+
+void __ubsan_handle_function_type_mismatch(
+	struct function_type_mismatch_data *data, unsigned long val)
+{
+	unsigned long flags;
+
+	if (suppress_report(&data->location))
+		return;
+
+	ubsan_prologue(&data->location, &flags);
+
+	pr_err("call to function %ps through pointer to incorrect function type %s\n",
+		(void *)val, data->type->type_name);
+
+	ubsan_epilogue(&flags);
+}
diff --git a/xen/common/ubsan/ubsan.h b/xen/common/ubsan/ubsan.h
index 9c7f3b9b6c07..8987f9d45397 100644
--- a/xen/common/ubsan/ubsan.h
+++ b/xen/common/ubsan/ubsan.h
@@ -95,6 +95,11 @@ enum {
 	kind_clz,
 };
 
+struct function_type_mismatch_data {
+	struct source_location location;
+	struct type_descriptor *type;
+};
+
 #if defined(CONFIG_ARCH_SUPPORTS_INT128) && defined(__SIZEOF_INT128__)
 typedef __int128 s_max;
 typedef unsigned __int128 u_max;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912508.1318764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskXy-0008Or-Od; Thu, 13 Mar 2025 15:32:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912508.1318764; Thu, 13 Mar 2025 15:32: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 1tskXy-0008Oi-Ju; Thu, 13 Mar 2025 15:32:34 +0000
Received: by outflank-mailman (input) for mailman id 912508;
 Thu, 13 Mar 2025 15:32: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskXx-0008Nv-Lc
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:33 +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 5f82c228-0020-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:32:29 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-aaecf50578eso189733266b.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:31 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac31485bd4dsm92628466b.81.2025.03.13.08.32.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08:32: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: 5f82c228-0020-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879950; x=1742484750; 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=iluUGVwmybl1uvmaup9n3VtNZWTX7tEEI+m9+ONsj+U=;
        b=q8rEVf+Ob+WCttZ+Rh4BoF2bAr5195efd8VzeaNfEuNFMyjkDbdreVM6NWekeKA/Dg
         h3G9fFzFTLkg6XUDFkIquQI4ZCAdced5qoXvvNg538Ow94rz4JuDz4EdNiaSfMvuaCBb
         B0AKEZ233MnBwtyAPSGP8PKvgBp20IMdJ4YF8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879950; x=1742484750;
        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=iluUGVwmybl1uvmaup9n3VtNZWTX7tEEI+m9+ONsj+U=;
        b=QDNwOsj03OggsgRjlQAQ/ndXde0GMNpYdASG66FTa41gWE/Czx9rpxlKZlUhIENvlW
         HpHqoDvQCfDByvZ3XJ9RgCODUaRNlr61/81MmV8fhvVd/xoBHjDJxkx6gB7JQkoH9UII
         m2M9OSD1QdzxWF5Pqevt3aD+mfgy0zO/LpFX5qH+0AAUSQoikt/pNA5zbt2aDaDdv2qe
         RzJ40xZKlYutpSZYQiOvmBm4G5bKeEvRIuuaZik5/hLF5u4mJI7CH6/L1H01kmxfIrOY
         YgBw2YpVumioFIdQn57dyEJqn8dYNZJar/4mGkoPkfc7ddc5+nxS4Ixdaz0bhCoeTvjj
         WOFw==
X-Gm-Message-State: AOJu0YxGJcsRPU050f3tAlbMqnBaNtmiGxJvXm/JCwJJyEX/m8VWDwN1
	e89NniEBEhy3pXt0dIasu0CiMY1OXj+q3Hn5CzQ8H4pwU22movvYzNw+HDUwy7cYV6IahN/K2+c
	i
X-Gm-Gg: ASbGncudjxu+ReLbX5KdEYk9ENGAf5LiBIxwsKsSxi12BSRSxc4nlVKyE7PPWnGCYsm
	GQjh6zl5EiCOTDIuVNTkRc/M1B2pHyzuo17WOpvO/zYB/0wWxD8U/pxEpxMfPd128PYC9FWjMdb
	oDKEEBHEta6q+bUBF2wyG77eEaIMGNZFRuQHvsf8kWDuv/X/ox4YLRIXZUT9vBKn8pwkDrZjJst
	6lgBZajXZJSBng/kydNePRyQC7zR4PMUXrk3LNutMIEYLAkDkMJJtROvhr35dipwCgZnUSGZons
	r2wGU0xRHM2gyoVSQWUb0y8OLUIXDhMcpcoD2+4Aqg7A3HqDbA==
X-Google-Smtp-Source: AGHT+IEWRdiX/lHxQJn1GQzKfoYttXRxTb0u6BxSs7Pj8QR/2O92Sn67rPf1DLNoFI7M6Xa7Y1ij5Q==
X-Received: by 2002:a17:907:9725:b0:ac2:d667:8d64 with SMTP id a640c23a62f3a-ac2d66790a7mr1057682366b.39.1741879949199;
        Thu, 13 Mar 2025 08:32:29 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 2/7] x86/wait: prevent duplicated assembly labels
Date: Thu, 13 Mar 2025 16:30:24 +0100
Message-ID: <20250313153029.93347-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250313153029.93347-1-roger.pau@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When enabling UBSAN with clang, the following error is triggered during the
build:

common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
  154 |         "push %%rbx; push %%rbp; push %%r12;"
      |         ^
<inline asm>:1:121: note: instantiated into assembly here
    1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
      |                                                                                                                                ^
common/wait.c:154:9: error: symbol '.L_skip' is already defined
  154 |         "push %%rbx; push %%rbp; push %%r12;"
      |         ^
<inline asm>:1:159: note: instantiated into assembly here
    1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
      |                                                                                                                                                                      ^
2 errors generated.

The inline assembly block in __prepare_to_wait() is duplicated, thus
leading to multiple definitions of the otherwise unique labels inside the
assembly block.  GCC extended-asm documentation notes the possibility of
duplicating asm blocks:

> Under certain circumstances, GCC may duplicate (or remove duplicates of)
> your assembly code when optimizing. This can lead to unexpected duplicate
> symbol errors during compilation if your asm code defines symbols or
> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.

Move the assembly blocks that deal with saving and restoring the current
CPU context into it's own explicitly non-inline functions.  This prevents
clang from duplicating the assembly blocks.  Just using noinline attribute
seems to be enough to prevent assembly duplication, in the future noclone
might also be required if asm block duplication issues arise again.

Additionally, add a small self-test to ensure the consistency of the
context save and restore logic.

Link: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
Link: https://github.com/llvm/llvm-project/issues/92161
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/common/wait.c | 111 +++++++++++++++++++++++++++++++---------------
 1 file changed, 76 insertions(+), 35 deletions(-)

diff --git a/xen/common/wait.c b/xen/common/wait.c
index cb6f5ff3c20a..2fcbbe8d0c71 100644
--- a/xen/common/wait.c
+++ b/xen/common/wait.c
@@ -119,24 +119,16 @@ void wake_up_all(struct waitqueue_head *wq)
 
 #ifdef CONFIG_X86
 
-static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
+/*
+ * context_save() must strictly be noinline, as to avoid multiple callers from
+ * inlining the code, thus duplicating the label and triggering an assembler
+ * error about duplicated labels.
+ */
+static void noinline context_save(struct waitqueue_vcpu *wqv)
 {
     struct cpu_info *cpu_info = get_cpu_info();
-    struct vcpu *curr = current;
     unsigned long dummy;
 
-    ASSERT(wqv->esp == NULL);
-
-    /* Save current VCPU affinity; force wakeup on *this* CPU only. */
-    if ( vcpu_temporary_affinity(curr, smp_processor_id(), VCPU_AFFINITY_WAIT) )
-    {
-        gdprintk(XENLOG_ERR, "Unable to set vcpu affinity\n");
-        domain_crash(curr->domain);
-
-        for ( ; ; )
-            do_softirq();
-    }
-
     /*
      * Hand-rolled setjmp().
      *
@@ -170,6 +162,54 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
         : "0" (0), "1" (cpu_info), "2" (wqv->stack),
           [sz] "i" (PAGE_SIZE)
         : "memory", "rax", "rdx", "r8", "r9", "r10", "r11" );
+}
+
+/*
+ * Since context_save() is noinline, context_restore() must also be noinline,
+ * to balance the RET vs CALL instructions.
+ */
+static void noinline noreturn context_restore(struct waitqueue_vcpu *wqv)
+{
+    /*
+     * Hand-rolled longjmp().
+     *
+     * check_wakeup_from_wait() is always called with a shallow stack,
+     * immediately after the vCPU has been rescheduled.
+     *
+     * Adjust %rsp to be the correct depth for the (deeper) stack we want to
+     * restore, then prepare %rsi, %rdi and %rcx such that when we rejoin the
+     * rep movs in __prepare_to_wait(), it copies from wqv->stack over the
+     * active stack.
+     *
+     * All other GPRs are available for use; They're restored from the stack,
+     * or explicitly clobbered.
+     */
+    asm volatile ( "mov %%rdi, %%rsp;"
+                   "jmp .L_wq_resume"
+                   :
+                   : "S" (wqv->stack), "D" (wqv->esp),
+                     "c" ((char *)get_cpu_info() - (char *)wqv->esp)
+                   : "memory" );
+    unreachable();
+}
+
+static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
+{
+    struct vcpu *curr = current;
+
+    ASSERT(wqv->esp == NULL);
+
+    /* Save current VCPU affinity; force wakeup on *this* CPU only. */
+    if ( vcpu_temporary_affinity(curr, smp_processor_id(), VCPU_AFFINITY_WAIT) )
+    {
+        gdprintk(XENLOG_ERR, "Unable to set vcpu affinity\n");
+        domain_crash(curr->domain);
+
+        for ( ; ; )
+            do_softirq();
+    }
+
+    context_save(wqv);
 
     if ( unlikely(wqv->esp == NULL) )
     {
@@ -229,30 +269,31 @@ void check_wakeup_from_wait(void)
      *
      * Therefore, no actions are necessary here to maintain RSB safety.
      */
-
-    /*
-     * Hand-rolled longjmp().
-     *
-     * check_wakeup_from_wait() is always called with a shallow stack,
-     * immediately after the vCPU has been rescheduled.
-     *
-     * Adjust %rsp to be the correct depth for the (deeper) stack we want to
-     * restore, then prepare %rsi, %rdi and %rcx such that when we rejoin the
-     * rep movs in __prepare_to_wait(), it copies from wqv->stack over the
-     * active stack.
-     *
-     * All other GPRs are available for use; They're restored from the stack,
-     * or explicitly clobbered.
-     */
-    asm volatile ( "mov %%rdi, %%rsp;"
-                   "jmp .L_wq_resume"
-                   :
-                   : "S" (wqv->stack), "D" (wqv->esp),
-                     "c" ((char *)get_cpu_info() - (char *)wqv->esp)
-                   : "memory" );
+    context_restore(wqv);
     unreachable();
 }
 
+#ifdef CONFIG_SELF_TESTS
+static void __init __constructor test_save_restore_ctx(void)
+{
+    static unsigned int __initdata count;
+    struct waitqueue_vcpu wqv = {};
+
+    wqv.stack = alloc_xenheap_page();
+    if ( !wqv.stack )
+        panic("unable to allocate memory for context selftest\n");
+
+    context_save(&wqv);
+    if ( !count++ )
+        context_restore(&wqv);
+
+    if ( count != 2 )
+        panic("context save and restore not working as expected\n");
+
+    free_xenheap_page(wqv.stack);
+}
+#endif
+
 #else /* !CONFIG_X86 */
 
 #define __prepare_to_wait(wqv) ((void)0)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912509.1318773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskXz-0000DF-Vb; Thu, 13 Mar 2025 15:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912509.1318773; Thu, 13 Mar 2025 15:32: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 1tskXz-0000CR-Ro; Thu, 13 Mar 2025 15:32:35 +0000
Received: by outflank-mailman (input) for mailman id 912509;
 Thu, 13 Mar 2025 15:32: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskXx-0007tP-QN
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:33 +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 61b9e35e-0020-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:32:32 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5e6c18e2c7dso1920581a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:32 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e81692e64asm825684a12.4.2025.03.13.08.32.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08:32: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: 61b9e35e-0020-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879951; x=1742484751; 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=tIV0lbRrLZFbQdSx0BrVvPIuenqWUkKeEWZTK4TAOBs=;
        b=qNPNh6cilg4xvwrSXRfw/4wWiKbZySsu3sStveUIMMyHFrFoFGBTzF8uXa6Bo1/NPP
         kRQIm+m+W+0nJE8Q9qBi9FxqLZrlSAnQsPw9gr49ZJ7tgzZL0lLiYAFtfcmaocXsTGhB
         tktFoa5ZquA0BfF7QbvR05CrI0+f0PluJ9c3Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879951; x=1742484751;
        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=tIV0lbRrLZFbQdSx0BrVvPIuenqWUkKeEWZTK4TAOBs=;
        b=hzIi/C+KJ6DV4brZWidMb54q1+498KVChuy/XxFLoELWMiFN7BcwITApXkpQIFFqOU
         MjagyabE5kjF7FtkpcoxK32FWkbzmN+8n0sbtsyaJc49pcJHGP9X7Ew9mwbu8V5bt/Qq
         sVy1QA/whIDQJsAmPXeVVdwV1G433BZO5PFxw3MebGplNezvmZ43sxDym2GGdOxk4o+e
         DYiTI6Fk+xUvs4rS0QNsZ9Xi5pgiRIPVrYnXD0b/6kuhX/00Is4gln7Z++c04XTodHC0
         3izqFsgvT9y1gKZaJTVKJPx3Oy2p2M/291dW5V4hRlrcMTv8TJzJLI15cIAaSWgGPXOA
         Mz+Q==
X-Gm-Message-State: AOJu0YxwS1ile/xUzrK9Ez0lvrS2brCslQe7IbSoNkRLUbo2qNM+piVd
	7WG35F/BXUwi6rlCTueUM6A45yyUKThI6RdQ9gJNmpUQlA0nQNUaicanCV6zvg3KNwIMvAimw3x
	f
X-Gm-Gg: ASbGnct5DvN/jkVJgGam5KrGo0bQv4XJ9WBVGQunz1kjyrx/UcSMvZDDOPukhaY58Cl
	GLkWoUfq1UvgoPsj2H0gWskWvxSTKS4LmMGUKZ2qkkfpPaboMokpME4Ey53/7mdYvc/qXDj0I19
	EM+b9kYDnqOdG1e2eNdK/YIl/Xd5NIw9WaDY0LemRUvc4zFvQgTG92fPNOFPzpQDugbg3+OgINE
	t4rFIJt5DN2v3CThwqrHi95ELrPOzUnEDHLCMIXoZJ6TkELQVK1heQ5in9p4JD8wV8qHSpstOzC
	dEAtoxe0NeEWre1PARJ+f2RVbOjUjgiTCmNOQhGIvSGACiwNdA==
X-Google-Smtp-Source: AGHT+IGSp33R1eWJEtY9rFEEoNQDrBjGvY13L37whLkeE+FLQVs6my06EgT5NpY7mSqCs6pPUI4sUg==
X-Received: by 2002:a05:6402:42c4:b0:5e4:d192:2373 with SMTP id 4fb4d7f45d1cf-5e5e22bf631mr31125520a12.10.1741879951520;
        Thu, 13 Mar 2025 08:32:31 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 4/7] xen/ubsan: expand pointer overflow message printing
Date: Thu, 13 Mar 2025 16:30:26 +0100
Message-ID: <20250313153029.93347-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250313153029.93347-1-roger.pau@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add messages about operations against the NULL pointer, or that result in
a NULL pointer.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/common/ubsan/ubsan.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
index 7ebe4bfc14dc..20aa0cb598e1 100644
--- a/xen/common/ubsan/ubsan.c
+++ b/xen/common/ubsan/ubsan.c
@@ -517,9 +517,18 @@ void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data,
 
 	ubsan_prologue(&data->location, &flags);
 
-	pr_err("pointer operation %s %p to %p\n",
-	       base > result ? "overflowed" : "underflowed",
-	       _p(base), _p(result));
+	if (!base && !result)
+		pr_err("applying zero offset to null pointer\n");
+	else if (!base && result)
+		pr_err("applying non-zero offset %p to null pointer\n",
+			_p(result));
+	else if (base && !result)
+		pr_err("applying non-zero offset to non-null pointer %p produced null pointer\n",
+			_p(base));
+	else
+		pr_err("pointer operation %s %p to %p\n",
+			base > result ? "overflowed" : "underflowed",
+			_p(base), _p(result));
 
 	ubsan_epilogue(&flags);
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912510.1318778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskY0-0000F7-BY; Thu, 13 Mar 2025 15:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912510.1318778; Thu, 13 Mar 2025 15:32: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 1tskY0-0000EF-3I; Thu, 13 Mar 2025 15:32:36 +0000
Received: by outflank-mailman (input) for mailman id 912510;
 Thu, 13 Mar 2025 15:32: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskXy-0007tP-Qe
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:34 +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 626fdbc8-0020-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:32:34 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5e033c2f106so1590956a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:34 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e8169b1602sm847443a12.42.2025.03.13.08.32.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08:32: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: 626fdbc8-0020-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879953; x=1742484753; 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=OJiaUgbH1bb2LG+KmsUrFx4m8JkQ4L5Ijprhg1pyXDY=;
        b=R/xRJXTh+F+GDoVYqG9r3flzV5OR5bQNPxZ5DqC6HHabrrqlzGzcipVVy2W+a8uhr+
         B0kvCPyJ6Okq61scwedJnRe/Tc5qoblvNAS8R+tkG2osC1hnDrJCQ4zIw/rCUzizFTru
         ziohhKlNQMT8vREWuwUb6DMXRjT3Rs+234EEo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879953; x=1742484753;
        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=OJiaUgbH1bb2LG+KmsUrFx4m8JkQ4L5Ijprhg1pyXDY=;
        b=NdLpCNd6zV9X3vqALYjOQgOtmv8x8b1NqhEIuKMJGTPpMuaXcwq9iNH/PRTdXhv6G4
         VDaqDRhnlQFjXF0rIw0Wlzls4olYPmv1XPTMp69Fol3H+L8zI84JJWi9h5dEjDUtyqRj
         vCSOdERFBELYzr24eWp9/v7H2GNa403ORt72qjaGlYfiaeERVbGgZCcNaSzt37ce8QNA
         sBaxYw07u3Egk2OptI+NosYgx6ixAKmR930mTWhSTftcNB5dwHih+QCubrsiO7CIegss
         AvUuWcGgj52bhOmbHFfo/MWOyerUSnwwwiWnzKJkt6cSr/hl3LCHcDrZd7ALrFnwuiTk
         /dAg==
X-Gm-Message-State: AOJu0YxTOyRIKTRdUKl0oWEVoOSAdhutzYe/gmqyhhV0D7cY7O25dutT
	VEgzWx5fBlwPbWB1FdlJdAJ3CtVTPlT9dn/LVGp9j0VIpRJMOcM8wUXww4oIW1Fio6AulDCvJlH
	s
X-Gm-Gg: ASbGncvC9WScYKGEeTDCGV3LINzIhgQEftcrUQm+qJR7abX8b2HWuvsRg9Q1YFb4Xw0
	ExwNCbsqubFCC6sOd5ZVGT6cvQQjlReAgA7iPann18mvt2YLH7kLvoanoMDNQ4HVhJDJe/SBywc
	A80nVEnzKjXOuQc29KPPcoKI2oohRil7NOcwaBamD1arxb1o70fu6pDzOiR6pfj8iQ0VnPwCxb9
	D+v36LXJYL3NHXUbLyGW27IIr4RysX3Wc4bH0So3ureGuU9y+EhI24e7TOaGP0vrHP7CqXH1TGr
	QrnM80trwP4BqXUDlv56IggfGUGwnyoCWR4CHHzD068m6dP7kA==
X-Google-Smtp-Source: AGHT+IHze12pCIkh0Nd32znahSJbySON/JnsBZNJX5iscNiB4BYXAkwnogHpvwK6rlm7cKVbILuhbg==
X-Received: by 2002:a05:6402:518a:b0:5e5:b572:a6d7 with SMTP id 4fb4d7f45d1cf-5e5e229bc4cmr61406221a12.6.1741879953150;
        Thu, 13 Mar 2025 08:32:33 -0700 (PDT)
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 5/7] x86/ioremap: prevent additions against the NULL pointer
Date: Thu, 13 Mar 2025 16:30:27 +0100
Message-ID: <20250313153029.93347-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250313153029.93347-1-roger.pau@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This was reported by clang UBSAN as:

UBSAN: Undefined behaviour in arch/x86/mm.c:6297:40
applying zero offset to null pointer
[...]
Xen call trace:
    [<ffff82d040303662>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
    [<ffff82d040304aa3>] F __ubsan_handle_pointer_overflow+0xcb/0x100
    [<ffff82d0406ebbc0>] F ioremap_wc+0xc8/0xe0
    [<ffff82d0406c3728>] F video_init+0xd0/0x180
    [<ffff82d0406ab6f5>] F console_init_preirq+0x3d/0x220
    [<ffff82d0406f1876>] F __start_xen+0x68e/0x5530
    [<ffff82d04020482e>] F __high_start+0x8e/0x90

Fix bt_ioremap() and ioremap{,_wc}() to not add the offset if the returned
pointer from __vmap() is NULL.

Fixes: d0d4635d034f ('implement vmap()')
Fixes: f390941a92f1 ('x86/DMI: fix table mapping when one lives above 1Mb')
Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/dmi_scan.c | 7 +++++--
 xen/arch/x86/mm.c       | 6 ++++--
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/dmi_scan.c b/xen/arch/x86/dmi_scan.c
index 2fcc485295eb..a05492037519 100644
--- a/xen/arch/x86/dmi_scan.c
+++ b/xen/arch/x86/dmi_scan.c
@@ -112,6 +112,7 @@ static const void *__init bt_ioremap(paddr_t addr, unsigned int len)
 {
     mfn_t mfn = _mfn(PFN_DOWN(addr));
     unsigned int offs = PAGE_OFFSET(addr);
+    void *va;
 
     if ( addr + len <= MB(1) )
         return __va(addr);
@@ -119,8 +120,10 @@ static const void *__init bt_ioremap(paddr_t addr, unsigned int len)
     if ( system_state < SYS_STATE_boot )
         return __acpi_map_table(addr, len);
 
-    return __vmap(&mfn, PFN_UP(offs + len), 1, 1, PAGE_HYPERVISOR_RO,
-                  VMAP_DEFAULT) + offs;
+    va = __vmap(&mfn, PFN_UP(offs + len), 1, 1, PAGE_HYPERVISOR_RO,
+	        VMAP_DEFAULT);
+
+    return va ? va + offs : NULL;
 }
 
 static void __init bt_iounmap(const void *ptr, unsigned int len)
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index bfdc8fb01949..03b8319f7a9d 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6277,7 +6277,9 @@ void __iomem *ioremap(paddr_t pa, size_t len)
         unsigned int offs = pa & (PAGE_SIZE - 1);
         unsigned int nr = PFN_UP(offs + len);
 
-        va = __vmap(&mfn, nr, 1, 1, PAGE_HYPERVISOR_UCMINUS, VMAP_DEFAULT) + offs;
+        va = __vmap(&mfn, nr, 1, 1, PAGE_HYPERVISOR_UCMINUS, VMAP_DEFAULT);
+        if ( va )
+            va += offs;
     }
 
     return (void __force __iomem *)va;
@@ -6294,7 +6296,7 @@ void __iomem *__init ioremap_wc(paddr_t pa, size_t len)
 
     va = __vmap(&mfn, nr, 1, 1, PAGE_HYPERVISOR_WC, VMAP_DEFAULT);
 
-    return (void __force __iomem *)(va + offs);
+    return (void __force __iomem *)(va ? va + offs : NULL);
 }
 
 int create_perdomain_mapping(struct domain *d, unsigned long va,
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912511.1318787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskY0-0000RW-VA; Thu, 13 Mar 2025 15:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912511.1318787; Thu, 13 Mar 2025 15:32: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 1tskY0-0000Pa-ND; Thu, 13 Mar 2025 15:32:36 +0000
Received: by outflank-mailman (input) for mailman id 912511;
 Thu, 13 Mar 2025 15:32: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskXz-0007tP-QY
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:35 +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 61e3d338-0020-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:32:33 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ac2bfcd2a66so195988166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:33 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3147e75f6sm94542466b.50.2025.03.13.08.32.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08: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: 61e3d338-0020-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879952; x=1742484752; 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=0pnkqaluj8B9YBV7qcBYIqpLoiXoQSDu6pxVexTlitI=;
        b=NrAf98HlnJiNUst+0n8I9m+0aWIvQL/Ygzabp3Y97fyO21SQHYEWcTLEg+x8tOFNFo
         6TV7rE4Y9wFJcadskO0ggEpugkvndhYFa7ib2nsoSiXLUyudi72DybQCyxUI1kaEF9kq
         ICoDrsfFg7Vj4tJtTQz5/iox824iUzaXEeu6Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879952; x=1742484752;
        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=0pnkqaluj8B9YBV7qcBYIqpLoiXoQSDu6pxVexTlitI=;
        b=eTucIz6jvyqM0/69gzNCZyI1HZOcITq0oFQ3914GBauppVLARw80kHiZ/zZx22sSIw
         ypLOdKTpn4X/4uextv+qQZdkP0ao9qFvsbnHvIcq1fQVlx/99YtARn5F2yVmiGfcQqwX
         kmLdo79QHxepJQpZSs4gKRw28wJkbKUlEwU/Pr4TjcVNV3s4pJz/2j4jmNTLVnwP0FX4
         waUQza/99BvA1rKOFVWQXspDkuYwukiBwEbRdOonx4AK4kW9cRaVVRFUCPjewtjiwlv5
         ZH7u0sBvuw53NGxU8EmYZgxQYwhmM6uh0cQoIIjPCq3V0C4yTmCnN08NyTBijzxKh29s
         bJmw==
X-Gm-Message-State: AOJu0YwMjGuJ9IKGhaV3dvWSpixc3JfvILqHelOJGyHKO77QV+2JNR00
	sxDt+61ymHs80iubFCTG9Otpb6+qoDhHaLjRna3DtkLz+qjGkQmllLo18B0cZxthYH4AAX4+y+/
	v
X-Gm-Gg: ASbGncsZMpEMjiwZGqFNOgxyPlxLwPDuJflnEv+bnvAVPQhfC0uBp0NwnuvZ/KKkzk1
	Lw8yK6OJ48ida/+OGXEvgyTKwbNaq6NpLss7bElcbjA5I5xSRsBLSQti+5umk7EPP94wMIawPqW
	+FGoYrlCSHRg2dR0XydIPXOm4c8uEfwNAt4KStMIb1pyITHOwtf4cHt0+5YR0n9sE0c3QwUW+My
	e5ZDiGj1++vY/yGePhKD7qPn3VkF2Ccem0p9uAsmmlEBgwET2CDRZxpgD6Xv6Iw3/J8WcbyhSLt
	1dSx/YZ9PrB7MUsbkDLNiMfVTPBqeoWjqE9d+8mqGUyInmSqXA==
X-Google-Smtp-Source: AGHT+IGiOn2t/rq7mDNKUqoGOEzt+MuTENHsD8/W2dHi4WucDuFyXSyonSuzTfGfMEGBBvn8+slrPw==
X-Received: by 2002:a17:907:2da6:b0:abf:6f44:bffa with SMTP id a640c23a62f3a-ac2b9ea39cdmr1744531166b.36.1741879950362;
        Thu, 13 Mar 2025 08:32:30 -0700 (PDT)
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 3/7] x86/dom0: placate GCC 12 compile-time errors with UBSAN and PVH_GUEST
Date: Thu, 13 Mar 2025 16:30:25 +0100
Message-ID: <20250313153029.93347-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250313153029.93347-1-roger.pau@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When building Xen with GCC 12 with UBSAN and PVH_GUEST both enabled the
compiler emits the following errors:

arch/x86/setup.c: In function '__start_xen':
arch/x86/setup.c:1504:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
 1504 |             end = consider_modules(s, e, reloc_size + mask,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1505 |                                    bi->mods, bi->nr_modules, -1);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/setup.c:1504:19: note: referencing argument 4 of type 'const struct boot_module[0]'
arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
  686 | static uint64_t __init consider_modules(
      |                        ^~~~~~~~~~~~~~~~
arch/x86/setup.c:1535:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
 1535 |             end = consider_modules(s, e, size, bi->mods,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1536 |                                    bi->nr_modules + relocated, j);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/setup.c:1535:19: note: referencing argument 4 of type 'const struct boot_module[0]'
arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
  686 | static uint64_t __init consider_modules(
      |                        ^~~~~~~~~~~~~~~~

This seems to be the result of some function manipulation done by UBSAN
triggering GCC stringops related errors.  Placate the errors by declaring
the function parameter as `const struct *boot_module` instead of `const
struct boot_module[]`.

Note that GCC 13 seems to be fixed, and doesn't trigger the error when
using `[]`.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/setup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4a32d8491186..bde5d75ea6ab 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -684,7 +684,7 @@ static void __init noinline move_xen(void)
 #undef BOOTSTRAP_MAP_LIMIT
 
 static uint64_t __init consider_modules(
-    uint64_t s, uint64_t e, uint32_t size, const struct boot_module mods[],
+    uint64_t s, uint64_t e, uint32_t size, const struct boot_module *mods,
     unsigned int nr_mods, unsigned int this_mod)
 {
     unsigned int i;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912514.1318803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskY4-00014n-9Q; Thu, 13 Mar 2025 15:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912514.1318803; Thu, 13 Mar 2025 15:32: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 1tskY4-00014T-3w; Thu, 13 Mar 2025 15:32:40 +0000
Received: by outflank-mailman (input) for mailman id 912514;
 Thu, 13 Mar 2025 15:32:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskY2-0008Nv-EJ
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:38 +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 61e69c4f-0020-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:32:33 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-ac2af2f15d1so159697266b.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:35 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac314aa5a7csm92778366b.179.2025.03.13.08.32.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08:32: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: 61e69c4f-0020-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879954; x=1742484754; 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=mxQEz2L+rAS29uG6w8hhOjnkgr3zrKSQWBxEvgdwtNw=;
        b=ppWqSMNGIsjVRGBehVaOaop8OcWDI18ZwG8Lzss+3p6KovtsRgCyMWBMy15aGZEWn1
         D/JE3N+gD3gj7h+dpDF+s1g10r8KjREA1uKHPWkccdCEG4KDCxc0nSt+F2+8479z+inn
         s9Kk/uZIdhT8L/3MRP/5Nv5BTjv6t/jwkCzd8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879954; x=1742484754;
        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=mxQEz2L+rAS29uG6w8hhOjnkgr3zrKSQWBxEvgdwtNw=;
        b=fOLW3oIEwzdc35Z5vGHCWiyZS14wCXXeMfUo/n4/VM+T8Imk5sMcBiyFwYguBV5JXa
         h/UZw8XRqn7i/OCYudb8hCxrs/n5NEfkadVHOrtRNQJ0N/zGGGInqPnOFFEfCoUIrzbD
         219Q+tDFE8D+wQCwhkoZ0Fsy6LSKX+/JiIjfU7Ln2srr9KA2DQhU1T6Oy8e2Fvf3rtgY
         eAi8UBlLuBSu2AZbymp/n0Sh60HFxqsP5uo9+rB5uSPPzXgtBDcnfmcK4NqcU/VhRqh0
         i7Fh4gh8OkMtKpOVB+FAQ7vMGghKao3ojljU0ugnFIrHoSMlOOPYCz/w5aO+xJ2DCcbq
         2DDQ==
X-Gm-Message-State: AOJu0YxYjgT88O1rq9MmlCAffPNkYRExCbyPi4lmoabUJUflRda9EXJm
	DE/C6rxFS0dBIjaoU7phzXpEJdwH0Ur3RcnmhIYxkwWF5ECrn5FzQCsf/vd0OCIriqVdOL46Hly
	7
X-Gm-Gg: ASbGncsisSOzYgkEmq2D4245aWeiENTosCaQXqJ4nbloMdbCZEJYC4PsWqoSd9LFciM
	8smbOpEX2m9IJRYiNz0XA/ri56NuSx2hEIFTruQKnvz6rfQfq/XTFrGYaO45HJBDX2zLTyKVCpl
	+BPthzyZ1tmqWJkk5WvUPx7Tr9TRrsixHXNDA90NLMiCtOFRhocZRq7/DuJKsXdd68iaNaQ5kEi
	jrx0EGf68/kXs8fmT2A4kTWETzTR5AAtbtT7AD3592U3rK5mOn7MI6eaVT53DtsbtcsGz2WAwLn
	F+kSgDWBeJwURxpephrhzDyKy9tdGgW0FSky0LPrG04V6qDSUdJoqrEJAUP/
X-Google-Smtp-Source: AGHT+IFoBSbAfiuagyoHTygFOrP0LLqxreqoAAxy4q3gk+9V4N6Hs2DE4wTwgInSfSSLle6JNAc2WA==
X-Received: by 2002:a17:907:c10:b0:ac2:7cf9:71a1 with SMTP id a640c23a62f3a-ac2b9ea16d2mr1782623166b.41.1741879954302;
        Thu, 13 Mar 2025 08:32:34 -0700 (PDT)
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>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 6/7] x86/vga: fix mapping of the VGA text buffer
Date: Thu, 13 Mar 2025 16:30:28 +0100
Message-ID: <20250313153029.93347-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250313153029.93347-1-roger.pau@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The call to ioremap_wc() in video_init() will always fail, because
video_init() is called ahead of vm_init_type(), and so the underlying
__vmap() call will fail to allocate the linear address space.

Fix by reverting to the previous behavior and using the directmap entries
in the low 1MB.  Note the VGA text buffer directmap entries are also
adjusted to map the VGA text buffer as WC instead of UC-.

Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/boot/x86_64.S        | 10 +++++++---
 xen/arch/x86/include/asm/config.h |  5 +++++
 xen/drivers/video/vga.c           | 11 ++++++++---
 3 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 26b9d1c2df9a..07f4bdf46e31 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -84,15 +84,19 @@ ENTRY(__high_start)
 /*
  * Mapping of first 2 megabytes of memory. This is mapped with 4kB mappings
  * to avoid type conflicts with fixed-range MTRRs covering the lowest megabyte
- * of physical memory. In any case the VGA hole should be mapped with type UC.
+ * of physical memory. VGA hole should be mapped with type UC, with the
+ * exception of the text buffer that uses WC.
  * Uses 1x 4k page.
  */
 l1_directmap:
         pfn = 0
         .rept L1_PAGETABLE_ENTRIES
-        /* VGA hole (0xa0000-0xc0000) should be mapped UC-. */
-        .if pfn >= 0xa0 && pfn < 0xc0
+        /* VGA hole (0xa0000-0xb8000) should be mapped UC-. */
+        .if pfn >= 0xa0 && pfn < 0xb8
         .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_UCMINUS | _PAGE_GLOBAL | MAP_SMALL_PAGES
+        /* VGA text buffer (0xb80000-0xc0000) should be mapped WC. */
+        .elseif pfn >= 0xb8 && pfn < 0xc0
+        .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_WC | _PAGE_GLOBAL | MAP_SMALL_PAGES
         .else
         .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR_RWX | MAP_SMALL_PAGES
         .endif
diff --git a/xen/arch/x86/include/asm/config.h b/xen/arch/x86/include/asm/config.h
index 19746f956ec3..a455bfb0df65 100644
--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -208,6 +208,11 @@
 #endif
 #define DIRECTMAP_VIRT_END      (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE)
 
+#define IS_DIRECTMAP_ADDR(x) ({                                         \
+    unsigned long addr = (unsigned long)(x);                            \
+    addr >= DIRECTMAP_VIRT_START && addr < DIRECTMAP_VIRT_END;          \
+})
+
 #ifndef __ASSEMBLY__
 
 #ifdef CONFIG_PV32
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index b4d018326128..704d00034658 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -70,9 +70,13 @@ void __init video_init(void)
     switch ( vga_console_info.video_type )
     {
     case XEN_VGATYPE_TEXT_MODE_3:
-        if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL) ||
-             ((video = ioremap_wc(0xB8000, 0x8000)) == NULL) )
+        if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL) )
             return;
+        /*
+         * The first MB is always mapped, and the VGA text buffer uses the WC
+         * cache attribute.
+         */
+        video = __va(0xB8000);
         outw(0x200a, 0x3d4); /* disable cursor */
         columns = vga_console_info.u.text_mode_3.columns;
         lines   = vga_console_info.u.text_mode_3.rows;
@@ -158,7 +162,8 @@ void __init video_endboot(void)
         if ( !vgacon_keep )
         {
             memset(video, 0, columns * lines * 2);
-            iounmap(video);
+            /* VGA text buffer uses a directmap mapping, don't try to unmap. */
+            ASSERT(IS_DIRECTMAP_ADDR(video));
             video = ZERO_BLOCK_PTR;
         }
         break;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:32:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:32:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912516.1318807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskY4-00018S-La; Thu, 13 Mar 2025 15:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912516.1318807; Thu, 13 Mar 2025 15:32: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 1tskY4-00017J-FA; Thu, 13 Mar 2025 15:32:40 +0000
Received: by outflank-mailman (input) for mailman id 912516;
 Thu, 13 Mar 2025 15:32: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskY3-0008Nv-ET
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:32:39 +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 62931b43-0020-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:32:34 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac2ab99e16eso233239866b.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:32:36 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3149d0bfbsm93599266b.95.2025.03.13.08.32.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08:32: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: 62931b43-0020-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741879955; x=1742484755; 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=gnMyX9kFHyXzrDrfsJ2RlCItrD8ia9EDnLZKJ/omKus=;
        b=GIPIRQOvE3hhiNoGpD34hgcMMkBoeRNEAWdi5vBfls6AiScmg1yNyx/G65rbgPyDTj
         8+/mVP/Wsw/gF1xvqLFV5OHHnwP+f2k5qvo3HkomYulH+Dw/YSr6ZWxvP5LlLC1EGTK+
         rwySg6vMnIlt0AbE8atOJ9Ze702g+V9on2EkQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741879955; x=1742484755;
        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=gnMyX9kFHyXzrDrfsJ2RlCItrD8ia9EDnLZKJ/omKus=;
        b=IkULa+xuEu7dg9kwBGShTr1E/qWGstDctu3Ay6akHL+kmMu+bQ4kT6U0rMbtBiklUq
         eIcRg3jvoHVY3La3WSpywX3hlMMUubGFhFGz9Iq+McyQqb1WgGz3BrYjjNDPD2+ciArj
         DSypyzH92eGfbUkrk5GxxGt3H2WRu4tdAhP3AnjQIcL5O0UFubICVr8huH5hg0dMODK7
         w8gNsSNHLkslVb1LY9cSDnrucq16LACa7fVFFrEGttJzYXeG40tuIIA9hmZJbyTCCExb
         xhj0vFkiXFmmHPT+VMiZMibBsVM70lI5osVcfZBBPBXwjoR9kBrqp3zOQwrOW786bC07
         8WLw==
X-Gm-Message-State: AOJu0YxoViB8wLYgxl2P2AqxQKQGKdyZ7/ISuNlhaEY+6Lr1CiJbRz0M
	an9FgSzrUYtQdAerLxZy+hSFefpbUZgrMQ7Thi9zVouWwfL5kMVDy6Mu08fmmmEhzQtSqTU7gYg
	s
X-Gm-Gg: ASbGnct2Lldi5QMB34GywbH+DfbCVcIozpnwFeRdFMqYh2donAIVou1MwfaoTm+/MYo
	z4H686ey8a+C0spFQOTGVu4P7B4pzt5LQDfUdV/jWSQty0H7WAShiwoXZfDJkrZ5ae6DwHmr8dh
	Gy+r9+oq36X/4THLPViB4E5PhxdbxAQ0l2XihbHgSlMKlF/P/YDNm9fKUoF3K/CTk8AstBgWcZX
	mPIjX47++AXiiLdQYxBa3v7tvAjJCzLSyFLscFO9JQdMG+y1pgo95Gnx+gPNhWaHELfBWVC3XZ7
	R5Kd8HtnJ8NgEfTWx9bDLAf8Qw9fiZcFiIVJc6H2Ub5FMiAQxg==
X-Google-Smtp-Source: AGHT+IEy6NxcmWXZESHR0NTpVyBjvtdeWnjyAkUl4iE6wnO5CzM/jxUr7S1Yw5MDBj7Cuf+wfrmC0A==
X-Received: by 2002:a17:906:4758:b0:ac2:7d72:c2ab with SMTP id a640c23a62f3a-ac27d72d558mr2103799466b.47.1741879955460;
        Thu, 13 Mar 2025 08:32:35 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH 7/7] kconfig/randconfig: enable UBSAN for randconfig
Date: Thu, 13 Mar 2025 16:30:29 +0100
Message-ID: <20250313153029.93347-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250313153029.93347-1-roger.pau@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce an additional Kconfig check to only offer the option if the
compiler supports -fsanitize=undefined.

We no longer use Travis CI, so the original motivation for not enabling
UBSAN might no longer present.  Regardless, the option won't be present in
the first place if the compiler doesn't support -fsanitize=undefined.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/Kconfig                        | 4 ++++
 xen/Kconfig.debug                  | 2 +-
 xen/tools/kconfig/allrandom.config | 1 -
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/Kconfig b/xen/Kconfig
index 72fdb8376087..2128f0ccfc0b 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -37,6 +37,10 @@ config CC_HAS_VISIBILITY_ATTRIBUTE
 config CC_SPLIT_SECTIONS
 	bool
 
+# Compiler supports -fsanitize=undefined
+config CC_HAS_UBSAN
+	def_bool $(cc-option,-fsanitize=undefined)
+
 # Set code alignment.
 #
 # Allow setting on a boolean basis, and then convert such selection to an
diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index c4a8d86912e0..f7cc5ffaabd7 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -98,7 +98,7 @@ config SCRUB_DEBUG
 
 config UBSAN
 	bool "Undefined behaviour sanitizer"
-	depends on HAS_UBSAN
+	depends on HAS_UBSAN && CC_HAS_UBSAN
 	help
 	  Enable undefined behaviour sanitizer. It uses compiler to insert code
 	  snippets so that undefined behaviours in C are detected during runtime.
diff --git a/xen/tools/kconfig/allrandom.config b/xen/tools/kconfig/allrandom.config
index 76f74320b5b0..c7753ac4addb 100644
--- a/xen/tools/kconfig/allrandom.config
+++ b/xen/tools/kconfig/allrandom.config
@@ -1,4 +1,3 @@
 # Explicit option choices not subject to regular RANDCONFIG
 
 CONFIG_GCOV_FORMAT_AUTODETECT=y
-CONFIG_UBSAN=n
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:34:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:34:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912559.1318823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskZi-0003fM-Tr; Thu, 13 Mar 2025 15:34:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912559.1318823; Thu, 13 Mar 2025 15: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 1tskZi-0003fD-RC; Thu, 13 Mar 2025 15:34:22 +0000
Received: by outflank-mailman (input) for mailman id 912559;
 Thu, 13 Mar 2025 15: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tskZi-0003et-0V
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:34:22 +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 a23c5f67-0020-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:34:21 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so14364545e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:34: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-395c8975bdfsm2427800f8f.49.2025.03.13.08.34.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:34: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: a23c5f67-0020-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741880060; x=1742484860; 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=1U6KbHgJk/A4QogaJcyi8hjwZ25d4EMtds+JZgCbC24=;
        b=OcU9x0oLnjvC9O/6XsUjrCInevIYbcsOn+TWL9zxkeko48lmDFXuwaeuo3qfXfjCMN
         vkClhyzbJk7Z2t4rX72SzxEdxbGWkkEsJfyiOCXoO2S8amVKWph5AZuG9AfhtY82y6wB
         u2gRb1qHNuqXcJBVTwxL5fHPpL4zkTSiXXOSSIkQjLLN07mCZBwBZwPb9BbIckXzpEoQ
         HMYB3x5fanIGDy9uTZY6/2FXEnw6zhzIY0nz7+IwB0ZC3iuATLaqubn3t8x5M6lHvj5i
         qGmPFaKkHZx8II5zfvFMtR/52imjx8VaP3RRGwv9edpiiA9k1Y4QlM9rIxKeZ7aPR0tF
         ox5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741880060; x=1742484860;
        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=1U6KbHgJk/A4QogaJcyi8hjwZ25d4EMtds+JZgCbC24=;
        b=rTH/jlIjOTRbAKrxisWZIkwYw82eTg5ot9J49suTJ575JOAm0/fOVAz7sqcScMwGoR
         sq59D/O6TVSv8ri4j2xg8chlT9E4ukyyM1SiLko0rKEfR0LLXoPNzaZfmjyalSVkGwkl
         nVadIyFRjBkrmmaf6NbB2322GikiiDUVwHJlppGRjR4inVBHPNlVjsRramc0x8+f6btg
         cQp0gW/PRU2H3gF3TTx0GGsA3SkT6xnPi8OKT/BMIl9zMgETfbWMC1rGuuHwAclqTNZV
         R1QGXPa74iBPGNSz9LU82eC92YzB3yx/68NR8MUHOJIUxL+WcbkqCCuywPCbeA2MrOO5
         jqYw==
X-Forwarded-Encrypted: i=1; AJvYcCUzAgGNtfs+uEen71xLd0WTHKW2WfXrhGK5Dm0WjdCy69GzkXaoFxijyqUNCgioX2+WmV7l1OG9Rwo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5GHuvkxwTy8uLUr86CdOp/Wl3nIQgg2sVSiTbWbXLpxH1omu2
	O7w2d77a+Fsol8lqpsnMGOoiS2B2kDSrZ5EhUgjQe2iU5wO/MPtNfcjzkSqfFg==
X-Gm-Gg: ASbGncsfAdNfxImjumXsNuELiaAb290xogZZ4m7q7kZesUuqi3XKRvVDy7IpYUUTC39
	5BStu29imNwGXxcPuZT8u8MvnK3lI9cfAuOA2ZrTcPrH9N6jqYgQdF5ZbZC4jucIXsbelvjnUKy
	9WI1J7Vdx6HOK/m/bgUsHKLs1n72d1bjkO778khAzwZhpe3N7P6f6vcJPb8eex/b58jN327b9RC
	TSnI7eZz6IHBTEpRry0k77fOMorrym38TUi2RX8DePLgSyNB7GWEPzy9kak4IEDEEpGmLtU8gIH
	iiGUtwj25v1I7NqEq4ZSg+V6Qvovd3e/m30kU6Nmr1p0yQi+cbq5oYr36pqcb4vffDKeRx0nGB+
	rD4RyHZJVkqqLFduC3qVRdgBPMxtuOFDGWO51QHCT
X-Google-Smtp-Source: AGHT+IHsdaYcNyrNU+Id3PVF8IRLEKMaXxo6kEhE3RVVH2DmD+rnbGVJ2bx23ZBAvUsBkeMwCMoPwQ==
X-Received: by 2002:a05:600c:3143:b0:439:4c1e:d810 with SMTP id 5b1f17b1804b1-43d1808593dmr26199555e9.9.1741880060426;
        Thu, 13 Mar 2025 08:34:20 -0700 (PDT)
Message-ID: <428f538a-0761-4d06-9c4f-ba74cf441b0d@suse.com>
Date: Thu, 13 Mar 2025 16:34:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Dario Faggioli
 <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Mirela Simonovic <mirela.simonovic@aggios.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@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: <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 10:11, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> This patch implements suspend/resume helpers for the watchdog.
> While a domain is suspended its watchdogs must be paused. Otherwise,
> if the domain stays in the suspend state for a longer period of time
> compared to the watchdog period, the domain would be shutdown on resume.
> Proper solution to this problem is to stop (suspend) the watchdog timers
> after the domain suspends and to restart (resume) the watchdog timers
> before the domain resumes. The suspend/resume of watchdog timers is done
> in Xen and is invisible to the guests.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>

From: != first S-o-b: is always raising the question of who's the original
author of a patch.

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1605,6 +1605,45 @@ void watchdog_domain_destroy(struct domain *d)
>          kill_timer(&d->watchdog_timer[i].timer);
>  }
>  
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +
> +void watchdog_domain_suspend(struct domain *d)
> +{
> +    unsigned int i;
> +
> +    spin_lock(&d->watchdog_lock);
> +
> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> +    {
> +        if ( test_bit(i, &d->watchdog_inuse_map) )
> +        {
> +            stop_timer(&d->watchdog_timer[i].timer);
> +        }

We generally prefer to omit the braces if the body of an if() (or
whatever it is) is a single statement / line.

> +    }
> +
> +    spin_unlock(&d->watchdog_lock);
> +}
> +
> +void watchdog_domain_resume(struct domain *d)
> +{
> +    unsigned int i;
> +
> +    spin_lock(&d->watchdog_lock);
> +
> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> +    {
> +        if ( test_bit(i, &d->watchdog_inuse_map) )
> +        {
> +            set_timer(&d->watchdog_timer[i].timer,
> +                      NOW() + SECONDS(d->watchdog_timer[i].timeout));

The timeout may have almost expired before suspending; restoring to the
full original period feels wrong. At the very least, if that's indeed
intended behavior, imo this needs spelling out explicitly.

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -1109,6 +1109,15 @@ void scheduler_disable(void);
>  void watchdog_domain_init(struct domain *d);
>  void watchdog_domain_destroy(struct domain *d);
>  
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +/*
> + * Suspend/resume watchdogs of domain (while the domain is suspended its
> + * watchdogs should be on pause)
> + */
> +void watchdog_domain_suspend(struct domain *d);
> +void watchdog_domain_resume(struct domain *d);
> +#endif /* CONFIG_SYSTEM_SUSPEND */

I don't think the #ifdef is strictly needed here?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:35:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912573.1318832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskar-0004FW-AF; Thu, 13 Mar 2025 15:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912573.1318832; Thu, 13 Mar 2025 15:35: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 1tskar-0004FP-7m; Thu, 13 Mar 2025 15:35:33 +0000
Received: by outflank-mailman (input) for mailman id 912573;
 Thu, 13 Mar 2025 15:35: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tskaq-0004FJ-4m
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:35:32 +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 ca2a59d9-0020-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:35:28 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3913cf69784so967377f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:35:30 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6a10sm2483597f8f.36.2025.03.13.08.35.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:35: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: ca2a59d9-0020-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741880130; x=1742484930; 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=MCNj9GqNbwzZH8PKJ25eo2vXNMySrju1lnmU1Grr4iA=;
        b=FqNmDQ83Wc7fTU0xV1YqWR1vMZfx8TT8njUkilvw6cdSHgXbxKK7oueuK8W/K9+GUb
         D8SDUqdH+LmalM81i5CeM2sxbuhE4ZiXMlqMYrScni6mWhz+GuTjFbjgyU3eA31z2iGA
         JcKeGaXDWpHLO9gVoDd0UAjX3ahidQzR/S6FA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741880130; x=1742484930;
        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=MCNj9GqNbwzZH8PKJ25eo2vXNMySrju1lnmU1Grr4iA=;
        b=J2lOX+TQNwrKwvuf8q+7OImE0no4xI2ZVC6LYEKCZrs0Adheidd3FlMS9DipX0pXBZ
         pCuQJ5bYokNfztpFKuw7lsu4iP/IZDy3cKJbPad08CZaAcwEmeL12b8BgTk8ruDAPY+S
         S+zocUnDZa0aNzHmP8i+yFITXW/Qi69nybx24Zh0MTMkkEwgyvdW1bLL48g1DSPUF7uJ
         0Gn1m0EDp5KViWj3qwPn3AQybH0wbNSAyN4zuVjc7A2QJuLip6G9tpZdS9v1X7SHQjAR
         lWDMCRFEAv4TAq1AQamlepR5rXgjdWnLbaRx28MUAyZ9coEmpK5JTJ5op6ksAWOlRQ8I
         Kp8g==
X-Forwarded-Encrypted: i=1; AJvYcCXXtBkSFSR273qqiPPQBVX68ii1cWUo3PXMbyk+1vYe2UY6kqkZ60HVwooUhsJv4h1M1sC77ZBV+BA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywnh67NehY9dDsg3XoLiz0zf0FBxeLUi7H37WTeuX47UckPqsOw
	DeV0vvgWO9AtnA4uGBX/5927bXqNUkJc3S3K9AoqhJpauwNnADgymi/TTjAzdzQd34KAUIHzk+3
	8
X-Gm-Gg: ASbGnctp46ByprNYGxdXPE03oxzDbziSQfWM1o4pF2ul3HhHgU5K9iJR1OdIhq2+w2r
	w42QlKcF0ghdgNJjTo618dk0PTiqZRwIugpVOfrUNeWERT++Jf53RvPQjTucqQMplWxK66TyE4Q
	ef9DaEasPvnfTovGT12fgQ2yZdt2D+x5xSDiB5epJZjVuJXVPQdYY4BzedEzNzoh9L4Yq701jET
	RerzY21I4USFJtpstHnK40Zyu+k+uI5G17Hcky5w3Ngl8u3mYipteFGQGJF6KJIHGFtI0pPzsqT
	+n0tP9lPYnFR2/NROG/6xctLqTCar8QghWae2qOZK7gCbaP5YxYLOygS0196C50TZs77RUTNkqd
	G5AL55W6F
X-Google-Smtp-Source: AGHT+IEGtLVX0hOc51M+G8Dr1W+Cyc1haxM6tohvtpzbYZv0f4qefkl/K9Wy5MFZtp0506d5nfyzAQ==
X-Received: by 2002:a05:6000:1a86:b0:391:2e7:67ff with SMTP id ffacd0b85a97d-396c1c20565mr2669f8f.10.1741880129599;
        Thu, 13 Mar 2025 08:35:29 -0700 (PDT)
Message-ID: <7bc1c3c9-3c00-4b67-b4fd-9baf3e0f9cdb@citrix.com>
Date: Thu, 13 Mar 2025 15:35:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] symbols: add minimal self-test
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <a556439c-b652-4789-bbdd-6d6402b2a124@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: <a556439c-b652-4789-bbdd-6d6402b2a124@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 1:52 pm, Jan Beulich wrote:
> ... before making changes to the involved logic.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> With this FAST_SYMBOL_LOOKUP may make sense to permit enabling even
> when LIVEPATCH=n. Thoughts? (In this case "symbols: centralize and re-
> arrange $(all_symbols) calculation" would want pulling ahead.)
>
> --- a/xen/common/symbols.c
> +++ b/xen/common/symbols.c
> @@ -260,6 +260,41 @@ unsigned long symbols_lookup_by_name(con
>      return 0;
>  }
>  
> +#ifdef CONFIG_SELF_TESTS
> +
> +static void __init test_lookup(unsigned long addr, const char *expected)
> +{
> +    char buf[KSYM_NAME_LEN + 1];
> +    const char *name, *symname;
> +    unsigned long size, offs;
> +
> +    name = symbols_lookup(addr, &size, &offs, buf);
> +    if ( !name )
> +        panic("%s: address not found\n", expected);
> +    if ( offs )
> +        panic("%s: non-zero offset (%#lx) unexpected\n", expected, offs);
> +
> +    /* Cope with static symbols, where varying file names/paths may be used. */
> +    symname = strchr(name, '#');
> +    symname = symname ? symname + 1 : name;
> +    if ( strcmp(symname, expected) )
> +        panic("%s: unexpected symbol name: '%s'\n", expected, symname);
> +
> +    offs = symbols_lookup_by_name(name);
> +    if ( offs != addr )
> +        panic("%s: address %#lx unexpected; wanted %#lx\n",
> +              expected, offs, addr);
> +}
> +
> +static void __init __constructor test_symbols(void)
> +{
> +    /* Be sure to only try this for cf_check functions. */

I'm very happy to see the take-up of SELF_TESTs.Â  Although I probably
ought to tie it into a Kconfig option to make the errors non-fatal,
which I've been meaning to do for a bit.

One question though.Â  cf_check is an x86-ism, even if it leaks out into
common code.

I think you mean "functions emitted into the final image"?Â  If so, I
don't think this is relevant then, because ...

> +    test_lookup((unsigned long)dump_execstate, "dump_execstate");
> +    test_lookup((unsigned long)test_symbols, __func__);

... taking the function address here forces it to be emitted even if it
would otherwise have been inlined.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:37:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912583.1318842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskcT-0004mx-Ky; Thu, 13 Mar 2025 15:37:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912583.1318842; Thu, 13 Mar 2025 15:37: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 1tskcT-0004mq-IF; Thu, 13 Mar 2025 15:37:13 +0000
Received: by outflank-mailman (input) for mailman id 912583;
 Thu, 13 Mar 2025 15:37: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tskcR-0004mk-Jx
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:37:11 +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 0747057a-0021-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:37:10 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso7897295e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:37: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
 ffacd0b85a97d-395c7df35f7sm2510940f8f.13.2025.03.13.08.37.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:37: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: 0747057a-0021-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741880230; x=1742485030; 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=JIDOKshzjMLATMAQwSG8pmsWQPm95r5pi5IJnhbPMG4=;
        b=fYW2JYtcOLvzFa8PlHHnerVf9NM1Q5yvGi1X/feVoQcFwp1Lnm5K+jijrb15ocdPrj
         8Cw8o3h6X9OHq65gegYxCAKbOX0skZISgyhL3nnEvCSdOf2+q9CP2UfE42Aui/rdS8lw
         twDywMBabITyn/NwrTheSkR1EI1KUefAkxt8p253ewhLKdya0JrV7ytgdBIwwq2JROSD
         4ktOzVmYrV5QS+I5KBm1jToj1lkZPyxTGCkfkWs8rB9RZMW11T+NMbHaN/WsZcU96dxm
         PVnUGe03x5qKcwSIlsB+PXsTR8z3mOxkf5SlDaE37o+ArNrldliE6/snZAjIfpN00kQH
         x8eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741880230; x=1742485030;
        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=JIDOKshzjMLATMAQwSG8pmsWQPm95r5pi5IJnhbPMG4=;
        b=PVetNeqvcx/jjaTG5KeE4vIWvq0lOw+/HNQf3IYa2gQbLRbiglBQg1YSs2g6fcSp9c
         flAq6SlyD8iSNIjJhtV2i3XpwnywFs3E7DrOaC16nIiQhROnz50a3ziVW/x4iaQI8xXV
         MgxWMDDGTQ84pq5EUFNyxlJ+fmnbUD5UvqEz7qRd+aQhEk8dTrV+TFhcYj1TpDkwVBvk
         pNvT7zzzrfgsbARQkWdEiN5aZrOD8uyZ7vzjhCj9bmRhH7S52nRTXI+ZO7cpYM5AdlS2
         dSXKStA1V40P2A45YXpOLFyzjswMzyfk3L/mz4JYye6PY32uIrA5sw9ycjV+mruzDLmI
         QSsw==
X-Forwarded-Encrypted: i=1; AJvYcCWLslt4ZwBQ5MuJT2BkMc+ibaN+OFuMfAQY11NvVi6W366vNlVEFq/WFbRxvF8uF/oyUFu83HkKxac=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy01XddaOUT1EBK9pXPDrIjWQmsO+JEBsng+CY4kcc2pekX8pty
	k5Z8Ec6/H93f5YY6UszEo6P6K31qZqCQRJ+90368oc5LvlO0G5eN7xLHHFxBaQ==
X-Gm-Gg: ASbGncuG876jTugxYolH897RWR0QL3YPjVQBpn/IED5wQLshMVPv8x6Qy9X6RylAe1X
	uOcv6ZaOI7GvE11YyhqlWvW1l0T5U6DVvh6VnYWJ8tZfzt6gbxMeIBwSeG3jPhYTJl3feHQCLmA
	u3OuH3pJoTB+DFKLbJGP00xjSLz3AKoCRfv5i6HedqKASRy0dJPqPffSap6o5TTt9NylSZu4Mpy
	LPaWHglDQs+SA82wkM2DCzXgeMfnnFyxgHaY+jhU/Oku9WSo2xR809bWgtoJYywmIadeVhR3Fg3
	P0sa2Pd9jCj0cumJYbpHbNQORexEuBPKrdfbwH9zxJVHN0p1EeCPDDLYYilXh9mke8K/DjVulT1
	JTTbGz0H8itjoKKEqcWQ3rFL7De1k4Q==
X-Google-Smtp-Source: AGHT+IGFJMaTdhhLuyW6D1qsH9Mlu6ejF8C336kzQscU4mnj9XwA5yIuW36SXDYo0QBX/38cz2fmMg==
X-Received: by 2002:a5d:5988:0:b0:391:41fb:89ff with SMTP id ffacd0b85a97d-396c1d1b783mr6551f8f.27.1741880230076;
        Thu, 13 Mar 2025 08:37:10 -0700 (PDT)
Message-ID: <6eddbd26-88ca-4d0c-b56a-4e7abcc3933b@suse.com>
Date: Thu, 13 Mar 2025 16:37:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@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>,
 Mykyta Poturai <mykyta_poturai@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@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: <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 10:11, Mykola Kvach wrote:
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>  config ARM32_HARDEN_BRANCH_PREDICTOR
>      def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>  
> +config SYSTEM_SUSPEND
> +	bool "System suspend support"
> +	default y
> +	depends on ARM_64
> +	help
> +	  This option enables the system suspend support. This is the
> +	  mechanism that allows the system to be suspended to RAM and
> +	  later resumed.
> +
> +	  If unsure, say Y.

I wonder if something like this makes sense to place in an arch-specific
Kconfig. It's also not becoming clear here why only Arm64 would permit it.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:39:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912596.1318853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsken-0005MW-0v; Thu, 13 Mar 2025 15:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912596.1318853; Thu, 13 Mar 2025 15:39: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 1tskem-0005MP-To; Thu, 13 Mar 2025 15:39:36 +0000
Received: by outflank-mailman (input) for mailman id 912596;
 Thu, 13 Mar 2025 15:39: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tskem-0005MJ-Bq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:39:36 +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 5bb78f1c-0021-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 16:39:32 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so940890f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:39: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-395c83b748bsm2527483f8f.39.2025.03.13.08.39.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:39: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: 5bb78f1c-0021-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741880374; x=1742485174; 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=sUnEOnR1zyTLTcZwPe45QpQ9c6dxOs1+SiaaUG4/NsU=;
        b=QGuHI/RY2paJitKhT6hg9EDhbBhewAfdkBggKHN1CtiRGZC8OqbkkvdIUqnGN2aNCI
         yhMu62bc5Gw9pkdU/DeCSEwlyOGcxE5y+770kreYdbkDZPzxAw3yJ+iGGFF13T+5v0M8
         CZ9hNa0Q+0UifNyWx3W6RIoUklC4HjyQ04KEOu4PZB2cEfk34k9hk/5Ynmt5wf2fmM1l
         SR1FhOM6FKdppAcZoscH+MCLw/Hk+68Het/NR7WZRc3JkGdjptIgCukaxirR1wDmOzYK
         txN2ID8qWobg1DwCPIiNl6jc3xBkV5nO9IhuxSNFSN/Lw0G/kvV07/oRDemj7B6jSrdm
         4iQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741880374; x=1742485174;
        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=sUnEOnR1zyTLTcZwPe45QpQ9c6dxOs1+SiaaUG4/NsU=;
        b=lIT7xdAH2MQ+QbKdxI5hkMbNq7Vsm7kvSel8qLws2rj/a1pdi9IY8uLNhvokM63T5D
         zeQhiTS/2JOoRMStTZZgSka75emAUKUZiFE5P92+oB34EV8A+tRPhpEydLAZjIPvk4F3
         BGCwtkKa7H/w6krOcsY7G8iNrolWM1eqWA2wnbCC8l7pYoJtJKXzffonxiAWKDSDIV6C
         WpYlis/FpDcIELo99EKaLYobDXCIa73vtuE9jxln4kgbHxKMF/nlXgjqQ4X5J6TKVdSQ
         r2gz9DasQKHPbNi4nh+WtbuH7w1wgLINPgmHV4ENR1zJphqs1MKr84tL1ES1hZQ3H7jQ
         inzQ==
X-Forwarded-Encrypted: i=1; AJvYcCUDAK7nbbdz/vo/4eIMeEq7TzM4joptfPA5P3GH0LmyRZ/d2aHle+o2dWIVoZgxdmuUAIahWayNepk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIVNis7P1h5MpOJgUy8daWVKEQbSsH1y7W7/oBpWLlbBMQKOYM
	MZigcdYET+sgx5Dn02ZlxASQK9yOSpBqiCE7o4Q6Q1RV9wbGj02mUfVC4co4dQ==
X-Gm-Gg: ASbGnctLqXaAQAg6VYl0WOuAzZNy94uQO1A/JnyDDrkb2eyIc0xYHeU9QypojKoMaWR
	CSGhF4St7p/xQfYQ6SeFRwZttIPg0g1S6+MgviXc2ycPQZwXGrVZSFcstze5HxZwNL7p4Pru7bU
	jxPNKREtZpdStbmfQLkkZkvUQBCCtHkpvlvMrwZumh24Vp2XjaDKI1hFD8XOJS1jUqzNiojdek8
	KlXSvnl2Gb2iT0hQluSRKHyuTq55W4C9ml7aLwLL2XyE4nBWr3xIPDmnV/MCjeBpEvqWD6prHAv
	489RAI0VlNDF7QZIlF+4rGTWgKBwcAT3P3m+fwZQZsYbdw9ytzlqLouDUead3xVQptOejD7+Zsd
	y8ulOcSq1tjQe9lYCloeZQuLUJHoJJw==
X-Google-Smtp-Source: AGHT+IGDMOLfPauwxHT4FwMIs/9gGdptDrbZnOVxQ1iNbl9oOK1GazWczXlJsT7Dbr7XYCMpTp+K9A==
X-Received: by 2002:a5d:6d09:0:b0:38f:4fa6:68df with SMTP id ffacd0b85a97d-39132dbca7amr24322718f8f.51.1741880373826;
        Thu, 13 Mar 2025 08:39:33 -0700 (PDT)
Message-ID: <e455a54f-d2d9-4b6e-833f-67b62b8f6a88@suse.com>
Date: Thu, 13 Mar 2025 16:39:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] symbols: add minimal self-test
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <a556439c-b652-4789-bbdd-6d6402b2a124@suse.com>
 <7bc1c3c9-3c00-4b67-b4fd-9baf3e0f9cdb@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: <7bc1c3c9-3c00-4b67-b4fd-9baf3e0f9cdb@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 16:35, Andrew Cooper wrote:
> On 13/03/2025 1:52 pm, Jan Beulich wrote:
>> ... before making changes to the involved logic.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> With this FAST_SYMBOL_LOOKUP may make sense to permit enabling even
>> when LIVEPATCH=n. Thoughts? (In this case "symbols: centralize and re-
>> arrange $(all_symbols) calculation" would want pulling ahead.)
>>
>> --- a/xen/common/symbols.c
>> +++ b/xen/common/symbols.c
>> @@ -260,6 +260,41 @@ unsigned long symbols_lookup_by_name(con
>>      return 0;
>>  }
>>  
>> +#ifdef CONFIG_SELF_TESTS
>> +
>> +static void __init test_lookup(unsigned long addr, const char *expected)
>> +{
>> +    char buf[KSYM_NAME_LEN + 1];
>> +    const char *name, *symname;
>> +    unsigned long size, offs;
>> +
>> +    name = symbols_lookup(addr, &size, &offs, buf);
>> +    if ( !name )
>> +        panic("%s: address not found\n", expected);
>> +    if ( offs )
>> +        panic("%s: non-zero offset (%#lx) unexpected\n", expected, offs);
>> +
>> +    /* Cope with static symbols, where varying file names/paths may be used. */
>> +    symname = strchr(name, '#');
>> +    symname = symname ? symname + 1 : name;
>> +    if ( strcmp(symname, expected) )
>> +        panic("%s: unexpected symbol name: '%s'\n", expected, symname);
>> +
>> +    offs = symbols_lookup_by_name(name);
>> +    if ( offs != addr )
>> +        panic("%s: address %#lx unexpected; wanted %#lx\n",
>> +              expected, offs, addr);
>> +}
>> +
>> +static void __init __constructor test_symbols(void)
>> +{
>> +    /* Be sure to only try this for cf_check functions. */
> 
> I'm very happy to see the take-up of SELF_TESTs.Â  Although I probably
> ought to tie it into a Kconfig option to make the errors non-fatal,
> which I've been meaning to do for a bit.
> 
> One question though.Â  cf_check is an x86-ism, even if it leaks out into
> common code.
> 
> I think you mean "functions emitted into the final image"?Â  If so, I
> don't think this is relevant then, because ...
> 
>> +    test_lookup((unsigned long)dump_execstate, "dump_execstate");
>> +    test_lookup((unsigned long)test_symbols, __func__);
> 
> ... taking the function address here forces it to be emitted even if it
> would otherwise have been inlined.

No, I really mean cf_check. If we took the address of a non-cf_check
function, the special gcc13 build's checking would trigger, aiui.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:43:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:43:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912638.1318862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tski8-0000SG-ET; Thu, 13 Mar 2025 15:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912638.1318862; Thu, 13 Mar 2025 15:43: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 1tski8-0000S9-Bu; Thu, 13 Mar 2025 15:43:04 +0000
Received: by outflank-mailman (input) for mailman id 912638;
 Thu, 13 Mar 2025 15:43: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tski7-0000S3-5Q
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:43:03 +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 d7a096c6-0021-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:43:00 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso730392f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:43: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-43d15bb5e97sm27049595e9.0.2025.03.13.08.42.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:42: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: d7a096c6-0021-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741880579; x=1742485379; 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=c3bU3RqEh1/BD9HWkZJ5udwHWieocoAwCpaeV2sCPKo=;
        b=K0tsy0JwFttjmCl8rYpQN45b+SJtfoLCpNlP59PGeytheVIpC+V6WInH4cmikl/Q/y
         lOv0ddBbHDI29pNLAn1TnkmLGN7RPKEuacGUeL1PUUFhpUIyFGD6aKM+0Pn8JIXEQaK+
         obnNYFEvtBbPI84lUrpAbCKsJjabEVWrRbjgA6OjyWyYxP76jnUK5jviKbGoBquAbdp7
         0BD0INJQK9IW6WlXsCRKBAzscjUuXebFc6EtK2vTgH8klXIk+q8OtdDD+NlEk0rWnMOI
         3c2BtTsW8kvk6E35ZjkChgRo5Bx6JhfSlD0EHNsWV+PcFnCWVa7SjrZXEpHHlefkQRWk
         Z4mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741880579; x=1742485379;
        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=c3bU3RqEh1/BD9HWkZJ5udwHWieocoAwCpaeV2sCPKo=;
        b=P/tcFVi4KUfQp+JmYnML3f39+itKpTwTtNUal7YRdQnRiRFCA5+o6isnTjnIXEMs6P
         76HPLmrE8rC4FjmA6BZFbCb/XjiLftktyXOet9Z9iQzEWgkpks1OaMvh6dKJwDlFmNu+
         CQxxIrzL+HCP3u+pbvtEc+v6cxK40mDie/IRPMS1xDMpriHLND8Vn1iaE8I6366xo/Qn
         zO3y/QATw0yAfak1evp4wH1/APqyI1NdiIfSPj6VfPkuwdsyLRsX5sgt76nrcBGBdzT+
         xl4CArF/4dfEfk3C9XKzibVJ5a1uuOUq69WjKov52kYgxBUd8xg6LMNrYJpZFhU7AmQ6
         duJA==
X-Forwarded-Encrypted: i=1; AJvYcCX5+oG/o3LdwI8NURBahvoNWudRnzf/2386nRy50963agg2STnQ6AydLNDjS4s6xpl2Zj+TH9P/IQc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/logVaZxfVtXLttjptLx3KgnWWWcB0Q1Sjj2CaV3kAdWyKEyx
	UKWQSMgCutoErUWY9sm459gWV84xQB+nS3L1NDI8pyztp03PR86T1xDk12Je7A==
X-Gm-Gg: ASbGncs4w52/zAq7C4qk4N+dYFeW+toT/F6CKknqnvCRmvAUcNgTYeczMjiCldXWnHe
	0EcbweJH6bPB+eaAKFATr+8mYtUtZtyk8LxvBxIHBOPwkQjsypV5o0Avgoi8zaesskNp9Nnejav
	MYv3n5miTvzbFkdxVZ1lro5irfBJi1yo0AxPY274At5+dTqLt3sxyg4uy0GQPm1gtCfeSK1gCD3
	6klfofOX9oOSOWFLNQbtkpIXBqhamlmU8jA3OID6w0Y6BvCDDHfmVdeQEQgrHrKkhV8fqPFD1ak
	Tker7Ly27FzOeSvrT1Csdr4W69yfqvmeL+GNsMmy5Wg0h8Yh4OdRmuwWxutQqN2vDiT1/GE6soc
	pRl8eF4j/9TLsQH7GdhAUl6V/sET93w==
X-Google-Smtp-Source: AGHT+IFann2paDx7QqwlNx5DGe619BhCLqkz8wTjOhIv4Hw27Z35gMeg4K3dlKHrbiqBDNCZzlRqTQ==
X-Received: by 2002:a5d:6c66:0:b0:391:3bdb:af5d with SMTP id ffacd0b85a97d-396c1c27345mr25872f8f.28.1741880579574;
        Thu, 13 Mar 2025 08:42:59 -0700 (PDT)
Message-ID: <0976c68e-f847-43ba-bb0c-53e2627e1d05@suse.com>
Date: Thu, 13 Mar 2025 16:42:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/16] xen/cpu: prevent disable_nonboot_cpus crash on
 ARM64
To: Julien Grall <julien@xen.org>, Mykola Kvach <xakep.amatop@gmail.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>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e6cc20510acf49d90c08007a2308ef3dcaccc368.1741164138.git.xakep.amatop@gmail.com>
 <30681b52-0d81-47d9-959f-90238863b88e@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: <30681b52-0d81-47d9-959f-90238863b88e@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 21:47, Julien Grall wrote:
> Hi Mykola,
> 
> On 05/03/2025 09:11, Mykola Kvach wrote:
>> If we call disable_nonboot_cpus on ARM64 with system_state set
>> to SYS_STATE_suspend, the following assertion will be triggered:
>>
>> ```
>> (XEN) [   25.582712] Disabling non-boot CPUs ...
>> (XEN) [   25.587032] Assertion '!in_irq() && (local_irq_is_enabled() || num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714
>> [...]
>> (XEN) [   25.975069] Xen call trace:
>> (XEN) [   25.978353]    [<00000a000022e098>] xfree+0x130/0x1a4 (PC)
>> (XEN) [   25.984314]    [<00000a000022e08c>] xfree+0x124/0x1a4 (LR)
>> (XEN) [   25.990276]    [<00000a00002747d4>] release_irq+0xe4/0xe8
>> (XEN) [   25.996152]    [<00000a0000278588>] time.c#cpu_time_callback+0x44/0x60
>> (XEN) [   26.003150]    [<00000a000021d678>] notifier_call_chain+0x7c/0xa0
>> (XEN) [   26.009717]    [<00000a00002018e0>] cpu.c#cpu_notifier_call_chain+0x24/0x48
>> (XEN) [   26.017148]    [<00000a000020192c>] cpu.c#_take_cpu_down+0x28/0x34
>> (XEN) [   26.023801]    [<00000a0000201944>] cpu.c#take_cpu_down+0xc/0x18
>> (XEN) [   26.030281]    [<00000a0000225c5c>] stop_machine.c#stopmachine_action+0xbc/0xe4
>> (XEN) [   26.038057]    [<00000a00002264bc>] tasklet.c#do_tasklet_work+0xb8/0x100
>> (XEN) [   26.045229]    [<00000a00002268a4>] do_tasklet+0x68/0xb0
>> (XEN) [   26.051018]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
>> (XEN) [   26.057585]    [<00000a0000277e30>] start_secondary+0x21c/0x220
>> (XEN) [   26.063978]    [<00000a0000361258>] 00000a0000361258
>> ```
>>
>> This happens because before invoking take_cpu_down via the stop_machine_run
>> function on the target CPU, stop_machine_run requests
>> the STOPMACHINE_DISABLE_IRQ state on that CPU. Releasing memory in
>> the release_irq function then triggers the assertion:
>>
>> /*
>>   * Heap allocations may need TLB flushes which may require IRQs to be
>>   * enabled (except when only 1 PCPU is online).
>>   */
>> #define ASSERT_ALLOC_CONTEXT()
>>
>> This patch introduces a new tasklet to perform the CPU_DYING call chain for
>> a particular CPU. However, we cannot call take_cpu_down from the tasklet
>> because the __cpu_disable function disables local IRQs, causing the system
>> to crash inside spin_lock_irq, which is called after the tasklet function
>> invocation inside do_tasklet_work:
>>
>> void _spin_lock_irq(spinlock_t *lock)
>> {
>>      ASSERT(local_irq_is_enabled());
>>
>> To resolve this, take_cpu_down is split into two parts. The first part triggers
>> the CPU_DYING call chain, while the second part, __cpu_disable, is invoked from
>> stop_machine_run.
> 
> Rather than modifying common code, have you considered allocating from 
> the IRQ action from the percpu area? This would also reduce the number 
> of possible failure when bringup up a pCPU.

I'd go further and question whether release_irq() really wants calling when
suspending. At least on x86, a requirement is that upon resume the same
number and kinds of CPUs will come back up. Hence the system will look the
same, including all the interrupts that are in use. Plus resume will be
faster if things are left set up during suspend.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:44:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912652.1318873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskjP-00015E-St; Thu, 13 Mar 2025 15:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912652.1318873; Thu, 13 Mar 2025 15:44: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 1tskjP-000157-QK; Thu, 13 Mar 2025 15:44:23 +0000
Received: by outflank-mailman (input) for mailman id 912652;
 Thu, 13 Mar 2025 15:44: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tskjO-0000S3-RH
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:44:22 +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 086b5c9b-0022-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:44:22 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-39104c1cbbdso684540f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:44:22 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a74d339sm56912695e9.14.2025.03.13.08.44.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:44: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: 086b5c9b-0022-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741880661; x=1742485461; 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=iu9WPGDK0FsN/SDx/oCEs9/ZX5gZ0imqRRSjrtNjX2E=;
        b=wFKu75CeT/GjFLHF6Vp8m8l2qUCf4GGU1PXz4DrZeGWZXRrbSHljLs5MtE5yjBSLLK
         YbvZb4vPiN/T5NJykvu29R/0L+QxGerar9p8UspSt9BL+6B6VGJPV/Vfozqqlarf3JWq
         fTLcSGIpKqBw8JhqR6bqreutLFsg0CrLstj54=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741880661; x=1742485461;
        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=iu9WPGDK0FsN/SDx/oCEs9/ZX5gZ0imqRRSjrtNjX2E=;
        b=tQOL+Us/hBkotQQO2xCBmEyL+L1MMN+IPuZOaRAP7ZePsPC9oS8IfFdG23KVDPUcAI
         2p/6W74caZDpXwFg0Weaj+2R7+L+Os494s0L2wEzijf8Dd2wlM9GEvphVqQWI0SaIgm5
         /xQOe7qXhVPul4D+dSwj5UPs+cJxHP6gLT4EkSQ7NJiz6LYBnQFaz36BPVwzAVZY8Sr7
         WRma/viy2N8jSbl+SqyI9ucjlRLj0BY4zyHkvSFMVag3/gJRCwkSiWBQl0412m6XU+pr
         3b01nyhV0xj9ML3Hemw+O4HlORi3QneyxXDoxfOx0TETaESE+7y+Y8KsW26ymmBsBf67
         W0tg==
X-Forwarded-Encrypted: i=1; AJvYcCWQzSElWSvanVObkR5CBbXUGl9bOHg/zxCTtsv7bJrBH6gsdGpk4SaaFHILc6vTj4T/7k3k8k3m5Sk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyMGp2/CYAn0uuWf+Xdwmzd61CqgIV95QTvC7ErANmZJOZYfhr0
	xH0hYNFHulL7JLlapnMnQHyk8/+EluWlLk06kgebcLeS8icG0NVQzepPLJTNk8I=
X-Gm-Gg: ASbGncvVK7vaVvzHb13VE2rSDz+Mpb1lkgeQZUZlfKt6s11D6INuaryNDNkMyW2YMoY
	wNvu1zk6piEs0jEwZv7Pu9SYKaLL/bC1pojMaoMR4M1sCcc4tBEQDIi51oLympQ5EKntestPQPf
	IkSGbib573lz2MJwtUzu28+EZT+/BasMGUnk+YL4EBRCZ40Bn0neh7V9kSL4GSmOJGsvsNSYTYA
	GS3MtpN8POx+pTF/lQSVj2YtqQkzctl5scIZTvpF9MMMZyhYCGPh0pW8rmztWQ0Bom1LTj9Ztep
	STIMz4Bsfo5uSoR1YY4ddtfdEFTF/7pBIsKRyp1wKfmfcR3JwDtuhKxMD+Xft41S5dG4LLDo8bK
	6IEfYQ6P9
X-Google-Smtp-Source: AGHT+IH5JUoCzZb++hWWautoD2HpdzP1Vo6n0bE/MqwRgIVvp6ufmpcCH4Xo6DbHCfykHWmqp1fthw==
X-Received: by 2002:a05:6000:156a:b0:391:3fd2:610f with SMTP id ffacd0b85a97d-392641bcbfcmr12533978f8f.13.1741880661370;
        Thu, 13 Mar 2025 08:44:21 -0700 (PDT)
Message-ID: <344d9f0a-4b91-4af7-b0aa-b5fbe730477d@citrix.com>
Date: Thu, 13 Mar 2025 15:44:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] symbols: add minimal self-test
To: Jan Beulich <jbeulich@suse.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <a556439c-b652-4789-bbdd-6d6402b2a124@suse.com>
 <7bc1c3c9-3c00-4b67-b4fd-9baf3e0f9cdb@citrix.com>
 <e455a54f-d2d9-4b6e-833f-67b62b8f6a88@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: <e455a54f-d2d9-4b6e-833f-67b62b8f6a88@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:39 pm, Jan Beulich wrote:
> On 13.03.2025 16:35, Andrew Cooper wrote:
>> On 13/03/2025 1:52 pm, Jan Beulich wrote:
>>> ... before making changes to the involved logic.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> With this FAST_SYMBOL_LOOKUP may make sense to permit enabling even
>>> when LIVEPATCH=n. Thoughts? (In this case "symbols: centralize and re-
>>> arrange $(all_symbols) calculation" would want pulling ahead.)
>>>
>>> --- a/xen/common/symbols.c
>>> +++ b/xen/common/symbols.c
>>> @@ -260,6 +260,41 @@ unsigned long symbols_lookup_by_name(con
>>>      return 0;
>>>  }
>>>  
>>> +#ifdef CONFIG_SELF_TESTS
>>> +
>>> +static void __init test_lookup(unsigned long addr, const char *expected)
>>> +{
>>> +    char buf[KSYM_NAME_LEN + 1];
>>> +    const char *name, *symname;
>>> +    unsigned long size, offs;
>>> +
>>> +    name = symbols_lookup(addr, &size, &offs, buf);
>>> +    if ( !name )
>>> +        panic("%s: address not found\n", expected);
>>> +    if ( offs )
>>> +        panic("%s: non-zero offset (%#lx) unexpected\n", expected, offs);
>>> +
>>> +    /* Cope with static symbols, where varying file names/paths may be used. */
>>> +    symname = strchr(name, '#');
>>> +    symname = symname ? symname + 1 : name;
>>> +    if ( strcmp(symname, expected) )
>>> +        panic("%s: unexpected symbol name: '%s'\n", expected, symname);
>>> +
>>> +    offs = symbols_lookup_by_name(name);
>>> +    if ( offs != addr )
>>> +        panic("%s: address %#lx unexpected; wanted %#lx\n",
>>> +              expected, offs, addr);
>>> +}
>>> +
>>> +static void __init __constructor test_symbols(void)
>>> +{
>>> +    /* Be sure to only try this for cf_check functions. */
>> I'm very happy to see the take-up of SELF_TESTs.Â  Although I probably
>> ought to tie it into a Kconfig option to make the errors non-fatal,
>> which I've been meaning to do for a bit.
>>
>> One question though.Â  cf_check is an x86-ism, even if it leaks out into
>> common code.
>>
>> I think you mean "functions emitted into the final image"?Â  If so, I
>> don't think this is relevant then, because ...
>>
>>> +    test_lookup((unsigned long)dump_execstate, "dump_execstate");
>>> +    test_lookup((unsigned long)test_symbols, __func__);
>> ... taking the function address here forces it to be emitted even if it
>> would otherwise have been inlined.
> No, I really mean cf_check. If we took the address of a non-cf_check
> function, the special gcc13 build's checking would trigger, aiui.

It's GCC-11 sadly.Â  cf_check is part of the function type, and triggers
when a function type check would be relevant.Â  Just casing to an integer
won't trigger it, I don't think.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:47:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:47:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912664.1318882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskmf-0001dl-AK; Thu, 13 Mar 2025 15:47:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912664.1318882; Thu, 13 Mar 2025 15:47: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 1tskmf-0001de-7j; Thu, 13 Mar 2025 15:47:45 +0000
Received: by outflank-mailman (input) for mailman id 912664;
 Thu, 13 Mar 2025 15:47: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tskme-0001dY-3A
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:47:44 +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 80133168-0022-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:47:42 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e61da95244so1966895a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:47:42 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e816afdfb9sm870294a12.71.2025.03.13.08.47.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 08:47: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: 80133168-0022-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741880862; x=1742485662; darn=lists.xenproject.org;
        h=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=GAAVo/9bYIN1+gkBG4NXrYwLlmm5eHWvKvwzb17Rw9Y=;
        b=r1PrqlKEcI+vokj5QMxzqaG7HniWboNi3LYyepK94ckRromV8mwA5syAkinE2IQgLW
         swzjwUpQbEk/dz2wvM4fw/6MWGpBJHaQeKN/FgPEAtqBUOLoEn/KIhuLDzdmhyhvXWH3
         aWCPKdFn9lS5Jy8gIce+XVTHfT7q38aeekTd8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741880862; x=1742485662;
        h=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=GAAVo/9bYIN1+gkBG4NXrYwLlmm5eHWvKvwzb17Rw9Y=;
        b=u9lU2Uhl8OLKXSkM09IQhuc6Txq1eswaGGxU0OTnHSYDrfA46Se/Q7LdzfTXMVt0tY
         IlEKZzGJW3wycDfArSGIgHEDUJb2UDBTcAI3TVCaeBm6jXYPdmHDC037jfLYMyJHv5U0
         XdrIdwCwNdQL54kdjvBOL51M4ADziQMjUq7b3TYXeTMT2h+lBKETRnyvLlRVHDDyC65q
         IWbzVzu7Boi3C+GnzhZWLFL8Rz90//MvhLCjThG1gTySYaV2Xwpt7VoQFGF1nIPhXxJP
         XJqoUEg6KIyYl7dIGt7tIm2ZAZGTFWKZ6Hn3LRJ7fMUQgZ5umvrKUiDeTuhYbH+OuPYy
         OdmQ==
X-Gm-Message-State: AOJu0Yzi5EH5BjbChwSnzFwt5cqgCSTqF+yrE5a6NbJZsLlSlweHqFOc
	rEESw8/ulI3ZRjDjgQrbQssmJj4ZccaltKkpdG/DN61QwNaQJ42VHUq8mtRxWbU=
X-Gm-Gg: ASbGncvWT023opeqMT5PTUXhMG3WlZeQCAJrpa/Udfzu+Cou5yvVsDZx5nEQg4t19+4
	kLBAjq/7X6y/R2b83bzTtlGNex6ZleKvAqc4ZZOITNIDmE0VoLWhVYtfT+DB4x1kNRvCOi/EKqL
	w7NYCeaaTtEDaoMORUa93PdVRVrQEaHp1jE94BDYhrRyqh6oQiclkWZMvgRV5t4OKoHk+oSK1Lv
	EQnHHrGnLyyMRowTZKktKVk9ZqAAg7k3ovqT1BQEvCvLIQPplUmXL/nYhxNEWr/bM+MweEKFRUX
	KKZkXRxh0IQLcCtlRTxluuv5QWXA/jHtxBWMrLtpy3jRX2d0qw==
X-Google-Smtp-Source: AGHT+IHHMEdBQ1rfGSH/EX/Gydmrru8VZncge7O2xD/oCr09zZu+wCggI5+ZwjsMuvDC/3e8hEIuqg==
X-Received: by 2002:a05:6402:2747:b0:5e0:2e70:c2af with SMTP id 4fb4d7f45d1cf-5e5e24909a2mr30757046a12.26.1741880861965;
        Thu, 13 Mar 2025 08:47:41 -0700 (PDT)
Date: Thu, 13 Mar 2025 16:47:40 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
Message-ID: <Z9L-HPlfZhvIh8yn@macbook.local>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <1d3ac61a-1acf-46b3-91bc-1dcb8bab1559@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1d3ac61a-1acf-46b3-91bc-1dcb8bab1559@amd.com>

On Thu, Mar 13, 2025 at 11:30:28AM -0400, Jason Andryuk wrote:
> On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
> > On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
> > > 
> > > The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
> > > dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
> > > all that has been tested.
> > 
> > DYK why it fails to enable 32?
> 
> In Linux msi_capability_init()
> 
>         /* Reject multi-MSI early on irq domain enabled architectures */
>         if (nvec > 1 && !pci_msi_domain_supports(dev,
> MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
>                 return 1;
> 
> MSI_FLAG_MULTI_PCI_MSI is only set for AMD and Intel interrupt remapping,
> and Xen PVH and HVM don't have either of those.  They are using "VECTOR", so
> this check fails.

Oh, interesting.  So classic PV MSI domain supports
MSI_FLAG_MULTI_PCI_MSI, even when no IOMMU is exposed there either.

Thanks, so it's nothing specific to Xen, just how Linux works.

Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:54:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912673.1318893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsktJ-00050X-W3; Thu, 13 Mar 2025 15:54:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912673.1318893; Thu, 13 Mar 2025 15:54: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 1tsktJ-00050Q-Su; Thu, 13 Mar 2025 15:54:37 +0000
Received: by outflank-mailman (input) for mailman id 912673;
 Thu, 13 Mar 2025 15:54: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsktI-00050K-86
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:54:36 +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 75e9dca4-0023-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:54:35 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso7977915e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:54: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-43d188b22f4sm25084265e9.1.2025.03.13.08.54.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:54: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: 75e9dca4-0023-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741881274; x=1742486074; 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=O7OelqZvCdDomWFkDsQuwgjVbqq59df2vBCRCCjmX24=;
        b=To6ANUHftHUGA3qrAnSisuL7wQKvZ9OHWMNT7N0b+CZIhD7l6dD4FfEJwCOhoCd7rI
         iQI/fKVIcxmk3c8vcxOJ1ZVeVyePnNoW+D951rKx9leULZ9lgn5HcFwY+ZmFWPC+kpGB
         bq6WIa+CBpYQjVzp+47G/xER6K+WUN5A/3u9gpLywUObr2zNCcGeRHoJC6Lz5tCLkcWC
         1wZsNldyxjBKxeiHa8yp3agg7oKWJdFHPwKARpUVj5h0kI4FZAJwm09EyAoJ5kwbh0FF
         H6iXKxx0+HGApPXUW+M58HoWXAVSbwlG++dya2VKo2wmA7oNJmeduiJXSI1IAaxaTR1c
         6Cag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741881274; x=1742486074;
        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=O7OelqZvCdDomWFkDsQuwgjVbqq59df2vBCRCCjmX24=;
        b=uSsdlZnK1o8p3e1vg/5ho5EqozD5GMKVwlULcqMU2pRTWl+WivVoc0qD0fneIutbXc
         7QQiODJbEmOl5/J2nPQXsoS9iV2BkpCTUKTjl/ED9Ax819b0p5kKWvo2E+m2lYEzuQe2
         dD3dK0x2hviUY/JTPKoUcKmw0lZ0F4ER7DY3t78Xt6pC3zR1SNMCEX4uwFGdQgU7RiTA
         gM2fkomSlE2uEV+YBAT0gQ0sABKgMpYCK9ia6MZKZX6nYxSnFmJjqvz59XB86Y7XK9oe
         UwX7dNAcc0KvjxfqVPxaykx0jUALbRlpCdbetNyb4iflbyjvwL8K+kLCn0m3VaF2K+Lt
         YWJQ==
X-Forwarded-Encrypted: i=1; AJvYcCUrCb2QY6IY28nbgavX/mTTycezUvrJnMdWM9hoJf1TkQHQaorRQIoF5Cl7zAGG+pTNJaF+34yqpXk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0MQFA3zoPskCFgOZagck+O4hDEB0pF5xcvp6y7A/dQlx/RxMV
	/mKTIT+/cYF22J7MdcbYIGExsaVnfDTVYHhZ9XaJS9MyCe4d1xY2kTEKW95cKg==
X-Gm-Gg: ASbGncsnkjVHQS6yVdGHAt3we4kjAkyb7VjHJsajZ80u1mRx9aplFrJxsQVPVAjw9mQ
	dmoyeO72mxHUsm6RqkPhtcdtUehu4SrrAskxbyf8Egw+7UZDDAYNNmYlMlzZgVf0panp5EjGWFy
	7Ivd+9Ye+zzv6hQqVWf/pohvJ7AaDccnc1qMZwAndrIsPUres9sLAjfqhYIayXPPjAcu3Rb2Bsj
	aSbfVKzuHyRs5gt8YMNTenz6Hmy0LvH8T/LPCjguPMAnOhSLqK9gsaCVMn2E+yh087WwYgXB/yU
	sUSjI0RxMws0W1H6wpLbysrvyALG3ZVryuRcVWif6AuFfGCz8GR3Cf4R+H7rUN4TqBsQPhAH1/y
	BsEICaye/4n3D/cPhG6jbkMIPHpwu5Q==
X-Google-Smtp-Source: AGHT+IFJ5jFnbg1WSh9MlOJl+4LBZaW4jwjGWlslStwxY636wihrfU+WuNzq9EWOJiSoZpTLg3EJOw==
X-Received: by 2002:a05:600c:4750:b0:43c:eec7:eabb with SMTP id 5b1f17b1804b1-43d1d8aae9fmr1643995e9.8.1741881274583;
        Thu, 13 Mar 2025 08:54:34 -0700 (PDT)
Message-ID: <e8ddc992-a092-46d8-8c87-6b3c516fe464@suse.com>
Date: Thu, 13 Mar 2025 16:54:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
To: Julien Grall <julien@xen.org>, Mykola Kvach <xakep.amatop@gmail.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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
 <c5ccb703-45eb-4fb1-842c-75317354afad@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: <c5ccb703-45eb-4fb1-842c-75317354afad@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 21:59, Julien Grall wrote:
> On 05/03/2025 09:11, Mykola Kvach wrote:
>> Invocation of the CPU_UP_PREPARE notification
>> on ARM64 during resume causes a crash:
>>
>> (XEN) [  315.807606] Error bringing CPU1 up: -16
>> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
>> [...]
>> (XEN) [  316.142765] Xen call trace:
>> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
>> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
>> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
>> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
>> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
>> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
>> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
>> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
>> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
>>
>> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
>> only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
>> On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
>> INVALID_PERCPU_AREA depends solely on the system state.
>>
>> If the system is suspended, this area is not freed, and during resume, an error
>> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
>> set and park_offline_cpus remains 0:
>>
>>      if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>>          return park_offline_cpus ? 0 : -EBUSY;
>>
>> It appears that the same crash can occur on x86 if park_offline_cpus is set
>> to 0 during Xen suspend.
> 
> I am rather confused. Looking at the x86 code, it seems 
> park_offline_cpus is cleared for AMD platforms. So are you saying the 
> suspend/resume doesn't work on AMD?

Right now I can't see how it would work there. I've asked Marek for clarification
as to their users using S3 only on Intel hardware.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 15:57:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 15:57:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912684.1318903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tskw0-0005Y5-Bd; Thu, 13 Mar 2025 15:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912684.1318903; Thu, 13 Mar 2025 15:57: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 1tskw0-0005Xy-8w; Thu, 13 Mar 2025 15:57:24 +0000
Received: by outflank-mailman (input) for mailman id 912684;
 Thu, 13 Mar 2025 15:57: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tskvz-0005Xs-RQ
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 15:57:23 +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 d9e3c486-0023-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 16:57:22 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so10976775e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 08:57: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
 5b1f17b1804b1-43d0a5f48a8sm58708505e9.0.2025.03.13.08.57.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 08:57: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: d9e3c486-0023-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741881442; x=1742486242; 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=b0U5O4W0os+6r5aw1BEhRROqA2AGLe7bJIr9ViJkUrc=;
        b=TyDuC72JHyq6dDVX9oqmIHjUffuMVYOBljArxIm5BaEibcyE1GHVoH7GhGckfGxMgS
         VK//fCQEMaD0SdzW2+RfwSFnhpFP1tDvAZUpPt07ROBk2GpEq7avRb0tPQSRT0d8Kbej
         mE2I9WyFWJ6sIn9mPq2Kj0x3ArSlnweQQfmRcw5oe5neGmMeUCRGCuSUea8QvaO5RFvU
         KBLn0L03dBO2En4nGG0nMSStwkUSTU+XZEBQlSeipkjgdIwZmwQRF+2t2af1R223qyV3
         wa7wslFqmsyKBHZF7uIUDQ2PK7+kzh6Gi67vEuGBXJsMevhZ/ZKgKV52jW1tnxZdG/SN
         vAUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741881442; x=1742486242;
        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=b0U5O4W0os+6r5aw1BEhRROqA2AGLe7bJIr9ViJkUrc=;
        b=fNHU4p+AErptbeK+1yPwLxs8rvxc8XwAGpM96GnHzAQ1hh4Us7hkpypJbp0gdeshxN
         /g5XFfb9wMvz1XtvttkLsMqUyEAixd5Ckp2k2nunAadvh/6U2SBeI9FNqXEsZdfpDRb7
         GFIsJp8c70t6FcuGx8uB2JUwRUDsgDHAmCzpAA06kAUU54c3mWRe5CtO2DBhFVTDC/tn
         aAzUWRdDbKOxCkVqswQhKuya4uIU1d/swlDOYvkbzbHdgTfTejHvlMRxFvRzosWA5ez3
         JtJ7r0izhqAICcm0BZ0d3hr2qFnTdheMVXwF7GiRdL7NTgCmc7zqMYiUmjdVdXiPZ6/Z
         wkow==
X-Forwarded-Encrypted: i=1; AJvYcCXLUrjlu2rsCHIaqL8IAuoE+ykZuq6pJS5jc5PkAjyhAQQzzfF67YjSUkn5B2uuFqhk1YilU6djsaU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5XpKQba5mCprafxvXOMEM+fRW+fcS3zSzgmC3MaxGHU2utDTq
	H0OV8bIh1xSlkPRqa1VY3Ldh4+JusFHDXWjKEjq6PNvg68+KPVqxf48aFeruzQ==
X-Gm-Gg: ASbGncv2bvpZ4n9XfMAWweOTuDU02evD37zLoVKjg745Mf9FB48yA2Ee9DlxLM2kbfQ
	TpSPCRMfkVQcQMAt/HXupY3FxXRGo/8TDF/Upv/3Vw3WUDb9pnHOlcAIjW0ZobMpd1HEDgoyWQc
	eV+4oNCMP2c3jVXqmFDTYPT+NIo6pMgRQg9ee30GKnoYjG71kLVrnihOuzWepUa4HlBCoEsrYTA
	NzWWhdBjJTi//QkXi9lWWmliOuy8mOEsU5hAajiLEqhPO6LApsRZou8RreRx2+kVbWEDwCUrxj6
	OxWHUeM3ihGaVB/3xj7hLPlptji1i/X95PQvYvSppS9EMlJmOhMuYdTJWGA0AylwKt7Q8HGhzR9
	GCmq4PHgZ8mBOo3LzOW+K1FFyEBY43fCzZXV1DVkk
X-Google-Smtp-Source: AGHT+IGYES8q7jhCjppQf3xkqW9ekn4wHFLWmI0qwk5/zpjAlTt7sElK1IpfN7ITAmGdP1hEGNDoGQ==
X-Received: by 2002:a05:600c:1c26:b0:43c:fe9f:ab90 with SMTP id 5b1f17b1804b1-43d1d8ebd84mr1217415e9.28.1741881442389;
        Thu, 13 Mar 2025 08:57:22 -0700 (PDT)
Message-ID: <107c6532-c923-4364-b56a-4ccbbd9af425@suse.com>
Date: Thu, 13 Mar 2025 16:57:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
To: Mykola Kvach <xakep.amatop@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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@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: <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.03.2025 10:11, Mykola Kvach wrote:
> --- a/xen/common/percpu.c
> +++ b/xen/common/percpu.c
> @@ -74,7 +74,8 @@ static int cf_check cpu_percpu_callback(
>      switch ( action )
>      {
>      case CPU_UP_PREPARE:
> -        rc = init_percpu_area(cpu);
> +        if ( system_state != SYS_STATE_resume )
> +            rc = init_percpu_area(cpu);
>          break;
>  
>      case CPU_UP_CANCELED:

Right now I can't see why we wouldn't need such an adjustment also for S3 on
AMD x86 hardware. However, please let's not further split how things are
being checked for. I.e. can we please keep the park_offline_cpus and the
system_state checks together, either here or in init_percpu_area()? Just
like CPU_DEAD etc handling has it.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:03:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912698.1318912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsl1Z-0000CN-2N; Thu, 13 Mar 2025 16:03:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912698.1318912; Thu, 13 Mar 2025 16:03: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 1tsl1Y-0000Bx-W8; Thu, 13 Mar 2025 16:03:08 +0000
Received: by outflank-mailman (input) for mailman id 912698;
 Thu, 13 Mar 2025 16:03: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsl1X-0000AX-U2
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:03:08 +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 9fd27ad3-0024-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:02:55 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43948021a45so10221865e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:02:55 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df339asm2531944f8f.3.2025.03.13.09.02.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:02: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: 9fd27ad3-0024-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741881774; x=1742486574; 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=yzFVRz4IZSOD2U2A55u08ze08q0scqSfKn70VP4b9YM=;
        b=TZUp1D/S7z8pfZ4VYNBsyMjk5bN1gByhFKaMdk1IqJbgMKrDB7uXs+dviKeBtBZL/W
         Ek/5t0y/0OwMEyr12vrTqdI4oDj4hyX5ZxUTj4wOxjfFarFTECk/IvG/XjvNO5us2iCT
         XVTvoDFqUZDIk1l1B994Q8tXbPeKrBPo8cX8A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741881774; x=1742486574;
        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=yzFVRz4IZSOD2U2A55u08ze08q0scqSfKn70VP4b9YM=;
        b=l8MHrsHmdtk065JMsuGmpT6KUfwUw+OjwIyYcYCPoHdUKo0PUEZ50qDWnAAQ5qKhzO
         rhWIT1xa6jWh/fIxa8lCI397s/anxbo6RkwCaS+sB6Zuh3HYdJCEuF+kOb49uTQifS7x
         Lskhv8cDfT4hH+rn0uYJ1gYbPbrd7Pc2Q0glSoZU/v7Js+yUO85/OwzBpdquY516ttYG
         wn/dk9tED2/9Gv1XslqPTlYFKJavSi2BQ1BY26fQVS6b1KlVJ6n6C1+LuoYhS0KWYuQV
         jtajcJp1flv2UgnwG0TAlBRNgyo0LXZlyS1l6F5w/SicR6YIzQDwPQN9cFAICjQ0jzR9
         IGJQ==
X-Gm-Message-State: AOJu0YxVNw7mgpsRmojqQdkZHjCv7pRBiQvGeQRQWyUTcy2RZF6Obzgg
	SDVtsMNgpHEghM1yqwivIgIdXFSgSwD60BtO2PL8T/J9jv/I1IFehcPGiufd4i8=
X-Gm-Gg: ASbGncsh3+eWh4MN3/fIAtc7OlAiX//oqiYgTdF5ZS6buRIoB15QstNo7fgX4UUatHt
	/JMWJnIqniMxFnxMFZ8jkDB97FSc1rE+hbxocgddN3W5U+asrZMff6nWsX6oJiZBmgXiHKg66SD
	9RgQsFwhi0sjQtnxVmXZTgoWrbJ/lwnf53EuYuAKDexFovNOQyZPOLKAJwXr7Jmc0gncOZ9gSad
	7lGeMEjfaw423udfFz1tcJQki8FxTtA6W3ZYNDhDxwgGkg/Axe7xIkaoFPauvEqS9S+e6vREuwY
	pqqrgCHCewDjdNDh38ivXsXAJj/ckW2zwROdTXKuM1mRlJnAj3pH6PGYPSH45rn/zAyibxnmnoZ
	2wn/8mujw
X-Google-Smtp-Source: AGHT+IHD0e2VkLc035ynRxFebvzKVnxgPA1dGGQsWPN4fB82Fp5aT9Wb5duozriX0CVTVlQmcoeKrg==
X-Received: by 2002:a05:6000:154b:b0:391:412b:e22b with SMTP id ffacd0b85a97d-396c200fc00mr83394f8f.18.1741881773809;
        Thu, 13 Mar 2025 09:02:53 -0700 (PDT)
Message-ID: <d3378c73-7185-4f9f-8e61-be12171dfc21@citrix.com>
Date: Thu, 13 Mar 2025 16:02:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
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, Jan Beulich <jbeulich@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <1d3ac61a-1acf-46b3-91bc-1dcb8bab1559@amd.com>
 <Z9L-HPlfZhvIh8yn@macbook.local>
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: <Z9L-HPlfZhvIh8yn@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:47 pm, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 13, 2025 at 11:30:28AM -0400, Jason Andryuk wrote:
>> On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
>>> On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
>>>> The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
>>>> dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
>>>> all that has been tested.
>>> DYK why it fails to enable 32?
>> In Linux msi_capability_init()
>>
>>         /* Reject multi-MSI early on irq domain enabled architectures */
>>         if (nvec > 1 && !pci_msi_domain_supports(dev,
>> MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
>>                 return 1;
>>
>> MSI_FLAG_MULTI_PCI_MSI is only set for AMD and Intel interrupt remapping,
>> and Xen PVH and HVM don't have either of those.  They are using "VECTOR", so
>> this check fails.
> Oh, interesting.  So classic PV MSI domain supports
> MSI_FLAG_MULTI_PCI_MSI, even when no IOMMU is exposed there either.
>
> Thanks, so it's nothing specific to Xen, just how Linux works.

This is something which TGLX and I have discussed in the past.Â  It is a
mistake for any x86 system to do MSI multi-message without an IOMMU.

MSI multi-message gets you a power-of-2, aligned, block of vectors, up
to a maximum of 32, which must always target the same CPU.

The LAPIC prioritisation is on groups of 16, aligned, vectors.

If MSI has 16 or fewer vectors, then any interrupt causes all others to
be blocked owing to LAPIC behaviour.

With 32 vectors, you can get two vectors (one from the first 16, one
from the second 16) where the higher vector can interrupt the lower
one.Â  And you pay 32 vectors for this.

With the IOMMU, every message gets a controllable CPU and controllable
priority, because they come from the IRTE, not the device.

Removing Multi-MSI support makes vector allocation much easier because
you you never need to allocate/move blocks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:05:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:05:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912710.1318923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsl3N-0001Ww-EC; Thu, 13 Mar 2025 16:05:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912710.1318923; Thu, 13 Mar 2025 16:05: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 1tsl3N-0001Wp-BW; Thu, 13 Mar 2025 16:05:01 +0000
Received: by outflank-mailman (input) for mailman id 912710;
 Thu, 13 Mar 2025 16:05: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsl3M-0001Wj-7b
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:05:00 +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 e9c837c4-0024-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:04:59 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso751463f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:04: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-395cb7eb93csm2477824f8f.86.2025.03.13.09.04.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:04: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: e9c837c4-0024-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741881898; x=1742486698; 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=Mht0CqFatkavZUCujSOMKWBb+34y0o2M1haVteYrMFI=;
        b=UKbxjEOBuzczaMTbGqm8XX+jSVuao1uVoelnVqcZSGQs7al9A0xqfYGs8ynjoESyaF
         KpN/WsgOySpKH2vi1QYUZI1VKHAuv8UNlnaNF54hPdZS5LSSgvf24MTIt2TBUhBcYHl/
         N4XO5YHndjfozYj8JoYfxTP4VwuyeV63zA9CO8+sy9tTSVhP7znjxQLUtuglPyoqrPwO
         TMRdeotg211oaUExJnXTEZEyxshM07LZ6RwNFQ89e385OP9CHMt8zk7GBTxCXUAln+QQ
         /OSBcRcAZHo5WCoOMktLqHdu9JikOIw1ZOPTLw17PUelW/0HuLGiP5Mbu+/VQJcXTBNY
         m3bA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741881898; x=1742486698;
        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=Mht0CqFatkavZUCujSOMKWBb+34y0o2M1haVteYrMFI=;
        b=EFflVfxWh7fO6N1+ZNsLxY9XtK0sQQJQRBEQh5US3Vg37wOkHtxrn5z4U9+/jfqBTj
         TRhasgfPKkmajAAbkfIQLAjB/nVwrrCm2QvKC4dIL8AjqcmRKE00jEAdBJS/RKo03GQD
         RsSSHH7ZORVQj6NFvEF11lKRE0kN/ALA3HGGxDmW7WHCuOv8YI2AX0nI0X5bKHfRpv4U
         j1B1j7YtEg6fNhTwR2mpfjA9SbmVtB+N3Huz0uNe+Cl0nKb7tDXHUOWBZpP2cHs/xAHp
         0BkWotwePzfRhF/vZ6WALFN9lZOZUhqfmUEA96MBSY4c6uzP7iUm3/irXaXBpnEap5is
         Mg2Q==
X-Forwarded-Encrypted: i=1; AJvYcCWw/zoiOL8ox783aT1APpi4pOE3ahyDhTEWs/3Bz5SRt7JhAbGEF4OIA4u4KuWAXhST7OK1JA2Vp/U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx30bvDSYC97Q1KakMNxZGk4R0loljjY60X7kq7NObWBUJRpohD
	gKnqtFWMF0zlcodI6uzHfv54J3hXWe7lHGetR2FtS/ejampKXZNUk1m7b3CLGA==
X-Gm-Gg: ASbGncuM4vL7lBOUgAUtJYXbCTwHBLKIuXsVmcrEYJsFZW1IiW7mUj4Ob8X7Q25y4SW
	2aZQPZJi+HJGnrLGfFIy42ZExKscumR7J4UXx2cce5mX9pYxUX22SbS6xgOFYgQKAp8lM+LErEf
	9QViPLtPtFekse9LnbhewgWw94IS0AHi7y4X1IXb2TLC9LX1UL3BvJ9m8OvkDh4i2GojFjJiQjD
	ECMD7g1ZK3qPEJOKPHt9GxuRZ6E1tm+10o0D8HNv0bEs9EC0ghRCV5mRjqoMCXMh288UfRt3hcc
	XVz48WOGxw8ewi3Mrp0fEisjnT/v4urh2dh42ZdI/965xqWt2ZwC2ba2pHKdWaZhFP9axHnrfRH
	+JmLhym3C+6WsVPWoGVM2KBRMGqLzlg==
X-Google-Smtp-Source: AGHT+IHSam/va56o6PJHmcF5F9ImBqrMbEdPRzP9dMlPoeoJw17vUCosc68Dkf2qQoWw2OOpVuaZKw==
X-Received: by 2002:a5d:5f45:0:b0:391:22a9:4427 with SMTP id ffacd0b85a97d-396c175433amr93697f8f.12.1741881897926;
        Thu, 13 Mar 2025 09:04:57 -0700 (PDT)
Message-ID: <7dc4edc7-7d2c-4108-bc3d-d5a5e125205e@suse.com>
Date: Thu, 13 Mar 2025 17:04:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] symbols: add minimal self-test
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <a556439c-b652-4789-bbdd-6d6402b2a124@suse.com>
 <7bc1c3c9-3c00-4b67-b4fd-9baf3e0f9cdb@citrix.com>
 <e455a54f-d2d9-4b6e-833f-67b62b8f6a88@suse.com>
 <344d9f0a-4b91-4af7-b0aa-b5fbe730477d@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: <344d9f0a-4b91-4af7-b0aa-b5fbe730477d@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 16:44, Andrew Cooper wrote:
> On 13/03/2025 3:39 pm, Jan Beulich wrote:
>> On 13.03.2025 16:35, Andrew Cooper wrote:
>>> On 13/03/2025 1:52 pm, Jan Beulich wrote:
>>>> ... before making changes to the involved logic.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> With this FAST_SYMBOL_LOOKUP may make sense to permit enabling even
>>>> when LIVEPATCH=n. Thoughts? (In this case "symbols: centralize and re-
>>>> arrange $(all_symbols) calculation" would want pulling ahead.)
>>>>
>>>> --- a/xen/common/symbols.c
>>>> +++ b/xen/common/symbols.c
>>>> @@ -260,6 +260,41 @@ unsigned long symbols_lookup_by_name(con
>>>>      return 0;
>>>>  }
>>>>  
>>>> +#ifdef CONFIG_SELF_TESTS
>>>> +
>>>> +static void __init test_lookup(unsigned long addr, const char *expected)
>>>> +{
>>>> +    char buf[KSYM_NAME_LEN + 1];
>>>> +    const char *name, *symname;
>>>> +    unsigned long size, offs;
>>>> +
>>>> +    name = symbols_lookup(addr, &size, &offs, buf);
>>>> +    if ( !name )
>>>> +        panic("%s: address not found\n", expected);
>>>> +    if ( offs )
>>>> +        panic("%s: non-zero offset (%#lx) unexpected\n", expected, offs);
>>>> +
>>>> +    /* Cope with static symbols, where varying file names/paths may be used. */
>>>> +    symname = strchr(name, '#');
>>>> +    symname = symname ? symname + 1 : name;
>>>> +    if ( strcmp(symname, expected) )
>>>> +        panic("%s: unexpected symbol name: '%s'\n", expected, symname);
>>>> +
>>>> +    offs = symbols_lookup_by_name(name);
>>>> +    if ( offs != addr )
>>>> +        panic("%s: address %#lx unexpected; wanted %#lx\n",
>>>> +              expected, offs, addr);
>>>> +}
>>>> +
>>>> +static void __init __constructor test_symbols(void)
>>>> +{
>>>> +    /* Be sure to only try this for cf_check functions. */
>>> I'm very happy to see the take-up of SELF_TESTs.Â  Although I probably
>>> ought to tie it into a Kconfig option to make the errors non-fatal,
>>> which I've been meaning to do for a bit.
>>>
>>> One question though.Â  cf_check is an x86-ism, even if it leaks out into
>>> common code.
>>>
>>> I think you mean "functions emitted into the final image"?Â  If so, I
>>> don't think this is relevant then, because ...
>>>
>>>> +    test_lookup((unsigned long)dump_execstate, "dump_execstate");
>>>> +    test_lookup((unsigned long)test_symbols, __func__);
>>> ... taking the function address here forces it to be emitted even if it
>>> would otherwise have been inlined.
>> No, I really mean cf_check. If we took the address of a non-cf_check
>> function, the special gcc13 build's checking would trigger, aiui.
> 
> It's GCC-11 sadly.Â  cf_check is part of the function type, and triggers
> when a function type check would be relevant.Â  Just casing to an integer
> won't trigger it, I don't think.

Is there a way to double check? I'd be happy to drop that comment (and
use some other, maybe less random function), but I don't have a compiler
available that includes that patch.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:05:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912721.1318932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsl4I-00023B-Mx; Thu, 13 Mar 2025 16:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912721.1318932; Thu, 13 Mar 2025 16:05: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 1tsl4I-000234-Jl; Thu, 13 Mar 2025 16:05:58 +0000
Received: by outflank-mailman (input) for mailman id 912721;
 Thu, 13 Mar 2025 16:05: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=oZoU=WA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tsl4G-0001uS-S9
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:05:56 +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 09f83816-0025-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:05:53 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-abf3d64849dso183753966b.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:05:55 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3147f142fsm96747166b.64.2025.03.13.09.05.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:05: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: 09f83816-0025-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741881955; x=1742486755; 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=l+c5ZGU8jn72vb3qsvKYx51c+c1JnLJiRn5BWuvsJZs=;
        b=E6/7ePsIhcGW+Td8YLeOORHFP/gcvmP8RuxfTOrifwTfn5pPihJcotFjOotAsUmvf6
         ea6HjqJF6anfn3Iinrqftsj9B1jsIH4F9iU2Fy03IeEyX1LpLREMXfwRvt5FMKUZJg7x
         G7PdC5tFf3bovRSn2rGxcgrgOAfb/Q3XExyvk0gPbKyR8C1Q/n4B3rTfHOWYdmQL9wmg
         /Ec7IWD677MxXUV8MSEd26zOAOX1hSJE443/sSVOAKrYsY44QBrP/kWrqMJZyeRpAmKp
         JkFFwI4/OKBqqOm0px0VNXfE3WQyOeTAmFMe+46fRNNKwAj3+LuOwkltZ7wbMrLPZx5F
         ufJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741881955; x=1742486755;
        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=l+c5ZGU8jn72vb3qsvKYx51c+c1JnLJiRn5BWuvsJZs=;
        b=Xykb+SQEciV6yLD6RL168XDMl749dzwMXtAAz8cvAUqZio+uYHcrR8HgAuQo/1JHLH
         GXCKdhz66s+wyHCkPHd4v2Qcn5eHVH7xy3Jl1zOY9ob3PUeTAhQWN0SnamLMWFkbOXUs
         mjtRSNsn1FnfIlfrmXNXPgb8jLki5b/X5PoaheajeGFTLvCx4S+CRyrL83kkvgHPeeGR
         I+stzUdhP3DFu3NcHodT8+0fHcpLGqmlJgWj4rpcy78+FVuaPpa2MGS52uJDc1AlVtqk
         BdT3gNUfUkZXmtJahtL9sX/qMm3WE752l6Udw9FcM2M+cJNZ9A1beFEjAyLcU2TkznD1
         0PkQ==
X-Forwarded-Encrypted: i=1; AJvYcCUwvPsb995M88eZrq6sC8CT9uiKrIZgM+prgKBPc+zOVmcY6eN1n35oD8AJHXXKZKlGQX3KdV1JGVY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyF7b6ce3WS9Owyz7McF20vuEh+iY3RkMIX4XJQJKdwRKrqEFlI
	Rhi6naVfcoS8B3hVKJ/kQfHhOlcZlqEI3UegT36Bc1ziWOZY3yG7pt1MAe+0ywI=
X-Gm-Gg: ASbGncumcbIP4pjUl84vMCBfmhpfsC/shGAqd1tCoHOW959UvEPsFz/sWH74ZYyVjve
	aUxQVe8z+O7BUbOpqv/q0W9asesvD2DMwL164oiM9NaFMUuQF8G1BO2O31MT4JauDQnnpR93gFr
	ZZLt1eyrLZo7z2rYjAg4wZmIXbiAV9xDs19IL8JdDsotvnOnG68cNuRJOfcG7SZhUre4GtDbdAn
	Eb/zJePqm2RNnrecoGbXVAYXQHFj/X0Y3xaddwwlzyyisGdWYeo7RNj1TsdjyrlQRiDOy3KgEOE
	3Pv30/9GJwUlaW78nPI3Hqqi5BDOqp4JM4y91GmgkLtKQ/jI4y1JbnMuVgGaibQ8gxf/q4ROv3c
	O4jYhqQ32IxCZVer7Imcs1/jc7MEq/X24r3hanrwcD7bNoq7wPrZQuTWAt1XLS27IHlI=
X-Google-Smtp-Source: AGHT+IEb9aMpcxZuAQLI/wcmQx4s6JbqDllJnyyqbyJyY26UfHPZtgUdZd4ll2BkRWRATgTJX5sOHQ==
X-Received: by 2002:a17:907:6d20:b0:abf:68b5:f798 with SMTP id a640c23a62f3a-ac2525af698mr990155566b.9.1741881953882;
        Thu, 13 Mar 2025 09:05:53 -0700 (PDT)
Message-ID: <32989e14-4754-427d-8347-73fc83a8bd62@suse.com>
Date: Thu, 13 Mar 2025 17:05:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Mykola Kvach <xakep.amatop@gmail.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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
 <c5ccb703-45eb-4fb1-842c-75317354afad@xen.org>
 <e8ddc992-a092-46d8-8c87-6b3c516fe464@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: <e8ddc992-a092-46d8-8c87-6b3c516fe464@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------u4G5UFU0FSpwiqzpoWtXSVB9"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------u4G5UFU0FSpwiqzpoWtXSVB9
Content-Type: multipart/mixed; boundary="------------DFhPtmQ20w3VGuwBhFyrjJdL";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Mykola Kvach <xakep.amatop@gmail.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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Message-ID: <32989e14-4754-427d-8347-73fc83a8bd62@suse.com>
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
 <c5ccb703-45eb-4fb1-842c-75317354afad@xen.org>
 <e8ddc992-a092-46d8-8c87-6b3c516fe464@suse.com>
In-Reply-To: <e8ddc992-a092-46d8-8c87-6b3c516fe464@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=

--------------DFhPtmQ20w3VGuwBhFyrjJdL
Content-Type: multipart/mixed; boundary="------------jweLOnVWqay0Zg2EGtcQR5i3"

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

T24gMTMuMDMuMjUgMTY6NTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMS4wMy4yMDI1
IDIxOjU5LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+PiBPbiAwNS8wMy8yMDI1IDA5OjExLCBN
eWtvbGEgS3ZhY2ggd3JvdGU6DQo+Pj4gSW52b2NhdGlvbiBvZiB0aGUgQ1BVX1VQX1BSRVBB
UkUgbm90aWZpY2F0aW9uDQo+Pj4gb24gQVJNNjQgZHVyaW5nIHJlc3VtZSBjYXVzZXMgYSBj
cmFzaDoNCj4+Pg0KPj4+IChYRU4pIFsgIDMxNS44MDc2MDZdIEVycm9yIGJyaW5naW5nIENQ
VTEgdXA6IC0xNg0KPj4+IChYRU4pIFsgIDMxNS44MTE5MjZdIFhlbiBCVUcgYXQgY29tbW9u
L2NwdS5jOjI1OA0KPj4+IFsuLi5dDQo+Pj4gKFhFTikgWyAgMzE2LjE0Mjc2NV0gWGVuIGNh
bGwgdHJhY2U6DQo+Pj4gKFhFTikgWyAgMzE2LjE0NjA0OF0gICAgWzwwMDAwMGEwMDAwMjAy
MjY0Pl0gZW5hYmxlX25vbmJvb3RfY3B1cysweDEyOC8weDFhYyAoUEMpDQo+Pj4gKFhFTikg
WyAgMzE2LjE1MzIxOV0gICAgWzwwMDAwMGEwMDAwMjAyMjVjPl0gZW5hYmxlX25vbmJvb3Rf
Y3B1cysweDEyMC8weDFhYyAoTFIpDQo+Pj4gKFhFTikgWyAgMzE2LjE2MDM5MV0gICAgWzww
MDAwMGEwMDAwMjc4MTgwPl0gc3VzcGVuZC5jI3N5c3RlbV9zdXNwZW5kKzB4NGMvMHgxYTAN
Cj4+PiAoWEVOKSBbICAzMTYuMTY3NDc2XSAgICBbPDAwMDAwYTAwMDAyMDZiNzA+XSBkb21h
aW4uYyNjb250aW51ZV9oeXBlcmNhbGxfdGFza2xldF9oYW5kbGVyKzB4NTQvMHhkMA0KPj4+
IChYRU4pIFsgIDMxNi4xNzYxMTddICAgIFs8MDAwMDBhMDAwMDIyNjUzOD5dIHRhc2tsZXQu
YyNkb190YXNrbGV0X3dvcmsrMHhiOC8weDEwMA0KPj4+IChYRU4pIFsgIDMxNi4xODMyODhd
ICAgIFs8MDAwMDBhMDAwMDIyNjkyMD5dIGRvX3Rhc2tsZXQrMHg2OC8weGIwDQo+Pj4gKFhF
TikgWyAgMzE2LjE4OTA3N10gICAgWzwwMDAwMGEwMDAwMjZlMTIwPl0gZG9tYWluLmMjaWRs
ZV9sb29wKzB4N2MvMHgxOTQNCj4+PiAoWEVOKSBbICAzMTYuMTk1NjQ0XSAgICBbPDAwMDAw
YTAwMDAyNzc2Mzg+XSBzaHV0ZG93bi5jI2hhbHRfdGhpc19jcHUrMC8weDE0DQo+Pj4gKFhF
TikgWyAgMzE2LjIwMjM4M10gICAgWzwwMDAwMDAwMDAwMDAwMDA4Pl0gMDAwMDAwMDAwMDAw
MDAwOA0KPj4+DQo+Pj4gRnJlZWluZyBwZXItQ1BVIGFyZWFzIGFuZCBzZXR0aW5nIF9fcGVy
X2NwdV9vZmZzZXQgdG8gSU5WQUxJRF9QRVJDUFVfQVJFQQ0KPj4+IG9ubHkgb2NjdXIgd2hl
biAhcGFya19vZmZsaW5lX2NwdXMgYW5kIHN5c3RlbV9zdGF0ZSBpcyBub3QgU1lTX1NUQVRF
X3N1c3BlbmQuDQo+Pj4gT24gQVJNNjQsIHBhcmtfb2ZmbGluZV9jcHVzIGlzIGFsd2F5cyBm
YWxzZSwgc28gc2V0dGluZyBfX3Blcl9jcHVfb2Zmc2V0IHRvDQo+Pj4gSU5WQUxJRF9QRVJD
UFVfQVJFQSBkZXBlbmRzIHNvbGVseSBvbiB0aGUgc3lzdGVtIHN0YXRlLg0KPj4+DQo+Pj4g
SWYgdGhlIHN5c3RlbSBpcyBzdXNwZW5kZWQsIHRoaXMgYXJlYSBpcyBub3QgZnJlZWQsIGFu
ZCBkdXJpbmcgcmVzdW1lLCBhbiBlcnJvcg0KPj4+IG9jY3VycyBpbiBpbml0X3BlcmNwdV9h
cmVhLCBjYXVzaW5nIGEgY3Jhc2ggYmVjYXVzZSBJTlZBTElEX1BFUkNQVV9BUkVBIGlzIG5v
dA0KPj4+IHNldCBhbmQgcGFya19vZmZsaW5lX2NwdXMgcmVtYWlucyAwOg0KPj4+DQo+Pj4g
ICAgICAgaWYgKCBfX3Blcl9jcHVfb2Zmc2V0W2NwdV0gIT0gSU5WQUxJRF9QRVJDUFVfQVJF
QSApDQo+Pj4gICAgICAgICAgIHJldHVybiBwYXJrX29mZmxpbmVfY3B1cyA/IDAgOiAtRUJV
U1k7DQo+Pj4NCj4+PiBJdCBhcHBlYXJzIHRoYXQgdGhlIHNhbWUgY3Jhc2ggY2FuIG9jY3Vy
IG9uIHg4NiBpZiBwYXJrX29mZmxpbmVfY3B1cyBpcyBzZXQNCj4+PiB0byAwIGR1cmluZyBY
ZW4gc3VzcGVuZC4NCj4+DQo+PiBJIGFtIHJhdGhlciBjb25mdXNlZC4gTG9va2luZyBhdCB0
aGUgeDg2IGNvZGUsIGl0IHNlZW1zDQo+PiBwYXJrX29mZmxpbmVfY3B1cyBpcyBjbGVhcmVk
IGZvciBBTUQgcGxhdGZvcm1zLiBTbyBhcmUgeW91IHNheWluZyB0aGUNCj4+IHN1c3BlbmQv
cmVzdW1lIGRvZXNuJ3Qgd29yayBvbiBBTUQ/DQo+IA0KPiBSaWdodCBub3cgSSBjYW4ndCBz
ZWUgaG93IGl0IHdvdWxkIHdvcmsgdGhlcmUuIEkndmUgYXNrZWQgTWFyZWsgZm9yIGNsYXJp
ZmljYXRpb24NCj4gYXMgdG8gdGhlaXIgdXNlcnMgdXNpbmcgUzMgb25seSBvbiBJbnRlbCBo
YXJkd2FyZS4NCj4gDQo+IEphbg0KDQpTZWVtcyBhcyBpZiB0aGlzIGlzc3VlIGhhcyBiZWVu
IGludHJvZHVjZWQgd2l0aCBjb21taXQgZjc1NzgwZDI2YjJmDQooInhlbjogbW92ZSBwZXIt
Y3B1IGFyZWEgbWFuYWdlbWVudCBpbnRvIGNvbW1vbiBjb2RlIikuIEJlZm9yZSB0aGF0DQpv
biB4ODYgdGhlcmUgd2FzIGp1c3Q6DQoNCiAgICAgaWYgKCBfX3Blcl9jcHVfb2Zmc2V0W2Nw
dV0gIT0gSU5WQUxJRF9QRVJDUFVfQVJFQSApDQogICAgICAgICByZXR1cm4gMDsNCg0KaW4g
aW5pdF9wZXJjcHVfYXJlYSgpLg0KDQoNCkp1ZXJnZW4NCg==
--------------jweLOnVWqay0Zg2EGtcQR5i3
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-----

--------------jweLOnVWqay0Zg2EGtcQR5i3--

--------------DFhPtmQ20w3VGuwBhFyrjJdL--

--------------u4G5UFU0FSpwiqzpoWtXSVB9
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/Ey8FAmfTAmAFAwAAAAAACgkQsN6d1ii/Ey+Y
Wwf/YlStCsEGXUAH4Z/yggloSOur6zY8pWEdINMJ+XjdKzK0mZhe0SZWtoSN2Tjapv6idMKD2a4j
sqFWqeKXQB1xGddS8BOh6CQke294VXsXoUjH6E8L+Ce2wanHkPX+oP6onD9te0oeLRoCmB1linir
iuif5x2jmSNKoy19JZWzCOXZTiEhj1tHtU2ZPGdGr3G8eRUp4wBQQQ4l7iZQPMfmKI/kmMjl1jU5
IMf9FjVzEOjtKiDY+7KD8nu1q4GsRtiICflrlkW1I1Z3iJGp8vmB3oRpYG5Z4uW+ILryefwX9zdh
lXvh9TTZKGKLAAyAg9Z61Z0jw7rbjkKdvutX5KbEbw==
=AVti
-----END PGP SIGNATURE-----

--------------u4G5UFU0FSpwiqzpoWtXSVB9--


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:07:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912734.1318943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsl5a-0002eI-53; Thu, 13 Mar 2025 16:07:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912734.1318943; Thu, 13 Mar 2025 16:07: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 1tsl5a-0002eB-2G; Thu, 13 Mar 2025 16:07:18 +0000
Received: by outflank-mailman (input) for mailman id 912734;
 Thu, 13 Mar 2025 16:07: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsl5Z-0002e5-CM
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:07: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 3bb366f3-0025-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:07:16 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so10656305e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:07:16 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8c5cf7sm60272015e9.29.2025.03.13.09.07.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:07: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: 3bb366f3-0025-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741882036; x=1742486836; 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=+ZneD6VcGUopBQWhwzYjMP+/HE5ihvm3CickRHK7Qcs=;
        b=gDlSxKhlDoo/u7HfvvDH7k6Fu5MZ+fQwcJuZGnbDNVNsHP4xU7YAk46bLMcuoEb87Y
         YU9UjrAaySeynOt8whdFsgyp1Y5dSkINqQtqSm11xfppZR1IIBnphtHYSibxPRH0hG3X
         X8yweqEjE4T62Egv1PpEyJPtTZ/Ord3lIMjh8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741882036; x=1742486836;
        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=+ZneD6VcGUopBQWhwzYjMP+/HE5ihvm3CickRHK7Qcs=;
        b=H4EfDyAV5yqhoJNqPR5nKjk7qGy0QtHNutOkhcvUAis6VsVFDhayDRW2Sgf/P56942
         dZzh0cCcXi/8BsRrU11bfpIll+X+HAr7JMwGeWviPShnagDkKiXufCvR62ADv3acD0Zm
         FvRIR7FsDyCvpBxzCi4HjrfV5NL1di1PVMzwCf20NE3/MvEk/XjIeOuLDbdHcxD7IYrF
         fJGSAbStLWQSFXod5dFxIVfaW0tGjuJOCv4UVXOzfUuRyLd5LVvH36o/C45shV/Nsaiy
         4CdcpRWq+nU6UudFal8GZv9itO1QY1ansk1mnMl8idF9Nmi4V+sh6HnsQfgsALHBebpQ
         bJjQ==
X-Forwarded-Encrypted: i=1; AJvYcCUaZD6zEHHjiv/jmQmUHJkxs+3JlaFO5xohRoYSiQwM+20YjuoU/bOGxhD+kxNXwcPOQNjY31om7ow=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYCX6HhMxDIBNbB3MV3m456zpyVEtgd5ZphxiVkpOgnyrEi7gl
	ZZLm43DZ/1neTZbShDJH77l+BgeE4FZy45YlxdDNFf8Wiz5OyNhGwv1AnMUNbvc=
X-Gm-Gg: ASbGncuHtp6MFlJaM71IPXE+EHrvbULzbDVYBcjg7pSd/2lx/yUWrFamca183MEhE6O
	Bq6A3MpwZ+H1pTzapAMayAlMKbJiSGDXgvwBa53oolL3yWuZtFCihpJEBXFYW05HftZaZH1irCu
	waaq+WgI65hi+I0qqBPeRwOFvdeHVoPhPfX4tlOdxflXkAp32gGsFL/ScJP3pC8r+MyjpXXe4Ad
	bIDkhxKk4W91Ebz1wcS29No4dnVvvrzkfeAMjBbdklMNycXbd9h1b5kKQ+r01TvQo9fCPgS8sLp
	tXWHAWhucl9yMK0/lCYRMU9Arz9rfN5J8Imr1+F/HUvYuj6xxP5RC+bfBnS5FLdjuNJVuDeTeIR
	Uo5zZO/bY
X-Google-Smtp-Source: AGHT+IGeC7EfQnhXysmrsaQJtuumvDVfKQSrCjD2s1pAhigFvkVwJuAM2VyriTo7c/KMj1FeG4W9Dw==
X-Received: by 2002:a05:600c:3502:b0:43c:eb63:415d with SMTP id 5b1f17b1804b1-43d1d8c34ffmr2555885e9.14.1741882035895;
        Thu, 13 Mar 2025 09:07:15 -0700 (PDT)
Message-ID: <748ebdd6-9518-4c6b-9dd3-7ffd13ea08c7@citrix.com>
Date: Thu, 13 Mar 2025 16:07:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] symbols: don't over-align generated data
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>, Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <816a0320-d229-4f7e-b1b5-51dbb640c5c8@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: <816a0320-d229-4f7e-b1b5-51dbb640c5c8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/03/2025 1:53 pm, Jan Beulich wrote:
> x86 is one of the few architectures where .align has the same meaning as
> .balign; most other architectures (Arm, PPC, and RISC-V in particular)
> give it the same meaning as .p2align. Aligning every one of these item
> to 256 bytes (on all 64-bit architectures except x86-64) is clearly too
> much.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

> ---
> Even uniformly aligning to 4 (x86, Arm32) or 8 bytes is too much imo,
> when some of the items require only 1- or 2-byte alignment.

It matters about the largest item, not the smallest.

>
> Is there a reason only x86 defines SYMBOLS_ORIGIN, to halve the address
> table in size? (Arm32 and other possible 32-bit ports of course have no
> need for doing so, but for 64-bit ones that can make quite a bit of a
> difference.)

I think the likely answer is that noone really understands how the
symbol generation works, and didn't know that setting SYMBOLS_ORIGIN
would be relevant.

I had a nasty interaction with the symbol code for the IDT-gen work, and
it took a while to even get this intermediate file out.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:12:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912743.1318954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslAJ-0004xS-Mp; Thu, 13 Mar 2025 16:12:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912743.1318954; Thu, 13 Mar 2025 16:12: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 1tslAJ-0004xL-Iv; Thu, 13 Mar 2025 16:12:11 +0000
Received: by outflank-mailman (input) for mailman id 912743;
 Thu, 13 Mar 2025 16:12: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tslAI-0004xF-JK
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:12:10 +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 e88834fc-0025-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:12:06 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso8055345e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:12: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-395cb318a3dsm2549864f8f.74.2025.03.13.09.12.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:12: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: e88834fc-0025-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741882328; x=1742487128; 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=7pD43WYx7h5WIEm4qKmoGo5dMRCJtIqX3bMyJ2GTlmo=;
        b=dhlFs0FiZu+CxMmOpXSeaj17ih38Tt96glAWVnwx55PbRxX3P9678wTYW+Y+ELbTwD
         sARTG2EBpeQMTitpP9JwrjLi3w5i0yR4zpUHC6rfTXuCoqObGYZ6+REQYTGC6np7xflN
         cHGGYMIc5EoRkl5UDSCLobAYQpyHsyHYHhHy5unyzuLh0E5J/nnxnL2LlrkAqarZgcpW
         x/ceFyM1j7KKdcB7XWS/NMHOey7PPU22Cc6gfrCn/Tw5hCXjV+C6VDTX737cogngUE4C
         v2Q6zwgHwbYoGY47HN8RJRz1xj/J8A3xDQVYnuz4AWqEvzVrOFJFm21tjwzxhE3A8HDv
         ojwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741882328; x=1742487128;
        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=7pD43WYx7h5WIEm4qKmoGo5dMRCJtIqX3bMyJ2GTlmo=;
        b=dznkFN0fiSUTRauO07S4cu/1NRD/xlP+hWD5tDocuK7FMQgUDMDZg3TjXDj8y4xsf3
         3oYKzBLWDvscejEF+OLWM9xIfAzkbzsTxUtczFDNKrYiwuR9qcbd8gKIrL6sBdRRxmnh
         Esk2Y65on2sGCLwETxZsOKVLwTiA+XRzR85BQXA9qNu73i//oamXY9a3XitJhTVmgjVI
         BbjwZpD3gqpH9g7dL1KvmkA5OvzDf7irrU25hcLT572PCxrYMVXvOZUHli+pCTzO264/
         +ANvOGid9XtTdNKIvzLEF8/Zklseof+kKXrEZ+fmAeGxJYwyo8W9Gw/KtKRBONBeXJq/
         1wXQ==
X-Forwarded-Encrypted: i=1; AJvYcCVIlggaAJWIcLc0OTRRNZxVpEYNxnhn7+OvAEq9fpO4V/GWSyDsLOBJ3FvpFYPQpcFIV1/VsbuOaL0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPKvQQTkA+hdrvABdxmoCjDUUoYoJqp/Myo/vqb9meKcpRDfe1
	hfEf20Ms5e3J5IX/7ri1uFchgYkYMpKhJ2lUiqJW8rlDAPe1OkmufG/zZ2pbbg==
X-Gm-Gg: ASbGncvP1G8rQ9jWryGXvrIZ6zj+v6LfmrL21Id8weq23qnduPUgBV3hkAAGpKJwEQv
	THRrqHbCvLLTB2AqRAQdez3KTK1wClO2J1iWk24Mhggp6y628V9tXy257bxqRW3AM5eNcfLdQ88
	vFc25KCcULGiLQxkIHY7I9aS+dmh+osXE7Wk1PlFLcy4Q2YLv6+0I2MNjULW73tMznKSFth/dXz
	nEk+ySfVXSFU5LU/l2lEkULsH0TxglgYGwB1sEmLHCqZlfLQ7YvL4BR6zvFFcWruxKWbX2ws4et
	pAQoy6tTMPWdCy747+BwyLqrOahqSWoB1KUC1bolO5DjcXYtJZiG+/4Myhc7kXOe7BnwJ47R56v
	ddpkCicBrpLDhdfEUC9A+Vu02tXddcA==
X-Google-Smtp-Source: AGHT+IG7cWuDP6icKTUBpL8jkMuJEusmMpq5PY9gltHNNhnyl8WRTp4hcH4AGVUiYk1vEOAsRfA74g==
X-Received: by 2002:adf:a31e:0:b0:390:e85b:a8ee with SMTP id ffacd0b85a97d-396c1471b8fmr126016f8f.1.1741882328001;
        Thu, 13 Mar 2025 09:12:08 -0700 (PDT)
Message-ID: <775e644d-10a0-4cbe-a6de-20b3464245d0@suse.com>
Date: Thu, 13 Mar 2025 17:12:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] symbols: don't over-align generated data
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>, Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <816a0320-d229-4f7e-b1b5-51dbb640c5c8@suse.com>
 <748ebdd6-9518-4c6b-9dd3-7ffd13ea08c7@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: <748ebdd6-9518-4c6b-9dd3-7ffd13ea08c7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 17:07, Andrew Cooper wrote:
> On 13/03/2025 1:53 pm, Jan Beulich wrote:
>> x86 is one of the few architectures where .align has the same meaning as
>> .balign; most other architectures (Arm, PPC, and RISC-V in particular)
>> give it the same meaning as .p2align. Aligning every one of these item
>> to 256 bytes (on all 64-bit architectures except x86-64) is clearly too
>> much.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

>> ---
>> Even uniformly aligning to 4 (x86, Arm32) or 8 bytes is too much imo,
>> when some of the items require only 1- or 2-byte alignment.
> 
> It matters about the largest item, not the smallest.

The labels we generate are all followed by uniform-granularity data.
Labels starting arrays of bytes or shorts are nevertheless 4- or 8-byte
aligned.

>> Is there a reason only x86 defines SYMBOLS_ORIGIN, to halve the address
>> table in size? (Arm32 and other possible 32-bit ports of course have no
>> need for doing so, but for 64-bit ones that can make quite a bit of a
>> difference.)
> 
> I think the likely answer is that noone really understands how the
> symbol generation works, and didn't know that setting SYMBOLS_ORIGIN
> would be relevant.

Hmm, I didn't consider this might be the reason, but you may well be right.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:13:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912757.1318963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslBK-0006AU-VH; Thu, 13 Mar 2025 16:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912757.1318963; Thu, 13 Mar 2025 16:13: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 1tslBK-0006AM-S6; Thu, 13 Mar 2025 16:13:14 +0000
Received: by outflank-mailman (input) for mailman id 912757;
 Thu, 13 Mar 2025 16:13: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsl6I-0001uS-9s
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:08:02 +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 54b7a509-0025-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:07:58 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso7541105e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:08: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-43d0a731019sm59691045e9.2.2025.03.13.09.07.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:07: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: 54b7a509-0025-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741882080; x=1742486880; 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=F968EDtyxXKciLWHcXZkuA8Oqr6WkNLwLwiKKFbVZXo=;
        b=SJi4iWLhoYRZ2dU+8Ck+yZtWZS2gmQYRXOKGErUbgdPQ/uP58S8Oc7AeBv8u5qYSOa
         r6R3m1OcNfv+cjglUcFbNFUcR4AIrxwYttlZvSgqBpAQpdJmqrKWWRtxswGP/UARe0v3
         r+G6XtxavIWh/uJbMa5aBAnue71xStXkk+rJV/oS7rg3AIO9sBPQTr7OOMCDVp3/ICne
         Xl2cAW/okb+Pm9sUxcU68Mb2yVySSZ8gY0eN3wm5NUa++Ny4uK7Zf5ae4ZHDaU2fr5fk
         1unGl8m293CREXL7YelV2EWVwtZn9PxyNX1U4rdd8Z+JBjxHp5Ig1ASSZVKXfxuGIrae
         WBww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741882080; x=1742486880;
        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=F968EDtyxXKciLWHcXZkuA8Oqr6WkNLwLwiKKFbVZXo=;
        b=tMtbrquYXuY24R9gatDl+IR+O1ehtChwH5ZAkkiXALbU5wd2XkGNoQoQIbHlU+xf39
         Ymcn2SKmwd3UO/QUW0/gcOB7Lr4RVPHSb0sbzLS1cGsFjUHldRPM61gMg6zNax6km+q4
         3i3WENnNEn0xXvXsKEyqHU3WulrGXq6DIx70Ppl0m/0rMO+adlFo46wooNSD06Qe4sb0
         FbVGzJKquY/WmBF8FvVxj/BGlc5MPfEkiJfHGj7EwDhff85O8qnbSMEcwGwpKdKOemuM
         wHakc7y0PMK6CLeBxl15PaMKVa1JTROucS3OIEStsU/tigSgW3hMp+8qANOFSxDCxvje
         RcSw==
X-Gm-Message-State: AOJu0YzRUXiLQBTy8/SmKUbXwfMzJAR4bth1hSZU1s3kpCxDiwJaBZiv
	uBvYbJRidbaCKGCNhjXQeVsMdPvHrsDsO4BWW+KmjhHz5epfhjgAbbYgzmSUNIcY8WIuSII4gcE
	=
X-Gm-Gg: ASbGncsCpb0lO8o69oYoL4YHlyfVSGMTVOc83241GaDgg85Sod4bGHTi1hrc3fg9DBc
	n0Kgo+hl9TaAVJcHVNdraZfjO2TpbugsuXR8xO857qtvrxPOc/Bucnd07ZP/y65sWZ0zBcDi9RU
	bqIRnsFBqY2a2782fNJqHbWJ0mpz23R5NJlhlj+9t4RaBSd2nXTKffjy5TU1D47eQ4bc0LmZ1Nr
	C9Bx6k6+184QicIwOqEwtEQgd9FMT8gPgN1vqOn3KYIfJEujl7cJMhKrME2oXF7ZStudOaUei5Y
	sZD3GrZI7IYTkix8G258hya32PX5fQq1iRfVohr7tebk7mOCzDL7OpMizkuKNaMzbFYcna80UYy
	V8wvNf2jCB2sUyDY2ZDcLm/RRJmcyfA==
X-Google-Smtp-Source: AGHT+IG7zey9t8D/enPMHahwcwkShUrft3z5Y5zDeQGjOHFx+rQRMBReq6pFz6xyt7T2kRs9g8TXOg==
X-Received: by 2002:a05:600c:4fce:b0:43b:c0fa:f9dd with SMTP id 5b1f17b1804b1-43d01c25c64mr100357375e9.25.1741882080049;
        Thu, 13 Mar 2025 09:08:00 -0700 (PDT)
Message-ID: <5cb338cb-3e5d-4c3d-8ee6-6c0c7c76348e@suse.com>
Date: Thu, 13 Mar 2025 17:07:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <1d3ac61a-1acf-46b3-91bc-1dcb8bab1559@amd.com>
 <Z9L-HPlfZhvIh8yn@macbook.local>
 <d3378c73-7185-4f9f-8e61-be12171dfc21@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: <d3378c73-7185-4f9f-8e61-be12171dfc21@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 17:02, Andrew Cooper wrote:
> On 13/03/2025 3:47 pm, Roger Pau MonnĂŠ wrote:
>> On Thu, Mar 13, 2025 at 11:30:28AM -0400, Jason Andryuk wrote:
>>> On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
>>>> On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
>>>>> The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
>>>>> dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
>>>>> all that has been tested.
>>>> DYK why it fails to enable 32?
>>> In Linux msi_capability_init()
>>>
>>>         /* Reject multi-MSI early on irq domain enabled architectures */
>>>         if (nvec > 1 && !pci_msi_domain_supports(dev,
>>> MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
>>>                 return 1;
>>>
>>> MSI_FLAG_MULTI_PCI_MSI is only set for AMD and Intel interrupt remapping,
>>> and Xen PVH and HVM don't have either of those.  They are using "VECTOR", so
>>> this check fails.
>> Oh, interesting.  So classic PV MSI domain supports
>> MSI_FLAG_MULTI_PCI_MSI, even when no IOMMU is exposed there either.
>>
>> Thanks, so it's nothing specific to Xen, just how Linux works.
> 
> This is something which TGLX and I have discussed in the past.Â  It is a
> mistake for any x86 system to do MSI multi-message without an IOMMU.

Well, with PVH there always will be an IOMMU, just that Linux can't see
it. Even with PV it should be the hypervisor to determine whether multi-
message MSI is possible. Hence how the classic (non-pvops) kernel had
worked in this regard.

Jan

> MSI multi-message gets you a power-of-2, aligned, block of vectors, up
> to a maximum of 32, which must always target the same CPU.
> 
> The LAPIC prioritisation is on groups of 16, aligned, vectors.
> 
> If MSI has 16 or fewer vectors, then any interrupt causes all others to
> be blocked owing to LAPIC behaviour.
> 
> With 32 vectors, you can get two vectors (one from the first 16, one
> from the second 16) where the higher vector can interrupt the lower
> one.Â  And you pay 32 vectors for this.
> 
> With the IOMMU, every message gets a controllable CPU and controllable
> priority, because they come from the IRTE, not the device.
> 
> Removing Multi-MSI support makes vector allocation much easier because
> you you never need to allocate/move blocks.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:15:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:15:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912773.1318973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslDm-00073L-BK; Thu, 13 Mar 2025 16:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912773.1318973; Thu, 13 Mar 2025 16: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 1tslDm-00073E-7G; Thu, 13 Mar 2025 16:15:46 +0000
Received: by outflank-mailman (input) for mailman id 912773;
 Thu, 13 Mar 2025 16:15: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tslDl-000738-5q
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:15:45 +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 6921222f-0026-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:15:42 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so10284275e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:15:42 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c4f9d59dsm2591232f8f.0.2025.03.13.09.15.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:15: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: 6921222f-0026-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741882542; x=1742487342; 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=70tr7Me46dxDdy/OHGrbBDotjQ8EooizTDRqxHCOGoI=;
        b=nflqAD5Dwu7f5b5XfGxXk8lGEF5xnDDSeG3s6bGP3oIiNa6koFHpapjyN/07lm7H53
         bIrxGk8JTN60NfN9gD2VQHCxsMwfbo8EXfN/yvmDsRew/LQm6YT9UvCcjEyHmoliaSmN
         PChKxQntjMDuJMzSciBrhjWCFCNF6HCX9V0so=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741882542; x=1742487342;
        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=70tr7Me46dxDdy/OHGrbBDotjQ8EooizTDRqxHCOGoI=;
        b=b82iHH23Y2OYWQOqEOkR0BYWCHPe8mfVaY+4J1w4Yo5tuXrrLKWTB1JQtxbXSSuZ0R
         hwMrL0sf+VlGpKCH9hI9CdFoW9zwTVZoUxUoKxWhHxT2bPOLYuvm+1//vEQkAAkbHEtg
         +7dYeqjpbCZbgjTJ9UJ1GEcJ/3yZB69TZqw/NaRaQl6gzvoQHJZX9zoEgFIVlk+IOIZ0
         J789c0OPTioEjypxKr/4oHbQhhLEBJrjz36w3MZxv0AuBKE6T2EPH2th/cVcoYWR2lVy
         SfRgiOO21euJbS1tnQtaicX7LnaXy9wKo6G7DRx2Vw2JN7N9XXfu9RrGTF0p6kobr0Kb
         qATA==
X-Forwarded-Encrypted: i=1; AJvYcCWfC9dkVoGYVmdUlP6x/492/oV9yElK7oVaMWIMFY9oM4fTvQpXBcmWD9la3CN/deyrKr09SZ9bQ8c=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywd+FvGIWJAcbS8QIojVTUKrdHozl8LMChE9ycw0k1BUy2Sl5Xt
	Xv6ZYmfh/y2tWPVr+G83fUgS3Re9MIh8b0+fQ5hg9HAZlQsWu8VTVBpCBOW/DJk=
X-Gm-Gg: ASbGncuRByIqEKKK9yLXHcowoWl6cL+8ozCRYD7b5KriK4P8rW/8oEmZ5cw/jaw7T3U
	U0q0oD6Vu+YAbT+53H9RR+6JDWqS2aEzeBeoVr8rzEnbmcwmSyb8T/iGamu61LSlry8trMQ9o5y
	Qh9yinMhMVu5ygDwJpec46wXzHhpDgWxvfPUlvmIgDb/Dj4fxy9hSu4JSEtZBT9i0z0cpNtY8TE
	6zvIvVRfNbDylOwvfciUp6DrK4GaLIrmQXUZa9KJdDfAlKBr+S5E/xWEjcOMvvrxEJ83Xgdf7iH
	iw2Dj/Xa9Wz0GWwopn+86nwov2Rgw180Y6s0OI+/R1Ozop/qa5uYmr39NtOnmq2UO1zBC1zFlwt
	cKkQpdvPt
X-Google-Smtp-Source: AGHT+IFzlSfLcmf9x+8ZoFIuqu9gHhSmquLo0XeNW4cxZIAbk/VMUINH6XXZ6dP9k+9FzU93IaWVeA==
X-Received: by 2002:a05:600c:1c0b:b0:43c:fceb:91f with SMTP id 5b1f17b1804b1-43d1d8976b3mr3298775e9.11.1741882541653;
        Thu, 13 Mar 2025 09:15:41 -0700 (PDT)
Message-ID: <78dc00ee-1225-49ee-a067-8d29f5709c76@citrix.com>
Date: Thu, 13 Mar 2025 16:15:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] symbols: sanitize a few variable's types
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <c4b7f6ce-baa9-4b55-bdea-a67ff7d5daa1@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: <c4b7f6ce-baa9-4b55-bdea-a67ff7d5daa1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/03/2025 1:53 pm, Jan Beulich wrote:
> Parameter and return types of symbols_expand_symbol() make clear that
> xensyms_read()'s next_offset doesn't need to be 64-bit.
>
> xensyms_read()'s first parameter type makes clear that the function's
> next_symbols doesn't need to be 64-bit.
>
> symbols_num_syms'es type makes clear that iteration locals in
> symbols_lookup() don't need to be unsigned long (i.e. 64-bit on 64-bit
> architectures).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:20:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:20:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912786.1318983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslIC-0000Ay-Uk; Thu, 13 Mar 2025 16:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912786.1318983; Thu, 13 Mar 2025 16:20: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 1tslIC-0000Ar-S0; Thu, 13 Mar 2025 16:20:20 +0000
Received: by outflank-mailman (input) for mailman id 912786;
 Thu, 13 Mar 2025 16: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tslIB-0000AQ-Ej
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:20:19 +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 0bd9f370-0027-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:20:15 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso8289835e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:20: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-43d0a8c5cbfsm57734195e9.30.2025.03.13.09.20.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:20: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: 0bd9f370-0027-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741882817; x=1742487617; 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=CN2dl8hKbg4jB89UynxSOh+FhyrGQWCOyXDvUEro5kQ=;
        b=H2Rgu+K1kx04ASGvZlAJXm7c/W3f38D6fVvj4zl54XI0UJ68OtSVWNnY8eiy9GdPq+
         zLv8odHKrAKIbFs2X3XiSx5TBylo2c3w1c65AzrCQ5cIu+SzruhrTc4HJwLaDPz6XdEf
         OWScRoeiT2FBFbk3qn1NBKdnR2+y/EVMTJ1PkyWMSh0PDgWtdvxdmfazTK+60SztgCsQ
         kRCsrc7Xs57/66HbJsYuUTNRMxFCCi77lRvZJQNKtRHVmta+aglmrnxfz/gBQOimVTNK
         0RWHwU2wTNcy8lNZxegRNYpydekXfysqhj8kqWTEoMmj6paMvu3rdJbsR/YqP/topzJ/
         8YSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741882817; x=1742487617;
        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=CN2dl8hKbg4jB89UynxSOh+FhyrGQWCOyXDvUEro5kQ=;
        b=MHcqvjCkn+zcc4s1eI8XD5HGXCn0YzD0oaf85Vjdf1k7miZMd/+xjvdnje4Tg75WY8
         6fcxUrYeFsN9qJZhn+PfRO+VSzZRhTw1dukS+/Wli91BdCFqZBSL1vTctJ+0fbQgftUA
         pyQDKgr9UNtrLIAv/bbyd7CxU15Mo/abey5CEtWd6x6Ff8J0GM7uWnETXPZecFzIr5EA
         4t8X264wggYVrOi3AkiEITLYv6e0z6txXyk1Kn7fw83SoPy1oyqCSVM67mWPxQdj5Gpp
         lKGUg7gUddFMQvs1Se+27LAaNGF3vQ/jbqwu8URHqykK83lkdGAmzlMYr8Ozg6Yfin+F
         fAew==
X-Forwarded-Encrypted: i=1; AJvYcCVZM3tlyDA+QdA7i7p9fpOySQeDnK4PLHdxsrEYiUj24rTBZNXZRp+IUYbDLkI9Id1i5A5BsX6jNG4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxG9x0fPNrp+uzzKZR6aaO5SmqXvC9n00nzS0xj7Xbjrp5UOEzJ
	vTVQi76Rt4F6f4yUCVdsCZx/czdbTXzMWW8SaXJpbuGSQb5/2/vtxk0pB91K9A==
X-Gm-Gg: ASbGncvh4ArakNDIkhVPtOkFdif1zAjP9RzsXE7jDEi2nxJbGItcMxO07oQp9V6uCZt
	MPd2XHdGKF7/aQ3z4JRZDAGZgt2n1pptE+7gyRcPph2WVZD3cjs05YT4xFf1XPE4IK/5DJsoeLq
	KvHtgxTeggi8zcbuCorCP9ukZ/Tfcp3P4cmxrufNXo0o1iwv04fEWE5X73M1dAFpSi+WLFXGnVA
	xIm1iBTY+pgWwcgEg6k5oEZQvEfMGAjrbSQrIDRhVouafQjMqNjcSLp+fxjTgPi90mL3K8d9Gzj
	81UDUMqbVe091KRi7j5uTntOwIK2yl+pOF9cElndPdPgVN0OpDenYAh52BC5FZdOhG2uPSy6rpC
	8UaVZwuSA/9e1Ibabr64GsooHZR62mQ==
X-Google-Smtp-Source: AGHT+IHiAv4zIgw+G18Ng3gwseaAkIWqFTWCIqiJHJ355h6rWe0iRM9d9bXFcZyQWVYP+ZX64dSPAQ==
X-Received: by 2002:a05:600c:1911:b0:43d:649:4e50 with SMTP id 5b1f17b1804b1-43d1d8c6329mr2609365e9.13.1741882816849;
        Thu, 13 Mar 2025 09:20:16 -0700 (PDT)
Message-ID: <08cf29e4-8029-4c3b-bb32-f84bcb6d3678@suse.com>
Date: Thu, 13 Mar 2025 17:20:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
To: Mykola Kvach <xakep.amatop@gmail.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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org,
 =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
 <c5ccb703-45eb-4fb1-842c-75317354afad@xen.org>
 <e8ddc992-a092-46d8-8c87-6b3c516fe464@suse.com>
 <32989e14-4754-427d-8347-73fc83a8bd62@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: <32989e14-4754-427d-8347-73fc83a8bd62@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 17:05, JĂźrgen GroĂ wrote:
> On 13.03.25 16:54, Jan Beulich wrote:
>> On 11.03.2025 21:59, Julien Grall wrote:
>>> On 05/03/2025 09:11, Mykola Kvach wrote:
>>>> Invocation of the CPU_UP_PREPARE notification
>>>> on ARM64 during resume causes a crash:
>>>>
>>>> (XEN) [  315.807606] Error bringing CPU1 up: -16
>>>> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
>>>> [...]
>>>> (XEN) [  316.142765] Xen call trace:
>>>> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
>>>> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
>>>> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
>>>> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
>>>> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
>>>> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
>>>> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
>>>> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
>>>> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
>>>>
>>>> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
>>>> only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
>>>> On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
>>>> INVALID_PERCPU_AREA depends solely on the system state.
>>>>
>>>> If the system is suspended, this area is not freed, and during resume, an error
>>>> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
>>>> set and park_offline_cpus remains 0:
>>>>
>>>>       if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>>>>           return park_offline_cpus ? 0 : -EBUSY;
>>>>
>>>> It appears that the same crash can occur on x86 if park_offline_cpus is set
>>>> to 0 during Xen suspend.
>>>
>>> I am rather confused. Looking at the x86 code, it seems
>>> park_offline_cpus is cleared for AMD platforms. So are you saying the
>>> suspend/resume doesn't work on AMD?
>>
>> Right now I can't see how it would work there. I've asked Marek for clarification
>> as to their users using S3 only on Intel hardware.
> 
> Seems as if this issue has been introduced with commit f75780d26b2f
> ("xen: move per-cpu area management into common code"). Before that
> on x86 there was just:
> 
>      if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>          return 0;
> 
> in init_percpu_area().

Ah yes. Mykola, can you then please address this by adjusting init_percpu_area(),
adding a Fixes: tag to reference the commit above?

Looking at the tags of the patch, please also make sure you clarify who's the
original author of the patch. Your S-o-b isn't first, but there's also no From:.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:24:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:24:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912797.1318992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslMV-0002fv-Ds; Thu, 13 Mar 2025 16:24:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912797.1318992; Thu, 13 Mar 2025 16:24: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 1tslMV-0002fo-BF; Thu, 13 Mar 2025 16:24:47 +0000
Received: by outflank-mailman (input) for mailman id 912797;
 Thu, 13 Mar 2025 16:24: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tslMU-0002fi-8z
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:24:46 +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 acb55a4e-0027-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:24:45 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso8168495e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:24:45 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8c5ccasm58020825e9.26.2025.03.13.09.24.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:24: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: acb55a4e-0027-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741883084; x=1742487884; 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=FTl2z2xXiEHA2WkDT3d9BmqXlUNB/n2Ei5q8BNARymE=;
        b=tKhCLfbqnNOp1SBvC2oo4mqONVCqrx6kquJe1zEmKJv7f1RTEdvT+CDFC8xYXbYfyT
         FgCLQvKpRfweFpDemf1LtKl8sYIb79Jq2+ePzbwpSxyT63NhQRrqFHu7iDKUaPzIXBAQ
         t3v5RgqaGnGMKpSzwpEUpK0P4SHKDehIeWbUI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883084; x=1742487884;
        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=FTl2z2xXiEHA2WkDT3d9BmqXlUNB/n2Ei5q8BNARymE=;
        b=k+qHPPsPIMR9f9nMhkJ9oTSnP9X0oMJibHvpRuHOvFEDAGtEyNFG8zCOvRi659abzO
         QKrbvH5bAwH/RQt6cW9KoSvqfaYDMLrqKJz+KVnihSy2rnBAEB1h6Zig44wKgrj7KRxt
         rT7FLMgrd3bTpuzbUWfzac6qNiSdj8DKO/etaLP8UXu3NIdmwCzzud8NyhYydPuq9Lwe
         QR+qJWIhbgucbQdaca+segnT43U2IUaMoRvJPksJnL+JGZA/6aSV1Lu6RGZBJB3KGc8r
         p8+b7snNEeyMDaxpX/8bM3d+nOXjwarYkdVuSr5lxQI2p0HIKewgISbEmfLJcYVbzn1A
         5rWQ==
X-Gm-Message-State: AOJu0YzyJhL8iJyAHz8fIhZ6oEw6m96UPwy5htdsGWY0hC9JtvqON+EU
	3dXRDPaaN5revqEbRwCEB8+nKvvs1HQLolv7cX6XB1SxrUUd7le6FWKohvoeJD0=
X-Gm-Gg: ASbGncssY8ktUTFBbVgxA5UsYhnXFic5H2YaxngHBlcyCGI7s3gNCiOr/DDu1V84+KL
	4OGyRF0hmkHyEyNCQJJFYvjP6F3i605IUnbQH52azWRBqZs/kEWQhnPmbG+odbWjdT9je1LnTVT
	S2rlIEedT58QtuLqeCOYB9oGtuyaOafxnyTtSjfAplCDma7AkaWx/8Htc7OEaVn6P4/dYhaLfz7
	rEozrdBzL+YizF/ZnF0ASjcStO4aHUjU8MgVP7KcblYHpI+eS0JK0pEdRkKDD3WSLu90MYnbXLz
	QRMF2avjZFx6J4LmsbZ+847CZp8x7UDvXNCtqPPO6jv1Yr2hwjDSMK167E81EzPNBTikZTr4/w6
	UL+bjBxPS7sgvtOdjCpk=
X-Google-Smtp-Source: AGHT+IGdHxO/bEQlqXbQlNQJUhVFwmjkFyYTXQhevsVUgRpdP962/qSvcwOch7t74FCk4mHHRPI0/Q==
X-Received: by 2002:a05:600c:4fc2:b0:43c:fded:9654 with SMTP id 5b1f17b1804b1-43d1d8e3fccmr2530915e9.19.1741883083037;
        Thu, 13 Mar 2025 09:24:43 -0700 (PDT)
Message-ID: <818b6a3c-bf65-489b-a551-d8539f52b452@citrix.com>
Date: Thu, 13 Mar 2025 16:24:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <1d3ac61a-1acf-46b3-91bc-1dcb8bab1559@amd.com>
 <Z9L-HPlfZhvIh8yn@macbook.local>
 <d3378c73-7185-4f9f-8e61-be12171dfc21@citrix.com>
 <5cb338cb-3e5d-4c3d-8ee6-6c0c7c76348e@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: <5cb338cb-3e5d-4c3d-8ee6-6c0c7c76348e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 4:07 pm, Jan Beulich wrote:
> On 13.03.2025 17:02, Andrew Cooper wrote:
>> On 13/03/2025 3:47 pm, Roger Pau MonnĂŠ wrote:
>>> On Thu, Mar 13, 2025 at 11:30:28AM -0400, Jason Andryuk wrote:
>>>> On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
>>>>> On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
>>>>>> The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
>>>>>> dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
>>>>>> all that has been tested.
>>>>> DYK why it fails to enable 32?
>>>> In Linux msi_capability_init()
>>>>
>>>>         /* Reject multi-MSI early on irq domain enabled architectures */
>>>>         if (nvec > 1 && !pci_msi_domain_supports(dev,
>>>> MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
>>>>                 return 1;
>>>>
>>>> MSI_FLAG_MULTI_PCI_MSI is only set for AMD and Intel interrupt remapping,
>>>> and Xen PVH and HVM don't have either of those.  They are using "VECTOR", so
>>>> this check fails.
>>> Oh, interesting.  So classic PV MSI domain supports
>>> MSI_FLAG_MULTI_PCI_MSI, even when no IOMMU is exposed there either.
>>>
>>> Thanks, so it's nothing specific to Xen, just how Linux works.
>> This is something which TGLX and I have discussed in the past.Â  It is a
>> mistake for any x86 system to do MSI multi-message without an IOMMU.
> Well, with PVH there always will be an IOMMU, just that Linux can't see
> it. Even with PV it should be the hypervisor to determine whether multi-
> message MSI is possible. Hence how the classic (non-pvops) kernel had
> worked in this regard.

Xen should hide (and instruct Qemu to hide) multi-message on non-IOMMU
hardware.Â  The result of "supporting" them on non-IOMMU hardware is
worse than making the driver run in single MSI mode.

While in theory Xen could expose "I've got an IOMMU so you can do multi
message" to guests, this isn't trivial for the guest to cope with.Â  Even
if the guest knows multi-message is safe, it still cant express this to
Xen via a multi-message shaped interface.

With Teddy's PV-IOMMU, this problem ought to go away because now the
guest can see the IOMMU.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:24:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:24:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912798.1319002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslMY-0002uh-Kd; Thu, 13 Mar 2025 16:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912798.1319002; Thu, 13 Mar 2025 16:24: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 1tslMY-0002uY-Hs; Thu, 13 Mar 2025 16:24:50 +0000
Received: by outflank-mailman (input) for mailman id 912798;
 Thu, 13 Mar 2025 16:24: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tslMX-0002fi-Bq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:24:49 +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 aed48b86-0027-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:24:48 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-390f5f48eafso703420f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:24: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-395c7df3512sm2785422f8f.12.2025.03.13.09.24.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:24: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: aed48b86-0027-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741883088; x=1742487888; 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=VQbiv3o1VPbSnvalhMR0Zn3EZ/anYo1JUUx5b6M7Dfk=;
        b=Ow1JCbZ8DvD2Qutg6CDgEF3z0shXrCFQ9Xv59SRYrqvvhqkgq+mX7PRyfcM0WMyvUR
         dFKRN16PZeYhYlZ6mmR55DYR7/9Xd36Hy8ZBkBH3DCTvEkISKnqAi8LIFZ/lzrJhVZtc
         c9OJTBtwo1bWIkqp3NiJcUuUzd/81Tn5yTiClRg6Q9nph5O9xSktWox8sIVSS+6Rb3JR
         Jh+YxzxLq8HWFFht1Y4swPBgE+aBjTgG5LCQG3Qdgla19jKaIEpYwilqHr6iJHtVujxT
         YWupI1oPAv7xPu+p7sWAQbXTOwPHZdK9c8Y/jG6TYUCTafnMHdwnr3jIwko4LZBQdBDE
         pVww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883088; x=1742487888;
        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=VQbiv3o1VPbSnvalhMR0Zn3EZ/anYo1JUUx5b6M7Dfk=;
        b=CZa/X4tDz5RCc3ucF4l4f19cdTsZQrCyvysU31DHasIDthW23xEzxFW0DAACJJD3vk
         8k2yZ1aOIIsZbvYt1UCKEYLj8ldUBECc/Pq4RYuYHpsJSJ5IfQGI4Jghj3z71xMwXVSZ
         ciJdQ25d1jOaO2DWLqT/FZhHbkwkx+uo31meVEjF89SHjJoqgPa4AYb67KOrEdCsZ7zS
         WkZZmI90rzZnt6KlGFDCVotmamFCfm9XMo2BsiDnlI09qy7QabMvR9ilno1/hURCYqJQ
         NP341V6gNGqoWj2MVOjwZsDb2+c6jSx1QQg25JHTO5uBgqFycosLTvSFd+ip0i1HVgtW
         fyGQ==
X-Forwarded-Encrypted: i=1; AJvYcCUo9LB5INJGXg2HEtHf01jRezPCyzythYFDHLImhb3ZbPmwn+5OlGl709i1t1kCe01Qml96OcpxMhI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwlWDZM8o9K1U8nJNMsEI7CMOSsvfQYJKJ8BDiAE5n0A2j/64hV
	bX0S1lvvFuPGTEhLyuG3GB5sxhFyGUS8qporvwO0hYwGGhP2MgGcOqCZS+KjMg==
X-Gm-Gg: ASbGncuWTXJvGWOPjJK9GNo9fBNC7LNv2cnOnZ7eu1Y99qonDNvv4GRbFVKQeb5MxVA
	0vtSZnH9SKWA2B968gJexztpzu9TvOpDwXFOtCYXh9/fd8qAStNH+gCJ82Vwr4tMjrorQECq2M/
	82Twj3Yf8cCL/oO4G3pdKnLsTEIPm7XOD9RnDGV2KysVbcQs7J+h+roNgg5exZX/8bTbazNvqWV
	tADE9TAkUBTw4dkb2+4IQeoQ95MgUgnbeoUlHyHinHBl7izklkI0gKDruqrknFGEgfRF9GUcVGC
	D08CgETWLZGxX5JBn/rJZxxCpRr/3eB+3NXTr+UQqO+6Z+k/aEyGSbsGAVCDs9t2pz86SkuACG3
	il7QJwMzbhKgwpZskBwgVzkhGY2BcVA==
X-Google-Smtp-Source: AGHT+IHJlqhn1O3RsaVoZ2CgtdifjjGMxQDvuFWt0AN1INolHRo1Y1heB602uamAsQ+v7bEOugSLpg==
X-Received: by 2002:a05:6000:1844:b0:390:e889:d1cf with SMTP id ffacd0b85a97d-396c336681fmr191543f8f.37.1741883088085;
        Thu, 13 Mar 2025 09:24:48 -0700 (PDT)
Message-ID: <1f394187-ffb6-4ddf-a6b4-e1f2384b5244@suse.com>
Date: Thu, 13 Mar 2025 17:24:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, Stefano Stabellini <stefano.stabellini@amd.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>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-2-Penny.Zheng@amd.com>
 <D8F334YWF1QL.1489MNJCLHXQ2@cloud.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: <D8F334YWF1QL.1489MNJCLHXQ2@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.03.2025 11:58, Alejandro Vallejo wrote:
> Hi,
> 
> On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
>> From: Stefano Stabellini <stefano.stabellini@amd.com>
>>
> 
> Commit message?
> 
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
>> ---
>>  xen/common/Kconfig | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
>> index 6166327f4d..72e1d7ea97 100644
>> --- a/xen/common/Kconfig
>> +++ b/xen/common/Kconfig
>> @@ -519,6 +519,15 @@ config TRACEBUFFER
>>  	  to be collected at run time for debugging or performance analysis.
>>  	  Memory and execution overhead when not active is minimal.
>>  
>> +menu "Supported hypercall interfaces"
>> +	visible if EXPERT
> 
> Any particular reason for placing it in the middle of the common menu and not
> at the end?
> 
>> +
>> +config SYSCTL
>> +	bool "Enable sysctl hypercall"
> 
> meganit: Arguably "sysctl" is a hypercall group rather than a hypercall, so
> "Enable sysctl hypercalls" sounds (subjectively) more appropriate.

I disagree. I view it as one hypercall with many sub-ops.

>> +	depends on !PV_SHIM_EXCLUSIVE
>> +	default y
> 
> Do we want a "help" statement stating the scope of the hypercall and the
> consequences of disabling it? Nothing major, but at least something that might
> convince someone on menuconfig/nconfig that this is indeed nothing to be
> touched for a "regular" build of Xen.

Yeah, so help text is certainly wanted.

>> +endmenu

There also wants to be a blank line ahead of this.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:26:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912817.1319012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslOI-0003iX-UU; Thu, 13 Mar 2025 16:26:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912817.1319012; Thu, 13 Mar 2025 16:26: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 1tslOI-0003iQ-Ry; Thu, 13 Mar 2025 16:26:38 +0000
Received: by outflank-mailman (input) for mailman id 912817;
 Thu, 13 Mar 2025 16: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tslOI-0003iK-2A
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:26:38 +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 ef7fcaf2-0027-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:26:37 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso1025612f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:26:37 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d18a4c71esm25051275e9.39.2025.03.13.09.26.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:26: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: ef7fcaf2-0027-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741883196; x=1742487996; 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=qCiWAX2Sc29Mg4EF7Ktbu4VHCvg/LtmDRfobCJqEQ7s=;
        b=uIqNaJfBe4AF9uBWznvgu4s2ksQM6KfL/uDJp54oWheroMsQ5tymu/bdbM34jeqW23
         9Mw74ZKt0l5ZZhVEhS4aNUDn5pdXLHwFHihTGoR/2chtcp/+F/XpwfFyx2Hcg4qKL5vn
         KCjZFZ58dPS1OxIU4CbQVbo3UO3a88WDVCIMQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883196; x=1742487996;
        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=qCiWAX2Sc29Mg4EF7Ktbu4VHCvg/LtmDRfobCJqEQ7s=;
        b=ezhTF8aWI1RvdxYk/tgUYqPThk3EWC6SDg3JXXVbylRM6Wycau5M9ExV3YUO/uA1lh
         g7qt9QVNJsje66LmJ1Efv+ZPNjl8L/MAGt+zj4Ek+Yb2mFOmGS61MHu85IOvYjcwp8y0
         3ER5Rm83QSal09s4gP9V2oJ2JN1H4+aeQFaBIStylbymJspt9Wnn6EP/VTh2lZ80lwYV
         /JsgUk0MqhJPEBh/thRXBEp7cy5nI9615k1pR+2LBJyfpFtK9+Cqb7mUl4WuGArFPVhq
         IECEV6J/JZT9SihLQN8OZDxMdWGZW3FymWzPUeVhc0o+P5+BlrTchN9LCbbm+H5lEJVp
         kz8Q==
X-Forwarded-Encrypted: i=1; AJvYcCWMtx+n6keuap5egFj9TCHCP1myZTgowW/SUxuQvbmhIMqoANYcqqaqS8WgWqE3R4bT8RfxND8GxfY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxL5LrQBwwyDhvZxcDlg+lNnm9dLfDqkA1hcnL4XKQD4PiuRjG8
	bIOQilQc33WaRmwW2Sj4E/zZudZU8ZueNfy0/je5baSBPddBcBYXQ/J4C5oHo8U=
X-Gm-Gg: ASbGncuIUyESyiNNXJ2xGRV0HktFpflMcxIzzQuu0xK9z75IYUr2KX0dLhI8I66sFba
	dBi6ZbWOC3i2ibs+TkE7aZDlVs5Fv/sP3g4ybmF8HEjAQqGlJGHHMbw0Ttqh7fSlBn7c1BIRBIH
	A45z7vYmlB+AcmMm9vsvEb0+uP+VSMg3JbxWuhg6kiYJYzs/c4xnzufrqxzwiF8Pz2GatLJv90g
	WAfx8sXvH28W9FmzWwHP+ZGY+dAQyVJYUDKo+d9JQEA6bIUZzoJWd4D+qhlAhHCbHUwSLVCdSaT
	A24xHczQ2tCO2VSIAobTCd+/DcqebBhd7I4qUP0FmNz9+g3+S0vtUAuQxwJVe2HXeF+bo16byei
	QOMSVWjfk
X-Google-Smtp-Source: AGHT+IGsFRw93BgFanEXoW5HSSwA4kmNcpfrM8986dxvBKTag5E0/EgECMxsAl4FtWPN5azSTvdF1Q==
X-Received: by 2002:a5d:648a:0:b0:38d:e3db:9058 with SMTP id ffacd0b85a97d-392641bd61dmr10362628f8f.12.1741883196598;
        Thu, 13 Mar 2025 09:26:36 -0700 (PDT)
Message-ID: <abe8c6ea-61e7-470f-90cb-2821827e493f@citrix.com>
Date: Thu, 13 Mar 2025 16:26:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] symbols: split symbols_num_syms
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <82494869-2565-4a20-b43d-224641919d68@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: <82494869-2565-4a20-b43d-224641919d68@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/03/2025 1:54 pm, Jan Beulich wrote:
> In preparation for inserting address entries into symbols_addresses[] /
> symbols_offsets[] without enlarging symbols_sorted_offsets[], split
> symbols_num_syms into symbols_num_addrs (counting entries in the former
> plus symbols_names[] as well as, less directly, symbols_markers[]) and
> symbols_num_names (counting entries in the latter).
>
> While doing the adjustment move declarations to a new private symbols.h,
> to be used by both symbols.c and symbols-dummy.c. Replace u8/u16 while
> doing so.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:28:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:28:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912830.1319023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslPt-0004J2-C1; Thu, 13 Mar 2025 16:28:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912830.1319023; Thu, 13 Mar 2025 16:28: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 1tslPt-0004Iv-8G; Thu, 13 Mar 2025 16:28:17 +0000
Received: by outflank-mailman (input) for mailman id 912830;
 Thu, 13 Mar 2025 16:28: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tslPr-0004Ii-L8
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:28:15 +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 27bfb1a3-0028-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:28:11 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-390f5f48eafso705616f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:28:13 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c888117csm2589754f8f.44.2025.03.13.09.28.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:28: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: 27bfb1a3-0028-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741883293; x=1742488093; 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=i5RvvgV+xGeNraS9mFKNe1AZZsaGX4hrdWBw+Z5Yepw=;
        b=jO3ZRnDdCBW40hzlpz/rkhqCkdfPL3LtWZizSb329lZeDOEJPLnqPeuI/Jux/LReq2
         yf7fwmEddL/KqRlM/X8FuAGaERmq6ysLvBJWBaZYkNxDnheribqgNgzUjPlJ4SuC+47T
         tZRAuvd8dBwE3/HX4FasQohrcUxjzz1LkM8DI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883293; x=1742488093;
        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=i5RvvgV+xGeNraS9mFKNe1AZZsaGX4hrdWBw+Z5Yepw=;
        b=ujWzWt9y4NT88rKZwdorhiJJX1ln5w6996oLHl+GAZl+NAKIQgaKPUWdTrYRGO2OnA
         54Q+t1W9YJ2YD8CwMd8WDy8QeXmZdQLoXtWWC2TPPS3gfFFxPsUWXyRY8PvY9HZLz3fx
         LOQd8Y4GdBWWtxJdXf4xDRDrhjOlrC+JY33nxJ+YTeAHprLrJogXRi8ZpYjeGzByZ5cr
         isd4BmRC69qfT2fsCX7S17E70oiC8v2OEG1TfR6dPCtt09fW2XJjhk0lnL9QZnVT+4PN
         heRkaE/ebS4XBd1Aih/IwAS7CTh75f/Zh4Rp9Hk2ar6f8UDeozovlXERczNZzJmTJ5sb
         hUwA==
X-Forwarded-Encrypted: i=1; AJvYcCXGay9M5kP6L7g8xu49w15iRNTOhsf8KDgtACem/yBqRGmce1elPuJ5k9oqs05xbIAqypEKXapv2sI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwhWRLbvyoIHUvADDPGEVhyuZ0GblxcHf2a6+gRh50hxLsl+Xj3
	ofDKIgH51eSuPsbnkBF4CVIpbAPtXmUnDXDQQAEUa2xlykJ+g9R73cu71tgte+Y=
X-Gm-Gg: ASbGncts6Keavv+MoOVrUZMWox+pf1JCHclqNk31K4WfzOeiOPPejqC+c2l/IJHtA5a
	czJd3eag8sIW4Iml79dNx6C7GWIQQPu36Y9JpfaNKfQKgM3qReDTBwnRAwRdXuOl9+fEiEVmCcL
	BEJSlCNLGvGJldCwgxGC3H4B7gTVE2PcEuKLapjcOwTTYtjJ2oRfd+d6hc/7o+Jvr8rT8tPsUxA
	+k/XAu55Qajiy6ifNnKdSIXcEYij9AGYbN5vj14+YfZYnYa1+OSw2hvILkcrUFS3XYGM/dQjZ9A
	go698BNTWeA58i4SHhveTv7VAkqcV5sIrWTpCdiHUIZRF3ZakE4XNAnBZ1aWUrGfaIXu0J/N/IV
	sJLNQC/kX
X-Google-Smtp-Source: AGHT+IGSb3EFi0Jg5LxNuLwhIdqkuj0AKeh/a9F3kNfcctNxtsLajZ6NBkGx8DjRURuFwoAJrBityg==
X-Received: by 2002:a5d:5f47:0:b0:38d:d9bd:18a6 with SMTP id ffacd0b85a97d-396c33669f3mr191781f8f.42.1741883293115;
        Thu, 13 Mar 2025 09:28:13 -0700 (PDT)
Message-ID: <d597523c-aa3a-4682-824f-e6e2f8ce753a@citrix.com>
Date: Thu, 13 Mar 2025 16:28:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
To: Jan Beulich <jbeulich@suse.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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <6ff81326-762c-46ec-a06a-254ba166433b@citrix.com>
 <b59ea14e-0bce-4c3e-b1fb-021b53af1780@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: <b59ea14e-0bce-4c3e-b1fb-021b53af1780@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 2:19 pm, Jan Beulich wrote:
> On 13.03.2025 14:58, Andrew Cooper wrote:
>> On 13/03/2025 1:38 pm, Jan Beulich wrote:
>>> There's no need for each arch to invoke it directly, and there's no need
>>> for having a stub either. With the present placement of the calls to
>>> init_constructors() it can easily be a constructor itself.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> This has a side effect of wiring it up on RISC-V and PPC, as they
>> process constructors.Â  It looks safe enough, but have you double checked?
> I've been looking at this differently: For both it can't be right for the
> function to _not_ be called.

Eventually, sure.Â  But they're both in the early bringup stage, still
getting the basics working.

So really, the question is "does this (not) cause CI to explode".

In c/s 8c3ab4ffa953 I noted it was easy to make CONFIG_TRACEBUFFER build
for PPC, but I didn't try running init_trace_bufs().

Anyway, I've kicked off
https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1715210166
to check.

>
>> However, the position and logic during init is nonsense, I think.
>>
>> It registers a cpu notifier which only does spin_lock_init() on a
>> per-cpu variable, which I think only works today because 0 is the init
>> value.
>>
>> alloc_trace_bufs() on the other hand has a for_each_online_cpu() loop
>> because it's too late and ought to be a presmp_initcall().
>>
>> Also the allocations could be NUMA-local for all but the biggest of
>> servers (given the 16T upper limit because there are raw uint32_t's
>> involved in the protocol).
> ... there's certainly further room for improvement, init_trace_bufs()
> is all just "normal" code, which was already built before.
>
> If there are missing pieces to make trace buffers fully working there,
> that's no different from before the patch.
>
> As to alloc_trace_bufs() - that has a 2nd caller, so converting to
> presmp_initcall() may not buy us all that much.

Another bug I've realised is that this fails if we hot-online new CPUs
later, because tb_init will be set but nothing allocated on the new CPUs.

>
>> I'm tempted to ack this on the basis that it is an improvement, but a /*
>> TODO this is all mad, please fix */ wouldn't go amiss either.
> I understand you like adding such comments; I, however, at least
> sometimes (e.g.) don't. Especially without at least outlining what
> would need doing. Just saying "this is all mad" doesn't really help
> very much.

I was being somewhat flippant.Â  But a /* TODO, try and make this a
presmp_initcall() to improve alloc_trace_bufs() */ would be fine.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:33:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912842.1319032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslUa-0007jf-Tr; Thu, 13 Mar 2025 16:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912842.1319032; Thu, 13 Mar 2025 16:33: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 1tslUa-0007jY-Ql; Thu, 13 Mar 2025 16:33:08 +0000
Received: by outflank-mailman (input) for mailman id 912842;
 Thu, 13 Mar 2025 16:33: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tslUZ-0007jS-IH
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:33:07 +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 d7781f40-0028-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:33:06 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso11277325e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:33: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-43d0a74cf8bsm59580315e9.12.2025.03.13.09.33.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:33: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: d7781f40-0028-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741883586; x=1742488386; 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=Bdgvrlj+8ATY6up6dBRR966j2QHpKJh9PP/iYbKOS58=;
        b=dC2wTImTn94Y/aeY3rqp1cjqhzPHQdxnaybcsEPmSSeAJQt4U8SBTldgKx/KZSeZDl
         SEdQyuqXEVBUIBRTC/zggengtJKF6JexzWu4Nj6jmwxctImJPAN4q7Qk5BIzZDedbsP1
         cBvawuTMYp7RabJzgQv5Ep0q5DGCEgv9gLn/KOGis8+pbBjjyYv9CkBTjjOEuyWHSTl2
         uQVQSnM8ZKjYMpUAM5u1u/cYzIe1Anj56b7VK+vH0mcJHs4Mv7nMoNzKdjO9DnprOIZp
         7BBeqF8NlSzaXPxDnbgeHLRW05A1LBYv0yLwK+z3Mzy+zmz7uATTg/GI+pglUgdqZa3q
         jR3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883586; x=1742488386;
        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=Bdgvrlj+8ATY6up6dBRR966j2QHpKJh9PP/iYbKOS58=;
        b=H/YBTC4+XgIYv+wsDOTO2W9pEZRXOnRvGBrzzrmSLNMeaXf1j3AHL4oWTIun0YqtWt
         UrbU1BvgHhSE7lgB0AzRsyzLr8AbS3fGeZA+Sx7g72emlhhpUoRb1S+ulmCPwZLfFj0K
         gz5KMw8poQ5hR5TmQdoxjjzo2GXMLs6dDHlB10oY9S5Fd1lnY0HYFv5x30rESP4tH712
         YQxjXHAal11tpzov2BnuyN/1r3ECrjiPTnXV+c8INS4/m8iff8TQWAJ2O+j7qh5axFk7
         3vDYwlh1M0BbTFXY71vyKISLhakyA7dOCFDZGWCfBicVQG5/DqS0eZrsZpK1TikYxTOo
         /CxQ==
X-Forwarded-Encrypted: i=1; AJvYcCU0kyGxd1ejsvu048dc7bp3zXn2F/AkqTZyFEE9YPTFvRimpuTqImhVkBowPwuguuwT5VK/wr6dTp4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEtSvPtt46uYuyhAaUJ3RpogWl6R5rC8IXjTGqbDLt6FCu1ctu
	psKL3jHVbGSksNv8diXKtuonTXhtb7cb4UcVYMDInAuIZrlj6C0pg5qjdZXQGw==
X-Gm-Gg: ASbGncsxToe2mmlrQoibz7Zc4XH7gjcXPOykKzU55Be0fG2M+KowXNt5KdjRmaTJLgY
	USVPBTTEh/ES/cTKJ6X8WyHwtOTzVAp08geXRk3Ul8YkXW+uSzYTrD9ATHUUhtODsVPuzkob5vH
	jW3J89KEnBO3gq3WMStuLuTBGbRTNXxhxf/PF9JTAzUnsNq/8hq7qvN5CVKdzgKlR68waKkO+Ck
	/sb3wYXbmd46v4tbtxGIDNtHsdZMUgYZtxRqrcd/fsyjBorQi/VWlD5wE63ZMq+PjfwWsUTlpRU
	Yydedva2xlM+5VVOZup2jXtifVJka1iKUSofkiDxhYcgVT57Oll1iIu5hQzo5nBerpY8JLyZsAL
	0Qffk5oDfYWFj8uk8lOoGGtgLrEY3zmMJisy1yCJy
X-Google-Smtp-Source: AGHT+IEpSFNsjQkZ83qNgg5+vrJGwZt48Z4+ivt+JFsMmsVcx/xYLJW892wDk57fay9SiugXmc2Qgw==
X-Received: by 2002:a05:600c:3513:b0:43c:ea36:9840 with SMTP id 5b1f17b1804b1-43d1d8e4734mr2667485e9.22.1741883585618;
        Thu, 13 Mar 2025 09:33:05 -0700 (PDT)
Message-ID: <18983fc2-08e7-40eb-b5d7-738e36a2a271@suse.com>
Date: Thu, 13 Mar 2025 17:33:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-19-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: <20250312040632.2853485-19-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -140,7 +140,7 @@ config HAS_ITS
>          depends on GICV3 && !NEW_VGIC && !ARM_32
>  
>  config OVERLAY_DTB
> -	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
> +	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED && SYSCTL
>  	help
>  	  Dynamic addition/removal of Xen device tree nodes using a dtbo.

This wants to be "depends on", not an extension to the prompt's visibility.
Else a "select OVERLAY_DTB" somewhere would be permitted by kconfig without
issuing a warning.

> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -322,13 +322,13 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from,
>  
>  /* sysctl.c */
>  
> +#ifdef CONFIG_SYSCTL
>  long arch_do_sysctl(struct xen_sysctl *sysctl,
>                      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>  {
>      BUG_ON("unimplemented");
>  }
>  
> -#ifdef CONFIG_SYSCTL
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      BUG_ON("unimplemented");

This kind of a change would preferrably have the #endif annotated with a comment
mentioning the #ifdef's condition. Such comments may best be added as the #ifdef-s
are introduced. They can certainly continue to be omitted when the range covered
is only very few lines.

> --- a/xen/arch/x86/include/asm/psr.h
> +++ b/xen/arch/x86/include/asm/psr.h
> @@ -75,8 +75,10 @@ static inline bool psr_cmt_enabled(void)
>  int psr_alloc_rmid(struct domain *d);
>  void psr_free_rmid(struct domain *d);
>  
> +#ifdef CONFIG_SYSCTL
>  int psr_get_info(unsigned int socket, enum psr_type type,
>                   uint32_t data[], unsigned int array_len);
> +#endif

As before declarations alone may not need #ifdef-ing out.

> --- a/xen/arch/x86/psr.c
> +++ b/xen/arch/x86/psr.c
> @@ -133,9 +133,11 @@ static const struct feat_props {
>       */
>      enum psr_type alt_type;
>  
> +#ifdef CONFIG_SYSCTL
>      /* 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);
> @@ -418,6 +420,7 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
>      return true;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  static bool cf_check cat_get_feat_info(
>      const struct feat_node *feat, uint32_t data[], unsigned int array_len)
>  {
> @@ -430,6 +433,7 @@ static bool cf_check cat_get_feat_info(
>  
>      return true;
>  }
> +#endif
>  
>  /* L3 CAT props */
>  static void cf_check l3_cat_write_msr(
> @@ -442,11 +446,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
>      .get_feat_info = cat_get_feat_info,
> +#endif
>      .write_msr = l3_cat_write_msr,
>      .sanitize = cat_check_cbm,
>  };
>  
> +#ifdef CONFIG_SYSCTL
>  /* L3 CDP props */
>  static bool cf_check l3_cdp_get_feat_info(
>      const struct feat_node *feat, uint32_t data[], uint32_t array_len)
> @@ -458,6 +465,7 @@ static bool cf_check l3_cdp_get_feat_info(
>  
>      return true;
>  }
> +#endif
>  
>  static void cf_check l3_cdp_write_msr(
>      unsigned int cos, uint32_t val, enum psr_type type)
> @@ -473,7 +481,9 @@ 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
>      .get_feat_info = l3_cdp_get_feat_info,
> +#endif
>      .write_msr = l3_cdp_write_msr,
>      .sanitize = cat_check_cbm,
>  };
> @@ -489,11 +499,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
>      .get_feat_info = cat_get_feat_info,
> +#endif
>      .write_msr = l2_cat_write_msr,
>      .sanitize = cat_check_cbm,
>  };
>  
> +#ifdef CONFIG_SYSCTL
>  /* MBA props */
>  static bool cf_check mba_get_feat_info(
>      const struct feat_node *feat, uint32_t data[], unsigned int array_len)
> @@ -508,6 +521,7 @@ static bool cf_check mba_get_feat_info(
>  
>      return true;
>  }
> +#endif
>  
>  static void cf_check mba_write_msr(
>      unsigned int cos, uint32_t val, enum psr_type type)
> @@ -545,7 +559,9 @@ static const struct feat_props mba_props = {
>      .cos_num = 1,
>      .type[0] = PSR_TYPE_MBA_THRTL,
>      .alt_type = PSR_TYPE_UNKNOWN,
> +#ifdef CONFIG_SYSCTL
>      .get_feat_info = mba_get_feat_info,
> +#endif
>      .write_msr = mba_write_msr,
>      .sanitize = mba_sanitize_thrtl,
>  };
> @@ -808,6 +824,7 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
>      return socket_info + socket;
>  }
>  
> +#ifdef CONFIG_SYSCTL
>  int psr_get_info(unsigned int socket, enum psr_type type,
>                   uint32_t data[], unsigned int array_len)
>  {
> @@ -839,6 +856,7 @@ int psr_get_info(unsigned int socket, enum psr_type type,
>  
>      return -EINVAL;
>  }
> +#endif /* CONFIG_SYSCTL */
>  
>  int psr_get_val(struct domain *d, unsigned int socket,
>                  uint32_t *val, enum psr_type type)

That's quite a lot of #ifdef-ary here. I wonder if we can't do any better.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:37:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912873.1319043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslYb-0008LP-DQ; Thu, 13 Mar 2025 16:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912873.1319043; Thu, 13 Mar 2025 16:37: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 1tslYb-0008LI-9Q; Thu, 13 Mar 2025 16:37:17 +0000
Received: by outflank-mailman (input) for mailman id 912873;
 Thu, 13 Mar 2025 16:37: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tslYZ-0008Js-FS
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:37:15 +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 6b8cfaa2-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:37:14 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3912fdddf8fso1534631f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:37: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
 5b1f17b1804b1-43d18a2aac5sm25715755e9.28.2025.03.13.09.37.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:37: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: 6b8cfaa2-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741883834; x=1742488634; 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=GU5LSbric0lnhcBmKC+wsweM0DvBMW9A2WFSbsMM9/M=;
        b=RDcgkREtAafARdm5YcBb7z7HMOs0L31BKNzNHyoLYLTJY7NNThEO/LjkgCj4x9eZRL
         MmcvIyp9FVP4mWno1AGC2JTbe2cilpCJUce1o6bV8utdKHGQqP7U8iDmYWn0ae/e9X2F
         G2jAQPkv0GLFPrqV5Ir3jGvsKv2vuaPDXVo84hLkJV2UTIBbYGpfIbgg+C7UQkWl0Vka
         lWtbiqQMT6PPGWFLnN2TN0QtpTf68fXP4gmmHJs3KwVuxEVawf90XBk9+6QSr+rRPwEY
         rGgtQT+gTw+P/bZ+BGDHGB8QtLSapdvMnIHjbREuVmViDLzy7FKutGVS3LrV3tj9AC+/
         BBRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883834; x=1742488634;
        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=GU5LSbric0lnhcBmKC+wsweM0DvBMW9A2WFSbsMM9/M=;
        b=YJDnMRHQ5AyieikwTdL7kL4d7/sZmYWEIqp08ZiOF5VoMpU2qTlguJr8shOBLyzrPI
         BZbP04kNre7ZL52IbOihDL4hvYVmslF4fJHeSCJNHaROKaxZ0OwTfELqKWieGApcG57b
         me/JFf2kkhzY0SVOj4LtQvbcP+ujacU1fpGocDKeZq/HTUm5AlAPZNy8zk496xbNo3nH
         iwpFXfKhCKzoQla3grJFc5dpankLZLRZOkakNwoIVefj3+ggiD5X1IxM0FWIuT3+m9pK
         DF0RtkaXj8ilM874lfUxA1DeRGFSDxbh9LQhg4YYdztPP0VUGKkKtPu10T6CNp81P/ko
         xCeg==
X-Forwarded-Encrypted: i=1; AJvYcCUlI1JNVPrcsHVUrZgVGbYeu2xG1mb3KQRd9MWYTdh3hf+vrTOWU6RDs2dFSpGso4cuxAl0qOJNgZQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzp3gDJ/rZonKTCmikw343J7NMMnUqmdGeVWTIzT9E+EMgvu9QD
	iH6vbEJL/hfG7SHAodiTfsjfOvVvFtKcvKlouX4VUkVMqRnG9al/9a4FVTz1AQ==
X-Gm-Gg: ASbGnctfqxCq9nZPk12f+scaUKaC8CW6vLVYpKXIWCEzoeYH6EViUVhSc0KFEQooi9v
	+eoR66CKwHphCVB7Jsvb6C+/H/aRb/6zFZkPy8irfkC2g965mI/jFua7FUJ/HBiqtjjNv6e43dd
	SABgeFnYWaEtO5It3gkO1SGgLRrkdQjOuMM9db+RbYmgqKqBkdJjW8JEzCir9fpoIRc31YidmkZ
	f3aYt/+vt8rprPqNkRdqDwmJD+XLEVOYyX9eODOV0cScCE46Ldc1c6KSK9H+5uc0W8R21H1mVpX
	iHeAErCKi32HeCI6YFup09QGzEK3RTEaCvsQ/xmmIsQ2011DrDL/f70XeLdFS8KCO8Otrc7w8CY
	9cVndnksACMGSzovEPYbhui36PMezpQ==
X-Google-Smtp-Source: AGHT+IF6/xvzPGYHnVQpeZvWvFgAou1GzRntVfILa7CtsaqfoWVM1++c0QzcBBACUIHe6tgRuOfpKw==
X-Received: by 2002:a5d:6d83:0:b0:38d:d166:d44 with SMTP id ffacd0b85a97d-395b9a1c648mr2775630f8f.23.1741883834270;
        Thu, 13 Mar 2025 09:37:14 -0700 (PDT)
Message-ID: <61b762d0-d513-4d02-80ac-50fa12a725f3@suse.com>
Date: Thu, 13 Mar 2025 17:37:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <6ff81326-762c-46ec-a06a-254ba166433b@citrix.com>
 <b59ea14e-0bce-4c3e-b1fb-021b53af1780@suse.com>
 <d597523c-aa3a-4682-824f-e6e2f8ce753a@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: <d597523c-aa3a-4682-824f-e6e2f8ce753a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 17:28, Andrew Cooper wrote:
> On 13/03/2025 2:19 pm, Jan Beulich wrote:
>> On 13.03.2025 14:58, Andrew Cooper wrote:
>>> On 13/03/2025 1:38 pm, Jan Beulich wrote:
>>> I'm tempted to ack this on the basis that it is an improvement, but a /*
>>> TODO this is all mad, please fix */ wouldn't go amiss either.
>> I understand you like adding such comments; I, however, at least
>> sometimes (e.g.) don't. Especially without at least outlining what
>> would need doing. Just saying "this is all mad" doesn't really help
>> very much.
> 
> I was being somewhat flippant.Â  But a /* TODO, try and make this a
> presmp_initcall() to improve alloc_trace_bufs() */ would be fine.

Okay, added (to the existing comment).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912881.1319053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslaV-0000XD-Ra; Thu, 13 Mar 2025 16:39:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912881.1319053; Thu, 13 Mar 2025 16:39: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 1tslaV-0000X6-OP; Thu, 13 Mar 2025 16:39:15 +0000
Received: by outflank-mailman (input) for mailman id 912881;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaV-0000Wy-4P
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:15 +0000
Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com
 [2607:f8b0:4864:20::1031])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b23bbf4a-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:14 +0100 (CET)
Received: by mail-pj1-x1031.google.com with SMTP id
 98e67ed59e1d1-2fec3176ef3so2136572a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:14 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b23bbf4a-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883952; x=1742488752; 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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=YH5rqFqnX49zqTEf4vVezPYhQybdK54XEaraA65SFuGPPbrTPuEc3RXiTZn9I9hlcG
         GGD47vu5vYqFu8F7P/98fd2gwT0IXYODklAc9Axi1clCTufRFVo4aQZeekFYAtbF0etv
         snVB1ydsuNnzypl1B3cxe+fjFutkj5a5vhJNcCfPhnq0UYitGW/pY+55+Zed7QmGv2Eg
         1mjozC151IH/zg7A7Gkfuc8mGSKNy7mzKb4IZeZJD9hZ2StrLjt982paE/essqrQCcAd
         jYK55SR7fcyYEkNCQO7Q4iaFwbAGvKJd4nmTUTEUKHXePP/Di7YGQpit8vTh7KvNOFB7
         8YoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883952; x=1742488752;
        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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=J+WZ6Re5WU2/WTigBXwIh3hJag/vPqrAx+Wwuetw0Q16Y9t6+7z/RujlSYaJBO30FM
         D0e/b5n0TH9da+u+MQyACTJcg/aXq/CYQ+2whIpSZSh6T7TbERpYOGunduHoUZQP/lkj
         z97AmSaCTT70Ub8kNMNu4zQk6Uv5yPcRgNTOHcApiff46QuBeD2bkZ2LITbdDawtP+kJ
         PZAcU6iohxy78sQmaGX+oZd1bsbAx1YTBA28X67ijVbxtrn2osu3o/Edm7E6/wUSNZ4I
         pWLVLdiAEZJeoKEf8MnbqyJ0NOArrGZeCrZFNEo4P84j7c/CwI+pWTEwT9h1bwTSgL5m
         Q9EA==
X-Forwarded-Encrypted: i=1; AJvYcCWGpLwva4OdSrykQY7Q5+2Rv/zCCWNU3u7+Y8hpFftIvxFGkWhxANysmA/iN3GRu1zjVz+iNtxjcYQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7gTXOUGg/gMQEKMYM0i7dhDe3oEtcnosgP9i8lUPSrHtfPH8Y
	CbXJ+sNEob6tRtEaeyvEsw9/c+2q1xlw1JUXJUh7eb+tbC94g/NkUoYubnwyITE=
X-Gm-Gg: ASbGncuFBdP3SVF68FVAIaj/hfE04lOCG54ucbXLSmxOUyrefYAAQeSkVXDUuLbGGmw
	saI2vePViW7VuRD6YEfTgvVJPCl0qYp433PUPgW0KvDi9BGV6zdeLBHIqCankq5QLjJh3ZOd8t3
	b7X6wJn0311z4NHAzARp1TSwcayPILX2ikvFy4LLR75KRu+zzhwdGVDcKL/IjPxSQ2xYYsqMIL8
	seSLeUwwGHUGkGJarUQTfNX9bRu7VzmhL/muCQX+5mpBKX6tD+Q6U/Y6R7Vm6xLZLJRi0VPj+Sj
	+oJNoTmurF14xgCaZ4gF8Fd5wyRqaiXmS/39Lg+p2Rya
X-Google-Smtp-Source: AGHT+IGev37PyaCRPVTSAXm6sa8QmcuQfkCR4AEqF/Tkfr+Zh7Bhff2KfoPULWlCloRr8rbLF7MLgw==
X-Received: by 2002:a17:90b:3850:b0:2ff:7b15:813b with SMTP id 98e67ed59e1d1-3014e855f52mr302864a91.17.1741883952691;
        Thu, 13 Mar 2025 09:39:12 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 01/17] exec/tswap: target code can use TARGET_BIG_ENDIAN instead of target_words_bigendian()
Date: Thu, 13 Mar 2025 09:38:47 -0700
Message-Id: <20250313163903.1738581-2-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/tswap.h | 11 ++++++-----
 cpu-target.c         |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index ecd4faef015..2683da0adb7 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -13,13 +13,14 @@
 /**
  * target_words_bigendian:
  * Returns true if the (default) endianness of the target is big endian,
- * false otherwise. Note that in target-specific code, you can use
- * TARGET_BIG_ENDIAN directly instead. On the other hand, common
- * code should normally never need to know about the endianness of the
- * target, so please do *not* use this function unless you know very well
- * what you are doing!
+ * false otherwise. Common code should normally never need to know about the
+ * endianness of the target, so please do *not* use this function unless you
+ * know very well what you are doing!
  */
 bool target_words_bigendian(void);
+#ifdef COMPILING_PER_TARGET
+#define target_words_bigendian()  TARGET_BIG_ENDIAN
+#endif
 
 /*
  * If we're in target-specific code, we can hard-code the swapping
diff --git a/cpu-target.c b/cpu-target.c
index cae77374b38..519b0f89005 100644
--- a/cpu-target.c
+++ b/cpu-target.c
@@ -155,6 +155,7 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...)
     abort();
 }
 
+#undef target_words_bigendian
 bool target_words_bigendian(void)
 {
     return TARGET_BIG_ENDIAN;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912884.1319083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslaZ-0001FL-JP; Thu, 13 Mar 2025 16:39:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912884.1319083; Thu, 13 Mar 2025 16: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 1tslaZ-0001F2-Fs; Thu, 13 Mar 2025 16:39:19 +0000
Received: by outflank-mailman (input) for mailman id 912884;
 Thu, 13 Mar 2025 16: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaX-0000Wn-SE
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:17 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b05472f7-0029-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:39:11 +0100 (CET)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2fee05829edso2501302a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:13 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b05472f7-0029-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883951; x=1742488751; 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=ffKtZZCij4vskrAA+3NvWrKzzZscOxv69bTHCnUkApM=;
        b=RKa8voWFmOpZgJrxep1GRY56p8liykwd0JspANCbrQc4lglP32/uaBZdwb4xLVs3uR
         sAtyzy6YS8KeCJ/JG/KipB2L7ZGqpuzVsWmPHmgGx8YkWTqpk8UjQIOdz5mJJnZhOiyj
         JVKq6xJeqrwvyL+yT5oLeDtc6uN/y5/d2q6YeyaBpKzXVtmnNO1sFEF1TGfIwMqFHkkR
         Fxz18uG6DXRYotsJ4uKox19q9ia/01KlBo6eBAZAhaDHREVux/Wj2VpfZS5diw19VXxj
         vDNjpYr6TZbMhW26XSq2t813s6lEACLunYqVxiWQlLI108k2fYI9D9P0ZtDLZ9TzkSrf
         NxCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883951; x=1742488751;
        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=ffKtZZCij4vskrAA+3NvWrKzzZscOxv69bTHCnUkApM=;
        b=nuwfb3xa3dwqNfpWg69AiK5MA3NU1pIFZhIruZVqgmlp3IfB2WNl+GqHH8psiFiKo5
         70uagNNLMsmTyNNcGloA3roZdttrFHKf0UeEdb18EJqmoUoCrFthlf5oR9SrNt3d2usr
         YffCdNTXse7lVnplR57D6ZCWs6dgdOU3AygKRMJUYQvjAWZHiepGinRnqKjdpug+UVE3
         LsSgM9RABxH+wzWFYy9ngelK6/m0daRnMtbC2V1hX8yOYeLZcsKHhsMZUVAE2TrQ63zo
         OM8nt85M7cyNhHoN2acbHGu4hpXvdRg9nZ2y4R0fY5Jv9p9jB0DBNwO8WWlPBNyMPjHh
         4jag==
X-Forwarded-Encrypted: i=1; AJvYcCU7rengvZvdoy1Ne5pjlz6bUJDVskh980Umo4v6H5d4UAMvNZ7VpubU6KErR1cA12xDdwcSdCtnZT0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUklQeYaSUwyKOurpL/Q3gfLNcKF6qJVrJ2d+g9vx1fXlbDqUn
	yFFtCXYyjr9Fv7Cqrh0V1f1UStjMR0VKoVN9Lmy2kPIR+Os6mk6GNp1QjG22uqE=
X-Gm-Gg: ASbGncuSLYWHB7qRyLIID/ddfYFphgF9+9369JgC+Eoo1YfEaPcRtF3JESZ64UpgC1J
	VsAD/QW2YAQBofYgbiQB3pZ/+62ywGk1+u5bwZevaBhEidYhypYSvLXX/itmxYcS9+FC4S/TFAJ
	/55W5/bLJ9YEgN/OLWEcYZYm8sw8xnHIcWXIP1Gm66irMFNqdw0BjSyX9XGWlf0LXAaLQuuNams
	H2oRDEkoNqNZFFKlNLGHmFnfdPAnknpyUTXXYscZRj3YdnDviwRj3uubPkreIXkvSvP7yPcR82c
	jSm2HTl07GlFVOTl1VUBgNY83AzexJ4xbnDOnNLcJvQAQefcMu+RI2I=
X-Google-Smtp-Source: AGHT+IHILZBC4XG/VXTDGPE0LXvE+Aqy8ch+S3jq5UEPqUMQPlTTQn84Hgx+UBUoAEZm2kMt8qUx5g==
X-Received: by 2002:a17:90a:e7c1:b0:2fa:137f:5c61 with SMTP id 98e67ed59e1d1-3014e843678mr320923a91.12.1741883951572;
        Thu, 13 Mar 2025 09:39:11 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 00/17] make system memory API available for common code
Date: Thu, 13 Mar 2025 09:38:46 -0700
Message-Id: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The main goal of this series is to be able to call any memory ld/st function
from code that is *not* target dependent. As a positive side effect, we can
turn related system compilation units into common code.

The first 5 patches remove dependency of memory API to cpu headers and remove
dependency to target specific code. This could be a series on its own, but it's
great to be able to turn system memory compilation units into common code to
make sure it can't regress, and prove it achieves the desired result.

The next patches remove more dependencies on cpu headers (exec-all,
memory-internal, ram_addr).
Then, we add access to a needed function from kvm, some xen stubs, and we
finally can turn our compilation units into common code.

Every commit was tested to build correctly for all targets (on windows, linux,
macos), and the series was fully tested by running all tests we have (linux,
x86_64 host).

v2:
- reorder first commits (tswap change first, so memory cached functions can use it)
- move st/ld*_p functions to tswap instead of bswap
- add define for target_words_bigendian when COMPILING_PER_TARGET, equals to
  TARGET_BIG_ENDIAN (avoid overhead in target code)
- rewrite devend_memop
- remove useless exec-all.h in concerned patch
- extract devend_big_endian function to reuse in system/memory.c
- rewrite changes to system/memory.c

v3:
- move devend functions to memory_internal.h
- completed description for commits removing cpu.h dependency

v4:
- rebase on top of master
  * missing include in 'codebase: prepare to remove cpu.h from exec/exec-all.h'
  * meson build conflict

Pierrick Bouvier (17):
  exec/tswap: target code can use TARGET_BIG_ENDIAN instead of
    target_words_bigendian()
  exec/tswap: implement {ld,st}.*_p as functions instead of macros
  exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
  exec/memory_ldst_phys: extract memory_ldst_phys declarations from
    cpu-all.h
  exec/memory.h: make devend_memop "target defines" agnostic
  codebase: prepare to remove cpu.h from exec/exec-all.h
  exec/exec-all: remove dependency on cpu.h
  exec/memory-internal: remove dependency on cpu.h
  exec/ram_addr: remove dependency on cpu.h
  system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
    common code
  exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
  hw/xen: add stubs for various functions
  system/physmem: compilation unit is now common to all targets
  include/exec/memory: extract devend_big_endian from devend_memop
  include/exec/memory: move devend functions to memory-internal.h
  system/memory: make compilation unit common
  system/ioport: make compilation unit common

 include/exec/cpu-all.h              | 66 -----------------------
 include/exec/exec-all.h             |  1 -
 include/exec/memory-internal.h      | 21 +++++++-
 include/exec/memory.h               | 30 ++++-------
 include/exec/ram_addr.h             | 11 ++--
 include/exec/tswap.h                | 81 +++++++++++++++++++++++++++--
 include/system/kvm.h                |  6 +--
 include/tcg/tcg-op.h                |  1 +
 target/ppc/helper_regs.h            |  2 +
 include/exec/memory_ldst.h.inc      |  4 --
 include/exec/memory_ldst_phys.h.inc |  5 +-
 cpu-target.c                        |  1 +
 hw/ppc/spapr_nested.c               |  1 +
 hw/sh4/sh7750.c                     |  1 +
 hw/xen/xen_stubs.c                  | 56 ++++++++++++++++++++
 page-vary-target.c                  |  2 +-
 system/ioport.c                     |  1 -
 system/memory.c                     | 17 ++----
 target/ppc/tcg-excp_helper.c        |  1 +
 target/riscv/bitmanip_helper.c      |  2 +-
 hw/xen/meson.build                  |  3 ++
 system/meson.build                  |  6 +--
 22 files changed, 193 insertions(+), 126 deletions(-)
 create mode 100644 hw/xen/xen_stubs.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912882.1319062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslaX-0000lD-1Y; Thu, 13 Mar 2025 16:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912882.1319062; Thu, 13 Mar 2025 16:39: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 1tslaW-0000kz-Uq; Thu, 13 Mar 2025 16:39:16 +0000
Received: by outflank-mailman (input) for mailman id 912882;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaV-0000Wy-Ru
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:15 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2ef7577-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:15 +0100 (CET)
Received: by mail-pj1-x102c.google.com with SMTP id
 98e67ed59e1d1-2fee05829edso2501371a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:15 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b2ef7577-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883954; x=1742488754; 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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=q+TIxJJPFQpJ80hjqKuu01SX5jj4bMVSKl8AIGqJR+uufkpGZJfomwHzeh9rhl0zfh
         x+KBPurnJpt7AwbCU8L5k995dU69/OOFSwN+ce/4XtCSoSorot6dyNf+h1rYQklO+QhE
         neLfOPXNsKiTxnvl/Mp0ncrz/97hrZZfyAGenE5tuUfcGfRU2SzcIQOlyX8+Cjdjp/Yr
         24h6BiSF+oajyj0BC8VnZrXcFL6mYaZjya23TC2VauBXalfjgOAGmpgAFLcpLNKrrPrk
         3XPcdpyBBAAT/RLUMtdax3JJBU+ut32gCDrnBRehxpgLKxFJv5OdDSmrgunb/EqK6QSo
         TuZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883954; x=1742488754;
        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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=H7P/tzqZMmfctHCKNJN2bFTNzmk7GBMHj8ixYL0x/F7QSxnAmKJpyJwXluVXRqV0HQ
         tjMCZvYk1tmz7DrzKEvjzpIZ2sp63f03xzINEEC/IsNDabJNN6pup5F2ILTQYz3X/GSC
         KiLJNbodwvxeuG+4LdVMiWahccTOmHoJtFqvtWQeOjCGEzMFlv4dcadlyKsQvNI4qI71
         GOvxSLBQsoSIwDtusLjuKfOTs2/qWw1Hf9Xs2v10yc83dCIYAFx2aFsOHCpeAN9Yf2O/
         Cg6UVcBtYBAkUzVPYVhJ24j99uawJPKhwIHQMw6Sj5ONp+jBcaelGQnYHn9N5LQrwuh8
         MTzA==
X-Forwarded-Encrypted: i=1; AJvYcCW6KwUQmK1RsN2KCV/K6P8oVkQOhJEKuyH9yiKw425NFbupoa8sEhUKaKjZMPmF9npbvuXC08m9ZkE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyiD8mSIFHeSkJHHmYqwFTDIdrzqfs0y3NPlQf3G8+L5eA2GU4b
	cmNenAMVuMMhOxD8DVCTxeGD2KIqRGDmhi2D3TmDKARNkjEuv+7B863p0cU4sv8=
X-Gm-Gg: ASbGnctrieV/8PnQ7Ha9zNj7qm9yB5gMT7FQ74c0JLNQObvt08qWysrDuyVHb9maINF
	1dwjiJY47AjtShujsJR/+/UxnviHG69cf0PVuwe0vAQ3bSG9D1bgEdej6BViho3bJp/yYWdh2rS
	4qLqIp1xSYccGJJta0WUeIV2IDJpeK/n7a4DQC9KN14St7Io6eiBrB0+eUPE+TnnEjIpq3fpuSV
	Fi6U1uhM4qZ8bfU9Uej4i/0cxt3rxqRe+NFbyr1Zf1adbI1lV0I3HU/Lm6h1w/J/WXLLwRv1cXI
	cK45bld2swSZhDm6jSp7+etTCC01eKa4ByCOxIVuyqnp
X-Google-Smtp-Source: AGHT+IGAE0wRrFnOgUSptf/ZCGVy3gy2ROtBxgIz+VJH5KWtqtjx8oj2KP2h7DP6p39QjbuO2M6/IQ==
X-Received: by 2002:a17:90b:264c:b0:2fe:6942:3710 with SMTP id 98e67ed59e1d1-3014e821305mr250112a91.3.1741883953849;
        Thu, 13 Mar 2025 09:39:13 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 02/17] exec/tswap: implement {ld,st}.*_p as functions instead of macros
Date: Thu, 13 Mar 2025 09:38:48 -0700
Message-Id: <20250313163903.1738581-3-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining functions allows to use them from common code, by not depending
on TARGET_BIG_ENDIAN.
Remove previous macros from exec/cpu-all.h.
By moving them out of cpu-all.h, we'll be able to break dependency on
cpu.h for memory related functions coming in next commits.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h | 25 ---------------
 include/exec/tswap.h   | 70 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 8cd6c00cf89..e56c064d46f 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,31 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* Target-endianness CPU memory access functions. These fit into the
- * {ld,st}{type}{sign}{size}{endian}_p naming scheme described in bswap.h.
- */
-#if TARGET_BIG_ENDIAN
-#define lduw_p(p) lduw_be_p(p)
-#define ldsw_p(p) ldsw_be_p(p)
-#define ldl_p(p) ldl_be_p(p)
-#define ldq_p(p) ldq_be_p(p)
-#define stw_p(p, v) stw_be_p(p, v)
-#define stl_p(p, v) stl_be_p(p, v)
-#define stq_p(p, v) stq_be_p(p, v)
-#define ldn_p(p, sz) ldn_be_p(p, sz)
-#define stn_p(p, sz, v) stn_be_p(p, sz, v)
-#else
-#define lduw_p(p) lduw_le_p(p)
-#define ldsw_p(p) ldsw_le_p(p)
-#define ldl_p(p) ldl_le_p(p)
-#define ldq_p(p) ldq_le_p(p)
-#define stw_p(p, v) stw_le_p(p, v)
-#define stl_p(p, v) stl_le_p(p, v)
-#define stq_p(p, v) stq_le_p(p, v)
-#define ldn_p(p, sz) ldn_le_p(p, sz)
-#define stn_p(p, sz, v) stn_le_p(p, sz, v)
-#endif
-
 /* MMU memory access macros */
 
 #if !defined(CONFIG_USER_ONLY)
diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index 2683da0adb7..84060a49994 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -80,4 +80,74 @@ static inline void tswap64s(uint64_t *s)
     }
 }
 
+/* Return ld{word}_{le,be}_p following target endianness. */
+#define LOAD_IMPL(word, args...)                    \
+do {                                                \
+    if (target_words_bigendian()) {                 \
+        return glue(glue(ld, word), _be_p)(args);   \
+    } else {                                        \
+        return glue(glue(ld, word), _le_p)(args);   \
+    }                                               \
+} while (0)
+
+static inline int lduw_p(const void *ptr)
+{
+    LOAD_IMPL(uw, ptr);
+}
+
+static inline int ldsw_p(const void *ptr)
+{
+    LOAD_IMPL(sw, ptr);
+}
+
+static inline int ldl_p(const void *ptr)
+{
+    LOAD_IMPL(l, ptr);
+}
+
+static inline uint64_t ldq_p(const void *ptr)
+{
+    LOAD_IMPL(q, ptr);
+}
+
+static inline uint64_t ldn_p(const void *ptr, int sz)
+{
+    LOAD_IMPL(n, ptr, sz);
+}
+
+#undef LOAD_IMPL
+
+/* Call st{word}_{le,be}_p following target endianness. */
+#define STORE_IMPL(word, args...)           \
+do {                                        \
+    if (target_words_bigendian()) {         \
+        glue(glue(st, word), _be_p)(args);  \
+    } else {                                \
+        glue(glue(st, word), _le_p)(args);  \
+    }                                       \
+} while (0)
+
+
+static inline void stw_p(void *ptr, uint16_t v)
+{
+    STORE_IMPL(w, ptr, v);
+}
+
+static inline void stl_p(void *ptr, uint32_t v)
+{
+    STORE_IMPL(l, ptr, v);
+}
+
+static inline void stq_p(void *ptr, uint64_t v)
+{
+    STORE_IMPL(q, ptr, v);
+}
+
+static inline void stn_p(void *ptr, int sz, uint64_t v)
+{
+    STORE_IMPL(n, ptr, sz, v);
+}
+
+#undef STORE_IMPL
+
 #endif  /* TSWAP_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912883.1319073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslaY-000101-BE; Thu, 13 Mar 2025 16:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912883.1319073; Thu, 13 Mar 2025 16: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 1tslaY-0000zm-7K; Thu, 13 Mar 2025 16:39:18 +0000
Received: by outflank-mailman (input) for mailman id 912883;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaW-0000Wy-Tx
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:16 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3930728-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:16 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-2fe9759e5c1so2145238a91.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:16 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b3930728-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883955; x=1742488755; 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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=xkQjl35VPy+F23VkPda0ZPTwoNxj3meH5FNAFxRt48hqtUJZQVHP05dF5k9GeIwYo5
         n5HGhYyqdbdcsXlw35tq2fpC2+slatJZoC0pd9q2POwgtFKYlERmC2y3nV8XdzIR4Mn9
         h8uLVi8JOb4L8JpOr0QjATh1YuDzlsBjKRFkcw6rVlaQ60GQn24w3hroD9m/Zh1/kVkV
         BJn8k7CnQcIOrbX2PI2T1UVFi2IEI6BufkYVQWqv9FlX59BjPsFfQJb/npG4rwZFwNz6
         a/FBAjSNBEriHtl9Wvd+7mSF4R7aHPQIkGl3UQCqtBwFhFgu6DMzw9SzrkWtVBXRLDBN
         UgAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883955; x=1742488755;
        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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=g3qHqucFIyciBW5E5s/1uitMk4OZQd3TTuih0zXU2qGF9JDIePmz7VMIOZKBwd50Hy
         F1DiKCi3ZcS2SdLVT1+QM8tuG6KZYBaAD7+caU3cX9Xdmi97vlgbooMd84kauGMmOCy+
         yGBWbDx1dJX+EvQrMXKMETIkJoWIAzRPO7iX27qjHg3oRh+Z8ZPjFOvlqiK0dXBKe14E
         xzsDo4YpOvd1il5p+UmT/NrCQrFba+vDzmRFmQH6dcOcquiyUihqnQjc8siEQh25LcnU
         vYzcWIBeEQGXeWOaZXOkeOI3TMNGrzhhbkxgFaaSW3XWpnkDNr6tdcZgMPkbs/4ICE3w
         w8Iw==
X-Forwarded-Encrypted: i=1; AJvYcCXqj7bE1y7lMnzwsbqkn7zzJRqZGV0ukK3J+Qr3mKhWQh6PKBPmoo8eznKlx3cqSCT7vzbn77+H37M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyRy+EmloFsfrGK/ZOSGWgBlms5FSEueBAti93PRPCwELeQ2OJ0
	iLu24Fk4bb7qRDJEvZkpTda5CWJKC1BWeITooLukWH73BQCvJAjE2DCG1sAp8h4=
X-Gm-Gg: ASbGnctEK7N4RK/+KB6APzKZzFZO36l5znIdXh9WFSlzbvgovzzxyKvd/i83nq4CNVy
	DQcdo5gsaT6E8Q004HVD9rl7bRJ8c0Mgu546fnFhZ+3ctjKziB8yv/bEfTOZrV3AxP/XStfHAKi
	1+/6SrfC+Dv3V19mGUrrecTwEln/DGO3BH0w3mUfw+HJb+5sSuA801/iNNFXRJ0Ly7V+lY3R8f3
	zvcIFOijjvVL0TDUN1GwW87AQe3ZQoipNEBYghXDM3b6x+WmjpiTcmPDtKT/RN5k0rmEaN5K2Yj
	NYE0QtIqZdSVDakwhg0OGaIPYS7SUTLXJblEN8Ejl7CD
X-Google-Smtp-Source: AGHT+IHnwSLAPNKXU3gMx+5tsTTteDKv4SHyK4UxOMNd4PXKbxpy7VaCfSFX9w53V0ZmsOD5PjeQ6g==
X-Received: by 2002:a17:90b:2f4c:b0:2f9:bcd8:da33 with SMTP id 98e67ed59e1d1-300ff10d6d1mr14553930a91.21.1741883954948;
        Thu, 13 Mar 2025 09:39:14 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 03/17] exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
Date: Thu, 13 Mar 2025 09:38:49 -0700
Message-Id: <20250313163903.1738581-4-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h         | 12 ------------
 include/exec/memory_ldst.h.inc |  4 ----
 2 files changed, 16 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index e56c064d46f..0e8205818a4 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -44,18 +44,6 @@
 
 #include "exec/hwaddr.h"
 
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
-#define SUFFIX       _cached_slow
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
 static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
 {
     address_space_stl_notdirty(as, addr, val,
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 92ad74e9560..7270235c600 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
@@ -34,7 +33,6 @@ void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#else
 uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
@@ -63,9 +61,7 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912885.1319087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslaa-0001MN-2M; Thu, 13 Mar 2025 16:39:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912885.1319087; Thu, 13 Mar 2025 16:39: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 1tslaZ-0001Li-VF; Thu, 13 Mar 2025 16:39:19 +0000
Received: by outflank-mailman (input) for mailman id 912885;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaZ-0000Wy-8h
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:19 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4f573a2-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:18 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-2ff799d99dcso2532000a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:18 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b4f573a2-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883957; x=1742488757; 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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=cI0QjfoHLLNNzGPcxeGESaVdGZrSaLwwu/74qBl6ZQ/AQhcFSoUBqdiDbTiojDy2wl
         XQaILVtHLtALVTihX4kzUXaBFWGwcFwEo3K5hpONDd1sC2U70xQWKC3LmFxAeV3FUE7h
         rpn14LnHoEdXS6nap8Aavb6+6d/fE6r7UJH5RwUwEn3P0CLINcGRV8Zp3dj8egd0vo0D
         duzy913qZPeWprSCYZSUQfkmkDcNJsEFRJHkMSw9VGI/SVRVBMsQKPLen2Km2hv7NlGg
         EJ14YiPFpJCupgU8RWGYZCpg4QGMla4XPNaFAUqnQbMmzW0sA24nkIgqttKwjVYayOzh
         /rZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883957; x=1742488757;
        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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=VqPu4b3nAPQ27TtVKzeS9rR7hf/HzlFntVMmWDfZ4HwbXSp5mBQTEZxiWdSst/PUCB
         M7OVKyhUqMOj2hGAVf+25q37OCUmzoQ7Fixp8APE53z8B0gxVu93BAYqmPEk4ExF9xws
         vgR4o/yW5tz09Otn92QfU/aKSs3kGo5o6tV44LP4Z5WAmISBVm157x4ffsKzknQW+rei
         ICQm7sapxijoy7wxDlmOk06lcrnoiDeNL5RzKTn0p7QuqNvJAVylbq/6yUzFmhul4FnF
         4Q//4rgENx5/vJ6+2xPyd/uGMYbL37n5yg5Y+iOwAxu9IzsJ43Dh6BSd6PY2cPziHxt7
         B+DA==
X-Forwarded-Encrypted: i=1; AJvYcCW33ugIQcJvPtZTKCk2lrDpZ6WYEdjc1Sx6qvPGUK54ZN5ae9RLPSRY1bIppDMNCaAUGk+SckCWwaM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxLF/+8SdGtj8+tqTSvuYe5x/fVKEZhLvPMv7cxhDJgN3U4c5nv
	RItd+D15KXSSBzyLeFmxcDwxi4JJLdQbB6+58jlEVWnSyBdG/auzAxrTu67gpZI=
X-Gm-Gg: ASbGncv2J94Gl45mznovyUA/rP4G7SylsQLPUKm7u6WFny3VTBwh69/D6hZk9643p3+
	gHfO8CV0wzo2/Oozw1NmEQvb7VP3VR6NjYtNxBwjtcSJnza3vUpX5ssetuOndx1UVZGb09/6EeG
	qFAWLYm4ddSRhESEZVuQK2bFjziHrOKZE4q/DsGeWH7G5RaHTz61PMfdw9ohVHM6CGWCLybyDkC
	F/aZ9gzB58JV/3d/hY5qqvaBfG49Uxx0sii5oefqxE421ESRRaTIA085MT0fpsOm9uZ1clZSzhQ
	D1njUQ5bi/BXh/udpLE+HM7Cy95ad5m0WjQRvio19imC
X-Google-Smtp-Source: AGHT+IGT0TQa6IzxQKmV0c+iT9Ap/Go2mov47rFQ/lft0hbXJmOXflaiO0g7vmiNGPWVgJAiRn5xgQ==
X-Received: by 2002:a17:90b:2710:b0:2ff:6fc3:79c3 with SMTP id 98e67ed59e1d1-3014e8435admr275040a91.9.1741883957269;
        Thu, 13 Mar 2025 09:39:17 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 05/17] exec/memory.h: make devend_memop "target defines" agnostic
Date: Thu, 13 Mar 2025 09:38:51 -0700
Message-Id: <20250313163903.1738581-6-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Will allow to make system/memory.c common later.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index da21e9150b5..069021ac3ff 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,25 +3138,17 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef COMPILING_PER_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN
-    /* Swap if non-host endianness or native (target) endianness */
-    return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
-#else
-    const int non_host_endianness =
-        DEVICE_LITTLE_ENDIAN ^ DEVICE_BIG_ENDIAN ^ DEVICE_HOST_ENDIAN;
-
-    /* In this case, native (target) endianness needs no swap.  */
-    return (end == non_host_endianness) ? MO_BSWAP : 0;
-#endif
+    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
+                       ? target_words_bigendian()
+                       : end == DEVICE_BIG_ENDIAN);
+    return big_endian ? MO_BE : MO_LE;
 }
-#endif /* COMPILING_PER_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912886.1319096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslaa-0001Rd-Mc; Thu, 13 Mar 2025 16:39:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912886.1319096; Thu, 13 Mar 2025 16:39: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 1tslaa-0001Pf-9g; Thu, 13 Mar 2025 16:39:20 +0000
Received: by outflank-mailman (input) for mailman id 912886;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaZ-0000Wn-9p
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:19 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b30244ab-0029-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:39:15 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-225b5448519so23154885ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:17 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b30244ab-0029-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883956; x=1742488756; 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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=nlDlFNaXPwUQ9bca5ZtTmmM2Mr+TvmcY5rjkpAoAddd/HwM8TEAcpSKHFcC49mC3Wq
         msks4lSIcPxqkZdRmacAI8ABSlbP7UfM0cGv80sAsNuhaiS7i3McgFBXPbn8LnSydUg9
         Sl1rsN7gviAbh2ol2QN2lJbHOsnir8Ox3o6flbjauV5g4GDeRdNWwpBVkm1qBizZU+PH
         F1FGlCuEdY/KNp8v5dSQzDz5bpZdZeHH1d6mj+tqKPN+uRU/3PSVomIyeVQaRJHICjEw
         Q3SGIMaji0wnVwDNpUJ2HtDD3KdL7PzBggtHEhmMboE1ObAY7tMrCzM6X5zXc1tIYZUM
         CWUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883956; x=1742488756;
        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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=lwK1DLY8Ezrfm8gklX8RtQuHWOva43MBwIzNwnEHeExt1GLCTAXDR8BMbuBejvN8Jl
         6/ZVIUoSw676MMqmYsLFVFtPmMUWFdCiRT4z0cp/NytrwvXHmcqwXTRRWd1svv3yyYON
         48vgMEYi+slWtHHyc2i2C48RjcikesshZHZ60cRbwlyh/TzcMqLjRV/alL9H2k/l9aQM
         LongZAs6xP105Lh5J20tcU20xz1r3cM/DTYO7qRiLGDI+UN/gZ6grtJlRAZObyAshIdE
         /HatGNmLSPeaNRw6nLmgPu+vwKH3H+skXz98xx2qrecVe47ccpsVMJM5yVm00s8rAQSY
         0SuA==
X-Forwarded-Encrypted: i=1; AJvYcCVZR2CTAkSvRa+hjAmrghpjX4VC1NnXiaRtMmtHACKjTuQzpCG40qiFHVqsMf3JK44TQ3HOasZzA8s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxQOV5d1CBoSrUI5TTT/g5//QkotwIc6e51S/JSZTzYlVp1NAP
	O4MKH37QEXkI7cU4tA+T0z0BcPG077g6AbczzLSUatxRfg1q5F8N2hsOktKgdSc=
X-Gm-Gg: ASbGncujfYIju3Z+FBQXFYvvdSAU5Yr1lpAQWipS26LJ4BWGrlr0p9PUfIu6wI0sAeX
	ItEM/tjNT4T0W8Lci4JAGzwoFLgCmc1TO2DzI3Zw6F9XmW06nrLkP8mjjgzcKgtSBPKpE6piuWW
	E8QBxRo8IJtnN9jmMFlcVg43Y1PLHU0ZkZ8jtNp3B3G2BppNMHJ+UYZTWI06DGutUf/+HdGfAnU
	x0+td1Zisltr3fXf6ReBAOKLnjdOYv+sTM6W7xJA6qzPPwGD6awMfySjKMXu1pD/bT2pvX1q6FV
	lEVUE6UW8bOHpKGcykx3zwO/YPEEkWYjE9nqra+SZrS1
X-Google-Smtp-Source: AGHT+IFAP0qoR6ylfmeu0A0f1WgQyrtvhvjwp1bL3Fn8cTt6DHZC87LNZvbpID5iZRw0pqfiPur+Vg==
X-Received: by 2002:a17:90b:5688:b0:2ee:e113:815d with SMTP id 98e67ed59e1d1-3014e842f8emr264471a91.8.1741883956066;
        Thu, 13 Mar 2025 09:39:16 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 04/17] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h
Date: Thu, 13 Mar 2025 09:38:50 -0700
Message-Id: <20250313163903.1738581-5-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Move stl_phys_notdirty function as well.
Cached endianness agnostic version rely on st/ld*_p, which is available
through tswap.h.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h              | 29 -----------------------------
 include/exec/memory.h               | 10 ++++++++++
 include/exec/memory_ldst_phys.h.inc |  5 +----
 3 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 0e8205818a4..902ca1f3c7b 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,35 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* MMU memory access macros */
-
-#if !defined(CONFIG_USER_ONLY)
-
-#include "exec/hwaddr.h"
-
-static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
-{
-    address_space_stl_notdirty(as, addr, val,
-                               MEMTXATTRS_UNSPECIFIED, NULL);
-}
-
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-
-/* Inline fast path for direct RAM access.  */
-#define ENDIANNESS
-#include "exec/memory_ldst_cached.h.inc"
-
-#define SUFFIX       _cached
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-#endif
-
 /* page related stuff */
 #include "exec/cpu-defs.h"
 #include "exec/target_page.h"
diff --git a/include/exec/memory.h b/include/exec/memory.h
index d09af58c971..da21e9150b5 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -21,6 +21,7 @@
 #include "exec/memattrs.h"
 #include "exec/memop.h"
 #include "exec/ramlist.h"
+#include "exec/tswap.h"
 #include "qemu/bswap.h"
 #include "qemu/queue.h"
 #include "qemu/int128.h"
@@ -2732,6 +2733,12 @@ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr,
 #define ARG1_DECL    AddressSpace *as
 #include "exec/memory_ldst.h.inc"
 
+static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
+{
+    address_space_stl_notdirty(as, addr, val,
+                               MEMTXATTRS_UNSPECIFIED, NULL);
+}
+
 #define SUFFIX
 #define ARG1         as
 #define ARG1_DECL    AddressSpace *as
@@ -2798,6 +2805,9 @@ static inline void address_space_stb_cached(MemoryRegionCache *cache,
     }
 }
 
+#define ENDIANNESS
+#include "exec/memory_ldst_cached.h.inc"
+
 #define ENDIANNESS   _le
 #include "exec/memory_ldst_cached.h.inc"
 
diff --git a/include/exec/memory_ldst_phys.h.inc b/include/exec/memory_ldst_phys.h.inc
index ecd678610d1..db67de75251 100644
--- a/include/exec/memory_ldst_phys.h.inc
+++ b/include/exec/memory_ldst_phys.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_lduw, SUFFIX)(ARG1, addr,
@@ -55,7 +54,7 @@ static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val)
     glue(address_space_stq, SUFFIX)(ARG1, addr, val,
                                     MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#else
+
 static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_ldub, SUFFIX)(ARG1, addr,
@@ -139,9 +138,7 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t va
     glue(address_space_stq_be, SUFFIX)(ARG1, addr, val,
                                        MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912887.1319113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslac-00023J-QQ; Thu, 13 Mar 2025 16:39:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912887.1319113; Thu, 13 Mar 2025 16:39: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 1tslac-000232-Kr; Thu, 13 Mar 2025 16:39:22 +0000
Received: by outflank-mailman (input) for mailman id 912887;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaa-0000Wy-Gt
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:20 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5b2c604-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:19 +0100 (CET)
Received: by mail-pj1-x1032.google.com with SMTP id
 98e67ed59e1d1-2ff799d99dcso2532041a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:19 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b5b2c604-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883958; x=1742488758; 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=mZcjdDtX1Z7JVvsuWgguTldfqVr7ZBWkV3i9i17ooa8=;
        b=QVmlzocMSuBV+lgRH+JPWIMOSeSQ8SZybQDvXi7tWV3JBlUzIoDckDWeTLw3W+PQhR
         WPQ3ytRgODRKgF8+OHseyQeYLlBO76spmDZkc+T/1Xu0wIG8gnwCPItVJPDoL0UzEe2n
         MdG6R+NN/iY6ECypGbK5p1RJ1/1SRWUDGLHLYEIBBqtg43Djy6AP2MVsCiP5/H30Q4xr
         IzeOP/PdTQkCWpN6aTpf3S/jKt4DB7t2hFz9xDXFKwo5tTtxjFHR82MxoUTj1pgKHBod
         YKdcE79BmVy82JthIqeZlwtztgzniR5HofNqJyS/7GUjn5vItgBOZuJFsZ0rE9ULjxzW
         giOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883958; x=1742488758;
        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=mZcjdDtX1Z7JVvsuWgguTldfqVr7ZBWkV3i9i17ooa8=;
        b=sxXWRmVsBizsW0vJb2Ej2FHdMn5jKNvkutqWKNaqXCPBDikrsBVNk/HQT/xFK4oEq/
         hDQZ8ck4N89qXVmQJ+xn/RJUPtYmynu/+CvFOwqVPYxYabJfN28TafMiFsDcTb4Dxovj
         7EVqgELkl1GK+Sk4zzsb25rVdM3tbS1yJBjv2jsoYHBPtdIaiHQkD1HZWIVeAmSQgsDl
         Ry3dQGy1QswAVeVH9xVfh3sHKeWWY3XJuSB3iltIrWEhGM2oa64UmEPA3PUF0gbENUzD
         opU51y7rUkdWvR282sRNoN9K17jv8F1frQIvDePm5lzVmISeBlONqfn0Q2f2Gsl/VUJZ
         HxcA==
X-Forwarded-Encrypted: i=1; AJvYcCXOo/BJosfafDS4WAQ0V3nAaffrVynfd51zjZi/K7K1DfqDSGJ01ChSStqbgKAjkBNhVewSEw4zvMY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxJXJGeN96161O6Ov8/YH+P9fPY1j5yy0XxcE8RVM8aCLOhIMCC
	BTKaOO3638GqiKCmeLXO9hr0YxtWrZYSl3LiJ0p4GSgn//QVMWn1HdKvxwKH31U=
X-Gm-Gg: ASbGncujo6Fg2annUORhnjIAPJJCEKdxJ3rD/mzf0ENbXbJ/65cVlot/bUyi4TzVxOc
	FdqqZ9jcGrpHhzMNOKcjy/f4SypAaAFA06cGJUr0feGrZQH1xge0cxIDd4IYF/CHVMjfABOGxPb
	AKTBAX8IB6JxFMiP5/MOB80dUmZ4uv/WcVY4Ya+10VXuHzbfZbQTH8CHj6gXoqKyqtMD5l1rZYW
	ixTkTmGGmWiVpWSjr6Bafc89uKPVfHATsCpGDmaq/AhEtw5+K6jJc7XNbDBildhejK95AvRBeFr
	UG/BWYwZGj0JLjYsLqcvT/j6Bd2SA0QmmUFdbw8hiuvh
X-Google-Smtp-Source: AGHT+IG4zIqLxuyjovKp9g3TAXrCpctV1RL6f3536TGUBfN83HoHfbIXNZa1EoQ+qlG58AlBh7g+Ww==
X-Received: by 2002:a17:90b:5403:b0:2ee:fa0c:cebc with SMTP id 98e67ed59e1d1-3014e861c18mr244498a91.20.1741883958391;
        Thu, 13 Mar 2025 09:39:18 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 06/17] codebase: prepare to remove cpu.h from exec/exec-all.h
Date: Thu, 13 Mar 2025 09:38:52 -0700
Message-Id: <20250313163903.1738581-7-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/tcg/tcg-op.h           | 1 +
 target/ppc/helper_regs.h       | 2 ++
 hw/ppc/spapr_nested.c          | 1 +
 hw/sh4/sh7750.c                | 1 +
 page-vary-target.c             | 2 +-
 target/ppc/tcg-excp_helper.c   | 1 +
 target/riscv/bitmanip_helper.c | 2 +-
 7 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index a02850583bd..bc46b5570c4 100644
--- a/include/tcg/tcg-op.h
+++ b/include/tcg/tcg-op.h
@@ -9,6 +9,7 @@
 #define TCG_TCG_OP_H
 
 #include "tcg/tcg-op-common.h"
+#include "exec/target_long.h"
 
 #ifndef TARGET_LONG_BITS
 #error must include QEMU headers
diff --git a/target/ppc/helper_regs.h b/target/ppc/helper_regs.h
index 8196c1346dc..b928c2c452d 100644
--- a/target/ppc/helper_regs.h
+++ b/target/ppc/helper_regs.h
@@ -20,6 +20,8 @@
 #ifndef HELPER_REGS_H
 #define HELPER_REGS_H
 
+#include "target/ppc/cpu.h"
+
 void hreg_swap_gpr_tgpr(CPUPPCState *env);
 void hreg_compute_hflags(CPUPPCState *env);
 void hreg_update_pmu_hflags(CPUPPCState *env);
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index 201f6292033..a79e398c132 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -2,6 +2,7 @@
 #include "qemu/cutils.h"
 #include "exec/exec-all.h"
 #include "exec/cputlb.h"
+#include "exec/target_long.h"
 #include "helper_regs.h"
 #include "hw/ppc/ppc.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index 6faf0e3ca8b..41306fb6008 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -29,6 +29,7 @@
 #include "hw/irq.h"
 #include "hw/sh4/sh.h"
 #include "system/system.h"
+#include "target/sh4/cpu.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "sh7750_regs.h"
diff --git a/page-vary-target.c b/page-vary-target.c
index 3f81144cda8..84ddeb7c26a 100644
--- a/page-vary-target.c
+++ b/page-vary-target.c
@@ -21,7 +21,7 @@
 
 #include "qemu/osdep.h"
 #include "exec/page-vary.h"
-#include "exec/exec-all.h"
+#include "exec/target_page.h"
 
 bool set_preferred_target_page_bits(int bits)
 {
diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c
index 5a189dc3d70..c422648cfdd 100644
--- a/target/ppc/tcg-excp_helper.c
+++ b/target/ppc/tcg-excp_helper.c
@@ -19,6 +19,7 @@
 #include "qemu/osdep.h"
 #include "qemu/main-loop.h"
 #include "qemu/log.h"
+#include "target/ppc/cpu.h"
 #include "exec/cpu_ldst.h"
 #include "exec/exec-all.h"
 #include "exec/helper-proto.h"
diff --git a/target/riscv/bitmanip_helper.c b/target/riscv/bitmanip_helper.c
index b99c4a39a1f..e9c8d7f7780 100644
--- a/target/riscv/bitmanip_helper.c
+++ b/target/riscv/bitmanip_helper.c
@@ -20,7 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/host-utils.h"
-#include "exec/exec-all.h"
+#include "exec/target_long.h"
 #include "exec/helper-proto.h"
 #include "tcg/tcg.h"
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912888.1319117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslad-00026E-70; Thu, 13 Mar 2025 16:39:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912888.1319117; Thu, 13 Mar 2025 16:39: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 1tslac-00025D-Ub; Thu, 13 Mar 2025 16:39:22 +0000
Received: by outflank-mailman (input) for mailman id 912888;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslab-0000Wy-Ea
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:21 +0000
Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com
 [2607:f8b0:4864:20::102b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6490efc-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:20 +0100 (CET)
Received: by mail-pj1-x102b.google.com with SMTP id
 98e67ed59e1d1-2ff799d99dcso2532068a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:20 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b6490efc-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883959; x=1742488759; 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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=BUUsKinLUwoSVTx3bfllBKHlTJSJ61D1mbEG12f/1XiGSLzVKSZ7oxQ3ujTDgFImC+
         JmKd1Alg3RAXOm7i6IIjgUt7/GvKrsGeNLykFM7PXadFHvwDwLZKAhh+kRNfb2iGQ/NQ
         GDZQlfB4Ji0jJOPVOGNbvhV08HQeTr0JC4C91Dz5QK86ZNBq7nwoMXURlhmq0eBmqlUC
         JYkfx5zgQHMcOVWV8IWsSfa+7QP2TGE1h7RzDpkadpQX9Lp+Y+yhgf+QOIFWrE5Vn0vs
         petbhwURZw44Wd5JTpzkXdRY5vMXs3PaaniuxT++GujO+q42dzKZTUh/pyAVOZhneA4L
         gFGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883959; x=1742488759;
        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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=jIVMJQBDBpV228jGkb9ronTgSPp9se5xPeeBlzvZBd88+Vzqa0pINI43pn2LoPP+DW
         77uP0gob1P5tfVBhzHRQe6Y3Bh8m7IqQiuH9g4acHH++Azk9oS9qxEnRt+te4u/lnSI+
         YKCBqlK0UtJdvnuW7a1hLfVAI3iz1ekgnusBS0zNWIiA3V/KNkjb5jJSdr7zy6Cuatgq
         sFUa+qNCos9mRiHSHas5CCHNsDKZHZ65fESE01lq41X1s5YSPFOU4KP14COZ6wClVmA9
         2BWhNVCT2ePyMrQTb2anxob5tppWCxLQTFKZBl5biJH39xhAwK9bzIY2eG3GOvU8mgIv
         U52w==
X-Forwarded-Encrypted: i=1; AJvYcCV5EaPrM9LaT0lXtlYeGRKFo2iuT/9k0eK0X1vHM5ULz0FtZ28hFmyjgIYQ/RP7oytIYPvDhKsMGiQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxNc8xXKUAOCDleZv0m8Uhn+kOjFCwOpTLlq6MzvFUGhRBG7Tve
	ZtwPZoeZ0N3bOuyEcCkct85OtOWozUK/Z2/N6EQlNzUlwbaZ7FoU8LjLHNITrdc=
X-Gm-Gg: ASbGnctUJ/C6RLV2B3Y9Uv9osMNtenNVeLjYLC/8Ol3OR0EdXSr1K6UDJ+NWL78p83q
	WBYX/v4cegMO8MJOCWx7K6vmJT9+d6C4kn8fsG1FB1/lhOVZuafMRhABIzgJVUbIDmO+gtCNiGP
	oq7NKC6iCTLhqnXJEoTbN5rSjXaghj4Qe7jDomE7x2Ehm7/0Ht+tK9ugRKHZsUweJyy3HiXo/GK
	MvYri9L1pC2skPu+pL51Z//RIpvicUf4HO1KN9h8CLsb6oWPSkeKYrSGIkORTvAth+gvIhOItz6
	MxsDeL1r559sBxRU53ag1TjVTmaC17nX5HU6qyjXxRdP
X-Google-Smtp-Source: AGHT+IGIP+en0Aj0eYAe+7XhNeZ6W7zp31secPtMQkoPMAwiLZjQzktFWA/FDeyZICzvqUiJA1imgg==
X-Received: by 2002:a17:90b:54c4:b0:2ff:52b8:2767 with SMTP id 98e67ed59e1d1-3014e8619f7mr247106a91.19.1741883959525;
        Thu, 13 Mar 2025 09:39:19 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 07/17] exec/exec-all: remove dependency on cpu.h
Date: Thu, 13 Mar 2025 09:38:53 -0700
Message-Id: <20250313163903.1738581-8-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Previous commit changed files relying transitively on it.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/exec-all.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index dd5c40f2233..19b0eda44a7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -20,7 +20,6 @@
 #ifndef EXEC_ALL_H
 #define EXEC_ALL_H
 
-#include "cpu.h"
 #if defined(CONFIG_USER_ONLY)
 #include "exec/cpu_ldst.h"
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912891.1319133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslaf-0002h4-Nz; Thu, 13 Mar 2025 16:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912891.1319133; Thu, 13 Mar 2025 16:39: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 1tslaf-0002ga-Ii; Thu, 13 Mar 2025 16:39:25 +0000
Received: by outflank-mailman (input) for mailman id 912891;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslad-0000Wy-Mr
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:23 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b79c68c3-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:23 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-22403cbb47fso24466805ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:23 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b79c68c3-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883962; x=1742488762; 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=PfpTTedni4gUGfvRcfnvXw4xTvY7JO0pNjOjXTZ7pI8=;
        b=N7Vz3wtDBFf9og8nbz4E72dEd+3aKdWpFWBJmjmv4GguFCoskQEMwRMmLCKYhxLElS
         i5dCW6zqePq4ASa+TDmIcL1oDENfVC1z+lgQoMvFqWg06JArUYMnYtNPuBYQikrxAdab
         3b9W4fbdO11fGEZNUKduNFRgJaFOhM7mjIX/M6BSLuZrmgZRleBBOIKHjnK0S9WVkvBO
         vL6+vD3qClx7iUkaIkNfznGgGCdBTJSvpbXd0vr0bEoXY0vwBEGTgF1kD+gVfxHIbXLH
         MTdzPyfBg2PpD9yWgrkFTbH//SYuuNwnxP/J6luYHCFPpgSvqoHClI0daFjDiugR2s0I
         6UCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883962; x=1742488762;
        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=PfpTTedni4gUGfvRcfnvXw4xTvY7JO0pNjOjXTZ7pI8=;
        b=JhWYRv/ZGPlZF/X4uIuPoquLEwHrex9bqScaG1CoSS8CWfIaCDWC0tx6e/46vDBETI
         HWH0bkaJbU30+Ug2X424/oRQy3v3aC6/A9AEizTywdn7EKAD5naNbj6XB5SediqbMO+a
         04yeu1odbhhZ89zrYAjQhNhwz2kUGI35sYQbCYzFxZhu2g9eaoUiTJsBwrn16855rLiT
         BtBVm5F+1xbfrSVn0DRhPGxFwUH6tjjEixljdBtMp4X3iTzCQFrtaoPpxClBdOGTG+sV
         Qn+HOCjQDWMiGiseIqKRvdoKUKFciH1SDewiwNXEXSGGKcw+LNFrsXf/wQ0PC1srnz/Y
         f8BA==
X-Forwarded-Encrypted: i=1; AJvYcCUaYGRodJvsgJ0By74bp/0UwviGX07ay77Af8qWmxja59QDhV5pOSWByDhRLnjCvanrquM3ILU5UY0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwFFGnsZCFvmMlrIAchdCOw2wZW56qP5z4tS9l2oQRpckGlDUcU
	U7o6daCQ6qZaEfg9d5fbHzHjlBUK3KVKIrIuwbkp0tUtIbj2wHBWPg/WZWVH4KY=
X-Gm-Gg: ASbGnct9bM7mmpr0Gfs1pzyLno5LSxKNKaE1voaVRwjrqX3VJ8NUZ/w9DNykDzgMXDD
	jDzUbrOgkZBUjn5XTv5c0rNA71Ke2Or0pvWlaT0dXY+IPcqjDKpOShXyr+DdDD0GoXus0Y1lvN9
	M7ViKCaRqpSRSen7uIMePVb0TLJzNzsAqimZTdl9Ggy8WOeep/quHOc28GJzJOy92vWiDSJ/k+J
	rPeb/G2VuERpjMZqj3buRyuka8SACXQEiCcxvzGL5Pxv1muf18PtF6xKYJTiydo/UY0DarWyH41
	VwEy74t61mjly50kTUsgxJDVYCInyLmsHNPQP83clxVh
X-Google-Smtp-Source: AGHT+IGoee0FqI1pRrQ30nb92L6Ez6iWr624Iw9VfJKN6XKShQ8vco+xd3ltWnO1olhH1gK/7mxIvg==
X-Received: by 2002:a17:90b:3ccf:b0:2fe:a545:4c84 with SMTP id 98e67ed59e1d1-3014e8bff05mr210801a91.34.1741883961740;
        Thu, 13 Mar 2025 09:39:21 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 09/17] exec/ram_addr: remove dependency on cpu.h
Date: Thu, 13 Mar 2025 09:38:55 -0700
Message-Id: <20250313163903.1738581-10-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index e4c28fbec9b..f5d574261a3 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -20,13 +20,14 @@
 #define RAM_ADDR_H
 
 #ifndef CONFIG_USER_ONLY
-#include "cpu.h"
 #include "system/xen.h"
 #include "system/tcg.h"
 #include "exec/cputlb.h"
 #include "exec/ramlist.h"
 #include "exec/ramblock.h"
 #include "exec/exec-all.h"
+#include "exec/memory.h"
+#include "exec/target_page.h"
 #include "qemu/rcu.h"
 
 #include "exec/hwaddr.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912892.1319138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslag-0002ke-Ac; Thu, 13 Mar 2025 16:39:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912892.1319138; Thu, 13 Mar 2025 16:39: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 1tslag-0002js-0A; Thu, 13 Mar 2025 16:39:26 +0000
Received: by outflank-mailman (input) for mailman id 912892;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslad-0000Wn-Sa
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:23 +0000
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com
 [2607:f8b0:4864:20::102f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5aa50bf-0029-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:39:19 +0100 (CET)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-2ff6e91cff5so2131036a91.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:22 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b5aa50bf-0029-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883960; x=1742488760; 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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=r6NND27xqIFbfp7To8/POFOfzYrQJWK4uL3WcSoLBl20ZlIbD6D1JVLX0AJHOxLUl4
         sMV0fHPj0/Chpyb+ibqePu4GVH8NLbkGMv5Dfnp7lnRhPUxx9rwUeOC4W7fVa6L7CCbT
         kFFKJHfwH5lkAo8eTUILBobOXeIcwPThrQkCfRtotNl4Mx5eiGr9+CqcNTgm0RXPd2VZ
         t3BrfTmq4D3lHNXJXujUo6Gne62oNLaOOwXAl/a9Fqep5hdHQsFaYTP5wFFxTZwpkkY4
         O6cKO62JZvw3tvYSMrKDkl7SMJdyv+UlKTPkl3COBW9qEIrz0I1/xC62/R3Hmkl9kscj
         arkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883960; x=1742488760;
        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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=q/JfVJ+SF+lq5GNe67AV45BtJG/WIGuSgzFscp/Vbc0mR1E2eRnyA7vSuHkSWkxiHG
         y9uYd5HluVKTDf6hSesBkwM5n/wZ5oww4wS33SnYvi/JBopiT7wD3GUnILFoSpYtTnVi
         X3W3s3znrMPWGxHFcKS4obT8YqWSWwQe/faEsvjfqJJFEinp7qbnzH7jDZ6aeudplrGg
         VJCPPkTFkF/CLMeYEq+uuu2mu8oWXLe8F/gMFbtcT4cewe/hUiPJsxy6nDs+PF9DvFgF
         xM++QvX3MiVbtA9ktAvg6Y+eSrQz0Y1j6bfK2JKXEbMQmYidECoZDKJSDegfsOZCwzeq
         RGdw==
X-Forwarded-Encrypted: i=1; AJvYcCUg87a4CgCdWSroYFQXW4pmDbVpsWJirNIY4Lvz+iH8Rb2noeL/a0EpT1CSLopM5FyrbLmpEqD4QJA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxbi6HPiWeNsiFh3rFBYw9d86qQYE6pnTI00ptJMOweekO/Er19
	J2dUcVUdolRrnRYWsWG29tBkq6vuQBNc4Y16ZzmvEeIYuSHT+LVvKZth+frXiEo=
X-Gm-Gg: ASbGncug8Xhi2JrSU3e86Ob42YcwWzodqr/nhi8yyFNT7I0oWCjbV64hVqiJzUg12Dw
	SpI7ayhyXEsGSU+8GgOaR/9cDGrOLGT80qIMXsKRzY/tfa01bRtruD2f/KndHFK3M35Z7GiRB9W
	/3ZnVr0fLYyT2VP9fZh0x8UlMyUy7lbC4JO4KprkrbQfyR7DmX2mDN3aWApVD1TzS0pfgOR8w90
	FIcQiYpR1r0X3N3l5XXrz2693S0bMh5fOMaJ01JjsI/Xw9SCSkMnYfqr6aHFCHeyZeZnp/mPYlf
	0V8owK4F/xuK2iywNPnVkcbho2rvcEQU9481+YRBSmwE
X-Google-Smtp-Source: AGHT+IGZzjulkQU+BByDQKOIMhSKMvzNQK3Jb1Ldmjqqry9imNMjEt/+F7i1NK8ViRkyqUoEaWDauw==
X-Received: by 2002:a17:90b:4f41:b0:2ee:c2b5:97a0 with SMTP id 98e67ed59e1d1-3014ea23938mr221254a91.25.1741883960596;
        Thu, 13 Mar 2025 09:39:20 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 08/17] exec/memory-internal: remove dependency on cpu.h
Date: Thu, 13 Mar 2025 09:38:54 -0700
Message-Id: <20250313163903.1738581-9-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 100c1237ac2..b729f3b25ad 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -20,8 +20,6 @@
 #ifndef MEMORY_INTERNAL_H
 #define MEMORY_INTERNAL_H
 
-#include "cpu.h"
-
 #ifndef CONFIG_USER_ONLY
 static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
 {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:39:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912901.1319153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslak-0003Wh-Gm; Thu, 13 Mar 2025 16:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912901.1319153; Thu, 13 Mar 2025 16:39: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 1tslak-0003WH-9z; Thu, 13 Mar 2025 16:39:30 +0000
Received: by outflank-mailman (input) for mailman id 912901;
 Thu, 13 Mar 2025 16:39: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaj-0000Wn-Jz
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:29 +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 b9495a7a-0029-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:39:26 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-2ff85fec403so4308544a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:28 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b9495a7a-0029-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883966; x=1742488766; 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=cOa15ppvF5kxsldjPkSIJYe5T0c824L9GaUvR3via0Q=;
        b=iMMCRlvMjRkWl3bXt4ODIHd8IRhsPtR7UUKUFV9iL9kTPP8jYWquSI1SwSWGSxwKmF
         XpMOJc4dn/TnvVjOuG0791Vkf+rIftgDeXOmC5mwD8jSabJfvCbQW1MDApsypGLxyrhl
         ketYI9WhLVmtdlNU4Csbyol8Aneh6LsG0LDjt5lp3G3N1DPD1X2d3GRksk2vjcT/J1B8
         HqaZUY7XNWha2xsBbhl+mgBDN0qXVUnKjmUGIrcQssdIVOIZzGSvn0nSX8jmZ/E8qqL0
         B4bssBkOxJYeACVnzZPouAl3BVgIc0ml22Oue5AIGlKAOgOz5p2EHAhWmmi2Sz2NxGWb
         m48Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883966; x=1742488766;
        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=cOa15ppvF5kxsldjPkSIJYe5T0c824L9GaUvR3via0Q=;
        b=beYdh9uoBIEHEVrw1U92VvoIlmAX8tHC8rO3wjLTbu1l06mTzyBtI3tU7l99JzGIVb
         bGFCd1nPjG8zAl9AwMAErrgh62H8mAjIGgsZaTN/CTdzuzboesYyZstt24tJyK8QlYQ9
         sezSZQzZXHBSIF9O7K/gRqO+c66OfEZ41m9/rjMs9+quBNSkTN6Y4szGO8eV5GOUBFM5
         g8cHVYSxcbWAgNS3RS3XY7qxhKWlq+LprtCxMf/0OkMaGRn+hyu6Z3BoKu7htQUO1Fws
         I6fTz6GjZpInXPBgqfJXb6CjuuS/waPdHD3/4pE3oD5uAzRbrHBQx0U3KprxAAN+ENNv
         7bjw==
X-Forwarded-Encrypted: i=1; AJvYcCVEAU36GCZ7rshgB1cfbxMB5wfiP9rDXQWDFjv8b8cErJ3zEkCQ4PHl4OHCbA1qef2YW5goc/iUgl8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwijuYKJotpEbzRDqSnym8tEJrUsDGi3WMiU/G2+mnz6AMjHPDA
	wATNqsvJxB1VUsqPs8c90LKsdx6P+4VObKNQxBGh1liHfmGgdRT2WFTRfo28M8g=
X-Gm-Gg: ASbGnctcDgXU95m7LnqQheC5HmAlUkc1DuSQ0zcXKQ5lE7jhr/eK9eCynKwKhrvaxxH
	00EN4NKYxcDvueGaBrpf2qBY3LKARZr2Pslt/d+EIZH0jyU0b4GKZHtxeOlRoQoaHu+T/ykkevp
	EFUgAqsKhSrI2tQuPxWHr717pTAHGbFiJNnljUjh/WP1tPLIAD81J7pRjnBZbaRVRg81lM4Y8qU
	C9DiYnIg29j9tfUxnAZB6RddRSW6woCT/kIvcZIA+bOd4tfCYqkUxra3bcSXaO/JacojG63EJc5
	9f950JhJRVxFdP4mgVdzEiv0TM+jAQV/Djk17SyIlS7X
X-Google-Smtp-Source: AGHT+IF4AzvOcFWztZZ2bxlYvUCRcZgJhJkixRgg9I+5NbaWKKn606UlzAb4zSHX4i3sVnz0TZr9yg==
X-Received: by 2002:a17:90b:574c:b0:2fa:30e9:2051 with SMTP id 98e67ed59e1d1-30135eab105mr4295980a91.5.1741883966469;
        Thu, 13 Mar 2025 09:39:26 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 13/17] system/physmem: compilation unit is now common to all targets
Date: Thu, 13 Mar 2025 09:38:59 -0700
Message-Id: <20250313163903.1738581-14-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/meson.build b/system/meson.build
index eec07a94513..bd82ef132e7 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -3,7 +3,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'ioport.c',
   'globals-target.c',
   'memory.c',
-  'physmem.c',
 )])
 
 system_ss.add(files(
@@ -16,6 +15,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
   'rtc.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:40:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912952.1319162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslbp-0007Hf-TJ; Thu, 13 Mar 2025 16:40:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912952.1319162; Thu, 13 Mar 2025 16: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 1tslbp-0007HY-QH; Thu, 13 Mar 2025 16:40:37 +0000
Received: by outflank-mailman (input) for mailman id 912952;
 Thu, 13 Mar 2025 16:40: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslap-0000Wy-Pp
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:35 +0000
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com
 [2607:f8b0:4864:20::102f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc73c532-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:31 +0100 (CET)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-2ff6cf448b8so2680806a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:31 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: bc73c532-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883970; x=1742488770; 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=EBRugwqnxw4q7Phz2P050i5IjB6Zbf1WGwdoEilqtkY=;
        b=xlbH1Yhq02FPeTsM5C0Lq7XD3XZ61XmRDMPhzJsKLdXg6acKnQB4WYrkEO+QAPT1h7
         gJm+UI3kHUbhCtuC/GC7vq3rt8ivYxCJtZmmbArxwAf0hXV8p74ksYukuheboI8eGPvK
         7HSEbWsHiba/SX17rfhGJb5XhriS2b/irwi6WaRikLXaSV2s60euflfLbKzL/ILORmUN
         jFILBkZuZ5oHKYdR3ZyI5IP9sXMnKsIh5rKtxCFcg5KjcXAD6zTIDLSszZAk8TZJglu8
         1w07HPAQqQTjdFpbTzw8itvsScZouSnwK2qp1f+2L53oidmx8AhJ3AMQXH+ZnUE+2XhW
         t0pw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883970; x=1742488770;
        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=EBRugwqnxw4q7Phz2P050i5IjB6Zbf1WGwdoEilqtkY=;
        b=EGAmGMYYyLajicQh4gmYks4eRdiGHEZWJVQgEs048NAgcTOd0zggKZlEBWSZ9dJdxf
         ZJf7HuheDa+vW9XVJuiUg2o5x+hzI/mdUNODs5xVMSsn3c8FAZrZmyqD8nlV2XpmmZI6
         OA68eqOUEvRBS6SgOD5LW6UachTLUNsZ6GUyCaTQZg7w50f4VLjH4rCWqv6Z9kvJmsHZ
         4B3KHfuG53gQY3K3cHUsLws6F8SI7SqqQ9WuflWEeqBz292QI1fb+UNog/MBSl3XZs2f
         MngNAJatnzJgt+jPjJYPbcIATXvlGyzkByGbvCLuoijFzHsFUoQRYb+EQJ6b2uUjmFbP
         uH0Q==
X-Forwarded-Encrypted: i=1; AJvYcCW8Nu0rh6UTVm7jap8nOsds0EvtqtmPqpstgH/o+j/a2LssvC87bvkJKbZR8mhBhXAjKa/rGjWQwOw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyrjNsBhoCOeUaIDO+eK7MBgkQIila+qcjAIEl0KreHWrtVIZ0D
	gTt8+SUws4fa1rMPwJIFXnf+sfjjifYPjJs52kg8bNnAK514cQo9dXgTe9E0JMA=
X-Gm-Gg: ASbGncus0OrevZz6D98efq8DUKWUUDsNmNSmCCnFhH7PWr6gdrZN7hcisEWcTSK1I4O
	ccV97aFgfFib8BVO15BzWf28OQInOIf4TdWumK97wEVM+Lh/K2sWz/loPgjvXgVCcocZli9LfrH
	Ap18GZJhB/HXz4ttMDo8Uv1tFsSStiDypStjFlSinsv47Bl1RGW+0Ox9jhrWhFYjHWtBzA1pgjH
	cIVDifynKtizlcuOYMCZX+G8+QmbazA5Iatp39lZCnAp/1DXuvhGKP1kxjNLia/NQfujtn13ILA
	Jj3jOq+B4CKzKelqZdrKRiI8eblBuzyxGEcNap9/7O48
X-Google-Smtp-Source: AGHT+IHRyNfs/2JPL1rq+dZtoKg0Gk6ovyIhkaylwgSPQTAI/HYpqKgruBLvp53+c1fVanolW+jjbw==
X-Received: by 2002:a17:90b:51d1:b0:2fe:a614:5cf7 with SMTP id 98e67ed59e1d1-3014e815c62mr251908a91.3.1741883969872;
        Thu, 13 Mar 2025 09:39:29 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 16/17] system/memory: make compilation unit common
Date: Thu, 13 Mar 2025 09:39:02 -0700
Message-Id: <20250313163903.1738581-17-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/memory.c    | 17 +++++------------
 system/meson.build |  2 +-
 2 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/system/memory.c b/system/memory.c
index 4c829793a0a..eddd21a6cdb 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -353,15 +353,6 @@ static void flatview_simplify(FlatView *view)
     }
 }
 
-static bool memory_region_big_endian(MemoryRegion *mr)
-{
-#if TARGET_BIG_ENDIAN
-    return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
-#else
-    return mr->ops->endianness == DEVICE_BIG_ENDIAN;
-#endif
-}
-
 static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op)
 {
     if ((op & MO_BSWAP) != devend_memop(mr->ops->endianness)) {
@@ -563,7 +554,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
     /* FIXME: support unaligned access? */
     access_size = MAX(MIN(size, access_size_max), access_size_min);
     access_mask = MAKE_64BIT_MASK(0, access_size * 8);
-    if (memory_region_big_endian(mr)) {
+    if (devend_big_endian(mr->ops->endianness)) {
         for (i = 0; i < size; i += access_size) {
             r |= access_fn(mr, addr + i, value, access_size,
                         (size - access_size - i) * 8, access_mask, attrs);
@@ -2584,7 +2575,8 @@ void memory_region_add_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
@@ -2619,7 +2611,8 @@ void memory_region_del_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
diff --git a/system/meson.build b/system/meson.build
index bd82ef132e7..4f44b78df31 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -2,7 +2,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
   'globals-target.c',
-  'memory.c',
 )])
 
 system_ss.add(files(
@@ -15,6 +14,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'memory.c',
   'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:40:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:40:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912968.1319173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslc9-0008Jr-5R; Thu, 13 Mar 2025 16:40:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912968.1319173; Thu, 13 Mar 2025 16: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 1tslc9-0008Jk-1x; Thu, 13 Mar 2025 16:40:57 +0000
Received: by outflank-mailman (input) for mailman id 912968;
 Thu, 13 Mar 2025 16: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaf-0000Wy-NO
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:25 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b854ee65-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:24 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-2254e0b4b79so33218475ad.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:24 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b854ee65-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883963; x=1742488763; 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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=Pm7oW0p9MOxprCME69CgtVTfDnw4FA8rQ/HTzhFn3XMxplPt/BDl6nVjtA1jrNzu5p
         1+5BXXgm9lAnSx16vtPJAGcCllfZTd+jU/Et/fYeG+r4/MA9f4Nx43e79Vu6hDhKEi74
         Rvc4DKUSaNIos86Zi6JlKOfbGjtC/SZqQz8zRK4LMbCTSoffqfwQx9bBHjq8oaFiD+Yj
         pZvUC3ctXseoSasoObzJwDG5viI9ivSjDKJGDgfq1tnoWjRg1KLxgfU2xi8RXhdjf5cP
         ICqR6C/7rEXqgD4t4Ye0mmA78998kt4dP7eO3R1ogZFWqrDEVv3KZzk6tNUX208eJqvw
         /09w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883963; x=1742488763;
        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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=veWgchPav7V57eti4aRmeK18rg4Oxh5lDg/xsTruD5INQ8poOpz9StxOUamfAY3xtp
         QVCBztGYBH3ZiXSI9ZObOyz5oZJ82tCbTU1YIEXPSTR939dBaR1irjAU0F1Vb9Dwaxn6
         AjPOE9DTq5AD1UkMBFAuhFM4ZVHh5HBV8tDfp4XnOIg2ysSv8Ic94do731ACtj9sRPay
         xb+SepH7ymXKnklsv39GeVj32DO27styObFZhHuMI7JvR7upS8zWZg20ikRVeMRAjsc3
         doHS7Qxivvmunka++MlujwFBEDacWG771uP1w6Gl0F69jhU36fsRYA7afMkonQXRN3Ao
         evYA==
X-Forwarded-Encrypted: i=1; AJvYcCXUrtK2geJw/8zfxqBHJMQ9yXo0yPXC9m2h+Kau3PeRkFA7Dxa/+7PW94bLow/wD5lgCdw1qIbeBGo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOKcfsxDX7cYhPY88Gr4pxsAfkplhJ3SX0Mr8F2yNSn7TzrWZu
	8it7XiBIr28zSvZrgtUYow+w4QXwxKWdB9a42459DZzVpejXo8T9pna9R28sVzk=
X-Gm-Gg: ASbGncs7udeE79uDRTMU01zbtrlfKhz1BqVikAwwrdQTzCb3DeijLW4vq6o+YqAEaM8
	HUss3b2xqPQ7wAnXEQCZByxMXF3emrdiDkAgIcO9O64qo6mrpz3whRz5Uvxfbc2xM9Z+AP1VyWV
	mgMAz6qXzP+eGhxbWNRYNqkQd0jVtRdkFNFZrG+uJHchC4bjQBqgUXwkeYes8H0UYczzYnbV0u7
	VRKduUpf+7bL5VB4YZRjYVvKgHZnsrq5e6LKFptUVQAyuafSQiqBYyo8iA51SfC9eD+1gvgCWXB
	gD1cc/pd3+2CP8N5pYTuhtLaYaQb41XH/lFBuDMW26AyhPLm5ox1AX4=
X-Google-Smtp-Source: AGHT+IFA5iTR0M+uWE9BgHbKNSK5QhTOV/p9oDq/Jx41glVxwyMkriyoe5Nv+AlfRyMJQR/e/whMeQ==
X-Received: by 2002:a17:902:d4c8:b0:224:1074:638e with SMTP id d9443c01a7336-225dd8ec5f6mr2405345ad.52.1741883962943;
        Thu, 13 Mar 2025 09:39:22 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 10/17] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code
Date: Thu, 13 Mar 2025 09:38:56 -0700
Message-Id: <20250313163903.1738581-11-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This function is used by system/physmem.c will be turn into common code
in next commit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/kvm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/system/kvm.h b/include/system/kvm.h
index ab17c09a551..21da3b8b052 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -210,11 +210,11 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
-#ifdef COMPILING_PER_TARGET
-#include "cpu.h"
-
 void kvm_flush_coalesced_mmio_buffer(void);
 
+#ifdef COMPILING_PER_TARGET
+#include "cpu.h"
+
 /**
  * kvm_update_guest_debug(): ensure KVM debug structures updated
  * @cs: the CPUState for this cpu
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:41:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:41:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912973.1319183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslcD-0000E0-EP; Thu, 13 Mar 2025 16:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912973.1319183; Thu, 13 Mar 2025 16:41: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 1tslcD-0000Dr-Bd; Thu, 13 Mar 2025 16:41:01 +0000
Received: by outflank-mailman (input) for mailman id 912973;
 Thu, 13 Mar 2025 16:41: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslak-0000Wn-KS
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:30 +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 b9d8956b-0029-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:39:26 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-225a28a511eso22556325ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:29 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b9d8956b-0029-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883967; x=1742488767; 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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=nIuvgRQSCIKSkJIIHuJR8fc52spkMdYUEn7kuK5KWr96zlP4qtOvtjFOVsNYvL7Kyw
         Sftprcebu+sN9gKhn3H56Q/kuWpRNaKyOxTxyhYODPCLU372Dp3UpidblW/K1a5/zTn6
         1zubNyhY2tE6DZiUWct96fUt+cv6clqjCkL90kw7Huj7p09t4V3JgPGjzBJW4hXXJxJA
         e+f90i9Svz5Wl6SH5mm1/SgalPXUC2pbyo1xwR3C1J1O5jEnemvrGaz7DwUl+01/zTCP
         ZYoInpT5e0xvlwGnWN89gr4MLJ9hszkytGPIzUsGlruMJJPyVx1yUiSDwZYmaDUugg8e
         t5Mw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883967; x=1742488767;
        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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=UbwK2FZoVnwr1lay+QAYmTzQi68igW1AiGgAp9l6xm0Os+2Lu2DlX/s7jcIRyBp9G1
         FG6lTqRqGG1lmvCjphqL+s2/IgCogHjGYdjKSzQ4RmIqFMkGcRnVlSQ+CuZ6XTNwzeh0
         OWA3Ggqkhz8IvIeb7j+Xg1y5ObpqKBCW8UioNiHRCgIIhurzsygWjJc+6TfPtwmJIT2K
         jXM2kq31tG9bAvBrLibDVNZHyKyal+kXsdiJ+W9gVTtwMcYZthLO3staG86HiuwUYhBA
         Ac2W5GPug39la5NlDcFIu6U5ll+Vq2O40tz71kyekMpNuBSSHSg/KX06jwxeFfYQMqe4
         l2bw==
X-Forwarded-Encrypted: i=1; AJvYcCXQ/momGIpWdM+yeavkabdLmWhNcYCtUCRpwFydTIbDh887qYWn006WC94+QZLU/nKr0w6pv9Auppo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzjNQbIRNymsKMcHXP4NNkBpZMJMQ+rsEkomoiOz3+ueFiw/zVt
	YqRgmfEViNde5JpVWrnv9eX75QTQeWrFauH3WT2DRG83JwAfjBJTeNB/Q9v/smE=
X-Gm-Gg: ASbGnctWsJ6qyYpjR31h1C3WTjOvI9JfGUgct3LR0Owy/U1uTkMTAQ8H9Eo2T0N3YO5
	NLcrpxaz7kloUpXshBxnBvK0Zi6Sp5T6VuWE4pHg6i60d95c/Q59T159rsjVtdvqgt8T5OjiZhx
	KDCxciKmKgDm7LPYMds5Ca9iykSYAU7d4t5jGXpVoT1y4xlNBp1cv1Kyrv9yP2s8zUUfpUpct9K
	V4Og+PfjR30Mxlw1NJVdJVK12fPB+CLeElm3yOv886L8mf+Hsr/AjrUjM6U+hvY2jgNEznPC5D/
	Rp8wDNtIj42xNSA82DY82PhLBQAD49uFPWSdoS02bbO0YCF4sr/dBK4=
X-Google-Smtp-Source: AGHT+IFcq5bUjsmA5zzk8huR+izs7UMfjfhsI/1Y2larg5eumFEccAwXse4tJs4zAbzQaGCcQS+wlQ==
X-Received: by 2002:a17:902:cecd:b0:220:e924:99dd with SMTP id d9443c01a7336-225dd8b9922mr2731115ad.34.1741883967572;
        Thu, 13 Mar 2025 09:39:27 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 14/17] include/exec/memory: extract devend_big_endian from devend_memop
Date: Thu, 13 Mar 2025 09:39:00 -0700
Message-Id: <20250313163903.1738581-15-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

we'll use it in system/memory.c.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index 069021ac3ff..70177304a92 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,16 +3138,22 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
-                       ? target_words_bigendian()
-                       : end == DEVICE_BIG_ENDIAN);
-    return big_endian ? MO_BE : MO_LE;
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
 }
 
 /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:41:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:41:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.912990.1319192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslca-0001Ol-Mh; Thu, 13 Mar 2025 16:41:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 912990.1319192; Thu, 13 Mar 2025 16:41: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 1tslca-0001Oe-KD; Thu, 13 Mar 2025 16:41:24 +0000
Received: by outflank-mailman (input) for mailman id 912990;
 Thu, 13 Mar 2025 16:41: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaj-0000Wy-O7
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:29 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b902e856-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:25 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-2ff187f027fso2324090a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:25 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b902e856-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883964; x=1742488764; 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=PABH8iZPN9WF+wJr72ZMp6Lm7i1C+9jWBJAvssLik90=;
        b=WwL0SM+zfM+CQfmZ0rIQHnJcRd4/GwZpAy7f+ntnhhVWHKwUncoiyZbERjxJugxVRk
         xwKYXZgsci/8IQvx82+GMguhaBtsr0KJilWrWyV2y5gyODFDYIQBfeqk3UUD0QwYRGTH
         UUKER8oytQtYGIoLsA/RiBsZnmJKVXuqTHBl/0x2ysTK1XoS8oLXJ1SJfAaDrKpN6md6
         SbpnUH+FZjQemmVlD5Xd7v1oWzPkjTsoLojcnYqKqlQQcCVV6rIAFS3Nwuxkn2Jm6ciF
         /rQPGb0DKluE1aZy+mafHW7+/kTuohWyjjAXOvkXKTi5Inb+epYoqxx8N/7fdMLnxgKl
         4EUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883964; x=1742488764;
        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=PABH8iZPN9WF+wJr72ZMp6Lm7i1C+9jWBJAvssLik90=;
        b=kYA+kduwCM81V8AuBbrDngF0+o1++NS6YmEyL4y0ecYnDEG8ccNbVHzyRQQdVmEAIf
         TbBn0htvSxMls7oteP/5Zhn5L81lXgzQWJ2YIRM+IVlVGbI7RPAb9TUJ8NfQNjspmeUh
         U7ahF1ItiNQDA4Dap3DD4cIcm1e5OaMacvpHdjTQj57cWdq6c3az2AJR6udj5l17q+E2
         Rmaq2mjZ+OW0+EZiA1qvne3wbuwWvzbsTuhxZVdtIF8G99cCVeNFag1jQrnQR156wAwW
         wqXba5dfXLc4xU+kd3S5NtaXMmdv4UaMw5uqc9TfojfUWLY7ZX1cnI64STMHDvcVS9lX
         GI6Q==
X-Forwarded-Encrypted: i=1; AJvYcCVvRHXWo7UZJMg0e5cLa1v+8atzvvHbM2e95nF3tHPRNudtUCxZcbxCtNOCMNohVUrAL4rr+gBkjBQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw9TDUWn/G3lYuMvFLfvWUs2ZT2LAhjOe5POrP3iyP4V1WjZA6S
	mRVDqAE0+bpugiqy60wuRaZKMTwcoERvMLSvOF802lHcc/1JT3uCwil/nwZXg3c=
X-Gm-Gg: ASbGncv0tAGVSRM/WBo9TfjufsFcd/zj2WIXOoyHxrjg2/TFdC7nkEyEzcUWAtiQfm0
	VmpwbkhhT7/RhogsR8sWz4tqrgO5LEEHdFmREkuPdEHe8Oh6y4jWifH4IIoOPXA3JSN4NNw6poy
	/6VEJ8AmI5vas021ciXlvRa2a0G+ZYLgE9XqkCYxunFY9d70TszqSUkdtM9Lj22U5ttI6Htj4VI
	ZSZ9ltpbBMqPDq8PRWWpmLqEiM3W88PnmXnB0bIWtkoXg1WC+9cy7J8tm4uC0txgisr1XZoM46o
	HL/u8ua/IeQ1HGfc7wqScLi+6yEHEX21tiv34XmkFCgn80l8MArBYQU=
X-Google-Smtp-Source: AGHT+IFBCzdx2RE2XSuvFzfGvZFs1Ld7NKM4NGPSUQ/nU1Uh9fZ+kP54v1OAyBR0HlgDCGZ75ow8Ew==
X-Received: by 2002:a17:90b:2f0d:b0:2ee:9661:eafb with SMTP id 98e67ed59e1d1-30135ed493amr4421602a91.12.1741883964075;
        Thu, 13 Mar 2025 09:39:24 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 11/17] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
Date: Thu, 13 Mar 2025 09:38:57 -0700
Message-Id: <20250313163903.1738581-12-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index f5d574261a3..92e8708af76 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -339,7 +339,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
         }
     }
 
-    xen_hvm_modified_memory(start, length);
+    if (xen_enabled()) {
+        xen_hvm_modified_memory(start, length);
+    }
 }
 
 #if !defined(_WIN32)
@@ -415,7 +417,9 @@ uint64_t cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
             }
         }
 
-        xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        if (xen_enabled()) {
+            xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        }
     } else {
         uint8_t clients = tcg_enabled() ? DIRTY_CLIENTS_ALL : DIRTY_CLIENTS_NOCODE;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:42:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913007.1319203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsldB-0002GR-Vt; Thu, 13 Mar 2025 16:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913007.1319203; Thu, 13 Mar 2025 16:42: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 1tsldB-0002GK-SU; Thu, 13 Mar 2025 16:42:01 +0000
Received: by outflank-mailman (input) for mailman id 913007;
 Thu, 13 Mar 2025 16:42: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tslb1-0000Wy-S2
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:47 +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 c16dd64d-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:38 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso8590315e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:38 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8c5d0fsm60549085e9.32.2025.03.13.09.39.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:39: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: c16dd64d-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741883978; x=1742488778; 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=autfPun3Kmt2RYxKRsMlhaPuf/QbHyst02lmhWlWRfA=;
        b=E31JBwwq9i/+D4ztUnou/UWWDPIqMbbbKcxjzl0P01VA5VmmWKqaP4+pRjrBXziD0A
         q6gIj/UUbU9NkQJALAz3t8G6MC/+i5IvFxueubwNFHS5k2MKpnGfgRKRWcd5+ZnJlzzK
         q2sNt0PgB6/QgxQkHpEO4+m2vyiLzH4Pv64QQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883978; x=1742488778;
        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=autfPun3Kmt2RYxKRsMlhaPuf/QbHyst02lmhWlWRfA=;
        b=orU1tpE0eAlQ2FVDZDueij9gzV6dIMNBWzbwmUbwvQgP2w408mJStpbYzDPycDl1me
         Bi58fheti6rd0lM8INJLwRCCekZ/FWg/5/205dBo+fKyOICOBcYG+q9/aSXaS3T+Hrlh
         X7hMKrmjbnUic3hpbJu3NuoQDK+GWeNVrfI6yQHzZBIYjQ8uIdDnh1eB2H2u0uUFu0wp
         JoqH4k6UL2bxG2Epl7euCI8lm4QPST+5R3r9RUYueUimiapE1BpzuaJFIZihQcVgb30t
         IRClYf/JGOf0hqTgDITL/P2quS6o7avg3xjbQ5vR2EkqkT0swWh9fjBM6DP1yQJ0852Z
         Eu0A==
X-Forwarded-Encrypted: i=1; AJvYcCUBrlocGH/MeisKFrNsy3zwXZ3RD10oHx6qPomZsXBpRUVl3Sl2kymdxt0Om3vG0Ucubq7F2NnJxIs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXQPWOnbG7ERgVTCtamzibQM2gLuFGoR3N/+wJ65wYsby1MUlX
	pee2Vv4g4P54gVgJAQrj08KQrUU1jDPLFQCKv24gyXuaVBr/oQnA5TiNQpCcF04=
X-Gm-Gg: ASbGncsadUvcJwL9QQpegKzRn9P4VQCWQg8LwN2Im02x4SHmqZ5bJJvfJ502t/vdDP7
	XHUOhEs6sH03UoqA6HUyeJjdy3cvn9hID8fyZuO7T1DD858O8+vIgh3cc4zHLpKzW4Hfcv1eOsh
	UEKxLKIl3fniQxa2X1vrtI3U0TKjWmVA4Kua+0erot6KsKnbV2Adk4KUMlQRuRKRReOjjbWsEf8
	SfcWjepvOmMpuxwfsRsavFfxuw1JTWqoMp7BfaIpPiN8/Ti3uVfpIHHs43hW3V98OxWddJmgBIV
	7WlCeaLpNJPPm/V8qgHj1u+XbPJsAaCB6GeOE8ShsaEZQMpOW/TADpFBpdnaB6JxdrEINu8rYxs
	OMITWGh7b
X-Google-Smtp-Source: AGHT+IHbMoTmRbVn/fxju2MvpUSZrU3rcXU9gWnPjgRmhDeH306WN8GUtARmjJpPd0L7WD5Q+gu4WA==
X-Received: by 2002:a05:600c:4ed0:b0:439:4b23:9e8e with SMTP id 5b1f17b1804b1-43d18bb1abdmr27119335e9.3.1741883978292;
        Thu, 13 Mar 2025 09:39:38 -0700 (PDT)
Message-ID: <aace0fab-ce3f-4b9f-87c7-2daafd8442ba@citrix.com>
Date: Thu, 13 Mar 2025 16:39:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] symbols: arrange to know where functions end
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>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <51f2cd39-e92f-4745-8053-e51ada22d601@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: <51f2cd39-e92f-4745-8053-e51ada22d601@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 1:54 pm, Jan Beulich wrote:
> When determining the symbol for a given address (e.g. for the %pS
> logging format specifier), so far the size of a symbol (function) was
> assumed to be everything until the next symbol. There may be gaps
> though, which would better be recognizable in output (often suggesting
> something odd is going on).

Do you have an example %pS for this new case?

> Insert "fake" end symbols in the address table, accompanied by zero-
> length type/name entries (to keep lookup reasonably close to how it
> was).
>
> Note however that this, with present GNU binutils, won't work for
> xen.efi: The linker loses function sizes (they're not part of a normal
> symbol table entry), and hence nm has no way of reporting them.

By "present GNU binutils", does this mean that you've got a fix in mind
(or in progress), or that it's an open problem to be solved?

> The address table growth is quite significant on x86 release builds (due
> to functions being aligned to 16-byte boundaries), though: Its size
> almost doubles.

Why does the function alignment affect the growth?

> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Note: Style-wise this is a horrible mix. I'm trying to match styles with
>       what's used in the respective functions.
>
> Older GNU ld retains section symbols, which nm then also lists. Should
> we perhaps strip those as we read in nm's output? They don't provide any
> useful extra information, as our linker scripts add section start
> symbols anyway. (For the purposes here, luckily such section symbols are
> at least emitted without size.)

Will symbols_lookup() ever produce these?Â  If not, it might be better to
ignore the problem.

Taking extra logic to work around a benign issue in older toolchains
isn't necessarily ideal.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:43:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:43:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913030.1319214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsleM-0003Y0-9g; Thu, 13 Mar 2025 16:43:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913030.1319214; Thu, 13 Mar 2025 16:43: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 1tsleM-0003Xt-59; Thu, 13 Mar 2025 16:43:14 +0000
Received: by outflank-mailman (input) for mailman id 913030;
 Thu, 13 Mar 2025 16:43: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslao-0000Wn-A9
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:34 +0000
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com
 [2607:f8b0:4864:20::1035])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba9c1e4f-0029-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:39:28 +0100 (CET)
Received: by mail-pj1-x1035.google.com with SMTP id
 98e67ed59e1d1-2ff80290debso2584834a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:30 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: ba9c1e4f-0029-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883969; x=1742488769; 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=/B5foK4Qy0OvFQVWNYpVAAsAF+tVTKpBxl4Jl8CdPFE=;
        b=FK+6ebUWD5Sapcuwjy7wYqq5wTRuRuk5HqYFrVy/OhkvAtlGQ7tE7KQGSL60kw7HcR
         pdsNE1IhXuyK/EkSw8jvtFlkTHEmfypneJ26kbXfqTxernJD4XdP3UDra58iMZV24vgd
         SohN7lHDQBecpl8JIlTzIyssEEaAdw1AF8woKqTYTf4dKUf9VdI6+gSwtiWltIgiIsrm
         SkwGU4r7GqDZ1rmnvebTOJlcvi6c7bfjMZmc6K4bdZ/CeWYBDPpuPkNe14scXeL6P7uR
         GUEoCn4o1icIWvGqByqGphPuPXg55P2HD8yJi1Nc6/h3sbWEULxVxmLaUESO7vV4OhmZ
         gXZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883969; x=1742488769;
        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=/B5foK4Qy0OvFQVWNYpVAAsAF+tVTKpBxl4Jl8CdPFE=;
        b=m1JiOb1ipersXZ8QowoI5huqnCKfge5MgkM7HlO7EFb6sHzXKUOgEg+awEOtMr+Yap
         XYS51Tdz6jbKjYOQuBpj2emI8f5cW10lsygZDaZzMoUsgYWvrx5n2f8pMpZG+oEv0Ket
         sji2Df1P/B+9k0vO+OizE9QUHPmj9pA3sGfFC6tnR+aWts8v1K3qtg7zdYdNo1leLPq6
         dGAJo25GPxa2IOAKR6CWBJsa3lvXC6+uWxengB4gIN53/xDOjKK8EtiddxWz4tTLDQlF
         WhEe520875zeZoliJHpWJ2CrZepFUpLHSMjKRUF5qO8nYx4iE9qun5e7VQmJcRtynKlJ
         WBDQ==
X-Forwarded-Encrypted: i=1; AJvYcCWOmGoRbzUYIt+VEv0lsxJrgbP99unnox2rwkV9wYXXIp9eWVKLRxSxClib6zw1PHRlkfOKefUicuM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwqTK7WI8Y6IYXD0cvIMck37gdjku/vcPlv5P7hVM2aDfDixjvD
	itnoONxUpRdUisSGnZSWHtH1RA98fk+ZS9GLvo/VgmRPctgUg8j67OE9l6MdHi0=
X-Gm-Gg: ASbGncslhRmWMocYtaDzq10MxoKQReJM6dkVcGRy7M3cNqYqyd2lv/ZnNS5nuS05I27
	AsrQ+/+qWTy0vLfH93nPq3Purdr+vp9BHRLVjOLeAgnv4Eqvx3q1HjKP/qw9koootMcSIUAPG5r
	0BlzHXi9adNhXOklBzPD43IhLZ8pNg4EXxQM6fT0f4XEolPQTlGmXVq3TY62myPJWezwEym06be
	ZHH82JnyeC6lFuFXXUabwDQCGKjCuV+wwYSGbaXht85vy0W2iv/6YEu3ewoCcD7OIa0Q+fRkl88
	vq4p/LC8pHSwB0plkrL/l/mO1EDqja/I8uYtCmSP9hbe
X-Google-Smtp-Source: AGHT+IE6Us2O77TYYfj/J/RmRU6RhpFIbMCr45wvgkThs0nxBWSPhVRimj63yvMeVhIF4wJ+N9MdKw==
X-Received: by 2002:a17:90b:3bc6:b0:2ff:58b8:5c46 with SMTP id 98e67ed59e1d1-3014e82fd9amr271511a91.8.1741883968719;
        Thu, 13 Mar 2025 09:39:28 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 15/17] include/exec/memory: move devend functions to memory-internal.h
Date: Thu, 13 Mar 2025 09:39:01 -0700
Message-Id: <20250313163903.1738581-16-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Only system/physmem.c and system/memory.c use those functions, so we can
move then to internal header.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 19 +++++++++++++++++++
 include/exec/memory.h          | 18 ------------------
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index b729f3b25ad..c75178a3d6b 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -43,5 +43,24 @@ void address_space_dispatch_free(AddressSpaceDispatch *d);
 
 void mtree_print_dispatch(struct AddressSpaceDispatch *d,
                           MemoryRegion *root);
+
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
+{
+    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
+                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
+
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
+}
+
 #endif
 #endif
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 70177304a92..a3bb0542bf6 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,24 +3138,6 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* returns true if end is big endian. */
-static inline bool devend_big_endian(enum device_endian end)
-{
-    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
-                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
-
-    if (end == DEVICE_NATIVE_ENDIAN) {
-        return target_words_bigendian();
-    }
-    return end == DEVICE_BIG_ENDIAN;
-}
-
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
-{
-    return devend_big_endian(end) ? MO_BE : MO_LE;
-}
-
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
  * to manage the actual amount of memory consumed by the VM (then, the memory
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:43:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:43:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913034.1319224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsleU-0003vf-Jf; Thu, 13 Mar 2025 16:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913034.1319224; Thu, 13 Mar 2025 16:43: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 1tsleU-0003vW-FG; Thu, 13 Mar 2025 16:43:22 +0000
Received: by outflank-mailman (input) for mailman id 913034;
 Thu, 13 Mar 2025 16:43: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslak-0000Wy-OI
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:30 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9cfe0cb-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:26 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-22334203781so44356635ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:26 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: b9cfe0cb-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883965; x=1742488765; 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=YZcwoIie6BtZ5Bqo8BYW0CKBTK95znA0iA8YHmiy7v4=;
        b=XY0pAryMmuVMSRw/P/gqFLlcBZmW1H9roUoeM55D2hdK9PBD1y7Zc6V5DqKdbf0czu
         beWGFzQIAtmZ6ggoYv6hqdoC6MweXykxhExv9vBMGTNgx348Wug+YVj1am6myLyRb3/i
         veQMi0EFM5CYQa22KvrX0ecW15EdfGdSwXd+c5spV9z7diq4e5ytkDUt/pijgEeg83Aa
         wDeqZzMXH5qcitrzuyQmbFtxuc/e3oLZaB7rrFKHaYjO3dDCZlImY8i2+Dfc3srFJM22
         M/thlHsdnsVQP/p+wFgsPxvlcSjCEQ39EZPdWYF46QlG21ee6vqFxPnaKZmwRonbS8D9
         6MzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883965; x=1742488765;
        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=YZcwoIie6BtZ5Bqo8BYW0CKBTK95znA0iA8YHmiy7v4=;
        b=e0wPqGMFc8xmBxy8BWAS4zrswnGmgupOg/45MQGGm1uRrSoZToAbsb20XkBzDiNkQS
         dR2AxFhtFIVrtTMeuUP12CWlrhAXGeseb0mVGgZ1UamJbKth/wnztdvwIfztTlKP//u5
         xbIggHre1NpDaMtfIFHq88nGwOL8BLC22LHTtlboEv0I64sqZ8WhhsCM030pLXtUspPI
         Yk7opoJumzrUohJzq9SsqqkljSAS8atVCCVGqeXUebSTDa3hVLMohDRP5E8n+T83UvVY
         YTPje2hg0tvCr592pZ9ZkEbvn6gyDzcVAZZBJtE3C1lS6nbzf+Ydr/jns1hpO6t6AUs4
         Tm+Q==
X-Forwarded-Encrypted: i=1; AJvYcCWu0tToXJjyE75+TQWaP2GWq45YpGxWUnBFoS0XF9wdBaUqszvQh05XcrGRkHvOhZ8eO5xJ9VwKhvc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzfCGgEh4s4IPdUyW3SFrAClr/pIXeUBF1Y75dB1J1ZhTQIjCoY
	qMqXlYRK84BEGeMemsaHPycn+TXCPEheJbu+y2zDBVusm65TOIetPnMAmINzSDs=
X-Gm-Gg: ASbGncvh0AQJMzIHIqYpvCFOJOrERUWRToVgFyF+sCK8GmKo88tq1qMwVzK2tFfQZQH
	4Vpv+kaJTKPwiscdbbtndW2TAjvaO/y2YvC1QjJC9rbizmaKfbnT0S4Wzwn4erOE9T7oor2+2J4
	LKCS4wyc4B+GeqlkrcgHIzvgKwRt3HQaB6F8sdY9abF8pM+iZNCaG1Kf8iLWloW4aCwWY8QoVZX
	p8h/anEZFNjYX7+cMNkF8e5I5V455K5YPnHBSyW4lBDYOm/NhoMJxDtdg3e20CQ7GYJZH9Jv6RS
	joVCDdmZczeB0oPybaqLFPNmgHxfGCzt5XLPUyZGtvBC
X-Google-Smtp-Source: AGHT+IFiKP7Cv0cYdqEMV+MhGWK6VMcS4hFI6ysthSkCfjorg7zJkJOo9IS+PhkZP2SVMZhjn6kprA==
X-Received: by 2002:a17:90b:3502:b0:2fa:21d3:4332 with SMTP id 98e67ed59e1d1-30135f4d091mr4406058a91.12.1741883965232;
        Thu, 13 Mar 2025 09:39:25 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 12/17] hw/xen: add stubs for various functions
Date: Thu, 13 Mar 2025 09:38:58 -0700
Message-Id: <20250313163903.1738581-13-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Those functions are used by system/physmem.c, and are called only if
xen is enabled (which happens only if CONFIG_XEN is not set).

So we can crash in case those are called.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/xen/xen_stubs.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/xen/meson.build |  3 +++
 2 files changed, 59 insertions(+)
 create mode 100644 hw/xen/xen_stubs.c

diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
new file mode 100644
index 00000000000..19cee84bbb4
--- /dev/null
+++ b/hw/xen/xen_stubs.c
@@ -0,0 +1,56 @@
+/*
+ * Various stubs for xen functions
+ *
+ * Those functions are used only if xen_enabled(). This file is linked only if
+ * CONFIG_XEN is not set, so they should never be called.
+ *
+ * Copyright (c) 2025 Linaro, Ltd.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "system/xen.h"
+#include "system/xen-mapcache.h"
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    g_assert_not_reached();
+}
+
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   struct MemoryRegion *mr, Error **errp)
+{
+    g_assert_not_reached();
+}
+
+bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache_entry(uint8_t *buffer)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache(void)
+{
+    g_assert_not_reached();
+}
+
+ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+{
+    g_assert_not_reached();
+}
+
+uint8_t *xen_map_cache(MemoryRegion *mr,
+                       hwaddr phys_addr,
+                       hwaddr size,
+                       ram_addr_t ram_addr_offset,
+                       uint8_t lock,
+                       bool dma,
+                       bool is_write)
+{
+    g_assert_not_reached();
+}
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index 4a486e36738..a1850e76988 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -9,6 +9,9 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
 
 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()
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:43:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913048.1319233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslei-0004Y2-RY; Thu, 13 Mar 2025 16:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913048.1319233; Thu, 13 Mar 2025 16:43: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 1tslei-0004Xt-NG; Thu, 13 Mar 2025 16:43:36 +0000
Received: by outflank-mailman (input) for mailman id 913048;
 Thu, 13 Mar 2025 16:43: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslaq-0000Wy-Pm
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:39:36 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd1b2dcf-0029-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 17:39:32 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-22349bb8605so27429805ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:39:32 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30119265938sm4020084a91.39.2025.03.13.09.39.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 09:39: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: bd1b2dcf-0029-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741883971; x=1742488771; 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=pdsNHldr91xnqdGHk1DTLXuYnmkD/cCe/HKmA2EoKL4=;
        b=TxSHTWyR6ffb/dYZWYK4mXb6uEP8mhP0+qBMxJiv0LqQOas0KsRXfK20+u+tgGvr9M
         U/WPpLS1wFS+pMq2Azxrff6ifDo5Q32CCM6ROCrt2P5XQWDMz36KvC6XSskXy5/3F1nm
         qk+Dp6s/QFVZwPYd1L9zjBXUlNVyC/7WQ96NSD5fjASApd53zh6dVQ2tQYeYUFfbERCj
         aCs6fHv+uqQ3Ns1aPnqB2dimwEEUpx9lN+gAyLF82IdIZ3kiRusjh5sKbkZg0nX7IW2N
         RzEdbhbiljVnOW86qh8u3rXzoWlCapZKStUDB1+RbIka5mGLfC4/1efthR955yfFaaSH
         mgpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741883971; x=1742488771;
        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=pdsNHldr91xnqdGHk1DTLXuYnmkD/cCe/HKmA2EoKL4=;
        b=p9enphWgA6/C5/voR/y83PYNgHaJRV+4JpUO0NhP1hrO+wrK6EVZ0VxC0otV4LApI4
         NXRDeVMWS1FSm9gyQpy3rX1G//sQC9UHcMP49D/lF+RZgGoeyhesZdwUngMDK4WLVW3M
         nfbxwjxyISORUKZc12rMhMhJdsPz7gZ1Y7dRBWo+l+nXuRvn87eXn1Ae1syz63tvMnJi
         krypqTGXPMOhApsfWYWDMGCK7/alPv3VNr/JoUI6LubOmrVR3wBYzX9UORWHwGLPn08I
         ksACSxQjr0sSdVAHD+zNC2qxyua5uYKe3lgzADKAid5Yiz86WRZ1fHM3CKbBAVh04n85
         xLHA==
X-Forwarded-Encrypted: i=1; AJvYcCUF6yMZv49N5pThq3vzyqoQ7u3k/c2jtaMX6CJyg3GdqK00x7a12SPbkpQaB0yPPRqnvwOJLYmW+O8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOlchs20hOhUcWVrVvRkJPctSvyy7TBad5mnKf32I6yu0TkciD
	luqBTqhtiG+1w+LJbmp091FpiUiAJFmcENBLEAUhaMHEl8qrT9YGTthzvx9jTwc=
X-Gm-Gg: ASbGncu7G4Ko4DAvHRD5NsSZ6wPbnpjf+DZ8p2AEVI/47JLfAkCCUkEnYyR85t+m4qe
	Cv79MzRrwd4nDiASVGrDYVSLelBxN3EHDdpkAyGm3eHmKHmLInNWjKnEkv0s4TB3+voMWjq5PEQ
	5qKiDtqm5wpBLGWaEPJk5YwTcBV4A5X1RCwsUkN4jjN4CNZepUiUtQOJqqhn/pqCH++ApGxqdbk
	t1COZrRtb0ZBu4rTtBiRMDK0rHjdRbnNSWMGlAd2Tl2NNaIygnndO+A2tvx1d/wB1g7Rjvex/yd
	zGmWm44JJ9hgGgxsEt8tcRhty45mreOCNEVjHAbA9H8p
X-Google-Smtp-Source: AGHT+IGwkoEmUkadWWuwDPp5K+cQQMib7Zg2jJHfpZBwTIoZ4S09vzdl8DeRv7aJJJyLYJnLE9fiwQ==
X-Received: by 2002:a17:90a:d604:b0:2f9:cf97:56ac with SMTP id 98e67ed59e1d1-3014e735345mr385635a91.0.1741883970945;
        Thu, 13 Mar 2025 09:39:30 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-ppc@nongnu.org,
	Richard Henderson <richard.henderson@linaro.org>,
	kvm@vger.kernel.org,
	David Hildenbrand <david@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	qemu-riscv@nongnu.org,
	Alistair Francis <alistair.francis@wdc.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v4 17/17] system/ioport: make compilation unit common
Date: Thu, 13 Mar 2025 09:39:03 -0700
Message-Id: <20250313163903.1738581-18-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/ioport.c    | 1 -
 system/meson.build | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/system/ioport.c b/system/ioport.c
index 55c2a752396..89daae9d602 100644
--- a/system/ioport.c
+++ b/system/ioport.c
@@ -26,7 +26,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "cpu.h"
 #include "exec/ioport.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
diff --git a/system/meson.build b/system/meson.build
index 4f44b78df31..063301c3ad0 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,6 +1,5 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
-  'ioport.c',
   'globals-target.c',
 )])
 
@@ -13,6 +12,7 @@ system_ss.add(files(
   'dirtylimit.c',
   'dma-helpers.c',
   'globals.c',
+  'ioport.c',
   'memory_mapping.c',
   'memory.c',
   'physmem.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:48:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:48:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913089.1319243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsljb-0005ou-CV; Thu, 13 Mar 2025 16:48:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913089.1319243; Thu, 13 Mar 2025 16:48: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 1tsljb-0005on-9l; Thu, 13 Mar 2025 16:48:39 +0000
Received: by outflank-mailman (input) for mailman id 913089;
 Thu, 13 Mar 2025 16:48: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=7Xn0=WA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tslja-0005of-Eb
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:48: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 0091c766-002b-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:48:34 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso11149765e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:48: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-43d188b22f4sm26536905e9.1.2025.03.13.09.48.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:48: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: 0091c766-002b-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741884516; x=1742489316; 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/1nIOv2kgvZSeHJES54lRaL87dDLICYc2vzUBxUkZo=;
        b=XYDLbuSH8SbvQAMJSykmmP5vKEbfGSTBssIpBZa1FaV5WhHy8Bkr5P+Wvl8YaGoVtW
         I7z5aHt8siTn3UcxiNJgo3EDxpvQycqJVCQW2gDK9c253Xa+mSRvzXRqMQrhm8tsA9jI
         uvH61IS/75BuhSHES6X+G5N/UeXNyhr+7MMGp7GvFn9KtypSXGDoGUM13vxBYDCLcsxz
         J901DpKdAdfSRDyYgroX6W/3GP8+EuV5m+STZCn/YhZFSDxM42yIAioqUn77BskX3Ndz
         cFBAHcUwZFGhkUAb5w6H1eYG7gHQp8TZfTbl8DqA4ocpi/IfamI42w+Zdt7AB88MNsko
         GFlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741884516; x=1742489316;
        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/1nIOv2kgvZSeHJES54lRaL87dDLICYc2vzUBxUkZo=;
        b=AApLZ++bm773C9vy6Capc+mzlNTqZIpZkZ3dscttJppFouHNHtAkJ95zZevLO7V0HV
         CqlQkRrsrus3JnKpsKtGLsNfYdvLU93qwh9uI4xSBfZvI+U9JfYcSvzpvBNTbB4NcZsu
         8mTzJRZ7fqKPOD6ACS0gCBxI4PHvqoNKS8ThVmp13opeI3AQQYWyi9jbj62dor6L3gXi
         L7ARJdNOW3z4TcWLzD/IeQqHS5TrsZ8C1ilAbmBiyXEuoNq9telPwR2z1hIe0MhbQWH+
         1A50BkWpYbCri7dxtNBa8ETcAHGSAMI7Hw3AMDib2nYTV685mRsehFvYFnSF0oxWVLve
         9lKA==
X-Forwarded-Encrypted: i=1; AJvYcCV+dg8TsnSczIUJ45Qy7/z1OwxQ171J+mmNnFiCjdQl7J87pBL+VObuWVYvZZEEUKOEHA29jq+ZCfs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTnrdXZciWYdQA04rO1RKvhtmlQrOqNXpf6VU2hnIpKSAWEMhn
	bj3MHhAZPIFWnEw9VehNoFV67rT5fP9XJ4Yf7QwKuxyhbdTGXQzFyj5eT+57Jg==
X-Gm-Gg: ASbGncvFHY1NHw0fMksw19dXsBR1Z5HT+APD8ucyKyf71PEMLBh8iRQUe2uUtCMqNfd
	3r3eU8i1+H0ckOHnNKhJXI/GFvTBnBxiy6kL5aWk+DvU739Ex+G2jWHYrbO1kU82CWiZzgz1Nau
	TANbINaHiEgmwqVTiYvCsQ2pwT3FBMUQCnTa24V8condROOX3lD+JqQ7BPohUgFO5HdaWwCCPaB
	L1Is6so7aao/A40KzVoWjT/XumKqszI+GM8UwLQx48r5OeD+gaK3p0fnjR2NEUpjZcVX3S1jhJq
	1meZz8wz5vLsesnswtSTeED+vDponfgpsXH2WCQdzQhhGZB3XldY96P5OTJJMdLKrQ7dx2SmGe/
	fTHRT2AIHQkHNbPSaxJVEm0P9VihhSQ==
X-Google-Smtp-Source: AGHT+IHKrk3E2lUl++GZddcmROv4sQYKcXv8aIiLc8p5Gf96qEGlTsTX24p0Ymws0dzusJV8toxejg==
X-Received: by 2002:a05:600c:46cb:b0:43c:f470:7605 with SMTP id 5b1f17b1804b1-43d01bdd4a4mr129976425e9.12.1741884515842;
        Thu, 13 Mar 2025 09:48:35 -0700 (PDT)
Message-ID: <9bf90547-43de-416e-b064-b54c0e79fc93@suse.com>
Date: Thu, 13 Mar 2025 17:48:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] symbols: arrange to know where functions end
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <51f2cd39-e92f-4745-8053-e51ada22d601@suse.com>
 <aace0fab-ce3f-4b9f-87c7-2daafd8442ba@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: <aace0fab-ce3f-4b9f-87c7-2daafd8442ba@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 17:39, Andrew Cooper wrote:
> On 13/03/2025 1:54 pm, Jan Beulich wrote:
>> When determining the symbol for a given address (e.g. for the %pS
>> logging format specifier), so far the size of a symbol (function) was
>> assumed to be everything until the next symbol. There may be gaps
>> though, which would better be recognizable in output (often suggesting
>> something odd is going on).
> 
> Do you have an example %pS for this new case?

I haven't encountered one yet, and I wasn't particularly trying to
make up one.

>> Insert "fake" end symbols in the address table, accompanied by zero-
>> length type/name entries (to keep lookup reasonably close to how it
>> was).
>>
>> Note however that this, with present GNU binutils, won't work for
>> xen.efi: The linker loses function sizes (they're not part of a normal
>> symbol table entry), and hence nm has no way of reporting them.
> 
> By "present GNU binutils", does this mean that you've got a fix in mind
> (or in progress), or that it's an open problem to be solved?

The latter; I can't even tell yet whether this is legitimate to be
arranged for in a PE executable's symbol table.

>> The address table growth is quite significant on x86 release builds (due
>> to functions being aligned to 16-byte boundaries), though: Its size
>> almost doubles.
> 
> Why does the function alignment affect the growth?

I only insert fake end symbols when the following symbol doesn't match
the prior one's end. Hence with minimal alignment (and thus no gaps)
there wouldn't be any "end" symbols at all.

>> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Note: Style-wise this is a horrible mix. I'm trying to match styles with
>>       what's used in the respective functions.
>>
>> Older GNU ld retains section symbols, which nm then also lists. Should
>> we perhaps strip those as we read in nm's output? They don't provide any
>> useful extra information, as our linker scripts add section start
>> symbols anyway. (For the purposes here, luckily such section symbols are
>> at least emitted without size.)
> 
> Will symbols_lookup() ever produce these?Â  If not, it might be better to
> ignore the problem.
> 
> Taking extra logic to work around a benign issue in older toolchains
> isn't necessarily ideal.

Afaict it's unpredictable from Xen's pov. All depends on the order of
entries after we sorted the table by address. The only criteria the
tool's compare_value() applies for multiple symbols at the same address
is to prefer global over local. As long as the first symbol in a section
is global, we wouldn't see section symbols as lookup result.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 16:52:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 16:52:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913109.1319253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslmv-0008IV-Rx; Thu, 13 Mar 2025 16:52:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913109.1319253; Thu, 13 Mar 2025 16:52: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 1tslmv-0008IO-OA; Thu, 13 Mar 2025 16:52:05 +0000
Received: by outflank-mailman (input) for mailman id 913109;
 Thu, 13 Mar 2025 16:52: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=UNRr=WA=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tslds-0000Wn-Uq
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 16:42:45 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d982e48-002a-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 17:42:41 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-224191d92e4so25669795ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 09:42:43 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-7371169c3desm1537504b3a.155.2025.03.13.09.42.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 09:42: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: 2d982e48-002a-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741884162; x=1742488962; 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=mEeJf1jLjksxcxRMyFkwRUHHzj+nso1co+jY2XBogVQ=;
        b=PAGcD3QBwTpSz1d18aqAeBowNsSrTjlavQcZt9nYWUvswY9h/Y0cZm+cPSmmqs4CDV
         LYnBZsbf5fvI3opEqo6/gsoUeCzjQNNl4BimnM7lC36sdg6bacJUerz3k3NZDrox1wPM
         4kYZ7DXBPUmCOYdh0ZP7JnvPhxaxKZigt0AJn3z+MXtaJFBnhMQZ+CG4MwRTkwogziRT
         kdvr73nWQFlECKx5MzDP+SwylZmu3FsOY+25rsZP1D8JPlnK4lkM7KxqRgy6hu3+/PT2
         lv4jRwFX+Pj93XGPNdtScjFlBT0Sxya7QjC5OtMPDoRVhE/5sZq0dzO21v15KPtVO7+3
         tUMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741884162; x=1742488962;
        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=mEeJf1jLjksxcxRMyFkwRUHHzj+nso1co+jY2XBogVQ=;
        b=cKxfdsrHWHlbOCoS4mrvCYM+PfO0lIZItbznOx+Ed4ZzVb2oTlmAtCSlS+WP/GQUgm
         y/MgRy1nBUEzoZ6y3JM/LXi6noxQj85X+d3skmqJkK90AVvR1FoLDezNcgnru8CK2Axj
         Mg8ye/0HlGDmRCoHuJi6eGcLh2hSL93og8Cd0KyiTHrr9IpNLCpO78aXQMoFDmdA/0FB
         i/jt5YVIeqxUE0E0Qm9eZneRl7F/DFDE4IZOidCxMcQRJ3k44E/kbMg1QehPNW3FYGGg
         RlUnZ02HeR0xuT/pUq+JUGZBFLDWvrpA2TQLxpC//yIXbuPrF+VPgi/yU3g5cdUSCKZG
         RW4w==
X-Forwarded-Encrypted: i=1; AJvYcCXnZ2KzwPtNKMePKCoR5kX5XQSSu3hYYN0kuOqVr1P1uvUlhDKbYXSJgnuYgetGkAKT6bpAI9ot+I0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzN944OJLC9xLHySAPY59NBdIZR7CJMZzJ4l+HvTFKxML2yAVut
	SM9tsxEAl6BhWRKcjxrwY5dhXaa+DO6XapP5UBmfE7WQV71WVQVjHx0/lyV94zY=
X-Gm-Gg: ASbGncvvKV2HF2G9GezFni/Lpdjq/wJA9Q7pPp8vhLWC6OszvAZHoyXLPVQX496yuwN
	UHnqEZ6cdCAj8fgngVaOWXpdDfGvuiMeH8kEii+hPBHAYo6hkBEIm/RAN+DxeczFGLl2XVk1AIs
	NJbUx7Qx5vhM0TwfDD7Y5+zMBP7yscopYbxs5cMTU8gbNpTX5uSD8WLvGdvOJVpl3iSiRAiV32v
	WHWERO7axWzpuPGLlXg0N8a6ngR3s3W4/ZGwC7WC2SFKAuGFjdsZjk8Q5CdFGNr+EoYZda1Lwj8
	/hI7ZkWaTZa2zcXq7wDFB+n31Gg5sBkjY8SB7L0xqILuxhiEbgVJdMRAZg==
X-Google-Smtp-Source: AGHT+IEscFPBgwURkivERQ63uZlHCc12XioxFkzuW02QWXVxwQASklk7TdMNVKzsKRLZFS0yvJdJJg==
X-Received: by 2002:a05:6a00:1891:b0:736:a682:deb8 with SMTP id d2e1a72fcca58-7371f0d35cfmr310216b3a.8.1741884161761;
        Thu, 13 Mar 2025 09:42:41 -0700 (PDT)
Message-ID: <9cef5cb6-feea-4be7-ab08-e0b3a8caff9c@linaro.org>
Date: Thu, 13 Mar 2025 09:42:40 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/17] make system memory API available for common code
Content-Language: en-US
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?=
 <philmd@linaro.org>, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, manos.pitsidianakis@linaro.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, qemu-ppc@nongnu.org,
 Richard Henderson <richard.henderson@linaro.org>, kvm@vger.kernel.org,
 David Hildenbrand <david@redhat.com>, Palmer Dabbelt <palmer@dabbelt.com>,
 Weiwei Li <liwei1518@gmail.com>, qemu-riscv@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 Anthony PERARD <anthony@xenproject.org>,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Nicholas Piggin <npiggin@gmail.com>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

patch 12 (adding xen stubs, so would need someone from hw/xen) and 15 
are missing reviews.

Thanks,
Pierrick

On 3/13/25 09:38, Pierrick Bouvier wrote:
> The main goal of this series is to be able to call any memory ld/st function
> from code that is *not* target dependent. As a positive side effect, we can
> turn related system compilation units into common code.
> 
> The first 5 patches remove dependency of memory API to cpu headers and remove
> dependency to target specific code. This could be a series on its own, but it's
> great to be able to turn system memory compilation units into common code to
> make sure it can't regress, and prove it achieves the desired result.
> 
> The next patches remove more dependencies on cpu headers (exec-all,
> memory-internal, ram_addr).
> Then, we add access to a needed function from kvm, some xen stubs, and we
> finally can turn our compilation units into common code.
> 
> Every commit was tested to build correctly for all targets (on windows, linux,
> macos), and the series was fully tested by running all tests we have (linux,
> x86_64 host).
> 
> v2:
> - reorder first commits (tswap change first, so memory cached functions can use it)
> - move st/ld*_p functions to tswap instead of bswap
> - add define for target_words_bigendian when COMPILING_PER_TARGET, equals to
>    TARGET_BIG_ENDIAN (avoid overhead in target code)
> - rewrite devend_memop
> - remove useless exec-all.h in concerned patch
> - extract devend_big_endian function to reuse in system/memory.c
> - rewrite changes to system/memory.c
> 
> v3:
> - move devend functions to memory_internal.h
> - completed description for commits removing cpu.h dependency
> 
> v4:
> - rebase on top of master
>    * missing include in 'codebase: prepare to remove cpu.h from exec/exec-all.h'
>    * meson build conflict
> 
> Pierrick Bouvier (17):
>    exec/tswap: target code can use TARGET_BIG_ENDIAN instead of
>      target_words_bigendian()
>    exec/tswap: implement {ld,st}.*_p as functions instead of macros
>    exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
>    exec/memory_ldst_phys: extract memory_ldst_phys declarations from
>      cpu-all.h
>    exec/memory.h: make devend_memop "target defines" agnostic
>    codebase: prepare to remove cpu.h from exec/exec-all.h
>    exec/exec-all: remove dependency on cpu.h
>    exec/memory-internal: remove dependency on cpu.h
>    exec/ram_addr: remove dependency on cpu.h
>    system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
>      common code
>    exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
>    hw/xen: add stubs for various functions
>    system/physmem: compilation unit is now common to all targets
>    include/exec/memory: extract devend_big_endian from devend_memop
>    include/exec/memory: move devend functions to memory-internal.h
>    system/memory: make compilation unit common
>    system/ioport: make compilation unit common
> 
>   include/exec/cpu-all.h              | 66 -----------------------
>   include/exec/exec-all.h             |  1 -
>   include/exec/memory-internal.h      | 21 +++++++-
>   include/exec/memory.h               | 30 ++++-------
>   include/exec/ram_addr.h             | 11 ++--
>   include/exec/tswap.h                | 81 +++++++++++++++++++++++++++--
>   include/system/kvm.h                |  6 +--
>   include/tcg/tcg-op.h                |  1 +
>   target/ppc/helper_regs.h            |  2 +
>   include/exec/memory_ldst.h.inc      |  4 --
>   include/exec/memory_ldst_phys.h.inc |  5 +-
>   cpu-target.c                        |  1 +
>   hw/ppc/spapr_nested.c               |  1 +
>   hw/sh4/sh7750.c                     |  1 +
>   hw/xen/xen_stubs.c                  | 56 ++++++++++++++++++++
>   page-vary-target.c                  |  2 +-
>   system/ioport.c                     |  1 -
>   system/memory.c                     | 17 ++----
>   target/ppc/tcg-excp_helper.c        |  1 +
>   target/riscv/bitmanip_helper.c      |  2 +-
>   hw/xen/meson.build                  |  3 ++
>   system/meson.build                  |  6 +--
>   22 files changed, 193 insertions(+), 126 deletions(-)
>   create mode 100644 hw/xen/xen_stubs.c
> 



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:02:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:02:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913149.1319264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslx5-0004PQ-SC; Thu, 13 Mar 2025 17:02:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913149.1319264; Thu, 13 Mar 2025 17:02: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 1tslx5-0004PJ-Nb; Thu, 13 Mar 2025 17:02:35 +0000
Received: by outflank-mailman (input) for mailman id 913149;
 Thu, 13 Mar 2025 17:02: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tslx4-0004Ns-N3
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:02: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 f48e4309-002c-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 18:02:33 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-390f5f48eafso732833f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:02:33 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6a1csm2667587f8f.28.2025.03.13.10.02.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 10:02: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: f48e4309-002c-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741885352; x=1742490152; 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=1wHxQ2ALVFBDQ8Kkjsmf/rwXj0v8yVpHL72uazXBkBk=;
        b=FDdLvv46dnvifsGp1yVFkqMbq8uBfRyOeLIXQxMKk6EAUDnhZeVggG0HONvfPFA+Os
         XfGyGNrsom95ejknynkVg/l0ocAGjDBt73KBcRm/3FDR5P8rZB8QEN53bdfbzzJsajnJ
         hepVk6wxPezk6nQQGlNylZt8kF0eafBpvE2yM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741885352; x=1742490152;
        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=1wHxQ2ALVFBDQ8Kkjsmf/rwXj0v8yVpHL72uazXBkBk=;
        b=ic8k/HKVsZHXK8tLa9WGWivhTXkEEERh165L71J93eSzptRphh+IGWlAxCUcQhX5Xw
         r5E4QJw+n9oblOa5YPk4aylHT3WNEM2P6dk0zt/NySjrcCiR6xMx2s7e6SEev9k1yzkG
         XeoSBoKMbyv09o1zgWR9CD3ZSfgzVeoM9e1mzY58XmhqP6vLi497hD1LvfYDSjPaGdwM
         CHW82aKgz2rptI8QjSnJEdN3xeurUToK9alTuAOIfUHr+jAW/J4J8F5k5dh2+SCjCjLa
         sfH9R6VzTGRZ5SjrbgGDdc3lfTPRgiitItWXxX26mB74pOEYKdZR/ow0jo4Y324c/Hsz
         wDbw==
X-Forwarded-Encrypted: i=1; AJvYcCV3opbsxKYL1RGndcMnnGr9Nj8TIqVMHf8X+vR7lsAmr9aOPrqmN2QyCDgpA69whE8RrOjilKJoTUc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOOLlAjj9HTXjou2OIv5JDwsLI7VLaCQZfpf7vIxgu9HaurEit
	ZwWnARG5dWFvPu0HIZeR/PVKUJ1yJWnz+k0oNI05nmhPfkUJ6eGcOZVVkwEK5EU=
X-Gm-Gg: ASbGncvGm8w2zUTyBvzoqYDwUW0bMJMNYPzf6sy880YtrcSGmERregF7vgPWfHZaV+7
	ypYErs9Z6JEqNGY44hVg8qQOXAV6Bm3fmLzk6Qd3AA04yypwTXjX8m8NpuaHrBVYcbE5oOf6kjx
	tY6UsVRXweVt+O6+Lemj9m7thtljn/trq3DP0npvYnXALNWh9mOo/JU2H/5HtKsWBekamV1RxC8
	VJailIT5YOpPA5lH4LQ729VfcPcciwLP4PCUdTqM/PPz0R4kJKrWMSvpopEx96Zy2uGaA7Dj2EQ
	nvQV5BEq9G0XXCb5mY/AMD1j2gCQ1C18EepgX3Vl9xgBWQk2OAatljKNDYSy9HD0nYexrHQBlIG
	CbvFDvdBk
X-Google-Smtp-Source: AGHT+IH7/UW/LXpEqjrZ8q2zJk8nmF9PKcg2x502FswTq23zoJOH2E9NlP/Zv4WNHKpftGrcbNjBiA==
X-Received: by 2002:a5d:6c61:0:b0:38f:28a1:501e with SMTP id ffacd0b85a97d-396c175366amr321741f8f.8.1741885352076;
        Thu, 13 Mar 2025 10:02:32 -0700 (PDT)
Message-ID: <17c27c8a-7314-4e89-9c21-f1a807867428@citrix.com>
Date: Thu, 13 Mar 2025 17:02:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] symbols: centralize and re-arrange $(all_symbols)
 calculation
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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <d0521cf8-dc85-4b31-9850-2bb94c560fc5@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: <d0521cf8-dc85-4b31-9850-2bb94c560fc5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 1:55 pm, Jan Beulich wrote:
> For one there's no need for each architecture to have the same logic.
> Move to the root Makefile, also to calculate just once.
>
> And then re-arrange to permit FAST_SYMBOL_LOOKUP to be independent of
> LIVEPATCH, which may be useful in (at least) debugging.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Likely syms-warn-dup-y wants to follow suit; it doesn't even have an Arm
> counterpart right now.

Recently, I thought the same about --orphan-handling={warn,error} too.Â 
We need to up it to error, and enforce it consistently.

There's actually a lot of $(TARGET)-syms which ought to be less
copy&paste.Â  I'll submit my cleanup so far, which doesn't interact here
I don't think, but is also incomplete.

> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -460,6 +460,10 @@ ALL_OBJS-$(CONFIG_CRYPTO) += crypto/buil
>  
>  ALL_LIBS-y                := lib/lib.a
>  
> +all-symbols-y :=
> +all-symbols-$(CONFIG_LIVEPATCH) += --all-symbols
> +all-symbols-$(CONFIG_FAST_SYMBOL_LOOKUP) += --sort-by-name
> +

I presume this works, so it's after we've processed Kconfig, but is
there really nowhere better for it to live?

If we're moving others, this is going to turn into a lot, and it's
specific to one final stage.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:03:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913160.1319274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tslyA-0005HS-4z; Thu, 13 Mar 2025 17:03:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913160.1319274; Thu, 13 Mar 2025 17:03: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 1tslyA-0005HL-0K; Thu, 13 Mar 2025 17:03:42 +0000
Received: by outflank-mailman (input) for mailman id 913160;
 Thu, 13 Mar 2025 17:03: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsly8-0005Fn-9l
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:03:40 +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 1c097738-002d-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 18:03:39 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso8572185e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:03:39 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7ebaf8sm2755349f8f.95.2025.03.13.10.03.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 10:03: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: 1c097738-002d-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741885419; x=1742490219; 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=bfuxV/u6N20N+6ANnU3/8x0LT949DccMM9FieZY9mB8=;
        b=URQb45k5doFf9MB2/esM/hLCMQuUv6EKH6q1r/s5dCpRLfPUPpGCOJu4yTvlE1SN+B
         PFzIgazLjag3v4K5nSwnauS52ZmuN07IRElgTF4U93y2NjYAgllxWn185USZt//IlRT+
         nwtyzVz3/AcKDnIGEW8fcDaIBChji1ih1TstM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741885419; x=1742490219;
        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=bfuxV/u6N20N+6ANnU3/8x0LT949DccMM9FieZY9mB8=;
        b=xEWX0+FOBfa/5Yg4Zc4BxJq7TdwEaQu8OHtC5X2hxhxRmjfBwSQ21CWCW099oDt5cF
         BPcW2aFgnmub2ruEGl00FU6L/LnXmxAYhSUbCtI8G6hrZVtlPraZhyOWy740hXjDSQzy
         QdrOhe8gHLG4lWldPWnWYR5WDZdfJBtPhL/FfDAWVDNkqs3HhQuroVrrZqAtdHuW5BA4
         7jIbQeY79no3Y+NEmEteLobkAJ1ScB+BBDmiNa5WUg1TbslYi0S0UJM2N3L8U4IHrI8B
         kQQ1XyslvZQntIchsmYV5UW0nRcbyxJj87sfechwVbpmQJC/N67z8E9kvIwl5zvk/cTq
         JdcQ==
X-Forwarded-Encrypted: i=1; AJvYcCVjvw9TDmpEcJ4wekM7pe4ADkzWH/sQhcrnTPbwATGUcUU8R3Dxt/Zzb8p/enTlkx1nKnyGd+odBvk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0kqQ/oHxQiNBrIoV2S7GvQlDX5tWnA8Y80nqv/ArVesY2EUn8
	9+OGiHyCUrR04QwqfM7M6n3O/ak2Hh2Am1E7B9BOOlM99mEJQqhyWwHstLIa+Kc=
X-Gm-Gg: ASbGncs9xItYbGafl17g+no0O8zHoMc9azMKKmtCkdZinelXbYEKaPYho/VKm18fr3l
	8ooQf5VXW4Uw0DQ1z7noALgoTif2VKiNQ8hlZgXYSrWGJ1xV2arL31PqGfHy9Ow+19S2D+AmuNe
	/za4sx4oOtmeTHU2gwknTvf7n8OH4UhVLe/Vp+6oTIHt+RO6s5OjsQkXZka/crNXHPPfdfD3SY5
	o/5Cm9cmuHuEJE2r6zfdZh0u2tWF6PP637dm/DmP/x5Wz6OI4NYJ0ROrZhzgcUK7TuexHGU480b
	mDaHcSkORsndR4d0rsC5wwKQZvbahYFgp+3BsH+thyKvXhqPE4DNQG81h9BZoN3KKDRqFdVlz3y
	H8CalDxHl
X-Google-Smtp-Source: AGHT+IF2Db+pldOKhspqSAr0NyaunsXE+Qe/nxant4Y3ande7U0tRW03vhv0yQetcJnzWAiwlmXBWA==
X-Received: by 2002:a5d:64c2:0:b0:391:47a7:299c with SMTP id ffacd0b85a97d-396c326f4c3mr371034f8f.40.1741885418049;
        Thu, 13 Mar 2025 10:03:38 -0700 (PDT)
Message-ID: <b13543a1-4d43-4e2d-8fcd-08ec60be9dd3@citrix.com>
Date: Thu, 13 Mar 2025 17:03:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
To: Jan Beulich <jbeulich@suse.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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <6ff81326-762c-46ec-a06a-254ba166433b@citrix.com>
 <b59ea14e-0bce-4c3e-b1fb-021b53af1780@suse.com>
 <d597523c-aa3a-4682-824f-e6e2f8ce753a@citrix.com>
 <61b762d0-d513-4d02-80ac-50fa12a725f3@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: <61b762d0-d513-4d02-80ac-50fa12a725f3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 4:37 pm, Jan Beulich wrote:
> On 13.03.2025 17:28, Andrew Cooper wrote:
>> On 13/03/2025 2:19 pm, Jan Beulich wrote:
>>> On 13.03.2025 14:58, Andrew Cooper wrote:
>>>> On 13/03/2025 1:38 pm, Jan Beulich wrote:
>>>> I'm tempted to ack this on the basis that it is an improvement, but a /*
>>>> TODO this is all mad, please fix */ wouldn't go amiss either.
>>> I understand you like adding such comments; I, however, at least
>>> sometimes (e.g.) don't. Especially without at least outlining what
>>> would need doing. Just saying "this is all mad" doesn't really help
>>> very much.
>> I was being somewhat flippant.Â  But a /* TODO, try and make this a
>> presmp_initcall() to improve alloc_trace_bufs() */ would be fine.
> Okay, added (to the existing comment).

RISC-V and PPC were both green in the pipeline, so they seem happy.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:14:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913172.1319282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsm81-0002Dt-Vl; Thu, 13 Mar 2025 17:13:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913172.1319282; Thu, 13 Mar 2025 17:13: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 1tsm81-0002Dm-Sl; Thu, 13 Mar 2025 17:13:53 +0000
Received: by outflank-mailman (input) for mailman id 913172;
 Thu, 13 Mar 2025 17:13: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsm80-0002Dg-Gi
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:13:52 +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 86efd778-002e-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 18:13:48 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso807625f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:13:50 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7eb9d7sm2666162f8f.89.2025.03.13.10.13.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 10:13: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: 86efd778-002e-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741886030; x=1742490830; 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=NzoI5jIqQu53nj85z0Eekd/DR96ze4UuEoDnj8cchg0=;
        b=aOyS9mUwI3zeauWnbco2pu4ybkskJogk4mIwdzRjFFiAUS5RMgZdBD2GLxNMY6LPk9
         bCLolFXzEFHfHmJJUDuWhJAFCKpZKtT7OGvXnCl+6ImR9nTiZzkPE+XuHjReDmdmOs5g
         qz07cTZCFaEvP7BUjSaMhfEFHxWB0QDNhlE3Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741886030; x=1742490830;
        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=NzoI5jIqQu53nj85z0Eekd/DR96ze4UuEoDnj8cchg0=;
        b=wwRtU8ChwRyfhHNTEsX73cEThQEwPOequwFlBipodRCQCt9ozc3//2XfwAPcO76shY
         H42B9FgVCTwdBHKwEWBcYysY/zH6LDN0af8eKZRDAm90iNGIaAkFWrq7Y4icKxVGUOSS
         aRixOzRwthqmwYWetgrEpNbKq1SGRUJ/qp/G2j2f/xFbxaw38gzQsUobMXcq4jl9zTyt
         m4twNKw9wZYp6j8OFyvvNgY3iv50t98bEER2RRQqYP6eiV33wmntR0eGIqOh2heGlXTk
         1XJGmVbUvjrnN7brbIto991cb/2EDk5UAbgBhaVegGS33n4h00bmhhzBq0x51qx3abFs
         UjBQ==
X-Forwarded-Encrypted: i=1; AJvYcCXQJRrNuWh5eKU7dV08x5X7N2k8kJJTiG18FiLwib0p1kOzVSrk4q0p0a9CWAz0MjFSlmZXlZ+xMrM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpGRLHji2hxzV9bvsQW+E5P9d455Ujafo3j5zGcfpthvZHZcg+
	xuiO1YlS9V6y39jiDJcaCazFO/k7pFzitco+3SsFMmeKnqPVCmbLfdMKM8w8syw=
X-Gm-Gg: ASbGnct0VtphzdPj1KGmD76Z20kcUMHSqoDct5YQ8zGU6cYQj5DP59pOx8bEZIErRpM
	97tXX4E3Vanfb7G2AYzLcXNHrLVBxCbaAwwIlbm/SfVsHT+IVTsgQ3Mic0omZ3vLN11/D9Cq9V7
	yRxqOIH4gxxJ3WVK+kkb9hcwLN/BOOHhFupMNDyb3wlf3GZO7MbsblumFcAvpIfdirP+VCtxchw
	IT9xNrt2qGu190Ik3TkvZgTbh75ebEII+Gk29EbMgGp14fsiMki9y7YvSXAetRNvwbFmgSA1Zyb
	4NlesRoePNgiHoYLP7obBE/4OhnYEt7X/3XiMXua4nqXQMx7KOB2HoZL9yMZu/uiWzXF1FQ+yt8
	ujis3N8A2
X-Google-Smtp-Source: AGHT+IG0Srf1ujjFTyr/9y+iEJp0/meRCke9hBJG23prbd1NxcZcsKqAwakgCC8nTkHYqmOeOruSQg==
X-Received: by 2002:a05:6000:1563:b0:390:f0ff:2bf8 with SMTP id ffacd0b85a97d-396c118e466mr385852f8f.10.1741886029691;
        Thu, 13 Mar 2025 10:13:49 -0700 (PDT)
Message-ID: <ea40ec3a-2f6d-42b5-8e98-ab5f4db5d4b4@citrix.com>
Date: Thu, 13 Mar 2025 17:13:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] symbols: arrange to know where functions end
To: Jan Beulich <jbeulich@suse.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <51f2cd39-e92f-4745-8053-e51ada22d601@suse.com>
 <aace0fab-ce3f-4b9f-87c7-2daafd8442ba@citrix.com>
 <9bf90547-43de-416e-b064-b54c0e79fc93@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: <9bf90547-43de-416e-b064-b54c0e79fc93@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 4:48 pm, Jan Beulich wrote:
> On 13.03.2025 17:39, Andrew Cooper wrote:
>> On 13/03/2025 1:54 pm, Jan Beulich wrote:
>>> When determining the symbol for a given address (e.g. for the %pS
>>> logging format specifier), so far the size of a symbol (function) was
>>> assumed to be everything until the next symbol. There may be gaps
>>> though, which would better be recognizable in output (often suggesting
>>> something odd is going on).
>> Do you have an example %pS for this new case?
> I haven't encountered one yet, and I wasn't particularly trying to
> make up one.
>
>>> Insert "fake" end symbols in the address table, accompanied by zero-
>>> length type/name entries (to keep lookup reasonably close to how it
>>> was).
>>>
>>> Note however that this, with present GNU binutils, won't work for
>>> xen.efi: The linker loses function sizes (they're not part of a normal
>>> symbol table entry), and hence nm has no way of reporting them.
>> By "present GNU binutils", does this mean that you've got a fix in mind
>> (or in progress), or that it's an open problem to be solved?
> The latter; I can't even tell yet whether this is legitimate to be
> arranged for in a PE executable's symbol table.

In which case, I'd suggest using the phrase "open problem" to make it
clear that there's no fix.

>
>>> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Note: Style-wise this is a horrible mix. I'm trying to match styles with
>>>       what's used in the respective functions.
>>>
>>> Older GNU ld retains section symbols, which nm then also lists. Should
>>> we perhaps strip those as we read in nm's output? They don't provide any
>>> useful extra information, as our linker scripts add section start
>>> symbols anyway. (For the purposes here, luckily such section symbols are
>>> at least emitted without size.)
>> Will symbols_lookup() ever produce these?Â  If not, it might be better to
>> ignore the problem.
>>
>> Taking extra logic to work around a benign issue in older toolchains
>> isn't necessarily ideal.
> Afaict it's unpredictable from Xen's pov. All depends on the order of
> entries after we sorted the table by address. The only criteria the
> tool's compare_value() applies for multiple symbols at the same address
> is to prefer global over local. As long as the first symbol in a section
> is global, we wouldn't see section symbols as lookup result.

Hmm, thinking about it, the global-ness does cause problems.

e.g. we get _stextentry()+x rather than restore_all_guest()+x, and RAG
is more likely than some to show up in a backtrace.

So maybe we should strip section symbols, even the explicit linker ones,
from the symbol table.Â  I can't offhand think of a case where we want to
look up a symbol by address and get back a section name.

(Feel free to leave this as a todo.Â  I wasn't intending to scope creep
like this, but it would be a nice to have.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:18:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:18:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913183.1319293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmC5-00048d-EU; Thu, 13 Mar 2025 17:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913183.1319293; Thu, 13 Mar 2025 17:18: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 1tsmC5-00048W-BG; Thu, 13 Mar 2025 17:18:05 +0000
Received: by outflank-mailman (input) for mailman id 913183;
 Thu, 13 Mar 2025 17:18: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsmC4-00048Q-0r
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:18: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 1e32024a-002f-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 18:18:02 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso8631875e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:18:02 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d188b6d48sm26426975e9.9.2025.03.13.10.18.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 10:18: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: 1e32024a-002f-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741886281; x=1742491081; 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=OlY5hPPfZJ39V5jSsRjdc+aoDS1ilq7Yc9E3ZTAEpMk=;
        b=E7xazoH+IaJrOeIEsA8KJ+ax1rinlEOqyjw84O8mhrbTcHlIKIIqO2SqSOpo2NbaDu
         MpJR1xCHPrib8lrstMskQHbF0NRENXmMBzCq5QJ3pttIT1PGPEjvz569Zz4dwrXojbUI
         zv5hKkQyMiJVoE5M6MH3KHY0GGHIlYnJQwMsg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741886281; x=1742491081;
        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=OlY5hPPfZJ39V5jSsRjdc+aoDS1ilq7Yc9E3ZTAEpMk=;
        b=JN28j3+wjRW4cVUKkTe0D1b7Jpz252m6x1lhAjS8iG8sVVmf9qWNsGoDL3dC7HyHnL
         Z1uDSHlN5g50kw7Wj1VptrscqL8yPJaRY2ZGS64QVss5nlr2oILvsfvzJDTrss5yegH6
         GmIzmCptwFfNPOkq4HApZ+KwwlBG8p1gVbpXFLYPnbJKp8QwUwBbr2nDrG0rvYygz8FJ
         OxyIglt/CoGpIL8WehwVugxuac4HZgeXsXyKgVzIj03LitBSLopjNn/MwpB1DhQGbry1
         s/zpqb2H/iYaBWRPDlcjezFOB9vq8S9cGzQPFXD+RgvREVrS++2E5gIBhrCdYp0T58FB
         UVIQ==
X-Forwarded-Encrypted: i=1; AJvYcCWDzXQctKaIz6A7CORBPvtqCiTstuSFB5ZxM08JKxdAqqqEXb/9fopIeP6XqJXl+UPg4q7pi82Ia98=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvILj7SM9+HaKgVeJWUgE4iRjE6OWrDObuIWjYF9TVJFW+xt4L
	p6UZfv434vf5gpg1Tt9VahTIKi9QGuzqTTWwpK3X0c6Kr/JWIXUb2h4W34V8sE4=
X-Gm-Gg: ASbGncvige49fJ2baYj3TMsbLgeLoEbjVkk2h5R687H1uOaMwkj/H7wkWKUlU5KnzVS
	xnyTyNSIbqYkKSkRggKKNCvawCSH5+PjZZz0mVVfuLo0x1IZlksZ1lkk4LszH3v/x9wanWoQg5b
	5x8iyGhugmeqZajJv4bmSBhdLhkGhwikAPd5z8HTQ0ggvJT5Z59eAMHDPO/Qn1457dZtEbSZrjb
	kJU/2E6D/abGxcDieuSBMgI9ri6HjwtEQpqF1zoAj/3itR8L9yny9lR5Vts5tD2ZfVfkpSgKopr
	0BJXsFpbu7BW9k7hy+ni0773Zh2XNs913jgEI/Mv/ovCJozosA0npFn5SRtnf5hW5CVh79vd+JT
	IXEGsPYaF
X-Google-Smtp-Source: AGHT+IGSQwMFfGJJ3q8NEKWIno0/HtaINPHWue53x70j8m70WulSDvSyPG/vaYON2naO9n5Cfws+fA==
X-Received: by 2002:a05:600c:35cf:b0:43b:d0fe:b8ac with SMTP id 5b1f17b1804b1-43d1d8f20b7mr4653995e9.30.1741886281455;
        Thu, 13 Mar 2025 10:18:01 -0700 (PDT)
Message-ID: <7eaba269-8cf6-4b92-86a2-a998cd544054@citrix.com>
Date: Thu, 13 Mar 2025 17:18:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] xen/ubsan: provide helper for clang's
 -fsanitize=function
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-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: <20250313153029.93347-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> clang's -fsanitize=function relies on the presence of
> __ubsan_handle_function_type_mismatch() to print the detection of indirect
> calls of a function through a function pointer of the wrong type.
>
> Implement the helper, inspired on the llvm ubsan lib implementation.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

It's weird, but we're now ahead of Linux by two sanitisers (this, and
invalid_builtin visible in context).

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:21:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:21:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913196.1319302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmFD-0006CF-1B; Thu, 13 Mar 2025 17:21:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913196.1319302; Thu, 13 Mar 2025 17: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 1tsmFC-0006C7-UD; Thu, 13 Mar 2025 17:21:18 +0000
Received: by outflank-mailman (input) for mailman id 913196;
 Thu, 13 Mar 2025 17:21: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsmFB-0006Ac-99
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:21:17 +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 9173fc92-002f-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 18:21:15 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so803310f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:21:15 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a8c5cbfsm59264775e9.30.2025.03.13.10.21.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 10:21: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: 9173fc92-002f-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741886475; x=1742491275; 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=pX7wc8U4+Fgb1mawaqBgjRggQr6QnkqSkEFNcohXYeI=;
        b=cRtamqPRS/bQwKLg/acR484EdUrOnI1JPv8VLbhwAJdo7caW/TFP4JjqGmXayO5mMZ
         xrdmQuHXV+RTzlzVSngPrHh+orcgbSUInzU39BqnO5Rno8LVXpA1+w5ojSlvNUtsgcBk
         Ovr8iLP6U+mhDF1b1nyaAHwpUEX+MB9on8S8E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741886475; x=1742491275;
        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=pX7wc8U4+Fgb1mawaqBgjRggQr6QnkqSkEFNcohXYeI=;
        b=xUFT473AFenjBaaojIWXzn3DsxHcl0kw98y/9GRO/gbJR+TRltuI2ZsGaHvekq9k4P
         dbkO608JFOd3kWilDwXGhyOFKf9Ray+XtQ6VxZWw4JJ09h655IanUvC+HRl3XRWlvRHU
         Vbrvps0gjMQ+CsZyeycMKsdFhuqLMGewi1RQue6M3FhBcnwx1i30I/+z1hZFzoHyzrfW
         iFnqOOTgTtpKPLl3MEzoWgzDi6oWKvIDLMyPFtaIIquGSB6rqTLaCukDkq39nE0sRK6K
         GqVFQRkacAnS9qgS4EXnzUuV10Ud6RoKeU3xMdz4xAuLz/RsOmbBxVCG4CNxvz/uAcGp
         KaLw==
X-Forwarded-Encrypted: i=1; AJvYcCUeBC7htLxbNcG0ZIPddPadDSHoAlfzlqdmNbykZwpKO2atClJlxU84yFduP+e2quBL4tm4jnzBqMM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw7HLKjMoR5VMIH1gaT6jw/drx7/Zf40lMhASk2bBgUAz4eNLmh
	cuiJv+d4R2ZUGPtzFiBR9ECJZXGQczYVo2CZrsYfYo5xFFx1dk1szW0M1Hzq9wg=
X-Gm-Gg: ASbGncsFbFsC4oZ1iG9O9Nd3PuDqWgz3wX661+VOJx6CS6rfZPqlI7fjvxwyrqXp15C
	pU+onvx9/k7qBrYlVErjvxJFPUD1BuMcn1xoYd56beV8fYs+qGoJNJYJXWyH80/kOs+D+nfdjMP
	q5JY1Y8WpeNEku7UZp8kQ/N5+x5InnGAfC7y35Z8UaY7r5+8DZbaXWzPT3Q0rCCaRaUEZXbC6Mq
	PZW+NlXw1YJM4ogwYRAIdE93U8/AoKydUQM939/hYdbUlmdSWvtdqxTrQJS2N0FK1DHi2Szlqcj
	ebUAg1315pxm+UxPlgmMxr/U9qgDgSzZkaE1f1lv8kNW8ZQPSEvaU/IMc7PY6+j0zwSRoQyy6hd
	CYhcUtBVT
X-Google-Smtp-Source: AGHT+IHRH9t1CBbaRWWq+A1+zBLU/GPCuVguo7u1CPINZduFoUere3BphV49cBwwNN251OkFUsPiJA==
X-Received: by 2002:a5d:6488:0:b0:38f:5057:5810 with SMTP id ffacd0b85a97d-396c1e1f319mr441033f8f.25.1741886474799;
        Thu, 13 Mar 2025 10:21:14 -0700 (PDT)
Message-ID: <ad26bb49-4025-4190-ba69-c03584cf2229@citrix.com>
Date: Thu, 13 Mar 2025 17:21:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/ioremap: prevent additions against the NULL
 pointer
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-6-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: <20250313153029.93347-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> This was reported by clang UBSAN as:
>
> UBSAN: Undefined behaviour in arch/x86/mm.c:6297:40
> applying zero offset to null pointer
> [...]
> Xen call trace:
>     [<ffff82d040303662>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
>     [<ffff82d040304aa3>] F __ubsan_handle_pointer_overflow+0xcb/0x100
>     [<ffff82d0406ebbc0>] F ioremap_wc+0xc8/0xe0
>     [<ffff82d0406c3728>] F video_init+0xd0/0x180
>     [<ffff82d0406ab6f5>] F console_init_preirq+0x3d/0x220
>     [<ffff82d0406f1876>] F __start_xen+0x68e/0x5530
>     [<ffff82d04020482e>] F __high_start+0x8e/0x90
>
> Fix bt_ioremap() and ioremap{,_wc}() to not add the offset if the returned
> pointer from __vmap() is NULL.
>
> Fixes: d0d4635d034f ('implement vmap()')
> Fixes: f390941a92f1 ('x86/DMI: fix table mapping when one lives above 1Mb')
> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, with one style fix.

It's unfortunate, because C23 makes this one case (add 0 to NULL
pointer) explicitly well defined to avoid corner cases like this.Â  Oh well.

> diff --git a/xen/arch/x86/dmi_scan.c b/xen/arch/x86/dmi_scan.c
> index 2fcc485295eb..a05492037519 100644
> --- a/xen/arch/x86/dmi_scan.c
> +++ b/xen/arch/x86/dmi_scan.c
> @@ -119,8 +120,10 @@ static const void *__init bt_ioremap(paddr_t addr, unsigned int len)
>      if ( system_state < SYS_STATE_boot )
>          return __acpi_map_table(addr, len);
>  
> -    return __vmap(&mfn, PFN_UP(offs + len), 1, 1, PAGE_HYPERVISOR_RO,
> -                  VMAP_DEFAULT) + offs;
> +    va = __vmap(&mfn, PFN_UP(offs + len), 1, 1, PAGE_HYPERVISOR_RO,
> +	        VMAP_DEFAULT);

You've got mixed tabs/spaces here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:22:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913208.1319313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmGF-00079t-9a; Thu, 13 Mar 2025 17:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913208.1319313; Thu, 13 Mar 2025 17:22: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 1tsmGF-00079m-67; Thu, 13 Mar 2025 17:22:23 +0000
Received: by outflank-mailman (input) for mailman id 913208;
 Thu, 13 Mar 2025 17:22: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsmGD-00078K-KH
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:22:21 +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 b74d94fb-002f-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 18:22:18 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39129fc51f8so1104827f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:22:18 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975b83sm2847974f8f.52.2025.03.13.10.22.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 10:22: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: b74d94fb-002f-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741886538; x=1742491338; 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=YyAg+8+kicowoMgNGw/4BBtuXRJmLCB6s6sGJZUYBcw=;
        b=dd1m0TXwUkuTGUHZM2PUOrr01qG3uVS5n5GXJ+bYBGD4cDRrS6bTBMYJGecCVB5DFa
         isEb0us7mbJi5VXQ/MMXUWXiR2l9OR5QyFAbr3MxPZ88oYL14E2McXqaemqdPesHCosY
         aSZCbR0keApRLkKjXNWVCyUpw75i7VzP/kTiA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741886538; x=1742491338;
        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=YyAg+8+kicowoMgNGw/4BBtuXRJmLCB6s6sGJZUYBcw=;
        b=Ka2wN1VO+Xnwnt/LvhSwlPg+6lnKCEvVpHeqjz6gJ8qCXcEQ1plA/BCLv+LjVje6Og
         na2wNRlc6V0qPna/KgiARmTyCbSey9wMZclICF+qoPh5AKLZxjx05m+H7InkZfYqLD37
         6R+yYARyExy0bljFG2K/o3GV6Elyo592iElZtWVGcy8Q8mPvuRZDv/QZjdifzg1mdHmm
         p5S6Nfa2+th5oDiSgH2M8PnxDLQDVZkn0crD8RuTMlvG/ASosGvOUJK+5ks8vWpQFgx6
         hZi2W1a4TnOyvLKZPOKXIYa1al4xtwAv4j3CDYBPA+dtrBG07rV95oz2NyrWel/8hHQ8
         pVlA==
X-Forwarded-Encrypted: i=1; AJvYcCVrGBBFpLbsqQ+XlXmTiFecWeCo5QFRnDy3XquGJaSVr63YcAbTUPrrq7/3guYBpuS3Xnq6VMPTJGk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2v6vAg65zI3K741LHUCqa7jJ5OxKTqXH0qtEXuB7HS1XsWRwL
	5INe6wnWEgCy7WNq28jtrHERrihWs3tNwgTiYInmkUnlE8g1I5Aq8N+xXVuJHCo=
X-Gm-Gg: ASbGncvtAhpGwcmGileSdFUV1Vz7gpVQIUheGRMgmcYNPkanPuQnohnKJ7B7P+mjODm
	TihQvzcdPBAe751rz0ycteoR9muWQ/hmKyXwyOjgonnhqK6c/ae3FvqbGvszVyV00jL0fVFmkKe
	KTw+RNtFMqz+bBWjXkfr2/2jQpuEr+O3Iz12/O1OxY9ozQHjTHNNBHmKSSNP2omrAYpMHH6hThf
	eCrXzJ7T8Az6Vxrc+inEwd/EIbxXCmngblpQ4urRSRUEktp1t+2Rw4BXzSUVoLyF3T1VwZ/3WQc
	+sA0W3UxbHpCDpa+0b5UEZ1XMNBSIRqGFCaW3PB8vHO2CvqpyztogF9lsW41M2UwcgTt96Xan54
	mpfIRb2wq
X-Google-Smtp-Source: AGHT+IFx7VKYE0D3iwrrXzCu6OOZmfbaSg6f77HyWW6qlcTWzdZpk2BZ4mLbvHH0hox7oYRLtzKCZw==
X-Received: by 2002:a05:6000:1447:b0:38f:4fa6:68df with SMTP id ffacd0b85a97d-396c392e367mr456616f8f.51.1741886538298;
        Thu, 13 Mar 2025 10:22:18 -0700 (PDT)
Message-ID: <f84d82b9-978f-4e24-ac70-59fce7b25ad7@citrix.com>
Date: Thu, 13 Mar 2025 17:22:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/7] xen/ubsan: expand pointer overflow message printing
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-5-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: <20250313153029.93347-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> Add messages about operations against the NULL pointer, or that result in
> a NULL pointer.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:36:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913219.1319323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmTo-0004ya-EA; Thu, 13 Mar 2025 17:36:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913219.1319323; Thu, 13 Mar 2025 17:36: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 1tsmTo-0004yT-B1; Thu, 13 Mar 2025 17:36:24 +0000
Received: by outflank-mailman (input) for mailman id 913219;
 Thu, 13 Mar 2025 17:36: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=rhEb=WA=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1tsmTn-0004yN-6B
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:36:23 +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 acdded1e-0031-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 18:36:21 +0100 (CET)
Received: from mail-yb1-f198.google.com (mail-yb1-f198.google.com
 [209.85.219.198]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-492-3WjiGEFbPjSckd-p95PnXg-1; Thu, 13 Mar 2025 13:36:17 -0400
Received: by mail-yb1-f198.google.com with SMTP id
 3f1490d57ef6-e60aebf48e8so1759228276.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:36: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: acdded1e-0031-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741887380;
	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=74LdO3L2papOXx6onu8X7dux3CgaxYMbpnbfEZf5vfs=;
	b=K4m8IFSl+u1sxHRI19hDZU/eQJNFrjhXR3zPY0N6wjPdo8eXgI8ADrY56GA8WQHWpwN7PZ
	uGu9ASfCU8a+l4PhTWsxaCdncu+8Ixlzc1mHMFEVwlfRTo8Sh4bEp3YUFvo5Tz5fUaOO9m
	hk4CqZo+62K41BgBlOBlN4bheeyAJ8w=
X-MC-Unique: 3WjiGEFbPjSckd-p95PnXg-1
X-Mimecast-MFC-AGG-ID: 3WjiGEFbPjSckd-p95PnXg_1741887377
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741887377; x=1742492177;
        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=74LdO3L2papOXx6onu8X7dux3CgaxYMbpnbfEZf5vfs=;
        b=v6uPJhvPF7fn02pl8lV+4k2OswDzcL0GCk5JV92bogBTCsMKKcbyCjM5LCQ13Fi0Ud
         hTn1qCE+qCCYua25lFPfk1AqEJtJQDRoCt77/txMVBCpn6Gfs9h8CSwxrw0pVHtLv6xs
         Mgp1WsiwSilDcVaYjkwT+Hrk1LEtMDUgMGGWwf8FJXSEDW3dMVsR0zTXq0jFHLZ5VPgd
         pDyGCvFMC+B4PKR7G99pp3xiFt/+EzIR6lnotT9qS44q6D93OTMOKxwSqY6wCFYHQ9Oy
         y/Bm+dcfHaRxcPjOI5fSuYy16IqK/84v40GTTjr6mV0fcR8FwJ7sRxjt8kn+BUUHO724
         Fovw==
X-Forwarded-Encrypted: i=1; AJvYcCVV5ncN+0PSatiS88TVAmt7NJw6Tr4y2vjNNWSs29+hc8tUzWolAaY9MRacDaLwx9FjI678Uo0W3F8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwLIQb4U/gVKyElBjcSYHSRc9CDOwxrEuN+IP5FB62RnC/L8jQN
	T1JCA2ylkJ8oekRHLsqZiWiN4cCLpu44fsfFI8SqDlpOQLBZSGW41cl5vm9v0m3TECYSV1yotul
	UYx+8ZqIS5NsRlfmZlKUWQEvY7hmjif0rOWNrRXeaTTV+Oy01GsqUcUDSEuyhFtHGJdCn1I/7xN
	9srOtmQnn8kbVbC5BOwWyaUq1Aa9LWfyenPxbzh4k=
X-Gm-Gg: ASbGncu3dQaU/rMWHDqZNhuQyQvO+VzGDQVS7hKbyhibwg4S6IM5fXtNyNjCtbLArE6
	ij24cakdJPJUVY6U3whTU4jBY9DI5gGkgb1qgM77hPWhm2+2OaMbcgUkltVYxYCHi29Lo8kZkNX
	oGOM+kCgFUpw==
X-Received: by 2002:a05:6902:11cc:b0:e5d:d6b8:231d with SMTP id 3f1490d57ef6-e63f3c1ab89mr394110276.46.1741887377143;
        Thu, 13 Mar 2025 10:36:17 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IESNapqN0/McTxEgf1yThn7lvo6wBYo3eRd0NunIcEjHGxMwrpjR53TwIJsg0lBT1jUk9YB7r7WxOStKAHssG0=
X-Received: by 2002:a05:6902:11cc:b0:e5d:d6b8:231d with SMTP id
 3f1490d57ef6-e63f3c1ab89mr394058276.46.1741887376762; Thu, 13 Mar 2025
 10:36:16 -0700 (PDT)
MIME-Version: 1.0
References: <20250312000700.184573-1-npache@redhat.com> <20250312000700.184573-2-npache@redhat.com>
 <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com> <CAA1CXcCv20TW+Xgn18E0Jn1rbT003+3gR-KAxxE9GLzh=EHNmQ@mail.gmail.com>
 <e9570319-a766-40f6-a8ea-8d9af5f03f81@redhat.com>
In-Reply-To: <e9570319-a766-40f6-a8ea-8d9af5f03f81@redhat.com>
From: Nico Pache <npache@redhat.com>
Date: Thu, 13 Mar 2025 11:35:49 -0600
X-Gm-Features: AQ5f1JrzcM5gNtNPl-Fo_pToh0DelHZYtUioYU9wKMINK1ALGT_dvw_uu_EmSak
Message-ID: <CAA1CXcBsnbj1toxZNbks+NxrR_R_xuUb76X4ANin551Fi0WROA@mail.gmail.com>
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
To: David Hildenbrand <david@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, 
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, 
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, 
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, 
	decui@microsoft.com, jerrin.shaji-george@broadcom.com, 
	bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de, 
	gregkh@linuxfoundation.org, mst@redhat.com, jasowang@redhat.com, 
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com, 
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com, 
	akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, 
	roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, 
	nphamcs@gmail.com, yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com, 
	alexander.atanasov@virtuozzo.com
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: GE11DJ4xcpZtqpZQqtqtv6DXEd9WBseW1sM_kWYUa-0_1741887377
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 13, 2025 at 2:22=E2=80=AFAM David Hildenbrand <david@redhat.com=
> wrote:
>
> On 13.03.25 00:04, Nico Pache wrote:
> > On Wed, Mar 12, 2025 at 4:19=E2=80=AFPM David Hildenbrand <david@redhat=
.com> wrote:
> >>
> >> On 12.03.25 01:06, Nico Pache wrote:
> >>> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers =
and
> >>> expose it through /proc/meminfo and other memory reporting interfaces=
.
> >>
> >> In balloon_page_enqueue_one(), we perform a
> >>
> >> __count_vm_event(BALLOON_INFLATE)
> >>
> >> and in balloon_page_list_dequeue
> >>
> >> __count_vm_event(BALLOON_DEFLATE);
> >>
> >>
> >> Should we maybe simply do the per-node accounting similarly there?
> >
> > I think the issue is that some balloon drivers use the
> > balloon_compaction interface while others use their own.
> >
> > This would require unifying all the drivers under a single api which
> > may be tricky if they all have different behavior
>
> Why would that be required? Simply implement it in the balloon
> compaction logic, and in addition separately in the ones that don't
> implement it.

Ah ok that makes sense!

>
> That's the same as how we handle PageOffline today.
>
> In summary, we have
>
> virtio-balloon: balloon compaction
> hv-balloon: no balloon compaction
> xen-balloon: no balloon compaction
> vmx-balloon: balloon compaction
> pseries-cmm: balloon compaction

I'm having a hard time verifying this... it looks like only
vmx-balloon uses the balloon_compaction balloon_page_list_enqueue
function that calls balloon_page_enqueue_one.

>
> So you'd handle 3 balloon drivers in one go.
>
> (this series didn't touch pseries-cmm)
Ah I didn't realize that was a balloon driver. Ill add that one to the todo=
.
>
> --
> Cheers,
>
> David / dhildenb
>



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:43:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:43:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913230.1319332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmay-0007qN-3z; Thu, 13 Mar 2025 17:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913230.1319332; Thu, 13 Mar 2025 17:43: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 1tsmay-0007qG-1E; Thu, 13 Mar 2025 17:43:48 +0000
Received: by outflank-mailman (input) for mailman id 913230;
 Thu, 13 Mar 2025 17:43: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=ER9z=WA=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tsmaw-0007qA-AX
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:43:46 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20626.outbound.protection.outlook.com
 [2a01:111:f403:2413::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b434afeb-0032-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 18:43:43 +0100 (CET)
Received: from DM6PR11CA0055.namprd11.prod.outlook.com (2603:10b6:5:14c::32)
 by BL3PR12MB6521.namprd12.prod.outlook.com (2603:10b6:208:3bd::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 17:43:37 +0000
Received: from DS1PEPF0001709D.namprd05.prod.outlook.com
 (2603:10b6:5:14c:cafe::e3) by DM6PR11CA0055.outlook.office365.com
 (2603:10b6:5:14c::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 17:43:37 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 17:43:37 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 13 Mar
 2025 12:43:36 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 13 Mar
 2025 12:43:36 -0500
Received: from [172.19.192.96] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 13 Mar 2025 12:43:35 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b434afeb-0032-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P5dOldkogwywQtDTPyhkXieoyFAXRTkbRRGrhvWRIiw4fn2NYdGKWvZPKSfvDpfXeooHt3IGWmbjogP81N9dLyhTkJ6ATxYo4fO7y1ZlR8qON9AZoKDbt2pjG1rAioLUaMwRdoKZFE37D4QbbUHQlo6lfCbbGKp1DOTo3Z+kz7Y+I1+AY5T/Qfl50Mn8V39HLZmuwkObHT0kBKOZR/WtZL96jB989TpPSQv/A4ah2Wxkw30pPLgg7kSDTgH+hSROSglNTMOT5A3HKVJlEGb/G12M4EfxhO3jauMb0b34JQwmrb8KdopHGAH9OO+DWJ8si3+KNEKWbCnXQxY025zgdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rrw4bQR0RMB2doxXm46K/sLPPbyJ0Lsvu8ulzz0b5+M=;
 b=wVL2oYDxAMHnLh4Mo+FbqU+O+McYuI0h35Rki/WjMZ9vGVByETbhogvW2J5ZhxJKINKeON7h/Y4ebPWwwzO+Tp7OXKE+3vTZFB53McfvEpfDdNKQ+qqCG2i4iO8q6mzcu7yrOgJ18PaA0uI0DJiNzm91v7uRLmQWeK3aljFILStJyAGSAeuvynCiRum59IFT0C9gBgxUC/A0bKjE+2Q06PoF3cFQBiWt0Lp4E8AADUDveTqSrp2xDHMZ76G4R4E7wp36p3ddCKzI9wepy6GseZEoKaLr5YUPib/029hZ3xfI+CVbLIFg8NZ1JtXWgon0y1u46mDTxnNbrhR4jZ9wkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=cloud.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=Rrw4bQR0RMB2doxXm46K/sLPPbyJ0Lsvu8ulzz0b5+M=;
 b=E5u2Ct4LMN3p2z9VyL0lMGepc8n2MiqlWJ2npxxa6FKpQ4DMD/Chfaim1mIxCnRT4PhHMBmuP5h7/NmyLhkLCjL7udv4bBFLpvcD9PZFXKpNhbASwFmBwrbWlWV++TenYQuoqKnNVfJ2MJ1RAQHV8RpDDpLXSQFyR0nr6wrG5yk=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <7b4f47c2-ce03-44e9-907a-acd56e56a9ff@amd.com>
Date: Thu, 13 Mar 2025 13:43:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	<xen-devel@lists.xenproject.org>
CC: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <D8F8IW559J11.2G40MDQH23I44@cloud.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <D8F8IW559J11.2G40MDQH23I44@cloud.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: DS1PEPF0001709D:EE_|BL3PR12MB6521:EE_
X-MS-Office365-Filtering-Correlation-Id: 670d623d-570f-4e9a-e33b-08dd62569585
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VUxWYUNQa2hiVllTbUw2QTB3c0tZMU9NNW1MYzhUTFhCbStRbnhZcm96ZzVR?=
 =?utf-8?B?RkFKRnBURitCcHFVWk5mbVhJOTRPWWxBeElDaWxiU1Q5Y1Q2NVBhT24zUDVj?=
 =?utf-8?B?OERneG5OL2NSTkFGem9STGRYYUtVNzkxM3htVHRUQUp1MDhLUFN1M3BaeHpz?=
 =?utf-8?B?c1pHbFp3T0Y2T0hTRFFRSEh5RFNvZWdJUjB4Z1QrbkxpbWtVa3ZGeElWMHpn?=
 =?utf-8?B?MjE3b1lxMmp2YU8yOGF3ZVZPNWdiVlFyZmExMnNqc1duSlZLMTFMaDV0Mkk5?=
 =?utf-8?B?clJReHhQRElRcG93QzNKcVRndUtEVWY4MHpUYWlZYWpaeVMwMmMwKy9DRHRn?=
 =?utf-8?B?bVNyTndYREpYcVh1MmlaSEVrZEt2TStjS3R2cWpjK0FlaG1KMnpXRDdEaUR0?=
 =?utf-8?B?SkVBZ0JBTkpacm53YUxWVUZaSHBUNDIvSmtYTFJEcFJzUjhWckRKdmJwb1FY?=
 =?utf-8?B?ekhNOXFRbVJZeWxJNmJLR3Y2QVFqbnBkZUQ1RkNzREZUNTdWZGgzNVMwNUta?=
 =?utf-8?B?c3I0NngrWXpjNG1NRy9MR1FuWmNIK2lxWEc2MVBpVTMxd0hTRFZYZmoxdGhO?=
 =?utf-8?B?V0trdUVEbkpSUjMwTis1NlM1ZGgyb2JNZGhISEx3cC9abmJRamFYa2VEV2Jl?=
 =?utf-8?B?cmZQT3FCY21JcUlEeEhDVzJ0RSs4NlgzekN5RU8yMmxOWjRmbC9yQ3dMSEtT?=
 =?utf-8?B?Q3htS21iTkR5aEJCUmk0Z2pLOWVUQ2xnbkdlM2VFbUhIcEpuZUxBMDBUeDIy?=
 =?utf-8?B?Sjh2YnZ4MFRsL241MDJjMmlEdHgyWHE0SGlYeHUrYTVhVlkyb0NQN0djb01i?=
 =?utf-8?B?MEE3VHZ1QjM1eTdPaUZVa0FJZ2RuVmRiNVF0RnpJekZ2OCtJcW9BUTNmdWds?=
 =?utf-8?B?QmFNUml6Y3NHZk5XbloxNS9yKzMyZk5xQTVaYXpGM3k2alYyTVBMNHN0OXg0?=
 =?utf-8?B?UmoyL2g2Vk8wZDd4Z3VoSkJZcC90OGJxUjlVajdhaVNLUEh4akxZajhPbmJ6?=
 =?utf-8?B?cDlud0M5c0hQWlpKNER4MXNSMEs1TmhYZ01zQmJDN3dVZ3c2SDV4cnJyMjFC?=
 =?utf-8?B?YWZsYXlDM2dnNksvRnBTTitwVEtjMGZNalhnQUloRnlJTUdDdGpOMGR2cXNT?=
 =?utf-8?B?TUJFWXNWTVNWWXdsNFhIVURGSTM3dnhMQ3JXc045ZmFXNE5nbElXYThISGdx?=
 =?utf-8?B?L3ZFV0tLUnZVb0VROGpIN0lsdW40ZUJnUnhaaFkwZGVEOE5HSUVBNXpUVVd0?=
 =?utf-8?B?UFAvVWhuZ3pjWTFlZ1lvZWJGdGtkVmRRelVjVHpjd3pHV2c5bEdrY2thNE9i?=
 =?utf-8?B?Mm5tT0huOVJNUHNhQ1ZEYURZOU9lNDF4U1NEYi9IakdJdHkwT29BVlpLaSsz?=
 =?utf-8?B?UXpYOStlUWw5U0c2MXZFd05iZzNLZ3Vpekl1NjQxWVVJR0Q0YzB3VmptelJY?=
 =?utf-8?B?c0k3NTJSYUc1dFRyaFJIZkQ0dEFWelV0RnIwUUFudEZkRDc5RTRjbzhtYXhY?=
 =?utf-8?B?dURDbTVOdXBiYXhFa1NveFg3dzV5bS9DR1VuSjdxcVAvYWtrbFVBWllteDVY?=
 =?utf-8?B?QnovMlFTMHdtTno4Qi90emRUa0xnL05CSVJFd2ZZQytZclVENWdtOG1hOWhy?=
 =?utf-8?B?cldBZURsNXE2dVZRV1ZUaWlES0pZbDVKcXpXNm5qMElZRkpWTDJFUDdYTGM4?=
 =?utf-8?B?alY2SzFQZzdxZEwyWHU4QzdDeXgrb1o3UjVpbkRoNTdVZ25JdWFITWJvWndr?=
 =?utf-8?B?ZitRRjNlbXRGZFdYYVl0L1VUSW5TUU1TV1JyVUVxYUdoQk1tY2dXVkxpdGZw?=
 =?utf-8?B?L3BYUlhNeE9jTnc3TEpuTnl5SFhBUTNJQ3V2bkhheDZHMlJ4SEVRS2hEUTAv?=
 =?utf-8?B?TmFFWCtqbVQ0VGFtMFRFUVVzMi8remFrclNVY3VwazdhY000Ky9SMWtqM05F?=
 =?utf-8?B?LzZrSjUxSHJ0MWFHc1dOMTlLcllJeVkzOUhpK1FDWElZSzVvUFJqQWcrOWx0?=
 =?utf-8?Q?XaQD3tLKnH69hzTuf11o6HQ31i0q34=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 17:43:37.0830
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 670d623d-570f-4e9a-e33b-08dd62569585
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=[SATLEXMB04.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: BL3PR12MB6521

On 3/13/25 11:14, Alejandro Vallejo wrote:
> On Wed Mar 12, 2025 at 7:50 PM GMT, Stewart Hildebrand wrote:
>> Xen vPCI refuses BAR writes if the BAR is mapped in p2m. If firmware
>> initialized the BAR to a bad address, Linux will try to write a new
>> address to the BAR without disabling memory decoding. Allow the write
>> by updating p2m right away in the vPCI BAR write handler.
>>
>> Resolves: https://gitlab.com/xen-project/xen/-/issues/197
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> RFC: Currently the deferred mapping machinery supports only map or
>>      unmap, not both. It might be better to rework the mapping machinery
>>      to support unmap-then-map operations, but please let me know your
>>      thoughts.
>> RFC: This patch has not yet made an attempt to distinguish between
>>      32-bit and 64-bit writes. It probably should.
>> ---
>>  xen/drivers/vpci/header.c | 65 +++++++++++++++++++++++++++++++--------
>>  1 file changed, 53 insertions(+), 12 deletions(-)
>>
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index ef6c965c081c..66adb2183cfe 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -173,7 +173,7 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>>          ASSERT_UNREACHABLE();
>>  }
>>  
>> -bool vpci_process_pending(struct vcpu *v)
>> +static bool process_pending(struct vcpu *v, bool need_lock)
>>  {
>>      struct pci_dev *pdev = v->vpci.pdev;
>>      struct vpci_header *header = NULL;
>> @@ -182,12 +182,14 @@ bool vpci_process_pending(struct vcpu *v)
>>      if ( !pdev )
>>          return false;
>>  
>> -    read_lock(&v->domain->pci_lock);
>> +    if ( need_lock )
>> +        read_lock(&v->domain->pci_lock);
>>  
>>      if ( !pdev->vpci || (v->domain != pdev->domain) )
>>      {
>>          v->vpci.pdev = NULL;
>> -        read_unlock(&v->domain->pci_lock);
>> +        if ( need_lock )
>> +            read_unlock(&v->domain->pci_lock);
>>          return false;
>>      }
>>  
>> @@ -209,17 +211,20 @@ bool vpci_process_pending(struct vcpu *v)
>>  
>>          if ( rc == -ERESTART )
>>          {
>> -            read_unlock(&v->domain->pci_lock);
>> +            if ( need_lock )
>> +                read_unlock(&v->domain->pci_lock);
>>              return true;
>>          }
>>  
>>          if ( rc )
>>          {
>> -            spin_lock(&pdev->vpci->lock);
>> +            if ( need_lock )
>> +                spin_lock(&pdev->vpci->lock);
>>              /* Disable memory decoding unconditionally on failure. */
>>              modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
>>                              false);
>> -            spin_unlock(&pdev->vpci->lock);
>> +            if ( need_lock )
>> +                spin_unlock(&pdev->vpci->lock);
>>  
>>              /* Clean all the rangesets */
>>              for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>> @@ -228,7 +233,8 @@ bool vpci_process_pending(struct vcpu *v)
>>  
>>              v->vpci.pdev = NULL;
>>  
>> -            read_unlock(&v->domain->pci_lock);
>> +            if ( need_lock )
>> +                read_unlock(&v->domain->pci_lock);
>>  
>>              if ( !is_hardware_domain(v->domain) )
>>                  domain_crash(v->domain);
>> @@ -238,15 +244,23 @@ bool vpci_process_pending(struct vcpu *v)
>>      }
>>      v->vpci.pdev = NULL;
>>  
>> -    spin_lock(&pdev->vpci->lock);
>> +    if ( need_lock )
>> +        spin_lock(&pdev->vpci->lock);
>>      modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
>> -    spin_unlock(&pdev->vpci->lock);
>> +    if ( need_lock )
>> +        spin_unlock(&pdev->vpci->lock);
>>  
>> -    read_unlock(&v->domain->pci_lock);
>> +    if ( need_lock )
>> +        read_unlock(&v->domain->pci_lock);
>>  
>>      return false;
>>  }
>>  
>> +bool vpci_process_pending(struct vcpu *v)
>> +{
>> +    return process_pending(v, true);
>> +}
>> +
>>  static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>>                              uint16_t cmd)
>>  {
>> @@ -565,6 +579,8 @@ static void cf_check bar_write(
>>  {
>>      struct vpci_bar *bar = data;
>>      bool hi = false;
>> +    bool reenable = false;
>> +    uint32_t cmd = 0;
>>  
>>      ASSERT(is_hardware_domain(pdev->domain));
>>  
>> @@ -585,10 +601,31 @@ static void cf_check bar_write(
>>      {
>>          /* If the value written is the current one avoid printing a warning. */
>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>> +        {
>>              gprintk(XENLOG_WARNING,
>> -                    "%pp: ignored BAR %zu write while mapped\n",
>> +                    "%pp: allowing BAR %zu write while mapped\n",
>>                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>> -        return;
>> +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
>> +            ASSERT(spin_is_locked(&pdev->vpci->lock));
>> +            reenable = true;
>> +            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
>> +            /*
>> +             * Write-while-mapped: unmap the old BAR in p2m. We want this to
>> +             * finish right away since the deferral machinery only supports
>> +             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
>> +             * be better to defer the write-while-mapped case just like regular
>> +             * BAR writes (but still only allow it for 32-bit BAR writes).
>> +             */
>> +            /* Disable memory decoding */
>> +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
>> +            /* Call process pending here to ensure P2M operations are done */
>> +            while ( process_pending(current, false) )
>> +            {
>> +                /* Pre-empted, try again */
> 
> This seems a tad dangerous. There may be a non-negligible amount of work queued
> up. I also wonder whether the guest can induce spinning by increasing
> contention on the p2m (e.g: via ballooning) or by induces work being queued up.
> 
> I don't quite understand the logic, but I suspect you could
> raise_softirq(SCHEDULE_SOFTIRQ), decrease the IP so the instruction is
> replayed, release the locks, and simply exit the hypervisor. The system ought
> to naturally split the operation in several continuations each of which does
> either unmapping or mapping if it couldn't be done in a single one. Replaying
> the instruction after decoding is disabled ought to be benign.
> 
> I haven't tried any of what I just wrote, so take it with with several tons of
> salt though.

The idea was that the unmap-then-map operation would appear atomic from
the guest's point of view. I've only queued up the unmap operation at
this point in the new logic. Due to the mentioned limitation in the BAR
mapping deferral machinery, I wanted to make sure *this BAR* was
unmapped before queuing up the map operation (see below). Waiting for
*all* pending operations to finish here is likely not appropriate.

I think this just reinforces the need to rework the BAR mapping
machinery.

> Do you know if Linux intentionally skips disabling decode? Or is it a bug?

I think it's intentional. See https://gitlab.com/xen-project/xen/-/issues/197

>> +            }
>> +        }
>> +        else
>> +            return;
>>      }
>>  
>>  
>> @@ -610,6 +647,10 @@ static void cf_check bar_write(
>>      }
>>  
>>      pci_conf_write32(pdev->sbdf, reg, val);
>> +
>> +    if ( reenable )
>> +        /* Write-while-mapped: map the new BAR in p2m. OK to defer. */
>> +        modify_bars(pdev, cmd, false);

This call to modify_bars() will raise a softirq for the map operation.

>>  }
>>  
>>  static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
>>
>> base-commit: 8e60d47cf0112c145b6b0e454d102b04c857db8c
> 
> Cheers,
> Alejandro



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:48:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:48:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913245.1319342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmfZ-0001VX-P3; Thu, 13 Mar 2025 17:48:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913245.1319342; Thu, 13 Mar 2025 17:48: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 1tsmfZ-0001VQ-MU; Thu, 13 Mar 2025 17:48:33 +0000
Received: by outflank-mailman (input) for mailman id 913245;
 Thu, 13 Mar 2025 17:48: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tsmfY-0001VI-Hl
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:48:32 +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 5e13a806-0033-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 18:48:27 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-224191d92e4so27455545ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:48:27 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6bbe4f2sm16134035ad.181.2025.03.13.10.48.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 10:48: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: 5e13a806-0033-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741888106; x=1742492906; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=c28r83trvnYT/Cb/CC+0tikVj+EyqzWTZ3CA0iA9eAw=;
        b=jDyyEPRBsR+z0GL8vOAVbnpKjD3+wy/pIiLkkC06gnbc6TY/bXhtEw/yXKadXx3QVh
         aiVkH3rZqvX8LPH6WcqfMSXmRwS1w4bm10873IdGEL5uBvjj5VtKKYR92nbQQouXgPoY
         4bFAr8GakSmgYDXqaO4K9UH4YH+WqMd5Nq6m0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741888106; x=1742492906;
        h=in-reply-to: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=c28r83trvnYT/Cb/CC+0tikVj+EyqzWTZ3CA0iA9eAw=;
        b=imqsiOaRYmisdEze52wIag3yXGcTrpWlqh6cYyXUh6FrM+F8lumiuG2q3QwaZiyPUB
         6qVrxYLNem9mKCPAYDpSY+Csrz95N1DC3FdrrrLBPYn+fCpNRqzRJK4nReKDLsXhCWe5
         vA0DNBh35uZY/ahwSjKGRK5Vu02bP1ogoUnlr5LvU8mEPGrrAmngq4TrhlgrxEr4GhRH
         9lOc+xJEpE7RJexF581i1TNr68l1feK+j7dI2ajpEYbQB0dTIQwDr4OQl6MNMHbZ9JJa
         JmTENdhVcgnxJNNVTSVKCru8VHFNC0N2/DE4+KTnjEjrrSRqjfXU7v2sITy259r7bFWw
         sBmg==
X-Gm-Message-State: AOJu0YzS3rCr1Fd8dilGzzD8YRi1GjiucdFIft8GLl1uOSkcSXvqD7Ou
	HTG/eCtsAvIBwpGM8nugbjH2RU1nOrAXVWDEtm8X3DcmjN1haSHHUV3OmKqpfu6+C9Lvq0ijcZA
	v
X-Gm-Gg: ASbGncvp6hRckFfplVWltVArcTK1jvK6cASXwkIepGA+cacFQV0N5V51Qwx/Ek6IYvg
	LWMxkm44TvwWloXNXbYAkpm/Pf4emZR6JU5jaCKggYE4bwklS9PcDCcXhO0ZgnZyAOuG1M93xk8
	5WNW6z01A8pwM6phYJZwuFhXXCbnHIESojctuzpcB0wOaqDSPZSF5L6GyCCjCD7OuMyxKY3UIkg
	6TAZvOJm9I9Zx1ZmDX5/eu66NSbwRxZQ8AQVBAWplV0mNp0jlakpFWFx2Sqrur6kxS/5TOSmoPG
	h+fj49EZx0z31bxDj6ftk2deT/b+Oe255wjadvl0ukjTORfy2w==
X-Google-Smtp-Source: AGHT+IFxuc8C6h7UkNwBFRuP/q70f8Z187tuV2czoSEFxh2W05tG/2VMW1X3c8BcLh5Iycj/F++fOQ==
X-Received: by 2002:a17:902:cf07:b0:223:f408:c3f8 with SMTP id d9443c01a7336-225dd866bfemr5696935ad.14.1741888106386;
        Thu, 13 Mar 2025 10:48:26 -0700 (PDT)
Date: Thu, 13 Mar 2025 18:48:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
Message-ID: <Z9MaZVMtI86eAmDJ@macbook.local>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250312195019.382926-1-stewart.hildebrand@amd.com>

On Wed, Mar 12, 2025 at 03:50:17PM -0400, Stewart Hildebrand wrote:
> Xen vPCI refuses BAR writes if the BAR is mapped in p2m. If firmware
> initialized the BAR to a bad address, Linux will try to write a new
> address to the BAR without disabling memory decoding. Allow the write
> by updating p2m right away in the vPCI BAR write handler.

IIRC it's only 32bit BARs that Linux will attempt to reposition
without toggling memory decoding off.  For 64bit BARs it will in
general (unless pci_dev->mmio_always_on is set) toggle memory decoding
off and then update the BAR registers.

> 
> Resolves: https://gitlab.com/xen-project/xen/-/issues/197
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> RFC: Currently the deferred mapping machinery supports only map or
>      unmap, not both. It might be better to rework the mapping machinery
>      to support unmap-then-map operations, but please let me know your
>      thoughts.
> RFC: This patch has not yet made an attempt to distinguish between
>      32-bit and 64-bit writes. It probably should.
> ---
>  xen/drivers/vpci/header.c | 65 +++++++++++++++++++++++++++++++--------
>  1 file changed, 53 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ef6c965c081c..66adb2183cfe 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -173,7 +173,7 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>          ASSERT_UNREACHABLE();
>  }
>  
> -bool vpci_process_pending(struct vcpu *v)
> +static bool process_pending(struct vcpu *v, bool need_lock)
>  {
>      struct pci_dev *pdev = v->vpci.pdev;
>      struct vpci_header *header = NULL;
> @@ -182,12 +182,14 @@ bool vpci_process_pending(struct vcpu *v)
>      if ( !pdev )
>          return false;
>  
> -    read_lock(&v->domain->pci_lock);
> +    if ( need_lock )
> +        read_lock(&v->domain->pci_lock);

The addition of need_lock would better be done in a pre-patch.

>  
>      if ( !pdev->vpci || (v->domain != pdev->domain) )
>      {
>          v->vpci.pdev = NULL;
> -        read_unlock(&v->domain->pci_lock);
> +        if ( need_lock )
> +            read_unlock(&v->domain->pci_lock);
>          return false;
>      }
>  
> @@ -209,17 +211,20 @@ bool vpci_process_pending(struct vcpu *v)
>  
>          if ( rc == -ERESTART )
>          {
> -            read_unlock(&v->domain->pci_lock);
> +            if ( need_lock )
> +                read_unlock(&v->domain->pci_lock);
>              return true;
>          }
>  
>          if ( rc )
>          {
> -            spin_lock(&pdev->vpci->lock);
> +            if ( need_lock )
> +                spin_lock(&pdev->vpci->lock);
>              /* Disable memory decoding unconditionally on failure. */
>              modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
>                              false);
> -            spin_unlock(&pdev->vpci->lock);
> +            if ( need_lock )
> +                spin_unlock(&pdev->vpci->lock);
>  
>              /* Clean all the rangesets */
>              for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> @@ -228,7 +233,8 @@ bool vpci_process_pending(struct vcpu *v)
>  
>              v->vpci.pdev = NULL;
>  
> -            read_unlock(&v->domain->pci_lock);
> +            if ( need_lock )
> +                read_unlock(&v->domain->pci_lock);
>  
>              if ( !is_hardware_domain(v->domain) )
>                  domain_crash(v->domain);
> @@ -238,15 +244,23 @@ bool vpci_process_pending(struct vcpu *v)
>      }
>      v->vpci.pdev = NULL;
>  
> -    spin_lock(&pdev->vpci->lock);
> +    if ( need_lock )
> +        spin_lock(&pdev->vpci->lock);
>      modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
> -    spin_unlock(&pdev->vpci->lock);
> +    if ( need_lock )
> +        spin_unlock(&pdev->vpci->lock);
>  
> -    read_unlock(&v->domain->pci_lock);
> +    if ( need_lock )
> +        read_unlock(&v->domain->pci_lock);
>  
>      return false;
>  }
>  
> +bool vpci_process_pending(struct vcpu *v)
> +{
> +    return process_pending(v, true);
> +}
> +
>  static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>                              uint16_t cmd)
>  {
> @@ -565,6 +579,8 @@ static void cf_check bar_write(
>  {
>      struct vpci_bar *bar = data;
>      bool hi = false;
> +    bool reenable = false;
> +    uint32_t cmd = 0;
>  
>      ASSERT(is_hardware_domain(pdev->domain));
>  
> @@ -585,10 +601,31 @@ static void cf_check bar_write(
>      {
>          /* If the value written is the current one avoid printing a warning. */
>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> +        {
>              gprintk(XENLOG_WARNING,
> -                    "%pp: ignored BAR %zu write while mapped\n",
> +                    "%pp: allowing BAR %zu write while mapped\n",
>                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);

If Xen now handles BARs writes with memory decoding enabled the
message can be removed.  It's only purpose was to signal this missing
handling.

> -        return;
> +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +            ASSERT(spin_is_locked(&pdev->vpci->lock));
> +            reenable = true;
> +            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> +            /*
> +             * Write-while-mapped: unmap the old BAR in p2m. We want this to
> +             * finish right away since the deferral machinery only supports
> +             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
> +             * be better to defer the write-while-mapped case just like regular
> +             * BAR writes (but still only allow it for 32-bit BAR writes).
> +             */
> +            /* Disable memory decoding */
> +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);

I think if the guest explicitly avoids toggling memory decoding Xen
should also to the same, and not touch the bit.

> +            /* Call process pending here to ensure P2M operations are done */
> +            while ( process_pending(current, false) )
> +            {
> +                /* Pre-empted, try again */
> +            }

I'm afraid this is not how I would expect this to be done.  We
explicitly do the p2m modifications in a deferred context to avoid
long running operations.  We should continue to do so to perform this
unmap + map operation.

I think you need to introduce a way to queue an operation that will do
a map + unmap in the deferred context processing, or signal that after
the currently queued operation finishes a new call to modify_bars()
should be issued.

It would be nice if we had a more generic way to queue guest vCPU p2m
(map and unmap) operations, but that's likely to require a much better
interface than what we currently have.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 17:58:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 17:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913266.1319352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmpR-0005FI-LM; Thu, 13 Mar 2025 17:58:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913266.1319352; Thu, 13 Mar 2025 17: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 1tsmpR-0005FB-IP; Thu, 13 Mar 2025 17:58:45 +0000
Received: by outflank-mailman (input) for mailman id 913266;
 Thu, 13 Mar 2025 17:58: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=a3gq=WA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tsmpQ-0005F5-7m
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 17:58:44 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cc96d5a2-0034-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 18:58:42 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id
 98e67ed59e1d1-2f9b9c0088fso2570122a91.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 10:58:42 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-301182181c3sm4148809a91.5.2025.03.13.10.58.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 10:58: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: cc96d5a2-0034-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741888721; x=1742493521; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=iNCZY87r+ZlGEzCF7anawqE69Cnd0PAVlCq7sAiI7n8=;
        b=LaRTch4l2UAZEryJ/g+REgP5EDY63BJUdUrcUF92ir5x5C4X0A61Ef/5iLp++VwNMU
         hDTR04wHTTtitKW8veDqR1P1XEN1hhsAvFw2RVBxqPaXq3alUFjnWBIgbpbX6YnCqi6w
         5t5VThzno7N598MTZBxjHIGI8MEZXwEtmTwIs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741888721; x=1742493521;
        h=in-reply-to: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=iNCZY87r+ZlGEzCF7anawqE69Cnd0PAVlCq7sAiI7n8=;
        b=i6EloxocQQ4r5+EXtZiDIpLgbM5KyCDxqt7NvYFsP1CMK3WTkAM/QoyMTHTLE7P2hE
         PeM5BQOqALn9SZ75nqb2Ws8Env4XSCgdBjkwsOEcvsyKBqD/Fx3ox/80Gv8qkDk48PwJ
         3BfaA0yNdL14UgDF7xYt0RFiRxwjxL/3aAtcZFfrQ4Q7u0Q8m8S4eZX6XWG/ag4KvgXo
         QEyfmnhX4gi6jPzfpbhYLtRiGEfnMs0a1B99YL9BZ30NiLTTS97vewhbgAuRoDv/pHb9
         Qo4i4QpFH9+neihBq+v2N7MS0gEEuwJvU+pkso3fxOcpkD8M+VBNXjt0tbyqPRlbEg0t
         XgcQ==
X-Forwarded-Encrypted: i=1; AJvYcCXzwnShwo+msWfrd8PMp+RzgUQ+O3n6EYPsJOTRG6oi8LQubdVLRrt4t+VqE2cmMHt2OSQ6ImBybiQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwOM9RE80Chm4tNfRxdSoChf3sD2Imzdo3es0Wwq6/KyWiMPUm
	ZoqRz/QxcFQYBuiQMd/Ff/ajNFavt77tBe0IqoDxKcjHLHj3CIciAPF+QHS9zlOSNehp/9y5reY
	H
X-Gm-Gg: ASbGncsOAYWbn/IekWQDBP93lP/MFWyQ3qdjyTAHepc3VPQQnuyWH451WK4rUkNiiPk
	JIh2G5ZJQRahBaKEdMyU98NBCDP6ukF6xcP/LQDcMtBSR6g8/jcRURBsDm21m/Ark+x0oiClIDW
	IRAPtIT7vzjId6womXV3YJbt7QWPmCWdTUi1R+J5ZhNyXrPXzxNH9T6O4NAgWjDkwa4iGxn1RKL
	MTEz7ptoaiq1FbMfYE1HjZkAv4D3WaapSHFJgZmIQdFokinJ2/PlSaj8B2yaQdjH4gHZnYLEvTz
	kAfpVFxSpmKoWZQ5pA8rlNus2oHvqCNVmRLmCchZKx52lE9fdw==
X-Google-Smtp-Source: AGHT+IG/xGnqATyWZwmPcLenpH7bmoIvvTCClsy4lVLZoEfht0jZflnE2KgJ+XxLB35IvHO317rngQ==
X-Received: by 2002:a17:90b:5247:b0:2ee:5c9b:35c0 with SMTP id 98e67ed59e1d1-30135ed4067mr4410306a91.9.1741888721211;
        Thu, 13 Mar 2025 10:58:41 -0700 (PDT)
Date: Thu, 13 Mar 2025 18:58:35 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
Message-ID: <Z9Mcy9j8ec-TjipY@macbook.local>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <D8F8IW559J11.2G40MDQH23I44@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <D8F8IW559J11.2G40MDQH23I44@cloud.com>

On Thu, Mar 13, 2025 at 03:14:26PM +0000, Alejandro Vallejo wrote:
> On Wed Mar 12, 2025 at 7:50 PM GMT, Stewart Hildebrand wrote:
> > Xen vPCI refuses BAR writes if the BAR is mapped in p2m. If firmware
> > initialized the BAR to a bad address, Linux will try to write a new
> > address to the BAR without disabling memory decoding. Allow the write
> > by updating p2m right away in the vPCI BAR write handler.
> >
> > Resolves: https://gitlab.com/xen-project/xen/-/issues/197
> > Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > ---
> > RFC: Currently the deferred mapping machinery supports only map or
> >      unmap, not both. It might be better to rework the mapping machinery
> >      to support unmap-then-map operations, but please let me know your
> >      thoughts.
> > RFC: This patch has not yet made an attempt to distinguish between
> >      32-bit and 64-bit writes. It probably should.
> > ---
> >  xen/drivers/vpci/header.c | 65 +++++++++++++++++++++++++++++++--------
> >  1 file changed, 53 insertions(+), 12 deletions(-)
> >
> > diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> > index ef6c965c081c..66adb2183cfe 100644
> > --- a/xen/drivers/vpci/header.c
> > +++ b/xen/drivers/vpci/header.c
> > @@ -173,7 +173,7 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
> >          ASSERT_UNREACHABLE();
> >  }
> >  
> > -bool vpci_process_pending(struct vcpu *v)
> > +static bool process_pending(struct vcpu *v, bool need_lock)
> >  {
> >      struct pci_dev *pdev = v->vpci.pdev;
> >      struct vpci_header *header = NULL;
> > @@ -182,12 +182,14 @@ bool vpci_process_pending(struct vcpu *v)
> >      if ( !pdev )
> >          return false;
> >  
> > -    read_lock(&v->domain->pci_lock);
> > +    if ( need_lock )
> > +        read_lock(&v->domain->pci_lock);
> >  
> >      if ( !pdev->vpci || (v->domain != pdev->domain) )
> >      {
> >          v->vpci.pdev = NULL;
> > -        read_unlock(&v->domain->pci_lock);
> > +        if ( need_lock )
> > +            read_unlock(&v->domain->pci_lock);
> >          return false;
> >      }
> >  
> > @@ -209,17 +211,20 @@ bool vpci_process_pending(struct vcpu *v)
> >  
> >          if ( rc == -ERESTART )
> >          {
> > -            read_unlock(&v->domain->pci_lock);
> > +            if ( need_lock )
> > +                read_unlock(&v->domain->pci_lock);
> >              return true;
> >          }
> >  
> >          if ( rc )
> >          {
> > -            spin_lock(&pdev->vpci->lock);
> > +            if ( need_lock )
> > +                spin_lock(&pdev->vpci->lock);
> >              /* Disable memory decoding unconditionally on failure. */
> >              modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
> >                              false);
> > -            spin_unlock(&pdev->vpci->lock);
> > +            if ( need_lock )
> > +                spin_unlock(&pdev->vpci->lock);
> >  
> >              /* Clean all the rangesets */
> >              for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> > @@ -228,7 +233,8 @@ bool vpci_process_pending(struct vcpu *v)
> >  
> >              v->vpci.pdev = NULL;
> >  
> > -            read_unlock(&v->domain->pci_lock);
> > +            if ( need_lock )
> > +                read_unlock(&v->domain->pci_lock);
> >  
> >              if ( !is_hardware_domain(v->domain) )
> >                  domain_crash(v->domain);
> > @@ -238,15 +244,23 @@ bool vpci_process_pending(struct vcpu *v)
> >      }
> >      v->vpci.pdev = NULL;
> >  
> > -    spin_lock(&pdev->vpci->lock);
> > +    if ( need_lock )
> > +        spin_lock(&pdev->vpci->lock);
> >      modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
> > -    spin_unlock(&pdev->vpci->lock);
> > +    if ( need_lock )
> > +        spin_unlock(&pdev->vpci->lock);
> >  
> > -    read_unlock(&v->domain->pci_lock);
> > +    if ( need_lock )
> > +        read_unlock(&v->domain->pci_lock);
> >  
> >      return false;
> >  }
> >  
> > +bool vpci_process_pending(struct vcpu *v)
> > +{
> > +    return process_pending(v, true);
> > +}
> > +
> >  static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
> >                              uint16_t cmd)
> >  {
> > @@ -565,6 +579,8 @@ static void cf_check bar_write(
> >  {
> >      struct vpci_bar *bar = data;
> >      bool hi = false;
> > +    bool reenable = false;
> > +    uint32_t cmd = 0;
> >  
> >      ASSERT(is_hardware_domain(pdev->domain));
> >  
> > @@ -585,10 +601,31 @@ static void cf_check bar_write(
> >      {
> >          /* If the value written is the current one avoid printing a warning. */
> >          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> > +        {
> >              gprintk(XENLOG_WARNING,
> > -                    "%pp: ignored BAR %zu write while mapped\n",
> > +                    "%pp: allowing BAR %zu write while mapped\n",
> >                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> > -        return;
> > +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> > +            ASSERT(spin_is_locked(&pdev->vpci->lock));
> > +            reenable = true;
> > +            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> > +            /*
> > +             * Write-while-mapped: unmap the old BAR in p2m. We want this to
> > +             * finish right away since the deferral machinery only supports
> > +             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
> > +             * be better to defer the write-while-mapped case just like regular
> > +             * BAR writes (but still only allow it for 32-bit BAR writes).
> > +             */
> > +            /* Disable memory decoding */
> > +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
> > +            /* Call process pending here to ensure P2M operations are done */
> > +            while ( process_pending(current, false) )
> > +            {
> > +                /* Pre-empted, try again */
> 
> This seems a tad dangerous. There may be a non-negligible amount of work queued
> up. I also wonder whether the guest can induce spinning by increasing
> contention on the p2m (e.g: via ballooning) or by induces work being queued up.
> 
> I don't quite understand the logic, but I suspect you could
> raise_softirq(SCHEDULE_SOFTIRQ), decrease the IP so the instruction is
> replayed, release the locks, and simply exit the hypervisor.

There's no instruction replay in this case, instead the vCPU is
prevented from resuming operation until the deferred pending operation
is finished.  This is done by preventing hvm_do_resume() from
succeeding as long as vpci_process_pending() return true.

> The system ought
> to naturally split the operation in several continuations each of which does
> either unmapping or mapping if it couldn't be done in a single one. Replaying
> the instruction after decoding is disabled ought to be benign.

IMO the main issue is how to signal which operations are pending, so
they can be executed in the deferred context.  `struct vpci_vcpu` is
used to hold a single pending operation.

> I haven't tried any of what I just wrote, so take it with with several tons of
> salt though.
> 
> Do you know if Linux intentionally skips disabling decode? Or is it a bug?

For 32bit BARs it's possible to atomically reposition them with a
single atomic write, so Linux will try to do that.  For 64bit BARs
this is not possible (as it involves writes to two registers), and
hence Linux won't usually attempt to atomically reposition 64bit BARs.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 18:04:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 18:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913277.1319362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsmui-0000mk-7C; Thu, 13 Mar 2025 18:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913277.1319362; Thu, 13 Mar 2025 18:04: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 1tsmui-0000md-4E; Thu, 13 Mar 2025 18:04:12 +0000
Received: by outflank-mailman (input) for mailman id 913277;
 Thu, 13 Mar 2025 18:04: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=4VEl=WA=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tsmuh-0000lB-BP
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:04:11 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2417::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f7955d2-0035-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 19:04:09 +0100 (CET)
Received: from DS7PR05CA0097.namprd05.prod.outlook.com (2603:10b6:8:56::26) by
 MN0PR12MB6125.namprd12.prod.outlook.com (2603:10b6:208:3c7::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 18:04:00 +0000
Received: from DS3PEPF000099DB.namprd04.prod.outlook.com
 (2603:10b6:8:56:cafe::c2) by DS7PR05CA0097.outlook.office365.com
 (2603:10b6:8:56::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.27 via Frontend Transport; Thu,
 13 Mar 2025 18:03:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099DB.mail.protection.outlook.com (10.167.17.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 18:03:59 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 13 Mar
 2025 13:03:59 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 13 Mar 2025 13:03:57 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f7955d2-0035-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tBvkhxpqPscEorPdzpkeVF74JjWDNuLjQ3pPLbaulDdm4NWadg13VD86iX8Aw3uQvtZweoVmhHTMe8mb0ePoMnoKRkuPtq0a7r/46U4XFeCGzVjHuYMlS1HjcKrPgQM29sjnMmUBGGZF9mg6quauuyjyoek9MT/pTsjB8qFfrKMsFbMq50SXqaZbBi2tDsF1IKiaciTCtXTAOZzTQfZP/F1dVatFXQjwk6DBwvOnvk3VTcs5uqlWx3aqA4SFws8BDIm1lRIsMzq7eGX9SSuY5ss7HN+KF6yztwExc6t/0weuvLJdhfzaJcXKDCIbXh+4z0qRxQTpIAqkq1ICqeJ/SQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s2OA9DMKEYxTYSOiKaFyfiw7EyS3kCkKTqCcx/4PT1g=;
 b=Rh0pBNh5hBjg/cX4TDLLnxixWvIpUBb+7JpYh2zegAWRq49zhtnxkbRegkTjv5/bYFjolA2Y9H9nU6Cm0AtsRwOzhcj1pUgZcmWOHUVbQ9MeZ1M7Ii14h9wWW97cnrHUnmVjuiJxTI0gkV9fEgng+mWDvrF36hleHJ60h5Ho9/Jp+7BTVt1w26u0XbDsCut+nz0zs7irPQG2tJQ8xhGXj/pf1LCCCJgi6q08gy4/BUXh+fdSyC+EbvPP7lKoDphfn5nldAISnQZHXj5ptBddyetI6slUIifSSczJAyaSkZRpPq0EHTY0vkgNUkY43DVzzvSMuYMn2n+jdoQuwawi8w==
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=s2OA9DMKEYxTYSOiKaFyfiw7EyS3kCkKTqCcx/4PT1g=;
 b=Vdh0r38bCgfUlZ4Ob+7USFzQvuLNCqR/mShVWcYiuofpHq4kFbhcCdbhKWO+go2wXH99sBqJIgscndUHsYm0Jcj9VnkB9LTBhYijZJsehgsvZy2zUSHTRfpWFrRKaQB/dcUpW813aGrd6x8iQ48lqzWdXQCenMX7TShEWqPu5Q4=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <555c355e-1269-4429-aa08-c2804bacc839@amd.com>
Date: Thu, 13 Mar 2025 14:03:57 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/amd-iommu: Add interrupt remapping quirk for
 ath11k
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
CC: <xen-devel@lists.xenproject.org>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, "Julien
 Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, "Xenia
 Ragiadakou" <xenia.ragiadakou@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20250226211125.43625-1-jason.andryuk@amd.com>
 <Z8A9LYjgr92IignP@macbook.local>
 <1d3ac61a-1acf-46b3-91bc-1dcb8bab1559@amd.com>
 <Z9L-HPlfZhvIh8yn@macbook.local>
 <d3378c73-7185-4f9f-8e61-be12171dfc21@citrix.com>
 <5cb338cb-3e5d-4c3d-8ee6-6c0c7c76348e@suse.com>
 <818b6a3c-bf65-489b-a551-d8539f52b452@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <818b6a3c-bf65-489b-a551-d8539f52b452@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DB:EE_|MN0PR12MB6125:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c1355f3-31f3-42e4-e65c-08dd62596e3a
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:
	=?utf-8?B?SmJTbjNEa25aSHFlKzlZR1NJNlpnWU9VdEs2STE4Z2FiZEhtR1YrR2RkaGZP?=
 =?utf-8?B?Skl4NDBEMTkrNzZJcjhsKzV5dkNzUDBKOW1uL1JvTzdOTDNOYmlvTXI0UFhI?=
 =?utf-8?B?QXBIMkRFdEFqVHJjRUFHcnErNlNodGdwYVBJd2lTRVFIWHlUY1RJai96YkhI?=
 =?utf-8?B?VFZhbEg0ZjF2amsxcUM2ZEFRZnA0NDZHUllLZFFEY3NJSERJcTdJNG54LzhL?=
 =?utf-8?B?U1NpSGdZTTd6OWcvaDRhVTBiZW5OUU1rODh1U3lkWmNidnkzZERIU2RCSE04?=
 =?utf-8?B?TlA5OFlqOWV0ZnRCcmVoUDlQamdkU2pndGRIc0t5WGtaRVBFb0tuSVpOWnNu?=
 =?utf-8?B?WmF6anV0dUJ5aGt5VmFqVGxIVWxxOUlGVFhOOTRlMFFBamx5RklvQTViTWp0?=
 =?utf-8?B?ZFluY3B6TkRTdTMybU12aWd5STEzNkpiS1hZRlVJcEJ4U0ZVVFBwY3ZlK3lI?=
 =?utf-8?B?aGtKVTFzN01wbWhnN1VqNDRveklHVDE1bUswY2JTRXU0SHNvTlRpV3RtT1Jo?=
 =?utf-8?B?S3NDd0Z4a2Nxd3BoSFNkcjIyRnNnUEF1OURCVTgzMTFWWnZYWXgxNDdscktw?=
 =?utf-8?B?c0Mzd3NzS2NuWG5SRnJHYjgwVjRrQWZFV1pZbGJKRmp2aVgwUE9sT0c3TVdX?=
 =?utf-8?B?TFNUV2pBY0NCQnAvbHRJWXdtTzNNaUg1eWRpMEtvSTF1UGtaRDBTQkp1K3dp?=
 =?utf-8?B?QTBjRlI1MHNBSy8wd2xoTGtKMlRNY2MyczFpQitPa2NyQWFKSG5sbTBHb1Z5?=
 =?utf-8?B?YVFZZ0lrcUVBYnpuSStodldjd2Vkd01DUjVsMndnM2lYWm5qWFYvTmhsN0w5?=
 =?utf-8?B?Q2RXa1Q3dmZ3QVRkNWd6UXZtZnZZMVRuMDVXb1h4UlQrSlhVUm5uaVZwMHh1?=
 =?utf-8?B?OC9VdCtjKzUralcrVitaM2NqQkVWODlnQVRnVm9WMUZUZW54cGI5SnJ6NitX?=
 =?utf-8?B?ZUlDZXkrd0l1SVRHK003TjhvV28rc2lWTVdTRVI2bnZMZEt6LzFXelN1KzNu?=
 =?utf-8?B?akc0TFQyVmx3bVVPalNEaTVNY09IVnVHdmJEYVhHRE55TDlJOFJxbUw3RUtk?=
 =?utf-8?B?S1JjMVpzTFF2dXUrSGR4YlBCaDBNT1ZFcXpqTjhacjByRlVWYzZMd2lkR3BU?=
 =?utf-8?B?alorcFFqMEFzTEc1SndmVjkrdFh0Y0QwQm91MUI4ZXJTb2l1QTExOGF0eTMx?=
 =?utf-8?B?RTRyck5aUGwzZ1l6ZWM3WFlNL2JnTmFiejRma0xZRy9WS05KVTBReFpzNFha?=
 =?utf-8?B?em5EaXRjZGFZbW1uRWtkT0ZIUDlteXRrSlpkVStZcmJWQ0JOZWdoWVNJWitR?=
 =?utf-8?B?UHczQUMrS3pCVDg1cnZrOEVnVHFtWnRUMlJNQXJoMXZDRHc0ME5qb1paMFZY?=
 =?utf-8?B?UVBJSlpURDFnV1FFZGJ5RTZzQmZxRDNEWGp2L3Z3cFBxbTROeUFmNWhTaEFa?=
 =?utf-8?B?VCtXbGl0T01VTVBKWHpVclZvdUFZRldQa1RkQmt2NS90YlRNOExNTHgvL1Ix?=
 =?utf-8?B?Sm44aU9Mb3o5QWFQUXo5M080QjF4eDJySHRLcXVZVGw4SXVpNUxHR1UzeXFB?=
 =?utf-8?B?YWUyRHZQKzUzRmNyNCt2SkIzSXNycE95bS9TL1VxTk9yTnFoTXk0bWt3VHlF?=
 =?utf-8?B?aXdzZVJicGxsemt3VkVFZHJzNEJaeGtWbkRMeDA4Z0NTUi9kYkwxM3c2THYx?=
 =?utf-8?B?ZjlUQTM4Si9sV0owQTBtYU5aOGVveGtUV2NUcWdSZXljZjROZFo0Mm12RWlu?=
 =?utf-8?B?eGhCU3hNaEl2NzJOTFFoMm52aFUrWGY4UHh1S3JTcyt3dndkM09xVlBTMFhZ?=
 =?utf-8?B?QmQrZ3pqTlZvbHpvS3VNejAvTzlvV1BYN1I1TDdaNHpHS01aSG1JTURtY2hq?=
 =?utf-8?B?OXowbXcvc0R6MURvd0hvUTJ0UGFOOXl2VUpnQytqbjRIUC83bGk2d21UdzhU?=
 =?utf-8?B?N3FocWEza3RJS1ZOWlNMMWNzb1QzaXVGWXl0OXFYNmY0NU9WQUVCNmp1NGF5?=
 =?utf-8?B?aEVtWDB5d1l3PT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 18:03:59.6506
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c1355f3-31f3-42e4-e65c-08dd62596e3a
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099DB.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6125

On 2025-03-13 12:24, Andrew Cooper wrote:
> On 13/03/2025 4:07 pm, Jan Beulich wrote:
>> On 13.03.2025 17:02, Andrew Cooper wrote:
>>> On 13/03/2025 3:47 pm, Roger Pau MonnĂŠ wrote:
>>>> On Thu, Mar 13, 2025 at 11:30:28AM -0400, Jason Andryuk wrote:
>>>>> On 2025-02-27 05:23, Roger Pau MonnĂŠ wrote:
>>>>>> On Wed, Feb 26, 2025 at 04:11:25PM -0500, Jason Andryuk wrote:
>>>>>>> The ath11k device supports and tries to enable 32 MSIs.  Linux in PVH
>>>>>>> dom0 and HVM domU fails enabling 32 and falls back to just 1, so that is
>>>>>>> all that has been tested.
>>>>>> DYK why it fails to enable 32?
>>>>> In Linux msi_capability_init()
>>>>>
>>>>>          /* Reject multi-MSI early on irq domain enabled architectures */
>>>>>          if (nvec > 1 && !pci_msi_domain_supports(dev,
>>>>> MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
>>>>>                  return 1;
>>>>>
>>>>> MSI_FLAG_MULTI_PCI_MSI is only set for AMD and Intel interrupt remapping,
>>>>> and Xen PVH and HVM don't have either of those.  They are using "VECTOR", so
>>>>> this check fails.
>>>> Oh, interesting.  So classic PV MSI domain supports
>>>> MSI_FLAG_MULTI_PCI_MSI, even when no IOMMU is exposed there either.

I was told PV dom0 used 32 MSIs, but I don' readily see 
MSI_FLAG_MULTI_PCI_MSI set anywhere.  I guess it gets to 
xen_initdom_setup_msi_irqs() which supports multiple nvecs.

>>>>
>>>> Thanks, so it's nothing specific to Xen, just how Linux works.
>>> This is something which TGLX and I have discussed in the past.Â  It is a
>>> mistake for any x86 system to do MSI multi-message without an IOMMU.
>> Well, with PVH there always will be an IOMMU, just that Linux can't see
>> it. Even with PV it should be the hypervisor to determine whether multi-
>> message MSI is possible. Hence how the classic (non-pvops) kernel had
>> worked in this regard.
> 
> Xen should hide (and instruct Qemu to hide) multi-message on non-IOMMU
> hardware.Â  The result of "supporting" them on non-IOMMU hardware is
> worse than making the driver run in single MSI mode.

FWIW, QEMU MSI support hardcodes 1 MSI.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 18:28:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 18:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913292.1319372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsnI3-0008Kv-3w; Thu, 13 Mar 2025 18:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913292.1319372; Thu, 13 Mar 2025 18: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 1tsnI3-0008Ko-1O; Thu, 13 Mar 2025 18:28:19 +0000
Received: by outflank-mailman (input) for mailman id 913292;
 Thu, 13 Mar 2025 18:28: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=ER9z=WA=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tsnI1-0008Kg-FX
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:28:17 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20619.outbound.protection.outlook.com
 [2a01:111:f403:2412::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec28304b-0038-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 19:28:14 +0100 (CET)
Received: from DS7PR05CA0006.namprd05.prod.outlook.com (2603:10b6:5:3b9::11)
 by DM4PR12MB8497.namprd12.prod.outlook.com (2603:10b6:8:180::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Thu, 13 Mar
 2025 18:28:08 +0000
Received: from CY4PEPF0000E9D9.namprd05.prod.outlook.com
 (2603:10b6:5:3b9:cafe::39) by DS7PR05CA0006.outlook.office365.com
 (2603:10b6:5:3b9::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 18:28:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D9.mail.protection.outlook.com (10.167.241.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 18:28:08 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 13 Mar
 2025 13:28:07 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 13 Mar
 2025 13:28:07 -0500
Received: from [172.19.192.96] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 13 Mar 2025 13:28:06 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec28304b-0038-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kKNBMMhg/aBfWJIG5nPB4xJuuvnERSQta0yDF996TlwgwTZ1CDRADdkqLVHaksIoyoxiAGUALK1ioYYh1wrVYjwhwsLdSqM2h+z2G+TbFzAq8e5I3oHleQ1cR7bYeDXcMcmXSrobqDE2Jt8+X2mzCgkRjbU6ej9q51601q0Y5S9KbthYYcRnoSBoBp4r7YK+T7P0+8GCWchaZo9wK0THNCetxGyWeCaM2+xmTEIEZj4tf0vwk6Hj365+3tIZGLbKgSXmlzHIpW6AIRmJeQLLmhlOwSGe1P8puTd0DdCXR+7hYLGycTAriEARNMD+ayChwjLHNhB/6ElCKbSa/zpTCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ufv7YYxL1vv+wUtopyB0g6mQIH21Fb5XpzvlnFUKMNA=;
 b=RNdTpe8fTr7uuZ8HwdDzudGzUTJpVVGtbxmHgXVSi1xqS2JiRee85bB9MndRUKhWcWK/KKa4uIqQNS4nUX3elZKTGW1d6jJX4PVaxGXq9RafqEHXbrN2CajIOsyHUxeV7ajZZMdR/M2y/GY80rHiXoMeLrR7gDShiA9mA4TxQVfE2/XNQ474mpvzRMGw2H9hjmpDL9au1c4unhIrO4mIcN0aNXnbUfCX7JBXWDkDEpyNwDlSxcUCXpVJLl+LnqouzD3r2Jx1ymx9a4d3Pyq5W1RWqZdeEbkvW8qJgBxeu30ay2PpHdh7f3iV5bmnGxHVz1VUR5Ix8LztuBjB5MlVZQ==
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=ufv7YYxL1vv+wUtopyB0g6mQIH21Fb5XpzvlnFUKMNA=;
 b=kY816ZAzJXUKruwntVl1Dx2cFQHqSlAGS20ryxznrXcPTiPW5HOSAiClCSAFwtyNLUsdz0fniF4ek2BD6e5rbNIB7iXtUCLI2udUPX9k3I+nwTsG9tAKPqB/1LgiaxxRA1PPutteJryifEsvNx7EoGcrTHaR9qzM4kAbzrbnxms=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <c5f0cae0-4ba9-4a9e-98b9-a30449e5fd49@amd.com>
Date: Thu, 13 Mar 2025 14:28:06 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <Z9MaZVMtI86eAmDJ@macbook.local>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <Z9MaZVMtI86eAmDJ@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D9:EE_|DM4PR12MB8497:EE_
X-MS-Office365-Filtering-Correlation-Id: 22c7914b-3259-4150-ee1b-08dd625ccdae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aXZROTQ3YU5wRDlnb2FmbXcrK08zcWpXUlNzOEw0ZHpjckdyTTFNaVI3QkUr?=
 =?utf-8?B?TnZCRmVPaVF2c3hmdXovS0kzdkxhdWZQbE5vREtXc1YrMnVLcEFGRjZCeWVv?=
 =?utf-8?B?T0NOdGZ5MGVIWE5YbytmR2M0N3pBTzE4MmhwSFU0NGtCd05jelhuQWVOY09j?=
 =?utf-8?B?Y2gyalI4Ry8ycFUxL045WFdBOE41ek9UMXRQZTA3YnIzb1RyM1BOZXpBek1Q?=
 =?utf-8?B?b1czL1lGRFFZVUFoeVNtNHhHS05yVldwdkY0L2laS3U3enZVT3VkRlZRTFdT?=
 =?utf-8?B?NFNMMWE5S09qdlZyOGZvajljbzlQZVpoaWw3L1BYT1hYTGNKdHVwWWR2ZlpG?=
 =?utf-8?B?dmpPY1JBYWN1UFl0VFZaWTlRKzRvWXBUK0ZDcXAwQmtJSjRidjZaQlQ3aXIz?=
 =?utf-8?B?NHdFM2NBUWdETjY2TFlsTzlhb293Qm14UG1nTUFaelgvZWZrNSs1cTlwU1FB?=
 =?utf-8?B?VmpqSlZKZGhiRUxFQzd1T2pzZWFQdEpvTk0wa2Q4a0hFRGFtcmFqaUdHS0ND?=
 =?utf-8?B?SnlJOThHVVV0NUMwYzRFVzBNWGk3Y2dGMmp2TG5mVFdKRVh2dzQ4TVJPSU5S?=
 =?utf-8?B?OG1mdXo0TXdwUFYxeVZ5bTNDK1QyUk81MndVNVU3UXo5OVIxNXYweG1NK2tN?=
 =?utf-8?B?Ti85RVBYQkQ1cGQ4bWpXc2ZYREt2RXBQMjBIZmtITTdSa2IyVVhmUE4rcGxy?=
 =?utf-8?B?QmRjYVVIWCtJVGRIR3Q2L215QU9GK1U5MUhhdVZ6MGhONFZDMVdpdCswSjJH?=
 =?utf-8?B?WHZXQWRwNEpsSFlEbEZQNHJqUHVSQkdtNDZzOHBmYVdjeWd6ejA5TXZYWFVW?=
 =?utf-8?B?aVMyQXhVRHV4MFIvZ215R3VVa1FteGxoc2xkRXNBU2RzWVdISzJqeWdNbVI3?=
 =?utf-8?B?eHZSQTlOa0pWaWdueXRsTG9VdWtQNjJqblpGWlJ4UkJVUWM4bDZQSHNJdmEv?=
 =?utf-8?B?UDNxTzdFU2IwSnJYK25IRW91c1hBM093RUUxYXJieC9NVFp6QjFheFdrR3Rt?=
 =?utf-8?B?emI3a1B3dE5RUURoS0p2R0UvSmxQQ3d4N21sdWtLeGlNK3gycW1GYVZUVjZ5?=
 =?utf-8?B?c1FtODRXeVl6ZitCdVQzK3lGWFNQSS9sWVRDemgrUU1xdEs3TVdJNEU5b3Jp?=
 =?utf-8?B?M2g0MlE2Wit6TnIvTWY2Z3MwcEZuUG9pdkFZOTlIRFNEUitUaGt5OFRhQUw5?=
 =?utf-8?B?c0t1WHR4NjNYbUNvVnZLYngwUnpWaEc1bXhXRGkvVFBYc0dkZ2sxbDFwQXVl?=
 =?utf-8?B?U1ZlL0ZZQ0Nsd1k4UlJtNXI4TTJHMmxlTGlSTkovNDZ4UFlHWDhaNEQ2L29W?=
 =?utf-8?B?cUoxbVc3VGFrUUovNUUzanQrNjZDZjB2dlBQbFRHUVptYXk1R3pYNWxxOFgy?=
 =?utf-8?B?STlwaHF2Q1A2a0FaUy9iT2xQRVJkelhONm81a1hocGlXcG56akJWK1BzNGt3?=
 =?utf-8?B?cDZKV2dmTUcyTUpzbGhFZUNEek4wWHFRYlhRSndkNTVHU08vcjVyTUR4TmpW?=
 =?utf-8?B?S0s3cnVJWWlYMGFwQ0xtOVlaR1hwanhuN1NQMzRhWlNyUE1WaHViTVVvaE40?=
 =?utf-8?B?cWFLWnRuZ2JZZmtteksyb1pmMkxKbHN2RVA4cDVldlJ0QTBSR2dPaGllNUNh?=
 =?utf-8?B?eXRnYnVJeWRleEJoMjY1bDM3UUpWUmM4OEh2WkMrNlRjNEUxWHdpaGMwaVBT?=
 =?utf-8?B?R05RbzBNZW1zaktmZkw4bnhUUmpWT1ZjMURvOUNMWVZyTEQvaGNZcUx0eWE2?=
 =?utf-8?B?WEs2Zk9IUWRzT2FveE1MY3N3ai8xVDh4QmVjbkU3ZTdvU2oxY1lLR2x3MUdz?=
 =?utf-8?B?ZXdSd1IxUFFlNTZpM3k3ajRMdVR5SmJGQ3ZFWTRUZTd3Q2ZKM082ZG5DbTdO?=
 =?utf-8?B?SlZrWXFMT0taMU1NLzdHNWlaWEpiN05MMHQ3TnFTZEdSd0pFT0NZN0tTaXVG?=
 =?utf-8?B?SVNjaWtXdG1ZVDVHM0NLN1VOZWx5V29BZWlnVmdMalZTL2xEZjVFd2plbXpF?=
 =?utf-8?Q?e7dmDDbGxZL+Ez1tjvmUFOvIjZsJKc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 18:28:08.2378
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 22c7914b-3259-4150-ee1b-08dd625ccdae
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9D9.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8497

On 3/13/25 13:48, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 12, 2025 at 03:50:17PM -0400, Stewart Hildebrand wrote:
>> Xen vPCI refuses BAR writes if the BAR is mapped in p2m. If firmware
>> initialized the BAR to a bad address, Linux will try to write a new
>> address to the BAR without disabling memory decoding. Allow the write
>> by updating p2m right away in the vPCI BAR write handler.
> 
> IIRC it's only 32bit BARs that Linux will attempt to reposition
> without toggling memory decoding off.

This matches my observations as well.

> For 64bit BARs it will in
> general (unless pci_dev->mmio_always_on is set) toggle memory decoding
> off and then update the BAR registers.
> 
>>
>> Resolves: https://gitlab.com/xen-project/xen/-/issues/197
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> RFC: Currently the deferred mapping machinery supports only map or
>>      unmap, not both. It might be better to rework the mapping machinery
>>      to support unmap-then-map operations, but please let me know your
>>      thoughts.
>> RFC: This patch has not yet made an attempt to distinguish between
>>      32-bit and 64-bit writes. It probably should.
>> ---
>>  xen/drivers/vpci/header.c | 65 +++++++++++++++++++++++++++++++--------
>>  1 file changed, 53 insertions(+), 12 deletions(-)
>>
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index ef6c965c081c..66adb2183cfe 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -173,7 +173,7 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>>          ASSERT_UNREACHABLE();
>>  }
>>  
>> -bool vpci_process_pending(struct vcpu *v)
>> +static bool process_pending(struct vcpu *v, bool need_lock)
>>  {
>>      struct pci_dev *pdev = v->vpci.pdev;
>>      struct vpci_header *header = NULL;
>> @@ -182,12 +182,14 @@ bool vpci_process_pending(struct vcpu *v)
>>      if ( !pdev )
>>          return false;
>>  
>> -    read_lock(&v->domain->pci_lock);
>> +    if ( need_lock )
>> +        read_lock(&v->domain->pci_lock);
> 
> The addition of need_lock would better be done in a pre-patch.
> 
>>  
>>      if ( !pdev->vpci || (v->domain != pdev->domain) )
>>      {
>>          v->vpci.pdev = NULL;
>> -        read_unlock(&v->domain->pci_lock);
>> +        if ( need_lock )
>> +            read_unlock(&v->domain->pci_lock);
>>          return false;
>>      }
>>  
>> @@ -209,17 +211,20 @@ bool vpci_process_pending(struct vcpu *v)
>>  
>>          if ( rc == -ERESTART )
>>          {
>> -            read_unlock(&v->domain->pci_lock);
>> +            if ( need_lock )
>> +                read_unlock(&v->domain->pci_lock);
>>              return true;
>>          }
>>  
>>          if ( rc )
>>          {
>> -            spin_lock(&pdev->vpci->lock);
>> +            if ( need_lock )
>> +                spin_lock(&pdev->vpci->lock);
>>              /* Disable memory decoding unconditionally on failure. */
>>              modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
>>                              false);
>> -            spin_unlock(&pdev->vpci->lock);
>> +            if ( need_lock )
>> +                spin_unlock(&pdev->vpci->lock);
>>  
>>              /* Clean all the rangesets */
>>              for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>> @@ -228,7 +233,8 @@ bool vpci_process_pending(struct vcpu *v)
>>  
>>              v->vpci.pdev = NULL;
>>  
>> -            read_unlock(&v->domain->pci_lock);
>> +            if ( need_lock )
>> +                read_unlock(&v->domain->pci_lock);
>>  
>>              if ( !is_hardware_domain(v->domain) )
>>                  domain_crash(v->domain);
>> @@ -238,15 +244,23 @@ bool vpci_process_pending(struct vcpu *v)
>>      }
>>      v->vpci.pdev = NULL;
>>  
>> -    spin_lock(&pdev->vpci->lock);
>> +    if ( need_lock )
>> +        spin_lock(&pdev->vpci->lock);
>>      modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
>> -    spin_unlock(&pdev->vpci->lock);
>> +    if ( need_lock )
>> +        spin_unlock(&pdev->vpci->lock);
>>  
>> -    read_unlock(&v->domain->pci_lock);
>> +    if ( need_lock )
>> +        read_unlock(&v->domain->pci_lock);
>>  
>>      return false;
>>  }
>>  
>> +bool vpci_process_pending(struct vcpu *v)
>> +{
>> +    return process_pending(v, true);
>> +}
>> +
>>  static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>>                              uint16_t cmd)
>>  {
>> @@ -565,6 +579,8 @@ static void cf_check bar_write(
>>  {
>>      struct vpci_bar *bar = data;
>>      bool hi = false;
>> +    bool reenable = false;
>> +    uint32_t cmd = 0;
>>  
>>      ASSERT(is_hardware_domain(pdev->domain));
>>  
>> @@ -585,10 +601,31 @@ static void cf_check bar_write(
>>      {
>>          /* If the value written is the current one avoid printing a warning. */
>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>> +        {
>>              gprintk(XENLOG_WARNING,
>> -                    "%pp: ignored BAR %zu write while mapped\n",
>> +                    "%pp: allowing BAR %zu write while mapped\n",
>>                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> 
> If Xen now handles BARs writes with memory decoding enabled the
> message can be removed.  It's only purpose was to signal this missing
> handling.

OK

>> -        return;
>> +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
>> +            ASSERT(spin_is_locked(&pdev->vpci->lock));
>> +            reenable = true;
>> +            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
>> +            /*
>> +             * Write-while-mapped: unmap the old BAR in p2m. We want this to
>> +             * finish right away since the deferral machinery only supports
>> +             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
>> +             * be better to defer the write-while-mapped case just like regular
>> +             * BAR writes (but still only allow it for 32-bit BAR writes).
>> +             */
>> +            /* Disable memory decoding */
>> +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
> 
> I think if the guest explicitly avoids toggling memory decoding Xen
> should also to the same, and not touch the bit.

OK

>> +            /* Call process pending here to ensure P2M operations are done */
>> +            while ( process_pending(current, false) )
>> +            {
>> +                /* Pre-empted, try again */
>> +            }
> 
> I'm afraid this is not how I would expect this to be done.  We
> explicitly do the p2m modifications in a deferred context to avoid
> long running operations.  We should continue to do so to perform this
> unmap + map operation.
> 
> I think you need to introduce a way to queue an operation that will do
> a map + unmap in the deferred context processing, or signal that after
> the currently queued operation finishes a new call to modify_bars()
> should be issued.

Yep, this makes sense. Will do.

> 
> It would be nice if we had a more generic way to queue guest vCPU p2m
> (map and unmap) operations, but that's likely to require a much better
> interface than what we currently have.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 18:29:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 18:29:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913302.1319382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsnIm-0000Nw-DO; Thu, 13 Mar 2025 18:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913302.1319382; Thu, 13 Mar 2025 18:29: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 1tsnIm-0000Np-Aq; Thu, 13 Mar 2025 18:29:04 +0000
Received: by outflank-mailman (input) for mailman id 913302;
 Thu, 13 Mar 2025 18:29: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=eDg6=WA=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tsnIl-0008Kg-4y
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:29:03 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2414::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 090ec70c-0039-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 19:29:01 +0100 (CET)
Received: from BY3PR05CA0059.namprd05.prod.outlook.com (2603:10b6:a03:39b::34)
 by MN0PR12MB6247.namprd12.prod.outlook.com (2603:10b6:208:3c1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 18:28:57 +0000
Received: from CY4PEPF0000E9D8.namprd05.prod.outlook.com
 (2603:10b6:a03:39b:cafe::b9) by BY3PR05CA0059.outlook.office365.com
 (2603:10b6:a03:39b::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.29 via Frontend Transport; Thu,
 13 Mar 2025 18:28:57 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D8.mail.protection.outlook.com (10.167.241.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 18:28:56 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 13 Mar
 2025 13:28:55 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 13 Mar
 2025 13:28:55 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Thu, 13 Mar 2025 13:28:54 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 090ec70c-0039-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nvnAtkH7r9+IwQJ8IZmS5X4K7Gf6xPq8EpPpnx17VWLlmEPAdykXpbswtlVfmLORWnOAF6fSPBFPe2RUdL5A40u2djtQQxk8tiwaK0VR6l87aZHyWn8UtXruJf/bOiqrJBVyIxjG4xT15esjA1FJSabhkhCin1QhQHLeB3YXYP2yciKFND7J1pvaAbLjgZZMQCtTDzLtTji150Crj4SpjbvxIOhmf540QNCIxIDcYP4kgBIJZChNWGmtotZUfRW/LfnEAQMjiMwbT9xd5VZ0vPaYXN3ueISuMpDyYeKccoRuVwoTh2z+Nfv8GF5QtKDPtWFfDgvtUemSNO0fVHpCSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tyGmGVp2mRMlL0WSKAMgYyI6Zq0EKA9ZuDqJUwOsVWY=;
 b=Q+dgL33qPAlu7xMEOtCkbFvczlv3rTZ8hzPaOtM3ho4/BMkHpzJkI5VKarum7Ie6XKK/QZx8aze9a7W7yuJxx6d6yLpl7oBKHhKrUSlRTMLhAdFazXBgaZCs7QmuANF0e1icPRextYVEyJOTw1mlAclErsB4gevbAqRssP6P6+8PvANNU2s4B8JRlvx9uRPrfnc3Vth4dfb5KUVZrV5w+ifb/THGsQmEMRfpoH1mw3+nbAfdEgNABIzldE51QuT12hjWfLZXOVyVpnWDzZ8C2J5mehbxtBu5Y6S6Su9ld+rsZh0us7HgTXae6lVGtp7J3ewGxa2EcDB1ueutI3tgig==
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=tyGmGVp2mRMlL0WSKAMgYyI6Zq0EKA9ZuDqJUwOsVWY=;
 b=emKmKkdI2/vTjXEoWK/j89KCqJhQ0CtMZWCDt1+hQk73Joq7faqAtfTdpVAkf+nKEMOD80ZuQ8yza/BDwqXIs2DQXFCNCzy3kfovpdlFqkUup3TyD4N/xq2k6v0xSKseC/OB8IO1dA6ce7YTp+6widIPpJn5PL3QQJzZiCzryRM=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v2 0/4] Enable early bootup of Armv8-R AArch32 systems
Date: Thu, 13 Mar 2025 18:28:46 +0000
Message-ID: <20250313182850.1527052-1-ayan.kumar.halder@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: CY4PEPF0000E9D8:EE_|MN0PR12MB6247:EE_
X-MS-Office365-Filtering-Correlation-Id: b3955d8b-ef79-40d1-41ce-08dd625cea6f
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?enRvQwiCc093Dw+3joPrfyFEUwGgmlZtZO24wlMg5k2hl8TvpBN1gptlXjH4?=
 =?us-ascii?Q?f85F2RfpoFlYGiFPPik/nXc3LHCu6PMUkljbAsXZV0dMNKzwY+0Z3jMQCJer?=
 =?us-ascii?Q?0llfrbbdOeVXq4LibLurQ6yUukev0zmumyyQUf4CgOB5X55Ty8mx6SMpYImJ?=
 =?us-ascii?Q?fjhWiJ4j5cSimBaomaVXph1grnEaAA8153TwPozP0koq/Zx8QHv1kGrW9Gyk?=
 =?us-ascii?Q?S/KFClpwFONztFjn+Pk0H7avBD5EE1AfA3jQW/Q1LhnxvBe1QaoVY8pgA58t?=
 =?us-ascii?Q?7fO+bf0Ky742sF0LERYCz8FLzi3J9jSmK7KK8AYgNjlz1ZPo9iAoUoprvk03?=
 =?us-ascii?Q?K8XO9VvvzWt3trkassPU58Y/9CAWgtpGwJPNQA1lDE6JsjWEAOAXHHDIaO2D?=
 =?us-ascii?Q?E1Aj+cP2VA4mIp/cYESOkn4PZfV8dURkjWRR7otnPYRNPF19nctq3l5ScVcc?=
 =?us-ascii?Q?MQ+RqZn/EG8BsdrZJoVod/QNJPKwzo3IYMeuBYU4GSse46q8WXxmfpn9FoHR?=
 =?us-ascii?Q?LASwr/elIvkURyW74QH99FP0IJ/8STmXj2JPyXlloI0imlvRsCZD7sbvjXx4?=
 =?us-ascii?Q?yDCtUXeoJFNx+PGTjP4IlK5+6JyUH8Wl7M2jakuVg4xz0StxlVaAVHI6A/78?=
 =?us-ascii?Q?MHT+8GkpR1Veh6ttaO8rocExhrk+0R2Oukfngw0WAxYnSzM/ZOfEaW9aYaEO?=
 =?us-ascii?Q?FiSAnm2pEOILgFU6MVeZAEKW486QeiWjcMp33tSm3QsE7m8fk8n+C0jg9/gx?=
 =?us-ascii?Q?cYr3sK7gJ1dqlxgex0tR0WqxktFtKIh29yW9H/z6mOS/k1I+MX0nvfZLygJa?=
 =?us-ascii?Q?ZE6YF3lLTmliwA/diZuqS5fkMQAx+qxPZhScWzEUzUT+8YhuPYjbv12Sw1jg?=
 =?us-ascii?Q?5j/8fpPfq8NcuCBGq1qT/irV9daKf+biizBmpxPt26dOP3zANd9Vhpqzkgd7?=
 =?us-ascii?Q?O3dGOY1h8qMQevU4Sw86t08y/eHPOtUcmafQWyOhD7ZRM50gWZeaVbj2F+Ae?=
 =?us-ascii?Q?aIliDqoxL7XMGAjiBgf01iaY1n38jy8U82FtzQcp3biA2MJ2nQqyQP/Qa2/Z?=
 =?us-ascii?Q?E+N1WJO0lkkd7W4QhwRpSeTLpEXG2Hcmc+QKKd3AXtO7h1NL//tv3tBV/doJ?=
 =?us-ascii?Q?oje46ihwQvC4diZCunMPjaRFuOp2OGnzyGA0jz8QXuzKo9X8k4ZZ9DDWaiAR?=
 =?us-ascii?Q?T54CQK5y9k8+IgxEp/MVSV3GxGphpWz3t7jh0IsiS/ykyqp0Cu/E/NzejdmX?=
 =?us-ascii?Q?ukB9mY0xsDB6+9CfpESfHez/1d+KjGtzKaULZ426DK6vD9feIGn2WMAMlU5V?=
 =?us-ascii?Q?zlTZ+GJYi+PNfWy1mdGHnKXcTWFJvyEX8EWIad2AKPYPBJKiOs4cvq08wDIU?=
 =?us-ascii?Q?cpnYKZeqPu94EpDdCyNS+BeEbjEtFOKBPGO1bxD1DiMy0DEX+5B6hj4w/H+y?=
 =?us-ascii?Q?V4qv3ize8JXDyBbTXmCCKuJfrZzUgiZe?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 18:28:56.4589
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b3955d8b-ef79-40d1-41ce-08dd625cea6f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9D8.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6247

Enabled early booting of Armv8-R AArch32 based systems.

This patch serie with
https://patchwork.kernel.org/project/xen-devel/list/?series=943154 and
https://gitlab.com/xen-project/people/ayankuma/xen/-/commit/b407e5713c619821f3f5a55da65d4f8f380c3778

will enable build on Xen on Armv8-R AArch32 for MPU.

The current patch serie does *not* conflict with the other serie. Thus, any of
them can be committed in any order.

Ayan Kumar Halder (3):
  xen/arm32: Initialize MM specific registers in enable_mmu
  xen/arm32: mpu: Create boot-time MPU protection regions
  xen/arm32: mpu: Implement a dummy enable_secondary_cpu_mm

Michal Orzel (1):
  xen/arm32: Allow ARM_PA_BITS_40 only if !MPU

 xen/arch/arm/Kconfig                  |   2 +-
 xen/arch/arm/arm32/Makefile           |   1 +
 xen/arch/arm/arm32/head.S             |  14 --
 xen/arch/arm/arm32/mmu/head.S         |  15 +++
 xen/arch/arm/arm32/mpu/Makefile       |   1 +
 xen/arch/arm/arm32/mpu/head.S         | 180 ++++++++++++++++++++++++++
 xen/arch/arm/include/asm/cpregs.h     |   4 +
 xen/arch/arm/include/asm/mpu/cpregs.h |  21 +++
 8 files changed, 223 insertions(+), 15 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mpu/Makefile
 create mode 100644 xen/arch/arm/arm32/mpu/head.S
 create mode 100644 xen/arch/arm/include/asm/mpu/cpregs.h

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 18:29:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 18:29:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913307.1319392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsnIz-0000jO-LB; Thu, 13 Mar 2025 18:29:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913307.1319392; Thu, 13 Mar 2025 18:29: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 1tsnIz-0000jH-IN; Thu, 13 Mar 2025 18:29:17 +0000
Received: by outflank-mailman (input) for mailman id 913307;
 Thu, 13 Mar 2025 18:29: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=eDg6=WA=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tsnIy-0008Kg-F7
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:29:16 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2060f.outbound.protection.outlook.com
 [2a01:111:f403:240a::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0fda7c50-0039-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 19:29:14 +0100 (CET)
Received: from DS7PR03CA0163.namprd03.prod.outlook.com (2603:10b6:5:3b2::18)
 by SJ1PR12MB6194.namprd12.prod.outlook.com (2603:10b6:a03:458::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar
 2025 18:29:09 +0000
Received: from CY4PEPF0000E9DA.namprd05.prod.outlook.com
 (2603:10b6:5:3b2:cafe::d6) by DS7PR03CA0163.outlook.office365.com
 (2603:10b6:5:3b2::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 18:29:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9DA.mail.protection.outlook.com (10.167.241.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 18:29:08 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 13 Mar
 2025 13:29:07 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 13 Mar
 2025 13:29:07 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Thu, 13 Mar 2025 13:29:06 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fda7c50-0039-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oCFvWpulTSSjbV7mbtzh12sEK7VnF9TqIR5yrxZXM3Qnt5OUBsLbuN3mTdnlEFntuLW4nh0f7kU3XzJpfUwImfJlLPa5e28Qfpuyt/D9advW7+0wwkNjdgKiivxUq0g+mp7FJX516tQpzXKQux1FXod6W8iMmeNU1dOgKxZxAd8h+kx1qDuLNjDf+Qifu6Hphk6C/CYaeshq5YoALyxWNVhzU5Ewt4X/nO3GRDd0Yeis6IQGJ8vgbuwjfVuoyeftfm/rwuQYwG1vey9+3Oqt0ZqlZ7QRLkmWtInE0iKNeV9soIZNpVnTkYc/gYzGkvdWlXutTBFG18Qsbf9pPWO7LA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=elh3r0PaEr5sJhWQvQbG1ywMmlz4cKftNHjTNQEPGrY=;
 b=U5/nkBseGoY5Yc7SirFea0gcdWsJ446lklfGShZpoIBZZxSCkZ1tBOSH13drSKhC/KKICn/QqRuLYDkW4FdyLNqszbJbMLdJLOoBjy69JlQ/xzoI+Oio8SOyWvDHD3lAzejbm6444T7Zcn181A4qpxfwl33GjjyzcVPRnXu/Zmv0Iucsw8EWyTVD9pwpEskLA4K8kXajcvgiFthMt9KHv/sffs1jFnt3UkJxFOAL9PqpTfSEhs4IpYkijvacO315qAFaxJClUibtoePY9MRglezxU8iPURKuAO49PgBzk7Fmf8eBsz15qWFgOgCcYLp/vhA4EZLD3Ythsc0xhNjueA==
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=elh3r0PaEr5sJhWQvQbG1ywMmlz4cKftNHjTNQEPGrY=;
 b=k1XDb8EDepB+Ia7/23U2piGsNJUHJBS1+cI24zlXLUpPEiFPf3LEZNDBgt1Tmht8vIG6sXvsN2vyGOQwh9hMl9pDg6znZkTAh6bHzwYNSFo9E+zvSJsKdjnCfscS76/rKEm3ZU56yvMt+KUfvit0f+DJBoNzxMJudPdtjeG+NaY=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v2 1/4] xen/arm32: Initialize MM specific registers in enable_mmu
Date: Thu, 13 Mar 2025 18:28:47 +0000
Message-ID: <20250313182850.1527052-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
References: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DA:EE_|SJ1PR12MB6194:EE_
X-MS-Office365-Filtering-Correlation-Id: a435c073-413a-489d-e89e-08dd625cf1b7
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:
	=?us-ascii?Q?we/x794P0YQhA8B+jYNq25pBXZH/D7W9ng//JvL6nf8TKPtM1nbMnT1n2bOF?=
 =?us-ascii?Q?X9RQqn3dAWE2QhFB8guSYDBELICyoGaOLSaIksL4Nt9zIiBxQby5dEfHw1JE?=
 =?us-ascii?Q?Rep8YphxYWjQB24W96gKWUdxUsKC62TJmAWrrqMUq1zcF7M4R3R1pJLX5e/K?=
 =?us-ascii?Q?O39Ro15awqEDhP7FLcdHof9dwr15MaoBXXZlWIABnRTpKDPX3+dRb/+HwDBc?=
 =?us-ascii?Q?Vw5JB2RIAyIMOZL0tqkABEZd6M0ouDB8xyja0ZzxT+QstCjTQRgFdJkig9tE?=
 =?us-ascii?Q?HzChEmZDsEwJbAY3NTZ2L89yNZ0pzOGlvEceyo9a9mJUTuR6Rr5VCOY+F8/M?=
 =?us-ascii?Q?JzNcZ6Rv+e8OYQd6agOMjKBqbRB+sPv8r3/pkLbohx+zDodIASkHC3wn7a8v?=
 =?us-ascii?Q?7D8tPO93Wgbxlo1/cbJLKXPo7nplAovixzLDA7GoBdDiar2oN8QhjyQwfI6R?=
 =?us-ascii?Q?BHHPgx5qAACNdol5yUm+X12kHWSxTTXP2kIF89SuTCH9QNhkEjOWV7kMpno2?=
 =?us-ascii?Q?0BeFoP0VGYiGTYVv5bK/kYjXz2Wf2byNyOE3BDJbSZFEoQbrWtE/KkE30Ijd?=
 =?us-ascii?Q?SDQvmDQJn7j4xUjn1H0lBeiAs/tY4M5QyEGJRtMnadL/XpMqcxog1kT5NtJe?=
 =?us-ascii?Q?7clYa+OskbsAj0lUQQ28ja14r1bUjJ1zh+vJOO+09loZaZlbyJdjvKVJ5ooJ?=
 =?us-ascii?Q?0QMJ12IP0zfPl+w++UfxRSqncy0GieqirHyg9TT0xZ0KOwC5/3yP/HpnANkW?=
 =?us-ascii?Q?VATzczcTHWQg7cAgnDCQQhyo9pdkXbvlnUuvEvZgyBBb/QDAEw95kXFo1C7G?=
 =?us-ascii?Q?P+PCBd3mG2Iql3LL5CQf0+4fmFpjXp6+Q0d4geaBGumy7ACekYvLIJwcsPfz?=
 =?us-ascii?Q?Dz9td/WWV2UPq2erSGD+mJlwW5+tjyyYZIziMsKaGYkUUSSijMkeY+PpupXQ?=
 =?us-ascii?Q?Kz++Z2QmuZxRfykms0VyZ0yN31eG680y3jojVVCj+Jtv+en+mcvSfoSLwp84?=
 =?us-ascii?Q?KMCwiiUAvyug7KMQDc/HxMx0ugugfrUsPU5JP8XjqeTkm/LBoAZZRFKOfYjq?=
 =?us-ascii?Q?MXv5n0/Gto6y90qVfW4a5Zc5uwOUwWeTYk5jJY2ySsL8/0SxbOKZfaIJbvY1?=
 =?us-ascii?Q?z6aj/Df+IXVJznMlNRt+Ax48SpjAS3gr1yXzDEjiGNdHkerrzPkFazFQGGdv?=
 =?us-ascii?Q?RN0r4IDspkFVCW/ie54k2BmbwBhWzBqMym2e5+EK+bKUynacM0ornceiBg/N?=
 =?us-ascii?Q?RiAV7HDfLMnT/yTqbCStLTEXNVf01fJKsLw9V+0Izc6EEjwphjc9i8tVh/r4?=
 =?us-ascii?Q?OY/SxA1ex7h/RCQI+afC7s6B01X+r0U0YBJmdePtQuihpEl9Y6U7oylH/nHU?=
 =?us-ascii?Q?J+yX6iZAD9LAx4KJkUNblSVZpI4fWVHtfST8kYp/YLsfY4RaWa8hVBp0dE7X?=
 =?us-ascii?Q?d+wnf2A9NtsjdgEE2DcnGdqxIKA+luck3yim+Xf6j7Qfv0vGF/SSgQ=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 13 Mar 2025 18:29:08.6947
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a435c073-413a-489d-e89e-08dd625cf1b7
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9DA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6194

All the memory management specific registers are initialized in enable_mmu.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -

v1 - HTCR and HMAIR{0,1} are not set together with the other memory management
registers in enable_mmu()

Similar changes are to be done in arm64 as well. I prefer to do that in a
separate patch so that all the arm32 changes are kept together in this series.

 xen/arch/arm/arm32/head.S     | 14 --------------
 xen/arch/arm/arm32/mmu/head.S | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 4ff5c220bc..50da179f81 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -218,20 +218,6 @@ cpu_init:
         add   pc, r1, r10                   /* Call paddr(init func) */
 
 cpu_init_done:
-        /* Set up memory attribute type tables */
-        mov_w r0, MAIR0VAL
-        mov_w r1, MAIR1VAL
-        mcr   CP32(r0, HMAIR0)
-        mcr   CP32(r1, HMAIR1)
-
-        /*
-         * Set up the HTCR:
-         * PT walks use Inner-Shareable accesses,
-         * PT walks are write-back, write-allocate in both cache levels,
-         * Full 32-bit address space goes through this table.
-         */
-        mov_w r0, (TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
-        mcr   CP32(r0, HTCR)
 
         mov_w r0, HSCTLR_SET
         mcr   CP32(r0, HSCTLR)
diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S
index 1e2bbf0c82..8fa74bd556 100644
--- a/xen/arch/arm/arm32/mmu/head.S
+++ b/xen/arch/arm/arm32/mmu/head.S
@@ -279,6 +279,21 @@ ENDPROC(create_page_tables)
 enable_mmu:
         PRINT("- Turning on paging -\r\n")
 
+        /* Set up memory attribute type tables */
+        mov_w r0, MAIR0VAL
+        mov_w r1, MAIR1VAL
+        mcr   CP32(r0, HMAIR0)
+        mcr   CP32(r1, HMAIR1)
+
+        /*
+         * Set up the HTCR:
+         * PT walks use Inner-Shareable accesses,
+         * PT walks are write-back, write-allocate in both cache levels,
+         * Full 32-bit address space goes through this table.
+         */
+        mov_w r0, (TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
+        mcr   CP32(r0, HTCR)
+
         /*
          * The state of the TLBs is unknown before turning on the MMU.
          * Flush them to avoid stale one.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 18:29:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 18:29:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913316.1319403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsnJA-0001Dg-15; Thu, 13 Mar 2025 18:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913316.1319403; Thu, 13 Mar 2025 18:29: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 1tsnJ9-0001DU-UW; Thu, 13 Mar 2025 18:29:27 +0000
Received: by outflank-mailman (input) for mailman id 913316;
 Thu, 13 Mar 2025 18:29: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=eDg6=WA=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tsnJ8-0000C7-JN
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:29:26 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20624.outbound.protection.outlook.com
 [2a01:111:f403:2413::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16859ee6-0039-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 19:29:25 +0100 (CET)
Received: from SJ0PR03CA0371.namprd03.prod.outlook.com (2603:10b6:a03:3a1::16)
 by MN6PR12MB8567.namprd12.prod.outlook.com (2603:10b6:208:478::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 18:29:19 +0000
Received: from CY4PEPF0000E9DB.namprd05.prod.outlook.com
 (2603:10b6:a03:3a1:cafe::29) by SJ0PR03CA0371.outlook.office365.com
 (2603:10b6:a03:3a1::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 18:29:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9DB.mail.protection.outlook.com (10.167.241.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 18:29:18 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 13 Mar
 2025 13:29:17 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Thu, 13 Mar 2025 13:29:16 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16859ee6-0039-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HhPoZ1LfXgaPFWQ1YHi8w7EwonEsfufueRgBDw8SlAdUPQpK6wXc8dSTOE4wt+vk0PKABQ2M8iGJ4PPHvr7/GEOAhkMVC7gzPJi12zyG7TjlbCIr+iqcJh0K8W6gQEMNhgPHJ/nQFFxx+j0XGBqgBAJx1N13vgaYxsQKlIAXvQ2zk1Y1z/L2jI1aXPgMObNuokagRGL2BWAM+spEX1XEuYH8fZ+gfpgT7rPmJQ/s48xlYIyAlnouwOUOv3duewYK2hSnuvm75dn9eypd4U8TEVtjLQOCSgiflm4hejyA6MZ75LpDz9hHoGWF1mkUuC5ZVltgp7nMO8943YXyhvRlig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lT0zQIQfczAnNHAJQjNV4E1F5eVICWQuwL4lXJiKe2I=;
 b=ZMseXnKS67Bn+kw00GBp1Mmv3y1RXkbun7j5vs8eyP646z3ycMLE+cLzoG7tmkBS2Xwz7dzSpcfOmZAn+G+q4rPrMr6+xIjLca3wr4lCVmQ+IxRf/Nqityrex7qeVQzp5kbgo9jrxp4hFhPqW40dt1Oacya3K9CALXm3io8cpnHo9tP3HeJWReU9cwInPEHHPX2fncwe/deG5xtR19JOiAFHRoj+u/gMlOD2V37FfHlawGQ8m8cHnOOf4/FT7px52RGW+pU9Yq4truQVErgrbc8z8iVfhQ4DHCePsZ9ipCy6hYoD6p2RH5XJhewaHGDPhxTpvvYnZO92lmJjzUP90w==
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=lT0zQIQfczAnNHAJQjNV4E1F5eVICWQuwL4lXJiKe2I=;
 b=EMmXPsRNIiEAh9e21kJ76y3SvtPtD81zrGM2zBp9cqWLQuWdzk6vHLesf8+TYyDaWr10Jqzy8FZwLRs2omhB3xXz+MPTiyF0l6TLmOlYVxf4I3aVAsJxk/sVop9az0kGJphalCbrAYdT6O/NPZ0OldR0min5xYGe6f/dGt57pEY=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v2 2/4] xen/arm32: mpu: Create boot-time MPU protection regions
Date: Thu, 13 Mar 2025 18:28:48 +0000
Message-ID: <20250313182850.1527052-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
References: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DB:EE_|MN6PR12MB8567:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c82c922-23ca-4a85-c943-08dd625cf7c6
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:
	=?us-ascii?Q?9OzXtZ8yXP8uabH/weyYxeeRRy00s1l4u6pfj38FapK+QhVsO88DPwEAtLE8?=
 =?us-ascii?Q?6t73iA2TcA4jX31HB5HZJacimYGDTGi2mkj0/vuh9QbBWos4JjasR02CxLw9?=
 =?us-ascii?Q?suj6/ViYeHPogVb0okc/vyKEXl6dtA/WEfwI/drSnF08Ai0BevhVTEykY0SD?=
 =?us-ascii?Q?sxve80zUF2r6q9rEhN3+OdZWVcSOB5sYDg7e1F2dv+yz3YTEibzW1He6J7x9?=
 =?us-ascii?Q?Qf4UpEvODKfZY52+w9JnOhK6LSb9wtos/2CF2jVO1h6W9QTiaP5rJuHz/6XM?=
 =?us-ascii?Q?Hd8W2S2AGywvjPvYOQyNF8IrYEnNkOwhU4I2bfrhR6H+1zN+JllnoE+SxWd1?=
 =?us-ascii?Q?RWOsfU6hdvhXojo7khiCj434+PoeXjeAGfTITvdFFeZozk1fhDRl9E/gps8r?=
 =?us-ascii?Q?qAtoUtoSdWeFlWWhXZV/VRr4aTro2m62jRSUO/Ll8UJgPGVaMIy5G1en7xtb?=
 =?us-ascii?Q?sklLfW/cBFN5y2t6Ta9txPZ5cozGwRn7RUEDJTXUVgiKCBYW/mypNVIuSgdT?=
 =?us-ascii?Q?f1YvgbCFsN0wyi37xkV4fmoWSDNji56skhEojlArUO0qjc+fa6sEpoa5G+34?=
 =?us-ascii?Q?YojAnp0GFqX3IkeJBiq+974vRh2p2MsVPiLBDDpKc6cXmrGovDWKUEgdB0TT?=
 =?us-ascii?Q?qhinqNNC18pG+EbNVo7eWi3JEI+3HJUTuEXCYlziO/A2/NY1iTAAmkZs/wou?=
 =?us-ascii?Q?QVk43E2QpB8nM49Xu412dXHLNtockh4YfOOhrR7FKopVbHSp/W6moiMnW/di?=
 =?us-ascii?Q?j4HLRVQoH2XqIxS0mq4G9u5mNx//opYfbQ1S5VYnRIaS1GygnztN6I4iELiK?=
 =?us-ascii?Q?bkWgAtEZmsooAR0ba2+yAmOI1XLWzdjJLHvd6z+KjnwUNOV/hk91NZtnGjqZ?=
 =?us-ascii?Q?eHEuUSCUrsMchX3BGQbYj3QM63ycQt8/S4edFZukuVQH5v4xn3rd4lFFf/fK?=
 =?us-ascii?Q?hr05RVtKZxtbliGg7yiFRO3rd2ATjGVKs+7iTic4TS1lYlrcXSuXSG/UF4c0?=
 =?us-ascii?Q?cSumbdVPb/PCiMNKICr9P4XswE1hfV8qa0oSxYQdCExsUyhDVgVQY8J9BJDv?=
 =?us-ascii?Q?QqTDoG4e3Tee1ugp+d/IW5sxmQBNcdRgznQTBIELun6fb8TLpktrHFfub1Ng?=
 =?us-ascii?Q?A4jnymXPE+oA3YmoXujDvyg0annIswR0/zAWNYbWxoK5Zs2IuzLeYlYQBw5h?=
 =?us-ascii?Q?5x/m3RquSvfMTP93u2K/sjrQMc3dYusovFivXqyU0F1UX5nAQPs2IHEXKJke?=
 =?us-ascii?Q?t04LxVCt617eZCoAE/ONVBs11jD2Jkk32z0vXb6RXwV0fXKJYWdYkpeUGF6U?=
 =?us-ascii?Q?zFShFmpi6BlyRiF0TbY6AxBhHV+sUepV+k51OpWXTuZ1+kB+SJj+IA8kqNJs?=
 =?us-ascii?Q?CqlP51fDMkB2/rW4EstEAl5nGzBdqmVKDoM3ItPheyaCVa4QcfGFSGNf4WF4?=
 =?us-ascii?Q?TQXDfRSP3i8y8QCKCSowNdAc24BXno2rUGbTWo5EPsJzn++GbxES0g=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 13 Mar 2025 18:29:18.8429
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c82c922-23ca-4a85-c943-08dd625cf7c6
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9DB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8567

Define enable_boot_cpu_mm() for the Armv8-R AArch32.

Like boot-time page table in MMU system, we need a boot-time MPU protection
region configuration in MPU system so Xen can fetch code and data from normal
memory.

To do this, Xen maps the following sections of the binary as separate regions
(with permissions) :-
1. Text (Read only at EL2, execution is permitted)
2. RO data (Read only at EL2)
3. RO after init data and RW data (Read/Write at EL2)
4. Init Text (Read only at EL2, execution is permitted)
5. Init data and BSS (Read/Write at EL2)

Before creating a region, we check if the count exceeds the number defined in
MPUIR_EL2. If so, then the boot fails.

Also we check if the region is empty or not. IOW, if the start and end address
are same, we skip mapping the region.

One needs to set up HMAIR0 and HMAIR1 registers in enable_mpu(). The register
configurations are the same as in enable_mmu().

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from

v1 -

1. enable_mpu() now sets HMAIR{0,1} registers. This is similar to what is
being done in enable_mmu(). All the mm related configurations happen in this
function.

2. Fixed some typos.

 xen/arch/arm/arm32/Makefile           |   1 +
 xen/arch/arm/arm32/mpu/Makefile       |   1 +
 xen/arch/arm/arm32/mpu/head.S         | 170 ++++++++++++++++++++++++++
 xen/arch/arm/include/asm/cpregs.h     |   4 +
 xen/arch/arm/include/asm/mpu/cpregs.h |  21 ++++
 5 files changed, 197 insertions(+)
 create mode 100644 xen/arch/arm/arm32/mpu/Makefile
 create mode 100644 xen/arch/arm/arm32/mpu/head.S
 create mode 100644 xen/arch/arm/include/asm/mpu/cpregs.h

diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
index 40a2b4803f..537969d753 100644
--- a/xen/arch/arm/arm32/Makefile
+++ b/xen/arch/arm/arm32/Makefile
@@ -1,5 +1,6 @@
 obj-y += lib/
 obj-$(CONFIG_MMU) += mmu/
+obj-$(CONFIG_MPU) += mpu/
 
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
 obj-y += domctl.o
diff --git a/xen/arch/arm/arm32/mpu/Makefile b/xen/arch/arm/arm32/mpu/Makefile
new file mode 100644
index 0000000000..3340058c08
--- /dev/null
+++ b/xen/arch/arm/arm32/mpu/Makefile
@@ -0,0 +1 @@
+obj-y += head.o
diff --git a/xen/arch/arm/arm32/mpu/head.S b/xen/arch/arm/arm32/mpu/head.S
new file mode 100644
index 0000000000..40648ce1a8
--- /dev/null
+++ b/xen/arch/arm/arm32/mpu/head.S
@@ -0,0 +1,170 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Start-of-day code for an Armv8-R MPU system.
+ */
+
+#include <asm/arm32/sysregs.h>
+#include <asm/early_printk.h>
+#include <asm/page.h>
+
+/* Backgroud region enable/disable */
+#define SCTLR_ELx_BR    BIT(17, UL)
+
+#define REGION_TEXT_PRBAR       0x18    /* SH=11 AP=10 XN=0 */
+#define REGION_RO_PRBAR         0x1D    /* SH=11 AP=10 XN=1 */
+#define REGION_DATA_PRBAR       0x19    /* SH=11 AP=00 XN=1 */
+#define REGION_DEVICE_PRBAR     0x11    /* SH=10 AP=00 XN=1 */
+
+#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
+#define REGION_DEVICE_PRLAR     0x09    /* NS=0 ATTR=100 EN=1 */
+
+/*
+ * Macro to prepare and set a EL2 MPU memory region.
+ * We will also create an according MPU memory region entry, which
+ * is a structure of pr_t,  in table \prmap.
+ *
+ * sel:         region selector
+ * base:        reg storing base address
+ * limit:       reg storing limit address
+ * prbar:       store computed PRBAR_EL2 value
+ * prlar:       store computed PRLAR_EL2 value
+ * maxcount:    maximum number of EL2 regions supported
+ * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
+ *              REGION_DATA_PRBAR
+ * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
+ *              REGION_NORMAL_PRLAR
+ *
+ * Preserves \maxcount
+ * Output:
+ *  \sel: Next available region selector index.
+ * Clobbers \base, \limit, \prbar, \prlar
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
+    /* Check if the region is empty */
+    cmp   \base, \limit
+    beq   1f
+
+    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
+    cmp   \sel, \maxcount
+    bge   fail_insufficient_regions
+
+    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
+    and   \base, \base, #MPU_REGION_MASK
+    mov   \prbar, #\attr_prbar
+    orr   \prbar, \prbar, \base
+
+    /* Limit address should be inclusive */
+    sub   \limit, \limit, #1
+    and   \limit, \limit, #MPU_REGION_MASK
+    mov   \prlar, #\attr_prlar
+    orr   \prlar, \prlar, \limit
+
+    mcr   CP32(\sel, PRSELR_EL2)
+    isb
+    mcr   CP32(\prbar, PRBAR_EL2)
+    mcr   CP32(\prlar,  PRLAR_EL2)
+    dsb   sy
+    isb
+
+    add   \sel, \sel, #1
+
+1:
+.endm
+
+/*
+ * Failure caused due to insufficient MPU regions.
+ */
+FUNC_LOCAL(fail_insufficient_regions)
+    PRINT("- Selected MPU region is above the implemented number in MPUIR_EL2 -\r\n")
+1:  wfe
+    b   1b
+END(fail_insufficient_regions)
+
+/*
+ * Enable EL2 MPU and data cache
+ * If the Background region is enabled, then the MPU uses the default memory
+ * map as the Background region for generating the memory
+ * attributes when MPU is disabled.
+ * Since the default memory map of the Armv8-R AArch32 architecture is
+ * IMPLEMENTATION DEFINED, we intend to turn off the Background region here.
+ *
+ * Clobbers x0
+ *
+ */
+FUNC_LOCAL(enable_mpu)
+    /* Set up memory attribute type tables */
+    mov_w r0, MAIR0VAL
+    mov_w r1, MAIR1VAL
+    mcr   CP32(r0, HMAIR0)
+    mcr   CP32(r1, HMAIR1)
+
+    mrc   CP32(r0, HSCTLR)
+    bic   r0, r0, #SCTLR_ELx_BR       /* Disable Background region */
+    orr   r0, r0, #SCTLR_Axx_ELx_M    /* Enable MPU */
+    orr   r0, r0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
+    mcr   CP32(r0, HSCTLR)
+    isb
+
+    ret
+END(enable_mpu)
+
+/*
+ * Maps the various sections of Xen (decsribed in xen.lds.S) as different MPU
+ * regions.
+ *
+ * Clobbers r0
+ *
+ */
+
+FUNC(enable_boot_cpu_mm)
+    /* Get the number of regions specified in MPUIR_EL2 */
+    mrc   CP32(r5, MPUIR_EL2)
+    and   r5, r5, #NUM_MPU_REGIONS_MASK
+
+    /* x0: region sel */
+    mov   r0, #0
+
+    /* Xen text section. */
+    ldr   r1, =_stext
+    ldr   r2, =_etext
+    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_TEXT_PRBAR
+
+    /* Xen read-only data section. */
+    ldr   r1, =_srodata
+    ldr   r2, =_erodata
+    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_RO_PRBAR
+
+    /* Xen read-only after init and data section. (RW data) */
+    ldr   r1, =__ro_after_init_start
+    ldr   r2, =__init_begin
+    prepare_xen_region r0, r1, r2, r3, r4, r5
+
+    /* Xen code section. */
+    ldr   r1, =__init_begin
+    ldr   r2, =__init_data_begin
+    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_TEXT_PRBAR
+
+    /* Xen data and BSS section. */
+    ldr   r1, =__init_data_begin
+    ldr   r2, =__bss_end
+    prepare_xen_region r0, r1, r2, r3, r4, r5
+
+#ifdef CONFIG_EARLY_PRINTK
+    /* Xen early UART section. */
+    ldr   r1, =CONFIG_EARLY_UART_BASE_ADDRESS
+    ldr   r2, =(CONFIG_EARLY_UART_BASE_ADDRESS + CONFIG_EARLY_UART_SIZE)
+    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
+#endif
+
+    b    enable_mpu
+    ret
+END(enable_boot_cpu_mm)
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
index aec9e8f329..6019a2cbdd 100644
--- a/xen/arch/arm/include/asm/cpregs.h
+++ b/xen/arch/arm/include/asm/cpregs.h
@@ -1,6 +1,10 @@
 #ifndef __ASM_ARM_CPREGS_H
 #define __ASM_ARM_CPREGS_H
 
+#ifdef CONFIG_MPU
+#include <asm/mpu/cpregs.h>
+#endif
+
 /*
  * AArch32 Co-processor registers.
  *
diff --git a/xen/arch/arm/include/asm/mpu/cpregs.h b/xen/arch/arm/include/asm/mpu/cpregs.h
new file mode 100644
index 0000000000..bd17a8c75a
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/cpregs.h
@@ -0,0 +1,21 @@
+#ifndef __ASM_ARM_MPU_CPREGS_H
+#define __ASM_ARM_MPU_CPREGS_H
+
+#define HMPUIR          p15,4,c0,c0,4
+
+/* CP15 CR6: MPU Protection Region Base/Limit/Select Address Register */
+#define HPRSELR         p15,4,c6,c2,1
+#define PRBAR_EL2       p15,4,c6,c3,0
+#define PRLAR_EL2       p15,4,c6,c8,1
+
+#define MPUIR_EL2               HMPUIR
+#define PRSELR_EL2              HPRSELR
+
+#endif
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 18:32:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 18:32:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913336.1319412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsnLr-0003rl-Dl; Thu, 13 Mar 2025 18:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913336.1319412; Thu, 13 Mar 2025 18:32: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 1tsnLr-0003re-Ag; Thu, 13 Mar 2025 18:32:15 +0000
Received: by outflank-mailman (input) for mailman id 913336;
 Thu, 13 Mar 2025 18:32: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=eDg6=WA=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tsnJN-0008Kg-Dd
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:29:41 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20623.outbound.protection.outlook.com
 [2a01:111:f403:2414::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f522949-0039-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 19:29:39 +0100 (CET)
Received: from DS7PR03CA0172.namprd03.prod.outlook.com (2603:10b6:5:3b2::27)
 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.8511.28; Thu, 13 Mar
 2025 18:29:33 +0000
Received: from CY4PEPF0000E9DA.namprd05.prod.outlook.com
 (2603:10b6:5:3b2:cafe::86) by DS7PR03CA0172.outlook.office365.com
 (2603:10b6:5:3b2::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Thu,
 13 Mar 2025 18:29:33 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9DA.mail.protection.outlook.com (10.167.241.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 18:29:33 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 13 Mar
 2025 13:29:32 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 13 Mar
 2025 13:29:32 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Thu, 13 Mar 2025 13:29:31 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f522949-0039-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=knPN3K+pHdd7X5n3AiAb0VY8wgRkMrQQELE9nl2bl6U5qKtg9YClLD6msFZV9yCpUdtfgO+Uk1WT7vgGk5QRDjo3qQE0wwBtFli1J4GRXNexexhtQ4/WzfzdAhZ/rKhwtuYGjZibStZHREaFR7RqfrQZfnXawFczD3ikUKS8UMz/Y8+/dx4j0DYG42ciqq1Bb4Bqx6bY2peKV6NNYrAeuMtyM6DKjrCB/+NOqdzC3KN4VspqDIojZDTcXPUTfuh8uKIYNzcy1RCbkcOHzqOk08gvRciccFROVOhF/xhCOoib4UHipnOF37GlI/NVWBDT0KN4Aj15twjr5IbtzkodPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rCCB+2kdz1MjvDwvxyZl5nJ4nx3YF7CxXAPxwOHJhLg=;
 b=kYm0X7AcKkit335bwC0aKn9a6h19XtgDQPZZ1v8cpGDUlbOOzgnKngBrs4oYbZkHHrKZ0kS+xuGd9CgpMrS7r1EHnzdsYitizRSdAx3H748pUWpW/9WIjspJY8RnSMf2chDL8UB3SHIYJfNsjHUH4PyDL/agPyBwmlIHp6B3CAmGGyY3nMRrr1fW+nHXday7uNpse84jiL+pqq6fAn0P9YLDX0Pc9yMusZCFb9wHfY/BqWWszuajUojVG4KCQkl3A6oiKI3eYqX3KIamC6CZn7oNA/rQU7fk+So3JiVJAp1R//fP6N4EKttoP8CD5lfq1cMzqtQbHWbUdGDyereQVw==
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=rCCB+2kdz1MjvDwvxyZl5nJ4nx3YF7CxXAPxwOHJhLg=;
 b=gNSaUugbey0sVX2RBgYHpU3JsNNATZPgasdSJCDbz5OoihaSIFLDZug2UDWxRLiHiJLGxTlm5j11q6/SJmaNoBrbORNJUoGZkPzTo08y5IvtSjxn4tiw/uXpeQ1BYe7g3fM0Pg9j9z3/8uWABCOMLO5SgfWCaae3WPOI8dBwf4I=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>, Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v2 3/4] xen/arm32: mpu: Implement a dummy enable_secondary_cpu_mm
Date: Thu, 13 Mar 2025 18:28:49 +0000
Message-ID: <20250313182850.1527052-4-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
References: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DA:EE_|DS0PR12MB8767:EE_
X-MS-Office365-Filtering-Correlation-Id: a76572db-4956-4f8c-7580-08dd625d0097
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?5AaCStyoJ0dsOtfk417GouM3uAvNsbD3gG6gqR/6FtmCcbXIglXX6n1uXTV2?=
 =?us-ascii?Q?DKth/OM74AHMGnpcdWlsbkF4UVJRCVhUhZ3AzGQOUoSLaK0sKpmV3SW8IxAK?=
 =?us-ascii?Q?YSAI/aTs6AnT29ecrnVox+G96o2kUVFW6WZ2AMXH7AvyECTmZJlin5dr+TTh?=
 =?us-ascii?Q?VFHBMVM9izMwggM6piyWXkf3ybFOdMi75Y56IKQuUYV8nJRsfMCSZz5BZCW3?=
 =?us-ascii?Q?qEZ+Z9yUiapdVa8G3fPSwzP8IUsF4urfndXOGJVkUgM3ZGXOewlaF9EYYnNp?=
 =?us-ascii?Q?0tl13ICCJLK/v3dLD5QNiyKehL+wxnls5ZxL5XdQx6XMpJsgBK58JYRSc61F?=
 =?us-ascii?Q?fryiQoTnPxFVjWF8UuGttwFYypaCJA7S1OIGHTxo85/jS5FaihxEi9PXNsHL?=
 =?us-ascii?Q?dyqIjG9xKpgcP9BZyQvH1Ki/7jt6j65pkEUIVw6TIEbONsF/P/lQaMbBrec8?=
 =?us-ascii?Q?BvsV6VegdhXj+C65a6vxHEVRMpd1ehs1FpSejt9PkeUqamgLNgx93uPjOKVJ?=
 =?us-ascii?Q?XIH8JmdjKe8OMZxhZuIMjYGF/ZV7vRa1YIEm1hSep5tpjC5hPu9GkuBd1cjT?=
 =?us-ascii?Q?/EVFylOJIMpDV6wkWRTGQXEz5aor1sj0GI7iYBOeGI7Y0xjDkvF3uEwWepnW?=
 =?us-ascii?Q?zTk0Tr9+cT4kndL5/UwQ68NThn7VLZmIzgwBr8bSSPkYYFcgSE3SqSJ7v9hM?=
 =?us-ascii?Q?/UU126OfIOFgl23osfM7e6HKVynrdXlHpBOtM21N3dxxhGv+lBkYe1N8K17I?=
 =?us-ascii?Q?mhgt73ISMVvzIbMTieGE0+DCvf8Y5nqYSGI4iRLPL+D1KsyH+bdNYILiLRSV?=
 =?us-ascii?Q?0+vhAeAl8hZRi5rYHJyhC1ibjonAZaXCTMD4/AWHwmRYHj9K/eZK5MepfhFj?=
 =?us-ascii?Q?kBo6rPROXQVJMtJ+EgNnjCrhJyveQr6B5NfFlGAkEe3EMP7ENKwxPNGW/G2T?=
 =?us-ascii?Q?tAkqBqxwJLZXE2OB5oW7Q71qO3O+wIUFfDT8glmmpDsAqmYX1zAlKGCfSs2U?=
 =?us-ascii?Q?x2bEoK5NRn5mrE96ao9lSNJMRcop6Sw+xRBYMhYMGaaMQqezGPx629SYrH9b?=
 =?us-ascii?Q?KqEawhqiSkePXcWQZEchBOgZuM/k8VPbyk+H9w0GB7kFMBhNRC4AluF3VJFw?=
 =?us-ascii?Q?eP0APOzW09WHenaB9aiZeCDrNvfEC/iNugmOnj3FJaR2D/3X3f1zKB66xZ3i?=
 =?us-ascii?Q?7j40TDrp2ukF2AZpO5kLQJSdOpiefNpsu07bVPnClUM8hdzakq2Ria4wLAOK?=
 =?us-ascii?Q?z2WCuQGVGccOKBYwR+5qfyVRzj0ysomXfjpxbtoxKFF65A0D2Nqa6vSRZnzg?=
 =?us-ascii?Q?QOneSmqG04Mb1mGzQCPUP8N3pgRNS1mV0sA5M4LcFk3aSHo7/gd80WmYwiyu?=
 =?us-ascii?Q?nof4APxgfxqn3JWDgu5MLmtGrCKYE641ap+m8HsIvgujTUaIFsHK1XFyNdGr?=
 =?us-ascii?Q?YRRfFNyhL+jnJfN/BhCfSC/eGiAn1tbfqiy1bv1I+FJNq7gpvhOq9A=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 13 Mar 2025 18:29:33.6478
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a76572db-4956-4f8c-7580-08dd625d0097
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9DA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8767

Secondary cpus initialization is not yet supported. Thus, we print an
appropriate message and put the secondary cpus in WFE state.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from :-

v1 - 1. Add R-b.

 xen/arch/arm/arm32/mpu/head.S | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/arm/arm32/mpu/head.S b/xen/arch/arm/arm32/mpu/head.S
index 40648ce1a8..b6d31701f2 100644
--- a/xen/arch/arm/arm32/mpu/head.S
+++ b/xen/arch/arm/arm32/mpu/head.S
@@ -162,6 +162,16 @@ FUNC(enable_boot_cpu_mm)
     ret
 END(enable_boot_cpu_mm)
 
+/*
+ * We don't yet support secondary CPUs bring-up. Implement a dummy helper to
+ * please the common code.
+ */
+ENTRY(enable_secondary_cpu_mm)
+    PRINT("- SMP not enabled yet -\r\n")
+1:  wfe
+    b 1b
+ENDPROC(enable_secondary_cpu_mm)
+
 /*
  * Local variables:
  * mode: ASM
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 18:33:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 18:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913347.1319422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsnMe-0004ir-MU; Thu, 13 Mar 2025 18:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913347.1319422; Thu, 13 Mar 2025 18: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 1tsnMe-0004ik-Jv; Thu, 13 Mar 2025 18:33:04 +0000
Received: by outflank-mailman (input) for mailman id 913347;
 Thu, 13 Mar 2025 18:33: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=eDg6=WA=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tsnJR-0000C7-60
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:29:45 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20603.outbound.protection.outlook.com
 [2a01:111:f403:2415::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22b4ff61-0039-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 19:29:44 +0100 (CET)
Received: from BYAPR01CA0012.prod.exchangelabs.com (2603:10b6:a02:80::25) by
 DS0PR12MB7900.namprd12.prod.outlook.com (2603:10b6:8:14e::10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.27; Thu, 13 Mar 2025 18:29:38 +0000
Received: from CO1PEPF000044F1.namprd05.prod.outlook.com
 (2603:10b6:a02:80:cafe::6) by BYAPR01CA0012.outlook.office365.com
 (2603:10b6:a02:80::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.27 via Frontend Transport; Thu,
 13 Mar 2025 18:29:38 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F1.mail.protection.outlook.com (10.167.241.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 18:29:37 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 13 Mar
 2025 13:29:37 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 13 Mar
 2025 13:29:36 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Thu, 13 Mar 2025 13:29:35 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22b4ff61-0039-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LptdJAIaShhQV5XkImqow/lTlsRpcF0UqiNPK4p57uEwca5Qn7+lQIJW/n0ayff7Q7hNxHejnuyAeMY/5hEPH3R/3qjAbW3sJjaJLegZnAaK7ASoxi58YNnjsOFwqQPSOVQn3MUiWdcLtsrakBWRzLZBRk/6bBOXLaqEo6jtvdi347sqbyL09wkn1Znj7+mD3dVGb4dNSQFDHUY16C4Ci6jDSYscsuNm1l8vmFfkcbGI1jCi4nk9pN3JP8m01NbxG8mjHFby9drII8mBloqcoWMmHgpkerzuycNHb6/2e7ODtNYga0d7+mSX+Fdqh2zOGBTwQB5cAQUtiLSIUD8xEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bIsMBIairwunP6LFA32m7d50YgQgrqBjWCm2v33/Nso=;
 b=Gy7dEoXmXxfOe8wiWZ6v1pOMTkaPbCeD86JdIvNAIjehwmf1gZ4Luz/Cbt3YtgOhikYsNqRoAYqj/f+6hIf15t3p1s2Fcxd8C3kUibqs1yDYQdHZNr7HXHAH5wFUAh0afUcpLNQkDCDOpAn2OLBTNA3RRc75fVcBqefRu5KILdpNHvasOvHRZUZMVtiHs+Eu7INZrh0FpKwu/msMgcG/JoYHkDdnUnTY0Wif5XvAYU04NKZZt31y3F19e5JBwHxbu3Iwm6Zgjt3Kptz2yJau5OomxDdUzIDTmG+USkNs9/gVtFxKS6P6FrtvKps+rSgfSURFLwNPSjxeF4aGqkW+wA==
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=bIsMBIairwunP6LFA32m7d50YgQgrqBjWCm2v33/Nso=;
 b=hiCgtFjdu2qL3nPEyAcRxmVKP9rNjD8nHuKnxEycZwHdbKFvtwQEfrWGzQsEyRZYCb4TOinuWOl/actbo0wDPFVLXGqXTgMTcaRC8MAYUn6Ca3S9glT4Iq4hjlpFULdXN4crjXX3EB6Yj7B3OJ6+JpwSqcZbuT3gzaQdlnzhlbg=
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=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [PATCH v2 4/4] xen/arm32: Allow ARM_PA_BITS_40 only if !MPU
Date: Thu, 13 Mar 2025 18:28:50 +0000
Message-ID: <20250313182850.1527052-5-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
References: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F1:EE_|DS0PR12MB7900:EE_
X-MS-Office365-Filtering-Correlation-Id: 19adf3b3-6ce8-4672-ff16-08dd625d0316
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?O6Jk0p5V9/ucH714PINyl5rGxLNZ6V1IKk9Ay1j8/ZRuHsFeo67iJibCKpCb?=
 =?us-ascii?Q?wGXBwyJve224PDVXskM013fYZYQ/yHBwvxI6kLdBlnKvP+jN0sLDVmJ2CS4S?=
 =?us-ascii?Q?EOVgVvmsTaecKpgeTNQ+c+qmhxXoXWy6EsG4wupbmmAEIHWc8sfOQfzNpcU8?=
 =?us-ascii?Q?hBknxbRK1S/fR4LU/oygRpryvaCIKrdcT0yX1YR3Wz1lwxMuP7fzoqMPMgTJ?=
 =?us-ascii?Q?0QsIRYX/CoM+Aj6kcccQ3juZZqz2hNR5pJnq7cXodFSZNsE/GM9MYLwi3d9g?=
 =?us-ascii?Q?Tl1gPmf6mtDT/c+96ImMBx7e7wqvMMKMZXl6rvjMha4ISlpYkTJc9adoSX6Y?=
 =?us-ascii?Q?WkKdHbYmad9Tn2DbtZpdtTIxzGo0Ox35AB+6e3+cByvtl7d33zc8NZVy3o97?=
 =?us-ascii?Q?HUVpPNaWla/bPavLYaCUcW4EA3pas76h7Fa8nBDoSqK0scNGsax6SRiElmNl?=
 =?us-ascii?Q?UZn7aRUPavQ3jqHTnbo1KraA/MThqQRFhumMyHZSa7u27VNPriRea7pPnPuL?=
 =?us-ascii?Q?chEM/Pq5EXechAA0v97ACjaJR8gc5B/2iKHYc4QJ0tn4K+wGznfJ9rTPrkYZ?=
 =?us-ascii?Q?ouEUaNlbDBwFz6vONcs27l4ojYRfDx2/9aV9ZCTjojIQzldiWgm6SL49yjEs?=
 =?us-ascii?Q?qQr7Gu+2D7E5j/r3l4wA5SEQRFasvjtl7qWQAi1QS5Y1DIewiqhNdXTvv/46?=
 =?us-ascii?Q?jWmefXXiaPrWJJdXZqe61pTVBK+2DXtXVHjnceCUGDoymexGy+5f/tXZOJOW?=
 =?us-ascii?Q?LOqF5IEdPen9tvCHvH6fTxZuu1bqnz0T2j67XUX86b0+4wjc6Br/4am5B25j?=
 =?us-ascii?Q?KBvuLhOrQRSLducfML9t8cpYrVHSPAG7wileW51T1/Ot6Y99AGrsnLti8ehc?=
 =?us-ascii?Q?Dfim7s3HqC7QHaEoBR6w6Gcqmf8dfaYu9pSZqG9/Lg8MCzHP9L28Squ4WqyP?=
 =?us-ascii?Q?opuPHYmeSTnDm2Ficzmo45aCN2XiPcVVAQU2WPCeFZvtLp9DilgJfauxkqH5?=
 =?us-ascii?Q?bpcQHQqNNoTs0jfk/jYFk9hgWibyBVrbnfTA/IScpvPI4qY4dqXcGGe4HKDG?=
 =?us-ascii?Q?+UzBWSHQfrqWPoZPJpaiZ4nHoPR+bn5B207lAtXGHgRJH1KiqKgfzlqGNqst?=
 =?us-ascii?Q?ZbElzn3jS2O103xB3QxQ/Wt7Khy3rwqVRVWunSviavCdMZSCkm9ULZP8+iSx?=
 =?us-ascii?Q?vr26UrMoSckWwDraK+P5xt4gIQS1eKJWzSfValyDuRwkPCSCMvZWCIQYdoio?=
 =?us-ascii?Q?pn8+V8dRMKyAGnu70LMtOFY+Xf3ZozprY5D5FKmrN2A9zLVlxgiSlsl5vnx7?=
 =?us-ascii?Q?eGZktqXQ+NpTE0Xjjlld25YHWlLoyVefaEVUqSqAS4kyZxUA5z2yeV/SLQsE?=
 =?us-ascii?Q?kPmcnaZLSbwR3M0skJfpKiDfoF5MneGVH8+RAfO1VJl0hPJbznWbnjMBW1NC?=
 =?us-ascii?Q?Kr96Y4qDsz5DnZ9ZbOf5CO8VvRN8eWFhSkcdRof2TmZ7tcCZwnCFvg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 18:29:37.8391
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 19adf3b3-6ce8-4672-ff16-08dd625d0316
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7900

From: Michal Orzel <michal.orzel@amd.com>

ArmV8-R AArch32 does not support LPAE. The reason being PMSAv8-32
supports 32-bit physical address only.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from 

v1 - 1. New patch.

 xen/arch/arm/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 89c099ff46..b413e8399b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -58,7 +58,7 @@ config ARM_PA_BITS_32
 
 config ARM_PA_BITS_40
 	bool "40-bit"
-	depends on ARM_32
+	depends on ARM_32 && !MPU
 endchoice
 
 config PADDR_BITS
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 19:07:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 19:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913389.1319433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsnuF-00078L-H9; Thu, 13 Mar 2025 19:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913389.1319433; Thu, 13 Mar 2025 19:07: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 1tsnuF-00078E-DN; Thu, 13 Mar 2025 19:07:47 +0000
Received: by outflank-mailman (input) for mailman id 913389;
 Thu, 13 Mar 2025 19:07: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsnuE-000788-HA
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 19:07:46 +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 7232f6f2-003e-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 20:07:45 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cec5cd73bso9159755e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 12:07:45 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb318aa1sm3107921f8f.64.2025.03.13.12.07.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 12:07: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: 7232f6f2-003e-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741892865; x=1742497665; 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=n4M7QB00+B44fpKgjSqyj4KKHn4WFk8WpJcQMngINto=;
        b=aqKLC18NglUgJqPrlEmGUxxoBi21VG1+9/wvMfwn+smzMnFm3Y8SPhYTA50asuDZWw
         QiVDDemmtz0LwNo6Q0eX4FcVbPlZuXuh3r1ZqR3GOfuJ1r7Ezy9kiqx9J4FgzR4NEpzG
         qSfpe501/x7mLZ0+/jCdhqmtscbKDBGXWkVIA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741892865; x=1742497665;
        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=n4M7QB00+B44fpKgjSqyj4KKHn4WFk8WpJcQMngINto=;
        b=Z9+eIIxPHeq2V0F3nzU0i4vCYbhdcJgfH2h4uvistDpQ4bJoerUFKxUtUE6uzHA3Yg
         pXfCiiTss0LeOz1oYhdJy2da0w9pxdTDfTTXU/e6cH9B6UmLUC5DO4MN8hLMW/QkmCO7
         eWzZPzFSrQtnpSLVM+oXu7dHtuuGVAsapBbVonnxdSBoVKEePq2tMuYoIXF43c0xNDqY
         m/wbUc3R+/G21NKXzv4MhF0WAqK5j5d+eKaZcGgwuh3Z3ZWfBWw1h0+1XVH9PDZpD9I1
         ACKhu/hQYnc08cHHBJU+tht+3b7Gukc0iwFUMpxI6Hp81PoI4sjL41M4SCUy5SUqMeis
         RpKQ==
X-Forwarded-Encrypted: i=1; AJvYcCUB3fBHYXB5fP95uWR/E8mkLrLDiG44v/woACMiaq3XZj4A977nd4p3E2huqusOpSzfkqSW5OiOtRA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz14ALJ8PggOSuIe71JIUWe8biqvplw8sObPFFY1Y/rUTwUFCsh
	4/czLp11SMOhmI+kQapX6EevANGv5eWjPFCF+FpGSU1QEe7tOlKAJLu4fd5jVpc=
X-Gm-Gg: ASbGncuKWZKtgKfaCcuyN4wa4OJeZkGCj38RTQbwj+Q5JxQqKDtvYT1FJXD4ZtYcVLH
	G+wQ7iyqcUKQq74eNn/oN7uSfdxna6Gfu6wFexQe7JwIwXyN9ffG9UiPPdO0U6DakfkoktB2SYN
	EOzX83Vp4uub4gN14XNq4BVEOB5AgyokQFwzzD4K1zm0JcXX368f/U+kK+yu0E4shfyVtbwbDmx
	glmF9jJWOVeG135Ph4ChdU0Tkqw/rPMZY4r3+ZQXhQWdt7wSrHSAv9aI471rkCnyhKcas1apL/9
	J95lRSHX8v7PB/L1lwbZiBGH9c1TtJokKWgjT5SCmVuVgnudJ7RpcwFfE4iHgMGR2PFE+Gp6Fki
	IwU/sFM+cb+cit13PZpo=
X-Google-Smtp-Source: AGHT+IGmG57tzvTxtBdGFowO3jSvOz85AyyzH4dEKVm/WR+xoWSEs62VggwTDMmkBAQNX77zVguK8w==
X-Received: by 2002:a05:600c:580c:b0:43c:fab3:4fad with SMTP id 5b1f17b1804b1-43d1d97c682mr7988585e9.16.1741892864807;
        Thu, 13 Mar 2025 12:07:44 -0700 (PDT)
Message-ID: <a51d185c-0d7b-4244-b891-c56496e012f7@citrix.com>
Date: Thu, 13 Mar 2025 19:07:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-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: <20250313153029.93347-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> diff --git a/xen/common/wait.c b/xen/common/wait.c
> index cb6f5ff3c20a..2fcbbe8d0c71 100644
> --- a/xen/common/wait.c
> +++ b/xen/common/wait.c
> @@ -170,6 +162,54 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
>          : "0" (0), "1" (cpu_info), "2" (wqv->stack),
>            [sz] "i" (PAGE_SIZE)
>          : "memory", "rax", "rdx", "r8", "r9", "r10", "r11" );
> +}
> +
> +/*
> + * Since context_save() is noinline, context_restore() must also be noinline,
> + * to balance the RET vs CALL instructions.

Why are you caring about balancing CALLs and RETs?

This infrastructure exists for cases which don't.

> +#ifdef CONFIG_SELF_TESTS
> +static void __init __constructor test_save_restore_ctx(void)
> +{
> +    static unsigned int __initdata count;
> +    struct waitqueue_vcpu wqv = {};
> +
> +    wqv.stack = alloc_xenheap_page();
> +    if ( !wqv.stack )
> +        panic("unable to allocate memory for context selftest\n");
> +
> +    context_save(&wqv);
> +    if ( !count++ )
> +        context_restore(&wqv);
> +
> +    if ( count != 2 )
> +        panic("context save and restore not working as expected\n");
> +
> +    free_xenheap_page(wqv.stack);
> +}
> +#endif

The wait infrastructure is incompatible with CET-SS.Â  (yet another
reason why I want to delete it.)

The only reason this wont blow up in CI because shadow stacks are
enabled later in boot, but I was hoping to change this with FRED.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 19:21:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 19:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913384.1319443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tso7r-00045b-Kj; Thu, 13 Mar 2025 19:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913384.1319443; Thu, 13 Mar 2025 19:21: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 1tso7r-00045U-HW; Thu, 13 Mar 2025 19:21:51 +0000
Received: by outflank-mailman (input) for mailman id 913384;
 Thu, 13 Mar 2025 18:57: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=Vl4a=WA=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1tsnkh-0004Fy-PO
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 18:57:55 +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 112e9dc6-003d-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 19:57:53 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so9108915e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 11:57:53 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a7310f7sm62725705e9.3.2025.03.13.11.57.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 13 Mar 2025 11: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: 112e9dc6-003d-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741892272; x=1742497072; 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=gSJ11JrLpUSqlneO0TA/YS+paZDKlsELFIGydKzW5+c=;
        b=Ehvqfw51S6f0kSjNesVDM19EIYhf0ghvtruBerc5k23vG4KlcCmubHTKPvh5oSWI0A
         LJyqUB3hRuoDj8X1bM7rr+ypPlmnzRahZotYvKR9BPLK+3aGMRxybkKs8/G7cVvUaieX
         F/o49vvUET8LDjM4kcbMrEPudNKlgKFgim3XJUo4TRxQSVA+oKB/ziFlPBDTJsj602s5
         UM0w69wmXduXHu2za6NZ/DZrbsxgk4kwM4EtRCi/SrvBEKtu/Nx+lJtfp5t81H5ckUa9
         /IdYt7o4V4zcuDNCLBF9wXP39c+wpx42dc4nTgIoFkY7q8IV4nDUEjhd+i+j6qqh/3qB
         ytsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741892272; x=1742497072;
        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=gSJ11JrLpUSqlneO0TA/YS+paZDKlsELFIGydKzW5+c=;
        b=s+w1XY24X+Gnqzeasef9DrYOjpIDhCxUhaEngsTfJmbKiT3+z7zUvN53YE5arIYX+T
         MK5NORB3Kg4ZNq6of5KKj04MmCTAESatDRZrl9dHpb1pRihzkWt5og5KBrdZbYDhXzq3
         s9z4gt7EssxlAesTQ19vOfOSbzeA118Eta4BHEaTLJb/BM1MCzJ8Ywod55Dv8oP34zuW
         Mx9TxhtlPCfsztbTkMaHz/bckWT9dYFd8FXnJ3g7tG5xut555T2b3ucTLgVLs2WApANf
         3o7mCcWgGLdiJO0BTfFarUoQMdiQGVMdIph5oH/2Hz9nMTLHDwRQekyvk9lD5gaQ2e/R
         zQCQ==
X-Gm-Message-State: AOJu0YzgN6uq3LE+iuP5OLVBUM0fyzW4DJubjrGDJlMcahQ6jdOvXOOX
	bGChmUJ9g0bGHFaFz6t39hC6pfJDbOTzNksnAItQ2wNq5feDvgYzFBx2kTeD
X-Gm-Gg: ASbGnct1ILwWi9r2OocbG5aw39Sn5IYLa5TyHGIF2u2v1+iGznOkTyApbOBR8HLWn/i
	m9yiWcJtM4SMpn2JcX/MjfmLU4UFmIIJHvK6Rm838v6/FwiDKLFY+bYoElOPMKipQs9Z4qjA2e2
	Vk6n7xRyZeU3pCQf4+GOLJ/zOAiyWdhp4U6nQ6LZR5td6+gW39syOvScxUC/5IObLlUUPXhj70P
	JnzNb6fre4w+dyTwHSO76TgUzosHYVhVx1JT2gqdN76m+yUQuE7KT1vmInnq/g/2TGhPx4+52S1
	PY/3Q2klzNPTw+emd0Ul6EmLH77WwkHbLMSr93GmdHugTxiCnIBIKt2erliGAc0KpTGJ8DW28ei
	3iuR4HQtgYtpCPEwu9CJ9NY3Ta8mVv6pFz1YulXhtrt0H
X-Google-Smtp-Source: AGHT+IEAiTxnxIuxbOI8MnaxelNJPaAsA84KL6MHdnuyEiZHkEi32QcSuA8y4wWj9gf2Lg1D74s/4Q==
X-Received: by 2002:a05:600c:4f41:b0:43d:24d:bbe2 with SMTP id 5b1f17b1804b1-43d1d8eb12emr6737415e9.28.1741892271700;
        Thu, 13 Mar 2025 11:57:51 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 v1] drivers: Change amd_iommu struct to contain pci_sbdf_t, simplify code
Date: Thu, 13 Mar 2025 18:57:38 +0000
Message-ID: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following on from 250d87dc, struct amd_iommu has its seg and bdf fields
backwards with relation to pci_sbdf_t. Swap them around, and simplify the
expressions regenerating an sbdf_t from seg+bdf.

Simplify ioapic_sbdf and bpet_sbdf along the way. Adjust functions
taking seg and bdf fields of these structs to take pci_sbdf_t instead.
Simplify comparisons similarly.

Bloat-o-meter reports:

```
add/remove: 0/0 grow/shrink: 13/21 up/down: 352/-576 (-224)
Function                                     old     new   delta
_einittext                                 22028   22220    +192
amd_iommu_prepare                            853     897     +44
_invalidate_all_devices                      133     154     +21
amd_iommu_domain_destroy                      46      63     +17
disable_fmt                                12336   12352     +16
_acpi_module_name                            416     432     +16
amd_iommu_get_reserved_device_memory         521     536     +15
parse_ivrs_table                            3955    3966     +11
amd_iommu_assign_device                      271     282     +11
find_iommu_for_device                        242     246      +4
get_intremap_requestor_id                     49      52      +3
amd_iommu_free_intremap_table                360     361      +1
allocate_domain_resources                     82      83      +1
reassign_device                              843     838      -5
amd_iommu_remove_device                      352     347      -5
amd_iommu_flush_iotlb                        359     354      -5
iov_supports_xt                              270     264      -6
amd_iommu_setup_domain_device               1478    1472      -6
amd_setup_hpet_msi                           232     224      -8
amd_iommu_ioapic_update_ire                  572     564      -8
_hvm_dpci_msi_eoi                            157     149      -8
amd_iommu_msi_enable                          33      20     -13
register_range_for_device                    297     281     -16
amd_iommu_add_device                         856     839     -17
update_intremap_entry_from_msi_msg           879     861     -18
amd_iommu_read_ioapic_from_ire               347     323     -24
amd_iommu_msi_msg_update_ire                 472     431     -41
flush_command_buffer                         460     417     -43
set_iommu_interrupt_handler                  421     377     -44
amd_iommu_detect_one_acpi                    918     868     -50
amd_iommu_get_supported_ivhd_type             86      31     -55
iterate_ivrs_mappings                        169     113     -56
parse_ivmd_block                            1339    1271     -68
enable_iommu                                1745    1665     -80
```

Resolves: https://gitlab.com/xen-project/xen/-/issues/198

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>
---
 xen/drivers/passthrough/amd/iommu.h         | 29 +++++++++--
 xen/drivers/passthrough/amd/iommu_acpi.c    | 24 ++++-----
 xen/drivers/passthrough/amd/iommu_cmd.c     |  6 +--
 xen/drivers/passthrough/amd/iommu_detect.c  |  2 +-
 xen/drivers/passthrough/amd/iommu_init.c    | 31 +++++------
 xen/drivers/passthrough/amd/iommu_intr.c    | 57 ++++++++++-----------
 xen/drivers/passthrough/amd/iommu_map.c     | 21 ++++----
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 32 ++++++------
 8 files changed, 108 insertions(+), 94 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index 00e81b4b2a..6903b1bc5d 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -77,8 +77,14 @@ struct amd_iommu {
     struct list_head list;
     spinlock_t lock; /* protect iommu */
 
-    u16 seg;
-    u16 bdf;
+    union {
+        struct {
+            uint16_t bdf;
+            uint16_t seg;
+        };
+        pci_sbdf_t sbdf;
+    };
+
     struct msi_desc msi;
 
     u16 cap_offset;
@@ -240,7 +246,7 @@ void amd_iommu_flush_intremap(struct amd_iommu *iommu, uint16_t bdf);
 void amd_iommu_flush_all_caches(struct amd_iommu *iommu);
 
 /* find iommu for bdf */
-struct amd_iommu *find_iommu_for_device(int seg, int bdf);
+struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf);
 
 /* interrupt remapping */
 bool cf_check iov_supports_xt(void);
@@ -262,7 +268,13 @@ int cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc);
 void cf_check amd_iommu_dump_intremap_tables(unsigned char key);
 
 extern struct ioapic_sbdf {
-    u16 bdf, seg;
+    union {
+        struct {
+            uint16_t bdf;
+            uint16_t seg;
+        };
+        pci_sbdf_t sbdf;
+    };
     u8 id;
     bool cmdline;
     u16 *pin_2_idx;
@@ -273,7 +285,14 @@ unsigned int ioapic_id_to_index(unsigned int apic_id);
 unsigned int get_next_ioapic_sbdf_index(void);
 
 extern struct hpet_sbdf {
-    u16 bdf, seg, id;
+    union {
+        struct {
+            uint16_t bdf;
+            uint16_t seg;
+        };
+        pci_sbdf_t sbdf;
+    };
+    uint16_t id;
     enum {
         HPET_NONE,
         HPET_CMDL,
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 5bdbfb5ba8..57efb7ddda 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -107,12 +107,12 @@ static void __init add_ivrs_mapping_entry(
 }
 
 static struct amd_iommu * __init find_iommu_from_bdf_cap(
-    u16 seg, u16 bdf, u16 cap_offset)
+    pci_sbdf_t sbdf, u16 cap_offset)
 {
     struct amd_iommu *iommu;
 
     for_each_amd_iommu ( iommu )
-        if ( (iommu->seg == seg) && (iommu->bdf == bdf) &&
+        if ( (iommu->sbdf.sbdf == sbdf.sbdf) &&
              (iommu->cap_offset == cap_offset) )
             return iommu;
 
@@ -239,17 +239,17 @@ static int __init register_range_for_device(
     unsigned int bdf, paddr_t base, paddr_t limit,
     bool iw, bool ir, bool exclusion)
 {
-    int seg = 0; /* XXX */
-    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    pci_sbdf_t sbdf = { .seg = 0, .bdf = bdf };
+    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
     struct amd_iommu *iommu;
     u16 req;
     int rc = 0;
 
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("IVMD: no IOMMU for device %pp - ignoring constrain\n",
-                       &PCI_SBDF(seg, bdf));
+                       &(sbdf));
         return 0;
     }
     req = ivrs_mappings[bdf].dte_requestor_id;
@@ -263,9 +263,9 @@ static int __init register_range_for_device(
         paddr_t length = limit + PAGE_SIZE - base;
 
         /* reserve unity-mapped page entries for device */
-        rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir,
+        rc = reserve_unity_map_for_device(sbdf.seg, bdf, base, length, iw, ir,
                                           false) ?:
-             reserve_unity_map_for_device(seg, req, base, length, iw, ir,
+             reserve_unity_map_for_device(sbdf.seg, req, base, length, iw, ir,
                                           false);
     }
     else
@@ -297,7 +297,7 @@ static int __init register_range_for_iommu_devices(
     /* reserve unity-mapped page entries for devices */
     for ( bdf = rc = 0; !rc && bdf < ivrs_bdf_entries; bdf++ )
     {
-        if ( iommu != find_iommu_for_device(iommu->seg, bdf) )
+        if ( iommu != find_iommu_for_device(iommu->sbdf) )
             continue;
 
         req = get_ivrs_mappings(iommu->seg)[bdf].dte_requestor_id;
@@ -362,7 +362,7 @@ static int __init parse_ivmd_device_iommu(
     struct amd_iommu *iommu;
 
     /* find target IOMMU */
-    iommu = find_iommu_from_bdf_cap(seg, ivmd_block->header.device_id,
+    iommu = find_iommu_from_bdf_cap(PCI_SBDF(seg, ivmd_block->header.device_id),
                                     ivmd_block->aux_data);
     if ( !iommu )
     {
@@ -916,8 +916,8 @@ static int __init parse_ivhd_block(const struct acpi_ivrs_hardware *ivhd_block)
                     ivhd_block->pci_segment_group, ivhd_block->info,
                     ivhd_block->iommu_attr);
 
-    iommu = find_iommu_from_bdf_cap(ivhd_block->pci_segment_group,
-                                    ivhd_block->header.device_id,
+    iommu = find_iommu_from_bdf_cap(PCI_SBDF(ivhd_block->pci_segment_group,
+                                    ivhd_block->header.device_id),
                                     ivhd_block->capability_offset);
     if ( !iommu )
     {
diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
index 83c525b84f..dc3d2394a1 100644
--- a/xen/drivers/passthrough/amd/iommu_cmd.c
+++ b/xen/drivers/passthrough/amd/iommu_cmd.c
@@ -85,7 +85,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
             threshold |= threshold << 1;
             printk(XENLOG_WARNING
                    "AMD IOMMU %pp: %scompletion wait taking too long\n",
-                   &PCI_SBDF(iommu->seg, iommu->bdf),
+                   &(iommu->sbdf),
                    timeout_base ? "iotlb " : "");
             timeout = 0;
         }
@@ -95,7 +95,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
     if ( !timeout )
         printk(XENLOG_WARNING
                "AMD IOMMU %pp: %scompletion wait took %lums\n",
-               &PCI_SBDF(iommu->seg, iommu->bdf),
+               &(iommu->sbdf),
                timeout_base ? "iotlb " : "",
                (NOW() - start) / 10000000);
 }
@@ -288,7 +288,7 @@ void amd_iommu_flush_iotlb(u8 devfn, const struct pci_dev *pdev,
     if ( !pci_ats_enabled(pdev->seg, pdev->bus, pdev->devfn) )
         return;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
 
     if ( !iommu )
     {
diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passthrough/amd/iommu_detect.c
index cede44e651..7d60389500 100644
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -231,7 +231,7 @@ int __init amd_iommu_detect_one_acpi(
     rt = pci_ro_device(iommu->seg, bus, PCI_DEVFN(dev, func));
     if ( rt )
         printk(XENLOG_ERR "Could not mark config space of %pp read-only (%d)\n",
-               &PCI_SBDF(iommu->seg, iommu->bdf), rt);
+               &(iommu->sbdf), rt);
 
     list_add_tail(&iommu->list, &amd_iommu_head);
     rt = 0;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index bb25b55c85..e2c205a857 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -409,9 +409,7 @@ static void iommu_reset_log(struct amd_iommu *iommu,
 
 static void amd_iommu_msi_enable(struct amd_iommu *iommu, int flag)
 {
-    pci_sbdf_t sbdf = { .seg = iommu->seg, .bdf = iommu->bdf };
-
-    __msi_set_enable(sbdf, iommu->msi.msi_attrib.pos, flag);
+    __msi_set_enable(iommu->sbdf, iommu->msi.msi_attrib.pos, flag);
 }
 
 static void cf_check iommu_msi_unmask(struct irq_desc *desc)
@@ -752,12 +750,11 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
     }
 
     pcidevs_lock();
-    iommu->msi.dev = pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf));
+    iommu->msi.dev = pci_get_pdev(NULL, iommu->sbdf);
     pcidevs_unlock();
     if ( !iommu->msi.dev )
     {
-        AMD_IOMMU_WARN("no pdev for %pp\n",
-                       &PCI_SBDF(iommu->seg, iommu->bdf));
+        AMD_IOMMU_WARN("no pdev for %pp\n", &(iommu->sbdf));
         return 0;
     }
 
@@ -779,7 +776,7 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
         hw_irq_controller *handler;
         u16 control;
 
-        control = pci_conf_read16(PCI_SBDF(iommu->seg, iommu->bdf),
+        control = pci_conf_read16(iommu->sbdf,
                                   iommu->msi.msi_attrib.pos + PCI_MSI_FLAGS);
 
         iommu->msi.msi.nvec = 1;
@@ -843,22 +840,22 @@ static void amd_iommu_erratum_746_workaround(struct amd_iommu *iommu)
          (boot_cpu_data.x86_model > 0x1f) )
         return;
 
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90);
-    value = pci_conf_read32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf4);
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90);
+    value = pci_conf_read32(iommu->sbdf, 0xf4);
 
     if ( value & (1 << 2) )
         return;
 
     /* Select NB indirect register 0x90 and enable writing */
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90 | (1 << 8));
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90 | (1 << 8));
 
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf4, value | (1 << 2));
+    pci_conf_write32(iommu->sbdf, 0xf4, value | (1 << 2));
     printk(XENLOG_INFO
            "AMD-Vi: Applying erratum 746 workaround for IOMMU at %pp\n",
-           &PCI_SBDF(iommu->seg, iommu->bdf));
+           &iommu->sbdf);
 
     /* Clear the enable writing bit */
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90);
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90);
 }
 
 static void enable_iommu(struct amd_iommu *iommu)
@@ -1543,14 +1540,14 @@ static void invalidate_all_domain_pages(void)
 static int cf_check _invalidate_all_devices(
     u16 seg, struct ivrs_mappings *ivrs_mappings)
 {
-    unsigned int bdf; 
+    pci_sbdf_t sbdf = { .seg = seg, .bdf = 0 };
     u16 req_id;
     struct amd_iommu *iommu;
 
-    for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
+    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; sbdf.bdf++ )
     {
-        iommu = find_iommu_for_device(seg, bdf);
-        req_id = ivrs_mappings[bdf].dte_requestor_id;
+        iommu = find_iommu_for_device(sbdf);
+        req_id = ivrs_mappings[sbdf.bdf].dte_requestor_id;
         if ( iommu )
         {
             /*
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 9abdc38053..0c91125ec0 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -123,10 +123,10 @@ static spinlock_t* get_intremap_lock(int seg, int req_id)
            &shared_intremap_lock);
 }
 
-static int get_intremap_requestor_id(int seg, int bdf)
+static int get_intremap_requestor_id(pci_sbdf_t sbdf)
 {
-    ASSERT( bdf < ivrs_bdf_entries );
-    return get_ivrs_mappings(seg)[bdf].dte_requestor_id;
+    ASSERT( sbdf.bdf < ivrs_bdf_entries );
+    return get_ivrs_mappings(sbdf.seg)[sbdf.bdf].dte_requestor_id;
 }
 
 static unsigned int alloc_intremap_entry(const struct amd_iommu *iommu,
@@ -281,7 +281,7 @@ static int update_intremap_entry_from_ioapic(
     unsigned int dest, offset;
     bool fresh = false;
 
-    req_id = get_intremap_requestor_id(iommu->seg, bdf);
+    req_id = get_intremap_requestor_id(PCI_SBDF(iommu->seg, bdf));
     lock = get_intremap_lock(iommu->seg, req_id);
 
     delivery_mode = rte->delivery_mode;
@@ -323,7 +323,8 @@ void cf_check amd_iommu_ioapic_update_ire(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
     struct IO_APIC_route_entry new_rte;
-    int seg, bdf, rc;
+    pci_sbdf_t sbdf;
+    int rc;
     struct amd_iommu *iommu;
     unsigned int idx;
 
@@ -335,20 +336,19 @@ void cf_check amd_iommu_ioapic_update_ire(
     new_rte.raw = rte;
 
     /* get device id of ioapic devices */
-    bdf = ioapic_sbdf[idx].bdf;
-    seg = ioapic_sbdf[idx].seg;
-    iommu = find_iommu_for_device(seg, bdf);
+    sbdf.sbdf = ioapic_sbdf[idx].sbdf.sbdf;
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %04x:%04x\n",
-                       seg, bdf);
+                       sbdf.seg, sbdf.bdf);
         __ioapic_write_entry(apic, pin, true, new_rte);
         return;
     }
 
     /* Update interrupt remapping entry */
     rc = update_intremap_entry_from_ioapic(
-             bdf, iommu, &new_rte,
+             sbdf.bdf, iommu, &new_rte,
              &ioapic_sbdf[idx].pin_2_idx[pin]);
 
     if ( rc )
@@ -369,7 +369,8 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
     unsigned int offset;
     unsigned int val = __io_apic_read(apic, reg);
     unsigned int pin = (reg - 0x10) / 2;
-    uint16_t seg, bdf, req_id;
+    pci_sbdf_t sbdf;
+    uint16_t req_id;
     const struct amd_iommu *iommu;
     union irte_ptr entry;
 
@@ -381,12 +382,11 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
     if ( offset >= INTREMAP_MAX_ENTRIES )
         return val;
 
-    seg = ioapic_sbdf[idx].seg;
-    bdf = ioapic_sbdf[idx].bdf;
-    iommu = find_iommu_for_device(seg, bdf);
+    sbdf.sbdf = ioapic_sbdf[idx].sbdf.sbdf;
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
         return val;
-    req_id = get_intremap_requestor_id(seg, bdf);
+    req_id = get_intremap_requestor_id(sbdf);
     entry = get_intremap_entry(iommu, req_id, offset);
 
     if ( !(reg & 1) )
@@ -420,7 +420,7 @@ static int update_intremap_entry_from_msi_msg(
     bool fresh = false;
 
     req_id = get_dma_requestor_id(iommu->seg, bdf);
-    alias_id = get_intremap_requestor_id(iommu->seg, bdf);
+    alias_id = get_intremap_requestor_id(PCI_SBDF(iommu->seg, bdf));
 
     lock = get_intremap_lock(iommu->seg, req_id);
     spin_lock_irqsave(lock, flags);
@@ -495,19 +495,19 @@ static int update_intremap_entry_from_msi_msg(
     return fresh;
 }
 
-static struct amd_iommu *_find_iommu_for_device(int seg, int bdf)
+static struct amd_iommu *_find_iommu_for_device(pci_sbdf_t sbdf)
 {
     struct amd_iommu *iommu;
 
     for_each_amd_iommu ( iommu )
-        if ( iommu->seg == seg && iommu->bdf == bdf )
+        if ( iommu->sbdf.sbdf == sbdf.sbdf )
             return NULL;
 
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(sbdf);
     if ( iommu )
         return iommu;
 
-    AMD_IOMMU_DEBUG("No IOMMU for MSI dev = %pp\n", &PCI_SBDF(seg, bdf));
+    AMD_IOMMU_DEBUG("No IOMMU for MSI dev = %pp\n", &sbdf);
     return ERR_PTR(-EINVAL);
 }
 
@@ -515,15 +515,15 @@ int cf_check amd_iommu_msi_msg_update_ire(
     struct msi_desc *msi_desc, struct msi_msg *msg)
 {
     struct pci_dev *pdev = msi_desc->dev;
-    int bdf, seg, rc;
+    pci_sbdf_t sbdf;
+    int rc;
     struct amd_iommu *iommu;
     unsigned int i, nr = 1;
     u32 data;
 
-    bdf = pdev ? pdev->sbdf.bdf : hpet_sbdf.bdf;
-    seg = pdev ? pdev->seg : hpet_sbdf.seg;
+    sbdf.sbdf = pdev ? pdev->sbdf.sbdf : hpet_sbdf.sbdf.sbdf;
 
-    iommu = _find_iommu_for_device(seg, bdf);
+    iommu = _find_iommu_for_device(sbdf);
     if ( IS_ERR_OR_NULL(iommu) )
         return PTR_ERR(iommu);
 
@@ -532,7 +532,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
 
     if ( msi_desc->remap_index >= 0 && !msg )
     {
-        update_intremap_entry_from_msi_msg(iommu, bdf, nr,
+        update_intremap_entry_from_msi_msg(iommu, sbdf.bdf, nr,
                                            &msi_desc->remap_index,
                                            NULL, NULL);
 
@@ -543,7 +543,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     if ( !msg )
         return 0;
 
-    rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
+    rc = update_intremap_entry_from_msi_msg(iommu, sbdf.bdf, nr,
                                             &msi_desc->remap_index,
                                             msg, &data);
     if ( rc > 0 )
@@ -660,8 +660,7 @@ bool __init cf_check iov_supports_xt(void)
         if ( idx == MAX_IO_APICS )
             return false;
 
-        if ( !find_iommu_for_device(ioapic_sbdf[idx].seg,
-                                    ioapic_sbdf[idx].bdf) )
+        if ( !find_iommu_for_device(ioapic_sbdf[idx].sbdf) )
         {
             AMD_IOMMU_WARN("no IOMMU for IO-APIC %#x (ID %x)\n",
                            apic, IO_APIC_ID(apic));
@@ -690,7 +689,7 @@ int __init cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc)
         return -ENODEV;
     }
 
-    iommu = find_iommu_for_device(hpet_sbdf.seg, hpet_sbdf.bdf);
+    iommu = find_iommu_for_device(hpet_sbdf.sbdf);
     if ( !iommu )
         return -ENXIO;
 
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index dde393645a..17070904fa 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -694,17 +694,16 @@ int amd_iommu_reserve_domain_unity_unmap(struct domain *d,
 int cf_check amd_iommu_get_reserved_device_memory(
     iommu_grdm_t *func, void *ctxt)
 {
-    unsigned int seg = 0 /* XXX */, bdf;
-    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    pci_sbdf_t sbdf = {0};
+    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
     /* At least for global entries, avoid reporting them multiple times. */
     enum { pending, processing, done } global = pending;
 
-    for ( bdf = 0; bdf < ivrs_bdf_entries; ++bdf )
+    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; ++sbdf.bdf )
     {
-        pci_sbdf_t sbdf = PCI_SBDF(seg, bdf);
-        const struct ivrs_unity_map *um = ivrs_mappings[bdf].unity_map;
-        unsigned int req = ivrs_mappings[bdf].dte_requestor_id;
-        const struct amd_iommu *iommu = ivrs_mappings[bdf].iommu;
+        const struct ivrs_unity_map *um = ivrs_mappings[sbdf.bdf].unity_map;
+        unsigned int req = ivrs_mappings[sbdf.bdf].dte_requestor_id;
+        const struct amd_iommu *iommu = ivrs_mappings[sbdf.bdf].iommu;
         int rc;
 
         if ( !iommu )
@@ -717,7 +716,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
             pcidevs_unlock();
 
             if ( pdev )
-                iommu = find_iommu_for_device(seg, bdf);
+                iommu = find_iommu_for_device(sbdf);
             if ( !iommu )
                 continue;
         }
@@ -729,8 +728,8 @@ int cf_check amd_iommu_get_reserved_device_memory(
              * multiple times the same range(s) for perhaps many devices with
              * the same alias ID.
              */
-            if ( bdf != req && ivrs_mappings[req].iommu &&
-                 func(0, 0, PCI_SBDF(seg, req).sbdf, ctxt) )
+            if ( sbdf.bdf != req && ivrs_mappings[req].iommu &&
+                 func(0, 0, sbdf.sbdf, ctxt) )
                 continue;
 
             if ( global == pending )
@@ -740,7 +739,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
         if ( iommu->exclusion_enable &&
              (iommu->exclusion_allow_all ?
               global == processing :
-              ivrs_mappings[bdf].dte_allow_exclusion) )
+              ivrs_mappings[sbdf.bdf].dte_allow_exclusion) )
         {
             rc = func(PFN_DOWN(iommu->exclusion_base),
                       PFN_UP(iommu->exclusion_limit | 1) -
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index d00697edb3..16bab0f948 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -32,35 +32,35 @@ static bool __read_mostly init_done;
 
 static const struct iommu_init_ops _iommu_init_ops;
 
-struct amd_iommu *find_iommu_for_device(int seg, int bdf)
+struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf)
 {
-    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
 
-    if ( !ivrs_mappings || bdf >= ivrs_bdf_entries )
+    if ( !ivrs_mappings || sbdf.bdf >= ivrs_bdf_entries )
         return NULL;
 
-    if ( unlikely(!ivrs_mappings[bdf].iommu) && likely(init_done) )
+    if ( unlikely(!ivrs_mappings[sbdf.bdf].iommu) && likely(init_done) )
     {
-        unsigned int bd0 = bdf & ~PCI_FUNC(~0);
+        unsigned int bd0 = sbdf.bdf & ~PCI_FUNC(~0);
 
-        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != bdf )
+        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != sbdf.bdf )
         {
             struct ivrs_mappings tmp = ivrs_mappings[bd0];
 
             tmp.iommu = NULL;
             if ( tmp.dte_requestor_id == bd0 )
-                tmp.dte_requestor_id = bdf;
-            ivrs_mappings[bdf] = tmp;
+                tmp.dte_requestor_id = sbdf.bdf;
+            ivrs_mappings[sbdf.bdf] = tmp;
 
             printk(XENLOG_WARNING "%pp not found in ACPI tables;"
-                   " using same IOMMU as function 0\n", &PCI_SBDF(seg, bdf));
+                   " using same IOMMU as function 0\n", &sbdf);
 
             /* write iommu field last */
-            ivrs_mappings[bdf].iommu = ivrs_mappings[bd0].iommu;
+            ivrs_mappings[sbdf.bdf].iommu = ivrs_mappings[bd0].iommu;
         }
     }
 
-    return ivrs_mappings[bdf].iommu;
+    return ivrs_mappings[sbdf.bdf].iommu;
 }
 
 /*
@@ -107,7 +107,7 @@ static bool any_pdev_behind_iommu(const struct domain *d,
         if ( pdev == exclude )
             continue;
 
-        if ( find_iommu_for_device(pdev->seg, pdev->sbdf.bdf) == iommu )
+        if ( find_iommu_for_device(pdev->sbdf) == iommu )
             return true;
     }
 
@@ -468,7 +468,7 @@ static int cf_check reassign_device(
     struct amd_iommu *iommu;
     int rc;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be assigned to %pd\n",
@@ -578,10 +578,10 @@ static int cf_check amd_iommu_add_device(u8 devfn, struct pci_dev *pdev)
         return -EINVAL;
 
     for_each_amd_iommu(iommu)
-        if ( pdev->seg == iommu->seg && pdev->sbdf.bdf == iommu->bdf )
+        if ( pdev->sbdf.sbdf == iommu->sbdf.sbdf )
             return is_hardware_domain(pdev->domain) ? 0 : -ENODEV;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( unlikely(!iommu) )
     {
         /* Filter bridge devices. */
@@ -666,7 +666,7 @@ static int cf_check amd_iommu_remove_device(u8 devfn, struct pci_dev *pdev)
     if ( !pdev->domain )
         return -EINVAL;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be removed from %pd\n",
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 19:35:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 19:35:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913413.1319453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsoLF-0007j4-SI; Thu, 13 Mar 2025 19:35:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913413.1319453; Thu, 13 Mar 2025 19:35: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 1tsoLF-0007ix-PZ; Thu, 13 Mar 2025 19:35:41 +0000
Received: by outflank-mailman (input) for mailman id 913413;
 Thu, 13 Mar 2025 19:35: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsoLE-0007ir-Pn
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 19:35:40 +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 5835691e-0042-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 20:35:39 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so8861105e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 12:35:39 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a74cfa5sm63028495e9.10.2025.03.13.12.35.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 12:35: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: 5835691e-0042-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741894539; x=1742499339; 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=R3jsyrBbLWibeofmp9YUXQYQok3XUyGchQXvUaE2978=;
        b=IcP6JFO4cP3t2/Z1QpBz2gjUEH4kjjtI+ZSTTN8ABiW7UCGsm5Pc00d+OUJmrGgAH3
         m9jVSbGICPPaN/ILMfMw/nPmEFCL1kWGiLC6Ktj0cJBUDgcWXtjcMaVJgqdn0OGjMoWo
         eEDHCYsaTDVtIei1/zCZJ1FPNa1JhX8juKVQ0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741894539; x=1742499339;
        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=R3jsyrBbLWibeofmp9YUXQYQok3XUyGchQXvUaE2978=;
        b=icSS91c/fLraDwhLg/5K1hwoW8XX4PqqEN7tN1Lh4WEl2R5PduJwlbWSoNZmno1wXT
         4WhIXwvhaAjguqQhDYeWRCTgE0PHMP/Wr9ElC3vfVp8/HucyaTYCOsMTCUlfrV0zywSH
         5hZhXW3XQ8k4Y8+OnC5mR8O7Ykh+WoyjkscCDqyPP4GzyhJLDk6d1OEmrkLtdArOaeIo
         RI3WdmFYx7EpzKgUZSFk9RJIuERCWJynrUqMRIWpXtCWM78ONVG6bLF/7NDcg1NEE2jm
         lIgzCU89yIecU22yYOukW6rjiU3VTriNaRlK28MAsVUDc410Li4Pt0kJP+iW1nj6LhV6
         dnjQ==
X-Forwarded-Encrypted: i=1; AJvYcCXjnMiYYhiAECyPJySADkCyeVtDkyj3S080IDb+CAFcGxCGkNid3jZVXEybAVMzbNf6rXKQFgVxr5Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwoAMm4FlRFVSf48MJRpq0g+jwCCw7Icp/f5w4Sh1yop+/JYTFE
	2HkEXqJ2nEl3I9KXM/OtW35qfz8wGqIaFaSp711Mdw8RqvT5KG9fHP9J+Xntn3c=
X-Gm-Gg: ASbGncvHcFrdUDBrD6ELnDwwRfIUPLJekbOm0WgAtXeW+Hypd7CqwTplt/NGunR1bDZ
	idq0uoig9peARnUVNPXoIlaQNDiBLeVO0kRCBsYwb2dyQOOkXnbSaBMNWFPaXf7wWwiF6iR+bSm
	9GCLsNMJuDa8ruzV2ae1iS08HURiePPKqE40gbUgHWx1MUrO4AcPh3EKIakZaZEuiTZSLy6/KNc
	AxcU8HhMBdebBEUNHfuUx8LDZbS7OhUyggEPCAgLB7d9ymQxr92ExM07i176ZEwrl88H6sEAyIx
	7O7vD60uogfBa87zbuacQwCfILsgDgZEmb/I3Ke6dk7cv+csZyFIjRETzvp6gMq58DwAFVCM1F2
	psC8h9mB9
X-Google-Smtp-Source: AGHT+IE8sTAtjhj/7icwZAKoMxdYfZML0QN+yciWb8qZtOyVjqjLDDShC9+6SaIVwI6Rk8NQPNrl5Q==
X-Received: by 2002:a05:600c:3110:b0:43c:e9d0:9ee5 with SMTP id 5b1f17b1804b1-43d1e48edd3mr2100345e9.18.1741894539122;
        Thu, 13 Mar 2025 12:35:39 -0700 (PDT)
Message-ID: <8ebbe639-119b-4f13-b660-c492175bbef4@citrix.com>
Date: Thu, 13 Mar 2025 19:35:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] x86/dom0: placate GCC 12 compile-time errors with
 UBSAN and PVH_GUEST
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-4-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: <20250313153029.93347-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> When building Xen with GCC 12 with UBSAN and PVH_GUEST both enabled the
> compiler emits the following errors:
>
> arch/x86/setup.c: In function '__start_xen':
> arch/x86/setup.c:1504:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
>  1504 |             end = consider_modules(s, e, reloc_size + mask,
>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  1505 |                                    bi->mods, bi->nr_modules, -1);
>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/x86/setup.c:1504:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
>   686 | static uint64_t __init consider_modules(
>       |                        ^~~~~~~~~~~~~~~~
> arch/x86/setup.c:1535:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
>  1535 |             end = consider_modules(s, e, size, bi->mods,
>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  1536 |                                    bi->nr_modules + relocated, j);
>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/x86/setup.c:1535:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
>   686 | static uint64_t __init consider_modules(
>       |                        ^~~~~~~~~~~~~~~~
>
> This seems to be the result of some function manipulation done by UBSAN
> triggering GCC stringops related errors.  Placate the errors by declaring
> the function parameter as `const struct *boot_module` instead of `const
> struct boot_module[]`.
>
> Note that GCC 13 seems to be fixed, and doesn't trigger the error when
> using `[]`.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

(I swear I've seen this before, and already fixed it once by switching
to a pointer...)


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 19:40:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 19:40:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913424.1319463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsoPT-000083-Bj; Thu, 13 Mar 2025 19:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913424.1319463; Thu, 13 Mar 2025 19:40: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 1tsoPT-00007P-8x; Thu, 13 Mar 2025 19:40:03 +0000
Received: by outflank-mailman (input) for mailman id 913424;
 Thu, 13 Mar 2025 19:40: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsoPR-0008Ih-Ln
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 19:40:01 +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 f377bd16-0042-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 20:40:00 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so9352825e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 12:40:00 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d0a75b0f6sm63242685e9.22.2025.03.13.12.39.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 12:39: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: f377bd16-0042-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741894800; x=1742499600; 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=+jy2hVvbQxv27HbJ3TE53YSc8e9LvnKEUV9NkiAImag=;
        b=HquROpT3tB3JFL0Zldks02gdf4QKVfrF7aQbhlFgg1o1tdMNgZA7CNwVL9sB/aaNJk
         m2Hl8BTtNNLpoUm0Xs/bj9btE5TmBLe3Zrp34l4UFhGnalrUzyDpNfN1AW6Qssw/yc/V
         +3V5jG1TN99b0seaBZGsKbg+aaek/RGSPHGjM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741894800; x=1742499600;
        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=+jy2hVvbQxv27HbJ3TE53YSc8e9LvnKEUV9NkiAImag=;
        b=t2Pur3GOJYqDddQSBZzzc431756wnoqLfojQRXKSb0nL+WiEFYtnVBmzmJDtD6zjcG
         aKtJCfF9Tuwpo3mZqHQCkN6fFkVefxyymyvl2qe3Fa5IlV76Q1S1Xx1KCSTQ7bTv14E7
         +ariJ15y7/O7J4stbp4/nCnYzTOYnm/Naspc9c4nVjzWRARdfgh49KStV1yObghwMzpP
         2Ph9OOA7+W5wb/2vzACgIzBlDEzAMZZD3TlFcCacm5seu8+X7G3J7iEUFcRPjBD/y56w
         auaSDLlVD54lidioG3JG68nrtpgL0y7SCtYYk1gybtik9//jgjmDFyFCzuz8VcV+xhUj
         iopw==
X-Forwarded-Encrypted: i=1; AJvYcCU0B5i0z5iMfy3UUp+fjahGyodX7bMVKm2i7khTcqDyneMY1IVpb01htjHjtB4EtYZ8Wu/bgRsUyLM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPtbdA60WxJo89FIVAJ5o7DCqSD6uqG3UqjHnZlMDx/sEy+hkf
	BFz6hnnvH9Dx37ILrVBaoBu4wTfIEpXjNU6ptxuD4IYWkAb93IZgQE2lJzZ0GUNnTHjKQfT9jAL
	6
X-Gm-Gg: ASbGncs+ajoyy2zDfwhmlJSFB++La58cs2lcvcIp+eElr08vzwnSfvognWVHLSFAIJJ
	MyRBALFVCWfZxK18BUrC4EHDWAgHStBlWlvzo4TV8+dvCk434Y1gJK9FgeFIUMxitPy9lP95ezB
	hWulFaJq3fpp/GQC+63GNnlBcmDsCb6X9gWUkaavNQUedwO946yi1f1KTLBgvtcmHTprgoTqrAl
	gnnf8RwCOMdaYfXjVCa2fwmVG067Quvg7JOw25CnIp/Dl0Pwc49FxKFlKLVseuKeSvaHmaQnYKF
	MWpBCMsba4BW6R91PVBdOFBrnrzad0s3ECgflg52jVhUWajtHD9xM+SI1cfRtRigj0Ze8sl4wFR
	qLnoK2cNQ
X-Google-Smtp-Source: AGHT+IEuvUZ/JbFduKZnjZsxtgYGYNuJIlLMWXs1F23CmJodTrv7F9eULo3ngFJyGsn4vj3mabRn2Q==
X-Received: by 2002:a05:600c:510f:b0:43d:42b:e186 with SMTP id 5b1f17b1804b1-43d1d8a9d54mr8615015e9.8.1741894799616;
        Thu, 13 Mar 2025 12:39:59 -0700 (PDT)
Message-ID: <8ce7caae-8bf6-4ba2-8705-399129a411b6@citrix.com>
Date: Thu, 13 Mar 2025 19:39:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/7] x86/vga: fix mapping of the VGA text buffer
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-7-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: <20250313153029.93347-7-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> The call to ioremap_wc() in video_init() will always fail, because
> video_init() is called ahead of vm_init_type(), and so the underlying
> __vmap() call will fail to allocate the linear address space.
>
> Fix by reverting to the previous behavior and using the directmap entries
> in the low 1MB.  Note the VGA text buffer directmap entries are also
> adjusted to map the VGA text buffer as WC instead of UC-.
>
> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
>  xen/arch/x86/boot/x86_64.S        | 10 +++++++---
>  xen/arch/x86/include/asm/config.h |  5 +++++
>  xen/drivers/video/vga.c           | 11 ++++++++---
>  3 files changed, 20 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
> index 26b9d1c2df9a..07f4bdf46e31 100644
> --- a/xen/arch/x86/boot/x86_64.S
> +++ b/xen/arch/x86/boot/x86_64.S
> @@ -84,15 +84,19 @@ ENTRY(__high_start)
>  /*
>   * Mapping of first 2 megabytes of memory. This is mapped with 4kB mappings
>   * to avoid type conflicts with fixed-range MTRRs covering the lowest megabyte
> - * of physical memory. In any case the VGA hole should be mapped with type UC.
> + * of physical memory. VGA hole should be mapped with type UC, with the
> + * exception of the text buffer that uses WC.
>   * Uses 1x 4k page.
>   */
>  l1_directmap:
>          pfn = 0
>          .rept L1_PAGETABLE_ENTRIES
> -        /* VGA hole (0xa0000-0xc0000) should be mapped UC-. */
> -        .if pfn >= 0xa0 && pfn < 0xc0
> +        /* VGA hole (0xa0000-0xb8000) should be mapped UC-. */
> +        .if pfn >= 0xa0 && pfn < 0xb8
>          .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_UCMINUS | _PAGE_GLOBAL | MAP_SMALL_PAGES
> +        /* VGA text buffer (0xb80000-0xc0000) should be mapped WC. */
> +        .elseif pfn >= 0xb8 && pfn < 0xc0
> +        .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_WC | _PAGE_GLOBAL | MAP_SMALL_PAGES
>          .else
>          .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR_RWX | MAP_SMALL_PAGES
>          .endif

We have to be careful doing this.

It probably is safe to use WC in the pagetables.Â  We don't start using
the pagetables until after we're sure we're on a 64bit CPU, which means
WC is available.

However, doing so now means that we need explicit SFENCE's when using
this, even in places like early_error.Â  The IN/OUT instructions do flush
WC buffers, but the UART is written to before the screen, so there's a
chance that you'll lose the final character of the message on the screen.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 19:43:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 19:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913434.1319473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsoT2-0002um-SS; Thu, 13 Mar 2025 19:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913434.1319473; Thu, 13 Mar 2025 19:43: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 1tsoT2-0002uf-O2; Thu, 13 Mar 2025 19:43:44 +0000
Received: by outflank-mailman (input) for mailman id 913434;
 Thu, 13 Mar 2025 19:43: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=v8/y=WA=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1tsoT1-0002to-Ib
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 19:43:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7707e5fd-0043-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 20:43:41 +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 2C9704EF54C0;
 Thu, 13 Mar 2025 20:43:39 +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: 7707e5fd-0043-11f0-9898-31a8f345e629
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=1741895020;
	b=X8wNtUEOpWyHeEkc3nDhYtyvLAlL9xlCOBqHVNJ1uBRJWFmtkEYRnBs8/DE8hrglQU4x
	 sYxE2ly8XUD1eZ2gjqj6JyWZknZDXVJbP9IToStrbWAnaCIfrZU0AkckuqGigrHZB508b
	 03N0i3NHiHSjivMP3I8aPRKOSy9wcwe7Htd9lvyMvx2CCXXEFGeEOFFZIlOC8MSJcILLu
	 wMyTSigwLEYQuZQV+b8twI+WeUwpCLXA/44u/sim7OiIWoSgUAj7jvpsUm2yVxbYKizlM
	 IRiUiudybQe2C/6aBih4uyxI+NAF/KnqVDuOpHLpomv8PX22eblnJ33IUuyQvAdYlQXG6
	 nzXWRdXAgTxtdnrc5oDx5E9xPj4nNPtM+7v+4czwaK1TvDuz5nAnMrIX88anfhYk3ROQn
	 bCpxqf0Cbqb/iu2tc2DduIeJPwUhNSimCmY5PAzdzxFxUfuK0QTn4tQgR7RdjbLYWMbaw
	 lVboO9F8mpzhHx8vOGMz3TSYE7edL47Rqzm1GRhfI6GDzulJ0QGuirnZiCQH4uhGtD62T
	 OItp1AQQ0Ch7E1wYypLIJFDXWxPVcXEYmJDauytI4niGiSklYhcgVA8eIYxUDsKTNcHA0
	 GZ/lIFjYE/y3c3SOiugFxGnpdw0712sozcQpHJiT84U1jcfyUoJQa6xS1Gdf6z4=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1741895020;
	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=4Hg4rEQIz84i3eXNf89kUyROq9+jTMVjGNOvXEybiMw=;
	b=h4AURNqKFbgAY9fF+venZfbNaol+bRXICygNTOmIOnq4BTdItHBRXuHuWMzsmJiojhRR
	 PIsjpsgo73I7blNtEuWyp4V7ha80gr2qheN3UhFoQkl2lLTRLoPSTugujl68/3mtpHag3
	 wUHfNuRO8fm6pQJNWcTVCJ5e7/Tjo2yu5TO/5X7jFNH62xDlCXem/XXVu46x2Zi4LGepd
	 r8YOpWy/IriaVPeReN+Cx4DKBelFosWC39beOn46wnkbqb0Neg3DsYR27ldAfxITIr9OV
	 epBzPC2z51wxTfVToYWbUrkfmhL2OaSJbDcx2QGQAVawmJJ8c2XgzfImbjzmVkAS9E4pW
	 Yj1TXhMykcCFAfOD7fYGgBDX41StNLAAS708+r44XH92o1kuZJoy6qaCzu4kyh4uLNBa2
	 bO+iQZR/EYAuteoHNxL8XhhRABQgz298+DpEIKMupEU0diX12TdFXRRpytoXyRD7Xhs7E
	 1JA0A3PcDWYLuuGgdoa51Attn6ouMRjbfdqVsUj/m/q4Zn1N1Esa42k2pNhFkbPtiuRKH
	 ik98LCCq7If7MVY5cMkj3DyntB/hZDdRCfC10fN7xlP2Kkp97CY35ALh7FB74D6UNy6+x
	 TjNMlGVyqeI1DH3mG4F3RklLMtKohKQChiqZ4oCPeOIz8RWxFHVJewE9SNtl1Xc=
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=1741895020; bh=lUOB01YNEw9qTXvoGTZHuuGCOfb3ipeH09EfpWibOEc=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=u3Nmz6Br1zi6KcQdjhi/nziE1mMZcCNeYgQDBMup5ESo8N2+Y29lO/OT3gBYV9UxZ
	 VvdAjbA6WajBdBz679NrKv8m3EeFqtQJptH3PAZzzqpoL8YrieBdBi33G/SmbWo5Pj
	 ttMtkmzHzYPaZROdPthHNoZLjQOP+W7tZsey8r+WjCJAJmYIpgZZxiOU9dPt+vsiUO
	 8GxxWE0g/5tQcRc6RfrNqo/HTkyOtlsjsRDjcgQlJzrjNcgr6Qup1YeW/4oohYMsks
	 Y3+59zGDzmqpGSiKyjnHEHr7ESZ4TmpRvr3FnvEyA812MdJt98MULIGDdV5CNAQnS4
	 aX997tlbhO1rw==
MIME-Version: 1.0
Date: Thu, 13 Mar 2025 20:43:39 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>, Xen-devel
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 4/8] xen/common: Split tlb-clock.h out of mm.h
In-Reply-To: <89fbb5ac-242a-4271-96ad-ea1bc8f77691@citrix.com>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-5-andrew.cooper3@citrix.com>
 <6d910ac4-cf1d-48ee-b088-17254d2272ab@suse.com>
 <89fbb5ac-242a-4271-96ad-ea1bc8f77691@citrix.com>
Message-ID: <8d8cdb19fc6eabc05329ad0e16da4d1a@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-03-13 14:35, Andrew Cooper wrote:
> On 13/03/2025 12:59 pm, Jan Beulich wrote:
>> On 12.03.2025 18:45, Andrew Cooper wrote:
>>> xen/mm.h includes asm/tlbflush.h almost at the end, which creates a 
>>> horrible
>>> tangle.  This is in order to provide two common files with an 
>>> abstraction over
>>> the x86-specific TLB clock logic.
>>> 
>>> First, introduce CONFIG_HAS_TLB_CLOCK, selected by x86 only.  Next, 
>>> introduce
>>> xen/tlb-clock.h, providing empty stubs, and include this into 
>>> memory.c and
>>> page_alloc.c
>>> 
>>> No functional change.
>>> 
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
>>> 
>>> There is still a mess here with the common vs x86 split, but it's 
>>> better
>>> contained than before.
>>> ---
>>>  xen/arch/x86/Kconfig        |  1 +
>>>  xen/common/Kconfig          |  3 +++
>>>  xen/common/memory.c         |  1 +
>>>  xen/common/page_alloc.c     |  1 +
>>>  xen/include/xen/mm.h        | 27 --------------------
>>>  xen/include/xen/tlb-clock.h | 49 
>>> +++++++++++++++++++++++++++++++++++++
>>>  6 files changed, 55 insertions(+), 27 deletions(-)
>>>  create mode 100644 xen/include/xen/tlb-clock.h
>>> 


>> However, see below.
>> 
>>> +        arch_flush_tlb_mask(&mask);
>>> +    }
>>> +}
>>> +
>>> +#else /* !CONFIG_HAS_TLB_CLOCK */
>>> +
>>> +struct page_info;
>>> +static inline void accumulate_tlbflush(
>>> +    bool *need_tlbflush, const struct page_info *page,
>>> +    uint32_t *tlbflush_timestamp) {}
>>> +static inline void filtered_flush_tlb_mask(uint32_t 
>>> tlbflush_timestamp) {}
>> Is doing nothing here correct?
> 
> Yeah, it's not, but this only occurred to me after sending the series.
> 
> Interestingly, CI is green across the board for ARM, which suggests to
> me that this logic isn't getting a workout.
> 
>>  mark_page_free() can set a page's
>> ->u.free.need_tlbflush. And with that flag set the full
>> 
>> static inline void accumulate_tlbflush(
>>     bool *need_tlbflush, const struct page_info *page,
>>     uint32_t *tlbflush_timestamp)
>> {
>>     if ( page->u.free.need_tlbflush &&
>>          page->tlbflush_timestamp <= tlbflush_current_time() &&
>>          (!*need_tlbflush ||
>>           page->tlbflush_timestamp > *tlbflush_timestamp) )
>>     {
>>         *need_tlbflush = true;
>>         *tlbflush_timestamp = page->tlbflush_timestamp;
>>     }
>> }
>> 
>> reduces to (considering that tlbflush_current_time() resolves to 
>> constant 0,
>> which also implies every page's ->tlbflush_timestamp is only ever 0)
>> 
>> static inline void accumulate_tlbflush(
>>     bool *need_tlbflush, const struct page_info *page,
>>     uint32_t *tlbflush_timestamp)
>> {
>>     if ( !*need_tlbflush )
>>         *need_tlbflush = true;
>> }
>> 
>> which means a not-stubbed-out filtered_flush_tlb_mask(), with 
>> tlbflush_filter()
>> doing nothing, would actually invoke arch_flush_tlb_mask() (with all 
>> online CPUs
>> set in the mask) when called. And arch_flush_tlb_mask() isn't a no-op 
>> on Arm.
> 
> Yes.Â  Sadly, fixing this (without Eclair complaining in the middle of
> the series) isn't as easy as I'd hoped.
> 

Hi Andrew,

I didn't quite follow the whole thread (been busy the last couple of 
days), but could you explain briefly what's the issue here? Just a link 
to a failing pipeline should be fine as well.

>> I therefore think that while moving stuff into a separate header makes 
>> sense,
>> HAS_TLB_CLOCK isn't overly useful to introduce.
> 
> It takes a cpumask_t off the stack, because we can pass cpu_online_mask
> straight into arch_flush_tlb_mask(), and it removes a bitmap_copy that
> the compiler can't optimise out.
> 
> ~Andrew

-- 
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 Mar 13 19:55:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 19:55:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913445.1319482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsoe7-00065M-Qs; Thu, 13 Mar 2025 19:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913445.1319482; Thu, 13 Mar 2025 19: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 1tsoe7-00065F-O4; Thu, 13 Mar 2025 19:55:11 +0000
Received: by outflank-mailman (input) for mailman id 913445;
 Thu, 13 Mar 2025 19: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsoe6-000659-IE
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 19:55:10 +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 0efb2391-0045-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 20:55:05 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so12175015e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 12:55:05 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6a27sm3162440f8f.31.2025.03.13.12.55.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 12:55: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: 0efb2391-0045-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741895705; x=1742500505; 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=a44fw/F2HGwdq2h81Ek/Ls18K/R8p8oxMCM7kSCc0a8=;
        b=up5EUtXDRyVD6ueoWjsAasSJOX6V2qE175ycMGFgaDZ2nG9Cx/rtcWN2htQPjaeOOx
         qdByrtR3pkFk85f5zH/xufyb6apw33uCFIxO5uNHKeN9C9yS+Sy34yaARBLbKN+WAnl+
         Wl4VOgLY2AVOqF8gPO+jub21c02QJDXzuyQps=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741895705; x=1742500505;
        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=a44fw/F2HGwdq2h81Ek/Ls18K/R8p8oxMCM7kSCc0a8=;
        b=sg35mrxOo/ukQBZilsb4s6f7iHaaQulmfb/PPBf6UfM99eZrdPihCQSGPYoczXfjmP
         3w2qrD5GibN3KUo22W64uN4tjuPmiS9igZXKgr5hj1VgOktxlU7J7USHnz72QkuSRL9E
         AqIGrFsiLGYjbUgMOrvVFmaLyg31qGBfBYrT++dtFWgQsld3Yoq+SWrv9Gb2yL1Woj9w
         IflVvwxjNfUiPMxTO3hMDcGXl+tQKST0l0R+i3ufut6n7ac6ATww3s8MCQADFCe3WY1Q
         njQoWJC/jk9pjwoESqikXWFU+qO5dld/qyYmAj0zBKBrImz1mFsrxv3rmOH++deHCfQB
         /jsA==
X-Forwarded-Encrypted: i=1; AJvYcCVwGIQ3pT4va+brcAvSUQN+8F/fZ+s5s+qoKJxOW27sySO8i+7wDGQ/1xBdLYgraqzZULWfpX3fsmw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxG04I1CSFEEgx+pU6T/YVNnGozc3Iqr2azsHvCANsDaymQPYYr
	yj8D5u5aFSuyzlh0fQJOOL4idEbm3wYbRW1b17k3XYOH0IFjwvtdiiURzuNRrOg=
X-Gm-Gg: ASbGncuk8I/gY/cwH1rx1ajbmrlTu9e/92dwGFxnDB4AlxPJCQDBgCYFPyALnVKRFBi
	vIbTQrp8scdfT/UbocYF8vXrW6na+m4fTjMnrOeB1T3W6Ty7FzCUNUZnD4UxnbkfnayMijf92F1
	apwAsQuSg1UXBpz0fq5r2GSci0RrmZq1uhjq8j/POgZiAPFsKcw2+A3s8Nsu+L2jkW8gCdMSgzv
	5XXhBgaUMmNEdCtDS7aAiwfJ1KR76VWQ6P2ZmVzFBx3gBpz4PNBrShT19JwhBsq5Auj+J81aItT
	Pc8voSENpPcUmwe8V+75G7AL3+J+I8nmMrwroRfr7zSLqrQ7OFs6MpmLKxnds50t5oIJYDITqtI
	EQOuh4coYJN3i7GjkxO4=
X-Google-Smtp-Source: AGHT+IFxgMgi+l/baY85TO8T73vTaDfVfxpdu3fVcV/jdl7EL+ak9pxFRAHeA87zCxkSVDbkicCLsg==
X-Received: by 2002:a05:600c:3584:b0:43c:f597:d582 with SMTP id 5b1f17b1804b1-43d1d87dae6mr8672435e9.1.1741895704752;
        Thu, 13 Mar 2025 12:55:04 -0700 (PDT)
Message-ID: <3589afd0-3087-4817-9523-e52c7d9d8b1c@citrix.com>
Date: Thu, 13 Mar 2025 19:55:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/8] xen/common: Split tlb-clock.h out of mm.h
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250312174513.4075066-1-andrew.cooper3@citrix.com>
 <20250312174513.4075066-5-andrew.cooper3@citrix.com>
 <6d910ac4-cf1d-48ee-b088-17254d2272ab@suse.com>
 <89fbb5ac-242a-4271-96ad-ea1bc8f77691@citrix.com>
 <8d8cdb19fc6eabc05329ad0e16da4d1a@bugseng.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: <8d8cdb19fc6eabc05329ad0e16da4d1a@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 7:43 pm, Nicola Vetrini wrote:
> On 2025-03-13 14:35, Andrew Cooper wrote:
>> On 13/03/2025 12:59 pm, Jan Beulich wrote:
>>> On 12.03.2025 18:45, Andrew Cooper wrote:
>>>> xen/mm.h includes asm/tlbflush.h almost at the end, which creates a
>>>> horrible
>>>> tangle.Â  This is in order to provide two common files with an
>>>> abstraction over
>>>> the x86-specific TLB clock logic.
>>>>
>>>> First, introduce CONFIG_HAS_TLB_CLOCK, selected by x86 only.Â  Next,
>>>> introduce
>>>> xen/tlb-clock.h, providing empty stubs, and include this into
>>>> memory.c and
>>>> page_alloc.c
>>>>
>>>> No functional change.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
>>>>
>>>> There is still a mess here with the common vs x86 split, but it's
>>>> better
>>>> contained than before.
>>>> ---
>>>> Â xen/arch/x86/KconfigÂ Â Â Â Â Â Â  |Â  1 +
>>>> Â xen/common/KconfigÂ Â Â Â Â Â Â Â Â  |Â  3 +++
>>>> Â xen/common/memory.cÂ Â Â Â Â Â Â Â  |Â  1 +
>>>> Â xen/common/page_alloc.cÂ Â Â Â  |Â  1 +
>>>> Â xen/include/xen/mm.hÂ Â Â Â Â Â Â  | 27 --------------------
>>>> Â xen/include/xen/tlb-clock.h | 49
>>>> +++++++++++++++++++++++++++++++++++++
>>>> Â 6 files changed, 55 insertions(+), 27 deletions(-)
>>>> Â create mode 100644 xen/include/xen/tlb-clock.h
>>>>
>
>
>>> However, see below.
>>>
>>>> +Â Â Â Â Â Â Â  arch_flush_tlb_mask(&mask);
>>>> +Â Â Â  }
>>>> +}
>>>> +
>>>> +#else /* !CONFIG_HAS_TLB_CLOCK */
>>>> +
>>>> +struct page_info;
>>>> +static inline void accumulate_tlbflush(
>>>> +Â Â Â  bool *need_tlbflush, const struct page_info *page,
>>>> +Â Â Â  uint32_t *tlbflush_timestamp) {}
>>>> +static inline void filtered_flush_tlb_mask(uint32_t
>>>> tlbflush_timestamp) {}
>>> Is doing nothing here correct?
>>
>> Yeah, it's not, but this only occurred to me after sending the series.
>>
>> Interestingly, CI is green across the board for ARM, which suggests to
>> me that this logic isn't getting a workout.
>>
>>> Â mark_page_free() can set a page's
>>> ->u.free.need_tlbflush. And with that flag set the full
>>>
>>> static inline void accumulate_tlbflush(
>>> Â Â Â  bool *need_tlbflush, const struct page_info *page,
>>> Â Â Â  uint32_t *tlbflush_timestamp)
>>> {
>>> Â Â Â  if ( page->u.free.need_tlbflush &&
>>> Â Â Â Â Â Â Â Â  page->tlbflush_timestamp <= tlbflush_current_time() &&
>>> Â Â Â Â Â Â Â Â  (!*need_tlbflush ||
>>> Â Â Â Â Â Â Â Â Â  page->tlbflush_timestamp > *tlbflush_timestamp) )
>>> Â Â Â  {
>>> Â Â Â Â Â Â Â  *need_tlbflush = true;
>>> Â Â Â Â Â Â Â  *tlbflush_timestamp = page->tlbflush_timestamp;
>>> Â Â Â  }
>>> }
>>>
>>> reduces to (considering that tlbflush_current_time() resolves to
>>> constant 0,
>>> which also implies every page's ->tlbflush_timestamp is only ever 0)
>>>
>>> static inline void accumulate_tlbflush(
>>> Â Â Â  bool *need_tlbflush, const struct page_info *page,
>>> Â Â Â  uint32_t *tlbflush_timestamp)
>>> {
>>> Â Â Â  if ( !*need_tlbflush )
>>> Â Â Â Â Â Â Â  *need_tlbflush = true;
>>> }
>>>
>>> which means a not-stubbed-out filtered_flush_tlb_mask(), with
>>> tlbflush_filter()
>>> doing nothing, would actually invoke arch_flush_tlb_mask() (with all
>>> online CPUs
>>> set in the mask) when called. And arch_flush_tlb_mask() isn't a
>>> no-op on Arm.
>>
>> Yes.Â  Sadly, fixing this (without Eclair complaining in the middle of
>> the series) isn't as easy as I'd hoped.
>>
>
> Hi Andrew,
>
> I didn't quite follow the whole thread (been busy the last couple of
> days), but could you explain briefly what's the issue here? Just a
> link to a failing pipeline should be fine as well.

There isn't one.

But to untangle this the easy way, I'd need to have a duplicate
declaration for arch_flush_tlb_mask() for a patch of two.

Which I know Eclair would complain about, and therefore I need to find a
different way to untangle it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 19:59:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 19:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913459.1319493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsoib-0006j9-Fx; Thu, 13 Mar 2025 19:59:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913459.1319493; Thu, 13 Mar 2025 19:59: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 1tsoib-0006j2-CS; Thu, 13 Mar 2025 19:59:49 +0000
Received: by outflank-mailman (input) for mailman id 913459;
 Thu, 13 Mar 2025 19:59: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=4VEl=WA=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tsoiZ-0006iu-Vk
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 19:59:48 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20628.outbound.protection.outlook.com
 [2a01:111:f403:2409::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4a1108f-0045-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 20:59:44 +0100 (CET)
Received: from SJ0PR03CA0056.namprd03.prod.outlook.com (2603:10b6:a03:33e::31)
 by IA0PR12MB8930.namprd12.prod.outlook.com (2603:10b6:208:481::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar
 2025 19:59:39 +0000
Received: from SJ5PEPF0000020A.namprd05.prod.outlook.com
 (2603:10b6:a03:33e:cafe::6f) by SJ0PR03CA0056.outlook.office365.com
 (2603:10b6:a03:33e::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.21 via Frontend Transport; Thu,
 13 Mar 2025 19:59:39 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF0000020A.mail.protection.outlook.com (10.167.244.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 13 Mar 2025 19:59:39 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 13 Mar
 2025 14:59:38 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 13 Mar 2025 14:59:38 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4a1108f-0045-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PR1ynQv2YbXOF9ytjU4sCnkuaGZoBz9bqtw2Ni+gk0q6ohH8S6i0eA3x2jul7Yf13ldDu9iTg+ACLxdgWHYmEGOXiHRFXkIQLGma4aje/lkCAjbGsaYa5MXFFK9B0eiLrV4Nwqjhcss+PHW9GSM6qkgp9B/Zr5fVkpcR/8KYfamE3y3VdpfFFTY/DzRePKkKFy5dniKnDaTjhtwe7h1SlMs/rklyQ+inFfYKHVsmWEGCey9VG0hsnHtPmPVfalh33fnjmoJunxEDDKgkx8+gYTx1MSQBFVeYa3ZFmrkzZrltRcw4nXIXXPllEUV/0rfP/CucvYvFZCgx2ixboLDzyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nqfPq+mZmGNLseZ0eeM6hYKGvOqszUy0gCFXV0Axp3k=;
 b=Sl/Wj0FjGKjko+xHnvW7ZcZKUn1mC3v487hV+SGRwDWkmQNeRZ/1qtCcMvJFzLJhrc59G6gjRD1Dzz0mFzl+5m2nBPZDo6Hcz93GjVvh4rRXtO0CsGCsNRBGJHH3iWfSZuiWXx1CIQL5imTmq9etL1a267WNYZWZfTNJanJKY+F4i/3l9nAB9yezE2N6NXHKe6H6X6E3BVjO2G1nzXGaFYjLe8tTQrLvFHODct1eKPxuKtvVk/jj0QhfcG5vhaLTg10t4cpp0cf7srOEdztmmqF3vMo9SO6FHTqtoJpOQ1XsJHGgK8ZJJlT8NdwcIDVoYWLHWk7mH20ecQyRTfq/Gg==
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=nqfPq+mZmGNLseZ0eeM6hYKGvOqszUy0gCFXV0Axp3k=;
 b=KKTjVc7ZPeVDjRXkBkw/uMNkM6ymXBCHxjHpgn5lzB7kTqUH+sxZbEQJs9RIaTRGTFD3IK3TQDYr0aw4ignoig9tlUYhzpt1TKCM45nhusNpI67w6x1Scb0pT8tslViX8il5XyfzNNkRxiY6cTF65Ht3VB1+J+7I2X+kg0+vb0A=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <f308cbf6-0d2d-4843-982a-a59ea70c7ad1@amd.com>
Date: Thu, 13 Mar 2025 15:59:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Andrii Sultanov <sultanovandriy@gmail.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: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF0000020A:EE_|IA0PR12MB8930:EE_
X-MS-Office365-Filtering-Correlation-Id: 55537e00-3af8-44f5-ccc0-08dd62699691
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:
	=?utf-8?B?VjNMMVpjUzc4SDVVUzB2azNqZTUzY3k2UGhZaDBSd2tjb2FqWnlSVk5XZGVX?=
 =?utf-8?B?bXJ3SHZVVER1bGNNU3ltMkRXdEZ0dUtSQ0VndmkrTUgzVWN6U2NZb01vaDBR?=
 =?utf-8?B?NmJUKzZzNStLaElQbGcvK3lnOXFwS0JST3VTd09FVVR5VEdJMnVhVmZoSit1?=
 =?utf-8?B?b3gzdlhvL05Md2d1dGRaeVc3TWh6NGdmU1UybTVxWldsOWYwNmI2Mi9lZmVI?=
 =?utf-8?B?MmtrNUY5WVMxMytoMjhsZ0YyQ09jcFNTaVhCcVk5YzZwbkN5VHA1NkFxcWJT?=
 =?utf-8?B?QjFKUzU1S25qSWE5NURrYUUxY1ZaR2tFOVZrSE5yRFNVUFA5SVowRTRVcmtt?=
 =?utf-8?B?ZjRIbkVEaGVDQ1FwUk12b1FLQmlIbTBMaldZVE9NN09veFlnd0NqbGl3UE9B?=
 =?utf-8?B?RHhUKzMwbEk3UlBjakdFODdWeVdQb1JUTXRNWCtWUUl0WEdoUmNyNy8xb2xX?=
 =?utf-8?B?QlBQMmVNYm5JSVRyVDkxYVdQYVNNWjdsb09mTmxzeFYxVWo1WDJTeHByOEIr?=
 =?utf-8?B?RG1BZ3gyZkJ1WlFWeCtPN3p1WXhic2t4TE1lVWRnSnNEcUd0LzEyWHJZWHQ5?=
 =?utf-8?B?VTAwNlhNckRZTmp6TVYwaWVrQWlrbyt1UitKVTQrRm1hejNGM2ZjRnZSZjJE?=
 =?utf-8?B?a2JzbXNFcndGeENFNm5YL29BZmdQZ3ZGMExVb0k5TEZRWDdJdGd1NFdkMWhU?=
 =?utf-8?B?aE80RFcrZlVQZWF2ZzlJUXFxS0IxVW9ZRWNMdWFMNFVKYjBadlBPQXFob1RX?=
 =?utf-8?B?SUQ0SkhuMlZUUVJGRXRyVFQ2OHZJR2swcUZxQWIyY0plU0NGWHNZMUZ6a2tw?=
 =?utf-8?B?VEFJVURqaTc0Y1VzejJxcHRUcW16VWc4Z3ZhcDlQdWF6azMyOE13NDhES25C?=
 =?utf-8?B?d3ErTXQ1QmN3RTVOVGxiRHBOMGs2OEt5Z2pPTU93aXdlMGg1d2Vrc3k5bFdX?=
 =?utf-8?B?ajc4L1VkNEc4Wi9rNys2RGJTNThOQUovMmJoQldVSHpKeEFDWlJQcnUxTG1F?=
 =?utf-8?B?ZzAydU1ydHF5ei91RzVma2lDU3BNU2hPQUVaK2xWT3hiOXF6Q1V5S3lnWmov?=
 =?utf-8?B?cFRHWGozdUZ0QWF0cXhPL3hNdldPREJNQzFGRkNNSWV4b2FEbFdReVZaVXA2?=
 =?utf-8?B?VlRxTmdzRjNkY1NrM2RGVCtRLy95UG1OTnkrZXUxK1dja0RiK0FOamxOajZZ?=
 =?utf-8?B?aWZ2YldudWkyeGs3Zm1iRWo0Zkxtc3R6dzdzNit1TzlPTm00Q2NiSkNQOGdV?=
 =?utf-8?B?MnpuWE9ocndvM2M4MXM5NUJ6ZXJYdTlNZlR1cGM4Yy8wVStMeFEvdEMvL2JQ?=
 =?utf-8?B?TGh2bjFFYldvM21tMGZjNkQwalc5bEdLMmljOUJ4TTJDd3VXb0R6T2ZMd2NG?=
 =?utf-8?B?enMvTG90Rm0vdWwwRmFjM2FHMVVjNHVFcnJrVGZWMk1tcTJKMzZmc0d4Nklw?=
 =?utf-8?B?bkRzaE9BYVpxOG5LanlJRk1nSjV4VHRxUlJCSi9MYjhQcDRSTmY1NkpzYXJ0?=
 =?utf-8?B?Y2RqSis0WW9TN3dRTEd5dmJqNFJldjJPSFFzbUovUmJzVDJRVjd3RjVtRVdD?=
 =?utf-8?B?R2lGYXFFcEl1aEdlZWcya1hlUXl0d0F6TURMaERxdlJnS0l5MmlZM3B4ZGZi?=
 =?utf-8?B?VVRmSkxOSjhCNWJKNk8wTHJqdzB2M3h2NUk4eVdNTkFPNndTSk1DRGFMeFVB?=
 =?utf-8?B?ak82ZDUyNjByd2loTXJaM3dnZ2ZHT3VVYkZLSnpsUGk3dnBkRytabnEydWlZ?=
 =?utf-8?B?VTdvZkJjK0x0d0tSdkVoRzI0b3hOSXFVTWdtM0V5aWtKV1RCSlZRQmhCL3Br?=
 =?utf-8?B?MHU1Qnp5SEIzSmdlMUlYYW1DakdWMVZuQzcxZXh6RzZzUkJud2FTS2EzOC9x?=
 =?utf-8?B?Y2pJc2ZXV2NJMG96d0lRZGUzczJMQ2ZuOGlFblp0b2dHdG5kb0FzclBackN1?=
 =?utf-8?B?NzJtcnd2eko3c01NanhDd2h2cm9zandtdHI0SjE5UXgrR2xTV3ZVZE4xa2tQ?=
 =?utf-8?Q?aoM9UPto0LWu+ctlad2XNrzI+21chM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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 Mar 2025 19:59:39.2297
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 55537e00-3af8-44f5-ccc0-08dd62699691
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF0000020A.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8930

On 2025-03-13 14:57, Andrii Sultanov wrote:
> Following on from 250d87dc, struct amd_iommu has its seg and bdf fields
> backwards with relation to pci_sbdf_t. Swap them around, and simplify the
> expressions regenerating an sbdf_t from seg+bdf.
> 
> Simplify ioapic_sbdf and bpet_sbdf along the way. Adjust functions
> taking seg and bdf fields of these structs to take pci_sbdf_t instead.
> Simplify comparisons similarly.

It's rather large.  Can this be sensibly split into smaller patches?

> diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
> index 00e81b4b2a..6903b1bc5d 100644
> --- a/xen/drivers/passthrough/amd/iommu.h
> +++ b/xen/drivers/passthrough/amd/iommu.h
> @@ -77,8 +77,14 @@ struct amd_iommu {
>       struct list_head list;
>       spinlock_t lock; /* protect iommu */
>   
> -    u16 seg;
> -    u16 bdf;
> +    union {
> +        struct {
> +            uint16_t bdf;
> +            uint16_t seg;

Are these still needed by the end of this patch?

> +        };
> +        pci_sbdf_t sbdf;
> +    };
> +
>       struct msi_desc msi;
>   
>       u16 cap_offset;

> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
> index 5bdbfb5ba8..57efb7ddda 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -107,12 +107,12 @@ static void __init add_ivrs_mapping_entry(

> @@ -239,17 +239,17 @@ static int __init register_range_for_device(
>       unsigned int bdf, paddr_t base, paddr_t limit,
>       bool iw, bool ir, bool exclusion)
>   {
> -    int seg = 0; /* XXX */
> -    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> +    pci_sbdf_t sbdf = { .seg = 0, .bdf = bdf };

Maybe retain the /* XXX */ to highlight that segment is hardcoded to 0.

> +    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
>       struct amd_iommu *iommu;
>       u16 req;
>       int rc = 0;
>   
> -    iommu = find_iommu_for_device(seg, bdf);
> +    iommu = find_iommu_for_device(sbdf);
>       if ( !iommu )
>       {
>           AMD_IOMMU_WARN("IVMD: no IOMMU for device %pp - ignoring constrain\n",
> -                       &PCI_SBDF(seg, bdf));
> +                       &(sbdf));

Please drop () for just &sbdf.

>           return 0;
>       }
>       req = ivrs_mappings[bdf].dte_requestor_id;
> @@ -263,9 +263,9 @@ static int __init register_range_for_device(
>           paddr_t length = limit + PAGE_SIZE - base;
>   
>           /* reserve unity-mapped page entries for device */
> -        rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir,
> +        rc = reserve_unity_map_for_device(sbdf.seg, bdf, base, length, iw, ir,

Another candidate for conversion?

>                                             false) ?:
> -             reserve_unity_map_for_device(seg, req, base, length, iw, ir,
> +             reserve_unity_map_for_device(sbdf.seg, req, base, length, iw, ir,
>                                             false);
>       }
>       else

> @@ -916,8 +916,8 @@ static int __init parse_ivhd_block(const struct acpi_ivrs_hardware *ivhd_block)
>                       ivhd_block->pci_segment_group, ivhd_block->info,
>                       ivhd_block->iommu_attr);
>   
> -    iommu = find_iommu_from_bdf_cap(ivhd_block->pci_segment_group,
> -                                    ivhd_block->header.device_id,
> +    iommu = find_iommu_from_bdf_cap(PCI_SBDF(ivhd_block->pci_segment_group,
> +                                    ivhd_block->header.device_id),

Please indent to match the end of "PCI_SBDF(".

>                                       ivhd_block->capability_offset);
>       if ( !iommu )
>       {
> diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
> index 83c525b84f..dc3d2394a1 100644
> --- a/xen/drivers/passthrough/amd/iommu_cmd.c
> +++ b/xen/drivers/passthrough/amd/iommu_cmd.c
> @@ -85,7 +85,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
>               threshold |= threshold << 1;
>               printk(XENLOG_WARNING
>                      "AMD IOMMU %pp: %scompletion wait taking too long\n",
> -                   &PCI_SBDF(iommu->seg, iommu->bdf),
> +                   &(iommu->sbdf),

Please drop ().

>                      timeout_base ? "iotlb " : "");
>               timeout = 0;
>           }
> @@ -95,7 +95,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
>       if ( !timeout )
>           printk(XENLOG_WARNING
>                  "AMD IOMMU %pp: %scompletion wait took %lums\n",
> -               &PCI_SBDF(iommu->seg, iommu->bdf),
> +               &(iommu->sbdf),

Please drop ().

>                  timeout_base ? "iotlb " : "",
>                  (NOW() - start) / 10000000);
>   }

> diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passthrough/amd/iommu_detect.c
> index cede44e651..7d60389500 100644
> --- a/xen/drivers/passthrough/amd/iommu_detect.c
> +++ b/xen/drivers/passthrough/amd/iommu_detect.c
> @@ -231,7 +231,7 @@ int __init amd_iommu_detect_one_acpi(
>       rt = pci_ro_device(iommu->seg, bus, PCI_DEVFN(dev, func));
>       if ( rt )
>           printk(XENLOG_ERR "Could not mark config space of %pp read-only (%d)\n",
> -               &PCI_SBDF(iommu->seg, iommu->bdf), rt);
> +               &(iommu->sbdf), rt);

Please drop ().

>   
>       list_add_tail(&iommu->list, &amd_iommu_head);
>       rt = 0;
> diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
> index bb25b55c85..e2c205a857 100644
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c

> @@ -752,12 +750,11 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
>       }
>   
>       pcidevs_lock();
> -    iommu->msi.dev = pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf));
> +    iommu->msi.dev = pci_get_pdev(NULL, iommu->sbdf);
>       pcidevs_unlock();
>       if ( !iommu->msi.dev )
>       {
> -        AMD_IOMMU_WARN("no pdev for %pp\n",
> -                       &PCI_SBDF(iommu->seg, iommu->bdf));
> +        AMD_IOMMU_WARN("no pdev for %pp\n", &(iommu->sbdf));

Please drop ().

>           return 0;
>       }
>   


> @@ -1543,14 +1540,14 @@ static void invalidate_all_domain_pages(void)
>   static int cf_check _invalidate_all_devices(
>       u16 seg, struct ivrs_mappings *ivrs_mappings)
>   {
> -    unsigned int bdf;
> +    pci_sbdf_t sbdf = { .seg = seg, .bdf = 0 };

.bdf = 0 isn't necessary as it will be set to 0 by default.

>       u16 req_id;
>       struct amd_iommu *iommu;
>   
> -    for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
> +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; sbdf.bdf++ )

I'd either set it or just drop the comment.

>       {
> -        iommu = find_iommu_for_device(seg, bdf);
> -        req_id = ivrs_mappings[bdf].dte_requestor_id;
> +        iommu = find_iommu_for_device(sbdf);
> +        req_id = ivrs_mappings[sbdf.bdf].dte_requestor_id;
>           if ( iommu )
>           {
>               /*
> diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
> index 9abdc38053..0c91125ec0 100644
> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c

> diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
> index dde393645a..17070904fa 100644
> --- a/xen/drivers/passthrough/amd/iommu_map.c
> +++ b/xen/drivers/passthrough/amd/iommu_map.c
> @@ -694,17 +694,16 @@ int amd_iommu_reserve_domain_unity_unmap(struct domain *d,
>   int cf_check amd_iommu_get_reserved_device_memory(
>       iommu_grdm_t *func, void *ctxt)
>   {
> -    unsigned int seg = 0 /* XXX */, bdf;
> -    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> +    pci_sbdf_t sbdf = {0};

Just " = {};"

> +    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
>       /* At least for global entries, avoid reporting them multiple times. */
>       enum { pending, processing, done } global = pending;
>   
> -    for ( bdf = 0; bdf < ivrs_bdf_entries; ++bdf )
> +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; ++sbdf.bdf )

Like earlier, change to code or remove comment.

>       {
> -        pci_sbdf_t sbdf = PCI_SBDF(seg, bdf);
> -        const struct ivrs_unity_map *um = ivrs_mappings[bdf].unity_map;
> -        unsigned int req = ivrs_mappings[bdf].dte_requestor_id;
> -        const struct amd_iommu *iommu = ivrs_mappings[bdf].iommu;
> +        const struct ivrs_unity_map *um = ivrs_mappings[sbdf.bdf].unity_map;
> +        unsigned int req = ivrs_mappings[sbdf.bdf].dte_requestor_id;
> +        const struct amd_iommu *iommu = ivrs_mappings[sbdf.bdf].iommu;
>           int rc;
>   
>           if ( !iommu )

> diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> index d00697edb3..16bab0f948 100644
> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> @@ -32,35 +32,35 @@ static bool __read_mostly init_done;
>   
>   static const struct iommu_init_ops _iommu_init_ops;
>   
> -struct amd_iommu *find_iommu_for_device(int seg, int bdf)
> +struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf)
>   {
> -    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> +    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);

Adding:
unsigned int bdf = sbdf.bdf

here would eliminate all the sbdf.bdf use below.

Thanks,
Jason

>   
> -    if ( !ivrs_mappings || bdf >= ivrs_bdf_entries )
> +    if ( !ivrs_mappings || sbdf.bdf >= ivrs_bdf_entries )
>           return NULL;
>   
> -    if ( unlikely(!ivrs_mappings[bdf].iommu) && likely(init_done) )
> +    if ( unlikely(!ivrs_mappings[sbdf.bdf].iommu) && likely(init_done) )
>       {
> -        unsigned int bd0 = bdf & ~PCI_FUNC(~0);
> +        unsigned int bd0 = sbdf.bdf & ~PCI_FUNC(~0);
>   
> -        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != bdf )
> +        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != sbdf.bdf )
>           {
>               struct ivrs_mappings tmp = ivrs_mappings[bd0];
>   
>               tmp.iommu = NULL;
>               if ( tmp.dte_requestor_id == bd0 )
> -                tmp.dte_requestor_id = bdf;
> -            ivrs_mappings[bdf] = tmp;
> +                tmp.dte_requestor_id = sbdf.bdf;
> +            ivrs_mappings[sbdf.bdf] = tmp;
>   
>               printk(XENLOG_WARNING "%pp not found in ACPI tables;"
> -                   " using same IOMMU as function 0\n", &PCI_SBDF(seg, bdf));
> +                   " using same IOMMU as function 0\n", &sbdf);
>   
>               /* write iommu field last */
> -            ivrs_mappings[bdf].iommu = ivrs_mappings[bd0].iommu;
> +            ivrs_mappings[sbdf.bdf].iommu = ivrs_mappings[bd0].iommu;
>           }
>       }
>   
> -    return ivrs_mappings[bdf].iommu;
> +    return ivrs_mappings[sbdf.bdf].iommu;
>   }
>   
>   /*


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 20:06:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 20:06:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913475.1319504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsoor-0001Wq-3t; Thu, 13 Mar 2025 20:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913475.1319504; Thu, 13 Mar 2025 20:06: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 1tsooq-0001Wj-W9; Thu, 13 Mar 2025 20:06:16 +0000
Received: by outflank-mailman (input) for mailman id 913475;
 Thu, 13 Mar 2025 20:06: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=zfkQ=WA=dornerworks.com=Nathan.Studer@srs-se1.protection.inumbo.net>)
 id 1tsoop-0001Wd-OW
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 20:06:15 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0613.outbound.protection.office365.us
 [2001:489a:2202:c::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b94e5c2-0046-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 21:06:12 +0100 (CET)
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:195::20)
 by SA1P110MB2265.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:167::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.37; Thu, 13 Mar
 2025 20:06:08 +0000
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea]) by SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea%4]) with mapi id 15.20.8489.035; Thu, 13 Mar 2025
 20:06: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: 9b94e5c2-0046-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=AdHSgkktNRtCObOWQqXJ7sIw7EaItlk/CMafoTEzGZGpO4+xKgT7i7UZrBMqURc9KE9lButrZENXx8RwLCUheNxIUWCn3Kfek9BCGnoAaPJ82J33IK6wFU7J+n4FczZvaNuxapnArvzZ4bXVpk3SEr/Yp7W20ROhStZBDvSYu+Fx4/9INHdfNl8TA5XsfaGpc5ZKtyJsyORYzwaC4XGdl2X9mEB/LZVVqMxWvhd0E2QLPFI+ErSnVeHUhlYb6DL+V4uqjwMrofi2+MS0BP84pE693vZW9AjqMRnpE7feK02+YEa6OYKo6YvhYGfJU8b9MHLsq2HfLUMXSpJFmO9S8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b6HixeUQc8ew+vO1YJOtKqDcUNesmYML9qW6m1pm7YE=;
 b=J1UUfTWvehOe3QAe3LJwqDui/UMErcWbOBCB55iXkkvyMekhGp1nLuX6427/vxHH+UlkpIu5UNGd0WGByBl9FXwqffgeCHnWYf13C19BTO4E/Kzsm5ZKS0PdX/8+dNsxXFSzDdB8KFsMhTMl9hr6YLdkPIYBw+bbkheWe0xN/lsjAdS6y8M2Z0TUbLAmYpW5MbUQ9JX9irIbbsfmbcYlJWLF15zxyN1Tr+bQocOBqEmaK50YV2bffbd6MS1v6G8T2H764TMJDybclCsbHtvnDhJvH2ovTOFzxpXKUnrsGf475isOqC7hSKzhJ6/CQSQaw1wq1K9LVjjsg+aTacI8Lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=dornerworks.com; dmarc=pass action=none
 header.from=dornerworks.com; dkim=pass header.d=dornerworks.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dornerworks.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b6HixeUQc8ew+vO1YJOtKqDcUNesmYML9qW6m1pm7YE=;
 b=cAClS7HGObhEk2DiRzZSPradZAXMmNqKh4rpFx4A6N4fty1OmHCFJaI47SITmdz7oJ8xPRr97ChG21SeFndJbQPSYN68oks41wtN3Rb8n2n+f111VDhF/0renBttEexN6UwRRtx+9+LTJNjePfk7AjltnOozh09aKvLtraNdzI60r4uiMxZBOKQbO6twZ172UpRTNPDuWK/m1nfOD0qyMPWY/5uYPhCE2nBIT1l3Y/EaapEborZ5Njoz7/ZY6rvESueey/LpNaZAl6NeavORrkXatZ7SqY+tUAOIQBlPLHIW9UJmfg8T74bjSP/eryrjg6pHA3RjzkBRnP6hb46YCg==
From: Nathan Studer <Nathan.Studer@dornerworks.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Juergen Gross
	<jgross@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, xen-devel <xen-devel@dornerworks.com>, Jeff
 Kubascik <Jeff.Kubascik@dornerworks.com>
CC: Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
	George Dunlap <gwd@xenproject.org>, Choi Anderson <Anderson.Choi@boeing.com>
Subject: RE: [PATCH] xen/sched: fix arinc653 to not use variables across
 cpupools
Thread-Topic: [PATCH] xen/sched: fix arinc653 to not use variables across
 cpupools
Thread-Index: AQHbk/rJLC8kkmZ6m0etj3YPTyi7AbNw8nsAgACI0dA=
Date: Thu, 13 Mar 2025 20:06:07 +0000
Message-ID:
 <SA1P110MB1629ABA437E47DA887CA5FCEF4D3A@SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM>
References: <20250313093157.30450-1-jgross@suse.com>
 <8655362d-4019-4dca-b232-5adeb13c3ac1@citrix.com>
In-Reply-To: <8655362d-4019-4dca-b232-5adeb13c3ac1@citrix.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=dornerworks.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1P110MB1629:EE_|SA1P110MB2265:EE_
x-ms-office365-filtering-correlation-id: d89ba5c7-775e-4ee4-19fc-08dd626a7deb
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|41320700013|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?Znl5U05vMWpyeWt5UGJFQTNWUGxlQmVJRWx5ZHBwNVduSXdIeWhzYWRyK05J?=
 =?utf-8?B?a3dFdWpIWmI2bHl4ckJmeHR4Zk55K0JrNXBreU9LenY1WXFkK3dzK05CRlBy?=
 =?utf-8?B?SGF3YUR1Q1cyVkpWR3QwTUt3RzQ1cThhakhDMlZSYkVVQ0ZBR0llRk52dHdP?=
 =?utf-8?B?RmtjNjZSRjhmUXdMTmFzcVpvT0k0K1c3Y1BPMmoxSVl6Q2pqaVFlb0Nablpa?=
 =?utf-8?B?R2F2anJKMlc4bzdNanJnSitrTEdnUG9LT05RNzcyVXpjemt2OVk3S0VVWmhD?=
 =?utf-8?B?YUJVemQ4Tmp5eWcrbUFQazhseU9yeE5jbUdwS1c1MFVMeFZ5OHhwTFI1d0ps?=
 =?utf-8?B?VGlqcHhrT0JpK0tLckVWY05Rd01IN3VRVlg3TCtNL3BHVWNUL1RnQ1Ftdjc3?=
 =?utf-8?B?WkFJZUdTeVFHRkRRUXhSRU5DU29td1VNdE1tM0VrVmRlRVpGdVBDMmZrVmFY?=
 =?utf-8?B?UllLT09IME82NWl1Y2oxVEVYRnRYZXNRNFNPaGJYVXZoVDcrYkt2Qko5WjBX?=
 =?utf-8?B?L0N2d2RwcTJSaTRHSVVBSnRCT3dTSzhuSmpuWU9qZ2tlYy9jeWJybGJLNUw3?=
 =?utf-8?B?NmdvVklhdWFCZ2kwRXM4ZzhGMHQvbEswbVJyS0lRajVvWkhEOGVKaDVRS1Z5?=
 =?utf-8?B?eDA4akg2VGdOMDNyWUJPRFNPTEdpNmc2TE05d0xpdDBzVjhKWkh1SFlFVHg0?=
 =?utf-8?B?WitzSWRJLzR5VEh0bXRHdnZzSUJYcXgxL3hvR3dUNFBZYVM2MHl5azhzZkh4?=
 =?utf-8?B?QzQzcjB6UFVSVmZRbjVDTStoa1pFWnNtZm4wdFZSamlDYytWaFZMTDFqeThR?=
 =?utf-8?B?dU54S1dlY2pBOHFtR0VkMlc3Vk5TamZEajYzRWNoV3VicGtVT2hwWm1sSzVC?=
 =?utf-8?B?aWE2TW5TS2ZGWEVxU1RLQnlvZldJWW9ybEJ6bmpYTHM1SmhrZE5EM1pJM2pN?=
 =?utf-8?B?cXNtdTJML0FGek9uand5UGFraENITFQ3VWlJbGs4L3R1emZacjlKWXV3eFZq?=
 =?utf-8?B?ZFduTkJ6Ym10cThpb3BGSlAyeEhXWHc4WmljVTlOZENiT2Z6MDJUN0s2VFJz?=
 =?utf-8?B?OTNzbkk1eHhnYW9qalg5UTBDZm1iRFVpWE8rS0NXTkZGUVJSYzhDOHlaRlAv?=
 =?utf-8?B?N1NrVUx6NTVhUS91cFhJNnpKVWNJSDNqNkhxK2s3WWJCL29PNHd1YnBwd1VU?=
 =?utf-8?B?M1J0RFp3b09xeXFORWNvZkorck1tL2M5L29mZkFqNlV1UjlIV0drRE5wMHY5?=
 =?utf-8?B?Y0k0ZnFVeXVhcHBXOWk4SjA4bUFFWDV4dzB3Z1BucXo5YUhKYVMxUVFibCtF?=
 =?utf-8?B?bWpJeWJ2c0dEbkVycThaeU1zaE9vVStjQWtqVlVIcElGQmlJcWJYLzJLVG9w?=
 =?utf-8?B?VndxaG5zVXBUSEgrT3BVM2pIUE00T2RWN25GUVBHQXFiKzhzOTk1WFk5NkQ5?=
 =?utf-8?B?bFB4aHUybS9iUmRJdXp2MWVtZURLRXRMdWcvd2NpZXhGcGE4S2xrNFUramFr?=
 =?utf-8?B?VWhLYzZkSFJJeTd5QlJYa3lDMjludktCaEs2Y0F0aVdwaHRHQXg2TzJEUXkx?=
 =?utf-8?B?Q0VuQUdWd29ydWZEeGhRSHQ2YTg1NUFDU3RMNFdIT2swUlpOekQ5Y2toUzlY?=
 =?utf-8?B?QXdBUkFlQmdxVWIzMFNOWmZ2Y3lpSDFIeEwzL1hSaGZkWEhYdnIxQ3VCeHZn?=
 =?utf-8?B?djZHWkhrb0FUTnZiOU9xaEJnKzAzUG9XT21zYWlIL3lOT25DZWV2SlpURU85?=
 =?utf-8?B?UnBlWmc2VXBySXhuazJzeC8rcVhCaFVsbkJPM1U4TjU3SUliNkRTZE01QnVp?=
 =?utf-8?B?SzhveEpxQkl5aGdWSThPVUdPQk5BR1JDdFlqRVVIbE90NTZ0UHU3QVRFbkZi?=
 =?utf-8?B?OERQYk5CQW1KeURLYTFKR055WDUvT05pVmw5SHdWTE5IbFNKN3RzcGFnT0Fo?=
 =?utf-8?Q?9k+ce5uOUZl8FSEFQ8Xb1qElk8adws+G?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(41320700013)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Nmc5RjhLaHZReGtZTVF4YVgrcnZlVkZpdjl0RjcvYkZJK1ptTVVYYWZkMjg1?=
 =?utf-8?B?OVZySGszUWdxakxZSEY0SDJFelpabWZ2d2NmQ2JsdEZjbUFSaVA0TDFMcUx0?=
 =?utf-8?B?dnVoVlBFY2ZZNjFVbjRZS2diN2dFUjdGV0d2SGVXeHljdWhOMnVKd2RMNnk0?=
 =?utf-8?B?VUZVakpYTjBxYkVMeFU3N25hQ3FJTHV1ZEo0L0w1NC9JbFI4SHhFakkwZmZz?=
 =?utf-8?B?NTFZWnBBQmNMN0F1Z0J3UGlJTkxkZEZNeVYyZWVKam9HNC9EcFFmZ25UUzRq?=
 =?utf-8?B?RG1Vb0hMcGsrajhOc3hjRmMrUFBZZnZKVUhQeWZTNUI3MWF5ejNHbXV1Sk5M?=
 =?utf-8?B?QkNHVllaVlcxM0VXRmpXYTlONi9hZDF5Q25mdlgyWmJUcFI2cElJQTJlNFE1?=
 =?utf-8?B?Qm5XbjBna1B5UklIVng5VUhjVEdZdHg3WGZMUCsyelQ4R2VCY3lKdWRrY0Js?=
 =?utf-8?B?a0pKNm5XYStDcS9ZUEFtQllDTDhRUDhTYmpvMW1ZOUVKc3BId0JVNm1QS3RI?=
 =?utf-8?B?UkZaR0ZESHBaL01qL3JKUTFLVmtUQ1dqMUFkNjRUWFpwT3VpajhDdmYxK0Rx?=
 =?utf-8?B?ckw5TTUrY2pWZ3dDbER6SE9JRmIwN0lueEdlenJYT1hzUjJJTlphUzQ3cWll?=
 =?utf-8?B?NDdaeVJrYW84Yjg0eGhzdDhkbGdvd011QkltWnpMZHNFSHl3YlV6eFFobUdO?=
 =?utf-8?B?VTB3QWRQYm9lTVBVRU8vdGdiWktJOUljU3UvaU11NGZUMWxwZXBrc0loajBK?=
 =?utf-8?B?Q3k3MW5udi8ycEE4eTQrSHVaaW95QTZaVGNmckhpUk80c3p4dFFBaHR2U2lF?=
 =?utf-8?B?YzY3M2E0RXlDanlWMmZqWlAzd3FaNlJTenVrb3YvRGpPS1pFK3MvQmtQZlFE?=
 =?utf-8?B?NFg3ZStrenErZGFIbzEvZkxKQ3hBYUcybGxsQ1JjVDN6U2RCeitRVVl6UFBN?=
 =?utf-8?B?UVBtWDEwcjlIckxIdWM3cUFhSE1ZeGxGMm1tVVVpYVdON1pnMXg1N3k5YzEr?=
 =?utf-8?B?MExGNG1PKy9uZ0VTNzAwL3VDRzNiK3RZY3ZHb1RrNDl3L1pnMnpvYkRLYjF3?=
 =?utf-8?B?ZG1LVjBGcDBTanNORkYwdE5WUnY2OVBMV2k0YnFIajFVN3FJT3kxY3duWEcw?=
 =?utf-8?B?bERGbTJFbkVCcWNKdHlyWVZ1Tzc4WDJQMWZiazgzekxQSjZQbXVmaHpwUWhv?=
 =?utf-8?B?NHY2VDd2WkJMZGsrWE9kb09uZ2lzZUtTenpEaHFCbzJPVDZZMXpBek9wVlhI?=
 =?utf-8?B?VjVxU1AyS3lmZGxJWWRtWUQ4R0F2YWhsUmxvOGR4MC93MUViMitWQ1I0ZGFX?=
 =?utf-8?B?elp3M3FXTi9UQ0w4TGtMbHhYZ0xPZGxXeEtUT284YzJqRnEydFg3MDNZTWp3?=
 =?utf-8?B?dzRsUUtEbmtWbXFjRE05UW82WGRRMU1wYm1xM3E2MVk3S2hQRUdGU3pMTFF5?=
 =?utf-8?B?QUlEajVrbWVpbmw0cldMWUxDVFlrU0tncVZrUEkwcHZrMm9ZUUc5Smo5dnlO?=
 =?utf-8?B?bzZ1bHNiQTdOYXBhcm1renNTNUY0QUxSOWV1R3BZMTh6YVdoTG5tR3B3eHVK?=
 =?utf-8?B?STY2VDN6T05SNGtWMlZXNFQwOXV4Qk5pOXk0U0lpUG9rajJERmRJbTJFK2JJ?=
 =?utf-8?B?RHcwdlV2SmhGa0dYUmdsRjUvbUtlbE9zU2xXOTkvWXBxVU9MdldYTE8yRUcy?=
 =?utf-8?B?ZnRhbTVkMGVCK3VoNEZ3dWZ2eDFqb2FRNW1BdUdUOGg2d3Fjb2c3TmkrdXEz?=
 =?utf-8?B?KzZNaHhDT3ZlVStvVFMxNGhGY0RRbGFxSkpIMXVPa1V2THRnZnNLMSs0ZkJZ?=
 =?utf-8?B?NVFpbk80QUJhaG9haEswWkVMTitoMnlRYkVUSzFnODFJL01XSUpWanM5Ykdl?=
 =?utf-8?B?eEp2U3NUa0VIeDRtM1Azajh4UXNRMU1pSlF6NlJuRytNNjcrdDIyRGk2azgx?=
 =?utf-8?B?Tlh6OVVzTTRBOW96RTRNOVpFVTJKVnFNYXZyMDkxWExEWHVZUE5OOGNzalE4?=
 =?utf-8?B?NnhueXp4dXUxQ2J6dnIwSFBkajRQMXorL2kycVI2NkdqSzZBR0lvTEpSdHd2?=
 =?utf-8?Q?WWvEtm?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: dornerworks.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: d89ba5c7-775e-4ee4-19fc-08dd626a7deb
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2025 20:06:07.4836
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 097cf9aa-db69-4b12-aeab-ab5f513dbff9
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1P110MB2265

K0plZmYNCg0KT24gMTMvMDMvMjUgMDc6NDQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDEz
LzAzLzIwMjUgOTozMSBhbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4gPiBhNjUzc2NoZWRfZG9f
c2NoZWR1bGUoKSBpcyB1c2luZyB0d28gZnVuY3Rpb24gbG9jYWwgc3RhdGljIHZhcmlhYmxlcywN
Cj4gPiB3aGljaCBpcyByZXN1bHRpbmcgaW4gYmFkIGJlaGF2aW9yIHdoZW4gdXNpbmcgbW9yZSB0
aGFuIG9uZSBjcHVwb29sDQo+ID4gd2l0aCB0aGUgYXJpbmM2NTMgc2NoZWR1bGVyLg0KPiA+DQo+
ID4gRml4IHRoYXQgYnkgbW92aW5nIHRob3NlIHZhcmlhYmxlcyB0byB0aGUgc2NoZWR1bGVyIHBy
aXZhdGUgZGF0YS4NCj4gPg0KPiA+IEZpeGVzOiAyMjc4N2YyZTEwN2MgKCJBUklOQyA2NTMgc2No
ZWR1bGVyIikNCj4gPiBSZXBvcnRlZC1ieTogQ2hvaSBBbmRlcnNvbiA8QW5kZXJzb24uQ2hvaUBi
b2VpbmcuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNl
LmNvbT4NCj4gDQo+IE9oIGxvdmVseSwgdGhvc2Ugc3RhdGljcyBhcmUgbmljZWx5IGhpZGRlbiBp
biB0aGUgbG9jYWwgdmFyaWFibGUgbGlzdC4NCj4gDQo+IFJldmlld2VkLWJ5OiBBbmRyZXcgQ29v
cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KDQpUaGlzIHdhcyBvbmUgb2YgdGhlIGlz
c3VlcyBKZWZmIGZpeGVkIGluIHRoaXMgcmVqZWN0ZWQgcGF0Y2gsIHdoaWNoIHdlIHNob3VsZCBo
YXZlIHNwbGl0IG91dCBhbmQgc3VibWl0dGVkIHNlcGFyYXRlbHkgdXBzdHJlYW06ICBodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjAtMDkvbXNn
MDEzMTguaHRtbA0KDQpBY2tlZC1ieTogTmF0aGFuIFN0dWRlciA8bmF0aGFuLnN0dWRlckBkb3Ju
ZXJ3b3Jrcy5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 20:16:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 20:16:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913487.1319513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsoyS-0004oA-1l; Thu, 13 Mar 2025 20:16:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913487.1319513; Thu, 13 Mar 2025 20:16: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 1tsoyR-0004o3-V1; Thu, 13 Mar 2025 20:16:11 +0000
Received: by outflank-mailman (input) for mailman id 913487;
 Thu, 13 Mar 2025 20: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=w2IX=WA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tsoyQ-0004nx-4i
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 20:16:10 +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 ff342ba0-0047-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 21:16:07 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so13316845e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 13:16:07 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df3512sm3389770f8f.12.2025.03.13.13.16.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 13:16: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: ff342ba0-0047-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741896967; x=1742501767; 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=RB/MyG+0LRPEbvbzRUvEJYPoTi+GNQ1GdxWLQViUUto=;
        b=gh+xSPePj5d+kCEKAOZzVnmmtKHd7Ze9A7ir6Y0fyhRF2UTHg/ZbTpvQ8Jct0KNJ9l
         qRrot7kYNdp/VeKx/mqt3LTeblbkOAUywf1kPG4qPjxPh9BxLDOExzv7Oo+Ug0EgBBBn
         IWUQvRd11EzrEp4XrfMW22tR4dxDmL+YSlsAc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741896967; x=1742501767;
        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=RB/MyG+0LRPEbvbzRUvEJYPoTi+GNQ1GdxWLQViUUto=;
        b=Sre4IMc0uUR66JaCxtZjnyPXwChAgxbwKsjpUDLYDulcErooToN709WJO6du9LxswZ
         8r4JNgsXIJXKbG+DU/8R1279eRptQTKlgLtfC569trDwwnKB06uPrGhKQKJ92cjXw9tv
         2afb9zuHwWVxLZOIi9Cmu1UE7w+7fLHJr2QPs2+dSq9S6SH5R2zaPXq0A5e6kBw8IVwI
         BAni4qmcvrKOGhpeeUKVu2w/PQZbMba2awF6JZ3ZcoY9e6o6SQqhLn49gLxulyCl7zlG
         bkOhJ+V09NWHZHLB5aKfK1QQBm8uZMqGpSmqUHYSEH0I0Mp0RJsVpSusX3IJMEGptOYO
         5HVA==
X-Forwarded-Encrypted: i=1; AJvYcCXYvHnvfKwPzBpPkR/nsk3DVUwW+Q35XregCRxCwf6KLlXUT0TsWkySuLiJbZefsaoIimqEuo4m+VI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+/WwcledGCmuFVehRstguD2221Av0jJzXcfN9lXqVgoNKJ8kk
	EYKDnQ4BzToHKPW2yqolYYwt2BnlBz/MZtxgdPpYYO2L2B1e8wSRgR40lcA+sga/4u/2eZGDeCK
	b
X-Gm-Gg: ASbGncsNF7DvxDtEq27Hjz8WuNVVTsYW4Xl2kpGoKrn+W0qMj8rCAYzAYp4T4jqaVly
	e44HHD59fj600jUO7Tuckw2O0hCo1vMwQazgzTe2GjhrizTXlx3GFVJCDY2s4J5n/ECaV1oP9QG
	OOjYrgwQ6hE/fN4tMBC1yXIzaxyg4VIAeu++LdNL72i1uSRKFQ1c7ZQFlYu20SqL5+jDmbGKfko
	sRRqbC0UQmFX1Lpaql9tHL/nvioRyN6YWEBhLZIridQbSHrmW4HpGt4LUgMbnfy/05kI2XC/kWl
	fpf5k+LAdG2wzxHQjYbGsKC8ZQU4RVj4EkGJsl5U9pwZeBH7zaXicRh5TaOGODQfdv3kcV5gKQa
	FQWW4piet
X-Google-Smtp-Source: AGHT+IFi5Rh078UvQiQ7CBWVlxet/U9H2Fz3F3ucCNj2ovtFjoWb6QSv6NxUm9Tn0R5ymqldi8yhyA==
X-Received: by 2002:a05:600c:4204:b0:43c:f87c:24ce with SMTP id 5b1f17b1804b1-43d1d9c5841mr7328795e9.21.1741896966755;
        Thu, 13 Mar 2025 13:16:06 -0700 (PDT)
Message-ID: <bb0090da-c2ac-453e-972d-b06a66c51530@citrix.com>
Date: Thu, 13 Mar 2025 20:16:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Andrii Sultanov <sultanovandriy@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>
References: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@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: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 6:57 pm, Andrii Sultanov wrote:
> Following on from 250d87dc, struct amd_iommu has its seg and bdf fields
> backwards with relation to pci_sbdf_t. Swap them around, and simplify the
> expressions regenerating an sbdf_t from seg+bdf.
>
> Simplify ioapic_sbdf and bpet_sbdf along the way. Adjust functions
> taking seg and bdf fields of these structs to take pci_sbdf_t instead.
> Simplify comparisons similarly.
>
> Bloat-o-meter reports:
>
> ```
> add/remove: 0/0 grow/shrink: 13/21 up/down: 352/-576 (-224)
> Function                                     old     new   delta
> _einittext                                 22028   22220    +192
> amd_iommu_prepare                            853     897     +44
> _invalidate_all_devices                      133     154     +21
> amd_iommu_domain_destroy                      46      63     +17
> disable_fmt                                12336   12352     +16
> _acpi_module_name                            416     432     +16
> amd_iommu_get_reserved_device_memory         521     536     +15
> parse_ivrs_table                            3955    3966     +11
> amd_iommu_assign_device                      271     282     +11
> find_iommu_for_device                        242     246      +4
> get_intremap_requestor_id                     49      52      +3
> amd_iommu_free_intremap_table                360     361      +1
> allocate_domain_resources                     82      83      +1
> reassign_device                              843     838      -5
> amd_iommu_remove_device                      352     347      -5
> amd_iommu_flush_iotlb                        359     354      -5
> iov_supports_xt                              270     264      -6
> amd_iommu_setup_domain_device               1478    1472      -6
> amd_setup_hpet_msi                           232     224      -8
> amd_iommu_ioapic_update_ire                  572     564      -8
> _hvm_dpci_msi_eoi                            157     149      -8
> amd_iommu_msi_enable                          33      20     -13
> register_range_for_device                    297     281     -16
> amd_iommu_add_device                         856     839     -17
> update_intremap_entry_from_msi_msg           879     861     -18
> amd_iommu_read_ioapic_from_ire               347     323     -24
> amd_iommu_msi_msg_update_ire                 472     431     -41
> flush_command_buffer                         460     417     -43
> set_iommu_interrupt_handler                  421     377     -44
> amd_iommu_detect_one_acpi                    918     868     -50
> amd_iommu_get_supported_ivhd_type             86      31     -55
> iterate_ivrs_mappings                        169     113     -56
> parse_ivmd_block                            1339    1271     -68
> enable_iommu                                1745    1665     -80
> ```
>
> Resolves: https://gitlab.com/xen-project/xen/-/issues/198
>
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>

Well, this is awkward.Â  This is the task I'd put together for Cody to
try.Â  I guess I have to find another one.

In commit messages, we always want the subject alongside a hash.Â  I have
this local alias to help:

> xen.git/xen$ git commit-str 250d87dc
> commit 250d87dc3ff9 ("x86/msi: Change __msi_set_enable() to take
> pci_sbdf_t")
> xen.git/xen$ git help commit-str
> 'commit-str' is aliased to 'log -1 --abbrev=12 --pretty=format:'commit
> %h ("%s")''

(The name is not imaginative, and could probably be better.)

> @@ -239,17 +239,17 @@ static int __init register_range_for_device(
>      unsigned int bdf, paddr_t base, paddr_t limit,
>      bool iw, bool ir, bool exclusion)
>  {
> -    int seg = 0; /* XXX */
> -    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> +    pci_sbdf_t sbdf = { .seg = 0, .bdf = bdf };

The /* XXX */ wants to stay.Â  It's highlighting that this code isn't
muti-segment aware (yet).

> +    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
>      struct amd_iommu *iommu;
>      u16 req;
>      int rc = 0;
>  
> -    iommu = find_iommu_for_device(seg, bdf);
> +    iommu = find_iommu_for_device(sbdf);
>      if ( !iommu )
>      {
>          AMD_IOMMU_WARN("IVMD: no IOMMU for device %pp - ignoring constrain\n",
> -                       &PCI_SBDF(seg, bdf));
> +                       &(sbdf));

The brackets should be dropped now.Â  This should be just &sbdf.

> @@ -1543,14 +1540,14 @@ static void invalidate_all_domain_pages(void)
>  static int cf_check _invalidate_all_devices(
>      u16 seg, struct ivrs_mappings *ivrs_mappings)
>  {
> -    unsigned int bdf; 
> +    pci_sbdf_t sbdf = { .seg = seg, .bdf = 0 };
>      u16 req_id;
>      struct amd_iommu *iommu;
>  
> -    for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
> +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; sbdf.bdf++ )
>      {
> -        iommu = find_iommu_for_device(seg, bdf);
> -        req_id = ivrs_mappings[bdf].dte_requestor_id;
> +        iommu = find_iommu_for_device(sbdf);
> +        req_id = ivrs_mappings[sbdf.bdf].dte_requestor_id;

See how bloat-o-meter reports this as the 3rd most increased function.Â 
This is an example where merging to a pci_sbdf_t local variable is
making things worse.

Keep the bdf local variable, and use PCI_SBDF() for the call to
find_iommu_for_device().

The reason is that you're now modifying the low uint16_t half of a
uint32_t.Â  This requires emitting 16-bit logic (requires the Operand
Size Override prefix, contributing to your code size), it also suffers
register merge penalty


> diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
> index 9abdc38053..0c91125ec0 100644
> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> @@ -123,10 +123,10 @@ static spinlock_t* get_intremap_lock(int seg, int req_id)
>             &shared_intremap_lock);
>  }
>  
> -static int get_intremap_requestor_id(int seg, int bdf)
> +static int get_intremap_requestor_id(pci_sbdf_t sbdf)
>  {
> -    ASSERT( bdf < ivrs_bdf_entries );
> -    return get_ivrs_mappings(seg)[bdf].dte_requestor_id;
> +    ASSERT( sbdf.bdf < ivrs_bdf_entries );
> +    return get_ivrs_mappings(sbdf.seg)[sbdf.bdf].dte_requestor_id;

This is also an example where merging the parameter is not necessarily
wise.Â  The segment and bdf parts are used differently, so this function
now has to split the one parameter in two, and shift segment by 16 just
to use it.

> @@ -335,20 +336,19 @@ void cf_check amd_iommu_ioapic_update_ire(
>      new_rte.raw = rte;
>  
>      /* get device id of ioapic devices */
> -    bdf = ioapic_sbdf[idx].bdf;
> -    seg = ioapic_sbdf[idx].seg;
> -    iommu = find_iommu_for_device(seg, bdf);
> +    sbdf.sbdf = ioapic_sbdf[idx].sbdf.sbdf;

sbdf = ioapic_sbdf[idx].sbdf;

> +    iommu = find_iommu_for_device(sbdf);
>      if ( !iommu )
>      {
>          AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %04x:%04x\n",
> -                       seg, bdf);
> +                       sbdf.seg, sbdf.bdf);

This should be converted to %pp, which has a side effect of correcting
the rendering of bdf.

> @@ -515,15 +515,15 @@ int cf_check amd_iommu_msi_msg_update_ire(
>      struct msi_desc *msi_desc, struct msi_msg *msg)
>  {
>      struct pci_dev *pdev = msi_desc->dev;
> -    int bdf, seg, rc;
> +    pci_sbdf_t sbdf;
> +    int rc;
>      struct amd_iommu *iommu;
>      unsigned int i, nr = 1;
>      u32 data;
>  
> -    bdf = pdev ? pdev->sbdf.bdf : hpet_sbdf.bdf;
> -    seg = pdev ? pdev->seg : hpet_sbdf.seg;
> +    sbdf.sbdf = pdev ? pdev->sbdf.sbdf : hpet_sbdf.sbdf.sbdf;

This is a better example where

sbdf = pdev ? pdev->sbdf : hpet_sbdf.sbdf;

is equivalent.

> diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
> index dde393645a..17070904fa 100644
> --- a/xen/drivers/passthrough/amd/iommu_map.c
> +++ b/xen/drivers/passthrough/amd/iommu_map.c
> @@ -694,17 +694,16 @@ int amd_iommu_reserve_domain_unity_unmap(struct domain *d,
>  int cf_check amd_iommu_get_reserved_device_memory(
>      iommu_grdm_t *func, void *ctxt)
>  {
> -    unsigned int seg = 0 /* XXX */, bdf;
> -    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> +    pci_sbdf_t sbdf = {0};

"= {}" please.

GCC has just introduced a nasty bug (they claim its a feature) where {0}
on unions now zeros less than it used to do.Â  pci_sbdf_t doesn't tickle
this corner case, but we need to be proactive about removing examples of
"= {0}".

> +    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
>      /* At least for global entries, avoid reporting them multiple times. */
>      enum { pending, processing, done } global = pending;
>  
> -    for ( bdf = 0; bdf < ivrs_bdf_entries; ++bdf )
> +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; ++sbdf.bdf )
>      {
> -        pci_sbdf_t sbdf = PCI_SBDF(seg, bdf);
> -        const struct ivrs_unity_map *um = ivrs_mappings[bdf].unity_map;
> -        unsigned int req = ivrs_mappings[bdf].dte_requestor_id;
> -        const struct amd_iommu *iommu = ivrs_mappings[bdf].iommu;
> +        const struct ivrs_unity_map *um = ivrs_mappings[sbdf.bdf].unity_map;
> +        unsigned int req = ivrs_mappings[sbdf.bdf].dte_requestor_id;
> +        const struct amd_iommu *iommu = ivrs_mappings[sbdf.bdf].iommu;

Again, this will be better staying as two split variables.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 21:50:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 21:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913516.1319524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsqRT-0002jB-HY; Thu, 13 Mar 2025 21:50:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913516.1319524; Thu, 13 Mar 2025 21:50: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 1tsqRT-0002j2-DN; Thu, 13 Mar 2025 21:50:15 +0000
Received: by outflank-mailman (input) for mailman id 913516;
 Thu, 13 Mar 2025 21:50: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=YTVj=WA=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tsqRS-0002ik-ED
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 21:50:14 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20fbec89-0055-11f0-9ab9-95dc52dad729;
 Thu, 13 Mar 2025 22:50:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 20397A474DA;
 Thu, 13 Mar 2025 21:44:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 623E2C4CEDD;
 Thu, 13 Mar 2025 21:50: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: 20fbec89-0055-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741902606;
	bh=s5cLNJyEF71YwOacS0m5LRQE8gUPryZNQhMoG87OCFM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=p2GXscTfcfUFBcCZjJLRELah6baM1iZLfJBkUa738KDBZxzYn/pSEzAKye6gL70Pl
	 CBABnND2BwTEMYpGFO9+C3vZn9CGA46aj3wCEOlQ5F7FnKv1X5jWyccFc63UxfEgon
	 +QNqeGA8+g0ndzPXmHaYQY/I70D8rJFY1I8p9uLNcpVbzgYZk/rECGrllMVsZc5n6F
	 0MqgK6SQXZa8jIWkmivKp6h2OJOHhU+jsflvIqoVFvc+L2frp9TVbjsZ82oXF5u4Pq
	 6gpxq0brd9O7fqmmclVQKECuQx/4XO0T+OSurBqEypa/DFr1vWvlE3s1Xl2dHy320O
	 UKZqoKQjj3AYg==
Date: Thu, 13 Mar 2025 14:50:03 -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 <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, ray.huang@amd.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>, 
    Penny Zheng <Penny.Zheng@amd.com>
Subject: Re: [PATCH v1 06/19] xen/sysctl: wrap around XEN_SYSCTL_perfc_op
In-Reply-To: <9e16ecd8-97e1-4633-9961-183d053f5f00@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503131449590.3477110@ubuntu-linux-20-04-desktop>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com> <20250312040632.2853485-7-Penny.Zheng@amd.com> <alpine.DEB.2.22.394.2503121610510.3477110@ubuntu-linux-20-04-desktop> <9e16ecd8-97e1-4633-9961-183d053f5f00@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 13 Mar 2025, Jan Beulich wrote:
> On 13.03.2025 00:12, Stefano Stabellini wrote:
> > On Wed, 12 Mar 2025, Penny Zheng wrote:
> >> perfc_control() and perfc_copy_info() are responsible for providing control
> >> of perf counters via XEN_SYSCTL_perfc_op in DOM0, so they both shall
> >> be wrapped.
> >>
> >> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> >> ---
> >>  xen/common/perfc.c      | 2 ++
> >>  xen/include/xen/perfc.h | 8 ++++++++
> >>  2 files changed, 10 insertions(+)
> >>
> >> diff --git a/xen/common/perfc.c b/xen/common/perfc.c
> >> index 8302b7cf6d..0f3b89af2c 100644
> >> --- a/xen/common/perfc.c
> >> +++ b/xen/common/perfc.c
> >> @@ -149,6 +149,7 @@ void cf_check perfc_reset(unsigned char key)
> >>      }
> >>  }
> >>  
> >> +#ifdef CONFIG_SYSCTL
> > 
> > I think in this case it would be best to make CONFIG_PERF_COUNTERS
> > depending on CONFIG_SYSCTL. The consequence is that without
> > CONFIG_SYSCTL, xen/common/perfc.c will be disabled in the build.
> 
> But perf counters can be used without sysctl, via the dedicated debug
> keys.

I checked the code, and you are right, please ignore my comment here,
and also the similar comment to the next patch



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 22:33:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 22:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913567.1319549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsr7F-0006T8-Vq; Thu, 13 Mar 2025 22:33:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913567.1319549; Thu, 13 Mar 2025 22:33: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 1tsr7F-0006T1-Sa; Thu, 13 Mar 2025 22:33:25 +0000
Received: by outflank-mailman (input) for mailman id 913567;
 Thu, 13 Mar 2025 22:33: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=gXIy=WA=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1tsr7E-0006SY-6q
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 22:33:24 +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 2ac751c0-005b-11f0-9898-31a8f345e629;
 Thu, 13 Mar 2025 23:33:21 +0100 (CET)
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-215-7p33MDVuPSy0q7mnH4wf7Q-1; Thu, 13 Mar 2025 18:33:19 -0400
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-43947a0919aso10600395e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 15:33:19 -0700 (PDT)
Received: from [192.168.3.141] (p5b0c698e.dip0.t-ipconnect.de. [91.12.105.142])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d17b8b778sm36320745e9.1.2025.03.13.15.33.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 15:33: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: 2ac751c0-005b-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741905200;
	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=XMLsxBDuZP5DuVJGRHR2kuGT4MbjTR865prTgJ6YJPw=;
	b=ewWZVcmHr4o6tw2zAB4SQH9/3rBV17mLkgG3836CmqR11auF6C3fDQvaq6W1dzz0GU6Xlp
	6hvMsCt1IweS+N7rVEgsFJFnuEbSC5tK+SFQYGX7vcG1lQrqAfSLuOBTIeG7c144raYtkK
	QkI4j+vp5DQMnC76vavr7xz5L8NEa2c=
X-MC-Unique: 7p33MDVuPSy0q7mnH4wf7Q-1
X-Mimecast-MFC-AGG-ID: 7p33MDVuPSy0q7mnH4wf7Q_1741905198
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741905198; x=1742509998;
        h=content-transfer-encoding:in-reply-to:organization: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=XMLsxBDuZP5DuVJGRHR2kuGT4MbjTR865prTgJ6YJPw=;
        b=Z+6rzk5XFA+Em5/yOnK5wEKWTaYSkh7z/8XlLS2cTLlSpQEOU8aex/efoCiltV9I/z
         8ChP9TViCOH96qaTDBfTUMBtjCAQmU6PIjD5oH/8KkrEFOQHlM+AztmB4c49JYXzUi3j
         q0pP4XexPAnOIcLIkSOuajuRlF1NU0ogYS2vLXEJ0qq8qzbWTpz2UVpdDwJ2b3JVghXp
         ZdHUi7dz1Si+f+tTqFtnDfj9hMKPi5K79w8ydP4OhAfF3X0K0ygcWUAIhgnwhDzOLgcn
         T+orXRXaKv/HWjBXfWSIhhfSbtWBfbYIX8zbl/DMl17e1Qq2zH3ak6ittEcqbEnrthIC
         cDPw==
X-Forwarded-Encrypted: i=1; AJvYcCWU5jnvigEgu9KG6pARoGoPMvzLuLtvO+1Q5+qd/nqMQzN53qNl8TNoYhssu3vsm8qlJPha1LFNwCg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwUjfqXDdeROLcciKVVtCW8Ucr/Qq+M1n5dFondufotzyl9jBy2
	agouGAXnE02hGpOpbjPAG9zqR1AzOSqnZgWMnoi0JawXCn/19/G6q/bZm8y1g9llotX9pRlmZby
	Khe98Vqy8zT5l54Z+wd/+SfohikDV4BSpHitJkhvC04qX6NkfpwVRMRc+33h9RZO7
X-Gm-Gg: ASbGncuV+9b054TJOkVw8h/1tB+o1dQcToiIUl8HNJvE95hpGZTPDOBEB60GVFLFtW/
	e/itf6cwkkvRwHaI7Lod2IuWYlHn1ELSZRUUkPmJBmpFON+5M9GPiVZT31I7VZR9SnY7c53qhsc
	8+sTeKKUAY16Gqj/ksX6JkqgqrOLjviGfhOGhoJs1fQ+nEmnShevaaXxoRll+QQ0Eqc33w0NnRp
	d6xvpBp/9KKNRfGBO9AMc5h3GLLjvHq6sog+zULK3zFTueWR/+o+jQjNIHte6tf4o9tCVLM6Dox
	WBH90+1J/r4genH9zJxIaFebHADxAyEmPwYLuk00yDNpoA==
X-Received: by 2002:a05:600c:4f0c:b0:43d:683:8cb2 with SMTP id 5b1f17b1804b1-43d1ec8db3dmr4177925e9.14.1741905198126;
        Thu, 13 Mar 2025 15:33:18 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IERr00diM/pusqeo7Sq0Psil11/HkcSIz4darXRoQvvc4mBmtkajVmoM851r3dYsCbC6t87gA==
X-Received: by 2002:a05:600c:4f0c:b0:43d:683:8cb2 with SMTP id 5b1f17b1804b1-43d1ec8db3dmr4177375e9.14.1741905197671;
        Thu, 13 Mar 2025 15:33:17 -0700 (PDT)
Message-ID: <d7ccdde7-39e5-411b-bcd7-63767c765129@redhat.com>
Date: Thu, 13 Mar 2025 23:33:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers
To: Nico Pache <npache@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org,
 linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org,
 kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, jerrin.shaji-george@broadcom.com,
 bcm-kernel-feedback-list@broadcom.com, arnd@arndb.de,
 gregkh@linuxfoundation.org, mst@redhat.com, jasowang@redhat.com,
 xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgross@suse.com,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org,
 roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev,
 nphamcs@gmail.com, yosry.ahmed@linux.dev, kanchana.p.sridhar@intel.com,
 alexander.atanasov@virtuozzo.com
References: <20250312000700.184573-1-npache@redhat.com>
 <20250312000700.184573-2-npache@redhat.com>
 <c4229ea5-d991-4f5e-a0ff-45dce78a242a@redhat.com>
 <CAA1CXcCv20TW+Xgn18E0Jn1rbT003+3gR-KAxxE9GLzh=EHNmQ@mail.gmail.com>
 <e9570319-a766-40f6-a8ea-8d9af5f03f81@redhat.com>
 <CAA1CXcBsnbj1toxZNbks+NxrR_R_xuUb76X4ANin551Fi0WROA@mail.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
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <CAA1CXcBsnbj1toxZNbks+NxrR_R_xuUb76X4ANin551Fi0WROA@mail.gmail.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: M1zX9ruxTjn8TRHppHq43ugALtimqn3NsIKx0rekrSI_1741905198
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13.03.25 18:35, Nico Pache wrote:
> On Thu, Mar 13, 2025 at 2:22âŻAM David Hildenbrand <david@redhat.com> wrote:
>>
>> On 13.03.25 00:04, Nico Pache wrote:
>>> On Wed, Mar 12, 2025 at 4:19âŻPM David Hildenbrand <david@redhat.com> wrote:
>>>>
>>>> On 12.03.25 01:06, Nico Pache wrote:
>>>>> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
>>>>> expose it through /proc/meminfo and other memory reporting interfaces.
>>>>
>>>> In balloon_page_enqueue_one(), we perform a
>>>>
>>>> __count_vm_event(BALLOON_INFLATE)
>>>>
>>>> and in balloon_page_list_dequeue
>>>>
>>>> __count_vm_event(BALLOON_DEFLATE);
>>>>
>>>>
>>>> Should we maybe simply do the per-node accounting similarly there?
>>>
>>> I think the issue is that some balloon drivers use the
>>> balloon_compaction interface while others use their own.
>>>
>>> This would require unifying all the drivers under a single api which
>>> may be tricky if they all have different behavior
>>
>> Why would that be required? Simply implement it in the balloon
>> compaction logic, and in addition separately in the ones that don't
>> implement it.
> 
> Ah ok that makes sense!
> 
>>
>> That's the same as how we handle PageOffline today.
>>
>> In summary, we have
>>
>> virtio-balloon: balloon compaction
>> hv-balloon: no balloon compaction
>> xen-balloon: no balloon compaction
>> vmx-balloon: balloon compaction
>> pseries-cmm: balloon compaction
> 
> I'm having a hard time verifying this... it looks like only
> vmx-balloon uses the balloon_compaction balloon_page_list_enqueue
> function that calls balloon_page_enqueue_one.

Also check balloon_page_enqueue, which ends up calling 
balloon_page_enqueue_one.

> 
>>
>> So you'd handle 3 balloon drivers in one go.
>>
>> (this series didn't touch pseries-cmm)
> Ah I didn't realize that was a balloon driver. Ill add that one to the todo.


Well, by implementing it in the compaction code that todo would be done :)

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Mar 13 23:48:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 23:48:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913600.1319568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tssHr-0006tV-Dg; Thu, 13 Mar 2025 23:48:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913600.1319568; Thu, 13 Mar 2025 23:48: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 1tssHr-0006tO-B6; Thu, 13 Mar 2025 23:48:27 +0000
Received: by outflank-mailman (input) for mailman id 913600;
 Thu, 13 Mar 2025 23:48: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=YTVj=WA=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tssHq-0006f8-4T
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 23:48:26 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5fb2e30-0065-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 00:48:23 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 59318A46B67;
 Thu, 13 Mar 2025 23:42:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2EAAEC4CEE9;
 Thu, 13 Mar 2025 23:48:20 +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: a5fb2e30-0065-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741909701;
	bh=1qWbVs2VUwXDk9m84RyQ1weA6U/UH871av7A5Mmu6Y8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UFMtN5utZXhPp35m3Ktu7iSms4SKF+/0kFeZ/Fe5ZqgF7P5rxdqwFwxX3ZxOS1sjy
	 ZHYDVDw0cjJIEilWmfYitGPYQnTatUHCHyo/WZXIYbr0ewiFpb6loB7lW13pzrFxx7
	 XTTJcZIkPfC84ONQ3btYdAGVsbhzm4XogoLA92GEtJqauvfgMaMKbS7m3v0NlyKKln
	 wK1IS7dsotTycwMptdzFM9OGs/pymNl3LdUDpXD5Ge8rcMrGyN7gneGh2J7UZ9TlBb
	 5v5KicPncrz2+j1xXqJ80qsjylR5iVQzCLw8ZcyMxiYoybPHYblacp0izbCprfq3jf
	 a+yEl76b88aAg==
Date: Thu, 13 Mar 2025 16:48:17 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Grygorii Strashko <gragst.linux@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Oleksii Moisieiev <oleksii_moisieiev@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Juergen Gross <jgross@suse.com>, 
    Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [RFC PATCH v3 2/7] xen/arm: scmi-smc: update to be used under
 sci subsystem
In-Reply-To: <20250311111618.1850927-3-grygorii_strashko@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503131540530.3477110@ubuntu-linux-20-04-desktop>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com> <20250311111618.1850927-3-grygorii_strashko@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, 11 Mar 2025, Grygorii Strashko wrote:
> The introduced SCI (System Control Interface) subsystem provides unified
> interface to integrate in Xen SCI drivers which adds support for ARM
> firmware (EL3, SCP) based software interfaces (like SCMI) that are used in
> system management. The SCI subsystem allows to add drivers for different FW
> interfaces or have different drivers for the same FW interface (for example,
> SCMI with different transports).
> 
> This patch updates SCMI over SMC calls handling layer, introduced by
> commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls handling
> layer"), to be SCI driver:
> - convert to DT device;
> - convert to SCI Xen interface.
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
>  xen/arch/arm/firmware/Kconfig                | 13 ++-
>  xen/arch/arm/firmware/scmi-smc.c             | 93 +++++++++++---------
>  xen/arch/arm/include/asm/firmware/scmi-smc.h | 41 ---------
>  xen/arch/arm/vsmc.c                          |  5 +-
>  xen/include/public/arch-arm.h                |  1 +
>  5 files changed, 64 insertions(+), 89 deletions(-)
>  delete mode 100644 xen/arch/arm/include/asm/firmware/scmi-smc.h
> 
> diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
> index fc7918c7fc56..02d7b600317f 100644
> --- a/xen/arch/arm/firmware/Kconfig
> +++ b/xen/arch/arm/firmware/Kconfig
> @@ -8,9 +8,18 @@ config ARM_SCI
>  
>  menu "Firmware Drivers"
>  
> +choice
> +	prompt "ARM SCI driver type"
> +	default ARM_SCI_NONE
> +	help
> +	Choose which ARM SCI driver to enable.
> +
> +config ARM_SCI_NONE
> +	bool "none"
> +
>  config SCMI_SMC
>  	bool "Forward SCMI over SMC calls from hwdom to EL3 firmware"
> -	default y
> +	select ARM_SCI
>  	help
>  	  This option enables basic awareness for SCMI calls using SMC as
>  	  doorbell mechanism and Shared Memory for transport ("arm,scmi-smc"
> @@ -18,4 +27,6 @@ config SCMI_SMC
>  	  firmware node is used to trap and forward corresponding SCMI SMCs
>  	  to firmware running at EL3, for calls coming from the hardware domain.
>  
> +endchoice
> +
>  endmenu
> diff --git a/xen/arch/arm/firmware/scmi-smc.c b/xen/arch/arm/firmware/scmi-smc.c
> index 33473c04b181..188bd659513b 100644
> --- a/xen/arch/arm/firmware/scmi-smc.c
> +++ b/xen/arch/arm/firmware/scmi-smc.c
> @@ -9,6 +9,7 @@
>   * Copyright 2024 NXP
>   */
>  
> +#include <asm/device.h>
>  #include <xen/acpi.h>
>  #include <xen/device_tree.h>
>  #include <xen/errno.h>
> @@ -16,12 +17,11 @@
>  #include <xen/sched.h>
>  #include <xen/types.h>
>  
> +#include <asm/firmware/sci.h>
>  #include <asm/smccc.h>
> -#include <asm/firmware/scmi-smc.h>
>  
>  #define SCMI_SMC_ID_PROP   "arm,smc-id"
>  
> -static bool __ro_after_init scmi_enabled;
>  static uint32_t __ro_after_init scmi_smc_id;
>  
>  /*
> @@ -41,14 +41,11 @@ static bool scmi_is_valid_smc_id(uint32_t fid)
>   *
>   * Returns true if SMC was handled (regardless of response), false otherwise.
>   */
> -bool scmi_handle_smc(struct cpu_user_regs *regs)
> +static bool scmi_handle_smc(struct cpu_user_regs *regs)
>  {
>      uint32_t fid = (uint32_t)get_user_reg(regs, 0);
>      struct arm_smccc_res res;
>  
> -    if ( !scmi_enabled )
> -        return false;
> -
>      if ( !scmi_is_valid_smc_id(fid) )
>          return false;
>  
> @@ -78,49 +75,45 @@ bool scmi_handle_smc(struct cpu_user_regs *regs)
>      return true;
>  }
>  
> -static int __init scmi_check_smccc_ver(void)
> +static int scmi_smc_domain_init(struct domain *d,
> +                                struct xen_domctl_createdomain *config)
>  {
> -    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
> -    {
> -        printk(XENLOG_WARNING
> -               "SCMI: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
> -        return -ENOSYS;
> -    }
> +    if ( !is_hardware_domain(d) )
> +        return 0;
>  
> +    d->arch.sci_enabled = true;
> +    printk(XENLOG_DEBUG "SCMI: %pd init\n", d);
>      return 0;
>  }
>  
> -static int __init scmi_dt_init_smccc(void)
> +static void scmi_smc_domain_destroy(struct domain *d)
>  {
> -    static const struct dt_device_match scmi_ids[] __initconst =
> -    {
> -        /* We only support "arm,scmi-smc" binding for now */
> -        DT_MATCH_COMPATIBLE("arm,scmi-smc"),
> -        { /* sentinel */ },
> -    };
> -    const struct dt_device_node *scmi_node;
> -    int ret;
> +    if ( !is_hardware_domain(d) )
> +        return;
>  
> -    /* If no SCMI firmware node found, fail silently as it's not mandatory */
> -    scmi_node = dt_find_matching_node(NULL, scmi_ids);
> -    if ( !scmi_node )
> -        return -EOPNOTSUPP;
> +    printk(XENLOG_DEBUG "SCMI: %pd destroy\n", d);
> +}
>  
> -    ret = dt_property_read_u32(scmi_node, SCMI_SMC_ID_PROP, &scmi_smc_id);
> -    if ( !ret )
> +static int __init scmi_check_smccc_ver(void)
> +{
> +    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
>      {
> -        printk(XENLOG_ERR "SCMI: No valid \"%s\" property in \"%s\" DT node\n",
> -               SCMI_SMC_ID_PROP, scmi_node->full_name);
> -        return -ENOENT;
> +        printk(XENLOG_WARNING
> +               "SCMI: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
> +        return -ENOSYS;
>      }
>  
> -    scmi_enabled = true;
> -
>      return 0;
>  }
>  
> +static const struct sci_mediator_ops scmi_smc_ops = {
> +    .handle_call = scmi_handle_smc,
> +    .domain_init = scmi_smc_domain_init,
> +    .domain_destroy = scmi_smc_domain_destroy,
> +};
> +
>  /* Initialize the SCMI layer based on SMCs and Device-tree */
> -static int __init scmi_init(void)
> +static int __init scmi_dom0_init(struct dt_device_node *dev, const void *data)
>  {
>      int ret;
>  
> @@ -134,22 +127,36 @@ static int __init scmi_init(void)
>      if ( ret )
>          return ret;
>  
> -    ret = scmi_dt_init_smccc();
> -    if ( ret == -EOPNOTSUPP )
> -        return ret;
> +    ret = dt_property_read_u32(dev, SCMI_SMC_ID_PROP, &scmi_smc_id);
> +    if ( !ret )
> +    {
> +        printk(XENLOG_ERR "SCMI: No valid \"%s\" property in \"%s\" DT node\n",
> +               SCMI_SMC_ID_PROP, dt_node_full_name(dev));
> +        return -ENOENT;
> +    }
> +
> +    ret = sci_register(&scmi_smc_ops);
>      if ( ret )
> -        goto err;
> +    {
> +        printk(XENLOG_ERR "SCMI: mediator already registered (ret = %d)\n",
> +               ret);
> +        return ret;
> +    }
>  
>      printk(XENLOG_INFO "Using SCMI with SMC ID: 0x%x\n", scmi_smc_id);
>  
>      return 0;
> -
> - err:
> -    printk(XENLOG_ERR "SCMI: Initialization failed (ret = %d)\n", ret);
> -    return ret;
>  }
>  
> -__initcall(scmi_init);
> +static const struct dt_device_match scmi_smc_match[] __initconst = {
> +    DT_MATCH_COMPATIBLE("arm,scmi-smc"),
> +    { /* sentinel */ },
> +};
> +
> +DT_DEVICE_START(gicv3, "SCMI SMC DOM0", DEVICE_ARM_SCI)

The name should be scmi_smc instead of gicv3?

> +    .dt_match = scmi_smc_match,
> +    .init = scmi_dom0_init,
> +DT_DEVICE_END
>  
>  /*
>   * Local variables:
> diff --git a/xen/arch/arm/include/asm/firmware/scmi-smc.h b/xen/arch/arm/include/asm/firmware/scmi-smc.h
> deleted file mode 100644
> index 6b1a164a400e..000000000000
> --- a/xen/arch/arm/include/asm/firmware/scmi-smc.h
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/*
> - * xen/arch/arm/include/asm/firmware/scmi-smc.h
> - *
> - * ARM System Control and Management Interface (SCMI) over SMC
> - * Generic handling layer
> - *
> - * Andrei Cherechesu <andrei.cherechesu@nxp.com>
> - * Copyright 2024 NXP
> - */
> -
> -#ifndef __ASM_SCMI_SMC_H__
> -#define __ASM_SCMI_SMC_H__
> -
> -#include <xen/types.h>
> -
> -struct cpu_user_regs;
> -
> -#ifdef CONFIG_SCMI_SMC
> -
> -bool scmi_handle_smc(struct cpu_user_regs *regs);
> -
> -#else
> -
> -static inline bool scmi_handle_smc(struct cpu_user_regs *regs)
> -{
> -    return false;
> -}
> -
> -#endif /* CONFIG_SCMI_SMC */
> -
> -#endif /* __ASM_SCMI_H__ */
> -
> -/*
> - * Local variables:
> - * mode: C
> - * c-file-style: "BSD"
> - * c-basic-offset: 4
> - * indent-tabs-mode: nil
> - * End:
> - */
> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> index 51b3c0297314..b33c69a1c22a 100644
> --- a/xen/arch/arm/vsmc.c
> +++ b/xen/arch/arm/vsmc.c
> @@ -21,7 +21,6 @@
>  #include <asm/traps.h>
>  #include <asm/vpsci.h>
>  #include <asm/platform.h>
> -#include <asm/firmware/scmi-smc.h>
>  
>  /* Number of functions currently supported by Hypervisor Service. */
>  #define XEN_SMCCC_FUNCTION_COUNT 3
> @@ -233,7 +232,7 @@ static bool handle_sip(struct cpu_user_regs *regs)
>      if ( platform_smc(regs) )
>          return true;
>  
> -    return scmi_handle_smc(regs);
> +    return sci_handle_call(regs);

Is this change...


>  }
>  
>  /*
> @@ -301,8 +300,6 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
>              break;
>          case ARM_SMCCC_OWNER_SIP:
>              handled = handle_sip(regs);
> -            if ( !handled )
> -                handled = sci_handle_call(regs);

the one allowing this to be removed? Are we sure all possible SCIs are
SIPs?


>              break;
>          case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
>          case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 55eed9992c9d..095b1a23e30c 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -328,6 +328,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>  #define XEN_DOMCTL_CONFIG_TEE_FFA       2
>  
>  #define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
> +#define XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC  1
>  
>  struct xen_arch_domainconfig {
>      /* IN/OUT */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 23:48:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 23:48:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913601.1319578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tssHx-0007AY-P6; Thu, 13 Mar 2025 23:48:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913601.1319578; Thu, 13 Mar 2025 23:48: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 1tssHx-0007AR-M6; Thu, 13 Mar 2025 23:48:33 +0000
Received: by outflank-mailman (input) for mailman id 913601;
 Thu, 13 Mar 2025 23:48: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=YTVj=WA=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tssHv-000797-QK
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 23:48:31 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9fe3f66-0065-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 00:48:30 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id E88E2A471EF;
 Thu, 13 Mar 2025 23:42:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B109AC4CEDD;
 Thu, 13 Mar 2025 23:48:26 +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: a9fe3f66-0065-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741909708;
	bh=FRm1YoVgLUQ1sFPLO2hxOUK+WDgV1p1JL6DIq9C7Wp0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TCbdG3hRvyKKpOZ45j3EVURoIf8YDaAk4EYKKTgKscRyKnTcHgSFvNpjWOrBClEgU
	 inV1Y+NVIdWlJkwtX03CJQi9x+eEufEg/pplGiaEUwO+yqKBTwCq4NdMrBgBVTxab/
	 /x2ZmUQVhNwukgYJfHlYZnWZUm5/6jO/ek0DR5BMGALIvExlkCgdmAMteL12y37sOZ
	 zLr3sKBm4T7iS9Nc9/EPSb2Vx9eLGGgpBLj4HLpToPkbW4tcjKG9IcuGjBhk/OIZW0
	 OLWEtpmVAfuoRKZ0dX1x/YHg5Zvdn2tos/xF3RaYansMIhabngs6rt2mrGZrvSlT4u
	 CKhMnw6N5pu/w==
Date: Thu, 13 Mar 2025 16:48:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Grygorii Strashko <gragst.linux@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Oleksii Moisieiev <oleksii_moisieiev@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Juergen Gross <jgross@suse.com>, 
    Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [RFC PATCH v3 3/7] xen/arm: scmi-smc: passthrough SCMI SMC to
 guest domain
In-Reply-To: <20250311111618.1850927-4-grygorii_strashko@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503131553490.3477110@ubuntu-linux-20-04-desktop>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com> <20250311111618.1850927-4-grygorii_strashko@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, 11 Mar 2025, Grygorii Strashko wrote:
> The commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls
> handling layer") introduces simple driver which forwards SCMI over SMC
> calls from hwdom/dom0 to EL3 firmware (TF-A) with a single SCMI OSPM agent
> support. While it working gracefully for hwdom/dom0 use case it doesn't
> cover "thin Dom0 with guest domain, which serves as Driver domain"
> use-case. In this case HW need to be enable in Driver domain and dom0 is
> performing only control functions.
> 
> The EL3 SCMI firmware (TF-A) with a single SCMI OSPM agent support is
> pretty generic case for the default vendors SDK and new platforms.
> 
> This patch enables passthrough of SCMI SMC single agent interface to the
> Driver domain which can be enabled in the following way:
> 
>  - dom0: add dom0_scmi_smc_passthrough to the Xen Command Line
>  - domD: xl.cfg add "arm_sci" option as below
> 
>    arm_sci = "type=scmi_smc"
> 
>  - domD: xl.cfg enable access to the "arm,scmi-shmem"
> 
> iomem = [
>     "47ff0,1@22001",
> ]
> 
>  - domD: add scmi nodes to the Driver domain partial device tree as in the
>  below example:
> 
> passthrough {
>    scmi_shm_0: sram@22001000 {
>        compatible = "arm,scmi-shmem";
>        reg = <0x0 0x22001000 0x0 0x1000>;
>    };
> 
>    firmware {
>         compatible = "simple-bus";
>             scmi: scmi {
>                 compatible = "arm,scmi-smc";
>                 shmem = <&scmi_shm_0>;
>                 ...
>             }
>     }
> }
> 
> The SCMI SMC single agent interface can be enabled for one and only one
> domain. In general, the configuration is similar to any other HW
> passthrough, except explicitly enabling SCMI with "arm_sci" xl.cfg option.
> 
> Note that SCMI and "arm,scmi-shmem" nodes will be removed from
> dom0 DT.
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
>  docs/man/xl.cfg.5.pod.in          | 36 ++++++++++++++
>  docs/misc/xen-command-line.pandoc |  9 ++++
>  tools/include/libxl.h             |  5 ++
>  tools/libs/light/libxl_arm.c      | 13 ++++++
>  tools/libs/light/libxl_types.idl  | 10 ++++
>  tools/xl/xl_parse.c               | 66 ++++++++++++++++++++++++++
>  xen/arch/arm/firmware/Kconfig     |  4 +-
>  xen/arch/arm/firmware/scmi-smc.c  | 78 +++++++++++++++++++++++++++++--
>  8 files changed, 217 insertions(+), 4 deletions(-)
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 8e1422104e50..7edf272386e3 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -3094,6 +3094,42 @@ assigned to the domain.
>  
>  =back
>  
> +=over 4
> +
> +=item B<arm_sci="ARM_SCI_STRING">
> +
> +Set ARM_SCI specific options for the guest. ARM SCI is System
> +Control Protocol allows domain to manage various functions that are provided
> +by HW platform firmware.
> +
> +B<ARM_SCI_STRING> is a comma separated list of C<KEY=VALUE> settings,
> +from the following list:
> +
> +=over 4
> +
> +=item B<type=STRING>
> +
> +Specifies an ARM SCI type for the guest.
> +
> +=over 4
> +
> +=item B<none>
> +
> +Don't allow guest to use ARM SCI if present on the platform. This is the
> +default value.
> +
> +=item B<scmi_smc>
> +
> +Enables ARM SCMI SMC support for the guest by enabling SCMI over SMC calls
> +forwarding from domain to the EL3 firmware (like Trusted Firmware-A) with a
> +single SCMI OSPM agent support.
> +Should be used together with B<dom0_scmi_smc_passthrough> Xen command line
> +option.
> +
> +=back
> +
> +=back
> +
>  =head3 x86
>  
>  =over 4
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 9bbd00baef91..8e50f6b7c7ac 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1082,6 +1082,15 @@ affinities to prefer but be not limited to the specified node(s).
>  
>  Pin dom0 vcpus to their respective pcpus
>  
> +### dom0_scmi_smc_passthrough (ARM)
> +> `= <boolean>`
> +
> +The option is available when `CONFIG_SCMI_SMC` is compiled in, and allows to
> +enable SCMI SMC single agent interface for any, but only one guest domain,
> +which serves as Driver domain. The SCMI will be disabled for Dom0/hwdom and
> +SCMI nodes removed from Dom0/hwdom device tree.
> +(for example, thin Dom0 with Driver domain use-case).
> +
>  ### dtuart (ARM)
>  > `= path [:options]`
>  
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index f8fe4afd7dca..5fa43637ab76 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -313,6 +313,11 @@
>   */
>  #define LIBXL_HAVE_BUILDINFO_ARCH_NR_SPIS 1
>  
> +/*
> + * libxl_domain_build_info has the arch_arm.sci* fields.
> + */
> +#define LIBXL_HAVE_BUILDINFO_ARCH_ARM_SCI 1
> +
>  /*
>   * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
>   * 'soft reset' for domains and there is 'soft_reset' shutdown reason
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 28cea1f643c9..d41adea1cefd 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -222,6 +222,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>          config->arch.sve_vl = d_config->b_info.arch_arm.sve_vl / 128U;
>      }
>  
> +    switch (d_config->b_info.arm_sci.type) {
> +    case LIBXL_ARM_SCI_TYPE_NONE:
> +        config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_NONE;
> +        break;
> +    case LIBXL_ARM_SCI_TYPE_SCMI_SMC:
> +        config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC;
> +        break;
> +    default:
> +        LOG(ERROR, "Unknown ARM_SCI type %d",
> +            d_config->b_info.arm_sci.type);
> +        return ERROR_FAIL;
> +    }
> +
>      return 0;
>  }
>  
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index 33c9cfc1a267..ea0d30654cdd 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -551,6 +551,15 @@ libxl_sve_type = Enumeration("sve_type", [
>      (2048, "2048")
>      ], init_val = "LIBXL_SVE_TYPE_DISABLED")
>  
> +libxl_arm_sci_type = Enumeration("arm_sci_type", [
> +    (0, "none"),
> +    (1, "scmi_smc")
> +    ], init_val = "LIBXL_ARM_SCI_TYPE_NONE")
> +
> +libxl_arm_sci = Struct("arm_sci", [
> +    ("type", libxl_arm_sci_type),
> +    ])
> +
>  libxl_rdm_reserve = Struct("rdm_reserve", [
>      ("strategy",    libxl_rdm_reserve_strategy),
>      ("policy",      libxl_rdm_reserve_policy),
> @@ -639,6 +648,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>      ("apic",             libxl_defbool),
>      ("dm_restrict",      libxl_defbool),
>      ("tee",              libxl_tee_type),
> +    ("arm_sci",          libxl_arm_sci),
>      ("u", KeyedUnion(None, libxl_domain_type, "type",
>                  [("hvm", Struct(None, [("firmware",         string),
>                                         ("bios",             libxl_bios_type),
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index 9a3679c02325..ac9bf0b25c5a 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -1284,6 +1284,63 @@ out:
>      if (rc) exit(EXIT_FAILURE);
>  }
>  
> +static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
> +                                const char *str)
> +{
> +    enum {
> +        STATE_OPTION,
> +        STATE_TYPE,
> +        STATE_TERMINAL,
> +    };
> +    int ret, state = STATE_OPTION;
> +    char *buf2, *tok, *ptr, *end;
> +
> +    if (NULL == (buf2 = ptr = strdup(str)))
> +        return ERROR_NOMEM;
> +
> +    for (tok = ptr, end = ptr + strlen(ptr) + 1; ptr < end; ptr++) {
> +        switch(state) {
> +        case STATE_OPTION:
> +            if (*ptr == '=') {
> +                *ptr = '\0';
> +                if (!strcmp(tok, "type")) {
> +                    state = STATE_TYPE;
> +                } else {
> +                    fprintf(stderr, "Unknown ARM_SCI option: %s\n", tok);
> +                    goto parse_error;
> +                }
> +                tok = ptr + 1;
> +            }
> +            break;
> +        case STATE_TYPE:
> +            if (*ptr == '\0' || *ptr == ',') {
> +                state = *ptr == ',' ? STATE_OPTION : STATE_TERMINAL;
> +                *ptr = '\0';
> +                ret = libxl_arm_sci_type_from_string(tok, &arm_sci->type);
> +                if (ret) {
> +                    fprintf(stderr, "Unknown ARM_SCI type: %s\n", tok);
> +                    goto parse_error;
> +                }
> +                tok = ptr + 1;
> +            }
> +            break;
> +        default:
> +            break;
> +        }
> +    }
> +
> +    if (tok != ptr || state != STATE_TERMINAL)
> +        goto parse_error;
> +
> +    free(buf2);
> +
> +    return 0;
> +
> +parse_error:
> +    free(buf2);
> +    return ERROR_INVAL;
> +}
> +
>  void parse_config_data(const char *config_source,
>                         const char *config_data,
>                         int config_len,
> @@ -2981,6 +3038,15 @@ skip_usbdev:
>      if (!xlu_cfg_get_long (config, "nr_spis", &l, 0))
>          b_info->arch_arm.nr_spis = l;
>  
> +    if (!xlu_cfg_get_string(config, "arm_sci", &buf, 1)) {
> +        libxl_arm_sci arm_sci = { 0 };
> +        if (!parse_arm_sci_config(config, &arm_sci, buf)) {
> +            b_info->arm_sci.type = arm_sci.type;
> +        } else {
> +            exit(EXIT_FAILURE);
> +        }
> +    }
> +
>      parse_vkb_list(config, d_config);
>  
>      d_config->virtios = NULL;
> diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
> index 02d7b600317f..2686ba313898 100644
> --- a/xen/arch/arm/firmware/Kconfig
> +++ b/xen/arch/arm/firmware/Kconfig
> @@ -25,7 +25,9 @@ config SCMI_SMC
>  	  doorbell mechanism and Shared Memory for transport ("arm,scmi-smc"
>  	  compatible only). The value of "arm,smc-id" DT property from SCMI
>  	  firmware node is used to trap and forward corresponding SCMI SMCs
> -	  to firmware running at EL3, for calls coming from the hardware domain.
> +	  to firmware running at EL3, for calls coming from the hardware domain or
> +	  driver domain.
> +	  Use with EL3 firmware which supports only single SCMI OSPM agent.
>  
>  endchoice
>  
> diff --git a/xen/arch/arm/firmware/scmi-smc.c b/xen/arch/arm/firmware/scmi-smc.c
> index 188bd659513b..7a0130ea0ea9 100644
> --- a/xen/arch/arm/firmware/scmi-smc.c
> +++ b/xen/arch/arm/firmware/scmi-smc.c
> @@ -14,6 +14,8 @@
>  #include <xen/device_tree.h>
>  #include <xen/errno.h>
>  #include <xen/init.h>
> +#include <xen/iocap.h>
> +#include <xen/param.h>
>  #include <xen/sched.h>
>  #include <xen/types.h>
>  
> @@ -22,7 +24,11 @@
>  
>  #define SCMI_SMC_ID_PROP   "arm,smc-id"
>  
> +static bool __ro_after_init opt_dom0_scmi_smc_passthrough = false;
> +boolean_param("dom0_scmi_smc_passthrough", opt_dom0_scmi_smc_passthrough);
> +
>  static uint32_t __ro_after_init scmi_smc_id;
> +static struct domain *scmi_dom;

This could be read_mostly


>  /*
>   * Check if provided SMC Function Identifier matches the one known by the SCMI
> @@ -50,7 +56,7 @@ static bool scmi_handle_smc(struct cpu_user_regs *regs)
>          return false;
>  
>      /* Only the hardware domain should use SCMI calls */
> -    if ( !is_hardware_domain(current->domain) )
> +    if ( scmi_dom != current->domain )
>      {
>          gdprintk(XENLOG_WARNING, "SCMI: Unprivileged access attempt\n");
>          return false;
> @@ -78,9 +84,18 @@ static bool scmi_handle_smc(struct cpu_user_regs *regs)
>  static int scmi_smc_domain_init(struct domain *d,
>                                  struct xen_domctl_createdomain *config)
>  {
> -    if ( !is_hardware_domain(d) )
> +    if ( !opt_dom0_scmi_smc_passthrough && !is_hardware_domain(d) )
> +        return 0;
> +
> +    if ( opt_dom0_scmi_smc_passthrough &&
> +         (config->arch.arm_sci_type != XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC ||

I am confused by the check "config->arch.arm_sci_type !=
XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC". If the check was true, this
function should not be called?


> +          is_hardware_domain(d)) )
>          return 0;
>  
> +    if ( scmi_dom )
> +        return -EEXIST;
> +
> +    scmi_dom = d;
>      d->arch.sci_enabled = true;
>      printk(XENLOG_DEBUG "SCMI: %pd init\n", d);
>      return 0;
> @@ -88,12 +103,68 @@ static int scmi_smc_domain_init(struct domain *d,
>  
>  static void scmi_smc_domain_destroy(struct domain *d)
>  {
> -    if ( !is_hardware_domain(d) )
> +    if ( scmi_dom && scmi_dom != d )
>          return;
>  
> +    scmi_dom = NULL;
> +    d->arch.sci_enabled = false;
>      printk(XENLOG_DEBUG "SCMI: %pd destroy\n", d);
>  }
>  
> +/*
> + * Handle Dom0 SCMI SMC specific DT nodes
> + *
> + * Copy SCMI nodes into Dom0 device tree if dom0_scmi_smc_passthrough=false.

I am confused by this: shouldn't scmi_smc_dt_handle_node be part of the
previous patch? Otherwise, how can it work for dom0?



> + */
> +static bool scmi_smc_dt_handle_node(struct domain *d,
> +                                    struct dt_device_node *node)
> +{
> +    static const struct dt_device_match shmem_matches[] __initconst = {
> +        DT_MATCH_COMPATIBLE("arm,scmi-shmem"),
> +        { /* sentinel */ },
> +    };
> +    static const struct dt_device_match scmi_matches[] __initconst = {
> +        DT_MATCH_PATH("/firmware/scmi"),
> +        { /* sentinel */ },
> +    };
> +
> +    if ( dt_match_node(shmem_matches, node) && !sci_domain_is_enabled(d) )
> +    {
> +        dt_dprintk("  Skip scmi shmem node\n");
> +        return true;
> +    }
> +
> +    if ( dt_match_node(scmi_matches, node) && !sci_domain_is_enabled(d) )

This seems wrong: we are allowing access to the shmem region if
!sci_domain_is_enabled(d). Shouldn't it be:

  if ( dt_match_node(scmi_matches, node) && sci_domain_is_enabled(d) )


> +    {
> +        struct dt_device_node *shmem_node;
> +        const __be32 *prop;
> +        u64 paddr, size;
> +        int ret;
> +
> +        dt_dprintk("  Skip scmi node\n");
> +
> +        prop = dt_get_property(node, "shmem", NULL);
> +        if ( !prop )
> +            return true;
> +
> +        shmem_node = dt_find_node_by_phandle(be32_to_cpup(prop));
> +        if ( !shmem_node )
> +            return true;
> +
> +        ret = dt_device_get_address(shmem_node, 0, &paddr, &size);
> +        if ( ret )
> +            return true;
> +
> +        ret = iomem_permit_access(d, paddr_to_pfn(paddr),
> +                                  paddr_to_pfn(paddr + size - 1));
> +
> +        return true;
> +    }
> +
> +    return false;
> +}
> +
>  static int __init scmi_check_smccc_ver(void)
>  {
>      if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
> @@ -110,6 +181,7 @@ static const struct sci_mediator_ops scmi_smc_ops = {
>      .handle_call = scmi_handle_smc,
>      .domain_init = scmi_smc_domain_init,
>      .domain_destroy = scmi_smc_domain_destroy,
> +    .dom0_dt_handle_node = scmi_smc_dt_handle_node,
>  };
>  
>  /* Initialize the SCMI layer based on SMCs and Device-tree */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 23:48:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 23:48:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913599.1319559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tssHq-0006fi-8c; Thu, 13 Mar 2025 23:48:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913599.1319559; Thu, 13 Mar 2025 23: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 1tssHq-0006fX-5E; Thu, 13 Mar 2025 23:48:26 +0000
Received: by outflank-mailman (input) for mailman id 913599;
 Thu, 13 Mar 2025 23:48: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=YTVj=WA=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tssHp-0006f8-HW
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 23:48:25 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ef8a5d9-0065-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 00:48:11 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 08635A44BEF;
 Thu, 13 Mar 2025 23:42:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE812C4CEDD;
 Thu, 13 Mar 2025 23:48:07 +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: 9ef8a5d9-0065-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741909689;
	bh=Snk7SmPH6rQHV+gR2Ze7Tl/WIZ0+lc2Zy48mA4J7J60=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iO0timi3uHBM8OwjMZuIIxWnoYYPohgUhRWLZMhMDJhqhhMNQXckEO3ioGIUnB89k
	 7/ul3hTLHKKJrtrpvhxhdFc2jaAyjDRzkd70KVLgM5P0QEcfMUmEODIbTj9UEmi6b0
	 8wZ5C9URHuoaidYlp7XVoeNmBm5awpJczdwIac61ifnwOozeLtelWFIPDA31ozqO1X
	 zNuLLLFNhwBkoFi59YYojRvczA1N4nQPVmV2kIOTXWwncyFVpuIz6E+Guij3GEnR9b
	 93TY9VngpgrpFe1fhAGFG4Ow5y2FHyJV2iaEkd31eEYTY0MZA3vt3Z+fvzzcXXJF14
	 u+/kaz+R7jAOQ==
Date: Thu, 13 Mar 2025 16:48:05 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Grygorii Strashko <gragst.linux@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Oleksii Moisieiev <oleksii_moisieiev@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Juergen Gross <jgross@suse.com>, 
    Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
In-Reply-To: <20250311111618.1850927-2-grygorii_strashko@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503131525460.3477110@ubuntu-linux-20-04-desktop>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com> <20250311111618.1850927-2-grygorii_strashko@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, 11 Mar 2025, Grygorii Strashko wrote:
> From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> 
> This patch adds the basic framework for ARM SCI mediator. SCI is System
> Control Interface, which is designed to redirect requests from the Domains
> to ARM specific Firmware (for example SCMI). This will allow the devices,
> passed-through to the different Domains, to access to the System resources
> (such as clocks/resets etc) by sending requests to the firmware.
> 
> ARM SCI subsystem allows to implement different SCI drivers to handle
> specific ARM firmware interfaces (like ARM SCMI) and mediate requests
> between the Domains and the Firmware. Also it allows SCI drivers to perform
> proper action during Domain creation/destruction which is vital for
> handling use cases like Domain reboot.
> 
> This patch introduces new DEVICE_ARM_SCI device subclass for probing SCI
> drivers basing on device tree, SCI drivers register itself with
> DT_DEVICE_START/END macro. On init - the SCI drivers should register its
> SCI ops with sci_register(). Only one SCI driver can be supported.
> 
> At run-time, the following SCI API calls are introduced:
> 
> - sci_domain_sanitise_config() called from arch_sanitise_domain_config()
> - sci_domain_init() called from arch_domain_create()
> - sci_relinquish_resources() called from domain_relinquish_resources()
> - sci_domain_destroy() called from arch_domain_destroy()
> - sci_handle_call() called from vsmccc_handle_call()
> - sci_dt_handle_node()
>   sci_dt_finalize() called from handle_node() (Dom0 DT)
> 
> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
>  MAINTAINERS                             |   6 +
>  xen/arch/arm/device.c                   |   5 +
>  xen/arch/arm/dom0less-build.c           |  13 ++
>  xen/arch/arm/domain.c                   |  12 +-
>  xen/arch/arm/domain_build.c             |   8 +
>  xen/arch/arm/firmware/Kconfig           |   8 +
>  xen/arch/arm/firmware/Makefile          |   1 +
>  xen/arch/arm/firmware/sci.c             | 187 +++++++++++++++++++++
>  xen/arch/arm/include/asm/domain.h       |   5 +
>  xen/arch/arm/include/asm/firmware/sci.h | 214 ++++++++++++++++++++++++
>  xen/arch/arm/vsmc.c                     |   3 +
>  xen/common/domctl.c                     |  13 ++
>  xen/drivers/passthrough/device_tree.c   |   7 +
>  xen/include/asm-generic/device.h        |   1 +
>  xen/include/public/arch-arm.h           |   4 +
>  15 files changed, 486 insertions(+), 1 deletion(-)
>  create mode 100644 xen/arch/arm/firmware/sci.c
>  create mode 100644 xen/arch/arm/include/asm/firmware/sci.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c11b82eca98f..c0e8143dca63 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -526,6 +526,12 @@ S:	Supported
>  F:	xen/arch/arm/include/asm/tee/
>  F:	xen/arch/arm/tee/
>  
> +SCI MEDIATORS
> +M:	Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> +S:	Supported
> +F:	xen/arch/arm/sci
> +F:	xen/include/asm-arm/sci
> +
>  TOOLSTACK
>  M:	Anthony PERARD <anthony.perard@vates.tech>
>  S:	Supported
> diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
> index 5610cddcba8e..bdab96a408c4 100644
> --- a/xen/arch/arm/device.c
> +++ b/xen/arch/arm/device.c
> @@ -13,6 +13,7 @@
>  #include <xen/iocap.h>
>  #include <xen/lib.h>
>  
> +#include <asm/firmware/sci.h>
>  #include <asm/setup.h>
>  
>  int map_irq_to_domain(struct domain *d, unsigned int irq,
> @@ -303,6 +304,10 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>                  return res;
>              }
>          }
> +
> +        res = sci_assign_dt_device(d, dev);
> +        if ( res )
> +            return res;
>      }
>  
>      res = map_device_irqs_to_domain(d, dev, own_device, irq_ranges);
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 49d1f14d659b..c463ab3eaca5 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -14,6 +14,7 @@
>  #include <asm/arm64/sve.h>
>  #include <asm/dom0less-build.h>
>  #include <asm/domain_build.h>
> +#include <asm/firmware/sci.h>
>  #include <asm/static-memory.h>
>  #include <asm/static-shmem.h>
>  
> @@ -321,6 +322,10 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
>          return -EINVAL;
>      }
>  
> +    res = sci_assign_dt_device(kinfo->d, node);
> +    if ( res )
> +        return res;
> +
>      res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
>      if ( res < 0 )
>          return res;
> @@ -970,6 +975,14 @@ void __init create_domUs(void)
>          if ( !llc_coloring_enabled && llc_colors_str )
>              panic("'llc-colors' found, but LLC coloring is disabled\n");
>  
> +        /*
> +         * TODO: enable ARM SCI for dom0less case
> +         * The configuration need to be retrieved from DT
> +         *  - arch.arm_sci_type, like "xen,sci_type"
> +         *  - arch.arm_sci_agent_id, like "xen,sci_agent_id"
> +         */
> +        d_cfg.arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_NONE;
> +
>          /*
>           * The variable max_init_domid is initialized with zero, so here it's
>           * very important to use the pre-increment operator to call
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 3ba959f86633..652aeb7a55de 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -25,6 +25,7 @@
>  #include <asm/platform.h>
>  #include <asm/procinfo.h>
>  #include <asm/regs.h>
> +#include <asm/firmware/sci.h>
>  #include <asm/tee/tee.h>
>  #include <asm/vfp.h>
>  #include <asm/vgic.h>
> @@ -694,7 +695,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
>  
> -    return 0;
> +    return sci_domain_sanitise_config(config);
>  }
>  
>  int arch_domain_create(struct domain *d,
> @@ -786,6 +787,9 @@ int arch_domain_create(struct domain *d,
>      d->arch.sve_vl = config->arch.sve_vl;
>  #endif
>  
> +    if ( (rc = sci_domain_init(d, config)) != 0 )
> +        goto fail;
> +
>      return 0;
>  
>  fail:
> @@ -846,6 +850,7 @@ void arch_domain_destroy(struct domain *d)
>      domain_vgic_free(d);
>      domain_vuart_free(d);
>      free_xenheap_page(d->shared_info);
> +    sci_domain_destroy(d);
>  #ifdef CONFIG_ACPI
>      free_xenheap_pages(d->arch.efi_acpi_table,
>                         get_order_from_bytes(d->arch.efi_acpi_len));
> @@ -1039,6 +1044,7 @@ enum {
>      PROG_p2m_root,
>      PROG_p2m,
>      PROG_p2m_pool,
> +    PROG_sci,
>      PROG_done,
>  };
>  
> @@ -1098,6 +1104,10 @@ int domain_relinquish_resources(struct domain *d)
>          ret = relinquish_p2m_mapping(d);
>          if ( ret )
>              return ret;
> +    PROGRESS(sci):
> +        ret = sci_relinquish_resources(d);
> +        if ( ret )
> +            return ret;
>  
>      PROGRESS(p2m_root):
>          /*
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 7b47abade196..36d28b52a418 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -24,6 +24,7 @@
>  #include <asm/setup.h>
>  #include <asm/tee/tee.h>
>  #include <asm/pci.h>
> +#include <asm/firmware/sci.h>
>  #include <asm/platform.h>
>  #include <asm/psci.h>
>  #include <asm/setup.h>
> @@ -1888,6 +1889,9 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
>          return 0;
>      }
>  
> +    if ( sci_dt_handle_node(d, node) )
> +        return 0;
> +
>      /*
>       * The vGIC does not support routing hardware PPIs to guest. So
>       * we need to skip any node using PPIs.
> @@ -1988,6 +1992,10 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
>          if ( res )
>              return res;
>  
> +        res = sci_dt_finalize(d, kinfo->fdt);
> +        if ( res )
> +            return res;
> +
>          /*
>           * Create a second memory node to store the ranges covering
>           * reserved-memory regions.
> diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
> index 817da745fd43..fc7918c7fc56 100644
> --- a/xen/arch/arm/firmware/Kconfig
> +++ b/xen/arch/arm/firmware/Kconfig
> @@ -1,3 +1,11 @@
> +config ARM_SCI
> +	bool
> +	depends on ARM
> +	help
> +	  This option enables generic Arm SCI (System Control Interface) mediators
> +	  support. It allows domains to control system resources via one of
> +	  Arm SCI mediators drivers implemented in XEN, like SCMI.
> +
>  menu "Firmware Drivers"
>  
>  config SCMI_SMC
> diff --git a/xen/arch/arm/firmware/Makefile b/xen/arch/arm/firmware/Makefile
> index a5e454266625..71bdefc24afb 100644
> --- a/xen/arch/arm/firmware/Makefile
> +++ b/xen/arch/arm/firmware/Makefile
> @@ -1 +1,2 @@
> +obj-$(CONFIG_ARM_SCI) += sci.o
>  obj-$(CONFIG_SCMI_SMC) += scmi-smc.o
> diff --git a/xen/arch/arm/firmware/sci.c b/xen/arch/arm/firmware/sci.c
> new file mode 100644
> index 000000000000..1fb6b55e030a
> --- /dev/null
> +++ b/xen/arch/arm/firmware/sci.c
> @@ -0,0 +1,187 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */

FYI, while GPL-2.0-or-later is a compatible license accepted in Xen
Project, the default license used by Xen Project is GPL-2.0-only.


> +/*
> + * Generic part of the SCI (System Control Interface) subsystem.
> + *
> + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> + * Copyright (c) 2025 EPAM Systems
> + */
> +
> +#include <xen/acpi.h>
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +#include <xen/sched.h>
> +#include <xen/types.h>
> +
> +#include <asm/firmware/sci.h>
> +
> +static const struct sci_mediator_ops __read_mostly *cur_mediator;
> +
> +int sci_register(const struct sci_mediator_ops *ops)
> +{
> +    if ( cur_mediator )
> +        return -EEXIST;
> +
> +    if ( !ops->domain_init || !ops->domain_destroy || !ops->handle_call )
> +        return -EINVAL;
> +
> +    cur_mediator = ops;
> +
> +    return 0;
> +};
> +
> +bool sci_handle_call(struct cpu_user_regs *args)
> +{
> +    if ( unlikely(!cur_mediator) )
> +        return false;
> +
> +    return cur_mediator->handle_call(args);
> +}
> +
> +int sci_domain_init(struct domain *d, struct xen_domctl_createdomain *config)
> +{
> +    if ( !cur_mediator )
> +        return 0;
> +
> +    return cur_mediator->domain_init(d, config);
> +}
> +
> +int sci_domain_sanitise_config(struct xen_domctl_createdomain *config)
> +{
> +    if ( !cur_mediator )
> +        return 0;
> +
> +    if ( !cur_mediator->domain_sanitise_config )
> +        return 0;
> +
> +    return cur_mediator->domain_sanitise_config(config);
> +}
> +
> +void sci_domain_destroy(struct domain *d)
> +{
> +    if ( !cur_mediator )
> +        return;
> +
> +    cur_mediator->domain_destroy(d);
> +}
> +
> +int sci_relinquish_resources(struct domain *d)
> +{
> +    if ( !cur_mediator )
> +        return 0;
> +
> +    if ( !cur_mediator->relinquish_resources )
> +        return 0;
> +
> +    return cur_mediator->relinquish_resources(d);
> +}
> +
> +bool sci_dt_handle_node(struct domain *d, struct dt_device_node *node)
> +{
> +    if ( !cur_mediator )
> +        return 0;
> +
> +    if ( !cur_mediator->dom0_dt_handle_node )
> +        return 0;
> +
> +    return cur_mediator->dom0_dt_handle_node(d, node);
> +}
> +
> +int sci_dt_finalize(struct domain *d, void *fdt)
> +{
> +    if ( !cur_mediator )
> +        return 0;
> +
> +    if ( !cur_mediator->dom0_dt_finalize )
> +        return 0;
> +
> +    return cur_mediator->dom0_dt_finalize(d, fdt);
> +}
> +
> +int sci_assign_dt_device(struct domain *d, struct dt_device_node *dev)
> +{
> +    struct dt_phandle_args ac_spec;
> +    int index = 0;
> +    int ret;
> +
> +    if ( !cur_mediator )
> +        return 0;
> +
> +    if ( !cur_mediator->assign_dt_device )
> +        return 0;
> +
> +    while ( !dt_parse_phandle_with_args(dev, "access-controllers",
> +                                        "#access-controller-cells", index,
> +                                        &ac_spec) )
> +    {
> +        printk(XENLOG_DEBUG "sci: assign device %s to %pd\n",
> +               dt_node_full_name(dev), d);
> +
> +        ret = cur_mediator->assign_dt_device(d, &ac_spec);
> +        if ( ret )
> +            return ret;

I am confused by this: we are passing a reference to the controller
rather than to the device to be assigned?


> +        index++;
> +    }
> +
> +    return 0;
> +}
> +
> +int sci_do_domctl(struct xen_domctl *domctl, struct domain *d,
> +                  XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
> +{
> +    struct dt_device_node *dev;
> +    int ret = 0;
> +
> +    switch ( domctl->cmd )
> +    {
> +    case XEN_DOMCTL_assign_device:
> +        if ( domctl->u.assign_device.dev != XEN_DOMCTL_DEV_DT )
> +        {
> +            ret = -EINVAL;
> +            break;
> +        }
> +
> +        ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
> +                                    domctl->u.assign_device.u.dt.size, &dev);
> +        if ( ret )
> +            return ret;
> +
> +        ret = sci_assign_dt_device(d, dev);
> +        if ( ret )
> +            break;
> +
> +        break;
> +    default:
> +        /* do not fail here as call is chained with iommu handling */
> +        break;
> +    }
> +
> +    return ret;
> +}
> +
> +static int __init sci_init(void)
> +{
> +    struct dt_device_node *np;
> +    unsigned int num_sci = 0;
> +    int rc;
> +
> +    dt_for_each_device_node(dt_host, np)
> +    {
> +        rc = device_init(np, DEVICE_ARM_SCI, NULL);
> +        if ( !rc && num_sci )
> +        {
> +            printk(XENLOG_ERR
> +                   "SCMI: Only one SCI controller is supported. found second %s\n",
> +                   np->name);
> +            return -EOPNOTSUPP;
> +        }
> +        else if ( !rc )
> +            num_sci++;
> +        else if ( rc != -EBADF && rc != -ENODEV )
> +            return rc;
> +    }
> +
> +    return 0;
> +}
> +
> +__initcall(sci_init);
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index f1d72c6e48df..fa0898b7cf80 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -118,6 +118,11 @@ struct arch_domain
>  #ifdef CONFIG_TEE
>      void *tee;
>  #endif
> +#ifdef CONFIG_ARM_SCI
> +    bool sci_enabled;
> +    /* ARM SCI driver's specific data */
> +    void *sci_data;
> +#endif
>  
>  }  __cacheline_aligned;
>  
> diff --git a/xen/arch/arm/include/asm/firmware/sci.h b/xen/arch/arm/include/asm/firmware/sci.h
> new file mode 100644
> index 000000000000..4c6f624723c5
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/firmware/sci.h
> @@ -0,0 +1,214 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Generic ARM SCI (System Control Interface) subsystem.
> + *
> + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> + * Copyright (c) 2025 EPAM Systems
> + */
> +
> +#ifndef __ASM_ARM_SCI_H
> +#define __ASM_ARM_SCI_H
> +
> +#include <xen/lib.h>
> +#include <xen/types.h>
> +#include <xen/device_tree.h>
> +#include <xen/errno.h>
> +#include <xen/sched.h>
> +
> +#ifdef CONFIG_ARM_SCI
> +
> +struct sci_mediator_ops {
> +    /*
> +     * Called during domain construction. If it is requested to enable
> +     * SCI support, so SCI driver can create own structures for the new domain
> +     * and inform firmware about new domain (if required).
> +     * Mandatory.
> +     */
> +    int (*domain_init)(struct domain *d,
> +                       struct xen_domctl_createdomain *config);
> +
> +    /*
> +     * Called during domain construction. The SCI driver uses
> +     * it to sanitize domain SCI configuration parameters.
> +     * Optional.
> +     */
> +    int (*domain_sanitise_config)(struct xen_domctl_createdomain *config);
> +
> +    /*
> +     * Called during domain destruction, releases all resources, that
> +     * were allocated for domain.
> +     * Mandatory.
> +     */
> +    void (*domain_destroy)(struct domain *d);
> +
> +    /*
> +     * Called during domain destruction to relinquish resources used
> +     * by SCI driver itself and request resources releasing from firmware.
> +     * Optional.
> +     */
> +    int (*relinquish_resources)(struct domain *d);
> +
> +    /* SMC/HVC Handle callback */
> +    bool (*handle_call)(struct cpu_user_regs *regs);
> +
> +    /*
> +     * Dom0 DT nodes handling callback so SCI driver can detect DT nodes it
> +     * need to handle and decide if those nodes need to be provided to Dom0.
> +     * Optional.
> +     */
> +    bool (*dom0_dt_handle_node)(struct domain *d, struct dt_device_node *node);
> +
> +    /*
> +     * SCI driver callback called at the end of Dom0 DT generation, so
> +     * it can perform steps to modify DT to enable/disable SCI
> +     * functionality for Dom0.
> +     */
> +    int (*dom0_dt_finalize)(struct domain *d, void *fdt);
> +
> +    /*
> +     * SCI driver callback called when DT device is passed through to guest,
> +     * so SCI driver can enable device access to the domain if SCI FW provides
> +     * Device specific access control functionality.
> +     * Optional.
> +     */
> +    int (*assign_dt_device)(struct domain *d, struct dt_phandle_args *ac_spec);
> +};
> +
> +
> +static inline bool sci_domain_is_enabled(struct domain *d)
> +{
> +    return d->arch.sci_enabled;
> +}
> +
> +/*
> + * Register SCI subsystem ops.
> + *
> + * Register SCI drivers operation and so enable SCI functionality.
> + * Only one SCI driver is supported.
> + */
> +int sci_register(const struct sci_mediator_ops *ops);
> +
> +/*
> + * Initialize SCI functionality for domain if configured.
> + *
> + * Initialization routine to enable SCI functionality for the domain.
> + * The SCI configuration data and decision about enabling SCI functionality
> + * for the domain is SCI driver specific.
> + */
> +int sci_domain_init(struct domain *d, struct xen_domctl_createdomain *config);
> +
> +/*
> + * Sanitise domain configuration parameters.
> + *
> + */
> +int sci_domain_sanitise_config(struct xen_domctl_createdomain *config);
> +
> +/*
> + * Destroy SCI domain instance.
> + */
> +void sci_domain_destroy(struct domain *d);
> +
> +/*
> + * Free resources assigned to the certain domain.
> + */
> +int sci_relinquish_resources(struct domain *d);
> +
> +/*
> + * SMC/HVC Handle callback.
> + *
> + * SCI driver acts as SMC/HVC server for the registered domains and
> + * does redirection of the domain calls to the SCI firmware,
> + * such as ARM TF-A or similar.
> + */
> +bool sci_handle_call(struct cpu_user_regs *regs);
> +
> +/*
> + * Dom0 DT nodes handling function.
> + *
> + * Allows SCI driver to detect DT nodes it need to handle and decide if
> + * those nodes need to be provided to Dom0.
> + */
> +bool sci_dt_handle_node(struct domain *d, struct dt_device_node *node);
> +
> +/*
> + * Dom0 DT generation finalize.
> + *
> + * Called at the end of Dom0 DT generation, so SCI driver can perform steps
> + * to modify DT to enable/disable SCI functionality for Dom0.
> + */
> +int sci_dt_finalize(struct domain *d, void *fdt);
> +
> +/*
> + * Assign DT device to domain.
> + *
> + * Called when DT device is passed through to guest, so SCI driver can enable
> + * device access to the domain if SCI FW provides "Device specific access
> + * control" functionality.
> + */
> +int sci_assign_dt_device(struct domain *d, struct dt_device_node *dev);
> +
> +/*
> + * SCI domctl handler
> + *
> + * Only XEN_DOMCTL_assign_device is handled for now.
> + */
> +int sci_do_domctl(struct xen_domctl *domctl, struct domain *d,
> +                  XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
> +#else
> +
> +static inline bool sci_domain_is_enabled(struct domain *d)
> +{
> +    return false;
> +}
> +
> +static inline int sci_domain_init(struct domain *d,
> +                                  struct xen_domctl_createdomain *config)
> +{
> +    return 0;
> +}
> +
> +static inline int
> +sci_domain_sanitise_config(struct xen_domctl_createdomain *config)
> +{
> +    return 0;
> +}
> +
> +static inline void sci_domain_destroy(struct domain *d)
> +{}
> +
> +static inline int sci_relinquish_resources(struct domain *d)
> +{
> +    return 0;
> +}
> +
> +static inline bool sci_handle_call(struct cpu_user_regs *args)
> +{
> +    return false;
> +}
> +
> +static inline bool sci_dt_handle_node(struct domain *d,
> +                                      struct dt_device_node *node)
> +{
> +    return false;
> +}
> +
> +static inline int sci_dt_finalize(struct domain *d, void *fdt)
> +{
> +    return false;
> +}
> +
> +static inline int sci_assign_dt_device(struct domain *d,
> +                                       struct dt_device_node *dev)
> +{
> +    return 0;
> +}
> +
> +static inline int sci_do_domctl(struct xen_domctl *domctl, struct domain *d,
> +                                XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
> +{
> +    return 0;
> +}
> +
> +#endif /* CONFIG_ARM_SCI */
> +
> +#endif /* __ASM_ARM_SCI_H */
> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> index 62d8117a120c..51b3c0297314 100644
> --- a/xen/arch/arm/vsmc.c
> +++ b/xen/arch/arm/vsmc.c
> @@ -12,6 +12,7 @@
>  #include <public/arch-arm/smccc.h>
>  #include <asm/cpuerrata.h>
>  #include <asm/cpufeature.h>
> +#include <asm/firmware/sci.h>
>  #include <asm/monitor.h>
>  #include <asm/regs.h>
>  #include <asm/smccc.h>
> @@ -300,6 +301,8 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
>              break;
>          case ARM_SMCCC_OWNER_SIP:
>              handled = handle_sip(regs);
> +            if ( !handled )
> +                handled = sci_handle_call(regs);

Isn't there a proper funcid range for SCI calls?


>              break;
>          case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
>          case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> index 05abb581a03d..b48ad20a6e2b 100644
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -27,6 +27,7 @@
>  #include <xen/vm_event.h>
>  #include <xen/monitor.h>
>  #include <asm/current.h>
> +#include <asm/firmware/sci.h>
>  #include <asm/irq.h>
>  #include <asm/page.h>
>  #include <asm/p2m.h>
> @@ -851,6 +852,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>      case XEN_DOMCTL_deassign_device:
>      case XEN_DOMCTL_get_device_group:
>          ret = iommu_do_domctl(op, d, u_domctl);
> +
> +        if ( ret >= 0 || (ret == -EOPNOTSUPP) || (ret == -ENODEV) )
> +        {
> +            /*
> +             * TODO: RFC
> +             * This change will allow to pass DT nodes/devices to
> +             * XEN_DOMCTL_assign_device OP using xl.cfg:"dtdev" property even
> +             * if those DT nodes/devices even are not behind IOMMU (or IOMMU
> +             * is disabled) without failure.
> +             */
> +            ret = sci_do_domctl(op, d, u_domctl);
> +        }
>          break;
>  
>      case XEN_DOMCTL_get_paging_mempool_size:
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 075fb25a3706..f2ee0a72f541 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -318,6 +318,13 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>              break;
>          }
>  
> +        /* TODO: RFC allow assignment of devices without IOMMU protection. */
> +        if ( !dt_device_is_protected(dev) )
> +        {
> +            ret = 0;
> +            break;
> +        }

This should not be needed, there is a similar check at the beginning of
iommu_assign_dt_device



>          ret = iommu_assign_dt_device(d, dev);
>  
>          if ( ret )
> diff --git a/xen/include/asm-generic/device.h b/xen/include/asm-generic/device.h
> index 1acd1ba1d8b4..9fcdabfda9bc 100644
> --- a/xen/include/asm-generic/device.h
> +++ b/xen/include/asm-generic/device.h
> @@ -18,6 +18,7 @@ enum device_class
>      DEVICE_IOMMU,
>      DEVICE_INTERRUPT_CONTROLLER,
>      DEVICE_PCI_HOSTBRIDGE,
> +    DEVICE_ARM_SCI,
>      /* Use for error */
>      DEVICE_UNKNOWN,
>  };
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 24840eeaa666..55eed9992c9d 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -327,6 +327,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>  #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>  #define XEN_DOMCTL_CONFIG_TEE_FFA       2
>  
> +#define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
> +
>  struct xen_arch_domainconfig {
>      /* IN/OUT */
>      uint8_t gic_version;
> @@ -350,6 +352,8 @@ struct xen_arch_domainconfig {
>       *
>       */
>      uint32_t clock_frequency;
> +    /* IN */
> +    uint8_t arm_sci_type;
>  };
>  #endif /* __XEN__ || __XEN_TOOLS__ */
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 13 23:48:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Mar 2025 23:48:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913605.1319589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tssI5-0007Wf-1Z; Thu, 13 Mar 2025 23:48:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913605.1319589; Thu, 13 Mar 2025 23:48: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 1tssI4-0007WU-Ul; Thu, 13 Mar 2025 23:48:40 +0000
Received: by outflank-mailman (input) for mailman id 913605;
 Thu, 13 Mar 2025 23:48: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=YTVj=WA=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tssI2-0006f8-RQ
 for xen-devel@lists.xenproject.org; Thu, 13 Mar 2025 23:48:39 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad98b90c-0065-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 00:48:35 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id D8225A40235;
 Thu, 13 Mar 2025 23:43:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91926C4CEDD;
 Thu, 13 Mar 2025 23:48: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: ad98b90c-0065-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741909714;
	bh=caT82Y32tBxFv7fKtEb5dmH/HIxZ3QwPt+JboyTcHqs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ig6nPudfFEJmp3J9uuTmCybpQXSoDpzvXvJzawx9yhRhsttLOfU8SsF1ERiCZUgrQ
	 Hu9gvDNO4kXlfRtc/iyAu1BwpijhM8R1/IcudqOXkLyxvApTceHPv0m0qU6vOap47D
	 lT/6s+/vXxz2hNMespWN+CCMVvILZGu9YS53gFLz7DVuYAXGZErdmH5tJe4aMqqVIK
	 9GnsyaUDSL84MeXnqyP1z1xftBk5oXcJX+P+xkzPR2lmUhGKod7vxoKT8qhY6j+chW
	 K6NNi0McBN+zCDaEyzMweL6xRGexiKmaGehlHsjdjTazdJ63B6ksQZxCAsjiqdSMiH
	 DtzKKdvahnHfg==
Date: Thu, 13 Mar 2025 16:48:30 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Grygorii Strashko <gragst.linux@gmail.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Oleksii Moisieiev <oleksii_moisieiev@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Juergen Gross <jgross@suse.com>, 
    Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [RFC PATCH v3 4/7] xen/arm: scmi: introduce SCI SCMI SMC
 multi-agent driver
In-Reply-To: <20250311111618.1850927-5-grygorii_strashko@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503131606430.3477110@ubuntu-linux-20-04-desktop>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com> <20250311111618.1850927-5-grygorii_strashko@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, 11 Mar 2025, Grygorii Strashko wrote:
> From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> 
> This patch introduces SCI driver to support for ARM EL3 Trusted Firmware-A
> (TF-A) which provides SCMI interface with multi-agnet support, as shown
> below.
> 
>   +-----------------------------------------+
>   |                                         |
>   | EL3 TF-A SCMI                           |
>   +-------+--+-------+--+-------+--+-------++
>   |shmem0 |  |shmem1 |  |shmem2 |  |shmemX |
>   +-----+-+  +---+---+  +--+----+  +---+---+
> smc-id0 |        |         |           |
> agent0  |        |         |           |
>   +-----v--------+---------+-----------+----+
>   |              |         |           |    |
>   |              |         |           |    |
>   +--------------+---------+-----------+----+
>          smc-id1 |  smc-id2|    smc-idX|
>          agent1  |  agent2 |    agentX |
>                  |         |           |
>             +----v---+  +--v-----+  +--v-----+
>             |        |  |        |  |        |
>             | Dom0   |  | Dom1   |  | DomX   |
>             |        |  |        |  |        |
>             |        |  |        |  |        |
>             +--------+  +--------+  +--------+
> 
> The EL3 SCMI multi-agent firmware expected to provide SCMI SMC/HVC shared
> memory transport for every Agent in the system.
> 
> The SCMI Agent transport channel defined by pair:
>  - smc-id: SMC/HVC id used for Doorbell
>  - shmem: shared memory for messages transfer, Xen page aligned,
>  p2m_mmio_direct_nc.
> 
> The follwoing SCMI Agents expected to be defined by SCMI FW to enable SCMI
> multi-agent functionality under Xen:
> - Xen manegement agent: trusted agents that accesses to the Base Protocol
> commands to configure agent specific permissions
> - OSPM VM agents: non-trusted agent, one for each Guest domain which is
>   allowed direct HW access. At least one OSPM VM agent has to be provided
>   by FW if HW is handled only by Dom0 or Driver Domain.
> 
> The EL3 SCMI FW expected to implement following Base protocol messages:
> - BASE_DISCOVER_AGENT
> - BASE_RESET_AGENT_CONFIGURATION (optional)
> - BASE_SET_DEVICE_PERMISSIONS (optional)
> 
> The SCI SCMI SMC multi-agent driver implements following functionality:
> - It's initialized based on the Host DT SCMI node (only one SCMI interface
> is supported) which describes Xen management agent SCMI interface.
> 
> scmi_shm_0 : sram@47ff0000 {
>     compatible = "arm,scmi-shmem";
>     reg = <0x0 0x47ff0000 0x0 0x1000>;
> };
> firmware {
>     scmi: scmi {
>         compatible = "arm,scmi-smc";
>         arm,smc-id = <0x82000002>; // Xen manegement agent smc-id
>         \#address-cells = < 1>;
>         \#size-cells = < 0>;
>         \#access-controller - cells = < 1>;
>         shmem = <&scmi_shm_0>; // Xen manegement agent shmem
> 
>         protocol@X{
>         };
>     };
> };
> 
> - It obtains Xen specific SCMI Agent's configuration from the Host DT,
>   probes Agents and build SCMI Agents list. The Agents configuration
>   is taken from:
> 
> chosen {
>   xen,scmi-secondary-agents = <
> 		1 0x82000003 &scmi_shm_1
> 		2 0x82000004 &scmi_shm_2
> 		3 0x82000005 &scmi_shm_3
> 		4 0x82000006 &scmi_shm_4>;
> }
> 
> /{
> 	scmi_shm_1: sram@47ff1000 {
> 		compatible = "arm,scmi-shmem";
> 		reg = <0x0 0x47ff1000 0x0 0x1000>;
> 	};
> 	scmi_shm_2: sram@47ff2000 {
> 		compatible = "arm,scmi-shmem";
> 		reg = <0x0 0x47ff2000 0x0 0x1000>;
> 	};
> 	scmi_shm_3: sram@47ff3000 {
> 		compatible = "arm,scmi-shmem";
> 		reg = <0x0 0x47ff3000 0x0 0x1000>;

All the shared memory regions need two addresses: the host address and
the guest address. They might be different to avoid address collisions.
The guest address could be optional, and if absent we could assume 1:1.

Also, these nodes under chosen should be documented in
docs/misc/arm/device-tree/booting.txt


> 	};
> }
>   where first item is "agent_id", second - "arm,smc-id", and third - "arm,scmi-shmem" for
>   this agent_id.
> 
>   Note that Xen is the only one entry in the system which need to know
>   about SCMI multi-agent support.
> 
> - It implements the SCI subsystem interface required for configuring and
> enabling SCMI functionality for Dom0/hwdom and Guest domains. To enable
> SCMI functionality for domain it has to be configured with unique supported
> SCMI Agent_id and use corresponding SCMI SMC/HVC shared memory transport
> [smc-id, shmem] defined for this SCMI Agent_id.
> - Once Xen domain is configured it can communicate with EL3 SCMI FW:
>   -- zero-copy, the guest domain puts SCMI message in shmem;
>   -- the guest triggers SMC/HVC exception with smc-id (doorbell);
>   -- the Xen driver catches exception, do checks and synchronously forwards
>   it to EL3 FW.
> - the Xen driver sends BASE_RESET_AGENT_CONFIGURATION message to Xen
>   management agent channel on domain destroy event. This allows to reset
>   resources used by domain and so implement use-case like domain reboot.
> 
> Dom0 Enable SCMI SMC:
>  - pass dom0_scmi_agent_id=<agent_id> in Xen command line option. if not provided
>    SCMI will be disabled for Dom0 and all SCMI nodes removed from Dom0 DT.
>    The driver updates Dom0 DT SCMI node "arm,smc-id" value and fix up shmem
>    node according to assigned agent_id.

I know dom0less is not enabled at this point, but if we had dom0less
support, we would need a way in device tree to specify the agend_id for
every dom0less domain, and ideally we would use the same device tree
binding for dom0 too (or something very similar).


> Guest domains enable SCMI SMC:
>  - xl.cfg: add configuration option as below
> 
>    arm_sci = "type=scmi_smc_multiagent,agent_id=2"
> 
>  - xl.cfg: enable access to the "arm,scmi-shmem" which should correspond assigned agent_id for
>    the domain, for example:
> 
> iomem = [
>     "47ff2,1@22001",
> ]
> 
>  - DT: add SCMI nodes to the Driver domain partial device tree as in the
>  below example. The "arm,smc-id" should correspond assigned agent_id for the domain:
> 
> passthrough {
>    scmi_shm_0: sram@22001000 {
>        compatible = "arm,scmi-shmem";
>        reg = <0x0 0x22001000 0x0 0x1000>;
>    };
> 
>    firmware {
>         compatible = "simple-bus";
>             scmi: scmi {
>                 compatible = "arm,scmi-smc";
>                 arm,smc-id = <0x82000004>;
>                 shmem = <&scmi_shm_0>;
>                 ...
>             }
>     }
> }
> 
> SCMI "4.2.1.1 Device specific access control"
> 
> The XEN SCI SCMI SMC multi-agent driver performs "access-controller" provider function
> in case EL3 SCMI FW implements SCMI "4.2.1.1 Device specific access control" and provides the
> BASE_SET_DEVICE_PERMISSIONS command to configure the devices that an agents have access to.
> The DT SCMI node should "#access-controller-cells=<1>" property and DT devices should be bound
> to the Xen SCMI.
> 
> &i2c1 {
>    access-controllers = <&scmi 0>;
> };
> 
> The Dom0 and dom0less (TBD) domains DT devices will be processed automatically through
> sci_assign_dt_device() call, but to assign SCMI devices from toolstack the xl.cfg:"dtdev" property
> shell be used:
> 
> dtdev = [
>     "/soc/i2c@e6508000",
> ]
> 
> xl.cfg:dtdev will contain all nodes which are under SCMI management (not only those which are behind IOMMU).

This commit message is great documentation. Please add it as a text
document under docs/misc/arm


> 
> TODO:
> - dom0less is not fully supported yet
> - move memcpy_fro/tomio in separate patch
> 
> [1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> [2] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/access-controllers/access-controllers.yaml
> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
>  docs/man/xl.cfg.5.pod.in                    |  15 +
>  docs/misc/xen-command-line.pandoc           |   9 +
>  tools/libs/light/libxl_arm.c                |   4 +
>  tools/libs/light/libxl_types.idl            |   4 +-
>  tools/xl/xl_parse.c                         |  17 +
>  xen/arch/arm/domain_build.c                 |   3 +-
>  xen/arch/arm/firmware/Kconfig               |  11 +
>  xen/arch/arm/firmware/Makefile              |   1 +
>  xen/arch/arm/firmware/scmi-proto.h          | 164 ++++
>  xen/arch/arm/firmware/scmi-shmem.c          | 172 ++++
>  xen/arch/arm/firmware/scmi-shmem.h          |  45 +
>  xen/arch/arm/firmware/scmi-smc-multiagent.c | 856 ++++++++++++++++++++
>  xen/include/public/arch-arm.h               |   3 +
>  13 files changed, 1302 insertions(+), 2 deletions(-)
>  create mode 100644 xen/arch/arm/firmware/scmi-proto.h
>  create mode 100644 xen/arch/arm/firmware/scmi-shmem.c
>  create mode 100644 xen/arch/arm/firmware/scmi-shmem.h
>  create mode 100644 xen/arch/arm/firmware/scmi-smc-multiagent.c
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 7edf272386e3..fc6041724a13 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -3126,6 +3126,21 @@ single SCMI OSPM agent support.
>  Should be used together with B<dom0_scmi_smc_passthrough> Xen command line
>  option.
>  
> +=item B<scmi_smc_multiagent>
> +
> +Enables ARM SCMI SMC multi-agent support for the guest by enabling SCMI over
> +SMC calls forwarding from domain to the EL3 firmware (like Trusted Firmware-A)
> +with a multi SCMI OSPM agent support. The SCMI B<agent_id> should be
> +specified for the guest.
> +
> +=back
> +
> +=item B<agent_id=NUMBER>
> +
> +Specifies a non-zero ARM SCI agent id for the guest. This option is mandatory
> +if the SCMI SMC support is enabled for the guest. The agent ids of domains
> +existing on a single host must be unique.
> +
>  =back
>  
>  =back
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 8e50f6b7c7ac..bc3c64d6ec90 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1091,6 +1091,15 @@ which serves as Driver domain. The SCMI will be disabled for Dom0/hwdom and
>  SCMI nodes removed from Dom0/hwdom device tree.
>  (for example, thin Dom0 with Driver domain use-case).
>  
> +### dom0_scmi_agent_id (ARM)
> +> `= <integer>`
> +
> +The option is available when `CONFIG_SCMI_SMC_MA` is compiled in, and allows to
> +enable SCMI functionality for Dom0 by specifying a non-zero ARM SCMI agent id.
> +The SCMI will be disabled for Dom0 if this option is not specified
> +(for example, thin Dom0 or dom0less use-cases).
> +The agent ids of domains existing on a single host must be unique.
> +
>  ### dtuart (ARM)
>  > `= path [:options]`
>  
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index d41adea1cefd..cdf5edb299af 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -229,6 +229,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>      case LIBXL_ARM_SCI_TYPE_SCMI_SMC:
>          config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC;
>          break;
> +    case LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT:
> +        config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA;
> +        config->arch.arm_sci_agent_id = d_config->b_info.arm_sci.agent_id;
> +        break;
>      default:
>          LOG(ERROR, "Unknown ARM_SCI type %d",
>              d_config->b_info.arm_sci.type);
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index ea0d30654cdd..e6707c7ca9e7 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -553,11 +553,13 @@ libxl_sve_type = Enumeration("sve_type", [
>  
>  libxl_arm_sci_type = Enumeration("arm_sci_type", [
>      (0, "none"),
> -    (1, "scmi_smc")
> +    (1, "scmi_smc"),
> +    (2, "scmi_smc_multiagent")
>      ], init_val = "LIBXL_ARM_SCI_TYPE_NONE")
>  
>  libxl_arm_sci = Struct("arm_sci", [
>      ("type", libxl_arm_sci_type),
> +    ("agent_id", uint8)
>      ])
>  
>  libxl_rdm_reserve = Struct("rdm_reserve", [
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index ac9bf0b25c5a..011222ec55b9 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -1290,6 +1290,7 @@ static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
>      enum {
>          STATE_OPTION,
>          STATE_TYPE,
> +        STATE_AGENT_ID,
>          STATE_TERMINAL,
>      };
>      int ret, state = STATE_OPTION;
> @@ -1305,6 +1306,8 @@ static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
>                  *ptr = '\0';
>                  if (!strcmp(tok, "type")) {
>                      state = STATE_TYPE;
> +                } else if (!strcmp(tok, "agent_id")) {
> +                    state = STATE_AGENT_ID;
>                  } else {
>                      fprintf(stderr, "Unknown ARM_SCI option: %s\n", tok);
>                      goto parse_error;
> @@ -1324,11 +1327,24 @@ static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
>                  tok = ptr + 1;
>              }
>              break;
> +        case STATE_AGENT_ID:
> +            if (*ptr == ',' || *ptr == '\0') {
> +                state = *ptr == ',' ? STATE_OPTION : STATE_TERMINAL;
> +                *ptr = '\0';
> +                arm_sci->agent_id = strtoul(tok, NULL, 0);
> +                tok = ptr + 1;
> +            }
>          default:
>              break;
>          }
>      }
>  
> +    if (arm_sci->type == LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT &&
> +        arm_sci->agent_id == 0) {
> +        fprintf(stderr, "A non-zero ARM_SCI agent_id must be specified\n");
> +        goto parse_error;
> +    }
> +
>      if (tok != ptr || state != STATE_TERMINAL)
>          goto parse_error;
>  
> @@ -3042,6 +3058,7 @@ skip_usbdev:
>          libxl_arm_sci arm_sci = { 0 };
>          if (!parse_arm_sci_config(config, &arm_sci, buf)) {
>              b_info->arm_sci.type = arm_sci.type;
> +            b_info->arm_sci.agent_id = arm_sci.agent_id;
>          } else {
>              exit(EXIT_FAILURE);
>          }
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 36d28b52a418..9238771a4aac 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -616,7 +616,8 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
>                   dt_property_name_is_equal(prop, "linux,uefi-mmap-start") ||
>                   dt_property_name_is_equal(prop, "linux,uefi-mmap-size") ||
>                   dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-size") ||
> -                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-ver"))
> +                 dt_property_name_is_equal(prop, "linux,uefi-mmap-desc-ver") ||
> +                 dt_property_name_is_equal(prop, "xen,scmi-secondary-agents"))
>                  continue;
>  
>              if ( dt_property_name_is_equal(prop, "xen,dom0-bootargs") )
> diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
> index 2686ba313898..63fc5eac8d52 100644
> --- a/xen/arch/arm/firmware/Kconfig
> +++ b/xen/arch/arm/firmware/Kconfig
> @@ -29,6 +29,17 @@ config SCMI_SMC
>  	  driver domain.
>  	  Use with EL3 firmware which supports only single SCMI OSPM agent.
>  
> +config SCMI_SMC_MA
> +	bool "Enable ARM SCMI SMC multi-agent driver"
> +	select ARM_SCI
> +	help
> +	  Enables SCMI SMC/HVC multi-agent in XEN to pass SCMI requests from Domains
> +	  to EL3 firmware (TF-A) which supports multi-agent feature.
> +	  This feature allows to enable SCMI per Domain using unique SCMI agent_id,
> +	  so Domain is identified by EL3 firmware as an SCMI Agent and can access
> +	  allowed platform resources through dedicated SMC/HVC Shared memory based
> +	  transport.
> +
>  endchoice
>  
>  endmenu
> diff --git a/xen/arch/arm/firmware/Makefile b/xen/arch/arm/firmware/Makefile
> index 71bdefc24afb..37927e690e98 100644
> --- a/xen/arch/arm/firmware/Makefile
> +++ b/xen/arch/arm/firmware/Makefile
> @@ -1,2 +1,3 @@
>  obj-$(CONFIG_ARM_SCI) += sci.o
>  obj-$(CONFIG_SCMI_SMC) += scmi-smc.o
> +obj-$(CONFIG_SCMI_SMC_MA) += scmi-shmem.o scmi-smc-multiagent.o
> diff --git a/xen/arch/arm/firmware/scmi-proto.h b/xen/arch/arm/firmware/scmi-proto.h
> new file mode 100644
> index 000000000000..3f4b9c5d6b7c
> --- /dev/null
> +++ b/xen/arch/arm/firmware/scmi-proto.h
> @@ -0,0 +1,164 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Arm System Control and Management Interface definitions
> + * Version 3.0 (DEN0056C)
> + *
> + * Copyright (c) 2024 EPAM Systems
> + */
> +
> +#ifndef XEN_ARCH_ARM_SCI_SCMI_PROTO_H_
> +#define XEN_ARCH_ARM_SCI_SCMI_PROTO_H_
> +
> +#include <xen/stdint.h>
> +
> +#define SCMI_SHORT_NAME_MAX_SIZE 16
> +
> +/* SCMI status codes. See section 4.1.4 */
> +#define SCMI_SUCCESS              0
> +#define SCMI_NOT_SUPPORTED      (-1)
> +#define SCMI_INVALID_PARAMETERS (-2)
> +#define SCMI_DENIED             (-3)
> +#define SCMI_NOT_FOUND          (-4)
> +#define SCMI_OUT_OF_RANGE       (-5)
> +#define SCMI_BUSY               (-6)
> +#define SCMI_COMMS_ERROR        (-7)
> +#define SCMI_GENERIC_ERROR      (-8)
> +#define SCMI_HARDWARE_ERROR     (-9)
> +#define SCMI_PROTOCOL_ERROR     (-10)
> +
> +/* Protocol IDs */
> +#define SCMI_BASE_PROTOCOL 0x10
> +
> +/* Base protocol message IDs */
> +#define SCMI_BASE_PROTOCOL_VERSION            0x0
> +#define SCMI_BASE_PROTOCOL_ATTIBUTES          0x1
> +#define SCMI_BASE_PROTOCOL_MESSAGE_ATTRIBUTES 0x2
> +#define SCMI_BASE_DISCOVER_AGENT              0x7
> +#define SCMI_BASE_SET_DEVICE_PERMISSIONS      0x9
> +#define SCMI_BASE_RESET_AGENT_CONFIGURATION   0xB
> +
> +typedef struct scmi_msg_header {
> +    uint8_t id;
> +    uint8_t type;
> +    uint8_t protocol;
> +    uint32_t status;
> +} scmi_msg_header_t;
> +
> +/* Table 2 Message header format */
> +#define SCMI_HDR_ID    GENMASK(7, 0)
> +#define SCMI_HDR_TYPE  GENMASK(9, 8)
> +#define SCMI_HDR_PROTO GENMASK(17, 10)
> +
> +#define SCMI_FIELD_GET(_mask, _reg)                                            \
> +    ((typeof(_mask))(((_reg) & (_mask)) >> (ffs64(_mask) - 1)))
> +#define SCMI_FIELD_PREP(_mask, _val)                                           \
> +    (((typeof(_mask))(_val) << (ffs64(_mask) - 1)) & (_mask))
> +
> +static inline uint32_t pack_scmi_header(scmi_msg_header_t *hdr)
> +{
> +    return SCMI_FIELD_PREP(SCMI_HDR_ID, hdr->id) |
> +           SCMI_FIELD_PREP(SCMI_HDR_TYPE, hdr->type) |
> +           SCMI_FIELD_PREP(SCMI_HDR_PROTO, hdr->protocol);
> +}
> +
> +static inline void unpack_scmi_header(uint32_t msg_hdr, scmi_msg_header_t *hdr)
> +{
> +    hdr->id = SCMI_FIELD_GET(SCMI_HDR_ID, msg_hdr);
> +    hdr->type = SCMI_FIELD_GET(SCMI_HDR_TYPE, msg_hdr);
> +    hdr->protocol = SCMI_FIELD_GET(SCMI_HDR_PROTO, msg_hdr);
> +}
> +
> +static inline int scmi_to_xen_errno(int scmi_status)
> +{
> +    if ( scmi_status == SCMI_SUCCESS )
> +        return 0;
> +
> +    switch ( scmi_status )
> +    {
> +    case SCMI_NOT_SUPPORTED:
> +        return -EOPNOTSUPP;
> +    case SCMI_INVALID_PARAMETERS:
> +        return -EINVAL;
> +    case SCMI_DENIED:
> +        return -EACCES;
> +    case SCMI_NOT_FOUND:
> +        return -ENOENT;
> +    case SCMI_OUT_OF_RANGE:
> +        return -ERANGE;
> +    case SCMI_BUSY:
> +        return -EBUSY;
> +    case SCMI_COMMS_ERROR:
> +        return -ENOTCONN;
> +    case SCMI_GENERIC_ERROR:
> +        return -EIO;
> +    case SCMI_HARDWARE_ERROR:
> +        return -ENXIO;
> +    case SCMI_PROTOCOL_ERROR:
> +        return -EBADMSG;
> +    default:
> +        return -EINVAL;
> +    }
> +}
> +
> +/* PROTOCOL_VERSION */
> +#define SCMI_VERSION_MINOR GENMASK(15, 0)
> +#define SCMI_VERSION_MAJOR GENMASK(31, 16)
> +
> +struct scmi_msg_prot_version_p2a {
> +    uint32_t version;
> +} __packed;
> +
> +/* BASE PROTOCOL_ATTRIBUTES */
> +#define SCMI_BASE_ATTR_NUM_PROTO GENMASK(7, 0)
> +#define SCMI_BASE_ATTR_NUM_AGENT GENMASK(15, 8)
> +
> +struct scmi_msg_base_attributes_p2a {
> +    uint32_t attributes;
> +} __packed;
> +
> +/*
> + * BASE_DISCOVER_AGENT
> + */
> +#define SCMI_BASE_AGENT_ID_OWN 0xFFFFFFFF
> +
> +struct scmi_msg_base_discover_agent_a2p {
> +    uint32_t agent_id;
> +} __packed;
> +
> +struct scmi_msg_base_discover_agent_p2a {
> +    uint32_t agent_id;
> +    char name[SCMI_SHORT_NAME_MAX_SIZE];
> +} __packed;
> +
> +/*
> + * BASE_SET_DEVICE_PERMISSIONS
> + */
> +#define SCMI_BASE_DEVICE_ACCESS_ALLOW           BIT(0, UL)
> +
> +struct scmi_msg_base_set_device_permissions_a2p {
> +    uint32_t agent_id;
> +    uint32_t device_id;
> +    uint32_t flags;
> +} __packed;
> +
> +/*
> + * BASE_RESET_AGENT_CONFIGURATION
> + */
> +#define SCMI_BASE_AGENT_PERMISSIONS_RESET       BIT(0, UL)
> +
> +struct scmi_msg_base_reset_agent_cfg_a2p {
> +    uint32_t agent_id;
> +    uint32_t flags;
> +} __packed;
> +
> +#endif /* XEN_ARCH_ARM_SCI_SCMI_PROTO_H_ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/firmware/scmi-shmem.c b/xen/arch/arm/firmware/scmi-shmem.c
> new file mode 100644
> index 000000000000..3815c15bed80
> --- /dev/null
> +++ b/xen/arch/arm/firmware/scmi-shmem.c
> @@ -0,0 +1,172 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * SCI SCMI multi-agent driver, using SMC/HVC shmem as transport.
> + *
> + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> + * Copyright (c) 2025 EPAM Systems
> + */
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <asm/io.h>
> +#include <xen/err.h>
> +
> +#include "scmi-proto.h"
> +#include "scmi-shmem.h"
> +
> +/*
> + * Copy data from IO memory space to "real" memory space.
> + */
> +static void __memcpy_fromio(void *to, const volatile void __iomem *from,
> +                            size_t count)
> +{
> +    while ( count && !IS_ALIGNED((unsigned long)from, 4) )
> +    {
> +        *(u8 *)to = readb_relaxed(from);
> +        from++;
> +        to++;
> +        count--;
> +    }
> +
> +    while ( count >= 4 )
> +    {
> +        *(u32 *)to = readl_relaxed(from);
> +        from += 4;
> +        to += 4;
> +        count -= 4;
> +    }
> +
> +    while ( count )
> +    {
> +        *(u8 *)to = readb_relaxed(from);
> +        from++;
> +        to++;
> +        count--;
> +    }
> +}
> +
> +/*
> + * Copy data from "real" memory space to IO memory space.
> + */
> +static void __memcpy_toio(volatile void __iomem *to, const void *from,
> +                          size_t count)
> +{
> +    while ( count && !IS_ALIGNED((unsigned long)to, 4) )
> +    {
> +        writeb_relaxed(*(u8 *)from, to);
> +        from++;
> +        to++;
> +        count--;
> +    }
> +
> +    while ( count >= 4 )
> +    {
> +        writel_relaxed(*(u32 *)from, to);
> +        from += 4;
> +        to += 4;
> +        count -= 4;
> +    }
> +
> +    while ( count )
> +    {
> +        writeb_relaxed(*(u8 *)from, to);
> +        from++;
> +        to++;
> +        count--;
> +    }
> +}
> +
> +static inline int
> +shmem_channel_is_free(const volatile struct scmi_shared_mem __iomem *shmem)
> +{
> +    return (readl(&shmem->channel_status) &
> +            SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE) ? 0 : -EBUSY;
> +}
> +
> +int shmem_put_message(volatile struct scmi_shared_mem __iomem *shmem,
> +                      scmi_msg_header_t *hdr, void *data, int len)
> +{
> +    int ret;
> +
> +    if ( (len + sizeof(shmem->msg_header)) > SCMI_SHMEM_MAPPED_SIZE )
> +    {
> +        printk(XENLOG_ERR "scmi: Wrong size of smc message. Data is invalid\n");
> +        return -EINVAL;
> +    }
> +
> +    ret = shmem_channel_is_free(shmem);
> +    if ( ret )
> +        return ret;
> +
> +    writel_relaxed(0x0, &shmem->channel_status);
> +    /* Writing 0x0 right now, but "shmem"_FLAG_INTR_ENABLED can be set */
> +    writel_relaxed(0x0, &shmem->flags);
> +    writel_relaxed(sizeof(shmem->msg_header) + len, &shmem->length);
> +    writel(pack_scmi_header(hdr), &shmem->msg_header);
> +
> +    if ( len > 0 && data )
> +        __memcpy_toio(shmem->msg_payload, data, len);
> +
> +    return 0;
> +}
> +
> +int shmem_get_response(const volatile struct scmi_shared_mem __iomem *shmem,
> +                            scmi_msg_header_t *hdr, void *data, int len)
> +{
> +    int recv_len;
> +    int ret;
> +    int pad = sizeof(hdr->status);
> +
> +    if ( len >= SCMI_SHMEM_MAPPED_SIZE - sizeof(shmem) )
> +    {
> +        printk(XENLOG_ERR
> +               "scmi: Wrong size of input smc message. Data may be invalid\n");
> +        return -EINVAL;
> +    }
> +
> +    ret = shmem_channel_is_free(shmem);
> +    if ( ret )
> +        return ret;
> +
> +    recv_len = readl(&shmem->length) - sizeof(shmem->msg_header);
> +
> +    if ( recv_len < 0 )
> +    {
> +        printk(XENLOG_ERR
> +               "scmi: Wrong size of smc message. Data may be invalid\n");
> +        return -EINVAL;
> +    }
> +
> +    unpack_scmi_header(readl(&shmem->msg_header), hdr);
> +
> +    hdr->status = readl(&shmem->msg_payload);
> +    recv_len = recv_len > pad ? recv_len - pad : 0;
> +
> +    ret = scmi_to_xen_errno(hdr->status);
> +    if ( ret ) {
> +        printk(XENLOG_DEBUG "scmi: Error received: %d\n", ret);
> +        return ret;
> +    }
> +
> +    if ( recv_len > len )
> +    {
> +        printk(XENLOG_ERR
> +               "scmi: Not enough buffer for message %d, expecting %d\n",
> +               recv_len, len);
> +        return -EINVAL;
> +    }
> +
> +    if ( recv_len > 0 )
> +        __memcpy_fromio(data, shmem->msg_payload + pad, recv_len);
> +
> +    return 0;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/firmware/scmi-shmem.h b/xen/arch/arm/firmware/scmi-shmem.h
> new file mode 100644
> index 000000000000..f19e90786824
> --- /dev/null
> +++ b/xen/arch/arm/firmware/scmi-shmem.h
> @@ -0,0 +1,45 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Arm System Control and Management Interface definitions
> + * Version 3.0 (DEN0056C)
> + * Shared Memory based Transport
> + *
> + * Copyright (c) 2024 EPAM Systems
> + */
> +
> +#ifndef XEN_ARCH_ARM_SCI_SCMI_SHMEM_H_
> +#define XEN_ARCH_ARM_SCI_SCMI_SHMEM_H_
> +
> +#include <xen/stdint.h>
> +
> +#define SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE  BIT(0, UL)
> +#define SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR BIT(1, UL)
> +
> +struct scmi_shared_mem {
> +    uint32_t reserved;
> +    uint32_t channel_status;
> +    uint32_t reserved1[2];
> +    uint32_t flags;
> +    uint32_t length;
> +    uint32_t msg_header;
> +    uint8_t msg_payload[];
> +};
> +
> +#define SCMI_SHMEM_MAPPED_SIZE PAGE_SIZE
> +
> +int shmem_put_message(volatile struct scmi_shared_mem __iomem *shmem,
> +                      scmi_msg_header_t *hdr, void *data, int len);
> +
> +int shmem_get_response(const volatile struct scmi_shared_mem __iomem *shmem,
> +                            scmi_msg_header_t *hdr, void *data, int len);
> +#endif /* XEN_ARCH_ARM_SCI_SCMI_SHMEM_H_ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/firmware/scmi-smc-multiagent.c b/xen/arch/arm/firmware/scmi-smc-multiagent.c
> new file mode 100644
> index 000000000000..293fb30fa6c5
> --- /dev/null
> +++ b/xen/arch/arm/firmware/scmi-smc-multiagent.c
> @@ -0,0 +1,856 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * SCI SCMI multi-agent driver, using SMC/HVC shmem as transport.
> + *
> + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> + * Copyright (c) 2025 EPAM Systems
> + */
> +
> +#include <xen/acpi.h>
> +
> +#include <xen/device_tree.h>
> +#include <xen/init.h>
> +#include <xen/iocap.h>
> +#include <xen/err.h>
> +#include <xen/libfdt/libfdt.h>
> +#include <xen/param.h>
> +#include <xen/sched.h>
> +#include <xen/vmap.h>
> +
> +#include <asm/firmware/sci.h>
> +#include <asm/smccc.h>
> +
> +#include "scmi-proto.h"
> +#include "scmi-shmem.h"
> +
> +#define SCMI_AGENT_ID_INVALID 0xFF
> +
> +static uint8_t __initdata opt_dom0_scmi_agent_id = SCMI_AGENT_ID_INVALID;
> +integer_param("dom0_scmi_agent_id", opt_dom0_scmi_agent_id);
> +
> +#define SCMI_SECONDARY_AGENTS  "xen,scmi-secondary-agents"
> +
> +#define HYP_CHANNEL 0x0
> +
> +
> +struct scmi_channel {
> +    uint32_t agent_id;
> +    uint32_t func_id;
> +    domid_t domain_id;
> +    uint64_t paddr;
> +    uint64_t len;
> +    struct scmi_shared_mem __iomem *shmem;
> +    spinlock_t lock;
> +    struct list_head list;
> +};
> +
> +struct scmi_data {
> +    struct list_head channel_list;
> +    spinlock_t channel_list_lock;
> +    uint32_t func_id;
> +    bool initialized;
> +    uint32_t shmem_phandle;
> +    struct dt_device_node *dt_dev;
> +};
> +
> +static struct scmi_data scmi_data;
> +
> +static int send_smc_message(struct scmi_channel *chan_info,
> +                            scmi_msg_header_t *hdr, void *data, int len)
> +{
> +    struct arm_smccc_res resp;
> +    int ret;
> +
> +    ret = shmem_put_message(chan_info->shmem, hdr, data, len);
> +    if ( ret )
> +        return ret;
> +
> +    arm_smccc_1_1_smc(chan_info->func_id, 0, 0, 0, 0, 0, 0, 0, &resp);
> +
> +    if ( resp.a0 )
> +        return -EOPNOTSUPP;
> +
> +    return 0;
> +}
> +
> +static int do_smc_xfer(struct scmi_channel *chan_info, scmi_msg_header_t *hdr,
> +                       void *tx_data, int tx_size, void *rx_data, int rx_size)
> +{
> +    int ret = 0;
> +
> +    ASSERT(chan_info && chan_info->shmem);
> +
> +    if ( !hdr )
> +        return -EINVAL;
> +
> +    spin_lock(&chan_info->lock);
> +
> +    printk(XENLOG_DEBUG
> +           "scmi: agent_id = %d msg_id = %x type = %d, proto = %x\n",
> +           chan_info->agent_id, hdr->id, hdr->type, hdr->protocol);
> +
> +    ret = send_smc_message(chan_info, hdr, tx_data, tx_size);
> +    if ( ret )
> +        goto clean;
> +
> +    ret = shmem_get_response(chan_info->shmem, hdr, rx_data, rx_size);

This lock is not per-CPU and it is held across a potentially
long-running SMC call. Could that be an issue? Do we want to move the
SMC call out of the lock?


> +clean:
> +    printk(XENLOG_DEBUG
> +           "scmi: get smc response agent_id = %d msg_id = %x proto = %x res=%d\n",
> +           chan_info->agent_id, hdr->id, hdr->protocol, ret);
> +
> +    spin_unlock(&chan_info->lock);
> +
> +    return ret;
> +}
> +
> +static struct scmi_channel *get_channel_by_id(uint32_t agent_id)
> +{
> +    struct scmi_channel *curr;
> +    bool found = false;
> +
> +    spin_lock(&scmi_data.channel_list_lock);
> +    list_for_each_entry(curr, &scmi_data.channel_list, list)
> +    {
> +        if ( curr->agent_id == agent_id )
> +        {
> +            found = true;
> +            break;
> +        }
> +    }
> +
> +    spin_unlock(&scmi_data.channel_list_lock);
> +    if ( found )
> +        return curr;
> +
> +    return NULL;
> +}
> +
> +static struct scmi_channel *aquire_scmi_channel(struct domain *d,
> +                                                uint32_t agent_id)

The spelling is acquire


> +{
> +    struct scmi_channel *curr;
> +    struct scmi_channel *ret = ERR_PTR(-ENOENT);
> +
> +    spin_lock(&scmi_data.channel_list_lock);
> +    list_for_each_entry(curr, &scmi_data.channel_list, list)
> +    {
> +        if ( curr->agent_id == agent_id )
> +        {
> +            if ( curr->domain_id != DOMID_INVALID )
> +            {
> +                ret = ERR_PTR(-EEXIST);
> +                break;
> +            }
> +
> +            curr->domain_id = d->domain_id;
> +            ret = curr;
> +            break;
> +        }
> +    }
> +
> +    spin_unlock(&scmi_data.channel_list_lock);
> +
> +    return ret;
> +}
> +
> +static void relinquish_scmi_channel(struct scmi_channel *channel)
> +{
> +    ASSERT(channel != NULL);
> +
> +    spin_lock(&scmi_data.channel_list_lock);
> +    channel->domain_id = DOMID_INVALID;
> +    spin_unlock(&scmi_data.channel_list_lock);
> +}
> +
> +static int map_channel_memory(struct scmi_channel *channel)
> +{
> +    ASSERT( channel && channel->paddr );
> +    channel->shmem = ioremap_nocache(channel->paddr, SCMI_SHMEM_MAPPED_SIZE);
> +    if ( !channel->shmem )
> +        return -ENOMEM;
> +
> +    channel->shmem->channel_status = SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE;
> +    printk(XENLOG_DEBUG "scmi: Got shmem %lx after vmap %p\n", channel->paddr,
> +           channel->shmem);
> +
> +    return 0;
> +}
> +
> +static void unmap_channel_memory(struct scmi_channel *channel)
> +{
> +    ASSERT( channel && channel->shmem );
> +    iounmap(channel->shmem);
> +    channel->shmem = NULL;
> +}
> +
> +static struct scmi_channel *smc_create_channel(uint32_t agent_id,
> +                                               uint32_t func_id, uint64_t addr)

Could be __init


> +{
> +    struct scmi_channel *channel;
> +
> +    channel = get_channel_by_id(agent_id);
> +    if ( channel )
> +        return ERR_PTR(EEXIST);
> +
> +    channel = xmalloc(struct scmi_channel);
> +    if ( !channel )
> +        return ERR_PTR(ENOMEM);
> +
> +    spin_lock_init(&channel->lock);
> +    channel->agent_id = agent_id;
> +    channel->func_id = func_id;
> +    channel->domain_id = DOMID_INVALID;
> +    channel->shmem = NULL;
> +    channel->paddr = addr;
> +    list_add_tail(&channel->list, &scmi_data.channel_list);
> +    return channel;
> +}
> +
> +static void free_channel_list(void)
> +{
> +    struct scmi_channel *curr, *_curr;
> +
> +    list_for_each_entry_safe (curr, _curr, &scmi_data.channel_list, list)
> +    {
> +        list_del(&curr->list);
> +        xfree(curr);
> +    }
> +}
> +
> +static int scmi_dt_read_hyp_channel_addr(struct dt_device_node *scmi_node,
> +                                         u64 *addr, u64 *size)

Could be __init


> +{
> +    struct dt_device_node *shmem_node;
> +    const __be32 *prop;
> +
> +    prop = dt_get_property(scmi_node, "shmem", NULL);
> +    if ( !prop )
> +        return -EINVAL;
> +
> +    shmem_node = dt_find_node_by_phandle(be32_to_cpup(prop));
> +    if ( IS_ERR_OR_NULL(shmem_node) )
> +    {
> +        printk(XENLOG_ERR
> +               "scmi: Device tree error, can't parse reserved memory %ld\n",
> +               PTR_ERR(shmem_node));
> +        return PTR_ERR(shmem_node);
> +    }
> +
> +    return dt_device_get_address(shmem_node, 0, addr, size);
> +}
> +
> +/*
> + * Handle Dom0 SCMI specific DT nodes
> + *
> + * Make a decision on copying SCMI specific nodes into Dom0 device tree.
> + * For SCMI multi-agent case:
> + * - shmem nodes will not be copied and generated instead if SCMI
> + *   is enabled for Dom0
> + * - scmi node will be copied if SCMI is enabled for Dom0
> + */
> +static bool scmi_dt_handle_node(struct domain *d, struct dt_device_node *node)
> +{
> +    static const struct dt_device_match skip_matches[] __initconst = {
> +        DT_MATCH_COMPATIBLE("arm,scmi-shmem"),
> +        { /* sentinel */ },
> +    };
> +    static const struct dt_device_match scmi_matches[] __initconst = {
> +        DT_MATCH_PATH("/firmware/scmi"),
> +        { /* sentinel */ },
> +    };
> +
> +    if ( !scmi_data.initialized )
> +        return false;
> +
> +    /* always drop shmem */
> +    if ( dt_match_node(skip_matches, node) )
> +    {
> +        dt_dprintk("  Skip scmi shmem\n");
> +        return true;
> +    }
> +
> +    /* drop scmi if not enabled */
> +    if ( dt_match_node(scmi_matches, node) && !sci_domain_is_enabled(d) )
> +    {
> +        dt_dprintk("  Skip scmi node\n");
> +        return true;
> +    }
> +
> +    return false;
> +}
> +
> +/*
> + * Finalize Dom0 SCMI specific DT nodes
> + *
> + * if SCMI is enabled for Dom0:
> + * - generate shmem node
> + * - map SCMI shmem MMIO into Dom0
> + */
> +static int scmi_dt_finalize(struct domain *d, void *fdt)
> +{
> +    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
> +    struct scmi_channel *channel;
> +    int nodeoffset;
> +    __be32 *cells;
> +    __be32 val;
> +    char buf[64];
> +    int res, rc;
> +
> +    if ( !sci_domain_is_enabled(d) )
> +        return 0;
> +
> +    channel = d->arch.sci_data;
> +
> +    /*
> +     * Replace "arm,smc-id" with proper value assigned for Dom0 SCMI channel
> +     */
> +    nodeoffset = fdt_node_offset_by_compatible(fdt, -1, "arm,scmi-smc");
> +    if ( nodeoffset < 0 )
> +        return -ENODEV;
> +
> +    cells = (__be32 *)&val;
> +    dt_set_cell(&cells, 1, channel->func_id);
> +    res = fdt_setprop_inplace(fdt, nodeoffset, "arm,smc-id", &val, sizeof(val));
> +    if ( res )
> +        return -EINVAL;
> +
> +    /*
> +     * All SCMI shmem nodes should be removed from Dom0 DT at this point, so
> +     * the shmem node for Dom0 need to be generated from SCMI channel assigned
> +     * to Dom0.
> +     * The original SCMI shmem node from platform DT is used by Xen SCMI driver
> +     * itself as privileged channel (agent_id=0) to manage other SCMI
> +     * agents (domains).

Wouldn't it be better not to add those nodes to dom0 device tree at all
in the first place? Why adding them, then removing them?

I think it is best to skip them in handle_node and only add the ones
that are correct for dom0 here. Similarly, I don't think we should
replace the value of arm,smc-id in place: we should skip it the first
time around and generate one now.


> +     */
> +    snprintf(buf, sizeof(buf), "scmi-shmem@%lx", channel->paddr);
> +
> +    res = fdt_begin_node(fdt, buf);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_string(fdt, "compatible", "arm,scmi-shmem");
> +    if ( res )
> +        return res;
> +
> +    cells = &reg[0];
> +
> +    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
> +                       channel->paddr, SCMI_SHMEM_MAPPED_SIZE);
> +
> +    res = fdt_property(fdt, "reg", reg, sizeof(reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "phandle", scmi_data.shmem_phandle);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_end_node(fdt);
> +    if ( res )
> +        return res;
> +
> +    /*
> +     * Map SCMI shmem into Dom0 here as shmem nodes are excluded from
> +     * generic Dom0 DT processing
> +     */
> +    res = iomem_permit_access(d, paddr_to_pfn(channel->paddr),
> +                              paddr_to_pfn(channel->paddr +
> +                                           SCMI_SHMEM_MAPPED_SIZE - 1));
> +    if ( res )
> +        return res;
> +
> +    res = map_regions_p2mt(d, gaddr_to_gfn(channel->paddr),
> +                           PFN_UP(SCMI_SHMEM_MAPPED_SIZE),
> +                           maddr_to_mfn(channel->paddr), p2m_mmio_direct_nc);
> +    if ( res )
> +    {
> +        rc = iomem_deny_access(d, paddr_to_pfn(channel->paddr),
> +                               paddr_to_pfn(channel->paddr +
> +                                            SCMI_SHMEM_MAPPED_SIZE - 1));
> +        if ( rc )
> +            printk(XENLOG_ERR "scmi: Unable to deny iomem access , err = %d\n",
> +                   rc);
> +    }
> +
> +    return res;
> +}
> +
> +static int scmi_assign_device(uint32_t agent_id, uint32_t device_id,
> +                              uint32_t flags)
> +{
> +    struct scmi_msg_base_set_device_permissions_a2p tx;
> +    struct scmi_channel *channel;
> +    scmi_msg_header_t hdr;
> +    int ret;
> +
> +    channel = get_channel_by_id(HYP_CHANNEL);
> +    if ( !channel )
> +        return -EINVAL;
> +
> +    hdr.id = SCMI_BASE_SET_DEVICE_PERMISSIONS;
> +    hdr.type = 0;
> +    hdr.protocol = SCMI_BASE_PROTOCOL;
> +
> +    tx.agent_id = agent_id;
> +    tx.device_id = device_id;
> +    tx.flags = flags;
> +
> +    ret = do_smc_xfer(channel, &hdr, &tx, sizeof(tx), NULL, 0);
> +    if ( ret == -EOPNOTSUPP )
> +        return 0;
> +
> +    return ret;
> +}
> +
> +static int scmi_dt_assign_device(struct domain *d,
> +                                 struct dt_phandle_args *ac_spec)
> +{
> +    struct scmi_channel *agent_channel;
> +    uint32_t scmi_device_id = ac_spec->args[0];
> +    int ret;
> +
> +    if ( !d->arch.sci_data )
> +        return 0;
> +
> +    /* The access-controllers is specified for DT dev, but it's not a SCMI */
> +    if ( ac_spec->np != scmi_data.dt_dev )
> +        return 0;
> +
> +    agent_channel = d->arch.sci_data;
> +
> +    spin_lock(&agent_channel->lock);
> +
> +    ret = scmi_assign_device(agent_channel->agent_id, scmi_device_id,
> +                             SCMI_BASE_DEVICE_ACCESS_ALLOW);
> +    if ( ret )
> +    {
> +        printk(XENLOG_ERR
> +               "scmi: could not assign dev for %pd agent:%d dev_id:%u (%d)",
> +               d, agent_channel->agent_id, scmi_device_id, ret);
> +    }
> +
> +    spin_unlock(&agent_channel->lock);
> +    return ret;
> +}
> +
> +static __init int collect_agents(struct dt_device_node *scmi_node)
> +{
> +    const struct dt_device_node *chosen_node;
> +    const __be32 *prop;
> +    u32 len, i;

We don't use u32 in Xen anymore. Please use uint32_t instead. However,
in this case, I think i should be unsigned int by our coding style.


> +    chosen_node = dt_find_node_by_path("/chosen");
> +    if ( !chosen_node )
> +    {
> +        printk(XENLOG_ERR "scmi: chosen node not found\n");
> +        return -ENOENT;
> +    }
> +
> +    prop = dt_get_property(chosen_node, SCMI_SECONDARY_AGENTS, &len);
> +    if ( !prop )
> +    {
> +        printk(XENLOG_WARNING "scmi: No %s property found\n",
> +               SCMI_SECONDARY_AGENTS);
> +        return -ENODEV;
> +    }
> +
> +    if ( len % (3 * sizeof(u32)) )
> +    {
> +        printk(XENLOG_ERR "scmi: Invalid length of %s property: %d\n",
> +               SCMI_SECONDARY_AGENTS, len);
> +        return -EINVAL;
> +    }
> +
> +    for ( i = 0 ; i < len / (3 * sizeof(u32)) ; i++ )
> +    {
> +        u32 agent_id = be32_to_cpu(*prop++);
> +        u32 smc_id = be32_to_cpu(*prop++);
> +        u32 shmem_phandle = be32_to_cpu(*prop++);
> +        struct dt_device_node *node = dt_find_node_by_phandle(shmem_phandle);
> +        u64 addr, size;
> +        int ret;
> +
> +        if ( !node )
> +        {
> +            printk(XENLOG_ERR"scmi: Could not find shmem node for agent %d\n",
> +                   agent_id);
> +            return -EINVAL;
> +        }
> +
> +        ret = dt_device_get_address(node, 0, &addr, &size);
> +        if ( ret )
> +        {
> +            printk(XENLOG_ERR
> +                   "scmi: Could not read shmem address for agent %d: %d",
> +                   agent_id, ret);
> +            return ret;
> +        }
> +
> +        if ( !IS_ALIGNED(size, SCMI_SHMEM_MAPPED_SIZE) )
> +        {
> +            printk(XENLOG_ERR "scmi: shmem memory is not aligned\n");
> +            return -EINVAL;
> +        }
> +
> +        ret = PTR_RET(smc_create_channel(agent_id, smc_id, addr));
> +        if ( ret )
> +        {
> +            printk(XENLOG_ERR "scmi: Could not create channel for agent %d: %d",
> +                   agent_id, ret);
> +            return ret;
> +        }
> +
> +        printk(XENLOG_DEBUG "scmi: Agent %d SMC %X addr %lx\n", agent_id,
> +               smc_id, addr);
> +    }
> +
> +    return 0;
> +}
> +
> +static int scmi_domain_init(struct domain *d,
> +                            struct xen_domctl_createdomain *config)
> +{
> +    struct scmi_channel *channel;
> +    int ret;
> +
> +    if ( !scmi_data.initialized )
> +        return 0;
> +
> +    /*
> +     * Special case for Dom0 - the SCMI support is enabled basing on
> +     * "dom0_sci_agent_id" Xen command line parameter
> +     */
> +    if ( is_hardware_domain(d) ) {

coding style


> +        if ( opt_dom0_scmi_agent_id != SCMI_AGENT_ID_INVALID )
> +        {
> +            config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA;
> +            config->arch.arm_sci_agent_id = opt_dom0_scmi_agent_id;
> +        } else
> +            config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_NONE;
> +    }
> +
> +    if ( config->arch.arm_sci_type == XEN_DOMCTL_CONFIG_ARM_SCI_NONE )
> +        return 0;
> +
> +    channel = aquire_scmi_channel(d, config->arch.arm_sci_agent_id);
> +    if ( IS_ERR(channel) )
> +    {
> +        printk(XENLOG_ERR"scmi: Failed to acquire SCMI channel for agent_id %u: %ld\n",
> +               config->arch.arm_sci_agent_id, PTR_ERR(channel));
> +        return PTR_ERR(channel);
> +    }
> +
> +    printk(XENLOG_INFO"scmi: Acquire channel id = 0x%x, domain_id = %d paddr = 0x%lx\n",
> +        channel->agent_id, channel->domain_id, channel->paddr);
> +
> +    /*
> +     * Dom0 (if present) needs to have an access to the guest memory range
> +     * to satisfy iomem_access_permitted() check in XEN_DOMCTL_iomem_permission
> +     * domctl.

Yeah... that check needs to change


> +     */
> +    if ( hardware_domain && !is_hardware_domain(d) )
> +    {
> +        ret = iomem_permit_access(hardware_domain, paddr_to_pfn(channel->paddr),
> +                                  paddr_to_pfn(channel->paddr + PAGE_SIZE - 1));
> +        if ( ret )
> +            goto error;
> +    }
> +
> +    d->arch.sci_data = channel;
> +    d->arch.sci_enabled = true;
> +
> +    return 0;
> +
> +error:
> +    relinquish_scmi_channel(channel);
> +    return ret;
> +}
> +
> +int scmi_domain_sanitise_config(struct xen_domctl_createdomain *config)
> +{
> +    if ( config->arch.arm_sci_type != XEN_DOMCTL_CONFIG_ARM_SCI_NONE &&
> +         config->arch.arm_sci_type != XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA )
> +    {
> +        dprintk(XENLOG_INFO, "scmi: Unsupported ARM_SCI type\n");
> +        return -EINVAL;
> +    }
> +    else if ( config->arch.arm_sci_type ==
> +              XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA &&
> +              config->arch.arm_sci_agent_id == 0 )
> +    {
> +        dprintk(XENLOG_INFO,
> +                "scmi: A zero ARM SCMI agent_id is not supported\n");
> +        return -EINVAL;
> +    }
> +
> +    return 0;
> +}
> +
> +static int scmi_relinquish_resources(struct domain *d)
> +{
> +    int ret;
> +    struct scmi_channel *channel, *agent_channel;
> +    scmi_msg_header_t hdr;
> +    struct scmi_msg_base_reset_agent_cfg_a2p tx;
> +
> +    if ( !d->arch.sci_data )
> +        return 0;
> +
> +    agent_channel = d->arch.sci_data;
> +
> +    spin_lock(&agent_channel->lock);
> +    tx.agent_id = agent_channel->agent_id;
> +    spin_unlock(&agent_channel->lock);
> +
> +    channel = get_channel_by_id(HYP_CHANNEL);
> +    if ( !channel )
> +    {
> +        printk(XENLOG_ERR
> +               "scmi: Unable to get Hypervisor scmi channel for domain %d\n",
> +               d->domain_id);
> +        return -EINVAL;
> +    }
> +
> +    hdr.id = SCMI_BASE_RESET_AGENT_CONFIGURATION;
> +    hdr.type = 0;
> +    hdr.protocol = SCMI_BASE_PROTOCOL;
> +
> +    tx.flags = 0;
> +
> +    ret = do_smc_xfer(channel, &hdr, &tx, sizeof(tx), NULL, 0);
> +    if ( ret == -EOPNOTSUPP )
> +        return 0;
> +
> +    return ret;
> +}
> +
> +static void scmi_domain_destroy(struct domain *d)
> +{
> +    struct scmi_channel *channel;
> +
> +    if ( !d->arch.sci_data )
> +        return;
> +
> +    channel = d->arch.sci_data;
> +    spin_lock(&channel->lock);
> +
> +    relinquish_scmi_channel(channel);
> +    printk(XENLOG_DEBUG "scmi: Free domain %d\n", d->domain_id);
> +
> +    d->arch.sci_data = NULL;
> +    d->arch.sci_enabled = true;
> +
> +    spin_unlock(&channel->lock);
> +}
> +
> +static bool scmi_handle_call(struct cpu_user_regs *regs)
> +{
> +    uint32_t fid = (uint32_t)get_user_reg(regs, 0);
> +    struct scmi_channel *agent_channel;
> +    struct domain *d = current->domain;
> +    struct arm_smccc_res resp;
> +    bool res = false;
> +
> +    if ( !sci_domain_is_enabled(d) )
> +        return false;
> +
> +    agent_channel = d->arch.sci_data;
> +    spin_lock(&agent_channel->lock);
> +
> +    if ( agent_channel->func_id != fid )
> +    {
> +        res = false;
> +        goto unlock;
> +    }
> +
> +    arm_smccc_1_1_smc(fid,
> +                      get_user_reg(regs, 1),
> +                      get_user_reg(regs, 2),
> +                      get_user_reg(regs, 3),
> +                      get_user_reg(regs, 4),
> +                      get_user_reg(regs, 5),
> +                      get_user_reg(regs, 6),
> +                      get_user_reg(regs, 7),
> +                      &resp);
> +
> +    set_user_reg(regs, 0, resp.a0);
> +    set_user_reg(regs, 1, resp.a1);
> +    set_user_reg(regs, 2, resp.a2);
> +    set_user_reg(regs, 3, resp.a3);
> +    res = true;
> +unlock:
> +    spin_unlock(&agent_channel->lock);
> +
> +    return res;
> +}
> +
> +static const struct sci_mediator_ops scmi_ops = {
> +    .domain_init = scmi_domain_init,
> +    .domain_destroy = scmi_domain_destroy,
> +    .relinquish_resources = scmi_relinquish_resources,
> +    .handle_call = scmi_handle_call,
> +    .dom0_dt_handle_node = scmi_dt_handle_node,
> +    .dom0_dt_finalize = scmi_dt_finalize,
> +    .domain_sanitise_config = scmi_domain_sanitise_config,
> +    .assign_dt_device = scmi_dt_assign_device,
> +};
> +
> +static int __init scmi_check_smccc_ver(void)
> +{
> +    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
> +    {
> +        printk(XENLOG_WARNING
> +               "scmi: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
> +        return -ENOSYS;
> +    }
> +
> +    return 0;
> +}
> +
> +static __init int scmi_probe(struct dt_device_node *scmi_node, const void *data)
> +{
> +    u64 addr, size;
> +    int ret, i;
> +    struct scmi_channel *channel, *agent_channel;
> +    int n_agents;
> +    scmi_msg_header_t hdr;
> +    struct scmi_msg_base_attributes_p2a rx;
> +
> +    ASSERT(scmi_node != NULL);
> +
> +    INIT_LIST_HEAD(&scmi_data.channel_list);
> +    spin_lock_init(&scmi_data.channel_list_lock);
> +
> +    if ( !acpi_disabled )
> +    {
> +        printk(XENLOG_WARNING "scmi: is not supported when using ACPI\n");
> +        return -EINVAL;
> +    }
> +
> +    ret = scmi_check_smccc_ver();
> +    if ( ret )
> +        return ret;
> +
> +    if ( !dt_property_read_u32(scmi_node, "arm,smc-id", &scmi_data.func_id) )
> +    {
> +        printk(XENLOG_ERR "scmi: unable to read smc-id from DT\n");
> +        return -ENOENT;
> +    }
> +
> +    /* save shmem phandle and re-use it fro Dom0 DT shmem node */
> +    if ( !dt_property_read_u32(scmi_node, "shmem", &scmi_data.shmem_phandle) )
> +    {
> +        printk(XENLOG_ERR "scmi: unable to read shmem phandle from DT\n");
> +        return -ENOENT;
> +    }
> +
> +    ret = scmi_dt_read_hyp_channel_addr(scmi_node, &addr, &size);
> +    if ( IS_ERR_VALUE(ret) )
> +        return -ENOENT;
> +
> +    if ( !IS_ALIGNED(size, SCMI_SHMEM_MAPPED_SIZE) )
> +    {
> +        printk(XENLOG_ERR "scmi: shmem memory is not aligned\n");
> +        return -EINVAL;
> +    }
> +
> +    scmi_data.dt_dev = scmi_node;
> +
> +    channel = smc_create_channel(HYP_CHANNEL, scmi_data.func_id, addr);
> +    if ( IS_ERR(channel) )
> +        goto out;
> +
> +    ret = map_channel_memory(channel);
> +    if ( ret )
> +        goto out;
> +
> +    channel->domain_id = DOMID_XEN;
> +
> +    hdr.id = SCMI_BASE_PROTOCOL_ATTIBUTES;
> +    hdr.type = 0;
> +    hdr.protocol = SCMI_BASE_PROTOCOL;
> +
> +    ret = do_smc_xfer(channel, &hdr, NULL, 0, &rx, sizeof(rx));
> +    if ( ret )
> +        goto error;
> +
> +    n_agents = SCMI_FIELD_GET(SCMI_BASE_ATTR_NUM_AGENT, rx.attributes);
> +    printk(XENLOG_DEBUG "scmi: Got agent count %d\n", n_agents);
> +
> +    ret = collect_agents(scmi_node);
> +    if ( ret )
> +        goto error;
> +
> +    i = 1;
> +
> +    list_for_each_entry(agent_channel, &scmi_data.channel_list, list)
> +    {
> +        struct scmi_msg_base_discover_agent_p2a da_rx;
> +        struct scmi_msg_base_discover_agent_a2p da_tx;
> +
> +        ret = map_channel_memory(agent_channel);
> +        if ( ret )
> +            goto error;
> +
> +        hdr.id = SCMI_BASE_DISCOVER_AGENT;
> +        hdr.type = 0;
> +        hdr.protocol = SCMI_BASE_PROTOCOL;
> +
> +        da_tx.agent_id = agent_channel->agent_id;
> +
> +        ret = do_smc_xfer(agent_channel, &hdr, &da_tx,
> +                          sizeof(da_tx), &da_rx, sizeof(da_rx));
> +        if ( agent_channel->domain_id != DOMID_XEN )
> +            unmap_channel_memory(agent_channel);
> +        if ( ret )
> +            goto error;
> +
> +        printk(XENLOG_DEBUG "id=0x%x name=%s\n",
> +               da_rx.agent_id, da_rx.name);
> +
> +        agent_channel->agent_id = da_rx.agent_id;
> +
> +        if ( i > n_agents )
> +            break;
> +
> +        i++;
> +    }
> +
> +    ret = sci_register(&scmi_ops);
> +    if (ret) {
> +        printk(XENLOG_ERR "SCMI: mediator already registered (ret = %d)\n",
> +               ret);
> +        return ret;
> +    }
> +
> +    scmi_data.initialized = true;
> +    goto out;
> +
> +error:
> +    unmap_channel_memory(channel);
> +    free_channel_list();
> +out:
> +    return ret;
> +}
> +
> +static const struct dt_device_match scmi_smc_match[] __initconst = {
> +    DT_MATCH_COMPATIBLE("arm,scmi-smc"),
> +    { /* sentinel */ },
> +};
> +
> +DT_DEVICE_START(gicv3, "SCMI SMC MEDIATOR", DEVICE_ARM_SCI)

scmi_smc_ma instead of gicv3?


> +        .dt_match = scmi_smc_match,
> +        .init = scmi_probe,
> +DT_DEVICE_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 095b1a23e30c..30e46de6d7a0 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -329,6 +329,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>  
>  #define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
>  #define XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC  1
> +#define XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA  2
>  
>  struct xen_arch_domainconfig {
>      /* IN/OUT */
> @@ -355,6 +356,8 @@ struct xen_arch_domainconfig {
>      uint32_t clock_frequency;
>      /* IN */
>      uint8_t arm_sci_type;
> +    /* IN */
> +    uint8_t arm_sci_agent_id;
>  };
>  #endif /* __XEN__ || __XEN_TOOLS__ */
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 00:03:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 00:03:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913649.1319598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tssWF-0005d3-KD; Fri, 14 Mar 2025 00:03:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913649.1319598; Fri, 14 Mar 2025 00:03: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 1tssWF-0005cw-Hf; Fri, 14 Mar 2025 00:03:19 +0000
Received: by outflank-mailman (input) for mailman id 913649;
 Fri, 14 Mar 2025 00:03: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tssWE-0005co-8u
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 00:03:18 +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 b511d01f-0067-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 01:03:07 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so1348056f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 17:03:06 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb318a5fsm3670582f8f.79.2025.03.13.17.03.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 17:03: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: b511d01f-0067-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741910586; x=1742515386; 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=p9N4YCcvK7R6tymxQcV9qGbYvN5kXJlP7prQksHWdZM=;
        b=cemcnH76MyGVZAUjAnRn0d7zdp+qtUgwWVjxDGAzxBNG3eWLZY1R875Dr0BfRd9/nj
         Y9b8q+95ZdqcMW2FKK8jZEnwfw+/ch7PAZbOdnV1dz45Vd3uMtqM/DIMiqJMsSNV1G33
         Dp2a1+SMU+FBSMCez6lrXJfNmgq85UMYk31sI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741910586; x=1742515386;
        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=p9N4YCcvK7R6tymxQcV9qGbYvN5kXJlP7prQksHWdZM=;
        b=CUye1FJBywQFfaR74pAo8gTRaoVyBG/Zaq4gTUgGyLsiXjvftMXwUjjff2CVkN87Jg
         SllW74o7KHC5fe5gsv6mUjTBuV4TBQVOyMuuTewIkOKT+9LjX95Vc6fcswLO1B+wRu57
         qjQJ+p0bGdPTG9xQTMbTLWOu0rnmAkN3p39RzhPuBO6jWnwL6UPlk2D+sLVSichvf8Eg
         2c6iypRgxh9QnMGW0pUspxy77ZE/v5f/7zsSwQvGlehAO4v7wyi0Xr6FfABzUfAwfpXS
         PN60vUV3v8/kVvnVGLWJ836zTalW+niqjJLkNw7gXLQaZzyzygfs929Qss8IpCJMXEev
         +afw==
X-Forwarded-Encrypted: i=1; AJvYcCWw4KjqSqNeKMotkPdKzUjUtBakf5eiLegK4VBrrPdSAhuR8gkaP4wslQ8yQgpTFm6PmvVV/M6Zono=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwrrdoNkccEuGjrV5RymO0wIXUhyKxliFE3Tvt+UQRBXoViYIi4
	XS4OzvMaPwLo66+lrWeRC4KYxjT3WarX6PoqRkgU4WolDabIfU5uy13tBE2SDCg=
X-Gm-Gg: ASbGnctopjm2n2Uw7ZzgvxZlCzei4Qn2hdTSbuoQZpcVdAVdeQrEDFHL9iexlsO5XMP
	uQoPEP4MscqCtFoOGho/586RPpINvf6Bfk7aC61NfmJhPefgdRe/UfitCJoobVaPZHIvjMry3ma
	VMKX5KqNVodRMMcGpgLEVov6ZiJkjEEseQl1uBqJz4XROF2yNIQ1XdrzzozwaxECoEv367PUNQS
	cbMk+psj6psSfqTeqHNkqp01fws44hTsdHDhKbytOUD/FKy7QKlozb9a5nyrkefqEnOvzYLaqiU
	XXl2n7bmFuV9ZJXKGzdnh0zdCQKfHkyiM4enmjZvFn820BfD0/HOmdQ68pIDhddzSqG5DQRt/6J
	ex6EfB8Yd
X-Google-Smtp-Source: AGHT+IGo+QWGU8vkG7O6/BZFtmjCXBL+Y8JvHmQQRZKkAPVIYRAN3NPaY0QXzTuAcSxEpFugU0C0gQ==
X-Received: by 2002:a05:6000:2c7:b0:391:2e7:67ff with SMTP id ffacd0b85a97d-3971dce07bcmr421562f8f.10.1741910586353;
        Thu, 13 Mar 2025 17:03:06 -0700 (PDT)
Message-ID: <d3fa362b-0a4b-47e5-860b-d85183730379@citrix.com>
Date: Fri, 14 Mar 2025 00:03:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
To: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
 <05057b1c-cca1-4495-b037-47a896ab9f6f@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: <05057b1c-cca1-4495-b037-47a896ab9f6f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/03/2025 8:18 am, Jan Beulich wrote:
> On 07.03.2025 18:54, Andrew Cooper wrote:
>> GCC 4.1.2 is from 2007, and Binutils 2.16 is a similar vintage.  Clang 3.5 is
>> from 2014.  Supporting toolchains this old is a massive development and
>> testing burden.
>>
>> Set a minimum baseline of GCC 5.1 across the board, along with Binutils 2.25
>> which is the same age.  These were chosen *3 years ago* as Linux's minimum
>> requirements because even back then, they were ubiquitous in distros.
> I'm certainly fine with this bump, but my main earlier request remains: I'd
> like it to be clear up front what the criteria are going to be for future
> bumps. Imo what Linux does is at best a data point; we don't need to follow
> what they do.

I'm reluctant to try and put anything in writing, because it will just
make the arguments worse.

We can and may change the toolchain requirements at any point for any
reason, depending on the situation.

Retpolines for Spectre-v2 are the obvious example.Â  That reset the
compiler baseline to "bleeding edge plus secret patches" for all intents
and purposes.Â  Distros also backported those patches into their older
compilers.Â  Yes, we did eventually manage to make this conditional, but
that's not terribly relevant.

Here, I've proposed several concrete things which would be good to use,
and that we cannot because the baseline is too old.

And that's how it's always going to be.Â  We move forwards when there's a
good enough reason to, and the downsides are tolerable.


The Linux aspect is a datapoint, but it's an important one; it means
that anyone building Linux (i.e. ~all of our target audience) already
has these tools.Â  That is "there's no real downside" put a little less
bluntly.
>>  Choose
>> Clang/LLVM 11 as a baseline for similar reasons; the Linux commit making this
>> change two years ago cites a laudry list of code generation bugs.
> I'm less happy about this one. It'll mean I now also need to arrange for
> building Clang on my own, which so far I was quite happy to be able to avoid.

Prebuilt binaries are available.Â 
https://github.com/ClangBuiltLinux/tc-build has instructions for local
builds, and a script which tries to help out with what to turn off.

Everything in GitlabCI is available locally from within xen.git itself
via automation/scripts/containerize.Â  There's also FreeBSD testing
available via CirrusCI.

The reason for going with Clang/LLVM 11 is because it's a known entity,
and is already 5 years old, and it's necessary if we want to use
asm_goto, which was one of the key justifications for making the jump.

> Tangentially, as also mentioned during earlier discussions, it would also be
> nice to have an understanding what other basic platform components (e.g.
> coreutils) are required to fulfill certain minimal requirements. While
> putting in place a custom toolchain is (to me at least) relatively easy,
> doing the same for other base platform software isn't. For some of the very
> old systems I try to keep testing Xen on, extra requirements there may mean
> that building Xen there isn't going to be possible anymore. Which in turn
> may mean running the toolstack (built on a newer distro) there may also not
> be possible anymore. Which would, perhaps severely, limit the usefulness of
> such testing attempts.

As before, I don't expect us to change things unless there is a good
reason to.

That said, a few things come to mind:

We need to drop Python2 support at some point.Â  It's substantially EOL,
and we're about to drop the last test environment that has it (IIRC).

Make 3.80 is also ancient, and I'm still irritated at not being able to
use $(abspath) to fix XEN_ROOT.Â  We have an insane amount of ../../../
embedded in our binaries and debug symbols because of how XEN_ROOT is
constructed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 01:21:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 01:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913680.1319609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tstjN-0006b0-1p; Fri, 14 Mar 2025 01:20:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913680.1319609; Fri, 14 Mar 2025 01: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 1tstjM-0006as-Sj; Fri, 14 Mar 2025 01:20:56 +0000
Received: by outflank-mailman (input) for mailman id 913680;
 Fri, 14 Mar 2025 01:20: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=X8m4=WB=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tstjK-0006ah-Rq
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 01:20:56 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b4c62c7-0072-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 02:20:41 +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: 8b4c62c7-0072-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1741915240; x=1742174440;
	bh=d/FeSQcbrR3V+F32qIcaQA6q7A6YDnF+ZPVJg1zOWfc=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=Sx8vmCrvKLt520g07xg8eGB2Uu42iRURM1DLO3q+jd3gzOk75eVba/tEuVZFR/Ti+
	 iTviC/XGHWed8Npz2S4kayogkdi/D1cCxPXL3kOI2yO80NV2abHmFD71a+s2Ix/c94
	 6lmNbjYcG9u/SSRWhHtt1DtRPrCVc2nIiM/pxXfnZ6tpznIZDAbeSjG9GRcI5i0+2L
	 xt72wMZrm8y5A9qC5y0/rQxgMsS+lAVCeVfjWmENipFWPzeRnY7nt/XawRf5T7QeZr
	 rm4piaftjibyAvblcROQKFrFc0oCFSq0Ros/KZCNOstrcf9UxxVL0yigngFLpiXU2Q
	 fT1i9CvstQ0RQ==
Date: Fri, 14 Mar 2025 01:20:35 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
Message-ID: <20250314011528.2608217-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 163c1ec1db06e885859b1bb0ce361c103b1b997d
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
readability.

No functional changes.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/x86/hvm/dm.c          |  2 +-
 xen/arch/x86/hvm/irq.c         | 17 +++++++++--------
 xen/arch/x86/hvm/vlapic.c      | 10 +++++-----
 xen/arch/x86/hvm/vpic.c        |  4 ++--
 xen/arch/x86/include/asm/irq.h |  2 +-
 xen/arch/x86/io_apic.c         | 12 ++++++------
 xen/arch/x86/irq.c             |  6 +++---
 7 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
index a1f7a4d30a..36d47664e9 100644
--- a/xen/arch/x86/hvm/dm.c
+++ b/xen/arch/x86/hvm/dm.c
@@ -90,7 +90,7 @@ static int set_pci_intx_level(struct domain *d, uint16_t =
domain,
 static int set_isa_irq_level(struct domain *d, uint8_t isa_irq,
                              uint8_t level)
 {
-    if ( isa_irq > 15 )
+    if ( isa_irq >=3D NR_ISAIRQS )
         return -EINVAL;
=20
     switch ( level )
diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 1eab44defc..1f7d8ca43e 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -209,7 +209,7 @@ int hvm_isa_irq_assert(struct domain *d, unsigned int i=
sa_irq,
     unsigned int gsi =3D hvm_isa_irq_to_gsi(isa_irq);
     int vector =3D -1;
=20
-    ASSERT(isa_irq <=3D 15);
+    ASSERT(isa_irq < NR_ISAIRQS);
=20
     spin_lock(&d->arch.hvm.irq_lock);
=20
@@ -231,7 +231,7 @@ void hvm_isa_irq_deassert(
     struct hvm_irq *hvm_irq =3D hvm_domain_irq(d);
     unsigned int gsi =3D hvm_isa_irq_to_gsi(isa_irq);
=20
-    ASSERT(isa_irq <=3D 15);
+    ASSERT(isa_irq < NR_ISAIRQS);
=20
     spin_lock(&d->arch.hvm.irq_lock);
=20
@@ -266,12 +266,12 @@ static void hvm_set_callback_irq_level(struct vcpu *v=
)
         if ( asserted && (hvm_irq->gsi_assert_count[gsi]++ =3D=3D 0) )
         {
             vioapic_irq_positive_edge(d, gsi);
-            if ( gsi <=3D 15 )
+            if ( gsi < NR_ISAIRQS )
                 vpic_irq_positive_edge(d, gsi);
         }
         else if ( !asserted && (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0)=
 )
         {
-            if ( gsi <=3D 15 )
+            if ( gsi < NR_ISAIRQS )
                 vpic_irq_negative_edge(d, gsi);
         }
         break;
@@ -328,7 +328,7 @@ int hvm_set_pci_link_route(struct domain *d, u8 link, u=
8 isa_irq)
     u8 old_isa_irq;
     int i;
=20
-    if ( (link > 3) || (isa_irq > 15) )
+    if ( (link > 3) || (isa_irq >=3D NR_ISAIRQS) )
         return -EINVAL;
=20
     spin_lock(&d->arch.hvm.irq_lock);
@@ -440,7 +440,8 @@ void hvm_set_callback_via(struct domain *d, uint64_t vi=
a)
         {
         case HVMIRQ_callback_gsi:
             gsi =3D hvm_irq->callback_via.gsi;
-            if ( (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0) && (gsi <=3D =
15) )
+            if ( (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0) &&
+                 (gsi < NR_ISAIRQS) )
                 vpic_irq_negative_edge(d, gsi);
             break;
         case HVMIRQ_callback_pci_intx:
@@ -464,7 +465,7 @@ void hvm_set_callback_via(struct domain *d, uint64_t vi=
a)
                   (hvm_irq->gsi_assert_count[gsi]++ =3D=3D 0) )
         {
             vioapic_irq_positive_edge(d, gsi);
-            if ( gsi <=3D 15 )
+            if ( gsi < NR_ISAIRQS )
                 vpic_irq_positive_edge(d, gsi);
         }
         break;
@@ -764,7 +765,7 @@ static int cf_check irq_check_link(const struct domain =
*d,
             return -EINVAL;
=20
     for ( link =3D 0; link < ARRAY_SIZE(pci_link->route); link++ )
-        if ( pci_link->route[link] > 15 )
+        if ( pci_link->route[link] >=3D NR_ISAIRQS )
         {
             printk(XENLOG_G_ERR
                    "HVM restore: PCI-ISA link %u out of range (%u)\n",
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 065b2aab5b..7511d6c434 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -123,7 +123,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigne=
d int err_bit)
              * will end up back here.  Break the cycle by only injecting L=
VTERR
              * if it will succeed, and folding in RECVILL otherwise.
              */
-            if ( (lvterr & APIC_VECTOR_MASK) >=3D 16 )
+            if ( (lvterr & APIC_VECTOR_MASK) >=3D NR_ISAIRQS )
                 inj =3D true;
             else
                 set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
@@ -136,7 +136,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigne=
d int err_bit)
=20
 bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec)
 {
-    if ( unlikely(vec < 16) )
+    if ( unlikely(vec < NR_ISAIRQS) )
         return false;
=20
     if ( hvm_funcs.test_pir &&
@@ -150,7 +150,7 @@ void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec,=
 uint8_t trig)
 {
     struct vcpu *target =3D vlapic_vcpu(vlapic);
=20
-    if ( unlikely(vec < 16) )
+    if ( unlikely(vec < NR_ISAIRQS) )
     {
         vlapic_error(vlapic, ilog2(APIC_ESR_RECVILL));
         return;
@@ -523,7 +523,7 @@ void vlapic_ipi(
         struct vlapic *target =3D vlapic_lowest_prio(
             vlapic_domain(vlapic), vlapic, short_hand, dest, dest_mode);
=20
-        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
+        if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
             vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
         else if ( target )
             vlapic_accept_irq(vlapic_vcpu(target), icr_low);
@@ -531,7 +531,7 @@ void vlapic_ipi(
     }
=20
     case APIC_DM_FIXED:
-        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
+        if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
         {
             vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
             break;
diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c
index 6427b08086..c4ff96a2ad 100644
--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -523,7 +523,7 @@ void vpic_irq_positive_edge(struct domain *d, int irq)
     uint8_t mask =3D 1 << (irq & 7);
=20
     ASSERT(has_vpic(d));
-    ASSERT(irq <=3D 15);
+    ASSERT(irq < NR_ISAIRQS);
     ASSERT(vpic_is_locked(vpic));
=20
     TRACE_TIME(TRC_HVM_EMUL_PIC_POSEDGE, irq);
@@ -541,7 +541,7 @@ void vpic_irq_negative_edge(struct domain *d, int irq)
     uint8_t mask =3D 1 << (irq & 7);
=20
     ASSERT(has_vpic(d));
-    ASSERT(irq <=3D 15);
+    ASSERT(irq < NR_ISAIRQS);
     ASSERT(vpic_is_locked(vpic));
=20
     TRACE_TIME(TRC_HVM_EMUL_PIC_NEGEDGE, irq);
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.=
h
index f9ed5dc86c..c7a557133b 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -108,7 +108,7 @@ extern bool opt_noirqbalance;
=20
 extern int opt_irq_vector_map;
=20
-#define platform_legacy_irq(irq)=09((irq) < 16)
+#define platform_legacy_irq(irq)=09((irq) < NR_ISAIRQS)
=20
 void cf_check event_check_interrupt(void);
 void cf_check invalidate_interrupt(void);
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index c6cf944811..e224fae80f 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -2715,15 +2715,15 @@ void __init ioapic_init(void)
                               " than \"nr_irqs=3D\"\n");
         max_gsi_irqs =3D nr_irqs;
     }
-    if ( max_gsi_irqs < 16 )
-        max_gsi_irqs =3D 16;
+    if ( max_gsi_irqs < NR_ISAIRQS )
+        max_gsi_irqs =3D NR_ISAIRQS;
=20
     /* for PHYSDEVOP_pirq_eoi_gmfn guest assumptions */
     if ( max_gsi_irqs > PAGE_SIZE * 8 )
         max_gsi_irqs =3D PAGE_SIZE * 8;
=20
-    if ( !smp_found_config || skip_ioapic_setup || nr_irqs_gsi < 16 )
-        nr_irqs_gsi =3D 16;
+    if ( !smp_found_config || skip_ioapic_setup || nr_irqs_gsi < NR_ISAIRQ=
S )
+        nr_irqs_gsi =3D NR_ISAIRQS;
     else if ( nr_irqs_gsi > max_gsi_irqs )
     {
         printk(XENLOG_WARNING "Limiting to %u GSI IRQs (found %u)\n",
@@ -2736,8 +2736,8 @@ void __init ioapic_init(void)
                   max(0U + num_present_cpus() * NR_DYNAMIC_VECTORS,
                       8 * nr_irqs_gsi) :
                   nr_irqs_gsi;
-    else if ( nr_irqs < 16 )
-        nr_irqs =3D 16;
+    else if ( nr_irqs < NR_ISAIRQS )
+        nr_irqs =3D NR_ISAIRQS;
     printk(XENLOG_INFO "IRQ limits: %u GSI, %u MSI/MSI-X\n",
            nr_irqs_gsi, nr_irqs - nr_irqs_gsi);
 }
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index f35894577b..8c64cf1605 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -36,7 +36,7 @@
 bool __read_mostly opt_noirqbalance;
 boolean_param("noirqbalance", opt_noirqbalance);
=20
-unsigned int __read_mostly nr_irqs_gsi =3D 16;
+unsigned int __read_mostly nr_irqs_gsi =3D NR_ISAIRQS;
 unsigned int __read_mostly nr_irqs;
 integer_param("nr_irqs", nr_irqs);
=20
@@ -1525,7 +1525,7 @@ void desc_guest_eoi(struct irq_desc *desc, struct pir=
q *pirq)
 int pirq_guest_unmask(struct domain *d)
 {
     unsigned int pirq =3D 0, n, i;
-    struct pirq *pirqs[16];
+    struct pirq *pirqs[NR_ISAIRQS];
=20
     do {
         n =3D radix_tree_gang_lookup(&d->pirq_tree, (void **)pirqs, pirq,
@@ -2113,7 +2113,7 @@ int get_free_pirq(struct domain *d, int type)
=20
     if ( type =3D=3D MAP_PIRQ_TYPE_GSI )
     {
-        for ( i =3D 16; i < nr_irqs_gsi; i++ )
+        for ( i =3D NR_ISAIRQS; i < nr_irqs_gsi; i++ )
             if ( is_free_pirq(d, pirq_info(d, i)) )
             {
                 pirq_get_info(d, i);
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Fri Mar 14 03:07:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 03:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913698.1319620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsvNo-0005JZ-AL; Fri, 14 Mar 2025 03:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913698.1319620; Fri, 14 Mar 2025 03:06: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 1tsvNo-0005JS-5g; Fri, 14 Mar 2025 03:06:48 +0000
Received: by outflank-mailman (input) for mailman id 913698;
 Fri, 14 Mar 2025 03:06: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=vjjD=WB=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tsvNn-0005JI-5e
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 03:06:47 +0000
Received: from fout-b2-smtp.messagingengine.com
 (fout-b2-smtp.messagingengine.com [202.12.124.145])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b5e0f19-0081-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 04:06:44 +0100 (CET)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfout.stl.internal (Postfix) with ESMTP id 78AD81140186;
 Thu, 13 Mar 2025 23:06:42 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-10.internal (MEProxy); Thu, 13 Mar 2025 23:06:42 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 13 Mar 2025 23:06:40 -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: 5b5e0f19-0081-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:message-id:mime-version:reply-to:subject:subject:to:to; s=fm1;
	 t=1741921602; x=1742008002; bh=0W9J08A9Ifq6aMXbixhqcaPih7lkqCUt
	zRxT6UKwgTc=; b=M77myQnHUrcphoeZjC9OnW1DjGwLFXU28ige53+IabMdrlby
	yOAxXB5+K0eyMOOEo9kUqvvNc7Epf/LSa5bZmQx+7twbOFCs1/gUggWvmPi7lDUM
	efo3spO138/p4DfqfetOdl7SQXJOckzgnekSVBO9+qQWAO57eWkQzi/jm7GPbLlp
	nlpqg4CcIZQhBHyUxAmJY+ANn3QlrVS6iVuVoUV9L40/FWtqU7JnPY1f66UesrpD
	l1HVp4OAWmkolpDFTUsuTv9YsvA9jsrtHEsinXAS2/oTCvV3GCcqfZJ2dtUUWVEn
	pdmsP1eHdquRz9vd8aAeNgxLlhVww72d28RSLQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=
	fm1; t=1741921602; x=1742008002; bh=0W9J08A9Ifq6aMXbixhqcaPih7lk
	qCUtzRxT6UKwgTc=; b=20itiBuvPOT2tfq2U2bewopSzJshBjqY5KB6TsXUU5uF
	dSOZHBHvtBBX+lBvd0U1QD96+YkbA/KjN4jhk71FJ5121NRkLMcrtNzIqkkPPGmW
	Zk8F1eeRJXR6nVBx9aYE+x/bhH+se+iGZssFo2Ga/smfEBk9I2lhr7jSpRFzdShX
	G/pKZCSPEYlFH+vjxdiePqD6f91XM14KB3wxyMecUt/EYB9v5HboKoGpTphxhuZ3
	SufWLKo9tYNFolAfBhbDYy8+XbqGcTJtcF4E/GXuRcdeoKNPMlDi6DmXI+aFncOq
	2UTXHQB5wvzi5XeBJBKJLq2KuP2xDA8YZZjt7Lrg1A==
X-ME-Sender: <xms:QZ3TZ7B1Y7dmxx5BJuHommGyOGzW-rKedtTCFMbzW5vID9L7Jn19yA>
    <xme:QZ3TZxhYS9cLq9ScmflZ0n0cIJl_ZzCaSuORJmfST3lKPugTvi2mmhJ_t1TWPq3xx
    2Ipr-VzLQtKhw>
X-ME-Received: <xmr:QZ3TZ2lqullPFNvcnIDnu4K5kyfvJSqgGsKobhUvOS1JtSOvokQFOUsOHMKwyiqOUzE4Ex5p>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdeljeduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofggtgfgsehtkeertdertdej
    necuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoe
    hmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucgg
    tffrrghtthgvrhhnpeejueefhfelieekgeeftdfgieeugefhudetjeethfefveehffejhf
    eigefgjeekleenucffohhmrghinhepghhithhlrggsrdgtohhmnecuvehluhhsthgvrhfu
    ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepiedpmhhouggv
    pehsmhhtphhouhhtpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnh
    hprhhojhgvtghtrdhorhhgpdhrtghpthhtohepmhgrrhhmrghrvghksehinhhvihhsihgs
    lhgvthhhihhnghhslhgrsgdrtghomhdprhgtphhtthhopehjsggvuhhlihgthhesshhush
    gvrdgtohhmpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidr
    tghomhdprhgtphhtthhopegtrghrughovgestggrrhguohgvrdgtohhmpdhrtghpthhtoh
    epshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:QZ3TZ9wQqRuJuflz4BiE75DNPMNgH2x-xTFq88ljWAhpVYCv7rb0CQ>
    <xmx:Qp3TZwSaNTtlPMqFmIAudVCQcT3KVGWfBLa3i1LVH09MJKRvRNYeyw>
    <xmx:Qp3TZwbIyFJI6tcDOAdKlHMDWayLrrd8FuN9PtgZ6jSbrvy_stiqzw>
    <xmx:Qp3TZxQgWK_8PBgPqSGGtsRolGmIdgn08ePIY-Q2I_wVWSon1N8tkA>
    <xmx:Qp3TZ_GmWVZf3YZIM7wtrPENiIhWXkXFHs8-dAE4-qBCi7WPgNdRdRYL>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] ci: add yet another HW runner
Date: Fri, 14 Mar 2025 04:06:26 +0100
Message-ID: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.

This one has working S3, so add a test for it here.

Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
---
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>

The suspend test added here currently fails on staging[1], but passes on
staging-4.19[2]. So the regression wants fixing before committing this
patch.
For this to work, the runner needs to be added to relevant repositories
(especially hardware/xen one). Somebody with appropriate access need to
go to Settings->CI/CD->Runners and click "enable for this project" on
hal9001 runner.

[1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
[2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
---
 automation/gitlab-ci/test.yaml | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 9530e36e9aaa..6b8e1b830e3d 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -155,6 +155,16 @@
   tags:
     - qubes-hw2
 
+.zen2-x86-64:
+  # it's really similar to the above
+  extends: .adl-x86-64
+  variables:
+    PCIDEV: "01:00.0"
+    PCIDEV_INTR: "MSI-X"
+    CONSOLE_OPTS: "console=com1 com1=115200,8n1,pci,msi,04:00.0"
+  tags:
+    - qubes-hw1
+
 .zen3p-x86-64:
   # it's really similar to the above
   extends: .adl-x86-64
@@ -301,6 +311,22 @@ adl-tools-tests-pvh-x86-64-gcc-debug:
     - *x86-64-test-needs
     - alpine-3.18-gcc-debug
 
+zen2-smoke-x86-64-gcc-debug:
+  extends: .zen2-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+zen2-suspend-x86-64-gcc-debug:
+  extends: .zen2-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
 zen3p-smoke-x86-64-gcc-debug:
   extends: .zen3p-x86-64
   script:
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 05:19:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 05:19:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913728.1319628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsxRy-00014X-GI; Fri, 14 Mar 2025 05:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913728.1319628; Fri, 14 Mar 2025 05: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 1tsxRy-00014Q-DQ; Fri, 14 Mar 2025 05:19:14 +0000
Received: by outflank-mailman (input) for mailman id 913728;
 Fri, 14 Mar 2025 05:19: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=HRIH=WB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tsxRw-00014K-Rc
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 05:19:12 +0000
Received: from fforwardh-a2-smtp.messagingengine.com
 (fforwardh-a2-smtp.messagingengine.com [103.168.172.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbea4240-0093-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 06:19:11 +0100 (CET)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfforwardh.phl.internal (Postfix) with ESMTP id 624952920249;
 Fri, 14 Mar 2025 01:19:09 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-10.internal (MEProxy); Fri, 14 Mar 2025 01:19:09 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 14 Mar 2025 01:19:07 -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: dbea4240-0093-11f0-9ab9-95dc52dad729
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=fm1; t=
	1741929549; x=1742015949; bh=kZfdsh1cDuaKJdNIrBysFqAQEveOzxpyKd+
	rwbGFPAI=; b=7mWnOWIMUSkxgrabbBG2J7jkjLxR7JQDy3nFnDep3bEI2ZAscFq
	Jsuexttxbv3TZKPKtTdvrbd4BY+G5vqG/eTWCmJy9aRXxEioHlCD3A/oKRTHyQ8c
	JQTzqlB2mkSj4Nw6DAih17zTMihr6VYTRzo+nmiV4zjpId7A6SqlIr5a9cbZBsVd
	kQmqTzepEBw2/BgTSay7+OG3n/ERu6E1HYJiz/oQmNchfX/L+xG3nq5n4Xx4THjm
	1f9TVmLfPqz0mS0t3XWXhxpvCVKI9EzKv+E+Q9fe1KsFO7Nm86aUybXj0ilzE+r1
	IEXT6/bti6k+CRww9Ca8iEuv3NDefM/5TCQ==
X-ME-Sender: <xms:S7zTZwaGg10HAac17VncZ-DqI56W8QCpKhV7bG5YP4HbS8FXaiqXng>
    <xme:S7zTZ7aQ5wQsMpkVrfSkTrINV0KtRoTELEM7aPxWGlWvrOjvn5-Ia_DztLk-sEhKm
    Ius8xT2l27kMHPHKps>
X-ME-Received: <xmr:S7zTZ695xFXcaCrjop3T9SQWonZbkHrqMNqYirYhGL2N5y8bQmkiYoDr42YR3i9EutX014EyVEqi0FzzxL9oPanWLay4B08TQ-Lk6gcMm3Hiqw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdelleejucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgggfestdekredtredttden
    ucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrihhkse
    gvphgrmhdrtghomheqnecuggftrfgrthhtvghrnhepgedvfeefhfduvdetkeegleeggfel
    heekveeiuddufeehtdehleelhfekiedvvedvnecuffhomhgrihhnpehkvghrnhgvlhdroh
    hrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehs
    rghkihgssegurghrkhhsthgrrhdrshhithgvpdhnsggprhgtphhtthhopedvuddpmhhoug
    gvpehsmhhtphhouhhtpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigv
    nhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohepshgvrhhgihihpghkihgsrhhikhesvg
    hprghmrdgtohhmpdhrtghpthhtoheptggrrhguohgvsegtrghrughovgdrtghomhdprhgt
    phhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhmpdhrtghpth
    htoheprghnthhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthho
    pehmihgthhgrlhdrohhriigvlhesrghmugdrtghomhdprhgtphhtthhopehjsggvuhhlih
    gthhesshhushgvrdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhr
    tghpthhtoheprhhoghgvrhdrphgruhestghithhrihigrdgtohhm
X-ME-Proxy: <xmx:S7zTZ6p1Mj6m17ffG4OAmvjD6Xee8vHOU25xvayYjZheef_gWprMRg>
    <xmx:S7zTZ7qZLvL1frrB-wGt017rrsMILpmbD6c9e_jCxISeTp8H1Hvg1Q>
    <xmx:S7zTZ4QsU4DT49uIKh29H8UxwPs95xcWoBbsQsRCfC1x_N3HUa6M0Q>
    <xmx:S7zTZ7odtlHfOLHBtkSXwV7fyykDUo0_SuTZnyOS7GNPyiLcHk8Z8g>
    <xmx:S7zTZw6RaCWlClw7EklrsPZeNeKMxOSpuw7A1WY76IrwXBVdLfWNLQ>
    <xmx:TbzTZ3oOnGFWh5f-JG45PQO5hrqkcziVUGF7rK4Rj0buyEF-ph3WLhZfDvzK>
Feedback-ID: i75f97a0f:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Doug Goldstein <cardoe@cardoe.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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 0/3] make build of vm_event/mem_access/monitor optional
Date: Fri, 14 Mar 2025 07:19:03 +0200
Message-Id: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series aims to provide a possibility to build Xen without mem_access and
related features. It is already largely covered by corresponding
CONFIG_MEM_ACCESS option, yet there're still some parts remaining.
Hopefully this would help to reduce dead code a bit.

As coverage of MEM_ACCESS config option begins to extend beyond actual
mem_access code it has been suggested to rename it into VM_EVENT, as a more
general option controlling mem_access, vm_event and monitor code.

v3 series:
https://lore.kernel.org/xen-devel/cover.1741687645.git.Sergiy_Kibrik@epam.com/
  -Sergiy


Sergiy Kibrik (2):
  xen: kconfig: rename MEM_ACCESS -> VM_EVENT
  x86:monitor: control monitor.c build with CONFIG_VM_EVENT option

Stefano Stabellini (1):
  xen: mem_access: conditionally compile vm_event.c & monitor.c

 automation/gitlab-ci/build.yaml         |  2 +-
 xen/arch/arm/Makefile                   |  6 +++---
 xen/arch/arm/configs/tiny64_defconfig   |  2 +-
 xen/arch/arm/include/asm/mem_access.h   |  4 ++--
 xen/arch/arm/vsmc.c                     |  3 ++-
 xen/arch/ppc/configs/ppc64_defconfig    |  2 +-
 xen/arch/riscv/configs/tiny64_defconfig |  2 +-
 xen/arch/x86/Kconfig                    |  2 +-
 xen/arch/x86/Makefile                   |  2 +-
 xen/arch/x86/mm/Makefile                |  2 +-
 xen/common/Kconfig                      |  2 +-
 xen/common/Makefile                     |  6 +++---
 xen/common/domctl.c                     |  2 +-
 xen/include/xen/mem_access.h            |  6 +++---
 xen/include/xen/monitor.h               |  9 +++++++++
 xen/include/xen/vm_event.h              | 14 +++++++++++---
 xen/include/xsm/dummy.h                 |  2 +-
 xen/include/xsm/xsm.h                   |  4 ++--
 xen/xsm/dummy.c                         |  2 +-
 xen/xsm/flask/hooks.c                   |  4 ++--
 20 files changed, 48 insertions(+), 30 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 05:21:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 05:21:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913738.1319639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsxTw-0003ft-Rv; Fri, 14 Mar 2025 05:21:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913738.1319639; Fri, 14 Mar 2025 05:21: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 1tsxTw-0003fm-P8; Fri, 14 Mar 2025 05:21:16 +0000
Received: by outflank-mailman (input) for mailman id 913738;
 Fri, 14 Mar 2025 05: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=HRIH=WB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tsxTw-0003fg-43
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 05:21:16 +0000
Received: from fforwardh-a2-smtp.messagingengine.com
 (fforwardh-a2-smtp.messagingengine.com [103.168.172.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25f03fbe-0094-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 06:21:14 +0100 (CET)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfforwardh.phl.internal (Postfix) with ESMTP id BC3052920258;
 Fri, 14 Mar 2025 01:21:13 -0400 (EDT)
Received: from phl-frontend-01 ([10.202.2.160])
 by phl-compute-10.internal (MEProxy); Fri, 14 Mar 2025 01:21:13 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 14 Mar 2025 01:21:12 -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: 25f03fbe-0094-11f0-9ab9-95dc52dad729
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: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=fm1; t=1741929673; x=1742016073; bh=G
	fJYaqe6YN6CUxc1EMksZLsBCJrUXeTXrgTIO72XhRA=; b=Svg6P22Zw8f/fJ5D2
	ZreglmjulsovkDiAy4kj5CREOJgLKq6JsaDishZI9ebU7YGGDxrxgEBAYS5aSYqR
	oSOscbIfbBr9s2L7VW9vxPFT1v2WhWa/PN/RphGiNT780lhBFBw7V1Sccb+hK+Ey
	xXReQ96g0t0+HdLmJofL3nwwKBGkDwYxRTkWCyrBxSt+fQW1TAaoAFIrgywQkFWV
	8mB/E6jxXVTGn2Wewal+AY8ZRzSWJJsJs39E9tPsP6oZ+GP9twGuO8j9bLp4fPfM
	xqhN5iuNLO6YeddqYuQxE2U1JkTQG70L8ASAfPIbW0TEyrLufDFCN6TY6bOJEJdU
	X8bpQ==
X-ME-Sender: <xms:ybzTZ0M4UuYlPB8mRGVBv9nkVn4-RPX85dByMUJakN2oIXaVEFSq0A>
    <xme:ybzTZ69CSC8Y-rgwTCh0h8S_If_lIrMK-tr2ZxKyrR7rbqMooMxGrYFy8ClaElsUx
    OIpTqrqIDOzK67WKPs>
X-ME-Received: <xmr:ybzTZ7T2YUDNGDZq1t1E7rzEIQ9EA8RuRJnHWucdErrBO2ZaVHAYTVBN0xkbd_9kXiO43NOW29-pFG2nQzILOINjBpRmiM2-Ya3PbSuYp3xdBw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdelleekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepvddupdhmohguvgepshhmthhpohhuthdprhgtphhtthhope
    igvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphht
    thhopehsvghrghhihigpkhhisghrihhksegvphgrmhdrtghomhdprhgtphhtthhopegtrg
    hrughovgestggrrhguohgvrdgtohhmpdhrtghpthhtoheprghnughrvgifrdgtohhophgv
    rhefsegtihhtrhhigidrtghomhdprhgtphhtthhopegrnhhthhhonhihrdhpvghrrghrug
    esvhgrthgvshdrthgvtghhpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegrmhgu
    rdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtth
    hopehjuhhlihgvnhesgigvnhdrohhrghdprhgtphhtthhopehrohhgvghrrdhprghusegt
    ihhtrhhigidrtghomh
X-ME-Proxy: <xmx:ybzTZ8suLzgPpTdEtQKRTo_ZWy_zKWFtPPKn8-WkEmhx3ZRO0AV2HQ>
    <xmx:ybzTZ8cSibkU9hrDxzS2hf7XW9tEkicmsOR0mp_dd_gpPg3evQotdA>
    <xmx:ybzTZw1lloiiyQB-F3yoXl4wC2iXvxwbybiEqx3GvNfugwol0weEiw>
    <xmx:ybzTZw9GbCeQ-ydG7TYe3YNK-d6_Xurw-75xo3gx-3QHBGIX5he9FA>
    <xmx:ybzTZz8bkLDb7BOHM9jSf8-0TAXyHBX4jyPDJVVZ1Z9wIwYrevoZYw>
    <xmx:ybzTZ69zrPmtDr1aUYkwta-cvI0YfGHt3beZoWQWLKe6Bp2-VII6QW2KAxjx>
Feedback-ID: i5ff96cea:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Doug Goldstein <cardoe@cardoe.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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 1/3] xen: kconfig: rename MEM_ACCESS -> VM_EVENT
Date: Fri, 14 Mar 2025 07:21:09 +0200
Message-Id: <58f66091cd1b28fe38ab9687b87ae99ecb7520eb.1741772330.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
References: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use more generic CONFIG_VM_EVENT name throughout Xen code instead of
CONFIG_MEM_ACCESS. This reflects the fact that vm_event is a higher level
feature, with mem_access & monitor depending on it.

Suggested-by: Tamas K Lengyel <tamas@tklengyel.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
changes in v3:
 - squash with automation patch
 - tags & minor addition of blanks
---
 automation/gitlab-ci/build.yaml         | 2 +-
 xen/arch/arm/Makefile                   | 2 +-
 xen/arch/arm/configs/tiny64_defconfig   | 2 +-
 xen/arch/arm/include/asm/mem_access.h   | 4 ++--
 xen/arch/ppc/configs/ppc64_defconfig    | 2 +-
 xen/arch/riscv/configs/tiny64_defconfig | 2 +-
 xen/arch/x86/mm/Makefile                | 2 +-
 xen/common/Kconfig                      | 2 +-
 xen/common/Makefile                     | 2 +-
 xen/common/domctl.c                     | 2 +-
 xen/include/xen/mem_access.h            | 6 +++---
 xen/include/xsm/dummy.h                 | 2 +-
 xen/include/xsm/xsm.h                   | 4 ++--
 xen/xsm/dummy.c                         | 2 +-
 xen/xsm/flask/hooks.c                   | 4 ++--
 15 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 034d6d9c3a..b6383c4fc8 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -744,7 +744,7 @@ debian-12-riscv64-gcc:
       CONFIG_EXPERT=y
       CONFIG_GRANT_TABLE=n
       CONFIG_LIVEPATCH=n
-      CONFIG_MEM_ACCESS=n
+      CONFIG_VM_EVENT=n
       CONFIG_QEMU_PLATFORM=y
       CONFIG_XSM=n
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index fb0948f067..3bd5125e64 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -38,7 +38,7 @@ obj-y += irq.o
 obj-y += kernel.init.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-$(CONFIG_LLC_COLORING) += llc-coloring.o
-obj-$(CONFIG_MEM_ACCESS) += mem_access.o
+obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-y += p2m.o
diff --git a/xen/arch/arm/configs/tiny64_defconfig b/xen/arch/arm/configs/tiny64_defconfig
index cc6d93f2f8..469a1eb9f9 100644
--- a/xen/arch/arm/configs/tiny64_defconfig
+++ b/xen/arch/arm/configs/tiny64_defconfig
@@ -5,7 +5,7 @@ CONFIG_ARM=y
 # Architecture Features
 #
 # CONFIG_GICV3 is not set
-# CONFIG_MEM_ACCESS is not set
+# CONFIG_VM_EVENT is not set
 # CONFIG_SBSA_VUART_CONSOLE is not set
 
 #
diff --git a/xen/arch/arm/include/asm/mem_access.h b/xen/arch/arm/include/asm/mem_access.h
index abac8032fc..d42f28e8b7 100644
--- a/xen/arch/arm/include/asm/mem_access.h
+++ b/xen/arch/arm/include/asm/mem_access.h
@@ -37,7 +37,7 @@ static inline bool p2m_mem_access_sanity_check(struct domain *d)
  * Send mem event based on the access. Boolean return value indicates if trap
  * needs to be injected into guest.
  */
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 bool p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec);
 
 struct page_info*
@@ -58,7 +58,7 @@ p2m_mem_access_check_and_get_page(vaddr_t gva, unsigned long flag,
     return NULL;
 }
 
-#endif /*CONFIG_MEM_ACCESS*/
+#endif /* CONFIG_VM_EVENT */
 #endif /* _ASM_ARM_MEM_ACCESS_H */
 
 /*
diff --git a/xen/arch/ppc/configs/ppc64_defconfig b/xen/arch/ppc/configs/ppc64_defconfig
index 4924d881a2..d6aaf772e7 100644
--- a/xen/arch/ppc/configs/ppc64_defconfig
+++ b/xen/arch/ppc/configs/ppc64_defconfig
@@ -1,6 +1,6 @@
 # CONFIG_GRANT_TABLE is not set
 # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
-# CONFIG_MEM_ACCESS is not set
+# CONFIG_VM_EVENT is not set
 
 CONFIG_PPC64=y
 CONFIG_DEBUG=y
diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index bb3ae26a44..2399f7b918 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -1,6 +1,6 @@
 # CONFIG_BOOT_TIME_CPUPOOLS is not set
 # CONFIG_GRANT_TABLE is not set
-# CONFIG_MEM_ACCESS is not set
+# CONFIG_VM_EVENT is not set
 # CONFIG_COVERAGE is not set
 # CONFIG_LIVEPATCH is not set
 # CONFIG_XSM is not set
diff --git a/xen/arch/x86/mm/Makefile b/xen/arch/x86/mm/Makefile
index 0345388359..960f6e8409 100644
--- a/xen/arch/x86/mm/Makefile
+++ b/xen/arch/x86/mm/Makefile
@@ -4,7 +4,7 @@ obj-$(CONFIG_HVM) += hap/
 obj-$(CONFIG_ALTP2M) += altp2m.o
 obj-$(CONFIG_HVM) += guest_walk_2.o guest_walk_3.o guest_walk_4.o
 obj-$(CONFIG_SHADOW_PAGING) += guest_walk_4.o
-obj-$(CONFIG_MEM_ACCESS) += mem_access.o
+obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-$(CONFIG_MEM_PAGING) += mem_paging.o
 obj-$(CONFIG_MEM_SHARING) += mem_sharing.o
 obj-$(CONFIG_HVM) += nested.o
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6166327f4d..a6aa2c5c14 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -92,7 +92,7 @@ config HAS_VMAP
 config MEM_ACCESS_ALWAYS_ON
 	bool
 
-config MEM_ACCESS
+config VM_EVENT
 	def_bool MEM_ACCESS_ALWAYS_ON
 	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
 	depends on HVM
diff --git a/xen/common/Makefile b/xen/common/Makefile
index cba3b32733..b71d4b3efa 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -26,7 +26,7 @@ obj-$(CONFIG_KEXEC) += kexec.o
 obj-$(CONFIG_KEXEC) += kimage.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o livepatch_elf.o
 obj-$(CONFIG_LLC_COLORING) += llc-coloring.o
-obj-$(CONFIG_MEM_ACCESS) += mem_access.o
+obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-y += memory.o
 obj-y += multicall.o
 obj-y += notifier.o
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index b897ca8723..bfe2e1f9f0 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -809,7 +809,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
             copyback = true;
         break;
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
     case XEN_DOMCTL_set_access_required:
         if ( unlikely(current->domain == d) ) /* no domain_pause() */
             ret = -EPERM;
diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 2231341b5d..4de651038d 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -33,7 +33,7 @@
  */
 struct vm_event_st;
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 #include <asm/mem_access.h>
 #endif
 
@@ -99,7 +99,7 @@ long p2m_set_mem_access_multi(struct domain *d,
 int p2m_get_mem_access(struct domain *d, gfn_t gfn, xenmem_access_t *access,
                        unsigned int altp2m_idx);
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 int mem_access_memop(unsigned long cmd,
                      XEN_GUEST_HANDLE_PARAM(xen_mem_access_op_t) arg);
 #else
@@ -109,7 +109,7 @@ int mem_access_memop(unsigned long cmd,
 {
     return -ENOSYS;
 }
-#endif /* CONFIG_MEM_ACCESS */
+#endif /* CONFIG_VM_EVENT */
 
 #endif /* _XEN_MEM_ACCESS_H */
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index a8d06de6b0..9227205fcd 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -647,7 +647,7 @@ static XSM_INLINE int cf_check xsm_vm_event_control(
     return xsm_default_action(action, current->domain, d);
 }
 
-#ifdef CONFIG_MEM_ACCESS
+#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 8c33b055fc..24acc16125 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -153,7 +153,7 @@ struct xsm_ops {
 
     int (*vm_event_control)(struct domain *d, int mode, int op);
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
     int (*mem_access)(struct domain *d);
 #endif
 
@@ -637,7 +637,7 @@ static inline int xsm_vm_event_control(
     return alternative_call(xsm_ops.vm_event_control, d, mode, op);
 }
 
-#ifdef CONFIG_MEM_ACCESS
+#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 ce6fbdc6c5..93fbfc43cc 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -111,7 +111,7 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
 
     .vm_event_control              = xsm_vm_event_control,
 
-#ifdef CONFIG_MEM_ACCESS
+#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 389707a164..6a53487ea4 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1362,7 +1362,7 @@ 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_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
 static int cf_check flask_mem_access(struct domain *d)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__MEM_ACCESS);
@@ -1955,7 +1955,7 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
 
     .vm_event_control = flask_vm_event_control,
 
-#ifdef CONFIG_MEM_ACCESS
+#ifdef CONFIG_VM_EVENT
     .mem_access = flask_mem_access,
 #endif
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 05:23:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 05:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913749.1319648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsxVw-0004Co-5h; Fri, 14 Mar 2025 05:23:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913749.1319648; Fri, 14 Mar 2025 05:23: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 1tsxVw-0004Ch-2g; Fri, 14 Mar 2025 05:23:20 +0000
Received: by outflank-mailman (input) for mailman id 913749;
 Fri, 14 Mar 2025 05:23: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=HRIH=WB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tsxVv-0004CX-B3
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 05:23:19 +0000
Received: from fforwardh-a2-smtp.messagingengine.com
 (fforwardh-a2-smtp.messagingengine.com [103.168.172.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f68f9cb-0094-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 06:23:18 +0100 (CET)
Received: from phl-compute-11.internal (phl-compute-11.phl.internal
 [10.202.2.51])
 by mailfforwardh.phl.internal (Postfix) with ESMTP id 0BB9A292013B;
 Fri, 14 Mar 2025 01:23:17 -0400 (EDT)
Received: from phl-frontend-01 ([10.202.2.160])
 by phl-compute-11.internal (MEProxy); Fri, 14 Mar 2025 01:23:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 14 Mar 2025 01:23:16 -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: 6f68f9cb-0094-11f0-9ab9-95dc52dad729
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: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=fm1; t=1741929797; x=1742016197; bh=8
	gtu3M66RCphGMRnb9LvcGgL3tCIvFU0NSfbGCgNSNk=; b=vjqOggn0UkV48q7di
	8aEmT0T/pHq3yLSL2Q9vR5z5Z/8rzjxu+MLZN9wligkzgfhdnZZtq0OqjVOGVQz/
	Xh3LI2NzmDZqlTRJMKkBlv14DxKOBVYqe8U5x+rThcwemrbEHunVsC74wONzXjsj
	KCIlYlgoCSc4osTe1O5sJMblW7QNXA6IHNLX4qeNTFvtti8LB4deCemZfvtt1Hmm
	T1kQYDAx+79VzhyCKMmMeffRFDWQN902mkfc2xeTnywwhiRErszmLwUZx/s6OkpW
	sp3teYVPvb5mOaQUYOp+M4pLJHdTkmlMo93BaSmLpKUGB35XiEg0y/WwAoAuRfVi
	A75Tw==
X-ME-Sender: <xms:RL3TZ9Q9NYz2VQxOHy9_DMwsd6cKTn5yJJ6qM9F1X3-w9JHDZHopwA>
    <xme:RL3TZ2znnacEC1eM_FOnazemZQklqlhsIFPwoYAcJp6qZsO4S_J0BrJdsjuyaN4HK
    38ebwDR5pM2lPLhk9A>
X-ME-Received: <xmr:RL3TZy3pFjMqfLDEKp4PwqmOekTLySD-Tli4BDXWkihE6YfmvG5448uFtrty-fOUT7Pwwa11uvmwW2ZyoDHw4-nSvF7sRKkdcTMv5i5vqoBw7w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdelleekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgi
    gvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthht
    ohepshgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtohepjhgsvg
    hulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghr
    feestghithhrihigrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrih
    igrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:RL3TZ1Ain5YkZdltNUfE7V5y4b02I2rLSku7W4M-2TbXn2ccyBl8JQ>
    <xmx:RL3TZ2hAmVjKy2qdGVuq-85CK0G3dKYCV74rcP4i8vXVJQCS3UGvSQ>
    <xmx:RL3TZ5p45HmmJwuKW3VenQZuOuh3QCm2JwnQ6DWVwEpOlOiCEk4KwA>
    <xmx:RL3TZxhHN1ddz2ouVY8kvePKN6zHToJFmaFFYujtqsbHwPUvXTDe0A>
    <xmx:RL3TZxSiOS8AjP3kCErp50AUT87oh76PkNGnD58kbZrX1Exhdliajg>
    <xmx:Rb3TZ4YCbhs19XUF900yDhxE3hMNHQ2UbsenzAIsqJYTp4gaFdQw4SQXjVOr>
Feedback-ID: if5db0626:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 2/3] x86:monitor: control monitor.c build with CONFIG_VM_EVENT option
Date: Fri, 14 Mar 2025 07:23:14 +0200
Message-Id: <39235285ffe341e446bf0fd5cc345379ae394e50.1741772330.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
References: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace more general CONFIG_HVM option with CONFIG_VM_EVENT which is more
relevant and specific to monitoring. This is only to clarify at build level
to which subsystem this file belongs.

No functional change here, as VM_EVENT depends on HVM.

Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index c763f80b0b..f59c9665fd 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -49,7 +49,7 @@ obj-$(CONFIG_PV) += ioport_emulate.o
 obj-y += irq.o
 obj-$(CONFIG_KEXEC) += machine_kexec.o
 obj-y += mm.o x86_64/mm.o
-obj-$(CONFIG_HVM) += monitor.o
+obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += mpparse.o
 obj-y += nmi.o
 obj-y += numa.o
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 05:25:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 05:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913762.1319658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsxXw-0004mR-GD; Fri, 14 Mar 2025 05:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913762.1319658; Fri, 14 Mar 2025 05:25: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 1tsxXw-0004mK-Di; Fri, 14 Mar 2025 05:25:24 +0000
Received: by outflank-mailman (input) for mailman id 913762;
 Fri, 14 Mar 2025 05: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=HRIH=WB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tsxXv-0004mE-5I
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 05:25:23 +0000
Received: from fforwardh-a2-smtp.messagingengine.com
 (fforwardh-a2-smtp.messagingengine.com [103.168.172.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b915bd3d-0094-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 06:25:21 +0100 (CET)
Received: from phl-compute-11.internal (phl-compute-11.phl.internal
 [10.202.2.51])
 by mailfforwardh.phl.internal (Postfix) with ESMTP id 856F22920264;
 Fri, 14 Mar 2025 01:25:20 -0400 (EDT)
Received: from phl-frontend-01 ([10.202.2.160])
 by phl-compute-11.internal (MEProxy); Fri, 14 Mar 2025 01:25:20 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 14 Mar 2025 01:25: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: b915bd3d-0094-11f0-9ab9-95dc52dad729
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: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=fm1; t=1741929920; x=1742016320; bh=H
	mWd+LYawtKqrg6HbNeHz8lLTNDGbFlf6zjt95qM7mg=; b=6w0nkZXwiGj7C39j1
	OB77BAFEdAib1Q6ibY2GzPqeazwrFU8KTz6BKYspMwYSPQuZmPvq1Md/67U9t+1P
	k79y3VMnySIQGPzx94BBMjxeufBj8YVBiM93SjldmwQxnnzJ4UkZ665lC3yT8n6Z
	Vbs2VojjlGNmrUP3F5kx1QSDA8BlbwX9Jnk6Zv/Ozga4DfsJN+NHQaajFe35jUiL
	rrrQ2ILd5OLjMWZCf6khIYKosIwmtoZyKMu3IdaYQrXVMlVXBesVUMjibxnp4H+c
	3FGUQ1S/O5PCuUoQ6Xmf1FR4FBBjlhJ8+0MPplaoU9AxlLksDvGvxd1X/Zna45Qv
	nBGwA==
X-ME-Sender: <xms:wL3TZ84ssfhRr4KRxKDC952MsIQ25UHKUP8cnBIrn9WSGL3bVbimTQ>
    <xme:wL3TZ95Dj0uFeCTLSNcxepObXbt98aBWKWj_dmbRpRFRYBBWBaQiu9CDrCZPsxOim
    KOmM92pjpq9m3sQPeg>
X-ME-Received: <xmr:wL3TZ7exAe_GWkdNvOJaB5aIJFaPBYcuhvOz0nQS4LSXJ0N83-hHX2GDUU2Gvc22V2T_dRNKpqlN90kMPKl4WvBUWDb4irTzy6wbuEZGCX3oTA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdelleekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgepud
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepudeipdhmohguvgepshhmthhpohhuthdprhgtphhtthhope
    igvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphht
    thhopehsthgvfhgrnhhordhsthgrsggvlhhlihhnihesrghmugdrtghomhdprhgtphhtth
    hopehjuhhlihgvnhesgigvnhdrohhrghdprhgtphhtthhopegsvghrthhrrghnugdrmhgr
    rhhquhhishesrghrmhdrtghomhdprhgtphhtthhopehmihgthhgrlhdrohhriigvlhesrg
    hmugdrtghomhdprhgtphhtthhopehvohhlohguhihmhihrpggsrggstghhuhhksegvphgr
    mhdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrd
    gtohhmpdhrtghpthhtoheprghnthhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggt
    hhdprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomh
X-ME-Proxy: <xmx:wL3TZxKB-hSxCN5ez_Hj0YqzDgb_-O2vbxtKBH-y21G1ws6BrggVmg>
    <xmx:wL3TZwLletM7o5_0PUQ4CSwDlTCWgUp8ihH_5uLOmb7k9VRet6yl2g>
    <xmx:wL3TZyzq0c9TRJelAtyDJVU6rQo1H-zKQGrB1F68cbSjr8LwG_0r5Q>
    <xmx:wL3TZ0LO8Y-NduZIXnl9xDGlbVC6UMMla6Ku4OGrgwlUu0gHNr4LLA>
    <xmx:wL3TZ_bqzPL8LOuRuuaSBmw82OxTanXgPFrfr0WRlErbwqXuFLwQfw>
    <xmx:wL3TZ95muM7hZXs89_hJQyW6a5G58QiGf3KjsZRyySLAb23PoORmMNOwp2DB>
Feedback-ID: i7ffb7bbc:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
	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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Tamas K Lengyel <tamas@tklengyel.com>
Subject: [PATCH v4 3/3] xen: mem_access: conditionally compile vm_event.c & monitor.c
Date: Fri, 14 Mar 2025 07:25:17 +0200
Message-Id: <61028e3f2ae363b8224ed7c7c48e86dddfe27fa1.1741772330.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
References: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

Extend coverage of CONFIG_VM_EVENT option and make the build of VM events
and monitoring support optional. Also make MEM_PAGING option depend on VM_EVENT
to document that mem_paging is relying on vm_event.
This is to reduce code size on Arm when this option isn't enabled.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
---
changes in v4:
 - vm_event_domctl stub returns -EOPNOTSUPP
changes in v3:
 - add dependency MEM_PAGING -> VM_EVENT
 - monitor_domctl() stub returns -EOPNOTSUPP
changes in v2:
 - rename CONFIG_MEM_ACCESS -> CONFIG_VM_EVENT
 - tags
---
 xen/arch/arm/Makefile      |  4 ++--
 xen/arch/arm/vsmc.c        |  3 ++-
 xen/arch/x86/Kconfig       |  2 +-
 xen/common/Makefile        |  4 ++--
 xen/include/xen/monitor.h  |  9 +++++++++
 xen/include/xen/vm_event.h | 14 +++++++++++---
 6 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 3bd5125e64..4837ad467a 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -40,7 +40,7 @@ obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-$(CONFIG_LLC_COLORING) += llc-coloring.o
 obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-y += mm.o
-obj-y += monitor.o
+obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += p2m.o
 obj-y += platform.o
 obj-y += platform_hypercall.o
@@ -66,7 +66,7 @@ obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
-obj-y += vm_event.o
+obj-$(CONFIG_VM_EVENT) += vm_event.o
 obj-y += vtimer.o
 obj-$(CONFIG_SBSA_VUART_CONSOLE) += vpl011.o
 obj-y += vsmc.o
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index e253865b6c..6081f14ed0 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -330,7 +330,8 @@ void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr)
     }
 
     /* If monitor is enabled, let it handle the call. */
-    if ( current->domain->arch.monitor.privileged_call_enabled )
+    if ( IS_ENABLED(CONFIG_VM_EVENT) &&
+         current->domain->arch.monitor.privileged_call_enabled )
         rc = monitor_smc();
 
     if ( rc == 1 )
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6e41bc0fb4..f086799594 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -350,7 +350,7 @@ endif
 
 config MEM_PAGING
 	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
-	depends on HVM
+	depends on HVM && VM_EVENT
 
 config MEM_SHARING
 	bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
diff --git a/xen/common/Makefile b/xen/common/Makefile
index b71d4b3efa..ac23120d7d 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -54,7 +54,7 @@ obj-y += timer.o
 obj-$(CONFIG_TRACEBUFFER) += trace.o
 obj-y += version.o
 obj-y += virtual_region.o
-obj-y += vm_event.o
+obj-$(CONFIG_VM_EVENT) += vm_event.o
 obj-$(CONFIG_HAS_VMAP) += vmap.o
 obj-y += vsprintf.o
 obj-y += wait.o
@@ -68,7 +68,7 @@ obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o
 
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
-obj-y += monitor.o
+obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += sysctl.o
 endif
 
diff --git a/xen/include/xen/monitor.h b/xen/include/xen/monitor.h
index 713d54f7c1..634b6cd2a1 100644
--- a/xen/include/xen/monitor.h
+++ b/xen/include/xen/monitor.h
@@ -27,8 +27,17 @@
 struct domain;
 struct xen_domctl_monitor_op;
 
+#ifdef CONFIG_VM_EVENT
 int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop);
 void monitor_guest_request(void);
+#else
+static inline int monitor_domctl(struct domain *d,
+                                 struct xen_domctl_monitor_op *mop)
+{
+    return -EOPNOTSUPP;
+}
+static inline void monitor_guest_request(void) {}
+#endif
 
 int monitor_traps(struct vcpu *v, bool sync, vm_event_request_t *req);
 
diff --git a/xen/include/xen/vm_event.h b/xen/include/xen/vm_event.h
index 9a86358b42..c4535b6c61 100644
--- a/xen/include/xen/vm_event.h
+++ b/xen/include/xen/vm_event.h
@@ -50,9 +50,6 @@ struct vm_event_domain
     unsigned int last_vcpu_wake_up;
 };
 
-/* Clean up on domain destruction */
-void vm_event_cleanup(struct domain *d);
-
 /* Returns whether a ring has been set up */
 bool vm_event_check_ring(struct vm_event_domain *ved);
 
@@ -88,7 +85,18 @@ void vm_event_cancel_slot(struct domain *d, struct vm_event_domain *ved);
 void vm_event_put_request(struct domain *d, struct vm_event_domain *ved,
                           vm_event_request_t *req);
 
+#ifdef CONFIG_VM_EVENT
+/* Clean up on domain destruction */
+void vm_event_cleanup(struct domain *d);
 int vm_event_domctl(struct domain *d, struct xen_domctl_vm_event_op *vec);
+#else
+static inline void vm_event_cleanup(struct domain *d) {}
+static inline int vm_event_domctl(struct domain *d,
+                                  struct xen_domctl_vm_event_op *vec)
+{
+    return -EOPNOTSUPP;
+}
+#endif
 
 void vm_event_vcpu_pause(struct vcpu *v);
 void vm_event_vcpu_unpause(struct vcpu *v);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 06:49:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 06:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913785.1319668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tsyr1-0008Pj-Fd; Fri, 14 Mar 2025 06:49:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913785.1319668; Fri, 14 Mar 2025 06:49: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 1tsyr1-0008Pc-Cv; Fri, 14 Mar 2025 06:49:11 +0000
Received: by outflank-mailman (input) for mailman id 913785;
 Fri, 14 Mar 2025 06:49: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tsyr0-0008PW-6x
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 06:49:10 +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 6c85e59e-00a0-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 07:49:06 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-38a25d4b9d4so1004461f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 13 Mar 2025 23:49: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-43d1ffb62ccsm7127315e9.7.2025.03.13.23.49.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Mar 2025 23:49: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: 6c85e59e-00a0-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741934946; x=1742539746; 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=aDYBP5s0KcIGVf4+3ZAh1FmuEIkAwb5QIXmwhO4kw5U=;
        b=dopPaTQ7PeqU+Q1oJQx/42jGhmkQ5il/l0Q5KH3Tz6aZc1dxNl1DFPBVtKGxs3xYzf
         auw97uRhf3WTwFYAxnzdPHAVXw6JQ6p6HRF6epo5RrVusYWUPlIK92mzbH69nd3egOGU
         j++97J06XAf/lm70TQLXKXWpJx2GEMkHIea+EzTkmlfUyrjtqKK3XBjMXWqfm4plPW8r
         GtTQFmAM2YElK+q6SUSQDFTmZrovNGDoawen9qq4kbJ7gUH3FfdsnjxgbRFlkPm1Uxln
         lqWsdNqxodc6nP8opZVxCUVKWlvFc2GMVaxXe5viQdwJfMzDjY1A0CD10z9mZ8lknhSn
         q7Kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741934946; x=1742539746;
        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=aDYBP5s0KcIGVf4+3ZAh1FmuEIkAwb5QIXmwhO4kw5U=;
        b=esBXZZdd1lFB6d4WWyOgKHGpaXB6emu9nmNWaDj/AxpaVuQWy9xpBsuxHWcCgpfEE4
         c51RV/6OM/8q3OfC9WVuzCyYUqIq97LlMWT4zPxz/Mn9JI/E+fFbEwRByQ2dTdyjKW7O
         kCgeth5WT5CN59rywskSnZdh0OkUqug96kdcyXojtpYz+rakfUBkjgb2VcjlbKLt+1i1
         Ry/klFR5CF2/JS2MLVZRUUmdJ9/uOHcmrDScHzl++iFTqQ3HKA0uxGaNkQ2UfkwLYOfU
         1YjoOC3w33arMKg44djZFD5qaMwTpqdgakZe9ajRkoH4nMeUL6e55+C0GavB3XMcIOIR
         iSVQ==
X-Forwarded-Encrypted: i=1; AJvYcCUB/ztrFRREHq3vwwFgVwi7Fl1oEna0WhlqChQW9L6cS7uwiY05pO5G1xSSRrg3pXJwHYUDh1/GdNE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwvxJbiDXllWJQ46GfZ+RfyMo3Jyvbd+vnT+CQ7REHf7HOyvrKW
	cqyajPZA3t7YjJg3nP3Z2wO0F+iafoX4d2kJUbhGt+eMQTX1lmEgINTbIu4xKQ==
X-Gm-Gg: ASbGncv8N68/BPuY3Apgd5SkvdEpW0HMi7UJVZqd/I//JUHP5zaiWeV4gWW0RmMhnhp
	DzFNrDMBn1GKocjeQ2NDTBfFIr5hxtVbPMy0lMy2XkYTZdWmjr4YicEiZtihvt8Z6bEN1vDMVYZ
	Tz4EEOH+0fvifidg/SozWdcljRi3kkOt7suHrBfl1Tu2vZnubtH03Sw9SHP+2XRjuDLJI1Nwre3
	kl+9xo2+cGYSv9CKKPOn7K5pLVmsV7wlSDWktzyjs4E4f3h58ncZUj5wBBXvDDOovg8NiACK8+/
	t0ca7bZ+9kQVDUn9LXIuAFCle2Cltg5Mm1fQqw64y/pbb5kw5+gcVC49aTt+mCA3NNx5nxX6v7t
	9aPLk5vwDH58XtJMNUK/Rv0g3RQ1maQ==
X-Google-Smtp-Source: AGHT+IGawQTziwRyAOZXzvM0W5SIL9IAgh+HhfC4Mwk730PVfjhr9WBV5VT/l8NliyLOeFnA5dnEMA==
X-Received: by 2002:a05:6000:178d:b0:38f:2a53:1d78 with SMTP id ffacd0b85a97d-3971ddd8d44mr1595078f8f.10.1741934945875;
        Thu, 13 Mar 2025 23:49:05 -0700 (PDT)
Message-ID: <e016d8e7-e662-419f-a181-5bbfdc71764b@suse.com>
Date: Fri, 14 Mar 2025 07:49:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <6ff81326-762c-46ec-a06a-254ba166433b@citrix.com>
 <b59ea14e-0bce-4c3e-b1fb-021b53af1780@suse.com>
 <d597523c-aa3a-4682-824f-e6e2f8ce753a@citrix.com>
 <61b762d0-d513-4d02-80ac-50fa12a725f3@suse.com>
 <b13543a1-4d43-4e2d-8fcd-08ec60be9dd3@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: <b13543a1-4d43-4e2d-8fcd-08ec60be9dd3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 18:03, Andrew Cooper wrote:
> On 13/03/2025 4:37 pm, Jan Beulich wrote:
>> On 13.03.2025 17:28, Andrew Cooper wrote:
>>> On 13/03/2025 2:19 pm, Jan Beulich wrote:
>>>> On 13.03.2025 14:58, Andrew Cooper wrote:
>>>>> On 13/03/2025 1:38 pm, Jan Beulich wrote:
>>>>> I'm tempted to ack this on the basis that it is an improvement, but a /*
>>>>> TODO this is all mad, please fix */ wouldn't go amiss either.
>>>> I understand you like adding such comments; I, however, at least
>>>> sometimes (e.g.) don't. Especially without at least outlining what
>>>> would need doing. Just saying "this is all mad" doesn't really help
>>>> very much.
>>> I was being somewhat flippant.Â  But a /* TODO, try and make this a
>>> presmp_initcall() to improve alloc_trace_bufs() */ would be fine.
>> Okay, added (to the existing comment).
> 
> RISC-V and PPC were both green in the pipeline, so they seem happy.

As alluded to, not surprising at all, as the tests surely don't supply
a "tbuf_size=" command line option. Without which init_trace_bufs() does
close to nothing. Still - thanks for double checking. May I imply an ack
from this (formally I'll need a separate Arm one then still anyway)?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 07:26:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 07:26:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913814.1319679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tszQw-0000So-5S; Fri, 14 Mar 2025 07:26:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913814.1319679; Fri, 14 Mar 2025 07: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 1tszQw-0000Sh-2q; Fri, 14 Mar 2025 07:26:18 +0000
Received: by outflank-mailman (input) for mailman id 913814;
 Fri, 14 Mar 2025 07:26: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tszQv-0000Sb-L5
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 07:26:17 +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 9d56db8a-00a5-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 08:26:16 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so15790405e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 00:26: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-43d1fe152ffsm8205315e9.13.2025.03.14.00.26.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 00:26: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: 9d56db8a-00a5-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741937175; x=1742541975; 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=rFcwUdZjV4aCb4JuiNGr+0B/Qwx+h2+9pw2jfQTMTVw=;
        b=BeUEdPqzO33vlSc4Al6RS+XqSUm8DWfLrGUeFHozMNbBdkk6+0FAtGwOHUY7H5+H48
         VMPYh6eKBsP5JtK+1qPUc4BcstUvo3Y1xPS0t/Xovk92HHU8vrsCHEgFf0z0cg8zaBGY
         D0Ju+vq9s9YR06a1q7VgSxl7DBIZx0PnXA/bOKAlXoYm2YryPyPLlZIMxUeVwVDfwTnS
         nS124Chh0efEwYda1GKpCU2iDCZXoqlyP1kiX5c8+AvJfxAi2GRjoU5ECCksudHFXtU2
         CppNk0bfCPfewdbsj+0cBO9j/N5C6Y0UbcFBe0EdTUE/+ue2710HrgFaqKGpFbkqtpeK
         RrbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741937175; x=1742541975;
        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=rFcwUdZjV4aCb4JuiNGr+0B/Qwx+h2+9pw2jfQTMTVw=;
        b=FLwACeoJW0gHSIYTV+enlK3NrxvgR3AATMRj+V3jAQJnjy6nzLCugUz1OmEeHuPC/d
         njJlKNUn1jU0cZqdpKAJyQWFBign5M+I6rG+3gB8oq1CcSzzQZRCsv/SDS8GNmQvfy5h
         ++RuxX0EbsFZHzp1ZwlYQ7pEyqCJcIw+y9z5yEFejPPc5Ly1ZQUyhfpbyo8Af4EC1adk
         vCHMeSWjLpb+jDg711nVpamCy1WCk1+j6T6SgwsiGkxxUBrl7xjt17mIMMw45rg91mYp
         nk8jwKzOzxvwpqdq9hsZMaT1vTald/FjQQn2kWj7aBX/GHskszyIjuuSd1FbvXUF/AzE
         0jYg==
X-Forwarded-Encrypted: i=1; AJvYcCXMSSpSUg7ud3KjUOoNQkjEgdfvf8G4S9dJZGAtUF6hUw+8gGCnjXHUW/uCBAPp2oJcxx8/8jfoBcE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxoTw+0SWTD3KCsVR1li2D89xML3Eu163rNxg8OnbjEMbS+PDwS
	UEEF1nyrwlindeUARXQ5bHzfP9sVXd83HVllmQHyHCeXlihhGgfEdPx7iH9GfQ==
X-Gm-Gg: ASbGncsjSqpZtw25IOF1tuPmVQ9UOHnbkvP4+mH4Cpx2WYqsiUggHKeRfvPbMia4zKp
	09Yg+OB/BS5Tqdb4IBbKPKOyYscL45h4kFTIjKEEPSGsOz0YKoN778YcMJT/ir6smsHaDuxMixr
	rc/ld9rt4vCsrA7a/aFe0Fir/frNQ3LsGFlB2gbd/BUKOYFMhThgxHesKvtauzIv5dkmSUD+4+1
	mqfeg/YtEbjc2WyV52e3whnVtyplhqWMFB5y7OeZ3wdq68iyTHEQG1bUmyGX1q2LJl5V8HG8Mmm
	Iw7AhSVKgFRohHX9FhTBDUSfM/uKMmefaRopbnE0zz2mkf56DKlMkIwyWq8KRMDKtkT6dDkyvHA
	5sgik2S4af/ahBbr3aitToLFmpGPN9w==
X-Google-Smtp-Source: AGHT+IGBd/4I63LudYWNctqE6+C1FwHqPmogyOr+gqOWZMR3InUvUUZST+zz1dwoOl2S4MeBU5sqkA==
X-Received: by 2002:a05:600c:3505:b0:43c:efae:a73 with SMTP id 5b1f17b1804b1-43d1ec72abemr18062755e9.10.1741937175339;
        Fri, 14 Mar 2025 00:26:15 -0700 (PDT)
Message-ID: <385a98d5-0b08-45e0-90b7-bcc3a18f921a@suse.com>
Date: Fri, 14 Mar 2025 08:26:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] symbols: centralize and re-arrange $(all_symbols)
 calculation
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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <d0521cf8-dc85-4b31-9850-2bb94c560fc5@suse.com>
 <17c27c8a-7314-4e89-9c21-f1a807867428@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: <17c27c8a-7314-4e89-9c21-f1a807867428@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 18:02, Andrew Cooper wrote:
> On 13/03/2025 1:55 pm, Jan Beulich wrote:
>> For one there's no need for each architecture to have the same logic.
>> Move to the root Makefile, also to calculate just once.
>>
>> And then re-arrange to permit FAST_SYMBOL_LOOKUP to be independent of
>> LIVEPATCH, which may be useful in (at least) debugging.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Likely syms-warn-dup-y wants to follow suit; it doesn't even have an Arm
>> counterpart right now.
> 
> Recently, I thought the same about --orphan-handling={warn,error} too.Â 
> We need to up it to error, and enforce it consistently.
> 
> There's actually a lot of $(TARGET)-syms which ought to be less
> copy&paste.

Indeed. Iirc like me I think you indicated you'd like to also break up
those multi-step rules, to properly work through dependencies instead.

>Â  I'll submit my cleanup so far, which doesn't interact here
> I don't think, but is also incomplete.
> 
>> --- a/xen/Makefile
>> +++ b/xen/Makefile
>> @@ -460,6 +460,10 @@ ALL_OBJS-$(CONFIG_CRYPTO) += crypto/buil
>>  
>>  ALL_LIBS-y                := lib/lib.a
>>  
>> +all-symbols-y :=
>> +all-symbols-$(CONFIG_LIVEPATCH) += --all-symbols
>> +all-symbols-$(CONFIG_FAST_SYMBOL_LOOKUP) += --sort-by-name
>> +
> 
> I presume this works, so it's after we've processed Kconfig, but is
> there really nowhere better for it to live?

What do you mean by "better"? If we're to (slowly) centralize the
linking, this is where all of that would move. xen/Makefile is processed
just once (twice if .config changed), and ...

> If we're moving others, this is going to turn into a lot, and it's
> specific to one final stage.

... applicable in exactly that one case. Or are you suggesting to
introduce a new helper makefile where just the linking settings and
(eventually) logic live? That would be a bigger piece of work, which I'm
afraid I'm not up to right now.

For now it seemed quite natural to place all-symbols next to ALL_OBJS
and ALL_LIBS.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 07:42:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 07:42:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913827.1319688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tszgQ-0006gE-DK; Fri, 14 Mar 2025 07:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913827.1319688; Fri, 14 Mar 2025 07: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 1tszgQ-0006g7-AC; Fri, 14 Mar 2025 07:42:18 +0000
Received: by outflank-mailman (input) for mailman id 913827;
 Fri, 14 Mar 2025 07:42: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tszgO-0006g1-SR
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 07:42:16 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7b71f9c-00a7-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 08:42:12 +0100 (CET)
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 9535921182;
 Fri, 14 Mar 2025 07:42:13 +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 3AAAC13A31;
 Fri, 14 Mar 2025 07:42:13 +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 5l9nCtXd02dzLgAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 14 Mar 2025 07:42: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: d7b71f9c-00a7-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741938133; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=TClEyv02XpEAwhEOqDszqbu9ZSL8+U6zRVHlxoWbse0=;
	b=Xxcy6WpBpWHsocdSZyL6XHZ9Bclo3cwg+OkuCYAzSsgVUAlO8qvhmMeXc3+XEiehscA7r8
	m2k/os0r5Insscx6Jt4u6zOdrN5DIbCKYhR9DXHcqOyGundnc4sV763Hoy7yje19Zggr6L
	/OEbz2hIzHjLkr6Oq348qnQJYgFxXyE=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741938133; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=TClEyv02XpEAwhEOqDszqbu9ZSL8+U6zRVHlxoWbse0=;
	b=Xxcy6WpBpWHsocdSZyL6XHZ9Bclo3cwg+OkuCYAzSsgVUAlO8qvhmMeXc3+XEiehscA7r8
	m2k/os0r5Insscx6Jt4u6zOdrN5DIbCKYhR9DXHcqOyGundnc4sV763Hoy7yje19Zggr6L
	/OEbz2hIzHjLkr6Oq348qnQJYgFxXyE=
Message-ID: <062d2162-473c-4f88-b799-877c46403812@suse.com>
Date: Fri, 14 Mar 2025 08:42:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenfs/xensyms: respect hypervisor's "next" indication
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <15d5e7fa-ec5d-422f-9319-d28bed916349@suse.com>
Content-Language: en-US
From: Juergen Gross <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: <15d5e7fa-ec5d-422f-9319-d28bed916349@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------kHR0oiEt0ETMq208Hh8Swl0p"
X-Spam-Level: 
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.987];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.996];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	TO_DN_EQ_ADDR_SOME(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Score: -5.19
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------kHR0oiEt0ETMq208Hh8Swl0p
Content-Type: multipart/mixed; boundary="------------GIQyhfotZbgrODYXN2SWQ8VU";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Message-ID: <062d2162-473c-4f88-b799-877c46403812@suse.com>
Subject: Re: [PATCH] xenfs/xensyms: respect hypervisor's "next" indication
References: <15d5e7fa-ec5d-422f-9319-d28bed916349@suse.com>
In-Reply-To: <15d5e7fa-ec5d-422f-9319-d28bed916349@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=

--------------GIQyhfotZbgrODYXN2SWQ8VU
Content-Type: multipart/mixed; boundary="------------IKQ0FgDdjFCbi1cRILeQgG9D"

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

T24gMTIuMDMuMjUgMTY6MzIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBUaGUgaW50ZXJmYWNl
IHNwZWNpZmllcyB0aGUgc3ltbnVtIGZpZWxkIGFzIGFuIGlucHV0IGFuZCBvdXRwdXQ7IHRo
ZQ0KPiBoeXBlcnZpc29yIHNldHMgaXQgdG8gdGhlIG5leHQgc2VxdWVudGlhbCBzeW1ib2wn
cyBpbmRleC4geGVuc3ltc19uZXh0KCkNCj4gaW5jcmVtZW50aW5nIHRoZSBwb3NpdGlvbiBl
eHBsaWNpdGx5IChhbmQgeGVuc3ltc19uZXh0X3N5bSgpDQo+IGRlY3JlbWVudGluZyBpdCB0
byAicmV3aW5kIikgaXMgb25seSBjb3JyZWN0IGFzIGxvbmcgYXMgdGhlIHNlcXVlbmNlIG9m
DQo+IHN5bWJvbCBpbmRleGVzIGlzIG5vbi1zcGFyc2UuIFVzZSB0aGUgaHlwZXJ2aXNvci1z
dXBwbGllZCB2YWx1ZSBpbnN0ZWFkDQo+IHRvIHVwZGF0ZSB0aGUgcG9zaXRpb24gaW4geGVu
c3ltc19uZXh0KCksIGFuZCB1c2UgdGhlIHNhdmVkIGluY29taW5nDQo+IGluZGV4IGluIHhl
bnN5bXNfbmV4dF9zeW0oKS4NCj4gDQo+IEZpeGVzOiBhMTFmNGYwYTRlMTggKCJ4ZW46IHhl
bnN5bXMgc3VwcG9ydCIpDQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNl
LmNvbT4NCg0KPiAtLS0NCj4gTm90IHN1cmUgaWYgdGhpcyBpcyB0byBiZSBjb25zaWRlcmVk
IHN0YWJsZSAoYmFja3BvcnQpIG1hdGVyaWFsLg0KDQpJIHRoaW5rIGl0IHNob3VsZCBiZSBh
ZGRlZCB0byBzdGFibGUga2VybmVscy4gV2lsbCBhZGQgc3RhYmxlQGtlcm5lbC5vcmcNCnRv
IENjOg0KDQoNCkp1ZXJnZW4NCg==
--------------IKQ0FgDdjFCbi1cRILeQgG9D
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-----

--------------IKQ0FgDdjFCbi1cRILeQgG9D--

--------------GIQyhfotZbgrODYXN2SWQ8VU--

--------------kHR0oiEt0ETMq208Hh8Swl0p
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/Ey8FAmfT3dQFAwAAAAAACgkQsN6d1ii/Ey+T
xQf/aTiaDjwtB1m/efFFsc8mcK3naTzNa53Mj0mQ1pbDn7NHOeV254w20R/7inFXoJ8xBLhtOWVP
vrEHuHt9ES6+Hq5wNzQIQ7+lePdMGH8oypTibBTnMKAsZ7Nx3TF+t/tpRli8YpRRUuzk9JrtsYmU
6k+W08Bw/ag/P371aTy6IlonA2gxAwkR78Ez/o5gvnV+IU0tN115sSU69LlPoNZmLCJ5PbqGjFWt
pkburK6XOlCuEEiy+KOyDUbHQ3alHl/TYcdhS8HB9wwTa25vqM7J49ZfnhXZM+bSkoH5bQIIi7XO
AeShAfojuLz6+062NgD9o3JT+klEz3Ge2XeXEaUTcQ==
=mFCe
-----END PGP SIGNATURE-----

--------------kHR0oiEt0ETMq208Hh8Swl0p--


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 07:43:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 07:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913839.1319698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tszhm-0007G7-Qz; Fri, 14 Mar 2025 07:43:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913839.1319698; Fri, 14 Mar 2025 07:43: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 1tszhm-0007G0-OG; Fri, 14 Mar 2025 07:43:42 +0000
Received: by outflank-mailman (input) for mailman id 913839;
 Fri, 14 Mar 2025 07:43: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tszhl-0007Fu-HQ
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 07:43:41 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0be20ad4-00a8-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 08:43:40 +0100 (CET)
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 D2E5121182;
 Fri, 14 Mar 2025 07:43:39 +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 825ED13A31;
 Fri, 14 Mar 2025 07:43:39 +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 PSUyHive02f9LgAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 14 Mar 2025 07:43: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: 0be20ad4-00a8-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741938220; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=QfaJfR5fam5Ll5KEH6V95SRm+HQ09xtyXajwCt5xxxs=;
	b=CNqzMX0qw9PO/xdBHTPlorE3oeucUgl0NISLqgE/400PsX9/o8ITwNnP+tHmgWjq89RlPg
	J9ziu+0l6Fjq3qq1XtfjQPBVWbwldYxCbUrIumJ0OxwnBkTn56r0AngvbDLSNY+1w0Ra8i
	dIlHLg5FxoOtBHGiOA69ef+R6CMrF0w=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=jhWq9Cs7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741938219; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=QfaJfR5fam5Ll5KEH6V95SRm+HQ09xtyXajwCt5xxxs=;
	b=jhWq9Cs7tbn0I/5vdMphpNHxpIoF6hRcypbKUjRNnUwcVbWmSgz2TnwYUyqbdJsjwpe2H+
	K6CcHIS1/uAYgNj2u731V9O+2l5KB5GxhQ6HaHsmbnzMpSUBp3RXTrQhp5YSyINGnF4ZCv
	HU9zoEVhvk04qpNW/GsPgg9ZWNbtulw=
Message-ID: <9528bca2-0670-447a-93ea-4e492660bbb7@suse.com>
Date: Fri, 14 Mar 2025 08:43:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: Add support for XenServer 6.1 platform device
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-pci@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Bjorn Helgaas <bhelgaas@google.com>
References: <20250225140400.23992-1-frediano.ziglio@cloud.com>
 <20250227145016.25350-1-frediano.ziglio@cloud.com>
 <a14c6897-075c-4b2c-8906-75eb96d5c430@citrix.com>
 <Z8GuItUuhbF1UZ9V@macbook.local>
 <CACHz=ZjurD-dvVOnOCJv4q02UV4iy78J5hJ8rMh1UPAZBbfaXQ@mail.gmail.com>
Content-Language: en-US
From: Juergen Gross <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: <CACHz=ZjurD-dvVOnOCJv4q02UV4iy78J5hJ8rMh1UPAZBbfaXQ@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CR80lQXlTp6UuD4PrR3RnmrS"
X-Rspamd-Queue-Id: D2E5121182
X-Spam-Score: -5.41
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-5.41 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	ARC_NA(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	HAS_ATTACHMENT(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[9];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	TO_DN_SOME(0.00)[]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CR80lQXlTp6UuD4PrR3RnmrS
Content-Type: multipart/mixed; boundary="------------03RXS1WCgBm02Y9usbx0gtz0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-pci@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Bjorn Helgaas <bhelgaas@google.com>
Message-ID: <9528bca2-0670-447a-93ea-4e492660bbb7@suse.com>
Subject: Re: [PATCH v2] xen: Add support for XenServer 6.1 platform device
References: <20250225140400.23992-1-frediano.ziglio@cloud.com>
 <20250227145016.25350-1-frediano.ziglio@cloud.com>
 <a14c6897-075c-4b2c-8906-75eb96d5c430@citrix.com>
 <Z8GuItUuhbF1UZ9V@macbook.local>
 <CACHz=ZjurD-dvVOnOCJv4q02UV4iy78J5hJ8rMh1UPAZBbfaXQ@mail.gmail.com>
In-Reply-To: <CACHz=ZjurD-dvVOnOCJv4q02UV4iy78J5hJ8rMh1UPAZBbfaXQ@mail.gmail.com>

--------------03RXS1WCgBm02Y9usbx0gtz0
Content-Type: multipart/mixed; boundary="------------0JYqVD0aJwIZ30I2iar3lrWT"

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

T24gMDcuMDMuMjUgMTI6MTQsIEZyZWRpYW5vIFppZ2xpbyB3cm90ZToNCj4gSGksDQo+ICAg
ICBhZnRlciBhbGwgZGlzY3Vzc2lvbnMgb24gdGhpcyB0aHJlYWQgYW5kIFhlbi1kZXZlbCwg
Y2FuIHdlIGFncmVlDQo+IHRoYXQgdGhpcyBwYXRjaCBpcyBnb29kIGFzIGl0IGlzIGFuZCBj
YW4gYmUgbWVyZ2VkIHVwc3RyZWFtPw0KPiBKdXN0IHRvIG1ha2UgaXQgY2xlYXIsIGl0IHdh
cyBhbHJlYWR5IGFja2VkLg0KDQpXaWxsIGFkZCBpdCBmb3IgNi4xNS4NCg0KDQpKdWVyZ2Vu
DQo=
--------------0JYqVD0aJwIZ30I2iar3lrWT
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-----

--------------0JYqVD0aJwIZ30I2iar3lrWT--

--------------03RXS1WCgBm02Y9usbx0gtz0--

--------------CR80lQXlTp6UuD4PrR3RnmrS
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/Ey8FAmfT3ioFAwAAAAAACgkQsN6d1ii/Ey/6
pAf9H4xKth5rfgvu8CaAjCgdye7npnzjjNz6VP9FjPf3IdRWYQyEa9yo/YCrs1SjbJIxuZW2JVli
3zdXnOMUdkBdw3wVtxVFiPzzxX7JOZlIb9Bbpj+zIfCJTX7iGpreYFIMMQgBhVuvy7LvDeIxv4NC
OUMRw5kmwj4ue4YVu0XqpbBheE4qQSNQFgA81ZuAXHyV0wDehk+T7XNTr58htJz/TA6h5UGnHnTG
Ya9qy7GX6k7uOvjQfL4JT1ZQLAgn8SlxbiR3iJBufHqmXiJQAxPdEgPkRwYGOQRyVhSvJd+5FmK4
jorQQ6UmiriXh36yhrZem92QIww8PQeTKOCOSFE4UQ==
=xUy7
-----END PGP SIGNATURE-----

--------------CR80lQXlTp6UuD4PrR3RnmrS--


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 07:45:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 07:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913849.1319708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tszjY-0007pI-4z; Fri, 14 Mar 2025 07:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913849.1319708; Fri, 14 Mar 2025 07:45: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 1tszjY-0007pB-2T; Fri, 14 Mar 2025 07:45:32 +0000
Received: by outflank-mailman (input) for mailman id 913849;
 Fri, 14 Mar 2025 07:45: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tszjW-0007on-Ok
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 07:45:30 +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 4d22254d-00a8-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 08:45:29 +0100 (CET)
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 7091421184;
 Fri, 14 Mar 2025 07:45:29 +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 3E2CE13A31;
 Fri, 14 Mar 2025 07:45:29 +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 W6hTDJne02eYLwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 14 Mar 2025 07:45: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: 4d22254d-00a8-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741938329; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=2He6U1T3rx01SlC4U068AwRELpGzmBrbp6AF8j0ikQU=;
	b=Mlic8t4NlhWaCCxQ4cL9MxZSb4cw0vxNE6RAHoVkl+T+ZD32GirdQJjpvoqfYZWr5xXjZP
	PJ9q8O1dbH7Oish8hGCspK0U0gzX4POJ/22yYm8EsxwiRKrXDt/rMGGLuERJ/5HmL7f06O
	+aEei8XQXTEwxo/8XwDa13SMkVkcR7I=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741938329; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=2He6U1T3rx01SlC4U068AwRELpGzmBrbp6AF8j0ikQU=;
	b=Mlic8t4NlhWaCCxQ4cL9MxZSb4cw0vxNE6RAHoVkl+T+ZD32GirdQJjpvoqfYZWr5xXjZP
	PJ9q8O1dbH7Oish8hGCspK0U0gzX4POJ/22yYm8EsxwiRKrXDt/rMGGLuERJ/5HmL7f06O
	+aEei8XQXTEwxo/8XwDa13SMkVkcR7I=
Message-ID: <cf579113-538d-4104-96cc-df6b3919e618@suse.com>
Date: Fri, 14 Mar 2025 08:45:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/pciback: Remove unused pcistub_get_pci_dev
To: linux@treblig.org, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250307004736.291229-1-linux@treblig.org>
Content-Language: en-US
From: Juergen Gross <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: <20250307004736.291229-1-linux@treblig.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ix365KrzVuZWdMjLvhE6CMac"
X-Spam-Level: 
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.989];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.996];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	MID_RHS_MATCH_FROM(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCPT_COUNT_FIVE(0.00)[5];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_NONE(0.00)[];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Score: -5.19
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ix365KrzVuZWdMjLvhE6CMac
Content-Type: multipart/mixed; boundary="------------GipTESq8HJbUyOR7EHkbaoNP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: linux@treblig.org, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <cf579113-538d-4104-96cc-df6b3919e618@suse.com>
Subject: Re: [PATCH] xen/pciback: Remove unused pcistub_get_pci_dev
References: <20250307004736.291229-1-linux@treblig.org>
In-Reply-To: <20250307004736.291229-1-linux@treblig.org>

--------------GipTESq8HJbUyOR7EHkbaoNP
Content-Type: multipart/mixed; boundary="------------Yrz9RgzTLwG3B9vyTaAel2Iw"

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

T24gMDcuMDMuMjUgMDE6NDcsIGxpbnV4QHRyZWJsaWcub3JnIHdyb3RlOg0KPiBGcm9tOiAi
RHIuIERhdmlkIEFsYW4gR2lsYmVydCIgPGxpbnV4QHRyZWJsaWcub3JnPg0KPiANCj4gcGNp
c3R1Yl9nZXRfcGNpX2RldigpIHdhcyBhZGRlZCBpbiAyMDA5IGFzIHBhcnQgb2Y6DQo+IGNv
bW1pdCAzMGVkYzE0YmYzOWEgKCJ4ZW4vcGNpYmFjazogeGVuIHBjaSBiYWNrZW5kIGRyaXZl
ci4iKQ0KPiANCj4gUmVtb3ZlIGl0Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogRHIuIERhdmlk
IEFsYW4gR2lsYmVydCA8bGludXhAdHJlYmxpZy5vcmc+DQoNClJldmlld2VkLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------Yrz9RgzTLwG3B9vyTaAel2Iw
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-----

--------------Yrz9RgzTLwG3B9vyTaAel2Iw--

--------------GipTESq8HJbUyOR7EHkbaoNP--

--------------ix365KrzVuZWdMjLvhE6CMac
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/Ey8FAmfT3pgFAwAAAAAACgkQsN6d1ii/Ey90
XAgAhP8i9hk4NALIilJPCP8Kf2UqEg7F6D1ngyIv0BJosfaoh9v73ffK+7v/h/dLPPJd1wlwFNnl
PqSNhvXfrBTF7QEXfoSRm/ZLuiK9styF3/pwHEgpRoIWfZJfYfOJG1JhNxRFbqpPiErAAWcIosq/
UX8wBOkhdRaVwFF2+jLoL4CFfIX/RR1z623f3a/bBvpA7qp9H6mt/2Hvh3gfuEVmyrTWwmKwcEhs
yV66SGdN8b8Duw0XJ1N9e8ijTvSVkWFDhgIshQoYUjlbQnUD+pn6c0+wD6bbdzF7culZIjhvxyAY
7aYawAhbbIlYK7xNaYJ28qIRjSbxyfHZMLKkFS4cnQ==
=g6z6
-----END PGP SIGNATURE-----

--------------ix365KrzVuZWdMjLvhE6CMac--


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 07:53:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 07:53:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913858.1319719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tszqc-0002Lz-Rx; Fri, 14 Mar 2025 07:52:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913858.1319719; Fri, 14 Mar 2025 07:52: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 1tszqc-0002Ls-PJ; Fri, 14 Mar 2025 07:52:50 +0000
Received: by outflank-mailman (input) for mailman id 913858;
 Fri, 14 Mar 2025 07:52: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tszqb-0002Lm-0n
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 07:52:49 +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 51b3697f-00a9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 08:52:47 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso12070325e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 00:52: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
 5b1f17b1804b1-43d1ffb62c1sm8733825e9.4.2025.03.14.00.52.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 00:52: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: 51b3697f-00a9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741938766; x=1742543566; 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=RxFYc2WR46xcU5k0WDMyRk2dWYxjJzpH3Nfh6b3bdrY=;
        b=InAKknFVWwjB2qvazotMAXgPRGYgNSVxcx2NBMhZLKCjvk5GjoAHqtS4kEFAN9Kk9J
         I6Yx3jPbiII9gxHyvIGGpNveT5mIkXWAJ6bSWQQ3saeIG+OiqbYqKHqtlGbZE46HtSS7
         x7bbcEi2sDXcTWAMsw7EpdgHsf58KRxHxFNismOGDvrg5QJ228mtQghACMu3v1KcQQuF
         PkAfSRLu2KNJjXtfkSrZpPeYPTL5Cfn04UVKkFsepUGz4vbGKpXhcRa6sOoZjbcczYTd
         Ao3179/YYKtiWtPDpm1sX4fOIlOMiuTiKJ4TB86aMgwuKOY6dGsqGSJuJE/dMY/5LK+d
         dgAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741938766; x=1742543566;
        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=RxFYc2WR46xcU5k0WDMyRk2dWYxjJzpH3Nfh6b3bdrY=;
        b=lSndF/RzrBvSX6GcnME3AAZrW2trThzu2krKCFN0VWvIXjgRO3G+UkU+nadKXZuM3n
         DAWaWGMkIuKpazo+NCayTj1N5MFoKBIfE25XD+O3JJs8/0kr9E2738puaCPzUaoS4rhC
         /l/kvedIEkTuNSf22sNgT/l11wEYXXB5WDp0pMMMYamjKC/wHi5qh/aZV9oxq7mwoCmu
         7OvWFqltQJp8GvKxaILsSKWlxeH9BXQLMh74pf7EzfihUMdKaaQdmn5p+hB3T17aXTRl
         g/5OuFtPPUsKOcNBPfcOS0KCPpQ6IpCqUnWGaWXmxv8+ctA6eBSDmZsifo+x0c0FKENu
         oxZw==
X-Forwarded-Encrypted: i=1; AJvYcCXxwCum/K+RMPXDquCfSuMw7bykI2yISJA4RncbnjmuJarz5QwucLrkLuyMwSgY5ErYfMua5hyG7Pc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNVu/b+hs09cHU1fUPHnoQ2i57zfcUvXeBTNBTRctoPGSpcght
	BI5FjNSnUNrvmO1hKH0W9KrPx6vR09lzh5QMymeLyiijEEF+kq3hAg8JSRerfQ==
X-Gm-Gg: ASbGncv/5/41N5wNFnfYQwFSnUeidfOj7Y39QhQV79lWKWQFc3OXIkPh8XSD2QoeYGE
	5vLw5GVy14eI4gEtgghUrwOgpNz3fMu0A5dEqCTZvF3dchbFRb0O1AdHqqprnBBN84g/+nf0oOB
	H9pL+yMhNnwJkGxIHpBONuu2OcniSogIWtVM1VcnuHMY+mW+OPHBKAnLpgb50+AyZsbCyc7ZW7V
	wc2eKWozB0NLjpeC5M3dVAWxUTHMWuVfVXzqDLXWoyNL73M1zpJtGU+e2g44Vk49VFBpOkRd9G8
	gQGEUcThcS9FI76koEkH0TVp3TvczsF1ctYAimkWFD9FlqQ6zQ5Q63p2aOoABKCwbpJOiPCa/q6
	WUdop9PrQWm9i4a9h5D8uu+Vbt+0r4Q==
X-Google-Smtp-Source: AGHT+IEItZYugDlkpSgcHePfOYVm99OewHlQa6xaDxYnFs6yBFq0YyUSYIyh0txIv59mpVPW3wHNpA==
X-Received: by 2002:a05:600c:3ba6:b0:43c:eea9:f45d with SMTP id 5b1f17b1804b1-43d1eccbba1mr18824835e9.18.1741938766317;
        Fri, 14 Mar 2025 00:52:46 -0700 (PDT)
Message-ID: <5d090922-4d3e-4b9c-9d0f-e6b2ab310f18@suse.com>
Date: Fri, 14 Mar 2025 08:52:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] symbols: arrange to know where functions end
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <58b3d7dc-5966-432c-8def-e841feaee1c8@suse.com>
 <51f2cd39-e92f-4745-8053-e51ada22d601@suse.com>
 <aace0fab-ce3f-4b9f-87c7-2daafd8442ba@citrix.com>
 <9bf90547-43de-416e-b064-b54c0e79fc93@suse.com>
 <ea40ec3a-2f6d-42b5-8e98-ab5f4db5d4b4@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: <ea40ec3a-2f6d-42b5-8e98-ab5f4db5d4b4@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 18:13, Andrew Cooper wrote:
> On 13/03/2025 4:48 pm, Jan Beulich wrote:
>> On 13.03.2025 17:39, Andrew Cooper wrote:
>>> On 13/03/2025 1:54 pm, Jan Beulich wrote:
>>>> When determining the symbol for a given address (e.g. for the %pS
>>>> logging format specifier), so far the size of a symbol (function) was
>>>> assumed to be everything until the next symbol. There may be gaps
>>>> though, which would better be recognizable in output (often suggesting
>>>> something odd is going on).
>>> Do you have an example %pS for this new case?
>> I haven't encountered one yet, and I wasn't particularly trying to
>> make up one.
>>
>>>> Insert "fake" end symbols in the address table, accompanied by zero-
>>>> length type/name entries (to keep lookup reasonably close to how it
>>>> was).
>>>>
>>>> Note however that this, with present GNU binutils, won't work for
>>>> xen.efi: The linker loses function sizes (they're not part of a normal
>>>> symbol table entry), and hence nm has no way of reporting them.
>>> By "present GNU binutils", does this mean that you've got a fix in mind
>>> (or in progress), or that it's an open problem to be solved?
>> The latter; I can't even tell yet whether this is legitimate to be
>> arranged for in a PE executable's symbol table.
> 
> In which case, I'd suggest using the phrase "open problem" to make it
> clear that there's no fix.

I'd like to leave it as is; right here it's not overly important what
state the binutils side is. Furthermore, by the time this goes in the
binutils side may have changed state already (e.g. from "open problem" to
"fix in progress").

>>>> Older GNU ld retains section symbols, which nm then also lists. Should
>>>> we perhaps strip those as we read in nm's output? They don't provide any
>>>> useful extra information, as our linker scripts add section start
>>>> symbols anyway. (For the purposes here, luckily such section symbols are
>>>> at least emitted without size.)
>>> Will symbols_lookup() ever produce these?Â  If not, it might be better to
>>> ignore the problem.
>>>
>>> Taking extra logic to work around a benign issue in older toolchains
>>> isn't necessarily ideal.
>> Afaict it's unpredictable from Xen's pov. All depends on the order of
>> entries after we sorted the table by address. The only criteria the
>> tool's compare_value() applies for multiple symbols at the same address
>> is to prefer global over local. As long as the first symbol in a section
>> is global, we wouldn't see section symbols as lookup result.
> 
> Hmm, thinking about it, the global-ness does cause problems.
> 
> e.g. we get _stextentry()+x rather than restore_all_guest()+x, and RAG
> is more likely than some to show up in a backtrace.
> 
> So maybe we should strip section symbols, even the explicit linker ones,
> from the symbol table.

So one thing we could do is to prefer FUNC/OBJECT symbols over NOTYPE
ones, and only use global-ness as a last resort criteria.

But "prefer" != "strip" in any event.

Stripping section symbols is reasonably easy for ELF, as rather than
being NOTYPE they have no type at all. Stripping section start symbols,
otoh, can only be done by name, and hence we'd need to maintain a list
of them in the symbols tool. Not overly nice, but doable of course.

An intrusive - to the symbol table - alternative may be to simply strip
all NOTYPE symbols. Yet that would take as a prereq marking quite a few
more as FUNC or OBJECT.

>Â  I can't offhand think of a case where we want to
> look up a symbol by address and get back a section name.

We also need to keep in mind the opposite (lookup by name) for livepatch.
I for one have no idea how (un)likely it might be for there to be a need
to lookup a section symbol (then we'd be in trouble with newer binutils)
or a section start symbol.

> (Feel free to leave this as a todo.Â  I wasn't intending to scope creep
> like this, but it would be a nice to have.)

If we can agree on what behavior we want, I can see about adding further
patches to the series.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 07:59:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 07:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913874.1319728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tszwf-00030n-JB; Fri, 14 Mar 2025 07:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913874.1319728; Fri, 14 Mar 2025 07:59: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 1tszwf-00030g-GS; Fri, 14 Mar 2025 07:59:05 +0000
Received: by outflank-mailman (input) for mailman id 913874;
 Fri, 14 Mar 2025 07:59: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=FaPW=WB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tszwe-00030a-0C
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 07:59:04 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20604.outbound.protection.outlook.com
 [2a01:111:f403:2415::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b350188-00aa-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 08:58:52 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by SA5PPFF1E6547B5.namprd12.prod.outlook.com
 (2603:10b6:80f:fc04::8ea) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 07:58:51 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.027; Fri, 14 Mar 2025
 07:58: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: 2b350188-00aa-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LPeBYvaYC4gtd3DmE8ntBQeLx8N0yofa/Q9duf5Esr/2PO7HbMcPVu/5RkI2XZbaqyneWNczqqIDl2O7A4EGpCviiAkFP1NvvIvRLO6unOraSmm6Lye93MGMN2K0f3cdJ08jzKwsqUbdVRz2nUUdToVJKu/22JyT9zzG3prkbadljetSF9spCf31UgnLcL2DCDHjRwdDJdCsWwqSDF0kd6rMnaPz1KG9q1PL2P6Hqd6V+s583eGsG4B3Koz1LO1i/Vz9/0RKjs8U04ZZk+8jhjpaZ1Mb7DluBe5egi5bCR73a5ssnjEYstEHqOp6GXG95KEKSo4XgBuRoIuqDWI48g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3rmif6ypuYJZDsO6gxk+Z1wSAoebwzqCNmlTkLE0sIE=;
 b=xHyzhndxzo8TSSOV8QX7Ju8dcip5IGgsDhOk9q6NgueG91CA/QbOnoCy0KeqqPxTwQ5cC94kDQPI3U7HLS9fVfeXn3ybN6vJW8p8MtNnW99D0RWnWYsc3FW8AFtwtVWCilEhG6zqGbajoJVm+XaVrM8k+XjQ44i0g+T+0kho/8IqJEfK6a5Wdl7vfzj5Upy4gt+uDRH4UtYAXBlrR9UNvsFpxxLkgyf74Efa+dyxbtpC3FOvR2Ox8X3flRC40zDlEct1mUieoH4FMAMSll50GVmWNdLlPg7j4XaR5SIW6ulxtiVlSyIqXJG8jwEfi4dcOSqL2od5eUaCoqVQTz4+Cw==
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=3rmif6ypuYJZDsO6gxk+Z1wSAoebwzqCNmlTkLE0sIE=;
 b=su2O+GTIgl1vv5pw2vFPc7CzgE3tU8LxtBL/oo7mTwYdZwp8S8Qj4lKy4GBf8rWLql+QglpH+xBPLQ/+3Eq0C2bHKEHbjA6mTFwIRa5k5/Jbf1XCPBqUezWM+0vCxKEbZSg3f8gr0BRSWo0nP3JXOfNjPoU2QuzSBKenmmsIyNU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <17d30bf5-90bc-408b-b39f-c1d41c73e68e@amd.com>
Date: Fri, 14 Mar 2025 08:58:45 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 09/10] xen/arm: introduce Kconfig HAS_PAGING_MEMPOOL
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-10-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-10-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0019.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::6) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SA5PPFF1E6547B5:EE_
X-MS-Office365-Filtering-Correlation-Id: e13c2c9b-a6d9-4431-17b7-08dd62ce0ecd
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?NVBmZUsvQnc5RjhWWiswb3BXeWxmYmJ0Ly84Z2phclFLbk5KTTZOWmNmMk0v?=
 =?utf-8?B?TFgrNWJWcmgzc0xkdndvZ1NqdVg0dGJVaWs2WGZVeFdwMUVOcGoyT2QvaUQ2?=
 =?utf-8?B?Q3JvMnNDd1Y2VmRjOW1BL2o1UERESXAyY1FsTndFYlRLT0xGTjdDOWdZT2N2?=
 =?utf-8?B?SkF5SUJGdlBJZHZ0QkhqSnVCamVJNGxWaVZOcVVEaUlKK2VVNjVlbHpyVm9q?=
 =?utf-8?B?WmhNK0VwSWdwUisvbUFrc2NwZlgyTHlGdkZXNS9WaFV3L1laMVBIU1BJQVZK?=
 =?utf-8?B?YVp1TFp3RlpjRVhIVFhUSndkWlBycTJaM2luZXhINVdjRSs3Sit0RlJ6VFhX?=
 =?utf-8?B?R2ZuVlZmeWJESktWZldUc2VvNlNUZE0zd1RwUi9DZUlnVHdmM3p1dDN3N0Vq?=
 =?utf-8?B?bGI0K3dyQmlVNEcvYjY1dWhlT3VnenBOdXBWRWkxaFIrNDNheEpsakM1MW40?=
 =?utf-8?B?dmszRGNTa1Bhamp4Qis1YzRqYkpBRk14QjljZ1NQNjFLZ3owcDZYRHAzTlp3?=
 =?utf-8?B?aEZoYWJHWU5uOW1sVG5JcVJJM3FyS0dJT2xyVjlzMmFtRWRsR3JkN0s3UkVY?=
 =?utf-8?B?QitHRFZ3bFJJdjBIK2hGK2FrZ2UvZ3dDc3lqZDBVQSttdU9iVS9WdXJwanlX?=
 =?utf-8?B?aFpBcEVjTy9GNnJoRm8xcXNXME1tY0JFODR2RGxwNHhUZHZYOElYbjF3VmI4?=
 =?utf-8?B?QXBvaVVDWm4xajNhN1JBaitROW5NV0E0OCt3TTJncGVwalluSEJQb28zTkZ1?=
 =?utf-8?B?TnVXL3VhTUN0OGN4RHY0UWN4QUw2TmxOaWI5MS9RQmJNT3lWcVYxZHZITE9u?=
 =?utf-8?B?RFRSQ2JqNnh6MURUTVJWd0hoQ2Vtd2JXOEIrVkc1UE9tSUtjM3hySEdXNlhs?=
 =?utf-8?B?UHlSRHNGTGZ4eC85ZWE3a29yeU1ack83OFlQS005azRuakh2L2J0aDF1T0tu?=
 =?utf-8?B?Z2xZcWJWUThIYzlMK2RMeEJTbWlKaEZhMDU5M3pnditXdlpNOHlTV2Zob2dZ?=
 =?utf-8?B?dlhvU1poSWZKa1NObXI4UnRKZ2VIWjNEb280MnZBS2VDbXVlUUdocUJCMEdm?=
 =?utf-8?B?cmNJLytqR2pUK29tT1poNFBnUGkraloveEd4aHdyb056RnFDaVNwR1JZZTc2?=
 =?utf-8?B?Szl5Q24vNTRrT2lyS2dWYit5dUN1c01SeVhmcUFoUDlYbFhWRmJQdnRGcVhN?=
 =?utf-8?B?RVg3MUFJbFk5Mmxld0hRNmV6RVhmZFZ0TnZIMjdCYjhPeG5zb3BYbjdwejg0?=
 =?utf-8?B?ZzZOTWJFWTQxT3J5WSs0YndIN2E1ZW5teWlWY1poaS9qdy9WRlhPUk5OaGkr?=
 =?utf-8?B?WDREYXZsZnJpN2ZGNXdTbXBGeDJJRHFLM0FlL1dGMU16ejdTV2hnWml6SFdL?=
 =?utf-8?B?OXQyYXFOOElkZ29JaTIzeDRpM1hHb1V5YTFYeEFVY1NEZ2FQTkdzVEVsZlFS?=
 =?utf-8?B?VmpZcGZjU3VyTk5WRHNJSmlKb3J5blNtQWpkYmtKMUFZWFkwcisyVFVrMkpw?=
 =?utf-8?B?V05JMXAxTUd5bjlkUHhMSEpxalNlWmE5djFNZHMyd09BWHd6TXVTSUVJaVdJ?=
 =?utf-8?B?NjY0OS84QkhjKzRkaGtpQnlrTXNhbkx4emlUMStheU9IUEhDMTBwaFJBUjBL?=
 =?utf-8?B?Rm1INlpCQzZFNXZZMzVTTG9MNGwva1QzT3BndkV4UkxQUVJBOW9MWENZaHlS?=
 =?utf-8?B?Q053eEgvb3hYTzZsOW1zbFJXU0ZvOTRUUDJpdEduZm5rbWZrUG8rQnpnZVJT?=
 =?utf-8?B?WU0rQkk1ZnI0ZnZHV21Nb1BHUlI2M1NEc0xvZFB2Q3JTNE14OTlQVWk1eGpv?=
 =?utf-8?B?RDM4VzBCSjMwZ2pjS1VEbEpOVlBYUnIwd09PcVZuTkdMdkZVSlIxZ1czZHNR?=
 =?utf-8?Q?Wqd0P30lzkArr?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?UnVJWjZBR0tIamZyQXhsSTM1RVhBbzkydm9FRjRtN1JUNEs4RXhEUVpZdFJp?=
 =?utf-8?B?K0RZRWF4ZjlXMFpxWEdCdzVBaGtlajhwRUNHemk4R0ZUMGlFTDhxR2xlVjVW?=
 =?utf-8?B?eU4wODBxZS9NRlhKWjdHNkZBRFdySzYxc3pQU1ZkZUozVUdhWGxaNEJQMkZY?=
 =?utf-8?B?VEhWSVVmMUQ1SUJNU3E5bi8yU2srZmpNdmsyak5DbU9OdWc4bWhzSUdSOXVz?=
 =?utf-8?B?eUZDbGdZa3JnY0JBcTU2UFlIdGcxdCtib2tUYVVkOEN6U1RteUVwNkRUdzRF?=
 =?utf-8?B?RWxLS2Y1eUpyUmFRclJRNGNlWmRQSWtNWVF5aXRCdVg1VnQ3SkhwZHk1OE9m?=
 =?utf-8?B?UmtTdDR5TjE0cFh1M0MrTy9pYU5vN0xYdGJOdzRaRU82OEREZTlKYTdtejVz?=
 =?utf-8?B?cWJNVXBGNE5pQW9IM1FKSzduT0xjSlNzZXIwSkNrQ2IycGFtVjBqMGJrdkRx?=
 =?utf-8?B?aWplUTBXUVc2MDU4RFNIRnZvK1RlWndDUnpWNmpIOXlYOXhaWitJUkQxaFBx?=
 =?utf-8?B?emlEYldyTUlmMzFhcitRWS8vRE5aL0RHdlIzTWRJK2VBaEE5UDN1RnhTZmF4?=
 =?utf-8?B?eDhyWVhFK045WE50U3JZRFp6REdCZDdQSGgwbHZza1NrUlAzcWFRN1VSTWwx?=
 =?utf-8?B?dXcwMFNKRFZFMEorMmROZWovMS9CbjNFK0RxdFpYaDdkeVZMaUdxNVRXaEwz?=
 =?utf-8?B?QXk3U2hEUFFpb2M1YXpNd1Zqc2F2V25zQjRpNGZPeEYwT29WbE5FQ1Q5MEpN?=
 =?utf-8?B?OXhKMzlPOWVocHU1U1B0ZmliUmRLTXFDSHltMzgzeE9KVm1uNHBYMjlrZ01i?=
 =?utf-8?B?NHVmbHhOTEs2WEs0Y3EwQkxIMDRPdHlCRHZ2Q1piWlJvSkhnV0MwcUF5SmpU?=
 =?utf-8?B?THd6NUR0QmZTbTlkc1VXbng2NUs0QXhTcTJObm5kVXpHU0pWYjhyQURBZXpu?=
 =?utf-8?B?VEJoMW9sZUxLTVRrb2ttVkJ1aDhRcVdlbm9QbXBzNlphOE9wMFNldjNDSExH?=
 =?utf-8?B?ZDZpZmhHTnorNTd3ZnFwZGZ3bDNCRXJUZ0ZSS29WM2VYd2dEN1lOVndudExz?=
 =?utf-8?B?VnNGVWJUZXlMS0lpK0dkcmpnS0dJOEtRSTZLYzVkVzZoMStReVIyQ2hvelNa?=
 =?utf-8?B?TFl2djVvQzZoT2RaQjZkSE9LT0NyT2wwUm1vSHh2K2lPdmFVenRMWWpEZnF4?=
 =?utf-8?B?cjJyL1BmT2EwRlB1WktlK28yK1AwQ1Z3V1pYdmFFU2c4NzJ2K1JhamNwN211?=
 =?utf-8?B?R2N2b295TGNuckZPY1k5RlhRTUtmZFBYV2VyT0hHaDVFUmxvWUxkY1Ewdlc5?=
 =?utf-8?B?UVcrUlA0bytDd1RZMEUwQVlINW5SQjhkUDl2OU0rcU9nTUljOEZDbGR4MTZ0?=
 =?utf-8?B?NTR6WDROMXpwU3gzNDlXRlBBUkxPb2xDdlp4bmdQYXFLc3RDZlV4WmlWRFdE?=
 =?utf-8?B?UldHa3hMZjVtMm1OSzZmeWFhRy9ZaXVXa0JGNlNDTnU1a2lRMDNUakF0bzJi?=
 =?utf-8?B?dnFtOWxFTWhmQ0JKM2dlOTdIbDdobnhsSFI0ZlNkaUNYU05DeXAyUU4yRDdF?=
 =?utf-8?B?bTVHQzgralJLOHFRUytjbG5PSEpwb0dKangwU2RxeWduZXVpdmN5WHM3QjJk?=
 =?utf-8?B?Q1BiV1F3T1JqbWhma0U2cXpkTk1IcW1kMWdQWWlnVjZDY3J0NWFncU0wRnBl?=
 =?utf-8?B?V3l6Sk1LazZkTTJySlM5cW90aENzSUpBc2NsSDl6TVUwMzFUTUVlVFlGM2Zz?=
 =?utf-8?B?WUl6QjZUbHpyQWRpRFlTbzg5RWw4MUhwMm9QSUJab09NdGkzeEJoRDhKOWt4?=
 =?utf-8?B?K3BHOWJ0UHFyMkZxQ1MxRkllZGZvOGYvMUhYMjRvZWloNzFMSi9TdTUzMFRB?=
 =?utf-8?B?NlYyR09NWGZiWWEzUmg3UUxqbGcraGpQTi9Ka05LZlY1UVhTc1QzcXFmeVB0?=
 =?utf-8?B?MGZsemc4a20rdllaek9va2xWK3NtcUJkL3ZDS2E1RzBiWjVobmczajQ0YWNS?=
 =?utf-8?B?R3pvTy9vbzQrdmx1WmF4Wld0K3FBME5GdXZ2TDRRa2JYVVdhaVV3TnJNVk9r?=
 =?utf-8?B?Z3RyK054M1FZd1RHZ1h1blhlaVNNQmJYOVRNSW1VY0FpbHZiZmlpN3VteVNN?=
 =?utf-8?Q?TH92oPTJ5OAikFp0tViZvKyfD?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e13c2c9b-a6d9-4431-17b7-08dd62ce0ecd
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2025 07:58:50.9559
 (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: v1P9SS3dTWtRgQFoJ1NHGLwwnqQeVs5c50SbhVyzariK/zTNpdvdTSdOTqcVmp9L
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPFF1E6547B5



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> ARM MPU system doesn't need to use paging memory pool, as MPU memory
> mapping table at most takes only one 4KB page, which is enough to
NIT: I always wonder what "mapping" means in MPU world. Is this common to use
this word even though there's no mapping being done? I'd expect to see e.g.
protection table or similar.

> manage the maximum 255 MPU memory regions, for all EL2 stage 1
> translation and EL1 stage 2 translation.
> 
> Introduce HAS_PAGING_MEMPOOL Kconfig symbol for Arm, selected for MMU
> systems.
I don't think this should be Arm symbol. After all, we have common helpers like
arch_get_paging_mempool_size(), so I'd naturally expect this symbol to be in the
common Kconfig.

> 
> Wrap code accessing the 'struct paging_domain' paging member with
> the new Kconfig, introduce arch_{get,set}_paging_mempool_size
> implementation for MPU system, provide stubs for p2m_teardown and
> p2m_teardown_allocation because they will not be used for MPU systems,
> remove 'struct paging_domain' from Arm 'struct arch_domain' when the
> field is not required.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  xen/arch/arm/Kconfig              |  4 ++++
>  xen/arch/arm/dom0less-build.c     |  2 ++
>  xen/arch/arm/include/asm/domain.h |  2 ++
>  xen/arch/arm/mpu/Makefile         |  1 +
>  xen/arch/arm/mpu/p2m.c            | 36 +++++++++++++++++++++++++++++++
>  5 files changed, 45 insertions(+)
>  create mode 100644 xen/arch/arm/mpu/p2m.c
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 5ac6ec0212d2..89c099ff464b 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -76,6 +76,7 @@ choice
>  config MMU
>         bool "MMU"
>         select HAS_LLC_COLORING if !NUMA && ARM_64
> +       select HAS_PAGING_MEMPOOL
>         select HAS_PMAP
>         select HAS_VMAP
>         select HAS_PASSTHROUGH
> @@ -158,6 +159,9 @@ config VGICV2
>  config HVM
>          def_bool y
> 
> +config HAS_PAGING_MEMPOOL
> +       bool
See above

> +
>  config NEW_VGIC
>         bool "Use new VGIC implementation"
>         select GICV2
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 31f31c38da3f..feaba576198b 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -865,11 +865,13 @@ static int __init construct_domU(struct domain *d,
>                  p2m_mem_mb << (20 - PAGE_SHIFT) :
>                  domain_p2m_pages(mem, d->max_vcpus);
> 
> +#ifdef CONFIG_HAS_PAGING_MEMPOOL
>      spin_lock(&d->arch.paging.lock);
>      rc = p2m_set_allocation(d, p2m_pages, NULL);
>      spin_unlock(&d->arch.paging.lock);
>      if ( rc != 0 )
>          return rc;
> +#endif
That's does not look right. If we don't have P2M pool for MPU domains, then
xen,domain-p2m-mem-mb dom0less parameter does not make sense as well as its
handling above that you did not protect.

> 
>      printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
>             d->max_vcpus, mem);
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index 50b6a4b00982..fadec7d8fa9e 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -75,7 +75,9 @@ struct arch_domain
> 
>      struct hvm_domain hvm;
> 
> +#ifdef CONFIG_HAS_PAGING_MEMPOOL
>      struct paging_domain paging;
> +#endif
> 
>      struct vmmio vmmio;
> 
> diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
> index 04df0b2ee760..f1417cd1b9db 100644
> --- a/xen/arch/arm/mpu/Makefile
> +++ b/xen/arch/arm/mpu/Makefile
> @@ -1,2 +1,3 @@
>  obj-y += mm.o
> +obj-y += p2m.o
>  obj-y += setup.init.o
> diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
> new file mode 100644
> index 000000000000..7525d9b00bcb
> --- /dev/null
> +++ b/xen/arch/arm/mpu/p2m.c
> @@ -0,0 +1,36 @@
> +
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/domain.h>
> +#include <asm/p2m.h>
Why do we need to include p2m.h at this stage?

> +
> +/* Not used on MPU system */
> +int p2m_teardown(struct domain *d)
> +{
> +    return 0;
> +}
> +
> +/* Not used on MPU system */
> +int p2m_teardown_allocation(struct domain *d)
> +{
> +    return 0;
> +}
What's the reason for adding e.g. p2m_teardown() but not p2m_final_teardown() in
this patch? I initially thought that in the next patch other functions will be
added that require implementation in the future (i.e. stubs) but then I saw
relinquish_p2m_mapping() which returns 0 same as these 2 functions.

> +
> +int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
> +int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.34.1
> 

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:05:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913887.1319738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt02N-0006dC-7Z; Fri, 14 Mar 2025 08:04:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913887.1319738; Fri, 14 Mar 2025 08:04: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 1tt02N-0006d5-4r; Fri, 14 Mar 2025 08:04:59 +0000
Received: by outflank-mailman (input) for mailman id 913887;
 Fri, 14 Mar 2025 08:04: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt02L-0006cz-OZ
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:04:57 +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 04a5d35e-00ab-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:04:56 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so1073949f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:04: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-395c7df413esm4655981f8f.20.2025.03.14.01.04.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 01:04: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: 04a5d35e-00ab-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741939496; x=1742544296; 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=INYQTWrjJ0JckLejatxi8JK3cDGPUBzR74YDyrZfyhQ=;
        b=aIgVtyusa4/0yhSJs4+DBYcU1I8E0kNEqe59tV8w66pnjCjvfQEUin557AVd0P1FRN
         +91/yDbXSYkTd+zrL1vKZdrz3I42J//LXAE4ubQrKouIVXQWq7fLGD4uBxWWDhzBcvJV
         aqVTPT9R/EWglAOl15QCkVK6QTc6BfZCEp3Ros5C+5k8AgpwTJfVENdbXGZgfNeOWMh/
         AZ1CcLpQqHIhfMYWFczUKULD8LN1yMnEkRD76kF3WdfyYh+ChdcPAeN8/sIR8gycrMcy
         gWQXhX9PVi+RgLLPHhjdbjMJdVA/bC0Lk+FsNUmlyLTBn8TrNMrlPlvhgQ+wgOq7pmDQ
         y0Kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741939496; x=1742544296;
        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=INYQTWrjJ0JckLejatxi8JK3cDGPUBzR74YDyrZfyhQ=;
        b=nMbvdEo+rJuQJKfTD+iIMwaHe4Lx4xCNqHZptC5eS8pSJMgvR7VpKQwW8rX+myo7Y3
         BiQdZ2EM+4kxEKE6kJ70jL6qEbVQpKPzr/7Qy30iTwAr+ox0pkxBgqj9YM52r6+tUEl9
         He718sn0Ug6y8J7v0r1crb2iYEVWxUiedGlQ29+wOtmZKLUg1SQXBkh7pQ8cT3yYx9Xj
         ob3LPUd3GUGl4JTXPEI3fQDJJX1gzP/fNgScnXIPNPHzEavZ8Ab0koUG9ntT9yznCNDP
         U8ia86Wxt/9aLH2iD6o8NHkhJnckRPva9ZTRcOpdNpbh7u/4MuIeIdhKUWR6QKPa8Npk
         IDcA==
X-Gm-Message-State: AOJu0Yw/31jCHPwJ9i8Hy+2IaFnOSTb/7o6/3RsGea5lmmfk+kcYpBI6
	ExvrgkFxw2szvStbvOk0ymaXZbr3jgpW+5XEOYovcpxsevX4VdfoGRqSEClc8g==
X-Gm-Gg: ASbGncuKTQFmruZfUvCWUBpVO3lsMvPts2DzMUeYZNAuV3unDdzG1Z6viBCynWtgJ2I
	2e9JCItnTbG+Uc+X7JoTXjpiHdn20d0ronn/ftmy66S7eBPqTXp158ACLbDtxsssUZAv0IQdxK9
	ZFCGmjtPV5qYG2R6NOZgU0iwGfybf6uq+7sH0B0pO62Bw0LqglCoVktBv6ZBaLNX2X11ivLVZ+j
	LD8vWN7xBC9RrE9HXziYLh+j2v43Z5p2WPBSDnG5sqoFjJ0R6+0WmfaHIkk9HjcDYvliisUIvix
	/yqmj5Qkl8uDwbiWupc78JQgLEA/K5xRSJYku83i2h4KjQNbvR5nOkOHURsD1zM6T6tdfjoO52n
	CRzKM0yyqe21T8Q9e1SVrSFqeWSXxPw==
X-Google-Smtp-Source: AGHT+IEwjUGAbMdpvSfiE9eIYFDYIKEXUlxSzTPm5R1WHd+ZIMbs3NoQQcfsBNKlhIfknRGztefYoQ==
X-Received: by 2002:a05:6000:154d:b0:390:e655:f998 with SMTP id ffacd0b85a97d-3971ded3330mr1636691f8f.26.1741939496115;
        Fri, 14 Mar 2025 01:04:56 -0700 (PDT)
Message-ID: <9e619631-a7f7-4f69-aff8-13202d61b79a@suse.com>
Date: Fri, 14 Mar 2025 09:04:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <Z9MaZVMtI86eAmDJ@macbook.local>
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: <Z9MaZVMtI86eAmDJ@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 18:48, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 12, 2025 at 03:50:17PM -0400, Stewart Hildebrand wrote:
>> @@ -585,10 +601,31 @@ static void cf_check bar_write(
>>      {
>>          /* If the value written is the current one avoid printing a warning. */
>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>> +        {
>>              gprintk(XENLOG_WARNING,
>> -                    "%pp: ignored BAR %zu write while mapped\n",
>> +                    "%pp: allowing BAR %zu write while mapped\n",
>>                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> 
> If Xen now handles BARs writes with memory decoding enabled the
> message can be removed.  It's only purpose was to signal this missing
> handling.
> 
>> -        return;
>> +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
>> +            ASSERT(spin_is_locked(&pdev->vpci->lock));
>> +            reenable = true;
>> +            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
>> +            /*
>> +             * Write-while-mapped: unmap the old BAR in p2m. We want this to
>> +             * finish right away since the deferral machinery only supports
>> +             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
>> +             * be better to defer the write-while-mapped case just like regular
>> +             * BAR writes (but still only allow it for 32-bit BAR writes).
>> +             */
>> +            /* Disable memory decoding */
>> +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
> 
> I think if the guest explicitly avoids toggling memory decoding Xen
> should also to the same, and not touch the bit.

For Dom0 I'm inclined to agree, but for DomU-s it may be unsafe to do so.
(You may have meant it like this, but you said "guest".)

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:07:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913898.1319749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt05C-0007Aq-KN; Fri, 14 Mar 2025 08:07:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913898.1319749; Fri, 14 Mar 2025 08:07: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 1tt05C-0007Aj-Hp; Fri, 14 Mar 2025 08:07:54 +0000
Received: by outflank-mailman (input) for mailman id 913898;
 Fri, 14 Mar 2025 08:07: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=RvUE=WB=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1tt05A-0007Ab-Vd
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:07:53 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b3f7fb2-00ab-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:07:48 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-30761be8fcfso20024241fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:07: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: 6b3f7fb2-00ab-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741939670; x=1742544470; 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=nxB2jQ0iobqW9o2GQiAA6p4u5EblEGkxSjLg68A8DtA=;
        b=BejE+cK2scLbut3UMshAe0U9DD8kpW4mZ7anDqjHz4z7lcrqHd0eNPYQflOX/OKHFD
         H9rmUaj2sZ0e+hymPonbgewGRnASMU50Gj2p2o4NjG4J63J5Uw+ivGl4m3gjEwuxn6p3
         sdHKoDtUXaO/y/Sr+e/FhmfVbxCIIeqv/YDrLYWIqZclBYU0qPrzZyOvCZjWJXRGjedu
         /Oy3LQb8B3AMA/0TXwqn1JaFNjVlteO5xRO/ZzaDsVrDYKg75ZCB8+tOf4ge1DPL4jLe
         M2JDOrf4hPa0FEhJg0RWkssepvYYtW2dlNOjiP4Rhy7irDAt10lQ16cnTlxYU8hQHVo+
         6ZBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741939670; x=1742544470;
        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=nxB2jQ0iobqW9o2GQiAA6p4u5EblEGkxSjLg68A8DtA=;
        b=fUaMcVx9Uu+32R7fonA2ZsZehVReSdFyTsx8htJ5Wags2GhNdY689g00CmUOKzy91/
         CnXk8Cq1OvUNqi6dqXeVttp6sIrkRNqVuAJvlMlNfK+8eZvNae2NUkw3P2ipst/FJqeG
         NrBEM0Z3bhtngS5vZBCs6vgRICLu1zqlAYMx/G3SYTLJbpDzraj+E6B+V1maNRx9J1hz
         H1yzPfVJaEbBgIHRX86odxLHniINaNQt83CHlDoxyzqSSkAQDUXhRMGnvZ36uSjm0FxG
         br5LmzBuX26/4bhMUe21QViyUo548pfiY9vLXpx/mc3bq05GRKI1v3nvdiUXPv7UH4w0
         O2nQ==
X-Gm-Message-State: AOJu0Yyt8VLLpbBg5DqkoXjYWtFjbLX+F5LuvDsMC5oIltUEOJGPEMPg
	f2UVCQgz0zpKusb1NefEMfdcMWaAsLiGtbopTl8sGxbiNTAkqWkWCB2ktWiQF+IntO5ATmXo9q8
	Z4wv/qQjVMSNonMZl1CS8qAtwIh/1et8fZwo=
X-Gm-Gg: ASbGncv/z2ys389NJEcbygbvCxSh+mt2zT4JALbPkuMTYaM02Gcpu6dR342Al5zKRGP
	JQKy3QJxHM9br7de0P79f/m1ruTFHWgD4uS3RigD4ciUjkBMlrVYZACrn5hq2SLVjbXK5jw72J4
	Us0zL4IMjgCSHWxUNqK3QWW6ti
X-Google-Smtp-Source: AGHT+IHwTrWfIRL4WXwCA8C24QiGJojOi5IAhOclf4XH1TjENNqXMcKSm46Eu9ZNFdpb2yPnoC36pR3fILD4jb0tZDI=
X-Received: by 2002:a05:6512:3ba4:b0:544:ca1:da41 with SMTP id
 2adb3069b0e04-549c39897ddmr530824e87.44.1741939669617; Fri, 14 Mar 2025
 01:07:49 -0700 (PDT)
MIME-Version: 1.0
References: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
 <f308cbf6-0d2d-4843-982a-a59ea70c7ad1@amd.com>
In-Reply-To: <f308cbf6-0d2d-4843-982a-a59ea70c7ad1@amd.com>
From: Andriy Sultanov <sultanovandriy@gmail.com>
Date: Fri, 14 Mar 2025 08:07:38 +0000
X-Gm-Features: AQ5f1Jp8G4p9uwx3B_UE3eEJUhRhWpvfL-3G2DS0NpUU8voJl2jM4L-DCg0uXUI
Message-ID: <CAHPYgaXc8X5tBYN6BL2w2PVSNLwaTPP=zWhATBbjYRN-2dmE-g@mail.gmail.com>
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, 13 Mar 2025 at 19:59, Jason Andryuk <jason.andryuk@amd.com> wrote:
>
> On 2025-03-13 14:57, Andrii Sultanov wrote:
> > Following on from 250d87dc, struct amd_iommu has its seg and bdf fields
> > backwards with relation to pci_sbdf_t. Swap them around, and simplify the
> > expressions regenerating an sbdf_t from seg+bdf.
> >
> > Simplify ioapic_sbdf and bpet_sbdf along the way. Adjust functions
> > taking seg and bdf fields of these structs to take pci_sbdf_t instead.
> > Simplify comparisons similarly.
>
> It's rather large.  Can this be sensibly split into smaller patches?

Will do.

> > diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
> > index 00e81b4b2a..6903b1bc5d 100644
> > --- a/xen/drivers/passthrough/amd/iommu.h
> > +++ b/xen/drivers/passthrough/amd/iommu.h
> > @@ -77,8 +77,14 @@ struct amd_iommu {
> >       struct list_head list;
> >       spinlock_t lock; /* protect iommu */
> >
> > -    u16 seg;
> > -    u16 bdf;
> > +    union {
> > +        struct {
> > +            uint16_t bdf;
> > +            uint16_t seg;
>
> Are these still needed by the end of this patch?

Yes - otherwise the patch would be larger as bdf and seg would be one
namespace deeper - /iommu->seg/iommu->sbdf.seg/

> > +        };
> > +        pci_sbdf_t sbdf;
> > +    };
> > +
> >       struct msi_desc msi;
> >
> >       u16 cap_offset;
>
> > diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
> > index 5bdbfb5ba8..57efb7ddda 100644
> > --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> > +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> > @@ -107,12 +107,12 @@ static void __init add_ivrs_mapping_entry(
>
> > @@ -239,17 +239,17 @@ static int __init register_range_for_device(
> >       unsigned int bdf, paddr_t base, paddr_t limit,
> >       bool iw, bool ir, bool exclusion)
> >   {
> > -    int seg = 0; /* XXX */
> > -    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> > +    pci_sbdf_t sbdf = { .seg = 0, .bdf = bdf };
>
> Maybe retain the /* XXX */ to highlight that segment is hardcoded to 0.

Will do

> > +    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
> >       struct amd_iommu *iommu;
> >       u16 req;
> >       int rc = 0;
> >
> > -    iommu = find_iommu_for_device(seg, bdf);
> > +    iommu = find_iommu_for_device(sbdf);
> >       if ( !iommu )
> >       {
> >           AMD_IOMMU_WARN("IVMD: no IOMMU for device %pp - ignoring constrain\n",
> > -                       &PCI_SBDF(seg, bdf));
> > +                       &(sbdf));
>
> Please drop () for just &sbdf.

Will do here and below.

> >           return 0;
> >       }
> >       req = ivrs_mappings[bdf].dte_requestor_id;
> > @@ -263,9 +263,9 @@ static int __init register_range_for_device(
> >           paddr_t length = limit + PAGE_SIZE - base;
> >
> >           /* reserve unity-mapped page entries for device */
> > -        rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir,
> > +        rc = reserve_unity_map_for_device(sbdf.seg, bdf, base, length, iw, ir,
>
> Another candidate for conversion?

This function is always used with seg and bdf coming from two different places,
and it doesn't convert them to pci_sbdf_t internally, so this is
unnecessary and would
only increase code size.*

* This particular example would be neutral:
add/remove: 0/0 grow/shrink: 3/3 up/down: 51/-51 (0)
Function                                     old     new   delta
parse_ivmd_block                            1271    1296     +25
register_range_for_device                    281     299     +18
__mon_lengths                               2928    2936      +8
build_info                                   752     744      -8
parse_ivrs_table                            3966    3953     -13
reserve_unity_map_for_device                 453     423     -30

But would still increase the diff.

> >                                             false) ?:
> > -             reserve_unity_map_for_device(seg, req, base, length, iw, ir,
> > +             reserve_unity_map_for_device(sbdf.seg, req, base, length, iw, ir,
> >                                             false);
> >       }
> >       else
>
> > @@ -916,8 +916,8 @@ static int __init parse_ivhd_block(const struct acpi_ivrs_hardware *ivhd_block)
> >                       ivhd_block->pci_segment_group, ivhd_block->info,
> >                       ivhd_block->iommu_attr);
> >
> > -    iommu = find_iommu_from_bdf_cap(ivhd_block->pci_segment_group,
> > -                                    ivhd_block->header.device_id,
> > +    iommu = find_iommu_from_bdf_cap(PCI_SBDF(ivhd_block->pci_segment_group,
> > +                                    ivhd_block->header.device_id),
>
> Please indent to match the end of "PCI_SBDF(".

Will do.

> >                                       ivhd_block->capability_offset);
> >       if ( !iommu )
> >       {
> > diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
> > index 83c525b84f..dc3d2394a1 100644
> > --- a/xen/drivers/passthrough/amd/iommu_cmd.c
> > +++ b/xen/drivers/passthrough/amd/iommu_cmd.c
> > @@ -85,7 +85,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
> >               threshold |= threshold << 1;
> >               printk(XENLOG_WARNING
> >                      "AMD IOMMU %pp: %scompletion wait taking too long\n",
> > -                   &PCI_SBDF(iommu->seg, iommu->bdf),
> > +                   &(iommu->sbdf),
>
> Please drop ().
>
> >                      timeout_base ? "iotlb " : "");
> >               timeout = 0;
> >           }
> > @@ -95,7 +95,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
> >       if ( !timeout )
> >           printk(XENLOG_WARNING
> >                  "AMD IOMMU %pp: %scompletion wait took %lums\n",
> > -               &PCI_SBDF(iommu->seg, iommu->bdf),
> > +               &(iommu->sbdf),
>
> Please drop ().
>
> >                  timeout_base ? "iotlb " : "",
> >                  (NOW() - start) / 10000000);
> >   }
>
> > diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passthrough/amd/iommu_detect.c
> > index cede44e651..7d60389500 100644
> > --- a/xen/drivers/passthrough/amd/iommu_detect.c
> > +++ b/xen/drivers/passthrough/amd/iommu_detect.c
> > @@ -231,7 +231,7 @@ int __init amd_iommu_detect_one_acpi(
> >       rt = pci_ro_device(iommu->seg, bus, PCI_DEVFN(dev, func));
> >       if ( rt )
> >           printk(XENLOG_ERR "Could not mark config space of %pp read-only (%d)\n",
> > -               &PCI_SBDF(iommu->seg, iommu->bdf), rt);
> > +               &(iommu->sbdf), rt);
>
> Please drop ().
>
> >
> >       list_add_tail(&iommu->list, &amd_iommu_head);
> >       rt = 0;
> > diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
> > index bb25b55c85..e2c205a857 100644
> > --- a/xen/drivers/passthrough/amd/iommu_init.c
> > +++ b/xen/drivers/passthrough/amd/iommu_init.c
>
> > @@ -752,12 +750,11 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
> >       }
> >
> >       pcidevs_lock();
> > -    iommu->msi.dev = pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf));
> > +    iommu->msi.dev = pci_get_pdev(NULL, iommu->sbdf);
> >       pcidevs_unlock();
> >       if ( !iommu->msi.dev )
> >       {
> > -        AMD_IOMMU_WARN("no pdev for %pp\n",
> > -                       &PCI_SBDF(iommu->seg, iommu->bdf));
> > +        AMD_IOMMU_WARN("no pdev for %pp\n", &(iommu->sbdf));
>
> Please drop ().
>
> >           return 0;
> >       }
> >
>
>
> > @@ -1543,14 +1540,14 @@ static void invalidate_all_domain_pages(void)
> >   static int cf_check _invalidate_all_devices(
> >       u16 seg, struct ivrs_mappings *ivrs_mappings)
> >   {
> > -    unsigned int bdf;
> > +    pci_sbdf_t sbdf = { .seg = seg, .bdf = 0 };
>
> .bdf = 0 isn't necessary as it will be set to 0 by default.
> >       u16 req_id;
> >       struct amd_iommu *iommu;
> >
> > -    for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
> > +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; sbdf.bdf++ )
>
> I'd either set it or just drop the comment.

Will drop _invalidate_all_devices hunk entirely, as suggested by
Andrew in the sibling reply.

> >       {
> > -        iommu = find_iommu_for_device(seg, bdf);
> > -        req_id = ivrs_mappings[bdf].dte_requestor_id;
> > +        iommu = find_iommu_for_device(sbdf);
> > +        req_id = ivrs_mappings[sbdf.bdf].dte_requestor_id;
> >           if ( iommu )
> >           {
> >               /*
> > diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
> > index 9abdc38053..0c91125ec0 100644
> > --- a/xen/drivers/passthrough/amd/iommu_intr.c
> > +++ b/xen/drivers/passthrough/amd/iommu_intr.c
>
> > diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
> > index dde393645a..17070904fa 100644
> > --- a/xen/drivers/passthrough/amd/iommu_map.c
> > +++ b/xen/drivers/passthrough/amd/iommu_map.c
> > @@ -694,17 +694,16 @@ int amd_iommu_reserve_domain_unity_unmap(struct domain *d,
> >   int cf_check amd_iommu_get_reserved_device_memory(
> >       iommu_grdm_t *func, void *ctxt)
> >   {
> > -    unsigned int seg = 0 /* XXX */, bdf;
> > -    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> > +    pci_sbdf_t sbdf = {0};
>
> Just " = {};"
>
> > +    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
> >       /* At least for global entries, avoid reporting them multiple times. */
> >       enum { pending, processing, done } global = pending;
> >
> > -    for ( bdf = 0; bdf < ivrs_bdf_entries; ++bdf )
> > +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; ++sbdf.bdf )
>
> Like earlier, change to code or remove comment.
>
> >       {
> > -        pci_sbdf_t sbdf = PCI_SBDF(seg, bdf);
> > -        const struct ivrs_unity_map *um = ivrs_mappings[bdf].unity_map;
> > -        unsigned int req = ivrs_mappings[bdf].dte_requestor_id;
> > -        const struct amd_iommu *iommu = ivrs_mappings[bdf].iommu;
> > +        const struct ivrs_unity_map *um = ivrs_mappings[sbdf.bdf].unity_map;
> > +        unsigned int req = ivrs_mappings[sbdf.bdf].dte_requestor_id;
> > +        const struct amd_iommu *iommu = ivrs_mappings[sbdf.bdf].iommu;
> >           int rc;
> >
> >           if ( !iommu )

Will drop the entire amd_iommu_get_reserved_device_memory hunk
as suggested by Andrew.

> > diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> > index d00697edb3..16bab0f948 100644
> > --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> > +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> > @@ -32,35 +32,35 @@ static bool __read_mostly init_done;
> >
> >   static const struct iommu_init_ops _iommu_init_ops;
> >
> > -struct amd_iommu *find_iommu_for_device(int seg, int bdf)
> > +struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf)
> >   {
> > -    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> > +    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
>
> Adding:
> unsigned int bdf = sbdf.bdf
>
> here would eliminate all the sbdf.bdf use below.
>
> Thanks,
> Jason
>
> >
> > -    if ( !ivrs_mappings || bdf >= ivrs_bdf_entries )
> > +    if ( !ivrs_mappings || sbdf.bdf >= ivrs_bdf_entries )
> >           return NULL;
> >
> > -    if ( unlikely(!ivrs_mappings[bdf].iommu) && likely(init_done) )
> > +    if ( unlikely(!ivrs_mappings[sbdf.bdf].iommu) && likely(init_done) )
> >       {
> > -        unsigned int bd0 = bdf & ~PCI_FUNC(~0);
> > +        unsigned int bd0 = sbdf.bdf & ~PCI_FUNC(~0);
> >
> > -        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != bdf )
> > +        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != sbdf.bdf )
> >           {
> >               struct ivrs_mappings tmp = ivrs_mappings[bd0];
> >
> >               tmp.iommu = NULL;
> >               if ( tmp.dte_requestor_id == bd0 )
> > -                tmp.dte_requestor_id = bdf;
> > -            ivrs_mappings[bdf] = tmp;
> > +                tmp.dte_requestor_id = sbdf.bdf;
> > +            ivrs_mappings[sbdf.bdf] = tmp;
> >
> >               printk(XENLOG_WARNING "%pp not found in ACPI tables;"
> > -                   " using same IOMMU as function 0\n", &PCI_SBDF(seg, bdf));
> > +                   " using same IOMMU as function 0\n", &sbdf);
> >
> >               /* write iommu field last */
> > -            ivrs_mappings[bdf].iommu = ivrs_mappings[bd0].iommu;
> > +            ivrs_mappings[sbdf.bdf].iommu = ivrs_mappings[bd0].iommu;
> >           }
> >       }
> >
> > -    return ivrs_mappings[bdf].iommu;
> > +    return ivrs_mappings[sbdf.bdf].iommu;
> >   }
> >
> >   /*

Thank you!


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:08:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:08:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913908.1319758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt05t-0007hX-0h; Fri, 14 Mar 2025 08:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913908.1319758; Fri, 14 Mar 2025 08:08: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 1tt05s-0007hQ-UP; Fri, 14 Mar 2025 08:08:36 +0000
Received: by outflank-mailman (input) for mailman id 913908;
 Fri, 14 Mar 2025 08:08: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=RvUE=WB=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1tt05r-0007Rs-SX
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:08:35 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86c8a7fe-00ab-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:08:35 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-30762598511so19000141fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:08: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: 86c8a7fe-00ab-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1741939714; x=1742544514; 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=9hOdmBxnWbTP2n+vUrJK8JjjRCHza3MzVU6kVBwBw88=;
        b=K00SCUXyo8/dHlFOjJLXpKJMs4s2X7dOwu0p0k55xkNhjJsPJtsNXM+SUN4CO3QDgE
         UltqrUJeYzIktF55+c2aEBt2dxOuIJd2rKJBeKZnkz0YdqHnxe4KPvVsbkuWEDjIaQs8
         GiJa2mxnmngbWe+RImo8AYPz7MmVvtYNAWDOqTD9g+9IqsttxkdV4WxX+N4VY9sUomhd
         zR6QQ54c6ww0LaUt51t6Myf7LUh+OzvOk9vvK3yTd2AykMh5ohgF5G3wF5xqGmKjDjdM
         OUu+0p9Vz3l81WURbZgdC/r06DLVhwbS4EHe21nGZp7Yay8a4a3xM/+6tSA6r8aknesC
         CEeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741939714; x=1742544514;
        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=9hOdmBxnWbTP2n+vUrJK8JjjRCHza3MzVU6kVBwBw88=;
        b=LaoWzRgQMYLcwl4v6R5lDPdFy6l+Vds1AqPD+/z4oyw9/IWllZfNKCH+tP2XVxAsQN
         GO1KCdAvGGMM2tXZIkxdBHO00QoTGMJdyE1ErXLa4YuCHm8h/HD2ML9unQdIQMdyRBNb
         Kk8gxoELPuowYLvMBSTeHDXu3X8S/Ru3MiZoQ3BjSIMSWxi78wSWbgtoCfPE64S71jBA
         HfMnv68QJmT2J2k41UEKtojA/WqXmoOi0VBN914Z2iIsX+eFi5tUp6Yf93IyyUTU8YJ6
         vfshf8OcuWlbUiqLro2unvLutxLG+mqes10V2gJ32zn2kB2WS7ZQQdLNOf+lte7bPHm9
         fK1A==
X-Gm-Message-State: AOJu0Ywi8sG9HHaloMNFWwaoSjLCdvR7MbVatMUkt83T+BQON76+KHtp
	ljEMpbWM2zEVTwu0d0ZhIPgTf27Anevrg37XfqG60j66+yCNnmTTttfXjk66dDGEvDIJ93LTxC9
	F99pu9v5tRlrw36Ca5M3Ty562DDR5tsFXL/M=
X-Gm-Gg: ASbGncvPA7KerGXDxmIxcWWKYT3n5R7htj2p9lXNrZmwP9bSPQm9g19Gt9sott2NDKk
	FxvXIHRpxXutZF80Esgq5AMMLomdo/bgEwUK+Kr2at0N4f80WDFANcQN7ZAv90ZkOOTW73t2HVL
	B7iNDXaZHTDkNVM1p6PJnVTmkH
X-Google-Smtp-Source: AGHT+IE2BMWD3U3YNzWcKYsQ3RHOagvVzlnKrhlxq4bdkjCQ3qQzeixw1jWP9NW2ltCbdm08MV3v+8UA1NtuLoyrFTI=
X-Received: by 2002:a2e:bea2:0:b0:30b:9813:b00d with SMTP id
 38308e7fff4ca-30c4a8ca0e8mr5463401fa.23.1741939714071; Fri, 14 Mar 2025
 01:08:34 -0700 (PDT)
MIME-Version: 1.0
References: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
 <bb0090da-c2ac-453e-972d-b06a66c51530@citrix.com>
In-Reply-To: <bb0090da-c2ac-453e-972d-b06a66c51530@citrix.com>
From: Andriy Sultanov <sultanovandriy@gmail.com>
Date: Fri, 14 Mar 2025 08:08:23 +0000
X-Gm-Features: AQ5f1Joub_4NC35hLnwjS2c_Ggto5mbHVaqcywVGMaPyzjr94ZzRH85zLT2kVn0
Message-ID: <CAHPYgaVRgHJLke8p8NBpQ-Wtv4kWVJrbjHABOgMHvCT6MSTJ6g@mail.gmail.com>
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
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>
Content-Type: text/plain; charset="UTF-8"

On Thu, 13 Mar 2025 at 20:16, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>
> On 13/03/2025 6:57 pm, Andrii Sultanov wrote:
> > Following on from 250d87dc, struct amd_iommu has its seg and bdf fields
> > backwards with relation to pci_sbdf_t. Swap them around, and simplify the
> > expressions regenerating an sbdf_t from seg+bdf.
> >
> > Simplify ioapic_sbdf and bpet_sbdf along the way. Adjust functions
> > taking seg and bdf fields of these structs to take pci_sbdf_t instead.
> > Simplify comparisons similarly.
> >
> > Bloat-o-meter reports:
> >
> > ```
> > add/remove: 0/0 grow/shrink: 13/21 up/down: 352/-576 (-224)
> > Function                                     old     new   delta
> > _einittext                                 22028   22220    +192
> > amd_iommu_prepare                            853     897     +44
> > _invalidate_all_devices                      133     154     +21
> > amd_iommu_domain_destroy                      46      63     +17
> > disable_fmt                                12336   12352     +16
> > _acpi_module_name                            416     432     +16
> > amd_iommu_get_reserved_device_memory         521     536     +15
> > parse_ivrs_table                            3955    3966     +11
> > amd_iommu_assign_device                      271     282     +11
> > find_iommu_for_device                        242     246      +4
> > get_intremap_requestor_id                     49      52      +3
> > amd_iommu_free_intremap_table                360     361      +1
> > allocate_domain_resources                     82      83      +1
> > reassign_device                              843     838      -5
> > amd_iommu_remove_device                      352     347      -5
> > amd_iommu_flush_iotlb                        359     354      -5
> > iov_supports_xt                              270     264      -6
> > amd_iommu_setup_domain_device               1478    1472      -6
> > amd_setup_hpet_msi                           232     224      -8
> > amd_iommu_ioapic_update_ire                  572     564      -8
> > _hvm_dpci_msi_eoi                            157     149      -8
> > amd_iommu_msi_enable                          33      20     -13
> > register_range_for_device                    297     281     -16
> > amd_iommu_add_device                         856     839     -17
> > update_intremap_entry_from_msi_msg           879     861     -18
> > amd_iommu_read_ioapic_from_ire               347     323     -24
> > amd_iommu_msi_msg_update_ire                 472     431     -41
> > flush_command_buffer                         460     417     -43
> > set_iommu_interrupt_handler                  421     377     -44
> > amd_iommu_detect_one_acpi                    918     868     -50
> > amd_iommu_get_supported_ivhd_type             86      31     -55
> > iterate_ivrs_mappings                        169     113     -56
> > parse_ivmd_block                            1339    1271     -68
> > enable_iommu                                1745    1665     -80
> > ```
> >
> > Resolves: https://gitlab.com/xen-project/xen/-/issues/198
> >
> > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>
>
> Well, this is awkward.  This is the task I'd put together for Cody to
> try.  I guess I have to find another one.

My apologies! Just noticed it wasn't claimed on Gitlab, probably should
have pinged you first.

> In commit messages, we always want the subject alongside a hash.  I have
> this local alias to help:
>
> > xen.git/xen$ git commit-str 250d87dc
> > commit 250d87dc3ff9 ("x86/msi: Change __msi_set_enable() to take
> > pci_sbdf_t")
> > xen.git/xen$ git help commit-str
> > 'commit-str' is aliased to 'log -1 --abbrev=12 --pretty=format:'commit
> > %h ("%s")''
>
> (The name is not imaginative, and could probably be better.)

Thanks, will amend.

> > @@ -239,17 +239,17 @@ static int __init register_range_for_device(
> >      unsigned int bdf, paddr_t base, paddr_t limit,
> >      bool iw, bool ir, bool exclusion)
> >  {
> > -    int seg = 0; /* XXX */
> > -    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> > +    pci_sbdf_t sbdf = { .seg = 0, .bdf = bdf };
>
> The /* XXX */ wants to stay.  It's highlighting that this code isn't
> muti-segment aware (yet).

Will do.

> > +    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
> >      struct amd_iommu *iommu;
> >      u16 req;
> >      int rc = 0;
> >
> > -    iommu = find_iommu_for_device(seg, bdf);
> > +    iommu = find_iommu_for_device(sbdf);
> >      if ( !iommu )
> >      {
> >          AMD_IOMMU_WARN("IVMD: no IOMMU for device %pp - ignoring constrain\n",
> > -                       &PCI_SBDF(seg, bdf));
> > +                       &(sbdf));
>
> The brackets should be dropped now.  This should be just &sbdf.

Will do

> > @@ -1543,14 +1540,14 @@ static void invalidate_all_domain_pages(void)
> >  static int cf_check _invalidate_all_devices(
> >      u16 seg, struct ivrs_mappings *ivrs_mappings)
> >  {
> > -    unsigned int bdf;
> > +    pci_sbdf_t sbdf = { .seg = seg, .bdf = 0 };
> >      u16 req_id;
> >      struct amd_iommu *iommu;
> >
> > -    for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
> > +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; sbdf.bdf++ )
> >      {
> > -        iommu = find_iommu_for_device(seg, bdf);
> > -        req_id = ivrs_mappings[bdf].dte_requestor_id;
> > +        iommu = find_iommu_for_device(sbdf);
> > +        req_id = ivrs_mappings[sbdf.bdf].dte_requestor_id;
>
> See how bloat-o-meter reports this as the 3rd most increased function.
> This is an example where merging to a pci_sbdf_t local variable is
> making things worse.
>
> Keep the bdf local variable, and use PCI_SBDF() for the call to
> find_iommu_for_device().
>
> The reason is that you're now modifying the low uint16_t half of a
> uint32_t.  This requires emitting 16-bit logic (requires the Operand
> Size Override prefix, contributing to your code size), it also suffers
> register merge penalty

This particular example would be equivalent:
add/remove: 0/0 grow/shrink: 2/2 up/down: 24/-24 (0)
Function                                     old     new   delta
_invalidate_all_devices                      138     154     +16
build_info                                   744     752      +8
__mon_lengths                               2936    2928      -8
iterate_ivrs_mappings                        129     113     -16

Will drop the hunk anyhow to reduce the size of diff. Thanks!


> > diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
> > index 9abdc38053..0c91125ec0 100644
> > --- a/xen/drivers/passthrough/amd/iommu_intr.c
> > +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> > @@ -123,10 +123,10 @@ static spinlock_t* get_intremap_lock(int seg, int req_id)
> >             &shared_intremap_lock);
> >  }
> >
> > -static int get_intremap_requestor_id(int seg, int bdf)
> > +static int get_intremap_requestor_id(pci_sbdf_t sbdf)
> >  {
> > -    ASSERT( bdf < ivrs_bdf_entries );
> > -    return get_ivrs_mappings(seg)[bdf].dte_requestor_id;
> > +    ASSERT( sbdf.bdf < ivrs_bdf_entries );
> > +    return get_ivrs_mappings(sbdf.seg)[sbdf.bdf].dte_requestor_id;
>
> This is also an example where merging the parameter is not necessarily
> wise.  The segment and bdf parts are used differently, so this function
> now has to split the one parameter in two, and shift segment by 16 just
> to use it.

Will do:
add/remove: 0/0 grow/shrink: 4/6 up/down: 32/-64 (-32)

> > @@ -335,20 +336,19 @@ void cf_check amd_iommu_ioapic_update_ire(
> >      new_rte.raw = rte;
> >
> >      /* get device id of ioapic devices */
> > -    bdf = ioapic_sbdf[idx].bdf;
> > -    seg = ioapic_sbdf[idx].seg;
> > -    iommu = find_iommu_for_device(seg, bdf);
> > +    sbdf.sbdf = ioapic_sbdf[idx].sbdf.sbdf;
>
> sbdf = ioapic_sbdf[idx].sbdf;
>
> > +    iommu = find_iommu_for_device(sbdf);
> >      if ( !iommu )
> >      {
> >          AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %04x:%04x\n",
> > -                       seg, bdf);
> > +                       sbdf.seg, sbdf.bdf);
>
> This should be converted to %pp, which has a side effect of correcting
> the rendering of bdf.
>
> > @@ -515,15 +515,15 @@ int cf_check amd_iommu_msi_msg_update_ire(
> >      struct msi_desc *msi_desc, struct msi_msg *msg)
> >  {
> >      struct pci_dev *pdev = msi_desc->dev;
> > -    int bdf, seg, rc;
> > +    pci_sbdf_t sbdf;
> > +    int rc;
> >      struct amd_iommu *iommu;
> >      unsigned int i, nr = 1;
> >      u32 data;
> >
> > -    bdf = pdev ? pdev->sbdf.bdf : hpet_sbdf.bdf;
> > -    seg = pdev ? pdev->seg : hpet_sbdf.seg;
> > +    sbdf.sbdf = pdev ? pdev->sbdf.sbdf : hpet_sbdf.sbdf.sbdf;
>
> This is a better example where
>
> sbdf = pdev ? pdev->sbdf : hpet_sbdf.sbdf;
>
> is equivalent.
>
> > diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
> > index dde393645a..17070904fa 100644
> > --- a/xen/drivers/passthrough/amd/iommu_map.c
> > +++ b/xen/drivers/passthrough/amd/iommu_map.c
> > @@ -694,17 +694,16 @@ int amd_iommu_reserve_domain_unity_unmap(struct domain *d,
> >  int cf_check amd_iommu_get_reserved_device_memory(
> >      iommu_grdm_t *func, void *ctxt)
> >  {
> > -    unsigned int seg = 0 /* XXX */, bdf;
> > -    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
> > +    pci_sbdf_t sbdf = {0};
>
> "= {}" please.
>
> GCC has just introduced a nasty bug (they claim its a feature) where {0}
> on unions now zeros less than it used to do.  pci_sbdf_t doesn't tickle
> this corner case, but we need to be proactive about removing examples of
> "= {0}".

Will amend with all of these.

> > +    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
> >      /* At least for global entries, avoid reporting them multiple times. */
> >      enum { pending, processing, done } global = pending;
> >
> > -    for ( bdf = 0; bdf < ivrs_bdf_entries; ++bdf )
> > +    for ( /* sbdf.bdf = 0 */ ; sbdf.bdf < ivrs_bdf_entries; ++sbdf.bdf )
> >      {
> > -        pci_sbdf_t sbdf = PCI_SBDF(seg, bdf);
> > -        const struct ivrs_unity_map *um = ivrs_mappings[bdf].unity_map;
> > -        unsigned int req = ivrs_mappings[bdf].dte_requestor_id;
> > -        const struct amd_iommu *iommu = ivrs_mappings[bdf].iommu;
> > +        const struct ivrs_unity_map *um = ivrs_mappings[sbdf.bdf].unity_map;
> > +        unsigned int req = ivrs_mappings[sbdf.bdf].dte_requestor_id;
> > +        const struct amd_iommu *iommu = ivrs_mappings[sbdf.bdf].iommu;
>
> Again, this will be better staying as two split variables.

Indeed (on top of the previous similar suggestion):
add/remove: 0/0 grow/shrink: 4/9 up/down: 32/-128 (-96)

> ~Andrew

Thank you!


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:11:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:11:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913921.1319768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt08I-0001b2-D7; Fri, 14 Mar 2025 08:11:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913921.1319768; Fri, 14 Mar 2025 08:11: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 1tt08I-0001av-AB; Fri, 14 Mar 2025 08:11:06 +0000
Received: by outflank-mailman (input) for mailman id 913921;
 Fri, 14 Mar 2025 08:11: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt08G-0001ap-UN
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:11:04 +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 ddc8fade-00ab-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:11:01 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso17014195e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:11: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-43d1fdda208sm9884165e9.6.2025.03.14.01.11.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 01:11: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: ddc8fade-00ab-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741939862; x=1742544662; 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=gQnJxMrTItJAM9neeKO1+D02uWe37tjN9Id/ycVnCPQ=;
        b=AH2dcMo5RH+49zDpF9OB2ig3j6ZO9a83qZmTCPLBepwbEg/vOOSydXV6xnCUs/Wkzs
         egBq7Em71QMHGrdPkuzHRm/Bk69+3z81kWb6jm1OTuZpkvQCXAJzlx99gEnR6VKW2jDS
         mOCLSXb2AbvdDBQqOnP3850koAYOlpvKjmIaAvBeLrhqLrgaiJFCvXXFqa+Edy0ITZJM
         mayPU996q4vWeVLj2EJqDM8VS4xivRuaG26FrxuUrCtRgQVqN2yOCFtvVeroOX2rNunP
         IZ9fpO5Nfsu0Vgq3zgFP46Q1WAOe9D6zwaOCUqf5FBqcyau4wjhqfZRGGw/FVN8fBUt1
         68bg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741939862; x=1742544662;
        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=gQnJxMrTItJAM9neeKO1+D02uWe37tjN9Id/ycVnCPQ=;
        b=UJC8pjjvIZkFSNV0Y+GW1ne6DB+MWp9fC8SqBD23gR7c3rnQY/6b04EVuGrPwp8GjT
         uOX/yYtTJXF8YjJTkfDPiX56qp4usEqZvwxeQVWmuE2aZR/pB2ptkyZa/W0+L5ZFzIDZ
         54tGIn7twOt0i8XKqo+8AjAoZHu0APOBBIK0MI090LhJUG1Xq7CqVLpS6LrbUFrWE8g/
         m3hfzeqIEERIbVRHHuR6uxQyBcbKVGh6TRrINFVovAul4yER2Glit6KkDMhviwLPfyK5
         Ofi7ardjpTdQdcMRuO4rooxkPxumNqwuHrHyWUhyKiESMFirywfFynYXqjIz0DK2FHFn
         pG4g==
X-Forwarded-Encrypted: i=1; AJvYcCXvHC3xT0c0W6ntp6YK2SA98LxDZCwrzo4QxGM/WUATXOkBTdaMSSt6WG9WN4Fgv6R8Tif3BFEv4Bw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQcgVVfERPRAsYi+32zVGI/UrqJsTq9wTBGfKxx29e5YqAIic1
	H4AbQLklBw4h45YJFKllbVrlrFlbmQiiCkUrOPihAswxzRfLoLH+nX6sMrc2mQ==
X-Gm-Gg: ASbGncsdknaILpGE2wxNZ3lBqQE+OInQyMH2ZbEBZ4OlU+OmMSVZOro08uLTYXHH4Qw
	CA8wGv/7GoDU8GPCCcf0a7bgsrGrJol7HMBsVagXvgs54FHJyLL5/Sxtq9O+0jhwFka8nWjodw4
	85xJG6aut+4+4LDHVA4tmCnVC7g79iyD+L2nFXXYdj02lqYcezyUvGACDZKb2Ez912dCm56CQbT
	teekwcI7ggiPcFUsE2/fQ2W28IWaE84F5QS/owuvHlIZZLN7bHwM8tvgJly4G6zNV1PWkwo3LrZ
	WuPYuxpmUR8WrbW/yoM0ovIw3yaXN6m/2MbThXPC0enyl7+7OM+RFp9pOAnpB0LqDPhvp8Y7zmV
	rkZ8TLB9scNof2amXIVKokMEnH/+xzg==
X-Google-Smtp-Source: AGHT+IGE8oI1VEfiHu/c2MAm0ZcfLGl9dTxGz/8ahRtYDME2zjQJmPh6ihR4MtpOfSd5TmC06YtFGg==
X-Received: by 2002:a05:600c:4708:b0:43c:f184:2e16 with SMTP id 5b1f17b1804b1-43d1ec72502mr21376015e9.5.1741939862110;
        Fri, 14 Mar 2025 01:11:02 -0700 (PDT)
Message-ID: <eaf90340-929c-4c89-99cf-0383918e9d5a@suse.com>
Date: Fri, 14 Mar 2025 09:10:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] x86/dom0: placate GCC 12 compile-time errors with
 UBSAN and PVH_GUEST
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-4-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: <20250313153029.93347-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 16:30, Roger Pau Monne wrote:
> When building Xen with GCC 12 with UBSAN and PVH_GUEST both enabled the
> compiler emits the following errors:
> 
> arch/x86/setup.c: In function '__start_xen':
> arch/x86/setup.c:1504:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
>  1504 |             end = consider_modules(s, e, reloc_size + mask,
>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  1505 |                                    bi->mods, bi->nr_modules, -1);
>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/x86/setup.c:1504:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
>   686 | static uint64_t __init consider_modules(
>       |                        ^~~~~~~~~~~~~~~~
> arch/x86/setup.c:1535:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
>  1535 |             end = consider_modules(s, e, size, bi->mods,
>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  1536 |                                    bi->nr_modules + relocated, j);
>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/x86/setup.c:1535:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
>   686 | static uint64_t __init consider_modules(
>       |                        ^~~~~~~~~~~~~~~~
> 
> This seems to be the result of some function manipulation done by UBSAN
> triggering GCC stringops related errors.  Placate the errors by declaring
> the function parameter as `const struct *boot_module` instead of `const
> struct boot_module[]`.
> 
> Note that GCC 13 seems to be fixed, and doesn't trigger the error when
> using `[]`.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
>  xen/arch/x86/setup.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 4a32d8491186..bde5d75ea6ab 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -684,7 +684,7 @@ static void __init noinline move_xen(void)
>  #undef BOOTSTRAP_MAP_LIMIT
>  
>  static uint64_t __init consider_modules(
> -    uint64_t s, uint64_t e, uint32_t size, const struct boot_module mods[],
> +    uint64_t s, uint64_t e, uint32_t size, const struct boot_module *mods,
>      unsigned int nr_mods, unsigned int this_mod)
>  {
>      unsigned int i;

While I'm okay-ish with the change, how are we going to make sure it won't be
re-introduced? Or something similar be introduced elsewhere?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:21:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913938.1319779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0IS-0003k3-BN; Fri, 14 Mar 2025 08:21:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913938.1319779; Fri, 14 Mar 2025 08:21: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 1tt0IS-0003jw-8e; Fri, 14 Mar 2025 08:21:36 +0000
Received: by outflank-mailman (input) for mailman id 913938;
 Fri, 14 Mar 2025 08:21: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt0IR-0003jq-JL
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:21:35 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 574f4879-00ad-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:21:34 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5e5e8274a74so2988106a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:21:34 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e816afc8aasm1722550a12.65.2025.03.14.01.21.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 01: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: 574f4879-00ad-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741940494; x=1742545294; darn=lists.xenproject.org;
        h=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=HStr08WdE8uiWr9BK6ptSHnc3HyVIpz+2wDbEy6ATws=;
        b=Lr6u8mb5I5frhBkBrrkEaAXRriMeMoS4mV16O0YDNnbAT/L4+HibL/2OEBWWoFAWPc
         v7jgvCklDf7LciDpIiOqFUT5pmDKIUNCs/NfdDSoTkKMD46JEGsf07RX0RuPMNwdQ39d
         fDRhB6IHrIAaU3+T4a0cvvr8+b+U+b0cEspOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741940494; x=1742545294;
        h=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=HStr08WdE8uiWr9BK6ptSHnc3HyVIpz+2wDbEy6ATws=;
        b=fcgofkO+dEUIk1WvKIJD7HOXdSiUdd8eLScwPBf8W65Bf1jK2EFsL6ltoumGlfn+GW
         G/NyvmebCWTISe/F89zdH0plU0T5uOnzOu7HtyOEnpgbFyLlobdEQFCxlJ1bGH7IA3Wn
         Dar2h3dFbZmZd8zIGyqdnOCiGP4F2uis2XqYjm6kbHsXiJLHESZXfW1FPKMbwlFSEcRS
         HbzFL+MWYHKOUdNfYX/+f1w1qgsMqkMykjSvNNFW7wh/oxp4A6Q5nfALIhzAY7D9aDSs
         yawBT2eBBDdvhkpr2rpo8hoRtF/kRpMuRYtBsgxtnA/3rSt0Jwpy8khqnk4rOQTcnNET
         9Fqw==
X-Gm-Message-State: AOJu0YwG6hzOrprfe/z3dR/JZKCG3lTzdIIFtbABLsxyIV+0J06cs90V
	+amV+LUW0V1dDVZ4kBScwFUzAuBANaSXygYoND3h7mM2X1hU8ZK2AWJDx200gc4=
X-Gm-Gg: ASbGnctTe8FviC2f/s4ieJZM6hqXNC3LTFMLLAYNVwZctP7u4J8oRJ0OPNquT2nMa4d
	w6q7i8E7aIm7qX8DMQcntXT4+RkqNUHcuFg9sB1p0vm8c8DHHShAiP16g6kpGG6AZBMxQV2rQFs
	2F71/dhTNSLlD/FULlF4DC3aYa++shTCrYhnIUNSiT3r7+l5oL7BxHctw5QZpGdoVdDtqaUL0fn
	nZEKp2QXbmEKZi+goGTjKK0BY6aFUsn1CPed+AL6Lc0r3HfTd+5tGSgcfEPHxUAhlD1kzdaOSii
	XAYMa3qvrkFq7dzfIeS8AB+X6LGizwEfaq49ahLFfjVLd1Ps7A==
X-Google-Smtp-Source: AGHT+IFVGyMzOLHLr6ADs5XXH3I5NysdD+84JGs+8M+Pu/+DzANyVwL54UnRXshczg9eX7K3QRRKOA==
X-Received: by 2002:a05:6402:c8a:b0:5e6:17d7:9a32 with SMTP id 4fb4d7f45d1cf-5e89fa3a292mr1506504a12.18.1741940493850;
        Fri, 14 Mar 2025 01:21:33 -0700 (PDT)
Date: Fri, 14 Mar 2025 09:21: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,
	Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
Message-ID: <Z9PnDOn4t0vzApaQ@macbook.local>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <Z9MaZVMtI86eAmDJ@macbook.local>
 <9e619631-a7f7-4f69-aff8-13202d61b79a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9e619631-a7f7-4f69-aff8-13202d61b79a@suse.com>

On Fri, Mar 14, 2025 at 09:04:55AM +0100, Jan Beulich wrote:
> On 13.03.2025 18:48, Roger Pau MonnĂŠ wrote:
> > On Wed, Mar 12, 2025 at 03:50:17PM -0400, Stewart Hildebrand wrote:
> >> @@ -585,10 +601,31 @@ static void cf_check bar_write(
> >>      {
> >>          /* If the value written is the current one avoid printing a warning. */
> >>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> >> +        {
> >>              gprintk(XENLOG_WARNING,
> >> -                    "%pp: ignored BAR %zu write while mapped\n",
> >> +                    "%pp: allowing BAR %zu write while mapped\n",
> >>                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> > 
> > If Xen now handles BARs writes with memory decoding enabled the
> > message can be removed.  It's only purpose was to signal this missing
> > handling.
> > 
> >> -        return;
> >> +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> >> +            ASSERT(spin_is_locked(&pdev->vpci->lock));
> >> +            reenable = true;
> >> +            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> >> +            /*
> >> +             * Write-while-mapped: unmap the old BAR in p2m. We want this to
> >> +             * finish right away since the deferral machinery only supports
> >> +             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
> >> +             * be better to defer the write-while-mapped case just like regular
> >> +             * BAR writes (but still only allow it for 32-bit BAR writes).
> >> +             */
> >> +            /* Disable memory decoding */
> >> +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
> > 
> > I think if the guest explicitly avoids toggling memory decoding Xen
> > should also to the same, and not touch the bit.
> 
> For Dom0 I'm inclined to agree, but for DomU-s it may be unsafe to do so.
> (You may have meant it like this, but you said "guest".)

Sorry, I'm not sure I'm following.  For domUs the BAR register write
is not propagated to the hardware, it's just the p2m mappings that
change, and hence it's even safer to not toggle the memory decoding
bit for that case? (as there's no write to the device BAR registers
for domUs).

Maybe there's some aspect I'm missing.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:24:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913953.1319788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0L7-0004mM-RW; Fri, 14 Mar 2025 08:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913953.1319788; Fri, 14 Mar 2025 08:24: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 1tt0L7-0004mF-Oh; Fri, 14 Mar 2025 08:24:21 +0000
Received: by outflank-mailman (input) for mailman id 913953;
 Fri, 14 Mar 2025 08:24: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt0L6-0004m9-QV
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:24:20 +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 b363b4fc-00ad-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:24:08 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cfa7e7f54so11962615e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:24: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-43d2010e0bfsm9156875e9.36.2025.03.14.01.24.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 01:24: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: b363b4fc-00ad-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741940650; x=1742545450; 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=jwsBmNW/8kfrYzUlhKaC61M0iEjDzrCkrpi4vsxyy7s=;
        b=Wd2paPCmk83AYtBDpCOmZEHIRSFn5fR26cf+vK+tYKbxPwbOgXx2QWS7NxcT5FjXae
         0RY28g9gbH7SJiMsj39ScV8YXX5B0TZJwgTY2VGPm1t2IHuvtB36dgsdForyJRCpJKr3
         hVqqy6hzVKMhElpntPz7JqnrvJWHWUMcQ2fd/mRRkYNQkxoUt8Kfc7tVbt2/o1eIz7aJ
         F5+6KbqM2hQkJ9aNrDel5zvwm1VzHViP5tf2mkwmVUvHxs9kFolLWy9fweKDivWs2qJp
         DfndA3dW+bVlXpE5YBEQH5O8+EsFgFQBcq9dcyHFz4bSkhAatJV8k31MO/zh5kXmbrSS
         wNfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741940650; x=1742545450;
        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=jwsBmNW/8kfrYzUlhKaC61M0iEjDzrCkrpi4vsxyy7s=;
        b=VkVU/m0BLVrc6gMqhvhXRMhT3G9zgGogMHBjTXaSuPFrgvnX5xetF/5KiIGqiZPkp8
         AkM+9qVEsu2QHu90Hoax8wEtX5Be4Z0ZW/NxTRdANRltSizdV3od/aIn68sxyCPfWaVX
         VLiKRNcn24nwU8Es3tAcRnAUfBbtJLS4kloy0HS+9vtag2Sm3uzklyMMbxMx6dLLfMwi
         gpwoPt4LrGe7L2Qp8sBMg9WrZO6izRnI46zkl8vjmwx10UyWzaXY7O/C/omrpfepISpK
         00MFo7LK6JfsEGU0YGJOkIGLHH62crPLIowxpYvR5X4UeYbT7LcnufgGiyBFkQNt1ay6
         9Gcg==
X-Forwarded-Encrypted: i=1; AJvYcCWsXO/YqSw8+30/MRCsj3nvBZ+9AsylBh4ZxQGYsN1p+B0nrWVfMP+4RHYfwus6J9FxkD2QD8xIMOo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyE4LblURYZQpnN6ftpA/IiQ4zdlRrSRHqDe7JM71Vjkm1PVpQz
	rPqJP1uGTLt9BvT3BX6jDA2bsUh9I3ukH3GeC4AuGf+2nC/8xTi3BL5oOvSIog==
X-Gm-Gg: ASbGnct7S8T/1wDDzlCONgF1o73ASgm0dTgkrb/w71VxAHJ8MM5LcN++LryfiIH0fhC
	3vCRHOm/tPCrgqXraMUmAV/yywKa1+97scdEHO1rNZj0fMTvP0Li0sxNh/NENfV6h7eIcaE9j1k
	UQXqZ74Eay5/h59GfgGz09U+rifuRKgCED/LYX45ch7kGsHzf2eVDmLVVySgkg+8DLPwvBx+Sqk
	JgY9Zs9UCh9ZtP952pSxmRk+0yVqZUhF/lxWwTV8yb8SPvCfARdej62eeBc+bhnjK7+6lTSGTQZ
	jIlV2wPIVUlxcIJjEXRHaJraIxjVB0sB/pTFwMlrQtqlDQoYjif6aBPdonIGbRxgNwU0hZnqWWR
	WkLKpHNbwhxmW2Ciu6wClpUtV2SDdpQ==
X-Google-Smtp-Source: AGHT+IHMJ0v90zEE/6k2/m4k3QhOxuKYO16QxY8K5baR8X8ghcqPy44jMuPxfi7k7D5YRl0mzW7Hdg==
X-Received: by 2002:a05:600c:3c9e:b0:439:9737:675b with SMTP id 5b1f17b1804b1-43d1f1f3fccmr17802375e9.7.1741940650162;
        Fri, 14 Mar 2025 01:24:10 -0700 (PDT)
Message-ID: <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
Date: Fri, 14 Mar 2025 09:24:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: Roger Pau Monne <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-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: <20250313153029.93347-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2025 16:30, Roger Pau Monne wrote:
> When enabling UBSAN with clang, the following error is triggered during the
> build:
> 
> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>       |         ^
> <inline asm>:1:121: note: instantiated into assembly here
>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>       |                                                                                                                                ^
> common/wait.c:154:9: error: symbol '.L_skip' is already defined
>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>       |         ^
> <inline asm>:1:159: note: instantiated into assembly here
>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>       |                                                                                                                                                                      ^
> 2 errors generated.
> 
> The inline assembly block in __prepare_to_wait() is duplicated, thus
> leading to multiple definitions of the otherwise unique labels inside the
> assembly block.  GCC extended-asm documentation notes the possibility of
> duplicating asm blocks:
> 
>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
>> your assembly code when optimizing. This can lead to unexpected duplicate
>> symbol errors during compilation if your asm code defines symbols or
>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
> 
> Move the assembly blocks that deal with saving and restoring the current
> CPU context into it's own explicitly non-inline functions.  This prevents
> clang from duplicating the assembly blocks.  Just using noinline attribute
> seems to be enough to prevent assembly duplication, in the future noclone
> might also be required if asm block duplication issues arise again.

Wouldn't it be a far easier / less intrusive change to simply append %= to
the label names?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:26:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913964.1319798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0My-000622-7F; Fri, 14 Mar 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 913964.1319798; Fri, 14 Mar 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 1tt0My-00061v-4f; Fri, 14 Mar 2025 08:26:16 +0000
Received: by outflank-mailman (input) for mailman id 913964;
 Fri, 14 Mar 2025 08:26: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt0Mw-0005yT-9U
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:26:14 +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 fd8259cd-00ad-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:26:13 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so1604047f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:26: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-395c7df344dsm4969432f8f.10.2025.03.14.01.26.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 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: fd8259cd-00ad-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741940773; x=1742545573; 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=IF2zOYedI4KkuUV0EmcyNGux7EbwCaCv3DcoObu87fI=;
        b=C0ddhSDJmU3CVvDMvnDUlDlbsYx7i0Xa8Vq26XDMS3GPqPJecOVEvIBliA9GftOVYn
         YWKbu3AerFiSh7Xi2Pw/405rtZd1nrziHfc7QNoafNdbnBI47HM81Y+kyDRX/pG1V+TI
         gs8haA+Gyt/u1XT8u6OQbgOCmrBBeyVtLlCpX/hvUsNOHypW8H6dnx7uDKk0o35zHtRk
         /ovZFjclxCCPRCOAZyLfxQ/7E9S0Pjt61ysBI1y/OXiDwti7dCcHCC5qAXK6PAM0EaSK
         MYyN5CxYYltc/9Y+W4I/yDeIA+B0v6DYjMhF2M5ymzUWaAGPIHVJju90WEdZkrDkUYl9
         sELA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741940773; x=1742545573;
        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=IF2zOYedI4KkuUV0EmcyNGux7EbwCaCv3DcoObu87fI=;
        b=jGMgV7Tt7LMIYjMN20P4fVYxa1qhM2Mak3NK/UCmTEU8347qXkUryUOhHUuP528fjM
         plGz/ZbHd+xYY5u7+kK4vAD9FE0wZGQqvvOTelW2Y3zWV4ijjRtdELlE8TpDEcOUVQf8
         c97rzJnMdJdnDap20eOLM9cxjXut1DYCMmRawYS/rf+VO28MHttRCMEAm9DRnGFHTC8R
         FLOJm+wsLdOqEan8UlXTC0hYo7OfvUKnhnVtcwsnXhjqI4lHpO1yg6UQ/TaL8qbHQ8bb
         IcKME93YdTPBMORHYIn1qmWR1+XjAvcuTlQdFlewgDeXXb8RGI0l+bEzwpGTBE13h/r5
         LN7Q==
X-Gm-Message-State: AOJu0Yyj4zfUdUJ/uDDVlULDGIoN+7q6MOUWHk+nL1ILxNsT1rlESG6K
	JwgYv5OEJh933iDZE5xhXJiQtRjOBnbVcbiFyMTO/uHrPF/f+sD9EnxCMYTcmA==
X-Gm-Gg: ASbGncuqzrk9mlf3Yz6BTrELmepL0LOj6wbzyGqf4Mkaj7rmn4TIE7LLTIpQh8/RDwX
	ha+6E+bCNJ1nLw/eqnrkrT6A4pQ8cJGVe3zHEfbDwivblJA4TciGQehm7V/gN1ES8MDbgzRNFKZ
	uXvmzyF+GPFCLwLBTZ56MTunJIQ/Jj7vx35bk4NlmleIS4fJMMnL2q22VkBxV5vF3fCob0rbZmn
	15lf23TzKcdvPxUIApAO5EfaS2ShGYfCETpDO7oSDZuh94YrImu8lmHd0FJc1W9hN01QMfDIw2z
	30Lu5qK+JgLsfHH6y2lkhAF1WEueomwy9KS1f0WknLiNWo4OgwuBlLhxaEruTeonwk6H/J4H8uR
	Cr0uQyQxRLuYrBFdswoFeZSaTH3zxP4g4lGIRSJiE
X-Google-Smtp-Source: AGHT+IFpu67XOuQ3xCNsuX8MtWI6vHtlwtCC6nUp3JvtQbBAauGELfr2NyFe5R+KGscSog8gL48x8g==
X-Received: by 2002:a05:6000:1786:b0:390:ee34:228b with SMTP id ffacd0b85a97d-3971e876832mr2140463f8f.24.1741940772638;
        Fri, 14 Mar 2025 01:26:12 -0700 (PDT)
Message-ID: <cc789c05-3a10-46cf-b979-57b4c29bac4c@suse.com>
Date: Fri, 14 Mar 2025 09:26:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <Z9MaZVMtI86eAmDJ@macbook.local>
 <9e619631-a7f7-4f69-aff8-13202d61b79a@suse.com>
 <Z9PnDOn4t0vzApaQ@macbook.local>
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: <Z9PnDOn4t0vzApaQ@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 09:21, Roger Pau MonnĂŠ wrote:
> On Fri, Mar 14, 2025 at 09:04:55AM +0100, Jan Beulich wrote:
>> On 13.03.2025 18:48, Roger Pau MonnĂŠ wrote:
>>> On Wed, Mar 12, 2025 at 03:50:17PM -0400, Stewart Hildebrand wrote:
>>>> @@ -585,10 +601,31 @@ static void cf_check bar_write(
>>>>      {
>>>>          /* If the value written is the current one avoid printing a warning. */
>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>>> +        {
>>>>              gprintk(XENLOG_WARNING,
>>>> -                    "%pp: ignored BAR %zu write while mapped\n",
>>>> +                    "%pp: allowing BAR %zu write while mapped\n",
>>>>                      &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>>
>>> If Xen now handles BARs writes with memory decoding enabled the
>>> message can be removed.  It's only purpose was to signal this missing
>>> handling.
>>>
>>>> -        return;
>>>> +            ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
>>>> +            ASSERT(spin_is_locked(&pdev->vpci->lock));
>>>> +            reenable = true;
>>>> +            cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
>>>> +            /*
>>>> +             * Write-while-mapped: unmap the old BAR in p2m. We want this to
>>>> +             * finish right away since the deferral machinery only supports
>>>> +             * unmap OR map, not unmap-then-remap. Ultimately, it probably would
>>>> +             * be better to defer the write-while-mapped case just like regular
>>>> +             * BAR writes (but still only allow it for 32-bit BAR writes).
>>>> +             */
>>>> +            /* Disable memory decoding */
>>>> +            modify_bars(pdev, cmd & ~PCI_COMMAND_MEMORY, false);
>>>
>>> I think if the guest explicitly avoids toggling memory decoding Xen
>>> should also to the same, and not touch the bit.
>>
>> For Dom0 I'm inclined to agree, but for DomU-s it may be unsafe to do so.
>> (You may have meant it like this, but you said "guest".)
> 
> Sorry, I'm not sure I'm following.  For domUs the BAR register write
> is not propagated to the hardware, it's just the p2m mappings that
> change, and hence it's even safer to not toggle the memory decoding
> bit for that case? (as there's no write to the device BAR registers
> for domUs).

Oh, right. I'm sorry for the noise.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:27:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913977.1319829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0OB-000724-2C; Fri, 14 Mar 2025 08:27:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913977.1319829; Fri, 14 Mar 2025 08:27: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 1tt0OA-00071r-Uc; Fri, 14 Mar 2025 08:27:30 +0000
Received: by outflank-mailman (input) for mailman id 913977;
 Fri, 14 Mar 2025 08:27: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=+rUO=WB=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tt0O9-0006mw-Os
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:27:30 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20614.outbound.protection.outlook.com
 [2a01:111:f403:2614::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29b74fb5-00ae-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:27:27 +0100 (CET)
Received: from DUZPR01CA0233.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b4::17) by AS8PR08MB8159.eurprd08.prod.outlook.com
 (2603:10a6:20b:560::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Fri, 14 Mar
 2025 08:27:20 +0000
Received: from DB3PEPF0000885A.eurprd02.prod.outlook.com
 (2603:10a6:10:4b4:cafe::94) by DUZPR01CA0233.outlook.office365.com
 (2603:10a6:10:4b4::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.26 via Frontend Transport; Fri,
 14 Mar 2025 08:27:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB3PEPF0000885A.mail.protection.outlook.com (10.167.242.5) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Fri, 14 Mar 2025 08:27:20 +0000
Received: ("Tessian outbound 95d47b41fce3:v594");
 Fri, 14 Mar 2025 08:27:20 +0000
Received: from Le9e6fd9eb1b6.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 726D8B83-5D8A-437A-8FDF-CF118FF957EE.1; 
 Fri, 14 Mar 2025 08:27:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Le9e6fd9eb1b6.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 14 Mar 2025 08:27:13 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 AM7PR08MB5301.eurprd08.prod.outlook.com (2603:10a6:20b:dd::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.29; Fri, 14 Mar 2025 08:27:11 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.027; Fri, 14 Mar 2025
 08:27: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: 29b74fb5-00ae-11f0-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=CRK+dIIVJnTnZMjWbZi8KsrMJ8eAWLqQEULchVh+Ux1UpL1KWH0/4+3W4igTF5VteWrTY0NNNmXWhLcviqsQG/z3x0Q2PR/jOJoU8yfNLH18SDbEAtcsJLYOhFIPVhm2wAdewdg3thVI4rgia6czUpSa/08IfI3hFHuKIUgjP+GoB87tLPq0HvFOezERdMT/v520uzRP2WX58tobZ1lMg+bhkQPfwVgqedaToZFA8AJr6Jm2M74/ABgH1Xidv9LbWdm/PKPfmYK9aiiXZwVc3r9QWrs3MSS1LYKwRMJZviPvLg9TGXinQo4iUxX6Hf2UaFXmXoGHPULb7KrBsGzFSg==
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=Rf6C5LUM5AhF5N6Zlr7dgntyiIXIYkTyZEsKBVV+EXc=;
 b=lXuT5BunaO3DfhfExXRVm93gCncUXNgiQ1zXezMbDG4xjeMUNCiXlK840Nsdb9N3ghTMQQ5S98hx7zI/brhfD5vjSXW6CSJMNNoBLrteBuevq2lTMzOX9IUrzA/TO6Tj3h/CSUkajhnAiGOV1PBDyyxdjqC75cDjkmGl09g4DiTFzl531+zPHHzuQ5nGbuNe0gtgLk17DlaETPwoAuDQHmJrYJCRQgt9ZPG1DjJe/L2Mkczgwy9c2z0zpxoWs08XiitdWEG5sbA181EJ3RP76OUsUO8bNp+IEYF9oHEvSZqe3bG43Dx1olsxpNAizae86s2QEjTIto/Q9ysn69UeOA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=Rf6C5LUM5AhF5N6Zlr7dgntyiIXIYkTyZEsKBVV+EXc=;
 b=LTArY9xRqHjx3gybijKnEsg8U+b71bckMr3UxKY8z6M+sAGgDUjHQiaAUkOuPo8PvejdnoQ5sfNmiTaz2gdsXP5qosccnn/9sJuuFQvZXVBSe04M90rS9QFiyL+P8Ns2Nau79nCPWNaoiupXlILK45IaK4JEvniv4XkX5D7np1Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 87f3d024242bf396
X-TessianGatewayMetadata: yGe8fN2pg/Faol3oMRXMXF4bWwRjHUD+3xwgmxpCEP2EuyOPD2UpflIh8/9HWuco9qMMcpGYYLdHQc/Oy6f1YVsWKfC4UHEYSJRp+ucM4hL+FtHReCI13iq+jciU06Eh1y4d4iMS6u7UzVl0QDq/r8Spfht5EOW7qFJDd9reU38=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=F37NvkejXVU3J09HjF5pQzyA4K/1ZogdUlyDSC2RuIz5710Iyw8s0SLJoX0CX5Q27NcIAuQ49n4CgJHvBfMVbv6WVNw59Or/okGjClV2vCMmFdKkub8G17FtF99G8agx4LCysLEGUe4pLrrs30N//1toE7KqCkAbnBouvEMXOKfof9LMtWMo8Earj3glNrZjMYkGO96SfAWT8dmf2bsPDKSVn0s5wdoaLQH989d10WytmdyUhSVz9oC3ToKQiH8GTIZPCxLkC0kRb5iXqaPXkP999A9sVVSO1gHB/2b7Hvt+23Ccq7glVt1Yi5sqZIpnxJ7oMWz37K6gjpaiiI6Elw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rf6C5LUM5AhF5N6Zlr7dgntyiIXIYkTyZEsKBVV+EXc=;
 b=txKGBJFTsP0fTYkY3SS7sRsHU8c3Sv6zEeEUKL3jeqS9u3X/YHAiv8AeNQA3guU+0TqTQuGksZbW3misNW7RMd/oc5MZVEXa7lML66/5H84ANnGi2fWCakB0vSln4p+4jkj9kX5nSZjbqgb+KDMyGzQ//ivSIrwoS8zFDejYHyyljwHbity7qg5XbmvUvbOllYEHlygPk6d8xGmLW3qajqyjjhON3SI8IX+1KWx8HOe6ntnMmga/bDXDrlSa/uvMUw+5g2ulWkywJVd/IFuyN73fCoatdvEvlms7OGXOcif1pMN7+q1cywGX1Rt5UgneC7Mm+7xrgLkCQWEVVp8bgg==
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=Rf6C5LUM5AhF5N6Zlr7dgntyiIXIYkTyZEsKBVV+EXc=;
 b=LTArY9xRqHjx3gybijKnEsg8U+b71bckMr3UxKY8z6M+sAGgDUjHQiaAUkOuPo8PvejdnoQ5sfNmiTaz2gdsXP5qosccnn/9sJuuFQvZXVBSe04M90rS9QFiyL+P8Ns2Nau79nCPWNaoiupXlILK45IaK4JEvniv4XkX5D7np1Y=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Penny
 Zheng <Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH 09/10] xen/arm: introduce Kconfig HAS_PAGING_MEMPOOL
Thread-Topic: [PATCH 09/10] xen/arm: introduce Kconfig HAS_PAGING_MEMPOOL
Thread-Index: AQHblLbwv7MiSBrO3UKxZwO6qqNV+LNyTDAA
Date: Fri, 14 Mar 2025 08:27:10 +0000
Message-ID: <1BC877F2-9446-4E20-B34E-B2D36563A0BD@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-10-luca.fancellu@arm.com>
 <17d30bf5-90bc-408b-b39f-c1d41c73e68e@amd.com>
In-Reply-To: <17d30bf5-90bc-408b-b39f-c1d41c73e68e@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|AM7PR08MB5301:EE_|DB3PEPF0000885A:EE_|AS8PR08MB8159:EE_
X-MS-Office365-Filtering-Correlation-Id: 314c6bc4-1346-429d-e483-08dd62d209bf
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?S0M0b2RJTldkVjNSZ0lOQ1lMMGxlMmhFeHkvN081Ums2QVNFTW53QnF0cmRt?=
 =?utf-8?B?TE1yV3lvZzlpY0ZXQ1ZyZ3oxMDVVdlUzTkZjaUNqOGdUa0NYQXNrQmxwdzFX?=
 =?utf-8?B?emJSaFhBYng0Z25PcnZpaVF2c3d6R2h2N2xaWURhUHZaZUZuTlVheDJmcEU2?=
 =?utf-8?B?TGpMNXBFeThTR0NLMFZGRVd5V2Fla3NOTzBVRmxESnc5RjloYXp2aXhjdHNJ?=
 =?utf-8?B?M1lHQzRLclg0SmlNdU05T2VTemdNZDl4RWxtbG5ROHpHd1R0L3FtMENobkdo?=
 =?utf-8?B?RlpWdHVSci8yQnZTOGdMZmEwOG5lZk5mbnhMMWVidi8rYTV0Vm9hTXF1blBy?=
 =?utf-8?B?MHRseHdBcU1rQjdSV056b2dlKzY1VUxWMW8xTVBjUW9wSk5zblVUWE5WUzRU?=
 =?utf-8?B?QTREajIvN0RHYlRmazhXVC8xbHBkU3ozUWQ4TkFTcnFTQmpPT2Q3b3BQLzBO?=
 =?utf-8?B?Ukx3QXhVdzlSUjJzVlNKVGlqbVZBelQxaWdhTW9CVW9BVFN1WFlDUlVqM2g3?=
 =?utf-8?B?V2JNWEJmL1FLMFo1UWdLTUt5Qm1oWEE5N1NidXA2Q1RrZ3pJREg0dE1vL25z?=
 =?utf-8?B?Y2ZtRDVncFVhYUlOTytmZm5PaW5RRmtEMTlleGJCa0NvMzJSM3FtL20wbXg3?=
 =?utf-8?B?WTlOQm05WnA1SmpQeDdlYzhqTE1DZ3IzRytFMkJHQ1Z3U2hBTjNYeWlyay9F?=
 =?utf-8?B?eGs0azlFM0xOanU2Z1RMT09DUUdZY0t0R0x5MTV2aG42ZTNzZ2ZTTHlyM0lV?=
 =?utf-8?B?SlFGRnZmYTA1d2NjaXVISy9vYnF2YUFOY1ZLMkRHSHNpYWZDaGpwVDdWOHZn?=
 =?utf-8?B?Vk45dkNqenZyMko3cjFLNUdBakNWeEZDM1ZvNm5KMDhLOEI2U2lFVUtUdDk4?=
 =?utf-8?B?bVFSZGhHeXZ6M2VxZVF0OTQ4ZEliL2xkbWt5ZFVXRGpScWlzdDhWaE5aNWpN?=
 =?utf-8?B?dE0zNnNvTEg3aDRSYUJ4L3IxZDF2S21GclBjeVp3VFM3TTFyNkpkWUFPWVpO?=
 =?utf-8?B?cU5KeHNBYXR6YW1OODRBb2xrOU02WmJvN1hIWFJMME84UC82eWQ1aVB5K2p2?=
 =?utf-8?B?MmdZOFJnSFhUQnBJMXA3SUdJWHZmc0RwSGNrSDFUN3NXYWZwZWVuMUdTdFhu?=
 =?utf-8?B?VHRONGErcXZwZjVHaGxTNXJpR2tOMU44aVFUa0R4Y3hYenE2bS9ORTJ4bk5Q?=
 =?utf-8?B?VWtsVS9hNnNzcW0wNkRJVWlURkNFN3pqKzE2UnhXbmxIYjZoU0drMk5wK2N4?=
 =?utf-8?B?QzdTa3U3VDBvOXdncHhTREtFTnRtRDNtaWJwcUEzTWF0WmZIcWZpd2htYm5j?=
 =?utf-8?B?NXdLc2c5ZXVheE1DYldSbk5EdWNzeDV4RjcwWGh6M0pLYW1PeE5kcGxyalRN?=
 =?utf-8?B?TXpsU3V4R21vZTllL1pWZ2gyWVpxUTM1YmF3aFdsMWlBZzZZZXQrcVUyNy9w?=
 =?utf-8?B?WnhYVUtiYTVkdDJqekxIc0NCTTVGWUZRb1ZmYTZSVUtseDl5Zk1DaWxsR1I2?=
 =?utf-8?B?NHhkTE9ySmd2OXd0MG53dEtTdWFNLzI2QkgwcXJObE53ZjVlTWxEUXl3cGox?=
 =?utf-8?B?Sko1ZGRyQjMrRlFWQnJrbE1QSFhvSmhSUVZkT3FLczNraVJyRjR3MnA1aC9L?=
 =?utf-8?B?U1JteWpXN290SE5CaklSSkhubUNDQ1U1NXdrUUVQV015NWRjcmJiQTIrM05o?=
 =?utf-8?B?OFVTWEJ4T0NOa044ZE5yM2JYK3RZZ3g4SGdpR0U1a3hObzRtd0hGQjZqQ2JP?=
 =?utf-8?B?VFhBdWhsVnFPZlk5WU8vQUE0bkw1c05NaGIwVEF1TFNtbG93MlQ4cjQzVVBh?=
 =?utf-8?B?SThNTEx2TDNYMEg5Y3pjeC8zKzdxeXpXcHJWbituZ1lGVWlsb0NLalczMW45?=
 =?utf-8?B?dTVRREp4RUc1NzcxdUJ1aTg1YkRUdVA5M3FkNGhjMDFZdjBIQm0wTUlOMUNm?=
 =?utf-8?Q?VpmFF1go7PYo2dzgqkLjfsDBCj/+LvUq?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <989398F7FC6F9946AA029314784C047C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5301
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB3PEPF0000885A.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f108cc63-334a-4534-69bc-08dd62d203e5
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|82310400026|1800799024|376014|35042699022|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MDEzekIrSDZmc2s1bkRBVEpwYk00eDYwQ0hNRFNGWGwyVFBRN3hjbng5Y09W?=
 =?utf-8?B?NkFDNG1GeUY2YVdxT2drYkQ5Ti96aDdLRVFoTUYvNWhCME5QSjRxR3NwaWl4?=
 =?utf-8?B?b0dhQ0ZtaG9IYTlMakFocG9sSitNL3J5bzFtSW5Ed2dUVUEyZ1VPY2JYYTZC?=
 =?utf-8?B?YURROUk2SWpJUlhPd2ZCOHFHTGY2UkROQlMwaG5ueXlMaGk2SlNnL3g5T0Va?=
 =?utf-8?B?VmdzUG9iZ1J5M2l0MUw4Q0ZFaW1jUklJKzVqWEhUZndqY3p6aElaa3IwWWF3?=
 =?utf-8?B?TVZRZDJZU2JlSzZMWEQwWWxIMjZ1KytyT01OZVZjM2Q5VmF0OFEraTJnRjdU?=
 =?utf-8?B?QXRWMXdVWU9WejZUWnF2ZkNrK3kwZ3JtWFNueGpUMkpJVVN1TG5ieHBYVzdU?=
 =?utf-8?B?dUpDYXpsK3RsMU1lQXQxelVyRDJrQk1zaVloblBoWDdMeWtEMHU4dGhxTCsr?=
 =?utf-8?B?anQvV3o1S3dhT0hIc2F5MWVxNHM1SkJMZGQwQW5GL3Z1Mko1OFBRazJ5Sm8y?=
 =?utf-8?B?SmpkckVyeFRuMW5IYk51VWJVZ0dxWFo5bVBuYXEvdjZNTVh5SStnQkVveUJn?=
 =?utf-8?B?Z2lvUytRbm9Ja1Q0NFgvQi9DQ1ZKRE53bWszT0N2M2xwUTlPSDlodU9rTStW?=
 =?utf-8?B?U1RuaVVjQWUvSE9pdFl3Y0tWaHRYY2t1NzN1MVVseEk5VVBacEpQSjhqWU5H?=
 =?utf-8?B?VGJtTGROTzZkNERlVVJMODBPci9JaThZN1NUWlFDTitSNHdPWWJVNUdTakVW?=
 =?utf-8?B?b0ZWQ2RxcWZ2RnMwaUZFWUpPVXJwRUJ3MTdLNWkxaXhsRHRFTHJMK0Z2bkVW?=
 =?utf-8?B?TDByKzBtcDEwQ29zNlUvNWhvV0luL3pPbEVlcS9nM3ZaSGpPN2IwbWM0OWxZ?=
 =?utf-8?B?WUM5VVp4Vk1EeFpSTSsrNE5MbHU2VUY0dlo3REpmc2ZwM1lBSTUydG0wY2FE?=
 =?utf-8?B?K2ZSa1lDdHVySmo2VGxzTklGOHppcHhjUEtLUmFPZmoyTXNUN29FS1ZqU0o1?=
 =?utf-8?B?TzFMZWFmZkdBZitEUEI5RHY3RE1oOUlKZFdtdTkwaW1yMlNtWFZaOHZLM2lj?=
 =?utf-8?B?VUVMdHRIZGdUL1V3Q0RwdHF5OTdNSW00UmFwTzlCVGJzNzMzcmZ2M0oxU1VY?=
 =?utf-8?B?N1ZpMHN5akZCLzIra1N0K1dPdWQyaGE5RTZpbEFobzVJaUNzcW8zaFJNRm40?=
 =?utf-8?B?aXc5TXcxa3Z0dTdnNHlNb1NsTTNETitsZU5xSXo0eHM1cHVTZ2Y1YWg0NU1V?=
 =?utf-8?B?SHlFNGNSekNKdk5oUFRSeU1SSkdZZ1RGTllKREo2VFpVTktPUHE5R0xOTFZH?=
 =?utf-8?B?RDRXMEVHQ2xHSFFPcWVqTTNrSFFOS2duMnhqY1dqYTNKRTl6Sk1sQlJsbWlW?=
 =?utf-8?B?bVIrbkx0elIzTGdXaTRONDEyQ2pod2hubUxIZHVNWmFmSjRlSUR6NGVGZ2hV?=
 =?utf-8?B?K01KUC9HaDdrVVNTdlhQNnpVUEhxZGRSZkhvd1VScUtIeW9hV2poamFEUWQy?=
 =?utf-8?B?eDhET0VXM09XdHR1b2NGaTdWZ0pPSGEzLzRJc2lRZGVqeHVZdHBUVFNMZ1BJ?=
 =?utf-8?B?UDR6ZytDc1JZdEN0K0FjeFJXVGRERjhIM0lEekQ3OExjcldjbFdrazBsdzJq?=
 =?utf-8?B?UW84WTNndDh6TlJINk93aTYzOEtzNUZ6d1FtRnoxMHp6THFRY29zS1JHR0h3?=
 =?utf-8?B?SENYUmlNU2tFdGQyRU14ME1vOGE4c2FvcWhKbzRxVFdYNTVkNW9UUzQ2eVNs?=
 =?utf-8?B?WjdINmxJdGw1QU11SHM4dk9QQVYvUUlRYUEvU1A5VkxXeUVhUUdTQU95eEJO?=
 =?utf-8?B?UnZ0eUpGTHZOc2Z1QWsrNUpWN2h5a1JQRUZCRlhmK20rTTI0eEY0QTlrS2JT?=
 =?utf-8?B?WVlDUTZVbitWcFpiSVFDY28yRm9hZ3o3bjBQcXdxU1g4RDRZWkdwcXJSYTd3?=
 =?utf-8?B?L1o0SThURVQyQjVqUG9KVUFJclBHVWxyT1g2a09KbUJPMGpGaTBvM0IrT3FK?=
 =?utf-8?Q?v23t5XYC3Fjl+6zKpPoFiPQf1SsFC4=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(82310400026)(1800799024)(376014)(35042699022)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2025 08:27:20.2391
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 314c6bc4-1346-429d-e483-08dd62d209bf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB3PEPF0000885A.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8159

SGkgTWljaGFsLA0KDQo+IE9uIDE0IE1hciAyMDI1LCBhdCAwNzo1OCwgT3J6ZWwsIE1pY2hhbCA8
bWljaGFsLm9yemVsQGFtZC5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiBPbiAxMi8wMy8yMDI1
IDE0OjUyLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiANCj4+IEZyb206IFBlbm55IFpo
ZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPg0KPj4gDQo+PiBBUk0gTVBVIHN5c3RlbSBkb2Vzbid0
IG5lZWQgdG8gdXNlIHBhZ2luZyBtZW1vcnkgcG9vbCwgYXMgTVBVIG1lbW9yeQ0KPj4gbWFwcGlu
ZyB0YWJsZSBhdCBtb3N0IHRha2VzIG9ubHkgb25lIDRLQiBwYWdlLCB3aGljaCBpcyBlbm91Z2gg
dG8NCj4gTklUOiBJIGFsd2F5cyB3b25kZXIgd2hhdCAibWFwcGluZyIgbWVhbnMgaW4gTVBVIHdv
cmxkLiBJcyB0aGlzIGNvbW1vbiB0byB1c2UNCj4gdGhpcyB3b3JkIGV2ZW4gdGhvdWdoIHRoZXJl
J3Mgbm8gbWFwcGluZyBiZWluZyBkb25lPyBJJ2QgZXhwZWN0IHRvIHNlZSBlLmcuDQo+IHByb3Rl
Y3Rpb24gdGFibGUgb3Igc2ltaWxhci4NCg0Kd2VsbCBpZiB3ZSBoYXZlIGEgbG9vayBvbiB0aGUg
QXJtIHNwZWNpZmljYXRpb25zIGZvciBBcm12OC1yIGFhcmNoNjQsIGNoYXB0ZXIgQzEgUE1TQSwN
Cml0IHJlZmVycyB0byDigJxhZGRyZXNzIG1hcOKAnSBhbmQg4oCcZmxhdCBtYXBz4oCdLCBzbyBJ
IHRoaW5rIG1hcHBpbmcgaXMgc3RpbGwgb2sgZm9yIE1QVS4NCg0KPiANCj4+IG1hbmFnZSB0aGUg
bWF4aW11bSAyNTUgTVBVIG1lbW9yeSByZWdpb25zLCBmb3IgYWxsIEVMMiBzdGFnZSAxDQo+PiB0
cmFuc2xhdGlvbiBhbmQgRUwxIHN0YWdlIDIgdHJhbnNsYXRpb24uDQo+PiANCj4+IEludHJvZHVj
ZSBIQVNfUEFHSU5HX01FTVBPT0wgS2NvbmZpZyBzeW1ib2wgZm9yIEFybSwgc2VsZWN0ZWQgZm9y
IE1NVQ0KPj4gc3lzdGVtcy4NCj4gSSBkb24ndCB0aGluayB0aGlzIHNob3VsZCBiZSBBcm0gc3lt
Ym9sLiBBZnRlciBhbGwsIHdlIGhhdmUgY29tbW9uIGhlbHBlcnMgbGlrZQ0KPiBhcmNoX2dldF9w
YWdpbmdfbWVtcG9vbF9zaXplKCksIHNvIEknZCBuYXR1cmFsbHkgZXhwZWN0IHRoaXMgc3ltYm9s
IHRvIGJlIGluIHRoZQ0KPiBjb21tb24gS2NvbmZpZy4NCg0KeWVzIHlvdSBhcmUgcmlnaHQsIEni
gJlsbCBtb3ZlIHRoaXMNCg0KPiANCj4+IA0KPj4gV3JhcCBjb2RlIGFjY2Vzc2luZyB0aGUgJ3N0
cnVjdCBwYWdpbmdfZG9tYWluJyBwYWdpbmcgbWVtYmVyIHdpdGgNCj4+IHRoZSBuZXcgS2NvbmZp
ZywgaW50cm9kdWNlIGFyY2hfe2dldCxzZXR9X3BhZ2luZ19tZW1wb29sX3NpemUNCj4+IGltcGxl
bWVudGF0aW9uIGZvciBNUFUgc3lzdGVtLCBwcm92aWRlIHN0dWJzIGZvciBwMm1fdGVhcmRvd24g
YW5kDQo+PiBwMm1fdGVhcmRvd25fYWxsb2NhdGlvbiBiZWNhdXNlIHRoZXkgd2lsbCBub3QgYmUg
dXNlZCBmb3IgTVBVIHN5c3RlbXMsDQo+PiByZW1vdmUgJ3N0cnVjdCBwYWdpbmdfZG9tYWluJyBm
cm9tIEFybSAnc3RydWN0IGFyY2hfZG9tYWluJyB3aGVuIHRoZQ0KPj4gZmllbGQgaXMgbm90IHJl
cXVpcmVkLg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnkuemhlbmdA
YXJtLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0K
Pj4gU2lnbmVkLW9mZi1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0K
Pj4gLS0tDQo+PiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICAgICAgfCAgNCArKysrDQo+
PiB4ZW4vYXJjaC9hcm0vZG9tMGxlc3MtYnVpbGQuYyAgICAgfCAgMiArKw0KPj4geGVuL2FyY2gv
YXJtL2luY2x1ZGUvYXNtL2RvbWFpbi5oIHwgIDIgKysNCj4+IHhlbi9hcmNoL2FybS9tcHUvTWFr
ZWZpbGUgICAgICAgICB8ICAxICsNCj4+IHhlbi9hcmNoL2FybS9tcHUvcDJtLmMgICAgICAgICAg
ICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+IDUgZmlsZXMgY2hhbmdl
ZCwgNDUgaW5zZXJ0aW9ucygrKQ0KPj4gY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS9t
cHUvcDJtLmMNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVu
L2FyY2gvYXJtL0tjb25maWcNCj4+IGluZGV4IDVhYzZlYzAyMTJkMi4uODljMDk5ZmY0NjRiIDEw
MDY0NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL0tjb25maWcNCj4+ICsrKyBiL3hlbi9hcmNoL2Fy
bS9LY29uZmlnDQo+PiBAQCAtNzYsNiArNzYsNyBAQCBjaG9pY2UNCj4+IGNvbmZpZyBNTVUNCj4+
ICAgICAgICBib29sICJNTVUiDQo+PiAgICAgICAgc2VsZWN0IEhBU19MTENfQ09MT1JJTkcgaWYg
IU5VTUEgJiYgQVJNXzY0DQo+PiArICAgICAgIHNlbGVjdCBIQVNfUEFHSU5HX01FTVBPT0wNCj4+
ICAgICAgICBzZWxlY3QgSEFTX1BNQVANCj4+ICAgICAgICBzZWxlY3QgSEFTX1ZNQVANCj4+ICAg
ICAgICBzZWxlY3QgSEFTX1BBU1NUSFJPVUdIDQo+PiBAQCAtMTU4LDYgKzE1OSw5IEBAIGNvbmZp
ZyBWR0lDVjINCj4+IGNvbmZpZyBIVk0NCj4+ICAgICAgICAgZGVmX2Jvb2wgeQ0KPj4gDQo+PiAr
Y29uZmlnIEhBU19QQUdJTkdfTUVNUE9PTA0KPj4gKyAgICAgICBib29sDQo+IFNlZSBhYm92ZQ0K
PiANCj4+ICsNCj4+IGNvbmZpZyBORVdfVkdJQw0KPj4gICAgICAgIGJvb2wgIlVzZSBuZXcgVkdJ
QyBpbXBsZW1lbnRhdGlvbiINCj4+ICAgICAgICBzZWxlY3QgR0lDVjINCj4+IGRpZmYgLS1naXQg
YS94ZW4vYXJjaC9hcm0vZG9tMGxlc3MtYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb20wbGVzcy1i
dWlsZC5jDQo+PiBpbmRleCAzMWYzMWMzOGRhM2YuLmZlYWJhNTc2MTk4YiAxMDA2NDQNCj4+IC0t
LSBhL3hlbi9hcmNoL2FybS9kb20wbGVzcy1idWlsZC5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0v
ZG9tMGxlc3MtYnVpbGQuYw0KPj4gQEAgLTg2NSwxMSArODY1LDEzIEBAIHN0YXRpYyBpbnQgX19p
bml0IGNvbnN0cnVjdF9kb21VKHN0cnVjdCBkb21haW4gKmQsDQo+PiAgICAgICAgICAgICAgICAg
cDJtX21lbV9tYiA8PCAoMjAgLSBQQUdFX1NISUZUKSA6DQo+PiAgICAgICAgICAgICAgICAgZG9t
YWluX3AybV9wYWdlcyhtZW0sIGQtPm1heF92Y3B1cyk7DQo+PiANCj4+ICsjaWZkZWYgQ09ORklH
X0hBU19QQUdJTkdfTUVNUE9PTA0KPj4gICAgIHNwaW5fbG9jaygmZC0+YXJjaC5wYWdpbmcubG9j
ayk7DQo+PiAgICAgcmMgPSBwMm1fc2V0X2FsbG9jYXRpb24oZCwgcDJtX3BhZ2VzLCBOVUxMKTsN
Cj4+ICAgICBzcGluX3VubG9jaygmZC0+YXJjaC5wYWdpbmcubG9jayk7DQo+PiAgICAgaWYgKCBy
YyAhPSAwICkNCj4+ICAgICAgICAgcmV0dXJuIHJjOw0KPj4gKyNlbmRpZg0KPiBUaGF0J3MgZG9l
cyBub3QgbG9vayByaWdodC4gSWYgd2UgZG9uJ3QgaGF2ZSBQMk0gcG9vbCBmb3IgTVBVIGRvbWFp
bnMsIHRoZW4NCj4geGVuLGRvbWFpbi1wMm0tbWVtLW1iIGRvbTBsZXNzIHBhcmFtZXRlciBkb2Vz
IG5vdCBtYWtlIHNlbnNlIGFzIHdlbGwgYXMgaXRzDQo+IGhhbmRsaW5nIGFib3ZlIHRoYXQgeW91
IGRpZCBub3QgcHJvdGVjdC4NCg0KeWVzIHRoZSBwcm90ZWN0aW9uIHNob3VsZCBiZSBleHRlbmRl
ZCBhYm92ZQ0KICAgIHJjID0gZHRfcHJvcGVydHlfcmVhZF91MzIobm9kZSwgInhlbixkb21haW4t
cDJtLW1lbS1tYiIsICZwMm1fbWVtX21iKTsNCg0KU2hhbGwgd2UgdGhyb3cgYW55IHdhcm5pbmcg
aWYgIUhBU19QQUdJTkdfTUVNUE9PTCBidXQgdGhlIHVzZXIgc2V0cyAieGVuLGRvbWFpbi1wMm0t
bWVtLW1i4oCdPw0KDQoNCj4gDQo+PiANCj4+ICAgICBwcmludGsoIioqKiBMT0FESU5HIERPTVUg
Y3B1cz0ldSBtZW1vcnk9JSMiUFJJeDY0IktCICoqKlxuIiwNCj4+ICAgICAgICAgICAgZC0+bWF4
X3ZjcHVzLCBtZW0pOw0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9k
b21haW4uaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb21haW4uaA0KPj4gaW5kZXggNTBi
NmE0YjAwOTgyLi5mYWRlYzdkOGZhOWUgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vaW5j
bHVkZS9hc20vZG9tYWluLmgNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb21h
aW4uaA0KPj4gQEAgLTc1LDcgKzc1LDkgQEAgc3RydWN0IGFyY2hfZG9tYWluDQo+PiANCj4+ICAg
ICBzdHJ1Y3QgaHZtX2RvbWFpbiBodm07DQo+PiANCj4+ICsjaWZkZWYgQ09ORklHX0hBU19QQUdJ
TkdfTUVNUE9PTA0KPj4gICAgIHN0cnVjdCBwYWdpbmdfZG9tYWluIHBhZ2luZzsNCj4+ICsjZW5k
aWYNCj4+IA0KPj4gICAgIHN0cnVjdCB2bW1pbyB2bW1pbzsNCj4+IA0KPj4gZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL2FybS9tcHUvTWFrZWZpbGUgYi94ZW4vYXJjaC9hcm0vbXB1L01ha2VmaWxlDQo+
PiBpbmRleCAwNGRmMGIyZWU3NjAuLmYxNDE3Y2QxYjlkYiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9h
cmNoL2FybS9tcHUvTWFrZWZpbGUNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9tcHUvTWFrZWZpbGUN
Cj4+IEBAIC0xLDIgKzEsMyBAQA0KPj4gb2JqLXkgKz0gbW0ubw0KPj4gK29iai15ICs9IHAybS5v
DQo+PiBvYmoteSArPSBzZXR1cC5pbml0Lm8NCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v
bXB1L3AybS5jIGIveGVuL2FyY2gvYXJtL21wdS9wMm0uYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNzUyNWQ5YjAwYmNiDQo+PiAtLS0gL2Rldi9udWxs
DQo+PiArKysgYi94ZW4vYXJjaC9hcm0vbXB1L3AybS5jDQo+PiBAQCAtMCwwICsxLDM2IEBADQo+
PiArDQo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KPj4g
Kw0KPj4gKyNpbmNsdWRlIDx4ZW4vZG9tYWluLmg+DQo+PiArI2luY2x1ZGUgPGFzbS9wMm0uaD4N
Cj4gV2h5IGRvIHdlIG5lZWQgdG8gaW5jbHVkZSBwMm0uaCBhdCB0aGlzIHN0YWdlPw0KDQppdCB3
YXMgdG8gaGF2ZSB2aXNpYmlsaXR5IG9mIHRoZSBkZWNsYXJhdGlvbnMsIGJ1dCAuLi4NCg0KPiAN
Cj4+ICsNCj4+ICsvKiBOb3QgdXNlZCBvbiBNUFUgc3lzdGVtICovDQo+PiAraW50IHAybV90ZWFy
ZG93bihzdHJ1Y3QgZG9tYWluICpkKQ0KPj4gK3sNCj4+ICsgICAgcmV0dXJuIDA7DQo+PiArfQ0K
Pj4gKw0KPj4gKy8qIE5vdCB1c2VkIG9uIE1QVSBzeXN0ZW0gKi8NCj4+ICtpbnQgcDJtX3RlYXJk
b3duX2FsbG9jYXRpb24oc3RydWN0IGRvbWFpbiAqZCkNCj4+ICt7DQo+PiArICAgIHJldHVybiAw
Ow0KPj4gK30NCj4gV2hhdCdzIHRoZSByZWFzb24gZm9yIGFkZGluZyBlLmcuIHAybV90ZWFyZG93
bigpIGJ1dCBub3QgcDJtX2ZpbmFsX3RlYXJkb3duKCkgaW4NCj4gdGhpcyBwYXRjaD8gSSBpbml0
aWFsbHkgdGhvdWdodCB0aGF0IGluIHRoZSBuZXh0IHBhdGNoIG90aGVyIGZ1bmN0aW9ucyB3aWxs
IGJlDQo+IGFkZGVkIHRoYXQgcmVxdWlyZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgZnV0dXJlIChp
LmUuIHN0dWJzKSBidXQgdGhlbiBJIHNhdw0KPiByZWxpbnF1aXNoX3AybV9tYXBwaW5nKCkgd2hp
Y2ggcmV0dXJucyAwIHNhbWUgYXMgdGhlc2UgMiBmdW5jdGlvbnMuDQoNCmFzIHlvdSBzYWlkIHRo
ZXNlIGNhbiBiZSBwYXJ0IG9mIHRoZSBsYXN0IHBhdGNoPyBPciB3b3VsZCB5b3UgbGlrZSBhbiBh
ZGRpdGlvbmFsDQpwYXRjaCB0aGF0IGRlZmluZXMgYWxsIHRoZSBmdW5jdGlvbnMgdGhhdCBhcmUg
aW1wbGVtZW50ZWQgYXMgc3R1YnMgKGUuZy4gbGlrZSB0aGVzZQ0KdHdvIHdob3NlIGltcGxlbWVu
dGF0aW9uIGlzIGFscmVhZHkgZGVmaW5lZCBhbmQgZG9u4oCZdCByZXF1aXJlIGltcGxlbWVudGF0
aW9uDQppbiB0aGUgZnV0dXJlKT8NCg0KQ2hlZXJzLA0KTHVjYQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:27:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913976.1319818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0O9-0006nB-Qi; Fri, 14 Mar 2025 08:27:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913976.1319818; Fri, 14 Mar 2025 08:27: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 1tt0O9-0006n2-Nt; Fri, 14 Mar 2025 08:27:29 +0000
Received: by outflank-mailman (input) for mailman id 913976;
 Fri, 14 Mar 2025 08:27: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt0O8-0006YE-Jo
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:27:28 +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 2a182704-00ae-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:27:28 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ab78e6edb99so273055766b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:27:28 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e816968ce3sm1680623a12.21.2025.03.14.01.27.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 01:27: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: 2a182704-00ae-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741940847; x=1742545647; darn=lists.xenproject.org;
        h=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=fKa77kKpxPD/JSawjiCNVi266c75q7p0zUaSTijaQdE=;
        b=op+oW46CS6qQ+dneC2YM6HbwOhWWGPdm93Az5eugxaLhRg61a3DbXnAo4oBphyeXml
         OMKAEnd8m1v3ceJPjFtTeyYjcDP1qdv3FCLtBpescl3QOYr+O12Gly64EsTKJMFScsrb
         DRjc1A9y1oO5qSa5VMX3HoLl9EgxPSICcaA7s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741940847; x=1742545647;
        h=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=fKa77kKpxPD/JSawjiCNVi266c75q7p0zUaSTijaQdE=;
        b=irne2PU/dhISJtoYdrBvwZRE2kmGFUboFxFMDDOBoOersdEHZ7pFgy1z8WddoYkftR
         tQ/KsXKWAQn9q5BoBrswd2tT4V+cM3HZva1neQI4mHuE0tpFszNwCAHmyvFACW3A8GCW
         chGHR8E7fbNEQIDi6uYqvpfN2PfKGSsuuECOyYHWRh7kIJpwxHpKnS19A5Yc34qQsWIG
         Wt6NmVrYwLdrSTR+yGaAgqe7bv5TpmhYn9EsSNu0BHEvYHTnV91HrGHDtF+xtYKsUPJE
         PGwK22DahhWgSsDzJzCaQr9jBKG3moV4FQ88rbzLOcRHXEX06qJN/DRLDTVsFnsJyC2B
         EN4Q==
X-Forwarded-Encrypted: i=1; AJvYcCVCn63c+pozNfsTSPKOrPaALuej82hFx0EdPKHJ4XBDVHWYLqxxasagt/VyGZz08BYgGswkvXKV0EI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxBVN8PEpVAMOimgUOBoEPhZ9ueiNU8jKhIuq3B3R3SrUZJw+mh
	kaSRGjZcKKjGEdo8fGRcygKGzK1vUNkxsFMUNEg8ddrSlShJfAEeeotYwvQtivE=
X-Gm-Gg: ASbGnct9D3KZfOOvup7EiLJ/tmGgwv5E0UBmkVyhOonES2UPNst7hKaR+k0q434Z4TU
	Qm2f/vq4T/yPT2IUDpWCLY1Vtfrtfqm/MDM9NO8yJLUPlWsO0Cbc1BoM4UPpRygAMTo8ppfSW3A
	u5TeZHkGqOxwcSsBFgNGj0fsMM0j45/E91+FAqRpUjL83obpmY9Y8qqUX1mIqtoj8NtitCrIdA2
	D3L1IP/J0rRutPjP3mSOt7F987ZI8V4T1zzhNm5uSV8i05Wl1/nRnexCugIboJx664T0C7s13qv
	Cuty/X0eBpnhFlEZ7htL+881avepUvRC4raKR8Utq6JwklQzXw==
X-Google-Smtp-Source: AGHT+IFbB12w4ynwbGuCYVq1+RNtf2sCDspYiwNaUoM8+2XiwaNe1ZT0/9kHBUST+VBCJNu2Xqhcuw==
X-Received: by 2002:a17:906:4795:b0:ac1:e752:17d2 with SMTP id a640c23a62f3a-ac33026ab45mr160263066b.19.1741940847382;
        Fri, 14 Mar 2025 01:27:27 -0700 (PDT)
Date: Fri, 14 Mar 2025 09:27:26 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 3/7] x86/dom0: placate GCC 12 compile-time errors with
 UBSAN and PVH_GUEST
Message-ID: <Z9PobmG8lDy-oscG@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-4-roger.pau@citrix.com>
 <eaf90340-929c-4c89-99cf-0383918e9d5a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <eaf90340-929c-4c89-99cf-0383918e9d5a@suse.com>

On Fri, Mar 14, 2025 at 09:10:59AM +0100, Jan Beulich wrote:
> On 13.03.2025 16:30, Roger Pau Monne wrote:
> > When building Xen with GCC 12 with UBSAN and PVH_GUEST both enabled the
> > compiler emits the following errors:
> > 
> > arch/x86/setup.c: In function '__start_xen':
> > arch/x86/setup.c:1504:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
> >  1504 |             end = consider_modules(s, e, reloc_size + mask,
> >       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >  1505 |                                    bi->mods, bi->nr_modules, -1);
> >       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > arch/x86/setup.c:1504:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> > arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
> >   686 | static uint64_t __init consider_modules(
> >       |                        ^~~~~~~~~~~~~~~~
> > arch/x86/setup.c:1535:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
> >  1535 |             end = consider_modules(s, e, size, bi->mods,
> >       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >  1536 |                                    bi->nr_modules + relocated, j);
> >       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > arch/x86/setup.c:1535:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> > arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
> >   686 | static uint64_t __init consider_modules(
> >       |                        ^~~~~~~~~~~~~~~~
> > 
> > This seems to be the result of some function manipulation done by UBSAN
> > triggering GCC stringops related errors.  Placate the errors by declaring
> > the function parameter as `const struct *boot_module` instead of `const
> > struct boot_module[]`.
> > 
> > Note that GCC 13 seems to be fixed, and doesn't trigger the error when
> > using `[]`.
> > 
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > ---
> >  xen/arch/x86/setup.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> > index 4a32d8491186..bde5d75ea6ab 100644
> > --- a/xen/arch/x86/setup.c
> > +++ b/xen/arch/x86/setup.c
> > @@ -684,7 +684,7 @@ static void __init noinline move_xen(void)
> >  #undef BOOTSTRAP_MAP_LIMIT
> >  
> >  static uint64_t __init consider_modules(
> > -    uint64_t s, uint64_t e, uint32_t size, const struct boot_module mods[],
> > +    uint64_t s, uint64_t e, uint32_t size, const struct boot_module *mods,
> >      unsigned int nr_mods, unsigned int this_mod)
> >  {
> >      unsigned int i;
> 
> While I'm okay-ish with the change, how are we going to make sure it won't be
> re-introduced? Or something similar be introduced elsewhere?

I'm afraid I don't have a good response, as I don't even know exactly
why the error triggers.  We will rely on the CI to start doing
randconfig builds with UBSAN enabled (see patch 7/7).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:27:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.913975.1319810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0O7-0006YT-Ho; Fri, 14 Mar 2025 08:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 913975.1319810; Fri, 14 Mar 2025 08:27: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 1tt0O7-0006YM-DO; Fri, 14 Mar 2025 08:27:27 +0000
Received: by outflank-mailman (input) for mailman id 913975;
 Fri, 14 Mar 2025 08:27: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=FaPW=WB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tt0O5-0006YE-HP
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:27:25 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20604.outbound.protection.outlook.com
 [2a01:111:f403:2413::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26cfb2f8-00ae-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:27:23 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by SJ0PR12MB8139.namprd12.prod.outlook.com (2603:10b6:a03:4e8::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Fri, 14 Mar
 2025 08:27:20 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.027; Fri, 14 Mar 2025
 08:27: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: 26cfb2f8-00ae-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fQEAXyy8ew242E+TPJ9VX5cSovQ4Clj94jBPlnprbjtwunOAvmmH11T4vR1vtX1DNGFQzFLnMgSnIn/AeyUE2uEGFcO5kv5VUeU6quppLuYLAlKAPqKM4FI++ml70ZX3FQ8pvvzDc8c0zu1cBD7pFYUBiGigQm7tPC4Q2ynxHXL3V3GKGiIv6UT//Jal3wDWkEZXh2RbzhV3cYNCT9c1BpIqaeUzWKdCJ0qFjF7EVE2SHuKoOPe9+rzPKBSu1PN94334GsrWqtGH2MRHXHGStG70I8VTbyBxVQpCSw/rZ8anUKbj1v2kW0gFQdyHGPEqiMAzqxr+TdUm2hPfuZQYTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u6xLy6Dm3oA6iKy2bgzZ1pJy4RJlVZC6iXu7JlWoF9Q=;
 b=yKHuLtB4zFmLvMxdqmakK/yC0b4p8hqgkHVUPWjpN3assF3UDz8p0IM508ZKD0x+6BcFRG29AOxzaQSHeLg7b+AIrwHSY3LHDH+lVwLl5CqSw7sE48VBD2OPlT855HLhdjVVW5iAtC/No7vVZzqHoDIS6A2x2ePu3guZNzYrvAPuIbGTW1jdwIJn3WbS0rDHcHWZHe/3ypOr1l6wF3dp/K2TBPnZ8MybVvZvtEyHPh+jqmYi/iN4BXW9W4zWLfAOphKXc5HYwdiOAmTKU1EVTlC52xUHQpIbbZ/txayW+R7jKYO5feyHP5E6DuSOR1wuCpcZg4tTSkaDcDthxWKOSg==
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=u6xLy6Dm3oA6iKy2bgzZ1pJy4RJlVZC6iXu7JlWoF9Q=;
 b=iDlDaAG8WPT2uIQFJjai4SdmSugNwAdiKfKpj5E6M8j5X/Xss3pJ8pBzJrlTfWrpRfMVETSRqX3byEDbuKgtgkgLgNcvxpx8YB2wJfwG7AVxbjnJZ8X8NfbDMgQAz73MyyXq52Rk9GqHa0ciWZhXkPJumZD8GR9XFHeo9q2TeEo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <40606489-99b4-4cc3-b202-9abae4cd1ec0@amd.com>
Date: Fri, 14 Mar 2025 09:27:16 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 10/10] arm/mpu: Create the skeleton for MPU compilation
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-11-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250312135258.1815706-11-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::19) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SJ0PR12MB8139:EE_
X-MS-Office365-Filtering-Correlation-Id: 0344a0fb-c165-4ba3-d9b9-08dd62d20978
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?NVJRUEVsZElkTVNjeTJBVDRqeDBWOGl4bUc5dEV1VTdidDJjZDVPZE1BRGNR?=
 =?utf-8?B?aHgwVHpqdTJOcHJGbzIwYnVGNHM1T0hGV2JuNmxKd0pxOGpsMmJNb29mY29H?=
 =?utf-8?B?Q0NYZitPcXA0Zml6UjlRTlBDTXVlS0JzdGkycnYvQVVDa3hhV1dFOTBlUXNN?=
 =?utf-8?B?K0owdjNKSzBrRnVEb3MrdjY2azVNUFM0ZDUyb1NrK290dmZrcHBEcW9vRjR1?=
 =?utf-8?B?UlJacDhiZHozU3c4UWtoVU5YRFlKeHNVZEM5RlRwL1dYSG5HMTZqaG9wZjNp?=
 =?utf-8?B?ZzR5eXBnUzUrdzJOZ01CcVhjK3BzbVJkZDlWQklZei9TVHgwNzFGUkwyeG1p?=
 =?utf-8?B?cmlDeVFQenpxR1JNMk0zUlVJMldiRmxMOWJ6aVpaQ3p4ME9EektqYW91SG9N?=
 =?utf-8?B?WndwbVFWZjlMUWQxUzZhcUZOUU93VnV6OWVRZjF1RFlscDdFZ25xU1lZUDQy?=
 =?utf-8?B?bHdUUytHS29kOFE2aTAyKzBycm5NSGplMzk3UXIwU1M2K2hiMmpSZDBmTmxn?=
 =?utf-8?B?Z2pwTncyS2JyR0FrNVNsSUxXU2xVdVVUUndjUXZpb28xNTcrVGxQeEMrbGlZ?=
 =?utf-8?B?a1FuM2tzNmVGMVp1TW0yZUFEdzlVeHNIeXpkV3pKdXRiaGwvZUlLcU5KZWxq?=
 =?utf-8?B?bEgvWkFVeElFZlA5WkExdlg2Q2w5d3BxdVJMc1ZneEg3TFJFZktFVTF2YjF6?=
 =?utf-8?B?SXR1WlBqYWJ6K3AxT0NVc0NkOEdSU1p0cTF5RDFDZnVhREtWalp0QXZqNTdF?=
 =?utf-8?B?VVExTElrU2hnRzU4OEU3aWJQeGFzZ3JOTWtMUDV6emJrcmNkNVNqd2lrMDgw?=
 =?utf-8?B?NFoxSzM2OUFDVE56VUZVbnlWd3p4WnJYc1g0aXBiVlNPd1dzNjJhNmo0Zzdo?=
 =?utf-8?B?a1lJMU1LeXIveC9WT05zNkllTHRXbld2ZlVtd3FMdjB6c29mUjQrdEhNSzNu?=
 =?utf-8?B?Zld5anl4Z0pOR1Awc1kwOHo2RmxnbDlvYWF4dVlPSkZIcDkrYXhNb1hOWHVV?=
 =?utf-8?B?YWRxRXh4WmI1TFpNYy82ZE5YR3diaVpJM05ZVUcvTHFtd2pldVViRDFDTGp2?=
 =?utf-8?B?aEZEc3V6NGJqdXQvWTRySHAyVWFlYm1qM0FqemVtb1grbWFOeXN0c2VyV3VW?=
 =?utf-8?B?ZUgvMHkxcS9EVEk2RExGMCtqYlpyYmM0QU56YlJYdkMzQ1FsVlZSd1Z2K1No?=
 =?utf-8?B?aHArZjY0cGRUNnJLRDM5bFo2RS9MbUcvai80dVVaVkNTTVFVeEw5OEg5MjNT?=
 =?utf-8?B?RytBWEJuU09LRE8vaTZSTVdRLytwSy90MzhGQTdZc1UzNGlEcEYwVjQyZHQy?=
 =?utf-8?B?WU9UKzkrV3g4aExNMGVrWkRaRVVHallRWE90SGdtdGRQSko0MU1vUVRiU0Nm?=
 =?utf-8?B?ZXo0eE96U085V3didWZodHhBVmt6QzBMcWJuczBmRUFuL1gzUC9ibmNNR0FE?=
 =?utf-8?B?NnJ4eElyV0IvTElBRXRLelYrWmo5MXgxR25qTEIrZnZibVJ4M2dHMEp0NzNo?=
 =?utf-8?B?OTEzM01hVVFaZjJmUkQza0pjZkFnajQ0NTBXSkxHbmpFWExQUzNiUG0vNkda?=
 =?utf-8?B?eStlR2VackhvKzNKYnpVd3ZVNStyUXZTRDBHZXVRTHVsUW1zY2FYdHdOSERR?=
 =?utf-8?B?YTZaNlpVYnBmZmdCYjRza1cvQllIU1BTeE5vdHBveXU0dVd1aUhCMWt5L3U2?=
 =?utf-8?B?QzdoclFDL2N3NFRHZ1N0djZZUEJyemZWa0hER2lCckRiT1hSdjkwSGhjQ2dE?=
 =?utf-8?B?M0FnWmJwNFRBSnFmRzRPVlZuWW5MODVxNU1wdXRhS1VyRDBueTcxaGZ3dFhD?=
 =?utf-8?B?SkkwZlQ0MHFZQ3c1QnlzSnhiYzN4MWhjUi96anc0bEFWVXVLaDhBZ0R3Q29a?=
 =?utf-8?Q?snBuhoudGY1es?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?MjJCdFoyTUdid0g3S2FBcStTU3dsR0lGRFdRc2ZuSC92cTZSdXBkTHRLWlc5?=
 =?utf-8?B?NTFVTDhOSTdrT2dhRCtCWGNrTDUyOHVEbUtNNWpIZytBMEgzOTI0YzRnYTJu?=
 =?utf-8?B?b2ptSWY3RmgzTWJpYm5GbU5PRmZhMEtIRTFodnVXN1dGVnB4YjBSc1pEUEtV?=
 =?utf-8?B?TFdpZDdzMVU0Vnk0TVJObWVqTVdpTkswOHF5OVcwMFF6alpEdlJ4N2R5c0k0?=
 =?utf-8?B?cmxlNHVHRWhiNDBNNjFGWnV1aFBpa2lmZ1RDWUF0SDhjazY2VFpVOUVDQTF4?=
 =?utf-8?B?WlR6UHVzTVhDTUc2S3pPaG8rcEl5c2svemd4RnpxamJlVGRPell5dnMydENw?=
 =?utf-8?B?VEVsNmlWNUdURSsweCtvWk9Nc0RMU002c3BVbitsK0c1NFVwaitYeVdOZkg1?=
 =?utf-8?B?ZG9kbStBZFpKcWw5ek5ZWVUzazM0UGpyWng4Y2lST2dMVzl2ZllJbnFMQ2dm?=
 =?utf-8?B?K0duVW11ajNlMVdONDRYTDh5b0dQb1dnTDZTMHlYTWkwK291allEMlJwRXRq?=
 =?utf-8?B?bDVidDNrYVRvMlZ3VzZ6QWsyU1A2bUpCWm5mOTVRdithb3FrMi94Y1FuNlRR?=
 =?utf-8?B?Zm4xZTcxU3lWQlE1MWhoK2xxd3pYZkYrZHQxUm1HTmx1OCsrY0ZoMGRXVlla?=
 =?utf-8?B?TXlIMWI0ci9iREUvcVBkUytVanovbStKMlFwT3dna1c2N254NUJZdk5KNmJP?=
 =?utf-8?B?MVBJZ0UvYTJSNU8ra0w5YU5RcTdONDNWbktJT1pWWk13cVhjU0tJREFxRnQ4?=
 =?utf-8?B?T2NHSWNqZXZLNU5QWTJTK0JXSHBFdk9sSnlHd2c2N1pNaEU1bThaTGkxc0Fi?=
 =?utf-8?B?aXJpcnp1eGF1VmRGbnh5YUdGV0FXMlNIOGt6OGx1bmJMaTc4Nmk4Yk1LZXI3?=
 =?utf-8?B?emtKMytpQitlNll3YVlUSXJHQm1LMllZQVpIQUhDVXBYQkQ5cWFIUGtYbjFU?=
 =?utf-8?B?TVlMVWxoQTc5ckwvUVo2Y3RlSUk5RGVwQUFaYWZUQ1FnNWJ1dURONFFERkNW?=
 =?utf-8?B?YUE4NkREY3lJaUI2M2NxZWMzOHhiS3BoaWtjcWxmTHcyV0xCSlFMcXRnYm9B?=
 =?utf-8?B?Ri9RRlZnMXU2WVdlL25iVjRaYjZCZzQ1RWZNNlpla2pQV1FZaDBaenVuWHh3?=
 =?utf-8?B?TU1BQkJiSHRPY29jUzJ0cjVLZ2dEWWJRTTR6NExQaWlnVWNGTTVDVlpIM0Fu?=
 =?utf-8?B?YmJLYVM0VWNNZVIxSU1jUVdoMkNPN3JSZFRjT2Y5bGdTOGxtd0k4TTl6UlZ0?=
 =?utf-8?B?eHFtMnpYMWI2NUkzS05zdEdHMWI0bTJVeGNOb0djM21obUM0UjdQaGFROG9i?=
 =?utf-8?B?L1JpamROWUlrZ0Q1LzlrcDZLMWZQWWVyNWdVRG41UTBIM3cwL1pjYzI5M3Ex?=
 =?utf-8?B?dVJVTkJZR0pXazRVcFczRlNYTG1Vb2FYWGlIdFplN0VaWTFRNGJYekVpN3VE?=
 =?utf-8?B?SnI3U2g4MWl2ZXJhWUhSOGp4UmprcXVnMmRFdmpmSWNuU05DZGlZTFprOFha?=
 =?utf-8?B?am43U3FjQTI0dFBGZEFDUjBGYXZMQmJTcXIvMjM3eVFwSzRHN3BWOU0xZ0J2?=
 =?utf-8?B?Zjh0RE9QN0QzcEEzYVNUZXNrSE9DcllvRkljTEhPaTlvY0ttOUdPc1p5ekFG?=
 =?utf-8?B?UG9qV1RDSVV0VkZWa1RaamNIVVBJdGRiTXAvTEJxSU9lc3NxZk5pRngzQi9s?=
 =?utf-8?B?QjBVNUJHNkNuYkFUMllleTZmR2FWNS9kR2JHOFd6bFlCMUNBUHpMRC9XZnFz?=
 =?utf-8?B?ZXNXVFdLdFJkTXNpSUlhc1JJeEdESXoyZFVXd20xUFE3dnluSi9CZzVBN0Fx?=
 =?utf-8?B?bzJndGY4eE9tTW1JWWZzWHh0YUJ3VGcyT3B1TE10WTBMcVNreHoxT3ROQkh5?=
 =?utf-8?B?SzVLbE93dkp4T1BhRDI3dXEvVkp3SEFOMzdHUVNTYTh0RHY4Q0dzdnZYQXY5?=
 =?utf-8?B?cFVNckNsU01ldHYzbUM1eVdJY3FOak1Dc1hPN3BtdHlGNnF6QW5RczJCMnJU?=
 =?utf-8?B?MlRvRzBWTktxK3ZWU2QvcEdhdXl3MTJmZXU2QitWNWZYdS9ueHIwQlZrMjVx?=
 =?utf-8?B?c1Z1T3NBZU5qb2tyVUkwcFR5NTNDb3pSaTJaWGFBZmUrR2kwd2U3YWQ2cjJq?=
 =?utf-8?Q?o+T+DREWBzgtTy+jMWnS8bw3z?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0344a0fb-c165-4ba3-d9b9-08dd62d20978
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2025 08:27:19.9601
 (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: dNOcUHRwhXyc3MLLEIQLncyPc4idGvTqZafwUAj0faWFzSC2+N5T8xTT1tQBmITV
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8139



On 12/03/2025 14:52, Luca Fancellu wrote:
> 
> 
> This commit introduces the skeleton for the MPU memory management
> subsystem that allows the compilation.
You forgot to mention that you're talking about Arm64 only. For Arm32, Ayan has
a series containing a few patches to enable compilation.

P.S.
Once your series are merged, I'll send a patch enabling CI compilation for both
Arm64 and Arm32 MPU.

> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> The implementation of setup_virt_paging() is under arm64/mpu
> because it will have a different implementation from arm32.
> ---
> ---
>  xen/arch/arm/arm64/mpu/Makefile    |  2 ++
>  xen/arch/arm/arm64/mpu/p2m.c       | 18 ++++++++++
>  xen/arch/arm/arm64/mpu/smpboot.c   | 23 ++++++++++++
>  xen/arch/arm/include/asm/mpu/p2m.h | 20 +++++++++++
>  xen/arch/arm/include/asm/p2m.h     |  2 +-
>  xen/arch/arm/mpu/Makefile          |  1 +
>  xen/arch/arm/mpu/mm.c              | 22 ++++++++++++
>  xen/arch/arm/mpu/p2m.c             | 58 ++++++++++++++++++++++++++++++
>  xen/arch/arm/mpu/setup.c           | 24 +++++++++++++
>  xen/arch/arm/mpu/vmap-mpu.c        | 24 +++++++++++++
>  10 files changed, 193 insertions(+), 1 deletion(-)
>  create mode 100644 xen/arch/arm/arm64/mpu/p2m.c
>  create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c
>  create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h
>  create mode 100644 xen/arch/arm/mpu/vmap-mpu.c
> 
> diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/mpu/Makefile
> index 3340058c08c6..cf0540aecc84 100644
> --- a/xen/arch/arm/arm64/mpu/Makefile
> +++ b/xen/arch/arm/arm64/mpu/Makefile
> @@ -1 +1,3 @@
>  obj-y += head.o
> +obj-y += p2m.o
> +obj-y += smpboot.o
> diff --git a/xen/arch/arm/arm64/mpu/p2m.c b/xen/arch/arm/arm64/mpu/p2m.c
> new file mode 100644
> index 000000000000..df8de5c7d823
> --- /dev/null
> +++ b/xen/arch/arm/arm64/mpu/p2m.c
> @@ -0,0 +1,18 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/init.h>
> +#include <asm/p2m.h>
Why do we need to include p2m.h at this stage?

> +
> +void __init setup_virt_paging(void)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/arm64/mpu/smpboot.c b/xen/arch/arm/arm64/mpu/smpboot.c
> new file mode 100644
> index 000000000000..3f3e54294e54
> --- /dev/null
> +++ b/xen/arch/arm/arm64/mpu/smpboot.c
> @@ -0,0 +1,23 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/mm.h>
I can't see anything mm.h related here. I'd expect types.h/stdbool.h and bug.h

> +
> +int prepare_secondary_mm(int cpu)
> +{
> +    BUG_ON("unimplemented");
> +    return -EINVAL;
> +}
> +
> +void update_boot_mapping(bool enable)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/mpu/p2m.h b/xen/arch/arm/include/asm/mpu/p2m.h
> new file mode 100644
> index 000000000000..e5c0e302167c
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/mpu/p2m.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
Empty line here please

> +#ifndef __ARM_MPU_P2M_H__
> +#define __ARM_MPU_P2M_H__
> +
> +/* Not used on MPU system */
I personally don't see a value in such comments. Initially when there were just
1, 2 instances I was ok, but then I realized you keep adding them. It's pretty
clear that if a stub does not have BUG_ON, it means it's not used. I worry the
files will look awful with so many "Not used on MPU system" comments. If at all,
the only place they would make sense is if they were in MMU/MPU common code. Can
we get rid of them completely?

> +static inline void p2m_clear_root_pages(struct p2m_domain *p2m) {}
You should at least forward declare struct p2m_domain.

> +
> +/* Not used on MPU system */
> +static inline void p2m_tlb_flush_sync(struct p2m_domain *p2m) {}
> +
> +#endif /* __ARM_MPU_P2M_H__ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
> index 594dc4004138..2d53bf9b6177 100644
> --- a/xen/arch/arm/include/asm/p2m.h
> +++ b/xen/arch/arm/include/asm/p2m.h
> @@ -168,7 +168,7 @@ typedef enum {
>  #if defined(CONFIG_MMU)
>  # include <asm/mmu/p2m.h>
>  #else
> -# error "Unknown memory management layout"
> +# include <asm/mpu/p2m.h>
>  #endif
> 
>  static inline bool arch_acquire_resource_check(struct domain *d)
> diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
> index f1417cd1b9db..a963b35db88d 100644
> --- a/xen/arch/arm/mpu/Makefile
> +++ b/xen/arch/arm/mpu/Makefile
> @@ -1,3 +1,4 @@
>  obj-y += mm.o
>  obj-y += p2m.o
>  obj-y += setup.init.o
> +obj-y += vmap-mpu.o
What's the point of adding -mpu suffix to the file located already under /mpu?

> diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
> index b196661a2312..12703c4f3d4f 100644
> --- a/xen/arch/arm/mpu/mm.c
> +++ b/xen/arch/arm/mpu/mm.c
> @@ -18,6 +18,28 @@ static void __init __maybe_unused build_assertions(void)
>      BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
>  }
> 
> +void __init setup_mm(void)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
> +{
> +    BUG_ON("unimplemented");
> +    return -EINVAL;
> +}
> +
> +void dump_hyp_walk(vaddr_t addr)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +/* Release all __init and __initdata ranges to be reused */
> +void free_init_memory(void)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
>  void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
>  {
>      BUG_ON("unimplemented");
> diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
> index 7525d9b00bcb..b059c86bde43 100644
> --- a/xen/arch/arm/mpu/p2m.c
> +++ b/xen/arch/arm/mpu/p2m.c
> @@ -4,6 +4,64 @@
>  #include <xen/domain.h>
>  #include <asm/p2m.h>
> 
> +int p2m_set_entry(struct p2m_domain *p2m, gfn_t sgfn, unsigned long nr,
> +                  mfn_t smfn, p2m_type_t t, p2m_access_t a)
> +{
> +    BUG_ON("unimplemented");
> +    return -EINVAL;
> +}
> +
> +mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t,
> +                    p2m_access_t *a, unsigned int *page_order, bool *valid)
> +{
> +    BUG_ON("unimplemented");
> +    return INVALID_MFN;
> +}
> +
> +void p2m_dump_info(struct domain *d)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +int p2m_init(struct domain *d)
> +{
> +    BUG_ON("unimplemented");
> +    return -EINVAL;
> +}
> +
> +void p2m_save_state(struct vcpu *p)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +void p2m_restore_state(struct vcpu *n)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +void p2m_final_teardown(struct domain *d)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +/* Not used on MPU system */
> +void p2m_flush_vm(struct vcpu *v) {}
> +
> +bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
> +{
> +    BUG_ON("unimplemented");
> +    return false;
> +}
> +
> +/* Not used on MPU system */
> +int relinquish_p2m_mapping(struct domain *d)
> +{
> +    return 0;
> +}
> +
> +/* Not used on MPU system */
> +void p2m_domain_creation_finished(struct domain *d) {}
> +
>  /* Not used on MPU system */
>  int p2m_teardown(struct domain *d)
>  {
> diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
> index 45214bfeb661..28119e008341 100644
> --- a/xen/arch/arm/mpu/setup.c
> +++ b/xen/arch/arm/mpu/setup.c
> @@ -2,12 +2,36 @@
> 
>  #include <xen/bug.h>
>  #include <xen/init.h>
> +#include <xen/types.h>
> +#include <asm/setup.h>
Please sort alphabetically

> 
>  void __init setup_mappings(void)
>  {
>      BUG_ON("unimplemented");
>  }
> 
> +void * __init early_fdt_map(paddr_t fdt_paddr)
> +{
> +    BUG_ON("unimplemented");
> +    return NULL;
> +}
> +
> +/*
> + * copy_from_paddr - copy data from a physical address
> + * @dst: destination virtual address
> + * @paddr: source physical address
> + * @len: length to copy
> + */
> +void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +void __init remove_early_mappings(void)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/arm/mpu/vmap-mpu.c b/xen/arch/arm/mpu/vmap-mpu.c
> new file mode 100644
> index 000000000000..cb92407476de
> --- /dev/null
> +++ b/xen/arch/arm/mpu/vmap-mpu.c
> @@ -0,0 +1,24 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/mm.h>
> +#include <xen/vmap.h>
I don't see any use of vmap.h in this file

> +
> +void *vmap_contig(mfn_t mfn, unsigned int nr)
> +{
> +    BUG_ON("unimplemented");
> +    return NULL;
> +}
> +
> +void vunmap(const void *va)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.34.1
> 

~Michal




From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:30:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914010.1319838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0R9-0001Fk-If; Fri, 14 Mar 2025 08:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914010.1319838; Fri, 14 Mar 2025 08: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 1tt0R9-0001Fd-G9; Fri, 14 Mar 2025 08:30:35 +0000
Received: by outflank-mailman (input) for mailman id 914010;
 Fri, 14 Mar 2025 08:30: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt0R8-0001FX-37
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:30:34 +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 95f86ff7-00ae-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:30:29 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e64700a38cso2742928a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:30:29 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e8169b04e5sm1740719a12.35.2025.03.14.01.30.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 01: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: 95f86ff7-00ae-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741941028; x=1742545828; darn=lists.xenproject.org;
        h=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=RerXeC9ll5YfPm6IfD3QPYvFKchMgNq3OiVCh0tACcU=;
        b=DPgB6KlY6+YZUeYZ4rmh27RxOx6wLYcqkNuMfJAfqxcMkfVMLIkw/NoCx7kGXG15t4
         OxJeSxsLFAVnESKVzJfW5ejS7zbEH4yp3hSpASF4DFtr3IGx7p4XSu7oP6PwwOL9s5Ct
         KZdm3ySTX1Ne6MGxXnAzoyamwZQU3w5tFRDxs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741941028; x=1742545828;
        h=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=RerXeC9ll5YfPm6IfD3QPYvFKchMgNq3OiVCh0tACcU=;
        b=UKYVDovloDkxUsn0kWhgGhsxczYZjh7DQIRzfSRhAYGNa5+hEBX/vEFuOKvLoyKwRZ
         ZGYVkQ6jB9cEKyO5bPHV2Ojj7H0flLA0CFlOqU5hKNsegRAZTawguHoyHMiPCOl6WYks
         7NrjP+4NWg8C7qKTfWynJMrL/rjm5EoJCJr0MAsy0gAyQ4eGVnstRnqt85wyn1n9SAZu
         jWlYXSQS+LlhCPsPGMoe3ywE/4lijb1XwSeBFrVCMlTGLjSVkBgtn7fQafQC6OtCHwhU
         Chn3vGxQbonmMhTQQ+CaVbbsFv0pu12C7g7FRS1CAR28JgZ73q1IppbCfJ5I/xnQ/1Qn
         QyxQ==
X-Forwarded-Encrypted: i=1; AJvYcCX+Y08fYtaTTav5l4lQUnXoEgwc44z+RXtaK6kcUxXBlk1LBnEy/HqT9iIauAf+1NYw88PCFeT5z3E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzd6fYJ2skjQdAk72LJQliPYsMBaho/QaMwGj1R4awqEiytGafH
	ZTTLWP/RVXwWwf9gtEZa20gqFMjeIwWP1Vvu2yJij3qvIFtfMbphcipmQ6d8QCc=
X-Gm-Gg: ASbGnctmp0Wq9aaOvTML6Q8mNx+4QQTsdTto1UYg2Wb80aJMud7cG+Fli1GRc7whTm8
	WPozavwm/0EVTDCW/MgKU+otvJnzS97hxXsEINF2XGv0xAFgPkEXa8u63wOpA/UyL/WMOHLPxdP
	GxoZvZLzBTMii8Ak4NK2LESVakTurEzSbZH5QV1BC3P8fnrbXIwhHrFwLENcnHMCMrWcxIuisP8
	YY7SHzsYW3/rIBTuX12KLmk3yF8QRQLkNE6B2IWfLdW1VT+jkxlWw43rXE5Iyy3ubLwaWXCHipD
	TjzXBFpp74tECw6sgXgqtG1+bdqouxET012/88VC0g8UVubnFA==
X-Google-Smtp-Source: AGHT+IFNA1AsHVhG8fwh63Cur3fvsjFKHLU7vyIC4XBzKFXMS2nauT8+3dhq9UofBiBr/VWJxWjcwg==
X-Received: by 2002:a05:6402:35ce:b0:5e6:e68c:9d66 with SMTP id 4fb4d7f45d1cf-5e89f1532d1mr1519374a12.8.1741941028402;
        Fri, 14 Mar 2025 01:30:28 -0700 (PDT)
Date: Fri, 14 Mar 2025 09:30:27 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
Message-ID: <Z9PpI8KQnA_gHy9e@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>

On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
> On 13.03.2025 16:30, Roger Pau Monne wrote:
> > When enabling UBSAN with clang, the following error is triggered during the
> > build:
> > 
> > common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
> >   154 |         "push %%rbx; push %%rbp; push %%r12;"
> >       |         ^
> > <inline asm>:1:121: note: instantiated into assembly here
> >     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
> >       |                                                                                                                                ^
> > common/wait.c:154:9: error: symbol '.L_skip' is already defined
> >   154 |         "push %%rbx; push %%rbp; push %%r12;"
> >       |         ^
> > <inline asm>:1:159: note: instantiated into assembly here
> >     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
> >       |                                                                                                                                                                      ^
> > 2 errors generated.
> > 
> > The inline assembly block in __prepare_to_wait() is duplicated, thus
> > leading to multiple definitions of the otherwise unique labels inside the
> > assembly block.  GCC extended-asm documentation notes the possibility of
> > duplicating asm blocks:
> > 
> >> Under certain circumstances, GCC may duplicate (or remove duplicates of)
> >> your assembly code when optimizing. This can lead to unexpected duplicate
> >> symbol errors during compilation if your asm code defines symbols or
> >> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
> > 
> > Move the assembly blocks that deal with saving and restoring the current
> > CPU context into it's own explicitly non-inline functions.  This prevents
> > clang from duplicating the assembly blocks.  Just using noinline attribute
> > seems to be enough to prevent assembly duplication, in the future noclone
> > might also be required if asm block duplication issues arise again.
> 
> Wouldn't it be a far easier / less intrusive change to simply append %= to
> the label names?

That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
won't be able to make a jump to the .L_wq_resume label defined in the
__prepare_to_wait() assembly block if the label is declared as
.L_wq_resume%=.

Also we want to make sure there's a single .L_wq_resume seeing how
check_wakeup_from_wait() uses it as the restore entry point?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:33:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914024.1319849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0TZ-0001ur-VR; Fri, 14 Mar 2025 08:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914024.1319849; Fri, 14 Mar 2025 08:33: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 1tt0TZ-0001uk-ST; Fri, 14 Mar 2025 08:33:05 +0000
Received: by outflank-mailman (input) for mailman id 914024;
 Fri, 14 Mar 2025 08:33: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt0TY-0001tJ-Pl
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:33: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 f1843369-00ae-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:33:02 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-38f403edb4eso1030023f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:33: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-395c7df3512sm5058086f8f.12.2025.03.14.01.33.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 01:33: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: f1843369-00ae-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741941182; x=1742545982; 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=nwBNWw9Yoa+2bqIsjD0tJzd3lQnt2MxGFLSRe/bpgrY=;
        b=IeuZA16nGh3btQtzarC6bJdvk+Z1TSmbd4I7UieG+YubDVfrSvp9EHmV8Yx8r0Uu/Q
         oaKwJ6kL9Gt/RRkaMS2I+4BQ5evcdtf5hcUYdS3CRo5pvH2yU2//dUa8+HHE02IC454S
         20M5uA4HdxajlHRbw2/e+5KqKl4hdPGWuoSjZHqkvgmBlymM4iikOSLVpoQILTkKe/rh
         YUArKDnDFwNJl56Vs0jxme9+K1VZzCr/x9F1OZDZY16LAtpKvljAwfd9ilAPte5Xx2Yg
         y9vGzbNZ//YQCXop2N8E68r+F6yfT8Czcff4PQk25BUmSSJ2rj6fEuW6ukTfn7D8fNy7
         y3Zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741941182; x=1742545982;
        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=nwBNWw9Yoa+2bqIsjD0tJzd3lQnt2MxGFLSRe/bpgrY=;
        b=bUen0r/KZfp4E6iv0y4CAjFZ3WBcClvEnlxShFAwfVVxbKsHreowBibZY93dY4W0NI
         fA9dxzpjFEMo/hzwOvHDXb86NYocyf+bJA9o2/BPamVgs0OsJfSNnFrk4Re6+yZmiufo
         jZST7ZnpMhftZZxjZKWp1jwoQZ5yS1MjtDUWR9WHIWcKGwUZ/CTtmLcFZyGA8xejravr
         4FsLMTutykyEC+ulQZstfo7p14TIy0YmauSb0YTBXAEeaNQyAx+KiI9LgzTZ1Bb5pgkd
         BYhDrHVRwOfwr/FM4Pbekh1BJXkHS3MXLRI1eqdweLg0nJhEjgS+SBn4m4ApkxtGtjnr
         zXeA==
X-Forwarded-Encrypted: i=1; AJvYcCVg7nehCz5GUEX4bT18vEnaP8IDJVP5wOGLIe/7PUfyvSTFRHMm30/Nd5bTvtA15ILmYoYL3eEj9U4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyMsuf6jLk9Bziyvzek6aZ6KDFrDqJ6FH8l8+PtCcbigdTuSEmf
	p692TegCrLYweb+8iy83jtUHyrCoM3nqc0mKW2QWuZBLrO+lKlceWntXaRag1fO3p7e6GZbQ1sI
	=
X-Gm-Gg: ASbGncvxDgUhsodonI2zadHWpNcGSoc4UXS5dIk5Wu4UcbbOKG7Xxk9oIAKe9zdDCKb
	PnHu0bOcVNb4iDmowFmTI5r7Nub3Znx2MlgsuTyy29YFMuY5xQuhRBOXUXFe9WiMP+3IyaobgJF
	74UNajVJnnaXGNKGYHsAgSm2JyaVtYYNp48i8ktGRHOoNI6ahaVZKuvA+n1GC6WuH6x22hde1qg
	dMUlEaju1qHC6Xof0E0fvfBeqFhaiELXgwO3JFg6aiacTIMV8KCA0cREHlzxtZsPtv1eGUpY2Ip
	p6Lsjz3iLQB2nVV3zRrna3h60wu39F/aIswDjDa+/a+KleJcCAAjA0sHm6w7nsOZ/6uKoNxB8q9
	8jF2YQxFbQ001TVVV/gPl43+Amnz+FA==
X-Google-Smtp-Source: AGHT+IH3LFF91aKNRj9XkaVOf9J2HzBtCvgJYOTz+CWJoNtdam1wyjEg7c7ShBYNGnf9Wz8wpFrM6g==
X-Received: by 2002:a05:6000:470a:b0:391:9b2:f48d with SMTP id ffacd0b85a97d-3971e686fdcmr2238579f8f.33.1741941182048;
        Fri, 14 Mar 2025 01:33:02 -0700 (PDT)
Message-ID: <f5eb7710-c709-46a0-9821-bfc147d8cd53@suse.com>
Date: Fri, 14 Mar 2025 09:33:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] x86/dom0: placate GCC 12 compile-time errors with
 UBSAN and PVH_GUEST
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
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-4-roger.pau@citrix.com>
 <eaf90340-929c-4c89-99cf-0383918e9d5a@suse.com>
 <Z9PobmG8lDy-oscG@macbook.local>
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: <Z9PobmG8lDy-oscG@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 09:27, Roger Pau MonnĂŠ wrote:
> On Fri, Mar 14, 2025 at 09:10:59AM +0100, Jan Beulich wrote:
>> On 13.03.2025 16:30, Roger Pau Monne wrote:
>>> When building Xen with GCC 12 with UBSAN and PVH_GUEST both enabled the
>>> compiler emits the following errors:
>>>
>>> arch/x86/setup.c: In function '__start_xen':
>>> arch/x86/setup.c:1504:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
>>>  1504 |             end = consider_modules(s, e, reloc_size + mask,
>>>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>  1505 |                                    bi->mods, bi->nr_modules, -1);
>>>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> arch/x86/setup.c:1504:19: note: referencing argument 4 of type 'const struct boot_module[0]'
>>> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
>>>   686 | static uint64_t __init consider_modules(
>>>       |                        ^~~~~~~~~~~~~~~~
>>> arch/x86/setup.c:1535:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
>>>  1535 |             end = consider_modules(s, e, size, bi->mods,
>>>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>  1536 |                                    bi->nr_modules + relocated, j);
>>>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> arch/x86/setup.c:1535:19: note: referencing argument 4 of type 'const struct boot_module[0]'
>>> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
>>>   686 | static uint64_t __init consider_modules(
>>>       |                        ^~~~~~~~~~~~~~~~
>>>
>>> This seems to be the result of some function manipulation done by UBSAN
>>> triggering GCC stringops related errors.  Placate the errors by declaring
>>> the function parameter as `const struct *boot_module` instead of `const
>>> struct boot_module[]`.
>>>
>>> Note that GCC 13 seems to be fixed, and doesn't trigger the error when
>>> using `[]`.
>>>
>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>> ---
>>>  xen/arch/x86/setup.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>>> index 4a32d8491186..bde5d75ea6ab 100644
>>> --- a/xen/arch/x86/setup.c
>>> +++ b/xen/arch/x86/setup.c
>>> @@ -684,7 +684,7 @@ static void __init noinline move_xen(void)
>>>  #undef BOOTSTRAP_MAP_LIMIT
>>>  
>>>  static uint64_t __init consider_modules(
>>> -    uint64_t s, uint64_t e, uint32_t size, const struct boot_module mods[],
>>> +    uint64_t s, uint64_t e, uint32_t size, const struct boot_module *mods,
>>>      unsigned int nr_mods, unsigned int this_mod)
>>>  {
>>>      unsigned int i;
>>
>> While I'm okay-ish with the change, how are we going to make sure it won't be
>> re-introduced? Or something similar be introduced elsewhere?
> 
> I'm afraid I don't have a good response, as I don't even know exactly
> why the error triggers.

One option might be to amend ./CODING_STYLE for dis-encourage [] notation
in function parameters. I wouldn't be happy about us doing so, as I think
that serves a documentation purpose, but compiler deficiencies getting in
the way is certainly higher priority here.

Trying to abstract this (vaguely along the lines of gcc11_wrap()), otoh,
wouldn't be desirable imo, as it would still lose the doc effect, at least
to some degree.

>  We will rely on the CI to start doing
> randconfig builds with UBSAN enabled (see patch 7/7).

Right. Just that randconfig is, well, random in what it covers.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:39:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:39:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914040.1319859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0ZZ-0004Vl-JG; Fri, 14 Mar 2025 08:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914040.1319859; Fri, 14 Mar 2025 08:39: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 1tt0ZZ-0004Ve-Fc; Fri, 14 Mar 2025 08:39:17 +0000
Received: by outflank-mailman (input) for mailman id 914040;
 Fri, 14 Mar 2025 08:39: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=+rUO=WB=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tt0ZX-0004VY-Rg
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:39:15 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2613::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce905dc8-00af-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:39:13 +0100 (CET)
Received: from AS9PR06CA0509.eurprd06.prod.outlook.com (2603:10a6:20b:49b::34)
 by AM7PR08MB5446.eurprd08.prod.outlook.com (2603:10a6:20b:107::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Fri, 14 Mar
 2025 08:39:10 +0000
Received: from AMS0EPF00000194.eurprd05.prod.outlook.com
 (2603:10a6:20b:49b:cafe::4b) by AS9PR06CA0509.outlook.office365.com
 (2603:10a6:20b:49b::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.28 via Frontend Transport; Fri,
 14 Mar 2025 08:39:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000194.mail.protection.outlook.com (10.167.16.214) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Fri, 14 Mar 2025 08:39:10 +0000
Received: ("Tessian outbound 9ad6b0132486:v594");
 Fri, 14 Mar 2025 08:39:09 +0000
Received: from Ld44f9fc7a888.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B2D79FE5-0C82-4189-817F-63CDB51E8D0A.1; 
 Fri, 14 Mar 2025 08:38:59 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ld44f9fc7a888.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 14 Mar 2025 08:38:59 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 AS8PR08MB9839.eurprd08.prod.outlook.com (2603:10a6:20b:614::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.27; Fri, 14 Mar
 2025 08:38:54 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.027; Fri, 14 Mar 2025
 08:38: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: ce905dc8-00af-11f0-9898-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=hd4u36cZFSnqhGHwvvXz9HwW1wTFt0LqfwAOAS0IfZJLxI35/gI6/679I1y4KHRF3InaKyDQ6bFoqgFKRrK/BwJ6bDnlPBq4qrJlwrJAPVpmS2/oYEBNZdzesHIMma1bVoEkGdW9Qy9gyLmxabavDfIgGjIXNrtKHU1c8f8slM1YIhXCfGMsJLQhmhz7CKZgOamTy59neMWV51MQwJIW+6Jen1XJlm/MPS8G+OyYXkUUhuckQci1zrK5SBR0wBrHhAUh6uik7uXNPg7UUqVqEHh34WGKnwAzYbM4RqfDhIrAYQHj0Pxq2+HEJ5j1KUH44P5SB/Rrx8dS4laMIrB8rw==
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=yIpJ/QXbFcaNW6CU1AOMQJHYaIjIQ2zyIL8VYp/zNEM=;
 b=g71cH2IBHp3XrQc/oTJkpOFzUCNJXZg4Ssg19PuqR9rK2nl35oGft3sJ+Im9ckZZCT2rFRbTfi9lhauN3V0pxPT0GinPba6lHPYXacZoBSTu+NDgHyMfMDWZF7cUQb+0DuiGBLZw3EnZPYmrSWNsTKWGden0GhNCnLphTdyEGudvTIDYn9i52ILMu71eHxnEffqxRFbWF3zefTN9fXcEfV03GLMshh84UKvIdch72/Ca6FQcIjcJ5ax+N1IFxdfEvszcKrjYJJ38GmdBY7kefo86ZggX8ull014ErY40GoB3KQbMqrhc9+T/e2poQ//BRquxvnw/WibFZyKInYbd4w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=yIpJ/QXbFcaNW6CU1AOMQJHYaIjIQ2zyIL8VYp/zNEM=;
 b=kSfXQ91NWkB8LGNyJ0HRfY6PMSWEvv20S/E2E9/RSm+bkD2QJG6YfCAKzCvwOt3C/XbFB3sqyf2yaiXoECkxMF2IAwRuRgoUJI9W7PobrwpptulpmxK0yh/5XRWBIUY0KKCa1eRPAAB2E4630OmNAmb3Ly46of7QkKOwZynaJgI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d1f6a30f01051b06
X-TessianGatewayMetadata: Ax8/LYHpMs+I30xcshHaUtsZF2TZzoKBaZlcphi3p2SspjwxC+/fHJ0OkOyhD2E8JVzpkFuRIFOtGnGjD2OsWQmzvsDe9IORHqiZNN5aaJjgkG0CSZfcZ8qvxfo3E5m8IOgQK4xWt7oyKnFrqXKBC1pJH+OdetljbNNr434c4Io=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iBVueHNuRDpn6vZsWrr/SD5fYeI5Gg/6/VFCjP5Pprp/XIQP7s49xq5OqMJwkaaqLns/Lf9XYsLC32WA/i94+1m32gKizrTLHoM04qQGWjfJp7kHhpQCCdG4osGbKwaTSW5wYC7adKYOV2m7v2K3FYxbb8g6boHaYBAGKwRNlURmGS2J0SkQxepIwMjDKGIUNbuu8mJ8Rs0Fvmjg0kNI4Kv4S62YfEkIBTlrOFyk3AtRGRkt1eIpcBqMa1wOTFuDzg/vUghZOyGfO1dWjQWqb7Bs9z93MBjQSBM6lOCxosEu0HQW4+zvo2qyxjLNKssnlNbqu/fUL0NDe0oLk9t1OQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yIpJ/QXbFcaNW6CU1AOMQJHYaIjIQ2zyIL8VYp/zNEM=;
 b=uAFMzKERgOf9DRm+aCf5BVrPDq9hBqRs7RLmpVYA8JDHxhQ9doGpw0MiC+FRsrDmiAcD+JVHMwWc9cgkY2VieYm0BuYsy8JjSLCn8X5dKwTPIUW7itK/N2/8nZb5W/vhRTDQcu5nFSrPq0+2+TzqEukGeYETswPYtjodhPWTN4y8Pht1huHCiDaa32vYCMhI4RIpaB92zG6QY/pN0H4JDS1iF81+j3UmkkXrGH6u5z1IeLrHx8KdmY8IruLSo77OcS8Ma5CRBSTDiRNM2Qbknas4MMyjaw9kh6Jki6q/X2Fpj6OuM7yGYw6y4bHSnQp+fUgG7IQ862KvDCBH5nmsew==
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=yIpJ/QXbFcaNW6CU1AOMQJHYaIjIQ2zyIL8VYp/zNEM=;
 b=kSfXQ91NWkB8LGNyJ0HRfY6PMSWEvv20S/E2E9/RSm+bkD2QJG6YfCAKzCvwOt3C/XbFB3sqyf2yaiXoECkxMF2IAwRuRgoUJI9W7PobrwpptulpmxK0yh/5XRWBIUY0KKCa1eRPAAB2E4630OmNAmb3Ly46of7QkKOwZynaJgI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.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>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 10/10] arm/mpu: Create the skeleton for MPU compilation
Thread-Topic: [PATCH 10/10] arm/mpu: Create the skeleton for MPU compilation
Thread-Index: AQHblLrsg7FroDMiZEOgcGIzwb6YQ7NyT28A
Date: Fri, 14 Mar 2025 08:38:54 +0000
Message-ID: <0FE3B1C6-3DDC-447C-9C3A-474E47B53299@arm.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-11-luca.fancellu@arm.com>
 <40606489-99b4-4cc3-b202-9abae4cd1ec0@amd.com>
In-Reply-To: <40606489-99b4-4cc3-b202-9abae4cd1ec0@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|AS8PR08MB9839:EE_|AMS0EPF00000194:EE_|AM7PR08MB5446:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ebaf734-ba35-4de5-f9bd-08dd62d3b0f5
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?SWVES0pXYkM5aTRkVkhRSVlmWG1VOWpKbDBFQkwxQ0hVMGhBdWhFenhvU2J2?=
 =?utf-8?B?ZmpTajlvQjJ1TXZSTFhtYm5aUFh1VGk4WFN2STdyYno4Ry8rL3oyME1xK0h5?=
 =?utf-8?B?Q05LWVJRYXU5TGRSWUpuOUc0OGtOM2NTRWtyemFibW5ycHFWN0k2NnNLT3lx?=
 =?utf-8?B?b25XdDl1cE4vdThnamFUYVBMVEtzTVVUQkxKSkxGc2psMlMyL3hNMitvNzVo?=
 =?utf-8?B?bGd3QWJPcHk5WWcyWjd0dmpERU9Ta2EwVVlocjNmNHZqLzhpVnFLdlVLMFVS?=
 =?utf-8?B?eU5KTXg5TWt6cG11SEY5dU1md01QeTIzYWN1dnd5RDFlSk90RUV2d0wzbVY2?=
 =?utf-8?B?dkZFZnA4QjFNekFTTkJwK3d6V01oSlVwSHNFSEt3aFhSeUx6cnBKTWUxejBL?=
 =?utf-8?B?cmRURGJaN1ZocVFmZUMwa3U1SWEzR2pTdUV6bjBxMVlxQUdCTEpnaGMvMjJC?=
 =?utf-8?B?NE1nMFhWSlZtdHZMcWFLNXg4SDRsam1DYjd4QmM5eFpoN2VXZk9rYXFkNlJk?=
 =?utf-8?B?WmFuV1orSFNVM3ZLUjJacGFaWW1rdjBWK2dqemQ5NERtSDNkc29MM0pxVnBm?=
 =?utf-8?B?Mzl4Q29FdmdaTHM4S09OWVhSRlZ2SXFJdWJJTEQ3cFdvSmxmb0lEUE5HVnNs?=
 =?utf-8?B?OUYwMEd5YlpDUFA2Vnc2M2FoVTRlOTlZOGwxRXJOWXBXUGpWbFpwSUdNUm1O?=
 =?utf-8?B?OUVjK0lRcmE2RlhHTzMyQnNMQ1RRQ0FwRHRXdmRvaHRMSzE2VFRnVnVMWkRv?=
 =?utf-8?B?MGRWMG5hRmpPWDZ1OVZNQnF4STFUdTFObVpHcXNlcGh1Rk1kL2ltdzMzZ05w?=
 =?utf-8?B?a1llTlhMWk10Vmp6T28rLzFyaFYwZVpFQUw2SFlQSFIvZkZNSXdQSW1SaGxJ?=
 =?utf-8?B?WlY5bnZiRzJiNTByd2s3M2pqclVwd3BrSU9KUjVCMmo1c3E3b21DaDY5RHZB?=
 =?utf-8?B?blZkeHFCTURGcFUxd256YTFRNEF1UjMrV0wwVXdlSDl1TThUUlBHT2c3MXNt?=
 =?utf-8?B?UEtFamd3RGxZcGIxb2lJTHpPdXhIT0p2endHMGpTRTRoQlpYUzI2QWQrS2N4?=
 =?utf-8?B?RXRZMXkyekpwbCs4QXpuWjBRSTZxcTJ3bTdhTE9KdktHYjA2TkMrUmdtREVU?=
 =?utf-8?B?R1AxSG1ERGZ1bDk4RUJpVFNEdFhlMHI2ckx0b1B1bTJwTjRTVnpPSVFIK0ZY?=
 =?utf-8?B?RFdOdm1ZY004enFiYlowUlZnZUwrYkcyOFo2TXJSVnRZeTBFVXB4TWI0MFcy?=
 =?utf-8?B?Q0NubFR3cWdQVk9BRk44bkZtb2NqbHJKdHVxcE1PTm03VXFLRllSMTdtTTlL?=
 =?utf-8?B?NTE0NlhuVHQ5UHBWTW84V3l6ZjNPK0YrYW45L1hVYldjc1dFTzFVYUZLeHhp?=
 =?utf-8?B?SHpvR2xKZEJON05NZEp4eDNjOHJNTENsb2crZS9zVGhBTkQzS3lGWVR5WUQ2?=
 =?utf-8?B?NzBwWkRUbGl2OHpnVTU1d1NlTVZKaFA3Z1VIekVDdTlzekF6TmJPVklwb3J0?=
 =?utf-8?B?NGE4Q2JCL2NyenBIZGQzaklxTEdURTJzK0VIRGdEZ2dxdWFQLzZPbWpXL1Jr?=
 =?utf-8?B?N3VRK3FmdGJHaW1OK1pJcDFqdzdOR29OWW50K2I3S3dkVFVqRC9FSDJ3TEI4?=
 =?utf-8?B?Y0lEZC8rSStaN2ZST0krSGlmaEFWMTZGOWx0dTNnWTJXQ2tGZ3owZmJ4eGRw?=
 =?utf-8?B?eEJtWmVRcE5BUHEyNmxVTHBGc2YwaHlFc0d5UzBya3FXVG9PTHl2Q2ZlbSty?=
 =?utf-8?B?K0VZRi9hMG41aC9BTk9rZ2I0b0cxTTR5by9QMnh1OG9vL0wrOXNKNExlckhS?=
 =?utf-8?B?ekREVW42NHhHK1d6dFpWNEV3SVpSczU3dHcyZ2xYUHFTUkJ0djBEVExHcm15?=
 =?utf-8?B?V01oL3lKVXFidDN2Qy9XYytLNFFuQnF1YTFFeVB5OXB3Zm9mTEc3ZEVrOFlR?=
 =?utf-8?Q?hnX/iaRDH1CcNM2k2jr3Ekdn+XT50ETf?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <ED5939F992217F4DA70F3EFA540D0089@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9839
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF00000194.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6baa3950-d22b-44f5-63ff-08dd62d3a7a6
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|14060799003|82310400026|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dzkwcnF1aUlnRllwR294eWZMbnVBa2t3bzFVMjZwWUdhOE5yN3lsNVAzbldW?=
 =?utf-8?B?RUtRUVhyRFU3OUxDa0JreXJLaVp4Z25QZGtzSFgyNG9KZmplR0JHYUlwWGhT?=
 =?utf-8?B?WjRzZ2NrYnE3SGhzdW5CaE9zVG10cHM4dURVMHdsVUU5N2pDVFBiWnQ2YUd5?=
 =?utf-8?B?am5uV1BKbjE2d1RJUG0zOGsvaFR1a0F3cE81TVRkR2cyNDBFaDc2SktvR1J1?=
 =?utf-8?B?dnlXMFVpdURrNitsdGlVRXBXeVFUOVFISGlvUVF6eThTN3M3a3piSzBKclNP?=
 =?utf-8?B?d0RaczY2UWRFdndYT1ZQMzZlZk1RcnNLTE43Z3RQWXpqM3lCbmVtRWo3MHM4?=
 =?utf-8?B?S2FYVFhtbGhnZGpCL1BHODhjeXF4V3dwRUVoSCswbGgySmRXUXhmaGRUelRZ?=
 =?utf-8?B?bU14MmhiajFxOWthUmpGdVdnMGs1ODVla3RjcFFUTjR3WENRTHZBSEVNQ2dB?=
 =?utf-8?B?VEFZWENJTk50UTRTYmFXbHFxc1BPcndidG5Bc0FROFZiM1E4MFRjVzk3eGRi?=
 =?utf-8?B?MTNxQUlsbmRoWkFYc0QrbVZmTjU4NFlqUmtYRTVZWG81NnFLZ0h0MDB4d3FT?=
 =?utf-8?B?azVSZnh4SFoxczVSQldzQWpGc3pMcW5HUllIcUEwbDVJaEJPMmxaVjdkcmRj?=
 =?utf-8?B?dGIxeU5wc1VScEpTUzBDbkFTNXEreE1rTnZXV0w2TkhlcStHanlhTlh6SkNX?=
 =?utf-8?B?UjJ4MndaNjRXQ2FRdDZXelRtZ2tsTTFrcXZ0c0ZxYzRPc1d2Q0YwOUZESWZK?=
 =?utf-8?B?eEFoRHJvSm9ra0IvOWFtRVB5T3U1S2RnUDRNNjJ1NFVhMWVTWHlNMll3bkdI?=
 =?utf-8?B?QndFT2NiTHVnL2ZqRVVjVjJYT0Q0cVJ4MkJDS0RmYm1UT0xnNXZDN01BY3hT?=
 =?utf-8?B?UFBhcVFiYklqeFN1YUJGOWljYnZoSHl3YkFMTTVkZE5sQ2RHaHFxeWJSTEpV?=
 =?utf-8?B?K2kzc0svUm5VZm5FWHNoUHdKZHovcU9OSzN4WTRsSmsxTEhyNjQ4SVNNbDZ2?=
 =?utf-8?B?WnJUUUNyOGphM1ZoZUI2U294SnFjYVBISEIvS1lRSTZUV3Bva3NkNVhKMjBX?=
 =?utf-8?B?dUJXRFVNMDNMZ1A0TGFzUGRGRHM3RVgveTZSRFVZdkJmb0YrbXdXUm1OYlpS?=
 =?utf-8?B?MVhIckxjMVpEdEhwWFduNEpramhsMkI4Skd5QkFRTFZwdlNlbGdUOUErN1Ba?=
 =?utf-8?B?UStUaWJ4WWZPQU5iN2xQQzRLRFk2Z1JlWC84bUpGV01FelN4ejNPVzJoU3pm?=
 =?utf-8?B?T3pGV3poTGdTUjFPTWd1N0hlVVplZTBRb2FkZGZIQUc3UXVuNGNsZ21KVEFx?=
 =?utf-8?B?QXdkNXl1cnBaeE9VQTZMMWhHOUd0Yk1NcDJ5emxXVDcydEVCS3NMZGh1L3lN?=
 =?utf-8?B?N1hIYnYxeVFYMHZ5QjN1NnFPcWNFS0Vnb1EveG5sZk8wdU94MmlvVXUvVjhW?=
 =?utf-8?B?bTZSWkFFcUVmdDNwZ3h0MDVHa2s3VlZmMG12blB3Y2FZTVk2dVpDM0oyWmJN?=
 =?utf-8?B?RnFTWTRCUWNKQ2dsM0kxTEZYQzVISjgrTXpud2s5WkYzaThVc0xZaiswZjhO?=
 =?utf-8?B?VWQ1b0xndUhXZUxrVTkyd0s0emhYMkpZcEFLNis2L3JQZkJ4cG82cURUR05C?=
 =?utf-8?B?cU1PZDlERXQzbkROMWNZMk80YTBWbG5BN252WWczTkJHajkzcUk5enFTcjNl?=
 =?utf-8?B?Z1lXSURDZVAzelhBK1M1T3JLR053NXVDbmRCSWczTVFtM3F5Q1hDLzdqMTlE?=
 =?utf-8?B?dERJQUZjVjhRUS8rK3pJRWtyZjVqd09ZYUxIMUZsZUdmM05id21DYjRmVUo2?=
 =?utf-8?B?WThucmduNXZFeFdraWFVajhOUlZySTVXZENBbGxnS2VWbkNCV0dSZ0tYT2ZI?=
 =?utf-8?B?bHRJOG00R21TeHA1VjA1bDM0T1o3cU51L0U3bkdrSEpsQUE0YmpwN012QUp5?=
 =?utf-8?B?ZWZhaFFqNU5DY25iRjhBU080UmxzZlY1M2JObTBiR2dzWlVveTNpeEZ3YlpU?=
 =?utf-8?Q?orXzfajvV4HMzOE7IR473l5dtYoolo=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(14060799003)(82310400026)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2025 08:39:10.2228
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ebaf734-ba35-4de5-f9bd-08dd62d3b0f5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF00000194.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5446

SGkgTWljaGFsLA0KDQo+IE9uIDE0IE1hciAyMDI1LCBhdCAwODoyNywgT3J6ZWwsIE1pY2hhbCA8
bWljaGFsLm9yemVsQGFtZC5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiBPbiAxMi8wMy8yMDI1
IDE0OjUyLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiANCj4+IFRoaXMgY29tbWl0IGlu
dHJvZHVjZXMgdGhlIHNrZWxldG9uIGZvciB0aGUgTVBVIG1lbW9yeSBtYW5hZ2VtZW50DQo+PiBz
dWJzeXN0ZW0gdGhhdCBhbGxvd3MgdGhlIGNvbXBpbGF0aW9uLg0KPiBZb3UgZm9yZ290IHRvIG1l
bnRpb24gdGhhdCB5b3UncmUgdGFsa2luZyBhYm91dCBBcm02NCBvbmx5LiBGb3IgQXJtMzIsIEF5
YW4gaGFzDQo+IGEgc2VyaWVzIGNvbnRhaW5pbmcgYSBmZXcgcGF0Y2hlcyB0byBlbmFibGUgY29t
cGlsYXRpb24uDQoNClllcyBJ4oCZbGwgYmUgbW9yZSBzcGVjaWZpYyBoZXJlIHRoYXQgd2UgZW5h
YmxlIGFybTY0IE1QVSBidWlsZA0KDQo+IA0KPiBQLlMuDQo+IE9uY2UgeW91ciBzZXJpZXMgYXJl
IG1lcmdlZCwgSSdsbCBzZW5kIGEgcGF0Y2ggZW5hYmxpbmcgQ0kgY29tcGlsYXRpb24gZm9yIGJv
dGgNCj4gQXJtNjQgYW5kIEFybTMyIE1QVS4NCg0KdGhhbmtzIGEgbG90IGZvciB0aGF0DQoNCg0K
Pj4gDQo+PiArDQo+PiArI2luY2x1ZGUgPHhlbi9tbS5oPg0KPiBJIGNhbid0IHNlZSBhbnl0aGlu
ZyBtbS5oIHJlbGF0ZWQgaGVyZS4gSSdkIGV4cGVjdCB0eXBlcy5oL3N0ZGJvb2wuaCBhbmQgYnVn
LmgNCg0KSeKAmWxsIGFkZA0KDQo+IA0KPj4gKw0KPj4gK2ludCBwcmVwYXJlX3NlY29uZGFyeV9t
bShpbnQgY3B1KQ0KPj4gK3sNCj4+ICsgICAgQlVHX09OKCJ1bmltcGxlbWVudGVkIik7DQo+PiAr
ICAgIHJldHVybiAtRUlOVkFMOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkIHVwZGF0ZV9ib290X21h
cHBpbmcoYm9vbCBlbmFibGUpDQo+PiArew0KPj4gKyAgICBCVUdfT04oInVuaW1wbGVtZW50ZWQi
KTsNCj4+ICt9DQo+PiArDQo+PiArLyoNCj4+ICsgKiBMb2NhbCB2YXJpYWJsZXM6DQo+PiArICog
bW9kZTogQw0KPj4gKyAqIGMtZmlsZS1zdHlsZTogIkJTRCINCj4+ICsgKiBjLWJhc2ljLW9mZnNl
dDogNA0KPj4gKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbA0KPj4gKyAqIEVuZDoNCj4+ICsgKi8N
Cj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbXB1L3AybS5oIGIveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL21wdS9wMm0uaA0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN
Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTVjMGUzMDIxNjdjDQo+PiAtLS0gL2Rldi9udWxsDQo+
PiArKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vbXB1L3AybS5oDQo+PiBAQCAtMCwwICsx
LDIwIEBADQo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLw0K
PiBFbXB0eSBsaW5lIGhlcmUgcGxlYXNlDQo+IA0KPj4gKyNpZm5kZWYgX19BUk1fTVBVX1AyTV9I
X18NCj4+ICsjZGVmaW5lIF9fQVJNX01QVV9QMk1fSF9fDQo+PiArDQo+PiArLyogTm90IHVzZWQg
b24gTVBVIHN5c3RlbSAqLw0KPiBJIHBlcnNvbmFsbHkgZG9uJ3Qgc2VlIGEgdmFsdWUgaW4gc3Vj
aCBjb21tZW50cy4gSW5pdGlhbGx5IHdoZW4gdGhlcmUgd2VyZSBqdXN0DQo+IDEsIDIgaW5zdGFu
Y2VzIEkgd2FzIG9rLCBidXQgdGhlbiBJIHJlYWxpemVkIHlvdSBrZWVwIGFkZGluZyB0aGVtLiBJ
dCdzIHByZXR0eQ0KPiBjbGVhciB0aGF0IGlmIGEgc3R1YiBkb2VzIG5vdCBoYXZlIEJVR19PTiwg
aXQgbWVhbnMgaXQncyBub3QgdXNlZC4gSSB3b3JyeSB0aGUNCj4gZmlsZXMgd2lsbCBsb29rIGF3
ZnVsIHdpdGggc28gbWFueSAiTm90IHVzZWQgb24gTVBVIHN5c3RlbSIgY29tbWVudHMuIElmIGF0
IGFsbCwNCj4gdGhlIG9ubHkgcGxhY2UgdGhleSB3b3VsZCBtYWtlIHNlbnNlIGlzIGlmIHRoZXkg
d2VyZSBpbiBNTVUvTVBVIGNvbW1vbiBjb2RlLiBDYW4NCj4gd2UgZ2V0IHJpZCBvZiB0aGVtIGNv
bXBsZXRlbHk/DQoNClN1cmUsIEnigJlsbCBnZXQgcmlkIG9mIHRoZW0NCg0KPiANCj4+ICtzdGF0
aWMgaW5saW5lIHZvaWQgcDJtX2NsZWFyX3Jvb3RfcGFnZXMoc3RydWN0IHAybV9kb21haW4gKnAy
bSkge30NCj4gWW91IHNob3VsZCBhdCBsZWFzdCBmb3J3YXJkIGRlY2xhcmUgc3RydWN0IHAybV9k
b21haW4uDQoNCk9rIEnigJlsbCBmaXgsIHNob3VsZCBJIGluY2x1ZGUgYXNtL3AybS5oIGZvciB0
aGUgdmlzaWJpbGl0eSBvZiB0aGlzIHN0cnVjdHVyZSBvcg0KYmVjYXVzZSB3ZSB3b27igJl0IHVz
ZSB0aGF0IEkgc2hvdWxkIGp1c3QgZm9yd2FyZCBkZWNsYXJlPw0KDQo+PiANCj4+IHN0YXRpYyBp
bmxpbmUgYm9vbCBhcmNoX2FjcXVpcmVfcmVzb3VyY2VfY2hlY2soc3RydWN0IGRvbWFpbiAqZCkN
Cj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vbXB1L01ha2VmaWxlIGIveGVuL2FyY2gvYXJt
L21wdS9NYWtlZmlsZQ0KPj4gaW5kZXggZjE0MTdjZDFiOWRiLi5hOTYzYjM1ZGI4OGQgMTAwNjQ0
DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vbXB1L01ha2VmaWxlDQo+PiArKysgYi94ZW4vYXJjaC9h
cm0vbXB1L01ha2VmaWxlDQo+PiBAQCAtMSwzICsxLDQgQEANCj4+IG9iai15ICs9IG1tLm8NCj4+
IG9iai15ICs9IHAybS5vDQo+PiBvYmoteSArPSBzZXR1cC5pbml0Lm8NCj4+ICtvYmoteSArPSB2
bWFwLW1wdS5vDQo+IFdoYXQncyB0aGUgcG9pbnQgb2YgYWRkaW5nIC1tcHUgc3VmZml4IHRvIHRo
ZSBmaWxlIGxvY2F0ZWQgYWxyZWFkeSB1bmRlciAvbXB1Pw0KDQpvayBJ4oCZbGwgcmVuYW1lIHRv
IHZtYXANCg0KDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL21wdS9zZXR1cC5jIGIveGVu
L2FyY2gvYXJtL21wdS9zZXR1cC5jDQo+PiBpbmRleCA0NTIxNGJmZWI2NjEuLjI4MTE5ZTAwODM0
MSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9tcHUvc2V0dXAuYw0KPj4gKysrIGIveGVu
L2FyY2gvYXJtL21wdS9zZXR1cC5jDQo+PiBAQCAtMiwxMiArMiwzNiBAQA0KPj4gDQo+PiAjaW5j
bHVkZSA8eGVuL2J1Zy5oPg0KPj4gI2luY2x1ZGUgPHhlbi9pbml0Lmg+DQo+PiArI2luY2x1ZGUg
PHhlbi90eXBlcy5oPg0KPj4gKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4NCj4gUGxlYXNlIHNvcnQg
YWxwaGFiZXRpY2FsbHkNCg0KSXNu4oCZdCB4ZW4vKiBmaXJzdCBmb2xsb3dlZCBieSBhc20vKiA/
DQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:40:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914054.1319869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0ar-0006Cp-1j; Fri, 14 Mar 2025 08:40:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914054.1319869; Fri, 14 Mar 2025 08: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 1tt0aq-0006Ci-TM; Fri, 14 Mar 2025 08:40:36 +0000
Received: by outflank-mailman (input) for mailman id 914054;
 Fri, 14 Mar 2025 08:40: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=FaPW=WB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tt0ap-00068v-KW
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:40:35 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2412::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fdb7ad1b-00af-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:40:34 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by PH0PR12MB8029.namprd12.prod.outlook.com (2603:10b6:510:26c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Fri, 14 Mar
 2025 08:40:29 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.027; Fri, 14 Mar 2025
 08:40: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: fdb7ad1b-00af-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=G1K50mZpEkhQOk9yJqfet2X8M/IwBTAtmzKcwj7UwWWin1JsZMTeRSa/uCqiF9kjwC/nGYjC37UP6r9mAqPi2vqf3O5iok+4tROaHWAQU8/MxOxHJ2HBlxi5BPWJDHl7Lh97RK4OqgEjv9oJ7C9W1GDB7Yj0Bhzn8TImrW+4iogt6A7eR4RNH4xMLnKDWyljPtdsOXJU3dBR/numKIhbcAUdVMAwCl420f5OqwfeDseKoDNogpu5KDhYEefbWm9985wlgXRWiOWRMZfdVUynLRRjwDxkYEWey3+8MBVA4yM9Jqf3qeb7YRXN7gTvv3oEelER07Q2XrbLjvuOgx0cVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GhpU4gM0Rs/fr4IyV3Y7WapXYvpeGeGXthUe6j0fVZU=;
 b=kH5wYJOhy3G6kBbaOJWd6V3zHsL3A5XgkQ75MqaxkBZBZIARLlp0Od0zzWafE1DGJNPwIVPTmHwmtWcNRRNiW9FnYeavILIb8qW7OIUAppD1CKyJ3sVj4kj1XDZSNF0EWDGts6RxN3T5mIHWwHxoi4h3RvDik3ABN8l4VqlYAoUV6E1fdE65H4wM0WKb+gb4zA/VyWOBEw27qVe4TGTW81X5NKhOIIsj8CdvYM0T1W1bcbXheNp46VzTjZuLQdvsB9TXYrcc9QxJP+BTbOdJg/D/T0XuBeW2OtqXnWVckW1JLNqGQnheDOlGyKFxM944mnumFsnqcJdpMyzEPLhedQ==
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=GhpU4gM0Rs/fr4IyV3Y7WapXYvpeGeGXthUe6j0fVZU=;
 b=XB7YiXsVJRdtNEqOR0H3JgT0iQw0i6TC+wcsawMliVFJei3Acq2c6deLKuoJm/KX6q2g8Df5i4bmbrGxcKWDT9vEYBRE5QXYXlOhse74JEMVoh+rPiPPF4aZZq3ESMI6agyQ6IrsEu655Agat9NA/SkMvGsB8+VY95FF2K0dXoc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ae10d1c8-e48d-4646-b09a-71e43fd16b5f@amd.com>
Date: Fri, 14 Mar 2025 09:40:26 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 10/10] arm/mpu: Create the skeleton for MPU compilation
To: Luca Fancellu <Luca.Fancellu@arm.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250312135258.1815706-1-luca.fancellu@arm.com>
 <20250312135258.1815706-11-luca.fancellu@arm.com>
 <40606489-99b4-4cc3-b202-9abae4cd1ec0@amd.com>
 <0FE3B1C6-3DDC-447C-9C3A-474E47B53299@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <0FE3B1C6-3DDC-447C-9C3A-474E47B53299@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0056.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::7) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|PH0PR12MB8029:EE_
X-MS-Office365-Filtering-Correlation-Id: b8159d17-e346-46c7-6778-08dd62d3e044
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?SjJvMG1GcmZvbUJSdm9YejRkRDhZU01mK3Z2ZzdiQTM3K2xBemwvTzQ1ZDBn?=
 =?utf-8?B?SllmNC8rVHZjcnhDMEdXWFg5R1pWMFM4c2FCUzNzdUR4THd4eWprUUY0R1Fu?=
 =?utf-8?B?R2kzRGVjWVlXMlVOTnhYdEFicXpEZklRUitVWTdwd0lPRnRTU3owV25IY1No?=
 =?utf-8?B?QjFZMXNMSXczOWJsSEVaOTBBUnhWRXBSRGlFOUEvd0crYi9NekFmdEFZaW1n?=
 =?utf-8?B?YkdGd2crcDJRYksrMHBQZ21OeXV4eVRqcXdzM090ZWxRcEpyL2N0cnB5M2NK?=
 =?utf-8?B?bldNTnB4U0pRRmNQcDZEMENqbUl5OE83YjV6NzBnSmxYT3R3UEFtdUpYcTVD?=
 =?utf-8?B?cHFCSUlFRmw4KzJ2VzRmTlBWd2NybzdaSVQyWmduWWtPQ3F2TUd4SmRiTGxn?=
 =?utf-8?B?c1oycDdkN1hSZy9uSDEvOXZuTVZjcERiVnhNMjNibW14N3BhZTgyaVJ4QVov?=
 =?utf-8?B?M0V3MXFQV3VxOXhOS0xXc3F1UGhQa21La2NIUW5PVktGR1RkSjRBc0N0WDha?=
 =?utf-8?B?OG1lbUx0RnAwT2w5TDZxcmViTFJTR3dGc3J4ZldBWllDeFJ5Y2NIbGRZRG85?=
 =?utf-8?B?V1RXcm5JRUU5YkFXMEZMekZLTlBKR3pGY3FTRFFiUFFxREVRV2JSZThFdEMw?=
 =?utf-8?B?RldnNENBSnJYNGRuQVFoeUpNazFQRWFpNzJQOGZobFVnNTJQVERrL08yVy9B?=
 =?utf-8?B?N2x3dFNueUUzZUlHM2l5Z1ZuWjd0NUpuZk9OYkdybjA4NWRYRERFeDlSdDJj?=
 =?utf-8?B?c3JjYW9nSWpjdDZNSnhSTkpLV1pNZ2JPcG0yWEJLaE5TSUVCbmZ2NmhiUkp4?=
 =?utf-8?B?KytiZ0lEZmFBMXVZUUphbmVjZVg2UHltU1VZRVhZems3L0MreHExbEowcjJq?=
 =?utf-8?B?ZjJaU0M3Uzg3RnAzK2IzNFRwUS8wRjlXR2Q1clJEVVBPNnhHeDI4dXJjTEVQ?=
 =?utf-8?B?VkxHNE5laFJzTm9HT01qWkkyYmhOeWc1bm5ZMFBkS2Q4My81bFZTaWxreVYv?=
 =?utf-8?B?WEFUNFQ4OWZZODYwYVdqVjhidjA1a0FLR1NOMUx3b1MwbUxKVlBCU2ExWFI3?=
 =?utf-8?B?WW8wb3ZSa2kzYnFKMk8waFVTOFZlNjRLV2FLNFc1cWZ0MFkvR1BKa21QK0N4?=
 =?utf-8?B?amJmMDBQRDA2SmViUHhIc1FiMFo2R1poNHRvelRkaVlzMVVaaEt2bkVlY1VX?=
 =?utf-8?B?NTJCeGlGQUNwRzFDMXpwN0wwWUljY2NqT20xSWtXTi9FOXRtR08zME9sZk1U?=
 =?utf-8?B?eXVoTmJwMzdtSFVmN083NjYzYkM4RFB0NWFjTmNSMzU4ZEFmbGJwR0p0L0d3?=
 =?utf-8?B?SUNYdllPSXM5ZjVjN08yckFVVTZBVEZqUEZQRnFGZ1hiQmNQYUg4K1hPUktK?=
 =?utf-8?B?dUpsSXlWdDNLaHlnZnRUeFBUajZGblZmRFpjby9pR1YxV3J0N0hab0hZSTVo?=
 =?utf-8?B?RkNaVGFIczg4R0s5cXptSmw3b2xwdnlzS1FSSjN4bFhoRHY2WDZDbDQ3c0d5?=
 =?utf-8?B?S3hMWFR0SzNaYWlUdlJuOVBtd20wYlBORHJ1a053dzIxUDhnNVhpV1lobU1s?=
 =?utf-8?B?ZTVndUVqbUdYSjJaL29aWGZNOHdEQ3BVV0d5NC9EdjVJVGN1SFViemd5alVN?=
 =?utf-8?B?L2NwUmlXMUlDdTZSMFdnMjlQeGQwbnYyM1VFODZJR1pnREd5dFZuVWY4WUFs?=
 =?utf-8?B?MWhEbW1IdU1rM0dyc0dTeWtJWDZOdFpOYkhJN0cyclVsSHUvZzFKS0owTXho?=
 =?utf-8?B?eG5KOGM2SnFSVlM0dCsrNm5DUVVLcUFsdnBsZjduNlA0dVZGQ0l5Q0UrNE9p?=
 =?utf-8?B?ZnVXY0lUdi8yanZIb3BUcTdNK3VFY0NteXdtck5Ec0VMSVNWazh3Rk5Nc3JK?=
 =?utf-8?Q?7kJdJ41qPibOW?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?RXYwb3Q5RExCNkpla1VOQ0QrbGhhN1ZEd3ZUT2p1VTlLamdmWmRwQmYvS2Jm?=
 =?utf-8?B?MmlGRDIzbWoyV3ZrU3F2S1JUVk5LZ3dhQlk0SDI5VktuNmFoVVdBSVdYUWRB?=
 =?utf-8?B?OWhjdGgwbVFPT2xxNDJYaVhLemthT3Foa21PTGRJM3E1c0dLWFVRYWE5ZEU4?=
 =?utf-8?B?dzBIQ3BmeURocGc4TDZZL0tmN2R3eXhwdGFxbnZ4SFNxU3BQTXlDb2hyTi9V?=
 =?utf-8?B?K294ME9LbGUwcmtvbk9iSFNrb2JuNHQzQkFySUlhYVR0NytHNjd3MW5hd3N1?=
 =?utf-8?B?R1pyQzAzY1VkMEZsMCtLYncraUFwTW9pb292aUZNYW80aWRtSG5nNkZTci9m?=
 =?utf-8?B?S3VZZGJKUkZNbW9waWJpNG9TWXhOVUdQNkJ0ZHNXVUZFYnNVYkp5NjVKcWhh?=
 =?utf-8?B?Y3YxV0drRUFHQ294K0NZaTRpZ3g0Tlc5UkNFeXNVeTFqV2U0dWNtdG5KOUZP?=
 =?utf-8?B?S0hrUGFBdU9MUm1DdnBvTXJmUk02cWlBdWdqcUxOTEYyTkRhQmFNN3pmczBL?=
 =?utf-8?B?YlRDb0EvbS8vZWpUb1RxcjRqalJzcm5Ub2ZoVnJFYkJqcitlbFovNjYxd3Rw?=
 =?utf-8?B?aDBERFh1c0hHVW9OanlKRTVvcDFrWWcyc2FzZGlCZGNxV3hDZS9QY29Fc1Jj?=
 =?utf-8?B?SEJtSnd0MUMyL3lsWDIvMmFvM3VXd2VxYWRCbE9yVXRYWVU3QmkvT3htVHhM?=
 =?utf-8?B?L2gvcHl5UG5XOWttd2pObzdYNWIrZU9JbjRyMzM1SFZyTWdOaGdmdEQzWjJI?=
 =?utf-8?B?Rmpzd1Y4MjlyNlZEU1V2TEFRZ3FtV0lUelRPR1dYUms0WHFPdldVTjljbmE3?=
 =?utf-8?B?VHBvbWFDZHRFUTdBaUFKVXlCN3VuZFR6S2huKzZ3VDFBTkRRNi9CWjdOakp4?=
 =?utf-8?B?ZFZpQ3E4NFpya1o0QjBZcDR2Z0QreHl2c2JkNkcraXYrbURsK1VJWGJZa21D?=
 =?utf-8?B?RTBGSVRlVmNWdTZMWmIxcGxSSG5zKzc3cmp3WEszbUNhc2E5eVN0RUZvSUN5?=
 =?utf-8?B?RENMM05hTnpzN08zSmowQVFHZ3Z4SjF5KzVQelVETjE5T0d6YTFGdzArZ091?=
 =?utf-8?B?MTdzQkN3Mk4wUXhaUk45a1RzdlZVbU1HUXVQVmNLekNCVlRZazVHOE5pUndn?=
 =?utf-8?B?Skc2NkVQUXpQa0RUc1J2WWhkdHo2VElpQ0RNZkt1QzRpZC9DTGJ0eE8wM3ln?=
 =?utf-8?B?U1NjR1NPdFc4WmV1VEdsMmJWN2ppWm1DdGJmZFByVzloaEJZU2tvVHhaZnNz?=
 =?utf-8?B?VGh2U2lzTURkMUpCK1VDLytSdVVsTEF0bUlxRjNqTmY4UDA0UWZWQ1BUM3U4?=
 =?utf-8?B?bnVQVW1sYkp2NFBOVW5kTGNNWUFaVEdrK2poNU5FanFoL21SK0FVdEcvWjg0?=
 =?utf-8?B?RTJnSEU4Mm03TE1xM1o2Z1Q0ckdMYTNzbFVsbnVsTThZa2wzNFdVU2l2WTUr?=
 =?utf-8?B?R29vektINUUyQWhTa2o5VXg5WVhtVGFrV2lBVFZzU1cxdjhJZ0JYVHBmT2dR?=
 =?utf-8?B?SFN5UHR4UkJ0ZWdtRUZHQzY5NGhwRTlLWm5EOW5MbGI1UlpOb1p1K1p0S1RW?=
 =?utf-8?B?YXFGNUNlUEMrblRvRWtIUW9nWk5yUDMra3Nid2t5MkErelNqc2RXR0FyWkYx?=
 =?utf-8?B?OWdMWWN2R1lMbE9oMkx3QnJrSm9JTXQ0QzRaVUI3dG9VN0FzL240bzRGNXBs?=
 =?utf-8?B?MUxxYlk3Q3V5OWNsZ2d2aU84Wi8rYTloajhlWlh2SUdsTEluU3lkZ3J6SkVp?=
 =?utf-8?B?VGdsNFVRTzdxVW9CRkQ5V1BFS3VXMEYzbElOcmxpdmpzQkdaWkVWWklKQnJH?=
 =?utf-8?B?d2VTV2lySHhaQ3A0eVQ2enhleDBRZ292bnhOUFZFZ09mVG1Kc2hxUFZzeEV5?=
 =?utf-8?B?K2F6Vk5yM1JGL1dJbWVOcHBnYkRmMlBPU2V6YlZ0eXRmMU9QTXVsLy9mVU9R?=
 =?utf-8?B?MmpkaWt4Um83cVJpa3dFeDltci84bitpMVVVUDNQTWJadFZncTJLck5taTRr?=
 =?utf-8?B?VFZtOWtEbllCRjVROGFJVDYxdVBzU1NtV1BZd2pPU0kvYUxkUDZpUjAxYXJy?=
 =?utf-8?B?L1p2M1FMVFpUQjZGcXpMRDBvcHhxaDcwZy9mVDNnbHE5MktHbUsxbmVQNkJr?=
 =?utf-8?Q?T6JmWe413T8PXnpHRFtZ+9Ip9?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b8159d17-e346-46c7-6778-08dd62d3e044
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2025 08:40:29.8318
 (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: 0wWivQHbw/U/GpdoyY4sxwqLvm8hwFpvwPPk+/iEiRQa1APLjeN7SUMsce5Jj8WY
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8029



On 14/03/2025 09:38, Luca Fancellu wrote:
> 
> 
> Hi Michal,
> 
>> On 14 Mar 2025, at 08:27, Orzel, Michal <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 12/03/2025 14:52, Luca Fancellu wrote:
>>>
>>>
>>> This commit introduces the skeleton for the MPU memory management
>>> subsystem that allows the compilation.
>> You forgot to mention that you're talking about Arm64 only. For Arm32, Ayan has
>> a series containing a few patches to enable compilation.
> 
> Yes Iâll be more specific here that we enable arm64 MPU build
> 
>>
>> P.S.
>> Once your series are merged, I'll send a patch enabling CI compilation for both
>> Arm64 and Arm32 MPU.
> 
> thanks a lot for that
> 
> 
>>>
>>> +
>>> +#include <xen/mm.h>
>> I can't see anything mm.h related here. I'd expect types.h/stdbool.h and bug.h
> 
> Iâll add
> 
>>
>>> +
>>> +int prepare_secondary_mm(int cpu)
>>> +{
>>> +    BUG_ON("unimplemented");
>>> +    return -EINVAL;
>>> +}
>>> +
>>> +void update_boot_mapping(bool enable)
>>> +{
>>> +    BUG_ON("unimplemented");
>>> +}
>>> +
>>> +/*
>>> + * Local variables:
>>> + * mode: C
>>> + * c-file-style: "BSD"
>>> + * c-basic-offset: 4
>>> + * indent-tabs-mode: nil
>>> + * End:
>>> + */
>>> diff --git a/xen/arch/arm/include/asm/mpu/p2m.h b/xen/arch/arm/include/asm/mpu/p2m.h
>>> new file mode 100644
>>> index 000000000000..e5c0e302167c
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/mpu/p2m.h
>>> @@ -0,0 +1,20 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> Empty line here please
>>
>>> +#ifndef __ARM_MPU_P2M_H__
>>> +#define __ARM_MPU_P2M_H__
>>> +
>>> +/* Not used on MPU system */
>> I personally don't see a value in such comments. Initially when there were just
>> 1, 2 instances I was ok, but then I realized you keep adding them. It's pretty
>> clear that if a stub does not have BUG_ON, it means it's not used. I worry the
>> files will look awful with so many "Not used on MPU system" comments. If at all,
>> the only place they would make sense is if they were in MMU/MPU common code. Can
>> we get rid of them completely?
> 
> Sure, Iâll get rid of them
> 
>>
>>> +static inline void p2m_clear_root_pages(struct p2m_domain *p2m) {}
>> You should at least forward declare struct p2m_domain.
> 
> Ok Iâll fix, should I include asm/p2m.h for the visibility of this structure or
> because we wonât use that I should just forward declare?
forward declare

> 
>>>
>>> static inline bool arch_acquire_resource_check(struct domain *d)
>>> diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
>>> index f1417cd1b9db..a963b35db88d 100644
>>> --- a/xen/arch/arm/mpu/Makefile
>>> +++ b/xen/arch/arm/mpu/Makefile
>>> @@ -1,3 +1,4 @@
>>> obj-y += mm.o
>>> obj-y += p2m.o
>>> obj-y += setup.init.o
>>> +obj-y += vmap-mpu.o
>> What's the point of adding -mpu suffix to the file located already under /mpu?
> 
> ok Iâll rename to vmap
> 
> 
>>> diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
>>> index 45214bfeb661..28119e008341 100644
>>> --- a/xen/arch/arm/mpu/setup.c
>>> +++ b/xen/arch/arm/mpu/setup.c
>>> @@ -2,12 +2,36 @@
>>>
>>> #include <xen/bug.h>
>>> #include <xen/init.h>
>>> +#include <xen/types.h>
>>> +#include <asm/setup.h>
>> Please sort alphabetically
> 
> Isnât xen/* first followed by asm/* ?
Oops, I missed the fact that this is xen/ and asm/. Ignore then.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:43:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:43:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914066.1319879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0dl-0006s5-DA; Fri, 14 Mar 2025 08:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914066.1319879; Fri, 14 Mar 2025 08: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 1tt0dl-0006ry-9x; Fri, 14 Mar 2025 08:43:37 +0000
Received: by outflank-mailman (input) for mailman id 914066;
 Fri, 14 Mar 2025 08:43: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt0dj-0006rs-QZ
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:43:35 +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 6a613725-00b0-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 09:43:34 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e6f4b3ebe5so3370954a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:43:34 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e8169bcdb3sm1728980a12.43.2025.03.14.01.43.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 01:43: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: 6a613725-00b0-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741941814; x=1742546614; darn=lists.xenproject.org;
        h=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=Xp0HUMW/0MsQocQnenr8URnOMCrhSMtV61H+QTl49Xw=;
        b=ozdSflCfCaLOk6fTNm9zhCaRzgj0Dl0CLJlog9ay1eN2Lqnhxwv6Zj0KlqPjDJtmIl
         7b62nIHLe/KFMhe1yZzEGhSzQ9HVj2bjS9HY97lwLDylttzTJPkRZYscZYpnGNDBMeG3
         gJcbU6iJbtgyURRhGLJH0+hck7tpf9YZ0TvOw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741941814; x=1742546614;
        h=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=Xp0HUMW/0MsQocQnenr8URnOMCrhSMtV61H+QTl49Xw=;
        b=SMt7GACfpIkIguJQ9Y60+2vVED2jBrWxD8/DbIe/JXgQmxNHTEHnWKEkGVjx+2wF7O
         eWm9sY6HT77lpmmBBGoXDxWpkMgB4NPuYRixKOkR88WAl7T1XUfhf+PaIK8bm2fOYg/J
         ioqff2GFzjgHPzpMpYg/7MRzeIOXqAlBHWOQk+zcnpIoX2dyA0g6vmM0L1QJKfiU/blK
         FQELMgYUB72JjbGDcG0WAzuljG6uGvqAlcieEU8EWq/8O7opY6lBDn8ljOQgF7cesMh+
         n3cCx3CS3Kruq+6Yol1BwlAYiTHWmgnDxpdFBNKp0SF+7GsRkkeyQln4KmqCs28kyNYr
         eMLg==
X-Gm-Message-State: AOJu0Yzn0EiO8NSHNK/OqQhVy7kgzchyFnNP5m56x5grKHHA1Bi6STMn
	MBYlj171WAO3Q2XsDnRf6Q8GE/YZzWBOeTCkUCyhbkw6blqHJJqWpk8g4SB5Uhc=
X-Gm-Gg: ASbGncswwrZcCgpRc74rbh9VkhozWDpkDY1lUcyQ9G++k65TVdnDf3CXOSnAvHe//zg
	FWQRI0P7j6Mv5g7P3ICrph5EH4vMED69Z3JvVtvPMRy6lygVJuuHDFy6pemLBYVXcWZ/oRzJLN0
	ruuaRiN9O5kS2R0uKek//godVMaLz6oaQyIssnLETvUqFiZk9KXQsGO938gkKNsIu0gw/AgAeAK
	ufRSnhovyRERY4APZpsH0LBWclYBtCezG4/m0NO1TVe4q9aNzflPXB68zr8MpBxoJNJDlmA0MZE
	30bYO4S/QkOwPSK9SKTjcuRsFUOv7hW7QZusxiMisz0uDIIIqA==
X-Google-Smtp-Source: AGHT+IEkJ4qSqdnPOg/Ewunsh96lkrPGClKXGY3teCwcafWBLW0/oSxH/cITBVVZ5XgJP8fWJhS1MA==
X-Received: by 2002:a05:6402:5251:b0:5e0:9390:f0d2 with SMTP id 4fb4d7f45d1cf-5e8a0228606mr1623118a12.20.1741941814263;
        Fri, 14 Mar 2025 01:43:34 -0700 (PDT)
Date: Fri, 14 Mar 2025 09:43:33 +0100
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>
Subject: Re: [PATCH 5/7] x86/ioremap: prevent additions against the NULL
 pointer
Message-ID: <Z9PsNVbC4leLFMqO@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-6-roger.pau@citrix.com>
 <ad26bb49-4025-4190-ba69-c03584cf2229@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ad26bb49-4025-4190-ba69-c03584cf2229@citrix.com>

On Thu, Mar 13, 2025 at 05:21:13PM +0000, Andrew Cooper wrote:
> On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> > This was reported by clang UBSAN as:
> >
> > UBSAN: Undefined behaviour in arch/x86/mm.c:6297:40
> > applying zero offset to null pointer
> > [...]
> > Xen call trace:
> >     [<ffff82d040303662>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
> >     [<ffff82d040304aa3>] F __ubsan_handle_pointer_overflow+0xcb/0x100
> >     [<ffff82d0406ebbc0>] F ioremap_wc+0xc8/0xe0
> >     [<ffff82d0406c3728>] F video_init+0xd0/0x180
> >     [<ffff82d0406ab6f5>] F console_init_preirq+0x3d/0x220
> >     [<ffff82d0406f1876>] F __start_xen+0x68e/0x5530
> >     [<ffff82d04020482e>] F __high_start+0x8e/0x90
> >
> > Fix bt_ioremap() and ioremap{,_wc}() to not add the offset if the returned
> > pointer from __vmap() is NULL.
> >
> > Fixes: d0d4635d034f ('implement vmap()')
> > Fixes: f390941a92f1 ('x86/DMI: fix table mapping when one lives above 1Mb')
> > Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, with one style fix.
> 
> It's unfortunate, because C23 makes this one case (add 0 to NULL
> pointer) explicitly well defined to avoid corner cases like this.Â  Oh well.

Interesting, so they added a new type (nullptr_t) that has a single
possible value (nullptr), and hence arithmetic operations against it
always result in nullptr.  That's helpful to prevent this kind of
bugs.

> > diff --git a/xen/arch/x86/dmi_scan.c b/xen/arch/x86/dmi_scan.c
> > index 2fcc485295eb..a05492037519 100644
> > --- a/xen/arch/x86/dmi_scan.c
> > +++ b/xen/arch/x86/dmi_scan.c
> > @@ -119,8 +120,10 @@ static const void *__init bt_ioremap(paddr_t addr, unsigned int len)
> >      if ( system_state < SYS_STATE_boot )
> >          return __acpi_map_table(addr, len);
> >  
> > -    return __vmap(&mfn, PFN_UP(offs + len), 1, 1, PAGE_HYPERVISOR_RO,
> > -                  VMAP_DEFAULT) + offs;
> > +    va = __vmap(&mfn, PFN_UP(offs + len), 1, 1, PAGE_HYPERVISOR_RO,
> > +	        VMAP_DEFAULT);
> 
> You've got mixed tabs/spaces here.

Thanks, vim autodetection is a bit confused with this file because it
uses both hard and soft tabs, fixed now.

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:44:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914074.1319888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0eM-0007LJ-KC; Fri, 14 Mar 2025 08:44:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914074.1319888; Fri, 14 Mar 2025 08:44: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 1tt0eM-0007LC-HW; Fri, 14 Mar 2025 08:44:14 +0000
Received: by outflank-mailman (input) for mailman id 914074;
 Fri, 14 Mar 2025 08:44: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt0eL-00078H-IT
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:44: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 80555e74-00b0-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:44:11 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so18487215e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:44: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-43d2010e618sm9998115e9.40.2025.03.14.01.44.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 01:44: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: 80555e74-00b0-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741941851; x=1742546651; 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=F2TzFYQkMyh1r3ab/xmonrYY8vjLg9ESkSpVC/smkf0=;
        b=fvKw/4pLIIeOZZtWB8ssYLciaBNH1s7mdzQIWYalMKG11bWX6BDctp6swwbpAr+peX
         5lK133taGUudL5w86fFdmxEY4r4cMUEwuHtHb45wo7D9QDpF5FXIJMtJOCZaAGAYF0IR
         AMXFc8l1F8jLvq7Vg+hkECLPQt/6mzNop3+rJdUUqDonvl6TF+t/hlL6SoIF8qxH7Gf8
         l0S/firxEssL1rS7AF+2F/R6U7//yi4oAtWdEVc2vXa7IjJaqNgOeXANOg3oobY0YHME
         kYl2rVS1qeobaOG3ow9ihze1AOKrkdAp2E9bqdfmJMhrpvF+suVFKuCGrHDwC0RxXRBm
         /lXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741941851; x=1742546651;
        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=F2TzFYQkMyh1r3ab/xmonrYY8vjLg9ESkSpVC/smkf0=;
        b=Jxsm8KLr1rBu/pO+5AWnM8tOY+4HQaWG7O6vTNGg7Ju1xFhTSeUwXWacS5NM48F0sC
         ZE7vZbaYd+NDwLvsE54wcUpOYXAiQtAQUNAtydN/TTopokKBXYWeo00zYeGlUYbGccCr
         +VOftbVWGKLbvbZS7fbqyjTx+7irr9bolAxaP8+D1sd0TBv7fjtv8dUzOf5boR3erUNT
         mVmR58olToZ903941B93yDyKU+FqccjGl2Ei2IZnAf90LLQ1gQbRpCuk9iCiiPhBfZts
         DJpj88+6/ccZHFLeCZYk5DH0ELwy0WCcEKWEgAJCwz+e/OnrF8lIHcW36eqU/VqEFT6p
         ct7w==
X-Forwarded-Encrypted: i=1; AJvYcCWjEv/089ImbTaYpFULgUjv3k8WIDuzYPosvRVFKz9WvxhqLY1xeZ4EAxBZfKxIgcoftXSpQ94DVug=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/I0bd8llYl2+mcSd9XwJWhxe8/yiMyuyKchSCU4TpC2IMBmQH
	/cNt2yJleYToMMQ04vNQhE0t1dN/p6HbvkPoqh4A8gptAZcM8h1x8bxSMf/vFA==
X-Gm-Gg: ASbGnctSoYLzcvq7VcpefHB5+PWqNCRQT1nuJeZ30lVlXdsWP9XG+LleflqkLEwNikH
	7mbj4QL6uOnI9clUm38otZVMvkowVTEe65zPC/V8be3UVg5fBiVUwQ0AVYvdcsD9HfOR9Hhwbx3
	juV4jDb2UXrL3ViQf5jZ/YyFrRDzJVTO7W1DZebk7dYCY2hKGCeqHhe1eSnvnxdDNLm+oYB1zHd
	yQBSlWsD4YgDzROjCA3AgEQrphrbdXz8xwhOvdh9a0dxNDmFv23SDQy9afr2yh7Y6+OtZWYgQDv
	YRLVD8hdI8xt7MV5UFk+hh4BgS8m9d/c4pcpHF3VX44FDsq9HlmUB11eFTr+fwGeRLA/BwFbx5O
	QtR1253qKew11b8dPLuPNwtWmjF+4SY6waKoFhEO4
X-Google-Smtp-Source: AGHT+IG+BbEF00MaUVrJ4cWsUILLXm3xvrajbRLUJP+21BW2uY7N35jsXB5kkQAM5KxuyM5nabz7fA==
X-Received: by 2002:a05:600c:2e49:b0:439:91c7:895a with SMTP id 5b1f17b1804b1-43d18077785mr52091545e9.7.1741941851129;
        Fri, 14 Mar 2025 01:44:11 -0700 (PDT)
Message-ID: <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
Date: Fri, 14 Mar 2025 09:44:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
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: <Z9PpI8KQnA_gHy9e@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 09:30, Roger Pau MonnĂŠ wrote:
> On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
>> On 13.03.2025 16:30, Roger Pau Monne wrote:
>>> When enabling UBSAN with clang, the following error is triggered during the
>>> build:
>>>
>>> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>       |         ^
>>> <inline asm>:1:121: note: instantiated into assembly here
>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>       |                                                                                                                                ^
>>> common/wait.c:154:9: error: symbol '.L_skip' is already defined
>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>       |         ^
>>> <inline asm>:1:159: note: instantiated into assembly here
>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>       |                                                                                                                                                                      ^
>>> 2 errors generated.
>>>
>>> The inline assembly block in __prepare_to_wait() is duplicated, thus
>>> leading to multiple definitions of the otherwise unique labels inside the
>>> assembly block.  GCC extended-asm documentation notes the possibility of
>>> duplicating asm blocks:
>>>
>>>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
>>>> your assembly code when optimizing. This can lead to unexpected duplicate
>>>> symbol errors during compilation if your asm code defines symbols or
>>>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
>>>
>>> Move the assembly blocks that deal with saving and restoring the current
>>> CPU context into it's own explicitly non-inline functions.  This prevents
>>> clang from duplicating the assembly blocks.  Just using noinline attribute
>>> seems to be enough to prevent assembly duplication, in the future noclone
>>> might also be required if asm block duplication issues arise again.
>>
>> Wouldn't it be a far easier / less intrusive change to simply append %= to
>> the label names?
> 
> That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
> won't be able to make a jump to the .L_wq_resume label defined in the
> __prepare_to_wait() assembly block if the label is declared as
> .L_wq_resume%=.
> 
> Also we want to make sure there's a single .L_wq_resume seeing how
> check_wakeup_from_wait() uses it as the restore entry point?

Hmm, yes on both points; the %= would only work for .Lskip. Have you gained
understanding why there is this duplication? The breaking out of the asm()
that you do isn't going to be reliable, as in principle the compiler is
still permitted to duplicate stuff. Afaict the only reliable way is to move
the code to a separate assembly file (with the asm() merely JMPing there,
providing a pseudo-return-address by some custom means). Or to a file-scope
asm(), as those can't be duplicated.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:51:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914093.1319898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0lC-0001yi-Ej; Fri, 14 Mar 2025 08:51:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914093.1319898; Fri, 14 Mar 2025 08:51: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 1tt0lC-0001yb-Bh; Fri, 14 Mar 2025 08:51:18 +0000
Received: by outflank-mailman (input) for mailman id 914093;
 Fri, 14 Mar 2025 08:51: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt0lA-0001yV-Hc
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:51:16 +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 7c3e2939-00b1-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:51:14 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so1621125f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:51: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-395c83b6b37sm4916561f8f.37.2025.03.14.01.51.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 01:51: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: 7c3e2939-00b1-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741942274; x=1742547074; 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=NZKQPJjOBvbwXWimtb+HpEUVwOR9avKHpxfrv5k7xys=;
        b=WrX00fQwHaN7e1wL8flvY4knnTzRpFoaOY1HOkhytYU16+96cLhX0c6aQZLCwQRi8l
         cvOucfkIRotyRyHxKKJ+8LteXhnWofDeH4tPlFIA65dAkC+ZwxKxSHOfdQUZwL9oM5WY
         nnAJtJerdQo3kI1utJCU7QbCXDPeUUksGcWAj+VcUgF6geLs5mKzN/WCwNg8Nswe0R6M
         hkhVpDIyzyQ04wUZWHR8y3dj1zHeCniAXONPA4REh1EmY8nZTprzyRRnRQZszk7Phmf8
         DBz7KKr4mCbEXnt2HacNBpsuTUevzBH28kqSa66j1KCY98pT3m6RcavJz8lEMda1W5Sm
         14tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741942274; x=1742547074;
        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=NZKQPJjOBvbwXWimtb+HpEUVwOR9avKHpxfrv5k7xys=;
        b=l9h37TA2tvN9fdgX5HsnwMV0sKZk2u/3pl83DIWQUjvHvB3ThdSfpJjGs/nLGbh587
         Q2yhY0LsRT2eQ+PlIvJM6uGgNTQHXO27c74ADgEGdmWkcDspFnrH2vPbLE10jnfE33w8
         p+q984LdCRZZRMQivth/QCrRqqW2O3OUGThLyHjC9kGanUuveemv1qgca6VsLoB9fRsv
         zkzk0QiAtWnaq1wxsaXvRriWY76MG32rPQ4NbyqN5qkqgUfCneIFqqo8dwqXX6dy+YsB
         BjmdREPQb7VCTMboiG6y2fzDEh07uRxrwQZoRAewd9rTdQkO3NLBjH3E8OfbcqIR28KA
         9J0A==
X-Forwarded-Encrypted: i=1; AJvYcCVtQBRQdgyGuFwthPL/9D4DA9xaHfVkXimQonFJ5wDw+wKUMXFdlzNgwB9FnkHFo8amW7xLa5m2quY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwZh+tSnGXaMp0lzipJYcs1wbCiPs9jKxRskTdDRsSSG80QkI1
	9i285GTSRDinSx4PSxNEiKVIMfKYJzE4JHdg1LFOQrPfoZcfwz3sD0LGPRUGXw==
X-Gm-Gg: ASbGncuNfWcDZLCzCsGi1bEEKTQDwpc4+Vcsl2MMKWjmkFYxpkl4bJk+racqHtZ3LTg
	QKizi+tW95ewZkSdOeUtrqBe5aCqWeI3cxnzP1+hmK6m/K95kewJbZjYFYNu0bDSa/I+f68qDr2
	Gje+NLcR0ck0hoWvilLrYj47Y9g+3t0EuPiyXXrdvibNOXqvdSGdC0HF9mYhUetneL+8HxSIEz9
	EaNNJDOMN4plDc+xjEREI+1RURUTvmvf8Sl6rIrPjdKr54clPpTca70/wty6AkoFWohnLWbDW7T
	QfswpRKP9op2VoWL5KHX/+ajmqvOVVCNTte54f4kSGkWrdnFp9LqzARZM+T0YfPsbNyWwOwZTZk
	yKex3zfmHzLXhJ9dWQufsgy8Vhezlpw==
X-Google-Smtp-Source: AGHT+IE7kcQ0xC+f+oLPER2GXtKYNBh0qZYfCpplu+yHPVdkdasU5yD+eL4gGtx/m/wSr0T624jtVQ==
X-Received: by 2002:a05:6000:25e9:b0:38d:d666:5457 with SMTP id ffacd0b85a97d-3972029e75fmr1702406f8f.42.1741942273767;
        Fri, 14 Mar 2025 01:51:13 -0700 (PDT)
Message-ID: <2f365e4a-1d01-4f1c-85b4-25be22545822@suse.com>
Date: Fri, 14 Mar 2025 09:51:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250314011528.2608217-1-dmukhin@ford.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: <20250314011528.2608217-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 02:20, dmkhn@proton.me wrote:
> Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
> readability.
> 
> No functional changes.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
>  xen/arch/x86/hvm/dm.c          |  2 +-
>  xen/arch/x86/hvm/irq.c         | 17 +++++++++--------
>  xen/arch/x86/hvm/vlapic.c      | 10 +++++-----
>  xen/arch/x86/hvm/vpic.c        |  4 ++--
>  xen/arch/x86/include/asm/irq.h |  2 +-
>  xen/arch/x86/io_apic.c         | 12 ++++++------
>  xen/arch/x86/irq.c             |  6 +++---
>  7 files changed, 27 insertions(+), 26 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
> index a1f7a4d30a..36d47664e9 100644
> --- a/xen/arch/x86/hvm/dm.c
> +++ b/xen/arch/x86/hvm/dm.c
> @@ -90,7 +90,7 @@ static int set_pci_intx_level(struct domain *d, uint16_t domain,
>  static int set_isa_irq_level(struct domain *d, uint8_t isa_irq,
>                               uint8_t level)
>  {
> -    if ( isa_irq > 15 )
> +    if ( isa_irq >= NR_ISAIRQS )
>          return -EINVAL;
>  
>      switch ( level )
> diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
> index 1eab44defc..1f7d8ca43e 100644
> --- a/xen/arch/x86/hvm/irq.c
> +++ b/xen/arch/x86/hvm/irq.c
> @@ -209,7 +209,7 @@ int hvm_isa_irq_assert(struct domain *d, unsigned int isa_irq,
>      unsigned int gsi = hvm_isa_irq_to_gsi(isa_irq);
>      int vector = -1;
>  
> -    ASSERT(isa_irq <= 15);
> +    ASSERT(isa_irq < NR_ISAIRQS);
>  
>      spin_lock(&d->arch.hvm.irq_lock);
>  
> @@ -231,7 +231,7 @@ void hvm_isa_irq_deassert(
>      struct hvm_irq *hvm_irq = hvm_domain_irq(d);
>      unsigned int gsi = hvm_isa_irq_to_gsi(isa_irq);
>  
> -    ASSERT(isa_irq <= 15);
> +    ASSERT(isa_irq < NR_ISAIRQS);
>  
>      spin_lock(&d->arch.hvm.irq_lock);
>  
> @@ -266,12 +266,12 @@ static void hvm_set_callback_irq_level(struct vcpu *v)
>          if ( asserted && (hvm_irq->gsi_assert_count[gsi]++ == 0) )
>          {
>              vioapic_irq_positive_edge(d, gsi);
> -            if ( gsi <= 15 )
> +            if ( gsi < NR_ISAIRQS )
>                  vpic_irq_positive_edge(d, gsi);
>          }
>          else if ( !asserted && (--hvm_irq->gsi_assert_count[gsi] == 0) )
>          {
> -            if ( gsi <= 15 )
> +            if ( gsi < NR_ISAIRQS )
>                  vpic_irq_negative_edge(d, gsi);
>          }
>          break;
> @@ -328,7 +328,7 @@ int hvm_set_pci_link_route(struct domain *d, u8 link, u8 isa_irq)
>      u8 old_isa_irq;
>      int i;
>  
> -    if ( (link > 3) || (isa_irq > 15) )
> +    if ( (link > 3) || (isa_irq >= NR_ISAIRQS) )
>          return -EINVAL;
>  
>      spin_lock(&d->arch.hvm.irq_lock);
> @@ -440,7 +440,8 @@ void hvm_set_callback_via(struct domain *d, uint64_t via)
>          {
>          case HVMIRQ_callback_gsi:
>              gsi = hvm_irq->callback_via.gsi;
> -            if ( (--hvm_irq->gsi_assert_count[gsi] == 0) && (gsi <= 15) )
> +            if ( (--hvm_irq->gsi_assert_count[gsi] == 0) &&
> +                 (gsi < NR_ISAIRQS) )
>                  vpic_irq_negative_edge(d, gsi);
>              break;
>          case HVMIRQ_callback_pci_intx:
> @@ -464,7 +465,7 @@ void hvm_set_callback_via(struct domain *d, uint64_t via)
>                    (hvm_irq->gsi_assert_count[gsi]++ == 0) )
>          {
>              vioapic_irq_positive_edge(d, gsi);
> -            if ( gsi <= 15 )
> +            if ( gsi < NR_ISAIRQS )
>                  vpic_irq_positive_edge(d, gsi);
>          }
>          break;
> @@ -764,7 +765,7 @@ static int cf_check irq_check_link(const struct domain *d,
>              return -EINVAL;
>  
>      for ( link = 0; link < ARRAY_SIZE(pci_link->route); link++ )
> -        if ( pci_link->route[link] > 15 )
> +        if ( pci_link->route[link] >= NR_ISAIRQS )
>          {
>              printk(XENLOG_G_ERR
>                     "HVM restore: PCI-ISA link %u out of range (%u)\n",

Up to here I agree with the adjustments made, but ...

> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -123,7 +123,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int err_bit)
>               * will end up back here.  Break the cycle by only injecting LVTERR
>               * if it will succeed, and folding in RECVILL otherwise.
>               */
> -            if ( (lvterr & APIC_VECTOR_MASK) >= 16 )
> +            if ( (lvterr & APIC_VECTOR_MASK) >= NR_ISAIRQS )
>                  inj = true;
>              else
>                  set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
> @@ -136,7 +136,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int err_bit)
>  
>  bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec)
>  {
> -    if ( unlikely(vec < 16) )
> +    if ( unlikely(vec < NR_ISAIRQS) )
>          return false;
>  
>      if ( hvm_funcs.test_pir &&
> @@ -150,7 +150,7 @@ void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig)
>  {
>      struct vcpu *target = vlapic_vcpu(vlapic);
>  
> -    if ( unlikely(vec < 16) )
> +    if ( unlikely(vec < NR_ISAIRQS) )
>      {
>          vlapic_error(vlapic, ilog2(APIC_ESR_RECVILL));
>          return;
> @@ -523,7 +523,7 @@ void vlapic_ipi(
>          struct vlapic *target = vlapic_lowest_prio(
>              vlapic_domain(vlapic), vlapic, short_hand, dest, dest_mode);
>  
> -        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
> +        if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
>              vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
>          else if ( target )
>              vlapic_accept_irq(vlapic_vcpu(target), icr_low);
> @@ -531,7 +531,7 @@ void vlapic_ipi(
>      }
>  
>      case APIC_DM_FIXED:
> -        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
> +        if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
>          {
>              vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
>              break;

... the 16 here has a different origin (in the local APIC spec). Changes
further down look okay again.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 08:56:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 08:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914105.1319908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0qS-0004fq-0g; Fri, 14 Mar 2025 08:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914105.1319908; Fri, 14 Mar 2025 08:56: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 1tt0qR-0004fj-U1; Fri, 14 Mar 2025 08:56:43 +0000
Received: by outflank-mailman (input) for mailman id 914105;
 Fri, 14 Mar 2025 08:56: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt0qR-0004fd-B9
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 08:56:43 +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 3e79d1a3-00b2-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 09:56:40 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso12357395e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 01:56: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-43d1fe2927fsm10632935e9.18.2025.03.14.01.56.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 01:56: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: 3e79d1a3-00b2-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741942600; x=1742547400; 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=6l/1KqqNGkqUJjJhOpij/3W4avxU+o8PT2x+AvV6KME=;
        b=HlPom/eB+xz6mOKaGfhdUH9cnXUu+q2Q3sHi0MnEBRE2sxWQWMnOXlfuWdbRglwQ/h
         5tFOOJen0IlM2WIWt3Sj7+ZkIwOczyrQaevaDjgsq0XT3qoQt5UFVRFXGcxPA9Ia7g5T
         MbXaaK1P4krGdyAX+4hC77kXjiSzCjpFlKyEqRssHFS0PoQZM6aYRUcv9S/IyNDj4J8t
         kv6H7hZq/wYlbakOfKAoCFY9ZTPHH0uklaZD8L8z8kczLH6iOTwtEw5YzpDjg+YPzmZH
         qW7S3Pk2A5+jtXG5a9BKl3o4PRjsdfW/FS9eoa/5cGP4re7Bu2Tj9OfgeiXFVhMbS3vg
         IAlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741942600; x=1742547400;
        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=6l/1KqqNGkqUJjJhOpij/3W4avxU+o8PT2x+AvV6KME=;
        b=RqfsDGlsWUn6GZNHjOxMjiEj2m3D7dv4liF4EfaV+GGrecEgM5pp99x0bYTv5E4DEV
         03LHROGaysPpJf91cquSvY3xtilAsVYIQ40rn3LoqstWcdhWxqzORq+E7fJrLz01+UoD
         71gDwc4zxfsGb/Em7ECwCLp4eCm0GiMHQtEzVIvjadAhwV/bam/YK8vxwQWo/ffeWoSN
         0FPh7uyHKzFZtgAQLi6lDLmOJ4ap7WAVPu34OysPo8iz1c1tz5oh8voUOtHSbzgvNIBs
         iwhOf/q13O81TCIG6ZZuiAX/YPPbkDAMkEDt7zsqc0nVUMTpDQUo8e6d1yjb/INMdP0x
         b4RQ==
X-Gm-Message-State: AOJu0Yy0w1zAdo6P6+RCZikG1JJGDCzO/8mmwvSuOs3CbuYLPYU7peih
	J/QyPxzFh5fRYpufkimtLb1FQLGn8OIwE1nUQ7gAxFQnNgpmWgK449Mu+bZ2YA==
X-Gm-Gg: ASbGncsYFITjei6cmgKXBDT+MRm8+zrH3IyD39O1Ck/rirFnoIYYV8Z1J94A23+P1sv
	JccQgLXw7h06aZMdqHUKsF1jbmLCXekVvOS/t6pY8D18hdAjENlwPPxqvbfvRCde2yXGDZyWuu9
	ofvv8Tpj0FW6XLD6Vl194F0usEoUoeqrZJPhsmSphxErrNHYpwM4YNBVKUH+urMpn00dcI2uuQ5
	nA6cOVyGMdUFI6VweBnPQfHNRMvYSB2yWldea890ofCqiatZw4k2AquZmpiQXYM6CFWs2Mp3sQG
	Ov6miz2g0oR3ab350r4DF6BbQhr29/5703OeBiIkdmw6e+PkHywmzuu3EdxF5MaE5EYR4mxuMrm
	i20Snt9s4dQazICImaIvHat4onuIyjQ==
X-Google-Smtp-Source: AGHT+IE0W1hPSNV8PtIQFte8an7Rbj+tZ2tfEGV2hus7JuqwAs4advdKnqs8t+uQvpe7Haoa9ilaoQ==
X-Received: by 2002:a7b:c2a9:0:b0:43b:bb72:1dce with SMTP id 5b1f17b1804b1-43d1806bfc6mr49472435e9.5.1741942599652;
        Fri, 14 Mar 2025 01:56:39 -0700 (PDT)
Message-ID: <1e36cec6-c02c-47b9-b957-087e8eb62328@suse.com>
Date: Fri, 14 Mar 2025 09:56:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Andriy Sultanov <sultanovandriy@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>
References: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
 <f308cbf6-0d2d-4843-982a-a59ea70c7ad1@amd.com>
 <CAHPYgaXc8X5tBYN6BL2w2PVSNLwaTPP=zWhATBbjYRN-2dmE-g@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: <CAHPYgaXc8X5tBYN6BL2w2PVSNLwaTPP=zWhATBbjYRN-2dmE-g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 09:07, Andriy Sultanov wrote:
> On Thu, 13 Mar 2025 at 19:59, Jason Andryuk <jason.andryuk@amd.com> wrote:
>> On 2025-03-13 14:57, Andrii Sultanov wrote:
>>> --- a/xen/drivers/passthrough/amd/iommu.h
>>> +++ b/xen/drivers/passthrough/amd/iommu.h
>>> @@ -77,8 +77,14 @@ struct amd_iommu {
>>>       struct list_head list;
>>>       spinlock_t lock; /* protect iommu */
>>>
>>> -    u16 seg;
>>> -    u16 bdf;
>>> +    union {
>>> +        struct {
>>> +            uint16_t bdf;
>>> +            uint16_t seg;
>>
>> Are these still needed by the end of this patch?
> 
> Yes - otherwise the patch would be larger as bdf and seg would be one
> namespace deeper - /iommu->seg/iommu->sbdf.seg/

This kind of union is fragile. Hence we want to avoid it, even if this means
an overall larger diff. As Jason has suggested, it may help reviewability if
you split things some.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:05:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914116.1319919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0ye-0007bu-Sg; Fri, 14 Mar 2025 09:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914116.1319919; Fri, 14 Mar 2025 09: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 1tt0ye-0007bn-P5; Fri, 14 Mar 2025 09:05:12 +0000
Received: by outflank-mailman (input) for mailman id 914116;
 Fri, 14 Mar 2025 09: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt0yd-0007bh-NF
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:05:11 +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 6df302e5-00b3-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:05:09 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so11590885e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:05:09 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df31f6sm4864344f8f.6.2025.03.14.02.05.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:05: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: 6df302e5-00b3-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741943109; x=1742547909; 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=HJ7ML+KrNh5zi+ddsS8Tphtv9HdgEe4FWkzQk0w/fJk=;
        b=Wrf/y41prLstCOl/s89XWTebGLeCStN/6uFV6KUfp4RCU/uCDyX8MXwjXiPoCJYFyw
         lge+I2PFb3vW5fnj7244dFoGWPiBG4tqI+Mz2pLoECObD1ZdDgmlZLBb9pLxfQ2RaJlA
         9A9F8TUYtkXECihgqU09m61CBGFGmW8cFvVKo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943109; x=1742547909;
        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=HJ7ML+KrNh5zi+ddsS8Tphtv9HdgEe4FWkzQk0w/fJk=;
        b=aZXAh1kGHrom2F7flGfyn21y2imC4/OQ98/JmDevVf3QoILW4neey3HkTv98uOWbxT
         Ul8AORX+v4hfy58bX173TctcInhbbwfVZ8TrbCWAOZm2x7tfiXdxByo2Zgps77XVD6G2
         Ar3dQoSb1PMdIqq2vuAX42mhqnvHXrSBKrGfnWhcuc60S1gUuiNOu5B8bHDfBFmIni+L
         iAjt7RFa4Y4bwQ9wt0rlbAS3FKpi3oJjt2aKxkw6qAr0vWUGtNi4SrvmB6zmPOfMaKLg
         fin14tDxU3iC4s0rlNeGjJqm2fRw2QVc5dqG/UGEMlQnZb15bFmU2zHsmUk2cCo8H2gi
         cEPg==
X-Forwarded-Encrypted: i=1; AJvYcCXpnDKf4ss9bhZCorP8Aki4918v5a84ZDXT8Y76ABg1mIepxCq9M4+CXHhQ3JfyXaAwb6KLzrtjEBY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyPEMyjyLk4TF8bLk4FiIKwMIyAsD3Fr77gucGBv4mLZ3I0hTzu
	cl+2jQlrREZ/PwGUn27iWjb5zU6Orrfh3f+4inpJyeSWrlWk99GMwaY4kbp190s=
X-Gm-Gg: ASbGnctIECNVgcnOqf5PVT2DGHlMU5apWw7ROLvs7m5n48cuDp+zIhobNPABXHinuXS
	irHQWKbb3mju7dycvOXeovYyXzA2V+GhdZhKkvWGvO/9qlItU2SRoe5SGsc32EKAi3d7+zFTI5F
	BycHayOcK0PW+83X5EgUMHKnPaf4+HYc9CZt6+8m/mAOzPBjw1Jw5jAS+Iz9doEx5DpDfr/74x1
	/QsqWLChbfbhEq3F8BW7L330YM1qKu0AO4IRDetP4TQChkVvzuFDbGBttg/oQXqwADqvwpuCwR7
	gqFt/F4mR+XAFDIL5Jt+3n4qc1E6tX4tyAqNZtTKcAWkQBql61z/j/MUKGumAC1V5U3wDkMjrcg
	0N03PtvjL
X-Google-Smtp-Source: AGHT+IEkouLxdjnxDcBgwoh3uYSbDDJ/aSBFqLFgJ/AUNUSDzk7Nm4J2lh8v0xg+pvFWgi4f4rWGFA==
X-Received: by 2002:a5d:6d8f:0:b0:391:48d4:bcf2 with SMTP id ffacd0b85a97d-3971d5227d9mr1802859f8f.12.1741943108701;
        Fri, 14 Mar 2025 02:05:08 -0700 (PDT)
Message-ID: <dd147c79-055e-4a94-bb23-4c59821d520a@citrix.com>
Date: Fri, 14 Mar 2025 09:05:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: 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: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
 <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@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: <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 8:44 am, Jan Beulich wrote:
> On 14.03.2025 09:30, Roger Pau MonnĂŠ wrote:
>> On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
>>> On 13.03.2025 16:30, Roger Pau Monne wrote:
>>>> When enabling UBSAN with clang, the following error is triggered during the
>>>> build:
>>>>
>>>> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>       |         ^
>>>> <inline asm>:1:121: note: instantiated into assembly here
>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>       |                                                                                                                                ^
>>>> common/wait.c:154:9: error: symbol '.L_skip' is already defined
>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>       |         ^
>>>> <inline asm>:1:159: note: instantiated into assembly here
>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>       |                                                                                                                                                                      ^
>>>> 2 errors generated.
>>>>
>>>> The inline assembly block in __prepare_to_wait() is duplicated, thus
>>>> leading to multiple definitions of the otherwise unique labels inside the
>>>> assembly block.  GCC extended-asm documentation notes the possibility of
>>>> duplicating asm blocks:
>>>>
>>>>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
>>>>> your assembly code when optimizing. This can lead to unexpected duplicate
>>>>> symbol errors during compilation if your asm code defines symbols or
>>>>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
>>>> Move the assembly blocks that deal with saving and restoring the current
>>>> CPU context into it's own explicitly non-inline functions.  This prevents
>>>> clang from duplicating the assembly blocks.  Just using noinline attribute
>>>> seems to be enough to prevent assembly duplication, in the future noclone
>>>> might also be required if asm block duplication issues arise again.
>>> Wouldn't it be a far easier / less intrusive change to simply append %= to
>>> the label names?
>> That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
>> won't be able to make a jump to the .L_wq_resume label defined in the
>> __prepare_to_wait() assembly block if the label is declared as
>> .L_wq_resume%=.
>>
>> Also we want to make sure there's a single .L_wq_resume seeing how
>> check_wakeup_from_wait() uses it as the restore entry point?
> Hmm, yes on both points; the %= would only work for .Lskip. Have you gained
> understanding why there is this duplication? The breaking out of the asm()
> that you do isn't going to be reliable, as in principle the compiler is
> still permitted to duplicate stuff. Afaict the only reliable way is to move
> the code to a separate assembly file (with the asm() merely JMPing there,
> providing a pseudo-return-address by some custom means). Or to a file-scope
> asm(), as those can't be duplicated.

See the simplified example in
https://github.com/llvm/llvm-project/issues/92161

When I debugged this a while back, The multiple uses of wqv->esp (one
explicit after the asm, one as an asm parameter) gain pointer
sanitisation, so the structure looks like:

Â Â Â  ...
Â Â Â  if ( bad pointer )
Â Â Â  Â Â Â  __ubsan_report();
Â Â Â  asm volatile (...);
Â Â Â  if ( bad pointer )
Â Â Â  Â Â Â  __ubsan_report();
Â Â Â  ...

which then got transformed to:

Â Â Â  if ( bad pointer )
Â Â Â  {
Â Â Â  Â Â Â  __ubsan_report();
Â Â Â  Â Â Â  asm volatile (...);
Â Â  Â Â Â Â  __ubsan_report();
Â Â Â  }
Â Â Â  else
Â Â Â  Â Â Â  asm volatile (...);

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:06:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914130.1319928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt0zq-0008Bd-8b; Fri, 14 Mar 2025 09:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914130.1319928; Fri, 14 Mar 2025 09:06: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 1tt0zq-0008BW-5r; Fri, 14 Mar 2025 09:06:26 +0000
Received: by outflank-mailman (input) for mailman id 914130;
 Fri, 14 Mar 2025 09:06: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt0zp-0007bh-1i
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:06:25 +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 9a0ebc42-00b3-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:06:23 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e5bc066283so2790753a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:06:23 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e816afe223sm1684458a12.70.2025.03.14.02.06.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 02:06: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: 9a0ebc42-00b3-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741943183; x=1742547983; darn=lists.xenproject.org;
        h=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=TqFsN1CFuWRAJjRa36K5sQJT9yZruSVOJe1PWwEpxlQ=;
        b=US/B1VlBYb16R5XLP6TaAryZx/DwTlkSmWGWijWCrfeEWi0htd9h/tHg36a+zbg5Y1
         Ahm7kbHwuCv58TldTI7h9gZJc+R+7EheQz/W2VTXzLt6YoaGAzKunl+3RHwtEMeSCnqL
         7ApcdvcvP4qM/PDtYeBjN7yZuuVj0lG5nUCck=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943183; x=1742547983;
        h=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=TqFsN1CFuWRAJjRa36K5sQJT9yZruSVOJe1PWwEpxlQ=;
        b=gTaSULEuj5fL3R6r1S/I6Y6ymcbpaYbNW9QQ3kqS8WqBAER3kr5vxzquOHJAE/eV/R
         LgkuB/U5cB83ZgDIXsQ5uXqr9wc7tnQw3aurqWSJhFEbeFZ+AeevialUYpigSmgq+DUo
         G08FDjNUC7/+Oy6BxNxKqTgO+EdcIgKVVlo1jt4ncxUUG2Ta8S5dQ/10TlmiutdoaGfa
         GlkMjqJIMQGjUaVilbuuPDj0ORvk5CVpN12EOncVanhywbmMFR+i0bZUiW7xjM85tl9n
         qDyFMnLY57j8gWAuJm++YKAbETTJ1tzNFF2dtJxGobMEpslGH7ex3pY4e3IMYn9rDCeW
         TWeQ==
X-Forwarded-Encrypted: i=1; AJvYcCUZeYG2w8YvE0O+dBKC03clBwc2x/yF6fovoYKUsPL6IqgsBAKfwaroQmvozefLgxW9Nz1HpyTo5n8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpB8IKeiY8m2l8fmLgjmfjpTIBrqkovz6rHuHq0j2GpB2I1h7c
	+xRYmZsZbwRzY/+u9CD75RF20/WYPODVqe8rP+leknF2YVEJeGpUv0Tdf9MPzKE=
X-Gm-Gg: ASbGncsQsft1gFX6UME7c3JxZvXnBqtlANfzemgdulShrWaWBi4JwbwKB8IXIlc87HV
	Y3eeXdT2ucedytrqBzc9FP7WUvwR+651RqNquV7euv/dTdbUSCjVYZgsVkb5vvOhaggNdCMs80p
	jJufiNQYRrVxgTMcVmFvNw4q/nflTrckUdBYjxDaigwOwhCHM5UK2geVr7d5zyYm3PhxqnulUdS
	GcSlUk/q7tiNWS3I/Tg0AvMlPIH15usls83ebiPTsT3CIWM2fBxBT1LKYO6frIwEwZDkrQyWlu1
	1BbqGlWUggTqe0TrfwwZkessAtQaJC/ltxrmbjzh5UnACzDFCw==
X-Google-Smtp-Source: AGHT+IFmhw/hvJcI/Fev7jCLinaW1BBnQzoeQNhr8YjQg4AkJD23TIqu71RGMoKoeSYvdZvMQipatg==
X-Received: by 2002:a05:6402:4405:b0:5e7:8503:1a4b with SMTP id 4fb4d7f45d1cf-5e89f6430b1mr1858657a12.18.1741943182741;
        Fri, 14 Mar 2025 02:06:22 -0700 (PDT)
Date: Fri, 14 Mar 2025 10:06:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
Message-ID: <Z9Pxikoa2Ggo6SkW@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
 <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>

On Fri, Mar 14, 2025 at 09:44:10AM +0100, Jan Beulich wrote:
> On 14.03.2025 09:30, Roger Pau MonnĂŠ wrote:
> > On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
> >> On 13.03.2025 16:30, Roger Pau Monne wrote:
> >>> When enabling UBSAN with clang, the following error is triggered during the
> >>> build:
> >>>
> >>> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
> >>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
> >>>       |         ^
> >>> <inline asm>:1:121: note: instantiated into assembly here
> >>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
> >>>       |                                                                                                                                ^
> >>> common/wait.c:154:9: error: symbol '.L_skip' is already defined
> >>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
> >>>       |         ^
> >>> <inline asm>:1:159: note: instantiated into assembly here
> >>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
> >>>       |                                                                                                                                                                      ^
> >>> 2 errors generated.
> >>>
> >>> The inline assembly block in __prepare_to_wait() is duplicated, thus
> >>> leading to multiple definitions of the otherwise unique labels inside the
> >>> assembly block.  GCC extended-asm documentation notes the possibility of
> >>> duplicating asm blocks:
> >>>
> >>>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
> >>>> your assembly code when optimizing. This can lead to unexpected duplicate
> >>>> symbol errors during compilation if your asm code defines symbols or
> >>>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
> >>>
> >>> Move the assembly blocks that deal with saving and restoring the current
> >>> CPU context into it's own explicitly non-inline functions.  This prevents
> >>> clang from duplicating the assembly blocks.  Just using noinline attribute
> >>> seems to be enough to prevent assembly duplication, in the future noclone
> >>> might also be required if asm block duplication issues arise again.
> >>
> >> Wouldn't it be a far easier / less intrusive change to simply append %= to
> >> the label names?
> > 
> > That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
> > won't be able to make a jump to the .L_wq_resume label defined in the
> > __prepare_to_wait() assembly block if the label is declared as
> > .L_wq_resume%=.
> > 
> > Also we want to make sure there's a single .L_wq_resume seeing how
> > check_wakeup_from_wait() uses it as the restore entry point?
> 
> Hmm, yes on both points; the %= would only work for .Lskip. Have you gained
> understanding why there is this duplication?

Not anything else than what Andrew found in:

https://github.com/llvm/llvm-project/issues/92161

> The breaking out of the asm()
> that you do isn't going to be reliable, as in principle the compiler is
> still permitted to duplicate stuff.

I know.  That's why I mention in the commit message that "... asm
block duplication issues arise again."

> Afaict the only reliable way is to move
> the code to a separate assembly file (with the asm() merely JMPing there,
> providing a pseudo-return-address by some custom means). Or to a file-scope
> asm(), as those can't be duplicated.

Moving to a separate file was my first thought, but it seemed more
intrusive that strictly needed to workaround the issue at hand.

I can take a look at what I can do, if the proposed approach is not
suitable.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:10:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914146.1319938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt13O-0001KL-Mu; Fri, 14 Mar 2025 09:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914146.1319938; Fri, 14 Mar 2025 09:10: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 1tt13O-0001KE-Jt; Fri, 14 Mar 2025 09:10:06 +0000
Received: by outflank-mailman (input) for mailman id 914146;
 Fri, 14 Mar 2025 09: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt13M-00018j-Ti
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:10:04 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d8df7db-00b4-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 10:10:04 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-ac25d2b2354so327237666b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:10:03 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3146aea4csm197020866b.33.2025.03.14.02.10.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 02:10: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: 1d8df7db-00b4-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741943403; x=1742548203; darn=lists.xenproject.org;
        h=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=FEhQ44Vm9/u5abUc0xjtMyneOG7EuDL9NhaKLTGbwbs=;
        b=uXfOrrmBoGCnNwLBhm0FisRpyWeWrS8mvD2I552Q/Pbxm/JO2JwRxxwUWLvu8Fn8pw
         kwlVxrmzBP5IAAcVfe1Ffe+p52KV9H7HBvcQjftBw3fXsLIl1UjTN7z73ziOOu6xzhGB
         h21Nd6VNIkRCX8wPBednlGb4vcEBvdrgy8BPM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943403; x=1742548203;
        h=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=FEhQ44Vm9/u5abUc0xjtMyneOG7EuDL9NhaKLTGbwbs=;
        b=fGntAv8FdZiPmLPPfv5EXNn23KC/seGGJIx2MzBXWGFrc2170O1bZDRryb9ulsb3vt
         w9zYvqCtIWinVDabjnOVoNI6FU0A9uN55TiCCmq8KpfYI4y2hOexUjCGOrCHTL9iabPg
         dgiP+si/Pt3PlPd/RAsT4pGvG51JlgW6+QfuGovjsRiu45TxkadoAS73s/P2NsSqCB49
         KCwq0uWWln+CMBEzTg14Oa5ARcuLqbchA0m6pyWggaWrLXAF2L9AU6um751XzSfS2VqQ
         zrz68iAi7b6c+Uce5nUuFEOAvmd5rDxZ9/90PFS4OCuZLWPLm6vtTZO8YNoHN45XiHk8
         N4Vg==
X-Forwarded-Encrypted: i=1; AJvYcCU/h5YKLlMVzia4Mua5WhAcXCsd/JS9azknIX6DlGb/e/mKdICISPgGz+Zc07Vg14veeWYWwmLulL8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywk0775FCeC67QHFcR3A58fp9UZ7GRSBXVChnWORWyiVNZLsysf
	nwpd9y57hfw97kGh0qHl26bvmDUIlFTrqAVCXu/uGgcDjXEMEwr1DbDiW1KUARg=
X-Gm-Gg: ASbGncuFOqHJCX9yTIjWZ4k2AQ3L1OPLm5xWw30o9maDKzc5i9D8yJBPtiNvjNv5v01
	BCNGr2dFXIO3yMIj23u5zw+CMr5Ql5DJUlJ995wu6qGAzsjIupBGDMLmRZmYkTmCxdlVfRDPQ+/
	lqPsZv5gEgP4t6c2l9I7CJrovkjKLhFTeh/kzSzLZzdliqpAR8KALdcV5EzDmItGvhSqXoJQyz0
	BWKtQHHXlGrQsIIoIG9BO/NyHpPBfKQK68QJWpqBLC2eN/w9A780+52tNzzw7RMICd0tVTMl5KK
	3MeA8FCzgvXajVW/0U0ov2n3KK+NZ1Fp945TSrp3qsxwMdzQCA==
X-Google-Smtp-Source: AGHT+IHcOAtQjYHEqgP8v0BJotJkafsAOv7P2SfiYrDYiD0TOxIjiEQ0YEOFWh8K5Rb0nzRnA2Rx4Q==
X-Received: by 2002:a17:907:6ea9:b0:ac3:2ad9:f126 with SMTP id a640c23a62f3a-ac330441d4amr217145566b.41.1741943403358;
        Fri, 14 Mar 2025 02:10:03 -0700 (PDT)
Date: Fri, 14 Mar 2025 10:10:01 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 3/7] x86/dom0: placate GCC 12 compile-time errors with
 UBSAN and PVH_GUEST
Message-ID: <Z9PyaVYsXVxLrmLf@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-4-roger.pau@citrix.com>
 <eaf90340-929c-4c89-99cf-0383918e9d5a@suse.com>
 <Z9PobmG8lDy-oscG@macbook.local>
 <f5eb7710-c709-46a0-9821-bfc147d8cd53@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f5eb7710-c709-46a0-9821-bfc147d8cd53@suse.com>

On Fri, Mar 14, 2025 at 09:33:01AM +0100, Jan Beulich wrote:
> On 14.03.2025 09:27, Roger Pau MonnĂŠ wrote:
> > On Fri, Mar 14, 2025 at 09:10:59AM +0100, Jan Beulich wrote:
> >> On 13.03.2025 16:30, Roger Pau Monne wrote:
> >>> When building Xen with GCC 12 with UBSAN and PVH_GUEST both enabled the
> >>> compiler emits the following errors:
> >>>
> >>> arch/x86/setup.c: In function '__start_xen':
> >>> arch/x86/setup.c:1504:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
> >>>  1504 |             end = consider_modules(s, e, reloc_size + mask,
> >>>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>  1505 |                                    bi->mods, bi->nr_modules, -1);
> >>>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>> arch/x86/setup.c:1504:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> >>> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
> >>>   686 | static uint64_t __init consider_modules(
> >>>       |                        ^~~~~~~~~~~~~~~~
> >>> arch/x86/setup.c:1535:19: error: 'consider_modules' reading 40 bytes from a region of size 4 [-Werror=stringop-overread]
> >>>  1535 |             end = consider_modules(s, e, size, bi->mods,
> >>>       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>  1536 |                                    bi->nr_modules + relocated, j);
> >>>       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>> arch/x86/setup.c:1535:19: note: referencing argument 4 of type 'const struct boot_module[0]'
> >>> arch/x86/setup.c:686:24: note: in a call to function 'consider_modules'
> >>>   686 | static uint64_t __init consider_modules(
> >>>       |                        ^~~~~~~~~~~~~~~~
> >>>
> >>> This seems to be the result of some function manipulation done by UBSAN
> >>> triggering GCC stringops related errors.  Placate the errors by declaring
> >>> the function parameter as `const struct *boot_module` instead of `const
> >>> struct boot_module[]`.
> >>>
> >>> Note that GCC 13 seems to be fixed, and doesn't trigger the error when
> >>> using `[]`.
> >>>
> >>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >>> ---
> >>>  xen/arch/x86/setup.c | 2 +-
> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> >>> index 4a32d8491186..bde5d75ea6ab 100644
> >>> --- a/xen/arch/x86/setup.c
> >>> +++ b/xen/arch/x86/setup.c
> >>> @@ -684,7 +684,7 @@ static void __init noinline move_xen(void)
> >>>  #undef BOOTSTRAP_MAP_LIMIT
> >>>  
> >>>  static uint64_t __init consider_modules(
> >>> -    uint64_t s, uint64_t e, uint32_t size, const struct boot_module mods[],
> >>> +    uint64_t s, uint64_t e, uint32_t size, const struct boot_module *mods,
> >>>      unsigned int nr_mods, unsigned int this_mod)
> >>>  {
> >>>      unsigned int i;
> >>
> >> While I'm okay-ish with the change, how are we going to make sure it won't be
> >> re-introduced? Or something similar be introduced elsewhere?
> > 
> > I'm afraid I don't have a good response, as I don't even know exactly
> > why the error triggers.
> 
> One option might be to amend ./CODING_STYLE for dis-encourage [] notation
> in function parameters. I wouldn't be happy about us doing so, as I think
> that serves a documentation purpose, but compiler deficiencies getting in
> the way is certainly higher priority here.
> 
> Trying to abstract this (vaguely along the lines of gcc11_wrap()), otoh,
> wouldn't be desirable imo, as it would still lose the doc effect, at least
> to some degree.

This is a very specific case, I don't think we should change our
coding style based on it.  I think our only option is to deal with
such compiler bugs when we detect them.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:13:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914157.1319948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt16P-0002ne-4l; Fri, 14 Mar 2025 09:13:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914157.1319948; Fri, 14 Mar 2025 09:13: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 1tt16P-0002mj-1f; Fri, 14 Mar 2025 09:13:13 +0000
Received: by outflank-mailman (input) for mailman id 914157;
 Fri, 14 Mar 2025 09:13: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt16N-0002jf-5q
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:13:11 +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 8bca0e66-00b4-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:13:08 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3912baafc58so1626890f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:13: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-43d1fe292dbsm11071075e9.19.2025.03.14.02.13.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:13: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: 8bca0e66-00b4-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741943588; x=1742548388; 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=tbyOs88czW4LhE2Z8aOvaxuKXJ8dCDwqD6he+2VUkec=;
        b=S/R5Q4mEFADiXB/06KMsDq4ju8C9MyRqU22OheVK3m1hliIGwhktl2qv9Qb1dmyZSw
         qGAT0PfdbmKC2JfX2tyBgcGWcs7fof9Zny2TIe8VNjoX5vY95NnCSMEc6XoscDXiO8P8
         +MA+R95HjhKLEswROIOCWj6nU6nPtoP1usBJEKvzaBY7wiR5VU9EFTCA3MlYxyMH7m/r
         6h3UbCjjmcUQj9KfHZV72m4N/tg86nbT3uDfGwj7M+2kB7WGsg6n0oLxjnSN+vKvhUtV
         GRHUroj4RS8GlgWXmWjKX0Iz5FQ60dfYseUksF29Oy1UJlA5//1z7Rb5IpSnAYjeouNx
         cJgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943588; x=1742548388;
        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=tbyOs88czW4LhE2Z8aOvaxuKXJ8dCDwqD6he+2VUkec=;
        b=YaA7kCAPllmuMpf8+zY+B3tHE9t+xwrQ6ZvpfCmrPz7NYjFdh7VTD2rvtClvC3jReq
         N9/nnIrIIsZWAUCor09X9wWXTKlcDxMOHSicJz8ydIbn0HzcZenZu9gyBEevbXAv4O1e
         xnjSnweQ9ukSTz0SAPltmUu2LNPP8aYAvuG94o8x11vysZfdYOvQSNxDFdpnaZKAiC32
         TmWGd0qu+ynTbdpbGGYWuqicP/+K2g1u23dZJsUPe6PwHS/D94NROnnJ119INIXqOLf/
         ERtxxbpWX4xhQJorW0s93ETfrNQRL5nZmqyXmJVG3oInUMTKGntwVL0cbGXBXrfQhY/o
         4G1Q==
X-Forwarded-Encrypted: i=1; AJvYcCVeXqnVIFxVp2iFDbRGoEylkmUg5LHT54rrTX/OFequ9FVrPa4yRB4AdEKiYK/ASmKRJ6Cg60eJE4E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEyhDyLoQFuCKj2oB2u1/zB5Vuo8ehqCZzxM0k800LbkjYCb0d
	PZnpHwJFtHRiiz5fCaa78vrXOszAduKS91QaJzarndVyD09CtXmyP74De9ZwqQ==
X-Gm-Gg: ASbGncswwPz/cE9qT3BoaTQTZnnIfpoYAk7KLLyqDjWvYh4n47Q4Ek8930uvEhFy2FH
	NtsuNrCS7nrzwplTb88G/wNrzs+rV/ZyRK3TiuIab8k0DAcjo7ncN3/DQFyGlVrbqkeQuUq+e+g
	RQoqWOvz2y5ZVq4i70rLwto/tOSjOUgmNJwzOTXXmc/NMu6ZXH7lW4T0n4QflPGstTGtBHKBP6e
	YZljtPUA2F8O+3DG+49R0x0RTtsnyqIQ8RuXPIqfS6UXoHEfDL1bju8d2k2rx+EEAeRw4LH4+c9
	nuYClFWI9dnSoEBwAz7qPV8BSygaonNDd3MxGObGJWoldW/Qz+r360rSWr1LHdnynvD895QIhjF
	NFyk3iThWeZHue1otqC1VeSz4RXXYMA==
X-Google-Smtp-Source: AGHT+IEVv22i1lsMMan8/HQ9X9VZ3glAKMZmZZbF6t9PsvoYg8x42Hy1Zv9xCI3KeFh9TB0HdttMOA==
X-Received: by 2002:a5d:5f94:0:b0:391:4914:3c6a with SMTP id ffacd0b85a97d-3971e1b49ccmr2345838f8f.29.1741943588304;
        Fri, 14 Mar 2025 02:13:08 -0700 (PDT)
Message-ID: <3d905488-b3ec-452f-afca-9a7d85484fe9@suse.com>
Date: Fri, 14 Mar 2025 10:13:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: 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: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
 <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
 <dd147c79-055e-4a94-bb23-4c59821d520a@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: <dd147c79-055e-4a94-bb23-4c59821d520a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 10:05, Andrew Cooper wrote:
> On 14/03/2025 8:44 am, Jan Beulich wrote:
>> On 14.03.2025 09:30, Roger Pau MonnĂŠ wrote:
>>> On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
>>>> On 13.03.2025 16:30, Roger Pau Monne wrote:
>>>>> When enabling UBSAN with clang, the following error is triggered during the
>>>>> build:
>>>>>
>>>>> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
>>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>>       |         ^
>>>>> <inline asm>:1:121: note: instantiated into assembly here
>>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>>       |                                                                                                                                ^
>>>>> common/wait.c:154:9: error: symbol '.L_skip' is already defined
>>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>>       |         ^
>>>>> <inline asm>:1:159: note: instantiated into assembly here
>>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>>       |                                                                                                                                                                      ^
>>>>> 2 errors generated.
>>>>>
>>>>> The inline assembly block in __prepare_to_wait() is duplicated, thus
>>>>> leading to multiple definitions of the otherwise unique labels inside the
>>>>> assembly block.  GCC extended-asm documentation notes the possibility of
>>>>> duplicating asm blocks:
>>>>>
>>>>>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
>>>>>> your assembly code when optimizing. This can lead to unexpected duplicate
>>>>>> symbol errors during compilation if your asm code defines symbols or
>>>>>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
>>>>> Move the assembly blocks that deal with saving and restoring the current
>>>>> CPU context into it's own explicitly non-inline functions.  This prevents
>>>>> clang from duplicating the assembly blocks.  Just using noinline attribute
>>>>> seems to be enough to prevent assembly duplication, in the future noclone
>>>>> might also be required if asm block duplication issues arise again.
>>>> Wouldn't it be a far easier / less intrusive change to simply append %= to
>>>> the label names?
>>> That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
>>> won't be able to make a jump to the .L_wq_resume label defined in the
>>> __prepare_to_wait() assembly block if the label is declared as
>>> .L_wq_resume%=.
>>>
>>> Also we want to make sure there's a single .L_wq_resume seeing how
>>> check_wakeup_from_wait() uses it as the restore entry point?
>> Hmm, yes on both points; the %= would only work for .Lskip. Have you gained
>> understanding why there is this duplication? The breaking out of the asm()
>> that you do isn't going to be reliable, as in principle the compiler is
>> still permitted to duplicate stuff. Afaict the only reliable way is to move
>> the code to a separate assembly file (with the asm() merely JMPing there,
>> providing a pseudo-return-address by some custom means). Or to a file-scope
>> asm(), as those can't be duplicated.
> 
> See the simplified example in
> https://github.com/llvm/llvm-project/issues/92161
> 
> When I debugged this a while back, The multiple uses of wqv->esp (one
> explicit after the asm, one as an asm parameter) gain pointer
> sanitisation, so the structure looks like:
> 
> Â Â Â  ...
> Â Â Â  if ( bad pointer )
> Â Â Â  Â Â Â  __ubsan_report();
> Â Â Â  asm volatile (...);
> Â Â Â  if ( bad pointer )
> Â Â Â  Â Â Â  __ubsan_report();
> Â Â Â  ...
> 
> which then got transformed to:
> 
> Â Â Â  if ( bad pointer )
> Â Â Â  {
> Â Â Â  Â Â Â  __ubsan_report();
> Â Â Â  Â Â Â  asm volatile (...);
> Â Â  Â Â Â Â  __ubsan_report();
> Â Â Â  }
> Â Â Â  else
> Â Â Â  Â Â Â  asm volatile (...);

But isn't it then going to be enough to latch &wqv->esp into a local variable,
and use that in the asm() and in the subsequent if()?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:14:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914168.1319960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt17i-0003Sw-GR; Fri, 14 Mar 2025 09:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914168.1319960; Fri, 14 Mar 2025 09: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 1tt17i-0003Sp-Bj; Fri, 14 Mar 2025 09:14:34 +0000
Received: by outflank-mailman (input) for mailman id 914168;
 Fri, 14 Mar 2025 09:14: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt17h-0003Se-Jr
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:14:33 +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 bd1cc05f-00b4-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:14:31 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-38f2f391864so1058477f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:14:31 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7eb8c2sm4788701f8f.85.2025.03.14.02.14.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:14: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: bd1cc05f-00b4-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741943671; x=1742548471; 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=a6GN2JQ3U6QyEYcwf68xoJJXul8QuyV9fat4upYkDTI=;
        b=L3uFHMAwLgyHunbTnRLHuYjZtGmYzxQKzSEJFlykljBEyS/z7tnkPjiC/SKbU4uKR8
         CQgPMZMcEX5zLXXVdwQbKunfMMnWPouf620JPb1aHmP3RomZZFdBe311TfMDgkKZBPxf
         vQ+GkeSjKNzW4ANyB33KgI19IYie5Ls2qf3Ec=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943671; x=1742548471;
        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=a6GN2JQ3U6QyEYcwf68xoJJXul8QuyV9fat4upYkDTI=;
        b=BkArdpBhYU/EnXaSTnqA5VgUPXwu8f40z3fo3SOvcfHwzILHcyWbk7j21j5t1WIoX9
         hx/j6Al29IjGBCN1ysFk9CzVHtrsefz3RQvd5G5U5aCsqHFQ2Cmc3ErO2YBKrYlnHLto
         kmjtXQNoxPCo/qjBd8oRfYm3WeU1dKXnO51yVnBLeEGR4vDPKY7c/sRog1+XTDKemgId
         KUGRQkiQBxrKWLRagNFw1TG5LBpck0Ch6ndzVgORrnzTni5WLWh+gZfOIXMJkAD/XTlg
         lF5SmePpOiMZhwoM9d4rN0R17ZKv0EPQ4HxYCLLBoUzugNXwWdMAAMkdVoeVYWXluh37
         RpmQ==
X-Forwarded-Encrypted: i=1; AJvYcCVDc1zE0NXn60WYAmRIlyBNfmzyP0mzgNS3ZyBlt1D67lYUrZguWWJ/4mLTV4VLokcAO+sWcChGSBc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVvgWVWa6KJz9bgZmJuL11Akfdjmb4QVttfsRL9ZtWe8qIpM/h
	sQwXpCoymOn8QTuuvJ0pLL+UEU94CilYPYmokID1GrmpUewZN/0sLBw0rUOITME=
X-Gm-Gg: ASbGncvoJIpXNtkQZ4r8Bo1ff3Skz5eRKWoTZDiFp1lRWJQwy2gI0MBAdGdB2G+FIC1
	3J2eufuwqw++CcA/MgCyqiOPphPhZAvMgBS2gRMmOOJ5ryhkH4DHYL9q9fEG45cSkZ2Ct8vn0ze
	5i0MxU/4utQHcHZYvH2xjym0/ihsBfR7pCePLUK9q++Wb1S88jVLVKoNAq2gElaYjeS4lnvbB03
	3gg61YafaOFWaLlW4zjkmMPyyZO6GthTLi+jaFMkcIiqotL2hex3F+hEUJYp4QbQMbUOvmqd3gQ
	Hw5ynxobwitYiQ6PNcBOBrVJz/Jmbiexf/+FqCp+6tv3mafGwp+q515iC6lEtFWt96BWvNhVZfE
	t7oXaY6u7
X-Google-Smtp-Source: AGHT+IEJv+DFmvwYUy6fZJAIZVi8lLYOUolYeW9YUGpAXDcteKD+h0q6Fgu/ge77yEupOXn+xPIQgg==
X-Received: by 2002:a05:6000:178c:b0:390:e8d4:6517 with SMTP id ffacd0b85a97d-3971d9f1c77mr2122388f8f.21.1741943671096;
        Fri, 14 Mar 2025 02:14:31 -0700 (PDT)
Message-ID: <94879059-1a38-45e3-ab3a-4f8eacd885cf@citrix.com>
Date: Fri, 14 Mar 2025 09:14:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
To: dmkhn@proton.me, xen-devel@lists.xenproject.org
Cc: anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com
References: <20250314011528.2608217-1-dmukhin@ford.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: <20250314011528.2608217-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14/03/2025 1:20 am, dmkhn@proton.me wrote:
> Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
> readability.
>
> No functional changes.
>
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

There are currently very few uses of NR_ISAIRQS, and you're about
tripling that.

Please could you do a prep patch renaming to NR_IRS_IRQS first for
legibility?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:15:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:15:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914179.1319968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt18J-00040W-Px; Fri, 14 Mar 2025 09:15:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914179.1319968; Fri, 14 Mar 2025 09:15: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 1tt18J-00040P-NF; Fri, 14 Mar 2025 09:15:11 +0000
Received: by outflank-mailman (input) for mailman id 914179;
 Fri, 14 Mar 2025 09:15: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt18I-0003Se-9A
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:15:10 +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 d3181728-00b4-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:15:08 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so16597045e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:15: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-43d2010e618sm10870005e9.40.2025.03.14.02.15.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:15: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: d3181728-00b4-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741943708; x=1742548508; 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=oYOMV+7ov3hgpZ+f4Kzm0K/lI2S1r/xp27WjiLm/uzY=;
        b=c291so/fr6XnYYQ2kw1byBe8ODMOrY9JRiyFRWU7+WQdBO2qyR9+FCu/+fKtJH30f+
         DE3n8EJINadjemmBfGGtaoWKTZC76dth5Ci93tZ7n8Eo7vIHVGtScaCGPqOkFNXgarCh
         jdu0HTaRFp0jkmIZarwkpHXStaoexnvZdo4wcHQ9uW0uDcAr4mV235HL/u36bMpeMqPa
         sgApTyDSu4M8Q2l7/ZPnDAeDV8w8IqjmAFiA8TFCTzp7k1HKduVz99jY11SVjY83W2tp
         RzWH3EJEap4gk4Esyl1ji3/K5le/+N7JqaT3s9YzAvcpXLtloE00Dmzgb35yWjh3Xtdw
         TYYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943708; x=1742548508;
        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=oYOMV+7ov3hgpZ+f4Kzm0K/lI2S1r/xp27WjiLm/uzY=;
        b=httGB4I3JEvvnWZY7jbVANm6i8g84TBKI/nZcVXVTF5b/V+Z4ECBdb09l2YaH1BiVU
         D6CerIoGsv9jr5Pw0XHmdhj6ovzF2I8T7xwRx0Ckc2hwIvE4zvUklYD1sk86p7Xpv3Ej
         2dVBAfrMKkUCD0ql59zzrtRIsxYastPS5C2f1LpKyUQqT+ae/fqjTR0BfFYBvahaSiZ6
         9fCwqoYxXXBuXCGuFT6qpxUgjBCWrpRrHDgaRLdpQpiIXdv5sD/Amop0nGShlJYTAeKt
         vpIK0b4H1qgJj4KL4e7MNEllUUSv6jj44hae6Odn842DkNtJGVo2V8NzIJrgzwk642eG
         SmzA==
X-Forwarded-Encrypted: i=1; AJvYcCUMWrBcfRNy8Y8AEZBK27Ymhhat34fFEYoZXVlh1ff2YpxOkiPk3rAekF1B4ywxJodsfXXG0bGowFw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywq0maQW325GcvHqMPXc7LcZh4yuNDO+oHI5nwvvVG8116q9H7w
	qREGXg/KVYowqnoUw24SGG88WXSm/jSgaMh/vgz3TZd6Fmg7RMhWEJt0Iqyrxg==
X-Gm-Gg: ASbGncuSoR5dDx0SOjb75YtNjaIPZfR4zaI2zYmQIeVwZ9rn6cizcUQTImxsNWmfcKc
	gl8FmvP5XUNwKl+kYRltusf3cnxq1zDNOpdl2Ba4T38UT8Hy3FwuYP2wvzfGNmEfvNzAnQoYZ7z
	cm/3qVuYNi5uHO+nqFuJzfn/jDzocJtLySlMkR6sKO3/EOVVXNU/6j25U/3sitVTI4jVAZfhENw
	MeynEAVZ4K4P90f/0MlpDSNx+dYIAFDxIxt0b2RFj//yK2OKgJx2cZreN5+HQ04FyEyYb8n4gVs
	+WwM1BcOSgiXWcGdSJT3y/rDc5Gdcja2/NCCu8M/TDPI8jVKV/OqcDjzoesQGSZmcQqERl73KS2
	SuZCnmuDj5vI4qxEHn/B+2hslmCMD9Q==
X-Google-Smtp-Source: AGHT+IFrItkQtLTbI3gf09i1l2jgTlWm5gtq0JsodaO2NQ4r/rDHgJ/DxsmlaE+si6y/MnE+AxG+/Q==
X-Received: by 2002:a05:600c:354d:b0:43c:f470:75df with SMTP id 5b1f17b1804b1-43d1ec62221mr22859335e9.3.1741943707869;
        Fri, 14 Mar 2025 02:15:07 -0700 (PDT)
Message-ID: <2c5dba1a-6719-4c24-9a06-9652818925a9@suse.com>
Date: Fri, 14 Mar 2025 10:15:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
 <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
 <Z9Pxikoa2Ggo6SkW@macbook.local>
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: <Z9Pxikoa2Ggo6SkW@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 10:06, Roger Pau MonnĂŠ wrote:
> On Fri, Mar 14, 2025 at 09:44:10AM +0100, Jan Beulich wrote:
>> On 14.03.2025 09:30, Roger Pau MonnĂŠ wrote:
>>> On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
>>>> On 13.03.2025 16:30, Roger Pau Monne wrote:
>>>>> When enabling UBSAN with clang, the following error is triggered during the
>>>>> build:
>>>>>
>>>>> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
>>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>>       |         ^
>>>>> <inline asm>:1:121: note: instantiated into assembly here
>>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>>       |                                                                                                                                ^
>>>>> common/wait.c:154:9: error: symbol '.L_skip' is already defined
>>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>>       |         ^
>>>>> <inline asm>:1:159: note: instantiated into assembly here
>>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>>       |                                                                                                                                                                      ^
>>>>> 2 errors generated.
>>>>>
>>>>> The inline assembly block in __prepare_to_wait() is duplicated, thus
>>>>> leading to multiple definitions of the otherwise unique labels inside the
>>>>> assembly block.  GCC extended-asm documentation notes the possibility of
>>>>> duplicating asm blocks:
>>>>>
>>>>>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
>>>>>> your assembly code when optimizing. This can lead to unexpected duplicate
>>>>>> symbol errors during compilation if your asm code defines symbols or
>>>>>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
>>>>>
>>>>> Move the assembly blocks that deal with saving and restoring the current
>>>>> CPU context into it's own explicitly non-inline functions.  This prevents
>>>>> clang from duplicating the assembly blocks.  Just using noinline attribute
>>>>> seems to be enough to prevent assembly duplication, in the future noclone
>>>>> might also be required if asm block duplication issues arise again.
>>>>
>>>> Wouldn't it be a far easier / less intrusive change to simply append %= to
>>>> the label names?
>>>
>>> That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
>>> won't be able to make a jump to the .L_wq_resume label defined in the
>>> __prepare_to_wait() assembly block if the label is declared as
>>> .L_wq_resume%=.
>>>
>>> Also we want to make sure there's a single .L_wq_resume seeing how
>>> check_wakeup_from_wait() uses it as the restore entry point?
>>
>> Hmm, yes on both points; the %= would only work for .Lskip. Have you gained
>> understanding why there is this duplication?
> 
> Not anything else than what Andrew found in:
> 
> https://github.com/llvm/llvm-project/issues/92161
> 
>> The breaking out of the asm()
>> that you do isn't going to be reliable, as in principle the compiler is
>> still permitted to duplicate stuff.
> 
> I know.  That's why I mention in the commit message that "... asm
> block duplication issues arise again."
> 
>> Afaict the only reliable way is to move
>> the code to a separate assembly file (with the asm() merely JMPing there,
>> providing a pseudo-return-address by some custom means). Or to a file-scope
>> asm(), as those can't be duplicated.
> 
> Moving to a separate file was my first thought, but it seemed more
> intrusive that strictly needed to workaround the issue at hand.

Maybe the file-scope asm() approach would be less intrusive overall,
compared to the separate-.S-file one. Plus it may allow keeping labels
non-global.

> I can take a look at what I can do, if the proposed approach is not
> suitable.

I've made yet another suggestion in reply to Andrew's response.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:16:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914192.1319979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt19P-0004b7-2t; Fri, 14 Mar 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 914192.1319979; Fri, 14 Mar 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 1tt19O-0004b0-Vg; Fri, 14 Mar 2025 09:16:18 +0000
Received: by outflank-mailman (input) for mailman id 914192;
 Fri, 14 Mar 2025 09:16: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt19N-0004ap-FF
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:16:17 +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 fb03cf29-00b4-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:16:15 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cfa7e7f54so12281685e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:16: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-43d200fad64sm10804555e9.25.2025.03.14.02.16.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02: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: fb03cf29-00b4-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741943775; x=1742548575; 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=l1aCHpkDwo2PHyrIDXTqmqgZbls8TqLTxU+Yhphbzcc=;
        b=Icy+jgijMdlTFY+G00z0tdhEwgPJc8NrLQK+lFtZvwByAiS/JFVv+PMBYJywnFSFpr
         Ai4p+sf1GCazv6ilVOG1BbeR2UQxXRX6DuXmc8P2DdW+9239HttAyBcVhZ+mYJSgLi+r
         0rv4wZbUxknFMxQjLWALbLr08NEqorOslcKd43jzfzOLI6pY6ZYZhuHiEeRjB+IUbhU3
         sHkOur0iS3QUO/IsioAkat8IMNHaRohR6o0O89zgWyEU6u9g7FFk1pCf5M8uGRdVRZJq
         q8RWOCpqG4wZj6kiQk6kC3nNhEtIiZnbhYXzZsAud5WLsmRcfI6tKWvTzQajm/tdKji2
         Arsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943775; x=1742548575;
        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=l1aCHpkDwo2PHyrIDXTqmqgZbls8TqLTxU+Yhphbzcc=;
        b=rcNDvqkGhjAtXrNHfiFXTRuUJEAQE5PH4Bytp6ntWjl+t6Jm4tnKDpSz/sUj0Tu7Nv
         Kbj919E0lhY1Xuv/sGEyK0DPvOF7Q1xGmzY0Cta0GCvStZHNwW6TDjUGeEpHnSW0jmv9
         lpFm94PL2uH7KGKCgFVDxTSzHTRWoStGLQHelwjWms7Af0CqVSgonm6VS34KLp7DxpwE
         b/BmafA5u5/h/nJyN1OoXHggYnDrpp+g7/U6Y8F021aNlUAJIcUK4KQqeomjBv+Ql8F1
         d0HkPzky88n3oPvTDb0cFrIrGTXrlIdoaOxTQPDzBxQvzzzRwGSGVc5E1NqkWa8KFyN/
         bcIw==
X-Forwarded-Encrypted: i=1; AJvYcCUQ183JG+QFPzjYh9i4SkpmXf2pkKDhdD6kkJ7AEPRzAtgevttRP9eUb+7GoAQPhwajIzeuVgCk6nc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywh+oMgLAw/07JAC9VK8oXUrQclTgCFcF5jVh26sdcJI19lAZWo
	M3S0MK4yxjVYwLulSXDhb5VjkfNJKqGyIlj8sMr07n+w3M5amYG28wgkl+f+lQ==
X-Gm-Gg: ASbGnctLV/ppqkV+31rU66QImYhpymSJEKIqLHV8MiBnoJ1nLdkNNILsthY0G3DAK4p
	xYhC+mjrxYwvMWT6Dvy4a/D9CYKrf+RTT3A3fuc8enneihCDc6i3QRvhoeSm21VNWO+kn0j+/VM
	UC5rgP6uHiEwfQbnXcbZSqb7tSpVfnZld+N+s78ffIelYNVJRnOC7ti9oAUfwyk/eLMR0WesBdO
	OeEv4AYMBTF9ncEcQmWkg52qMQ9XioQwowfBRbDSwA7YBLhaXgnbiDpYL3CVohXuDRpLJbUOZ5O
	klT1qqW5r1609eQERQLXvUBFa+JCheGe0dk/0vswW/KzORrjdG2dMVCTyC/MxfYsd9Mj4Ck2lZ8
	WdF8fGK2AOLIZRrsbAZx4kgmlYIMs0t55I609hD0Z
X-Google-Smtp-Source: AGHT+IFLzChvGweRajIr7/a+ri6/JcDIeWZg0kzq5hGya+b5FEJQrj4l/WfA4w3Fzoz2j3oSfg2+yQ==
X-Received: by 2002:a05:600c:1c9d:b0:43d:186d:a4bf with SMTP id 5b1f17b1804b1-43d1f120201mr19361655e9.0.1741943775001;
        Fri, 14 Mar 2025 02:16:15 -0700 (PDT)
Message-ID: <2fd26b5f-2d72-4261-a963-e05cf7fe56b7@suse.com>
Date: Fri, 14 Mar 2025 10:16:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
To: Andrew Cooper <andrew.cooper3@citrix.com>, dmkhn@proton.me
Cc: anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com,
 xen-devel@lists.xenproject.org
References: <20250314011528.2608217-1-dmukhin@ford.com>
 <94879059-1a38-45e3-ab3a-4f8eacd885cf@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: <94879059-1a38-45e3-ab3a-4f8eacd885cf@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 10:14, Andrew Cooper wrote:
> On 14/03/2025 1:20 am, dmkhn@proton.me wrote:
>> Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
>> readability.
>>
>> No functional changes.
>>
>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> 
> There are currently very few uses of NR_ISAIRQS, and you're about
> tripling that.
> 
> Please could you do a prep patch renaming to NR_IRS_IRQS first for
> legibility?

Ftaod - did you perhaps mean NR_ISA_IRQS?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:17:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914202.1319989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt1Aa-00057q-Ag; Fri, 14 Mar 2025 09:17:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914202.1319989; Fri, 14 Mar 2025 09:17: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 1tt1Aa-00057j-86; Fri, 14 Mar 2025 09:17:32 +0000
Received: by outflank-mailman (input) for mailman id 914202;
 Fri, 14 Mar 2025 09:17: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt1AZ-00057H-29
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:17:31 +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 26bb4010-00b5-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:17:28 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so1535725f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:17:28 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8e43244sm5034722f8f.60.2025.03.14.02.17.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:17: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: 26bb4010-00b5-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741943848; x=1742548648; 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=9oCRCnAvNt3XVteaii5vUjBtZABZ1cVVPcumfy3ZmVo=;
        b=KVC7TT0iJ91OS/8z0ktpYu31cZHaBaJk4PNuq1OXPvfdFNH59W6QGhEWoRAAOcMmcL
         QZcKq3Wbx6B8apqKWP48LK5pIoVsP44rj2+vMFPcQLzvIEI2tDrl1DXjVKfRbX+e/AoS
         Xy7RPtMv64jZ54FJZVVwTI6uFo5Y4w7zLV2PA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943848; x=1742548648;
        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=9oCRCnAvNt3XVteaii5vUjBtZABZ1cVVPcumfy3ZmVo=;
        b=WUMlteghB9LmNSucr6NwF8XTfwPgAbnIEcxOmZXpUn4tmHTuQZlh1nxUqtYXEpscKV
         CihdpKb1GQVjckQ/j+Wcr8LHXpRFcDCncmmzkVVcDSWUvW0+lzmGIdchoaLps7fvDFGg
         W8OzAVhzyVlsHCvUButQ7/WMDs5bQsmglslIRXceespew/uIeC5ELWK3YrJgWcpgjqSb
         IkhRGZfEea2QEQByqw1RO/0ae7bMk1+6GruRA1xDIjv2X3rqYlP07NNHdOlSUMpMk4YK
         koVIWgu5QUgSbaDOROQCfasnaixXDjpVlCSf7VEFy7WSKF+p6G7xr+Rti+nAXI5zH1yj
         bW4g==
X-Forwarded-Encrypted: i=1; AJvYcCUHeRxQQSzvjRYBkQbIbaaYwSu10aQQP7Xqws+jUeazKhNoIw+SlvbZyizVTiHE4irZtyglxrsNt/w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykMLoxR6zEBaZbGlZqdx232Ol7oEy0Trx1VwWfJTcrnHbLVoui
	Pxd9TUYUPx+mqlEouMEex42WRUVXTpsM27PgHlsEJXrKpN4e0ihQWjB6BAS0fKgEC96JDx1io1N
	I
X-Gm-Gg: ASbGncsg4GI43VKYErU1viZRZrSkRsuisQJv/RQjK8LvSS4ReTDUYyda86EuAegSRcZ
	6HXCuD1pSjkME/nqC3DXC8NHa+yrznXH0sEHFn1foGPtPPdLZGmZ+sy4yqJkCCPMxP75EdD6mZH
	+65YoQKlm4wFUOiIOApVb2P3IgsApJaw9Bm2r2bW+TE0vuDKZc6gsU/K+E6js5CKzy7FOjdB6LE
	R+yAUjYJEIhK/aExeJk4GVKy7RpDbgkkTOcPy+vSG4rsNHZ1QLlIsTpfdAeTeYSTMVu9zJJszXH
	oPqDMRIsg0jkUuersWu5PQbKjjZhe06B3mmJIgqi9Yx5OMf0a+mi+0LKdtEjG0y1L5K7jh6BjfT
	KkDLfQ4/m
X-Google-Smtp-Source: AGHT+IG1BrHIZUzZZQ4ZP09mkDCezAaGMCEC6Auoli5/fS+T6NEt1emkYrumlndq9xZJsbAQswXzWA==
X-Received: by 2002:a5d:47cc:0:b0:391:3f4f:a17f with SMTP id ffacd0b85a97d-3971ee43fc3mr2229602f8f.42.1741943848305;
        Fri, 14 Mar 2025 02:17:28 -0700 (PDT)
Message-ID: <eab025a8-74a5-45d5-87bb-b6dfbe9eec10@citrix.com>
Date: Fri, 14 Mar 2025 09:17:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
To: Jan Beulich <jbeulich@suse.com>, dmkhn@proton.me
Cc: anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com,
 xen-devel@lists.xenproject.org
References: <20250314011528.2608217-1-dmukhin@ford.com>
 <2f365e4a-1d01-4f1c-85b4-25be22545822@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: <2f365e4a-1d01-4f1c-85b4-25be22545822@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 8:51 am, Jan Beulich wrote:
> On 14.03.2025 02:20, dmkhn@proton.me wrote:
>> Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
>> readability.
>>
>> No functional changes.
>>
>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
>> ---
>>  xen/arch/x86/hvm/dm.c          |  2 +-
>>  xen/arch/x86/hvm/irq.c         | 17 +++++++++--------
>>  xen/arch/x86/hvm/vlapic.c      | 10 +++++-----
>>  xen/arch/x86/hvm/vpic.c        |  4 ++--
>>  xen/arch/x86/include/asm/irq.h |  2 +-
>>  xen/arch/x86/io_apic.c         | 12 ++++++------
>>  xen/arch/x86/irq.c             |  6 +++---
>>  7 files changed, 27 insertions(+), 26 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
>> index a1f7a4d30a..36d47664e9 100644
>> --- a/xen/arch/x86/hvm/dm.c
>> +++ b/xen/arch/x86/hvm/dm.c
>> @@ -90,7 +90,7 @@ static int set_pci_intx_level(struct domain *d, uint16_t domain,
>>  static int set_isa_irq_level(struct domain *d, uint8_t isa_irq,
>>                               uint8_t level)
>>  {
>> -    if ( isa_irq > 15 )
>> +    if ( isa_irq >= NR_ISAIRQS )
>>          return -EINVAL;
>>  
>>      switch ( level )
>> diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
>> index 1eab44defc..1f7d8ca43e 100644
>> --- a/xen/arch/x86/hvm/irq.c
>> +++ b/xen/arch/x86/hvm/irq.c
>> @@ -209,7 +209,7 @@ int hvm_isa_irq_assert(struct domain *d, unsigned int isa_irq,
>>      unsigned int gsi = hvm_isa_irq_to_gsi(isa_irq);
>>      int vector = -1;
>>  
>> -    ASSERT(isa_irq <= 15);
>> +    ASSERT(isa_irq < NR_ISAIRQS);
>>  
>>      spin_lock(&d->arch.hvm.irq_lock);
>>  
>> @@ -231,7 +231,7 @@ void hvm_isa_irq_deassert(
>>      struct hvm_irq *hvm_irq = hvm_domain_irq(d);
>>      unsigned int gsi = hvm_isa_irq_to_gsi(isa_irq);
>>  
>> -    ASSERT(isa_irq <= 15);
>> +    ASSERT(isa_irq < NR_ISAIRQS);
>>  
>>      spin_lock(&d->arch.hvm.irq_lock);
>>  
>> @@ -266,12 +266,12 @@ static void hvm_set_callback_irq_level(struct vcpu *v)
>>          if ( asserted && (hvm_irq->gsi_assert_count[gsi]++ == 0) )
>>          {
>>              vioapic_irq_positive_edge(d, gsi);
>> -            if ( gsi <= 15 )
>> +            if ( gsi < NR_ISAIRQS )
>>                  vpic_irq_positive_edge(d, gsi);
>>          }
>>          else if ( !asserted && (--hvm_irq->gsi_assert_count[gsi] == 0) )
>>          {
>> -            if ( gsi <= 15 )
>> +            if ( gsi < NR_ISAIRQS )
>>                  vpic_irq_negative_edge(d, gsi);
>>          }
>>          break;
>> @@ -328,7 +328,7 @@ int hvm_set_pci_link_route(struct domain *d, u8 link, u8 isa_irq)
>>      u8 old_isa_irq;
>>      int i;
>>  
>> -    if ( (link > 3) || (isa_irq > 15) )
>> +    if ( (link > 3) || (isa_irq >= NR_ISAIRQS) )
>>          return -EINVAL;
>>  
>>      spin_lock(&d->arch.hvm.irq_lock);
>> @@ -440,7 +440,8 @@ void hvm_set_callback_via(struct domain *d, uint64_t via)
>>          {
>>          case HVMIRQ_callback_gsi:
>>              gsi = hvm_irq->callback_via.gsi;
>> -            if ( (--hvm_irq->gsi_assert_count[gsi] == 0) && (gsi <= 15) )
>> +            if ( (--hvm_irq->gsi_assert_count[gsi] == 0) &&
>> +                 (gsi < NR_ISAIRQS) )
>>                  vpic_irq_negative_edge(d, gsi);
>>              break;
>>          case HVMIRQ_callback_pci_intx:
>> @@ -464,7 +465,7 @@ void hvm_set_callback_via(struct domain *d, uint64_t via)
>>                    (hvm_irq->gsi_assert_count[gsi]++ == 0) )
>>          {
>>              vioapic_irq_positive_edge(d, gsi);
>> -            if ( gsi <= 15 )
>> +            if ( gsi < NR_ISAIRQS )
>>                  vpic_irq_positive_edge(d, gsi);
>>          }
>>          break;
>> @@ -764,7 +765,7 @@ static int cf_check irq_check_link(const struct domain *d,
>>              return -EINVAL;
>>  
>>      for ( link = 0; link < ARRAY_SIZE(pci_link->route); link++ )
>> -        if ( pci_link->route[link] > 15 )
>> +        if ( pci_link->route[link] >= NR_ISAIRQS )
>>          {
>>              printk(XENLOG_G_ERR
>>                     "HVM restore: PCI-ISA link %u out of range (%u)\n",
> Up to here I agree with the adjustments made, but ...
>
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -123,7 +123,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int err_bit)
>>               * will end up back here.  Break the cycle by only injecting LVTERR
>>               * if it will succeed, and folding in RECVILL otherwise.
>>               */
>> -            if ( (lvterr & APIC_VECTOR_MASK) >= 16 )
>> +            if ( (lvterr & APIC_VECTOR_MASK) >= NR_ISAIRQS )
>>                  inj = true;
>>              else
>>                  set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
>> @@ -136,7 +136,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigned int err_bit)
>>  
>>  bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec)
>>  {
>> -    if ( unlikely(vec < 16) )
>> +    if ( unlikely(vec < NR_ISAIRQS) )
>>          return false;
>>  
>>      if ( hvm_funcs.test_pir &&
>> @@ -150,7 +150,7 @@ void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig)
>>  {
>>      struct vcpu *target = vlapic_vcpu(vlapic);
>>  
>> -    if ( unlikely(vec < 16) )
>> +    if ( unlikely(vec < NR_ISAIRQS) )
>>      {
>>          vlapic_error(vlapic, ilog2(APIC_ESR_RECVILL));
>>          return;
>> @@ -523,7 +523,7 @@ void vlapic_ipi(
>>          struct vlapic *target = vlapic_lowest_prio(
>>              vlapic_domain(vlapic), vlapic, short_hand, dest, dest_mode);
>>  
>> -        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
>> +        if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
>>              vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
>>          else if ( target )
>>              vlapic_accept_irq(vlapic_vcpu(target), icr_low);
>> @@ -531,7 +531,7 @@ void vlapic_ipi(
>>      }
>>  
>>      case APIC_DM_FIXED:
>> -        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
>> +        if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
>>          {
>>              vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
>>              break;
> ... the 16 here has a different origin (in the local APIC spec).

Indeed.Â  These are about the first 16 vectors in the IDT, and and aren't
related to ISA (or any other type) of IRQ.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:18:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914215.1319999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt1BQ-0005mz-NQ; Fri, 14 Mar 2025 09:18:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914215.1319999; Fri, 14 Mar 2025 09: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 1tt1BQ-0005ms-K1; Fri, 14 Mar 2025 09:18:24 +0000
Received: by outflank-mailman (input) for mailman id 914215;
 Fri, 14 Mar 2025 09:18: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt1BP-0005Q9-Ey
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:18:23 +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 46f1adc5-00b5-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 10:18:22 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43948021a45so16732565e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:18:22 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d2010e2e4sm10689385e9.37.2025.03.14.02.18.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:18: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: 46f1adc5-00b5-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741943902; x=1742548702; 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=Z+bGNCNgSiR1Q0tiLQS5aZLu3UxZIWtcxJJJiR67HjU=;
        b=TjySt6+GMSkdN/1d6TWPk09VcNM8CbO5dzd4ANUMSUTBx63hhNfu43ho00y+gfclaK
         FB0PuYhIi+D119B3YsYdcnv6RetXJkepyaG7xB/7h26v1ebL6k4q2NRPj4ZTgKL6bCuI
         gJ4OuJeoDqEl6T93qIjj11cqHx96rlAQ5xVqs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741943902; x=1742548702;
        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=Z+bGNCNgSiR1Q0tiLQS5aZLu3UxZIWtcxJJJiR67HjU=;
        b=FG/mJ6uI7I02Ulq3ZdqFyTxVB3ysBhfpRTr9qmqjNZ4lAHNslUgYA1QcvNEJqHdc68
         dsQToycaYCf+KaQbQRc3crRnBKXurW9cvnS6Hr9NIz+NqGkZ6lPIqnZrB9VFk5V/ox+2
         DrOgN+B62/Jat/ep15GB+sTe0z/7jyX0CfmSLu2V9cgaMZOwfJeGbCQBVyNQAm0+a+Ie
         C58uqIHoKBuHuovU+lz9hERT0BgaPOCgtd7bkc7jcIHAosCN99y7jp2kqNXTLXjQn8v6
         HeCqlgFHeqqwFgO/lVtFJ4KiSYE59hDcoOI/CwGWf+EF5hZqH9R5iQ3dOfBrNJQuEUso
         YgbQ==
X-Forwarded-Encrypted: i=1; AJvYcCXxg+1yCsburKeG45fY21qGwuBCcFfvmBfmBsB7XZ5HOmnFZpdMdw3JaOQNWceQI0GkU2muZ+rhGNI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTTkXC2Csw0NebJjNqpY9kFbDrYFUB//F3aGJXKGG0E2IfmzKo
	NE61A3fpU6Hwk4uP3oKSVf0u/9+WPk5hx4lKnNjW8bNoSE1zgr4c+MQ+sBZVrf4=
X-Gm-Gg: ASbGnctrwxiHSoUd32cQmRceWhtHxx6f0I2qB8YzeuC9zdwCTN2yYSGUQExl4BA7OMm
	ZmuUJLKvEPsuIbe3sviDRvaooj6c57jwBd1AzT4ogLni88KUGecGwTH7iLEPeWwYFKxRMlIxw/y
	LjaF//gLbMUnFMucfE8HXubaA2jNFR+5YsaY/jacyJthoi+/jmtxOQsybrS1GZ1n9mop9jSmycL
	3d9+E2xYOSPFIoofvFwbfYFll9FfBQzUenUnjwMDtKsUEZknbsvN+mBadN7Luy+9akjCc3awVse
	1PUagxFvx+5p4j9fDYu3x3mHhKEiWdGbVlGDbJD+Xm7h2m9clz1L2fPFIO7vx65qx+6x5Af4LsL
	eBRlAAz3TigSBcnuNuuE=
X-Google-Smtp-Source: AGHT+IGWbtPUh9QgR1IrFHQrJ0oWLpydbsAGPs7az6UeOOh0cCeju+2dIaEP1bPbVqFz4wp4Dy8b6g==
X-Received: by 2002:a05:600c:3b0a:b0:43c:e70d:44f0 with SMTP id 5b1f17b1804b1-43d1ecc31b8mr20062445e9.19.1741943902393;
        Fri, 14 Mar 2025 02:18:22 -0700 (PDT)
Message-ID: <b6ce5ff4-17bd-4199-a89d-2a6d4f5a7a46@citrix.com>
Date: Fri, 14 Mar 2025 09:18:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
To: Jan Beulich <jbeulich@suse.com>, dmkhn@proton.me
Cc: anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com,
 xen-devel@lists.xenproject.org
References: <20250314011528.2608217-1-dmukhin@ford.com>
 <94879059-1a38-45e3-ab3a-4f8eacd885cf@citrix.com>
 <2fd26b5f-2d72-4261-a963-e05cf7fe56b7@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: <2fd26b5f-2d72-4261-a963-e05cf7fe56b7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 9:16 am, Jan Beulich wrote:
> On 14.03.2025 10:14, Andrew Cooper wrote:
>> On 14/03/2025 1:20 am, dmkhn@proton.me wrote:
>>> Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
>>> readability.
>>>
>>> No functional changes.
>>>
>>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
>> There are currently very few uses of NR_ISAIRQS, and you're about
>> tripling that.
>>
>> Please could you do a prep patch renaming to NR_IRS_IRQS first for
>> legibility?
> Ftaod - did you perhaps mean NR_ISA_IRQS?

Oh, yes, sorry.Â  That was a typo.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:27:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914228.1320010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt1K6-0001oL-JB; Fri, 14 Mar 2025 09:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914228.1320010; Fri, 14 Mar 2025 09: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 1tt1K6-0001oE-EM; Fri, 14 Mar 2025 09:27:22 +0000
Received: by outflank-mailman (input) for mailman id 914228;
 Fri, 14 Mar 2025 09:27: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt1K5-0001o8-Ua
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:27:21 +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 8768b7cf-00b6-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 10:27:20 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so12627985e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:27: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-43d200fae32sm11004635e9.31.2025.03.14.02.27.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:27: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: 8768b7cf-00b6-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741944440; x=1742549240; 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=6ZWvYCAzh1yX1DaJgu1fvFwOeD8btmo3VZhXUV0kWEA=;
        b=WGhLc0R16rtpZsOsXXH94pfKfc+2PP5mHuHcQqSOJmWW230udeaWTQJIJyHl9loZY3
         WZjr+YeFekGhnVqJ6/atuWZvz2W9YQI6TGBGtak4kvpcAsAKyovOEMUo8m4jkyygauHB
         ofs5xWXO1cfUpZxYeXyLtK/EvDCp9VQAcPqDGgmDK6hGUOxcwMyylswwL92bbo3JLf1s
         gfLmieliY7peDE83zqJWt0QguOCQaH54twXQz0hSoez+yqO+WjFUi+H+oLxoW5INeplX
         HZ4qWkw8YW3O2sCz1/qtVcTWNOj4z4WGs1q2Y8WrwizI9dipDarShFFjr5YwBF0PGApC
         Hfxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741944440; x=1742549240;
        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=6ZWvYCAzh1yX1DaJgu1fvFwOeD8btmo3VZhXUV0kWEA=;
        b=AHT1xAfKN0qTKd50c8iKIu5APJEvtOX/vCmGAwc09tmIKuPY4IQs2En6OhsIBI2mRu
         q4RddO9CHWUM/5AYmBewGV8UVrqgiNfj1liS19zwsyNRg+8rRMfR52rFYM9lQGBjYzU+
         gUZzMrav6d7k1R9w6e1tvCjHKE8iInZiC/mJmDvHM9yc3gC4BRZCV7h5+tx+NCr+0XuD
         CXQjuPVEjHh8Fvh72q/OBDdQOUguL/dVzkxDMNSo64KeARXgG8hI4lqOvF9amG1cDjEu
         lF02KkLjm6TmOt8Rl74DTwb5VQevAmydl6WbNaCO+3oKVyX+RtK7NEIH+g1Aanmk/rxi
         2ILA==
X-Forwarded-Encrypted: i=1; AJvYcCV2NAtSN2aR02/uqHVqE5oMU/B8p1sTKSR8GqGoqIqmcP94oFQW3p5TqeekMa+bd5lA42fst5Qf3sE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyG36V0rH3rdIlvfeTyKID9Ap/cNOOadZVbNadQAzOpZynzHN9C
	k9/X61s9cXlm061Ay6wBiFtGkwdw9AclXsMyJXyFSzHAgOMXYDw8kC9Cz9U3UA==
X-Gm-Gg: ASbGncvLSwqG+QktcuVqiujs81MSVLNuab2yUsDSJPcVR4jf/Gy5JDYP7EI6/IackvZ
	oQixkhsIOw8chYimrR4+BeZzS/oN5UxY9DhlwL7bj4/CQflmqx9XD6prRnW/H6TGah5y4n0Bzy6
	zInGHI7HsrXUbl7lqB9CKEwX7Jj5k92EkVzqGe4ltfNsyYSO6rzsaCQQjC3Ct/h867lZZJm+rW/
	nYf2P7q02Qjr4s3rb/7ioyvlLj0N8aP6mVkdFU6XvibVsg8HYLSXDnZxih0TIIqI2bIWUsBYf8R
	4O3DnKL6W8tchjo9x5jMlOzitHOR0rc5HMnnN2iRo90NHENRjF+K2M4B8wzHYKpLGqqfLnibL0h
	Kz/YsKHNQuhIdm6uxy8nd2z20HUlwzQ==
X-Google-Smtp-Source: AGHT+IGTbFqJS0baiPZnJTVCVX4JN8Z7qyN+ToFu5qXaEEm4xlSSINu9axdsvtw1odepLepbPvN5cA==
X-Received: by 2002:a05:600c:5493:b0:43b:ce36:7574 with SMTP id 5b1f17b1804b1-43d1ecb430cmr24775675e9.11.1741944439991;
        Fri, 14 Mar 2025 02:27:19 -0700 (PDT)
Message-ID: <b8e760b1-df5a-414e-862a-34fd66f957c3@suse.com>
Date: Fri, 14 Mar 2025 10:27:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 19/19] xen/sysctl: wrap around sysctl hypercall
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, Stefano Stabellini <stefano.stabellini@amd.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>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-20-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: <20250312040632.2853485-20-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.03.2025 05:06, Penny Zheng wrote:
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -69,7 +69,7 @@ obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o
>  ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
>  obj-y += domctl.o
>  obj-y += monitor.o
> -obj-y += sysctl.o
> +obj-$(CONFIG_SYSCTL) += sysctl.o

This wants to move back up then, into the main (alphabetically sorted)
list of objects.

> --- a/xen/include/hypercall-defs.c
> +++ b/xen/include/hypercall-defs.c
> @@ -195,7 +195,9 @@ kexec_op(unsigned long op, void *uarg)
>  dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
>  #endif
>  #ifndef CONFIG_PV_SHIM_EXCLUSIVE
> +#ifdef CONFIG_SYSCTL
>  sysctl(xen_sysctl_t *u_sysctl)
> +#endif
>  domctl(xen_domctl_t *u_domctl)
>  paging_domctl_cont(xen_domctl_t *u_domctl)
>  platform_op(xen_platform_op_t *u_xenpf_op)
> @@ -274,7 +276,9 @@ physdev_op                         compat   do       hvm      hvm      do_arm
>  hvm_op                             do       do       do       do       do
>  #endif
>  #ifndef CONFIG_PV_SHIM_EXCLUSIVE
> +#ifdef CONFIG_SYSCTL
>  sysctl                             do       do       do       do       do
> +#endif
>  domctl                             do       do       do       do       do
>  #endif
>  #ifdef CONFIG_KEXEC

As indicated earlier on, PV_SHIM_EXCLUSIVE likely wants / needs sorting as
a prereq anyway. Otherwise I think the new #ifdef-s better wouldn't end up
inside the PV_SHIM_EXCLUSIVE ones.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:30:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914239.1320019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt1NT-0003fG-Vq; Fri, 14 Mar 2025 09:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914239.1320019; Fri, 14 Mar 2025 09:30: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 1tt1NT-0003f9-Sc; Fri, 14 Mar 2025 09:30:51 +0000
Received: by outflank-mailman (input) for mailman id 914239;
 Fri, 14 Mar 2025 09:30: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt1NS-0003f3-UT
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:30:50 +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 01aabb13-00b7-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:30:45 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cec5cd73bso12371665e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:30:45 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe2a2c8sm11601775e9.23.2025.03.14.02.30.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:30: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: 01aabb13-00b7-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741944645; x=1742549445; 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=1PJpvMlv4emFf9eDUt+dWMPA6ujtAlfg5Q6aRe5apD0=;
        b=hiycaBLdY2W/k+GHcg7x1w7bEL7W0dmp0gryGXNl7jNyjQbf51ymAzmxPoNX9C9pLc
         qTYX8umNz5yjyC6iIfuU/Y3pHKWzhSff2a+/TcGNZc39P4gjSZ5eb9d5N8GCgVfLKLAq
         XplcUTMa97kYdN5Phgw2PBfQttOmqhQh1ha6s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741944645; x=1742549445;
        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=1PJpvMlv4emFf9eDUt+dWMPA6ujtAlfg5Q6aRe5apD0=;
        b=dR5n3XqKa5qmPuYSEt557xBdJRqusRyaSvTzxuPlH1NhydLWNUEza3b1cP9WGE8EaP
         YppabY8jBZaBTWHCsBP/e2waZcjmpVueByZI3H4pDGAQa3ypFG6p1yT62+ogoXfJgwrw
         95xRq2p9kxKKxmbKpQLrla+DuYx0UG68Oswb4C3YqBBJ97Sh569pNQUKcQZmSSkkHolv
         3fYL8HEiFSTvDYwpwc1shxaHufRlmDLUheo840mQhQFHwO4RfUF7fXuGSzOTqLpMyRag
         PdvfTJDWT4S3NYoeIBNrnWOK8jELQwNMYhxV6Kfkb2gd+gP5puX2iNg5toR7h0m86Qa/
         yMCQ==
X-Gm-Message-State: AOJu0Yy+6oUeEXrGtK4AKxTqjmfj3R1MqYkg2K/YSzUiXAeXvd00jq7g
	OY7blnLTTLJuGFAWaAiXq3DCfcxNcZu/y0XCctVjRg+ZZfLcpDUdeuxyFIe+OX8=
X-Gm-Gg: ASbGncvGzUDSxdxL5x15J5P5vNTQtBT6lK+jZ4b8UYkl0cARDvm8mytc2tDDjCXW6KM
	DgwXXU0Wy1oh8h4UWu+SFIu0ePmYRr9zEf0AZ4px1JSBu/3A4Zfh6Sf/3tFECMyrUfr2LVgDMNK
	qdwhIvfzCxTEjEdVmwOCm0mFuIgN3XHnbUYmFTE7x/hE0/2J20U44vUFfywJ64LNAYxNN945JXl
	qforNAe8ZxBl6mj2bisDoccnYZpSw80oZcDhVprzAuQ1AivYsF6V6Wd7drnLZwxWFlTN20kv8c9
	/C6s0iotTF95Pf2HogGLKgX2b70okhTiOKKhL3l5+Dt6hB6ct+tPrHpzEq1iJlX0tQb+XaYkqmN
	39FNdrRp4
X-Google-Smtp-Source: AGHT+IGFTsIR6S7baPPpGlU7gVcNLASocNVLlQ0Hv/YjfeSs5O0pAQnGE1BcMKL8fAkxQ8t+fQqNRA==
X-Received: by 2002:a05:600c:1c9f:b0:43c:f8fc:f686 with SMTP id 5b1f17b1804b1-43d1ec62883mr24168515e9.3.1741944645128;
        Fri, 14 Mar 2025 02:30:45 -0700 (PDT)
Message-ID: <23d2b793-42a8-45cc-9314-750b84526aaa@citrix.com>
Date: Fri, 14 Mar 2025 09:30:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Jan Beulich <jbeulich@suse.com>,
 Andriy Sultanov <sultanovandriy@gmail.com>
Cc: xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Jason Andryuk <jason.andryuk@amd.com>
References: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
 <f308cbf6-0d2d-4843-982a-a59ea70c7ad1@amd.com>
 <CAHPYgaXc8X5tBYN6BL2w2PVSNLwaTPP=zWhATBbjYRN-2dmE-g@mail.gmail.com>
 <1e36cec6-c02c-47b9-b957-087e8eb62328@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: <1e36cec6-c02c-47b9-b957-087e8eb62328@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14/03/2025 8:56 am, Jan Beulich wrote:
> On 14.03.2025 09:07, Andriy Sultanov wrote:
>> On Thu, 13 Mar 2025 at 19:59, Jason Andryuk <jason.andryuk@amd.com> wrote:
>>> On 2025-03-13 14:57, Andrii Sultanov wrote:
>>>> --- a/xen/drivers/passthrough/amd/iommu.h
>>>> +++ b/xen/drivers/passthrough/amd/iommu.h
>>>> @@ -77,8 +77,14 @@ struct amd_iommu {
>>>>       struct list_head list;
>>>>       spinlock_t lock; /* protect iommu */
>>>>
>>>> -    u16 seg;
>>>> -    u16 bdf;
>>>> +    union {
>>>> +        struct {
>>>> +            uint16_t bdf;
>>>> +            uint16_t seg;
>>> Are these still needed by the end of this patch?
>> Yes - otherwise the patch would be larger as bdf and seg would be one
>> namespace deeper - /iommu->seg/iommu->sbdf.seg/
> This kind of union is fragile. Hence we want to avoid it, even if this means
> an overall larger diff.

This is my suggestion, and it's the pattern used in struct pci_dev.

pci_sbdf_t is nice for code generation, but it's not great for source
verbosity.

~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:52:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:52:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914265.1320049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt1i5-0003NZ-PJ; Fri, 14 Mar 2025 09:52:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914265.1320049; Fri, 14 Mar 2025 09:52: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 1tt1i5-0003NS-MR; Fri, 14 Mar 2025 09:52:09 +0000
Received: by outflank-mailman (input) for mailman id 914265;
 Fri, 14 Mar 2025 09:52: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt1i4-0003NL-44
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:52:08 +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 fcbc1aa1-00b9-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:52:05 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-ac2a089fbbdso350432866b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:52:06 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aef5dsm201800666b.35.2025.03.14.02.52.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 02:52: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: fcbc1aa1-00b9-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741945925; x=1742550725; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nJW02GMZVGQontxjtShyt+sfWSZFEhj5sIu/AzHE6rw=;
        b=UrEL/zN+SKs3+aNrexykzl1XlhRRsA2F7pIs6BFI4pwZ+G+Tm04Oa0MQQOwRaU4Pqm
         IDXilV3DhR3hBNupq2de5mVy8JgAaOq5qaybJHiakIo5vaasRSukzNczDDECb6Kik3Gr
         RBwmCYXDZshfoV8D2N5E1d+gdcgjeA6DsMHGQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741945925; x=1742550725;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=nJW02GMZVGQontxjtShyt+sfWSZFEhj5sIu/AzHE6rw=;
        b=Je4+jW2DG3n7K53ZvuzlekJgU67uscDpWtcr7jpYj9INuZKlxa1NXyAtOjhVrHz5Wj
         c7x4EZj1QdNLGgUh/JdIhhshSWso2aThlOjdUWw7fRPjnRMuOg1E1U3hI5GAjfpSwdOP
         Y5PbKd7Dsi87La/hcoMAPQu0O9ldiE6AiH1YfNi030XKFF3fqGOyR0X8JRZ0AJHDMxMT
         hSRtXKO8AxA8eSLAuOw1JbBpaLjNzNye7k94EY0H5XCaqPqzJ3o/QTY961bpb7o+OIU4
         YWBBPO3AfTVEc7/Y5S3MxwgVIn3hGQO6lpdcZlW0tv2ZiSb6eVXRi5epHWF1oksIxU04
         T11w==
X-Forwarded-Encrypted: i=1; AJvYcCWSr9TzqzhL+ImuzuArqXDhOij5ASF1xxnfQVsI7vt2VvrIiW6TGF9EoBJYSLxHagp2mDRN+dBdyJE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHlfZX2uti3ArA3iF32Mt/g/45CXvCDuf4UxBaIW3SC33IbXJL
	Z0QcluqndjP0S2mIfs1Qz4iinTq27lYZDMcqGaAiyYhJ8w9Xl1aRiCqSoq/n8tI=
X-Gm-Gg: ASbGncvZxvEh0L5hG/agmHy/1o+WSw0m+3mLV2diRCpx+OoQdAhFXoezsUYMjhgk3QZ
	QgtaWN7K5+X8UoxW5bTRYdelye6OIVovEn8Q5g+vp+egktQ1vNl4Pv0Py5KKe7SJhg9fnheIDHu
	dAtzOIs152Q8eKjQgsnaCF8jI5MJOob4V2JsuewW4T/jNcgPSajSXuZWS8p60ixdMLzYyp1hl9O
	/zrJ2K/LrqB8t/FOjXS+o743WxafJDnm0OUcb63WxvyQG6d+dhtmc6OO4CgC5U8a2TGdJaLFnHy
	dpCZ2/cWFmv2P1xL/nkcitTnvLVvXqRgdTHLMxUvOQqRCOAGUyU=
X-Google-Smtp-Source: AGHT+IHfq8ItZY+Sp+P5C6WnfGpqm4YM3VP//GRjh4uGsC25dB3Yzt/7yPkqwlAC397goCIuUYXW+w==
X-Received: by 2002:a17:906:c147:b0:ac3:d1c:89ce with SMTP id a640c23a62f3a-ac3313056d6mr163412366b.9.1741945925482;
        Fri, 14 Mar 2025 02:52:05 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 14 Mar 2025 09:51:55 +0000
Message-Id: <D8FWAI9SCVYQ.1MXWRT6VR9Z9W@cloud.com>
Cc: <ray.huang@amd.com>, "Stefano Stabellini" <stefano.stabellini@amd.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>,
 "Sergiy Kibrik" <Sergiy_Kibrik@epam.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 01/19] xen: introduce CONFIG_SYSCTL
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>, "Penny Zheng" <Penny.Zheng@amd.com>
X-Mailer: aerc 0.18.2
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-2-Penny.Zheng@amd.com>
 <D8F334YWF1QL.1489MNJCLHXQ2@cloud.com>
 <1f394187-ffb6-4ddf-a6b4-e1f2384b5244@suse.com>
In-Reply-To: <1f394187-ffb6-4ddf-a6b4-e1f2384b5244@suse.com>

On Thu Mar 13, 2025 at 4:24 PM GMT, Jan Beulich wrote:
> On 13.03.2025 11:58, Alejandro Vallejo wrote:
> > Hi,
> >=20
> > On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
> >> From: Stefano Stabellini <stefano.stabellini@amd.com>
> >>
> >=20
> > Commit message?
> >=20
> >> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> >> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> >> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> >> ---
> >>  xen/common/Kconfig | 9 +++++++++
> >>  1 file changed, 9 insertions(+)
> >>
> >> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> >> index 6166327f4d..72e1d7ea97 100644
> >> --- a/xen/common/Kconfig
> >> +++ b/xen/common/Kconfig
> >> @@ -519,6 +519,15 @@ config TRACEBUFFER
> >>  	  to be collected at run time for debugging or performance analysis.
> >>  	  Memory and execution overhead when not active is minimal.
> >> =20
> >> +menu "Supported hypercall interfaces"
> >> +	visible if EXPERT
> >=20
> > Any particular reason for placing it in the middle of the common menu a=
nd not
> > at the end?
> >=20
> >> +
> >> +config SYSCTL
> >> +	bool "Enable sysctl hypercall"
> >=20
> > meganit: Arguably "sysctl" is a hypercall group rather than a hypercall=
, so
> > "Enable sysctl hypercalls" sounds (subjectively) more appropriate.
>
> I disagree. I view it as one hypercall with many sub-ops.

One could make the same argument for sysctl and domctl being a single hyper=
call=20
with different ops.

Regardless, nit as it is, I don't think it matters much either way.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 09:57:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 09:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914284.1320059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt1nL-00047o-G5; Fri, 14 Mar 2025 09:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914284.1320059; Fri, 14 Mar 2025 09: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 1tt1nL-00047h-C2; Fri, 14 Mar 2025 09:57:35 +0000
Received: by outflank-mailman (input) for mailman id 914284;
 Fri, 14 Mar 2025 09:57: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt1nK-00047b-Ew
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 09:57:34 +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 bea6074a-00ba-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 10:57:31 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43d0782d787so17766165e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 02:57:31 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6e92sm5108014f8f.38.2025.03.14.02.57.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 02:57: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: bea6074a-00ba-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741946250; x=1742551050; 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=lUmfmqChrgiLTxRF5w17zUU7tfVqb6HdmNfep5qNfhQ=;
        b=HRmlmSHV05MNRKP0H0+ZFsa1LQPGpKarJ8ENl7a2Iaty315K0gfDJu7ScBfe//vZSW
         4KGV2bhcK0vKnzXpLyMJ28rm9sJxuZEztguuUMiJp501YniUut+Da17QdODkQrNoC+yA
         kZvcvAqlcW0GE7A8HRjGri1U//AiQQnpeYA9g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741946250; x=1742551050;
        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=lUmfmqChrgiLTxRF5w17zUU7tfVqb6HdmNfep5qNfhQ=;
        b=ZHVgWJvqndthhklleMO0JJ+D/E21HDhLmLu/3A0EiBxdLGAtkti8iTtY3tQmxO7lXV
         MUnAEEZVY4qP7CTpvQLrGpaJhZyfVc/9mui23eTmB3ySXyEpurcUZ6v8Jn26VdgcaSN4
         Mc+m7p33FaPeAzZLq0h7Hmg4M8996zPRwDawQL59TuZdyV+hIlH2vgBzZAdGNRBBpZ/m
         N206yqsrLCiG5fKFmqfqkF0u/5ptWb4p/A2jBoy3E1DWGK1sr2+LWad8mbB6p22LijYy
         ZcedEwSSTdmEyi6NmIE3Nqjxdj/VpsuMIY6S/mE/6hDBAyDOlI0REbDjVl9ZhvEOj3Bc
         Vvkw==
X-Gm-Message-State: AOJu0Yyyv5DmxVD+ZsjKdiUCe79WXJh4wHGdKiJ8Qz+NApFjm6EkiYwv
	+sy25IMcaOPbhQyuoo1ub1pSC+Te0oZ69aieOEXsTNArYK13t5hAym0pra5K4H+1tirk3DVMTHy
	I
X-Gm-Gg: ASbGncsg+J47JkL4lUFne4u/+fHKErezMKD1IXttHMN6Yg7YQNnHsMfiln4IR8z01ZW
	upQSG2pp01u+ZtS8eQV16+ojnvZGduzo0vWTN1vKWc41fV2gOeJSbKMElhjYEtsgcG0kJ/BPgPJ
	j7ColTzzpsrNLmK+eDQliYAO4aRDod8W2FJBAFkdk20xfF5+/gbmSZQsvOscaV/Lan5Gm7VWBfz
	Yc9h+mp0+ZvVXQ5+uK1L3nQ/s7dSzAibw2mWNoZfceB+HaKcZWZOi3eYB1DFbQLOz2YGuaZ/YtV
	LNj8V9yattZRkRC1tWve6W8/McyqcclYfyljv4cGgX2s0Uy3JefuyA1NFQBSbYLIxeU6smnUD7Y
	m9e4YQq95PbiLydjfgAGScMnN
X-Google-Smtp-Source: AGHT+IFEXrftt5KY8jWbuFllzODSaZjSJ7BE13v1n5WbapZQA5KAnnL5l8ETRpQ3uWS5049YhTNwBg==
X-Received: by 2002:a05:6000:2c1:b0:391:2c67:7983 with SMTP id ffacd0b85a97d-3971ee4428bmr2616151f8f.39.1741946250407;
        Fri, 14 Mar 2025 02:57:30 -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] VT-d: Adjust diagnostics in set_msi_source_id()
Date: Fri, 14 Mar 2025 09:55:23 +0000
Message-Id: <20250314095523.4096604-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

Use %pd, and state what the unknown is.  As it's an enum, it's a signed type.

Also drop one piece of trailing whitespace.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/drivers/passthrough/vtd/intremap.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 81394ef45299..9272a2511398 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -485,15 +485,15 @@ static int set_msi_source_id(const struct pci_dev *pdev,
         else
         {
             dprintk(XENLOG_WARNING VTDPREFIX,
-                    "d%d: no upstream bridge for %pp\n",
-                    pdev->domain->domain_id, &pdev->sbdf);
+                    "%pd: no upstream bridge for %pp\n",
+                    pdev->domain, &pdev->sbdf);
             return -ENXIO;
         }
         break;
 
     default:
-        dprintk(XENLOG_WARNING VTDPREFIX, "d%d: unknown(%u): %pp\n",
-                pdev->domain->domain_id, pdev->type, &pdev->sbdf);
+        dprintk(XENLOG_WARNING VTDPREFIX, "%pd: %pp unknown device type %d\n",
+                pdev->domain, &pdev->sbdf, pdev->type);
         return -EOPNOTSUPP;
     }
 
@@ -751,7 +751,7 @@ void disable_intremap(struct vtd_iommu *iommu)
                   !(sts & DMA_GSTS_IRES), sts);
 
     /* If we are disabling Interrupt Remapping, make sure we dont stay in
-     * Extended Interrupt Mode, as this is unaffected by the Interrupt 
+     * Extended Interrupt Mode, as this is unaffected by the Interrupt
      * Remapping flag in each DMAR Global Control Register.
      * Specifically, local apics in xapic mode do not like interrupts delivered
      * in x2apic mode.  Any code turning interrupt remapping back on will set
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 10:13:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 10:13:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914298.1320069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt22I-0000nt-OR; Fri, 14 Mar 2025 10:13:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914298.1320069; Fri, 14 Mar 2025 10:13: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 1tt22I-0000nl-Js; Fri, 14 Mar 2025 10:13:02 +0000
Received: by outflank-mailman (input) for mailman id 914298;
 Fri, 14 Mar 2025 10:13: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt22I-0000nf-62
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 10:13:02 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e52c9970-00bc-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 11:12:55 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-22398e09e39so39388265ad.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 03:12:55 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-737116b0ec4sm2607663b3a.159.2025.03.14.03.12.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 03:12: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: e52c9970-00bc-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741947174; x=1742551974; darn=lists.xenproject.org;
        h=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=bj2SWcVYYGuWKywFaYpUHhlVK+1FS9D/WghekRHADyY=;
        b=ZsyZ4v5yvgVBqBXd6vsFo0xeJnzpzaMd6kWKvb3mPeO202XsLoXJl5WwI0FWXfjaCD
         QpL3QLXIYo1n3zSdKOjLl5xTFTMfuJc9dajPVzykP8m5xIkP8HhX/yJaB1Al0JRapT1a
         +SOITnA/00tw61dxviGV9AcI61nfjvQFwuKJo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741947174; x=1742551974;
        h=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=bj2SWcVYYGuWKywFaYpUHhlVK+1FS9D/WghekRHADyY=;
        b=BNbHup7yQzwYW8Z3kv55sVChRuRzwmFwNP0NeOpAq1zwiiYe3PQVVyqSXmJy947XdJ
         1XzO0goQGZTfdodKQnFCeGonWw6PZVmZkK+th7xEVoKCryu909qK6lYQhRl1/gNTSpt3
         akrptv9vmMWBQDWplV9hMtZpj4cCkAP7UNviqSCvJL+EE/e07LEEN7VNQCkifFASUcfA
         4MzIz2FZfzABxzMDBvTCKSEAb/Kc2H+psItgXU4pglJck0fWlyqbWE+UvXskReCaRzjf
         2UuYDDNjtiBeXa4Upx4IGOKexvuvOQXWL4OYcZps5hoZ/GT9vlIsIvqI7lg4KzRfxksA
         M+TA==
X-Forwarded-Encrypted: i=1; AJvYcCXjJYx4ofsDKghvUBBbMj/WbGGigHfNu/Qr41qI28XrVdnAJANzSqxXexNKh+OHGR1rKrtGka8y/0s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJLUJ8z+06rKiDhVLlexFaYLvCsMzhIdP0YEg/4v4urZubjDIH
	2yf+x2swoYZPD0masmPFbV2yzVih6ohymZ2eJSI6mGMFqtXXHo9+TmVyt5DeYr8=
X-Gm-Gg: ASbGnct5PVJwKOW+JeWbSiMLARRnQep+U+uf6P/Q3re5YeTcL1kgWsjmx+8fDuU0RkP
	7NFfUj84kLxjro12rRuQbVOQbbTyHFdhQbq7UluMK3BXmCkHjbKyAkpCljA+MP1zoPIsdWojlo4
	mgdTheQGtdaF90ACImqaphnv3s2jFGHd05KnI14U/tZyg0AHnzBKKZG2BNP4Hg+A9rfp6hd821W
	+7Bu2RUKnHbkUtKzOn8E6aHsnpqeJwHQ93LJkdTchb+Ev6sVREPCAbPs7lu8v2JMnV/gLCeptGD
	TNUSXMitVou7hUulTwuqYs10lI7PCBBT7cYdDovVFkOadpKB9g==
X-Google-Smtp-Source: AGHT+IFtcTuh7b1FZefXdD9qdUZ9S+gyC5st8DJpBhZ1nF69VDQf0x6aZO7QeGRV+Z1vdRQeND6xEQ==
X-Received: by 2002:a05:6a00:17a7:b0:736:69aa:112c with SMTP id d2e1a72fcca58-7372236ef76mr2116528b3a.9.1741947173912;
        Fri, 14 Mar 2025 03:12:53 -0700 (PDT)
Date: Fri, 14 Mar 2025 11:12:48 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
Message-ID: <Z9QBIEICQIQH2WD9@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
 <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
 <dd147c79-055e-4a94-bb23-4c59821d520a@citrix.com>
 <3d905488-b3ec-452f-afca-9a7d85484fe9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3d905488-b3ec-452f-afca-9a7d85484fe9@suse.com>

On Fri, Mar 14, 2025 at 10:13:07AM +0100, Jan Beulich wrote:
> On 14.03.2025 10:05, Andrew Cooper wrote:
> > On 14/03/2025 8:44 am, Jan Beulich wrote:
> >> On 14.03.2025 09:30, Roger Pau MonnĂŠ wrote:
> >>> On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
> >>>> On 13.03.2025 16:30, Roger Pau Monne wrote:
> >>>>> When enabling UBSAN with clang, the following error is triggered during the
> >>>>> build:
> >>>>>
> >>>>> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
> >>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
> >>>>>       |         ^
> >>>>> <inline asm>:1:121: note: instantiated into assembly here
> >>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
> >>>>>       |                                                                                                                                ^
> >>>>> common/wait.c:154:9: error: symbol '.L_skip' is already defined
> >>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
> >>>>>       |         ^
> >>>>> <inline asm>:1:159: note: instantiated into assembly here
> >>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
> >>>>>       |                                                                                                                                                                      ^
> >>>>> 2 errors generated.
> >>>>>
> >>>>> The inline assembly block in __prepare_to_wait() is duplicated, thus
> >>>>> leading to multiple definitions of the otherwise unique labels inside the
> >>>>> assembly block.  GCC extended-asm documentation notes the possibility of
> >>>>> duplicating asm blocks:
> >>>>>
> >>>>>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
> >>>>>> your assembly code when optimizing. This can lead to unexpected duplicate
> >>>>>> symbol errors during compilation if your asm code defines symbols or
> >>>>>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
> >>>>> Move the assembly blocks that deal with saving and restoring the current
> >>>>> CPU context into it's own explicitly non-inline functions.  This prevents
> >>>>> clang from duplicating the assembly blocks.  Just using noinline attribute
> >>>>> seems to be enough to prevent assembly duplication, in the future noclone
> >>>>> might also be required if asm block duplication issues arise again.
> >>>> Wouldn't it be a far easier / less intrusive change to simply append %= to
> >>>> the label names?
> >>> That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
> >>> won't be able to make a jump to the .L_wq_resume label defined in the
> >>> __prepare_to_wait() assembly block if the label is declared as
> >>> .L_wq_resume%=.
> >>>
> >>> Also we want to make sure there's a single .L_wq_resume seeing how
> >>> check_wakeup_from_wait() uses it as the restore entry point?
> >> Hmm, yes on both points; the %= would only work for .Lskip. Have you gained
> >> understanding why there is this duplication? The breaking out of the asm()
> >> that you do isn't going to be reliable, as in principle the compiler is
> >> still permitted to duplicate stuff. Afaict the only reliable way is to move
> >> the code to a separate assembly file (with the asm() merely JMPing there,
> >> providing a pseudo-return-address by some custom means). Or to a file-scope
> >> asm(), as those can't be duplicated.
> > 
> > See the simplified example in
> > https://github.com/llvm/llvm-project/issues/92161
> > 
> > When I debugged this a while back, The multiple uses of wqv->esp (one
> > explicit after the asm, one as an asm parameter) gain pointer
> > sanitisation, so the structure looks like:
> > 
> > Â Â Â  ...
> > Â Â Â  if ( bad pointer )
> > Â Â Â  Â Â Â  __ubsan_report();
> > Â Â Â  asm volatile (...);
> > Â Â Â  if ( bad pointer )
> > Â Â Â  Â Â Â  __ubsan_report();
> > Â Â Â  ...
> > 
> > which then got transformed to:
> > 
> > Â Â Â  if ( bad pointer )
> > Â Â Â  {
> > Â Â Â  Â Â Â  __ubsan_report();
> > Â Â Â  Â Â Â  asm volatile (...);
> > Â Â  Â Â Â Â  __ubsan_report();
> > Â Â Â  }
> > Â Â Â  else
> > Â Â Â  Â Â Â  asm volatile (...);
> 
> But isn't it then going to be enough to latch &wqv->esp into a local variable,
> and use that in the asm() and in the subsequent if()?

I have the following diff which seems to prevent the duplication,
would you both be OK with this approach?

Thanks, Roger.
---
diff --git a/xen/common/wait.c b/xen/common/wait.c
index cb6f5ff3c20a..60ebd58a0abd 100644
--- a/xen/common/wait.c
+++ b/xen/common/wait.c
@@ -124,6 +124,7 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
     struct cpu_info *cpu_info = get_cpu_info();
     struct vcpu *curr = current;
     unsigned long dummy;
+    void *esp = NULL;
 
     ASSERT(wqv->esp == NULL);
 
@@ -166,12 +167,12 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
         ".L_skip:"
         "pop %%r15; pop %%r14; pop %%r13;"
         "pop %%r12; pop %%rbp; pop %%rbx"
-        : "=&S" (wqv->esp), "=&c" (dummy), "=&D" (dummy)
+        : "=&S" (esp), "=&c" (dummy), "=&D" (dummy)
         : "0" (0), "1" (cpu_info), "2" (wqv->stack),
           [sz] "i" (PAGE_SIZE)
         : "memory", "rax", "rdx", "r8", "r9", "r10", "r11" );
 
-    if ( unlikely(wqv->esp == NULL) )
+    if ( unlikely(esp == NULL) )
     {
         gdprintk(XENLOG_ERR, "Stack too large in %s\n", __func__);
         domain_crash(curr->domain);
@@ -179,6 +180,7 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
         for ( ; ; )
             do_softirq();
     }
+    wqv->esp = esp;
 }
 
 static void __finish_wait(struct waitqueue_vcpu *wqv)



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 10:15:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 10:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914311.1320079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt251-0001y6-2v; Fri, 14 Mar 2025 10:15:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914311.1320079; Fri, 14 Mar 2025 10:15: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 1tt251-0001xz-0O; Fri, 14 Mar 2025 10:15:51 +0000
Received: by outflank-mailman (input) for mailman id 914311;
 Fri, 14 Mar 2025 10:15: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt24z-0001vU-Sx
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 10:15:49 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4cfe60df-00bd-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 11:15:49 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5e5e0caa151so3398548a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 03:15:49 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e81692e5cbsm1765827a12.6.2025.03.14.03.15.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 03:15: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: 4cfe60df-00bd-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741947348; x=1742552148; darn=lists.xenproject.org;
        h=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=FJYTP2Dh6p+9633+iMLtPWp7oFzzLMB4AGgcgd1qq/w=;
        b=ErLbnYpaS6tlsx1SwN9Emx+Gn2pGhN1T+X3Kkacgk5Hf+MUClCN2sVeT1zFIPtm3PX
         DzGENp5XpE59/JH5uncBJ9YW1prfMnZjRD5L051pUNbuvVRu/mT+bGG8mf8jTcUU4WM1
         YWoWNU0g3+qW2pG4yaXCJiyUM9FgJ8r5zaEYs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741947348; x=1742552148;
        h=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=FJYTP2Dh6p+9633+iMLtPWp7oFzzLMB4AGgcgd1qq/w=;
        b=bfXPYqY7MbqEY3tUgWtMS70PSzXPD9h7/Tj5heYZat4y47DdMN4XWGfWqyjJzQUsfi
         wd8k/Ge2PNy3h+uZGSzryMY/YKkMA/dfF6r8RdJBOZK/WXl793wY7KFRR6gj9o5a9qj1
         a82+CU8Lxlzdi6woR+31woZ7FoddzeZVsGSklnwQEzkiYSo8eXmDRiuCq9iIv1aGDSw+
         fqkjlWo/kUueDHm/hpZzU94IcH5u3exHb+5rFVBh7GRpHxOQeYL3mPLVXQDt0DQRflRi
         WCcIRy6FPW9qM7yFF4WxUyZYm2Fu7LMhjIbMHse5056Hw46SLHwh83MPJpM+dzXvPH5Q
         F3Rw==
X-Gm-Message-State: AOJu0YzNgmOQnTGyL8V283XsF04kFa+QplSY4uN/mVuRCKiRRvfV1wio
	4R7ofCp8/TJMjwTcM0A+lkvCmXtyNlivK2xDEFBqv36A+qu6yGU1obBJHEbdIQs4rZc6Y7Rv26a
	W
X-Gm-Gg: ASbGnctAe43EZJh1p3ZH7es3wHjOAwA4epOoA3ukPwpkNBsTJB/dma9KCHRRwOebXAQ
	1It+SEnqlS3WQJJKsCmdvyMKhRgSRZB7TDtA2zHqVdmorUQfZVanU+S1xxaqCRbQPEY30Ju3Juf
	BDSUosgiQi9olbKI9ThLNYqPso+jmShkD7avruJNAxMFy+jrlUJYWdy+0fGki8eBV7yJ8EV4a2u
	tme500ab/kbFpoT1rbbGtIRbe/py2mbMkjV2Y6kDYj8UhSncIfMKutcy7KlDJqvfk6xswbUmhx6
	zzNpyPcdSjSzbN4e588/xRJT5Vbd7hrolvvS0yiTPEJdpOwhKA==
X-Google-Smtp-Source: AGHT+IEuzh597vPDgihK2YOLxsaosS3RrL90rCfxLrG/aCXd7jixcwwM5JT6sdOMIMa09pOaVYF/lA==
X-Received: by 2002:a05:6402:5186:b0:5de:39fd:b2f5 with SMTP id 4fb4d7f45d1cf-5e89e6b0197mr2115547a12.1.1741947348332;
        Fri, 14 Mar 2025 03:15:48 -0700 (PDT)
Date: Fri, 14 Mar 2025 11:15:47 +0100
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>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH] VT-d: Adjust diagnostics in set_msi_source_id()
Message-ID: <Z9QB0ymmaygrFFUc@macbook.local>
References: <20250314095523.4096604-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250314095523.4096604-1-andrew.cooper3@citrix.com>

On Fri, Mar 14, 2025 at 09:55:23AM +0000, Andrew Cooper wrote:
> Use %pd, and state what the unknown is.  As it's an enum, it's a signed type.
> 
> Also drop one piece of trailing whitespace.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
>  xen/drivers/passthrough/vtd/intremap.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
> index 81394ef45299..9272a2511398 100644
> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -485,15 +485,15 @@ static int set_msi_source_id(const struct pci_dev *pdev,
>          else
>          {
>              dprintk(XENLOG_WARNING VTDPREFIX,
> -                    "d%d: no upstream bridge for %pp\n",
> -                    pdev->domain->domain_id, &pdev->sbdf);
> +                    "%pd: no upstream bridge for %pp\n",
> +                    pdev->domain, &pdev->sbdf);
>              return -ENXIO;
>          }
>          break;
>  
>      default:
> -        dprintk(XENLOG_WARNING VTDPREFIX, "d%d: unknown(%u): %pp\n",
> -                pdev->domain->domain_id, pdev->type, &pdev->sbdf);
> +        dprintk(XENLOG_WARNING VTDPREFIX, "%pd: %pp unknown device type %d\n",
> +                pdev->domain, &pdev->sbdf, pdev->type);

Would be nice to have a pdev_type_to_str() or similar helper.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 10:36:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 10:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914330.1320109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt2OU-0007gl-SE; Fri, 14 Mar 2025 10:35:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914330.1320109; Fri, 14 Mar 2025 10:35: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 1tt2OU-0007ge-Ot; Fri, 14 Mar 2025 10:35:58 +0000
Received: by outflank-mailman (input) for mailman id 914330;
 Fri, 14 Mar 2025 10:35: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt2OT-0007gY-01
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 10:35:57 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1bde70d3-00c0-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 11:35:55 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-ac25313ea37so388283566b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 03:35:55 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3147f0ecdsm205535566b.73.2025.03.14.03.35.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 03:35: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: 1bde70d3-00c0-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741948554; x=1742553354; darn=lists.xenproject.org;
        h=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=4R6SxKYWf0UJYMh+URvu0b6k/Nx7GMOWw7bCQzgOTA4=;
        b=ZAGac5jJMX/A2Ib0VK3RSQzU5xdg6yg7UrPgUq/jwYhqHl9Yxhh0SXfOLUIOOZxgnU
         qJxLDWRUmcyhznEGF2tMAU+3X5ZkGIIKYLopf2lbZMhsx2EwzyHbgrbZ7SmadbCwmm9g
         4vyeqLi7poa4yiWKuGDgiqrenGTfhbEc3tYFw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741948554; x=1742553354;
        h=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=4R6SxKYWf0UJYMh+URvu0b6k/Nx7GMOWw7bCQzgOTA4=;
        b=RZQSlOIgklOFlnQJnMPUNH/EvtCZR+hXW8c6TO5nAFXdTcZehTD/L8IIRXfwhmoSAB
         JrZ3vk6uZQ6LS+NabFbr+nZ+PRRn+jrmgzL7iPLJSeSc4B4wAeActphOyypGC6Q0aASZ
         hgUZxWKAdRLPELICxfQgXHKv+9Ze1gzZPyjNrw12ClPi9H+vK+C8UQ///1zlRhXHGaqd
         4C0H5xT9tzPpAN5qLeXusbWAmM+raZSUVHnJG8aaRHEe//LsjH0P9POksRsnnuntghdW
         s7jL7xHupW3kpL6y+bY71t6GJj9qEbqMhlBGc6iVe7usC6nhjSQ3oVxd9608pmQH/jN0
         SOtg==
X-Gm-Message-State: AOJu0YzGjDomFGol3DlzyGtMwBMQcp6/YpAheGKPUrXg7wGaBn5MjqGm
	UOr9lZAPnvtWL43raEgoGwEUVLz1jSPRtKZszyhYji4NCdcEdj7neF/ebteRY+0=
X-Gm-Gg: ASbGnctzMLsr34U/0Ncc3l12Yq/BQ58u/Gfyp3v6oelKEXqKv4ORpdWw3ObbpQZuJNB
	35AduzQaaChch1Ewop+0dsF2q3GImXd63maRPpyRUWGXctHq+GDPENnffv7Fte9YS8VnV9n6mQm
	psTlGxuhJ+W6CNUV9NVl9NIwuOnvHmuHEmH9EmzLBIgZ4m3iiseb9+d8Wp59Nuzu3eoBn42x06Z
	T8yYtoaQh7Eg4E/Zb/llxFlKzmAUPHweeM7GklqIhRtXwtCitEvd0kLffvhGZD5W9PMLu368YbX
	jVJrrnG3LeCKT7SaiIGdVHpooqWZjV0TxLW6Zsik5HzAvHPaKGpUEJ4I35U0
X-Google-Smtp-Source: AGHT+IHIh60o3qulbIzUnHx+8fIZ86SMJrBsB/LBGtruIou6sOFYe0kupRUa3yeuV3XZy+3y1rcQBQ==
X-Received: by 2002:a17:907:9281:b0:abf:b2d1:bb4c with SMTP id a640c23a62f3a-ac33040c694mr232906166b.52.1741948554462;
        Fri, 14 Mar 2025 03:35:54 -0700 (PDT)
Date: Fri, 14 Mar 2025 11:35:53 +0100
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>,
	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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
Message-ID: <Z9QGiSl8vfeYdjXm@macbook.local>
References: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250307175435.3089686-1-andrew.cooper3@citrix.com>

On Fri, Mar 07, 2025 at 05:54:35PM +0000, Andrew Cooper wrote:
> GCC 4.1.2 is from 2007, and Binutils 2.16 is a similar vintage.  Clang 3.5 is
> from 2014.  Supporting toolchains this old is a massive development and
> testing burden.
> 
> Set a minimum baseline of GCC 5.1 across the board, along with Binutils 2.25
> which is the same age.  These were chosen *3 years ago* as Linux's minimum
> requirements because even back then, they were ubiquitous in distros.  Choose
> Clang/LLVM 11 as a baseline for similar reasons; the Linux commit making this
> change two years ago cites a laudry list of code generation bugs.
> 
> This will allow us to retire a lot of compatiblity logic, and start using new
> features previously unavailable because of no viable compatibility option.
> 
> Merge the ARM 32bit and 64bit sections now they're the same.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

IIRC Ld in LLVM 11 should be capable of linking Xen.  I think the
first LLVM release with an LD capable of linking Xen was version 6 or
7.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 10:39:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 10:39:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914341.1320119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt2Rh-0008G6-AH; Fri, 14 Mar 2025 10:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914341.1320119; Fri, 14 Mar 2025 10:39: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 1tt2Rh-0008Fz-6E; Fri, 14 Mar 2025 10:39:17 +0000
Received: by outflank-mailman (input) for mailman id 914341;
 Fri, 14 Mar 2025 10:39: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt2Rf-0008Ft-8W
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 10:39:15 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9224d039-00c0-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 11:39:13 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so377814766b.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 03:39:13 -0700 (PDT)
Received: from localhost ([66.81.170.107]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3149d0bfbsm210057866b.95.2025.03.14.03.39.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 03:39: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: 9224d039-00c0-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741948753; x=1742553553; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ULN6swvzDosjW4dBgOc1H3sXcVGUEArw17CMTPoO5eo=;
        b=V6tiW7G7act/QT2EBDJPDsEquP61OExKstdbFZKo/4XTkQX9DcUsbUv+CAY62afVV2
         nnAt+ErwsOEC0W+MszZhkvI07GSU5+vwGsI5MhN1y/g9o9Ndmuv1oFS61dyVIAg9YET3
         P/kWbUNiymX72fzHFpgxMCMXGm8j4zNsW1UOg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741948753; x=1742553553;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ULN6swvzDosjW4dBgOc1H3sXcVGUEArw17CMTPoO5eo=;
        b=GuqDLNfenYndR5ZWsXbMguB/CbK7hFSSK5SAunj6R+Q/F5LvKcjb507pSYle1XpO2y
         N/SMwHdnKw69+q5AxKU1u799tIcToOM/XnZPcgJyrU8DtcIQV/5JW3N9yr0ty1oCLc0x
         8yXWfIh3VSSVh27QzjcBEZg8tjhqDdTFoacJ3S9Gy7dWXzXnMcuUa9ZcHO0g9AkWLTLF
         OG1ZGvGKjdGNXkA1kob2rYAnL8Yhv7eZ393EOgoEPdIS1cL7MVtFve8cE1KNsoHmwLnA
         XjG+j/0pHGeDzZUnv0ZSGetJtz2h+JFXHVptjnl+vlvHPwHJeKlDMmHorvOlB2oXfZCe
         ui5w==
X-Forwarded-Encrypted: i=1; AJvYcCVJMAno7XRjJ/CXMDp+3XTh/xdfC4Jyxr+RomGGyWP1d+N+bVZs2EN/u6bhT8NDhXFtSP9whRmTFnU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyGv4DptaWiBooof5bsjx2cwa48SZ6FT02gBpsRHPEeaPpAZqxe
	qcQphAbi8zDmEW/urHCysdfw74vhsf8PXzYKwbL2lA2x6JBDXFNprF59yV7RIx0=
X-Gm-Gg: ASbGncspKMAFzGlCt+VhOgG5j7PWrUp3y7bma487XbCNkbWMjGb8Ppj3WeEjvYLiBid
	ukopakLxSG+uaXWUUttFUYCzBry/pJS0S+SQphKdhXPrJuOe39R78nghTLXKX/vUMLSwE0lcEQV
	kj771JHiI9QRDddBVisnc7qlbOCIPp7WpN0JuCjEK0aUNhEt70gs1GKSGPOPqEbKZ6mq+Hf13AS
	PEoYbS4/PVCVqntM7NJ+7mtPaI1S1k4mq4fAlbuBTX26vy0dj1TimHNsqIWldGJvl4eWohzCKG7
	ExsFZXi8Ue0PyRxaoBbBYy4Jo8aV41J/ryf4YKyLgnK2CbVIA7k=
X-Google-Smtp-Source: AGHT+IEFe8avrpBaFzzcRZrEcldvsNGjk81I5sL5wszR96qFlb+zzYcGBDOlGrDx7N41bJCmUWLkjQ==
X-Received: by 2002:a17:907:7290:b0:ac2:fd70:dd98 with SMTP id a640c23a62f3a-ac3301ea161mr201777666b.22.1741948752947;
        Fri, 14 Mar 2025 03:39:12 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 14 Mar 2025 10:39:04 +0000
Message-Id: <D8FXALVEWMGZ.2C16ABCKLKQRY@cloud.com>
Cc: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Stewart Hildebrand" <stewart.hildebrand@amd.com>,
 <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <D8F8IW559J11.2G40MDQH23I44@cloud.com>
 <7b4f47c2-ce03-44e9-907a-acd56e56a9ff@amd.com>
In-Reply-To: <7b4f47c2-ce03-44e9-907a-acd56e56a9ff@amd.com>

On Thu Mar 13, 2025 at 5:43 PM GMT, Stewart Hildebrand wrote:
> The idea was that the unmap-then-map operation would appear atomic from
> the guest's point of view. I've only queued up the unmap operation at
> this point in the new logic. Due to the mentioned limitation in the BAR
> mapping deferral machinery, I wanted to make sure *this BAR* was
> unmapped before queuing up the map operation (see below). Waiting for
> *all* pending operations to finish here is likely not appropriate.

Looking more closely after reading Roger's answer, I misunderstood what was
being queued where. There's space for a single deferred operation that's
retried if pending on each attempt to resume the vCPU, whereas I initially
thought it was the mutations to the p2m (which would've competed with other
mutations from other vCPUs). This makes more sense, sorry for the noise.

> I think this just reinforces the need to rework the BAR mapping
> machinery.

Right. The most delicate part is dealing with races with another vCPU when =
the
unmap-then-map operation does not complete in a single taking of the vpci l=
ock
I'd say. And that much is unavoidable, I think, because either unmapping or
mapping might take a while.

>
> > Do you know if Linux intentionally skips disabling decode? Or is it a b=
ug?
>
> I think it's intentional. See https://gitlab.com/xen-project/xen/-/issues=
/197

Interesting. I seemed to recall some devices being able to decode their own=
 BAR
accesses. But I must've been wrong.

>
> >> +            }
> >> +        }
> >> +        else
> >> +            return;
> >>      }
> >> =20
> >> =20
> >> @@ -610,6 +647,10 @@ static void cf_check bar_write(
> >>      }
> >> =20
> >>      pci_conf_write32(pdev->sbdf, reg, val);
> >> +
> >> +    if ( reenable )
> >> +        /* Write-while-mapped: map the new BAR in p2m. OK to defer. *=
/
> >> +        modify_bars(pdev, cmd, false);
>
> This call to modify_bars() will raise a softirq for the map operation.

Ah, fair enough. I clearly didn't look closely enough.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 10:39:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 10:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914343.1320129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt2Rn-000058-JW; Fri, 14 Mar 2025 10:39:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914343.1320129; Fri, 14 Mar 2025 10:39: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 1tt2Rn-00004z-Gl; Fri, 14 Mar 2025 10:39:23 +0000
Received: by outflank-mailman (input) for mailman id 914343;
 Fri, 14 Mar 2025 10:39: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt2Rm-0008Vd-Mq
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 10:39:22 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96c23a09-00c0-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 11:39:22 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-2255003f4c6so34450635ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 03:39:22 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6bd4b30sm26180485ad.235.2025.03.14.03.39.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 03:39: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: 96c23a09-00c0-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741948760; x=1742553560; darn=lists.xenproject.org;
        h=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=z/s3kf1LnoKkq+QgQqWhOPCisDs2xQNI8h+forCSQYg=;
        b=so/yhjDUeZwL15EvXgh426JVcIu6gX84BB5L44KDM+MHhyMiBVXOZtpskh3jb+cfMe
         MQfU19KIHmn0qz7EC9oG9a6Un/aAbstj4TIS6poAkvRy0wGnQVrfVvEsWY+Gk/DlChZo
         fY/p7ENFKuNzPNY95/eHFreYtWeR04iIQuWao=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741948760; x=1742553560;
        h=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=z/s3kf1LnoKkq+QgQqWhOPCisDs2xQNI8h+forCSQYg=;
        b=YQiPAJ7q+k0AYBV3iqvBp9Ndl6YZeNQPqN2ETZdLoskBdRWNMibch1Y/wUL7i6P5vl
         6lQGLjYfp95f0jN0uTr7IC7JYJQHPUyTzahGZcN/qEBCnr/rEpjduOll1fwxI8ef5xx7
         OQUozRaB81pTkTCMYpnb+OwhhsrRU5LDroS6e0XPUTsoRHx51l7frrenBAqOMWfd86Ps
         wCbVN5ZPswHFfXCbHrpMr9Anf34SGC6LNIoCqiSVXxhlSG6mw+bwcKJOnI8GDMO4opbx
         j3PDk1cPd8a/vRf8k+5yn6jb3VHVXyKTsKZzP+BpVDVaec8MxFOWaoT3hfTZPC0RF2QM
         shxg==
X-Gm-Message-State: AOJu0Ywx65cHlBXwbVs7cNnXDS+OdN8Q4/cCbZ/jEKj5iim1tNZ9YJH2
	YuyXPyhHa7cVnLg1f4BUAK5SvzJtJwqwRnYnX94jgihj1Bbkiz4kDIlmAV8PI4s=
X-Gm-Gg: ASbGncuxX5djDYonJMEIjTD5w5OfcFrz+DEd6qhXMlBTbC2NA6f3fbp2ub8GD6k2upv
	ESUKvzx1sPInCF2ynXMROZK5biwZ5SL6NA9mIlX9K4+nvH0kHmnNrPZIQFLuSiUJodU76YZEMRr
	7IDhqKDfZty6UoFmXf+2hdYx6TQebAS/bU0etoMB6zrjEcdlak063XIpUzcEejElzyUjaZOCywK
	Zf14omaYaR2Hh9IAtdUS5cy1iArLL07hGR0+8dQ0C+Z1+oGiEDwoB6BTueoYF4wfkPxkx4Iuq5d
	3Je6hoKbZSvjxOeG3tWuuVm+iuJHwKkwriDk26FDnbvwFeK12Q==
X-Google-Smtp-Source: AGHT+IEr6wSoWexutMvaj64VhJ3L4RtCHqbym5PMJ2yCLaYu+ljq2AfzozKJJuEpGnql6WSxwxbTzg==
X-Received: by 2002:a17:902:c948:b0:223:501c:7576 with SMTP id d9443c01a7336-225e0a546dbmr28041465ad.12.1741948760522;
        Fri, 14 Mar 2025 03:39:20 -0700 (PDT)
Date: Fri, 14 Mar 2025 11:39:15 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	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 6/7] x86/vga: fix mapping of the VGA text buffer
Message-ID: <Z9QHU-KozrXR95sL@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-7-roger.pau@citrix.com>
 <8ce7caae-8bf6-4ba2-8705-399129a411b6@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8ce7caae-8bf6-4ba2-8705-399129a411b6@citrix.com>

(resending because I seem to have inadvertently corrupted the Cc field)

On Thu, Mar 13, 2025 at 07:39:58PM +0000, Andrew Cooper wrote:
> On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> > The call to ioremap_wc() in video_init() will always fail, because
> > video_init() is called ahead of vm_init_type(), and so the underlying
> > __vmap() call will fail to allocate the linear address space.
> >
> > Fix by reverting to the previous behavior and using the directmap entries
> > in the low 1MB.  Note the VGA text buffer directmap entries are also
> > adjusted to map the VGA text buffer as WC instead of UC-.
> >
> > Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > ---
> >  xen/arch/x86/boot/x86_64.S        | 10 +++++++---
> >  xen/arch/x86/include/asm/config.h |  5 +++++
> >  xen/drivers/video/vga.c           | 11 ++++++++---
> >  3 files changed, 20 insertions(+), 6 deletions(-)
> >
> > diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
> > index 26b9d1c2df9a..07f4bdf46e31 100644
> > --- a/xen/arch/x86/boot/x86_64.S
> > +++ b/xen/arch/x86/boot/x86_64.S
> > @@ -84,15 +84,19 @@ ENTRY(__high_start)
> >  /*
> >   * Mapping of first 2 megabytes of memory. This is mapped with 4kB mappings
> >   * to avoid type conflicts with fixed-range MTRRs covering the lowest megabyte
> > - * of physical memory. In any case the VGA hole should be mapped with type UC.
> > + * of physical memory. VGA hole should be mapped with type UC, with the
> > + * exception of the text buffer that uses WC.
> >   * Uses 1x 4k page.
> >   */
> >  l1_directmap:
> >          pfn = 0
> >          .rept L1_PAGETABLE_ENTRIES
> > -        /* VGA hole (0xa0000-0xc0000) should be mapped UC-. */
> > -        .if pfn >= 0xa0 && pfn < 0xc0
> > +        /* VGA hole (0xa0000-0xb8000) should be mapped UC-. */
> > +        .if pfn >= 0xa0 && pfn < 0xb8
> >          .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_UCMINUS | _PAGE_GLOBAL | MAP_SMALL_PAGES
> > +        /* VGA text buffer (0xb80000-0xc0000) should be mapped WC. */
> > +        .elseif pfn >= 0xb8 && pfn < 0xc0
> > +        .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_WC | _PAGE_GLOBAL | MAP_SMALL_PAGES
> >          .else
> >          .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR_RWX | MAP_SMALL_PAGES
> >          .endif
> 
> We have to be careful doing this.
> 
> It probably is safe to use WC in the pagetables.Â  We don't start using
> the pagetables until after we're sure we're on a 64bit CPU, which means
> WC is available.
> 
> However, doing so now means that we need explicit SFENCE's when using
> this, even in places like early_error.Â  The IN/OUT instructions do flush
> WC buffers, but the UART is written to before the screen, so there's a
> chance that you'll lose the final character of the message on the screen.

I don't think early_error will ever use this mapping.

`vga_text_buffer` contains the address 0xb8000, and AFAICT it's
exclusively used with paging disabled (as the multiboot2 efi path
explicitly sets vga_text_buffer = 0).  The WC mapping created above is
on the directmap, so va > DIRECTMAP_VIRT_START.

vga_text_puts() might need such SFENCE, but arguably that should be a
different patch IMO.  Might be best to ask Jan whether this is on
purpose?

My hypothesis is that the SFENCE might only be needed in
video_endboot() and before reboot if Xen crashed ahead of
relinquishing the VGA console.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:10:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:10:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914372.1320139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt2w2-0000yq-UH; Fri, 14 Mar 2025 11:10:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914372.1320139; Fri, 14 Mar 2025 11:10: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 1tt2w2-0000yj-Ql; Fri, 14 Mar 2025 11:10:38 +0000
Received: by outflank-mailman (input) for mailman id 914372;
 Fri, 14 Mar 2025 11:10: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt2w2-0000yd-0s
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:10:38 +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 f3b870eb-00c4-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 12:10:35 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso1261336f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:10: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-43d2010e2d6sm13690915e9.38.2025.03.14.04.10.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:10: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: f3b870eb-00c4-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741950634; x=1742555434; 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=0rU5KTOqljvILgRsdxHapLxuCD5rRAyKlwdjCWfZJps=;
        b=QCtjBLrYyn5m3VLGTVySGpLPO3j5p+Wqv7BdzLcYxi0j+qWi1xEFYRvDCY9qa9myqe
         ZcLoNI+erHOprCGUSessIAd7utMg3tnOCq7tVXoIILgPL5sZSVDlJ0KNqItcp5aRL/ZB
         +QRZvj9azGRHQAqKyK3YhWeb07UXm3J1cjg9gHzgqeAYD5v6PJ9zpH0oOtT+CUzyAxo5
         kzf2X0fRJ9pP8x9JLXbzcTEpAR/Ur63X8hocH7fMkARJuiU1WG5KxJQ1KPK5RD8XuTfI
         DFHOZEGYdsZWpje2NTWYhcgB7NhJB+aWRZLkTH2ZvTlb+E0kA2UXiQ4FHEgqXIzokgR9
         /I0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741950634; x=1742555434;
        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=0rU5KTOqljvILgRsdxHapLxuCD5rRAyKlwdjCWfZJps=;
        b=bYNcb8uKZBT57HgJVptUJ8ADIecAcMNMUq4lkCa/xR1e7TMLfjxnBuWAy2DitbtAHq
         Tk6hQ1OU+5028O7RLDxAByKmiZtK5ZFpCwUjuDyqK+nbKGLDQ9Hi0knG4YnJE8nrvnL7
         DtbT8Gf+CnL1Dv2nJp2sxMG1a+M0JyYhmMCK37IeUY8eNMwqgR0AaWP497cbFb87oaNp
         MgTLxxUpDeG9SHOGEgGM86q79i89stnhgje5Wt6z24e7SoSw2u7jGLflpxqhTGuAIGwd
         TUtoxUgxr8YNxAcK7So1ZWg7dn6L6uvirUdw7N+tSZju5doog4Iw5hvjbhMajf0Zo5A/
         ticg==
X-Forwarded-Encrypted: i=1; AJvYcCUCtKLZfVeFoI51FrlCrdKHUJzIjZkJ75GbvcbbxBo8idwcWLFT/CEzN1P1kFetZ4jDgwYvV+1tq+w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywpwl7n3KuAQzdcUsE5j4e9Ol5ttwkpZlf4B1R+eDgziBQD83YL
	uEJBjz+AYoGbsXSK+tvatuiU6vHXXut0ot9R+RIfptKTIXtKmLO1VHcAnSN03w==
X-Gm-Gg: ASbGncvOoeIf7FQc3UVI3cJBSsjrHCtBpA8+t+SeWDi6F6aUuCjUVp/2pQAB5vi6L/A
	8CxNhOuo9KEjyou0lhUTzPo5Cmvs3c27Dlo1w44Jt22MMbfblw3BRtD5+H57KAapoauSXrCi+WM
	xMOZ43xm3lmL6/jfaObz2Wzo8z60eve1EyD1wPcW4n6VR0ZXDnvqE7/v8Yq9gi0oJ8pasKFA8KU
	952vaWcANGzZMwzpmP02+CHwfmhHZZFJ4jv6Ak7NTFh2NhJPnVivDAJ0jclIl6f6tpK9XxnSkYr
	mvdSjhXwCtliE8qe3mvdtSoA0r3yFNRJToAqDmH4BBy4CMvHcIJdnftffycv/W5nKuYO8onGLpJ
	rilugHWFCYoI59YkxROeTJqqUWTyIrX52qXzIC+cW
X-Google-Smtp-Source: AGHT+IF7mvThjd1vDNmAwXnnDsIt6qr/FQo/5NwIxOxNp6xBEyzCdC0I/OdQwLRxSo1aa/Gj/lGQOg==
X-Received: by 2002:a05:6000:144f:b0:391:2391:2f79 with SMTP id ffacd0b85a97d-3971f607c7bmr2187993f8f.43.1741950634606;
        Fri, 14 Mar 2025 04:10:34 -0700 (PDT)
Message-ID: <ff416199-c88c-465f-ad6b-64273e86c2fe@suse.com>
Date: Fri, 14 Mar 2025 12:10:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/3] xen: mem_access: conditionally compile vm_event.c
 & monitor.c
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 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>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, xen-devel@lists.xenproject.org
References: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
 <61028e3f2ae363b8224ed7c7c48e86dddfe27fa1.1741772330.git.Sergiy_Kibrik@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: <61028e3f2ae363b8224ed7c7c48e86dddfe27fa1.1741772330.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 06:25, Sergiy Kibrik wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Extend coverage of CONFIG_VM_EVENT option and make the build of VM events
> and monitoring support optional. Also make MEM_PAGING option depend on VM_EVENT
> to document that mem_paging is relying on vm_event.
> This is to reduce code size on Arm when this option isn't enabled.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:12:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:12:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914381.1320149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt2xP-0001Tr-6r; Fri, 14 Mar 2025 11:12:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914381.1320149; Fri, 14 Mar 2025 11:12: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 1tt2xP-0001Tk-3t; Fri, 14 Mar 2025 11:12:03 +0000
Received: by outflank-mailman (input) for mailman id 914381;
 Fri, 14 Mar 2025 11:12: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt2xO-0001TY-93
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:12:02 +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 26f77565-00c5-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 12:12:01 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso13188305e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:12: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
 ffacd0b85a97d-395cb318a80sm5295100f8f.61.2025.03.14.04.12.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:12: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: 26f77565-00c5-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741950721; x=1742555521; 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=aOdt+TF+5jCROqr6LrWav4exmtUL+WDYUGY7F3zuLiY=;
        b=DFI8fA0DRtM+uPssf5CTDrRx8NCGlKGDkmoFs/i73chWFS9HjKM7CrQ7PB1ojZ+drr
         QGcB3F+Y0FztCyBOXfidskk14BbXChm62q1gGll30HR/EM5nuZeHRfa7ihszvMM9xY3B
         Go2vfKeEA7Ax6J0r++yeM8Ogc3mjhFUi2OfpAjMxNdZ9sCv7EsNYw50JrQ0u6jXzthPD
         2j+XD8cSYcNYWHf1PINi1vOZ+GIebC73XtPGKjKQUjLIWzsMYmVw4hbz6qiaFT8tsDcY
         cy7ltkuNjrpNkorklAHd3tIoCDntwcNFVn24K1CPDvK832ykyjVVWesOpNHL6NUvLaaQ
         YzHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741950721; x=1742555521;
        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=aOdt+TF+5jCROqr6LrWav4exmtUL+WDYUGY7F3zuLiY=;
        b=ftZi5p44xSKCm2buWcx7JkY7j1yLUJjGQWLE3e9KYihGfzCawPtBR6nbO3vuurBzbk
         DqkEKu17oZO/Sb2dhlaMCnrHnapg771lym/EjZg0CfAFO1xRLn9QO3Muu39pX7wz1+zE
         Pm1rV5NImgYaQxgMq1ftJecFc7p2wcWO5UIzBH4zzk7Wz8xCQaNBgjeaM6u0L0NPSmsr
         znFt5BzH2RtL8kWLi5tRXLSb9cr5byUUebP1+nmIyg665d8MdVZ1XDNw/CO+Begoqi9U
         jwTXGSL8oo1+ffkV3mJFPCSuX++OjUalVjIZkNo9I/1zqV3KaLWlMgiFOKdKANwarFHr
         ABSA==
X-Forwarded-Encrypted: i=1; AJvYcCWlchxnt28mFQfNMiQW063Knf8HVZix5j0m3URj47wXqR2wE4j8xeyR7+dmhJS7aPeuljv9dUl+1k4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzA30dzsnfbMwVYN/Rx0R+NyAblQrqxN8QoNfpgjGfpv495eCO2
	IxJanXtQyjk5fCq2Kk6cG9NMOGz8045FUE1bEfJUxv4lyUKV1DdPu6mxFkqYGw==
X-Gm-Gg: ASbGncvwVlzwL1Zwm6k5qTDGXPtj+1wdOMnTozqw9rKR7f8vf/iJ6ToWfOixDJ/kYeq
	J6SnPxAhxb9MmP1IoEvfydNSmGPz1fyVUCWo+b6AsYk+oZREoJ+arDxijfhYamsXLQpQ2o+QQXp
	7zMeP16bPztKrev9wXl8cJ5/YB9jvOdAKjoMRZShIia3vSaWgIZOJj3y9CVusbX0bBNJ5vyoEMk
	MjFYm6ZRkoFyHjKadNWnvDR63hNJTOhpvdm6oiLWhGEFxxA409kpwJakNer6J7MgbrWjVDVQPsy
	fqbx/6PTrITK6TSumQRDk1PDr9zkeOCLjIUVs9vamTpmnUzLo284vyZj5VjcIjmjt4gOEms5cUg
	PuGGL/3RgnDppFcZ6zwTWM8xuNeHDnA==
X-Google-Smtp-Source: AGHT+IFE6snGgKELAikGDvNTTq9wOY5ycnL7glLwhLNdqcyZ9rzJK10D7tW4bBF8bDaX7eWgzP1GWA==
X-Received: by 2002:a05:600c:3b10:b0:43d:ed:acd5 with SMTP id 5b1f17b1804b1-43d1ec78437mr27357865e9.10.1741950720824;
        Fri, 14 Mar 2025 04:12:00 -0700 (PDT)
Message-ID: <871f6abf-5046-4435-91d6-b8ce2d9dac06@suse.com>
Date: Fri, 14 Mar 2025 12:11:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/3] x86:monitor: control monitor.c build with
 CONFIG_VM_EVENT option
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
 <39235285ffe341e446bf0fd5cc345379ae394e50.1741772330.git.Sergiy_Kibrik@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: <39235285ffe341e446bf0fd5cc345379ae394e50.1741772330.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 06:23, Sergiy Kibrik wrote:
> Replace more general CONFIG_HVM option with CONFIG_VM_EVENT which is more
> relevant and specific to monitoring. This is only to clarify at build level
> to which subsystem this file belongs.
> 
> No functional change here, as VM_EVENT depends on HVM.
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

I see you've adjusted tag order in patch 3. Why not also here and in patch 1?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:15:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:15:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914391.1320158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt30T-0003It-J1; Fri, 14 Mar 2025 11:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914391.1320158; Fri, 14 Mar 2025 11:15: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 1tt30T-0003Im-GS; Fri, 14 Mar 2025 11:15:13 +0000
Received: by outflank-mailman (input) for mailman id 914391;
 Fri, 14 Mar 2025 11:15: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt30S-0003Ig-9Z
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:15:12 +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 9843e81f-00c5-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 12:15:11 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39104c1cbbdso1129426f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04: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
 5b1f17b1804b1-43d1ffb62ccsm14029665e9.7.2025.03.14.04.15.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:15: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: 9843e81f-00c5-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741950911; x=1742555711; 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=Ok851lRuO3ipcGUuvU2zBSQe+WZL1VTMXl5lai23YlQ=;
        b=Nz6GaYE/GFgEuvhnrUmx1+QCYgY/SIXW4V6wi4qAhhvSLu9vFcxRlXbZ1yzPRzEv/s
         ktWKsI8hrqmDjRCXWXbgoyZBDhTBNUOKRIJ/Feq/v6OxoOekgUQZq0kkvDBA0Fscanhi
         E9Odkd7kLXsYKkeKsris3dhHnZqk7s/kQtxSY9qCpMLZuoxCzQaQAzQz48mcIF2nCH3+
         xHANX2A3f2UdYkxhVTgkeGoHgd1SwSwajxt5ssWFaVw3DSdHjmdf8jCwdQViLGZ6jljE
         Ok7cgDvqiq9fAShRQo06dnez48JYR8Krxfy22iziEO8Qbg7x2Tg4D+ukyIsZFGMlkXX4
         SAHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741950911; x=1742555711;
        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=Ok851lRuO3ipcGUuvU2zBSQe+WZL1VTMXl5lai23YlQ=;
        b=vD3GsSHf+Bd0zJlvgF2+i/xqk3B0jX/qRSvN3sP7FgjPvd/9IIUlCRmQjAGr6OpK43
         7/XhZCo3vMHwvsM7l+juiJ3DoxDk0ExywnbhAxRLiikxYYKBL4Nfrjpzwp/XyKDKzfq7
         7YPxr2YDPj57Lth4afBGT6/EfuTEe14aYqSZ6GbBzHMXocsqyqRuUMja7wfcu5VPzO0z
         RyhgIyZQ6ZSJHPp/YL7R9caS8lT7EPWJPgl27YdMZeaAM/aQORKlVAhaGF895/grH1Hw
         j4PFAKr75SM+1RS6UmSftHbR1XmkjHpXKNosK53SbbBDdDq0Gf65gZ4yfgJdGd1Ss4XL
         SysQ==
X-Gm-Message-State: AOJu0YzTtST4cSM4FynNLcXgVzCZ2WxsmKE6tFV4m1TV5nbrQWw5vSSd
	ONCyHn+6QEWJtEjg3qP6R763l5h/s3KEBhvOTCttyXGxf+4r5fGbdVYV+z9ntelE+PNEFszH/Z4
	=
X-Gm-Gg: ASbGncvGp67zzwTwxzZ2QSEbenX0ptnzHpEuRet9YLqX0MuuV6hswsM9jknpswF9N3L
	MApNVAUUikJCTfJHWyp8DVmZm1oVspnuorg3YeR6WnBOzpwboTyJ6enBhcgJhsIshmGLgvH6E7Q
	L0BZ9IeNbTC6Jc3nN8pAyYASrSvBLidNxOfmzVYZJtmxiZHr47tfIDoDkUyi/FtDGIv1Sc56hea
	GRCRQMp0i3BFId4GbitdyZ/9UWhK2z3IVBWnBYuQh2bHv0ZM4uBsBTsgjZ+hZzRAagbIhHFL0Vd
	+0TsPzzlkWAlCXH3kUxjbgf7TT1fHARjfD6V/ojPEI9jPRD/st+thOe8GdNZecOTD66kdNVWBtw
	/jJPpDp5AOMnn79g92sBxYqEEBt5KQA==
X-Google-Smtp-Source: AGHT+IHtRnUdylcaCH/ze9wACpido2xthzbuPDhbzO/fdEgTfGEk7u1V76W9n+PVruZcaqIxAfyMQA==
X-Received: by 2002:a05:6000:1546:b0:391:c78:8895 with SMTP id ffacd0b85a97d-3971f511f32mr2745819f8f.50.1741950910880;
        Fri, 14 Mar 2025 04:15:10 -0700 (PDT)
Message-ID: <95537b19-9852-4f7e-8657-8da0d8150e8a@suse.com>
Date: Fri, 14 Mar 2025 12:15:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Andriy Sultanov <sultanovandriy@gmail.com>
Cc: xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Jason Andryuk <jason.andryuk@amd.com>
References: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
 <f308cbf6-0d2d-4843-982a-a59ea70c7ad1@amd.com>
 <CAHPYgaXc8X5tBYN6BL2w2PVSNLwaTPP=zWhATBbjYRN-2dmE-g@mail.gmail.com>
 <1e36cec6-c02c-47b9-b957-087e8eb62328@suse.com>
 <23d2b793-42a8-45cc-9314-750b84526aaa@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: <23d2b793-42a8-45cc-9314-750b84526aaa@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 10:30, Andrew Cooper wrote:
> On 14/03/2025 8:56 am, Jan Beulich wrote:
>> On 14.03.2025 09:07, Andriy Sultanov wrote:
>>> On Thu, 13 Mar 2025 at 19:59, Jason Andryuk <jason.andryuk@amd.com> wrote:
>>>> On 2025-03-13 14:57, Andrii Sultanov wrote:
>>>>> --- a/xen/drivers/passthrough/amd/iommu.h
>>>>> +++ b/xen/drivers/passthrough/amd/iommu.h
>>>>> @@ -77,8 +77,14 @@ struct amd_iommu {
>>>>>       struct list_head list;
>>>>>       spinlock_t lock; /* protect iommu */
>>>>>
>>>>> -    u16 seg;
>>>>> -    u16 bdf;
>>>>> +    union {
>>>>> +        struct {
>>>>> +            uint16_t bdf;
>>>>> +            uint16_t seg;
>>>> Are these still needed by the end of this patch?
>>> Yes - otherwise the patch would be larger as bdf and seg would be one
>>> namespace deeper - /iommu->seg/iommu->sbdf.seg/
>> This kind of union is fragile. Hence we want to avoid it, even if this means
>> an overall larger diff.
> 
> This is my suggestion, and it's the pattern used in struct pci_dev.

And I'm hoping to eliminate it there, too, at some point. But adding a hidden
dependency on the layout in an entirely different part of the tree just cannot
do us any good.

> pci_sbdf_t is nice for code generation, but it's not great for source
> verbosity.

I agree, yet if anything we'd need a global approach to deal with that
aspect.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:17:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:17:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914406.1320168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt32s-0003uI-3k; Fri, 14 Mar 2025 11:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914406.1320168; Fri, 14 Mar 2025 11:17: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 1tt32s-0003uB-1C; Fri, 14 Mar 2025 11:17:42 +0000
Received: by outflank-mailman (input) for mailman id 914406;
 Fri, 14 Mar 2025 11:17: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt32r-0003u5-KE
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:17:41 +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 f1416b8d-00c5-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 12:17:40 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso18674965e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04: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-395cb7eb9c0sm5323744f8f.97.2025.03.14.04.17.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04: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: f1416b8d-00c5-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741951060; x=1742555860; 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=6u5MzcwOd2vfEY6AoYlbvzECFSZBWFWIhH/AyJtzIw0=;
        b=KmuQs5xKxQyOrs3IHzYLODpFFR/2Yf0kixgVBOx8E2LDFHBdt0aFp+VAwGQtftLBpr
         tapSZHooprpM3yBl3SaNvXhJsPaXUdq7gNSsJJHBzT9dE1853nQT0Hx3HErnaBfpej04
         4U8DQiLMWtL6SR3a09+tqOI6nMOTXn88ZpWfSc8VGJCoTtn89f2bpszGC7odaJsdiH0b
         QSiB/N0g/q1kijsT0RE/u5ePpnODc7b8EQ8r4GYM0Sx5lCdoduRH/ffUILbWLAaymzX1
         c15SOoGP0JJmW8fBzioTzf6gAFdzQ8+UZXjOEGKVKk1cx9P/uMRyjBpjZaHn8XiIHBo7
         HMUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741951060; x=1742555860;
        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=6u5MzcwOd2vfEY6AoYlbvzECFSZBWFWIhH/AyJtzIw0=;
        b=Jc4ihx1JXVh1875LwyM6i+3Zk1ZSxuiv6Dk6aJtCA+kFAK9NuzMtAPm8NadC8w8kEA
         oORPUyKfKQpWOQJcmNcImUhOntzTP3GDJZ065Xrq3sJGoMdXf4/OBCvhjgndKCDmzJ4g
         7ISU00gVo4npLdT0wmEOyI6IimX3DeRmVBLaXOsZ3qpePQXJR6eRZZCL6No2cS36pDl3
         Byixg609DN41RXeg83qDYhAYtPVT39Vrf8U4cDDa2AN4Xvn2RKa/s/I8nZo1dax5+Iu5
         SXrEtxPr4xUxX8GPeMHUbE5LtlUGmeKeHBjbky/ZK8ReVO1g7TOjE9OAzPZxUl4ru3jq
         xKeA==
X-Forwarded-Encrypted: i=1; AJvYcCWtpEJZ1tTk+wB1/db8ntO8aXHPmJmBaj47+rAUJUGGgmQ2jsxQWbjbRQBi3Vo2TBakwvRz7hmZUno=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwO06gMChuoRR5AGvdwZcS61LM8lkpB3xX08aO+3tieaWoIJHKg
	Lbk5Qin5BwoJwvIaoDZtVJcAxOCG/YFvlqga9vQ3lFbw2Ut3VJ4qJltdZ6oPig==
X-Gm-Gg: ASbGncs6o0oSX1smWTgta3dkU5CZf8yyW9RGnQ70Y6DFNmBDFNFNWtDuwoiMXU584DW
	Aw8o67Av2c5FpjF2dqy87jsgxFAAH7xZWFCtuf11iZonYIMscJ3VNK2WgysEHgc4FVwAMpe4Wui
	81uWbMBPWLwgsxvTDkVx5w4fYXJ/WNljZKWvbrXNUTvN96uXqwCWTbHMFtG0VT84vWxQORos5AU
	4tyYm4xXxXaEt3irU9nbnAcMPu33WLRetS6r9V2YI7e58xNMezd6j49D9uVs35L0AJWzdkdQxxJ
	rcD3RF+VxZZj17o9FEFJPihGaN91PjHThcvSRMkYAo2PuL+AY2MiFluQ6h+dkp3M8zH8lIOih0K
	WWS/23f/civGWwLZZ3Gc7A3AKjohKXw==
X-Google-Smtp-Source: AGHT+IGOjh43o38WpEJ8FpyWhiqEdrzJPXTsABuCyJL2l6lRvXruQ2CAtzkNRvyHtNSa/nxi06jxKw==
X-Received: by 2002:a05:6000:1564:b0:391:487f:2828 with SMTP id ffacd0b85a97d-3971cd5741emr2734700f8f.10.1741951060113;
        Fri, 14 Mar 2025 04:17:40 -0700 (PDT)
Message-ID: <1f11b5f6-923b-4432-a763-45b4d025de60@suse.com>
Date: Fri, 14 Mar 2025 12:17:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
 <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
 <dd147c79-055e-4a94-bb23-4c59821d520a@citrix.com>
 <3d905488-b3ec-452f-afca-9a7d85484fe9@suse.com>
 <Z9QBIEICQIQH2WD9@macbook.local>
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: <Z9QBIEICQIQH2WD9@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 11:12, Roger Pau MonnĂŠ wrote:
> On Fri, Mar 14, 2025 at 10:13:07AM +0100, Jan Beulich wrote:
>> On 14.03.2025 10:05, Andrew Cooper wrote:
>>> On 14/03/2025 8:44 am, Jan Beulich wrote:
>>>> On 14.03.2025 09:30, Roger Pau MonnĂŠ wrote:
>>>>> On Fri, Mar 14, 2025 at 09:24:09AM +0100, Jan Beulich wrote:
>>>>>> On 13.03.2025 16:30, Roger Pau Monne wrote:
>>>>>>> When enabling UBSAN with clang, the following error is triggered during the
>>>>>>> build:
>>>>>>>
>>>>>>> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
>>>>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>>>>       |         ^
>>>>>>> <inline asm>:1:121: note: instantiated into assembly here
>>>>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>>>>       |                                                                                                                                ^
>>>>>>> common/wait.c:154:9: error: symbol '.L_skip' is already defined
>>>>>>>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>>>>>>>       |         ^
>>>>>>> <inline asm>:1:159: note: instantiated into assembly here
>>>>>>>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>>>>>>>       |                                                                                                                                                                      ^
>>>>>>> 2 errors generated.
>>>>>>>
>>>>>>> The inline assembly block in __prepare_to_wait() is duplicated, thus
>>>>>>> leading to multiple definitions of the otherwise unique labels inside the
>>>>>>> assembly block.  GCC extended-asm documentation notes the possibility of
>>>>>>> duplicating asm blocks:
>>>>>>>
>>>>>>>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
>>>>>>>> your assembly code when optimizing. This can lead to unexpected duplicate
>>>>>>>> symbol errors during compilation if your asm code defines symbols or
>>>>>>>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
>>>>>>> Move the assembly blocks that deal with saving and restoring the current
>>>>>>> CPU context into it's own explicitly non-inline functions.  This prevents
>>>>>>> clang from duplicating the assembly blocks.  Just using noinline attribute
>>>>>>> seems to be enough to prevent assembly duplication, in the future noclone
>>>>>>> might also be required if asm block duplication issues arise again.
>>>>>> Wouldn't it be a far easier / less intrusive change to simply append %= to
>>>>>> the label names?
>>>>> That won't work AFAICT, as the inline asm in check_wakeup_from_wait()
>>>>> won't be able to make a jump to the .L_wq_resume label defined in the
>>>>> __prepare_to_wait() assembly block if the label is declared as
>>>>> .L_wq_resume%=.
>>>>>
>>>>> Also we want to make sure there's a single .L_wq_resume seeing how
>>>>> check_wakeup_from_wait() uses it as the restore entry point?
>>>> Hmm, yes on both points; the %= would only work for .Lskip. Have you gained
>>>> understanding why there is this duplication? The breaking out of the asm()
>>>> that you do isn't going to be reliable, as in principle the compiler is
>>>> still permitted to duplicate stuff. Afaict the only reliable way is to move
>>>> the code to a separate assembly file (with the asm() merely JMPing there,
>>>> providing a pseudo-return-address by some custom means). Or to a file-scope
>>>> asm(), as those can't be duplicated.
>>>
>>> See the simplified example in
>>> https://github.com/llvm/llvm-project/issues/92161
>>>
>>> When I debugged this a while back, The multiple uses of wqv->esp (one
>>> explicit after the asm, one as an asm parameter) gain pointer
>>> sanitisation, so the structure looks like:
>>>
>>> Â Â Â  ...
>>> Â Â Â  if ( bad pointer )
>>> Â Â Â  Â Â Â  __ubsan_report();
>>> Â Â Â  asm volatile (...);
>>> Â Â Â  if ( bad pointer )
>>> Â Â Â  Â Â Â  __ubsan_report();
>>> Â Â Â  ...
>>>
>>> which then got transformed to:
>>>
>>> Â Â Â  if ( bad pointer )
>>> Â Â Â  {
>>> Â Â Â  Â Â Â  __ubsan_report();
>>> Â Â Â  Â Â Â  asm volatile (...);
>>> Â Â  Â Â Â Â  __ubsan_report();
>>> Â Â Â  }
>>> Â Â Â  else
>>> Â Â Â  Â Â Â  asm volatile (...);
>>
>> But isn't it then going to be enough to latch &wqv->esp into a local variable,
>> and use that in the asm() and in the subsequent if()?
> 
> I have the following diff which seems to prevent the duplication,
> would you both be OK with this approach?

Yes (with a brief comment added as to the need for the local). And thanks.

Jan

> --- a/xen/common/wait.c
> +++ b/xen/common/wait.c
> @@ -124,6 +124,7 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
>      struct cpu_info *cpu_info = get_cpu_info();
>      struct vcpu *curr = current;
>      unsigned long dummy;
> +    void *esp = NULL;
>  
>      ASSERT(wqv->esp == NULL);
>  
> @@ -166,12 +167,12 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
>          ".L_skip:"
>          "pop %%r15; pop %%r14; pop %%r13;"
>          "pop %%r12; pop %%rbp; pop %%rbx"
> -        : "=&S" (wqv->esp), "=&c" (dummy), "=&D" (dummy)
> +        : "=&S" (esp), "=&c" (dummy), "=&D" (dummy)
>          : "0" (0), "1" (cpu_info), "2" (wqv->stack),
>            [sz] "i" (PAGE_SIZE)
>          : "memory", "rax", "rdx", "r8", "r9", "r10", "r11" );
>  
> -    if ( unlikely(wqv->esp == NULL) )
> +    if ( unlikely(esp == NULL) )
>      {
>          gdprintk(XENLOG_ERR, "Stack too large in %s\n", __func__);
>          domain_crash(curr->domain);
> @@ -179,6 +180,7 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
>          for ( ; ; )
>              do_softirq();
>      }
> +    wqv->esp = esp;
>  }
>  
>  static void __finish_wait(struct waitqueue_vcpu *wqv)
> 



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:20:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914418.1320179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt35d-0005Oj-Hf; Fri, 14 Mar 2025 11:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914418.1320179; Fri, 14 Mar 2025 11:20: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 1tt35d-0005Oc-Dq; Fri, 14 Mar 2025 11:20:33 +0000
Received: by outflank-mailman (input) for mailman id 914418;
 Fri, 14 Mar 2025 11:20: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt35c-0005Nw-A9
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:20:32 +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 54b9ba24-00c6-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 12:20:27 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-aaf0f1adef8so353231366b.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:20:27 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeca4sm209885766b.21.2025.03.14.04.20.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:20: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: 54b9ba24-00c6-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741951227; x=1742556027; 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=fDOMEI5+1jdykECQ4epxe5UvA+4ETkPC3Yy+z8ayluw=;
        b=HXx1/NEyJ5zxy/fKdaP9zkO3Py2TBTfXtKNzKQI5/wsUdOVELAYeA/HpSJAPcYbTCt
         jS3FElQSt1mJzEOVFJZA6qsLAISsPKTBKSAE9puns/A3jPHqeq5d3iMggYbDSr/4U+yP
         nka3+pHuHA8SMS0Gv6Z1EeyrwoTpKihDXYk/E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741951227; x=1742556027;
        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=fDOMEI5+1jdykECQ4epxe5UvA+4ETkPC3Yy+z8ayluw=;
        b=jplgh/zcvHT035CsL3ZsXw3Zqk2T2Qwx2ez75F5ZcQiHtEb/nloBcJDUApjAvm1Ve6
         579GEpo9eRN5gmdH54XtXanrPEJcOn1RjXqW1ycg/OAo26qYlbxTBQqa6nYy6aY4X+Jx
         ZAAjJAfnCxNQBX+JwFX8mUXy+IoWLDpHPR8fM0L0lk1sTED1uniCEayrGz3LWEFLX1/X
         V3KCq5n0Z79gdnjVixOcqg6ep46vHSsGIQRa4bdcstxxQiU1PBxy+DyJi9lxLB0sy6mp
         0KRBnj0/rdCakYdzxHwnrBa98A4mgEaRqSYprNFfwl1jCEBsxF1iZ0wP8Nao/RKdi1bz
         xDQA==
X-Forwarded-Encrypted: i=1; AJvYcCUouzQQiZBChExuwEiSOXtFenUt4rPqQgouekTvb0CTKIJsnvVAFB4C7LhdsDntKwqhN/A2qpcpoz8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyXjpj7GTrD65ivtB5ArNup10rgyZZZsyZG8naZeYArMDunYnWX
	FdNTibUGfcXxyHCww8h2LQiMEe1U9Ji01fxoeo2v9kADNspLJc0iPq8TRjv93rY=
X-Gm-Gg: ASbGncsl/VQ+SaBeX/7e0iwvxgLMW3C8vvYqMI12Ww734YSqBbRhFz45oVrDJbirn40
	ppgimlgWgGaYhzCfPpHWS3u9K38/f6zXPzP8f5QEeq2N6PYfmutUpJOFNkS7C7uHESr10uWUgXb
	pLxlbAyphLWe6vI6AASRXWs9zr0EJvD5erFTRVKaSprpyS2V5NLY5IvbNCUNwZAoAwUJId+bTkW
	9L3yccEqcLbMwAavGgRPFPWZ8WmXLfbaGfTrJQF7Ee/jV2qVTs6h8VBBnL8qUEgnIlngW7u2jmU
	WFIdsw+7qM8ZKCboZwBHpaoAPwEb1R+/wFO7bNejqSM3KIROlPldnr2nRZw0QMg6NGyK3/Ktbr5
	2ntXK1I+L
X-Google-Smtp-Source: AGHT+IFfwjqrRRdUSkIE6cz0kK6j+se8icZlFRhuEX0OeN8WxeHbl1+MzIZ/XimnpEInVt5P7YKm2Q==
X-Received: by 2002:a17:907:7251:b0:ac1:ecb5:7207 with SMTP id a640c23a62f3a-ac330301e93mr218694166b.29.1741951226873;
        Fri, 14 Mar 2025 04:20:26 -0700 (PDT)
Message-ID: <0dc20917-831f-4efd-9018-cdf35d2bb0d2@citrix.com>
Date: Fri, 14 Mar 2025 11:20:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/wait: prevent duplicated assembly labels
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: 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: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-3-roger.pau@citrix.com>
 <8c58e1d6-b591-4211-9364-fa586a5c6d2e@suse.com>
 <Z9PpI8KQnA_gHy9e@macbook.local>
 <729fe31f-69d2-4b4f-8f2b-ac507a65fa27@suse.com>
 <dd147c79-055e-4a94-bb23-4c59821d520a@citrix.com>
 <3d905488-b3ec-452f-afca-9a7d85484fe9@suse.com>
 <Z9QBIEICQIQH2WD9@macbook.local>
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: <Z9QBIEICQIQH2WD9@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 10:12 am, Roger Pau MonnĂŠ wrote:
> On Fri, Mar 14, 2025 at 10:13:07AM +0100, Jan Beulich wrote:
>> But isn't it then going to be enough to latch &wqv->esp into a local variable,
>> and use that in the asm() and in the subsequent if()?
> I have the following diff which seems to prevent the duplication,
> would you both be OK with this approach?
>
> Thanks, Roger.
> ---
> diff --git a/xen/common/wait.c b/xen/common/wait.c
> index cb6f5ff3c20a..60ebd58a0abd 100644
> --- a/xen/common/wait.c
> +++ b/xen/common/wait.c
> @@ -124,6 +124,7 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
>      struct cpu_info *cpu_info = get_cpu_info();
>      struct vcpu *curr = current;
>      unsigned long dummy;
> +    void *esp = NULL;
>  
>      ASSERT(wqv->esp == NULL);
>  
> @@ -166,12 +167,12 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
>          ".L_skip:"
>          "pop %%r15; pop %%r14; pop %%r13;"
>          "pop %%r12; pop %%rbp; pop %%rbx"
> -        : "=&S" (wqv->esp), "=&c" (dummy), "=&D" (dummy)
> +        : "=&S" (esp), "=&c" (dummy), "=&D" (dummy)
>          : "0" (0), "1" (cpu_info), "2" (wqv->stack),
>            [sz] "i" (PAGE_SIZE)
>          : "memory", "rax", "rdx", "r8", "r9", "r10", "r11" );
>  
> -    if ( unlikely(wqv->esp == NULL) )
> +    if ( unlikely(esp == NULL) )
>      {
>          gdprintk(XENLOG_ERR, "Stack too large in %s\n", __func__);
>          domain_crash(curr->domain);
> @@ -179,6 +180,7 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
>          for ( ; ; )
>              do_softirq();
>      }
> +    wqv->esp = esp;
>  }
>  
>  static void __finish_wait(struct waitqueue_vcpu *wqv)
>

If that works, then fine.Â  It's certainly less invasive.

The moment I actually get around to (or persuade someone else to) switch
the introspection mappings over to acquire_resource, then wait.c is
going to be deleted.

~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:23:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:23:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914429.1320190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt38Z-0007Rf-Vf; Fri, 14 Mar 2025 11:23:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914429.1320190; Fri, 14 Mar 2025 11:23: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 1tt38Z-0007RY-Re; Fri, 14 Mar 2025 11:23:35 +0000
Received: by outflank-mailman (input) for mailman id 914429;
 Fri, 14 Mar 2025 11:23: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=gDv/=WB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tt38Y-0007RS-NA
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:23:34 +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 c3b092a8-00c6-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 12:23:33 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso1268988f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:23: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-395cb40fa30sm5272516f8f.68.2025.03.14.04.23.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:23: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: c3b092a8-00c6-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741951413; x=1742556213; 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=HMKzEV68r+ZLW9HlJ5st7WfvfZUaxcx1dbQ8PEANzQ0=;
        b=LnfyY//UM0OD+BAGV41FLhI7r1DVf4y01Rw7EvPXugXuKyjU2RTBz+yfWIrm++RRzv
         1wPsdWazNhYOuCFFU5WBA5aaoznfV7obtdx3nJQ/qj0pSsBxgA4uw0lTqBr7aV2m2wWC
         RSDHAhi3ilORiCzfSlqRxN+u7fyWSzuGoYYejHPhltntpamSlTjWCuAjrlePdHbcVc2H
         scn8fhtfjFoXI/YNxly2pboOmZcdWz0f5j5YgMKEJSU9ibpAPBZ7O7bWIIETYlmFAzci
         iO7NbAZSgVzysTJlfoRF0FbaQKbQACl4t5rhjuqD8tEy7pTidvsk4AWlhn6uzjyMleUc
         cQcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741951413; x=1742556213;
        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=HMKzEV68r+ZLW9HlJ5st7WfvfZUaxcx1dbQ8PEANzQ0=;
        b=CeQ4lsPQEk6gS7puZHPkutoHv8nBr44WUkEt2ATlpkfZRo/ywTkKIE7AHRUYD9YBvI
         ntubmV3apxSd4tWd0vVMdlPTs169zRI7XqYMVekF5II/08bD1FHRWDYiGWs81qQ9bI0W
         mXgFBejzmUdcCKZUwof6dfULdgoEvznCqSy0p+C+pGWX6M2vbqM1ifTauJbC4L/E+Gid
         7X36khmhmfgmhlI9ZpDEwHoek1hsr/CnFgqT0Hdhgzbgtl4uU4JeSIbeNRzBT6a02Aig
         YvB/CKwz4wsLgVOiR6kkL1uObzBnM8u+wQvAyKbd5EdT7rMxJEakM1eOU/m9WDcU3nVl
         ODWw==
X-Gm-Message-State: AOJu0Yzb2XTmAt/qmVvw6Tr9ScLx5FrORdqDYHxP30nI4q+eh3GX2hEg
	yg5y+3CoKPCAEztz21aKAfDdmebtiJiDSydV7TmjBu74rWj0C/aJEqph/B4Fqg==
X-Gm-Gg: ASbGncsjr8YiPUwazw1rbGSRTx0UqJy9jTdvMDQXcfWKnRaTkyPUwqJILK1lulatYOk
	K1/6u7wsdD53hkm9GiXM1wZhgJUiUlUL7JiG22eYdE7RVZ9z6gGx8k7DZsay+MQoIoIm8VzvG6k
	nwwY6vo7cDyqUN1K4sepRN3TKo0idcNNZl9Y4w5PZL8+iAPd4DNQcSWJTN9nMl6EmW3z37Etdv0
	CBkD+LonRmSTVZQOHPXPSMvEfXRMvCfpFAzaDKwxfjpr3U4JfZLXbWnemvHKpHQGt5t0AP7c6IY
	NvsLecOAQAht+a5hH2ZyaAnvwIelT59+ipgFENulDo/wk/KiD+vj9X9MK2ll16LjIZG+6vDkXJa
	aEEqhqUS9XH8SnmhplDCaLtirmydOOw==
X-Google-Smtp-Source: AGHT+IE9QJhvLbEhLbK1XcAu4u5pGZoLIJLyaZ5fVwSQ+5b5xGTfrAz2pBBsWnPnoedJAnKOBshWLQ==
X-Received: by 2002:a5d:598b:0:b0:391:3b70:2dab with SMTP id ffacd0b85a97d-3971d51fce9mr2017803f8f.17.1741951413227;
        Fri, 14 Mar 2025 04:23:33 -0700 (PDT)
Message-ID: <16149a89-4b77-4498-84a7-66810e6f0815@suse.com>
Date: Fri, 14 Mar 2025 12:23:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/7] x86/vga: fix mapping of the VGA text buffer
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-7-roger.pau@citrix.com>
 <8ce7caae-8bf6-4ba2-8705-399129a411b6@citrix.com>
 <Z9QHU-KozrXR95sL@macbook.local>
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: <Z9QHU-KozrXR95sL@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 11:39, Roger Pau MonnĂŠ wrote:
> (resending because I seem to have inadvertently corrupted the Cc field)
> 
> On Thu, Mar 13, 2025 at 07:39:58PM +0000, Andrew Cooper wrote:
>> On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
>>> The call to ioremap_wc() in video_init() will always fail, because
>>> video_init() is called ahead of vm_init_type(), and so the underlying
>>> __vmap() call will fail to allocate the linear address space.
>>>
>>> Fix by reverting to the previous behavior and using the directmap entries
>>> in the low 1MB.  Note the VGA text buffer directmap entries are also
>>> adjusted to map the VGA text buffer as WC instead of UC-.
>>>
>>> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>> ---
>>>  xen/arch/x86/boot/x86_64.S        | 10 +++++++---
>>>  xen/arch/x86/include/asm/config.h |  5 +++++
>>>  xen/drivers/video/vga.c           | 11 ++++++++---
>>>  3 files changed, 20 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
>>> index 26b9d1c2df9a..07f4bdf46e31 100644
>>> --- a/xen/arch/x86/boot/x86_64.S
>>> +++ b/xen/arch/x86/boot/x86_64.S
>>> @@ -84,15 +84,19 @@ ENTRY(__high_start)
>>>  /*
>>>   * Mapping of first 2 megabytes of memory. This is mapped with 4kB mappings
>>>   * to avoid type conflicts with fixed-range MTRRs covering the lowest megabyte
>>> - * of physical memory. In any case the VGA hole should be mapped with type UC.
>>> + * of physical memory. VGA hole should be mapped with type UC, with the
>>> + * exception of the text buffer that uses WC.
>>>   * Uses 1x 4k page.
>>>   */
>>>  l1_directmap:
>>>          pfn = 0
>>>          .rept L1_PAGETABLE_ENTRIES
>>> -        /* VGA hole (0xa0000-0xc0000) should be mapped UC-. */
>>> -        .if pfn >= 0xa0 && pfn < 0xc0
>>> +        /* VGA hole (0xa0000-0xb8000) should be mapped UC-. */
>>> +        .if pfn >= 0xa0 && pfn < 0xb8
>>>          .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_UCMINUS | _PAGE_GLOBAL | MAP_SMALL_PAGES
>>> +        /* VGA text buffer (0xb80000-0xc0000) should be mapped WC. */
>>> +        .elseif pfn >= 0xb8 && pfn < 0xc0
>>> +        .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_WC | _PAGE_GLOBAL | MAP_SMALL_PAGES
>>>          .else
>>>          .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR_RWX | MAP_SMALL_PAGES
>>>          .endif
>>
>> We have to be careful doing this.
>>
>> It probably is safe to use WC in the pagetables.Â  We don't start using
>> the pagetables until after we're sure we're on a 64bit CPU, which means
>> WC is available.
>>
>> However, doing so now means that we need explicit SFENCE's when using
>> this, even in places like early_error.Â  The IN/OUT instructions do flush
>> WC buffers, but the UART is written to before the screen, so there's a
>> chance that you'll lose the final character of the message on the screen.
> 
> I don't think early_error will ever use this mapping.
> 
> `vga_text_buffer` contains the address 0xb8000, and AFAICT it's
> exclusively used with paging disabled (as the multiboot2 efi path
> explicitly sets vga_text_buffer = 0).  The WC mapping created above is
> on the directmap, so va > DIRECTMAP_VIRT_START.
> 
> vga_text_puts() might need such SFENCE, but arguably that should be a
> different patch IMO.  Might be best to ask Jan whether this is on
> purpose?

I think that was wrongly omitted before already.

> My hypothesis is that the SFENCE might only be needed in
> video_endboot() and before reboot if Xen crashed ahead of
> relinquishing the VGA console.

This might suffice for being able to see the final picture, but it may
result in display artifacts earlier on.

Question is whether simply undoing the ioremap_wc() (for not functioning
correctly) isn't going to be good enough. Prior to the change to use that,
we had been using UC- quite okay (even if a bit slow). An option may be
to make a WC mapping a little later, when __vmap() is usable.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:25:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914443.1320198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt3AW-00084d-BY; Fri, 14 Mar 2025 11:25:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914443.1320198; Fri, 14 Mar 2025 11:25: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 1tt3AW-00084W-93; Fri, 14 Mar 2025 11:25:36 +0000
Received: by outflank-mailman (input) for mailman id 914443;
 Fri, 14 Mar 2025 11:25: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt3AU-00084L-FY
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:25: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 0b275c04-00c7-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 12:25:33 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so18961645e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:25:33 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fdda32fsm14499055e9.4.2025.03.14.04.25.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:25: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: 0b275c04-00c7-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741951533; x=1742556333; 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=BztVFSmMh26mVXzxpp7isWIJahsK74R+pWfSWlZ4N2I=;
        b=bViyyv66SZwX4Ls1Jpnkz8kqyZwzBGayhjiIrhDXkfhuwlxNDG6xOXxZceDm25ZK3B
         wdHUXsZHShZ8GEPMeF32cQOaPZ1y0u+THT/vM+rFiALH66ebIiDZlkCNZSHEx2BPXVGg
         i21RfrISsfc2SXLCmXE8ftYhjQQJ3Bw794+us=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741951533; x=1742556333;
        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=BztVFSmMh26mVXzxpp7isWIJahsK74R+pWfSWlZ4N2I=;
        b=DzDhemql1I0IoupbtsAh10jueQm8Wd6QW2ZZ/W2632jJbfWt3BbiUBGa9wY+ql5Rv2
         jeE3+GS9yOAkMDbzOo3qbZIBb0W/rvUhfeXXRBXOLXWvuaJlpbbHB48X+MVpVo7YNf8h
         9Qo/wabQAkY2rx/TdGXdvo19fnI86bmypt9SFKWNAUI4+U6MxQKFQPtxvFJCshmdKTGE
         T11G/ku6J1B18DKY17vGWQLqSc2VPjPkcfUgGyPO8S5b3S1hepkT4Vtq9ohztgXmm0gc
         V/sp430rur6kJ0q2H6pv3DH2qF8go22QbJpxT2iolRc/8DWWWN03Bef+eJ9ARI+VIOjo
         FQhA==
X-Gm-Message-State: AOJu0Yw5IQXNkXsj7Dssle4X2IIfqjF5C/YsQ+l/pnNUO4I46XY69Dt0
	NHwbtK/O4oXC1XNorwdOW1V6TzNB58jDHRZq3odk1/TUPF9CktFKVLB55YICmr8=
X-Gm-Gg: ASbGncsBvkBSB9ktGtrud7cvOhmSwtUg98T70nRoT/OCOZPnQJYm2P+qJXBat06dz82
	KmV2tjLGp0FOdaJER2Oi+0POrxK3rRt3A1R6M05ImK5gGNiu2MvMhORQnConB6rW318FYiTT6Z6
	KoGgrNKMWhVu8DE2ZWHiD3DiatC8GcJsWLqz1sBCbDk0xQJtkY24EYQGZAyJ7umD2ujPccDb/3H
	GA7xlFLUfJ7ncq+BDPF7J+ASl60QySh9WBI+Zv4c8jajot4MM0p6p3JWmos7GxSR56JVvBVgzum
	VROFI4ZLfEnRFKkh5oj8njsDRhkraDgsgR6ON/vcalLSUa02gVRgpLz74h3a4T8TDQV41nK45cU
	8Hzuigb9/ZaPuLHyHIk8=
X-Google-Smtp-Source: AGHT+IF+AMzP66NaxcUNCbiMVli0NpnmBL25N5Nr8JjRCz5KpUYlKc46YDAPpw3gXN8sRDLDTba5yA==
X-Received: by 2002:a05:600c:5128:b0:43d:3df:42d8 with SMTP id 5b1f17b1804b1-43d1ec73305mr27076605e9.6.1741951533112;
        Fri, 14 Mar 2025 04:25:33 -0700 (PDT)
Message-ID: <d7b6b1ee-76d8-400f-96fd-f72271701861@citrix.com>
Date: Fri, 14 Mar 2025 11:25:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/ioremap: prevent additions against the NULL
 pointer
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-6-roger.pau@citrix.com>
 <ad26bb49-4025-4190-ba69-c03584cf2229@citrix.com>
 <Z9PsNVbC4leLFMqO@macbook.local>
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: <Z9PsNVbC4leLFMqO@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 8:43 am, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 13, 2025 at 05:21:13PM +0000, Andrew Cooper wrote:
>> On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
>>> This was reported by clang UBSAN as:
>>>
>>> UBSAN: Undefined behaviour in arch/x86/mm.c:6297:40
>>> applying zero offset to null pointer
>>> [...]
>>> Xen call trace:
>>>     [<ffff82d040303662>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
>>>     [<ffff82d040304aa3>] F __ubsan_handle_pointer_overflow+0xcb/0x100
>>>     [<ffff82d0406ebbc0>] F ioremap_wc+0xc8/0xe0
>>>     [<ffff82d0406c3728>] F video_init+0xd0/0x180
>>>     [<ffff82d0406ab6f5>] F console_init_preirq+0x3d/0x220
>>>     [<ffff82d0406f1876>] F __start_xen+0x68e/0x5530
>>>     [<ffff82d04020482e>] F __high_start+0x8e/0x90
>>>
>>> Fix bt_ioremap() and ioremap{,_wc}() to not add the offset if the returned
>>> pointer from __vmap() is NULL.
>>>
>>> Fixes: d0d4635d034f ('implement vmap()')
>>> Fixes: f390941a92f1 ('x86/DMI: fix table mapping when one lives above 1Mb')
>>> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, with one style fix.
>>
>> It's unfortunate, because C23 makes this one case (add 0 to NULL
>> pointer) explicitly well defined to avoid corner cases like this.Â  Oh well.
> Interesting, so they added a new type (nullptr_t) that has a single
> possible value (nullptr), and hence arithmetic operations against it
> always result in nullptr.  That's helpful to prevent this kind of
> bugs.

nullptr_t is unrelated.Â  That's for _Generic() and friends.

I'm struggling to find the reference to NULL + 0 being made well
defined.Â  It was in the context of library implementations of memset()/etc.

Nevertheless, we've got to cope with it, given our current -std.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:35:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:35:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914456.1320210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt3KG-0002nE-9O; Fri, 14 Mar 2025 11:35:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914456.1320210; Fri, 14 Mar 2025 11:35: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 1tt3KG-0002n7-53; Fri, 14 Mar 2025 11:35:40 +0000
Received: by outflank-mailman (input) for mailman id 914456;
 Fri, 14 Mar 2025 11:35: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt3KE-0002n1-IA
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:35:38 +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 728cfd59-00c8-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 12:35:36 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-38f2f391864so1142935f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:35:36 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb40cdc5sm5295923f8f.80.2025.03.14.04.35.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:35: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: 728cfd59-00c8-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741952136; x=1742556936; 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=0tbA7FFfpQbHDRbUIMNxV0ur4xKx7ECZKozsA70cDPs=;
        b=lWnGfCmIVJIvANe4/EkgkL+8i2G93vxbAedjqG0hgv2d1BeIsOWi/qAfrYFGm/SXpY
         o8peQOkYWoKnDdpUFd3Go4CDik3iJUpSNTMXALmhc06dKIzkWSddl1L9J/oJHxc5Ei4i
         rqUXLAhM3P+I3yQ/BT+nDrTZ6ZCNO6rl+N9Ho=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741952136; x=1742556936;
        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=0tbA7FFfpQbHDRbUIMNxV0ur4xKx7ECZKozsA70cDPs=;
        b=JlKm5pzrXgxnXlyn8bg34S6Z3lX910DFDMCkmuFgc1939kwARMKYVyVLPXPfP2+3hC
         64fUxSJAxNlmI8XxnXNCB4xdcI7fW4pUFknPAk1WAAx+urQnrPhq/LN0zGIZrIWFi1S7
         71U9qT4Lwi0MExDy73+V7QFzfrKjLqwXoo+5VDwmVQf4BmW/pOxY1sM91+4ci8rczRsp
         iXJNg8pEtNfe1K5uktgnqfGy+GKiTJSzEaf/ZK20fwe/MH1Thw42ivQP4XAPx1Uar1Na
         liUxjMYsEdJriXlrxjvaqJ4q5gq8UiKXmCTWhJs8mWpdPl1A7hxpVopjaCyEoEx5rqQc
         M2PA==
X-Forwarded-Encrypted: i=1; AJvYcCVmkfNBUS9VXrvVe8jyEbAk3oEdom0bopwKfbcjSogH40+DQ1tb0Z2sQSNyGfB4ZQnv/kR60oVFptk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzdNChF90yIpVQhI25Y/L7KJFbXbql/v5+6oDLQ7kbiWajd/oIY
	j3cquhai3mcWFkX8gQwQ40/egLw1XkaNrxMB62IL587PP60weACAi+crgvPfc14=
X-Gm-Gg: ASbGnctdjiUnc+VE/0bbAwFJiP0HVsV1SdhIBq4MwpBdf780wL+58Lcjlm3bGzCxApF
	f8OfYkyqe06p0iXUS6IT/jqb9bnDgB6dktHTpaJdjxn167OORFn35W39aKj50rHHrwZmtuGGPnb
	yiKx3nyxGXRr8nqNnGHI3pohO84p5LhamKHl1PMVU241xxn/L4n/3h71cXizBU52AC2ollkzVKv
	WHK6aWqyeFeFblldGx5ehKNHJwOuHv4y5V8+xtybNhe50UDgl7c2zoDUeUIiBgtrk812Kv1wssp
	JcMfQFyp/R/DdxiQeqTZasggEzRVOT1//K6gYrLkcDsTPWl/dEjZlgdZXKSt1rGRHXXag3UOEAS
	ASgYCUKmt
X-Google-Smtp-Source: AGHT+IEQFw7TU+tRDRyQinGCfDFZ6PjD6+2ItfRZxnu9LM0ofY9MPgyRjVYoT64tcitH0MOOkJufVg==
X-Received: by 2002:adf:cb83:0:b0:391:2d8f:dd59 with SMTP id ffacd0b85a97d-3971dae8de5mr2039294f8f.24.1741952135782;
        Fri, 14 Mar 2025 04:35:35 -0700 (PDT)
Message-ID: <82a5c9e4-6498-4c3d-b9a9-7e4425f0bd8f@citrix.com>
Date: Fri, 14 Mar 2025 11:35:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
To: Jan Beulich <jbeulich@suse.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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <6ff81326-762c-46ec-a06a-254ba166433b@citrix.com>
 <b59ea14e-0bce-4c3e-b1fb-021b53af1780@suse.com>
 <d597523c-aa3a-4682-824f-e6e2f8ce753a@citrix.com>
 <61b762d0-d513-4d02-80ac-50fa12a725f3@suse.com>
 <b13543a1-4d43-4e2d-8fcd-08ec60be9dd3@citrix.com>
 <e016d8e7-e662-419f-a181-5bbfdc71764b@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: <e016d8e7-e662-419f-a181-5bbfdc71764b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 6:49 am, Jan Beulich wrote:
> On 13.03.2025 18:03, Andrew Cooper wrote:
>> On 13/03/2025 4:37 pm, Jan Beulich wrote:
>>> On 13.03.2025 17:28, Andrew Cooper wrote:
>>>> On 13/03/2025 2:19 pm, Jan Beulich wrote:
>>>>> On 13.03.2025 14:58, Andrew Cooper wrote:
>>>>>> On 13/03/2025 1:38 pm, Jan Beulich wrote:
>>>>>> I'm tempted to ack this on the basis that it is an improvement, but a /*
>>>>>> TODO this is all mad, please fix */ wouldn't go amiss either.
>>>>> I understand you like adding such comments; I, however, at least
>>>>> sometimes (e.g.) don't. Especially without at least outlining what
>>>>> would need doing. Just saying "this is all mad" doesn't really help
>>>>> very much.
>>>> I was being somewhat flippant.Â  But a /* TODO, try and make this a
>>>> presmp_initcall() to improve alloc_trace_bufs() */ would be fine.
>>> Okay, added (to the existing comment).
>> RISC-V and PPC were both green in the pipeline, so they seem happy.
> As alluded to, not surprising at all, as the tests surely don't supply
> a "tbuf_size=" command line option. Without which init_trace_bufs() does
> close to nothing. Still - thanks for double checking. May I imply an ack
> from this (formally I'll need a separate Arm one then still anyway)?

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:51:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914473.1320219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt3Zm-0008UD-J8; Fri, 14 Mar 2025 11:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914473.1320219; Fri, 14 Mar 2025 11:51: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 1tt3Zm-0008U6-FF; Fri, 14 Mar 2025 11:51:42 +0000
Received: by outflank-mailman (input) for mailman id 914473;
 Fri, 14 Mar 2025 11:51: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt3Zl-0008U0-LY
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:51:41 +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 b0c1dc05-00ca-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 12:51:39 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4394a823036so19151665e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:51:39 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d2010e2d6sm14747385e9.38.2025.03.14.04.51.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 04:51: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: b0c1dc05-00ca-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741953099; x=1742557899; 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=qEJdKHXE6RtavgHtntvlabHtXHCsQrpAhTpDHoqeno0=;
        b=i/yno4a/OuhoiuqvUdtXepKkvRyVKzLmCa7VlPWMmM3BhypWIKSh5aXluO5rat0zK2
         yTYwQkc9dUsYeBKK6KnH6chVtENZbhaqB9MRa8CVqrPXzLr9C8/QYQHN0FgPWl06EBWa
         IbXcaLbdaW5mkQcZpVJNYroU6brnMjhsCut5U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741953099; x=1742557899;
        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=qEJdKHXE6RtavgHtntvlabHtXHCsQrpAhTpDHoqeno0=;
        b=Lv/dwyw25cufDMWeprlrcj93pEyHqjdmQDuQTRxeb1r2lnFiuUWj9MJQXfUW4+uyDU
         61cFDBZbFz6Hu65U4ap4t1ajy+1pqnPzpqv4he8HgD4OLNHTYf0LeASQqzD0SSCB4Sj9
         ynwyFPhhAPqt9RZ0a4lAr/AUgPgN+4EYnAWN1TvK7BjUUOx4dHajQVLUOcayF9UTIh/h
         lD+mtLXcqBGbhtd8hV61ihFmA+kas2nc++4yboQzh5+B7BZe2DdaCUeL97byWnRAXEp0
         sArBlhqxxjhPTjXks/ujUGT+ghDslqpz1OD0d6FBcDjkILhvIezzC8leJIKSS4OG0vwV
         tOYA==
X-Gm-Message-State: AOJu0Yw6k9erpu1jF/cW18a1zG3tN6bBzId+c1LLe27kYLCbnamuIoI3
	449tWOZvYIEXtPG7JFVVZtLi2aBeaap5J3wB+1C1sGMz7fllmQp5iwsBVwVyF8Y=
X-Gm-Gg: ASbGnctCJ4B9H0+drRL/UkGRoDS720tYJ/LFyNResYrn5C5ORlNeCAl2g+K6wHCJYwG
	djgfdlQ34A94WJLEvTdG5L+wI9AEXcHzx/HBO7/4+MPDTTwNdSYYdrhvR+Ee7bL9SNAgwZJKCIz
	mmr1D1XI1507xnvqYMdZi3Uoq7AntoJUpyZafmGbws1u6cItPhbAYU6bHluQYEhYE562W04zgjn
	lzQvZDBv2qBe3/eeDuLTo/OfxxVv5JWx3ZBhQeu378zUX1SXFucP9fPFfxFVlLUIk98A57X8WP7
	H7OMjcMGSdLh/N6sO7BWdrfZ4mskuy0ZM0g1rbgYwKYu0aMcZYnECP0rahKxiNdFjCVsN+4px6D
	4fsXVZBbUk9M1uBf69jE=
X-Google-Smtp-Source: AGHT+IE4P5btkh4L53YO2AF5/aRIr9FYAJQKm4GZIG/ehuJwh6VMMLDN5uDIepSiyJKweizlQ4ImDQ==
X-Received: by 2002:a05:600c:46d1:b0:43c:eec7:eab7 with SMTP id 5b1f17b1804b1-43d1ec81224mr32412935e9.11.1741953099013;
        Fri, 14 Mar 2025 04:51:39 -0700 (PDT)
Message-ID: <a7765286-36d9-4c33-835a-6d836b4ffef6@citrix.com>
Date: Fri, 14 Mar 2025 11:51:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] VT-d: Adjust diagnostics in set_msi_source_id()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>
References: <20250314095523.4096604-1-andrew.cooper3@citrix.com>
 <Z9QB0ymmaygrFFUc@macbook.local>
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: <Z9QB0ymmaygrFFUc@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 10:15 am, Roger Pau MonnĂŠ wrote:
> On Fri, Mar 14, 2025 at 09:55:23AM +0000, Andrew Cooper wrote:
>> Use %pd, and state what the unknown is.  As it's an enum, it's a signed type.
>>
>> Also drop one piece of trailing whitespace.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks.

>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>> ---
>>  xen/drivers/passthrough/vtd/intremap.c | 10 +++++-----
>>  1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
>> index 81394ef45299..9272a2511398 100644
>> --- a/xen/drivers/passthrough/vtd/intremap.c
>> +++ b/xen/drivers/passthrough/vtd/intremap.c
>> @@ -485,15 +485,15 @@ static int set_msi_source_id(const struct pci_dev *pdev,
>>          else
>>          {
>>              dprintk(XENLOG_WARNING VTDPREFIX,
>> -                    "d%d: no upstream bridge for %pp\n",
>> -                    pdev->domain->domain_id, &pdev->sbdf);
>> +                    "%pd: no upstream bridge for %pp\n",
>> +                    pdev->domain, &pdev->sbdf);
>>              return -ENXIO;
>>          }
>>          break;
>>  
>>      default:
>> -        dprintk(XENLOG_WARNING VTDPREFIX, "d%d: unknown(%u): %pp\n",
>> -                pdev->domain->domain_id, pdev->type, &pdev->sbdf);
>> +        dprintk(XENLOG_WARNING VTDPREFIX, "%pd: %pp unknown device type %d\n",
>> +                pdev->domain, &pdev->sbdf, pdev->type);
> Would be nice to have a pdev_type_to_str() or similar helper.

In this case, I think we'd only get UNKNOWN out of it, based on what
else the switch() handles.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 11:58:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 11:58:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914483.1320229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt3fx-0000hY-7n; Fri, 14 Mar 2025 11:58:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914483.1320229; Fri, 14 Mar 2025 11:58: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 1tt3fx-0000hR-4Z; Fri, 14 Mar 2025 11:58:05 +0000
Received: by outflank-mailman (input) for mailman id 914483;
 Fri, 14 Mar 2025 11:58: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=OT8H=WB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tt3fw-0000hL-Be
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 11:58:04 +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 9538a44f-00cb-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 12:58:03 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-ac2c663a3daso410437766b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 04:58:03 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac314a481absm213702966b.155.2025.03.14.04.58.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 04:58: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: 9538a44f-00cb-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741953482; x=1742558282; darn=lists.xenproject.org;
        h=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=diYV6dIuO25gXeIAUwd6amf3ebUeI4QccQeZLYBE8jQ=;
        b=tXIjd3EaxWnhNCW2yA0VzXhnAff4bWsvJF9/ADeaKoqxImzJYtiy981Q+3JKYpKO6/
         WZr1fREscxvGlbnfcKcwoYZq7VeAX5NYOQ7yvKarXpy1dvBSMCT2z5KRo4fpVv2y0gLY
         Zw/XByr1XBcujIy1p/9zj+aco/3xQx/ovIkKo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741953482; x=1742558282;
        h=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=diYV6dIuO25gXeIAUwd6amf3ebUeI4QccQeZLYBE8jQ=;
        b=U2qBjU11I6SUSyR5JRzhH50yIaRvZiGxIQfkrIYiq/wVMaV6vIfAFJhr6iOskdkf4E
         DY9/fDXbdMlCshMAmpQbHJx6mBGwsK57kRATlE7GwaeubssY2ruPBQ6Okjbmln6C33X8
         PvE6ZPT1d1HrfJEWnIG5Ee8fnH5BpAQcfY0E82v9YLFAPipmAND6WhL68lT+gtPwXrpo
         vIU5TGarPmn/YxSaBgDpWUZybaFRl+NT9RRtqzVUNs6B60oi7dhicvyoDB2VrJxsHnMP
         GRWqWBEtkjhm8SoirOtIee1wzPJG0Gy/kBxQVtBj9QZgE4Up8NeJWPgnJlAb04NtkSad
         NXGQ==
X-Gm-Message-State: AOJu0YwqIW1plMg1Ng5Q2NYMiC1luSg8SpMMyMBA5YxEN/sdzu6cIA6s
	fH2Evljx2pcIjRioQAXezk8emGVffRR5qTFN59DXcXIqquzlS1Dd7O2AZIO3vmo=
X-Gm-Gg: ASbGnct6KlYh7VY3bWqVhQIJwuVF+5zrN/km1mb/XQ5uwoDV7UI4wMsPMBGxNaPjjmr
	chejoP+OwNJscavHna71I8Kz8ovEUUozx92znlwymMbVwq3USn0Yy65dedym4QQc0anSYHc5APt
	PjPdPoZM7BWOiV4SH22Y1PmLIjcNYpjGFgYA340qSiTOU3Z2xt2AFQiXNiAjz7BNZiHS1mxLVCR
	wM7xsko0wv4mf8CD6Z3fMaUTl7uMM71EkKSTIOSZ/5sN7gd3AkRhql/CAq88uXBaa6IUNMS3c3L
	KAB0bWgCStNB2Gq9f/5ylNgRydfAKcmVwCFNRrEFuphkmoAqzQ==
X-Google-Smtp-Source: AGHT+IGokwH9TN2+OP4RunZx7cQfcyuwNl8HrCXUjT8j8RbmCR1BAbRxF6n36P6EtF1tKuLZL3U9HQ==
X-Received: by 2002:a17:907:9694:b0:abf:72c1:6e6c with SMTP id a640c23a62f3a-ac3303bce6bmr289987466b.45.1741953482521;
        Fri, 14 Mar 2025 04:58:02 -0700 (PDT)
Date: Fri, 14 Mar 2025 12:58:01 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 6/7] x86/vga: fix mapping of the VGA text buffer
Message-ID: <Z9QZyYUz2qJxjUmp@macbook.local>
References: <20250313153029.93347-1-roger.pau@citrix.com>
 <20250313153029.93347-7-roger.pau@citrix.com>
 <8ce7caae-8bf6-4ba2-8705-399129a411b6@citrix.com>
 <Z9QHU-KozrXR95sL@macbook.local>
 <16149a89-4b77-4498-84a7-66810e6f0815@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <16149a89-4b77-4498-84a7-66810e6f0815@suse.com>

On Fri, Mar 14, 2025 at 12:23:32PM +0100, Jan Beulich wrote:
> On 14.03.2025 11:39, Roger Pau MonnĂŠ wrote:
> > (resending because I seem to have inadvertently corrupted the Cc field)
> > 
> > On Thu, Mar 13, 2025 at 07:39:58PM +0000, Andrew Cooper wrote:
> >> On 13/03/2025 3:30 pm, Roger Pau Monne wrote:
> >>> The call to ioremap_wc() in video_init() will always fail, because
> >>> video_init() is called ahead of vm_init_type(), and so the underlying
> >>> __vmap() call will fail to allocate the linear address space.
> >>>
> >>> Fix by reverting to the previous behavior and using the directmap entries
> >>> in the low 1MB.  Note the VGA text buffer directmap entries are also
> >>> adjusted to map the VGA text buffer as WC instead of UC-.
> >>>
> >>> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> >>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >>> ---
> >>>  xen/arch/x86/boot/x86_64.S        | 10 +++++++---
> >>>  xen/arch/x86/include/asm/config.h |  5 +++++
> >>>  xen/drivers/video/vga.c           | 11 ++++++++---
> >>>  3 files changed, 20 insertions(+), 6 deletions(-)
> >>>
> >>> diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
> >>> index 26b9d1c2df9a..07f4bdf46e31 100644
> >>> --- a/xen/arch/x86/boot/x86_64.S
> >>> +++ b/xen/arch/x86/boot/x86_64.S
> >>> @@ -84,15 +84,19 @@ ENTRY(__high_start)
> >>>  /*
> >>>   * Mapping of first 2 megabytes of memory. This is mapped with 4kB mappings
> >>>   * to avoid type conflicts with fixed-range MTRRs covering the lowest megabyte
> >>> - * of physical memory. In any case the VGA hole should be mapped with type UC.
> >>> + * of physical memory. VGA hole should be mapped with type UC, with the
> >>> + * exception of the text buffer that uses WC.
> >>>   * Uses 1x 4k page.
> >>>   */
> >>>  l1_directmap:
> >>>          pfn = 0
> >>>          .rept L1_PAGETABLE_ENTRIES
> >>> -        /* VGA hole (0xa0000-0xc0000) should be mapped UC-. */
> >>> -        .if pfn >= 0xa0 && pfn < 0xc0
> >>> +        /* VGA hole (0xa0000-0xb8000) should be mapped UC-. */
> >>> +        .if pfn >= 0xa0 && pfn < 0xb8
> >>>          .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_UCMINUS | _PAGE_GLOBAL | MAP_SMALL_PAGES
> >>> +        /* VGA text buffer (0xb80000-0xc0000) should be mapped WC. */
> >>> +        .elseif pfn >= 0xb8 && pfn < 0xc0
> >>> +        .quad (pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR_WC | _PAGE_GLOBAL | MAP_SMALL_PAGES
> >>>          .else
> >>>          .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR_RWX | MAP_SMALL_PAGES
> >>>          .endif
> >>
> >> We have to be careful doing this.
> >>
> >> It probably is safe to use WC in the pagetables.Â  We don't start using
> >> the pagetables until after we're sure we're on a 64bit CPU, which means
> >> WC is available.
> >>
> >> However, doing so now means that we need explicit SFENCE's when using
> >> this, even in places like early_error.Â  The IN/OUT instructions do flush
> >> WC buffers, but the UART is written to before the screen, so there's a
> >> chance that you'll lose the final character of the message on the screen.
> > 
> > I don't think early_error will ever use this mapping.
> > 
> > `vga_text_buffer` contains the address 0xb8000, and AFAICT it's
> > exclusively used with paging disabled (as the multiboot2 efi path
> > explicitly sets vga_text_buffer = 0).  The WC mapping created above is
> > on the directmap, so va > DIRECTMAP_VIRT_START.
> > 
> > vga_text_puts() might need such SFENCE, but arguably that should be a
> > different patch IMO.  Might be best to ask Jan whether this is on
> > purpose?
> 
> I think that was wrongly omitted before already.

OK, so we should likely have an SFENCE in vga_text_puts() then.

> > My hypothesis is that the SFENCE might only be needed in
> > video_endboot() and before reboot if Xen crashed ahead of
> > relinquishing the VGA console.
> 
> This might suffice for being able to see the final picture, but it may
> result in display artifacts earlier on.
> 
> Question is whether simply undoing the ioremap_wc() (for not functioning
> correctly) isn't going to be good enough.

Yeah, that was indeed my first approach, as I was under the impression
that not use WC wouldn't make that much of a difference in the text
buffer (as opposed to not using WC for the frame buffer).  But then I
saw that making the directmap mappings of the text buffer WC wasn't
that complicated.

> Prior to the change to use that,
> we had been using UC- quite okay (even if a bit slow). An option may be
> to make a WC mapping a little later, when __vmap() is usable.

Hm, yes, that's another possibility, albeit it seems to add even more
complexity, for a display mode that I assume is not that used anymore.
Otherwise someone would have complained of not getting any output
since 81d195c6c0e2?

If there are no further objections I will just revert to use ioremap()
and leave it like that.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 12:18:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 12:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914511.1320259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt403-0007Dy-KN; Fri, 14 Mar 2025 12:18:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914511.1320259; Fri, 14 Mar 2025 12: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 1tt403-0007Dr-Gx; Fri, 14 Mar 2025 12:18:51 +0000
Received: by outflank-mailman (input) for mailman id 914511;
 Fri, 14 Mar 2025 12:18: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tt402-0006iW-Tk
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 12:18:50 +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 7bea831e-00ce-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 13:18:49 +0100 (CET)
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 B48A41F388;
 Fri, 14 Mar 2025 12: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 8A72A13A31;
 Fri, 14 Mar 2025 12: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 dM5UIKge1GfJCwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 14 Mar 2025 12: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: 7bea831e-00ce-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954728; 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=+eFCbY7DsCtfAuQbPeqCHIbF56bqESfck78BJUKIB00=;
	b=fP6VvWHj35b6Bj+Vv1bOLUM1sbK2rg7ev+2bMo2saxUFPDG1PcOGVltmqZ4ztTyYuK9Nvv
	EWf/6PAkOS3uPHRikKLD8hkgF7Xc08lxOS28otQYiZQFmEnOHpRTAUGZ6TzZF97RQIQ39l
	Go9n8T6pxaGVCds7RSXjooydYo+3tzs=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954728; 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=+eFCbY7DsCtfAuQbPeqCHIbF56bqESfck78BJUKIB00=;
	b=fP6VvWHj35b6Bj+Vv1bOLUM1sbK2rg7ev+2bMo2saxUFPDG1PcOGVltmqZ4ztTyYuK9Nvv
	EWf/6PAkOS3uPHRikKLD8hkgF7Xc08lxOS28otQYiZQFmEnOHpRTAUGZ6TzZF97RQIQ39l
	Go9n8T6pxaGVCds7RSXjooydYo+3tzs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v9 2/3] tools/xenstored: use unique_id to identify new domain with same domid
Date: Fri, 14 Mar 2025 13:18:34 +0100
Message-ID: <20250314121835.1879-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250314121835.1879-1-jgross@suse.com>
References: <20250314121835.1879-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)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Use the new unique_id of a domain in order to detect that a domain
has been replaced with another one reusing the doamin-id of the old
domain.

While changing the related code, switch from "dom_invalid" to
"dom_valid" in order to avoid double negation and use "bool" as type
for it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V8:
- new patch
V9:
- adapt to different LU-record layout
- "dom_invalid" -> "dom_valid" (Jason Andryuk)
---
 tools/xenstored/domain.c         | 65 ++++++++++++++++++++++++++------
 tools/xenstored/xenstore_state.h |  3 +-
 2 files changed, 55 insertions(+), 13 deletions(-)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index a6506a5bb2..fc0992d3a5 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -110,6 +110,7 @@ struct domain
 {
 	/* The id of this domain */
 	unsigned int domid;
+	uint64_t unique_id;
 
 	/* Event channel port */
 	evtchn_port_t port;
@@ -624,18 +625,26 @@ static int check_domain(const void *k, void *v, void *arg)
 {
 	unsigned int state;
 	struct connection *conn;
-	int dom_invalid;
+	bool dom_valid;
 	struct domain *domain = v;
 	bool *notify = arg;
+	uint64_t unique_id;
+
+	dom_valid = !xenmanage_get_domain_info(xm_handle, domain->domid,
+					       &state, &unique_id);
+	if (dom_valid) {
+		if (!domain->unique_id)
+			domain->unique_id = unique_id;
+		else if (domain->unique_id != unique_id)
+			dom_valid = false;
+	}
 
-	dom_invalid = xenmanage_get_domain_info(xm_handle, domain->domid,
-						&state, NULL);
 	if (!domain->introduced) {
-		if (dom_invalid)
+		if (!dom_valid)
 			talloc_free(domain);
 		return 0;
 	}
-	if (!dom_invalid) {
+	if (dom_valid) {
 		if ((state & XENMANAGE_GETDOMSTATE_STATE_SHUTDOWN)
 		    && !domain->shutdown) {
 			domain->shutdown = true;
@@ -747,7 +756,8 @@ int domain_max_global_acc(const void *ctx, struct connection *conn)
 	return 0;
 }
 
-static struct domain *alloc_domain(const void *context, unsigned int domid)
+static struct domain *alloc_domain(const void *context, unsigned int domid,
+				   uint64_t unique_id)
 {
 	struct domain *domain;
 
@@ -758,6 +768,7 @@ static struct domain *alloc_domain(const void *context, unsigned int domid)
 	}
 
 	domain->domid = domid;
+	domain->unique_id = unique_id;
 	domain->generation = generation;
 	domain->introduced = false;
 
@@ -777,16 +788,27 @@ static struct domain *find_or_alloc_domain(const void *ctx, unsigned int domid)
 	struct domain *domain;
 
 	domain = find_domain_struct(domid);
-	return domain ? : alloc_domain(ctx, domid);
+	/* If domain not already known, use unique_id = 0 meaning "unknown". */
+	return domain ? : alloc_domain(ctx, domid, 0);
 }
 
 static struct domain *find_or_alloc_existing_domain(unsigned int domid)
 {
 	struct domain *domain;
+	uint64_t unique_id = 0;
+	bool dom_valid = true;
 
 	domain = find_domain_struct(domid);
-	if (!domain && !xenmanage_get_domain_info(xm_handle, domid, NULL, NULL))
-		domain = alloc_domain(NULL, domid);
+	if (!domain || !domain->unique_id)
+		dom_valid = !xenmanage_get_domain_info(xm_handle, domid,
+						       NULL, &unique_id);
+
+	if (dom_valid) {
+		if (!domain)
+			domain = alloc_domain(NULL, domid, unique_id);
+		else if (unique_id)
+			domain->unique_id = unique_id;
+	}
 
 	return domain;
 }
@@ -1321,15 +1343,16 @@ int domain_alloc_permrefs(struct node_perms *perms)
 {
 	unsigned int i, domid;
 	struct domain *d;
+	uint64_t unique_id;
 
 	for (i = 0; i < perms->num; i++) {
 		domid = perms->p[i].id;
 		d = find_domain_struct(domid);
 		if (!d) {
 			if (xenmanage_get_domain_info(xm_handle, domid,
-						      NULL, NULL))
+						      NULL, &unique_id))
 				perms->p[i].perms |= XS_PERM_IGNORE;
-			else if (!alloc_domain(NULL, domid))
+			else if (!alloc_domain(NULL, domid, unique_id))
 				return ENOMEM;
 		}
 	}
@@ -1697,12 +1720,14 @@ const char *dump_state_connections(FILE *fp)
 	struct xs_state_record_header head;
 	struct connection *c;
 
+	BUILD_BUG_ON(sizeof(c->domain->unique_id) != sizeof(uint64_t));
+
 	list_for_each_entry(c, &connections, list) {
 		head.type = XS_STATE_TYPE_CONN;
 		head.length = sizeof(sc);
 
 		sc.conn_id = conn_id++;
-		sc.pad = 0;
+		sc.fields = 0;
 		memset(&sc.spec, 0, sizeof(sc.spec));
 		if (c->domain) {
 			sc.conn_type = XS_STATE_CONN_TYPE_RING;
@@ -1720,6 +1745,10 @@ const char *dump_state_connections(FILE *fp)
 			return ret;
 		head.length += sc.data_in_len + sc.data_out_len;
 		head.length = ROUNDUP(head.length, 3);
+		if (c->domain) {
+			sc.fields |= XS_STATE_CONN_FIELDS_UNIQ_ID;
+			head.length += sizeof(uint64_t);
+		}
 		if (fwrite(&head, sizeof(head), 1, fp) != 1)
 			return "Dump connection state error";
 		if (fwrite(&sc, offsetof(struct xs_state_connection, data),
@@ -1731,6 +1760,9 @@ const char *dump_state_connections(FILE *fp)
 		ret = dump_state_align(fp);
 		if (ret)
 			return ret;
+		if (c->domain &&
+		    fwrite(&c->domain->unique_id, sizeof(uint64_t), 1, fp) != 1)
+			return "Dump connection state error";
 
 		ret = dump_state_watches(fp, c, sc.conn_id);
 		if (ret)
@@ -1748,6 +1780,7 @@ void read_state_connection(const void *ctx, const void *state)
 
 	if (sc->conn_type == XS_STATE_CONN_TYPE_SOCKET) {
 		conn = add_socket_connection(sc->spec.socket_fd);
+		domain = NULL;
 	} else {
 		domain = introduce_domain(ctx, sc->spec.ring.domid,
 					  sc->spec.ring.evtchn, true);
@@ -1778,6 +1811,14 @@ void read_state_connection(const void *ctx, const void *state)
 	conn->conn_id = sc->conn_id;
 
 	read_state_buffered_data(ctx, conn, sc);
+
+	/* Validity of unique_id will be tested by check_domains() later. */
+	if ((sc->fields & XS_STATE_CONN_FIELDS_UNIQ_ID) && domain) {
+		unsigned long off;
+
+		off = sizeof(*sc) + sc->data_in_len + sc->data_out_len;
+		domain->unique_id = *(uint64_t *)(state + ROUNDUP(off, 3));
+	}
 }
 
 struct domain_acc {
diff --git a/tools/xenstored/xenstore_state.h b/tools/xenstored/xenstore_state.h
index ae0d053c8f..bad966caf4 100644
--- a/tools/xenstored/xenstore_state.h
+++ b/tools/xenstored/xenstore_state.h
@@ -74,7 +74,8 @@ struct xs_state_connection {
     uint16_t conn_type;
 #define XS_STATE_CONN_TYPE_RING   0
 #define XS_STATE_CONN_TYPE_SOCKET 1
-    uint16_t pad;
+    uint16_t fields;
+#define XS_STATE_CONN_FIELDS_UNIQ_ID 0x0001
     union {
         struct {
             uint16_t domid;  /* Domain-Id. */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 12:18:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 12:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914507.1320238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt3zu-0006ij-4o; Fri, 14 Mar 2025 12:18:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914507.1320238; Fri, 14 Mar 2025 12:18: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 1tt3zu-0006ic-2H; Fri, 14 Mar 2025 12:18:42 +0000
Received: by outflank-mailman (input) for mailman id 914507;
 Fri, 14 Mar 2025 12:18: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tt3zs-0006iW-Jg
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 12:18:40 +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 756b2b07-00ce-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 13:18:38 +0100 (CET)
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 6F9321F388;
 Fri, 14 Mar 2025 12:18:37 +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 2880D13A31;
 Fri, 14 Mar 2025 12:18:37 +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 wOdyCJ0e1Ge2CwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 14 Mar 2025 12:18: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: 756b2b07-00ce-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954717; 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=dIoBnEUjssU9tmFGZWOsci8r9U3D2IS7v+YD3geA9sc=;
	b=qUCwLUyI92s7gsBRjaF80S2nw6rcKL/0vfrpvhV8uBLFoJpGK3gPb1hwStt2KOrLr9KWq9
	p28Pjet5VdTFpDTgeNSqXhKvwNP+zfkQ568NDx0g6fmXDVdVWO/DCGgWZAfGp21K9dhNN5
	zo9rpeFmM2L3JJ0gT1/jHT26vGMMgg0=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=qUCwLUyI
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954717; 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=dIoBnEUjssU9tmFGZWOsci8r9U3D2IS7v+YD3geA9sc=;
	b=qUCwLUyI92s7gsBRjaF80S2nw6rcKL/0vfrpvhV8uBLFoJpGK3gPb1hwStt2KOrLr9KWq9
	p28Pjet5VdTFpDTgeNSqXhKvwNP+zfkQ568NDx0g6fmXDVdVWO/DCGgWZAfGp21K9dhNN5
	zo9rpeFmM2L3JJ0gT1/jHT26vGMMgg0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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 v9 0/3] xenstored: use new libxenmanage functionality
Date: Fri, 14 Mar 2025 13:18:32 +0100
Message-ID: <20250314121835.1879-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 6F9321F388
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[9];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

The new libxenmanage interfaces make it possible to:

- detect that a domid has been recycled
- avoid having to query all known domains when one of them has changed
  state

Use those interfaces in xenstored in order to make it more efficient and
failure proof.

Changes in V2:
- new patch 1
- former patch 5 mover earlier, now patch 2 (can go in without the rest
  of the series)
- addressed comments

Changes in V3:
- addressed comments

Changes in V4:
- patches 1 and 3 of V3 dropped, as already committed
- addressed comments

Changes in V5:
- addressed comments

Changes in V6:
- patch 1 of V5 has been committed
- new patches 1-3 for fixing a race and avoiding new races with the
  added functionality (result of a comment by Jan Beulich)
- rework of locking in patch 4 (Jan Beulich)

Changes in V7:
- addressed comments
- rebase

Changes in V8:
- patch 1 of v7 has gone in
- addressed comments
- new patches 7-9 using the new unique_id and xenmanage_poll_changed_domain()

Changes in V9:
- all but the last three patches of v8 have gone in
- addressed comments

Juergen Gross (3):
  docs: update xenstore migration stream definition
  tools/xenstored: use unique_id to identify new domain with same domid
  tools/xenstored: use xenmanage_poll_changed_domain()

 docs/designs/xenstore-migration.md |  18 ++++-
 tools/xenstored/domain.c           | 113 +++++++++++++++++++++++------
 tools/xenstored/xenstore_state.h   |   3 +-
 3 files changed, 110 insertions(+), 24 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 12:18:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 12:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914509.1320249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt3zx-0006wp-CR; Fri, 14 Mar 2025 12:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914509.1320249; Fri, 14 Mar 2025 12: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 1tt3zx-0006wi-9W; Fri, 14 Mar 2025 12:18:45 +0000
Received: by outflank-mailman (input) for mailman id 914509;
 Fri, 14 Mar 2025 12:18: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tt3zw-0006wN-Ty
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 12:18:44 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78891e83-00ce-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 13:18:43 +0100 (CET)
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 286EA1F388;
 Fri, 14 Mar 2025 12:18:43 +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 D409013A31;
 Fri, 14 Mar 2025 12:18: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 cxtWMqIe1GfACwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 14 Mar 2025 12:18: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: 78891e83-00ce-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954723; 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=esiwXzc9PHfQnKlTtqU8EK6xpW0IzUDROStSboRbjcA=;
	b=PziASxT6u3BrusL8wM3c5F5qjsbxCj0dJFabUju7ttCnp/Wn86H9m5MPHA36wOEze/RYtQ
	+qczIu+wNrVBLi7sTQR565wd4xPYVrRUR8plAtdcu4QqSnJWPsKZtSlGzfkz2bx2UeQ9pd
	EZ2ikLcVPXFg0wbMVzcAfu9/wbf59Ew=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954723; 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=esiwXzc9PHfQnKlTtqU8EK6xpW0IzUDROStSboRbjcA=;
	b=PziASxT6u3BrusL8wM3c5F5qjsbxCj0dJFabUju7ttCnp/Wn86H9m5MPHA36wOEze/RYtQ
	+qczIu+wNrVBLi7sTQR565wd4xPYVrRUR8plAtdcu4QqSnJWPsKZtSlGzfkz2bx2UeQ9pd
	EZ2ikLcVPXFg0wbMVzcAfu9/wbf59Ew=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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 v9 1/3] docs: update xenstore migration stream definition
Date: Fri, 14 Mar 2025 13:18:33 +0100
Message-ID: <20250314121835.1879-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250314121835.1879-1-jgross@suse.com>
References: <20250314121835.1879-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)[99.99%];
	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];
	RCPT_COUNT_SEVEN(0.00)[9];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

In order to close a race window for Xenstore live update when using
the new unique_id of domains, the migration stream needs to contain
this unique_id for each domain known by Xenstore.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V8:
- new patch
V9:
- instead of using an offset, use a flag for unique_id presence
  (Julien Grall)
---
 docs/designs/xenstore-migration.md | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/docs/designs/xenstore-migration.md b/docs/designs/xenstore-migration.md
index 082314bf72..a0acd76ce1 100644
--- a/docs/designs/xenstore-migration.md
+++ b/docs/designs/xenstore-migration.md
@@ -156,7 +156,7 @@ the domain being migrated.
 ```
     0       1       2       3       4       5       6       7    octet
 +-------+-------+-------+-------+-------+-------+-------+-------+
-| conn-id                       | conn-type     |               |
+| conn-id                       | conn-type     | fields        |
 +-------------------------------+---------------+---------------+
 | conn-spec
 ...
@@ -165,6 +165,9 @@ the domain being migrated.
 +---------------+---------------+-------------------------------+
 | data
 ...
++---------------------------------------------------------------+
+| unique-id                                                     |
++---------------------------------------------------------------+
 ```
 
 
@@ -178,6 +181,16 @@ the domain being migrated.
 |                | 0x0001: socket                               |
 |                | 0x0002 - 0xFFFF: reserved for future use     |
 |                |                                              |
+| `fields`       | A collection of flags indicating presence    |
+|                | of additional fields after the variable      |
+|                | length `data` part. The additional fields    |
+|                | will start after a possible padding for      |
+|                | aligning to a 8 octet boundary.              |
+|                | Defined flag values (to be or-ed):           |
+|                | 0x0001: `unique_id` present (only needed for |
+|                |         `shared ring` connection in live     |
+|                |         update streams).                     |
+|                |                                              |
 | `conn-spec`    | See below                                    |
 |                |                                              |
 | `in-data-len`  | The length (in octets) of any data read      |
@@ -193,6 +206,9 @@ the domain being migrated.
 | `data`         | Pending data: first in-data-len octets of    |
 |                | read data, then out-data-len octets of       |
 |                | written data (any of both may be empty)      |
+|                |                                              |
+| `unique-id`    | Unique identifier of a domain                |
+|                |                                              |
 
 In case of live update the connection record for the connection via which
 the live update command was issued will contain the response for the live
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 12:18:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 12:18:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914515.1320269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt408-0007YI-RV; Fri, 14 Mar 2025 12:18:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914515.1320269; Fri, 14 Mar 2025 12: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 1tt408-0007Y9-OY; Fri, 14 Mar 2025 12:18:56 +0000
Received: by outflank-mailman (input) for mailman id 914515;
 Fri, 14 Mar 2025 12: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tt407-0006iW-Fv
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 12:18:55 +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 7f46675b-00ce-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 13:18:54 +0100 (CET)
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 620372118D;
 Fri, 14 Mar 2025 12:18:54 +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 2DCDA13A31;
 Fri, 14 Mar 2025 12:18:54 +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 YSiiCa4e1GfWCwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 14 Mar 2025 12:18: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: 7f46675b-00ce-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954734; 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=YqzvRpLTostQf0fTMpyDCrvUsh96HJYYxPOD2f3Tjx8=;
	b=Zsrv0/JfpQie4QQ/AgtSQfPBhue18HOkSBaOc0krh6JFv9CapwePHWDar3AG82xx3aAe3R
	pD2y3+6MqFA2+O6NqcG4IWTnDWXT4XlR3SaGcA1VaOfwDR3E1okWyj9exAQQ6AO3XGJkH/
	AnvVAiBqwsRMbkT9+hGsGIpGNgtQHk4=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b="Zsrv0/Jf"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1741954734; 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=YqzvRpLTostQf0fTMpyDCrvUsh96HJYYxPOD2f3Tjx8=;
	b=Zsrv0/JfpQie4QQ/AgtSQfPBhue18HOkSBaOc0krh6JFv9CapwePHWDar3AG82xx3aAe3R
	pD2y3+6MqFA2+O6NqcG4IWTnDWXT4XlR3SaGcA1VaOfwDR3E1okWyj9exAQQ6AO3XGJkH/
	AnvVAiBqwsRMbkT9+hGsGIpGNgtQHk4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v9 3/3] tools/xenstored: use xenmanage_poll_changed_domain()
Date: Fri, 14 Mar 2025 13:18:35 +0100
Message-ID: <20250314121835.1879-4-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250314121835.1879-1-jgross@suse.com>
References: <20250314121835.1879-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 620372118D
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:email,suse.com:dkim,suse.com:mid];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[5];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

Instead of checking each known domain after having received a
VIRQ_DOM_EXC event, use the new xenmanage_poll_changed_domain()
function for directly getting the domid of a domain having changed
its state.

A test doing "xl shutdown" of 1000 guests has shown to reduce the
consumed cpu time of xenstored by 6% with this change applied.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
V8:
- new patch
---
 tools/xenstored/domain.c | 64 +++++++++++++++++++++++++++++-----------
 1 file changed, 46 insertions(+), 18 deletions(-)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index fc0992d3a5..e1d5e8d614 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -621,30 +621,24 @@ static int destroy_domain(void *_domain)
 	return 0;
 }
 
-static int check_domain(const void *k, void *v, void *arg)
+static int do_check_domain(struct domain *domain, bool *notify,
+			   unsigned int state, uint64_t unique_id)
 {
-	unsigned int state;
 	struct connection *conn;
-	bool dom_valid;
-	struct domain *domain = v;
-	bool *notify = arg;
-	uint64_t unique_id;
 
-	dom_valid = !xenmanage_get_domain_info(xm_handle, domain->domid,
-					       &state, &unique_id);
-	if (dom_valid) {
+	if (unique_id) {
 		if (!domain->unique_id)
 			domain->unique_id = unique_id;
 		else if (domain->unique_id != unique_id)
-			dom_valid = false;
+			unique_id = 0;
 	}
 
 	if (!domain->introduced) {
-		if (!dom_valid)
+		if (!unique_id)
 			talloc_free(domain);
 		return 0;
 	}
-	if (dom_valid) {
+	if (unique_id) {
 		if ((state & XENMANAGE_GETDOMSTATE_STATE_SHUTDOWN)
 		    && !domain->shutdown) {
 			domain->shutdown = true;
@@ -667,6 +661,21 @@ static int check_domain(const void *k, void *v, void *arg)
 	return 0;
 }
 
+static int check_domain(const void *k, void *v, void *arg)
+{
+	struct domain *domain = v;
+	unsigned int state;
+	uint64_t unique_id;
+
+	if (xenmanage_get_domain_info(xm_handle, domain->domid, &state,
+				      &unique_id)) {
+		unique_id = 0;
+		state = 0;
+	}
+
+	return do_check_domain(domain, arg, state, unique_id);
+}
+
 void check_domains(void)
 {
 	bool notify = false;
@@ -678,6 +687,30 @@ void check_domains(void)
 		fire_special_watches("@releaseDomain");
 }
 
+static struct domain *find_domain_struct(unsigned int domid)
+{
+	return hashtable_search(domhash, &domid);
+}
+
+static void do_check_domains(void)
+{
+	unsigned int domid;
+	unsigned int state;
+	uint64_t unique_id;
+	struct domain *domain;
+	bool notify = false;
+
+	while (!xenmanage_poll_changed_domain(xm_handle, &domid, &state,
+					      &unique_id)) {
+		domain = find_domain_struct(domid);
+		if (domain)
+			do_check_domain(domain, &notify, state, unique_id);
+	}
+
+	if (notify)
+		fire_special_watches("@releaseDomain");
+}
+
 /* We scan all domains rather than use the information given here. */
 void handle_event(void)
 {
@@ -687,7 +720,7 @@ void handle_event(void)
 		barf_perror("Failed to read from event fd");
 
 	if (port == virq_port)
-		check_domains();
+		do_check_domains();
 
 	if (xenevtchn_unmask(xce_handle, port) == -1)
 		barf_perror("Failed to write to event fd");
@@ -698,11 +731,6 @@ static char *talloc_domain_path(const void *context, unsigned int domid)
 	return talloc_asprintf(context, "/local/domain/%u", domid);
 }
 
-static struct domain *find_domain_struct(unsigned int domid)
-{
-	return hashtable_search(domhash, &domid);
-}
-
 int domain_get_quota(const void *ctx, struct connection *conn,
 		     unsigned int domid)
 {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 12:58:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 12:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914557.1320278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt4cN-0002W1-QZ; Fri, 14 Mar 2025 12:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914557.1320278; Fri, 14 Mar 2025 12: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 1tt4cN-0002Vu-Nz; Fri, 14 Mar 2025 12:58:27 +0000
Received: by outflank-mailman (input) for mailman id 914557;
 Fri, 14 Mar 2025 12:58: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=3qFj=WB=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tt4cL-0002Vo-T8
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 12:58:26 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2412::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02fb0d4a-00d4-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 13:58:23 +0100 (CET)
Received: from MW3PR06CA0002.namprd06.prod.outlook.com (2603:10b6:303:2a::7)
 by DS0PR12MB8270.namprd12.prod.outlook.com (2603:10b6:8:fe::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Fri, 14 Mar
 2025 12:58:15 +0000
Received: from SJ5PEPF00000208.namprd05.prod.outlook.com
 (2603:10b6:303:2a:cafe::8) by MW3PR06CA0002.outlook.office365.com
 (2603:10b6:303:2a::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.26 via Frontend Transport; Fri,
 14 Mar 2025 12:58:15 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Fri, 14 Mar 2025 12:58:14 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 14 Mar
 2025 07:58:14 -0500
Received: from [172.19.213.155] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 14 Mar 2025 07:58:13 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02fb0d4a-00d4-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hU/qvvMCzouYqW1AXYVih1Kc+xlxEct5WCo+ZGbVAWtAX5QqbGDooX4OlAWOFDyBHsf5q4LWL6lWgy1Z8uSX1HZcL2+ngW/UHcrA+FUM+xLAIOCxO44dT7LA1hdpoNgvPLptJI/6GNWjLAS5/2nyRbOLCFO5qnPaMlC1sXCAd+b8phUKaT1ds3MWjH+nXlHBwgAtoK8nX33LiL9xP7qxWQoVjChNrV9PWByznzr2xQsv1o0yuOyDVTT56E8zaxmTLpU78/TfHb3l8e6sD2b30rqhXKQQ3hKtaH8mQBfnZZndcacODt8okUnMjEnLN/mN0uCRZUpEDgmMagXpvIXC5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xFOLi0UTvjw25NFi2GoIi3wrylRvqqhM+2dOk51oVZs=;
 b=M0rSPzfOBl24+OwlcKgHxVA+uCPOTyIHmcLg9pY98hK3sqm06cOB46dhFIyC+XNZCQBqwIwZcFN7FD0FgoAGhOOz3X3BgNK0/isHRMJzeCJ4Q8JqeIPj+eYZ81J7whOfbY0xOt4QA6ITVWi2oZgPXJRr/t8Apy2gjE7b7Gc6w3dO1vVwMWOYLe1mAS1baLzzPZ+5o0RU7pQ6Rwdzjc6c4wew5hQRICwPDOUXCQ3h++TdwqAF3Dqx2P2lBHrIhQ9xXMNoyRhxHJr3lx1ib3FC6x6vQMwLMdKsmUv44p8WFB96oXp5xZpa7X+A03x77Uf9PP1z59apyrjviJck0uDdKA==
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=xFOLi0UTvjw25NFi2GoIi3wrylRvqqhM+2dOk51oVZs=;
 b=1n42Sw7zFBePENjwesRkEkpoWhxrgewcLcUuXa7e3iDcGLnZlVCWKIZIySCh7inLVDJkTzKNj0jX0dE3gFvUX5LaLE5oXkjRMTRnuqmDRVRMOshbCUT923oLhRTfhrdM5oAyK18Ft3ErUgHRyetHZyVdj6WAUEqu28d/jQYUjII=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <ad4dc21c-c674-4e17-adac-b44aafff6149@amd.com>
Date: Fri, 14 Mar 2025 08:58:09 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 2/3] tools/xenstored: use unique_id to identify new
 domain with same domid
To: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250314121835.1879-1-jgross@suse.com>
 <20250314121835.1879-3-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250314121835.1879-3-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF00000208:EE_|DS0PR12MB8270:EE_
X-MS-Office365-Filtering-Correlation-Id: 61c1f1b8-4b0d-4932-9046-08dd62f7e24c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SzhFN2NQK1gxelZiblRoa1A4cXcwQjQwVkc5TlVzSmNqbFd5R2dLTXZpZXR3?=
 =?utf-8?B?Rld5c3BocWJwem5LMXJXbEVHMU1KV3BEMjRtKytJUHUxUTl6ejRVZUQ3ZmJq?=
 =?utf-8?B?bHUxVGdHM0lHM3l6OWlTLzhZMENWSjFXQitsSktYSEJPTHN5UUU3b05BNFJz?=
 =?utf-8?B?dVB1VE1rMUdPSGFzbWNQNTZ2VWl4d1FtQ3ZZMDYrTXBCbWpFcEFJVXFJZzRB?=
 =?utf-8?B?Tjd3SXczOTVVbkQrZ1RyQmxXeEFjNkkvS1ZtRlcxY2pWZTJRaDBsVHhhL1pJ?=
 =?utf-8?B?SVA3dXJwblRNS0FJcjdDY2NVTW9WQW9FbWFGQ2dSeDlPRlBIK0thMVBSVm5z?=
 =?utf-8?B?SEowbFpOSHQ0MVovMS9zOTdNMTNnMUlMZmNIbkU3Qzk2d29TK1htK1VLSDVI?=
 =?utf-8?B?S3JXVmlhR05HOWxTNnNSUkR2K0pLWU8rU2FmY1U0ME52TllIU1ZaNlo2QVFO?=
 =?utf-8?B?K1lZRXRiWkZ2VllySGJzZjFoYXl0cWxXM1JhOUtvMGwvVHBzeWVsbzZVczlt?=
 =?utf-8?B?N3lIWnFnT2FUbjhmdmtYcmVESldlS3ZreFBGbVY0MWFqZWRNTGttK3NDUVRt?=
 =?utf-8?B?S3ExUkxrYXpZWm5PczdacFJNbm0zTThXT3l0VGMxeEJFakZFeGJLK3Z4bEZQ?=
 =?utf-8?B?RTBJRFZ4M1J6WWpNV3VEajA3akNZdkVGOUk2empsN3A1bzk2VlB0cW5Oc3dp?=
 =?utf-8?B?M2g3S1ZJdHk5SjgxRTFvaHBGVTd2SDlUR1AwcFFsblNBSVdLTGRva1BOalRv?=
 =?utf-8?B?dUdYdWUyTDFUMG5FanBuSHZHTThaSWVHN0hXYlp1M0NPK3Y3b20xM3VyMGpn?=
 =?utf-8?B?QTY0alJ5SXBFTE1DaU84YmlRL0J0YTU3U1Z2TEk1WTVkS0wwS0xnODFxaHRS?=
 =?utf-8?B?eElnNEtIUHB2eEZqRENUS2dXd0dWcFpiZDZCWXZYQTBEWWZjbGhsNDN0Y1h4?=
 =?utf-8?B?Tmo1dkl4ai9FQTRkUjlrcmFpZkhGMG5zbE96K3JRSWpFR0JmVVFIbWhmWTRr?=
 =?utf-8?B?UkVTRVBENm1nRVhLbGJ3UE1vQUdiWlhsRmNqaVFldVNLUWQ1M1JySDJ4YTBo?=
 =?utf-8?B?b3B5bEdqK09iTUUvaDZkYldCeEY2V1JvL1hiWDJadVprZUZjL3ZoUWRQZVhp?=
 =?utf-8?B?UkxLcU9OMGNjQ3hBcG1jNEFoU21pUDFIcUVhSmJOMG0vcWpzQ291RTJoNUtY?=
 =?utf-8?B?OU9FZG91R3o5R0p2TStKWlpieVhhYzFpRjVFR1VqSGZ2QnRIdUl3VGZsQnVP?=
 =?utf-8?B?ZzNydFB1Sk0yclQ4dkxOZlRKcDFtaE5PNHhmdFIzTVlnaEE3WGdRbzQ0UFZk?=
 =?utf-8?B?anR1c25CQzQvRDRsMk1Jbm1QWFpibm9TWEE1ZjJoVnoxSzI4TFFscnZOWE4r?=
 =?utf-8?B?VTdjRFo0NmYzOEp6Ri9FaDZiSWdlRW15S2RjcXdJT0Fza2FiUHk5aEt4dHp5?=
 =?utf-8?B?Y0pqWk9hUUlPZFExVStEYWpHeUs4N1NGMXRLZWFsK3V4SUdYejhCYlVPRUZH?=
 =?utf-8?B?RmdHMDg5Um5YTFZTR1lpRDgvNFZFRHh2eG1LMXA5ZC9EbUdsQUM3MkwxSk5G?=
 =?utf-8?B?anpabVpjNFI3cEhzMVJGVFIrSW1kZG4vUkQ0SEZBSG50NWoyTHZ3MWdnZSts?=
 =?utf-8?B?NnNETEVpQll4dkNnSm1uVVliNzNvUDdFSmgwL01UcGFhY3RyUXZabkNwUTRN?=
 =?utf-8?B?eDVqL1o2Vmc0MzM4REY4NzZ5V0RKVnJEb0R3VnE0dURCWkdEbjhPdnhTT0Ny?=
 =?utf-8?B?VkZZWUNodjMvWUZscFBYRWdUbE4yaXZBejJ2NHJRWm1zU1J6VU5VTWpQY1dW?=
 =?utf-8?B?R3R1V2gzVDBET21vOXZFQkhVdzZac092NzVORG1SNHlHbjNPY3Njb3B3eVV4?=
 =?utf-8?B?eUNhVDFJcHJpa3U4bERFQjRpZzYwcVdNdXdvM1FCWFk4WHVSc0pxam1zaHls?=
 =?utf-8?B?eWQ2MFlER1VtNnI4UFhaTDN1L0JLMkNxbUQ5Rmd4VDlZTnlsbnNOc3VibjA5?=
 =?utf-8?Q?uFHPLHDasng0rJ0rrzVYyAIjt4MtJ8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2025 12:58:14.8341
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 61c1f1b8-4b0d-4932-9046-08dd62f7e24c
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=[SATLEXMB03.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: DS0PR12MB8270

On 2025-03-14 08:18, Juergen Gross wrote:
> Use the new unique_id of a domain in order to detect that a domain
> has been replaced with another one reusing the doamin-id of the old
> domain.
> 
> While changing the related code, switch from "dom_invalid" to
> "dom_valid" in order to avoid double negation and use "bool" as type
> for it.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V8:
> - new patch
> V9:
> - adapt to different LU-record layout
> - "dom_invalid" -> "dom_valid" (Jason Andryuk)

Thanks.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

One thought below.

> ---
>   tools/xenstored/domain.c         | 65 ++++++++++++++++++++++++++------
>   tools/xenstored/xenstore_state.h |  3 +-
>   2 files changed, 55 insertions(+), 13 deletions(-)
> 
> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
> index a6506a5bb2..fc0992d3a5 100644
> --- a/tools/xenstored/domain.c
> +++ b/tools/xenstored/domain.c

> @@ -1778,6 +1811,14 @@ void read_state_connection(const void *ctx, const void *state)
>   	conn->conn_id = sc->conn_id;
>   
>   	read_state_buffered_data(ctx, conn, sc);
> +
> +	/* Validity of unique_id will be tested by check_domains() later. */
> +	if ((sc->fields & XS_STATE_CONN_FIELDS_UNIQ_ID) && domain) {

Is it worth adding a sanity check for the other bits in sc->fields == 0? 
  And a check domain != NULL when  XS_STATE_CONN_FIELDS_UNIQ_ID is set?

Regards,
Jason

> +		unsigned long off;
> +
> +		off = sizeof(*sc) + sc->data_in_len + sc->data_out_len;
> +		domain->unique_id = *(uint64_t *)(state + ROUNDUP(off, 3));
> +	}
>   }
>   


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:22:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914571.1320289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt4zL-0001fS-KO; Fri, 14 Mar 2025 13:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914571.1320289; Fri, 14 Mar 2025 13:22: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 1tt4zL-0001fL-HE; Fri, 14 Mar 2025 13:22:11 +0000
Received: by outflank-mailman (input) for mailman id 914571;
 Fri, 14 Mar 2025 13:22: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=LNZA=WB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tt4zK-0001fF-HH
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:22:10 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53b8eb98-00d7-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 14:22:07 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-ac2963dc379so358239366b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 06:22:07 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:500:2aea:6ec9:1d88:c1ef?
 (p200300e5871405002aea6ec91d88c1ef.dip0.t-ipconnect.de.
 [2003:e5:8714:500:2aea:6ec9:1d88:c1ef])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a46948sm223543166b.129.2025.03.14.06.22.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 06:22: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: 53b8eb98-00d7-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1741958526; x=1742563326; 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=LlXiK2cjvogS3pJ5JEWZYjx3dCxMh6HWKXRSQCcOkFA=;
        b=BCdA1itJMJdoKeBLl0RH4hGMcyDiy+d3jrJFGc1wBHqwGWvH1cHgdeQ4X/QEf3DX8Z
         cmE/12OUS8YC/ccY2OxVO5sT1PzKmYHni+nbE+L1aRfUYcOo7jfhEaHk9vFr3LlpAU+j
         S4+7PiV7IYgpTlEc3tFF6VpKvulYQFuSAG7Xkp7a5dmpjRyH059FEDGbeZ7YiOn+8icx
         wejzhYSsGhGa/K1+09AsUZDFyvnWn3l2wKkW3C4jhXqj7Gej3MxhSW3nzUi/krioB6pp
         HyqeWGZmWIytNdTJm+fcMRaIvRkZVT+aFCeos6KJ5xSpd/457SDShpFGxllkN1gLTJOO
         +3eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741958526; x=1742563326;
        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=LlXiK2cjvogS3pJ5JEWZYjx3dCxMh6HWKXRSQCcOkFA=;
        b=DJtDB/R71lBTK6hXSxtqvSplaM9fgw20ENzlmbtXGDKwCeCHeI3bJpZDtKvvVvF1wF
         7d22ens7ht9m+UwbqITvpQXuVPZMZ/+OVU+E8eg1eAb+B5g6BtvOksRBVGpBi9Zkmh6d
         PtzTkVWxIDLpPgeP2gCL7mnZm5Pj724NnjtYJu8RtisXCbaJX4FQEdKQ3/mqqep9FvqD
         gDk1oJ8DuC+0lH+AHsyN5v1ZzAUOtNij1OZQKOUz0LRMzjOPPlvq06gjfSuxKKTbWyuK
         pp6Wohlt2K/nF+u2rJMv+WXto4UACcFuUtMKSe7I6boerfYUpHQ5WjPFG1eRyAcMg54B
         TCPw==
X-Forwarded-Encrypted: i=1; AJvYcCXQS/ZtLK2fxq06QAfcHy53Te/w51yVHsGTFw/K7pZlgv4RcDQYNBbu643+rFAg3kNJnwOwNpeUF/Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4UM/Ul7ZDw2mvcutDb8JGecLAd2xYBuowqHkgIuIG++tLbEgr
	9MgyXecrkarAJnigBc9ABYZulvQynooUp5mbBezcTrQFERcVCPC2JOe3Tpj/Y0L+cuCYbt8s+Bx
	B
X-Gm-Gg: ASbGnctztvd2236/EfaLo5T1C3qt5/ghD+IsO0fg51eFlYkT+GyVigrbourVjSo2W4x
	g4TGxan/h1cObiGvR2qUrAnRmdHvjpilsmWdTbUAI8LyDHAvUY3+x8mk6iA494CEuSGP8HzkUXD
	ienJIGS+qOBHHy3Vd1WGk55aNgJdRNudIUf+gmxP01SWJnyn8zaif1Rn/QPIEbIeHfN+uwAmx4G
	MaOKIzoC1grvwGUtClTAom0tExYVQ/trExok0fyx6cx6YiLG58PNHW6j4YUOeC/EQ4RLqhVV8hR
	0eXkTiFgnRzcPqKVIEpnDew9EK6TC/dcwYXfD2EevvR6vSzAlDThlCjRAyRl50A6dNUFAydjOxF
	Kh39oX0LG4HVsVbIjvCOrLXmRPKULSLzP5gnVn7I1NZZhBEZ2yKvuefXdAPKKuwyuBFs+ozsQot
	uQkw==
X-Google-Smtp-Source: AGHT+IEfL0Y1wxx3pYXIS75qmlQgk93tZw5TvmO7sbPlaNmn7FO61xLSuDM9nCQvtTXGakwhl60K6Q==
X-Received: by 2002:a17:907:94c7:b0:ac2:9b34:89f4 with SMTP id a640c23a62f3a-ac330272cf7mr218103766b.23.1741958526522;
        Fri, 14 Mar 2025 06:22:06 -0700 (PDT)
Message-ID: <c206ab6b-5e7e-4665-8480-d349831e427c@suse.com>
Date: Fri, 14 Mar 2025 14:22:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 2/3] tools/xenstored: use unique_id to identify new
 domain with same domid
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250314121835.1879-1-jgross@suse.com>
 <20250314121835.1879-3-jgross@suse.com>
 <ad4dc21c-c674-4e17-adac-b44aafff6149@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: <ad4dc21c-c674-4e17-adac-b44aafff6149@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------OAQ5KC3gXOr1Vgy1toN9Gz1B"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------OAQ5KC3gXOr1Vgy1toN9Gz1B
Content-Type: multipart/mixed; boundary="------------MMrlfcAseRwHCIf7KUfp3uap";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <c206ab6b-5e7e-4665-8480-d349831e427c@suse.com>
Subject: Re: [PATCH v9 2/3] tools/xenstored: use unique_id to identify new
 domain with same domid
References: <20250314121835.1879-1-jgross@suse.com>
 <20250314121835.1879-3-jgross@suse.com>
 <ad4dc21c-c674-4e17-adac-b44aafff6149@amd.com>
In-Reply-To: <ad4dc21c-c674-4e17-adac-b44aafff6149@amd.com>

--------------MMrlfcAseRwHCIf7KUfp3uap
Content-Type: multipart/mixed; boundary="------------20V0ALebovX9HwvZokuduai0"

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

T24gMTQuMDMuMjUgMTM6NTgsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDMt
MTQgMDg6MTgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBVc2UgdGhlIG5ldyB1bmlxdWVf
aWQgb2YgYSBkb21haW4gaW4gb3JkZXIgdG8gZGV0ZWN0IHRoYXQgYSBkb21haW4NCj4+IGhh
cyBiZWVuIHJlcGxhY2VkIHdpdGggYW5vdGhlciBvbmUgcmV1c2luZyB0aGUgZG9hbWluLWlk
IG9mIHRoZSBvbGQNCj4+IGRvbWFpbi4NCj4+DQo+PiBXaGlsZSBjaGFuZ2luZyB0aGUgcmVs
YXRlZCBjb2RlLCBzd2l0Y2ggZnJvbSAiZG9tX2ludmFsaWQiIHRvDQo+PiAiZG9tX3ZhbGlk
IiBpbiBvcmRlciB0byBhdm9pZCBkb3VibGUgbmVnYXRpb24gYW5kIHVzZSAiYm9vbCIgYXMg
dHlwZQ0KPj4gZm9yIGl0Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gVjg6DQo+PiAtIG5ldyBwYXRjaA0KPj4g
Vjk6DQo+PiAtIGFkYXB0IHRvIGRpZmZlcmVudCBMVS1yZWNvcmQgbGF5b3V0DQo+PiAtICJk
b21faW52YWxpZCIgLT4gImRvbV92YWxpZCIgKEphc29uIEFuZHJ5dWspDQo+IA0KPiBUaGFu
a3MuDQo+IA0KPiBSZXZpZXdlZC1ieTogSmFzb24gQW5kcnl1ayA8amFzb24uYW5kcnl1a0Bh
bWQuY29tPg0KPiANCj4gT25lIHRob3VnaHQgYmVsb3cuDQo+IA0KPj4gLS0tDQo+PiDCoCB0
b29scy94ZW5zdG9yZWQvZG9tYWluLmPCoMKgwqDCoMKgwqDCoMKgIHwgNjUgKysrKysrKysr
KysrKysrKysrKysrKysrKystLS0tLS0NCj4+IMKgIHRvb2xzL3hlbnN0b3JlZC94ZW5zdG9y
ZV9zdGF0ZS5oIHzCoCAzICstDQo+PiDCoCAyIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlv
bnMoKyksIDEzIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5z
dG9yZWQvZG9tYWluLmMgYi90b29scy94ZW5zdG9yZWQvZG9tYWluLmMNCj4+IGluZGV4IGE2
NTA2YTViYjIuLmZjMDk5MmQzYTUgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9yZWQv
ZG9tYWluLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYw0KPiANCj4+IEBA
IC0xNzc4LDYgKzE4MTEsMTQgQEAgdm9pZCByZWFkX3N0YXRlX2Nvbm5lY3Rpb24oY29uc3Qg
dm9pZCAqY3R4LCBjb25zdCB2b2lkIA0KPj4gKnN0YXRlKQ0KPj4gwqDCoMKgwqDCoCBjb25u
LT5jb25uX2lkID0gc2MtPmNvbm5faWQ7DQo+PiDCoMKgwqDCoMKgIHJlYWRfc3RhdGVfYnVm
ZmVyZWRfZGF0YShjdHgsIGNvbm4sIHNjKTsNCj4+ICsNCj4+ICvCoMKgwqAgLyogVmFsaWRp
dHkgb2YgdW5pcXVlX2lkIHdpbGwgYmUgdGVzdGVkIGJ5IGNoZWNrX2RvbWFpbnMoKSBsYXRl
ci4gKi8NCj4+ICvCoMKgwqAgaWYgKChzYy0+ZmllbGRzICYgWFNfU1RBVEVfQ09OTl9GSUVM
RFNfVU5JUV9JRCkgJiYgZG9tYWluKSB7DQo+IA0KPiBJcyBpdCB3b3J0aCBhZGRpbmcgYSBz
YW5pdHkgY2hlY2sgZm9yIHRoZSBvdGhlciBiaXRzIGluIHNjLT5maWVsZHMgPT0gMD8NCg0K
RGVmaW5pdGVseSBub3QuIFVua25vd24gZmxhZ3MgY2FuIGJlIGlnbm9yZWQsIHRoZXkgc2hv
dWxkIG5ldmVyIHJlc3VsdA0KaW4gYW4gZXJyb3IuIE90aGVyd2lzZSBMVSB0byBhbiBvbGRl
ciBYZW5zdG9yZSBtaWdodCBub3QgYmUgcG9zc2libGUNCmFueSBsb25nZXIuDQoNCj4gQW5k
IGEgY2hlY2sgZG9tYWluICE9IE5VTEwgd2hlbsKgIFhTX1NUQVRFX0NPTk5fRklFTERTX1VO
SVFfSUQgaXMgc2V0Pw0KDQpObywgSSBkb24ndCB0aGluayBzby4gRmFpbGluZyBhIExVIGR1
ZSB0byBzdWNoIGEgY2FzZSB3b3VsZCBpbmhpYml0IHRoZQ0KcG9zc2liaWxpdHkgdG8gZml4
IHN1Y2ggYSBidWcgdXNpbmcgTFUuDQoNCg0KSnVlcmdlbg0K
--------------20V0ALebovX9HwvZokuduai0
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-----

--------------20V0ALebovX9HwvZokuduai0--

--------------MMrlfcAseRwHCIf7KUfp3uap--

--------------OAQ5KC3gXOr1Vgy1toN9Gz1B
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/Ey8FAmfULX0FAwAAAAAACgkQsN6d1ii/Ey8y
VQgAitMdhlBGTNLVZM4G4+YU8a+tw82BE6Dhd6ID89pOqt/ckE0GsxN9hv30a0Vmbdrh5/CFwFUp
M58lzuW9cpy7bMkFQBa/GoN81vlMnKDhcIq2c5oordQql2Ss4PPl7tomvwcvTAPV2M5J11gSKcqY
ypEb+leAuho6IplBatZMW5IEQ4v/HU/uh36Ij7IZ6HEU8DcNOy+svSPv4WLvgE/RJL8oQ5iEjTwJ
2mG6IRMjbhzsn0YngnKhoZBZlKsUED/UCshSx/4xMKAqokgV2rPb6va4QrD5f1QKXQSv2hO7nb38
3LZCdyZr+MN7nr8+mxKtSVBYoIboqZ1UUWreLO1jlQ==
=zlRA
-----END PGP SIGNATURE-----

--------------OAQ5KC3gXOr1Vgy1toN9Gz1B--


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:34:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914589.1320324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bi-00043c-Ke; Fri, 14 Mar 2025 13:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914589.1320324; Fri, 14 Mar 2025 13:34: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 1tt5Bi-00042z-EV; Fri, 14 Mar 2025 13:34:58 +0000
Received: by outflank-mailman (input) for mailman id 914589;
 Fri, 14 Mar 2025 13: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bg-0003qF-T1
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:57 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d65c6c7-00d9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 14:34:55 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:50 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13:34: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: 1d65c6c7-00d9-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A1FSVEcjaVtisi0GGaIOqLmM+KnFLh7DlBWt/TNRjj0DwsDG3L5wDOcrs0wfBY1iftutm/9ZIFVrZmHRJ/fq5/FqAZb4N9cSofAZyCvepUsl2J7S0AWXwcMmxObfE9j7+4qRFzfOUSjsR/UqakoOfX2Q8rXZBVp2bGH1XmQbCYtpgmfcIs4uxt5mTQcRTxuzDvUWFOMlO82M6eZz1Gap1GVZjx4fEeg6EyaZvmAIMeJl4EgmKYrF/pUuyNkTP+euJ+nO5FD2uaBUNIFlzEXs0zvG/780rmJzngzm8/KZcVEwiLg2dxLrDiKChdEAcYT7PIAao1h0XoTYUU6BOzy3gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PUsxee2lGto+cKUU/E4hlWyJiIj2nzbj+aTUKYVDphk=;
 b=CyhZtb8RHEubR5I76lAApHgOtckl5AEO1q0i33pnQYxu3TCSiAYmJ3ajvqruAc8F5IMjxFGUu8AE9HaTm5bZQluYKygd828rugeNr5TwM0EUBcTwV9WWPN2wrEnt3AsgoBT4dsSwsfk+3eYJ1Dodp0THmwd7iNHR+DkGlpPDCmzU8ukkItd4uYnXanudMKHMGZyjKv0R9tphjoNhQAI54YsF3kMOiSWCGlm1JibcESzTi1E7ssMKdfeskU3B05H39DoT7xYPP+tW2jy10A7hVyW+As2LCoJI71mDTtA1fK6w7exhkGITnKl+WqIgSA7SIdqO+ohE/FgugXRieeYyNg==
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=PUsxee2lGto+cKUU/E4hlWyJiIj2nzbj+aTUKYVDphk=;
 b=uLUoa+RBL4ujinaNIScyxaVb7OsbTTomr3Gfw8ndm9Pw+Ow6uTNTksU8DX6YjksQl1sOkyZ6P5yY8Fg5I2mqAeYs1JBqBaq2tNrILEr85WCoy8t6PAWGO9rutl9JJT1s64375brhI+8OqzfiCrSZBtQPO647XAiCeWkN/taOIoneEyUnYuxh/D253Lu2GnQuxsfpOhoPKC1+aGaBiRjhqtX0CESNmsQYMipWtkVFJTJMMG0WBCQsnUDQ7S+/1PLliRGCiXeqHAeSPqFuF4rrY1wcCHZv3fgM4ihKRdfaFeV9eCqsfvtnbGNDFh/NAuwfy3daRe1NwR109taXx7UbjQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.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 v9 2/8] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids API
Thread-Topic: [PATCH v9 2/8] iommu/arm: Introduce
 iommu_add_dt_pci_sideband_ids API
Thread-Index: AQHblOXcI08sNdwZJ0ah+pJJkNPOtA==
Date: Fri, 14 Mar 2025 13:34:50 +0000
Message-ID:
 <95d779f00127defa37f3c5056c762ea0da47fc53.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: 9959f410-01e1-43d2-7612-08dd62fcff08
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|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?ipgzzjd8il8SYMCvX8cSQiWaizO9PMda5qrn16cCfNKP4wryiCLU7MPItT?=
 =?iso-8859-1?Q?qYuYtr9nH1jAXUxDCp+L/N9Bx4cK0GaPmq3BAWTwxEHyCvKcbAXlNYCfu6?=
 =?iso-8859-1?Q?jKdiBJ1HBLadDn2Q9ibyu2ugyWr0Rr5hTXariHumrjjlNGlQZkkJexkMnX?=
 =?iso-8859-1?Q?eV6Z/izmNkf8WzKUEDBLMkUfzZWNt4RNV1dCDrjH/0FPqNekkCU0alZTR9?=
 =?iso-8859-1?Q?VPkdRhZhrAXJ7ktOAP6MS97vnsSXy8wFf2diTcAyWqQygY5q2ww/yLsrUA?=
 =?iso-8859-1?Q?NrtfR8FvxDomrcBusqrSMz3uDp2pEJxxVM7xFL6xtpV062jeHXhzJYqSGE?=
 =?iso-8859-1?Q?7EtTaq4CmbIPC7wku7FnSgK/nUbzEJpkSUCUDczutppHgNa0eU0M8DF/wY?=
 =?iso-8859-1?Q?in2IyhvEntjIUFozrzrK5vAKbAg1v8E+rHZ1su16FfQv3PV0XM8AMPdkLn?=
 =?iso-8859-1?Q?SS0cIe5bdhiOSNs7LB/wPa3sRRlD3zuWBBFKBdHwN+fLENpprkOY7wdy6H?=
 =?iso-8859-1?Q?SI5SZF78yp9vInrsHPg9s7wwVqZqLJTi5tdSWYE0GyP33BN0qbb0JOfPD1?=
 =?iso-8859-1?Q?aIOKVBWWdoaVoMRR02F0oVRKS81QxM/7S3VpMiBAKQ30eEGzJp1KHKamzC?=
 =?iso-8859-1?Q?uSAd9P3NVmN7za7ijW6pKr1AIa0mR71R/vLDNC+ZqGYHtEaBCPPj6W7XoL?=
 =?iso-8859-1?Q?pVkQzADgquo5HvdX1NggBbNxRugWC2nTAgx7gYfoIKBZq/OpkDgBbHA8V3?=
 =?iso-8859-1?Q?eTlkV9NshufmGhSRQivf0tulmIZV2CBeIq9oMBrvTDVyMbRMeK+CQu36E+?=
 =?iso-8859-1?Q?DlnYa/7AEmabjCzTG7uCGBfXs0GykzCWMKCkHuiZ3rOkNl5cz1/1t+IjMV?=
 =?iso-8859-1?Q?IyB2GXP7+Gk9ZISJStR0xHxiMZFnnOEd/Kt0uXSZ9DqxQPdcz3ShAw7vtb?=
 =?iso-8859-1?Q?EyCT9WaXlwVyKUrUGwBZBs0XnH5vubnpd6b3sJu4y/aqMuOlv0LOpeLVQq?=
 =?iso-8859-1?Q?yEKcc/5gCAvNoCKBe5f7alxGCEMRyJSj/QvnHwDSXntr2xALzw7HgDgcUN?=
 =?iso-8859-1?Q?+Fx/dyzV8d5yZbK9ORK72CXjf798t+8wvLkrm0Gg06mvMqWQNLGvz0qFT7?=
 =?iso-8859-1?Q?CU0ZxqhXiJww/go1fsYqin4l8b+hCISVDRASd28nsCXgj9WYiQkloRtAa1?=
 =?iso-8859-1?Q?hepBFVOENtv+FW79QnMf5JLkIGdHt4h3Kgho9pnbX/1L8sK3V+TTo3lb3f?=
 =?iso-8859-1?Q?1vVWJkfbRXukuqeXAGRkKEe3GCWMpPdGGNzZaUnOrPv1UL3SQlS7Xdiw9O?=
 =?iso-8859-1?Q?5TrHMmf1RbNzrCevf1evSAOUz7F5Ay0+AncpyLe+KRLnmX6d1xqYOPIkPv?=
 =?iso-8859-1?Q?CsSrCaDC/NxMJ1Eq98PMh4TlLp3jIDPAt2VJNIOhCHe/bdQuicLPbV2rBm?=
 =?iso-8859-1?Q?lMQf7hqEnKDHhin9gDqL/jyvvaykUWRYilXgKDDF2mjy8PMlNtxtXRgTyI?=
 =?iso-8859-1?Q?O7DTZnBmbw/1alTLSIk5TZ?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?SngHlYyFkqnZdoqILSU5hWXM1VkF1ysgBL9i+oka1WxH6/Wmox6WL3n69A?=
 =?iso-8859-1?Q?L3yqgKnBIkkqvLGMjxtbRfRbz7bPrUCxo6evK/rFkpPS5ybRmomZ5BrnES?=
 =?iso-8859-1?Q?URx7Vuf1t49+YlbOqm4RdsDAlc7nAZeKeDx6WXrMbw9RgxfNIy/Q/o/KyY?=
 =?iso-8859-1?Q?Q4gDBVAHCANeuyx7psg8GnE1+mJJ6jNjlh4Zlk9goVL77MSeTLbRSLkMM0?=
 =?iso-8859-1?Q?TM13m+JN28xet5C65kQIHzE7d/cSEyxtHdIDig3Ex8RlXyf4s798eZxaOv?=
 =?iso-8859-1?Q?8NbDcrRjZDtQ/pqcb/C1Nh6FRNZn2YduFsbb6RS/NyH/lYMvSOKKAMdPhY?=
 =?iso-8859-1?Q?UfiQDXo9AJnVF4sQYN7pu6BXJFg8eKVA44QM3+i9L4nuuTtbDdLN+/T06k?=
 =?iso-8859-1?Q?CziNo+19jwYDzjBPk8idof6LNNDBLLG7fjzzAenvyOgAx4RfwHkHq1x9i5?=
 =?iso-8859-1?Q?VozTimszI9nLS2HjUJUTPENzTfTmTqxWil3ODZgKEimxNyWLxWkvLxB7OM?=
 =?iso-8859-1?Q?iX8siVBT2hMD8zl3MGu1auNqH28pbT5q3gYOcT00UYagJykzDsxbZ7peti?=
 =?iso-8859-1?Q?wxBdyARYln6QfNDZax477i8fXTxjxlw8tRh5gyf2NV4nnfuo4wqaFl4ZPQ?=
 =?iso-8859-1?Q?suVF+3hMYjP/MwI2pqKcfwrqsAUVOmy/qIg2VKwVBe2a8xpnTiSJpkyy2S?=
 =?iso-8859-1?Q?LIkbFUUgBUav027FsVRcobGa7uHc56LHTrgh05Ht0aWS7jxrrX63HAlcLF?=
 =?iso-8859-1?Q?GuF+xS8bgh4qRdcevINLjAj0qWIV0aAN3pyytsfszoHdM9ndfbWLqTqBPu?=
 =?iso-8859-1?Q?9ELngf45hvI/i2A/Sts7wqeSUDAUVbrLKuQ+K7HJ2Yf/HnBIYIgYc6ZRa4?=
 =?iso-8859-1?Q?mHXpqMnlJ/2jwK9Qqpf7G4o7o0st95AwfV912MIbHsqti55uwrp2OxJO/z?=
 =?iso-8859-1?Q?3pwSrLIxWYQ/GUwA6KdLwS6vp1nPWXLcYMQf6mV9PApeIjaNswAYoHZo9j?=
 =?iso-8859-1?Q?AbcFH6XX+BpaQHdaNuqFI8CuT1j2Yve5WBJiwqMLaSUUY+7HK9H93OdYVW?=
 =?iso-8859-1?Q?YpJOAgDYUh5T57bpwW9YkatCkeefsVD95nKCKdxgOSV16ryMxZSeRS+XR7?=
 =?iso-8859-1?Q?IT/XFNegvOc4l1lsHvArN0dFLqCPBB6NPrUvq/hUyz61TUSWDBaMmdOx4X?=
 =?iso-8859-1?Q?BQMisYy4fLQ9I5AXcB+5qEcF3ArlCux3XnNy1FN0jZSKpBBbzNPjJFN4Ug?=
 =?iso-8859-1?Q?pbGfnb+PomQXHseR81KX0szmLjkuHB7NfHqemSeYsar1AXcdofv3abjFSj?=
 =?iso-8859-1?Q?jmIqoS4+HZlCGGHhMd68DKg9DX+baCccYVrlcRVj/1SC5zAAHXaUhbydbw?=
 =?iso-8859-1?Q?qxa4ELkzznmlNf3GDto8mXQh2hnAg2DChfjxxzkSBeKoIVq1M7M/z8isQC?=
 =?iso-8859-1?Q?HxPecbAH4pW865dauJ8N2F8sjV5OHp22ByO9p5rNRPJpsbIgTvU73HglgM?=
 =?iso-8859-1?Q?GtBw4OhzTPnWHFY9YXTy1SUBu/hxmDWFYdbOf37VKujUWAKVYJetK9XkJE?=
 =?iso-8859-1?Q?hHG4C/lr1PiNNf4RKRSEbURfSa9giXrOP5LEUU+RHGX2Rq6kuqtrUU1giU?=
 =?iso-8859-1?Q?Vn11F47lbXGNrRfAi+/zDqYyHm9lbKcUoIYotWnxDlJST7H7bFZx/Elg?=
 =?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: 9959f410-01e1-43d2-7612-08dd62fcff08
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:50.6048
 (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: z0LBuDDp2ZQjQD4Vg23xrZ4s5otsDTd78ghvLS7hA/uLI8zuH3UEV0TT6G3qR2239uFn2MjNRwc/M/CKSXkUSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The main purpose of this patch is to add a way to register PCI device
(which is behind the IOMMU) using the generic PCI-IOMMU DT bindings [1]
before assigning that device to a domain.

This behaves similarly to the existing iommu_add_dt_device API, except it
handles PCI devices, and it is to be invoked from the add_device hook in th=
e
SMMU driver.

The function dt_map_id to translate an ID through a downstream mapping
(which is also suitable for mapping Requester ID) was borrowed from Linux
(v5.10-rc6) and updated according to the Xen code base.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-io=
mmu.txt

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
Regarding pci_for_each_dma_alias question: getting host bridge node
directly seems like a simpler solution with the same result. AFAIU
with pci_for_each_dma_alias in linux we would arrive to the host brige
node anyway, but also try to call dt_map_id for each device along the
way. I am not sure why exactly it is done this way in linux, as
according to the pci-iommu.txt, iommu-map node can only be present in
the PCI root.

v8->v9:
* replace DT_NO_IOMMU with 1
* guard iommu_add_pci_sideband_ids with CONFIG_ARM

v7->v8:
* ENOSYS->EOPNOTSUPP
* move iommu_add_pci_sideband_ids to iommu.c to fix x86 build
* simplify iommu_add_pci_sideband_ids
* add docstrings to iommu_add_{dt_}pci_sideband_ids

v6->v7:
* put iommu_add_pci_sideband_ids under ifdef
* remove ifdef CONFIG_APCI
* style: add newline for symmetry

v5->v6:
* pass ops to iommu_dt_xlate()

v4->v5:
* style: add newlines after variable declarations and before return in iomm=
u.h
* drop device_is_protected() check in iommu_add_dt_pci_sideband_ids()
* rebase on top of ("dynamic node programming using overlay dtbo") series
* fix typo in commit message
* remove #ifdef around dt_map_id() prototype
* move dt_map_id() to xen/common/device_tree.c
* add function name in error prints
* use dprintk for debug prints
* use GENMASK and #include <xen/bitops.h>
* fix typo in comment
* remove unnecessary (int) cast in loop condition
* assign *id_out and return success in case of no translation in dt_map_id(=
)
* don't initialize local variable unnecessarily
* return error in case of ACPI/no DT in iommu_add_{dt_}pci_sideband_ids()

v3->v4:
* wrap #include <asm/acpi.h> and if ( acpi_disabled ) in #ifdef CONFIG_ACPI
* fix Michal's remarks about style, parenthesis, and print formats
* remove !ops->dt_xlate check since it is already in iommu_dt_xlate helper
* rename s/iommu_dt_pci_map_id/dt_map_id/ because it is generic, not specif=
ic
  to iommu
* update commit description

v2->v3:
* new patch title (was: iommu/arm: Introduce iommu_add_dt_pci_device API)
* renamed function
  from: iommu_add_dt_pci_device
  to: iommu_add_dt_pci_sideband_ids
* removed stale ops->add_device check
* iommu.h: add empty stub iommu_add_dt_pci_sideband_ids for !HAS_DEVICE_TRE=
E
* iommu.h: add iommu_add_pci_sideband_ids helper
* iommu.h: don't wrap prototype in #ifdef CONFIG_HAS_PCI
* s/iommu_fwspec_free(pci_to_dev(pdev))/iommu_fwspec_free(dev)/

v1->v2:
* remove extra devfn parameter since pdev fully describes the device
* remove ops->add_device() call from iommu_add_dt_pci_device(). Instead, re=
ly on
  the existing iommu call in iommu_add_device().
* move the ops->add_device and ops->dt_xlate checks earlier

downstream->v1:
* rebase
* add const qualifier to struct dt_device_node *np arg in dt_map_id()
* add const qualifier to struct dt_device_node *np declaration in iommu_add=
_pci_device()
* use stdint.h types instead of u8/u32/etc...
* rename functions:
  s/dt_iommu_xlate/iommu_dt_xlate/
  s/dt_map_id/iommu_dt_pci_map_id/
  s/iommu_add_pci_device/iommu_add_dt_pci_device/
* add device_is_protected check in iommu_add_dt_pci_device
* wrap prototypes in CONFIG_HAS_PCI

(cherry picked from commit 734e3bf6ee77e7947667ab8fa96c25b349c2e1da from
 the downstream branch poc/pci-passthrough from
 https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
---
 xen/common/device-tree/device-tree.c  | 91 +++++++++++++++++++++++++++
 xen/drivers/passthrough/device_tree.c | 42 +++++++++++++
 xen/drivers/passthrough/iommu.c       | 15 +++++
 xen/include/xen/device_tree.h         | 23 +++++++
 xen/include/xen/iommu.h               | 40 +++++++++++-
 5 files changed, 210 insertions(+), 1 deletion(-)

diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/=
device-tree.c
index d0528c5825..3de7858df6 100644
--- a/xen/common/device-tree/device-tree.c
+++ b/xen/common/device-tree/device-tree.c
@@ -10,6 +10,7 @@
  * published by the Free Software Foundation.
  */
=20
+#include <xen/bitops.h>
 #include <xen/types.h>
 #include <xen/init.h>
 #include <xen/guest_access.h>
@@ -2243,6 +2244,96 @@ int dt_get_pci_domain_nr(struct dt_device_node *node=
)
     return (u16)domain;
 }
=20
+int dt_map_id(const struct dt_device_node *np, uint32_t id,
+              const char *map_name, const char *map_mask_name,
+              struct dt_device_node **target, uint32_t *id_out)
+{
+    uint32_t map_mask, masked_id, map_len;
+    const __be32 *map =3D NULL;
+
+    if ( !np || !map_name || (!target && !id_out) )
+        return -EINVAL;
+
+    map =3D dt_get_property(np, map_name, &map_len);
+    if ( !map )
+    {
+        if ( target )
+            return -ENODEV;
+
+        /* Otherwise, no map implies no translation */
+        *id_out =3D id;
+        return 0;
+    }
+
+    if ( !map_len || (map_len % (4 * sizeof(*map))) )
+    {
+        printk(XENLOG_ERR "%s(): %s: Error: Bad %s length: %u\n", __func__=
,
+               np->full_name, map_name, map_len);
+        return -EINVAL;
+    }
+
+    /* The default is to select all bits. */
+    map_mask =3D GENMASK(31, 0);
+
+    /*
+     * Can be overridden by "{iommu,msi}-map-mask" property.
+     * If dt_property_read_u32() fails, the default is used.
+     */
+    if ( map_mask_name )
+        dt_property_read_u32(np, map_mask_name, &map_mask);
+
+    masked_id =3D map_mask & id;
+    for ( ; map_len > 0; map_len -=3D 4 * sizeof(*map), map +=3D 4 )
+    {
+        struct dt_device_node *phandle_node;
+        uint32_t id_base =3D be32_to_cpup(map + 0);
+        uint32_t phandle =3D be32_to_cpup(map + 1);
+        uint32_t out_base =3D be32_to_cpup(map + 2);
+        uint32_t id_len =3D be32_to_cpup(map + 3);
+
+        if ( id_base & ~map_mask )
+        {
+            printk(XENLOG_ERR "%s(): %s: Invalid %s translation - %s-mask =
(0x%"PRIx32") ignores id-base (0x%"PRIx32")\n",
+                   __func__, np->full_name, map_name, map_name, map_mask,
+                   id_base);
+            return -EFAULT;
+        }
+
+        if ( (masked_id < id_base) || (masked_id >=3D (id_base + id_len)) =
)
+            continue;
+
+        phandle_node =3D dt_find_node_by_phandle(phandle);
+        if ( !phandle_node )
+            return -ENODEV;
+
+        if ( target )
+        {
+            if ( !*target )
+                *target =3D phandle_node;
+
+            if ( *target !=3D phandle_node )
+                continue;
+        }
+
+        if ( id_out )
+            *id_out =3D masked_id - id_base + out_base;
+
+        dprintk(XENLOG_DEBUG, "%s: %s, using mask %08"PRIx32", id-base: %0=
8"PRIx32", out-base: %08"PRIx32", length: %08"PRIx32", id: %08"PRIx32" -> %=
08"PRIx32"\n",
+               np->full_name, map_name, map_mask, id_base, out_base, id_le=
n, id,
+               masked_id - id_base + out_base);
+        return 0;
+    }
+
+    dprintk(XENLOG_DEBUG, "%s: no %s translation for id 0x%"PRIx32" on %s\=
n",
+           np->full_name, map_name, id,
+           (target && *target) ? (*target)->full_name : NULL);
+
+    if ( id_out )
+        *id_out =3D id;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthroug=
h/device_tree.c
index 4a1971c3fc..37e1437b65 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -161,6 +161,48 @@ static int iommu_dt_xlate(struct device *dev,
     return ops->dt_xlate(dev, iommu_spec);
 }
=20
+#ifdef CONFIG_HAS_PCI
+int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
+{
+    const struct iommu_ops *ops =3D iommu_get_ops();
+    struct dt_phandle_args iommu_spec =3D { .args_count =3D 1 };
+    struct device *dev =3D pci_to_dev(pdev);
+    const struct dt_device_node *np;
+    int rc;
+
+    if ( !iommu_enabled )
+        return 1;
+
+    if ( !ops )
+        return -EINVAL;
+
+    if ( dev_iommu_fwspec_get(dev) )
+        return -EEXIST;
+
+    np =3D pci_find_host_bridge_node(pdev);
+    if ( !np )
+        return -ENODEV;
+
+    /*
+     * According to the Documentation/devicetree/bindings/pci/pci-iommu.tx=
t
+     * from Linux.
+     */
+    rc =3D dt_map_id(np, PCI_BDF(pdev->bus, pdev->devfn), "iommu-map",
+                   "iommu-map-mask", &iommu_spec.np, iommu_spec.args);
+    if ( rc )
+        return (rc =3D=3D -ENODEV) ? 1 : rc;
+
+    rc =3D iommu_dt_xlate(dev, &iommu_spec, ops);
+    if ( rc < 0 )
+    {
+        iommu_fwspec_free(dev);
+        return -EINVAL;
+    }
+
+    return rc;
+}
+#endif /* CONFIG_HAS_PCI */
+
 int iommu_remove_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops =3D iommu_get_ops();
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iomm=
u.c
index 9e74a1fc72..dfaca67302 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -20,6 +20,7 @@
 #include <xen/param.h>
 #include <xen/softirq.h>
 #include <xen/keyhandler.h>
+#include <xen/acpi.h>
 #include <xsm/xsm.h>
=20
 #ifdef CONFIG_X86
@@ -744,6 +745,20 @@ int __init iommu_get_extra_reserved_device_memory(iomm=
u_grdm_t *func,
     return 0;
 }
=20
+#ifdef CONFIG_ARM
+int iommu_add_pci_sideband_ids(struct pci_dev *pdev)
+{
+    int ret =3D -EOPNOTSUPP;
+
+#ifdef CONFIG_HAS_PCI
+    if ( acpi_disabled )
+        ret =3D iommu_add_dt_pci_sideband_ids(pdev);
+#endif
+
+    return ret;
+}
+#endif
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 5ff763bb80..9254204af6 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -946,6 +946,29 @@ int dt_count_phandle_with_args(const struct dt_device_=
node *np,
  */
 int dt_get_pci_domain_nr(struct dt_device_node *node);
=20
+/**
+ * dt_map_id - Translate an ID through a downstream mapping.
+ * @np: root complex device node.
+ * @id: device ID to map.
+ * @map_name: property name of the map to use.
+ * @map_mask_name: optional property name of the mask to use.
+ * @target: optional pointer to a target device node.
+ * @id_out: optional pointer to receive the translated ID.
+ *
+ * Given a device ID, look up the appropriate implementation-defined
+ * platform ID and/or the target device which receives transactions on tha=
t
+ * ID, as per the "iommu-map" and "msi-map" bindings. Either of @target or
+ * @id_out may be NULL if only the other is required. If @target points to
+ * a non-NULL device node pointer, only entries targeting that node will b=
e
+ * matched; if it points to a NULL value, it will receive the device node =
of
+ * the first matching target phandle, with a reference held.
+ *
+ * Return: 0 on success or a standard error code on failure.
+ */
+int dt_map_id(const struct dt_device_node *np, uint32_t id,
+              const char *map_name, const char *map_mask_name,
+              struct dt_device_node **target, uint32_t *id_out);
+
 struct dt_device_node *dt_find_node_by_phandle(dt_phandle handle);
=20
 #ifdef CONFIG_DEVICE_TREE_DEBUG
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index b928c67e19..82319016a1 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -215,7 +215,8 @@ int iommu_dt_domain_init(struct domain *d);
 int iommu_release_dt_devices(struct domain *d);
=20
 /*
- * Helper to add master device to the IOMMU using generic IOMMU DT binding=
s.
+ * Helpers to add master device to the IOMMU using generic (PCI-)IOMMU
+ * DT bindings.
  *
  * Return values:
  *  0 : device is protected by an IOMMU
@@ -225,6 +226,19 @@ int iommu_release_dt_devices(struct domain *d);
  */
 int iommu_add_dt_device(struct dt_device_node *np);
=20
+/*
+ * Fills out the device's IOMMU fwspec with IOMMU ids from the DT.
+ * Ids are specified in the iommu-map property in the host bridge node.
+ * More information on the iommu-map property format can be found in
+ * Documentation/devicetree/bindings/pci/pci-iommu.txt from Linux.
+ *
+ * Return values:
+ *  0 : iommu_fwspec is filled out successfully.
+ * <0 : error while filling out the iommu_fwspec.
+ * >0 : IOMMU is not enabled/present or device is not connected to it.
+ */
+int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev);
+
 int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
=20
@@ -238,8 +252,32 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, stru=
ct domain *d,
  */
 int iommu_remove_dt_device(struct dt_device_node *np);
=20
+#else /* !HAS_DEVICE_TREE */
+static inline int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
+{
+    return -EOPNOTSUPP;
+}
+
 #endif /* HAS_DEVICE_TREE */
=20
+/*
+ * This function is not strictly ARM-specific, but it is only used by ARM
+ * as of now. So wrap it with ifdef to avoid creating dead code on other
+ * architectures. When usage is extended to other architectures, this ifde=
f
+ * should be removed.
+ */
+#ifdef CONFIG_ARM
+/*
+ * Fills out the device's IOMMU fwspec with IOMMU ids.
+ *
+ * Return values:
+ *  0 : iommu_fwspec is filled out successfully.
+ * <0 : error while filling out the iommu_fwspec.
+ * >0 : IOMMU is not enabled/present or device is not connected to it.
+ */
+int iommu_add_pci_sideband_ids(struct pci_dev *pdev);
+#endif
+
 struct page_info;
=20
 /*
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:34:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914587.1320309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bg-0003hM-1A; Fri, 14 Mar 2025 13:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914587.1320309; Fri, 14 Mar 2025 13: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 1tt5Bf-0003hD-Ua; Fri, 14 Mar 2025 13:34:55 +0000
Received: by outflank-mailman (input) for mailman id 914587;
 Fri, 14 Mar 2025 13: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bf-0003Jp-0g
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:55 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c8d8179-00d9-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 14:34:53 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:50 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13:34: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: 1c8d8179-00d9-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lUdF7+YpF/RQ7KsWE4XlRUkwa8jRxs/gm4aLTsZofwVnLynl+IDgTGZNRFj8wNPDL8LXuCTQsy5xdeHGDOz55eRvW0hkWKJREa0cWQzFExqM+FgAHYIuANgq2k0aE7HCv4AfoZjG4AozwVakuwPzhSIBibZ3mgck5q5E0SVD++AW37CuzpS2d1a39jF8BaYZU0BA6LJCSITpRgOKA6TG2pYKZULL8oXTeIY0zbgwe5Nxzhun8vHjSqtnZbG2b9WSwJURLW3F/pSiir3pzYqYdKT1SBSQmxXMnlHFgy2Sr3Ri7ojRUbhTQoScxdfLhVl9mMeAqr59uY9dthQ2TBoXmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UiHfeCJsztnzol3w0nFYnZOBAO7JVtS2ELlpCTYYWPw=;
 b=uyTk+ALrUZdqM+LlVgnLVcXuLQALqniCdfulKmvjTRWRKFjjBMhawZ8K89NxLXNqgTvUN44w4OGsCt0PV5L8aDVPFOwAhJuhGQgawxgYaz+KFYJZScN+d+B279QyyKyKVHOBu9P0UoOfrFq4bDvtVSXF7aroa5i1MlcxdRQk1NHXgg+tJ5Titf6Cb1whwYCuIQm31uOs6wuGgBEYVuogjvjZzVYKZ52Gt5qInjZoaYEuv+kX8oCLdKADZRnUzW2s1tAxSLpW0pe8sAHJYKzzWwkW8o4cvRCVnJyF3FE/VFMaarjPvU0ZuDKZYSo7Ge7ZNnmrIoPTYoJ4rS51vly+1Q==
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=UiHfeCJsztnzol3w0nFYnZOBAO7JVtS2ELlpCTYYWPw=;
 b=GkomC9US+rKuBNWHrCwFBiqYE6cZ12Rm9fMvKsZpyL/aOZcFsc/G+ZYuFcgiPJZUWAMMv3c9I6WjQ3UwBRFJ2TcWAIIvPFI4/LLyEMrEpYlCApm8v6a5/przFIU9opaSWf4MdvI04l51wDvSP0Y4QoCy6tNwZx/SgUh/Wy8zwbNdG+Ui/EaQ5OaXR/muGJSVwZjBrtQjWUK/D94oztU0pqauxqv1TRo0Ul6tj5o/8QAupMRFcOYKBoYTqPEDEBswDpNPi5FqKEHBMBv1HMaeO4fzM8GOQbi1Ktt8a8HQYZyK/mdbauVt/1kYeXc4bEpbATiJAgkOTTVgiwSdM5Iv0A==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Stewart
 Hildebrand <stewart.hildebrand@amd.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 1/8] iommu/arm: Add iommu_dt_xlate()
Thread-Topic: [PATCH v9 1/8] iommu/arm: Add iommu_dt_xlate()
Thread-Index: AQHblOXcMT5vj1FVrECA/jH3D/u0iw==
Date: Fri, 14 Mar 2025 13:34:50 +0000
Message-ID:
 <d44b09bdce11137574f3a54ffd4abb6e8a9b1d5f.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: 58bfbc27-e59c-4612-cff8-08dd62fcfec5
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|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?BFHhT2iyl5MsO3H5aWAvd/1EJfnumSP+9Rs3L6p8LEGLxLAOetq6cM9/+q?=
 =?iso-8859-1?Q?MpBpx3SVqK2a3VuCAkacwwUH4AGzJk0bpOmRjG459aSkPZQIPUKi7zrqLe?=
 =?iso-8859-1?Q?7DZZLeVYx1h598p29h/j1aDuM3ap1sM/+oxv6FUU9t5n+kq444kSFYfCfK?=
 =?iso-8859-1?Q?NPv5sBk513M/I5hdN7de2JHyhzkhdGf6JChXnwHYFE7FRhtZx6qjuNwakV?=
 =?iso-8859-1?Q?xXFb/F48xLxjVNkMcLy0ylP6yJ0a0YcjDz2V0oRhufwiCj4oZoONoTaVF1?=
 =?iso-8859-1?Q?aIVEsXpfnZvpWXACa3oyngsjUQW0KzlK2dHTjEVarjnV4JytoNh8ZqYiEM?=
 =?iso-8859-1?Q?XWHdNjARKQRYArmNYCHtEEXZSY4ey2RFOm/KHRsxee+jyyIuAJEOjznpHk?=
 =?iso-8859-1?Q?2vTXDVg7gRhir2GEmA/WhVwIgfmr5tyaYkBOacBV0JyDffboaWLdJuteJ8?=
 =?iso-8859-1?Q?tHaL0cmHHKlyYDVFDYGd9sdyBoAHYeG1zGSPXfpTza6U5fYdMSiiRunICQ?=
 =?iso-8859-1?Q?XwIUfri2r5Rg9xt4c6toakAlcidbRX0FN2nWQOo5wg6nHQi0pzydQyJ5dR?=
 =?iso-8859-1?Q?L+j2gdQiA88hNijpMuQ+x7n5wy3t0AC+SDYmLtJ2794+vhDCzc7KHR33dj?=
 =?iso-8859-1?Q?DSmCnJkKCxLGoOWb3eEsQpTcJd4ZNC1aSeUA2xt8IZ4exR3T5xY5D73MRn?=
 =?iso-8859-1?Q?dX/xEnYQM7BjS3OGiLTPH2pnlWuB6SMVpSWQS7htRkUgI8DZ20fY3YRWnF?=
 =?iso-8859-1?Q?x4rJMWnZ2h25Z9OOo/Ym25eJ4Ee6KX+3d6aL1BammAtGSA5G7bX8cyVm1i?=
 =?iso-8859-1?Q?ijNO+7Xj+/7jt3yfWRGPkVrM3+lfP9fThFPUPvXx/bs/OrglDvjRGrAuWh?=
 =?iso-8859-1?Q?XjrmBdfnTv4797WOfIKwdheEzyoQpTP1PDmfXt7j9ndxaLwUVnxONrVn11?=
 =?iso-8859-1?Q?UVc38+45fxdJgsHxKxmLWXjr1v3CMLwoAkvPYIT2e2u6otcq/AskMi+UnB?=
 =?iso-8859-1?Q?RetrJtkjhZ9uMoBry/dGbesQE0AqdIb19u9+w+cANhykdEGyiOK0+swHgL?=
 =?iso-8859-1?Q?sY8p77td4DG7U2ZQqCcMKIyBkiV9FmAxkAuFzxXwmgLrP416BDlPAVEj4K?=
 =?iso-8859-1?Q?YAOyzF0CF0OVVhnRY1tZdIRaZzHaRRtkMRDt7XOrIyiQ7LRb7dmHt/GErZ?=
 =?iso-8859-1?Q?YFFIJzpemh/lPcdSKLE7b2r8zOtRJiw7/3yj3dyMSQVMf/zuW3J/XdYP+y?=
 =?iso-8859-1?Q?gv7kLW/ehBLFhYIsP6aBiADY/o1FV4tqQCh/BuJKHfDdFmIvRDommUUFtr?=
 =?iso-8859-1?Q?TyhqK1iBcQgpL5etkQGG8EZU/8ep4pCJwVjDGyoy8xeE4JAf2i+eAa9f8W?=
 =?iso-8859-1?Q?EuAOn1Mo95+gmrUXJY7JqB6tmzx9kFZbJogXhddYbRzTvW5H17Odr7/u0F?=
 =?iso-8859-1?Q?3kHwCILYdd5YPFx34wKRuLPeSzifQm+yC8rJnj3Yfv4fMQ2K94srCiC+Sb?=
 =?iso-8859-1?Q?X/uN4mVsvMpA/EPeUIf2n4?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?IMqpYnrDuwaaC7OjwjJjrdin6EE/F+SOkuYEJdPOoXwsT2K0ZzttYAcoB4?=
 =?iso-8859-1?Q?xxGkJI4ZQXiAY3QV7arjsax/TcVy3qrauP956VE+2cdGs+qBtj27LTVSd0?=
 =?iso-8859-1?Q?M3w3eUKl2VikZ6LEKh49BzXmcAECZUPR17Z1lsJFQpGZN7V8649g3mTkKh?=
 =?iso-8859-1?Q?Stua7QX1woDK587837BvvwCt5Jdtt6CizuULDZjbAaInNwqey0kpxzKjnj?=
 =?iso-8859-1?Q?kfB9nkBFN4xBJ+bVXCFMe2FN2SMN232UaXPrO4FP0gw+UHjJ1yRQ9d6Gm4?=
 =?iso-8859-1?Q?1AKZsYOh19kpeDDd6/uSSHOIt7c4+D7hWAIFihP4sXr5rudP0CGODx19v0?=
 =?iso-8859-1?Q?/PH7yKBqKzqnfIDVB/GtFW1FdvLDf8Cuz8NTP/fUOuOmcyHIxLl61dwZ97?=
 =?iso-8859-1?Q?oYLHoNVaaXO5p7PBVvHCGcmnmcJXM5KXAkDYl1HBl+ZiieXAnJBh543nnG?=
 =?iso-8859-1?Q?2Vu0GpwPGIE37VZ3RHflIegEHjEHk0bXvNykeQivBhTLMLsm/mInqEYwnS?=
 =?iso-8859-1?Q?FTGrgzuMOfVbmfM2NHTCH4nFLPm4DLssd37XLo6z5h/6pIuJensn+XTY7J?=
 =?iso-8859-1?Q?ta2tq0GvwCRGctlZTuE6dIn0In5N/JUT+XOeQSxVonSYEAZOu6pktfYnt1?=
 =?iso-8859-1?Q?yPaU240vGSES8eN+RXGk01mZCkIV5PD+Q3ZILuV3GrTSAOJSX30/jiIe+W?=
 =?iso-8859-1?Q?K1SHJtQD8Nghe+6/ETR/nbEDHMmigpqNhZm6kPR9rWPqcHAFgIBNMjr7uK?=
 =?iso-8859-1?Q?j0PUO1ItwO9xO/QkAm14eZ4i7bhliAhEjmNPEDm/w0V5sHLEHpNERxwoYO?=
 =?iso-8859-1?Q?Knl0y4eX61HTl50mGogI14LywbUCiYyWx4xZBkGyxczLj3BcvPv44fv+cI?=
 =?iso-8859-1?Q?9YKHvqG8vHDlA23w3BBEDV4kR1+KEcWlaN1QKGtv+g5uBs1q81NrAg89/0?=
 =?iso-8859-1?Q?9N45JZtapIcTj7Ou2vCB0TWWRPR4PT9o2bjffMlxmm49Eghie45BjKMumH?=
 =?iso-8859-1?Q?caLm/zUydY2tDiiyLulsP1pohRWoszhAaSLTvVPZImQI7E4pHwHkcoyvGB?=
 =?iso-8859-1?Q?nbP7v9gZFgJoSzS849arzC6WjO47FKn0rAsDU5rfo1fBiHub/GAayoZY8A?=
 =?iso-8859-1?Q?mMp5Z140QVuqqba2z6Udgc14S0jl71TcAimktiN0n1S1Lc4AavtEXan9D8?=
 =?iso-8859-1?Q?lVOKkeSzcAo1gmCs6r3j5d7BpVFrK+wKb0W6eFwY6RAzq48RdlXRtuJ20Q?=
 =?iso-8859-1?Q?KvtcfO1tvOVXoj9MosrNTTkwn2zdtnjp039B5FuvT3gz+FmCRMPiieF0bs?=
 =?iso-8859-1?Q?vNBwjlRUmwzAe8VA6Akc7Rme342caVOBP68Xu1DgiCels/Bznx8k6+RWxE?=
 =?iso-8859-1?Q?CQP9lPOFK5W11ziFqTM5LHRGxX3yC44od0xqgpGxEF/l+Y6J6S043Oxabh?=
 =?iso-8859-1?Q?4VmZ0bXZN4S4OhwFyRX7/uLyUSXgoSROoEDYjZEhKYNq4aAqKqT16QKosq?=
 =?iso-8859-1?Q?hztl3n+FNBMDr7lP1Cx5u7QK1Sbo/bycLqPPKcF2hUtadHmH3v1YsT17FE?=
 =?iso-8859-1?Q?cfKPHrTA8TFBmoCcDtX1I/otMvmgCytB8/qpdqhCjJZkbZWuE+KQY/zLJg?=
 =?iso-8859-1?Q?4iyobU6Rhnq79AT9EZ+hYvpum3km7HTVREfNp66rx6yUgmxGE8cbbT8A?=
 =?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: 58bfbc27-e59c-4612-cff8-08dd62fcfec5
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:50.1971
 (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: ngazcFMwdbPitJk7tcZusBCuR1nxm+NEKXIk+wUkxV+ugTHk0ud2qS0qYDyl+Gb3flF9ucqbcuhhvLrhIcY3sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Move code for processing DT IOMMU specifier to a separate helper.
This helper will be re-used for adding PCI devices by the subsequent
patches as we will need exact the same actions for processing
DT PCI-IOMMU specifier.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v8->v9:
* remove DT_NO_IOMMU

v7->v8:
* explain NO_IOMMU better and rename to DT_NO_IOMMU

v6->v7:
* explained NO_IOMMU in comments

v5->v6:
* pass ops parameter to iommu_dt_xlate()
* add Julien's R-b

v4->v5:
* rebase on top of "dynamic node programming using overlay dtbo" series
* move #define NO_IOMMU 1 to header
* s/these/this/ inside comment

v3->v4:
* make dt_phandle_args *iommu_spec const
* move !ops->add_device check to helper

v2->v3:
* no change

v1->v2:
* no change

downstream->v1:
* trivial rebase
* s/dt_iommu_xlate/iommu_dt_xlate/

(cherry picked from commit c26bab0415ca303df86aba1d06ef8edc713734d3 from
 the downstream branch poc/pci-passthrough from
 https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
---
 xen/drivers/passthrough/device_tree.c | 42 +++++++++++++++++----------
 1 file changed, 27 insertions(+), 15 deletions(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthroug=
h/device_tree.c
index 075fb25a37..4a1971c3fc 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -137,6 +137,30 @@ int iommu_release_dt_devices(struct domain *d)
     return 0;
 }
=20
+static int iommu_dt_xlate(struct device *dev,
+                          const struct dt_phandle_args *iommu_spec,
+                          const struct iommu_ops *ops)
+{
+    int rc;
+
+    if ( !ops->dt_xlate )
+        return -EINVAL;
+
+    if ( !dt_device_is_available(iommu_spec->np) )
+        return 1;
+
+    rc =3D iommu_fwspec_init(dev, &iommu_spec->np->dev);
+    if ( rc )
+        return rc;
+
+    /*
+     * Provide DT IOMMU specifier which describes the IOMMU master
+     * interfaces of that device (device IDs, etc) to the driver.
+     * The driver is responsible to decide how to interpret them.
+     */
+    return ops->dt_xlate(dev, iommu_spec);
+}
+
 int iommu_remove_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops =3D iommu_get_ops();
@@ -215,27 +239,15 @@ int iommu_add_dt_device(struct dt_device_node *np)
     {
         /*
          * The driver which supports generic IOMMU DT bindings must have
-         * these callback implemented.
+         * this callback implemented.
          */
-        if ( !ops->add_device || !ops->dt_xlate )
+        if ( !ops->add_device )
         {
             rc =3D -EINVAL;
             goto fail;
         }
=20
-        if ( !dt_device_is_available(iommu_spec.np) )
-            break;
-
-        rc =3D iommu_fwspec_init(dev, &iommu_spec.np->dev);
-        if ( rc )
-            break;
-
-        /*
-         * Provide DT IOMMU specifier which describes the IOMMU master
-         * interfaces of that device (device IDs, etc) to the driver.
-         * The driver is responsible to decide how to interpret them.
-         */
-        rc =3D ops->dt_xlate(dev, &iommu_spec);
+        rc =3D iommu_dt_xlate(dev, &iommu_spec, ops);
         if ( rc )
             break;
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:34:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914586.1320299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Be-0003Ly-MR; Fri, 14 Mar 2025 13:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914586.1320299; Fri, 14 Mar 2025 13:34: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 1tt5Be-0003LU-Jb; Fri, 14 Mar 2025 13:34:54 +0000
Received: by outflank-mailman (input) for mailman id 914586;
 Fri, 14 Mar 2025 13:34: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bd-0003Jp-Uc
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:54 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b86d15a-00d9-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 14:34:52 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:49 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13:34: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: 1b86d15a-00d9-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Wc3HM700v5OBBXALbz0FDgZ1zS5iPxDYMjGTE2Y1W8TQe11GO1m59Yj0AzRq7FlqivZPZNd9SNB4jTcPYySlb9C2y5cfFENbdI825v5BsJOJx5OMM42ISzk20DcZeNoPB2OjEmdBln8h861hruvsPuxcteXvR89lXEjU2AJr2M5Ajw6e7xMcqB4uiFURYTCaXWKoMZ4SsIdNlFj1VoZiv8ssYsqTeNJczQGHizBCRSplLbbgndF02+a4yYU2PJ+gY+kyw77qzx6T8wbryLw+vEO3g3UYiF68Gyiy09RMBix4krLi5vtPn7DPEuZT0X/vyqW+GgBqIrbLYU2nsiXdbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kDr12ZsXB6LPkmtXOzVU1uDhSozE3eMv0KaDRRgy6Z0=;
 b=Vep6mL8NMIE+Zv+M0npMYGSpD0bqt/EQPIBKHOdM1nwAsh0cQ0o75bhMYYeFzVE9ABFucoHhuE/QbO4JGxFEGGF2ccgl89Z7sgwtpnPg4bA5iDtS3LGf2jAgvVEYa0TsIv6WHo/cicTOwUeByTH2g2P/gOptflDbUwNMR1vbcFYEFYJWaQeem2SrS+jnprg+f0CIwRv/1ChqVM6Q8omK/HTLWIXcRdkPp6oaFc4QYE/ZGQpg+AvUeUzum1j2uC5LRF5ZtrRAhf3zQ7ygaHSvXuWOy9Zst+ktWCYZC4FEYbPYIe4SP1JchdgvhfIkqKptSQgSw9vrAOaWT1Ks0t8J7w==
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=kDr12ZsXB6LPkmtXOzVU1uDhSozE3eMv0KaDRRgy6Z0=;
 b=A8IpkU0a9GpaJ4sAElJyLgKSk2GkiyRGdN61hPBVJnMq4+T1blbpuL0UZqhExOqXpOk0fVZ99QTecuilcLjJ2ilTBDsm/X7z8jSOaqAHyORCIrnnxllRQaANgzN1HVNTwbMMWwqUzTrI40RaviBe64ZSEBLa267wo10Bv2AeH/PDNqLy52azsZYo4KeRWFztkSCuZmFXf9YjU5hnH1/mnbSEqI7d/xgXl7qwmMdL7aq8cVnQiueUgr8gCuVrw51WygXixp4UkMS+/MWtWA4patNnCarfLEVCWWvsVc+ZPTWUFyT/SjUWaYXEbL9ulj6ZL47qQIlalDyto0Wd/9rv+Q==
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>, Jan Beulich
	<jbeulich@suse.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Rahul Singh <rahul.singh@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v9 0/8] SMMU handling for PCIe Passthrough on ARM
Thread-Topic: [PATCH v9 0/8] SMMU handling for PCIe Passthrough on ARM
Thread-Index: AQHblOXbm923M7lmNkiZwraCcQZgOg==
Date: Fri, 14 Mar 2025 13:34:49 +0000
Message-ID: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: 75ea87b3-7ee9-4bc5-b88c-08dd62fcfe79
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?z/OYNNyrExZrur/VDgeNEa3O6bJbT8XIrwx5SHOxN9RtygsRZ/eVr5tHC0?=
 =?iso-8859-1?Q?yLn/MfqRCfPixL384J4kgj3+7AKsggJHzYp4xBB618VxIYOL1ZHfVrISGy?=
 =?iso-8859-1?Q?85AfX9yGgJXsn3ixIq3LBtvilsd0APp59VwS/hFXTkL3MCnhATAPImXi49?=
 =?iso-8859-1?Q?GhiMypVPsocA8LId8h2J1T6HmSbxYaWsAfjRs1SWvd+6YqE1gR4lM0IPJ3?=
 =?iso-8859-1?Q?pQ53xPmwAcQU10VaYK+iT/3N/sBnshQ6PtVGn3FvADAnckVns8u8UjfKGl?=
 =?iso-8859-1?Q?ynenwuv+1tghC/2UOFHuZugcAFJpVveu5L983vAkoW/H/p9UmWgIvUb6Ok?=
 =?iso-8859-1?Q?kBk+cjSjEgjxPAuA2XhItBpkHFNU2FTUxhB5bA3RAiMq4ipzvGRcPhUUQU?=
 =?iso-8859-1?Q?SHXFvBCC6Il5npc8hrJQrLF7tnJRusIGQ8O69wyyy+p0vBuw/Gl+L0tYJS?=
 =?iso-8859-1?Q?gaoT9JuPJV/k9qWwu9c+dHPq0V+Uc2wtz8U1ovXaeQ0fCVpBI3R6Y1+wSM?=
 =?iso-8859-1?Q?1CP8/rXZBPjpeT7CuOkKDz33ccaPPtC4ha597UA8ss/m2JG+0vEF60RTdk?=
 =?iso-8859-1?Q?4yQ02LmwRxkFaNn4vkFrGt74YnJWkYjeiQoz7Viqfljm7d28AHjTCeIEmn?=
 =?iso-8859-1?Q?rwJdaVU+e63mfNzCs/IONVwVsP8MVTc4cPHfVM26KofUmH2UaQ590qbdG9?=
 =?iso-8859-1?Q?iT/KAjpdybWsEpFV9VfwtXmOXTDkybnSk6qGoXkCknyz2WWssKPHtEPgpi?=
 =?iso-8859-1?Q?xmHYZkCCHkd4Pyc7FLmoZQMCyvZAxB2PX2F9XdxYbWbFvNwnRwHbflVl/E?=
 =?iso-8859-1?Q?Hls97RQFs2/eGV/z9PwLfquQbGY5Db5UBs622pS5SFtaYi6efY/7sL7a4g?=
 =?iso-8859-1?Q?OxDmpU1HlB7Zb9eeuRrS2jIvL2iRtb/kr43CmYUkdQzWmwLIO772x/MVn6?=
 =?iso-8859-1?Q?f0yfAO/qdoczpog0Jl2U2X0UZjIEGilxjldrIjU6Q1sZuf2ZH/2VmAa3wd?=
 =?iso-8859-1?Q?nqMP6VIYvaLHoUyUpybIrQ5NlIe2jEWb3724+WQFHUqn7fWCnoRajsqX7+?=
 =?iso-8859-1?Q?SCe8uO/UQLPb/MfJk0dw4QpMgfjCaaSrVMin4zUBjHx0onu4I7B7ghlrMT?=
 =?iso-8859-1?Q?lLuXL5yD5Bj/knA64qoLQ4un/DWXcNjxbMsjBdYLIGYdGq6g1MTnecP7p9?=
 =?iso-8859-1?Q?Oc/fo1xfG91tdcfvgQslHmGzb5Icd8BvKQorTXdw4TErlRoHI7yYSnR+FK?=
 =?iso-8859-1?Q?rxjKrp6KEtm1muBGOhNtd87KO5Tt8cxhkj5NtXrfoBFiDJE2XyUrtf0zT6?=
 =?iso-8859-1?Q?ihRjlXIZq9kQmt7WIwRQ3ggaEt78iYRlIDO/7UTr0b3WCk+r8u7yLdsaPq?=
 =?iso-8859-1?Q?7/z+Iwc84IG7BLAIbhUT72TLs7iFEFNOVfVqwcM/LJNTcymdOOQD3qon/0?=
 =?iso-8859-1?Q?Y5WamVutNRED58yxu7+qerQ82Y416gIEV5KyuB0IZjOqiwn9jAVk1nNWah?=
 =?iso-8859-1?Q?FtZvPC0iognUcVT56TZNE6?=
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)(7416014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?yRF9ptXcr+qCEdFK+eP5WyqUqg8z4GnYGmQdB0pgWCqnnmFZtJ6bPzaU9C?=
 =?iso-8859-1?Q?/QKrXJuKlJ8CApmeWNveHh0Dje1PcrgE4chnBlKLVzoMgmDsU1d7c+mWyY?=
 =?iso-8859-1?Q?C5tm0iS2AdF+wu28zzj8wLo4KoGWG5hzsGcaGvkQrZOuPuEdg4UCQkbn3o?=
 =?iso-8859-1?Q?8t2xRZKnRmDbZUvCl+lK97xnarVtyG62XRuavarl4MfSjk+TI32Z+q9L0b?=
 =?iso-8859-1?Q?ZG/etEZYn7kVrlit9KMQb34YSSjim0OyhzTbO4QHJVKoulZ88HHOjBzPOG?=
 =?iso-8859-1?Q?ZwGTFmy8oGcEgtuNp2crWbcD0i34TYtmQxXwHs5Ywxoab8Lve4J44gmbF3?=
 =?iso-8859-1?Q?F+FnUA3+FF5VaGmhWs2NLMJS0+DPAif+m2aiTRVZlnYCIsE1fxY6p0EMxH?=
 =?iso-8859-1?Q?6MHw0bAxdC+RRjIS9G2IiGuMJDlki2hjfQhQihuhDOvxdymW2LMoGdOwoJ?=
 =?iso-8859-1?Q?/sMPa833LTfm7AtcPFSZy2j4UR4e9PG+fQFKelHVHShCVWMJDor2h39xJS?=
 =?iso-8859-1?Q?wpCBFramR5Zjgw/ackh+QvdGvFTgJngFaPchAWY1A0TrtEmcrv39NSqu3+?=
 =?iso-8859-1?Q?qU7uteYu2HeoD989QHFkOH7KLxBNF4mb2tQoRb54erNGgI9tsoeTX7kJNN?=
 =?iso-8859-1?Q?+XqQNFBKN1XPHp06slupeeYRkMBVk061c4KsME21DCNMcqYeYIe+yQZ5GT?=
 =?iso-8859-1?Q?58tfAFUPX6YgkMottj6Ozo7rp0K7bXwEbAYwKKVrt17Gd5RnK5o3up9luU?=
 =?iso-8859-1?Q?pyd5oTxcKZ4YJknP535RVmQoVGiNNLa3YP6iRWcphF0/W/mrJztYp3+kk3?=
 =?iso-8859-1?Q?HFWF+UuZrLqC1+Uu8xuskIte1u2YFQA6GZK6aaml4uSicGr64LcqJRCKku?=
 =?iso-8859-1?Q?QA5TpCrVLa0zculX6pjcpkXhSi3H//R82NSK53gp3JaNNPZaxpoQd/XBDp?=
 =?iso-8859-1?Q?9VzN7hsUAYkZEDR5mwMTu+rzpFCIBLeZA2Mwyqrp1mDGzc2Odc/lWrp5Wh?=
 =?iso-8859-1?Q?jcABuG8/66cvyw/kXRv+nwtahsAFl45kl6y3RFRMe8fXFNd2IK+biOqdfe?=
 =?iso-8859-1?Q?DayxaiE6CWYh+WLW8huRqV6bPZarRYYnyX4i1scOapFL1qdDrwzJeGS0g+?=
 =?iso-8859-1?Q?qtS7EwtWUL3CuRXVCczTJQvwBaTp5oMJSZJFZH/w90y2OKvAj2lp379U6t?=
 =?iso-8859-1?Q?RdS5vCAqfct0bq0ZNRWI0h1jfQPBA7EplBF+IXAxoH6w9gqogaMw7F9QCA?=
 =?iso-8859-1?Q?CuHl2xFmXV9duDeJkp/tjkhuHytXm0QWUicQSzGg9ZICr0GtQyFbBr3+XZ?=
 =?iso-8859-1?Q?WYYqNTzntw29S1sutgFBFlCRKVqC/srXBOveCDVTsNkEO6gWv7urzdzPlM?=
 =?iso-8859-1?Q?TcBKAlq/FssnU/JRk8cdNsLOmv8svz4ytdPC2NGgeDeNsah+44v3/7awmV?=
 =?iso-8859-1?Q?du8gkyYeDgA5/HI/dNNkhqbh6UaRjyY7aCugHCdNOCc/SwvVcRaSN9Qslh?=
 =?iso-8859-1?Q?nTqs0IDIqQ29ZAjgKAW5xnco9tyIuFSolLFF06Ot0vUH95zj3LeMzffZ+i?=
 =?iso-8859-1?Q?nJS9Wk9IZXyx7g2EBSU7mO3mO4evCUkDe/x0zEZXPDK4JYwciRfKeHwUsi?=
 =?iso-8859-1?Q?5r/Ii3kSdfyOOoBY2D+e5M5xhmedqS99AqNekMqzbTlMDl6CBFqD59Kg?=
 =?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: 75ea87b3-7ee9-4bc5-b88c-08dd62fcfe79
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:49.6790
 (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: nsfKFmZ8p5X7S0jNH+axOAgMtNW/NxppDbLNtsuM1oGW4O/522SpkyBlrAOdMHC977Wp+vOf2oyW4pkUHuHVMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

This series introduces SMMU handling for PCIe passthrough on ARM. These pat=
ches
should be able to be upstreamed independently from the vPCI series [1]. See=
 [2]
for notes about test cases.

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.h=
tml
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-06/msg01135.h=
tml

v8->v9:
* see individual patches

v7->v8:
* no changes

v6->v7:
* drop ("xen/arm: don't pass iommu properties to hwdom for iommu-map")

v5->v6:
* don't revert ("xen/arm: Add cmdline boot option "pci-passthrough =3D <boo=
lean>"")
* add ("xen/arm: enable dom0 to use PCI devices with pci-passthrough=3Dno")

v4->v5:
* drop ("xen/arm: Improve readability of check for registered devices")
* drop ("xen/arm: Move is_protected flag to struct device")
* add ("xen/arm: don't pass iommu properties to hwdom for iommu-map")
* add ("xen/arm: Fix mapping for PCI bridge mmio region")
* revert ("xen/arm: Add cmdline boot option "pci-passthrough =3D <boolean>"=
")
* add ("xen/arm: Map ITS doorbell register to IOMMU page tables.")
* fix test case #1 with PCI device in dom0

v3->v4:
* split a change from ("xen/arm: Move is_protected flag to struct device") =
into
  a new separate patch
* see individual patches for further details

v2->v3:
* drop "pci/arm: Use iommu_add_dt_pci_device()"
* drop "RFC: pci/arm: don't do iommu call for phantom functions"
* move invocation of sideband ID mapping function to add_device()
  platform_ops/iommu_ops hook


Oleksandr Andrushchenko (1):
  xen/arm: smmuv2: Add PCI devices support for SMMUv2

Oleksandr Tyshchenko (2):
  iommu/arm: Add iommu_dt_xlate()
  iommu/arm: Introduce iommu_add_dt_pci_sideband_ids API

Rahul Singh (3):
  xen/arm: smmuv3: Add PCI devices support for SMMUv3
  xen/arm: Fix mapping for PCI bridge mmio region
  xen/arm: Map ITS doorbell register to IOMMU page tables

Stewart Hildebrand (2):
  iommu/arm: iommu_add_dt_pci_sideband_ids phantom handling
  xen/arm: enable dom0 to use PCI devices with pci-passthrough=3Dno

 xen/arch/arm/device.c                 |   2 +-
 xen/arch/arm/domain_build.c           |   2 +-
 xen/arch/arm/include/asm/pci.h        |   5 +-
 xen/arch/arm/pci/pci.c                |  11 +-
 xen/arch/arm/vgic-v3-its.c            |  20 +++
 xen/arch/x86/include/asm/pci.h        |   2 +-
 xen/common/device-tree/device-tree.c  |  91 ++++++++++++
 xen/drivers/passthrough/arm/smmu-v3.c | 117 ++++++++++++++--
 xen/drivers/passthrough/arm/smmu.c    | 190 ++++++++++++++++++++------
 xen/drivers/passthrough/device_tree.c |  91 ++++++++++--
 xen/drivers/passthrough/iommu.c       |  15 ++
 xen/drivers/pci/physdev.c             |   4 +-
 xen/include/xen/device_tree.h         |  23 ++++
 xen/include/xen/iommu.h               |  40 +++++-
 xen/include/xen/pci.h                 |   2 +-
 15 files changed, 534 insertions(+), 81 deletions(-)

--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:34:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914588.1320319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bi-000409-9R; Fri, 14 Mar 2025 13:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914588.1320319; Fri, 14 Mar 2025 13:34: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 1tt5Bi-000400-62; Fri, 14 Mar 2025 13:34:58 +0000
Received: by outflank-mailman (input) for mailman id 914588;
 Fri, 14 Mar 2025 13:34: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bg-0003Jp-Ex
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:56 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d6a46df-00d9-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 14:34:55 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:51 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13:34: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: 1d6a46df-00d9-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cuS0BskdvjXgNGmjlnKVEgcB3XzNFYBbyb0CxqlOcnzLReh+is3W+MI7TV5yx44IigNBfcU17XteQvYOB8niNVo++k+nc4tRu52A+4Md5b+9IzB0pi5mxRFit025O925F5izYlmvPN/gPuJiaubsIUcY1aRA9K8QN/8Ke9mqWoPoTmC4uRc4EJq3Chikjt0ZWfVxZE+pLnM9hIBM/FnB457P4vJU2WPlVHMa2XeFpAU8S9XSBAvLxm63WqZE3HH62Jwgs7DMjBvx6THWAJTR1PR4KRhl2hJCq/rhtfEnIh4P0Q+NMrZZwAKG91pCiiB51rYQcoD9Fuo3y07Vmipc+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=SMWq/RIZ8Sv+e5l/RmuzHBIUH1oPPE/Mvx8WzQabMZ4=;
 b=cMqTzBrwQRqJ9j7j59/+n8qp4fEYPqHCU+QSVVQBprhPrvf6ufM0imXJ6B+brw//oN9JSI2dVxJdI+kg2H7sCP9kj+cvArkz20RXSvzfnFTwJWfJxJmSERLGOle0ZPLFJ5TYyvFNU21XE8BgN7WkDvw/sNiIJMBp0r2EHGDfF1puTaHiNTMrh0uCi3u2tSIi5a5fZJgIynEB3bn3zeoAGAaFK4F/FRskS0I+f9MY/o7cbG8TVgCZ2kwtqJMUNOgJqZtmIKjvisKcGyEJ8e/GXWvBEcx2ap4Tvs+xijpBSAOQqsp+OvFVRW75Iv6vzXU+2+SUr3Ptbm4fvJCIm/wKnA==
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=SMWq/RIZ8Sv+e5l/RmuzHBIUH1oPPE/Mvx8WzQabMZ4=;
 b=uvpjKPtBU+rfGTLhwlEhZ1bID9nbKPE1vN6refCjdKaPsbKrKxrmw89xe5P3Bef91yP1h2fFTIInUY5lNEYDTniThApbFEt6kQQCqZL38K8wU7oIue6sjdrQ1v/1gwKGmNlQxSjAseYECLUGH+4XischsWbL3gMwtLE9dDeWtUhTJh/yyh2nXnpaY2Z4anbaFUiAFeml2/lUQXPEl6w/71g58mrqXJRwClRAObcKzDIiHtYmGncnMD0KI7hSlNskDhKhZUbheg511LygGLSz648OcY/tPDxXoZt4dwwRNJXgXxWxZtGDqbW//qFk3sWwUVZTVsj2iX5arB941v6sPw==
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>
Subject: [PATCH v9 3/8] iommu/arm: iommu_add_dt_pci_sideband_ids phantom
 handling
Thread-Topic: [PATCH v9 3/8] iommu/arm: iommu_add_dt_pci_sideband_ids phantom
 handling
Thread-Index: AQHblOXciFlCTG2d9UO3pZAlFjZPOg==
Date: Fri, 14 Mar 2025 13:34:50 +0000
Message-ID:
 <f9954a18b28b2233ef1478855994ce979a779e76.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: 5c33cf1c-0b4e-4ac6-9148-08dd62fcff39
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|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?nJbHMB7gLCW+0tg+z3a4MqjQvA+cgMlwh2w2fymm2cij+EZVxFlYvrhBkN?=
 =?iso-8859-1?Q?SoY0I04YAC3yoY3cYE0dwvSIxGvtvsUM1wlfMuBOB9aLF4BE3AZTfdH1eZ?=
 =?iso-8859-1?Q?jZwBazXbaRunX+jTvs5sJD+yP7fpBDqCoc0g0Niew41vi+cFjsWLiW7Cav?=
 =?iso-8859-1?Q?A2id6pRad8tdxsRAxC9YhbXYgmFwhfNkHvUUUYzw1RO0Yi+N4LWpVOXGpP?=
 =?iso-8859-1?Q?hYQat8oDAj/YYcd32uAisV0tc8Vjk30BvCw4G9biTrrUzcWblAHUu05RtX?=
 =?iso-8859-1?Q?PYq65DS1frOTx10zv8TwFR5jZOqNnoSCRxtSGc5/fM5ylUM3X35c4rNgYA?=
 =?iso-8859-1?Q?1BauRLHf12pFLDWiqFwOgXGBMzmpES2x3VbqjBbzodo/gsfTq71fw1B58f?=
 =?iso-8859-1?Q?R7o0uZxweg83nuQc4ebMX5OYNk7jlaWd1HwinvOFy71M65u5/P4GJjC9or?=
 =?iso-8859-1?Q?//00jgGT2QEDu+Neql3qJTcPw+ohLbXC8SXqTR/PfjiukjTTvegfnfDOOk?=
 =?iso-8859-1?Q?+IL5XW0xW195lm8Q0T9p1jJsjk5WNo49p6x5S6MUg3NFKd4msHgqRgplpk?=
 =?iso-8859-1?Q?1nfkwOBe5TQ+8W42h43dt92INiwfXdOJ6n9hcDCJWHgSuyro+YCozfUTZQ?=
 =?iso-8859-1?Q?DYS9pQPY+jAcUIzhmiCo5zKb4/KVJgX/sh/4SdmS5dUcXZNtJZkEHoMBcW?=
 =?iso-8859-1?Q?dzg+dnXWnCDsi0Eb6DzRhGx4CEYjZw0wIHYvKQK8JiZMtfJSfXIYPAqqqn?=
 =?iso-8859-1?Q?XnmXdJ+OmufsMV+Y63zD1hVfQcdaybLcQD+oxzFrdc3YJ70RjJ432Buz58?=
 =?iso-8859-1?Q?KmA7EN66pbsuzoZAtQkdrMZLzPnLGviUlxKGJgeVgINzue6y0XiyC6qIy3?=
 =?iso-8859-1?Q?P/cD2YJgMfjCx6Aj549V6uU/ugl75x1uT334RwSxGJ+5LjZerv5zRRlq5q?=
 =?iso-8859-1?Q?xSJmImWBnMJQCWPv8S07HTG7J/c3WJ7CTrNDLA3VvC6Nyzsq+Q4g5MxCK4?=
 =?iso-8859-1?Q?tGBPtpfTIwgZ2xJZt1Q3zBjQxgtTc32aJkO7SkEFfb76+XglBoMgdy9ZEu?=
 =?iso-8859-1?Q?vmiZyW3UmVfJnKAUKDgIWzMvflZm/P6Gm4fHCsFaV4f6RZr6rLal+ccKAH?=
 =?iso-8859-1?Q?4oUnX7j6uAzF+TE2xZIo7OkyZfpvc9B/8P5u1ttxrUhBqeIOBOV5PoJ83M?=
 =?iso-8859-1?Q?Z0Oy4m0fNQQguvlzr2IXis8d4tDM+z+B0BmmTy07cXWBjzBCAlhctd3Hgd?=
 =?iso-8859-1?Q?GeIkjDQmutzYdmYulzZlaMxYC11D1olvnMFpT9WJMQyjkVCE4Gq5vaROQk?=
 =?iso-8859-1?Q?1emx750eHm0DsDTbl7NfZet1dSnc4veZDfkt4yHfZBjZaYBUkKNWB/ZYwB?=
 =?iso-8859-1?Q?1jmj5diNE0q1+IAU5dZV5fPM4QgYnroA/Oh7cupSC4nzYY9rz0m6KBZai3?=
 =?iso-8859-1?Q?o1RngKQ8VY+PvdtaBoOTYXOgEIRUef7YM8YnVyebS7t/3AY1bSVPjqg7yo?=
 =?iso-8859-1?Q?dMPB/2zRn0aebGJ5Bo/vMZ?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Bn3MjBRYhd+6cPCxa7Z6ajj+h+wsUxLMUYVkB9Eb0q2X1V1Nlzc0jtULNq?=
 =?iso-8859-1?Q?NchPi7IGcvRKd64v8bZeepUU62T2+qj7FCK64cT+u4dafPezsxL7yzgU6Z?=
 =?iso-8859-1?Q?sl1aRqhlk9dL8aXzBC2mb0Wl1I5ifLhXE/O0KuwFlg0VamvungPPc2YXuv?=
 =?iso-8859-1?Q?GE+uuPc+SttVtsXsW5HRn6MlNEt1NWRM7kYpJeSeBb4aKYw+AK4jOe1npo?=
 =?iso-8859-1?Q?B1tB7g8v5wvMihSMdA73hAEqF9azPC5ud5moZFsj9S4K8wKAqNSmTJth5P?=
 =?iso-8859-1?Q?wJeZOmLIQidYhxD+pAXb1Clx2Bwlx2SBWTgnIjTrOdY4taeO+4lk69LWQ/?=
 =?iso-8859-1?Q?zPe6QdgPCf0BB37LcmE92EJby8ZpjVbso2yyBHzPk50wkAig1nPXQ+p2yd?=
 =?iso-8859-1?Q?EAIYEb2EmVEV4+4JLRcegtezR+dRclHnfD7qC7Ml8TK3TTY2qNtpdq/5+a?=
 =?iso-8859-1?Q?SAkK2A93NJgLA3KQVBH/IYxSkVCQ3Ht1kHvvfY5UcclmSpSXmCg4XkM/jd?=
 =?iso-8859-1?Q?ZiCkizjbE3vCG3H8aLyqp0yeUSXTn8lTMyPsDwmFX0pQ01Fe9HQS07Eo9w?=
 =?iso-8859-1?Q?xjLrKa3cBsAnRWQgHGNXQwrilydBa5jQoI4Dga6hGCBojiULmgeqo+BHyT?=
 =?iso-8859-1?Q?zpu3TQ0Pv/ta/z7DgkDjFqkBIoEc5CraAMJKBwSIJAFIgaY3gi8PAjF7n5?=
 =?iso-8859-1?Q?EhqcxvEtCG+0HLiS2vF3EscgDXzuvcMxkXJWup1I0gXKsA0HWcGGA58Ku3?=
 =?iso-8859-1?Q?enL7wKtq6TsNt0Vzce4mPx8IlYSJoWLEm+LWZO4Oae/PxLx2cC3zQYuq5f?=
 =?iso-8859-1?Q?nHPq+axBQSon62fJLiD6g2xHrn/pxEyMbcS4ZcRIxIqbJ5yyomk2uTlS5F?=
 =?iso-8859-1?Q?GRVLEgddKYZCq/CqweOWdyjgjEa2ysKTQ310pE8K+YsyVdKcxJm205fEo8?=
 =?iso-8859-1?Q?Ksq9G3voBj60FjuoNwBcVhNskWKutQIhLIvCgbV6qSa0rlgWvUUPGb6EUO?=
 =?iso-8859-1?Q?dShlrnC3UE/luOpnmFR9KwMjIKlVKfHw4DJxwzWvBTF4Surxm9isqyWY0D?=
 =?iso-8859-1?Q?3Py2r4fY9+hex+QPfXd1OWfHcXD4m9UiWgkNKaANBmlgYl7Xgi2e7rFRyf?=
 =?iso-8859-1?Q?gnmvFUdPiWZvv1WKufUUz3hBwOqM7LTi7BYzacWPlC/T1CiboeYLajCuc5?=
 =?iso-8859-1?Q?ElIGaGCEbgR1eqH+i/+jSvfYwYJkiMHxOzP7EkzIi7zAqdCO0wtaudHmE3?=
 =?iso-8859-1?Q?j5GlIHWHFG0X10Ej52OeGQpZX65qvTMiLM2qPNuUnjyP/NUzjesWroJRaq?=
 =?iso-8859-1?Q?2lCuALReh5ojdHlmR5xw5jpW+gGScH0xseCsyk5XQTfwG3Li4IppSm6Nb0?=
 =?iso-8859-1?Q?aW3c4OJ4EFokanDkBek3O/hoIPVwtS81Qh9h3tC6KNdxZxIM97IZVjrDre?=
 =?iso-8859-1?Q?31RowFhgwkaVTF3aHR9DH+g5023mKw9zmgeCiBbXyDrzwKV2tbl8rP3i0J?=
 =?iso-8859-1?Q?yioHMyfIAGBCe2O7c+4GHWaysQPJ3pytMxE3Ykg8cSP8U0Qh39m5sHVvf2?=
 =?iso-8859-1?Q?fZ8eAEgfZvrivEZS2GojpUBAJ4gTuVM8ZK9Fvz41nETawKU3oP+Jbg6Z/G?=
 =?iso-8859-1?Q?VTxJm6ujYt9BRqyoiWlYG3SZKRdWLr0tE1yLuxIuRSq91VMYt4ENkvVw?=
 =?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: 5c33cf1c-0b4e-4ac6-9148-08dd62fcff39
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:50.9215
 (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: Fkxst15m7dLcDTeNQHQy5kJdRKgkiBf4hWrSP0FWl2sbKbBkqE6LHAJcnseSphPJBhdLOC2436S8p1bhQwJvJg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Stewart Hildebrand <stewart.hildebrand@amd.com>

Handle phantom functions in iommu_add_dt_pci_sideband_ids(). Each phantom
function will have a unique requestor ID (RID)/BDF. On ARM, we need to
map/translate the RID/BDF to an AXI stream ID for each phantom function
according to the pci-iommu device tree mapping [1]. The RID/BDF -> AXI stre=
am ID
mapping in DT could allow phantom devices (i.e. devices with phantom functi=
ons)
to use different AXI stream IDs based on the (phantom) function.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-io=
mmu.txt

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v8->v9:
* replace DT_NO_IOMMU with 1

v7->v8:
* no change

v6->v7:
* no change

v5->v6:
* no change

v4->v5:
* no change

v3->v4:
* s/iommu_dt_pci_map_id/dt_map_id/

v2->v3:
* new patch title (was: iommu/arm: iommu_add_dt_pci_device phantom handling=
)
* rework loop to reduce duplication
* s/iommu_fwspec_free(pci_to_dev(pdev))/iommu_fwspec_free(dev)/

v1->v2:
* new patch

---
TODO: investigate Jan's comment [2]
[2] https://lore.kernel.org/xen-devel/806a2978-19fb-4d31-ab6a-35ea7317c8de@=
suse.com/
---
 xen/drivers/passthrough/device_tree.c | 33 ++++++++++++++++-----------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthroug=
h/device_tree.c
index 37e1437b65..f5850a2607 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -169,6 +169,7 @@ int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
     struct device *dev =3D pci_to_dev(pdev);
     const struct dt_device_node *np;
     int rc;
+    unsigned int devfn =3D pdev->devfn;
=20
     if ( !iommu_enabled )
         return 1;
@@ -183,21 +184,27 @@ int iommu_add_dt_pci_sideband_ids(struct pci_dev *pde=
v)
     if ( !np )
         return -ENODEV;
=20
-    /*
-     * According to the Documentation/devicetree/bindings/pci/pci-iommu.tx=
t
-     * from Linux.
-     */
-    rc =3D dt_map_id(np, PCI_BDF(pdev->bus, pdev->devfn), "iommu-map",
-                   "iommu-map-mask", &iommu_spec.np, iommu_spec.args);
-    if ( rc )
-        return (rc =3D=3D -ENODEV) ? 1 : rc;
+    do {
+        /*
+         * According to the Documentation/devicetree/bindings/pci/pci-iomm=
u.txt
+         * from Linux.
+         */
+        rc =3D dt_map_id(np, PCI_BDF(pdev->bus, devfn), "iommu-map",
+                       "iommu-map-mask", &iommu_spec.np, iommu_spec.args);
+        if ( rc )
+            return (rc =3D=3D -ENODEV) ? 1 : rc;
=20
-    rc =3D iommu_dt_xlate(dev, &iommu_spec, ops);
-    if ( rc < 0 )
-    {
-        iommu_fwspec_free(dev);
-        return -EINVAL;
+        rc =3D iommu_dt_xlate(dev, &iommu_spec, ops);
+        if ( rc < 0 )
+        {
+            iommu_fwspec_free(dev);
+            return -EINVAL;
+        }
+
+        devfn +=3D pdev->phantom_stride;
     }
+    while ( (devfn !=3D pdev->devfn) &&
+            (PCI_SLOT(devfn) =3D=3D PCI_SLOT(pdev->devfn)) );
=20
     return rc;
 }
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:34:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914590.1320329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bj-0004AS-4b; Fri, 14 Mar 2025 13:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914590.1320329; Fri, 14 Mar 2025 13: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 1tt5Bi-00049S-Vu; Fri, 14 Mar 2025 13:34:58 +0000
Received: by outflank-mailman (input) for mailman id 914590;
 Fri, 14 Mar 2025 13: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bh-0003qF-Ig
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:57 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e39445a-00d9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 14:34:56 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:52 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13: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: 1e39445a-00d9-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xpmVCBylXIbjNVuIP9r1xrRHGGV43UN1sYS5+EPjJyg9wwM/pego8F60D3cRVFZDE5QgAjxAaIm62HnzLA1BZCvif3JtXVmjTGqUO1u1BJHCavxYD6/54Uuo+NW7q+Sc8rCwhjJ+KprPWnC8TjTffao9NjTYokgAfyy/kv6l3X6tvNL4yfcXUksHoYR7R6hsBbhnkVfprgU+bxTe671KefEgRfwi71BSuS/u1Fcia6ImnWnk0hWajSABKL2X89v7g/gUEKJOPfQRGX7GXuL2jVG3DG8/SWJxv9/sOBmmGNoxp83Bzg/iwA8TekbvRlhsiX9qhGAB5qY/vcCWi5iXyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AOnvZtlfUne5TYRjtHh0jVzbDwrE6SdxYlOQRFmecDo=;
 b=d0d1UseHvepfHyBdFHgWuRLs6Zgz4poBVdQNR3jQ/PsypGrvFf+CL+E5fMLApC7jHU+ws/aZrSNfTlcXXtg6aOj78e26vIYYhnTXgErpVY5BVt4R6u8Jm/PLj0bW6roa/s30C/fH+Y32p4MkYh/UEq2yfELZowtwV/4Nk0NOf+mTy3hqlNTnAbuoufUvE7cjFcYbtLRGOzlLN546TDvgkIzYHBPUzjY6wcZ6CbYq/KsL/9+MkSx2vpt709R7a7y8psVDVmFRIcyGs/9jFmrY6zJ0XNclmvJxUlv11hj+gCDRkqub1HHk+KugaWJ4d77WOWAWd0KzTAIoUYZZMPxW4w==
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=AOnvZtlfUne5TYRjtHh0jVzbDwrE6SdxYlOQRFmecDo=;
 b=aYLO/3YNz1941Se8wKmk0+Dd45dZuiHLBv1wY4zJqErTQHG53CD1wTFtqB2G+yTO4UuZQkBwL6TaJGNq1pvxJbYPKgFHbJki40Ddth59Qazg4/aHskTQX/b+/pXMWI15RBYRTZ2pY7AU/jeRMXmBFkofTTvld0/81DWQro5uM2c3ecTDp3AFtNEqpzsIBD1d8CTHFQ4slsufEqeK5OZguSxkQzbN8O1ob/Izc8S3AdqMEqeQNDbRj2QES5un3Ddljh3Bg4RMMLur96xUxVuArK8IjndUVZ34Q3PeNnsrK7uLGsVYSqtk+xz7ehDCXyErBnFNtcWXyKODGXRZ0AzZgA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Subject: [PATCH v9 5/8] xen/arm: smmuv3: Add PCI devices support for SMMUv3
Thread-Topic: [PATCH v9 5/8] xen/arm: smmuv3: Add PCI devices support for
 SMMUv3
Thread-Index: AQHblOXdhWilNcJfUUy0RIyqDgHtMQ==
Date: Fri, 14 Mar 2025 13:34:52 +0000
Message-ID:
 <96dd4cb828377a5a09881ddb5ee5ded1df3dde1e.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: f99afaf8-76f7-4f3b-c300-08dd62fcffe8
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|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?LxS6X98BoXN8icnEmLF/CdX2rWeahP3yZrMgDGWp1KOzKyio/FDtfrzSuI?=
 =?iso-8859-1?Q?vZ40CI4+QUiLoS78c803Av1r4gyTSu1u1v54c+/84BBcEyT9M75uK38U1i?=
 =?iso-8859-1?Q?V83f3unt892/ewbCPlO8PjvC2PcbT6iH+FJSJ4aL0VliiWoXYMPlNzhIOS?=
 =?iso-8859-1?Q?Gyd9hNlG23esVeftl4ZFQ1GMZgttwEnZUlOsocyVt6rdwCJVOXweTQ859n?=
 =?iso-8859-1?Q?2CXix0+4y5jTlLQBu6CwGGX01loK96d3AvzvVB7wp6J5qSrSiHj6FTNg2Q?=
 =?iso-8859-1?Q?ijqgRWN2MetkmlPpHCH9Oa0lCgYgby+fe50r87xA4hZUTuPX0YWMmMRQLq?=
 =?iso-8859-1?Q?8kuuvw7Xo9XO4adEMx09nKNaHFXMyklU4PL7oE6Jhyu4VLKxtjPW9zoqrQ?=
 =?iso-8859-1?Q?RKeFo4Ca8+dzVbyE7tYIwfSh5dMQZ5WEpZjHtenogX0ojhNfAXejbourwg?=
 =?iso-8859-1?Q?ruVr23Gh/7HSFxFObRyihdqO68Qg7kztOVw9ABVjnBfk131h/4GaniIXfl?=
 =?iso-8859-1?Q?sAXp+cQ86sMenXdM1zl2DlSX/bt2Oq2NLbKetxy2lFCPcs3juaE4/yK5mV?=
 =?iso-8859-1?Q?6eQmoVn92Mp+kWgzpniADNEB4hBboSx/Jmc80wZiLrnfe2eyVFqVra/zfH?=
 =?iso-8859-1?Q?h4g+QoQrjMkA5cC25kuQv7sWpKEgSQsrkpUMMZQk3XSdHxHbrOIYW0kv/7?=
 =?iso-8859-1?Q?kvpI/RfRau5wqlKF9XLdRxiSKDHJ/NaaIalmvQ72wNQxg7n8dv1vB9g4Rs?=
 =?iso-8859-1?Q?FkhH7D1sI+1a+ksQ0QYKOgpWwW4yeQAiVCIQUlOKPdFOqt83mWGaxEOaZ5?=
 =?iso-8859-1?Q?4AYa76+fZ62UMVaHmwxWbsAQoH59IfAxdcOE6V6LhZidd5EvZ+t08ofUqo?=
 =?iso-8859-1?Q?/ljl2hwvwIme4i3m2bbgRn7ZR2gsAkzTmZna4RLIN+CtA6d/5OlZ+Px4Uv?=
 =?iso-8859-1?Q?tOZQnNNBOSKuckSHu2mqPk+R4vnIyPP64myM/mgD2Fmw/g1nrsncIJVyS4?=
 =?iso-8859-1?Q?v5uk3MKfXjzfrhU9P2hZx8hpPIWQ1KkHPqbr+rjP6l4B5rgX/cdi9BbfRn?=
 =?iso-8859-1?Q?QFInZgrqQD5Wv1DwzCCEQGPZGSK6QVzmG9M/EoiZpFvVL3QZ/Su2zcq39C?=
 =?iso-8859-1?Q?4K4DzIwdqPyW7YTRsVpk8m0p7yEcDyAmGfz2qUAUSdbCtjaTtQbfRUfyPr?=
 =?iso-8859-1?Q?dy2ra85dnqJgAWubgjSnW+0pqiMQ7HsHtS3Pp51DWhK69j2FZhJJljnLFR?=
 =?iso-8859-1?Q?lZPndgilKXNZ/epa+dCTwvj023f45j/iPtMWKcagoDEeeeoUy8VOqPWbD+?=
 =?iso-8859-1?Q?iexlQqCkrx/x65zVEX1UOEIMojNWWQszpvVGpeAiDgFduPdlE3vNPg0rWg?=
 =?iso-8859-1?Q?olC6SXTNH9sPkhqaFnCEE1lo6cd/wOJ/C9srtfDJGtJIRoeFS4ogwsMwOZ?=
 =?iso-8859-1?Q?sO+ncefMPD5jsnQ7NFp78E5lcdmNYDmAPySYnmAHEVm5n8RWqnrM6xMEje?=
 =?iso-8859-1?Q?BwXfzBoiBM8BVrr6ilFoAE?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?ImtTEcvWP5ASd/gkv2MP7SlyUYJLyOlgogdVLjb8U8zmq53L/6B/4mztjh?=
 =?iso-8859-1?Q?7GVqubkFw8gDRYkaTtr1FdW61K04qmtRdq0VeXXhq44mkFpRn2s1WDT7tm?=
 =?iso-8859-1?Q?g2eDO5qjeKXRdS1YyfffoO4b8w7BRnZj4sF8LZiBQ4XFa6IKDs2HJLy70+?=
 =?iso-8859-1?Q?60SfFIYy76tuy8eq/mprFQcjaKvjridfTcpCaUNmSXmrc2DCrPo3eI9La1?=
 =?iso-8859-1?Q?5OjMAzFgVmUo2Ah0WAxGYmPxPoE2EqtGSbHWOFhedZg1UNf5X6R4VNfQX/?=
 =?iso-8859-1?Q?bcUeOvN2LK7976LE8hiP1Umy2MTlp+Rtca07HEy9SKEZxQ4j6+RAOHMbwg?=
 =?iso-8859-1?Q?6lK2eZA8DNqNTYk8i5WvhWOVF5JnJPIPOSAYfegCxj3XtLWimMT0Vvz2EB?=
 =?iso-8859-1?Q?4pQ0s9uI4J6yoIiIQt4+tiabO2YdLQWIlMsiKgsHaDj5/KRMt7TXQ8BXiV?=
 =?iso-8859-1?Q?52+nrMPKQsgSOfagJcruuObAHRlMMwm/M1zLlTsRnLAAkAqg+3E/tFwBU8?=
 =?iso-8859-1?Q?lauTfWNnSfXqJ3q/4q2A5MCxR0djuv7pYYXQZXUtLMmdktDlRqOO8yjxq0?=
 =?iso-8859-1?Q?ws6ifR4Q367YAN2nmdB/DK2jFROUJinQUNLEB5mRc9vKWor8YR0lmFrrQU?=
 =?iso-8859-1?Q?GiZS/wRCLXX4xw06HB/fTMjIV4rQjJCQxluFaKBfFSJT23fqeXDnIS4lFk?=
 =?iso-8859-1?Q?qfVUX6XYzav+rAn4UgQ1ubxqYNE3ueHrWmu7sxq+rnSt79zB+gv34+/nuX?=
 =?iso-8859-1?Q?xkr+yWlbZyi2mhIeSM4U7KIb5ZMT9iNt5sXfdMufr4qQyR33knM8pMcSkJ?=
 =?iso-8859-1?Q?ZOc/e1FmEnBQaLhRpUiSKbCpxMUcWEa8NNrPkFWnKmWGiS6jB6T28eZ7dW?=
 =?iso-8859-1?Q?ORvKJCsHb9MLIcpZ8edcSf/XGbquHAa7OcVG1QW9Z8rmWJmF4S8Snp2j8A?=
 =?iso-8859-1?Q?oLLSZLLitfqhmXPWLfKrjQwxXP7uEEudtb+m3i5baYzfqybK5MNn7Ics7P?=
 =?iso-8859-1?Q?mqXNfSAiamCG4DvXcq14CTUqAH0Jmrhlg9nhi0jb0hNeXirYoCRzottW8i?=
 =?iso-8859-1?Q?2mWLMlCwET6DoPCBY0lvWePaSfyWBwoebxZXFF8YURb7GsLaMQ/27LV2Zd?=
 =?iso-8859-1?Q?/pf+AgiiM3w3vKOlb3YYksgBZUdTKvS/ed9uiPH1Ak3YmOGEg4m+8iWPLw?=
 =?iso-8859-1?Q?LnkYE65v0OpX8WrlzGNy4skUheoUbkA1y9d/5xo5azE073AMGkMbICIKnO?=
 =?iso-8859-1?Q?JL39ottVlpsvEvr/j2nbyvJd1TNcMw49hFODPYrtf9KEYy/zyIoQhxEe9x?=
 =?iso-8859-1?Q?53YWyR5coKsdJgHwEyWu2gUoW6VefVwqTWnZtGegpPiBGr9YI5MJJkpMus?=
 =?iso-8859-1?Q?h1c5/CYEXQpMsCmB9ch4qydmaRShPCfD0D7klfJVcqnrpXgWoUXbe/LWl3?=
 =?iso-8859-1?Q?l3MmNUI1YTRoMGecYh6s1N7RzjijKiO9ehsFJz+iOwjanV/CK+uv6fAcPr?=
 =?iso-8859-1?Q?KijRyDeVAkOaaoxD3mX5xRgzhR2qt+7ZS/g7zi4bkc54PzsCuuZbVll5dM?=
 =?iso-8859-1?Q?iXazky/eIK/BEfeeD+WTYEoS6KJYGa7Kx9gMLQoKFmK7P9MzT1t//7uFUx?=
 =?iso-8859-1?Q?5Zra/vJdhd8kabWr9+2ye7jBqlN2/c3ojIaNSUg7kR4NS7D9t1VtTnZw?=
 =?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: f99afaf8-76f7-4f3b-c300-08dd62fcffe8
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:52.0730
 (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: Pt4DvFeag/tssF0DjfCSao0qsIVaQXSrqPsQFw6vrF1JVT+5fJ8HZymwLs0XsKKe7LaCJbw/b7R0T2yoDlxvrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Rahul Singh <rahul.singh@arm.com>

Implement support for PCI devices in the SMMU driver. Trigger iommu-map
parsing when new PCI device is added. Add checks to assign/deassign
functions to ensure PCI devices are handled correctly. Implement basic
quarantining.

All pci devices are automatically assigned to hardware domain if it exists
to ensure it can probe them.

TODO:
Implement scratch page quarantining support.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v8->v9:
* no change

v7->v8:
* no change

v6->v7:
* address TODO: use d->pci_lock in arm_smmu_assign_dev()
* remove !is_hardware_domain and pdev->domain =3D=3D d checks in assign to
  support future dom0less use case when dom0 is using vPCI
* check if pdev->domain exists before assigning to it
* don't print ""
* change assign logic to remove reassign reimplementation
* explain pdev->devfn check
* make reassign check stricter and update comment

v5->v6:
* check for hardware_domain =3D=3D NULL (dom0less test case)
* locking: assign pdev->domain before list_add()

v4->v5:
* deassign from hwdom
* add TODO regarding locking
* fixup after dropping ("xen/arm: Move is_protected flag to struct device")

v3->v4:
* no change

v2->v3:
* rebase
* invoke iommu_add_pci_sideband_ids() from add_device hook

v1->v2:
* ignore add_device/assign_device/reassign_device calls for phantom functio=
ns
  (i.e. devfn !=3D pdev->devfn)

downstream->v1:
* rebase
* move 2 replacements of s/dt_device_set_protected(dev_to_dt(dev))/device_s=
et_protected(dev)/
  from this commit to ("xen/arm: Move is_protected flag to struct device")
  so as to not break ability to bisect
* adjust patch title (remove stray space)
* arm_smmu_(de)assign_dev: return error instead of crashing system
* remove arm_smmu_remove_device() stub
* update condition in arm_smmu_reassign_dev
* style fixup

(cherry picked from commit 7ed6c3ab250d899fe6e893a514278e406a2893e8 from
 the downstream branch poc/pci-passthrough from
 https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
---
 xen/drivers/passthrough/arm/smmu-v3.c | 117 +++++++++++++++++++++++---
 1 file changed, 106 insertions(+), 11 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthroug=
h/arm/smmu-v3.c
index cee5724022..9c7c13f800 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1467,14 +1467,35 @@ static bool arm_smmu_sid_in_range(struct arm_smmu_d=
evice *smmu, u32 sid)
 }
 /* Forward declaration */
 static struct arm_smmu_device *arm_smmu_get_by_dev(const struct device *de=
v);
+static int arm_smmu_assign_dev(struct domain *d, u8 devfn, struct device *=
dev,
+			       u32 flag);
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
+				 struct device *dev);
=20
 static int arm_smmu_add_device(u8 devfn, struct device *dev)
 {
 	int i, ret;
 	struct arm_smmu_device *smmu;
 	struct arm_smmu_master *master;
-	struct iommu_fwspec *fwspec =3D dev_iommu_fwspec_get(dev);
+	struct iommu_fwspec *fwspec;
+
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+		int ret;
+			=09
+		/* Ignore calls for phantom functions */
+		if ( devfn !=3D pdev->devfn )
+			return 0;
+
+		ret =3D iommu_add_pci_sideband_ids(pdev);
+		if ( ret < 0 )
+			iommu_fwspec_free(dev);
+	}
+#endif
=20
+	fwspec =3D dev_iommu_fwspec_get(dev);
 	if (!fwspec)
 		return -ENODEV;
=20
@@ -1519,17 +1540,38 @@ static int arm_smmu_add_device(u8 devfn, struct dev=
ice *dev)
 	 */
 	arm_smmu_enable_pasid(master);
=20
-	if (dt_device_is_protected(dev_to_dt(dev))) {
-		dev_err(dev, "Already added to SMMUv3\n");
-		return -EEXIST;
-	}
+	if ( !dev_is_pci(dev) )
+	{
+		if (dt_device_is_protected(dev_to_dt(dev))) {
+			dev_err(dev, "Already added to SMMUv3\n");
+			return -EEXIST;
+		}
=20
-	/* Let Xen know that the master device is protected by an IOMMU. */
-	dt_device_set_protected(dev_to_dt(dev));
+		/* Let Xen know that the master device is protected by an IOMMU. */
+		dt_device_set_protected(dev_to_dt(dev));
+	}
=20
 	dev_info(dev, "Added master device (SMMUv3 %s StreamIds %u)\n",
 			dev_name(fwspec->iommu_dev), fwspec->num_ids);
=20
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+
+		/*
+		 * During PHYSDEVOP_pci_device_add, Xen does not assign the
+		 * device, so we must do it here.
+		 */
+		if ( pdev->domain )
+		{
+			ret =3D arm_smmu_assign_dev(pdev->domain, devfn, dev, 0);
+			if (ret)
+				goto err_free_master;
+		}
+	}
+#endif
+
 	return 0;
=20
 err_free_master:
@@ -2622,6 +2664,42 @@ static int arm_smmu_assign_dev(struct domain *d, u8 =
devfn,
 	struct arm_smmu_domain *smmu_domain;
 	struct arm_smmu_xen_domain *xen_domain =3D dom_iommu(d)->arch.priv;
=20
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+
+		/* Ignore calls for phantom functions */
+		if ( devfn !=3D pdev->devfn )
+			return 0;
+
+		ASSERT(pcidevs_locked());
+
+		write_lock(&pdev->domain->pci_lock);
+		list_del(&pdev->domain_list);
+		write_unlock(&pdev->domain->pci_lock);
+
+		pdev->domain =3D d;
+
+		write_lock(&d->pci_lock);
+		list_add(&pdev->domain_list, &d->pdev_list);
+		write_unlock(&d->pci_lock);
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d =3D=3D dom_io )
+		{
+			struct arm_smmu_master *master =3D dev_iommu_priv_get(dev);
+			if ( !iommu_quarantine )
+				return 0;
+
+			if ( master && master->domain )
+				arm_smmu_deassign_dev(master->domain->d, devfn, dev);
+
+			return 0;
+		}
+	}
+#endif
+
 	spin_lock(&xen_domain->lock);
=20
 	/*
@@ -2655,7 +2733,7 @@ out:
 	return ret;
 }
=20
-static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn, struct d=
evice *dev)
 {
 	struct iommu_domain *io_domain =3D arm_smmu_get_domain(d, dev);
 	struct arm_smmu_xen_domain *xen_domain =3D dom_iommu(d)->arch.priv;
@@ -2667,6 +2745,21 @@ static int arm_smmu_deassign_dev(struct domain *d, s=
truct device *dev)
 		return -ESRCH;
 	}
=20
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+
+		/* Ignore calls for phantom functions */
+		if ( devfn !=3D pdev->devfn )
+			return 0;
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d =3D=3D dom_io )
+			return 0;
+	}
+#endif
+
 	spin_lock(&xen_domain->lock);
=20
 	arm_smmu_detach_dev(master);
@@ -2685,14 +2778,16 @@ static int arm_smmu_reassign_dev(struct domain *s, =
struct domain *t,
 {
 	int ret =3D 0;
=20
-	/* Don't allow remapping on other domain than hwdom */
-	if ( t && !is_hardware_domain(t) )
+	/* Don't allow remapping on other domain than hwdom
+	 * or dom_io for PCI devices
+	 */
+	if ( t && !is_hardware_domain(t) && (t !=3D dom_io || !dev_is_pci(dev)) )
 		return -EPERM;
=20
 	if (t =3D=3D s)
 		return 0;
=20
-	ret =3D arm_smmu_deassign_dev(s, dev);
+	ret =3D arm_smmu_deassign_dev(s, devfn, dev);
 	if (ret)
 		return ret;
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:35:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914591.1320345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bk-0004e5-Jf; Fri, 14 Mar 2025 13:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914591.1320345; Fri, 14 Mar 2025 13:35: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 1tt5Bk-0004cY-BW; Fri, 14 Mar 2025 13:35:00 +0000
Received: by outflank-mailman (input) for mailman id 914591;
 Fri, 14 Mar 2025 13:34: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bi-0003Jp-8J
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:58 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e45e93e-00d9-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 14:34:56 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:51 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13:34: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: 1e45e93e-00d9-11f0-9898-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TYH0MHqdIpodfM/Ujls4y3CxU3cM7rK/e547b27S62ELuvOw6JWKalxUrNENnm/GVruNm+gRoI3n/wuXTK+F4/+mUMVIX+c+4tgvvoatz4M8JceVpvYP6RfyGIK5kWVckjJDbInDFqMgv/UOnDuetEeT9S4Z32rfLgeAgMKfcXKKn9G67CyWw9n0U4VBMO6hRZ4aTkFN1xh/LhWv+hZKHKkhhJKhYJ5A7AOPnIZjZzSNWe4QE8B3Zac2ehpAmY80M4vak04OJ5u33Xwf0nwps6pILT6dqan21sWe63uPGa8Jfov7rxLgFGgELaygcHzU+NkRidTl/ZCy5EgfFc/C1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Hlh1zQAkMfzGRpHne5rgWyDdp0BZ3vC2SDvajq3D2NQ=;
 b=YdoJ9UAd8u+lMyU7nYPUhSZuOvdzfXCBuVZ2NuNUk7cbhnb1fp37m/K18sxuOdhWr0rYag3JpN1aa1aZgNjsqWzDuA/Ex3t93lUBtYpMzaqTMC62dj+y0+pGBD1cdwkbrLEPQ8Zr8ak20UMDsDaLOJ/hxpJLKN1IROBL28Qc6GK6JB6k/yNhyjOyXmbwE5GcwQp2KrHzdpQ2ALGjxA1UBaYZwGmMWUSWkVg7Gp+nKy1yiyF0XKjkqU5ZWrHPI4HamBgKOVK4mQFrbGHL8qe7MZeg0HzoamNUOje79xIvjMca0zoZCw/pajnkrmsvv4FwFpugoVCaRLWinVy6Jq8PzA==
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=Hlh1zQAkMfzGRpHne5rgWyDdp0BZ3vC2SDvajq3D2NQ=;
 b=EfT3vowE4udA1AeGMHA0iqipQCpKvNQu24r6B7QZ0489aDZMdKmX6XobH+pfc5DAZdqDgfUGXIdrkAK8XI0tP75/766SIVkdpmOHJjIfF6KqbadAEJZTX0OkcWZeiG6PUz9CD++yySRuRNRb+E260zxb9n69fTizTYz3LVD2z2wCVmaY9b3agndCO8XjDP+F2ciLDY+JtsOhja9htFlWAJlEZ5jBo54qPnHSZDOtHyQy83aFNSSAoOeI00HDmbyrizbcjJqFh+Oe37knAvE68xpJK+THfmp5hbzzZB2Egj/tIxiBrDh43KywbtBXyzaJgbTaRCUtTekMm9oASuqRdQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, Julien Grall
	<julien@xen.org>, Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Subject: [PATCH v9 4/8] xen/arm: smmuv2: Add PCI devices support for SMMUv2
Thread-Topic: [PATCH v9 4/8] xen/arm: smmuv2: Add PCI devices support for
 SMMUv2
Thread-Index: AQHblOXddxnGJU9kEEekiYRuY9GmSQ==
Date: Fri, 14 Mar 2025 13:34:51 +0000
Message-ID:
 <fa31ae5fa173348b4c0abf714d3c32f182e8860b.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: b403bdee-5be6-4d57-46f5-08dd62fcff89
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|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?3OWXJbPuzxvCaQhUW1lO0GXp+94vhIsGuwEXiUw7mJ7PTWRpngmt1BawAt?=
 =?iso-8859-1?Q?X9Yfp/oDVWhdeNNqT6Mc4TWbWb+S41Y/RYCg23HGcU8mgOOuaKtZjvsrYO?=
 =?iso-8859-1?Q?Iq4GfRBfuYKTvWpaCxFPfEbDBYMp8u4rJh/hr09R0k+OVfUJ6ogguWz0Ph?=
 =?iso-8859-1?Q?rZoH6/jaRa84R9wXahI3gJmcDBkeNymwdHiNQfXMycI1zTFCk1t2afm+8p?=
 =?iso-8859-1?Q?5Gg62yQY26jlBf+h6vadtJ+6lrKeISD0pUriRb+wG8ZlCuCGhjVZhudWcI?=
 =?iso-8859-1?Q?IEcwjcza8+/wOg2boiaDDqsLTl19UxC5A4IJBZoh+Apj8ZpohjPs3ZLcFe?=
 =?iso-8859-1?Q?rDw292XiL/8G9qrBTuAZznK+4VZpt2wzViqnRGoXxE9xCPVzQMBK/nyz4K?=
 =?iso-8859-1?Q?WxWUyOb+GG1NyQIlk/wTTBQxsEkWxy7E/oULdlEcuDZxweQaDX2XuC4iq5?=
 =?iso-8859-1?Q?DtJa+/pcgxw7j9bp0roQkcM7NFD16ixmrSpF+xx8mLQK21SXHtvR5JG8cQ?=
 =?iso-8859-1?Q?lMrQj5Jlq91vvGIIHuLeHACvij0wgsSK8Clcw1hnEeDyOD2XYM/F6xC6Yh?=
 =?iso-8859-1?Q?Ka4tQIbj5lhXTNh8cwr6o5IDNd3pX5Zh8+1J2OLxnJuBBRwXQI0ihKtTzS?=
 =?iso-8859-1?Q?dv3vjWRdkLtzL/GIs88TVbJhnb3JNA27BjcZVOWuezzkLha/VFqDG8JUK0?=
 =?iso-8859-1?Q?abxAQPw42kHlmqdLs9suz/SWQYXpfeGPO5vtBZlhW7yoPZSfGvbr4+PPQj?=
 =?iso-8859-1?Q?TbHX1W3KAGuw7x8Y/nrEc0gFZx/aCGh3k0R7qGxoFxTPKLPRSzAjyClqL6?=
 =?iso-8859-1?Q?JgXRCXDsvCQeJuJcA/g1TgG4yMXQvOxKr8t4GZpKlga8KAqtF+EEepT6xZ?=
 =?iso-8859-1?Q?xjGJOH/AmGEgy7va9iYVuErAnLTtH3wsBsUx1iRRZV1ehm/0uoDpRbUjKa?=
 =?iso-8859-1?Q?TCGKZeggU4Uc3H8UUJyhQhzJIX06QBSawbt73rZANq5Gn2P6NsVYYfpFRM?=
 =?iso-8859-1?Q?5NRXbEeShrX/k0meP/6x2BYENwkUy6KYltKFN28tjIMUNRcpbusp/DDTPT?=
 =?iso-8859-1?Q?zLoS+2Qa7UCxRuBcmmBg1JRvVqLBStyCPon4I2F5gltm2V0UjMTybbClhd?=
 =?iso-8859-1?Q?mAbLrFe7pPwvqfZBpxfpM8t5Qxe4UZ0bdorgL/m5GRHwtvgwtaLMXn2ydK?=
 =?iso-8859-1?Q?UZkhF/u4d+j1yHxCGS9E6lZNEuE91d3EAl4kkhq5tN2cXVgMmva07H3o2I?=
 =?iso-8859-1?Q?Ue9OOskwflMosURH8seKjvdWSsuGr+nu/GsVWrGW0FpoMLG4Ig/mQfZnw4?=
 =?iso-8859-1?Q?mWYUx0/LhsrrsdrrwnqlsoPfrqZP3zUJwYhMN81NWDfDVtvTp6oN1k6A0v?=
 =?iso-8859-1?Q?E1+ndm0NX+sCO63/lZ4zZ95WlQtMGtIQhqbiX8IAOWjUou19wS/z6AfHKB?=
 =?iso-8859-1?Q?jp983OIQNvvlEd+xKQRpdXkdi7vafqGWuh6N1uZIsPCbM8gXBNyxjcDkUR?=
 =?iso-8859-1?Q?XOPXrcIL4IiYix+bxPXheO?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?N9zQNIcRgFCcPaVWJvh2bi6vtkFPJPS+QFV+QeWDJ7S7Yf+ZEUceFCJln3?=
 =?iso-8859-1?Q?ofYi7HpcjQVjzFcontPnIxk5B3k0odBj8Qzud/PonZG8NdnHOIV+5tr7MC?=
 =?iso-8859-1?Q?CtzcBxyomffQvmIccyr+/3MUQ1ococLCsIoLLOzZiPHC1wqhD7Bra69tJC?=
 =?iso-8859-1?Q?NV3+Ika8DRKT4HTGj1pMJwDVyWqgNnxH9zNHlADLfybViUUEHKKWTRj8Uf?=
 =?iso-8859-1?Q?Yuy1RcBbE10MAZ7RegTGE5m2zpQ/Ig0/MNSlpBxHGzmc60oDFj+cJ2nw/R?=
 =?iso-8859-1?Q?57Gr6+OWYmU3lI/qRfNrAVs6C0dpGt9NQzND07zOs8B1tcS6XfB7UYt/FF?=
 =?iso-8859-1?Q?9J2vwB7ZaNL5FhsNgh3j0LxKFy/8FnbRPAWrFY5gj3KdtRkX9CUBllf2nC?=
 =?iso-8859-1?Q?lC34B8CYbZXw7S11ONcGXLD+Wmy+h+fCF5JP62zAzIXA8C/E7GOlXfVsKw?=
 =?iso-8859-1?Q?ODiUfEOYkQGbBJv7rFrHm0TvksXH6Arepzn72n0c8GdgDi+Rr2um9dl/1Z?=
 =?iso-8859-1?Q?4kwD0M4dW9RxWfkZ2WAjyCXg1wvYMCnx4x12d5TUSYO5B1iIWmG1pYGh5c?=
 =?iso-8859-1?Q?I9AfxihioJSqSFKb4ipgrAo/RkuRls5+184gH6Z2yJ/vSeJe5c7h+8Z0RB?=
 =?iso-8859-1?Q?y2iX/K7EPAUbJDsX2M1hl2xl2eJDoqXZRpQ4xc/K3CJrpeO1pa4l+IC2ee?=
 =?iso-8859-1?Q?GiTF31y5y4nxe90wAZD5RJUp556bqZng0xG/J8TbaAC7MCU3aHPET8y5Ki?=
 =?iso-8859-1?Q?kHET6guqPP95Rvn3TIiXTTDqv5QeSjUD0e92WWpmvOAoJHyq8kJtVGkSIJ?=
 =?iso-8859-1?Q?De5wx4vfLnctu/I9vqDc143feUstXvlzRQ3PboxQrcj6da44ZdBYMzB+W8?=
 =?iso-8859-1?Q?LODyZ6jUOMcAA/OfQ9JlF3zWqS7OcLv0OdpfA4Fa7WDoJTdDbYd/0YU2U9?=
 =?iso-8859-1?Q?VnXnFH5VN6DtbCgIgqVh+QNx1XgtvaOT5WxoR7PQQie5WiwnuF0hURdPc/?=
 =?iso-8859-1?Q?I1/9e94eLU8RK5Euqkx2DSGW90u9PeBDKyoxuNGB4tXruSBuvg3V4jP7jD?=
 =?iso-8859-1?Q?0nsdL5Efy0qGdBjwgT9jPZr/FrZA+CrWurboQwWxsl5un3RkDNiOa27ygy?=
 =?iso-8859-1?Q?VMNStVIE61fjZ41nZLvelJcGfbByZiHunjHq7Qos6NmfDbyAVVS32slPRO?=
 =?iso-8859-1?Q?7mK8kCrXscLgcnw49uk1YNa+5/yAgm2NZ+9oSTjoEl4TPnVMKnbTnXRWHM?=
 =?iso-8859-1?Q?H6XHLdTb+oNpjOFD4BORGSNFKdngTrSyHWupzohlbhfBqpn7+wPYbzMIK4?=
 =?iso-8859-1?Q?nYXlO490eTsdOxqIpL1DClohssPjFWyNCefZ0LRFHcUGXZHSmf1wyqOg87?=
 =?iso-8859-1?Q?tv7Ajt2gGDjeSnbLdXmieauuaaEuMgC0FjejVjIFd7YiKl7yk9PHMk0cH2?=
 =?iso-8859-1?Q?MpAfZ5S6hKx0VeSdAiuJmp6tLttABU5RI7Ben45n3+BCY7ZQWbAN1vbQSl?=
 =?iso-8859-1?Q?qPbqkKZr0sC5cXKKcLorAQojxVFba0RrVfI/E6WYofEJdjmskGs+bK3/sC?=
 =?iso-8859-1?Q?dHXv0MR/yIreHHRQ+iSLLfMSVS6Y1tzKI3GuoHK6i2S4jH555nMFNIJo2L?=
 =?iso-8859-1?Q?cQt6WNuDdevFGzUYhu1APGWBxMAuyLNsGY7fJ1fsBDK2HIBLiIhYe+lA?=
 =?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: b403bdee-5be6-4d57-46f5-08dd62fcff89
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:51.4846
 (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: J3Ur7ngx001xinORw+D5pr7nXuBUMG8ggTXXaP7XIoD8+8220inLD+3W46Ws8Us+HilNUwZO5w/nGYGlvEvFCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Implement support for PCI devices in the SMMU driver. Make arm_smmu_master
structure to hold a pointer to the device to allow it to hold PCI devices.
Trigger iommu-map parsing when new PCI device is added. Add checks to
assign/deassign functions to ensure PCI devices are handled correctly.
Implement basic quarantining.

All pci devices are automatically assigned to hardware domain if it exists
to ensure it can probe them.

TODO:
Implement scratch page quarantining support.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v8->v9:
* no change

v7->v8:
* no change

v6->v7:
* use d->pci_lock in arm_smmu_assign_dev()
* remove !is_hardware_domain and pdev->domain =3D=3D d checks in assign to
  support future dom0less use case when dom0 is using vPCI
* remove stale todo in dev_get_dev_node
* don't print ""
* remove redundant dt_device_is_protected check
* remove assign/deassing prints
* change assign logic to remove reassign reimplementation
* check if pdev->domain exists before assigning to it
* explain pdev->devfn check
* make reassign check stricter and update comment

v5->v6:
* check for hardware_domain =3D=3D NULL (dom0less test case)
* locking: assign pdev->domain before list_add()

v4->v5:
* assign device to pdev->domain (usually dom0) by default in add_device() h=
ook
* deassign from hwdom
* rebase on top of ("dynamic node programming using overlay dtbo") series
* remove TODO in comment about device prints
* add TODO regarding locking
* fixup after dropping ("xen/arm: Move is_protected flag to struct device")

v3->v4:
* add new device_is_protected check in add_device hook to match SMMUv3 and
  IPMMU-VMSA drivers

v2->v3:
* invoke iommu_add_pci_sideband_ids() from add_device hook

v1->v2:
* ignore add_device/assign_device/reassign_device calls for phantom functio=
ns
  (i.e. devfn !=3D pdev->devfn)

downstream->v1:
* wrap unused function in #ifdef 0
* remove the remove_device() stub since it was submitted separately to the =
list
  [XEN][PATCH v6 12/19] xen/smmu: Add remove_device callback for smmu_iommu=
 ops
  https://lists.xenproject.org/archives/html/xen-devel/2023-05/msg00204.htm=
l
* arm_smmu_(de)assign_dev: return error instead of crashing system
* update condition in arm_smmu_reassign_dev
* style fixup
* add && !is_hardware_domain(d) into condition in arm_smmu_assign_dev()

(cherry picked from commit 0c11a7f65f044c26d87d1e27ac6283ef1f9cfb7a from
 the downstream branch spider-master from
 https://github.com/xen-troops/xen.git)
---
 xen/drivers/passthrough/arm/smmu.c | 190 ++++++++++++++++++++++-------
 1 file changed, 147 insertions(+), 43 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/a=
rm/smmu.c
index 03d22bce1e..cfddcbb1ad 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -132,11 +132,21 @@ enum irqreturn {
=20
 typedef enum irqreturn irqreturn_t;
=20
-/* Device logger functions
- * TODO: Handle PCI
- */
-#define dev_print(dev, lvl, fmt, ...)						\
-	 printk(lvl "smmu: %s: " fmt, dt_node_full_name(dev_to_dt(dev)), ## __VA_=
ARGS__)
+/* Device logger functions */
+#ifndef CONFIG_HAS_PCI
+#define dev_print(dev, lvl, fmt, ...)    \
+    printk(lvl "smmu: %s: " fmt, dev_name(dev), ## __VA_ARGS__)
+#else
+#define dev_print(dev, lvl, fmt, ...) ({                                \
+    if ( !dev_is_pci((dev)) )                                           \
+        printk(lvl "smmu: %s: " fmt, dev_name((dev)), ## __VA_ARGS__);  \
+    else                                                                \
+    {                                                                   \
+        struct pci_dev *pdev =3D dev_to_pci((dev));                       =
\
+        printk(lvl "smmu: %pp: " fmt, &pdev->sbdf, ## __VA_ARGS__);     \
+    }                                                                   \
+})
+#endif
=20
 #define dev_dbg(dev, fmt, ...) dev_print(dev, XENLOG_DEBUG, fmt, ## __VA_A=
RGS__)
 #define dev_notice(dev, fmt, ...) dev_print(dev, XENLOG_INFO, fmt, ## __VA=
_ARGS__)
@@ -188,6 +198,7 @@ static void __iomem *devm_ioremap_resource(struct devic=
e *dev,
  * Xen: PCI functions
  * TODO: It should be implemented when PCI will be supported
  */
+#if 0 /* unused */
 #define to_pci_dev(dev)	(NULL)
 static inline int pci_for_each_dma_alias(struct pci_dev *pdev,
 					 int (*fn) (struct pci_dev *pdev,
@@ -197,6 +208,7 @@ static inline int pci_for_each_dma_alias(struct pci_dev=
 *pdev,
 	BUG();
 	return 0;
 }
+#endif
=20
 /* Xen: misc */
 #define PHYS_MASK_SHIFT		PADDR_BITS
@@ -631,7 +643,7 @@ struct arm_smmu_master_cfg {
 	for (i =3D 0; idx =3D (cfg)->smendx[i], (i) < (num); ++(i))
=20
 struct arm_smmu_master {
-	struct device_node		*of_node;
+	struct device			*dev;
 	struct rb_node			node;
 	struct arm_smmu_master_cfg	cfg;
 };
@@ -723,7 +735,7 @@ arm_smmu_get_fwspec(struct arm_smmu_master_cfg *cfg)
 {
 	struct arm_smmu_master *master =3D container_of(cfg,
 			                                      struct arm_smmu_master, cfg);
-	return dev_iommu_fwspec_get(&master->of_node->dev);
+	return dev_iommu_fwspec_get(master->dev);
 }
=20
 static void parse_driver_options(struct arm_smmu_device *smmu)
@@ -742,21 +754,11 @@ static void parse_driver_options(struct arm_smmu_devi=
ce *smmu)
=20
 static struct device_node *dev_get_dev_node(struct device *dev)
 {
-#if 0 /* Xen: TODO: Add support for PCI */
-	if (dev_is_pci(dev)) {
-		struct pci_bus *bus =3D to_pci_dev(dev)->bus;
-
-		while (!pci_is_root_bus(bus))
-			bus =3D bus->parent;
-		return bus->bridge->parent->of_node;
-	}
-#endif
-
 	return dev->of_node;
 }
=20
 static struct arm_smmu_master *find_smmu_master(struct arm_smmu_device *sm=
mu,
-						struct device_node *dev_node)
+						struct device *dev)
 {
 	struct rb_node *node =3D smmu->masters.rb_node;
=20
@@ -765,9 +767,9 @@ static struct arm_smmu_master *find_smmu_master(struct =
arm_smmu_device *smmu,
=20
 		master =3D container_of(node, struct arm_smmu_master, node);
=20
-		if (dev_node < master->of_node)
+		if (dev < master->dev)
 			node =3D node->rb_left;
-		else if (dev_node > master->of_node)
+		else if (dev > master->dev)
 			node =3D node->rb_right;
 		else
 			return master;
@@ -802,9 +804,9 @@ static int insert_smmu_master(struct arm_smmu_device *s=
mmu,
 			=3D container_of(*new, struct arm_smmu_master, node);
=20
 		parent =3D *new;
-		if (master->of_node < this->of_node)
+		if (master->dev < this->dev)
 			new =3D &((*new)->rb_left);
-		else if (master->of_node > this->of_node)
+		else if (master->dev > this->dev)
 			new =3D &((*new)->rb_right);
 		else
 			return -EEXIST;
@@ -836,28 +838,30 @@ static int arm_smmu_dt_add_device_legacy(struct arm_s=
mmu_device *smmu,
 	struct arm_smmu_master *master;
 	struct device_node *dev_node =3D dev_get_dev_node(dev);
=20
-	master =3D find_smmu_master(smmu, dev_node);
+	master =3D find_smmu_master(smmu, dev);
 	if (master) {
 		dev_err(dev,
-			"rejecting multiple registrations for master device %s\n",
-			dev_node->name);
+			"rejecting multiple registrations for master device\n");
 		return -EBUSY;
 	}
=20
 	master =3D devm_kzalloc(dev, sizeof(*master), GFP_KERNEL);
 	if (!master)
 		return -ENOMEM;
-	master->of_node =3D dev_node;
+	master->dev =3D dev;
=20
-	/* Xen: Let Xen know that the device is protected by an SMMU */
-	dt_device_set_protected(dev_node);
+	if ( !dev_is_pci(dev) )
+	{
+		/* Xen: Let Xen know that the device is protected by an SMMU */
+		dt_device_set_protected(dev_node);
+	}
=20
 	for (i =3D 0; i < fwspec->num_ids; ++i) {
 		if (!(smmu->features & ARM_SMMU_FEAT_STREAM_MATCH) &&
 		     (fwspec->ids[i] >=3D smmu->num_mapping_groups)) {
 			dev_err(dev,
-				"stream ID for master device %s greater than maximum allowed (%d)\n",
-				dev_node->name, smmu->num_mapping_groups);
+				"SMMU stream ID %d is greater than maximum allowed (%d)\n",
+				fwspec->ids[i], smmu->num_mapping_groups);
 			return -ERANGE;
 		}
 		master->cfg.smendx[i] =3D INVALID_SMENDX;
@@ -872,7 +876,7 @@ static int arm_smmu_dt_remove_device_legacy(struct arm_=
smmu_device *smmu,
 	struct device_node *dev_node =3D dev_get_dev_node(dev);
 	int ret;
=20
-	master =3D find_smmu_master(smmu, dev_node);
+	master =3D find_smmu_master(smmu, dev);
 	if (master =3D=3D NULL) {
 		dev_err(dev,
 			"No registrations found for master device %s\n",
@@ -884,8 +888,9 @@ static int arm_smmu_dt_remove_device_legacy(struct arm_=
smmu_device *smmu,
 	if (ret)
 		return ret;
=20
-	/* Protected by dt_host_lock and dtdevs_lock as caller holds these locks.=
 */
-	dev_node->is_protected =3D false;
+	if ( !dev_is_pci(dev) )
+		/* Protected by dt_host_lock and dtdevs_lock as caller holds these locks=
. */
+		dev_node->is_protected =3D false;
=20
 	kfree(master);
 	return 0;
@@ -914,6 +919,12 @@ static int register_smmu_master(struct arm_smmu_device=
 *smmu,
 					     fwspec);
 }
=20
+/* Forward declaration */
+static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
+			       struct device *dev, u32 flag);
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
+				 struct device *dev);
+
 /*
  * The driver which supports generic IOMMU DT bindings must have this
  * callback implemented.
@@ -938,6 +949,23 @@ static int arm_smmu_dt_add_device_generic(u8 devfn, st=
ruct device *dev)
 {
 	struct arm_smmu_device *smmu;
 	struct iommu_fwspec *fwspec;
+	int ret;
+
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+		int ret;
+
+		/* Ignore calls for phantom functions */
+		if ( devfn !=3D pdev->devfn )
+			return 0;
+
+		ret =3D iommu_add_pci_sideband_ids(pdev);
+		if ( ret < 0 )
+			iommu_fwspec_free(dev);
+	}
+#endif
=20
 	fwspec =3D dev_iommu_fwspec_get(dev);
 	if (fwspec =3D=3D NULL)
@@ -947,7 +975,25 @@ static int arm_smmu_dt_add_device_generic(u8 devfn, st=
ruct device *dev)
 	if (smmu =3D=3D NULL)
 		return -ENXIO;
=20
-	return arm_smmu_dt_add_device_legacy(smmu, dev, fwspec);
+	ret =3D arm_smmu_dt_add_device_legacy(smmu, dev, fwspec);
+	if ( ret )
+		return ret;
+
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+
+		/*
+		 * During PHYSDEVOP_pci_device_add, Xen does not assign the
+		 * device, so we must do it here.
+		 */
+		if ( pdev->domain )
+			ret =3D arm_smmu_assign_dev(pdev->domain, devfn, dev, 0);
+	}
+#endif
+
+	return ret;
 }
=20
 static int arm_smmu_dt_xlate_generic(struct device *dev,
@@ -970,11 +1016,10 @@ static struct arm_smmu_device *find_smmu_for_device(=
struct device *dev)
 {
 	struct arm_smmu_device *smmu;
 	struct arm_smmu_master *master =3D NULL;
-	struct device_node *dev_node =3D dev_get_dev_node(dev);
=20
 	spin_lock(&arm_smmu_devices_lock);
 	list_for_each_entry(smmu, &arm_smmu_devices, list) {
-		master =3D find_smmu_master(smmu, dev_node);
+		master =3D find_smmu_master(smmu, dev);
 		if (master)
 			break;
 	}
@@ -2066,6 +2111,7 @@ static bool arm_smmu_capable(enum iommu_cap cap)
 }
 #endif
=20
+#if 0 /* Not used */
 static int __arm_smmu_get_pci_sid(struct pci_dev *pdev, u16 alias, void *d=
ata)
 {
 	*((u16 *)data) =3D alias;
@@ -2076,6 +2122,7 @@ static void __arm_smmu_release_pci_iommudata(void *da=
ta)
 {
 	kfree(data);
 }
+#endif
=20
 static int arm_smmu_add_device(struct device *dev)
 {
@@ -2083,12 +2130,13 @@ static int arm_smmu_add_device(struct device *dev)
 	struct arm_smmu_master_cfg *cfg;
 	struct iommu_group *group;
 	void (*releasefn)(void *data) =3D NULL;
-	int ret;
=20
 	smmu =3D find_smmu_for_device(dev);
 	if (!smmu)
 		return -ENODEV;
=20
+	/* There is no need to distinguish here, thanks to PCI-IOMMU DT bindings =
*/
+#if 0
 	if (dev_is_pci(dev)) {
 		struct pci_dev *pdev =3D to_pci_dev(dev);
 		struct iommu_fwspec *fwspec;
@@ -2113,10 +2161,12 @@ static int arm_smmu_add_device(struct device *dev)
 				       &fwspec->ids[0]);
 		releasefn =3D __arm_smmu_release_pci_iommudata;
 		cfg->smmu =3D smmu;
-	} else {
+	} else
+#endif
+	{
 		struct arm_smmu_master *master;
=20
-		master =3D find_smmu_master(smmu, dev->of_node);
+		master =3D find_smmu_master(smmu, dev);
 		if (!master) {
 			return -ENODEV;
 		}
@@ -2784,6 +2834,42 @@ static int arm_smmu_assign_dev(struct domain *d, u8 =
devfn,
 			return -ENOMEM;
 	}
=20
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+
+		/* Ignore calls for phantom functions */
+		if ( devfn !=3D pdev->devfn )
+			return 0;
+
+		ASSERT(pcidevs_locked());
+
+		write_lock(&pdev->domain->pci_lock);
+		list_del(&pdev->domain_list);
+		write_unlock(&pdev->domain->pci_lock);
+
+		pdev->domain =3D d;
+
+		write_lock(&d->pci_lock);
+		list_add(&pdev->domain_list, &d->pdev_list);
+		write_unlock(&d->pci_lock);
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d =3D=3D dom_io )
+		{
+			struct iommu_domain *domain =3D dev_iommu_domain(dev);
+			if ( !iommu_quarantine )
+				return 0;
+
+			if ( domain && domain->priv )
+				arm_smmu_deassign_dev(domain->priv->cfg.domain, devfn, dev);
+
+			return 0;
+		}
+	}
+#endif
+
 	if (!dev_iommu_group(dev)) {
 		ret =3D arm_smmu_add_device(dev);
 		if (ret)
@@ -2833,11 +2919,27 @@ out:
 	return ret;
 }
=20
-static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
+				 struct device *dev)
 {
 	struct iommu_domain *domain =3D dev_iommu_domain(dev);
 	struct arm_smmu_xen_domain *xen_domain;
=20
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev =3D dev_to_pci(dev);
+
+		/* Ignore calls for phantom functions */
+		if ( devfn !=3D pdev->devfn )
+			return 0;
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d =3D=3D dom_io )
+			return 0;
+	}
+#endif
+
 	xen_domain =3D dom_iommu(d)->arch.priv;
=20
 	if (!domain || domain->priv->cfg.domain !=3D d) {
@@ -2864,14 +2966,16 @@ static int arm_smmu_reassign_dev(struct domain *s, =
struct domain *t,
 {
 	int ret =3D 0;
=20
-	/* Don't allow remapping on other domain than hwdom */
-	if ( t && !is_hardware_domain(t) )
+	/* Don't allow remapping on other domain than hwdom
+	 * or dom_io for PCI devices
+	 */
+	if ( t && !is_hardware_domain(t) && (t !=3D dom_io || !dev_is_pci(dev)) )
 		return -EPERM;
=20
 	if (t =3D=3D s)
 		return 0;
=20
-	ret =3D arm_smmu_deassign_dev(s, dev);
+	ret =3D arm_smmu_deassign_dev(s, devfn, dev);
 	if (ret)
 		return ret;
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:35:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914592.1320350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bl-0004kl-3Z; Fri, 14 Mar 2025 13:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914592.1320350; Fri, 14 Mar 2025 13: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 1tt5Bk-0004jC-R9; Fri, 14 Mar 2025 13:35:00 +0000
Received: by outflank-mailman (input) for mailman id 914592;
 Fri, 14 Mar 2025 13:34: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bi-0003qF-Ij
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:58 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e96aaa1-00d9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 14:34:57 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:52 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13: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: 1e96aaa1-00d9-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=n2FX7YtnXU26EmXw/Wcq3gqtxohaEsdOEEzYUihSEr2JptRQgcsbs0OPkU2TFZMMn/iKP4WI15U7+W3WsVzzObqMEMSdZMMKZLQy5By40j8SyB2S4Oru9qHrmxcA1FLF/AlR/vdI5J+k30jBleuWjgxgKFdxo2RvV5dZnPcoVEruW4s+g4uHWaLSln5CnpkDEKGJFkm5sZ5hnPgstV6OAfQ16Kv+CPAR6MJngBM07GscMISgUGNnlCCpaeVo1rtHAE5btDEjLz5PztUDSsOedIXNbjWDgp3VaqOO2S/5pUr+SofhLCURFz9bwQxlRilK/r4K6STMYgAIPSHo3YvHlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pXb77dvoSIicJfrdR1ZABgIlCW7Hf5cEU2GUFGRcKJs=;
 b=a70Z1vhPh9s90UPkohH0swHYYL09a60pav+8rLKVcvlDKAp6XeBT0mSdCP871BmN+Jnzh8A8YFmzW58Z1NRtC1aJy2+2Y4cnUMQT/eqQTatpHDNvpZsWqYO8n/1yZ62N2x1h+paK6i7L5ZfTL16H4r0AZAFFHq7iUheEOcFfEuXIw3y3Hm0QBIEJ0Zfz06DVZxIn2mdF1sYViWLedod1VYlDC+bn3FSpSwvjv/2vhK9d9iPlQ/waDPPPuLvzKjzmJHNnZQjYebGYJBKh4OggAc7OYK56SylnJ4xSGGhDOgQlw38Zzy+9Yf7gKEOUqXQ8YHCYY3DBjW28ajs2vXeFWA==
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=pXb77dvoSIicJfrdR1ZABgIlCW7Hf5cEU2GUFGRcKJs=;
 b=L51lqS/Tig8lD0J+hSSBEG/AntrmeIP+gGpDk56gZxK/bFU6xKefHM0I3Z9o0ObZFtuyNAMWWahVySjLIDXcpKXfnxLai800XKWFsy5glf8MX8M6bksyxuY1jAXMkanQq0KV+3858w+TcThcFVrZd8m1Kl9QzrBzxH0iO9wtwJBI8GQMSFD/kPJ98Zzm1G7aQdL+DrGh49db5QMzILhzg0bgTTvPW5oE2vhGfJRza7ZM80VH/vxopcMGhus/DNvbY94FxMHNhNA8wWuZr7F1DQsbDuelGVRnXnUI3JzOHYz0oze3InLMKZgBLRuMq9RvrjEmRMQrtTjkK3Uura83Ew==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@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>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 6/8] xen/arm: Fix mapping for PCI bridge mmio region
Thread-Topic: [PATCH v9 6/8] xen/arm: Fix mapping for PCI bridge mmio region
Thread-Index: AQHblOXd3SOsXym3+kS43vL/VEJ0fg==
Date: Fri, 14 Mar 2025 13:34:52 +0000
Message-ID:
 <06c0eae067d00df58a47dc1506d8624c8ebc52d5.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: 7b8a5f84-4a62-4cbe-0f18-08dd62fd0022
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|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?G3iGtIpdIrtKpnYlLn4R95JUAsGTn0P7BY0Hy2jFrDcYfQIwaePmNdPJ/z?=
 =?iso-8859-1?Q?HAnhxS6gEnTUR23rQMSj18VaCvvGiyQpvKEI+h9LoDAIf/pab4+mxqSDBB?=
 =?iso-8859-1?Q?WpGiCPIVYIioJLNPZojRpjyyHIONMs3kLtnlLUFuBiUqHHQsd+pe9MSbXZ?=
 =?iso-8859-1?Q?Zs/4LRB/HoH4j7pom0rODcrccAVctCE5jazCgXHcBZ4XXuJK+BDZqDAIC1?=
 =?iso-8859-1?Q?pTW3T21SH95ykPwQ9IW1vl4+aYzvec9qnN7J5dxt0BcpkBQ0GXRlJChq+Z?=
 =?iso-8859-1?Q?mhm5DavJk5OkT5qx2z+PHQEz0VVL472x1LWKb0kcZU0pLWtNwTUSUI/Ih4?=
 =?iso-8859-1?Q?6wJefhRcXcXqVjX74Jsel7RicaC94003cSOEyiqKAcvOmBfzE/3stwGtlQ?=
 =?iso-8859-1?Q?FH9ZzfIQ6mHr8KVKFNs2XpIrx1jYja98Ta0YPnlDhZC5m5f3NJegviPf/u?=
 =?iso-8859-1?Q?+LYSxbr7M+acqEDnUwQd5mDJUD730/k9TxJNdXryq7IIxizNVpe7GlkI78?=
 =?iso-8859-1?Q?vjcDijRw2jpywyBq555gHSwVAoEa6xJYgs0XNVBqvyAF1dJxaYC3dEL+uj?=
 =?iso-8859-1?Q?KrT4FXCwdycWn4bh9Dc3aO8/sX3VmiwAAGgdcpPaTNuwELKNYLr5tC7mXe?=
 =?iso-8859-1?Q?mX6Bli4GDNRN6SSqs7QTGp+gW8pnwNfDMckFG7kWR3ZtLSlvL6h2gG/JLF?=
 =?iso-8859-1?Q?G2eYzvnlA7L6CoRXClgCaKiXtVg7aFnvD7FTtVWxal4FfqkhxadOuiZ440?=
 =?iso-8859-1?Q?+T9QiRS1mi1OMfdNSh1X9w1bst4/j0obNyi7fePeqNMywJQlNK65JgOSmt?=
 =?iso-8859-1?Q?HYKhxMVZLo1Kzpx/6VGYjJIvzoWNBvPWiXsQ3SG/6wDHMAp7N3fYlQvVFa?=
 =?iso-8859-1?Q?ZdNxGHao80E3BcUr8+IY22yHW0e0TbYvDj+azLD5as8cRNgUlSzXxi1Af5?=
 =?iso-8859-1?Q?KeeUsiY6Ysw8uu6/702XZ9YDRR+1bLB82HulkL68aXhmI0iMQT3b7Dp3BQ?=
 =?iso-8859-1?Q?ETDJIpnl4fWd0/QNAWkQc8rQKDA3yq0LvCmWDiLPI+Q5D+icZTtdlo+W/y?=
 =?iso-8859-1?Q?QG9NJmo+BRRvBvCofJ4V7VbToCztRT+My2otDa+GYLyhdHCV3iIuc+8wOK?=
 =?iso-8859-1?Q?KlQtLOYa615wDgjvgd30Gc+v+epLzo50y0DH14MJIyxi8BHOt13Y3MonjI?=
 =?iso-8859-1?Q?bW7GRzTciGojTOl6WilJeGLuBZ0YTY7ZxdbGnE3jUNx8CTUlnQBK74X9XW?=
 =?iso-8859-1?Q?RuFRcaUNqRZoMcDhLhQNYE3sFdUlH2eRrJNsgNXhiz0ZoJ+DqOQQ+hSp0E?=
 =?iso-8859-1?Q?ScCcM2uneXBfR+67Yoy3SU+gfBUhw8BqcsQdw8cJPyq0edU4Du5HVn3uQu?=
 =?iso-8859-1?Q?htDzejwlBEnbIrpWcYt+e94mV3XsMvj7PBnsvtTApi9Ky9SlUdZJtE2vk3?=
 =?iso-8859-1?Q?2Fp+vFdBgqMRl89Udupqu5zXDj++BN9mA+lR+FbrW1PsH+TII5A4gN3UxT?=
 =?iso-8859-1?Q?zsfipdw+UVFF6Wlrzde2p+?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?MQcZVenzu2tDSneANZom+omF8QOyS7t5FEvHhQ88txaK1eUn8EqXQs9W0x?=
 =?iso-8859-1?Q?VwVz7HQcvVDlee4cfFrLoSlm7K+emflsE97E/PBKK2FrXYrHFqsiIabviG?=
 =?iso-8859-1?Q?V12XbqqC/Q6Xbe7pUuvqg+0vr6isjS5tcuJgZspzq75JWRremsagV8v8hY?=
 =?iso-8859-1?Q?l1Uj3V0GNKCDcwc7Eu/QmsgaH2pCONxoII9rh+odnjMviFGIWsAzogjf0s?=
 =?iso-8859-1?Q?27Z51CtfuI3x8nqD4aWZOGauz5L6wSX/CUpe+aVqKETEZnGhUCDcdCWsFV?=
 =?iso-8859-1?Q?n3yF4JyYGvJgzu6h5sOt8x0PO2Rzq34i4UYyaHTUlOSSMzyb+oXwElcZgN?=
 =?iso-8859-1?Q?9JJKLN3BuGR8Fjt/nFrwKXfAJyj5E9nahhchdFEf0C/WGqWzJl+VsEdE56?=
 =?iso-8859-1?Q?oaXCLykq7jTk+ignfhq87DTNjDKo0LyW7c37BXGW+EpPpRGUmRBbxiyPH4?=
 =?iso-8859-1?Q?W8BoBBwaaAyz09GQusE1DmzpqT0z02VHA2biW06hYCOiMa0qHv5lgA/D5h?=
 =?iso-8859-1?Q?qkprjR2YvldHouHB3PgEm5X8y5Q2woG1Pm76IOlD5RJQ1nT7vUgLOO7L76?=
 =?iso-8859-1?Q?mJrSyCDFR9e0Jn64/rC9ERVoghb7yxF2O5niVC+tUpxBIVjycSIU4n7iPw?=
 =?iso-8859-1?Q?VPjx39HUqipYH0MHYOVqURUZNxEcXmG2wmN3cuBdgRl9IzhfSkYKQdKiP7?=
 =?iso-8859-1?Q?E8/vMBU61G8jmXvdwzqp8GcP3oECo9LaaO0/nMuDzSQ/E7y/btunwLkcd7?=
 =?iso-8859-1?Q?mm6HZojCItCJwnciH3c5ZFTQ4IXAcBVVT1wT5pHl0msUTWEq4jmfaAACql?=
 =?iso-8859-1?Q?OjcUFSwHOxI7xW3DZLCw3vsr416BfRaGv8N/VQzFSIk+3qZuPDW/aGlfCB?=
 =?iso-8859-1?Q?ghJMlDfkq/SiuZEort4ZHvhJWxy5OGxO1v/J06XxMnjzVX8x24ik5opP8I?=
 =?iso-8859-1?Q?cmMEltGrVbAJKuPph2w2nFitdLnpulkgIAIlZR+PCMZCJ4/YxBMDmdzvjj?=
 =?iso-8859-1?Q?0rewvn5KPnSrIEfIYrXP3/szinG86HOHTFkFUTTnFplbQ6eYUBkGSI4xmQ?=
 =?iso-8859-1?Q?xQRL7NVDd9/N41isQ1/ZSjLDuec61zbk58rwcM4K+9fleaoWz3w8ajwQu1?=
 =?iso-8859-1?Q?DxErcgqE+cbN1jZTyOc/Dm20yuPS0ANECgipT0CPQRfZaUwgIeyhQrte0E?=
 =?iso-8859-1?Q?oE2Co4/7nV5BofJdAItrWNxjA/dLlywTEiSVVh6xf0rVOU8w5ey3U3Dmdw?=
 =?iso-8859-1?Q?GObN+n5/lThDqI+KJwJQzJ373Us1OTEA+AndXGeBXaOVFxRxzQ1JFJDtl2?=
 =?iso-8859-1?Q?Ez7Qxpo2pGz1/2oKCuRES/5La2mjZt8AdevmL0FhbEcDc9k0hDyPGUL3MR?=
 =?iso-8859-1?Q?OTPbQt7DPkEOCe/RIJF6g+rBaohOxMJV7o42kjKeo//3tAu7spVFQSD9eG?=
 =?iso-8859-1?Q?77Je4nGPCGnJOsD5iABzYpI2BRCDwV81xbr4eAY/+JTZVaS2YAJ3229/vM?=
 =?iso-8859-1?Q?ISxYdDSfnELAU0dJXiy8/tzomCaIv0dEpczXtAMF0AqWe1sDnl5+EDvJ56?=
 =?iso-8859-1?Q?v4ixBjLk/7KZH01JSO8YKikYsbpz+owPVwOQYzCuXJXmZkJLKFKPNLpWBo?=
 =?iso-8859-1?Q?w6NeAXNIptyNj7CDYwUAD+VGDaKs9CIiMD1C2ZCf0dboVo6KR8eyU7LQ?=
 =?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: 7b8a5f84-4a62-4cbe-0f18-08dd62fd0022
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:52.4598
 (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: evY0Ns7NWZkJvQYir3T4MxmZN5ZFhf6+J6rRB4y9dP/n1EEDag4CXpCDOPFUYHdTPOm2z9GFPvR8hyjX7Q5FGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Rahul Singh <rahul.singh@arm.com>

Current code skip the mapping for PCI bridge MMIO region to dom0 when
pci_passthrough_enabled flag is set. Mapping should be skip when
has_vpci(d) is enabled for the domain, as we need to skip the mapping
only when VPCI handler are registered for ECAM.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
This patch was originally picked up from [1]

v8->v9:
* no change

v7->v8:
* no change

v6->v7:
* add Julien's A-b

v5->v6:
* drop unrelated change in xen/arch/arm/domain_build.c:handle_linux_pci_dom=
ain()

v4->v5:
* new patch

changes since picking up from [1]:
* rebase on top of "dynamic node programming using overlay dtbo" series
* replace !is_pci_passthrough_enabled() check with !IS_ENABLED(CONFIG_HAS_P=
CI)
  instead of removing

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00483.h=
tml
---
 xen/arch/arm/device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 5610cddcba..25847d60ee 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -268,7 +268,7 @@ int handle_device(struct domain *d, struct dt_device_no=
de *dev, p2m_type_t p2mt,
         .d =3D d,
         .p2mt =3D p2mt,
         .skip_mapping =3D !own_device ||
-                        (is_pci_passthrough_enabled() &&
+                        (has_vpci(d) &&
                         (device_get_class(dev) =3D=3D DEVICE_PCI_HOSTBRIDG=
E)),
         .iomem_ranges =3D iomem_ranges,
         .irq_ranges =3D irq_ranges
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:35:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:35:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914593.1320361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bm-0004yN-1W; Fri, 14 Mar 2025 13:35:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914593.1320361; Fri, 14 Mar 2025 13: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 1tt5Bl-0004vu-MU; Fri, 14 Mar 2025 13:35:01 +0000
Received: by outflank-mailman (input) for mailman id 914593;
 Fri, 14 Mar 2025 13:34: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bj-0003qF-In
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:34:59 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1edd2130-00d9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 14:34:57 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:52 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13: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: 1edd2130-00d9-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H17FcS0p92UXBV10OqnDNtTgPDr2ST/w9wjWjMGsXZkm28n3aIsWQlfIc3Viq4Jhm0gdZlcBb+VRfTYvwFxd/7lOHtmk95yrRCN2tvtncFxpnLMesj46quc+Z31LzmprqSg4n1kqHDAY6OWHT6mATSNcS7cZ4kUhm6TBvM79Wx5zQe36uKDHcQ9DafNkAfcy2Fh7vGzo9BE9wEgZXnkmd1RWrsHIO33YHh7X3uANlOJRngee/vnBR9jA6eDdSRf3Yx5ha7kdAoThoBw2khDQPzrgnZKzzeUNZAhsLCu3utfFcl0mc/t1k3hIoEYtWcS3H10FO5UP4zxQtN+8CNIPZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EaRGqv75WxAf8THVDvfxaEKJIBwr3hKe+EXX/PX1zC4=;
 b=yJipVeqWxemi5sczUOZUJ+dqoDZNELkOtb3A5h7lthZ6qB0qAtob25X+BsQZDpRazabXi+u/AU6rlTzobTGwKkFoplUii5XsUVs/CDewgb/qcnLzQRYr7yAWpEyZyApY5+eDM/bI0czIpwD420fG/qquhDfFBYh031OuhBR55NjBruIdRgC2FcUhmSIJFTmnjN94F89iajlzbjorLATU4twhaC72AS/fiWs9uk7gv3DuZPQoTROyC2+8Nxgb5zyG+VzQHdlx7tpiO19KP7l00fAgF3wUYThkmCXiZMOtXoh8IFk1o/4NbLsnmLsGadQiUBbxkMqYzYmonnSW7DJpyQ==
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=EaRGqv75WxAf8THVDvfxaEKJIBwr3hKe+EXX/PX1zC4=;
 b=iTdSeSVHjsulmiOTZyT8Vz6fnS2wWi1JswO4ElWc8Ou5T8khlqtYoam0ByQS8mPI7/F9bsgsET91hfwENwieORXVSkXtWlA3vqPJR6tmReSdRuGoaUpeFCaMN4lr8/uO7aQjUCyGTeXcdbxelsMHdLSWblqrdLlNP/t91+blWpcoJsywskruiGY9gypKbyCrV0ggfVkDPx9sCCZ+1WuDyFl1vkqut7BssfRR8KqprvopUIMm82bsu/StSgV0ijYw870mXhQwX2oZWrqwCrk7u2xPt7GN5OelqJTYAMfLbq9gmaH/3a2oNZTDNesq/M5U2Lc10jntWgRgwxzKSL+79w==
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 v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
Thread-Topic: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
Thread-Index: AQHblOXdxbIbbkNtn0WSg/9tW2OJ4w==
Date: Fri, 14 Mar 2025 13:34:52 +0000
Message-ID:
 <132afbca390edd6e9fd7b1ffacf6c5aff0d29aa7.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: 3e689cb4-be74-4205-7ca0-08dd62fd0051
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|7416014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?623gYspX7xb2vep0uxzy/w6XEvNd3qnZq96K7y0pF0goF/3YT7DI9gLGpW?=
 =?iso-8859-1?Q?OQbTIWJHdw3Dgp3ZriNJGc+CaYATU5h7d3unWOQbEdkZLWZr3ddjfkNen/?=
 =?iso-8859-1?Q?ALXYXAl6nXL82fs9XgcRictEGi7S0ufznJJD6+BLEaR7ifeebhT76KMQ6G?=
 =?iso-8859-1?Q?Ec70bIKmg5tjg2BGei/yu53kAmqg0ME4GyH/aPDY47gDPvIyf/ChsxEWAA?=
 =?iso-8859-1?Q?u+5deSKMEMw5A9Ym6sEFmDnAntltblIQ96hnkzdDOE3DZpzRTkEhzys6R1?=
 =?iso-8859-1?Q?G9lq0dYqhlWgSnUPrVexqjafPgQG+eew4axlEEtrSXi8yCLiMj5oRfvCwh?=
 =?iso-8859-1?Q?YYj8LjQ9yUWlda/EgBsl3UO3U71+VgjupPsOOKoJ6FHh0Y80Qx/q7MV7tO?=
 =?iso-8859-1?Q?fFWPfl+IOFFFxVxbDwYuhTTv/6wZb02PQ8Zx2nm8nGXBjq8Lk77sgg58lg?=
 =?iso-8859-1?Q?XZieBmIqXO8fNmB/BGddnbPvNMMV7uVpg1kggA5HoqPn8Lw21b9YbJidEl?=
 =?iso-8859-1?Q?v5uek85kd2Cmp8OERrHcR4ftnC2J9ThAotmns1eFkexWJ7Ze1LBtQpAysl?=
 =?iso-8859-1?Q?Bp8g/yrl5kUW997gcKUudZNDRgxyLIyyfzMC3paW4JWLRiddYxCRRB5V9Y?=
 =?iso-8859-1?Q?HrQHU6M8pYEDA/sDvuoYg7oEAyQ96hUjpgKjmHQ5WuVFsNNNAlvkna5VBn?=
 =?iso-8859-1?Q?vQHdg6L2GznzWguZZXM5wKT80qYe45L2iGKhdem7oOVwI724VCLiLvlS0F?=
 =?iso-8859-1?Q?gYGQbys5Q7uRqzxlUl9d/vuE4K1iMR49SJet5AXalvC/Ftqtwkgyy0azny?=
 =?iso-8859-1?Q?1i6Vd+jasOZjSpZYtJ1O6tUjxnE+Z2f90OXNsaCpAZRVkGVMyE0nqogrDe?=
 =?iso-8859-1?Q?29pcQd76+Upgcc8PodPONhosoFSapVi9OrNg/OjbSrrnq4rzDoThsHKEpg?=
 =?iso-8859-1?Q?geAC6hvg0A2EKf3f4ggEXXergEyCMS53LkxWxkqYTbl9D4sgIPee76xyga?=
 =?iso-8859-1?Q?C9O9Thcyk/ig2ZiYGPCmkQTUoTWc5dMwYiSgP9iYWv7FZ3Uwrps8G71GPX?=
 =?iso-8859-1?Q?H+KuW2dl/s5mp+oAPdK0WAT4ALKaEAyqItL9QN8annHvaDXROs+RS783CA?=
 =?iso-8859-1?Q?7sBwUkrr+2J2deVLpWrLOA2ZhDdkaaW3TVEj81G+zCBGIMKEvgfOehtdCX?=
 =?iso-8859-1?Q?IZs9c6pS3ogeObHhe/bT/rB9wjuZdG0fVFfkvb+WOKFZ2xeI8IwjrkCDYV?=
 =?iso-8859-1?Q?KGN3g/54HrNZD5cQNM1zK8nGwDbmGEA/gQC8JQsxRhoTR7U4/1RwOMiCvo?=
 =?iso-8859-1?Q?Fqm5Zd8VreN2h/4oY6cnFxiHgsgubER/Fok3nmK2A2BnfozB8rvd/XYc7f?=
 =?iso-8859-1?Q?o9ORps8eN2Wrv7+dFUKlfJOHcTvakM6aFFsz9rGqlK42LcbZkv69l5Pdn+?=
 =?iso-8859-1?Q?9xlrh8GPMoJLCXK3VQpdMIj4GArdI+BqqBQ07CMSDTb0dTlY/O1lu2MpH0?=
 =?iso-8859-1?Q?nYbTjaTHi0/8N3EqH3cEXK?=
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)(7416014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Lplortc0chmLAfVv/vDeG5DkcR+5jWx4NVCPgy4mPiaUnHAhGF5WUngI5I?=
 =?iso-8859-1?Q?waMe3oqugDYZIrDI2ZwIYOLWCZV3/UxbPlYLxpfcmoutg7CFkPXziGaHi9?=
 =?iso-8859-1?Q?pZORQdsv97L2R1umS9vUtCt4ugaizy1KAUl1KWIGluDzijv6G7GuPwdipz?=
 =?iso-8859-1?Q?eSiwenszco86+x3L3QYrwhbsXpn3uOh71qOhLlg+TUVxona5dGovdSQqqa?=
 =?iso-8859-1?Q?vNrYgarapaZ3xv2KlMPUTViabp8+5Zvo2wvOL2AWMLp6GOdG61jZAZhJbC?=
 =?iso-8859-1?Q?GOFfPAtNua1tRHjMfpHqABxVAeoEo1/1QIXq0lAJboPAlFlCNJMnoUty+g?=
 =?iso-8859-1?Q?0/EkJfNJa6KBjBcWNED1HKliwZEhOsn399oo6i1WwF2+rQ19bcVUDfQtFz?=
 =?iso-8859-1?Q?qScEw6/ws5hKgwmUZnMfMaYT0z+UohEK3rMqLZref/8TLG+bKGv15s5t9A?=
 =?iso-8859-1?Q?ASqdm7h1EFuHi7d1+difutFnIcVBMZU8QLI8TKZacWbn/NYI0ilKijNiwK?=
 =?iso-8859-1?Q?xLe4fFZ21bOwtz99fiduWdeZisjpJcoLaW4QeFlkorX2ipbBhwLn2QSHk8?=
 =?iso-8859-1?Q?TqDw8kB+Ft4GGjnpumPJEkxMPJ4h1dhhQaBX6NVbg8APyTh7xCNTZ0n5zO?=
 =?iso-8859-1?Q?YFq/JYcbWwU1L1A+K48+fi7fcUhzYmhDWZ1cAxyzxWd3BxFNEyas1Rk4fP?=
 =?iso-8859-1?Q?b8hzlf9UBgnehWFpm1rxqAY1JU42IH+Eieskgae2AhjJxSxt9rFtVPHcbS?=
 =?iso-8859-1?Q?miUBh9zF9zjfpuypAv2oFYu1awWsVCQJS62OoLJaku84QMvHBsXFzWjtZx?=
 =?iso-8859-1?Q?QsdTF+JDVqAEjnY80WzOdT+DXs6dxB2AY2zwT3HI2PReaLEy1HvrpEaZpp?=
 =?iso-8859-1?Q?Hzd1CgHWHKdVKZxYYgJWHcFsIL+Gc3IKrsDaFA1twhMZU7/ZA6DNPZjjFn?=
 =?iso-8859-1?Q?NBjDoXeIB31+kuLDJDs2ZnexLdAGmC5oNAzks5ZAOQDMmEAex4Yvf+cOu5?=
 =?iso-8859-1?Q?CiJYVv3XzSR5EunDNBML/ilgpRd/3Qv75/BSQt7vatjriil8DTRFtBV0zc?=
 =?iso-8859-1?Q?Vlp7IW0C8uH4HBMQCSW6i2bhYeJMRRgURWTUQiJVI0PMzAiAwpMIwLAn+4?=
 =?iso-8859-1?Q?5Klb3+nYDsh3DYHAmvFv/PwyIM1P/xSvs7iGVLVzocXXwGD3O+TS+gYX02?=
 =?iso-8859-1?Q?dKwfSSHiWFzHwVrD9thOzn+UtDG404nt10+byDZxk7+q8VFJMk7m+Jql/F?=
 =?iso-8859-1?Q?t3WmICyf5Vxk/DwUnDt9mRgGBLEMPP/G23s4mh3HoKEqA2EJnOCHYVxU9h?=
 =?iso-8859-1?Q?eBHQ9wrK2bpIRerOIITanZN9x/6nCxWONzddfwztkNwV/kwcJUN8BCUt8T?=
 =?iso-8859-1?Q?NOgVdBaBxkTKzUAh0ivpnu2/TcDg29YugrgYsrMEuhhs/lldmBDIVbTWbr?=
 =?iso-8859-1?Q?Z50fDDf6H2au+lnwV0GQjRv4os20pmVnX5o1JKiHc19ryH5+pHdy2ZO7X/?=
 =?iso-8859-1?Q?WUERj8miOFr6R9jiNOvW8aWeOmMmZHS1Yyt+h61tOeWD9buahLrbOUivvm?=
 =?iso-8859-1?Q?YRzZWkijgVhEOTok0SvqeyvlTAV72qf3JWDKi9FSOxSEopKfl/jXdi5ibp?=
 =?iso-8859-1?Q?vj48Ewm56zKvWZTwibaX16TRerMdp33g0JIGUwNy21cHIB5VstN2TrKA?=
 =?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: 3e689cb4-be74-4205-7ca0-08dd62fd0051
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:52.7943
 (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: 1sGrimxQX2RPkBZg7yYF8RXmuEKGmeHmK58SGOHE3AOK+ZwUbXjXDe0iu/Vi/NfR6xffKbRba7R6LqA/DiI9hg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Stewart Hildebrand <stewart.hildebrand@amd.com>

Enable the use of IOMMU + PCI in dom0 without having to specify
"pci-passthrough=3Dyes". We rely on dom0 to initialize the PCI controller
and perform a PHYSDEVOP_pci_device_add call to add each device to SMMU.

Enable pci_init() for initializing Xen's internal PCI subsystem, and
allow PHYSDEVOP_pci_device_add when pci-passthrough is disabled.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
hmm. Since
  dec9e02f3190 ("xen: avoid generation of stub <asm/pci.h> header")
Should we also move is_pci_passthrough_enabled() back to xen/arch/arm/inclu=
de/asm/pci.h ?
Not sure if PPC/RISC-V will plan on using this check.

v8-v9:
* move iommu_enabled check inside is_pci_passthrough_enabled()

v7->v8:
* bring back x86 definition of is_pci_passthrough_enabled()

v6->v7:
* remove x86 definition of is_pci_passthrough_enabled()
* update comments
* make pci_physdev_op checks stricter

v5->v6:
* new patch - this effectively replaces
  ("Revert "xen/arm: Add cmdline boot option "pci-passthrough =3D <boolean>=
""")
---
 xen/arch/arm/domain_build.c    |  2 +-
 xen/arch/arm/include/asm/pci.h |  5 +----
 xen/arch/arm/pci/pci.c         | 11 ++++++++++-
 xen/arch/x86/include/asm/pci.h |  2 +-
 xen/drivers/pci/physdev.c      |  4 ++--
 xen/include/xen/pci.h          |  2 +-
 6 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7b47abade1..fbd6db9438 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -526,7 +526,7 @@ static int __init handle_linux_pci_domain(struct kernel=
_info *kinfo,
     uint16_t segment;
     int res;
=20
-    if ( !is_pci_passthrough_enabled() )
+    if ( !is_pci_passthrough_enabled(false) )
         return 0;
=20
     if ( !dt_device_type_is_equal(node, "pci") )
diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.=
h
index 7f77226c9b..3ae85b4666 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -111,10 +111,7 @@ pci_find_host_bridge_node(const struct pci_dev *pdev);
 int pci_get_host_bridge_segment(const struct dt_device_node *node,
                                 uint16_t *segment);
=20
-static always_inline bool is_pci_passthrough_enabled(void)
-{
-    return pci_passthrough_enabled;
-}
+bool is_pci_passthrough_enabled(bool dom0);
=20
 void arch_pci_init_pdev(struct pci_dev *pdev);
=20
diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
index 78b97beaef..79bb8728a4 100644
--- a/xen/arch/arm/pci/pci.c
+++ b/xen/arch/arm/pci/pci.c
@@ -16,9 +16,18 @@
 #include <xen/device_tree.h>
 #include <xen/errno.h>
 #include <xen/init.h>
+#include <xen/iommu.h>
 #include <xen/param.h>
 #include <xen/pci.h>
=20
+bool is_pci_passthrough_enabled(bool dom0)
+{
+    if ( dom0 )
+        return pci_passthrough_enabled || iommu_enabled;
+
+    return pci_passthrough_enabled;
+}
+
 /*
  * PIRQ event channels are not supported on Arm, so nothing to do.
  */
@@ -85,7 +94,7 @@ static int __init pci_init(void)
      * Enable PCI passthrough when has been enabled explicitly
      * (pci-passthrough=3Don).
      */
-    if ( !pci_passthrough_enabled )
+    if ( !is_pci_passthrough_enabled(true) )
         return 0;
=20
     pci_segments_init();
diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.=
h
index fd5480d67d..bffeaa507d 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -50,7 +50,7 @@ extern int pci_mmcfg_config_num;
 extern struct acpi_mcfg_allocation *pci_mmcfg_config;
=20
 /* Unlike ARM, PCI passthrough is always enabled for x86. */
-static always_inline bool is_pci_passthrough_enabled(void)
+static always_inline bool is_pci_passthrough_enabled(__maybe_unused bool d=
om0)
 {
     return true;
 }
diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c
index 0161a85e1e..18448b94b3 100644
--- a/xen/drivers/pci/physdev.c
+++ b/xen/drivers/pci/physdev.c
@@ -19,7 +19,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void=
) arg)
         struct pci_dev_info pdev_info;
         nodeid_t node =3D NUMA_NO_NODE;
=20
-        if ( !is_pci_passthrough_enabled() )
+        if ( !is_pci_passthrough_enabled(true) )
             return -EOPNOTSUPP;
=20
         ret =3D -EFAULT;
@@ -57,7 +57,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void=
) arg)
     case PHYSDEVOP_pci_device_remove: {
         struct physdev_pci_device dev;
=20
-        if ( !is_pci_passthrough_enabled() )
+        if ( !is_pci_passthrough_enabled(true) )
             return -EOPNOTSUPP;
=20
         ret =3D -EFAULT;
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index f784e91160..c4a49cf584 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -74,7 +74,7 @@ typedef union {
=20
 struct arch_pci_dev { };
=20
-static inline bool is_pci_passthrough_enabled(void)
+static inline bool is_pci_passthrough_enabled(__maybe_unused bool dom0)
 {
     return false;
 }
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:35:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:35:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914594.1320373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bn-0005QQ-F8; Fri, 14 Mar 2025 13:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914594.1320373; Fri, 14 Mar 2025 13: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 1tt5Bn-0005Os-4R; Fri, 14 Mar 2025 13:35:03 +0000
Received: by outflank-mailman (input) for mailman id 914594;
 Fri, 14 Mar 2025 13:35: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=/juS=WB=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tt5Bk-0003qF-JB
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:35:00 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f323175-00d9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 14:34:58 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PAXPR03MB7950.eurprd03.prod.outlook.com
 (2603:10a6:102:219::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Fri, 14 Mar
 2025 13:34:53 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8511.026; Fri, 14 Mar 2025
 13:34: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: 1f323175-00d9-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pV8imtA6k/AZOeY0L0WgQuMcG65KgUButn6qHWhuN9KsYGWnhjOx6HBP+yVkvEdp8H0H5ffJQig7dS11mz82mcC0uOQbZ+Phigoiz8FPSm5A2ID9goKQV7n9Ag8hXj1WCGwFhkmECI4FROTvzx45G0fPAIMM1NCDrVGVyHBJoREpzFMzBHVT3ymvQnEFyAigZl1b/79ERcoQX5aLBi3tPt8eVYoSv8a34zw3PkbZSUfPulIYkhy7tn0zWinM2PRFv3ozeABNtnnR8VsOImU60opDLuJoPEERF6d9HNZQmmlaaVEGqIN21J/aCvpFAvZTm0PDCbcwBodSIpVFmn9gPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qwq8S4cxBLVNYoyVBRxE8Ops330OFUSXGNqsnQp0k5o=;
 b=fzXlLnRmZBT7shROshuJc1YpnwwRrulFUPgkkiNSmR+FhgRznzahNqNP7VbhlsHeLVCUmEIra3eNDg/f8T8cdAWb4yQZmaf4RQfi1YOnTVPzJLNsCjpOov9MDR03/nOc1rgFT+aA3hWQ403Rr8xo1i4FTdjHNzUDYz7b6LbP2Sa9aTmKT58ibVpNeJuZ81yM+nodG5gx7duyDwT1eZG4dW2nu9p7vRCdU4JLLRiScVXuRLgyBpHRXwGF9hNlsOXomHCtTxjVUBYKqetdwYyOLEkI/tspZkcLYzm8G3gwm3HjNThm20Hb6CvjGj2KqjfpLC1dgT+xsuntwB7fgVeP7g==
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=qwq8S4cxBLVNYoyVBRxE8Ops330OFUSXGNqsnQp0k5o=;
 b=SrWew7dk0CkIZwPdeD9bIk1SYZ6a8qaaJr6a95j0qyT68ov8mkncOHytRwsWRbC89o9P4yZ/j1VuBTIta2rAj73UyBM73QckS4UXbCV0L1WFqtg2K1r4aNIE42ozC45XOnQxp1/lbzM9yHcwpXxBFDTyNA48TBLsoszx0mv/e8+c/5upuLOS9sBRxAjKzAmp1MRZB59lqGt7W6R19VHIs1C25JMsG8H5f/Wez/mXtxbRUmRY0m0ceuck0BRDowg5HTaQZ6rLxwo9Wquq44kZCAxtdHl/tUPEw7TFWZYpGBj36A6lqfPLKYF6z+SAKCgPllyrijeW86cXz/swx18MJw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@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>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Subject: [PATCH v9 8/8] xen/arm: Map ITS doorbell register to IOMMU page
 tables
Thread-Topic: [PATCH v9 8/8] xen/arm: Map ITS doorbell register to IOMMU page
 tables
Thread-Index: AQHblOXehlQl1S3l2U6Q3DlTtEEfCw==
Date: Fri, 14 Mar 2025 13:34:53 +0000
Message-ID:
 <e5072a66707b70892f60bb5e0757ae3f74c2d601.1741958647.git.mykyta_poturai@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1741958647.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_|PAXPR03MB7950:EE_
x-ms-office365-filtering-correlation-id: 9addef1f-5e06-43d9-3533-08dd62fd009e
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|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?EsoA0n8EyWKFTZEsszo661fBZoRETfBYsLQkY7njDeBpyDPx/JxkkHqasH?=
 =?iso-8859-1?Q?yfMxrreeFiJ/WqgwJV2Lhx3nZ3oa86QqRGhRDYordy8chvpDqy6txuRWV2?=
 =?iso-8859-1?Q?q6Nx/rRGytr7nmdMQpFaNGvzdjIHgklQUnD84lY7onq8DSIAVi8PnUs8Nj?=
 =?iso-8859-1?Q?ntlZ17gxuMM4yg3uwe38YmV1RA6Q5BeAsFk8AWm1hGCDppv+NY4lf3oYgU?=
 =?iso-8859-1?Q?3JTNDNBi+Jjkq9Sua8+tZPCfLanFJZoIVOGHG8Rq22BfrzGf/4K7ayKG9/?=
 =?iso-8859-1?Q?pixrvSaozArneuBZbPlZXvbfYhXToJujKjOp6KkmYEmHiGW1q51DkQ0iH2?=
 =?iso-8859-1?Q?5RPyL1ODSHczRcw8kvYi3tdvbblQef83o/SJnb4o9Sn/+F+zM6czOZCc/h?=
 =?iso-8859-1?Q?xzPpeNFVmn7NwfWUEiFlrYXxthz4gu+rAR5PlS4LNQPnyOuFQB/vd3ivOh?=
 =?iso-8859-1?Q?QaTJo2wZ74vAj7mG57DxINvIY3Wc0lPRV3BDy38a6N4EBDGGTqbStMLeJh?=
 =?iso-8859-1?Q?E6kMJwAVEskK0kHWqyGqIWrpyxEBcU+qrI2cAux6p38lOrbc1qU7VuUJYC?=
 =?iso-8859-1?Q?/zJC2mKlf6s9pwhplVSWMhOOkOV8OroRkJG6sCwxGftdAAoJ1uChQzG0YC?=
 =?iso-8859-1?Q?YQIuxbox4w1gk1ZShSR8EbD2yj7BARV5CqE7255+rFg/4hkun9b6il8Ph0?=
 =?iso-8859-1?Q?16NNPks4ROl1OiJAj4reUY+mzO1t38JlXkXQIKcdhIRErUdld6BCTWbOwt?=
 =?iso-8859-1?Q?/mTiY9Nvom/VW1QMJmUo9X+4vB3bMdYyrR9Zn/9jSWsBnXoNmDFu6jeGlt?=
 =?iso-8859-1?Q?6ej8NyIw+GgWZwhXn6tHN6hiuwDA20fH2SmL1tbc2GfOh7Njc8zSEGp+8J?=
 =?iso-8859-1?Q?vm9ywM9J+2DPhGmIvSi0s9+5ZeVUJOPoJLmY3MUd9wTRS03XaLyI595Cwy?=
 =?iso-8859-1?Q?ZBG/7/bwhXhMLUe9zDzPt/p93NqcncxUVcM7uw8Wu1o4EqDFXJtjncEpG3?=
 =?iso-8859-1?Q?qg95ohl+J64cupmyBo8+xmanIedDDpeytI4WSti6Q4irpAx6tGfADutUjt?=
 =?iso-8859-1?Q?Ni95cgDlm6klDd21RKwtv/weXN1vGKlvTQfX9NN7R6jvcI9LA8fDvV6moU?=
 =?iso-8859-1?Q?Ih7TBuys52nw1Z7bl2GyX8eDbvoo5CzKs2o6uNzDSnLGmaHf5i9c2Po4Vt?=
 =?iso-8859-1?Q?uCD69wIsDPzAPouquOt/0xeNCR5HwgFgjHvQ6lYpRtwPBJOdmtts9mOWd9?=
 =?iso-8859-1?Q?JVgOGMvN3cx6ikeJmaGNli5nugFBifbsqn9TK3s3DYQeEqZqDy4WMxD5a9?=
 =?iso-8859-1?Q?qyUMeuxyBdD/wL8TEk9hcNGJ6vjYqWbq1CAxisgarIJQYbO2UGKqHvN8iK?=
 =?iso-8859-1?Q?kT7oqE5IAP84Mvawb1WWY1+33KYx9ZUWYzroi62XZ/OyIfaovInhqkafLw?=
 =?iso-8859-1?Q?gELViVUkelrCjuhUFM/bg2kqi2p5VJoSYyqXXw=3D=3D?=
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)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?VtRxU6DCWAdaIb7q2gFecuOaX6GBmM6F4itwW9Q6KhHACoXCxl8ZP55Bf2?=
 =?iso-8859-1?Q?7JiVKu9D9WHp2gWGs77KZmv/SwM2d9vlA+4XMbk43aYUDvnyhgFn0Z/pAm?=
 =?iso-8859-1?Q?OPgnG7rxlV1lIfzKO2inx8HtnOdBXZjBYHhTTUOEcrhxF+DcEi7ksMdsTh?=
 =?iso-8859-1?Q?K5d/XMngEMA6Kp1UJRDKCT+fnU+cCP1ruB124iSAscfST1zaTNNgM6PFWC?=
 =?iso-8859-1?Q?luG1UNZcqxpzQujJ+6M5t8GQK+4HQWevddFzzT6LtTsLgtzUnIOOThlH/y?=
 =?iso-8859-1?Q?XTNGw7qZL8jb8WsfT3QRfP9fw2xvkhOp7XYcUzzFfOZQYVYyUxWQC9Oho1?=
 =?iso-8859-1?Q?ESm2yk5jB0wUze4Z/HnAJPQcln1pJwAmCXt+5ovjULLgx7bAJae9TmlQGx?=
 =?iso-8859-1?Q?kjCVXDnbzX7I+fiCH1fBXMvGWl4fAO0708oYCNxS2jauBuq5WspSgbrmR6?=
 =?iso-8859-1?Q?gQKPjIkEaMfcQ3d/VoGre9HYXuaz5vCW0EoSdDrS/bFnAMPrKTWXJ5jaP8?=
 =?iso-8859-1?Q?eLHOHK+0VmCySYTLvsBC/okymaBqZ+bO1C67L9cNdjDpb2rYgT1nVrSV2u?=
 =?iso-8859-1?Q?46iQgCKQc/nzAgoWwjS6kZoVD1aZHgjYB/JoA22hUOmLvRpI6ku5MUhR6P?=
 =?iso-8859-1?Q?eiBmLy8AqUqRtNUVnb725G0VET94oa7fm9NfP0c6e0PrJ0NGmADbh5V/1M?=
 =?iso-8859-1?Q?bafDjCTf+lumbtN6Z5+EcayoryTAlO2aVldJnSxBHpWRAhD8R9nue8hnGT?=
 =?iso-8859-1?Q?V7dwQq7PgNyXF9WA3hYS4QOcQkKBoVgPpHXJcEZakQ1ijojoDzDqflPWNT?=
 =?iso-8859-1?Q?R/ys/jfHupjDMRb4hUYQEjgZ1ogRyWXfkIlLaLm/ms5LGlfp/qSQvgB1QK?=
 =?iso-8859-1?Q?5JYyaVyIz97x10ZwnH+CySBj8NUWQQ3dzXJNLnhnfQVPaNW11O8I2NHdi7?=
 =?iso-8859-1?Q?a7tGRKtOUpWVIp8FWM6845iwtJQCU2yuiwCdO/lNuCJvbahzsGxnWtnFLw?=
 =?iso-8859-1?Q?Z57+T2IU74Wwyz5P2h/BrohR8C4qLhFS15JMyBH+DH9qMSsAkTDRctGm0j?=
 =?iso-8859-1?Q?J48UZn1ueadBcQWD99ZJGvrMIhsWW0qYUrdJ0NP3JJHcoQQSOroqRYISxy?=
 =?iso-8859-1?Q?lhRLnth/XpKykjSMjf9KZ1TjyE74rQncWMcemw0JcPKQqcmmXujaSM3NFf?=
 =?iso-8859-1?Q?IBzn2qIHlOnEjYZ+Y+xlZrMzvVZ7vm7poSIixFUSyh3ivYJ4UzgMzCdsuE?=
 =?iso-8859-1?Q?bLFosCH+bMRZBqAOJ19t4gGXbi/wxT+eniozynyNRlrJvBa6iUHLOZ9xYW?=
 =?iso-8859-1?Q?uASdvX2GCurK7C5oz+0Xew+f/0XfFtt3VoZk2wmtqIvEkBclEmdFVPoLaq?=
 =?iso-8859-1?Q?vEfUGacAaZcgnjaic0mYbzhHoJugCxSrR55e7deMr+xN4kx+foMN41U3W3?=
 =?iso-8859-1?Q?4l0nl88fpIDkp24H6AEj/LWd/tp2lIxXXsSh/N9fPj84U2XQHgmiyq6zWa?=
 =?iso-8859-1?Q?AMI7B0BTdKMx1dapPTYQslx86C2OFh8BhZUVOx+9RScdLafqOp9NK0M1hS?=
 =?iso-8859-1?Q?uW9EwoCCg1Ui25qZrFF1AYKCtKKHCLj0IDs69BIttHbgaOEwhxkwVKiPU1?=
 =?iso-8859-1?Q?c3Tr6pEtzQqwwK8CGLuX0cZJNsfkDKX8yxyd8/J74rO3Yx0JvVugkhdg?=
 =?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: 9addef1f-5e06-43d9-3533-08dd62fd009e
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2025 13:34:53.2724
 (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: lZj3SN8HbPIre+Em4F++7P+QUhFIlZceqU6rsOS4uniOM+57NNEYLXbrQScGZeXlsFyaSFpbfYXecxyMshsRXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7950

From: Rahul Singh <rahul.singh@arm.com>

When ITS is enabled and PCI devices that are behind an SMMU generate an
MSI interrupt, SMMU fault will be observed as there is currently no
mapping in p2m table for the ITS translation register (GITS_TRANSLATER).

A mapping is required in the iommu page tables so that the device can
generate the MSI interrupt writing to the GITS_TRANSLATER register.

The GITS_TRANSLATER register is a 32-bit register, and there is nothing
else in a page containing it, so map that page.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
This patch was originally picked up from [1], and commit description
loosely borrowed from [2].

Example SMMUv3 fault (qemu-system-aarch64 virt model), ITS base 0x8080000:

(XEN) SMMUv3: /smmuv3@9050000: event 0x10 received:
(XEN) SMMUv3: /smmuv3@9050000:  0x0000000800000010
(XEN) SMMUv3: /smmuv3@9050000:  0x0000008000000000
(XEN) SMMUv3: /smmuv3@9050000:  0x0000000008090040
(XEN) SMMUv3: /smmuv3@9050000:  0x0000000000000000

Example SMMUv2 fault (AMD/Xilinx Versal), ITS base 0xf9020000:

(XEN) smmu: /axi/smmu@fd800000: Unhandled context fault: fsr=3D0x402, iova=
=3D0xf9030040, fsynr=3D0x12, cb=3D0

v8->v9:
* no changes

v7->v8:
* no changes

v6->v7:
* add tlb flush after mapping
* style: update formatting
* revert back to printk with XENLOG_G_ERR

v5->v6:
* switch to iommu_map() interface
* fix page_count argument
* style fixup
* use gprintk instead of printk
* add my Signed-off-by
* move to vgic_v3_its_init_virtual()

v4->v5:
* new patch

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00483.h=
tml
[2] https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commit/623=
2a0d53377009bb7fbc3c3ab81d0153734be6b
---
 xen/arch/arm/vgic-v3-its.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
index c65c1dbf52..376254f206 100644
--- a/xen/arch/arm/vgic-v3-its.c
+++ b/xen/arch/arm/vgic-v3-its.c
@@ -1478,6 +1478,26 @@ static int vgic_v3_its_init_virtual(struct domain *d=
, paddr_t guest_addr,
=20
     register_mmio_handler(d, &vgic_its_mmio_handler, guest_addr, SZ_64K, i=
ts);
=20
+    if ( is_iommu_enabled(its->d) )
+    {
+        mfn_t mfn =3D maddr_to_mfn(its->doorbell_address);
+        unsigned int flush_flags =3D 0;
+        int ret =3D iommu_map(its->d, _dfn(mfn_x(mfn)), mfn, 1, IOMMUF_wri=
table,
+                            &flush_flags);
+
+        if ( ret < 0 )
+        {
+            printk(XENLOG_G_ERR
+                    "GICv3: Map ITS translation register for %pd failed.\n=
",
+                    its->d);
+            return ret;
+        }
+
+        ret =3D iommu_iotlb_flush(its->d, _dfn(mfn_x(mfn)), 1, flush_flags=
);
+        if ( ret < 0 )
+            return ret;
+    }
+
     /* Register the virtual ITS to be able to clean it up later. */
     list_add_tail(&its->vits_list, &d->arch.vgic.vits_list);
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 13:35:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 13:35:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914607.1320389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt5Bs-0006Fb-0l; Fri, 14 Mar 2025 13:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914607.1320389; Fri, 14 Mar 2025 13:35: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 1tt5Br-0006FM-RM; Fri, 14 Mar 2025 13:35:07 +0000
Received: by outflank-mailman (input) for mailman id 914607;
 Fri, 14 Mar 2025 13:35: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=liwF=WB=bounce.vates.tech=bounce-md_30504962.67d43086.v1-d5e0b5c140f5486eb4d5bdaf868ac800@srs-se1.protection.inumbo.net>)
 id 1tt5Bp-0003Jp-Ty
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 13:35:05 +0000
Received: from mail177-1.suw61.mandrillapp.com
 (mail177-1.suw61.mandrillapp.com [198.2.177.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2201e7a5-00d9-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 14:35:03 +0100 (CET)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-1.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4ZDljL0b3CzBsThPJ
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 13:35:02 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d5e0b5c140f5486eb4d5bdaf868ac800; Fri, 14 Mar 2025 13:35: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: 2201e7a5-00d9-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741959302; x=1742229302;
	bh=uG1KcJgwcW9T2cGN3oyD/12pz8pEMNAmvmnymfhPGS4=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=g9hfdA/eM7vcBcCDkScEmdyush/aDVF9niLOhO1Tls29AehJMunYoTLPcqPx4URix
	 /aMh2g12ndPjgUTy22QDmBO2Q/RAv0cXaFZI+qOcWz1ZgrHfQZCrr1K3y464VLIJyL
	 qwG0X7PDYl8MR1m8vayWQ7hjrpV24L5fx3uL30NrDreDdDALoHwoF2h0fysd+K3iam
	 uuGcNVID5TPwnEu+AzI8k4h0x2P7SOTZNSkGAuW/rTouVWcrQV+q0j9IK/9Uc1NvBZ
	 Z7+4wG6V3IKm+zhLAqIfOwcWPE+QHkNe69r5WmAQgVIJNVrhCRzbohvB2D7UahSoln
	 xxQo5w3wwGFsA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741959302; x=1742219802; i=anthony.perard@vates.tech;
	bh=uG1KcJgwcW9T2cGN3oyD/12pz8pEMNAmvmnymfhPGS4=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=JLfWifvyw3oMpzh/DIkhmNZnn3FOeOLirZx5hCQxLEpJmiyfjBrlmwr/pGpcuVoIu
	 fByVYbcweMsQZSr7P+jLoVx6FJX4LBZ/iPwhvohnmYlx2QihXR4olRcsJr2TAYMy5/
	 hudYvliyweXeQ59PZIeXS3fEzmoqQIVSV6WfgZ8kP/fcI+MggULGuM1sVWsTSFvWHP
	 wXDJuAaRWZnF/BAQRml7SWQp9RISG2jZlaNr/J+RKpmHFJEJy5WNTAhhvlfN+4YBHH
	 UwqWVJizjxihe4lGii0OSWJTOD6a2L1zM3QHS6AxlxRtem1HD3UbiF+zgVJ/AFupkT
	 hzdtfbtU4eblQ==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v4=2012/17]=20hw/xen:=20add=20stubs=20for=20various=20functions?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741959300664
To: "Pierrick Bouvier" <pierrick.bouvier@linaro.org>
Cc: qemu-devel@nongnu.org, "Paul Durrant" <paul@xen.org>, "=?utf-8?Q?Philippe=20Mathieu-Daud=C3=A9?=" <philmd@linaro.org>, "Harsh Prateek Bora" <harshpb@linux.ibm.com>, "Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, xen-devel@lists.xenproject.org, "Peter Xu" <peterx@redhat.com>, alex.bennee@linaro.org, manos.pitsidianakis@linaro.org, "Stefano Stabellini" <sstabellini@kernel.org>, "Paolo Bonzini" <pbonzini@redhat.com>, qemu-ppc@nongnu.org, "Richard Henderson" <richard.henderson@linaro.org>, kvm@vger.kernel.org, "David Hildenbrand" <david@redhat.com>, "Palmer Dabbelt" <palmer@dabbelt.com>, "Weiwei Li" <liwei1518@gmail.com>, qemu-riscv@nongnu.org, "Alistair Francis" <alistair.francis@wdc.com>, "Yoshinori Sato" <ysato@users.sourceforge.jp>, "Daniel Henrique Barboza" <danielhb413@gmail.com>, "Nicholas Piggin" <npiggin@gmail.com>
Message-Id: <Z9Qwg4PC_1bEaOLK@l14>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org> <20250313163903.1738581-13-pierrick.bouvier@linaro.org>
In-Reply-To: <20250313163903.1738581-13-pierrick.bouvier@linaro.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.d5e0b5c140f5486eb4d5bdaf868ac800?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250314:md
Date: Fri, 14 Mar 2025 13:35:02 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Thu, Mar 13, 2025 at 09:38:58AM -0700, Pierrick Bouvier wrote:
> Those functions are used by system/physmem.c, and are called only if
> xen is enabled (which happens only if CONFIG_XEN is not set).

You mean, 's/is not set/is set/'?
> 
> So we can crash in case those are called.
> 
> Acked-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
> diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
> new file mode 100644
> index 00000000000..19cee84bbb4
> --- /dev/null
> +++ b/hw/xen/xen_stubs.c
> +
> +void xen_invalidate_map_cache(void)
> +{

Is this stub actually necessary? xen_invalidate_map_cache() doesn't
seems to be used outside of xen's code.

In anycase:
Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 14:35:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 14:35:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914735.1320406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt683-000055-Lu; Fri, 14 Mar 2025 14:35:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914735.1320406; Fri, 14 Mar 2025 14:35: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 1tt683-0008VG-E3; Fri, 14 Mar 2025 14:35:15 +0000
Received: by outflank-mailman (input) for mailman id 914735;
 Fri, 14 Mar 2025 14:35: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=iXy+=WB=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1tt682-0008TQ-82
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 14:35:14 +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 8965783a-00e1-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 15:35:13 +0100 (CET)
Received: from mx-prod-mc-01.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-563-8BdvRzc8NNqYnKGyFlUU7Q-1; Fri,
 14 Mar 2025 10:35:06 -0400
Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17])
 (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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 75B7219560BD; Fri, 14 Mar 2025 14:35:05 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.22.74.4])
 by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id D88BF1955D88; Fri, 14 Mar 2025 14:35:03 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 2285121E669B; Fri, 14 Mar 2025 15:35:00 +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: 8965783a-00e1-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741962911;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=ZSnAFyHbXjYvoKbSaLlW0KNyvNRMW+n7e7ObBx98y04=;
	b=A8lx0ja4K5GH8YI8/ik+LpcrUa7BxEmGFnFBtQ8A/mYWrprsZofS0rriA7xNT6ZApb2Kf9
	YU6sleAygAdljwI4PFIQL3/oYFpv+4hmQGjW6/cReN9CImZjO5XXxh7NzYBHoylapDaSko
	1D1bvtccHKlaLQuroluwucuN0tc3dDI=
X-MC-Unique: 8BdvRzc8NNqYnKGyFlUU7Q-1
X-Mimecast-MFC-AGG-ID: 8BdvRzc8NNqYnKGyFlUU7Q_1741962905
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
Subject: [PATCH 1/2] hw/xen: Fix xen_bus_realize() error handling
Date: Fri, 14 Mar 2025 15:34:59 +0100
Message-ID: <20250314143500.2449658-2-armbru@redhat.com>
In-Reply-To: <20250314143500.2449658-1-armbru@redhat.com>
References: <20250314143500.2449658-1-armbru@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17

The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL.  Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call.

xen_bus_realize() is wrong that way: it passes &local_err to
xs_node_watch() in a loop.  If this fails in more than one iteration,
it can trip error_setv()'s assertion.

Fix by clearing @local_err.

Fixes: c4583c8c394e (xen-bus: reduce scope of backend watch)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/xen/xen-bus.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 8260f1e1bb..2aacc1436f 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -357,6 +357,7 @@ static void xen_bus_realize(BusState *bus, Error **errp)
             error_reportf_err(local_err,
                               "failed to set up '%s' enumeration watch: ",
                               type[i]);
+            local_err = NULL;
         }
 
         g_free(node);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 14:35:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 14:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914736.1320418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt684-0000Uo-OA; Fri, 14 Mar 2025 14:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914736.1320418; Fri, 14 Mar 2025 14:35: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 1tt684-0000Uh-Le; Fri, 14 Mar 2025 14:35:16 +0000
Received: by outflank-mailman (input) for mailman id 914736;
 Fri, 14 Mar 2025 14:35: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=iXy+=WB=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1tt683-0008TP-4x
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 14:35:15 +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 88192c88-00e1-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 15:35:10 +0100 (CET)
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-404-g1pY-nTuMVmbWQzThjJd7Q-1; Fri,
 14 Mar 2025 10:35:06 -0400
Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17])
 (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 C24C218001E3; Fri, 14 Mar 2025 14:35:04 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.22.74.4])
 by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 0D7AC1955F2D; Fri, 14 Mar 2025 14:35:04 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 26E6621E669D; Fri, 14 Mar 2025 15:35:00 +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: 88192c88-00e1-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741962909;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=JOP2k/YvGRFFx3UKMWPK+4XpP/sMhbf4xDwkal25Q3k=;
	b=bafW6J3lT55egvCU7Na6zefMibKtJKpCgz8tOJ+ox1ceTxbUPeOdiU9Cld9mA4723lUq9z
	fxuGHgvtE/H1sZssVRRXGhzbdt4s9gQSwYhY29VookCK2H9+vaTZAovNL+bMPyAAIncaXu
	y1N6ZaUaSnUVjCe6aAAWXTrDCSEP2mE=
X-MC-Unique: g1pY-nTuMVmbWQzThjJd7Q-1
X-Mimecast-MFC-AGG-ID: g1pY-nTuMVmbWQzThjJd7Q_1741962905
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
Subject: [PATCH 2/2] hw/xen: Downgrade a xen_bus_realize() non-error to warning
Date: Fri, 14 Mar 2025 15:35:00 +0100
Message-ID: <20250314143500.2449658-3-armbru@redhat.com>
In-Reply-To: <20250314143500.2449658-1-armbru@redhat.com>
References: <20250314143500.2449658-1-armbru@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17

xen_bus_realize() reports a failure to set up a watch as error, but it
doesn't treat it as one: it simply continues.  Report a warning
instead.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/xen/xen-bus.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 2aacc1436f..f808a01813 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -353,10 +353,9 @@ static void xen_bus_realize(BusState *bus, Error **errp)
             xs_node_watch(xenbus->xsh, node, key, xen_bus_backend_changed,
                           xenbus, &local_err);
         if (local_err) {
-            /* This need not be treated as a hard error so don't propagate */
-            error_reportf_err(local_err,
-                              "failed to set up '%s' enumeration watch: ",
-                              type[i]);
+            warn_reportf_err(local_err,
+                             "failed to set up '%s' enumeration watch: ",
+                             type[i]);
             local_err = NULL;
         }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 14:35:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 14:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914734.1320399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt683-0008Tn-Aj; Fri, 14 Mar 2025 14:35:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914734.1320399; Fri, 14 Mar 2025 14:35: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 1tt683-0008Tc-5f; Fri, 14 Mar 2025 14:35:15 +0000
Received: by outflank-mailman (input) for mailman id 914734;
 Fri, 14 Mar 2025 14:35: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=iXy+=WB=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1tt681-0008TQ-T2
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 14:35:13 +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 888aebc0-00e1-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 15:35:12 +0100 (CET)
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-561-ZX-hc9rrOPurN8WmEXRzfw-1; Fri,
 14 Mar 2025 10:35:06 -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 60F521800267; Fri, 14 Mar 2025 14:35:04 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.22.74.4])
 by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id D866318001F6; Fri, 14 Mar 2025 14:35:03 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 1FE3521E675F; Fri, 14 Mar 2025 15:35:00 +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: 888aebc0-00e1-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741962910;
	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=5JZ21SMl1GeBJ0cIQwsQQgUDcr1yWmvE50eUD2Kyya8=;
	b=HvLY9/9HrZl8hXxas/OofOiBlLMjsc6HBPQxCF09M1OICJx+FTgjgXZMQhLVnAxfSt5oLX
	GVPtASkdjoK8AzV9nfVmaDsBDqlJcOPiz5aD5QZHBxq4woXfTjH3uXciJEETQCDGINaJ7y
	n5Xzy+oINKpbnI5Wert4ZPpmFpu1Q2U=
X-MC-Unique: ZX-hc9rrOPurN8WmEXRzfw-1
X-Mimecast-MFC-AGG-ID: ZX-hc9rrOPurN8WmEXRzfw_1741962905
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
Subject: [PATCH 0/2] xen: An error handling fix
Date: Fri, 14 Mar 2025 15:34:58 +0100
Message-ID: <20250314143500.2449658-1-armbru@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93

Question to reviewers: should PATCH 2 downgrade to warning, to info,
or delete the report entirely?

Markus Armbruster (2):
  hw/xen: Fix xen_bus_realize() error handling
  hw/xen: Downgrade a xen_bus_realize() non-error to warning

 hw/xen/xen-bus.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 15:02:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 15:02:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914776.1320428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt6Yc-0008OB-RG; Fri, 14 Mar 2025 15:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914776.1320428; Fri, 14 Mar 2025 15:02: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 1tt6Yc-0008O4-Of; Fri, 14 Mar 2025 15:02:42 +0000
Received: by outflank-mailman (input) for mailman id 914776;
 Fri, 14 Mar 2025 15:02: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=IJYk=WB=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1tt6Yb-0008Nn-DQ
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 15:02:41 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f403:2612::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f7d145d-00e5-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 16:02:40 +0100 (CET)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by DU5PR03MB10441.eurprd03.prod.outlook.com (2603:10a6:10:516::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Fri, 14 Mar
 2025 15:02:37 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%4]) with mapi id 15.20.8511.031; Fri, 14 Mar 2025
 15:02: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: 5f7d145d-00e5-11f0-9ab9-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ha2PYnLkk8yLWpUAk2s93zlTekAD/IcO1+EXrR0xXBPDUJStaTH5fNR+10xeQ1X2p0GtG5bPqAiUcsNvX/ZZZ49RvVKnkEDP0Xg37kwzaBOuS7aRb6KyG5oFYYrHgvVhGgYj3s0eWxldczCXAl9gNMa1TdR4lm50VJ9B35v2sL3aW8GcsQgESLRklZfPteRq9w8fvMs5l+8KuolCsxP7cgc51zghb9pQG1i+vTP0XFM8P6qNrqzOUj0KhVkzo0H7Lt79a1rtr1IfAkZoVoLYL4quBe51GgeORxJYvrViHV6+/VOgDvZvYMPcg4moJPswnwZljEEvpXljhZsdBWY+Pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hz/UUX6mzr4+LQUxK33o0eylpDeWHEZ2iCAyKYgU2V0=;
 b=PQahEAhprG8rIX1KdH/jLtmGAPo+zMSrPASw4GlWFdhXB9FvLAZuUg4Haf5c1BVA+uFFzZa7uY8l8wN3F7TKSaJvCqN8k6Ng5Nl2sT8wt5YluXzwPtfiYeUEKZ8VX0IUdz6498h9sCDxGS3r2a+O2isAkiowc5r4PEzoIjq2+APTTeo+TLhDvoeKipiQ7MAH7xaGybAG1ALW4EuG9Dysb7XdEHNLlTqUgrYUHZDdYIxcq2/FBhSCq3WdRAXwbtvzbHoalvoCah6MuZmnjPu1ruNf+BUCtZixVToOy7oW3vyr0rSSq8uTZANjO4hzhFakcY59LSL50ngr1+fV0SGvGg==
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=hz/UUX6mzr4+LQUxK33o0eylpDeWHEZ2iCAyKYgU2V0=;
 b=EEWr8rGPk3ZzStoOpP74s9IgJ3Ye2/pli6gMzGTMHm5KoSKXuO65tmjBWY2HgxcfBE91V8mI6ioJ0tYJr5IzFy4Lhi3CeRbkRYokjUHDg8dgRc+nszF3r+uGOM7jCy4MiYUvC979p0X/1rDw8TSCFeTz4sLWJ3kOvQikN1cKBXaD1IMb1RDtHu8T7kOveWelYxJZz0xwkY9sM6IL/7NUvrosV5IslmCo7zKSYrqBPzdpIvF40p5awp6+wkyk548ESkXgPsGPE1u4BTayJjvCfb2LRYL1sZw6vVM5IjYb+V+Tc1yV1KEcBmfw/C3F1RBWyHHuOtnwnXttZsZrA4YyMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <4cab2232-1021-4cde-8ba7-d3c196ab5131@epam.com>
Date: Fri, 14 Mar 2025 17:02:33 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/3] x86:monitor: control monitor.c build with
 CONFIG_VM_EVENT option
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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
 <39235285ffe341e446bf0fd5cc345379ae394e50.1741772330.git.Sergiy_Kibrik@epam.com>
 <871f6abf-5046-4435-91d6-b8ce2d9dac06@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <871f6abf-5046-4435-91d6-b8ce2d9dac06@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA1P291CA0012.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::9) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|DU5PR03MB10441:EE_
X-MS-Office365-Filtering-Correlation-Id: 18a16b8c-6531-4110-7c90-08dd630941db
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?NkllT3grZDYrTXlxdzFINXVOVUNHendWTEd2Nk0wUThCRzBJcERmaURPbnNP?=
 =?utf-8?B?cTE4YVRrOGdPMGZVSFhoRmRWNS8yK05lMGFYajR1eUxRaEdncHVhSlh6UTRn?=
 =?utf-8?B?d2NKMUNHdnlQNlFCcXA1cGpFV2hHdVFBVmFHRUx6TFAyNTRmbEdZV3owaldB?=
 =?utf-8?B?ZmtiYVpNelZBTWhld2JGNFpJdGF6anZsUlp1YjR5anVVRWFVWWpsMktJUzA5?=
 =?utf-8?B?NXJrZXg2clJsd0xnL0pYZ1NwZ1RjU2cxWXBQdlQ4U25EV0pkWE9kald0U1ZX?=
 =?utf-8?B?M2lKTFJZMXpSWG15UWppUmVTZVdmT24zR0RGdXBJUnlKanB4a2JmTVlKK3FK?=
 =?utf-8?B?TW5BUXJEZXdRdWR4OGd4MUNqaEFyR3lIdmRROVNEbzl4NUdTUjJtMCs1eThz?=
 =?utf-8?B?OWtqTDFXdVM0UnZ1anAyTC9qL0JhMWJER0hIYzFwZ2ZIOVd3MDZ2eUs0eVRW?=
 =?utf-8?B?WHlsdFQvY1NXUGhjSkNaRGQwaEVTU2tEd2Mxa3ozNWFMU3gyZ3hPUGpsMXM4?=
 =?utf-8?B?Y0JNeFlvTGtoNEdUU1ZoMFJ6Y254Tm1lUitzZDdPSERmeUtKbjVtN0lYOGZs?=
 =?utf-8?B?aGdhMmIwZ0VHUWF3bTYyTkxWWnNHZjFRNVFXQjJvanNmTTVvQmU5QzlHbEJD?=
 =?utf-8?B?UElxMTlBM1g5bDExZmtHMGhPd2NyN3l1RnM5YlFiOFJpRFdUQXdiSXJuNld4?=
 =?utf-8?B?ZytQYzFQV1AvWE1GVGFuR3FvV1dJbXZEckd6bWMvOFJVZ21vOVdpTnVxckpO?=
 =?utf-8?B?aW1DR2JzNWpqbHEvTDBZem53YUI5TXVTdzdiZm9RdWFScVJQTGs5eUtnd0dl?=
 =?utf-8?B?MUN4bzdDa1c0T3R3a1IxcklnYW1nUTFtOC9Rd2JrSGVzcE9VNzQreld1Vjdv?=
 =?utf-8?B?dkJobEZQc1haMGN1OWVHRUZPazZuam91bFRTamlITGVGVVBRRTN5NytEMXN4?=
 =?utf-8?B?RzA1REN3b3BYcUhxb1VLNHl5dnpVTU1CalhlZTQ1ZEZ4dDFwVi90L3MrT1I2?=
 =?utf-8?B?dWZWQXpGN2cvdXQxSTIwbGVicGY3ZHdkTWE1ejV2ZGh6Vmg1SW5YMlpiUEd2?=
 =?utf-8?B?VVV3RklSNUNkNG9XcXVFWnlybjZrRFR3aElqb2djckZYZGdPQnZZczBoczRn?=
 =?utf-8?B?NkVzbll5ejdiWC9OS1dlYmZYNlMyQUM3enVGT0ZxUXZ5cTdqcmU5VUtnaGxD?=
 =?utf-8?B?SlczR0g1d2ZvMEp4SGNRVWNyakNNa3hRendZcEg4Wm4vOUplV0VYdENubkpP?=
 =?utf-8?B?R2h1R21aT1pSVnU3ZjBDZm1VeXFrNHREdXFqQzk1Z29BQVBIZjhqT3hGRzRH?=
 =?utf-8?B?SHc0TEsxRlhwb1h6NXVNSGhsQmcyenlyWjFvb1YyK0xCVnFsWUs4S3g4RGg2?=
 =?utf-8?B?b0JQbnkzM1pzVSs1YUZlZmtRRUYxRWx0cDZmcDB1dlhLcXdTT2l3ZzB1MGhD?=
 =?utf-8?B?d25GdGloNTdFNGFQQjhzM2NaUmhsVDAwQ3RTSkg4cmlabFB3UzhKVHcvNWhr?=
 =?utf-8?B?SFVuSTJ4UG94Y2RuN1pnaVZmdG02MDhWYjlSM0VsWXR2d0Y0eUNrSmRpdjg4?=
 =?utf-8?B?RHl1VmthRHZvd1lYVVFFTXFRcFoybDhOSXlsMVVkbjNidHFUTDVObmpvZk56?=
 =?utf-8?B?cmhJL09GYzFaMVdFN0FDLzNRTHdMUnRZNzJTS3VZc2FRR0MyVCs0VW81OXBr?=
 =?utf-8?B?ejNteithanI5UFdqc0pzRUxKTU44WHFYTWtzRFNPVWU1TmpSY1FwZ2VrRzJl?=
 =?utf-8?B?VHkzdHRRK1c0MzhnWkRkUGF1MXNncGJQNWZMdjZzZ2N4U1lmcUhwZ2Z6bGlq?=
 =?utf-8?B?RkhQem16eW4zYndNdG9oMkoweEN1aWR1bXZ3ekNCUWhLOUNUOEVYdzZwR0RS?=
 =?utf-8?Q?slKru+Bb8grBd?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.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?SlJZR0dBT2ptTWMrK2gvbVdycFZJc2thMENaSDJCL2pzYjM1bzdnVVgvcFdz?=
 =?utf-8?B?U0w0VTlwY1hINzlyaWJKS2lJWWs5dGJyL3RzS0FOdXVrbjd2MnBzbC9qT3BD?=
 =?utf-8?B?bXN6cGFRM0NBdHMwNmJOenFXUnJyM05TcDEvODdNNDNZa3dDbHNSaXNjNS8x?=
 =?utf-8?B?MlRpWWJOdk14a0ZNZ0cxZm1ZYUNyL0hWVG5nOEhRR256TTVPL21mbGo5Q0Fh?=
 =?utf-8?B?aTZmNmNGblBRWHlwSHFLaE1neStXWDZRYmFObnhwbjNPS2tLU1o2RnJjcUFa?=
 =?utf-8?B?TW1VbEcvbXNFRll5ZnN3Njd6QjFsNG1lZnRvMUFmckNQdHB1VS9sUDNUMWVJ?=
 =?utf-8?B?Q1NucUs0L2JBZ2ZvTjFwb2YyeDIvdDA1RkhFOS9MZEd4TjlVSUtzSHJDaG1V?=
 =?utf-8?B?YjdyME9xKzZSazZDa3M4Y215T3BOR2NkUGo3S2xCM0lHYWppcXZ6dFI2a00x?=
 =?utf-8?B?RU1LNzQwdDM2ejhsZkthM3pEdVVtTkFJZWdUT0trazZialIrNE03a0N5WU15?=
 =?utf-8?B?VmZ2MW9PRlJmVzFsY2dIeWxONVdKUk1kK2ZhQjRuelcxMTFsMGRqUm9NTUhC?=
 =?utf-8?B?U0hJaVhISVcxR2RuUUd0MUx6U00yVzJmK2kxV0tldjFMdDUxNE9oK1RSUHNM?=
 =?utf-8?B?cVErNnlxSXlCeENtU08wa3FKYkZOWXA3M2ZjTFJPajJWWCt4OFpWT2lNV0du?=
 =?utf-8?B?VXA3NEJJeTdOc1Bpalozblh3a1hwTmJOd1NFQ2J5WTNJQVQ3VXJBSExraUJu?=
 =?utf-8?B?TEMybXlqdFhKL0s4WlIzWVc5dS9oUmZILzFjOVdXYkU3OVUyMENxcGt1emxY?=
 =?utf-8?B?OFZVS1lxNVVQeUgwd2ZWMjA3a0tWOFoyR0JuVGFxVXNYcGhUMStiQ2ZNUUZM?=
 =?utf-8?B?TUJ5VDVHVjcrdjJ0aGs4LzdPOHJ3N05wdkVXQzZ2ZWlqWGx2Q01vM0NqMkVO?=
 =?utf-8?B?Y1FqM2VQL1pIN3YxZEhmNGVOZk5wQWxwWlFEYXYzZ054ZERKNXJkdFE0ek1v?=
 =?utf-8?B?YzhHSW5TUFEwRDVGbGxsRUVQb0l0ZWlnOTlkL1hONlk1Ty8rVFcvdkd4MzRR?=
 =?utf-8?B?aktzVmZUZWNtaWsvV25IT3VyN2dFa3NTOE9sTjBBd0xzTzlNNjg4dVVuRVBT?=
 =?utf-8?B?OXJmU1RGdW85RlRlVElGZXFKNk44eVIyaUttR012S095djJvOGwwd0ZsdC8z?=
 =?utf-8?B?dkJjbXRxM04yeTQ4bC8xNVAwVHhSc240MUx3SDF0ejBYNzN2NGM3WEZWSkRJ?=
 =?utf-8?B?Q3YyTUZqemxTVEFDRWhCdDZtZFpoTmpRd2NyS3RobGxXWjVTRU1KdGdPdXhi?=
 =?utf-8?B?eW9GWlBtUVk4dXdTaEgzUVArQXRCMVB3TGwyblFqRmJMQmNwL0xrUzVidlJ2?=
 =?utf-8?B?NTlKOExJVGxkODY3NXpBeFRNRzgwRFAxaTRwbE1YM2s5eWtZWlBiQ3dBY1Fs?=
 =?utf-8?B?anRpU2NOMmxGbFRHQTFLMTNzbDRZRmZuRmEzcm9GMkJSdWpzNU5YNUpOZE4w?=
 =?utf-8?B?eThLVmRhNGhsdWFkQ0F2c241LzJZZGljaVJUMC9tSS9zdENEM2xRUithTFV2?=
 =?utf-8?B?SERXVVowWXMzVHJJalBxQWgzT21EcnBsUzFlb0ppUkw4NFo2MmxZMi9SWlps?=
 =?utf-8?B?QmdZUzVSWk1JMXNmKytQVFZsWGpYN2Y3K2htclNDa3QwSmxENXI2THdlUHhS?=
 =?utf-8?B?Z0hmbVd1OENoTktIVWU1V2ZoSkV6cVRyNmQxMHVuRHZob3BRRmNFM3UwT0U0?=
 =?utf-8?B?cFU5NXZoZ1NXcXFNTjVZMEZnWlUxNlhxZlp6TEQ3SXNoTzZVd3Q4NUo4bXFF?=
 =?utf-8?B?c21jS1hDQTdPMmxyTUQwd0g2S0tiK1BOUUlvMGEwRlNBSWZQUTR6dUZHeGdV?=
 =?utf-8?B?SHhwT1N0eUFXdElBbkR2NVpieXFnVlNFTVVOcnJIY2FKSWpoMmN5TEMxUDhM?=
 =?utf-8?B?RGxhUys4Q0EwZG4vK0Rpb3p6eUdrMWhaSUFhVWZENWpiaTUyaWcrMXJSL3NN?=
 =?utf-8?B?MzRUdm9sV2U4RnRWN3hlc3EyQnFuSkVhRzRMd0pkTnltQXVLUUdRNE1kQnRI?=
 =?utf-8?B?bys4YmcwSXhwaGdnR0VOS2EwZFdRVkhncVhuTjJvN3ZveDIyN2NzK0cxVlRl?=
 =?utf-8?Q?eRDCxp+6ARiIq9x4NHull7h5D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 18a16b8c-6531-4110-7c90-08dd630941db
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2025 15:02:36.9744
 (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: Tz9E1ilyuNaWEmHWpETg/fEgArPYs8IHZcipHe0DdF5i3KdPKLLCWz6KKLJo2J0fr53hceZzDsEHEciC3xgTxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR03MB10441

14.03.25 13:11, Jan Beulich:
> On 14.03.2025 06:23, Sergiy Kibrik wrote:
>> Replace more general CONFIG_HVM option with CONFIG_VM_EVENT which is more
>> relevant and specific to monitoring. This is only to clarify at build level
>> to which subsystem this file belongs.
>>
>> No functional change here, as VM_EVENT depends on HVM.
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> I see you've adjusted tag order in patch 3. Why not also here and in patch 1?
> 

oops.. I've missed those, sorry..

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 15:11:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 15:11:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914792.1320438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt6h5-0002Si-Nc; Fri, 14 Mar 2025 15:11:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914792.1320438; Fri, 14 Mar 2025 15:11: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 1tt6h5-0002Sb-Kr; Fri, 14 Mar 2025 15:11:27 +0000
Received: by outflank-mailman (input) for mailman id 914792;
 Fri, 14 Mar 2025 15:11: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt6h3-0002SI-H6
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 15:11:25 +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 955995fc-00e6-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 16:11:19 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so441932266b.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 08:11:19 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3149cfbb3sm237722966b.101.2025.03.14.08.11.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 08:11: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: 955995fc-00e6-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741965079; x=1742569879; 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=on3WPjCyyf51Sz+9icxHB4iXOP9KG/1BSzZBFj1esNI=;
        b=XlAKZIhoDGMaDU+CAaCs33APLc/ePDV/ZumMrKNMf8hnSosJBu50WT8qd4XV+eToS0
         rtQwNxt0p9lDzqY2QWpbfx36F2x9vsJMy64OdG+vcUR083PKGbIkC/YuXCJWwapKxZm/
         QukO/VLXGKgHCLAf4zdY8y8lzOFkBsmwZEMHo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741965079; x=1742569879;
        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=on3WPjCyyf51Sz+9icxHB4iXOP9KG/1BSzZBFj1esNI=;
        b=N5V1lQ17heblOs90uNVScTJMeAe4r+fBPoe1QdcwjeXzJjAMeOpMvRI/5XkIbUhKPR
         X9SHqnE1yU/mu8+5gFsxZmLHj6GVdaTg2hw2nHm04Ii9CMLRhHFqzxElupTgl8lWzc2H
         kUIUCkyebpF1AV03oepd2enzD9Yc05wOFtXKnmPII8SqVITEsrtZ1WfHq9Siv70Fmzhm
         PhF22Z53+wKDZqe8FU+dsMCNTwVQKnjU9cK/Dg3Mu6yzWYEYlN30SQG3KgKfP2yzpo4d
         6gO8hVHutxet4nJlLEpV0F+RMy4reVCoYHKBGBin3g3qw+m8B3iF56jfFY1CsnJxqVuC
         hIzw==
X-Forwarded-Encrypted: i=1; AJvYcCW0iYNhAJZOSkgmvQ6wpHkygocjoPiMnQz80O8UzqR01CEg9bkVmdax7HehGrCPw5+LIopdDzDAYlU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDMnBXmTYHqvRZqYNiOpSOcA1xXc/M6kXg3ziHrwMTb8kU/WK5
	j9LVZquVH8cwxxOcizYFGafZ+fYhJk0UQGN3BdVWs1oKCTgdTR2YD3Gwwr2Er8M=
X-Gm-Gg: ASbGncvV8v4OF/+V/2oXVK6SEjR4+R6EiztXkqb+02hxGjSBLrPGOlb5jGVwOUMGHFo
	dJedBcQ3pnfYUtcGPl61s8XNkj+Iec5R/XStLEEve092hRFJkuZ/GwChOOI6B/lRHlN9DFRzmsn
	hpRUzEsq5/9zT/RxEICmmAlQILQ57G+3+3YUZ4Z/ybTuJMn15+mBuj19xNm0KcB14mf7+vO1lJ9
	A8CB49xd3rPCp4xa6pQTVYpNPhWfpWJjq7mwkpOCUTFlX1FUpsgTtsM/ysS7rpvgBJYvwXZgErp
	B9s6YO8xTpJIX7KI8lJHOKrpx2PmMWnormBwl6YZXYFkWDey2bN+FIIdquILL7ZdMjOLBNlfx5u
	1p5k2AAlo
X-Google-Smtp-Source: AGHT+IHg2kRGceL+y4/Byr1zSKRuqZFchRfa8pEXz9IBGhzCkCN5jiKAqIT68qw98b5mkkfB1+CvJw==
X-Received: by 2002:a17:907:9724:b0:ac2:29c7:8622 with SMTP id a640c23a62f3a-ac33046a3femr360903866b.54.1741965078892;
        Fri, 14 Mar 2025 08:11:18 -0700 (PDT)
Message-ID: <39ef524d-6509-41de-9ea4-7696b68ba54a@citrix.com>
Date: Fri, 14 Mar 2025 15:11:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 2/3] tools/xenstored: use unique_id to identify new
 domain with same domid
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20250314121835.1879-1-jgross@suse.com>
 <20250314121835.1879-3-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: <20250314121835.1879-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14/03/2025 12:18 pm, Juergen Gross wrote:
> Use the new unique_id of a domain in order to detect that a domain
> has been replaced with another one reusing the doamin-id of the old

domain.

> domain.
>
> While changing the related code, switch from "dom_invalid" to
> "dom_valid" in order to avoid double negation and use "bool" as type
> for it.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 16:24:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 16:24:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914823.1320449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt7p7-0004nI-RH; Fri, 14 Mar 2025 16:23:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914823.1320449; Fri, 14 Mar 2025 16:23: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 1tt7p7-0004nB-Nu; Fri, 14 Mar 2025 16:23:49 +0000
Received: by outflank-mailman (input) for mailman id 914823;
 Fri, 14 Mar 2025 16:23: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=PtaC=WB=bounce.vates.tech=bounce-md_30504962.67d45811.v1-a5fbd9fc6a124724a3ab65f294e2fef1@srs-se1.protection.inumbo.net>)
 id 1tt7p6-0004n5-KK
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 16:23:48 +0000
Received: from mail177-1.suw61.mandrillapp.com
 (mail177-1.suw61.mandrillapp.com [198.2.177.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3cc1e70-00f0-11f0-9898-31a8f345e629;
 Fri, 14 Mar 2025 17:23:46 +0100 (CET)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-1.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4ZDqS11MQTzBsThgs
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 16:23:45 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 a5fbd9fc6a124724a3ab65f294e2fef1; Fri, 14 Mar 2025 16: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: b3cc1e70-00f0-11f0-9898-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741969425; x=1742239425;
	bh=5CX06zLw+evjXs5+uGO5+aj4meIwQUl2JK788qDrM9Y=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=rWr7e1f+TcWzAxKjynY8d37UYozqi2PefA1qAuCtIHdFQt3pziV1veXa+His4ODa2
	 UbodPnmjCT/hYA4hPHeJiLjoPy3AAZRa6qfQdNwmiANwSOBN8uvOnNm6ZKSqp/jWOq
	 6JWobve5YeYz409/QvMmSc4hlJdC2AcZQ5bRtJzV7ZAI4sX7QJ/otdkXeGEpdMeK/w
	 2YhqYS8y9/2An+ey853fExGTU5IFvFta0NmxJuel31TAUr9Ed9Yvn7hn7bOaaxri8J
	 70G+f45E2vuZ3taKCdqHyYwBvuupbc8x3OU7ah3vbRFcUPlY1PXlQZ7LPL0VHaW7i7
	 W0yYJLboGQ8ig==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741969425; x=1742229925; i=anthony.perard@vates.tech;
	bh=5CX06zLw+evjXs5+uGO5+aj4meIwQUl2JK788qDrM9Y=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=1HeoLbGPfHsH26WaMbuR7cfx7iCWBK5pHo9KM5H7w94+0qd3/TbiLl/J49+YqJ4vM
	 VpZY1ECzjQewzBgytQCHDQ67ZU31sW0jfKi3/FpmNiJfMaZciSwZmyAdJwljdczCGP
	 E7m0Z0P2EY3p0phZ9Lzw9WBadVcyC3IBWpNZLoWJSfKwFfSkglju6PEqe3cg7VkFps
	 9MqdfCRSlTcLW02PlTwme+y3MtbKSnrNPRRUoEqtQqMuRC0dzkYl/GlJjaBjnG8kSG
	 1GpRmrrTlYyfjzImgJ93EeMu2q1yFDebL6xHN2/VIUBS+Xg/Fv2guyc/SRjQbFNAME
	 0M3cr2hSLxraQ==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20PATCH=20v3=203/7]=20xen/arm:=20scmi-smc:=20passthrough=20SCMI=20SMC=20to=20guest=20domain?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741969422725
To: "Grygorii Strashko" <gragst.linux@gmail.com>
Cc: xen-devel@lists.xenproject.org, "Stefano Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "Michal Orzel" <michal.orzel@amd.com>, "Roger Pau Monne" <roger.pau@citrix.com>, "Jan Beulich" <jbeulich@suse.com>, "Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>, "Oleksii Moisieiev" <oleksii_moisieiev@epam.com>, "Bertrand Marquis" <bertrand.marquis@arm.com>, "Juergen Gross" <jgross@suse.com>, "Grygorii Strashko" <grygorii_strashko@epam.com>
Message-Id: <Z9RYDnUtlzvw_xpI@l14>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com> <20250311111618.1850927-4-grygorii_strashko@epam.com>
In-Reply-To: <20250311111618.1850927-4-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.a5fbd9fc6a124724a3ab65f294e2fef1?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250314:md
Date: Fri, 14 Mar 2025 16:23:45 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Mar 11, 2025 at 01:16:14PM +0200, Grygorii Strashko wrote:
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 8e1422104e50..7edf272386e3 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -3094,6 +3094,42 @@ assigned to the domain.
>  
>  =back
>  
> +=over 4

This =over 4 is unnecessary, but you need to move that existing =back to
the end of the Arm section, just before "=head3 x86" that we can see in
the context of this patch. (And doing that will fix a compiliation
failure ;-))

> +=item B<arm_sci="ARM_SCI_STRING">
> +
> +Set ARM_SCI specific options for the guest. ARM SCI is System
> +Control Protocol allows domain to manage various functions that are provided
> +by HW platform firmware.
> +
> +B<ARM_SCI_STRING> is a comma separated list of C<KEY=VALUE> settings,
> +from the following list:
> +
> +=over 4
> +
> +=item B<type=STRING>
> +
> +Specifies an ARM SCI type for the guest.
> +
> +=over 4
> +
> +=item B<none>
> +
> +Don't allow guest to use ARM SCI if present on the platform. This is the
> +default value.
> +
> +=item B<scmi_smc>
> +
> +Enables ARM SCMI SMC support for the guest by enabling SCMI over SMC calls
> +forwarding from domain to the EL3 firmware (like Trusted Firmware-A) with a
> +single SCMI OSPM agent support.
> +Should be used together with B<dom0_scmi_smc_passthrough> Xen command line
> +option.
> +
> +=back
> +
> +=back
> +
>  =head3 x86
>  
>  =over 4
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index f8fe4afd7dca..5fa43637ab76 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -313,6 +313,11 @@
>   */
>  #define LIBXL_HAVE_BUILDINFO_ARCH_NR_SPIS 1
>  
> +/*
> + * libxl_domain_build_info has the arch_arm.sci* fields.

The new field seems to be called `arm_sci`. Did you intend to add `sci`
in `arch_arm` instead? Also, there's only `type` been added to
`arm_sci`, with the possibility to add more field in the future, so it
would be better to say that only "type" exist.

> + */
> +#define LIBXL_HAVE_BUILDINFO_ARCH_ARM_SCI 1
> +
>  /*
>   * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
>   * 'soft reset' for domains and there is 'soft_reset' shutdown reason
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index 33c9cfc1a267..ea0d30654cdd 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -551,6 +551,15 @@ libxl_sve_type = Enumeration("sve_type", [
>      (2048, "2048")
>      ], init_val = "LIBXL_SVE_TYPE_DISABLED")
>  
> +libxl_arm_sci_type = Enumeration("arm_sci_type", [
> +    (0, "none"),
> +    (1, "scmi_smc")
> +    ], init_val = "LIBXL_ARM_SCI_TYPE_NONE")
> +
> +libxl_arm_sci = Struct("arm_sci", [
> +    ("type", libxl_arm_sci_type),
> +    ])
> +
>  libxl_rdm_reserve = Struct("rdm_reserve", [
>      ("strategy",    libxl_rdm_reserve_strategy),
>      ("policy",      libxl_rdm_reserve_policy),
> @@ -639,6 +648,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>      ("apic",             libxl_defbool),
>      ("dm_restrict",      libxl_defbool),
>      ("tee",              libxl_tee_type),
> +    ("arm_sci",          libxl_arm_sci),
>      ("u", KeyedUnion(None, libxl_domain_type, "type",
>                  [("hvm", Struct(None, [("firmware",         string),
>                                         ("bios",             libxl_bios_type),
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index 9a3679c02325..ac9bf0b25c5a 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -1284,6 +1284,63 @@ out:
>      if (rc) exit(EXIT_FAILURE);
>  }
>  
> +static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
> +                                const char *str)
> +{
> +    enum {
> +        STATE_OPTION,
> +        STATE_TYPE,
> +        STATE_TERMINAL,
> +    };
> +    int ret, state = STATE_OPTION;
> +    char *buf2, *tok, *ptr, *end;
> +
> +    if (NULL == (buf2 = ptr = strdup(str)))
> +        return ERROR_NOMEM;
> +
> +    for (tok = ptr, end = ptr + strlen(ptr) + 1; ptr < end; ptr++) {
> +        switch(state) {
> +        case STATE_OPTION:
> +            if (*ptr == '=') {
> +                *ptr = '\0';
> +                if (!strcmp(tok, "type")) {
> +                    state = STATE_TYPE;
> +                } else {
> +                    fprintf(stderr, "Unknown ARM_SCI option: %s\n", tok);
> +                    goto parse_error;
> +                }
> +                tok = ptr + 1;
> +            }
> +            break;
> +        case STATE_TYPE:
> +            if (*ptr == '\0' || *ptr == ',') {
> +                state = *ptr == ',' ? STATE_OPTION : STATE_TERMINAL;
> +                *ptr = '\0';
> +                ret = libxl_arm_sci_type_from_string(tok, &arm_sci->type);
> +                if (ret) {
> +                    fprintf(stderr, "Unknown ARM_SCI type: %s\n", tok);
> +                    goto parse_error;
> +                }
> +                tok = ptr + 1;
> +            }
> +            break;
> +        default:
> +            break;

Instead of rolling your own parsing algo, could you do something similar
to the code that parse VIRTIO_DEVICE_STRING just above? It's basically a
loop with strtok() and a bunch of MATCH_OPTION() call (see
parse_virtio_config(), not the MATCH_OPTION for "type") which seems it
would be enough for parsing the SCI string. It would make
parse_arm_sci_config() much smaller and avoid a lot of repetition in the
code.

> +        }
> +    }
> +
> +    if (tok != ptr || state != STATE_TERMINAL)
> +        goto parse_error;
> +
> +    free(buf2);
> +
> +    return 0;
> +
> +parse_error:
> +    free(buf2);
> +    return ERROR_INVAL;
> +}
> +
>  void parse_config_data(const char *config_source,
>                         const char *config_data,
>                         int config_len,
> @@ -2981,6 +3038,15 @@ skip_usbdev:
>      if (!xlu_cfg_get_long (config, "nr_spis", &l, 0))
>          b_info->arch_arm.nr_spis = l;
>  
> +    if (!xlu_cfg_get_string(config, "arm_sci", &buf, 1)) {
> +        libxl_arm_sci arm_sci = { 0 };

Please use libxl_arm_sci_init() to initialise `arm_sci` instead. And add
a call to libxl_arm_sci_dispose() at the end of this context.

> +        if (!parse_arm_sci_config(config, &arm_sci, buf)) {
> +            b_info->arm_sci.type = arm_sci.type;
> +        } else {
> +            exit(EXIT_FAILURE);
> +        }
> +    }
> +
>      parse_vkb_list(config, d_config);
>  
>      d_config->virtios = NULL;

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:20:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:20:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914841.1320458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8i5-0001aS-QF; Fri, 14 Mar 2025 17:20:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914841.1320458; Fri, 14 Mar 2025 17:20: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 1tt8i5-0001aL-NU; Fri, 14 Mar 2025 17:20:37 +0000
Received: by outflank-mailman (input) for mailman id 914841;
 Fri, 14 Mar 2025 17:20: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8i4-0001U1-Pd
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:20:36 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a23fc19f-00f8-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:20:33 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-2ff797f8f1bso4105819a91.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:20:33 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-301539d40a1sm1393009a91.1.2025.03.14.10.20.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 10:20: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: a23fc19f-00f8-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741972832; x=1742577632; 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=3Z8Ejyf5gVIQB49egYugEEvIlbhLo/s2/9aU/7U8kVY=;
        b=GUM8C0fhwINq0ab/NnjV6XkkHUc+Mq3SdbviqJk8i8taKGhfeEmhGmoiDFNivzmQ3x
         KUqqxYwxVLRlB5y8C18ljNNUjJbPh6lStaTONH0AFfM19ttGjDcHBnXiKBsPylrENfhT
         fx6fMSgjhFAuNuZCQ/ibhkupOiBrPm8mMs8/cVESiwBF6pIbHzYs3JITcbWfj/9+Ve/D
         yFgBJGOBi35+YOTDErJUh5Oc8g/LrsJmUkQ8sOx35b318iSWOPNsraBxBTCtMNTOHiSJ
         ypEcZ30H1rE86v9P7owZkKhkkSDWff2QlHTgFhkJA84qcNfACr6uWO84HVl7QtV343BN
         8tKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741972832; x=1742577632;
        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=3Z8Ejyf5gVIQB49egYugEEvIlbhLo/s2/9aU/7U8kVY=;
        b=hVqOlD86pIWC220H1q2pJIdHcul7cDWuiIPFYsRZsNE6FHAEzVMHSPd4vdCaqUNGfr
         Z/o+yI6S/b65n2bHWuye04p+WTYBgHOB2VZXFR69TFBYw3jh0x9KSXk3PMqSih9pR5UV
         eYkQk49zIJ401Y/XV8mAzTXBE72dF4ooDrIFgt9Dv7KCo7Qwi/QauwNNVJKCBGgUSF2y
         OdOzDxqKVMo9Yon7pFJvQLXOo/3ccx+K+qISk2A40g7wYpKOt8wOrTtqXWVtR578EfIR
         D5A+jaLbX9OPVRxSJEt+CqKpLIWdMtUCJjMu9TISbZqi+ZAHVFGgJ2uit2K7CqFpXoz5
         YkMQ==
X-Forwarded-Encrypted: i=1; AJvYcCVDWkgJX1BFbkaCMSt/FJVhDCQ8x7bKxT9ap9l9cSOGi4g3kIDkXBtj3DhP8zFeOirX1J7JBd7Rwks=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwWSioeM89mJ8u2toCRDB5cLsCqBb9EHLDRZrlcojItIGqaKvNy
	xGdOPAoKP6vfMkUKyXeNMcajff8blIxg3XEelWCyfqsv/1xc/GekIv/LUgtu6OQ=
X-Gm-Gg: ASbGncv9ABH6vgzHjXuqR35QAgpWFRFMa1S1RBBPqPmuUjtvuqw48As+mNIz2ojeaxu
	zm2cOaFzNZA/RC5vVMoAHJCBMGVtG4I7sgvGLsZctpT/q8Y/+w+SEOH0Etf1suV8llmLV81qTMf
	x+q24fowb2zEvSaSNY5fG59HDBIFEcvdJJzt+ShtteW3nE9Gt84Ecy8id27EapobNet6rFlDl/C
	K9ipG/INYU5RG87FjTORr1kbdL1NFPKR3GG7iB4WT8JRpeWU7oTEWKPnqtm/OdF8zdRo/bb+ZKO
	y56H6sYTm/8SF1ehdJtfHUSE7e1Avl0zE+FvZ+7l3EboFwvbL9tIi7wtSfAJUHWgYgjY
X-Google-Smtp-Source: AGHT+IH14/vkNdOBVlHqTbsYx0wGv8KV3ghiAEvAGkec1UsA+oGhZP9+b0le8JVQuRL27/WBey/Lyg==
X-Received: by 2002:a17:90a:da87:b0:2ff:5e4e:861 with SMTP id 98e67ed59e1d1-30151d9d4d8mr119507a91.24.1741972831743;
        Fri, 14 Mar 2025 10:20:31 -0700 (PDT)
Message-ID: <a04d4b3e-c2d6-4193-a95b-b8f61645dc27@linaro.org>
Date: Fri, 14 Mar 2025 10:20:30 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/17] hw/xen: add stubs for various functions
Content-Language: en-US
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: qemu-devel@nongnu.org, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, manos.pitsidianakis@linaro.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, qemu-ppc@nongnu.org,
 Richard Henderson <richard.henderson@linaro.org>, kvm@vger.kernel.org,
 David Hildenbrand <david@redhat.com>, Palmer Dabbelt <palmer@dabbelt.com>,
 Weiwei Li <liwei1518@gmail.com>, qemu-riscv@nongnu.org,
 Alistair Francis <alistair.francis@wdc.com>,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Nicholas Piggin <npiggin@gmail.com>
References: <20250313163903.1738581-1-pierrick.bouvier@linaro.org>
 <20250313163903.1738581-13-pierrick.bouvier@linaro.org>
 <Z9Qwg4PC_1bEaOLK@l14>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <Z9Qwg4PC_1bEaOLK@l14>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/14/25 06:35, Anthony PERARD wrote:
> On Thu, Mar 13, 2025 at 09:38:58AM -0700, Pierrick Bouvier wrote:
>> Those functions are used by system/physmem.c, and are called only if
>> xen is enabled (which happens only if CONFIG_XEN is not set).
> 
> You mean, 's/is not set/is set/'?

Right, I'll update the comment.

>>
>> So we can crash in case those are called.
>>
>> Acked-by: Richard Henderson <richard.henderson@linaro.org>
>> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
>> ---
>> diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
>> new file mode 100644
>> index 00000000000..19cee84bbb4
>> --- /dev/null
>> +++ b/hw/xen/xen_stubs.c
>> +
>> +void xen_invalidate_map_cache(void)
>> +{
> 
> Is this stub actually necessary? xen_invalidate_map_cache() doesn't
> seems to be used outside of xen's code.
>

You're right again, I added it by mistake.

> In anycase:
> Acked-by: Anthony PERARD <anthony.perard@vates.tech>
> 
> Thanks,
> 



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:21:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:21:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914851.1320469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8jK-0002dT-4N; Fri, 14 Mar 2025 17:21:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914851.1320469; Fri, 14 Mar 2025 17:21: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 1tt8jK-0002dM-0T; Fri, 14 Mar 2025 17:21:54 +0000
Received: by outflank-mailman (input) for mailman id 914851;
 Fri, 14 Mar 2025 17:21: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=8Ghv=WB=bounce.vates.tech=bounce-md_30504962.67d465a7.v1-256441ed796046d18e590df1063c32c2@srs-se1.protection.inumbo.net>)
 id 1tt8jI-0002dE-KP
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:21:52 +0000
Received: from mail136-29.atl41.mandrillapp.com
 (mail136-29.atl41.mandrillapp.com [198.2.136.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ccd007b1-00f8-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:21:44 +0100 (CET)
Received: from pmta11.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail136-29.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4ZDrkv0hkSz6CQ6y4
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 17:21:43 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 256441ed796046d18e590df1063c32c2; Fri, 14 Mar 2025 17:21: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: ccd007b1-00f8-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741972903; x=1742242903;
	bh=+ipbAFapUV5Tenj3xh/aa5u3Lx9iXG1q2x4JxsPfdd4=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=OKbNMYdJAbPOfa48hjBFo+llYsUEKGpa/WuHCKyi6pPUhBiy6dst9TVYmAdk+/K7L
	 AVjLVEQwADJVLskWITSCIMmZUwGgQheWi4E0oWkxq4Jv6ooceRPuPY4tONSevn0EDc
	 c9eiboyaIFud4uLupGKQMStbyYDxRASPFIY4NwytHGC5MQKJD+ACCmM45t4kRrlq37
	 cDvcU3utgYoc9Z/2jmzW8QSL7ch4yaeyCvex0xCXNR0RkLhGEGOGoktOkt7gkwk655
	 FrvsVwtMwQSVK9tWzDQMl2l+/r97BA5rWq894EwKGwoVr1y6MYqPfaXW+4lzbjoX3r
	 +0u5/ZAflNgrg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741972903; x=1742233403; i=anthony.perard@vates.tech;
	bh=+ipbAFapUV5Tenj3xh/aa5u3Lx9iXG1q2x4JxsPfdd4=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=FCww7K91Ic6wLjnP+pEBt/vKebl/lO1Z/EqCmqSx4PGpeIWAjYF2vbRTg7Gdm5gso
	 wP4IKzXJRacfPOzL7zVjUyp/x2jzfvag+EqWRXk6FxBCjwIMoxasNQWgR/3uASmrMq
	 xwR3Xde8APugzEi+WoxF+TKTqSRvAlXWHUwuheCOSn+TDSh5xzXqkSxHtHH6DIIvX4
	 DdFnt5oduzSYVeSD9iUtWrOEX9rnwIN6GgVtCF0zh0Q0t7oPE+CNfSS60bHagsS/D5
	 5C7oYJ1xdKHSs1M0uwAk1P/xi4hatKWsU5WsEhjL/ty6tB+XM2LqSm3uKcU9CU5P6d
	 6SAUxOix9Wqxg==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20PATCH=20v3=204/7]=20xen/arm:=20scmi:=20introduce=20SCI=20SCMI=20SMC=20multi-agent=20driver?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741972900861
To: "Grygorii Strashko" <gragst.linux@gmail.com>
Cc: xen-devel@lists.xenproject.org, "Stefano Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "Michal Orzel" <michal.orzel@amd.com>, "Roger Pau Monne" <roger.pau@citrix.com>, "Jan Beulich" <jbeulich@suse.com>, "Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>, "Oleksii Moisieiev" <oleksii_moisieiev@epam.com>, "Bertrand Marquis" <bertrand.marquis@arm.com>, "Juergen Gross" <jgross@suse.com>, "Grygorii Strashko" <grygorii_strashko@epam.com>
Message-Id: <Z9RlpF7oAACpQdSi@l14>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com> <20250311111618.1850927-5-grygorii_strashko@epam.com>
In-Reply-To: <20250311111618.1850927-5-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.256441ed796046d18e590df1063c32c2?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250314:md
Date: Fri, 14 Mar 2025 17:21:43 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Mar 11, 2025 at 01:16:15PM +0200, Grygorii Strashko wrote:
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 7edf272386e3..fc6041724a13 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -3126,6 +3126,21 @@ single SCMI OSPM agent support.
>  Should be used together with B<dom0_scmi_smc_passthrough> Xen command line
>  option.
>  
> +=item B<scmi_smc_multiagent>
> +
> +Enables ARM SCMI SMC multi-agent support for the guest by enabling SCMI over
> +SMC calls forwarding from domain to the EL3 firmware (like Trusted Firmware-A)
> +with a multi SCMI OSPM agent support. The SCMI B<agent_id> should be
> +specified for the guest.
> +
> +=back

This new =back shouldn't exist in this patch, because there's no =over
been added. This just fix a bug present in the previous patch.

> +
> +=item B<agent_id=NUMBER>
> +
> +Specifies a non-zero ARM SCI agent id for the guest. This option is mandatory
> +if the SCMI SMC support is enabled for the guest. The agent ids of domains
> +existing on a single host must be unique.

Are they other restriction on what agent_id value can be? I mean from
the description -4242 is a valid value.

>  =back
>  
>  =back
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 8e50f6b7c7ac..bc3c64d6ec90 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1091,6 +1091,15 @@ which serves as Driver domain. The SCMI will be disabled for Dom0/hwdom and
>  SCMI nodes removed from Dom0/hwdom device tree.
>  (for example, thin Dom0 with Driver domain use-case).
>  
> +### dom0_scmi_agent_id (ARM)
> +> `= <integer>`
> +
> +The option is available when `CONFIG_SCMI_SMC_MA` is compiled in, and allows to
> +enable SCMI functionality for Dom0 by specifying a non-zero ARM SCMI agent id.
> +The SCMI will be disabled for Dom0 if this option is not specified
> +(for example, thin Dom0 or dom0less use-cases).
> +The agent ids of domains existing on a single host must be unique.
> +
>  ### dtuart (ARM)
>  > `= path [:options]`
>  
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index d41adea1cefd..cdf5edb299af 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -229,6 +229,10 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>      case LIBXL_ARM_SCI_TYPE_SCMI_SMC:
>          config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC;
>          break;
> +    case LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT:
> +        config->arch.arm_sci_type = XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC_MA;
> +        config->arch.arm_sci_agent_id = d_config->b_info.arm_sci.agent_id;
> +        break;
>      default:
>          LOG(ERROR, "Unknown ARM_SCI type %d",
>              d_config->b_info.arm_sci.type);
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index ea0d30654cdd..e6707c7ca9e7 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -553,11 +553,13 @@ libxl_sve_type = Enumeration("sve_type", [
>  
>  libxl_arm_sci_type = Enumeration("arm_sci_type", [
>      (0, "none"),
> -    (1, "scmi_smc")
> +    (1, "scmi_smc"),
> +    (2, "scmi_smc_multiagent")
>      ], init_val = "LIBXL_ARM_SCI_TYPE_NONE")
>  
>  libxl_arm_sci = Struct("arm_sci", [
>      ("type", libxl_arm_sci_type),
> +    ("agent_id", uint8)

Is it necessary to limit this value to a 8-bit value here? Skimming
through the Xen code, it seems that that value can be 32-bits at times,
but just restricted to 8-bits in the hypercall.

>      ])
>  
>  libxl_rdm_reserve = Struct("rdm_reserve", [
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index ac9bf0b25c5a..011222ec55b9 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -1324,11 +1327,24 @@ static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
>                  tok = ptr + 1;
>              }
>              break;
> +        case STATE_AGENT_ID:
> +            if (*ptr == ',' || *ptr == '\0') {
> +                state = *ptr == ',' ? STATE_OPTION : STATE_TERMINAL;
> +                *ptr = '\0';
> +                arm_sci->agent_id = strtoul(tok, NULL, 0);

You should check that the value returned by strtoul() is actually valid
and does fit in `agent_id`.

> +                tok = ptr + 1;
> +            }
>          default:
>              break;
>          }
>      }
>  
> +    if (arm_sci->type == LIBXL_ARM_SCI_TYPE_SCMI_SMC_MULTIAGENT &&
> +        arm_sci->agent_id == 0) {
> +        fprintf(stderr, "A non-zero ARM_SCI agent_id must be specified\n");
> +        goto parse_error;
> +    }
> +
>      if (tok != ptr || state != STATE_TERMINAL)
>          goto parse_error;
>  
> @@ -3042,6 +3058,7 @@ skip_usbdev:
>          libxl_arm_sci arm_sci = { 0 };
>          if (!parse_arm_sci_config(config, &arm_sci, buf)) {
>              b_info->arm_sci.type = arm_sci.type;
> +            b_info->arm_sci.agent_id = arm_sci.agent_id;

I just realise that it's probably enough to call
parse_arm_sci_config(.., &b_info->arm_sci) instead of declaring
another local `arm_sci` variable. Or is it necessary to have a different
variable somehow?

>          } else {
>              exit(EXIT_FAILURE);
>          }

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:25:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:25:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914865.1320479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8mr-0003IX-MZ; Fri, 14 Mar 2025 17:25:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914865.1320479; Fri, 14 Mar 2025 17:25: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 1tt8mr-0003IQ-Ij; Fri, 14 Mar 2025 17:25:33 +0000
Received: by outflank-mailman (input) for mailman id 914865;
 Fri, 14 Mar 2025 17:25: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8mq-0003IK-1W
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:25:32 +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 5452c2c5-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:25:31 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-aaeec07b705so369682066b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:25:31 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:25: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: 5452c2c5-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973130; x=1742577930; 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=YjvqXYyEEnHbKJZz92/fZWoNj/3Jm20gx4F4RpsQxSE=;
        b=L5UZ8tzKDZ+mN9idQp4Qgsv9DxcbCIM8tfrny+UOJPJxvYJgWD/f4OkP8o+NZxJYrZ
         U2pnULhtcE6tYqBTTcijiEFkeIKUeL0Q9zRk9aXsWcXKvsF5Czq85/voUnSrtceArf00
         IQMDSH6c45qMyKxEo0PVd/CXA7M17UUjGifEM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973130; x=1742577930;
        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=YjvqXYyEEnHbKJZz92/fZWoNj/3Jm20gx4F4RpsQxSE=;
        b=vtwz8ApBCFNAbHA4w52aFhBaSE72do+3dLobnePKBTpBGgG0hSzDELqgyaNX0IprIj
         omxIiQZ505fAYHF0ceCEKaoVK6wW6QMvDlrfajcEWKcQnTm/tvqvrCGKGxjo6yXoSOQZ
         m1iBk3ytqpOybakX9J/OQ0nbd1wiIfZ5h2c1NZKmYUQ1IQrRXBAeMI2Q96n2butc7DFx
         FIkFHy0Kd6hTpTsN0pTeqzqx+0f32ou+b/AfqVErZJbj3VjIaa1ii7saQlxrWyeWMbuP
         F6c1h81RG5U6gtj1dcV6mrluRaPcDM9o6EhEsTKqwIuljvFWF1OIA6A1nirLXNIEAXlC
         uatw==
X-Gm-Message-State: AOJu0Yyha8Ox5KWe2ytUkcwpdjRtSxmbpDXSSQgMaw/HGwefAmSlesfu
	ky1G/tNyLYsYlM0/jj4ck0vIeAATVevtzl3fpCGNJ5urHTSlwt5Jra2tE2WO/nPb51ca84sN4gN
	o
X-Gm-Gg: ASbGncuuPr4I62Fwq+U9lgMXTqKGD8v092nhe/LjB6Wlxez10aqrBgo7u9sxS09xO5W
	q93FXCz634wrOlfmcHuyFGR7/zfU2djArTDRURlG1zzvTogvqaC6FLzjGgsgpkGZQaWyxmGOcKh
	O7w/5i4CjHn1qv5ogcu2RHoXm8s+2Uak0KBlPaAY+jtr40Ilu0RG5p/ukcfPNBryz8l0V8SpiIe
	VA4a88IXDQUXlvVfc5rmsfnpJnz+QYJLwgA9T3QlnEbVCelGDAu8PEVMEIIuGzdsfxj/lGQPOsD
	oNDOWA0dUjDpSNFhzSItdzHkpDwuQf3MBDiSKy0raKMj99Fn4yKPrEPxTN0lItmI5Fc=
X-Google-Smtp-Source: AGHT+IH8a5jyo/RjLx/Yw5KHGQgXGW2HCEPTx08EbGJYgU3PiwVAhczDrObRz9K7szwRs9VBurjQSw==
X-Received: by 2002:a17:907:da3:b0:ac2:7c68:b3fe with SMTP id a640c23a62f3a-ac3301771demr481681966b.15.1741973130243;
        Fri, 14 Mar 2025 10:25:30 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Juergen Gross <jgross@suse.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH 00/11] Add support for exact-node memory claims
Date: Fri, 14 Mar 2025 17:24:51 +0000
Message-ID: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The Xen toolstack supports claiming memory ahead of allocating it with the
intent of assisting bootstorms of massive VMs. This works ok for general VMs,
but falls appart miserably whenever the toolstack attempts to force placement
of specific NUMA nodes.

This series extends the in-hypervisor claim infrastructure to support per-node
claims, and propagates the knob all the way to xl.cfg.

A worthy future goal is the support of multi-node claims per domain, but the
objective of this series is far more modest and merely intends to enable
claiming memory on a single node for specific domains. This solves a
real-world use case of bundling many small VMs in a single NUMA machine.

The feature specifically allows combining domains with exact-node claims,
general claims and no claims at all in a consistent fashion.

Alejandro Vallejo (11):
  xen/memory: Mask XENMEMF_node() to 8 bits
  xen/page_alloc: Remove `claim` from domain_set_outstanding_pages()
  xen/page_alloc: Add static per-node counts of free pages
  xen: Add node argument to
    domain_{adjust_tot_pages,set_outstanding_pages}()
  xen: Create per-node outstanding claims
  xen/page_alloc: Hook per-node claims to alloc_heap_pages()
  xen/page_alloc: Set node affinity when claiming pages from an exact
    node
  xen/memory: Enable parsing NUMA node argument in XENMEM_claim_pages
  tools/xc: Add `node` argument to xc_domain_claim_pages()
  tools/xl: Expose a "claim_on_node" setting in xl.cfg
  docs/man: Document the new claim_on_node option

 docs/man/xl-numa-placement.7.pod     |   8 ++
 docs/man/xl.1.pod.in                 |   2 +-
 docs/man/xl.cfg.5.pod.in             |  14 +++
 tools/golang/xenlight/helpers.gen.go |   2 +
 tools/golang/xenlight/types.gen.go   |   1 +
 tools/include/xenctrl.h              |   1 +
 tools/include/xenguest.h             |   7 ++
 tools/libs/ctrl/xc_domain.c          |  13 ++-
 tools/libs/guest/xg_dom_core.c       |   1 +
 tools/libs/guest/xg_dom_x86.c        |  22 ++---
 tools/libs/light/libxl_dom.c         |   2 +
 tools/libs/light/libxl_types.idl     |   3 +-
 tools/xl/xl_parse.c                  |  11 +++
 xen/arch/x86/mm.c                    |   3 +-
 xen/arch/x86/mm/mem_sharing.c        |   4 +-
 xen/common/domain.c                  |   2 +-
 xen/common/grant_table.c             |   4 +-
 xen/common/memory.c                  |  25 +++++-
 xen/common/page_alloc.c              | 125 ++++++++++++++++++++++-----
 xen/include/public/memory.h          |   5 +-
 xen/include/xen/mm.h                 |   6 +-
 xen/include/xen/sched.h              |   3 +
 22 files changed, 216 insertions(+), 48 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:25:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:25:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914866.1320489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8mt-0003Wj-Tu; Fri, 14 Mar 2025 17:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914866.1320489; Fri, 14 Mar 2025 17:25: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 1tt8mt-0003Wc-QU; Fri, 14 Mar 2025 17:25:35 +0000
Received: by outflank-mailman (input) for mailman id 914866;
 Fri, 14 Mar 2025 17:25: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8mt-0003WI-Dg
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:25:35 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55cd188f-00f9-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:25:33 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-aaecf50578eso411397566b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:25:33 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:25: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: 55cd188f-00f9-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973133; x=1742577933; 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=D88teVB8QraJI8UkkRbNWyapnCrKK4Sforaz0HF/IhM=;
        b=YtkYHTz0O6kd9sAc0a9JIH8KckLarfRGMhY/Y55TRx4qTe90cFyYWE2xkr7peYMRc1
         bRTjhfA0nN0hHdaxCtwj5qD16JgUh5PtOH7ZQeD9IxsEZ4Qxkqie3c0icL0Vs/Jz3huV
         hW/rl8vovw04rxiODzVOUaVhAs1lUnk9sGnz4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973133; x=1742577933;
        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=D88teVB8QraJI8UkkRbNWyapnCrKK4Sforaz0HF/IhM=;
        b=SPvsDOcYrCAVbo9PAhvNxuuT5aoqNwiroBHgNGe0IjIJDCeN9wUYbseN3IcylPrYxr
         EkEQ0VR3bgGjLmYELhLaMLHkNkmn08f/Tmu5C+ZYAqFdpGPcDtNO/xN8gQyxgy2zfJHS
         W6cZbtLQcgY7+7PcxmY72fv74AJuIF0+gwUKFms8HYp1JiErJoET7OJRd9W33LXGM/tN
         YnPU/tfWU+VuKc6Dv68kQnKpU1bupNib0dvAQ6lAT1iz5O0na8TBSpvmOMS97lbqvrNJ
         KTk0u/45iNvf//akYus6ArjH6WOqX3eNqu30UPX1EWsjWfZneSdzGw3dPT3ChjBLmt+4
         O9HA==
X-Gm-Message-State: AOJu0YyGPJLO0lv8XfF8+D5FGyyreDRTjMVguLaIoBRSWxbdWaMlcAyX
	kdbZiqoRso8vpaQg568xvLZydk4olbhuhjzoA6nd5Eu2VVzZUKt45NTvCnZmrNVxcd4YF+//Jaj
	e
X-Gm-Gg: ASbGncueeobaSPZsU9seKso+cHGaQ4N5QnD6ibLrsvunG7YnLW8XQ4O5KfzSZAUXcAJ
	cSBSsN9KsW9P3c7/hDT1c902n/v6KZp551rSJRtaErCE2ObsL8PwEqapQsYHrT4KJeVQDMdVOBV
	bSKreJwHlFZBbfJGiYew5spV3ag9G+7J6C0aP08uueEor1h2mtE693g9le5E+bv3UJ9uv6OvXPZ
	3sMdxGrlHx9uTE2Qlliz0lk3QX2qnQ0hNAaSw/QxJLXoIE56UEFiWofwWIldjSSF51ZzItbANh+
	n5DxJIDT83XvWBuXSw/E38c4pvRNFI+Ek4ixqAzujoLxGgxV5VZJQlM5e8+/lh1vCkk=
X-Google-Smtp-Source: AGHT+IHF+okTXpoKk3F3RN6+H/q9LDUWzo3CUgJjnS2eIVHjtz6xVjONzkwXnSSZJAQyrsQrJwTsJA==
X-Received: by 2002:a17:907:9485:b0:ac3:2a77:cb4e with SMTP id a640c23a62f3a-ac330189240mr367576266b.13.1741973132888;
        Fri, 14 Mar 2025 10:25:32 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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 01/11] xen/memory: Mask XENMEMF_node() to 8 bits
Date: Fri, 14 Mar 2025 17:24:52 +0000
Message-ID: <20250314172502.53498-2-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As it is, it's incredibly easy for a buggy call to XENMEMF_node() to
unintentionally overflow into bit 17 and beyond. Prevent it by masking,
just like MEMF_* does.

While at it, turn "x" into "n" and "f" to better indicate whether the
macro takes nodes or mem_flags (just like their MEMF_* counterparts).

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/include/public/memory.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index bd9fc37b5297..077eef48c60d 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -32,8 +32,9 @@
 #define XENMEMF_address_bits(x)     (x)
 #define XENMEMF_get_address_bits(x) ((x) & 0xffu)
 /* NUMA node to allocate from. */
-#define XENMEMF_node(x)     (((x) + 1) << 8)
-#define XENMEMF_get_node(x) ((((x) >> 8) - 1) & 0xffu)
+#define XENMEMF_node_mask   (0xffu)
+#define XENMEMF_node(n)     ((((n) + 1) & XENMEMF_node_mask) << 8)
+#define XENMEMF_get_node(f) ((((f) >> 8) - 1) & XENMEMF_node_mask)
 /* Flag to populate physmap with populate-on-demand entries */
 #define XENMEMF_populate_on_demand (1<<16)
 /* Flag to request allocation only from the node specified */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:25:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914868.1320499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8mz-0003of-4z; Fri, 14 Mar 2025 17:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914868.1320499; Fri, 14 Mar 2025 17: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 1tt8mz-0003oT-1h; Fri, 14 Mar 2025 17:25:41 +0000
Received: by outflank-mailman (input) for mailman id 914868;
 Fri, 14 Mar 2025 17: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8mx-0003IK-MO
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:25:39 +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 5921db99-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:25:39 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e5b572e45cso4245438a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:25:39 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:25: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: 5921db99-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973138; x=1742577938; 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=351bdlLIbuxgol8ZF7V3o8BgsGOssbbNlMWXgCJ2hCs=;
        b=RC+bo7JKTvEZtae3Gr3izzQhXKVIBhrGVXgHQFrY/ou41vZ2AbDK/3Gh/uAp24N5pe
         SWp2MILYFC5DL7kBfN7YRkR5oMZAm25XservpB6NiBza1CZA8I6nml4s6zP+SRUCtKkd
         zX5ugudvxdE6Kvxrhc3864UqTQBXg9/1XjdmM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973138; x=1742577938;
        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=351bdlLIbuxgol8ZF7V3o8BgsGOssbbNlMWXgCJ2hCs=;
        b=H0etzQr1tMBIXvxxf+/lQRLrY5HYeZv0aduhraZOpY8e0aXwawBThtwqm9JkKsvsp1
         ECWEIvPRMKCgjyUmvsGxqC4XbjW1hhuwuaPora/ITh9HWn9AfwtOvhC1htse+sRo9vUB
         pjTLKgoFRg2odSM3pCusN9vOdhFlTHhrabxsPJ6iu6y0LDcWhmqy0DXL3mrfMUp/IJxG
         XSEQOFrz4Ee6xPvAb26Xtu09LP1ptGcjKs3nmbCUUdbbicqXCaODinHnR2V/NlPyFx78
         wBB7BDYN4U7FHrGH50RJMx/DGr5O8HcwuzUhOZon/rQaz8qJvFWXFAUermAogDqbrPSS
         bbmA==
X-Gm-Message-State: AOJu0YyXZHCcuxQq54/mWnBs/533BCCX8OcjOPkFRyWhQlZGN9O+26pf
	OizBU6RbXbfXiUSOmingQW4OOz08XEsmnDBeBDq02qZkxkGHCcgM4VnEg79w3nR6AbBl9tSZ+dw
	K
X-Gm-Gg: ASbGnctxVM9/lPjSYATIafV4/lwpSIgho1dCmUzq0W4hNnyTzQY5NpYoZeRU1aoyjBW
	hJu3frP/f6GZygE+jsdB/JAS6HUieWe9tS1a6EvEIcbNU/KiG3jna3uoOOP2Cdgcp3YqW1XLoPc
	lnc7QN5YZoGnXNih+k4WUtQ0p1yt9wLDPvVEmMChBuLvi3I+Tt2SjFcUqnvFicPw4zg01MJhS2g
	eKVwc2fyp63ETml+OAyAHQOqR3/A3tRvnLqkb96jCPRg7GvQzfile+S0FGgTaz4sGVFQtMB7RNo
	nroz0mRWpDikg9ML5iHYfAKHoc6DeJeeAhec8L3SVN5sq/dnJkI5/EIjKNT6rLhPhtA=
X-Google-Smtp-Source: AGHT+IFI/fvEfzg2jBcAL1WJKOGW6aGgqd1AEB2qnpko0+wGODBcJlNhhdY5u2rgrYI9d4Vgxr2unA==
X-Received: by 2002:a17:907:60d5:b0:ac1:df33:25b9 with SMTP id a640c23a62f3a-ac3303ab8f3mr447537466b.40.1741973138357;
        Fri, 14 Mar 2025 10:25:38 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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 02/11] xen/page_alloc: Remove `claim` from domain_set_outstanding_pages()
Date: Fri, 14 Mar 2025 17:24:53 +0000
Message-ID: <20250314172502.53498-3-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With a single global count for the claims it's easy to substract
domain_tot_pages() from the claim so the number given in the hypercall
is the real reservation of the domain. This is the current behaviour.

However, a later patch introduces exact-node claims and those interact
very poorly with such a scheme. Since accounting domain_tot_pages() in
one case but not the other seems strictly worse than not accounting them
at all (which is at least consistent), this patch stops substracting
tot_pages from the claim and instead checks that claimed memory +
allocated memory don't exceed max_mem.

Arguably it's also clearer for the caller to align the amount of claimed
memory with that of the requested claim.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/common/page_alloc.c | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index bd4538c28d82..49c3258169db 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -523,7 +523,7 @@ out:
 int domain_set_outstanding_pages(struct domain *d, unsigned long pages)
 {
     int ret = -ENOMEM;
-    unsigned long claim, avail_pages;
+    unsigned long avail_pages;
 
     /*
      * take the domain's page_alloc_lock, else all d->tot_page adjustments
@@ -549,28 +549,21 @@ int domain_set_outstanding_pages(struct domain *d, unsigned long pages)
         goto out;
     }
 
-    /* disallow a claim not exceeding domain_tot_pages() or above max_pages */
-    if ( (pages <= domain_tot_pages(d)) || (pages > d->max_pages) )
+    /* Don't claim past max_pages */
+    if ( (domain_tot_pages(d) + pages) > d->max_pages )
     {
         ret = -EINVAL;
         goto out;
     }
 
     /* how much memory is available? */
-    avail_pages = total_avail_pages;
+    avail_pages = total_avail_pages - outstanding_claims;
 
-    avail_pages -= outstanding_claims;
-
-    /*
-     * Note, if domain has already allocated memory before making a claim
-     * then the claim must take domain_tot_pages() into account
-     */
-    claim = pages - domain_tot_pages(d);
-    if ( claim > avail_pages )
+    if ( pages > avail_pages )
         goto out;
 
     /* yay, claim fits in available memory, stake the claim, success! */
-    d->outstanding_pages = claim;
+    d->outstanding_pages = pages;
     outstanding_claims += d->outstanding_pages;
     ret = 0;
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:25:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914872.1320509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8n3-00048A-Cv; Fri, 14 Mar 2025 17:25:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914872.1320509; Fri, 14 Mar 2025 17:25: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 1tt8n3-000481-8W; Fri, 14 Mar 2025 17:25:45 +0000
Received: by outflank-mailman (input) for mailman id 914872;
 Fri, 14 Mar 2025 17:25: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8n2-0003IK-87
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:25:44 +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 5bdca9bb-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:25:43 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-ac2a9a74d9cso482348166b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:25:43 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:25: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: 5bdca9bb-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973143; x=1742577943; 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=TFenvx66HA+6v8NxSa9ViLoF7QrMBRbRtQz2J0bReoE=;
        b=Gbmf5vwTeDRdSDAA0MkgetkisQsjCn3zsqKpXTXyiNuelXdtguNh8xF7jjzcf0UCi1
         67enMWv9V1nvO+WaF2jgWdoZ0yMXMPKHKGxJtxJh9dtQwWKNX01BpHMTHArfTv/dBk+F
         Z9EYtKPgFTBTpoiHDyg2tZfFfIsSozqCMpRLA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973143; x=1742577943;
        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=TFenvx66HA+6v8NxSa9ViLoF7QrMBRbRtQz2J0bReoE=;
        b=KFMVVTTEP9u0AnlVTqTytJoFi7uxC3NTAgCuXaHeI4F16JRDfSqH4SkIq5xBKJ3Z8u
         KgLn+k3idlsUaQslgw9dOAwo/yGhHKvZRgjrxcbspEv7gNNvmsqxZBqL4qJxuFw3LG1I
         R77IxqFDTSazIrYmGGSb/r/8BVfzxY/6uKnR9aLPHkuLBdy/eLdxD8vJezjkH03T6PNA
         MLxgWRZIGBuHzFoh4ZhCcBFuJVPQ4OGPTQa3rxYQOCRKmKgFv7r/8W2yfJOLjsrW5XT4
         VBy1SwcZW9cPfDN7/dWHs2pE4muPjhk/PYd60vcyd2Ixp+XXgV4VxBkYL0zJbHMQ78TE
         zw6A==
X-Gm-Message-State: AOJu0YwS1CB+FP8cGioylBg2MFAnr2xLPqFuyskCE0CX2aVM3sChbRZE
	DzYtRB3xz8Ym45Ahqf0P7JtiXa8MYhu5lgXro3L49xqnyyLcH7tkzqHqbh75VMRZapEq1LtxLtP
	c
X-Gm-Gg: ASbGncsBgyotF67Olg03ldIG84/EVG5sbDXhd4imv+vX1qYDV6tEHN0nAlFgcmQSbE/
	jeQ1NUubCwiqqVByTKyEloOETLwQqWKyt+499Bs5HPTJs6G+cvxptUvuGsmfCQEn+fNao2FIW3A
	JcBeFA42OMZ201LwPuyBMuDHZ0U6DMvN0EVbYnAfBFXAJHCWZVNuEz86KUgNEHjy9ZvY+VkSHJR
	roRYQb6a1WPtn0HeIhz4iU6dCwWtt3oRUiuC79TMirv0D+jxp7fHRlNag8pT3z25OiLV3OIBXAg
	iGT23+FyM9jh4XrI5vG+1TRWmPjzd0/7eE80lEkvWi6gGtoc/jKyOvb3wTSgobUcVIM=
X-Google-Smtp-Source: AGHT+IG8xBocfTx86Mu0vxS3AmDloPZohIWbVfv2YZa+3EWOiP2ooez9VIyHoRUuoFpOT57DzDG6cg==
X-Received: by 2002:a17:907:7215:b0:ac2:9ac:a062 with SMTP id a640c23a62f3a-ac3301ea35dmr297824366b.23.1741973142916;
        Fri, 14 Mar 2025 10:25:42 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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 03/11] xen/page_alloc: Add static per-node counts of free pages
Date: Fri, 14 Mar 2025 17:24:54 +0000
Message-ID: <20250314172502.53498-4-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These are effectively the sum of free memory in all zones of each node.
It's an optimization to avoid doing that operation frequently in
following patches that introduce exact-node claims.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/common/page_alloc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 49c3258169db..733b0300a767 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -485,6 +485,9 @@ static unsigned long node_need_scrub[MAX_NUMNODES];
 static unsigned long *avail[MAX_NUMNODES];
 static long total_avail_pages;
 
+/* Per-node counts of free pages */
+static unsigned long pernode_avail_pages[MAX_NUMNODES];
+
 static DEFINE_SPINLOCK(heap_lock);
 static long outstanding_claims; /* total outstanding claims by all domains */
 
@@ -1033,6 +1036,7 @@ static struct page_info *alloc_heap_pages(
 
     ASSERT(avail[node][zone] >= request);
     avail[node][zone] -= request;
+    pernode_avail_pages[node] -= request;
     total_avail_pages -= request;
     ASSERT(total_avail_pages >= 0);
 
@@ -1191,6 +1195,8 @@ static int reserve_offlined_page(struct page_info *head)
             continue;
 
         avail[node][zone]--;
+        ASSERT(pernode_avail_pages[node] > 0);
+        pernode_avail_pages[node]--;
         total_avail_pages--;
         ASSERT(total_avail_pages >= 0);
 
@@ -1515,6 +1521,7 @@ static void free_heap_pages(
     }
 
     avail[node][zone] += 1 << order;
+    pernode_avail_pages[node] += 1 << order;
     total_avail_pages += 1 << order;
     if ( need_scrub )
     {
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:25:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:25:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914875.1320519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8n6-0004TX-LQ; Fri, 14 Mar 2025 17:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914875.1320519; Fri, 14 Mar 2025 17:25: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 1tt8n6-0004TM-GO; Fri, 14 Mar 2025 17:25:48 +0000
Received: by outflank-mailman (input) for mailman id 914875;
 Fri, 14 Mar 2025 17:25: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8n5-0003IK-CN
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:25:47 +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 5d9c9aa1-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:25:46 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5e6194e9d2cso4149984a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:25:46 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:25: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: 5d9c9aa1-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973146; x=1742577946; 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=p2oB9p9SaE6fLAIDKnikCVppfz5uU7uJrmpyg+tR1os=;
        b=S6yeMTYPEpViCxDwdzH8Fg0PTkhlMbGA1nELtkiWcGQlxIj6sF1c3QgIf843zJ+uS+
         12XRicMJN0AjHrPEvlTQJuOofAYsnRrHjJ19DgiDxZasRYsc1xFbB+8vEcPWMUx6QrCb
         nE6TMazeJDUZVm70S2vil2tf/Nf3S1IqfAd4E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973146; x=1742577946;
        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=p2oB9p9SaE6fLAIDKnikCVppfz5uU7uJrmpyg+tR1os=;
        b=V0NtAqlimBqLI2ol1vPdc3qUg2fbr7HLnGZYcH4wNaOKZFveQYeDKgVoZ59GYJqQQq
         tEaxV7eN6HUR99ukid99ScXo9eIDT9iQvX9zFMjW2PdBpj/RpulZJKswSW+FLMPeaMTH
         QABaZ/FkAeManbCTn8nsIGh5StfFsmZCYeaYABNFy5dWgCpI4+giMwrQzMqF1tw6DjLe
         oTU9YwCdiK23cmekGCpdIE7fynzTeI03+s6rLsXNixfBvPQoKBPKZQiMpOvCHNeHNqbs
         8sDS/dKw34xBZZsKoEgSFttgj6hTGHzddcnvT9SGC7uSKsDS7uhifIqrMYKBhJ7GY5BY
         45HA==
X-Gm-Message-State: AOJu0YySNz7ROQpmbVbAsTjpSwxeUilXDsKONmd5aLYg7ftTgid3MZU8
	LC8b33tqnRKlCF2RXeJzgoioNdsC3mw0bC33g2sWuZNTn8BIb1cx5wg2KTcmkWgp5z9aBeuRb/i
	H
X-Gm-Gg: ASbGncvijmZVhSOSxun0E7qRpBiw6tvu3V5hXXqxoGgM3ZGgpP75ICNT53zKrTlsPob
	xNT7HvKodQtD6gylVsvnBn2r0hmB6MliIuNDBCYz0tNwpZeXpK58vAoDfZPvdAqzkD5CBljP3HA
	ZlnIyLVhQ0APyh3/Wer8gjY9wHibUHFJ61ApGSfpEiap3GAA/gt430HR7F4LUJZ7tQEvMVUC9xS
	hwxV9OdpKKYzNyrs55/nsncWj/UhNpcx7Qe4VpXM92uxyLNWF3bm0fPCHQD2ajt2iOIERnfvJtI
	iFKHOoqrNIe/TBhKeDTsaM7PoH7EBiFHlMX9ZB9vgU36vTtcEJ/fsBTcpNKqsCqcjS0=
X-Google-Smtp-Source: AGHT+IGYDsF4nOyhHTVwVja8lWm+p2gw5JmYoTSGjOjZXctFy6CAvBALmxOqLNzSRuBvGptN3Qo7TA==
X-Received: by 2002:a17:906:794d:b0:ac2:d0e6:2b99 with SMTP id a640c23a62f3a-ac33039806bmr378513366b.36.1741973145848;
        Fri, 14 Mar 2025 10:25:45 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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>
Subject: [PATCH 04/11] xen: Add node argument to domain_{adjust_tot_pages,set_outstanding_pages}()
Date: Fri, 14 Mar 2025 17:24:55 +0000
Message-ID: <20250314172502.53498-5-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

domain_adjust_tot_pages() decreases the outstanding claims of a domain
as pages are allocated, so that'll need to take into account the node in
which an allocation is done. Deallocations just pass NUMA_NO_NODE.

domain_set_outstanding_pages() takes the node on which to to stake an
exact-node claim, or NUMA_NO_NODE if it's a non-exact claim.

Not a functional change, as neither function uses the arguments for
anything yet. It's a prerequisite to simplify for the following patch
that introduces per-node claim counts.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/arch/x86/mm.c             |  3 ++-
 xen/arch/x86/mm/mem_sharing.c |  4 ++--
 xen/common/domain.c           |  2 +-
 xen/common/grant_table.c      |  4 ++--
 xen/common/memory.c           |  6 ++++--
 xen/common/page_alloc.c       | 17 ++++++++++++-----
 xen/include/xen/mm.h          |  6 ++++--
 7 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index bfdc8fb01949..89f87d013099 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -4458,7 +4458,8 @@ int steal_page(
     page_list_del(page, &d->page_list);
 
     /* Unlink from original owner. */
-    if ( !(memflags & MEMF_no_refcount) && !domain_adjust_tot_pages(d, -1) )
+    if ( !(memflags & MEMF_no_refcount) &&
+         !domain_adjust_tot_pages(d, NUMA_NO_NODE, -1) )
         drop_dom_ref = true;
 
     nrspin_unlock(&d->page_alloc_lock);
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index da28266ef076..2551c0d86e80 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -720,7 +720,7 @@ static int page_make_sharable(struct domain *d,
     if ( !validate_only )
     {
         page_set_owner(page, dom_cow);
-        drop_dom_ref = !domain_adjust_tot_pages(d, -1);
+        drop_dom_ref = !domain_adjust_tot_pages(d, NUMA_NO_NODE, -1);
         page_list_del(page, &d->page_list);
     }
 
@@ -766,7 +766,7 @@ static int page_make_private(struct domain *d, struct page_info *page)
     ASSERT(page_get_owner(page) == dom_cow);
     page_set_owner(page, d);
 
-    if ( domain_adjust_tot_pages(d, 1) == 1 )
+    if ( domain_adjust_tot_pages(d, page_to_nid(page), 1) == 1 )
         get_knownalive_domain(d);
     page_list_add_tail(page, &d->page_list);
     nrspin_unlock(&d->page_alloc_lock);
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 585fd726a941..72d8d62bc1e8 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1205,7 +1205,7 @@ int domain_kill(struct domain *d)
         rspin_barrier(&d->domain_lock);
         argo_destroy(d);
         vnuma_destroy(d->vnuma);
-        domain_set_outstanding_pages(d, 0);
+        domain_set_outstanding_pages(d, NUMA_NO_NODE, 0);
         /* fallthrough */
     case DOMDYING_dying:
         rc = domain_teardown(d);
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 6c77867f8cdd..d8c5321185c6 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -2403,7 +2403,7 @@ gnttab_transfer(
         }
 
         /* Okay, add the page to 'e'. */
-        if ( unlikely(domain_adjust_tot_pages(e, 1) == 1) )
+        if ( unlikely(domain_adjust_tot_pages(e, page_to_nid(page), 1) == 1) )
             get_knownalive_domain(e);
 
         /*
@@ -2429,7 +2429,7 @@ gnttab_transfer(
              * page in the page total
              */
             nrspin_lock(&e->page_alloc_lock);
-            drop_dom_ref = !domain_adjust_tot_pages(e, -1);
+            drop_dom_ref = !domain_adjust_tot_pages(e, NUMA_NO_NODE, -1);
             nrspin_unlock(&e->page_alloc_lock);
 
             if ( okay /* i.e. e->is_dying due to the surrounding if() */ )
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 8ca4e1a8425b..1ab0bac4e7da 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -773,7 +773,8 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
 
                 nrspin_lock(&d->page_alloc_lock);
                 drop_dom_ref = (dec_count &&
-                                !domain_adjust_tot_pages(d, -dec_count));
+                                !domain_adjust_tot_pages(d, NUMA_NO_NODE,
+                                -dec_count));
                 nrspin_unlock(&d->page_alloc_lock);
 
                 if ( drop_dom_ref )
@@ -1680,7 +1681,8 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         rc = xsm_claim_pages(XSM_PRIV, d);
 
         if ( !rc )
-            rc = domain_set_outstanding_pages(d, reservation.nr_extents);
+            rc = domain_set_outstanding_pages(d, NUMA_NO_NODE,
+                                              reservation.nr_extents);
 
         rcu_unlock_domain(d);
 
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 733b0300a767..9243c4f51370 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -491,7 +491,8 @@ static unsigned long pernode_avail_pages[MAX_NUMNODES];
 static DEFINE_SPINLOCK(heap_lock);
 static long outstanding_claims; /* total outstanding claims by all domains */
 
-unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
+unsigned long domain_adjust_tot_pages(struct domain *d, nodeid_t node,
+                                      long pages)
 {
     ASSERT(rspin_is_locked(&d->page_alloc_lock));
     d->tot_pages += pages;
@@ -523,7 +524,8 @@ out:
     return d->tot_pages;
 }
 
-int domain_set_outstanding_pages(struct domain *d, unsigned long pages)
+int domain_set_outstanding_pages(struct domain *d, nodeid_t node,
+                                 unsigned long pages)
 {
     int ret = -ENOMEM;
     unsigned long avail_pages;
@@ -2600,6 +2602,8 @@ int assign_pages(
 
     if ( !(memflags & MEMF_no_refcount) )
     {
+        nodeid_t node = page_to_nid(&pg[0]);
+
         if ( unlikely(d->tot_pages + nr < nr) )
         {
             gprintk(XENLOG_INFO,
@@ -2611,7 +2615,9 @@ int assign_pages(
             goto out;
         }
 
-        if ( unlikely(domain_adjust_tot_pages(d, nr) == nr) )
+        ASSERT(node == page_to_nid(&pg[nr - 1]));
+
+        if ( unlikely(domain_adjust_tot_pages(d, node, nr) == nr) )
             get_knownalive_domain(d);
     }
 
@@ -2744,7 +2750,8 @@ void free_domheap_pages(struct page_info *pg, unsigned int order)
                 }
             }
 
-            drop_dom_ref = !domain_adjust_tot_pages(d, -(1 << order));
+            drop_dom_ref = !domain_adjust_tot_pages(d, NUMA_NO_NODE,
+                                                    -(1 << order));
 
             rspin_unlock(&d->page_alloc_lock);
 
@@ -2957,7 +2964,7 @@ void free_domstatic_page(struct page_info *page)
 
     arch_free_heap_page(d, page);
 
-    drop_dom_ref = !domain_adjust_tot_pages(d, -1);
+    drop_dom_ref = !domain_adjust_tot_pages(d, NUMA_NO_NODE, -1);
 
     unprepare_staticmem_pages(page, 1, scrub_debug);
 
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index ae1c48a61545..e577a450681c 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -64,6 +64,7 @@
 #include <xen/bug.h>
 #include <xen/compiler.h>
 #include <xen/mm-frame.h>
+#include <xen/numa.h>
 #include <xen/types.h>
 #include <xen/list.h>
 #include <xen/spinlock.h>
@@ -129,8 +130,9 @@ mfn_t xen_map_to_mfn(unsigned long va);
 int populate_pt_range(unsigned long virt, unsigned long nr_mfns);
 /* Claim handling */
 unsigned long __must_check domain_adjust_tot_pages(struct domain *d,
-    long pages);
-int domain_set_outstanding_pages(struct domain *d, unsigned long pages);
+    nodeid_t node, long pages);
+int domain_set_outstanding_pages(struct domain *d, nodeid_t node,
+                                 unsigned long pages);
 void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages);
 
 /* Domain suballocator. These functions are *not* interrupt-safe.*/
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:25:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:25:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914883.1320528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8nD-0004zi-27; Fri, 14 Mar 2025 17:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914883.1320528; Fri, 14 Mar 2025 17:25: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 1tt8nC-0004za-Ul; Fri, 14 Mar 2025 17:25:54 +0000
Received: by outflank-mailman (input) for mailman id 914883;
 Fri, 14 Mar 2025 17: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8nC-0003IK-4d
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:25:54 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6198a550-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:25:53 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-ac34257295dso55171666b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:25:53 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10: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: 6198a550-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973152; x=1742577952; 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=zi0U1tBM2T4W2AEbnFZA5/T7OE3SmD5RxZSu3R3MuvQ=;
        b=GmUdB/RFDvZR/WWwjBKSSbs9MNuoMfMfdKmDzPCEw9I7e3/S0y4T2IuVJlvlHH89ka
         g08CPZMphARd/dsfgbr6DtYbzf0ks9YXpDA7JwxOIFx0bxp/ju2IDc2gpwZrRrqzOkMF
         CGab5FnJ6/EfcSyaY158Zae7NdZE8C/OgXAFc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973152; x=1742577952;
        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=zi0U1tBM2T4W2AEbnFZA5/T7OE3SmD5RxZSu3R3MuvQ=;
        b=azMjd+8i709wZVGc9xv+OLMJB2OFp6lrYrcifFVoxv6TU2HyIfS4bMo0NMAONF+u3a
         g4ISOqBnAaXPdhR4sxiaDF/kvtvjRDfXCjp9AffThJbzWDv2xYG8cRoK4w7jiesLYUc6
         A+7PxtmjH8O7ANN3NC4HJvhX3FgjGc0xwf1FAVhvKVidxSYwnEzJJ2AalnMbA47SSnuM
         AgOQPg7zD7YtGglShgExXBubxlAndjQp66zSl7hjFW3AAag8C5B0vtChkAImZnaJjb6R
         ZN7xDhCRSBa4JT9CW1iVfa0xJ4eunz7WjGiRiOTOwdT9tzPvmkiRklOl1d1uxzzx+tX6
         ISzA==
X-Gm-Message-State: AOJu0Yxgx+JkilJGpCYRNcozZGznkA2t6Lrvjmznh1l2TbzS8foNuWd9
	6KrZZfcAvW7vrKYISWM5Q4lMoHmRrlHZdQeVcrtg6LJLmtvz+467T6Wl2eG7WncXg/4hVF4geO5
	p
X-Gm-Gg: ASbGncvSXOm5VEDtAha8mhGoRQF1SzZWSyEvsrY7rcV8tujmeFp6A5QsSPqE0LdwVVL
	ApysuFAAEj7l8xfYcqlpDmggaTJCppNQc40tD/eVdSXRoVx3+kq1DwKXrH4MbUalCMAvxph4+W1
	KZsQoavlQNu7hQvtAi5lvFiJUnVyDqZ9+I6XJ1POT9CL4e7EEL6SRnRpt2Y8iYKa5a+rcnf1L5r
	nLcvFVuLI690+Y9DsJwz3wGx4yjUZLJcd3Qvkf5PkIUbWvXT2kXcKXtEkE8uZJ4Y4UzGm7zDPir
	r4XZdasmnCwGempnhUdvBB6s9l2gezmTsuxcXkuKR4gVEUy9ZdAQk7FDvpmB2IRRXB4=
X-Google-Smtp-Source: AGHT+IFADtQYmIHTCQjkqGKIQUUkHpagvgpqQ3Bb9SjUIRU2mCKX4RN/qddSc0+Q25vOp0lX6f4pWw==
X-Received: by 2002:a17:906:6a27:b0:ac2:7be7:95c5 with SMTP id a640c23a62f3a-ac3303225c3mr432322766b.33.1741973152447;
        Fri, 14 Mar 2025 10:25:52 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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 05/11] xen: Create per-node outstanding claims
Date: Fri, 14 Mar 2025 17:24:56 +0000
Message-ID: <20250314172502.53498-6-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extends domain_set_outstanding_claims() to allow staking claims on an
exact node. Also creates global per-node claim counts analogous to
`outstanding_claims`. Note that the per-node counts can't replace the
global one if we want exact-node claims to coexist with non-exact
claims.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/common/page_alloc.c | 32 +++++++++++++++++++++++++++++++-
 xen/include/xen/sched.h |  3 +++
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 9243c4f51370..7fe574b29407 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -490,6 +490,7 @@ static unsigned long pernode_avail_pages[MAX_NUMNODES];
 
 static DEFINE_SPINLOCK(heap_lock);
 static long outstanding_claims; /* total outstanding claims by all domains */
+static unsigned long pernode_oc[MAX_NUMNODES]; /* per-node outstanding claims */
 
 unsigned long domain_adjust_tot_pages(struct domain *d, nodeid_t node,
                                       long pages)
@@ -501,20 +502,31 @@ unsigned long domain_adjust_tot_pages(struct domain *d, nodeid_t node,
      * can test d->outstanding_pages race-free because it can only change
      * if d->page_alloc_lock and heap_lock are both held, see also
      * domain_set_outstanding_pages below
+     *
+     * If `d` has an exact-node claim, we must exit early if this is an
+     * adjustment attributed to another node.
      */
-    if ( !d->outstanding_pages || pages <= 0 )
+    if ( !d->outstanding_pages || pages <= 0 ||
+         (d->claim_node != NUMA_NO_NODE && d->claim_node != node) )
         goto out;
 
+
     spin_lock(&heap_lock);
     BUG_ON(outstanding_claims < d->outstanding_pages);
     if ( d->outstanding_pages < pages )
     {
         /* `pages` exceeds the domain's outstanding count. Zero it out. */
+        if ( d->claim_node != NUMA_NO_NODE )
+            pernode_oc[d->claim_node] -= d->outstanding_pages;
+
         outstanding_claims -= d->outstanding_pages;
         d->outstanding_pages = 0;
     }
     else
     {
+        if ( d->claim_node != NUMA_NO_NODE )
+            pernode_oc[d->claim_node] -= pages;
+
         outstanding_claims -= pages;
         d->outstanding_pages -= pages;
     }
@@ -542,6 +554,10 @@ int domain_set_outstanding_pages(struct domain *d, nodeid_t node,
     if ( pages == 0 )
     {
         outstanding_claims -= d->outstanding_pages;
+
+        if ( d->claim_node != NUMA_NO_NODE )
+            pernode_oc[d->claim_node] -= d->outstanding_pages;
+
         d->outstanding_pages = 0;
         ret = 0;
         goto out;
@@ -564,12 +580,26 @@ int domain_set_outstanding_pages(struct domain *d, nodeid_t node,
     /* how much memory is available? */
     avail_pages = total_avail_pages - outstanding_claims;
 
+    /* This check can't be skipped for the NUMA case, or we may overclaim */
     if ( pages > avail_pages )
         goto out;
 
+    if ( node != NUMA_NO_NODE )
+    {
+        avail_pages = pernode_avail_pages[node] - pernode_oc[node];
+
+        if ( pages > avail_pages )
+            goto out;
+    }
+
     /* yay, claim fits in available memory, stake the claim, success! */
     d->outstanding_pages = pages;
     outstanding_claims += d->outstanding_pages;
+    d->claim_node = node;
+
+    if ( node != NUMA_NO_NODE )
+        pernode_oc[node] += pages;
+
     ret = 0;
 
 out:
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 559d201e0c7e..307a9d749f5d 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -406,6 +406,9 @@ struct domain
     unsigned int     max_pages;         /* maximum value for domain_tot_pages() */
     unsigned int     extra_pages;       /* pages not included in domain_tot_pages() */
 
+    /* NUMA node from which outstanding pages have been reserved */
+    unsigned int     claim_node;
+
 #ifdef CONFIG_MEM_SHARING
     atomic_t         shr_pages;         /* shared pages */
 #endif
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:25:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:25:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914887.1320539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8nF-0005Nn-CQ; Fri, 14 Mar 2025 17:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914887.1320539; Fri, 14 Mar 2025 17: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 1tt8nF-0005NX-7z; Fri, 14 Mar 2025 17:25:57 +0000
Received: by outflank-mailman (input) for mailman id 914887;
 Fri, 14 Mar 2025 17:25: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8nD-0003IK-S9
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:25:55 +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 62c9cc77-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:25:55 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-ac298c8fa50so442924466b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:25:55 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:25: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: 62c9cc77-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973154; x=1742577954; 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=Rdh/nRp2GmOU7roCTz/BcdnWbFJ7a9N+rEjKItErqUM=;
        b=eKRB1iWXLDSEB5gZyzMO3hvVdVUNYWC+Ue1cO7+mEPkBt6+LSL/W9x0PIy/q87yquN
         PMGsaT0HRhWrTIC6KsVBBlYhSy5WX9mpIRAqvbR0kzasj/eFzaWr2VDc12B7OEY/f428
         fcOQYTLwX7fHXclSuLH/u9oh4ewrVIcfSkF+E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973154; x=1742577954;
        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=Rdh/nRp2GmOU7roCTz/BcdnWbFJ7a9N+rEjKItErqUM=;
        b=gGk1wPKJoTYJUBTcqO2zLk29DHY3djmAm6GDVlUrz52jn0oby+Dkgm5riJ+mQTi4Fk
         GgcLB0URoaRo6iN+/Q9yuVpvcf+XAbGmUCGCldL3P5DPjMKdZHSor04klZK2UvZuo90n
         X0SxLDde/WeN8ZgPs2Uk9OirInLDu0yir20AsH1l7LqbKkRje9NbW4fWqRg4ZIZ3LB+a
         zyP9SRlvSWXxksPzSqae/1Gg+lf9JyqaxVas2HwSxnv3Xu7QShcq2/69DmNTY8ZAg+Sl
         trc6390owb5Ce5XnkLDmITqTvjphTSjuclIDaTRrXKeQmS6r1s4MNnBcfmN+FrQLjOlm
         JW8A==
X-Gm-Message-State: AOJu0YwxRRYxuZQ/VMsIAltkyAnma4CjQ6O60vVdpXQS2aWp6h9sXHmB
	66MBnJhBfJxkkXm2f6jFbOFzk0u0ePe4E8MwOaoyJICBYlYrir7uve9MRyK7LgcMC1fo88Dfdds
	g
X-Gm-Gg: ASbGncsMerED8kTsO+ozzFN/28Y1ENzOjP/ahC790xelurFAbSTUB45QuLgVs2NCQWI
	byOXTCWqrZXs8Pz2q9XlQV9bxyzt9KB4qIgWcvUBthofNZcTbdA136aNQO3N9bmGFheviqjKclG
	mQSJLSY0cxmaOhjfsps9n3PteHeNQTg+g6gjMiMtjHk56Zyn2fAuX51hwXDLdmwI4B+sYnYXA8O
	bc9Z7HzvDX/8N3RdcWeljSrrEYYU40nUhf7TKWTgsUDG1xFHgAq4SarpO8x8GNB2h4Jw1cQOn+V
	96rytlfKm+W+GZhSNDP6tPqYt5C9x6E+d8Ci6bfte2zCRD09DBBcv8SXEfUouOar4rw=
X-Google-Smtp-Source: AGHT+IEk8nbANZEXxTyw0X2Q7BGwqyDIUuQMlWuNOdLVVwuv2DgDtuJtPUADZ4WCiPLZq08dAnvteA==
X-Received: by 2002:a17:906:4795:b0:ac1:fbf8:6ae7 with SMTP id a640c23a62f3a-ac33026213amr390563666b.13.1741973154557;
        Fri, 14 Mar 2025 10:25:54 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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 06/11] xen/page_alloc: Hook per-node claims to alloc_heap_pages()
Date: Fri, 14 Mar 2025 17:24:57 +0000
Message-ID: <20250314172502.53498-7-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extend the claim checks in alloc_heap_pages() to exact-node claims. The
logic is slightly more complicated, so the patch moves it all to an
auxiliary function.

exact-node claims also follow global claims in order to ensure both can
coexist in the same system.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/common/page_alloc.c | 44 ++++++++++++++++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 3 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 7fe574b29407..cfaa64d3b858 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -991,6 +991,46 @@ static void init_free_page_fields(struct page_info *pg)
     page_set_owner(pg, NULL);
 }
 
+/*
+ * Determine whether a heap allocation is allowed after considering all
+ * outstanding claims in the system.
+ *
+ * Exact-node allocations must also take into account global claims!
+ *
+ * e.g:
+ *   Consider a domain for which toolstack issued a non-exact claim of 75% of
+ *   host memory and another domain for which toolstack tries to issue an
+ *   exact-node claim of 50% of host memory. If the exact claim didn't consider
+ *   non-exact claims too we would overallocate, which is exactly what claims
+ *   are trying to prevent.
+ */
+static bool can_alloc(struct domain *d, unsigned int memflags,
+                      unsigned long request)
+{
+    nodeid_t node = (memflags & MEMF_exact_node) ? MEMF_get_node(memflags) :
+                                                   NUMA_NO_NODE;
+
+    if ( outstanding_claims + request <= total_avail_pages )
+    {
+        if ( node == NUMA_NO_NODE )
+            return true;
+
+        if ( pernode_oc[node] + request <= pernode_avail_pages[node] )
+            return true;
+    }
+
+    /*
+     * Not enough unclaimed memory. Only allow if it's already claimed on the
+     * right node. d->claim_node == NUMA_NO_NODE if the claim isn't on an
+     * exact node.
+     *
+     * Only refcounted allocs attributed to domains may have been claimed
+     */
+
+    return d && d->claim_node == node && d->outstanding_pages >= request &&
+           !(memflags & MEMF_no_refcount);
+}
+
 /* Allocate 2^@order contiguous pages. */
 static struct page_info *alloc_heap_pages(
     unsigned int zone_lo, unsigned int zone_hi,
@@ -1021,9 +1061,7 @@ static struct page_info *alloc_heap_pages(
      * Claimed memory is considered unavailable unless the request
      * is made by a domain with sufficient unclaimed pages.
      */
-    if ( (outstanding_claims + request > total_avail_pages) &&
-          ((memflags & MEMF_no_refcount) ||
-           !d || d->outstanding_pages < request) )
+    if ( !can_alloc(d, memflags, request) )
     {
         spin_unlock(&heap_lock);
         return NULL;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:30:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:30:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914922.1320548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8rq-0008OG-S3; Fri, 14 Mar 2025 17:30:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914922.1320548; Fri, 14 Mar 2025 17:30: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 1tt8rq-0008O9-PS; Fri, 14 Mar 2025 17:30:42 +0000
Received: by outflank-mailman (input) for mailman id 914922;
 Fri, 14 Mar 2025 17:30: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8nM-0003IK-8K
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:26:04 +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 67bd6e5a-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:26:03 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ab7430e27b2so432440766b.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:26:03 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.26.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:26: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: 67bd6e5a-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973163; x=1742577963; 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=VE78O4y1CQrjvnjU/sv6CX84h6wiIa5A36mM72fUABs=;
        b=Jvk38QZZ8GOKvvSiZGYZSjtelHZW2dNvfUFuoydPbJKSRl7lIqiNBwL4HWHrGHYxzq
         0GUZ3aZY7S+6dIFa1P24UzjTfn1t5JF3DSghqx+01XeJeNTuf/X7Z2Mc4Gfh+eUmuq97
         TdwAyTP5lVBraGsHaPYzTX2+Vx+KmqxBPgllU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973163; x=1742577963;
        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=VE78O4y1CQrjvnjU/sv6CX84h6wiIa5A36mM72fUABs=;
        b=oSacrO302I0aOdbuGOzi6WQsB3EYS4tnY0pdrv+x6anmvxjLbZE66rA0iaFnlmj6qD
         CHy/sTRskQtquKa4NGEgamm+x4nYqqKy1v4808bx28KDHFUaoyRcoZfq2urwTz0v+z0P
         06sP0wBECT4LkgIUI1Rr3N00BiwjjwU/cY2OSfiKULNhIyfyEVpA0kAPrDeiMhxI4KKA
         yJTBq7PMyAFS9reMGZ4MBBxtK0irMXr0zxV4ZX6MwbEJaZAp6R5bd+KgPgKBW3v9vt39
         pquzvXDv7x3CalkrVV+fQJyJ9XXvE3HG9ofZslMLvXYY7aAB75kk1J3uBJDR/huvRpTy
         t3pQ==
X-Gm-Message-State: AOJu0YzxKB1vMonfEVkQRMzu3Qa5yeUq1SUlN8pU6W7N9/dUSgZnRCV2
	kMNU3Nqus52FG0SvsiYKZ2yvHstyMPImUCZHiCWY+7vydOin6bUD4G+ao5Gh13/4FQJFnXtgZci
	O
X-Gm-Gg: ASbGncshsLxQiJwHma+wZMCKhXes2CrnlJcOSWumvTyfmWYnvzZdUV83GjWDmdLnfbp
	aNcloptpnVGGLBZ+0X8xuYtPqKoyS5NQFug4M0zi3+ekV8iyXWjLEy5xFxy793zbS5thBIH4T7h
	2nL+v2jE+svQ/ObVGpkI2DMzdn9Sh5oj/hYBTk6hYn0TGyRw0GB3qiIpO2vK7e1OizdB61aNIRS
	Ypg3rXG32cUHQGMdeMRqIyJOiDFlHOXHwHMdeX2FcxLAH40aH7fA1QnClsY5tSxs9kbS6udd4he
	I2khJDGMHDO5iZl9OetkZiC/h/p1Pj+92F7VKfjhIBtvxXuPrTjUzTt3VU4K1QQq9Fs=
X-Google-Smtp-Source: AGHT+IEdopHbhE1LscWV8fC/ITAGnDYTgseivOma1qqY5jAv9prfwdGhdthegQG/gWPHu/DlBzBzUA==
X-Received: by 2002:a17:907:2d91:b0:ac2:d6d1:fe65 with SMTP id a640c23a62f3a-ac3303bb742mr421704566b.41.1741973162944;
        Fri, 14 Mar 2025 10:26:02 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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 08/11] xen/memory: Enable parsing NUMA node argument in XENMEM_claim_pages
Date: Fri, 14 Mar 2025 17:24:59 +0000
Message-ID: <20250314172502.53498-9-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extract a NUMA node from mem_flags. This _must_ be an exact node, and
has the semantics of making a claim on a specific node.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/common/memory.c | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index 1ab0bac4e7da..28f9db89ba62 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1659,6 +1659,9 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         break;
 
     case XENMEM_claim_pages:
+    {
+        nodeid_t node;
+
         if ( unlikely(start_extent) )
             return -EINVAL;
 
@@ -1671,9 +1674,23 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( reservation.extent_order != 0 )
             return -EINVAL;
 
-        if ( reservation.mem_flags != 0 )
+        /* Only allow NUMA-related memory flags to claim on exact nodes */
+        if ( (reservation.mem_flags &
+              !XENMEMF_exact_node(XENMEMF_node_mask - 1)) != 0 )
             return -EINVAL;
 
+        node = XENMEMF_get_node(reservation.mem_flags);
+        if ( node != NUMA_NO_NODE )
+        {
+            /* Disallow advisory nodes. If present, must be exact */
+            if ( !(reservation.mem_flags & XENMEMF_exact_node_request) )
+                return -EINVAL;
+
+            /* Disallow nodes that would overflow the in-hypervisor arrays */
+            if ( node >= MAX_NUMNODES )
+                return -EINVAL;
+        }
+
         d = rcu_lock_domain_by_id(reservation.domid);
         if ( d == NULL )
             return -EINVAL;
@@ -1681,13 +1698,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         rc = xsm_claim_pages(XSM_PRIV, d);
 
         if ( !rc )
-            rc = domain_set_outstanding_pages(d, NUMA_NO_NODE,
-                                              reservation.nr_extents);
+            rc = domain_set_outstanding_pages(d, node, reservation.nr_extents);
 
         rcu_unlock_domain(d);
 
         break;
 
+    }
     case XENMEM_get_vnumainfo:
     {
         struct xen_vnuma_topology_info topology;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:30:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914927.1320559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8s2-0000Qu-3c; Fri, 14 Mar 2025 17:30:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914927.1320559; Fri, 14 Mar 2025 17:30: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 1tt8s2-0000Qn-0J; Fri, 14 Mar 2025 17:30:54 +0000
Received: by outflank-mailman (input) for mailman id 914927;
 Fri, 14 Mar 2025 17:30: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8nQ-0003IK-KG
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:26:08 +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 6a4edf74-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:26:08 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac298c8fa50so442965766b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:26:08 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.26.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:26: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: 6a4edf74-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973167; x=1742577967; 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=1ad2q/lNaa8nGqhVkQjql1BQSL/I28Cvr3/N4q8Vco4=;
        b=U76r3I6gjKJm5jsbFB+qyFaRosiiox8NSIaBK0B43EKgDLzREQDZcua8x2aaLhTZjN
         DXRNaDiT2T83HqWirelVMZ4OOHkg3OqyFmruFdLu+M8E5M/bNye5qb+TJ3KNqeQoQUO9
         5FYIS2A6JW8qnhFgj+VjP8pTfLNcnsutkkcOA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973167; x=1742577967;
        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=1ad2q/lNaa8nGqhVkQjql1BQSL/I28Cvr3/N4q8Vco4=;
        b=TTm3QDa09IuVsAYtaXBPjyh6tXijax0LiBavLut621cJYr9lefgJvu6LotSFyQH76q
         1VuyqtxNLbFw3PrXYN8oSycxbEczWSwnwMvGDeWwxLCCAPp0cKVZXE1ooEoTV1R951lk
         sAIg1/FSJ5XVuJbEwTdtPLwCXwCGhEV65B/BSFzoK1euolrQLEKw9OWZQpR+BtDgyJ1z
         xb8IUUgdUZL/9PmFSpt+FgULVexL3hq2WzcU3nKWqK7GUQeoVuWVA74mzBPdiLVIp6V4
         Fl/ajOh19gnR2NvMh7Ag+/MAd8OmGx/sV6ByMd7D3J+opThv9m0qWtI0m7BVCilxmmdr
         wW1w==
X-Gm-Message-State: AOJu0YyA2D5Bt6VLVG4gvHUVJmhtevao9QPa0k8gvuXiMswGW9Wd1lH9
	6mt2w9kTqfLsa6st8GwzkmWZWZAmzFvsqjUPehUBMQq73RVdgAV8MVEXM2GAyXNL2/ZGYSzpKAA
	h
X-Gm-Gg: ASbGncuA2t3o09Q4ytA8LM9fMVROZwWbVa76TcvO2nPIfbTyTlPl8aEq67mO/M7rKk7
	TkD+E6ZwsIl3m8gtJFEp6kBGshvQhZRMg4eZzDvdxTWJg493ohAggEsLb8Jiyg5gCPsToSwna+v
	gU002/0TTvMinkK3p0l9fdtQse4R4CljCLsjrH9Vy2JmJ38V6WvTy49SAt8Zb2wzEEq4+XPMCRI
	e3Fg1WOSm8PoNXfyerVGNa2XLRox1fo9IUnVWaVg5aOw8jOV6wKnFeZkTIo0eOkxkoFNlOg5VE6
	OCFrods7Z7T9lldrtmgLGxk/x7w/svV7IIxON/zl+6/EnRgV8Uu2jZ49N3wqdW/QaqQ=
X-Google-Smtp-Source: AGHT+IGnOtlOn5MCkxiSggIOkGMsP3nNHIaHWre+D8PwogdaxXdi3HQeeBQNfbBXkVi4PeSs/lvyKw==
X-Received: by 2002:a17:907:7fa1:b0:ac2:4fe0:1dae with SMTP id a640c23a62f3a-ac3302c7536mr424144566b.24.1741973167063;
        Fri, 14 Mar 2025 10:26:07 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	George Dunlap <gwd@xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 10/11] tools/xl: Expose a "claim_on_node" setting in xl.cfg
Date: Fri, 14 Mar 2025 17:25:01 +0000
Message-ID: <20250314172502.53498-11-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Expose a setting to explicitly select a NUMA node for created domains

If the hypervisor can't reserve enough memory in the relevant NUMA node
it fails the claim early. Also, disable automatic NUMA placement when
this new option is enabled.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/golang/xenlight/helpers.gen.go |  2 ++
 tools/golang/xenlight/types.gen.go   |  1 +
 tools/include/xenguest.h             |  7 +++++++
 tools/libs/guest/xg_dom_core.c       |  1 +
 tools/libs/guest/xg_dom_x86.c        | 18 +++++++++---------
 tools/libs/light/libxl_dom.c         |  2 ++
 tools/libs/light/libxl_types.idl     |  3 ++-
 tools/xl/xl_parse.c                  | 11 +++++++++++
 8 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 90846ea8e882..9204020224d5 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1108,6 +1108,7 @@ x.LlcColors[i] = uint32(v)
 if err := x.ClaimMode.fromC(&xc.claim_mode);err != nil {
 return fmt.Errorf("converting field ClaimMode: %v", err)
 }
+x.ClaimOnNode = uint32(xc.claim_on_node)
 x.EventChannels = uint32(xc.event_channels)
 x.Kernel = C.GoString(xc.kernel)
 x.Cmdline = C.GoString(xc.cmdline)
@@ -1472,6 +1473,7 @@ cLlcColors[i] = C.uint32_t(v)
 if err := x.ClaimMode.toC(&xc.claim_mode); err != nil {
 return fmt.Errorf("converting field ClaimMode: %v", err)
 }
+xc.claim_on_node = C.uint32_t(x.ClaimOnNode)
 xc.event_channels = C.uint32_t(x.EventChannels)
 if x.Kernel != "" {
 xc.kernel = C.CString(x.Kernel)}
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index e7667f1ce3a3..1c6319200411 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -577,6 +577,7 @@ Irqs []uint32
 Iomem []IomemRange
 LlcColors []uint32
 ClaimMode Defbool
+ClaimOnNode uint32
 EventChannels uint32
 Kernel string
 Cmdline string
diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index e01f494b772a..08aae1e24e4c 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -185,6 +185,13 @@ struct xc_dom_image {
     uint32_t guest_domid;
     int claim_enabled; /* 0 by default, 1 enables it */
 
+    /*
+     * Exact NUMA node on which to allocate memory from.
+     *
+     * XC_NUMA_NO_NODE by default.
+     */
+    unsigned int claim_on_node;
+
     int xen_version;
     xen_capabilities_info_t xen_caps;
 
diff --git a/tools/libs/guest/xg_dom_core.c b/tools/libs/guest/xg_dom_core.c
index 595b0a667c03..152ec8ea6591 100644
--- a/tools/libs/guest/xg_dom_core.c
+++ b/tools/libs/guest/xg_dom_core.c
@@ -775,6 +775,7 @@ struct xc_dom_image *xc_dom_allocate(xc_interface *xch,
     dom->parms->p2m_base = UNSET_ADDR;
 
     dom->flags = SIF_VIRT_P2M_4TOOLS;
+    dom->claim_on_node = XC_NUMA_NO_NODE;
 
     dom->alloc_malloc += sizeof(*dom);
     return dom;
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index ac05106a8c1c..4fe816b9bcb4 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -1199,7 +1199,7 @@ static int meminit_pv(struct xc_dom_image *dom)
     if ( dom->claim_enabled )
     {
         rc = xc_domain_claim_pages(dom->xch, dom->guest_domid,
-                                   XC_NUMA_NO_NODE,
+                                   dom->claim_on_node,
                                    dom->total_pages);
         if ( rc )
             return rc;
@@ -1209,9 +1209,10 @@ static int meminit_pv(struct xc_dom_image *dom)
      * that this is a valid state if libxl doesn't provide any
      * vNUMA information.
      *
-     * The dummy values make libxc allocate all pages from
-     * arbitrary physical nodes. This is the expected behaviour if
-     * no vNUMA configuration is provided to libxc.
+     * If there's an outstanding claim on a node, memory is allocated from that
+     * node. Otherwise the dummy values make libxc allocate all pages from
+     * arbitrary physical nodes. This is the expected behaviour if no vNUMA
+     * configuration is provided to libxc and.
      *
      * Note that the following hunk is just for the convenience of
      * allocation code. No defaulting happens in libxc.
@@ -1227,7 +1228,7 @@ static int meminit_pv(struct xc_dom_image *dom)
 
         nr_vnodes = 1;
         vnode_to_pnode = dummy_vnode_to_pnode;
-        vnode_to_pnode[0] = XC_NUMA_NO_NODE;
+        vnode_to_pnode[0] = dom->claim_on_node;
     }
     else
     {
@@ -1357,7 +1358,6 @@ static int meminit_hvm(struct xc_dom_image *dom)
     unsigned long stat_normal_pages = 0, stat_2mb_pages = 0,
         stat_1gb_pages = 0;
     unsigned int memflags = 0;
-    int claim_enabled = dom->claim_enabled;
     uint64_t total_pages;
     xen_vmemrange_t dummy_vmemrange[2];
     unsigned int dummy_vnode_to_pnode[1];
@@ -1397,7 +1397,7 @@ static int meminit_hvm(struct xc_dom_image *dom)
             nr_vmemranges++;
         }
 
-        dummy_vnode_to_pnode[0] = XC_NUMA_NO_NODE;
+        dummy_vnode_to_pnode[0] = dom->claim_on_node;
         nr_vnodes = 1;
         vmemranges = dummy_vmemrange;
         vnode_to_pnode = dummy_vnode_to_pnode;
@@ -1443,8 +1443,8 @@ static int meminit_hvm(struct xc_dom_image *dom)
      * actually allocates memory for the guest. Claiming after memory has been
      * allocated is pointless.
      */
-    if ( claim_enabled ) {
-        rc = xc_domain_claim_pages(xch, domid, XC_NUMA_NO_NODE,
+    if ( dom->claim_enabled ) {
+        rc = xc_domain_claim_pages(xch, domid, dom->claim_on_node,
                                    target_pages - dom->vga_hole_size);
         if ( rc != 0 )
         {
diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index 94fef374014e..1a5500702239 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -663,6 +663,7 @@ int libxl__build_pv(libxl__gc *gc, uint32_t domid,
     dom->xenstore_evtchn = state->store_port;
     dom->xenstore_domid = state->store_domid;
     dom->claim_enabled = libxl_defbool_val(info->claim_mode);
+    dom->claim_on_node = info->claim_on_node;
     dom->max_vcpus = info->max_vcpus;
 
     if (info->num_vnuma_nodes != 0) {
@@ -1090,6 +1091,7 @@ int libxl__build_hvm(libxl__gc *gc, uint32_t domid,
     mem_size = (uint64_t)(info->max_memkb - info->video_memkb) << 10;
     dom->target_pages = (uint64_t)(info->target_memkb - info->video_memkb) >> 2;
     dom->claim_enabled = libxl_defbool_val(info->claim_mode);
+    dom->claim_on_node = info->claim_on_node;
     if (info->u.hvm.mmio_hole_memkb) {
         uint64_t max_ram_below_4g = (1ULL << 32) -
             (info->u.hvm.mmio_hole_memkb << 10);
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index bd4b8721ff19..a252b36c2b5d 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -617,7 +617,8 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("irqs",             Array(uint32, "num_irqs")),
     ("iomem",            Array(libxl_iomem_range, "num_iomem")),
     ("llc_colors",       Array(uint32, "num_llc_colors")),
-    ("claim_mode",	     libxl_defbool),
+    ("claim_mode",       libxl_defbool),
+    ("claim_on_node",    uint32),
     ("event_channels",   uint32),
     ("kernel",           string),
     ("cmdline",          string),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 089a88935aff..5880a032e6d6 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1558,6 +1558,17 @@ void parse_config_data(const char *config_source,
         exit(1);
 
     libxl_defbool_set(&b_info->claim_mode, claim_mode);
+    e = xlu_cfg_get_bounded_long (config, "claim_on_node", 0,
+                                  254, &l, 1);
+    if (e == ESRCH) /* not specified */
+        b_info->claim_on_node = ~0U;
+    else if (!e) {
+        libxl_defbool_set(&b_info->numa_placement, false);
+        libxl_defbool_set(&b_info->claim_mode, true);
+        b_info->claim_on_node = l;
+    }
+    else
+        exit(1);
 
     if (xlu_cfg_get_string (config, "on_poweroff", &buf, 0))
         buf = "destroy";
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914963.1320575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8ss-0002AN-S2; Fri, 14 Mar 2025 17:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914963.1320575; Fri, 14 Mar 2025 17: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 1tt8ss-00029c-M8; Fri, 14 Mar 2025 17:31:46 +0000
Received: by outflank-mailman (input) for mailman id 914963;
 Fri, 14 Mar 2025 17: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8nV-0003IK-3V
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:26:13 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d0d8caa-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:26:12 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-ac2ed007aacso471710366b.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:26:12 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.26.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:26: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: 6d0d8caa-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973172; x=1742577972; 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=xM6Gpx3RAeeK1cS7aS7L8nNeRymkrBxeUEa3FM/T9W8=;
        b=VwcO7GDdwGkhy8sl5JtDbfF8GMUPD1u4jETFbeHSOMNBguBHiK0oLrLHrVxnrAk0ES
         nDBd7whfajuc39g3QwL8iLmugkOaMJmrwXNluo7UO6zeawc5Aih4uyexsyrdEoHegxb6
         Sg9jakSdlCPK55VBqWwgkH9phzUDZdR5nzRlI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973172; x=1742577972;
        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=xM6Gpx3RAeeK1cS7aS7L8nNeRymkrBxeUEa3FM/T9W8=;
        b=jaM4M9D+FUMa6uFA6y/Gl4XCyMFNgU9ej3zxCKKsK6a6aJ+/JHramQjgMwltNoKyyR
         CR/aSF+r1HWBwq7YZ9jxH/ji24Wdolv3dlkS869DoBzQ5NbqgBeXEtSuQVSW7za9MXqH
         Lyv3h1UTl3nG+iiBJiVMuvoCkOYXHU9UTbcvvGtODFdIPjK2c86F1GsjIVpcjgzRKHqC
         wkX5TS9/YmWIILjjNyvplp0bNR03vS+ql4kuicmdrftZtm4hy40q3kAQhytiIf2Kntj0
         yG1cDnxt1PHti1v2iizr7dwhIw990ryeTxNXiNsDsYF1i9eZ0G4I/ufvX/groQ2tNRPK
         dFvg==
X-Gm-Message-State: AOJu0Yzb4oMoVftWo3njCUcNB8WgGVCktdB/h0K0fahpisTNORk6479K
	SNqNReJ911WholptRg+tzhmjMBQktAc34/jbHgbM8HBEiSkeGE/QCbGjS1HHgc8oiuinWzwh+Q/
	+
X-Gm-Gg: ASbGncvbz/uvpdpq9tid1AaOkj7j4qwKPtO0UUqSS35qeoW0CaEPrZkBY5n+dybRhSX
	QgQ5e1aYxG7ip0QOVRkagg3bQ+I4j7Lpsq0dojCksaIA5BTCv4xGk/elVBY2wXb3mwsmvfPKH0h
	lXFNPVlsEoBGuYTzsIJ7JcVOoRJbytuaaW+VBjoNYyD2PjE6RN/Iy8YoBSLsT3DiuPYb4wP9MVx
	CLqTHywtexnaJgaUTDdq0r1ZYi1tH2LNJrKbWuQakS4+rsvOgg9bT25qqgTS5e9Zv2t2HrRq2K0
	3AgOSORi2To5FrEmt8YghyO9xuO8aODzaAmzWghrjZn/o7r9KCrxbLcZBSJge+nBqOY=
X-Google-Smtp-Source: AGHT+IGfbH9E97ClSGH+YxIoQoOpNF6fagjScq5vU+UIamVvniNyic7xwyEhG5dNza9bp8wEwncgRQ==
X-Received: by 2002:a17:906:4795:b0:ac3:2d43:2249 with SMTP id a640c23a62f3a-ac330104b97mr460261266b.2.1741973171738;
        Fri, 14 Mar 2025 10:26:11 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH 11/11] docs/man: Document the new claim_on_node option
Date: Fri, 14 Mar 2025 17:25:02 +0000
Message-ID: <20250314172502.53498-12-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

... and while at it, add missing relevant links to xl-numa-placement(7)
in xl.1.pod.in and xl.cfg.5.pod.in, which describes libxl's behaviour on
NUMA placement.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 docs/man/xl-numa-placement.7.pod |  8 ++++++++
 docs/man/xl.1.pod.in             |  2 +-
 docs/man/xl.cfg.5.pod.in         | 14 ++++++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/docs/man/xl-numa-placement.7.pod b/docs/man/xl-numa-placement.7.pod
index 4d83f26d412e..287ad41e5071 100644
--- a/docs/man/xl-numa-placement.7.pod
+++ b/docs/man/xl-numa-placement.7.pod
@@ -173,6 +173,14 @@ soft affinity belong.
 
 =back
 
+It's possible to force memory to be allocated from a specific NUMA node via the
+"claim_on_node" option (See B<claim_mode> in L<xl.conf(5)> for more details on
+claims). "claim_on_node" associates the domain with a single NUMA node. Domain
+creation fails if not enough memory can be reserved in the node and memory is
+preferentially allocated from that node at runtime. The downside is that
+claiming memory on a node via "claim_on_node" doesn't automatically set
+soft-affinity for the vCPUs, so that must still be done manually for a fully
+optimised single-node domain.
 
 =head2 Placing the guest automatically
 
diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
index fe38724b2b82..27a972486296 100644
--- a/docs/man/xl.1.pod.in
+++ b/docs/man/xl.1.pod.in
@@ -2012,7 +2012,7 @@ otherwise behavior is undefined.  Setting to 0 disables the timeout.
 The following man pages:
 
 L<xl.cfg(5)>, L<xlcpupool.cfg(5)>, L<xentop(1)>, L<xl-disk-configuration(5)>
-L<xl-network-configuration(5)>
+L<xl-network-configuration(5)>, L<xl-numa-placement(7)>
 
 And the following documents on the xenproject.org website:
 
diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 7339c44efd54..c1ffc29d312a 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -278,6 +278,18 @@ memory=8096 will report significantly less memory available for use
 than a system with maxmem=8096 memory=8096 due to the memory overhead
 of having to track the unused pages.
 
+=item B<claim_on_node=NUMBER>
+
+Binds guest memory to a particular host NUMA node. Creation only starts if
+enough memory on this NUMA node can be reserved beforehand on the hypervisor.
+Failure to claim memory aborts creation early.
+
+See B<claim_mode> in L<xl.conf(5)> for further details on memory claims.
+
+Overriding B<claim_on_node> forces B<claim_mode> to be set on this guest and
+disables automatic NUMA placement (See L<xl-numa-placement(7)> for further
+details on NUMA placement and the effects of this option.)
+
 =back
 
 =head3 Guest Virtual NUMA Configuration
@@ -3143,6 +3155,8 @@ If using this option is necessary to fix an issue, please report a bug.
 
 =item L<xl-network-configuration(5)>
 
+=item L<xl-numa-placement(7)>
+
 =item L<xen-tscmode(7)>
 
 =back
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914961.1320569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8ss-00027B-IF; Fri, 14 Mar 2025 17:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914961.1320569; Fri, 14 Mar 2025 17: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 1tt8ss-000274-Ew; Fri, 14 Mar 2025 17:31:46 +0000
Received: by outflank-mailman (input) for mailman id 914961;
 Fri, 14 Mar 2025 17: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8nP-0003IK-3g
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:26:07 +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 697c3ddf-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:26:06 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so470398766b.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:26:06 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.26.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:26: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: 697c3ddf-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973166; x=1742577966; 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=MOjAhdF7qm8ksHnQkFS3/1fokHq1z8lXtNWmszHnXSE=;
        b=d81bqqgmBJso9gkC6tpSq/i/bgIqqf2qcnZqYuQBDH2EqSFaN3qzFNOul1DmQ+m1ZJ
         XcH6cPRES+mxBG6BE9sSGm/L0cG7j7umZihcfSr92YPVtL/fV8NW8Nwpc4y1tHOt9FlV
         PxmW7Z1TccvfsMxW4pWFKtZAR8v7B4SYSj/+4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973166; x=1742577966;
        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=MOjAhdF7qm8ksHnQkFS3/1fokHq1z8lXtNWmszHnXSE=;
        b=onvfNBZQvTEWTF0JIz/R9cLxyWSj7uw0QgGogYaVp9asc9h9QOqQy17xLfVyr6ygCT
         kk0iGrS+2e3ibaNOF3IiWTMTyoxgZfmMNt5pxPE/35llOosB9+UVx9nu8T6I3Rc/d0Uw
         rxPrYza252DrQ+L/VZo3cWQv02lS/DFwT0pAiOqBZZ9JDhciI5Kb4sk+pYOK7x0fyE6K
         5yFbxs0Si9WCbPBaNAPoNwGjTB3yUquzsiL8eAB/4toWpYtX4F5lzV8qik4FFNfAS16m
         tQBzB85QtQI8XtMa8nGtoN219VGojEAi5ZHPUn/GCbFSCkvcRgrne8n02X90OwQIlXL/
         V7Lg==
X-Gm-Message-State: AOJu0YywwUlAjnOXnqj58btz0VMBctPPLGAkuCg7kpNHl7lVk+iQt86F
	31KwWAvCK0YaCQCjjPH3/jxr510aLHtV20R8fjwRWEKMai+BtDuZa+jHWLTisYSdqgavyNj9Nip
	l
X-Gm-Gg: ASbGncv8DYNaMB/mxc6a2VTmvOb3B1MAylqu5b7K3S/a5XN2WHQq+ol2418YM6zwxc2
	Ed2mOggfV7+AHNtATsKR4byQ2dkTXuVO3FUOwtz3YCYY3/3M3GkF4x4hV8Z4KJoDSCRTdhIztyn
	p8+0SPb4cTTTuwntmz9bX6yFk6QnbLTtl6MMYVVsRjKvjieX60k5uwmtv05VaiYsX0ylHdUxAuZ
	DU9yNH3WaQ58yIYHtOCCICtiETaI9V4ct4gZM9oCuzxx/35uYkiEJDbCWc9OmZZvjDIKWhBqdg4
	c7ViWY0UainClPfJLicNl64FvQctFdDSXLkIOSGU79ZKXeM6ydxhTSsMyI7qhpWvteA=
X-Google-Smtp-Source: AGHT+IFTtWZo8oNgpaaF/0kjmDvlIbxSdV9ixIZGHstTxzXk8JN8Qx0wCV70Trz4hr56UcZiaQbMnQ==
X-Received: by 2002:a17:907:868c:b0:ac2:8a4:b9db with SMTP id a640c23a62f3a-ac33017726fmr415971366b.16.1741973165827;
        Fri, 14 Mar 2025 10:26:05 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 09/11] tools/xc: Add `node` argument to xc_domain_claim_pages()
Date: Fri, 14 Mar 2025 17:25:00 +0000
Message-ID: <20250314172502.53498-10-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a node argument to make an exact-node claim. NUMA_NO_NODE means to
make a regular any-node claim.

No functional change.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/include/xenctrl.h       |  1 +
 tools/libs/ctrl/xc_domain.c   | 13 ++++++++++++-
 tools/libs/guest/xg_dom_x86.c |  8 +++++---
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 495598123133..2b63992e1246 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1322,6 +1322,7 @@ int xc_domain_populate_physmap_exact(xc_interface *xch,
 
 int xc_domain_claim_pages(xc_interface *xch,
                                uint32_t domid,
+                               unsigned int node,
                                unsigned long nr_pages);
 
 int xc_domain_memory_exchange_pages(xc_interface *xch,
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index 2ddc3f4f426d..f2c6eda875dc 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -20,6 +20,7 @@
  */
 
 #include "xc_private.h"
+#include "xenguest.h"
 #include <xen/memory.h>
 #include <xen/hvm/hvm_op.h>
 
@@ -1072,13 +1073,23 @@ int xc_domain_remove_from_physmap(xc_interface *xch,
 
 int xc_domain_claim_pages(xc_interface *xch,
                                uint32_t domid,
+                               unsigned int node,
                                unsigned long nr_pages)
 {
     int err;
+    unsigned int mem_flags = 0;
+
+    if ( node != XC_NUMA_NO_NODE )
+    {
+        if ( node >= 0xFF )
+            return -EINVAL;
+        mem_flags = XENMEMF_exact_node(node);
+    }
+
     struct xen_memory_reservation reservation = {
         .nr_extents   = nr_pages,
         .extent_order = 0,
-        .mem_flags    = 0, /* no flags */
+        .mem_flags    = mem_flags,
         .domid        = domid
     };
 
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index cba01384ae75..ac05106a8c1c 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -1199,6 +1199,7 @@ static int meminit_pv(struct xc_dom_image *dom)
     if ( dom->claim_enabled )
     {
         rc = xc_domain_claim_pages(dom->xch, dom->guest_domid,
+                                   XC_NUMA_NO_NODE,
                                    dom->total_pages);
         if ( rc )
             return rc;
@@ -1327,7 +1328,8 @@ static int meminit_pv(struct xc_dom_image *dom)
 
     /* Ensure no unclaimed pages are left unused.
      * OK to call if hadn't done the earlier claim call. */
-    xc_domain_claim_pages(dom->xch, dom->guest_domid, 0 /* cancel claim */);
+    xc_domain_claim_pages(dom->xch, dom->guest_domid, XC_NUMA_NO_NODE,
+                          0 /* cancel claim */);
 
     return rc;
 }
@@ -1442,7 +1444,7 @@ static int meminit_hvm(struct xc_dom_image *dom)
      * allocated is pointless.
      */
     if ( claim_enabled ) {
-        rc = xc_domain_claim_pages(xch, domid,
+        rc = xc_domain_claim_pages(xch, domid, XC_NUMA_NO_NODE,
                                    target_pages - dom->vga_hole_size);
         if ( rc != 0 )
         {
@@ -1642,7 +1644,7 @@ static int meminit_hvm(struct xc_dom_image *dom)
  out:
 
     /* ensure no unclaimed pages are left unused */
-    xc_domain_claim_pages(xch, domid, 0 /* cancels the claim */);
+    xc_domain_claim_pages(xch, domid, XC_NUMA_NO_NODE, 0 /* cancel claim */);
 
     return rc;
 }
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914965.1320589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8sx-0002eJ-1W; Fri, 14 Mar 2025 17:31:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914965.1320589; Fri, 14 Mar 2025 17:31: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 1tt8sw-0002eA-TH; Fri, 14 Mar 2025 17:31:50 +0000
Received: by outflank-mailman (input) for mailman id 914965;
 Fri, 14 Mar 2025 17:31: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8sv-0000Ih-ES
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:49 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34f68fcf-00fa-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:31:48 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-219f8263ae0so42497105ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:48 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 34f68fcf-00fa-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973507; x=1742578307; 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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=RBhlbKFT6B+RLi5oJUJxl0lHPgD0UvV+GQPzzL6HgsOHDqXz/PEaFUrGBgbU47Rfju
         VHponTgnpwMuQKMJCmXqdtt5njac1BoxA7uZoglk1f5jqzPQ8FBJ905mzrI24oy93BEW
         arF5LSrZ1rijyb/GUDfctZwY5zei/Zq9anY371yJpHkcyn7Mm4EExHUtM674C+PTxTWi
         Lf5C3+rxVt1PvD85HTZdf8dfeGp3X7Ndu5BydqPKpqSF1XY90uydWtD2/I72E7GOJ+hp
         xkfSd4Oi+zEJVmVlzqfqGYAaiLLXauLmiwFpBrOkuRJw+lJFPXl5sJ2KsbMM24BtmvEU
         LPvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973507; x=1742578307;
        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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=filHEVwuFyvYM9cAwvSCPNq1iZWhLs1bQyfHaJ75Ecp4NB4eWyb5cfGjxIHCGlRF2R
         8GgkQ4GlDCQmfHJd4D5806mcoV5UMPvdPrg/mKzEhDl/0Q8c7OF9MoUaYNjms/Rrn+4R
         o92rTtt+WClt9FcaXi7LLNgw92XMwfcY4u6jiIDzMgtjJFUlk6jgk2LF3blstKh1WrL5
         G2FTAqV7UdMchKVztdCH1KKfu2T1zPQJqtOBHvUv4X6mDiHGNkBSwFZf4l4f93ddaU5o
         NWGh6FZoVkQS0SUW0j2b5q3WkhSh60D8doX50YurDSKzNK+SsE1SdgTyGxD182JpKXYd
         xs8A==
X-Forwarded-Encrypted: i=1; AJvYcCXMAYwC6uX4s1Yh997ZgH4iP3MOlEEgVxlTE7sCaTa1Pthvj4OLCemvoJN4Kp2nciWtUSm6C9qIc68=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywg8F0R29N8CSU+nM71+t6XYZNtgBVEQZXMrnm9BTBxc1OvK9cw
	nzhiMOOfLjAtwKoErFpHYB4CBJU0O6PGXyDODqdQrrcNeCllvcK+HeHNmZxqR7M=
X-Gm-Gg: ASbGnct/76THHAy24uyo05dac14yUmoDwHiGDBuJM7yoLd7/hZBVwZrg/61TYhG4efB
	ZRi3KC6nFNIcQR+VAfdwC3p8D4130+t3rmG9hDobTLAKTa+oNWauq2zZMEkVezvv/l8S/IYBOt+
	g9JhwSGVMVnoOS8WhpYbHX9VmWCKGeB3jdxIyH7XxH4smcrX9dPmbI4HEvjXCqCUiE3WhVBmMZP
	TgTy+4XlIVLuW0oH1eUtVdUVkKlzYyh/mHkqcDiJHKHfNhD9vLxdL10g7T7RoAYONYE4NBM18xM
	TWOmTrV/PM+fJ4uM3TpQoZ0SjKYOqX4rOqLo3ND/GCfm
X-Google-Smtp-Source: AGHT+IG98FFUYfg0sUj6szpvN+iBBsyjmwTHoAxx0itmB7R9pQNc8XnfcIaBUehzGw+xAOY05im+Eg==
X-Received: by 2002:a05:6a20:c106:b0:1f3:47e2:80b3 with SMTP id adf61e73a8af0-1f5c11c3cd2mr3981620637.20.1741973507092;
        Fri, 14 Mar 2025 10:31:47 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 02/17] exec/tswap: implement {ld,st}.*_p as functions instead of macros
Date: Fri, 14 Mar 2025 10:31:24 -0700
Message-Id: <20250314173139.2122904-3-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining functions allows to use them from common code, by not depending
on TARGET_BIG_ENDIAN.
Remove previous macros from exec/cpu-all.h.
By moving them out of cpu-all.h, we'll be able to break dependency on
cpu.h for memory related functions coming in next commits.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h | 25 ---------------
 include/exec/tswap.h   | 70 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 8cd6c00cf89..e56c064d46f 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,31 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* Target-endianness CPU memory access functions. These fit into the
- * {ld,st}{type}{sign}{size}{endian}_p naming scheme described in bswap.h.
- */
-#if TARGET_BIG_ENDIAN
-#define lduw_p(p) lduw_be_p(p)
-#define ldsw_p(p) ldsw_be_p(p)
-#define ldl_p(p) ldl_be_p(p)
-#define ldq_p(p) ldq_be_p(p)
-#define stw_p(p, v) stw_be_p(p, v)
-#define stl_p(p, v) stl_be_p(p, v)
-#define stq_p(p, v) stq_be_p(p, v)
-#define ldn_p(p, sz) ldn_be_p(p, sz)
-#define stn_p(p, sz, v) stn_be_p(p, sz, v)
-#else
-#define lduw_p(p) lduw_le_p(p)
-#define ldsw_p(p) ldsw_le_p(p)
-#define ldl_p(p) ldl_le_p(p)
-#define ldq_p(p) ldq_le_p(p)
-#define stw_p(p, v) stw_le_p(p, v)
-#define stl_p(p, v) stl_le_p(p, v)
-#define stq_p(p, v) stq_le_p(p, v)
-#define ldn_p(p, sz) ldn_le_p(p, sz)
-#define stn_p(p, sz, v) stn_le_p(p, sz, v)
-#endif
-
 /* MMU memory access macros */
 
 #if !defined(CONFIG_USER_ONLY)
diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index 2683da0adb7..84060a49994 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -80,4 +80,74 @@ static inline void tswap64s(uint64_t *s)
     }
 }
 
+/* Return ld{word}_{le,be}_p following target endianness. */
+#define LOAD_IMPL(word, args...)                    \
+do {                                                \
+    if (target_words_bigendian()) {                 \
+        return glue(glue(ld, word), _be_p)(args);   \
+    } else {                                        \
+        return glue(glue(ld, word), _le_p)(args);   \
+    }                                               \
+} while (0)
+
+static inline int lduw_p(const void *ptr)
+{
+    LOAD_IMPL(uw, ptr);
+}
+
+static inline int ldsw_p(const void *ptr)
+{
+    LOAD_IMPL(sw, ptr);
+}
+
+static inline int ldl_p(const void *ptr)
+{
+    LOAD_IMPL(l, ptr);
+}
+
+static inline uint64_t ldq_p(const void *ptr)
+{
+    LOAD_IMPL(q, ptr);
+}
+
+static inline uint64_t ldn_p(const void *ptr, int sz)
+{
+    LOAD_IMPL(n, ptr, sz);
+}
+
+#undef LOAD_IMPL
+
+/* Call st{word}_{le,be}_p following target endianness. */
+#define STORE_IMPL(word, args...)           \
+do {                                        \
+    if (target_words_bigendian()) {         \
+        glue(glue(st, word), _be_p)(args);  \
+    } else {                                \
+        glue(glue(st, word), _le_p)(args);  \
+    }                                       \
+} while (0)
+
+
+static inline void stw_p(void *ptr, uint16_t v)
+{
+    STORE_IMPL(w, ptr, v);
+}
+
+static inline void stl_p(void *ptr, uint32_t v)
+{
+    STORE_IMPL(l, ptr, v);
+}
+
+static inline void stq_p(void *ptr, uint64_t v)
+{
+    STORE_IMPL(q, ptr, v);
+}
+
+static inline void stn_p(void *ptr, int sz, uint64_t v)
+{
+    STORE_IMPL(n, ptr, sz, v);
+}
+
+#undef STORE_IMPL
+
 #endif  /* TSWAP_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914966.1320599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8sy-0002u7-BB; Fri, 14 Mar 2025 17:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914966.1320599; Fri, 14 Mar 2025 17: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 1tt8sy-0002ty-6L; Fri, 14 Mar 2025 17:31:52 +0000
Received: by outflank-mailman (input) for mailman id 914966;
 Fri, 14 Mar 2025 17:31: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8sx-0000xy-0L
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:51 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 337c03ed-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:31:46 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-223959039f4so52138005ad.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:46 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 337c03ed-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973505; x=1742578305; 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=mbx4XaRe0fsea/1JxsaLA7ueH0t1s6VZZ5QhNdIFgD0=;
        b=jKSZCF2wdCaFgTLm+vOnxxAhqQVeOrl+Y58K8zfhZaT6HH1VkYo9bH+ZeSM6hev18e
         JUo/TNnyNAfIMXEYbKFbm0z4BTeykKnBSou7HhhazGeJ3ZW/wWaoKTWIhOLqMiGVVlYh
         6W1sFFSf1CWzpgqBkfNMdNTgmQYWpbr/q8v8OMjfkT5ougO0ukbqc37q0guBr7mJBwwZ
         Ec1u4aTf7EahhVGj3dRcKSp/8IlvaOqe1QeoRDB+Afzr9mJfTtkT7AQEnrhV6oSbQiLc
         aXzhagiUNx356LqOgHAM6tSgqXy1U2ztL8ZWfsLhr4HpOghjQSaPcQCzfka0bxJiqWe8
         uOpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973505; x=1742578305;
        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=mbx4XaRe0fsea/1JxsaLA7ueH0t1s6VZZ5QhNdIFgD0=;
        b=TLCa6tqNi+iFqcIQSG6JZ28tGaO6JN12lPTgGlEMH8K6W2k4qPPE1dWx2p2JeMVQ1f
         9CCo9PEMwS+/ujl5fUn878K0687g95Spm/zkwFgHdVVDGsgh1fJPOA3R7i4DXD/KIX2l
         CBEye2521p8/n+50LmqzKIFnQagt3lpd+luSTxxNVYZ90YbfF1CL+u8oTAiyQaMT4Wcq
         mEcFFzA2sRFbEHGx0DoKFD+KnNRM4WSITOzXkt9l26w3MziJQ153FTcUG37jpvpH60H1
         DA71pIDnmhZN9IYD3PPhAcBy9AA4ZxE8O8jT0ylm3smAcL04FzS7QqITp89uaY6lpCZq
         +eGg==
X-Forwarded-Encrypted: i=1; AJvYcCX4gRgD/nBGq9jk/7FS31Xqm3k78auX5+drOhrbeeh/MkUUrhZr9EkJ6dexdmrp5AVZ0GvFvF68inc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyEsh9/YSYlIsqLabcXDHayVDAYd+VdjZrwWOOAE7gYGGH1wTbK
	r4kMwcikRBHpbN+4TQt9JhpC8d5L05xRe+ZmlntojmZWBidIM1pZRnKbKpI+nxI=
X-Gm-Gg: ASbGncsBKX6swe2uMjGYXBO/6hDNO3EZenklTKhw6m4nn6m3PHp7YsErlIMn4ToKrP3
	R5CiFFG2K0gf6Jmcb7gJmeI8ayWvv8xPOAtMlw78KcsAk97Srob5fCcvk+cDN8v6ccEpc2Y/KT4
	J/2kWLguiD/oKYY96Zciafu2pWKRKAErmF70DHKZvNaoOkyPzxbq0DYBusN27NYPJhyn4Yw8169
	LBNrQa2ViaI1CVjiMMRJPn8VyPE4rN2y3eIb7UeabBTsBR5p1IlwvXVzdG3VygGqRjGduGMXMLK
	gUPayVVU3KAQsopTQPLXSZBWGKPcEvjXf6L2m8ZV9CiW
X-Google-Smtp-Source: AGHT+IG45qOt2dgsJDV7nujhL0kdPo+5GKsExuYeufblXdBnsz6vqmVVLVscbpfExXfMyu2MvPKFvA==
X-Received: by 2002:a05:6a00:a1f:b0:732:5164:3cc with SMTP id d2e1a72fcca58-737223e7399mr3832223b3a.19.1741973504748;
        Fri, 14 Mar 2025 10:31:44 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 00/17] make system memory API available for common code
Date: Fri, 14 Mar 2025 10:31:22 -0700
Message-Id: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The main goal of this series is to be able to call any memory ld/st function
from code that is *not* target dependent. As a positive side effect, we can
turn related system compilation units into common code.

The first 5 patches remove dependency of memory API to cpu headers and remove
dependency to target specific code. This could be a series on its own, but it's
great to be able to turn system memory compilation units into common code to
make sure it can't regress, and prove it achieves the desired result.

The next patches remove more dependencies on cpu headers (exec-all,
memory-internal, ram_addr).
Then, we add access to a needed function from kvm, some xen stubs, and we
finally can turn our compilation units into common code.

Every commit was tested to build correctly for all targets (on windows, linux,
macos), and the series was fully tested by running all tests we have (linux,
x86_64 host).

v2:
- reorder first commits (tswap change first, so memory cached functions can use it)
- move st/ld*_p functions to tswap instead of bswap
- add define for target_words_bigendian when COMPILING_PER_TARGET, equals to
  TARGET_BIG_ENDIAN (avoid overhead in target code)
- rewrite devend_memop
- remove useless exec-all.h in concerned patch
- extract devend_big_endian function to reuse in system/memory.c
- rewrite changes to system/memory.c

v3:
- move devend functions to memory_internal.h
- completed description for commits removing cpu.h dependency

v4:
- rebase on top of master
  * missing include in 'codebase: prepare to remove cpu.h from exec/exec-all.h'
  * meson build conflict

v5:
- remove extra xen stub xen_invalidate_map_cache()
- edit xen stubs commit message

Pierrick Bouvier (17):
  exec/tswap: target code can use TARGET_BIG_ENDIAN instead of
    target_words_bigendian()
  exec/tswap: implement {ld,st}.*_p as functions instead of macros
  exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
  exec/memory_ldst_phys: extract memory_ldst_phys declarations from
    cpu-all.h
  exec/memory.h: make devend_memop "target defines" agnostic
  codebase: prepare to remove cpu.h from exec/exec-all.h
  exec/exec-all: remove dependency on cpu.h
  exec/memory-internal: remove dependency on cpu.h
  exec/ram_addr: remove dependency on cpu.h
  system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
    common code
  exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
  hw/xen: add stubs for various functions
  system/physmem: compilation unit is now common to all targets
  include/exec/memory: extract devend_big_endian from devend_memop
  include/exec/memory: move devend functions to memory-internal.h
  system/memory: make compilation unit common
  system/ioport: make compilation unit common

 include/exec/cpu-all.h              | 66 -----------------------
 include/exec/exec-all.h             |  1 -
 include/exec/memory-internal.h      | 21 +++++++-
 include/exec/memory.h               | 30 ++++-------
 include/exec/ram_addr.h             | 11 ++--
 include/exec/tswap.h                | 81 +++++++++++++++++++++++++++--
 include/system/kvm.h                |  6 +--
 include/tcg/tcg-op.h                |  1 +
 target/ppc/helper_regs.h            |  2 +
 include/exec/memory_ldst.h.inc      |  4 --
 include/exec/memory_ldst_phys.h.inc |  5 +-
 cpu-target.c                        |  1 +
 hw/ppc/spapr_nested.c               |  1 +
 hw/sh4/sh7750.c                     |  1 +
 hw/xen/xen_stubs.c                  | 51 ++++++++++++++++++
 page-vary-target.c                  |  2 +-
 system/ioport.c                     |  1 -
 system/memory.c                     | 17 ++----
 target/ppc/tcg-excp_helper.c        |  1 +
 target/riscv/bitmanip_helper.c      |  2 +-
 hw/xen/meson.build                  |  3 ++
 system/meson.build                  |  6 +--
 22 files changed, 188 insertions(+), 126 deletions(-)
 create mode 100644 hw/xen/xen_stubs.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914967.1320606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8sy-00032t-Ri; Fri, 14 Mar 2025 17:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914967.1320606; Fri, 14 Mar 2025 17: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 1tt8sy-00030r-ME; Fri, 14 Mar 2025 17:31:52 +0000
Received: by outflank-mailman (input) for mailman id 914967;
 Fri, 14 Mar 2025 17:31: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8sy-0000xy-0W
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:52 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34227646-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:31:47 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-22355618fd9so48786925ad.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:47 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10: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: 34227646-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973506; x=1742578306; 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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=KBnjvRvhagUil1NbY5Wp+4g1yfeD+sXYIOueppDRSbnhehO/S9YwsIHISLPhjtWNCz
         zp62Ev1zE8gM6WN2FLMk4avgeV8Dj2dNn+9FJwg11+QM2a6nMxiLrwKMi3C1PLfVlCNH
         uvN08ou5A0gvo1Y7GcUJUBk1VfHWTsInu2otRRGmKW2LavK5xtVado9whASiggAuOLmi
         U5p7h4i3ZwgxVgmJQ2BctwpXSEHTzh9efr993gP1xOUmTavdn2q/okVnvOVSdYQf/Nkj
         ySrsFCJN316u7Iv4ebc/a6ol6n74z/83BZh37hJL/94eSci/lomHBgw5mKUvCUnmFjjL
         HhfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973506; x=1742578306;
        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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=XpvVdXeYtRS2nhTHTAjwTNHYYP2d/7ewCRAk8M2hCnFW8d1vCcRAoJfk8U8YI1s532
         aKdwGP6lNredE/AnawIGfpQ6U7t/lymTqeBf6orNK4Z6uFRY9uz6TIrA9CN7OqOioqkO
         1PD8e8wOkI8vbqZj+L48/EPK+D38tAQ2S394QQPrwKWZgrA0YpqbXQPNehhGgIlOC2cf
         NXptj+JMhnb9An5vuDCGdUnttftV1aPq14avtQqqjAII9kv4F+g0rIVUy89eFOxGgFOG
         GANOzo6G06Rstu2qY6DsgftFvEar+7SFDMwi+5p0nb6JT9EJ/6C4ZtcizOsDTq34nFuJ
         eGZg==
X-Forwarded-Encrypted: i=1; AJvYcCU2Ky5Mu5ckK0MxufRecUmrfAYjk4nYUbr2XGW08pUO0D3B7OpZPUvQIqDCOwYiahl/tMhQUWlF46o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzsoexX+YoB3KsREJIFYTaHCQG+03CrSj4aHh5iukhrLprBsCmP
	Id+40VRTNxP9hlcfvPQDIWlMXfRGwRYw8DM0/3BcnQsqGZZyBW4gXZuM3yIcZ9E=
X-Gm-Gg: ASbGncukhdxRL7/SR+0NZJ1zzmsO20fwQeHeVJJvmk8nN+jfqTkp8msekK2jULOE7w0
	CpgV/YGtcTTAQ88oc9ovENnHCWHpeEvn9hf5j63/2C+K/ZZsCulbHxf8vK7qKPArhTJCP0Gc/Cz
	NltCuCGmsn4/rE8sPbA0tBhFxjVHVPOwgPXaeai3+Eqg+u3q8ljP1gnz/GqISKHveBz+kHX0ldn
	RL+oUAI2WQvT8t4Hjzu9vItCMcGgZatDfd/spT9CmB1lNRd//UGHaBzz+mdqpJ4FFMS4+0CGhJW
	XlJKC1zg+cqWg0MJADQr8+W6SvDVGaDcmi+WchWQnl6C
X-Google-Smtp-Source: AGHT+IEjELEcHkUSgYSyUpOQLSDQBfR3q2soKgt+mWzeI9X+HyRoUAOICNrXniu51BG9jWIge0MJZQ==
X-Received: by 2002:a05:6a21:168e:b0:1f5:7f2e:5c3c with SMTP id adf61e73a8af0-1f5c113795cmr4514154637.1.1741973505987;
        Fri, 14 Mar 2025 10:31:45 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 01/17] exec/tswap: target code can use TARGET_BIG_ENDIAN instead of target_words_bigendian()
Date: Fri, 14 Mar 2025 10:31:23 -0700
Message-Id: <20250314173139.2122904-2-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/tswap.h | 11 ++++++-----
 cpu-target.c         |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index ecd4faef015..2683da0adb7 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -13,13 +13,14 @@
 /**
  * target_words_bigendian:
  * Returns true if the (default) endianness of the target is big endian,
- * false otherwise. Note that in target-specific code, you can use
- * TARGET_BIG_ENDIAN directly instead. On the other hand, common
- * code should normally never need to know about the endianness of the
- * target, so please do *not* use this function unless you know very well
- * what you are doing!
+ * false otherwise. Common code should normally never need to know about the
+ * endianness of the target, so please do *not* use this function unless you
+ * know very well what you are doing!
  */
 bool target_words_bigendian(void);
+#ifdef COMPILING_PER_TARGET
+#define target_words_bigendian()  TARGET_BIG_ENDIAN
+#endif
 
 /*
  * If we're in target-specific code, we can hard-code the swapping
diff --git a/cpu-target.c b/cpu-target.c
index cae77374b38..519b0f89005 100644
--- a/cpu-target.c
+++ b/cpu-target.c
@@ -155,6 +155,7 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...)
     abort();
 }
 
+#undef target_words_bigendian
 bool target_words_bigendian(void)
 {
     return TARGET_BIG_ENDIAN;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914970.1320618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8t1-0003Wn-9F; Fri, 14 Mar 2025 17:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914970.1320618; Fri, 14 Mar 2025 17:31: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 1tt8t1-0003WX-4g; Fri, 14 Mar 2025 17:31:55 +0000
Received: by outflank-mailman (input) for mailman id 914970;
 Fri, 14 Mar 2025 17:31: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t0-0000xy-14
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:54 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35a4cb4e-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:31:49 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-22403cbb47fso45115365ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:49 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 35a4cb4e-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973508; x=1742578308; 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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=aZSmT5jRYQBGwWjDtUsLhl678rFHFxibP6wFupLEeQfhK51rdf7vzlHlot1wwzCOWr
         6z+WeKKOt7mH21sI7aHma6+ZZDWTHjxuk71TmFUNxcdsf563lVpakWmSyHTF5ATgiHZY
         RmIjQOyCN3szcmMyeT7eCltnB3oAsTPrQVpu97zLeP1d+lXOgc9DgzPoQbDX9bxeVtZ8
         mYPEMDpkgelXxifhAZT/+fWqXGgvtQr9qaUgchnQOoYnPN+nuj6KlwEkFflGFNIIOua0
         5ddaFumi/POqtFPe9R07GH2CKNK2KA+v0Phi1gW+lIYsSXg2+EmkyA3aW+3lDZ4H4DI1
         2OJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973508; x=1742578308;
        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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=ph/uPrg9cZD6Me1mQTBXF7V6c/SFHblPw7uP/pSBFD/f10Fd/kailEB8ldoV3KHvzN
         a91MTAOyBgsGOOA7Ar024mWcA0CrWGSk2jJjMBkCMfscHB2G8Cu9r/b0oeCO9OMCozJi
         /LZuT/3ioJqfXgiZetFw9k7RojD+vz+IwFZixRVhbUY+8xhfRT2FepcPQdqizgy7ZSXm
         TotN6Mm6WtYDR+mjycujg1ny3SAbcoYLz0PImMYcxggVN7dNd6b9AXDEJoM/NXaAJOdH
         r7jRBmnwUZJoK/bWhxZ4v2bYROwo7CNrGTCZgc3Mx7IK5fXsGcWpe97M0Xw6J45xg6+R
         4j8w==
X-Forwarded-Encrypted: i=1; AJvYcCUNFO6ji0Y79I25P6va8OwrIGXyrl6HNMR9DLP4CIWf06TipHTabQ8VQqY+NUig5M4hZQ7ItAyHD1U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLc8NqywL1VahYe2JW1jCeT0WLe4sMfJ2U2Je891jQUs20aZsm
	aWX477x2O0Rxc7RJ8fSg9b05+HK+01AVDKJIYZeltniIXia0Fq94v8CsLTtUAJk=
X-Gm-Gg: ASbGncvNduuzzVszGfIY2xCdhIHc1ebyguYcEF6Tobqu+iQjIo3SPvRzfQXUY5hIWco
	CKMA3IjZgegL6LTOaSCMuwKkDneDM6JABgIhPza6W7o4DKGTUcz/8bShz4iVLE3CcIcKfmM0YAk
	l4v0qufsZeCrNT/MjfkbnjFC3ui+6cAaQuG7ubaoPVaPBxBw3O8nXqnCNPt9+Js0XVnCQvcuUDI
	qmwHChhJ1kdnviTPok0S3TCP8iVeq0nwEgDSNpU7ujElfOgmJam87LbwgFKzA/Eg6tZjMynooqy
	MqrQq48Ym0JliCEil+dDG5OMom4iIqGTIZro1iLZPWjm
X-Google-Smtp-Source: AGHT+IEybdH1a4UlSgUtF+/hwXdxnavqEZfmFC1l+XuioTIMcBmIgOmIQCQoptJbICxTDzesMl+Yag==
X-Received: by 2002:a05:6a00:a1f:b0:732:5164:3cc with SMTP id d2e1a72fcca58-737223e7399mr3832395b3a.19.1741973508455;
        Fri, 14 Mar 2025 10:31:48 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 03/17] exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
Date: Fri, 14 Mar 2025 10:31:25 -0700
Message-Id: <20250314173139.2122904-4-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h         | 12 ------------
 include/exec/memory_ldst.h.inc |  4 ----
 2 files changed, 16 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index e56c064d46f..0e8205818a4 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -44,18 +44,6 @@
 
 #include "exec/hwaddr.h"
 
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
-#define SUFFIX       _cached_slow
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
 static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
 {
     address_space_stl_notdirty(as, addr, val,
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 92ad74e9560..7270235c600 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
@@ -34,7 +33,6 @@ void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#else
 uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
@@ -63,9 +61,7 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914971.1320629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8t2-0003ph-MS; Fri, 14 Mar 2025 17:31:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914971.1320629; Fri, 14 Mar 2025 17:31: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 1tt8t2-0003ny-Gg; Fri, 14 Mar 2025 17:31:56 +0000
Received: by outflank-mailman (input) for mailman id 914971;
 Fri, 14 Mar 2025 17:31: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t1-0000xy-1I
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:55 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 364f078a-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:31:51 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-2232aead377so53466945ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:51 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10: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: 364f078a-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973509; x=1742578309; 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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=RPGjC7gs8GTHNpxWHD/FaJX63VphE9wwtO5FlkiiHbgEVnz9ApA3mq2o8jDlbWEaMD
         1h4PJhmP1da/RMK0ngfYJtXlsH8x3vpOdv6f3wVkcAbDZpIDK1+6Kl6EilsNijw9uZdn
         c6pV4HJaLqIapDmCBVNlnVPkxayTO3Jl5wROGcrPW0sOe8dEpI92J3KpbiLh6tBPasmn
         89KTC0A4BbWqaZriobp4iZY/rS3nUdZCVESbWM+O2xQlLJfftgGIWVCLDBZjvLcBD7+2
         2yF/BhBYlAzCY5hmL6Clf3Cwv4soSI1u5c5CkvOXXCqqZKT8ZzWZw4WT0Yv881EFa/mW
         p/Gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973509; x=1742578309;
        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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=RC/9Ph0hO85vneEYSTSxR2R8KfEjsGQ5bXfBdxQWfRbNoiq6s0KopDGsYA64P7XEt8
         T4kEOy+uKDwUZ+NaVuJDlGGDH4sHE94z+nnphiHKLG7JodQDt+e7ZD7b1tSXlR0SBQoM
         Unedok2YcDgh8dLDU1tfICWY5wvA28Vzx+84REI1C/CF5drSuiHrkV1RYk/b7x24RS+X
         1x7ljkzroY0nq7nAzpQSW2NmFotoEykfPFLuUpnM0dAKyHiwQ6ljDPUtWYs17jTkTFrY
         0hdC+o1Zo4Y5wDIIIz0PzcbmyuhBRr5z98jpB/EFy+6sOLfG8V5/n1/WDpCWLvvj0Maz
         ovYQ==
X-Forwarded-Encrypted: i=1; AJvYcCUNn2oKb2Ml55R1w6Wwy+zoYyZlBoiWqk7ub7mD5Gi3sMTo+vcTfPS2xcgvuRpzknLXky3cAsVQhzE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx2kDItZogCcZrV7d5GH3o6EkTlY0vyxxHKZwYkYC3RnBqfj5sO
	TKkiazoMTAFIQ9AZ+7ti9J4M9xeGXGUq67COC5JZn+f4FS09mpIjc+jQzE6LwKU=
X-Gm-Gg: ASbGncs8AQEPVAM8yRQcjqkxIYXkWH9pEVYbY+M5pWN9QXpH669sh9Ijuzv4F7AZE7Q
	YksuVSmL52jl0UBwgt3OLr1yUgarb5b95qlQcTIMEMhAdrUAJiuroGKr5tMiqhZVKvOxfHxHsjq
	RRxMGtwbJlxShz5uQTChedhPJq+nPdTAUaE0jHAOqSCdkNG/mH/IXZ3qAlJfRAYK+BeVVJ303Uv
	evBrsEfD1d8+7CZGI5hHshL40CjxhZkIV0fO5KDgnaUX8bWCtw+qu/KBbqyrU7ms9t6uTJHZqBJ
	a0X64A4MI46PkiTcfPHmujVCo2YyA15aBBleW25dfjI5
X-Google-Smtp-Source: AGHT+IFQBeqqn3ezA5En8rRFWwDRdkhHWJ51dC4tNWFcY4zpXwmWJXk93HseKx7PQbRLNq1zxfYk9w==
X-Received: by 2002:a05:6a21:1519:b0:1f5:8a1d:3905 with SMTP id adf61e73a8af0-1f5c10f7d60mr6252806637.7.1741973509576;
        Fri, 14 Mar 2025 10:31:49 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 04/17] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h
Date: Fri, 14 Mar 2025 10:31:26 -0700
Message-Id: <20250314173139.2122904-5-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Move stl_phys_notdirty function as well.
Cached endianness agnostic version rely on st/ld*_p, which is available
through tswap.h.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h              | 29 -----------------------------
 include/exec/memory.h               | 10 ++++++++++
 include/exec/memory_ldst_phys.h.inc |  5 +----
 3 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 0e8205818a4..902ca1f3c7b 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,35 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* MMU memory access macros */
-
-#if !defined(CONFIG_USER_ONLY)
-
-#include "exec/hwaddr.h"
-
-static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
-{
-    address_space_stl_notdirty(as, addr, val,
-                               MEMTXATTRS_UNSPECIFIED, NULL);
-}
-
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-
-/* Inline fast path for direct RAM access.  */
-#define ENDIANNESS
-#include "exec/memory_ldst_cached.h.inc"
-
-#define SUFFIX       _cached
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-#endif
-
 /* page related stuff */
 #include "exec/cpu-defs.h"
 #include "exec/target_page.h"
diff --git a/include/exec/memory.h b/include/exec/memory.h
index d09af58c971..da21e9150b5 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -21,6 +21,7 @@
 #include "exec/memattrs.h"
 #include "exec/memop.h"
 #include "exec/ramlist.h"
+#include "exec/tswap.h"
 #include "qemu/bswap.h"
 #include "qemu/queue.h"
 #include "qemu/int128.h"
@@ -2732,6 +2733,12 @@ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr,
 #define ARG1_DECL    AddressSpace *as
 #include "exec/memory_ldst.h.inc"
 
+static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
+{
+    address_space_stl_notdirty(as, addr, val,
+                               MEMTXATTRS_UNSPECIFIED, NULL);
+}
+
 #define SUFFIX
 #define ARG1         as
 #define ARG1_DECL    AddressSpace *as
@@ -2798,6 +2805,9 @@ static inline void address_space_stb_cached(MemoryRegionCache *cache,
     }
 }
 
+#define ENDIANNESS
+#include "exec/memory_ldst_cached.h.inc"
+
 #define ENDIANNESS   _le
 #include "exec/memory_ldst_cached.h.inc"
 
diff --git a/include/exec/memory_ldst_phys.h.inc b/include/exec/memory_ldst_phys.h.inc
index ecd678610d1..db67de75251 100644
--- a/include/exec/memory_ldst_phys.h.inc
+++ b/include/exec/memory_ldst_phys.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_lduw, SUFFIX)(ARG1, addr,
@@ -55,7 +54,7 @@ static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val)
     glue(address_space_stq, SUFFIX)(ARG1, addr, val,
                                     MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#else
+
 static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_ldub, SUFFIX)(ARG1, addr,
@@ -139,9 +138,7 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t va
     glue(address_space_stq_be, SUFFIX)(ARG1, addr, val,
                                        MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914972.1320636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8t3-0003uv-7v; Fri, 14 Mar 2025 17:31:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914972.1320636; Fri, 14 Mar 2025 17:31: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 1tt8t2-0003sv-TY; Fri, 14 Mar 2025 17:31:56 +0000
Received: by outflank-mailman (input) for mailman id 914972;
 Fri, 14 Mar 2025 17:31: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t2-0000xy-1c
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:56 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36f5e975-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:31:52 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-22398e09e39so51803695ad.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:52 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 36f5e975-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973511; x=1742578311; 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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=f1rpiZP08QqLZ0CE8ZYBaNMBHT3mDjfkuGEoFwa5xnlGPoeDoXlGN79fNiMqYibPe8
         6qjKXtbQ0Szb3u29Rq7MYzy2p+Q0GWEJQYfNkKPlTQLvtI8B3Q77+fR4OSVItNkJ8kxR
         Q5b7Cu9HZteDdU3oJcajBfg+F2LFunfmAuK9ONPKq+XuAxIDxsURbjKYsdaNSgfsTa34
         Xs2W6aZp0m89YouxjIhOLiEIc+KXRO0s1O8xkLcIRAa1Y9Jn/5QHxh9SbenchgVqo29d
         TPMZCdG3qVvwlGZKqVJc860PH62lrEwu3CwCr7Nzo2HFNSyMYL+zKo2B9UYqA8rNJzVT
         I9zA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973511; x=1742578311;
        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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=EJ/ie68UtR1IP4x/+5dcgMIzl3T30uvYXXJmrVC/dxFq2A4TJe5/CS/rH/R+xmx5fY
         7JQ8obTcPAdtFhVaAitgwFM1OcTyhZI+LKmbMN01cRRo/OYcQJCrZmufOXWbWMPnI3Co
         czWtmxhJdzCUNUW77JHo9Oh4627IyVTU29IayCJjY8T4uyQ3BJW0So7Zp06uouSfaET8
         dfEEWfNbg/H+vQbjOzjEBuk/Thuyab90vBCcFKfB49jc5QaY3MATtA5wD6A033LMKPzn
         lZBX6WflDB3mzkQxEh9jkcs3Wnf+z4Cq3VkLMetLSv5CumY4IWK4tLl1i2UWKeC1NQTm
         1mpw==
X-Forwarded-Encrypted: i=1; AJvYcCVDioyIjEYGXl1AtwooesWV2bYFCv3QAxAHOj1/0dE+EGt9K50fuYbuveb27cwj2p+9RBXrP9Hf4wM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1RapwBRmDOG+F9TY8UndvNLw+skM5Hc7iZ3u38+9uC3PLs3XP
	8ikioUPSCkSwU0eW5/9E2qhcu4Sg+VYb3QJaJ0F9aQv5kQdS8fsjYUzf3SxQw2k=
X-Gm-Gg: ASbGncsFXSc5mpz93nx+jLZOpD3h0YwrBNlMhS+ryukW0iVJ+NhkBsDp59pEhRsUmRI
	V/FtN84h3ETpRItdKEi18XbGPCIF8h73bIIxGhU2tKo8yUL2kb+FokUI77fV/+8SXHxrIERcSLy
	nwF1CTkyBM15j/cI5i46i6JLpAOrCErPSsOxzWlrXDh1NK/p2DcJcqxLU1YaB+BH9oh3yKQBEhA
	calnf9xlspaUMl6Gb2V5xG4zz2ROKP4W/CAuDl1kdIEAP0SBtjwCsI3Bxrv8AMYa7UvdKNAqfER
	amJcP8gQIgdbvVNYl+LY2sNt6A4U0wQ1m7+8QrCywy98
X-Google-Smtp-Source: AGHT+IHrpliMNKDFJoDtMC4n7ul1BPKlqc8CVK3A1d9AQSWcUHjtbEMPub70Om5ILhqP0o6bsvQnoA==
X-Received: by 2002:a05:6a21:9005:b0:1f5:75a9:526c with SMTP id adf61e73a8af0-1f5c117e146mr4872005637.13.1741973510710;
        Fri, 14 Mar 2025 10:31:50 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 05/17] exec/memory.h: make devend_memop "target defines" agnostic
Date: Fri, 14 Mar 2025 10:31:27 -0700
Message-Id: <20250314173139.2122904-6-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Will allow to make system/memory.c common later.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index da21e9150b5..069021ac3ff 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,25 +3138,17 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef COMPILING_PER_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN
-    /* Swap if non-host endianness or native (target) endianness */
-    return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
-#else
-    const int non_host_endianness =
-        DEVICE_LITTLE_ENDIAN ^ DEVICE_BIG_ENDIAN ^ DEVICE_HOST_ENDIAN;
-
-    /* In this case, native (target) endianness needs no swap.  */
-    return (end == non_host_endianness) ? MO_BSWAP : 0;
-#endif
+    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
+                       ? target_words_bigendian()
+                       : end == DEVICE_BIG_ENDIAN);
+    return big_endian ? MO_BE : MO_LE;
 }
-#endif /* COMPILING_PER_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:31:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914973.1320649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8t4-0004Kk-VN; Fri, 14 Mar 2025 17:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914973.1320649; Fri, 14 Mar 2025 17:31: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 1tt8t4-0004Iy-KR; Fri, 14 Mar 2025 17:31:58 +0000
Received: by outflank-mailman (input) for mailman id 914973;
 Fri, 14 Mar 2025 17:31: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t3-0000xy-1c
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:57 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37ada7f0-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:31:53 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-225b5448519so44944565ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:53 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 37ada7f0-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973512; x=1742578312; 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=mZcjdDtX1Z7JVvsuWgguTldfqVr7ZBWkV3i9i17ooa8=;
        b=On3N5RnjG6CDLw0GxVnAXIuA2OOm+JODVdFabP//UbCFxQA7lH310ewQwBC8PtGA7K
         6nbcZiHyn4LkmPRgIhpL0IEqetTK5oIl9TYH3En/OMnxSJF87edR6wDQQG8tlL2lYlKm
         k9dbc/oSC7cQ1O35ITZ2OlRtNUkHQMC7VUdyN8lUgDBbGQ/wLeu9NPkqEbCzZKR/qcRE
         0MoPBIqvkU2zTZlMUceg5h2Izev2J1rqrYCKe9nuqWsKUs/hUTFKTJwDzdFoYRNlL8tK
         qVCbA2EhKo0yRRF+Lk+U7GVU2l+fAcDLdeVTgHSw3DB3YIj4EjHBfYYY2SeF2d1VoYRp
         teyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973512; x=1742578312;
        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=mZcjdDtX1Z7JVvsuWgguTldfqVr7ZBWkV3i9i17ooa8=;
        b=eIB18KERE368Ugw7m+yUXbQf+OJTBHUoCFPeeYUaNJ8xziIlJo+MCd32uUsU9vvNpT
         sHKIcJYlJDdoHnRUSR7x/9eaHlEhojv4tcuzBgk/g2eYprQjc3Dyk0KB8slFmV0Udomh
         nS7esWbsLoILk9vXoDExCmVt873nbfDuc5jBFwCBk9FGVDHxbKTAwiKBb504jeLbvQEN
         G2hfApxZvqh6w+andSPxzWCRUSdf+Nc/Yu7ii5xDaRfVmSEYxyAHZOG3N/9/djumR8kT
         FnnvoC8F0GihABqmxTiqhoPFf1ufCp5NKfQed81g4xnIC0WEHjO5a0ZpJXWJ5+rGzEoS
         IWJg==
X-Forwarded-Encrypted: i=1; AJvYcCXZ+lPgb8Op62q261hmJ/W7wfQWG+FCOr1lDIIPKqPI3UzPxS651ME0I6ygRHmmvbatyLKiyR73YNc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPYGDEXnu7ZcrjCuFk5xBxL0YhdIvKOO8sv+gFt6LqpDVSD7IT
	D/la1iUbUalqODNZbf+mfv7rzSXKVss44Qsmys5gUgONtmSa8l3yGoZsVjFb3UI=
X-Gm-Gg: ASbGncsSSWZQigfSjvlKT0b6AMDd8rrN+pX9Fg2vS3YUjmIi7+gNMHBQDRACrktNQxn
	lvjbybsnPgeypGCJEkpVpIl0Tfw1iQ4aTmXaq0oortixBXkmbE9A8BWkExqwR5o+zCErVSz/gQb
	trS5qJ2vAfDOxCQJd8vSZQbKnPfEXlrvYWB0junCovQn/nnTOS+6FNTgHamuWyNYe+rdmqcc9ba
	t6XJV+3fOt/ba9p0JeWLzl0CGwxvyQupa55q1O2xjCqz+hSron7pDDw7xMpdtZ+SwbVhlx5f7AM
	i8eYuEFWLylImewSp/84f7dFO6sCKgkUviYuxhR2IBv+
X-Google-Smtp-Source: AGHT+IEORLbJQZPgomOf1sDjTcDkAnGl+mlFCK1VHaTDHzBWmfJYoIo2+c2hSAC++5jNWglDm/0AKA==
X-Received: by 2002:a05:6a21:502:b0:1f5:8179:4f47 with SMTP id adf61e73a8af0-1f5c11d86e1mr5274835637.20.1741973511929;
        Fri, 14 Mar 2025 10:31:51 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 06/17] codebase: prepare to remove cpu.h from exec/exec-all.h
Date: Fri, 14 Mar 2025 10:31:28 -0700
Message-Id: <20250314173139.2122904-7-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/tcg/tcg-op.h           | 1 +
 target/ppc/helper_regs.h       | 2 ++
 hw/ppc/spapr_nested.c          | 1 +
 hw/sh4/sh7750.c                | 1 +
 page-vary-target.c             | 2 +-
 target/ppc/tcg-excp_helper.c   | 1 +
 target/riscv/bitmanip_helper.c | 2 +-
 7 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index a02850583bd..bc46b5570c4 100644
--- a/include/tcg/tcg-op.h
+++ b/include/tcg/tcg-op.h
@@ -9,6 +9,7 @@
 #define TCG_TCG_OP_H
 
 #include "tcg/tcg-op-common.h"
+#include "exec/target_long.h"
 
 #ifndef TARGET_LONG_BITS
 #error must include QEMU headers
diff --git a/target/ppc/helper_regs.h b/target/ppc/helper_regs.h
index 8196c1346dc..b928c2c452d 100644
--- a/target/ppc/helper_regs.h
+++ b/target/ppc/helper_regs.h
@@ -20,6 +20,8 @@
 #ifndef HELPER_REGS_H
 #define HELPER_REGS_H
 
+#include "target/ppc/cpu.h"
+
 void hreg_swap_gpr_tgpr(CPUPPCState *env);
 void hreg_compute_hflags(CPUPPCState *env);
 void hreg_update_pmu_hflags(CPUPPCState *env);
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index 201f6292033..a79e398c132 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -2,6 +2,7 @@
 #include "qemu/cutils.h"
 #include "exec/exec-all.h"
 #include "exec/cputlb.h"
+#include "exec/target_long.h"
 #include "helper_regs.h"
 #include "hw/ppc/ppc.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index 6faf0e3ca8b..41306fb6008 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -29,6 +29,7 @@
 #include "hw/irq.h"
 #include "hw/sh4/sh.h"
 #include "system/system.h"
+#include "target/sh4/cpu.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "sh7750_regs.h"
diff --git a/page-vary-target.c b/page-vary-target.c
index 3f81144cda8..84ddeb7c26a 100644
--- a/page-vary-target.c
+++ b/page-vary-target.c
@@ -21,7 +21,7 @@
 
 #include "qemu/osdep.h"
 #include "exec/page-vary.h"
-#include "exec/exec-all.h"
+#include "exec/target_page.h"
 
 bool set_preferred_target_page_bits(int bits)
 {
diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c
index 5a189dc3d70..c422648cfdd 100644
--- a/target/ppc/tcg-excp_helper.c
+++ b/target/ppc/tcg-excp_helper.c
@@ -19,6 +19,7 @@
 #include "qemu/osdep.h"
 #include "qemu/main-loop.h"
 #include "qemu/log.h"
+#include "target/ppc/cpu.h"
 #include "exec/cpu_ldst.h"
 #include "exec/exec-all.h"
 #include "exec/helper-proto.h"
diff --git a/target/riscv/bitmanip_helper.c b/target/riscv/bitmanip_helper.c
index b99c4a39a1f..e9c8d7f7780 100644
--- a/target/riscv/bitmanip_helper.c
+++ b/target/riscv/bitmanip_helper.c
@@ -20,7 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/host-utils.h"
-#include "exec/exec-all.h"
+#include "exec/target_long.h"
 #include "exec/helper-proto.h"
 #include "tcg/tcg.h"
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:32:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.914976.1320659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8t9-00051y-Ay; Fri, 14 Mar 2025 17:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 914976.1320659; Fri, 14 Mar 2025 17:32: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 1tt8t9-00051h-6M; Fri, 14 Mar 2025 17:32:03 +0000
Received: by outflank-mailman (input) for mailman id 914976;
 Fri, 14 Mar 2025 17:32: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=SsSs=WB=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tt8nL-0003IK-5c
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:26:03 +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 6720e508-00f9-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:26:02 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac2bb7ca40bso444803866b.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:26:02 -0700 (PDT)
Received: from localhost.localdomain ([66.81.170.107])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb24sm250677566b.9.2025.03.14.10.25.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:26: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: 6720e508-00f9-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1741973162; x=1742577962; 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=WOoPVJhq5a/XEAMxWlBgBdgROSgA1Iks8/9HeBPk9Vk=;
        b=kwFwRMX/icEl6/PGslirYjI0YHysECTgiUie6QxjAMGhIO4TflSp4N3km3+a/X41sL
         cQ+R2bTWSrc8NYu64P3lwFMGfz+uiBJyZi3NSMAZvruHu7lnTyypHn6VinkqeuFviVR7
         vjhFRtsXf/xACzengGUDi/AasZH3M7P5cVMEM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973162; x=1742577962;
        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=WOoPVJhq5a/XEAMxWlBgBdgROSgA1Iks8/9HeBPk9Vk=;
        b=N8JJA5BFNRvZDmvCGZPmSvHYC9jQtAnhZuvADBoc5IZlatT4iVujxTNIQOX3oIUXBI
         sd7yRldV460cjYJM3vFJuuNtsEA7mwtOvsUUdB1Vz1j65ibj24NZkPEI1Q2xwqUlTIlx
         8WVFfVbDI4hr+1qdCCyS17a4VNFHupQvLGRqKXqPSrGXqptVn+xQt9IM3zkLz02eKVvi
         CXhy1ozyZXsKBu4BJQgkPR6dEBmWkn860Lm/HBUJrTKx1hR2FGryaerPdXkFxj+kOCJT
         y9qB1NId7oREdkag8zQzCCIxEaz9ySVRKhO9REP3BOiUHFv/sBWeMoFxZq1LqOwcqYyK
         vdwg==
X-Gm-Message-State: AOJu0Yxa+/cjQ8xamjrkNoNTJd8fGh55oNXe2By+1dQxyQoqG2mOQvTE
	1Tue16Te/UQq9fvQhKvgWPY5zFKSum4WFiH+e952OD+3KzgMZsH6qrF85CsRsvDBI2U/BKMcpzI
	v
X-Gm-Gg: ASbGncuyvzvwWZ5uoS5LymcQGsGtrZwzfllBAshJ7K8+V3bJDPKPT9gO4KjlUGnDPFc
	/OnOyxCYySnjlBYrWJgFQE82sM075EQaaBq7dXmSt2JcDGdkmQ2HDpDXomUkfa0u95BBMfaAz57
	32cnRTit2t4wQ6ufgYS0kHqu4cA9IY14DE82HytwKuCn0yMqpOrFRA0X/Ra2YXRwxN+wbubC08j
	70aWBEX1IxkZN5j/NigJKVkqJpe2XgVOQyqRUeGz4k+uXK2l9M7BnKZ3jbhppYbn0JhURQeZput
	tHcIc0vO0CRDlj8bvixfokxKOxhQIU0zzwVpgal876ARCo1uBUYsKF0qbkSA/ssRi7E=
X-Google-Smtp-Source: AGHT+IH7BlA4vCgTd4VLYiuH5xIPV1du5rzeNPEjhgKwzB0hRnTvUWdLLIXdHbXU2JzPDm4QdcUwAg==
X-Received: by 2002:a17:907:9713:b0:ac2:7e56:5ca5 with SMTP id a640c23a62f3a-ac3302771cdmr393348266b.34.1741973161918;
        Fri, 14 Mar 2025 10:26:01 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Bernhard Kaindl <bernhard.kaindl@cloud.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 07/11] xen/page_alloc: Set node affinity when claiming pages from an exact node
Date: Fri, 14 Mar 2025 17:24:58 +0000
Message-ID: <20250314172502.53498-8-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Set the domain's node affinity to the claimed node if the claim
specified an exact node. Do it immediately before making any changes in
case setting the affinity fails (even though it shouldn't).

This allows preferentially allocating from the closest NUMA node when
"exact" is not specified (e.g: p2m tables, etc).

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
Toolstacks can just do it themselves, but it's more error prone. If it
claimed pages from an exact node (and remember we can only hold a single
claim at a time) it makes no sense for the domain to be intentionally
allocating from NUMA nodes other than its home node.
---
 xen/common/page_alloc.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index cfaa64d3b858..e69a5fcc8d31 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -586,10 +586,16 @@ int domain_set_outstanding_pages(struct domain *d, nodeid_t node,
 
     if ( node != NUMA_NO_NODE )
     {
-        avail_pages = pernode_avail_pages[node] - pernode_oc[node];
+        nodemask_t affinity = NODE_MASK_NONE;
 
+        avail_pages = pernode_avail_pages[node] - pernode_oc[node];
         if ( pages > avail_pages )
             goto out;
+
+        node_set(node, affinity);
+        ret = domain_set_node_affinity(d, &affinity);
+        if ( ret )
+            goto out;
     }
 
     /* yay, claim fits in available memory, stake the claim, success! */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:33:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:33:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915026.1320668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8uI-0007Yb-MT; Fri, 14 Mar 2025 17:33:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915026.1320668; Fri, 14 Mar 2025 17:33: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 1tt8uI-0007YU-Jw; Fri, 14 Mar 2025 17:33:14 +0000
Received: by outflank-mailman (input) for mailman id 915026;
 Fri, 14 Mar 2025 17:33: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8uH-0007Xx-HF
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:33:13 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 665c857c-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:33:11 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-2239aa5da08so48501355ad.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:33:11 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-225c6bbe4c5sm31163235ad.192.2025.03.14.10.33.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 10:33: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: 665c857c-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973590; x=1742578390; 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=lfJn8ylcc7bIMXo6FULC7ghWGBlTsQARiadKWN33xhk=;
        b=SDc2UXTjEAUrLrzhAJzyQzsU/CcjraXPb/Uar1RCiPe2MnMw/UXNC+D3MOKbtHTRZE
         bolk63SoNVrDtY9tWqSgFuFhxBDObpI4gblVOpBjwyeQCyL79ES+eG6BYTttiI7kcBNA
         cbGdrZOjYtU2I87T/56wwoc/iZ6R07ZykTldxhPM6eoVngI6QpDHV9BZ+soSBjTWUfGA
         zCa1lXaR6Z40XxvLLqGaH1Zc8k5jRIxlMV2k9aGmdIEvyF4DkE6ZzDdoc8Qp4kxeBSKF
         P8Y3n6EuDsVjdahsDjzi99vGgAcL8yPqwLYAzexj3bUM3718SZQ9Gium+ch7Tclbe4nX
         CNkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973590; x=1742578390;
        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=lfJn8ylcc7bIMXo6FULC7ghWGBlTsQARiadKWN33xhk=;
        b=F1h2wv8JNk9vSn+M2+uG0wM8MwGZwI5JvH0gbIGPXbrmtl1r2wI5ZVOh0Z4elC652X
         y3noHgvlVQ6OvLcB2pjQC8ZQxjjNj/5vwK9OSSvlpdSVWfIBr0gBfC2FsLOlEoW2RPGJ
         eurme9lTNKVvFRmN55frxikgx8TJfXY2YzyTc+/OpXF0rPTayeyvQCkFjD/A3L+Y3uZi
         QRwHPFcDFjYJNoD4jvVWSndnedNpCx/AJ79wZPKWGyRYXCas6sPSDQHVfYV3BiiIUOq0
         90tyoedJoMaPTli7ImJhj6x4AjfS5xxg+nKuvNJ8s4tsY20Bt8/Ea/l2hFCnGcjra35a
         0CRQ==
X-Forwarded-Encrypted: i=1; AJvYcCWS+wLefziU8W22Kabanp/h5D2sSPFP3ummJYZMELgG1Tx7UzN7tW6efdyLZm8utHeNwPQgR1Uhvqk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5taUoueh+kvS6ILhg5SpD78CYLz0pXM57okfriZCQdkKboApv
	LWUDmRRpDPvvFcHnBv617fxYZCxOKPgyjJLpR8iZj/zls92RIlpS3iJVYt2eBRI=
X-Gm-Gg: ASbGncs+qE4mofqgKz71vEtYrTPUrwTUbgqU+JrowNhDo4MPiBWaamVLMSIU3Oyy4DF
	/BpKWylBQ4OUrovlwdtxBL2BqkWVzXdXQAu1RDgiYc5u6csouSEmP3jfYJEdHclTWRsq+HHIuPB
	vPArFL6eU2PFpMznYEz2D8cNjTslMGB6K7uTCi6n8/a0pyaLoJeeYx7fsscMEwykkou1T7jPQ1C
	pWUdlWeuJUbxsGkan9MD8WlsZa/EfvJFBwWPrENIIF3V19yZZMJ+dl7N32LymH0nWkZpy6xpUO4
	3QGut8NvHSYa47Z94i63rqcIWhWViG/oUavmhYhH/6g7eGMoaCyJAa2NdA==
X-Google-Smtp-Source: AGHT+IGn7+0AN3fVzzoc32npzDlWCxdUi65DSAZ1hRH63zOg5rpmzCsnUJT+UaYhzI2QTzM024e55A==
X-Received: by 2002:a17:902:da90:b0:21f:2ded:76ea with SMTP id d9443c01a7336-225e0afa014mr36590685ad.36.1741973590244;
        Fri, 14 Mar 2025 10:33:10 -0700 (PDT)
Message-ID: <5951f731-b936-42eb-b3ff-bc66ef9c9414@linaro.org>
Date: Fri, 14 Mar 2025 10:33:08 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 00/17] make system memory API available for common code
Content-Language: en-US
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

one patch is missing review:
[PATCH v5 12/17] hw/xen: add stubs for various functions.

Regards,
Pierrick

On 3/14/25 10:31, Pierrick Bouvier wrote:
> The main goal of this series is to be able to call any memory ld/st function
> from code that is *not* target dependent. As a positive side effect, we can
> turn related system compilation units into common code.
> 
> The first 5 patches remove dependency of memory API to cpu headers and remove
> dependency to target specific code. This could be a series on its own, but it's
> great to be able to turn system memory compilation units into common code to
> make sure it can't regress, and prove it achieves the desired result.
> 
> The next patches remove more dependencies on cpu headers (exec-all,
> memory-internal, ram_addr).
> Then, we add access to a needed function from kvm, some xen stubs, and we
> finally can turn our compilation units into common code.
> 
> Every commit was tested to build correctly for all targets (on windows, linux,
> macos), and the series was fully tested by running all tests we have (linux,
> x86_64 host).
> 
> v2:
> - reorder first commits (tswap change first, so memory cached functions can use it)
> - move st/ld*_p functions to tswap instead of bswap
> - add define for target_words_bigendian when COMPILING_PER_TARGET, equals to
>    TARGET_BIG_ENDIAN (avoid overhead in target code)
> - rewrite devend_memop
> - remove useless exec-all.h in concerned patch
> - extract devend_big_endian function to reuse in system/memory.c
> - rewrite changes to system/memory.c
> 
> v3:
> - move devend functions to memory_internal.h
> - completed description for commits removing cpu.h dependency
> 
> v4:
> - rebase on top of master
>    * missing include in 'codebase: prepare to remove cpu.h from exec/exec-all.h'
>    * meson build conflict
> 
> v5:
> - remove extra xen stub xen_invalidate_map_cache()
> - edit xen stubs commit message
> 
> Pierrick Bouvier (17):
>    exec/tswap: target code can use TARGET_BIG_ENDIAN instead of
>      target_words_bigendian()
>    exec/tswap: implement {ld,st}.*_p as functions instead of macros
>    exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
>    exec/memory_ldst_phys: extract memory_ldst_phys declarations from
>      cpu-all.h
>    exec/memory.h: make devend_memop "target defines" agnostic
>    codebase: prepare to remove cpu.h from exec/exec-all.h
>    exec/exec-all: remove dependency on cpu.h
>    exec/memory-internal: remove dependency on cpu.h
>    exec/ram_addr: remove dependency on cpu.h
>    system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
>      common code
>    exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
>    hw/xen: add stubs for various functions
>    system/physmem: compilation unit is now common to all targets
>    include/exec/memory: extract devend_big_endian from devend_memop
>    include/exec/memory: move devend functions to memory-internal.h
>    system/memory: make compilation unit common
>    system/ioport: make compilation unit common
> 
>   include/exec/cpu-all.h              | 66 -----------------------
>   include/exec/exec-all.h             |  1 -
>   include/exec/memory-internal.h      | 21 +++++++-
>   include/exec/memory.h               | 30 ++++-------
>   include/exec/ram_addr.h             | 11 ++--
>   include/exec/tswap.h                | 81 +++++++++++++++++++++++++++--
>   include/system/kvm.h                |  6 +--
>   include/tcg/tcg-op.h                |  1 +
>   target/ppc/helper_regs.h            |  2 +
>   include/exec/memory_ldst.h.inc      |  4 --
>   include/exec/memory_ldst_phys.h.inc |  5 +-
>   cpu-target.c                        |  1 +
>   hw/ppc/spapr_nested.c               |  1 +
>   hw/sh4/sh7750.c                     |  1 +
>   hw/xen/xen_stubs.c                  | 51 ++++++++++++++++++
>   page-vary-target.c                  |  2 +-
>   system/ioport.c                     |  1 -
>   system/memory.c                     | 17 ++----
>   target/ppc/tcg-excp_helper.c        |  1 +
>   target/riscv/bitmanip_helper.c      |  2 +-
>   hw/xen/meson.build                  |  3 ++
>   system/meson.build                  |  6 +--
>   22 files changed, 188 insertions(+), 126 deletions(-)
>   create mode 100644 hw/xen/xen_stubs.c
> 



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:38:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:38:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915041.1320679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt8zd-0008EO-91; Fri, 14 Mar 2025 17:38:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915041.1320679; Fri, 14 Mar 2025 17: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 1tt8zd-0008EH-6H; Fri, 14 Mar 2025 17:38:45 +0000
Received: by outflank-mailman (input) for mailman id 915041;
 Fri, 14 Mar 2025 17: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt8zb-0008EB-ST
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:38:43 +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 2bca6d1e-00fb-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:38:42 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5e5491eb379so3480399a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:38:42 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e816ad394fsm2281185a12.58.2025.03.14.10.38.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 10:38: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: 2bca6d1e-00fb-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741973921; x=1742578721; 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=0Hpl4cnxJekM6FfThiai/zXx2e+8FHnMQX9KX/EA43M=;
        b=ovriCOQQFM0gcLQihmGamdbY8Fa0Hcm5kCSMaD8L6WnLOFrhfdTCC579FbC901CTXP
         nf+RoE1IuGDfuQnDQBBcfb9ymCeKXLKAOnBF459UGNhJlQSNVat0io2UPW0KbfrxS53Z
         y1YVWPTJ1Czm9SpaYqyKVYp625MFFoX0bpfkE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973921; x=1742578721;
        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=0Hpl4cnxJekM6FfThiai/zXx2e+8FHnMQX9KX/EA43M=;
        b=BrUX8RHxOXVGGUG4hzYKpDLgshkFodM3Si1yYCmdlQYLAJ2xHD1yzB2skxk+AOMv/0
         Y8EDsJba+1KrWaQN2aOVT9CY2DZhKLTlJ1wbpMDIIqKcuLBvEwTXl+VeE90IKbLb73KA
         Mr6gMgd0NS/byztWyp8K+Fd1/fvURn+2zZmuAz7EYzZ5aqxSTy/uyU7spQ2P1M7ZbGXH
         HK3ocooZuBfY6URQ93TLGNsPMWWM+mdujPzbl4NRKbd7R+Ic9TvhENWsZAHReC/f6Ezb
         xGFRRdo+smGZEGM7K9bWtJhf5TW1ZfDPwPflxcVK+Tyq8bkbl3dBKkUA3XFI3wgEDwJn
         Gwxw==
X-Forwarded-Encrypted: i=1; AJvYcCV58yYLVdj0fj3TcWgPrDhii915DT70SkgQTNOuGnGTxYFbX8g7NgdsthnAxojFraImdI8K+fX07zk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzgOnf5vFdwYtNZ9YwPAp6vdmtV7/62PIgLpRMuxTML6Yn5wnOQ
	dEjyMl2tLd6I6tSKJgMqFc4wGGeNMk4glwN/FBTs6ZqKbgF9Ygtm7iktZinbStM=
X-Gm-Gg: ASbGnctmw61nC+f3lKIXeFT66lPfP/qYoS7XlSymOlsk//xmhOhFraXbRIubwL4ky0A
	rr/+fEn2Tvr4Cs9K2ACbGxygpJ4ACU77Fx8vk56aCozuKQicuFOGRN5874H9ZToW7nDbCk4o3tv
	fP1Ntg/5CO1fbrRX5XrbKGqJCIiiUvsvYETBBWX7Q6mEsZwi5nYiOYa3c7PR1H8QHDMTYbMkU6a
	+HFR6wIyKBJzwg1K/CRt4e9s1mF3om7pXqc2wRRsBJMpjRul86q0aviIxM4FXdSHarSeBAehMBK
	4Jdq+b+a7rRgV3UQYkacylplZ/GQaqgyS+t8/fgcseSHnliULuir8K1k2Yx6c9dR7gaDGyFXqVJ
	8rvm3t+SZ
X-Google-Smtp-Source: AGHT+IHuMJzFPdxHT1lX8H7MOJc+B3zP2VTHngVCjVPqPXY4kEQg95WAJY20qc2mfqobNynUfwUAuA==
X-Received: by 2002:a05:6402:5210:b0:5e5:bde4:7575 with SMTP id 4fb4d7f45d1cf-5e89f24e3b1mr3892430a12.1.1741973921524;
        Fri, 14 Mar 2025 10:38:41 -0700 (PDT)
Message-ID: <6ad08678-372f-4ce0-822c-96f97475594b@citrix.com>
Date: Fri, 14 Mar 2025 17:38:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/3] make build of vm_event/mem_access/monitor optional
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1741772330.git.Sergiy_Kibrik@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: <cover.1741772330.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 5:19 am, Sergiy Kibrik wrote:
> This series aims to provide a possibility to build Xen without mem_access and
> related features. It is already largely covered by corresponding
> CONFIG_MEM_ACCESS option, yet there're still some parts remaining.
> Hopefully this would help to reduce dead code a bit.
>
> As coverage of MEM_ACCESS config option begins to extend beyond actual
> mem_access code it has been suggested to rename it into VM_EVENT, as a more
> general option controlling mem_access, vm_event and monitor code.
>
> v3 series:
> https://lore.kernel.org/xen-devel/cover.1741687645.git.Sergiy_Kibrik@epam.com/
>   -Sergiy
>
>
> Sergiy Kibrik (2):
>   xen: kconfig: rename MEM_ACCESS -> VM_EVENT
>   x86:monitor: control monitor.c build with CONFIG_VM_EVENT option
>
> Stefano Stabellini (1):
>   xen: mem_access: conditionally compile vm_event.c & monitor.c

I've taken this as it's been going on for long enough.

I've folded a few fixes.Â  Please be aware of these in the future.

In EXTRA_RANDCONFIG in patch 1, the CONFIG items are sorted, so the
rename caused a resorting to be needed.

In patch 3, extra comments on the #else and #endif, before more content
gets added.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:41:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:41:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915059.1320688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt92Q-0001jd-Pb; Fri, 14 Mar 2025 17:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915059.1320688; Fri, 14 Mar 2025 17:41: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 1tt92Q-0001jW-Mq; Fri, 14 Mar 2025 17:41:38 +0000
Received: by outflank-mailman (input) for mailman id 915059;
 Fri, 14 Mar 2025 17:41: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8tB-0000Ih-Rq
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:32:05 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e033356-00fa-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:32:04 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-22398e09e39so51807585ad.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:32:03 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.32.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10: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: 3e033356-00fa-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973522; x=1742578322; 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=ipPAyCMNYKQgJ+e1Pj22cNEjWMul6XXi9iVGdQZJ7Rc=;
        b=RVxT1nJMAeHp6753vqOl+3FN9eP7M9RUNM9SSPBPY/r+fC2/eRLJLx4LN6svDeBH+O
         s7WUzAqctoB1/r0bJTBIMtZxTdxWMXnFTFzKKAA2cdcZCn5ttaz1m2MDyxVDV757kLDD
         qyi/98WyCQ6cX0vMSVeIfJltc4cg0Qv37S+kqoh9FOPSYu4QBHNNxdMetSkRWJU69C6C
         qN1wHGPbyu5cQifSVIMaXFaMHIoU4oZq+EeZtQ/iRHU/juII9xy0mIhYt2fEuwFresZx
         rikkgzMZhjQlB1Z8e4WttmviteGQaHPt4JTANIKzCJA7R8abIAH8/J8pCjKv85JD/X9K
         xQqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973522; x=1742578322;
        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=ipPAyCMNYKQgJ+e1Pj22cNEjWMul6XXi9iVGdQZJ7Rc=;
        b=K4Qjbps2bwarcEsIBb4f7XCXELKO17V6Cihw1mTMbqeKZKQDCnSDpm6vYvN04PjEYI
         sMq0A4v36ysRD7bGKwwabUiVu7Kh9Hj2lPV/piDfmGXZcDkZz7OuJAjJUcxJtNOJxnil
         ZwkAqDtFdenhvkQL2Ui+sdiiRLUGATBADkpMrEQl6IkT6Jl5w158T+KtESX7fS6pquBe
         02KiTY0bM/aJMDUOFiauegN4S+/wU0JqNHTIzfnZZSizQl+FSUcuIqBAD8RfCLwMwzWw
         nUcDSgcIEle2X2lGx+QMUTPw9PyCEczw14VDPv5J4YlgaF3qMEp6KZSTfyEtR9d3nOhg
         67kQ==
X-Forwarded-Encrypted: i=1; AJvYcCU0Dgq+NHUiYdnEYIsrRihUqMCRsx64uIX2qSWlYvMgyp6dFXYKP75VGY+eiZjhANrB+CNN9codyDM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YycBeEmiDAeacVegtvwAlY9lmp4xGjrXIk7OPivaignQHcXSI68
	Xz25groSQbtQfN5bXOJL2QXyBG82NaumutVeBrCU78mHRVs/RDg413dTMxBI1bw=
X-Gm-Gg: ASbGncs+kUx0LBjT8rWI7XgFlX4iWliU2/exC2FTVk92gFJhw/vQX3ap7J/v7aSklTa
	Y7IQuEqTSBCzrCnTUWzEuM5vTX/EIF6Mnol2cSPxKTd5Kowh6+OvnCkiu9GWGhTnme7UvaL+jrJ
	CFAiO/umN4GPLSiv7s4dvyEzMS94qxV/arkp5GyQEWHCVSjxBJUhBmlsDn4mR2e/6D59gA5tEak
	419gbZqP4uLyjrUWFgZEVU5NfVJ4UuOHe7cnjUjX24xBrfz4QyEb6SQDS6tVCvuOK5q7l33hzaw
	E4EzefmCgPrK/NHgiJmUeM/QjLAnHTnon5QUPJ79J4iE
X-Google-Smtp-Source: AGHT+IEtHSmevJ6R5avE3bKBZZosO5sZ+P9hAoOgJtZ8OftQtbIF6mLlVq94OOMFZzJGHDBT5BJrHg==
X-Received: by 2002:a05:6a21:6d88:b0:1f5:7873:3053 with SMTP id adf61e73a8af0-1f5c12ec5b1mr4773946637.29.1741973522470;
        Fri, 14 Mar 2025 10:32:02 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 15/17] include/exec/memory: move devend functions to memory-internal.h
Date: Fri, 14 Mar 2025 10:31:37 -0700
Message-Id: <20250314173139.2122904-16-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Only system/physmem.c and system/memory.c use those functions, so we can
move then to internal header.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 19 +++++++++++++++++++
 include/exec/memory.h          | 18 ------------------
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index b729f3b25ad..c75178a3d6b 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -43,5 +43,24 @@ void address_space_dispatch_free(AddressSpaceDispatch *d);
 
 void mtree_print_dispatch(struct AddressSpaceDispatch *d,
                           MemoryRegion *root);
+
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
+{
+    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
+                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
+
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
+}
+
 #endif
 #endif
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 70177304a92..a3bb0542bf6 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,24 +3138,6 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* returns true if end is big endian. */
-static inline bool devend_big_endian(enum device_endian end)
-{
-    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
-                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
-
-    if (end == DEVICE_NATIVE_ENDIAN) {
-        return target_words_bigendian();
-    }
-    return end == DEVICE_BIG_ENDIAN;
-}
-
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
-{
-    return devend_big_endian(end) ? MO_BE : MO_LE;
-}
-
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
  * to manage the actual amount of memory consumed by the VM (then, the memory
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:42:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:42:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915086.1320699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt93X-0002nu-2H; Fri, 14 Mar 2025 17:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915086.1320699; Fri, 14 Mar 2025 17: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 1tt93W-0002nn-Vj; Fri, 14 Mar 2025 17:42:46 +0000
Received: by outflank-mailman (input) for mailman id 915086;
 Fri, 14 Mar 2025 17:42: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t3-0000Ih-Pd
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:57 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39c61ddf-00fa-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:31:56 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-225d66a4839so27410975ad.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:56 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 39c61ddf-00fa-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973515; x=1742578315; 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=PfpTTedni4gUGfvRcfnvXw4xTvY7JO0pNjOjXTZ7pI8=;
        b=UOGmUBK/BmylnP/uFe2DxOY18uKGbQCpIexS5P6b4TOLHhNolbp/9Hz4oX+oUMPjo2
         5l7ku5DnLquYxZiSKhjJFRNU+PzpGxj52ZhISSoH6FRxQ7JLMg+spO1lFPvgwq7cTno2
         8GZdKjBwyesCbAH0s6CZxq4H0sXJZ1DtVwDBuAWdET7UORElUxq1sh/Vk4p6nyVQl3UL
         0xxrK6XZiEQ8/2n9WS/DC5L42zZ5OYrGkOAs57mwFATmZSJd6Mt6j734K2wisH8lolZk
         oMRZQr/u6UXIWDW/f+m4jQ0H/Kb7YAEdH09YKkRvZvZCj7sU+9MccsNKSCYXbEcIUnED
         tQ3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973515; x=1742578315;
        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=PfpTTedni4gUGfvRcfnvXw4xTvY7JO0pNjOjXTZ7pI8=;
        b=Ck6YOyFhmzMvrQGEi8igDq8Y8JI1x0S6CPmEivEMNM6mcCV3jiD+gInX9acTsPkARu
         3uxIuCdZmeshfC01OsGexu7hHYuXEp3kk9wF/EOII7tx9vIH9SRzhGEmjLvwatTUJY7x
         U4UbXRsAFWhfGPDvWyX8+wR1c9rJqyyAYP9LhQpx2R6MedgFecQUVECWNeuEwDBZ4+9Y
         1djmjzYNlcxkoMw3zLGwvo1YMfe8Ie9i2tpgsyGbo6sgP+JyGHglcJFPa68u4M4MhhDQ
         PIdCH4LYT1O5NwjBzWvG6e74v1gS6gEk/twwxIM9hXkL4CR8Y465dlY+2Mcg3FZO6opm
         yCfw==
X-Forwarded-Encrypted: i=1; AJvYcCXhk0deoz4dwVOy4XLr0BDAKjtBMftO9Y3PdMW0zrV97LJSQZCIyy1eYk7NfC6JtATZ5XQy6vIHYp0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIru79vHS+nVjIHrK4DmbbaQhRvCfi+MDBMxz3+a1vMyKr3j9H
	gCkM10oQqmym3fl+ukgsp3YDU4Ta/KvnHebKs96ZAUSAfw9L7QL6KVTNgRHINow=
X-Gm-Gg: ASbGncsSg7lrENzawvd239Cye6iA6M4nEY0DPJYpjt9/CLlPBRVy3vYuVfzr+bsqn/V
	C+4vcZfwAFMxl+eRIoYjnY86Fo2JOh+Oh/ubzNIwRCTQUMkrAm2AQ4Yu4C6mMBeAj/qWH2KYSmx
	KvtQsSL+t4JSjxCmijFvs5oZnLHfM14VA3BqrtZ3MfbDjl61uf05HD7tiy1efwunnGOqWM+7bVw
	nLcmsGmj0uAkQ55v3FnwNuIRIMDIOSWQiVJHq117H258hHugtqiDTkYwFLwyoMFdCJ4CRjoqKk1
	bhxfp+ZuicFlmyHGenx06vZUc4vKDQDvAHf0BO+SFcz8eZTh1jL4rp4=
X-Google-Smtp-Source: AGHT+IGj/I3RP0NPhKjXDLOwbHPd8rrkJpTvSehnV45pZ5KtPvxWJrCPU4ZqmKsKsNZoI57izw+qbw==
X-Received: by 2002:a05:6300:619c:b0:1f3:323e:3743 with SMTP id adf61e73a8af0-1f5c28650c4mr5059385637.12.1741973515400;
        Fri, 14 Mar 2025 10:31:55 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 09/17] exec/ram_addr: remove dependency on cpu.h
Date: Fri, 14 Mar 2025 10:31:31 -0700
Message-Id: <20250314173139.2122904-10-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index e4c28fbec9b..f5d574261a3 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -20,13 +20,14 @@
 #define RAM_ADDR_H
 
 #ifndef CONFIG_USER_ONLY
-#include "cpu.h"
 #include "system/xen.h"
 #include "system/tcg.h"
 #include "exec/cputlb.h"
 #include "exec/ramlist.h"
 #include "exec/ramblock.h"
 #include "exec/exec-all.h"
+#include "exec/memory.h"
+#include "exec/target_page.h"
 #include "qemu/rcu.h"
 
 #include "exec/hwaddr.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:43:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:43:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915104.1320708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt941-0003Vo-9W; Fri, 14 Mar 2025 17:43:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915104.1320708; Fri, 14 Mar 2025 17:43: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 1tt941-0003Vh-6w; Fri, 14 Mar 2025 17:43:17 +0000
Received: by outflank-mailman (input) for mailman id 915104;
 Fri, 14 Mar 2025 17:43: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t4-0000Ih-Py
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:58 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a7f9c9b-00fa-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:31:58 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-223fd89d036so50298055ad.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:58 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 3a7f9c9b-00fa-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973516; x=1742578316; 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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=Ps8DwMv30OnOS1pr8llj0bYh339y0ndrO1BaV7/V3E2W2TlLE37W7c/+5Lfdf/ZAMR
         /payVKpsFrGWd4VEri8sw89YgK7mrhSSEpyyuuM6N6hyaT1I6v3VX73/F8HsFninIM0f
         q3uRU527iFq0dD3b+Y6C4e1zS74sqjt4XHXpNG8WNh+vCDO6mxhv0baXswRzJbGNSFOy
         XeHV53yvtrN+rm/ciFZoq2n8rfmipjviNPY/j6miQVs5ypy0w8F9QyibcnzIY+RDAcn3
         3UjZb1hp44SEwupVslRKqd40o731o8EBqiN0mCNPNmB1Xeqc5kJxF/NKjKag7LxVqkZ/
         czdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973516; x=1742578316;
        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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=iicepINbLKbcFjGUYVKbLHWDPxkU1tJpIBYpleA/9iLqbTTB49wSKqS9KdrfprcyK7
         iomm/lw+MFVNwt0/AvD1pA1gbpSB/8XQFIlmAHrU/eVGy19lp70/oBTWGilwa5VDdTNF
         hyL6q0Tsi6Vzccj3WwBwBf1ujlXP1eKzu7H2AF/lKDWx/ajJ8gOYYwFn0awqOHHGn+eg
         vZwS+QRTbwj3Fu3mY8gOEo4TPCUC7XM+1UnsguBd0nmmhuwyq9+PiXTJBpYKUYDd1DGt
         XFb3A037mKXGqz6HoG4U36Py8FEBT85TYSW81QFCxVIQP1LCOUkOxMRTifwYPCmdDi5t
         ZtRg==
X-Forwarded-Encrypted: i=1; AJvYcCX9AL7OVCnbfdIKHJlUgk9G/8BnMnIwBeDgho1QnZbtlYs/KXp+TmXtGFoVmS3LIAGIS9rokiaRo6U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwTv/hjgshi5nHQHHIpmc7/xg1sg2XM5I4Fl2FaReqxfrGTyVT
	0AHYWX6NsTEDyUcCiwd4Nv7nXHtEM9FEvHKpDkRBxlw1PZPRxFj4YW+Y5868oVs=
X-Gm-Gg: ASbGncuW2G7Py7ehAIG5H6dN9dX16IX0eZqIy9WqOQaWnq2kEX63A4ii+pTkbw1KqpD
	kF3wZg1BgftPNeB43zagwPH0LGGFdADMMorjRWGAIHuDIhg3vDR6HdGmfckPhDRRrU57SG5+QPT
	RQzgnY+kijOicpo+PHB5WTmzPBMMeXkn7Sie/nv3YkWi1nnNqlzOA4CXcoNmnLLIgJANktGeKnp
	pAV90584VwVtq4y4jUBAvEDMq5Zej6MOPeMY41hQ2cqLljTHvUGjmvmT3Xp8FKUFQSeRySfGyec
	weBWaAcy8LfNQsmmoNficRlZgcYo32bGWKAg9ODn1Arr
X-Google-Smtp-Source: AGHT+IHMleMJwhfQuIw2SImS8wKBtMic5A4ELNmhk5zJYoh3vglYg1/X+SLV/IgTuYLv0/Y4ZISJug==
X-Received: by 2002:a05:6a20:1595:b0:1f5:8622:5ecd with SMTP id adf61e73a8af0-1f5c12c78aamr4816767637.32.1741973516583;
        Fri, 14 Mar 2025 10:31:56 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 10/17] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code
Date: Fri, 14 Mar 2025 10:31:32 -0700
Message-Id: <20250314173139.2122904-11-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This function is used by system/physmem.c will be turn into common code
in next commit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/kvm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/system/kvm.h b/include/system/kvm.h
index ab17c09a551..21da3b8b052 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -210,11 +210,11 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
-#ifdef COMPILING_PER_TARGET
-#include "cpu.h"
-
 void kvm_flush_coalesced_mmio_buffer(void);
 
+#ifdef COMPILING_PER_TARGET
+#include "cpu.h"
+
 /**
  * kvm_update_guest_debug(): ensure KVM debug structures updated
  * @cs: the CPUState for this cpu
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:44:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915131.1320718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt94o-0004Mf-Ig; Fri, 14 Mar 2025 17:44:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915131.1320718; Fri, 14 Mar 2025 17: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 1tt94o-0004MY-G1; Fri, 14 Mar 2025 17:44:06 +0000
Received: by outflank-mailman (input) for mailman id 915131;
 Fri, 14 Mar 2025 17:44: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t7-0000xy-AP
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:32:01 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b329b2f-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:31:59 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-2254e0b4b79so61940125ad.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:59 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 3b329b2f-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973518; x=1742578318; 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=PABH8iZPN9WF+wJr72ZMp6Lm7i1C+9jWBJAvssLik90=;
        b=NMqmIYHkM3pA5Qs3eB7qIU2gRhelkCPgF18JXX95gDDTvD0wnpd9a3nktj1SaHa6QM
         lTa9TV27adarjnTtTZQxQJh3vUPJp33o6bb6GYmitQKaJySYX8rc7CcEgjq0iYtbfnPz
         OZbcuBxccsSS9oZnFnb4k8k3LVRfMJoEPp6Fx6wisEWCnuE3XMaqWCA6rcRlCBAzDFhT
         wr5HWloDIP02hkF6eWyJ9+9a/EV/7E/Q4wN3bfIz8TyoaoT8uqbv5AJDUxW5KUYgAItj
         b7bKSZijKxmY4/lUOyu9XAuxk+fTqznJAdEoYE8VNNppUNO535heFdnAbGIyCsQZNgA8
         g3Og==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973518; x=1742578318;
        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=PABH8iZPN9WF+wJr72ZMp6Lm7i1C+9jWBJAvssLik90=;
        b=atwWgmvCTS/gHF4ue8cbzpPjs0fZgA3UgpaNxz37dmd5INfCAP6S7cbT6+mrmJELDs
         gPrb1tVwI+te/+fZuot4iNwDvXJ/RoS/tI5wyOnoCVJt8r6iUzYMpMLkEcCkgXU4VRtY
         gvfA2d2C1AycZFks0Wmw9EgLmB5NvrQIdkF/K3kK+KCHw4b6alER0p6O7C1SS2nfFhNF
         uUwkn3v4StTHNwg53FaA5X5Z08f1Xb5S48yVn+0yas3iIhZlyk0GvEtoKd/69c4dytXj
         tAbqDN6kPlauz9sXlTpx/MwXpIROuvG1REfA5EPjFiMgQ2BaOp1nfdjnVkGsX0cv9yI7
         Izxw==
X-Forwarded-Encrypted: i=1; AJvYcCXstVUMBQKw+V9dMonFdIowY8QjiJxZKkTcBOmZ2WkokUsqgzcqJYl3SRvUuKs2gghsYa4XYN5O0cg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2PvaujFo2XcU6rSdEEdOolySUISu9mFfnM2k4XB4VSVmVJ5bL
	QidBgVNOMd9EL/cke+t7OfxTzMDK+ky4MvL7afLnKl4dCii8pAHsCOUW0Wes0z4=
X-Gm-Gg: ASbGncsSwV8PciItv9qGPrLtz0wFBFgkYwe0OjAth8ERt7fG4b31mGvGWjPn+nDq+JP
	8d8eB6GZ78o96fD8drQ3vW541s6b+BwOsBTwrobu+1VzmkY+LpTqJ1UKWUHXZyf8989YOlen1Hx
	AqnvDbBcgXGHa7YL7mcGK20nkuYOCfawgvybfmZT7Yg+c6XxR6lca4ne3hMpzBvydwKsn9BSKvF
	WDj5rtyVd2/CWp3Mx1Vq48Vv0fQYTXbK2DvfdWBe2GYsLw34pBwbS4j9uSCmQ8WiT2w4rLG5kPl
	pgan0QKs2lZy9GsG0xCgpvN/e9ALO51WUtAsZPPHmZBp
X-Google-Smtp-Source: AGHT+IGnTvSqXO1fzlE+2xVmojsF7Bo5wJQ+q4TppfmkSKTjR2FsyvyfU5Ot+87AVkRJkvXuDcvBmA==
X-Received: by 2002:a05:6a00:228e:b0:736:562b:9a9c with SMTP id d2e1a72fcca58-7372242d387mr4348766b3a.18.1741973517785;
        Fri, 14 Mar 2025 10:31:57 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 11/17] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
Date: Fri, 14 Mar 2025 10:31:33 -0700
Message-Id: <20250314173139.2122904-12-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index f5d574261a3..92e8708af76 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -339,7 +339,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
         }
     }
 
-    xen_hvm_modified_memory(start, length);
+    if (xen_enabled()) {
+        xen_hvm_modified_memory(start, length);
+    }
 }
 
 #if !defined(_WIN32)
@@ -415,7 +417,9 @@ uint64_t cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
             }
         }
 
-        xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        if (xen_enabled()) {
+            xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        }
     } else {
         uint8_t clients = tcg_enabled() ? DIRTY_CLIENTS_ALL : DIRTY_CLIENTS_NOCODE;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:44:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915142.1320729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt958-00054n-QN; Fri, 14 Mar 2025 17:44:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915142.1320729; Fri, 14 Mar 2025 17:44: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 1tt958-00054g-NO; Fri, 14 Mar 2025 17:44:26 +0000
Received: by outflank-mailman (input) for mailman id 915142;
 Fri, 14 Mar 2025 17:44: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8tC-0000xy-4O
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:32:06 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c86e576-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:32:01 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-225a28a511eso43038985ad.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:32:01 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 3c86e576-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973520; x=1742578320; 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=cOa15ppvF5kxsldjPkSIJYe5T0c824L9GaUvR3via0Q=;
        b=IWAagrMlOK8AmQpFhjvRXFSmBR8zSB/lyokNU6vYmg1G/4pGaIMDV6mhAyoYWHTDGx
         Vnr2TC17ao0KgQ6Efw7sxwVLuwmoaC3n5TpMCpAEdY0dtcclTHzLDgzb9Rb924xyiBrh
         cQAliMa1ZXtXF4bmbhhz3Ug0CUodzSs6JVjfd+JwUJoi8dkG/2MgGA6lSBW3WUECunl8
         zDE6AM/9SoeH0vBRXl9WU0jGqZ0FSrRV+HzHN/KnQWrTREzCQKJuAoUbwUav22jyPbwt
         ujdIrTCLwK8Bxao+xBUFzmq/XZLDdBG8GX8mCYOd0VqtCFn2f9W0oYhN3mHtoZVafHHe
         ywkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973520; x=1742578320;
        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=cOa15ppvF5kxsldjPkSIJYe5T0c824L9GaUvR3via0Q=;
        b=FPCuJ5zP7T9BmqBgkR6MQ6WOZqfhteZTn5lM18Z9ydo06hRk83eoU/fyhA1+YY9Xol
         Pkh2yI6QWUeLiQQUzXqpCcFTgUJsEnS+Ih+DRx2l0bgOLqHxInZrotwJOlbwcVR3k54A
         jLGe7DPQnpkStHrTauDOQOw6Et53h8K99kvx4HXRWDO3WouijylQFdO0Pr4x4v/Lbk6H
         SKxMu2BI3Huposc2z/h6KtngV7RSOZ5bLlRciNHHLwNEdzicln7f+YFfhrVp/fh9rth+
         HZx77Kxl5wtBEYM82Bh7w0TO/DSR0x0UBduqNZxT+AfFQ8wxnff/FBZSi49tk2nSxOt9
         4JKA==
X-Forwarded-Encrypted: i=1; AJvYcCUrOsKqkR3Ji4BbYarCetAwwCjg2LLDx/dVDlSkPhAPUPvAnKYPbpesJL4xMtxnIu/5l8Oj2OVm3Y0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzK2pFV8ZMk0FXrCLRUsCqzwyxTJvtOiE6HultAH5VKg8Tpv52Y
	Nt6M0vW/JtWzL75/0PAS+eAV6GNmCdSBXVFSgk8TY7NAiAlVAYfJWmA+UXW1ol0=
X-Gm-Gg: ASbGncu6Ak5Qlqzr5N4Khhnaba+BXOHD+aGaXTSpiGoKtTW0IdBRIxgEYWk9TOIVsIG
	ZU4Q1Qkjb2lq7QD18sgoxQiGR75VR2j4p74vojVT92UfcxV6EW+cQ4XZW8tmIYje5f3v2pC5qa6
	xZ8JepjZgyh3QxX2w9Sww5mLejtw3khk7EF4LIqzRxdX/XnAj/Yv7BnHN36Bt/SsXGtC9f4j73O
	41+fsKkPequJveba4viYvmbPssrqbhZitCMNagjb/FjfG/T6wFg37+LWxkuF4zplr3CR2/gln6N
	/yflgWVRHe7ayoe/ykvkW1CycJsiAfwrGNyrLFm1UkZMt6/vYyLzKUQ=
X-Google-Smtp-Source: AGHT+IFlQhNJcOD04DdXfXRzIQFpLw7YnyShzSPUUYA1tOEz0vWyEbVCk22Q9xZ8telIqsQxDa+sSQ==
X-Received: by 2002:a05:6a21:4a8c:b0:1f0:e42e:fb1d with SMTP id adf61e73a8af0-1f5c1326a41mr6196288637.36.1741973520104;
        Fri, 14 Mar 2025 10:32:00 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 13/17] system/physmem: compilation unit is now common to all targets
Date: Fri, 14 Mar 2025 10:31:35 -0700
Message-Id: <20250314173139.2122904-14-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/meson.build b/system/meson.build
index eec07a94513..bd82ef132e7 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -3,7 +3,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'ioport.c',
   'globals-target.c',
   'memory.c',
-  'physmem.c',
 )])
 
 system_ss.add(files(
@@ -16,6 +15,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
   'rtc.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:44:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915156.1320739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt95O-0005d7-5G; Fri, 14 Mar 2025 17:44:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915156.1320739; Fri, 14 Mar 2025 17:44: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 1tt95O-0005d0-2c; Fri, 14 Mar 2025 17:44:42 +0000
Received: by outflank-mailman (input) for mailman id 915156;
 Fri, 14 Mar 2025 17:44: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8tI-0000xy-5G
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:32:12 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3eb861af-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:32:05 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-225d66a4839so27413145ad.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:32:05 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.32.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:32: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: 3eb861af-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973524; x=1742578324; 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=EBRugwqnxw4q7Phz2P050i5IjB6Zbf1WGwdoEilqtkY=;
        b=caI3rs+otVvKwdYgVP5CABrao6jK8ZQ4qsXSHgTDeZVHflhBu1lzgdBXe4Lg4RXQ5A
         M41IXQcZXrBLJB8OvaNtOQZ+UZCDN8k6Bub1l7Yd5EH7XHqVODJPnO06KSFRWtJBjoy8
         4GbrRFGUN/Pftvj8aniUDgbewPtRWzB4eTWO+++QEQ6N6eDmnbhD/nE5/S/LTQ4+I/9v
         6TRbr9bBscERKRtaNi+gCnfpzxnqGR5qo8c3Nbsm56Ew/UaSzrBOfpilrkBNcUzXJHDw
         zdS4XDWIEM7KLzP/XpJ5pajJHdD03PAVMJKpE6AMJTkeg70fal5gGTYQsdD//Nr2xd/b
         t7ZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973524; x=1742578324;
        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=EBRugwqnxw4q7Phz2P050i5IjB6Zbf1WGwdoEilqtkY=;
        b=Pqzt605BO7PgypEJH1dr5yXVekwjJ/nLweebbWM1MiYU49gUvifPWTz9IQzWeCs0Tv
         EGHtgkqKRgQagTeFhgUt55XUsLh0cPOzOPMcTWQYuyrzYAcwwlfn6ii010h8/7rbzLWC
         f3yow7nML7hY7asdKKDuF1U0ImlJ/KTvvr/YZRY+ST8zC41+NzVQgjFtotwSqQM+ldal
         74ArdOm+Dmsjua2PoSDr+bmL9wOLpfaExDFbFziHHjCSLk3Szcw6Z4ub+NP04ZnDRVam
         ahLa4DfGYiorx6+l9JWq8eh+6es+4HOyXbP1jKyLciddDKenVJ+7LBgIBbZtVwQkpSun
         Rt4g==
X-Forwarded-Encrypted: i=1; AJvYcCU+TwnzkuWPR5xiq0kTUnjTjYt2p8nftX+F5jw/rop0PxtrVzWBlY88pu6/222h5DwItSvTEGhsFGM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzK0IRrmoqvuGfVdy7ig7SgMYqiuhDXe7oDqOr8fNKLjw5qY3B9
	YU0C3Sa77lZd52OxYv61EyWx9TurJWwYloMVKqyhK3LtU3Sxwf9SlD6G1KeDcG4=
X-Gm-Gg: ASbGncsM1eJGIt92tX4FHYUoYsMaTTdp32ES+hkus3V2ocmpIhxJXDYosbaFdNQVkzj
	syKqajqievP4wEP4+Ehr9jA66rzjSGEheiv2KVxtPws4v7h9aPrLZ0P53mjoINbIR6ExCdwJvYy
	FYHR0R1COZsr1AkR3RPtiDv0IZJHJ84RMCr4jqoyZSa01AiOmY1UvUbBYcJK5TKoZcnX9nX7bhC
	peXNG+OsHuow7xro6KTuceMCMkXWfVa6uFzLzKCzYN4qI6VXLlNkAqlUiE3AfaB/kqQ0muH269W
	eQURxi0CIXuxYjrMnhKr1b3wYwGBPQeKw6xQ+tEOKOc4D24AHK33c/g=
X-Google-Smtp-Source: AGHT+IFTScYSX7clzsDQUywbpsrF2iPQsXcqATUvOkRpCep5DuIqTnkqpSfhY4o7FVAe26d7sGjRdg==
X-Received: by 2002:a05:6a21:1583:b0:1e1:a449:ff71 with SMTP id adf61e73a8af0-1f5c279ef94mr4638551637.1.1741973523678;
        Fri, 14 Mar 2025 10:32:03 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 16/17] system/memory: make compilation unit common
Date: Fri, 14 Mar 2025 10:31:38 -0700
Message-Id: <20250314173139.2122904-17-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/memory.c    | 17 +++++------------
 system/meson.build |  2 +-
 2 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/system/memory.c b/system/memory.c
index 4c829793a0a..eddd21a6cdb 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -353,15 +353,6 @@ static void flatview_simplify(FlatView *view)
     }
 }
 
-static bool memory_region_big_endian(MemoryRegion *mr)
-{
-#if TARGET_BIG_ENDIAN
-    return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
-#else
-    return mr->ops->endianness == DEVICE_BIG_ENDIAN;
-#endif
-}
-
 static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op)
 {
     if ((op & MO_BSWAP) != devend_memop(mr->ops->endianness)) {
@@ -563,7 +554,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
     /* FIXME: support unaligned access? */
     access_size = MAX(MIN(size, access_size_max), access_size_min);
     access_mask = MAKE_64BIT_MASK(0, access_size * 8);
-    if (memory_region_big_endian(mr)) {
+    if (devend_big_endian(mr->ops->endianness)) {
         for (i = 0; i < size; i += access_size) {
             r |= access_fn(mr, addr + i, value, access_size,
                         (size - access_size - i) * 8, access_mask, attrs);
@@ -2584,7 +2575,8 @@ void memory_region_add_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
@@ -2619,7 +2611,8 @@ void memory_region_del_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
diff --git a/system/meson.build b/system/meson.build
index bd82ef132e7..4f44b78df31 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -2,7 +2,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
   'globals-target.c',
-  'memory.c',
 )])
 
 system_ss.add(files(
@@ -15,6 +14,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'memory.c',
   'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:44:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915164.1320748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt95X-00069u-Cn; Fri, 14 Mar 2025 17:44:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915164.1320748; Fri, 14 Mar 2025 17:44: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 1tt95X-00069n-9n; Fri, 14 Mar 2025 17:44:51 +0000
Received: by outflank-mailman (input) for mailman id 915164;
 Fri, 14 Mar 2025 17:44: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t1-0000Ih-PR
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:55 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 386284c5-00fa-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:31:54 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-22423adf751so38666135ad.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:54 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 386284c5-00fa-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973513; x=1742578313; 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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=ZlBWg/C50fgRCQKx3VdhVwkCE7wGu+inb3yfO5DGyn93FBZsQmSbrEPA5sdeN6luwA
         +lFsC/m9IHRtIkSz/C7IYF2+hSSjMFmStsujqvFbezUEM1jc8CAfy/MslUQPx/Xl6sMh
         djHskUrqwZFXrRgeFTt5Y15Cavu51O4lKC0h9qyNGYVEljGuj6+h7hNZtj0op2Wqp0WQ
         doijzRnu2P8p/72O5+HKprOtug5B/3jhg/Io3L/f6aqPrPFfOGO2CDFOxABbGQU0jSdh
         BDrrgUbmzQL9PLu9bW3QZE5er+/cKHdsM5CJFtwyE+upCmtpIMmPgBhS8hB45HQ8lUkR
         bAEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973513; x=1742578313;
        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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=TsJN60KHYiHWFpbMW898+K6zW9ENsNwiSOTVS0bBGfZ/eYxrY9320hDIPp9IvSa7TT
         KW6N7Vvr5NIzLvGRwrwF+PUSlzgl26HWE5NznglMmIgZJul1NZB8anaBDbwIRBw0O5ZE
         mQxdVDc25+IXbPEC+BgtOvDWMvQxm15t3ER9hsi/rp3YN6NqqFGFcDVYAQW3PhYz4RMw
         Be+cLE0tRyKV6PsccK6h1LlJnmbQJuiS9SU7grwQOc1DWusSHxjI3I+YfbgLMKSXovFt
         TpbzvLbEsP5oN4xBpIjDv8hRH9IQcJstX86vBLdJqwP4lF4/L80ftnkYsnnjbP6zK3vP
         CQVQ==
X-Forwarded-Encrypted: i=1; AJvYcCW41yxaSeXsVWxjMfV4WjEhl0OoewJrRHajY8RR4O2xGVzjASqMJ7ik3Dz7dSdd0qfIwm256OUaIxQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7h1qAspzduGXsjbwuXnPGDZwS7HUThE8CxOCdYucLTzwT36nA
	kWuSFi85WXH6WExhCZ0FeduydY56srBG9PYzjXgiV6WzhA/b+oC7SnMunFhUxVg=
X-Gm-Gg: ASbGncsyTGeNVftcUmY3+WePfRraOay2w1KlOnoheCJXA/q6d42kv8NHOtfMuValwc9
	ELuwbKEzhbqNgAGFbXk9NAiq1sBITFiU0Itg4EU72QZo6CsFqcAB9dBBiW60q69FJoHWsIcJHaP
	FwWfCvZc2QKrKIwjloF4ySbSDmHAuWKbIksr44YEbBapCTzr3GGBMwUIXl6YW5gP4BDo1K5KeJ8
	5nNDDWVATJcyctSRZNzWhJn+s7hxQuQfJpDYqpaJam3iqh+UDOd0IuMAcn7Vj5vtH6ADRhdfAr4
	Bfg8ypvhgBGxpvjTSgQg9cxbO6Ou+yuHlZTvrrrBdLH5
X-Google-Smtp-Source: AGHT+IHKJWanCd9a3ngVFjdniRCV0nA3qgwDHy2sNxgD5gHXjvzGRnW7PF30BgY1b31dJB7uC0Yy3g==
X-Received: by 2002:a05:6a21:7308:b0:1f5:64fd:68eb with SMTP id adf61e73a8af0-1f5c1137439mr5964561637.7.1741973513079;
        Fri, 14 Mar 2025 10:31:53 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 07/17] exec/exec-all: remove dependency on cpu.h
Date: Fri, 14 Mar 2025 10:31:29 -0700
Message-Id: <20250314173139.2122904-8-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Previous commit changed files relying transitively on it.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/exec-all.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index dd5c40f2233..19b0eda44a7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -20,7 +20,6 @@
 #ifndef EXEC_ALL_H
 #define EXEC_ALL_H
 
-#include "cpu.h"
 #if defined(CONFIG_USER_ONLY)
 #include "exec/cpu_ldst.h"
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:45:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:45:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915190.1320764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt965-0007HL-U5; Fri, 14 Mar 2025 17:45:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915190.1320764; Fri, 14 Mar 2025 17:45: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 1tt965-0007Gg-Pp; Fri, 14 Mar 2025 17:45:25 +0000
Received: by outflank-mailman (input) for mailman id 915190;
 Fri, 14 Mar 2025 17:45: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8tD-0000Ih-Rq
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:32:07 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f6763f4-00fa-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:32:06 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-225e3002dffso13001315ad.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:32:06 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.32.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:32: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: 3f6763f4-00fa-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973525; x=1742578325; 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=pdsNHldr91xnqdGHk1DTLXuYnmkD/cCe/HKmA2EoKL4=;
        b=WswtqiDOjjyqH1FZhOiRRlf8vyvPmyfFHu3YMvOJO4G5ypHBQ7zRXqPAK6eo8p1MK8
         fsWM+gyq2gLkyYbTPkfQPmgTv7vZvMhdeNQN5VGPPFaEf4TdvBw9jjzyz3phJbWAd+Fx
         CySvCzRALBhz568snOCpyyRoQlWZRBsZLgVbCxCQmfL52jDfkSbgg/jA7UWVGvKxhu7o
         GX0B85RXXcuWqCoD14gE5ckzoG0VivtqW+lQ6XmfHky/JUjZ3ovRp/OdK9gvsDALdMvB
         Pb7RuAcJlV27IlFCI93/PlLAKZUT0RkI7tTlLw/6nkHH+ITzab2P/9jWksUSfyulTNQ3
         6iwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973525; x=1742578325;
        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=pdsNHldr91xnqdGHk1DTLXuYnmkD/cCe/HKmA2EoKL4=;
        b=VQPZ95oUEJgV5tpT7+9V7fYvJqNNNdSxdjCrx4TrJj2cHWrbHHU2D/3YQCuJyWbpja
         fHQ5B1tWGq31Q91BF+sRAK5TegufHgMdmYrhgz6Lm53u7qGOrOaauN+5DTlnmh7AxQyf
         7oK6Ck4Qte4zcAqemCM/eUEvH1uKY36NNCJLbY9yp2LyPyAmozn+SEENP05YWXVad1+Z
         HozLm41AV1p5nqQcH8r+j5xQDkkkWh5A/l9/c6pN2h2AJuJB1fXc51acnoJ4Ntos+nyx
         ov/Y/ip8JlwiUuuPCOqSfkSwFGpcVnwoon0Yum42bKwztXxx2EkKlBIykAGED+JEkdLK
         NIRw==
X-Forwarded-Encrypted: i=1; AJvYcCWgQ/GOeRpL3a4e4N1EYFr+7cOKuZjwV6BMiYWdrlcK7Nn/TWcstAUloOnWbD9/jcPHG3lJ4UB4mjg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEzhzpfKt6RfWz5Os44prg7GqzvC9ujXtNRzMeEiXbu/fBuX3u
	JJQ+iI+Vk7rCwoGTTfZlEcYXXxHtJRodjceurw+kSxbrwjpxaYtPQAXZ9+ODInuyH75NxjJNF1y
	7oW8=
X-Gm-Gg: ASbGncsu+T9QHyuZ93yftegTEWJYs9kJzEXNU3Oxon/aT3x3FklbBNGRm9n95CttW07
	kEus7pKORgHHj5KkGjNcjcWUAVipAI7j6g8DEYaiRakupRQPpahXfdxaROKgot41IrVzfLnxDGk
	peI6SghwPXk2UFA4rJejEwIgh9jMEDWWkRd1vlWxM2ByGSturan9YFV9pxlZJygZJq9ynVKMn82
	I32kwwuwpeZtjE9WmBrSpnPEBiQBlCIz/AF0t6Y9QLYUcYRKOzfZ2Ec2gIRae5dopla3uYT6zv1
	Zx8nur0x1zdkBJCvQuLx12fwh/aHWL9ix73bMnQkYeZO
X-Google-Smtp-Source: AGHT+IHKE9NhNFaDqc44peROMWsjYJioKgZvs6KA5f3lAVTw3ISh5g4Lmu4Vqxy0jtgBCp9rXQffRQ==
X-Received: by 2002:a05:6a21:1f81:b0:1f5:75a9:5257 with SMTP id adf61e73a8af0-1f5c1174fd0mr5240657637.13.1741973524846;
        Fri, 14 Mar 2025 10:32:04 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 17/17] system/ioport: make compilation unit common
Date: Fri, 14 Mar 2025 10:31:39 -0700
Message-Id: <20250314173139.2122904-18-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/ioport.c    | 1 -
 system/meson.build | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/system/ioport.c b/system/ioport.c
index 55c2a752396..89daae9d602 100644
--- a/system/ioport.c
+++ b/system/ioport.c
@@ -26,7 +26,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "cpu.h"
 #include "exec/ioport.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
diff --git a/system/meson.build b/system/meson.build
index 4f44b78df31..063301c3ad0 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,6 +1,5 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
-  'ioport.c',
   'globals-target.c',
 )])
 
@@ -13,6 +12,7 @@ system_ss.add(files(
   'dirtylimit.c',
   'dma-helpers.c',
   'globals.c',
+  'ioport.c',
   'memory_mapping.c',
   'memory.c',
   'physmem.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:45:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:45:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915189.1320759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt965-0007E6-LO; Fri, 14 Mar 2025 17:45:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915189.1320759; Fri, 14 Mar 2025 17:45: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 1tt965-0007Dz-IA; Fri, 14 Mar 2025 17:45:25 +0000
Received: by outflank-mailman (input) for mailman id 915189;
 Fri, 14 Mar 2025 17:45: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t2-0000Ih-PO
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:31:56 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3921d005-00fa-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:31:55 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-225df540edcso18252015ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:31:55 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:31: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: 3921d005-00fa-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973514; x=1742578314; 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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=V5rmuXD8nWsXNhY1khpybNrFRHhbhyAbm2iaXi2z0QfGsXtUiQfab4cz/U+CORmBfv
         /fFdnkCWgx0r91eunHAvsL5cOCKg76acIGXdRcEu+pJQ4/J+X8OeiKjWUoq8HA5JNMh6
         vtvLFQ0Bs4c/pP1HX7ivEl7lEdy6vm99bzb0//j6j15z2TZOORSoUn6NXnFThaDlFI3t
         5BhlqNeivS6WqDaOKZ76lNEN9thE/ZckWnOMGFG0aYkON9qHzRrJwThB65vbLGe+CNck
         H7yBzhs3Bue8B0TnBrMO835E+b7FINaUdstcXN+dKsfmbHKF1ruVjoogVhnGxulO7Rjz
         Ys8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973514; x=1742578314;
        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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=Mml7+KoCKt5HS2ExPRgpBkttETqAsjkuWXlpOLxCHDzOWnXYVZnVGik9FGq9fk8GPl
         0mtfYoEH7E7tw7Sq+HxdHb4dExur8/G2OMxvH0BEEHr2a0BAHAk5F7gnQNBdRit6MDOL
         AkIpN1mH8Bhj5p/hYDkE3RSHY6YXVi9czwRS91PUgBDDmnFUvomtC2plDZJj3I5nni5M
         hmxVKIWA1XrAsJR4reo+b58Ggh/1a2JeW+1W2pcQwTHqFlMQg/bmFnaRUEUCBYYUo2OK
         9Q2bN2z1KC8ILg1DbLCQL+bJEbYwxjoAI90qc2z99+ixdAkp2G1VnXY00hOIuJCvhh/n
         uiYw==
X-Forwarded-Encrypted: i=1; AJvYcCUhcJpP7RrIleIXl0dQ8wo7sj2Sud1I/mq1gCYBwRkzZDT4cnXx69fjoIvAfB/ktSMvjNErgdFsNKI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YygjxFEdc/VPH4bwpViAcmOpAb4x9eMlzyqoGdQc5U8K/3a84wd
	A4ssW69ydjqvEXwbQUyu4RWhUcC49FHgTiXgpUuYLQZrRHbEJV02udD1xgW3XIo=
X-Gm-Gg: ASbGncsfD5m/s3AaOmZriCNBbCam2D3wMFCF2cSNaILeCalGzlf526iIuZ6SD4ZRmZT
	zdDmY+4acAafS6jBupKgweCL3DyXrDD9TEuZpjHQTXmyJuMQ3vpdrEYxQfnTjes18UBxVpiV9YB
	zA7xBlsPcetCVjBEznA+utIeiHLOvZwJOM3OR8K/VrZ2aTMi1Wf+e2qc8RNUDe2lWjqKGucdWyP
	Pgi++nqPJf8zctdRohfc/QtRisCull4sFxhBvLMQusHYDX0lBvTgXzBrB3CQIpCc5sPU2y3F9xs
	t2kVR0FYVVnLXjN+iiSVBLpXs714nroJ9SsDjbPmZQp1
X-Google-Smtp-Source: AGHT+IGePgTU4KS0V7kjk76bTSqsHMsJJFpsZKEW9Y9cBbqNQCd9EST3S+oni0XLMdUtO/XVrzydIg==
X-Received: by 2002:a05:6a20:728d:b0:1f5:9cdc:54bb with SMTP id adf61e73a8af0-1f5b07bb133mr8380424637.11.1741973514284;
        Fri, 14 Mar 2025 10:31:54 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 08/17] exec/memory-internal: remove dependency on cpu.h
Date: Fri, 14 Mar 2025 10:31:30 -0700
Message-Id: <20250314173139.2122904-9-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 100c1237ac2..b729f3b25ad 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -20,8 +20,6 @@
 #ifndef MEMORY_INTERNAL_H
 #define MEMORY_INTERNAL_H
 
-#include "cpu.h"
-
 #ifndef CONFIG_USER_ONLY
 static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
 {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:48:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915204.1320778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt98s-0000FR-Al; Fri, 14 Mar 2025 17:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915204.1320778; Fri, 14 Mar 2025 17:48: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 1tt98s-0000FK-7c; Fri, 14 Mar 2025 17:48:18 +0000
Received: by outflank-mailman (input) for mailman id 915204;
 Fri, 14 Mar 2025 17:48: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8t8-0000xy-31
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:32:02 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3bde3c3a-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:32:00 +0100 (CET)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-2232aead377so53470325ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:32:00 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.31.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 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: 3bde3c3a-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973519; x=1742578319; 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=WZK4IDfbpcoj/UHXYNBc9hj61CH/qnmJNHrSERoWz24=;
        b=DtvnofA2cwOvKQdqOYyIlZHF9OU+ooy98NIk34RWvL72bnlq6SScyRvYNa5xUcCYg1
         3xmdFi6aeSAs/E30H9bNxVREj9QN1flnnEmqTQKduPcEGh/oXtJldFVNbn2U3xV9aob/
         EtUpN48K7uIHVwAaMz1EkOSb8IagOTKrRhK9Dp6uKrP0VBdNg+HQaeGdQhFo6IjgrRk8
         +K+bFjHgY+eUHR62SYcj4HE0yPNTiGa9xJWrVwb4Ck7Y1eY/0+LSv0VuuNzFTvTDkT76
         i5z65eClMSGZBLIsvJ6dpcB1KZiyIgIEoRE6Eobuc2HrVBY+rjS2RfReBxJ2fZoj2TB/
         30Cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973519; x=1742578319;
        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=WZK4IDfbpcoj/UHXYNBc9hj61CH/qnmJNHrSERoWz24=;
        b=w2XHGqBQUCBkZ4O0WBuonsmoIhr1cIIrvHfAKgrxFcD6M4aq7gQ09XdOT8mKhdPzQm
         IHKrdlA0Tahz83m1r5g2yoY7zrKRM4iWFdeL9AkTq9hjcrrxk4j9ZNqFpSu/05GOaCHj
         73DCkl6u3bVFaM2bUHcaVZSFRG8/O/v0mb3H78the8Q2gHRQ/JNVG7hDUxSKrj9cTZ0R
         sXaQtYWgcGmuxlydvnOj+oihrCfaTuq2tLxte/Uwlj2nb3ENK5QpNED2uJAfN8o2pRGB
         J/toQuCSAT/SU38mC/cJXU3xW+IIcMSkSDIK66Zr+DfFtRLGNS/jffleMLoib43tnTGi
         XT3g==
X-Forwarded-Encrypted: i=1; AJvYcCXKEiEBZRgkpEQMXOpdCcJ8Eo36TwhmpNT+DVnIJw7WOa8rJFi7XFUBR+2UDm+txgYgHPljLXPlwVg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwARH0aOQTqBG13J/2MYcotMv1Yodava9Q823WnsF5OOKPFK/nN
	9e8DSHj6TZMRwbtAJnOtE+iQVCzS/mgoVqn0Ym5kfxdpnCBdedfm7fgm7Xj4NYo=
X-Gm-Gg: ASbGncsrEFWodoEwL8jtrM2cUVMtMatI2Ege+Sv3icW3WeF/TEPwNQdjCM5FFbehg71
	qww84B+pRXxgp8XHa+WZMKYryKG7prBksg12jvoxRp8kSF3BBpjKVgFGg59WUyb9Fsp5WPyMpo7
	VIJM6Q9RuOxeiiTflj1OgeOkgNdKJOZvcYJ0RFQKY+lLajYhYHYfsULhCczpuNtnsVRt78Rn/mg
	fO58xoCc4je5yUxyc0W4LbTUJFVz3AJgaOmbS3hDN+iMam56cE7W5Utuwtyq2waSK/e1YImjehg
	A1gGbbDxFXWYCJ2AMQaMHge0hmTU5gPCrUoGY3hvpC3P
X-Google-Smtp-Source: AGHT+IFO+PDwMeyLa4EGhItdNdod3PivHdGg2tuOsQqj5N7me/+24tmsBkj8Jw+BltKmizpirWlssg==
X-Received: by 2002:a05:6a00:b4e:b0:736:533b:f6fa with SMTP id d2e1a72fcca58-737223bf5e7mr3790179b3a.13.1741973518933;
        Fri, 14 Mar 2025 10:31:58 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v5 12/17] hw/xen: add stubs for various functions
Date: Fri, 14 Mar 2025 10:31:34 -0700
Message-Id: <20250314173139.2122904-13-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Those symbols are used by system/physmem.c, and are called only if
xen_enabled() (which happens only if CONFIG_XEN is set and xen is
available).

So we can crash the stubs in case those are called, as they are linked
only when CONFIG_XEN is not set.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/xen/xen_stubs.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/xen/meson.build |  3 +++
 2 files changed, 54 insertions(+)
 create mode 100644 hw/xen/xen_stubs.c

diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
new file mode 100644
index 00000000000..5e565df3929
--- /dev/null
+++ b/hw/xen/xen_stubs.c
@@ -0,0 +1,51 @@
+/*
+ * Various stubs for xen functions
+ *
+ * Those functions are used only if xen_enabled(). This file is linked only if
+ * CONFIG_XEN is not set, so they should never be called.
+ *
+ * Copyright (c) 2025 Linaro, Ltd.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "system/xen.h"
+#include "system/xen-mapcache.h"
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    g_assert_not_reached();
+}
+
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   struct MemoryRegion *mr, Error **errp)
+{
+    g_assert_not_reached();
+}
+
+bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache_entry(uint8_t *buffer)
+{
+    g_assert_not_reached();
+}
+
+ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+{
+    g_assert_not_reached();
+}
+
+uint8_t *xen_map_cache(MemoryRegion *mr,
+                       hwaddr phys_addr,
+                       hwaddr size,
+                       ram_addr_t ram_addr_offset,
+                       uint8_t lock,
+                       bool dma,
+                       bool is_write)
+{
+    g_assert_not_reached();
+}
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index 4a486e36738..a1850e76988 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -9,6 +9,9 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
 
 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()
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:50:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915220.1320789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt9BM-00022D-Qz; Fri, 14 Mar 2025 17:50:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915220.1320789; Fri, 14 Mar 2025 17:50: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 1tt9BM-000226-OJ; Fri, 14 Mar 2025 17:50:52 +0000
Received: by outflank-mailman (input) for mailman id 915220;
 Fri, 14 Mar 2025 17:50: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt8tE-0000xy-4i
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:32:08 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d3af37e-00fa-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 18:32:02 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-22113560c57so48295505ad.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:32:02 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56e9cd03bsm2990529a12.8.2025.03.14.10.32.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10: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: 3d3af37e-00fa-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741973521; x=1742578321; 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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=eLhi9ASUnkQSDHrVRruCp4aY65MBDbjFSUxhDau/jAY0dmG67kOl5um9BggkoDDvep
         qz6f82MgXvqvevm2I/F1pLpb78hZtuIpotUNYuFUKyh/c4AEEwxwR2vHoQL3g2YodYrP
         LZ9rfrWVaJuOfDZApwxfEPVwmCNV/iGLwWfcpHyDfaDNBFVojg/WTon5ze2FCDpnCAF0
         /Vc2O4+CsoJYgOIVHJBzMO/4frUKaf0k1QSAIAuzhE3LmmqW1x8pRVLwvvWvtesuVP1v
         ZPs7zNwtMXDcS/hzXBf9gOD35fcJtWfaYuv8MkpCXMc1zNbiR0vSD/+1Y1e9R0N/0YOA
         5Xkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741973521; x=1742578321;
        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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=JwdlmsFh1ymOkU9N/abqyDoB0r5W3BM97VujJKKJCPuNQfGDeryGhOo0XWKXvpZewr
         r3ZXc6uL56gO1gMJJaafEp12Xj9p87CNYrjd7n8/ECqh1dVJ7eTcabZz93jjuHshoTAC
         ezybPaLAg0SRSSwf+ZDgRh6azsQ0nAOgwVMzWMu8WIh0Qy5qiMuDd8bTGiytFTxtSX5/
         CLPxWXZCQq3KoczLBrC/D19auC2jLVy+H//hPja1iY48MCFMuZE47tRMQgg+pqemfH6o
         KcOvfYJOwVCdpWQgEyI+qEg6Ug69UCV2FErf8Dr2k/vJ8IAqyZe6Zb1ZAWrM0RQGq977
         CgZw==
X-Forwarded-Encrypted: i=1; AJvYcCVXyTqPYdA3CHu8UIjwH+FyQE2u4knDrtqgbz9bSZxbVqzCFh8Q7MTuhHWOJyy37tYNRHo0D6j3Q7E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx0y3IAGxv4lJ5J91uLcLYEaTSCI3J5tIORT74d3jAWiMeWJsIo
	PTQe8SzXE0stQerEIs+/l7B09MpvEPR+e6S3t+X6OVwTWREZzhZAn0atM2dPVoI=
X-Gm-Gg: ASbGncsze2Bn0w7C+JxnKxMlUc4Peo474lBzacK0SV+OaPL6CUfalhPhkF2J+YFQG3j
	ppkkfFlDc4tYk6C4kpr/HTXJj2JAmQ8ycbEbwn6vNoK4xxu3uwE/Hh5k5OvhL5X0/73ZH+Zoqie
	0U79a4zViOiVFnBJsTSNyfYx8S/89MY/N1WJ57GrBo1EXq6YgU9zTb4ZTiSplYg4J1OqnoIHhEz
	puxzX6hicuskORua0ezntav3y/Mw8lnEle62xRftIK8stp1/EIydW0ZNdm7dYTPu5cI8lP5qb9k
	/ueH7m0JlxEpZ5nnKMM3mEqtOUIA8TW7hDNB7yvOVC4n
X-Google-Smtp-Source: AGHT+IG6cCxvjsVBwzL07VH+mus/++8may6iqII6GPehxKvNj4VKnHVcl4393YyfiqPTiVq1ksSu0w==
X-Received: by 2002:a05:6a20:9c8d:b0:1ee:efa5:6573 with SMTP id adf61e73a8af0-1f5c113f552mr5261243637.8.1741973521265;
        Fri, 14 Mar 2025 10:32:01 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Paul Durrant <paul@xen.org>,
	Peter Xu <peterx@redhat.com>,
	alex.bennee@linaro.org,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-riscv@nongnu.org,
	manos.pitsidianakis@linaro.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Anthony PERARD <anthony@xenproject.org>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v5 14/17] include/exec/memory: extract devend_big_endian from devend_memop
Date: Fri, 14 Mar 2025 10:31:36 -0700
Message-Id: <20250314173139.2122904-15-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

we'll use it in system/memory.c.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index 069021ac3ff..70177304a92 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,16 +3138,22 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
-                       ? target_words_bigendian()
-                       : end == DEVICE_BIG_ENDIAN);
-    return big_endian ? MO_BE : MO_LE;
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
 }
 
 /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 17:59:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 17:59:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915254.1320799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt9Jr-0006Ca-MA; Fri, 14 Mar 2025 17:59:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915254.1320799; Fri, 14 Mar 2025 17: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 1tt9Jr-0006CT-Jb; Fri, 14 Mar 2025 17:59:39 +0000
Received: by outflank-mailman (input) for mailman id 915254;
 Fri, 14 Mar 2025 17:59: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt9Jq-0006CN-Ly
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 17:59:38 +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 1836c485-00fe-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 18:59:37 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5e5dce099f4so3131782a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 10:59:37 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3149cfa1fsm251163866b.87.2025.03.14.10.59.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 10:59: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: 1836c485-00fe-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741975177; x=1742579977; 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=U670jsvctPqXX5fSqI4atnmohsDFygF+IFyoLRBvxbM=;
        b=Ir2SHRg0t75cKumELtO6Ky1ddDijqLazFIR/o8KeuF6x0r33gLZqJmc0c3v5DtTAiL
         9lvSCzykXrVTs+/7VcVUfiYd40V52xwqRGYgdluXCrTMutiTCXMOF9dbNrXEC1zks1+K
         7dNuywsKntowcVwY0dmpNSZOjDNFhTjjdvu2Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741975177; x=1742579977;
        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=U670jsvctPqXX5fSqI4atnmohsDFygF+IFyoLRBvxbM=;
        b=rH0PDW4p5jClODpvFTalMDrDokAPNFdjS8o3HTdIPmBfeTGEt9AWvlP0y3I4cp3bg6
         SCOzog2hR0kkz/CtpqNvm1afkPfr6RnnpNBl6T5fZOOMw8uamqlwHQnOthUnNyiTII6t
         yz7ivwZafFITZNJQRxK3FQXvDHfyA+7Aq2J1cekKX6PoqnilQeO/Xqc2syo99fguX6jK
         CUIsb4p6PJzqjGUhd34UlUjskySHAYcLDk/GjGw7EyLQsQTDl+ER8msB8Q6lhFYrTd2f
         cuCL1I17Q0SMWKQDqMXZlkxpFprsBlcdBMhZFkkf1D2cf2KEhbOTPSxMuONyQC4d3arY
         rstg==
X-Gm-Message-State: AOJu0YxsE/oR27AWkb6JUdVVMIzAb5swFgaJDzrXQB+FlOvRPkXjPCy4
	cglug3I3N/HAaaunrBsj8p8gCm5Y662dqa53oHK0kZeWEaLeFzokV2lRE3OqlDRArco+ubPh6O5
	9
X-Gm-Gg: ASbGncssVCJmKThKq0BIxL6kTmZmXSscmnx4zlhy6ctSIJI6OEQGuv1K4OEtACAwZYi
	nrcxxVNeTLzRPB0GDVVdJJ74NpPFk5y/jsMNJcCcghi7QzhHx2gwENCoj4LG0Z1rcTc/gQA5Wfm
	9dtwDwR6Z4LCD9LIxFOBI2L5Nc5WhGn+xJ6twNTQo13Om7WYQ7eFvKX8LFpyu14xmvn9UHhZX+5
	SppZp8NYqKfC5ki3Vq3mczl4fOiPaoXe6boy88VW7AgAS5+6ELaJDeg6NZJBNJfvevEl4k0xth/
	1dHbBGAj2Jz9U3uYDJAtyimu6OkgPqEK1+rzRYdZPPEZG0LXu9Dn4ka0/ACL6FcUB9uFusN2FDV
	vbJeNTlYrR8TAHyecYrcKxfMA
X-Google-Smtp-Source: AGHT+IH92REWPLDOf8kXJGp7G6WdUOt4q4r3ashPc+VSD+gsCQX0U7JK2l4N0vND8ZA26c5AFHAEEA==
X-Received: by 2002:a17:906:dc91:b0:ac3:10e3:7fa5 with SMTP id a640c23a62f3a-ac3302c05d3mr403147666b.21.1741975176868;
        Fri, 14 Mar 2025 10:59:36 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] xen: Drop __text_section()
Date: Fri, 14 Mar 2025 17:59:33 +0000
Message-Id: <20250314175933.67422-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 an unnecessary indirection.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
---
 xen/include/xen/compiler.h | 1 -
 xen/include/xen/init.h     | 6 +++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index b118e4ba62eb..301c9af29553 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -72,7 +72,6 @@
 #define __section(s)      __attribute__((__section__(s)))
 #endif
 #define __used_section(s) __used __attribute__((__section__(s)))
-#define __text_section(s) __attribute__((__section__(s)))
 
 #define __aligned(a) __attribute__((__aligned__(a)))
 
diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
index 0a4223833755..037ff0dbf8ff 100644
--- a/xen/include/xen/init.h
+++ b/xen/include/xen/init.h
@@ -5,9 +5,9 @@
  * Mark functions and data as being only used at initialization
  * or exit time.
  */
-#define __init            __text_section(".init.text")
-#define __exit            __text_section(".exit.text")
-#define __cold            __text_section(".text.cold")
+#define __init            __section(".init.text")
+#define __exit            __section(".exit.text")
+#define __cold            __section(".text.cold")
 #define __initdata        __section(".init.data")
 #define __initconst       __section(".init.rodata")
 #define __initconstrel    __section(".init.rodata.rel")
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 18:08:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 18:08:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915265.1320809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt9Rt-0001cj-GN; Fri, 14 Mar 2025 18:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915265.1320809; Fri, 14 Mar 2025 18:07: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 1tt9Rt-0001cc-BL; Fri, 14 Mar 2025 18:07:57 +0000
Received: by outflank-mailman (input) for mailman id 915265;
 Fri, 14 Mar 2025 18:07: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt9Rs-0001cW-4E
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 18:07:56 +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 4079120c-00ff-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 19:07:54 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac2902f7c2aso435230966b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 11:07:54 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aeb2fsm259289366b.15.2025.03.14.11.07.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 11:07: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: 4079120c-00ff-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741975674; x=1742580474; 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=gw2WTKUG0OK1xPszBVqelRdt8sFwgU4/Sri0UyowHYA=;
        b=r+hObLI41om1da9Fh190nJWNO/gCmahNbMXgJCfLEn0A1o/e+DWwWy3mYCORyXs39V
         zvaBet+xXUmoGKRf7fxCjWMbRSFpPsndO5ZnXp1X/UQLcEDGGoMb2kjh5Q4CWtOMx7Kp
         WfD9XLa3ajn952YxZX4Q8ibJvcl9/IezT+VCQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741975674; x=1742580474;
        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=gw2WTKUG0OK1xPszBVqelRdt8sFwgU4/Sri0UyowHYA=;
        b=JLG1EbNBoKV1rWZX8mF92JLpmkc93Ymc6R3zE2HwLbUj+1u6O0D/J5cCvzmgiXtzOU
         /SulOzY1yMz3Hkx8dgHYa0RJqO+IM2PNsE4rHUCUd4t6EjtfkTpbvCUcuBnLlSxaC1Oj
         cB5Nm5BWNQylYwQwfOlVtX9p329peQ6yLa0fMmd07f4nqCAHI5uoQ5P2zyO6jCz4eV5U
         Jm1vC/aMQRXPHutGQgPHLoDSZr3J6JdqSncX1Q3jFhRp69I1llv/yoHqsWGH0L5Wxwln
         r84/whYpv+Z5KJ91dLJxJYiOMH9tPoPkHhT5Fo2BB6msDpB52Yhpzu8AA7AqXR9inefz
         QjQg==
X-Gm-Message-State: AOJu0YzgO5Wcs9t/MJBxItiqqorBrdH4NsVW7A1DaNqCYL34iW5LTixf
	dNiPMSzonGBFCrONCqMxIWoRZv7XHoym9JqwmFz2h2oyrkO5+4LMf+RcBD4OLjCWpriql7D1TUN
	U
X-Gm-Gg: ASbGncv2l47sJWQDG7YYSf53uv/Ic8ZxbnDncZV1nPwxjFSYTfn5+r4Hlni/1b5WrIT
	Q/kr/389TKhBEy8qn9zvkEvgOS5QlklUxIteb0/CUtTM0bvd5JfuaEIKPodVnyY13Ftbwh5hxpX
	tylMdz3s2t0Y2vHj4AF0akdDQQTXiUDmMCyW1kSePLbgvND/K8/zeIBS53zd7ZbTTievmeUtr45
	zJjnTaL2J6STjzCPuOmTyte1aa92MLSXw7Ir0uJ4jrIUTfIwiHs6S+Ww/gPIuWg+xBsB6E157GW
	n3E3MNwioIWoxhQn2KiUClvs3DDV6xq7JpxM+HXLbhOiMNKv//13csnk3xTHEWxHClQdN2swJ1l
	rCo8IwHYfl3lVyCW4w+PPXZKj
X-Google-Smtp-Source: AGHT+IHacpaox1fYrcOkLPp0rXho2xqZrPuoLKSPAl0GlJU3CzEF4bF4mYIj89znI2ZjfNCQeWP29Q==
X-Received: by 2002:a17:907:3d87:b0:abf:6389:6d19 with SMTP id a640c23a62f3a-ac330258bcamr400349166b.15.1741975673949;
        Fri, 14 Mar 2025 11:07:53 -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] x86/debug: Move activate_debugregs() into debug.c
Date: Fri, 14 Mar 2025 18:07:50 +0000
Message-Id: <20250314180750.73925-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

We have since gained a better location for it to live.

Fix up the includes while doing so.  I don't recall why we had kernel.h but
it's definitely stale now.

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/debug.c | 35 ++++++++++++++++++++++++++++++++++-
 xen/arch/x86/traps.c | 32 --------------------------------
 2 files changed, 34 insertions(+), 33 deletions(-)

diff --git a/xen/arch/x86/debug.c b/xen/arch/x86/debug.c
index e99e663ba5b9..71755dea6ff2 100644
--- a/xen/arch/x86/debug.c
+++ b/xen/arch/x86/debug.c
@@ -3,10 +3,11 @@
  * Copyright (C) 2023 XenServer.
  */
 #include <xen/bug.h>
-#include <xen/kernel.h>
+#include <xen/sched.h>
 
 #include <xen/lib/x86/cpu-policy.h>
 
+#include <asm/current.h>
 #include <asm/debugreg.h>
 
 /*
@@ -84,3 +85,35 @@ unsigned int x86_adj_dr7_rsvd(const struct cpu_policy *p, unsigned int dr7)
 
     return dr7;
 }
+
+void activate_debugregs(const struct vcpu *curr)
+{
+    ASSERT(curr == current);
+
+    write_debugreg(0, curr->arch.dr[0]);
+    write_debugreg(1, curr->arch.dr[1]);
+    write_debugreg(2, curr->arch.dr[2]);
+    write_debugreg(3, curr->arch.dr[3]);
+    write_debugreg(6, curr->arch.dr6);
+
+    /*
+     * Avoid writing the subsequently getting replaced value when getting
+     * called from set_debugreg() below. Eventual future callers will need
+     * to take this into account.
+     */
+    if ( curr->arch.dr7 & DR7_ACTIVE_MASK )
+        write_debugreg(7, curr->arch.dr7);
+
+    /*
+     * Both the PV and HVM paths leave stale DR_MASK values in hardware on
+     * context-switch-out.  If we're activating %dr7 for the guest, we must
+     * sync the DR_MASKs too, whether or not the guest can see them.
+     */
+    if ( boot_cpu_has(X86_FEATURE_DBEXT) )
+    {
+        wrmsrl(MSR_AMD64_DR0_ADDRESS_MASK, curr->arch.msrs->dr_mask[0]);
+        wrmsrl(MSR_AMD64_DR1_ADDRESS_MASK, curr->arch.msrs->dr_mask[1]);
+        wrmsrl(MSR_AMD64_DR2_ADDRESS_MASK, curr->arch.msrs->dr_mask[2]);
+        wrmsrl(MSR_AMD64_DR3_ADDRESS_MASK, curr->arch.msrs->dr_mask[3]);
+    }
+}
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 5addb1f903d3..df1155bfb673 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1942,38 +1942,6 @@ void __init trap_init(void)
     cpu_init();
 }
 
-void activate_debugregs(const struct vcpu *curr)
-{
-    ASSERT(curr == current);
-
-    write_debugreg(0, curr->arch.dr[0]);
-    write_debugreg(1, curr->arch.dr[1]);
-    write_debugreg(2, curr->arch.dr[2]);
-    write_debugreg(3, curr->arch.dr[3]);
-    write_debugreg(6, curr->arch.dr6);
-
-    /*
-     * Avoid writing the subsequently getting replaced value when getting
-     * called from set_debugreg() below. Eventual future callers will need
-     * to take this into account.
-     */
-    if ( curr->arch.dr7 & DR7_ACTIVE_MASK )
-        write_debugreg(7, curr->arch.dr7);
-
-    /*
-     * Both the PV and HVM paths leave stale DR_MASK values in hardware on
-     * context-switch-out.  If we're activating %dr7 for the guest, we must
-     * sync the DR_MASKs too, whether or not the guest can see them.
-     */
-    if ( boot_cpu_has(X86_FEATURE_DBEXT) )
-    {
-        wrmsrl(MSR_AMD64_DR0_ADDRESS_MASK, curr->arch.msrs->dr_mask[0]);
-        wrmsrl(MSR_AMD64_DR1_ADDRESS_MASK, curr->arch.msrs->dr_mask[1]);
-        wrmsrl(MSR_AMD64_DR2_ADDRESS_MASK, curr->arch.msrs->dr_mask[2]);
-        wrmsrl(MSR_AMD64_DR3_ADDRESS_MASK, curr->arch.msrs->dr_mask[3]);
-    }
-}
-
 void asm_domain_crash_synchronous(unsigned long addr)
 {
     /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 18:28:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 18:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915283.1320818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt9lj-0001LJ-0O; Fri, 14 Mar 2025 18:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915283.1320818; Fri, 14 Mar 2025 18: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 1tt9li-0001LC-U2; Fri, 14 Mar 2025 18:28:26 +0000
Received: by outflank-mailman (input) for mailman id 915283;
 Fri, 14 Mar 2025 18:28: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=7HmO=WB=bounce.vates.tech=bounce-md_30504962.67d47545.v1-5921751e1bf34a4a91bbcdad8eebdd74@srs-se1.protection.inumbo.net>)
 id 1tt9lg-00013Y-RP
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 18:28:25 +0000
Received: from mail136-29.atl41.mandrillapp.com
 (mail136-29.atl41.mandrillapp.com [198.2.136.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c23e9ad-0102-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 19:28:22 +0100 (CET)
Received: from pmta11.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail136-29.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4ZDtCn3pwHz6CPyQT
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 18:28:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 5921751e1bf34a4a91bbcdad8eebdd74; Fri, 14 Mar 2025 18:28: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: 1c23e9ad-0102-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741976901; x=1742246901;
	bh=KTdCXNey4OTm/dMcNNsj8MUWlHjJYuj75Jr3wuUbpsI=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=NQ7CrW7/LW+QPn258R7QN20tE26fGAiD3WNb+YcB6fw7qP/gWHQ21w7RuESU0JwAu
	 pU5kp0yY4h10Atf3r1a//CG7UipV7Gz3Tm5ByP+XOgiZaJsci8uyUD8sTp4SJNoYUO
	 JyZP6f9LLW2eGVTC+SsL+zRBy9uDp0nr91C2w3EpTHDOBwf892qAmrKFaJSd1ZLDhF
	 T8CcM55sby3l1bWewYsObbYDWMTU3EAk1DJfqaNsax0NKIpAQ6HigYcV9TUB5NVldt
	 AEhRZP7aObwjWYK5GAAesSCN3typ9e+nhsmVLpzxnKMBDglPz8w9u54eJYE3HFo3OQ
	 jHEzNTAjxoAUg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741976901; x=1742237401; i=anthony.perard@vates.tech;
	bh=KTdCXNey4OTm/dMcNNsj8MUWlHjJYuj75Jr3wuUbpsI=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=m9gn44Nl7v8wAMXuyr1Q8euwGgv5AuU4sTf3AUMyyYhRm+5Ya767L5Zg7DCSNDPF7
	 a5Pktmh1QEkJf8GS4MSL7Yf+9Q7WxXw13x494YPIfxOnVbbJ/bmWWbZVDulXB8ynDm
	 TH2iTQe/qZKzDR7fTfXRGWjTm3Z1IFaMD1X6AEq0Ovy2burdXpYH10DpLibVbw9fAO
	 Kf4jd4YHPAyl4zjox9IbGpLidQ4fmUZdSu7ZLP3zwLEWvHt+4dCNHdDIaalj5atSL8
	 De/vlOwuN9l1ztZMfrsbOL2SaXtZEp01fe3W3hHK5oXKgKVnXJUU7pCiFnFI9grkwf
	 65WMzPjOjP0sw==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20PATCH=20v3=207/7]=20xen/arm:=20scmi:=20generate=20scmi=20dt=20node=20for=20DomUs?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741976899091
To: "Grygorii Strashko" <gragst.linux@gmail.com>
Cc: xen-devel@lists.xenproject.org, "Stefano Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "Michal Orzel" <michal.orzel@amd.com>, "Roger Pau Monne" <roger.pau@citrix.com>, "Jan Beulich" <jbeulich@suse.com>, "Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>, "Oleksii Moisieiev" <oleksii_moisieiev@epam.com>, "Bertrand Marquis" <bertrand.marquis@arm.com>, "Juergen Gross" <jgross@suse.com>, "Grygorii Strashko" <grygorii_strashko@epam.com>
Message-Id: <Z9R1Qqj91RQGXl4T@l14>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com> <20250311111618.1850927-8-grygorii_strashko@epam.com>
In-Reply-To: <20250311111618.1850927-8-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.5921751e1bf34a4a91bbcdad8eebdd74?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250314:md
Date: Fri, 14 Mar 2025 18:28:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Mar 11, 2025 at 01:16:18PM +0200, Grygorii Strashko wrote:
> diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
> index 2ddc3f4f426d..f4ffab2021cd 100644
> --- a/tools/libs/ctrl/xc_domain.c
> +++ b/tools/libs/ctrl/xc_domain.c
> @@ -2229,6 +2229,24 @@ out:
>  
>      return ret;
>  }
> +
> +int xc_domain_get_sci_info(xc_interface *xch, uint32_t domid,
> +                            uint64_t *paddr, uint32_t *func_id)
> +{
> +    struct xen_domctl domctl = {};
> +
> +    memset(&domctl, 0, sizeof(domctl));

This memset() looks redundant with variable initialisation.

> +    domctl.cmd = XEN_DOMCTL_get_sci_info;
> +    domctl.domain = domid;

There's one way to write these first few lines more nicely:

    struct xen_domctl domctl = {
        .cmd = XEN_DOMCTL_get_sci_info,
        .domain = domid,
    };

> +    if ( do_domctl(xch, &domctl) != 0 )
> +        return 1;

The error return value should be -1. (Returning the value returned by
do_domctl() is also an option.)

> +
> +    *paddr = domctl.u.sci_info.paddr;
> +    *func_id = domctl.u.sci_info.func_id;
> +    return 0;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index cdf5edb299af..cc54abc1ea79 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -9,6 +9,7 @@
>  #include <libfdt.h>
>  #include <assert.h>
>  #include <xen/device_tree_defs.h>
> +#include <xenhypfs.h>
>  
>  /*
>   * There is no clear requirements for the total size of Virtio MMIO region.
> @@ -640,9 +641,6 @@ static int make_optee_node(libxl__gc *gc, void *fdt)
>      int res;
>      LOG(DEBUG, "Creating OP-TEE node in dtb");
>  
> -    res = fdt_begin_node(fdt, "firmware");
> -    if (res) return res;
> -
>      res = fdt_begin_node(fdt, "optee");
>      if (res) return res;
>  
> @@ -655,9 +653,6 @@ static int make_optee_node(libxl__gc *gc, void *fdt)
>      res = fdt_end_node(fdt);
>      if (res) return res;
>  
> -    res = fdt_end_node(fdt);
> -    if (res) return res;
> -
>      return 0;
>  }
>  
> @@ -1191,10 +1186,9 @@ static int copy_node(libxl__gc *gc, void *fdt, void *pfdt,
>      return 0;
>  }
>  
> -static int copy_node_by_path(libxl__gc *gc, const char *path,
> -                             void *fdt, void *pfdt)
> +static int get_path_nodeoff(const char *path, void *pfdt)
>  {
> -    int nodeoff, r;
> +    int nodeoff;
>      const char *name = strrchr(path, '/');
>  
>      if (!name)
> @@ -1214,12 +1208,277 @@ static int copy_node_by_path(libxl__gc *gc, const char *path,
>      if (strcmp(fdt_get_name(pfdt, nodeoff, NULL), name))
>          return -FDT_ERR_NOTFOUND;
>  
> +    return nodeoff;
> +}
> +
> +static int copy_node_by_path(libxl__gc *gc, const char *path,
> +                             void *fdt, void *pfdt)
> +{
> +    int nodeoff, r;
> +
> +    nodeoff = get_path_nodeoff(path, pfdt);
> +    if (nodeoff < 0)
> +        return nodeoff;
> +
>      r = copy_node(gc, fdt, pfdt, nodeoff, 0);
>      if (r) return r;
>  
>      return 0;
>  }
>  
> +static int map_sci_page(libxl__gc *gc, uint32_t domid, uint64_t paddr,
> +                         uint64_t guest_addr)
> +{
> +    int ret;
> +    uint64_t _paddr_pfn = paddr >> XC_PAGE_SHIFT;
> +    uint64_t _guest_pfn = guest_addr >> XC_PAGE_SHIFT;
> +
> +    assert(paddr && guest_addr);
> +    LOG(DEBUG, "[%d] mapping sci shmem page %"PRIx64, domid, _paddr_pfn);

Use LOGD() instead, to print domid:
   LOGD(DEBUG, domid, "mapping sci shmem page %"PRIx64, _paddr_pfn);

And use LOGD() instead of LOG() throughout the patch whenever `domid` is
available.

> +
> +    ret = xc_domain_iomem_permission(CTX->xch, domid, _paddr_pfn, 1, 1);
> +    if (ret < 0) {
> +        LOG(ERROR,
> +              "failed give domain access to iomem page %"PRIx64,
> +             _paddr_pfn);

You can use LOGED() variant, which would also print errno in the log as
well. You can use it everything you log an error from a system function
(or xc_* one which should set errno on error).

> +        return ret;
> +    }
> +
> +    ret = xc_domain_memory_mapping(CTX->xch, domid,
> +                                   _guest_pfn, _paddr_pfn,
> +                                   1, 1);
> +    if (ret < 0) {
> +        LOG(ERROR,
> +              "failed to map to domain iomem page %"PRIx64
> +              " to guest address %"PRIx64,
> +              _paddr_pfn, _guest_pfn);
> +        return ret;
> +    }
> +
> +    return 0;
> +}
> +
> +static int scmi_dt_make_shmem_node(libxl__gc *gc, void *fdt)
> +{
> +    int res;
> +    char buf[64];
> +
> +    snprintf(buf, sizeof(buf), "scmi-shmem@%llx", GUEST_SCI_SHMEM_BASE);
> +
> +    res = fdt_begin_node(fdt, buf);
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "arm,scmi-shmem");
> +    if (res) return res;
> +
> +    res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
> +                    GUEST_ROOT_SIZE_CELLS, 1,
> +                    GUEST_SCI_SHMEM_BASE, GUEST_SCI_SHMEM_SIZE);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_SCMI);
> +    if (res) return res;
> +
> +    res = fdt_end_node(fdt);
> +    if (res) return res;
> +
> +    return 0;
> +}
> +
> +static const char *name_from_path(const char *path)
> +{
> +    return strrchr(path, '/') + 1;

This function should probably return NULL in case the chr '/' isn't
found (strrchr returns NULL) instead of 0x1.

Also, it might be worth moving this function to just after "#ifdef
ENABLE_PARTIAL_DEVICE_TREE" in the source file, seen that
get_path_nodeoff() could potentially use it as well.

> +}
> +
> +static int dt_copy_properties(libxl__gc *gc, void* fdt, void *xen_fdt,

                                                ^ void *fdt.

> +        const char *full_name)
> +{
> +    int propoff, nameoff, r, nodeoff;
> +    const struct fdt_property *prop;
> +
> +    LOG(DEBUG, "Copy properties for node: %s", full_name);
> +    nodeoff = get_path_nodeoff(full_name, xen_fdt);
> +    if (nodeoff < 0)
> +        return -FDT_ERR_NOTFOUND;
> +
> +    for (propoff = fdt_first_property_offset(xen_fdt, nodeoff);
> +         propoff >= 0;
> +         propoff = fdt_next_property_offset(xen_fdt, propoff)) {
> +
> +        if (!(prop = fdt_get_property_by_offset(xen_fdt, propoff, NULL)))
> +            return -FDT_ERR_INTERNAL;
> +
> +        nameoff = fdt32_to_cpu(prop->nameoff);
> +
> +        /* Skipping phandle nodes in xen device-tree */
> +        if (strcmp(fdt_string(xen_fdt,nameoff), "phandle") == 0 ||
> +            strcmp(fdt_string(xen_fdt, nameoff), "linux,phandle") == 0)
> +            continue;
> +
> +        r = fdt_property(fdt, fdt_string(xen_fdt, nameoff),
> +                         prop->data, fdt32_to_cpu(prop->len));
> +        if (r) return r;
> +    }
> +
> +    return (propoff != -FDT_ERR_NOTFOUND)? propoff : 0;
> +}
> +
> +static int scmi_dt_scan_node(libxl__gc *gc, void *fdt, void *pfdt,
> +                             void *xen_fdt, int nodeoff)
> +{
> +    int rc;

Could you call this variable `r` instead? `rc` is reserved for libxl's
returns codes. See "CONVENTIONAL VARIABLE NAMES" in
libs/light/CODING_STYLE.

> +    int node_next;
> +    char full_name[128];
> +    uint32_t phandle;
> +
> +    node_next = fdt_first_subnode(pfdt, nodeoff);
> +    while (node_next > 0)
> +    {
> +        LOG(ERROR,"Processing node %s",
> +                fdt_get_name(pfdt, node_next, NULL));
> +
> +        phandle = fdt_get_phandle(pfdt, node_next);
> +
> +        rc = fdt_get_path(pfdt, node_next, full_name, sizeof(full_name));
> +        if (rc) return rc;
> +
> +        rc = fdt_begin_node(fdt, name_from_path(full_name));
> +        if (rc) return rc;
> +
> +        rc = dt_copy_properties(gc, fdt, xen_fdt, full_name);
> +        if (rc) return rc;
> +
> +        if (phandle) {
> +            rc = fdt_property_cell(fdt, "phandle", phandle);
> +            if (rc) return rc;
> +        }
> +
> +        rc = scmi_dt_scan_node(gc, fdt, pfdt, xen_fdt, node_next);
> +        if (rc) return rc;
> +
> +        rc = fdt_end_node(fdt);
> +        if (rc) return rc;
> +
> +        node_next = fdt_next_subnode(pfdt, node_next);
> +    }
> +
> +    return 0;
> +}
> +
> +static int scmi_hypfs_fdt_check(libxl__gc *gc, void *fdt)
> +{
> +    int r;
> +
> +    if (fdt_magic(fdt) != FDT_MAGIC) {
> +         LOG(ERROR, "FDT is not a valid Flat Device Tree");
> +         return ERROR_FAIL;
> +     }
> +
> +     r = fdt_check_header(fdt);
> +     if (r) {
> +         LOG(ERROR, "Failed to check the FDT (%d)", r);
> +         return ERROR_FAIL;
> +     }
> +
> +     return r;
> +}
> +
> +static int scmi_dt_copy_subnodes(libxl__gc *gc, void *fdt, void *pfdt)
> +{
> +    struct xenhypfs_handle *hdl;
> +    struct xenhypfs_dirent *ent;
> +    void *xen_fdt;
> +    int rc, nodeoff;
> +
> +    hdl = xenhypfs_open(NULL, 0);
> +    if (!hdl)
> +        return -EINVAL;

That value been return doesn't make sense. Also !0 is probably enough.

> +
> +    xen_fdt = xenhypfs_read_raw(hdl, "/devicetree", &ent);
> +    if (!xen_fdt) {
> +        rc = errno;

Is doesn't seems taht anything in the functions constructind the device
tree look at return values as if the were "errno". There's maybe just
one libxl__prepare_dtb() which looks at those value as an FDT_* error
code, via the FDT() macro. Most of the other just check for !0 values.

If errno value is uesful here, you can at least log it by replacing
LOG() by LOGE() in this next line:

> +        LOG(ERROR, "Unable to read hypfs entry: %d", rc);

`rc` which contain `errno` here isn't useful to log as is, instead use
LOGE() which will write strerror(errno) automatically. Also, maybe
writing which entry can't be read in the log might be useful.

[...]

Please use `r` to store return code of many of those new function
instead of a mixture of `res`, `ret`, `r`, `rc`. `rc` is reserved for
libxl error code, and are expected to by returned by libxl_*()
functions. But it seems that most functions dealing with the device tree
actually are expected to return FDT_* error code.


Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 18:34:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 18:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915301.1320828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt9r4-0005ew-MK; Fri, 14 Mar 2025 18:33:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915301.1320828; Fri, 14 Mar 2025 18:33: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 1tt9r4-0005ep-JS; Fri, 14 Mar 2025 18:33:58 +0000
Received: by outflank-mailman (input) for mailman id 915301;
 Fri, 14 Mar 2025 18:33: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tt9r3-0005eJ-1w
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 18:33:57 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0a4b8ec-0102-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 19:33:52 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ab771575040so668255066b.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 11:33:52 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3147efb0csm260071866b.65.2025.03.14.11.33.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 11:33: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: e0a4b8ec-0102-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741977231; x=1742582031; 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=tHmDSBBFV7FBw7IEwYSqIeuIHgrmNgrKBbLTlCs3zHI=;
        b=W4tJc6UnIqf8DE4Up6o34w/+JIX6RvI7TiKWCc6fqHnxW6xuzdFYmIcy7jOXkfc/ar
         u3oD0/rnYpvKgI5wlqLx1GBGIRszFWNkTfdu/FMcleHqnuqJuLCk6wIptI9hv3EOdN/s
         vZ8pEen87VmHcwsuFcol/9ZVDfHPxu2y4B8lY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741977231; x=1742582031;
        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=tHmDSBBFV7FBw7IEwYSqIeuIHgrmNgrKBbLTlCs3zHI=;
        b=SW+wfjT++pwo1/+YPV6NWFJodXk93h08xz0mqAcdrmDTIOxDJyPtcIVwtKYqWq0gkA
         UhzeicyUjDHE9sbRBCP3HPRgjUTpgbxju7VhsY2YZEGCplJfCRK+RuO9sOkXAPhIOSVU
         OGkpLkHzSa2HtIeBWHhfRsPxGkxGYORyGx9V4p2aUcLtT0qagT93z0d2e3h6wIDI+Tes
         acGDtRbhlAOIKPmH9zy3vx9qQsg4BE7zfQ7uP1qvsRM+TDR/kSDBM1Io2V0G0KGxROZ+
         zYZJvaq2hkVvfLH5EfInxU6zsnMFdyKeeBe4jqDalI2VnhSnjP4TMLsjKEN+/3YWtH37
         8H1Q==
X-Gm-Message-State: AOJu0YzSOsiQf8xYw2PZSkchUoZPyeS0babuStz+Y32XvAzaC7ewXEUD
	Ma+83Xspe4xTBNFQDYq1xfbdtJg6psn6MNFtWuBvH/zg+x51FySDjLvEUE/36Fl+PKZ1vR8sOAB
	T
X-Gm-Gg: ASbGnctwiGkPgaf2HAahMXqgbRDAiwTpBcnXxFKNHqk/qcjzH0ruxT6Rvnf265O/C2/
	zZliv8qqxiAF+bZMmIpY71oV0Xzhr36KPx4OIHk2egGJeALdEKzzEoO+WVK9Lm/95sI3Hi1I/M5
	Ot7PXZyi9pmxhfq5WnBG6XnWatIfe1jLFd1Z7jYZ+KQsjDU0a7YoFAjW+dPUy2nAXMRy7WBjESj
	xT9asZSJ2+DPDCgBf7irURsGEsHAwzxu/OFnw/8b/Xm3YmLYxs80mrO5zkACDtwdbxhhtFNB57j
	Vx15o8ktBMqJWUPtaZ+rzh6rWbjy3zkgZMhwyEXpfCYqWPAiIfN0OKM1CI5CM32bwLTpd8pDqLF
	E2EgYvj5FBlOORh8s55ox6pR2
X-Google-Smtp-Source: AGHT+IFr5LV87pDfDV00iTKNTng4IRZ/DXvBGigFYQbOTKWfJNFrQZuqdr/4ND68uwqIoe07/2k/Pw==
X-Received: by 2002:a17:907:c5cd:b0:abf:6d1c:8f4a with SMTP id a640c23a62f3a-ac3124b248bmr798303166b.18.1741977231250;
        Fri, 14 Mar 2025 11:33: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/traps: Drop incorrect BUILD_BUG_ON() and comment in load_system_tables()
Date: Fri, 14 Mar 2025 18:33:46 +0000
Message-Id: <20250314183346.77356-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

It is only the hardware task switching mechanism which cares about a TSS being
at least 0x67 bytes long.  Furthermore, since this check was added, the limit
is now 0x6b if CET-SS is active.  Nevertheless, task switches, being a relic
of the 32-bit days, aren't relevant to Xen.

LTR is is perfectly possible to load a shorter TSS, and indeed we will be
doing so with FRED active.

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

In principle this is Fixes: 788844062561 ("x86/xpti: Don't leak TSS-adjacent
percpu data via Meltdown"), but I don't feel it's really a correct tag to
give.
---
 xen/arch/x86/cpu/common.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index e8d4ca3203be..698abb7086d8 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -900,8 +900,6 @@ void load_system_tables(void)
 		wrmsrl(MSR_INTERRUPT_SSP_TABLE, (unsigned long)ist_ssp);
 	}
 
-	BUILD_BUG_ON(sizeof(*tss) <= 0x67); /* Mandated by the architecture. */
-
 	_set_tssldt_desc(gdt + TSS_ENTRY, (unsigned long)tss,
 			 sizeof(*tss) - 1, SYS_DESC_tss_avail);
 	if ( IS_ENABLED(CONFIG_PV32) )
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 18:34:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 18:34:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915304.1320839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt9rD-00061K-T4; Fri, 14 Mar 2025 18:34:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915304.1320839; Fri, 14 Mar 2025 18:34: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 1tt9rD-00061B-Pq; Fri, 14 Mar 2025 18:34:07 +0000
Received: by outflank-mailman (input) for mailman id 915304;
 Fri, 14 Mar 2025 18:34: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=zM9V=WB=bounce.vates.tech=bounce-md_30504962.67d4769b.v1-dca156a3b3a8495fa85d0e310b1e2711@srs-se1.protection.inumbo.net>)
 id 1tt9rC-0005eJ-LT
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 18:34:06 +0000
Received: from mail177-1.suw61.mandrillapp.com
 (mail177-1.suw61.mandrillapp.com [198.2.177.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e819bb62-0102-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 19:34:05 +0100 (CET)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-1.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4ZDtLM6qhCzBsTv06
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 18:34:03 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 dca156a3b3a8495fa85d0e310b1e2711; Fri, 14 Mar 2025 18:34: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: e819bb62-0102-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1741977244; x=1742247244;
	bh=XJ3a24qpetFIlkUTjB8MUIt/veN1MpcWIkxiqMq1Nms=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=aaWKYPimRCqRRAy6n+ctCUPqUGc94HbVex7qnyWYVjnHtJ7oIV1g6fSXWlYl20NTf
	 6qxWNlOQqLZ6CB+gZuPvM4b3ka7DC25kQmv53399TtuReRzs6F6S0v4y5KJT23HiGR
	 s8XMZQ//nxsAkL/tVtWzJY8JK6TntTX3/uSNgQCtpLZociXGu8wOD8MYYHOtjp6UtM
	 goU6Oo7W1VWcgDH2hiDYAIZb1xle/wcXEfSy9ygWmErR9eeKaRT7RCIBfa7B2aD2R1
	 hItWsVoFOQMZXmpqsZFbU8zt8hyITxaqxzBPjrUiXF7UDqJyUWejZgOgNi65VDO2GN
	 NBQRZXueTUdHg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1741977244; x=1742237744; i=anthony.perard@vates.tech;
	bh=XJ3a24qpetFIlkUTjB8MUIt/veN1MpcWIkxiqMq1Nms=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=zGtD+Mt1kQ7tGCAohXX3zb5J8rQNNsorw1WXnGpRL8vr8jtRcjiy2Q51p+75TiiyU
	 L5AeEQJqSzcR2hYvVSAgu/nGOQN5f+bGxJjl2+Ew2b+7oiakmPxV0MOjtSo/s8HIOV
	 /HXCmLd++10X/OYz1b9ulesfojl6n2Ms8Wq+opSDvOzc+1LRBjLFETMPgwkniZp2a4
	 wJXYauMY3+tuQOQlaAja2bugJ3TwuJsjGO/FRJO0c5T2HOke8dmwg/0qRJbs77oyvV
	 onnoxBuW+BH9LVnJY3MocyYCyXf5DxcK3hKKUxf08XryynUPEzQsey8eJFyC22D/rh
	 uNkS8CuCPIyiA==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v5=2000/17]=20make=20system=20memory=20API=20available=20for=20common=20code?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1741977242834
To: "Pierrick Bouvier" <pierrick.bouvier@linaro.org>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, "Yoshinori Sato" <ysato@users.sourceforge.jp>, "Paul Durrant" <paul@xen.org>, "Peter Xu" <peterx@redhat.com>, alex.bennee@linaro.org, "Harsh Prateek Bora" <harshpb@linux.ibm.com>, "David Hildenbrand" <david@redhat.com>, "Alistair Francis" <alistair.francis@wdc.com>, "=?utf-8?Q?Philippe=20Mathieu-Daud=C3=A9?=" <philmd@linaro.org>, "Richard Henderson" <richard.henderson@linaro.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, "Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>, "Nicholas Piggin" <npiggin@gmail.com>, "Daniel Henrique Barboza" <danielhb413@gmail.com>, qemu-riscv@nongnu.org, manos.pitsidianakis@linaro.org, "Palmer Dabbelt" <palmer@dabbelt.com>, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, "Stefano Stabellini" <sstabellini@kernel.org>, "Paolo Bonzini" <pbonzini@redhat.com>, "Weiwei Li" <liwei1518@gmail.com>
Message-Id: <Z9R2mjfaNcsSuQWq@l14>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org> <5951f731-b936-42eb-b3ff-bc66ef9c9414@linaro.org>
In-Reply-To: <5951f731-b936-42eb-b3ff-bc66ef9c9414@linaro.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.dca156a3b3a8495fa85d0e310b1e2711?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250314:md
Date: Fri, 14 Mar 2025 18:34:03 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Fri, Mar 14, 2025 at 10:33:08AM -0700, Pierrick Bouvier wrote:
> Hi,
> 
> one patch is missing review:
> [PATCH v5 12/17] hw/xen: add stubs for various functions.

My "Acked-by" wasn't enough? Feel free try change it to "Reviewed-by"
instead.

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 18:39:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 18:39:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915325.1320849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tt9wZ-0007pt-FB; Fri, 14 Mar 2025 18:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915325.1320849; Fri, 14 Mar 2025 18:39: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 1tt9wZ-0007pm-Bs; Fri, 14 Mar 2025 18:39:39 +0000
Received: by outflank-mailman (input) for mailman id 915325;
 Fri, 14 Mar 2025 18: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=Zh9v=WB=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tt9wY-0007pg-87
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 18:39:38 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad8f9cd6-0103-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 19:39:36 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id
 98e67ed59e1d1-2ff80290debso48314a91.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 11:39:36 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56ea7bd0csm3027381a12.47.2025.03.14.11.39.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 11:39: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: ad8f9cd6-0103-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1741977575; x=1742582375; 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=fOozeBnii/eu0U/Pc7KwHCWiz8f0qLLsCP/hc4MPynk=;
        b=hMinOE7x+CVzJsSiFQURF4/LH9MHJibSw+NL6WdjOK1p0xcoELO4cesW1BQhtbz+Hp
         QHnobVCxAM0yrqlKHx5bqEQSc09g4MWlVDEoGNob5M5MVg443lQHBeJvF9m7nnvHEkv9
         AkIshew4lPK/0f9gTunL1PvIzG7rs09jCA0MZVQheTR6M1dVnX0SUkGN037Wysj+cmZp
         Ypyxf6AR5+SsMG8PzrL4Am8flU19gEk903AJXOtik8rLkYooIVCrxBXgbvb1WhmgDZCj
         EGE+9FYwsExf8IzrqBs3QAes69GUrd07IYZlt+WJwXtnQTo7L3APmj/j1VtVzubY7B6/
         wGpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741977575; x=1742582375;
        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=fOozeBnii/eu0U/Pc7KwHCWiz8f0qLLsCP/hc4MPynk=;
        b=Qc8HHoJd0WeX/+tJgk5apgR9C1oPg6+2siFDFmSHtB66GuxpJp+CFl7Lv/C/v6IPNl
         nP2Jqmqj3BETALs1MNP+gNHHfWlQy+nQrmezWtLzNHFpTRXknxoLT/U5gXsWqDzWjyHP
         t3U4NmFEBzhD0HiyPauk6HYi1tOLKQoqd/XQA3/lQilDlVMpAb6f3223JQwvCCF09EOG
         vqQlUXZ0AQDvP+TcPhRqStQBgRmcxwDGfP59ZQD7ZfYPXrIBYNdSOb+8gqmK399H3AnN
         POR9AhQfgM3fTdmMa/UuS3mXkVyeLy0Bdz399iz0Zxt+6Mq9fcfVJXIrJyb/OnWK6MWI
         NolA==
X-Forwarded-Encrypted: i=1; AJvYcCXMP0m/S+vhJ/8dh7RpOZRizkCHfJ3qKAg4pHX7ndDC8wEZ7qPZikTivSGIxReLpVCvdOzDARREeOQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzGZWJe8CoGvMG0VOK7YTesOGOcf58Q5nBKArtDUekYzJ/t+QCW
	jjXFM73CQvWQr6wvvay7ZzhgsQepHkMRvyLWVCMiQXJbBjQMc2q0v8/+JjQDri4=
X-Gm-Gg: ASbGncvusVZGjfYp7IZE8JJqGEpg4HUjitlt1eMAhZDqLA+rQKG1D+NQs403ziRClPv
	oZtZYeChSSf5vgPVo3nliNWNR2PBafR+8pRWkr310/KNYKcCtPc9T14jftAWNBsZWoO+EGZgtDh
	zynrTLPhduQAA74iajPRujIGcjN0i/RiBSHqCXJ2MWgtBBBY6fwT0TAXg1buGGkXuU/6dB8IeiB
	8wosTMCvU+ZLgQrlM+hyEJRpcGvp2UftW3Y74sSmhhejY5r41FyuShBwgdrcoBlZoIEW5KgK1bE
	ikMtLvN90ssjfQKrEXqYSz9lTsrJPiNL70Qbq7iX44cQ8O3hwPGvTUKY5g==
X-Google-Smtp-Source: AGHT+IHy4R1pysrhxzZHf8PsIff+cJIi5Kt3lbwGj1TI7jFN2ZmDtBraZqUWWgeIc5QjfTBBwo1w6Q==
X-Received: by 2002:a05:6a21:6d82:b0:1f5:8eec:e50a with SMTP id adf61e73a8af0-1f5c12c7864mr4910034637.31.1741977574981;
        Fri, 14 Mar 2025 11:39:34 -0700 (PDT)
Message-ID: <ee814e2f-c461-4cc2-889d-16bb2df44fdf@linaro.org>
Date: Fri, 14 Mar 2025 11:39:33 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 00/17] make system memory API available for common code
Content-Language: en-US
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Paul Durrant <paul@xen.org>,
 Peter Xu <peterx@redhat.com>, alex.bennee@linaro.org,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <5951f731-b936-42eb-b3ff-bc66ef9c9414@linaro.org> <Z9R2mjfaNcsSuQWq@l14>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <Z9R2mjfaNcsSuQWq@l14>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/14/25 11:34, Anthony PERARD wrote:
> On Fri, Mar 14, 2025 at 10:33:08AM -0700, Pierrick Bouvier wrote:
>> Hi,
>>
>> one patch is missing review:
>> [PATCH v5 12/17] hw/xen: add stubs for various functions.
> 
> My "Acked-by" wasn't enough? Feel free try change it to "Reviewed-by"
> instead.
> 

Those are differents. From what I understand, Reviewed implies Acked, 
but the opposite is not true. If it was, they would be equivalent.
Thanks.

> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 19:00:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 19:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915336.1320860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttAGc-0000Zz-36; Fri, 14 Mar 2025 19:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915336.1320860; Fri, 14 Mar 2025 19:00: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 1ttAGb-0000Zs-UL; Fri, 14 Mar 2025 19:00:21 +0000
Received: by outflank-mailman (input) for mailman id 915336;
 Fri, 14 Mar 2025 19:00: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ttAGa-0000Zm-Ad
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 19:00:20 +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 9212e32b-0106-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 20:00:18 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5e033c2f106so3425713a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 12:00:18 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e816968c0csm2294723a12.22.2025.03.14.12.00.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 12:00: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: 9212e32b-0106-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741978818; x=1742583618; 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=h+8Kl7blnO9v5TZlqRALsYQmVX9kUG7y67xsP3zzOrw=;
        b=jSCEMtQe4hLSAtkpyPYWMODY/rYoyw2T0129jNSnTRqUApFYdF2ZRrxbYfN2J1IrsS
         4sLp3RCHc9apOqitGwg15/eDAo97as/3MG1bgn2MxRzD9jjAeTStScpuhXhcx7mgJZ9y
         9Oq1C/zThtmnoChgscc+eeobHFzm+t3FD/zZc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741978818; x=1742583618;
        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=h+8Kl7blnO9v5TZlqRALsYQmVX9kUG7y67xsP3zzOrw=;
        b=ZJGyq83eQ3TtxvXs/ejlT9L7RjI8LCzZyVcipls82xI7tyP8gdfnc3+oQtWb0LkXHX
         p07O01OlXaCrA9AOcAQBZsjy38ol22vTnic9ucgCLts5ffjB9BDYW5GyCnP3K7P/glTM
         ue3IU/RGXy0uzofm6SLR5x0JpPcIAMFU/F7MyNJU4u8RLgJn8b5DeStydSBY2Uqmd4Z/
         Igss4N3U4BhnahGRX4Nw7xrmSThhKXmWW12gYsj6EwXjt3wO99OQp2Ure+7bGB7gtHaP
         EcCeUskTSjJHE9DKHBxw+HJvfkIi1W6r5OoeRGt1WZai5WVoSEL/lcFauVM2u6yLutdu
         mfLg==
X-Gm-Message-State: AOJu0YxeFfsGdOjmhRjNH7eYcUfxd6vcwp7BcygVIWLfwobzXP53vs7W
	N1JLHlf7Kfd3NQbmcinTiSPgqgE2OyoVfL/ngyXg+EuDyJJlxMXGhZHdD8U1z34=
X-Gm-Gg: ASbGnctE8LMOkgqTzlMk2D5x4JQ6ho6TO0mF2JyUkHHaTMzzAxhnqIF+K+Wx0EO59cF
	ht3e8us/kZBPpsKL20Nl3JhHg1vPVKxeSWrUJ044f7U/Vp+g9TnPFDbOl4GXxICIv5kq2FcUNE2
	hiIz9NuE7Q5vqNIoBy+U3rBTSYeZm1Jw8XCbMRpdcUIlHgsdC5a03SNSIYZ3byb7B36g0heQFtY
	j2tjgnNxI6nbnknlplty0JyogRpHKkUCksZMmA3yGd/DPZXdlhpGooBbljef6UeNjhupMvNzcZn
	6/7+2GQ1QQDiIIATChmQW+C0oeqb5vPXujXEc7VbYnxScTDIMhwc1Sm3EKrJxa9oKDjze0Ppq84
	Qf6veIQ4O
X-Google-Smtp-Source: AGHT+IHj0qoL6oFmnJA7gqWxYpdXj2oRyAuGyxveI0rFSreEYmI+A/jEj2nJwQxxVVn1nzNAg2NFvA==
X-Received: by 2002:a05:6402:348d:b0:5e7:b015:ad42 with SMTP id 4fb4d7f45d1cf-5e8a0bf3c68mr4757722a12.28.1741978817595;
        Fri, 14 Mar 2025 12:00:17 -0700 (PDT)
Message-ID: <82348f8b-7e5e-43ab-8eab-975d84cdda46@citrix.com>
Date: Fri, 14 Mar 2025 19:00:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Fix zap_low_mappings() to map less of the
 trampoline
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <20250106112652.579310-1-andrew.cooper3@citrix.com>
 <2f12f38e-9629-40fd-b532-6b6f82ecfe1f@suse.com>
 <4bff530c-9f96-4b59-b6cb-86349c576690@citrix.com>
 <0565db90-5734-4795-8988-efd3e72cc770@suse.com>
 <Z9FaeksA0d9Ms15m@macbook.local>
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: <Z9FaeksA0d9Ms15m@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/03/2025 9:57 am, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 12, 2025 at 09:31:37AM +0100, Jan Beulich wrote:
>> On 11.03.2025 21:47, Andrew Cooper wrote:
>>> On 06/01/2025 11:54 am, Jan Beulich wrote:
>>>> On 06.01.2025 12:26, Andrew Cooper wrote:
>>>>> Regular data access into the trampoline is via the directmap.
>>>>>
>>>>> As now discussed quite extensively in asm/trampoline.h, the trampoline is
>>>>> arranged so that only the AP and S3 paths need an identity mapping, and that
>>>>> they fit within a single page.
>>>>>
>>>>> Right now, PFN_UP(trampoline_end - trampoline_start) is 2, causing more than
>>>>> expected of the trampoline to be mapped.  Cut it down just the single page it
>>>>> ought to be.
>>>>>
>>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>> Thanks.Â  However,
>>>
>>>> on the basis that this improves things. However, ...
>>>>
>>>>> --- a/xen/arch/x86/x86_64/mm.c
>>>>> +++ b/xen/arch/x86/x86_64/mm.c
>>>>> @@ -718,14 +718,16 @@ void __init zap_low_mappings(void)
>>>>>  {
>>>>>      BUG_ON(num_online_cpus() != 1);
>>>>>  
>>>>> -    /* Remove aliased mapping of first 1:1 PML4 entry. */
>>>>> +    /* Stop using l?_bootmap[] mappings. */
>>>>>      l4e_write(&idle_pg_table[0], l4e_empty());
>>>>>      flush_local(FLUSH_TLB_GLOBAL);
>>>>>  
>>>>> -    /* Replace with mapping of the boot trampoline only. */
>>>>> +    /*
>>>>> +     * Insert an identity mapping of the AP/S3 part of the trampoline, which
>>>>> +     * is arranged to fit in a single page.
>>>>> +     */
>>>>>      map_pages_to_xen(trampoline_phys, maddr_to_mfn(trampoline_phys),
>>>>> -                     PFN_UP(trampoline_end - trampoline_start),
>>>>> -                     __PAGE_HYPERVISOR_RX);
>>>>> +                     1, __PAGE_HYPERVISOR_RX);
>>>> ... literal numbers like this - however well they are commented - are
>>>> potentially problematic to locate in case something changes significantly.
>>>> The 1 here really would want connecting with the .equ establishing
>>>> wakeup_stack.
>>> how do you propose doing this?
>>>
>>> PFN_UP(wakeup_stack - trampoline_start) doesn't have the same obvious
>>> connection, and it would involve partly undoing 7d73c6f196a5 which hid
>>> the symbol recently.
>>>
>>> While 1 isn't ideal, it is next to a comment explaining what's going on,
>>> and it's not going to go stale in a silent way...Â  (It's also not liable
>>> to go stale either.)
>> If in
>>
>>         .equ    wakeup_stack, trampoline_start + PAGE_SIZE
>>
>> PAGE_SIZE was replaced by a new (in asm/trampoline.h) TRAMPOLINE_PERM_SIZE,
>> you could use PFN_UP(TRAMPOLINE_PERM_SIZE) here to establish a connection.
>>
>> I have to admit I also don't really see why things going stale here would
>> (a) be unlikely and (b) be guaranteed to not go silently.

The size can't go to 0 or everything will break, and if it goes larger
than 1 (which it almost certainly never will), then APs and/or S3 will
break, and we've got both of these in CI.

Furthermore, the actual thing which matters is:

> /* Map the permanent trampoline page into l1_bootmap[]. */
> movÂ Â Â Â  sym_esi(trampoline_phys), %ecx
> leaÂ Â Â Â  __PAGE_HYPERVISOR_RX(%ecx), %edx /* %edx = PTE to writeÂ  */
> shrÂ Â Â Â  $PAGE_SHIFT, %ecxÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* %ecx = Slot to write */
> movÂ Â Â Â  %edx, sym_offs(l1_bootmap)(%esi, %ecx, 8)

which hardcodes 1 page, because there's almost certainly no chance this
will ever change.

>>  We just don't
>> know what we may need to add to the trampoline, sooner or later.
> Maybe we could introduce trampoline_{ap?,runtime?}_{start,end} that
> covers this more narrow section of the trampoline code?

We already have one of those, and a linker assertion that it stays below
1k, so wakeup_stack is at least 3k.

The complexity is that the wakeup_stack overlays some init-only logic in
the placed trampoline.Â  It's not something that exists concretely in the
Xen image.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 19:54:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 19:54:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915356.1320889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttB6O-0002aB-1Q; Fri, 14 Mar 2025 19:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915356.1320889; Fri, 14 Mar 2025 19: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 1ttB6N-0002a4-To; Fri, 14 Mar 2025 19:53:51 +0000
Received: by outflank-mailman (input) for mailman id 915356;
 Fri, 14 Mar 2025 19:53: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ttB6M-0002Zx-2k
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 19:53:50 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09845876-010e-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 20:53:45 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-ac27cb35309so390373066b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 12:53:45 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3147f0e4esm264417566b.72.2025.03.14.12.53.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 12: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: 09845876-010e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741982024; x=1742586824; 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=OlCdn30LuLx3jkLNkZf5pQ4aorBumVllxG/LbpbOxaU=;
        b=YMuYJe2lX/YIxomEsk4PSmhiIw+Un4RiGKWa5xhW5eKjdG4EwIzNsoNRYod/lnPUpP
         +eKOsE7d6GYp3U0k+xy/uy/CISj9uYtj8O2PpceOZ9C8uHCD+RxVudhC4bYjPBBxUDvO
         ksVGcC3NVjPNMdaTdoUQKoelkA+qMQUZfrYNM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741982024; x=1742586824;
        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=OlCdn30LuLx3jkLNkZf5pQ4aorBumVllxG/LbpbOxaU=;
        b=iNN++//ew0OhK9LCfbiHkNEEzS+hbEWts4VS2uzozmj87PoQYhRruEs1yWGfDVMocG
         tCePgL1SsijHrh55ZOBgqzZCgTgJNFWPZWiXS522FxNX3ptgw3e9aTf0SiHMsMWP3nWX
         QFJT/7pK08aQ8NzWSfJoA/nUA+wK9QlBC4Q9tqKbX8DUFSG8AuLdnEuoTUssR4483lB7
         CKf8awS7VLmTm8W/XUhzHsToPihpC5kBP3J1CiygPk/pBJteXI7d2cnT3k3SBJEcxsms
         HXkhNikVgCTZ1lRLXtg3DIYbkHdvhIDFG6J6GjhT/nfFkRHAq60+bpthw0ISHUaIFiOQ
         pMGQ==
X-Forwarded-Encrypted: i=1; AJvYcCWrqjkHoHV9fAlr1yx3FRY2igDsAyuZXQXrqRPSlliIE15FIDDXMuuOolDOLrct8i2SlVICFDf66mM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2OoLnVUkIjycg1yu+3P5Rz+Q9ruK1qGFpdzlCDuYFHKK1s3yh
	jo4fO8tbOiTutHAk2EywxrV3dy5SjhWplEqFnTNk//7XWjENgQ+W/66F995h9Gdehj0jzYdvDsg
	G
X-Gm-Gg: ASbGnctfOmBcDYLiATH8X3lP0lV2eeLVNIX4KagdDLddW54OeCj1eNWiojr3z3yM5Jz
	xZksmq6bv1WSUABbeUS/JfwJm5GzcVOF1B4bSh5dKv5xWyuP/vY0HN0LFatG5kHrgGezfF8vnm1
	bnYDV2tq/erZNAioiN3m7T0FxDSeFiAKvzdOml8AcLsmX5SeTBs0YdFT/kBzoPqsVqES1c28iOK
	KvuPuKOVY8MU9d1c4XOmP4rYDDuvkLJATforzz1YNDUfZrJWhM6Q8LlpZuglV8t5QcnM+AG/92w
	QEYZmjY1e9tuG0h1T+RCWd/zsuTFcZiCbZ/opsAwST0ksPy8GiZtPYZPiULZ2DZrlm/H/sD3sF8
	gvIPGmK7L
X-Google-Smtp-Source: AGHT+IFmoDGu/19XzP4LypzCLyqsP2keYT1aY78OnGJIYaMVXmiqcSfo2hrhc/kJ8az5h+fVnjiz0Q==
X-Received: by 2002:a17:907:7296:b0:ac2:92df:fab3 with SMTP id a640c23a62f3a-ac330181aaamr468296766b.16.1741982024469;
        Fri, 14 Mar 2025 12:53:44 -0700 (PDT)
Message-ID: <1a5ed8ad-0cc7-4e05-9b9c-cd6930d9b9ea@citrix.com>
Date: Fri, 14 Mar 2025 19:53:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/console: make console buffer size configurable
To: dmkhn@proton.me, xen-devel@lists.xenproject.org
Cc: anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com
References: <20250311070912.730334-1-dmkhn@proton.me>
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: <20250311070912.730334-1-dmkhn@proton.me>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/03/2025 7:09 am, dmkhn@proton.me wrote:
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 89db6e83be..a471a9f7ce 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -425,10 +425,11 @@ The following are examples of correct specifications:
>  ### conring_size
>  > `= <size>`
>  
> -> Default: `conring_size=16k`
> -
>  Specify the size of the console ring buffer.
>  
> +The default console ring buffer size is selected at build time via
> +CONFIG_CONRING_SHIFT setting.

I am firmly in support of this option.Â  I've been carrying:

-#define _CONRING_SIZE 16384
+#define _CONRING_SIZE KB(64)

in the XenServer patchqueue for more than a decade now, seeing as the
default simply isn't big enough.


However, there's a subtlety which probably needs expanding on, now it's
being discussed in documentation.

The new CONFIG_CONRING_SHIFT controls the size of of the buffer in
.init.data.Â  We don't have .init.bss, so this affects the compiled size
of Xen.

The command line controls the size of the dynamic allocation.Â  This is
effectively a realloc() of the .init buffer, and happens unconditionally
whether the numbers are the same or not.

opt_conring_size is guestimated in console_init_postirq() if the user
hasn't chosen a value.Â  When allocating the runtime buffer, the larger
of conring_size and opt_conring_size is taken, and then the buffer is
progressively rounded by order until a successful allocation can be made.

i.e. there's no sane relationship between the options given, and the
eventual size of the buffer.

In order to not drop boot messages, the .init.data needs to be large
enough to contain the messages until console_init_ring() is run.Â  The
situation could be improved by moving this as early as possible.


Anyway, we obviously don't want to go into that detail, but it's also a
little more complicated than currently given.


Not for this patch, but if anyone is feeling at a loose end, `conring`
and `conring_size` should become __ro_after_init, and
console_init_ring() can become much more efficient by using 1 or 2
memcpy()'s, rather than copying the ring a byte at a time.

Also, "opt_conring_size = PAGE_SIZE << order" is UB when the user
selects 2G size, as PAGE_SIZE is signed, and will overflow to 0 if the
user selects 4G-or-more, and then all the masking logic breaks.

Given that the size is rounded down without the users consent anyway,
it's probably better to to just clamp a maximum.

Finally, the buffer doesn't need to be aligned on it's size; it just
needs to be contiguous (and even then, only for kexec).Â  Combined with
the rounding-down, this might result in the buffer being unnecessarily
smaller than requested.

IIRC, ARM has another case which wants contiguous but not page aligned,
and it would be nice to make this an available allocation option.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 20:20:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 20:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915378.1320898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttBW8-0001Ar-4f; Fri, 14 Mar 2025 20:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915378.1320898; Fri, 14 Mar 2025 20: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 1ttBW8-0001Ak-1r; Fri, 14 Mar 2025 20:20:28 +0000
Received: by outflank-mailman (input) for mailman id 915378;
 Fri, 14 Mar 2025 20: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ttBW7-0001AZ-J5
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 20:20:27 +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 c3c83672-0111-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 21:20:26 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e61375c108so3284262a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 13:20:26 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e816968bfbsm2312036a12.17.2025.03.14.13.20.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 13:20: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: c3c83672-0111-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741983625; x=1742588425; 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=5wMjfzLtEb/bi5LDuKwlW64dGVHZpMNyWVYDE3SWlfE=;
        b=uufGFfIQ/gPuHframATXd5/RuiJ7VQJAr/lWeMT0aVTvwB49wEOwiJTmbTGCR/OQlG
         L92PuNiJpETWFFE13TcZhuc96Uu326yDXvRR91RzL+7izjrv2kby59ORlrCn+522keBy
         Emlny1ovGPS16LQbFmky+JF0dw7o7jZTy1SlE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741983625; x=1742588425;
        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=5wMjfzLtEb/bi5LDuKwlW64dGVHZpMNyWVYDE3SWlfE=;
        b=d9K02JirAkekQ0Xy6b3l0QQVKdPiepUe4any3g8vKZeTc8/u1935tsqwpgtdmPm81Q
         /Vm0nHV2ELoDGQKQDRqMOmEh0aWRhJ7+ABJ0UufC0Hp2DYOx8tQs5mfR9IqW5UVY8ucG
         3RbmjoofgFOOBfkzgSTI4mzajOiBR77Rum1UJkqni9jQTKUCSBnRYTEwVvw4QFfZQTfw
         vzH48p+USLN7uWYE0bCObOmc8AUicby1lWiuJftrwUQLVp06CNoIbROaiKd550V43epK
         5SUWXPwRyf9tNWFzE9nQSza+QehNHf8xOPU18d8A3LD0QYVvogeIh8rdi46YXLLYmCDD
         hbLg==
X-Forwarded-Encrypted: i=1; AJvYcCXzVaCe+HMWYY27LyspmmOgfkuHjc+JwfXVSGMfwgnzwrngE2lLPy4XMBsZxIkOKWSdpiEN+pd+xR0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVYFDj6cBU+8mtYrBNZQktZsqop+5KaIk2e0GqXwDnOtEfyIAs
	s9DXy+B5IThGrihe9oxlxQulqXSSUILVjuXu8+Wi0+wIP9UAT7U12OCgXyB5dmA=
X-Gm-Gg: ASbGnctpHZD+3MgKzGpn+gmOa95sC3mLZ0hm8EgVG3mhW8WiaL+5OQgooll7LRcW18W
	nNLc6ZfMPBvfL6axga6nEZ6xq+M9G8r5RqyGdUazmGT1H9Ube6nUHnzil41S7kG7H7qf9o/tMS7
	tWzbwJcIaVJvqPK9NY2+N0hXfPYTi+b3H8/SjEor0Rok+NvTorfBp6KzJbvjz9XhOs3C1jsXT3q
	L24qay9dc8AzQ3ji0Vh/0c2puDD03wlNNVpyC/1XOT23xJ5aNoWoxL4zWVtXioIX09byGVzGgQq
	qJ1HSp/RdaxClqKYp8WoUMAxLtVDvRXcMYyd/UgnVMyqyFm5DRHhUDWjNK6Z5A0UOCRCU4bFLGy
	vkkI9/3UP/fAgjPvuk48=
X-Google-Smtp-Source: AGHT+IF/JGHAZtsJRAS2hezl81WAqJBvZ9Oxhm3QMYaYH3gudEh02GFgOflbqZcVYvIOVdXzgO2VcA==
X-Received: by 2002:a05:6402:35d4:b0:5e6:1838:e8c6 with SMTP id 4fb4d7f45d1cf-5e8a032c2b4mr4546803a12.22.1741983625401;
        Fri, 14 Mar 2025 13:20:25 -0700 (PDT)
Message-ID: <e9c35acc-007b-4b31-aa27-3a9b852fc0cb@citrix.com>
Date: Fri, 14 Mar 2025 20:20:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: add HVM-specific Kconfig
To: dmkhn@proton.me, xen-devel@lists.xenproject.org
Cc: anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com
References: <20250313023822.2523270-1-dmukhin@ford.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: <20250313023822.2523270-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/03/2025 2:39 am, dmkhn@proton.me wrote:
> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> new file mode 100644
> index 0000000000..2ca664f36f
> --- /dev/null
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -0,0 +1,76 @@
> +menuconfig HVM
> +	bool "HVM support"
> +	depends on !PV_SHIM_EXCLUSIVE
> +	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
> +	  guests which have no specific Xen knowledge.
> +
> +	  This option is needed if you want to run HVM or PVH domains.
> +
> +	  If unsure, say Y.
> +
> +if HVM
> +
> +menu "Hardware Support for Virtualization"
> +
> +config AMD_SVM
> +	bool "AMD-V" if AMD && EXPERT
> +	default y
> +	help
> +	  Enables virtual machine extensions on platforms that implement the
> +	  AMD Virtualization Technology (AMD-V).
> +	  If your system includes a processor with AMD-V support, say Y.
> +	  If in doubt, say Y.
> +
> +config INTEL_VMX
> +	bool "Intel VT-x" if INTEL && EXPERT
> +	default y
> +	select ARCH_VCPU_IOREQ_COMPLETION
> +	help
> +	  Enables virtual machine extensions on platforms that implement the
> +	  Intel Virtualization Technology (Intel VT-x).
> +	  If your system includes a processor with Intel VT-x support, say Y.
> +	  If in doubt, say Y.
> +
> +endmenu

Looking at the end result, I'd suggest dropping the menu around SVM and VMX.

It would be nice to group them under a name called Vendor Support, but I
don't think the Kconfig language can express this, and the full menu
becomes empty if both AMD and INTEL are deselected.

Having them simply at the top of the HVM menu seems like the less bad
option.

There is a bunch of cleanup which should be done, but explicitly not in
this patch which is simply restructuring.Â  I'll do a patch in due course.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 20:22:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 20:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915392.1320922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttBY9-0003Mp-Jk; Fri, 14 Mar 2025 20:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915392.1320922; Fri, 14 Mar 2025 20:22: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 1ttBY9-0003Mi-FZ; Fri, 14 Mar 2025 20:22:33 +0000
Received: by outflank-mailman (input) for mailman id 915392;
 Fri, 14 Mar 2025 20: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=AIJu=WB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ttBY7-0003MF-Uo
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 20:22:31 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0dc774e9-0112-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 21:22:30 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id B0D3DA488DF;
 Fri, 14 Mar 2025 20:16:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0AD04C4CEE3;
 Fri, 14 Mar 2025 20:22:27 +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: 0dc774e9-0112-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741983749;
	bh=YNCessG+uDSbwGXWuodhi+296lWS/qzWXOaYaGEjb6g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fOgA2GObvuTseKVq3XX6cFlneDHRB7EOGJJ3mIDm6Vuozd/wcnoNQGN5jkAHZXyyq
	 MI4wOIDmXNlbi7bgAqRw+hCLv2xp0drmMUXNgrq0pifsu7w4X2/PHW3l2Ue8+A5Ne/
	 /t77RtLskjMNp59IN2WhxdWNjraqaKHBt7cOFz/F0wHldlQ0OglCq54r0TSJMZBRSx
	 HUqjPe6DOi9aaohl2KMcuCPpFjzulKhsfHircs346mrttPQzpqX775hq5GyOA1q3fH
	 /NgteNGotyJfw64WZJS8K3QwBwUqmwHL6lc9Zam3ugRCLPvhANft1jFiuyWV62duPq
	 SFH7HAOOdBZcQ==
Date: Fri, 14 Mar 2025 13:22:26 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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
Subject: Re: [PATCH 1/2] hw/xen: Fix xen_bus_realize() error handling
In-Reply-To: <20250314143500.2449658-2-armbru@redhat.com>
Message-ID: <alpine.DEB.2.22.394.2503141321390.3477110@ubuntu-linux-20-04-desktop>
References: <20250314143500.2449658-1-armbru@redhat.com> <20250314143500.2449658-2-armbru@redhat.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 14 Mar 2025, Markus Armbruster wrote:
> The Error ** argument must be NULL, &error_abort, &error_fatal, or a
> pointer to a variable containing NULL.  Passing an argument of the
> latter kind twice without clearing it in between is wrong: if the
> first call sets an error, it no longer points to NULL for the second
> call.
> 
> xen_bus_realize() is wrong that way: it passes &local_err to
> xs_node_watch() in a loop.  If this fails in more than one iteration,
> it can trip error_setv()'s assertion.
> 
> Fix by clearing @local_err.
> 
> Fixes: c4583c8c394e (xen-bus: reduce scope of backend watch)
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

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


> ---
>  hw/xen/xen-bus.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
> index 8260f1e1bb..2aacc1436f 100644
> --- a/hw/xen/xen-bus.c
> +++ b/hw/xen/xen-bus.c
> @@ -357,6 +357,7 @@ static void xen_bus_realize(BusState *bus, Error **errp)
>              error_reportf_err(local_err,
>                                "failed to set up '%s' enumeration watch: ",
>                                type[i]);
> +            local_err = NULL;
>          }
>  
>          g_free(node);
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 20:22:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 20:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915394.1320935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttBYF-0003fQ-RQ; Fri, 14 Mar 2025 20:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915394.1320935; Fri, 14 Mar 2025 20:22: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 1ttBYF-0003fF-Nq; Fri, 14 Mar 2025 20:22:39 +0000
Received: by outflank-mailman (input) for mailman id 915394;
 Fri, 14 Mar 2025 20:22: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=AIJu=WB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ttBYE-0003MF-Ba
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 20:22:38 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 120fac8b-0112-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 21:22:37 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 1947BA4729D;
 Fri, 14 Mar 2025 20:17:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 974E8C4CEE3;
 Fri, 14 Mar 2025 20:22: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: 120fac8b-0112-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741983756;
	bh=e/+ICA0UdW+Xu6KMh6EABG3DWjPfafP8epBewffPOR0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iN6snPiAnZ9QTC3EYOVHsXSbCT238s42nuZ8Fre6KzS3rGSmIfAJOlOpWsedSww3Z
	 vNRciT5mpKmdJiodZ6wvYkSl9GnkPbSV0S7r6fvyFUSwVXiQntxHO2thHlt2wuSCoR
	 F0aIYYq2wYmyomk/3l7iAJ1TJX6tCh6lvoHxYSu4tYPQWmS+0GVI+Cp/vegxQVfNns
	 zZ/j+18a/mu9DSL6HLdFbwY4/TMTFS6bFifyUL1sViu9PbouwjxhpJLiWlv+KUcgLS
	 7CB9ilXt230Ob6J84Y9aBBVczss5OPZkmC0duPxuX95qEyJqTyD1qY3ev5qnrRzsFR
	 kwESDEqPXJdlw==
Date: Fri, 14 Mar 2025 13:22:34 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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
Subject: Re: [PATCH 2/2] hw/xen: Downgrade a xen_bus_realize() non-error to
 warning
In-Reply-To: <20250314143500.2449658-3-armbru@redhat.com>
Message-ID: <alpine.DEB.2.22.394.2503141321300.3477110@ubuntu-linux-20-04-desktop>
References: <20250314143500.2449658-1-armbru@redhat.com> <20250314143500.2449658-3-armbru@redhat.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 14 Mar 2025, Markus Armbruster wrote:
> xen_bus_realize() reports a failure to set up a watch as error, but it
> doesn't treat it as one: it simply continues.  Report a warning
> instead.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

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


> ---
>  hw/xen/xen-bus.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
> index 2aacc1436f..f808a01813 100644
> --- a/hw/xen/xen-bus.c
> +++ b/hw/xen/xen-bus.c
> @@ -353,10 +353,9 @@ static void xen_bus_realize(BusState *bus, Error **errp)
>              xs_node_watch(xenbus->xsh, node, key, xen_bus_backend_changed,
>                            xenbus, &local_err);
>          if (local_err) {
> -            /* This need not be treated as a hard error so don't propagate */
> -            error_reportf_err(local_err,
> -                              "failed to set up '%s' enumeration watch: ",
> -                              type[i]);
> +            warn_reportf_err(local_err,
> +                             "failed to set up '%s' enumeration watch: ",
> +                             type[i]);
>              local_err = NULL;
>          }
>  
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 20:49:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 20:49:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915420.1320948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttByE-0001Vs-Sv; Fri, 14 Mar 2025 20:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915420.1320948; Fri, 14 Mar 2025 20:49: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 1ttByE-0001Vl-QO; Fri, 14 Mar 2025 20:49:30 +0000
Received: by outflank-mailman (input) for mailman id 915420;
 Fri, 14 Mar 2025 20:49: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ttByD-0001Vd-O2
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 20:49:29 +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 d1ebd23e-0115-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 21:49:27 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ac34257295dso93720966b.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 13:49:27 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a47fdcsm273079966b.146.2025.03.14.13.49.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 13:49: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: d1ebd23e-0115-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741985367; x=1742590167; 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=kWKBeQuJUntCARKpU3ty0Mc65OJMO0R3PNKxg2r3dlw=;
        b=a2p3FplU7XK7R8jKmLzY1TXpzrDvk9G19Gq4vRLQVNbej85PQ7rht0vmOfvBizg43O
         M5vVg60QyzOnBOwuv7a43PfJL1Q/tmg+qubcKr7nIXprYZZiOewZCT/+k4rM8xNPO2te
         USdoBBGNfgpYORt0ELdDgA8bW7vXvdtWSMQYo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741985367; x=1742590167;
        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=kWKBeQuJUntCARKpU3ty0Mc65OJMO0R3PNKxg2r3dlw=;
        b=mirOI9rfs95UYF21a0XKT16kEU7nTrygdRnLFqOLz5E/SPXv/sv4y+K+5Rm6lL3bH7
         CRTqVyc2zPL2rnLjPszoSnb7u91UeV1x+bOh3pVC4Rz/H/HEtD56tGSEoe3B97LUb6/M
         Y4SGug+rXodwh2lhoMMlMvwN/OXTUHPBDNQVWP+udt2DqXddYFeZO9g1rnSQf9J7kCSz
         hs+awF/Iz0mjCbiTRcesRGfVU8oGlwmg9jge6u891B4koMgrsozvNSu28cavbzKtO+Op
         gmo+vtuaS8U1c/oX4h8y5fMIgYjjLDl8y7h7cVIAlEeQW1H3WUEcAeqK80XTp8UTryRj
         TBCA==
X-Gm-Message-State: AOJu0YwtflnSieHb6qpIbrGcNmfQW6IqDT1Xio45gQnmzAN/RRSPRggd
	BTT3BwJ1ItpiOH7QzbHJm1YveKWGyi5O19c28Q7nMeThPF9LjddJCOJ3JZ21FeMhCjlVK+VidOk
	P
X-Gm-Gg: ASbGncvLvQoSdqpKjpebQmAUCw+yJNB4yTMqKmfsCuEn1SXySG8JO+Tqs8llx4UTgor
	Uku3CMZ1PQ/9mtUeQVk4aGjFUvgDPMbA44SPDXChAw6W84DMmjYTwBpi9Kf0aBUD8EnA/R6kTe8
	ID7T5+hFtrVtTSFG6fvXkFSoNg2RnWxsRFWMcmRuDBdfVtHvbMUAgFLJpsYGsK5gMshIOnU9+Hg
	KVVgSWXkheu6R9n2NB4Jy7VQIt6a0wwzxxd0rcSEUmxC/qLCwF4xinzsSgqmarORvXUylAqf3XI
	eRGldol6qklJea15gbN4KaI/gG8iW0OoGxv2G/eqfb28FmIMxcsOSYojDFWAj50Pw8aHuSq8OQ5
	5DkRaZblIU5aMiREJqx2l6fWa
X-Google-Smtp-Source: AGHT+IGooEwOAYBKvvjwqqNk/r5gIY0aNgGG/FqT7CwUVBeVGjtZKgVFECTqOynfr+95rl0MYgmsoA==
X-Received: by 2002:a17:907:a08a:b0:ac2:ba52:f918 with SMTP id a640c23a62f3a-ac3302c5738mr414029466b.23.1741985366756;
        Fri, 14 Mar 2025 13:49:26 -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] x86/hvm: Use for_each_set_bit() in hvm_emulate_writeback()
Date: Fri, 14 Mar 2025 20:49:20 +0000
Message-Id: <20250314204920.118065-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

... which is more consise than the opencoded form, and more efficient when
compiled.

For production VMs, ~100% of emulations are simple MOVs, so it is likely that
there are no segments to write back.

Furthermore, now that find_{first,next}_bit() are no longer in use, the
seg_reg_{accessed,dirty} fields aren't forced to be unsigned long, although
they do need to remain unsigned int because of __set_bit() elsewhere.

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>

v2:
 * Don't clear reg_dirty.  That mess can be sorted out later.

Bloat-o-meter reports:

  add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-43 (-43)
  Function                                     old     new   delta
  hvm_emulate_writeback                        131      88     -43

find_{first,next}_bit() did expand inline without function calls, but the loop
they create has two exit paths, and repeatedly shifts seg_reg by the last
answer before doing BSF on the result.

I still can't persuade GCC to do the early exit prior to establishing the
stack frame, and unlike do_livepatch_work(), it's not critical enough to
require noinline games.
---
 xen/arch/x86/hvm/emulate.c             | 18 ++++++++----------
 xen/arch/x86/include/asm/hvm/emulate.h |  4 ++--
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 1db14642b362..e8c704ab041c 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -3022,18 +3022,16 @@ void hvm_emulate_init_per_insn(
 void hvm_emulate_writeback(
     struct hvm_emulate_ctxt *hvmemul_ctxt)
 {
-    enum x86_segment seg;
+    struct vcpu *curr;
+    unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;
 
-    seg = find_first_bit(&hvmemul_ctxt->seg_reg_dirty,
-                         ARRAY_SIZE(hvmemul_ctxt->seg_reg));
+    if ( likely(!dirty) )
+        return;
 
-    while ( seg < ARRAY_SIZE(hvmemul_ctxt->seg_reg) )
-    {
-        hvm_set_segment_register(current, seg, &hvmemul_ctxt->seg_reg[seg]);
-        seg = find_next_bit(&hvmemul_ctxt->seg_reg_dirty,
-                            ARRAY_SIZE(hvmemul_ctxt->seg_reg),
-                            seg+1);
-    }
+    curr = current;
+
+    for_each_set_bit ( seg, dirty )
+        hvm_set_segment_register(curr, seg, &hvmemul_ctxt->seg_reg[seg]);
 }
 
 /*
diff --git a/xen/arch/x86/include/asm/hvm/emulate.h b/xen/arch/x86/include/asm/hvm/emulate.h
index d61eacfaa779..c7a2d2a5be4e 100644
--- a/xen/arch/x86/include/asm/hvm/emulate.h
+++ b/xen/arch/x86/include/asm/hvm/emulate.h
@@ -37,8 +37,8 @@ struct hvm_emulate_ctxt {
     unsigned int insn_buf_bytes;
 
     struct segment_register seg_reg[10];
-    unsigned long seg_reg_accessed;
-    unsigned long seg_reg_dirty;
+    unsigned int seg_reg_accessed;
+    unsigned int seg_reg_dirty;
 
     /*
      * MFNs behind temporary mappings in the write callback.  The length is
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 21:19:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 21:19:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915435.1320959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttCRD-0001UU-5W; Fri, 14 Mar 2025 21:19:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915435.1320959; Fri, 14 Mar 2025 21:19: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 1ttCRD-0001UN-1C; Fri, 14 Mar 2025 21:19:27 +0000
Received: by outflank-mailman (input) for mailman id 915435;
 Fri, 14 Mar 2025 21:19: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=AIJu=WB=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ttCRC-0001UH-0e
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 21:19:26 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0035919f-011a-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 22:19:23 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id EA058A4891E;
 Fri, 14 Mar 2025 21:13:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55CC0C4CEE3;
 Fri, 14 Mar 2025 21:19:21 +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: 0035919f-011a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1741987162;
	bh=GLcAMmcXRgOWRnahbY89cFABCHyNH8QJQ7UQDUWleTQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uJTab6y6+NpSmc2pGNhyHst5XAL64KzLubrzEYAX/xQCRNA3LdI7hb0oi35zj3Sjs
	 Xemj5DrmmoP9pQtZQpDDO1PwV57Ln1O4bo83jQ7KavjB99bFcPrgyZPI1+V0PxAiYl
	 DCAM5J+Fva25MAnkD0O0vnAQAJhI4A8wKgGdINVbmYh2y9zaxTrIJ3TzE2dIg//sob
	 tQjesYJznOZFcXWk1vhyqXlHhWmFXj4x5nT5KEfZS9gppivdDDv1x0tqVybpydRw5p
	 +/0dDRQyB7Fd5JR+hgbyAtjyhbbaGKEqZ30cD05uqm7Dq94fHgbC90Ki5xLHIXIBfU
	 jRjziG8JxLRiQ==
Date: Fri, 14 Mar 2025 14:19:19 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] ci: add yet another HW runner
In-Reply-To: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
Message-ID: <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-814727070-1741987161=:3477110"

  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-814727070-1741987161=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> 
> This one has working S3, so add a test for it here.
> 
> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> ---
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> The suspend test added here currently fails on staging[1], but passes on
> staging-4.19[2]. So the regression wants fixing before committing this
> patch.

We could commit the patch now without the s3 test.

I don't know what the x86 maintainers think about fixing the suspend
bug, but one idea would be to run a bisection between 4.20 and 4.19.


> For this to work, the runner needs to be added to relevant repositories
> (especially hardware/xen one). Somebody with appropriate access need to
> go to Settings->CI/CD->Runners and click "enable for this project" on
> hal9001 runner.

I did that now


> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
> ---
>  automation/gitlab-ci/test.yaml | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 9530e36e9aaa..6b8e1b830e3d 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -155,6 +155,16 @@
>    tags:
>      - qubes-hw2
>  
> +.zen2-x86-64:
> +  # it's really similar to the above
> +  extends: .adl-x86-64
> +  variables:
> +    PCIDEV: "01:00.0"
> +    PCIDEV_INTR: "MSI-X"
> +    CONSOLE_OPTS: "console=com1 com1=115200,8n1,pci,msi,04:00.0"
> +  tags:
> +    - qubes-hw1
> +
>  .zen3p-x86-64:
>    # it's really similar to the above
>    extends: .adl-x86-64
> @@ -301,6 +311,22 @@ adl-tools-tests-pvh-x86-64-gcc-debug:
>      - *x86-64-test-needs
>      - alpine-3.18-gcc-debug
>  
> +zen2-smoke-x86-64-gcc-debug:
> +  extends: .zen2-x86-64
> +  script:
> +    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *x86-64-test-needs
> +    - alpine-3.18-gcc-debug
> +
> +zen2-suspend-x86-64-gcc-debug:
> +  extends: .zen2-x86-64
> +  script:
> +    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *x86-64-test-needs
> +    - alpine-3.18-gcc-debug
> +
>  zen3p-smoke-x86-64-gcc-debug:
>    extends: .zen3p-x86-64
>    script:
> -- 
> 2.48.1
> 
--8323329-814727070-1741987161=:3477110--


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 21:21:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 21:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915448.1320969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttCTe-0004ZS-Jb; Fri, 14 Mar 2025 21:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915448.1320969; Fri, 14 Mar 2025 21: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 1ttCTe-0004ZL-H3; Fri, 14 Mar 2025 21:21:58 +0000
Received: by outflank-mailman (input) for mailman id 915448;
 Fri, 14 Mar 2025 21: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=vXxa=WB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ttCTd-0004ZE-Jo
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 21:21:57 +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 5b7f557e-011a-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 22:21:56 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac2bfcd2a70so345185166b.0
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 14:21:56 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3147e9247sm272166966b.44.2025.03.14.14.21.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Mar 2025 14:21: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: 5b7f557e-011a-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741987316; x=1742592116; 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=le9eLA7Fx6pKm1s0fOdg5K0YAK9d2evBIjQDUHTsrMo=;
        b=IMykcxMM5OINaNAURZ1q2EshRHwMOmZpyzT0QSzpp20So9uJOHubnMs3dvKC9gAvXE
         Aj6K/xiuN43ovW5esQJlVka1I6Ya/Z6fr6vRv0iyInHiOvF5GOxCUQtRGFClSUW7G1d4
         /o9EIqjE8ilMuOduyTsUOztYHz9xpPYuY4h6s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741987316; x=1742592116;
        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=le9eLA7Fx6pKm1s0fOdg5K0YAK9d2evBIjQDUHTsrMo=;
        b=U4zFxONJB7U1NG+X20QtzB281/w5HGIo9tBwPle21G2CR2jXpreDOV6tCS8Lot+OQ9
         M3vvAunGZLub/+KSMTxKM2CJh7WGDQua1+6bhFAeAbaUMAQvB0LpAN0bC6pfVxiN2QnM
         AeOpb+DizFovSlzfNAEXvpvEjoDoFP5rmrtKjGusoQrgaUBJewkmMHzhUosK0VjguH/R
         jnaNlDpBXtEBx6ThyZmuIUEpr4ja6nQb/UgGwXIHCXa/kD36EaGoLVw5Z84P9nDVOKyK
         +vLH5CfDe5LZYxBrGrqRWBc3yoXuONWCOagmufNTYKjJr3g0ZYeIZ6hwITOmm49DjrLd
         A0rg==
X-Gm-Message-State: AOJu0YyoXodfVqM6aEQVewwsncpJJwLM2XEmSxMlxBJddBqL5DQ/0g+w
	hlMaXp08TaaMn47JoDyE2/TKK6GXYW99QpWwxuYcTkfDFre+XunK0bUJs0bKjBR0LcK5qMi7DZB
	S
X-Gm-Gg: ASbGncuf2al5BT9SpNAg54jfvVhM4Gl9b5looBR7EJ/ObGw6A90I5EOPUDIkC+pmvBQ
	LBLGOP/5+/n/reITVmkGN4hnVY0w1iX9l5v8WqjDSho9vJxzH7eta8hsBoWn6U9wn9c8ftvhUCI
	f9TnzKcqypID0Dqy00teowloLpWCMXqUlVB8oFkoNWSqZ6xBiuX+RlcB5BZtwgCB6MwDDZ9IZ0O
	ZBt0ZuvtDAQBHiO1It4pcl3Gzc67vcbJqcx9/95vfh+yK9Xj5/J1ALsYgIEZgwJWRADmrV0emO2
	jd4x5eYxndK5KhRSmcb0jTL+p1fm92Vf6sv5ACIFYZuErvxA3MRG/yyoZvgECBV8NIDocGQi/TE
	bgV/a/dxuwX/1y6nZG3mrN5Cl
X-Google-Smtp-Source: AGHT+IFad/1s2+Gy1XQe4uGXb0y+jHW/InzX01CxGpQPcoOyu2q8yDl10eDbCyki/1Z3A8uZ8mXEbg==
X-Received: by 2002:a17:907:7fa6:b0:abf:7636:3cab with SMTP id a640c23a62f3a-ac3302ef9ccmr475467566b.29.1741987315607;
        Fri, 14 Mar 2025 14:21:55 -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>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2] ARM/vgic: Use for_each_set_bit() in vgic_mmio_write_sgir()
Date: Fri, 14 Mar 2025 21:21:53 +0000
Message-Id: <20250314212153.136154-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The bitmap_for_each() expression only inspects the bottom 8 bits of targets.
Change it's type to uint8_t and use for_each_set_bit() which is more efficient
over scalars.

GICD_SGI_TARGET_LIST_MASK is 2 bits wide.  Two cases discard the prior
calculation, and one case exits early.

Therefore, move the GICD_SGI_TARGET_MASK calculation into the only case which
wants it, and use MASK_EXTR() to simplify the expression.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>

v2:
 * Split out of prior VGIC work as it's somewhat standalone.
 * Leave the case labels as they were.
---
 xen/arch/arm/vgic/vgic-mmio-v2.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mmio-v2.c
index 670b335db2c3..da62a8078b5f 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v2.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
@@ -88,13 +88,12 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
     struct domain *d = source_vcpu->domain;
     unsigned int nr_vcpus = d->max_vcpus;
     unsigned int intid = val & GICD_SGI_INTID_MASK;
-    unsigned long targets = (val & GICD_SGI_TARGET_MASK) >>
-                            GICD_SGI_TARGET_SHIFT;
-    unsigned int vcpu_id;
+    uint8_t targets = 0;
 
     switch ( val & GICD_SGI_TARGET_LIST_MASK )
     {
     case GICD_SGI_TARGET_LIST:                    /* as specified by targets */
+        targets = MASK_EXTR(val, GICD_SGI_TARGET_MASK);
         targets &= GENMASK(nr_vcpus - 1, 0);      /* limit to existing VCPUs */
         break;
     case GICD_SGI_TARGET_OTHERS:
@@ -104,11 +103,12 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
     case GICD_SGI_TARGET_SELF:                    /* this very vCPU only */
         targets = (1U << source_vcpu->vcpu_id);
         break;
-    case 0x3:                                     /* reserved */
+
+    default:                                      /* reserved */
         return;
     }
 
-    bitmap_for_each ( vcpu_id, &targets, 8 )
+    for_each_set_bit ( vcpu_id, targets )
     {
         struct vcpu *vcpu = d->vcpu[vcpu_id];
         struct vgic_irq *irq = vgic_get_irq(d, vcpu, intid);

base-commit: 17e5060023685f3ca4d91b69675c5ba77685845a
prerequisite-patch-id: b61e58b40ec8f03baec78dd76ed47debdc4f6734
prerequisite-patch-id: 8afac5fd1570ffad810f4721007063037910724b
prerequisite-patch-id: 14fc34d8e2613f9c122a7b08b32698d7c55f2760
prerequisite-patch-id: b894b277228a61a2d47b28f2f11951809ce09a55
prerequisite-patch-id: e024feb79e9db58aa401d423bd7a4e08da155387
prerequisite-patch-id: 6971f7be40c4fd296663ffad4f31aac0fa94838e
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 21:38:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 21:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915460.1320989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttCje-000831-4G; Fri, 14 Mar 2025 21:38:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915460.1320989; Fri, 14 Mar 2025 21:38: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 1ttCje-00082u-1T; Fri, 14 Mar 2025 21:38:30 +0000
Received: by outflank-mailman (input) for mailman id 915460;
 Fri, 14 Mar 2025 21:38: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=TLrw=WB=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ttCjc-000827-43
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 21:38:28 +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 a8c77410-011c-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 22:38:26 +0100 (CET)
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-116-ltqb4lcePE69hcWXSe8vYA-1; Fri,
 14 Mar 2025 17:38:21 -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 28885180034D; Fri, 14 Mar 2025 21:38:17 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.80.88])
 by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id B05D41944DC5; Fri, 14 Mar 2025 21:38: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: a8c77410-011c-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741988304;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=Syhhy4ulIUlWqTYydvlvGA6nZmvGM1l/r4DiZeh/SB8=;
	b=CtrgY4pF4HK/xRtrdtzhwGvSyf7wQ/oSw54uAhsMrYwEmcYlgu7v4FNzbG0DkIwXAT2y23
	eYTrTmo5jmEukZiJPMa0Uo7sOfOERvRaw8FfrcUhCryxsrH/OdW29LGgNc0xRVjhXdCHUP
	ubZKdCEBQ04dF9O1X9kDSGUH3UoGtMs=
X-MC-Unique: ltqb4lcePE69hcWXSe8vYA-1
X-Mimecast-MFC-AGG-ID: ltqb4lcePE69hcWXSe8vYA_1741988298
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	virtualization@lists.linux.dev
Cc: alexander.atanasov@virtuozzo.com,
	muchun.song@linux.dev,
	roman.gushchin@linux.dev,
	mhocko@kernel.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	mst@redhat.com,
	david@redhat.com,
	yosry.ahmed@linux.dev,
	hannes@cmpxchg.org,
	nphamcs@gmail.com,
	chengming.zhou@linux.dev,
	kanchana.p.sridhar@intel.com,
	llong@redhat.com,
	shakeel.butt@linux.dev
Subject: [PATCH v2 1/4] meminfo: add a per node counter for balloon drivers
Date: Fri, 14 Mar 2025 15:37:54 -0600
Message-ID: <20250314213757.244258-2-npache@redhat.com>
In-Reply-To: <20250314213757.244258-1-npache@redhat.com>
References: <20250314213757.244258-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12

Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
expose it through /proc/meminfo and other memory reporting interfaces.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 fs/proc/meminfo.c      | 2 ++
 include/linux/mmzone.h | 1 +
 mm/show_mem.c          | 4 +++-
 mm/vmstat.c            | 1 +
 4 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
index 8ba9b1472390..83be312159c9 100644
--- a/fs/proc/meminfo.c
+++ b/fs/proc/meminfo.c
@@ -162,6 +162,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
 	show_val_kb(m, "Unaccepted:     ",
 		    global_zone_page_state(NR_UNACCEPTED));
 #endif
+	show_val_kb(m, "Balloon:        ",
+		    global_node_page_state(NR_BALLOON_PAGES));
 
 	hugetlb_report_meminfo(m);
 
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 9540b41894da..71d3ff19267a 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -223,6 +223,7 @@ enum node_stat_item {
 #ifdef CONFIG_HUGETLB_PAGE
 	NR_HUGETLB,
 #endif
+	NR_BALLOON_PAGES,
 	NR_VM_NODE_STAT_ITEMS
 };
 
diff --git a/mm/show_mem.c b/mm/show_mem.c
index 43afb56abbd3..6af13bcd2ab3 100644
--- a/mm/show_mem.c
+++ b/mm/show_mem.c
@@ -260,6 +260,7 @@ static void show_free_areas(unsigned int filter, nodemask_t *nodemask, int max_z
 			" pagetables:%lukB"
 			" sec_pagetables:%lukB"
 			" all_unreclaimable? %s"
+			" Balloon:%lukB"
 			"\n",
 			pgdat->node_id,
 			K(node_page_state(pgdat, NR_ACTIVE_ANON)),
@@ -285,7 +286,8 @@ static void show_free_areas(unsigned int filter, nodemask_t *nodemask, int max_z
 #endif
 			K(node_page_state(pgdat, NR_PAGETABLE)),
 			K(node_page_state(pgdat, NR_SECONDARY_PAGETABLE)),
-			str_yes_no(pgdat->kswapd_failures >= MAX_RECLAIM_RETRIES));
+			str_yes_no(pgdat->kswapd_failures >= MAX_RECLAIM_RETRIES),
+			K(node_page_state(pgdat, NR_BALLOON_PAGES)));
 	}
 
 	for_each_populated_zone(zone) {
diff --git a/mm/vmstat.c b/mm/vmstat.c
index 16bfe1c694dd..d3b11891a942 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1276,6 +1276,7 @@ const char * const vmstat_text[] = {
 #ifdef CONFIG_HUGETLB_PAGE
 	"nr_hugetlb",
 #endif
+	"nr_balloon_pages",
 	/* system-wide enum vm_stat_item counters */
 	"nr_dirty_threshold",
 	"nr_dirty_background_threshold",
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 21:38:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 21:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915459.1320978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttCjX-0007no-TQ; Fri, 14 Mar 2025 21:38:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915459.1320978; Fri, 14 Mar 2025 21: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 1ttCjX-0007nh-QJ; Fri, 14 Mar 2025 21:38:23 +0000
Received: by outflank-mailman (input) for mailman id 915459;
 Fri, 14 Mar 2025 21:38: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=TLrw=WB=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ttCjW-0007nb-Ns
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 21:38:22 +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 a5147c69-011c-11f0-9899-31a8f345e629;
 Fri, 14 Mar 2025 22:38:19 +0100 (CET)
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-546-Z7N13xufNW6XUwaNZpccyg-1; Fri,
 14 Mar 2025 17:38:15 -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 898481800258; Fri, 14 Mar 2025 21:38:11 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.80.88])
 by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 20D901944E42; Fri, 14 Mar 2025 21:38:03 +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: a5147c69-011c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741988298;
	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=x8R8SnT0xlNk6NOCsego5+xxOFgcolEZepoyw3FUxJU=;
	b=O0ymh87ixnRcTnnAJ2TTi4/4cPMQznJ9zk2zxwhdTUHEKciMmYir4IiC85tA6YJhUvXucP
	niGVhaLgpESBtDXBWjGSQtQHazoVQkw5SpZLJX294uHhsmsBUjBdRv07c/6WhCp9QEW1aa
	Phut0DfzksvKTowNCFOuxs8VTrOxxpU=
X-MC-Unique: Z7N13xufNW6XUwaNZpccyg-1
X-Mimecast-MFC-AGG-ID: Z7N13xufNW6XUwaNZpccyg_1741988292
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	virtualization@lists.linux.dev
Cc: alexander.atanasov@virtuozzo.com,
	muchun.song@linux.dev,
	roman.gushchin@linux.dev,
	mhocko@kernel.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	mst@redhat.com,
	david@redhat.com,
	yosry.ahmed@linux.dev,
	hannes@cmpxchg.org,
	nphamcs@gmail.com,
	chengming.zhou@linux.dev,
	kanchana.p.sridhar@intel.com,
	llong@redhat.com,
	shakeel.butt@linux.dev
Subject: [PATCH v2 0/4] track memory used by balloon drivers
Date: Fri, 14 Mar 2025 15:37:53 -0600
Message-ID: <20250314213757.244258-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12

This series introduces a way to track memory used by balloon drivers.

Add a NR_BALLOON_PAGES counter to track how many pages are reclaimed by the
balloon drivers. First add the accounting, then updates the balloon drivers
(virtio, Hyper-V, VMware, Pseries-cmm, and Xen) to maintain this counter. The
virtio, Vmware, and pseries-cmm balloon drivers utilize the balloon_compaction
interface to allocate and free balloon pages. Other balloon drivers will have to
maintain this counter manually.

This makes the information visible in memory reporting interfaces like
/proc/meminfo, show_mem, and OOM reporting.

This provides admins visibility into their VM balloon sizes without
requiring different virtualization tooling. Furthermore, this information
is helpful when debugging an OOM inside a VM.

V2 changes:
- Add counter to the balloon_compaction interface
- Dropped patches for virtio and VMware as they use balloon_compaction interface

Tested: virtio_balloon, run stress-ng, inflate balloon, oom prints
Signed-off-by: Nico Pache <npache@redhat.com>

Nico Pache (4):
  meminfo: add a per node counter for balloon drivers
  balloon_compaction: update the NR_BALLOON_PAGES state
  hv_balloon: update the NR_BALLOON_PAGES state
  xen: balloon: update the NR_BALLOON_PAGES state

 drivers/hv/hv_balloon.c | 2 ++
 drivers/xen/balloon.c   | 4 ++++
 fs/proc/meminfo.c       | 2 ++
 include/linux/mmzone.h  | 1 +
 mm/balloon_compaction.c | 2 ++
 mm/show_mem.c           | 4 +++-
 mm/vmstat.c             | 1 +
 7 files changed, 15 insertions(+), 1 deletion(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 21:38:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 21:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915465.1320999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttCjm-0008Nc-DH; Fri, 14 Mar 2025 21:38:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915465.1320999; Fri, 14 Mar 2025 21:38: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 1ttCjm-0008NT-AD; Fri, 14 Mar 2025 21:38:38 +0000
Received: by outflank-mailman (input) for mailman id 915465;
 Fri, 14 Mar 2025 21:38: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=TLrw=WB=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ttCjl-000827-06
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 21:38:37 +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 af13fe1c-011c-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 22:38:36 +0100 (CET)
Received: from mx-prod-mc-05.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-646-0r6UKT9IMtuF-Il_bN2UWQ-1; Fri,
 14 Mar 2025 17:38:30 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id A8BDC195608D; Fri, 14 Mar 2025 21:38:22 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.80.88])
 by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 6352D1944E42; Fri, 14 Mar 2025 21:38: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: af13fe1c-011c-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741988315;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=3RXL+coJsdtD8dzVN3au7Q2NbBlOYxUwoHTJ/KoQPU4=;
	b=DI/0F6cdNKPnPLBqukHBXVa5rFs6vXRJriXpiLIanfhiv9rIRXWELF9e9oqlnZHXYFXowF
	pTIYWg0QnhP76BrUyTurfg7Fnco06zBf9/o5noftNo0VG0jtW/5OfxZ+4xxpXP7iYlkxjg
	puSmDYjwuteCj28N5eULfMOs7nw9tU4=
X-MC-Unique: 0r6UKT9IMtuF-Il_bN2UWQ-1
X-Mimecast-MFC-AGG-ID: 0r6UKT9IMtuF-Il_bN2UWQ_1741988303
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	virtualization@lists.linux.dev
Cc: alexander.atanasov@virtuozzo.com,
	muchun.song@linux.dev,
	roman.gushchin@linux.dev,
	mhocko@kernel.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	mst@redhat.com,
	david@redhat.com,
	yosry.ahmed@linux.dev,
	hannes@cmpxchg.org,
	nphamcs@gmail.com,
	chengming.zhou@linux.dev,
	kanchana.p.sridhar@intel.com,
	llong@redhat.com,
	shakeel.butt@linux.dev
Subject: [PATCH v2 2/4] balloon_compaction: update the NR_BALLOON_PAGES state
Date: Fri, 14 Mar 2025 15:37:55 -0600
Message-ID: <20250314213757.244258-3-npache@redhat.com>
In-Reply-To: <20250314213757.244258-1-npache@redhat.com>
References: <20250314213757.244258-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12

Update the NR_BALLOON_PAGES counter when pages are added or removed using
the balloon compaction interface.

The virtio, Vmware, and pseries-cmm balloon drivers utilize the
balloon_compaction interface to allocate and free balloon pages. Other
balloon drivers will have to maintain this counter manually.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 mm/balloon_compaction.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c
index 6597ebea8ae2..d3e00731e262 100644
--- a/mm/balloon_compaction.c
+++ b/mm/balloon_compaction.c
@@ -24,6 +24,7 @@ static void balloon_page_enqueue_one(struct balloon_dev_info *b_dev_info,
 	balloon_page_insert(b_dev_info, page);
 	unlock_page(page);
 	__count_vm_event(BALLOON_INFLATE);
+	inc_node_page_state(page, NR_BALLOON_PAGES);
 }
 
 /**
@@ -103,6 +104,7 @@ size_t balloon_page_list_dequeue(struct balloon_dev_info *b_dev_info,
 		__count_vm_event(BALLOON_DEFLATE);
 		list_add(&page->lru, pages);
 		unlock_page(page);
+		dec_node_page_state(page, NR_BALLOON_PAGES);
 		n_pages++;
 	}
 	spin_unlock_irqrestore(&b_dev_info->pages_lock, flags);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 21:38:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 21:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915467.1321009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttCjo-0000DH-Mi; Fri, 14 Mar 2025 21:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915467.1321009; Fri, 14 Mar 2025 21:38: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 1ttCjo-0000D6-JT; Fri, 14 Mar 2025 21:38:40 +0000
Received: by outflank-mailman (input) for mailman id 915467;
 Fri, 14 Mar 2025 21:38: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=TLrw=WB=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ttCjn-000827-0i
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 21:38:39 +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 afae4e99-011c-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 22:38:37 +0100 (CET)
Received: from mx-prod-mc-02.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-511-Q0pkQj-lPNqdUoh8sMEMxQ-1; Fri,
 14 Mar 2025 17:38:31 -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-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 5CFF81955E95; Fri, 14 Mar 2025 21:38:28 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.80.88])
 by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id CD5E61943582; Fri, 14 Mar 2025 21:38: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: afae4e99-011c-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741988316;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=vPsYu1/Zt9JxInUUfAbvJhaRjTUPwV0c8VAQrmxs/V8=;
	b=A9nT4vhKfJj3q8lQGPsvhX8OI8PnZInfBCF3sWHrkXxFfEwpogB0uH2iyBHtA4fkbRg12C
	0M4Uh35PdUbUlAMGZ/Y+5k7yL4SLrfxQEOICh5EdnDK7y+g69scarrxpn8kBPIxrzsKFr+
	SkHcmidXZGC+LZWdESjltunOe5+hfaY=
X-MC-Unique: Q0pkQj-lPNqdUoh8sMEMxQ-1
X-Mimecast-MFC-AGG-ID: Q0pkQj-lPNqdUoh8sMEMxQ_1741988308
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	virtualization@lists.linux.dev
Cc: alexander.atanasov@virtuozzo.com,
	muchun.song@linux.dev,
	roman.gushchin@linux.dev,
	mhocko@kernel.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	mst@redhat.com,
	david@redhat.com,
	yosry.ahmed@linux.dev,
	hannes@cmpxchg.org,
	nphamcs@gmail.com,
	chengming.zhou@linux.dev,
	kanchana.p.sridhar@intel.com,
	llong@redhat.com,
	shakeel.butt@linux.dev
Subject: [PATCH v2 3/4] hv_balloon: update the NR_BALLOON_PAGES state
Date: Fri, 14 Mar 2025 15:37:56 -0600
Message-ID: <20250314213757.244258-4-npache@redhat.com>
In-Reply-To: <20250314213757.244258-1-npache@redhat.com>
References: <20250314213757.244258-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12

Update the NR_BALLOON_PAGES counter when pages are added to or
removed from the Hyper-V balloon.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 drivers/hv/hv_balloon.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index fec2f18679e3..2b4080e51f97 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -1192,6 +1192,7 @@ static void free_balloon_pages(struct hv_dynmem_device *dm,
 		__ClearPageOffline(pg);
 		__free_page(pg);
 		dm->num_pages_ballooned--;
+		mod_node_page_state(page_pgdat(pg), NR_BALLOON_PAGES, -1);
 		adjust_managed_page_count(pg, 1);
 	}
 }
@@ -1221,6 +1222,7 @@ static unsigned int alloc_balloon_pages(struct hv_dynmem_device *dm,
 			return i * alloc_unit;
 
 		dm->num_pages_ballooned += alloc_unit;
+		mod_node_page_state(page_pgdat(pg), NR_BALLOON_PAGES, alloc_unit);
 
 		/*
 		 * If we allocatted 2M pages; split them so we
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 21:38:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 21:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915469.1321019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttCjr-0000WJ-U7; Fri, 14 Mar 2025 21:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915469.1321019; Fri, 14 Mar 2025 21: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 1ttCjr-0000WA-RP; Fri, 14 Mar 2025 21:38:43 +0000
Received: by outflank-mailman (input) for mailman id 915469;
 Fri, 14 Mar 2025 21:38: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=TLrw=WB=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1ttCjq-000827-GO
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 21:38:42 +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 b24b6d7c-011c-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 22:38:42 +0100 (CET)
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-171-4j3QuXoCNQOrm0DeJ5-F4Q-1; Fri,
 14 Mar 2025 17:38:37 -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-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 1B7E419560BB; Fri, 14 Mar 2025 21:38:34 +0000 (UTC)
Received: from h1.redhat.com (unknown [10.22.80.88])
 by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id A74201944E42; Fri, 14 Mar 2025 21:38:28 +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: b24b6d7c-011c-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1741988320;
	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:
	 in-reply-to:in-reply-to:references:references;
	bh=dGPxM9RdXtkX+Els8nvXOJm60GkYwZd/fztNUeVaxvI=;
	b=N1KiB4sC3veL8yihY/K7w70PEUapQvZnYNJOxn00MX4IkqAvvXInzqGpxiFnRN3lT4JJW6
	IP+fjhE1uNnCkPswfRlQ76q4V50CCDYc1X9QcBQMsxpYb1Ambma43PLZhuFuyvs1qqXvAI
	SvcAwlSOU9u/3aCDEZS5GAbTZBLmY+g=
X-MC-Unique: 4j3QuXoCNQOrm0DeJ5-F4Q-1
X-Mimecast-MFC-AGG-ID: 4j3QuXoCNQOrm0DeJ5-F4Q_1741988314
From: Nico Pache <npache@redhat.com>
To: linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org,
	virtualization@lists.linux.dev
Cc: alexander.atanasov@virtuozzo.com,
	muchun.song@linux.dev,
	roman.gushchin@linux.dev,
	mhocko@kernel.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	akpm@linux-foundation.org,
	mst@redhat.com,
	david@redhat.com,
	yosry.ahmed@linux.dev,
	hannes@cmpxchg.org,
	nphamcs@gmail.com,
	chengming.zhou@linux.dev,
	kanchana.p.sridhar@intel.com,
	llong@redhat.com,
	shakeel.butt@linux.dev
Subject: [PATCH v2 4/4] xen: balloon: update the NR_BALLOON_PAGES state
Date: Fri, 14 Mar 2025 15:37:57 -0600
Message-ID: <20250314213757.244258-5-npache@redhat.com>
In-Reply-To: <20250314213757.244258-1-npache@redhat.com>
References: <20250314213757.244258-1-npache@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12

Update the NR_BALLOON_PAGES counter when pages are added to or
removed from the Xen balloon.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 drivers/xen/balloon.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 163f7f1d70f1..65d4e7fa1eb8 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -157,6 +157,8 @@ static void balloon_append(struct page *page)
 		list_add(&page->lru, &ballooned_pages);
 		balloon_stats.balloon_low++;
 	}
+	inc_node_page_state(page, NR_BALLOON_PAGES);
+
 	wake_up(&balloon_wq);
 }
 
@@ -179,6 +181,8 @@ static struct page *balloon_retrieve(bool require_lowmem)
 		balloon_stats.balloon_low--;
 
 	__ClearPageOffline(page);
+	dec_node_page_state(page, NR_BALLOON_PAGES);
+
 	return page;
 }
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 14 22:24:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 22:24:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915527.1321029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttDRS-00087n-Er; Fri, 14 Mar 2025 22:23:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915527.1321029; Fri, 14 Mar 2025 22:23: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 1ttDRS-00087g-Am; Fri, 14 Mar 2025 22:23:46 +0000
Received: by outflank-mailman (input) for mailman id 915527;
 Fri, 14 Mar 2025 22:23: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=vjjD=WB=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1ttDRJ-00087K-Ko
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 22:23:45 +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 f7638563-0122-11f0-9ab9-95dc52dad729;
 Fri, 14 Mar 2025 23:23:35 +0100 (CET)
Received: from phl-compute-09.internal (phl-compute-09.phl.internal
 [10.202.2.49])
 by mailfout.phl.internal (Postfix) with ESMTP id 7015A1380F08;
 Fri, 14 Mar 2025 18:23:33 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-09.internal (MEProxy); Fri, 14 Mar 2025 18:23:33 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 14 Mar 2025 18:23:30 -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: f7638563-0122-11f0-9ab9-95dc52dad729
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=1741991013;
	 x=1742077413; bh=FEiAqfIaYZE3VyOBQ80H8WMCS2w8fo0Csp8fAtdYVK8=; b=
	w1x9dwmvwGI3FQPlFtVoxCERNyEbcs85hI6/yuFZsi442NZWAKezasToUVOY52tq
	7GG2Nn8xtEL2Wov98gXdTKiuvCsfoBLbJh7/CuvJfDP8P/RHwII6GrWbnZg8Swzi
	NZL/1Qfovdi0GecfIXq/Dsqf02Mx0+z2JedtfaGlLGj/665wDfEoYY9ALFQGYmX3
	+hjUawqq/I5jS1Bjtna5I8hHdpjpOAFvIfefE18mDUNyYyqqBl/UjxBuJSMryw9c
	UdyUmDfjT2jaOkiZG4akfeH3jYinH1ozww6v3lOckznrSmaRGVM726zZuzipTRji
	V8x871c7E/3aj53B+XBwiQ==
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=fm1; t=
	1741991013; x=1742077413; bh=FEiAqfIaYZE3VyOBQ80H8WMCS2w8fo0Csp8
	fAtdYVK8=; b=qqm2BO8V4i1wOCnqnDN8I27a/h/meNXfPgMpstqRah6ucQ9mNZm
	2pncGf33T9+z/pOh2+rK0XH+1JkZDVShcKxctj8BS6WCfDEFguZAS9R2mWuA3SdV
	fsJ2Udy/wRiwDY6m8uCb5SKlngr4M0ZbLkLxTxMEgNEY70nCtarmyApz9AYtenSb
	b82P5KrNIh4s53KMcs5Roe7COJD9foMIc9nriugNuknmFGL2/lJClivE+9MMpCE1
	EP51IpWgYW1GjcD4/N8Qpfel1LeJnoaZ7wJSybKl7JStgXY+MJ5LSBnMsaCoCBOA
	k85GOUn9TjuginbYVgULs7g5x42QkbPdQ4A==
X-ME-Sender: <xms:ZKzUZ3nSkqxDQlghuo5QS2QgqyN-OpQ45EAeA2zxLGSYUKMI_XSa8g>
    <xme:ZKzUZ61vHqFlX7xfY6FJayRy6v1-oryv-zL5-8jT_JUMW99lozAAYipON7J1S1iQT
    rIOoYn9VreBXQ>
X-ME-Received: <xmr:ZKzUZ9pSJ-MZo1sIZb6Fbgjy2txLvqP02EYa8SF1iSThXexuTqXxN8bwBC4Vv_eJMmvZr8PTgBam2t8bEL7GVRSs_22HhSspkw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddufedvtdduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepveeujeetgeelleetudeuvefhtefgffejvedtvdfgieevheethe
    elgeeuledvjeevnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeelpdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopehsshhtrggsvghllhhinhhisehkvghrnhgvlh
    drohhrghdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhj
    vggtthdrohhrghdprhgtphhtthhopehjsggvuhhlihgthhesshhushgvrdgtohhmpdhrtg
    hpthhtoheprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdprhgtphht
    thhopegtrghrughovgestggrrhguohgvrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrph
    gruhestghithhrihigrdgtohhmpdhrtghpthhtohepohhlvghkshhiihdrkhhurhhotghh
    khhosehgmhgrihhlrdgtohhmpdhrtghpthhtohepgigrkhgvphdrrghmrghtohhpsehgmh
    grihhlrdgtohhmpdhrtghpthhtohepmhihkhihthgrpghpohhtuhhrrghisegvphgrmhdr
    tghomh
X-ME-Proxy: <xmx:ZKzUZ_mOCb4rTZTYfD-uqI0m4W6pcEoodcEiLr-EWCoG6tt4piApEQ>
    <xmx:ZKzUZ11aVXh4IZRR7ZQZdeyadlQtPXIkcEvHqOu3Pb8tGyfqIPV3QQ>
    <xmx:ZKzUZ-ujKWDtFlKeYOEoFDtiubK6vB_l-ZZxcVM4B14EReYLVEhuwg>
    <xmx:ZKzUZ5V-QbRnK4L7PMkH2oCAL3_ZxumfQomOVF_ihY16yp4NSaaAhg>
    <xmx:ZazUZ_xfdJlTECZnQpBvHtehpGenxHEIl_fTqr5QSCiIry4HNVFKE3ag>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 14 Mar 2025 23:23:28 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: S3 regression on AMD in 4.20 (was: Re: [PATCH] ci: add yet another
 HW runner)
Message-ID: <Z9SsYF0pYTkZXg9I@mail-itl>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="UB5wfNeIlVJsLyIt"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>


--UB5wfNeIlVJsLyIt
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 14 Mar 2025 23:23:28 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: S3 regression on AMD in 4.20 (was: Re: [PATCH] ci: add yet another
 HW runner)

On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> On Fri, 14 Mar 2025, Marek Marczykowski-G=C3=B3recki wrote:
> > This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> >=20
> > This one has working S3, so add a test for it here.
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> > Cc: Jan Beulich <jbeulich@suse.com>
> > Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> >=20
> > The suspend test added here currently fails on staging[1], but passes on
> > staging-4.19[2]. So the regression wants fixing before committing this
> > patch.
> >
> > [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> > [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
>=20
> We could commit the patch now without the s3 test.
>=20
> I don't know what the x86 maintainers think about fixing the suspend
> bug, but one idea would be to run a bisection between 4.20 and 4.19.

I'm on it already, but it's annoying. Lets convert this thread to
discussion about the issue:

So, I bisected it between staging-4.19 and master. The breakage is
somewhere between (inclusive):
eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
and
47990ecef286 x86/boot: Improve MBI2 structure check

But, the first one breaks booting on this system and it remains broken
until the second commit (or its parent) - at which point S3 is already
broken. So, there is a range of 71 commits that may be responsible...

But then, based on a matrix chat and Jan's observation I've tried
reverting f75780d26b2f "xen: move per-cpu area management into common
code" just on top of 47990ecef286, and that fixed suspend.
Applying "xen/percpu: don't initialize percpu on resume" on top of
47990ecef286 fixes suspend too.
But applying it on top of master
(91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
but the failure mode is different than without the patch - system resets
on S3 resume, with no crash message on the serial console (even with
sync_console), instead of hanging.
And one more data point: reverting f75780d26b2f on top of master is the
same as applying "xen/percpu: don't initialize percpu on resume" on
master - system reset on S3 resume.
So, it looks like there are more issues...

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

--UB5wfNeIlVJsLyIt
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfUrGAACgkQ24/THMrX
1ywAWwf/dV2G9ZNdT4aTyFqCJXhxyHugXwAa2Wv762SqViopb0sIXmB1gVRUhoMU
spdmhHbB9FnFHaoBzJsiXzXtGtQJkceOPdqmd7VuWo0KsGb51upbEQw7LyO/tZaB
C+uDlMv//NKD0hjQrS5cMY+TSQmzQdmzqFbZCXchJcTwHKPo9Zu5Wv3awo7UGjSf
lUvdjdV0MNOSRXN4ZlWitMouZw+VM4BmzY2+nAODenCl8yLrHsb3KVqexUGNReQL
uLOs9NLgQZtgM3vEoboFlDrFaHTGKnEW7iwUe8Vs8YOpv+9njuUg+gMuozOSoNNQ
Cu0ncWxOIaBPNIsitNOTjJhFoz6GZw==
=C0Lp
-----END PGP SIGNATURE-----

--UB5wfNeIlVJsLyIt--


From xen-devel-bounces@lists.xenproject.org Fri Mar 14 23:53:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Mar 2025 23:53:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915544.1321040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttEqF-0006xN-Jl; Fri, 14 Mar 2025 23:53:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915544.1321040; Fri, 14 Mar 2025 23: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 1ttEqF-0006xG-FE; Fri, 14 Mar 2025 23:53:27 +0000
Received: by outflank-mailman (input) for mailman id 915544;
 Fri, 14 Mar 2025 23:53: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=vjjD=WB=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1ttEq9-0006x8-0h
 for xen-devel@lists.xenproject.org; Fri, 14 Mar 2025 23:53:26 +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 8019896d-012f-11f0-9ab9-95dc52dad729;
 Sat, 15 Mar 2025 00:53:18 +0100 (CET)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfout.phl.internal (Postfix) with ESMTP id D201F1382D18;
 Fri, 14 Mar 2025 19:53:16 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-10.internal (MEProxy); Fri, 14 Mar 2025 19:53:16 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 14 Mar 2025 19:53:13 -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: 8019896d-012f-11f0-9ab9-95dc52dad729
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=1741996396;
	 x=1742082796; bh=Qli+629sd2hYRineXtOYNsgFOR5uEWa33JBM2ZzimxA=; b=
	NRax0g6dhUNEduvrOpPljTjJa3TwSWPvHjlGrmtmJAzXGSPBEC/OmVHvS7qbyyjc
	HTpiiyYeUpxmtiUa1c1BmrrgkFlmqVYp+l7KJB111wOMVckBTX/Uu3wiMKL5ahT9
	5knOvrTY6sDNVnS01Rl3iOSXvZAX7HRJBC9ISDMQAQbI8tBLfetecYD68/jJAFVC
	FVxfce5KllVJX/tITIIaWAwU9AR/M97jKWW4RE/HxD9I4HvL++XuGTfm0DzhQ88D
	oOxiMlHmNIzL3Qp6H1rllYR2YgjtGhFsMY9OKe3CzqRm6goTOXr9o/YKEk2+h9NQ
	kE/tTPWoGa1vWIKk5dGlUQ==
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=fm1; t=
	1741996396; x=1742082796; bh=Qli+629sd2hYRineXtOYNsgFOR5uEWa33JB
	M2ZzimxA=; b=rru9x2QM4D3IFZJOOeNPhpeq6roTJhpcP4SYztAeMT6w32G5EXm
	+kMYsa5UIAWU68wZCOoLXTen10rN486BSQ1g1425dLRXW/BxW07vC5+QaWobdLui
	N6bcuqIIFgUuiKX3P+rl+/4TBY90HM9bzAZRpKurrDZoCCEfgFxQspC1H/lgkJ3h
	6TT8CSe/qzecqV/pR09KhyE8+brRs1jKZ5vttACAol/Kg/JPG+GnGP8fKJAXxTw4
	OmNs+0KcuPYQb4IefhbHGTGdnp1Vym8LhF8Jcpm28qjSau/mosVxQAOF6/KTqaRk
	piAbevFCCc59YtNqRRUPwDd+2BT03wUQv2A==
X-ME-Sender: <xms:a8HUZ0YkEo3-iUDgo7A7M09j0trP5ZOrMjOWYPVShDXOsGjuMZ-ogA>
    <xme:a8HUZ_ZxzslJpZ2q_B_9k2RU5N-PDoVtaT0J5iD--Ujnh1i30L53pHb3fsRtxUhNR
    PWdUr8mPiui7Q>
X-ME-Received: <xmr:a8HUZ-_hccFOhA8ZgmgD51EuTzTbebXVI-NUNGdse0P72TtgXAQVTLCLaTO7X804CR5wVuOa5LH9g0a3_w-rZN6wjFtBLZLSew>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddufedvvddtucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepveeujeetgeelleetudeuvefhtefgffejvedtvdfgieevheethe
    elgeeuledvjeevnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeelpdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopehsshhtrggsvghllhhinhhisehkvghrnhgvlh
    drohhrghdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhj
    vggtthdrohhrghdprhgtphhtthhopehjsggvuhhlihgthhesshhushgvrdgtohhmpdhrtg
    hpthhtoheprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdprhgtphht
    thhopegtrghrughovgestggrrhguohgvrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrph
    gruhestghithhrihigrdgtohhmpdhrtghpthhtohepohhlvghkshhiihdrkhhurhhotghh
    khhosehgmhgrihhlrdgtohhmpdhrtghpthhtohepgigrkhgvphdrrghmrghtohhpsehgmh
    grihhlrdgtohhmpdhrtghpthhtohepmhihkhihthgrpghpohhtuhhrrghisegvphgrmhdr
    tghomh
X-ME-Proxy: <xmx:a8HUZ-pYsX38G-xdMhsA6g8yvXJZKSdqLfuWOQj0TAt93XaBPVxZ6Q>
    <xmx:a8HUZ_rbYPpPyiSzyIwrxau6n_qqvZnoAwB7D22O6ZAH8NN1A8b72Q>
    <xmx:a8HUZ8ThPrgSQtNFYJNYZKbSloAK_W7znjQK1dOAsLpMxIY2bx4vkA>
    <xmx:a8HUZ_rJ6XxukSL8qjEjl4KU_7kEF2FwZONd7l3Hu1xh4FxdeZZ0CA>
    <xmx:bMHUZy2I1nPr5C4ig4M9YpsYidRbONFPWttyjKOajGwbPk8bAtANFG6X>
Feedback-ID: i1568416f:Fastmail
Date: Sat, 15 Mar 2025 00:53:11 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20 (was: Re: [PATCH] ci: add yet
 another HW runner)
Message-ID: <Z9TBaEeUcVrjaACL@mail-itl>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="xZzkJW8ZMVVJLTQF"
Content-Disposition: inline
In-Reply-To: <Z9SsYF0pYTkZXg9I@mail-itl>


--xZzkJW8ZMVVJLTQF
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 15 Mar 2025 00:53:11 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20 (was: Re: [PATCH] ci: add yet
 another HW runner)

On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> > On Fri, 14 Mar 2025, Marek Marczykowski-G=C3=B3recki wrote:
> > > This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> > >=20
> > > This one has working S3, so add a test for it here.
> > >=20
> > > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethi=
ngslab.com>
> > > ---
> > > Cc: Jan Beulich <jbeulich@suse.com>
> > > Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> > >=20
> > > The suspend test added here currently fails on staging[1], but passes=
 on
> > > staging-4.19[2]. So the regression wants fixing before committing this
> > > patch.
> > >
> > > [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437=
140
> > > [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943=
441
> >=20
> > We could commit the patch now without the s3 test.
> >=20
> > I don't know what the x86 maintainers think about fixing the suspend
> > bug, but one idea would be to run a bisection between 4.20 and 4.19.
>=20
> I'm on it already, but it's annoying. Lets convert this thread to
> discussion about the issue:
>=20
> So, I bisected it between staging-4.19 and master. The breakage is
> somewhere between (inclusive):
> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> and
> 47990ecef286 x86/boot: Improve MBI2 structure check
>=20
> But, the first one breaks booting on this system and it remains broken
> until the second commit (or its parent) - at which point S3 is already
> broken. So, there is a range of 71 commits that may be responsible...
>=20
> But then, based on a matrix chat and Jan's observation I've tried
> reverting f75780d26b2f "xen: move per-cpu area management into common
> code" just on top of 47990ecef286, and that fixed suspend.
> Applying "xen/percpu: don't initialize percpu on resume" on top of
> 47990ecef286 fixes suspend too.
> But applying it on top of master
> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
> but the failure mode is different than without the patch - system resets
> on S3 resume, with no crash message on the serial console (even with
> sync_console), instead of hanging.
> And one more data point: reverting f75780d26b2f on top of master is the
> same as applying "xen/percpu: don't initialize percpu on resume" on
> master - system reset on S3 resume.
> So, it looks like there are more issues...

Another bisection round and I have the second culprit:

    8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index =
hasn't changed

With master+"xen/percpu: don't initialize percpu on resume"+revert of
8e60d47cf011 suspend works again on this AMD system.

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

--xZzkJW8ZMVVJLTQF
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfUwWgACgkQ24/THMrX
1yxtpAf+MzzVCxrv2WNS5UY90PzwZ+p5iYCOMt5cxTIo1QIBqOysejhrAcQsDNf0
O4qFVp32jWNdw3gTtIElSLRU5qWFKJqvrRWRii9heV9++BxyPZPymAIw9vNkXLSk
IMY9C67C5DUAXljj7Ao/tgnmcb10O+PO16vFx5uHE38iLmB7e+hISp/XCYzigI4a
02k+F2UKPglmMaAM9eWmUTBlD1lJL2HOOAZ4/JOsaIeU65dZYLWZAWZXKcB+PNsh
QjvbOhrlVeMqBCcbUAexhX1EdYkGmyEhKHobMMTwhUPL0L6fb8q133F3NJTJAUWk
gZQuMkph2REmZBV2Bsv/4rdgJkMDEw==
=u2q6
-----END PGP SIGNATURE-----

--xZzkJW8ZMVVJLTQF--


From xen-devel-bounces@lists.xenproject.org Sat Mar 15 00:03:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 00:03:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915557.1321049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttEzU-00028l-RJ; Sat, 15 Mar 2025 00:03:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915557.1321049; Sat, 15 Mar 2025 00:03: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 1ttEzU-00028c-Mp; Sat, 15 Mar 2025 00:03:00 +0000
Received: by outflank-mailman (input) for mailman id 915557;
 Sat, 15 Mar 2025 00:02: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=LsaQ=WC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ttEzT-00028T-Ba
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 00:02:59 +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 d7c49149-0130-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 01:02:54 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-aaf900cc7fbso498688866b.3
 for <xen-devel@lists.xenproject.org>; Fri, 14 Mar 2025 17:02:54 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146b31b3sm293592766b.18.2025.03.14.17.02.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 14 Mar 2025 17:02: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: d7c49149-0130-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1741996973; x=1742601773; 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=qnltyO7dcv/SUllCMtAufTAmj6I++mK8uAgsnzdy1NE=;
        b=EpdAms0TcJLPOiQY07lP7uHTzPeQcENEmema5LSP/MnSJnD7pwIPIgwAsnnBIrNHxu
         g355QijoEY80Idng/TVivPaHUofzKlgXaG6VRnJSqa0Hci3cpR4IR36zBwyJFnaloYHK
         Mw5I8YhRKopvwhRldwd2hjWNsVfxGiZ8Zqr0U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1741996973; x=1742601773;
        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=qnltyO7dcv/SUllCMtAufTAmj6I++mK8uAgsnzdy1NE=;
        b=jHZqOnPTI66roUI2+cZlVC/5o7gAQLd8naEFomlstHJ+P2YOVCDZh01QbrzKyct6Xj
         OeT2nnRGmUP3AyKCB5/Uhxq8XdFP7/jf7OyzIcAUsjGlfXLnD8pKw10KArB+Fq51zDxN
         R5DAWKMxsslwLnPMveiS3052NPHHQFJ+D4gAqCh1UnQ8b7NWw3iM0DLch7CAc5jAh76q
         Tf3UCK3ec+ViviOT/6g4zef5fWctRAsjaFwGf49pTHmH+whlc+RLdUsyFwWBW8wYMA10
         IMlADJN81v5F1fI6mPwtzsd34dd8pX78DP8W0Hzwpy8QIzQfZH7PxiVaHsy939Bg426M
         87UA==
X-Gm-Message-State: AOJu0YxYCFZgW9t4ZVecg/OgjIQKfuZvOCvNpY2zr3tqkapgid/Dbcqp
	JIVp1dSpY8YdurNlNPYiJqmkBnJJ7ILDvLPCqlwTdmfTxyEDCSLy9MK9czYnz+k=
X-Gm-Gg: ASbGncvNpMC4q25aQNDXzO44p8t0Qf2rYHS2qnWP7+aF33mk9nLu73YjbEGTr4uqS21
	ZdhBKuejMCmPlhAT1wXF/4wwfdSqvJrdHoK8VsA0o7nFwr16JNwrmlpIbKYQObOhwEQqh1j+Xkt
	o9GV1e3YfzSHLIED0sLQXpixN7H6OrDnQaCMShxXu+Xk9piamfBbWRvBkZ5fyokroiFkTxkb2cO
	vciQThj7T04stxIjI/a1DT0QUYWGsPTOj4FWJGNm56mdQOt+pr3FF8A48rrldx5wE2ToCpcgBR0
	L5p0Py1DX1yMDPGROdBmb8QSig9oW5hzKAzjOH7jepVGqJkqBfR2s0VsqnLSy2RzZc4zk5liG14
	ECq73Cw3r
X-Google-Smtp-Source: AGHT+IH65OtAtzEcVl/JF5qKvw9Ls7ntoOZGw1w/e9kJwowypRX+tfCJhP8Ogw6xgMMD4hnQkVryXg==
X-Received: by 2002:a17:906:f2cd:b0:ac3:4139:9346 with SMTP id a640c23a62f3a-ac34139a5f6mr226217666b.9.1741996973317;
        Fri, 14 Mar 2025 17:02:53 -0700 (PDT)
Message-ID: <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
Date: Sat, 15 Mar 2025 00:02:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: S3 regression on AMD in 4.20
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Doug Goldstein <cardoe@cardoe.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Mykola Kvach <xakep.amatop@gmail.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl> <Z9TBaEeUcVrjaACL@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: <Z9TBaEeUcVrjaACL@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
> On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
>> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
>>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
>>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
>>>>
>>>> This one has working S3, so add a test for it here.
>>>>
>>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>>>> ---
>>>> Cc: Jan Beulich <jbeulich@suse.com>
>>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
>>>>
>>>> The suspend test added here currently fails on staging[1], but passes on
>>>> staging-4.19[2]. So the regression wants fixing before committing this
>>>> patch.
>>>>
>>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
>>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
>>> We could commit the patch now without the s3 test.
>>>
>>> I don't know what the x86 maintainers think about fixing the suspend
>>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
>> I'm on it already, but it's annoying. Lets convert this thread to
>> discussion about the issue:
>>
>> So, I bisected it between staging-4.19 and master. The breakage is
>> somewhere between (inclusive):
>> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
>> and
>> 47990ecef286 x86/boot: Improve MBI2 structure check
>>
>> But, the first one breaks booting on this system and it remains broken
>> until the second commit (or its parent) - at which point S3 is already
>> broken. So, there is a range of 71 commits that may be responsible...
>>
>> But then, based on a matrix chat and Jan's observation I've tried
>> reverting f75780d26b2f "xen: move per-cpu area management into common
>> code" just on top of 47990ecef286, and that fixed suspend.
>> Applying "xen/percpu: don't initialize percpu on resume" on top of
>> 47990ecef286 fixes suspend too.
>> But applying it on top of master
>> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
>> but the failure mode is different than without the patch - system resets
>> on S3 resume, with no crash message on the serial console (even with
>> sync_console), instead of hanging.
>> And one more data point: reverting f75780d26b2f on top of master is the
>> same as applying "xen/percpu: don't initialize percpu on resume" on
>> master - system reset on S3 resume.
>> So, it looks like there are more issues...
> Another bisection round and I have the second culprit:
>
>     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
>
> With master+"xen/percpu: don't initialize percpu on resume"+revert of
> 8e60d47cf011 suspend works again on this AMD system.

That's not surprising in the slightest.

Caching hardware values in Xen isn't safe across S3, which QubesOS has
found time and time again, and for which we still have outstanding bugs.

S3 turns most of the system off.Â  RAM gets preserved, but devices and
plenty of internal registers don't.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Mar 15 00:36:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 00:36:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915577.1321059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttFVp-0001eB-Ak; Sat, 15 Mar 2025 00:36:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915577.1321059; Sat, 15 Mar 2025 00:36: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 1ttFVp-0001e4-71; Sat, 15 Mar 2025 00:36:25 +0000
Received: by outflank-mailman (input) for mailman id 915577;
 Sat, 15 Mar 2025 00:36: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=XUhE=WC=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1ttFVo-0001dy-8v
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 00:36:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2614::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d8744d9-0135-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 01:36:10 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by PAXPR03MB8084.eurprd03.prod.outlook.com
 (2603:10a6:102:223::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.18; Sat, 15 Mar
 2025 00:36:03 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.025; Sat, 15 Mar 2025
 00:36: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: 7d8744d9-0135-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=crM9kb2vtZv2PqQ9rf75VJHQkivwAdVOMjkV8Evytu89mOL4Q2UuibKzJbJYXREV10HISjTyVRCeqF4H/mQ4Sae8NegQZQuarccS7epkF2UZc7DLNk5Ol8sMmNnr6/BK+KNjs9ZOXOL32fsphqq3scgNqWJkrzUdsDTES58i1tGIGYpOLiwyqFV8BcQ5mwyKllQlMNSaRZp1rslfzMX2ien9TgjxABRmCHQfPdn0b7jrL4h6XqV4cVbHgtJpEfQhJfBUSqXLYECfJgNqr6tj/+OKMhIzP3fJ+zdsivOcAZrLxuLHzHZ8kvM6yrD5wwSJP0bHd8CpzogJimqlGc0y+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=w7hLikYm7Gf0pmZK51JtyJVpvW5JD83x4NiwuTv5rzk=;
 b=FA6VjZpFTKMhkSTQCJVayBefZN99MMhLQiilCbckWOvCU1qhzQAElJteaB4fdU0t6+d3b1s31iLIIrQvR5w9ypTZAElE1E3WY4T2VnFhGnEtE6xKzIZNzfo/RhFQBu9EfNDFasvq3SeKrB6xJlPOIBe/tcXS/ZqymLwGaIjNdqgbDVNHYJmN2vqRnj9PlPEwnyvMu08UBtuzbcKSPf3a2tOpfRG1b0GmYxu2CHtiXd3hDgGuyUKNuOshr0MQfq5xK7r8lgbBgiuDGR7Ks7T9Ei+jpTYQiwdzjqrG1fGa1UnQdTHL0iWC2K2+Ajmc3jYkMIWIRw/PXF0gyEiYwoY9qw==
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=w7hLikYm7Gf0pmZK51JtyJVpvW5JD83x4NiwuTv5rzk=;
 b=YcRH53yNcNMY9fr0WT64x/3LPMjfhXO1LjCmKLli59zQNBoHTvBvKyI/VBtRShCjXI/hYKUG6JgmsDgts0CfTloARX3ZiFaBtCZB013915sqhkrGNx2AauHI5rdYkQxkIP97wlF+a1YEOaUZ4dDvW2Vrw67RGvxVAGddWVy1FWzQf/oIKgswiD3sv/DBSD+B7hk28GdT60TcSx1XXdWycpNN8fLSHN0G5LzJk1YunKgUftUAZGTgo4oXEJV/CBziajDQ48AdjhsKPxLE4RjsesLzLhQ7Kwq4kCpXCeaIQlBi9O+PLSFlCWKD1Y7i3EJHvaZFjixpjnLkhMhOAGuzAA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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>, Dario Faggioli <dfaggioli@suse.com>, Juergen
 Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>
Subject: [RFC PATCH v2] xen: add libafl-qemu fuzzer support
Thread-Topic: [RFC PATCH v2] xen: add libafl-qemu fuzzer support
Thread-Index: AQHblUI7lWJ91U/YVk+TK2sT0KKY9g==
Date: Sat, 15 Mar 2025 00:36:03 +0000
Message-ID: <20250315003544.1101488-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|PAXPR03MB8084:EE_
x-ms-office365-filtering-correlation-id: 9dd4bb93-5361-4cf4-6058-08dd63595db0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|376014|1800799024|366016|13003099007|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?oQBdWiR5BxMT9qygQKQ0WznVH+zZkIbpmBekJ1NrLNd9MoxgwzZZMYsI6c?=
 =?iso-8859-1?Q?crolnWwYrjBmXOTewvOuaqdeJMrcaJ0iiQPwJefwCElYrn2qa3JzoRPYkW?=
 =?iso-8859-1?Q?00QgOaeenFT5/wqz92b+cwhPZvQn4+y5ym+wFyeoyjmpz2m0kvs00dDdoa?=
 =?iso-8859-1?Q?bGxVbt1hO/dEQYmvUZ4mn8KkdkGIJudFZl/2HHdgdZVStuk1TkC3sXGf0A?=
 =?iso-8859-1?Q?NjCOBxN3+0Z25+rO9bHv9ZXgjVZ7IKcizT1+lGw1HjCYCRo2gEVAlVuA5t?=
 =?iso-8859-1?Q?t7dswvxi1UzKqx9AQFUOhNamr6UDVwjkTTCJwPQvfKEaVkJsxnkmzi6mZl?=
 =?iso-8859-1?Q?tRzUPQ75A+L2lmgngMcZ6IzAkIjzS776qouExG9UeuExFJ7AVCW41+G8ki?=
 =?iso-8859-1?Q?TSZjENMqE4Kf9ec+v6O7NIVSczwTxA/AEC1c4SrUBLXoIA9F958M0foLrO?=
 =?iso-8859-1?Q?pDfcLCbpnOxqy61bMN0hR31Sl3jGqzqD/qOUHzku+2vFEl5eY7P3gZnPOR?=
 =?iso-8859-1?Q?90VGkmkOzDRLDjJbBccmsul2YWgm20d9VXULEDrbFZlswMWOFi3Woos2G7?=
 =?iso-8859-1?Q?DkhviEG0cDNkv2MYF/10qDlV/vcTYr9JL1Kmc7SzD9zn5p+ZgqTmjSABi7?=
 =?iso-8859-1?Q?m1NRXn3wkN7vmQduYytATTGiGGjf6XwQdRylS/HmCm0td7rQWDmI66cykv?=
 =?iso-8859-1?Q?VQ2ksT03iIx+krJi9mcFgCxClFHFX30x64Sbj+3GJrQ26nXHtvaUSyX2Dq?=
 =?iso-8859-1?Q?CFmG/L/f7AOF+o1tjYuAZ4tKztC/LMVFBlrO7yuEW9xWNcS1ypLEIcK0XX?=
 =?iso-8859-1?Q?t548wfPDzx6do8lE7YLdu/kwagDONpph1Hax+J1bq21++RpmdUWuf6BzNr?=
 =?iso-8859-1?Q?PxaORENkYI3NG4DLJgrshhTtLI0BM2BEUUbCZ+IapLfxnJxEwb7xorZFOP?=
 =?iso-8859-1?Q?nKmGuGb54lOysIATHBSgL1meCC5sbHz0VDicG5PNMO5CtyicqR9RyiJrOQ?=
 =?iso-8859-1?Q?hnSG016ZnQluKVKT22ybxc4h2+sVEuuDt0M7tknQCHNYLFZ1Qf+t8Z7jCu?=
 =?iso-8859-1?Q?GheFPPe0KV/7nz92gt5NRWong7zuURNwT3ddfhhCK92C95jHAULlhSR6Cx?=
 =?iso-8859-1?Q?U0w6E3kK8Am1p+yGAidA5Dw/x8TA4FED3cfhRQ8a1gg2wIcn0BKMfhTaYw?=
 =?iso-8859-1?Q?Um8OlXUpoObYRLewKMZtkGvIXAaYGdpfjRJKuK5/K8K8q4XlwYNBBfROYh?=
 =?iso-8859-1?Q?EwRZzX5sE1N0tWIGJsjCnKzeNmenC8IVIYyHPZ30dARQEt44HDEWOukbgJ?=
 =?iso-8859-1?Q?PfLktxGoY5appXbzcloRBzHgpSRUMUv5PmIGtec2NjhuIwyRxojUTvsVgT?=
 =?iso-8859-1?Q?Q76nGidB13s3jUNenctKzX0UlJaKELF/FN7RWBAwBVKPA1CwIb+uptFvGV?=
 =?iso-8859-1?Q?WeEhEVr75Yj2PAgHb3SdiOM0Qmp8M1Zi4iPsFw=3D=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016)(13003099007)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?FwoxTxNVJ2UTMC0odEaknjwH5z3N+/6VP0MYLiW5gESefpRW0pX/6bObvL?=
 =?iso-8859-1?Q?ls+t5/G+RUiNg0gRH0iMOeEQkM7OUY3GRl7Cy5MD3CXm3Gt2LLpWV3tkSe?=
 =?iso-8859-1?Q?aLYUFCz5rxOLho8G1vcHMK2N1iKH4UxX7IxsEpz6e4SJgbl+RZAWVl5G0B?=
 =?iso-8859-1?Q?Givdz1POiqYe2V9ITEvjT53DBh2DjWF/yelmdq+KmuS+8X42JWXT5ROq1K?=
 =?iso-8859-1?Q?hfmyJQDar6qoRs2CDftq/DDcKIYw8vKC5uO++c2MrIQD4Kz3LC9gHzx6jI?=
 =?iso-8859-1?Q?3Z32E7tiUVT2CHJyL7eWRN55UJtrst8ZW20hl382vIyibiGwF/a5jiXn8/?=
 =?iso-8859-1?Q?fp135rsZT6zJCkKZipubE68X/UfLT1J4yDTG7wjbQs4rHCWwVHHxFncaj+?=
 =?iso-8859-1?Q?y0RKCpgj9wyuIcOHcJQTTxcY6cuHLjEj7xjzWpA2I/mawtOLtc+DsZaR+I?=
 =?iso-8859-1?Q?sb9yLZwru9+0t08glnDLfZL9myktz2vgvV8cFjqDIdjzBOQHiLnWd3A0Oi?=
 =?iso-8859-1?Q?D+8GGXy/8OYnrbIy2X9PYV9i6f2qlM30UEjGsX1h/zPnGYbaQ7sZUvTZip?=
 =?iso-8859-1?Q?lPgPgMcEqd2Uwvh4tk8F4MLyYWHpw8qPg5TA66emmjlgj5OAe5uktfzsBz?=
 =?iso-8859-1?Q?VVCcxboMPWJHsVXaHyw1sQyyz/aAJhz/rKXGbFPwsu4G7yUuRZlgDDDIbH?=
 =?iso-8859-1?Q?9CcCL9ftt62Aw33IjCaEUFIcf/SjgPR+DK0byYqCFziSyms1cVGHueYZQF?=
 =?iso-8859-1?Q?hKfI5DpU3ixf4dA+ATWyttluBONBcSDVLwYhQoxvE517fXmy7f8gBC5HX4?=
 =?iso-8859-1?Q?zrNGuPmolswmnqpeLRoQUg+29buWggI+mEi8DrHl7zrwSlwwweEClOdx09?=
 =?iso-8859-1?Q?yAJcnK3T1gyY9kB8SnGXL60AqUm4xVu2QCvUVglWluVs5p9XdKB6aCzGeg?=
 =?iso-8859-1?Q?zVfKx/F09p+DnszRcUMqS/uQxnbH1E8UCGhoFexRovHghx6sQbMgotTkQ8?=
 =?iso-8859-1?Q?1LuQ8K8DN7Ja2DE6E30IMh9Oky7hmt52F/FEPrfU8VDFfvOibROSNXFW27?=
 =?iso-8859-1?Q?/yNiSJQoTYkhgLUZ8WpshQsL8j+d9iP3tcnM8ST5lOI8m/n4ui2zeut68O?=
 =?iso-8859-1?Q?7MNJ66rjW1c2jA5vdtlvkWyNGleA4a6bWUNscbmDOKtl6H5XjI+S+al4Lo?=
 =?iso-8859-1?Q?r5igDNJE3UJ/UyQo1+KaXmFzl8rVupeRwzr04MGMCkoz1jP1NYMWxNQvj6?=
 =?iso-8859-1?Q?fxhBIn3VTlC6OCQID7V3M7ix38VcOYU4n0C18piycewLRdECkHZ9N4XgqZ?=
 =?iso-8859-1?Q?EV+gPe1kJEIgMcflMzGQQAewtO18lJwBHGyCpwiKptMxZigAPkD3frsctM?=
 =?iso-8859-1?Q?RjFTHeErnBAcD5imJpxt2RhLKkg4vNnRyoFRFkhww/3iOHiyFoHzYmNdnq?=
 =?iso-8859-1?Q?WSqp7q5kLTsI5Ag9NBPl6PGxUIz047rOH9WnaZVpW+EUkYtaVSVyicL/kl?=
 =?iso-8859-1?Q?Qq6YOxU6HpEmHuhMx8wpG4BPYyo52E2nqWryQFLmMm5/mCI78UnhIdBj5/?=
 =?iso-8859-1?Q?/uBJBiZKaBkXOe2MYgQ9IkdskZo5FGBRPCS94dQErosxKK4zWaTiAiKnr4?=
 =?iso-8859-1?Q?u66q/z2U/xJ55zsZ8k2/t8k+PP8/bBeSv1aXficWlDTKeyaeYrB60uSQ?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9dd4bb93-5361-4cf4-6058-08dd63595db0
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2025 00:36:03.1420
 (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: q+juDReXX5SqOSP8nci0Z2/WgDa/ptz+xWQHn83Z1gxH6MKa80bPO/36Z5lqj2TP6Npokf3Z+ehA/pAoS9iEyKugYYy7rH8o0nB5qEoQXyc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8084

LibAFL, which is a part of AFL++ project is a instrument that allows
us to perform fuzzing on beremetal code (Xen hypervisor in this case)
using QEMU as an emulator. It employs QEMU's ability to create
snapshots to run many tests relatively quickly: system state is saved
right before executing a new test and restored after the test is
finished.

This patch adds all necessary plumbing to run aarch64 build of Xen
inside that LibAFL-QEMU fuzzer. From the Xen perspective we need to
do following things:

1. Able to communicate with LibAFL-QEMU fuzzer. This is done by
executing special opcodes, that only LibAFL-QEMU can handle.

2. Use interface from p.1 to tell the fuzzer about code Xen section,
so fuzzer know which part of code to track and gather coverage data.

3. Report fuzzer about crash. This is done in panic() function.

4. Prevent test harness from shooting itself in knee.

Right now test harness is an external component, because we want to
test external Xen interfaces, but it is possible to fuzz internal code
if we want to.

Test harness is implemented XTF-based test-case(s). As test harness
can issue hypercall that shuts itself down, KConfig option
CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING was added. It basically tells
fuzzer that test was completed successfully if Dom0 tries to shut
itself (or the whole machine) down.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

I tried to fuzz the vGIC emulator and hypercall interface. While vGIC
fuzzing didn't yield any interesting results, hypercall fuzzing found a
way to crash the hypervisor from Dom0 on aarch64, using
"XEN_SYSCTL_page_offline_op" with "sysctl_query_page_offline" sub-op,
because it leads to page_is_ram_type() call which is marked
UNREACHABLE on ARM.

In v2:

 - Moved to XTF-based test harness
 - Severely reworked the fuzzer itself. Now it has user-friendly
   command-line interface and is capable of running in CI, as it now
   returns an appropriate error code if any faults were found
 - Also I found, debugged and fixed a nasty bug in LibAFL-QEMU fork,
   which crashed the whole fuzzer.

Right now the fuzzer is lockated at Xen Troops repo:

https://github.com/xen-troops/xen-fuzzer-rs

But I believe that it is ready to be included into
gitlab.com/xen-project/

XTF-based harness is at

https://gitlab.com/vlad.babchuk/xtf/-/tree/mr_libafl

and there is corresponding MR for including it into

https://gitlab.com/xen-project/fusa/xtf/-/tree/xtf-arm

So, to sum up. All components are basically ready for initial
inclusion. There will be smaller, integration-related changes
later. For example - we will need to update URLs for various
components after they are moved to correct places.
---
 docs/hypervisor-guide/fuzzing.rst           |  90 ++++++++++++
 xen/arch/arm/Kconfig.debug                  |  26 ++++
 xen/arch/arm/Makefile                       |   1 +
 xen/arch/arm/include/asm/libafl_qemu.h      |  54 +++++++
 xen/arch/arm/include/asm/libafl_qemu_defs.h |  37 +++++
 xen/arch/arm/libafl_qemu.c                  | 152 ++++++++++++++++++++
 xen/arch/arm/psci.c                         |  13 ++
 xen/common/sched/core.c                     |  17 +++
 xen/common/shutdown.c                       |   7 +
 xen/drivers/char/console.c                  |   8 ++
 10 files changed, 405 insertions(+)
 create mode 100644 docs/hypervisor-guide/fuzzing.rst
 create mode 100644 xen/arch/arm/include/asm/libafl_qemu.h
 create mode 100644 xen/arch/arm/include/asm/libafl_qemu_defs.h
 create mode 100644 xen/arch/arm/libafl_qemu.c

diff --git a/docs/hypervisor-guide/fuzzing.rst b/docs/hypervisor-guide/fuzz=
ing.rst
new file mode 100644
index 0000000000..a5de71dd25
--- /dev/null
+++ b/docs/hypervisor-guide/fuzzing.rst
@@ -0,0 +1,90 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Fuzzing
+=3D=3D=3D=3D=3D=3D=3D
+
+It is possible to use LibAFL-QEMU for fuzzing hypervisor. Right now
+only aarch64 is supported and only hypercall fuzzing is enabled in the
+test harness, but there are plans to add vGIC interface fuzzing, PSCI
+fuzzing and vPL011 fuzzing as well.
+
+
+Principle of operation
+----------------------
+
+LibAFL-QEMU is a part of American Fuzzy lop plus plus (AKA AFL++)
+project. It uses special build of QEMU, that allows to fuzz baremetal
+software like Xen hypervisor or Linux kernel. Basic idea is that we
+have software under test (Xen hypervisor in our case) and a test
+harness application. Test harness uses special protocol to communicate
+with LibAFL outside of QEMU to get input data and report test
+result. LibAFL monitors which branches are taken by Xen and mutates
+input data in attempt to discover new code paths that eventually can
+lead to a crash or other unintended behavior.
+
+LibAFL uses QEMU's `snapshot` feature to run multiple test without
+restarting the whole system every time. This speeds up fuzzing process
+greatly.
+
+So, to try Xen fuzzing we need three components: LibAFL-based fuzzer,
+test harness and Xen itself.
+
+Building Xen for fuzzing
+------------------------
+
+Xen hypervisor should be built with these two options::
+
+ CONFIG_LIBAFL_QEMU_FUZZER=3Dy
+ CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING=3Dy
+
+Building LibAFL-QEMU based fuzzer
+---------------------------------
+
+Fuzzer is written in Rust, so you need Rust toolchain and `cargo` tool
+in your system. Please refer to your distro documentation on how to
+obtain them.
+
+Once Rust is ready, fetch and build the fuzzer::
+
+  # git clone https://github.com/xen-troops/xen-fuzzer-rs
+  # cd xen-fuzzer-rs
+  # cargo build
+
+Building test harness
+---------------------
+
+We need to make low-level actions, like issuing random hypercalls, so
+for test harness we use special build of Zephyr application. We use
+XTF as a test harness. You can build XTF manually, or let fuzzer to do thi=
s::
+
+  # cargo make build_xtf
+
+This fill download and build XTF for ARM.
+
+Running the fuzzer
+------------------
+
+Please refer to README.md that comes with the fuzzer, but the most
+versatile way is to run it like this::
+
+  # target/debug/xen_fuzzer -t 3600 /path/to/xen \
+      target/xtf/tests/arm-vgic-fuzzer/test-mmu64le-arm-vgic-fuzzer
+
+(assuming that you built XTF with `cargo make build_xtf`)
+
+Any inputs that led to crashes will be found in `crashes` directory.
+
+You can replay a crash with `-r` option::
+
+  # target/debug/xen_fuzzer -r crashes/0195e4fc65828c17 run \
+      /path/to/xen \
+      /path/to/harness
+
+
+Fuzzer will return non-zero error code if it encountered any crashes.
+
+TODOs
+-----
+
+ - Add x86 support.
+ - Implement fuzzing of other external hypervisor interfaces.
diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
index 5a03b220ac..3b00c77d3a 100644
--- a/xen/arch/arm/Kconfig.debug
+++ b/xen/arch/arm/Kconfig.debug
@@ -190,3 +190,29 @@ config EARLY_PRINTK_INC
 	default "debug-mvebu.inc" if EARLY_UART_MVEBU
 	default "debug-pl011.inc" if EARLY_UART_PL011
 	default "debug-scif.inc" if EARLY_UART_SCIF
+
+config LIBAFL_QEMU_FUZZER
+	bool "Enable LibAFL-QEMU calls"
+	help
+	  This option enables support for LibAFL-QEMU calls. Enable this
+	  only when you are going to run hypervisor inside LibAFL-QEMU.
+	  Xen will report code section to LibAFL and will report about
+	  crash when it panics.
+
+	  Do not try to run Xen built on this option on any real hardware
+	  or plain QEMU, because it will just crash during startup.
+
+config LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+	depends on LIBAFL_QEMU_FUZZER
+	bool "LibAFL: Report any attempt to suspend/destroy a domain as a success=
"
+	help
+	  When fuzzing hypercalls, fuzzer sometimes will issue an hypercall that
+	  leads to a domain shutdown, or machine shutdown, or vCPU being
+	  blocked, or something similar. In this case test harness will not be
+	  able to report about successfully handled call to the fuzzer. Fuzzer
+	  will report timeout and mark this as a crash, which is not true. So,
+	  in such cases we need to report about successfully test case from the
+	  hypervisor itself.
+
+          Enable this option only if fuzzing attempt can lead to a correct
+	  stoppage, like when fuzzing hypercalls or PSCI.
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index fb0948f067..7b4eaab680 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -12,6 +12,7 @@ obj-$(CONFIG_TEE) +=3D tee/
 obj-$(CONFIG_HAS_VPCI) +=3D vpci.o
=20
 obj-$(CONFIG_HAS_ALTERNATIVE) +=3D alternative.o
+obj-${CONFIG_LIBAFL_QEMU_FUZZER} +=3D libafl_qemu.o
 obj-y +=3D cpuerrata.o
 obj-y +=3D cpufeature.o
 obj-y +=3D decode.o
diff --git a/xen/arch/arm/include/asm/libafl_qemu.h b/xen/arch/arm/include/=
asm/libafl_qemu.h
new file mode 100644
index 0000000000..b90cf48b9a
--- /dev/null
+++ b/xen/arch/arm/include/asm/libafl_qemu.h
@@ -0,0 +1,54 @@
+#ifndef LIBAFL_QEMU_H
+#define LIBAFL_QEMU_H
+
+#include <xen/stdint.h>
+#include "libafl_qemu_defs.h"
+#define LIBAFL_QEMU_PRINTF_MAX_SIZE 4096
+
+typedef uint64_t libafl_word;
+
+/**
+ * LibAFL QEMU header file.
+ *
+ * This file is a portable header file used to build target harnesses more
+ * conveniently. Its main purpose is to generate ready-to-use calls to
+ * communicate with the fuzzer. The list of commands is available at the b=
ottom
+ * of this file. The rest mostly consists of macros generating the code us=
ed by
+ * the commands.
+ */
+
+enum LibaflQemuEndStatus {
+  LIBAFL_QEMU_END_UNKNOWN =3D 0,
+  LIBAFL_QEMU_END_OK =3D 1,
+  LIBAFL_QEMU_END_CRASH =3D 2,
+};
+
+libafl_word libafl_qemu_start_virt(void *buf_vaddr, libafl_word max_len);
+
+libafl_word libafl_qemu_start_phys(void *buf_paddr, libafl_word max_len);
+
+libafl_word libafl_qemu_input_virt(void *buf_vaddr, libafl_word max_len);
+
+libafl_word libafl_qemu_input_phys(void *buf_paddr, libafl_word max_len);
+
+void libafl_qemu_end(enum LibaflQemuEndStatus status);
+
+void libafl_qemu_save(void);
+
+void libafl_qemu_load(void);
+
+libafl_word libafl_qemu_version(void);
+
+void libafl_qemu_page_current_allow(void);
+
+void libafl_qemu_internal_error(void);
+
+void __attribute__((format(printf, 1, 2))) lqprintf(const char *fmt, ...);
+
+void libafl_qemu_test(void);
+
+void libafl_qemu_trace_vaddr_range(libafl_word start, libafl_word end);
+
+void libafl_qemu_trace_vaddr_size(libafl_word start, libafl_word size);
+
+#endif
diff --git a/xen/arch/arm/include/asm/libafl_qemu_defs.h b/xen/arch/arm/inc=
lude/asm/libafl_qemu_defs.h
new file mode 100644
index 0000000000..2866cadaac
--- /dev/null
+++ b/xen/arch/arm/include/asm/libafl_qemu_defs.h
@@ -0,0 +1,37 @@
+#ifndef LIBAFL_QEMU_DEFS
+#define LIBAFL_QEMU_DEFS
+
+#define LIBAFL_STRINGIFY(s) #s
+#define XSTRINGIFY(s) LIBAFL_STRINGIFY(s)
+
+#if __STDC_VERSION__ >=3D 201112L
+  #define STATIC_CHECKS                                   \
+    _Static_assert(sizeof(void *) <=3D sizeof(libafl_word), \
+                   "pointer type should not be larger and libafl_word");
+#else
+  #define STATIC_CHECKS
+#endif
+
+#define LIBAFL_SYNC_EXIT_OPCODE 0x66f23a0f
+#define LIBAFL_BACKDOOR_OPCODE 0x44f23a0f
+
+#define LIBAFL_QEMU_TEST_VALUE 0xcafebabe
+
+#define LIBAFL_QEMU_HDR_VERSION_NUMBER 0111  // TODO: find a nice way to s=
et it.
+
+typedef enum LibaflQemuCommand {
+  LIBAFL_QEMU_COMMAND_START_VIRT =3D 0,
+  LIBAFL_QEMU_COMMAND_START_PHYS =3D 1,
+  LIBAFL_QEMU_COMMAND_INPUT_VIRT =3D 2,
+  LIBAFL_QEMU_COMMAND_INPUT_PHYS =3D 3,
+  LIBAFL_QEMU_COMMAND_END =3D 4,
+  LIBAFL_QEMU_COMMAND_SAVE =3D 5,
+  LIBAFL_QEMU_COMMAND_LOAD =3D 6,
+  LIBAFL_QEMU_COMMAND_VERSION =3D 7,
+  LIBAFL_QEMU_COMMAND_VADDR_FILTER_ALLOW =3D 8,
+  LIBAFL_QEMU_COMMAND_INTERNAL_ERROR =3D 9,
+  LIBAFL_QEMU_COMMAND_LQPRINTF =3D 10,
+  LIBAFL_QEMU_COMMAND_TEST =3D 11,
+} LibaflExit;
+
+#endif
diff --git a/xen/arch/arm/libafl_qemu.c b/xen/arch/arm/libafl_qemu.c
new file mode 100644
index 0000000000..58924ce6c6
--- /dev/null
+++ b/xen/arch/arm/libafl_qemu.c
@@ -0,0 +1,152 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+/*
+   This file is based on libafl_qemu_impl.h and libafl_qemu_qemu_arch.h
+   from LibAFL project.
+*/
+#include <xen/lib.h>
+#include <xen/init.h>
+#include <xen/kernel.h>
+#include <asm/libafl_qemu.h>
+
+#define LIBAFL_DEFINE_FUNCTIONS(name, opcode)				\
+	libafl_word _libafl_##name##_call0(	\
+		libafl_word action) {					\
+		libafl_word ret;					\
+		__asm__ volatile (					\
+			"mov x0, %1\n"					\
+			".word " XSTRINGIFY(opcode) "\n"		\
+			"mov %0, x0\n"					\
+			: "=3Dr"(ret)					\
+			: "r"(action)					\
+			: "x0"						\
+			);						\
+		return ret;						\
+	}								\
+									\
+	libafl_word _libafl_##name##_call1(	\
+		libafl_word action, libafl_word arg1) {			\
+		libafl_word ret;					\
+		__asm__ volatile (					\
+			"mov x0, %1\n"					\
+			"mov x1, %2\n"					\
+			".word " XSTRINGIFY(opcode) "\n"		\
+			"mov %0, x0\n"					\
+			: "=3Dr"(ret)					\
+			: "r"(action), "r"(arg1)			\
+			: "x0", "x1"					\
+			);						\
+		return ret;						\
+	}								\
+									\
+	libafl_word _libafl_##name##_call2(	\
+		libafl_word action, libafl_word arg1, libafl_word arg2) { \
+		libafl_word ret;					\
+		__asm__ volatile (					\
+			"mov x0, %1\n"					\
+			"mov x1, %2\n"					\
+			"mov x2, %3\n"					\
+			".word " XSTRINGIFY(opcode) "\n"		\
+			"mov %0, x0\n"					\
+			: "=3Dr"(ret)					\
+			: "r"(action), "r"(arg1), "r"(arg2)		\
+			: "x0", "x1", "x2"				\
+			);						\
+		return ret;						\
+	}
+
+// Generates sync exit functions
+LIBAFL_DEFINE_FUNCTIONS(sync_exit, LIBAFL_SYNC_EXIT_OPCODE)
+
+// Generates backdoor functions
+LIBAFL_DEFINE_FUNCTIONS(backdoor, LIBAFL_BACKDOOR_OPCODE)
+
+static char _lqprintf_buffer[LIBAFL_QEMU_PRINTF_MAX_SIZE] =3D {0};
+
+libafl_word libafl_qemu_start_virt(void       *buf_vaddr,
+                                            libafl_word max_len) {
+  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_START_VIRT,
+                                 (libafl_word)buf_vaddr, max_len);
+}
+
+libafl_word libafl_qemu_start_phys(void       *buf_paddr,
+                                            libafl_word max_len) {
+  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_START_PHYS,
+                                 (libafl_word)buf_paddr, max_len);
+}
+
+libafl_word libafl_qemu_input_virt(void       *buf_vaddr,
+                                            libafl_word max_len) {
+  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_INPUT_VIRT,
+                                 (libafl_word)buf_vaddr, max_len);
+}
+
+libafl_word libafl_qemu_input_phys(void       *buf_paddr,
+                                            libafl_word max_len) {
+  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_INPUT_PHYS,
+                                 (libafl_word)buf_paddr, max_len);
+}
+
+void libafl_qemu_end(enum LibaflQemuEndStatus status) {
+  _libafl_sync_exit_call1(LIBAFL_QEMU_COMMAND_END, status);
+}
+
+void libafl_qemu_save(void) {
+  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_SAVE);
+}
+
+void libafl_qemu_load(void) {
+  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_LOAD);
+}
+
+libafl_word libafl_qemu_version(void) {
+  return _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_VERSION);
+}
+
+void libafl_qemu_internal_error(void) {
+  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_INTERNAL_ERROR);
+}
+
+void lqprintf(const char *fmt, ...) {
+  va_list args;
+  int res;
+  va_start(args, fmt);
+  res =3D vsnprintf(_lqprintf_buffer, LIBAFL_QEMU_PRINTF_MAX_SIZE, fmt, ar=
gs);
+  va_end(args);
+
+  if (res >=3D LIBAFL_QEMU_PRINTF_MAX_SIZE) {
+    // buffer is not big enough, either recompile the target with more
+    // space or print less things
+    libafl_qemu_internal_error();
+  }
+
+  _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_LQPRINTF,
+                          (libafl_word)_lqprintf_buffer, res);
+}
+
+void libafl_qemu_test(void) {
+  _libafl_sync_exit_call1(LIBAFL_QEMU_COMMAND_TEST, LIBAFL_QEMU_TEST_VALUE=
);
+}
+
+void libafl_qemu_trace_vaddr_range(libafl_word start,
+                                            libafl_word end) {
+  _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_VADDR_FILTER_ALLOW, start, e=
nd);
+}
+
+void libafl_qemu_trace_vaddr_size(libafl_word start,
+                                           libafl_word size) {
+  libafl_qemu_trace_vaddr_range(start, start + size);
+}
+
+static int init_afl(void)
+{
+	vaddr_t xen_text_start =3D (vaddr_t)_stext;
+	vaddr_t xen_text_end =3D (vaddr_t)_etext;
+
+	lqprintf("Telling AFL about code section: %lx - %lx\n", xen_text_start, x=
en_text_end);
+
+	libafl_qemu_trace_vaddr_range(xen_text_start, xen_text_end);
+
+	return 0;
+}
+
+__initcall(init_afl);
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index b6860a7760..c7a51a1144 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -17,6 +17,7 @@
 #include <asm/cpufeature.h>
 #include <asm/psci.h>
 #include <asm/acpi.h>
+#include <asm/libafl_qemu.h>
=20
 /*
  * While a 64-bit OS can make calls with SMC32 calling conventions, for
@@ -49,6 +50,10 @@ int call_psci_cpu_on(int cpu)
=20
 void call_psci_cpu_off(void)
 {
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+    libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
+
     if ( psci_ver > PSCI_VERSION(0, 1) )
     {
         struct arm_smccc_res res;
@@ -62,12 +67,20 @@ void call_psci_cpu_off(void)
=20
 void call_psci_system_off(void)
 {
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+    libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
+
     if ( psci_ver > PSCI_VERSION(0, 1) )
         arm_smccc_smc(PSCI_0_2_FN32_SYSTEM_OFF, NULL);
 }
=20
 void call_psci_system_reset(void)
 {
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+    libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
+
     if ( psci_ver > PSCI_VERSION(0, 1) )
         arm_smccc_smc(PSCI_0_2_FN32_SYSTEM_RESET, NULL);
 }
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 9043414290..55eb132568 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -47,6 +47,10 @@
 #define pv_shim false
 #endif
=20
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER
+#include <asm/libafl_qemu.h>
+#endif
+
 /* opt_sched: scheduler - default to configured value */
 static char __initdata opt_sched[10] =3D CONFIG_SCHED_DEFAULT;
 string_param("sched", opt_sched);
@@ -1452,6 +1456,10 @@ static long do_poll(const struct sched_poll *sched_p=
oll)
     if ( !guest_handle_okay(sched_poll->ports, sched_poll->nr_ports) )
         return -EFAULT;
=20
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+    libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
+
     set_bit(_VPF_blocked, &v->pause_flags);
     v->poll_evtchn =3D -1;
     set_bit(v->vcpu_id, d->poll_mask);
@@ -1904,12 +1912,18 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(v=
oid) arg)
     {
     case SCHEDOP_yield:
     {
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+        libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
         ret =3D vcpu_yield();
         break;
     }
=20
     case SCHEDOP_block:
     {
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+        libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
         vcpu_block_enable_events();
         break;
     }
@@ -1924,6 +1938,9 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
=20
         TRACE_TIME(TRC_SCHED_SHUTDOWN, current->domain->domain_id,
                    current->vcpu_id, sched_shutdown.reason);
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+        libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
         ret =3D domain_shutdown(current->domain, (u8)sched_shutdown.reason=
);
=20
         break;
diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index c47341b977..1340f4b606 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -11,6 +11,10 @@
 #include <xen/kexec.h>
 #include <public/sched.h>
=20
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER
+#include <asm/libafl_qemu.h>
+#endif
+
 /* opt_noreboot: If true, machine will need manual reset on error. */
 bool __ro_after_init opt_noreboot;
 boolean_param("noreboot", opt_noreboot);
@@ -32,6 +36,9 @@ static void noreturn reboot_or_halt(void)
=20
 void hwdom_shutdown(unsigned char reason)
 {
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
+    libafl_qemu_end(LIBAFL_QEMU_END_OK);
+#endif
     switch ( reason )
     {
     case SHUTDOWN_poweroff:
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index ba428199d2..55d33fa744 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -40,6 +40,9 @@
 #ifdef CONFIG_SBSA_VUART_CONSOLE
 #include <asm/vpl011.h>
 #endif
+#ifdef CONFIG_LIBAFL_QEMU_FUZZER
+#include <asm/libafl_qemu.h>
+#endif
=20
 /* console: comma-separated list of console outputs. */
 static char __initdata opt_console[30] =3D OPT_CONSOLE_STR;
@@ -1289,6 +1292,11 @@ void panic(const char *fmt, ...)
=20
     kexec_crash(CRASHREASON_PANIC);
=20
+    #ifdef CONFIG_LIBAFL_QEMU_FUZZER
+    /* Tell the fuzzer that we crashed */
+    libafl_qemu_end(LIBAFL_QEMU_END_CRASH);
+    #endif
+
     if ( opt_noreboot )
         machine_halt();
     else
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:01:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:01:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915595.1321079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttFtY-0004In-HY; Sat, 15 Mar 2025 01:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915595.1321079; Sat, 15 Mar 2025 01: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 1ttFtY-0004Hy-DA; Sat, 15 Mar 2025 01:00:56 +0000
Received: by outflank-mailman (input) for mailman id 915595;
 Sat, 15 Mar 2025 01:00: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttFtW-0003LX-V4
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:00:54 +0000
Received: from mail-40134.protonmail.ch (mail-40134.protonmail.ch
 [185.70.40.134]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1aeb786-0138-11f0-9ab9-95dc52dad729;
 Sat, 15 Mar 2025 02:00:53 +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: f1aeb786-0138-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742000451; x=1742259651;
	bh=SZFLLKsmutSIFRVICzFF/MAQs1B4CsrYVYffl1QxtBM=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=NHNM1BicsPZb3TvhlQSVR9p33g3RprpHhyI03sQkhm2Y1sryyKJM86wLrJ7pKpNwb
	 y7+wx9FxYZAcIqzI49LRzCmS6iA2dCLDPhbYhdJ8CZP6DjSMQLXn+/Ect9C03zTnrV
	 cDgq7xU0buss9BJagsGEUT39WZ0Jsb6UFfD1/WQeXujYgwbST3/Bvf1s3kv4B9/0zJ
	 ORbEAT+jMSgy0Jg6lPoHLmA7zModKyN1AXB2qQvfjcLec4Tt6FJKjWk0Tl0BjvN4s+
	 kfaag8tHm3SSLOjO5l3QTBnOEahVWrVaYJzNMAY78aN8qYr+EPCdxGbVDQJouK8QxI
	 vPUtPSu5krgVQ==
Date: Sat, 15 Mar 2025 01:00:47 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH 1/3] x86/irq: rename NR_ISAIRQS to NR_ISA_IRQS
Message-ID: <20250315010033.2917197-2-dmukhin@ford.com>
In-Reply-To: <20250315010033.2917197-1-dmukhin@ford.com>
References: <20250315010033.2917197-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: ed83c04414e86ab5a96f11c89c6df0312e8b1101
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Rename NR_ISAIRQS to NR_ISA_IRQS to enhance readability.

No functional changes.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/x86/hvm/hvm.c             | 4 ++--
 xen/arch/x86/hvm/vpt.c             | 2 +-
 xen/arch/x86/include/asm/hvm/irq.h | 4 ++--
 xen/arch/x86/physdev.c             | 2 +-
 xen/drivers/passthrough/x86/hvm.c  | 4 ++--
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 2f31180b6f..5950f3160f 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -633,8 +633,8 @@ int hvm_domain_initialise(struct domain *d,
     /* Set the number of GSIs */
     hvm_domain_irq(d)->nr_gsis =3D nr_gsis;
=20
-    BUILD_BUG_ON(NR_HVM_DOMU_IRQS < NR_ISAIRQS);
-    ASSERT(hvm_domain_irq(d)->nr_gsis >=3D NR_ISAIRQS);
+    BUILD_BUG_ON(NR_HVM_DOMU_IRQS < NR_ISA_IRQS);
+    ASSERT(hvm_domain_irq(d)->nr_gsis >=3D NR_ISA_IRQS);
=20
     /* need link to containing domain */
     d->arch.hvm.pl_time->domain =3D d;
diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 5e7b9a9f66..4d86830644 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -491,7 +491,7 @@ void create_periodic_time(
     uint64_t period, uint8_t irq, time_cb *cb, void *data, bool level)
 {
     if ( !pt->source ||
-         (irq >=3D NR_ISAIRQS && pt->source =3D=3D PTSRC_isa) ||
+         (irq >=3D NR_ISA_IRQS && pt->source =3D=3D PTSRC_isa) ||
          (level && period) ||
          (pt->source =3D=3D PTSRC_ioapic ? irq >=3D hvm_domain_irq(v->doma=
in)->nr_gsis
                                      : level) )
diff --git a/xen/arch/x86/include/asm/hvm/irq.h b/xen/arch/x86/include/asm/=
hvm/irq.h
index 87e89993a4..77595fb3f4 100644
--- a/xen/arch/x86/include/asm/hvm/irq.h
+++ b/xen/arch/x86/include/asm/hvm/irq.h
@@ -134,7 +134,7 @@ struct hvm_girq_dpci_mapping {
     uint8_t machine_gsi;
 };
=20
-#define NR_ISAIRQS  16
+#define NR_ISA_IRQS 16
 #define NR_LINK     4
 #define NR_HVM_DOMU_IRQS ARRAY_SIZE(((struct hvm_hw_vioapic *)NULL)->redir=
tbl)
=20
@@ -143,7 +143,7 @@ struct hvm_irq_dpci {
     /* Guest IRQ to guest device/intx mapping. */
     struct list_head girq[NR_HVM_DOMU_IRQS];
     /* Record of mapped ISA IRQs */
-    DECLARE_BITMAP(isairq_map, NR_ISAIRQS);
+    DECLARE_BITMAP(isairq_map, NR_ISA_IRQS);
     /* Record of mapped Links */
     uint8_t link_cnt[NR_LINK];
 };
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 69fd42667c..4dfa1c0191 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -198,7 +198,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
=20
             /* if this is a level irq and count > 0, send another
              * notification */=20
-            if ( gsi >=3D NR_ISAIRQS /* ISA irqs are edge triggered */
+            if ( gsi >=3D NR_ISA_IRQS /* ISA irqs are edge triggered */
                     && hvm_irq->gsi_assert_count[gsi] )
                 send_guest_pirq(currd, pirq);
         }
diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x8=
6/hvm.c
index 47de6953fd..a2ca7e0e57 100644
--- a/xen/drivers/passthrough/x86/hvm.c
+++ b/xen/drivers/passthrough/x86/hvm.c
@@ -958,7 +958,7 @@ static void hvm_dpci_isairq_eoi(struct domain *d, unsig=
ned int isairq)
 {
     const struct hvm_irq_dpci *dpci =3D NULL;
=20
-    ASSERT(isairq < NR_ISAIRQS);
+    ASSERT(isairq < NR_ISA_IRQS);
=20
     if ( !is_iommu_enabled(d) )
         return;
@@ -991,7 +991,7 @@ void hvm_dpci_eoi(struct domain *d, unsigned int guest_=
gsi)
         goto unlock;
     }
=20
-    if ( guest_gsi < NR_ISAIRQS )
+    if ( guest_gsi < NR_ISA_IRQS )
     {
         hvm_dpci_isairq_eoi(d, guest_gsi);
         return;
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:01:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915597.1321099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttFtf-0007Ly-Uz; Sat, 15 Mar 2025 01:01:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915597.1321099; Sat, 15 Mar 2025 01:01: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 1ttFtf-0007LQ-Rj; Sat, 15 Mar 2025 01:01:03 +0000
Received: by outflank-mailman (input) for mailman id 915597;
 Sat, 15 Mar 2025 01:01: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttFte-0000Y2-Qy
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:01:02 +0000
Received: from mail-10628.protonmail.ch (mail-10628.protonmail.ch
 [79.135.106.28]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f655ccaf-0138-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 02:01:01 +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: f655ccaf-0138-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742000459; x=1742259659;
	bh=DRer+9clbTpnjbxvNyAPigTWFkAdFBrXKLnJAbMCgYA=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=R+D6o6LpjFh9sxnmTqAEL+HYMKXwWdhf90LvqyLTx4JTEqC+ges309ZStORW/CU6b
	 TkSHZcLUsdt2Q2JN8gEBuwqE/POhU5tI7im9rVpXzuIUyjsOTftOCG+sJmGpnhFpgf
	 P2oD9AzHlTPo00IDSwn7rY5i1wJl9RRI6iAzdZ+6xMxNCnKAa6Jzi5Aee1ajjA9KMZ
	 w7BGrOMUpjGKMAiEbPbEXyorNQWs2hAPHfv08UKonq6dvfr/AE7QJwbUDM11tH+qnW
	 fppaQHnSIEGj8HHgpC9+zBcbgwXbjg+ZJ8mQS1DqSx0orU0kjhTxuRB4sYOfsv4HIF
	 nc6eNJg1iXxHA==
Date: Sat, 15 Mar 2025 01:00:56 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH 3/3] x86/irq: introduce APIC_VECTOR_VALID
Message-ID: <20250315010033.2917197-4-dmukhin@ford.com>
In-Reply-To: <20250315010033.2917197-1-dmukhin@ford.com>
References: <20250315010033.2917197-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 3906a16afa138c91d372b37b17afbb6d60d33471
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Add new symbol APIC_VECTOR_VALID to replace open-coded value 16 in
LAPIC and virtual LAPIC code.

See:
  Intel SDM volume 3A
  Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
  Section "Valid Interrupt Vectors"

No functional change.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/x86/cpu/mcheck/mce_intel.c |  2 +-
 xen/arch/x86/hvm/vlapic.c           | 10 +++++-----
 xen/arch/x86/include/asm/apicdef.h  |  1 +
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/=
mce_intel.c
index 07b50f8793..e8c252e03a 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -136,7 +136,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *c)
      * is required to set the same value for all threads/cores).
      */
     if ( (val & APIC_DM_MASK) !=3D APIC_DM_FIXED
-         || (val & APIC_VECTOR_MASK) > 0xf )
+         || (val & APIC_VECTOR_MASK) > APIC_VECTOR_VALID )
         apic_write(APIC_LVTTHMR, val);
=20
     if ( (msr_content & (1ULL<<3))
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 065b2aab5b..a0f46e540c 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -123,7 +123,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigne=
d int err_bit)
              * will end up back here.  Break the cycle by only injecting L=
VTERR
              * if it will succeed, and folding in RECVILL otherwise.
              */
-            if ( (lvterr & APIC_VECTOR_MASK) >=3D 16 )
+            if ( (lvterr & APIC_VECTOR_MASK) >=3D APIC_VECTOR_VALID )
                 inj =3D true;
             else
                 set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
@@ -136,7 +136,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigne=
d int err_bit)
=20
 bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec)
 {
-    if ( unlikely(vec < 16) )
+    if ( unlikely(vec < APIC_VECTOR_VALID) )
         return false;
=20
     if ( hvm_funcs.test_pir &&
@@ -150,7 +150,7 @@ void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec,=
 uint8_t trig)
 {
     struct vcpu *target =3D vlapic_vcpu(vlapic);
=20
-    if ( unlikely(vec < 16) )
+    if ( unlikely(vec < APIC_VECTOR_VALID) )
     {
         vlapic_error(vlapic, ilog2(APIC_ESR_RECVILL));
         return;
@@ -523,7 +523,7 @@ void vlapic_ipi(
         struct vlapic *target =3D vlapic_lowest_prio(
             vlapic_domain(vlapic), vlapic, short_hand, dest, dest_mode);
=20
-        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
+        if ( unlikely((icr_low & APIC_VECTOR_MASK) < APIC_VECTOR_VALID) )
             vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
         else if ( target )
             vlapic_accept_irq(vlapic_vcpu(target), icr_low);
@@ -531,7 +531,7 @@ void vlapic_ipi(
     }
=20
     case APIC_DM_FIXED:
-        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
+        if ( unlikely((icr_low & APIC_VECTOR_MASK) < APIC_VECTOR_VALID) )
         {
             vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
             break;
diff --git a/xen/arch/x86/include/asm/apicdef.h b/xen/arch/x86/include/asm/=
apicdef.h
index 49e29ec801..7750583481 100644
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -78,6 +78,7 @@
 #define=09=09=09APIC_DM_STARTUP=09=090x00600
 #define=09=09=09APIC_DM_EXTINT=09=090x00700
 #define=09=09=09APIC_VECTOR_MASK=090x000FF
+#define=09=09=09APIC_VECTOR_VALID=09(16)
 #define=09=09APIC_ICR2=090x310
 #define=09=09=09GET_xAPIC_DEST_FIELD(x)=09(((x)>>24)&0xFF)
 #define=09=09=09SET_xAPIC_DEST_FIELD(x)=09((x)<<24)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:01:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915594.1321068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttFtU-0002OF-9E; Sat, 15 Mar 2025 01:00:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915594.1321068; Sat, 15 Mar 2025 01:00: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 1ttFtU-0002NM-6E; Sat, 15 Mar 2025 01:00:52 +0000
Received: by outflank-mailman (input) for mailman id 915594;
 Sat, 15 Mar 2025 01:00: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttFtS-0000Y2-5G
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:00:51 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed0592fa-0138-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 02:00:46 +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: ed0592fa-0138-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742000444; x=1742259644;
	bh=TznwrzIe2FCPCA/to/Ni9VILSQYxECCrtxBZ6W6gh5U=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=BQdGX2gWt2cL+YHRZsfOkHePM/i1qopLKL2R0bPKTMUOk0hFlLdWSF3C9pFJTy4r/
	 +RSFbld/74MTeb7eP8OhSCMbwqoxxdN6IqCQSVIgLYPv83Ki7nPoa3h7TWJNUEjVlL
	 icltkNq9OljfPz7xFgmUFA/ppYOsoxvg/CpMLzEI09IvlFAmGZkiznFvBBb1VfnFJz
	 8H97X9EszMoTHniUZmwSJRYxiEo7I7YtPlB9bgKITFgCgxT6OpFxN8GKt6EoNITjN9
	 aXdK10z8h114SeITryYCr8x2U8xQLFYj3XCyUpqoo08UgU5NKY7dn4NuNup17KDTxA
	 6Iqvie+Py4lNQ==
Date: Sat, 15 Mar 2025 01:00:39 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH 0/3] x86/irq: cleanup use of open-coded values
Message-ID: <20250315010033.2917197-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 764e4ffa73979e91989f5696ffba1ca535c38e67
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Remove uses of open-coded value 16 in x86's interrupt management code
to enhance readability.
 =20
Patch 0 makes a cosmetic rename NR_ISAIRQS -> NR_ISA_IRQS as per
code review [1].

Patch 1 makes use of NR_ISA_IRQS in the code where necessary.
=20
Patch 2 adds new symbol APIC_VECTOR_VALID and makes use of it.
=20
No functional changes.
=20
[1]: https://lore.kernel.org/xen-devel/20250314011528.2608217-1-dmukhin@for=
d.com/

Denis Mukhin (3):
  x86/irq: rename NR_ISAIRQS to NR_ISA_IRQS
  x86/irq: use NR_ISA_IRQS instead of open-coded value
  x86/irq: introduce APIC_VECTOR_VALID

 xen/arch/x86/cpu/mcheck/mce_intel.c |  2 +-
 xen/arch/x86/hvm/dm.c               |  2 +-
 xen/arch/x86/hvm/hvm.c              |  4 ++--
 xen/arch/x86/hvm/irq.c              | 17 +++++++++--------
 xen/arch/x86/hvm/vlapic.c           | 10 +++++-----
 xen/arch/x86/hvm/vpic.c             |  4 ++--
 xen/arch/x86/hvm/vpt.c              |  2 +-
 xen/arch/x86/include/asm/apicdef.h  |  1 +
 xen/arch/x86/include/asm/hvm/irq.h  |  4 ++--
 xen/arch/x86/include/asm/irq.h      |  2 +-
 xen/arch/x86/io_apic.c              | 12 ++++++------
 xen/arch/x86/irq.c                  |  6 +++---
 xen/arch/x86/physdev.c              |  2 +-
 xen/drivers/passthrough/x86/hvm.c   |  4 ++--
 14 files changed, 37 insertions(+), 35 deletions(-)

--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:01:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915596.1321089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttFtb-0005am-NU; Sat, 15 Mar 2025 01:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915596.1321089; Sat, 15 Mar 2025 01:00: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 1ttFtb-0005aE-K6; Sat, 15 Mar 2025 01:00:59 +0000
Received: by outflank-mailman (input) for mailman id 915596;
 Sat, 15 Mar 2025 01:00: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttFtZ-0003LX-N2
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:00:57 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3d209f9-0138-11f0-9ab9-95dc52dad729;
 Sat, 15 Mar 2025 02:00:57 +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: f3d209f9-0138-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742000455; x=1742259655;
	bh=VgICWf/0L3aRWRS3ZzhM6wzowwRkjjVOrPqBoDmn4Io=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=gnxBfY7RfTJ0OKgqkgwIi+Z1uGq7Jp6yx8i49P2BfEEYTS6DtLiXImXmc5JmDnxL2
	 aqz3aE0nakD7aRwQ4Ie8KHfSL7MhMNU9haI8c8kbp62l+Ivn8kd/E5+JI7r2jLQiZd
	 tMolneYDqYqVx6MYF/M7ccdjg+2zvgzHA++ofOUZy/fG0HiXws1apWB+P6SzIxXIUn
	 72cLZCniNdNEqwRtpI3vcAUw77VyD2TZZF4YdGeZTscHZmfZ/BOzfsQPDxjtCFubKn
	 r+t9KH3jS+x12g97IWo5JdEKn9vU+Qnyg6hTczRfHvHFmATqmrEACFfzbDvXTB4rlo
	 SY+9Z4OMSV1bQ==
Date: Sat, 15 Mar 2025 01:00:51 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH 2/3] x86/irq: use NR_ISA_IRQS instead of open-coded value
Message-ID: <20250315010033.2917197-3-dmukhin@ford.com>
In-Reply-To: <20250315010033.2917197-1-dmukhin@ford.com>
References: <20250315010033.2917197-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: f3148e4b784f25b54c3d5b94135fb3f479f74331
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Replace the open-coded value 16 with the NR_ISA_IRQS symbol to enhance
readability.

No functional changes.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/x86/hvm/dm.c          |  2 +-
 xen/arch/x86/hvm/irq.c         | 17 +++++++++--------
 xen/arch/x86/hvm/vpic.c        |  4 ++--
 xen/arch/x86/include/asm/irq.h |  2 +-
 xen/arch/x86/io_apic.c         | 12 ++++++------
 xen/arch/x86/irq.c             |  6 +++---
 6 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
index a1f7a4d30a..3b53471af0 100644
--- a/xen/arch/x86/hvm/dm.c
+++ b/xen/arch/x86/hvm/dm.c
@@ -90,7 +90,7 @@ static int set_pci_intx_level(struct domain *d, uint16_t =
domain,
 static int set_isa_irq_level(struct domain *d, uint8_t isa_irq,
                              uint8_t level)
 {
-    if ( isa_irq > 15 )
+    if ( isa_irq >=3D NR_ISA_IRQS )
         return -EINVAL;
=20
     switch ( level )
diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 1eab44defc..5f64361113 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -209,7 +209,7 @@ int hvm_isa_irq_assert(struct domain *d, unsigned int i=
sa_irq,
     unsigned int gsi =3D hvm_isa_irq_to_gsi(isa_irq);
     int vector =3D -1;
=20
-    ASSERT(isa_irq <=3D 15);
+    ASSERT(isa_irq < NR_ISA_IRQS);
=20
     spin_lock(&d->arch.hvm.irq_lock);
=20
@@ -231,7 +231,7 @@ void hvm_isa_irq_deassert(
     struct hvm_irq *hvm_irq =3D hvm_domain_irq(d);
     unsigned int gsi =3D hvm_isa_irq_to_gsi(isa_irq);
=20
-    ASSERT(isa_irq <=3D 15);
+    ASSERT(isa_irq < NR_ISA_IRQS);
=20
     spin_lock(&d->arch.hvm.irq_lock);
=20
@@ -266,12 +266,12 @@ static void hvm_set_callback_irq_level(struct vcpu *v=
)
         if ( asserted && (hvm_irq->gsi_assert_count[gsi]++ =3D=3D 0) )
         {
             vioapic_irq_positive_edge(d, gsi);
-            if ( gsi <=3D 15 )
+            if ( gsi < NR_ISA_IRQS )
                 vpic_irq_positive_edge(d, gsi);
         }
         else if ( !asserted && (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0)=
 )
         {
-            if ( gsi <=3D 15 )
+            if ( gsi < NR_ISA_IRQS )
                 vpic_irq_negative_edge(d, gsi);
         }
         break;
@@ -328,7 +328,7 @@ int hvm_set_pci_link_route(struct domain *d, u8 link, u=
8 isa_irq)
     u8 old_isa_irq;
     int i;
=20
-    if ( (link > 3) || (isa_irq > 15) )
+    if ( (link > 3) || (isa_irq >=3D NR_ISA_IRQS) )
         return -EINVAL;
=20
     spin_lock(&d->arch.hvm.irq_lock);
@@ -440,7 +440,8 @@ void hvm_set_callback_via(struct domain *d, uint64_t vi=
a)
         {
         case HVMIRQ_callback_gsi:
             gsi =3D hvm_irq->callback_via.gsi;
-            if ( (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0) && (gsi <=3D =
15) )
+            if ( (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0) &&
+                 (gsi < NR_ISA_IRQS) )
                 vpic_irq_negative_edge(d, gsi);
             break;
         case HVMIRQ_callback_pci_intx:
@@ -464,7 +465,7 @@ void hvm_set_callback_via(struct domain *d, uint64_t vi=
a)
                   (hvm_irq->gsi_assert_count[gsi]++ =3D=3D 0) )
         {
             vioapic_irq_positive_edge(d, gsi);
-            if ( gsi <=3D 15 )
+            if ( gsi < NR_ISA_IRQS )
                 vpic_irq_positive_edge(d, gsi);
         }
         break;
@@ -764,7 +765,7 @@ static int cf_check irq_check_link(const struct domain =
*d,
             return -EINVAL;
=20
     for ( link =3D 0; link < ARRAY_SIZE(pci_link->route); link++ )
-        if ( pci_link->route[link] > 15 )
+        if ( pci_link->route[link] >=3D NR_ISA_IRQS )
         {
             printk(XENLOG_G_ERR
                    "HVM restore: PCI-ISA link %u out of range (%u)\n",
diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c
index 6427b08086..22020322fb 100644
--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -523,7 +523,7 @@ void vpic_irq_positive_edge(struct domain *d, int irq)
     uint8_t mask =3D 1 << (irq & 7);
=20
     ASSERT(has_vpic(d));
-    ASSERT(irq <=3D 15);
+    ASSERT(irq < NR_ISA_IRQS);
     ASSERT(vpic_is_locked(vpic));
=20
     TRACE_TIME(TRC_HVM_EMUL_PIC_POSEDGE, irq);
@@ -541,7 +541,7 @@ void vpic_irq_negative_edge(struct domain *d, int irq)
     uint8_t mask =3D 1 << (irq & 7);
=20
     ASSERT(has_vpic(d));
-    ASSERT(irq <=3D 15);
+    ASSERT(irq < NR_ISA_IRQS);
     ASSERT(vpic_is_locked(vpic));
=20
     TRACE_TIME(TRC_HVM_EMUL_PIC_NEGEDGE, irq);
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.=
h
index f9ed5dc86c..3c73073b71 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -108,7 +108,7 @@ extern bool opt_noirqbalance;
=20
 extern int opt_irq_vector_map;
=20
-#define platform_legacy_irq(irq)=09((irq) < 16)
+#define platform_legacy_irq(irq)=09((irq) < NR_ISA_IRQS)
=20
 void cf_check event_check_interrupt(void);
 void cf_check invalidate_interrupt(void);
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index c6cf944811..84bd87a5e4 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -2715,15 +2715,15 @@ void __init ioapic_init(void)
                               " than \"nr_irqs=3D\"\n");
         max_gsi_irqs =3D nr_irqs;
     }
-    if ( max_gsi_irqs < 16 )
-        max_gsi_irqs =3D 16;
+    if ( max_gsi_irqs < NR_ISA_IRQS )
+        max_gsi_irqs =3D NR_ISA_IRQS;
=20
     /* for PHYSDEVOP_pirq_eoi_gmfn guest assumptions */
     if ( max_gsi_irqs > PAGE_SIZE * 8 )
         max_gsi_irqs =3D PAGE_SIZE * 8;
=20
-    if ( !smp_found_config || skip_ioapic_setup || nr_irqs_gsi < 16 )
-        nr_irqs_gsi =3D 16;
+    if ( !smp_found_config || skip_ioapic_setup || nr_irqs_gsi < NR_ISA_IR=
QS )
+        nr_irqs_gsi =3D NR_ISA_IRQS;
     else if ( nr_irqs_gsi > max_gsi_irqs )
     {
         printk(XENLOG_WARNING "Limiting to %u GSI IRQs (found %u)\n",
@@ -2736,8 +2736,8 @@ void __init ioapic_init(void)
                   max(0U + num_present_cpus() * NR_DYNAMIC_VECTORS,
                       8 * nr_irqs_gsi) :
                   nr_irqs_gsi;
-    else if ( nr_irqs < 16 )
-        nr_irqs =3D 16;
+    else if ( nr_irqs < NR_ISA_IRQS )
+        nr_irqs =3D NR_ISA_IRQS;
     printk(XENLOG_INFO "IRQ limits: %u GSI, %u MSI/MSI-X\n",
            nr_irqs_gsi, nr_irqs - nr_irqs_gsi);
 }
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index f35894577b..dd8d921f18 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -36,7 +36,7 @@
 bool __read_mostly opt_noirqbalance;
 boolean_param("noirqbalance", opt_noirqbalance);
=20
-unsigned int __read_mostly nr_irqs_gsi =3D 16;
+unsigned int __read_mostly nr_irqs_gsi =3D NR_ISA_IRQS;
 unsigned int __read_mostly nr_irqs;
 integer_param("nr_irqs", nr_irqs);
=20
@@ -1525,7 +1525,7 @@ void desc_guest_eoi(struct irq_desc *desc, struct pir=
q *pirq)
 int pirq_guest_unmask(struct domain *d)
 {
     unsigned int pirq =3D 0, n, i;
-    struct pirq *pirqs[16];
+    struct pirq *pirqs[NR_ISA_IRQS];
=20
     do {
         n =3D radix_tree_gang_lookup(&d->pirq_tree, (void **)pirqs, pirq,
@@ -2113,7 +2113,7 @@ int get_free_pirq(struct domain *d, int type)
=20
     if ( type =3D=3D MAP_PIRQ_TYPE_GSI )
     {
-        for ( i =3D 16; i < nr_irqs_gsi; i++ )
+        for ( i =3D NR_ISA_IRQS; i < nr_irqs_gsi; i++ )
             if ( is_free_pirq(d, pirq_info(d, i)) )
             {
                 pirq_get_info(d, i);
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:03:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:03:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915632.1321108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttFwA-00029p-Bz; Sat, 15 Mar 2025 01:03:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915632.1321108; Sat, 15 Mar 2025 01:03: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 1ttFwA-00029i-8m; Sat, 15 Mar 2025 01:03:38 +0000
Received: by outflank-mailman (input) for mailman id 915632;
 Sat, 15 Mar 2025 01:03: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttFw8-00029c-WA
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:03:36 +0000
Received: from mail-40134.protonmail.ch (mail-40134.protonmail.ch
 [185.70.40.134]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52a7b87e-0139-11f0-9ab9-95dc52dad729;
 Sat, 15 Mar 2025 02:03:36 +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: 52a7b87e-0139-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742000614; x=1742259814;
	bh=SmSCL0+qlM06wlDwsoQvN6LfGsCVuGRAQpA59YIyAGA=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=g3etPs9mdOtL1+uFK9tNof1jsu935KtiwSU4/zPurc7+yS5NQyIC+A1s+bbUbv4o4
	 +h9RlNZik6aoZeXsFxVw1IlGjkFRlYx6uGc1nDfEN78MsxH1+0SXD+VEco69iQdAhU
	 cqyYx1Mt9c5Ry7jLB+cFu6hlN+fQE7RebZoSnTnYhA1SuKDGM46e4PprEXcfpSaoOH
	 MbALDq875LflCApeogGMA5LoYJGOrloLrN5j2bdDwSg7HP0M/mzyrYHPJYpEizbwWR
	 Xo6ahYeKBzZtyEMlOaauhID9mGIC+gRb75+F6yoHjKvPzgifwv82ZDqE4VBjQiPVh5
	 DudG5wanlMoXQ==
Date: Sat, 15 Mar 2025 01:03:33 +0000
To: Andrew Cooper <andrew.cooper3@citrix.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: xen-devel@lists.xenproject.org, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
Message-ID: <ZSWlbJjcQuPrvCTcjHEmH0uZyQ34tfGY1EAiIm_nFCWJIEhebSUiCNRGnFWhSZczh-rhJy8ZgyKe-pvFljjLoTGRUYN1qkvMK0yQX_pySL4=@proton.me>
In-Reply-To: <94879059-1a38-45e3-ab3a-4f8eacd885cf@citrix.com>
References: <20250314011528.2608217-1-dmukhin@ford.com> <94879059-1a38-45e3-ab3a-4f8eacd885cf@citrix.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: c4661984fceb90cd563f82b971f31e522528bfff
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Friday, March 14th, 2025 at 2:14 AM, Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:

>=20
>=20
> On 14/03/2025 1:20 am, dmkhn@proton.me wrote:
>=20
> > Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
> > readability.
> >=20
> > No functional changes.
> >=20
> > Signed-off-by: Denis Mukhin dmukhin@ford.com
>=20
>=20
> There are currently very few uses of NR_ISAIRQS, and you're about
> tripling that.
>=20
> Please could you do a prep patch renaming to NR_IRS_IRQS first for
> legibility?

Posted here:
  https://lore.kernel.org/xen-devel/20250315010033.2917197-2-dmukhin@ford.c=
om/

Thanks!

>=20
> ~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:06:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:06:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915647.1321119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttFyx-0002j9-NU; Sat, 15 Mar 2025 01:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915647.1321119; Sat, 15 Mar 2025 01:06: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 1ttFyx-0002j2-KY; Sat, 15 Mar 2025 01:06:31 +0000
Received: by outflank-mailman (input) for mailman id 915647;
 Sat, 15 Mar 2025 01:06: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=3z59=WC=linux-foundation.org=akpm@srs-se1.protection.inumbo.net>)
 id 1ttFyw-0002it-Ct
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:06:30 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b96acdfa-0139-11f0-9ab9-95dc52dad729;
 Sat, 15 Mar 2025 02:06:29 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id D1D8A5C57AE;
 Sat, 15 Mar 2025 01:04:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50731C4CEE3;
 Sat, 15 Mar 2025 01:06:26 +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: b96acdfa-0139-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
	s=korg; t=1742000787;
	bh=9oWnsRrteEppsIdl5wrmRTiQSvICywXOfyVLBTYkPCI=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=hiDkEE6J0GX+v0+CdESRoz6zAHZRHQZ72O5QKVYZ5LGWrjOEvbGY+IX/tGmhLRq9z
	 4EoNAziY4xo2uHV9ZoPku2B4MfYlNMovYNZdeyRXjA2Jx/wWHrU4V1izR9ldGxdxtk
	 4iph9jC++nXZzJojFvQ59UmAE6u4XbopROzZAjq0=
Date: Fri, 14 Mar 2025 18:06:25 -0700
From: Andrew Morton <akpm@linux-foundation.org>
To: Nico Pache <npache@redhat.com>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,
 linux-mm@kvack.org, virtualization@lists.linux.dev,
 alexander.atanasov@virtuozzo.com, muchun.song@linux.dev,
 roman.gushchin@linux.dev, mhocko@kernel.org, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 jgross@suse.com, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 mst@redhat.com, david@redhat.com, yosry.ahmed@linux.dev,
 hannes@cmpxchg.org, nphamcs@gmail.com, chengming.zhou@linux.dev,
 kanchana.p.sridhar@intel.com, llong@redhat.com, shakeel.butt@linux.dev
Subject: Re: [PATCH v2 1/4] meminfo: add a per node counter for balloon
 drivers
Message-Id: <20250314180625.8c3a2a5a990a132a7b0b9072@linux-foundation.org>
In-Reply-To: <20250314213757.244258-2-npache@redhat.com>
References: <20250314213757.244258-1-npache@redhat.com>
	<20250314213757.244258-2-npache@redhat.com>
X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Fri, 14 Mar 2025 15:37:54 -0600 Nico Pache <npache@redhat.com> wrote:

> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
> expose it through /proc/meminfo and other memory reporting interfaces.
> 
> ...
>
> --- a/fs/proc/meminfo.c
> +++ b/fs/proc/meminfo.c
> @@ -162,6 +162,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
>  	show_val_kb(m, "Unaccepted:     ",
>  		    global_zone_page_state(NR_UNACCEPTED));
>  #endif
> +	show_val_kb(m, "Balloon:        ",
> +		    global_node_page_state(NR_BALLOON_PAGES));

Please update Documentation/filesystems/proc.rst for this.


From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:10:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:10:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915660.1321128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttG31-0004ap-Aw; Sat, 15 Mar 2025 01:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915660.1321128; Sat, 15 Mar 2025 01:10: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 1ttG31-0004ai-7w; Sat, 15 Mar 2025 01:10:43 +0000
Received: by outflank-mailman (input) for mailman id 915660;
 Sat, 15 Mar 2025 01:10: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttFuh-0000Y2-6J
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:02:07 +0000
Received: from mail-10631.protonmail.ch (mail-10631.protonmail.ch
 [79.135.106.31]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cadd952-0139-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 02:02:05 +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: 1cadd952-0139-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742000524; x=1742259724;
	bh=tsh50c2cyRTBr90Y+fG7b639MStHK6HWLHBjeB3Y/kE=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=fCP9qSXhrnKFiyw5uN14OhOgJFa9rXBG3YOR14OVqZq2A3wtInF8FaXidx0rZswF/
	 4l4OLqk6WMCz7Y66CuzoAF5vjfatd+WPzZEMepYu1/NJyun4n9GPgKDM7zogY61399
	 1yCsOsuFmcBOsDuJY4DY69fKvnckB6KMbzHWzisAqZv+S1cSIMmWDSh3mFglCDLD8r
	 oCFNf3AnZaPof6C2DUwj3ljNU/TbxFqVx/ubrAjSvzTEcbPiykgVe5EgXuNipTB6Qu
	 nq+YsRjRE8gBmxPbmdjIWwdaXeenmESYxhdF0iQU+C1t/0a5nDXURbWVEl3b7sr4ly
	 J/ChopIzQg+iw==
Date: Sat, 15 Mar 2025 01:01:59 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/irq: use NR_ISAIRQS instead of open-coded value
Message-ID: <IeEQHciWHQiUOKSFJsgfi8PjmC35rlySSbp2Qt8TtCcu5b17O1-PeMIP-mxhT8dV0ipocTkxGzhpHNQXr_kwDnxQnxaMPkdz9xrJ5KZZJIY=@proton.me>
In-Reply-To: <2f365e4a-1d01-4f1c-85b4-25be22545822@suse.com>
References: <20250314011528.2608217-1-dmukhin@ford.com> <2f365e4a-1d01-4f1c-85b4-25be22545822@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 31c45b9d40aa06da1d2077b27d6f6631ca809a0b
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Friday, March 14th, 2025 at 1:51 AM, Jan Beulich <jbeulich@suse.com> wro=
te:

>=20
>=20
> On 14.03.2025 02:20, dmkhn@proton.me wrote:
>=20
> > Replace the open-coded value 16 with the NR_ISAIRQS symbol to enhance
> > readability.
> >=20
> > No functional changes.
> >=20
> > Signed-off-by: Denis Mukhin dmukhin@ford.com
> > ---
> > xen/arch/x86/hvm/dm.c | 2 +-
> > xen/arch/x86/hvm/irq.c | 17 +++++++++--------
> > xen/arch/x86/hvm/vlapic.c | 10 +++++-----
> > xen/arch/x86/hvm/vpic.c | 4 ++--
> > xen/arch/x86/include/asm/irq.h | 2 +-
> > xen/arch/x86/io_apic.c | 12 ++++++------
> > xen/arch/x86/irq.c | 6 +++---
> > 7 files changed, 27 insertions(+), 26 deletions(-)
> >=20
> > diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
> > index a1f7a4d30a..36d47664e9 100644
> > --- a/xen/arch/x86/hvm/dm.c
> > +++ b/xen/arch/x86/hvm/dm.c
> > @@ -90,7 +90,7 @@ static int set_pci_intx_level(struct domain *d, uint1=
6_t domain,
> > static int set_isa_irq_level(struct domain *d, uint8_t isa_irq,
> > uint8_t level)
> > {
> > - if ( isa_irq > 15 )
> > + if ( isa_irq >=3D NR_ISAIRQS )
> > return -EINVAL;
> >=20
> > switch ( level )
> > diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
> > index 1eab44defc..1f7d8ca43e 100644
> > --- a/xen/arch/x86/hvm/irq.c
> > +++ b/xen/arch/x86/hvm/irq.c
> > @@ -209,7 +209,7 @@ int hvm_isa_irq_assert(struct domain *d, unsigned i=
nt isa_irq,
> > unsigned int gsi =3D hvm_isa_irq_to_gsi(isa_irq);
> > int vector =3D -1;
> >=20
> > - ASSERT(isa_irq <=3D 15);
> > + ASSERT(isa_irq < NR_ISAIRQS);
> >=20
> > spin_lock(&d->arch.hvm.irq_lock);
> >=20
> > @@ -231,7 +231,7 @@ void hvm_isa_irq_deassert(
> > struct hvm_irq *hvm_irq =3D hvm_domain_irq(d);
> > unsigned int gsi =3D hvm_isa_irq_to_gsi(isa_irq);
> >=20
> > - ASSERT(isa_irq <=3D 15);
> > + ASSERT(isa_irq < NR_ISAIRQS);
> >=20
> > spin_lock(&d->arch.hvm.irq_lock);
> >=20
> > @@ -266,12 +266,12 @@ static void hvm_set_callback_irq_level(struct vcp=
u *v)
> > if ( asserted && (hvm_irq->gsi_assert_count[gsi]++ =3D=3D 0) )
> > {
> > vioapic_irq_positive_edge(d, gsi);
> > - if ( gsi <=3D 15 )
> > + if ( gsi < NR_ISAIRQS )
> > vpic_irq_positive_edge(d, gsi);
> > }
> > else if ( !asserted && (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0) )
> > {
> > - if ( gsi <=3D 15 )
> > + if ( gsi < NR_ISAIRQS )
> > vpic_irq_negative_edge(d, gsi);
> > }
> > break;
> > @@ -328,7 +328,7 @@ int hvm_set_pci_link_route(struct domain *d, u8 lin=
k, u8 isa_irq)
> > u8 old_isa_irq;
> > int i;
> >=20
> > - if ( (link > 3) || (isa_irq > 15) )
> > + if ( (link > 3) || (isa_irq >=3D NR_ISAIRQS) )
> > return -EINVAL;
> >=20
> > spin_lock(&d->arch.hvm.irq_lock);
> > @@ -440,7 +440,8 @@ void hvm_set_callback_via(struct domain *d, uint64_=
t via)
> > {
> > case HVMIRQ_callback_gsi:
> > gsi =3D hvm_irq->callback_via.gsi;
> > - if ( (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0) && (gsi <=3D 15) )
> > + if ( (--hvm_irq->gsi_assert_count[gsi] =3D=3D 0) &&
> > + (gsi < NR_ISAIRQS) )
> > vpic_irq_negative_edge(d, gsi);
> > break;
> > case HVMIRQ_callback_pci_intx:
> > @@ -464,7 +465,7 @@ void hvm_set_callback_via(struct domain *d, uint64_=
t via)
> > (hvm_irq->gsi_assert_count[gsi]++ =3D=3D 0) )
> > {
> > vioapic_irq_positive_edge(d, gsi);
> > - if ( gsi <=3D 15 )
> > + if ( gsi < NR_ISAIRQS )
> > vpic_irq_positive_edge(d, gsi);
> > }
> > break;
> > @@ -764,7 +765,7 @@ static int cf_check irq_check_link(const struct dom=
ain *d,
> > return -EINVAL;
> >=20
> > for ( link =3D 0; link < ARRAY_SIZE(pci_link->route); link++ )
> > - if ( pci_link->route[link] > 15 )
> > + if ( pci_link->route[link] >=3D NR_ISAIRQS )
> > {
> > printk(XENLOG_G_ERR
> > "HVM restore: PCI-ISA link %u out of range (%u)\n",
>=20
>=20
> Up to here I agree with the adjustments made, but ...
>=20
> > --- a/xen/arch/x86/hvm/vlapic.c
> > +++ b/xen/arch/x86/hvm/vlapic.c
> > @@ -123,7 +123,7 @@ static void vlapic_error(struct vlapic *vlapic, uns=
igned int err_bit)
> > * will end up back here. Break the cycle by only injecting LVTERR
> > * if it will succeed, and folding in RECVILL otherwise.
> > */
> > - if ( (lvterr & APIC_VECTOR_MASK) >=3D 16 )
> > + if ( (lvterr & APIC_VECTOR_MASK) >=3D NR_ISAIRQS )
> > inj =3D true;
> > else
> > set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
> > @@ -136,7 +136,7 @@ static void vlapic_error(struct vlapic *vlapic, uns=
igned int err_bit)
> >=20
> > bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec)
> > {
> > - if ( unlikely(vec < 16) )
> > + if ( unlikely(vec < NR_ISAIRQS) )
> > return false;
> >=20
> > if ( hvm_funcs.test_pir &&
> > @@ -150,7 +150,7 @@ void vlapic_set_irq(struct vlapic *vlapic, uint8_t =
vec, uint8_t trig)
> > {
> > struct vcpu *target =3D vlapic_vcpu(vlapic);
> >=20
> > - if ( unlikely(vec < 16) )
> > + if ( unlikely(vec < NR_ISAIRQS) )
> > {
> > vlapic_error(vlapic, ilog2(APIC_ESR_RECVILL));
> > return;
> > @@ -523,7 +523,7 @@ void vlapic_ipi(
> > struct vlapic *target =3D vlapic_lowest_prio(
> > vlapic_domain(vlapic), vlapic, short_hand, dest, dest_mode);
> >=20
> > - if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
> > + if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
> > vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
> > else if ( target )
> > vlapic_accept_irq(vlapic_vcpu(target), icr_low);
> > @@ -531,7 +531,7 @@ void vlapic_ipi(
> > }
> >=20
> > case APIC_DM_FIXED:
> > - if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
> > + if ( unlikely((icr_low & APIC_VECTOR_MASK) < NR_ISAIRQS) )
> > {
> > vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
> > break;
>=20
>=20
> ... the 16 here has a different origin (in the local APIC spec). Changes
> further down look okay again.

Sorry for that, I did not verify with the spec.

Thanks!

>=20
> Jan


From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:20:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915675.1321138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttGC0-0006II-4q; Sat, 15 Mar 2025 01:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915675.1321138; Sat, 15 Mar 2025 01:20: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 1ttGC0-0006IB-2G; Sat, 15 Mar 2025 01:20:00 +0000
Received: by outflank-mailman (input) for mailman id 915675;
 Sat, 15 Mar 2025 01:19: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttGBy-0006I5-1p
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:19:58 +0000
Received: from mail-10630.protonmail.ch (mail-10630.protonmail.ch
 [79.135.106.30]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b2b3e7a-013b-11f0-9ab9-95dc52dad729;
 Sat, 15 Mar 2025 02:19: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: 9b2b3e7a-013b-11f0-9ab9-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742001595; x=1742260795;
	bh=pc23NTk5/ewe+F6KDRl7Ey05pFOa38NB6VbcqzfQMeo=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=RL5GYqQcYIwSoLuQzcrmZpIssMheLs23WyUwWOeTrVYZYgwQ69rSDWjy6MCuM6FYx
	 4oHPsSufTpfXiqEC4fZzOkRaHok63Lvw44rKXjBK2xWy8zRk9ubqkQrErMItS3bNbS
	 Jjk7Kef4cb7YsEPvR1kMVn3pl/RJg/8GojKKXwEYw2021YP+t2Lfg5GqJCBfb1zpH9
	 nkpTxmI/hPrY8Huj75RcA4GKVreqvCjIhNdHZXTx29NVaUICTB8jmKS/RZgY5R0CS0
	 DWCuV2r8A7y0ywV81UWf5YLJfEamOguRIt6cgzFsSydn74mXIGJzucV8PUeUknig89
	 PT+JL56QPMOhA==
Date: Sat, 15 Mar 2025 01:19:49 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v3] x86/hvm: add HVM-specific Kconfig
Message-ID: <20250315011945.2927542-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 73b44169211124f2bb66d79362226426fc484003
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Add a separate menu for configuring HVM build-time settings to better
organize HVM-specific options.

HVM options will now appear in a dedicated sub-menu in the menuconfig
tool.

Also, make AMD_SVM config dependent on AMD config and INTEL_VMX on INTEL
respectively.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes v2->v3:
- dropped menu around AMD_SVM and INTEL_VMX
- rebased, resolved merge conflict for MEM_PAGING - it depends on VM_EVENT
---
 xen/arch/x86/Kconfig     | 75 +---------------------------------------
 xen/arch/x86/hvm/Kconfig | 73 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 74 insertions(+), 74 deletions(-)
 create mode 100644 xen/arch/x86/hvm/Kconfig

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index f086799594..18efdb2e31 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -107,42 +107,7 @@ config PV_LINEAR_PT
=20
          If unsure, say Y.
=20
-config HVM
-=09bool "HVM support"
-=09depends on !PV_SHIM_EXCLUSIVE
-=09default !PV_SHIM
-=09select COMPAT
-=09select IOREQ_SERVER
-=09select MEM_ACCESS_ALWAYS_ON
-=09help
-=09  Interfaces to support HVM domains.  HVM domains require hardware
-=09  virtualisation extensions (e.g. Intel VT-x, AMD SVM), but can boot
-=09  guests which have no specific Xen knowledge.
-
-=09  This option is needed if you want to run HVM or PVH domains.
-
-=09  If unsure, say Y.
-
-config AMD_SVM
-=09bool "AMD-V" if EXPERT
-=09depends on HVM
-=09default y
-=09help
-=09  Enables virtual machine extensions on platforms that implement the
-=09  AMD Virtualization Technology (AMD-V).
-=09  If your system includes a processor with AMD-V support, say Y.
-=09  If in doubt, say Y.
-
-config INTEL_VMX
-=09bool "Intel VT-x" if EXPERT
-=09depends on HVM
-=09default y
-=09select ARCH_VCPU_IOREQ_COMPLETION
-=09help
-=09  Enables virtual machine extensions on platforms that implement the
-=09  Intel Virtualization Technology (Intel VT-x).
-=09  If your system includes a processor with Intel VT-x support, say Y.
-=09  If in doubt, say Y.
+source "arch/x86/hvm/Kconfig"
=20
 config XEN_SHSTK
 =09bool "Supervisor Shadow Stacks"
@@ -201,25 +166,6 @@ config BIGMEM
=20
 =09  If unsure, say N.
=20
-config HVM_FEP
-=09bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
-=09default DEBUG
-=09depends on HVM
-=09help
-
-=09  Compiles in a feature that allows HVM guest to arbitrarily
-=09  exercise the instruction emulator.
-
-=09  This feature can only be enabled during boot time with
-=09  appropriate hypervisor command line option. Please read
-=09  hypervisor command line documentation before trying to use
-=09  this feature.
-
-=09  This is strictly for testing purposes, and not appropriate
-=09  for use in production.
-
-=09  If unsure, say N.
-
 config TBOOT
 =09bool "Xen tboot support (UNSUPPORTED)"
 =09depends on INTEL && UNSUPPORTED
@@ -348,14 +294,6 @@ config HYPERV_GUEST
=20
 endif
=20
-config MEM_PAGING
-=09bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
-=09depends on HVM && VM_EVENT
-
-config MEM_SHARING
-=09bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
-=09depends on HVM
-
 config REQUIRE_NX
 =09bool "Require NX (No eXecute) support"
 =09help
@@ -372,17 +310,6 @@ config REQUIRE_NX
 =09  was unavailable. However, if enabled, Xen will no longer boot on
 =09  any CPU which is lacking NX support.
=20
-config ALTP2M
-=09bool "Alternate P2M support" if EXPERT
-=09depends on INTEL_VMX
-=09default y
-=09help
-=09  Alternate-p2m allows a guest to manage multiple p2m guest physical
-=09  "memory views" (as opposed to a single p2m).
-=09  Useful for memory introspection.
-
-=09  If unsure, stay with defaults.
-
 config UCODE_SCAN_DEFAULT
 =09bool "Scan for microcode by default"
 =09help
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
new file mode 100644
index 0000000000..2def0f98e2
--- /dev/null
+++ b/xen/arch/x86/hvm/Kconfig
@@ -0,0 +1,73 @@
+menuconfig HVM
+=09bool "HVM support"
+=09depends on !PV_SHIM_EXCLUSIVE
+=09default !PV_SHIM
+=09select COMPAT
+=09select IOREQ_SERVER
+=09select MEM_ACCESS_ALWAYS_ON
+=09help
+=09  Interfaces to support HVM domains.  HVM domains require hardware
+=09  virtualisation extensions (e.g. Intel VT-x, AMD SVM), but can boot
+=09  guests which have no specific Xen knowledge.
+
+=09  This option is needed if you want to run HVM or PVH domains.
+
+=09  If unsure, say Y.
+
+if HVM
+
+config AMD_SVM
+=09bool "AMD-V" if AMD && EXPERT
+=09default y
+=09help
+=09  Enables virtual machine extensions on platforms that implement the
+=09  AMD Virtualization Technology (AMD-V).
+=09  If your system includes a processor with AMD-V support, say Y.
+=09  If in doubt, say Y.
+
+config INTEL_VMX
+=09bool "Intel VT-x" if INTEL && EXPERT
+=09default y
+=09select ARCH_VCPU_IOREQ_COMPLETION
+=09help
+=09  Enables virtual machine extensions on platforms that implement the
+=09  Intel Virtualization Technology (Intel VT-x).
+=09  If your system includes a processor with Intel VT-x support, say Y.
+=09  If in doubt, say Y.
+
+config HVM_FEP
+=09bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
+=09default DEBUG
+=09help
+=09  Compiles in a feature that allows HVM guest to arbitrarily
+=09  exercise the instruction emulator.
+
+=09  This feature can only be enabled during boot time with
+=09  appropriate hypervisor command line option. Please read
+=09  hypervisor command line documentation before trying to use
+=09  this feature.
+
+=09  This is strictly for testing purposes, and not appropriate
+=09  for use in production.
+
+=09  If unsure, say N.
+
+config ALTP2M
+=09bool "Alternate P2M support" if EXPERT
+=09depends on INTEL_VMX
+=09default y
+=09help
+=09  Alternate-p2m allows a guest to manage multiple p2m guest physical
+=09  "memory views" (as opposed to a single p2m).
+=09  Useful for memory introspection.
+
+=09  If unsure, stay with defaults.
+
+config MEM_PAGING
+=09bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
+=09depends on VM_EVENT
+
+config MEM_SHARING
+=09bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
+
+endif
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Sat Mar 15 01:22:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 01:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915686.1321149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttGEU-0008Oj-H7; Sat, 15 Mar 2025 01:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915686.1321149; Sat, 15 Mar 2025 01: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 1ttGEU-0008Oc-EB; Sat, 15 Mar 2025 01:22:34 +0000
Received: by outflank-mailman (input) for mailman id 915686;
 Sat, 15 Mar 2025 01: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=ms5H=WC=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1ttGES-0008OU-MQ
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 01:22:33 +0000
Received: from mail-10631.protonmail.ch (mail-10631.protonmail.ch
 [79.135.106.31]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6b4250e-013b-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 02: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: f6b4250e-013b-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742001749; x=1742260949;
	bh=X1wrzkieJsGu9mFqxc56q7UF9AxyFxr9mRKgYAF0Qc8=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=nAss5rVU33uF0rCa4vnSRxVm4yBZqizPSpWcdE0eBpDEtJfqNBFT/z9jdZpaE81I6
	 n0L03luhnlti33S+g8vLmzcpjvKpthOiM8z/iqNyMPoPO3I0aH3YAaTA42DDu5tGBA
	 Y2rDHNr/D/N8b+SNh1wDWDBxloRP1jtM/uBjnpM4tlRSeD6bvV6H1BTbmhQKEkk7Fv
	 +DFTMAV8HbtrgXLeKfMyZCIZ/oKgh9nzIAjIBVCq3hHVgMavXdZIBWloQ5NcIp9dLk
	 G2ebPLlwAHCqxGBUDXN94/+05DLfrMQ5XXpL4/UvozgkRi2EfHhsSpxtUKit6+weF6
	 f9BzFJqikw2Gw==
Date: Sat, 15 Mar 2025 01:22:24 +0000
To: Andrew Cooper <andrew.cooper3@citrix.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: xen-devel@lists.xenproject.org, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH v2] x86/hvm: add HVM-specific Kconfig
Message-ID: <UTuljbp6a7orResha6vhFL5cUCPBArSylv04tzMhcw0TATweLPb_E9cx1xnA0TdsnPKukjCa7XM-23TaWTlZVIYvt2ZW8K3krkaYTCQx5QU=@proton.me>
In-Reply-To: <e9c35acc-007b-4b31-aa27-3a9b852fc0cb@citrix.com>
References: <20250313023822.2523270-1-dmukhin@ford.com> <e9c35acc-007b-4b31-aa27-3a9b852fc0cb@citrix.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 813478170ae83f708751dede9b9aeaa9c22b10a8
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Friday, March 14th, 2025 at 1:20 PM, Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:

>=20
>=20
> On 13/03/2025 2:39 am, dmkhn@proton.me wrote:
>=20
> > diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> > new file mode 100644
> > index 0000000000..2ca664f36f
> > --- /dev/null
> > +++ b/xen/arch/x86/hvm/Kconfig
> > @@ -0,0 +1,76 @@
> > +menuconfig HVM
> > + bool "HVM support"
> > + depends on !PV_SHIM_EXCLUSIVE
> > + 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
> > + guests which have no specific Xen knowledge.
> > +
> > + This option is needed if you want to run HVM or PVH domains.
> > +
> > + If unsure, say Y.
> > +
> > +if HVM
> > +
> > +menu "Hardware Support for Virtualization"
> > +
> > +config AMD_SVM
> > + bool "AMD-V" if AMD && EXPERT
> > + default y
> > + help
> > + Enables virtual machine extensions on platforms that implement the
> > + AMD Virtualization Technology (AMD-V).
> > + If your system includes a processor with AMD-V support, say Y.
> > + If in doubt, say Y.
> > +
> > +config INTEL_VMX
> > + bool "Intel VT-x" if INTEL && EXPERT
> > + default y
> > + select ARCH_VCPU_IOREQ_COMPLETION
> > + help
> > + Enables virtual machine extensions on platforms that implement the
> > + Intel Virtualization Technology (Intel VT-x).
> > + If your system includes a processor with Intel VT-x support, say Y.
> > + If in doubt, say Y.
> > +
> > +endmenu
>=20
>=20
> Looking at the end result, I'd suggest dropping the menu around SVM and V=
MX.
>=20
> It would be nice to group them under a name called Vendor Support, but I
> don't think the Kconfig language can express this, and the full menu
> becomes empty if both AMD and INTEL are deselected.
>=20
> Having them simply at the top of the HVM menu seems like the less bad
> option.
>=20
> There is a bunch of cleanup which should be done, but explicitly not in
> this patch which is simply restructuring. I'll do a patch in due course.

Addressed:
  https://lore.kernel.org/xen-devel/20250315011945.2927542-1-dmukhin@ford.c=
om

Thanks!

>=20
> ~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Mar 15 04:10:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 04:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915715.1321159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttIq9-0005HU-Rj; Sat, 15 Mar 2025 04:09:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915715.1321159; Sat, 15 Mar 2025 04:09: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 1ttIq9-0005HM-O6; Sat, 15 Mar 2025 04:09:37 +0000
Received: by outflank-mailman (input) for mailman id 915715;
 Sat, 15 Mar 2025 04:09: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=P9V1=WC=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1ttIq8-0005HG-IV
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 04:09:36 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazolkn190100000.outbound.protection.outlook.com
 [2a01:111:f403:d003::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b1f7119-0153-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 05:09:31 +0100 (CET)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by MW4PR02MB7153.namprd02.prod.outlook.com (2603:10b6:303:65::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.28; Sat, 15 Mar
 2025 04:09:26 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df%3]) with mapi id 15.20.8511.026; Sat, 15 Mar 2025
 04:09: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: 4b1f7119-0153-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uQzpwH+lO9jpic+ItF7Ii44puVZpqFWqXsjSWNtZaUAg6Qb2oF4d4JpQuOrR9d/B+nNFTqYGlQDPNXHMU1+4uWOTqyFCJx4j7jvj7Ew2gW7SOvlnlCiAcvDIk6MvvmhMxzZtmsrM2oIkGLNLpTvrjk/x23pqEYy6hOU3RSzSRI4xPL2F1WPYj0LJIv3uMzHmeZB3RQnSz6493JDyGkvjkmGS8P7V905ICOTq65W47OkXMj9YVOGOnQsYYoosMhfC2U0sLywzyW2qn9J30f0Qr/P2eMzZivSnsx/2WGbPBiorPWoe6Jws5w4hWAl9F1Z+yUborijhAD13TD6Cl34W8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=64mYpXW+f131fQnCaBygXOJ3YNrUCNaVkPytPqvI030=;
 b=LewznFo4SQK2O2qXcvtznpeehv6IbEO4LAZG6bh/oSMZlAGjV/xAuXEpA93i+rBBE8GjKb0sINNd3DS2FOgxDgwq8HJrqDe1C3/zQOD62yPKMhmezNipK5H4PREWvbnERD1bO+XFVoXe9jSi3ZnBvNT5QGocOc8gSdSagtUKrYqUHyrsTzCoLkFmNEoJiF1588HH0ITCQ72I04kEgpzqR+42sCixy9Yd3i/4S50BOttt5MgXOxgjXzh9gARXJtZuAp7YHNAEpctNveJ7fL//TIjfhulsuG5ABDPL97OlyvgLZjhnSJkfUMdaY81CT41TOOA+c8/kdKUIy5SpDar9KQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=64mYpXW+f131fQnCaBygXOJ3YNrUCNaVkPytPqvI030=;
 b=dmkMH3Mf6gOpsbjQIfw63N1BpGauARGZJk0bPAOt9+9M9oJ1iDdWukeciis/rmit41rrw7oFalkGnqF2GjPuYY0mGfEF0AZnBVpE1H5HuJp8pDXiXWpwbfKpsvY5cxEjkVX0mMml2k6q9FLndH1KV4X1/poA2ACNe/8/dr4tYtBwo7GbpVWPiBvFrvXaaedZxmvzvdl48Z52WzVlXf0fmgAUnAMvdr6gNGQ5rHY48KgdAikzfxNXZCSdDjRkbWqdjsF/Jk0nEb1wFFC+W65EztZk7xpr03tl7oD2XeID5d0G0rm8Q/I7f8HzGdZN40IRmIw+80XN7GAwZtWFkElxkQ==
From: Michael Kelley <mhklinux@outlook.com>
To: Nico Pache <npache@redhat.com>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "linux-fsdevel@vger.kernel.org"
	<linux-fsdevel@vger.kernel.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>,
	"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>
CC: "alexander.atanasov@virtuozzo.com" <alexander.atanasov@virtuozzo.com>,
	"muchun.song@linux.dev" <muchun.song@linux.dev>, "roman.gushchin@linux.dev"
	<roman.gushchin@linux.dev>, "mhocko@kernel.org" <mhocko@kernel.org>,
	"kys@microsoft.com" <kys@microsoft.com>, "haiyangz@microsoft.com"
	<haiyangz@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>,
	"decui@microsoft.com" <decui@microsoft.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>, "mst@redhat.com"
	<mst@redhat.com>, "david@redhat.com" <david@redhat.com>,
	"yosry.ahmed@linux.dev" <yosry.ahmed@linux.dev>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "nphamcs@gmail.com" <nphamcs@gmail.com>,
	"chengming.zhou@linux.dev" <chengming.zhou@linux.dev>,
	"kanchana.p.sridhar@intel.com" <kanchana.p.sridhar@intel.com>,
	"llong@redhat.com" <llong@redhat.com>, "shakeel.butt@linux.dev"
	<shakeel.butt@linux.dev>
Subject: RE: [PATCH v2 3/4] hv_balloon: update the NR_BALLOON_PAGES state
Thread-Topic: [PATCH v2 3/4] hv_balloon: update the NR_BALLOON_PAGES state
Thread-Index: AQHblSmRG3n+QHZh2UuvvmIQtVK9S7Nzk1Gg
Date: Sat, 15 Mar 2025 04:09:25 +0000
Message-ID:
 <SN6PR02MB4157924B97EF67299E751082D4DD2@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20250314213757.244258-1-npache@redhat.com>
 <20250314213757.244258-4-npache@redhat.com>
In-Reply-To: <20250314213757.244258-4-npache@redhat.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|MW4PR02MB7153:EE_
x-ms-office365-filtering-correlation-id: 5e196a76-6ccf-4672-aa10-08dd63772cba
x-microsoft-antispam:
 BCL:0;ARA:14566002|461199028|15080799006|8060799006|19110799003|8062599003|3412199025|102099032|440099028|21061999003|12071999003|41001999003|12091999003;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?Joa5iZXqQKE7NVUcCzXjSnFMEIgdycBpAyBc8g5GNyArUUVMIhxfohXYA7MT?=
 =?us-ascii?Q?nVscz1F/GjckkqFqVTRb4sTDvZMrPhuQVFYeYJM1xv0xiJgIFM6+huWTB3Tq?=
 =?us-ascii?Q?JX4rjbbjpiryUwmssA7NZTzoKf6KuX39c3UqGwmjXax2u4CnEhJplupbXzJE?=
 =?us-ascii?Q?OCv53VXg/TssJJO2JEVKG9If+OirO6cJ0LIptXWW4tlMZZLBUVMZ8vyH2m60?=
 =?us-ascii?Q?3Je1xp5z2/IWu1znH6pZBBGJhy8hkjk8ny1yS3VIs0u33jCyTBQHehWbl+pc?=
 =?us-ascii?Q?jABCzIKG3ZiamgfExxCnI5a5i+QW+BfOM4XCNyIX57NY1EQxzMNddjA6iWz/?=
 =?us-ascii?Q?oxAdToaXP/0En8wlEyDEpHlFVz+xsdkFemyRubGG17h1EmYNj+zhcKaODvQ2?=
 =?us-ascii?Q?ShORWOs3MfubnnSDmMhPB/ejD7b9AWkvNvK5bcCnMMD/SV80wlRlou3R/fcP?=
 =?us-ascii?Q?EQ/EPpHXEB2shhtcS4YzZ3tDNZ1uL//bcKyQcIk+OGzhiI3Qtt2KR4W5OtCg?=
 =?us-ascii?Q?bsCZdQdsW7MtfVciEsvIsaHT+kHkwlrJXGWfl+m2dC+1cGjQ43485nqXghJM?=
 =?us-ascii?Q?mN6auZ9JZgZewfhaPu+nDDwUBAuy1OAUziSoVMKRHtb1pq49P2W6S0te9+xX?=
 =?us-ascii?Q?uyb3BnfPyKqwUcYKruWcATl8OyuI+AiljrN1rUUmS6Vy4IEKBZkii98d22Dm?=
 =?us-ascii?Q?DI7pT/aY1RFeyF1urZr8F9u6FfWVq4JfX+EzLgm7IpPpTDAFwoBRQenFKAQL?=
 =?us-ascii?Q?FQ1iS2Q2gp+wI14KVYIBzEteR2tN7/hBbIJy8kLD59gxq+fLAGrVOs7U5WUd?=
 =?us-ascii?Q?jDJjwWyWwr6Kgmo5QvYTKxh8etMjBKH8jDfnvCjQRo3kQ4xyASNdJqt5TAad?=
 =?us-ascii?Q?B+b2lsqtlVJMjMbNQ77OBIB6GwQbDtJsnFreL3FIdnsIkKUk3usDNf2w39NQ?=
 =?us-ascii?Q?eAWP5G/kZUx5QXxMDa0GD9LvuJBjclzsVeOslRzNas5k98hcUEOATSolB1SP?=
 =?us-ascii?Q?1mK4M8C9Q5fTjkfG2TjE7c8MSImWLUNOp8rYk8DdsFZjk8kt+lcrUYAtPeGJ?=
 =?us-ascii?Q?dykh+tIi5GNdb4P0H2NlhDOAeZmtyRsIF18Nau128bUVY71ak4M8xm7fjqzF?=
 =?us-ascii?Q?KKTXVtBsn50qTv/pt0a0GffSoeCJ4O/r7/10hlKW8rlXRiyXkisyjqsAwe5h?=
 =?us-ascii?Q?VtpIsLxOKIFgTWP8Rzwj74p7dx0QrivHjrQhMQ=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?eScN9FUXkCFumpPxKilEpYL3A6pcx2OeV9QVYttctOZtaFitafTQwH/BR9Sm?=
 =?us-ascii?Q?cQrs4WjbYFhWVZAFnnpSgW6/O0kFUUgKDDVScjJS+9ZOzQgVPFfWV/WAiPsJ?=
 =?us-ascii?Q?9ACDbtKenrqV0C6eLpjPLb45dwB+9hF7k9iDmd9ohbTvIkt6Ce1BhXOaeV6F?=
 =?us-ascii?Q?KbRJ6QJUG/S4BBrJIBFow5M6xY/Kr7NnNriWQdJf3Fivwu1tIg2y0Sr1HhM5?=
 =?us-ascii?Q?aS13crVE/cNy2yHlI7eiyh+XzMGoeTP8lJxfkXTxnlWOKGhorxTGw0wNEK9k?=
 =?us-ascii?Q?ujrLXAWNaHqPZOM3pQDnaovsX5oVj9uwodKSKX6wsvsMcv8o1nXLp2Z3M4yn?=
 =?us-ascii?Q?br5+o+Nps5786UQsunf4GBIRQsJaP01AVqF0S3C23e0HQM+His4K+FhTEyJ/?=
 =?us-ascii?Q?1aYCv9PlMrB0YDTPYYdzydplPWB78ACTwrXGZ44PyiFTMTJZ8lgZ8zoav0O7?=
 =?us-ascii?Q?PaF8nzH47xjpQs+xp2alSe05e2jf27vMvBeQ7vy76uDwuMfImy7ORvMRN9PO?=
 =?us-ascii?Q?uFRVR1Vk7pRB8Gqbv/hQHhtO5XW4EmMT6JBPNDHvnjg3/iyWmw9POxTx877g?=
 =?us-ascii?Q?OlfgBvR+DYJG7axa0cS0ABmHtge75SCfJOHTg6Mb3Nu5NzkbavQfj36Aprx0?=
 =?us-ascii?Q?aSalBwu+EZnhKr2iwojXjut/9aqJyZ78+6wj0NMp6TDI2bgA/wCWvE+4yW/1?=
 =?us-ascii?Q?IDAZIB4h4PQ5SlCYmXv5WXlmY89K9X7hGHQrGihegqpz4LFdIlcqXddRO3S8?=
 =?us-ascii?Q?/26HultOgyKovp6i/dEBGMc7+BGBlvn3xWqd/famkzqlOLTE1QLJ2IYyXCXe?=
 =?us-ascii?Q?xndnIX2oOzVrIYqqy9v9Y1Wlst0KFdAeAbPtWN/xOXg4j0zWE7oz8axwb1ke?=
 =?us-ascii?Q?TBG55JqFXh1uzcllR1TcC6e+UXcEhh3aRTYaVgAOzFemfz6tM/kERy4zlKmq?=
 =?us-ascii?Q?oaBl8WO8YcIXKqp6uJhKR+CAn7xozXulwpEWXIPt1toprBCsnCYblQ7lz7Cy?=
 =?us-ascii?Q?XNQlpAfN7yEAaBSRj/fG7jFaQLfRB4Ul6U9Abc3x9TviK3XtmjgdH/WRuIiO?=
 =?us-ascii?Q?0jcN3nT4AFg2pYa8JPBzL/Aoeh79w9hJ54UN89XJ8udKyQKRcQShxvh3IuC8?=
 =?us-ascii?Q?+Qxv27OQjjmHrj/PgJfwMe5E+7fwJKE0maocY5B1AdrssLa0VYHThfghwar3?=
 =?us-ascii?Q?EHEv/T/U1QajrdOZ8Ia+5hBiH07HZ4N7MfAyzy+xEMWX0nXouv4tYqT8M18?=
 =?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e196a76-6ccf-4672-aa10-08dd63772cba
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2025 04:09:25.8815
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR02MB7153

From: Nico Pache <npache@redhat.com> Sent: Friday, March 14, 2025 2:38 PM
>=20
> Update the NR_BALLOON_PAGES counter when pages are added to or
> removed from the Hyper-V balloon.
>=20
> Signed-off-by: Nico Pache <npache@redhat.com>
> ---
>  drivers/hv/hv_balloon.c | 2 ++
>  1 file changed, 2 insertions(+)
>=20
> diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> index fec2f18679e3..2b4080e51f97 100644
> --- a/drivers/hv/hv_balloon.c
> +++ b/drivers/hv/hv_balloon.c
> @@ -1192,6 +1192,7 @@ static void free_balloon_pages(struct hv_dynmem_dev=
ice *dm,
>  		__ClearPageOffline(pg);
>  		__free_page(pg);
>  		dm->num_pages_ballooned--;
> +		mod_node_page_state(page_pgdat(pg), NR_BALLOON_PAGES, -1);
>  		adjust_managed_page_count(pg, 1);
>  	}
>  }
> @@ -1221,6 +1222,7 @@ static unsigned int alloc_balloon_pages(struct hv_d=
ynmem_device *dm,
>  			return i * alloc_unit;
>=20
>  		dm->num_pages_ballooned +=3D alloc_unit;
> +		mod_node_page_state(page_pgdat(pg), NR_BALLOON_PAGES, alloc_unit);
>=20
>  		/*
>  		 * If we allocatted 2M pages; split them so we
> --
> 2.48.1
>=20

As is evident from the code, the hv_balloon driver already has accounting
for the number of pages that have been ballooned out of the VM. This
accounting and other details of the hv_balloon driver state is available in
/sys/kernel/debug/hv-balloon when CONFIG_DEBUGFS=3Dy. But it seems OK
to also report the # of pages ballooned through /proc/meminfo, which
works even if CONFIG_DEBUGFS=3Dn.

Reviewed-by: Michael Kelley <mhklinux@outlook.com>



From xen-devel-bounces@lists.xenproject.org Sat Mar 15 15:55:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Mar 2025 15:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915841.1321169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttTqb-0005tW-Ib; Sat, 15 Mar 2025 15:54:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915841.1321169; Sat, 15 Mar 2025 15:54: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 1ttTqb-0005tO-D3; Sat, 15 Mar 2025 15:54:49 +0000
Received: by outflank-mailman (input) for mailman id 915841;
 Sat, 15 Mar 2025 15:54: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=wIvq=WC=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1ttTqa-0005tG-Ug
 for xen-devel@lists.xenproject.org; Sat, 15 Mar 2025 15:54:48 +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 d12652f6-01b5-11f0-9899-31a8f345e629;
 Sat, 15 Mar 2025 16:54:45 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-54298ec925bso4686917e87.3
 for <xen-devel@lists.xenproject.org>; Sat, 15 Mar 2025 08:54: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: d12652f6-01b5-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742054085; x=1742658885; 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=qxQS40i0Ch68XwgXa+Jru8hgZRhDi7GFz9Uqyb44yWE=;
        b=Z6NniDk9Pq2/REu07GGyiUkyHSAKj741GCxbLcCen0t9mnlfzc3n6XiNRKJwjqDEzX
         R4/8NEKXlT6OwlyNWdHi8ReUhK5KgnKPPnDKiV5WHJbFgdNGotAhp+i+JktScXMIXAdQ
         kff3afyou6DoMfQsfIv+ZXwK4XtBM9zct4dWQvsgfX6jK7Mn/jwUOv4/lgFrtMvBkVGz
         YSfWJn7D42Wd+9MVQ4dspp+UBuDNBJwN02DS3VtFIqo9+MGFZ1j1KbiuebMhwQd8DstG
         BIpFkv1vRyEmyDgEXrRhl39L1E/KIf/CEtXFlwj0pLEJWMvuzA5NmO4t6jOFeTemA2rY
         FVxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742054085; x=1742658885;
        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=qxQS40i0Ch68XwgXa+Jru8hgZRhDi7GFz9Uqyb44yWE=;
        b=sjG7EDsDEznD13d6+9O7kITAZPyV3ridWVue0uC+0w1xvpiiVfDPoRWEsZkCd2/xCb
         hM0U+rE68FPqqUcd4AYKPEbrIrlsCbIKDRqcVMbwtkD60lQlV44b6jizsrithvOXuthP
         WO6v+o4zGHpVw5yQLu4KDfXPWV92wcmnXZXTlL+SiD/pwT4j2r28pZsoiThEXTnPZ7zw
         XFCJK9l0WFSvOkXVFrgFTdlbnbnNrYaP1RDvMTS3eaTw3XRW3p4wcDr9N6Kqh6+YwoPu
         XB0XZ/itX+NJDAPGUk2RexkIml9GVwppJ0eoHqq+g13mXE20KItsMuF7TfetH7LFHcUn
         dMVg==
X-Gm-Message-State: AOJu0YxkxVLJekrWmO2KR04Ua7BV6OCpz14hbKWtoa/bLuU+v/FlEiJV
	0mpapkFD3PFsq1Yo69IgJURBBDc2C7Jxy0R7UsINgYlK0/wQmFLXtbQD2OaWoKIAMWjlm9FY00Q
	ssdTyY4tdMYiO+QORHwdQASFTk4AQEA==
X-Gm-Gg: ASbGncsDikkIKmVOgo9LM6qCQdwsluNRf4idwh3KtnuJwinuha/6RsfmwwqFAN9SZ0g
	PtwR1NG/OFeJvv73TSOOURDBsLuhi8P0eauM0OvCRb2bC6BFafv09qePjcd9/oGPcpJi23ooAso
	p3aGBMOi7BKQv3xQIsbvTFY2wR
X-Google-Smtp-Source: AGHT+IFCaEI2DZdnGsgfV+lasn7746U+l7Gd9aOV9sWuQDcllPHilPpO/VDS7+hVLfUOXsQ7165wifXBQSg6Hu4huwg=
X-Received: by 2002:a05:6512:b9e:b0:549:78bd:6b8e with SMTP id
 2adb3069b0e04-549c396e744mr2247829e87.37.1742054084285; Sat, 15 Mar 2025
 08:54:44 -0700 (PDT)
MIME-Version: 1.0
References: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
In-Reply-To: <7e5a37e51303ba17dab8e6a92830257f670f3355.1741891599.git.sultanovandriy@gmail.com>
From: Andriy Sultanov <sultanovandriy@gmail.com>
Date: Sat, 15 Mar 2025 15:54:32 +0000
X-Gm-Features: AQ5f1JoayLnUQPrWcVsSc6_FJ-onmdkrAWorhDjFCLP6OTuV_tapk1iPnu0POsU
Message-ID: <CAHPYgaUwCwKBtWBJCroBJZscvi5ODZAQiFbDXe=pXB=yPHOQ1Q@mail.gmail.com>
Subject: Re: [PATCH v1] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: 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>
Content-Type: text/plain; charset="UTF-8"

On Thu, 13 Mar 2025 at 18:57, Andrii Sultanov <sultanovandriy@gmail.com> wrote:
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -297,7 +297,7 @@ static int __init register_range_for_iommu_devices(
>      /* reserve unity-mapped page entries for devices */
>      for ( bdf = rc = 0; !rc && bdf < ivrs_bdf_entries; bdf++ )
>      {
> -        if ( iommu != find_iommu_for_device(iommu->seg, bdf) )
> +        if ( iommu != find_iommu_for_device(iommu->sbdf) )
>              continue;

Note there's a bug here, this needs to stay as is. Will fix in V2.


From xen-devel-bounces@lists.xenproject.org Sun Mar 16 10:09:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 10:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915997.1321199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttkvY-0004oq-Li; Sun, 16 Mar 2025 10:09:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915997.1321199; Sun, 16 Mar 2025 10: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 1ttkvY-0004oj-Ht; Sun, 16 Mar 2025 10:09:04 +0000
Received: by outflank-mailman (input) for mailman id 915997;
 Sun, 16 Mar 2025 10: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=tZWB=WD=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1ttkvX-0004ZD-Ne
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 10:09:03 +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 af366910-024e-11f0-9899-31a8f345e629;
 Sun, 16 Mar 2025 11:09:02 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso7988475e9.2
 for <xen-devel@lists.xenproject.org>; Sun, 16 Mar 2025 03:09:02 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffc4173sm73909045e9.20.2025.03.16.03.09.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 16 Mar 2025 03:09: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: af366910-024e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742119741; x=1742724541; 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=lQudvlaOABMsiWuAfcQ9OoD9MZzMUxYD5xvQeBAhEEA=;
        b=jkgOACynDogfLk+G3DvAhltYAU3bMsJVobl6yeYERiSfesTlYkW3K3vvHxU/GIGPng
         QcwzG1K2XQzkjNzS6ACH5rf5yvLFC2YSVeWpfkKxbn6gNbO7jP1gySAnokokKr5TkQcp
         6+JHu7GZjOl7DJLemZLaSy022kABFdHGIkYPzVp7TfvjddQj6OlrWHf129z04TSIURZD
         zXhRRDfBrWK84mxHiODeR+T2Hsq152CVhX2l0S1bYLMt/5z8ChGaQ/EUfNv2TT1AWPvP
         0JolU341AL2Z5Ue7O04QTxIfzQaoKXcizXR4DWHKWQV3e2/Wq8tPFl4O1K3JPI2abGeH
         qx7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742119741; x=1742724541;
        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=lQudvlaOABMsiWuAfcQ9OoD9MZzMUxYD5xvQeBAhEEA=;
        b=ZY9/Q1UP3cLSujaYoMe8sno/YycVf9/ywYGknmcd8ONrzFTryXXx76rhA3n7EKUqUS
         xV+JQXxk890SlO3nJTX/Y6R24gN2tKyCZn+YDwiUN8/zJwpNlJPpjsFVFzN2X2cMDvYR
         n0LV1c58iyIowFf3J3nkNanxICV4jVF+BWqPGjObFAwh2E3RM3k/VIgBkbgEbP5axzKi
         ZuXucji19EXtTTB/gPkcB5hqbbng+tQhS4gyJUhb9mme1FYr9+OBdxA45bTGFQ8vdPmT
         gfGGdYoka06DdAq97h6pG/G4NVY9429dvrp9Xi63fav5C7uU2jnCiCEXAgNm6q7XGJRR
         k3VQ==
X-Gm-Message-State: AOJu0YzGM+ST0na28551j1T9KNk597GquoAiTMniEaO6jxQOboEB32JF
	ag2IAwbmDE3UlBjXn8kCjUDAzkSrZl0mcAUqAQvfx0tPZAO1fbtCD220EOK4
X-Gm-Gg: ASbGnctcs1sXFrRXA8sRFAivnsjr14SZN8hnh0Mr6HAHqfomZPwr6/Y3Zy5b1uKCtUG
	TK7d3Zdbb5is4T1BHHBSPd8RToAjAG5sxi0l0U+uuG86seMlZLgqqMbS30YOfZNpSInQKsXor0U
	ECgYA6krt+o8aC+aHhz4N3+heHbsv55ewLatMJQJl3sbohJuIzMefRixdTqyTxAuM2CZEk4UJw3
	4COPpkgpw8zpV/4I9745JZki1H+w97CXUTgwb+Sr0KynGysiTi7aLdesVwrD7INUXaJmWMOGs4x
	wG1QAcD8m/Fy8bbkX9Msm7FxCt50qyizzA4Mha4rN2WnT1xOYLSTx2S2Y2e2YHMOOaqru+yCm+M
	MT2oklpaDxxfYE2dEnlXebIXcEFRRoW5JNwfIUJJM2+Gx
X-Google-Smtp-Source: AGHT+IHkW/6TrpUfMvZ1LErZEuwopuMIMHU18H4KR9Hz7Czjgyrevt40WMvWdBZBst04G+3oo+WoPw==
X-Received: by 2002:a05:600c:4692:b0:43c:ef13:7e5e with SMTP id 5b1f17b1804b1-43d1ed0e53bmr87113225e9.26.1742119740923;
        Sun, 16 Mar 2025 03:09:00 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 v2 2/3] drivers: Change find_iommu_for_device function to take pci_sbdf_t, simplify code
Date: Sun, 16 Mar 2025 10:08:50 +0000
Message-ID: <47e9f0a75a8bce85af0e53c06c95c25b0a061e3e.1742063500.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1742063500.git.sultanovandriy@gmail.com>
References: <cover.1742063500.git.sultanovandriy@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following a similar change to amd_iommu struct, change the
find_iommu_for_device function to take pci_sbdf_t as a single parameter.
This avoids splitting a single argument into two registers in the majority
of cases.

Bloat-o-meter reports (on top of the first patch in the series):
add/remove: 0/0 grow/shrink: 11/13 up/down: 90/-154 (-64)
Function                                     old     new   delta
amd_iommu_get_supported_ivhd_type             54      86     +32
parse_ivrs_table                            3955    3966     +11
amd_iommu_assign_device                      271     282     +11
__mon_lengths                               2928    2936      +8
update_intremap_entry_from_msi_msg           859     864      +5
iov_supports_xt                              270     275      +5
amd_setup_hpet_msi                           232     237      +5
amd_iommu_domain_destroy                      43      48      +5
find_iommu_for_device                        242     246      +4
amd_iommu_ioapic_update_ire                  572     575      +3
allocate_domain_resources                     82      83      +1
amd_iommu_read_ioapic_from_ire               347     344      -3
reassign_device                              843     838      -5
amd_iommu_remove_device                      352     347      -5
amd_iommu_get_reserved_device_memory         524     519      -5
amd_iommu_flush_iotlb                        359     354      -5
amd_iommu_add_device                         844     839      -5
amd_iommu_setup_domain_device               1478    1472      -6
build_info                                   752     744      -8
amd_iommu_detect_one_acpi                    886     876     -10
register_range_for_device                    297     281     -16
amd_iommu_msi_msg_update_ire                 472     448     -24
parse_ivmd_block                            1339    1312     -27
_hvm_dpci_msi_eoi                            168     133     -35

Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>

---
> This avoids splitting a single argument into two registers
And adds a few conversions into a pci_sbdf_t... these are addressed further
in the series. - not part of the commit message in case said commit isn't taken.

Changes in V2:
* Split single commit into several patches
* Dropped brackets around &(iommu->sbdf) and &(sbdf)
* Dropped most of the hunk in _invalidate_all_devices - it was
  bloat-equivalent to the existing code - just convert with PCI_SBDF
  instead
* Dropped the hunk in get_intremap_requestor_id (iommu_intr.c) and
  amd_iommu_get_reserved_device_memory (iommu_map.c) as they were only
  increasing the code size.
* Kept "/* XXX */" where appropriate
* Fixed a slip-up in register_range_for_iommu_devices where iommu->sbdf
  replaced the usage of *different* seg and bdf.
---
 xen/drivers/passthrough/amd/iommu.h         |  2 +-
 xen/drivers/passthrough/amd/iommu_acpi.c    | 14 ++++-----
 xen/drivers/passthrough/amd/iommu_cmd.c     |  2 +-
 xen/drivers/passthrough/amd/iommu_init.c    |  4 +--
 xen/drivers/passthrough/amd/iommu_intr.c    | 20 ++++++-------
 xen/drivers/passthrough/amd/iommu_map.c     |  2 +-
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 32 ++++++++++-----------
 7 files changed, 38 insertions(+), 38 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index a30c8c97ea..a9e64b8304 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -246,7 +246,7 @@ void amd_iommu_flush_intremap(struct amd_iommu *iommu, uint16_t bdf);
 void amd_iommu_flush_all_caches(struct amd_iommu *iommu);
 
 /* find iommu for bdf */
-struct amd_iommu *find_iommu_for_device(int seg, int bdf);
+struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf);
 
 /* interrupt remapping */
 bool cf_check iov_supports_xt(void);
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 5bdbfb5ba8..ed5a3700c0 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -239,17 +239,17 @@ static int __init register_range_for_device(
     unsigned int bdf, paddr_t base, paddr_t limit,
     bool iw, bool ir, bool exclusion)
 {
-    int seg = 0; /* XXX */
-    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    pci_sbdf_t sbdf = { .seg = 0 /* XXX */, .bdf = bdf };
+    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
     struct amd_iommu *iommu;
     u16 req;
     int rc = 0;
 
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("IVMD: no IOMMU for device %pp - ignoring constrain\n",
-                       &PCI_SBDF(seg, bdf));
+                       &sbdf);
         return 0;
     }
     req = ivrs_mappings[bdf].dte_requestor_id;
@@ -263,9 +263,9 @@ static int __init register_range_for_device(
         paddr_t length = limit + PAGE_SIZE - base;
 
         /* reserve unity-mapped page entries for device */
-        rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir,
+        rc = reserve_unity_map_for_device(sbdf.seg, bdf, base, length, iw, ir,
                                           false) ?:
-             reserve_unity_map_for_device(seg, req, base, length, iw, ir,
+             reserve_unity_map_for_device(sbdf.seg, req, base, length, iw, ir,
                                           false);
     }
     else
@@ -297,7 +297,7 @@ static int __init register_range_for_iommu_devices(
     /* reserve unity-mapped page entries for devices */
     for ( bdf = rc = 0; !rc && bdf < ivrs_bdf_entries; bdf++ )
     {
-        if ( iommu != find_iommu_for_device(iommu->seg, bdf) )
+        if ( iommu != find_iommu_for_device(PCI_SBDF(iommu->seg, bdf)) )
             continue;
 
         req = get_ivrs_mappings(iommu->seg)[bdf].dte_requestor_id;
diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
index d7162e36d6..facc9d2f6d 100644
--- a/xen/drivers/passthrough/amd/iommu_cmd.c
+++ b/xen/drivers/passthrough/amd/iommu_cmd.c
@@ -288,7 +288,7 @@ void amd_iommu_flush_iotlb(u8 devfn, const struct pci_dev *pdev,
     if ( !pci_ats_enabled(pdev->seg, pdev->bus, pdev->devfn) )
         return;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
 
     if ( !iommu )
     {
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index ea930426be..01beea1d29 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -1540,13 +1540,13 @@ static void invalidate_all_domain_pages(void)
 static int cf_check _invalidate_all_devices(
     u16 seg, struct ivrs_mappings *ivrs_mappings)
 {
-    unsigned int bdf; 
+    unsigned int bdf;
     u16 req_id;
     struct amd_iommu *iommu;
 
     for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
     {
-        iommu = find_iommu_for_device(seg, bdf);
+        iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
         req_id = ivrs_mappings[bdf].dte_requestor_id;
         if ( iommu )
         {
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 9abdc38053..4d7dc2fdb4 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -337,7 +337,7 @@ void cf_check amd_iommu_ioapic_update_ire(
     /* get device id of ioapic devices */
     bdf = ioapic_sbdf[idx].bdf;
     seg = ioapic_sbdf[idx].seg;
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %04x:%04x\n",
@@ -383,7 +383,7 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
 
     seg = ioapic_sbdf[idx].seg;
     bdf = ioapic_sbdf[idx].bdf;
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
     if ( !iommu )
         return val;
     req_id = get_intremap_requestor_id(seg, bdf);
@@ -495,19 +495,19 @@ static int update_intremap_entry_from_msi_msg(
     return fresh;
 }
 
-static struct amd_iommu *_find_iommu_for_device(int seg, int bdf)
+static struct amd_iommu *_find_iommu_for_device(pci_sbdf_t sbdf)
 {
     struct amd_iommu *iommu;
 
     for_each_amd_iommu ( iommu )
-        if ( iommu->seg == seg && iommu->bdf == bdf )
+        if ( iommu->sbdf.sbdf == sbdf.sbdf )
             return NULL;
 
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(sbdf);
     if ( iommu )
         return iommu;
 
-    AMD_IOMMU_DEBUG("No IOMMU for MSI dev = %pp\n", &PCI_SBDF(seg, bdf));
+    AMD_IOMMU_DEBUG("No IOMMU for MSI dev = %pp\n", &sbdf);
     return ERR_PTR(-EINVAL);
 }
 
@@ -523,7 +523,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     bdf = pdev ? pdev->sbdf.bdf : hpet_sbdf.bdf;
     seg = pdev ? pdev->seg : hpet_sbdf.seg;
 
-    iommu = _find_iommu_for_device(seg, bdf);
+    iommu = _find_iommu_for_device(PCI_SBDF(seg, bdf));
     if ( IS_ERR_OR_NULL(iommu) )
         return PTR_ERR(iommu);
 
@@ -660,8 +660,8 @@ bool __init cf_check iov_supports_xt(void)
         if ( idx == MAX_IO_APICS )
             return false;
 
-        if ( !find_iommu_for_device(ioapic_sbdf[idx].seg,
-                                    ioapic_sbdf[idx].bdf) )
+        if ( !find_iommu_for_device(PCI_SBDF(ioapic_sbdf[idx].seg,
+                                             ioapic_sbdf[idx].bdf)) )
         {
             AMD_IOMMU_WARN("no IOMMU for IO-APIC %#x (ID %x)\n",
                            apic, IO_APIC_ID(apic));
@@ -690,7 +690,7 @@ int __init cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc)
         return -ENODEV;
     }
 
-    iommu = find_iommu_for_device(hpet_sbdf.seg, hpet_sbdf.bdf);
+    iommu = find_iommu_for_device(PCI_SBDF(hpet_sbdf.seg, hpet_sbdf.bdf));
     if ( !iommu )
         return -ENXIO;
 
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index ea68edc0f2..48d6498868 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -717,7 +717,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
             pcidevs_unlock();
 
             if ( pdev )
-                iommu = find_iommu_for_device(seg, bdf);
+                iommu = find_iommu_for_device(sbdf);
             if ( !iommu )
                 continue;
         }
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index d00697edb3..16bab0f948 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -32,35 +32,35 @@ static bool __read_mostly init_done;
 
 static const struct iommu_init_ops _iommu_init_ops;
 
-struct amd_iommu *find_iommu_for_device(int seg, int bdf)
+struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf)
 {
-    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
 
-    if ( !ivrs_mappings || bdf >= ivrs_bdf_entries )
+    if ( !ivrs_mappings || sbdf.bdf >= ivrs_bdf_entries )
         return NULL;
 
-    if ( unlikely(!ivrs_mappings[bdf].iommu) && likely(init_done) )
+    if ( unlikely(!ivrs_mappings[sbdf.bdf].iommu) && likely(init_done) )
     {
-        unsigned int bd0 = bdf & ~PCI_FUNC(~0);
+        unsigned int bd0 = sbdf.bdf & ~PCI_FUNC(~0);
 
-        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != bdf )
+        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != sbdf.bdf )
         {
             struct ivrs_mappings tmp = ivrs_mappings[bd0];
 
             tmp.iommu = NULL;
             if ( tmp.dte_requestor_id == bd0 )
-                tmp.dte_requestor_id = bdf;
-            ivrs_mappings[bdf] = tmp;
+                tmp.dte_requestor_id = sbdf.bdf;
+            ivrs_mappings[sbdf.bdf] = tmp;
 
             printk(XENLOG_WARNING "%pp not found in ACPI tables;"
-                   " using same IOMMU as function 0\n", &PCI_SBDF(seg, bdf));
+                   " using same IOMMU as function 0\n", &sbdf);
 
             /* write iommu field last */
-            ivrs_mappings[bdf].iommu = ivrs_mappings[bd0].iommu;
+            ivrs_mappings[sbdf.bdf].iommu = ivrs_mappings[bd0].iommu;
         }
     }
 
-    return ivrs_mappings[bdf].iommu;
+    return ivrs_mappings[sbdf.bdf].iommu;
 }
 
 /*
@@ -107,7 +107,7 @@ static bool any_pdev_behind_iommu(const struct domain *d,
         if ( pdev == exclude )
             continue;
 
-        if ( find_iommu_for_device(pdev->seg, pdev->sbdf.bdf) == iommu )
+        if ( find_iommu_for_device(pdev->sbdf) == iommu )
             return true;
     }
 
@@ -468,7 +468,7 @@ static int cf_check reassign_device(
     struct amd_iommu *iommu;
     int rc;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be assigned to %pd\n",
@@ -578,10 +578,10 @@ static int cf_check amd_iommu_add_device(u8 devfn, struct pci_dev *pdev)
         return -EINVAL;
 
     for_each_amd_iommu(iommu)
-        if ( pdev->seg == iommu->seg && pdev->sbdf.bdf == iommu->bdf )
+        if ( pdev->sbdf.sbdf == iommu->sbdf.sbdf )
             return is_hardware_domain(pdev->domain) ? 0 : -ENODEV;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( unlikely(!iommu) )
     {
         /* Filter bridge devices. */
@@ -666,7 +666,7 @@ static int cf_check amd_iommu_remove_device(u8 devfn, struct pci_dev *pdev)
     if ( !pdev->domain )
         return -EINVAL;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be removed from %pd\n",
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 10:09:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 10:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915995.1321179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttkvT-0004Lb-5u; Sun, 16 Mar 2025 10:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915995.1321179; Sun, 16 Mar 2025 10:08: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 1ttkvT-0004LT-26; Sun, 16 Mar 2025 10:08:59 +0000
Received: by outflank-mailman (input) for mailman id 915995;
 Sun, 16 Mar 2025 10:08: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=tZWB=WD=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1ttkvS-0004LN-9z
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 10:08:58 +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 ac280b35-024e-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 11:08:57 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso7266295e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 16 Mar 2025 03:08:57 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffc4173sm73909045e9.20.2025.03.16.03.08.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 16 Mar 2025 03:08: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: ac280b35-024e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742119736; x=1742724536; 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=yvlW/Hcr+qRIzyj9QqwwAjZiRymL8CjizLEJw6YDF5c=;
        b=MuSxCflvceNBM6GI1oehGZhAP4QsrPrZ2vFT94dcL0KVadRKMevILRCc/dj/E+0TXY
         2MhmafXdhsN/PuuoZYrh5+kkyPN95/jiUZWUbBOt+OYPJAWzp8kndttQrvibiigeCFHc
         XsWoxAsfnWQVGXLRYaIxmTMD4XB5x5wukKGCTcaiZpLM2UBXS0fvDoCmOSnbpMHXeMH9
         YiwZrfq7ictcTXc6ZxYOlD4DfO9VHVzUrgUum8PL4H7bFHdvPxJg/JwsDqR7SZ3+ghn6
         CplZLbU5kRfQB0EE8Rn+RCV+cDPyGkWQ9SboVQTzmthpqHpib1YZg48cS7Kc46EYVJxK
         PdPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742119736; x=1742724536;
        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=yvlW/Hcr+qRIzyj9QqwwAjZiRymL8CjizLEJw6YDF5c=;
        b=XNu/d7hdwhDRfz2NFTCWRLKXADCvDeZyvlCxUS+OHtIx7YhZgQJ5wXsl5HukSY57Eo
         +xk4EDjtNrdey8AwAplZ10A1rvpEfdq9SCOi4Ot9/LBBWl5joqubpfHCLyPVrbI1yD28
         Ju4/zkjuwJzbTGG8/8q7jRDsnzHXdKMr3SVDnSsGs0ZRLKo53Qp6qP0SHAlgNhAxmfDW
         jQ95AY59JHfiK1XgimxJ/rTGWIzuuyAJzoTD1UdLCL6FxW76PsJFfGtVrkKFtMoC/rGz
         waeiyofjjiYavam8/8sosi/raBtKzC7YATIMnWh/TaF8FNy4JjPGW5A0d9HRgxhe06Oq
         hxQQ==
X-Gm-Message-State: AOJu0Yzd7e2V5ljrzX60tQoj2L7p0U6JedjYkOdIWJgiO1B44xYEG3gH
	UCkO0u5E09FKUP9yVPM6xvbOMoLTYQu0JI9kDJtgDHDe8Fjdmw3shstSmkly
X-Gm-Gg: ASbGncu9JylcmB2jGApD2SVUmELWphnCOH5DfJu7mVW+pUX+tU3mP0O9wybMDy/qwwv
	4y8xVExxAD9Q1Aet1i49LaEQrg+g2fIEzdjhg7z11VYa9N1AUGZ3cSSExGMf/tOaWoIlDr/nVkj
	YmqYqcNaZgE89R3CtrYAEMbUNUMRs0zsmUSKVOWH3MMMz4dSscp4Vjc7wdOf/VqPnKJw5Xn4Il1
	WTH1ipJTTxQN4Fmx0dzMU1p99sVjH6bM9ANww+3rXW0Cd4qfIpySzXOCzhWPA/DBye5AX/dC/ji
	XIm6FArmd2dc6G69o1WXdP3ktx5rdnbm1fIz1vamCcNHrzgAdFtW8QdBZDqBVvqcEFBtHxhTkmU
	icJxdG+cJwPFJyZBcrRZ7CKsPCQ5ES5BvAXWa8tjEPius
X-Google-Smtp-Source: AGHT+IHOpA5VQRkcgRhJvbe+3eVEb8Risp3e699RqmW7D87tyIp+Nr7/CgM9dgcP5MV5V80q3kS5Rw==
X-Received: by 2002:a05:600c:3146:b0:43d:db5:7b1a with SMTP id 5b1f17b1804b1-43d1ecb33b0mr95008205e9.12.1742119735734;
        Sun, 16 Mar 2025 03:08:55 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 v2 0/3] drivers: Simplify handling of pci_sbdf_t in passthrough/amd
Date: Sun, 16 Mar 2025 10:08:48 +0000
Message-ID: <cover.1742063500.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Step-by-step, use pci_sbdf_t directly where appropriate instead of
handling seg and bdf separately. This removes conversions, reduces code
size and simplifies code in general.

Andrii Sultanov (3):
  drivers: Change amd_iommu struct to contain pci_sbdf_t, simplify code
  drivers: Change find_iommu_for_device function to take pci_sbdf_t,
    simplify code
  drivers: Make ioapic_sbdf and hpet_sbdf contain pci_sbdf_t

 xen/drivers/passthrough/amd/iommu.h         | 29 ++++++++++---
 xen/drivers/passthrough/amd/iommu_acpi.c    | 14 +++---
 xen/drivers/passthrough/amd/iommu_cmd.c     |  6 +--
 xen/drivers/passthrough/amd/iommu_detect.c  |  2 +-
 xen/drivers/passthrough/amd/iommu_init.c    | 27 ++++++------
 xen/drivers/passthrough/amd/iommu_intr.c    | 48 ++++++++++-----------
 xen/drivers/passthrough/amd/iommu_map.c     |  4 +-
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 32 +++++++-------
 8 files changed, 88 insertions(+), 74 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 10:09:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 10:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915996.1321189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttkvW-0004Zz-DX; Sun, 16 Mar 2025 10:09:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915996.1321189; Sun, 16 Mar 2025 10: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 1ttkvW-0004Zs-9h; Sun, 16 Mar 2025 10:09:02 +0000
Received: by outflank-mailman (input) for mailman id 915996;
 Sun, 16 Mar 2025 10:09: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=tZWB=WD=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1ttkvU-0004ZD-Ve
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 10:09: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 ad50ce06-024e-11f0-9899-31a8f345e629;
 Sun, 16 Mar 2025 11:08:58 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso11677695e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 16 Mar 2025 03:08:58 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffc4173sm73909045e9.20.2025.03.16.03.08.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 16 Mar 2025 03:08: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: ad50ce06-024e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742119737; x=1742724537; 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=OQLTn/XenpIx0boi8H9Y1QqNDqCLS4K8C+EwtPClR+I=;
        b=PiWX9Rr6sexLAOF40PNvULOXf9twiX3ACVpWXmObfMXGkBq+0od9SPazACosunpjSi
         Wk/qqSsVuH1ULBbxtdZmL1Kg2gDKhNn15z1mcqUoNeKlhfJCzn+EkK4aIGfiG3hbXkjW
         Xm6xJGKwyC/LE4iqJjBuF+t9IVTe5YAQfjnFRAqhi5svebK1bX3m6NjucYAl/A7VPcdA
         hj9drwd5mmUXUXY4b7U8YWxmBJQkdxa9Vo1ZKdroJWaBMCKpz9cSKyxoEsI657N6M2sq
         IwOMuOLAd1+OB/vEcbMcHQ9xrvNeAUy/dAf7YkT5dRKxvB3HoBWXcBNIA2be0HfQBA25
         uleA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742119737; x=1742724537;
        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=OQLTn/XenpIx0boi8H9Y1QqNDqCLS4K8C+EwtPClR+I=;
        b=ncWTMT5xlMEsrC3e4/hKm19grs5xSd5udFgLmg3KNst5KIfmYGpKiiMHLFskyfO3/N
         ww0jmJCa3MUMDYKXZunsaLnnVu7AxeCNaZkAYpy0EX6ilTkFnoIcIQanFqYvgji/aA2P
         WQIHCsfi97+Oz/idHUnhBBEL0r0TEyecQ9KC3y4gfTcry49qhYQe26+NbhXj2jYYYvJp
         SIzBBuUBE3AAAykBlFkhreycyeL6lFpGhmK0U/OpaZn/BIT6KeeIFbg9OW7fMpIn0oNd
         Dg/CfRRtP51HKOO8dhSiGxBsyTOjxUjaJgmRxlJMQyXBy7nRsHOCW9vcQe47TWS2Wjec
         7YBw==
X-Gm-Message-State: AOJu0Yxy4hlgg5D5aTAoPYrk75I+VxUN681UDFFbkAZ/Tk3hPcfSBihQ
	Es5Ph1jKSJ7mmBF+qR1ZwT8JpMMDp9jV4BCRBpxiksbkj8PAzUFWBchJNB6i
X-Gm-Gg: ASbGncs74WCWoz8TsEz6CRgVJS8A7820I4dk2kJqj2XF5v/qKNzGcaSm5oJfJq/tZjG
	vk3THUHqpc1iG5nPSnM22mYPjrjFijqf3h2DhOl1ok6/MIZtA9XfiEqJw7KECObJ+g+ZBmbpFZF
	Y6b/UP8WoiMVN/gytY1iZ87ieA9r7P2nCpSm359qcFXCvqeQJ7X0YFcoo+oRdeJNKu4xqZkJGU2
	qJyU5idijvu/2tUMs+Acq7oi3NwHtv6okvxaF25WvozjbVrmgW21xhy0rukWoUD8Jh3Hw8zwiVR
	u1qmjDy77a93ISCveRcgFhjR0kG3iMoQ642iFaH5JbLY1fuaJzVS83uoeN4l7sU53WnWBqBTCc7
	IbRZtvhPUeLCgjOGeUFj4T1pYnXjE0XqcvHkXzc8bvQpE
X-Google-Smtp-Source: AGHT+IGWulxFYD5zs1t2I9sftuvJCisLqiiX2mMGAKhh8yZDRX72uVzJE3LerTkhP8odzl82fAxtLw==
X-Received: by 2002:a05:600c:46c8:b0:43c:ebc4:36a5 with SMTP id 5b1f17b1804b1-43d1ec6946cmr102089345e9.7.1742119737341;
        Sun, 16 Mar 2025 03:08:57 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 v2 1/3] drivers: Change amd_iommu struct to contain pci_sbdf_t, simplify code
Date: Sun, 16 Mar 2025 10:08:49 +0000
Message-ID: <73295790a1df8f4f1406a8e86e7c81a98cb1d3e6.1742063500.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1742063500.git.sultanovandriy@gmail.com>
References: <cover.1742063500.git.sultanovandriy@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following on from 250d87dc3ff9 ("x86/msi: Change __msi_set_enable() to
take pci_sbdf_t"), struct amd_iommu has its seg and bdf fields
backwards with relation to pci_sbdf_t. Swap them around, and simplify the
expressions regenerating an sbdf_t from seg+bdf.

Bloat-o-meter reports:
add/remove: 0/0 grow/shrink: 6/11 up/down: 135/-327 (-192)
Function                                     old     new   delta
_einittext                                 22028   22092     +64
amd_iommu_prepare                            853     897     +44
_hvm_dpci_msi_eoi                            157     168     +11
__mon_lengths                               2928    2936      +8
_invalidate_all_devices                      133     138      +5
amd_iommu_get_reserved_device_memory         521     524      +3
amd_iommu_domain_destroy                      46      43      -3
build_info                                   752     744      -8
amd_iommu_add_device                         856     844     -12
amd_iommu_msi_enable                          33      20     -13
update_intremap_entry_from_msi_msg           879     859     -20
amd_iommu_get_supported_ivhd_type             86      54     -32
amd_iommu_detect_one_acpi                    918     886     -32
iterate_ivrs_mappings                        169     129     -40
flush_command_buffer                         460     417     -43
set_iommu_interrupt_handler                  421     377     -44
enable_iommu                                1745    1665     -80

Resolves: https://gitlab.com/xen-project/xen/-/issues/198

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>

---
Changes in V2:
* Split single commit into several patches
* Added the commit title of the referenced patch
* Dropped brackets around &(iommu->sbdf) and &(sbdf)
---
 xen/drivers/passthrough/amd/iommu.h        | 10 ++++++++--
 xen/drivers/passthrough/amd/iommu_cmd.c    |  4 ++--
 xen/drivers/passthrough/amd/iommu_detect.c |  2 +-
 xen/drivers/passthrough/amd/iommu_init.c   | 23 ++++++++++------------
 xen/drivers/passthrough/amd/iommu_map.c    |  2 +-
 5 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index 00e81b4b2a..a30c8c97ea 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -77,8 +77,14 @@ struct amd_iommu {
     struct list_head list;
     spinlock_t lock; /* protect iommu */
 
-    u16 seg;
-    u16 bdf;
+    union {
+        struct {
+            uint16_t bdf;
+            uint16_t seg;
+        };
+        pci_sbdf_t sbdf;
+    };
+
     struct msi_desc msi;
 
     u16 cap_offset;
diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
index 83c525b84f..d7162e36d6 100644
--- a/xen/drivers/passthrough/amd/iommu_cmd.c
+++ b/xen/drivers/passthrough/amd/iommu_cmd.c
@@ -85,7 +85,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
             threshold |= threshold << 1;
             printk(XENLOG_WARNING
                    "AMD IOMMU %pp: %scompletion wait taking too long\n",
-                   &PCI_SBDF(iommu->seg, iommu->bdf),
+                   &iommu->sbdf,
                    timeout_base ? "iotlb " : "");
             timeout = 0;
         }
@@ -95,7 +95,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
     if ( !timeout )
         printk(XENLOG_WARNING
                "AMD IOMMU %pp: %scompletion wait took %lums\n",
-               &PCI_SBDF(iommu->seg, iommu->bdf),
+               &iommu->sbdf,
                timeout_base ? "iotlb " : "",
                (NOW() - start) / 10000000);
 }
diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passthrough/amd/iommu_detect.c
index cede44e651..8567da2b24 100644
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -231,7 +231,7 @@ int __init amd_iommu_detect_one_acpi(
     rt = pci_ro_device(iommu->seg, bus, PCI_DEVFN(dev, func));
     if ( rt )
         printk(XENLOG_ERR "Could not mark config space of %pp read-only (%d)\n",
-               &PCI_SBDF(iommu->seg, iommu->bdf), rt);
+               &iommu->sbdf, rt);
 
     list_add_tail(&iommu->list, &amd_iommu_head);
     rt = 0;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index bb25b55c85..ea930426be 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -409,9 +409,7 @@ static void iommu_reset_log(struct amd_iommu *iommu,
 
 static void amd_iommu_msi_enable(struct amd_iommu *iommu, int flag)
 {
-    pci_sbdf_t sbdf = { .seg = iommu->seg, .bdf = iommu->bdf };
-
-    __msi_set_enable(sbdf, iommu->msi.msi_attrib.pos, flag);
+    __msi_set_enable(iommu->sbdf, iommu->msi.msi_attrib.pos, flag);
 }
 
 static void cf_check iommu_msi_unmask(struct irq_desc *desc)
@@ -752,12 +750,11 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
     }
 
     pcidevs_lock();
-    iommu->msi.dev = pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf));
+    iommu->msi.dev = pci_get_pdev(NULL, iommu->sbdf);
     pcidevs_unlock();
     if ( !iommu->msi.dev )
     {
-        AMD_IOMMU_WARN("no pdev for %pp\n",
-                       &PCI_SBDF(iommu->seg, iommu->bdf));
+        AMD_IOMMU_WARN("no pdev for %pp\n", &iommu->sbdf);
         return 0;
     }
 
@@ -779,7 +776,7 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
         hw_irq_controller *handler;
         u16 control;
 
-        control = pci_conf_read16(PCI_SBDF(iommu->seg, iommu->bdf),
+        control = pci_conf_read16(iommu->sbdf,
                                   iommu->msi.msi_attrib.pos + PCI_MSI_FLAGS);
 
         iommu->msi.msi.nvec = 1;
@@ -843,22 +840,22 @@ static void amd_iommu_erratum_746_workaround(struct amd_iommu *iommu)
          (boot_cpu_data.x86_model > 0x1f) )
         return;
 
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90);
-    value = pci_conf_read32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf4);
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90);
+    value = pci_conf_read32(iommu->sbdf, 0xf4);
 
     if ( value & (1 << 2) )
         return;
 
     /* Select NB indirect register 0x90 and enable writing */
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90 | (1 << 8));
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90 | (1 << 8));
 
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf4, value | (1 << 2));
+    pci_conf_write32(iommu->sbdf, 0xf4, value | (1 << 2));
     printk(XENLOG_INFO
            "AMD-Vi: Applying erratum 746 workaround for IOMMU at %pp\n",
-           &PCI_SBDF(iommu->seg, iommu->bdf));
+           &iommu->sbdf);
 
     /* Clear the enable writing bit */
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90);
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90);
 }
 
 static void enable_iommu(struct amd_iommu *iommu)
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index dde393645a..ea68edc0f2 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -730,7 +730,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
              * the same alias ID.
              */
             if ( bdf != req && ivrs_mappings[req].iommu &&
-                 func(0, 0, PCI_SBDF(seg, req).sbdf, ctxt) )
+                 func(0, 0, sbdf.sbdf, ctxt) )
                 continue;
 
             if ( global == pending )
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 10:09:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 10:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.915998.1321208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ttkvb-00054h-29; Sun, 16 Mar 2025 10:09:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 915998.1321208; Sun, 16 Mar 2025 10:09: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 1ttkva-00054Y-Um; Sun, 16 Mar 2025 10:09:06 +0000
Received: by outflank-mailman (input) for mailman id 915998;
 Sun, 16 Mar 2025 10: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=tZWB=WD=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1ttkvZ-0004LN-62
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 10:09:05 +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 b0b49b71-024e-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 11:09:04 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so5798415e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 16 Mar 2025 03:09:04 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffc4173sm73909045e9.20.2025.03.16.03.09.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 16 Mar 2025 03:09: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: b0b49b71-024e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742119744; x=1742724544; 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=mEVyYuoMYyc0LPAkEpFNbjkJvih0jmG/eGzoOUR4EB0=;
        b=PHVTCBsqx9qF7q+3kljMwdmb1oFx9a8Neibi48TPOkdGh4kpzrPcbNq6yIIpZXHQrG
         Qwwutmm1LzO+Si5EkVxokWRAUcqh2v5J/BQ9UtMFx1Dyi8f29FIpr7nPu40QJZeN4e4o
         I4BxT05ePWpf2Gpcv53McJvMhbFqRiZJglJS1nFL812NBMD+hkOvsDDb4nBI8Wcp/K6H
         VRUiavjLodOQUwQehTF9hmW9ebeqEJc2JVjFcYrfZcElkb04fOr9pkLtUsSDnRSnBzNL
         u7gjeqbtd6oXUEOQUPQ0G4mjfC8KwkEUa7nWTITjq5zmg7bzE5joTnoCPtsn+u3MVB5R
         ECOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742119744; x=1742724544;
        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=mEVyYuoMYyc0LPAkEpFNbjkJvih0jmG/eGzoOUR4EB0=;
        b=Xh6RuggRkMVWaLvyk7VqBq+VRKSZnEg2Ys1+yFOZvRhOH6lTE4nmdmjbIbZHIPMICU
         5RKO4F3CXREET49ACQjj1xYfBQkT5HnFpZfaGnZ1BlUnzg7g8fkfwQGCn0/VGSlFWxZA
         yzvxiAtseXUkRghVrc89pIe6M69zXgqAOa1I9O3+WH//9/CZvDX6neZQ1Sw5NEM3I9a1
         0tdks8aH1FGk9w2CWOZ7HigwdS4ermVHngK82Edliz0XUEH9KVjvpkg17iDEF+b1SarJ
         R8U0qVaFAM7ejZ158oG4cLIIsi3tIcTi5FBPWs85kJmyTspjxHVNknAa+R3mVG/Ek+ub
         Hd1w==
X-Gm-Message-State: AOJu0YxM4Gd/4hYF210CixH76HUM/vDnbb36t0eXNP11tpEDeW2QPaBi
	Loz0gNhXpREXQwK4QozYOhNgkYuGePPHCa6lUkRcGIfv4EwJ8P+talRW8Tk2
X-Gm-Gg: ASbGnctjJSOwUjk2rPmHU4ThJi8B7tD/ziVnHCToAysye/vBJnsHTkxJ0D68OWE3ztR
	F7T7UeVZk6ps1CM+sJWkIUgYmtq2jjocEzLgt3DrcaCAj6huG+fhGB2BrxfFDewNrbCBOYW+eAK
	w+ZWonLCpAmlG11TCedxYYqVEEkqTK0qEn/aTFVmgAOZB1cJVGzNHYpB3s89+wZRV6gsqpnFfh5
	YzwyZ27WAUiB26bzdparC1dSvMMFKx+4FFLh2NSWt+6a0vhETVZ16Ud+NTxRtuXW42XKZo48mQD
	qmCB+em4dUj75U4DhQyrt6Lw/Fpic02hA1wIHGO2a4DqX8NVguBqgT0X4I6sYiVePZXGLRZY5r3
	CYLn9QJkDeK1bFaEG5gJtbXGC95HLhL49DT0lbecS3O8r
X-Google-Smtp-Source: AGHT+IHyOcmeSsZsAVwMVUQJfvSxbiBZNZbirfOYIi+P6G4xXpaB7sjruggr1LHhU+CHOdNTuw1SlA==
X-Received: by 2002:a05:600c:3151:b0:439:9434:4f3b with SMTP id 5b1f17b1804b1-43d1f1fc173mr88356915e9.8.1742119743366;
        Sun, 16 Mar 2025 03:09:03 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 v2 3/3] drivers: Make ioapic_sbdf and hpet_sbdf contain pci_sbdf_t
Date: Sun, 16 Mar 2025 10:08:51 +0000
Message-ID: <3dfb3e32d06f204f9eb2087ea0d570140c95feda.1742063500.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1742063500.git.sultanovandriy@gmail.com>
References: <cover.1742063500.git.sultanovandriy@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following a similar change to amd_iommu struct, make two more structs
take pci_sbdf_t directly instead of seg and bdf separately. This lets us
drop several conversions from the latter to the former and simplifies
several comparisons and assignments.

Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>

---

This particular commit does not have any effect on code size:
add/remove: 0/0 grow/shrink: 2/6 up/down: 96/-96 (0)
Function                                     old     new   delta
_einittext                                 22092   22156     +64
_hvm_dpci_msi_eoi                            133     165     +32
amd_iommu_detect_one_acpi                    876     868      -8
iov_supports_xt                              275     264     -11
amd_iommu_read_ioapic_from_ire               344     332     -12
amd_setup_hpet_msi                           237     224     -13
amd_iommu_ioapic_update_ire                  575     555     -20
amd_iommu_get_supported_ivhd_type             86      54     -32

So we don't have to take it - but imho it significantly simplifies
source code and makes it more readable.

Changes in V2:
* Split single commit into several patches
* Change the format specifier to %pp in amd_iommu_ioapic_update_ire
---
 xen/drivers/passthrough/amd/iommu.h      | 17 ++++++++--
 xen/drivers/passthrough/amd/iommu_intr.c | 40 +++++++++++-------------
 2 files changed, 34 insertions(+), 23 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index a9e64b8304..6903b1bc5d 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -268,7 +268,13 @@ int cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc);
 void cf_check amd_iommu_dump_intremap_tables(unsigned char key);
 
 extern struct ioapic_sbdf {
-    u16 bdf, seg;
+    union {
+        struct {
+            uint16_t bdf;
+            uint16_t seg;
+        };
+        pci_sbdf_t sbdf;
+    };
     u8 id;
     bool cmdline;
     u16 *pin_2_idx;
@@ -279,7 +285,14 @@ unsigned int ioapic_id_to_index(unsigned int apic_id);
 unsigned int get_next_ioapic_sbdf_index(void);
 
 extern struct hpet_sbdf {
-    u16 bdf, seg, id;
+    union {
+        struct {
+            uint16_t bdf;
+            uint16_t seg;
+        };
+        pci_sbdf_t sbdf;
+    };
+    uint16_t id;
     enum {
         HPET_NONE,
         HPET_CMDL,
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 4d7dc2fdb4..e31ab12b60 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -323,7 +323,8 @@ void cf_check amd_iommu_ioapic_update_ire(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
     struct IO_APIC_route_entry new_rte;
-    int seg, bdf, rc;
+    pci_sbdf_t sbdf;
+    int rc;
     struct amd_iommu *iommu;
     unsigned int idx;
 
@@ -335,20 +336,18 @@ void cf_check amd_iommu_ioapic_update_ire(
     new_rte.raw = rte;
 
     /* get device id of ioapic devices */
-    bdf = ioapic_sbdf[idx].bdf;
-    seg = ioapic_sbdf[idx].seg;
-    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
+    sbdf = ioapic_sbdf[idx].sbdf;
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
     {
-        AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %04x:%04x\n",
-                       seg, bdf);
+        AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %pp\n", &sbdf);
         __ioapic_write_entry(apic, pin, true, new_rte);
         return;
     }
 
     /* Update interrupt remapping entry */
     rc = update_intremap_entry_from_ioapic(
-             bdf, iommu, &new_rte,
+             sbdf.bdf, iommu, &new_rte,
              &ioapic_sbdf[idx].pin_2_idx[pin]);
 
     if ( rc )
@@ -369,7 +368,8 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
     unsigned int offset;
     unsigned int val = __io_apic_read(apic, reg);
     unsigned int pin = (reg - 0x10) / 2;
-    uint16_t seg, bdf, req_id;
+    pci_sbdf_t sbdf;
+    uint16_t req_id;
     const struct amd_iommu *iommu;
     union irte_ptr entry;
 
@@ -381,12 +381,11 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
     if ( offset >= INTREMAP_MAX_ENTRIES )
         return val;
 
-    seg = ioapic_sbdf[idx].seg;
-    bdf = ioapic_sbdf[idx].bdf;
-    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
+    sbdf = ioapic_sbdf[idx].sbdf;
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
         return val;
-    req_id = get_intremap_requestor_id(seg, bdf);
+    req_id = get_intremap_requestor_id(sbdf.seg, sbdf.bdf);
     entry = get_intremap_entry(iommu, req_id, offset);
 
     if ( !(reg & 1) )
@@ -515,15 +514,15 @@ int cf_check amd_iommu_msi_msg_update_ire(
     struct msi_desc *msi_desc, struct msi_msg *msg)
 {
     struct pci_dev *pdev = msi_desc->dev;
-    int bdf, seg, rc;
+    pci_sbdf_t sbdf;
+    int rc;
     struct amd_iommu *iommu;
     unsigned int i, nr = 1;
     u32 data;
 
-    bdf = pdev ? pdev->sbdf.bdf : hpet_sbdf.bdf;
-    seg = pdev ? pdev->seg : hpet_sbdf.seg;
+    sbdf = pdev ? pdev->sbdf : hpet_sbdf.sbdf;
 
-    iommu = _find_iommu_for_device(PCI_SBDF(seg, bdf));
+    iommu = _find_iommu_for_device(sbdf);
     if ( IS_ERR_OR_NULL(iommu) )
         return PTR_ERR(iommu);
 
@@ -532,7 +531,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
 
     if ( msi_desc->remap_index >= 0 && !msg )
     {
-        update_intremap_entry_from_msi_msg(iommu, bdf, nr,
+        update_intremap_entry_from_msi_msg(iommu, sbdf.bdf, nr,
                                            &msi_desc->remap_index,
                                            NULL, NULL);
 
@@ -543,7 +542,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     if ( !msg )
         return 0;
 
-    rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
+    rc = update_intremap_entry_from_msi_msg(iommu, sbdf.bdf, nr,
                                             &msi_desc->remap_index,
                                             msg, &data);
     if ( rc > 0 )
@@ -660,8 +659,7 @@ bool __init cf_check iov_supports_xt(void)
         if ( idx == MAX_IO_APICS )
             return false;
 
-        if ( !find_iommu_for_device(PCI_SBDF(ioapic_sbdf[idx].seg,
-                                             ioapic_sbdf[idx].bdf)) )
+        if ( !find_iommu_for_device(ioapic_sbdf[idx].sbdf) )
         {
             AMD_IOMMU_WARN("no IOMMU for IO-APIC %#x (ID %x)\n",
                            apic, IO_APIC_ID(apic));
@@ -690,7 +688,7 @@ int __init cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc)
         return -ENODEV;
     }
 
-    iommu = find_iommu_for_device(PCI_SBDF(hpet_sbdf.seg, hpet_sbdf.bdf));
+    iommu = find_iommu_for_device(hpet_sbdf.sbdf);
     if ( !iommu )
         return -ENXIO;
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916069.1321249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttc6-0004qU-Cw; Sun, 16 Mar 2025 19:25:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916069.1321249; Sun, 16 Mar 2025 19:25: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 1tttc6-0004pu-8h; Sun, 16 Mar 2025 19:25:34 +0000
Received: by outflank-mailman (input) for mailman id 916069;
 Sun, 16 Mar 2025 19:25: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc4-0004Ab-IV
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6cbd3fab-029c-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 20:25:31 +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 899C21D6F;
 Sun, 16 Mar 2025 12:25:40 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 645D53F694;
 Sun, 16 Mar 2025 12:25: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: 6cbd3fab-029c-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v2 4/7] arm/mpu: Kconfig symbols for MPU build
Date: Sun, 16 Mar 2025 19:24:42 +0000
Message-Id: <20250316192445.2376484-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250316192445.2376484-1-luca.fancellu@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The MPU system requires static memory to work, select that
when building this memory management subsystem.

While there, provide a restriction for the ARM_EFI Kconfig
parameter to be built only when !MPU, the EFI stub is not
used as there are no implementation of UEFI services for
armv8-r.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2 changes:
 - clarified commit message about static memory
 - Add R-by Michal
---
 xen/arch/arm/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ffdff1f0a36c..5ac6ec0212d2 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -85,6 +85,7 @@ config MMU
 
 config MPU
 	bool "MPU" if UNSUPPORTED
+	select STATIC_MEMORY
 	help
 	  Memory Protection Unit (MPU). Select if you plan to run Xen on ARMv8-R
 	  systems supporting EL2. (UNSUPPORTED)
@@ -102,7 +103,7 @@ config ACPI
 
 config ARM_EFI
 	bool "UEFI boot service support"
-	depends on ARM_64
+	depends on ARM_64 && !MPU
 	default y
 	help
 	  This option provides support for boot services through
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916072.1321280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttcB-0005d1-8v; Sun, 16 Mar 2025 19:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916072.1321280; Sun, 16 Mar 2025 19:25: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 1tttcB-0005cs-42; Sun, 16 Mar 2025 19:25:39 +0000
Received: by outflank-mailman (input) for mailman id 916072;
 Sun, 16 Mar 2025 19: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc9-0004Ab-MC
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:37 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6fb61cc2-029c-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 20:25:36 +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 6482012FC;
 Sun, 16 Mar 2025 12:25:45 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2070A3F694;
 Sun, 16 Mar 2025 12:25: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: 6fb61cc2-029c-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v2 7/7] arm/mpu: Create the skeleton for MPU compilation
Date: Sun, 16 Mar 2025 19:24:45 +0000
Message-Id: <20250316192445.2376484-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250316192445.2376484-1-luca.fancellu@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit introduces the skeleton for the MPU memory management
subsystem that allows the compilation on Arm64.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
The implementation of setup_virt_paging() is under arm64/mpu
because it will have a different implementation from arm32.

v2 changes:
 - p2m_teardown{_allocation} stubs are now part of this patch
 - included missing headers
 - rename vmap-mpu.c to vmap.c
 - remove comment "Not used on MPU system" on implemented stubs
---
---
 xen/arch/arm/arm64/mpu/Makefile    |  2 +
 xen/arch/arm/arm64/mpu/p2m.c       | 19 ++++++++
 xen/arch/arm/arm64/mpu/smpboot.c   | 26 +++++++++++
 xen/arch/arm/include/asm/mpu/p2m.h | 21 +++++++++
 xen/arch/arm/include/asm/p2m.h     |  2 +-
 xen/arch/arm/mpu/Makefile          |  2 +
 xen/arch/arm/mpu/mm.c              | 25 +++++++++++
 xen/arch/arm/mpu/p2m.c             | 69 ++++++++++++++++++++++++++++++
 xen/arch/arm/mpu/setup.c           | 40 +++++++++++++++++
 xen/arch/arm/mpu/vmap.c            | 26 +++++++++++
 10 files changed, 231 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/arm64/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c
 create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h
 create mode 100644 xen/arch/arm/mpu/setup.c
 create mode 100644 xen/arch/arm/mpu/vmap.c

diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/mpu/Makefile
index 3340058c08c6..cf0540aecc84 100644
--- a/xen/arch/arm/arm64/mpu/Makefile
+++ b/xen/arch/arm/arm64/mpu/Makefile
@@ -1 +1,3 @@
 obj-y += head.o
+obj-y += p2m.o
+obj-y += smpboot.o
diff --git a/xen/arch/arm/arm64/mpu/p2m.c b/xen/arch/arm/arm64/mpu/p2m.c
new file mode 100644
index 000000000000..b6d8b2777b58
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/p2m.c
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/init.h>
+#include <asm/p2m.h>
+
+void __init setup_virt_paging(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm64/mpu/smpboot.c b/xen/arch/arm/arm64/mpu/smpboot.c
new file mode 100644
index 000000000000..5090f443f577
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/smpboot.c
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/errno.h>
+#include <xen/mm.h>
+#include <xen/stdbool.h>
+
+int prepare_secondary_mm(int cpu)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void update_boot_mapping(bool enable)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/mpu/p2m.h b/xen/arch/arm/include/asm/mpu/p2m.h
new file mode 100644
index 000000000000..e46d9e757a1d
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/p2m.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MPU_P2M_H__
+#define __ARM_MPU_P2M_H__
+
+struct p2m_domain;
+
+static inline void p2m_clear_root_pages(struct p2m_domain *p2m) {}
+
+static inline void p2m_tlb_flush_sync(struct p2m_domain *p2m) {}
+
+#endif /* __ARM_MPU_P2M_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 594dc4004138..2d53bf9b6177 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -168,7 +168,7 @@ typedef enum {
 #if defined(CONFIG_MMU)
 # include <asm/mmu/p2m.h>
 #else
-# error "Unknown memory management layout"
+# include <asm/mpu/p2m.h>
 #endif
 
 static inline bool arch_acquire_resource_check(struct domain *d)
diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
index 5424ab6239c8..21bbc517b51a 100644
--- a/xen/arch/arm/mpu/Makefile
+++ b/xen/arch/arm/mpu/Makefile
@@ -1,2 +1,4 @@
 obj-y += mm.o
 obj-y += p2m.o
+obj-y += setup.init.o
+obj-y += vmap.o
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 4e9a2405d8c5..07c8959f4ee9 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -1,9 +1,12 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
+#include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
 #include <xen/sizes.h>
+#include <xen/types.h>
 
 struct page_info *frame_table;
 
@@ -17,6 +20,28 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
 
+void __init setup_mm(void)
+{
+    BUG_ON("unimplemented");
+}
+
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void dump_hyp_walk(vaddr_t addr)
+{
+    BUG_ON("unimplemented");
+}
+
+/* Release all __init and __initdata ranges to be reused */
+void free_init_memory(void)
+{
+    BUG_ON("unimplemented");
+}
+
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
index 71f9cdbf2fdb..f464c74f3288 100644
--- a/xen/arch/arm/mpu/p2m.c
+++ b/xen/arch/arm/mpu/p2m.c
@@ -1,9 +1,78 @@
 
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/domain.h>
 #include <xen/errno.h>
+#include <xen/mm-frame.h>
+#include <xen/sched.h>
 #include <xen/types.h>
+#include <asm/p2m.h>
+
+int p2m_set_entry(struct p2m_domain *p2m, gfn_t sgfn, unsigned long nr,
+                  mfn_t smfn, p2m_type_t t, p2m_access_t a)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t,
+                    p2m_access_t *a, unsigned int *page_order, bool *valid)
+{
+    BUG_ON("unimplemented");
+    return INVALID_MFN;
+}
+
+void p2m_dump_info(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int p2m_init(struct domain *d)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void p2m_save_state(struct vcpu *p)
+{
+    BUG_ON("unimplemented");
+}
+
+void p2m_restore_state(struct vcpu *n)
+{
+    BUG_ON("unimplemented");
+}
+
+void p2m_final_teardown(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    BUG_ON("unimplemented");
+    return false;
+}
+
+void p2m_flush_vm(struct vcpu *v) {}
+
+int relinquish_p2m_mapping(struct domain *d)
+{
+    return 0;
+}
+
+void p2m_domain_creation_finished(struct domain *d) {}
+
+int p2m_teardown(struct domain *d)
+{
+    return 0;
+}
+
+int p2m_teardown_allocation(struct domain *d)
+{
+    return 0;
+}
 
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
 {
diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
new file mode 100644
index 000000000000..b4da77003f47
--- /dev/null
+++ b/xen/arch/arm/mpu/setup.c
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/types.h>
+#include <asm/setup.h>
+
+void __init setup_pagetables(void) {}
+
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+/*
+ * copy_from_paddr - copy data from a physical address
+ * @dst: destination virtual address
+ * @paddr: source physical address
+ * @len: length to copy
+ */
+void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
+{
+    BUG_ON("unimplemented");
+}
+
+void __init remove_early_mappings(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/mpu/vmap.c b/xen/arch/arm/mpu/vmap.c
new file mode 100644
index 000000000000..f977b79cd436
--- /dev/null
+++ b/xen/arch/arm/mpu/vmap.c
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/mm-frame.h>
+#include <xen/types.h>
+#include <xen/vmap.h>
+
+void *vmap_contig(mfn_t mfn, unsigned int nr)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+void vunmap(const void *va)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916070.1321252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttc6-0004se-KG; Sun, 16 Mar 2025 19:25:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916070.1321252; Sun, 16 Mar 2025 19:25: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 1tttc6-0004rI-F2; Sun, 16 Mar 2025 19:25:34 +0000
Received: by outflank-mailman (input) for mailman id 916070;
 Sun, 16 Mar 2025 19:25: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc5-0004Ab-Il
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:33 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6d85e90a-029c-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 20:25:32 +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 CCF6D2437;
 Sun, 16 Mar 2025 12:25:41 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A78683F694;
 Sun, 16 Mar 2025 12:25: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: 6d85e90a-029c-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v2 5/7] arm/mpu: Implement stubs for ioremap_attr on MPU
Date: Sun, 16 Mar 2025 19:24:43 +0000
Message-Id: <20250316192445.2376484-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250316192445.2376484-1-luca.fancellu@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement ioremap_attr() stub for MPU system; the
implementation of ioremap() is the same between MMU
and MPU system, and it relies on ioremap_attr(), so
move the definition from mmu/pt.c to arm/mm.c.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2 changes:
 - Add R-by Michal
---
 xen/arch/arm/mm.c     | 5 +++++
 xen/arch/arm/mmu/pt.c | 5 -----
 xen/arch/arm/mpu/mm.c | 6 ++++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index a56e20ba2bdc..5a52f0c623e5 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -395,6 +395,11 @@ unsigned long get_upper_mfn_bound(void)
     return max_page - 1;
 }
 
+void *ioremap(paddr_t pa, size_t len)
+{
+    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e796..11cb1c66dac8 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -223,11 +223,6 @@ void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
     return ptr + offs;
 }
 
-void *ioremap(paddr_t pa, size_t len)
-{
-    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
-}
-
 static int create_xen_table(lpae_t *entry)
 {
     mfn_t mfn;
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 3632011c1013..4e9a2405d8c5 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -17,6 +17,12 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
 
+void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916068.1321228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttc5-0004Ge-56; Sun, 16 Mar 2025 19:25:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916068.1321228; Sun, 16 Mar 2025 19:25: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 1tttc4-0004FF-Vi; Sun, 16 Mar 2025 19:25:32 +0000
Received: by outflank-mailman (input) for mailman id 916068;
 Sun, 16 Mar 2025 19: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc3-0004Ab-IC
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:31 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6bfe6a78-029c-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 20:25: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 46B5F1D34;
 Sun, 16 Mar 2025 12:25:39 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 215313F694;
 Sun, 16 Mar 2025 12:25: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: 6bfe6a78-029c-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v2 3/7] xen/arm: Introduce frame_table and virt_to_page
Date: Sun, 16 Mar 2025 19:24:41 +0000
Message-Id: <20250316192445.2376484-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250316192445.2376484-1-luca.fancellu@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce frame_table in order to provide the implementation of
virt_to_page for MPU system, move the MMU variant in mmu/mm.h.

Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
pdx.c, but leave the initialisation of the frame table to a later
stage.
Define FRAMETABLE_SIZE for MPU to support up to 1TB of ram, as the
only current implementation of armv8-r aarch64, which is cortex R82,
can address up to that memory.

Take the occasion to sort alphabetically the headers following
the Xen code style and add the emacs footer in mpu/mm.c.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2 changes:
 - sorted headers in mm.c
 - modified commit message
 - moved virt_to_page to MMU and MPU
 - removed frametable_pdx_end, used mfn_valid
---
 xen/arch/arm/include/asm/mm.h         | 14 --------------
 xen/arch/arm/include/asm/mmu/mm.h     | 14 ++++++++++++++
 xen/arch/arm/include/asm/mpu/layout.h |  3 +++
 xen/arch/arm/include/asm/mpu/mm.h     | 15 +++++++++++++++
 xen/arch/arm/mpu/mm.c                 | 14 +++++++++++++-
 5 files changed, 45 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 444fd03823ec..fbffaccef49b 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -294,20 +294,6 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
 #error "Unknown memory management layout"
 #endif
 
-/* Convert between Xen-heap virtual addresses and page-info structures. */
-static inline struct page_info *virt_to_page(const void *v)
-{
-    unsigned long va = (unsigned long)v;
-    unsigned long pdx;
-
-    ASSERT(va >= XENHEAP_VIRT_START);
-    ASSERT(va < directmap_virt_end);
-
-    pdx = (va - XENHEAP_VIRT_START) >> PAGE_SHIFT;
-    pdx += mfn_to_pdx(directmap_mfn_start);
-    return frame_table + pdx - frametable_base_pdx;
-}
-
 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/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index 6737c3ede783..caba987edc85 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -70,6 +70,20 @@ static inline void *maddr_to_virt(paddr_t ma)
 }
 #endif
 
+/* Convert between Xen-heap virtual addresses and page-info structures. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    unsigned long va = (unsigned long)v;
+    unsigned long pdx;
+
+    ASSERT(va >= XENHEAP_VIRT_START);
+    ASSERT(va < directmap_virt_end);
+
+    pdx = (va - XENHEAP_VIRT_START) >> PAGE_SHIFT;
+    pdx += mfn_to_pdx(directmap_mfn_start);
+    return frame_table + pdx - frametable_base_pdx;
+}
+
 /*
  * Print a walk of a page table or p2m
  *
diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
index 248e55f8882d..c331d1feaa84 100644
--- a/xen/arch/arm/include/asm/mpu/layout.h
+++ b/xen/arch/arm/include/asm/mpu/layout.h
@@ -3,6 +3,9 @@
 #ifndef __ARM_MPU_LAYOUT_H__
 #define __ARM_MPU_LAYOUT_H__
 
+#define FRAMETABLE_SIZE   GB(16)
+#define FRAMETABLE_NR     (FRAMETABLE_SIZE / sizeof(*frame_table))
+
 #define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
 
 /*
diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
index 6cfd0f5cd2c2..3a0a60dbfa18 100644
--- a/xen/arch/arm/include/asm/mpu/mm.h
+++ b/xen/arch/arm/include/asm/mpu/mm.h
@@ -3,9 +3,13 @@
 #ifndef __ARM_MPU_MM_H__
 #define __ARM_MPU_MM_H__
 
+#include <xen/bug.h>
 #include <xen/macros.h>
 #include <xen/page-size.h>
 #include <xen/types.h>
+#include <asm/mm.h>
+
+extern struct page_info *frame_table;
 
 #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
 
@@ -15,6 +19,17 @@ static inline void *maddr_to_virt(paddr_t ma)
     return _p(ma);
 }
 
+/* Convert between virtual address to page-info structure. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    paddr_t paddr = virt_to_maddr(v);
+    unsigned long pdx = paddr_to_pdx(paddr);
+
+    ASSERT(mfn_valid(maddr_to_mfn(paddr)));
+
+    return frame_table + pdx - frametable_base_pdx;
+}
+
 #endif /* __ARM_MPU_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 0b8748e57598..3632011c1013 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -1,9 +1,12 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-#include <xen/lib.h>
 #include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/mm.h>
 #include <xen/sizes.h>
 
+struct page_info *frame_table;
+
 static void __init __maybe_unused build_assertions(void)
 {
     /*
@@ -13,3 +16,12 @@ static void __init __maybe_unused build_assertions(void)
      */
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916067.1321224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttc4-0004Bu-TE; Sun, 16 Mar 2025 19:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916067.1321224; Sun, 16 Mar 2025 19: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 1tttc4-0004BL-Lv; Sun, 16 Mar 2025 19:25:32 +0000
Received: by outflank-mailman (input) for mailman id 916067;
 Sun, 16 Mar 2025 19: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc2-0004Ab-Vn
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6b5511c0-029c-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 20:25: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 034241A32;
 Sun, 16 Mar 2025 12:25:38 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 751883F694;
 Sun, 16 Mar 2025 12:25: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: 6b5511c0-029c-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v2 2/7] xen/arm: Implement virt/maddr conversion in MPU system
Date: Sun, 16 Mar 2025 19:24:40 +0000
Message-Id: <20250316192445.2376484-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250316192445.2376484-1-luca.fancellu@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

virt_to_maddr and maddr_to_virt are used widely in Xen code. So
even there is no VMSA in MPU system, we keep the interface in MPU to
to avoid changing the existing common code.

In order to do that, move the virt_to_maddr() and maddr_to_virt()
definitions to mmu/mm.h, move the include of memory management
subsystems (MMU/MPU) on a different place because the mentioned
helpers needs visibility of some macro in asm/mm.h.

Finally implement virt_to_maddr() and maddr_to_virt() for MPU systems
under mpu/mm.h, the MPU version of virt/maddr conversion is simple since
VA==PA.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2 changes:
 - add missing headers, fix header protection macro name convention
 - take into account PADDR_MASK in virt_to_maddr
 - fixed typo in commit message
 - moved also maddr_to_virt to mmu/mm.h and moved include of mmu/mpu.
 - moved introduction of mm.c footer on commit that touches that file.
---
 xen/arch/arm/include/asm/mm.h     | 64 +++++--------------------------
 xen/arch/arm/include/asm/mmu/mm.h | 56 +++++++++++++++++++++++++++
 xen/arch/arm/include/asm/mpu/mm.h | 27 +++++++++++++
 3 files changed, 92 insertions(+), 55 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index a0d8e5afe977..444fd03823ec 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -14,12 +14,6 @@
 # error "unknown ARM variant"
 #endif
 
-#if defined(CONFIG_MMU)
-# include <asm/mmu/mm.h>
-#elif !defined(CONFIG_MPU)
-# error "Unknown memory management layout"
-#endif
-
 /* Align Xen to a 2 MiB boundary. */
 #define XEN_PADDR_ALIGN (1 << 21)
 
@@ -261,55 +255,6 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len)
 /* Page-align address and convert to frame number format */
 #define paddr_to_pfn_aligned(paddr)    paddr_to_pfn(PAGE_ALIGN(paddr))
 
-#define virt_to_maddr(va) ({                                        \
-    vaddr_t va_ = (vaddr_t)(va);                                    \
-    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
-})
-
-#ifdef CONFIG_ARM_32
-/**
- * Find the virtual address corresponding to a machine address
- *
- * Only memory backing the XENHEAP has a corresponding virtual address to
- * be found. This is so we can save precious virtual space, as it's in
- * short supply on arm32. This mapping is not subject to PDX compression
- * because XENHEAP is known to be physically contiguous and can't hence
- * jump over the PDX hole. This means we can avoid the roundtrips
- * converting to/from pdx.
- *
- * @param ma Machine address
- * @return Virtual address mapped to `ma`
- */
-static inline void *maddr_to_virt(paddr_t ma)
-{
-    ASSERT(is_xen_heap_mfn(maddr_to_mfn(ma)));
-    ma -= mfn_to_maddr(directmap_mfn_start);
-    return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
-}
-#else
-/**
- * Find the virtual address corresponding to a machine address
- *
- * The directmap covers all conventional memory accesible by the
- * hypervisor. This means it's subject to PDX compression.
- *
- * Note there's an extra offset applied (directmap_base_pdx) on top of the
- * regular PDX compression logic. Its purpose is to skip over the initial
- * range of non-existing memory, should there be one.
- *
- * @param ma Machine address
- * @return Virtual address mapped to `ma`
- */
-static inline void *maddr_to_virt(paddr_t ma)
-{
-    ASSERT((mfn_to_pdx(maddr_to_mfn(ma)) - directmap_base_pdx) <
-           (DIRECTMAP_SIZE >> PAGE_SHIFT));
-    return (void *)(XENHEAP_VIRT_START -
-                    (directmap_base_pdx << PAGE_SHIFT) +
-                    maddr_to_directmapoff(ma));
-}
-#endif
-
 /*
  * Translate a guest virtual address to a machine address.
  * Return the fault information if the translation has failed else 0.
@@ -340,6 +285,15 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
 #define virt_to_mfn(va)     __virt_to_mfn(va)
 #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
 
+/* Memory management subsystem header placed here to see the above macros */
+#if defined(CONFIG_MMU)
+# include <asm/mmu/mm.h>
+#elif defined(CONFIG_MPU)
+# include <asm/mpu/mm.h>
+#else
+#error "Unknown memory management layout"
+#endif
+
 /* Convert between Xen-heap virtual addresses and page-info structures. */
 static inline struct page_info *virt_to_page(const void *v)
 {
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index f5a00558c47b..6737c3ede783 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -2,6 +2,13 @@
 #ifndef __ARM_MMU_MM_H__
 #define __ARM_MMU_MM_H__
 
+#include <xen/bug.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
+#include <asm/mm.h>
+#include <asm/mmu/layout.h>
+#include <asm/page.h>
+
 /* Non-boot CPUs use this to find the correct pagetables. */
 extern uint64_t init_ttbr;
 
@@ -14,6 +21,55 @@ extern unsigned long directmap_base_pdx;
 
 #define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
 
+#define virt_to_maddr(va) ({                                                   \
+    vaddr_t va_ = (vaddr_t)(va);                                               \
+    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
+})
+
+#ifdef CONFIG_ARM_32
+/**
+ * Find the virtual address corresponding to a machine address
+ *
+ * Only memory backing the XENHEAP has a corresponding virtual address to
+ * be found. This is so we can save precious virtual space, as it's in
+ * short supply on arm32. This mapping is not subject to PDX compression
+ * because XENHEAP is known to be physically contiguous and can't hence
+ * jump over the PDX hole. This means we can avoid the roundtrips
+ * converting to/from pdx.
+ *
+ * @param ma Machine address
+ * @return Virtual address mapped to `ma`
+ */
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    ASSERT(is_xen_heap_mfn(maddr_to_mfn(ma)));
+    ma -= mfn_to_maddr(directmap_mfn_start);
+    return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
+}
+#else
+/**
+ * Find the virtual address corresponding to a machine address
+ *
+ * The directmap covers all conventional memory accesible by the
+ * hypervisor. This means it's subject to PDX compression.
+ *
+ * Note there's an extra offset applied (directmap_base_pdx) on top of the
+ * regular PDX compression logic. Its purpose is to skip over the initial
+ * range of non-existing memory, should there be one.
+ *
+ * @param ma Machine address
+ * @return Virtual address mapped to `ma`
+ */
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    ASSERT((mfn_to_pdx(maddr_to_mfn(ma)) - directmap_base_pdx) <
+           (DIRECTMAP_SIZE >> PAGE_SHIFT));
+    return (void *)(XENHEAP_VIRT_START -
+                    (directmap_base_pdx << PAGE_SHIFT) +
+                    maddr_to_directmapoff(ma));
+}
+#endif
+
 /*
  * Print a walk of a page table or p2m
  *
diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
new file mode 100644
index 000000000000..6cfd0f5cd2c2
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/mm.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MPU_MM_H__
+#define __ARM_MPU_MM_H__
+
+#include <xen/macros.h>
+#include <xen/page-size.h>
+#include <xen/types.h>
+
+#define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
+
+/* On MPU systems there is no translation, ma == va. */
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    return _p(ma);
+}
+
+#endif /* __ARM_MPU_MM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916071.1321269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttc8-0005KX-QW; Sun, 16 Mar 2025 19:25:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916071.1321269; Sun, 16 Mar 2025 19:25: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 1tttc8-0005KO-MU; Sun, 16 Mar 2025 19:25:36 +0000
Received: by outflank-mailman (input) for mailman id 916071;
 Sun, 16 Mar 2025 19:25: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc6-0004Ab-J3
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:34 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6a6b7ebb-029c-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 20:25:27 +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 6EF17153B;
 Sun, 16 Mar 2025 12:25:36 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 30E9F3F694;
 Sun, 16 Mar 2025 12:25: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: 6a6b7ebb-029c-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v2 1/7] arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S
Date: Sun, 16 Mar 2025 19:24:39 +0000
Message-Id: <20250316192445.2376484-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250316192445.2376484-1-luca.fancellu@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The define HYPERVISOR_VIRT_START is required by the common code,
even if MPU system doesn't use virtual memory, define it in
mpu/layout.h in order to reuse existing code.

Disable a check in the linker script for arm for !MMU systems.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2 changes:
 - Add Michal R-by
---
 xen/arch/arm/include/asm/mpu/layout.h | 2 ++
 xen/arch/arm/xen.lds.S                | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
index d6d397f4c2ac..248e55f8882d 100644
--- a/xen/arch/arm/include/asm/mpu/layout.h
+++ b/xen/arch/arm/include/asm/mpu/layout.h
@@ -22,6 +22,8 @@
  */
 #define XEN_VIRT_START         _AT(paddr_t, XEN_START_ADDRESS)
 
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
 #endif /* __ARM_MPU_LAYOUT_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bbccff1a0350..4342e54422a7 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -239,4 +239,6 @@ ASSERT(IS_ALIGNED(__bss_start,      POINTER_ALIGN), "__bss_start is misaligned")
 ASSERT(IS_ALIGNED(__bss_end,        POINTER_ALIGN), "__bss_end is misaligned")
 /* To simplify the logic in head.S, we want to _end to be page aligned */
 ASSERT(IS_ALIGNED(_end,             PAGE_SIZE), "_end is not page aligned")
+#ifdef CONFIG_MMU
 ASSERT((_end - _start) <= XEN_VIRT_SIZE, "Xen is too big")
+#endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916073.1321282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttcB-0005hW-HM; Sun, 16 Mar 2025 19:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916073.1321282; Sun, 16 Mar 2025 19:25: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 1tttcB-0005gT-C0; Sun, 16 Mar 2025 19:25:39 +0000
Received: by outflank-mailman (input) for mailman id 916073;
 Sun, 16 Mar 2025 19:25: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc9-0005Uc-Ng
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:37 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6f3d15a9-029c-11f0-9899-31a8f345e629;
 Sun, 16 Mar 2025 20:25:35 +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 1D10B2573;
 Sun, 16 Mar 2025 12:25:44 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EC7F43F694;
 Sun, 16 Mar 2025 12:25: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: 6f3d15a9-029c-11f0-9899-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
	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>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v2 6/7] xen: introduce Kconfig HAS_PAGING_MEMPOOL
Date: Sun, 16 Mar 2025 19:24:44 +0000
Message-Id: <20250316192445.2376484-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250316192445.2376484-1-luca.fancellu@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

ARM MPU system doesn't need to use paging memory pool, as MPU memory
mapping table at most takes only one 4KB page, which is enough to
manage the maximum 255 MPU memory regions, for all EL2 stage 1
translation and EL1 stage 2 translation.

Introduce HAS_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
MMU systems.

Wrap the code inside 'construct_domU' that deal with p2m paging
allocation in a new function 'domu_p2m_set_allocation', protected
by HAS_PAGING_MEMPOOL, this is done in this way to prevent polluting
the former function with #ifdefs and improve readability

Introduce arch_{get,set}_paging_mempool_size implementation for MPU
system.

Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
field is not required.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2 changes:
 - make Kconfig HAS_PAGING_MEMPOOL common
 - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
 - do not define p2m_teardown{_allocation} in this patch
 - change commit message
---
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/dom0less-build.c     | 48 ++++++++++++++++++++++++-------
 xen/arch/arm/include/asm/domain.h |  2 ++
 xen/arch/arm/mpu/Makefile         |  1 +
 xen/arch/arm/mpu/p2m.c            | 25 ++++++++++++++++
 xen/common/Kconfig                |  3 ++
 6 files changed, 69 insertions(+), 11 deletions(-)
 create mode 100644 xen/arch/arm/mpu/p2m.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5ac6ec0212d2..6b4bcf12683e 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -76,6 +76,7 @@ choice
 config MMU
 	bool "MMU"
 	select HAS_LLC_COLORING if !NUMA && ARM_64
+	select HAS_PAGING_MEMPOOL
 	select HAS_PMAP
 	select HAS_VMAP
 	select HAS_PASSTHROUGH
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 573b0d25ae41..a65bbbb05301 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -673,6 +673,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     return -EINVAL;
 }
 
+#ifdef CONFIG_HAS_PAGING_MEMPOOL
+
 static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
                                              unsigned int smp_cpus)
 {
@@ -688,6 +690,8 @@ static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
     return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
 }
 
+#endif
+
 static int __init alloc_xenstore_evtchn(struct domain *d)
 {
     evtchn_alloc_unbound_t alloc;
@@ -841,6 +845,38 @@ static void __init domain_vcpu_affinity(struct domain *d,
     }
 }
 
+#ifdef CONFIG_HAS_PAGING_MEMPOOL
+
+static int __init domu_p2m_set_allocation(struct domain *d, u64 mem,
+                                          const struct dt_device_node *node)
+{
+    unsigned long p2m_pages;
+    u32 p2m_mem_mb;
+    int rc;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb << (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d->max_vcpus);
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&d->arch.paging.lock);
+
+    return rc;
+}
+
+#else /* !CONFIG_HAS_PAGING_MEMPOOL */
+
+static inline int domu_p2m_set_allocation(struct domain *d, u64 mem,
+                                          const struct dt_device_node *node)
+{
+    return 0;
+}
+
+#endif /* CONFIG_HAS_PAGING_MEMPOOL */
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -848,8 +884,6 @@ static int __init construct_domU(struct domain *d,
     const char *dom0less_enhanced;
     int rc;
     u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
 
     rc = dt_property_read_u64(node, "memory", &mem);
     if ( !rc )
@@ -859,15 +893,7 @@ static int __init construct_domU(struct domain *d,
     }
     kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
 
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb << (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d->max_vcpus);
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&d->arch.paging.lock);
+    rc = domu_p2m_set_allocation(d, mem, node);
     if ( rc != 0 )
         return rc;
 
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 50b6a4b00982..fadec7d8fa9e 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -75,7 +75,9 @@ struct arch_domain
 
     struct hvm_domain hvm;
 
+#ifdef CONFIG_HAS_PAGING_MEMPOOL
     struct paging_domain paging;
+#endif
 
     struct vmmio vmmio;
 
diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
index b18cec483671..5424ab6239c8 100644
--- a/xen/arch/arm/mpu/Makefile
+++ b/xen/arch/arm/mpu/Makefile
@@ -1 +1,2 @@
 obj-y += mm.o
+obj-y += p2m.o
diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
new file mode 100644
index 000000000000..71f9cdbf2fdb
--- /dev/null
+++ b/xen/arch/arm/mpu/p2m.c
@@ -0,0 +1,25 @@
+
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/domain.h>
+#include <xen/errno.h>
+#include <xen/types.h>
+
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    return -EOPNOTSUPP;
+}
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    return -EOPNOTSUPP;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6166327f4d14..a3bdf546d02f 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -74,6 +74,9 @@ config HAS_KEXEC
 config HAS_LLC_COLORING
 	bool
 
+config HAS_PAGING_MEMPOOL
+	bool
+
 config HAS_PIRQ
 	bool
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 16 19:25:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Mar 2025 19:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916066.1321219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tttc4-0004Az-Kg; Sun, 16 Mar 2025 19:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916066.1321219; Sun, 16 Mar 2025 19: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 1tttc4-0004Ar-FY; Sun, 16 Mar 2025 19:25:32 +0000
Received: by outflank-mailman (input) for mailman id 916066;
 Sun, 16 Mar 2025 19:25: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=84OC=WD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tttc2-0004Ab-Of
 for xen-devel@lists.xenproject.org; Sun, 16 Mar 2025 19:25:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 69a3adb6-029c-11f0-9aba-95dc52dad729;
 Sun, 16 Mar 2025 20:25:26 +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 1802112FC;
 Sun, 16 Mar 2025 12:25:35 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6587A3F694;
 Sun, 16 Mar 2025 12:25: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: 69a3adb6-029c-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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>,
	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>
Subject: [PATCH v2 0/7] MPU mm subsystem skeleton
Date: Sun, 16 Mar 2025 19:24:38 +0000
Message-Id: <20250316192445.2376484-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

this serie implements the skeleton for the MPU memory management subsystem,
at the end of the serie it will be possible to compile the Arm64 arch using MPU.

The minimum Arm Kconfig configuration is this one:

CONFIG_UNSUPPORTED=y
CONFIG_MPU=y
CONFIG_XEN_START_ADDRESS=0x0


Luca Fancellu (5):
  arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S
  xen/arm: Introduce frame_table and virt_to_page
  arm/mpu: Kconfig symbols for MPU build
  arm/mpu: Implement stubs for ioremap_attr on MPU
  arm/mpu: Create the skeleton for MPU compilation

Penny Zheng (2):
  xen/arm: Implement virt/maddr conversion in MPU system
  xen: introduce Kconfig HAS_PAGING_MEMPOOL

 xen/arch/arm/Kconfig                  |  4 +-
 xen/arch/arm/arm64/mpu/Makefile       |  2 +
 xen/arch/arm/arm64/mpu/p2m.c          | 19 ++++++
 xen/arch/arm/arm64/mpu/smpboot.c      | 26 ++++++++
 xen/arch/arm/dom0less-build.c         | 48 ++++++++++----
 xen/arch/arm/include/asm/domain.h     |  2 +
 xen/arch/arm/include/asm/mm.h         | 76 +++-------------------
 xen/arch/arm/include/asm/mmu/mm.h     | 70 ++++++++++++++++++++
 xen/arch/arm/include/asm/mpu/layout.h |  5 ++
 xen/arch/arm/include/asm/mpu/mm.h     | 42 ++++++++++++
 xen/arch/arm/include/asm/mpu/p2m.h    | 21 ++++++
 xen/arch/arm/include/asm/p2m.h        |  2 +-
 xen/arch/arm/mm.c                     |  5 ++
 xen/arch/arm/mmu/pt.c                 |  5 --
 xen/arch/arm/mpu/Makefile             |  3 +
 xen/arch/arm/mpu/mm.c                 | 45 ++++++++++++-
 xen/arch/arm/mpu/p2m.c                | 94 +++++++++++++++++++++++++++
 xen/arch/arm/mpu/setup.c              | 40 ++++++++++++
 xen/arch/arm/mpu/vmap.c               | 26 ++++++++
 xen/arch/arm/xen.lds.S                |  2 +
 xen/common/Kconfig                    |  3 +
 21 files changed, 453 insertions(+), 87 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
 create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h
 create mode 100644 xen/arch/arm/mpu/p2m.c
 create mode 100644 xen/arch/arm/mpu/setup.c
 create mode 100644 xen/arch/arm/mpu/vmap.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 05:08:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 05:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916158.1321299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu2ho-0001ce-D4; Mon, 17 Mar 2025 05:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916158.1321299; Mon, 17 Mar 2025 05:08: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 1tu2ho-0001cM-7g; Mon, 17 Mar 2025 05:08:04 +0000
Received: by outflank-mailman (input) for mailman id 916158;
 Mon, 17 Mar 2025 05:08: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=1Z1w=WE=boeing.com=Anderson.Choi@srs-se1.protection.inumbo.net>)
 id 1tu2hm-0001c8-V3
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 05:08:03 +0000
Received: from ewa-mbsout-02.mbs.boeing.net (ewa-mbsout-02.mbs.boeing.net
 [130.76.20.195]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca16a7d0-02ed-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 06:07:59 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by ewa-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52H57tlj016652; Sun, 16 Mar 2025 22:07:55 -0700
Received: from XCH16-04-04.nos.boeing.com (xch16-04-04.nos.boeing.com
 [137.137.111.19])
 by ewa-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52H57iJD016553
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Sun, 16 Mar 2025 22:07:44 -0700
Received: from XCH16-06-01.nos.boeing.com (137.137.111.28) by
 XCH16-04-04.nos.boeing.com (137.137.111.19) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Sun, 16 Mar 2025 22:07:43 -0700
Received: from XCH19-EDGE-Q02.nos.boeing.com (130.76.23.14) by
 XCH16-06-01.nos.boeing.com (137.137.111.28) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44 via Frontend Transport; Sun, 16 Mar 2025 22:07:43 -0700
Received: from USG02-CY1-obe.outbound.protection.office365.us (23.103.199.181)
 by boeing.com (130.76.23.14) with Microsoft SMTP Server
 (version=TLS1_2, 
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Sun, 16 Mar
 2025 22:07:40 -0700
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:19b::17)
 by PH1P110MB1396.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:189::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.31; Mon, 17 Mar
 2025 05:07:38 +0000
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d]) by BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d%6]) with mapi id 15.20.8511.031; Mon, 17 Mar 2025
 05:07: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: ca16a7d0-02ed-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1742188075;
	bh=Z7IUTuOwfQpuS/VQLgUi8jPOyLtavJ0bguvSIR4AbeE=;
	h=From:To:CC:Subject:Date:From;
	b=PIfcSvnMeybjZ47UcpypMGnU18ov/av8qHfcX4bklN5D7YmDbPB4Z/HcMk/pV95Y/
	 hcYlSibIY4nCnnrzrV44y+MmQoHOqx3ChjM9wvmBlHfcz+6spwnV87dKWvEM2UJ4+W
	 kTTeUkbqt++nfmOJtB9seCL0lAOw/xl0aZE+uy1iIckv+lvngHuSfo8+5ku0Kt4dDp
	 GNDS1qX1+EE6dEHmrdvF5rFchC/mQ9lxAFRaEoOReweRkjh6WVed0F9sARXYz1rLgf
	 YE1g+/KLZGFqAsNNgI1xTCYgJMw2AEsaD34g5uxOrQ1SMSLbGN3T4bT6wV1xRLS4li
	 oBL7sg0E+tWYg==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=ZmwUxdG7NvKkID1MTHcM+0GsB1VS5fzAnsW2J92A35PTzb6mdPb30VgIGuIs896FT2knOhA8tN1eZmR2F6hbXS2zwf5IIa/05JoJlRCoRi4jdHPe9TrzVQwtBsmWSkFCsBvMc1P+j+6UDdcyUT4DbxlCH+bQrd5hyQykqNQDs5pE8CNs4v2lvJnIp1rfYbJJ82MQ2oWKU+SL5XeUfbLFmYyi5uXvKnCCAM8f8Zqzhz4py/AVod/iiw43E2Yk95tHF7zIh3QgDs0WJuWjH+79sfrNtbWfw5wcogQ9+T7oN0n2bpyZkJsPIqmj9Tplyb8IL5NVE5Cm5VBaRwNR8CVE5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z7IUTuOwfQpuS/VQLgUi8jPOyLtavJ0bguvSIR4AbeE=;
 b=wmfgRiUsqeUy6WOJJA/Sw2fWC4RPvit8iuOr55chMv+mHzPJG8gqRoAR+CBNawaOmu7Xojzwka7paPd5RXa4LDHhLqEbQj2yruQwbhQxf7EAFej6VtNVqf9IeNYK2U0cWNwDfHpGE24y7WeoHn+s2esPlRxEWIebEZFgsymntM669CkwbhFA5Bk3YtcOtKJJBggKsnetX06L90nnTeJCYXR2xTyiMtKj2W0ULzqjWK0zL+W5zpAMuCcIIyK7qVxiWtD1JqsRefgWYzGc6Tg6ML7VgqbAujIX94ClqaA7VC1/KdcW2GGKQ4FuWeCnH6D4ZhxXAd7DV5FS5X5T+J6V/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=boeing.com; dmarc=pass action=none header.from=boeing.com;
 dkim=pass header.d=boeing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=boeing.onmicrosoft.com; s=selector1-boeing-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z7IUTuOwfQpuS/VQLgUi8jPOyLtavJ0bguvSIR4AbeE=;
 b=BbRJ+47xslnPE9WRB6zH51rh6PnWOXT46Vly5EZ4ZLyxYZ9dz+6tA/D9+r93JcPt0CPY9nLzGP0RRJhazhEAyjj3NllJTF4Df7CAaWklA5z8zzi5DGbPq4UMLKyAfd+i1lCNcMJhm2gc+ISXLSuQkwX25njC+Kx6avD5xmadkIs=
From: "Choi, Anderson" <Anderson.Choi@boeing.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
        "stewart@stew.dk" <stewart@stew.dk>,
        "Weber (US), Matthew L"
	<matthew.l.weber3@boeing.com>,
        "Whitehead (US), Joshua C"
	<joshua.c.whitehead@boeing.com>
Subject: Xen panic when shutting down ARINC653 cpupool
Thread-Topic: Xen panic when shutting down ARINC653 cpupool
Thread-Index: AduW+TkPYPhh1TXsRdStDrK0/zWwnA==
Date: Mon, 17 Mar 2025 05:07:38 +0000
Message-ID: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.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=boeing.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB2148:EE_|PH1P110MB1396:EE_
x-ms-office365-filtering-correlation-id: 8418bc6e-272e-442d-5a7a-08dd6511a370
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?P5LYiOBT1eZ6ubIVbIKTmoaZFMRasOfikcKZfFtkH1leLb+FGzwQ/ewb7W4p?=
 =?us-ascii?Q?r1+AvOrwM6/wqjnhH2yOrWvYHQCTM2mpK9vZ7tvyouEKozhZzySJ54Eec4zL?=
 =?us-ascii?Q?IXHTRE6Jj1elsrZ1aVXbES5hQQkWCcxBt3HWtnJwZ5VJnNkWQzRSOlo8wBsC?=
 =?us-ascii?Q?Pc7h2aN8WD2oZFpPG/F9439tWc0Wme2c9Y9arO87mrIuXRvKGHGQ84ddKPS2?=
 =?us-ascii?Q?vWBV3rDRdh9Hg4JGFzJh6qQOeOIyxOrEi+liU0g9jd/g3PJ/8hXBwjm1dVsQ?=
 =?us-ascii?Q?as4/HkofCPC6h3WcL/jhO81erJOGd8vvRM+rVAqGsaXYTb4sCZJU/4Wq4vvT?=
 =?us-ascii?Q?q+P8WYQzyzI+BLGTP+fViTxgzCLaYDZZRX3onTp7yke4XDTxdgcCbnGKRPyb?=
 =?us-ascii?Q?QRcetn6jtM2zztNgHGSoOBjDmVoQeHbUzkUtE3r8i/PdB/O7TVSd30s2lNmD?=
 =?us-ascii?Q?dTCivevbm/7lgdWkXBIV6eu6BEWG5C/JDz6m6sAj3AjHcN1eyQJGNw8ox8Nm?=
 =?us-ascii?Q?ahURf6bpLcJeVciP0dqsSpBh5101kIejbpF1e/A5v+lUtm8p0TPSuUHvzBYE?=
 =?us-ascii?Q?/HAv0IaP4bnMtK6wGFKR9TCYKKOAwNXLdCCaOMzQZ68n14VCmNot49k/UsV1?=
 =?us-ascii?Q?Y1mrHr5LePHLNjn5+LrZ5mU1w8uhItia8KY3K/Zb8gXc00IfeoFcONQC37wa?=
 =?us-ascii?Q?bysRGsxmEaonY8jbpAtjzhBQoIDvlxaLOqzdPjJx379H5rdG7ntUPZVpTzLm?=
 =?us-ascii?Q?KuVMsS7Z4HEjoO2uuRAwPLNvWBLncgo1eJBifn+F9OdBFEkvNPWQ8/lqpP/N?=
 =?us-ascii?Q?eOrR6Twft5tIYP4i/dowEUX/WsWPnR7swDN3BKJ4ez8pSVr4kcSElDwzJP6E?=
 =?us-ascii?Q?nM2BnA7V5z89Ys0TF7dna09s+5/ErCOLRMAu/Q5o8OazUTpzYnNtiTk0S4tA?=
 =?us-ascii?Q?j9t8j8DRceNOCK0FjQTYSZEVeK4enJmhCbmIpUlLpo65gF6p8JNCHOI//l/5?=
 =?us-ascii?Q?oBZo3853MZvOUsMYctnImD3E3iaAMBI4tAPJAFPUi7g6ZGC8uZ4LlwCMLtnq?=
 =?us-ascii?Q?fioP2KU2qLalz9AWXkk4xcJOo9WJvMCRcLSZ6O2Fb3CE+xJDPaxJTaoWc2IJ?=
 =?us-ascii?Q?vKzyH/aofs2b/B5UfK0jR1mEis2khrjGjhu1/Gbc/j+fnoFrTZ6YkHJPFQFZ?=
 =?us-ascii?Q?IL6Fmzh988l5ziWksyKMkyy2CcpjYskdzgHPpLuXwBJzjFiQsEBkN9saix4z?=
 =?us-ascii?Q?3bv45actUJmhLvwZFmql0bKnVDTVFTN+vYR9i18rVgRQhxEq1J8WY7E8O28M?=
 =?us-ascii?Q?VG3n/6hTP47upLPqLQeJXd/oMySHeqMQnXCE4vOn4NYemp8RZT0H4VrAZmrH?=
 =?us-ascii?Q?Cd9EHpb7ph5oyIzUxLuFX1nRQdEIs5TCZg4rAD37vR/Bv1M5qyXIhevCcowZ?=
 =?us-ascii?Q?Gh2Gv77rtyrExD5hGsoNOp7NxMAw59Bc?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?7uy84ms81+vB2CgE3NJ0xj6iTy0OSY0xVRB66shfADt6SPC7mO3WasUwojQ3?=
 =?us-ascii?Q?jqOe1L9mO69KReh3kH8j6Kl19YfjtJ5AtZxeEE/vxke/QecjglnzuCTUATtN?=
 =?us-ascii?Q?n6k824IrlXy7qlpoGmievQ99f0ig5rYozOpBJDzCcW6kSoC0OIIeqrTntUbC?=
 =?us-ascii?Q?ejQQD7UUk/Zkgm4VVvlrA30qzT337El0CiaShgZil2jkCVKvvMkFfFrr4us3?=
 =?us-ascii?Q?+lfUq5R4CVvn83lGW6FDaJI036Aby6vMWiw6JiBCrz7fbCLBFzvwIdMcX8Ff?=
 =?us-ascii?Q?WN7s2TeBPUQdrXme7FOGuk2nl7PH9k3HI3c8KF4A++giNkvtAreR8TAcUwkX?=
 =?us-ascii?Q?kAKoK5RupW+uper/VmxJ8fEDsuJx2qjB10tl19ZuEBvh2HeCya6QHhII1sx3?=
 =?us-ascii?Q?cguj3AgQJ5Bn4y3zRyyfY/CEBxoO2TxrPsd/6zvTqZLYz9lylI442Y6uFOFQ?=
 =?us-ascii?Q?UanLyZqZ8j25y+gyX3ntaMLtd2Pxl4Xqfdq4HMuVpKEkyumbTVpD1IsOlxH9?=
 =?us-ascii?Q?4aA+1tZnIwHh0F1D6//eNA4axW7I+l3zugdJYXlQ5B8HefSE7otYsvxihIfs?=
 =?us-ascii?Q?Azsd0pTR8VOL/XHyeS9+1xBPAE176f0gHLTnUIVgy/ID9lcObWoIHcTROfJ7?=
 =?us-ascii?Q?4/U5d1mb33PxByltpQgJCecx/KHGupGwS0+HluFUWF83oywjLcWLx4yvOx20?=
 =?us-ascii?Q?hc6f0iOr2nUHapI+x8+ee9TdQsvhZ9H7veGnGDzYIJHf1TFhVx772O++lbEV?=
 =?us-ascii?Q?NU2NN+u8FT3J0QeZBvu99/NvGFPVSczHEW5y6ADPmLVQQBN+HBviLiqQOzbn?=
 =?us-ascii?Q?/7IU+db64ZUEuZX+SYckexS+Dc21FMPHW0V3XsIaOFx1CTVF0q5jNu6WO5qX?=
 =?us-ascii?Q?u3Ee0BljNlECgboLQDbeplcXud1lBJOiODSfHCfcmEqIvtBWqrVCqvt+fGmQ?=
 =?us-ascii?Q?sMxGPohpeIE09QXanr/wZEsKAxWejxKUdBusBrSXzR3rzKDVzXuQsT/VhsYv?=
 =?us-ascii?Q?KZ+nGTkCyoM0ns8W7DQ9UsUFMbdy1GdupTHZnub+xJC84yjeNuEwxXQkMVNg?=
 =?us-ascii?Q?C8dB/CQeaXu4aLnemg3Vpuj8J04MxI3R1B2zKivgLC6ssHVY49ko6bZBnYdN?=
 =?us-ascii?Q?WIbRG7qjMWuYZXHZqvXmwMcAPCSFD7Yz8eQGPVYQq3i1KMVauooTuKGdloyK?=
 =?us-ascii?Q?39c011TEDe9uZwbDYBnYghbp9Rt4rzD4UqFyUft9nFs0MIXp2SUgSx/NVi/V?=
 =?us-ascii?Q?c2dO9LqCLh9UGceWRZVzKbEPakXAwu8pe0/hDeE3ZAsXC/kHC54QKdf7xR/2?=
 =?us-ascii?Q?WtvLYPJwVoUvaIU1LfAJPq+q5Rr1GZ6Jlh1Hpywu2A47MGGguo4pPv+C0uYQ?=
 =?us-ascii?Q?at4AFSxpjIdgoRcVkxH74GCRpDFjDHpH+pUDBCj2Z7LVQnilG5vQdY90ohiT?=
 =?us-ascii?Q?Ir2anw/iYqR0MkmnaQOzEvozFtjx0hXri7OHHiVMf0Zq9ORYsaW2/b08rvov?=
 =?us-ascii?Q?FRyxZ2cwEDLLWomWt2sIQl5Tb23qGcP57ENR?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 8418bc6e-272e-442d-5a7a-08dd6511a370
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Mar 2025 05:07:38.7282
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bcf48bba-4d6f-4dee-a0d2-7df59cc36629
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH1P110MB1396
X-OriginatorOrg: boeing.com
X-TM-AS-GCONF: 00

I'd like to report xen panic when shutting down an ARINC653 domain with the=
 following setup.
Note that this is only observed when CONFIG_DEBUG is enabled.

[Test environment]
Yocto release : 5.05
Xen release : 4.19 (hash =3D 026c9fa29716b0ff0f8b7c687908e71ba29cf239)
Target machine : QEMU ARM64
Number of physical CPUs : 4

[Xen config]
CONFIG_DEBUG =3D y

[CPU pool configuration files]
cpupool_arinc0.cfg
- name=3D "Pool-arinc0"
- sched=3D"arinc653"
- cpus=3D["2"]

[Domain configuration file]
dom1.cfg
- vcpus =3D 1
- pool =3D "Pool-arinc0"

$ xl cpupool-cpu-remove Pool-0 2
$ xl cpupool-create -f cpupool_arinc0.cfg
$ xl create dom1.cfg
$ a653_sched -P Pool-arinc0 dom1:100

** Wait for DOM1 to complete boot.**

$ xl shutdown dom1

[xen log]
root@boeing-linux-ref:~# xl shutdown dom1
Shutting down domain 1
root@boeing-linux-ref:~# (XEN) Assertion '!in_irq() && (local_irq_is_enable=
d() || num_online_cpus() <=3D 1)' failed at common/xmalloc_tlsf.c:714
(XEN) ----[ Xen-4.19.1-pre  arm64  debug=3Dy  Tainted: I      ]----
(XEN) CPU:    2
(XEN) PC:     00000a000022d2b0 xfree+0x130/0x1a4
(XEN) LR:     00000a000022d2a4
(XEN) SP:     00008000fff77b50
(XEN) CPSR:   00000000200002c9 MODE:64-bit EL2h (Hypervisor, handler)
...
(XEN) Xen call trace:
(XEN)    [<00000a000022d2b0>] xfree+0x130/0x1a4 (PC)
(XEN)    [<00000a000022d2a4>] xfree+0x124/0x1a4 (LR)
(XEN)    [<00000a00002321f0>] arinc653.c#a653sched_free_udata+0x50/0xc4
(XEN)    [<00000a0000241bc0>] core.c#sched_move_domain_cleanup+0x5c/0x80
(XEN)    [<00000a0000245328>] sched_move_domain+0x69c/0x70c
(XEN)    [<00000a000022f840>] cpupool.c#cpupool_move_domain_locked+0x38/0x7=
0
(XEN)    [<00000a0000230f20>] cpupool_move_domain+0x34/0x54
(XEN)    [<00000a0000206c40>] domain_kill+0xc0/0x15c
(XEN)    [<00000a000022e0d4>] do_domctl+0x904/0x12ec
(XEN)    [<00000a0000277a1c>] traps.c#do_trap_hypercall+0x1f4/0x288
(XEN)    [<00000a0000279018>] do_trap_guest_sync+0x448/0x63c
(XEN)    [<00000a0000262c80>] entry.o#guest_sync_slowpath+0xa8/0xd8
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 2:
(XEN) Assertion '!in_irq() && (local_irq_is_enabled() || num_online_cpus() =
<=3D 1)' failed at common/xmalloc_tlsf.c:714
(XEN) ****************************************

In commit 19049f8d (sched: fix locking in a653sched_free_vdata()), locking =
was introduced to prevent a race against the list manipulation but leads to=
 assertion failure when the ARINC 653 domain is shutdown.

I think this can be fixed by calling xfree() after spin_unlock_irqrestore()=
 as shown below.

xen/common/sched/arinc653.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index 7bf288264c..1615f1bc46 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -463,10 +463,11 @@ a653sched_free_udata(const struct scheduler *ops, voi=
d *priv)
     if ( !is_idle_unit(av->unit) )
         list_del(&av->list);

-    xfree(av);
     update_schedule_units(ops);

     spin_unlock_irqrestore(&sched_priv->lock, flags);
+
+    xfree(av);
 }

Can I hear your opinion on this?

Regards,
Anderson


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 05:41:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 05:41:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916172.1321309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu3E1-00012k-Tq; Mon, 17 Mar 2025 05:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916172.1321309; Mon, 17 Mar 2025 05: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 1tu3E1-00012d-QF; Mon, 17 Mar 2025 05:41:21 +0000
Received: by outflank-mailman (input) for mailman id 916172;
 Mon, 17 Mar 2025 05: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=sT4H=WE=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1tu3E0-00012X-Jc
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 05:41:20 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20623.outbound.protection.outlook.com
 [2a01:111:f403:2412::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71a63f3e-02f2-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 06:41:17 +0100 (CET)
Received: from SA0PR11CA0017.namprd11.prod.outlook.com (2603:10b6:806:d3::22)
 by SJ1PR12MB6268.namprd12.prod.outlook.com (2603:10b6:a03:455::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 05:41:12 +0000
Received: from SA2PEPF00003AEA.namprd02.prod.outlook.com
 (2603:10b6:806:d3:cafe::29) by SA0PR11CA0017.outlook.office365.com
 (2603:10b6:806:d3::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 05:41:12 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00003AEA.mail.protection.outlook.com (10.167.248.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 17 Mar 2025 05:41:11 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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, 17 Mar
 2025 00:41:09 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71a63f3e-02f2-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Uy/bEdxoprmy8wHIefmrQf80hGcC2asdSXO+HuAk+1bBfwHCXX+P6UR6hyqRA8qEr2BmOlKjKJqYMiJLqaOu+Z8yDclKpNwfliwxxjlkQW/FHyqAc17jKQFkp05rIICg93NgAGFcBEtJGolSqwaofBt6GhF+T/jlrP0306yswgiI56lld2QVPLj1Z3VUPNfKRaX+s49NwY1nptO8ZzoN/YwhgRK5FzM401Ln9X4w5yx1QesiADct/J1g1w4TjpBKLKWDP8hTw+n+TmSkqQTOK8WVchwlsW2dYabk9snCcxVoED6V04HWVjGV23VHSxOC/sEGy5hYMdSj1yu4+huCog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jBepBcTFggXypd9FVSWSsyJvz9VTo53NKGsEo5eF2NM=;
 b=Gu6Leff1NpxfPMm7gMazK6Xd7QXnjo67R0Y06M6hE9bVJ872P/gx0zD9AM71wV/9Y+6dA/hR6AVS8YLqlTjZkvzlIOlCBbcVWgiR4Fhbe6kuatu52h46HLGkIwTFJraj9HYdsbB2XQnCsriVHAhQK6s465/+mMFF0MXHsMcdu6JGbley3KkOO1cXScxhkafVi2EYA1eaxjVFyPOW9YXEhtakXBe5J7Kvg89x9BSHnBH7UAGYanuODgxfMTiDvH2m1Dhw6RCcDf5pHrnmYbzK8MrATHjdMJQElD63f5VHvhZlXsGcFCRTQ78vFTJMhZQ8HQkA3nFJngIVfS1vX0HOLQ==
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=jBepBcTFggXypd9FVSWSsyJvz9VTo53NKGsEo5eF2NM=;
 b=GTiiPSVY0P6CrmsDu1Hn+BCWhu9uo6yCAbQBXi8J8rDZ4RrV34WuPA+eNuQk+j/i77YyEhBRP0cDYvKy7+921DazPzPdwmQPrMY/6YwAhr545IQmjEsWKhk7R6dBRHTGNMc+3ZJTQk+4LPEgnfZWka+5fpYvDaQUzik6iMaDasw=
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=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Community Manager <community.manager@xenproject.org>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Huang Rui <ray.huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>
Subject: [PATCH v2] CHANGELOG.md: Mention PCI passthrough for HVM domUs
Date: Mon, 17 Mar 2025 13:40:33 +0800
Message-ID: <20250317054033.2659644-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: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00003AEA:EE_|SJ1PR12MB6268:EE_
X-MS-Office365-Filtering-Correlation-Id: 7e440444-cae6-4fb1-b44b-08dd65165339
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?jRAP8FWu3hwN/I1flpUhDfa3ZiA4JCbGmctPafBrcCcj7cFRF8q3NsD54uxH?=
 =?us-ascii?Q?BqHsxnZm+axGit62dn1MitZ3lrpXgYR2hpU+xqiZeZmc339ezJBfdAV68yu/?=
 =?us-ascii?Q?dZVC24i1jgiz5f9wWIjxDrrqaDB58S6sf3Ul8AETv1TvwPFVJrlTys6VYmMf?=
 =?us-ascii?Q?NeGcQpuND47nyc4ZR3Mj5akU7NVrnglQJhacv4/RDJ4CJHx/kJS7WyMPK530?=
 =?us-ascii?Q?aErC1XUWkiaUb8v8WMzfYoaChfug+m5ArLiU1R52fFYPfdZpFkicRg7A1HFx?=
 =?us-ascii?Q?F/PREq9ItOG0SZUjGHOeMQvilkQY+XOlACtrAgGkFOz5xbYTU4oXHDCNfIk1?=
 =?us-ascii?Q?nUImnAtukJBlZbJU3snjCeD7TpONoQ2uGY4Kg9gxU2hct3hyRYg2WRwnk+Yl?=
 =?us-ascii?Q?aw9tQCuyUHOgNhQqVNJ1E2E1/U0GifGe4FkjHjICdl9e+pNrdRqUmu7Uyvwv?=
 =?us-ascii?Q?GVrEGhnQr3BZEbq3SwcZOnl3T9No2/Ud+4IBN/c6LSSUW80P1sDoH1UBW9c5?=
 =?us-ascii?Q?J6rDLCUrFLcHiShFy/xu0WPX4WVgqK5X8ilvnHZLjyCo/nZ1BAtlB5J4N+HI?=
 =?us-ascii?Q?NbSoWbu5ljkdbM4FAYTfQ95rjxgn+AFGFpdUt/laNLgTYYSGdVWBbePlNmd7?=
 =?us-ascii?Q?x1mIuogoY8/tAi8s9vQW1d6r3xnkj8mXlPXNZlTXb16P2VMB3VMxk5OSuw4e?=
 =?us-ascii?Q?J2O+MrWZ6GGxa/DMCe50IKGTs6GAxpQ/JlQcrTswFG4n/Q3o1s2JqCEM4ijC?=
 =?us-ascii?Q?RnMqzJ25NZd+xopWfOav1Iq7nPETc1XPOWLOb6OlJp/O6G7ePLz8OTFikkZt?=
 =?us-ascii?Q?jF4eT7Er/v6SD9zQRd9ntPoGWfvYiZoNGueeS5SY4Wz82xSi0f9hf9XpLryq?=
 =?us-ascii?Q?a5XCTj6X3RRIM5XAkQu3lt+sBk3iPt9B2eHvVPd+D6w1coufGw2vpzTyy9rq?=
 =?us-ascii?Q?dOWcgQaLjR033haAOdO79ylBl2+qI27bJrE2swsQtwnBfllf3+Jp/1+7cOSN?=
 =?us-ascii?Q?GOUD1k1klneGkZaBGVbS+At3Ww2z3xDJY+vZuMdtM/ky7GItjAD3vwFr6X9J?=
 =?us-ascii?Q?qa0a7xONoFY51qRLNPj0a1Jlu6tCTwwBV/CTLnV448AJ7Y2O5t3TzJDXupVF?=
 =?us-ascii?Q?bBh+ve+OJqk8IButdwFZRdp6bz04Nn0Cs94hwLM7oaO1qpNw5edNrdhZeooL?=
 =?us-ascii?Q?9B/tWHiY+V6/5HlFUskJY7PhwqVdv+68vs7klPltP+KJ4sfbjQ/awKR+uXkm?=
 =?us-ascii?Q?LiQEkMUmL8XzH1kAgwHcI1cw7ML5UZynAvhS60jyRBbM/cdSp3T2i78E1mp6?=
 =?us-ascii?Q?LasQ9dQ3vCfCJkvnm0cXpAVLXkd1JKP0ZtThbQq5rl6VfMJmDsX13y7uO2EJ?=
 =?us-ascii?Q?zWnFufMauA55iMklOIpnr9o6HpmlebCNI3GFpYr6xbJUkRP33Q3yjZtZD2Cf?=
 =?us-ascii?Q?waIpJHLEeew=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 05:41:11.5829
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7e440444-cae6-4fb1-b44b-08dd65165339
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003AEA.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6268

PCI passthrough is already supported for HVM domUs when dom0 is PVH
on x86. The last related patch on Qemu side was merged after Xen4.20
release. So mention this feature in Xen4.21 entry.

But SR-IOV is not yet supported on PVH dom0, add a note for it.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
iHi all,
v1->v2 changes:
* Changed to note SR-IOV is not supported on PVH dom0.
* Added A-B of Oleksii.
* Dependent patches https://lore.kernel.org/xen-devel/20250308001711.18746-1-jason.andryuk@amd.com/ were already merged.

Best regards,
Jiqian Chen.
---
 CHANGELOG.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7201c484f899..9a5919585d43 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - Option to attempt to fixup p2m page-faults on PVH dom0.
    - Resizable BARs is supported for PVH dom0.
+   - Support PCI passthrough for HVM domUs when dom0 is PVH (note SR-IOV
+     capability usage is not yet supported on PVH dom0).
 
 ### Removed
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 07:19:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 07:19:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916187.1321319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu4kz-0000xS-7S; Mon, 17 Mar 2025 07:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916187.1321319; Mon, 17 Mar 2025 07:19: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 1tu4kz-0000xL-48; Mon, 17 Mar 2025 07:19:29 +0000
Received: by outflank-mailman (input) for mailman id 916187;
 Mon, 17 Mar 2025 07:19: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=EnY3=WE=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tu4ky-0000xF-HO
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 07:19:28 +0000
Received: from fforwardh-b4-smtp.messagingengine.com
 (fforwardh-b4-smtp.messagingengine.com [202.12.124.199])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27cce7e0-0300-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 08:19:26 +0100 (CET)
Received: from phl-compute-06.internal (phl-compute-06.phl.internal
 [10.202.2.46])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 6698E174029F;
 Mon, 17 Mar 2025 03:19:24 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-06.internal (MEProxy); Mon, 17 Mar 2025 03:19:24 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 17 Mar 2025 03:19: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: 27cce7e0-0300-11f0-9899-31a8f345e629
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=fm1; t=
	1742195964; x=1742282364; bh=sPu8+6eEudw5U5gDAhN6T1GTyZngizfhufi
	p1TCOUzs=; b=a2ci3NCdNda5KQ9iqNol4v8JSB82yzvXdbM6bYe1R9AOZnzX/za
	rhWXp5T0JDx19eww78N8/GqWWddK3jD5ZMQVW7EoWeXoiq2DLLRymvxft9pghsA3
	eMomQZyK8Sm9KSkPBkNzAdAwZwneN5B7eN3zifkh+f2YRKOKV/GCr1GTa0jCIL/h
	i2ugKoXjgBg71H8hEcWfmzHlHd3RYk3FDo7whaZGszJtcEqzfMHVvHy+g+dD26Ff
	ygt4f8bvlm1BxkIC4c70Nr2ulVpuiAdoTQy/xUhanA86bxyi76hplkNZASUlZcF5
	YKZrWc/bANHBmNT19yQpQTWLMYh9JmBNtpQ==
X-ME-Sender: <xms:-8zXZyW6yt1YmjLCsLWlFWiME6XBvRAqfYN48lP0v4wS4o7IL1-V_g>
    <xme:-8zXZ-mboIrjrFukEFmGU5IxJ1V-ByuDikprwKU4yMKkfmDMol5Kk0xSZbsPLAxtb
    BHY4nAGJAnKtXfKRbs>
X-ME-Received: <xmr:-8zXZ2YQohJJ6Cf2h3GaqYBVOPnkuTK0jndMjPkUVa_XodFFkvmkjxKboT1POuReBjR9oL6xGMfsYP23bHWh6Or-76lQFT-uvwUTh4ZY2rFaYQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddufeekledtucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgggfestdekredtredttden
    ucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrihhkse
    gvphgrmhdrtghomheqnecuggftrfgrthhtvghrnhepffffvdeifeeijefhheefuedvvedt
    heffjeeiveehgfettedvgedujefgudejgedvnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihhtvgdp
    nhgspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgigvnh
    dquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohep
    shgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtohepjhgsvghulh
    hitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfees
    tghithhrihigrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrihigrd
    gtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:-8zXZ5ULqGBkjZlmgWbbYMSWEUEIdTzRuxfeZOyNqlyczIZEu4oWzg>
    <xmx:-8zXZ8mQlEHLvghzYWCpLITAFj9FAF1csJIzJfq_sM7sOOrdjpeg0g>
    <xmx:-8zXZ-fXiK7uCkMZMUO2ibIsOiJdbizB4XJjjBS9cTEoNJWJojV91A>
    <xmx:-8zXZ-EIzw_2y5BUrN7HetKRsI9qd8ySPufB6sLVgiv_GA7Py0Y9nA>
    <xmx:-8zXZ6m6PRNrKIWRUcsQydINTp8ZbjbZu2PAnvTAxdBcyXlBOpGI-A>
    <xmx:_MzXZ7u4wiOIgtiZm_DLoUcezyxBYLg6u0J_aLSmr6WXdVuUqyMU03aWU8sb>
Feedback-ID: i5dfb0d4a:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1] x86: make Viridian support optional
Date: Mon, 17 Mar 2025 09:19:19 +0200
Message-Id: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add config option HVM_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.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig                  |  5 +++++
 xen/arch/x86/hvm/Makefile             |  2 +-
 xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
 xen/arch/x86/hvm/vlapic.c             | 11 +++++++----
 xen/arch/x86/include/asm/hvm/domain.h |  4 ++--
 xen/arch/x86/include/asm/hvm/hvm.h    |  3 ++-
 xen/arch/x86/include/asm/hvm/vcpu.h   |  3 ++-
 7 files changed, 37 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6e41bc0fb4..34f9b79d98 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -348,6 +348,11 @@ config HYPERV_GUEST
 
 endif
 
+config HVM_VIRIDIAN
+	bool "Viridian enlightenments support" if EXPERT
+	depends on HVM
+	default y
+
 config MEM_PAGING
 	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
 	depends on HVM
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 4c1fa5c6c2..6cc2e74fc4 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_HVM_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 2f31180b6f..4f51d0f66c 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -695,9 +695,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;
+    }
 
     rc = alternative_call(hvm_funcs.domain_initialise, d);
     if ( rc != 0 )
@@ -733,7 +736,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);
 
@@ -1637,9 +1641,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(v->domain) )
+    {
+        rc = viridian_vcpu_init(v);
+        if ( rc )
+            goto fail6;
+    }
 
     rc = ioreq_server_add_vcpu_all(d, v);
     if ( rc != 0 )
@@ -1669,13 +1676,15 @@ int hvm_vcpu_initialise(struct vcpu *v)
  fail2:
     hvm_vcpu_cacheattr_destroy(v);
  fail1:
-    viridian_vcpu_deinit(v);
+    if ( is_viridian_domain(v->domain) )
+        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/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 065b2aab5b..b8236dade0 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -426,7 +426,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * priority vector and then recurse to handle the lower priority
      * vector.
      */
-    bool missed_eoi = viridian_apic_assist_completed(v);
+    bool missed_eoi = has_viridian_apic_assist(v->domain) ?
+                          viridian_apic_assist_completed(v) : false;
     int vector;
 
  again:
@@ -442,7 +443,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);
 
     vlapic_clear_vector(vector, &vlapic->regs->data[APIC_ISR]);
@@ -1360,7 +1361,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);
 
     isr = vlapic_find_highest_isr(vlapic);
@@ -1373,7 +1375,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( isr >= 0 &&
          (irr & 0xf0) <= (isr & 0xf0) )
     {
-        viridian_apic_assist_clear(v);
+        if ( has_viridian_apic_assist(v->domain) )
+            viridian_apic_assist_clear(v);
         return -1;
     }
 
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 333501d5f2..bc52504cdd 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -110,9 +110,9 @@ struct hvm_domain {
 
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
-
+#ifdef CONFIG_HVM_VIRIDIAN
     struct viridian_domain *viridian;
-
+#endif
     /*
      * TSC value that VCPUs use to calculate their tsc_offset value.
      * Used during initialization and save/restore.
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 963e820113..1bbeece117 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -507,7 +507,8 @@ hvm_get_cpl(struct vcpu *v)
     (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
 
 #define is_viridian_domain(d) \
-    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
+    (is_hvm_domain(d) && IS_ENABLED(CONFIG_HVM_VIRIDIAN) && \
+                         (viridian_feature_mask(d) & HVMPV_base_freq))
 
 #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 196fed6d5d..bac35ec47a 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -171,8 +171,9 @@ struct hvm_vcpu {
 
     /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
     struct x86_event     inject_event;
-
+#ifdef CONFIG_HVM_VIRIDIAN
     struct viridian_vcpu *viridian;
+#endif
 };
 
 #endif /* __ASM_X86_HVM_VCPU_H__ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 07:28:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 07:28:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916185.1321329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu4tJ-0003DX-0c; Mon, 17 Mar 2025 07:28:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916185.1321329; Mon, 17 Mar 2025 07:28: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 1tu4tI-0003DQ-Ty; Mon, 17 Mar 2025 07:28:04 +0000
Received: by outflank-mailman (input) for mailman id 916185;
 Mon, 17 Mar 2025 07:17: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=iXYq=WE=zte.com.cn=tang.dongxing@srs-se1.protection.inumbo.net>)
 id 1tu4ix-0000v9-35
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 07:17:23 +0000
Received: from mxct.zte.com.cn (mxct.zte.com.cn [183.62.165.209])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db85edb3-02ff-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 08:17:19 +0100 (CET)
Received: from mse-fl1.zte.com.cn (unknown [10.5.228.132])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mxct.zte.com.cn (FangMail) with ESMTPS id 4ZGR9z4DFLz501gV;
 Mon, 17 Mar 2025 15:17:11 +0800 (CST)
Received: from xaxapp05.zte.com.cn ([10.99.98.109])
 by mse-fl1.zte.com.cn with SMTP id 52H7GjbN079096;
 Mon, 17 Mar 2025 15:16:45 +0800 (+08)
 (envelope-from tang.dongxing@zte.com.cn)
Received: from mapi (xaxapp01[null]) by mapi (Zmail) with MAPI id mid32;
 Mon, 17 Mar 2025 15:16:48 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db85edb3-02ff-11f0-9aba-95dc52dad729
Date: Mon, 17 Mar 2025 15:16:48 +0800 (CST)
X-Zmail-TransId: 2af967d7cc60616-56a25
X-Mailer: Zmail v1.0
Message-ID: <20250317151648132Sj7qhbVfKcPYvqCievFUf@zte.com.cn>
Mime-Version: 1.0
From: <tang.dongxing@zte.com.cn>
To: <jgross@suse.com>
Cc: <sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
        <jiqian.chen@amd.com>, <ray.huang@amd.com>,
        <jeff.johnson@oss.qualcomm.com>, <minhuadotchen@gmail.com>,
        <tang.dongxing@zte.com.cn>, <xen-devel@lists.xenproject.org>,
        <linux-kernel@vger.kernel.org>, <ye.xingchen@zte.com.cn>,
        <yang.guang5@zte.com.cn>, <yang.yang29@zte.com.cn>,
        <xu.xin16@zte.com.cn>
Subject: =?UTF-8?B?W1BBVENIXSB4ZW4vcGNpYmFjazogdXNlIHN5c2ZzX2VtaXRfYXQoKSBpbnN0ZWFkIG9mIHNjbnByaW50Zigp?=
Content-Type: text/plain;
	charset="UTF-8"
X-MAIL:mse-fl1.zte.com.cn 52H7GjbN079096
X-Fangmail-Anti-Spam-Filtered: true
X-Fangmail-MID-QID: 67D7CC77.001/4ZGR9z4DFLz501gV

From: TangDongxing <tang.dongxing@zte.com.cn>

Follow the advice in Documentation/filesystems/sysfs.rst:
show() should only use sysfs_emit() or sysfs_emit_at() when formatting
the value to be returned to user space.

Signed-off-by: TangDongxing <tang.dongxing@zte.com.cn>
---
 drivers/xen/xen-pciback/pci_stub.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index b616b7768c3b..a0782a74ed34 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -1281,7 +1281,7 @@ static ssize_t slots_show(struct device_driver *drv, char *buf)
 		if (count >= PAGE_SIZE)
 			break;

-		count += scnprintf(buf + count, PAGE_SIZE - count,
+		count += sysfs_emit_at(buf, count,
 				   "%04x:%02x:%02x.%d\n",
 				   pci_dev_id->domain, pci_dev_id->bus,
 				   PCI_SLOT(pci_dev_id->devfn),
-- 
2.25.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 07:56:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 07:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916211.1321339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu5KX-0000eZ-2D; Mon, 17 Mar 2025 07:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916211.1321339; Mon, 17 Mar 2025 07:56: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 1tu5KW-0000eS-Vm; Mon, 17 Mar 2025 07:56:12 +0000
Received: by outflank-mailman (input) for mailman id 916211;
 Mon, 17 Mar 2025 07:56: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu5KW-0000e1-6Q
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 07:56:12 +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 4a2b7d2d-0305-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 08:56:10 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43948021a45so18852265e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 00:56: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-43d1ffb629dsm97638435e9.3.2025.03.17.00.56.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 00:56: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: 4a2b7d2d-0305-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742198170; x=1742802970; 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=Hw06q73juRh5NWGHmPTU/HK49xkgtaSCXS5Al4KvMNk=;
        b=PlCt3RT37AjZOPnvK/TwvpEOZTCD1HyK0P67W2VAqZm7LVe7D3i6Lj6HN5oJfWyNWS
         L+3ITyZhyN19BdelQUtlHNR3tKoXUh5mtLs1Qv/ZTHWXRop1Gssbg3hyY2NEFiPAmKyF
         6/ChB0f5FgiX3Jo4NITErmHn7lGJpVkHnGBvMYrN/IvJ0fdUa94WL6MFUluLEwwxoS7V
         +njp9IMh7wKVl50Mgq+1hvDCDTikI/R5MmOeCpqRzoUYo8h0SnkUydmkZidzVKafuH0r
         rUNnv39+Ju2gCcXmiPqMswhhDXBxkRKH0Y7+ubvRmQNafFHNCi586JO2SwV8DEL1b0iK
         xJKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742198170; x=1742802970;
        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=Hw06q73juRh5NWGHmPTU/HK49xkgtaSCXS5Al4KvMNk=;
        b=JdIRsuzdP3NWZYOWacH/8kcXjccY1xOiKldFt4nKJOiR8Rt6H/xpWYYtgbsG636Qof
         VzX4OzXLgddh736puTj/cDH97/UUb0qu44MSbbI/Y9PTEMu5bNcA0TmzrS8CkHMU6FtE
         Ji4NcUgn/Eb+l5tzNzm5Hh1iUiOLKjhyKmtQ8A3oPBYXoS+ki/03GndZ4Kg8ENSRgJHA
         7wV04XGC9W8usZbwVlir/88YeL82AWCsvQEpNvYhjesk53KS7PNsK+0dQDAF3swmu2GG
         JxzGE6qH831YDj+l4p6R0WP4vb8J+girb95pwlDSre7Xs+sc0eMnA8ioSm0FwwTQBu+d
         gQjQ==
X-Gm-Message-State: AOJu0YywD+Hf8JxDjoBibsQebtS67lX5wiEQ5jwyQhTWXZjqM5CnpLwy
	Vqc9A0bFzhEHapxUt+tTA0xhGbjCtYPx9kp8nGLK/h33ls42VDYBVsMwrOr0zg==
X-Gm-Gg: ASbGncs5INmhFVadhuc1EYwuweOJwJc1E/eqIz8h0E5llaQzZrlW4qgnKQF+gkn9pId
	flncVqKv6R2TWf0l0HFtfR8Q9Nc17eqHtX4fO+Ay89aPN7nefPCk7f7NgCz450ReNeAdEXcqzAm
	A5+QfcEFynG3Ah/6TOffWwS8wLAuvCOvOA6w68VHsjXAAmYDyRcHV3M9SmDQHhmwMlYuo2/+0tP
	De+3rvtTI9QmdTAh9aRz31nqw2fGybUGF81ndjNvvhWIVcOakT1kf9TqixFz+ax9PvcQocX0lw6
	l+/PIz4y48Ku7420V5GP44j60fg8k0MAB/NKyrlV7Bm3Znl5vbyaG83pCtj7qoM3GasMIUcAKuc
	+NMnlKGHxFsWX/7PyB8EPb1slp9vfmaqxEerwxryq
X-Google-Smtp-Source: AGHT+IFMBn7lhnbc/6czO2QnHyyDJCpIx3gddWpOhkeENnYSeEhRPbBGXs2s9Kex1q8Y5pT80OQ1iQ==
X-Received: by 2002:adf:a31b:0:b0:390:eb50:37c3 with SMTP id ffacd0b85a97d-3971e0bfa2emr10160215f8f.27.1742198169790;
        Mon, 17 Mar 2025 00:56:09 -0700 (PDT)
Message-ID: <555dcea6-1359-43c3-93fd-338744099387@suse.com>
Date: Mon, 17 Mar 2025 08:56:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Fix zap_low_mappings() to map less of the
 trampoline
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250106112652.579310-1-andrew.cooper3@citrix.com>
 <2f12f38e-9629-40fd-b532-6b6f82ecfe1f@suse.com>
 <4bff530c-9f96-4b59-b6cb-86349c576690@citrix.com>
 <0565db90-5734-4795-8988-efd3e72cc770@suse.com>
 <Z9FaeksA0d9Ms15m@macbook.local>
 <82348f8b-7e5e-43ab-8eab-975d84cdda46@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: <82348f8b-7e5e-43ab-8eab-975d84cdda46@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.03.2025 20:00, Andrew Cooper wrote:
> On 12/03/2025 9:57 am, Roger Pau MonnĂŠ wrote:
>> On Wed, Mar 12, 2025 at 09:31:37AM +0100, Jan Beulich wrote:
>>> On 11.03.2025 21:47, Andrew Cooper wrote:
>>>> On 06/01/2025 11:54 am, Jan Beulich wrote:
>>>>> On 06.01.2025 12:26, Andrew Cooper wrote:
>>>>>> Regular data access into the trampoline is via the directmap.
>>>>>>
>>>>>> As now discussed quite extensively in asm/trampoline.h, the trampoline is
>>>>>> arranged so that only the AP and S3 paths need an identity mapping, and that
>>>>>> they fit within a single page.
>>>>>>
>>>>>> Right now, PFN_UP(trampoline_end - trampoline_start) is 2, causing more than
>>>>>> expected of the trampoline to be mapped.  Cut it down just the single page it
>>>>>> ought to be.
>>>>>>
>>>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>> Thanks.Â  However,
>>>>
>>>>> on the basis that this improves things. However, ...
>>>>>
>>>>>> --- a/xen/arch/x86/x86_64/mm.c
>>>>>> +++ b/xen/arch/x86/x86_64/mm.c
>>>>>> @@ -718,14 +718,16 @@ void __init zap_low_mappings(void)
>>>>>>  {
>>>>>>      BUG_ON(num_online_cpus() != 1);
>>>>>>  
>>>>>> -    /* Remove aliased mapping of first 1:1 PML4 entry. */
>>>>>> +    /* Stop using l?_bootmap[] mappings. */
>>>>>>      l4e_write(&idle_pg_table[0], l4e_empty());
>>>>>>      flush_local(FLUSH_TLB_GLOBAL);
>>>>>>  
>>>>>> -    /* Replace with mapping of the boot trampoline only. */
>>>>>> +    /*
>>>>>> +     * Insert an identity mapping of the AP/S3 part of the trampoline, which
>>>>>> +     * is arranged to fit in a single page.
>>>>>> +     */
>>>>>>      map_pages_to_xen(trampoline_phys, maddr_to_mfn(trampoline_phys),
>>>>>> -                     PFN_UP(trampoline_end - trampoline_start),
>>>>>> -                     __PAGE_HYPERVISOR_RX);
>>>>>> +                     1, __PAGE_HYPERVISOR_RX);
>>>>> ... literal numbers like this - however well they are commented - are
>>>>> potentially problematic to locate in case something changes significantly.
>>>>> The 1 here really would want connecting with the .equ establishing
>>>>> wakeup_stack.
>>>> how do you propose doing this?
>>>>
>>>> PFN_UP(wakeup_stack - trampoline_start) doesn't have the same obvious
>>>> connection, and it would involve partly undoing 7d73c6f196a5 which hid
>>>> the symbol recently.
>>>>
>>>> While 1 isn't ideal, it is next to a comment explaining what's going on,
>>>> and it's not going to go stale in a silent way...Â  (It's also not liable
>>>> to go stale either.)
>>> If in
>>>
>>>         .equ    wakeup_stack, trampoline_start + PAGE_SIZE
>>>
>>> PAGE_SIZE was replaced by a new (in asm/trampoline.h) TRAMPOLINE_PERM_SIZE,
>>> you could use PFN_UP(TRAMPOLINE_PERM_SIZE) here to establish a connection.
>>>
>>> I have to admit I also don't really see why things going stale here would
>>> (a) be unlikely and (b) be guaranteed to not go silently.
> 
> The size can't go to 0 or everything will break, and if it goes larger
> than 1 (which it almost certainly never will), then APs and/or S3 will
> break, and we've got both of these in CI.
> 
> Furthermore, the actual thing which matters is:
> 
>> /* Map the permanent trampoline page into l1_bootmap[]. */
>> movÂ Â Â Â  sym_esi(trampoline_phys), %ecx
>> leaÂ Â Â Â  __PAGE_HYPERVISOR_RX(%ecx), %edx /* %edx = PTE to writeÂ  */
>> shrÂ Â Â Â  $PAGE_SHIFT, %ecxÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* %ecx = Slot to write */
>> movÂ Â Â Â  %edx, sym_offs(l1_bootmap)(%esi, %ecx, 8)
> 
> which hardcodes 1 page, because there's almost certainly no chance this
> will ever change.
> 
>>>  We just don't
>>> know what we may need to add to the trampoline, sooner or later.
>> Maybe we could introduce trampoline_{ap?,runtime?}_{start,end} that
>> covers this more narrow section of the trampoline code?
> 
> We already have one of those, and a linker assertion that it stays below
> 1k, so wakeup_stack is at least 3k.
> 
> The complexity is that the wakeup_stack overlays some init-only logic in
> the placed trampoline.Â  It's not something that exists concretely in the
> Xen image.

Well - you've got an ack; while I'd prefer if connections were properly
made, I agree it's unlikely the size will grow enough for it to matter. So
I think you should feel free to put this in as is.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 07:58:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 07:58:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916224.1321349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu5MR-0001GU-HY; Mon, 17 Mar 2025 07:58:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916224.1321349; Mon, 17 Mar 2025 07: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 1tu5MR-0001GN-Ev; Mon, 17 Mar 2025 07:58:11 +0000
Received: by outflank-mailman (input) for mailman id 916224;
 Mon, 17 Mar 2025 07:58: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=YRw2=WE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tu5MQ-0001GF-1v
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 07:58:10 +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 90dffd16-0305-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 08:58:09 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e5e34f4e89so7274639a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 00:58:09 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a3e0a1sm628823666b.140.2025.03.17.00.58.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 00:58: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: 90dffd16-0305-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742198288; x=1742803088; 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=jMjRARSCG8UyU2zAgd2aCIxivx4uG7AOe36kiChgXfw=;
        b=cJ/2KfmGHWD/dB8xInETcmJNJ2dIihq74bjf7TNFtZTDQplAgbCiTS6Yfd4wl0Goco
         v6nOXpmFJQk915Eb+G2HwBSQFAf/vxYFIVcuwwuq3EefKQGD8GXFsdENMuWdnexHnNoG
         31YFupT6nreQo5RIqtEpZzG5FU4naydJ4XNUfKI9weiN378LGE/Pg7q9mS6wcGmDjJDR
         gvDqB1O1ADAsAMpdCCfnplXwOTt5ZmRKN/TXTW0zO6VIAD9m75KeBwel+Qt5za62xSQT
         3Xz6CKPV9FaeM6dvIbOIEhaaupt3xxL9iCrd5aUss+rbUYqeL06yc7JWdBqUP7KalVyi
         Hhog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742198288; x=1742803088;
        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=jMjRARSCG8UyU2zAgd2aCIxivx4uG7AOe36kiChgXfw=;
        b=UBdE6KTXzvQzquRSlcukYaoUqthKm9rqW/sBqj2e9diHsgdYiYBB2/zPBOQnpvWr1k
         Xr54wj6r4K3493/1xgoUF6ZkwVVbAyZN+VGbUL2KbqKwWV+xMw7rFNf6ogpwWxRArmu2
         w/+Oc9JgHmrwpkY/DnphqJ9CAEDSMidGIuVd3U6G93TmYWkzyLXgpaTKXlAHtUoXENI6
         ZZ3biyq+b000Bqea75RRaxl46hEhMM/g7l+gHaWtj1ZYI/TqY1HQTvKyf5tRy397ByzR
         DEzNvNo+CV/yv78vtdYPBSENlfzr6kWol6vEaBCZXSfmSeLoCMVq24WbeSslSa+EjY60
         v+Ig==
X-Forwarded-Encrypted: i=1; AJvYcCUSxOsijE45QvfIWgkjad/hA85PdNS/bFdZzjopzisYqLdsE7+LlmDclCFGiuLClisare9GOuaySus=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEVrTMCBDCCHS13Bq1pSe82F0vBd+o6U/gMyTAmd2aLOUctpJ4
	Ti5R5zhjtZ5utIYZaofO3OHjQWoCLDr4pS8SmWz1zvouqabrfcaL56fLrmmyVEc=
X-Gm-Gg: ASbGnctsSiWP3c6T2TwcC+wFuP06S/SjyyjWVE26ThSgPv80X+Yyie90XA3dLcy3KWz
	FEQOzJXPUerWIAsdviZg3A8td7J8xSXlvlVgEGlec7IBIoR7Wz0tQ2pjTAN/95iwGNbCi/P7w0W
	Y6RCt1i/IISXL6bGcEtOcOW8tLB2w6mNB6MU3XJ/lta9WSVTD+DAJsRaA8aSuAHledrIVgN8hk6
	JC2Oj5Fj9Pw/b+V0wwwyCaJV5z1/9w8/Dip/6GrZWXErjbeWUXCkRYP9Q8CepO2U+jz7Ih438oK
	q5PJeQErHPzkk2LPaSGFosqC48pD9G1XCNzB6mHnz9Q4ZZwxb5aSzCa39Fl4p8q9OrVG4KfnCSb
	8lBfopOnsYPn8odLThnZjgmk/zlFtn8soUsgePvlszsk7iZCThL36ikitLrtiGDM4TlT7Zw==
X-Google-Smtp-Source: AGHT+IEI0+LJPnnOr2HYRlquEUi8p4idSmbxMHpOQ5tuuNr+LtTMx8L78pkQ4Bmg3xhrZW0GzPn//g==
X-Received: by 2002:a17:907:7296:b0:abf:749f:f719 with SMTP id a640c23a62f3a-ac33012838dmr1329069766b.7.1742198288357;
        Mon, 17 Mar 2025 00:58:08 -0700 (PDT)
Message-ID: <fd4fe44c-6c8d-402c-8b0f-466cf596f8af@suse.com>
Date: Mon, 17 Mar 2025 08:58:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Xen panic when shutting down ARINC653 cpupool
To: "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
References: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.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: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------El9mNQEGA2z1kYpmj0HMNg2q"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------El9mNQEGA2z1kYpmj0HMNg2q
Content-Type: multipart/mixed; boundary="------------L6oPTpIYNQNPNidB2TH6N2x8";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
Message-ID: <fd4fe44c-6c8d-402c-8b0f-466cf596f8af@suse.com>
Subject: Re: Xen panic when shutting down ARINC653 cpupool
References: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>

--------------L6oPTpIYNQNPNidB2TH6N2x8
Content-Type: multipart/mixed; boundary="------------0L4d40CXcKjgw5m7kA5xHBSv"

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

T24gMTcuMDMuMjUgMDY6MDcsIENob2ksIEFuZGVyc29uIHdyb3RlOg0KPiBJJ2QgbGlrZSB0
byByZXBvcnQgeGVuIHBhbmljIHdoZW4gc2h1dHRpbmcgZG93biBhbiBBUklOQzY1MyBkb21h
aW4gd2l0aCB0aGUgZm9sbG93aW5nIHNldHVwLg0KPiBOb3RlIHRoYXQgdGhpcyBpcyBvbmx5
IG9ic2VydmVkIHdoZW4gQ09ORklHX0RFQlVHIGlzIGVuYWJsZWQuDQo+IA0KPiBbVGVzdCBl
bnZpcm9ubWVudF0NCj4gWW9jdG8gcmVsZWFzZSA6IDUuMDUNCj4gWGVuIHJlbGVhc2UgOiA0
LjE5IChoYXNoID0gMDI2YzlmYTI5NzE2YjBmZjBmOGI3YzY4NzkwOGU3MWJhMjljZjIzOSkN
Cj4gVGFyZ2V0IG1hY2hpbmUgOiBRRU1VIEFSTTY0DQo+IE51bWJlciBvZiBwaHlzaWNhbCBD
UFVzIDogNA0KPiANCj4gW1hlbiBjb25maWddDQo+IENPTkZJR19ERUJVRyA9IHkNCj4gDQo+
IFtDUFUgcG9vbCBjb25maWd1cmF0aW9uIGZpbGVzXQ0KPiBjcHVwb29sX2FyaW5jMC5jZmcN
Cj4gLSBuYW1lPSAiUG9vbC1hcmluYzAiDQo+IC0gc2NoZWQ9ImFyaW5jNjUzIg0KPiAtIGNw
dXM9WyIyIl0NCj4gDQo+IFtEb21haW4gY29uZmlndXJhdGlvbiBmaWxlXQ0KPiBkb20xLmNm
Zw0KPiAtIHZjcHVzID0gMQ0KPiAtIHBvb2wgPSAiUG9vbC1hcmluYzAiDQo+IA0KPiAkIHhs
IGNwdXBvb2wtY3B1LXJlbW92ZSBQb29sLTAgMg0KPiAkIHhsIGNwdXBvb2wtY3JlYXRlIC1m
IGNwdXBvb2xfYXJpbmMwLmNmZw0KPiAkIHhsIGNyZWF0ZSBkb20xLmNmZw0KPiAkIGE2NTNf
c2NoZWQgLVAgUG9vbC1hcmluYzAgZG9tMToxMDANCj4gDQo+ICoqIFdhaXQgZm9yIERPTTEg
dG8gY29tcGxldGUgYm9vdC4qKg0KPiANCj4gJCB4bCBzaHV0ZG93biBkb20xDQo+IA0KPiBb
eGVuIGxvZ10NCj4gcm9vdEBib2VpbmctbGludXgtcmVmOn4jIHhsIHNodXRkb3duIGRvbTEN
Cj4gU2h1dHRpbmcgZG93biBkb21haW4gMQ0KPiByb290QGJvZWluZy1saW51eC1yZWY6fiMg
KFhFTikgQXNzZXJ0aW9uICchaW5faXJxKCkgJiYgKGxvY2FsX2lycV9pc19lbmFibGVkKCkg
fHwgbnVtX29ubGluZV9jcHVzKCkgPD0gMSknIGZhaWxlZCBhdCBjb21tb24veG1hbGxvY190
bHNmLmM6NzE0DQo+IChYRU4pIC0tLS1bIFhlbi00LjE5LjEtcHJlICBhcm02NCAgZGVidWc9
eSAgVGFpbnRlZDogSSAgICAgIF0tLS0tDQo+IChYRU4pIENQVTogICAgMg0KPiAoWEVOKSBQ
QzogICAgIDAwMDAwYTAwMDAyMmQyYjAgeGZyZWUrMHgxMzAvMHgxYTQNCj4gKFhFTikgTFI6
ICAgICAwMDAwMGEwMDAwMjJkMmE0DQo+IChYRU4pIFNQOiAgICAgMDAwMDgwMDBmZmY3N2I1
MA0KPiAoWEVOKSBDUFNSOiAgIDAwMDAwMDAwMjAwMDAyYzkgTU9ERTo2NC1iaXQgRUwyaCAo
SHlwZXJ2aXNvciwgaGFuZGxlcikNCj4gLi4uDQo+IChYRU4pIFhlbiBjYWxsIHRyYWNlOg0K
PiAoWEVOKSAgICBbPDAwMDAwYTAwMDAyMmQyYjA+XSB4ZnJlZSsweDEzMC8weDFhNCAoUEMp
DQo+IChYRU4pICAgIFs8MDAwMDBhMDAwMDIyZDJhND5dIHhmcmVlKzB4MTI0LzB4MWE0IChM
UikNCj4gKFhFTikgICAgWzwwMDAwMGEwMDAwMjMyMWYwPl0gYXJpbmM2NTMuYyNhNjUzc2No
ZWRfZnJlZV91ZGF0YSsweDUwLzB4YzQNCj4gKFhFTikgICAgWzwwMDAwMGEwMDAwMjQxYmMw
Pl0gY29yZS5jI3NjaGVkX21vdmVfZG9tYWluX2NsZWFudXArMHg1Yy8weDgwDQo+IChYRU4p
ICAgIFs8MDAwMDBhMDAwMDI0NTMyOD5dIHNjaGVkX21vdmVfZG9tYWluKzB4NjljLzB4NzBj
DQo+IChYRU4pICAgIFs8MDAwMDBhMDAwMDIyZjg0MD5dIGNwdXBvb2wuYyNjcHVwb29sX21v
dmVfZG9tYWluX2xvY2tlZCsweDM4LzB4NzANCj4gKFhFTikgICAgWzwwMDAwMGEwMDAwMjMw
ZjIwPl0gY3B1cG9vbF9tb3ZlX2RvbWFpbisweDM0LzB4NTQNCj4gKFhFTikgICAgWzwwMDAw
MGEwMDAwMjA2YzQwPl0gZG9tYWluX2tpbGwrMHhjMC8weDE1Yw0KPiAoWEVOKSAgICBbPDAw
MDAwYTAwMDAyMmUwZDQ+XSBkb19kb21jdGwrMHg5MDQvMHgxMmVjDQo+IChYRU4pICAgIFs8
MDAwMDBhMDAwMDI3N2ExYz5dIHRyYXBzLmMjZG9fdHJhcF9oeXBlcmNhbGwrMHgxZjQvMHgy
ODgNCj4gKFhFTikgICAgWzwwMDAwMGEwMDAwMjc5MDE4Pl0gZG9fdHJhcF9ndWVzdF9zeW5j
KzB4NDQ4LzB4NjNjDQo+IChYRU4pICAgIFs8MDAwMDBhMDAwMDI2MmM4MD5dIGVudHJ5Lm8j
Z3Vlc3Rfc3luY19zbG93cGF0aCsweGE4LzB4ZDgNCj4gKFhFTikNCj4gKFhFTikNCj4gKFhF
TikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAoWEVOKSBQ
YW5pYyBvbiBDUFUgMjoNCj4gKFhFTikgQXNzZXJ0aW9uICchaW5faXJxKCkgJiYgKGxvY2Fs
X2lycV9pc19lbmFibGVkKCkgfHwgbnVtX29ubGluZV9jcHVzKCkgPD0gMSknIGZhaWxlZCBh
dCBjb21tb24veG1hbGxvY190bHNmLmM6NzE0DQo+IChYRU4pICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioNCj4gDQo+IEluIGNvbW1pdCAxOTA0OWY4ZCAoc2No
ZWQ6IGZpeCBsb2NraW5nIGluIGE2NTNzY2hlZF9mcmVlX3ZkYXRhKCkpLCBsb2NraW5nIHdh
cyBpbnRyb2R1Y2VkIHRvIHByZXZlbnQgYSByYWNlIGFnYWluc3QgdGhlIGxpc3QgbWFuaXB1
bGF0aW9uIGJ1dCBsZWFkcyB0byBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIHRoZSBBUklOQyA2
NTMgZG9tYWluIGlzIHNodXRkb3duLg0KPiANCj4gSSB0aGluayB0aGlzIGNhbiBiZSBmaXhl
ZCBieSBjYWxsaW5nIHhmcmVlKCkgYWZ0ZXIgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgpIGFz
IHNob3duIGJlbG93Lg0KPiANCj4geGVuL2NvbW1vbi9zY2hlZC9hcmluYzY1My5jIHwgMyAr
Ky0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p
DQo+IA0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZC9hcmluYzY1My5jIGIveGVu
L2NvbW1vbi9zY2hlZC9hcmluYzY1My5jDQo+IGluZGV4IDdiZjI4ODI2NGMuLjE2MTVmMWJj
NDYgMTAwNjQ0DQo+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvYXJpbmM2NTMuYw0KPiArKysg
Yi94ZW4vY29tbW9uL3NjaGVkL2FyaW5jNjUzLmMNCj4gQEAgLTQ2MywxMCArNDYzLDExIEBA
IGE2NTNzY2hlZF9mcmVlX3VkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgdm9p
ZCAqcHJpdikNCj4gICAgICAgaWYgKCAhaXNfaWRsZV91bml0KGF2LT51bml0KSApDQo+ICAg
ICAgICAgICBsaXN0X2RlbCgmYXYtPmxpc3QpOw0KPiANCj4gLSAgICB4ZnJlZShhdik7DQo+
ICAgICAgIHVwZGF0ZV9zY2hlZHVsZV91bml0cyhvcHMpOw0KPiANCj4gICAgICAgc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWRfcHJpdi0+bG9jaywgZmxhZ3MpOw0KPiArDQo+ICsg
ICAgeGZyZWUoYXYpOw0KPiAgIH0NCj4gDQo+IENhbiBJIGhlYXIgeW91ciBvcGluaW9uIG9u
IHRoaXM/DQoNClllcywgdGhpcyBzZWVtcyB0aGUgcmlnaHQgd2F5IHRvIGZpeCB0aGUgaXNz
dWUuDQoNCkNvdWxkIHlvdSBwbGVhc2Ugc2VuZCBhIHByb3BlciBwYXRjaCAocGxlYXNlIGhh
dmUgYSBsb29rIGF0IFsxXSBpbiBjYXNlDQp5b3UgYXJlIHVuc3VyZSBob3cgYSBwcm9wZXIg
cGF0Y2ggc2hvdWxkIGxvb2sgbGlrZSk/DQoNCg0KSnVlcmdlbg0KDQpbMV0gDQpodHRwOi8v
eGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/cD14ZW4uZ2l0O2E9YmxvYjtmPWRvY3MvcHJvY2Vz
cy9zZW5kaW5nLXBhdGNoZXMucGFuZG9jDQo=
--------------0L4d40CXcKjgw5m7kA5xHBSv
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-----

--------------0L4d40CXcKjgw5m7kA5xHBSv--

--------------L6oPTpIYNQNPNidB2TH6N2x8--

--------------El9mNQEGA2z1kYpmj0HMNg2q
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/Ey8FAmfX1g8FAwAAAAAACgkQsN6d1ii/Ey+R
lAgAlC13chVxF0+XN8fULHoJwrKBtLnzsK5d60IoPH//RORb/Lq5kI/RMR5i8oduUlSQ+oEjzkZE
pI8jO+ZNwiFhc/I0gvWh80ivdlGQkE7y/XjRfHgQzGDaPeVh9J2sQDHTPNv28SpvgHYBBtIu5onI
HizazNRkcMp8C+GcuzCrwRR0QD5JPK3cRbi0F6E2JNWmgwRfn2pvLocSU3HjqFPoMTp6EGq+Wwl2
Cft1wqWYxAC+0peiscAHJqubNddzKIe7RvOiS6QbWaCI1ZPACudKX84B+bI4tx/a+yx88qGGW4G5
qJEe/LQp8CaRrc2XKBb5Y4mwZ89955LWMW6spNa6qw==
=e8ZH
-----END PGP SIGNATURE-----

--------------El9mNQEGA2z1kYpmj0HMNg2q--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 08:24:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 08:24:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916240.1321359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu5ly-0007ze-Jj; Mon, 17 Mar 2025 08:24:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916240.1321359; Mon, 17 Mar 2025 08:24: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 1tu5ly-0007zX-Gn; Mon, 17 Mar 2025 08:24:34 +0000
Received: by outflank-mailman (input) for mailman id 916240;
 Mon, 17 Mar 2025 08:24: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu5lw-0007zQ-PM
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 08:24:32 +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 3f5aff8c-0309-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 09:24:30 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso11405415e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 01: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
 5b1f17b1804b1-43d1fe65977sm99059805e9.36.2025.03.17.01.24.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 01: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: 3f5aff8c-0309-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742199869; x=1742804669; 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=xDV/fdfwlkv4EkU+vF6m/qh7088KsqU6vAAVNCNEpEk=;
        b=CRAjQYLloWlSfkrI4do79crnVxw4ltOTRgY5bP37ktOP5yMfOlwxGOuPTMo5oc9BH0
         ZCo4xulMBgpdMkkbEUBSi4icCDku+amURozRCTPEqz7YCgGXH7lxBpH9BsGH8ehTUev2
         EyCjBULAZlQhBUcSBDOomJslBbAdlb/Hcebi1O8M7bv/kmSmtq5syuM9N9e95x+hqjFh
         kyJre1VYLEq83EIcZjeZ2Z6IihEHf+9BXadmbdefoc7MVp9F5kQSGtzGETl3Xs5+xYYB
         7DBB5AiJIEcsG9OjAW8uwa8QmjJFeN5yLYFWm42Fu5HHaAYFsGHI+97tZsic7viKmYDR
         pBRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742199869; x=1742804669;
        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=xDV/fdfwlkv4EkU+vF6m/qh7088KsqU6vAAVNCNEpEk=;
        b=LZ2Fr0WDnUnbvVpmP8MviX0wiKxZgwL5NCgbAMK/Stwi7oogHzZAPYU8IJNokG7E87
         Pv5OHKJiJrqsY4W9up7xRLRYnejrQuq+daxWv6myWB8sPtGJ3Mn19kbExAL0kSgBLrq1
         ZxsyLm7IDM/I/qeQX4gcIYWThcm8Z/cF3xETYFhP+247a0A4XWUj+h+T68qrq1miJDsr
         HlNxiv4GyCY9Vv/BDKfHWH9iotQegXpg9fcZJ53PljL2Dv0nTVwd6eJEsm0Uy1hag6yL
         blwCe5OnGvKqiRt4Ng+MuNlmLKeKUA/j7+Vk9yNBiYfuRR5Dtj+VsKOqrrSgs3E9jch+
         qCwQ==
X-Forwarded-Encrypted: i=1; AJvYcCWCalDLdFn3fQfGcDssy8chbRXP6NaJuwtnb7yoOzkuwxVuG6xzI8zyMoNp9T8EOcmZ7doRE0s1HeM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9GvKjzXXGgfb8WLpWgAYJ9ot2SMiCiGhHux8cJn5lDUf+vSEE
	/1LCVe8NjTCZGCDEmAnz7sgspufvzWNbHoyC860xLxVGhGsgt54IWJevbZlhbQ==
X-Gm-Gg: ASbGncvYWINw4qPZ/RjQUD9MjlzuQJHT/cVbYKtASvlrF/lmlowh6q/bcWi6DnEXTMe
	9ufzLjkL9NHnRkmjq9MF4FpM28AB35bokXRraDT3XWdzltD7LREhIEsLSs8kVEInBrDEyJK5Q4+
	DSfyYUVPh+h0ZVLavSTRPr3/U+l2raM51SuW02g8SNMaxuhVg5nvqRmttLbF11PxKPF+NIhqZpR
	TqFo7YLIiLEiSnifucDFCLKY57hH5cHrlKvGLmB8Sv95rh+i8JaUYUKWjxo60uGwSLpWZumKimP
	waPo4L8dG5pwi4O+ZK3e4sCrDwN1IxLkVma55se/GTYYKCt7YmKJG34hwtEEgTSdz22Rqkakk9l
	Tav9jbPM4/cW+nvVqJSTjmR7QNRsHgQ==
X-Google-Smtp-Source: AGHT+IErh6Pbcx2sSVEWrqoj12FoyFkpCDXSWvBOpdvI2Y9jaGycR3LC8MqKqsuxH7q/fg8shqMD+A==
X-Received: by 2002:a05:600c:21d1:b0:43c:f513:9591 with SMTP id 5b1f17b1804b1-43d1f0a3936mr130097775e9.14.1742199869591;
        Mon, 17 Mar 2025 01:24:29 -0700 (PDT)
Message-ID: <ec2badc8-9adf-42d0-bbfb-71aec3360ec0@suse.com>
Date: Mon, 17 Mar 2025 09:24:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/irq: rename NR_ISAIRQS to NR_ISA_IRQS
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250315010033.2917197-1-dmukhin@ford.com>
 <20250315010033.2917197-2-dmukhin@ford.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: <20250315010033.2917197-2-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.03.2025 02:00, dmkhn@proton.me wrote:
> Rename NR_ISAIRQS to NR_ISA_IRQS to enhance readability.
> 
> No functional changes.

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

> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 08:26:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 08:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916250.1321369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu5nd-0008V9-Ub; Mon, 17 Mar 2025 08:26:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916250.1321369; Mon, 17 Mar 2025 08: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 1tu5nd-0008V2-Qt; Mon, 17 Mar 2025 08:26:17 +0000
Received: by outflank-mailman (input) for mailman id 916250;
 Mon, 17 Mar 2025 08: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu5nc-0008Uu-I5
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 08:26:16 +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 7e31ef1d-0309-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 09:26:15 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso19103225e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 01:26: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-43d1fd301edsm49179665e9.0.2025.03.17.01.26.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 01:26: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: 7e31ef1d-0309-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742199975; x=1742804775; 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=Jk0LzRIKCfvyKgzsBKzRoTfyelwsQ1qciem0DxUO658=;
        b=fov/ozjqySwWoeRFrHwBODcTpyXO61Ad7Ut6ihK7T8GP103idgLlnzD0RYV8lxSpDS
         lMxcmX3hTyePCxRRxCfUefgd1ynZfl+05yKLqD4IbTBHn6KFi+thHUEzIaudQ2ElZqFH
         QOPcAwuVvVJ1QGpqDKZbXvP5jR5Qhk3x25zt48ByRs+4nayhfMlgzip8tVx62vmw6hYX
         yCO9ZjHalHHLGAu4sGnarDOOYHzsT4Wk2hdK5VBYWM0xXS+uwzxjJ0uYV7VKywLr1AES
         NSKtWCpEi5dl3neqf/1lC+Oeb79DKYk+GOwcHImy0095zvt9Y4syiqd7qB5c4LWXT2+D
         5lOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742199975; x=1742804775;
        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=Jk0LzRIKCfvyKgzsBKzRoTfyelwsQ1qciem0DxUO658=;
        b=UvBYWIrAy2pWpHMX3TiGy63RjikEARcrltyFl/WIYwrrbPa3WQN3FY/H3ROZrDA5hB
         UpILXlIRh+uvDBOOPcMt8prQ/hRdCdJ2N79BaXptP3R5+Dj0qdLGvzecg6ezUiUc8Wdp
         5oQ444sEcfXcMS7rEm0ZzJE24ZnnB5BKFgXtAYn5h2//hpbAyO0xtYVFc3cstFJswXK+
         pdAT1rCC80d3mECYOd5WAp+HDRsBcAKAgaOhn3nmY+oqJjPvGzwl+mQfme6Im3dfqvEX
         +joARQddX1IWVaTlLsQSaSStg24dTSTysEDjZ6Zf1s/D5Zvs+nTIcUiG6JcCIj7PLbD/
         LVLA==
X-Forwarded-Encrypted: i=1; AJvYcCXYIc0Ov3Zwmp89dycHyNtDFSHn7Hv1Cq0wrlR+zwmsYF7woKIxXa+qXEcVwmyrsQrASECMGgI8ByQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwzwK/+Hf8HvS+uJFCszjaoKepBbMpWuZMc87oIpaKT0MNPdvtw
	+i8a8Dl4gtE4X9Ou7RiPBQ4H+lI/aHSweTN83YXWzBRhTAaEayFA+1HqgC9dxQ==
X-Gm-Gg: ASbGncv7KRxgi0MoGpn20dZTBtdUyYkr+AWBbWQ+9PTjE4dIlQDd6YOmp0TGLYxmh9L
	fxhTNlgFbkLPD4GGA+Yf93y5Wa8jjYdGTN6gpsgagSk7vWf6phJ4Eq6scrmfDB+DM2ySAOJnwVq
	ZrnV9DFMCc2yN1DROlcxoqckW7dRFxyirNhBiGakl40VuECD3H3CLlBJZHATAartVNsR9eR5JZT
	YqxaZJ3A0ekbZrYA/bDDTONJJafWzxmIFVkAweYOO8kpeECKXULOBIN38t6RmqkhnzpMDe3K+08
	V3r37Rl2MkpQfPfEgVlVx/v5QWFJbwD4TNxEasOTvnPc4XZNLRYA8Z34uK/k5kUhXcwC6umSqvp
	iY7nu0OblQbNPIiAtg3uR6z0keo8kRw==
X-Google-Smtp-Source: AGHT+IGNtKZNvhLJqyJL/LuoS3oOUJOlxvtu3gojybJjpYJUZW3tDxGApVE3zRjxzqyfmwliRNzFxQ==
X-Received: by 2002:a05:600c:35c6:b0:43c:f81d:f with SMTP id 5b1f17b1804b1-43d1ec80fb4mr109170635e9.8.1742199975110;
        Mon, 17 Mar 2025 01:26:15 -0700 (PDT)
Message-ID: <27288942-d9a8-48f9-86cc-7bb201dafb21@suse.com>
Date: Mon, 17 Mar 2025 09:26:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/irq: use NR_ISA_IRQS instead of open-coded value
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250315010033.2917197-1-dmukhin@ford.com>
 <20250315010033.2917197-3-dmukhin@ford.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: <20250315010033.2917197-3-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.03.2025 02:00, dmkhn@proton.me wrote:
> Replace the open-coded value 16 with the NR_ISA_IRQS symbol to enhance
> readability.
> 
> No functional changes.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 17 08:30:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 08:30:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916263.1321379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu5s0-0002Cg-J6; Mon, 17 Mar 2025 08:30:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916263.1321379; Mon, 17 Mar 2025 08:30: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 1tu5s0-0002CZ-F2; Mon, 17 Mar 2025 08:30:48 +0000
Received: by outflank-mailman (input) for mailman id 916263;
 Mon, 17 Mar 2025 08:30: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu5rz-0002CT-E7
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 08:30:47 +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 1f047635-030a-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 09:30:45 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-399676b7c41so221603f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 01:30: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-395c7df3506sm14644295f8f.11.2025.03.17.01.30.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 01:30: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: 1f047635-030a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742200245; x=1742805045; 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=nqhNHFPzuiPPK0CjGfDDt9L/mSwR4v8+uH8qZjs615g=;
        b=afpAZk7uVBfn7A+6DG2fOI8VZzX9tuJX12a7/DGHTuv3P/HubMAnEu6nEe6LQiiSgc
         0qO0M6ZxX1wzZu5ypktDopymDIcp2A+53bKd0+Zsj8AHDWdomkjfOyhpondEU3OB7gDY
         fc/WFYZcskAYvedlwQALzVP8SsDZdydY42pkJhxhHjDG2SOE0aAIfMVGrUrrdGqtB3S7
         PeeSa1lAFO3CqQg//aSrDWlq1LCwTnFG4eiwMvcAlaL9noMmz7wr1GGtAgwAbawOIG+R
         NAIHlW3aJ+mDW6JXEZwrEr2fhdPUzLZhFrNHbrVOrVfepFRoF0TI8Jt2bUnwxJ30PzvU
         yG0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742200245; x=1742805045;
        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=nqhNHFPzuiPPK0CjGfDDt9L/mSwR4v8+uH8qZjs615g=;
        b=TxfKCsEJ/w8hYhgq0y6HnaeqBCv3SD8+w1LT0aDX2kT2gcE0xhafe6RUCkG83zydX5
         /2atbLC8mSRfVCS1Aiv7fZwnaNQjk/FQ9E2x1jHn0E+7KXJ1Pqp1FEvArgte6blup+0M
         Ndq2096cJ8qyjlY4GRfCjHhutiXjmrgADfcHshJfgrTiZ6R1xqIxmiZ6eZYRIN/yV6rh
         HzRrKoO8HohhoTVpZo2ZhnxoeKb/dYBhy1mHVD30IPCPloh/Ii59daKBKmOxQY7L3slT
         IycvvjXz3DywJRxW9tjjgAjrYcgfMxQZJtrv3KK8Wdiq0x27RGTZTsmCUgFFx0wnq6cc
         7wiQ==
X-Forwarded-Encrypted: i=1; AJvYcCV0FZSd5bVioeE01UI6vNgfSIOuLoQAm5xdslkiLprlesLBllJZYX47ce8A2TeVuIvVhiRwZslwX4c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyXT4lPJ348p8UcmELbWXodkst2BP+HpveC2w9KRn6TBd3S9E4b
	QID7DuOrpl7Gub3zhmRiqLt+yLCAkSgsHL47tO8wSv7wjjZ0R8D3wHfdcG+f4g==
X-Gm-Gg: ASbGncsnDtnzi+wHHcOmy39Nt0arxVxZF/7qkHw6NbaHAiialwi5qVKymRgdeCe8Ks7
	KsJ9dkZ2sVoD5fnluxF01IDSQIBfsPKy47DBpOsrL9D45IOrvvb7DLEO0rP43PC34J73UsrnAmh
	FH7X7UXhiHwvTyHxSVnYTzbZd0cn7jHUUhx9QKZHajQ509IOPFg7d2uy+NmTFNxuQAdCTeG+WQC
	gT+PLnaKh4zjOK467AmXBocXHXE/yvZeUPKEBICkIvXBtANvvt/nA/WHfqjC0IBP7EFHa/v4/QI
	8JEcTuqLj1njg6g5gDZDsJx9XbGdPI69RypsC7V3wA7KBa6H2SX6mUhvaTWRHwIilYyHa+78l7P
	+qYK7yMrfbll2lIA7VKzNSzgA/Qv19JGhklhtIU4f
X-Google-Smtp-Source: AGHT+IGijf6EjQjIh19R1iyP5Q/f+YUQtiv13qCILGxn/ydT63TmNINgZieuvwgtNCxww9WYM6ninw==
X-Received: by 2002:a5d:5888:0:b0:390:e158:a1b8 with SMTP id ffacd0b85a97d-3971fadc3ddmr11828381f8f.43.1742200244856;
        Mon, 17 Mar 2025 01:30:44 -0700 (PDT)
Message-ID: <c14f9eef-1bb8-4259-a3f4-44c739ed3258@suse.com>
Date: Mon, 17 Mar 2025 09:30:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/irq: introduce APIC_VECTOR_VALID
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250315010033.2917197-1-dmukhin@ford.com>
 <20250315010033.2917197-4-dmukhin@ford.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: <20250315010033.2917197-4-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.03.2025 02:00, dmkhn@proton.me wrote:
> Add new symbol APIC_VECTOR_VALID to replace open-coded value 16 in
> LAPIC and virtual LAPIC code.

First a good name is needed to make such a change. APIC_VECTOR_VALID
could imo be the name of a predicate macro, but it can't be a mere
number.

Then ...

> --- a/xen/arch/x86/cpu/mcheck/mce_intel.c
> +++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
> @@ -136,7 +136,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *c)
>       * is required to set the same value for all threads/cores).
>       */
>      if ( (val & APIC_DM_MASK) != APIC_DM_FIXED
> -         || (val & APIC_VECTOR_MASK) > 0xf )
> +         || (val & APIC_VECTOR_MASK) > APIC_VECTOR_VALID )

... care needs to be taken that replacements are done such that the
"no functional change" claim is actually correct. (The 0xf, i.e. 15,
is replaced by 16 here. I didn't check if there are other similar
issues.)

> --- a/xen/arch/x86/include/asm/apicdef.h
> +++ b/xen/arch/x86/include/asm/apicdef.h
> @@ -78,6 +78,7 @@
>  #define			APIC_DM_STARTUP		0x00600
>  #define			APIC_DM_EXTINT		0x00700
>  #define			APIC_VECTOR_MASK	0x000FF
> +#define			APIC_VECTOR_VALID	(16)
>  #define		APIC_ICR2	0x310

Nit: No real need for parentheses here; adjacent #define-s don't have
any, so it's a little hard to see why you added them.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 08:41:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 08:41:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916282.1321389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu62O-00055L-G7; Mon, 17 Mar 2025 08:41:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916282.1321389; Mon, 17 Mar 2025 08:41: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 1tu62O-00055E-Cm; Mon, 17 Mar 2025 08:41:32 +0000
Received: by outflank-mailman (input) for mailman id 916282;
 Mon, 17 Mar 2025 08:41: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu62N-000556-8o
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 08:41:31 +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 9903e717-030b-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 09:41:19 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso12306175e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 01:41: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-395c8e43244sm14568690f8f.60.2025.03.17.01.41.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 01:41: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: 9903e717-030b-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742200879; x=1742805679; 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=DRx4++XsF28BgBALvKQcfDnGxthTnKODHAdd4sZOmoc=;
        b=YOSyatpBokQig+PSKJjp3PTMdnLg48DNR7qPvs6w1zUpDRHRkq5zySg9GDCLVMCoXi
         cHje/rjSvLKOUCY8RTKeE7e7Vb4ew/ZzonN/3k2nVAeDPg5MGBBfkTxVgClP2DXAgQ/c
         GX1MnABG+KmElcf2AGuneHBanEa2yMm284ohkxuqCyFeTwwkcNLiSQGpFEySKcvFMSFu
         y44rRXLig4Kki9zHNcRThYjQ7V/jmIX7uqax6IKG2edrMMz8fRpx8u6pCYUKHOPnT6nn
         UAy6xXcx9Z+SieAUiqFUYYuBJJ2fDCTtj7qgfh2DlHABgPZJx1/9YEYtFi6ObncOb70t
         pJIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742200879; x=1742805679;
        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=DRx4++XsF28BgBALvKQcfDnGxthTnKODHAdd4sZOmoc=;
        b=ghWOpcQPYiVrW/uyjXstKnFlIjaHd2UzAz6erYYi7VoAGXyQHpEMWI2Afzz4KomnSc
         c1Ulvy85ZHX/evzCqMojXE+HR7QJG1gzx/KMZVnKb6cG2y8rX2gZJ+0pGV6Yr3EzXJB0
         A10ee6gKaAcGS89b9QRtu4creygjWil6G92avK35ER+Lhm+RFJ1AFSqcIEIDGeWJ9v1c
         PXgrnBAys71vChYs56ikYlTT6HRTOJYAE/AIdYqBlI7DX8w+OyemvrooChpPlhHzvMqf
         3CAW0kiM5hp443YjGvxUro4t8UJxvddUgPMldK60NaqODFVegSE/qmP62U1oqafBzgxv
         b9JA==
X-Forwarded-Encrypted: i=1; AJvYcCXLuOb8pjO1fKb8aV9ccQGdgrPDUaWYDxHPjaC88Y1tu9l8Jeoz9Gth25kywh3LVhelgoclKlZ6pmU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzkz6tiEaqAXav55Mgu8rtecQGlf8+SwyxWzlKh2MGgUJZBBmA+
	Arvcf9QGsDCAvMK6nfNRmHRHI/ejxBheaJIuRHh0kS/qjxWViIWnl4AT04gfDQ==
X-Gm-Gg: ASbGncuPdkAjIn5WVFy/g/rAWPQktRW7AIL0Me/6E7iByYXWyR5G9AP3dxW92BV75CU
	x7xHQa1wPCMCvQRWGVHtIo1n0uATtqZB45im9CcC2ebAKt8gv0A/uOYfULJxhB5wn2KPuc/i2Jz
	xZ1RivTnWdBkDHPTBGylRJOdmOJmN1ja7kZcG8/c9NITsiPREOeDGxsJYDJj2oJKstS6RpWuWSl
	Lhy7K/TlasGkTpagAM+lNdJRBNqX981D+KH43sZ3FzZ22nN/4FlWMxbffjPOmLxTbettwWF7eBM
	8+Iko1SuSq/pFm4GkNGvJAs6BnuKv2pzx5k7eDSDy6V+rthQ6WMWOPAyO4LN+5BjzLd2dabFMdk
	fTluPT4fx6AnJcW7OxWKCGA/46dQDOg==
X-Google-Smtp-Source: AGHT+IHK56m/UHpLqBaFDokfcwCq9mA8ierxVHC2FxAC/mxb5YHSqqv4qKTYhRbfIttNzUMvfKvSOg==
X-Received: by 2002:a05:600c:511c:b0:43c:fbba:41ba with SMTP id 5b1f17b1804b1-43d1ecd60c1mr110347245e9.28.1742200879118;
        Mon, 17 Mar 2025 01:41:19 -0700 (PDT)
Message-ID: <763a55dc-79ff-4176-9286-17a144bd8da7@suse.com>
Date: Mon, 17 Mar 2025 09:41:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/7] xen: introduce Kconfig HAS_PAGING_MEMPOOL
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-7-luca.fancellu@arm.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: <20250316192445.2376484-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.03.2025 20:24, Luca Fancellu wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -74,6 +74,9 @@ config HAS_KEXEC
>  config HAS_LLC_COLORING
>  	bool
>  
> +config HAS_PAGING_MEMPOOL
> +	bool

Imo this is too little of a change outside of Arm-specific code here. Just
go grep for "paging_mempool" to see what pretty obviously wants to fall
under that new control. There may be more stuff. The stubs for
arch_{get,set}_paging_mempool_size() likely also want to live in a header,
perhaps even one in asm-generic/.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 08:43:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 08:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916290.1321399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu64C-0005dL-Qn; Mon, 17 Mar 2025 08:43:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916290.1321399; Mon, 17 Mar 2025 08:43: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 1tu64C-0005dE-NM; Mon, 17 Mar 2025 08:43:24 +0000
Received: by outflank-mailman (input) for mailman id 916290;
 Mon, 17 Mar 2025 08:43: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu64B-0005d8-H5
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 08:43:23 +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 dff0ba71-030b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 09:43:18 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfe574976so10464975e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 01:43: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
 5b1f17b1804b1-43d1fe755b0sm71046705e9.1.2025.03.17.01.43.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 01:43: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: dff0ba71-030b-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742200998; x=1742805798; 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=KFl+YR32faWS6Q1TMpMHRmTazPN0t48c7iJDqzyKw1M=;
        b=EbJTy/+Vy0b5fkJ35gD8AvYZFL3la4BlOgXzIuZQub9XXrj17oHRdC7OkydMx4sniZ
         hm5Egya+ookpeealPzZiyvEuhIKKlGY9trJygXipAtgvqMgDnwYdOSvHqHY58QlRF0Wu
         V7b6m9r9vdEndVX3suEQ1iZ3UYmud9Z7crRBfJgliLeQGoUg3jG83FPOIrXGT+TF52rz
         3iKyWpuhE5qHoor4r2WThNvoXqLPVp8vRZ7WETLZJtEZakA7T0XYgpr0MdVnokCVBwzo
         IamE2ubn3YxLBsea3cjgK+5ECfUhE0a+9U6092rknE6V9PyJsDePt38PZHa2WYuiwXlT
         BmyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742200998; x=1742805798;
        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=KFl+YR32faWS6Q1TMpMHRmTazPN0t48c7iJDqzyKw1M=;
        b=iuGbFQneqTbMGJlINuJTLnaaVfOaZvKg6quJw/2sXMBUVTCq344Hh819+GZfxW1zzT
         5Mt/0nh/fQ5VdZ77L1ttyKxQ1x+qbCsVQrQPMGehnZxR2/TL5eOpXw/0DV/YN6w2umNF
         N8dsdUtxyzU59bnmeKogg+nhacoz3MEAhzOPrSNDy6CKWasQyTyohjmTJJW0SsXEWTxH
         a8qb2VobIPxdV6f1CxddN5W5HGlBbuzGTC4C4EiCvIyIJqbCbmnOeA0CDBlkcw0EsQc+
         HnDuvuWalMQ+wMgC2jzRJxUmytclphHLe6DKeOnFGdcsgoY8JRLf8H2Wq/pyDOH2EdGi
         uOeA==
X-Forwarded-Encrypted: i=1; AJvYcCXDuXdKuItI+OOmTNOxcal2RFN9nVa+tKHfajW7X9o8JHP6vWmpW91yWD/CJrWulll+rF30d+u1mYs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOhz0rbUXpBvTIuxpmL6bBjvvWaOn955PI18wGlMRDlD8TlhmR
	57D9qMp+WOqOh2rt0DpJEfID33RGl4iykJn54t4fY6ZAIgPpVzeCzAXnp8B4YA==
X-Gm-Gg: ASbGnctraKJ61tVDQF8GgfGz5U42CQY6Sr797cXB33ZV4hDpCBsEGqYuHFswXGmfIS2
	QmH3TtR3MAN0LzBgvr73S06tHAINY9gOjvyQUYFk90+9tIehMI91rfzt+x//7d4rPNY0lanOMoa
	37I5muFD83aviMpaAdEjEHE7W29RGiQ54NJ/lM6wHbIug+p7xZvnRcwHorn3e59kzM0/04Bki7u
	m40zgHWaNbeki9joKxlUzAaFnFOjHv3RR0ntKQf9tJPKlYx9sTO3NvROwhaEZb/iwUZj0uDgRat
	2CWhrkWkhXylzvdPN+S4RNieyK9SvXPYaVNypafLxRpyIV2HswA+Fj/GAJTGl0msqDn+dxli6kh
	PHD8etFGnJu6b7tG9X5jSUv3BC89uUNTyHRY6Yi6z
X-Google-Smtp-Source: AGHT+IHm6UhrVF2ytviE6MYOXsWKLq/lbCwBxVlM1Yjj3qmcNeV1iDQuLjkMxa2dVb60gI49zSNf0w==
X-Received: by 2002:a05:600c:3512:b0:43c:e478:889 with SMTP id 5b1f17b1804b1-43d35695097mr3664405e9.0.1742200998055;
        Mon, 17 Mar 2025 01:43:18 -0700 (PDT)
Message-ID: <83894b99-54ca-460c-8463-9d6854987935@suse.com>
Date: Mon, 17 Mar 2025 09:43:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Drop __text_section()
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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250314175933.67422-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: <20250314175933.67422-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 18:59, Andrew Cooper wrote:
> This is an unnecessary indirection.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 17 08:45:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 08:45:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916300.1321409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu65o-0006BF-4A; Mon, 17 Mar 2025 08:45:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916300.1321409; Mon, 17 Mar 2025 08:45: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 1tu65o-0006B8-1T; Mon, 17 Mar 2025 08:45:04 +0000
Received: by outflank-mailman (input) for mailman id 916300;
 Mon, 17 Mar 2025 08:45: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu65m-0006B2-FP
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 08:45:02 +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 1ca5344f-030c-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 09:45:00 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3912e96c8e8so2616011f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 01:45: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-395c7df31f6sm14200636f8f.6.2025.03.17.01.44.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 01:44: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: 1ca5344f-030c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742201100; x=1742805900; 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=DRuBZFGfatYr2umfXK6eEoqM5ZOffWvPvHWDs/WUvzw=;
        b=ILXNK6Y10VG8B87pe8SF28ZosGPVazeUcdk6i2fiwApu50/ML6WclpopVOFc3Ybom7
         /uHWlpWxWvSHIMhrFGwD1pJJJotA9msVhlRiYh5jSfDnKpIaA8GKyLFx7+DTrlqc7tNN
         O1lJ8pDKM0v3K4R1ftFdR0+cCTTk9jDeIc1oIRVApwhICQQB3qXwTckzCurcMY7eOc2s
         MW1KgY6ARUvFL4FzppMpGvTJCrZ6EGJiaAqFYeMDV6WBtpsp+AugyIT+pAH4TSh+qdkL
         pf30Ow9WkhR0xIZwVyufBmikwmg2euHMtlCgvCcf7hFcvgq0aszCd7nAONZXLl9QOWkN
         of3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742201100; x=1742805900;
        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=DRuBZFGfatYr2umfXK6eEoqM5ZOffWvPvHWDs/WUvzw=;
        b=dh3HsKR7r5CEDw1M/JGSvTqR+uk8j/dNsW6TtXLt7T7e4huZ6SoR647ToA0/3Ks2EE
         4GcJtwH895qLYWa/2JbAtl32BduVd82RgjKuPXOdfB4u3GW3BF6MwB/mP73gMsObMlaT
         ZRXEaSxRAOdl5Tq604L3A2C0mH51GCOBU3lK+niIDrxlaMjHRikqmrk5qMzeTfhWlowo
         +CMI2uOtaBAEXe2phvYO4shAzdpr0pzHmrJID++wsp4MxNDGCK0f9GX04XcCardDwnJf
         EO6Pg56E0RqiK5/fGGoMAfdDDcu29GYE5kSJ12X+O7vmewiTbacYHfPZ1SXqYdu7tLF1
         Ae0w==
X-Forwarded-Encrypted: i=1; AJvYcCUeLEE9rWI6+n1vuGD2nwIi5B6GdEGaXD9mc+m5iHiAhJONZvQxHTmdtjYgRwWqI3mMqtQNS+ZAJnU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVux+cZTN8fGpt0gzbX5En1C/Mo1KFacGgvyzMR585zfBx9dU6
	zc7yPfc1NlcDIYiF22Mv9av1r+3x0VbXSpAEdVtLEV6dpNd4PIdJrMgVaJGA8g==
X-Gm-Gg: ASbGnct8Mz5vcA5qTQyX7NWdYmjq+7ONoxzQDGZ9G99Ztd25XbJ8aDCgDmz+NbSAsd9
	wiCAH32jxa5plc5D3PvL9Hxz/xtOltyX4l7jHrxCc6+Cs3m6qbFrRYfYVILgnYvnii+htHn0Sek
	NFHGvG9jJKXxBJN3yDjmEYGdyKE93WlhxqjjcEs8BfWdS+H54FfJ0hX4AUJr7Y/kW+fNjUm2ONh
	ahXpN895OImbqUone10Raj1c+vC7cVwiE31zCnrcj0SaB4VJrmuCRsRHwSOrFCWK0Xb9EF+4Buz
	IQyHSi0gOjyKvuzMho+lLYLFGaParHehWG5ZWLtn2c5IXW+ZBr0/m7L22xRyhdVKc+k5xNWDqYe
	DAT88oeA6zttbCc+OK0hB3Sp6KNjsrw==
X-Google-Smtp-Source: AGHT+IGPL61VsSX25u7cSTRSnPjS3nfNKhDNKK3AWE7jCosR3+cJwxpX8wFlUqYO5I7tmKVSHQUzvQ==
X-Received: by 2002:a05:6000:402a:b0:390:f2f1:2a21 with SMTP id ffacd0b85a97d-3971f9e4985mr12896663f8f.37.1742201099985;
        Mon, 17 Mar 2025 01:44:59 -0700 (PDT)
Message-ID: <f1762c9b-169e-47bf-8844-034bee9c821f@suse.com>
Date: Mon, 17 Mar 2025 09:45:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/debug: Move activate_debugregs() into debug.c
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: <20250314180750.73925-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: <20250314180750.73925-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 19:07, Andrew Cooper wrote:
> We have since gained a better location for it to live.
> 
> Fix up the includes while doing so.  I don't recall why we had kernel.h but
> it's definitely stale now.
> 
> 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 Mon Mar 17 08:50:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 08:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916311.1321419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6BT-00089E-OR; Mon, 17 Mar 2025 08:50:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916311.1321419; Mon, 17 Mar 2025 08:50: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 1tu6BT-000897-Kv; Mon, 17 Mar 2025 08:50:55 +0000
Received: by outflank-mailman (input) for mailman id 916311;
 Mon, 17 Mar 2025 08:50: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=tlLO=WE=kernel.org=jirislaby@srs-se1.protection.inumbo.net>)
 id 1tu6BS-000891-Ml
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 08:50:54 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eea361cd-030c-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 09:50:53 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 86C55A48895;
 Mon, 17 Mar 2025 08:45:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C7BEC4CEE3;
 Mon, 17 Mar 2025 08:50: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: eea361cd-030c-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742201451;
	bh=VHECRl2IlCN2X1A9iaO/EubBXIx8uJARjFhkbegqTbQ=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=Toj8Xlc3B+lpeJ0cMKX/lJh6zMc7AxNRoI/VBi9LvUJ5WgKnN4HCfIlX22IFWpY9D
	 efuqk7QOYu0TkXk7js3E9UBvHiRGNYhIlnOhvIe4/tlLdFR4GULsDjfh/mRof3Ysi1
	 bK75usT+xVXM2ajJncHR7JFPdT3bHHGtFiU5vqPaeCZoWaVcLiJkNl1dF27NMBpkAo
	 xifrWrgFre4Fq8F+tDNlM10ry9cr+DupcCilyKZvsK32FMjxOnPZje/6nrUw1g7psM
	 Ry71q2hACD7E8ydmFVfJAL2LKppv9G9p4FmyertQD7sCCgLgvctlnmjfPfYUp7NPYA
	 7w+heJf2gT6zg==
Message-ID: <23781043-901b-422c-8199-10aa4a31459e@kernel.org>
Date: Mon, 17 Mar 2025 09:50:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/pciback: use sysfs_emit_at() instead of scnprintf()
To: tang.dongxing@zte.com.cn, jgross@suse.com
Cc: sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 jiqian.chen@amd.com, ray.huang@amd.com, jeff.johnson@oss.qualcomm.com,
 minhuadotchen@gmail.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, ye.xingchen@zte.com.cn,
 yang.guang5@zte.com.cn, yang.yang29@zte.com.cn, xu.xin16@zte.com.cn
References: <20250317151648132Sj7qhbVfKcPYvqCievFUf@zte.com.cn>
Content-Language: en-US
From: Jiri Slaby <jirislaby@kernel.org>
Autocrypt: addr=jirislaby@kernel.org; keydata=
 xsFNBE6S54YBEACzzjLwDUbU5elY4GTg/NdotjA0jyyJtYI86wdKraekbNE0bC4zV+ryvH4j
 rrcDwGs6tFVrAHvdHeIdI07s1iIx5R/ndcHwt4fvI8CL5PzPmn5J+h0WERR5rFprRh6axhOk
 rSD5CwQl19fm4AJCS6A9GJtOoiLpWn2/IbogPc71jQVrupZYYx51rAaHZ0D2KYK/uhfc6neJ
 i0WqPlbtIlIrpvWxckucNu6ZwXjFY0f3qIRg3Vqh5QxPkojGsq9tXVFVLEkSVz6FoqCHrUTx
 wr+aw6qqQVgvT/McQtsI0S66uIkQjzPUrgAEtWUv76rM4ekqL9stHyvTGw0Fjsualwb0Gwdx
 ReTZzMgheAyoy/umIOKrSEpWouVoBt5FFSZUyjuDdlPPYyPav+hpI6ggmCTld3u2hyiHji2H
 cDpcLM2LMhlHBipu80s9anNeZhCANDhbC5E+NZmuwgzHBcan8WC7xsPXPaiZSIm7TKaVoOcL
 9tE5aN3jQmIlrT7ZUX52Ff/hSdx/JKDP3YMNtt4B0cH6ejIjtqTd+Ge8sSttsnNM0CQUkXps
 w98jwz+Lxw/bKMr3NSnnFpUZaxwji3BC9vYyxKMAwNelBCHEgS/OAa3EJoTfuYOK6wT6nadm
 YqYjwYbZE5V/SwzMbpWu7Jwlvuwyfo5mh7w5iMfnZE+vHFwp/wARAQABzSFKaXJpIFNsYWJ5
 IDxqaXJpc2xhYnlAa2VybmVsLm9yZz7CwXcEEwEIACEFAlW3RUwCGwMFCwkIBwIGFQgJCgsC
 BBYCAwECHgECF4AACgkQvSWxBAa0cEnVTg//TQpdIAr8Tn0VAeUjdVIH9XCFw+cPSU+zMSCH
 eCZoA/N6gitEcnvHoFVVM7b3hK2HgoFUNbmYC0RdcSc80pOF5gCnACSP9XWHGWzeKCARRcQR
 4s5YD8I4VV5hqXcKo2DFAtIOVbHDW+0okOzcecdasCakUTr7s2fXz97uuoc2gIBB7bmHUGAH
 XQXHvdnCLjDjR+eJN+zrtbqZKYSfj89s/ZHn5Slug6w8qOPT1sVNGG+eWPlc5s7XYhT9z66E
 l5C0rG35JE4PhC+tl7BaE5IwjJlBMHf/cMJxNHAYoQ1hWQCKOfMDQ6bsEr++kGUCbHkrEFwD
 UVA72iLnnnlZCMevwE4hc0zVhseWhPc/KMYObU1sDGqaCesRLkE3tiE7X2cikmj/qH0CoMWe
 gjnwnQ2qVJcaPSzJ4QITvchEQ+tbuVAyvn9H+9MkdT7b7b2OaqYsUP8rn/2k1Td5zknUz7iF
 oJ0Z9wPTl6tDfF8phaMIPISYrhceVOIoL+rWfaikhBulZTIT5ihieY9nQOw6vhOfWkYvv0Dl
 o4GRnb2ybPQpfEs7WtetOsUgiUbfljTgILFw3CsPW8JESOGQc0Pv8ieznIighqPPFz9g+zSu
 Ss/rpcsqag5n9rQp/H3WW5zKUpeYcKGaPDp/vSUovMcjp8USIhzBBrmI7UWAtuedG9prjqfO
 wU0ETpLnhgEQAM+cDWLL+Wvc9cLhA2OXZ/gMmu7NbYKjfth1UyOuBd5emIO+d4RfFM02XFTI
 t4MxwhAryhsKQQcA4iQNldkbyeviYrPKWjLTjRXT5cD2lpWzr+Jx7mX7InV5JOz1Qq+P+nJW
 YIBjUKhI03ux89p58CYil24Zpyn2F5cX7U+inY8lJIBwLPBnc9Z0An/DVnUOD+0wIcYVnZAK
 DiIXODkGqTg3fhZwbbi+KAhtHPFM2fGw2VTUf62IHzV+eBSnamzPOBc1XsJYKRo3FHNeLuS8
 f4wUe7bWb9O66PPFK/RkeqNX6akkFBf9VfrZ1rTEKAyJ2uqf1EI1olYnENk4+00IBa+BavGQ
 8UW9dGW3nbPrfuOV5UUvbnsSQwj67pSdrBQqilr5N/5H9z7VCDQ0dhuJNtvDSlTf2iUFBqgk
 3smln31PUYiVPrMP0V4ja0i9qtO/TB01rTfTyXTRtqz53qO5dGsYiliJO5aUmh8swVpotgK4
 /57h3zGsaXO9PGgnnAdqeKVITaFTLY1ISg+Ptb4KoliiOjrBMmQUSJVtkUXMrCMCeuPDGHo7
 39Xc75lcHlGuM3yEB//htKjyprbLeLf1y4xPyTeeF5zg/0ztRZNKZicgEmxyUNBHHnBKHQxz
 1j+mzH0HjZZtXjGu2KLJ18G07q0fpz2ZPk2D53Ww39VNI/J9ABEBAAHCwV8EGAECAAkFAk6S
 54YCGwwACgkQvSWxBAa0cEk3tRAAgO+DFpbyIa4RlnfpcW17AfnpZi9VR5+zr496n2jH/1ld
 wRO/S+QNSA8qdABqMb9WI4BNaoANgcg0AS429Mq0taaWKkAjkkGAT7mD1Q5PiLr06Y/+Kzdr
 90eUVneqM2TUQQbK+Kh7JwmGVrRGNqQrDk+gRNvKnGwFNeTkTKtJ0P8jYd7P1gZb9Fwj9YLx
 jhn/sVIhNmEBLBoI7PL+9fbILqJPHgAwW35rpnq4f/EYTykbk1sa13Tav6btJ+4QOgbcezWI
 wZ5w/JVfEJW9JXp3BFAVzRQ5nVrrLDAJZ8Y5ioWcm99JtSIIxXxt9FJaGc1Bgsi5K/+dyTKL
 wLMJgiBzbVx8G+fCJJ9YtlNOPWhbKPlrQ8+AY52Aagi9WNhe6XfJdh5g6ptiOILm330mkR4g
 W6nEgZVyIyTq3ekOuruftWL99qpP5zi+eNrMmLRQx9iecDNgFr342R9bTDlb1TLuRb+/tJ98
 f/bIWIr0cqQmqQ33FgRhrG1+Xml6UXyJ2jExmlO8JljuOGeXYh6ZkIEyzqzffzBLXZCujlYQ
 DFXpyMNVJ2ZwPmX2mWEoYuaBU0JN7wM+/zWgOf2zRwhEuD3A2cO2PxoiIfyUEfB9SSmffaK/
 S4xXoB6wvGENZ85Hg37C7WDNdaAt6Xh2uQIly5grkgvWppkNy4ZHxE+jeNsU7tg=
In-Reply-To: <20250317151648132Sj7qhbVfKcPYvqCievFUf@zte.com.cn>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 17. 03. 25, 8:16, tang.dongxing@zte.com.cn wrote:
> From: TangDongxing <tang.dongxing@zte.com.cn>
> 
> Follow the advice in Documentation/filesystems/sysfs.rst:
> show() should only use sysfs_emit() or sysfs_emit_at() when formatting
> the value to be returned to user space.
> 
> Signed-off-by: TangDongxing <tang.dongxing@zte.com.cn>
> ---
>   drivers/xen/xen-pciback/pci_stub.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index b616b7768c3b..a0782a74ed34 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -1281,7 +1281,7 @@ static ssize_t slots_show(struct device_driver *drv, char *buf)
>   		if (count >= PAGE_SIZE)
>   			break;
> 
> -		count += scnprintf(buf + count, PAGE_SIZE - count,
> +		count += sysfs_emit_at(buf, count,

This is wrong too [1].

[1] 
https://lore.kernel.org/all/9c552d9a-2d46-4069-a9c4-35fab857bfc3@kernel.org/

regards,
-- 
js
suse labs



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:01:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916326.1321429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6L9-0002Nl-Pj; Mon, 17 Mar 2025 09:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916326.1321429; Mon, 17 Mar 2025 09: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 1tu6L9-0002Ne-Mb; Mon, 17 Mar 2025 09:00:55 +0000
Received: by outflank-mailman (input) for mailman id 916326;
 Mon, 17 Mar 2025 09:00: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=WXuz=WE=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tu6L7-0002NY-VX
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:00:54 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2415::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 530d3d55-030e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:00:52 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by SJ2PR12MB7800.namprd12.prod.outlook.com (2603:10b6:a03:4c1::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:00:48 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 09:00: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: 530d3d55-030e-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ciq4r/a/Y2QLGG2tzlMHjo3GgMqxjxJb+Q0wGvL82zUWwrMFtUHciZDUXhil+qk0yHG1CMy/pAsbeU4H8NlF5t4k75ZqPqfo+QR5+c2QV/KVSWcF3UqDHIIduEG9QVuMaiN0x6SnaomSvJFo9BEGXo4Z7k0xZNIkknCOw/hHexWku2zwYM2xLcAS68l/zewtrWfjvRxaeBCNoCOCI2CnTiBqRSqu255S0OZ1vv6tDRNnQOR3hMrCvfPjHY09yiFNg0QFQBjg30dNRHqe2PV0ftnnQ60bPHAzCDejBSSZgRvDPKk0axHkeo1iu8qkL1X/Zz8Zv1C4sydx/qC8dgImGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+VGNUOtZRvYa/vWVos/U9WZaX0EGPke5R4b+qR13hjQ=;
 b=Ek7RUM30fvSVIOJGrWit/uWooCI04q1pHY/oK0mQhzV1cpqYz3O2/aQ7uVtLkT0u8gal+czzfkJWFcw0SkDkAM4u2TSSwLWmXphTJkXrfvc2ne9tdegu/pIxlSlQ55MrgJyNylQRpGccGHhLahhqWcEwAV56lP0HysHkk1Evcoc2P7rBiJMtmGArfOqK/VNH0+3pfN+SC6AoVTtxabFjNy7BE17saHtJxyId2tsX06Wj6KujWjwhLJXtgsYYeNJZavmxJcLEgkRh1QzbKGW+Kq4thDFL/KdFJwrOzjP5PyHpFaO+hpdjFmaBuX0RvxzoSNI5/uNoic45d9kPXJAJnQ==
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=+VGNUOtZRvYa/vWVos/U9WZaX0EGPke5R4b+qR13hjQ=;
 b=d3LT+BKPXbOJeiYFEtz2l5RPgdaZsZReX2/y7O2g8TBgnXWiz2Zg+OFE54AGmfk1+qz/6SPOvz6QAB+BrSPT8rYak72J3vBSxUJy/PEM5RrweDwdP9RyQcU00NVge0cRdwJe14L76CYFTT1ntupZwfU8uEiv78nIxpIN4I0Nc/Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <0cb850b8-a2c4-48df-8a99-6b8fd0b4bd69@amd.com>
Date: Mon, 17 Mar 2025 10:00:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/7] xen/arm: Implement virt/maddr conversion in MPU
 system
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-3-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250316192445.2376484-3-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::6) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SJ2PR12MB7800:EE_
X-MS-Office365-Filtering-Correlation-Id: 3a21c367-0edb-4be6-c070-08dd653235c9
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?aXhZUmxYcEFYMWoweXNVYlUxWkIra0RydUJ4VFh3Z0I3SHBXRmV6VVVIYnhP?=
 =?utf-8?B?MndNM25oMi9LdUl6aytxSEV3TDV6OUpDK1B0T01OcnFMc0dMUEpmSHBNaVRK?=
 =?utf-8?B?Q2RNaklYYkE4NDQ1eDdrU3JXRHRtYzlBK3JDcmM0aDZsRnhIalZncWRhYU5y?=
 =?utf-8?B?RHdmdEl0VDVHTWU1MTdESFF0UVZ2eEI4elZRcWtWa2VrbWZ6TzRkN0g2ZnFo?=
 =?utf-8?B?bUF0VTkxV1N4N3hFNmU4VWQyOXJmNEh3SS9UdUt3emRubFRPbnptNzJNMGlB?=
 =?utf-8?B?azF2ZllXaFBFdHNrcXFaNS93QnM5RGN5S2wrclRubmMyNDI5Q3RJTEZvUDZu?=
 =?utf-8?B?WEozUGVmQ0REWFlkekFRNnNxUGVCR1FldWovYnZLbHFMSXFHbFNTVzRacUtQ?=
 =?utf-8?B?Yjg2V014RDJCNng3YzJ5YW1WTXNYa1ZzUXM5VWRtUUZ1OXFxdTllYkRKa1I0?=
 =?utf-8?B?QkJJb1dvdjdlSzdpOUk2OW9WZkFOTFRRcHdXRkd4RHhQemJOVkxVTWZ2clV2?=
 =?utf-8?B?THdhdHVGM2N5QnVhZDRYbjAvT1dlVWkrNGs0N3M5LzQxRG56ZldxdHZjZHBG?=
 =?utf-8?B?Zk9iYTNnOU1OQWR6a1FNYmptQlVIWU1iRjROSXZ1WStQL2hHVS93anZwR2Iz?=
 =?utf-8?B?T3dsNUcwVTZLa3F4QnhON2R1WEtPQ1ZPSnhYbDZyOVZaME5sSnpCNDdnSHBw?=
 =?utf-8?B?VzNVS2d1SDgvUTJjeHpqYlRCK0wwb1ZGZFhXcGVQVVN4RVpiMmQ4TVpjSjAx?=
 =?utf-8?B?ZzhPTks3NXEwT29idkZpTHpyVXU2dFk4RktXeGhLUnd3NXNUMkN6aTRaWG40?=
 =?utf-8?B?RklyRzNuMkI2Y2RSdDVRM0U1STZDOXFncjRjbVRySEU5R01tLzRNTWYyUHB3?=
 =?utf-8?B?SFFtMnRCMHdZbmtIT3gxUjhTZ3pndVgzSU8zOHdBems1alp3VldsM1o3RjRV?=
 =?utf-8?B?NUExSWh0QmRYYm5LZkhKTWtmNy90NENyOHVKb0tQeFNKcjc1U0hDalZSVUM0?=
 =?utf-8?B?VHdEd2VUTkVtdVR2UkwrWlhpeEQwUGsxQUtwaTcrbnh6dEcvdzBiamwwSVl4?=
 =?utf-8?B?VkhwaWo0aWEvbmxoWTlIT05IUFU3elVXYmRVSzF1TkV5K290bHF6d3lVSmhx?=
 =?utf-8?B?ZXVPZGI0VHRjUXVsVGRldURuTGxsMmMyano0YTNrNUdpbG50QnNZdnY5a25i?=
 =?utf-8?B?bnNCS3JwcnJlWXhBVUs0Qk9NSmpsM1RPd3lpVHI3YktZbzM0Y0FNbVBXUFNK?=
 =?utf-8?B?YytkaFBsbjNMNElnVzNMZ3I5UVZnd2oyUWVYbUNhRjFSMnBEOTFiSStkbEVz?=
 =?utf-8?B?ejdWQWw2RXVQZWl1Mld3Yi9QbUo2VDBxazVnbTQrSW1CcnpyZSs4TTNyZDUw?=
 =?utf-8?B?d0JYUDZ4NWxQdGp2Nm5oLzJSNzQxSmxpUXRUR2dTTXBIVUpLdGpTdCtiajN4?=
 =?utf-8?B?anpsaEd3L1k5YkROOVNraEJSY3RZSDRnQ3pJNFo2L2RmVG1mUnlLb0VXSm5C?=
 =?utf-8?B?VlJjRjFSem1vR0tDR3B5NnZPU3ZLNDBMZCtNWWpCTDlJaEw5TlY0SEtYZnRC?=
 =?utf-8?B?eVk2cERuamwwYklmNG1FVGNqMHJzYXpIRnFLTDltcnpYRFN6cm5mZElBdkNI?=
 =?utf-8?B?WGl3TEdvWEtrMW01TDJ5dE85d1FmMXU1aitrWUhCaTdrOWpvR01Ed2tyWnNP?=
 =?utf-8?B?eTJOclc2MVRnZ1F0SDJmR0dSOHNqYzgwWXA0RFBxZFI4Y0RuTWJsL2t1SitZ?=
 =?utf-8?B?clVnR3FodFNOTTg2UzkxK05lcitWcXh6eEFaUkUwTkt2ZU5WQzRaMU1zTnZi?=
 =?utf-8?B?MjlLdG5qemRtS3pUYVdWSVEwMS9LNndpQVYyazZ4T0c2Q1R2dnZtVGh6My9j?=
 =?utf-8?Q?ozaL5X+w67pTF?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?aW5mSFpCR2ZzYXhsOU9vL1diNFdqandDdklnU2VxdVhtWVNzTkZ4YXFMaWVS?=
 =?utf-8?B?RWFnbzI2NHRjS2dwVHJaUlpUQjFFdGwra2NXNGFiQW9OOG4zNmRXQVFmU2hL?=
 =?utf-8?B?TDhBS0JZVE1hejZ2d0h0dVFocjB0RFZMZ0VhT2NXd1FRV2hoK3cydWhzUkxr?=
 =?utf-8?B?TDBkUjFFMStjai9objB2MnpSNUtrVEJLOC9ZT3Z4YXJJNXg3TzJZbDdzaGEw?=
 =?utf-8?B?UW9CZlBZM3ZleXhMb21XQUtvemk2Vy94N1ZMNzVKM1pNZEozcnJGZnpnV3l2?=
 =?utf-8?B?V1BmZW1mQUhydnNCOU55ZzJKQVVmUHhtc0M0ZUdEZy8rd3ZjbENNT2FKd0x4?=
 =?utf-8?B?dmJyUWFmTEZWTlZyVnlXY1UzUUU1L1RTSTZyblFOc2t1SEJRNW1ZeGd3STZE?=
 =?utf-8?B?djhYdW0wUkpBanJaV1NMY0lsc0ZZRU5WQjl5Z2ptalZMZ3ZDZTBrNE5FQmNI?=
 =?utf-8?B?aVVIUmw4WHkyVkpYVmRkbGI1QlBXbDlNWVlxUzhtOGlrUUgxNlkveXRsY1NV?=
 =?utf-8?B?bGVxdnZPNllRZUNQUk5jMVFqZ2FBU3dxL0RvK2cwT24xNUlBenBBNkdrUklE?=
 =?utf-8?B?TFd1ajJXOUNLcnVqaEQzRjQxSUZsU1JvN2c0ZmxFZUtQV3diQlg2cHBRd2Zo?=
 =?utf-8?B?QWR3Syt4M1hNVkhSMDBPRTkzMDA3c2hvSTA2RHROaStmSEx2NmxxS2lLU0dE?=
 =?utf-8?B?R21JSnJrc1B2eTN1ZjRJSklCVzNSblEveExYd2pOYjBmYTY5VnBVRkN0U0Jk?=
 =?utf-8?B?UG9QdzR1Z2NsRHJBREZBY3VVNGVaUXJDMko2RW9FdGJuSTBPQUlQY3N4bXBt?=
 =?utf-8?B?Mnh0VW1RZGQ1cVlFRER6bWdrTzd0bytXS0FhTUw0ZkpQS2dUOHpZVXpicHdY?=
 =?utf-8?B?TWg0d09PWXVhdUlKSGd4aG5ZOGdiL2lWSjNGL3hyWEpMNDdmMzRMZlVSTXVk?=
 =?utf-8?B?azRtYkliQjNzcUtqMk9UYVVrRHk2b2V1L05HS05qbUFaWnRDa2J1TFlaZ1Fv?=
 =?utf-8?B?aU5IeGxCWVlPVUJyd2g0RHA5NHNrdUlCdnoxWkJnZ0ZaeVV0KzhoZEVHU1Bv?=
 =?utf-8?B?NHBXc1cwSTFIWGFYOUNjZ1c1RmtkK0Njc3ZWTkRRbUxvd0ZiTlJjdzFXMFJT?=
 =?utf-8?B?ajBiYzVmbjQyMU1FZ3pKOFp6SlQzaTI0aXpVZ1l1ME5LZlBQYTM5YlRreERi?=
 =?utf-8?B?WmR1eTlBc29pWlhHYTdqdjVwNUFUeHpwckFyTjVkN3Z2bVQ1U1pKNTkrVjJJ?=
 =?utf-8?B?N01uTzdYeFAzcXZnc2lPUjdRMEFSeEp1WGQwamVMcHlLR1V0aDRwcmZ0N045?=
 =?utf-8?B?MGUrQlNSR1krY1o1d2VhNmtOYXg2MDY3V3JTM0REWThvdC9uQ1RoZCtiR1Vm?=
 =?utf-8?B?aHlBQ0RpOGxUdVgyeXQybU1uL1I2Yyttemkxb2UwZDNDS3hKYWR6YUdBNDd4?=
 =?utf-8?B?OUNRKy9FaGZmOHdKR1FiNnBmRnNPdjduT3JQeFgvcGxQMmJ5d3RNTDRvM3Iw?=
 =?utf-8?B?b3VTTEYrc0YwWHpzQXVibmtNMTNLMXhNM1NScnQyc3RyeXNVR3lvRFlrN1V6?=
 =?utf-8?B?dWJrcCtqSUk1ZHNlQUtBMG5xcnRnOFcxajdlU3UwcnMrcDBydUFXaklBcTVn?=
 =?utf-8?B?NjRMVGxKS0QxbjhvMG1YRnR3b3U0RjBjeloxUVhVaGZtcTk1Ukt3TnBjYVpR?=
 =?utf-8?B?S3luVGNUNmdjNW9vMDQ2cnUrVWpyZTdjWTQxMVhIcDRpdG1LVyszVUI2Mlcz?=
 =?utf-8?B?RFNhVUdQZlcySklrdVcxL3FWejl4ZUdNaXNkRW9mTjVETlQxZzhWRlZ4N0V1?=
 =?utf-8?B?NkhRdDZDREE2cnd5TnJTVWxsTEtRK1BLcUZoaitTRU5kR2M5UWY1WGJnYUZ0?=
 =?utf-8?B?eVdKZThxd21Tc3BySzlSMUN4cDhKdFZ0Q3BCZndXNVloaDN0QUZFalBpMjFz?=
 =?utf-8?B?eE1KdXQ1K09kMUp1dzdJaHNqYTRiZHZSKyt6NkJwUlF3M2VzN1J0cXlodVcv?=
 =?utf-8?B?THJRUDZKcGVvV1ZVTDV0OTZ4bTQ2cGtabHlRRjlRT05aNlE2cVZGcEF3WUJY?=
 =?utf-8?B?eGNUSzRqUGxLRndYYjFmT0licXpFMjYyOW1qdlRuUjhnVTV3YS9jWjFXZUsy?=
 =?utf-8?Q?rBQI=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a21c367-0edb-4be6-c070-08dd653235c9
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:00:48.3717
 (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: mVxwB8q3j2UyFLfF7lLVI+1wqRRGouOO8mRUgLg2U7jdJHWIts5jGm+fZllYMS+C
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7800



On 16/03/2025 20:24, Luca Fancellu wrote:
> 
> 
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> virt_to_maddr and maddr_to_virt are used widely in Xen code. So
> even there is no VMSA in MPU system, we keep the interface in MPU to
> to avoid changing the existing common code.
> 
> In order to do that, move the virt_to_maddr() and maddr_to_virt()
> definitions to mmu/mm.h, move the include of memory management
> subsystems (MMU/MPU) on a different place because the mentioned
> helpers needs visibility of some macro in asm/mm.h.
> 
> Finally implement virt_to_maddr() and maddr_to_virt() for MPU systems
> under mpu/mm.h, the MPU version of virt/maddr conversion is simple since
> VA==PA.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal




From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:03:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916336.1321439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6NN-0003dr-45; Mon, 17 Mar 2025 09:03:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916336.1321439; Mon, 17 Mar 2025 09:03: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 1tu6NN-0003dk-1C; Mon, 17 Mar 2025 09:03:13 +0000
Received: by outflank-mailman (input) for mailman id 916336;
 Mon, 17 Mar 2025 09:03: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu6NL-0003dc-Gf
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:03:11 +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 a6657ba6-030e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:03:10 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so10022165e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02:03: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-43d1ffbcf1dsm98206035e9.13.2025.03.17.02.03.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 02:03: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: a6657ba6-030e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742202190; x=1742806990; 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=f8aQ8PNeqvfRseEXS1qRx7rfbhyRcMFF2cNRnM5Cw2c=;
        b=XL9RRABAqK4SlZrPCB8bU3C6owpHtBHa4l5EQxJpJaPemloX6VAM7akocjEpgYaXU6
         jpqR+iWbtHgjEplSpKOa/Qr/6cUdvN3bL5XHVmEP8b+rvWMJqA43m/bKwWi+oKRP6S/B
         FJ+B/T76ige5JRFkhLZqrdzHGbKW3wGpZ3wynXCRWAcaJOmRMU3HG8qViulWEpSzc2ax
         PLl0ixoj9MYFlwG11K0YrvEGOsMHJXfIhGAarR9DGeyyH7Xq35WfIcbpLJhhStrqBcaA
         vkH4/B3YJ6QtXoNN2pJ1W+CFHrjE3aw2P6bRvtSD+rd8VVhnwJ8lScCOv2FcjS6dlp6z
         yDTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742202190; x=1742806990;
        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=f8aQ8PNeqvfRseEXS1qRx7rfbhyRcMFF2cNRnM5Cw2c=;
        b=BMxUoL7PhFuCg+Wzsl5BdTygSJ3f+1/Yjwn5jmjwNjWte1OiSuLr9wwyFXNonFXymg
         7s+WeKvEOETb8duGY+wSbu2ulzvARMdzwlw4M1FsXro1KpLVrBuNhwaAvQYnpua6P6b8
         4liB+NvAVgL8edUj/mLDTS33hH36qP6oaGQwV+BfpAF2EznJ3Yaxf9GGDQ8Eqoq39APg
         it9Pt4V83wFmrwwCZD8a62Ir2gZ6rKLd956Jn5fvV2vkURnY0wD55T6V354n9rpkaKzH
         hnxuyvC7C6AcNhnn2aatwT2t+KhHwhg1dlpPVLd4n0s37KxrDKSZbnMX6gbJt2cF8aE6
         7mtg==
X-Forwarded-Encrypted: i=1; AJvYcCX5agMsdJr2p6dAEjdC5b+/S3oJEEVvZc83PhpwgqgNcWH4z9y+se5H21dW2MnDG7VMDTMB3T269Wg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyiSUSPsfTH2itVAe8s0DSfPrptoZtYjGBP6gIpo/OiTkhNEp5F
	FYURHEnDi4wegFFh3e3trxpnOZ0m0dnaagbbbivrsKFyh66jT/2T1mClPSsqgQ==
X-Gm-Gg: ASbGncu31Um/bwyPnonzT3ZnJYoy6M4YW+IdNSkg+qB6i8ZVljtc1xR07gO3kHQjck/
	b/hj2xb+lyZ98gzhLC0RYnKRQdrR5Ug+21b2Hl4GcYjsUWuaVZaKlHOt9K7g31rdd6/aMZ02AxH
	gjjfOGoXeALFvL436sJcKQLDLG9Q24ARy3jvUitmEz3VyaEwI0l1dKMzIkcn+2OoJ7mBaiQ8rwy
	eqYYt3EzJufZ8tJfWBR8gM1GAoG73GyaZqe7EKxomQ+SyEcaXDKXNDCWGcUfOdkTdJqAK635mif
	lKMuDs4jj6DVeh2iDo1b6+h6KRwqPLhj9jbinrHLCziDCUKVNhhxZPFgZwkq5Tq/OqJ1IQTTo/7
	MXcf14pVwNDyn+rBKxEV1fP757hVjoA==
X-Google-Smtp-Source: AGHT+IGqOEyPmnEFPv75aPUF1laSsZdQQB0QDAPLfmRNazTACpTLafFf/YeHVw1b/06+gAHWjmXVrQ==
X-Received: by 2002:a7b:c387:0:b0:43c:f3e1:a729 with SMTP id 5b1f17b1804b1-43d180ac913mr136968135e9.12.1742202190031;
        Mon, 17 Mar 2025 02:03:10 -0700 (PDT)
Message-ID: <5fa5f84b-0cae-4757-af06-155d68de3209@suse.com>
Date: Mon, 17 Mar 2025 10:03:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/traps: Drop incorrect BUILD_BUG_ON() and comment in
 load_system_tables()
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: <20250314183346.77356-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: <20250314183346.77356-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 19:33, Andrew Cooper wrote:
> It is only the hardware task switching mechanism which cares about a TSS being
> at least 0x67 bytes long.

I/O bitmap accesses are where this particular limit comes into play. For
32-bit task switching a slightly shorter one would still do, I think?

>  Furthermore, since this check was added, the limit is now 0x6b if CET-SS is
> active.

Which isn't reflected at all in struct tss64: Aiui that's an addition to the
32-bit TSS only.

>  Nevertheless, task switches, being a relic
> of the 32-bit days, aren't relevant to Xen.

Yet as per above I/O bitmap handling is, even if all we put there is
IOBMP_INVALID_OFFSET.

> LTR is is perfectly possible to load a shorter TSS, and indeed we will be
> doing so with FRED active.

Well, yes; it is my understanding that shorter ones can already be loaded
without FRED.

> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -900,8 +900,6 @@ void load_system_tables(void)
>  		wrmsrl(MSR_INTERRUPT_SSP_TABLE, (unsigned long)ist_ssp);
>  	}
>  
> -	BUILD_BUG_ON(sizeof(*tss) <= 0x67); /* Mandated by the architecture. */
> -
>  	_set_tssldt_desc(gdt + TSS_ENTRY, (unsigned long)tss,
>  			 sizeof(*tss) - 1, SYS_DESC_tss_avail);

All of the above said, the removal worries me primarily with the sizeof()
still in use here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:09:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916347.1321448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6Ta-0004HA-Nq; Mon, 17 Mar 2025 09:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916347.1321448; Mon, 17 Mar 2025 09:09: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 1tu6Ta-0004H3-LB; Mon, 17 Mar 2025 09:09:38 +0000
Received: by outflank-mailman (input) for mailman id 916347;
 Mon, 17 Mar 2025 09:09: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu6TZ-0004Gx-2x
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:09:37 +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 8c1bf511-030f-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:09:36 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so11797815e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02:09: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-43d1fe60b46sm97764855e9.32.2025.03.17.02.09.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 02:09: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: 8c1bf511-030f-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742202575; x=1742807375; 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=RiKWfJGPR/KIrbaVCD/SIYFMzHga2Pq3dPGZybCPlGg=;
        b=BbZjx4TM75Kb9XQeFSq4Cu4QrU5jGpCFrxgh0XUjftt1pTQxwc8fWeXHSYWecugnn+
         mqcECS9smWXhdpB0qMWvTooalwH5Xw5bNPnzdsPQkNUaAlf9iEPBORZOJvRueZBzrmlf
         s1l7BVpXHegGU0iacga9YKLg5uRlCgQmijQGM+BwRmPGw3B5PRS0d50/6tg3SVFTcjcE
         w/QflWo9gGIhtXbMq3qGOhHdWMInE2olgsNvDc8sY7zt8aQPwtjJdA2sxjywvfKnjNyl
         XabXxpvphXP9sepqrSasBntqGA+qx0WZJe8w+cVpzfzF3z8tamKD44EB7lvear8yVNCy
         KmkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742202575; x=1742807375;
        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=RiKWfJGPR/KIrbaVCD/SIYFMzHga2Pq3dPGZybCPlGg=;
        b=Bzf5k6c9yC+Pw2UXgXi+1850SKpGKlbRKjPT2ZT80UDnRJOsQ6Yadea1oP5h4XJdxj
         hdBlRzoqAMs22xAU6FbvvYOmMjzBiDUni+Dv2nUTdj4AQSCWSEUnJ7MyYx0NpZH+RihI
         sn2stmwCeSlES7wyPeloZHh3A43hKBgA6D0fwA0mMOY9UM1LItn/lqiA+KEp8oPfsGoa
         T+5NT6IGGWUO7f18IySotxiohHtNvpDVwbW33zUDS+kSBJV/FLUuvIVWAxcx9tGe0suK
         rHRXgjmrtMSSOnwG8GVrUBYHc4jXjV9MXcVVvWBRPkmLPm+aJlRsTzrptBdSoaSg8M2P
         U3YQ==
X-Forwarded-Encrypted: i=1; AJvYcCWCG4kg5k4UAhZavE0vewihi+sJm/7UOO6ogYEdskiEWFe6bJ4i+nsquTPRoBIq+L0bFi/LwubyoH8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzt3gTWPu0bhe2A7JMgCCQBxBPcSVvu5gV7Cv21liFvan1zKYVM
	bjp/Sbq+0pJE064q5jhuRM9W1lm5tTpwkWSzeNpTJPYKbV9rimtH+4Z3h/Ouow==
X-Gm-Gg: ASbGncv/6faTf9L3/57waHa05WfLbivc1CX0pvOcrKfl4RPmvc6fOpv3W709Q/EhL5X
	CUoXVtuuoWgea7staX07sRVLPby8qdbL5qPd4npjftK7nns7YuKKOctB+l3t4TdeBAYvOE61HwG
	PRM0aSKY8M3c2/JaM34pkSq8fIdEJnSQi22H6iEBzAo4+yYs1ZaCRkGcAVVewmlPkBrf+sRTq4u
	Ze3I+OEF4B5yVz3BqGUN5A/cin8MWMJyi9EQZ4hIdW01LsuvbuMGkbxpfQlMkESWCdWQr+wXunf
	AURKqtBOS2WJpJNFWPs840vuuVlnYuOeylTXCkXWTCQfkWik0tCQRig5pmJUkOFeP89goCs7DbD
	QJCE54J1EfUM239t2TePpsr0/gDLvLw==
X-Google-Smtp-Source: AGHT+IFd7F6YSJKAKnKcGqxTupKpYobG1QHUEJdzk+Inl4z3km/6diocTfK2VvX5Qcp8e2ul26cF9w==
X-Received: by 2002:a05:6000:4025:b0:391:42f2:5c7b with SMTP id ffacd0b85a97d-3971d51fec1mr13833195f8f.16.1742202575440;
        Mon, 17 Mar 2025 02:09:35 -0700 (PDT)
Message-ID: <781a020c-351d-4211-ae51-8057646c28e2@suse.com>
Date: Mon, 17 Mar 2025 10:09:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: Use for_each_set_bit() in
 hvm_emulate_writeback()
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: <20250314204920.118065-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: <20250314204920.118065-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 21:49, Andrew Cooper wrote:
> ... which is more consise than the opencoded form, and more efficient when
> compiled.
> 
> For production VMs, ~100% of emulations are simple MOVs, so it is likely that
> there are no segments to write back.
> 
> Furthermore, now that find_{first,next}_bit() are no longer in use, the
> seg_reg_{accessed,dirty} fields aren't forced to be unsigned long, although
> they do need to remain unsigned int because of __set_bit() elsewhere.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> I still can't persuade GCC to do the early exit prior to establishing the
> stack frame, and unlike do_livepatch_work(), it's not critical enough to
> require noinline games.

Then is ...

> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -3022,18 +3022,16 @@ void hvm_emulate_init_per_insn(
>  void hvm_emulate_writeback(
>      struct hvm_emulate_ctxt *hvmemul_ctxt)
>  {
> -    enum x86_segment seg;
> +    struct vcpu *curr;
> +    unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;
>  
> -    seg = find_first_bit(&hvmemul_ctxt->seg_reg_dirty,
> -                         ARRAY_SIZE(hvmemul_ctxt->seg_reg));
> +    if ( likely(!dirty) )
> +        return;

... this worthwhile at all? I'm surprised anyway that I see you use likely()
here, when generally you argue against its use.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:19:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916359.1321469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6dE-0007Dv-1H; Mon, 17 Mar 2025 09:19:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916359.1321469; Mon, 17 Mar 2025 09:19: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 1tu6dD-0007Do-Th; Mon, 17 Mar 2025 09:19:35 +0000
Received: by outflank-mailman (input) for mailman id 916359;
 Mon, 17 Mar 2025 09:19: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=iXYq=WE=zte.com.cn=tang.dongxing@srs-se1.protection.inumbo.net>)
 id 1tu6dD-0007DY-0A
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:19:35 +0000
Received: from mxct.zte.com.cn (mxct.zte.com.cn [183.62.165.209])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edb77cd6-0310-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 10:19:31 +0100 (CET)
Received: from mse-fl1.zte.com.cn (unknown [10.5.228.132])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mxct.zte.com.cn (FangMail) with ESMTPS id 4ZGTty1W5Cz50FXM;
 Mon, 17 Mar 2025 17:19:22 +0800 (CST)
Received: from xaxapp02.zte.com.cn ([10.88.97.241])
 by mse-fl1.zte.com.cn with SMTP id 52H9IkvC075214;
 Mon, 17 Mar 2025 17:18:46 +0800 (+08)
 (envelope-from tang.dongxing@zte.com.cn)
Received: from mapi (xaxapp02[null]) by mapi (Zmail) with MAPI id mid32;
 Mon, 17 Mar 2025 17:18:49 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edb77cd6-0310-11f0-9899-31a8f345e629
Date: Mon, 17 Mar 2025 17:18:49 +0800 (CST)
X-Zmail-TransId: 2afa67d7e8f9ffffffff8c9-d0c5e
X-Mailer: Zmail v1.0
Message-ID: <20250317171849700zhgNc5lZvWvM3EepJpYWE@zte.com.cn>
In-Reply-To: <23781043-901b-422c-8199-10aa4a31459e@kernel.org>
References: 20250317151648132Sj7qhbVfKcPYvqCievFUf@zte.com.cn,23781043-901b-422c-8199-10aa4a31459e@kernel.org
Mime-Version: 1.0
From: <tang.dongxing@zte.com.cn>
To: <jirislaby@kernel.org>
Cc: <jgross@suse.com>, <sstabellini@kernel.org>,
        <oleksandr_tyshchenko@epam.com>, <jiqian.chen@amd.com>,
        <ray.huang@amd.com>, <jeff.johnson@oss.qualcomm.com>,
        <minhuadotchen@gmail.com>, <xen-devel@lists.xenproject.org>,
        <linux-kernel@vger.kernel.org>, <ye.xingchen@zte.com.cn>,
        <yang.guang5@zte.com.cn>, <yang.yang29@zte.com.cn>,
        <xu.xin16@zte.com.cn>
Subject: =?UTF-8?B?UmU6IFtQQVRDSF0geGVuL3BjaWJhY2s6IHVzZSBzeXNmc19lbWl0X2F0KCkgaW5zdGVhZCBvZiBzY25wcmludGYoKQ==?=
Content-Type: multipart/mixed;
	boundary="=====_001_next====="
X-MAIL:mse-fl1.zte.com.cn 52H9IkvC075214
X-Fangmail-Anti-Spam-Filtered: true
X-Fangmail-MID-QID: 67D7E91A.000/4ZGTty1W5Cz50FXM



--=====_001_next=====
Content-Type: multipart/related;
	boundary="=====_002_next====="


--=====_002_next=====
Content-Type: multipart/alternative;
	boundary="=====_003_next====="


--=====_003_next=====
Content-Type: text/plain;
	charset="UTF-8"
Content-Transfer-Encoding: base64

Pj4gRnJvbTogVGFuZ0Rvbmd4aW5nIDx0YW5nLmRvbmd4aW5nQHp0ZS5jb20uY24+DQo+PiANCj4+
IEZvbGxvdyB0aGUgYWR2aWNlIGluIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvc3lzZnMucnN0
Og0KPj4gc2hvdygpIHNob3VsZCBvbmx5IHVzZSBzeXNmc19lbWl0KCkgb3Igc3lzZnNfZW1pdF9h
dCgpIHdoZW4gZm9ybWF0dGluZw0KPj4gdGhlIHZhbHVlIHRvIGJlIHJldHVybmVkIHRvIHVzZXIg
c3BhY2UuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IFRhbmdEb25neGluZyA8dGFuZy5kb25neGlu
Z0B6dGUuY29tLmNuPg0KPj4gLS0tDQo+PiAgIGRyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9z
dHViLmMgfCAyICstDQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl
dGlvbigtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNp
X3N0dWIuYyBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMNCj4+IGluZGV4IGI2
MTZiNzc2OGMzYi4uYTA3ODJhNzRlZDM0IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy94ZW4veGVu
LXBjaWJhY2svcGNpX3N0dWIuYw0KPj4gKysrIGIvZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNp
X3N0dWIuYw0KPj4gQEAgLTEyODEsNyArMTI4MSw3IEBAIHN0YXRpYyBzc2l6ZV90IHNsb3RzX3No
b3coc3RydWN0IGRldmljZV9kcml2ZXIgKmRydiwgY2hhciAqYnVmKQ0KPj4gICAgICAgICAgIGlm
IChjb3VudCA+PSBQQUdFX1NJWkUpDQo+PiAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gDQo+PiAt
ICAgICAgICBjb3VudCArPSBzY25wcmludGYoYnVmICsgY291bnQsIFBBR0VfU0laRSAtIGNvdW50
LA0KPj4gKyAgICAgICAgY291bnQgKz0gc3lzZnNfZW1pdF9hdChidWYsIGNvdW50LA0KPg0KPlRo
aXMgaXMgd3JvbmcgdG9vIFsxXS4NCj4NCj5bMV0gDQo+aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv
YWxsLzljNTUyZDlhLTJkNDYtNDA2OS1hOWM0LTM1ZmFiODU3YmZjM0BrZXJuZWwub3JnLw0KPg0K
PnJlZ2FyZHMsDQo+LS0gDQo+anMNCj5zdXNlIGxhYnMNCg0KRGVhciBKaXJpU2xhYnksDQoNClRo
YW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjayxJIGFtIHNvcnJ5IGZvciBteSBwcmV2aW91cyBzdWJt
aXNzaW9ucy4NCkkgd2lsbCBjaGVjayBteSB3b3JrIGJlZm9yZSBzZW5kaW5nIGFueSBmdXJ0aGVy
IHVwZGF0ZXMuDQoNClRoYW5rIHlvdSBmb3IgeW91ciBndWlkYW5jZS4NCg0KQmVzdCByZWdhcmRz
LA0KVGFuZyBEb25neGluZw==


--=====_003_next=====
Content-Type: text/html ;
	charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBjbGFzcz0iemNvbnRlbnRSb3ciPjxwPiZndDsmZ3Q7IEZyb206IFRhbmdEb25neGluZyAm
bHQ7dGFuZy5kb25neGluZ0B6dGUuY29tLmNuJmd0OzwvcD48cD4mZ3Q7Jmd0OyZuYnNwOzwvcD48
cD4mZ3Q7Jmd0OyBGb2xsb3cgdGhlIGFkdmljZSBpbiBEb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1z
L3N5c2ZzLnJzdDo8L3A+PHA+Jmd0OyZndDsgc2hvdygpIHNob3VsZCBvbmx5IHVzZSBzeXNmc19l
bWl0KCkgb3Igc3lzZnNfZW1pdF9hdCgpIHdoZW4gZm9ybWF0dGluZzwvcD48cD4mZ3Q7Jmd0OyB0
aGUgdmFsdWUgdG8gYmUgcmV0dXJuZWQgdG8gdXNlciBzcGFjZS48L3A+PHA+Jmd0OyZndDsmbmJz
cDs8L3A+PHA+Jmd0OyZndDsgU2lnbmVkLW9mZi1ieTogVGFuZ0Rvbmd4aW5nICZsdDt0YW5nLmRv
bmd4aW5nQHp0ZS5jb20uY24mZ3Q7PC9wPjxwPiZndDsmZ3Q7IC0tLTwvcD48cD4mZ3Q7Jmd0OyZu
YnNwOyAmbmJzcDtkcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jIHwgMiArLTwvcD48
cD4mZ3Q7Jmd0OyZuYnNwOyAmbmJzcDsxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg
ZGVsZXRpb24oLSk8L3A+PHA+Jmd0OyZndDsmbmJzcDs8L3A+PHA+Jmd0OyZndDsgZGlmZiAtLWdp
dCBhL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMgYi9kcml2ZXJzL3hlbi94ZW4t
cGNpYmFjay9wY2lfc3R1Yi5jPC9wPjxwPiZndDsmZ3Q7IGluZGV4IGI2MTZiNzc2OGMzYi4uYTA3
ODJhNzRlZDM0IDEwMDY0NDwvcD48cD4mZ3Q7Jmd0OyAtLS0gYS9kcml2ZXJzL3hlbi94ZW4tcGNp
YmFjay9wY2lfc3R1Yi5jPC9wPjxwPiZndDsmZ3Q7ICsrKyBiL2RyaXZlcnMveGVuL3hlbi1wY2li
YWNrL3BjaV9zdHViLmM8L3A+PHA+Jmd0OyZndDsgQEAgLTEyODEsNyArMTI4MSw3IEBAIHN0YXRp
YyBzc2l6ZV90IHNsb3RzX3Nob3coc3RydWN0IGRldmljZV9kcml2ZXIgKmRydiwgY2hhciAqYnVm
KTwvcD48cD4mZ3Q7Jmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
aWYgKGNvdW50ICZndDs9IFBBR0VfU0laRSk8L3A+PHA+Jmd0OyZndDsmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7YnJlYWs7PC9wPjxwPiZndDsm
Z3Q7Jm5ic3A7PC9wPjxwPiZndDsmZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY291
bnQgKz0gc2NucHJpbnRmKGJ1ZiArIGNvdW50LCBQQUdFX1NJWkUgLSBjb3VudCw8L3A+PHA+Jmd0
OyZndDsgKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjb3VudCArPSBzeXNmc19lbWl0X2F0
KGJ1ZiwgY291bnQsPC9wPjxwPiZndDs8L3A+PHA+Jmd0O1RoaXMgaXMgd3JvbmcgdG9vIFsxXS48
L3A+PHA+Jmd0OzwvcD48cD4mZ3Q7WzFdJm5ic3A7PC9wPjxwPiZndDtodHRwczovL2xvcmUua2Vy
bmVsLm9yZy9hbGwvOWM1NTJkOWEtMmQ0Ni00MDY5LWE5YzQtMzVmYWI4NTdiZmMzQGtlcm5lbC5v
cmcvPC9wPjxwPiZndDs8L3A+PHA+Jmd0O3JlZ2FyZHMsPC9wPjxwPiZndDstLSZuYnNwOzwvcD48
cD4mZ3Q7anM8L3A+PHA+Jmd0O3N1c2UgbGFiczwvcD48cD48YnI+PC9wPjxwPkRlYXIgSmlyaVNs
YWJ5LDwvcD48cD48YnI+PC9wPjxwPlRoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjayxJIGFtIHNv
cnJ5IGZvciBteSBwcmV2aW91cyBzdWJtaXNzaW9ucy48L3A+PHA+SSB3aWxsIGNoZWNrIG15IHdv
cmsgYmVmb3JlIHNlbmRpbmcgYW55IGZ1cnRoZXIgdXBkYXRlcy48L3A+PHA+PGJyPjwvcD48cD5U
aGFuayB5b3UgZm9yIHlvdXIgZ3VpZGFuY2UuPC9wPjxwPjxicj48L3A+PHA+QmVzdCByZWdhcmRz
LDwvcD48cD5UYW5nIERvbmd4aW5nPC9wPjxwPjxicj48L3A+PC9kaXY+


--=====_003_next=====--

--=====_002_next=====--

--=====_001_next=====--



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:19:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:19:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916358.1321459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6d8-0006zB-LC; Mon, 17 Mar 2025 09:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916358.1321459; Mon, 17 Mar 2025 09:19: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 1tu6d8-0006z4-HS; Mon, 17 Mar 2025 09:19:30 +0000
Received: by outflank-mailman (input) for mailman id 916358;
 Mon, 17 Mar 2025 09:19: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=Fdmo=WE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tu6d7-0006yy-RI
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:19:29 +0000
Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com
 [2607:f8b0:4864:20::833])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecc3fde5-0310-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:19:28 +0100 (CET)
Received: by mail-qt1-x833.google.com with SMTP id
 d75a77b69052e-47662449055so19697301cf.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02:19: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: ecc3fde5-0310-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742203167; x=1742807967; 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=OMwM0hLA1WU+/2phdnWV/lLWNk8GvmmnmN3KU0xXyJM=;
        b=UAk37f63B+wvnwM/IsqWyUatbuE+DT0sBCMZMHK9bHBLWYgwB86PE80FQ6KFLFhK92
         wgEAZkuWUiS1XygAJyTItQckENP1YJsoDPNpKAu83s+XwXYNF3ZGRWL5B6BwjHYOoeXG
         yiAiScXjwULGN+pp13a7RnI5DA93xYl3dat2c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742203167; x=1742807967;
        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=OMwM0hLA1WU+/2phdnWV/lLWNk8GvmmnmN3KU0xXyJM=;
        b=nhThBZf/woBeryNoO3fOjK8F6H0fvGcaD2Vw/JSB7cKvhG07K7jRd1nvjYxzQjLGmJ
         dfrpiVXaaIkHLsstYyoLR/TL0uVfFodp/Vl7rDcAbtPKYr5naM+V14xvgFgT7ZPulhfi
         Z1CwuwAJqrTOmgqbN/UXQhcUjfyKu5TxQWQdUpNyOMl96qjsXKNySpduX0yQS2Bvn8Ef
         5qU4GTb1sW7rYMbD/ev0xtcp4CwgQd/1k4wFiYUkupwfw+2bhZQBmX3qNrTk3aNRL+6w
         mO2isaZ+PRhSn89ZEqJXGfk3xZ1Cvg933uu5Ub8Wz3f56GUMFmeLkskw1zBi7rwiWHhD
         BHEw==
X-Gm-Message-State: AOJu0YwH+aTq7Fnxqrlmv9Ebw4tgi7Up/Gvs7tGw82Bps8KzPave0otO
	tWCfm4sEWXRHkWjtGs6NPHfKsLvpY5zUqA+rMx1+UTJBkZFFcpVuEv0s+ro7kb9JLQMzwZFlJtr
	n+/ALA2OdC5DoyCyRSZI4HaWnuFw6he55UuXFfA==
X-Gm-Gg: ASbGncsqShBr24FK/u1kcp8cFsL0fJEqGWKcvZS6aOGuk6vIzErrtUGm1QwLyfklhQ7
	R/MpfEYRKXkxuS2WmZMPNZBjaZ86UCkx6+C/qW1mO4lYfbp+kWhmNpWDN6yREJbnE+HANMIwjSt
	I1iyySOI8OvEN47FcdgH9IH7N3ybiRzNveIrOUR3/ar32M8T1b
X-Google-Smtp-Source: AGHT+IFwUBLDIRDLVKyJb8UGMbH3n4QsJSD9En+bz+kGfk8iffIuxuC7Zj6hkQ+L0RcTecsDASopyqs6kyCgkC7eIgE=
X-Received: by 2002:a05:6214:21a1:b0:6e8:9e9c:d212 with SMTP id
 6a1803df08f44-6eaea7022d1mr152049196d6.0.1742203166948; Mon, 17 Mar 2025
 02:19:26 -0700 (PDT)
MIME-Version: 1.0
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
In-Reply-To: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Date: Mon, 17 Mar 2025 09:19:15 +0000
X-Gm-Features: AQ5f1Jqj4mCQHMGX0PKfqLisSRloIPdraqLwoFC3S6qwc9EAYQVoIl983x_hXJI
Message-ID: <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
Subject: Re: [PATCH v1] x86: make Viridian support optional
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>
Content-Type: multipart/alternative; boundary="000000000000e491dc0630864859"

--000000000000e491dc0630864859
Content-Type: text/plain; charset="UTF-8"

Hi,

I'm surprised this isn't already possible. Neat!

On Mon, 17 Mar 2025, 07:19 Sergiy Kibrik, <Sergiy_Kibrik@epam.com> wrote:

> Add config option HVM_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.
>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/Kconfig                  |  5 +++++
>  xen/arch/x86/hvm/Makefile             |  2 +-
>  xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
>  xen/arch/x86/hvm/vlapic.c             | 11 +++++++----
>  xen/arch/x86/include/asm/hvm/domain.h |  4 ++--
>  xen/arch/x86/include/asm/hvm/hvm.h    |  3 ++-
>  xen/arch/x86/include/asm/hvm/vcpu.h   |  3 ++-
>  7 files changed, 37 insertions(+), 18 deletions(-)
>
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 6e41bc0fb4..34f9b79d98 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -348,6 +348,11 @@ config HYPERV_GUEST
>
>  endif
>
> +config HVM_VIRIDIAN
> +       bool "Viridian enlightenments support" if EXPERT
> +       depends on HVM
> +       default y
> +
>


I don't see why this should be gated by EXPERT, provided a
suitable (now absent) help message was to exist explaining
what it does in plain simple words.

For the title, I'd say it needs to properly state it refers to
enlightenments for guests, rather than enlightenments for
Xen itself when running under Hyper-V. As it is, it sounds
ambiguous (Maybe "Hyper-V enlighnments for guests"?).

On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
rather redundant, and I think just VIRIDIAN works just as well
while being shorter.

 config MEM_PAGING
>         bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
>         depends on HVM
> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
> index 4c1fa5c6c2..6cc2e74fc4 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_HVM_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 2f31180b6f..4f51d0f66c 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -695,9 +695,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;
> +    }
>
>      rc = alternative_call(hvm_funcs.domain_initialise, d);
>      if ( rc != 0 )
> @@ -733,7 +736,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);
>
> @@ -1637,9 +1641,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(v->domain) )
> +    {
> +        rc = viridian_vcpu_init(v);
> +        if ( rc )
> +            goto fail6;
> +    }
>
>      rc = ioreq_server_add_vcpu_all(d, v);
>      if ( rc != 0 )
> @@ -1669,13 +1676,15 @@ int hvm_vcpu_initialise(struct vcpu *v)
>   fail2:
>      hvm_vcpu_cacheattr_destroy(v);
>   fail1:
> -    viridian_vcpu_deinit(v);
> +    if ( is_viridian_domain(v->domain) )
> +        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/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> index 065b2aab5b..b8236dade0 100644
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -426,7 +426,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
>       * priority vector and then recurse to handle the lower priority
>       * vector.
>       */
> -    bool missed_eoi = viridian_apic_assist_completed(v);
> +    bool missed_eoi = has_viridian_apic_assist(v->domain) ?
> +                          viridian_apic_assist_completed(v) : false;
>      int vector;
>
>   again:
> @@ -442,7 +443,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);
>
>      vlapic_clear_vector(vector, &vlapic->regs->data[APIC_ISR]);
> @@ -1360,7 +1361,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);
>
>      isr = vlapic_find_highest_isr(vlapic);
> @@ -1373,7 +1375,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
>      if ( isr >= 0 &&
>           (irr & 0xf0) <= (isr & 0xf0) )
>      {
> -        viridian_apic_assist_clear(v);
> +        if ( has_viridian_apic_assist(v->domain) )
> +            viridian_apic_assist_clear(v);
>          return -1;
>      }
>
> diff --git a/xen/arch/x86/include/asm/hvm/domain.h
> b/xen/arch/x86/include/asm/hvm/domain.h
> index 333501d5f2..bc52504cdd 100644
> --- a/xen/arch/x86/include/asm/hvm/domain.h
> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> @@ -110,9 +110,9 @@ struct hvm_domain {
>
>      /* hypervisor intercepted msix table */
>      struct list_head       msixtbl_list;
> -
> +#ifdef CONFIG_HVM_VIRIDIAN
>      struct viridian_domain *viridian;
> -
> +#endif
>      /*
>       * TSC value that VCPUs use to calculate their tsc_offset value.
>       * Used during initialization and save/restore.
> diff --git a/xen/arch/x86/include/asm/hvm/hvm.h
> b/xen/arch/x86/include/asm/hvm/hvm.h
> index 963e820113..1bbeece117 100644
> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -507,7 +507,8 @@ hvm_get_cpl(struct vcpu *v)
>      (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
>
>  #define is_viridian_domain(d) \
> -    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
> +    (is_hvm_domain(d) && IS_ENABLED(CONFIG_HVM_VIRIDIAN) && \
> +                         (viridian_feature_mask(d) & HVMPV_base_freq))
>
>  #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 196fed6d5d..bac35ec47a 100644
> --- a/xen/arch/x86/include/asm/hvm/vcpu.h
> +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
> @@ -171,8 +171,9 @@ struct hvm_vcpu {
>
>      /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
>      struct x86_event     inject_event;
> -
> +#ifdef CONFIG_HVM_VIRIDIAN
>      struct viridian_vcpu *viridian;
> +#endif
>  };
>
>  #endif /* __ASM_X86_HVM_VCPU_H__ */
>

nit: I suspect the code would be far less cluttered with "if viridian..."
if the
init/deinit/etc functions had dummy versions of those functions when
!HVM_VIRIDIAN in the header.

Cheers,
Alejandro

>
>

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

<div dir=3D"auto"><div>Hi,</div><div dir=3D"auto"><br></div><div dir=3D"aut=
o">I&#39;m surprised this isn&#39;t already possible. Neat!<br><br><div cla=
ss=3D"gmail_quote gmail_quote_container" dir=3D"auto"><div dir=3D"ltr" clas=
s=3D"gmail_attr">On Mon, 17 Mar 2025, 07:19 Sergiy Kibrik, &lt;<a href=3D"m=
ailto:Sergiy_Kibrik@epam.com">Sergiy_Kibrik@epam.com</a>&gt; wrote:<br></di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:=
1px #ccc solid;padding-left:1ex">Add config option HVM_VIRIDIAN that covers=
 viridian code within HVM.<br>
Calls to viridian functions guarded by is_viridian_domain() and related mac=
ros.<br>
Having this option may be beneficial by reducing code footprint for systems=
<br>
that are not using Hyper-V.<br>
<br>
Signed-off-by: Sergiy Kibrik &lt;<a href=3D"mailto:Sergiy_Kibrik@epam.com" =
target=3D"_blank" rel=3D"noreferrer">Sergiy_Kibrik@epam.com</a>&gt;<br>
---<br>
=C2=A0xen/arch/x86/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 |=C2=A0 5 +++++<br>
=C2=A0xen/arch/x86/hvm/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0|=C2=A0 2 +-<br>
=C2=A0xen/arch/x86/hvm/hvm.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 | 27 ++++++++++++++++++---------<br>
=C2=A0xen/arch/x86/hvm/vlapic.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0| 11 +++++++----<br>
=C2=A0xen/arch/x86/include/asm/hvm/domain.h |=C2=A0 4 ++--<br>
=C2=A0xen/arch/x86/include/asm/hvm/hvm.h=C2=A0 =C2=A0 |=C2=A0 3 ++-<br>
=C2=A0xen/arch/x86/include/asm/hvm/vcpu.h=C2=A0 =C2=A0|=C2=A0 3 ++-<br>
=C2=A07 files changed, 37 insertions(+), 18 deletions(-)<br>
<br>
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig<br>
index 6e41bc0fb4..34f9b79d98 100644<br>
--- a/xen/arch/x86/Kconfig<br>
+++ b/xen/arch/x86/Kconfig<br>
@@ -348,6 +348,11 @@ config HYPERV_GUEST<br>
<br>
=C2=A0endif<br>
<br>
+config HVM_VIRIDIAN<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0bool &quot;Viridian enlightenments support&quot=
; if EXPERT<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0depends on HVM<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0default y<br>
+<br></blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"auto"=
><br></div><div dir=3D"auto">I don&#39;t see why this should be gated by EX=
PERT, provided a</div><div dir=3D"auto">suitable (now absent) help message =
was to exist explaining=C2=A0</div><div dir=3D"auto">what it does in plain =
simple words.</div><div dir=3D"auto"><br></div><div dir=3D"auto">For the ti=
tle, I&#39;d say it needs to properly state it refers to</div><div dir=3D"a=
uto">enlightenments for guests, rather than enlightenments for</div><div di=
r=3D"auto">Xen itself when running under Hyper-V. As it is, it sounds</div>=
<div dir=3D"auto">ambiguous (Maybe &quot;Hyper-V enlighnments for guests&qu=
ot;?).</div><div dir=3D"auto"><br></div><div dir=3D"auto">On a personal nit=
picky preference note, I&#39;d say HVM_VIRIDIAN sounds</div><div dir=3D"aut=
o">rather redundant, and I think just VIRIDIAN works just as well</div><div=
 dir=3D"auto">while being shorter.</div><div dir=3D"auto"><br></div><div di=
r=3D"auto"><div class=3D"gmail_quote gmail_quote_container"><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex">
=C2=A0config MEM_PAGING<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 bool &quot;Xen memory paging support (UNSUPPORT=
ED)&quot; if UNSUPPORTED<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on HVM<br>
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile<br>
index 4c1fa5c6c2..6cc2e74fc4 100644<br>
--- a/xen/arch/x86/hvm/Makefile<br>
+++ b/xen/arch/x86/hvm/Makefile<br>
@@ -1,6 +1,6 @@<br>
=C2=A0obj-$(CONFIG_AMD_SVM) +=3D svm/<br>
=C2=A0obj-$(CONFIG_INTEL_VMX) +=3D vmx/<br>
-obj-y +=3D viridian/<br>
+obj-$(CONFIG_HVM_VIRIDIAN) +=3D viridian/<br>
<br>
=C2=A0obj-y +=3D asid.o<br>
=C2=A0obj-y +=3D dm.o<br>
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c<br>
index 2f31180b6f..4f51d0f66c 100644<br>
--- a/xen/arch/x86/hvm/hvm.c<br>
+++ b/xen/arch/x86/hvm/hvm.c<br>
@@ -695,9 +695,12 @@ int hvm_domain_initialise(struct domain *d,<br>
=C2=A0 =C2=A0 =C2=A0if ( hvm_tsc_scaling_supported )<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0d-&gt;arch.hvm.tsc_scaling_ratio =3D hvm_=
default_tsc_scaling_ratio;<br>
<br>
-=C2=A0 =C2=A0 rc =3D viridian_domain_init(d);<br>
-=C2=A0 =C2=A0 if ( rc )<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 goto fail2;<br>
+=C2=A0 =C2=A0 if ( is_viridian_domain(d) )<br>
+=C2=A0 =C2=A0 {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 rc =3D viridian_domain_init(d);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( rc )<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 goto fail2;<br>
+=C2=A0 =C2=A0 }<br>
<br>
=C2=A0 =C2=A0 =C2=A0rc =3D alternative_call(hvm_funcs.domain_initialise, d)=
;<br>
=C2=A0 =C2=A0 =C2=A0if ( rc !=3D 0 )<br>
@@ -733,7 +736,8 @@ void hvm_domain_relinquish_resources(struct domain *d)<=
br>
=C2=A0 =C2=A0 =C2=A0if ( hvm_funcs.nhvm_domain_relinquish_resources )<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0alternative_vcall(hvm_funcs.nhvm_domain_r=
elinquish_resources, d);<br>
<br>
-=C2=A0 =C2=A0 viridian_domain_deinit(d);<br>
+=C2=A0 =C2=A0 if ( is_viridian_domain(d) )<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 viridian_domain_deinit(d);<br>
<br>
=C2=A0 =C2=A0 =C2=A0ioreq_server_destroy_all(d);<br>
<br>
@@ -1637,9 +1641,12 @@ int hvm_vcpu_initialise(struct vcpu *v)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &amp;&amp; (rc =3D nestedhvm_vcpu_initia=
lise(v)) &lt; 0 ) /* teardown: nestedhvm_vcpu_destroy */<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0goto fail5;<br>
<br>
-=C2=A0 =C2=A0 rc =3D viridian_vcpu_init(v);<br>
-=C2=A0 =C2=A0 if ( rc )<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 goto fail6;<br>
+=C2=A0 =C2=A0 if ( is_viridian_domain(v-&gt;domain) )<br>
+=C2=A0 =C2=A0 {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 rc =3D viridian_vcpu_init(v);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( rc )<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 goto fail6;<br>
+=C2=A0 =C2=A0 }<br>
<br>
=C2=A0 =C2=A0 =C2=A0rc =3D ioreq_server_add_vcpu_all(d, v);<br>
=C2=A0 =C2=A0 =C2=A0if ( rc !=3D 0 )<br>
@@ -1669,13 +1676,15 @@ int hvm_vcpu_initialise(struct vcpu *v)<br>
=C2=A0 fail2:<br>
=C2=A0 =C2=A0 =C2=A0hvm_vcpu_cacheattr_destroy(v);<br>
=C2=A0 fail1:<br>
-=C2=A0 =C2=A0 viridian_vcpu_deinit(v);<br>
+=C2=A0 =C2=A0 if ( is_viridian_domain(v-&gt;domain) )<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 viridian_vcpu_deinit(v);<br>
=C2=A0 =C2=A0 =C2=A0return rc;<br>
=C2=A0}<br>
<br>
=C2=A0void hvm_vcpu_destroy(struct vcpu *v)<br>
=C2=A0{<br>
-=C2=A0 =C2=A0 viridian_vcpu_deinit(v);<br>
+=C2=A0 =C2=A0 if ( is_viridian_domain(v-&gt;domain) )<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 viridian_vcpu_deinit(v);<br>
<br>
=C2=A0 =C2=A0 =C2=A0ioreq_server_remove_vcpu_all(v-&gt;domain, v);<br>
<br>
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c<br>
index 065b2aab5b..b8236dade0 100644<br>
--- a/xen/arch/x86/hvm/vlapic.c<br>
+++ b/xen/arch/x86/hvm/vlapic.c<br>
@@ -426,7 +426,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)<br>
=C2=A0 =C2=A0 =C2=A0 * priority vector and then recurse to handle the lower=
 priority<br>
=C2=A0 =C2=A0 =C2=A0 * vector.<br>
=C2=A0 =C2=A0 =C2=A0 */<br>
-=C2=A0 =C2=A0 bool missed_eoi =3D viridian_apic_assist_completed(v);<br>
+=C2=A0 =C2=A0 bool missed_eoi =3D has_viridian_apic_assist(v-&gt;domain) ?=
<br>
+=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 viridian_apic_assist_completed(v) : false;<br>
=C2=A0 =C2=A0 =C2=A0int vector;<br>
<br>
=C2=A0 again:<br>
@@ -442,7 +443,7 @@ void vlapic_EOI_set(struct vlapic *vlapic)<br>
=C2=A0 =C2=A0 =C2=A0 * NOTE: It is harmless to call viridian_apic_assist_cl=
ear() on a<br>
=C2=A0 =C2=A0 =C2=A0 *=C2=A0 =C2=A0 =C2=A0 =C2=A0recursion, even though it =
is not necessary.<br>
=C2=A0 =C2=A0 =C2=A0 */<br>
-=C2=A0 =C2=A0 if ( !missed_eoi )<br>
+=C2=A0 =C2=A0 if ( has_viridian_apic_assist(v-&gt;domain) &amp;&amp; !miss=
ed_eoi )<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0viridian_apic_assist_clear(v);<br>
<br>
=C2=A0 =C2=A0 =C2=A0vlapic_clear_vector(vector, &amp;vlapic-&gt;regs-&gt;da=
ta[APIC_ISR]);<br>
@@ -1360,7 +1361,8 @@ int vlapic_has_pending_irq(struct vcpu *v)<br>
=C2=A0 =C2=A0 =C2=A0 * If so, we need to emulate the EOI here before compar=
ing ISR<br>
=C2=A0 =C2=A0 =C2=A0 * with IRR.<br>
=C2=A0 =C2=A0 =C2=A0 */<br>
-=C2=A0 =C2=A0 if ( viridian_apic_assist_completed(v) )<br>
+=C2=A0 =C2=A0 if ( has_viridian_apic_assist(v-&gt;domain) &amp;&amp;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0viridian_apic_assist_completed(v) )<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0vlapic_EOI_set(vlapic);<br>
<br>
=C2=A0 =C2=A0 =C2=A0isr =3D vlapic_find_highest_isr(vlapic);<br>
@@ -1373,7 +1375,8 @@ int vlapic_has_pending_irq(struct vcpu *v)<br>
=C2=A0 =C2=A0 =C2=A0if ( isr &gt;=3D 0 &amp;&amp;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (irr &amp; 0xf0) &lt;=3D (isr &amp; 0xf0=
) )<br>
=C2=A0 =C2=A0 =C2=A0{<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 viridian_apic_assist_clear(v);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( has_viridian_apic_assist(v-&gt;domain) )<=
br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 viridian_apic_assist_clear(v);<b=
r>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return -1;<br>
=C2=A0 =C2=A0 =C2=A0}<br>
<br>
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/a=
sm/hvm/domain.h<br>
index 333501d5f2..bc52504cdd 100644<br>
--- a/xen/arch/x86/include/asm/hvm/domain.h<br>
+++ b/xen/arch/x86/include/asm/hvm/domain.h<br>
@@ -110,9 +110,9 @@ struct hvm_domain {<br>
<br>
=C2=A0 =C2=A0 =C2=A0/* hypervisor intercepted msix table */<br>
=C2=A0 =C2=A0 =C2=A0struct list_head=C2=A0 =C2=A0 =C2=A0 =C2=A0msixtbl_list=
;<br>
-<br>
+#ifdef CONFIG_HVM_VIRIDIAN<br>
=C2=A0 =C2=A0 =C2=A0struct viridian_domain *viridian;<br>
-<br>
+#endif<br>
=C2=A0 =C2=A0 =C2=A0/*<br>
=C2=A0 =C2=A0 =C2=A0 * TSC value that VCPUs use to calculate their tsc_offs=
et value.<br>
=C2=A0 =C2=A0 =C2=A0 * Used during initialization and save/restore.<br>
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/=
hvm/hvm.h<br>
index 963e820113..1bbeece117 100644<br>
--- a/xen/arch/x86/include/asm/hvm/hvm.h<br>
+++ b/xen/arch/x86/include/asm/hvm/hvm.h<br>
@@ -507,7 +507,8 @@ hvm_get_cpl(struct vcpu *v)<br>
=C2=A0 =C2=A0 =C2=A0(has_hvm_params(d) ? (d)-&gt;arch.hvm.params[HVM_PARAM_=
VIRIDIAN] : 0)<br>
<br>
=C2=A0#define is_viridian_domain(d) \<br>
-=C2=A0 =C2=A0 (is_hvm_domain(d) &amp;&amp; (viridian_feature_mask(d) &amp;=
 HVMPV_base_freq))<br>
+=C2=A0 =C2=A0 (is_hvm_domain(d) &amp;&amp; IS_ENABLED(CONFIG_HVM_VIRIDIAN)=
 &amp;&amp; \<br>
+=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(viridian_feature_mask(d) &amp; HVMPV_base_freq))<br>
<br>
=C2=A0#define is_viridian_vcpu(v) \<br>
=C2=A0 =C2=A0 =C2=A0is_viridian_domain((v)-&gt;domain)<br>
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm=
/hvm/vcpu.h<br>
index 196fed6d5d..bac35ec47a 100644<br>
--- a/xen/arch/x86/include/asm/hvm/vcpu.h<br>
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h<br>
@@ -171,8 +171,9 @@ struct hvm_vcpu {<br>
<br>
=C2=A0 =C2=A0 =C2=A0/* Pending hw/sw interrupt (.vector =3D -1 means nothin=
g pending). */<br>
=C2=A0 =C2=A0 =C2=A0struct x86_event=C2=A0 =C2=A0 =C2=A0inject_event;<br>
-<br>
+#ifdef CONFIG_HVM_VIRIDIAN<br>
=C2=A0 =C2=A0 =C2=A0struct viridian_vcpu *viridian;<br>
+#endif<br>
=C2=A0};<br>
<br>
=C2=A0#endif /* __ASM_X86_HVM_VCPU_H__ */<br></blockquote></div></div><div =
dir=3D"auto"><br></div><div dir=3D"auto">nit: I suspect the code would be f=
ar less cluttered with &quot;if viridian...&quot; if the</div><div dir=3D"a=
uto">init/deinit/etc functions had dummy versions of those functions when</=
div><div dir=3D"auto">!HVM_VIRIDIAN in the header.</div><div dir=3D"auto"><=
br></div><div dir=3D"auto">Cheers,</div><div dir=3D"auto">Alejandro</div><d=
iv dir=3D"auto"><div class=3D"gmail_quote gmail_quote_container"><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex"><br></blockquote></div></div></div>

--000000000000e491dc0630864859--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:21:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:21:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916382.1321479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6ei-00014H-C4; Mon, 17 Mar 2025 09:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916382.1321479; Mon, 17 Mar 2025 09:21: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 1tu6ei-00014A-8G; Mon, 17 Mar 2025 09:21:08 +0000
Received: by outflank-mailman (input) for mailman id 916382;
 Mon, 17 Mar 2025 09:21: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=Rdq/=WE=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tu6eh-000142-76
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:21: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 2671d53f-0311-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 10:21:04 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3912d2c89ecso3796041f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02:21:04 -0700 (PDT)
Received: from [10.223.46.213] (109.21.205.77.rev.sfr.net. [77.205.21.109])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c888152dsm14131479f8f.48.2025.03.17.02.21.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 02:21: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: 2671d53f-0311-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742203264; x=1742808064; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=YpUsKKtqVCRGopEBPreIzxle1j3+eqS8AQYhEVEoDhg=;
        b=g6i4Ivgh8CyGsdN6TXvN4pDhSRbO8CGw8zK+Fp3i+5V2+ATJkHM/HuYZEbeqZyObAY
         pcwVFVRFZzq9vJgsSzg4fmTT4jDptqUdJJji54GXaIynnCXKIhTSPCZnEEhrwcymsn06
         p8oIzk36FSpJ1ydp7z6n1xaJfZj6HbLBEJRSIqKlHtdV8ND3TgWSGpW8w7ZtnIMVF2Lb
         l4gZZkZU1/hp57nsLoy6/blEiSYB5dPPFFoC5urtAGN0oC50QsehNJBBBxq6fVojbyvd
         UeqOIaCkn7V7V2+S6eB5dLt1OsSiP5wV3BzZtyKQOjVTS+YZ3z9EXnnlv9rEI48Hoddv
         nauw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742203264; x=1742808064;
        h=content-transfer-encoding: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=YpUsKKtqVCRGopEBPreIzxle1j3+eqS8AQYhEVEoDhg=;
        b=mYhtXZX5lk9KX1yToQO/AkH/MdA5hvypBq2Tb65gQel7YGkxACCvrKmY39/ml+i/AN
         e4Aw5Xsa1/8FxQJfzfSxhZVb4IZVSTwFytslC+Ehqnl23DMjwHqLcGuw1dhX5JgUidHs
         4M90icf3gQtEMkZAdb5QYP8UffHTpKDPqWcnI9h7U4Jew5uRUTjgUbS/werxuhKAug45
         U8pt8gWcYon+ZvZjFoVcUvxMpCwyeboo+k9uwR4bv/N8H+/rgVZFKgwodTDwia5YQwSo
         AoFdfYx7oTsdb7F4RlAzOHnRcD7W/69a0fqsn2s6e5pbAXZND6pN8tvtHbfdlWRelH0u
         h4Gw==
X-Forwarded-Encrypted: i=1; AJvYcCWHVvI51pNahMBpXbtXPqdeoBtIACdH0fvdZgaPbrBlTi0jo7bUb6ZYap13nlYq4HITMPh/uPYXUQQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKNHxHn0Ao8MwTvJ8CGzA5hW9vvBG2jBCuh4ldrMuwuL5wciti
	u+AqZXuPpq/EBRYSqCJoag/DCdJouE1OgAJOweBZiHxIDM6Ohqhc6vJKOflLEXQ=
X-Gm-Gg: ASbGnctJ+xp/3R1NOVEklb12cgv5oVe317bfkzT3CIqEt5PaorCXzy6xVBobkqcSpod
	jppxKkdLcQO6z0jmNDPLlj5eX2+kI3WSjlJ7rZCJyae8zTqkqo1bXqTaaln5lLtSRl0Z0dwA3ZG
	hXx9A1G37NxGqR6iTe9pg7vpqt60oZP1oUCdggHiz0tnvvhHQrkhe6lTeNnX73hhJ9jyXqjogCW
	F8UGPNq7YQ/mblbIzU9SMUfc/CUKLgVTQVNJZSkFbY3z+9+5f/K/g2OUiFWPTCWX6dbhduWgAdw
	q6Ve1YtGAgaqFVjjZ9DCiLrKqdy+Wvts3lmGIUbnF6OdDm09l42K9ODjBqegwW7rIsHtGAUEFnv
	a8oui9deA53I=
X-Google-Smtp-Source: AGHT+IGWnfmu1vxKt8DfVr5Wh5yIJXe0q4pEomCwp6mUHJGY4TnJ5r3CTWvfyQ4vsQ6wNtdAUg6E4w==
X-Received: by 2002:adf:a456:0:b0:390:df83:1f5d with SMTP id ffacd0b85a97d-3971f4116ecmr10959222f8f.35.1742203263878;
        Mon, 17 Mar 2025 02:21:03 -0700 (PDT)
Message-ID: <3ce90214-a080-4ae8-86ff-9f8fd20f1733@linaro.org>
Date: Mon, 17 Mar 2025 10:21:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 00/17] make system memory API available for common code
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>,
 Anthony PERARD <anthony.perard@vates.tech>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Paul Durrant <paul@xen.org>,
 Peter Xu <peterx@redhat.com>, alex.bennee@linaro.org,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>,
 Markus Armbruster <armbru@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <5951f731-b936-42eb-b3ff-bc66ef9c9414@linaro.org> <Z9R2mjfaNcsSuQWq@l14>
 <ee814e2f-c461-4cc2-889d-16bb2df44fdf@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <ee814e2f-c461-4cc2-889d-16bb2df44fdf@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 14/3/25 19:39, Pierrick Bouvier wrote:
> On 3/14/25 11:34, Anthony PERARD wrote:
>> On Fri, Mar 14, 2025 at 10:33:08AM -0700, Pierrick Bouvier wrote:
>>> Hi,
>>>
>>> one patch is missing review:
>>> [PATCH v5 12/17] hw/xen: add stubs for various functions.
>>
>> My "Acked-by" wasn't enough? Feel free try change it to "Reviewed-by"
>> instead.
>>
> 
> Those are differents. From what I understand, Reviewed implies Acked, 
> but the opposite is not true. If it was, they would be equivalent.
> Thanks.

IIUC on QEMU Acked-by means "as a maintainer of files modified by
this patch, I don't have objection on my area, as long as someone
else takes the patch". It doesn't mean the patch has been reviewed.

Please correct me if I'm wrong.

Thanks,

Phil.


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:29:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:29:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916396.1321488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6n1-0002Lg-10; Mon, 17 Mar 2025 09:29:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916396.1321488; Mon, 17 Mar 2025 09:29: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 1tu6n0-0002LZ-Ua; Mon, 17 Mar 2025 09:29:42 +0000
Received: by outflank-mailman (input) for mailman id 916396;
 Mon, 17 Mar 2025 09:29: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=Q9Sv=WE=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tu6my-0002LT-Ms
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:29:41 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5885ff4d-0312-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 10:29:38 +0100 (CET)
Received: from DU7P191CA0014.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:54e::27)
 by AM0PR08MB5506.eurprd08.prod.outlook.com (2603:10a6:208:17e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:29:35 +0000
Received: from DU6PEPF00009526.eurprd02.prod.outlook.com
 (2603:10a6:10:54e:cafe::89) by DU7P191CA0014.outlook.office365.com
 (2603:10a6:10:54e::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 09:29:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF00009526.mail.protection.outlook.com (10.167.8.7) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via
 Frontend Transport; Mon, 17 Mar 2025 09:29:35 +0000
Received: ("Tessian outbound 9ad6b0132486:v594");
 Mon, 17 Mar 2025 09:29:34 +0000
Received: from L74999bcf0674.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6D24B1FF-FD36-4411-8A76-EAE672587F23.1; 
 Mon, 17 Mar 2025 09:29:22 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L74999bcf0674.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 17 Mar 2025 09:29:22 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 PAWPR08MB9032.eurprd08.prod.outlook.com (2603:10a6:102:335::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.33; Mon, 17 Mar 2025 09:29:20 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 09:29: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: 5885ff4d-0312-11f0-9899-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=qpOdUqte7x1U5dEfzNR7kru+hZBpbRHgsWsI8hebga6piqKKp21MTE9wBRa3Srv60CZ7086eOW5iiycjEfKbVdrXdy3ZVBWnLVAhZGXqmP+6mkpti5hQSrlspnZeppPeAiDLFXZnwjxJdunU8tOQyyLg66ZQKdnKe/YsdCtwRUBMkfOxd5tq3QlxYDt+ZA248AbWWlUz3XqCOQ309zJu49AtU34HlhJHamy9HXDw7jzWFbS6r/l6W0BOHp1PTOwbcpz4oAj24kV7zk4VRWi/+ce0JSJlAoI2Qb1LRp4YTVPkB/3iSY07T7UnV3Mw1Z7/vFqZZk9tgzPMbBGmuLCr/w==
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=CLjayvwV+l3sJBls3Ax1BA2yCDD4U1EwskKnJNUiato=;
 b=TCaF5gxr6bBn5zXotZ1VwI5Zls1AmEm5wCigMcCISzBFgXt9SK/DKbc1GFXHPntC3Mcxj75l+ZSk9J7qovYqE9MXQiREaFZfOYxHb441UZIhCb9VG9qsvSy8rqnwzGxh6hXSdCYLNRitvUbRZYyKkdkytz4r3AfW/CyI1M4rz7LACiCyQigKKlDP8j4n5dotqh0wQS4lfmYOJBzvhEDl9qdd8wmwfLi9JAoWrU02XAd3hsYshNcDMSPB2qDoZvHNUHZtrn7OWQydCtxGntNAEpkCzvzk8RrDw8ki9/VfCtpkdqKfRN24IholfvWp3A2aQVUkqqiTb8Q33GbrGWIMiw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=CLjayvwV+l3sJBls3Ax1BA2yCDD4U1EwskKnJNUiato=;
 b=AnersV0IU/Sg9B6D+xIPo5Z3coJD4AFnVqiTh5VjOBNeiOko/9oC//zygAafBOfTmBHAd32DN+F467AbBJZkH8AjYZq5nEbHJKgr7xuhb8PrA5dCVvtrLvUkUlBLbeU5D4W/yuE4zBPRDmI5siqE4+9pTlx1gXfsl7NvECvqoGE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 173c9a57dabd8fa8
X-TessianGatewayMetadata: xrn3B0k7ee23dix+SOKKWa/i3nJIK6PiIOgqG0BFOYtYmwXULq/m3nlyaKSKzzXtXwAvJFFc5klJqpuAPuYg3dQRHmSdQgYrfNsgm4ICb9jNB8lUBAbPQVBWZiSftRlji5pSCqtLtA1ggJkS1am679HbnRKD1cb9IxyJoH75vsY=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uBoMZHCGSN3VrZV26LTJ8jkuFBmSk/ITkUyZv1ZBc3waVpxLpERsAAwTAZaw7TDsqciUHIMAOfy+y45zQ0Vku0Bmtu9vshoBDqVIiIitdQY/fLq5tDiXmsHWpB8mREWgGrWyw+ZuYlwQ8ZLK+gyc2X6wKlmdEQUFJJjAe15hBuDmeKsXqaIE7p96AQao+mJEoPyrQuG2YagfXpi8VFzW8n8BahywDSrJVygVE/B34at30iJ84ctrYtc8YaDUDBcZzb5N/wa/zXYrkrMVPuZX3ovjAGJCEG6fNeQL1gza/GxaUWEy0SyXemlfqdXFpdGt0fl+w5Qnl0ztnLGH5MaVfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CLjayvwV+l3sJBls3Ax1BA2yCDD4U1EwskKnJNUiato=;
 b=SVb/GaekJzEwFZXfc2wGo4kZm5JgE1mS2RH9/Ty/1BhBiegctXwKJLKXSCKyh8xslpWk0J6kiQoaNljqsP4beTMoxF2wRPuxxbZn73lMYtRKTzNY8wDb6lHXcN865+Ytf3qnbEcCXHY1HXI/SRZv87+7iqMx55dDv9CeDHkQVDU8i+oY92G+i17Indf7wpYYQU0gbYkgAyMOZnxkqfHwwLv6blcvAWz2+RhUsa55l6rFt/sktISgsUaDEmspAvqnoOdNFoeG8oaN53mfn+/WTsG3ISoaChdFB1wjc6W9jxQxHOaakDuGAS3HQEnrZSDWHlVcHnA7pa437SJBGhHdIQ==
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=CLjayvwV+l3sJBls3Ax1BA2yCDD4U1EwskKnJNUiato=;
 b=AnersV0IU/Sg9B6D+xIPo5Z3coJD4AFnVqiTh5VjOBNeiOko/9oC//zygAafBOfTmBHAd32DN+F467AbBJZkH8AjYZq5nEbHJKgr7xuhb8PrA5dCVvtrLvUkUlBLbeU5D4W/yuE4zBPRDmI5siqE4+9pTlx1gXfsl7NvECvqoGE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Penny Zheng <Penny.Zheng@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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Chen
	<Wei.Chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 6/7] xen: introduce Kconfig HAS_PAGING_MEMPOOL
Thread-Topic: [PATCH v2 6/7] xen: introduce Kconfig HAS_PAGING_MEMPOOL
Thread-Index: AQHblqk6YtpfolyfmEyO326feCx3mrN3A2MAgAANRIA=
Date: Mon, 17 Mar 2025 09:29:19 +0000
Message-ID: <B33096DB-1CFC-41CE-8906-FA4AC7708FF9@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-7-luca.fancellu@arm.com>
 <763a55dc-79ff-4176-9286-17a144bd8da7@suse.com>
In-Reply-To: <763a55dc-79ff-4176-9286-17a144bd8da7@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|PAWPR08MB9032:EE_|DU6PEPF00009526:EE_|AM0PR08MB5506:EE_
X-MS-Office365-Filtering-Correlation-Id: 07c25ea7-6f3d-4464-eed7-08dd65363b2b
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?NFkxcmZ1K0lJR1JYMEpHNndVZ1RwR3MwcnNwQVJrQzAxRTl6ckJ6WjUrQTYw?=
 =?utf-8?B?dmVzbnRrTDJScklwY3Y1cUFUMkFHaXhtamM3ODRUcHIrT0lXdHFLU21md1Mx?=
 =?utf-8?B?eUdqSUJsR0RtMGc0emppaVRQQXo1SDl4SFZ5bE93aSt1Qit4aHJTaWxQNkc1?=
 =?utf-8?B?OFJQL3FsWVkrQTF4MndOMktWdFRhUXhHdkhTc0QwMXFmT2dlRnpieEV6Z0RW?=
 =?utf-8?B?WDluTVh0YU8yNXhXdGt0VVE4M0w3UDFRLzNjd3NTYzNSYkxVd25VWHZrSmNy?=
 =?utf-8?B?SHpqTGZPUnRLaDdTanZ1cExGRTM5L1BWZjdLZXNVdEtuUjBQWU9yTnBBLzVT?=
 =?utf-8?B?d3dXcXlyY2F4N0NtYTVNNWNJaXFnVTlEUHd1Z0xydEZ3TDBwT3hvckJpdVV1?=
 =?utf-8?B?UU1Xa2ZUdStzNXNIbDRCY2NtQjBKc09lRXY2Z29Fa1o3MGx1T0E4UTRQbGg1?=
 =?utf-8?B?OVhOSHRKanRpYVM0L0xIb0NFSFRBTkczcXBGNTVEVnV3MkNSbWh5SHFyV0Vs?=
 =?utf-8?B?OU1lTUVtdHphU29CRHlmOS9zRS9HRzNrTjQ3NzlaMEU2bWhiSHdvOGFKRmhX?=
 =?utf-8?B?RlJweUE5Q2NPWC9VTFFyLzNSMklNVlVkVklwZTkyMmE5VEJqWWx3aTFLOEZR?=
 =?utf-8?B?d2g3eENnciswbVJ3Y2JmUDg2a0JQdjY1RHNiKzM5ZmkvVStQbDUwMzNmZndX?=
 =?utf-8?B?TmdycGJtNXBiTHM1c3VZQkhYY3kzOHFsM01sQ21CdmxRN0dZcTR4ZlNKKytM?=
 =?utf-8?B?RVh0NWpqZ1F0a3ZrOUQ0Y01HdmdrRUJwK2FWTUw0NjA0TzB1dlFyZUkzbWFJ?=
 =?utf-8?B?QUw5amtmVGlXTG9RTUdCenlIQjY5RURaK3hsUVltUHFHVXVxODdLcGVQVlB0?=
 =?utf-8?B?YWFvVHBTaUZZckZXcFg0SGg4U3NSa095NTlhTVowNGtndDZPNFFxYlV5d0po?=
 =?utf-8?B?MS9KNmo1RXpXRGVnc1hPdHNwMnV2c0V1aG9jbmZmZmJZVXR6cVFBalJnK0Ru?=
 =?utf-8?B?b1orenJlMHE2MStWdUx2NVQ3a3FYQ0dUbUdDOUhEZU5BaS9jTlNBMjBsYWFi?=
 =?utf-8?B?aXN2NHlkS1ZqY2hFNDU4b25sWHBnaEhEODd6QzJJOVlNVlI4R1B2WGVRTFlD?=
 =?utf-8?B?Zm1EbnNLS3lUYTl2bHRrTHpnQTFOMG1VdnUybDRlLzN1TlRPZXpvVXJhL20y?=
 =?utf-8?B?eEgrOFM1ZDNxRVFLMm1oRFZCZ0Z5SEdrclpITTQrTmhQVG9vQkVBY1JUeThN?=
 =?utf-8?B?NzRuYTBlN3BPK3NiNWZvSkxTRWpsWW9hNU5yeVQ5Z0VCaTBRT2NsZmwwTnRR?=
 =?utf-8?B?ZmlDWHBwbEFXZGQxQWM4Wk5DRmlaWm4yd0JlOFkyRDVKUEhwMUpzMzlraWhO?=
 =?utf-8?B?blNjUE9zOUFienNyWWxSanVhUTI4WUM0SG5Zam5iZVQvU0J1UVQyLzJZdFRL?=
 =?utf-8?B?em5zQU5LdzdTdytjc3lHeDl0aFZUTkFiZFQ0bGxjdVUyZkxIZGtJU3JOYmh5?=
 =?utf-8?B?M0ZCYXB3M1pIY0ttL3UwMTJWOWd0U0ZaYVpPNm8rdnd4RlJvb3YzK2lWRUpw?=
 =?utf-8?B?K1JSY3g1TVJBYVJlNmdCUlcvMml3Q045elJlL1VjcVhFTmhrdFVlSUt1bXdm?=
 =?utf-8?B?SGFrQzNCWDd2dFFXL0ZVa1crQ1kwUDl5L1czU0JIanFacExsQlNvOUM3bklh?=
 =?utf-8?B?ei9wdC81Nlk1bE1aUU0yZit4aWtQeGI5SXJhbHVDcllDZk1TZTU3TWJoUHQ2?=
 =?utf-8?B?YXNCdGY0VDBuTjl3NWdrUzN1Zlp6RFlmaVlTOVlxOEdxRkZJcWVxMWdHQkh1?=
 =?utf-8?B?MWIyU3UrdHVxemRMenF6MExsUEJ2ZGhzbktMREZwekZIbkVhTTUzTUZ3VjNi?=
 =?utf-8?B?TllFVGZCOU5mQTVIRFRrVkJ0SVhobzNLa3BER2VnOUlBZWN3eE5uRCtGN1lK?=
 =?utf-8?Q?Ix/hARPzMvs9ipAc/pjGQ0gRuAAdXyuY?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <65489C36FAE9FE49921180E1AB79BDAF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9032
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF00009526.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	14b10a9e-a8e2-440a-8b9e-08dd653631fe
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|1800799024|376014|14060799003|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MmxJYVNKaFJRTlYvOGJNUUtZZ29jOXNDZFVKa3JzZ2tXbGZkenlkMDhYV3pa?=
 =?utf-8?B?akJLdHBEOWVRQ092N1VHUmVZSC9FVEV2ajlwc3Z4QTVsOXYxcFFMNmlHb1p3?=
 =?utf-8?B?UmF6VHlDTDZsRkRFWlBod3cxYlFBc2tFMUFnU3dZMGhiY0QvWkdNV2UvRVhr?=
 =?utf-8?B?c0EwaGI0eE56bmtsMzZyN3J6T1l4STBaZ01KQVdVYXFnWDFCc0JrOUJab0hh?=
 =?utf-8?B?dWdCM29BeW5mdGpUZHRPYm5OUmJNK3BMaEI0aFFZZTFTU0Q1SEQyODBjbzU2?=
 =?utf-8?B?THVpOFdXemVDR0JoKzVvK1VDWnFyejlnUi9qQ2p2TS8yb21MYjJ3V1dDRnRP?=
 =?utf-8?B?b0NiOCtpNjA4VnRqamRqZlBxM2NXQlc3cUg2Qkp4QXZiRFR2Zks5WFNtOG85?=
 =?utf-8?B?eG9JQ0VKYTI1aXdqdlVUTjZtbnNWZEJZQUVGNmk2VFFzb0lVNWpLN3BTUUlh?=
 =?utf-8?B?S1ovMldRL2pwSTE1aFBPRWxFK2Y4QmZyL2FyVzFORzRGR3RmdzdWZEZ0bWJy?=
 =?utf-8?B?ZlNIY1NmRmxxSmxtejFWL0lMV3I5NE5zRmxORTh5ZlNjcHhmbUh3MkhtL0xr?=
 =?utf-8?B?RUVuTWJxNWZCL1J6aUFZd1ZEVjlWeWhSKzFtRFlGRXlVcFlNSVlrWmRLK1ln?=
 =?utf-8?B?UFg4UGZHRFpYdktHTEZNQVllY3pvQVhVc25OR2orUlovNlA5UjQvWUlWSVhY?=
 =?utf-8?B?d1FGLzZWT2VCSVJ0TDNhMUQzbFJKR0NIcy9jU0NpNE5hd215NFNQdElOMmdF?=
 =?utf-8?B?cUFoVnQrQUIvODJ4bFJSVHVyQ09aUHd6OFVjZUs5V1hqaWg2Z1RDRXNZdWQ2?=
 =?utf-8?B?am54Y0RHa20vWE53d3lIVGlJZVRkQXVxQ2JRRVRucmRqTUpBNGl1b0pYa2Z3?=
 =?utf-8?B?bU1pbERvU3BVNVNOWjhIa3ozTzgrQ1NLWGkvS0V1NVNwODR3N1lJd0l4djd1?=
 =?utf-8?B?NE9FOWlub1NBeklUS0ZGWENKR2E4SnZhTnJXYnBhU2NKa2VhNEJUb2k1Qlht?=
 =?utf-8?B?Qm5uRFZQVHJPYlExWUxDNDk2UUo2a2NMcjEyU2lyT3FsSW1MRytuZXM0RmNm?=
 =?utf-8?B?NkdnT2lTV2tkQ2VpR0FVVzNLY00zdXVBMk9GYzBlMHlXRWlUMVlpTkZYR2Ux?=
 =?utf-8?B?b2RDUWtXR0hDTXdMbnoxc21OUENzMk1WdmltS1V1MGs4Qk1WMUF6OTUwY3d6?=
 =?utf-8?B?elgwOGFmaElXRE5ka3NsWXRxZno5Nk1ScWlFT21nRnlhK1UyZ0FXODNlR2c0?=
 =?utf-8?B?OHFHdk10VXR0bFZZRTlKTHhzN0xidlI1eXZGYTNSUnpkZ3BBdVNHbEFmUGRH?=
 =?utf-8?B?OEhVR3U2aS91bU5MeHl1anVpM3ovZXRNZ3BtS1Q1VUdVSEZyYmpjZlRWUUdr?=
 =?utf-8?B?bnRMczJYZ2t6STFiekRZQjhLeHJuQ2YyLy9naWYwVkw3YmlQNWFVcG5tMmVZ?=
 =?utf-8?B?ajkydTIxdWJTRzRyN3dYSitqU3ZEOEQxQUs1bW94MGFuTEpLVEFNVUNVYUY0?=
 =?utf-8?B?SWE2clhWRWJjYW9XK1RJZUZ6YVpLbXluRW5TcWpvUjdneTdJNERlMktDaUU2?=
 =?utf-8?B?ekl2WnlMblh6N1RTYXlkWGFrdDNyWU9LVERXOGhDaUV6Nm5jV2ZhTWoyL2VQ?=
 =?utf-8?B?K0xteUZ2SnV4VDFOdkxQTm0rcWRpbS81NzV0aE5KdGtoc2VWVERnbjVlL1JT?=
 =?utf-8?B?T0pSU0RlUkQwTDc5ZzFseitLelBGT0dXQit2aUdRMXR5ZkU4c2hDMjlMb1Ny?=
 =?utf-8?B?dTNZcjh3V2M3ZnRaa3IrUTAxUUNuRzl4UUVxR2FqMGNtb3Y0Y3ZrNG5OSlFZ?=
 =?utf-8?B?ekkzUWV3UHd4dk1veFc0VFhEYlBzU2loamlYR3U1UTdMN2RhOVlJVUdML3Js?=
 =?utf-8?B?ZmQ1eDJqWG9vLzhzSHBmcGkxeVlQaVNMZFR5L3I3THA2dkxzcHpia3Q5K2l6?=
 =?utf-8?B?bDdIWkdzbWpEMWhrRndyT2pDdlQ5UWo0YTI1TzNYUnZoWDY2NGttekNZMWdl?=
 =?utf-8?Q?bkU5YrUJcNbpgGoBcphR4ZDE5qFca4=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(1800799024)(376014)(14060799003)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:29:35.1696
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 07c25ea7-6f3d-4464-eed7-08dd65363b2b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF00009526.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5506

SGkgSmFuLA0KDQo+IE9uIDE3IE1hciAyMDI1LCBhdCAwODo0MSwgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPiB3cm90ZToNCj4gDQo+IE9uIDE2LjAzLjIwMjUgMjA6MjQsIEx1Y2EgRmFu
Y2VsbHUgd3JvdGU6DQo+PiAtLS0gYS94ZW4vY29tbW9uL0tjb25maWcNCj4+ICsrKyBiL3hlbi9j
b21tb24vS2NvbmZpZw0KPj4gQEAgLTc0LDYgKzc0LDkgQEAgY29uZmlnIEhBU19LRVhFQw0KPj4g
Y29uZmlnIEhBU19MTENfQ09MT1JJTkcNCj4+IGJvb2wNCj4+IA0KPj4gK2NvbmZpZyBIQVNfUEFH
SU5HX01FTVBPT0wNCj4+ICsgYm9vbA0KPiANCj4gSW1vIHRoaXMgaXMgdG9vIGxpdHRsZSBvZiBh
IGNoYW5nZSBvdXRzaWRlIG9mIEFybS1zcGVjaWZpYyBjb2RlIGhlcmUuIEp1c3QNCj4gZ28gZ3Jl
cCBmb3IgInBhZ2luZ19tZW1wb29sIiB0byBzZWUgd2hhdCBwcmV0dHkgb2J2aW91c2x5IHdhbnRz
IHRvIGZhbGwNCj4gdW5kZXIgdGhhdCBuZXcgY29udHJvbC4gVGhlcmUgbWF5IGJlIG1vcmUgc3R1
ZmYuIFRoZSBzdHVicyBmb3INCj4gYXJjaF97Z2V0LHNldH1fcGFnaW5nX21lbXBvb2xfc2l6ZSgp
IGxpa2VseSBhbHNvIHdhbnQgdG8gbGl2ZSBpbiBhIGhlYWRlciwNCj4gcGVyaGFwcyBldmVuIG9u
ZSBpbiBhc20tZ2VuZXJpYy8uDQoNCknigJltIHdvbmRlcmluZywgc2luY2Ugd2UgYWxyZWFkeSBo
YXZlIGFyY2hfe2dldCxzZXR9X3BhZ2luZ19tZW1wb29sX3NpemUNCmFyY2hpdGVjdHVyZSBzcGVj
aWZpYywgSSBiZWxpZXZlIHRoaXMgY29uZmlnIG5lZWRzIHRvIGJlIEFSQ0hfUEFHSU5HX01FTVBP
T0wNCmFuZCBuZWVkcyB0byBwcm92aWRlIHN0dWJzIGluc2lkZSBpbmNsdWRlL3hlbi9kb21haW4u
aCBpbiBhIHNpbWlsYXIgd2F5IG9mIGhvdw0KQVJDSF9NQVBfRE9NQUlOX1BBR0UgaXMgZG9uZS4N
Cg0KV2hhdCBkbyB5b3UgdGhpbms/DQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:29:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:29:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916397.1321499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6n3-0002Zx-BT; Mon, 17 Mar 2025 09:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916397.1321499; Mon, 17 Mar 2025 09:29: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 1tu6n3-0002Zq-8V; Mon, 17 Mar 2025 09:29:45 +0000
Received: by outflank-mailman (input) for mailman id 916397;
 Mon, 17 Mar 2025 09:29: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=WXuz=WE=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tu6n2-0002M5-CA
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:29:44 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2062b.outbound.protection.outlook.com
 [2a01:111:f403:240a::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59cf69e2-0312-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:29:41 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CH3PR12MB7548.namprd12.prod.outlook.com (2603:10b6:610:144::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:29:37 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 09:29: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: 59cf69e2-0312-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KUWl1fAHh9SnU2prnB2BiAsbTuUNJGdfB49+9/FORq1zueDmv8EUmNFp1f9KY+8NryfPQMykZBTxMYm8SkKQwZ56j8sfWm2tSRCGF5We/nBbFK55uZGIy9/Zmv8vVaMwYoum9fKe5XuY5xcZ53Ed8Az664eK8mcKV7+KHFMl2PpQ02bXDwuCwhZvVbbU8iQe9x5d7qp+/swXfhDUkd5rfwGAtjYhWR9fXq40f8UlLljsBaLMyXoxRL5PIxG1SKU4KmoXbjlb/W9bdBJzU352yarnX2hLmTIoYTKWYcF0cCZyJ9gmRVjykMR3nL9h/hNmivWJaTyL4Cy4OOZeMqienw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pzRMavpiwDKXW4ywe95u3j84nyyAEB48EqMPYn0Xp68=;
 b=ynPuNim6NYfe9lyqWfGtsBSGiafdmG+3c0JJ8lyixp5RrZf5yjJr1l6DHCRA0gI39ve25MQNTTO82/e9YEPMYEEUi346AW7YyxqIYBzaz07GaN2MbthHfJSdE/jqQZELQwpIt+9C4IdJZUDdLt/CxblpGhwodFx33uAyowLW1a6gjyrR6xpNbJbE8uxOhn0fKL+GprIJyiAZt1B71dXMgPse9O+llMzz/Ltka5shtoGE+8MKVEV7X5eV85OgztGjw+wb63Uc8sVL/kvbtigS3PPxTthFSnayamcIDRfPjWWY1qDpd39uk3tqR3omIKc4C8YE23Fpe5Fzi1/cKVDL2A==
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=pzRMavpiwDKXW4ywe95u3j84nyyAEB48EqMPYn0Xp68=;
 b=B4m2It3gJIsN3zr8R4AtpJzq1GCuRWwMoQczPepnmDr4luwvNnwI1+ri8ijLuANV3ZQiiQ0CkN04xeZ4QPmlfOMu9JLpfGyXR/2Hx87nTeO0dBO522MbB6jZdIR+Y3oAB3vnVsTkFORLGGZCqjVqEglgakqOcPUlJE+K1Zb4TPU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <799e2b1a-aea8-43d4-99bb-eab4fd4f6b93@amd.com>
Date: Mon, 17 Mar 2025 10:29:33 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/7] xen/arm: Introduce frame_table and virt_to_page
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-4-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250316192445.2376484-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0067.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::21) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CH3PR12MB7548:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b0bb3b2-5d20-4c93-a8fa-08dd65363c56
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?RVhwM3VnamJxTGxxTUkvZHNXZmVQRGJIN1hZQVBabHQxR0EvWEdydkNmcGI2?=
 =?utf-8?B?UUxtdjA2eHhvNG1SNy9EcnZNQkdocmNsdVNUS2p4OEpGbU5qL0VjS1pXdGJ2?=
 =?utf-8?B?SVRjVCszc2ZsVTgvaHc3QkRTS1dXMkZQaHFjRkJHRkhGQ1NwWGJnSzZLdG9k?=
 =?utf-8?B?M1dXMUFPV0ZmTjM2cnFmVnptMm0ycEZXaWJERWo0Yk1OVWhnVmViS29DN3BC?=
 =?utf-8?B?SzlpZkpvd3k2SFQ4ZTg0Unh0MGtPU21WR3g3dHFTWjRoRXRHZm40Zm81aVVC?=
 =?utf-8?B?Tk5hdW9pQ3F1bW1kMzFFc0l4dnRveGtZcTRQdWxuUDZGeGs3YVF6UU85R0Rp?=
 =?utf-8?B?RFp4Lzd4SnVGTG5tbHk1bFdWWm5EMXk2THdrNWVVR0NudGEyWmUzeWxuZlNy?=
 =?utf-8?B?OFlzUGNyQWZhdXh3TDFZT3VKZzVZT0hjOEtiWTRxbmJ1M1dnU2dGV0RsbXVn?=
 =?utf-8?B?MFNyZDZ6VUJadGhTNUUxMW5RTU1GeG1xU0tFRFVCVWFYSFhyQnY3SkhkL0hq?=
 =?utf-8?B?cVdGaVNUajBxeHZ3VGVNckw4aHNIbTVPMXlQOVFZeE1QVUNnZ0N3MFVZQ1Bw?=
 =?utf-8?B?bnBQUUQ5M0xDd05tVnhrS2RQVlFjUkM4c1V6RUhUOUh4bWU3Z3A4TC85M3pw?=
 =?utf-8?B?UHFDZXpIRzNod2tWNld6VElDZU5qNE5HbU9GUnVTUHVGaFQ1UDg5SHA2OE5j?=
 =?utf-8?B?ejVnanVEb29iMWlldFV3U1E0cno4My9zY3BJSHJUdmJDNzErYXpyVkxCdVl0?=
 =?utf-8?B?a3RIWHZtaTcwaFZDOHg1dEltNHdoU2g3TWxkQ0lycHZ0d1dlVk9aQmJobFlD?=
 =?utf-8?B?dmIrK2YrQmszTkRoQmxMblJObzBoUFlQVlRsT094V3Z5RVRyYmM1RzNHV1Vv?=
 =?utf-8?B?OVM4WjZSRmJOTjZOTk4rM0hNNi94d0lPbzJlZkdTSnduNUliSzl5U0V4aDdE?=
 =?utf-8?B?Z3laTTlZeFl6R2pmYmcvUjlNUkMwZEtBbW9LMHdFY2JoS0V2SHp3L3hsYUl4?=
 =?utf-8?B?Z0I4dzk4T1N5QmhWVDZKa0JXWWl3L0E0WnI3aHhrZDc5Vmg5QU81azFSRUR1?=
 =?utf-8?B?R29sRHlQM2paUlZQTmgvbTZuWXZIaDNYeE1xWitELzNzaGNXM2tKNmtZdGtP?=
 =?utf-8?B?eHVJOFRzM3ZBNFdmdGpoLzgxdEVSTkpnOWozcm9zUVRXTE9tcHJ2eVBPcFVK?=
 =?utf-8?B?RVlJRSt5RjhPVHoyaVZGekJic2F5QlpITVlWei9kTTJuemRjS3UyY1RRR2sr?=
 =?utf-8?B?aTIrOER5Z29FT2NJR0lRZHVvRWlYdDVlTi9kL2NHZXJtbWREdVpNVlNQQnRW?=
 =?utf-8?B?OXFiVWFkTmM3UHpmVFVNb2YzQnJzRmdZZG1ETnFWak05L2c0S0hiemMxSFRj?=
 =?utf-8?B?eDI0MG04OEM5NTc3V0ZCYVc1TDVoWjZ6MFFDakJhZmxBSlAybVRsWkMwMGsy?=
 =?utf-8?B?ZmIvOVRqNjBiVEJvRFNrSTBQOVorZ05BbFpIeitZMGZRWFBNazUyOFMzMkNy?=
 =?utf-8?B?UUZBNDY1OFFCaWEvZFpCYXZwcndKVzMyUklDL2R4UUJ6cnZnUko0Q01WVjVp?=
 =?utf-8?B?d29TQStjdEpFa2o4SU1xc0E0cE5GKzcrZUxGSEwwZkNWM240TjVnWGpYKzQ3?=
 =?utf-8?B?RkhqcVU2QnA5c0NMUVJXdVpaSUpoZ0drS284ZnhWUmJ6NERkc2xobzJQdzVS?=
 =?utf-8?B?bXhibXRXWjl2bHJmNUcvQUFkNVJWbm1aTDlwN3VtdHhNYVY2dHNaZGZ5OEE3?=
 =?utf-8?B?UmtMOUM2MmxTclFUMzdKQzJRcGlXNGhROEhIcFhqY041RU1HQWtiVnlLMnAr?=
 =?utf-8?B?SXQ5Y2NtU2wwTVA0K2hrdTR2dkZyOHFnOE44cjZ2R1RMajUwVWdHWU5JRGg5?=
 =?utf-8?Q?JttP0PX1GU0T/?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?dlovVkJKVUVRUlNIeHlsU01WZjBVOFpnUTQxOG5ZcUY5QWNtbjQvaUp4MVR5?=
 =?utf-8?B?cUsvdHFhK2liYk8wZ0NqUzZ4Sk90YXhOYTJKU0RqeVIxRndsYXZMeGYybU9v?=
 =?utf-8?B?WDJiaTBubnhFN0djZis0OGpTOW50VlZRYWtiUi9OZHhYYU5IbWx0TnlwQ1lz?=
 =?utf-8?B?dG9yZktHWnBucXhneXV0Mm9udXU1Vm5EVmRTbHphWGVZdEtwQUtidjcvRzVP?=
 =?utf-8?B?bFRyQlRtblE3SmpqeWZRKy9TSHB0K1RlWjRXQW9xeko1dFBLRjcwUUUyTjBB?=
 =?utf-8?B?Mit1MU4xOVE4ZEZUMW5HclczVmkyb3hmaDdmYkxuTmRhcFNybzl2WWtBQ2JW?=
 =?utf-8?B?b0xnbXVQbXhVRlpnbXV6Tm8rb2pKSUlFQ01JbjFmT2tDOVlXcS80ZmxneWll?=
 =?utf-8?B?LzVlQVgzM3hDY0lFY0NXUTFSc3lmN0YwVWJqdURoU2NxcFJCdzZjOW1uLzUx?=
 =?utf-8?B?c2d6dWUweXNyVzVJVTBqK0JQaXNmdzE5RVo0RWVvOElXd3pzd0hIWDJCUzhv?=
 =?utf-8?B?bWlRa0h5WWV4YjhnOE45NTkzRExoaWFOcnFidkxyV0tHdnhQQkc1UDM5K3Q1?=
 =?utf-8?B?YWhUMmRJL2svMDlKQ0dScjFnbVFCa0JPT0VBNTExZEJqaG1zVXN1QWdSR09I?=
 =?utf-8?B?U0JyN3owN3BSeHhTVHJkbGV2L2RwblIvTzY2ckFLbTN4clRJUUZRN29jUmdw?=
 =?utf-8?B?VzhVS2wxMm1YWElkZ2xyMEhRZTdZeElkYVdTQXcwZ3lZam5nNFM1TlhIL2Rn?=
 =?utf-8?B?NTJhSjl2RU1TeFFIUVlNaE1HZ2pDZ1lSbTZadVYwMkJCdTFFRHJtcG50Sy9O?=
 =?utf-8?B?encydjVBVDc3N0FjQnJvVG1mQkl2UHRaL2UvQnJ0d2FTWllZU1lMQ3E0WXAx?=
 =?utf-8?B?V0hwbm5GUDJvRXJkM2RiUGVDTUtPaUNZeHErZGZyb3VRQzYyMDJxb3BxTWF5?=
 =?utf-8?B?bmFZSU8xR0ZOdzk4MEt0cE1UcCt3a1Q4R3lSNVFoZFRMTlZiay9yUk5ZaUd2?=
 =?utf-8?B?SXVNdk5kSi9kVTFmempFV0RxcS8vVzh3VVcyYklGbHhoUm1XeVF1d3lPVFJF?=
 =?utf-8?B?eTRwdnptd29ESzU4VTMxNkhrVVVxVWxVcG9QbEkyd1BJNlFwdG5BclIvdFJE?=
 =?utf-8?B?bjh3eHlubWlRL3RueDZ2NnhqWkdzM2ZCbnJxeVYveGlKTGVQN0oxMFVET3cz?=
 =?utf-8?B?SkNzcml0eSt4MFBJM0tNVFlSNml0emFUQ1h4M2xBTWhXZ1RtVFB1L3pxSUFC?=
 =?utf-8?B?Yyt5eFd0Ukd0TlpmNWNPVWMwdlQ3L20yZ3Fhd1c2elY0aFRXek44MEtiSVNC?=
 =?utf-8?B?S205NFBQRmRnWlowWEF4MlVvd0VKWFU4d3NEZlg5MDFHQ1NmTnYrZFc3SDJy?=
 =?utf-8?B?bWxLK0JnRjJYdnYycExTOVVkeEZIZTRZc25qYVc3ZmE0V01yYW5Vc2crQUhj?=
 =?utf-8?B?cU9IUnVXUGJpdmRwUVF4alJpNVNuZFJ1Q3RoVWhzMExOZFJUQ2NMVDVYYmM0?=
 =?utf-8?B?U0VwYTFFUmtOenRVSlQzZVdvWFlPbENiQWFETkNZYmFJc3pMYmVITStjeWR2?=
 =?utf-8?B?R2xvQlVoZnEyc3pjeTZGV3JyZHJBbTBsbG4wcmFFUG9yNEhRUjNOSVFVOWk5?=
 =?utf-8?B?ZCtQUUtpNFhsN01nZzluK2hOZXVVejYvR3hHZGZOV3A1STVmYTRWbWRtYm1Y?=
 =?utf-8?B?VldXbHl6L2RRcWdDVktjbmVsRE11Qk0vdW5IMTBrcyt6d2QvK25iYytucFRt?=
 =?utf-8?B?WHY2ZTVnbWJ4eFJaeUFwaUUxQm4xcmtEcDVGeFhnR1R2b0d4YUdzcWVOQUN2?=
 =?utf-8?B?OG84TlBVSHRqTDAwcGFxMzNTeURPdE9JK2dHbnNEWXZPSjc0OVNoWnRlSU91?=
 =?utf-8?B?QnJKZFRyQWJITGhDSExFVmxibFVrTG5EdXF4dGJsMDI1bzFTcXk4a0k0Z09j?=
 =?utf-8?B?VW9zNlIwSFRhM2NiRmNCRWtndkFVQzNmWWluNlZDOUgzQ2VVelpCOWYzK0Na?=
 =?utf-8?B?ZGQ4eEg3cDB6bWJEK2JFdTAxcVdMRk5LSjhvMUtlTERRVVNWOFB4aGw0bXc2?=
 =?utf-8?B?OWVWd1lTajRDZkdmNTQ0MmRqaS9KY3pvUjFqOXJTTGpiVDk3Tk82YVhGZFln?=
 =?utf-8?Q?lLi8=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b0bb3b2-5d20-4c93-a8fa-08dd65363c56
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:29:37.3399
 (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: 0HL1G+3qn4EvOAnsrRpyf8/N/GAlj/OCxAjh0cM5EreOSPRSbmzET3oXTE2Jf+W0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7548



On 16/03/2025 20:24, Luca Fancellu wrote:
> 
> 
> Introduce frame_table in order to provide the implementation of
> virt_to_page for MPU system, move the MMU variant in mmu/mm.h.
> 
> Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
> pdx.c, but leave the initialisation of the frame table to a later
> stage.
> Define FRAMETABLE_SIZE for MPU to support up to 1TB of ram, as the
> only current implementation of armv8-r aarch64, which is cortex R82,
> can address up to that memory.
When mentioning support statements like this one, it'd be beneficial to provide
a reference to a doc of some sort.

Also, shouldn't this be occasion to clarify SUPPORT statement as for max RAM
supported for ARMv8R-AArch64? ARMv8R support is experimental, so I'm not 100%
sure if we need to provide support statement for it at this stage though. Better
check with others.

> 
> Take the occasion to sort alphabetically the headers following
> the Xen code style and add the emacs footer in mpu/mm.c.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v2 changes:
>  - sorted headers in mm.c
>  - modified commit message
>  - moved virt_to_page to MMU and MPU
>  - removed frametable_pdx_end, used mfn_valid
> ---
>  xen/arch/arm/include/asm/mm.h         | 14 --------------
>  xen/arch/arm/include/asm/mmu/mm.h     | 14 ++++++++++++++
>  xen/arch/arm/include/asm/mpu/layout.h |  3 +++
>  xen/arch/arm/include/asm/mpu/mm.h     | 15 +++++++++++++++
>  xen/arch/arm/mpu/mm.c                 | 14 +++++++++++++-
>  5 files changed, 45 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index 444fd03823ec..fbffaccef49b 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -294,20 +294,6 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
>  #error "Unknown memory management layout"
>  #endif
> 
> -/* Convert between Xen-heap virtual addresses and page-info structures. */
> -static inline struct page_info *virt_to_page(const void *v)
> -{
> -    unsigned long va = (unsigned long)v;
> -    unsigned long pdx;
> -
> -    ASSERT(va >= XENHEAP_VIRT_START);
> -    ASSERT(va < directmap_virt_end);
> -
> -    pdx = (va - XENHEAP_VIRT_START) >> PAGE_SHIFT;
> -    pdx += mfn_to_pdx(directmap_mfn_start);
> -    return frame_table + pdx - frametable_base_pdx;
> -}
> -
>  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/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
> index 6737c3ede783..caba987edc85 100644
> --- a/xen/arch/arm/include/asm/mmu/mm.h
> +++ b/xen/arch/arm/include/asm/mmu/mm.h
> @@ -70,6 +70,20 @@ static inline void *maddr_to_virt(paddr_t ma)
>  }
>  #endif
> 
> +/* Convert between Xen-heap virtual addresses and page-info structures. */
> +static inline struct page_info *virt_to_page(const void *v)
> +{
> +    unsigned long va = (unsigned long)v;
> +    unsigned long pdx;
> +
> +    ASSERT(va >= XENHEAP_VIRT_START);
> +    ASSERT(va < directmap_virt_end);
> +
> +    pdx = (va - XENHEAP_VIRT_START) >> PAGE_SHIFT;
> +    pdx += mfn_to_pdx(directmap_mfn_start);
> +    return frame_table + pdx - frametable_base_pdx;
> +}
> +
>  /*
>   * Print a walk of a page table or p2m
>   *
> diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
> index 248e55f8882d..c331d1feaa84 100644
> --- a/xen/arch/arm/include/asm/mpu/layout.h
> +++ b/xen/arch/arm/include/asm/mpu/layout.h
> @@ -3,6 +3,9 @@
>  #ifndef __ARM_MPU_LAYOUT_H__
>  #define __ARM_MPU_LAYOUT_H__
> 
> +#define FRAMETABLE_SIZE   GB(16)
> +#define FRAMETABLE_NR     (FRAMETABLE_SIZE / sizeof(*frame_table))
> +
>  #define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
> 
>  /*
> diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
> index 6cfd0f5cd2c2..3a0a60dbfa18 100644
> --- a/xen/arch/arm/include/asm/mpu/mm.h
> +++ b/xen/arch/arm/include/asm/mpu/mm.h
> @@ -3,9 +3,13 @@
>  #ifndef __ARM_MPU_MM_H__
>  #define __ARM_MPU_MM_H__
> 
> +#include <xen/bug.h>
>  #include <xen/macros.h>
>  #include <xen/page-size.h>
>  #include <xen/types.h>
> +#include <asm/mm.h>
> +
> +extern struct page_info *frame_table;
> 
>  #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
> 
> @@ -15,6 +19,17 @@ static inline void *maddr_to_virt(paddr_t ma)
>      return _p(ma);
>  }
> 
> +/* Convert between virtual address to page-info structure. */
> +static inline struct page_info *virt_to_page(const void *v)
> +{
> +    paddr_t paddr = virt_to_maddr(v);
> +    unsigned long pdx = paddr_to_pdx(paddr);
> +
> +    ASSERT(mfn_valid(maddr_to_mfn(paddr)));
> +
> +    return frame_table + pdx - frametable_base_pdx;
> +}
This could be simplified (and number of conversions reduced) by doing sth like:
mfn_t mfn = virt_to_mfn(v);

ASSERT(mfn_valid(mfn));

return mfn_to_page(mfn);

Other than that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:29:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916401.1321509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6nD-0002ue-KX; Mon, 17 Mar 2025 09:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916401.1321509; Mon, 17 Mar 2025 09:29: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 1tu6nD-0002uT-GM; Mon, 17 Mar 2025 09:29:55 +0000
Received: by outflank-mailman (input) for mailman id 916401;
 Mon, 17 Mar 2025 09:29: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu6nD-0002LT-08
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:29:55 +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 61b078c7-0312-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 10:29:53 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso12477455e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02:29: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-395c7df339asm14191210f8f.3.2025.03.17.02.29.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 02:29: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: 61b078c7-0312-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742203792; x=1742808592; 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=2piYgSeDKuwGsdvn8urJApsPYVNu0fy+ikgriBNEfV4=;
        b=KrlqIKq9WxMHsk6xD12eQaa2sqOx1x2dPxDiGVk3A+Z1fM73IGKBwinvF/sCCMGJxF
         UGLCVDhoQdfmrVdpSebN/RsBtISU3UL1ZPMG7l28yBhrUnDCUxFyZHrRVpY67b5VrR+o
         oGNhYbVQg22yviHnXhGfb1vf2/Gw3zAEaG6/lqvIXzZru9ICTJcAxDF0G/FUmNkQ0bXP
         mfAwgyHVOts6VdloM9udwfKuV6iBGiVfHDRO5SC5S98gbDCjg7y7hIVyBT4NXFYvyamJ
         aRZRxrezRuqwoo6iIJTFY+s7lOFqRHPfNCVAiPT0acdUgYOaY7LxxENlbJWIg8tUJn7C
         7MWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742203792; x=1742808592;
        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=2piYgSeDKuwGsdvn8urJApsPYVNu0fy+ikgriBNEfV4=;
        b=ExoEfWvnMsDgZIa5i1S2+DCd7H7bV/A+5k8aIjV7M61YDXhG715zxMD9+s1f82egBR
         RASspBH06CKkfP2z9Ccoocfd6dLp8PYKDNzl1T3cwhEYyIThE43iqMavnYtKOo/oXNM0
         H6JdhfSO7Id4v3ggaS474XOhpFY6D9unNX5Z/f1eBYzmdkGbO+FT0BeMudxqoUUfEl+k
         oEgqQXGYik37rr22AHKx464/bENvfvygEVxN5x3KHhmeDJZ5gqh4G765SrfpyoMxXPs6
         2lRDWj//SE96w6sX/NvkVSMHcvgBsAiEQPwlMVdYmLCJnQ5CF0w0oUrNHbDkc3OXAvYd
         Dj1A==
X-Gm-Message-State: AOJu0YxGZr060bNzDbzS7FoXBXoiU/bonFS1cAU8Xkw6Qp3X1NitDNUF
	FDYJtWlaOfD4XnWhRoSgDgSKPBU86pO0ZdsCExXLBtIlNasmOvZFo0m93UMBLQ==
X-Gm-Gg: ASbGncunxUlxL2e7xWpv9EgwPJJjz6xx16nFUjA31yKw9au9Q10w94RA5d550+jLFM0
	zJBo79pCHXmOvZtxIMaH0Pu6G4b84eLzyTnjekpbwofq7D5fWGBA6FdzMf0n2juGE2obxa+Dpks
	jz5loMkKbUfgebJF+KkTTL+KJdCZnHLMUvPOIic5qa/x7B2jzPBXStjl9+g69YLxauxEzWhqN3B
	ryB9kJyggGcO/MGDLsaldC/qAwImnI4QM6J8HRTOcSfAm/M5kxuSSOeFeoqd6RH6MJ6RhmPqxCc
	mrN8mravz6qlNmdTMA8aGXR/6orvspp0Z33i2P3ygtRXfEwtB8ryHvJtJ7tMhn+D+VbZb/UA/4H
	UuZSb9nB/GWWvc18SsLyQbY+2c7s8cC9Pn8GGm7T/
X-Google-Smtp-Source: AGHT+IHqAK+rj+Bue2jOH6He+Q7Dab6KuuLFM/W9wxmE/FL0tUSrji5l5PsdH7uXTmmBeU87UPuOnA==
X-Received: by 2002:a05:6000:25f8:b0:391:3f4f:a169 with SMTP id ffacd0b85a97d-3971e592812mr13199335f8f.32.1742203792544;
        Mon, 17 Mar 2025 02:29:52 -0700 (PDT)
Message-ID: <98bf4aa4-b896-4240-b13a-80a0f964a8b1@suse.com>
Date: Mon, 17 Mar 2025 10:29:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] x86: make Viridian support optional
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
 <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@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: <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 10:19, Alejandro Vallejo wrote:
> Hi,
> 
> I'm surprised this isn't already possible. Neat!
> 
> On Mon, 17 Mar 2025, 07:19 Sergiy Kibrik, <Sergiy_Kibrik@epam.com> wrote:
> 
>> Add config option HVM_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.
>>
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>> ---
>>  xen/arch/x86/Kconfig                  |  5 +++++
>>  xen/arch/x86/hvm/Makefile             |  2 +-
>>  xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
>>  xen/arch/x86/hvm/vlapic.c             | 11 +++++++----
>>  xen/arch/x86/include/asm/hvm/domain.h |  4 ++--
>>  xen/arch/x86/include/asm/hvm/hvm.h    |  3 ++-
>>  xen/arch/x86/include/asm/hvm/vcpu.h   |  3 ++-
>>  7 files changed, 37 insertions(+), 18 deletions(-)
>>
>> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
>> index 6e41bc0fb4..34f9b79d98 100644
>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -348,6 +348,11 @@ config HYPERV_GUEST
>>
>>  endif
>>
>> +config HVM_VIRIDIAN
>> +       bool "Viridian enlightenments support" if EXPERT
>> +       depends on HVM
>> +       default y
>> +
>>
> 
> 
> I don't see why this should be gated by EXPERT, provided a
> suitable (now absent) help message was to exist explaining
> what it does in plain simple words.
> 
> For the title, I'd say it needs to properly state it refers to
> enlightenments for guests, rather than enlightenments for
> Xen itself when running under Hyper-V. As it is, it sounds
> ambiguous (Maybe "Hyper-V enlighnments for guests"?).

I'm slightly puzzled: Here you're worried about ambiguity, yet then ...

> On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
> rather redundant, and I think just VIRIDIAN works just as well
> while being shorter.

... you suggest to introduce ambiguity here. I'd expect VIRIDIAN alone
to cover whatever enlightenments Xen might want to use itself, when
run on top of Viridian.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:31:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916430.1321519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6ob-00069Y-U1; Mon, 17 Mar 2025 09:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916430.1321519; Mon, 17 Mar 2025 09: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 1tu6ob-00069R-RG; Mon, 17 Mar 2025 09:31:21 +0000
Received: by outflank-mailman (input) for mailman id 916430;
 Mon, 17 Mar 2025 09:31: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu6oa-00069H-Vu
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:31:20 +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 954b0ccb-0312-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:31:20 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so21160655e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02:31: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-43d1fdda38esm102064425e9.8.2025.03.17.02.31.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 02:31: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: 954b0ccb-0312-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742203879; x=1742808679; 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=eqTn9SlbWqmKbsnWuP4d6KGrlH+4EhECJcrr0N6jYow=;
        b=LxISZB2wdVMYm5bZ8d1wN5Swy3nxf3akttOM8TstJx4g2G1EM1XWPIdWnsPVLarb9C
         3Abnuqm1rnL9JbqynPl9kF4HBn3Pq+CIjRyrqX3ZBEQF49XCm1w3A9Ex8fXnrPtGC6mZ
         auebNM0lezzhi/aViuA6oAFMW05g2TXwIB/Yyk+F+2fjvXiCQ1oZtP7gR36Ezn0Q4bCQ
         EKf+S7/jog+vPOfRjtHDfy+N41rLKEVbpQ/lI4hIHfUySZ3UZlqP3yyqAeQt49X2jLV6
         mLf4+JXdJ9nj8iAFsSjS8FamjdSEPJeCYDBqYlmuEeSi81Z5/yDlHIJwKLepmFLw91Yf
         rMyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742203879; x=1742808679;
        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=eqTn9SlbWqmKbsnWuP4d6KGrlH+4EhECJcrr0N6jYow=;
        b=jIt897XHN6D1Q6xUiHvwARYimrDq6GczgUtiHUEbG4NFRgSfgDonPW1PKUvTP8ooc2
         phr4mC3FvK78XThQ0SVA+TiUgaunrX1Y4P9isi2o04BqI+l+rLnNhgeN7uvJlIJrj6GV
         WWQWB0cT44EkIMNjxxM6KJMgEAQWjeiqCb4kInJVkYOBrFC21OfxCQqFxsdWPuXPViHL
         3V2E/nrkxsX6iZSmI+LM8IOWC1RjvzVKJdH39GnngSjgDXd6EBpa6LVtEbUY+pnOqwa4
         sP+UcVP7s3ec0oGTZF7/9E9ushNW3l1HvzXYe79RFCGITN32/IXIZndSP4y4bea925j+
         rx0A==
X-Gm-Message-State: AOJu0Yx2VNjyParI88bKN4GEJBWJp7g0NgcZKXf9ZYgy2LsdJv4QzPkX
	7sKdG1WGStTwVD4YbqKSjXPt2LwY4VL9+OYb8cy/xMV3bs9yPQtL2QQtpnNALIV+lktv4ClXKXs
	=
X-Gm-Gg: ASbGnct8dbleA5X7/N362DpmaTBU0PbksWgg3nss6V8Y72ljA5ZuobQlbmq9fJbBckE
	oggIfdI1SRg9Kr5ZnVT4nESpL9pz2uPWF+8eFfk/g9t7Ykkbvf+bVBuia/GdyUzfX1iyToNCd27
	ig5oMcU9qchNF0PGxFOC1bC2i4hsLVZMqWzh8D1rhE83VO0veK7wiB3H7i2kgv2nVglB7TkExjy
	Ux2FAmvrSkh+CcphGan+dppe9MfoUGRz4j52pLp+V2RFDq4XwpfsYiBh9okvCkKeFnNjceAX3IS
	49/W8HRKj5BgTHwnEDvnoobDPMsbhwi0mwAEWKMP+XH4idkLuZtlukUWrqFMxhLGLUhzmRhiJyW
	2bb+4Q8x8tpwxrL+w4ecQjS3ERWiFTA==
X-Google-Smtp-Source: AGHT+IEflcSP6QKlz//iSUJVHJG7dyKMTBXYKMW565jwlDZ+gL4q0yeTffghuLyzIN2SLcthrXlLSg==
X-Received: by 2002:a05:600c:3ba9:b0:43c:f44c:72a6 with SMTP id 5b1f17b1804b1-43d1ec72f4cmr119688425e9.2.1742203879226;
        Mon, 17 Mar 2025 02:31:19 -0700 (PDT)
Message-ID: <d8c08c22-ee70-4c06-8fcd-ad44fc0dc58f@suse.com>
Date: Mon, 17 Mar 2025 10:31:21 +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: Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] arinc653: move next_switch_time access under lock
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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 before its recent movement to the scheduler's private data
structure it looks to have been wrong to update the field under lock,
but then read it with the lock no longer held.

Coverity-ID: 1644500
Fixes: 9f0c658baedc ("arinc: add cpu-pool support to scheduler")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The Fixes: tag references where the locking was added; I can't exclude
there was an issue here already before that.

--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -579,6 +579,9 @@ a653sched_do_schedule(
      */
     BUG_ON(now >= sched_priv->next_major_frame);
 
+    prev->next_time = sched_priv->next_switch_time - now;
+
+    /* Return the amount of time the next domain has to run. */
     spin_unlock_irqrestore(&sched_priv->lock, flags);
 
     /* Tasklet work (which runs in idle UNIT context) overrides all else. */
@@ -590,11 +593,7 @@ a653sched_do_schedule(
          && (sched_unit_master(new_task) != cpu) )
         new_task = IDLETASK(cpu);
 
-    /*
-     * Return the amount of time the next domain has to run and the address
-     * of the selected task's UNIT structure.
-     */
-    prev->next_time = sched_priv->next_switch_time - now;
+    /* Also return the address of the selected task's UNIT structure. */
     prev->next_task = new_task;
     new_task->migrated = false;
 


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:34:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:34:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916443.1321529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6rD-0006pQ-Dh; Mon, 17 Mar 2025 09:34:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916443.1321529; Mon, 17 Mar 2025 09:34: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 1tu6rD-0006pJ-B5; Mon, 17 Mar 2025 09:34:03 +0000
Received: by outflank-mailman (input) for mailman id 916443;
 Mon, 17 Mar 2025 09: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu6rC-0006pD-FI
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:34:02 +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 f5140de2-0312-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 10:34:00 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3913d129c1aso3338262f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02: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-395cb7eb93csm14186074f8f.86.2025.03.17.02.33.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 02:33: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: f5140de2-0312-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742204040; x=1742808840; 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=Niy/iHLD1cx+NjomfId6TbUa9e9Rx6SiUHj9X5fnXqE=;
        b=agsoFqj55cUqwel/gTI30MloJvXwKZ574MyGrMrIMF1JpeOqXpP0SdDE4u9yWYzIcN
         U7Vo5JT4Yu/eRQdCh+MIf0cpjQHdT9AOB3C/4igO38D2ljpPlCwSgL071BEKzmkobB+6
         iWym9ST9Sx9LQTvAYd+LukVJD7J1RY1Mj5Q0Y/zbZTV2B1e0w5xXk1UDXsLoqOKrgiPx
         iRUACoBOGKhkqA0CUY7tSqEGIckAE21uU7Z0hNLYIJ28WtXBtnCSpGRLD1gCfpnVBpgZ
         1gNFuqQsz+R5EW4NifYMXcvIn4Sua5bgVb/e0Ng3Z67g1uMsnOpLUKV55828g85BUhlN
         tRhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742204040; x=1742808840;
        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=Niy/iHLD1cx+NjomfId6TbUa9e9Rx6SiUHj9X5fnXqE=;
        b=GX4xbwho6ajgQny65WR8ZRDbmzrxgqJ/yVqRedwtAy4pV2h3tOUavnFixr6CZV/QHD
         YD+3e35TdlfbBzoWIfiXhlB+BP/J0BDKy20gRzDoJXBm+V+JgrM1f+JkYnozFcXUeAZV
         vzX/BC98t+BTIVXgVUSKLqL6uzo7f/RNyGLaYoLrOq9vsQqAFDeQFj4vDa9x36lhVS01
         wjdzi82OApbfayiO9mTiIeF09+z/4GjTyQOaadFqwuoFFRjNG+AxmE/xlXRmbEuNgQkU
         iIzZPHoEOwM/kAQd1frXFXD/iDr0kAooNHy3RAwFW4kna3JjSkkeqx78N6xY8CogHoga
         4lPw==
X-Forwarded-Encrypted: i=1; AJvYcCUgyq30Qp+zrii4MVPbVNo6Irs05GnSWCApMr2hBt3y3mIkaF2tqFKIJgeyeI+6Zd6LHN6Xs7YjR5E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8gmlYfkuHI4q9cyUvXAOkelCs4N5mzGLtzUdG5l9Lhxlfie+D
	c4yWOhCcSbxlNf8NXQi2t3cgAazoWuA0bBsVwtISRlmsFyzzjjEVYbaXDQzG3Q==
X-Gm-Gg: ASbGncsNPqtqob+gi2Fd+gT2aFEqrSxeCcg6x+UWeXYTA6zIVALxErOK/WPt5jq21M0
	HlOOr+6svKbPAG6vLqzdwATT8dLuhkvAb9tlY3mP2mTmAM9so12J0yqAXfXfVDt+zwjUvBiPZ3v
	dpiTEaZFnIKGZTyNPdm33CqneWPrHYtQL1RXHmFzMm/Iqi+IpzCnDZSFK6IDpRYxskkQk4VJFXI
	0mMOOimoNTai6miqqLpgM5aRpMcSs54fK+1AF9UDNbPBNhun8rXExFnYrrqgXEHj6ywd+Wenbqi
	bR1GKgLLzbRqgv+KUSD24H2khx4zNeJIbGPtxYou3yEPqahbmiIDPYNbDqDhCxAZQgzEhWg+Fln
	Rwn+Xt3UCD77LI9ug9pTywoz5VEo0Q2MRzJWWrKsD
X-Google-Smtp-Source: AGHT+IFb2BeFimz5AU7AvoauIQdOqnvm+ypGUqm9kPA1VAlQ1Xr6GxXM99seSLsYIqxzekwEz9JyGA==
X-Received: by 2002:a5d:6d81:0:b0:391:1199:22b5 with SMTP id ffacd0b85a97d-395b758f9afmr13811568f8f.10.1742204039941;
        Mon, 17 Mar 2025 02:33:59 -0700 (PDT)
Message-ID: <e62767b6-caa0-4ede-8549-f6421e2db94a@suse.com>
Date: Mon, 17 Mar 2025 10:34:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/7] xen: introduce Kconfig HAS_PAGING_MEMPOOL
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-7-luca.fancellu@arm.com>
 <763a55dc-79ff-4176-9286-17a144bd8da7@suse.com>
 <B33096DB-1CFC-41CE-8906-FA4AC7708FF9@arm.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: <B33096DB-1CFC-41CE-8906-FA4AC7708FF9@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.03.2025 10:29, Luca Fancellu wrote:
>> On 17 Mar 2025, at 08:41, Jan Beulich <jbeulich@suse.com> wrote:
>> On 16.03.2025 20:24, Luca Fancellu wrote:
>>> --- a/xen/common/Kconfig
>>> +++ b/xen/common/Kconfig
>>> @@ -74,6 +74,9 @@ config HAS_KEXEC
>>> config HAS_LLC_COLORING
>>> bool
>>>
>>> +config HAS_PAGING_MEMPOOL
>>> + bool
>>
>> Imo this is too little of a change outside of Arm-specific code here. Just
>> go grep for "paging_mempool" to see what pretty obviously wants to fall
>> under that new control. There may be more stuff. The stubs for
>> arch_{get,set}_paging_mempool_size() likely also want to live in a header,
>> perhaps even one in asm-generic/.
> 
> Iâm wondering, since we already have arch_{get,set}_paging_mempool_size
> architecture specific, I believe this config needs to be ARCH_PAGING_MEMPOOL
> and needs to provide stubs inside include/xen/domain.h in a similar way of how
> ARCH_MAP_DOMAIN_PAGE is done.
> 
> What do you think?

Imo both routes are possible. I'm not sure we have a clear preference when
looking at the code base as a whole.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:34:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:34:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916445.1321539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6rN-00076h-KR; Mon, 17 Mar 2025 09:34:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916445.1321539; Mon, 17 Mar 2025 09:34: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 1tu6rN-00076a-HO; Mon, 17 Mar 2025 09:34:13 +0000
Received: by outflank-mailman (input) for mailman id 916445;
 Mon, 17 Mar 2025 09:34: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=Q9Sv=WE=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tu6rM-00075p-84
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:34:12 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061f.outbound.protection.outlook.com
 [2a01:111:f403:260e::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa4fb785-0312-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:34:09 +0100 (CET)
Received: from DB9PR02CA0021.eurprd02.prod.outlook.com (2603:10a6:10:1d9::26)
 by GV2PR08MB9158.eurprd08.prod.outlook.com (2603:10a6:150:d2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:34:05 +0000
Received: from DU2PEPF00028D05.eurprd03.prod.outlook.com
 (2603:10a6:10:1d9:cafe::82) by DB9PR02CA0021.outlook.office365.com
 (2603:10a6:10:1d9::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 09:34:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D05.mail.protection.outlook.com (10.167.242.165) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Mon, 17 Mar 2025 09:34:04 +0000
Received: ("Tessian outbound 17f7e587bbed:v594");
 Mon, 17 Mar 2025 09:34:04 +0000
Received: from Lf3f8aebf8ef7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A4F927A5-8E35-42A7-B993-7953E37F7BE0.1; 
 Mon, 17 Mar 2025 09:33:53 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lf3f8aebf8ef7.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 17 Mar 2025 09:33:53 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 GV1PR08MB11168.eurprd08.prod.outlook.com (2603:10a6:150:1f1::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:33:50 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 09:33: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: fa4fb785-0312-11f0-9aba-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=tuhPbmi+X3aWZtgu9QPpnIB9+skhmFh5uJWtAWsLnf9ApN7fGnJFWjf6nRhHibB/1vSSM1QFD0x4bBniAE6SVLyfqKO/HBeHydrE8wBvWPF4E4ZglxLcab96reaOjxO4pJ2tc93uSc99gazxWYz1ctLq6yqRYyO5NYw4oJVo9lswvHtI/e8uRKD3kDDWdKKXfePh9HRfgOSh5voC8qAlq7iwZQqE5Qu1YJNidCmES4VS8CNW/8Dx7GvHtNBPMJR0AaM50t+dERMAl9cHjQwWvnEmMI7HeMC99xvqNAz5NH2K7D+W0sx4+b4nguwUaPoiZ0BOcB6+evdx+4uj4BBS7Q==
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=tav3N0ktQnSBMpaNGTn9cRj3dRSw2YBmPVjT9UQHIrg=;
 b=w5gOgIluIahB1V6WEMUwobGpYA+ol6PorOfs5K8Dl7ngYcLMUTJOmJLTTJfscjAyddkzdrli559bKFq9gMs4i3MSjxmL6G+VOG/9FEHrHcJF3wiGgODL8me2SAYR9qtZyI7svEzaEe0SxDRmqVdhpqwHym0Z7TYAB9qE7SrHEnGsvnRgnp2WNW7oCO5EkZaIK1KG2NTsv1euhBpeYZbNRE/A/qOPWt4HpkrPrR2hzt8fG61P0wcyLZt2IFMpOmF2Il0IdViln0H3KWckYiiO1SvrgWux/PLShkzSq8NtrklDZFPjOSdYgg+soamSf8CiQPweIRavB9NohUiIzzalyA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=tav3N0ktQnSBMpaNGTn9cRj3dRSw2YBmPVjT9UQHIrg=;
 b=rrVsiefKDTJhL4z1qw+k7OWgIkX1hI+NtPnx9TEeiEda5fGFZR3WUsD0urts/GdnRKeXYBpF0ArQcu57kBogA+CEI2iowOH4fM6wS19QHuRXYBEY4PofzQxyB4UtMjRB06+Tyq7lbd5MOXoFCVrR92wDYzn1aX1/EdeCPEhyJ50=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1e243e9ae605667f
X-TessianGatewayMetadata: frZ1D2UDPpdmoLhDhny+BtZn4N7tex8ygDn3EB6F99iTbWkDewpeGbzjIVjInhCjYOtNFKZF9uP1KVeHMZDwF2NOcwN6flqC5mlM3PheAzTALJWu5SiyqeBLf/cxkUPCJgJyMDGP7yRsbElQAvbjlSjWxRUJzFFe4iw25DQpFGI=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JelzoZDBtEbWKrIpzj2GnOpKAy1pb694rfq1qp1DM3xtY4S5OYo3q7k07m1x0VwjDgJa+mhgbPZrM7A8nd1yJb99k7HmY3gUmGMeGYNmYPffuDFc/vjVjUEasbmTdJ2QOG+ocWpT6HEG1IbDOq6ObVXfZSfOKxLC2IdrXMw95/xDnTf/ZCADI8QXKdq7GFcc7afUmB0wUnNI2ikB8a2m3mItDZUw0UyYfS0VXF0yipKwKjtPd5kBBeo9yFqR0opG3yYRmFS7SCKUhTIT3QdcdQl/pS+kwRuFVaM6A/Kau7YVP3xFxLulYQArOXX1iAkslj3t3a9LDmNDuv6zJEopyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tav3N0ktQnSBMpaNGTn9cRj3dRSw2YBmPVjT9UQHIrg=;
 b=eiB1f6cCIgntbqmE4r8b5tdGh8ctQOUoF9DhQ34XOpvFE4wCar3sGgWLT/u/tXHHeuXaMdmTyLACnfotOrzJUbQL0SFYt2Xw7nFjHhkcOJ+7MXsg+8Jmp9SNEIfVHkmdR3qgq9QiTOxjp1omY42HSw45C2iJ+2hc5FrmgqcoV2qYq58/DId5Cl0Wd25ebkKmeJzsrZCaHOB7bwFMX2Qvq4uRi79+hUxFsofiMRvm/4GvwDci8WZMswMXqgHEhXxicT1BNnuwM4lCdcRMsK2DgmLgiit3aRkxadMX232Y54NbreBTczkn/NUcvKVBdJnAgc4vQgzbBn0ZvNb+fAI5VA==
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=tav3N0ktQnSBMpaNGTn9cRj3dRSw2YBmPVjT9UQHIrg=;
 b=rrVsiefKDTJhL4z1qw+k7OWgIkX1hI+NtPnx9TEeiEda5fGFZR3WUsD0urts/GdnRKeXYBpF0ArQcu57kBogA+CEI2iowOH4fM6wS19QHuRXYBEY4PofzQxyB4UtMjRB06+Tyq7lbd5MOXoFCVrR92wDYzn1aX1/EdeCPEhyJ50=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.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>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 3/7] xen/arm: Introduce frame_table and virt_to_page
Thread-Topic: [PATCH v2 3/7] xen/arm: Introduce frame_table and virt_to_page
Thread-Index: AQHblqk5MPCSPLAoTkeN9izbg86F2bN3ENyAgAABDgA=
Date: Mon, 17 Mar 2025 09:33:50 +0000
Message-ID: <5CDD6327-BCC1-4383-ACDE-19B75C085631@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-4-luca.fancellu@arm.com>
 <799e2b1a-aea8-43d4-99bb-eab4fd4f6b93@amd.com>
In-Reply-To: <799e2b1a-aea8-43d4-99bb-eab4fd4f6b93@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|GV1PR08MB11168:EE_|DU2PEPF00028D05:EE_|GV2PR08MB9158:EE_
X-MS-Office365-Filtering-Correlation-Id: 408f7663-90a0-4e52-d59b-08dd6536dbfd
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?VFJ4dFgrN1QzQVNjM2FaKy9VZko0T1NEcWpOK2ptc2ZVcFYwZFMyejNnQUNa?=
 =?utf-8?B?QWhWRTBzcGxaTDlNT2lhK01mK2oyR0kyR0FTemhMV291R0QzV0tiU1A0WHB3?=
 =?utf-8?B?bGgrT0dzRVJEYXphdEVPN0FNR2I3d1kyb0c3c3ZIYXdBYXczZytlRUNSSkN0?=
 =?utf-8?B?bFpUTUtoeU1SZmh1d0F5SlRHbVZaSm5nT09rTWtwSlArOU90cENmeVIxakJ5?=
 =?utf-8?B?UlZaUVlYM1ZyTGhHcE11K1Foc25YOVR3M0tOZExDSlNaK2hwcGxJYnVTRCtq?=
 =?utf-8?B?SDVQMElHOWNUM0xydkY5MXV0bjcydXZOenQ2MU5KcW9LZUVDYVJRVWlVQUxk?=
 =?utf-8?B?aUx1Nlp6aytvalVGVlpjdUVJTnpZVDVXLzZjVTlMQnY1a2JFMnJnbHZPcktr?=
 =?utf-8?B?emIybzdvLzBHSWJMK0xFZ3JPcU1JR3BkYlYxeGZYNUdhK1oyZzhLdVdxOEFC?=
 =?utf-8?B?R3AwYkxTN3ZsN28xdGpsZThjRFIvZmNXaGJUOGtRcXRzUUVrN0FHUTFDb1dl?=
 =?utf-8?B?Nlk4a3Vkdm5FVUZYa0pFeWdXeXJYTUs4Q2N2WHN4enlmNnh4ZTJSazNpRndE?=
 =?utf-8?B?UHBOY0x6ajZsNHlQWjhxOVNmTzczbDdqdm51NlJuNVVzNkRaMjlXRHpKSTNn?=
 =?utf-8?B?UEp0OGVvQjVrQWM3WWFQdDk0VVg2SFV4VitlL0NlN3k3T2ZQbHpGZjM3bnp5?=
 =?utf-8?B?QlNRN3dUWmxaUysxNU81ME5XUmVtTkZ3elNVallmNndIekQ5czNLNGRSS1d3?=
 =?utf-8?B?djlQMGRHbkgzQlRzanJ1R0JUaWR5bHp4SC9CZkZwcFpqWTFXZkxRNHM5T08y?=
 =?utf-8?B?cDhjRXNJbjBSMXpnS0YxWm5DNTdDeXpUMWoxVzgrQXdsMjF1WTZhWmx6d3VD?=
 =?utf-8?B?bFB2MENLUUdqMldhWmt0bFBUOUcvajMydGhicFo3dGNWaWxpeXJPbmhzZnJU?=
 =?utf-8?B?OHd1blVPWnJmd0ExcyttdGFoQWlWSHZKWlBCSEgyZlBtZGpaVjRKSi9TYjhY?=
 =?utf-8?B?TGhENTBxcjFiTm1oQW5GYVJ4QXVvME9Cb1lxZVcxU1lYWDlqNVVydE85MVVW?=
 =?utf-8?B?WTQwY1IyQ0FHSlF5eDZFaG5SWXNZczZGRXZZVVY1eVhxYnJXaGFMTlp0c091?=
 =?utf-8?B?RFhBOEhmRkwwaTlUOGoxZTJaQWM0RU9DNGQ5S095b291UVVxV282S0xWMnhK?=
 =?utf-8?B?SHV3UmJzemt0ZnhxdjNBR1d2OVBTWm5pRU9sQndiRkM4aVBXLzJMVi9tL28r?=
 =?utf-8?B?SmZqd2VqVHlNVktiQzFTY3JmTW0vWUwvVitCTDh2OUtKYmJwRTlzc21Uenl5?=
 =?utf-8?B?Mjg0a25Mc3pHVGtqbTE1OWgyVndBb1hMaFNXRHYyc1VzdVd3cHZxRUYrV09t?=
 =?utf-8?B?dGRCYXduL2tlUkZjUHg1TXo5N0pUVzJLYldXK1NMS3VSVzNnN1A0WUR4YWpO?=
 =?utf-8?B?T0RncWxJS3RoMG01MElMUDVtcFN0Nk9MeUVkS25aZXF2QjhCZXBTT2JHZitI?=
 =?utf-8?B?bU95L215SGllYVBhcW5HdklYUno5N1crS055TlVZU3dUZFQ2MWlJaFV1ZWZ5?=
 =?utf-8?B?MTVGdnJKNUVVTHpnNFRuQTZjRXg1MStJSWdEaTJiaFhHVmtHejdMS0p5dXpV?=
 =?utf-8?B?RkE5aElONEFWK0RhVmNNTmVZZ2d3Y01BQnZFNGMyejduOTI1WS84YmtDOFo2?=
 =?utf-8?B?dlppZnpucmFCTStRbER4Y0xBaENiZmR2SzVobnJOMjJkaU8vb3VyQXIrMTFS?=
 =?utf-8?B?V3Jma1gySVV1RmRteVdFOFUvaUhuWmFJL1hkSEM3OWY1b2hkQk5rZlk2S1dD?=
 =?utf-8?B?M3hEVklPYkt4MnpreTNIRG0wS2NvZWNJYm9OL1VvbllGRnRIV3hnMjRsd3c0?=
 =?utf-8?B?RVg5a0d3blR4R1lxZGpqdURoUzZBSU96aTBsVWRxbTNSOVMzb3dyTndmUXJ4?=
 =?utf-8?Q?YpDY/vRpikn4DxnTPaOwEiJXG/zLk5qX?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <6E0036110D6B5243988231FA84E01909@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB11168
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D05.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5b422048-d0a2-4eb2-0b67-08dd6536d35d
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|35042699022|82310400026|1800799024|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cHp1UWMweHkrYkVyZFNpWVZnSGQ2akhGY1BQUG9BMDhEU0ZEUWdoc0RkRDJQ?=
 =?utf-8?B?Ym9oSEVkUHNuM0t3SHdCdVRhTVFQZm5sWU9jbWtmZFlwYXdaQm4yRkU1WVRh?=
 =?utf-8?B?OXMzcjZxMGxQWEYrUGR2RzY0TVdmQmRGWUcxSUN4N0YyT1hnK3ZGbGtGTkxH?=
 =?utf-8?B?VXZYVEtyZit0cHkxQ0VURnJpa1hpVHZVa2NMTFp0RjUwNVlUOHE1b0haclBv?=
 =?utf-8?B?TmcxM2lISmdRUnBvSGtiSFM2QWtIS1JtTVpCSVo4Q1J4dVVqOEJDV2FnYzIz?=
 =?utf-8?B?U0R2NHJuQWZXUkk2NUNPOEpadUlHNDFsb2hpVDFZWncyNGpXMklidVQrZ1Vs?=
 =?utf-8?B?WHcrYitXZ04zOGYrV3pBOExxZ3d5dkhCNWFnQWI5a1pUZVRyRjRaWmJncHMy?=
 =?utf-8?B?UkxDRUo4Mm42WXVTZ1BlU2g1TVhLa0FsdjdRVHJrYm84UTBDRGlkaWZDcm1l?=
 =?utf-8?B?VFJCSDhnRzBpaGxBRHZEYW9LWmt3Z1gvdTlxVDUvNXNrMTJmNmlUZEFKZGRG?=
 =?utf-8?B?d0hZMEJBMDdsZ3AzSGZaZE1hN0FZYkVEVmlkdTd1ZEdRMG5hL0pFajJkSVdt?=
 =?utf-8?B?RElFcWNaUGpWKzRLRk1TUE9EclovS0UweXpVKzBPZnVZQ3R5S2xrcVFrSkha?=
 =?utf-8?B?WmRwY2YxUzBrV0ZMQklnMzdkRHFyVG50eXZGTkxlbXBzbm1yWW5LZkswaXA5?=
 =?utf-8?B?SEQ1eTlxWUVnamJtMklOd1F5cWhGUVJaRVhkdXFBeTlzOHdWdnoyb1BheS9F?=
 =?utf-8?B?SHUrNXE4aFNUTE9RMkpFUzJrSjJySHBtNEJiakRpajU4b1puZDBJbXpJMUdW?=
 =?utf-8?B?TTFOSHozQjZOOVFVMEVib2FZV0NIYm05aEtoSTd3WmVXd2UxMkMvUVBWSHA5?=
 =?utf-8?B?WjBpWXp5TkxncVpOdENPQlRpelFvaFVlbmZxblliRElMSmh0UnRZU1YzendW?=
 =?utf-8?B?VjZ0R1N1SUtHYUh2WVd6b2V5bTMzN3ptZzhJdTBCc3RmcEYrR01BeGc1cjVO?=
 =?utf-8?B?aEgzdlo0b0M5d3hISTAwUE93YTJJQkc2ZndVSDlFK2FmL3R3ckROci9ZYWxo?=
 =?utf-8?B?Yk9YR0JNdjQxRE1PWU41QTAzMm54Z1ViMTZlR2hVK3lXSERKT1hXT2Y2UUlK?=
 =?utf-8?B?ajJ2OXhaSk1aYzUwdE1DQ0syWXpOWVVjU0hqQldzTDc2VzRVTkhQeHJ3cE44?=
 =?utf-8?B?bGF2RDNJS2J1UFN4azJoQmdxWWJCZFV6dHBjdmhuaVlxd3RIendsSWpHQlFj?=
 =?utf-8?B?TDUyUEpMaWFyU2luWkRnSFhJUndIME1PR0ZCcmRZejRGRmFZeWh5S3ZvcENL?=
 =?utf-8?B?dFQ3U3BNbXRMSjZDMngzSzNxWUNtcXQ4V0ZSOE8xV1MxZ1lVWVA3TVRSYXFK?=
 =?utf-8?B?VEVuMGEzWDRZRmdjSlJkd1Jhdm5YNGZ5VFhaYWV1RkQyVGlKRmsvTnFFSUFm?=
 =?utf-8?B?ZXgxYlh0NGJQOEJ1V0h2SzdIQUZnVDZldGUwNjN4cFZHZlVVM01LdEdJVXhy?=
 =?utf-8?B?cmtwZE55Q0ZzOUU4b2U2b2luYzdSblJtN25NTW14aE1xaVdRcmRyOGpQT2lN?=
 =?utf-8?B?UmRtVlpLNHRROEFPLzFYcTdZakZqcENxeU51ZEMxWkdjelRuUjhRM0Zxc3Ey?=
 =?utf-8?B?WmhrVWJ3RUVKU3JIVlpXK1BEckR0L1ZMWFZ3SVplK2RhUUVDWi9hd054Rmtj?=
 =?utf-8?B?YkxRY2ZJTU1jcnhzMmgxeDk3TG1uUGo4OTFIdUZPT01WYWtWQTlPQ3JkK0F6?=
 =?utf-8?B?RGQvRnlaaWxSUFdMVDJjRGNnMEU1L3Y2Tjl2Mndpek5sQXRycTNhSDZIZ3hn?=
 =?utf-8?B?a2FRTWhpdjMybDI1NTYyczd2dVpSMGlKRENtWDRlb3R4dkllRlNib3hBK1NM?=
 =?utf-8?B?K3RnQW84bDRoK2lWc1VuenpBTFA5MTJicjl3T0NvL0ZURlJLMUt5VHRZODBj?=
 =?utf-8?B?Zm9GWVFIWjhsbVZ6emtYY3loS09CVndFalhGMUUyOTF2SnNxUmxiaUlCSC9Y?=
 =?utf-8?Q?gImDDI9iPpLfzHe1AOqsJYNAW6HNUk=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(35042699022)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:34:04.9807
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 408f7663-90a0-4e52-d59b-08dd6536dbfd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D05.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9158

SGkgTWljaGFsLA0KDQo+IE9uIDE3IE1hciAyMDI1LCBhdCAwOToyOSwgT3J6ZWwsIE1pY2hhbCA8
bWljaGFsLm9yemVsQGFtZC5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiBPbiAxNi8wMy8yMDI1
IDIwOjI0LCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiANCj4+IEludHJvZHVjZSBmcmFt
ZV90YWJsZSBpbiBvcmRlciB0byBwcm92aWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZg0KPj4gdmly
dF90b19wYWdlIGZvciBNUFUgc3lzdGVtLCBtb3ZlIHRoZSBNTVUgdmFyaWFudCBpbiBtbXUvbW0u
aC4NCj4+IA0KPj4gSW50cm9kdWNlIEZSQU1FVEFCTEVfTlIgdGhhdCBpcyByZXF1aXJlZCBmb3Ig
J3BkeF9ncm91cF92YWxpZCcgaW4NCj4+IHBkeC5jLCBidXQgbGVhdmUgdGhlIGluaXRpYWxpc2F0
aW9uIG9mIHRoZSBmcmFtZSB0YWJsZSB0byBhIGxhdGVyDQo+PiBzdGFnZS4NCj4+IERlZmluZSBG
UkFNRVRBQkxFX1NJWkUgZm9yIE1QVSB0byBzdXBwb3J0IHVwIHRvIDFUQiBvZiByYW0sIGFzIHRo
ZQ0KPj4gb25seSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIGFybXY4LXIgYWFyY2g2NCwgd2hp
Y2ggaXMgY29ydGV4IFI4MiwNCj4+IGNhbiBhZGRyZXNzIHVwIHRvIHRoYXQgbWVtb3J5Lg0KPiBX
aGVuIG1lbnRpb25pbmcgc3VwcG9ydCBzdGF0ZW1lbnRzIGxpa2UgdGhpcyBvbmUsIGl0J2QgYmUg
YmVuZWZpY2lhbCB0byBwcm92aWRlDQo+IGEgcmVmZXJlbmNlIHRvIGEgZG9jIG9mIHNvbWUgc29y
dC4NCg0KU28gdGhlIG9ubHkgcmVmZXJlbmNlIEkgaGF2ZSBpcyB0aGlzOiBodHRwczovL2RldmVs
b3Blci5hcm0uY29tL1Byb2Nlc3NvcnMvQ29ydGV4LVI4Mg0KDQpidXQgSSB3b3VsZCBub3QgYmUg
Y29uZmlkZW50IHRvIHVzZSB0aGUgbGluayBpbiB0aGUgY29tbWl0IG1lc3NhZ2UgYXMgaXQgY291
bGQgZ28gc3RhbGUNCnZlcnkgcXVpY2tseS4gU28gSeKAmW0gbm90IHN1cmUgYWJvdXQgd2hhdCBJ
IGNhbiBkbyBtb3JlLg0KDQo+IA0KPiBBbHNvLCBzaG91bGRuJ3QgdGhpcyBiZSBvY2Nhc2lvbiB0
byBjbGFyaWZ5IFNVUFBPUlQgc3RhdGVtZW50IGFzIGZvciBtYXggUkFNDQo+IHN1cHBvcnRlZCBm
b3IgQVJNdjhSLUFBcmNoNjQ/IEFSTXY4UiBzdXBwb3J0IGlzIGV4cGVyaW1lbnRhbCwgc28gSSdt
IG5vdCAxMDAlDQo+IHN1cmUgaWYgd2UgbmVlZCB0byBwcm92aWRlIHN1cHBvcnQgc3RhdGVtZW50
IGZvciBpdCBhdCB0aGlzIHN0YWdlIHRob3VnaC4gQmV0dGVyDQo+IGNoZWNrIHdpdGggb3RoZXJz
Lg0KPiANCg0KT2ssIEnigJlsbCBzdGF5IHR1bmVkIGZvciB0aGUgb3BpbmlvbiBvZiB0aGUgb3Ro
ZXJzDQoNCg0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21w
dS9tbS5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21wdS9tbS5oDQo+PiBpbmRleCA2Y2Zk
MGY1Y2QyYzIuLjNhMGE2MGRiZmExOCAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9pbmNs
dWRlL2FzbS9tcHUvbW0uaA0KPj4gKysrIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21wdS9t
bS5oDQo+PiBAQCAtMyw5ICszLDEzIEBADQo+PiAjaWZuZGVmIF9fQVJNX01QVV9NTV9IX18NCj4+
ICNkZWZpbmUgX19BUk1fTVBVX01NX0hfXw0KPj4gDQo+PiArI2luY2x1ZGUgPHhlbi9idWcuaD4N
Cj4+ICNpbmNsdWRlIDx4ZW4vbWFjcm9zLmg+DQo+PiAjaW5jbHVkZSA8eGVuL3BhZ2Utc2l6ZS5o
Pg0KPj4gI2luY2x1ZGUgPHhlbi90eXBlcy5oPg0KPj4gKyNpbmNsdWRlIDxhc20vbW0uaD4NCj4+
ICsNCj4+ICtleHRlcm4gc3RydWN0IHBhZ2VfaW5mbyAqZnJhbWVfdGFibGU7DQo+PiANCj4+ICNk
ZWZpbmUgdmlydF90b19tYWRkcih2YSkgKChwYWRkcl90KSgodmFkZHJfdCkodmEpICYgUEFERFJf
TUFTSykpDQo+PiANCj4+IEBAIC0xNSw2ICsxOSwxNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKm1h
ZGRyX3RvX3ZpcnQocGFkZHJfdCBtYSkNCj4+ICAgICByZXR1cm4gX3AobWEpOw0KPj4gfQ0KPj4g
DQo+PiArLyogQ29udmVydCBiZXR3ZWVuIHZpcnR1YWwgYWRkcmVzcyB0byBwYWdlLWluZm8gc3Ry
dWN0dXJlLiAqLw0KPj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IHBhZ2VfaW5mbyAqdmlydF90b19w
YWdlKGNvbnN0IHZvaWQgKnYpDQo+PiArew0KPj4gKyAgICBwYWRkcl90IHBhZGRyID0gdmlydF90
b19tYWRkcih2KTsNCj4+ICsgICAgdW5zaWduZWQgbG9uZyBwZHggPSBwYWRkcl90b19wZHgocGFk
ZHIpOw0KPj4gKw0KPj4gKyAgICBBU1NFUlQobWZuX3ZhbGlkKG1hZGRyX3RvX21mbihwYWRkcikp
KTsNCj4+ICsNCj4+ICsgICAgcmV0dXJuIGZyYW1lX3RhYmxlICsgcGR4IC0gZnJhbWV0YWJsZV9i
YXNlX3BkeDsNCj4+ICt9DQo+IFRoaXMgY291bGQgYmUgc2ltcGxpZmllZCAoYW5kIG51bWJlciBv
ZiBjb252ZXJzaW9ucyByZWR1Y2VkKSBieSBkb2luZyBzdGggbGlrZToNCj4gbWZuX3QgbWZuID0g
dmlydF90b19tZm4odik7DQo+IA0KPiBBU1NFUlQobWZuX3ZhbGlkKG1mbikpOw0KPiANCj4gcmV0
dXJuIG1mbl90b19wYWdlKG1mbik7DQoNClJpZ2h0LCBJ4oCZbGwgdGVzdCB0aGVzZSBhbmQgSeKA
mWxsIHVzZSB0aGVtLg0KDQoNCj4gDQo+IE90aGVyIHRoYW4gdGhhdDoNCj4gUmV2aWV3ZWQtYnk6
IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+DQoNClRoYW5rcyENCg0KPiANCj4g
fk1pY2hhbA0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:39:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916466.1321548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu6wG-0007vd-6A; Mon, 17 Mar 2025 09:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916466.1321548; Mon, 17 Mar 2025 09:39: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 1tu6wG-0007vW-3T; Mon, 17 Mar 2025 09:39:16 +0000
Received: by outflank-mailman (input) for mailman id 916466;
 Mon, 17 Mar 2025 09:39: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=WXuz=WE=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tu6wE-0007vQ-15
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:39:14 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062e.outbound.protection.outlook.com
 [2a01:111:f403:2413::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae6c25b5-0313-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:39:12 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS7PR12MB8249.namprd12.prod.outlook.com (2603:10b6:8:ea::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:39:09 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 09:39: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: ae6c25b5-0313-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xXCNJ0/TJk+VPm/k3sWObffGKKIPRNp2mbhz6dpTZvW47Y7VR+wG0f8p0SOONSf2jvmS0lY9atIk1HeYvzMBoZaM8UcuZNcaRG7YObcSXSpnhF72bb+DTYi+i0VdS+1DvNYoU6SA6NnVw49IMSz+FZXyc1t8+ni5Hgeuf9gUqNrPfuSm1sb/UpA9Tjqmc83xBm/eQfCio82wksSbr15ua7wuDLpUNqs+Q7EmdNc3C3Puxhiu9q6dVRsDS2cyZu7Y2ijysYZ4tgqrKEcint5Xj2lnuLka6URcAeryVWRsptH11VcyyuKWnc0YH6k3Na/Se9Zom64Xgup/aUBRFj/jKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yzILHqHd65LsP3jWe0txe2a26eqJFnipWa8+hQEp0nE=;
 b=rcXsnQ5VNYMs32lM5LiQJ+vPqNkMu7u7cIR3K/8W6zCfZ7AO1feFKua9TKs2S3kja4hpLn7omVLvwLYHcvn0W/HKJDeAp8FUPA+06u+ufeOcaZayUm9ltsculd9y/+os2xxAMIVj4WKvGacI9+xxIFyy+WBGvGap3frqDvSroR5HMY6KIf3Jiiq1IZ8XEB3jT1dIVchcPpl5KhA7Q8TQna7bTYYkl6aY3zX4zkZ8dVIB/o1NJVz913tH+maM7K5ApgDbORgUq8g5nPqArHSbVVAg84MTChl4iIc8dlh2uDvP6ej7u2xqo7XunY3UWESv0jBPuKyEhatA/EYJdRS3TA==
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=yzILHqHd65LsP3jWe0txe2a26eqJFnipWa8+hQEp0nE=;
 b=AHMAfxXYM+V8oKBD2TA6u6wa3FAF7LTtsJQQoUci4LOQEZIBnbXvISVzVlwOCfEsc0vjBNGBQfQtcVWJ7h7Zj6iqdd11CpWuk7pK93iH9yDbafs9POPJZMrcIjZGzVyJ5Rpwq0eAPXRKoE1PoPP0ndCdDYkTlkAt0f0leZEIlzM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <b31beb50-f1e9-487a-b319-6face9aa692c@amd.com>
Date: Mon, 17 Mar 2025 10:39:02 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/7] xen: introduce Kconfig HAS_PAGING_MEMPOOL
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Chen <wei.chen@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-7-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250316192445.2376484-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c7::11) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS7PR12MB8249:EE_
X-MS-Office365-Filtering-Correlation-Id: 66b3e49e-4f32-4f38-0366-08dd6537916a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|7416014|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VjJZMUtrZit2dHZhazNNTEIrd3NiRWJzRjJtTjhTcm95WFloY1ZjcEVQbXND?=
 =?utf-8?B?S3ZwMjNQZDdQSER2MVpZQ0FubDZ3V2JCelBIVHErZC8xNTRJaTM1MGU3TTli?=
 =?utf-8?B?WWZYYkZ0QjNyL3JkNUZzTmtUcHpkbGp2MHNsSTRxOG43eXFHRHA0cEFSNmhm?=
 =?utf-8?B?RGVQUEJCSjdZWjZ5SUVmazhnc2czRnFpTlUrVm8rYXQrOTIrRUt0VzV5Yytn?=
 =?utf-8?B?QW4vUlJnVy9QaEVaNmRnbENkWUd0YjUvOGRiUGR5VjRtZXJwcE9iSkN4RU5B?=
 =?utf-8?B?SnVQei93Q0hRT0loQ2lUUlJHZU1nbzdaYlBWaXp0OElwSGZpUkVueDFXZG9M?=
 =?utf-8?B?dXZsRWNQdjZGd0lxZjdGS1BVTFNwUXFFOHZHejhMNWtLTHhXcVpOYW1wQkYv?=
 =?utf-8?B?bWRHcHZURENwSyt1WWI2MTZrdlc1R1JWek05NXVrNVh1b1FLV0c0dDJzaW5C?=
 =?utf-8?B?bURPWEVRZzlXV2lXVEpNKy9PTTZXa2JSNTB5ZDhSRDBySGp1TWlnYllKajZD?=
 =?utf-8?B?dFJIdjd2WXZIY0ZQSnUzM0lOZzFTejk4Q2FlQURqTUloY3FJUlhxSGJFMTM5?=
 =?utf-8?B?NVdPa1BoMGhIMVpwUFdVU21rOTlQLzRHVG5KSnF2NmxZL3dEL1ZFNDNCQ09B?=
 =?utf-8?B?RXlrcXg4UCtmbUdHUnh0ZU9oY1ljRDZkUk4zcWZKQldCaityTXU3aHJ1MVQv?=
 =?utf-8?B?OGVMRkYrRDBkK0x4bDR2NjhFSmdRVGFWNG9xbWJTRXlIcFFaU3pvUWVoY0Fs?=
 =?utf-8?B?L1JmSCtlTll4Vlh3NmJMaGlKKzNUT0haNzRwblFNcEZleUFlMXVyelFKWFZE?=
 =?utf-8?B?VWkwV01GaUs5MlRRb3VUaGNPU1JSYkJ3WlJTeU9aSzVTeFZEcHl0RlZUWHpZ?=
 =?utf-8?B?RkE4S0xZWXVtdXdCbHl6UXdLU0VlTzkydEFaVFQwSjk2TjNmYnB0UmFzTFVR?=
 =?utf-8?B?VGFidGtoYVMxZEJxcGpSci9aMnFsYzlzT2czNHNkTWRQTkFwVVJGYkdNbHc2?=
 =?utf-8?B?cnpraVZ1NmpDbnpnS0xCckt6WTN4OWNpMjNvcXdCTDg4Zm5XNU9DN2FXbVFV?=
 =?utf-8?B?NDlHZWkyV3VlbzJJTHR5Rkx0R1JobXRUdGFNZ1B0MURyc2psZHR6K2YwVjVO?=
 =?utf-8?B?Y042RWpjWURvdE83Y2hpR1R2dGFXT3VCVXpNRDdkS0ZPdGlGV2JRaG1jQ2hO?=
 =?utf-8?B?cGc2REpZWFRBK3lUN2F4cjNWRFhveGlGTTVocEROVEtmSk1nSEpVVUJrY2xk?=
 =?utf-8?B?NnlZakxmSVM3aTJGMzZtMG0wL1o0YldkcWg5YXpzdms2Wlc2TEtVemNxQ011?=
 =?utf-8?B?Ky9WVEFJUzE5ZWJ3SjhEZ1dGYUdpT01XVlNMQ0d6cXI2d1RHeDJ3VWVCV1Az?=
 =?utf-8?B?aDFVTFRCSWVJZUQ1ZUc5M0xhSUIvM1FmbmRPT1pKWXB1ZnVkdTIwU2VoTVRJ?=
 =?utf-8?B?TUxUYVNROUFCTGFLcWFOUDZmYzlFU0lUNG1ncFRyeFVjSXFqSWw2cldsOEJt?=
 =?utf-8?B?eFBVYXBXSDNxQkExb0MvTFpEaGppL0RVUU9oNld2ZmJTTmUyYVRZeVlrcUNW?=
 =?utf-8?B?WUw5RzNkNk50TDFMb0drcEFNN0RMeW1ld3ovSjZBRU1Ja1I4bXFiZ3JwK1hZ?=
 =?utf-8?B?ekZXMjlDRDJiSkgvQ2g5OG5RYk5Mc3I1ak5IN1pva3dSWERBUGJReEN1T2ZP?=
 =?utf-8?B?Wmh5Q1UzelVhL1ZGMlpzeDlaVCs3YzAzbTFhcFRQM1cxM2l3aWljWEFUdFo1?=
 =?utf-8?B?SEl3cHl0QzAwVTBmMVhpQVRSbERXTy8vWi9MNXJJdlF4MXQ5dEZZbVF1U09q?=
 =?utf-8?B?aGpLWDRnQnJXY2dHKzZGMTBYOXJwNHF3aHhidWtJOXNtQVkvQWRqWDFBeVBJ?=
 =?utf-8?Q?EGN0QPESRSXT9?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1ZzK041TXQzRmJRUmx6bHlpZ3grK1ROTjZoK2F6NlQ5MTJVZWswVlA4MGlU?=
 =?utf-8?B?N2liclMyb3dhbFNDc0lwb2poQmg3Y241YXZsd2pJNmN2aGhCUS9lK0pKZElS?=
 =?utf-8?B?L2IwUVZnZVV1NHh5TUZ3d1h3ZEZjVGZCMHRoejl4UFNNTXZ3SUt5V0ozN3h0?=
 =?utf-8?B?NnhHeEF5dnpPcFRMMllITlpZWEFBdDlTMm1CKzdBVXAwZlBNNWpGcWZadC9Q?=
 =?utf-8?B?Vkx6ZUxJd003T3JNcWRhVjJzU01pMFc3NUJKZ0RJTmljdzl3UU5BK2lxM21C?=
 =?utf-8?B?R05rMVI5ZFJTcUJLTWE1dnVtSjdjT2VmRndqai8ralhtbU8raHRsVU53RVlW?=
 =?utf-8?B?cHZFQ1YyODNESTYwQ29PMXppUkNaOWRLNjN2dGVuWDVBNmdPUEJoWlJHS0Ny?=
 =?utf-8?B?VEllTlhpcmRzaUhkbmZzQ3hkTjRRMW4vWWl4SnVPTkhhK3hwNFZwMno3bHFB?=
 =?utf-8?B?M3NwVThlZldZSXhWSmluSzcwWUpscnpFR3liVHQ5ZGVNU2R3SE5qdVR2TWhj?=
 =?utf-8?B?eU9jbEdKRTZsRXM0cWExb3c3QmxSQnRKTTVwamhxaVZkZXRuZ3ZnRmJJY2hk?=
 =?utf-8?B?NjJpVmh6UnlYMkZzZ0pQVjErYlJ5bTFUQklrd3FxZkFucVNkNG9xRXNSUEwv?=
 =?utf-8?B?RHhDZzl1eGxtK3lEQmFQNEJuSnlKeE5nTDREMGdxM3hRWmdVZmtCVWhpWWZs?=
 =?utf-8?B?QmZMUnZuR0hLOU8reGQ5bUhQaU84MmlkQU02eGh1NGVQTlFmaWZoOUZ5bTI5?=
 =?utf-8?B?ZHpzb28xNHdSZ0ppNkpoSFZVaUZQbEFBT3N4dHh2SEJBaXdVVi9GQ096QVBQ?=
 =?utf-8?B?NGVmQXNBMUcyRGovU1dOYVdiQVJoaGFrQURTWVUrZDJTZlgzRy9HMzlzSXd1?=
 =?utf-8?B?OGNzQnBRRmdnUFJzQ2JwYnFsa25OUWVPR3pNMm5rdXpaVWN2aFE2U1ladjk2?=
 =?utf-8?B?aU9ydmF4dUJjZ2ZJY1JzblM3dTVlV3kzUGx5Q3JPZVJKLzFxTEFBanZtYjZr?=
 =?utf-8?B?bkJ2SGEydkdMbk5NNVNzajNwcjUrcy9TdG9oc0V6RHV4Zm5JMzk2RDMyTW9N?=
 =?utf-8?B?QnZxbHFFbkNTcmpSZjV6Y3dTZmRvVUUwakMyOXEvSTl0ZEtxUWY5OWZzdlR4?=
 =?utf-8?B?NlhDUjBSVmUvczRHZEh0b2JFWnRFV3lpUVNEN00zakRqcVBQckNocHRyeWN5?=
 =?utf-8?B?MXkvcU0zd1RhUE04NEN0aEhFWlhMUFBhZ1lld0ZGbG4xQ0J0OHJGdmJqeEVP?=
 =?utf-8?B?eU9VUHQvcit2WWVpVVB2NDhodzA1S3dkMmphVk9IL1VHSktDbkJBVFJGR1pO?=
 =?utf-8?B?NjhkVkYzS2xZSTJ0cVZObDA4WVBicGRrT01SWW1La1puTE5Yd3lHcml2QnYx?=
 =?utf-8?B?QVQ4MVNPalZFSGJmRG9nbS8wYVEyRGZQOEJaOU4yRVhRL1RuaXdQUWdMZlhv?=
 =?utf-8?B?TTA2dU5vQnV4c1pGMlpqRmZlRzN3aTV4ajRWYnJ5NzNXVjlxRGJrbk5kQVRO?=
 =?utf-8?B?MTQ5eHo3elJwNXF3WTFFU09yZXk0TnB2RDJHcytLaFpJU3NwQzNoSW5vK0pE?=
 =?utf-8?B?d3pjZGE5eGZJaDFNb3QzMjJhck5tZFV5djFZbTZJdU9XR3ZpalBuMStJa2pV?=
 =?utf-8?B?dURKRENVMnZpeUlPbitpMXFWVmhrMFFOejJmWUpLQU5sQjRVNE9vYWdvZHAv?=
 =?utf-8?B?UGVLdGhjUHVoeWsyaUgxcG9tTFl0YWlGTG5leVlacHlKTzZiSmJDVy9zTWlM?=
 =?utf-8?B?RzU3Q2V1a0dCd0xMNDhzdkYvb0dYRXVkMUxwVW4ySmFNVGtpR2xacXdqaGx2?=
 =?utf-8?B?WDlBU3VMUmFxUHVuYkhUcUxkYktyQVBXTjVCZkJTMXQrNWRaWVFGb0NhM21W?=
 =?utf-8?B?Mmk3Z3NHU3ppVnFKL2kxTGhnZjRtL1NQeVpjWWl3NFVXdldVQ00vdDI0djFT?=
 =?utf-8?B?OHNzU1lkUWZQT1RDVlVHMU1ST2FHUm9Qeno2NHdkTUVQcFlmZHA5dlVTZlRt?=
 =?utf-8?B?V3lLQ2V6SkJkNzM3MDg5c2hQd2VHMVpHb2h4NnNuZzVpNGpuNCt3LzI2Uisw?=
 =?utf-8?B?R1hBVVJCMWIzLzkyWDJkWk5KVWIzL2ZuMmh2RTIycGNhTjJDckR1djVjVXBp?=
 =?utf-8?Q?7iqw=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66b3e49e-4f32-4f38-0366-08dd6537916a
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:39:09.5268
 (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: dR9rRksaHuTy2z0tnQWDw9oKcqqgCpUB/shDlJwj/7vu9jlwaumMhJ4GNizCUoFG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8249



On 16/03/2025 20:24, Luca Fancellu wrote:
> 
> 
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> ARM MPU system doesn't need to use paging memory pool, as MPU memory
> mapping table at most takes only one 4KB page, which is enough to
> manage the maximum 255 MPU memory regions, for all EL2 stage 1
> translation and EL1 stage 2 translation.
> 
> Introduce HAS_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
> MMU systems.
I think it should be selected by other arches that implement the stubs.
Anyway, Jan added a comment and I do agree with him.

Just a few remarks.

> 
> Wrap the code inside 'construct_domU' that deal with p2m paging
> allocation in a new function 'domu_p2m_set_allocation', protected
> by HAS_PAGING_MEMPOOL, this is done in this way to prevent polluting
> the former function with #ifdefs and improve readability
> 
> Introduce arch_{get,set}_paging_mempool_size implementation for MPU
> system.
> 
> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
> field is not required.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v2 changes:
>  - make Kconfig HAS_PAGING_MEMPOOL common
>  - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>  - do not define p2m_teardown{_allocation} in this patch
>  - change commit message
> ---
>  xen/arch/arm/Kconfig              |  1 +
>  xen/arch/arm/dom0less-build.c     | 48 ++++++++++++++++++++++++-------
>  xen/arch/arm/include/asm/domain.h |  2 ++
>  xen/arch/arm/mpu/Makefile         |  1 +
>  xen/arch/arm/mpu/p2m.c            | 25 ++++++++++++++++
>  xen/common/Kconfig                |  3 ++
>  6 files changed, 69 insertions(+), 11 deletions(-)
>  create mode 100644 xen/arch/arm/mpu/p2m.c
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 5ac6ec0212d2..6b4bcf12683e 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -76,6 +76,7 @@ choice
>  config MMU
>         bool "MMU"
>         select HAS_LLC_COLORING if !NUMA && ARM_64
> +       select HAS_PAGING_MEMPOOL
>         select HAS_PMAP
>         select HAS_VMAP
>         select HAS_PASSTHROUGH
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 573b0d25ae41..a65bbbb05301 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -673,6 +673,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>      return -EINVAL;
>  }
> 
> +#ifdef CONFIG_HAS_PAGING_MEMPOOL
> +
>  static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
>                                               unsigned int smp_cpus)
>  {
> @@ -688,6 +690,8 @@ static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
>      return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
>  }
> 
> +#endif
> +
>  static int __init alloc_xenstore_evtchn(struct domain *d)
>  {
>      evtchn_alloc_unbound_t alloc;
> @@ -841,6 +845,38 @@ static void __init domain_vcpu_affinity(struct domain *d,
>      }
>  }
> 
> +#ifdef CONFIG_HAS_PAGING_MEMPOOL
Why can't this be moved to upper CONFIG_HAS_PAGING_MEMPOOL block to avoid
excessive ifdefery?

> +
> +static int __init domu_p2m_set_allocation(struct domain *d, u64 mem,
s/domu/domain/ to match naming of other functions.
uint64_t. Linux types shall no longer be used.

> +                                          const struct dt_device_node *node)
> +{
> +    unsigned long p2m_pages;
> +    u32 p2m_mem_mb;
uint32_t

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:44:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:44:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916481.1321558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu71F-0002Wy-Rs; Mon, 17 Mar 2025 09:44:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916481.1321558; Mon, 17 Mar 2025 09:44: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 1tu71F-0002Wr-PE; Mon, 17 Mar 2025 09:44:25 +0000
Received: by outflank-mailman (input) for mailman id 916481;
 Mon, 17 Mar 2025 09:44: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu71E-0002Wl-E1
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:44:24 +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 67b6e2d0-0314-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 10:44:22 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-ac25313ea37so848958866b.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 02:44: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
 5b1f17b1804b1-43d1ffb627csm99884955e9.5.2025.03.17.02.44.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 02:44: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: 67b6e2d0-0314-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742204662; x=1742809462; 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=Gq8zC1bmtsNrqAokFJllexeWTVEPVYL8dmOU5yW+cGg=;
        b=RNNtPCTMcgx/3JNE+Jcc0dhA6wBz8QIDpH2NNN1o738Gc4kv/7vHKcuDXwQr57EMV2
         ay3RPlqWoZQAiAQFHXhPYSncU28BdlSVpq2bZes5fvkwCD+4Ue8mM1KArGWE7u38NsQA
         mO0seLyZUCIN7TyMV9vLHbQVxCnbpQKXY2ZoyLmVnL+x37dmyfviVhkLDT4fDPC+lE0N
         0w4P+1fjaY5pdUBkvbY1vYuaizJtZ3vSxVK6LwvG6tK4z0Z4XvIsXaEcN/PLyBLnSX/N
         kUlPGqsS7jFjV/bs8T/D10wfHIJViXEmoA4Js1NpsW0VDVxrXXduritB9sHegEitkm/I
         taEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742204662; x=1742809462;
        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=Gq8zC1bmtsNrqAokFJllexeWTVEPVYL8dmOU5yW+cGg=;
        b=D4YexMPMA+oBQSCeuaM1wBbXXVmaa/63+lZ5Q/cd+1J6dv7074X3TVwOTT26JztpCy
         0Fivyuo9tejzWKqCvYCG3i/d5MKaYXertKQAKEmD6+a2jQFRzOzEs5X6iGxj1IO27rfM
         w378L0TBlacNw0m+CewClMhMMzhvR5/BbGEMtDfKn8W3Dk0wzDRm5Pv4OMiA0OoHZ9qw
         qkA78zlGBGgwT2hb4qnVCgDVHiOaszWOweMsvqT1uHvzsctT1nfUPv27+T/Oeym63QQx
         3rKSfL16gDix8s4VjQDSbsMHjDLb6AICvQ3hlrihZZhKnnSM1zOFVz7ZMJrFp6frxhl+
         ON6w==
X-Forwarded-Encrypted: i=1; AJvYcCXF/UeUcFRSyP+b6nrGziU8eqaRJ4OxNlz4o5WeiA7xSZb7JjlZNzCH64NzBH1+0ZUQk7OBQXiwKEs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyx34Ll9jOxoZdGr+M6CjT7CIw1I4NFCGmeiSdDFPsNN768hwMC
	ZSKwlca8e8nt+BqNRFPpygO7xwSqsYcyKlsleVly7G3oiZLbgs1ywOqbadrdXWD1THn2MzNg3R0
	=
X-Gm-Gg: ASbGncvF3LonnvENNVEI2UVWbi8aMNgmRrIwsVwQKlHd5dSaNJTF3nR1Ydhe2XVPq2E
	JeZeeGnmlIiWGmH6xP64c33L32+paCheXH5LRZF9fMLu2GcT/T7gJdUodluQncuvq9baMMvfZuR
	K+ShjUgjJ/4D1MjQRYkUZH3wzBM6kgDv2hIiKGinORPyRJAJhtf2AXJ7SMxmOpbGMKzN67KEkiy
	qrEI39NIHzjOTRDPypMRoT01ZWBF/4vpOcTOjAVbiCg7bCWKVnJ5qdgM6R7brkQKx3FNiHm9phq
	hnG0QdEiPtGmsq1rXqoh8W3yYj7LCRx40bbJIaTeP5IIgOkUcx6OeP/GrRMllaC9DW5LEaQwUoN
	lH1sXQvpp83oFxJ/yhY80LnyToYX225W+a6unLFij
X-Google-Smtp-Source: AGHT+IEqe5ou6K6SvZGceqmSIYUpaZBRGkgrz+W6aElgR1PtSN9kAufDqQozLWFBTExlW7HzXUWNVg==
X-Received: by 2002:a05:600c:4e8d:b0:43d:4e9:27ff with SMTP id 5b1f17b1804b1-43d1ecb256bmr120260805e9.7.1742204650918;
        Mon, 17 Mar 2025 02:44:10 -0700 (PDT)
Message-ID: <90bd696f-f31e-4356-a9ea-267da384f820@suse.com>
Date: Mon, 17 Mar 2025 10:44:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] x86: make Viridian support optional
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250317071919.3766976-1-Sergiy_Kibrik@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: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 08:19, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -348,6 +348,11 @@ config HYPERV_GUEST
>  
>  endif
>  
> +config HVM_VIRIDIAN
> +	bool "Viridian enlightenments support" if EXPERT
> +	depends on HVM
> +	default y

Imo the prompt wants to include "guest", somewhat along the lines of what
Alejandro has also said.

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -695,9 +695,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;
> +    }
>  
>      rc = alternative_call(hvm_funcs.domain_initialise, d);
>      if ( rc != 0 )
> @@ -733,7 +736,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);
>  
> @@ -1637,9 +1641,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(v->domain) )

Like you do further up, please also use "d" here and ...

> @@ -1669,13 +1676,15 @@ int hvm_vcpu_initialise(struct vcpu *v)
>   fail2:
>      hvm_vcpu_cacheattr_destroy(v);
>   fail1:
> -    viridian_vcpu_deinit(v);
> +    if ( is_viridian_domain(v->domain) )

... here.

> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -426,7 +426,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
>       * priority vector and then recurse to handle the lower priority
>       * vector.
>       */
> -    bool missed_eoi = viridian_apic_assist_completed(v);
> +    bool missed_eoi = has_viridian_apic_assist(v->domain) ?
> +                          viridian_apic_assist_completed(v) : false;

    bool missed_eoi = has_viridian_apic_assist(v->domain) &&
                      viridian_apic_assist_completed(v);

?

> --- a/xen/arch/x86/include/asm/hvm/domain.h
> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> @@ -110,9 +110,9 @@ struct hvm_domain {
>  
>      /* hypervisor intercepted msix table */
>      struct list_head       msixtbl_list;
> -
> +#ifdef CONFIG_HVM_VIRIDIAN
>      struct viridian_domain *viridian;
> -
> +#endif
>      /*
>       * TSC value that VCPUs use to calculate their tsc_offset value.
>       * Used during initialization and save/restore.

Why would the blank lines need to go away?

> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -507,7 +507,8 @@ hvm_get_cpl(struct vcpu *v)
>      (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
>  
>  #define is_viridian_domain(d) \
> -    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
> +    (is_hvm_domain(d) && IS_ENABLED(CONFIG_HVM_VIRIDIAN) && \
> +                         (viridian_feature_mask(d) & HVMPV_base_freq))

May I suggest to put IS_ENABLED() first? And to adjust (reduce) indentation
on the 2nd line?

> --- a/xen/arch/x86/include/asm/hvm/vcpu.h
> +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
> @@ -171,8 +171,9 @@ struct hvm_vcpu {
>  
>      /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
>      struct x86_event     inject_event;
> -
> +#ifdef CONFIG_HVM_VIRIDIAN
>      struct viridian_vcpu *viridian;
> +#endif
>  };

Again, not need for the blank line to go away.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:51:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916491.1321568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu77p-0004ON-GQ; Mon, 17 Mar 2025 09:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916491.1321568; Mon, 17 Mar 2025 09:51: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 1tu77p-0004OG-De; Mon, 17 Mar 2025 09:51:13 +0000
Received: by outflank-mailman (input) for mailman id 916491;
 Mon, 17 Mar 2025 09:51: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=WXuz=WE=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tu77o-0004Mg-HM
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:51:12 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20625.outbound.protection.outlook.com
 [2a01:111:f403:2415::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5984b6df-0315-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:51:11 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CH3PR12MB8755.namprd12.prod.outlook.com (2603:10b6:610:17e::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:51:06 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 09:51: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: 5984b6df-0315-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HkPll5JyVprj/Ci9UU11/YOKc+iDTGhAB6goNmGKl8s/uTytQfWylRoORktsWRoNvJIjW/KLl7xJ+SIhyZmcJFiEDoRSC0EMrfQIpizGLLh3BTTRX5ORbGOZgipcCqTGNpne60Q06HMl79e3ZLqLXnd1uBIMRoCeEzpC8GLh7J/HW0AytGB0fot7pYcJ0FVinPcTVLWFu6an4EU8vfuUONtfH1KwM9snlRB0SyafK/eNQHxBgCPBwTV7xfAv4oNyH9NNjjNS2XLxvewopx/do2GN/YKnF5Pvo+QGZYoP6fWdX5qj4BfoNB+2ieaHm3NNurY5J/tGCskLPyVLwsLzUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bd5wRmxm4lkPwmTkymPkBWIRcWq6kk8FWC//PTGNJtc=;
 b=DioOAjwUBpLgw0zQQvGAE7F7J8GRbi5clGPo9lZQ5Ry1AN3iVdAf1hI3ZPAUEyV40BILADmGkPvsPRwWv9YKifS/rrEJhhO2BIPZjSY8QODbcnypMaT1U2BukiTg4CYsMc3FR1iUwiHd2KMKDanpxADmVMQumYhYmGoWQeHjbHBB516IgMqKJOGdoe+QGsAsFwAoyM2ZHtz35itQypxb0NzbTYQu9yuANoi4mRORKf35GYBI1fGHqi9WNxeL2KzjBIx7Li5NnldA6fneo70e7SFo+BKftJ1kf0Ij+jxnyktzDQEjk352Sfx107yyrkZWU6qfcvAwHACQxEE8NgVwZA==
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=bd5wRmxm4lkPwmTkymPkBWIRcWq6kk8FWC//PTGNJtc=;
 b=HF4MXpt2JoW/hVmEHeANtQcPtahQu4/8t21YUl1jKyppz83Ywxcr2WRYhelvBZIHLXJqlfUNiId857dCmdhiaQEuB4vVGeTOfiOv9NpTsQkuKfR6v6Q51fw9BWULy/J1CiNQp/0UFfn/Cz1jhNkbaUfsN0bAsPD9xp7glmyW8fI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <4247ad5a-dd96-4dca-aff0-abe6a2fd0aaa@amd.com>
Date: Mon, 17 Mar 2025 10:51:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/7] xen/arm: Introduce frame_table and virt_to_page
To: Luca Fancellu <Luca.Fancellu@arm.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-4-luca.fancellu@arm.com>
 <799e2b1a-aea8-43d4-99bb-eab4fd4f6b93@amd.com>
 <5CDD6327-BCC1-4383-ACDE-19B75C085631@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <5CDD6327-BCC1-4383-ACDE-19B75C085631@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR5P281CA0030.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::6) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CH3PR12MB8755:EE_
X-MS-Office365-Filtering-Correlation-Id: 23a8ef78-c76c-4bf8-3184-08dd65393be7
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?S25kdUJBbE1aVldNMk83L1Jjb0pJQzNMS2YycC9hdGFRUGNWSnRPYlVqelNW?=
 =?utf-8?B?Y3Y0c1g3YlFOMVJqVVNidGFNaHJ5Vm5BczRJN3oyRzR5NllPRWhyUHNyZVF5?=
 =?utf-8?B?Y1paaE9TNnl5aVYrNnBkY04xZzE2RVk0TmVrcWx1OUZTQnp6WUU4QkVCdzB6?=
 =?utf-8?B?cWtsKzUweHJjTTFoWGRlVjVFMDNkcmhXcEVkV3lvQzJia1FKWW93YzNySjd6?=
 =?utf-8?B?TWcwVEVSL0k1amRmZlg0aG13L3ZpbHFjbEFNR1BCYnhaQXhhT3UxYm5Hb3BM?=
 =?utf-8?B?ZGtWbDdWcTJTRWNlNWtvR3d5aFkvNkxuZnVrSVF6QWhWNUgyT2pzbDdMeGIz?=
 =?utf-8?B?bk9sZDQweFRieUhGZzBCbWo0aURlcEpxYXk1b0xRQlFrMzVreHZBVFBJWklX?=
 =?utf-8?B?b0lCTEFhSGZVTmZ2Y3NqSGt1UlBQbUNNanUvTUFuQzBNL0hGdWd0OVkrTVhS?=
 =?utf-8?B?eFdTaDNXcGdwaG9iUnpReDRKdVpVRTVvVXFZOWJwSnZFYUxKMjJFNmN0Y0I0?=
 =?utf-8?B?bHFsUldNVU5JSWdRcVl2T0FTYXA2ZGNKK21sVWhNbjZwUkk4Nzd0cGFBejRj?=
 =?utf-8?B?M0RWVWZMQjZDbmZ0OExNTHBHRGNYUU1adWttZWFhVEo2MTBYdXlDYUgwdXQx?=
 =?utf-8?B?Mjl4dWdCZDk4MkFKUExsMTErZTExTU92VlMrWEVOeTQwaFVSeEhFeGpZZy9y?=
 =?utf-8?B?ekdzQ3dYZWN5ajRwWE5td2R4RGhnZGc3RTRwYzZsSlVjUzFvWE5UZGpJaEY3?=
 =?utf-8?B?ZjZNVGxSL2ZqRHpkZTZuMmZVUHo2K0ROcWl4Q04wN2cva1l1aFdMZmFTZzZz?=
 =?utf-8?B?NWoweE9SK0Y4bWhXMktCakU3NlNYOGJCL1hKWUsxNjlhYTNtcUZhS2ZHM0pq?=
 =?utf-8?B?NFovRUJaVDREaUlsOUZDOUxjQ29FOTNyZXlBOFFvbEJEVzluSDR6UUxmYWlI?=
 =?utf-8?B?YWptK2N1SHhUMC9lbFZOaFA0dzNuNy8zVFlCaEViL3Z3MkpobnRWRDAxbWZs?=
 =?utf-8?B?amN1UlVDbHlkc2RBM0NVSWMwNzBZSXlxWXVYWnRHTFV3eHJPUEI4Uy9lTm50?=
 =?utf-8?B?MDdaSnQxR2Z4TUdqaW1VRHRrZ0NvaExjR2tlS0lxdjk5aTRiSEEwdG91WnFM?=
 =?utf-8?B?UUxvRmpRUEVvQ29SVHNXZDFaNlE1dFpJSEVqc1VGV3FjL0J4SzRRd2pFc1pQ?=
 =?utf-8?B?WEpqT3hPdnhkV3RWblk4bWwyTEI3VW1SUTBKcWRZOFZiaWdxU1VQWU00bkJm?=
 =?utf-8?B?Tkl3OWlHbVFQYWhJSEhpUkYyaG9laGk0cUVrOGV2T2FzMGc1dm1OVVdvWGpE?=
 =?utf-8?B?UzlxOFo0SktnMmVyR3hCREdtcmNOZUNCNEozUFlnUDVnM09PV01wT0QzN2tS?=
 =?utf-8?B?TW85N3hIM3NZcHR3MTVBdmtzQnVvN1V1UjZTbStCREptUXlwVjhVNzJXQmJF?=
 =?utf-8?B?dEczUjNDYVI2NVdFM0s0WDdySU9lV3pLSHVsMHd6N2VlQmNpbEpYa1FMZE1r?=
 =?utf-8?B?NjhrWUFjQTU5SUVya2JyZDA2VkVRMEsyNkpNb1NBTG5JS2haOVhnb0Q0Smg4?=
 =?utf-8?B?MDJvLzNSa29SaVh1QnVGUEZZYmlUd0NmUUk0Y2ZML3F6a1I1YStvTnE2VWhw?=
 =?utf-8?B?MkZiWldCOHg4aHovZEh5dGx4Qng4c2lqYlJURHNSRWJXYWFiTng5STNlYkln?=
 =?utf-8?B?SHhSaDVWQmNPMFZGdnArTjVEbUFFZHAxVGlWUmdNTFp4S3FZVE1pUVNFRG5l?=
 =?utf-8?B?a3IxeEFHYjJHYUF1WUczMkNxcGRpbm9TS0FLUUFUR3JiNkNsWHZLWFlzQ0hq?=
 =?utf-8?B?L1U2Ujd5aitpa1BKdEVSM2xrRHU3VmhHbC82dHM1dHI4bnFyNCs2UkdzcUpU?=
 =?utf-8?Q?m1IkvUPjgCqQ5?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?V0xvMGFWMEZ2aENlV0ZDMGg2Sk4rTnRyTGV1eWdnMVJIUzU2by9SMDd0R1FE?=
 =?utf-8?B?dUsxWXE1SFl3VGRjQy96ZEVjY0ZMSXRkUHM5OGVJM2E4R0FhalpQS2pTd0tK?=
 =?utf-8?B?V3F1NUthS3NtWFRUU09QaW93Z0RRN2ZoQ2R6b0VqVWtLT2Faam5pNXhLWkt0?=
 =?utf-8?B?U1dDeDF1c01YdHNBcWxINkJKbVU5YzZVRFM4ZldpQzZjVGRpaE1WR1VNRUJ1?=
 =?utf-8?B?QUJybHArM2ZSUDJIV3VBaE1vTUp2R2E1ajFoMXFZc0FCcklpRm40bTRvdm5L?=
 =?utf-8?B?Zm5HNWIwNDZzSlRkejVySm16aHRLSnk5eWJJaXV5YU1FYnM5YmhOZFlNcmtH?=
 =?utf-8?B?T1J2N05DQVVZM2Z6V1NKaHJEMHZmemhxM01FWGtGd3YweDJrTFl4eEVvZndH?=
 =?utf-8?B?aU8zcERGZWdhYVBCdWhVSU56MUVKdVdOSE50RUpJVHFpc0tmSjRUcVRhRlFW?=
 =?utf-8?B?R2FzTDlsN1g0bUc1MzE1VnQ1NlpuUGIxY1hLV0kzbkhVRzc5THpNRDBMbGxv?=
 =?utf-8?B?aUJsVU9VWU9JWUdwQWFkcVlvVWdMVDdUbXpjTk5tczhmM3g2Yjc0MmVSSkU5?=
 =?utf-8?B?WGk1SkZPbXdoWjlxa3dYNU5CWkNoRzJxV0ZyTTA3RXVNaklyYm1RMzZDOVI5?=
 =?utf-8?B?MytnTi9EMGM2OXhwMDdRTW14WG9zQ0JaV3YwZXNJY2s0MDQwYTZtU1pqUjNO?=
 =?utf-8?B?TFJ3Q2FxMjlkRktKYkZvN3Z6aUZYbGRpV21BbXVJMldqZkthTFpZSzU5Vld3?=
 =?utf-8?B?dFNoeHMrMnBlcndaT1VOQkt1UzFwa0pPTDZnbkRubC9BeU5uNkM3VFFPNVd4?=
 =?utf-8?B?N0hMS3E4RUUxamo5NE45a3hGZzU1Z2hNeHAxUFlCenRrUU14YkRmRTNRc2hQ?=
 =?utf-8?B?MnM2UEVwWitqWnViWXVNMHVZUWU5bEpMWjdUb3NuVjJ0Wm9yMW1PVGEyMDk2?=
 =?utf-8?B?OEFnV2t1R0ltT05ja3J2MVB6RU1EZUwvZTMrUWwzRVphdnpCNkVYRS9aZ1I0?=
 =?utf-8?B?UVNDb1d5NnlGd1VGbERRWXBuWXlGRzdNajhYaDdKaUpkNUFIOUMzcU5mTzJy?=
 =?utf-8?B?OTA1ZytaNDRUMExJVENnQkNOdDJHMlZ0U2JCODkyd3ZFQnRDdzVsam9LM1Vk?=
 =?utf-8?B?MGZoZ3ZvY2xOZW5IV2dldVhuMldIV3VyRm96cUMwVDIrcXQ5NHM2enIrQll5?=
 =?utf-8?B?eU1mRGlVVWZRM0VyblhPVlpsT3I1Ukk3Z2FQUVVlWUZTNWtRa0wvZWZoWjVK?=
 =?utf-8?B?WmtIR200Ync3OWcyL1lhZm10YnlUSXFLN0t0TUlzZ2lWUmdQMWg3NXpFVEo1?=
 =?utf-8?B?ZDg4a2EySzl5WTNHNk9DTUQzZ0Z0VXh0Y0J6bXQ2enhWNFpaQTkvSU1CMXRu?=
 =?utf-8?B?TWxlZnVzMHlHTHFXNkRaUWx4VGUwM09jU29mR0J5ejBjVERNdThJOG5sTkdq?=
 =?utf-8?B?UDdKWk1GOEp2czdpZVoveDQ4Z28zaGx3Q3Y1MVU4QkdpU1hPWWFpTjhLNmRR?=
 =?utf-8?B?RGVReUFybFVZNmZRcGYwMUhCRlo2K3NZUDI1VGlUQ2lZN2RJWUpNUXE1ZVZJ?=
 =?utf-8?B?UmNiaUdONi9wME85VkZYdEtrcnk3SWtRWE9aUVdSNGZqbHhoNHNqN3ZRemtM?=
 =?utf-8?B?akxENitycWFRSUcvUjd6VjF0STFDNWh3aSt3TjVVOUVGRkl4ZzU1MENEbzBN?=
 =?utf-8?B?UHZJQUY0OHhrbGh6Y3pKakNlUXpVZ3hNN2hTa21Vb0c5NGxwc29DYUdjRmlP?=
 =?utf-8?B?Wlk5WUxxQ1NUR3FTdDRsc3BTVldBWjhiLy9saFZsRjlucHk5ZFNsa2YyK0pq?=
 =?utf-8?B?aFU4bUo2cFJsMWkvaDR3WnRRZXAvMXpZQXlZVFdLVThwcUtzYWszM2hGUmZI?=
 =?utf-8?B?a2k4MzNrNDc4N0RVVFJUd1BqT01yZWZudzBVODlaTnp6cWl4MEYzSGlUYmNT?=
 =?utf-8?B?empSc2pTeTFkbHI4Y3J5ZVJ0a253SGp0K05zYzZOaGpYcjVjLytHNHBQMysx?=
 =?utf-8?B?RWdKWnV0SDdwUkx2eGU5Skp1bTArN0xTd0IyWFRnckp1S01DTGwzcGVCdDEz?=
 =?utf-8?B?c0lKSVRDVDc1bVpQeEZaZXBoRmNtS2oxbDRyNHgyVlVHSVZxS2svL3d2UXlF?=
 =?utf-8?Q?K4Ac=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 23a8ef78-c76c-4bf8-3184-08dd65393be7
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:51:05.0918
 (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: 3yM0z1pt224lAm9zNbc14GNsLaPe0CKevQwI1B4g7kzOD/mIDlXU5FO6+m6laOA/
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8755



On 17/03/2025 10:33, Luca Fancellu wrote:
> 
> 
> Hi Michal,
> 
>> On 17 Mar 2025, at 09:29, Orzel, Michal <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 16/03/2025 20:24, Luca Fancellu wrote:
>>>
>>>
>>> Introduce frame_table in order to provide the implementation of
>>> virt_to_page for MPU system, move the MMU variant in mmu/mm.h.
>>>
>>> Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
>>> pdx.c, but leave the initialisation of the frame table to a later
>>> stage.
>>> Define FRAMETABLE_SIZE for MPU to support up to 1TB of ram, as the
>>> only current implementation of armv8-r aarch64, which is cortex R82,
>>> can address up to that memory.
>> When mentioning support statements like this one, it'd be beneficial to provide
>> a reference to a doc of some sort.
> 
> So the only reference I have is this: https://developer.arm.com/Processors/Cortex-R82
> 
> but I would not be confident to use the link in the commit message as it could go stale
> very quickly. So Iâm not sure about what I can do more.
Well, not really. Max physical memory is advertised via ID_AA64MMFR0_EL1. I
found some old R82 technical manual (you can surely find the latest one and
provide reference to it - not the web page) and indeed it mentions PARange as
0b0010 which is 40bit which is 1TB. With the R82 being the only CPU model
implementing ARMv8R-AArch64, that's solid information.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 09:53:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 09:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916502.1321579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu7A6-00065G-Sg; Mon, 17 Mar 2025 09:53:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916502.1321579; Mon, 17 Mar 2025 09:53: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 1tu7A6-000659-Pb; Mon, 17 Mar 2025 09:53:34 +0000
Received: by outflank-mailman (input) for mailman id 916502;
 Mon, 17 Mar 2025 09:53: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=Q9Sv=WE=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tu7A4-000653-V5
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 09:53:33 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af27cc82-0315-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 10:53:32 +0100 (CET)
Received: from DU2PR04CA0017.eurprd04.prod.outlook.com (2603:10a6:10:3b::22)
 by GV2PR08MB8728.eurprd08.prod.outlook.com (2603:10a6:150:b3::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:53:24 +0000
Received: from DB5PEPF00014B97.eurprd02.prod.outlook.com
 (2603:10a6:10:3b:cafe::7d) by DU2PR04CA0017.outlook.office365.com
 (2603:10a6:10:3b::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 09:53:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B97.mail.protection.outlook.com (10.167.8.235) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Mon, 17 Mar 2025 09:53:23 +0000
Received: ("Tessian outbound f89894bb7c0d:v594");
 Mon, 17 Mar 2025 09:53:23 +0000
Received: from Lef39d7cf30b5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 29F09B5A-B429-4A7A-B111-44AB1AB53501.1; 
 Mon, 17 Mar 2025 09:53:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lef39d7cf30b5.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 17 Mar 2025 09:53:12 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 GV1PR08MB10855.eurprd08.prod.outlook.com (2603:10a6:150:161::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 09:53:07 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 09:53: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: af27cc82-0315-11f0-9aba-95dc52dad729
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=eegYrTQSNjL5O6bkyl7bd+kPGQeCQDYVMexY1PgJxvAuRrAFhwr0givjwdhWSpsbDD1MYdNykER4XJVGi7JryBJITFpUBJUUDiC2XEG1bQ+mWF2W/Y+YNlSYiVnZGGH4heVgIJrVCifWsQUr+ulqrygK7irb30XZF9iCcqrgsPrXABMgBIIUiGxeuSUdcvE30JbUQ/R/0BP0k5x35UEBO6dGcsnSdlym68wRGFHUyHxhtcar5U0IzpxtBtytgirrjPWWZNTGJcdEg4nCSR4sumHCsj9IK94dGE8uDccF1GZ0sURX/KLIiCnb//xGL8TFkVrwCbzQrcxVvh+ZUeWGFg==
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=61r5a1Ppci2hOBDY25I0/2BHDvS6dUYVtFLGHs1zbFQ=;
 b=db4q7JLyP/b798OtFci2ZI1BoftDomdfix1pOR9chkNGBB9OEo8XsJ6RAk07aEgMK1Ao2Gj0maJKL2BLtbpUdN3+iPFrvIkC/YJeW9WwlFUg9XJguJLps1ZkugnBDAcaP3HEiGKEkp7Zf2gUWDKB5+7LSMNxbYevLY6Rgx5Y6up+pW8UIJo/HFjcMCv1AedS5XitJuDbth39OkpCyLQpLTSHmp+ZG3RmMtCh8B1gvAhAHDZTFioYhmMX9aY9dNDUgDfJaGuPiR39Cc4EYy88b8BRRNesFJ3ar2OmIdkkzUbfAb2oerkLaBSCdngTikXWUJPfIwUFlPLJ6/hc6rj74A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=61r5a1Ppci2hOBDY25I0/2BHDvS6dUYVtFLGHs1zbFQ=;
 b=esRdfna6QIfB8hkcXbDS2eNHwk7MBCugF7KMLt46yPPXqNd61VMDC8U97nYp3QMNGAbR+5EUvbvYc95nGCbbjXzz84a9fkp+RPX7OkyDXRFlcGYZEswhcY26iBaZgr8kEZTYk++dHFfqN/E/K4sXHwQX6uE2/dP//O/QEi8aDdM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f1bfc06b2bf865d6
X-TessianGatewayMetadata: yWi0y2F+HS4lr6Pv6iHW2fR836+X8s3haz6AD3VLNSreUnOeyYrxm4fx3dyHIkLzDivzT7ZOIl9qAk7DeyB+ZNIdap7q2TJLbDku/nQn7PFgDngctg+swx2Y8cU5P0UJI0AB5kExYjF0sqyIxouolpgEAD9hOZyk+Y6YeaDxXY8=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=heKXLX1s17uT55CR7SuZPWKx0cvAWFDE3nJV7TjpkXvsOMUVVyhNICmzmHAeA6ywjoWm7X39FPUCrcjEBRKTJSiUELGHYBPlI1ex1/2e5cBC5RiJotlvSHhpnzPlk0Y9kyPIhRvclBU0kQrRiR2WepTHe/G/OSAm8I73e0EVePcxx3EylVrVwLRw/vHg90a6C01xMlwHr4jdcLRnFIkuXCfJ0QN42FUwRp5G2+P7q2z31YUReTt+WTjgXemNkEx/zNw941APYEwHLFM0kLIcK/Ly/pYgDFAg0Ibi5lhx4pU0yCYz1leVj6PC9b5LPndacfMb6HPXyM5TXCDlqlthLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=61r5a1Ppci2hOBDY25I0/2BHDvS6dUYVtFLGHs1zbFQ=;
 b=j0uTynQFwN1v49Otr5FhrQtbqpwjJaqcmd2J+TtotPSf+NHHq43Sa98t/in2SsyBQJPo7CjLspxguZqCY2i+AZd1vJg9KPaao1A4UtHEl6GsVS9vizIYOlzAyjTf/63C9FbNXd4BS5enFbIkbrXCSF4Kmrp+3NuvpkAaoEnFy8U0LYXPt9G74yQcBoW5As0jG/Pr0hzIIfAhSFV/5ODDcCTsfpYUQKXQx4JecRICXJ+59ME2lHaCLnu96Je7qa51prk4hxk6urkCe61A+zUKUS0suQIIuMALzcsXGRncgrOUBn6gBW8ayN3csgDNlplTZf2p82iBv05aFKWZ14nEOA==
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=61r5a1Ppci2hOBDY25I0/2BHDvS6dUYVtFLGHs1zbFQ=;
 b=esRdfna6QIfB8hkcXbDS2eNHwk7MBCugF7KMLt46yPPXqNd61VMDC8U97nYp3QMNGAbR+5EUvbvYc95nGCbbjXzz84a9fkp+RPX7OkyDXRFlcGYZEswhcY26iBaZgr8kEZTYk++dHFfqN/E/K4sXHwQX6uE2/dP//O/QEi8aDdM=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Orzel, Michal" <michal.orzel@amd.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>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 3/7] xen/arm: Introduce frame_table and virt_to_page
Thread-Topic: [PATCH v2 3/7] xen/arm: Introduce frame_table and virt_to_page
Thread-Index: AQHblqk5MPCSPLAoTkeN9izbg86F2bN3ENyAgAABDgCAAATxgIAAAHIA
Date: Mon, 17 Mar 2025 09:53:07 +0000
Message-ID: <7C49F36F-998A-4421-85CA-42426154A9E1@arm.com>
References: <20250316192445.2376484-1-luca.fancellu@arm.com>
 <20250316192445.2376484-4-luca.fancellu@arm.com>
 <799e2b1a-aea8-43d4-99bb-eab4fd4f6b93@amd.com>
 <5CDD6327-BCC1-4383-ACDE-19B75C085631@arm.com>
 <4247ad5a-dd96-4dca-aff0-abe6a2fd0aaa@amd.com>
In-Reply-To: <4247ad5a-dd96-4dca-aff0-abe6a2fd0aaa@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|GV1PR08MB10855:EE_|DB5PEPF00014B97:EE_|GV2PR08MB8728:EE_
X-MS-Office365-Filtering-Correlation-Id: 355ba1d7-a102-469b-f295-08dd65398eb8
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?ODdxZ0hvemcweE9zcXF4OERwNjcxWElBSjZVaC9Sdlk4YXNTRjd2c1kwbEZK?=
 =?utf-8?B?N29FTGpvOFdKb0QzaU1yZlVHVnhmN0JiZmVFd2xYVzJoSmxubmR6cU9PbGh1?=
 =?utf-8?B?MHRkeGN1NHU4QmEzUXpsSm4wRjVtM0txSGVaMm5yRllJS2pZa1Jvc3JvZi9D?=
 =?utf-8?B?d2Y0WGoxRHA2Vko1alhCUXE3Z05EQVpjSlhWS29zY3pKSSsxSXJndmNuWjhQ?=
 =?utf-8?B?NFhZbkdxbHVpV09QVERnbmMyY2EzV1Y4VS83NUttUjBraDRpa2tYdWZ4QUxS?=
 =?utf-8?B?ZlJIRysxTlZpOHlSY3RSWEtaZHJFNzIrRExPUy9zaytXOE1Wa1BJZVlZTEEr?=
 =?utf-8?B?akZMN2lYV1FhWFA4M1BqaXp5eEtLelR6eGtuTUE4blpxVktkcERYZkVCOXV6?=
 =?utf-8?B?NmR2QjY5S2MzSE9vcHQxS3ZNN2RQTTVzZHh0ZG54MUxxTzB3STJvS3ZUVk5Z?=
 =?utf-8?B?MlNHZ0hKSTdoMEJSb0kvOTBwYjZIZTNsV3NRNlUvM2hxNFFxaGRPMjNOa1lL?=
 =?utf-8?B?dS9tdUlhQ2hOWmp5QUlWSERoUS9Uam43WHczaXdWQzVVcFFPaUQ5UkpmOEpu?=
 =?utf-8?B?NVlDOGtNYlpZTnJVWm9BRWxHMS9BOXRIRjlOTmd3Y1E2WXBqbkwyNi8xM2cy?=
 =?utf-8?B?Y2R2emNrV2I2M0ViWWNINTUycDBzT1RoTk1vamFrWGdJRCt6ejQzUHR3Z0dw?=
 =?utf-8?B?V25aUUpWS3BWRHFCY3hyU0NaQkdhc21DTjhmaVgwaXRuZ0x4R1c5c2lRN2hx?=
 =?utf-8?B?akk5Q2xSWnVNVU1oRkx4SVNibG9hU3FNN1NHZlo3bURibTdQS3VnWEt3YjNp?=
 =?utf-8?B?S0dpYjJCa1cyZmZpVzJmbkpkQ3hlb2dUT1k3d2dxQXdkbDhmMUJ3ci9tZjVy?=
 =?utf-8?B?cDUybDUrb2s3cDJ2VWVlUTFpbm16K2RQQnBmODNUT1dyTVB6Q1RQOE1UTFRL?=
 =?utf-8?B?K2FIOHlpNGFaSW1GbUdWNzRpcnNiSUNqUDNjVmdnMHpXRWQ4Sk9FZFQvdEFk?=
 =?utf-8?B?UXZrWGFCdEJObXFOZEEzd0JSRUpxM3VmSG53ZWJZdG5kK0dEVkMvZW1JbDJP?=
 =?utf-8?B?Uys5dVlPQTZURzA3UTVkLzlxTzg5b2lwMWhNUW1Rc2xacFV0OFVxSDdOT2Ru?=
 =?utf-8?B?eWFtM3FWMzRmNUdIMlc1dWNzRUQ5MWxkWEFkRk9xcUYvTVE5SXkyT2NIZmZr?=
 =?utf-8?B?RG8wQ0l5SjdPb3NVdHR6UGltUkp3N3NLS3A0VVRuSnNyZlBzSWhTQUNPajkz?=
 =?utf-8?B?YlJwOHFXQXptaXJxNUZtQ0tBY2lqZUF5dlAydVcwMEJTL0pING53Y3hmd284?=
 =?utf-8?B?Q1lKaVJMWUJJUUwvUnJNTysyK3ZtNHpiYmRLeDRjZVVoakJhMVkvU1pZTUZi?=
 =?utf-8?B?dXlFYlVDaXVBbzNTektUb1h4QzF2R2dleFN2R0hZMjBIc2RZcDJ6SFhtY25O?=
 =?utf-8?B?S0tWN1hXKzNxdjVKcDFxZ2dwby92ckFnWXVpb3ZwQ0xuZzV1eUF6c1owWlh4?=
 =?utf-8?B?U1lzcnlhYVM4QzU2YnhsSmY3WmZWNEVsWVU0UHN6OUkwNGJqSjArYmZObjBT?=
 =?utf-8?B?U2NwdUFJb0IyQ3R3YkVIVlhMVm9VZnlMUkVYcXVWazMvSzN4aEJkR2lwSmsy?=
 =?utf-8?B?cXpSUGZBR0NmUk0xUGptYkxDOWF5VzN6bFNlTDUvbVRHNWROcjd6WUhJbi9L?=
 =?utf-8?B?ckpQYnpLQ1o0UmVCUXk5KzlRUytWSWlkcmRwaDJWZFgxRjMrWENmVjREZ0hH?=
 =?utf-8?B?a0U1NVltZ3VFUmdhN1M3dTZGdUpnaXkvM3dPV0p0aUxiV0JtQkJCN2xWYzlB?=
 =?utf-8?B?MGdKTk8rSUJOMUFoT0dJYlBhLysrL2wvZWF5NEtkT0N2VW5YTzJCRlIxMVBx?=
 =?utf-8?B?NXJZNlJGdE5hMGJVT3NqRnlUTFI4ejVOUzVIUm5iVkNRNXBUeUFQdHJTMWhD?=
 =?utf-8?Q?h7D0suo7sbrOwH1+yvVODcNtYM+mbO7C?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <062B301447F7E549AD7725EF23CABDA2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10855
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B97.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9979fbb5-6616-45b7-520f-08dd653984be
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|35042699022|376014|14060799003|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UVZ6VXZIWElURS8xQm9OTWtLNW90eTdVRnNvSGFTUEVoTzdLVWVpY3lCMUtm?=
 =?utf-8?B?eWZLK3pDWmFaV2JKdE9EdGRiejEra292N01UNDJEV0FxNllBR2FaMzRxTFRp?=
 =?utf-8?B?QjEycTZxNFdNRThnS0NaMWxUL2dZZ3czdEZnLzFUUkg5dUNUSngzWWdFU0ZD?=
 =?utf-8?B?cHduSzJhNEEwVFE3MEtIeWM4bmM2dy9GRkdZQWQ5RE5OMHliRVRiM1NYcXpL?=
 =?utf-8?B?RFVHeE1oZnNnYVM1MG9zVnVSekptYUpQRUVSKzlYcDR0QTdVbyt0dFcwcmpD?=
 =?utf-8?B?aXRKOWRtajNLbU8wdUlGbmFFMnVkdy8za2UwMkVyci8xOEtLN0NZcVJKenJ5?=
 =?utf-8?B?bWo0UFZFK0pyZndyYXd1cHh5RitqSnpIeWJiaG1qeStjdmp6ZjlVRXB5bSs5?=
 =?utf-8?B?QzFUaGpROWJlVVpTNjdHdEtpdlJBdE1tcUhwQnNvbmsrM0JaUTVXK21ROHFT?=
 =?utf-8?B?czFWNlNTOW9yZkZUdzFhL29XZmlkcmxDNE9TNHQ1Z1JZSlVVUHZYOXJNSjVQ?=
 =?utf-8?B?Z2tTQUwybWNSd0J3QzZUL2hONDRuNjNNaGltaUhHbG0zRWRCbk5jOFlCUU5F?=
 =?utf-8?B?emo1cXB5YURRVDNxZFpVbi85SGxQVkJ6SjZvbHpacTRFc1FQUmZqMzhYa0xZ?=
 =?utf-8?B?MXNFRkRjS3ZPd0NlRTlWM1ZwdDFqTHdNeFVsbHZ6blgyeXNKWFdEVGFPbXpt?=
 =?utf-8?B?aGhpQWNCME0rOXZ6dlRlVEQwR2NYbjJIZHVpK1ZqSWs1SGNES1JBZG9JSUQ4?=
 =?utf-8?B?MzNpZHpiV3FHNGg0RG9iSzFxa3Q4dlRoRWdlRTdwUnBVS21WR3dNQVY5WGRz?=
 =?utf-8?B?ZGVFamRrOXF0QVdHUVZZSlFhaTJQT0x1K3Q2eVFOdE42ZW9sOU03N0JYS0Za?=
 =?utf-8?B?eVd4NU5BOFhzbjJtK0V0UC9PSHdnazR6RmF3L0FBeGlZUUZIYmlaL1dZeDZO?=
 =?utf-8?B?bzMvYm95TXFUVXlhdHBjRjJaRHplbXdnUlNHMlcyaWEzdS9CSjNaemJYUUIr?=
 =?utf-8?B?UXNJZlNiVG9LUzJBVmRPTnQ2WHlMb3RRSXB1K2tLYUliU2NVcjN5TnBKdUxN?=
 =?utf-8?B?LzJneUtpUlZkV2cyZFV2TElEOTN4dWRtNEcrcU8xMVJPaVhwVjJyczYzUGth?=
 =?utf-8?B?UjBxc0hHUm0zbkxVQVcreitFa2EwbTk4VU9yTzBUM1gxUS9EMVJETEoxMEZG?=
 =?utf-8?B?V2IxNC9saWdad1YxVU5STW50ZUNzSU56WENYQ0RJNWlXZzF2cEM4VmREMGw4?=
 =?utf-8?B?RkRKSzlmWmZrZ2FxbktrS2dlZHgvVEQybUtpQ1hXRTBTZjBxejczcGFWQXJn?=
 =?utf-8?B?OU5peHdxQjZ1dmJSZXdKQU1lUnJxa3NhMWJodURnU2J3WlZwNmtYSjBOWllC?=
 =?utf-8?B?RW02NjJSRWh0MXA2VDAydjZGbU8rUDlHS3ZTa1JJQll5VGh1bWtEYWJtSE1N?=
 =?utf-8?B?ZERIUWxabEpadzVCRFpJakR1UElzUFZpcGFDTnBzSGJmekcwbS9NSXVnSDhX?=
 =?utf-8?B?ODdCZkE2WWsyOGxibFc1eGRyN2hHVEN4QU9VNEt2dGtoYTRRS05DNmpRZjVn?=
 =?utf-8?B?Skc2MXhGbEtjVTYxaDZaUXd2YVVGNVA1bVV4d1JqNGpuSDlKUzNDa25hVjl3?=
 =?utf-8?B?TG51UER1N3BLR0FKUzdrR3Eyam5PM3htbHA2WDdzeDRPK1VZSi9Qek10RjNn?=
 =?utf-8?B?YTVjVE55UW9vZW5TK0ZaQU9xL3Z0Ny8yRjdIMmVWRkVSTlFPOTRRSWRkZmFz?=
 =?utf-8?B?RXkxZlpNVk84NmhQNEtDMFltV2VRQlkvSGkwblFkTy9aWHAvZFBBVEZldXlL?=
 =?utf-8?B?bHFzd3dtMlVkSjdkUXRGdEZWQ3phSloveEljWFVlQ1JEK1J2RW1TdldZaFVO?=
 =?utf-8?B?QzdhVCs1NXhXdTA5TCthS1JCcjdmWFhSYUNyeE51WTR0NXRCc3hWOUQySFZX?=
 =?utf-8?B?cXdDTXBHZTVXSEVydTdiUncwM2U3eGQ4N0RaSzhtUkRmSVUrUkhqa1ZTaGlK?=
 =?utf-8?Q?rRcCHx0pgz3/nbE2yKbtfXnJI6KmD8=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(35042699022)(376014)(14060799003)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:53:23.8505
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 355ba1d7-a102-469b-f295-08dd65398eb8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5PEPF00014B97.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8728

DQoNCj4gT24gMTcgTWFyIDIwMjUsIGF0IDA5OjUxLCBPcnplbCwgTWljaGFsIDxtaWNoYWwub3J6
ZWxAYW1kLmNvbT4gd3JvdGU6DQo+IA0KPiANCj4gDQo+IE9uIDE3LzAzLzIwMjUgMTA6MzMsIEx1
Y2EgRmFuY2VsbHUgd3JvdGU6DQo+PiANCj4+IA0KPj4gSGkgTWljaGFsLA0KPj4gDQo+Pj4gT24g
MTcgTWFyIDIwMjUsIGF0IDA5OjI5LCBPcnplbCwgTWljaGFsIDxtaWNoYWwub3J6ZWxAYW1kLmNv
bT4gd3JvdGU6DQo+Pj4gDQo+Pj4gDQo+Pj4gDQo+Pj4gT24gMTYvMDMvMjAyNSAyMDoyNCwgTHVj
YSBGYW5jZWxsdSB3cm90ZToNCj4+Pj4gDQo+Pj4+IA0KPj4+PiBJbnRyb2R1Y2UgZnJhbWVfdGFi
bGUgaW4gb3JkZXIgdG8gcHJvdmlkZSB0aGUgaW1wbGVtZW50YXRpb24gb2YNCj4+Pj4gdmlydF90
b19wYWdlIGZvciBNUFUgc3lzdGVtLCBtb3ZlIHRoZSBNTVUgdmFyaWFudCBpbiBtbXUvbW0uaC4N
Cj4+Pj4gDQo+Pj4+IEludHJvZHVjZSBGUkFNRVRBQkxFX05SIHRoYXQgaXMgcmVxdWlyZWQgZm9y
ICdwZHhfZ3JvdXBfdmFsaWQnIGluDQo+Pj4+IHBkeC5jLCBidXQgbGVhdmUgdGhlIGluaXRpYWxp
c2F0aW9uIG9mIHRoZSBmcmFtZSB0YWJsZSB0byBhIGxhdGVyDQo+Pj4+IHN0YWdlLg0KPj4+PiBE
ZWZpbmUgRlJBTUVUQUJMRV9TSVpFIGZvciBNUFUgdG8gc3VwcG9ydCB1cCB0byAxVEIgb2YgcmFt
LCBhcyB0aGUNCj4+Pj4gb25seSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIGFybXY4LXIgYWFy
Y2g2NCwgd2hpY2ggaXMgY29ydGV4IFI4MiwNCj4+Pj4gY2FuIGFkZHJlc3MgdXAgdG8gdGhhdCBt
ZW1vcnkuDQo+Pj4gV2hlbiBtZW50aW9uaW5nIHN1cHBvcnQgc3RhdGVtZW50cyBsaWtlIHRoaXMg
b25lLCBpdCdkIGJlIGJlbmVmaWNpYWwgdG8gcHJvdmlkZQ0KPj4+IGEgcmVmZXJlbmNlIHRvIGEg
ZG9jIG9mIHNvbWUgc29ydC4NCj4+IA0KPj4gU28gdGhlIG9ubHkgcmVmZXJlbmNlIEkgaGF2ZSBp
cyB0aGlzOiBodHRwczovL2RldmVsb3Blci5hcm0uY29tL1Byb2Nlc3NvcnMvQ29ydGV4LVI4Mg0K
Pj4gDQo+PiBidXQgSSB3b3VsZCBub3QgYmUgY29uZmlkZW50IHRvIHVzZSB0aGUgbGluayBpbiB0
aGUgY29tbWl0IG1lc3NhZ2UgYXMgaXQgY291bGQgZ28gc3RhbGUNCj4+IHZlcnkgcXVpY2tseS4g
U28gSeKAmW0gbm90IHN1cmUgYWJvdXQgd2hhdCBJIGNhbiBkbyBtb3JlLg0KPiBXZWxsLCBub3Qg
cmVhbGx5LiBNYXggcGh5c2ljYWwgbWVtb3J5IGlzIGFkdmVydGlzZWQgdmlhIElEX0FBNjRNTUZS
MF9FTDEuIEkNCj4gZm91bmQgc29tZSBvbGQgUjgyIHRlY2huaWNhbCBtYW51YWwgKHlvdSBjYW4g
c3VyZWx5IGZpbmQgdGhlIGxhdGVzdCBvbmUgYW5kDQo+IHByb3ZpZGUgcmVmZXJlbmNlIHRvIGl0
IC0gbm90IHRoZSB3ZWIgcGFnZSkgYW5kIGluZGVlZCBpdCBtZW50aW9ucyBQQVJhbmdlIGFzDQo+
IDBiMDAxMCB3aGljaCBpcyA0MGJpdCB3aGljaCBpcyAxVEIuIFdpdGggdGhlIFI4MiBiZWluZyB0
aGUgb25seSBDUFUgbW9kZWwNCj4gaW1wbGVtZW50aW5nIEFSTXY4Ui1BQXJjaDY0LCB0aGF0J3Mg
c29saWQgaW5mb3JtYXRpb24uDQoNClJpZ2h0LCBJIGZvcmdvdCBhYm91dCBpdCwgdGhhbmtzIGZv
ciBwb2ludGluZyB0aGF0IG91dCwgSeKAmWxsIGFkZCBhIHJlZmVyZW5jZSBhYm91dCBpdA0KDQpD
aGVlcnMsDQpMdWNh


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 10:50:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 10:50:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916517.1321588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu82k-0000hI-SC; Mon, 17 Mar 2025 10:50:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916517.1321588; Mon, 17 Mar 2025 10:50: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 1tu82k-0000gk-Ov; Mon, 17 Mar 2025 10:50:02 +0000
Received: by outflank-mailman (input) for mailman id 916517;
 Mon, 17 Mar 2025 10: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu82j-0000Xm-Cs
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 10:50: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 91ae64fd-031d-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 11:49:58 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so13851135e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 03:49: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-43d1fe2927fsm100965945e9.18.2025.03.17.03.49.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 03: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: 91ae64fd-031d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742208598; x=1742813398; 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=lq7NTYjdbZkoO7Bs4tkM1hUU4z8gLRb5oXwZhPHYdVc=;
        b=UI1GyUU3vfAWCCChZVr5ed6pPCuTItVsOAEKuIJlvZh5qTCZAuyFw441Q3LPUJt6bE
         uADEm4izQ1i7uIAo5m5lj/HN47eBSHR9fYF5f66t4xTdetjCM1veJnzkUK28pm7R8uaR
         wDnkzj9Q7Ies8SFCXiAfyJ0aSHcS7cPDULkycNgWwvyntZnlDYOou9p0yzdoQZxER2qo
         WYmxQuBdxWlVGdFuH97A+bGLhKYLA5u1OFVRfOl6vOffeYNnt0u1OuSH2lNLq0k1G4dB
         OBhZiMFz4XbBfHwgEROl99pTWcq153vytRzGzcN04LWZypjJKtc+tOgkbkbU1cq7U50H
         zlLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742208598; x=1742813398;
        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=lq7NTYjdbZkoO7Bs4tkM1hUU4z8gLRb5oXwZhPHYdVc=;
        b=I4gqtHk9UxDEl5QuXq5DXANcdzkS0HCrH6gddDSyzEkQ3amKovlqBR6JP81Vfk0xuV
         Gs8sQlQlbJ78o+CEUSoR2W1JbTr9JTNiWAEIoIMfKdNCSfoyNsPg0AueMsvUhcdVUlDC
         h4minezzdl8PhFc5P2hoxJ2uUY08wMTIrCwVCpZ6TP9ormUCD3mgc1vnmIQrIhkDu+Qh
         zEdrNBKWOdMbKrOnvacKN1RJBnUEEscjfipV1IZPA8r09+amqTW4+NajH01+079GkNCY
         7C03Ja/OizF59rarBK6uEZeAYr3KJxic703rot95f3Zz4+DmCWuxSDOsOE8gDwvpF9T8
         iwzw==
X-Forwarded-Encrypted: i=1; AJvYcCW7vfHtu5eLpHIy5qdWYT9d2SS+OXOw4cPLVBOanDne1JbpZrJyWs5+DOJbtpKVuzxT8KpF8Gb9Qxo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyFTAkhXQilPtXcAescRwj0GaKYDfKsMKvePqWQkZsWsTzNRZxx
	1KZPO/v8hvDSjCx+GYrL7tVdpSAByJBAq1XX4lM7YlOrliaRgsaZJEJVY+pNPA==
X-Gm-Gg: ASbGncsEQqdbCH1jNOwpjphMnSMTFmxWvUUnIK3ik72teDDkcW7CZVfEuoyJkOz2JpT
	q/vfVcK0hUIMcPKUrQWmKDKxAl6IiW/vohaeIQCWyrNofvJwAviU/i+EgouMLlh8onj5YCuxOC8
	5vehC5ErJxlSKPGxZYteYBNw6SyuHZck86vZkSBYhtUWnrMrEjOJbyc8XJAsRli6tqrq4/cN9MH
	GtTgAMhB0yWb/XtaKi6ELxtqZmSkGsQYKmwWa7aQaw6lO3C3V6b3Reg2QtAcNOg/4C6Fz1S8bcD
	cQFEmKSM/afiuhoj89boy41BFwTRJhVXUW35OYiOplh2rKE4N2mwnQJlwSdPK45UOlezyZHr32B
	MqLgZpXtyc/NnVT76ew8SZvdq5j9KjnI2sF3WsBCX
X-Google-Smtp-Source: AGHT+IFBhPZILshg5aQ//1f55YVxNPOgw4hcLLmnOfPGYfkhVhrNdC66SSI3z94wUtsyiZBkvO+UPQ==
X-Received: by 2002:a05:600c:511c:b0:43c:fceb:91a with SMTP id 5b1f17b1804b1-43d1ec729a9mr139350585e9.11.1742208597765;
        Mon, 17 Mar 2025 03:49:57 -0700 (PDT)
Message-ID: <73cc236c-6209-48ad-a002-2d7bf3341999@suse.com>
Date: Mon, 17 Mar 2025 11:49:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/8] x86/regs: Fold x86_64/regs.h into it's single
 includer
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 17 10:54:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 10:54:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916527.1321599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu86f-0002so-B0; Mon, 17 Mar 2025 10:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916527.1321599; Mon, 17 Mar 2025 10: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 1tu86f-0002sh-81; Mon, 17 Mar 2025 10:54:05 +0000
Received: by outflank-mailman (input) for mailman id 916527;
 Mon, 17 Mar 2025 10:54: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu86e-0002sb-Ah
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 10:54:04 +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 2334d6e8-031e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 11:54:02 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-399676b7c41so327178f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 03:54: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-395c83b6b70sm14814357f8f.30.2025.03.17.03.54.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 03: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: 2334d6e8-031e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742208842; x=1742813642; 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=Tx1TDa9qN3/BWfDw4u3C1fNpdjFuOEnm+dAVvqol/+Q=;
        b=V3fnfVpifP+JuXDHUkW6RWSGr72AIiUaE6QMgh6Frc3Eh510phH429jexHePTgK2v+
         pJFkJXlYJhg07ff1chHMJffOzuAEAJyQdFTKvdh0Npw/jVUUACTakD9b7e8Kaf7b0uRu
         A23YSEJqqIEdxMv2MUAGRUNFajUmAYs12g/JN+dS918GYGX85D3wMM9nLohY+ma3gryD
         LmD9PBK7LJFgCBQlHys7NYXSY9SG2D0VwtdGqAh2mYZDwy21y/GN8g8lyBt/1RD9WvYo
         Z1sDVzgLATlaKyMXVsZHWoeWcqmchwp3hA2EqsllkqrwQ/gsnWiXmJ6T/M+ycQSxMrI+
         OIWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742208842; x=1742813642;
        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=Tx1TDa9qN3/BWfDw4u3C1fNpdjFuOEnm+dAVvqol/+Q=;
        b=h9pbZCU+AH1nI6PqyXqBADfFRYxEsFiqFgoO0nnHgS/3tpDqJKdjaEcRr14pCQKyzu
         cDw7rad9T4h3WF4TBxeVkHX+lnylUkFQIPUB0rfoUTOpaH9MrGKuzYa4ba6YMYOJwJRV
         1SQ6svgQs4w+6vhYlkxMdXBXRe2IjnNguij8kbjS7dRk4eAZvquCyiCEmh3sQKVxglvZ
         aMaymBiNKXYWpIHhfsrVfkHpPvYyigWhk3WFBc9ZrcgCaD8Jfji0Exgr/K5Q/vIMa0zz
         To8KO/jO1DhWUhi5Rf7pl2gywzTEVJxIIg5l5c9n0xmQKX2vsvEdJOjAf4398l0zmtnW
         NQbw==
X-Forwarded-Encrypted: i=1; AJvYcCU88t+uo5xX9JhhbHbjLIhLdmzUZs3DyksxUiMYQy1vgPgQ95xGw/mdQZcPtFQlotArFJL5sB9fowA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxzQLUNi/F8nLWtOptwyKLXh/uzCXRN5zIhe/MRvODYJO6AtL31
	D1pZxLSmOpvlTI8fGMm8EqiTG4zk/Z+qzsww6I6dpgYGFJ0Tj8UJRh4uaBjbfA==
X-Gm-Gg: ASbGnctylMspNxMQlhpyYptGzOLMRcnMajdL3TGcNMkExO938UNko19F+tGj7FuSlN4
	7PfsIDoiPQrssVkG9w/Ubu0v3h9dITMt8LH+C/h86X3+aIOnH/xKrUo/5K9y74NUlx4wdPxdomm
	yV5t5rgH6PLLoryPV6ertkd3F0ManoDgrxCMmSiJBY2B/ok4px3C+twvNjqNmCgWbhAbXewqCS6
	PCPXtE41+KSa9vSuaOpnpVKGyBlP2fO9SHGWnykSQCI9exm6imfmta96Qp2r3ElWhm1cveGUop/
	1uzWUreX0ErODf9Su3MExAHzaxM7FR7lCTrUwWxeN2IGI8JsTu4ssGlEBKTSHTLxfkY2M7LzMbH
	yR/5W9RcS1lqin8KEH6X4MtGp4RPEbQ==
X-Google-Smtp-Source: AGHT+IGK9ctn8wttlNISvM6fCIjA8he5IxrrniOGauu5xcueVq9sv8uII2ZuEoK+ei7HFmAHmMbEXg==
X-Received: by 2002:a5d:5d82:0:b0:38f:3c01:fb1f with SMTP id ffacd0b85a97d-3971e3a576fmr7850750f8f.30.1742208841908;
        Mon, 17 Mar 2025 03:54:01 -0700 (PDT)
Message-ID: <3301f86d-f47d-4078-8279-89e442bab40c@suse.com>
Date: Mon, 17 Mar 2025 11:54:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/8] x86/traps: Rework register state printing to use a
 struct
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> ... in preference to the crs[8] array.  This avoids abusing crs[5..7] for the
> fs/gs bases, giving them proper named fields instead, and avoids storage for
> cr1 which is unused in the x86 architecture.
> 
> In show_registers(), remove a redundant read_cr2().  read_registers() already
> did the same, and it is only the PV path which needs to override with
> arch_get_cr2().
> 
> In vcpu_show_registers(), express the gsb/gss decision using SWAP().  The
> determination is going to get even more complicated under 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 Mon Mar 17 11:01:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916536.1321609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu8DL-0004hN-01; Mon, 17 Mar 2025 11:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916536.1321609; Mon, 17 Mar 2025 11:00: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 1tu8DK-0004hG-Sv; Mon, 17 Mar 2025 11:00:58 +0000
Received: by outflank-mailman (input) for mailman id 916536;
 Mon, 17 Mar 2025 11:00: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu8DJ-0004eo-GZ
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:00:57 +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 194023f8-031f-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 12:00:55 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3912e96c8e8so2719964f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 04:00: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-395c7df342fsm14851503f8f.14.2025.03.17.04.00.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 04:00: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: 194023f8-031f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742209254; x=1742814054; 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=GOfkagbjdBmv4CLlB7soohTm9hBQbwN6y7yI/dgyOU4=;
        b=dANz/SMJ+jkC2p4iIj5dtUnw33n1mTAZ+yIaVMN837s8MKmMeJrjRtUxjjked1lF77
         LjDhCsSJEEmsg62fL7I/AhnsK7S1StPzGrs169K5OJ8JUQVLoYY01z7Fx7zdv1pKWIJu
         Ae7IeyvYexJsWlvKvP5DEZNUyIN3xPSpQQMnHJOUi7OX2CxiR548PkUTv98OwfSwN8uW
         NKgNth5PxP+sfkJYFuhjoYXHvxFV7PvAs6edVvdzB6KGoebjWW75hSTPBVO9GbPxdRw0
         n+61NTrhZuHU4LCmRem4DrNr0dDL63pmQ7IFoRmtHhNrfbElqQ7Z5Z7sIEJNedZAFQvo
         owdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742209254; x=1742814054;
        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=GOfkagbjdBmv4CLlB7soohTm9hBQbwN6y7yI/dgyOU4=;
        b=vffOqwd6mzix86SOxYS0BEyK+a236b0Apvb/D6H39nLutupTilNbZCnszSY4htZx+A
         gOt0hwZL+uK/oeJDhJRW0pF2FXK3+tOIRqJjtJcOyjT0C0Y+pAKO/A7cvZTxxvIrWThq
         byCTi89U2QNTjEqgHlpRLxyMTR/Hm1m5shGutO6rpywsnq7ruNu288aYCXUk2vH18t1z
         8g7Zb2VJPd7HWBH5Unk510CjBuOETYfgdq/OlKVmbSMg9WwZrXNVf1/ZzVswVg5N/SrY
         ZPsbEoGmgJiNUHqGUZFEcQy5rgK3CWL3X7eu+0yiCHZB8f1LTgULLGKsnncEVbvnfJZW
         o9Bg==
X-Forwarded-Encrypted: i=1; AJvYcCU8qr8qsl042WlpHZlN965lUaLZKggKUyjRztOUkm++svlteZBulcwl/oyiFV4NYe3M8Ro/OZl3XIM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykRxH7qJclzZliykQlEnBidsbpDZvDwHEoyions6yRoZghS0Sa
	Hpn3/AhYx8yI4RDlbDMD2/bTzT9P2cmisSNo9h5CeBxmsiFH+UH/C7SzTe8DYQ==
X-Gm-Gg: ASbGncvTDahfX6Rw9otOgMfYHYO9y6etBXhD2rAh3szaAe/ObUcLp+AqUWw31MnI1dN
	X7uiLvPhcfv26Nd58ze4xmxNfjIojhs/5lZEdEUfurApYoTdNKqlYyPBzUEfdJqVXw7V+IV7+zo
	oosD5usU158zNirjl2bDJzB5UtmHzGUq+5o2a+xzu8exBPvqShRtMXkIGoM1qPUVIzCSAf7Tif/
	27ka1g9Ox5LZn5/aahWODnRXNhslcjsZbIC2YLX2QkEKZ/7YSEzps56sKgedQuBStiD/VIttRAf
	s/T8+sXWWbi2Zg81o+AiLIeA+tYBvSJkgd1vQtdjEPJsVhyX6PZKhbx+1rzq3Zkg3biEbU5eauO
	aXMsgPjMNmNlnarcZd0OItWyWcXvdYx8nz5EcNYE7
X-Google-Smtp-Source: AGHT+IHmm7bFq5Kdu6EsN6fvfo9zCXzVFxuOFI6B7BM3LyesIrfk6sHXMcN/dBm2c39L+YpGCucaKg==
X-Received: by 2002:a05:6000:184d:b0:391:47d8:de3e with SMTP id ffacd0b85a97d-3971ffb1c82mr13356790f8f.46.1742209254412;
        Mon, 17 Mar 2025 04:00:54 -0700 (PDT)
Message-ID: <b031442c-ae27-430f-8fd4-12d15ad5a164@suse.com>
Date: Mon, 17 Mar 2025 12:00:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/8] x86/traps: Avoid OoB accesses to print the data
 selectors
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> _show_registers() prints the data selectors from struct cpu_user_regs, but
> these fields are sometimes out-of-bounds.  See commit 6065a05adf15
> ("x86/traps: 'Fix' safety of read_registers() in #DF path").
> 
> There are 3 callers of _show_registers():
> 
>  1. vcpu_show_registers(), which always operates on a scheduled-out vCPU,
>     where v->arch.user_regs (or aux_regs on the stack) is always in-bounds.
> 
>  2. show_registers() where regs is always an on-stack frame.  regs is copied
>     into a local variable first (which is an OoB read for constructs such as
>     WARN()), before being modified (so no OoB write).
> 
>  3. do_double_fault(), where regs is adjacent to the stack guard page, and
>     written into directly.  This is an out of bounds read and write, with a
>     bodge to avoid the writes hitting the guard page.
> 
> Include the data segment selectors in struct extra_state, and use those fields
> instead of the fields in regs.  This resolves the OoB write on the #DF path.
> 
> Resolve the OoB read in show_registers() by doing a partial memcpy() rather
> than full structure copy.  This is temporary until we've finished untangling
> the vm86 fields fully.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> @@ -124,17 +128,23 @@ static void _show_registers(
>             state->fsb, state->gsb, state->gss);
>      printk("ds: %04x   es: %04x   fs: %04x   gs: %04x   "
>             "ss: %04x   cs: %04x\n",
> -           regs->ds, regs->es, regs->fs,
> -           regs->gs, regs->ss, regs->cs);
> +           state->ds, state->es, state->fs,
> +           state->gs, regs->ss, regs->cs);
>  }
>  
>  void show_registers(const struct cpu_user_regs *regs)
>  {
> -    struct cpu_user_regs fault_regs = *regs;
> +    struct cpu_user_regs fault_regs;
>      struct extra_state fault_state;
>      enum context context;
>      struct vcpu *v = system_state >= SYS_STATE_smp_boot ? current : NULL;
>  
> +    /*
> +     * Don't read beyond the end of the hardware frame.  It is out of bounds
> +     * for WARN()/etc.
> +     */
> +    memcpy(&fault_regs, regs, offsetof(struct cpu_user_regs, es));

I don't like this (especially the assumption on es being special, much like
e.g. get_stack_bottom() also does) very much, but I hope this is going to
disappear at some point anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:03:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916547.1321619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu8Fh-0005vb-Bq; Mon, 17 Mar 2025 11:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916547.1321619; Mon, 17 Mar 2025 11:03: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 1tu8Fh-0005vU-7t; Mon, 17 Mar 2025 11:03:25 +0000
Received: by outflank-mailman (input) for mailman id 916547;
 Mon, 17 Mar 2025 11:03: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu8Fg-0005vO-5B
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:03:24 +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 70ea1ff9-031f-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 12:03:22 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso13721825e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 04:03: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
 5b1f17b1804b1-43d200fad64sm101304045e9.25.2025.03.17.04.03.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 04:03: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: 70ea1ff9-031f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742209402; x=1742814202; 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=FQjtTdlwB+8VKnxBbUM1jaL7uHemp+a4JRqYrdzGBqA=;
        b=bq2X/raHh7dAQj32k8bCzYwv4WS6Y+fUvaSIaztJ+kF7q2JH+CZ0YtsgVJcO/Q4eG5
         OFXV6+GQIOXAz4YmWfU0mEO6ANA4pJDPSelbEwlad0CSccqK90qPmgNoAtC28LUQdj4E
         OTQkRTeAexY8Krf4YwxNpfPOXflTYsMzV1mpaG4DSTrv/ung4fDa16hUidXG6vJhgQUT
         BnuXpTQNCDwjSAWoonqc9Q4ScU08B4CO5gUm2BpdhkyKVNCGmZTx+R8kXFM7LWrc1GKF
         e3uQAoZ97QQC6uLNbUAxE7u6PAiIx2vKWefa4De/MjAOXCNFV5A9R39tqaXRdTOh9kzi
         V9AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742209402; x=1742814202;
        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=FQjtTdlwB+8VKnxBbUM1jaL7uHemp+a4JRqYrdzGBqA=;
        b=HWcMdEvyKkSxUf8uqMLhSEjx8rSqEqbu58ckj3EQcgfW/i5bIbOgWfem7xNt324L3U
         JfkvWWg1XlFMzA3NiRZPw75l8MdNCXQV2p0oZXWtY11xy8De7tQdHlPjf1fgXsq9kC+N
         C55vB668oFOgMJxCDP/0XAJLTAeHeFZ3DGqcYv6FMa0iETLYylsNx9lc4Dq7KisSvCy+
         mU+wy//HO4ouF5rVk96eVZxMjVTWoMVojFIxwvSZS5ibbfwABeXsXtGoOrWJh6jl28Mr
         vQm1hZjm9Vmh724JFdnOhaBQIa6ehy3tr7odXPRGphZcS9vGVXNrdqv4B2vxobVZCzhc
         DeUQ==
X-Forwarded-Encrypted: i=1; AJvYcCU39Y0s9fejvv2neBJrwCKqYhNtxt8mgR2u8oqNE+4bjjhUsu6agJiC0j03oCGKg6VsrLzr7+4kmvE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy3UnVVlyrnrWooAhb1Mi/VKsdAuZX4f9OWpKBNMQKrjcygd7co
	Vn4cWx6Wjmd4Pv8C4evFhMNAhHmFNNyUQAaubI1Dc0e1xlKuR2iCQFcIjJpfFlpkTbw6XeP42CQ
	=
X-Gm-Gg: ASbGncul1LYsZ1scwLOblH/yZrSXm5QLkVsjxMj2Rv/5lrYpDGmO5o0HvD0f02+0jjV
	Te26VQN+Vo4hIQcN0NAsHZLOAs4P8zeggAFHhFv9Ax9zwDSGgbt1krWkem49e0KmHI4ZSyUUnkk
	5gfXxaUgvbcKxkb/iID8HEXujomxzzdcmgpid7QVlEbs9iOLlnTqqSy7Gca+ajP2KMRWP6dffOw
	gdlRpZRjSRxK+2MXAz5nEIO2LWBF2h+hs2Zb/QCzbaXRqVMK3lH+ce20aIUIz3wgOBg7kTLBihV
	12FhTseoemiq2Q26gbNayuCawBzIfeuH0zA7OZvZ84z7eSguXUWOpOu4MfLZAba4LPm/c6LNMc9
	sE/IJdsbx0OTVxPJc9X4hekJjvA7xVA==
X-Google-Smtp-Source: AGHT+IG7O7EahYML0G9SHVk+E51H00Zh0d9XywrkbEkB17aKdnmHO+kgzbB3PMYRDuhlG9Q/8uyL9Q==
X-Received: by 2002:a05:6000:400c:b0:391:a74:d7dc with SMTP id ffacd0b85a97d-39720e3c898mr13514945f8f.50.1742209401434;
        Mon, 17 Mar 2025 04:03:21 -0700 (PDT)
Message-ID: <0141cd64-348b-41fd-8a45-d8e236e60cb1@suse.com>
Date: Mon, 17 Mar 2025 12:03:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/8] Revert "x86/traps: 'Fix' safety of read_registers()
 in #DF path"
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> This reverts commit 6065a05adf152a556fb9f11a5218c89e41b62893.
> 
> The discussed "proper fix" has now been implemented, and the #DF path no
> longer writes out-of-bounds.  Restore the proper #DF IST pointer.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -847,13 +847,7 @@ void load_system_tables(void)
>  	tss->ist[IST_MCE - 1] = stack_top + (1 + IST_MCE) * PAGE_SIZE;
>  	tss->ist[IST_NMI - 1] = stack_top + (1 + IST_NMI) * PAGE_SIZE;
>  	tss->ist[IST_DB  - 1] = stack_top + (1 + IST_DB)  * PAGE_SIZE;
> -	/*
> -	 * Gross bodge.  The #DF handler uses the vm86 fields of cpu_user_regs
> -	 * beyond the hardware frame.  Adjust the stack entrypoint so this
> -	 * doesn't manifest as an OoB write which hits the guard page.
> -	 */
> -	tss->ist[IST_DF  - 1] = stack_top + (1 + IST_DF)  * PAGE_SIZE -
> -		(sizeof(struct cpu_user_regs) - offsetof(struct cpu_user_regs, es));
> +	tss->ist[IST_DF  - 1] = stack_top + (1 + IST_DF)  * PAGE_SIZE;

And one of these "es is special" also gone.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:04:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:04:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916558.1321628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu8H6-0006Vy-Nl; Mon, 17 Mar 2025 11:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916558.1321628; Mon, 17 Mar 2025 11:04: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 1tu8H6-0006Vr-Kc; Mon, 17 Mar 2025 11:04:52 +0000
Received: by outflank-mailman (input) for mailman id 916558;
 Mon, 17 Mar 2025 11:04: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tu8H4-0006Vj-QA
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:04:50 +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 a2a1370f-031f-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 12:04:45 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so11346725e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 04:04:45 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffc450esm101972845e9.23.2025.03.17.04.04.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 04:04: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: a2a1370f-031f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742209485; x=1742814285; 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=SQwlq/YobTs6xwcnrqveeu1Vqu0zCkODslHW8FYCego=;
        b=Fi1iRy5C88T2QX0jwcvpghAJUckYADBwrn2QD+L+PwBvh1qInLI8OgbcxwFjbOO25Q
         XG0ICevNv7uvuXqij94iLPQ+//0vKGywqot8/xOhkTdvooy6WuR60K1LnrBb1Yw0d9Fx
         gVsON+JC1X3O3muyN+rBKs2Z8Ut/mSGbTrBOs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742209485; x=1742814285;
        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=SQwlq/YobTs6xwcnrqveeu1Vqu0zCkODslHW8FYCego=;
        b=VjBLwNsolyBuWto+zcIAIUDa3RJ+gDNREvoncxSyN0tEp0iMxRpUXe/bAX2EALd+jb
         tLD+XHf4F6RV9jULr113e1R2ycyTHw0Z/fWBDsLwvHycfd0/LkN3POSEmcC1qC6xX86Q
         JqdGIqMAsLxCdXJPw9Uatb6jKA6n4nA5TX97A0LOrinwljnT3c0+B92iiXWfpGygF+z7
         0ccL7BqCxI0Q28/Hd3NHekdlplKzClcD6/8PHqHLnECoMqz7e0oQ2Cwh4+Nvq3Pcf83o
         9KDKqgx7lygv+U56F4+X80gylkxzGB9WgKRa3MyA3RZXWQ9IwFS86tEuGTGdy86/hcc+
         JB8Q==
X-Forwarded-Encrypted: i=1; AJvYcCVl+NvYZmI0aheb3+WrOPmLSRsAgjA8h9s8hgAc+opSaVS5ZzyU3ZG0bGdXzov9M/TsWPoQGImI7XM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxErMQVkPAYZLqo0GTwyTcynBZfKE1pMH7vhr0jfF8WAQhEI4Yq
	rBmVi4oWoydxR8AOgj5JDg4FMu/8WM9TO1swCu2DgZAZV2liNGqwA7f9OSPMIB8=
X-Gm-Gg: ASbGncvHGfJi7f/S082c8NYV2+kvb3ayQK74xkAF+WG2wj+zx3TjceUrzKDMWFq9iUL
	UCKWBwKcRnmD8wUJ/1AMB3HbVAJjCtDByZYfuUh2PhR2opkjdXxZC2eMieBkjBpDyJ9ddcozs/y
	rvMQ0N2rUSHPQJNx/nc8tYk0vi6jkyUqpa0cScj6uTiJrbJWxpMwE9dcyGXyLeauggDD3LM/D1/
	xGJcathG2RNHdUYGLg7j3I+Qy482FS1Vg34/yCO9SAys7kLHQ2tIz0/IaIlmWzkXDSgbWaPtwKD
	ghXAQDS8/4/0pbx/mg5fn8WyjHVlvcuHDLl1443GVE6JvWNknGTM3ERq1oSOZmhi0hc0Mqsyi4w
	8XO/DfP4dEebJx456axY=
X-Google-Smtp-Source: AGHT+IHA54ne1mNEG5LoDoOvo6i2RaGrl55CME2npus2npn9IQ/Zqi+DF9pPiwgC+v82h08UJMLN1Q==
X-Received: by 2002:a05:6000:1867:b0:391:ab2:9e80 with SMTP id ffacd0b85a97d-3971dae8e5emr14291842f8f.24.1742209485126;
        Mon, 17 Mar 2025 04:04:45 -0700 (PDT)
Message-ID: <7066054c-1a8f-438d-893a-dfb7df644643@citrix.com>
Date: Mon, 17 Mar 2025 11:04:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/8] x86/traps: Avoid OoB accesses to print the data
 selectors
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-4-andrew.cooper3@citrix.com>
 <b031442c-ae27-430f-8fd4-12d15ad5a164@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: <b031442c-ae27-430f-8fd4-12d15ad5a164@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/03/2025 11:00 am, Jan Beulich wrote:
> On 11.03.2025 22:10, Andrew Cooper wrote:
>> _show_registers() prints the data selectors from struct cpu_user_regs, but
>> these fields are sometimes out-of-bounds.  See commit 6065a05adf15
>> ("x86/traps: 'Fix' safety of read_registers() in #DF path").
>>
>> There are 3 callers of _show_registers():
>>
>>  1. vcpu_show_registers(), which always operates on a scheduled-out vCPU,
>>     where v->arch.user_regs (or aux_regs on the stack) is always in-bounds.
>>
>>  2. show_registers() where regs is always an on-stack frame.  regs is copied
>>     into a local variable first (which is an OoB read for constructs such as
>>     WARN()), before being modified (so no OoB write).
>>
>>  3. do_double_fault(), where regs is adjacent to the stack guard page, and
>>     written into directly.  This is an out of bounds read and write, with a
>>     bodge to avoid the writes hitting the guard page.
>>
>> Include the data segment selectors in struct extra_state, and use those fields
>> instead of the fields in regs.  This resolves the OoB write on the #DF path.
>>
>> Resolve the OoB read in show_registers() by doing a partial memcpy() rather
>> than full structure copy.  This is temporary until we've finished untangling
>> the vm86 fields fully.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
>> @@ -124,17 +128,23 @@ static void _show_registers(
>>             state->fsb, state->gsb, state->gss);
>>      printk("ds: %04x   es: %04x   fs: %04x   gs: %04x   "
>>             "ss: %04x   cs: %04x\n",
>> -           regs->ds, regs->es, regs->fs,
>> -           regs->gs, regs->ss, regs->cs);
>> +           state->ds, state->es, state->fs,
>> +           state->gs, regs->ss, regs->cs);
>>  }
>>  
>>  void show_registers(const struct cpu_user_regs *regs)
>>  {
>> -    struct cpu_user_regs fault_regs = *regs;
>> +    struct cpu_user_regs fault_regs;
>>      struct extra_state fault_state;
>>      enum context context;
>>      struct vcpu *v = system_state >= SYS_STATE_smp_boot ? current : NULL;
>>  
>> +    /*
>> +     * Don't read beyond the end of the hardware frame.  It is out of bounds
>> +     * for WARN()/etc.
>> +     */
>> +    memcpy(&fault_regs, regs, offsetof(struct cpu_user_regs, es));
> I don't like this (especially the assumption on es being special, much like
> e.g. get_stack_bottom() also does) very much, but I hope this is going to
> disappear at some point anyway.

As noted, it's temporary, and goes away in patch 8.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:16:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:16:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916571.1321639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu8S6-0000kX-OJ; Mon, 17 Mar 2025 11:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916571.1321639; Mon, 17 Mar 2025 11:16: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 1tu8S6-0000kQ-LD; Mon, 17 Mar 2025 11:16:14 +0000
Received: by outflank-mailman (input) for mailman id 916571;
 Mon, 17 Mar 2025 11:16: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=7xTS=WE=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tu8S5-0000kK-Cs
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:16:13 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b1e60e9-0321-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 12:16:11 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU2PR03MB9999.eurprd03.prod.outlook.com (2603:10a6:10:490::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 11:16:08 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 11:16: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: 3b1e60e9-0321-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qi4BuVgRYmt/ZgHPOgR2hBJ2KR5tvaICZaCAdH1yebJadxZhM7pxSZWyNieRjMQOHlwugbPTkOnrPi32byrnu+HMH74CDXd7LNTE+SCLDXwY2N3wEkN9ppPNJ0m16h39PqgBginbWkY1v9z2TNl+1hh276uuiBkrGeR91B7rTvC36TjpiDgoNt7tVu3+zjk4GW3z4+mupu8B5YmQ4k4lmELu86UVtENXobzrbFvF/E/3vRbyfnGd6HJKEtPZeLxK8eNVDTI1IDgx9R4NSlLqOy27lyRrJYCt/G2mSw5Kci7BfOh9QV+ZoG7hu9ERBGQCb9wwCGNkhW68v8OH2bsB1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qfI1fp9pZIPfQSq8BsdXPAntvA4TYc/mID6Sigz3ifY=;
 b=jrJtt3tosaTCeFnOiyvm+r4ujRyzZdHPHTsEudadDkpxmpg/wKA8g1m0UzB9ZrRPi6s0ZneJQwJIN1zr4HVZ1CwJo8YtWbVUvKyWB4Cqya0h8y5AGx9NiyAZ8g6yWjo0UZsXOdlv1QIx3D2lzXeUgNzP/4RSAgxorK0i8lcTiHZSgtIIpeo/DEXDQJaRRVZvt1G1BRdeRhWuh76N5c1v6zz2UHzqpN59m1qYCQMu4bSDIQX82xp2E0Pg6Gqp4/pE/zBQu5jmil72mHCC13e/ODWHwLyC8vAT1S24zIBG5uJElXR1jOkl1/uXIjjgnXVJMqhriRbLQt6qH0JbvXF1sw==
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=qfI1fp9pZIPfQSq8BsdXPAntvA4TYc/mID6Sigz3ifY=;
 b=uBZrB4EJTwFgEOmEbPq7mA3YK2P9KTEfUvGXLG3H3T3+P8K4c/CeQRZLfEspQGrdrnR4flC9W6r0/pVDI2ZfPqd7MQA/lMOVhEPDkTAcMx1UJSsChu+JB8D780ONq8l0UaEVrjWkcttKoTYRIdDDRyZgP/q0+OQ9dq54vvL8wC979XED6cIM+elzCYzLs1q8l+2dpKQ0MIcL9TcjdFMr6eCjTpElhwMDlqS13ilYn/gLTCv8IQNThjG2ws0a1C4g1SvznjhBIB+lJlAjWY+vZedOztZvmdvsWDS2SBk9DKSt9NruYeFUKEy8Rc+mea+d80plcFvI5yrCD6J58YBdfw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <0c399cdc-7a89-4482-a7fe-780da9ad6ca2@epam.com>
Date: Mon, 17 Mar 2025 13:16:06 +0200
User-Agent: Mozilla Thunderbird
From: Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [ImageBuilder][PATCH] uboot-script-gen: add debug option to print
 final dt "chosen" node
To: xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::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_|DU2PR03MB9999:EE_
X-MS-Office365-Filtering-Correlation-Id: 50e87f1a-d2cc-480f-741f-08dd65451df1
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?UmJMa2pETTI3enl2L0E0NnZ1NHlQWUwyNjRRUWFRUVhWUkZzM25vYWQ1WEhi?=
 =?utf-8?B?STBHSnpKUy9vbGRBdWx6OWJ4TEtoaVBMMEpuMUpJSzVsaU5lcjRZVENUdFd2?=
 =?utf-8?B?RWFMLzhZSjdqWUh3cGFVbFJ1TG9LZDVnODJIN011N3gzNFh5b21LYVk5d0VX?=
 =?utf-8?B?WjdaMHgwNjd1WDhZRU13VVBDQVRUd0FYcEFQY3podjdMMzhWclBtaUFvd1o2?=
 =?utf-8?B?b0pUTWpLVUVxRnFqMk4zem03ZkhvYzFhclRua3I4SEFaTXJtTTBabXE2TXAv?=
 =?utf-8?B?ZkJ0Z3JrMCtGem9USittMnM4TENCcllySEZqYjVBRW84bGdXVFYycUZoUWxC?=
 =?utf-8?B?aGhjL3hQZ05rc2RzZVJRa0V1OU1jWXliTEZxMDZsTDl2dmY0ZkZsTjZ5Wi94?=
 =?utf-8?B?b1VCNTN5YmZ3Q2daSkx4N2g4SXJ5NGZMcGFYK3F2VWljZHN3aUwweTI5Tjh3?=
 =?utf-8?B?WlRMTG5jQVVWcVQxL0ZVN1RRUjVDeUtGQ1U5VGp6ekVDWExJdWZaRlFMZk1R?=
 =?utf-8?B?aDR6NWpNUUFibS9UZzVBWmlaNFRxdHNSd3JId1ZoYkh4aExrZllXNENhZDZp?=
 =?utf-8?B?a0hGa1NXWjV3cjhRQVBXY0Z2eWtnanpMbWd3N1gzSEQ5Z3VTMUxDaDk2NkdW?=
 =?utf-8?B?dlNRWDFCdkRSSnVYaE5VWVFibExicFI4a1AwWjI3VUtKSjVNWndzQVFJeEN1?=
 =?utf-8?B?Nkl0ZWtrRWxUOFk3ZXZJUzdmRFhodXlFdnZweHZWS3pNbm5YNVBQdkcwdEJa?=
 =?utf-8?B?dUQ4N1VSTTJreGlrMzJHQ005NU1nWnBQL0M0NzhqKzlXVWtjRnhyMFc2eWN0?=
 =?utf-8?B?Qmxuby8xbUIvamVNTTlNdXZHSk5OWEwwM1JrSFF0R0hWbVg3VWxuTnFJMUE4?=
 =?utf-8?B?VFBMN2ZMc1dWdkFNeFBYb3VzN1YybHczWFpGcDhxT1hVYVVvSEZpc3BsV0pk?=
 =?utf-8?B?Q0dOYVlNbk5oZDhLYmN0ZWlzK1FPT1o2SEFZVzRnT3dXV2xSVzM5ZEgwVUxH?=
 =?utf-8?B?VkhtUkVjUERURGxRYkhEdFcxVHllWkpjdGd4UnF1bTRzZ1VYeCsvcnBucmpw?=
 =?utf-8?B?MXlBamZDZjRJM3hCK1VhNlBLTnpvNVgzMVN1YnhBVzIxdTV0TFVUNzEwQ1Ra?=
 =?utf-8?B?dVQ5eXNrUDBjVXA0ZEYwd0VhcXNQQmgxS0FTWHozaS9GaUVYYjhUWGZuZzdw?=
 =?utf-8?B?WkhUaHgrTUJsSmFMZGZIWGJIZTJXRFJQR3FjK01jRm1QOFh6eEpiN1NwNlIv?=
 =?utf-8?B?VElUNlRyVkRFRjhjNno3TUhnTTFFYzVSYkhvaDRtSjIxT3lzMEo0L3JnVXJI?=
 =?utf-8?B?VXBDcWFEMzQ0RkR6V1gxTVVIN0VYcVRsQnVYdFR4NEllK2RxTUkxZTYrVmQy?=
 =?utf-8?B?TjQ2UFhxWmhhbUZweWp2c2c0VmVFaGNXZ0ZENGFpRU5HK3BKby83bC9xUWpz?=
 =?utf-8?B?UTlPNmtMTGluRllwMzJVRXl6RUtSSi9Nd3VGVDc4ZXNRWmlVUnExWkZmNHVm?=
 =?utf-8?B?QlhlVWwrWFpnNDBEVWU3ZmVWMG1VRFNUaHBiQis0YUVVK09wNHlRQ2U2S1ND?=
 =?utf-8?B?ZUFlSVJPM1psOW9FMzNLQS80dGQxdkl3KzBtRzVtM3h1bEREcnJsUUlpZCsv?=
 =?utf-8?B?M1JGQ3NITEdqaUVnSk5JQm5INHRYZk1MQnFFQlJmMEFjdWJQZHgvMUZDRDlE?=
 =?utf-8?B?V3htYUhzS0x1OVdHN0htdXlNZ0g5UkdoandqeHU1eVh3TEkxMFI4ejdmT1lq?=
 =?utf-8?B?UEFsZXdsaytUZnBlY2owR1dtRjUwd3hmSm5pS1d5L3UwS2g2Q3hBMGhKUGtW?=
 =?utf-8?B?Q05rR21veVZJWlFqdkZLV1F5SlB2bzlSYjBmRTdOMVRRT2F0VTkxQXhkbE44?=
 =?utf-8?Q?fXunCJL/C8jjX?=
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?eEZCL21QVG5PaTkyZktwaEs2TllsVjVZZ3VHUWwxZ2pMWDNqL0x1c2NTV2VL?=
 =?utf-8?B?b2hDNkZJQ2xKK2hJdmxXVjNqSEp3OW5MdzVPN3BOVFgzOWo2UHRDVTdHdHlB?=
 =?utf-8?B?dlN3OGZ3cnNvM084ajBoc04yY2g3elBHN2RsMjY4N2M0RlNWMzg0REtZRU5Q?=
 =?utf-8?B?MEFuWkgzcEJ5cEpmWmQ2WXRyVVJuN3oyRDRFdmU0T3h6NGdqQmJSa1Erelly?=
 =?utf-8?B?OTNSM3p3Mktsc1oyVEh4VW5oNTRrWkt2U2RoQ0krQVdFM2l0LytiZVlieXNw?=
 =?utf-8?B?dk5qYTBzYktQMWNiYXV1MVR0K0g5MkY0aUMwQTl5RXp1Uy9vOG4zM0NkbG9K?=
 =?utf-8?B?T1BVSGRvVVZXY0ZQNG9BU3B4eFNpUFZ0bCs5c0cvV1psSHg0T0tDUlhZdmEv?=
 =?utf-8?B?cWo4OG1NTjNDOENBR3JOZFpqcWpxQWF6SVVOeFQwRzhpR3hzQ09ZeWs2TkJz?=
 =?utf-8?B?eHVrS2J4NjZDSEdpaU1Vem5zRWU0d2RUbUdHMlNqL1EwRVVQaG5RSG1pUUNq?=
 =?utf-8?B?ZnFDK05UVEJ5YVVCYlJwNmVIdjRhd3daOVUxcGNBRjVPTWZWdCtuUUxFNExn?=
 =?utf-8?B?WXNBK0duTW5Ed0NHbU1mSlpkYUZBN29WWWVCUTZqMmtBNWRoKzFUQnJVZGFJ?=
 =?utf-8?B?OStURzVoZ3pWQ2REM1VqTkNzQjBNY2dCZWJhRXpaamJwZUlGQThIYzVtV1N6?=
 =?utf-8?B?aDdGenl5WFVDYlQ5bnp5SXdFc2VWazVIeHdLZXJWVFVMVnBwOVd2Q0VjcFZJ?=
 =?utf-8?B?a01wUzhsOUxpL1YzN1JTSWhwSXhFYWRkMmZGTUhmeFJuNktxWWwvV2Y1WFly?=
 =?utf-8?B?dnRwK3o5dkVxbHBIMEhveG5KcC8yd0xHZ3F4U3luWkRnalkrNWlKa09ZNnNE?=
 =?utf-8?B?enZXb0g3R2hQRFJCdWowV3lPUEpzZXZaS3lpUUNWSnhMY0llTlh4WGhseExX?=
 =?utf-8?B?N0pxa1B2bnY4Zi96aWVBMjM1K2NjdDVqQ3BqZWVzQnRoenhBa2VmZTRJdllh?=
 =?utf-8?B?V3JTQWpUL2VQcEE4bnh3cDJDMWlqQ0RGMXYxVklmTms1MXpSd01uR2hsVERa?=
 =?utf-8?B?Q1owcVRwa044ZUNBZVR1NldOUjNYQ3hEUGdaREFjcVNUY09peGNmL1M4Qnlw?=
 =?utf-8?B?UENpRU1ZTHRPdTNJU1cwQjJZMzQ4TFRjZjRSV3ZhR3c2SkRXeW1uUTl4THJ2?=
 =?utf-8?B?WDl0SEVkZWpjK0N3ajVsbDhEWjBkVlZzUGROR2ttOU5tUXVSZHpmWUovR3Va?=
 =?utf-8?B?TkpIa3ZGVmRTbXRiakc0b0pPUUpVb2trVm0yQ0ZEVE5MRkNOK1RHaENPc3RG?=
 =?utf-8?B?dU5XK3NMOU1JV1NuUmk4RFVuYWlHMjJwME45ajdhT2RUZDh2V1BqZmVsekgz?=
 =?utf-8?B?VnJRMmY5cHRxbml1YjZyMENqb25OS2ZBUmJiWjcvclVFbHpndGhEU01BbGlu?=
 =?utf-8?B?R0VOcTVlSG9TYS8vZU9KSXVyay9Kd25nZHJZNHZwYjBldSs0dnVoU0NVN1dk?=
 =?utf-8?B?VHlDKzExU3BJaU0yYUR2aWpKZHlsbDVxenA2c1ovaDVnQWxjVy9IV2xjcXYv?=
 =?utf-8?B?UlVXV212VzRvV1JoNnBCTW81VCtKZDdHV1R0NEdrR3J6Z0JrajFlU2RpdzEx?=
 =?utf-8?B?c3NuWjdBWldSY0pENXZuV1NVWTZaSlBSZVU3L3hhRkV6aE9ER1hoRjhCUWhI?=
 =?utf-8?B?eXppYzE4dW9GcEtPMnJ4ZVEwWE9FQUF5S3RFYkNxaTFSUDMyemY2SC9LQSsw?=
 =?utf-8?B?MU5yaTYwSVl5ZzZDUkpQSjNYaEh5QXZqQnltcFB3YTFMYlRoWW9qdmxjUWtM?=
 =?utf-8?B?UTdrTFNWeE53cXBNaStzeVVIazBqaTBzbDlSdWoybmc0NXB3aUFmSW5kamsz?=
 =?utf-8?B?c3ZYcnNDVWVOcWQrRlJxdXdqeU9UVWlBSmJveC9EcjJjMXRraWlEVzRyaXh5?=
 =?utf-8?B?Q0dtbUk4ZEE1Ynh1bEpITC8rcFQ5OUxJekNTa0l6elE5NllKa3RIRkhrczhL?=
 =?utf-8?B?ZjEzdXNrejloVWpNY292TlNiZWdzbXY5KzJRZ2NGWGJsajhDYS9zRlErQlFJ?=
 =?utf-8?B?VGtBcWZjVHIxcXZpbkM4ZnY3T1psMXVqcWNPcnZOTXQxL011WUVMTzlpQ3RE?=
 =?utf-8?B?WWZucU8zUEhxenlLNHBKRDZvUjRxN095SWoyTkUycXRZOVd1TjZDUWZ5Nnl3?=
 =?utf-8?B?K0E9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50e87f1a-d2cc-480f-741f-08dd65451df1
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 11:16:08.7988
 (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: BCZTsmHp3NgUeuZNCHbZ+AhV4dXqpi0LuKtbmJCL8B+553wnPb0kqicrJfg7ju8CZS8X1c4NC5FNGp00vXhg1U8uLVzCUAJWzRZdw6fypm0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB9999

Add debug DBG_FDT_PRINT_CHOSEN config file option which adds
print of DT "chosen" node at the end of generated U-boot script.

This is useful for debug and development purposes.

Example:
   ...
   setenv fdt_high 0xffffffffffffffff
   fdt print /chosen
   booti 0x43000000 - 0x43200000

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
  README.md                | 8 ++++++++
  scripts/uboot-script-gen | 5 +++++
  2 files changed, 13 insertions(+)

diff --git a/README.md b/README.md
index 4ba430ce74c5..5b75018ea956 100644
--- a/README.md
+++ b/README.md
@@ -396,3 +396,11 @@ disk\_image supports these additional parameters on the config file:
  disk_image also generates on the fly a xl config file for each domU and
  adds them to the dom0 rootfs partition under /etc/xen. It makes it
  easier to start those domUs from dom0.
+
+
+## Debug
+
+This section defines config file debug options
+
+- DBG_FDT_PRINT_CHOSEN specifies that U-Boot script command to print DT "chosen"
+  node will be added to the boot script.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 0607542b1872..74e3b076910c 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -1357,6 +1357,11 @@ device_tree_editing $device_tree_addr
  # disable device tree reloation
  echo "setenv fdt_high 0xffffffffffffffff" >> $UBOOT_SOURCE
  
+if test "$DBG_FDT_PRINT_CHOSEN"
+then
+    echo "fdt print /chosen" >> $UBOOT_SOURCE
+fi
+
  # append extra u-boot commands (fixups) to script before boot command
  if test "$APPEND_EXTRA_CMDS"
  then
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:38:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916582.1321649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu8nU-0005Td-F0; Mon, 17 Mar 2025 11:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916582.1321649; Mon, 17 Mar 2025 11:38: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 1tu8nU-0005TW-BK; Mon, 17 Mar 2025 11:38:20 +0000
Received: by outflank-mailman (input) for mailman id 916582;
 Mon, 17 Mar 2025 11:38: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu8nT-0005T8-48
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:38:19 +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 515e45a3-0324-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 12:38:16 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913cf69784so3657446f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 04:38: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
 ffacd0b85a97d-395c83b6b37sm14937865f8f.37.2025.03.17.04.38.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 04:38: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: 515e45a3-0324-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742211496; x=1742816296; 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=1qcrCvKZ3DFoQMksi7T9egVtF2dgZzfgXW4ot9a0/D0=;
        b=U0uhSx5LzcBSRs+zS/PjN1akW7FYqDW5aKeFToyj4Dhsy/D++zCzsUjOaLzswuqGJJ
         DiLWof5AWxtDrPDhsw0PLyAQjeMHDgdRKhUxQdtCLY/sqrLRRIlGPdvMzqZyz1RoGIuF
         mjl0WGsvHcL8LX5dqNn/pik7nlBn/9yI5lZeICrYtSxEAd17pvRbeKwmDc9JRh11Ktpi
         jW/IYsAgz05jSBHWM+iQFuCHhm7p0CLwAMokMwSeDtzITI9cn8YhqwUpxyBcUDl/biX4
         /ZeJszpeehFVZYvATgk+A2tZ8mjomPt4ioY02oV20qvYAgOB1I+n1TxUauJhWTQXprPe
         2HBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742211496; x=1742816296;
        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=1qcrCvKZ3DFoQMksi7T9egVtF2dgZzfgXW4ot9a0/D0=;
        b=h3nYKYJos6apEkbE2QdtVmKoTWnR7qoi8SVJCH9srb2nILDoXATuoCR/Twl+oR0O32
         h4m8pNgIso9GGusHxeWLMBUSHiKBYUuChIyWTT8gNKmic8u2pL73YHOX77NGVdO35ypa
         J99tcMWzno7QbwEbKcADiACVJMsNBNbWa5M3/bpLaFOefIMb7GEn55q5uxCSt06MDsD4
         SCdIPcgkqTYxqTjrwARjDBv3xsrsYQrZxup5bUoSO4m4269d8b1clD2l4ta8HL2qaIHL
         93UdSLGXDlHwIriWnfcqULQE/R2bmXxh1W7sliFO/fazoVBaFnYAkAxBxfYGrX9IjQ2N
         mx+g==
X-Forwarded-Encrypted: i=1; AJvYcCUonjd7SQCdwWWptIYaM1SxM44MUjACA2O/CS9vOHJyH0oPVKN775KCB8ej/MpisBAx0K7R0VWno6Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAAIUV9ttVG54kebFBeUJadrRgfqtkVypTxQwC0KO9OuceKFKD
	4pjKUfkqNYlWVz3Ms+3b8NTWNnU3wflY0eetM0E7nsJAp0QRI1+P2BqFos1lHw==
X-Gm-Gg: ASbGncsG58sM6073CghUv6vyOajIwcSxDo9SH04/FOX6qnV5Ep1OmTZlMhA8QbhinBh
	lEnv5HYGyzH9phXQ5HvBx0hc01trd0G5VZNrnN8uPCbPFHQHSjYzNKgMd+57oTlhr0cjppGYocl
	HVE7v3N2LLokclW7V7P+Y2bkK3cRMgvZVpwuQ3a7DOXqSN4UZiQOggjwWzPhx7l7fH3JT0sm+0d
	ol14CFoD4LbS/lqbrjjSA6Vd4I+CJ3714OdgjJbZFw/XanSYEHwSfb2z29lmEYsdEbN/o0pR8qX
	polDvy53S3bt9EHOsR5cicaNYoInFDkVI0zx8IDCISl8oFDMnMDZSUpJHN7/xZrmiscECvKpEbD
	BGdvJirxZlQwQBS6yLmRFkh+993OmTcCijLaf2m6D
X-Google-Smtp-Source: AGHT+IHTr1FInE4s04gEnaH2xWr7HMWZTnaYhptuFerPUlji+DXrCF//UlA0UZEtL+y1uX9m5LcYbA==
X-Received: by 2002:a05:6000:4011:b0:391:3124:f287 with SMTP id ffacd0b85a97d-3971e2add48mr12084898f8f.16.1742211496312;
        Mon, 17 Mar 2025 04:38:16 -0700 (PDT)
Message-ID: <703471bf-d5e7-4f97-b17e-61dffdcb828d@suse.com>
Date: Mon, 17 Mar 2025 12:38:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] x86/domctl: Stop using XLAT_cpu_user_regs()
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> In order to support FRED, we're going to have to remove the {ds..gs} fields
> from struct cpu_user_regs, meaning that it is going to have to become a
> different type to the structure embedded in vcpu_guest_context_u.
> 
> In both arch_{get,set}_info_guest(), expand the memcpy()/XLAT_cpu_user_regs()
> to copy the fields individually.  This will allow us to eventually make them
> different types.
> 
> No practical change.  The compat cases are identical, while the non-compat
> cases no longer copy _pad fields.

That's fine for "set", but potentially not for "get": Someone simply doing
memcmp() on two pieces of output might then break.

> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Should we really be copying error_code/entry_vector?  They're already listed
> as explicitly private fields, and I don't think anything good can come of
> providing/consuming them.

I don't see a reason why we'd need to copy them in arch_set_info_guest();
arch_set_info_hvm_guest() doesn't copy them either. For
arch_get_info_guest() it's less clear - toolstack components may have
grown a dependency on them (e.g. introspection?), so I'd err on the side
of retaining prior behavior. (Of course there's then the corner case of
someone calling "get" right after "set", expecting the two fields to come
back unchanged.)

> @@ -1204,7 +1223,26 @@ int arch_set_info_guest(
>  #ifdef CONFIG_COMPAT
>      else
>      {
> -        XLAT_cpu_user_regs(&v->arch.user_regs, &c.cmp->user_regs);
> +        v->arch.user_regs.ebx               = c.cmp->user_regs.ebx;
> +        v->arch.user_regs.ecx               = c.cmp->user_regs.ecx;
> +        v->arch.user_regs.edx               = c.cmp->user_regs.edx;
> +        v->arch.user_regs.esi               = c.cmp->user_regs.esi;
> +        v->arch.user_regs.edi               = c.cmp->user_regs.edi;
> +        v->arch.user_regs.ebp               = c.cmp->user_regs.ebp;
> +        v->arch.user_regs.eax               = c.cmp->user_regs.eax;
> +        v->arch.user_regs.error_code        = c.cmp->user_regs.error_code;
> +        v->arch.user_regs.entry_vector      = c.cmp->user_regs.entry_vector;
> +        v->arch.user_regs.eip               = c.cmp->user_regs.eip;
> +        v->arch.user_regs.cs                = c.cmp->user_regs.cs;
> +        v->arch.user_regs.saved_upcall_mask = c.cmp->user_regs.saved_upcall_mask;
> +        v->arch.user_regs.eflags            = c.cmp->user_regs.eflags;
> +        v->arch.user_regs.esp               = c.cmp->user_regs.esp;
> +        v->arch.user_regs.ss                = c.cmp->user_regs.ss;
> +        v->arch.user_regs.es                = c.cmp->user_regs.es;
> +        v->arch.user_regs.ds                = c.cmp->user_regs.ds;
> +        v->arch.user_regs.fs                = c.cmp->user_regs.fs;
> +        v->arch.user_regs.gs                = c.cmp->user_regs.gs;

Just to mention it (there's no change in behavior here afaict): Us writing
only half of the register fields looks like a latent (but perhaps only
theoretical) problem to me. A dis-aggregated toolstack may set 64-bit PV
context, then toggle address size, then set 32-bit context. That'll leave
the high halves of respective fields non-zero. I didn't check whether any
badness could result from that, as for the time being
XEN_DOMCTL_set_address_size isn't marked dis-aggregation-safe, and hence
this at least isn't of immediate concern.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:40:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:40:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916597.1321659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu8pc-00071t-Sh; Mon, 17 Mar 2025 11:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916597.1321659; Mon, 17 Mar 2025 11:40: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 1tu8pc-00071m-PU; Mon, 17 Mar 2025 11:40:32 +0000
Received: by outflank-mailman (input) for mailman id 916597;
 Mon, 17 Mar 2025 11:40: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=WXuz=WE=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tu8pb-0006yt-Ft
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:40:31 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20610.outbound.protection.outlook.com
 [2a01:111:f403:2417::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9eca4002-0324-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 12:40:28 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DM4PR12MB9071.namprd12.prod.outlook.com (2603:10b6:8:bd::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 11:40:23 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 11:40: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: 9eca4002-0324-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=njsVUm8dbs4R5tuRnshAzmEcBiCJn0yDHpw4Mpa4gCSmukJ4PpbrN8Mtw0nqhgRzbaeNtcNimekQkhECDHFaYdq1mQiAD+OyjU7fxdF7ofjvtXA6gPAIZpEP249Bi1Hah5iBGCwJzrtJLjJQ9i30XqdNy3hKjVI60nznUgrHADECg9ZqsFUcD0lXEYo9rpXBb4K6nUYqoWqgAvkbFJykMZxQQ4Q7ItVA+t5UtqjUSk/4MetXke/mdUwFHYW+dWPcU7mkyL98N7WRxdi4xR6oc11vfVkcfYMrbqWlKvzdh23K2WJoUrdDuDltmNbmgGnyMKpdYs19LdMPi5C4dzo7nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QvAypX9LKH2YFLrvCQEuzHy/RBe+PbYCg/ScSw2rc74=;
 b=bpgeW5BcwJVfkdxktJlpanYz3bIoGBhIAS3kGHJReHzstN8eXgxFTfYvWJtz0su7PvSa4u/FROEfRPx9EpK0neRNjknDzc/TzGRknaM9TM4ldYeaNcCd06iUU1CmBxIiAB7ksvnIGVivBgPI4aAbCTmXRkfX1YR1XPq7CHsbQnaJL6KgGuhN8kPam3edLGRND3rTbuL+KAsOFhtYqu/tWATkgpczTQ7Pdm4gpTr6TyLxQUY49QoymBB8kzRI76WB/07H0g4LVfS+HQlzXY1grVXVnmF6LOxl3xQeNUGk9sn7wynF5co4RY6FM+eknY284GvkLAwrnw6OwN46UgjWQw==
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=QvAypX9LKH2YFLrvCQEuzHy/RBe+PbYCg/ScSw2rc74=;
 b=qDzr146g4E4i9tQOr2vifBBqRSvATY/lruQKsmATL+JloP6rp6nMBtvxP4PgdaumNTkRAlCvNyAUHeiaX/Qn5Xd0PY5ocZ+1+txbsRlc8UfOUcETDhqULuC8LFDjK279FfAlyhYeM2VvwQZsXwS9MTQrYJzIp+yVOCCFWB6ATL0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <cd2526bd-9dfe-4c74-8083-0bdbadc42ec6@amd.com>
Date: Mon, 17 Mar 2025 12:40:19 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/arm32: Initialize MM specific registers in
 enable_mmu
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
 <20250313182850.1527052-2-ayan.kumar.halder@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250313182850.1527052-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b9::14) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DM4PR12MB9071:EE_
X-MS-Office365-Filtering-Correlation-Id: cb50e120-904f-43a0-0fb4-08dd654880a4
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?ZGZZMitnOEdWVEJMNDFPMU53RDRsSmxTUm1KUkRpT3ZKanZwVlBUdVdUcVJV?=
 =?utf-8?B?dENzM3J1SGZLMnNtbkx5dVp3SmZhNW9ocThwbDBGMGlicW82NXNGQXdNbmNr?=
 =?utf-8?B?SEc0Rms1bUROdTZyZnN0R1F5Wk1nK1VwRmxYZ0tXNEFsVHN6WXpySElMQzZL?=
 =?utf-8?B?N2orWlh3a0hjVjVieHI2NG5lOHBTbHVyVXJpS0dubDg3M0s4UnJ5c2tpR2Ux?=
 =?utf-8?B?YWxianY5M2tMQXVXYlg2MkVvSWdzT29lcEhObkNCZ0RCdHZUOEdWY3U0a0FW?=
 =?utf-8?B?VFd0dmxZcXZLaDQ0bDR6NFNMM3cydzA3c1N3UHByUTBRdXJZVXNnUmlFRWhv?=
 =?utf-8?B?VmVaNWtRRzRkaXcycDBJNzE4bmV2ME9XZUhUS0lvWGs4NVZmMGt2TG52eDc1?=
 =?utf-8?B?NyswZ1VzbTd0NmhiOWVvWlloaDhUcHp0Mk1mQWlsSDNJTWxzY1RnaGNEODZq?=
 =?utf-8?B?aUU2eDlHbENOcVVEdU5YNTV6VHdNZ1VwQU84TzZ1OFhzL29VNzBkcVA2N0xQ?=
 =?utf-8?B?SHpDRVR1SEhNNHlzS1N3dXF1WGtGODhiSWMxQXV3UzhSZmNwSnVmZUFmT1BW?=
 =?utf-8?B?d044bnQ0MHd1N1ZNOGVUUWZTZit5ODlPanlpbndjZHltZnFscjNtdGRITnpW?=
 =?utf-8?B?bHJrK1NmSmI1T3NYUFEzM3hzWVZoK1YrVXFMKzBtUFlOVnI5dWloY2g4bDlh?=
 =?utf-8?B?RDVpRURJcmV0SmdXUDIxNHlIM3J6dW9vZ1RReUZlbEFMb05kRVpxQkc1WWgw?=
 =?utf-8?B?dSs5UDE0cWh6dTU4QlBCcFNKYzkyNnd1QUZUUHMrbDlBK1FKRjRHMjNVVHl4?=
 =?utf-8?B?QzU0ZG1PbE56bHpuUjBxS3pvNlZqcUV1T29LUFpRL1FFaVNjTS9NeURURXQ4?=
 =?utf-8?B?dGJWRUVpUGE4OWpGckxtTlBMVUlsSlQxbXBIZERiOUtKVnNGM2lpWkNEVHdR?=
 =?utf-8?B?TmJpN2MwUWFhL0NPeTlRUThqbkM1MkZZMDNmMjI1MmFnaG5sSVkxa1Y0d2Rr?=
 =?utf-8?B?WHo3NTQyOEdINGtlalNqV1JzLzBRb29XSWlpMW5mVXNMc2FlcThZbTFKR3Jw?=
 =?utf-8?B?NVV2Ny90THcyb0lVcnUzc1FwN1QzakxwTlNlYlByZkVFYWhmNGRzUlFuYVhq?=
 =?utf-8?B?YURLRGdCU0txY2hUS2c0ZlhzQW8rVVc3L0tKM1hFajFQUzVYb3BTSlpJRnRl?=
 =?utf-8?B?OXpjdGY3SExXYUl3SS9TNVB6dVZsZE4zV2c1QldaY0RieldZL3pieWNqZ0dV?=
 =?utf-8?B?bkJmbzNXMlFyVzhBQ2RNVVlrM1NVUk5PU0xmek1lVDRRb2lmRjVHbGdjdzBO?=
 =?utf-8?B?Y1g3bnpiR1Vobm85UjRVellueW9TVDJ5VVk5aktRNUFCcTF6ZWcvclZ5Q0U4?=
 =?utf-8?B?UE1VY0R6OVNDNGlpT2F6MnhvYjkrZkI2Q0pUWmZJakJ4QWlpZlBKakt0Qitp?=
 =?utf-8?B?RCt6VTNyWi8xS2svZUdCWkc0TGZFY2c5b1N5bXQwcTZLT0FMbm5Ec0tJY1lZ?=
 =?utf-8?B?TkxoT0tvNlpiRU5va2dsZ2taZzZMU1lGT296WWtONXRlSzU3Z0JJYUpudGR6?=
 =?utf-8?B?R2haQjZ0NW11NXRMd1RGdHREejJWN3l4bWI2SDk1SE9YVHhiSFAvSkE2VW4z?=
 =?utf-8?B?YVBmcE9iaEZPNmxlcUV2ZXdlcWJidkJQbnphK1gvUTNRY3l4dDN2cmtIOHp0?=
 =?utf-8?B?T0JpQTVJbEtqWEQvckUvZ0kra0hWSFkwazNKTHhJZlVxQnNPWU1JeTdSejRm?=
 =?utf-8?B?M2VxUHZiSWg3aWdBa0xvR0djUjZ1K3JRdFBUMlJPbHZwQmJoNTlxQVY4bnh0?=
 =?utf-8?B?aU9jczRjS09TRElSSzNPQ01ycXR4R25Vbzdra3JIQVVqMFF0SE1qZW5Kc0VO?=
 =?utf-8?Q?zpMMsAYkopRjW?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?bUwyQXAycnkyQkl1eUgzWitxSlo0ZkZPd0Q3OE9EK29oRytGcUhjUU45WUFW?=
 =?utf-8?B?Wktrb0dVOXFFSXd6VUNYMHJYcFZiUTJTK1VEU2Jqek9XQVVpWS9CcVJMS2NS?=
 =?utf-8?B?VEowWHNFOU1BWCtRSVVzZjBNOVhLNlZQNkFYVDZjOWwzYXZMQlYxZFVWQ1o5?=
 =?utf-8?B?c2FWMC9xSmlaa3hsZzBXeldhNzM0QndyMkFaUk1GRGx6RTZJSVRlMnJ1VWNK?=
 =?utf-8?B?a20ydzNQdFdsQ1dlWkltTWtXMjNFbytXTmRIZEM1NSt4RzlqY0tTN0RqMUF0?=
 =?utf-8?B?Mk81VVo3WVllc0FxaXVjaWxzeDR4WDZob2RwcU56aldYZm5XSEY5NzRxMzFh?=
 =?utf-8?B?K2pBbWRRdWpuNlRzdUZJeXhpajFqeEE3MDAvQ3FqSUhCajBLRUpuWWpzN3hy?=
 =?utf-8?B?UjNJTW5yRGJKT21FN21acWRXM0JoengrUjkyb2I1Y2FJWTVzd3FORnBtQ2I0?=
 =?utf-8?B?c2R5Tk8xUjFRbi9hcm5KK1JBU2RpWVJjWlZJSldXMEkyS0o4TmMwM1libHZS?=
 =?utf-8?B?MzRPTXovSGdpOHpVQUc0TmJhV01SQWFQRyszVEpmak52WnBLZ3FIQkcwV1or?=
 =?utf-8?B?Zm5ZaFdoa2ZmL2dkREdFS3JqUUQyUllhVjVjR0xRY1BpdmdldGMxSkRPdjZU?=
 =?utf-8?B?WE16MlF4VkpMOHhBbFkxMzNkcnZsRWYxYmtXRFdWeTRnL05hRkYvZVZFTGFX?=
 =?utf-8?B?WXhhdEZINCs4MThSQWc5QmVLZUQrL0JLb3VLUlFiaTU4V0xwK2dEd1Z2L21v?=
 =?utf-8?B?ZVd6L1NMbm1iQkY0NXZybEI2TkE1TGpBWFN6TnhEZU1XdEFPTk03ZzFRM0NW?=
 =?utf-8?B?MXViSXQzb1hhSkxRZUw3U2V2aE10S1dmSk5EellSRVBoS014eGZacTRieDBq?=
 =?utf-8?B?WUtIMmdPYStVM2d6VTZXNVZIZEtMYldHbTlLZmErMFFBamdQU3QwYmFOSEJU?=
 =?utf-8?B?QWhzVVdIdnVua0JsaDlvUERYVytzQzdjU09NYm93QXVqaVlPdU13czhOSEZ2?=
 =?utf-8?B?NTRaRmJBTnN1Ykw3VG5ZNnNQRXc4YUFKMm5sSUozdkFYNlNxeXhvTzRCL1FI?=
 =?utf-8?B?bE9HSjZvaGx6KzRrR2N5ZUVIN2o3ZjlMekJoYStDN1hMS2xvQ2Z4TlNWRzJu?=
 =?utf-8?B?clk4ZkZZdGhUTEt0RWNVWVo5bmpyMlgxck42MTFtakhqNjRKaGNUWkx0TGM5?=
 =?utf-8?B?a1FMSGRjU0Z5SnpEVVFUTDYzV214UUhGdFRETDY0aGlMaTc1V3ZNNVBIcmdV?=
 =?utf-8?B?UHRVMHp4cmtrYnV0ckk4MlRRR3VoMGltSTBiVjkzekFFZnQrdW1TcVNSalR0?=
 =?utf-8?B?Y2lPdndyTS8vSytPNFpnOVdwcU5iVm11SVlmNlBLN1BuZ2ZQaFBTWEdySkR3?=
 =?utf-8?B?TmJhNDFya3hTbTJza1o3KzloSURMYnVyZmhXSk5DTThsRVl5aFZBYlhSUFRF?=
 =?utf-8?B?bkNvQ21rdXJaTkN0c1lIdmhRNzNJYzNlcFFBbzdDS05NRXpqblBINVBSYVhk?=
 =?utf-8?B?R2tNZXZkeHZNWU54UTI4VFlTM0sxbE9QQWdRUkZZYUlrVUs2VXowSGRFb1Rw?=
 =?utf-8?B?a3l4ZFpDMEpvSGFqTW9zU3h4aWZVdVU5RWo2YjRPb1JPaDdGRFJXUC9Ib1hR?=
 =?utf-8?B?UWUzTkhZQlNmK1VVV05wd0ZvanNIT3F3c3l3NGhUeVIybFY0ZllaazlCWGdB?=
 =?utf-8?B?STdWOEdocFJqUkFYL1R4eGVlcmpWTDh4RllIRmMvckI1K0ZYcGRTS3gvRnNJ?=
 =?utf-8?B?UGRUUmswcjUwRVdROE1ydEFHQkoxWmFaUnpleGZMUFNiUUJHbDhPWHFhcmZr?=
 =?utf-8?B?bFFUcjQyZXlRMXFIa3ljeHNTNnpOYVdYazBqK3NvZnJzRjRlQlB5cGNnMHpt?=
 =?utf-8?B?M0U1WjI1NjZ0MW1sUDRMZGNPalczKys0Y1JWU240VVovUkhDY3dPdlRyUHl4?=
 =?utf-8?B?RE13cWRiS2g0RytzT3JGenJ0WmxUTTd3dU9kQkJVMHhrdW9laWZTODJuSVo4?=
 =?utf-8?B?VmJaUDJkMkc0YmVMdWkzdThLdVhWQUtWMWphUmNqUVJhZjRselQ4eW01K3k1?=
 =?utf-8?B?MHZnUVJxQi9KeEt0djZyczIxemlBYUxmVkhMcm1UTHpiM2V0OGRwbGtLdXZM?=
 =?utf-8?Q?yMt0=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb50e120-904f-43a0-0fb4-08dd654880a4
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 11:40:22.9737
 (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: nGVAt49y+vMM4cQ8mEMTnZ2pFZsLJhAvNB0WSHq5ajPDmgYa2Vj5x5BLhv8g2w4m
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB9071



On 13/03/2025 19:28, Ayan Kumar Halder wrote:
> All the memory management specific registers are initialized in enable_mmu.
The title is a bit misleading (description does not help too). It's a pure code
movement, yet it's not mentioned at all. This can be fixed by changing title:
"Move MM specific registers to enable_mmu"

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
With the title changed:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:43:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916607.1321669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu8s1-0000BX-90; Mon, 17 Mar 2025 11:43:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916607.1321669; Mon, 17 Mar 2025 11:43: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 1tu8s1-0000BQ-5F; Mon, 17 Mar 2025 11:43:01 +0000
Received: by outflank-mailman (input) for mailman id 916607;
 Mon, 17 Mar 2025 11:42: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu8rz-0000BC-Hm
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:42:59 +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 f921a0ce-0324-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 12:42:58 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so3772759f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 04:42: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-43d2010e2d6sm101906695e9.38.2025.03.17.04.42.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 04: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: f921a0ce-0324-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742211778; x=1742816578; 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=rGBnGMkAk/QHHPpUZbvk5VOrYxSoBDxDtkxmgI5Sh30=;
        b=C1WJn04G9xcsin4qWrVxaSOubKv5FDX4GJDIyV8WDJecMDn0JNMat5xCNWQxb9JdUc
         4nx84Axd7FekhWPT3q/R4OrHvdlIGlZVCYdU+GegJL187s7MpbVc8WEtx6bufO/v+xIe
         RER3zFVyo+3WJCHOv0IIC1qmyIWxmjsU15Iizf65VDiehv45G17a/XPdpg/efJZdHCbP
         PE5+vDqTmeWMgur/N0dseOGK4NJXoGtnNh3AzTE5XgGAHd5sUWcqaHlQNZX6LCyPgxW1
         E2MCB7v4my+SJ0dj+kSvffmrOirv2kI0UUc/bWsHdVWCTr9Qo6vXv1M0adms0m+bw9Tb
         KBPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742211778; x=1742816578;
        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=rGBnGMkAk/QHHPpUZbvk5VOrYxSoBDxDtkxmgI5Sh30=;
        b=BWc9m0IbrEVsDH44SXKH0DtDjkIIwiMRgOOdamoAJ/kmcwOlIEgzwxk0RiaVIyh5OV
         LR8umFb1Wn8gPWNqL+5vYg7Zf6S5pVejeMYdtmDSE7LfvkUanKf79WOXo3/yryl8U6uj
         1vy42NOaT5HZaish0RgiuhatsASVlokyFEoJVzw35fsmA4gXQsMVqbhDxFfAjG/Q7c8A
         OyObXtCgPAl9MK3t7riLM/jHCgpvFf3ouVxm6D94AqcmYbD8BmProueEaWaA28HmI5/j
         IjbSTuB+0nd0kH3aDKozE8IoJ5ugZpnYzcQ4AyIKxZdkxv9pCSEFQ3Pj8DzjD96y2Sk6
         E/yA==
X-Forwarded-Encrypted: i=1; AJvYcCWv1agqkK38szpyzSTiH/oXtRBmAAHO0oefsi9n1QKUQNLeJ6PQ6Lpa2DLFFu01woWTmDopP1WcxXw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxBcljQLpQKJ5ce4Jk+tX3kqt9kL/1ugOJEIpSSEcwRWEJRzgvW
	WcMgmubrbm0qU2jBYL8nPQRCBB29nWZeZWRZ5lCaA7mQFv0uOp1OylngOBwoDQ==
X-Gm-Gg: ASbGncslo/652Dz4zqi/ra2+5+2qLCwwj59yNpWeSVAh8IrL0/gWyFG7uDSstTLJ+f8
	urXYJh+OCHANCpqxnBWzXFCqiEPmQaqumJppgBV7jPwSixNlPW7glN49tOIRknJLor4FzSIX/tp
	/u3fgr9gBAoHUPemGg8x1/96IQAGZKDPy2rxDtn7T1czHdyHwkSxnjGsA89N7AYyK5gPeY4wKyp
	cVgUPLOftNPbB/1aj30iFboJlAxUsdchiC4VhwzJx+zq3kuR7qQ5HFsDgFCyf4D2UDrGbDZ8QEn
	yAEC8IrQijfkPMQ8+lOSRRKWkN87/0FR5VVFqYQhEsxQy54nmuMRkSyVqBTNA6H/xwMe30mIJtx
	pgu0TgniHCvn7S+Ll5THvH6fDVv1JmQ==
X-Google-Smtp-Source: AGHT+IFI5TvlocnyP0u8xhvclmLsHJsmsHMdKNd48kTEtHMuQ4I+xv1rx5SXi8RgBiEvzJqMgA0Ohw==
X-Received: by 2002:a05:6000:1548:b0:38f:4acd:975c with SMTP id ffacd0b85a97d-3971dae99d2mr14627602f8f.27.1742211777847;
        Mon, 17 Mar 2025 04:42:57 -0700 (PDT)
Message-ID: <1cd10c63-4e86-45fa-b4b3-cb750ad9f39b@suse.com>
Date: Mon, 17 Mar 2025 12:42:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] x86/domctl: Stop using XLAT_cpu_user_regs()
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -34,8 +34,6 @@
>  ?	pmu_intel_ctxt			arch-x86/pmu.h
>  ?	pmu_regs			arch-x86/pmu.h
>  
> -!	cpu_user_regs			arch-x86/xen-@arch@.h

Maybe worthwhile to keep the line, just switching ! to #, in order to
indicate the type isn't accidentally missing here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:56:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:56:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916619.1321678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu94s-0002ru-B7; Mon, 17 Mar 2025 11:56:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916619.1321678; Mon, 17 Mar 2025 11: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 1tu94s-0002rn-7j; Mon, 17 Mar 2025 11:56:18 +0000
Received: by outflank-mailman (input) for mailman id 916619;
 Mon, 17 Mar 2025 11:56: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=WXuz=WE=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tu94q-0002rh-Nb
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:56:16 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20605.outbound.protection.outlook.com
 [2a01:111:f403:2413::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d212dfac-0326-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 12:56:12 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by SN7PR12MB7156.namprd12.prod.outlook.com (2603:10b6:806:2a7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 11:56:09 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 11:56: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: d212dfac-0326-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yZUdkoUukBZn9G5ZwyvQDMIfVbpVaCSOTDtak+N2+nVXydkCH9pTipl/xhhTanc7s5N6E6GZshutq0NRg3nypoiHTzjDog6LtSpB9lvgCVtSE51a6UUBd/RcAvDUZ22b2M8pffZRPB5xTtHsER1Yptzaa5hS1s65uwEtEu8hcqFNYQIhMV4VTBx/NrOh8HzjALnCNqeyqBvf2CutC1VhhPKiiEXoEgSS678ni3TqAcPe+DZB7wxSAZlh6ajeMidpV0XVA/3psAaanvN+dwezpixyQql0GFPHiqvZdO0fWv+bdKyneRNvaWRI8971mnFS/LB6ay8UTTk2Y896aEAg3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I5N4I2gYm1Dt1D7YY9O7VMQ8Ed3sDR1K4xQIt1gNzPo=;
 b=frIovU+VXzAcLrQIg/X/gjPmfj7ol8vgw8ANOzi6ci0sMgVRwo17e7p0ftjlnk0bf8qcu9r/6y+ECCfz6J8S16dZGUfS+UzNAtPzIWLx1yLLFOY6UcYct/I1pD4NR9gUSXt0lptk4ThmEU19ec8lozu3zAyV05jS6KQ74IG1RIKd+JIkkPS9KMQPtuX7vJfQhX7awsyg1doZIKzEoobO1hWr6iHW1N8K1PaINuPXpPjlCD+9qRpKiSZPk7ugbWxYlnUKAQIOi6Juez23h23JFN+HmngUEUqh/17HFNpEXaSbBuzze288gt7/QNyP19s6TjbXit79Y2iny76gNB2v2A==
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=I5N4I2gYm1Dt1D7YY9O7VMQ8Ed3sDR1K4xQIt1gNzPo=;
 b=tgK+9UUJm60vrr7NcrCmKmk5tW4+e7zWNp4ETpdSMb0hws2rkNtgXrw93vqep97xzcO4xmDedri6Mqt6cd6kvjwXtzJNXFRR7b1yHEdH9JzTZnSj16GrmkC41dP/xWeCNPID4xPgZJlYJckJQf8FgEWEQ1l8CpNSNbk32ZJwQeE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <c21737e3-67e7-430c-a0a7-203a8fd7d2ab@amd.com>
Date: Mon, 17 Mar 2025 12:56:04 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] xen/arm32: mpu: Create boot-time MPU protection
 regions
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
 <20250313182850.1527052-3-ayan.kumar.halder@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250313182850.1527052-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0219.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::12) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SN7PR12MB7156:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e77b483-eb06-45ef-0be1-08dd654ab4a8
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?d1ZLdS9sVkZuaW9qYkJvK285M1BpRG9WSkduemtJYzdpblpUYkVzSzVhRm0x?=
 =?utf-8?B?UDlJZzBlS1g4dlZTMitPZU5OVFhucklodW5lZlBMSDFXeXQ4alRhMFhwa0U1?=
 =?utf-8?B?cXZkUERRRUlwZWJvMlcyRE5QZ0NKVy9vOEFYVit1b2ptMlNqdmU5SFBtYVJl?=
 =?utf-8?B?QUxDZGdYRlJGQTVqZW9zdm1pTEtGdmJXYUIxMnpkckNDTjZuVFE3aEFlVXdG?=
 =?utf-8?B?RzZNUUxXZXVSVEVZQVRIL28zbVpIeUdQbWtGNktoL1FQWllWUFE3VkQ0N3k1?=
 =?utf-8?B?QXBIY0hURnArc0hucTltamwxSkZlelBtOW83QmN5SlBPQm1NMUh2YjNGMTN4?=
 =?utf-8?B?TlREbWo1NGpFVWpCRkhsWGxrcDM5WlRXS2RJdGErcHkwRFFpbS9hTXdnYi9a?=
 =?utf-8?B?cmRHeVhnbGZiS2duK04vS3VQOUVDMG5WQ3JuUUQ2Y05KQjZZNHk5dFM4bVhL?=
 =?utf-8?B?MU9GL0F2VVd5d1hRQm14dklPWlozZGMwNlBMVGRaSE9GQXhQeVJJeitmU2sx?=
 =?utf-8?B?V1JoYkFubzRZZkIyVi9Xd1d2Kzl1WE53aXNZSUpaUjVRVG41Z2JvdGpGVXVu?=
 =?utf-8?B?aDMxRlJHdGFaOFc2ZTc0R1FZVDI4N3B6alI0OEN1RzlseTRWaTRmbHYyUnFH?=
 =?utf-8?B?TEloOUhEMHdMZUNJUW1IckZXY2lEcytERWdBa0lnYUVwZ1pQQTVxaTBmM29X?=
 =?utf-8?B?bVJnUE1pOHRrSXEvTTBvVGRnVUplbUdnRkhlQ0RWQ09tRHZxT003dkhNUXJD?=
 =?utf-8?B?eWpDVVdUaVNhNHNic2liZ3kwS2lxeTRuVDduN2dqOUFhVGl6YWRTT3djUHlo?=
 =?utf-8?B?dVN1VllTclZ4akpmNlpKbDZldnU3MXNuK0xNSk1LTEVQUHRBMWZZeVp5RHYx?=
 =?utf-8?B?N3h4YmMvS2hLR1Iycnh5NU1XNUMzN2pvVDFycGxabmJwSEZqazRtT0o4SFNh?=
 =?utf-8?B?RCtQRGZZWkFuQ1ZXNHQ4Zm10MUtTMTNwNmFSRnJFMWRJZ1MrSVRvdGgycUtB?=
 =?utf-8?B?VEdnQkJFWGl2c1hJRlBKMWJIOGNUMk8xTzlsaWNXbnNlU0poMldRSW9Gc1A3?=
 =?utf-8?B?OTZMY2FHRlFUcUtVbzgvcW5haWhibHhVUk9WNnBOajNNS3Biay9Ib3ZiQ0hr?=
 =?utf-8?B?Y2c4OHhpbEtpZWovbnJZamZkMGtIVjcrK0Nra2pGTzJKeWpFbEZ1dnNTYjFF?=
 =?utf-8?B?T3dLRTRENnMyeGdTOGZWZzdYYjlUVkFaVEZGTnlNQ1hZMUpnK3hOL2hPVm5E?=
 =?utf-8?B?cjVrNU5LTjFTYVZvQWtSUE13cS9hVEt4MDk3WXVycVArbUViT3gwL1F6Y3FN?=
 =?utf-8?B?KzVvN1lpT0xRRTFscmFKazdOSDVrTjhPUTJLTnEyZWdGSzZsTlpTYmRHUUkr?=
 =?utf-8?B?N0liSFVyNklkOHhZUHU3a2ZZMnVFOXFzV29BUDhoU1BCZHpPK0FNT1dFMzhx?=
 =?utf-8?B?eVJWaTRacm1CZWJmNW1zSmhQRzNOT3VrdEd2ZXQ5Sk5FMTB4T3Q4S3ZLUXJw?=
 =?utf-8?B?OS9OVXBjSnB2YXVvZ0VvOTc1NTAzVmd6cVR1UWRNeC9SUkozU0x6a01Ta1o3?=
 =?utf-8?B?Wm5ZalBUT3hQeENXYWVGcFZsL0lwT2JjcW5HU3dleklNcmhCQm9EUnRmQjJh?=
 =?utf-8?B?djF6YlpZbUxVVHVCRXdnZE1GOXhSOUEvV0JKdEpNQi9zSUFzRm1VMUFpYTk2?=
 =?utf-8?B?YXdhaHl1YXhHUGRpWEN1R0VYZ0c1SnNBaFlrUE5iU0t5MzJsZUpDVW02ZTlj?=
 =?utf-8?B?Q2NQVCs0NWxVQ1RnbmtWS2ZOTDB4czJjZUh6a2IvNlk5YVVud3lGQkhURUQz?=
 =?utf-8?B?U0lKYStvSGE0SzRjYlBOMU5jK2RyU1N3SlhEc2oweWlmbmx4c3ZWV3dkMGVF?=
 =?utf-8?Q?8OMU/xl1/MGnr?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?QlB4SWlDbTZ0Mk9weFh1RGQ0UldFN3QvVHhOemNoL3l6eUhsL08xZkpXQWFj?=
 =?utf-8?B?anpzYTVJZGtrajdhU1BYL2E1NDE4WTJNSHY4eEtmRTVOZ0ZRQlJIYkUrdksw?=
 =?utf-8?B?WDBBNDFSQ1IwU29vMWxPMGpmMExGaUdXbjlpZ1NpK1pVVjJKVDQ4R0hGS1pa?=
 =?utf-8?B?ZDhocGhSRWxrcjJUWFg4VU14RUV0NkpFK3dQQURSQmhURjVhRDR0Zitwekh6?=
 =?utf-8?B?a3JDeWlnUUo4dk9yaEVuMDhXWHQ4d1JlQlNZUElaTlpIekh0ajg5M1NRc1Mr?=
 =?utf-8?B?S3hFTnh6N0F3TXlSOFB6TjRmKy9vN0lkdEV6YTcxVXRVL2FzdFJONjB1TzZ2?=
 =?utf-8?B?TzZTS1V2b1dyOFVmWEMweE12ZytpMEw5Z2Jma2YreTZjb2tZTmpKQTlGcFVP?=
 =?utf-8?B?ejRoMmswMlZzRDYxZE51ZWpDS09oV2ZwZERzdnlqY0NCZzlnMFkwc2ZNRnVl?=
 =?utf-8?B?RGhKTUJZZi9hMzBYakNZVkxScGZ3SGR1ZHVnSmRHTTQrQWtTWENqbk9kOWc2?=
 =?utf-8?B?VTBPcVZ2VS9HNGNFTWxzNUpJa1gwL1E1bzd0c01WaGlKTjN1cjl3NE8ycXhy?=
 =?utf-8?B?cU5xcHF0MW5HN2hIMzkzaXFMSEdpclp4d2lIRE1wMTdUSEQrZi9yM3luK0M5?=
 =?utf-8?B?MFRmUkhsVVJxYXE3VmVPNWpUa3JuaFh3cmNreEg2WTVhOHNqV1ZpTUM0eHBM?=
 =?utf-8?B?RG1yMlZlN1hBZHZIdVVYN3AzSkFycEM0Um9lNWQ0eDdPSjlzNEhQRVZxQThK?=
 =?utf-8?B?cVFBYjByb2FTTWQ4WXRpUVdJeXVySzUwcCt5ZmwxOWRsTmQrdkxxaUh0U2lC?=
 =?utf-8?B?ZlArdVhCS1ZzWUxwbmk0ZlA4YUd3Q0U1MFh5TnRnZW1HTHRMK1hrdzVoalQ3?=
 =?utf-8?B?RWtNNkpFVmlCcXA0TEVSYVY2V3E5LzZQVm9wMCtjWW1vcllCTFdYVFcrNmo4?=
 =?utf-8?B?UU1jVjQrWlMzMXFja1g1ZHJIaHNvM3ZFRVVVT3lMZTZwM3RQNnJwUGRhaTdh?=
 =?utf-8?B?dWpNTjUzanhUc0JERTQwL0lyelBUVXVqanRvdFA4SlMzbnpsUkxJUG01RmFu?=
 =?utf-8?B?RXIvZkhCQTMyc2pWcmNjMnJFb1ZKZk1QWENnMENRd2VEaXhQNlpsZVVOTWp1?=
 =?utf-8?B?R21BN05tMkVHZTNVUEIyMVhKM0xIS3p0eGwrS29wUUduS3NKZDJmWE9xZ1FQ?=
 =?utf-8?B?MTlxS3Nna1FhaWJzTjNjMVlNcThqS0JJekh1Z2ZsUTNMc0lnaVVCckFUTFlr?=
 =?utf-8?B?dlE0SDlsTWkwYlRtR0pQMzBpZkp5MEhmUndlMU9hK0RyamwvR2c5VWdoUmRH?=
 =?utf-8?B?bTkvamtiZlVud3pKOFR0d1dDTGtZYTVsdXQ2NmQ0K1JOaU9sWUc3VzYzL0pE?=
 =?utf-8?B?WDVXVWJBNmN5M0t2b21FZXI4YXVCaWRuVHMyL3d5eGczV0xxT214NmFBRmJD?=
 =?utf-8?B?b0NxWmt1UGJja25GYVdvc0QySW1DNW1mVEVCc0dIUnFqL21acE00ZFhiNnhB?=
 =?utf-8?B?aGQ2b2RpMTVnR3hjdTFIb2VXcE1nQkRDQ0lXSUpFK0hUaWx3NktkcjFZd2pk?=
 =?utf-8?B?R2FpMjlzTDk5NDA1RnJEaEhmYktCZ2M1VmVsbzhFTnlPZnNxSWxTYUlDdGFL?=
 =?utf-8?B?VTMzdk51Yzk4RDZtd2s2TkFXM081eXlOb21QTzUyUVJRMnB2UjhYQUNkK3BU?=
 =?utf-8?B?M3VlUGFGcm5KWE85VDhUcVhpdVVlTHY2SVNmSzFSa0hQVmJZcWtSVHNLa0sw?=
 =?utf-8?B?cmNGaGpNWlpCTGkrUk94aGg5L3Q2aFhXdWUyZXpJU1Y1ZnhIbjlHbzBYL0Vs?=
 =?utf-8?B?UjN0d3h2QlpvcGRSYUNWTVMyNFNiVjN3WGNQRkZoVUJHR1N2bm92V001SVVm?=
 =?utf-8?B?NHVXRHg1STZ4eHREOVFmb29nb0N1WHc5Ykh2MS9GQldKOW5EeUdJVXJqbXJQ?=
 =?utf-8?B?cWxEQ04wbkQwbHFLN3ROMGp1STRhcm9pYTUrSFNSWjFTYVBRUGpzYjJmN3Bi?=
 =?utf-8?B?WC9ZbVV6UlZpcW5CRW5HQTBQYmt3S3JpcXArS0pZZGhLOTF4d0ZUbDhZbzNX?=
 =?utf-8?B?eGRBNEl6akJBdGcwRTdkUXVOZkZtWDk0M3VKYlVUNW8vdlYwd3hWSUtsRU5u?=
 =?utf-8?Q?GyIw=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e77b483-eb06-45ef-0be1-08dd654ab4a8
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 11:56:09.1001
 (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: I88gW23TXx94KRk73Ur/dQ2xMV19eGlBvqxPDSpAQ8WWkWxQ0LfypFzM77YNdk5h
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7156



On 13/03/2025 19:28, Ayan Kumar Halder wrote:
> Define enable_boot_cpu_mm() for the Armv8-R AArch32.
> 
> Like boot-time page table in MMU system, we need a boot-time MPU protection
> region configuration in MPU system so Xen can fetch code and data from normal
> memory.
> 
> To do this, Xen maps the following sections of the binary as separate regions
> (with permissions) :-
> 1. Text (Read only at EL2, execution is permitted)
> 2. RO data (Read only at EL2)
> 3. RO after init data and RW data (Read/Write at EL2)
> 4. Init Text (Read only at EL2, execution is permitted)
> 5. Init data and BSS (Read/Write at EL2)
> 
> Before creating a region, we check if the count exceeds the number defined in
> MPUIR_EL2. If so, then the boot fails.
> 
> Also we check if the region is empty or not. IOW, if the start and end address
> are same, we skip mapping the region.
> 
> One needs to set up HMAIR0 and HMAIR1 registers in enable_mpu(). The register
> configurations are the same as in enable_mmu().
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from
> 
> v1 -
> 
> 1. enable_mpu() now sets HMAIR{0,1} registers. This is similar to what is
> being done in enable_mmu(). All the mm related configurations happen in this
> function.
> 
> 2. Fixed some typos.
> 
>  xen/arch/arm/arm32/Makefile           |   1 +
>  xen/arch/arm/arm32/mpu/Makefile       |   1 +
>  xen/arch/arm/arm32/mpu/head.S         | 170 ++++++++++++++++++++++++++
>  xen/arch/arm/include/asm/cpregs.h     |   4 +
>  xen/arch/arm/include/asm/mpu/cpregs.h |  21 ++++
>  5 files changed, 197 insertions(+)
>  create mode 100644 xen/arch/arm/arm32/mpu/Makefile
>  create mode 100644 xen/arch/arm/arm32/mpu/head.S
>  create mode 100644 xen/arch/arm/include/asm/mpu/cpregs.h
> 
> diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
> index 40a2b4803f..537969d753 100644
> --- a/xen/arch/arm/arm32/Makefile
> +++ b/xen/arch/arm/arm32/Makefile
> @@ -1,5 +1,6 @@
>  obj-y += lib/
>  obj-$(CONFIG_MMU) += mmu/
> +obj-$(CONFIG_MPU) += mpu/
>  
>  obj-$(CONFIG_EARLY_PRINTK) += debug.o
>  obj-y += domctl.o
> diff --git a/xen/arch/arm/arm32/mpu/Makefile b/xen/arch/arm/arm32/mpu/Makefile
> new file mode 100644
> index 0000000000..3340058c08
> --- /dev/null
> +++ b/xen/arch/arm/arm32/mpu/Makefile
> @@ -0,0 +1 @@
> +obj-y += head.o
> diff --git a/xen/arch/arm/arm32/mpu/head.S b/xen/arch/arm/arm32/mpu/head.S
> new file mode 100644
> index 0000000000..40648ce1a8
> --- /dev/null
> +++ b/xen/arch/arm/arm32/mpu/head.S
> @@ -0,0 +1,170 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Start-of-day code for an Armv8-R MPU system.
> + */
> +
> +#include <asm/arm32/sysregs.h>
> +#include <asm/early_printk.h>
> +#include <asm/page.h>
> +
> +/* Backgroud region enable/disable */
> +#define SCTLR_ELx_BR    BIT(17, UL)
> +
> +#define REGION_TEXT_PRBAR       0x18    /* SH=11 AP=10 XN=0 */
> +#define REGION_RO_PRBAR         0x1D    /* SH=11 AP=10 XN=1 */
> +#define REGION_DATA_PRBAR       0x19    /* SH=11 AP=00 XN=1 */
> +#define REGION_DEVICE_PRBAR     0x11    /* SH=10 AP=00 XN=1 */
> +
> +#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
> +#define REGION_DEVICE_PRLAR     0x09    /* NS=0 ATTR=100 EN=1 */
> +
> +/*
Lines from here...

> + * Macro to prepare and set a EL2 MPU memory region.
> + * We will also create an according MPU memory region entry, which
> + * is a structure of pr_t,  in table \prmap.
> + *
> + * sel:         region selector
> + * base:        reg storing base address
> + * limit:       reg storing limit address
> + * prbar:       store computed PRBAR_EL2 value
> + * prlar:       store computed PRLAR_EL2 value
> + * maxcount:    maximum number of EL2 regions supported
> + * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
> + *              REGION_DATA_PRBAR
> + * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
> + *              REGION_NORMAL_PRLAR
> + *
> + * Preserves \maxcount
> + * Output:
> + *  \sel: Next available region selector index.
> + * Clobbers \base, \limit, \prbar, \prlar
Just a question: I know it was done like that for arm64 but where does this
format of specifying registers in the comment also with leading '\' come from?
At least for me, it reads odd.

> + *
> + * Note that all parameters using registers should be distinct.
> + */
> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
> +    /* Check if the region is empty */
> +    cmp   \base, \limit
> +    beq   1f
> +
> +    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
> +    cmp   \sel, \maxcount
> +    bge   fail_insufficient_regions
> +
> +    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
> +    and   \base, \base, #MPU_REGION_MASK
> +    mov   \prbar, #\attr_prbar
> +    orr   \prbar, \prbar, \base
> +
> +    /* Limit address should be inclusive */
> +    sub   \limit, \limit, #1
> +    and   \limit, \limit, #MPU_REGION_MASK
> +    mov   \prlar, #\attr_prlar
> +    orr   \prlar, \prlar, \limit
> +
... to here (40+ in total) are exactly the same for arm64 and arm32 MPU. I don't
think it's great to have this code duplication. There are/will be also other
functions that will be the same. Can we have a common MPU head.S or a header
file to avoid duplication?

> +    mcr   CP32(\sel, PRSELR_EL2)
> +    isb
> +    mcr   CP32(\prbar, PRBAR_EL2)
> +    mcr   CP32(\prlar,  PRLAR_EL2)
> +    dsb   sy
> +    isb
> +
> +    add   \sel, \sel, #1
> +
> +1:
> +.endm
> +
> +/*
> + * Failure caused due to insufficient MPU regions.
> + */
No need for multi-line comment for a single sentence.

> +FUNC_LOCAL(fail_insufficient_regions)
> +    PRINT("- Selected MPU region is above the implemented number in MPUIR_EL2 -\r\n")
> +1:  wfe
> +    b   1b
> +END(fail_insufficient_regions)
> +
> +/*
> + * Enable EL2 MPU and data cache
> + * If the Background region is enabled, then the MPU uses the default memory
> + * map as the Background region for generating the memory
> + * attributes when MPU is disabled.
> + * Since the default memory map of the Armv8-R AArch32 architecture is
> + * IMPLEMENTATION DEFINED, we intend to turn off the Background region here.
> + *
> + * Clobbers x0
> + *
No need for this extra line in comment

> + */
> +FUNC_LOCAL(enable_mpu)
> +    /* Set up memory attribute type tables */
> +    mov_w r0, MAIR0VAL
> +    mov_w r1, MAIR1VAL
> +    mcr   CP32(r0, HMAIR0)
> +    mcr   CP32(r1, HMAIR1)
> +
> +    mrc   CP32(r0, HSCTLR)
> +    bic   r0, r0, #SCTLR_ELx_BR       /* Disable Background region */
> +    orr   r0, r0, #SCTLR_Axx_ELx_M    /* Enable MPU */
> +    orr   r0, r0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
> +    mcr   CP32(r0, HSCTLR)
> +    isb
> +
> +    ret
> +END(enable_mpu)
> +
> +/*
> + * Maps the various sections of Xen (decsribed in xen.lds.S) as different MPU
> + * regions.
> + *
> + * Clobbers r0
> + *
No need for this extra line in comment

> + */
> +
No empty line here

> +FUNC(enable_boot_cpu_mm)
This entire function, except for reading sysreg and register prefix (x,r) is the
same between arm64 and arm32. This could also be made common.

> +    /* Get the number of regions specified in MPUIR_EL2 */
> +    mrc   CP32(r5, MPUIR_EL2)
> +    and   r5, r5, #NUM_MPU_REGIONS_MASK
> +
> +    /* x0: region sel */
> +    mov   r0, #0
> +
> +    /* Xen text section. */
> +    ldr   r1, =_stext
> +    ldr   r2, =_etext
> +    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_TEXT_PRBAR
> +
> +    /* Xen read-only data section. */
> +    ldr   r1, =_srodata
> +    ldr   r2, =_erodata
> +    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_RO_PRBAR
> +
> +    /* Xen read-only after init and data section. (RW data) */
> +    ldr   r1, =__ro_after_init_start
> +    ldr   r2, =__init_begin
> +    prepare_xen_region r0, r1, r2, r3, r4, r5
> +
> +    /* Xen code section. */
> +    ldr   r1, =__init_begin
> +    ldr   r2, =__init_data_begin
> +    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_TEXT_PRBAR
> +
> +    /* Xen data and BSS section. */
> +    ldr   r1, =__init_data_begin
> +    ldr   r2, =__bss_end
> +    prepare_xen_region r0, r1, r2, r3, r4, r5
> +
> +#ifdef CONFIG_EARLY_PRINTK
> +    /* Xen early UART section. */
> +    ldr   r1, =CONFIG_EARLY_UART_BASE_ADDRESS
> +    ldr   r2, =(CONFIG_EARLY_UART_BASE_ADDRESS + CONFIG_EARLY_UART_SIZE)
> +    prepare_xen_region r0, r1, r2, r3, r4, r5, attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
> +#endif
> +
> +    b    enable_mpu
> +    ret
> +END(enable_boot_cpu_mm)
> +
> +/*
> + * Local variables:
> + * mode: ASM
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
> index aec9e8f329..6019a2cbdd 100644
> --- a/xen/arch/arm/include/asm/cpregs.h
> +++ b/xen/arch/arm/include/asm/cpregs.h
> @@ -1,6 +1,10 @@
>  #ifndef __ASM_ARM_CPREGS_H
>  #define __ASM_ARM_CPREGS_H
>  
> +#ifdef CONFIG_MPU
> +#include <asm/mpu/cpregs.h>
> +#endif
> +
>  /*
>   * AArch32 Co-processor registers.
>   *
> diff --git a/xen/arch/arm/include/asm/mpu/cpregs.h b/xen/arch/arm/include/asm/mpu/cpregs.h
> new file mode 100644
> index 0000000000..bd17a8c75a
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/mpu/cpregs.h
> @@ -0,0 +1,21 @@
> +#ifndef __ASM_ARM_MPU_CPREGS_H
Missing SPDX specifier?

> +#define __ASM_ARM_MPU_CPREGS_H
> +
> +#define HMPUIR          p15,4,c0,c0,4
> +
> +/* CP15 CR6: MPU Protection Region Base/Limit/Select Address Register */
> +#define HPRSELR         p15,4,c6,c2,1
> +#define PRBAR_EL2       p15,4,c6,c3,0
> +#define PRLAR_EL2       p15,4,c6,c8,1
> +
> +#define MPUIR_EL2               HMPUIR
> +#define PRSELR_EL2              HPRSELR
> +
> +#endif
Please provide comment /* __ASM_ARM_MPU_CPREGS_H */

> +
> +/*
> + * Local variables:
> + * mode: ASM
> + * indent-tabs-mode: nil
> + * End:
> + */

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 11:58:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 11:58:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916632.1321689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu975-0003UP-QK; Mon, 17 Mar 2025 11:58:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916632.1321689; Mon, 17 Mar 2025 11:58: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 1tu975-0003UI-NU; Mon, 17 Mar 2025 11:58:35 +0000
Received: by outflank-mailman (input) for mailman id 916632;
 Mon, 17 Mar 2025 11:58: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu973-0003UC-T8
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 11:58:33 +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 263069c6-0327-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 12:58:32 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3913fdd003bso2069816f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 04: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
 ffacd0b85a97d-395cb7eb9ccsm15012209f8f.96.2025.03.17.04.58.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 04:58: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: 263069c6-0327-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742212712; x=1742817512; 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=rgEO0PeoKySJPi2pZcFUggHZkaqCfYA/m5Z8JDn1H/E=;
        b=bsrMnmx2BQEi+D0XQM54pydClKRwUjyZSWpXMjqHJ7HA7DCOTLPA1wL7VST9sHR3F9
         eUNyl1/d0XsCSCHpj8BI/2o5hrrOzAUJyYsNc5Ls0wIEK2rOMTgtUnKlIj0TJMW2/fGY
         DUlJzXSfWNQaORGkbgQBqr3HhNqJ7C2d4+bP0qZa4YdkbPQV8hqz5eRGt5xXiMvfYpN3
         Aeq6amAQ8tHsebn8z/SJyShX7NBZ2Ob3cn4vvXVUHjg1G9v+tV/1HQSAQ0sFpC4EnlCc
         4+xGOdr1P33RLAg+tsqDz1zHMuuHwjpUvmzYCml/3208jXVDBzOK+9WNX1fI0KGt/eTu
         p2xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742212712; x=1742817512;
        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=rgEO0PeoKySJPi2pZcFUggHZkaqCfYA/m5Z8JDn1H/E=;
        b=A/mB+BtOdBm0X9H35F4pGUwu34AcU9I9SKV3BmtU9L/StJCB4ejoxfMNgoXcPOs/YW
         ZuY8tJeS4DdeDcWaN4ncJwFV6eOW30Gq3fTmGIZleq6IhZGydThqLI5TO4APkpriqzVm
         XH07047wYOVTPYvZklnKyBOJ7k5Vjt/dJV9we/m8hEO8n3JBw1fHB4SjLpqFNtAQKltT
         jH2M4gVR33ADY/ZWxehLEgsw/oh4Be/IyvO0w6fkIL/25+XPD9BcfMr0St8EMykIstE/
         DDfLIjAEozHti/+5XEvWM0GhqLNfkqG5QDe+Yibk01KqAPi3PGaUJ1jNElHn4aHaPitb
         DH8w==
X-Forwarded-Encrypted: i=1; AJvYcCU5+gy6441OfZo2AsKzc0mjK0+m60JJ7cePR+8W+2Yev1PSRTaxpilvKzHTjkgXN+TLKBg7KQ9swHs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzzXg/lIZQCdObGykordNQgMl5sg4ggeDXSBPN6n8bmlRq4+zk5
	Xs+9UNTaHO7OIN7Wee0DtLnzuqEi5NDI3FL+4MteKTsie8jD+//j9gbqQQ/RZQ==
X-Gm-Gg: ASbGncvSj1h6l9IaBcPlV78rCzOX0GJ7pg/bHtrVCFszPMujJvqeOSLx4oH77Un7GY3
	0rnaVeqUgkCeSyJnjJPfzoR8Bho1proFh9wzEgGHCI7CfQBJgiAiT/YK39sMPayME3pXcwzrLOt
	FHxZ08HHqjZPhOSgTQ0lR2UThTvo9Kz9E+PHQg7uYwVU1k4akTsekgWwA6JRGPERzexhU7Q/4UM
	Rk/cTMtjCwnPxuDsIIuPdasfCi3E7IbGJohawTAPInissKUhDTwJBd7kyxxJIGsJJWiVRP/IBxA
	6TKmiF5tUfdzaGm3sBKxNXcU+ByYm0p9KhUXd+aBseWTFVSS5AWI2MVsDd02WhxpH01BR+r9YRm
	U4bSf8G12kmu6WtF3HAp3V8jyIzTRbg==
X-Google-Smtp-Source: AGHT+IEAb0XtIWUoe0e/KMpTBHVf1rtqiF0dt8dTC2sKyDKLP14eLCznxCPYJmQOW2EcdmSSlA3T/Q==
X-Received: by 2002:a05:6000:1562:b0:38d:dc03:a3d6 with SMTP id ffacd0b85a97d-395b70b7668mr16673892f8f.4.1742212712418;
        Mon, 17 Mar 2025 04:58:32 -0700 (PDT)
Message-ID: <b7c1c9e3-8663-4ac4-baf2-969df742ff38@suse.com>
Date: Mon, 17 Mar 2025 12:58:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/8] x86/pv: Store the data segment selectors outside of
 cpu_user_regs
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -1211,10 +1211,10 @@ int arch_set_info_guest(
>          v->arch.user_regs.rflags            = c.nat->user_regs.rflags;
>          v->arch.user_regs.rsp               = c.nat->user_regs.rsp;
>          v->arch.user_regs.ss                = c.nat->user_regs.ss;
> -        v->arch.user_regs.es                = c.nat->user_regs.es;
> -        v->arch.user_regs.ds                = c.nat->user_regs.ds;
> -        v->arch.user_regs.fs                = c.nat->user_regs.fs;
> -        v->arch.user_regs.gs                = c.nat->user_regs.gs;
> +        v->arch.pv.es                       = c.nat->user_regs.es;
> +        v->arch.pv.ds                       = c.nat->user_regs.ds;
> +        v->arch.pv.fs                       = c.nat->user_regs.fs;
> +        v->arch.pv.gs                       = c.nat->user_regs.gs;
>  
>          if ( is_pv_domain(d) )
>              memcpy(v->arch.pv.trap_ctxt, c.nat->trap_ctxt,
> @@ -1238,10 +1238,10 @@ int arch_set_info_guest(
>          v->arch.user_regs.eflags            = c.cmp->user_regs.eflags;
>          v->arch.user_regs.esp               = c.cmp->user_regs.esp;
>          v->arch.user_regs.ss                = c.cmp->user_regs.ss;
> -        v->arch.user_regs.es                = c.cmp->user_regs.es;
> -        v->arch.user_regs.ds                = c.cmp->user_regs.ds;
> -        v->arch.user_regs.fs                = c.cmp->user_regs.fs;
> -        v->arch.user_regs.gs                = c.cmp->user_regs.gs;
> +        v->arch.pv.es                       = c.nat->user_regs.es;
> +        v->arch.pv.ds                       = c.nat->user_regs.ds;
> +        v->arch.pv.fs                       = c.nat->user_regs.fs;
> +        v->arch.pv.gs                       = c.nat->user_regs.gs;

I assume you mean c.cmp-> here. Then:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:00:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:00:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916646.1321699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu98z-000538-7Z; Mon, 17 Mar 2025 12:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916646.1321699; Mon, 17 Mar 2025 12:00: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 1tu98z-000531-45; Mon, 17 Mar 2025 12:00:33 +0000
Received: by outflank-mailman (input) for mailman id 916646;
 Mon, 17 Mar 2025 12:00: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tu98x-00052M-ON
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:00:31 +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 6c5a2061-0327-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:00:30 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so11186715e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:00:30 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c888117csm14554673f8f.44.2025.03.17.05.00.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 05:00: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: 6c5a2061-0327-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742212830; x=1742817630; 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=D2JAhd7GmdFIYPps4XaMDbMo3rMqkzyZ6F79WNdeG0I=;
        b=S8/+no/G5jgfg4kKI18XtZuf+WyJPNPUjnz1QNH+LYktLd67FKYzDBzd2iOdSrtrxy
         tfAPC1904Lpqk0uEV7BWbA8xGS6h6ZjtzAV6NkGKHrqXC7ckd6fDVaywnsFMypFktKG8
         getu/cGlpk1tVM0wAWxKZZljvZYTk/03+IlPY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742212830; x=1742817630;
        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=D2JAhd7GmdFIYPps4XaMDbMo3rMqkzyZ6F79WNdeG0I=;
        b=dn/TJ/HMTtJ4TFjELarqWpCN9JyLL4rhgh/8PU2lf+YNArnciU+6lNXzT7GBJUmIqJ
         +EwBHzbEGrB9uTO0L7MCtqzzDcKGwoiW2XLN/pDjRRAi5KXx1zn6HXNl5gN0nu+s6dnB
         gVzKXW+C1RuS4fMWL6Bi/2Ov2b1NEVhlXZg3Rzq/5IKQHguP1giIUHFqDWEB1r8ruOo+
         sqSAdUrCLsltSjhze0AWgB/7DdYjBMKifChx0W0HQ8VsFzbRIMEKAKb2MDZCjCNLE/qk
         dNFevQTAuokhsWOjPSe1mgz3wqHP3hr1Fdt1OshVbwp3DLZCJ+D0I+5JogCm14NJoU2w
         w1AA==
X-Forwarded-Encrypted: i=1; AJvYcCV/cN0cc961HXv3ruNR7NvNdH73QAGG7hbN8W792MGAi12fq5EkjB6BkDe5vqqA4pJQm5dHzWeMgKg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxGlw2kRQzvXMdx+96pEdA2UZbOmMINRz7Kj5Ahu0Tz5zJMNyIQ
	WzFVX/eLvLZtcbp4G0A3kCOvXLsABkKSUo2QRhz31IRoChQYwIatDJ0u3B3UdNg=
X-Gm-Gg: ASbGncv79M89zgLndRtV3tZuFGFRI+3Z0YKvXEw2VQmgQUU+G5tc6632SYwc8jQBgad
	1uk3e0XfxJWLsTils/t+Jiiq0q0HxM1U6IcTl4wQx42Coh91Nx7sY9APz8qIQdxY8Hw9/ORhF+Z
	858NL8aK2BRyIOrKuxxVJfzJ6UUSPPWYm5k+Vj7I/NIvRTjWuZL8IyBbJ+vU7IJDHueyaHNJQS/
	Ztw38J+/9VE5rkPi3wkZxLBUjj+YbX7S/AAMtcgA5nHZdyx3MEC5WWSQ3YDJhjCcpsEYv1HzxMW
	cbiaY+B2SxO2F+X3G0SqTipAXUi17GX7kbg2D0IYWYZ+h5+8+8mGoGpiqL5h/6+wf8UtDtfiKJ9
	pQS2EDvh+
X-Google-Smtp-Source: AGHT+IHyYBWpGCMRy9UBwJp0zo6LUrD3o8WJwevJ83xVgDfCk1fGTNcTrx/otnCD7E7Oihyf9Szynw==
X-Received: by 2002:a05:6000:1868:b0:38d:d603:ff46 with SMTP id ffacd0b85a97d-3971d3330ddmr11692943f8f.14.1742212828390;
        Mon, 17 Mar 2025 05:00:28 -0700 (PDT)
Message-ID: <e4216d3c-7db5-43fa-a7f6-3f2e6c198b87@citrix.com>
Date: Mon, 17 Mar 2025 12:00:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/8] x86/pv: Store the data segment selectors outside of
 cpu_user_regs
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-7-andrew.cooper3@citrix.com>
 <b7c1c9e3-8663-4ac4-baf2-969df742ff38@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: <b7c1c9e3-8663-4ac4-baf2-969df742ff38@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 11:58 am, Jan Beulich wrote:
> On 11.03.2025 22:10, Andrew Cooper wrote:
>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -1211,10 +1211,10 @@ int arch_set_info_guest(
>>          v->arch.user_regs.rflags            = c.nat->user_regs.rflags;
>>          v->arch.user_regs.rsp               = c.nat->user_regs.rsp;
>>          v->arch.user_regs.ss                = c.nat->user_regs.ss;
>> -        v->arch.user_regs.es                = c.nat->user_regs.es;
>> -        v->arch.user_regs.ds                = c.nat->user_regs.ds;
>> -        v->arch.user_regs.fs                = c.nat->user_regs.fs;
>> -        v->arch.user_regs.gs                = c.nat->user_regs.gs;
>> +        v->arch.pv.es                       = c.nat->user_regs.es;
>> +        v->arch.pv.ds                       = c.nat->user_regs.ds;
>> +        v->arch.pv.fs                       = c.nat->user_regs.fs;
>> +        v->arch.pv.gs                       = c.nat->user_regs.gs;
>>  
>>          if ( is_pv_domain(d) )
>>              memcpy(v->arch.pv.trap_ctxt, c.nat->trap_ctxt,
>> @@ -1238,10 +1238,10 @@ int arch_set_info_guest(
>>          v->arch.user_regs.eflags            = c.cmp->user_regs.eflags;
>>          v->arch.user_regs.esp               = c.cmp->user_regs.esp;
>>          v->arch.user_regs.ss                = c.cmp->user_regs.ss;
>> -        v->arch.user_regs.es                = c.cmp->user_regs.es;
>> -        v->arch.user_regs.ds                = c.cmp->user_regs.ds;
>> -        v->arch.user_regs.fs                = c.cmp->user_regs.fs;
>> -        v->arch.user_regs.gs                = c.cmp->user_regs.gs;
>> +        v->arch.pv.es                       = c.nat->user_regs.es;
>> +        v->arch.pv.ds                       = c.nat->user_regs.ds;
>> +        v->arch.pv.fs                       = c.nat->user_regs.fs;
>> +        v->arch.pv.gs                       = c.nat->user_regs.gs;
> I assume you mean c.cmp-> here. Then:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Oops, yes I do.Â  Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:15:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:15:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916659.1321710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9NK-0000J2-E4; Mon, 17 Mar 2025 12:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916659.1321710; Mon, 17 Mar 2025 12:15: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 1tu9NK-0000Iv-9N; Mon, 17 Mar 2025 12:15:22 +0000
Received: by outflank-mailman (input) for mailman id 916659;
 Mon, 17 Mar 2025 12:15: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu9NJ-0000Ip-2a
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:15:21 +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 7dc78427-0329-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 13:15:18 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso20255915e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:15: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-395c7df3537sm14880293f8f.8.2025.03.17.05.15.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 05:15: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: 7dc78427-0329-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742213718; x=1742818518; 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=D+iY/t+aG1F0v/mba54n10zeHBRwBrhrkn1rRM7r+GU=;
        b=S//U63nAvk1bwXhKWitrQkTV7m6fFlGuz6BtD9GuflY9jGLI5JdmlSlxz91mFCDMTO
         Au4zhcngkENHgXN7cQBIGmVNq4qzJCVNRXQ2j/N1VzBtlCQANNC6WveYR47MsMS1IztL
         kZDbHY525SMmh/KOZL83vmsYrZI22GEDZiQfxBBhSajtMyyrxkKOt40q6rqz7AFY9aIg
         2+eyWKFgePlls93e75IG0tlQ3jN0zg9odoXLysQp76FTytMpMf5u9u5VwNdoDi0ieB5P
         /a+NUzC7OsPsEH+ZDxVLQRsC2yGfqzvR/fA5D0NS4Mu2Ump9v0UGjH425W7niPOzOl1c
         V7IQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213718; x=1742818518;
        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=D+iY/t+aG1F0v/mba54n10zeHBRwBrhrkn1rRM7r+GU=;
        b=M46FSrejxcQhT+lIDpCtjW6S5P9QJL05zjuFtyhqzkFvCJtUeWvlRg9L0xgDEJjAOV
         c/GGcSYa1c7Y3qAlKqAjZ4qQXw+VvEMdJq9Rj2/l+/Kamd4EGQD9B2588gsooKCz5NDP
         32B9Fd/RDgkYU4sQo4GoQrxtElygHmPJT1XNm0yIXvjV4vFIJdODUcn4pW0r0Wa9n3FF
         9ybfFMIolidilopLLUN5kP51wfOkDmQb7uujrOExZiE4Nq3wKqC4/kAswDdxDnAtarhJ
         9T3bEGz3EtSl8DrZt9qlUFxENOjbn3NOmlCLF7/WF1LhGC8PqsTJ1lA5MCY/VCyFkzAh
         wsvg==
X-Forwarded-Encrypted: i=1; AJvYcCXSEPQlnCH1hCnriG/2yxHlGBQ/OmBCW+kMs9QyzreBRTV7tW7MaUQ5OQp0MV1xCbaaRITM62mnNgU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxgdB+gC76OSTLFpBbH6tK6teYxwt1ZdrP4HmUNofku2h3TTE1E
	D7V7RNxJYVOVACYbd+VXktwl6Htai9I2QDA/eNPRLw15SxgXnHizLHAJxCVQvg==
X-Gm-Gg: ASbGncsbH3aNp6IxgBqD8U1s9tzAUBOhc+iUcym9aBcWX0cD41bFHZa+a/FCXx/deX9
	1OcJEkBYjRLenhWNkkTyghKCW3O/5B5qKGHWGxmI6Lpmdrf5Fe83py7b8cnnhqBIULNFmJZ62bZ
	KTgyV1KFv9EB0PW/OeyiUrTGiAHdRO6N4s99PrNQg3vXAK95twlVEJK3n2aoX7/dMMREoyLaPxh
	qlbFrXMWIVij5es88Ra0Z87kTjVNcYW5bUBxtP6EzaBKMzmebXVHtfOep4gQCLQaVg8Kj4d0+ED
	EZCv0TTPhI6T1k49oBq+MS2poIGuMKHWtmrw5YZZhAeFJwXZmZKc2l0MSFj50c4TUE2t+n2zo1V
	rji1MsIeoCR4QdLO5awzInuRkM5SKXQ==
X-Google-Smtp-Source: AGHT+IGNNlGNGfPeBV6DyJQAz73rllUQWPjm05YwM09BynYpp4xDjMT3rulqdpcupzDWsKbZUeWjeQ==
X-Received: by 2002:a05:600c:190e:b0:43c:f513:9585 with SMTP id 5b1f17b1804b1-43d1ec808ebmr131458115e9.13.1742213718186;
        Mon, 17 Mar 2025 05:15:18 -0700 (PDT)
Message-ID: <8edba542-9844-409e-bbf0-5ff1c9287a10@suse.com>
Date: Mon, 17 Mar 2025 13:15:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/8] x86/public: Split the struct cpu_user_regs type
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-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: <20250311211043.3629696-8-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> In order to support FRED, we're going to have to remove the {ds..gs} fields
> from struct cpu_user_regs, meaning that it is going to have to become a
> different type to the structure embedded in vcpu_guest_context_u.
> 
> struct cpu_user_regs is a name used in common Xen code (i.e. needs to stay
> using this name), so renaming the public struct to be guest_user_regs in Xen's
> view only.
> 
> Introduce a brand hew cpu-user-regs.h, currently containing a duplicate
> structure.  This removes the need for current.h to include public/xen.h, and
> highlights a case where the emulator was picking up cpu_user_regs
> transitively.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Albeit, besides a few remarks, a suggestion below.

> Jan: Is this what you intended?

Yes.

> cpu_user_regs_t and the guest handle don't seem to be used anywhere.  I'm
> tempted to exclude them from Xen builds.

I concur. We can always re-expose them should they be needed somewhere.

> --- /dev/null
> +++ b/xen/arch/x86/include/asm/cpu-user-regs.h
> @@ -0,0 +1,69 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#ifndef X86_CPU_USER_REGS_H
> +#define X86_CPU_USER_REGS_H
> +
> +#define DECL_REG_LOHI(which) union { \
> +    uint64_t r ## which ## x; \
> +    uint32_t e ## which ## x; \
> +    uint16_t which ## x; \
> +    struct { \
> +        uint8_t which ## l; \
> +        uint8_t which ## h; \
> +    }; \
> +}
> +#define DECL_REG_LO8(name) union { \
> +    uint64_t r ## name; \
> +    uint32_t e ## name; \
> +    uint16_t name; \
> +    uint8_t name ## l; \
> +}
> +#define DECL_REG_LO16(name) union { \
> +    uint64_t r ## name; \
> +    uint32_t e ## name; \
> +    uint16_t name; \
> +}
> +#define DECL_REG_HI(num) union { \
> +    uint64_t r ## num; \
> +    uint32_t r ## num ## d; \
> +    uint16_t r ## num ## w; \
> +    uint8_t r ## num ## b; \
> +}

Can we try to avoid repeating these here? The #undef-s in the public header are
to keep external consumers' namespaces reasonably tidy. In Xen, since we don't
otherwise use identifiers of these names, can't we simply #ifdef-out those
#undef-s, and then not re-introduce the same (less the two underscores) here?
Granted we then need to include the public header here, but I think that's a
fair price to pay to avoid the redundancy.

> +struct cpu_user_regs
> +{
> +    DECL_REG_HI(15);
> +    DECL_REG_HI(14);
> +    DECL_REG_HI(13);
> +    DECL_REG_HI(12);
> +    DECL_REG_LO8(bp);
> +    DECL_REG_LOHI(b);
> +    DECL_REG_HI(11);
> +    DECL_REG_HI(10);
> +    DECL_REG_HI(9);
> +    DECL_REG_HI(8);
> +    DECL_REG_LOHI(a);
> +    DECL_REG_LOHI(c);
> +    DECL_REG_LOHI(d);
> +    DECL_REG_LO8(si);
> +    DECL_REG_LO8(di);
> +    uint32_t error_code;
> +    uint32_t entry_vector;
> +    DECL_REG_LO16(ip);
> +    uint16_t cs, _pad0[1];
> +    uint8_t  saved_upcall_mask;
> +    uint8_t  _pad1[3];
> +    DECL_REG_LO16(flags); /* rflags.IF == !saved_upcall_mask */
> +    DECL_REG_LO8(sp);
> +    uint16_t ss, _pad2[3];
> +    uint16_t es, _pad3[3];
> +    uint16_t ds, _pad4[3];
> +    uint16_t fs, _pad5[3];
> +    uint16_t gs, _pad6[3];

I had to peek ahead at the last patch to figure why you introduce these 4 fields
(plus their padding) here, just to remove them again. Personally I think it would
be neater if both were folded; nevertheless I'd like to leave this entirely to
you.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:16:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916670.1321719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9O9-0000mu-L7; Mon, 17 Mar 2025 12:16:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916670.1321719; Mon, 17 Mar 2025 12: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 1tu9O9-0000mn-Hl; Mon, 17 Mar 2025 12:16:13 +0000
Received: by outflank-mailman (input) for mailman id 916670;
 Mon, 17 Mar 2025 12: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tu9O8-0000mc-9G
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:16:12 +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 9c8b7192-0329-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 13:16:10 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso20263035e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:16: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-43d2010e0bfsm102256145e9.36.2025.03.17.05.16.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 05:16: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: 9c8b7192-0329-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742213770; x=1742818570; 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=FlLIlBvWAdx5vS5mvjL2/43jQPhKhQrFXVQWoVPlX/8=;
        b=KmdZrs0yJrpp08J66IxgxmHmctZkGXFSWLd66/glRnkNHDMYsnxcU5t0pl0y/PIWz4
         EztF8xaP0BAnBbvLzwNNXBdtn/8NFju/PIZoHOTbw9g6l3zXmFMnezUdA3rJsXE5wvtx
         uslc+v9z3g7ZfhUOjPWj+zozi62wrZCrPsP1+wSkhhHWsqGfrYnZrQAeorDraLeqQtCZ
         utlP3ZWDL/ASDRyluoYwL2Y7TRXCAZycOJYa2VlGGB1GTBckY7qW90+6XInyYe7K8/XJ
         28SvwcAeSc/NUmLcJzRBL7b5I4BUSzSvAHiPWGGUtRVtq2VTh2vB6WSnuVuDhWfoZfre
         84lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213770; x=1742818570;
        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=FlLIlBvWAdx5vS5mvjL2/43jQPhKhQrFXVQWoVPlX/8=;
        b=TCGpBTMB9tryau09Fq9SiJaYR35FP3qW2byerIaieRfStZkK9pLE/TA3R2yZw6NIe8
         mhYULtAEqOFJcNJWSeeccwYEEEZXxvUTKNKXP5ONNwiZtY1huJ1sgHyqG7QuJStoA7N6
         wvbQGqrdLnTgZlyQUW6Vf2oaDLDACRkNn0G+Bd517j03Hj+mGpKiL+u/rs0XO2iO2stg
         6Lp8tY2rBy8SP+IcUjn33qrTH/MjbfhWR5Z3PgJozct5zBDFQk6V0uHqc1Op0jqcavbu
         TPw0u5YJOxj03FNjl/ugI+FQgXFr3epKgAQbmFedP+/eaXYNSJTt9H3NhhDP8xk166MZ
         dvhQ==
X-Forwarded-Encrypted: i=1; AJvYcCVckjQ62kVvlYxwGYVXVw4NBhnrVMU0txjb3gNZ8v3yLubFL12sLaf3WY2srHzy5ZgS0qMZT7PkCv4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6Fg7+JX+4TwFi7hIZN3ZZfB50m9v46/JosP9EnIB/ipsVVNLB
	yWoXNNMg7klK+lCCopO+Il1+T6xavB+eeV82Q6RsRrP2kSh4k9P2J+2EDc9ccA==
X-Gm-Gg: ASbGncsVplp4xHBTi81QfoTE2jNs/OGEbq4H9xDw8psRrpHzG3NC8KFTIAjvQVB/U52
	uf2x9VDrC3kSvH/GX+IX43U97fZB3Ns/Ov5UAS7P4F8SkB58W68Ey8XF9Iu2zjuoDPFTOXslk80
	eBsF3eTUP0uJFGzY4jyjPUuMM3pNnHVdYVQSpImU1gcTo5RzmtwTNow+3fca1fq5WqXci8ZBT6d
	Tvl0cOMN6JA6VxbEEmK2Yryz+H0C0adcbAfUVzt+8/U3KuzsifqKc5nAb2Y9sC6nAIDG/2YO5FA
	iukY+2FfGk8hFMR+HLtZsKGoRAzh1ydbGT6JUbTOw4gjCX/DvEIMZEHjBg5ykmL6v/me5gpA5xh
	4UZenDR0mCX6GuaU/fqJj+lR30e535A==
X-Google-Smtp-Source: AGHT+IFmeUJnDfiEIfCxtFN4sPn0sgOlmnQ9WdRtjut325l8qsRw9cucDNda5H7u11GetsfIaj8TGQ==
X-Received: by 2002:a05:600c:548e:b0:43c:eacc:9d8c with SMTP id 5b1f17b1804b1-43d1eccf5b2mr125210245e9.24.1742213769955;
        Mon, 17 Mar 2025 05:16:09 -0700 (PDT)
Message-ID: <a046ae35-8663-4357-aaef-34a97f1b1584@suse.com>
Date: Mon, 17 Mar 2025 13:16:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 8/8] x86: Drop the vm86 segments selectors from struct
 cpu_user_regs
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-9-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: <20250311211043.3629696-9-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 22:10, Andrew Cooper wrote:
> The data segment registers are part of the on-stack IRET frame when
> interrupting Virtual 8086 mode, but this ceased being relevant for Xen in
> commit 5d1181a5ea5e ("xen: Remove x86_32 build target.") in 2012.
> 
> With all other cleanup in place, delete the fields so we can introduce FRED
> support which uses this space for different data.
> 
> Everywhere which used the es field as an offset in cpu_user_regs needs
> adjusting.  However, they'll change again for FRED, so no cleanup is performed
> at this juncture.
> 
> This also undoes the OoB Read workaround in show_registers(), which can now
> switch back to being simple structure copy.
> 
> No functional change, but a lot of rearranging of stack and struct layout
> under the hood.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:16:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916677.1321729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9OT-0001F7-Rq; Mon, 17 Mar 2025 12:16:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916677.1321729; Mon, 17 Mar 2025 12:16: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 1tu9OT-0001F0-Oq; Mon, 17 Mar 2025 12:16:33 +0000
Received: by outflank-mailman (input) for mailman id 916677;
 Mon, 17 Mar 2025 12:16: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9OS-0000kV-HP
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:16:32 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8edfed1-0329-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:16:32 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-225df540edcso49176785ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:16:32 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7371169c3desm7368772b3a.155.2025.03.17.05.16.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05:16: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: a8edfed1-0329-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213790; x=1742818590; 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=4FOBbhCP0imDkUgjKqMbBcMw13NboVeuC+jJxhcpiYg=;
        b=I9zwihrvetcdZB8nhX6SKX6QOCuHWiiY915EjP5PEeBn5nd4AJnY62rUP9213njjj+
         dfkfdJJuTBhC2Zwfzxh9VohAecKexXJgeTTzOD/2KRcnBHFV2NjTcTkJhS21KJeFMN/G
         mCJjVx7cv272ovK7/u3QSuzNi83NvY+bahbiE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213790; x=1742818590;
        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=4FOBbhCP0imDkUgjKqMbBcMw13NboVeuC+jJxhcpiYg=;
        b=PXAC0vvARZ9ruxFWGoClOuDxAPR7gu7PfXFwzFaS1B1IGKJxlvdk+6I6fN3exA61/M
         zvR1tm01OBJKlmBZwVudqayCTSkZs/qQcWYzXOnO4nUZmvNubEgfAxoSY2MUgGvWGt80
         QxdFWsptA1jsr2NbYlCsOBE1if0D3/Lp5n5sllAs1h12FUr08GEcYkdQupZ62kXe6wGw
         HA40/a6q8KuyzTpIQ7ISxteSqMJvCfG0ZeX+JCNrC1/4t5jNZBY9sinoKCiYCGfv3QqG
         xKn8/E7JdOoch0mPQKS2JVBr/eJHOXPsV/AFX0RO9V22apKVg4zEKFoN5PZ3gew6o3FF
         j4kw==
X-Gm-Message-State: AOJu0YzezqNYXlcWPiw1YE8paJPbFILQ6XUqiFvf0r4kBpjVlXU4QNRu
	RhtnjO6ZUNHB4GkDQVK9pwP/RhvImV8vSYvpclzAueVYx/aKDswTEL9eay1fUD3Ln8kSpjkFb3R
	H
X-Gm-Gg: ASbGncvee/zfNKBmtz8VCAZrc1gf+fqJS2YOzyZ5zotVhssVMXrcp931FWtq7hRv3D4
	YOJZdnloxkkTWFn7D3j5tfc72zH6fZjTo0fiYrARr1zPBDPP3qCIHF/0HXqIgqGovEEfC7LxkM/
	AhIGJ6AylYG+gVIsEDzE3+d991XDPJpFF4f7zPEuFheXNcLMw/ZIfh4taXKLKISUL9hbhcDlaZv
	naZG0+L5gwc8Ewy9tqgdk2GKSlOmiH2Upn6yeRyfdvv34JfGQt0KhCq0dYC4NCtoDDDk+p6ruY+
	0QFz21WxbFehLhujRvbs6xfr2FJ17fmn6rvSzOrto4dg3Ang5sizECo=
X-Google-Smtp-Source: AGHT+IHujT+Wo9PhSePZ4ffaBUfBR8oQHSQsDQgGhoWR920enGK+d78uzn7H6xNSyWVz4JXhpdgxjw==
X-Received: by 2002:a05:6a00:80e:b0:736:b923:5323 with SMTP id d2e1a72fcca58-7371080d21dmr23154388b3a.10.1742213789947;
        Mon, 17 Mar 2025 05:16:29 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH 0/8] automation/cirrus-ci: add smoke tests of the FreeBSD builds
Date: Mon, 17 Mar 2025 13:16:08 +0100
Message-ID: <20250317121616.40687-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The aim of the series is to introduce a basic set of smoke tests using
QEMU and XTF, to ensure some minimal run-time testing of the LLVM
toolchain generated Xen binary.

Roger Pau Monne (8):
  automation/cirrus-ci: add timestamps
  automation/cirrus-ci: update FreeBSD to 13.5
  automation/cirrus-ci: store Xen Kconfig before doing a build
  automation/cirrus-ci: use matrix keyword to generate per-version build
    tasks
  automation/cirrus-ci: build XTF
  automation/cirrus-ci: store XTF and Xen build artifacts
  automation/console.exp: do not assume expect is always at /usr/bin/
  automation/cirrus-ci: add smoke tests for the FreeBSD builds

 .cirrus.yml                    | 170 +++++++++++++++++++++++++--------
 CHANGELOG.md                   |   1 +
 automation/scripts/console.exp |   2 +-
 3 files changed, 133 insertions(+), 40 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:16:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916681.1321739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9OZ-0001XP-5U; Mon, 17 Mar 2025 12:16:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916681.1321739; Mon, 17 Mar 2025 12:16: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 1tu9OZ-0001XI-2R; Mon, 17 Mar 2025 12:16:39 +0000
Received: by outflank-mailman (input) for mailman id 916681;
 Mon, 17 Mar 2025 12: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9OX-0000kV-Ql
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:16:37 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac096b58-0329-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:16:37 +0100 (CET)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-22359001f1aso29200095ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:16:37 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-737115292e7sm7462998b3a.31.2025.03.17.05.16.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05:16: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: ac096b58-0329-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213795; x=1742818595; 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=aqruY2zqiKwVWXNzUWsXUStihAIHimWujQ8x4YzmKqo=;
        b=NPK78TWh6BJN/rw6HwNtd/t8AXPXfkcY7enDU8yMNKIkOROKSFnjbLN0qdm0DsN5Q7
         JVToGG1by9OuMIiY7zNeL9fHJwPpDUcmbV+uN1MuSZ+on2Ltuo53ADjmzmBnXVuD3tpZ
         QPXlZKAR6tly8gyqXbW1xqa4Yr1IPzAK7jwKI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213795; x=1742818595;
        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=aqruY2zqiKwVWXNzUWsXUStihAIHimWujQ8x4YzmKqo=;
        b=tcy8uuYaAb1Eq/9bUF8qWVi9bBA/L5trveZG2lLcDwLrggrZXNFGJFoOVUujZ9djSO
         NJSKr1YjDuKD6ODgSVKvrTqsltYVA12okJusi3Qaj+EezIQc3alj9U76xm9Pcyt2g28O
         xJek5iZqZnakZ/VVUvPTv6obOWnBG8pBdeEWQEmDi66/u1HoRIfbCQYH04nr9dRe86cs
         VaZaRWYYT8K+LvV9xu0/Lb26CYTbURhuS8zrsEEeL/hF0A7DmraVaUJVHwUPGrsfGkEs
         860RCCAkjVyd7fO4llV+O/0TSvhFZR/g2H+9lrwDqDon7wEjkW+DDNLpJyn9uV/KX1QT
         BRZQ==
X-Gm-Message-State: AOJu0YwCOnE0FMPatuUbuBnzQLdKP+xyp4RvQsZxNzmAIKJLz85uHyZP
	755zE4EwZKihMp4cIdD58tQXvcYCs2rMe6Tf52EGIYt7Ha1QmGQZgeOwk/CPnYqXqNxEwTluSox
	j
X-Gm-Gg: ASbGncvUyIBgE/mIeq1TsZxSI2cix3+zEPuFGaRAfLxbYl1N5YjFijb4dEUso7HmoUP
	RQuVc5iZrUdc6KYCKMqoRgRnowbvGZDjhrWVhpcnVI3Tf/piufUtz+vcXC3I2DopHQhklwjz8mi
	SOPhMdly5XL7NDwZnjRiXEj1JDznQQX3uDPhqoUluYg4RgE2JGZaGMSi8v3CoxL4VqQpKFtFntE
	oaIgNyH48RVPlOm/ABrnZ49x+9V5PI8pqwgk1gbzlPEwE7qmzq7Y4MKEHS7h+6VAEfXKz7O5958
	sx4tQGzKRS9qp1lorGEIoaBw17nCC7fT3pDcOvsPDQtF4pKTcyA5mq8=
X-Google-Smtp-Source: AGHT+IHpbVNizWoefPAPCwT+bPjXcyMkHyJdRbxXD5NzD7goGx3fymiwXC8AgwUD2y0IMHmbXD8uvg==
X-Received: by 2002:a05:6a00:2382:b0:736:4e02:c543 with SMTP id d2e1a72fcca58-7372233ae33mr13295030b3a.9.1742213795305;
        Mon, 17 Mar 2025 05:16:35 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 1/8] automation/cirrus-ci: add timestamps
Date: Mon, 17 Mar 2025 13:16:09 +0100
Message-ID: <20250317121616.40687-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Such timestamps can still be disabled from the Web UI using a tick box.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 .cirrus.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index 1a39f5026f9a..aa195ba370ac 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -14,6 +14,7 @@ freebsd_template: &FREEBSD_ENV
     APPEND_LIB: /usr/local/lib
     APPEND_INCLUDES: /usr/local/include
     CIRRUS_CLONE_DEPTH: 1
+    CIRRUS_LOG_TIMESTAMP: true
 
 freebsd_artifacts: &FREEBSD_ARTIFACTS
   always:
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:16:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:16:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916684.1321748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9Of-0001tQ-CA; Mon, 17 Mar 2025 12:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916684.1321748; Mon, 17 Mar 2025 12: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 1tu9Of-0001tH-9V; Mon, 17 Mar 2025 12:16:45 +0000
Received: by outflank-mailman (input) for mailman id 916684;
 Mon, 17 Mar 2025 12:16: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9Oe-0000mc-6G
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:16:44 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af4d0c9c-0329-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 13:16:42 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-226185948ffso12881275ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:16:42 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7371167e099sm7411866b3a.112.2025.03.17.05.16.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05:16: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: af4d0c9c-0329-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213801; x=1742818601; 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=UnASASfNWSWjwx+8Xspzq3EIms/zWgQ7WFMJesY+L+c=;
        b=oEGVgmnLYy7OALIQ+RXaKfMCL/4aeAlAIbqbIeZbQY78WFzz7hS6/hJ8/Tn/HSw9Bj
         t+NzQvtVwAh2IZZatB11kwz6Fhnkl2DvBSHgPnemfNaRJ1ezosAsotb9PaKdrxtloIBj
         wUGs6x2n7dmITYNbPHfy9LFzVYXn/OfH0eirs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213801; x=1742818601;
        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=UnASASfNWSWjwx+8Xspzq3EIms/zWgQ7WFMJesY+L+c=;
        b=SLJJb9M7eYkPwj1bKn1f1ZBBWYf0Gfbi44dA3J1Te421A170wR9k/iLM4ulTZESImH
         MF6fqtrQJC5bhpSGmqvkQZ4O4iMf8JoFlDBH/0sJn7dWfPoTs96wk3woWkX+0bAfbZNo
         f45a0+PcR9eUYxIHNawkGrVjOEqPFCAnF04l4rWIaJ6SZxiayZUWkH6rHXiwEVaS8F07
         ffYWh1h4abU4Wl8cyr7L9/9Z4L1SbnJBCJupmmbPQqt5yFCBVEHYpdKtbwSS9mdAsTgr
         47V9egq7P6UPCBr4PZ9E/NqqnVUdr4ecMJYpbbXC/HC2hy6+bONvoeKKHhMq0eMiR4sf
         wXLA==
X-Gm-Message-State: AOJu0YyMy/hsacLsYI5ngH8YJTtCbYYjyBD9cH4QLM3gJ188cHBamX5L
	x8rgShexhiavahyGiyCWERGn5BHc+Dnsl6VW6vyo5jttbVq5YbSDb5SXKU5vkyHc1cH+wBiWsRf
	2
X-Gm-Gg: ASbGncvQKf2KV5q/biRjFIUuf07Fx2FWiaFfbsg/tLrTiZjF2ezcLuoZpQ5ITmr40Hz
	SUYvrxb/uACbbrVolIT+Dos9tnCvPBJ9r/e1M+guNlWA2eqwQekJmi+Sckp8c0vnLnkRWJj2WNY
	m840dQu4qa7DKvYbv0sOe6uo1f3sz8JScW+UakR5pE88xx0WxjbEp9Sc5kRx2fTxPEJmmgHsqFz
	72X7vwKOc3KQVVogzVb7LGhoPVzbu4yA7OFKdOvFdndtSVEULaV9BMuoi6UE53wmh1EQTU1pCBE
	xlq5SS0K2HwX45fPcCobfKy21G3ThvIy0iCZeZbbmXSp7P3Xn0X8RFI=
X-Google-Smtp-Source: AGHT+IGXwxzDL6xraLlGOi11RL2cH519tbwA4S6+ANilN8DdLDRkl4B1hdPJeviKOLeYSI1tYZtB3g==
X-Received: by 2002:a05:6a00:2e25:b0:730:9801:d3e2 with SMTP id d2e1a72fcca58-7372238e7d9mr17105784b3a.8.1742213800609;
        Mon, 17 Mar 2025 05:16:40 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 2/8] automation/cirrus-ci: update FreeBSD to 13.5
Date: Mon, 17 Mar 2025 13:16:10 +0100
Message-ID: <20250317121616.40687-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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 aa195ba370ac..ce7588b7b6b1 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,7 +1,7 @@
 # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
 freebsd_13: &FREEBSD_13
   freebsd_instance:
-    image_family: freebsd-13-4
+    image_family: freebsd-13-5
 freebsd_14: &FREEBSD_14
   freebsd_instance:
     image_family: freebsd-14-2
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:16:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:16:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916687.1321759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9Ok-0002GX-Ma; Mon, 17 Mar 2025 12:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916687.1321759; Mon, 17 Mar 2025 12: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 1tu9Ok-0002GJ-I4; Mon, 17 Mar 2025 12:16:50 +0000
Received: by outflank-mailman (input) for mailman id 916687;
 Mon, 17 Mar 2025 12:16: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9Oj-0000kV-26
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:16:49 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2b4cbac-0329-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:16:48 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-225d66a4839so49832835ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:16:48 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 41be03b00d2f7-af56e9ddf44sm7017075a12.18.2025.03.17.05.16.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05:16: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: b2b4cbac-0329-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213806; x=1742818606; 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=ZLyNL/HYlWTvXNsRRGsubkmxAuPbk0u5sZ2z/jqmhWo=;
        b=tPe4oEuxSNQR8zTx0FHrKfC79272F9h9lV9kG2ochq4nwYEGDCxoDtIqeeByH3Tee2
         u7B+HTx2rEPwDzyYTxu7ibn8naeHsXYiPCL0J7C3J7ds/hwcSQjZpfZEhwerj53YhdJy
         vDhP10CpVNKZkzmfgQA6g8BmRPhdwb0jkfQeQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213806; x=1742818606;
        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=ZLyNL/HYlWTvXNsRRGsubkmxAuPbk0u5sZ2z/jqmhWo=;
        b=QL8De8eDah54ok44/it5OA5/O7uiQ91ymkDToqQ/i+Egqhes0ACUC/VxnUa2ymwN3Y
         6J8ubRHJdLMLqRESjmTeu+8tkalQyF3vY5+Ud87Mo+lhlUNgaTnXe4vJBuJAB+s5N8Vg
         aHO71Hbgq7Z79W2c5PyJ7GANZsL7sfJeD7wx7ajaF1iMTAo/mMY5JslxfoT1kNpMnSFL
         p5NFCTbKeARBd0cO6KBLPp60mnCsjJelfc3USk5Q1yrAcrRJJkYZddDcst8ThJ31FqOO
         f6+VdSlM1GdW9S/mVAGymi3SnbKm/H3Va9WH3OURG1MKRy6cQlBDmdo1VTJ0XIhGOXXj
         DZ2w==
X-Gm-Message-State: AOJu0Yyy8xC99yPwN4+VbcyVp/G8Aae+MOZkw4TNEx5PyCXHznBWAwWM
	dySftyKzQiuRSwxkWLr+XFzuhQUDdPfrXoWJnDSuyfcVF3kqfBMG9VkfAkTzXNlU9VyUIYgZ3UU
	d
X-Gm-Gg: ASbGnctJx/1VfsviH3sMzz+mAmiUNlvawg35r/KdxpePIQMIDDzdawbEn+YsThLxMwA
	m0EqbkVKB7Xo0kmXn4lWzjZQRb8cyQxrD+ZLJYVa/MLLlQAPGlHiD3Z3BK2j70np4QLYrwz1rAE
	bsGRGmH8hh/R04mW7Zj+NWMyY2ESasToXpc5t5ufo9ldKtWKhIFXRabafOW4Cn9Z4Ra6yREy/sC
	CkvgwbbkQqNO9fu/gd81D0FMiEExqJcLtMSB6q1SjiDyIJk96yNVDdZTdwLYd8QY/Biif9QwUUn
	srUBwozRE8U3zVPurH6z94KY5Dv96ncZDh4qDdBso50PmrF87QyolJ/kRrQepU4Zww==
X-Google-Smtp-Source: AGHT+IH+Syh6Vg6+LszltOpQAd59soJopu0YFRgOmLm64Vvm//NP7WfJwCqkD8LBCeD3HCQNaM/nzA==
X-Received: by 2002:a05:6a20:12c8:b0:1f3:2968:5ac5 with SMTP id adf61e73a8af0-1f5b095d100mr24204067637.20.1742213806472;
        Mon, 17 Mar 2025 05:16:46 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 3/8] automation/cirrus-ci: store Xen Kconfig before doing a build
Date: Mon, 17 Mar 2025 13:16:11 +0100
Message-ID: <20250317121616.40687-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In case the build fails or gets stuck, store the Kconfig file ahead of
starting the build.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 .cirrus.yml | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index ce7588b7b6b1..490f214f0460 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -16,7 +16,7 @@ freebsd_template: &FREEBSD_ENV
     CIRRUS_CLONE_DEPTH: 1
     CIRRUS_LOG_TIMESTAMP: true
 
-freebsd_artifacts: &FREEBSD_ARTIFACTS
+freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
   always:
     rename_script:
       - cp xen/.config xen-config
@@ -32,25 +32,30 @@ freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
                                  yajl lzo2 pixman argp-standalone
                                  libxml2 glib git python3
 
-  build_script:
+  configure_script:
     - cc --version
     - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
-    - gmake -j`sysctl -n hw.ncpu` clang=y
+    - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
+
+  << : *FREEBSD_CONFIGURE_ARTIFACTS
 
-  << : *FREEBSD_ARTIFACTS
+  build_script:
+    - gmake -j`sysctl -n hw.ncpu` clang=y
 
 freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
   << : *FREEBSD_ENV
 
   install_script: pkg install -y gmake python3 bison
 
-  build_script:
+  configure_script:
     - cc --version
     - gmake -j`sysctl -n hw.ncpu` -C xen clang=y \
             KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
-    - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
 
-  << : *FREEBSD_ARTIFACTS
+  << : *FREEBSD_CONFIGURE_ARTIFACTS
+
+  build_script:
+    - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
 
 task:
   name: 'FreeBSD 13: full build'
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:20:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916719.1321779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9SV-00050R-BL; Mon, 17 Mar 2025 12:20:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916719.1321779; Mon, 17 Mar 2025 12:20: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 1tu9SV-00050K-8M; Mon, 17 Mar 2025 12:20:43 +0000
Received: by outflank-mailman (input) for mailman id 916719;
 Mon, 17 Mar 2025 12:20: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9PB-0000mc-Hw
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:17:17 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c328d105-0329-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 13:17:16 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-223f4c06e9fso71138555ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:17:16 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c68a8574sm73228195ad.86.2025.03.17.05.17.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05: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: c328d105-0329-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213834; x=1742818634; 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=f8jOlrCuRBfKBoh76SCPmm/y0muCGxLXHaIc2HMBVQ0=;
        b=I1cJkM+76HrdGJcLk/hXPp2D1uKJcSM1Dzxyey0aDIqWWmLQznW+RkSYsy3VHNjBOU
         E4gGvuwg8DGO4IUfLAF0f+GV1UbHLcwPvzfSZHFe8TgpdKKKUyq2SJsG+G3a+KWwQZFb
         6B4n/Syi/wMvUaIAjKMPJ0ffwneqLqIs9mc5g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213834; x=1742818634;
        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=f8jOlrCuRBfKBoh76SCPmm/y0muCGxLXHaIc2HMBVQ0=;
        b=ZiLpRNdjvn7HAq5r76zSwllh1+WOazbwBMB9qkKaHiqAPbNgL4zeQfM6y8ZSbX0h1B
         iKwX+TGnJarfAyfws9cDx91b6FuDlDvBTUS13SUHEJovZZq/AIrIuchd29OE2hKDA2AL
         KSWNfz7mWD3OTqUHM4VdDty/RirGXAqq54Rm62CA9rNAqLu2qGmvyiWBbn6AwH4D5NBv
         zAPT2+7LhLy5OlRic/l9vE5jbbzXMCddibFZ5LAxXXpopj9mwCq2GRfB05r89vFG+fBm
         zfo7FqVYKwToaoIzTPjhc3Z0Dzs7/3DlElVPX09DHO9vOFwXYho05XoM485WpQJ1fjK4
         pqDQ==
X-Gm-Message-State: AOJu0Yy4s7UiDNjZY7jIpQCFm0sfpoOn+g6MsM9P2abzkVbvK0Us6Opy
	pOiHCZlFBT+xrskT+dSmCvvSUSvT7czHulnP33RX7DfcHSGR0JyFahHQzIhV0G1iWR5ycgS3zCN
	h
X-Gm-Gg: ASbGncsA4tshfp/r32aDnFhcK2YJv/WqW2z/wtlOj4ao6cOKgWKYhOwOP90O4N2jctK
	1xDyo+1Da+ng4UuFBSLnsWW9svU1qMd8ryswy1bbBi+yxdeNypjQZffWhrEsA5Njcj7Lwp9pEFC
	81xLzXKiNTmWQUs1LCz3BpiYbO5vCiPGOkCezLZWGK/mod7Ae/DUSH6nJgUzfUlwn4u21PXujBz
	Zwc6pLJfWazacIJpK9Owmo2A8XHjHAi1SsvA/nX9KhcyI3CEl/fgBUei9qtRzn17K+9tZbDnk/i
	hCO94UlHKTnR0bjR63TbOHWIw0l/j6uUKFdv5IFaoDxpH9POnptxqK4=
X-Google-Smtp-Source: AGHT+IGkxX1pXPyMgWV1a1rvZK4XWE411p4tDJZeeTuaTgYn4v0dl4U3sjdeyRcGhTE57jIV5W+/5g==
X-Received: by 2002:a17:903:13ce:b0:215:758c:52e8 with SMTP id d9443c01a7336-225e16b1b84mr178364175ad.12.1742213834048;
        Mon, 17 Mar 2025 05:17:14 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH 8/8] automation/cirrus-ci: add smoke tests for the FreeBSD builds
Date: Mon, 17 Mar 2025 13:16:16 +0100
Message-ID: <20250317121616.40687-9-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a basic set of smoke tests using the XTF selftest image, and run
them on QEMU.  Use the matrix keyword to create a different task for each
XTF flavor on each FreeBSD build.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
I've used the current version of FreeBSD to run the tests, but it might be
safer to use the latest production (release) version instead.
---
 .cirrus.yml  | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 CHANGELOG.md |  1 +
 2 files changed, 55 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index c74d5cf6eb9a..9c8b4b235cfd 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -5,6 +5,8 @@ freebsd_versions: &FREEBSD_VERSIONS
     FREEBSD_14: freebsd-14-2
     FREEBSD_15: freebsd-15-0-snap
 
+# Build jobs
+
 freebsd_template: &FREEBSD_ENV
   environment:
     APPEND_LIB: /usr/local/lib
@@ -118,3 +120,55 @@ task:
   xtf_artifacts:
     path: xtf/tests/selftest/test-*-selftest
     type: application/octet-stream
+
+# Test jobs
+
+task:
+  name: 'FreeBSD: XTF selftest'
+
+  << : *FREEBSD_ENV_LATEST
+
+  env:
+    matrix:
+      FREEBSD_BUILD: $FREEBSD_13
+      FREEBSD_BUILD: $FREEBSD_14
+      FREEBSD_BUILD: $FREEBSD_15
+
+  depends_on:
+    - freebsd_full_$FREEBSD_BUILD
+    - xtf
+
+  install_script: pkg install -y qemu-nox11 expect
+
+  env:
+    matrix:
+      XTF_ARCH: hvm32
+      XTF_ARCH: hvm32pae
+      XTF_ARCH: hvm32pse
+      XTF_ARCH: hvm64
+      XTF_ARCH: pv64
+
+  fetch_script:
+    - fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/xtf/xtf.zip
+    - fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/freebsd_full_$FREEBSD_BUILD/xen.zip
+    - unzip xtf.zip
+    - unzip xen.zip
+
+  test_script: |
+    case "$XTF_ARCH" in \
+      *hvm*) \
+        XEN_EXTRA_CMD="dom0=pvh dom0-iommu=none" \
+        ;; \
+    esac
+    export TEST_CMD="qemu-system-x86_64 -kernel xen/xen -initrd xtf/tests/selftest/test-${XTF_ARCH}-selftest \
+                                        -append \"loglvl=all console=com1 noreboot console_timestamps=boot dom0=verbose ${XEN_EXTRA_CMD}\" \
+                                        -m 512 -nographic -monitor none -serial stdio"
+    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\+$//'
+
+  always:
+    serial_artifacts:
+      path: serial-*.txt
+      type: text/plain
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7201c484f899..16c14e933c80 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - Option to attempt to fixup p2m page-faults on PVH dom0.
    - Resizable BARs is supported for PVH dom0.
+   - Smoke tests for the FreeBSD Xen builds in Cirrus CI.
 
 ### Removed
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:20:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916715.1321769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9ST-0004cs-64; Mon, 17 Mar 2025 12:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916715.1321769; Mon, 17 Mar 2025 12:20: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 1tu9ST-0004cl-1X; Mon, 17 Mar 2025 12:20:41 +0000
Received: by outflank-mailman (input) for mailman id 916715;
 Mon, 17 Mar 2025 12:20: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9P5-0000kV-CJ
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:17:11 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfefa63d-0329-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:17:10 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-3015001f862so2229553a91.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:17:10 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-30153534589sm5871270a91.25.2025.03.17.05.17.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05: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: bfefa63d-0329-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213829; x=1742818629; 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=ZM/79HlOHxERWEVpWx4kG/2IEysanU5ldeRIleAlpYg=;
        b=GQygeimuAEtt5S0hCZSwqKYvgX+DNTGirvhepI3bkruQGeI2I/LyYALQM1cBY9eYWA
         lN6qKnbTZugQnd6dBiYPAV+vqUrq4SCxN2OXFZJHIAiUOdqT9K5RpXBhK1P/8hA8bpIK
         vzn1wIovm4Szn/jnKCWdmjPNDfvQsjONgSkAA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213829; x=1742818629;
        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=ZM/79HlOHxERWEVpWx4kG/2IEysanU5ldeRIleAlpYg=;
        b=Xt4i2BtDFsdo+x4By6PROyiHsWJOIzoeZIWJ5yDtos3RcBEkXQ94MjabMNy119v4il
         t17ZCF+i1vYUR4LHa524vFvJY3HkYrFmvQWhYFzvNMo8EOxQHTtwGj/b/AJ7adhz98sM
         uiRGOHqQBUSF13sZjPan/MFO/Mok4S2WYvzB4nZr7vbI7Ys2xw6ZlSE59OEEaF2LksH/
         SnTO4+Mgpz0ABaWK4hapxZhkeON2tfd/6G2GYjj5vPgapxhrbxlx9GW7+K48ZdcpW4ty
         RELZaIynLXUbH30xd/6WCJwT5x4tJ8uM/Ft79qNXMVmVpJuy7Y1S5Gxcw7pq0cJNu/og
         9cPQ==
X-Gm-Message-State: AOJu0Yy6XPcbnxt6H8rEfm/lzRZRlSoZOlotsn91b3ahCv2kJgieV32y
	j8u64NML93N7w+ufEnVYiiYIbNV9Iptk/ez4grz6XbWr8Ju/wnUmzRAIBTS7j7AuqvIxmGWWaVO
	T
X-Gm-Gg: ASbGncukjlUpzRq/ouf6kchSu9n6US1kCf4MHnq6cZ+KaK9DAdtYgIAfiUdf5mmQcmD
	nmuNLqa29TAX2K6xCf4OkayL9lJZuau1sShxK4p+4P2PbujiWgmtP1K/RhT/fcJx2V0agm1ynUX
	EEIpYNTk2ZIHvQzssKoMkE7CWDPp9qBC5k8gPybyUgmWR6ir6pI140o01NOLzx6BlU1osMvTTQf
	x8HEVNcfBDyE2NCFdclhBXWcrB0ptEsBGQ+JBWXAvppcqL2+2/sTq+YfKcTxrERfT/3Q1Q7+Uc3
	l+GwzBLerowK9hOswxuq0zc9okp4jA21W98WV/4/LVJgzI5ibE8c7l+YTXw2/lMMIA==
X-Google-Smtp-Source: AGHT+IHOmdLPPvcUMjGVSUtZ0nulxpb+FdtfqcDCBNLg9E0EZ1bAQ3xlEIMkj9aNeUhGh0B0Cycl/w==
X-Received: by 2002:a17:90b:544c:b0:2ff:692b:b15 with SMTP id 98e67ed59e1d1-30151d8eed2mr16115835a91.33.1742213828616;
        Mon, 17 Mar 2025 05:17:08 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 7/8] automation/console.exp: do not assume expect is always at /usr/bin/
Date: Mon, 17 Mar 2025 13:16:15 +0100
Message-ID: <20250317121616.40687-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Instead use env to find the location of expect.

Additionally do not use the -f flag, as it's only meaningful when passing
arguments on the command line, which we never do for console.exp.  From the
expect 5.45.4 man page:

> The -f flag prefaces a file from which to read commands from.  The flag
> itself is optional as it is only useful when using the #! notation (see
> above), so  that other arguments may be supplied on the command line.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 automation/scripts/console.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/console.exp b/automation/scripts/console.exp
index 310543c33e5e..31ce97b91b63 100755
--- a/automation/scripts/console.exp
+++ b/automation/scripts/console.exp
@@ -1,4 +1,4 @@
-#!/usr/bin/expect -f
+#!/usr/bin/env expect
 
 if {[info exists env(TEST_TIMEOUT_OVERRIDE)]} {
     set timeout $env(TEST_TIMEOUT_OVERRIDE)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:20:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:20:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916726.1321788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9SZ-0005TU-Jc; Mon, 17 Mar 2025 12:20:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916726.1321788; Mon, 17 Mar 2025 12:20: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 1tu9SZ-0005TL-GW; Mon, 17 Mar 2025 12:20:47 +0000
Received: by outflank-mailman (input) for mailman id 916726;
 Mon, 17 Mar 2025 12:20: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9Oz-0000kV-MM
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:17:05 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bcbbb15f-0329-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:17:05 +0100 (CET)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2ff80290debso2943863a91.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:17:05 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-30153afe386sm6619992a91.23.2025.03.17.05.17.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05:17: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: bcbbb15f-0329-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213823; x=1742818623; 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=ExAF3QnqtzCyOB+XNnlCTfh/d/FC0K/Qux+S5c/zFfQ=;
        b=Aj6j67jrz0tnwxX2dqetRl7aBBVUssaXcKX4MkbgnrRQWzfzcZVxmBG0rSSHoHJJxH
         uFXneLO30yZm/tQ7WwaGKt7OoN0FoCfaQlvVMK8qlXAXdCj8/a4xjm+pGtBqgUwmn3P5
         whtr5TA9teqeMfOycFuaPv+dR/ak9uCFUkJ+o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213823; x=1742818623;
        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=ExAF3QnqtzCyOB+XNnlCTfh/d/FC0K/Qux+S5c/zFfQ=;
        b=IVjssv+oIx7aFlkqL8XReBVsPZ//O3XiugPe9gl6oDOJ4DaZSuC3gN26nazu7nQXK4
         Wo+/1aX+TKBbbd+f50xwPkVQZWvwuQnYoyNobA2PMpztYpyJ2UfI+T8+gu+jhiG2yAEA
         fwpxri+ZuX1cfJbkEy3bXVjVQdOq0i0efNhX4SDn+nG08YTANhhocJmJo2/xXhj5zats
         VSOY8eumX5ZyKXID0xcoLO1EVwVSBVLB+JjLDJY4DYv+LrlF+njMetR90gtPzc5dWwm5
         48Luo3oxO88WWtYeUhKd+deA/qymwAzcXlwacbQmBpJ1pJ3xPTTl1u95YzgR3fNbhyFU
         Q3CQ==
X-Gm-Message-State: AOJu0Ywl5F1DV8o0pGF2jgGBIOni/KA/JAN+grCMPM+dB+zmwdovgNca
	1bhY50v5iUQCT9JKwSD3rKYamueLwMSAAqa310LPVV0uNaJn0TT0eajeq+T6G5fxa+YcOqGUxVd
	0
X-Gm-Gg: ASbGncs0l30QBUJOFOax2ZJDl2/lU/kury8/OAL/oN8N4w5ZvS9f8apujwTgkIPkBrB
	iRhmfq4iFc1+P0RP8AGNHnzw35tvrU8r3Bho/JIIAMCEk3U486TNmPmiTOblSsB3PqO64U7oBj/
	+8TRv5SJU3XDuqgulPPfyC8h015S33ADyYC7BhcKDAJPX02Blv7IkoMnWP0EzT58PPreTRdjXNm
	iuZMeE05ycPx9AtdhnmONTkTpmB+EVanDffXwXB02DB04MG4MpJkM8hiS0FXfWgh0W/1ldlSL3x
	t4tsHbZo4wrxvN6VfvtVQKveVxMEn6Hz6rdRdREJxchaPAo+hZtJqmg=
X-Google-Smtp-Source: AGHT+IG9VKBFGpRSjlxMyzHMkXA4I35suEnyblv2xyrab/O0Jwaix+SsdyOLzPLqJNtiEGpC+FCUAA==
X-Received: by 2002:a17:90b:56c5:b0:2ee:df70:1ff3 with SMTP id 98e67ed59e1d1-301519cc392mr17495270a91.0.1742213823079;
        Mon, 17 Mar 2025 05:17:03 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 6/8] automation/cirrus-ci: store XTF and Xen build artifacts
Date: Mon, 17 Mar 2025 13:16:14 +0100
Message-ID: <20250317121616.40687-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In preparation for adding some smoke tests that will consume those outputs.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 .cirrus.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index d8a322acd54c..c74d5cf6eb9a 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -61,6 +61,14 @@ task:
   build_script:
     - gmake -j`sysctl -n hw.ncpu` clang=y
 
+  xen_artifacts:
+    path: xen/xen
+    type: application/octet-stream
+
+  debug_artifacts:
+    path: xen/xen-syms
+    type: application/octet-stream
+
 task:
   name: 'FreeBSD: randconfig build'
 
@@ -106,3 +114,7 @@ task:
     - cc --version
     - git rev-parse HEAD
     - gmake -j`sysctl -n hw.ncpu` LLVM=y
+
+  xtf_artifacts:
+    path: xtf/tests/selftest/test-*-selftest
+    type: application/octet-stream
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:20:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:20:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916738.1321799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9Sf-0006E9-Vt; Mon, 17 Mar 2025 12:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916738.1321799; Mon, 17 Mar 2025 12: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 1tu9Sf-0006Dj-Sl; Mon, 17 Mar 2025 12:20:53 +0000
Received: by outflank-mailman (input) for mailman id 916738;
 Mon, 17 Mar 2025 12: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9Ou-0000kV-5Q
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:17:00 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9384b9c-0329-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:16:59 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-223f4c06e9fso71133495ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:16:59 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6bd3c59sm73542445ad.218.2025.03.17.05.16.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05:16: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: b9384b9c-0329-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213817; x=1742818617; 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=xUsBJSIma7yjz93E7RpDRmIhEyEuY2Kg9Qaa2/f7iLM=;
        b=UhHrW6GkhPEh+GrAQ1v8OU8lXrMO90Sf44tK97kPZ/LIIPCF14fnavBv+Z6WoQE5Jp
         5K0VqhvFKIv8Mro42Y9SXxKSuBx2oFpSoMhuTR9RhrNK3J81MBfWvEQQ22VWKGTuINCl
         snz8hR4rS+iQh5Xk2C5mUBqRNrbqso1pxuXv0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213817; x=1742818617;
        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=xUsBJSIma7yjz93E7RpDRmIhEyEuY2Kg9Qaa2/f7iLM=;
        b=ZNNB1aGTQFVprl7GkxryenWdP8eLr/TcPAFXy9LQ0TnLEjHEQj8ss/fCF6HyWZXtnx
         JfhF91GH+5imBk2tkpgriPkI22a/c5EY5AuHHOvnwlKmeeA4Xrh/v34SQH9LA+cCzDUx
         6YHXwoyI8usER2WsFZk8AYQwdcIpIR2twhPblRo2CBYgPQOIGh1eE017L+2El11GZ66g
         uIzDTxx0VSxzgEeTo0n+MI+I6+7Pr7DEIPo/4G3llVFMt/GS0m66qTy+SyrDqYZZ0TnO
         4y1c1OVRPBFWSxz0xBwpNZWzZXrTcRQg7LrHN0x3knOAdbkN4bs2mDIc37oS2Ux8QpeC
         9M4A==
X-Gm-Message-State: AOJu0YwrrrvBlX3N1VaxBJcZEat/w+5+2Fyad6iEEnAX3qyiG8tClNLu
	/a7KsK/f0fHzJrbL6pD2NJyMfz3gXxpmvmPpKseGq9i3ZBTbtWQQVo+ePZYkcXgR7j7ObRxImJT
	M
X-Gm-Gg: ASbGnct6XpfcTMcN/bz1j2RhI5WcXcLZFA/FVsEoqD02GQmE+DKA/0yTkHKzqJm/hLs
	6wvUK+JGtYd2vC1VUQfnXR0ckDbTYrWLxM/rLvrGJr3Spm4GB3cPWlEzxp1A6olyT7ecQnMUlNI
	/SMOpzjOVxQHqOqacbyVrDiapLxgSKfvz2Ow12BUAaax/fZgrcUGzLXbX+7t01LBcpvFCWTlAla
	tkbZxHlyJqKqeMjOl0+v3c29kaYpaCIWSxMRUAgT5IEFMonmBHxHlNyRJ4CCw+1heAeuj0pvz9w
	yDXH/LgKejeQux887hmAWapCQySG3LhXUTCPXPjy1F1Oi8UdFnBkR4KpPGBsjH/6YA==
X-Google-Smtp-Source: AGHT+IF88YpQ97cTf2WJGT1i+TzVo5CsTp1aRr6gCSQhZrishF+mMqFvZjIPbFEYQVl8tpSiK1Z3AQ==
X-Received: by 2002:a17:903:189:b0:221:8568:c00f with SMTP id d9443c01a7336-225c64097abmr212985615ad.0.1742213817459;
        Mon, 17 Mar 2025 05:16:57 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 5/8] automation/cirrus-ci: build XTF
Date: Mon, 17 Mar 2025 13:16:13 +0100
Message-ID: <20250317121616.40687-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In preparation for using the XTF selftests to smoke test the FreeBSD based
Xen builds.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
I've used the current version of FreeBSD to build XTF, but it might be
safer to use the latest production (release) version instead.
---
 .cirrus.yml | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index bda4dbe86a7c..d8a322acd54c 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -12,6 +12,12 @@ freebsd_template: &FREEBSD_ENV
     CIRRUS_CLONE_DEPTH: 1
     CIRRUS_LOG_TIMESTAMP: true
 
+freebsd_template_latest: &FREEBSD_ENV_LATEST
+  << : *FREEBSD_VERSIONS
+  freebsd_instance:
+    image_family: $FREEBSD_15
+  << : *FREEBSD_ENV
+
 freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
   always:
     rename_script:
@@ -82,3 +88,21 @@ task:
 
   build_script:
     - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
+
+task:
+  name: 'FreeBSD: XTF build'
+  alias: xtf
+
+  << : *FREEBSD_ENV_LATEST
+
+  clone_script:
+    - pkg install -y git
+    - git clone --depth 1 https://xenbits.xen.org/git-http/xtf.git
+
+  install_script: pkg install -y gmake
+
+  build_script:
+    - cd xtf
+    - cc --version
+    - git rev-parse HEAD
+    - gmake -j`sysctl -n hw.ncpu` LLVM=y
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:21:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916764.1321808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9Sx-0007Qb-7d; Mon, 17 Mar 2025 12:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916764.1321808; Mon, 17 Mar 2025 12:21: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 1tu9Sx-0007QR-4F; Mon, 17 Mar 2025 12:21:11 +0000
Received: by outflank-mailman (input) for mailman id 916764;
 Mon, 17 Mar 2025 12:21: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9Op-0000kV-0P
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:16:55 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b64d7557-0329-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:16:54 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-225fbdfc17dso21339335ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:16:54 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-737115511f3sm7690950b3a.55.2025.03.17.05.16.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05:16: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: b64d7557-0329-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742213812; x=1742818612; 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=EX8IrmOnO/Mqfj+9j1/LqPJTY9srk7N80PH03XyLFjw=;
        b=csVc16NRWkyi0DO17uS2hmLpttaHLy4zpxko1aGoTaybIxVJBpMrfjEGzLshK0jD8G
         DAtn1cwtviyNj+gqqP/esD7ppOT/apl9/iOEDRrUgiWaUUDm6CVZgGCCpQGev0HulMKA
         BCoepPP5NBhdJJojX6gnWFi1ZAoM2SZ8rFyyQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742213812; x=1742818612;
        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=EX8IrmOnO/Mqfj+9j1/LqPJTY9srk7N80PH03XyLFjw=;
        b=uqZBNSSGpUcnsRq5PaU1smbYZCwFyjUecEfmmH6nP6iyNxyj4eu8aRDkNiINmhkoGq
         hCcodS6EybM4com008OF5tyYW4JXc2VsRnW0GqRQ+bDbKHDF/4P5i0ElmHQOL9VHtKEc
         68AT2GWqoIzrr3aE2q/IwL7B7xSsMvtaKUIKwxaYwtQ2vOZ3HlQxjkXoAql+f7zGgEVU
         3jUhxpSdzPXVpHT10PqHkOH2ULAH6DOg2UYbL07eMRf3PykEQwxtIpL8of2oOmY4sqj4
         PFi63xv90F8NYS1YhPcujuGSutsi5pe4919lqizyuGLUpwpvmvzLYwrWLa7FegyDpR4j
         pVQg==
X-Gm-Message-State: AOJu0YwVfkFWbVyH1JsmburXUyqJ1Ta91QDgcbdx6dDy+wnsKTyzeRzP
	e7/odDyosd69DDSf/wG7VEqet17kRA8e7AaMTEySjDM3/s3b/giROyTeYAfHT402kufetZ4h0g4
	r
X-Gm-Gg: ASbGnctM6pI2izEZkveOBKXrDCYuVnv5Xz019KAVOAgIMIWeydTsagDjhttsHzGvVbf
	Kq8DwNZIioITVCGWY47Bm9Lv6ssRDJztnwt2mK7hVzQEfmAa13Ee271GF/P1nt31YSpyq6EVO9x
	F5L9NlWfSo1cC5P0ystJXKxwtCbraQ25aXCpsm5jX2g1wXKqiRD7lrY7iP6qdZKlhofIJPSBSyQ
	XHg682qxKP2n9kEHbtafU+xZtTKCbfl/XFobXcF1RGNxTmbg12XhAQh0LWLHegrlcKRqIZe+WzG
	2UjrntKw9uu7fRzMQwHwLzWDG/RnOxmAUgXIWD8EkOBicOJr6A8arRs=
X-Google-Smtp-Source: AGHT+IFrjdjdimcSXRB6aWsYlSOCLKChVlTGv1m2iDP52fe9oYmhxN7d5chkgEvfdMW5iEAVhpmb0Q==
X-Received: by 2002:a05:6a00:929e:b0:730:4c55:4fdf with SMTP id d2e1a72fcca58-7372238f6e7mr14725697b3a.7.1742213812002;
        Mon, 17 Mar 2025 05:16:52 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 4/8] automation/cirrus-ci: use matrix keyword to generate per-version build tasks
Date: Mon, 17 Mar 2025 13:16:12 +0100
Message-ID: <20250317121616.40687-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317121616.40687-1-roger.pau@citrix.com>
References: <20250317121616.40687-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Move the current logic to use the matrix keyword to generate a task for
each version of FreeBSD we want to build Xen on.  The matrix keyword
however cannot be used in YAML aliases, so it needs to be explicitly used
inside of each task, which creates a bit of duplication.  At least abstract
the FreeBSD minor version numbers to avoid repetition of image names.

Note that the full build uses matrix over an env variable instead of using
it directly in image_family.  This is so that the alias can also be set
based on the FreeBSD version, in preparation for adding further tasks that
will depend on the full build having finished.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
I could alternatively name FREEBSD_15 FREEBSD_CURRENT or FREEBSD_HEAD or
something versionless, however I don't know about the other versions.

Assuming there will only be 3 versions tested at all times I could use:
FREEBSD_HEAD, FREEBSD_PRODUCTION and FREEBSD_LEGACY, as to avoid having to
specify versions in the task definitions.
---
 .cirrus.yml | 78 +++++++++++++++++++++++++----------------------------
 1 file changed, 37 insertions(+), 41 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 490f214f0460..bda4dbe86a7c 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,13 +1,9 @@
 # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
-freebsd_13: &FREEBSD_13
-  freebsd_instance:
-    image_family: freebsd-13-5
-freebsd_14: &FREEBSD_14
-  freebsd_instance:
-    image_family: freebsd-14-2
-freebsd_15: &FREEBSD_15
-  freebsd_instance:
-    image_family: freebsd-15-0-snap
+freebsd_versions: &FREEBSD_VERSIONS
+  env:
+    FREEBSD_13: freebsd-13-5
+    FREEBSD_14: freebsd-14-2
+    FREEBSD_15: freebsd-15-0-snap
 
 freebsd_template: &FREEBSD_ENV
   environment:
@@ -24,7 +20,24 @@ freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
       path: xen-config
       type: text/plain
 
-freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
+task:
+  name: 'FreeBSD: full build'
+
+  # It's not possible to use the matrix keyword in YAML aliases, as they
+  # keyword usage is restricted to task, docker_builder or pipe.  Attempting to
+  # use a YAML alias with the duplicated keys doesn't work either. Use an env
+  # variable so the version can also be appended to the task alias.
+  << : *FREEBSD_VERSIONS
+  env:
+    matrix:
+      FREEBSD_VERSION: $FREEBSD_13
+      FREEBSD_VERSION: $FREEBSD_14
+      FREEBSD_VERSION: $FREEBSD_15
+
+  alias: freebsd_full_$FREEBSD_VERSION
+  freebsd_instance:
+    image_family: $FREEBSD_VERSION
+
   << : *FREEBSD_ENV
 
   install_script: pkg install -y seabios gmake ninja bash
@@ -42,7 +55,20 @@ freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
   build_script:
     - gmake -j`sysctl -n hw.ncpu` clang=y
 
-freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
+task:
+  name: 'FreeBSD: randconfig build'
+
+  # It's not possible to use the matrix keyword in YAML aliases, as they
+  # keyword usage is restricted to task, docker_builder or pipe.  Attempting to
+  # use a YAML alias with the duplicated `image_family` keys doesn't work
+  # either. Abstract the version numbers at least.
+  << : *FREEBSD_VERSIONS
+  freebsd_instance:
+    matrix:
+      image_family: $FREEBSD_13
+      image_family: $FREEBSD_14
+      image_family: $FREEBSD_15
+
   << : *FREEBSD_ENV
 
   install_script: pkg install -y gmake python3 bison
@@ -56,33 +82,3 @@ freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
 
   build_script:
     - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
-
-task:
-  name: 'FreeBSD 13: full build'
-  << : *FREEBSD_13
-  << : *FREEBSD_FULL_BUILD_TEMPLATE
-
-task:
-  name: 'FreeBSD 14: full build'
-  << : *FREEBSD_14
-  << : *FREEBSD_FULL_BUILD_TEMPLATE
-
-task:
-  name: 'FreeBSD 15: full build'
-  << : *FREEBSD_15
-  << : *FREEBSD_FULL_BUILD_TEMPLATE
-
-task:
-  name: 'FreeBSD 13: randconfig'
-  << : *FREEBSD_13
-  << : *FREEBSD_RANDCONFIG_TEMPLATE
-
-task:
-  name: 'FreeBSD 14: randconfig'
-  << : *FREEBSD_14
-  << : *FREEBSD_RANDCONFIG_TEMPLATE
-
-task:
-  name: 'FreeBSD 15: randconfig'
-  << : *FREEBSD_15
-  << : *FREEBSD_RANDCONFIG_TEMPLATE
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:29:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:29:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916783.1321819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9az-00006c-1M; Mon, 17 Mar 2025 12:29:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916783.1321819; Mon, 17 Mar 2025 12: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 1tu9ay-00006V-TG; Mon, 17 Mar 2025 12:29:28 +0000
Received: by outflank-mailman (input) for mailman id 916783;
 Mon, 17 Mar 2025 12: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tu9ax-00006N-NB
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:29:27 +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 767fd4a2-032b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 13:29:25 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-390effd3e85so3583814f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:29:25 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7eb92csm15209457f8f.91.2025.03.17.05.29.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 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: 767fd4a2-032b-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742214565; x=1742819365; 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=823G+J4ZKO7/nLi4x73IIWjsB5UpvNUVZTwsq9acxgI=;
        b=B//G1WU/Vp1VGlf0M1qX0d4qpLM4XNslbsO2ofdSGJ6pgiQXd4apK/5GfLTHMjothE
         ehIrEw1563/vGHR1+wkfuIlFsupEV5HXCeP6M+cDxLtAZk8si7s9izqgA9IDRW/X2Wnm
         /O0yvA/xcKDmsVXcu/9eF0S2EH/JTvmo9s9FA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742214565; x=1742819365;
        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=823G+J4ZKO7/nLi4x73IIWjsB5UpvNUVZTwsq9acxgI=;
        b=ZJFR4uE4rf9oiD7JkG/iCZBjttG5nx5xA/2WZOHSEAyUl74peMdE4jdLZjVBUWtqw7
         QbR5NGUVb4J44KLOQJ5DQKMsRnmo2YBOOakoLJcLjZI4U7djh4uNIx94HKJLPEL0odD5
         rPfBxpt/q6S6ordVs+3Tn+LQFAULQj7adUWvwuKXyg1qLEDCUjMlQfHUihZg6Gyum4jN
         IGeusHNof3b2gmRRctlOBEXcHT18ky9c3atiSN0HuBAD6mxg5uUSob7Q/ewYB/PsWQgN
         lKN+brCV+mGkf0X+XU3hBW6gyakPB09/K88hyGNVF/dUyh9np5FmH6y8FwvT8OiUGh7T
         TrYQ==
X-Forwarded-Encrypted: i=1; AJvYcCXb32YqrRGyEU7XBar7QCC2C02mOZE/GgzKxdEULmQAueGCF8CLfzyNMsve86hgsOVKS3Xg/2ZWKkc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxaM7Gnf5ZBLy9iiSLgBXzXks/vCXVhRNWC+Am7gau+Am0dg7dA
	qWdExOtguNQRd0OV8g59hGVdDRq6a7egAzRAp2nbm8zUPd4iiy8IIu2MUEJg70U=
X-Gm-Gg: ASbGncvcaUBf6wJGk9q04thwodp/xQwyprHzf+n9anmpgwDo94+VA06U+pOT0uptlVi
	IobDupwFCxz5jJggzW7h0+SMEwiLRHIEaV9GYD7SeCOsTemHYUXMDjSPhtc+3tGnngnZsP1BEkI
	L0M+5W0lzgjLW9PPA36Id+Bh7bjxEpkAIJDiHAwgAWAd0HYaD/b81NOGghT+tFjIcGwHnblp+az
	bvDt5FLw3XWc8CUSlQJsxPBsX2PGRJz5p/7ijzBhoL9HpErexysa1hoxbPFZ4pNu3uVx3ToAaGG
	q227T3z8Q77fIjMjs+rijinoXqPg1JYRTNmifr5/D9VI2D/qHjVMoajX6GoSGqqbdx636QwxuQR
	NJK7ggBVO
X-Google-Smtp-Source: AGHT+IFXULe/XJktsZh8T2eGd/Lm0QEzKIGL4RKkIQYEUGPZdkIt9s7Fr9r6Q80sJspkIPdbaYYhyA==
X-Received: by 2002:adf:a31b:0:b0:390:eb50:37c3 with SMTP id ffacd0b85a97d-3971e0bfa2emr10936941f8f.27.1742214565108;
        Mon, 17 Mar 2025 05:29:25 -0700 (PDT)
Message-ID: <46821c0b-45ca-4016-a997-518ea29475c7@citrix.com>
Date: Mon, 17 Mar 2025 12:29:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/traps: Drop incorrect BUILD_BUG_ON() and comment in
 load_system_tables()
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: <20250314183346.77356-1-andrew.cooper3@citrix.com>
 <5fa5f84b-0cae-4757-af06-155d68de3209@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: <5fa5f84b-0cae-4757-af06-155d68de3209@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 9:03 am, Jan Beulich wrote:
> On 14.03.2025 19:33, Andrew Cooper wrote:
>> It is only the hardware task switching mechanism which cares about a TSS being
>> at least 0x67 bytes long.
> I/O bitmap accesses are where this particular limit comes into play. For
> 32-bit task switching a slightly shorter one would still do, I think?

Even by x86 standards its a terrible hack.Â  32-bit task switching
mandates 0x67, even though the IO bitmap is not accessed for the
outgoing or incoming task.

For IO accesses in general, a limit shorter than the IO bitmap pointer
means no IO bitmap, and IO accesses in Ring3 take #GP.

>
>>  Furthermore, since this check was added, the limit is now 0x6b if CET-SS is
>> active.
> Which isn't reflected at all in struct tss64: Aiui that's an addition to the
> 32-bit TSS only.

0x67 isn't relevant to tss64 either.Â  It's strictly for hardware task
switching, which is strictly for 32bit.


>> --- a/xen/arch/x86/cpu/common.c
>> +++ b/xen/arch/x86/cpu/common.c
>> @@ -900,8 +900,6 @@ void load_system_tables(void)
>>  		wrmsrl(MSR_INTERRUPT_SSP_TABLE, (unsigned long)ist_ssp);
>>  	}
>>  
>> -	BUILD_BUG_ON(sizeof(*tss) <= 0x67); /* Mandated by the architecture. */
>> -
>>  	_set_tssldt_desc(gdt + TSS_ENTRY, (unsigned long)tss,
>>  			 sizeof(*tss) - 1, SYS_DESC_tss_avail);
> All of the above said, the removal worries me primarily with the sizeof()
> still in use here.

Xen uses IST4 but not IST5.

Xen could set the limit to 67 (== 0x43) and everything would continue to
be fine.Â  In fact, this is quite possibly a better option than poisoning
IST[5..7].

I'm deleting the BUILD_BUG_ON() because everything about it, even the
comment, is incorrect for Xen.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:32:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916801.1321829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9dv-0002uU-Cn; Mon, 17 Mar 2025 12:32:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916801.1321829; Mon, 17 Mar 2025 12:32: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 1tu9dv-0002uN-9t; Mon, 17 Mar 2025 12:32:31 +0000
Received: by outflank-mailman (input) for mailman id 916801;
 Mon, 17 Mar 2025 12:32: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tu9dt-0002uF-VZ
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:32:30 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2c4ec05-032b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 13:32:28 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-223594b3c6dso84112065ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:32:28 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7371157369bsm7416386b3a.75.2025.03.17.05.32.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 05: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: e2c4ec05-032b-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742214746; x=1742819546; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=Oyp/sXA6zm/jIFx5SAtvaTM9xGR+yh+TpAnhYSQJpn0=;
        b=to+yIxF6UU9JfxexCcfnMCg9jhIzyElNShNUUPow9FDPTOcGr5mNz1vUJT4lSsu8/z
         UC4lhlSEFowR7uR64yAwylViZSoC46Ry1K43cosXtZLPCtFWC3oQojuBwidSrTT80jW8
         U6uV41ulqcfU41d761k4p2h00ive8OnPpYT5E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742214746; x=1742819546;
        h=in-reply-to: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=Oyp/sXA6zm/jIFx5SAtvaTM9xGR+yh+TpAnhYSQJpn0=;
        b=Oh9VcOD+Oa6E1eZzn0poOgxDa+DM5MxRlEB70u4VkzCpPFGEySMHFhv/FSEHCp4VG4
         5T15QkKNNjclwv6iCc/ZWIu1/XJhlVeau9tAEzFvPYvd0poWR/5ch9GNx2LPFcrC7Z7w
         kTBCEjOWIe3/asXKE1yDDxZQGx1R9hJTbLa8VXhjwlxQKazFkSiwuwPCVrMuHf+WcP6+
         t1SIJ5UllJavqX2b9WseHuWA/y/HpiNVY1WxeJ/+MDm7Pgye10ZME9O0U+ZicJVe2veJ
         1LYWnVwLlpcbmd6UqCWm/6T2WWIir1rYFNfrPk/hgkJrzCcWpiI4uJRvhRQ6fHTle+om
         Rjtg==
X-Forwarded-Encrypted: i=1; AJvYcCVApt3cfzsVaDGJqx/tNOmNlkIOMMxhEhID27sN05kOkvxenagLxonjYWh5WDg+cfln+6yWdgHKlug=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxfV7wutaC0PDd5/8IKS9yStdK5uvNp6X06scYMR9jyBsLLAhgk
	dG7mcePgNJUNbxL0qNGG38ixrd60yPMOXqwHjorpnpJyuEBzPfTUY2BlcKdbpr0=
X-Gm-Gg: ASbGnctKp7YFvu1tNGvdwpB/TG24T/6GdbLyM8YYH3gwHcon1vqtOpF8zui1WXJzK7/
	Mloh9g5ZFllKdmAfTbpCxVU9BaQUDidCEaH+YwYg7CPxMUN4YywSn+Rn8dE32NexZfkcyAYKtl+
	AIbrk0S/k5Ejc8sF8iP7SDtKzQxxejG2UQRa+zvnUzmOIDL91UCcSJYLT/NoL0NMk9T6a9EaY7t
	36YntkeZNAmhQPCkw+7ZJEVAMTLf2+TAn1pQA6KbbrRz5ulIJfylWPbu9OA5/sfRRwf0V3mi8cX
	Y2ekl07SYEGleiE0v5lh8s9XpiAPEljMeoxs8xZvHiLj68yjQUe/+7s=
X-Google-Smtp-Source: AGHT+IF0488juA/8ZcyXts4gUE/gxnJtyZJNyLNF44xKoaryRB6HfUeBFXrbpmzfis3i6kPJCzSn6w==
X-Received: by 2002:a05:6a21:3992:b0:1f5:7c6f:6c8b with SMTP id adf61e73a8af0-1f5c11711b3mr16721212637.10.1742214746553;
        Mon, 17 Mar 2025 05:32:26 -0700 (PDT)
Date: Mon, 17 Mar 2025 13:32:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
Message-ID: <Z9gWVThk_OFhlzW1@macbook.local>
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <D8F8IW559J11.2G40MDQH23I44@cloud.com>
 <7b4f47c2-ce03-44e9-907a-acd56e56a9ff@amd.com>
 <D8FXALVEWMGZ.2C16ABCKLKQRY@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <D8FXALVEWMGZ.2C16ABCKLKQRY@cloud.com>

On Fri, Mar 14, 2025 at 10:39:04AM +0000, Alejandro Vallejo wrote:
> On Thu Mar 13, 2025 at 5:43 PM GMT, Stewart Hildebrand wrote:
> > I think this just reinforces the need to rework the BAR mapping
> > machinery.
> 
> Right. The most delicate part is dealing with races with another vCPU when the
> unmap-then-map operation does not complete in a single taking of the vpci lock
> I'd say. And that much is unavoidable, I think, because either unmapping or
> mapping might take a while.

The original code was put together for dom0, I bet there are some
races that can lead to incomplete p2m mappings if the domain attempts
parallel manipulation of the BARs and memory decoding bits.  However
there should be no case where an unexpected mfn gets mapped into the
p2m as a result of such races.

It's fine for a domain to shot it's own foot if it attempts to do
concurrent PCI accesses to explicitly trigger races in the MMIO
mapping handling, as long as this doesn't cause issues to other
guests, and doesn't leak memory.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:39:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916815.1321839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9kM-0003qt-0z; Mon, 17 Mar 2025 12:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916815.1321839; Mon, 17 Mar 2025 12:39: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 1tu9kL-0003qm-Ud; Mon, 17 Mar 2025 12:39:09 +0000
Received: by outflank-mailman (input) for mailman id 916815;
 Mon, 17 Mar 2025 12:39: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tu9kL-0003qe-F7
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:39:09 +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 d158b4ea-032c-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 13:39:07 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so17680545e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:39:07 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe609a2sm103275555e9.30.2025.03.17.05.39.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 05:39: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: d158b4ea-032c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742215147; x=1742819947; 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=yy7UblOdya72+AXgCbiP0q8d0JXaeV2NapHM3MGFX9w=;
        b=CTeC1+xBCyLF1vBE8xX/lRoI1mbY4GMyQHq9yGstsR0SD2FOkJ6oOkim3sWsisjCuq
         uewgKpUoY8CVOY7RwMoaD9UMs3Ig6pWk3QDABFY6OfFqdrOlRSSKNchrjRJVWfzXkk/Y
         iA12/1dfecc2sAnLvM/5/6WAvjUW+G1qfiQjE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742215147; x=1742819947;
        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=yy7UblOdya72+AXgCbiP0q8d0JXaeV2NapHM3MGFX9w=;
        b=KULaRPSvtciUW5BNszX4P7dpe4kWbuqq6Ukl+enhKNtH0d+kTx2vPiw0YxmlnI1Bbo
         cIMEdAvgY2bCf3IKLhcnLEG166hRfPw14IDoqxBm4ozD4GrlHthETerriT9Ghl9zQBQJ
         I14RXOH694sS4ZejkR+FdJXBrrVuQj8uds5a4DE1qKBmH1eXhw8yxDB6O59yKCHDubdW
         DtBfKxYhyVQ1UEl7YIGjlLTCx2YAPsTrguok0gWt51O8Y7BkQ/0h47PKyvZsN6QmzQGB
         4n86DgBXKCgg5Fl3eTXhk0U+5US4OD+/UEala6em0IixMWKpxNIvLZcEE/FZA79jX6Ue
         mR5g==
X-Gm-Message-State: AOJu0YwRpgp+s5TyqEhencrBWOQgZJTTPWV1OihOrEaGG4XdDzQzhBvZ
	lCKnoi7wNZXw3RoZBDL0Xvj7CFMCLDiRChjqmhKTYDLDqrnnb89TXLfJFvjEF2s=
X-Gm-Gg: ASbGncsyX8zk4+WgvGgYgsDMGlu/8bGvsB9m+zNux63CUFeZsHWJlW7nIeVuqbHJsYw
	f94W2O8KzxjWIl5INGezPuhI+lufNl2wylIVRiWIFHTUNPj/WjKuebI/6uk+FWr0f+CZKlQIQ6r
	QyCb9zfs7GWrgPfExCg7/Utq1K2Slec8HJoNRZJe41a1J6N9L3zfBzFzMi0QfHXkGQkDo9ErgxP
	JK4x1l05/oPVB9KcaltliRO4MDoygZO7IMdPBWN1H1+IOrFuG4SWL0WCZWKMOevNrJshKV5Nfma
	0xbqd8r7E98VjOktfYionasUVvdA9UVFXYHXBdgwEVkQEsRnKQVyJ7YSQTw90dyocNWlKHhr622
	kPVnLRiNNGV9KCmH/71w=
X-Google-Smtp-Source: AGHT+IHb4DIKOWc0AHVgVob44c3YuFwSurOgVMR6UbUt/jVq1y2btERl+8o3KRryS7hZjUjd4+c3lg==
X-Received: by 2002:a05:600c:418a:b0:43c:e7ae:4bc9 with SMTP id 5b1f17b1804b1-43d23b968damr63426255e9.1.1742215146879;
        Mon, 17 Mar 2025 05:39:06 -0700 (PDT)
Message-ID: <aefc3dd1-1509-4021-9a43-a09ed57ba5b4@citrix.com>
Date: Mon, 17 Mar 2025 12:39:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Fix zap_low_mappings() to map less of the
 trampoline
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250106112652.579310-1-andrew.cooper3@citrix.com>
 <2f12f38e-9629-40fd-b532-6b6f82ecfe1f@suse.com>
 <4bff530c-9f96-4b59-b6cb-86349c576690@citrix.com>
 <0565db90-5734-4795-8988-efd3e72cc770@suse.com>
 <Z9FaeksA0d9Ms15m@macbook.local>
 <82348f8b-7e5e-43ab-8eab-975d84cdda46@citrix.com>
 <555dcea6-1359-43c3-93fd-338744099387@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: <555dcea6-1359-43c3-93fd-338744099387@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 7:56 am, Jan Beulich wrote:
> On 14.03.2025 20:00, Andrew Cooper wrote:
>> On 12/03/2025 9:57 am, Roger Pau MonnĂŠ wrote:
>>> On Wed, Mar 12, 2025 at 09:31:37AM +0100, Jan Beulich wrote:
>>>> On 11.03.2025 21:47, Andrew Cooper wrote:
>>>>> On 06/01/2025 11:54 am, Jan Beulich wrote:
>>>>>> On 06.01.2025 12:26, Andrew Cooper wrote:
>>>>>>> Regular data access into the trampoline is via the directmap.
>>>>>>>
>>>>>>> As now discussed quite extensively in asm/trampoline.h, the trampoline is
>>>>>>> arranged so that only the AP and S3 paths need an identity mapping, and that
>>>>>>> they fit within a single page.
>>>>>>>
>>>>>>> Right now, PFN_UP(trampoline_end - trampoline_start) is 2, causing more than
>>>>>>> expected of the trampoline to be mapped.  Cut it down just the single page it
>>>>>>> ought to be.
>>>>>>>
>>>>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>>> Thanks.Â  However,
>>>>>
>>>>>> on the basis that this improves things. However, ...
>>>>>>
>>>>>>> --- a/xen/arch/x86/x86_64/mm.c
>>>>>>> +++ b/xen/arch/x86/x86_64/mm.c
>>>>>>> @@ -718,14 +718,16 @@ void __init zap_low_mappings(void)
>>>>>>>  {
>>>>>>>      BUG_ON(num_online_cpus() != 1);
>>>>>>>  
>>>>>>> -    /* Remove aliased mapping of first 1:1 PML4 entry. */
>>>>>>> +    /* Stop using l?_bootmap[] mappings. */
>>>>>>>      l4e_write(&idle_pg_table[0], l4e_empty());
>>>>>>>      flush_local(FLUSH_TLB_GLOBAL);
>>>>>>>  
>>>>>>> -    /* Replace with mapping of the boot trampoline only. */
>>>>>>> +    /*
>>>>>>> +     * Insert an identity mapping of the AP/S3 part of the trampoline, which
>>>>>>> +     * is arranged to fit in a single page.
>>>>>>> +     */
>>>>>>>      map_pages_to_xen(trampoline_phys, maddr_to_mfn(trampoline_phys),
>>>>>>> -                     PFN_UP(trampoline_end - trampoline_start),
>>>>>>> -                     __PAGE_HYPERVISOR_RX);
>>>>>>> +                     1, __PAGE_HYPERVISOR_RX);
>>>>>> ... literal numbers like this - however well they are commented - are
>>>>>> potentially problematic to locate in case something changes significantly.
>>>>>> The 1 here really would want connecting with the .equ establishing
>>>>>> wakeup_stack.
>>>>> how do you propose doing this?
>>>>>
>>>>> PFN_UP(wakeup_stack - trampoline_start) doesn't have the same obvious
>>>>> connection, and it would involve partly undoing 7d73c6f196a5 which hid
>>>>> the symbol recently.
>>>>>
>>>>> While 1 isn't ideal, it is next to a comment explaining what's going on,
>>>>> and it's not going to go stale in a silent way...Â  (It's also not liable
>>>>> to go stale either.)
>>>> If in
>>>>
>>>>         .equ    wakeup_stack, trampoline_start + PAGE_SIZE
>>>>
>>>> PAGE_SIZE was replaced by a new (in asm/trampoline.h) TRAMPOLINE_PERM_SIZE,
>>>> you could use PFN_UP(TRAMPOLINE_PERM_SIZE) here to establish a connection.
>>>>
>>>> I have to admit I also don't really see why things going stale here would
>>>> (a) be unlikely and (b) be guaranteed to not go silently.
>> The size can't go to 0 or everything will break, and if it goes larger
>> than 1 (which it almost certainly never will), then APs and/or S3 will
>> break, and we've got both of these in CI.
>>
>> Furthermore, the actual thing which matters is:
>>
>>> /* Map the permanent trampoline page into l1_bootmap[]. */
>>> movÂ Â Â Â  sym_esi(trampoline_phys), %ecx
>>> leaÂ Â Â Â  __PAGE_HYPERVISOR_RX(%ecx), %edx /* %edx = PTE to writeÂ  */
>>> shrÂ Â Â Â  $PAGE_SHIFT, %ecxÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* %ecx = Slot to write */
>>> movÂ Â Â Â  %edx, sym_offs(l1_bootmap)(%esi, %ecx, 8)
>> which hardcodes 1 page, because there's almost certainly no chance this
>> will ever change.
>>
>>>>  We just don't
>>>> know what we may need to add to the trampoline, sooner or later.
>>> Maybe we could introduce trampoline_{ap?,runtime?}_{start,end} that
>>> covers this more narrow section of the trampoline code?
>> We already have one of those, and a linker assertion that it stays below
>> 1k, so wakeup_stack is at least 3k.
>>
>> The complexity is that the wakeup_stack overlays some init-only logic in
>> the placed trampoline.Â  It's not something that exists concretely in the
>> Xen image.
> Well - you've got an ack; while I'd prefer if connections were properly
> made, I agree it's unlikely the size will grow enough for it to matter. So
> I think you should feel free to put this in as is.

Thankyou.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 12:42:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 12:42:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916828.1321848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tu9nH-0006MC-GW; Mon, 17 Mar 2025 12:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916828.1321848; Mon, 17 Mar 2025 12:42: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 1tu9nH-0006M4-Dm; Mon, 17 Mar 2025 12:42:11 +0000
Received: by outflank-mailman (input) for mailman id 916828;
 Mon, 17 Mar 2025 12:42: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tu9nF-0006Ka-UF
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 12:42: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 3d85b730-032d-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 13:42:09 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3f4so2563802f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 05:42:09 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c888117csm14663202f8f.44.2025.03.17.05.42.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 05:42: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: 3d85b730-032d-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742215328; x=1742820128; 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=mombFkLQhrvyUyrJB8DEv0DVDhmEvDRHay+ZAwFp1ko=;
        b=k6Cmb44HsBqIu2UHpHh9RZk2lcbCgzAj1bLDBFBfzrmWP27RvLMe2kg26NXQBIikug
         Ibp2YbxptiDf9Qe0vMYbzxxaalxTnBsCohsHf9caNTsnxmpFZ5l52JjDVgwyaa25xZJ6
         c0KbkWSi/DcrelOGRm1iJMJWr8nqkfRPGe5E8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742215328; x=1742820128;
        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=mombFkLQhrvyUyrJB8DEv0DVDhmEvDRHay+ZAwFp1ko=;
        b=p9r7CRXs4r1HUSDs6gGfcUpCOeETexQlagt9y5mx9vPTDpn+RmuLqnEdL4nn9kVNDA
         LKwyTby1gBQ8i8fxWYyjJ5rM5fnJWcjYprw4tLBF9hVpjgURwh8Xw2Rb+k5y40L5Iaf4
         5Wgy2CKqLXRuzgrMQgJRcOKFmQUSEIgV1o62KevfPlUxk0yLDQpMyBdoXP2VtnhrSWKn
         abTu2+6nYVfuFjiiCRZyFe5YgK5JaX5A6so2BHoXbXIajkloffReMqrs3CsoZY17JnqY
         Nnjjpt2hsV4QbyEJrfquXCjqGMgVXaDQ/BBt5sun3A+e7eLV/Q0u9ddOij+LLSGtWUk+
         Wu2Q==
X-Forwarded-Encrypted: i=1; AJvYcCU49/j6p4W68IexzFD0raYO4MGaRKcfQHV9Y3sH+yXRWpOqx0vjpkO1ROms4HIh3R1Pvw6WMaGSdc4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyph/uOYHyPdA/CALGyianaR1bNrpMGOuXxcf0RXo9VbjazVYsq
	1f6h95KqEoclWkGIkzstC8pR4f/UGjG4acbmtmY4msZWc63hg2EfGsignMFpCTg=
X-Gm-Gg: ASbGncsz3PAuV53+jccPL0UpDKrcOEMmIUpbi1mgLqY0605DgWmzgrQBmwCt+E65ixC
	F7gM8EHeumRluY4H9LpXvpUNBnFiLX3C9/8sGrMjWZ+cuozzYe6sEImVS2EQu9albhWcZ+j0i+t
	N5dHtEIA51vizW0DNSaYQQigLw3caayBRGF6b0JgV/JupycEoJrZPhNp+omCDEW4HO89j9yHxM6
	inJ5Aqq/cYoPpZaJsQJmC6wm9AKXfoZYTnD6kH+o4XmYFDLx+8+s8iuZnLjsXuxi+lg/jPVra6F
	pB6qg1lKabW53Upk7PpkZ9wZsrD2P3sA3Rz1SeNHENqa9ukhcjwjcY+5OSofn41mjqou2+ExdLr
	E7s1n/snb
X-Google-Smtp-Source: AGHT+IGEgSy3Mjj1BDcZX5Hnjxf6m3XWfeQQRcY5G4JmOcPjJ4yqJMEn5X7AIeQ+gRyAhrquKnXXzg==
X-Received: by 2002:a5d:64e5:0:b0:391:496b:5646 with SMTP id ffacd0b85a97d-3971e2adae5mr10620376f8f.28.1742215328521;
        Mon, 17 Mar 2025 05:42:08 -0700 (PDT)
Message-ID: <d65e6700-87e9-4cb3-bf00-165e9cd4464f@citrix.com>
Date: Mon, 17 Mar 2025 12:42:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/hvm: add HVM-specific Kconfig
To: dmkhn@proton.me, xen-devel@lists.xenproject.org
Cc: anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com
References: <20250315011945.2927542-1-dmukhin@ford.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: <20250315011945.2927542-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15/03/2025 1:19 am, dmkhn@proton.me wrote:
> Add a separate menu for configuring HVM build-time settings to better
> organize HVM-specific options.
>
> HVM options will now appear in a dedicated sub-menu in the menuconfig
> tool.
>
> Also, make AMD_SVM config dependent on AMD config and INTEL_VMX on INTEL
> respectively.
>
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

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

I'll take this as-is, and the cleanup can come later.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:03:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:03:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916841.1321860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuA88-00039e-53; Mon, 17 Mar 2025 13:03:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916841.1321860; Mon, 17 Mar 2025 13:03: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 1tuA88-00039X-1A; Mon, 17 Mar 2025 13:03:44 +0000
Received: by outflank-mailman (input) for mailman id 916841;
 Mon, 17 Mar 2025 13:03: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuA87-00039R-3a
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:03:43 +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 3dd7a622-0330-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 14:03:38 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-39127512371so2669687f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 06:03:38 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b69eesm15093717f8f.34.2025.03.17.06.03.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 06:03: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: 3dd7a622-0330-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742216617; x=1742821417; 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=iituPOWeN7/57AUuX7w7eZmcJ2mfPtwbbhqzrl7zGf0=;
        b=IdvQK52eF7zXxkC/pcNQppnNMlUfQ2maJIjXZsOeI6H/IiJIeUke75knS6PY6fsIKi
         euG+PZv4lParIejkDQuqHPrWlO8DkGv2xaWQ68nCgPdNqwDB+yqAj4KSy909QYmlP8vB
         T/VFC1SZDiNA/EqZlznxQ0x7Pybttd1ga/Rpg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742216617; x=1742821417;
        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=iituPOWeN7/57AUuX7w7eZmcJ2mfPtwbbhqzrl7zGf0=;
        b=tMZRyS7V8gC2UzpLzvLOWtyHxM2nDJe5fy5ULZl4L71glSqF7k+A7Do3xf79xAcaCx
         bM/HLEVt7AGJeQhCzN/PRKZ1+4XaRZzdcJZ5BnDAY7Nvc7bfjs2yMkkyS7pjuQKlCFww
         aN5It0Ya65TLLdmsAKLA8gfyD08uehVmUnWjwmXVTYA08JtgEqrZH4ZS/KhvNkMTYT/4
         YUHO7jKICHrp8XI3Rf0hpV3PrG2Geo4p1zk5+WkszvWaJuVkPWUB1FmJIR1LsNO9/eqS
         k1tjivjB96OsEytEjzU009TfTPjxJv8gp8qBydChA9erluJKf0NbuNT4zQd1jWcY33bM
         ytgg==
X-Forwarded-Encrypted: i=1; AJvYcCX7eb4b6grPiKTI0J0hBSakj2StLLIuhJLIVjcPzUymcOmPzfQHy/o/ITd667F+k9JMeT+6mxBZzrc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybzJrWOY+udyMiT1jWNrzNBvxA22qz04diX64ZlavKJhcP74Hs
	CQ4x3yxQLtwmiFN6JvCGUfZefN0KPZDhzYvzH6H1ktVj5j+7TdlvuNf404LMkqs=
X-Gm-Gg: ASbGncsbMk+szdI9V+td3raQqIdIIMaUjVOlbJ73oEZshGairfWTIjx3UB4dt3ie8GK
	iaVk6iXrWu6i4InmERi+RjAUc+18NK1bhpX3IMK2bB28p5p1NJ6TKHcKyVoJbOMWZmDnzTP3OCg
	lxTzFt28HeMeed/v715eV1FYC14skdY9u1xMHL93w9THQ1Ibb78rbo5Uenwuagq9QlZn2ylZKHL
	Zl+70gNEJp1wGIxBBtEmIiTwr6RCECowW21fW8Uz+VppZnxbkDa8C3TncgvDglDUgYRN50Ayo4J
	wI6lheLD6ZvpktLjBhgS0DlZXSVOV+e+faZqo3TbdYBXj2lxsnKC8GaP3ijClkxG8x3Kwr/e8t3
	0Qc9FGwMR
X-Google-Smtp-Source: AGHT+IF+UldFh51k9l/O2zC6OSOfy6DhcKnIk97JYdNdj4AQaGB2K0o7ZMWTCZIvwtdlHKzDhSLiWA==
X-Received: by 2002:a05:6000:2aa:b0:390:f400:2083 with SMTP id ffacd0b85a97d-3971a2a2ba7mr15568493f8f.0.1742216615948;
        Mon, 17 Mar 2025 06:03:35 -0700 (PDT)
Message-ID: <d6c32a72-5bf3-4d02-ab2c-a1ba04e6d8f7@citrix.com>
Date: Mon, 17 Mar 2025 13:03:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/3] x86/irq: cleanup use of open-coded values
To: dmkhn@proton.me, xen-devel@lists.xenproject.org
Cc: anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com
References: <20250315010033.2917197-1-dmukhin@ford.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: <20250315010033.2917197-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15/03/2025 1:00 am, dmkhn@proton.me wrote:
> Remove uses of open-coded value 16 in x86's interrupt management code
> to enhance readability.
>   
> Patch 0 makes a cosmetic rename NR_ISAIRQS -> NR_ISA_IRQS as per
> code review [1].
>
> Patch 1 makes use of NR_ISA_IRQS in the code where necessary.
>  
> Patch 2 adds new symbol APIC_VECTOR_VALID and makes use of it.
>  
> No functional changes.
>  
> [1]: https://lore.kernel.org/xen-devel/20250314011528.2608217-1-dmukhin@ford.com/
>
> Denis Mukhin (3):
>   x86/irq: rename NR_ISAIRQS to NR_ISA_IRQS
>   x86/irq: use NR_ISA_IRQS instead of open-coded value
>   x86/irq: introduce APIC_VECTOR_VALID

I've taken patches 1 and 2, and confirmed that 2 has no compiled delta
in it.

I'm on the fence over 3, for similar reasons to Jan.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:22:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916855.1321869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuAPr-0000Ff-Jz; Mon, 17 Mar 2025 13:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916855.1321869; Mon, 17 Mar 2025 13: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 1tuAPr-0000FW-H1; Mon, 17 Mar 2025 13:22:03 +0000
Received: by outflank-mailman (input) for mailman id 916855;
 Mon, 17 Mar 2025 13:22: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=1Z1w=WE=boeing.com=Anderson.Choi@srs-se1.protection.inumbo.net>)
 id 1tuAPp-0000FQ-V8
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:22:02 +0000
Received: from clt-mbsout-02.mbs.boeing.net (clt-mbsout-02.mbs.boeing.net
 [130.76.144.163]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd3b739b-0332-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 14:21:58 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by clt-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52HDLt5Z003796; Mon, 17 Mar 2025 09:21:56 -0400
Received: from XCH16-11-07.nos.boeing.com (xch16-11-07.nos.boeing.com
 [144.115.66.34])
 by clt-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52HDLnjN003728
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Mon, 17 Mar 2025 09:21:49 -0400
Received: from XCH16-07-08.nos.boeing.com (144.115.66.110) by
 XCH16-11-07.nos.boeing.com (144.115.66.34) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Mon, 17 Mar 2025 06:21:49 -0700
Received: from XCH19-EDGE-C02.nos.boeing.com (130.76.144.198) by
 XCH16-07-08.nos.boeing.com (144.115.66.110) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44 via Frontend Transport; Mon, 17 Mar 2025 06:21:49 -0700
Received: from USG02-BN3-obe.outbound.protection.office365.us (23.103.199.150)
 by boeing.com (130.76.144.198) with Microsoft SMTP Server
 (version=TLS1_2, 
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Mon, 17 Mar
 2025 06:21:32 -0700
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:19b::17)
 by BNAP110MB2128.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:1a6::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.31; Mon, 17 Mar
 2025 13:21:29 +0000
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d]) by BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d%6]) with mapi id 15.20.8511.031; Mon, 17 Mar 2025
 13:21: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: cd3b739b-0332-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1742217716;
	bh=YaLa3FJtxYSc5gdlxg1oOBwg9ku9Z6qD3QNnVOisFZg=;
	h=From:To:CC:Subject:Date:References:In-Reply-To:From;
	b=Mxz7PJ4DwoR9i4SQ5F5Jr76hk+05a3SxxygUIqvgOv8JdC/NBmnH0VElVC02ua20Q
	 T4esqe93gr41l8gC4pKx3E3BOMwlaXGetEKK3ZXW4iU70pkB9RdMPwtrn7NS2lWLAx
	 zZUqmhJixhcZlxAPlw3XAcVhs/4eCHW1t9INLCmkuQnkegOqhYVG+Xe4NO1TFULDpa
	 XNop5KNIhaHmFSBvk9O4fXRIaeZ+Lue9xdTLA4kfZcX5AS5xDdsCZNvbef7ZlesLjh
	 p/y+5BZMSmjTbtEfL1HE8xkAeKR8ToCnC/Uz6M5d2VQDIaN8zXmDpYIbScR533I83a
	 teshYieHE9iRQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=n3MY/ONuOGbplmAeFt7W2q2hZht64BDpvzS+G9HvsWSxu09R0Uudm3fAmNWMwTDNHdkjpAg5jwpiyUlN5XUwMpYIN1Fn9wSD7p5G6v9asImpqbJAhFt28TeB4/xLKeTzlXPCNXfplJA7MbZ3i5U6CgC8Wk6acbqw8URZlthARe3MQkbqLRPqdJvknVuA0Q4QdRALCMNiIEDeweIxswN+51fQCaKVwMfYj+uPbrr/6AE4S88cQy/5W2xocTLlSrVLOZfKEOjXgkJbI2GnWAMTU5Rh3Q0hobU0QF8B0T/PwkAU5FSGpWKL4/p1IlBagv0aeYkbD3gm4ztOHoOc0mU1fg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YaLa3FJtxYSc5gdlxg1oOBwg9ku9Z6qD3QNnVOisFZg=;
 b=O8HivnHkQb15pE9wI7u/qOc4hLfQqBlC7fGDo3soF29M9y6RtPRGJ36xVx3dQ9zTL6xzPLyIyXtYJS5JHrmIEF6ZhowWrYBqgdjfxRSvrKYRJKkbI4Vvqo+EtrtaRBKCPSHrivyuREPkRZsLUY08ndCVQdtnhq+fGUO+GcvVRMjt/KltcJ3ncQks0mSLiRLFxsH5LI3FQQ0aX/77X4tcTTojmQiYib/rdgqUBlUkgg5iTpNyRRPZ9IdTIs+vtImq+tgHts3gHA855et0lffh/oQ8eq3F8n39qEuth33PMgYmD5XhT0YGFdhmWCFq9XFIubOeP3QzAWt0STQYfFc37w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=boeing.com; dmarc=pass action=none header.from=boeing.com;
 dkim=pass header.d=boeing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=boeing.onmicrosoft.com; s=selector1-boeing-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YaLa3FJtxYSc5gdlxg1oOBwg9ku9Z6qD3QNnVOisFZg=;
 b=EU6/fO2Lz/03Bve/t4apS653IVyuUGG0g5RExd1dy1rEAry25eWtcyypIDAxkINwfYU0FxCLX/erTb6l+vkq6WBanrgWCfEiSG6KSzd6VMR47uVh9T5teR7rIwVGwnxJuLlV8r0zJLU4YNfpEuTNJ38XDiz5/zW8nXucoXeEAZo=
From: "Choi, Anderson" <Anderson.Choi@boeing.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
        "stewart@stew.dk" <stewart@stew.dk>,
        "Weber (US), Matthew L"
	<matthew.l.weber3@boeing.com>,
        "Whitehead (US), Joshua C"
	<joshua.c.whitehead@boeing.com>
Subject: RE: Xen panic when shutting down ARINC653 cpupool
Thread-Topic: Xen panic when shutting down ARINC653 cpupool
Thread-Index: AduW+TkPYPhh1TXsRdStDrK0/zWwnAAGRhuAAAtC5eA=
Date: Mon, 17 Mar 2025 13:21:28 +0000
Message-ID: <BN0P110MB21482540CB855953D54BAB1090DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
References: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <fd4fe44c-6c8d-402c-8b0f-466cf596f8af@suse.com>
In-Reply-To: <fd4fe44c-6c8d-402c-8b0f-466cf596f8af@suse.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=boeing.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB2148:EE_|BNAP110MB2128:EE_
x-ms-office365-filtering-correlation-id: b27e9d66-a1c2-481c-1d22-08dd6556a077
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?Q3RMd29SUmhiYi85WWsxeDNHSGgzRk5idjdYMWlDN3pRVkd4L3ZMNmlRMGN3?=
 =?utf-8?B?QmkyVkJvMGRpdDExMjdSaDBZOEE1REkycm1vVFFXcnhMTEFhSUF1YUNxOFJ5?=
 =?utf-8?B?RnJOVmtNWDk3dlRyQ0duUlhOWEI3QmJBdVM2aTNXYkNRVWJtaldHNDh3Mmg0?=
 =?utf-8?B?bFRFaUIyWW92N3FzOTMwTHZsQkprY1RtSkoyTE1HbVNEdWlGVld3ZDlJVFNr?=
 =?utf-8?B?eHZsR1JENmFDWFFRakNFTVJtNlpYaUxqTXFUcVB5YmxHNllFMzZ1dEdYS0FO?=
 =?utf-8?B?cHZNSzB0Q01kckRWTk8yNnIrMmpiVjcxVnBuUGg3ODNoWm5OYkdXeHpBb1JZ?=
 =?utf-8?B?QUt1VVhNVzhxMzNONzkwdWh2d0VVTldCdzNOSmNDWjRseUFOaGg2MHRMcDAw?=
 =?utf-8?B?QzhJS3BSMHBhSzY4SmpaR3YrUnlER2FEdTdhZDlGOWZITzNEczg3T1lJbVV1?=
 =?utf-8?B?VEtxdWZHb0hPek1YZzFiTTk1RDA0MVA1RkN5bndKVEQ1endWMk9sdUNIQTJC?=
 =?utf-8?B?NzlzQVlWc3VqQlBhL2Vjc3liM1B1c0ErdVJEZ05yZzFJcms3RnkzdFFwUXp3?=
 =?utf-8?B?cnVFSGlPM1VrdE43TDZqdzhJQ2dOdzZ5bCs1anAxTDlTaWRjZHZnYk9mZkhL?=
 =?utf-8?B?MThKRnhhNWZvdUhCcWY5ZWlQelREZ25UamhzS2w4SUlhM3RmdkpJelJOdTVR?=
 =?utf-8?B?elc2MjlXZUFYeXJOaUZyZExTVEFKbEx0RWxQQWtkZXdwM1VpV1dRcWxaSWVG?=
 =?utf-8?B?RjZhUTN0QU5tZkhmdzczTkdlTWF1OWFkYnpGTnJXMDZmSHY3SUxwMmRXSzgz?=
 =?utf-8?B?NGhIbTZsa20vUVlZSDlpTHVvUE1tcjM2eU84NjBFWlZ5aURXMW9uei85VGFv?=
 =?utf-8?B?eGFIYi9QNGxySEVXTDdXM1BHbk1zdU04b05LNHBBY3VnVHJjNTh4cDdhWDE5?=
 =?utf-8?B?dDEwWmRiNVA3MjJweXFMeU03TmZrWERxSGQxMG4weFZLRW53M0ExS0hjNG5I?=
 =?utf-8?B?Q3h4QkE3cXQzVklzeW9RV3lRVHlOMHN2Y1RlUmtPMWZUSDZSbml5UzJsWnRB?=
 =?utf-8?B?TGRJRGFSeTJuZWFocHJWVW5hQzRnbXpRZTNBMWFMb2swYm0rdGQydG1oTGVF?=
 =?utf-8?B?TjFXcGJOa0h6QW9tV3RjQ3JzaDVlOXYzMW1rM1Y0UXNjTlpEaWlTZG83czRp?=
 =?utf-8?B?NElvTkVNQUF3cTAvYVdnOTRSRDBJbUhWTlVOc0hXRXdNekJyamptblZnWEJ5?=
 =?utf-8?B?UVV2VzJyUkV1L2VJUVl4Myt3MVJoZUxJVUM4TzlpUThtRmhod2dwZ3VGWlYy?=
 =?utf-8?B?YUtaeCtVSE1uU0dkRDl4WmxQNkNlVlhGeXNSVmNZckc5cVdvaks3NXRBMVdU?=
 =?utf-8?B?Y2tHSHVvdTY3NzI4aWlHN2hYVnlqa3VsN0pZdy8xQmtYV1lXbTExQ3BZdlZJ?=
 =?utf-8?B?aXFTUDRIcDNGeWJJTXcrS0NHclpGYWtCR2txWFpFVjVVSXVXNkdDZ1lnT1Fv?=
 =?utf-8?B?eGt5eWZjNzRuR2QySmE1dEQzUXluelJxS0ZzS1A0WEdWblh5S01aNmhucytt?=
 =?utf-8?B?cjZvNHczQVByTE5oS1NwVEpzSmJObUNBa0g4SHJwcnh6YnFZYzFROFJ1eEN0?=
 =?utf-8?B?Wk9kMGFZUTZKSnJCaDFZZml1dVZWYm5zdTcyc2Nabnh2LzJYT2dKaUtnZDVx?=
 =?utf-8?B?Qm85aGMvM0VnT1VGRHpENWp3YzJ4RVFlZ092VFhyTjNMVk1aQm5TMWtXNGYx?=
 =?utf-8?B?TTBxdHVaVEdFcFNKZ1RrSi8yL1MzQWM4WEpQYmFIRTVtT2t0ZVR3R3ZHb25W?=
 =?utf-8?B?ZEx1Qmxyc3h1eDFvNmI3NlNGVWNjTlpjam1RRlRGaWdCNGxNcFY4OVVONDl6?=
 =?utf-8?B?SSs3ZFhXMmczTkQ0OE5JQ0pQakZyeWMzWWJpRk92L2FMOHc9PQ==?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MkFPWEZBSWtQUzFoK0RXMStLaXdnT3dIZzdveE9zLzd5c2h5QXk0dCttblVa?=
 =?utf-8?B?eGNHRnJhMHdhWU40cUZQNlFWNExDRXQ0QzBwaHhVcXJCM3NuRzY0cEFhUkFq?=
 =?utf-8?B?V1l3cWJvUnJMN05jekFwUENjbytHUDdqZ05YWkFZL3FZSXdVam9ndjNkTk84?=
 =?utf-8?B?V2d0L0crRXpFM2VXRC8wZUtqNGtWZHFoT2Z2SHROcHZGOGNWUzJ4R1J0d3BE?=
 =?utf-8?B?eVlJQUowWXBBazN0Yy9vQkpmYzZHMXgvQUR3TXUwQUtORWtzVFBnWnZXaEtI?=
 =?utf-8?B?SjZPcGM5UDRMdDhhMVBkOFZtUnpFV0pld2g5aVcra285Q0VISTVNSTgwZWdj?=
 =?utf-8?B?MFY2RWpDTEFQNEdTSzhqY1BzTWtWZkMzZkpPOHFPanUxQmIzZjk3L29JcDRo?=
 =?utf-8?B?QWRVZHZ4SFQ5QVpaOTg1RmdISG01c1FlRzVHc1JTMGMyL2Nxb3dITzdma3Rp?=
 =?utf-8?B?ejFQQkt3bkNFU3JaalhqVEV1Q3RsYit1RWpEbDVlbUFQWHQ4UHQ2UDlrSUFR?=
 =?utf-8?B?dlY1V0p6T3pqZ1NpbGtqQmRseHRESWxTOEhETE1ncktXMi8zQ1pPTHBnZ1gr?=
 =?utf-8?B?TnF6VS8xOThSbHViVEdZTTNIM3p1a2tSejdaa1pGd1BQMmxkVGErd3M4VWkz?=
 =?utf-8?B?SjJFUWFVdGpOR1VjZnhKaytGUXN1N01naTJ6TlJoaWdKeXNJY2s5TFY4Zi9l?=
 =?utf-8?B?ZEpCRFdRY2hxTWJteVAydDNMZnY2dk1KdG9UeE42enZBZU5wUWowS0c0cXdS?=
 =?utf-8?B?M09YUkxCbWpjSkttNTg5T05maWFYZkFVNW0zdklDWlByNTRiR1hSczFDQXcz?=
 =?utf-8?B?aDVrcmh0bFMyRWc4STNpSG9oTUh4RVk1OEtCTk85YTZSZ3ZWYUJEeE5HejdO?=
 =?utf-8?B?dW1uQUlFL2EwTE9QbGllZUl0ZE5Na2gzNjFpNWFTdEUxNUUvN3FQWU9wR1dP?=
 =?utf-8?B?cnZxLzkyMXhMWjFzYVVMNVBxOHliRUlmSlYvekxzTVJySW11bnBGcmszbUYx?=
 =?utf-8?B?UDIzQnFHL1Rja3dlUkNkeStvcVlWTlAreTVrOTllT0dUVWdSRGduOE9NOEJy?=
 =?utf-8?B?c21kRjJQQ2RDbWIyNVk1RlRMMzBNMnp2TGdvaVM5bzlMdjJ1L0pueFhBRHFp?=
 =?utf-8?B?cStYMWR2UGxVSHF5THp1WFMvSEV2TFB2dVYvbzdVYVFpbEpuVmZQd1FXZmFW?=
 =?utf-8?B?NTgvYm5wM1RaQzZqZVlVbWVhQlplOW1UcVAreFkzd25mdmIzUmlXWmVBZWto?=
 =?utf-8?B?eG5YSjdXNWt4YjJuT01kRHg3S2llVnBERzRibTE2cG9FVE9wREhlT2RDMjNi?=
 =?utf-8?B?N3JMZHBJdjIvRFpqMnpnd21xMC9VTGlISXU2TXc1TS9FWEt2THNrblhlNDNG?=
 =?utf-8?B?Uk85eXJvMlRTSHpXSlh0LzdkaDh1WW9HdUtWRjBDbVBzVUNTcGE4dDUzVkRk?=
 =?utf-8?B?Qjk4OWk4Tjl0VUxtak8vR1RZYU1EVVpPS1lwemgwTm82WXRqaDEvaW5Xeisz?=
 =?utf-8?B?TzdNejdIRXRZS0lGbmM4RmVlMm9KTUdtOTZVMlgvaHpXdEllNEVhamVONnhn?=
 =?utf-8?B?dWRBcjJxKzdNQ0RWQy9jNWxFVW83K3prNmVqUkxjeUxjcENpeXQwaFRkL0Yz?=
 =?utf-8?B?YTAvWTQxL293d1RQeGVrRnpXZFE2N3JLUkxZL0RlU0xWQ0lGTlVjZUN4VEdD?=
 =?utf-8?B?WWx1YmR5ZlpBUUUzdDUvRWl6R3JiNCtSa1lUa3BBMzNnSjdNVWhZMS9GU1Mw?=
 =?utf-8?B?aXhCTndRY0hNM2FaemRvSEl0THM1VXdMY2tEb1huZFAyVG5ITUEyZzVaWklM?=
 =?utf-8?B?WlBPL2FESmZJTXhzeERHKytYWVQ0TmJlWjhlam1xUUs2ZXNQT0dtSWUvbkxC?=
 =?utf-8?B?SmhuVHdPejdTSmhWdG54NVA5a2llVnBsZWZ0R3JDUUJkWVN1SnN1ZGl5OW80?=
 =?utf-8?B?VXN0S05tTmcwMzBMRmZiTTcrSWlwcTc0UCt3TmRDVCt6QUwwQWRBZFZFdlBs?=
 =?utf-8?B?dFYyUk9DeFR1NVdWbFpyNEdMSkQ5WVdpQkRXYk9uMHUvMitiK2lUcEpOOXlG?=
 =?utf-8?Q?ypukqe?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: b27e9d66-a1c2-481c-1d22-08dd6556a077
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Mar 2025 13:21:28.9740
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bcf48bba-4d6f-4dee-a0d2-7df59cc36629
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BNAP110MB2128
X-OriginatorOrg: boeing.com
X-TM-AS-GCONF: 00

SsO8cmdlbiwNCg0KPiBPbiAxNy4wMy4yNSAwNjowNywgQ2hvaSwgQW5kZXJzb24gd3JvdGU6DQo+
PiBJJ2QgbGlrZSB0byByZXBvcnQgeGVuIHBhbmljIHdoZW4gc2h1dHRpbmcgZG93biBhbiBBUklO
QzY1MyBkb21haW4gDQo+PiB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dXAuIE5vdGUgdGhhdCB0aGlz
IGlzIG9ubHkgb2JzZXJ2ZWQgd2hlbiANCj4+IENPTkZJR19ERUJVRyBpcyBlbmFibGVkLg0KPj4g
DQo+PiBbVGVzdCBlbnZpcm9ubWVudF0NCj4+IFlvY3RvIHJlbGVhc2UgOiA1LjA1DQo+PiBYZW4g
cmVsZWFzZSA6IDQuMTkgKGhhc2ggPSAwMjZjOWZhMjk3MTZiMGZmMGY4YjdjNjg3OTA4ZTcxYmEy
OWNmMjM5KQ0KPj4gVGFyZ2V0IG1hY2hpbmUgOiBRRU1VIEFSTTY0DQo+PiBOdW1iZXIgb2YgcGh5
c2ljYWwgQ1BVcyA6IDQNCj4+IA0KPj4gW1hlbiBjb25maWddDQo+PiBDT05GSUdfREVCVUcgPSB5
DQo+PiANCj4+IFtDUFUgcG9vbCBjb25maWd1cmF0aW9uIGZpbGVzXQ0KPj4gY3B1cG9vbF9hcmlu
YzAuY2ZnDQo+PiAtIG5hbWU9ICJQb29sLWFyaW5jMCINCj4+IC0gc2NoZWQ9ImFyaW5jNjUzIg0K
Pj4gLSBjcHVzPVsiMiJdDQo+PiANCj4+IFtEb21haW4gY29uZmlndXJhdGlvbiBmaWxlXQ0KPj4g
ZG9tMS5jZmcNCj4+IC0gdmNwdXMgPSAxDQo+PiAtIHBvb2wgPSAiUG9vbC1hcmluYzAiDQo+PiAN
Cj4+ICQgeGwgY3B1cG9vbC1jcHUtcmVtb3ZlIFBvb2wtMCAyDQo+PiAkIHhsIGNwdXBvb2wtY3Jl
YXRlIC1mIGNwdXBvb2xfYXJpbmMwLmNmZyAkIHhsIGNyZWF0ZSBkb20xLmNmZyAkIA0KPj4gYTY1
M19zY2hlZCAtUCBQb29sLWFyaW5jMCBkb20xOjEwMA0KPj4gDQo+PiAqKiBXYWl0IGZvciBET00x
IHRvIGNvbXBsZXRlIGJvb3QuKioNCj4+IA0KPj4gJCB4bCBzaHV0ZG93biBkb20xDQo+PiANCj4+
IFt4ZW4gbG9nXSByb290QGJvZWluZy1saW51eC1yZWY6fiMgeGwgc2h1dGRvd24gZG9tMSBTaHV0
dGluZyBkb3duIA0KPj4gZG9tYWluIDEgcm9vdEBib2VpbmctbGludXgtcmVmOn4jIChYRU4pIEFz
c2VydGlvbiAnIWluX2lycSgpICYmDQo+PiAobG9jYWxfaXJxX2lzX2VuYWJsZWQoKSB8fCBudW1f
b25saW5lX2NwdXMoKSA8PSAxKScgZmFpbGVkIGF0DQo+PiBjb21tb24veG1hbGxvY190bHNmLmM6
NzE0IChYRU4pIC0tLS1bIFhlbi00LjE5LjEtcHJlICBhcm02NCAgZGVidWc9eSANCj4+IFRhaW50
ZWQ6IEkgICAgICBdLS0tLSAoWEVOKSBDUFU6ICAgIDIgKFhFTikgUEM6ICAgICAwMDAwMGEwMDAw
MjJkMmIwDQo+PiB4ZnJlZSsweDEzMC8weDFhNCAoWEVOKSBMUjogICAgIDAwMDAwYTAwMDAyMmQy
YTQgKFhFTikgU1A6ICAgIA0KPj4gMDAwMDgwMDBmZmY3N2I1MCAoWEVOKSBDUFNSOiAgIDAwMDAw
MDAwMjAwMDAyYzkgTU9ERTo2NC1iaXQgRUwyaA0KPj4gKEh5cGVydmlzb3IsIGhhbmRsZXIpIC4u
LiAoWEVOKSBYZW4gY2FsbCB0cmFjZTogKFhFTikgICANCj4+IFs8MDAwMDBhMDAwMDIyZDJiMD5d
IHhmcmVlKzB4MTMwLzB4MWE0IChQQykgKFhFTikgICANCj4+IFs8MDAwMDBhMDAwMDIyZDJhND5d
IHhmcmVlKzB4MTI0LzB4MWE0IChMUikgKFhFTikgICANCj4+IFs8MDAwMDBhMDAwMDIzMjFmMD5d
IGFyaW5jNjUzLmMjYTY1M3NjaGVkX2ZyZWVfdWRhdGErMHg1MC8weGM0IChYRU4pICAgDQo+PiBb
PDAwMDAwYTAwMDAyNDFiYzA+XSBjb3JlLmMjc2NoZWRfbW92ZV9kb21haW5fY2xlYW51cCsweDVj
LzB4ODAgKFhFTikgIA0KPj4gIFs8MDAwMDBhMDAwMDI0NTMyOD5dIHNjaGVkX21vdmVfZG9tYWlu
KzB4NjljLzB4NzBjIChYRU4pICAgDQo+PiBbPDAwMDAwYTAwMDAyMmY4NDA+XSBjcHVwb29sLmMj
Y3B1cG9vbF9tb3ZlX2RvbWFpbl9sb2NrZWQrMHgzOC8weDcwDQo+PiAoWEVOKSAgICBbPDAwMDAw
YTAwMDAyMzBmMjA+XSBjcHVwb29sX21vdmVfZG9tYWluKzB4MzQvMHg1NCAoWEVOKSAgIA0KPj4g
WzwwMDAwMGEwMDAwMjA2YzQwPl0gZG9tYWluX2tpbGwrMHhjMC8weDE1YyAoWEVOKSAgIA0KPj4g
WzwwMDAwMGEwMDAwMjJlMGQ0Pl0gZG9fZG9tY3RsKzB4OTA0LzB4MTJlYyAoWEVOKSAgIA0KPj4g
WzwwMDAwMGEwMDAwMjc3YTFjPl0gdHJhcHMuYyNkb190cmFwX2h5cGVyY2FsbCsweDFmNC8weDI4
OCAoWEVOKSAgIA0KPj4gWzwwMDAwMGEwMDAwMjc5MDE4Pl0gZG9fdHJhcF9ndWVzdF9zeW5jKzB4
NDQ4LzB4NjNjIChYRU4pICAgDQo+PiBbPDAwMDAwYTAwMDAyNjJjODA+XSBlbnRyeS5vI2d1ZXN0
X3N5bmNfc2xvd3BhdGgrMHhhOC8weGQ4IChYRU4pIA0KPj4gKFhFTikNCj4+IChYRU4pICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKFhFTikgUGFuaWMgb24gQ1BVIDI6
DQo+PiAoWEVOKSBBc3NlcnRpb24gJyFpbl9pcnEoKSAmJiAobG9jYWxfaXJxX2lzX2VuYWJsZWQo
KSB8fA0KPj4gbnVtX29ubGluZV9jcHVzKCkgPD0gMSknIGZhaWxlZCBhdCBjb21tb24veG1hbGxv
Y190bHNmLmM6NzE0IChYRU4pDQo+PiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqDQo+PiANCj4+IEluIGNvbW1pdCAxOTA0OWY4ZCAoc2NoZWQ6IGZpeCBsb2NraW5nIGlu
IGE2NTNzY2hlZF9mcmVlX3ZkYXRhKCkpLCANCj4+IGxvY2tpbmcNCj4gd2FzIGludHJvZHVjZWQg
dG8gcHJldmVudCBhIHJhY2UgYWdhaW5zdCB0aGUgbGlzdCBtYW5pcHVsYXRpb24gYnV0IA0KPiBs
ZWFkcyB0byBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIHRoZSBBUklOQyA2NTMgZG9tYWluIGlzIHNo
dXRkb3duLg0KPj4gDQo+PiBJIHRoaW5rIHRoaXMgY2FuIGJlIGZpeGVkIGJ5IGNhbGxpbmcgeGZy
ZWUoKSBhZnRlcg0KPj4gc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgpIGFzIHNob3duIGJlbG93Lg0K
Pj4gDQo+PiB4ZW4vY29tbW9uL3NjaGVkL2FyaW5jNjUzLmMgfCAzICsrLQ0KPj4gICAxIGZpbGUg
Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pIGRpZmYgLS1naXQgDQo+PiBh
L3hlbi9jb21tb24vc2NoZWQvYXJpbmM2NTMuYyBiL3hlbi9jb21tb24vc2NoZWQvYXJpbmM2NTMu
YyBpbmRleCANCj4+IDdiZjI4ODI2NGMuLjE2MTVmMWJjNDYgMTAwNjQ0DQo+PiAtLS0gYS94ZW4v
Y29tbW9uL3NjaGVkL2FyaW5jNjUzLmMNCj4+ICsrKyBiL3hlbi9jb21tb24vc2NoZWQvYXJpbmM2
NTMuYw0KPj4gQEAgLTQ2MywxMCArNDYzLDExIEBAIGE2NTNzY2hlZF9mcmVlX3VkYXRhKGNvbnN0
IHN0cnVjdCBzY2hlZHVsZXIgDQo+PiAqb3BzLA0KPiB2b2lkICpwcml2KQ0KPj4gICAgICAgaWYg
KCAhaXNfaWRsZV91bml0KGF2LT51bml0KSApDQo+PiAgICAgICAgICAgbGlzdF9kZWwoJmF2LT5s
aXN0KTsNCj4+IC0gICAgeGZyZWUoYXYpOw0KPj4gICAgICAgdXBkYXRlX3NjaGVkdWxlX3VuaXRz
KG9wcyk7DQo+PiAgICAgICANCj4+ICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjaGVk
X3ByaXYtPmxvY2ssIGZsYWdzKTsNCj4+ICsNCj4+ICsgICAgeGZyZWUoYXYpOw0KPj4gICB9DQo+
PiBDYW4gSSBoZWFyIHlvdXIgb3BpbmlvbiBvbiB0aGlzPw0KPiANCj4gWWVzLCB0aGlzIHNlZW1z
IHRoZSByaWdodCB3YXkgdG8gZml4IHRoZSBpc3N1ZS4NCj4gDQo+IENvdWxkIHlvdSBwbGVhc2Ug
c2VuZCBhIHByb3BlciBwYXRjaCAocGxlYXNlIGhhdmUgYSBsb29rIGF0IFsxXSBpbiANCj4gY2Fz
ZSB5b3UgYXJlIHVuc3VyZSBob3cgYSBwcm9wZXIgcGF0Y2ggc2hvdWxkIGxvb2sgbGlrZSk/DQo+
IA0KPiBKdWVyZ2VuDQo+IA0KPiBbMV0NCj4gaHR0cDovL3hlbmJpdHMueGVuLm9yZy9naXR3ZWIv
P3A9eGVuLmdpdDthPWJsb2I7Zj1kb2NzL3Byb2Nlc3Mvc2VuZGluZw0KPiAtDQo+IHBhdGNoZXMu
cGFuZG9jDQoNClRoYW5rcyBmb3IgeW91ciBvcGluaW9uLiBMZXQgbWUgcmVhZCB0aHJvdWdoIHRo
ZSBsaW5rIGFuZCBzdWJtaXQgdGhlIHBhdGNoLg0KDQpSZWdhcmRzLA0KQW5kZXJzb24NCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:22:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916865.1321879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuAQY-0000mF-1V; Mon, 17 Mar 2025 13:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916865.1321879; Mon, 17 Mar 2025 13:22: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 1tuAQX-0000m8-U7; Mon, 17 Mar 2025 13:22:45 +0000
Received: by outflank-mailman (input) for mailman id 916865;
 Mon, 17 Mar 2025 13:22: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=ufY0=WE=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1tuAQW-0000FQ-Pb
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:22: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 e8ae4694-0332-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 14:22:43 +0100 (CET)
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 F421721C12;
 Mon, 17 Mar 2025 13:22: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 B83B113A2C;
 Mon, 17 Mar 2025 13:22: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 wLm5KyIi2GdFWQAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Mon, 17 Mar 2025 13:22: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: e8ae4694-0332-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1742217763; 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=ia/d+wONNsrX5RxRJKAMpdajfWEWw/i/nrXUtfwTSwY=;
	b=a9UWa/7X9IQ3l+6A2EVx6jADrO1Yk0EH/H0qHCuJ9epguENWC8NaNNlbZSsZHIkV1WcAO1
	D9JPM9YFIPpsHPko0f9uGNsdC01BPSSkX5/2xMbPAH4LqRsGd9bGE011ncO07zv0Xb6Nfo
	bpTwoqJwve7GL8SDPkSyrhjIetTtXnQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1742217763;
	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=ia/d+wONNsrX5RxRJKAMpdajfWEWw/i/nrXUtfwTSwY=;
	b=QkkQoW6KzIwXRuvAlKdKDmerm3ZE9O6VdFX2P4f/WL1s6bxqA+tF1ZANroCD7uHUVk1BN/
	rk+kquigUC7uEoCQ==
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b="a9UWa/7X";
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=QkkQoW6K
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1742217763; 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=ia/d+wONNsrX5RxRJKAMpdajfWEWw/i/nrXUtfwTSwY=;
	b=a9UWa/7X9IQ3l+6A2EVx6jADrO1Yk0EH/H0qHCuJ9epguENWC8NaNNlbZSsZHIkV1WcAO1
	D9JPM9YFIPpsHPko0f9uGNsdC01BPSSkX5/2xMbPAH4LqRsGd9bGE011ncO07zv0Xb6Nfo
	bpTwoqJwve7GL8SDPkSyrhjIetTtXnQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1742217763;
	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=ia/d+wONNsrX5RxRJKAMpdajfWEWw/i/nrXUtfwTSwY=;
	b=QkkQoW6KzIwXRuvAlKdKDmerm3ZE9O6VdFX2P4f/WL1s6bxqA+tF1ZANroCD7uHUVk1BN/
	rk+kquigUC7uEoCQ==
From: Thomas Zimmermann <tzimmermann@suse.de>
To: airlied@gmail.com,
	simona@ffwll.ch,
	maarten.lankhorst@linux.intel.com,
	mripard@kernel.org
Cc: dri-devel@lists.freedesktop.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 15/15] drm/xen: Test for imported buffers with drm_gem_is_imported()
Date: Mon, 17 Mar 2025 14:06:53 +0100
Message-ID: <20250317131923.238374-16-tzimmermann@suse.de>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317131923.238374-1-tzimmermann@suse.de>
References: <20250317131923.238374-1-tzimmermann@suse.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: F421721C12
X-Spam-Score: -3.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FREEMAIL_TO(0.00)[gmail.com,ffwll.ch,linux.intel.com,kernel.org];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCPT_COUNT_SEVEN(0.00)[8];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.de:dkim,suse.de:mid,suse.de:email];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.de:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Instead of testing import_attach for imported GEM buffers, invoke
drm_gem_is_imported() to do the test. The helper tests the dma_buf
itself while import_attach is just an artifact of the import. Prepares
to make import_attach optional.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
---
 drivers/gpu/drm/xen/xen_drm_front_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xen/xen_drm_front_gem.c b/drivers/gpu/drm/xen/xen_drm_front_gem.c
index 63112ed975c4..62a83c36fce8 100644
--- a/drivers/gpu/drm/xen/xen_drm_front_gem.c
+++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c
@@ -203,7 +203,7 @@ void xen_drm_front_gem_free_object_unlocked(struct drm_gem_object *gem_obj)
 {
 	struct xen_gem_object *xen_obj = to_xen_gem_obj(gem_obj);
 
-	if (xen_obj->base.import_attach) {
+	if (drm_gem_is_imported(&xen_obj->base)) {
 		drm_prime_gem_destroy(&xen_obj->base, xen_obj->sgt_imported);
 		gem_free_pages_array(xen_obj);
 	} else {
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:29:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916881.1321888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuAWu-0001Ta-LL; Mon, 17 Mar 2025 13:29:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916881.1321888; Mon, 17 Mar 2025 13: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 1tuAWu-0001TT-Im; Mon, 17 Mar 2025 13:29:20 +0000
Received: by outflank-mailman (input) for mailman id 916881;
 Mon, 17 Mar 2025 13:29: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuAWu-0001TM-1I
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:29:20 +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 d1dff809-0333-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 14:29:14 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-39127512371so2689542f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 06:29:14 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe065b0sm104385395e9.14.2025.03.17.06.29.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 06:29: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: d1dff809-0333-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742218154; x=1742822954; 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=hStTkF7j2otea7P+xm7CmRMLUm81O+hHPxrJVVQiLl4=;
        b=FNBpFk0GRDBp5Rt8KBDttqvbaSmxfpO82Ma5hMxd7rt1JDhAxBBarxtnZOOOUBwFtY
         udoZqvsVoXTteYgz5ywSyNbMYAveYAeI+pdcETWQSRalWfPaHX2+eKkkb3V307HM29Kj
         MOHrZlCiEGIzSJGlq5ONk7NBpNdA3L26bA1Yg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742218154; x=1742822954;
        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=hStTkF7j2otea7P+xm7CmRMLUm81O+hHPxrJVVQiLl4=;
        b=FPKt0jed51amuuUmq1lgjzzHNkOedzQL5Ka2cmRIILtZynicvqrr773HCCkzBF0HNi
         KpNYAD+LZ1AMGYAyK7WGcp2p8VyvGZDWyLIfZkiTj9zJ8mI8psi8G+B1h0JgMhnMW44J
         Ryy6STcGkDrMNgAEy2KFINQrC31MULIVgq3umLbJTTzsZ+zpmgwexwPBjVpdv+yUqntM
         DlR8NHw+XoXk8ojTg4/WtIRcwvpwyIScBYvVDWV109OoKNMtfrr3gHAANIXzRwjHWFi/
         X99kowZXjQLAJxp0AZ8NeYej6HCk0JrzlIGsl+E6imojq13c9fmaEgIOHAatbsNaoUZI
         Zntg==
X-Forwarded-Encrypted: i=1; AJvYcCVzMVgIW9E7QBnjGFtPWwJqYDoUpnEdmNuCgVMGr4d60limfeFXS+Ah2r5atIWaJoPWDab2UckxYWI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOpaw9wAAMiEqGL03WWAnHgY8d4XTDZLdTMJptgJqpnjwFJNOy
	95mSNmXP8k2kaBNCnJVRuFatgTq9SM+8Rl1RXn5zJyo4GFavyFgYWMM/KCWhrYU=
X-Gm-Gg: ASbGncslB5AroIedRY7KOpFM8U5VtbjmDGjswckG8jmtmGi2ZyGCbWSeQGN6i673kXN
	apd4ivGM+NiHiEtn0angd87iMd7HV7Hcju1PynZ7Lk5N6Q/vuVqgQOwvcCaBkfKVYLkoCe3+jOJ
	kskLOUmtjsroZ4RSAihYZTPbGHPMOaEkt2KpRr4seXbzUT3jWLAAEbRIIHZBb55WQpxNqtbJddW
	O0S7CJeyNyLi1GQM+wMF8XcMG+QUoqubAK8yjZ+ARrqXy1LymVeoVwXWuSS2KurCSpQAp/hPMCS
	d5lJgAn/5PjUcALgUynMSiQU7Xkjn5/z5VqaI0mU44mtFghUxuh+yI7IfGrOjOCJZ7QJC/YNk5q
	h2x1MJyR2
X-Google-Smtp-Source: AGHT+IGcZ2MjuHGarvTM76iqT8zzZB/enpembMVjcg1YGOPPpK9NDPJyTuwSTMckHhhZ52Gai1fZ6A==
X-Received: by 2002:a05:6000:2aa:b0:390:f400:2083 with SMTP id ffacd0b85a97d-3971a2a2ba7mr15686698f8f.0.1742218154269;
        Mon, 17 Mar 2025 06:29:14 -0700 (PDT)
Message-ID: <ddc56efc-5f18-45db-85c2-1749e8ef715a@citrix.com>
Date: Mon, 17 Mar 2025 13:29:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Xen panic when shutting down ARINC653 cpupool
To: "Choi, Anderson" <Anderson.Choi@boeing.com>, =?UTF-8?B?SsO8cmdlbiBHcm8=?=
 =?UTF-8?B?w58=?= <jgross@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
References: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <fd4fe44c-6c8d-402c-8b0f-466cf596f8af@suse.com>
 <BN0P110MB21482540CB855953D54BAB1090DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.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: <BN0P110MB21482540CB855953D54BAB1090DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 1:21 pm, Choi, Anderson wrote:
> JĂźrgen,
>
>> On 17.03.25 06:07, Choi, Anderson wrote:
>>> I'd like to report xen panic when shutting down an ARINC653 domain 
>>> with the following setup. Note that this is only observed when 
>>> CONFIG_DEBUG is enabled.
>>>
>>> [Test environment]
>>> Yocto release : 5.05
>>> Xen release : 4.19 (hash = 026c9fa29716b0ff0f8b7c687908e71ba29cf239)
>>> Target machine : QEMU ARM64
>>> Number of physical CPUs : 4
>>>
>>> [Xen config]
>>> CONFIG_DEBUG = y
>>>
>>> [CPU pool configuration files]
>>> cpupool_arinc0.cfg
>>> - name= "Pool-arinc0"
>>> - sched="arinc653"
>>> - cpus=["2"]
>>>
>>> [Domain configuration file]
>>> dom1.cfg
>>> - vcpus = 1
>>> - pool = "Pool-arinc0"
>>>
>>> $ xl cpupool-cpu-remove Pool-0 2
>>> $ xl cpupool-create -f cpupool_arinc0.cfg $ xl create dom1.cfg $ 
>>> a653_sched -P Pool-arinc0 dom1:100
>>>
>>> ** Wait for DOM1 to complete boot.**
>>>
>>> $ xl shutdown dom1
>>>
>>> [xen log] root@boeing-linux-ref:~# xl shutdown dom1 Shutting down 
>>> domain 1 root@boeing-linux-ref:~# (XEN) Assertion '!in_irq() &&
>>> (local_irq_is_enabled() || num_online_cpus() <= 1)' failed at
>>> common/xmalloc_tlsf.c:714 (XEN) ----[ Xen-4.19.1-pre  arm64  debug=y 
>>> Tainted: I      ]---- (XEN) CPU:    2 (XEN) PC:     00000a000022d2b0
>>> xfree+0x130/0x1a4 (XEN) LR:     00000a000022d2a4 (XEN) SP:    
>>> 00008000fff77b50 (XEN) CPSR:   00000000200002c9 MODE:64-bit EL2h
>>> (Hypervisor, handler) ... (XEN) Xen call trace: (XEN)   
>>> [<00000a000022d2b0>] xfree+0x130/0x1a4 (PC) (XEN)   
>>> [<00000a000022d2a4>] xfree+0x124/0x1a4 (LR) (XEN)   
>>> [<00000a00002321f0>] arinc653.c#a653sched_free_udata+0x50/0xc4 (XEN)   
>>> [<00000a0000241bc0>] core.c#sched_move_domain_cleanup+0x5c/0x80 (XEN)  
>>>  [<00000a0000245328>] sched_move_domain+0x69c/0x70c (XEN)   
>>> [<00000a000022f840>] cpupool.c#cpupool_move_domain_locked+0x38/0x70
>>> (XEN)    [<00000a0000230f20>] cpupool_move_domain+0x34/0x54 (XEN)   
>>> [<00000a0000206c40>] domain_kill+0xc0/0x15c (XEN)   
>>> [<00000a000022e0d4>] do_domctl+0x904/0x12ec (XEN)   
>>> [<00000a0000277a1c>] traps.c#do_trap_hypercall+0x1f4/0x288 (XEN)   
>>> [<00000a0000279018>] do_trap_guest_sync+0x448/0x63c (XEN)   
>>> [<00000a0000262c80>] entry.o#guest_sync_slowpath+0xa8/0xd8 (XEN) 
>>> (XEN)
>>> (XEN) **************************************** (XEN) Panic on CPU 2:
>>> (XEN) Assertion '!in_irq() && (local_irq_is_enabled() ||
>>> num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714 (XEN)
>>> ****************************************
>>>
>>> In commit 19049f8d (sched: fix locking in a653sched_free_vdata()), 
>>> locking
>> was introduced to prevent a race against the list manipulation but 
>> leads to assertion failure when the ARINC 653 domain is shutdown.
>>> I think this can be fixed by calling xfree() after
>>> spin_unlock_irqrestore() as shown below.
>>>
>>> xen/common/sched/arinc653.c | 3 ++-
>>>   1 file changed, 2 insertions(+), 1 deletion(-) diff --git 
>>> a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c index 
>>> 7bf288264c..1615f1bc46 100644
>>> --- a/xen/common/sched/arinc653.c
>>> +++ b/xen/common/sched/arinc653.c
>>> @@ -463,10 +463,11 @@ a653sched_free_udata(const struct scheduler 
>>> *ops,
>> void *priv)
>>>       if ( !is_idle_unit(av->unit) )
>>>           list_del(&av->list);
>>> -    xfree(av);
>>>       update_schedule_units(ops);
>>>       
>>>       spin_unlock_irqrestore(&sched_priv->lock, flags);
>>> +
>>> +    xfree(av);
>>>   }
>>> Can I hear your opinion on this?
>> Yes, this seems the right way to fix the issue.
>>
>> Could you please send a proper patch (please have a look at [1] in 
>> case you are unsure how a proper patch should look like)?
>>
>> Juergen
>>
>> [1]
>> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/process/sending
>> -
>> patches.pandoc
> Thanks for your opinion. Let me read through the link and submit the patch.

Other good references are:

https://lore.kernel.org/xen-devel/20250313093157.30450-1-jgross@suse.com/
https://lore.kernel.org/xen-devel/d8c08c22-ee70-4c06-8fcd-ad44fc0dc58f@suse.com/

One you hopefully recognise, and the other is another bugfix to ARINC
noticed by the Coverity run over the weekend.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:34:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:34:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916892.1321898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuAba-000471-5j; Mon, 17 Mar 2025 13:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916892.1321898; Mon, 17 Mar 2025 13: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 1tuAba-00046u-3B; Mon, 17 Mar 2025 13:34:10 +0000
Received: by outflank-mailman (input) for mailman id 916892;
 Mon, 17 Mar 2025 13:34: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuAbZ-00046o-9h
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:34:09 +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 80202f53-0334-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 14:34:07 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3996af42857so68295f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 06:34:07 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6a27sm15215081f8f.31.2025.03.17.06.34.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 06:34: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: 80202f53-0334-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742218447; x=1742823247; 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=5u+PQ7Wy1rSWKvAKqXkJ9a+LjL+Cz/yG5Dbo6siKkag=;
        b=g7otuO2KoODS1r1L9txjdxbOSLyvAA3iaacaLnC4bno7AySFqLMMUt50Go+q+azG1a
         PMKguJrP9vSi+uIAc8J4Pn5Ikp0dhCDlsoVuV1kfVFK3l1XUq6jvZE3cEBovLkMq/v4a
         Qho47amXxPk1XvowPzSTk9soLn7GzRKd/ddwI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742218447; x=1742823247;
        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=5u+PQ7Wy1rSWKvAKqXkJ9a+LjL+Cz/yG5Dbo6siKkag=;
        b=piDrSUQdEpQPdFz8yH5KLSbp32A/rGPzVOL91Zxj9VDRnvktwKAd3mBZvr25Hn1RA0
         9ZuD7P3siwIHlxyyqr90oUohtHVaK8l+RFk61rXOyfel/MSnFFkwmnNVhlVJ2rg+PHgj
         SoXEEOTBPbk90t+zO+KEYEOGeKtDJqHwGWRwp45OoAYjHt++2U2mQPvZALMDUCaDLRFX
         ZxCk/2OEuniOr+Sgk/YP2ANCG0X2yKxDoZJQ2kpq85DNFP/W8veECktTZba0OFG/hk2r
         9ApyWSCZKf+FAwbucq2/efNQUTaznun2LGt78F8+N0ghjIUkt2jqIVVuKUvYxcitvJlg
         yEzg==
X-Forwarded-Encrypted: i=1; AJvYcCVRt7NdsxOFuOnmmbJITff+M0tL2nU+hUGJKCKr4oEWvGqnibxbtsUmuHWkN8Mhcu7NN1xRqwbhXlg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwbKu913z43FLKm0HVqP7nVFvXwh9kFgjG9lMg/o5rN5Zhdx8WO
	8IVPTYiwuBcoYmn7KxG5BKffUnlXvWAMzLbKpA/qSI40M9YZhfmYhUZUEBmaeZk=
X-Gm-Gg: ASbGnctwVqJ2GAn0OLBStbAYKa/lVaXa6dShzHx6MqUEh4incq5UqBdj7mwo5NRKRUE
	Gp0DULWeGqt5UisUUpkTBimhl/OOUrwiXlmR6N116z7b1/ISwXZQ822Sst9VR/uaHF07W8pMyWq
	TqamlPkdCPd+jCyBhj2ZRdPT2FNXG3WTT/slLyX8DZUUNUUSaIBX/CICfUBwO+/qzqDpDPDQ2tr
	GnV16E4ZaK+ptIEpL+VU44m16JRYd9foXr7HXmkTrsn0GnazeszwdyDHDrl3Lv7ycbXJgjm06Ez
	VIfEJ3mQyReH7pfzSd1C5xL7LKYDGdImk1rcpVPEDnDCD0ZZFyEfgi6XW9g5iZwa17ZAqCUiXIL
	XeiUhnLUw
X-Google-Smtp-Source: AGHT+IHIhhiu++HMEBnwawbD0hyqkPqyirrvrN2VJLdElAnchAKa0Hp/IzGe+56hyFsyjtoS0tNVXQ==
X-Received: by 2002:a05:6000:186d:b0:390:f9e0:f0d0 with SMTP id ffacd0b85a97d-3971b9f6811mr14890513f8f.6.1742218446710;
        Mon, 17 Mar 2025 06:34:06 -0700 (PDT)
Message-ID: <6f0aa9e8-4176-4360-8031-625d99096452@citrix.com>
Date: Mon, 17 Mar 2025 13:34:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: Use for_each_set_bit() in
 hvm_emulate_writeback()
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: <20250314204920.118065-1-andrew.cooper3@citrix.com>
 <781a020c-351d-4211-ae51-8057646c28e2@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: <781a020c-351d-4211-ae51-8057646c28e2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 9:09 am, Jan Beulich wrote:
> On 14.03.2025 21:49, Andrew Cooper wrote:
>> ... which is more consise than the opencoded form, and more efficient when
>> compiled.
>>
>> For production VMs, ~100% of emulations are simple MOVs, so it is likely that
>> there are no segments to write back.
>>
>> Furthermore, now that find_{first,next}_bit() are no longer in use, the
>> seg_reg_{accessed,dirty} fields aren't forced to be unsigned long, although
>> they do need to remain unsigned int because of __set_bit() elsewhere.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
>> I still can't persuade GCC to do the early exit prior to establishing the
>> stack frame, and unlike do_livepatch_work(), it's not critical enough to
>> require noinline games.
> Then is ...
>
>> --- a/xen/arch/x86/hvm/emulate.c
>> +++ b/xen/arch/x86/hvm/emulate.c
>> @@ -3022,18 +3022,16 @@ void hvm_emulate_init_per_insn(
>>  void hvm_emulate_writeback(
>>      struct hvm_emulate_ctxt *hvmemul_ctxt)
>>  {
>> -    enum x86_segment seg;
>> +    struct vcpu *curr;
>> +    unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;
>>  
>> -    seg = find_first_bit(&hvmemul_ctxt->seg_reg_dirty,
>> -                         ARRAY_SIZE(hvmemul_ctxt->seg_reg));
>> +    if ( likely(!dirty) )
>> +        return;
> ... this worthwhile at all? I'm surprised anyway that I see you use likely()
> here, when generally you argue against its use.

No, it's not worth it.Â  In fact, simplifying makes the function smaller.

void hvm_emulate_writeback(
Â Â Â  struct hvm_emulate_ctxt *hvmemul_ctxt)
{
Â Â Â  struct vcpu *curr = current;
Â Â Â  unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;

Â Â Â  for_each_set_bit ( seg, dirty )
Â Â Â Â Â Â Â  hvm_set_segment_register(curr, seg, &hvmemul_ctxt->seg_reg[seg]);
}

gets a bloat-o-meter score of 131 down to 72 (-59).

Are you happy for your R-by to stand, given this adjustment?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:49:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:49:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916903.1321909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuAqZ-0006ui-DI; Mon, 17 Mar 2025 13:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916903.1321909; Mon, 17 Mar 2025 13: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 1tuAqZ-0006ub-AW; Mon, 17 Mar 2025 13:49:39 +0000
Received: by outflank-mailman (input) for mailman id 916903;
 Mon, 17 Mar 2025 13:49: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=Fdmo=WE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tuAqY-0006uT-7b
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:49:38 +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 aa4548e4-0336-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 14:49:36 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac2af2f15d1so645166466b.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 06:49:36 -0700 (PDT)
Received: from localhost ([46.149.103.13]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3149cf09dsm658420166b.121.2025.03.17.06.49.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 06:49: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: aa4548e4-0336-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742219376; x=1742824176; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9XjSkglSo/XiKoY74Gm243wWeX8ZXQs5Q9PG/ndvbQA=;
        b=lBCOaUN62fjxHQDlJ8gnpEsnW05wOaDV+qtdOfBe7Qh8i5y/+odJmiGQ7YahesATDS
         McEFcb7s35L6q3R70GZ4uDIvagdp6TvvuTcUybDOjdWTFJe848UH2eNPgnZV9J4Mrf9F
         3gAMGn/BB9LAt/N3E2yxvYEgaWCdL/nryxiM8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742219376; x=1742824176;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9XjSkglSo/XiKoY74Gm243wWeX8ZXQs5Q9PG/ndvbQA=;
        b=puMt4AUqZrjDw3uOHsPCRSP0sBtUEfXjHMIt0Dn/Qx8m/frZDc2iey5ZHu32i3l0SS
         +f+XERBAt78U0NTk6oPj8MrOlxOUGIzcxdELcOkN3fahgAdNZEdkFGSRFjuUgEFGyS4d
         xmA1WxieQ8Gb2nBEk8KoVzbW+C3DZOsarxAFn8cTyjrtY0yRN5EsMQdQp+F+Dp3vkXIt
         b1q2lswS7ud4YeFm+UOcgHFUOpLAXo/u/6M5Xvmfw7msBivOwtIF1LtCNUug8CSMuOFL
         /ayBNiLuL2RmlSES1YTpJJ+4QKq2PNzOlMHg92CFM5yTX8iMXPKFZS6YTCugUvpaSx56
         NPdw==
X-Forwarded-Encrypted: i=1; AJvYcCWRd3c6RLnQpZOzroATlv6SfFg/BcvgMHK5Uln5WRgEO/on9fuV70NRMib0NAp6kk9zPje2wZssnaE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzoZ9LwwhP1yMfxfjc3EYOaNXU1Oy8uyB4If5Ha1uU6xeyaxuzq
	DBXJo+nuR4rcli5sbhlPjY9sewGO6KGZk3ulkHKXtKLXk/tE0xxq/IChNcs7jnQ=
X-Gm-Gg: ASbGncsWW+Etb2Q4wIteU41QFLhqK4VZKrFMocoItBDFB4tn4B07IUHOjr9MIj3uPaW
	tdy8h+/cOGAjF3J/iT2c0voqTo/xfgtpmUyPDuqyrYnwLpSktwYxzXxIfAIKW7O72fiYdPlorJ0
	j2JImPFzQL+KIX/Kqws+HypPDr2uhKuG/CXsenaErMd2Y+/gzMFrhkhWJnbL9utwI1jJjnzknMo
	42x60NrX8ET9sQndsnLzKjahL7VbUqznC61l4rAL3Kr3RxrcSE1BHVr3p4Tcu0ffB1UEhcZYGEQ
	dNdL6kqeLQtwTxpMzwqjPNxYzT4M8/i6JPw8XSBEQ1j+JW7C/zM=
X-Google-Smtp-Source: AGHT+IFLw4mIpI1u1ubh3QL+FTtYp6/1y70y76eiszHRSttv8oQr8uXf1Mj1PkuLtK7sWjfPALA+Og==
X-Received: by 2002:a17:907:3e0b:b0:ac2:66ff:878 with SMTP id a640c23a62f3a-ac3303db225mr1405826866b.50.1742219376313;
        Mon, 17 Mar 2025 06:49:36 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 17 Mar 2025 13:49:34 +0000
Message-Id: <D8IL83OMY1GO.36Q84NOAJ55G0@cloud.com>
Cc: "Stewart Hildebrand" <stewart.hildebrand@amd.com>,
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] [RFC] vpci: allow BAR write while mapped
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
X-Mailer: aerc 0.18.2
References: <20250312195019.382926-1-stewart.hildebrand@amd.com>
 <D8F8IW559J11.2G40MDQH23I44@cloud.com>
 <7b4f47c2-ce03-44e9-907a-acd56e56a9ff@amd.com>
 <D8FXALVEWMGZ.2C16ABCKLKQRY@cloud.com> <Z9gWVThk_OFhlzW1@macbook.local>
In-Reply-To: <Z9gWVThk_OFhlzW1@macbook.local>

On Mon Mar 17, 2025 at 12:32 PM GMT, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 14, 2025 at 10:39:04AM +0000, Alejandro Vallejo wrote:
> > On Thu Mar 13, 2025 at 5:43 PM GMT, Stewart Hildebrand wrote:
> > > I think this just reinforces the need to rework the BAR mapping
> > > machinery.
> >=20
> > Right. The most delicate part is dealing with races with another vCPU w=
hen the
> > unmap-then-map operation does not complete in a single taking of the vp=
ci lock
> > I'd say. And that much is unavoidable, I think, because either unmappin=
g or
> > mapping might take a while.
>
> The original code was put together for dom0, I bet there are some
> races that can lead to incomplete p2m mappings if the domain attempts
> parallel manipulation of the BARs and memory decoding bits.  However
> there should be no case where an unexpected mfn gets mapped into the
> p2m as a result of such races.
>
> It's fine for a domain to shot it's own foot if it attempts to do
> concurrent PCI accesses to explicitly trigger races in the MMIO
> mapping handling, as long as this doesn't cause issues to other
> guests, and doesn't leak memory.
>
> Regards, Roger.

It's refcounting bugs that would scare me the most. Or something similar, l=
ike
having an expectation that a BAR is absent from a certain p2m when it's sti=
ll
present.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:53:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:53:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916917.1321919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuAtm-000105-WC; Mon, 17 Mar 2025 13:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916917.1321919; Mon, 17 Mar 2025 13:52: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 1tuAtm-0000zy-TK; Mon, 17 Mar 2025 13:52:58 +0000
Received: by outflank-mailman (input) for mailman id 916917;
 Mon, 17 Mar 2025 13:52: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuAtm-0000zr-Gd
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:52:58 +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 21a72cb5-0337-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 14:52:57 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so4181917f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 06:52: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-43d1fe29386sm105743075e9.17.2025.03.17.06.52.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 06:52: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: 21a72cb5-0337-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742219577; x=1742824377; 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=OI/sNQPGpE5axWZw6pXz8ry29y/MzA8Ef8wvSkNtpG8=;
        b=FYor/CsyCoJbtaZGnej94iDwjE6pNTTBDb6hxrPFb5hGyJv9SYPf+YJOrsGfB9s6S2
         JtGBuTBi1mDYAdf45Bda3tK01XZjgPS8aGJzN1cBe7vSS+2jfHBZzxXG8cPChZVyd2g/
         dB0xsgAKKsp1Ox/SCGGE8Tewzu1klXgltevTKpBNaV54ZnSinprztev8Y5xPEwUE3lc4
         2swsUG7/M3itH711B3tsnimI5zmQb/2WphJWe38J+/m8VL0WdhxpbzIp8+oCFqWU5sb0
         B5VxNRP87u3JqpyVPLHqTaTPvxUxNqkTBASfXIVwnBm3/N/VRLomMFooD/vJyJgFxi6J
         vDNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742219577; x=1742824377;
        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=OI/sNQPGpE5axWZw6pXz8ry29y/MzA8Ef8wvSkNtpG8=;
        b=iDdgZMiAZd+aPxmmEU9skJjMfM5REb3IZ+wQndBoLdUCpx1Oa9NMGPWb3QSAmvl0iG
         kGPj4c6AO3HoXws1AyMDbuMXKt2c61hva3tGfwq+sODeQk/kX4IQbh+gwp+NB60Tl42X
         6nUzsL1/+9K4WfypnhLO2r4hkZufEZ/8lOun7b7AbmI2AqnCtUN8FL1EIpJSpJtxWncT
         zUTi8NG5xImZhfIniyqpAJeFYfpIl7YMf/apMLJJkkgm2ha69t4qGXzjsXk3y91pzIoX
         yyAq4QbrDPQMfxqSQVIIfj0eK7UQJOf6TSX950/WfUnJPOPy6eoz+mg4xgjwfQdTPE/v
         2Cgg==
X-Forwarded-Encrypted: i=1; AJvYcCWTBLphKMa5Z6Ob6N8bteEDN9psoMv5X0JGcfmaf88qSN1wP2D0sF7R9UyRaN2R+fiV40J+wBaMpZc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzMEgRDP3KLLVglCh1mzpBHDbufW5SQxXcKpVMEAEVQgpkuO8pb
	Rwd2aSILHnxUxS5HSLahLLaR8rFU9s8854126J8QjrpCR7agpLb3xdqksUM3Dg==
X-Gm-Gg: ASbGncuNEeLm2peVpt7wJNIwwaQeVc9z6ay/BilAk/Vs/75cXuT8NUFSVVklmbBLzsg
	LQzs6D0ZMzdjms7bqNl8gSvoToigd00omAczCA00hTlIZw7MMjlgrqzYYMctC/uOOiTY4F89Hex
	BjhVV8U3yimRvU4Ulwx33zcV+71UiWaPQ37M5zDhEns990UvMC6lPS7OdA73yk2ufFJ7StD+hMz
	Sf29zr+GqXeqqkC8rghXO5eUliS5aNrp15dEaQfpxF2rjjywxBKeJs3MSeo2SLFApa1B00B7AyS
	Mxh6PVJdYObam5TlRzjr+voWjT1yCP3D9XmVSe1hs9TdYBKUNSvEmgJFk8Rffka3joSbxLqT/Uv
	5UrxLEEKARjB17974xQargwcHPKz331xe+SItyenU
X-Google-Smtp-Source: AGHT+IHj6I5l6w3kQkxdJAzipZCHtKcl21AZctscgUcP5B3SiIzLB1kg0HOJeb8unkcX10i5/uaJnQ==
X-Received: by 2002:a05:6000:1567:b0:391:2f2f:828 with SMTP id ffacd0b85a97d-3971ee443f8mr14426278f8f.29.1742219576650;
        Mon, 17 Mar 2025 06:52:56 -0700 (PDT)
Message-ID: <5b6364ef-53b0-4d59-acee-4df778eacbd5@suse.com>
Date: Mon, 17 Mar 2025 14:52:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: Use for_each_set_bit() in
 hvm_emulate_writeback()
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: <20250314204920.118065-1-andrew.cooper3@citrix.com>
 <781a020c-351d-4211-ae51-8057646c28e2@suse.com>
 <6f0aa9e8-4176-4360-8031-625d99096452@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: <6f0aa9e8-4176-4360-8031-625d99096452@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.03.2025 14:34, Andrew Cooper wrote:
> On 17/03/2025 9:09 am, Jan Beulich wrote:
>> On 14.03.2025 21:49, Andrew Cooper wrote:
>>> ... which is more consise than the opencoded form, and more efficient when
>>> compiled.
>>>
>>> For production VMs, ~100% of emulations are simple MOVs, so it is likely that
>>> there are no segments to write back.
>>>
>>> Furthermore, now that find_{first,next}_bit() are no longer in use, the
>>> seg_reg_{accessed,dirty} fields aren't forced to be unsigned long, although
>>> they do need to remain unsigned int because of __set_bit() elsewhere.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>
>>> I still can't persuade GCC to do the early exit prior to establishing the
>>> stack frame, and unlike do_livepatch_work(), it's not critical enough to
>>> require noinline games.
>> Then is ...
>>
>>> --- a/xen/arch/x86/hvm/emulate.c
>>> +++ b/xen/arch/x86/hvm/emulate.c
>>> @@ -3022,18 +3022,16 @@ void hvm_emulate_init_per_insn(
>>>  void hvm_emulate_writeback(
>>>      struct hvm_emulate_ctxt *hvmemul_ctxt)
>>>  {
>>> -    enum x86_segment seg;
>>> +    struct vcpu *curr;
>>> +    unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;
>>>  
>>> -    seg = find_first_bit(&hvmemul_ctxt->seg_reg_dirty,
>>> -                         ARRAY_SIZE(hvmemul_ctxt->seg_reg));
>>> +    if ( likely(!dirty) )
>>> +        return;
>> ... this worthwhile at all? I'm surprised anyway that I see you use likely()
>> here, when generally you argue against its use.
> 
> No, it's not worth it.Â  In fact, simplifying makes the function smaller.
> 
> void hvm_emulate_writeback(
> Â Â Â  struct hvm_emulate_ctxt *hvmemul_ctxt)
> {
> Â Â Â  struct vcpu *curr = current;
> Â Â Â  unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;
> 
> Â Â Â  for_each_set_bit ( seg, dirty )
> Â Â Â Â Â Â Â  hvm_set_segment_register(curr, seg, &hvmemul_ctxt->seg_reg[seg]);
> }
> 
> gets a bloat-o-meter score of 131 down to 72 (-59).

That's surprisingly much.

> Are you happy for your R-by to stand, given this adjustment?

Certainly.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 13:55:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 13:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916927.1321929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuAwI-0001XZ-Db; Mon, 17 Mar 2025 13:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916927.1321929; Mon, 17 Mar 2025 13:55: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 1tuAwI-0001XS-AA; Mon, 17 Mar 2025 13:55:34 +0000
Received: by outflank-mailman (input) for mailman id 916927;
 Mon, 17 Mar 2025 13:55: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=Fdmo=WE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tuAwH-0001XM-Os
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 13:55:33 +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 7dbdece0-0337-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 14:55:31 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ac29af3382dso735556766b.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 06:55:31 -0700 (PDT)
Received: from localhost ([46.149.103.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a49d33sm674984166b.141.2025.03.17.06.55.30
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 06:55: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: 7dbdece0-0337-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742219731; x=1742824531; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NMLaqNbjaHo3zTBtrmIcqj6xOEBNVYx4hoPvJh//nHA=;
        b=HVAPAugS8FDdboPiIkmwL8Ayx/71yocMSQWSs2g4xTRAtKG5LyxpAz73lSz/9LsJVz
         49ZxtMwo/BrCSOSNDoBxAJO2PmM/U5oXMgH+vBBSjaMyfQRHJGONII9W/0Qfn6YxROEB
         ukmbHCd6a334VvbwDPdyc9hEiVe/Sc3SCn++w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742219731; x=1742824531;
        h=in-reply-to:references:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=NMLaqNbjaHo3zTBtrmIcqj6xOEBNVYx4hoPvJh//nHA=;
        b=jlPcNaY1VomKXSluVlCyGoflL56pfDnCRKblb1WnO7U2H/D/DkYyu35N2tKql435OF
         1QEQHzxqLdsL2gXcFOhDZt3IhyGkMBhJeVkFbC5/f4e3Uv8qDXibzCHijJLwNxHNVUYS
         3iK8r7swdi+KC4e5x+kSdco2K8CfAOQ4VaEOhSS4dURjBVRJKVktL59eYYe3SIsHmq5T
         KvUq7Gf07uyElR923xwGNHgDKHwgJ4R9LkbloG0rEKFgF7yCh7KG7lb+DN5eLp/gwl9E
         P3p7hIwVjJWXqqUVkNrPXK0Au7q9XayxhR7/WXyRQ/h41M9wH9Gvz1p+HSFaCv6hvCSb
         Bk5w==
X-Gm-Message-State: AOJu0YxFhmkx6szNt8xA2ZKeDp/xm+JNVZ+cgisWJfuaWFRHrK/Xyp68
	O2UV2VawnKqbMe6JYVR1N6cGcCNmsD0k/241F0f/J3kjVUS6ZUv3lq4SQgaV4YL+MYYXxMiAxQ/
	Eozk=
X-Gm-Gg: ASbGnctJsXQr1NRKl2uNBRL/elt8mr5xMGJ8kHRI/VeM4QIf5+FGKfdYUre2y5ZcwZN
	eKVQ2/6i1Wl9NHWNh4W6q1QuzcIh1rTb/dKjDtfVLC1/xLKhv+JilEBGgOnL9DXqT/Wh6V8pgMh
	r+0HIkTazub6iN3jtKEkGv3TOWpkIHNkk3VWqORMzYMuJY8OqwY0Jz8xw6vE5MVGuhLLtSbSxES
	XQP6uBJINhnwzY+Xle4IKSi6+9JDFpL/l7QubSDO5UaqXI4tJcFqroBpGaaVDWxxIE/NiFELpmT
	Ijf2uOph+bEeV4xv8anopcz55a3KPxmZUISFiR8E3ZN1D6CJ2lD4ZF3GqRt2bQ==
X-Google-Smtp-Source: AGHT+IFoYlnrhf2YMTK9nKlMgxhaXYqMBMZTH39KV3Cu5UhWnN3KkEJF2GPul6cBpNj5PGTCj+mLxg==
X-Received: by 2002:a17:907:a18f:b0:ac3:3f13:98aa with SMTP id a640c23a62f3a-ac33f1398e4mr907743466b.32.1742219730769;
        Mon, 17 Mar 2025 06:55:30 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 17 Mar 2025 13:55:29 +0000
Message-Id: <D8ILCMMM9QFI.2TWP5REOAE2JB@cloud.com>
Subject: Re: [PATCH v1] x86: make Viridian support optional
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Xen-devel" <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
 <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
 <98bf4aa4-b896-4240-b13a-80a0f964a8b1@suse.com>
 <CAFi36o2sVRrhs7GXpW3Qpnc+VNQBfAzg8zEofqrEjYXz-wgU9A@mail.gmail.com>
In-Reply-To: <CAFi36o2sVRrhs7GXpW3Qpnc+VNQBfAzg8zEofqrEjYXz-wgU9A@mail.gmail.com>

+xen-devel (sent it on private by mistake)

On Mon, 17 Mar 2025, 09:29 Jan Beulich, <jbeulich@suse.com> wrote:

> On 17.03.2025 10:19, Alejandro Vallejo wrote:
> > Hi,
> >
> > I'm surprised this isn't already possible. Neat!
> >
> > On Mon, 17 Mar 2025, 07:19 Sergiy Kibrik, <Sergiy_Kibrik@epam.com>
> wrote:
> >
> >> Add config option HVM_VIRIDIAN that covers viridian code within HVM.
> >> Calls to viridian functions guarded by is_viridian_domain() and relate=
d
> >> macros.
> >> Having this option may be beneficial by reducing code footprint for
> systems
> >> that are not using Hyper-V.
> >>
> >> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> >> ---
> >>  xen/arch/x86/Kconfig                  |  5 +++++
> >>  xen/arch/x86/hvm/Makefile             |  2 +-
> >>  xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++--------=
-
> >>  xen/arch/x86/hvm/vlapic.c             | 11 +++++++----
> >>  xen/arch/x86/include/asm/hvm/domain.h |  4 ++--
> >>  xen/arch/x86/include/asm/hvm/hvm.h    |  3 ++-
> >>  xen/arch/x86/include/asm/hvm/vcpu.h   |  3 ++-
> >>  7 files changed, 37 insertions(+), 18 deletions(-)
> >>
> >> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> >> index 6e41bc0fb4..34f9b79d98 100644
> >> --- a/xen/arch/x86/Kconfig
> >> +++ b/xen/arch/x86/Kconfig
> >> @@ -348,6 +348,11 @@ config HYPERV_GUEST
> >>
> >>  endif
> >>
> >> +config HVM_VIRIDIAN
> >> +       bool "Viridian enlightenments support" if EXPERT
> >> +       depends on HVM
> >> +       default y
> >> +
> >>
> >
> >
> > I don't see why this should be gated by EXPERT, provided a
> > suitable (now absent) help message was to exist explaining
> > what it does in plain simple words.
> >
> > For the title, I'd say it needs to properly state it refers to
> > enlightenments for guests, rather than enlightenments for
> > Xen itself when running under Hyper-V. As it is, it sounds
> > ambiguous (Maybe "Hyper-V enlighnments for guests"?).
>
> I'm slightly puzzled: Here you're worried about ambiguity, yet then ...
>
> > On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
> > rather redundant, and I think just VIRIDIAN works just as well
> > while being shorter.
>
> ... you suggest to introduce ambiguity here. I'd expect VIRIDIAN alone
> to cover whatever enlightenments Xen might want to use itself, when
> run on top of Viridian.
>
> Jan
>

For the define name, I did say it it was a matter of preference rather
than a worry. I'm perfectly happy with HVM_VIRIDIAN :)

CONFIG_{HVM_}VIRIDIAN would only be seen in code, where we use that
name exclusively for enlightenments given to a guest, AFAIK, so I don't
see as much ambiguity. Doesn't matter much either way.

However,

Non-Xen-developers rely on nconfig/menuconfig titles and descriptions
alone to make decisions, so not providing adequate background (even
if under EXPERT) seems less than great.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:00:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:00:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916936.1321939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuB0z-00036R-TZ; Mon, 17 Mar 2025 14:00:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916936.1321939; Mon, 17 Mar 2025 14:00: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 1tuB0z-00036K-R5; Mon, 17 Mar 2025 14:00:25 +0000
Received: by outflank-mailman (input) for mailman id 916936;
 Mon, 17 Mar 2025 14:00: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuB0y-00036E-H2
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:00:24 +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 2b115a23-0338-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 15:00:22 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso20061725e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:00:22 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe292d0sm106206605e9.20.2025.03.17.07.00.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:00: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: 2b115a23-0338-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742220022; x=1742824822; 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=7dlX/sf6WY/9VbuhRIyTJ6IkEE/L/vBSFZbNjeyyF3w=;
        b=K9e/59XrvlZz95jhjaButBfTbA3e5CqLzUQr6+BRhHibG/ZYCIri1Bf4UcjFbtlo2C
         dfnQJ6Ld8oizTTDx4pxfYc+itNPSlvxyrkSXPS6jHRuDqH6BRCp/tVfE0DhVUdY8yT+f
         iFACfHqqE4PM60glU56oyrGmKmZEmNDJnMAx0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742220022; x=1742824822;
        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=7dlX/sf6WY/9VbuhRIyTJ6IkEE/L/vBSFZbNjeyyF3w=;
        b=k1Kak1lPZF9NsU5CUpxwPXSAITI7oPjUmXLGpEPHvYujBjTYdp0g0S+5vYKfleeicS
         Cg1Db9qtjSFfMgjWOX50WfW+A96+lcd6khnGiZaCFthI7FE0AgwJkFXN5pIrVc95Yk72
         ynBuKIWa5U3GXqU7/tUidhD2Ida4lw9Ndkex4/3+gLxNpZDmnLFFdiK90vREPqiEBbjo
         mDqzocAFah0mHE6c1xgCl6uE75ks67WjJY7gV4IQJui4/5OOZI21LJRDWXq7qjWUytTl
         ZlJGsmt8ebdnw0x6/MZVJl7oIDuofItF3xPnkXH99W50+nmisguFxfpznIP8Z59r2oeH
         ueuw==
X-Forwarded-Encrypted: i=1; AJvYcCWUBHJVTWtIsulMZICxveAmPhSC1ktkO7PzGC4Sy1iFqvVhh41USUYsWcOQkxOg7ngDHjpb+IxVRzE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwbkVyMO+6gorBbW/M0j1fSmvGRVHu8ACKsadIOV7csgRm65mwN
	dZ5VVplwFBFyYCaq3lF9aCEJkWUpgswDnhyIaUC56kuiZx/U9D59jRxxYQFqyvw=
X-Gm-Gg: ASbGncsky0EErwTemmalBQWZ1fIeLNQqZjCKV3RZhIa/kN9/sm2EZFw3uHtqudFbYtW
	4qZOqeEIKYjkRWb2JOlhbCYfgsOYwX9WhLmsJJHIL18+F8fZZR7/tGIE6lZdsnsVRxyysmS2uq/
	m4MI1qzPzTPPInSDErBE/YgilJDxodrRM1tr5OzpXUGeo7a7ARxnrZf0CjjlbfALHGiSte4WgGJ
	6v1Z/IaP9Z3QV7T8VV1ivslAmP9Z5hGg7BRq4WkUMtF/M8CeIUIoJjtpQ3MRR2LSDCFrWqOfq7D
	lw0z7fc+084TSDNU5dBeOhv76pO9xRzlOkHGj/TJvzCtYoogvq2G5fsrZ51WTt0y1sxMlcX63js
	oeZjavmBq
X-Google-Smtp-Source: AGHT+IGt54OBTlQ17u91VFTQjM//2ZHv3KkqAAVXkKWKXawizYU8BevyAuAEhwx+bdpHdLPEa+7b4Q==
X-Received: by 2002:a05:600c:3b87:b0:43c:f3e4:d6f7 with SMTP id 5b1f17b1804b1-43d1ed0994bmr131604705e9.31.1742220021725;
        Mon, 17 Mar 2025 07:00:21 -0700 (PDT)
Message-ID: <77f2dacd-85fe-4c47-8064-956a990c1681@citrix.com>
Date: Mon, 17 Mar 2025 14:00:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: Use for_each_set_bit() in
 hvm_emulate_writeback()
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: <20250314204920.118065-1-andrew.cooper3@citrix.com>
 <781a020c-351d-4211-ae51-8057646c28e2@suse.com>
 <6f0aa9e8-4176-4360-8031-625d99096452@citrix.com>
 <5b6364ef-53b0-4d59-acee-4df778eacbd5@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: <5b6364ef-53b0-4d59-acee-4df778eacbd5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 1:52 pm, Jan Beulich wrote:
> On 17.03.2025 14:34, Andrew Cooper wrote:
>> On 17/03/2025 9:09 am, Jan Beulich wrote:
>>> On 14.03.2025 21:49, Andrew Cooper wrote:
>>>> ... which is more consise than the opencoded form, and more efficient when
>>>> compiled.
>>>>
>>>> For production VMs, ~100% of emulations are simple MOVs, so it is likely that
>>>> there are no segments to write back.
>>>>
>>>> Furthermore, now that find_{first,next}_bit() are no longer in use, the
>>>> seg_reg_{accessed,dirty} fields aren't forced to be unsigned long, although
>>>> they do need to remain unsigned int because of __set_bit() elsewhere.
>>>>
>>>> No functional change.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>>
>>>> I still can't persuade GCC to do the early exit prior to establishing the
>>>> stack frame, and unlike do_livepatch_work(), it's not critical enough to
>>>> require noinline games.
>>> Then is ...
>>>
>>>> --- a/xen/arch/x86/hvm/emulate.c
>>>> +++ b/xen/arch/x86/hvm/emulate.c
>>>> @@ -3022,18 +3022,16 @@ void hvm_emulate_init_per_insn(
>>>>  void hvm_emulate_writeback(
>>>>      struct hvm_emulate_ctxt *hvmemul_ctxt)
>>>>  {
>>>> -    enum x86_segment seg;
>>>> +    struct vcpu *curr;
>>>> +    unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;
>>>>  
>>>> -    seg = find_first_bit(&hvmemul_ctxt->seg_reg_dirty,
>>>> -                         ARRAY_SIZE(hvmemul_ctxt->seg_reg));
>>>> +    if ( likely(!dirty) )
>>>> +        return;
>>> ... this worthwhile at all? I'm surprised anyway that I see you use likely()
>>> here, when generally you argue against its use.
>> No, it's not worth it.Â  In fact, simplifying makes the function smaller.
>>
>> void hvm_emulate_writeback(
>> Â Â Â  struct hvm_emulate_ctxt *hvmemul_ctxt)
>> {
>> Â Â Â  struct vcpu *curr = current;
>> Â Â Â  unsigned int dirty = hvmemul_ctxt->seg_reg_dirty;
>>
>> Â Â Â  for_each_set_bit ( seg, dirty )
>> Â Â Â Â Â Â Â  hvm_set_segment_register(curr, seg, &hvmemul_ctxt->seg_reg[seg]);
>> }
>>
>> gets a bloat-o-meter score of 131 down to 72 (-59).
> That's surprisingly much.

Indeed.Â  https://termbin.com/gzd7 is the full side-by-side diff.

I think the key is the removal of ARRAY_SIZE().Â  With it,
find_first_bit() is emitting code to deal with seg_reg_dirty having
higher bits set.Â  Also, both BSF expressions have unknown zero-ness, so
are emitting the cmov form (__scanbit() is still on my list of bitops to
work on).

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:01:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916943.1321949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuB1V-0003SA-54; Mon, 17 Mar 2025 14:00:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916943.1321949; Mon, 17 Mar 2025 14:00: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 1tuB1V-0003S3-1h; Mon, 17 Mar 2025 14:00:57 +0000
Received: by outflank-mailman (input) for mailman id 916943;
 Mon, 17 Mar 2025 14:00: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuB1T-0003Ld-CB
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:00:55 +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 3e340547-0338-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:00:54 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43d2d952eb1so9961815e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:00: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
 5b1f17b1804b1-43d23cddb2asm91452795e9.39.2025.03.17.07.00.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:00: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: 3e340547-0338-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742220054; x=1742824854; 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=xWgXaWODrr+G3KRTJqH/TFZqkhlDaxqEhtsaNkOfvz4=;
        b=TfEQLglwgHRPqrN5n83a5TucAj6hQrOXrSCk8PnxU9CiGpWs/xJi/FEemxfUYgdyXC
         Ppay3+YcrWzLk4soFC/gie0WYfY+i/idYtouQsBS563ipRN37HWxNJzjtf4RhqAXIMQD
         KYn2k1ckA8upa+aLpECKRFrNiOZ8g33SAtF1k5GCudb+cqhi8Bg/ARN/erenC+k1tn2N
         A1Y8jPlTj6ceHmqDORlCAqh7SKEWjM3crrPJHTYq7NQq3PCdwvyCm4609yf3RCAEvq0p
         YS0jiHsILHQEqQ41YtWOmwmhb2bV3aZbGbYx0IbSxsd9Ge2JzMkrrM6wtxBZ5AH3RUjJ
         dmlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742220054; x=1742824854;
        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=xWgXaWODrr+G3KRTJqH/TFZqkhlDaxqEhtsaNkOfvz4=;
        b=UCsS0yQdhGCOeis8AWFVK6UtAEeug2cXCk8+BRRdgI8/3bmcxqUtnPVW8jnQrQ+iJb
         ojLiA/vsr0wuR5f3t2MXC0/wRcO7mpwLTSrnS2J/hNRerCwxOnZX7owJhxATEQqLMe6h
         8R/xjz7R6o42nipToIGdzEorOkUHsrxcY0njkhmnFQ+8aAkT2UKa2qHSf82SViwFmZRT
         avH1s88EBBcOK6kClGY8zn2egGQFZRlEFM3wE6Vm5Cghk4y8k5BZ9nc+ohAXSD5jUfQv
         z/TnuAWXl1zKNk9ptr5zr7PLrGPfGVRaaYhBL6CzLbaeCaWvrof7uT/2BonFbLMXt8oN
         JXlQ==
X-Forwarded-Encrypted: i=1; AJvYcCVc7tQQ7w5kj/jZQcWU1lNEPwGGPrNke3U9TrBzfktZpDcTRAmDCUjFtcsMo6janZd3t4Y7FKQ0mv4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydYv+tfLQgZu/BEKtXs9qKDD6Vbmufq0k3ex4+0Kod+sF24urE
	9xptQVilj6Dxt73/sVAGfUsFPtT3cxhC4p9L6WH4snHlYkKMmyqfz/0Nw7G5nRhmWTVG5y0rqjU
	=
X-Gm-Gg: ASbGncun7Ac1qjSZysVgXYkfoqxi/OkqZgcGTHDmw9WnadcBa29c/+OpzCZkxWU+tYo
	+j1heEYGpqSqKxld+AQlvGq7Qy6E6qGkKJ0rOn9G076MwljH9eNlYWDZTPT0MQ5zNzdtPWWio6f
	9jM9HwVy1qw7Q9SNDj4mRfeiK7guuaveiaAQmYO8huz5CR3MJ2L4YEGOaJM8GLV15icvtWxg7gN
	AQBO56QbwoObC30VsVl0GLy8I2TN5e+WhVnllMeGIJpUmmso0XegU+XTS15CxDnDcv5PwPhQdgg
	K8KVHX4AFch1iQjYoydn2LhDh12GkXBEi9E9ww9ha4BaaVp6SP7a5O88Z7ZdD/x7vWj3IS3wU0v
	CFiyAzfj3pSDvlke2nLbEco5DmVROVg==
X-Google-Smtp-Source: AGHT+IGFyxl+7nOKsuI1pQgKgOiWsnysY2rC2Wn41L7v+XXAofvJRC0FJOiNA7dGpNfKgXi7HPMKDw==
X-Received: by 2002:a05:600d:1c:b0:43d:79:ae1b with SMTP id 5b1f17b1804b1-43d2018096amr141737065e9.14.1742220053462;
        Mon, 17 Mar 2025 07:00:53 -0700 (PDT)
Message-ID: <fc468e90-de5b-4478-a19a-d49602852abe@suse.com>
Date: Mon, 17 Mar 2025 15:00:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/traps: Drop incorrect BUILD_BUG_ON() and comment in
 load_system_tables()
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: <20250314183346.77356-1-andrew.cooper3@citrix.com>
 <5fa5f84b-0cae-4757-af06-155d68de3209@suse.com>
 <46821c0b-45ca-4016-a997-518ea29475c7@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: <46821c0b-45ca-4016-a997-518ea29475c7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.03.2025 13:29, Andrew Cooper wrote:
> On 17/03/2025 9:03 am, Jan Beulich wrote:
>> On 14.03.2025 19:33, Andrew Cooper wrote:
>>> It is only the hardware task switching mechanism which cares about a TSS being
>>> at least 0x67 bytes long.
>> I/O bitmap accesses are where this particular limit comes into play. For
>> 32-bit task switching a slightly shorter one would still do, I think?
> 
> Even by x86 standards its a terrible hack.Â  32-bit task switching
> mandates 0x67, even though the IO bitmap is not accessed for the
> outgoing or incoming task.
> 
> For IO accesses in general, a limit shorter than the IO bitmap pointer
> means no IO bitmap, and IO accesses in Ring3 take #GP.
> 
>>
>>>  Furthermore, since this check was added, the limit is now 0x6b if CET-SS is
>>> active.
>> Which isn't reflected at all in struct tss64: Aiui that's an addition to the
>> 32-bit TSS only.
> 
> 0x67 isn't relevant to tss64 either.Â  It's strictly for hardware task
> switching, which is strictly for 32bit.
> 
> 
>>> --- a/xen/arch/x86/cpu/common.c
>>> +++ b/xen/arch/x86/cpu/common.c
>>> @@ -900,8 +900,6 @@ void load_system_tables(void)
>>>  		wrmsrl(MSR_INTERRUPT_SSP_TABLE, (unsigned long)ist_ssp);
>>>  	}
>>>  
>>> -	BUILD_BUG_ON(sizeof(*tss) <= 0x67); /* Mandated by the architecture. */
>>> -
>>>  	_set_tssldt_desc(gdt + TSS_ENTRY, (unsigned long)tss,
>>>  			 sizeof(*tss) - 1, SYS_DESC_tss_avail);
>> All of the above said, the removal worries me primarily with the sizeof()
>> still in use here.
> 
> Xen uses IST4 but not IST5.
> 
> Xen could set the limit to 67 (== 0x43) and everything would continue to
> be fine.Â  In fact, this is quite possibly a better option than poisoning
> IST[5..7].
> 
> I'm deleting the BUILD_BUG_ON() because everything about it, even the
> comment, is incorrect for Xen.

Okay, yet then there's still that sizeof() use, and iirc that's the sole reason
why the BUILD_BUG_ON() was originally put there. Now we can of course promise
to ourselves that we won't ever edit struct tss64 in an undue way. On that
basis dropping one but not the other is perhaps okay-ish. Irrespective I think
that the better route would be to replace the other sizeof() as well. Perhaps,
as you say, to even lower the limit. (Provided that doesn't run into bugs on,
say, qemu. Given how well all of this is documented, finding bugs in emulation
code wouldn't be entirely unexpected.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:03:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916960.1321959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuB3i-00057T-KT; Mon, 17 Mar 2025 14:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916960.1321959; Mon, 17 Mar 2025 14:03: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 1tuB3i-00057M-HU; Mon, 17 Mar 2025 14:03:14 +0000
Received: by outflank-mailman (input) for mailman id 916960;
 Mon, 17 Mar 2025 14:03: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuB3g-000579-UE
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:03:12 +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 8f5a5ce7-0338-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 15:03:10 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so14212905e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:03: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
 ffacd0b85a97d-395c888167bsm15055642f8f.45.2025.03.17.07.03.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:03: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: 8f5a5ce7-0338-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742220190; x=1742824990; 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=k4GV3UTv6kbLdrio4VZzl2pgpU0w19w/oDEwCfA6Ets=;
        b=WZhtyMSTqyzZrqiuUGBN06CXBlPW6Lw2Paip5j9o3ec+8CQ/7BDwuJykr9vh+qqvT5
         snDxDkY3zwbbv3pT9jmg6Z9FZ3w3aiZXiaUekMoMCjOkT0a/4KdhScG/zSH52iDVl29x
         Wg+dor9jDjeL1Dr53AaxlXrYCZZV8OgChuatcjoD+kLT+QsPr9Eyt7qo/0Waea70kXen
         S8Fg8V0pb2POm8n/EuDNxoxkC7CQn3lzHm8kxDjUEOTRKeBEJbgub1sbiBuP2mkPkQKJ
         mUC7qHA2xOIOykl/HvESYGz3Hvdr7Xc/DXfkukMQrpIQIh6RwWwk6g7kGOakFMdwGa96
         LPYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742220190; x=1742824990;
        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=k4GV3UTv6kbLdrio4VZzl2pgpU0w19w/oDEwCfA6Ets=;
        b=aCaHXO0ks47rkM6psH9Eg3xHTsccXNLj9Yi5U+R++Uv5fZN8PIsHVVmIQhWnDMhIYQ
         lrrerctx8NmpmiwOFdQFrLrKPKUl9Kbyk5YRngwTlUYOFlstdZEzbbMYgejRdvzILBju
         CdfvMvny5g9U6Y4Rnc8YcuQ5a5Pgllypi0tB9DakCJunfhco1LtXb+jXHMNRnjETogRB
         45F+KnrBmt2mxRiNX7GRsQe1peA5GcmlwcfM6bQMkj7hp1S55dM0VNwwYX65b4fkvfB9
         8iTocNwD7iv7qDO7+poIQUwZ+oxsqWhgrrpC+8PHv0fDdxf0etKyiD4WlKYotR2IDZJz
         0ycg==
X-Gm-Message-State: AOJu0YxTxAgvW7Mk1tDNrGKxb12SJfbOZvZoElf+5L9cSQLfuBWDefUa
	wuV8zpOSlZe1Cdf1Poxz7U10Pmu8h6/6lkdL8jExCFoqk79KUvy/y9M8PbSSnA==
X-Gm-Gg: ASbGncsn9kko8O72LAdShLq1kkvJ38eavh9Ip+J6UYktEERtHosZGA8kwjYr9GYLtGA
	1FQQlyBIzBxwYs1xNBaPdQL2WNIVc6tr72r6w8gEklFtf0Ns77DTw9eqhBWFWZFfjf4W5kE0P4N
	aiShyvSh8XUfzykIPyjJ5VOtS/SpsXCuDBliub9FGj3N5UveuYQWj8hIxO28VP2e1FVT1BfjNcn
	j9cZFzpb3fC6lsyG2jqXD9i2tOChnmS5MT0vhFhCsaMtRhPbLFbPgSmhWOu1JlfNiPkzbwekPjH
	xVova1QYBMs4vMqqRpeQmVFidye8n7xeMENSTrANLtgKk+sF88mNVM0tf6Jz6DsMZ2kemhFh6Rv
	oDT21dBNQ5VYgmaIqT80s4o8vLfltzKGGfPSnJBfk
X-Google-Smtp-Source: AGHT+IHavqn7e4pCXT/yHD+WXuEh+LDeIk2dAAZxKsX+kK2ckvOBcuvH0R/kz40xlmivSBUIsCtSjg==
X-Received: by 2002:a05:6000:4025:b0:391:42f2:5c7b with SMTP id ffacd0b85a97d-3971d51fec1mr15021938f8f.16.1742220190055;
        Mon, 17 Mar 2025 07:03:10 -0700 (PDT)
Message-ID: <ab0d92a3-d63b-44d5-b6e2-8c283f97ba82@suse.com>
Date: Mon, 17 Mar 2025 15:03:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] x86: make Viridian support optional
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
 <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
 <98bf4aa4-b896-4240-b13a-80a0f964a8b1@suse.com>
 <CAFi36o2sVRrhs7GXpW3Qpnc+VNQBfAzg8zEofqrEjYXz-wgU9A@mail.gmail.com>
 <D8ILCMMM9QFI.2TWP5REOAE2JB@cloud.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: <D8ILCMMM9QFI.2TWP5REOAE2JB@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 14:55, Alejandro Vallejo wrote:
> On Mon, 17 Mar 2025, 09:29 Jan Beulich, <jbeulich@suse.com> wrote:
>> On 17.03.2025 10:19, Alejandro Vallejo wrote:
>>> On Mon, 17 Mar 2025, 07:19 Sergiy Kibrik, <Sergiy_Kibrik@epam.com> wrote:
>>>> --- a/xen/arch/x86/Kconfig
>>>> +++ b/xen/arch/x86/Kconfig
>>>> @@ -348,6 +348,11 @@ config HYPERV_GUEST
>>>>
>>>>  endif
>>>>
>>>> +config HVM_VIRIDIAN
>>>> +       bool "Viridian enlightenments support" if EXPERT
>>>> +       depends on HVM
>>>> +       default y
>>>> +
>>>>
>>>
>>>
>>> I don't see why this should be gated by EXPERT, provided a
>>> suitable (now absent) help message was to exist explaining
>>> what it does in plain simple words.
>>>
>>> For the title, I'd say it needs to properly state it refers to
>>> enlightenments for guests, rather than enlightenments for
>>> Xen itself when running under Hyper-V. As it is, it sounds
>>> ambiguous (Maybe "Hyper-V enlighnments for guests"?).
>>
>> I'm slightly puzzled: Here you're worried about ambiguity, yet then ...
>>
>>> On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
>>> rather redundant, and I think just VIRIDIAN works just as well
>>> while being shorter.
>>
>> ... you suggest to introduce ambiguity here. I'd expect VIRIDIAN alone
>> to cover whatever enlightenments Xen might want to use itself, when
>> run on top of Viridian.
> 
> For the define name, I did say it it was a matter of preference rather
> than a worry. I'm perfectly happy with HVM_VIRIDIAN :)
> 
> CONFIG_{HVM_}VIRIDIAN would only be seen in code, where we use that
> name exclusively for enlightenments given to a guest, AFAIK, so I don't
> see as much ambiguity. Doesn't matter much either way.
> 
> However,
> 
> Non-Xen-developers rely on nconfig/menuconfig titles and descriptions
> alone to make decisions, so not providing adequate background (even
> if under EXPERT) seems less than great.

No question that the prompt wants amending (see also my separate reply
to Sergiy), and I fully agree help text wants adding.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:13:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916970.1321968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBDg-0007t9-HK; Mon, 17 Mar 2025 14:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916970.1321968; Mon, 17 Mar 2025 14: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 1tuBDg-0007t2-E9; Mon, 17 Mar 2025 14:13:32 +0000
Received: by outflank-mailman (input) for mailman id 916970;
 Mon, 17 Mar 2025 14:13: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBDf-0007sw-7S
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:13:31 +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 0050b7ab-033a-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:13:29 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso11183815e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:13: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-43d1fe05ff4sm105575575e9.10.2025.03.17.07.13.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:13: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: 0050b7ab-033a-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742220809; x=1742825609; 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=qfvH16llj3XyoW3Vm9q3otwDycWiALw/Cjy4JMOarwU=;
        b=RLoQuWa8LlRq4PPNzjyo2nJWlOEKJFVvqU2MIci4Y8PizV5gSJ9OcMccfrQXzO9pAK
         Iv6TejqhKBabMxFFsu/aXw36LPmVCfLcz7bvCLBwWHcf6C4XwpGy4BjpIu5OaYrZuY9x
         d3lI7Mrjxy1zH5/xMlsmLES75rrDRRDQQPhjteo13pt9jk8xxbxxO6bw+5xmC6rhAfLz
         gbtu7G7XkJqPKCOPQbXrbEFThCC+a4II7T/BLPNXJJlNJBZpCeraF3ZKJDULQAMPebEi
         QP88pEsZWUMv1mYC0w4/0tGydNHXhajIH+G9LQWm0QpdU5R5jRK1Vxo/W83Q7UzQpDMK
         GimQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742220809; x=1742825609;
        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=qfvH16llj3XyoW3Vm9q3otwDycWiALw/Cjy4JMOarwU=;
        b=M6Bp3J25AQ3+vbdVqy4lQjQOBITZ4HQyQ5qyP/TVlUkMmiuDAUlC73qa408ZnM97/e
         XSh3iXp3ZOQR5zp43Iz1mQ/8x7FIb/xxytOJeL9dKArSP67aK/TmUZ57XNjGHpDJUWs5
         ryUrBzJ3D+EI7WOr1AMWoCxTvKKg1c/V/YToh2IrxvN/gQm2c6qHLNxducByF8XlvfUb
         V3fr9DCbIXhB6XNQ96k/cLwlpVfkxD1n/0Go2lYj5a0nZu1txY+Eme8kkWn1wzNIsP0u
         AcBRyHgzTe/rHwtL/gV40bpI6wu/oPvzj3YbMVv9ls146vLPF1+tsId8ZXb8NSykTbkb
         ImsQ==
X-Forwarded-Encrypted: i=1; AJvYcCWqh9zcs0lvsqfGz2vjcnprS1HO5buy1ADAPp79LLqdzoW+SyNyvNLICcmbEIokm7QtytReEogSjx0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxkxfosa2lBx6QskJtfkb08LSODfqMfBvf/tySK9oMYtw+xIGGF
	6Fqg+UqGrtnM+nxBYf1Pkv7qvdF1JihbAmHVDxSWbsXtV99jlXjKkRDJJIfd8g==
X-Gm-Gg: ASbGncvrn9pmnkq2zXo2kbGG92cifEn8rruYUUDz4evdAYT7VdUE+JLILJS/FbmP6iy
	wnAaW1uZgvHUjul1HSoySS1eqqYIaMgzOvRVNzddPowV4t4xPLP7tUQdKDlFu13+ASRJ/HMjA+r
	S7sMbJIl2sKKgIH8VOjGg1y793LJruh0sIC0zmAehp/J/GM9p8AVv3wA05JOOybYop8JZPfMkmY
	ZVlziwtZDbSoekcH9bqR//LSlD0FAeX5g5NZ0cHzZ/Js4QPoxjaCMHC89G2Sca76FtsWKU5/IEg
	RgZv/DvxP3O7dg5ygnTFgjcMRgpX3vTa03l26Z0w9k9xJpkytqgz8Qv4ZeK5dhTj/q+GBMLAhOE
	hOcsXJPq3l8xhn1oE+P2naV2yTLNcgw==
X-Google-Smtp-Source: AGHT+IF7USxI6eCGANQp/3rrlshXsrdg/80dEX4lu9KyUMmFS0nm9Qw0k8tfHWuaM4CbZPCkmQR0lw==
X-Received: by 2002:a05:600c:3b9d:b0:43b:b756:f0a9 with SMTP id 5b1f17b1804b1-43d1ec7aa37mr145216325e9.11.1742220809214;
        Mon, 17 Mar 2025 07:13:29 -0700 (PDT)
Message-ID: <5aac6880-7821-4217-a493-d0ab8b0139fd@suse.com>
Date: Mon, 17 Mar 2025 15:13:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 13/23] xsm/dummy: Allow XS_PRIV
 XEN_SYSCTL_getdomaininfolist
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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-14-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: <20250306220343.203047-14-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> To hyperlaunch xenstore, we want it to automatically introduce all
> domains it finds while initializing.  To do that, change xsm_sysctl to
> allow XS_PRIV to call XEN_SYSCTL_getdomaininfolist.
> 
> Xenstore can already call XEN_DOMCTL_getdomaininfo for the same
> information, but it requires knowing the domid.
> XEN_SYSCTL_getdomaininfolist eliminates the need to guess domains.

Yet then - is it a good idea to make such changes here for the sake of a
new feature? If existing Xenstore was enhanced to use this, I'd find it
easier to accept the change. Otherwise can't the hyperlaunched Xenstore
behave like the "normal" one, not needing the change here to be made?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:18:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:18:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916981.1321981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBIl-0008UP-4L; Mon, 17 Mar 2025 14:18:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916981.1321981; Mon, 17 Mar 2025 14:18: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 1tuBIl-0008UI-1i; Mon, 17 Mar 2025 14:18:47 +0000
Received: by outflank-mailman (input) for mailman id 916981;
 Mon, 17 Mar 2025 14:18: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBIk-0008UC-59
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:18:46 +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 bc1cee3e-033a-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:18:45 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso2998148f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:18: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-395c7df339asm14921666f8f.3.2025.03.17.07.18.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07: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: bc1cee3e-033a-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742221124; x=1742825924; 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=mEPwodwgyIHkvb8L3pMWj7tPbNKb1JePDQ1Lug35nl4=;
        b=Kxwcvs4/L4Bug9MIVRgEyl7SwkskAGR7KSN5az457J7m8xE/abj0bCwzhWEj+SHFhv
         4eezANmDo+bbuul4wdBEPp9cjzq76pceNujA9BWv3LsVHHBkMeN4JUh3qh4QWKF8/gB0
         0qCnUMjl+qkY1xkltDbU3Z1IuQ27gIYHDbu9Q3VCFb8HnfCFI27x7AUvDzIT+erGss0u
         HB98RxVYE/hobUumvllVPoSXFEwwO53mAMIhcL1UqgHVWnf58T8UbprVIa/c0wXCgbmE
         QBbL3pEDKfxm0nW9DrcfGd3pOOp7jBOJvhDIrqcx3Txu0HOUzEdIYX26Z1D+GwWSVN1X
         fgMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742221124; x=1742825924;
        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=mEPwodwgyIHkvb8L3pMWj7tPbNKb1JePDQ1Lug35nl4=;
        b=qA15xlzhorFEgAq3hm5Pj5YyL4KCEJuZijJop3h9cve9kK49dI/V3L/U4q0DMcVfjh
         xMVagUCknc0+rlB/oIqBGrsQCx8M6ak8iqy8SdrP+DXo7uOAnG+7WA7XUPa0+5Mp/6Mw
         7TWxvZpEiijDIoyUoWjAw5RcvjK4F+KDS3G74cXjiE75qp9OKHl23nHkCYiZwWk+OUvI
         FX40VoYRPZbtcUGvRL4gx2sFuUhwIz1XiRnq0iHbTJzR9edEMh2KQSjjLFfWZTZATNGB
         kfmIeCw+i1HSxp91IAH8HdQ3CrM8sAUHDTEHkQeXa6eSk6fsTh9I4KMx3OD2XI1/mn1b
         J2SQ==
X-Forwarded-Encrypted: i=1; AJvYcCVnBD/py73/pNRXrLXSg2AZx1VS94mPv/HYa2kwnWXxxRGHbFXEnk4qc3/S+PN0oTzshddcCjBgkPU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzB+ub2Jqbp6m1YygQ46/egVM3edFyIbyV0IepQe6OUNgp1p0Z1
	9mlBHBMK6dlkiOBtPiL7JhRz17/LY2By0SOaKu4u2YXKXgJsuOEvFr6Gm1TF0A==
X-Gm-Gg: ASbGncsPBx8KXBnmgjLwiC9aoA2vx+wcQ8fVdt8eQRNJjloWCG/i1blx+VFPsTX6oLn
	koWL5rVTh+xKHI2QfTa0Wz0D11j1mj0/Pt1ghww+7rIQBVSVkQro5D8CqDGtOyrU0kmo/9pZ4RN
	QSSy+/uWB0vCPe1gtSw0kID1Foy3jTgChXoDivwOdG1n7HmW1t8c8AENld4q1b+bRpLC3o/co/m
	t01ZZISe0NHfhutNK2VXU07ZXrYV6wxnMKDwJqShiKjmK9Son1eCNqimSOWdmgnEZbcw+3giXJe
	pzLfCztzOb16qQV9qhsntlYyFTPMOCkZ74S+SB8Tg2ccg5E7Gpm7xuMvTph1QFQKjyShjsPVmrl
	9JsL0bG1tEWRATMVX+H4Q1bb816iufQ==
X-Google-Smtp-Source: AGHT+IHXI1RFDz9nv9Y8LFo8YM2VgIg0eOr6DNM3374r/XaoUCPh6IoKK7QFoib1kHn7LxDMf8B/jg==
X-Received: by 2002:a05:6000:1fa2:b0:38f:483f:8319 with SMTP id ffacd0b85a97d-3971fbd4242mr15569607f8f.51.1742221124359;
        Mon, 17 Mar 2025 07:18:44 -0700 (PDT)
Message-ID: <6d6c2a2b-630c-404e-9257-e353464f2400@suse.com>
Date: Mon, 17 Mar 2025 15:18:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/23] xsm/dummy: Allow XS_PRIV to call get_hvm_param
To: Jason Andryuk <jason.andryuk@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-15-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: <20250306220343.203047-15-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> This is useful for a combined hardware/xenstore domain that will run
> init-dom0less and xenstored.  init-dom0less calls xc_hvm_param_get() to
> retrieve the xenstore event channel and pfn to configure xenstore for a
> guest.  With a hypervisor-allocated event channel and page, the
> set_hvm_param is not needed, and the normal domid permissions will allow
> xenstored to connect.
> 
> Similarly, a hyperlaunch-ed xenstore stubdom needs to read a domain's
> xenstore event channel out of hvm_param.
> 
> This allows reading but not modifying the guest, so allow the permission.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Since this is exposing the entire param space to Xenstore, what I'm missing
is a security discussion for existing as well as potential future params.
There could well be some that better wouldn't be available for Xenstrore to
fetch.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:19:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:19:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.916991.1321991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBJV-0000YO-Cc; Mon, 17 Mar 2025 14:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 916991.1321991; Mon, 17 Mar 2025 14:19: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 1tuBJV-0000YH-9p; Mon, 17 Mar 2025 14:19:33 +0000
Received: by outflank-mailman (input) for mailman id 916991;
 Mon, 17 Mar 2025 14:19: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=5Mnh=WE=gmail.com=gragst.linux@srs-se1.protection.inumbo.net>)
 id 1tuBJT-0008Sp-SQ
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:19:31 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d73bfa29-033a-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 15:19:30 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-30bf8632052so47881531fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:19:30 -0700 (PDT)
Received: from epuakyiw0a98.kyiv.epam.com (ll-22.209.223.85.sovam.net.ua.
 [85.223.209.22]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-30c3f117161sm15918751fa.53.2025.03.17.07.19.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 07:19: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: d73bfa29-033a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742221169; x=1742825969; 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=FzB3jATjEnhV6LFXt11FmavWel6P/yF1jEFe4PRinoM=;
        b=I4qIX3TJTF/N+iaAjTjRb+XdZ2k2DxhHtCFcEDeCnLNRwgUaF6i00h6yFRLfYDkQXH
         mSK04FLNXWgxIXE0o0mgdnxzCV4SeAGNYGMf+rTB6UTmWcYskXo246CvPcOgcWlxs10A
         U9NJpH+vhKuIZj6E6s3iWsEBbniG+pmSUXrbeAYH87UcghHn3dhB0/FT59fs+zivLJXr
         9U6qAUZjXetJWz3khOP7THmVr2NAv668snLo7DVMoOwbH8pgQSoSKWfiNeU/xF0Qaxfr
         d5UWGjQXbMKClesauwEvHrvw7xEc30pX7e2ZCDM0ne/a9f8St4u0uT7DvgNr50VRvD4t
         8gfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742221169; x=1742825969;
        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=FzB3jATjEnhV6LFXt11FmavWel6P/yF1jEFe4PRinoM=;
        b=wPpw6P+24pXM0XuNOIOfKyEtKR7PJD0rErkdezAflfJOxM2D3lkv5E3EoQJrj4NO8m
         whiNyzeCK/V8U1GWLe8n0GeBa+of68Ot8QuDTVcasDiSA6/QIrcwtJXEyzh9iOxF0+Bl
         gseHjtHiJK44vyCiAK8Y/UPnsefJ3vFJxuvXML2DxtRMBvLBPhKNclYijwo7tyjg2vku
         vHa9WdJQmD2J6DR7WXaxVRpv2D+LdvnyiRcI+Qu/BviIzI4S4NHEOJ3aHiveTQW6TtKo
         yuG34giVboz9s1YcZI/8GDLTv03ce9tQBzBQLMrvJQjVqQ/CTOik7uCqjS4Dy1SQLRBJ
         8yfA==
X-Gm-Message-State: AOJu0YyrWRApyya9FwmLC2q80iICdBdxTBlM2MkJ+EAU0p3TZNSS5Ppd
	Z2q8eZ6b35jUrKfDgQGYY/VY0hrnyNsdnYvuZnxFTBqZ4YQTiLZ6uEUR5w==
X-Gm-Gg: ASbGncsHqIbHLoGIKQn+D1Mm6PJURjJqta9X9oCAzVLJMgJ6R6KOKU94Fpdly++360u
	DEgQl/XQlo2bKdBLwku0/JOscs+TMIwFA+OqL0k6UQG70wKNb8ciAhNaycub5ePelVmvLGdftfM
	Eg4prAl/2m06mEaeQedugWtXMjM5KhxD2FKKEyZxPCBa3v1SrAUgSC8RKMpaQEmS18oNV+7O9xx
	rKlyt6oDgUS5I1H0tM6mAQ1stgGQbEydhABYuBVwIJgiVdnrKRgrWTgPrWf6o2Ac8kpft4VM9vT
	JZyTo8JSTNCsJgRcl3kCzagwZNO+aKCCxkFHJ1oQHltUaN5UzgbtJTHKJgUseoFTsyzhlEfZmP/
	pnj9JmQgzU8aTG+KYKryaXVoNhUk=
X-Google-Smtp-Source: AGHT+IGsMLXXLaFP5CxLb9s4NNu11bmx9lMx6D2Z2BC+TXaN4v729+Aiyhy5ilNoGXqD/W9HkgA+NQ==
X-Received: by 2002:a05:651c:2127:b0:30b:b184:a904 with SMTP id 38308e7fff4ca-30c4a75e6eamr83592971fa.4.1742221168950;
        Mon, 17 Mar 2025 07:19:28 -0700 (PDT)
From: gragst.linux@gmail.com
X-Google-Original-From: grygorii_strashko@epam.com
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [ImageBuilder][PATCH] uboot-script-gen: add ability to cfg vcpu hard affinity
Date: Mon, 17 Mar 2025 16:19:09 +0200
Message-Id: <20250317141909.2502496-1-grygorii_strashko@epam.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Grygorii Strashko <grygorii_strashko@epam.com>

Add DOMU_VCPU_HARD_AFFINITY[number,vcpu] configuration file string option
specifying the hard affinity configuration for the VM vCPU(vcpu) in DT.

The format is a comma-separated list of pCPUs or ranges of pCPUs. Ranges
are hyphen-separated intervals (such as 0-4) and are inclusive on both
sides. The numbers refer to logical pCPU ids.

For example:
DOMU_VCPUS[0]="2"
DOMU_VCPU_HARD_AFFINITY[0,0]="1"

will be reflected in domU0/vcpu0 DT node with "hard-affinity" set:
vcpu0 {
	hard-affinity = "1";
	id = <0x00000000>;
	compatible = "xen,vcpu";
};

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 README.md                | 11 +++++++++++
 scripts/uboot-script-gen |  4 ++++
 scripts/xen_dt_domu      | 39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 54 insertions(+)
 create mode 100644 scripts/xen_dt_domu

diff --git a/README.md b/README.md
index 5b75018ea956..262022c665be 100644
--- a/README.md
+++ b/README.md
@@ -186,6 +186,17 @@ Where:
 
 - DOMU_VCPUS[number] is the number of vcpus for the VM, default 1
 
+- DOMU_VCPU_HARD_AFFINITY[number,vcpu] optional, is the A string
+  specifying the hard affinity configuration for the VM vCPU(vcpu):
+  a comma-separated list of pCPUs or ranges of pCPUs is used.
+  Ranges are hyphen-separated intervals (such as `0-4`) and are inclusive
+  on both sides. The numbers refer to logical pCPU ids. Below is an example:
+```
+      DOMU_VCPUS[number]=2
+      DOMU_VCPU_HARD_AFFINITY[number,0]="0-2"
+      DOMU_VCPU_HARD_AFFINITY[number,1]="3"
+```
+
 - 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 74e3b076910c..9229f9af567b 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -392,6 +392,8 @@ function xen_device_tree_editing()
             dt_set "/chosen/domU$i" "colors" "hex" "$(printf "0x%x" $bitcolors)"
         fi
 
+        xen_dt_domu_add_vcpu_nodes "/chosen/domU$i" $i ${DOMU_VCPUS[$i]}
+
         add_device_tree_kernel "/chosen/domU$i" ${domU_kernel_addr[$i]} ${domU_kernel_size[$i]} "${DOMU_CMD[$i]}"
         if test "${domU_ramdisk_addr[$i]}"
         then
@@ -1164,10 +1166,12 @@ fi
 
 check_depends
 
+declare -A DOMU_VCPU_HARD_AFFINITY
 source "$cfg_file"
 
 SCRIPT_PATH=$(dirname "$0")
 source "$SCRIPT_PATH/common"
+source "$SCRIPT_PATH/xen_dt_domu"
 
 # command line overrides
 LOAD_CMD=${load_opt:-$LOAD_CMD}
diff --git a/scripts/xen_dt_domu b/scripts/xen_dt_domu
new file mode 100644
index 000000000000..e1cb2376c37e
--- /dev/null
+++ b/scripts/xen_dt_domu
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# uses:
+# DOMU_VCPU_HARD_AFFINITY
+function xen_dt_domu_add_vcpu_nodes()
+{
+    # $1 - dt path
+    local path=$1
+    # $2 - domain number
+    local dom_num=$2
+    # $3 - number of vcpus for the domain
+    local vcpus=$3
+    local hard_affinity=""
+    local gen_vcpu=""
+
+    for (( vcpu=0; vcpu<${vcpus}; vcpu++ ))
+    do
+        gen_vcpu=""
+        if test "${DOMU_VCPU_HARD_AFFINITY[$dom_num,$vcpu]}"
+        then
+            hard_affinity=${DOMU_VCPU_HARD_AFFINITY[$dom_num,$vcpu]}
+            gen_vcpu="1"
+        fi
+
+        if test -z $gen_vcpu
+        then
+            continue
+        fi
+
+        dt_mknode "${path}" "vcpu$vcpu"
+        dt_set "${path}/vcpu$vcpu" "compatible" "str_a" "xen,vcpu"
+        dt_set "${path}/vcpu$vcpu" "id" "int"  "$vcpu"
+
+        if test -n $hard_affinity
+        then
+            dt_set "${path}/vcpu$vcpu" "hard-affinity" "str" "$hard_affinity"
+        fi
+    done
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:23:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:23:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917006.1322002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBMu-0003Dv-TS; Mon, 17 Mar 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 917006.1322002; Mon, 17 Mar 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 1tuBMu-0003Do-QN; Mon, 17 Mar 2025 14:23:04 +0000
Received: by outflank-mailman (input) for mailman id 917006;
 Mon, 17 Mar 2025 14:23: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBMt-0003Di-Bj
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:23:03 +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 55112326-033b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 15:23:01 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so4223826f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:23: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-43d1ffb62ccsm106600045e9.7.2025.03.17.07.23.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:23: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: 55112326-033b-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742221381; x=1742826181; 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=I9/Rz+weY/K0X3yiZ1gUR15q0/WiuVboyJSphJbw3Uk=;
        b=QHfgj5eK6JD1/NT2AZ/kw1UxzaNVeqMZvEs894xjvdWZ3NbRth5XmrB/Dige6toWtE
         5niQ/m3RKA0MyRyTJ5K192xhQZCYr7SfmM3T6BeRoNM+7QV4DyWICHOOu6pZmAEPMl+/
         Hz8BOPepQ2KlDkxR2R3rZKMylk3BppVZobY3ZhiW62GQlXcBG+W3kZ5KpD2+LCXwdZDF
         7Q8bf4985wtYe8BE9Q9tulDzTsyYpZwxn89iD1GEj39uQFG42iGuh4Vsgo3yQkgbN+DX
         g5uZlywiOzkpKlyqEosG7J3n9y1uGR5FlUwQpUzhIzE6YbfLjPSRnxXMwaksj2hufpic
         aTuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742221381; x=1742826181;
        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=I9/Rz+weY/K0X3yiZ1gUR15q0/WiuVboyJSphJbw3Uk=;
        b=rtpAbiXOUl7n1Vl0C7KUF3T3ygmB9xKuflUcFhbuRjiTA7N/zia0qAOiT7iFIhx8f6
         R/a0PQSrI0guXclVz8X0N5LDqHqKi366S/8/9Xlsy0Hc8in6APBQksNzxj3KES1OLeOx
         bCF5aO02HTj8lYPw+B+M+XzIwfYVdo69DCM8vQkleCJjHJtLPR1VZNZjUgg7ADMyp4pl
         9+Azljd3fWkYzQ5AJMH2mMEsr2190V9vqiKvWEHj8mlhyhcMc85jxnvPEZbG+vTtq8SU
         NsZEBOIITtt2jMiZrH8yMjDeH7qbDwm/4zdB5udQroslcabHrmkp6hw/L+o21RUFrxiO
         FP7w==
X-Forwarded-Encrypted: i=1; AJvYcCXKTxuebU7jgse9xBWiYo267Z2R0YytVv6V3sWCv7ak3F6bS5OwTpuwfdGNyZOCmKax1rSQwAlCc7Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywdlk4MKMJe3Y7Abae7M9hQuQDCgZ5n18wGumhgNFLYZds3V21v
	DyMt4FIs7COXzxUHPRQLkS9gLFmNFLrie0PPUsnncOrab7FbZsixRJBJzOIR6g==
X-Gm-Gg: ASbGncs8zZ9d+Q8B2/i8/M6zWdxyHHUFs2bncTXpL8TAQAhOdAY6UO8RrnuSf6+ppn4
	BCQOVrbNamwpT6RRzgrWbHa5iyEaSe3DpJ2TDHcEa7xcqPUSaY49+ll/OUVtXzKPdu0VrKBRHva
	HzsKQTHrtyilKMl5KRlZT6YJ6GcxBexg/sKIBB8XDhlJWaYIQcrjKlFRw5bM9Sum6zOzlw1DMwL
	+9IMx1kW4dKMy4Nwi4noE/YevV88RaG7MEQ2kkLzLwJmBrEadr7ZfsOIj9be0d27pnU++qXrrvQ
	20J0lsT7C+SDZ+GAWEAHR70ohNiIAVREfqmf3vypujFCIpcqMwzTKeblB4QUngLPl82i5yFJ+DV
	yvITAGRprgD2EWdrVZghbxksiaBz77g==
X-Google-Smtp-Source: AGHT+IEKnoDCra9T0KjJovbSeWmjL48MOmYVomu85UxLY8KxVwv/SenGEUj00K9I5txpbg5RcNxWAA==
X-Received: by 2002:a5d:6d8a:0:b0:391:255a:748b with SMTP id ffacd0b85a97d-397202a1884mr16999400f8f.39.1742221380967;
        Mon, 17 Mar 2025 07:23:00 -0700 (PDT)
Message-ID: <095042a0-94c1-4f86-b6df-836a7107efa2@suse.com>
Date: Mon, 17 Mar 2025 15:22:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 15/23] xen/xsm: Add XSM_HW_PRIV
To: Jason Andryuk <jason.andryuk@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-16-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: <20250306220343.203047-16-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -95,7 +95,11 @@ static always_inline int xsm_default_action(
>              return 0;
>          fallthrough;
>      case XSM_PRIV:
> -        if ( is_control_domain(src) )
> +    case XSM_HW_PRIV:
> +        if ( is_control_domain(src) && action != XSM_HW_PRIV )
> +            return 0;
> +        if ( is_hardware_domain(src) &&
> +             (action == XSM_HW_PRIV || action == XSM_DM_PRIV) )
>              return 0;
>          return -EPERM;

Hmm. Isn't DM_PRIV a property applying to the control domain (besides
any stub domains), but not the hardware one?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:26:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917014.1322012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBQ5-0003l9-BS; Mon, 17 Mar 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 917014.1322012; Mon, 17 Mar 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 1tuBQ5-0003l2-8O; Mon, 17 Mar 2025 14:26:21 +0000
Received: by outflank-mailman (input) for mailman id 917014;
 Mon, 17 Mar 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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBQ3-0003kt-7v
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:26:19 +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 ca4ec071-033b-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:26:18 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so19072155e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:26: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
 5b1f17b1804b1-43d33f5771dsm17826405e9.38.2025.03.17.07.26.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:26: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: ca4ec071-033b-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742221577; x=1742826377; 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=t2VvaNoM7m8xC8GhD8od2X8ta3pdf/K0jWYFvW7PdYs=;
        b=Fn32qWop+O9jARTVOvpI6PqroGBMEXPJq7fAmdjro5hKHaw6wJ5PR8fHTHOrtQ8dGI
         i/MrIet+nWN1nypHCzou6q8TJdxFXxzJ7K06He0mbKxmG5xZ5cDr6wcknHrCuwjBQEg0
         eylQgDMIC6k0PSe0EQF/iFdz/zdWqaktw+IgrxUN+UkEjT6vpoN96N5quOmn/qRkGMNu
         PxkcnQSC2ebkYHDiNB6D/f76Pgx3Moyko0Uld2fxUYPD/onByXjBDFPTsGxUmj9llV9N
         X/tT9wCxlkS0V1EqKywCV7YBvoRRrsYAjm4qMDIC4Vsdv//DLBO6BnhR7XBy7fAhuscl
         yy+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742221577; x=1742826377;
        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=t2VvaNoM7m8xC8GhD8od2X8ta3pdf/K0jWYFvW7PdYs=;
        b=J1luyt9fjj3nVe7oz8Jtj2bByzb4cRkyIQhtLAMGEe6YcjdpQcRBw8Fv3i+DEufBWv
         SBoj3fLXeJANc8yaYoxOHk1DnvfZkjtb3Rw3/hxYpc0GhNkgtXUia2IG39aFnCNLg2cb
         XkQ57OZF6dIR6jV9OosV1ykWm6tT93pQdadMYL/iu+aiWleP8Jm8fHm1bhnKZaMIUYht
         j0CBsP7F5S4ELSoujiiF5M7X5o3/6brsjiK3dg6V9yWVJhjiXrXBicQ127cKIWmde5Ar
         hQJ2aDeFXYEVM+L4WQwRoYzr/LVFyIjlr9ptUE8siIa5aguU66VDqydewdteXrD0ufN2
         ppDA==
X-Forwarded-Encrypted: i=1; AJvYcCVGU1d2CWlumgfTJ8wfF77LzvRan7UbG7r1XqE9IHo7WGVpV4GEEETWH51AMIsmz0LkGSlsia6gXyE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxaEGtwnfEI+Z/MHEy79n8tXcZ43hutgMfaIE3ccw+DtHwx2SPH
	7yBDQ6cXkBN8Nmvj12Qj075/FqyYz2U5IraLMlXkfoyUBG72SIL3TxVoHAJBXg==
X-Gm-Gg: ASbGncthJR7hFRnp7yg1IiIn9tm3FztXlianBfQl5OUClazU6zaXjSZCazVBDZe8ojJ
	MkNZB/lI43YDGGwrkdcejjjqVP7HPeZZVe2GbYA/bLH5XJjS3ZRks2kHN9G728MHyCYo6xyorHf
	9Ebc8xeHa57D4GaA7fN7ljm1dx584HVHNcm5UMHN2IaXxx+rV9K2+WQomPsLL2actHTEDRe0Jly
	ifgKNcHuPT9RtnY+4ssJD0x5O8q20F4npZeAAiG8qS1QfsdaS6n3uflmRGgBXbAGDsWD44irCOo
	ZiU3WuMQsF5NJY9kNdgIeEWEg8xIlVXo0UQgnFvcPhl7TajgAtAI4wEZRq6y9M/uiDvmefYUAxg
	R5aqsqLaRExpm73SQZO7tdp0BMUE6Sw==
X-Google-Smtp-Source: AGHT+IGfSTzYiHoHIJhy3Ix0RjJ1jhVugeQDfrxJ/IKs/8KSFgaM+JSbRvtCrFvLzYayoWThKjqC9w==
X-Received: by 2002:a05:600c:548e:b0:43c:fb95:c752 with SMTP id 5b1f17b1804b1-43d1ec74ec4mr129968835e9.3.1742221577643;
        Mon, 17 Mar 2025 07:26:17 -0700 (PDT)
Message-ID: <c4323947-bc2c-4554-b67a-5efe3ddc13d4@suse.com>
Date: Mon, 17 Mar 2025 15:26:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 16/23] xsm/dummy: Allow hwdom xen_version
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-17-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: <20250306220343.203047-17-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> Running xl queries XENVER_commandline and XENVER_build_id.  The hardware
> domain should have access to the command line.

And that's because of?

>  The hardware domain is
> at least semi-trusted - just allow it access to all the xen_version
> info.

I'm unconvinced.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:28:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:28:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917024.1322022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBRl-0004JU-Lo; Mon, 17 Mar 2025 14:28:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917024.1322022; Mon, 17 Mar 2025 14:28: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 1tuBRl-0004JN-Id; Mon, 17 Mar 2025 14:28:05 +0000
Received: by outflank-mailman (input) for mailman id 917024;
 Mon, 17 Mar 2025 14:28: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBRk-0004JH-B8
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:28:04 +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 091432b2-033c-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:28:03 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-39149bccb69so4443218f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:28: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
 ffacd0b85a97d-395cb40fa30sm15291697f8f.68.2025.03.17.07.28.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:28: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: 091432b2-033c-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742221683; x=1742826483; 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=FYdDW5jSfYx+xj9nsz8mqNBnwgpXKwb/NGczNDARr/A=;
        b=TiX0zYaxhOTPekxsE4yfrJaPzYtD9OiA5PhejhEjZsdAADyaUBRQQSZIhs5YBjfB77
         iLIfG9L/q+BYiRXeeQIUftnCRKuR1W/dAJMslbaL/oPfcwQT7RnnyVg8NVBgQGLrZwoK
         4YRQr+2lg0Ft03kcvHejApphk2iNijIj+6Myq+gvnld3O3YXaT+ebVpFhKLZ8dV7JfKh
         2B7bYmaaomEdbTCXGg78vQGKl/4HtuQcbFmGDZwKBiJ/NiDCFhfjsZo/bXhk1rDQNkgc
         5J+M2zIgqDpWj8gHtSHDveNATNvjv4LpTvsJgRrukQ4GEbm0i5oobZv06dEjTTcieWAO
         vKGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742221683; x=1742826483;
        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=FYdDW5jSfYx+xj9nsz8mqNBnwgpXKwb/NGczNDARr/A=;
        b=IVRFqpp0r+nCTAK3o1MUSVme9etdM6Hq03JnF83mrD6aHorD24viSxnLBFhqsyxQTP
         Mm1BOQhCg6dPRwgcJsTn5XIXl6RaJtQwfZTDkd3fiGcj2vWl97JfG8UfIl4Kh/DkHmSB
         ll/idCvZzhLunEVJDc8pizLlO6CdWCjL7sjnI71tVNZefxQBWtV6dAw5ThzE5U4EarPA
         JtpM7h0vcdr5XGlhWXFS22Fh7znrHu0CFWnmbU+bNNgd3pYeKCcNfdtD2V3LoP/ZnuVc
         MqH+qw6it2RU1hQ9l1OmmiK/77qDGv1tp24jWLUKmfBO6l7LjJ3j0CMVKfGM/nWjQHHh
         3hrg==
X-Forwarded-Encrypted: i=1; AJvYcCXGNeZK+MYY/SCYxKnJIVyVNboxhvtbjYAh0WRYOvxkrhHvS7thgR3gZr4GHVX9yk/Eeei7f8FKn+w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxz/l6gsZTQ09gRNHsJScnu4YdZ4tpLaJDhucfh4F2nVLTHC9I5
	brQxr8KqoBcjigDNE6tO+ku3ndyInLeJkf8Vm8YUnKtzdDtX6TZPTp9hpWGwsA==
X-Gm-Gg: ASbGncvaX8ABXBq3wU/cKzBATyslY7uQgeGcYnu0nYQRp0gtukZdDN/9ZYshDODiyap
	6hVk8a+WkswNjAHnP2fxXFTHhcSRJ6+ge2R3EsGNNkBmD87F6WYGgfkmtng7ZmTew/vIpSXoHpg
	WKgN8YM5ia5lzHBmivzgucCbaNXVFXPZ9siHeVglgdbusFSP7yt9tFN8xTppBk+MhNuSIYZj+xg
	zebFqj13nfGmjRZUSz3oqsBZ153CSdCk7Nb4GEQi1n1jy9NdoNOe0PT2lKHpwQ4fQ+t0HwE/2cl
	f7r5WR8eYCaRLsa5bCpBx7kcQPeOBIkMJ2dpJvVDEJLv82o0RduZX6OdgcU8GvjYIQ+gQIPG3e9
	UaDduVbJQWQyHlATXpHSLw0spVH3vfw==
X-Google-Smtp-Source: AGHT+IE2rF3t4VgL3VSek4wTNsJ/iNLLrIRqUdD39ShTMut5X/AEg/5DIOhVhzcbndyDSrlCuci4XA==
X-Received: by 2002:a5d:588b:0:b0:391:1213:9475 with SMTP id ffacd0b85a97d-3971d8021e7mr13124238f8f.24.1742221682997;
        Mon, 17 Mar 2025 07:28:02 -0700 (PDT)
Message-ID: <66291536-a164-48a6-ab3e-304dc6035ed6@suse.com>
Date: Mon, 17 Mar 2025 15:28:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 17/23] xsm/dummy: Allow hwdom more - except targeting
 control
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-18-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: <20250306220343.203047-18-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> Allow hwdom all perms, except XSM_PRIV, and except commands where the
> target is the control domain.  This protects the control domain from
> hwdom while allowing the hardware domain to serve as the backend and
> device model for other domUs.

I can see why backends may need to live there. But device models don't
belong in the hardware domain, do they?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:36:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917035.1322032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBaD-00075r-Fx; Mon, 17 Mar 2025 14:36:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917035.1322032; Mon, 17 Mar 2025 14:36: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 1tuBaD-00075k-D9; Mon, 17 Mar 2025 14:36:49 +0000
Received: by outflank-mailman (input) for mailman id 917035;
 Mon, 17 Mar 2025 14:36: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBaC-00075e-Nj
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:36:48 +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 400aaaf7-033d-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 15:36:45 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso15736215e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:36: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-395c83b6b43sm15376704f8f.35.2025.03.17.07.36.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:36: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: 400aaaf7-033d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742222205; x=1742827005; 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=l3Tj3cSQJP9ZgGn61qeuoZ4GpiyZjdMJ4QRd66Y928k=;
        b=akqruF2x7NKIiQra98dL6JNBuoTJFplhtqlyUA8Np15k+DriDVSzbtrwYEs3n0U4i/
         OVUF3BGDXyF2N4dX1ZTMS+LZKr05KZrghTh32YcI9k6CF74XxbkJhj6QccEQeghSiaWC
         nggwtXI6JS8H8zRjTZ361Z423DWSX/tEIr9EMy+cDx5sHGsUs7C1oKHJy1rWd63zvEYA
         TSdHrIaaAvnCwI83dNRekGhkkSpIc4KZh7XP4Bct5qawqg9W0oBnLfdnk0IV/shbO7gW
         do6eRPC0PNIn5CqfsPQy6+stXG21BKNFYI4czvNGguiAPr4wrY/KkfgGzWfQGjSFWzzG
         uoqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742222205; x=1742827005;
        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=l3Tj3cSQJP9ZgGn61qeuoZ4GpiyZjdMJ4QRd66Y928k=;
        b=gcW/Dd0bIFIO9qCLBQjPXYbB+UAooP8suo6IidagSi5MxRwtNPJ4I/4PkxJUQ18Agc
         GK9XLBB+ID+Hck3NhvBZK2qb/Wme6iyQOWBgE0Ka6EqoDVnUZ0jjGnFaD9LVw0VMAdlW
         H55JQ4nEYYsF77tSk7BPIiGUYz3MJFqV5Zl1/5HkcOnVHGitvnC5ex0iL9dJvkt/QNdc
         h2HMFAny1i7x2AGTQuo3UpjYzCgZgDAIpE/ChZhZB5w1A5JbyzBfXFedIhZ7SFtWfq/T
         wbMLpsQuDPoapoBjZozykPYPhCP8q3fjQVZ4183JmYVQlwM7MNQ0HEMgBnWm4J7fNiBK
         q6Qg==
X-Forwarded-Encrypted: i=1; AJvYcCVfyt+iy1ZTOncDKFFezv9m1OG6WIQ7XP/msbHTU0ljaOxpj7Iwd6UCLYleOaB99Bbm0sjj2Le1lT8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydNo1jw4L5BBUsV/qaCRidM47hKxG/jKgfF4BtJWCCfAkAVKJY
	0uYlOhjCgyRo6k8FfWYAJBxDAikNlcUav97dbKzg0hqicp8tk6OQlb47XwubrA==
X-Gm-Gg: ASbGncvwWPc0rPzvYLCCeUrgu+oDYI2eupO9XWeJeVqDqYFCBfHEWLkWvdjozB8zKdO
	Ee2JORaDGNAkYIi/BZKC4us9zoWicLSKBdJ0Ufuk5vBBiIuYDk5xObiWx+EE7KFF44MnM04VTWZ
	k1Kxg13AtupTiZKSnhSeLtlXoft95XvtUDdFA89Aqt7AxvkvcRpUTjcUoNJO1Gi/FxpkZkm5/VZ
	Sracr/10BdaRs2iwMbJDAdJqKbc3IP3zzAcfx+4BRWw0yKQFfrtN/9EQATsx8kqVC3VScEnAdEs
	erZlXlfISJK9IndtA5vF3dFWMcZ5UqOvR9syTsr+zKO7nQzrkhRIoUx18dvCdLPu27KKs6yFvYy
	opGiSQYNzSiiM1VX2M1p6bFnuoHi9SQ==
X-Google-Smtp-Source: AGHT+IE3odevN7Xc2V7BQwWcwQV2hHQCUJE8mShecrdEU1w4rXAhgJjIt7KqBYdHkm0YI/4MChUyqQ==
X-Received: by 2002:a05:600c:1d05:b0:43c:efed:732c with SMTP id 5b1f17b1804b1-43d1ed0f578mr118184935e9.28.1742222204657;
        Mon, 17 Mar 2025 07:36:44 -0700 (PDT)
Message-ID: <9ca3ec40-7b90-444c-a682-bcb5f17bd3d4@suse.com>
Date: Mon, 17 Mar 2025 15:36:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 19/23] xsm/dummy: Allow sysctls to both hardware and
 control
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-20-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: <20250306220343.203047-20-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> xl queries SYSCTL_physinfo for the physical cpus:
> domU:~# xl list
> libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
> libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
> libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
> Name                    ID   Mem VCPUs        State   Time(s)
> Domain-0                 0   800     1     r-----     130.0
> dom0less-1               1   400     1     r-----     130.3
> dom0less-2               2   800     1     r-----     130.3
> 
> Hardware and control are both privileged.  Allow them both access to
> sysctls so they have insight into the running system.  This is coarse
> grained permissions for the dummy policy.

In an earlier patch you alluded to the control domain being guarded against
the hardware one. Shouldn't hwdom be limited operations retrieving info,
but refused to make any changes to the system? Or maybe some kinds of
changes are to be done by hwdom, but then shouldn't be possible to be made
by the control domain?

> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -194,9 +194,10 @@ static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
>      case XEN_SYSCTL_getdomaininfolist:
>          return xsm_default_action(XSM_XS_PRIV, current->domain, NULL);
>      case XEN_SYSCTL_readconsole:
> -    case XEN_SYSCTL_physinfo:

Didn't you add this line just a single patch ago?

Jan

>          return xsm_default_action(XSM_HW_PRIV, current->domain, NULL);
>      default:
> +        if ( is_hardware_domain(current->domain) )
> +            return xsm_default_action(XSM_HW_PRIV, current->domain, NULL);
>          return xsm_default_action(XSM_PRIV, current->domain, NULL);
>      }
>  }



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:42:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:42:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917045.1322042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBfI-0001DL-3o; Mon, 17 Mar 2025 14:42:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917045.1322042; Mon, 17 Mar 2025 14: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 1tuBfH-0001CA-Vf; Mon, 17 Mar 2025 14:42:03 +0000
Received: by outflank-mailman (input) for mailman id 917045;
 Mon, 17 Mar 2025 14:42: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=YRw2=WE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tuBfG-00019t-R5
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:42:02 +0000
Received: from mail-ej1-x643.google.com (mail-ej1-x643.google.com
 [2a00:1450:4864:20::643])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fcb32625-033d-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:42:01 +0100 (CET)
Received: by mail-ej1-x643.google.com with SMTP id
 a640c23a62f3a-ac345bd8e13so338256966b.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:42:01 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314aa64a6sm682418866b.178.2025.03.17.07.42.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07: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: fcb32625-033d-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742222521; x=1742827321; 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=1Ij4MlBRs1GlqHF3e6C5FtQZkj7bVBsb7pHeMzoFBZg=;
        b=B6Ql0W5w0bKDCiqoc07BktO0R5AjDcf303o/3fOgQ6rVFHWcRHFG53zXfzotfnroWg
         lf9HiuhpEYzBT/2dd1PdbFUBezjh2U4BNW1fDQLND3sHRzosvyOVW5jYAOF4FaBMeMF+
         TfSrnDkadaN/Bod6Z80BiHs6OZpUr5epzhAVxBreZbKn+M1Z0XplbqexUG08CwTrBn9F
         udTvZGEf3rwA0tJRsIACfppC8k9vDEz5wjIhsyI0eiKy6MFogQ/LuIeImV902eAJtPIH
         7+Z1NfELoIC1/F8eilVbg48TH+bnxdu8Dy2mAYhS9IhuOIW9KHAJQ2heOJ0T6ldXRvcX
         b5dA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742222521; x=1742827321;
        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=1Ij4MlBRs1GlqHF3e6C5FtQZkj7bVBsb7pHeMzoFBZg=;
        b=Gzcf1tadLAuH6WEsbmOXgtNNpJzT5SMt0Z+XSJ8gmnSJ2gOPvgO93o1isKJyal3i59
         z1jq5RiSyIZhRp6lTb4JRZ/R2qKKJ1Wv0fenoGZohErz4eol7u7EcWQWnFfPj18pZzg7
         /okDSPFfA25fg0vWyiEVyCj9NlfEDbbFIsDy09jpHtigva3riDKzlLvDsPR/SwNGwEPM
         pn74PbZ0UOKpgeS4597CaMXdc5o5eIAn/fXD4budJfQuvUrRsAL4xa9l8No08ElDNpgX
         YQ7A6i7RKEn5mnxPVp9Nt3SfJsvMvshHRRe07d+ciB182+Am2L6zXB1rSv+fO47ll7Pk
         3Akw==
X-Forwarded-Encrypted: i=1; AJvYcCVnewk9QHCus4Wetn5t8BZj/7UdW1mjm3snIdQlQrU5RK08Q2hWS52bcacbB0Kv1UeVXfEHgKYtGn4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzebWnObXq4bpO4YJRWvVjaduzkjR34FdC3QoWNoLxSC0QVxD+U
	ZDnfPaMa6rZI++fHs1y/3orRx3nPiatWUzg6KZ+0lEy5fH8ty6lx3oikeZhJP50=
X-Gm-Gg: ASbGncussGIlAXF6yxdtjNR3yDA69SEgfG11sND2L5cDz/Fi+h90PSdjb9bbNph7tce
	AfUOJl6Dg4+Rzz3hivUFRa3rp6blIeZW7eUvOaBJazyXG/0CDvOjNMTBVQBpfn54pHhT8k4y8Bm
	jQ0084Y1gcVxncJCqwxx0UxqiRc72iG0XpIPDD8nXYYoYFbzDZkjQLOlBOQsWkznEbwy0mPolhP
	ose9i2LZXh7qb6YHuIyDGncJmQqWKn/EhdtmFFAyEKKYYp8N2Ue4qh7vPi2D15za8d/PksXwqmg
	xqsViUHzv71Y7bdkgTqiLptooGxghwKlDFdQ5YDIWTqUzQ5pZAMI/btIwDz9MQ7s7O1U8r7tYKp
	8OG/Lhg+YyVCxGFGvPFOL2oMOzTfIBZy101VH4hvqoxjzi3hOcG3Ao1BZ+qTHqKpc77bmgiP8s1
	pD4RnZ
X-Google-Smtp-Source: AGHT+IFrinjVbI+lAUVKC/GloO5ITmBT3Dw+yi4S+We31B/hs+jwbrjW0ie8ubb8zTv9GonPXwHX1Q==
X-Received: by 2002:a17:907:7d87:b0:ac3:26fb:f420 with SMTP id a640c23a62f3a-ac3303715c9mr1443581966b.42.1742222520859;
        Mon, 17 Mar 2025 07:42:00 -0700 (PDT)
Message-ID: <74b2f36d-b375-44d3-8b5b-9532d53349f4@suse.com>
Date: Mon, 17 Mar 2025 15:41:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Xen panic when shutting down ARINC653 cpupool
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
References: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <fd4fe44c-6c8d-402c-8b0f-466cf596f8af@suse.com>
 <BN0P110MB21482540CB855953D54BAB1090DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <ddc56efc-5f18-45db-85c2-1749e8ef715a@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: <ddc56efc-5f18-45db-85c2-1749e8ef715a@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3qP0nWWPfZjshRInxjqrlb0X"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3qP0nWWPfZjshRInxjqrlb0X
Content-Type: multipart/mixed; boundary="------------K9iZeFGkn4lpjnO6EhARHtx6";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>
Message-ID: <74b2f36d-b375-44d3-8b5b-9532d53349f4@suse.com>
Subject: Re: Xen panic when shutting down ARINC653 cpupool
References: <BN0P110MB21487F77F8E578780A3FE44490DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <fd4fe44c-6c8d-402c-8b0f-466cf596f8af@suse.com>
 <BN0P110MB21482540CB855953D54BAB1090DFA@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <ddc56efc-5f18-45db-85c2-1749e8ef715a@citrix.com>
In-Reply-To: <ddc56efc-5f18-45db-85c2-1749e8ef715a@citrix.com>

--------------K9iZeFGkn4lpjnO6EhARHtx6
Content-Type: multipart/mixed; boundary="------------NlZAe6LjDV7RheQLjWjsE7Ds"

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

T24gMTcuMDMuMjUgMTQ6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDE3LzAzLzIw
MjUgMToyMSBwbSwgQ2hvaSwgQW5kZXJzb24gd3JvdGU6DQo+PiBKw7xyZ2VuLA0KPj4NCj4+
PiBPbiAxNy4wMy4yNSAwNjowNywgQ2hvaSwgQW5kZXJzb24gd3JvdGU6DQo+Pj4+IEknZCBs
aWtlIHRvIHJlcG9ydCB4ZW4gcGFuaWMgd2hlbiBzaHV0dGluZyBkb3duIGFuIEFSSU5DNjUz
IGRvbWFpbg0KPj4+PiB3aXRoIHRoZSBmb2xsb3dpbmcgc2V0dXAuIE5vdGUgdGhhdCB0aGlz
IGlzIG9ubHkgb2JzZXJ2ZWQgd2hlbg0KPj4+PiBDT05GSUdfREVCVUcgaXMgZW5hYmxlZC4N
Cj4+Pj4NCj4+Pj4gW1Rlc3QgZW52aXJvbm1lbnRdDQo+Pj4+IFlvY3RvIHJlbGVhc2UgOiA1
LjA1DQo+Pj4+IFhlbiByZWxlYXNlIDogNC4xOSAoaGFzaCA9IDAyNmM5ZmEyOTcxNmIwZmYw
ZjhiN2M2ODc5MDhlNzFiYTI5Y2YyMzkpDQo+Pj4+IFRhcmdldCBtYWNoaW5lIDogUUVNVSBB
Uk02NA0KPj4+PiBOdW1iZXIgb2YgcGh5c2ljYWwgQ1BVcyA6IDQNCj4+Pj4NCj4+Pj4gW1hl
biBjb25maWddDQo+Pj4+IENPTkZJR19ERUJVRyA9IHkNCj4+Pj4NCj4+Pj4gW0NQVSBwb29s
IGNvbmZpZ3VyYXRpb24gZmlsZXNdDQo+Pj4+IGNwdXBvb2xfYXJpbmMwLmNmZw0KPj4+PiAt
IG5hbWU9ICJQb29sLWFyaW5jMCINCj4+Pj4gLSBzY2hlZD0iYXJpbmM2NTMiDQo+Pj4+IC0g
Y3B1cz1bIjIiXQ0KPj4+Pg0KPj4+PiBbRG9tYWluIGNvbmZpZ3VyYXRpb24gZmlsZV0NCj4+
Pj4gZG9tMS5jZmcNCj4+Pj4gLSB2Y3B1cyA9IDENCj4+Pj4gLSBwb29sID0gIlBvb2wtYXJp
bmMwIg0KPj4+Pg0KPj4+PiAkIHhsIGNwdXBvb2wtY3B1LXJlbW92ZSBQb29sLTAgMg0KPj4+
PiAkIHhsIGNwdXBvb2wtY3JlYXRlIC1mIGNwdXBvb2xfYXJpbmMwLmNmZyAkIHhsIGNyZWF0
ZSBkb20xLmNmZyAkDQo+Pj4+IGE2NTNfc2NoZWQgLVAgUG9vbC1hcmluYzAgZG9tMToxMDAN
Cj4+Pj4NCj4+Pj4gKiogV2FpdCBmb3IgRE9NMSB0byBjb21wbGV0ZSBib290LioqDQo+Pj4+
DQo+Pj4+ICQgeGwgc2h1dGRvd24gZG9tMQ0KPj4+Pg0KPj4+PiBbeGVuIGxvZ10gcm9vdEBi
b2VpbmctbGludXgtcmVmOn4jIHhsIHNodXRkb3duIGRvbTEgU2h1dHRpbmcgZG93bg0KPj4+
PiBkb21haW4gMSByb290QGJvZWluZy1saW51eC1yZWY6fiMgKFhFTikgQXNzZXJ0aW9uICch
aW5faXJxKCkgJiYNCj4+Pj4gKGxvY2FsX2lycV9pc19lbmFibGVkKCkgfHwgbnVtX29ubGlu
ZV9jcHVzKCkgPD0gMSknIGZhaWxlZCBhdA0KPj4+PiBjb21tb24veG1hbGxvY190bHNmLmM6
NzE0IChYRU4pIC0tLS1bIFhlbi00LjE5LjEtcHJlICBhcm02NCAgZGVidWc9eQ0KPj4+PiBU
YWludGVkOiBJICAgICAgXS0tLS0gKFhFTikgQ1BVOiAgICAyIChYRU4pIFBDOiAgICAgMDAw
MDBhMDAwMDIyZDJiMA0KPj4+PiB4ZnJlZSsweDEzMC8weDFhNCAoWEVOKSBMUjogICAgIDAw
MDAwYTAwMDAyMmQyYTQgKFhFTikgU1A6DQo+Pj4+IDAwMDA4MDAwZmZmNzdiNTAgKFhFTikg
Q1BTUjogICAwMDAwMDAwMDIwMDAwMmM5IE1PREU6NjQtYml0IEVMMmgNCj4+Pj4gKEh5cGVy
dmlzb3IsIGhhbmRsZXIpIC4uLiAoWEVOKSBYZW4gY2FsbCB0cmFjZTogKFhFTikNCj4+Pj4g
WzwwMDAwMGEwMDAwMjJkMmIwPl0geGZyZWUrMHgxMzAvMHgxYTQgKFBDKSAoWEVOKQ0KPj4+
PiBbPDAwMDAwYTAwMDAyMmQyYTQ+XSB4ZnJlZSsweDEyNC8weDFhNCAoTFIpIChYRU4pDQo+
Pj4+IFs8MDAwMDBhMDAwMDIzMjFmMD5dIGFyaW5jNjUzLmMjYTY1M3NjaGVkX2ZyZWVfdWRh
dGErMHg1MC8weGM0IChYRU4pDQo+Pj4+IFs8MDAwMDBhMDAwMDI0MWJjMD5dIGNvcmUuYyNz
Y2hlZF9tb3ZlX2RvbWFpbl9jbGVhbnVwKzB4NWMvMHg4MCAoWEVOKQ0KPj4+PiAgIFs8MDAw
MDBhMDAwMDI0NTMyOD5dIHNjaGVkX21vdmVfZG9tYWluKzB4NjljLzB4NzBjIChYRU4pDQo+
Pj4+IFs8MDAwMDBhMDAwMDIyZjg0MD5dIGNwdXBvb2wuYyNjcHVwb29sX21vdmVfZG9tYWlu
X2xvY2tlZCsweDM4LzB4NzANCj4+Pj4gKFhFTikgICAgWzwwMDAwMGEwMDAwMjMwZjIwPl0g
Y3B1cG9vbF9tb3ZlX2RvbWFpbisweDM0LzB4NTQgKFhFTikNCj4+Pj4gWzwwMDAwMGEwMDAw
MjA2YzQwPl0gZG9tYWluX2tpbGwrMHhjMC8weDE1YyAoWEVOKQ0KPj4+PiBbPDAwMDAwYTAw
MDAyMmUwZDQ+XSBkb19kb21jdGwrMHg5MDQvMHgxMmVjIChYRU4pDQo+Pj4+IFs8MDAwMDBh
MDAwMDI3N2ExYz5dIHRyYXBzLmMjZG9fdHJhcF9oeXBlcmNhbGwrMHgxZjQvMHgyODggKFhF
TikNCj4+Pj4gWzwwMDAwMGEwMDAwMjc5MDE4Pl0gZG9fdHJhcF9ndWVzdF9zeW5jKzB4NDQ4
LzB4NjNjIChYRU4pDQo+Pj4+IFs8MDAwMDBhMDAwMDI2MmM4MD5dIGVudHJ5Lm8jZ3Vlc3Rf
c3luY19zbG93cGF0aCsweGE4LzB4ZDggKFhFTikNCj4+Pj4gKFhFTikNCj4+Pj4gKFhFTikg
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAoWEVOKSBQYW5pYyBv
biBDUFUgMjoNCj4+Pj4gKFhFTikgQXNzZXJ0aW9uICchaW5faXJxKCkgJiYgKGxvY2FsX2ly
cV9pc19lbmFibGVkKCkgfHwNCj4+Pj4gbnVtX29ubGluZV9jcHVzKCkgPD0gMSknIGZhaWxl
ZCBhdCBjb21tb24veG1hbGxvY190bHNmLmM6NzE0IChYRU4pDQo+Pj4+ICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4+Pj4NCj4+Pj4gSW4gY29tbWl0IDE5
MDQ5ZjhkIChzY2hlZDogZml4IGxvY2tpbmcgaW4gYTY1M3NjaGVkX2ZyZWVfdmRhdGEoKSks
DQo+Pj4+IGxvY2tpbmcNCj4+PiB3YXMgaW50cm9kdWNlZCB0byBwcmV2ZW50IGEgcmFjZSBh
Z2FpbnN0IHRoZSBsaXN0IG1hbmlwdWxhdGlvbiBidXQNCj4+PiBsZWFkcyB0byBhc3NlcnRp
b24gZmFpbHVyZSB3aGVuIHRoZSBBUklOQyA2NTMgZG9tYWluIGlzIHNodXRkb3duLg0KPj4+
PiBJIHRoaW5rIHRoaXMgY2FuIGJlIGZpeGVkIGJ5IGNhbGxpbmcgeGZyZWUoKSBhZnRlcg0K
Pj4+PiBzcGluX3VubG9ja19pcnFyZXN0b3JlKCkgYXMgc2hvd24gYmVsb3cuDQo+Pj4+DQo+
Pj4+IHhlbi9jb21tb24vc2NoZWQvYXJpbmM2NTMuYyB8IDMgKystDQo+Pj4+ICAgIDEgZmls
ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkgZGlmZiAtLWdpdA0K
Pj4+PiBhL3hlbi9jb21tb24vc2NoZWQvYXJpbmM2NTMuYyBiL3hlbi9jb21tb24vc2NoZWQv
YXJpbmM2NTMuYyBpbmRleA0KPj4+PiA3YmYyODgyNjRjLi4xNjE1ZjFiYzQ2IDEwMDY0NA0K
Pj4+PiAtLS0gYS94ZW4vY29tbW9uL3NjaGVkL2FyaW5jNjUzLmMNCj4+Pj4gKysrIGIveGVu
L2NvbW1vbi9zY2hlZC9hcmluYzY1My5jDQo+Pj4+IEBAIC00NjMsMTAgKzQ2MywxMSBAQCBh
NjUzc2NoZWRfZnJlZV91ZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyDQo+Pj4+ICpvcHMs
DQo+Pj4gdm9pZCAqcHJpdikNCj4+Pj4gICAgICAgIGlmICggIWlzX2lkbGVfdW5pdChhdi0+
dW5pdCkgKQ0KPj4+PiAgICAgICAgICAgIGxpc3RfZGVsKCZhdi0+bGlzdCk7DQo+Pj4+IC0g
ICAgeGZyZWUoYXYpOw0KPj4+PiAgICAgICAgdXBkYXRlX3NjaGVkdWxlX3VuaXRzKG9wcyk7
DQo+Pj4+ICAgICAgICANCj4+Pj4gICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNj
aGVkX3ByaXYtPmxvY2ssIGZsYWdzKTsNCj4+Pj4gKw0KPj4+PiArICAgIHhmcmVlKGF2KTsN
Cj4+Pj4gICAgfQ0KPj4+PiBDYW4gSSBoZWFyIHlvdXIgb3BpbmlvbiBvbiB0aGlzPw0KPj4+
IFllcywgdGhpcyBzZWVtcyB0aGUgcmlnaHQgd2F5IHRvIGZpeCB0aGUgaXNzdWUuDQo+Pj4N
Cj4+PiBDb3VsZCB5b3UgcGxlYXNlIHNlbmQgYSBwcm9wZXIgcGF0Y2ggKHBsZWFzZSBoYXZl
IGEgbG9vayBhdCBbMV0gaW4NCj4+PiBjYXNlIHlvdSBhcmUgdW5zdXJlIGhvdyBhIHByb3Bl
ciBwYXRjaCBzaG91bGQgbG9vayBsaWtlKT8NCj4+Pg0KPj4+IEp1ZXJnZW4NCj4+Pg0KPj4+
IFsxXQ0KPj4+IGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2ViLz9wPXhlbi5naXQ7YT1i
bG9iO2Y9ZG9jcy9wcm9jZXNzL3NlbmRpbmcNCj4+PiAtDQo+Pj4gcGF0Y2hlcy5wYW5kb2MN
Cj4+IFRoYW5rcyBmb3IgeW91ciBvcGluaW9uLiBMZXQgbWUgcmVhZCB0aHJvdWdoIHRoZSBs
aW5rIGFuZCBzdWJtaXQgdGhlIHBhdGNoLg0KPiANCj4gT3RoZXIgZ29vZCByZWZlcmVuY2Vz
IGFyZToNCj4gDQo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8yMDI1MDMx
MzA5MzE1Ny4zMDQ1MC0xLWpncm9zc0BzdXNlLmNvbS8NCj4gaHR0cHM6Ly9sb3JlLmtlcm5l
bC5vcmcveGVuLWRldmVsL2Q4YzA4YzIyLWVlNzAtNGMwNi04ZmNkLWFkNDRmYzBkYzU4ZkBz
dXNlLmNvbS8NCj4gDQo+IE9uZSB5b3UgaG9wZWZ1bGx5IHJlY29nbmlzZSwgYW5kIHRoZSBv
dGhlciBpcyBhbm90aGVyIGJ1Z2ZpeCB0byBBUklOQw0KPiBub3RpY2VkIGJ5IHRoZSBDb3Zl
cml0eSBydW4gb3ZlciB0aGUgd2Vla2VuZC4NCg0KUGxlYXNlIG5vdGUgdGhhdCB0aGUgQ292
ZXJpdHkgcmVwb3J0IGlzIG5vdCBhYm91dCBhIHJlYWwgYnVnLCBidXQganVzdA0KYSBsYXRl
bnQgb25lLiBBcyBsb25nIGFzIHRoZSBhcmluYzY1MyBzY2hlZHVsZXIgaXMgc3VwcG9ydGlu
ZyBhIHNpbmdsZQ0KcGh5c2ljYWwgY3B1IG9ubHksIHRoZXJlIGlzIG5vIHJlYWwgbmVlZCBm
b3IgdGhlIGxvY2sgd2hlbiBhY2Nlc3NpbmcNCnNjaGVkX3ByaXYtPm5leHRfc3dpdGNoX3Rp
bWUgKHRoZSBsb2NrIGlzIHRob3VnaHQgdG8gcHJvdGVjdCB0aGUgbGlzdA0Kb2YgdW5pdHMv
dmNwdXMsIG5vdCBhbGwgdGhlIG90aGVyIGZpZWxkcyBvZiBzY2hlZF9wcml2KS4NCg0KDQpK
dWVyZ2VuDQo=
--------------NlZAe6LjDV7RheQLjWjsE7Ds
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-----

--------------NlZAe6LjDV7RheQLjWjsE7Ds--

--------------K9iZeFGkn4lpjnO6EhARHtx6--

--------------3qP0nWWPfZjshRInxjqrlb0X
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/Ey8FAmfYNLcFAwAAAAAACgkQsN6d1ii/Ey8t
Agf/TtM4NrFertrPgtl5QeRgyGxjLEfuFQMxtFjBSMVRPqjG5ULcJCegEr27T1TpRzF5pzK1W5mE
aAtdzjE0rLF73fSvRoLvr5gVSOcqI1t19ShDLoDEjPSf2sn5LLDedFZSsm5R3fuAWNAHk6xZpjmE
oPYOwbdNKJSS60oGk+eMaF5eU+ir8mzAprJIthM0D8xA10TUoOynEKnKYlhgBwxyLuySHC6LY3Ba
KkS/EXlv3OqiX3u4a+O/jXYOQfXPbtqFou2gAx72fZ8GyWBLbj9nDYgA0eYHAZwZ201Q1mHK0zN4
47mIEal2RpBtSbZ4zn/7/ZL0jntema/I2m/0iSqe+A==
=umQS
-----END PGP SIGNATURE-----

--------------3qP0nWWPfZjshRInxjqrlb0X--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:42:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917048.1322051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBfT-0001eo-C5; Mon, 17 Mar 2025 14:42:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917048.1322051; Mon, 17 Mar 2025 14:42: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 1tuBfT-0001eh-9S; Mon, 17 Mar 2025 14:42:15 +0000
Received: by outflank-mailman (input) for mailman id 917048;
 Mon, 17 Mar 2025 14:42: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=J4wc=WE=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tuBfR-00019t-Ss
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:42:13 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2415::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02989064-033e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:42:12 +0100 (CET)
Received: from SJ0PR03CA0094.namprd03.prod.outlook.com (2603:10b6:a03:333::9)
 by DS7PR12MB6239.namprd12.prod.outlook.com (2603:10b6:8:95::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 14:42:07 +0000
Received: from SJ1PEPF000023CE.namprd02.prod.outlook.com
 (2603:10b6:a03:333:cafe::35) by SJ0PR03CA0094.outlook.office365.com
 (2603:10b6:a03:333::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.28 via Frontend Transport; Mon,
 17 Mar 2025 14:42:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF000023CE.mail.protection.outlook.com (10.167.244.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 17 Mar 2025 14:42:06 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 17 Mar
 2025 09:42:05 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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; Mon, 17 Mar
 2025 09:42:05 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 17 Mar 2025 09:42:05 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02989064-033e-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QBP/kW/EOCfPdOEwtF8cDpH/R7bET/E5m19O7hW2mIHFxE/12YyBUCjSdw+bv6nR5UCIOnTwyylOlt31ObWQocgz3XLot3JoQ8EZw0YgQpT103YlCA9L0BLfEsQS6IfYFxEYx5wCryXUUm/NWiKJDRhSXU1iU3VoLSL6IZ+3NQCnJ2LyUbq2hdmlsJcgLqZjuujWeifAYxD/WfltJ79RD/ZhIIu4xwyVjLcB6GmE+DlhDMFdHgNBrv5NvhNt7TjUpXVh/PbZtuTTRZF5CpSwNHE3l/WihB2737sJSGOkuRzoLpy93XJfqa3v+UAnAp5vLEjTtfkiFq+ki1qdAeDmxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G723ccBwWM+H7n17RHK9Lb/TmOEAe/YvokveN01hmzs=;
 b=VztwL9FUnGhE89NQKRto+LEAyutkLM/6NokVNejbYkFkTfMqOPMTmSyiVshXsFX7hphnyOogzGuQ8h4yFyGDeRjiE9eHoZZ6O70V1MeSMwP3VslZWjLhFdfhGwuoIa0ASnRKDWXuMaaJjkDqWzlkgPldi62CVeEeqIr1qRlNWhbrcUvkqs9j+sxbZmiE2sqU5yK89pLqY/1QKYqOQtj6OkTaIXc2WnrlHh9lPmkfltpc1TpkD7t37n+9mAn9xaha2tJ2pb12WraE4XCLNZOLvMrnSNXpJRrzdQCMMoITMUj9F0dk3X0tkutqpmylVsqk0e3320lns0pZo2DUZCsiOg==
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=G723ccBwWM+H7n17RHK9Lb/TmOEAe/YvokveN01hmzs=;
 b=vmf5Z+JasBSwQJvy8xHOoAAxGyGnFxUkaHjd2caoiWOAz0szp0sPo69a9E4VMQB4xT5fBUURNLEHTxNjiKS6oBwzEnAAQl9b54o9sFmAQe2gy7wrH9pEQiA5oBDScZmwSi/GwFaBiYGBgUVieeFV/9ew7NbUZdBoJr+bObw20hA=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <1725e78f-069d-47f5-bb84-d80434bd8c25@amd.com>
Date: Mon, 17 Mar 2025 10:42:04 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 13/23] xsm/dummy: Allow XS_PRIV
 XEN_SYSCTL_getdomaininfolist
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_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>, <xen-devel@lists.xenproject.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-14-jason.andryuk@amd.com>
 <5aac6880-7821-4217-a493-d0ab8b0139fd@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <5aac6880-7821-4217-a493-d0ab8b0139fd@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: SJ1PEPF000023CE:EE_|DS7PR12MB6239:EE_
X-MS-Office365-Filtering-Correlation-Id: ef2a9acf-6141-44ee-e92f-08dd6561e3ed
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?elJsdGpKa3FNR1krVnhJQThIb0VCcTQ4OTJtd1c3dkwraGJyazM5cU5rVmR4?=
 =?utf-8?B?eVZJVU5hZVRaSHlkU0FzVHE4Mk9vSDRQblpHZFdUM2lYYmZmVmRxUkFGcmdV?=
 =?utf-8?B?L0IxUk05T1pCRE5NVVVHMzJjbHhoaXpoRjVRRlFBT1VpKzZ4UVZYdkZXa1Vo?=
 =?utf-8?B?YU94djJ4dUJSUjVVMmdERHlwUksycGNMN2IzZXlFNlNuTVRvNlJGc2pPY2p3?=
 =?utf-8?B?OU9OVFltWFJmcmtyQUY3R2Zmd25YRnRYWEt5OFljWVpXbDg1d1ZJTmVEcWIw?=
 =?utf-8?B?Tm1ZMTZlOEdQS1pkcWh3TVI4OUpxNE8waXBsUnZVcENRY044ZHZoR2VvVWZ0?=
 =?utf-8?B?cW53Sy9UT3A4NmppZlZCOW40Z0pvam03eWphVEFCZmMvOUx5Mk1QVDhESWVx?=
 =?utf-8?B?M2dKSFFlZkJoVk9qTWxUbkJKKytzbHMyc083elBVYVVRQWpZMU9NK3lKdmEy?=
 =?utf-8?B?Wm9DWXppY2VtVGIreVNQQ0J4Q0NxL0RQc2Q0S3UvbHZJMXVYT3BMUmhVaXZt?=
 =?utf-8?B?dzYxbjR1SlcwS1BCRXRmTEJPbkRmaUtPT3htK1ZDOHFvMWFaTzFIM2g0amcv?=
 =?utf-8?B?MVFWRWYydGx5M2xFd1l3cXF5aXU5aW1UMFhEK0UydzIxMkNLaWhJSHg5VkE5?=
 =?utf-8?B?ajR5Y2piZy84TzRwWkxEZDJkV0Y5WXNWQ1FsMDVvYXp2MDIyY0xKYklxUGVS?=
 =?utf-8?B?MlNVcHJlU2F0SGZ0cHVQSVJYdEdENmg0OS9TT1IyNzM0UGpGbGNZMkM2dHJB?=
 =?utf-8?B?dXBwQmhQNmNPRHJpKzNQV0toeXVQd0IwVGVnbVpLU2Ivb1ZZbExUUVo4Mkkw?=
 =?utf-8?B?UFZMOWZJNml6WTJxZ2taRGFZUjNuZTJyNHhESlJaUmRUa2dkT2VVMXZmdmxU?=
 =?utf-8?B?R0dtTmREQ1J4VnZoc1RzSkJLRktEVlkxd0JvYUc4UU1zNjRUNEV0eGVLM29O?=
 =?utf-8?B?enQxMjZKbHBXTVNlSVFoTExQUVQzMDZLdVlZTUpic0cyaEFoc2t6eXdtRzkw?=
 =?utf-8?B?MmcxRGxzREw4Y0xqQVBIV3FnOWtSVzVHL2RGVkRKYXNqUTZ6VThQOW5XaURi?=
 =?utf-8?B?c01jaEZyaElFaGhXcFF1UUZJMkJSK0xpc2wyQXBCRWlTcFhRVE9OTTE5L0pW?=
 =?utf-8?B?VmZybDZLZnMvVHZTbHIrS2dtUFVuUFFLT0xXM0IxM3Y2c1ZWaFZncmtxajh2?=
 =?utf-8?B?a2NVbThzR3RhZktDaEhJRjB6ZjhvOHo1dXhjTUhESkR0d0ZoNEs4b0Uzb2Fh?=
 =?utf-8?B?YzRaeGFPRXh6OWdTMERhSjRtUzZUdFhPV0FtT2Y1czltYkxBL2N2Y2lJOEdu?=
 =?utf-8?B?dUR0Y3Z6M2pYWktsMVBIWnNnUVlkTWJwTGYwY25CZTlYVktkTTdvKzh1V1Ey?=
 =?utf-8?B?MVZ0UVN5V1pLQWhmSGZvbGNCY1h1Q00rSzY0WEpxK1NIb3NIM0ZYb3FxdkpD?=
 =?utf-8?B?WTlJVDU2OHV4OERULzRmKzRtdTJjZVNlcHJqUXJsUUNzLzQ4a1lmMDZaZXZl?=
 =?utf-8?B?cXZ2cVN4TXdzNDFtUnVEWlQ0RSs3OVdzakRsZDVjK3hYUDJEb1FlWU9Bc3J2?=
 =?utf-8?B?dTlOR01qam4wV1hVTW1vVis2MWhDRnBCYmdtRUx6cTA2Yk1JM1lKVGJ1UTZp?=
 =?utf-8?B?NWhyWEZxZzRWcUV1WjkrRXo2UTV2cXJPWnBMdnlGdkNCNHh1czVlQWRPblMw?=
 =?utf-8?B?NTJDTWJqT0ZCcEJyWHMvMFlJRUdaRVN4TTZwMjdhcTlKQnI5QUxPamFzVC9Z?=
 =?utf-8?B?ZmdlWjMyVjB6cEZ6R282L0NIeS9qeDlTWGhmeC9Id1gyQnJ5TVl1RVBPdWFD?=
 =?utf-8?B?UVNzZFhEVWdrYTFpTHdyY2FsM2YzZTY4cjFxU3RtZHFYSVRnTlVWK0hHZSta?=
 =?utf-8?B?eUt0SzhBcWVuQkl5QjlFa1l5YUhubVo1M0tUbGdkb1FaekV3Qi9YZTNSK1Ey?=
 =?utf-8?B?bk5UTXZvY0pkSk4rVnhNT0t4bHZ3ZUdoTmI4N2o0aVRHVU9vdGFTUm0yTE9x?=
 =?utf-8?Q?okYTS94TTo8HwDMSO7zx7McRvn0Wp8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 17 Mar 2025 14:42:06.5481
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ef2a9acf-6141-44ee-e92f-08dd6561e3ed
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000023CE.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6239

On 2025-03-17 10:13, Jan Beulich wrote:
> On 06.03.2025 23:03, Jason Andryuk wrote:
>> To hyperlaunch xenstore, we want it to automatically introduce all
>> domains it finds while initializing.  To do that, change xsm_sysctl to
>> allow XS_PRIV to call XEN_SYSCTL_getdomaininfolist.
>>
>> Xenstore can already call XEN_DOMCTL_getdomaininfo for the same
>> information, but it requires knowing the domid.
>> XEN_SYSCTL_getdomaininfolist eliminates the need to guess domains.
> 
> Yet then - is it a good idea to make such changes here for the sake of a
> new feature? If existing Xenstore was enhanced to use this, I'd find it
> easier to accept the change. Otherwise can't the hyperlaunched Xenstore
> behave like the "normal" one, not needing the change here to be made?

Sorry, the description is a lacking.  It was originally written for 
xenstore stubdom, but I pulled it over for this dom0less work.   With a 
combined xenstore & hardware domain, and running init-dom0less, it was a 
needed permission.

In light of Juergen's libxenmanage work, this may not longer by 
applicable for xenstore stubdom.  And I'll re-evaluate with dom0less 
side re-work.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:44:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:44:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917078.1322077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBi4-0002j6-UQ; Mon, 17 Mar 2025 14:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917078.1322077; Mon, 17 Mar 2025 14:44: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 1tuBi4-0002iz-Rs; Mon, 17 Mar 2025 14:44:56 +0000
Received: by outflank-mailman (input) for mailman id 917078;
 Mon, 17 Mar 2025 14:44: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBi3-0002ir-P3
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:44:55 +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 6352911f-033e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 15:44:53 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso24883805e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:44: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-43d1fe292d0sm107231695e9.20.2025.03.17.07.44.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:44: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: 6352911f-033e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742222693; x=1742827493; 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=zozXyHVCUgMEwbNld1UXQkRy7P/EFUIXePZm5+E7ZEc=;
        b=BSpbMHhYRna5P4RMH2aktXs/08zSc9M04KgIU/RZsRufybvJlVDFccVxOK5T9rJ42U
         mnPAvbRLQpQ4EglPCAIX2hT/K5VbkOG5q7ONK2TUDIvYUEyrxyMbxjjTbhYwhKT95cd+
         4C4008RFORxJO4YmQTKRs6lYugSeDbyesxFGbQEGgtRZxYrzY5uhoyUDbWsjNyt16z/V
         lfaOnD6QrfREiKK9FjPALGVMDKHfIDa1N/Xj8/Mm0xCVhTHF+zWid+Sj61KfqGlP3+tJ
         K83e08RaIfmG1nafOcYbYElI9Ic4/H9G1qgEJ88cPTOfCU6GcA8t9u5RviB14prvQtfa
         4BOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742222693; x=1742827493;
        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=zozXyHVCUgMEwbNld1UXQkRy7P/EFUIXePZm5+E7ZEc=;
        b=sGwEs9IQvFDRymPtRUART8F0bDmXn+Hk+I6Nsdu/xg8WL0K7F4B5gpt7vekWuYUU+X
         faqsIvKkz+6+tiW2WpMjtGW0QaTUibmMrIl7G2T/y1IERcIz4GdjfiNXRxTR4rbOpF3D
         yjll6a353tTTWqtW8DOjP/LAWJF38xtvQC1eRSu9uJonSeg9VgVDWq7aXOruD57cIqbr
         A/YniPBZf6Il5jbvVZzenwAbBPftMFCezZxyYcmIeo7CY0bX37v1tVJpefZA+U6RiLTx
         Ad5xDxgki/s0JZgULV7Y5UD5y8G7wwGPNru6FQSZE5ziV56iSotju+qF77SqH9Qy0yKF
         Keyw==
X-Forwarded-Encrypted: i=1; AJvYcCUTBoS3fiGn4A3Wp5HVwV1bPAWGzVl8Aym111oisJ/Vn/teZKqSM8MQhfIMNryOXbQNoHABr1kklmM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw0VgYmvZ093m/AjuvgxQVMl7jbQ6GMkz+aZmv0l7KhaHD6O+X7
	NW52iiWrWF75Q38eKQZDRxk/qf8YWHkMAtfO7xBU2r/HOb24a7GcXTbjCVcwSg==
X-Gm-Gg: ASbGncuwTeDVhlK3ySh9JjoXXKHmapM53KIsDwem+pIKDxU/O6PTutz9GMnu9JE0sJK
	7m6gqtfPDyBYtTv04RBMiBW2iz4K+bsPaEs1NY7C8cwsL364E7TZ3/1WCVQpRJ45QI9CI8liO30
	uBRteFTZBYGdGOk9OFc3ep84VV5rVSwajGVctQ6duWyGEhZgH9nDHgxQ9IBhDtnGch8DVBrR+ZF
	q3D1cVdP/I0HOhILDfHk500O8WBdWtzZ5mBHwJ4LyRfSrbx+w/Sj2Piyx1WAAT7y9eBVldh1QFd
	JEv0CjxxtRv1/mgfccfiw33LsYxihuPzZkWH3J6RO0TpmmGB6IuG7+2qUw7t9Y6ULmC0OqmKMn8
	DZu17fweGAw+faiujfpdc9FPdbkhfdPk8zEzWA8nP
X-Google-Smtp-Source: AGHT+IGs2YO7ekLkGSOvBi4bEogj+Oa85LIR4EFgRpStsOd8Re++mgtZBVHdlsYvBNoDci4tof6ZWg==
X-Received: by 2002:a05:600c:154d:b0:43c:f184:2e16 with SMTP id 5b1f17b1804b1-43d3897185cmr1213335e9.5.1742222693280;
        Mon, 17 Mar 2025 07:44:53 -0700 (PDT)
Message-ID: <79f4771d-9087-471f-9de9-d6142215e31d@suse.com>
Date: Mon, 17 Mar 2025 15:44:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 20/23] xsm/silo: Support hwdom/control domains
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-21-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: <20250306220343.203047-21-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 23:03, Jason Andryuk wrote:
> The is_control_domain() check is not sufficient for a split
> hardware/control domain.  Add is_priv_domain() to support allowing for
> either control or hardware.
> 
> Without this, a xenstore/hardware domain is unable to map a domU's
> grants.
> 
> This silo check is for grants, events and argo.  The dummy policy
> handles other calls, so hardware is prevented from foreign mapping
> control's memory with that.
> 
> This would need to be expanded for a standalone Xenstore domain.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

I think what first needs spelling out is what the function of SILO is
when it comes to specifically the control and hardware domains. Should
the two be able to communicate? The answer isn't obviously "yes" imo.
Yet if it isn't, ...

> --- a/xen/xsm/silo.c
> +++ b/xen/xsm/silo.c
> @@ -20,6 +20,11 @@
>  #define XSM_NO_WRAPPERS
>  #include <xsm/dummy.h>
>  
> +static always_inline bool is_priv_domain(const struct domain *d)

(Side note: I don't think always_inline is warranted here. Even inline
we prefer to only put on functions defined in headers.)

> +{
> +    return is_control_domain(d) || is_hardware_domain(d);
> +}
> +
>  /*
>   * Check if inter-domain communication is allowed.
>   * Return true when pass check.
> @@ -29,8 +34,8 @@ static bool silo_mode_dom_check(const struct domain *ldom,
>  {
>      const struct domain *currd = current->domain;
>  
> -    return (is_control_domain(currd) || is_control_domain(ldom) ||
> -            is_control_domain(rdom) || ldom == rdom);
> +    return (is_priv_domain(currd) || is_priv_domain(ldom) ||
> +            is_priv_domain(rdom) || ldom == rdom);
>  }

... this would end up being overly lax.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:50:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917089.1322088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBnN-0004F6-Gi; Mon, 17 Mar 2025 14:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917089.1322088; Mon, 17 Mar 2025 14: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 1tuBnN-0004Ez-Dz; Mon, 17 Mar 2025 14:50:25 +0000
Received: by outflank-mailman (input) for mailman id 917089;
 Mon, 17 Mar 2025 14: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=J4wc=WE=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tuBnM-0004Et-Nm
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:50:24 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20625.outbound.protection.outlook.com
 [2a01:111:f403:2418::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26945e04-033f-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 15:50:22 +0100 (CET)
Received: from SJ0PR03CA0015.namprd03.prod.outlook.com (2603:10b6:a03:33a::20)
 by MN0PR12MB6296.namprd12.prod.outlook.com (2603:10b6:208:3d3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 14:50:16 +0000
Received: from SJ1PEPF00001CDF.namprd05.prod.outlook.com
 (2603:10b6:a03:33a:cafe::b0) by SJ0PR03CA0015.outlook.office365.com
 (2603:10b6:a03:33a::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 14:50:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF00001CDF.mail.protection.outlook.com (10.167.242.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 17 Mar 2025 14:50:16 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 17 Mar
 2025 09:50:15 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 17 Mar
 2025 09:50:15 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 17 Mar 2025 09:50:14 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26945e04-033f-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U/OYPpT5gbeCfV6TzADYGinQR17VzTigWFXBbQcR8+VEp71g7i2nHvjYwA/TT98jXtWR0evpFBdhmGW/s+SdjupEaOHU22aos7obQFZEmKdIV5RnSNxL0mr9aJ9C6eW1b0Y3BmYNvX8nnMDGZRlLj7NhdAwTa/APezh8apy/MO/I586mAsimSOuhqyHqsAiitWsrHL6P7u5B6qauPnsnzfLWZi3cqsI8H8Pk9tP6u5yNFxO+SAiqfRNVbAnwix9u1v2QC4bniO/qlM0pM0Y7sqU15xOvFW2sWZ/qUT/IuiBgzgePzoEX48Zlzi1ARZSGU/W3l6WtfHUwuKP4pgqZ7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j0lkKx3Jb2DU2LR95VJ95PvkUFyW+EpqbP/Cn9ITtY0=;
 b=hg/PCThikwPE2zmQqWD0kZ2U+5Z5ZH0mEiA4MUY9BOWnqh5nwg5bgiwkX+odmw+YsY09m0nTSkUdWXtzXA8AnFR6vs61TEPmsukFF0O7kLBaDM24UpuAxv5vAGk6E240V6UhOCHRPuIcW8ws32RdIacCFtq1NV+QUdtLS4jg6f3moWx37RSi0GcOnRnMMU2QhzA529aDbQGLcYTFOpHeONob2sMLVOXPsfcr6GrhXUWXrTrwAcxDdsY4/4/a4thAqtDCu6He2zhvtUc8h1PyEwSNYOdooXsTew74XAaba02/OahUpbNRYu07KjMuAIi/nO+NKY+fKI6tlIJaLgH4LQ==
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=j0lkKx3Jb2DU2LR95VJ95PvkUFyW+EpqbP/Cn9ITtY0=;
 b=gT1dxNEVT3HBmsg1WJqrTjPJ3l0YXHskmMweUz5sn65Y/5VN6M9zgZzTd8lfF3FkGTGoDBigNM7OWqTPKakWmb0MnGUn70UhlKci8xPvLDGRwxHn7oHQpRozts9Q9fBN78euICRBr7kr5wEu2RiRD7pbQLD0P88HcvVDDsrtrws=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <9c4e6e33-6381-47a8-a631-5ded21cf240c@amd.com>
Date: Mon, 17 Mar 2025 10:50:13 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/23] xsm/dummy: Allow XS_PRIV to call get_hvm_param
To: Jan Beulich <jbeulich@suse.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>,
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-15-jason.andryuk@amd.com>
 <6d6c2a2b-630c-404e-9257-e353464f2400@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <6d6c2a2b-630c-404e-9257-e353464f2400@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: SJ1PEPF00001CDF:EE_|MN0PR12MB6296:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a64cdcb-9af6-4cd0-6933-08dd656307ca
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?SGQyMGoybU5mOVA5OUppZWRqRm9MTFlEQjU2ZzVrU3RYMGV3NmFqZHVUbm9a?=
 =?utf-8?B?UUliRU5nbXdRZTVUUi81WW5iZWZxL1BCUXNNcU9OZjdpV2F6Q3c0ZWhaSVNn?=
 =?utf-8?B?eDBhTnA5VDBMQkZ0V1VpYjU0SlF2Ujl5czByeUtDRmt5a1NnSzNHYU5ZeFBj?=
 =?utf-8?B?Qm84NlEyempFWm5BNS94STVHbWhITkZYNnpmSjN3UFV3bW9XV1lma2FudE41?=
 =?utf-8?B?Y1lBZFd0R3BuQlR5TmZvSlJab0JmOUdiRndUZXJwUXlnTkw0N2gxYngzc25z?=
 =?utf-8?B?Qm9oazVLdEhpcTB5T1BocHlrZDR2U2ZHcU5adnkyYzNQV1c1dW9SOGRJMlM5?=
 =?utf-8?B?dUo2SjU0a3VUYmNHNGQ0ZGpDdDJQMEozUzMwMmxVTEgvWGZJd2J1VUlRSWtW?=
 =?utf-8?B?SVA2MDZ5bnZhb2twdy9MV3ptZUJXQlZucWc5K1l0ZEZXcVZiS3ZrZWppUzdv?=
 =?utf-8?B?ZStJUUNtc2I1M2QyYjF3dXBlbU9jMEwyanBqR2xIckYyd0o3VVFwQXVRaHFa?=
 =?utf-8?B?ZEw2QTZ0eEFiU09wYjNBRUpPTllZK3Rqd3M1WmlodDloSFU4MUpaWjg0SEhu?=
 =?utf-8?B?MWxnSm9KVlh1UVAvODhLRzJtcyt3WFZheFVXRkc1Q1VkY3VKTzdCM3R3QjJo?=
 =?utf-8?B?N0d1dHlpb01xM2JHTlpTeVBCZmhLbUF4OWZCQS91MTAyditpbys2UTZuKzQy?=
 =?utf-8?B?OFA3RTNmUUluOGJJUU1GUWwxT045a1F0UWdlK3Q3eEkweGtRWm5hemFiT0NZ?=
 =?utf-8?B?UnZIVFJTSHhkd3NSYmxQU2dmYWZ6RU9xMjFMZkR3dDQweGdKMmpiOXpJTTZY?=
 =?utf-8?B?UllObDJ4TWRPS0JMQ2RQSkNvYzVTR2s3SGovZTFEeS9pVm1adGxGV0xUcjNF?=
 =?utf-8?B?ZkdUcW8xb0ZrUXZRaHk5MkFwQ2p3YnNtUUVHTFNPbGJhVk8xcWl6d29aSUtz?=
 =?utf-8?B?aDNSUHdVcllaZmdMdnN6SFAxYlNJbXFDS0ljNDJnVlZ2dGJpVWpXTXIwblBm?=
 =?utf-8?B?T1pSRUVLMW5kZlhDZlc0RlUvb2ljdC9ZcWRZcFBaK0RadXlFU3dCaHAzVFYx?=
 =?utf-8?B?dE4rL3dOa2ZQNUNzNzlqaWU5czZNdHdYSGl5ZkZSN2RhejB2Uno2YktzeUxm?=
 =?utf-8?B?ZWM4L0t3VTB1QlRKeTIzd29OUTZad3NIMHowcWlKLytsL1FKclNnYnExOUFN?=
 =?utf-8?B?N0grRVlUUDdiRm9SU1JxV0M2aHh4Q1RFS3ZhRitralJIU2dTUjhIRU9YTC9Z?=
 =?utf-8?B?K21jVjI0cUtRWE9FOWR1UTVWNEl0QS9JWkJQaEF3bm1jUDRhYXFRZWo0ZHRR?=
 =?utf-8?B?c3hhcXdZeThUdXhnY3RuVVNxajZZTFYwUnlFZzZSakFIQU1kWlZoamY3ekZM?=
 =?utf-8?B?Mk1TOFJZcy83V2JCK00yZG9rNzZpcXZwa3dxdy9uZmhpN3JaRVlMYVRRVDRD?=
 =?utf-8?B?ZHI4VDZSL0hFVGRCNG9sRnhSaExGT3MxeFdLakVQc21zQVVwcURBVEZsWE9w?=
 =?utf-8?B?eE1Lb2V1d1VKeXo3M1NYU1NOT3RUY0dQMkhudnA2ckhQV3N1ak5zbEREaURK?=
 =?utf-8?B?MFBFNVFsMVd3TEEyVDdQZGtGd2FFOGlIL0JVaGxpYm53S0p4dzFGTFlMWDl3?=
 =?utf-8?B?dFNhTHFOa0dnNU90K0JNK0FUdjRnZ3ZIMUtlSUdXRktKOG9zVVcwVVpldDFN?=
 =?utf-8?B?bzVNejJOa1pyY21RRzVxT3NFbVVtdUh3Unh2TUpod09tek1ENG5ENWQ2V0Nm?=
 =?utf-8?B?UmtWNUVjMlJxaGZudTJ4Y29Cb2JUZHFja0JzL2VhOW5vbHZQU25tNGdlQXpy?=
 =?utf-8?B?RzU0dGtQSmVkZ09vSUU5N2I0VGYxbnM1Zi9Yc3dVSGJMNS92d1ZpMEFuNU9O?=
 =?utf-8?B?VmpMaUhoakNLdy8rTlljazRsMGNIcWZ0OG8xTWpCaGNzZlFkNjN6ajFvcUk5?=
 =?utf-8?B?SU9xMzhZREMzYkkrUEd5MFJUZDR6NFV6blJzcGFzcFI1aGs3VExsQmUvNDRV?=
 =?utf-8?Q?Kfw3WOXIKWIgSc5BzmFPJGgT9mnDsE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 17 Mar 2025 14:50:16.2101
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a64cdcb-9af6-4cd0-6933-08dd656307ca
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CDF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6296

On 2025-03-17 10:18, Jan Beulich wrote:
> On 06.03.2025 23:03, Jason Andryuk wrote:
>> This is useful for a combined hardware/xenstore domain that will run
>> init-dom0less and xenstored.  init-dom0less calls xc_hvm_param_get() to
>> retrieve the xenstore event channel and pfn to configure xenstore for a
>> guest.  With a hypervisor-allocated event channel and page, the
>> set_hvm_param is not needed, and the normal domid permissions will allow
>> xenstored to connect.
>>
>> Similarly, a hyperlaunch-ed xenstore stubdom needs to read a domain's
>> xenstore event channel out of hvm_param.
>>
>> This allows reading but not modifying the guest, so allow the permission.
>>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> Since this is exposing the entire param space to Xenstore, what I'm missing
> is a security discussion for existing as well as potential future params.
> There could well be some that better wouldn't be available for Xenstrore to
> fetch.

I can't speak for future parameters, but existing HVM_PARAMs didn't seem 
sensitive to me.  The safest choice is to just pass the index to 
xsm_hvm_param() and allow just HVM_PARAM_STORE_EVTCHN (and 
HVM_PARAM_STORE_PFN) for the xenstore domain.

This works for ARM and x86 HVM/PVH.  PV doesn't have a way to determine 
a domain's event channel port, FWICT.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 14:56:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 14:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917100.1322097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuBtb-0006Cj-58; Mon, 17 Mar 2025 14:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917100.1322097; Mon, 17 Mar 2025 14:56: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 1tuBtb-0006Cc-2Q; Mon, 17 Mar 2025 14:56:51 +0000
Received: by outflank-mailman (input) for mailman id 917100;
 Mon, 17 Mar 2025 14:56: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuBta-0006CW-4t
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 14:56: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 0d7e4d03-0340-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 15:56:48 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4394036c0efso14915395e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 07:56: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-395cb7ec14bsm15154422f8f.100.2025.03.17.07.56.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 07:56: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: 0d7e4d03-0340-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742223408; x=1742828208; 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=osOn3GFo3q5/DPuTeDnhQ4u6DQUGkLET9/F9zhspBGg=;
        b=ROixsBu2EGJOcQ4h16UadfkKvjvwXefKwBAlYeUjGqRSGWcJXjNEKasxtDb9YqY3+A
         DBDP6XDVximb8YJz9QX4qGNt6jqKzcPyWngXMN2ominuisqfDXaM6xfY2wZvt0Rc9der
         K+aYEGhgiamM0wpBO1FIkoZZmXb+o9Vad3KmA7nhhum4WpmkMC4fR0faVf1XPpTSFjwy
         8DO7g2pSwmhZgMUdo7tUhhYi7IF93nK9AX+W1ha6UxzpDvctOX2ITJh73wjDEBozHj2k
         4eHKrIzGVMAp9mp+RCsL/c/4XakmXi8eWHZsrVvHH+JwMkyvwtVVKtU9T5BHcAnTqFAR
         OZCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742223408; x=1742828208;
        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=osOn3GFo3q5/DPuTeDnhQ4u6DQUGkLET9/F9zhspBGg=;
        b=tV1zhSxEU3A6etvNI6Jw/0eL5ApxObYA0Yp4UmxfzvfeHSr8bHfNxz7RT09Z1ee8oG
         g3672iuJyauiYMgSFRzW3+y7bVuGcVO8rYVcv7lBqJQIBVOChT0VRKmqXI9hUR4HV51a
         SAQdVtTp/YoMhOy443v1NsEhAsf+mmmJvDK60nhpyHd8/f3UrjQOfgqbR3Q/mcnMSgmD
         Ko5aMLc/FjKKHAXoxawP5EfjHYGgWOmfflxdECc+nemh7+Rqd5YPv8y8pCjazZmAMUYi
         M6DzwtpQx4gm5Ta1ksM07ow9hKxk2WxPNs8W3uE7kOhdzHFt2iVJIPKA3NN6de4+zodJ
         VedA==
X-Forwarded-Encrypted: i=1; AJvYcCWRD16kRfHWUOc8BBOzLJmLYzjQAhgOr3q7V3qPgTDCxFwD4QejSqUqg7D2q2O7ZKKXiuoUT9KK1cs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6jO8r6/J7xED0F1LmDq0KgAmUr+v5qgTFwRVhV/DnNzFgE+2Y
	oZHYjOzWd3+xs1O8yqm6ogZWBhMjHQtPVOx2gcNgS4t+DKdwTjk0PUetIlszwAoherQ2CeT6ATI
	=
X-Gm-Gg: ASbGncscuL/Pt/iYx48SYf02QkAgrOqa84dpncV+1zQDJWU3GLfzNooLAAkWepzY/kq
	piORXK69178+r5+4fMi77NcKylYfA128YFGunETeJKkTrTFfZ+Tp5BfER/Qy9zweGy7woZgK+ZL
	buFrZ0XgAki2yTIiEfZ59LVK9ok41wZyK4JhHr1vrNVpxBdqpWqFiDvcflOqv5/MIY8eLmRCERN
	hYLt2Y9CoyjhQj7gLvFHJ4dp5kx51ph18JdRD8UKBjOTs2TX5jbkXi+Djfj07e7LwPO2nTh+KK0
	krflrhTBm/3vev7epE7PJlQ+EKQbrxFOQAY+vOfA4M2vHLb+Z7U/tfkIo/esw7PeF8ZOZfVlFZG
	uorXEwPtPbnUC6IiUrmZMgi8dO/CSDw==
X-Google-Smtp-Source: AGHT+IFWAvO9kxg0Dq4FOpjKL3+86oNZtRJ9Ymzr4s5ten32kwahcqc+jJuNXx7FcdHuSDr8XWt9iw==
X-Received: by 2002:adf:cb83:0:b0:391:2d8f:dd59 with SMTP id ffacd0b85a97d-3971dae8de5mr9901457f8f.24.1742223408263;
        Mon, 17 Mar 2025 07:56:48 -0700 (PDT)
Message-ID: <d646b0b9-bae8-4f97-908a-f2e52cac708d@suse.com>
Date: Mon, 17 Mar 2025 15:56:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 2/8] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids
 API
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@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.1741958647.git.mykyta_poturai@epam.com>
 <95d779f00127defa37f3c5056c762ea0da47fc53.1741958647.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: <95d779f00127defa37f3c5056c762ea0da47fc53.1741958647.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 14:34, Mykyta Poturai wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> The main purpose of this patch is to add a way to register PCI device
> (which is behind the IOMMU) using the generic PCI-IOMMU DT bindings [1]
> before assigning that device to a domain.
> 
> This behaves similarly to the existing iommu_add_dt_device API, except it
> handles PCI devices, and it is to be invoked from the add_device hook in the
> SMMU driver.
> 
> The function dt_map_id to translate an ID through a downstream mapping
> (which is also suitable for mapping Requester ID) was borrowed from Linux
> (v5.10-rc6) and updated according to the Xen code base.
> 
> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
> Regarding pci_for_each_dma_alias question: getting host bridge node
> directly seems like a simpler solution with the same result. AFAIU
> with pci_for_each_dma_alias in linux we would arrive to the host brige
> node anyway, but also try to call dt_map_id for each device along the
> way. I am not sure why exactly it is done this way in linux, as
> according to the pci-iommu.txt, iommu-map node can only be present in
> the PCI root.
> 
> v8->v9:
> * replace DT_NO_IOMMU with 1
> * guard iommu_add_pci_sideband_ids with CONFIG_ARM

I fear I'm confused: Isn't this contradicting ...

> v7->v8:
> * ENOSYS->EOPNOTSUPP
> * move iommu_add_pci_sideband_ids to iommu.c to fix x86 build

... this earlier change? Really, with there being no caller, I can't see
why there could be any build issue here affecting only x86. Except for
Misra complaining about unreachable code being introduced, which I'm sure
I said before should be avoided.

> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -20,6 +20,7 @@
>  #include <xen/param.h>
>  #include <xen/softirq.h>
>  #include <xen/keyhandler.h>
> +#include <xen/acpi.h>
>  #include <xsm/xsm.h>
>  
>  #ifdef CONFIG_X86
> @@ -744,6 +745,20 @@ int __init iommu_get_extra_reserved_device_memory(iommu_grdm_t *func,
>      return 0;
>  }
>  
> +#ifdef CONFIG_ARM

I realize we have CONFIG_X86 here as well (visible even in context of the
earlier hunk. Yet then the goal ought to be to reduce these anomalies, not
add new ones. Since I don't have a clear picture of what's wanted, I'm also
in trouble suggesting any alternative, I'm afraid.

> +int iommu_add_pci_sideband_ids(struct pci_dev *pdev)
> +{
> +    int ret = -EOPNOTSUPP;
> +
> +#ifdef CONFIG_HAS_PCI
> +    if ( acpi_disabled )
> +        ret = iommu_add_dt_pci_sideband_ids(pdev);
> +#endif
> +
> +    return ret;
> +}
> +#endif
> +
>  /*
>   * Local variables:
>   * mode: C

Having reached the end of the changes to this file, it's also not quite clear
why xen/acpi.h would need including uniformly. Can't this live inside the
outer #ifdef?

Further, since #ifdef-ary is used here already anyway, why ...

> @@ -238,8 +252,32 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>   */
>  int iommu_remove_dt_device(struct dt_device_node *np);
>  
> +#else /* !HAS_DEVICE_TREE */
> +static inline int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
>  #endif /* HAS_DEVICE_TREE */

... resort to a stub when the inner #ifdef could simple be extended?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:04:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:04:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917146.1322124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuC18-0001HH-AX; Mon, 17 Mar 2025 15:04:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917146.1322124; Mon, 17 Mar 2025 15:04: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 1tuC18-0001HA-7h; Mon, 17 Mar 2025 15:04:38 +0000
Received: by outflank-mailman (input) for mailman id 917146;
 Mon, 17 Mar 2025 15:04: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=J4wc=WE=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tuC17-0001Gy-HD
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:04:37 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20625.outbound.protection.outlook.com
 [2a01:111:f403:200a::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22a0d507-0341-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 16:04:35 +0100 (CET)
Received: from BL0PR1501CA0034.namprd15.prod.outlook.com
 (2603:10b6:207:17::47) by MW4PR12MB6952.namprd12.prod.outlook.com
 (2603:10b6:303:207::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 15:04:27 +0000
Received: from BL02EPF0001A0FF.namprd03.prod.outlook.com
 (2603:10b6:207:17:cafe::66) by BL0PR1501CA0034.outlook.office365.com
 (2603:10b6:207:17::47) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.28 via Frontend Transport; Mon,
 17 Mar 2025 15:04:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A0FF.mail.protection.outlook.com (10.167.242.106) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 17 Mar 2025 15:04:26 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 17 Mar
 2025 10:04:26 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 17 Mar 2025 10:04:25 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22a0d507-0341-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PHTgssDo8HI649DclZAZDLBUfi/OeKZLw/I0+Tqmhu4ITZbc49tpHz6EgN0Z+4kTuJCqI4wDk0nY9c+jZkUs97z1fRMtfVz+R0elmjEK1Rm2lw0720CtV75V97IZ6KPqQnIKGBgx/KQG0rpFv8zF4yQJGkBK5ulDnCDZSQwsOcI5O5uo88gf6z1Hh8Lwivn+xK/Rg7F+3i/Mn+fpyKC79kZGgYvqe4di+dE53yz3jOmQb314+BESVrnt+5sOEOZC0uZ0mj5uzSGfuGuxiCS3TcskO+PeqLUSXBe0A7Io0HtaMZ1+c0TktY3xE46c8JIrRTinAjITxQG9dWKUfli9ZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5Ll7WWcHIk5jMdkgWMJiBL2PgtHt1OJxUrcDlsr83cs=;
 b=u4kOhvCR96QuZL2nG3UBnvggpfMnWUaz1HuRieY0n3TbzG1uR63gF+6j3LwuO3t7HLKHlMSj1xelnl2SFiCJD9sKqj0+eUrJBvikyQSWRLcuhMYeBIVXhESrAVW/hJLj0ATOF5GqkkL8ZO4VpdY8UpBAXTS/x3R/G/1LvJQORF609YEZUI8h54ZToRmA/cN82UYQtfrg4zpE+ycaWOl1dvtzoUsGX57H6+p8RP08vpDguklHDv96jMlDfW5e2edr9jw6qJ3O5jLpxrD4rrEUkFCicNUlWabaikIu1VAJ123j3qZrla5r4K3lKCNUz/v0vuRsuvZWlKKyRg8ksOMdsQ==
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=5Ll7WWcHIk5jMdkgWMJiBL2PgtHt1OJxUrcDlsr83cs=;
 b=vpjBizV3srucdLgh1MslIfLmcYhkEJbRwrafOWHA+nM2Vdumq8bcmljsrSXgAKqsDaUGWlPfo5a8j1e0IUfnDPxlPBlO1BUhNfaTlxgjhvQjXsGxgytddQ2NOpVRUq/Pk1drZDqhjilxxnVbzewRjfFpOc6sUObvNruyUTke8Ds=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <a6bd6175-32fb-4da5-b70d-70e8dabadf66@amd.com>
Date: Mon, 17 Mar 2025 11:04:19 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 15/23] xen/xsm: Add XSM_HW_PRIV
To: Jan Beulich <jbeulich@suse.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>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-16-jason.andryuk@amd.com>
 <095042a0-94c1-4f86-b6df-836a7107efa2@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <095042a0-94c1-4f86-b6df-836a7107efa2@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: BL02EPF0001A0FF:EE_|MW4PR12MB6952:EE_
X-MS-Office365-Filtering-Correlation-Id: 84d60bae-4767-463d-7ec8-08dd656502a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|7416014|376014|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZXY1ZEJCMkNGVTlpcFI1cDNHdkJzNUx4MHBTaVJHS1RYNHBoRjNlTTl3UkV6?=
 =?utf-8?B?YWNCNDNmZmVWK001M3hDSGpwR0tjeGUrL3pUZHI2UnJGUnR6bVFOV0hrNmE0?=
 =?utf-8?B?QnF5L0VWOVNPbERmd1NDUVFCN1VQMEFYMjBmMi9LZm9IdDVESTcrYjJpVkFT?=
 =?utf-8?B?SEFidjRrR1RIYmloajJGN0I3WFdiZlFHN3lsanFTS3JuaXBTcTBFL1NZY1NT?=
 =?utf-8?B?UnRGV1NNOXBMeEZqZ1dUY1dlWUFEb2xDNHV6RGJwZXRwSmsrZkVhY2Fubk8y?=
 =?utf-8?B?STMxZEw5N29Xd3NEWEZLd0dkYmNHMnJrNlBETXRmWXU1WjZZb3ZQaVJxWVZW?=
 =?utf-8?B?Q2w5RFVQUUU3b3I3N0ZraEV1QlhUT0xkMGgwdUNXTUlkb0NRU0x4ZmIrYkxM?=
 =?utf-8?B?M0dQV2U3UStvWHY0eE9DbXNnTVo5T3ZNenFrTXF2dEwvNkVVcDZ2TTl3OUkz?=
 =?utf-8?B?NXUrWGZ3dDkveFpVK3FYTDd0dGEvNzZrTmRGWFppZ1lGVWwyMnBvbzExNGpk?=
 =?utf-8?B?cGpudWRwZE5HbDg1Y2gxOUpPNnZQdWhxQVhucUF1KzZ4TEVLZ2E5NnpCdW1p?=
 =?utf-8?B?TmRrdDlnWmMwTVp1RndKNXlXNUZmdlVVVmROWHhWMDNyRmlNbXYvWEdSeUNz?=
 =?utf-8?B?SWRWSDBreFNuOHBMVGp6NWlSbzNHKzE1eHhWZUhNSW1VL3k4c0FhRjBrMnhv?=
 =?utf-8?B?c3J6WVdvZWRyR0xJNU9DbkZaWkxJay9pVSttakduSVZQNHhpUlJjRjhDazRk?=
 =?utf-8?B?WVNsaUZrYklsMFd4aVJPNkN3bWk0QXhKRld4NzBhTnlTZmRHa1ZoMWcyVVdO?=
 =?utf-8?B?ZDlvVjBDbFk2RjNHbDRXMThPSnNYWWxsc0pVY0J1S0ZkQlV1VDVJZzBWTU5V?=
 =?utf-8?B?WjRaUEJKZmxUa2NaQS9jQ3NIWlVlZTU2dTNnS1pHVmlmOTJSV2JPRHJQQ21M?=
 =?utf-8?B?dFBreHZ5ZzczRnp6N3FqY2xhakZmcThNMDFsTTQrMUdtQXVybHNIeldpTHRW?=
 =?utf-8?B?enU2RTcvRkVONEUycGowWkg2Ui80QTE5YXFQVHc3aEs5RmJtMXZWWHhhOHFX?=
 =?utf-8?B?Y09wOTJMekN3SDZmSHU3aFZWcW1QNXhXcmc4eFhtYVRkZjlEUGpEOTlFaEtB?=
 =?utf-8?B?TEI1bUhwN3A0Q2VRTll1Y0lxeGszTy9CcVhNaUY4cU92bnhYaVBpRkpCakk0?=
 =?utf-8?B?a1dlWCtFZ2lRUUtyQUk1MGR1bTNaQ1VXMGFFaFR3UGZ2aWdKTll1MmVPV2l4?=
 =?utf-8?B?RitOMGFPZm1xekNiTjNrbnh3Q1pSV1RaK1NwYkYra3VDeUMzMXFrVVhhdWVj?=
 =?utf-8?B?M1RVbnF5cXNPNlgvUk5ZU1VBZ1ZHSjNrVnF2eVE5aGZKWktjQ3NldXE4OC93?=
 =?utf-8?B?UU9ETFpEMFdNM0NsMFpjQktDaFRPK1o3TEY2MFNqRFBCQWNFQ2lXcVNRWjhv?=
 =?utf-8?B?R2NGZ1JrSkxNb0Rsb24xendEZ3drakZhS3BINWsyNXJjQldpREhIZDllSW1N?=
 =?utf-8?B?L0g0dkJBa3ora1lmMlFQTjJaL3h6SXY4cUdCOU8zV0xxNDkxcUcyaXBUSThp?=
 =?utf-8?B?WWYxT0dWNkxRdmN6dGNXeUlmUmx3czlOVkZLYUI4UTNBK3VNczJYYldBR3ZR?=
 =?utf-8?B?R09yc0NaTUZKS3RDMTdJNDRRZ0VkTXNwckJYWjdDOHNPdnk4UVFMSEhPUExj?=
 =?utf-8?B?T2R1aXdUZGJVd1lIbFRVOUNtd3NqN0lWK1BoMVI2NUx4ZjM4ZFdOMWE4K2RM?=
 =?utf-8?B?VURLSlhMd2hCRWozZHBNS05uYk5Hd3IwREJmTVlNYVV3N2FxNzRadFdUQjZ2?=
 =?utf-8?B?dGh0N0JmMStvZ1ppcXZKYlRycWNxeWdGTml0dk84NHBqcmRYQ0o2N2cvU0Ro?=
 =?utf-8?B?MUY3aTlNdnBDWE5sYzBobW9MdCsvVlFnYTlKV0xNdGFjREsrZk1qL1Z1UXdL?=
 =?utf-8?B?LzJXNEtWamZLeWlteHF2dnVkNXdpY3VwQXpVeHZQWXlCQ3pUdG5mWmdUMkNm?=
 =?utf-8?Q?JuojLZPEih+V0wLXCmRGphtIkXVcVU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 15:04:26.5484
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 84d60bae-4767-463d-7ec8-08dd656502a6
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A0FF.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6952

On 2025-03-17 10:22, Jan Beulich wrote:
> On 06.03.2025 23:03, Jason Andryuk wrote:
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -95,7 +95,11 @@ static always_inline int xsm_default_action(
>>               return 0;
>>           fallthrough;
>>       case XSM_PRIV:
>> -        if ( is_control_domain(src) )
>> +    case XSM_HW_PRIV:
>> +        if ( is_control_domain(src) && action != XSM_HW_PRIV )
>> +            return 0;
>> +        if ( is_hardware_domain(src) &&
>> +             (action == XSM_HW_PRIV || action == XSM_DM_PRIV) )
>>               return 0;
>>           return -EPERM;
> 
> Hmm. Isn't DM_PRIV a property applying to the control domain (besides
> any stub domains), but not the hardware one?

I ran QEMU in hardware domain to provide devices to a domU.  I thought 
QEMU would better run in hardware domain than control domain.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:08:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:08:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917163.1322133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuC4T-0002Fa-Ol; Mon, 17 Mar 2025 15:08:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917163.1322133; Mon, 17 Mar 2025 15:08: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 1tuC4T-0002FT-Lx; Mon, 17 Mar 2025 15:08:05 +0000
Received: by outflank-mailman (input) for mailman id 917163;
 Mon, 17 Mar 2025 15:08: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuC4S-0002FJ-Kz
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:08:04 +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 980e4ec1-0341-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 16:07:50 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4394036c0efso15042985e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:07: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-395c8975bdfsm15001813f8f.49.2025.03.17.08.07.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 08:07: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: 980e4ec1-0341-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742224070; x=1742828870; 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=rjQRww3wa6aTKDn8JIFbMoujhyDxTa3cZy2GqdSgozQ=;
        b=Ukh8advbpZ/SdlY/jm7wJvoOxC4BHrk7Ecg5cAynv73PY/4+DN7sJd12yjfHeyaRP7
         dWYOfikGHL9QGqDx8DUglKFhKK8qkps+0LcLMZzvEGr4KzpfUkaPLzy17bg0ZvM2rfB4
         G4rwbGyk5E/jZxt5CKjaKWCWGcjAUucRYOK85GzcszgGPeg19kDTdqS7PaqPOs+3JAtd
         uNtnl36k/eBEAdvpFzDaer1y4m8V5RdsWVT/87OkRxD+hwcMzkZ+hajuF2Iqt95R/k8H
         Uqd7Q68J74D8EtoTUvqsmx+9Y3u5UwJdpxE6xZsojfky3yG8Te/Da/EWPiJ2PSKO4fH3
         ctcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742224070; x=1742828870;
        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=rjQRww3wa6aTKDn8JIFbMoujhyDxTa3cZy2GqdSgozQ=;
        b=B0oYvw2s5ljD5om+PkQzX4AEGazBwQGNqsOJQzXaYnEQk2LFfr7gXhsVfcOGUFnB0R
         s9wQ9Y/pxH1JNPrGMG3oHTTrK1YO5mkbre+om3WsSGqvHViuMX4SSAJ7jn5PkJqmUpvM
         FeWjp7fT6CQ5kQMWJSZWlRvgWE3e84OovVqz3EuAEjXbe7Csh6sbaz7ePMicSd9pnmQO
         /3lOOPYzDF6p1jC9RtY1VdvPLPOdeTnA528a1e7VJWObVQo+5oz6g0MkZDJH/Ebd/WAy
         iqib7BrRAvm04gJxlvNeE+0jbg4ZPA5MBuVDGSmw1FH4EtNbjmdU/Uvs3OXrNZMT6np/
         g1hQ==
X-Forwarded-Encrypted: i=1; AJvYcCWhuTgv9wVLYh9oykJxfoZX1gJw3Apkyvwxs1b6ozF2gu3hBKyJQIhbaRTrMM9M4VxU51GEzgIx+iM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQS2UGu1X0hXvjL/MCo4gPpDFKuFlIAXJAjyHGnoD8iolp8mm+
	467dS8/OSepSPJqSyVR8vBdvcRNZKFWUcvgLQlrTuHqzDFDDcDl8HIA2ZYsl0g==
X-Gm-Gg: ASbGncuDhOZDYvOsCN3yikryQVjb56bSq77pxwvrNGE91ajRg2eFcrC6ZEwtSJEnf5y
	UVEDEclcsQBCmLk2CTIEOyugaAhUcGZXnNn59kGyfmtzMR9eW3+v4b8OxRnzTvRs8+zgjo9egy2
	0ZwXXmVHHue4khZtK89SxXhPQHpsETPrJ2jts59REpgBrxo8Twa2ZDg66SWOldkxb8qPARV3mEy
	VlR+fOcNnA1oR/g3T+YyXwA8iG4FliH/W4jgGHXqVcSVszZDMTFYl9L0yVl1SzRz7gTB+1P6qys
	FS1+CNFCg+fkCSjzS1eshFojt/DY6JhNrtuPW9dP0lp4hX5J6anrDqwwvoFtKOPJsrw0gD3NFyC
	ASWpQzcLqy++ergUjeA9oRvOB39Zifg==
X-Google-Smtp-Source: AGHT+IHzylMRCTZS13bjx2qWLECaCp+VsNQTvUOvI4O3FQ+r7LU9L0lrlrZ+pXj21ECK+6Cc3ZoaIw==
X-Received: by 2002:a5d:588b:0:b0:391:4674:b136 with SMTP id ffacd0b85a97d-3971ded2b2dmr12999551f8f.29.1742224070210;
        Mon, 17 Mar 2025 08:07:50 -0700 (PDT)
Message-ID: <7fa0bde7-3aa9-48f4-a0ed-d03216edcc4e@suse.com>
Date: Mon, 17 Mar 2025 16:07:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
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.1741958647.git.mykyta_poturai@epam.com>
 <132afbca390edd6e9fd7b1ffacf6c5aff0d29aa7.1741958647.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: <132afbca390edd6e9fd7b1ffacf6c5aff0d29aa7.1741958647.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 14:34, Mykyta Poturai wrote:
> --- a/xen/arch/arm/pci/pci.c
> +++ b/xen/arch/arm/pci/pci.c
> @@ -16,9 +16,18 @@
>  #include <xen/device_tree.h>
>  #include <xen/errno.h>
>  #include <xen/init.h>
> +#include <xen/iommu.h>
>  #include <xen/param.h>
>  #include <xen/pci.h>
>  
> +bool is_pci_passthrough_enabled(bool dom0)
> +{
> +    if ( dom0 )
> +        return pci_passthrough_enabled || iommu_enabled;

As I think I said before - the function's name now no longer expresses
what it really checks. That (imo heavily) misleading at the use sites
of this function.

> +    return pci_passthrough_enabled;
> +}

Personally I also view it as undesirable that the global
pci_passthrough_enabled is evaluated twice in this function. Better
might be e.g.

bool is_pci_passthrough_enabled(bool dom0)
{
    if ( pci_passthrough_enabled )
        return true;

    return dom0 && iommu_enabled;
}

Yet then I'm not a maintainer of this code.

> @@ -85,7 +94,7 @@ static int __init pci_init(void)
>       * Enable PCI passthrough when has been enabled explicitly
>       * (pci-passthrough=on).
>       */
> -    if ( !pci_passthrough_enabled )
> +    if ( !is_pci_passthrough_enabled(true) )

There's no Dom0 in sight anywhere here, is there? How can you pass true
as argument for the "dom0" parameter?

> --- a/xen/arch/x86/include/asm/pci.h
> +++ b/xen/arch/x86/include/asm/pci.h
> @@ -50,7 +50,7 @@ extern int pci_mmcfg_config_num;
>  extern struct acpi_mcfg_allocation *pci_mmcfg_config;
>  
>  /* Unlike ARM, PCI passthrough is always enabled for x86. */
> -static always_inline bool is_pci_passthrough_enabled(void)
> +static always_inline bool is_pci_passthrough_enabled(__maybe_unused bool dom0)

Function parmeters don't need such annotation.

> --- a/xen/drivers/pci/physdev.c
> +++ b/xen/drivers/pci/physdev.c
> @@ -19,7 +19,7 @@ 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 ( !is_pci_passthrough_enabled() )
> +        if ( !is_pci_passthrough_enabled(true) )
>              return -EOPNOTSUPP;

Seeing the function's parameter name, how do you know it's Dom0 calling
here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:19:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:19:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917179.1322144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCFK-00054p-QN; Mon, 17 Mar 2025 15:19:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917179.1322144; Mon, 17 Mar 2025 15:19: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 1tuCFK-00054i-Mx; Mon, 17 Mar 2025 15:19:18 +0000
Received: by outflank-mailman (input) for mailman id 917179;
 Mon, 17 Mar 2025 15:19: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=YRw2=WE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tuCFJ-00054c-O7
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:19:17 +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 30adacb3-0343-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 16:19:16 +0100 (CET)
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 C8E1E1F74C;
 Mon, 17 Mar 2025 15:19:14 +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 6F7B4139D2;
 Mon, 17 Mar 2025 15:19:14 +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 YZqmGXI92Gc2AQAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 17 Mar 2025 15:19: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: 30adacb3-0343-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742224756; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=YqpeHhvxLAE/okgqWDT3g8KrfgNixyOahq42Tssowmc=;
	b=DiLaKQ3/i848KCPeWGGM4I7hpesYq/2sXbmajeiisL6/9ZVFfo2sG+p6QpT4Eqquht39rW
	9siSyylcsiQHM460nCh/wqJG3RyHReDhK3nXE3eAllPeV6X0taJV+adQezYDqpwqv60jJK
	57dz14mE7HOOuW6UuRRHyiqZpOuVZBg=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=CNODgBeX
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742224754; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=YqpeHhvxLAE/okgqWDT3g8KrfgNixyOahq42Tssowmc=;
	b=CNODgBeXC1PNzuGLj3er5JMYUviD47elcZ6CccDv1wlejPaI3Y+pBgHVIBeczcH8/YKyFw
	AnDU/YQPTjjsOkdeSgwV9Q5FrfIO5SdmnpeFZ81WkElkRO5f+Ncg8BM+lDikfCWHuRcG+T
	1oeIRvDUiFQdwf/jyqdkj+mBAabGanU=
Message-ID: <ba2b9493-f794-497a-9f5c-1a714bdc79e5@suse.com>
Date: Mon, 17 Mar 2025 16:19:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/23] xsm/dummy: Allow XS_PRIV to call get_hvm_param
To: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-15-jason.andryuk@amd.com>
 <6d6c2a2b-630c-404e-9257-e353464f2400@suse.com>
 <9c4e6e33-6381-47a8-a631-5ded21cf240c@amd.com>
Content-Language: en-US
From: Juergen Gross <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: <9c4e6e33-6381-47a8-a631-5ded21cf240c@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------yCNQMTu9Dqzh1HcD65vAqnda"
X-Rspamd-Queue-Id: C8E1E1F74C
X-Spam-Score: -6.41
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-6.41 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	ARC_NA(0.00)[];
	FROM_HAS_DN(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[11];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DKIM_TRACE(0.00)[suse.com:+];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:dkim]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------yCNQMTu9Dqzh1HcD65vAqnda
Content-Type: multipart/mixed; boundary="------------EhnF7uW9zW0ZE4mv7FRQsNG8";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Message-ID: <ba2b9493-f794-497a-9f5c-1a714bdc79e5@suse.com>
Subject: Re: [PATCH 14/23] xsm/dummy: Allow XS_PRIV to call get_hvm_param
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-15-jason.andryuk@amd.com>
 <6d6c2a2b-630c-404e-9257-e353464f2400@suse.com>
 <9c4e6e33-6381-47a8-a631-5ded21cf240c@amd.com>
In-Reply-To: <9c4e6e33-6381-47a8-a631-5ded21cf240c@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=

--------------EhnF7uW9zW0ZE4mv7FRQsNG8
Content-Type: multipart/mixed; boundary="------------Gf9OQar8aRdEMsD22LfQYuFy"

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

T24gMTcuMDMuMjUgMTU6NTAsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDMt
MTcgMTA6MTgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4gT24gMDYuMDMuMjAyNSAyMzowMywg
SmFzb24gQW5kcnl1ayB3cm90ZToNCj4+PiBUaGlzIGlzIHVzZWZ1bCBmb3IgYSBjb21iaW5l
ZCBoYXJkd2FyZS94ZW5zdG9yZSBkb21haW4gdGhhdCB3aWxsIHJ1bg0KPj4+IGluaXQtZG9t
MGxlc3MgYW5kIHhlbnN0b3JlZC7CoCBpbml0LWRvbTBsZXNzIGNhbGxzIHhjX2h2bV9wYXJh
bV9nZXQoKSB0bw0KPj4+IHJldHJpZXZlIHRoZSB4ZW5zdG9yZSBldmVudCBjaGFubmVsIGFu
ZCBwZm4gdG8gY29uZmlndXJlIHhlbnN0b3JlIGZvciBhDQo+Pj4gZ3Vlc3QuwqAgV2l0aCBh
IGh5cGVydmlzb3ItYWxsb2NhdGVkIGV2ZW50IGNoYW5uZWwgYW5kIHBhZ2UsIHRoZQ0KPj4+
IHNldF9odm1fcGFyYW0gaXMgbm90IG5lZWRlZCwgYW5kIHRoZSBub3JtYWwgZG9taWQgcGVy
bWlzc2lvbnMgd2lsbCBhbGxvdw0KPj4+IHhlbnN0b3JlZCB0byBjb25uZWN0Lg0KPj4+DQo+
Pj4gU2ltaWxhcmx5LCBhIGh5cGVybGF1bmNoLWVkIHhlbnN0b3JlIHN0dWJkb20gbmVlZHMg
dG8gcmVhZCBhIGRvbWFpbidzDQo+Pj4geGVuc3RvcmUgZXZlbnQgY2hhbm5lbCBvdXQgb2Yg
aHZtX3BhcmFtLg0KPj4+DQo+Pj4gVGhpcyBhbGxvd3MgcmVhZGluZyBidXQgbm90IG1vZGlm
eWluZyB0aGUgZ3Vlc3QsIHNvIGFsbG93IHRoZSBwZXJtaXNzaW9uLg0KPj4+DQo+Pj4gU2ln
bmVkLW9mZi1ieTogSmFzb24gQW5kcnl1ayA8amFzb24uYW5kcnl1a0BhbWQuY29tPg0KPj4N
Cj4+IFNpbmNlIHRoaXMgaXMgZXhwb3NpbmcgdGhlIGVudGlyZSBwYXJhbSBzcGFjZSB0byBY
ZW5zdG9yZSwgd2hhdCBJJ20gbWlzc2luZw0KPj4gaXMgYSBzZWN1cml0eSBkaXNjdXNzaW9u
IGZvciBleGlzdGluZyBhcyB3ZWxsIGFzIHBvdGVudGlhbCBmdXR1cmUgcGFyYW1zLg0KPj4g
VGhlcmUgY291bGQgd2VsbCBiZSBzb21lIHRoYXQgYmV0dGVyIHdvdWxkbid0IGJlIGF2YWls
YWJsZSBmb3IgWGVuc3Ryb3JlIHRvDQo+PiBmZXRjaC4NCj4gDQo+IEkgY2FuJ3Qgc3BlYWsg
Zm9yIGZ1dHVyZSBwYXJhbWV0ZXJzLCBidXQgZXhpc3RpbmcgSFZNX1BBUkFNcyBkaWRuJ3Qg
c2VlbSANCj4gc2Vuc2l0aXZlIHRvIG1lLsKgIFRoZSBzYWZlc3QgY2hvaWNlIGlzIHRvIGp1
c3QgcGFzcyB0aGUgaW5kZXggdG8geHNtX2h2bV9wYXJhbSgpIA0KPiBhbmQgYWxsb3cganVz
dCBIVk1fUEFSQU1fU1RPUkVfRVZUQ0hOIChhbmQgSFZNX1BBUkFNX1NUT1JFX1BGTikgZm9y
IHRoZSB4ZW5zdG9yZSANCj4gZG9tYWluLg0KPiANCj4gVGhpcyB3b3JrcyBmb3IgQVJNIGFu
ZCB4ODYgSFZNL1BWSC7CoCBQViBkb2Vzbid0IGhhdmUgYSB3YXkgdG8gZGV0ZXJtaW5lIGEg
DQo+IGRvbWFpbidzIGV2ZW50IGNoYW5uZWwgcG9ydCwgRldJQ1QuDQoNCkZvciB3aGF0IGFy
ZSB5b3UgbmVlZGluZyBIVk1fUEFSQU1fU1RPUkVfUEZOPyBUaGUgR05UVEFCX1JFU0VSVkVE
X1hFTlNUT1JFDQpncmFudCBpZCBzaG91bGQgYmUgZW5vdWdoIHRvIG1hcCB0aGUgZ3Vlc3Qn
cyBYZW5zdG9yZSBwYWdlPw0KDQpBbmQgd2l0aCB0aGF0IEknZCByYXRoZXIgc3VnZ2VzdCB0
byBleHBhbmQgc3RydWN0IHhlbnN0b3JlX2RvbWFpbl9pbnRlcmZhY2UNCndpdGggdGhlIGV2
ZW50IGNoYW5uZWwgcG9ydCBhbmQgbGV0IHRoZSBjb21wb25lbnQgZG9pbmcgdGhlIHNlZWRp
bmcgb2YgdGhlDQpncmFudCB0YWJsZSB3cml0ZSB0aGUgcG9ydCBpbnRvIHRoZSBzdHJ1Y3Qu
DQoNClRoaXMgd291bGQgZW5hYmxlIFhlbnN0b3JlIHRvIGp1c3QgbWFwIHRoZSBndWVzdCdz
IFhlbnN0b3JlIHBhZ2UgYW5kIHJlYWQNCnRoZSBldmVudCBjaGFubmVsIHBvcnQgZnJvbSBp
dC4gTm8gYWRkaXRpb25hbCBoeXBlcmNhbGwgcGVybWlzc2lvbiBuZWVkZWQuDQpBbmQgdGhp
cyB3b3VsZCBldmVuIHdvcmsgd2l0aCBQViBkb21haW5zLiBBbmQgYXMgdGhlIFhlbnN0b3Jl
IHBhZ2UgaXMgemVyb2VkDQppbml0aWFsbHksIGFueSBldmVudCBjaGFubmVsIHBvcnQgIT0g
MCBjb3VsZCBiZSByZWdhcmRlZCB0byBiZSB2YWxpZCAoYSBndWVzdA0KY2hvb3NpbmcgdG8g
d3JpdGUgYSBib2d1cyB2YWx1ZSB0aGVyZSB3b3VsZCBqdXN0IHNob290IGl0c2VsZiBpbiB0
aGUgZm9vdCBieQ0KaGFybWluZyBpdHMgb3duIFhlbnN0b3JlIGNvbm5lY3Rpb24pLg0KDQoN
Ckp1ZXJnZW4NCg==
--------------Gf9OQar8aRdEMsD22LfQYuFy
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-----

--------------Gf9OQar8aRdEMsD22LfQYuFy--

--------------EhnF7uW9zW0ZE4mv7FRQsNG8--

--------------yCNQMTu9Dqzh1HcD65vAqnda
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/Ey8FAmfYPXEFAwAAAAAACgkQsN6d1ii/Ey/n
2wf8DNZGYrHUzV4C007WMCb9yK+NL7yh311aoj5ovn27Bp43dbqD3JFQ1+k24wN+s+ZMcNNSfiI5
qHIPYpnFkmRYsox2ZS6EfcX00A9ZW4QdJR7q6W1ImtD1pAI/8IWfyuuxN85SRgJQqYYueyjLQayH
OR4XBj2cSHD4X1clF/eeoHjhzz6dyLuB72gfLRR3shOhMvcnrwlym1Gn9cF3tgXY2Mp4XgN6w836
MHWAoE83+9QCzL7CFf8C137ELmb4XEsxz+rUXL8+VTTkVOVmogeUDYilqyRkr1NW4fnYFRgVq317
/Yz3dO2L0eExBRk4zvjeYk511Ek/x49A37pdIg/0fg==
=02St
-----END PGP SIGNATURE-----

--------------yCNQMTu9Dqzh1HcD65vAqnda--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:24:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:24:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917192.1322154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCK7-0007v3-Dz; Mon, 17 Mar 2025 15:24:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917192.1322154; Mon, 17 Mar 2025 15:24: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 1tuCK7-0007uw-BI; Mon, 17 Mar 2025 15:24:15 +0000
Received: by outflank-mailman (input) for mailman id 917192;
 Mon, 17 Mar 2025 15: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuCK5-0007uq-FK
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:24:13 +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 e09af118-0343-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 16:24:11 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso15013305e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:24: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-43d1fe0636dsm107679465e9.11.2025.03.17.08.24.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 08:24: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: e09af118-0343-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742225051; x=1742829851; 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=XYUKgbyzAIVAeHY1sr9eHVOWFQx2ue/MpAiPCgFtT08=;
        b=EpgOk7I6+ZCt8+p94hhAcJ09P1lbFGLg0B5FaklwQ746dqk26MmLFAstobbkOBoTS6
         uDCobr+Rulcig57WtqtfbOCpfopIYnQK2YVA7L/GGtbGU2vTR2QCvHnXss1n62M3Qrgs
         QpXR76mP3J9dBemwwVWTJJzeN2UNjvE9Il6NfLhbu3GSyWaAJoDkRfyVdVT6IhB9AVeT
         lhP4HIdHyr3Vt6uTsp6R21qF/D4SYYxkzCwkkQH+vlV07ctGm6GEEbINA2CW1WxnrDBD
         18f4Aixzv0rxhC/S182uClquA2ARPXXxOIi2ZVvz1b/MIdAeiLedaMRwCpF9vIupaga2
         QO4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742225051; x=1742829851;
        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=XYUKgbyzAIVAeHY1sr9eHVOWFQx2ue/MpAiPCgFtT08=;
        b=DIuz5OB5S9mLtRvPQy4luK8h0E6LOghR41HtzM7N2X6blu+HxunjKeGBQmXmy2Ng2h
         i0z1bL5eLGRhqCTRIz5GND57XqLFq0XuRE/fUTvjbCnEhwCyN2T1soK++4Zhm0DXLDl9
         e53TfLe6Avqop65qSUB1xa+HNYZUf3T+fqv7MZ7qzvpUASfjOdmFT+qfoMto3uMU2+2v
         xCDwgzyekM8xivrI5DvurSWIphTNimTByLUK5QgWezO32jPem3rEEDEzqnWOJtRXtedb
         EvlzftZdTomPQU6gfEF/zFCh7qBBEvtN1ghWBkNQu0olKmYu9gSRjz4qJEj+1zjwkcZa
         jeWA==
X-Forwarded-Encrypted: i=1; AJvYcCXcgOIA4oQAj8b1ujpC9oUxShsLBBqbT/FTCT6ZuA7vC/Arb9x49CZpRD1AhPo5bn3v7RAwF7+Zp1Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwBK0kPKxYEhD1zQMxuvbH5B/gi6L0O+4VH4G38p+zwzVXkEhsh
	WwZ+TLVlXqN/wYvQEEhvLAy2Nn/8uMGaNliMZESbr42666P/nADWxs7gXaRQnA==
X-Gm-Gg: ASbGncvNetGAAAeQRFP65e0WpDSdHVDoKjjzy9YU9VhwrBm4JgR/iIeEu5GOzl1kyYg
	OUx4YYiDc1n/U1V2G6wZBYEV1mPx+7FDXzCj8JIOIO5FmSfGQB0ZAq9msKV3Rv7aKzAmxqVPhfV
	zy0uf3qiFUkyF+wFjXkgBd1utqw8p64ppWEw6hb4UIwUn3bYj9SiZX7DRhnyzq4e2vPyISI/Ye7
	eZYbcmoGHJL6SnFy/zMcp3LBpsxxLYdHOwM3WFxSWvDScUzK6ztTuRbbljfGFWIHgg9UUVWcgX9
	Viw09eWghlF/0VTaSDiOq1yHydnpJmwCcsgZZmT3015KuHKYMHzCvUJfLr4n/YOEuFDkCB34YGK
	JF9p02RVMjrplorBtCdtEaAp6fduAWw==
X-Google-Smtp-Source: AGHT+IELr45xvOy32TTId5G0E1zntYeN2tzwUABdKIokMkgdD5HFnqhwBbV8I/9Kpl3rtvBHb8nyrQ==
X-Received: by 2002:a5d:6c62:0:b0:390:eacd:7009 with SMTP id ffacd0b85a97d-3971f9e4956mr15068127f8f.42.1742225050759;
        Mon, 17 Mar 2025 08:24:10 -0700 (PDT)
Message-ID: <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>
Date: Mon, 17 Mar 2025 16:24:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 17:19, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/riscv/time.c
> @@ -0,0 +1,38 @@
> +#include <xen/device_tree.h>
> +#include <xen/init.h>
> +#include <xen/lib.h>
> +#include <xen/sections.h>
> +
> +unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
> +unsigned long __read_mostly boot_count;

Why not also __ro_after_init? And what is this variable actually needed
for? Common code doesn't use it, so a better name (describing what it
really holds) might be desirable, even if this then means not being in
sync with Arm code.

Furthermore, I can't spot a declaration of this variable. Was it meant
to be static?

> +static __initdata struct dt_device_node *timer;
> +
> +/* Set up the timer on the boot CPU (early init function) */
> +static void __init preinit_dt_xen_time(void)
> +{
> +    static const struct dt_device_match  __initconst timer_ids[] =

Nit: Stray double blank.

> +    {
> +        DT_MATCH_PATH("/cpus"),
> +        { /* sentinel */ },
> +    };
> +    u32 rate;

Nit: uint32_t please in new code.

> +    timer = dt_find_matching_node(NULL, timer_ids);
> +    if ( !timer )
> +        panic("Unable to find a compatible timer in the device tree\n");
> +
> +    dt_device_set_used_by(timer, DOMID_XEN);
> +
> +    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
> +        panic("Unable to find clock frequency.\n");

Please be consistent with the full stop in panic messages. (I think there
shouldn't be any.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:32:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917202.1322164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCS6-0001zB-7C; Mon, 17 Mar 2025 15:32:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917202.1322164; Mon, 17 Mar 2025 15: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 1tuCS6-0001z4-3E; Mon, 17 Mar 2025 15:32:30 +0000
Received: by outflank-mailman (input) for mailman id 917202;
 Mon, 17 Mar 2025 15:32: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=KhIg=WE=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1tuCS4-0001tW-FB
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:32:28 +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 04ae68f1-0345-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 16:32:22 +0100 (CET)
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-79-rZ07XL0XNsqRgktiRCcYpg-1; Mon,
 17 Mar 2025 11:32:17 -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 A6D9A180AF4D; Mon, 17 Mar 2025 15:32:13 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.22.74.4])
 by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 5F423180094A; Mon, 17 Mar 2025 15:32:12 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 4355821E675E; Mon, 17 Mar 2025 16:32:08 +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: 04ae68f1-0345-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1742225541;
	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=k6AP8qPgf7yOre7jra69M1oGbFQiEjvBM1isV3S1yxw=;
	b=ZLBIkAYgwC3ZAPUN0TUVj+LfbMbj+L5GtbPhrQ4PUpdzs4nAeX3lkpwmo+emIzvzThFyBG
	e59mk+NqUMag4wNgseLUW7LOWvWv02LywA1J9M/bmV/ODab8HgcVj3/9SwGZsPpmfbC7xn
	BMRLhK9riZ6xekPl85EBBgxsBTETfxM=
X-MC-Unique: rZ07XL0XNsqRgktiRCcYpg-1
X-Mimecast-MFC-AGG-ID: rZ07XL0XNsqRgktiRCcYpg_1742225534
From: Markus Armbruster <armbru@redhat.com>
To: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: Pierrick Bouvier <pierrick.bouvier@linaro.org>,  Anthony PERARD
 <anthony.perard@vates.tech>,  qemu-devel@nongnu.org,  qemu-ppc@nongnu.org,
  Yoshinori Sato <ysato@users.sourceforge.jp>,  Paul Durrant
 <paul@xen.org>,  Peter Xu <peterx@redhat.com>,  alex.bennee@linaro.org,
  Harsh Prateek Bora <harshpb@linux.ibm.com>,  David Hildenbrand
 <david@redhat.com>,  Alistair Francis <alistair.francis@wdc.com>,  Richard
 Henderson <richard.henderson@linaro.org>,  "Edgar E. Iglesias"
 <edgar.iglesias@gmail.com>,  Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
  Nicholas Piggin <npiggin@gmail.com>,  Daniel Henrique Barboza
 <danielhb413@gmail.com>,  qemu-riscv@nongnu.org,
  manos.pitsidianakis@linaro.org,  Palmer Dabbelt <palmer@dabbelt.com>,
  kvm@vger.kernel.org,  xen-devel@lists.xenproject.org,  Stefano Stabellini
 <sstabellini@kernel.org>,  Paolo Bonzini <pbonzini@redhat.com>,  Weiwei Li
 <liwei1518@gmail.com>,  Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [PATCH v5 00/17] make system memory API available for common code
In-Reply-To: <3ce90214-a080-4ae8-86ff-9f8fd20f1733@linaro.org> ("Philippe
	=?utf-8?Q?Mathieu-Daud=C3=A9=22's?= message of "Mon, 17 Mar 2025 10:21:00
 +0100")
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
	<5951f731-b936-42eb-b3ff-bc66ef9c9414@linaro.org>
	<Z9R2mjfaNcsSuQWq@l14>
	<ee814e2f-c461-4cc2-889d-16bb2df44fdf@linaro.org>
	<3ce90214-a080-4ae8-86ff-9f8fd20f1733@linaro.org>
Date: Mon, 17 Mar 2025 16:32:08 +0100
Message-ID: <87h63rekqv.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.4.1 on 10.30.177.111

Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org> writes:

> Hi,
>
> On 14/3/25 19:39, Pierrick Bouvier wrote:
>> On 3/14/25 11:34, Anthony PERARD wrote:
>>> On Fri, Mar 14, 2025 at 10:33:08AM -0700, Pierrick Bouvier wrote:
>>>> Hi,
>>>>
>>>> one patch is missing review:
>>>> [PATCH v5 12/17] hw/xen: add stubs for various functions.
>>>
>>> My "Acked-by" wasn't enough? Feel free try change it to "Reviewed-by"
>>> instead.
>>>
>> Those are differents. From what I understand, Reviewed implies Acked, bu=
t the opposite is not true. If it was, they would be equivalent.
>> Thanks.
>
> IIUC on QEMU Acked-by means "as a maintainer of files modified by
> this patch, I don't have objection on my area, as long as someone
> else takes the patch". It doesn't mean the patch has been reviewed.
>
> Please correct me if I'm wrong.

Documentation/process/submitting-patches.rst has some advice, but not
much.  Kernel docs are more thorough, and I believe the information
there applies to QEMU reasonably well:

https://docs.kernel.org/process/5.Posting.html#patch-formatting-and-changel=
ogs



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:40:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:40:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917214.1322173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCZc-0003lA-Sf; Mon, 17 Mar 2025 15:40:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917214.1322173; Mon, 17 Mar 2025 15:40: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 1tuCZc-0003l3-Py; Mon, 17 Mar 2025 15:40:16 +0000
Received: by outflank-mailman (input) for mailman id 917214;
 Mon, 17 Mar 2025 15:40: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuCZc-0003kx-4d
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:40:16 +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 1b60f185-0346-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 16:40:14 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3996af42857so202496f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:40: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-395c8975b34sm15458763f8f.55.2025.03.17.08.40.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 08:40: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: 1b60f185-0346-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742226008; x=1742830808; 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=QPt7KF+lNJEyOT0Ld0v1dwJXVJeRy5UpOiPKFqyk38A=;
        b=KGEpnO0AclJ0tDffSWMCYJJ6XIfIFKKHMVvZ5VFs7lTjwF23FPbTEchjgB3X96bmcs
         IuYn8YA1vl9R9RUkKn7uixjIiYYB/ruGFw5+YMHblXeExpWbVCObyU/28SQiwiBacL3X
         6fro98K14Fqh0ibIbqPa73UQ+L/jjIstLU+Bh32YGh78SL6D1fJ8EpjRCfQl0CF3kv7x
         llayhLFz6YEYSHHbJYfnaGOwQMqvJJF4/oT0jXuGAXxpu/HaT/S7YXbh0QueeBlV7xQs
         zf1uXIssLLoVcuR2ZtUrq8BoaaO0Jxa3+296kXxuzWJ4PDC+Ib0lpAnGXH+1oSKZmcjl
         fo2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742226008; x=1742830808;
        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=QPt7KF+lNJEyOT0Ld0v1dwJXVJeRy5UpOiPKFqyk38A=;
        b=sbFF68sDJKKE3tUsPEkJCKyFSaBIrGvz32z2w8Bo/BGJQ+QGQAK1y+GdDOmV9VFKMm
         oqtSC1nVvcoXN4PVCvbAzXFWuiCG2O5pVohdVrbEQb0rWzTU8JA6K56u0HR1OUzPYfYX
         blnvjK85RAns57ptT9ZBjJUZvKG5OO5XtbSa//fYBFeU+NTNnzusRzwnD5pv1pW7eLv7
         C9PPzq6voYEbjMGPIWBeaV0hSemfgLOXAgFo7IbW840fBTI13h4BOvUEm9NwSFR9bTDI
         TuVNJA+/ghXFWUdv0ci1b8Sl2Ym2wCKlmiPtObndfEAqPFkzpBRJTHhcgpGFvXoKJHJ7
         jcOA==
X-Forwarded-Encrypted: i=1; AJvYcCU+y0QkXtVZYrbLDLUrvqvUijw2d2RaXhw9loErUut3yBnYTCJ1j+aOYqehU+mLmuuRCfBFzKSQH/E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw71AZP71pdrigUKDwuW+ZCDZSHILn5nWrVRHVlUm926VnNYfJl
	hfba02SBnFjFQjY9TExYRwmAh1M9a7cXhuKupbIX/l5K5W3cPvVI5vWx2Xmtug==
X-Gm-Gg: ASbGncuKxaZQK3ap+2mYi4g97KFcnJRTwZZMs0j8htSGhS++958V/Nd78eaKABg/yGL
	8kvjqC2aa58YKAQ7aY0Ww4XmRq8otjhXQLpd7CV4fvrU/u0EKnh9znPHv8GmjgkDrreR8rbbP8r
	InzzZNB5F332Q/hGWsOaWuHpz2FaaC8SVivoccmETtguoqm+GNjnF8tKwsskjCeF2KTvlh6cOix
	JEKQjsCSqVRPCAB/VtDd9dJJk4diKYkULidLv2HeR+9Fl5JilujvRk9Rah+zWdsgHZV0ViJh5QL
	qGlR7GtanZb7kDJ45HAQ9qWtoB32Ec8kvdMp3nfL29OPL574V8GT+kBf5RYeVS+bc1eCbv75fAD
	aWfAwChkcDHOKxWAhuQolp0m7EzT+Vg==
X-Google-Smtp-Source: AGHT+IFOTgigvQ4nIOlYoVa2D/ADiTxNAky8eUy9TLZmh/pkW522xiy9YrH8/RiyqzLqsIx0J0Sx0A==
X-Received: by 2002:a05:6000:1acd:b0:390:dec3:2780 with SMTP id ffacd0b85a97d-3971dae92ddmr15016362f8f.24.1742226008623;
        Mon, 17 Mar 2025 08:40:08 -0700 (PDT)
Message-ID: <9187583f-a4d0-429e-a666-113c4f8aabaa@suse.com>
Date: Mon, 17 Mar 2025 16:40:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/riscv: implement basic aplic_preinit()
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>,
 Romain Caritey <Romain.Caritey@microchip.com>, xen-devel@lists.xenproject.org
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <6e2212313a47772d6929ae76f5e4be0f365766e9.1741709885.git.oleksii.kurochko@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: <6e2212313a47772d6929ae76f5e4be0f365766e9.1741709885.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 17:19, Oleksii Kurochko wrote:
> Based on the code from [1] provided by Romain Caritey from Microchip
> with some minor changes():

"Based on", to me at least, suggests an import from some other project. The
reference looks to be to a Xen tree though. With that, a proper description
would then be needed here, rather than a list of differences.

> --- /dev/null
> +++ b/xen/arch/riscv/aplic.c
> @@ -0,0 +1,50 @@
> +/* SPDX-License-Identifier: MIT */
> +
> +/*
> + * xen/arch/riscv/aplic.c
> + *
> + * RISC-V Advanced Platform-Level Interrupt Controller support
> + *
> + * Copyright (c) 2023-2024 Microchip.
> + * Copyright (c) 2024 Vates
> + */
> +
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +#include <xen/types.h>
> +
> +#include <asm/device.h>
> +#include <asm/intc.h>
> +
> +static struct intc_info aplic_info = {
> +    .hw_version = INTC_APLIC,
> +    .node = NULL

This latter one can be omitted.

> +};
> +
> +static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
> +{
> +    if ( aplic_info.node )
> +    {
> +        printk("XEN doesn't support more than one S mode APLIC\n");
> +        return -ENODEV;
> +    }
> +
> +    /* don't process if APLIC node is not for S mode */
> +    if ( dt_get_property(node, "riscv,children", NULL) )
> +        return -ENODEV;
> +
> +    aplic_info.node = node;
> +
> +    return 0;
> +}
> +
> +static const struct dt_device_match aplic_dt_match[] __initconst =
> +{
> +    DT_MATCH_COMPATIBLE("riscv,aplic"),

Iirc this requires use of __initconstrel, which would also be nice to
be put between type and identifier.

> +    { /* sentinel */ },
> +};
> +
> +DT_DEVICE_START(aplic, "APLIC", DEVICE_INTERRUPT_CONTROLLER)
> +        .dt_match = aplic_dt_match,
> +        .init = aplic_preinit,

Nit: Indentation looks too deep here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:46:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:46:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917225.1322184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCfI-0005Vv-Hb; Mon, 17 Mar 2025 15:46:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917225.1322184; Mon, 17 Mar 2025 15:46: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 1tuCfI-0005Vn-Db; Mon, 17 Mar 2025 15:46:08 +0000
Received: by outflank-mailman (input) for mailman id 917225;
 Mon, 17 Mar 2025 15:46: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuCfH-0005Vh-0N
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:46:07 +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 efdececf-0346-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 16:46:05 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so10972735e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:46: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-43d2010de59sm107091175e9.33.2025.03.17.08.46.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 08:46: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: efdececf-0346-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742226365; x=1742831165; 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=BR4Yu6sxzZTHUZRz+Wmvg20MakRxVoGTUWJQc7RROzE=;
        b=PNk7e1jD/N7jUA0xf/gD5OVEzDXCHo6UtK+pgR+He4phoWLkUpHUyKZUmE44Uc2jGA
         OWM9Cnx2EYCOzliBnR7XvUs0lPwWB60o8uLNw15XJPJG724HyOcNRPZkxg0B6z0X8HeZ
         ZEO9rIoEj6XbMij1u3OrNSXrDTOMdTfCCbnOVP8+LmN22hST3+4htwh/YNDkwvoEedk/
         BeKopQxVkt8HN7LHpI57u+K/+e6n2NnbIN79WIrYtr+vQRmb5YZq2Pt3DWkHHLiqYiSa
         j3EeSMlMTkKNxKgYjmiB9PIDDlycG6LsKt+Q9JTj7Oyp1wFP4moTgamvW4pFSH6zgBKh
         41+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742226365; x=1742831165;
        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=BR4Yu6sxzZTHUZRz+Wmvg20MakRxVoGTUWJQc7RROzE=;
        b=VnslSqtXFbv4GgNvhrIa+FpHa/vo0ZkqwteBD4WIVU5exVUOpYp/cF0dkYyt76YMJd
         loXYOSZFSRbERiLHYfdlZX2qt7sPJfw2ElABaxdux7zxiHy3jojcYwBeXxQtMWIeIXI2
         IhocuWXn8OIeIvySOIbNbWcCOv7x/AF7SSFhdiNA43SAyJPBbfw9svQn95OIUYw3bSGP
         aEt/Dv2X60USnwgZw+Hp4jZfOVEOMAEUY7HUFogCGJeXTZi0WueUKmWqK1QEQFBYkD2I
         w2t5dBGN2qE91IL3ocarPPO6C4TklXVS/JtA8JIwE7DsbC7mtSOzhql0H/dcjA/mG6jN
         awBw==
X-Forwarded-Encrypted: i=1; AJvYcCWrx+TBOpcHKbj+KkAXg38+ErDFYRTAbTXd/x3ZKGs7CocUYfyoJGR1F9toZ54uibIfaZ9NCki6YLk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx80EcnkhjXrGVui7lJCDuOPdncY8PBN4MttAd41tlJs2Fc5jNZ
	Uj5rfltaJRglchjYGlWZLpfg9KpFO+bUlgWLnn7bMzOZPX4L3Wq/fc7+wmii6A==
X-Gm-Gg: ASbGncu6XAjKG2sZ8oSyXAPARjqDuBrC9aGVXSaNSACNHR0azIIEgWBMF0GEWli1zwK
	RvTtPYWQZwBdt8VsiiqqhV1AWLrMy3oVEXwK51640qHtOrnb5w73rJJyydQ3gd3WMjXVMNKSmvD
	KJFAV4Jyqa0+VzbbuRSiCmyQDm/+Cq8ZLAQWCmXcZaKPiIwEg+fifBZJAwtczL+ki1iYlOeqCx3
	vrFFH1PXWDwH/Qn2zytCcpHqPFnlwXYZlD5oSNemvuoKscBbhpSabhMl8oOhgt6wJ5w74UvZA4r
	9oPt4qoZYN9Ds+VqhmemISJyY6SFQvvjYSHFxPIut6JttyMdpADqxj4O8Ju7H3ofgFg1HmDnhdK
	fGZe2ZSlhc/EoEHKSkqP5B8If+aG2ew==
X-Google-Smtp-Source: AGHT+IGiv1JQJ2a02B4BCCa6WUDDX+Jxy8BGQ4QOHol8idxQ2lZsrVyw8ddIuEfxKzSBp6owo3bG5g==
X-Received: by 2002:a05:600c:444b:b0:43d:16a0:d82c with SMTP id 5b1f17b1804b1-43d1ec906acmr123184225e9.2.1742226365069;
        Mon, 17 Mar 2025 08:46:05 -0700 (PDT)
Message-ID: <c9f6bfcc-cf74-42bf-bcf3-65ca6c89bdd5@suse.com>
Date: Mon, 17 Mar 2025 16:46:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/4] xen/riscv: introduce intc_preinit()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <d89d647a0b71b0a0bc8aeb90395b28bcab15074e.1741709885.git.oleksii.kurochko@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: <d89d647a0b71b0a0bc8aeb90395b28bcab15074e.1741709885.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.03.2025 17:19, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -16,6 +16,7 @@
>  #include <asm/cpufeature.h>
>  #include <asm/early_printk.h>
>  #include <asm/fixmap.h>
> +#include <asm/intc.h>
>  #include <asm/sbi.h>
>  #include <asm/setup.h>
>  #include <asm/smp.h>
> @@ -128,6 +129,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
>  
>      preinit_xen_time();
>  
> +    intc_preinit();

And there's only ever going to be a single interrupt controller type on RISC-V?
IOW - no abstraction needed?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:48:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:48:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917237.1322193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCi2-00068Z-1O; Mon, 17 Mar 2025 15:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917237.1322193; Mon, 17 Mar 2025 15:48: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 1tuCi1-00068S-Uv; Mon, 17 Mar 2025 15:48:57 +0000
Received: by outflank-mailman (input) for mailman id 917237;
 Mon, 17 Mar 2025 15:48: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=Rdq/=WE=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tuCi1-00068M-0b
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:48:57 +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 55287481-0347-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 16:48:55 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913cf69784so3921143f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:48:55 -0700 (PDT)
Received: from [192.168.1.74] (88-187-86-199.subs.proxad.net. [88.187.86.199])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb40cdafsm15448541f8f.62.2025.03.17.08.48.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 08:48: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: 55287481-0347-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742226535; x=1742831335; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=o+5W+UssECkTKS4DrzEwRnjDFNiMZjlh6x8JkFvP4I8=;
        b=Kr4CiRLafOzSfjo2UKX+6J8zmCK7ugPqB3IyS+TUie11/D6uMhM/izXS+Vm7EhAYWP
         E1y8uyU70skNbsfrh04Iu3SbwJ8mmYyCOebluOfPsCQe9IsXNTPEOxxgO42mwfe0GRmJ
         b3/7f/5GQFPMRhY+Uta+yYChyHcM/18LXn15i0tfSn1pQGFyzXZyJ6HC/n8KsNVGQ05z
         8VwC8VGXXSgTWtmsnyGLyoOPNazLqOMSn2bK6fLcipwnNbj5tHiP1EukLzIinBKfazF5
         GpQjGh2xZYzD1CfNQtANJmitQTtF3PSR8jYLZ5qFgWeMlxFzAtqqTx5EXu70VDAz1mwA
         IWOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742226535; x=1742831335;
        h=content-transfer-encoding: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=o+5W+UssECkTKS4DrzEwRnjDFNiMZjlh6x8JkFvP4I8=;
        b=VGhyMq7oLHNGIL/1pSS0LzFrdWEY/1Pi1TJ0rnIrZzfu/RCRi8Xpa4uBMyWKCSinCB
         vlx9Ve9S8KRvF2WC7SdlDz676bZrZl8IcSMAbv2O18bQrkRMxKiHjC0kd/Z9aLZPHtia
         KPzJQFR/dlz/sU9xn0bG4aB5Ubl263WEIvyrlnNJYiPnZVDE7MLw9yAO+SnhCA1tNazg
         eB/8pctKfmShHmONO5ORtSoYTO5w8SrH7aY+5L3/p+5xmCrY0s+E4l1XyczSuLrEaCUk
         5gz/hLXEHxfkSFRaALASxxStGLlE7lIoSRiWFXeXT7Gx44vJUNkMvbZl607dQeqRDR4i
         K7Bg==
X-Forwarded-Encrypted: i=1; AJvYcCWzk1wsmtdyRXgr8omh+9X774MfKdsvSwcaM+a8Z9gjbiiLkfuqFK46it6C1tyD9mKnd2qe6BZKo0o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRtgfRgZ/xcFQXj+MC3r8kh5hg1L8ETxow+QQ/Dpw1KkD1Zm6h
	U/lQ3ppl27BN61zqAv71jwyC3Kw1JW+OXRuAWBZns3ZWJizbm8SjQAEeFWPgv+I=
X-Gm-Gg: ASbGncvkqRNBoZuNl7x6fB6r/eOjjqUVawGWcT49BdXobxFzpTL69kQgMGYkwG5gfi0
	vfU1ZdIh8zjSvOCC88TVr++2etxqFYtqzfhRIa1VQeNWH8TA6rk3di+IvBRpbfl4/SCqI3dqbEJ
	x/FjiWHb38kurSLXMTLEeHw8tSZn/kygdV2sfy/wYdgGLl5TJ4mAl0y/etJucYCY8V3sbWM7h5t
	HideXMODp0EgjimaHh+AR0VdpUq4ctSPgzBlaHbF5wk19MATFVOEr0CRkPTcUNAt+kh+tF1UDv5
	9rra4De9fRs7c3I3OXXMucjKvgliUY0ryDVcCON6YnwUVUUgQGNC30rGhWwVBs67XnaIdHyHmKc
	0Flhae+D1hw==
X-Google-Smtp-Source: AGHT+IGPYq8a1DX+sutBQTGjwo1ZKdFnw90ZowytYQDXuqZKLeSdwoGehqSW8lE4c/1Od7xg7Lk9Jg==
X-Received: by 2002:a5d:5f4b:0:b0:391:212:459a with SMTP id ffacd0b85a97d-3971e781d76mr12793882f8f.22.1742226534980;
        Mon, 17 Mar 2025 08:48:54 -0700 (PDT)
Message-ID: <d5e2aa98-5b9c-4521-927f-86585b7b2cfa@linaro.org>
Date: Mon, 17 Mar 2025 16:48:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 05/17] exec/memory.h: make devend_memop "target
 defines" agnostic
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-6-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250314173139.2122904-6-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 14/3/25 18:31, Pierrick Bouvier wrote:
> Will allow to make system/memory.c common later.
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/exec/memory.h | 16 ++++------------
>   1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index da21e9150b5..069021ac3ff 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -3138,25 +3138,17 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
>   MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
>                                 uint8_t c, hwaddr len, MemTxAttrs attrs);
>   
> -#ifdef COMPILING_PER_TARGET
>   /* enum device_endian to MemOp.  */
>   static inline MemOp devend_memop(enum device_endian end)
>   {
>       QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
>                         DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
>   
> -#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN
> -    /* Swap if non-host endianness or native (target) endianness */
> -    return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
> -#else
> -    const int non_host_endianness =
> -        DEVICE_LITTLE_ENDIAN ^ DEVICE_BIG_ENDIAN ^ DEVICE_HOST_ENDIAN;
> -
> -    /* In this case, native (target) endianness needs no swap.  */
> -    return (end == non_host_endianness) ? MO_BSWAP : 0;
> -#endif
> +    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
> +                       ? target_words_bigendian()
> +                       : end == DEVICE_BIG_ENDIAN);

Unnecessary parenthesis?

> +    return big_endian ? MO_BE : MO_LE;
>   }
> -#endif /* COMPILING_PER_TARGET */
>   
>   /*
>    * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:50:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917246.1322204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCjt-0007lP-C4; Mon, 17 Mar 2025 15:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917246.1322204; Mon, 17 Mar 2025 15:50: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 1tuCjt-0007lI-8v; Mon, 17 Mar 2025 15:50:53 +0000
Received: by outflank-mailman (input) for mailman id 917246;
 Mon, 17 Mar 2025 15:50: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=Rdq/=WE=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tuCjr-0007gv-Gk
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:50:51 +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 99c23df1-0347-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 16:50:50 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-391342fc1f6so3893433f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:50:50 -0700 (PDT)
Received: from [192.168.1.74] (88-187-86-199.subs.proxad.net. [88.187.86.199])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7eb93csm15132825f8f.86.2025.03.17.08.50.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 08:50: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: 99c23df1-0347-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742226650; x=1742831450; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=l0kvYVh3QIIhVSteww7rz6e6dOUJeoxVvK2zu9yWA2A=;
        b=WGN6wjrEVakV/QGI8Lzhu+QtvE9i8yZ/j7TCLpehlaiHWuXavN1gCezEOiYhb+r8UE
         tQ9JAAzN+1BLvnzW0W911AiqydUXgA/4VARbrk7ebiOhPDO06yX1pJ1d1kYrCYT6b7zV
         a6gHBl0kWwGkVJz1VfMzeRpikFrd4nzCeMACS4VfLFli+SkAQjacSSbM2k4Ie57JoD3Q
         K3oZxtOw1tv/u+PX2XSoLxieQ8yd3jcb4+K0O/te4JqyVhCumFdDGdXr+DmKfTHT6L6T
         094b5q0u5s+mUsD0cx6e4t6xgrpdg3KD38BxCk6c950ENCqnh14m4jgZzkPVaK4vyJDh
         adGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742226650; x=1742831450;
        h=content-transfer-encoding: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=l0kvYVh3QIIhVSteww7rz6e6dOUJeoxVvK2zu9yWA2A=;
        b=gmWAlZm3rh+mkxKKE+qsoMGJ5OkQxjbGSeuD4EXgtyF3WthtYmAzrrQjR1QhvcZtAX
         LOMAtrg7aYhSJ3ueZyQuFC/i9HCYIs7xK7NHnj/Y1BCBzjJivHCsHXb/E3tUF1Skc2rl
         izus1w8TYpkznPrDTbW43QKCGvqdE1Z1Ea2uwGjbbpcw5cjonuAHrigGYFu3DYhedYsq
         GSjXgRzQFSn1iCRECGlNHZO0mNwJUWkbId7WB12Xnc1SsyIPyb8IvCkR9C/bAov9IUse
         qP59Q5BXJX47VVY9KpQWNeJADvozZa9LrGNOm2aiS4az6etBpnaFEgk1PKcW9wRXVg1m
         FA0A==
X-Forwarded-Encrypted: i=1; AJvYcCViSxz3A9n403nlxLveZRCL/pn8YkCpNIt7hLZCyJaosNoPHT3t2BYc7oUDbpZyTcg3DIWUHKJyMQk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz7A1C1K+wFGb1MFRI7wnqSKFDe67VM3ExSqhyfDxNBPt38ktOf
	cmOAk/0H+S+U9zbJ7ZNDZqzkYafh1PbHhd2ATuILE25TY5VyFYfGjuH9FVzfyek=
X-Gm-Gg: ASbGncsJa4hb9xST+Ud5pfhGbx+WsIkFeB56pciYpkcdtLqjEX6LIlrHv0U4/R/9xQt
	HBLxyURsB2WKn5Dc53lACZClMTwGN5Hl/VWBg1/Fa6KP28t+WkmLOAufmWJ+D1va636clZmnBpQ
	kIYXp/MWrnG94/owrS4NTa5ZRpCoH0n0ay7r13v737/5AcrbJnT4lljhFL89QeWoCGw4JU6HAir
	I5nJc7NEqU1B6mlA6xpnD32sW0HmI8K/3JV1690eRfoP2AGxbTx21PqZR9Co4hpV4j4nZHf5IBT
	1kyQGCC3SD5zKrvI+mt91JPdfdkMuGAFdo3JN/VI62RE+GLttyjuhggccy+KswBUnldrZH5r2d1
	SXE9070nJ6vd7j0bVvfRw
X-Google-Smtp-Source: AGHT+IHEeSmQycdcPRPilEPN46M2KLx0DgnGBUIOfvhqo+t3Qgdzg2qlN331n14zj9svwQlA5J6N9Q==
X-Received: by 2002:a5d:5e0d:0:b0:390:ebae:6c18 with SMTP id ffacd0b85a97d-3971d237919mr9793052f8f.12.1742226650139;
        Mon, 17 Mar 2025 08:50:50 -0700 (PDT)
Message-ID: <ad7cdcaf-46d6-460f-8593-a9b74c600784@linaro.org>
Date: Mon, 17 Mar 2025 16:50:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/17] exec/ram_addr: call xen_hvm_modified_memory only
 if xen is enabled
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-12-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250314173139.2122904-12-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 14/3/25 18:31, Pierrick Bouvier wrote:
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/exec/ram_addr.h | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
> index f5d574261a3..92e8708af76 100644
> --- a/include/exec/ram_addr.h
> +++ b/include/exec/ram_addr.h
> @@ -339,7 +339,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
>           }
>       }
>   
> -    xen_hvm_modified_memory(start, length);
> +    if (xen_enabled()) {
> +        xen_hvm_modified_memory(start, length);

Please remove the stub altogether.

> +    }
>   }


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:52:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:52:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917258.1322214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuClH-0000tg-L0; Mon, 17 Mar 2025 15:52:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917258.1322214; Mon, 17 Mar 2025 15: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 1tuClH-0000tZ-I8; Mon, 17 Mar 2025 15:52:19 +0000
Received: by outflank-mailman (input) for mailman id 917258;
 Mon, 17 Mar 2025 15:52: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=Rdq/=WE=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tuClF-0000tT-U2
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:52:17 +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 cd125199-0347-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 16:52:16 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso16388975e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:52:16 -0700 (PDT)
Received: from [192.168.1.74] (88-187-86-199.subs.proxad.net. [88.187.86.199])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fdbc4cesm81462315e9.0.2025.03.17.08.52.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 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: cd125199-0347-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742226736; x=1742831536; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=7xiXPoAKkwFpGzY8cUM/UBfoM1Sb/wB5ZKQOj7uhRCw=;
        b=bk9p1bf0gzsP+7pH/cr+xGK7lwZyCWzekVDopP/iJkAtt+SVac215VZRL0vAzR0J/e
         qdu5kgYaGf3seozk2z8j/yocBPrrrwbedN4hhPobhMr0t7+UsO5QGk4JRWHexX6PB0ig
         mySsSLe6Q37nh1terUqXV+qWE6zzcXECNbirFOuEFS4pPxQgpqz2UlaSwYX/wlZA3yoq
         LNgnJnD5zPdkGnRfETdjQXdROiWWvK7MMT6dG9tLNP82obynuJD+Q/HVoaVNturx++k2
         GtLqqRrw2nCWO74tMny3YSMBu5NskuJ0YB94SBxGax07uGeut+dwreBvcq3Bz/AmjLCR
         5c7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742226736; x=1742831536;
        h=content-transfer-encoding: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=7xiXPoAKkwFpGzY8cUM/UBfoM1Sb/wB5ZKQOj7uhRCw=;
        b=srmASoZrvewGzNcHJgfBQKaW+6Oa1iH9YXItCGwmIGIPeessFdLSsy5Lkh1FeAd7Hb
         E/vMSstViVRwPH3R1DNqHYeO0HS7XRNjvRMu4D0DoW4/AenF+Ikw/Qk3Z/elcVBVasym
         B5m9aK/TYvSg3Y/mt0Lv52rrX4mnQxvwsbAaiKrnVLo6steFYB41SA1/vLk73zYhyNHh
         ghpI8ih8gwY7x6YnvK8jP3rWVFfiugzVsthXO++QOJPrI7ruLrdYk7vA3/43VVR5Wjmd
         GgrWDbyb1xKtV17xk6BJXwaw36MedpOJJHlG7FjGU+tmkysV1agDoak9+kzQb+VEQp7u
         XZVQ==
X-Forwarded-Encrypted: i=1; AJvYcCUyppGqoAfPzewo21GUZ7mZfFv123Taf47bBSkTW0LmgQBwOEoRoInneP1wnNxT93+hJqKXxhVqZXY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz5ouyGP/4CjyZYvtkwVAtDFCDgOLHMwt+ighZaJcdOOOGyUipl
	5z8Mc6vo/l69En+gfTuRZTPE6bQM8ageQxHfK4ASoECOTCqOkxSlHaEUtK3MGso=
X-Gm-Gg: ASbGncvLBb8jz42x+xKe8yVrYHreD8QoFaOW+y70mVMrMd9AASd9ETxt40EJ8E4fdYB
	tfN9wD7a8uCFVFb8BleLPQoIgsFiGsFeZU3Z74Pecu60TugBpVK4rb0C1qwrAZnvOg1VCdb4z39
	V1o0slkgKS0Y2DAca9fMPeFdwb6c1eW6Ju/vaAc2fGWEzuUYx+AaWzfjrQb7pp4SgpoYNyup3Uj
	H6s5O0oWICr/G9JoiE95TMzHwWe/QUl89PELhEePip4ukthu+yJWlUcxZtzPbIRneKw50oAh9Yj
	yL1YTgUKRT4LEXffN534i998RtApToxdLtaSe07cucr5v9LD1tYNH+o52QwLdr4K11NZevCEqcB
	KTyJ2Mx4+Jp2I+e0VQdTX
X-Google-Smtp-Source: AGHT+IFpt8KideQTGA4uKhjvZxuTIzGsP3DM5t9jXqk82vnIbb3xkl9IyoVgYgeOQux+EakZvkLZoQ==
X-Received: by 2002:a05:600c:4ed2:b0:43d:cc9:b0a3 with SMTP id 5b1f17b1804b1-43d1ed000fdmr111360435e9.22.1742226736253;
        Mon, 17 Mar 2025 08:52:16 -0700 (PDT)
Message-ID: <0f6a945b-b3f7-4602-8c17-db07123026a9@linaro.org>
Date: Mon, 17 Mar 2025 16:52:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 15/17] include/exec/memory: move devend functions to
 memory-internal.h
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-16-pierrick.bouvier@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20250314173139.2122904-16-pierrick.bouvier@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 14/3/25 18:31, Pierrick Bouvier wrote:
> Only system/physmem.c and system/memory.c use those functions, so we can
> move then to internal header.
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/exec/memory-internal.h | 19 +++++++++++++++++++
>   include/exec/memory.h          | 18 ------------------
>   2 files changed, 19 insertions(+), 18 deletions(-)

Reviewed-by: Philippe Mathieu-DaudĂŠ <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:55:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:55:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917273.1322240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCod-0001ey-8W; Mon, 17 Mar 2025 15:55:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917273.1322240; Mon, 17 Mar 2025 15:55: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 1tuCod-0001er-5J; Mon, 17 Mar 2025 15:55:47 +0000
Received: by outflank-mailman (input) for mailman id 917273;
 Mon, 17 Mar 2025 15:55: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuCoc-0001ej-4x
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:55:46 +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 48a1d710-0348-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 16:55:44 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so2796316f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:55: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-395cb318aa1sm15793970f8f.64.2025.03.17.08.55.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 08:55: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: 48a1d710-0348-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742226943; x=1742831743; 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=JlzNWE3v0mQILIP8p/5YAa+OZsRJdvHjlrZEypFKFNQ=;
        b=FIgqTH/ZuFxlDboFeGTMo5tBiVW1b7YQ8GLZ7Wk93wPSakGrrywzJN7Ejg8uFCyiKm
         tKF/SxUNd9ZbMW74qRJ2EM3/vdnIoGS8bBs2D6sNI/89cU382pLuQBlQSnK0ZqdoJxMc
         ddADosQnkHtwY83jM+2Cfb5LG0Yla/XUw90tT9ydXYhfkp6luc1qmT7HnbN2JZnIELEs
         5yAPuze2vL05A3rG9HcMl8SyPZ31VaZNS/TZP/3ADoKS5UUku95suEXWBlAc/oWKId40
         4NqFdzqthGDcLWse16dx/ItyWi7lKvzVwEoi5JQz1VrBpxMxMaU3xhZyLRe2ouf/97XJ
         B/ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742226943; x=1742831743;
        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=JlzNWE3v0mQILIP8p/5YAa+OZsRJdvHjlrZEypFKFNQ=;
        b=vorb1orVX19t0x+5djVcMmKbIgAMmezCIAO3KygpDqQeYvQ//z7gBHX0tv7817GCo9
         /+UxnbZbExnM4dXCv36Hk+6/eiLTURUL7RK72HHCLK40CVBtxn9ZcrDRZZgXhLuVGm/y
         8trJ+l/7gzdKyRt7KC+ceJ3KbQptCD5QLOiSgUMws6+RWmGDkq6uAZH3yBnBNtruhlc0
         tR/xi4iUHEUgbodAnMC1vmMnpjg5tJD/xoOmKYLU/SeI8z2Yax3+YBU2XNarLNC7UKvo
         PmSRRxF2Pzr6cUjd6zUx4GxGa8g6Hca3jMSDqJiifMpCkblL7KVY+CDZxCvS1Sa1zVvt
         lNXg==
X-Forwarded-Encrypted: i=1; AJvYcCUnnHvGs5YsJuSxSTgeZ+BZVCxJFe9GWF5wsX4ENNC6WCGRy3oV1W2NmCCwJnjBvKGNH8SDWkyTkqA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxkQXpXj6qmDVzF5bND9xIjveix/hUbm2doRjio/0ZbFpDIZ47P
	vU9xq2GZy37wpbHidXes0HwQFLKMjk/025DYhXw2AllsYYXi4Ae3yb68XEPYRw==
X-Gm-Gg: ASbGncs/HB4WH3gA6j4TZtpfPagzUrAyExApPLBpUdYT4GI73M9Ss9GJQVz/CpUTllm
	Xp2sSD0DNLXPWNDxasfi9+GTf7UHw4Bib1VsRO5UYF7IBBGZviwYGKyM+YAvv/FIILQMzX3aCFK
	bq1pQX07FW/jiZgtxNyObqaDI98CwytLTrBWCVeqy99jDlamR2EJuThvX9W0khrEyisbsxyYXTd
	x0PNmhgIS0meY90WoIl5tjhO2QuGqBHDIYOr2J4PcAnBmPKqvRgti+nSdTWo80lf822rHbMZ1A3
	r06xBQ/8lUJ1RjH7R05NgnkEoFnVspf+AkQ+5xFiy5rJ3DGuca6K/Ou9wnqJo3PTTddehjpQxIB
	FDxrb6m9ovD1x2yzwj3aDeQSn1Ie+MA==
X-Google-Smtp-Source: AGHT+IFK1Hcrpx8aLNjnPP391o2BF2UsxtKX09tF9DW9W5N16977HF3oFEfiyEszcJNZ1RwYUOIjwQ==
X-Received: by 2002:a5d:59ac:0:b0:390:fbcf:56be with SMTP id ffacd0b85a97d-3971a58ba2fmr16745217f8f.0.1742226943495;
        Mon, 17 Mar 2025 08:55:43 -0700 (PDT)
Message-ID: <0fffaa65-f32e-4d8c-93c0-8799efb0c9c0@suse.com>
Date: Mon, 17 Mar 2025 16:55:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Andrii Sultanov <sultanovandriy@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
References: <cover.1742063500.git.sultanovandriy@gmail.com>
 <73295790a1df8f4f1406a8e86e7c81a98cb1d3e6.1742063500.git.sultanovandriy@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: <73295790a1df8f4f1406a8e86e7c81a98cb1d3e6.1742063500.git.sultanovandriy@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.03.2025 11:08, Andrii Sultanov wrote:
> --- a/xen/drivers/passthrough/amd/iommu.h
> +++ b/xen/drivers/passthrough/amd/iommu.h
> @@ -77,8 +77,14 @@ struct amd_iommu {
>      struct list_head list;
>      spinlock_t lock; /* protect iommu */
>  
> -    u16 seg;
> -    u16 bdf;
> +    union {
> +        struct {
> +            uint16_t bdf;
> +            uint16_t seg;
> +        };
> +        pci_sbdf_t sbdf;
> +    };

As before: I'm firmly opposed to this kind of secondary aliasing. It's bad
enough that we have something similar in struct pci_dev.

> --- a/xen/drivers/passthrough/amd/iommu_map.c
> +++ b/xen/drivers/passthrough/amd/iommu_map.c
> @@ -730,7 +730,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
>               * the same alias ID.
>               */
>              if ( bdf != req && ivrs_mappings[req].iommu &&
> -                 func(0, 0, PCI_SBDF(seg, req).sbdf, ctxt) )
> +                 func(0, 0, sbdf.sbdf, ctxt) )
>                  continue;

This looks unrelated to the struct amd_iommu change here? And this is a
change I would ack right away, if sent in isolation or combined with
other, similar changes.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 15:56:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 15:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917283.1322250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCpA-00028g-Ff; Mon, 17 Mar 2025 15:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917283.1322250; Mon, 17 Mar 2025 15:56: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 1tuCpA-00028Z-Cz; Mon, 17 Mar 2025 15:56:20 +0000
Received: by outflank-mailman (input) for mailman id 917283;
 Mon, 17 Mar 2025 15:56: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuCp9-0001ej-DH
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 15:56:19 +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 5cb6b752-0348-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 16:56:17 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac2a089fbbdso818388666b.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 08:56:17 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac314a9b738sm678860766b.165.2025.03.17.08.56.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 08:56: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: 5cb6b752-0348-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742226977; x=1742831777; darn=lists.xenproject.org;
        h=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=RJPkunmDHLcj8BF0r2a4T4pCeycX235cqmHEDMO+i5Q=;
        b=ijlpr3WtcpT7DksQ/SzNMqw6d2oYUM9v6XXe8ObNnByI7D2D2F5ZoR5ugI5PeHNejT
         Mi6svm/mQ48rxOleLHiemMFFarjGk2ge39qWajWkrKwZkgagWD5ILm4D9cN4R7jyVjuk
         LSS81c9SKQyacojb5Z4ITedJWLvUj/aGvSu9M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742226977; x=1742831777;
        h=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=RJPkunmDHLcj8BF0r2a4T4pCeycX235cqmHEDMO+i5Q=;
        b=L4zh+5CzmOZu4x7U5FF+h03PmUa83W9fQJyREE46c+H7yErYi59hGI3YE3++pMrBXS
         ardbxTHHUTqiGQ9vozEkdTiKFx+JYOl8whqiaYQN5A/wzNN3sativHll3VbxCOT5U9d6
         ZJnIzho67Yhgf2qeWqyZyAbfxLCzO+zE7DfCxIULs4VWS2cQLWj0R8CvSNgIOpslJIVw
         o8TgHvhZ1Dy5rKHnmd9M60EStYy5Zfplj/C/YC3vKuhnx315ZJTHBuYi1xShuKBNotb1
         cJ3N1yv6WIZjjb/X5iGwGRbch9K2aZJZLmv1cOLXgHZNnJLOShxHtajNIP79x12+BMch
         DSLw==
X-Forwarded-Encrypted: i=1; AJvYcCUKFdVVHjlrafKI+LByI9SfI91lXm9pSkRBKeJV15XOOS8fVP8nq5uODbvdzA12SAmJ9WHLSOCbaJY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzsDrgUVk0tnFWcCMlS3+w+MItej6tfeHdWuMn/A95o0RBulXli
	HyIejGM+nCvhcmB/FZveW+iLqIVsXS5jDyKo3w3da7lLXZBdwlx3W6Y1Ti1Qf6M=
X-Gm-Gg: ASbGncsUHexZAyiOOW4sRy/v+4UpjK/qPbxV08HvNrhm4rJO6k65ffaIeLBzMDU7mgF
	lE7D3vKS9MsDF1eSttpBogwTp8a5KqOsNjb3AErrm/Nyye92qKV9btEja1bwilixmR+4/tPiea4
	d5UhcUBIdHvf/yfMI1BDED0eQkzs+K3lfBjP1GPaxJdz17hyqfqAQKBOntgol0R3VJ85I7HeKcN
	KRWAW7p+BAc4gWPhUHS6CpGlR9O26BFp+JQEyyIc41CGunrRN0Y/cO3YF7zG4/XlEqDbT7kFu+D
	JpygeQO0EPruYuysNpojgqz2pimF7mlPbpXP902Scj3+aUMny9lYeYZn/c7i26rVZA==
X-Google-Smtp-Source: AGHT+IFVqg9YA6MdlolR8tLtRR9bJ/0hZMhvSsl9Ex4jENfFS1TfAkkW4e9Rm0Fhydka/rBpwsPiLA==
X-Received: by 2002:a17:907:1784:b0:ac2:d1bd:3296 with SMTP id a640c23a62f3a-ac3122c9347mr1822138066b.10.1742226977188;
        Mon, 17 Mar 2025 08:56:17 -0700 (PDT)
Date: Mon, 17 Mar 2025 16:56:15 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20
Message-ID: <Z9hGH0GLq-I1cKzt@macbook.local>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
 <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>

On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
> On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
> > On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
> >> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> >>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
> >>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> >>>>
> >>>> This one has working S3, so add a test for it here.
> >>>>
> >>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> >>>> ---
> >>>> Cc: Jan Beulich <jbeulich@suse.com>
> >>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> >>>>
> >>>> The suspend test added here currently fails on staging[1], but passes on
> >>>> staging-4.19[2]. So the regression wants fixing before committing this
> >>>> patch.
> >>>>
> >>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> >>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
> >>> We could commit the patch now without the s3 test.
> >>>
> >>> I don't know what the x86 maintainers think about fixing the suspend
> >>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> >> I'm on it already, but it's annoying. Lets convert this thread to
> >> discussion about the issue:
> >>
> >> So, I bisected it between staging-4.19 and master. The breakage is
> >> somewhere between (inclusive):
> >> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> >> and
> >> 47990ecef286 x86/boot: Improve MBI2 structure check
> >>
> >> But, the first one breaks booting on this system and it remains broken
> >> until the second commit (or its parent) - at which point S3 is already
> >> broken. So, there is a range of 71 commits that may be responsible...
> >>
> >> But then, based on a matrix chat and Jan's observation I've tried
> >> reverting f75780d26b2f "xen: move per-cpu area management into common
> >> code" just on top of 47990ecef286, and that fixed suspend.
> >> Applying "xen/percpu: don't initialize percpu on resume" on top of
> >> 47990ecef286 fixes suspend too.
> >> But applying it on top of master
> >> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
> >> but the failure mode is different than without the patch - system resets
> >> on S3 resume, with no crash message on the serial console (even with
> >> sync_console), instead of hanging.
> >> And one more data point: reverting f75780d26b2f on top of master is the
> >> same as applying "xen/percpu: don't initialize percpu on resume" on
> >> master - system reset on S3 resume.
> >> So, it looks like there are more issues...
> > Another bisection round and I have the second culprit:
> >
> >     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
> >
> > With master+"xen/percpu: don't initialize percpu on resume"+revert of
> > 8e60d47cf011 suspend works again on this AMD system.
> 
> That's not surprising in the slightest.
> 
> Caching hardware values in Xen isn't safe across S3, which QubesOS has
> found time and time again, and for which we still have outstanding bugs.
> 
> S3 turns most of the system off.Â  RAM gets preserved, but devices and
> plenty of internal registers don't.

I think I've spotted the issue.  enable_iommu() called on resume
(ab)uses set_msi_affinity() to force an MSI register write, as it's
previous behavior was to unconditionally propagate the values.  With
my change it would no longer perform such writes on resume.

I think the patch below should help.

I wonder if we should unconditionally propagate the write from
__setup_msi_irq(), as it's also unlikely to make any difference to
skip that write, and would further keep the previous behavior.

Thanks, Roger.
---
commit 1d9bfd0d45f6b547b19f0d2f752fc3bd10103971
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Mon Mar 17 15:40:11 2025 +0100

    x86/msi: always propagate MSI writes when not in active system mode
    
    Relax the limitation on MSI register writes, and only apply it when the
    system is in active state.  For example AMD IOMMU drivers rely on using
    set_msi_affinity() to force an MSI register write on resume from
    suspension.
    
    The original patch intention was to reduce the number of MSI register
    writes when the system is in active state.  Leave the other states to
    always perform the writes, as it's safer given the existing code, and it's
    expected to not make a difference performance wise.
    
    Reported-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
    Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed')
    Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 163ccf874720..8bb3bb18af61 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
 {
     entry->msg = *msg;
 
+    if ( unlikely(system_state != SYS_STATE_active) )
+        /*
+         * Always propagate writes when not in the 'active' state.  The
+         * optimization to avoid the MSI address and data registers write is
+         * only relevant for runtime state, and drivers on resume (at least)
+         * rely on set_msi_affinity() to update the hardware state.
+         */
+        force = true;
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         int rc;


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:07:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:07:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917340.1322276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCzn-0006oG-Qz; Mon, 17 Mar 2025 16:07:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917340.1322276; Mon, 17 Mar 2025 16:07: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 1tuCzn-0006o9-OF; Mon, 17 Mar 2025 16:07:19 +0000
Received: by outflank-mailman (input) for mailman id 917340;
 Mon, 17 Mar 2025 16:07: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=J4wc=WE=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tuCzm-0006o3-0J
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:07:18 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2412::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3bf99b1-0349-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 17:07:14 +0100 (CET)
Received: from BL1PR13CA0207.namprd13.prod.outlook.com (2603:10b6:208:2be::32)
 by MN2PR12MB4157.namprd12.prod.outlook.com (2603:10b6:208:1db::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 16:07:07 +0000
Received: from BL02EPF0001A104.namprd05.prod.outlook.com
 (2603:10b6:208:2be:cafe::a7) by BL1PR13CA0207.outlook.office365.com
 (2603:10b6:208:2be::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 16:07:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A104.mail.protection.outlook.com (10.167.241.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 17 Mar 2025 16:07:07 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 17 Mar
 2025 11:07:06 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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; Mon, 17 Mar
 2025 11:07:06 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 17 Mar 2025 11:07:05 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3bf99b1-0349-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bbsCJyEqWWsM+V9ifW01rPJxS2az0slZHKn/iVhM4SzxLRKVt7YhYg948Ys8EQgdqdrJVg2qKfitqDbbNc1klgsds5Puyx9nKlDbmDbpLSENVk0qd9l6eLHjdZhREWY2ycHndlh6OwyAhfOQQDfNS/6d7a5jepB6+dceppA916tSkGNVQHB4/Au/D7xj/fdSd5jGgWZhPVR+r1B+fj3q0twriZnNw1CqexcDIklTa5xMUCRbHesYQXCBVDlqFDKIlIPklMfMTvOt1LQYR7O++shGi891dP8COlPm/7f0PWvYC33FvNfXV3y2/yGfzmUPypsvVeP4MuskL3UJ6rMRrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mfl5aoO5MUWWaHA/WpdzJie469bPPnDkWWgRHC511HI=;
 b=ZMIpuXhvSAJMeqHK1EjYWdf4hh6X6zSTh0RfRI5laEPJTUwpAQT1dqe1pZ9Dhy1H3li5Pt0JPAGOQ1xdJFkrK5XBEyc8nM8JYQlD0+1J44Svqj3SwOuzl1X1ulZm91NZW9rrhPl8URbtlaC482ld38sNDsk2p46N+3Ze1P3ndIsbdGj968udtvM4ASbE0NBIrBmUYlvv9dslz+Iv+TxnA4aM9baWY25AqInGPOyaONOFZeehH7JRf3YUnQcS7EgPcwcyjb4UxWNpoqH65dZUXjeFHvkWeXuGk9Guab/AI6kcDkf5RTdPzmVeEklAfapF1Mf6cbW+z0PLs5vHw9I1NQ==
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=mfl5aoO5MUWWaHA/WpdzJie469bPPnDkWWgRHC511HI=;
 b=bh7EeWzjPhytQtxhmQQLXo5uYqcKgkXWZLGiJFckZOFQm1gMlmt2VDQ4KAORBXazi1GUNqf8d1EufVSjBRweaH4Cgn45DfNHER7cG4xsz9dGuR7pkQYkV6z0niQCBr9+R3c+DWQsEuYLA1VMbgqbvjPrneHMNxxA7n6/i3SiFZE=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <160d6195-3776-428e-a754-686edeb6f4a0@amd.com>
Date: Mon, 17 Mar 2025 12:07:05 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/23] xsm/dummy: Allow XS_PRIV to call get_hvm_param
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.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>,
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-15-jason.andryuk@amd.com>
 <6d6c2a2b-630c-404e-9257-e353464f2400@suse.com>
 <9c4e6e33-6381-47a8-a631-5ded21cf240c@amd.com>
 <ba2b9493-f794-497a-9f5c-1a714bdc79e5@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ba2b9493-f794-497a-9f5c-1a714bdc79e5@suse.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: BL02EPF0001A104:EE_|MN2PR12MB4157:EE_
X-MS-Office365-Filtering-Correlation-Id: e822e7f1-6ea7-4e72-f91c-08dd656dc40b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bms5RUs5S0tialNhQjMyZTh6MWt5c2VFQlFFcEs3alhDOU5sc1htR2Y4Z0xz?=
 =?utf-8?B?cVNya3hEMEd6TDQ4TWwrRHEyTU5zVlZGQ1R2dXo5Vi90cWhYdS85L0UzMkhn?=
 =?utf-8?B?bXNJRWludVBKMkozaFZKMjJ5NDc0UmQ3RER5NGRuejFjKy9UbDNUOXNpYVlU?=
 =?utf-8?B?Uk5KWnpnSTZ0TFZYTlRUc2dEbGJVVEwvdnZ4MXU1eW1DZGVoTDlmekpTZ3I0?=
 =?utf-8?B?MGp4SElZT1IyR2pTc2laekxsR0puVnlqUHQ4c1dNVlFObE1vYXlXdUZRS3BN?=
 =?utf-8?B?UzV3Y0Y3SHpFU1FrbEpxSjh4MGtFR1huMUpSSXV2MlQwdTlzbWo2ZWcxVWk4?=
 =?utf-8?B?eXFDR3NUSFBzOGR2MGZYRldDaTl6cjhpSit1bEpjK3NIQnE5dG9iN1VWQ0pl?=
 =?utf-8?B?UVd4eTFIdXErZEsrbXR5TFg0djZiODRCd1BGTEltczBwR1lRbW84UHk1Q3Fu?=
 =?utf-8?B?dXE3b3VlVnhQRWU5b1U5TmtNdTFtNEsrWnlZZXJNNFZxSG85c0xMZ1ZiZW1S?=
 =?utf-8?B?QlhWbG5UNmNadnBoWE82SHhndmkwY1lBeWlRTllLY3U0R2VTN0gvZDZHRDh6?=
 =?utf-8?B?T2dIUWFEekNKQzdlRmdISElhcUl4bmFLTVBMN0pHTWk3Q3RIS3ByYUVhRHAw?=
 =?utf-8?B?aVc3dTBWZE4xWTdLQW1JMFV1cFZST1I4WjhmZWtpTW9SN25xLzBoNFllc3FT?=
 =?utf-8?B?YkhaUWJndDY5UzhlK3FQdkpLbmVWaHdTOXdyTkFObGtNa2VRaEI4aWMvVGtw?=
 =?utf-8?B?SUlDYzg5cWhSd2lCd2grRlhON0Q1ZEgvSXBCdnVZbzNHNmNaU3Y2a0haVWJz?=
 =?utf-8?B?LzB6TXV2K01IY2Roem1rNk4xQVZIVFFhblVSODBlV2RtcVltR0x1OFdmWGNO?=
 =?utf-8?B?QStDTE0vOG9oRmxid2FWMERhVTdzUlR6dnlneU00TTh1aEFGUzFwRTUxaEoy?=
 =?utf-8?B?dTBzN0VFMy9JKy93NnJUSHlnS2hwNFBSU2FHWXQyUXlKQmt6T2NVZlpldjRs?=
 =?utf-8?B?bFFTNHdINVVSb3plK3NCWWRlOVdoL1FRbjFRdzlQazJ4aXcvV21JZEMwUWV4?=
 =?utf-8?B?SUgveStJeWltNkVUUUROeG11RytYY0psUzBkYnZ5RUJWZ1hRNVN6SEdFQkFv?=
 =?utf-8?B?eFMzRmhDVjZqc2VwOUtIeVRIWGlhU29jcm9mTnNPSTUxYURmQ2QrdzVhUmpo?=
 =?utf-8?B?OGxrZzZ0TTdvL1FtNzNPS1EwMGF2cFY4M29ybmpsb1RKWXExdEVMUmdYYkVX?=
 =?utf-8?B?RUQyb1NnZUJRVDBFeWxFdGpqSTgvcFA4dDh5OFlUVkdjeUhtOEl4MmtIMFZp?=
 =?utf-8?B?RnFJSXh1QjQ2dmVqZFFlUUlIVHJYblFpcmlPR2NNSnRrZFB3M1VSQWRzcmlq?=
 =?utf-8?B?SUhUQ0ZtTWpJL3lySHVHOWdhaDRhd2JweDIwQ2NMQ3piZHczRE13dDdaNkw5?=
 =?utf-8?B?VkJFV2c2WUVIQThIbmdrWDB4WjM1d0x6eVZoam1MQXpKS2hHZVhUSTZLSm1H?=
 =?utf-8?B?N2ZHQ2Z6SGtCTHRGRzkzK2hsMk5nNTlzbVRzYTNNMWkzaGtaak94Mm85dE1E?=
 =?utf-8?B?bXVZTXYycjU4eHpQOEJiZTN3VzV1d3ZFOHVqK1FPd0ljbWxCZ0R1Mlk5QXkv?=
 =?utf-8?B?aUUvOG9rcmtHMkFOMjFOeWtiTnJuWWVMVlZUczN5NEROSnBOMmhuOGFpNEpX?=
 =?utf-8?B?d2llTVJnVGFSNVZxVVdkMlBXK05xRHJSUFA1c29BV3krRDJGRDBQOUo4alFy?=
 =?utf-8?B?NlFGaHlIUUJNenVvWitHR2IzVlU2VHZZRkVzcC9vZFZPQW9FWFQrL1ZCNERC?=
 =?utf-8?B?SW15WWI5RnI1dTk4TDl4OFhWd2pwMkJKQmNyWjd6MXduTWZRWHFsaXNLQklR?=
 =?utf-8?B?SUtraWdKZWUrMUJHdjU3L1ZwRmNicys5SklCY2Q4dzk3d3dPejA5aVdtTU50?=
 =?utf-8?B?OHdhcklvWUJVK0E4dEw0SXN2bjllSVd0Y1VzZ2ZTY0pRQWFNOW5HdVRDcU92?=
 =?utf-8?Q?B+CfTLTnjzk7cU2E4HboC/PqBAj5WM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 16:07:07.0344
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e822e7f1-6ea7-4e72-f91c-08dd656dc40b
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A104.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4157

On 2025-03-17 11:19, Juergen Gross wrote:
> On 17.03.25 15:50, Jason Andryuk wrote:
>> On 2025-03-17 10:18, Jan Beulich wrote:
>>> On 06.03.2025 23:03, Jason Andryuk wrote:
>>>> This is useful for a combined hardware/xenstore domain that will run
>>>> init-dom0less and xenstored.Â  init-dom0less calls xc_hvm_param_get() to
>>>> retrieve the xenstore event channel and pfn to configure xenstore for a
>>>> guest.Â  With a hypervisor-allocated event channel and page, the
>>>> set_hvm_param is not needed, and the normal domid permissions will 
>>>> allow
>>>> xenstored to connect.
>>>>
>>>> Similarly, a hyperlaunch-ed xenstore stubdom needs to read a domain's
>>>> xenstore event channel out of hvm_param.
>>>>
>>>> This allows reading but not modifying the guest, so allow the 
>>>> permission.
>>>>
>>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>>
>>> Since this is exposing the entire param space to Xenstore, what I'm 
>>> missing
>>> is a security discussion for existing as well as potential future 
>>> params.
>>> There could well be some that better wouldn't be available for 
>>> Xenstrore to
>>> fetch.
>>
>> I can't speak for future parameters, but existing HVM_PARAMs didn't 
>> seem sensitive to me.Â  The safest choice is to just pass the index to 
>> xsm_hvm_param() and allow just HVM_PARAM_STORE_EVTCHN (and 
>> HVM_PARAM_STORE_PFN) for the xenstore domain.
>>
>> This works for ARM and x86 HVM/PVH.Â  PV doesn't have a way to 
>> determine a domain's event channel port, FWICT.
> 
> For what are you needing HVM_PARAM_STORE_PFN? The GNTTAB_RESERVED_XENSTORE
> grant id should be enough to map the guest's Xenstore page?

Indeed, HVM_PARAM_STORE_PFN is not needed and I expect only using 
GNTTAB_RESERVED_XENSTORE to map the grant.  I just listed it as a 
compliment to the event channel.

> And with that I'd rather suggest to expand struct xenstore_domain_interface
> with the event channel port and let the component doing the seeding of the
> grant table write the port into the struct.
> 
> This would enable Xenstore to just map the guest's Xenstore page and read
> the event channel port from it. No additional hypercall permission needed.
> And this would even work with PV domains. And as the Xenstore page is 
> zeroed
> initially, any event channel port != 0 could be regarded to be valid (a 
> guest
> choosing to write a bogus value there would just shoot itself in the 
> foot by
> harming its own Xenstore connection).

Yes, that is a good idea.  I had also considered defining a reserved 
event channel for xenstore, but wasn't sure how that would be received. 
I like this better.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:07:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917341.1322286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCzu-00073q-0l; Mon, 17 Mar 2025 16:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917341.1322286; Mon, 17 Mar 2025 16:07: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 1tuCzt-00073j-UA; Mon, 17 Mar 2025 16:07:25 +0000
Received: by outflank-mailman (input) for mailman id 917341;
 Mon, 17 Mar 2025 16:07: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuCzt-00073Q-9Q
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:07:25 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8eddf4e-0349-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:07:23 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id
 98e67ed59e1d1-2ff64550991so2717213a91.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:07:23 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-30153519fefsm6256238a91.12.2025.03.17.09.07.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:07: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: e8eddf4e-0349-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742227642; x=1742832442; 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=zBROt8Wvg39oI6RJKUKBStbr1ifb9ytbzgO6Y+lRt3Q=;
        b=AthWKC3j3ZyhnvAwBBR51P2urNmEFhHYGU+BNqBHhJoIE+Xn1lBcPnScHKGx+c8gG6
         HuVbFS8AugRP4kq1XHjFPAgDYk8uzk1KVArztsjMgaQFfvw66LXT5ufZVG0dj3SryUJ6
         WW/BGzMH0+Y/GdrgQUqBmk9KnDKkxDVdkYoe9hmdQ7Tk1gU4vCuuHSZxDsxrVjzkbFeZ
         wPrhWLmC3Z4B8MnDZmihAkL6mDOhe9oTesOj8hM/b2U/LqPk/Y1G3Pl2/LBCW1DMzz8f
         K0U0NXXtWY1g5IUnYyuKn27Hlxvc2rsnE18fwTotmAEmyiPB7E8tuaRh7d6Skk9A6e+e
         08Gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742227642; x=1742832442;
        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=zBROt8Wvg39oI6RJKUKBStbr1ifb9ytbzgO6Y+lRt3Q=;
        b=WloQ2raYzhgieJr2Fpc0SyqoFhTaGkKvUWxgiP0n6uHCQCNfXrgGmcASkwtJimuJxU
         nf7h+T31Lhqpq+T6XX1qApXD9kp7qCWhtN23ZABq/w+vib8kAcADnFG6sIYFTziNhuZT
         aYyfou1EqMPWVvcebUULPTwhMhPaXkoEpppKf5duAVjRE8yqkJ44y6JbVXQMExX58/gE
         Ky2H8RDQc586//vLEhOaEfmavLUXoiD4vXhvPD+92Fl1oAzRGABCvqfvFIcy68vbQ+e1
         0ptyUiCQxSVWEhXtjWvGMAzDMzqw2yV1XiRckaRqP1osmZMeh8FbFVL+Tu88hZX7eXyo
         Lo5A==
X-Forwarded-Encrypted: i=1; AJvYcCVaCKqGYfHObvW3qxuUdBRN9cmsMDwjN39qSEigxFNwIy/v/JySGZA8oYb9W2RS7bnvhghjWHF1t9o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxAdDWsyFEGxzq5ChtZ8H2ZjZ4yt2a1CklwgorAUKVEKX4/IklM
	I/xNPaRjXMJ6mxNaB76ZpCdHs+i/0OM1tVhmRhTKZsJvoJCtZ4YavxpeqZTi0GY=
X-Gm-Gg: ASbGncuDd7e8gyu7B/5QLtFVupvJVqyjxpZ8JXhSCWihs9F5Oc67e1z66LGHsa4od9d
	Gg5hfP3HWHJipWBvjGZfWNVdLkCSYNiMHk/6/26KfZJxf7WDTbwfnyQe50r+Az7iqEfPzBTNcEZ
	/8RFBVpkSwMJ/2YWOLB0qO8RkIqduveNS8N6m4XJs5J4OqaJpxwcdSb2oih9HJBDAPjVZBWUKEK
	LSx9JCtBnVMzM023ljAtoXigrsiorBdyP+rYgobcmpfX96jAvhLFsmGuAdVrJ0tMW1/92TYyl71
	/K2u1xY9eWHcmk7vKerAiMpegzEjvBSYoNI8l74K0AWUtDbLp97iBNsdNQ==
X-Google-Smtp-Source: AGHT+IGu7JBcnuWnMPBuU7hiTo93qu/WDWnwnWY6VP9EN/eE9EF8eTD0WKyIrv4I/zgNLAfNvjqk7A==
X-Received: by 2002:a17:90a:fc43:b0:2ee:c2b5:97a0 with SMTP id 98e67ed59e1d1-30151d3e018mr16040542a91.25.1742227641697;
        Mon, 17 Mar 2025 09:07:21 -0700 (PDT)
Message-ID: <edc3bc03-b34f-4bed-be0d-b0fb776a115b@linaro.org>
Date: Mon, 17 Mar 2025 09:07:20 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/17] exec/ram_addr: call xen_hvm_modified_memory only
 if xen is enabled
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-12-pierrick.bouvier@linaro.org>
 <ad7cdcaf-46d6-460f-8593-a9b74c600784@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <ad7cdcaf-46d6-460f-8593-a9b74c600784@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xNy8yNSAwODo1MCwgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDE0LzMvMjUgMTg6MzEsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6DQo+PiBSZXZpZXdlZC1i
eTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+DQo+
PiBTaWduZWQtb2ZmLWJ5OiBQaWVycmljayBCb3V2aWVyIDxwaWVycmljay5ib3V2aWVyQGxp
bmFyby5vcmc+DQo+PiAtLS0NCj4+ICAgIGluY2x1ZGUvZXhlYy9yYW1fYWRkci5oIHwgOCAr
KysrKystLQ0KPj4gICAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxl
dGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9leGVjL3JhbV9hZGRyLmgg
Yi9pbmNsdWRlL2V4ZWMvcmFtX2FkZHIuaA0KPj4gaW5kZXggZjVkNTc0MjYxYTMuLjkyZTg3
MDhhZjc2IDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9leGVjL3JhbV9hZGRyLmgNCj4+ICsr
KyBiL2luY2x1ZGUvZXhlYy9yYW1fYWRkci5oDQo+PiBAQCAtMzM5LDcgKzMzOSw5IEBAIHN0
YXRpYyBpbmxpbmUgdm9pZCBjcHVfcGh5c2ljYWxfbWVtb3J5X3NldF9kaXJ0eV9yYW5nZShy
YW1fYWRkcl90IHN0YXJ0LA0KPj4gICAgICAgICAgICB9DQo+PiAgICAgICAgfQ0KPj4gICAg
DQo+PiAtICAgIHhlbl9odm1fbW9kaWZpZWRfbWVtb3J5KHN0YXJ0LCBsZW5ndGgpOw0KPj4g
KyAgICBpZiAoeGVuX2VuYWJsZWQoKSkgew0KPj4gKyAgICAgICAgeGVuX2h2bV9tb2RpZmll
ZF9tZW1vcnkoc3RhcnQsIGxlbmd0aCk7DQo+IA0KPiBQbGVhc2UgcmVtb3ZlIHRoZSBzdHVi
IGFsdG9nZXRoZXIuDQo+DQoNCldlIGNhbiBldmVudHVhbGx5IGlmZGVmIHRoaXMgY29kZSB1
bmRlciBDT05GSUdfWEVOLCBidXQgaXQgbWF5IHN0aWxsIGJlIA0KYXZhaWxhYmxlIG9yIG5v
dC4gVGhlIG1hdGNoaW5nIHN0dWIgZm9yIHhlbl9odm1fbW9kaWZpZWRfbWVtb3J5KCkgd2ls
bCANCmFzc2VydCBpbiBjYXNlIGl0IGlzIHJlYWNoZWQuDQoNCldoaWNoIGNoYW5nZSB3b3Vs
ZCB5b3UgZXhwZWN0IHByZWNpc2VseT8NCg0KPj4gKyAgICB9DQo+PiAgICB9DQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:07:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917343.1322296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuCzy-0007Kg-7p; Mon, 17 Mar 2025 16:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917343.1322296; Mon, 17 Mar 2025 16:07: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 1tuCzy-0007KW-4N; Mon, 17 Mar 2025 16:07:30 +0000
Received: by outflank-mailman (input) for mailman id 917343;
 Mon, 17 Mar 2025 16:07: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuCzx-00073Q-HC
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:07:29 +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 ec1d6d30-0349-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:07:27 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4394a823036so22152585e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:07: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-43d1fd301edsm54590525e9.0.2025.03.17.09.07.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:07: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: ec1d6d30-0349-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742227647; x=1742832447; 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=lV7Sq7NAj36oN66CO5fLVP/HN7Sqr7xO8FhrN96PFrA=;
        b=b8oGcbCJ0Ua5huVgwqiEJCORktx5/poQMc9evzQ0dMSNT7p7KkC+5oVZiHqEkboMyA
         fasjVWWFO7iV2OjRzRuui1y6TfMa3MYdIVp2SQMhJVpunorEG+4BZdUxQcqJZ+lrEho/
         OdwxUDAEWG5r/MESkyQSIV+zRHNCsF+lpIuRQHv74yrUZ+fkM6i5Jf3eKf3nsaZTXqBX
         NDRGOTcrGllX/I4XtUPIA6m9BxU6xAk18r3O1thr9LXQIHTWIjajK4y3JSPN9DqGciDe
         yMUymFlgexn1Hl4xgGGSU2YsLXr5pRga5BZn7PUMDIaI1s1/4wq1paAu+GxvrdCdH+No
         FJUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742227647; x=1742832447;
        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=lV7Sq7NAj36oN66CO5fLVP/HN7Sqr7xO8FhrN96PFrA=;
        b=rX601N/NpR+NCYZBhYEdRRiuJCVgT894fotxhcgESh80NEn6eBMvsIGuqxC9qpNNdb
         dJZS2VqrFCwyqzgca3EuTCWd+IjNHaKM5ZQpu/LmsfnH8Pud6S/Lkf/9RdZrtY7B15l7
         kPfSgD03HlAWHKEbzuPIHm1RHdoFGvRZ6Hi6OwdfRtdaWwBZWqAWPxhSb5f2r4a6VrEP
         duDnv5Uv6x9EBb3terIMgsrGOioI9SfMSCSIMVNOY1tbDL80XSwNgf9FyMMZhxs5uUdc
         xvngsNMIQAR7M0Bz5CHyUUbwgJ1Xb2tsI49jwUcr30n7D/46DLDtYxmbrgTFEAn2kb3c
         YnVg==
X-Forwarded-Encrypted: i=1; AJvYcCXIvEYzCWZjr+CfIJZ0wHD2zIqmhZsUSV/SADIVaxOD8Iod6iomngH741ZHzkqF61cDHfMXK6JAwDg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwsbMeEBF2n+vxHEot1vqmRhgrlwWFBftWFZckOBgdL52ko5HxA
	ujU5VZqDoWnHB4GGjpdkqQmAfL+LSHbdMtjr4Kc2yqS/FBsH3M0uTEWa99Golg==
X-Gm-Gg: ASbGncsdOUh7o662s2/KcVH3Q5iGr2UUKvcGgf/6oOgHQJLmgqsqzcrhLYeIpWY1g68
	6W4EPURobQ6ELOhAJ2HAtjKrLR9oMr41t5fAxTjPAHWyDnQnUF9Rv+4wgEMMcS+9btcMHuhocNs
	nQ45ASf2B//omh5EpgdeVHA/CRjPzG4FX6AfxlFEZuzsT6N5hG5wqwoNYiRyPtCnU7O33WMgnyg
	gfFvfXCDzQ8MdB9oGQ3e35YebWuBfNgs2EYPsFA8nhDZFRB2mZ+L5mur+u4F2UF6Z95k4HfjCxs
	PinuUiHhUVRJv3o2F1NQfBHOsyFc51jkgj/HGdYfWguoJ5KN1YjGQiHqRoeuUiVYletLtpnJdyK
	mr/02iwfslInGHfYnTBh8D+JsfDew+w==
X-Google-Smtp-Source: AGHT+IFHc3r56yyXZthju+gzV8snMZwGrwVB8Tij48FHuRj5/xMJaS3pSo2mtk1mKW0UDD90smESvQ==
X-Received: by 2002:a05:600c:3d16:b0:439:9b2a:1b2f with SMTP id 5b1f17b1804b1-43d389718f8mr4205155e9.3.1742227647234;
        Mon, 17 Mar 2025 09:07:27 -0700 (PDT)
Message-ID: <b33592fb-8532-4580-92e0-5b60fa345e2f@suse.com>
Date: Mon, 17 Mar 2025 17:07:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] drivers: Change find_iommu_for_device function to
 take pci_sbdf_t, simplify code
To: Andrii Sultanov <sultanovandriy@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
References: <cover.1742063500.git.sultanovandriy@gmail.com>
 <47e9f0a75a8bce85af0e53c06c95c25b0a061e3e.1742063500.git.sultanovandriy@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: <47e9f0a75a8bce85af0e53c06c95c25b0a061e3e.1742063500.git.sultanovandriy@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.03.2025 11:08, Andrii Sultanov wrote:
> Following a similar change to amd_iommu struct, change the
> find_iommu_for_device function to take pci_sbdf_t as a single parameter.
> This avoids splitting a single argument into two registers in the majority
> of cases.
> 
> Bloat-o-meter reports (on top of the first patch in the series):
> add/remove: 0/0 grow/shrink: 11/13 up/down: 90/-154 (-64)
> Function                                     old     new   delta
> amd_iommu_get_supported_ivhd_type             54      86     +32
> parse_ivrs_table                            3955    3966     +11
> amd_iommu_assign_device                      271     282     +11
> __mon_lengths                               2928    2936      +8
> update_intremap_entry_from_msi_msg           859     864      +5
> iov_supports_xt                              270     275      +5
> amd_setup_hpet_msi                           232     237      +5
> amd_iommu_domain_destroy                      43      48      +5
> find_iommu_for_device                        242     246      +4
> amd_iommu_ioapic_update_ire                  572     575      +3
> allocate_domain_resources                     82      83      +1
> amd_iommu_read_ioapic_from_ire               347     344      -3
> reassign_device                              843     838      -5
> amd_iommu_remove_device                      352     347      -5
> amd_iommu_get_reserved_device_memory         524     519      -5
> amd_iommu_flush_iotlb                        359     354      -5
> amd_iommu_add_device                         844     839      -5
> amd_iommu_setup_domain_device               1478    1472      -6
> build_info                                   752     744      -8
> amd_iommu_detect_one_acpi                    886     876     -10
> register_range_for_device                    297     281     -16
> amd_iommu_msi_msg_update_ire                 472     448     -24
> parse_ivmd_block                            1339    1312     -27
> _hvm_dpci_msi_eoi                            168     133     -35
> 
> Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>
> 
> ---
>> This avoids splitting a single argument into two registers
> And adds a few conversions into a pci_sbdf_t... these are addressed further
> in the series. - not part of the commit message in case said commit isn't taken.

What is "said commit" here? Everything done in a patch should be in the
commit message. If parts are later dropped, the commit message would need
refining. With the commit message amended (assuming I guessed correctly
that this is about a few secondary changes done here):
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:08:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:08:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917371.1322306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuD0v-0008JK-IH; Mon, 17 Mar 2025 16:08:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917371.1322306; Mon, 17 Mar 2025 16:08: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 1tuD0v-0008JD-Es; Mon, 17 Mar 2025 16:08:29 +0000
Received: by outflank-mailman (input) for mailman id 917371;
 Mon, 17 Mar 2025 16:08: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuD0u-0008Ik-9u
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:08:28 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e73fc58-034a-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:08:26 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-22423adf751so75947665ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:08:26 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-af56ea7c718sm7406992a12.62.2025.03.17.09.08.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:08: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: 0e73fc58-034a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742227705; x=1742832505; 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=mzbTl5nkQKFBnmZRI2ae2XnEho9KAwozFu9d7AODj48=;
        b=h1Szs6Fmc2ZEl3pTHGigpWSH6lwxmtMLnheZ/gbcnJX4vYC0z0XGh4y5y5kTfJbH2U
         mOuCGtZi8C0JeYTUvdS6zYwUFV1b42742a9qFnfdQ1damQzN936u8SEQeh1ykZVk+xN1
         2zWOf2uDlU7CnsyXmeaujcaEvdAFLCl8Rl1hgKzjtYbHHb491ANnVOsNUV6435zTJne8
         atholHhTfD0h9IVQRfLKlZw/xW5MDKqEtJxbEgJxKjz2kk2GyMHfHUMdLaeijm9c5S/e
         HyHKOQvfGJP2j5/mHDkY8uzqjVjFmhL+Zyrf2WeUqmAoIJ/rD3douLoRgTUcks/epCPt
         icug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742227705; x=1742832505;
        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=mzbTl5nkQKFBnmZRI2ae2XnEho9KAwozFu9d7AODj48=;
        b=CezN5ftSvfikjObttFvSUdRfN+5GTbIslbUBXZ8t58JtZ+Q0ifTReo50KQbFU2F3pO
         tm4Cz/PR8VRDncwArCdbJBJ6paTUi2XD/34ActzHaOkzD3HNZHZys6FznC7NY4QsFHMe
         E6V4N/BQssJVzayDwOzXYEE3UTzLFjLCCNK9h1cYYQeE59vr/pA31HvWEPukGCligLvT
         0ofQr98sNCBrRt1/VsEGpy85yU+T4F4h6gedKJEzuEYC0NN9GvUdwXWr0cnle3jsea+e
         KTT25UqO9dHu4JE2PgejkaOHFbHkpMzoqWRN8F4fQviqtcUQW0FV9QI/ZCslzxYnYyrV
         9r9A==
X-Forwarded-Encrypted: i=1; AJvYcCXpP7Ij9+1jVfYgmRp10QCP7gpsFaQMMfJb3kHsQ5zX1b7JeGJTEcWfIERdnyuZtBNfGr/JJ4CVs0Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyn0xxkCy+JemRwCRGVcfmyvbRbJ3VYbdDvLlYYkdddXwLdKKYP
	O6q3Ib4wy5f3w80ZiZnb0egTMeAe3JZJ4Qm1uUMNi5bLL8N4lIOr0NNnTyh51g4=
X-Gm-Gg: ASbGnctb9aJXTVlWzeb66F5ub/7u56i0fcKDX0HTQ2XPfIWOIUPOb87bdSZiUW9CPKL
	Yw+TLCbDIdUFx7FjvF+BYgei/S92yfZEVKZ640pmZ1yk6hBWzFhGR8nYRnlPh+xfT9i9rygS+M9
	CkSk45wldZHEqOVN9OQFs8bPSPTAO/bM8/Q/VqS0Bb7Z9HpGTWHpP1h2CxEeuAYrokePgdlSl33
	8552mQntCLJvztuE5HlJaRkQe+tNyQpyC7/a9v05KBnJul2s3kMz9SbdkF2cR67l2r4q9bqmbte
	lRoHRCE7nFHlxq86bLUc/uIBizrYIjLtOs8uDQy6E+RwJ8Yjc7HB6IBdug==
X-Google-Smtp-Source: AGHT+IF6KgkWQt4kB3+J3NVrqV33E3W11zYKhfEgS1LyTWV2K7KDq8lWeWA7BEGG4QAbFg5GBaiRXg==
X-Received: by 2002:a05:6a20:cf8a:b0:1f5:80a3:b006 with SMTP id adf61e73a8af0-1f5c1201c3fmr19005019637.21.1742227704759;
        Mon, 17 Mar 2025 09:08:24 -0700 (PDT)
Message-ID: <7430b4de-284b-46b9-b29d-f018d0639431@linaro.org>
Date: Mon, 17 Mar 2025 09:08:23 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 05/17] exec/memory.h: make devend_memop "target
 defines" agnostic
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-6-pierrick.bouvier@linaro.org>
 <d5e2aa98-5b9c-4521-927f-86585b7b2cfa@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <d5e2aa98-5b9c-4521-927f-86585b7b2cfa@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xNy8yNSAwODo0OCwgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDE0LzMvMjUgMTg6MzEsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6DQo+PiBXaWxsIGFsbG93
IHRvIG1ha2Ugc3lzdGVtL21lbW9yeS5jIGNvbW1vbiBsYXRlci4NCj4+DQo+PiBSZXZpZXdl
ZC1ieTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+
DQo+PiBTaWduZWQtb2ZmLWJ5OiBQaWVycmljayBCb3V2aWVyIDxwaWVycmljay5ib3V2aWVy
QGxpbmFyby5vcmc+DQo+PiAtLS0NCj4+ICAgIGluY2x1ZGUvZXhlYy9tZW1vcnkuaCB8IDE2
ICsrKystLS0tLS0tLS0tLS0NCj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo
KyksIDEyIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2V4ZWMv
bWVtb3J5LmggYi9pbmNsdWRlL2V4ZWMvbWVtb3J5LmgNCj4+IGluZGV4IGRhMjFlOTE1MGI1
Li4wNjkwMjFhYzNmZiAxMDA2NDQNCj4+IC0tLSBhL2luY2x1ZGUvZXhlYy9tZW1vcnkuaA0K
Pj4gKysrIGIvaW5jbHVkZS9leGVjL21lbW9yeS5oDQo+PiBAQCAtMzEzOCwyNSArMzEzOCwx
NyBAQCBhZGRyZXNzX3NwYWNlX3dyaXRlX2NhY2hlZChNZW1vcnlSZWdpb25DYWNoZSAqY2Fj
aGUsIGh3YWRkciBhZGRyLA0KPj4gICAgTWVtVHhSZXN1bHQgYWRkcmVzc19zcGFjZV9zZXQo
QWRkcmVzc1NwYWNlICphcywgaHdhZGRyIGFkZHIsDQo+PiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90IGMsIGh3YWRkciBsZW4sIE1lbVR4QXR0cnMgYXR0cnMp
Ow0KPj4gICAgDQo+PiAtI2lmZGVmIENPTVBJTElOR19QRVJfVEFSR0VUDQo+PiAgICAvKiBl
bnVtIGRldmljZV9lbmRpYW4gdG8gTWVtT3AuICAqLw0KPj4gICAgc3RhdGljIGlubGluZSBN
ZW1PcCBkZXZlbmRfbWVtb3AoZW51bSBkZXZpY2VfZW5kaWFuIGVuZCkNCj4+ICAgIHsNCj4+
ICAgICAgICBRRU1VX0JVSUxEX0JVR19PTihERVZJQ0VfSE9TVF9FTkRJQU4gIT0gREVWSUNF
X0xJVFRMRV9FTkRJQU4gJiYNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0Vf
SE9TVF9FTkRJQU4gIT0gREVWSUNFX0JJR19FTkRJQU4pOw0KPj4gICAgDQo+PiAtI2lmIEhP
U1RfQklHX0VORElBTiAhPSBUQVJHRVRfQklHX0VORElBTg0KPj4gLSAgICAvKiBTd2FwIGlm
IG5vbi1ob3N0IGVuZGlhbm5lc3Mgb3IgbmF0aXZlICh0YXJnZXQpIGVuZGlhbm5lc3MgKi8N
Cj4+IC0gICAgcmV0dXJuIChlbmQgPT0gREVWSUNFX0hPU1RfRU5ESUFOKSA/IDAgOiBNT19C
U1dBUDsNCj4+IC0jZWxzZQ0KPj4gLSAgICBjb25zdCBpbnQgbm9uX2hvc3RfZW5kaWFubmVz
cyA9DQo+PiAtICAgICAgICBERVZJQ0VfTElUVExFX0VORElBTiBeIERFVklDRV9CSUdfRU5E
SUFOIF4gREVWSUNFX0hPU1RfRU5ESUFOOw0KPj4gLQ0KPj4gLSAgICAvKiBJbiB0aGlzIGNh
c2UsIG5hdGl2ZSAodGFyZ2V0KSBlbmRpYW5uZXNzIG5lZWRzIG5vIHN3YXAuICAqLw0KPj4g
LSAgICByZXR1cm4gKGVuZCA9PSBub25faG9zdF9lbmRpYW5uZXNzKSA/IE1PX0JTV0FQIDog
MDsNCj4+IC0jZW5kaWYNCj4+ICsgICAgYm9vbCBiaWdfZW5kaWFuID0gKGVuZCA9PSBERVZJ
Q0VfTkFUSVZFX0VORElBTg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgPyB0YXJnZXRf
d29yZHNfYmlnZW5kaWFuKCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIDogZW5kID09
IERFVklDRV9CSUdfRU5ESUFOKTsNCj4gDQo+IFVubmVjZXNzYXJ5IHBhcmVudGhlc2lzPw0K
PiANCg0KTm90IHN0cmljdGx5IG5lZWRlZCBpbmRlZWQuDQpDb2RlIGlzIHJlZmFjdG9yZWQg
aW4gcGF0Y2ggMTQgYW55d2F5cy4NCg0KPj4gKyAgICByZXR1cm4gYmlnX2VuZGlhbiA/IE1P
X0JFIDogTU9fTEU7DQo+PiAgICB9DQo+PiAtI2VuZGlmIC8qIENPTVBJTElOR19QRVJfVEFS
R0VUICovDQo+PiAgICANCj4+ICAgIC8qDQo+PiAgICAgKiBJbmhpYml0IHRlY2hub2xvZ2ll
cyB0aGF0IHJlcXVpcmUgZGlzY2FyZGluZyBvZiBwYWdlcyBpbiBSQU0gYmxvY2tzLCBlLmcu
LA0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:12:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:12:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917385.1322315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuD4M-0002LH-3X; Mon, 17 Mar 2025 16:12:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917385.1322315; Mon, 17 Mar 2025 16:12: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 1tuD4M-0002LA-0r; Mon, 17 Mar 2025 16:12:02 +0000
Received: by outflank-mailman (input) for mailman id 917385;
 Mon, 17 Mar 2025 16:12: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuD4K-0002L4-V8
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:12:00 +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 8d939120-034a-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:11:58 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso25187605e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:11: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-395c83b6b2bsm15054097f8f.26.2025.03.17.09.11.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:11: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: 8d939120-034a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742227918; x=1742832718; 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=4F+LVzacmqpZxShYt9wm1XuMoIepTIMa6D7FRzUdidI=;
        b=BzPV/qLXWWlgVuEnEO3Y3ejnHcmcSdpn+QfWVtcqvQTHVEjn8ANGxg4CNIPREJ9XBU
         BUKX2G/bQX71xTIaYPOVZxZBJcbzX113AsTbSFIde4W2JabLkJcol/UsPP2YKXyw9aMS
         m6XR/irSfYWizqXnavqWs+WRt4oeTJmcTJ64bP/KO2BamPHyGszo1oUMjMJq/Dg9DeLK
         fw5wYjUP7q3eNVAP8nNI0dEPqp1RBPczx8Va+TDQBP4H19ojlhbayp9vhUcgvDEOWU1d
         KGn3Yfwbg05/S2ZaKf4OKRgY1MGYx4Bdmn8g98ydwPayrbs9vjR41e6CCtqjhuzOG50U
         AXwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742227918; x=1742832718;
        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=4F+LVzacmqpZxShYt9wm1XuMoIepTIMa6D7FRzUdidI=;
        b=JJwNq/vO5fnVYueKMJHaAyVRiEt9BcQGrHWuiL553eH5FkPlTaRH1h+ehW4964b7S9
         vbrXsTu3PedBZfDS2THlCqRkMv6Uwg2RSv4brpfgWx9PcxYY4oZpUgQsVNn5cIp/7DsS
         fpD/YIDFELHK+5CNSjNdo1/juY/YAoKDszaYv8O7vq/ZCHCFJuUN8YTzgXJQ+3ni9e0e
         THGO5fcDZlLtZbQwjXj8vRJbHWm3AXQ8WlHKxPF8QYnINaM8a3cgSTnSN0q3RJ0ac6oV
         fLX7drrapcG246Xw0VJXGXHNuiF6lRsz1KbZNwABV5HiqdfJc9jyWBQFbVrc7kHevzfz
         u4jg==
X-Forwarded-Encrypted: i=1; AJvYcCWn533Almdm5rx4cKDj7DABORr+i5r+6ZsCPZQ4MO3o7ar4PH2+4U670Qo+tdaMymQGChsv9xaZEO8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxNcxyBiLkp/MnyjE0HhtXHSr8JU5/w4T1PfgWu7JMwGt5icdNq
	vUnwaA6mWoHJv3NcFGaubU6VjA1Z1FjzkVK62doocGZBVz0GypX2XjdJutzklA==
X-Gm-Gg: ASbGncvNo2a+atZRk+3DRHFG8kObrawf8kMlAi2iTwNKd6510TzbV9iH8Dwc4W88meM
	BX/0uWiYgbsS8YXQG0ieNvi4QaeqyH0v9BO4DRiIZAG72Wz86u2Lb2e8lTq+5a/TVo/6fJY3D60
	V5DAmwLDRxxyHy905W6caapo1mC3Ocx+t7+UwDr/boF04nLy3H3tvpIXOmhqE+7o5ji9+eI4sNp
	nYbLaK/2VbyTSiXK9r5eMbI5WZiBMkX1GA+ricZDeG5D7RUmLFaw2KcW3Pf8SlVDEXJ1p54+EQG
	Sm9i4aVMfbeTXH75XNG7YjxPyfzDmQyuVD5s5AuPqLVquvm+lS0mmeb9EemjyhkCKoiANVDpLGM
	ZCkBUmP7Y3JYZh/MsxySVnYiR4jEfTQ==
X-Google-Smtp-Source: AGHT+IEscnWH5lMRDQ+U93VedoGbFGVD8pRyJHeNR8zrIhxx/sO3DVlRjc42XbxA6NJUsQyABbt/KQ==
X-Received: by 2002:a05:6000:156a:b0:391:41c9:7a8d with SMTP id ffacd0b85a97d-3971fadd7d5mr14610547f8f.54.1742227918061;
        Mon, 17 Mar 2025 09:11:58 -0700 (PDT)
Message-ID: <8d96f12b-c780-4aea-92a4-5034d1c5c7f6@suse.com>
Date: Mon, 17 Mar 2025 17:11:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: S3 regression on AMD in 4.20
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Mykola Kvach <xakep.amatop@gmail.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl> <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
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: <Z9hGH0GLq-I1cKzt@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.03.2025 16:56, Roger Pau MonnĂŠ wrote:
> On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
>> On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
>>> On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
>>>>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
>>>>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
>>>>>>
>>>>>> This one has working S3, so add a test for it here.
>>>>>>
>>>>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>>>>>> ---
>>>>>> Cc: Jan Beulich <jbeulich@suse.com>
>>>>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
>>>>>>
>>>>>> The suspend test added here currently fails on staging[1], but passes on
>>>>>> staging-4.19[2]. So the regression wants fixing before committing this
>>>>>> patch.
>>>>>>
>>>>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
>>>>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
>>>>> We could commit the patch now without the s3 test.
>>>>>
>>>>> I don't know what the x86 maintainers think about fixing the suspend
>>>>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
>>>> I'm on it already, but it's annoying. Lets convert this thread to
>>>> discussion about the issue:
>>>>
>>>> So, I bisected it between staging-4.19 and master. The breakage is
>>>> somewhere between (inclusive):
>>>> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
>>>> and
>>>> 47990ecef286 x86/boot: Improve MBI2 structure check
>>>>
>>>> But, the first one breaks booting on this system and it remains broken
>>>> until the second commit (or its parent) - at which point S3 is already
>>>> broken. So, there is a range of 71 commits that may be responsible...
>>>>
>>>> But then, based on a matrix chat and Jan's observation I've tried
>>>> reverting f75780d26b2f "xen: move per-cpu area management into common
>>>> code" just on top of 47990ecef286, and that fixed suspend.
>>>> Applying "xen/percpu: don't initialize percpu on resume" on top of
>>>> 47990ecef286 fixes suspend too.
>>>> But applying it on top of master
>>>> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
>>>> but the failure mode is different than without the patch - system resets
>>>> on S3 resume, with no crash message on the serial console (even with
>>>> sync_console), instead of hanging.
>>>> And one more data point: reverting f75780d26b2f on top of master is the
>>>> same as applying "xen/percpu: don't initialize percpu on resume" on
>>>> master - system reset on S3 resume.
>>>> So, it looks like there are more issues...
>>> Another bisection round and I have the second culprit:
>>>
>>>     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
>>>
>>> With master+"xen/percpu: don't initialize percpu on resume"+revert of
>>> 8e60d47cf011 suspend works again on this AMD system.
>>
>> That's not surprising in the slightest.
>>
>> Caching hardware values in Xen isn't safe across S3, which QubesOS has
>> found time and time again, and for which we still have outstanding bugs.
>>
>> S3 turns most of the system off.Â  RAM gets preserved, but devices and
>> plenty of internal registers don't.
> 
> I think I've spotted the issue.  enable_iommu() called on resume
> (ab)uses set_msi_affinity() to force an MSI register write, as it's
> previous behavior was to unconditionally propagate the values.  With
> my change it would no longer perform such writes on resume.
> 
> I think the patch below should help.
> 
> I wonder if we should unconditionally propagate the write from
> __setup_msi_irq(), as it's also unlikely to make any difference to
> skip that write, and would further keep the previous behavior.

That might be better. In fact I wonder whether it wouldn't better be
callers of write_msi_msg() to use ...

> ---
> commit 1d9bfd0d45f6b547b19f0d2f752fc3bd10103971
> Author: Roger Pau Monne <roger.pau@citrix.com>
> Date:   Mon Mar 17 15:40:11 2025 +0100
> 
>     x86/msi: always propagate MSI writes when not in active system mode
>     
>     Relax the limitation on MSI register writes, and only apply it when the
>     system is in active state.  For example AMD IOMMU drivers rely on using
>     set_msi_affinity() to force an MSI register write on resume from
>     suspension.
>     
>     The original patch intention was to reduce the number of MSI register
>     writes when the system is in active state.  Leave the other states to
>     always perform the writes, as it's safer given the existing code, and it's
>     expected to not make a difference performance wise.
>     
>     Reported-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>     Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed')
>     Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
>  {
>      entry->msg = *msg;
>  
> +    if ( unlikely(system_state != SYS_STATE_active) )

... this condition as needed. Conceivably there might be cases where even
during resume writes aren't always necessary to propagate to hardware.

Jan

> +        /*
> +         * Always propagate writes when not in the 'active' state.  The
> +         * optimization to avoid the MSI address and data registers write is
> +         * only relevant for runtime state, and drivers on resume (at least)
> +         * rely on set_msi_affinity() to update the hardware state.
> +         */
> +        force = true;
> +
>      if ( iommu_intremap != iommu_intremap_off )
>      {
>          int rc;



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:17:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917401.1322325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuD9W-0003kj-MD; Mon, 17 Mar 2025 16:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917401.1322325; Mon, 17 Mar 2025 16: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 1tuD9W-0003kc-JM; Mon, 17 Mar 2025 16:17:22 +0000
Received: by outflank-mailman (input) for mailman id 917401;
 Mon, 17 Mar 2025 16:17: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuD9U-0003kW-HX
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:17:20 +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 4c25fd92-034b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:17:18 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso25239875e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:17: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
 5b1f17b1804b1-43d2bb5f987sm54728735e9.24.2025.03.17.09.17.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:17: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: 4c25fd92-034b-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742228238; x=1742833038; 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=VgH47IMTEeiUqKRelK2afkBy3BVJidm/2lK9JkBNksA=;
        b=fWjR4U+6Y1h/EO+Y7eVXXJzytTJPr4qjeucVIGh3V4gexmnBn7Cz332UdiSBAc0T2A
         J7Png5c+7EzGM0xkll7EJ58NysnJxA0jMuw/nSzzsvXxBT/mNnB4+/kQtTcz6ywT1ASz
         ZTo5hS6qnakaedWBE+CeGfhAC2usRrvFE1nbNwXTtQr6QzUW8Hx78grvleBNJj9ddqO7
         dCFwEP/310ml4J+TITdi78prksnCSCeDpNgZweGPPJsbwxyWHFFoBQWwFockwh82PIo2
         xKJQt2ZrNcDQhXC+LKBQ9/C/FpeL5WTrRof1GZVDFWcaO9452fyhpeHBBxEkrAt3mmZD
         EiAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742228238; x=1742833038;
        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=VgH47IMTEeiUqKRelK2afkBy3BVJidm/2lK9JkBNksA=;
        b=aYc43MSLTA080/opItSCDmAEjs6/FGKzstMkJVWN0dX5YTnN4ZUOWVoLkbjdsTH9sD
         0ixFZShIKrm57yY4Orju5oD0midxKX7LxFqof7ElNRGJt77z+k70z/gEyhe0ek7MxbR7
         Vu09gOf8ifemYflwTbdV/x/D46Nko2+5K2JjHwo9dDWXvc01Ksw4/1GDMJv7hGGcsBwd
         sMMm0V9AAirpCBFYsurzszJc5C0bngl9TskEgcl1pqN6Gv8FtCfFo7iqpGo+AZycRwRv
         FiQdRg8qIL9IFHxmM0nUDZIvUcVayAkpiLAorJ+tcpAl/xtdrSMw2uiub70b3zzoqlDL
         kYGQ==
X-Forwarded-Encrypted: i=1; AJvYcCXlJPpIIFLK9PVvJnB2hBzIcVEOSzvAh+x/WbtScA2O+8CGLYKUABCjhlxiRJCFYvZ/LRoSdX/6p/Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6/7ZdzxwAZBqRgimjkKFgaObunrouzOZxbyoODProGn69jiQK
	5ZsNdSU9bw478IQ2YVJ3xuBxlnqtgvenZNeRNuaI6Nyz0cOsEIX2ddUqXA87mA==
X-Gm-Gg: ASbGncujH/iVMBU/ZlbmDX4jikf0F5mEd/KvSCA9H33KbFgFnhbBhHG7W8ONPyYSxkm
	EsUb44EQHCFpU1ckU1KIgJpFcGyQ1fgfFLJ3EyuaNP6O56Ua8876e74Gr09nlv3wFnnyDTZvVif
	1dbbfDrTwHQI3llx6Qx8JBunDg0ktv9NrO8hMFgGKzre0ZaQ9MJROxb9h5oH5RqtdndGLDA0mIb
	XcD8MpR26DlCi+rfJ9ayoqvlchpG7M+vPaCq8tIfDEiF67r8Z6M+2bvpsfVWlHv1rU9ttFXHI9p
	ZnYJu3b4Yy1ABbXY1A6EonMZXL/eTdhqzdHkiuGcZ+S4VA6vExltk3EbD7hUdzxkVhDsSVqJ6gn
	f9CdHeRYzuddYaHQqfHkjoG7im2QoncQxaxDEfyDF
X-Google-Smtp-Source: AGHT+IEb0smSXMzcaisFO77azjoVodEt+VvAn9+Y8gMiG47+ZLFsOsDtq/GFokoBw0WFZ1Xm5nS5+A==
X-Received: by 2002:a05:600c:35c6:b0:43c:f81d:f with SMTP id 5b1f17b1804b1-43d1ec80fb4mr124156075e9.8.1742228237918;
        Mon, 17 Mar 2025 09:17:17 -0700 (PDT)
Message-ID: <6d1d75f5-2884-4e93-b4e2-3ea9c2f4b6a4@suse.com>
Date: Mon, 17 Mar 2025 17:17:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/3] drivers: Make ioapic_sbdf and hpet_sbdf contain
 pci_sbdf_t
To: Andrii Sultanov <sultanovandriy@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
References: <cover.1742063500.git.sultanovandriy@gmail.com>
 <3dfb3e32d06f204f9eb2087ea0d570140c95feda.1742063500.git.sultanovandriy@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: <3dfb3e32d06f204f9eb2087ea0d570140c95feda.1742063500.git.sultanovandriy@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.03.2025 11:08, Andrii Sultanov wrote:
> Following a similar change to amd_iommu struct, make two more structs
> take pci_sbdf_t directly instead of seg and bdf separately. This lets us
> drop several conversions from the latter to the former and simplifies
> several comparisons and assignments.
> 
> Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>
> 
> ---
> 
> This particular commit does not have any effect on code size:
> add/remove: 0/0 grow/shrink: 2/6 up/down: 96/-96 (0)
> Function                                     old     new   delta
> _einittext                                 22092   22156     +64

I'm puzzled by this: _einittext being last (and not itself a function);
how can it grow? What follows it (as per the linker script) is
.altinstr_replacement, yet I wouldn't expect that to change in size.

> --- a/xen/drivers/passthrough/amd/iommu.h
> +++ b/xen/drivers/passthrough/amd/iommu.h
> @@ -268,7 +268,13 @@ int cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc);
>  void cf_check amd_iommu_dump_intremap_tables(unsigned char key);
>  
>  extern struct ioapic_sbdf {
> -    u16 bdf, seg;
> +    union {
> +        struct {
> +            uint16_t bdf;
> +            uint16_t seg;
> +        };
> +        pci_sbdf_t sbdf;
> +    };
>      u8 id;
>      bool cmdline;
>      u16 *pin_2_idx;
> @@ -279,7 +285,14 @@ unsigned int ioapic_id_to_index(unsigned int apic_id);
>  unsigned int get_next_ioapic_sbdf_index(void);
>  
>  extern struct hpet_sbdf {
> -    u16 bdf, seg, id;
> +    union {
> +        struct {
> +            uint16_t bdf;
> +            uint16_t seg;
> +        };
> +        pci_sbdf_t sbdf;
> +    };
> +    uint16_t id;
>      enum {
>          HPET_NONE,
>          HPET_CMDL,

Oh, yet more fragile aliasing. No, please don't. Just have a single pci_sbdf_t
there.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:17:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:17:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917406.1322336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuD9u-0004Ch-T8; Mon, 17 Mar 2025 16:17:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917406.1322336; Mon, 17 Mar 2025 16:17: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 1tuD9u-0004Bv-Qb; Mon, 17 Mar 2025 16:17:46 +0000
Received: by outflank-mailman (input) for mailman id 917406;
 Mon, 17 Mar 2025 16:17: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=J4wc=WE=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tuD9t-0003kW-NX
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:17:45 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20629.outbound.protection.outlook.com
 [2a01:111:f403:2414::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a6d538c-034b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:17:43 +0100 (CET)
Received: from DS7PR03CA0296.namprd03.prod.outlook.com (2603:10b6:5:3ad::31)
 by PH7PR12MB6762.namprd12.prod.outlook.com (2603:10b6:510:1ac::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 16:17:39 +0000
Received: from DS1PEPF00017099.namprd05.prod.outlook.com
 (2603:10b6:5:3ad:cafe::16) by DS7PR03CA0296.outlook.office365.com
 (2603:10b6:5:3ad::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 16:17:39 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF00017099.mail.protection.outlook.com (10.167.18.103) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 17 Mar 2025 16:17:39 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 17 Mar
 2025 11:17:38 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 17 Mar
 2025 11:17:38 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 17 Mar 2025 11:17:38 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a6d538c-034b-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lAlZZAnuI0IqR8CFEG8P+xvMjZUKdnWmv0HpRyGfujzsS3ejx13kChd8WdZnsQzzcAktGsg2FPIpCa+9AMtMHL1E2qVk0Iczl6A2jxwgbkldqCNL7lnWBkoTbDo7jrrxXndKJgwZ+8pN9mtTHCjr9gYCXiMrEWCs594Q9PvRtOQMn8IX5IweIDkRpyHAvA4lShz5wOwvLisEYSYMtSXdD2Dhag6Kjdkece0LN/ICzmukGRPewJpoaPzz/R1olAN4mss/PFeOkK85btM+SQKEZy2zA7xfnNxzKf7mz6jev3Izd0dwY40g+82Yuh2AZkdfraiVsFttHZCsBekVt9/O+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=Z4Q49e6FKtUlrxzhZWKmKEd+5xhJlzAh4n8emjo78ZE=;
 b=hIl5KMpgCNewm6idemCYVTIXS1bErRxDrzCSZUDbQDzakfFND3nT9B7sZGybXeuUhYZp+6ee7tlIxH9h5dbcihe6Vl/H/aHc+2zylpFEyotkyyc/zhY0W8oIiNyt46p1qeo3ugAbm8ayBbMBYek+Hyl44GUf36rp/DmLwLKBbLc3cCznL/ZdoCoGXdoxnslP6S17rsMCYBlCj6DqYEiyAbVatNkZdvl3sYoBMzgev9g9J/EHO+4JOLMFNPb3tvqQ7mBikGxR8KnINz1HRPu0Ys+PROf5ez/faLcO0nwhkQEI3H1rveCr/xMf+rHvQXCyEVOj1yIKxaxLwD9xIbYbSQ==
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=Z4Q49e6FKtUlrxzhZWKmKEd+5xhJlzAh4n8emjo78ZE=;
 b=sSSM3yJUlpiac/4+YZQIEJgEbnhTMlRgPbBC00/Q6wOvtiEXkaLympuMr8d62+uCDwYOyG/RnbbVLIwvFGG/KyjLSwl+F+IF5zB2gU1xvP1DKYwX/jrpIaEa3k9K3eG3RkGuNx1BOkZGoRRkq42qjXFhYccJbxlSexAk4hO6Avw=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <a89753a3-c8e4-49fa-bb4d-744ba16581d6@amd.com>
Date: Mon, 17 Mar 2025 12:17:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 17/23] xsm/dummy: Allow hwdom more - except targeting
 control
To: Jan Beulich <jbeulich@suse.com>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-18-jason.andryuk@amd.com>
 <66291536-a164-48a6-ab3e-304dc6035ed6@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <66291536-a164-48a6-ab3e-304dc6035ed6@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: DS1PEPF00017099:EE_|PH7PR12MB6762:EE_
X-MS-Office365-Filtering-Correlation-Id: f24f5671-8e4f-4dd2-46b6-08dd656f3cd8
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:
	=?utf-8?B?c09GaVJjUzhtbEs5R2w5Z3VFMHV0MVZ5MWtwYjUzMnI0RmVhVytZdFB3Vkhk?=
 =?utf-8?B?b20vR3FQVHYwakJnb1lmdnpVUnRvZ0xrTG5rcWhEK1U4YW5uYnJqU3ZoS0tX?=
 =?utf-8?B?TzA0TkFiQlVXUkJHRkozUXRhSjhhVXluRjBGaXRwcXNHaGZHZzIvWEJicnRB?=
 =?utf-8?B?b0JGK21HTmxHbEF1VWJ3eTVnTzlZb1ZHM0FyakVoT01wLzhmWWt2NFA3cS9p?=
 =?utf-8?B?cU9KRkVmRWlabmFmVW8vcHZsanFmNVVTQjRTUWZSa0hBeW5Ram53Rnk3RGl5?=
 =?utf-8?B?bXRHQzlWQ1Y5ZW1uWk81UjZaZUhBU2JrN25RcW4xR2tTVHBSeUpYNTZlcm5E?=
 =?utf-8?B?RnlXTTQ2L0Y5YlBJalpJaXgvdWtHWGpkQVVCMUt4VE1lYkRrbEFobHVrVDJO?=
 =?utf-8?B?ZkgxV3ovcVJqa01VaktHZzJQSmZUakVIMWFQNlY5NFBITjZ2aTFUU2IxZWNr?=
 =?utf-8?B?WHBjZmlmekNxVVNnQ0FSTmZDM2dabFlBQmlpZ2FkT0ozTS9BL21JRXlhZGMy?=
 =?utf-8?B?QXhaSmZOZ3QvMWxCaGRwUk11b2hMcXNlQ2Yzb0JqLytQdkxlSmtSV2QvYjVo?=
 =?utf-8?B?VFZnMlFvN1JGQmZKeTNBZ0h6UHZHLzFsSTQzKzlrUElMZVRrNEdMRUZ2aFl0?=
 =?utf-8?B?cFdFa2xVLy9tUDQ2VTZzRDltcll1ZUxEM2lYM1FKZnFMTEdrK1dZYTJxSUpo?=
 =?utf-8?B?ZjBtZFgyNXNPODIrc0xzd2lIYmI3VGo1Z05LUWx3dE03bjBKcjJFcnNTalJy?=
 =?utf-8?B?NE1zWnBtVzdrc2ZJazdCeEhUdjdEbEhvakZzYVc5ejNFQlFiZklra0w3RzJr?=
 =?utf-8?B?OUVTbHZKdWdGbTI3TzlHSmhVaG9kcmcrNENSMHRXSC81aGVUVWJCTHJBOGdF?=
 =?utf-8?B?YVR4bHcrR3NwSU1HTlFlWk1SR2xOSFlzWGl4cnpPZWVNZG9sOVpCZmNWVUZY?=
 =?utf-8?B?UG11UThpYWFlNHZvT1RFNGZiQkRhc09BZExMZ2gwMFI5ZXlYd3FGSHlKcVFI?=
 =?utf-8?B?Y1pya3lxVldPNGoyVVAvdFcvYnQzeFc2Vzd1K2pIOXR1cXEzVkVqVUVVaFVH?=
 =?utf-8?B?WFFJNnUweWNqSWltZjdncFlOUFJCRTVSVy82dXhSU3VaR2x6VHJ2cUl5bVUr?=
 =?utf-8?B?VS8xUjlBTjZxci83MGQyNkpWemRFUkRuMHlWQ1plNkJIcmpMMTAzZXMwbExW?=
 =?utf-8?B?K0lWUTk1bEhOSExRSWt5MzZiS1dFUVd0VnkwQlFpZmF4UjREWk1tWTdJbzJV?=
 =?utf-8?B?T0luZFVzVjFPNWlkRGpYYjlNN1N1VGdSQnA5dmwyMDFSY1NLRitaUUIwb3Uz?=
 =?utf-8?B?eW1FZ0I4cWFFWjg1QzI2UVVTSkxKUU4xTFhaOGdwTm5yR293Z0JmeFYxVTFR?=
 =?utf-8?B?Nyt0RGFuTnpUVDF2aUR0dElTMlhHZy9CQjhUcnFiWEh1R0pBbEpocVE3VnBO?=
 =?utf-8?B?NFp4dWdmalZRVVlNQkF4UmNkY290UzZza0hpVFlxalZlT1JTMENsbXd0aWww?=
 =?utf-8?B?dzBlZ2g5cWdWaEJWd3I3cXlRY3psbUtjbk5ZaXJmY2Z1S01pNVlpVFRENEQy?=
 =?utf-8?B?WnNKazJ3N2dpS0J3ZGY4a0liZWdFOU9FbGU3TU5Ja2UrYkNONGJWck1yZXNr?=
 =?utf-8?B?aEJNR1pweDZjOXpLdERXVzZJc0FtNzloaktobzFmMlE5Q0d6RlM1QVZEMEJF?=
 =?utf-8?B?MS9LelFCYlhsZk0wbTU5aWxSOTd4a2Z1SU9MN2wzd3BiYjJuVGkyZVpiOTE4?=
 =?utf-8?B?azNtMUhwRzBtM2NUS0VIa1dzYjJZTTF4Y1JiU0QwWWpqek4zTGFGZ2NMVWRp?=
 =?utf-8?B?Qnc3WVorS3l6M3lsSVBaQjRSdHB3YU1Yd2NjSVJmTXZPNE1EZDllNWQ2bmli?=
 =?utf-8?B?VVp1ckw2MkhuWFFUZVFOQUlGcHduOG4rQmlIU3JDRzFvbEg4cnpkRU9rOVYx?=
 =?utf-8?B?bmpsWHVYUGpSNFZiZTYrWHJxeXhiWTlFdFpMWEVBSm96ZWRUZVVSbmlEMjdF?=
 =?utf-8?Q?tzbO1ksKY2sAtIESq0xgvaHEoBZaXA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 17 Mar 2025 16:17:39.1654
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f24f5671-8e4f-4dd2-46b6-08dd656f3cd8
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF00017099.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6762

On 2025-03-17 10:28, Jan Beulich wrote:
> On 06.03.2025 23:03, Jason Andryuk wrote:
>> Allow hwdom all perms, except XSM_PRIV, and except commands where the
>> target is the control domain.  This protects the control domain from
>> hwdom while allowing the hardware domain to serve as the backend and
>> device model for other domUs.
> 
> I can see why backends may need to live there. But device models don't
> belong in the hardware domain, do they?

One of my tests was on x86 with hardware domain running QEMU providing 
virtio-gpu to a domU.  QEMU needs to access the GPU for virtio-gpu. 
Also HVM/QEMU PCI passthrough would need to run from hardware domain. 
for the config space access.

I viewed the hardware domain as the place to run the device model - sort 
of like a stubdom moving out of dom0.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:22:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:22:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917425.1322346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDEQ-0006sE-HF; Mon, 17 Mar 2025 16:22:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917425.1322346; Mon, 17 Mar 2025 16:22: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 1tuDEQ-0006s7-EL; Mon, 17 Mar 2025 16:22:26 +0000
Received: by outflank-mailman (input) for mailman id 917425;
 Mon, 17 Mar 2025 16:22: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=Rdq/=WE=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tuDEP-0006qG-51
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:22:25 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00eaf9ac-034c-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:22:21 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so24243855e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:22:21 -0700 (PDT)
Received: from [192.168.1.74] (88-187-86-199.subs.proxad.net. [88.187.86.199])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fdbc36dsm69896975e9.0.2025.03.17.09.22.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:22: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: 00eaf9ac-034c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742228541; x=1742833341; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=WBWphq/OPjakrsPO4SntQfTseOUfZZyLOvc4sgW9R8E=;
        b=oFuZYTR55xr151z2y7u/LXPwYGTOfpKCePq/NeDcEMrB03hsXYcrKOvcFyuHOL33Yo
         2yG433KaSnJ5G3X3s3znDcsYBFbBQg/C6H3Env13Kkd3HImLL819HD/b8d/TqyeiDjn/
         MK4dsxrqf4d5zD4vPEG23uNKvWpMe5SdIOC1JkSTGMNNPhMhYX4gDyTvNGoWDMgCwH8L
         NYSwSyRdBCjGo1gwWTU+thUmHC0ehYXJF94oAseU10GBg65DAZ368RkxGhrkWUVD3bK7
         MlnYuRhU+o1zXQdaDum36MU8Ek1A4sVgvYkIy5/rEd8yTgjzamnTtr3Whytr666yoOJZ
         lU/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742228541; x=1742833341;
        h=content-transfer-encoding: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=WBWphq/OPjakrsPO4SntQfTseOUfZZyLOvc4sgW9R8E=;
        b=mfkmGFxAPyAxrYRylyfMpeMSUROD1ZgAYYxUpcVnqtdWdj0CNRoDcqkDzOy5Ifnhi4
         ZYCizJHFfcLu1IVztkJAz8xYw0X8LZZyYbNSH6f4UTcF3ZdT9ayFDIBn8nGW5ac3dEbW
         RtqY9ebWslT9xsGGZ1KrxQOgpPTjSNCbujFm5DLar56DhtcNzEQMqs2jQCUCCReIkeDE
         +bgLb9vVw5D6t08i+dlJJfAEEaJqphvokcKNOSTPV2Rq5jO5lpc+l/sRecTVgPfHZbE4
         tVitG80z9VzjJg/ue3OyqAGa+qw+DY7vjJrqFnKUo/J4hyiW4OE5m6XkvkGV3DbVG8W2
         UHaQ==
X-Forwarded-Encrypted: i=1; AJvYcCXGggX7k24Rj2StzteqELuZ5UDTJLdDrOGItznIPVDrrE5ACGZFwpc6COFWM39/c2v3d0sRaFmhCdc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVk3y/u1dCAh3zS4Ku/XEXIVmU75h7YjJRyE2qrwOWJyQWWPfd
	lUnO7IalMgnuurfoPlu5vKkz9oKroUfHAdbg3FHRJmI3fPRpKpZTMJmtT1+e4Uo=
X-Gm-Gg: ASbGncsszOsfg+LheUdJi5C0OeKJXw96exuOt/bpuZMgO3DoVjYoC4c/gzrez7RHlRl
	FZa5Sfotk26SfOBvvJ9dEMIjclpKXHx+wlGoOwWsFOlt/UghcWZyhoN6sNxMODDCU5T0uXZaTtB
	5mFxgvysR3dKUAY80mOJBc5CEgM7Nlve9GpLg0GXYBAV7ctXSEh/XhwPXOaGn4v42yzJPoqd9Tu
	7dvsN2731Y+UPNZgEHbZ9aX4BA4ixzroL8usVGwQbyp93aSGAhhZI5icQhmpqMILLZncWeaE0FH
	cMmc09qCZJHaab7lZMuDw7tz8FFyQzNYkmbwLyiqjRtKX6unP8qaP5LXOSwaRz9OPjSEz8Z9w3D
	83hqwzRebPA==
X-Google-Smtp-Source: AGHT+IFVNxcAnyCyAJ8pmBaH3OaDkbaFSIvHPQaBVVLvnxipFVeLkYJbNl97a+qtcZml3R72Eig+Jw==
X-Received: by 2002:a05:600c:46c8:b0:43c:ebc4:36a5 with SMTP id 5b1f17b1804b1-43d1ec6946cmr141436605e9.7.1742228541177;
        Mon, 17 Mar 2025 09:22:21 -0700 (PDT)
Message-ID: <9c55662e-0c45-4bb6-83bf-54b131e30f48@linaro.org>
Date: Mon, 17 Mar 2025 17:22:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/17] exec/ram_addr: call xen_hvm_modified_memory only
 if xen is enabled
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-12-pierrick.bouvier@linaro.org>
 <ad7cdcaf-46d6-460f-8593-a9b74c600784@linaro.org>
 <edc3bc03-b34f-4bed-be0d-b0fb776a115b@linaro.org>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <edc3bc03-b34f-4bed-be0d-b0fb776a115b@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 17/3/25 17:07, Pierrick Bouvier wrote:
> On 3/17/25 08:50, Philippe Mathieu-DaudĂŠ wrote:
>> On 14/3/25 18:31, Pierrick Bouvier wrote:
>>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>>> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
>>> ---
>>> Â Â  include/exec/ram_addr.h | 8 ++++++--
>>> Â Â  1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
>>> index f5d574261a3..92e8708af76 100644
>>> --- a/include/exec/ram_addr.h
>>> +++ b/include/exec/ram_addr.h
>>> @@ -339,7 +339,9 @@ static inline void 
>>> cpu_physical_memory_set_dirty_range(ram_addr_t start,
>>> Â Â Â Â Â Â Â Â Â Â  }
>>> Â Â Â Â Â Â  }
>>> -Â Â Â  xen_hvm_modified_memory(start, length);
>>> +Â Â Â  if (xen_enabled()) {
>>> +Â Â Â Â Â Â Â  xen_hvm_modified_memory(start, length);
>>
>> Please remove the stub altogether.
>>
> 
> We can eventually ifdef this code under CONFIG_XEN, but it may still be 
> available or not. The matching stub for xen_hvm_modified_memory() will 
> assert in case it is reached.
> 
> Which change would you expect precisely?

-- >8 --
diff --git a/include/system/xen-mapcache.h b/include/system/xen-mapcache.h
index b68f196ddd5..bb454a7c96c 100644
--- a/include/system/xen-mapcache.h
+++ b/include/system/xen-mapcache.h
@@ -14,8 +14,6 @@

  typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
                                           ram_addr_t size);
-#ifdef CONFIG_XEN_IS_POSSIBLE
-
  void xen_map_cache_init(phys_offset_to_gaddr_t f,
                          void *opaque);
  uint8_t *xen_map_cache(MemoryRegion *mr, hwaddr phys_addr, hwaddr size,
@@ -28,44 +26,5 @@ void xen_invalidate_map_cache(void);
  uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
                                   hwaddr new_phys_addr,
                                   hwaddr size);
-#else
-
-static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
-                                      void *opaque)
-{
-}
-
-static inline uint8_t *xen_map_cache(MemoryRegion *mr,
-                                     hwaddr phys_addr,
-                                     hwaddr size,
-                                     ram_addr_t ram_addr_offset,
-                                     uint8_t lock,
-                                     bool dma,
-                                     bool is_write)
-{
-    abort();
-}
-
-static inline ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
-{
-    abort();
-}
-
-static inline void xen_invalidate_map_cache_entry(uint8_t *buffer)
-{
-}
-
-static inline void xen_invalidate_map_cache(void)
-{
-}
-
-static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
-                                               hwaddr new_phys_addr,
-                                               hwaddr size)
-{
-    abort();
-}
-
-#endif

  #endif /* XEN_MAPCACHE_H */
diff --git a/include/system/xen.h b/include/system/xen.h
index 990c19a8ef0..04fe30cca50 100644
--- a/include/system/xen.h
+++ b/include/system/xen.h
@@ -30,25 +30,16 @@ extern bool xen_allowed;

  #define xen_enabled()           (xen_allowed)

-void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
-void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
-                   struct MemoryRegion *mr, Error **errp);
-
  #else /* !CONFIG_XEN_IS_POSSIBLE */

  #define xen_enabled() 0
-static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t 
length)
-{
-    /* nothing */
-}
-static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
-                                 MemoryRegion *mr, Error **errp)
-{
-    g_assert_not_reached();
-}

  #endif /* CONFIG_XEN_IS_POSSIBLE */

+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   MemoryRegion *mr, Error **errp);
+
  bool xen_mr_is_memory(MemoryRegion *mr);
  bool xen_mr_is_grants(MemoryRegion *mr);
  #endif
---


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:23:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917438.1322356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDFL-0007eY-PC; Mon, 17 Mar 2025 16:23:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917438.1322356; Mon, 17 Mar 2025 16:23: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 1tuDFL-0007eR-MV; Mon, 17 Mar 2025 16:23:23 +0000
Received: by outflank-mailman (input) for mailman id 917438;
 Mon, 17 Mar 2025 16:23: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuDFK-0007dy-Pq
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:23:22 +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 24329adf-034c-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:23:21 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso16904545e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:23: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-395c7df3419sm15140686f8f.9.2025.03.17.09.23.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:23: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: 24329adf-034c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742228600; x=1742833400; 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=oTESaiX/3HYjzWTSwoTM8UI6VbuimraHuVTPQgqBGlU=;
        b=FtYeMGYMzgH7nKB61fxJlILKBOkfXjXbTrmd8JmT7DVmIEZekLQ0eUyv241ksiibcy
         tgobKcXug//gvhmAMr/554v1YIFeSreOJr1zbIcfZ1JKM44ySu7RQ513OmpTcf050bma
         eTsDC3fyT6XLTRfQbCHVPwh+9o3eZgvKM4uyMAmfDB6cWNif2QyaKeiS4D9pyGssaMZw
         c5ALpnTPFByLBn40aS+JzfOoCuA/i2m0ar643U1FjuoHgXa9kU4mFEtC26vbjfgThujM
         RwUy8EgZjoC7rZJT4KT66ED1JcKbdOdnSKetsa+B8CG4KsHn30DWkSlxDgH7iNvGnJiw
         RZNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742228600; x=1742833400;
        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=oTESaiX/3HYjzWTSwoTM8UI6VbuimraHuVTPQgqBGlU=;
        b=IthF29MXfz0l1gazij1yQVleEyDWWIMeF5Z6fp+a0jZSTFbGgg8abE66/YOEFYjw/7
         gQFP8Qv8DTa9pHJK6C8K0UGp2w0YCtfeXchdYZwymaxodjKOsnzWIS/ObMkj79Nyd6Ag
         Pn24YfJcZRIwYqlr/ZUPWHRqCZLUzt+pW1L7ZzL5z75lNa/dyQLsh1ZE0P72d1Fe3Sv/
         yIzVSz6G0CwbqQ/R8kwKzUGwJ5COV1/D4Q4owWRNwcpcPHdoGFdOEMBK0rX/U9dWDXAb
         ClD1yUgFXh88r5smeNmv6Hw6AievvdKsIJXkFDISFqnuvQDW1kjznPTxv+TQbstT/Nfa
         UdKg==
X-Forwarded-Encrypted: i=1; AJvYcCURyuuUJHKNfiUJ+SluR5q86hrev89O1r55b3KmJXrZPoLXWLliAbWePLyu3UIlEQvULTchFrJSzqA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/+VuxfNZEY8NwVkmc/P5W1kT+qbtK8MkBImXluefIgvV6HP8a
	35NF+OuDRupoxqZo07AXZ9zI75GlTSrTBwbvK4U9tgT4virCrjBKa0uss8kexvePZVBIbEYKLKw
	=
X-Gm-Gg: ASbGnctc2qYCcPHXoNiACTssidehX2zVOvVAA/eqaMMgcmSRecuUM0k81nyviaZJytW
	amAR9vpBhzD25VcYDNokSmUqfgCwpYpOqbPZM9Y0PQ1qpXS9xg3GrAMwrCDzNNNBI1lRqR+pibd
	CIJEtX5at8HIFf3ZzrYV/K7xoRgg61rqjmGVpAvZFdtOgmKpbVW4E0Azx7WcdeTRu7eZn+cgxOu
	Ss0iDrfJuoVdSeou0jm97dtDHDosmfbS7CrNt8FSoGMIAlIGvxVNFpqk8j8JMu/oMsp28ngZs2E
	ao4w4esGZDiWsFyRqFUWAsgapJrOq4ulxtsMNm5VLHYAt+goRJupdSAwXLTUx7XVsvNc4gW0uOy
	CMh0AoY0VK2oh4unLnK50AEo8wG+Pdw==
X-Google-Smtp-Source: AGHT+IEU+oy5qIpSUUDVuV10M9E4mNE/NwHjETRTpYj2d8YTvTCfcPMHjOuzxhuxFMJLQv0pCgs9Uw==
X-Received: by 2002:a05:600c:3b97:b0:43b:c878:144c with SMTP id 5b1f17b1804b1-43d1ec784dbmr134239465e9.12.1742228600270;
        Mon, 17 Mar 2025 09:23:20 -0700 (PDT)
Message-ID: <94a6e5d4-4491-4fb9-b3b0-067164acb973@suse.com>
Date: Mon, 17 Mar 2025 17:23:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 17/23] xsm/dummy: Allow hwdom more - except targeting
 control
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-18-jason.andryuk@amd.com>
 <66291536-a164-48a6-ab3e-304dc6035ed6@suse.com>
 <a89753a3-c8e4-49fa-bb4d-744ba16581d6@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: <a89753a3-c8e4-49fa-bb4d-744ba16581d6@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 17:17, Jason Andryuk wrote:
> On 2025-03-17 10:28, Jan Beulich wrote:
>> On 06.03.2025 23:03, Jason Andryuk wrote:
>>> Allow hwdom all perms, except XSM_PRIV, and except commands where the
>>> target is the control domain.  This protects the control domain from
>>> hwdom while allowing the hardware domain to serve as the backend and
>>> device model for other domUs.
>>
>> I can see why backends may need to live there. But device models don't
>> belong in the hardware domain, do they?
> 
> One of my tests was on x86 with hardware domain running QEMU providing 
> virtio-gpu to a domU.  QEMU needs to access the GPU for virtio-gpu. 
> Also HVM/QEMU PCI passthrough would need to run from hardware domain. 
> for the config space access.
> 
> I viewed the hardware domain as the place to run the device model - sort 
> of like a stubdom moving out of dom0.

Hmm, yes, when dealing with hardware made accessible to a guest, the DM
would need to live in hwdom (in the absence of stubdom-s). For non-pass-
through guests that's less clear though.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:23:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917452.1322366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDFp-0008RF-0s; Mon, 17 Mar 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 917452.1322366; Mon, 17 Mar 2025 16:23: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 1tuDFo-0008R8-UU; Mon, 17 Mar 2025 16:23:52 +0000
Received: by outflank-mailman (input) for mailman id 917452;
 Mon, 17 Mar 2025 16:23: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=Rdq/=WE=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1tuDFn-0007xs-Oq
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:23:51 +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 34231ef0-034c-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 17:23:47 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3f4so2764696f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:23:47 -0700 (PDT)
Received: from [192.168.1.74] (88-187-86-199.subs.proxad.net. [88.187.86.199])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6b2bsm15083896f8f.26.2025.03.17.09.23.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:23: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: 34231ef0-034c-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742228627; x=1742833427; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=avfzUeOggfHVdiAQhDfUOVX9Fi+u2OCZ2GM9j7NAP70=;
        b=Z51rLlxsdX7Uc72/vhYBGjezwqLxey0KZsKlADnZHm+wAStZ4Cg6UwaJJ0Q9Qr8QZb
         4CFMGwt5bQF3EpCKSPk9PM9VJaDwCWZM34kMAe72X+lS27KnZCzsxpYaULHIbjCaSja8
         AP6RKr8z8szf7qhZ/Y1B8DE/0Xo0Xblw1yH5QtBmJFQpZjLTt3jHXdFFYdkp3JSaDLmH
         tI6QPRTPsq6qlCQgnzNoixvwHy+dyxXY0hVgPnrpBOH7CFmy3ZlSaGa5K3fj0UwlStRC
         teG8Weun3R0Dli1iSot6+REWw3NGHoFPKNmDR+ytZv7QqV0ipHX+t3/dR7afDb4t8mwd
         gM8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742228627; x=1742833427;
        h=content-transfer-encoding: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=avfzUeOggfHVdiAQhDfUOVX9Fi+u2OCZ2GM9j7NAP70=;
        b=eswOyLQCF0XGKL6hlpniVNggsqKwYHPljzQN8MzGE59b/52AWOM/I6H2/QXhVP+zGh
         MwYhJ8lj1A4Yqfg1FrlBNMVyVA5Jc3cywyhcIbIZwlNsO1Rzs40O0QsHs62Gyn+9g4WO
         kCcJWdRkOX4mbc21WGUzKHtZ4hC61yzcLdXCqMFO3lTZ5F7RCdxaDStUGbWCsUZcp0r4
         xciU8uMZaPpsu7b7gdYbO2qB2SRTWZICFma3LUl2i8KIT8ExE70Kyxsb22vBOrKW9f1z
         B+c4IccG+JbvGJS8eECOIjXJTGCJPgoGUz6c4abc4jyYNQBAWUYABWqK6F7VDYh1Vjff
         zp2w==
X-Forwarded-Encrypted: i=1; AJvYcCXs5z2vWWPBS291GMS06F4zP2gcdb/BAnR0fvUFGAKoowCA7Am9FzGZ2pa8VRfpvqoIEtAa4NeKPR4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzl5qUIlDYUEZniYptYlw1hXzFvMxtOuwBGuiSAUin6hYZ6qD2x
	LPK2ZCZTbLqSMMl9vyFo2XXXcYX3zzYxRqt5DF2/+UjZ1Sf+slpwNoU1s2hJhSA=
X-Gm-Gg: ASbGncvJyyx/R+udVe0ZRy/EVQxDRtCokj1j378JUaTHbR+ufIME+HxwWB5e0LpaULx
	F3kiy0AVzTdjc0BCXO8I8qMTEgKhBKbtTaBKupridcsvpYrqAy5Tvy7YZ410sfv9HkW8vmWvPWN
	fC5QJ2GBimsSzljK0cHOiJCdTwXK+IGMS25Xk8N1qSQvUuZk35mL40UR2wCaDS4Lh4rncb3X00l
	DB/er4ezAHfoEkPXmVs8a9bWZCmA+tN7e24BifTskSwRfQ+PALY2P4cDDwVA0RxvSQrCYU1FHPR
	GuPxF6BJaubwy8sMCrNqZGX8hj6EtncDiGDQnPA1zpFISIlz4QhH4HAxVrcqsZv46pTm1VCRPm9
	BP6h2jAB4zw==
X-Google-Smtp-Source: AGHT+IEamG3WdlxD2LrQxwdmg89i4SPc4GJaByF7u76Lrx89qJx15nBJz8iHq3PU1coEHuSB+Sy0JA==
X-Received: by 2002:a05:6000:1ac6:b0:391:48f7:bd8a with SMTP id ffacd0b85a97d-3996b467819mr185608f8f.30.1742228627083;
        Mon, 17 Mar 2025 09:23:47 -0700 (PDT)
Message-ID: <d93f6514-6d42-467d-826b-c95c6efd66b1@linaro.org>
Date: Mon, 17 Mar 2025 17:23:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/17] exec/ram_addr: call xen_hvm_modified_memory only
 if xen is enabled
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-12-pierrick.bouvier@linaro.org>
 <ad7cdcaf-46d6-460f-8593-a9b74c600784@linaro.org>
 <edc3bc03-b34f-4bed-be0d-b0fb776a115b@linaro.org>
 <9c55662e-0c45-4bb6-83bf-54b131e30f48@linaro.org>
Content-Language: en-US
In-Reply-To: <9c55662e-0c45-4bb6-83bf-54b131e30f48@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 17/3/25 17:22, Philippe Mathieu-DaudĂŠ wrote:
> On 17/3/25 17:07, Pierrick Bouvier wrote:
>> On 3/17/25 08:50, Philippe Mathieu-DaudĂŠ wrote:
>>> On 14/3/25 18:31, Pierrick Bouvier wrote:
>>>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>>>> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
>>>> ---
>>>> Â Â  include/exec/ram_addr.h | 8 ++++++--
>>>> Â Â  1 file changed, 6 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
>>>> index f5d574261a3..92e8708af76 100644
>>>> --- a/include/exec/ram_addr.h
>>>> +++ b/include/exec/ram_addr.h
>>>> @@ -339,7 +339,9 @@ static inline void 
>>>> cpu_physical_memory_set_dirty_range(ram_addr_t start,
>>>> Â Â Â Â Â Â Â Â Â Â  }
>>>> Â Â Â Â Â Â  }
>>>> -Â Â Â  xen_hvm_modified_memory(start, length);
>>>> +Â Â Â  if (xen_enabled()) {
>>>> +Â Â Â Â Â Â Â  xen_hvm_modified_memory(start, length);
>>>
>>> Please remove the stub altogether.
>>>
>>
>> We can eventually ifdef this code under CONFIG_XEN, but it may still 
>> be available or not. The matching stub for xen_hvm_modified_memory() 
>> will assert in case it is reached.
>>
>> Which change would you expect precisely?
> 
> -- >8 --
> diff --git a/include/system/xen-mapcache.h b/include/system/xen-mapcache.h
> index b68f196ddd5..bb454a7c96c 100644
> --- a/include/system/xen-mapcache.h
> +++ b/include/system/xen-mapcache.h
> @@ -14,8 +14,6 @@
> 
>  Â typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ram_addr_t size);
> -#ifdef CONFIG_XEN_IS_POSSIBLE
> -
>  Â void xen_map_cache_init(phys_offset_to_gaddr_t f,
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  void *opaque);
>  Â uint8_t *xen_map_cache(MemoryRegion *mr, hwaddr phys_addr, hwaddr size,
> @@ -28,44 +26,5 @@ void xen_invalidate_map_cache(void);
>  Â uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hwaddr new_phys_addr,
>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hwaddr size);
> -#else
> -
> -static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  void *opaque)
> -{
> -}
> -
> -static inline uint8_t *xen_map_cache(MemoryRegion *mr,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hwaddr phys_addr,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hwaddr size,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ram_addr_t ram_addr_offset,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint8_t lock,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  bool dma,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  bool is_write)
> -{
> -Â Â Â  abort();
> -}
> -
> -static inline ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
> -{
> -Â Â Â  abort();
> -}
> -
> -static inline void xen_invalidate_map_cache_entry(uint8_t *buffer)
> -{
> -}
> -
> -static inline void xen_invalidate_map_cache(void)
> -{
> -}
> -
> -static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hwaddr new_phys_addr,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  hwaddr size)
> -{
> -Â Â Â  abort();
> -}
> -
> -#endif
> 
>  Â #endif /* XEN_MAPCACHE_H */

(sorry, the include/system/xen-mapcache.h change is for the next patch)

> diff --git a/include/system/xen.h b/include/system/xen.h
> index 990c19a8ef0..04fe30cca50 100644
> --- a/include/system/xen.h
> +++ b/include/system/xen.h
> @@ -30,25 +30,16 @@ extern bool xen_allowed;
> 
>  Â #define xen_enabled()Â Â Â Â Â Â Â Â Â Â  (xen_allowed)
> 
> -void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
> -void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  struct MemoryRegion *mr, Error **errp);
> -
>  Â #else /* !CONFIG_XEN_IS_POSSIBLE */
> 
>  Â #define xen_enabled() 0
> -static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t 
> length)
> -{
> -Â Â Â  /* nothing */
> -}
> -static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  MemoryRegion *mr, Error **errp)
> -{
> -Â Â Â  g_assert_not_reached();
> -}
> 
>  Â #endif /* CONFIG_XEN_IS_POSSIBLE */
> 
> +void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
> +void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  MemoryRegion *mr, Error **errp);
> +
>  Â bool xen_mr_is_memory(MemoryRegion *mr);
>  Â bool xen_mr_is_grants(MemoryRegion *mr);
>  Â #endif
> ---



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:25:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:25:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917464.1322376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDHM-0000ek-Aq; Mon, 17 Mar 2025 16:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917464.1322376; Mon, 17 Mar 2025 16:25: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 1tuDHM-0000ed-7d; Mon, 17 Mar 2025 16:25:28 +0000
Received: by outflank-mailman (input) for mailman id 917464;
 Mon, 17 Mar 2025 16:25: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuDHL-0000eS-2Z
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:25: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 6ec3c3c2-034c-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 17:25:26 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so24153495e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:25: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-43d1ffbcef5sm108510625e9.9.2025.03.17.09.25.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:25: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: 6ec3c3c2-034c-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742228725; x=1742833525; 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=e3U+Gwajy3gbFJlLeomnzcVheV4svf2YItnasUFghbA=;
        b=LkcrlduvG30wqCi2KQkNXUvcjC/ri4V+5uXqiqcp45mxSF4iPMlxegoKp0Fko4hnSz
         n59cAPnKrk8s+0als9n7wc+MuArt/ywvbS1wbqTUfa/xQNS7nAXMbBhHRX/jjOZWPb72
         7uHQXKbsT3ta0RunQqcO+ISv3UQJxyd3ITo4vHZx7WcxbathkP7464EeFEt3C7Mc8KLS
         5T897d3dJrHAGR9Nl/s1XDGSmUoYpZe6UAskclS8QajrtTGLFzGLp3/06sXlB/ucAU8W
         DGqKytL0xIm96HHFJFZM04VpryPChnvJ0vZjKkvmKFozNbTwXONuXZixDW70DKwRkqrU
         QvDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742228725; x=1742833525;
        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=e3U+Gwajy3gbFJlLeomnzcVheV4svf2YItnasUFghbA=;
        b=Mj55tztnTCyUF6CP9/8/eeXUeblaPOkvm03+EzoUmBHRF3dckw1QtBZwxPyoe1C+h4
         tF4S7Fxv4RZ15bDcmuptmA+MGh1Ftq7+uLDvZIBXAqPNl4OMGP0uHM3jMDLmsWmYSlk/
         hfEpIA93C0P9YsLeyplL+mLMEBtCwbaJWNRtj7J3JzaVmz3a5m2JrZp/vlkiKYG65TOf
         Cy3/uRlk74fgWmw6SpdGVPHk9FpMWPaXZ7d35rYctOqnp6/4hMIY615RcMqbPzDNj+ZR
         S+EcAzmUtkeGtwokGzxWeHSbAFGMxzzJvTEUYWKfnJbOgjmFFwyM8VAPNVmN20+op5Ds
         l8mA==
X-Forwarded-Encrypted: i=1; AJvYcCWIe3Q/FmZBrryiu/9sUX9uNX7Tz1QjiLPGWzg0iuy/KRN/T2unKIXROnHQju8A1Ral/raelxIZCm4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyRpVQlM8L7VSZKhzRrp0SCCSyiaG+gfXJ88sScZnQfIX0cXNBC
	1z1dza7AMaGc+ym9E8fI+MuES+36zVOwTUGUbVu/eN3i5avtT0hhO/WXldmEWw==
X-Gm-Gg: ASbGncs7oLXrnzsijIVYosp1Nv8oa1nFRE5lKiGneMU/HLSZRc/AhcfDbyvLwrjhRRA
	7LLBp86ui97L4iQG0ons4TllbbtuA2YCaX7qXc0zTfVp4WoJIaPYhzQOOWtKzYuIOjZWSMrvclk
	cVHDLnrW7aufQeHbmi5Xo8wgc6gRMT5W6d9BEDzKSbuqerWOMn8o2tdSQMhwyPuZEx+J6UwrblL
	1wJPmzA2TEwmBCpc9FMCijCSVLFIYaojyoOhaH8LwBrwA/IXEQGOJYsY0US9sLqZEumg55pDKSI
	+Gq4Z3UPQdBZoZEr7q9+BCmnLj0GrCjRqm8BCzAXW3I7/1Qnyi43M26sGg/KoRQ52nfJbycjYJg
	1YzaGX1FH1U5qTzZ6CUXMqDnpVgGbkQT5RdRpnQUt
X-Google-Smtp-Source: AGHT+IFPj3CQcN5agumCot86iiVTrsoAT/TfSJFjv2ImBF8BsC8nhCxoJEIwW7pPsv985MiGK5pVCA==
X-Received: by 2002:a05:600c:a21b:b0:43c:fcbc:968c with SMTP id 5b1f17b1804b1-43d1ef4b09amr139858095e9.7.1742228725407;
        Mon, 17 Mar 2025 09:25:25 -0700 (PDT)
Message-ID: <fd28943f-33c4-424c-b05f-f383acb30ea4@suse.com>
Date: Mon, 17 Mar 2025 17:25:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 17/23] xsm/dummy: Allow hwdom more - except targeting
 control
From: Jan Beulich <jbeulich@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-18-jason.andryuk@amd.com>
 <66291536-a164-48a6-ab3e-304dc6035ed6@suse.com>
 <a89753a3-c8e4-49fa-bb4d-744ba16581d6@amd.com>
 <94a6e5d4-4491-4fb9-b3b0-067164acb973@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: <94a6e5d4-4491-4fb9-b3b0-067164acb973@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 17:23, Jan Beulich wrote:
> On 17.03.2025 17:17, Jason Andryuk wrote:
>> On 2025-03-17 10:28, Jan Beulich wrote:
>>> On 06.03.2025 23:03, Jason Andryuk wrote:
>>>> Allow hwdom all perms, except XSM_PRIV, and except commands where the
>>>> target is the control domain.  This protects the control domain from
>>>> hwdom while allowing the hardware domain to serve as the backend and
>>>> device model for other domUs.
>>>
>>> I can see why backends may need to live there. But device models don't
>>> belong in the hardware domain, do they?
>>
>> One of my tests was on x86 with hardware domain running QEMU providing 
>> virtio-gpu to a domU.  QEMU needs to access the GPU for virtio-gpu. 
>> Also HVM/QEMU PCI passthrough would need to run from hardware domain. 
>> for the config space access.
>>
>> I viewed the hardware domain as the place to run the device model - sort 
>> of like a stubdom moving out of dom0.
> 
> Hmm, yes, when dealing with hardware made accessible to a guest, the DM
> would need to live in hwdom (in the absence of stubdom-s). For non-pass-
> through guests that's less clear though.

So perhaps I'm in (conceptual) trouble with this kind of dis-aggregation:
To split ctrldom from hwdom without moving DMs to stubdom-s feels a little
"incomplete" to me.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:33:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917479.1322387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDOk-0003Pc-6b; Mon, 17 Mar 2025 16:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917479.1322387; Mon, 17 Mar 2025 16:33: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 1tuDOk-0003PV-21; Mon, 17 Mar 2025 16:33:06 +0000
Received: by outflank-mailman (input) for mailman id 917479;
 Mon, 17 Mar 2025 16:33: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=UoSe=WE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuDOj-0003PP-NS
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:33:05 +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 7f7df372-034d-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 17:33:03 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so14808275e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:33: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
 ffacd0b85a97d-395c83b6a27sm15664227f8f.31.2025.03.17.09.33.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:33: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: 7f7df372-034d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742229183; x=1742833983; 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=UUPIuXbgojsFkfSS33DanfFpA4pcf9t302qVRhBlNTM=;
        b=Kt/LZ8HLGaLUMOTSGPG5MRuzShxyaZQrfc9/tKG+TTLJmjYzrOCh182n4KUsk4FYmE
         AVRAoxwsP/0O1JzN5WCPIZlWN/RK95bkAe/QXQWpueJkgZHNOs/qa/Ad2OHQ7jFF30ys
         GursTIwtb6eGmbkw6o4o0ZVfVJF8LomS5pVcmrpgy2HUIQrt6yLuJB6c5hQ0uhuLY8F1
         S9wca1Gv9Ov7FE+1MWfaebkPojLQSEi99fC+PfUzlsBLGFzb/Ho1JW4rC1eptEJMuW6h
         olLPNj96bxjw+WffsBsII9pYcFdh9tQosm09P8BCyDp9kmccxkzuAKwoDSMa4YBc4czn
         jJ3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742229183; x=1742833983;
        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=UUPIuXbgojsFkfSS33DanfFpA4pcf9t302qVRhBlNTM=;
        b=WGm+FaRGUQEMrOrgW/kiF/wcFsbX0AUfF2ibgViD07S0a96+7fP/Zz4+6RN5u6mbeU
         Wn/ZNPBndq1ql5x59Dx/ExeHsfV5h7/h6oLHiOiSQBN0tiHYgCAJYtaf3JfqygfEI16X
         8UDxPxIWl4tQCHM897ULrNl5XezwVk9tx88zWWxvhfLe/NL10AO09xsS8dXKSreEh8GS
         Txnh1sYS0Tk35qDRTzLbb5jJuJhh6nrvWDvDhSUk5HCjq/vqQJx3lYJq+p6F3TNg+WrL
         +I5WtFwikwCiw2cprYlraR8BSWDX7M0bX0Ets1cAdhTVJeNNt/V4OVygFrosYk4DMhmF
         ToXg==
X-Forwarded-Encrypted: i=1; AJvYcCVJ2bFIrbyJNLLaDMw+dHvzPS4BuOpnTczbORCfTRRK5UTy1MvaZaLRpRdCcRK5z/R9DJZxZdoVUpE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxY4YJ5J8LBrYjSyeXnc60sCOEhC1P6TUqmYGCAFi65CNkAS1U2
	2YdjXNmQ89ZhUBffPEYR9Cnw/lwRjOgsYLSWa+d6liPyas1nNG77r7j72f/kSw==
X-Gm-Gg: ASbGnctTqT+jmY5xgpkNMLH0ZKcqJ8sYfjQB/Qus9vh2YCjzsOQEPbhvIbvMUpm3T0+
	1WyHqiv9tKUxoDAtEoMaTwkpeCW7KVyiqj9UKLQ2vLVgL1LZsDu05xQ7YzQoAFqqdDu4XeggFBk
	nYkm5l9guQGgi3ml8YMGTCI6yhonU2z5GrANJlqKbzVV/5eblCveyCKwE4BfbutEpraOnRYLSZd
	+dbHAdqSDV9TTpT5KUrswReei1TdMpolgOEK+4GEUs1p5BfevdK540r9/yjAmfNL2hp3Ft0/HJv
	p+f10QszinO8c2MUsw8LaoEZCNLuoOpwe4MxrHeZV0wUB1cvmbG/6yiR+gq5m+tBIi7wht9DtDB
	k7avpVFS7MVbDUb+kjV85rE5JyHlnQw==
X-Google-Smtp-Source: AGHT+IHvPIU7Z8bN+5O8SVljaet3pPrYhJpDisTZUeG/+u+xT4lMaC1SPiJvrJxcaPDyDbCrVJtNFw==
X-Received: by 2002:adf:a35e:0:b0:391:3aaf:1d5d with SMTP id ffacd0b85a97d-3971dbe8060mr12234133f8f.27.1742229183044;
        Mon, 17 Mar 2025 09:33:03 -0700 (PDT)
Message-ID: <314dee7c-1ee0-484a-921b-279617258325@suse.com>
Date: Mon, 17 Mar 2025 17:33:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/11] xen/memory: Mask XENMEMF_node() to 8 bits
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Bernhard Kaindl <bernhard.kaindl@cloud.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: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
 <20250314172502.53498-2-alejandro.vallejo@cloud.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: <20250314172502.53498-2-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.03.2025 18:24, Alejandro Vallejo wrote:
> As it is, it's incredibly easy for a buggy call to XENMEMF_node() to
> unintentionally overflow into bit 17 and beyond. Prevent it by masking,
> just like MEMF_* does.

Yet then ...

> --- a/xen/include/public/memory.h
> +++ b/xen/include/public/memory.h
> @@ -32,8 +32,9 @@
>  #define XENMEMF_address_bits(x)     (x)
>  #define XENMEMF_get_address_bits(x) ((x) & 0xffu)
>  /* NUMA node to allocate from. */
> -#define XENMEMF_node(x)     (((x) + 1) << 8)
> -#define XENMEMF_get_node(x) ((((x) >> 8) - 1) & 0xffu)
> +#define XENMEMF_node_mask   (0xffu)
> +#define XENMEMF_node(n)     ((((n) + 1) & XENMEMF_node_mask) << 8)

... this still won't have the intended effect: Rather than spilling into
higher bits (with a certain chance of causing an error) you now truncate
the node number, thus making the misbehavior almost certainly silent.
Further, if you do this for the node, why not also for the address bits?
(Rhetorical question; I don't really want you to do that.)

Jan

> +#define XENMEMF_get_node(f) ((((f) >> 8) - 1) & XENMEMF_node_mask)
>  /* Flag to populate physmap with populate-on-demand entries */
>  #define XENMEMF_populate_on_demand (1<<16)
>  /* Flag to request allocation only from the node specified */



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:36:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917499.1322396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDRY-0004UR-Hd; Mon, 17 Mar 2025 16:36:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917499.1322396; Mon, 17 Mar 2025 16:36: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 1tuDRY-0004UK-F1; Mon, 17 Mar 2025 16:36:00 +0000
Received: by outflank-mailman (input) for mailman id 917499;
 Mon, 17 Mar 2025 16:35: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=o++3=WE=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tuDRX-0004UE-EG
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:35:59 +0000
Received: from fhigh-a7-smtp.messagingengine.com
 (fhigh-a7-smtp.messagingengine.com [103.168.172.158])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6cb50a1-034d-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 17:35:57 +0100 (CET)
Received: from phl-compute-02.internal (phl-compute-02.phl.internal
 [10.202.2.42])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 51BDC1140235;
 Mon, 17 Mar 2025 12:35:56 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Mon, 17 Mar 2025 12:35:56 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 17 Mar 2025 12:35:54 -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: e6cb50a1-034d-11f0-9aba-95dc52dad729
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=1742229356;
	 x=1742315756; bh=a3eEAjGFG9tKB0xu6wle/2V5oR2nOxrlb3qL2lnjczw=; b=
	Vx0pg1l5RSNEzsX1kCmuzHTv96CsBxIEleA8iNm3e2FT7p0OqALXJdJYH1qvh5qf
	DCpLz5iR4jxGC8JvLtndIKlBLT0k1DgGYfw5P83oZwDVjp7LF/JclC/WaUfymoS5
	z0FVrRo0WPJ00ePFRXtZJlcgocBN11M43aIVxvVM9QA62q36piIAWA8NGzaX2h6y
	bzxKR/BFi6Rn3MLG8fqfZRU+fB5XE4V8oeEifKQpTarrPJR5xMYl/BaViECPkf7Q
	h7X8foXNCuTz+81G+HqeUuoGveFdqLloOArQBgc+DCZ8xRE/FhCrdJOyCkszj2gN
	H/qCAwc3WW9RF1L2jUGE2Q==
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=fm1; t=
	1742229356; x=1742315756; bh=a3eEAjGFG9tKB0xu6wle/2V5oR2nOxrlb3q
	L2lnjczw=; b=ASkY1TdPfp2X5TXNFheP5Rc++pwt0TMIXmoiCkSvuli+XEBWNGa
	w0HzmVT+fBJfs87q0hkzKllpS50qN9LFMEt3Io+a3XXNOnUEZMK6lITkOAWbCmRF
	r5RA64WhHG2nLedXKlCNM9ih6nN/hvB+lxSFcbRmbh8aTsbxzotOuThghAxPtqEr
	RRmGrCiFB5zPt5I+LCfL30y2V+OR1fwjTYN3YjJVDV13PGqm5u7GndLbPPMQPum5
	ycahXuQDP6b7jKSEn30iZBYxqWzGrNK017XiDNWrwxBA5yqfQy+ONNOPQRtUN4fk
	EbH74ppL9hOw/ZlXja3dvJ1uhb+DC14PzTg==
X-ME-Sender: <xms:a0_YZ29K1e7v8fv9bxzAdnj4IBtvAss7OmEIpJVAiyIKY7l3yGjrEg>
    <xme:a0_YZ2uH-nl1zhilbMjwHu92SviQhOsZXQVli82v63jV9RPmUdxtFHGGTkrc-b4uE
    tIwjUzxJMaqlQ>
X-ME-Received: <xmr:a0_YZ8AiWp2-jHdGg7XDrgL3uvgr3XXQ7YKzLUBXfhO-nuCvq-UQh8BUJrnFwX0KDZRuiKwAC7lqF_HIUjqwaE6tuI-HUo6fdA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugedttdduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepveeujeetgeelleetudeuvefhtefgffejvedtvdfgieevheethe
    elgeeuledvjeevnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeelpdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtg
    homhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhm
    pdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpth
    htohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhr
    tghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegtrghrug
    hovgestggrrhguohgvrdgtohhmpdhrtghpthhtohepohhlvghkshhiihdrkhhurhhotghh
    khhosehgmhgrihhlrdgtohhmpdhrtghpthhtohepgigrkhgvphdrrghmrghtohhpsehgmh
    grihhlrdgtohhmpdhrtghpthhtohepmhihkhihthgrpghpohhtuhhrrghisegvphgrmhdr
    tghomh
X-ME-Proxy: <xmx:a0_YZ-e3fMjNfeEG1u5LwyMdEDskOMVeBk8SacYvotnum21BesWTuA>
    <xmx:bE_YZ7Obi4HFGgOnR6C_y7qYYUp4FfQymXWnnuXW-MWcKcpDRQSMJA>
    <xmx:bE_YZ4m5Pto1rWIZwhw7x2pem7JRSML8yHGCh8Pb4q2-IM1EHNSqdw>
    <xmx:bE_YZ9umT5IzUbfXU8DjgGr9SYcbG0bWgZlnX_D7Ksv0_oYSL_EWkw>
    <xmx:bE_YZ2qg2_IxReh87FroB9Ak3DBuNv1JQHW2M5cGes0b2vSLDOkOGA7W>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 17 Mar 2025 17:35:51 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20
Message-ID: <Z9hPaLVVhqAK5H0K@mail-itl>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
 <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="wm3h5sTQXunpJOag"
Content-Disposition: inline
In-Reply-To: <Z9hGH0GLq-I1cKzt@macbook.local>


--wm3h5sTQXunpJOag
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 17 Mar 2025 17:35:51 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20

On Mon, Mar 17, 2025 at 04:56:15PM +0100, Roger Pau Monn=C3=A9 wrote:
> On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
> > On 14/03/2025 11:53 pm, Marek Marczykowski-G=C3=B3recki wrote:
> > > On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-G=C3=B3r=
ecki wrote:
> > >> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> > >>> On Fri, 14 Mar 2025, Marek Marczykowski-G=C3=B3recki wrote:
> > >>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445=
 G7.
> > >>>>
> > >>>> This one has working S3, so add a test for it here.
> > >>>>
> > >>>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisible=
thingslab.com>
> > >>>> ---
> > >>>> Cc: Jan Beulich <jbeulich@suse.com>
> > >>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> > >>>>
> > >>>> The suspend test added here currently fails on staging[1], but pas=
ses on
> > >>>> staging-4.19[2]. So the regression wants fixing before committing =
this
> > >>>> patch.
> > >>>>
> > >>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408=
437140
> > >>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408=
943441
> > >>> We could commit the patch now without the s3 test.
> > >>>
> > >>> I don't know what the x86 maintainers think about fixing the suspend
> > >>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> > >> I'm on it already, but it's annoying. Lets convert this thread to
> > >> discussion about the issue:
> > >>
> > >> So, I bisected it between staging-4.19 and master. The breakage is
> > >> somewhere between (inclusive):
> > >> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> > >> and
> > >> 47990ecef286 x86/boot: Improve MBI2 structure check
> > >>
> > >> But, the first one breaks booting on this system and it remains brok=
en
> > >> until the second commit (or its parent) - at which point S3 is alrea=
dy
> > >> broken. So, there is a range of 71 commits that may be responsible...
> > >>
> > >> But then, based on a matrix chat and Jan's observation I've tried
> > >> reverting f75780d26b2f "xen: move per-cpu area management into common
> > >> code" just on top of 47990ecef286, and that fixed suspend.
> > >> Applying "xen/percpu: don't initialize percpu on resume" on top of
> > >> 47990ecef286 fixes suspend too.
> > >> But applying it on top of master
> > >> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix=
 it,
> > >> but the failure mode is different than without the patch - system re=
sets
> > >> on S3 resume, with no crash message on the serial console (even with
> > >> sync_console), instead of hanging.
> > >> And one more data point: reverting f75780d26b2f on top of master is =
the
> > >> same as applying "xen/percpu: don't initialize percpu on resume" on
> > >> master - system reset on S3 resume.
> > >> So, it looks like there are more issues...
> > > Another bisection round and I have the second culprit:
> > >
> > >     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT =
index hasn't changed
> > >
> > > With master+"xen/percpu: don't initialize percpu on resume"+revert of
> > > 8e60d47cf011 suspend works again on this AMD system.
> >=20
> > That's not surprising in the slightest.
> >=20
> > Caching hardware values in Xen isn't safe across S3, which QubesOS has
> > found time and time again, and for which we still have outstanding bugs.
> >=20
> > S3 turns most of the system off.=C2=A0 RAM gets preserved, but devices =
and
> > plenty of internal registers don't.
>=20
> I think I've spotted the issue.  enable_iommu() called on resume
> (ab)uses set_msi_affinity() to force an MSI register write, as it's
> previous behavior was to unconditionally propagate the values.  With
> my change it would no longer perform such writes on resume.
>=20
> I think the patch below should help.

It doesn't, I still got reboot on resume, with no crash message on
serial (even with sync_console).

And the other patch (setting force=3Dtrue in all calls) gets me panic
on boot:

(XEN) [   11.890757] Assertion '(msg->data & (entry[-nr].msi.nvec - 1)) =3D=
=3D nr' failed at arch/x86/msi.c:210
(XEN) [   11.900440] ----[ Xen-4.21-unstable  x86_64  debug=3Dy  Tainted:  =
 C    ]----
(XEN) [   11.908082] CPU:    3
(XEN) [   11.910923] RIP:    e008:[<ffff82d040304bdc>] msi.c#write_msi_msg+=
0xf5/0x16c
(XEN) [   11.918652] RFLAGS: 0000000000010002   CONTEXT: hypervisor (d0v3)
(XEN) [   11.925404] rax: 0000000000000001   rbx: ffff830401ded840   rcx: f=
fff8303f5367d38
(XEN) [   11.933576] rdx: 0000000000000000   rsi: ffff8303f536e1d8   rdi: 8=
000000000000000
(XEN) [   11.941750] rbp: ffff8303f5367d90   rsp: ffff8303f5367d68   r8:  0=
000000000000000
(XEN) [   11.949924] r9:  0000000000000000   r10: ffff8303f5367d58   r11: 0=
000000000000000
(XEN) [   11.958097] r12: ffff8303f5367da0   r13: 0000000000000000   r14: 0=
000000000000001
(XEN) [   11.966269] r15: 0000000000000000   cr0: 0000000080050033   cr4: 0=
0000000003506e0
(XEN) [   11.974442] cr3: 00000003f2a0c000   cr2: ffff888100109890
(XEN) [   11.980483] fsb: 0000000000000000   gsb: ffff8881352c0000   gss: 0=
000000000000000
(XEN) [   11.988656] ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010  =
 cs: e008
(XEN) [   11.996301] Xen code around <ffff82d040304bdc> (msi.c#write_msi_ms=
g+0xf5/0x16c):
(XEN) [   12.004382]  41 bd 00 00 00 00 eb c2 <0f> 0b 4c 8b 73 28 44 0f b6 =
7b 01 41 8b 14 24 41
(XEN) [   12.012998] Xen stack trace from rsp=3Dffff8303f5367d68:
(XEN) [   12.018772]    ffff8303f5582000 0000000000000000 ffff830401ded840 =
ffff8303f555e000
(XEN) [   12.027036]    0000000000000000 ffff8303f5367dc8 ffff82d040304cd9 =
00000000fee00000
(XEN) [   12.035299]    0000000000004061 ffff8303f5582000 ffff830401ded380 =
ffff82d0403c6340
(XEN) [   12.043560]    ffff830401ded9a0 ffff82d04030b00a 000000010000002a =
ffff82d0403a5aaf
(XEN) [   12.051821]    ffff8303f5367ef8 ffffc90040087afc ffff8303f556f000 =
ffff8303f5569a80
(XEN) [   12.060083]    000000000000002a 00000000000004d8 ffff82d04020ca6f =
0000002aaaaaaaaa
(XEN) [   12.068344]    ffff830401ded380 ffff8303f555e000 00000000000004d8 =
aaaaaaaa00000000
(XEN) [   12.076606]    aaaaaaaaaaaaaaaa ffff8303f5367ef8 0000000000000020 =
ffff8303f554f000
(XEN) [   12.084869]    ffffc90040087afc 0000000000000000 0000000000000002 =
ffff82d0402eb7fc
(XEN) [   12.093130]    ffff88810ff6a228 ffff888100448c90 ffffffffffffffff =
0000000000000000
(XEN) [   12.101393]    0000000000000000 ffff8303f5367ef8 0000000000000000 =
ffff8303f554f000
(XEN) [   12.109654]    0000000000000000 0000000000000000 0000000000000000 =
ffff8303f5367fff
(XEN) [   12.117916]    0000000000000000 ffff82d0402012cd 0000000000000000 =
ffff88810ff6a2a4
(XEN) [   12.126179]    ffff88810ff6a360 0000000000000000 ffff88810236fde0 =
0000000000000060
(XEN) [   12.134442]    0000000000000246 0000000000000000 ffffffff82b3cce0 =
ffff888100448c90
(XEN) [   12.142703]    0000000000000020 ffffffff81df540a ffff88810ff6a228 =
ffffc90040087afc
(XEN) [   12.150966]    0000000000000002 0000010000000000 ffffffff81df540a =
000000000000e033
(XEN) [   12.159227]    0000000000000246 ffffc90040087ae0 000000000000e02b =
c2c2c2c2c2c2c2c2
(XEN) [   12.167489]    c2c2c2c2c2c2c2c2 c2c2c2c2c2c2c2c2 c2c2c2c2c2c2c2c2 =
0000e01000000003
(XEN) [   12.175752]    ffff8303f554f000 00000033b4d9f000 00000000003506e0 =
0000000000000000
(XEN) [   12.184014] Xen call trace:
(XEN) [   12.187388]    [<ffff82d040304bdc>] R msi.c#write_msi_msg+0xf5/0x1=
6c
(XEN) [   12.194407]    [<ffff82d040304cd9>] S set_msi_affinity+0x86/0x93
(XEN) [   12.201071]    [<ffff82d04030b00a>] S pirq_guest_bind+0x2c0/0x484
(XEN) [   12.207823]    [<ffff82d04020ca6f>] S do_event_channel_op+0xad1/0x=
11b0
(XEN) [   12.215019]    [<ffff82d0402eb7fc>] S pv_hypercall+0x55f/0x5dd
(XEN) [   12.221504]    [<ffff82d0402012cd>] S lstar_enter+0x13d/0x150
(XEN) [   12.227899]=20
(XEN) [   12.229943]=20
(XEN) [   12.231987] ****************************************
(XEN) [   12.237584] Panic on CPU 3:
(XEN) [   12.240960] Assertion '(msg->data & (entry[-nr].msi.nvec - 1)) =3D=
=3D nr' failed at arch/x86/msi.c:210
(XEN) [   12.250644] ****************************************

I wonder if similar crash happens on resume with this patch.

BTW, the -nr in the above assert looks suspicious, is it trying to fine
the first entry?

> I wonder if we should unconditionally propagate the write from
> __setup_msi_irq(), as it's also unlikely to make any difference to
> skip that write, and would further keep the previous behavior.
>=20
> Thanks, Roger.
> ---
> commit 1d9bfd0d45f6b547b19f0d2f752fc3bd10103971
> Author: Roger Pau Monne <roger.pau@citrix.com>
> Date:   Mon Mar 17 15:40:11 2025 +0100
>=20
>     x86/msi: always propagate MSI writes when not in active system mode
>    =20
>     Relax the limitation on MSI register writes, and only apply it when t=
he
>     system is in active state.  For example AMD IOMMU drivers rely on usi=
ng
>     set_msi_affinity() to force an MSI register write on resume from
>     suspension.
>    =20
>     The original patch intention was to reduce the number of MSI register
>     writes when the system is in active state.  Leave the other states to
>     always perform the writes, as it's safer given the existing code, and=
 it's
>     expected to not make a difference performance wise.
>    =20
>     Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>     Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if=
 IRT index hasn't changed')
>     Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>=20
> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index 163ccf874720..8bb3bb18af61 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, str=
uct msi_msg *msg,
>  {
>      entry->msg =3D *msg;
> =20
> +    if ( unlikely(system_state !=3D SYS_STATE_active) )
> +        /*
> +         * Always propagate writes when not in the 'active' state.  The
> +         * optimization to avoid the MSI address and data registers writ=
e is
> +         * only relevant for runtime state, and drivers on resume (at le=
ast)
> +         * rely on set_msi_affinity() to update the hardware state.
> +         */
> +        force =3D true;
> +
>      if ( iommu_intremap !=3D iommu_intremap_off )
>      {
>          int rc;

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

--wm3h5sTQXunpJOag
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfYT2gACgkQ24/THMrX
1yxf+Af/SBs+MNjOtEBm5HJvgz+N+pQM+mzkH3Yv0i4jyDZNq2CHDlEwRefFvN0N
PQTOlMLtDu4PexBX9EixNajHQbEmxBsMiXGDMA0POQpJM5Va05b0RVgefurgh10l
JMJZQSrAc7Ncui1XLGtRf1buXqqS09j4QJtYQWhBfO4ZNSKYgINml+k0b1lB720D
7zIm1ig0QYVVOxbOKBCAVEz/b45QxP5EI2Vb571JPfAxKKbVuu4UcePJQtNoSlPA
lAzsQFc20SRVwri9/yRVmjvD6T2iBB8S5qfSbYYmZYbXwjct6OdBJ92cGOv5gRVL
tWCm97MAUKSEO8ycSczU7bkpD379FA==
=mEuy
-----END PGP SIGNATURE-----

--wm3h5sTQXunpJOag--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:37:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917509.1322406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDSy-00052E-Rg; Mon, 17 Mar 2025 16:37:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917509.1322406; Mon, 17 Mar 2025 16:37: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 1tuDSy-000527-Ob; Mon, 17 Mar 2025 16:37:28 +0000
Received: by outflank-mailman (input) for mailman id 917509;
 Mon, 17 Mar 2025 16:37: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=J4wc=WE=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tuDSx-00051z-RC
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:37:27 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061a.outbound.protection.outlook.com
 [2a01:111:f403:2406::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b8dda08-034e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 17:37:26 +0100 (CET)
Received: from BL1P222CA0009.NAMP222.PROD.OUTLOOK.COM (2603:10b6:208:2c7::14)
 by DM3PR12MB9416.namprd12.prod.outlook.com (2603:10b6:0:4b::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.33; Mon, 17 Mar 2025 16:37:21 +0000
Received: from MN1PEPF0000F0E5.namprd04.prod.outlook.com
 (2603:10b6:208:2c7:cafe::99) by BL1P222CA0009.outlook.office365.com
 (2603:10b6:208:2c7::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Mon,
 17 Mar 2025 16:37:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000F0E5.mail.protection.outlook.com (10.167.242.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 17 Mar 2025 16:37:21 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 17 Mar
 2025 11:37:20 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 17 Mar 2025 11:37:19 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b8dda08-034e-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ogoT8aXI3yDtpjYWY1+aYBlptyVYgQj3/NU7eyLoc84lxxmvTE+nwxc1dEGaIXL//4pEMbPkbL2e5eTkgJ5023MjUF3+png3JwrTD3NsKQmpqFvPU1lVuuP2TX/I3EYZaM3HKm3cYm+qoemGhQ1vpqPXrwCjmMMhG+MRhizAC98OsRbSakObi3j3cBLTvhpr6CZfK1hX/oS/7cVJ+iJkD3aDGL5CUXzhnWvFkN3oD04uQHKzHGEjzlbRBkP1FdkK/OrKk+5JjIMoYSVz55pWcv5EodJyoFoHuuEHFSa/kXzS2tO6IMAFU+iZmRD0doa8aMgyxw6G3Wga8p8ib/yfCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sDJYWTcfnZ31VuFH5iGTJG2LI/i+KQLO7hgmYkxFWJ8=;
 b=fp3YWdB1zs5TOdPVwhO6GG/sVt1v5Orj6BsyLTo4wlMwm8qX5DtdcGY8cOiDKvq8sGt0AtmitrKBs6gjWN9rZ1MdHLMbOfjgoF9ekO3z//MvyJaxVMFzo/J6Ju4vYhg0cfnJs6vBXJJm99Sn91C126xrQZeAOUc96UXIK4DdZJNfTzdEuo6SNAv2ThTUMuufSEul6l5SvsqfTBeO2GRhde4rGaQZJu9c5Vg5tzmI9+WkgaaumhvvqlQvtyMKPRFGOHg1/8nwh25d59uvI/8KAf2e75i1ZLx5dLcQTa3pWe1BgaF/nKGqtV7mBXc0j82sJ6wSL016xULerqjKhVwmfQ==
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=sDJYWTcfnZ31VuFH5iGTJG2LI/i+KQLO7hgmYkxFWJ8=;
 b=D3s2EwUqiXMz87aHo3Z9lTtMJPJ9yNQhXW4Hws9DxVv/fTz1NGuwVcDRYZCewAcBrGtFBW1J3YNcx3uRYTq6i7o3pyKCMJNAbmX2m2I3YooP/39Fy3X4cy3vCR4SeRBIus+EqbD4W/v/5yakTuEowXvf227pLsN4yVrXWfaebaE=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <3360d9dd-9be5-4ae3-8c9a-f35e1873058b@amd.com>
Date: Mon, 17 Mar 2025 12:37:14 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 19/23] xsm/dummy: Allow sysctls to both hardware and
 control
To: Jan Beulich <jbeulich@suse.com>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-20-jason.andryuk@amd.com>
 <9ca3ec40-7b90-444c-a682-bcb5f17bd3d4@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <9ca3ec40-7b90-444c-a682-bcb5f17bd3d4@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: MN1PEPF0000F0E5:EE_|DM3PR12MB9416:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e83b0e3-e49b-4a57-6b89-08dd6571fd45
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?ek4wNjVCdVdicitrVnBQc3VOZWh3UWdVK1ZLWUlFc2JITUo1b24yQzNndkx6?=
 =?utf-8?B?djBpOVJCT3hYcnUrTFM3N0xyelhsTjZhTGFIQ1lhYllidUg5NlFKSTc3bGVL?=
 =?utf-8?B?Ri9kZVF6N1YxNERIcFhWejJGUDhrczF1dVo4UHB3bUFQblNndlg4SUZxYlBu?=
 =?utf-8?B?bGpudVhRb1lLWStSZFUyYm9MTDNldDVmVmYzaFJMYldmaTUzMnpyNjkzZlFR?=
 =?utf-8?B?am5FbkpLVUlzYnNvSjJGOGZuZFBVU3VQanE5K09RZ0V5VUM0SjZ1ekdkVW9L?=
 =?utf-8?B?OVZrYy9OYmhZbzVUY21SQnl3NXRhK0VPYXJrbjBHdWp4NmgreXdudHhENi9X?=
 =?utf-8?B?K1NBNUdBNlkwdGlPWW9FNHNjR2dmeDlNZU5SQmtNcTFHQVpqY0NpRGluMXhB?=
 =?utf-8?B?bFl5ZCtlYjRXRS9yL0FPRkcrRUdWRldzL25TWHlKUzdJdEVPV3JwMm1tYlpZ?=
 =?utf-8?B?YlloNzVsVkE4SzN6cGlzVk83b0tJTTAxL3FJVWNjdzFWWjY2NTVPV1B2Yktr?=
 =?utf-8?B?SW9CcURmZDVNQS9ZM3lSMmYwQkRYZnpXZzROTXg3NXVwQmlYOXZSUnpycXdI?=
 =?utf-8?B?ajhBY3gyeWVabGE1L2ZaOVlXRTlpMTRaR1k2SkpDeTRSb3B1Wk9jeWtsL2tq?=
 =?utf-8?B?TjFNZ3M4SHRMNEJJSEk4cTBBWFJZbFZWallUNmExL3RkOXNBWFZJSU9TSEpI?=
 =?utf-8?B?YWZxcFFDbFlTT21kN28wdStodzFNczRJWlZhWnNxamJyVWpHRDQweUlzbkZL?=
 =?utf-8?B?NWhFeDRHOEQxOHFmNTNzaW5JS1NhVDN1b3IwSGJEZG5UMU9lSENaZEVnNFUw?=
 =?utf-8?B?RzNnWGVmeG9vekh1MEdRbzNFVldxUzhnWEpDS012dW1LUElFZWp0dk9CM0dj?=
 =?utf-8?B?bWRBeVB6NVVxZFFPQVdiM3F4ZEpRTmxXNlVZM0dMdXR5S3JaL1prOVI4QzBB?=
 =?utf-8?B?VFFsTEtKWjdFalZWVGdIMXd0RXVvc2hLaFd0NWR6L3FVYXNmd2ErQ093UXI3?=
 =?utf-8?B?d1E4RXkvdEhJbHlkdVBWeXk5eTZiSlpKSVNYWlRCYU9rM0l5Uy9UN0x4aU9Z?=
 =?utf-8?B?aWIySVhDYjFBRWIrak5PWTU4dXAyOE83bDR5bHhRVGdwdkpjRDM3UUx2YkEr?=
 =?utf-8?B?bkFVV2lET1ZqYnQ1MEJTWFRrM0VSS0RYWkVDMlZRNk9rZWNKR1hJR1pDYjF3?=
 =?utf-8?B?NC9HQ1hySTFEUm9DTWRDZHhPR3hPek0zYWdIYk03c0FLajkveEJIUVNXTlBF?=
 =?utf-8?B?ZTE2YW9oYXFPL1VaU3NJL09BVitvWGJTUTBuWlRaVlBZeEo3aFcydzdzQm1v?=
 =?utf-8?B?NjNvVSszOWN1M2w1RnYwN3BSd1pkaFNJWnF5T1NJYjk0R3VXb29hUDRSdXdF?=
 =?utf-8?B?NStpVEZnYmVManU4MVVZempweFRUcmE3SG1xdy9Gek5sZjh2N1hPT1hhcFdP?=
 =?utf-8?B?NCtBc0dPQUNtWEt5WXZhMzZpQ1FLK0hVRjREdTV0UUt5MjZsNnR1UG10R3NT?=
 =?utf-8?B?dWgyZVQvR1Y0Mnl5NGVuVU1UblhFeWh5VVhWZER1bGtFWFVwTWk3aFYwRkxD?=
 =?utf-8?B?RTZ0YTlHaGQyaUhUbWhuOVV6Tk5JNXZtRHlBdXY0WmxvUE53OXAzbnZ1bmhL?=
 =?utf-8?B?bXVoZk5tUTdwaGYvVWo2WEZBU1hFWTRDZG5tQXVhakttRjczbW1WejRUZytl?=
 =?utf-8?B?c0w2T2NkNmdJNStZQjZ1ZWwvYml0eSsxUDAzQVlNQ1N4QnhpWVpHMDRVWVhE?=
 =?utf-8?B?NjR2MWk0VnlDMkNBN2RoMXhwdjJQNVRjd2hObzA5amthOWtvVkF1RlRIOHE0?=
 =?utf-8?B?dUFZdGJxQzg5bEcwa2xLK0o5YllJeEhEZ0J0Uy9aaXErN1RCSEZpUU9oQ2pE?=
 =?utf-8?B?d1lubm43c3RIaDJIbW42a3pjWjFPN01zK1diUlRJOCtzZ0IwVDJDaW03cVRn?=
 =?utf-8?B?RzVYRWJsQythRTh5NU1Wd1llR3RneGdZL2RxQnpuR0p6YUVGS0pWZzhHSEty?=
 =?utf-8?Q?02kaxZn+NOtUlucVopAHqNqKfMJOUU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 17 Mar 2025 16:37:21.0904
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e83b0e3-e49b-4a57-6b89-08dd6571fd45
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E5.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9416

On 2025-03-17 10:36, Jan Beulich wrote:
> On 06.03.2025 23:03, Jason Andryuk wrote:
>> xl queries SYSCTL_physinfo for the physical cpus:
>> domU:~# xl list
>> libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
>> libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
>> libxl: error: libxl_utils.c:817:libxl_cpu_bitmap_alloc: failed to retrieve the maximum number of cpus
>> Name                    ID   Mem VCPUs        State   Time(s)
>> Domain-0                 0   800     1     r-----     130.0
>> dom0less-1               1   400     1     r-----     130.3
>> dom0less-2               2   800     1     r-----     130.3
>>
>> Hardware and control are both privileged.  Allow them both access to
>> sysctls so they have insight into the running system.  This is coarse
>> grained permissions for the dummy policy.
> 
> In an earlier patch you alluded to the control domain being guarded against
> the hardware one. Shouldn't hwdom be limited operations retrieving info,
> but refused to make any changes to the system? Or maybe some kinds of
> changes are to be done by hwdom, but then shouldn't be possible to be made
> by the control domain?

As an example, with ACPI living in the hardware_domain, it would be the 
domain to issue XEN_SYSCTL_pm_op to upload cpufreq data.  But then 
control domain should be in charge of controlling how the system is 
running by setting cpufreq parameters.

>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -194,9 +194,10 @@ static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
>>       case XEN_SYSCTL_getdomaininfolist:
>>           return xsm_default_action(XSM_XS_PRIV, current->domain, NULL);
>>       case XEN_SYSCTL_readconsole:
>> -    case XEN_SYSCTL_physinfo:
> 
> Didn't you add this line just a single patch ago?

Yes.  The previous patch was a minimal change.  This patch is a maximal 
change.  I thought this could be rejected and didn't want to merge the 
two.  Though XEN_SYSCTL_physinfo should be handled better even for the 
minimal change.

This patch may go too far, hardware domain does have legitimate use to 
some sysctls.  For a coarse, base policy I went with allowing more to 
hardware domain.  Hardware domain can't be untrusted, so I erred on the 
side of more permissions rather than fewer.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 16:45:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 16:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917523.1322415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDaj-0008Ht-Lf; Mon, 17 Mar 2025 16:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917523.1322415; Mon, 17 Mar 2025 16:45: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 1tuDaj-0008Hm-IX; Mon, 17 Mar 2025 16:45:29 +0000
Received: by outflank-mailman (input) for mailman id 917523;
 Mon, 17 Mar 2025 16:45: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=34V3=WE=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuDah-0008Hg-Rh
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 16:45:27 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a836279-034f-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 17:45:26 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-ac27cb35309so769831466b.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 09:45:26 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314858a8fsm681408666b.80.2025.03.17.09.45.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 09:45: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: 3a836279-034f-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742229926; x=1742834726; 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=lLtdOXGUKb+gzM89xEuLuV0E9VyAPUANd/cKWsBd9IQ=;
        b=dc3EUvawq2Z7S7SdWPeB/JKtqx1xhL9SdSXJaojznwFNCRcUf+QwKy0qnVn/t/3RSn
         FEFYbbVwelpFluD9uKKxFDtur98OcXvEEbVnyMKm7OO+wa0MnBQLikKxkN0mIs/lBHh4
         uWKIjUlHALdRLcz6UwQTFa5Q9IZx2QevFMrI6y9lloeiAwAXgbUr0U6hg7wGmejdBrDC
         qEt8XQPaYafYVUfML7GRbRK8UwxqxNkqkbL/pIBdj2FCqBcZaEOo27hu80vHp757lLJU
         h587o8pWNbL3KOsawnPuV2xfPQqa54h3h33eYFHwg3beTF3uYW57XQc0tRZa5yvBTkQV
         lOrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742229926; x=1742834726;
        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=lLtdOXGUKb+gzM89xEuLuV0E9VyAPUANd/cKWsBd9IQ=;
        b=AQ9s8QVTMsSVlNekvQZfLU5LYh9AxCDIFZOo6Jp+FR2eyMyHIiw2WcjrfSt6mBWb3E
         tRDaSlDD47BYhgSGGQkQNE8M0hcHPNVzaTGSYpJbKRKZN6uM/aNRmVW0OBeyhj0Lf2K4
         cS6DAEmmxTTFZR/ShzNuuhr/nEGZPiYoys62Os/tk8YxIRDrq5lUgTun+HGJOnflQN+Q
         8eztsJUAyrxOpM8PXOTkduzWmJo/cIG3wbZHA2jHZTplRSHK5kBEKYxDpEe6Za+s2mO2
         NMLDlm8QJmMjiXFZBicgD25jydM39pdSlwkB2sYlNRxnVi7YqG9oDosjMX/NmkMn3sgh
         DVkg==
X-Forwarded-Encrypted: i=1; AJvYcCXr2dEvmOWzyK4JjsnnoD+niM3O+YizzlMGq26r+QWVNpD6wLnqpSYGMIQmSsyI1cUMnqkd6RBTlx8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVHC6YNqFFQgfhA6F7A2sqV+Y1jzSdY/gWflnaVD79A4XjDf0y
	e2tZKNHEvqiuEaTaYSDgiEXUXwIbKT4EwFEMpK5nyMFNJD1l5J2r
X-Gm-Gg: ASbGncs3ZDkZFMIBtBuNcqS1KPlmbiaWuPEFoTMwiVjM2EQHT0hPKf1EXcAgrL3GKdz
	+QYrbe6OD77uR3P1JKLBA1ES1YMnTpC1XxMTOlj1tZHOLfAfQJ1jj9aYdT1sef2GaUwNzJkIdg6
	qt1KasWbch9kzhnoOjI3FS5BI2KvSHBdgU8X616bjyi2XvpZ/cNhd2a2piaNY/tWcyuRTUh3LbD
	eaFFNxomEGXKMLzWumjkzUnz0byyIZpaQTfciYfZ6V89GnkLOKxdn6ZgG/b1yuYP2KO6IYuFb5o
	q7PPElNM/BqXUrqVAovm+OZ9eDU80zunHaTTmD1USN4pz1MhnPPeGzaE1v+mRmvPcDUsEKl7l+J
	5qvvtqTuQy6uVRh8qq/7G
X-Google-Smtp-Source: AGHT+IETDFFJEhlTQYTQPdXbgsQvYe9QH+AEBCdZAv7mgtBkZ0lAQungI9nRxPYW5rw8xSleVA+3PA==
X-Received: by 2002:a17:907:c88a:b0:ac3:8976:8e4f with SMTP id a640c23a62f3a-ac389769a2fmr101323366b.2.1742229925847;
        Mon, 17 Mar 2025 09:45:25 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------uHe4yYhL36akIsXWa8Ahth68"
Message-ID: <3b3a97cc-9389-4fec-83bc-cdefdfa4b6a3@gmail.com>
Date: Mon, 17 Mar 2025 17:45:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 8/8] automation/cirrus-ci: add smoke tests for the FreeBSD
 builds
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>,
 Community Manager <community.manager@xenproject.org>
References: <20250317121616.40687-1-roger.pau@citrix.com>
 <20250317121616.40687-9-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250317121616.40687-9-roger.pau@citrix.com>

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


On 3/17/25 1:16 PM, Roger Pau Monne wrote:
> Introduce a basic set of smoke tests using the XTF selftest image, and run
> them on QEMU.  Use the matrix keyword to create a different task for each
> XTF flavor on each FreeBSD build.
>
> Signed-off-by: Roger Pau MonnĂŠ<roger.pau@citrix.com>
> ---
> I've used the current version of FreeBSD to run the tests, but it might be
> safer to use the latest production (release) version instead.
> ---
>   .cirrus.yml  | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>   CHANGELOG.md |  1 +

Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
~ Oleksii

>   2 files changed, 55 insertions(+)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index c74d5cf6eb9a..9c8b4b235cfd 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -5,6 +5,8 @@ freebsd_versions: &FREEBSD_VERSIONS
>       FREEBSD_14: freebsd-14-2
>       FREEBSD_15: freebsd-15-0-snap
>   
> +# Build jobs
> +
>   freebsd_template: &FREEBSD_ENV
>     environment:
>       APPEND_LIB: /usr/local/lib
> @@ -118,3 +120,55 @@ task:
>     xtf_artifacts:
>       path: xtf/tests/selftest/test-*-selftest
>       type: application/octet-stream
> +
> +# Test jobs
> +
> +task:
> +  name: 'FreeBSD: XTF selftest'
> +
> +  << : *FREEBSD_ENV_LATEST
> +
> +  env:
> +    matrix:
> +      FREEBSD_BUILD: $FREEBSD_13
> +      FREEBSD_BUILD: $FREEBSD_14
> +      FREEBSD_BUILD: $FREEBSD_15
> +
> +  depends_on:
> +    - freebsd_full_$FREEBSD_BUILD
> +    - xtf
> +
> +  install_script: pkg install -y qemu-nox11 expect
> +
> +  env:
> +    matrix:
> +      XTF_ARCH: hvm32
> +      XTF_ARCH: hvm32pae
> +      XTF_ARCH: hvm32pse
> +      XTF_ARCH: hvm64
> +      XTF_ARCH: pv64
> +
> +  fetch_script:
> +    - fetchhttps://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/xtf/xtf.zip
> +    - fetchhttps://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/freebsd_full_$FREEBSD_BUILD/xen.zip
> +    - unzip xtf.zip
> +    - unzip xen.zip
> +
> +  test_script: |
> +    case "$XTF_ARCH" in \
> +      *hvm*) \
> +        XEN_EXTRA_CMD="dom0=pvh dom0-iommu=none" \
> +        ;; \
> +    esac
> +    export TEST_CMD="qemu-system-x86_64 -kernel xen/xen -initrd xtf/tests/selftest/test-${XTF_ARCH}-selftest \
> +                                        -append \"loglvl=all console=com1 noreboot console_timestamps=boot dom0=verbose ${XEN_EXTRA_CMD}\" \
> +                                        -m 512 -nographic -monitor none -serial stdio"
> +    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\+$//'
> +
> +  always:
> +    serial_artifacts:
> +      path: serial-*.txt
> +      type: text/plain
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 7201c484f899..16c14e933c80 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>    - On x86:
>      - Option to attempt to fixup p2m page-faults on PVH dom0.
>      - Resizable BARs is supported for PVH dom0.
> +   - Smoke tests for the FreeBSD Xen builds in Cirrus CI.
>   
>   ### Removed
>   
--------------uHe4yYhL36akIsXWa8Ahth68
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 3/17/25 1:16 PM, Roger Pau Monne
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250317121616.40687-9-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">Introduce a basic set of smoke tests using the XTF selftest image, and run
them on QEMU.  Use the matrix keyword to create a different task for each
XTF flavor on each FreeBSD build.

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've used the current version of FreeBSD to run the tests, but it might be
safer to use the latest production (release) version instead.
---
 .cirrus.yml  | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 CHANGELOG.md |  1 +</pre>
    </blockquote>
    <pre>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:20250317121616.40687-9-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">
 2 files changed, 55 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index c74d5cf6eb9a..9c8b4b235cfd 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -5,6 +5,8 @@ freebsd_versions: &amp;FREEBSD_VERSIONS
     FREEBSD_14: freebsd-14-2
     FREEBSD_15: freebsd-15-0-snap
 
+# Build jobs
+
 freebsd_template: &amp;FREEBSD_ENV
   environment:
     APPEND_LIB: /usr/local/lib
@@ -118,3 +120,55 @@ task:
   xtf_artifacts:
     path: xtf/tests/selftest/test-*-selftest
     type: application/octet-stream
+
+# Test jobs
+
+task:
+  name: 'FreeBSD: XTF selftest'
+
+  &lt;&lt; : *FREEBSD_ENV_LATEST
+
+  env:
+    matrix:
+      FREEBSD_BUILD: $FREEBSD_13
+      FREEBSD_BUILD: $FREEBSD_14
+      FREEBSD_BUILD: $FREEBSD_15
+
+  depends_on:
+    - freebsd_full_$FREEBSD_BUILD
+    - xtf
+
+  install_script: pkg install -y qemu-nox11 expect
+
+  env:
+    matrix:
+      XTF_ARCH: hvm32
+      XTF_ARCH: hvm32pae
+      XTF_ARCH: hvm32pse
+      XTF_ARCH: hvm64
+      XTF_ARCH: pv64
+
+  fetch_script:
+    - fetch <a class="moz-txt-link-freetext" href="https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/xtf/xtf.zip">https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/xtf/xtf.zip</a>
+    - fetch <a class="moz-txt-link-freetext" href="https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/freebsd_full_$FREEBSD_BUILD/xen.zip">https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/freebsd_full_$FREEBSD_BUILD/xen.zip</a>
+    - unzip xtf.zip
+    - unzip xen.zip
+
+  test_script: |
+    case "$XTF_ARCH" in \
+      *hvm*) \
+        XEN_EXTRA_CMD="dom0=pvh dom0-iommu=none" \
+        ;; \
+    esac
+    export TEST_CMD="qemu-system-x86_64 -kernel xen/xen -initrd xtf/tests/selftest/test-${XTF_ARCH}-selftest \
+                                        -append \"loglvl=all console=com1 noreboot console_timestamps=boot dom0=verbose ${XEN_EXTRA_CMD}\" \
+                                        -m 512 -nographic -monitor none -serial stdio"
+    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\+$//'
+
+  always:
+    serial_artifacts:
+      path: serial-*.txt
+      type: text/plain
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7201c484f899..16c14e933c80 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,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>)
  - On x86:
    - Option to attempt to fixup p2m page-faults on PVH dom0.
    - Resizable BARs is supported for PVH dom0.
+   - Smoke tests for the FreeBSD Xen builds in Cirrus CI.
 
 ### Removed
 
</pre>
    </blockquote>
  </body>
</html>

--------------uHe4yYhL36akIsXWa8Ahth68--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 17:02:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 17:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917535.1322427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuDrT-0004fD-1l; Mon, 17 Mar 2025 17:02:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917535.1322427; Mon, 17 Mar 2025 17:02: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 1tuDrS-0004f6-Tk; Mon, 17 Mar 2025 17:02:46 +0000
Received: by outflank-mailman (input) for mailman id 917535;
 Mon, 17 Mar 2025 17:02: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuDrR-0004ey-Ar
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 17:02:45 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a426d581-0351-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 18:02:43 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-22398e09e39so99265925ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 10:02:43 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-225c6bbe905sm77694415ad.190.2025.03.17.10.02.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 10:02: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: a426d581-0351-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742230962; x=1742835762; 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=0KdeYQZxMITCKW2YracoyMvGqqsB+WIg6tW1xi9WJ6o=;
        b=bRcndbgnkKTxixGA5eToFq5PBTtEjeQSABRioL3Gur+s4wL68evyZqCTJWfvI0AaX+
         hqdak+0y239zEATvzdfBLId/+V1ZbJIy/Dvv7Xx+m/3WkEYx+xk8qRSXzvYBcdpvkqKf
         L9yt7fUVknJ0Q/mndhfEhhuDj2Cj56CNIBhjixUviqgmanaDwbRQqgjo3EXlNGQ6HrKR
         8JzMHao3+p0ESNEtRLY3OD0IqMvF4FFfl3vj1azgplIqdRbbHjeBSJ8icvYRaQGr/th+
         IRHPup7mjlsXG5PhtgrRsb/BQ6nBsaHYuR4ri6RdstdkX5SfTpWWG5WI/YZ5PcglZhvL
         cKAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742230962; x=1742835762;
        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=0KdeYQZxMITCKW2YracoyMvGqqsB+WIg6tW1xi9WJ6o=;
        b=K4wERNEUmOfwVqllGdpg5yCtC4YaslXm1lsYv8YrXF/p/wdVTkV+3hFzMAFPDDfm0M
         rw23H0a8V7RE/qVgjkZ1P+b47+LxtKYsdSB0LNWavz0qyBudDnmVMgAkS5MnnpV2gwzO
         uRtGANOQCcXGU/6Ky8j8HBFPbh5lqLJQhxSYSxiVkaFE9Mcqwx5x+T0EElEhhovtFKwB
         Or0L0TPu1tk2euQrp1hktg5gyGPbLUS/9Mpot4OLM4kw3Xp6wVC3X/h8mGmz+UQDnPQu
         yXWv7jwDvc50OWIe4h0gg8Zh5ODMyDaR1jQUUPPhLq3bOO3x72GW7yCAW+oD1sqN/qnb
         zpig==
X-Forwarded-Encrypted: i=1; AJvYcCVpFmKPMbhhaJgWp7ICeEP8xUXC0Nfr2hAePT64AbZFpl/g3MiUCPi3+5ZT2ZMp2yPcIfPYP0aqAIE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWm/IvtkJ6mcpvXP6NOqkC33YaypHC6y43wAPt1659dY2jVzhX
	RizbIELYKsDc93JajYjNWvx9Fxg4wiGhzG5utUyQ8ozRE37OvfdgbtUzNBT5cQA=
X-Gm-Gg: ASbGncsKTfqJLLNFtQrYFTU+NWG3ebwO7zmvVVtwARG+IfHQmdpDwyiPxOF9gT0hxaG
	XeBcn0eQ3kSQAGQXpniTqVKOQTe6y8+J3cJWEccHjAgMxGhAKZmj/ArIOWh2a0AlErxrzSww5yI
	PjFrfIkPbjXE9ZBzt9cflJ4A2aiTJw15kut/umxRQk7s3aCLlpuOxaMNjJP/5OLhikFzIkrl2Vk
	MR4/pPw62dXE4T8c8KWTIFrD1L0jJy6PqkxuKtcLiAC6JYrXmk4rFUO8Ml3Y78CmSX6qQuv3p7i
	gwd5WT/M6yj8JS+saFxceEjex0xzKr5qKS39+kfagQf96Rwqy2GFsVv6eg==
X-Google-Smtp-Source: AGHT+IE96+IQ6oKtgk11tBS7t87MDWjDBBfjgGEDyxjnsPlxW2vYa3f+I8+TbfFUdxKcglJZ9KvdSg==
X-Received: by 2002:a17:902:7488:b0:224:826:277f with SMTP id d9443c01a7336-225e0af5bc8mr124296695ad.33.1742230962248;
        Mon, 17 Mar 2025 10:02:42 -0700 (PDT)
Message-ID: <476e8dd7-08fc-49a8-8596-41ae91321738@linaro.org>
Date: Mon, 17 Mar 2025 10:02:40 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 11/17] exec/ram_addr: call xen_hvm_modified_memory only
 if xen is enabled
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Yoshinori Sato <ysato@users.sourceforge.jp>,
 Paul Durrant <paul@xen.org>, Peter Xu <peterx@redhat.com>,
 alex.bennee@linaro.org, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 David Hildenbrand <david@redhat.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, qemu-riscv@nongnu.org,
 manos.pitsidianakis@linaro.org, Palmer Dabbelt <palmer@dabbelt.com>,
 Anthony PERARD <anthony@xenproject.org>, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Weiwei Li <liwei1518@gmail.com>
References: <20250314173139.2122904-1-pierrick.bouvier@linaro.org>
 <20250314173139.2122904-12-pierrick.bouvier@linaro.org>
 <ad7cdcaf-46d6-460f-8593-a9b74c600784@linaro.org>
 <edc3bc03-b34f-4bed-be0d-b0fb776a115b@linaro.org>
 <9c55662e-0c45-4bb6-83bf-54b131e30f48@linaro.org>
 <d93f6514-6d42-467d-826b-c95c6efd66b1@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <d93f6514-6d42-467d-826b-c95c6efd66b1@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xNy8yNSAwOToyMywgUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JvdGU6DQo+IE9u
IDE3LzMvMjUgMTc6MjIsIFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIHdyb3RlOg0KPj4gT24g
MTcvMy8yNSAxNzowNywgUGllcnJpY2sgQm91dmllciB3cm90ZToNCj4+PiBPbiAzLzE3LzI1
IDA4OjUwLCBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSB3cm90ZToNCj4+Pj4gT24gMTQvMy8y
NSAxODozMSwgUGllcnJpY2sgQm91dmllciB3cm90ZToNCj4+Pj4+IFJldmlld2VkLWJ5OiBS
aWNoYXJkIEhlbmRlcnNvbiA8cmljaGFyZC5oZW5kZXJzb25AbGluYXJvLm9yZz4NCj4+Pj4+
IFNpZ25lZC1vZmYtYnk6IFBpZXJyaWNrIEJvdXZpZXIgPHBpZXJyaWNrLmJvdXZpZXJAbGlu
YXJvLm9yZz4NCj4+Pj4+IC0tLQ0KPj4+Pj4gIMKgwqAgaW5jbHVkZS9leGVjL3JhbV9hZGRy
LmggfCA4ICsrKysrKy0tDQo+Pj4+PiAgwqDCoCAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRp
b25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPj4+Pj4NCj4+Pj4+IGRpZmYgLS1naXQgYS9pbmNs
dWRlL2V4ZWMvcmFtX2FkZHIuaCBiL2luY2x1ZGUvZXhlYy9yYW1fYWRkci5oDQo+Pj4+PiBp
bmRleCBmNWQ1NzQyNjFhMy4uOTJlODcwOGFmNzYgMTAwNjQ0DQo+Pj4+PiAtLS0gYS9pbmNs
dWRlL2V4ZWMvcmFtX2FkZHIuaA0KPj4+Pj4gKysrIGIvaW5jbHVkZS9leGVjL3JhbV9hZGRy
LmgNCj4+Pj4+IEBAIC0zMzksNyArMzM5LDkgQEAgc3RhdGljIGlubGluZSB2b2lkDQo+Pj4+
PiBjcHVfcGh5c2ljYWxfbWVtb3J5X3NldF9kaXJ0eV9yYW5nZShyYW1fYWRkcl90IHN0YXJ0
LA0KPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0NCj4+Pj4+ICDCoMKgwqDCoMKgwqAg
fQ0KPj4+Pj4gLcKgwqDCoCB4ZW5faHZtX21vZGlmaWVkX21lbW9yeShzdGFydCwgbGVuZ3Ro
KTsNCj4+Pj4+ICvCoMKgwqAgaWYgKHhlbl9lbmFibGVkKCkpIHsNCj4+Pj4+ICvCoMKgwqDC
oMKgwqDCoCB4ZW5faHZtX21vZGlmaWVkX21lbW9yeShzdGFydCwgbGVuZ3RoKTsNCj4+Pj4N
Cj4+Pj4gUGxlYXNlIHJlbW92ZSB0aGUgc3R1YiBhbHRvZ2V0aGVyLg0KPj4+Pg0KPj4+DQo+
Pj4gV2UgY2FuIGV2ZW50dWFsbHkgaWZkZWYgdGhpcyBjb2RlIHVuZGVyIENPTkZJR19YRU4s
IGJ1dCBpdCBtYXkgc3RpbGwNCj4+PiBiZSBhdmFpbGFibGUgb3Igbm90LiBUaGUgbWF0Y2hp
bmcgc3R1YiBmb3IgeGVuX2h2bV9tb2RpZmllZF9tZW1vcnkoKQ0KPj4+IHdpbGwgYXNzZXJ0
IGluIGNhc2UgaXQgaXMgcmVhY2hlZC4NCj4+Pg0KPj4+IFdoaWNoIGNoYW5nZSB3b3VsZCB5
b3UgZXhwZWN0IHByZWNpc2VseT8NCj4+DQo+PiAtLSA+OCAtLQ0KPj4gZGlmZiAtLWdpdCBh
L2luY2x1ZGUvc3lzdGVtL3hlbi1tYXBjYWNoZS5oIGIvaW5jbHVkZS9zeXN0ZW0veGVuLW1h
cGNhY2hlLmgNCj4+IGluZGV4IGI2OGYxOTZkZGQ1Li5iYjQ1NGE3Yzk2YyAxMDA2NDQNCj4+
IC0tLSBhL2luY2x1ZGUvc3lzdGVtL3hlbi1tYXBjYWNoZS5oDQo+PiArKysgYi9pbmNsdWRl
L3N5c3RlbS94ZW4tbWFwY2FjaGUuaA0KPj4gQEAgLTE0LDggKzE0LDYgQEANCj4+DQo+PiAg
IMKgdHlwZWRlZiBod2FkZHIgKCpwaHlzX29mZnNldF90b19nYWRkcl90KShod2FkZHIgcGh5
c19vZmZzZXQsDQo+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmFtX2FkZHJf
dCBzaXplKTsNCj4+IC0jaWZkZWYgQ09ORklHX1hFTl9JU19QT1NTSUJMRQ0KPj4gLQ0KPj4g
ICDCoHZvaWQgeGVuX21hcF9jYWNoZV9pbml0KHBoeXNfb2Zmc2V0X3RvX2dhZGRyX3QgZiwN
Cj4+ICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHZvaWQgKm9wYXF1ZSk7DQo+PiAgIMKgdWludDhfdCAqeGVuX21hcF9jYWNoZShNZW1vcnlS
ZWdpb24gKm1yLCBod2FkZHIgcGh5c19hZGRyLCBod2FkZHIgc2l6ZSwNCj4+IEBAIC0yOCw0
NCArMjYsNSBAQCB2b2lkIHhlbl9pbnZhbGlkYXRlX21hcF9jYWNoZSh2b2lkKTsNCj4+ICAg
wqB1aW50OF90ICp4ZW5fcmVwbGFjZV9jYWNoZV9lbnRyeShod2FkZHIgb2xkX3BoeXNfYWRk
ciwNCj4+ICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh3YWRkciBuZXdfcGh5c19hZGRyLA0KPj4gICDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgaHdhZGRyIHNpemUpOw0KPj4gLSNlbHNlDQo+PiAtDQo+PiAtc3RhdGljIGlu
bGluZSB2b2lkIHhlbl9tYXBfY2FjaGVfaW5pdChwaHlzX29mZnNldF90b19nYWRkcl90IGYs
DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAqb3BhcXVlKQ0KPj4gLXsNCj4+IC19
DQo+PiAtDQo+PiAtc3RhdGljIGlubGluZSB1aW50OF90ICp4ZW5fbWFwX2NhY2hlKE1lbW9y
eVJlZ2lvbiAqbXIsDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh3YWRkciBwaHlzX2FkZHIs
DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh3YWRkciBzaXplLA0KPj4gLcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCByYW1fYWRkcl90IHJhbV9hZGRyX29mZnNldCwNCj4+IC3CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgdWludDhfdCBsb2NrLA0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBib29sIGRtYSwN
Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYm9vbCBpc193cml0ZSkNCj4+IC17DQo+PiAtwqDC
oMKgIGFib3J0KCk7DQo+PiAtfQ0KPj4gLQ0KPj4gLXN0YXRpYyBpbmxpbmUgcmFtX2FkZHJf
dCB4ZW5fcmFtX2FkZHJfZnJvbV9tYXBjYWNoZSh2b2lkICpwdHIpDQo+PiAtew0KPj4gLcKg
wqDCoCBhYm9ydCgpOw0KPj4gLX0NCj4+IC0NCj4+IC1zdGF0aWMgaW5saW5lIHZvaWQgeGVu
X2ludmFsaWRhdGVfbWFwX2NhY2hlX2VudHJ5KHVpbnQ4X3QgKmJ1ZmZlcikNCj4+IC17DQo+
PiAtfQ0KPj4gLQ0KPj4gLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5faW52YWxpZGF0ZV9tYXBf
Y2FjaGUodm9pZCkNCj4+IC17DQo+PiAtfQ0KPj4gLQ0KPj4gLXN0YXRpYyBpbmxpbmUgdWlu
dDhfdCAqeGVuX3JlcGxhY2VfY2FjaGVfZW50cnkoaHdhZGRyIG9sZF9waHlzX2FkZHIsDQo+
PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHdhZGRyIG5ld19w
aHlzX2FkZHIsDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
aHdhZGRyIHNpemUpDQo+PiAtew0KPj4gLcKgwqDCoCBhYm9ydCgpOw0KPj4gLX0NCj4+IC0N
Cj4+IC0jZW5kaWYNCj4+DQo+PiAgIMKgI2VuZGlmIC8qIFhFTl9NQVBDQUNIRV9IICovDQo+
IA0KPiAoc29ycnksIHRoZSBpbmNsdWRlL3N5c3RlbS94ZW4tbWFwY2FjaGUuaCBjaGFuZ2Ug
aXMgZm9yIHRoZSBuZXh0IHBhdGNoKQ0KPiANCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3N5
c3RlbS94ZW4uaCBiL2luY2x1ZGUvc3lzdGVtL3hlbi5oDQo+PiBpbmRleCA5OTBjMTlhOGVm
MC4uMDRmZTMwY2NhNTAgMTAwNjQ0DQo+PiAtLS0gYS9pbmNsdWRlL3N5c3RlbS94ZW4uaA0K
Pj4gKysrIGIvaW5jbHVkZS9zeXN0ZW0veGVuLmgNCj4+IEBAIC0zMCwyNSArMzAsMTYgQEAg
ZXh0ZXJuIGJvb2wgeGVuX2FsbG93ZWQ7DQo+Pg0KPj4gICDCoCNkZWZpbmUgeGVuX2VuYWJs
ZWQoKcKgwqDCoMKgwqDCoMKgwqDCoMKgICh4ZW5fYWxsb3dlZCkNCj4+DQo+PiAtdm9pZCB4
ZW5faHZtX21vZGlmaWVkX21lbW9yeShyYW1fYWRkcl90IHN0YXJ0LCByYW1fYWRkcl90IGxl
bmd0aCk7DQo+PiAtdm9pZCB4ZW5fcmFtX2FsbG9jKHJhbV9hZGRyX3QgcmFtX2FkZHIsIHJh
bV9hZGRyX3Qgc2l6ZSwNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgc3RydWN0IE1lbW9yeVJlZ2lvbiAqbXIsIEVycm9yICoqZXJycCk7DQo+PiAtDQo+PiAg
IMKgI2Vsc2UgLyogIUNPTkZJR19YRU5fSVNfUE9TU0lCTEUgKi8NCj4+DQo+PiAgIMKgI2Rl
ZmluZSB4ZW5fZW5hYmxlZCgpIDANCj4+IC1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX2h2bV9t
b2RpZmllZF9tZW1vcnkocmFtX2FkZHJfdCBzdGFydCwgcmFtX2FkZHJfdA0KPj4gbGVuZ3Ro
KQ0KPj4gLXsNCj4+IC3CoMKgwqAgLyogbm90aGluZyAqLw0KPj4gLX0NCj4+IC1zdGF0aWMg
aW5saW5lIHZvaWQgeGVuX3JhbV9hbGxvYyhyYW1fYWRkcl90IHJhbV9hZGRyLCByYW1fYWRk
cl90IHNpemUsDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBNZW1vcnlSZWdpb24gKm1yLCBFcnJvciAqKmVy
cnApDQo+PiAtew0KPj4gLcKgwqDCoCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpOw0KPj4gLX0N
Cj4+DQo+PiAgIMKgI2VuZGlmIC8qIENPTkZJR19YRU5fSVNfUE9TU0lCTEUgKi8NCj4+DQo+
PiArdm9pZCB4ZW5faHZtX21vZGlmaWVkX21lbW9yeShyYW1fYWRkcl90IHN0YXJ0LCByYW1f
YWRkcl90IGxlbmd0aCk7DQo+PiArdm9pZCB4ZW5fcmFtX2FsbG9jKHJhbV9hZGRyX3QgcmFt
X2FkZHIsIHJhbV9hZGRyX3Qgc2l6ZSwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgTWVtb3J5UmVnaW9uICptciwgRXJyb3IgKiplcnJwKTsNCj4+ICsNCj4+
ICAgwqBib29sIHhlbl9tcl9pc19tZW1vcnkoTWVtb3J5UmVnaW9uICptcik7DQo+PiAgIMKg
Ym9vbCB4ZW5fbXJfaXNfZ3JhbnRzKE1lbW9yeVJlZ2lvbiAqbXIpOw0KPj4gICDCoCNlbmRp
Zg0KPj4gLS0tDQo+IA0KDQpTb3VuZHMgZ29vZCENCkkgd2lsbCBpbmNsdWRlIGl0IGluIG5l
eHQgdmVyc2lvbi4NCg==


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 17:16:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 17:16:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917550.1322436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuE4H-0000Ci-3K; Mon, 17 Mar 2025 17:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917550.1322436; Mon, 17 Mar 2025 17:16: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 1tuE4H-0000Cb-0D; Mon, 17 Mar 2025 17:16:01 +0000
Received: by outflank-mailman (input) for mailman id 917550;
 Mon, 17 Mar 2025 17:16: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuE4G-0000CV-53
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 17:16:00 +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 7bf1b4c3-0353-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 18:15:54 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-38f2f391864so2690406f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 10:15:54 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe292d0sm110768055e9.20.2025.03.17.10.15.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 10:15: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: 7bf1b4c3-0353-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742231754; x=1742836554; 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=sTvw0dDfFOw8O8BjIYEPC9f/lyI+V8aowpatu9JxCbc=;
        b=nmOs2+aGw0GvrCGPm3KVb5EPzrUShQmb7//amwcY1X9/eiSPRo/hkNTqpzp8DtBN96
         2gEKaT0ODCNytSICYf7yQctT7rwXbsH0w/6HEJxrcnQvFhPqFO9AgqBrf8YGb/1uoXHq
         B8U/Ns5hiVaW1pRz13fGxR8lxJ7um3hhu/a10=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742231754; x=1742836554;
        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=sTvw0dDfFOw8O8BjIYEPC9f/lyI+V8aowpatu9JxCbc=;
        b=Zx4i5zK+GVvK2YodCEC1efeOjfMlKFoZ9Oom2C3NmlWowgJN2+VHyjvvOp+Y/rWqzT
         +Jsr/llDoss0F/I27u6E7EMT/+vr5gaShUCeEbNk9epGZ4rTnzhO5u2lwsF7F4LMVifS
         tNWvBTrNGxlVm3etUp4mEprkBGaeB/WHttnRsiyRcDpY8gEj/ArI3Rnh8dUn6409ZOrG
         WdKS36YV7uw8I2hcRoVNRf642jbnSC9Rn+qIsTKPSIjjASPWC+g7Elq30qIgVOOUClYE
         MollBcAGEKr6+yytOEvHANahKvWTeZaay63eSwit7d94enjJVlV2wPqPPbaqxJ00ivHy
         7NEA==
X-Forwarded-Encrypted: i=1; AJvYcCXKrBT+qXGEX9ev3VwaNDvs6RkpvoIS8gCB/lN49cqaELIrStODA828WBR85Uuuoon9XWfKPJ/zF8c=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9QvU/LgZi6+ys2f0gxq3+VjKQryT4N1++snsT2K7PbnnSNKo2
	6wKDdvdLtNjRHo4yWIkKXJA/lbSs6oM3tA82YLbdS9aK26i02RX/3CodEYFpktk=
X-Gm-Gg: ASbGncuaSNSTPyJHPlwTpLP2VmEYZz+Kbx/+Gol9qcrKBtVqenA9s2qeU4kU6zUrQHh
	Ci3FRRcOpdmas1gbMHScQWr+9Go0WE3PufJAzCxteSr0C1DoSt/vNMv5fIVxJgTfwVtNe61PuvU
	hxxnOTtuS/ZrY3IDnj2gV3rkl5yTDnEB3HBpl8HWv6OgYufg3HUvNE5Z6uXiGO0keDDTqfqkDpI
	01cpOJzITLYA91WDzB+u0iJ5bQEeKmERihfcvJsuZrdDM0FtrKlEHNSKjVcz9cUHs415/tPCZ6v
	8QpqFTcv5ZgsK27zFZ0LBVTdj+Pb0etOIZojZX5VSvY7FggA7wmxH02+cBMSkDExuyESTWXxWkJ
	Oodu+fv2q
X-Google-Smtp-Source: AGHT+IFaQlOP9e9q0/m1qUs1pG9mD9ZMmUWlTj671yAD8wPq1QzCy218jy1ysyakaHAcmYN4Njbkfw==
X-Received: by 2002:a5d:648a:0:b0:391:3207:2e6f with SMTP id ffacd0b85a97d-3971f12d156mr15829610f8f.42.1742231753995;
        Mon, 17 Mar 2025 10:15:53 -0700 (PDT)
Message-ID: <0644d20e-9846-48e2-b83f-4fc157107f31@citrix.com>
Date: Mon, 17 Mar 2025 17:15:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Drop __text_section()
To: Jan Beulich <jbeulich@suse.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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250314175933.67422-1-andrew.cooper3@citrix.com>
 <83894b99-54ca-460c-8463-9d6854987935@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: <83894b99-54ca-460c-8463-9d6854987935@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 8:43 am, Jan Beulich wrote:
> On 14.03.2025 18:59, Andrew Cooper wrote:
>> This is an unnecessary indirection.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

So, this is the patch causing build chaos.Â  I've reproduced locally,
even though I still can't explain what is going on.

One example breakage is:

> In file included from drivers/passthrough/amd/iommu_acpi.c:20:
> In file included from ./include/xen/acpi.h:41:
> In file included from ./include/xen/list.h:10:
> ./include/xen/bug.h:107:5: error: invalid operand for inline asm
> constraint 'i'
> Â Â Â  BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);
> Â Â Â  ^
> ./include/xen/bug.h:94:20: note: expanded from macro 'BUG_FRAME'
> Â Â Â  asm volatile (
> _ASM_BUGFRAME_TEXT(second_frame)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ^
> ./include/xen/bug.h:68:5: note: expanded from macro '_ASM_BUGFRAME_TEXT'
> Â Â Â 
> ".Lbug%=:"BUG_INSTR"\n"Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 
> \
> Â Â Â  ^
> 1 error generated.
> make[4]: *** [Rules.mk:249: drivers/passthrough/amd/iommu_acpi.o] Error 1

although most translation units fail in the same way.

This is run_in_exception_handler(), but there's nothing obviously wrong
in the preprocessed source.Â  The parameters are respectively:

: [bf_type] "i" (0),
Â  [bf_ptr] "i" (fn),
Â  [bf_msg] "i" (((void*)0)),
Â  [bf_line_lo] "i" (((0) & ((1 << (31 - 24)) - 1)) << 24),
Â  [bf_line_hi] "i" (((0) >> (31 - 24)) << 24)

which is as expected.


There is one difference I have noticed which is clearly relevant but I'm
not sure how.

__section() isn't exactly __attribute__((__section__(s))), because (just
out of scope of the patch), __clang__ adds a __used attribute to
__section().

The logic doing this is ahead of __used being defined, and the TUs which
break are -DINIT_SECTIONS_ONLY which includes init.h prior to __used
having being defined.

And yet, there's no un-expanded __used in the preprocessed source.

Also, this only goes wrong in the Shim build, not in the main build.

Also, building the object file in isolation seems to work fine, although
this seems to remove -DINIT_SECTIONS_ONLY from the cmdline which is
almost certainly masking what's going wrong.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 17:35:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 17:35:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917572.1322445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuEMx-0005Td-MK; Mon, 17 Mar 2025 17:35:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917572.1322445; Mon, 17 Mar 2025 17:35: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 1tuEMx-0005TW-JR; Mon, 17 Mar 2025 17:35:19 +0000
Received: by outflank-mailman (input) for mailman id 917572;
 Mon, 17 Mar 2025 17:35: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuEMw-0005TO-Fl
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 17:35:18 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f2df89c-0356-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 18:35:15 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id
 98e67ed59e1d1-3014cb646ecso2723447a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 10:35:15 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-3015363274csm6352341a91.38.2025.03.17.10.35.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 10:35: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: 2f2df89c-0356-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742232913; x=1742837713; darn=lists.xenproject.org;
        h=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=tP2ZSgPJzcVNhjahR/CWuwGD7iC8y4WI104ettdUq44=;
        b=gNl0JqE7MK/Julodm/4ieOOD+ZS9AySh+e1ppdFG3Sy4jzKZmEdTkB6qkbt0EMWyqE
         8xyI87DG/feNW69PDEQaNflWVcTtnIZkjtA9DcPfHoJ9YC5i7Sy1cy+X3XlKkNoyIkna
         TBJuXdQDoTrgsxNt1BV7F+UAh8BrQE51Op3cI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742232913; x=1742837713;
        h=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=tP2ZSgPJzcVNhjahR/CWuwGD7iC8y4WI104ettdUq44=;
        b=o6USMdK4vO2bCen4HlLzZ3vpzE4YiX2jma9b6IIVPgllb4F/9oae6FhvCtvENrDYpQ
         joeJTOdvZ2npsZulk5XceyDoUcmb7LeDyKO4UAGVSMXzupJA7LCP6LiHoF3IYZdWUUoR
         cx8CHjaWem/QAYZD1g6+/xlh/5OV0G1wAM6GD1sawARnITSmCH3zVatVPPENuIriPBmo
         omC2m0UB0y/6G1N61tcz8oAIXiwjog5nwZ7ckf+++WZniNpPgyBGTNV6otTBIJMBlXVD
         UNeVp2GvQDuDXop+sui/VcqS5v2KsTHSaWWMmlnwrrquvL7nDioayOBVmLF8ghkZoAYU
         Cfkg==
X-Forwarded-Encrypted: i=1; AJvYcCXcuJicoMIotrUOIf7Jy/x0GQRHYFpw2K98FiXUKx2sjiSHmvuvvhDsuwnJz28m6mOXJztvnGO6ILI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPuE9sdXkOkAvBbo1sp3BA8gPrigDum0/e3rrEHHf0hkyRO/pa
	0b1wJxirenYHTuluwFZJqgh/hTy9dMrDuNqWxQFGGKh3R11nohx/diZJEyIwks4=
X-Gm-Gg: ASbGnctv7x1v2sP66FkEIvuE8W170krA/3F95/hlmbobZEK3LtgXhGS3DAAdBEYoV1z
	2T9FNT+4+KM/If20o7/DeA2t1FymzpRrhnEvPeoNG45qBQWRybYQU9/EzVYkQmKsNQ96ovJQGYv
	vU75qaPuWKrU9SnZwhL6I9CPqDByepSnWQG0kAd8WQhlWnQAmq1npAI+gYsc7BWfYzIp4TRE3o8
	d0/IcLMMig/cbAap3zqvTra/IwlUeQhtOiwtWCOjw5VjznkGcCoI5G8osBeLmgYYiHvLYiuXif/
	/55ZZjMyuu42I2j7i9ZFLQevnMIePi261SIt5Al3RG59aYvoX5BP4jy56GvigEqsZg==
X-Google-Smtp-Source: AGHT+IFboREbnwcdvzYdlBKVnt2hpH4WzbKzUGcTaJAPb8tdEwH1piMUU/TbNCq8GHOKa85e/BxzVQ==
X-Received: by 2002:a17:90b:5247:b0:2ee:a583:e616 with SMTP id 98e67ed59e1d1-30151ce122fmr17817492a91.9.1742232913548;
        Mon, 17 Mar 2025 10:35:13 -0700 (PDT)
Date: Mon, 17 Mar 2025 18:35:08 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20
Message-ID: <Z9hdTCMKxF98wHJw@macbook.local>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
 <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
 <Z9hPaLVVhqAK5H0K@mail-itl>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Z9hPaLVVhqAK5H0K@mail-itl>

On Mon, Mar 17, 2025 at 05:35:51PM +0100, Marek Marczykowski-GĂłrecki wrote:
> On Mon, Mar 17, 2025 at 04:56:15PM +0100, Roger Pau MonnĂŠ wrote:
> > On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
> > > On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
> > > > On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
> > > >> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> > > >>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
> > > >>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> > > >>>>
> > > >>>> This one has working S3, so add a test for it here.
> > > >>>>
> > > >>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> > > >>>> ---
> > > >>>> Cc: Jan Beulich <jbeulich@suse.com>
> > > >>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> > > >>>>
> > > >>>> The suspend test added here currently fails on staging[1], but passes on
> > > >>>> staging-4.19[2]. So the regression wants fixing before committing this
> > > >>>> patch.
> > > >>>>
> > > >>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> > > >>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
> > > >>> We could commit the patch now without the s3 test.
> > > >>>
> > > >>> I don't know what the x86 maintainers think about fixing the suspend
> > > >>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> > > >> I'm on it already, but it's annoying. Lets convert this thread to
> > > >> discussion about the issue:
> > > >>
> > > >> So, I bisected it between staging-4.19 and master. The breakage is
> > > >> somewhere between (inclusive):
> > > >> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> > > >> and
> > > >> 47990ecef286 x86/boot: Improve MBI2 structure check
> > > >>
> > > >> But, the first one breaks booting on this system and it remains broken
> > > >> until the second commit (or its parent) - at which point S3 is already
> > > >> broken. So, there is a range of 71 commits that may be responsible...
> > > >>
> > > >> But then, based on a matrix chat and Jan's observation I've tried
> > > >> reverting f75780d26b2f "xen: move per-cpu area management into common
> > > >> code" just on top of 47990ecef286, and that fixed suspend.
> > > >> Applying "xen/percpu: don't initialize percpu on resume" on top of
> > > >> 47990ecef286 fixes suspend too.
> > > >> But applying it on top of master
> > > >> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
> > > >> but the failure mode is different than without the patch - system resets
> > > >> on S3 resume, with no crash message on the serial console (even with
> > > >> sync_console), instead of hanging.
> > > >> And one more data point: reverting f75780d26b2f on top of master is the
> > > >> same as applying "xen/percpu: don't initialize percpu on resume" on
> > > >> master - system reset on S3 resume.
> > > >> So, it looks like there are more issues...
> > > > Another bisection round and I have the second culprit:
> > > >
> > > >     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
> > > >
> > > > With master+"xen/percpu: don't initialize percpu on resume"+revert of
> > > > 8e60d47cf011 suspend works again on this AMD system.
> > > 
> > > That's not surprising in the slightest.
> > > 
> > > Caching hardware values in Xen isn't safe across S3, which QubesOS has
> > > found time and time again, and for which we still have outstanding bugs.
> > > 
> > > S3 turns most of the system off.Â  RAM gets preserved, but devices and
> > > plenty of internal registers don't.
> > 
> > I think I've spotted the issue.  enable_iommu() called on resume
> > (ab)uses set_msi_affinity() to force an MSI register write, as it's
> > previous behavior was to unconditionally propagate the values.  With
> > my change it would no longer perform such writes on resume.
> > 
> > I think the patch below should help.
> 
> It doesn't, I still got reboot on resume, with no crash message on
> serial (even with sync_console).

There was an error with the previous patch, and it's also a bug in the
original patch.  Could you give a try to the updated patch below?

Sorry for bothering you, but ATM I haven't found a way to trigger
this myself.

Thanks, Roger.
---
commit 70ea4301d5ca663ac6d850658b3fe832950ec363
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Mon Mar 17 15:40:11 2025 +0100

    x86/msi: always propagate MSI writes when not in active system mode
    
    Relax the limitation on MSI register writes, and only apply it when the
    system is in active state.  For example AMD IOMMU drivers rely on using
    set_msi_affinity() to force an MSI register write on resume from
    suspension.
    
    The original patch intention was to reduce the number of MSI register
    writes when the system is in active state.  Leave the other states to
    always perform the writes, as it's safer given the existing code, and it's
    expected to not make a difference performance wise.
    
    For such propagation to work even when the IRT index is not updated the MSI
    message must be adjusted in all success cases for AMD IOMMU, not just when
    the index has been newly allocated.
    
    Reported-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
    Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed')
    Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 163ccf874720..8bb3bb18af61 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
 {
     entry->msg = *msg;
 
+    if ( unlikely(system_state != SYS_STATE_active) )
+        /*
+         * Always propagate writes when not in the 'active' state.  The
+         * optimization to avoid the MSI address and data registers write is
+         * only relevant for runtime state, and drivers on resume (at least)
+         * rely on set_msi_affinity() to update the hardware state.
+         */
+        force = true;
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         int rc;
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 9abdc38053d7..08766122b421 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
                                             &msi_desc->remap_index,
                                             msg, &data);
-    if ( rc > 0 )
+    if ( rc >= 0 )
     {
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 17:38:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 17:38:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917582.1322456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuEQ0-00061i-2Y; Mon, 17 Mar 2025 17:38:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917582.1322456; Mon, 17 Mar 2025 17:38: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 1tuEPz-00061b-WB; Mon, 17 Mar 2025 17:38:27 +0000
Received: by outflank-mailman (input) for mailman id 917582;
 Mon, 17 Mar 2025 17:38: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=VoqB=WE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuEPy-00061V-Ax
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 17:38:26 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a075288b-0356-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 18:38:25 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-224341bbc1dso87544685ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 10:38:25 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6888683sm78265245ad.36.2025.03.17.10.38.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 10:38: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: a075288b-0356-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742233104; x=1742837904; darn=lists.xenproject.org;
        h=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=mz0cXC9mDpEa8EIt4lHU6a/Zcb6/WPHOMtKypK8FUxA=;
        b=kB/CxOD+D+bs7QVcWvh042DT0+6k8Tr2dMduTuzySU6NcDB/8hVUrsdl95efePqN5Z
         szCjckVXoxOWdKMkf6sQh34XyaOIYJuM0BJHGUXv0Qgg1F+gqbsAfXnfU2aKG4yGUqLa
         T3yc1dpx7hgjIoTNvLmUydNAZ/EZAC/yzepaA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742233104; x=1742837904;
        h=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=mz0cXC9mDpEa8EIt4lHU6a/Zcb6/WPHOMtKypK8FUxA=;
        b=sXRsyDelrCKthGLuNqXVE9xmgXRIg6//a1dzDbte5WMtotcvuyG6mlPv92X3VYMusb
         7ZsOtkh69F8bNddeR9952t+BzaVpl+bK4rrztHmtsgqIUxbBypyrHFzcW1KhGgj+5LQw
         b4VkxYnzHL3hyTTWbnakTyh8LCD+Tzm0XAXf+vxd0ST7KWELnIe5N3Xk1v0UXYJbmm2w
         z5dhRf4ItAQCwX9DBR9uRP1Lvuv7z1H8oqPGhMB0+qYaw3nRrFAQokG2wgUjEZskh/E8
         7UkVFuW8hh8E8aZ4XlNEmCGbFXXSq9y1itXLrY+N7lcLyIuNq9ZJkVI4VRILL+FQvEVY
         dgEA==
X-Forwarded-Encrypted: i=1; AJvYcCWtSajeK7lmSbvCmFJmtBX+QRfmCq37HIjEN3B1theyWauISAMKpEq08eCuksOVxxcf6Yv9/pCA+eQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKiShGshuRzdI1TD3wmH8aMNtXQ9jNPMbSjsgZJkkkza8KVpTa
	fL3+Y9ieKt1N1C1nV9ML96gfe/80WJpaY2ruuzE4aLoQXktq8x51aFF54A6Mg++kA3eQ+CtJcwp
	C
X-Gm-Gg: ASbGncsluisPwsqM3PqSNC702v9NYF7Nt3uQ+YrLQy/T0YF86hm62s0zgcoYiOlT9vo
	0bXuq/lbbUYsTY4NymDHrFhaYb/wK2fdHmaUhOgxCnl5TGGK/YIvIcK75lIAaQ9oR32+BR2d4eR
	f0RcyH96AXF1QDIeMzwDBukWU2uV2Ny9tyHDBLReJODTotRzQUYfNNg+N76C6aU0ibTmcnvaFeC
	CrRvvgy5cXyoxiVvPwM8pzx34qkNhAvTpkgJq/IpuRxyf1K4Bq7RF3aa4x/ICkSzWeEphOxMgEq
	4zqIU20zQGJ9TCxsZ/QDvIwodA4l17wjclPxlwts6xTQTiyoBWD3CEU=
X-Google-Smtp-Source: AGHT+IFv7e3p7m7qorEKeH5hWhaSPQ0udIXRytqSa+//ClLXQuX4svNcgsNtp0hS27ygkk3op+Xmyg==
X-Received: by 2002:a17:902:f691:b0:224:e2a:9ff5 with SMTP id d9443c01a7336-2262c51bbd3mr5147125ad.9.1742233103599;
        Mon, 17 Mar 2025 10:38:23 -0700 (PDT)
Date: Mon, 17 Mar 2025 18:38:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: S3 regression on AMD in 4.20
Message-ID: <Z9heCs3k1HORqfBY@macbook.local>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
 <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
 <8d96f12b-c780-4aea-92a4-5034d1c5c7f6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8d96f12b-c780-4aea-92a4-5034d1c5c7f6@suse.com>

On Mon, Mar 17, 2025 at 05:11:56PM +0100, Jan Beulich wrote:
> On 17.03.2025 16:56, Roger Pau MonnĂŠ wrote:
> > On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
> >> On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
> >>> On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
> >>>> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> >>>>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
> >>>>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> >>>>>>
> >>>>>> This one has working S3, so add a test for it here.
> >>>>>>
> >>>>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> >>>>>> ---
> >>>>>> Cc: Jan Beulich <jbeulich@suse.com>
> >>>>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> >>>>>>
> >>>>>> The suspend test added here currently fails on staging[1], but passes on
> >>>>>> staging-4.19[2]. So the regression wants fixing before committing this
> >>>>>> patch.
> >>>>>>
> >>>>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> >>>>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
> >>>>> We could commit the patch now without the s3 test.
> >>>>>
> >>>>> I don't know what the x86 maintainers think about fixing the suspend
> >>>>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> >>>> I'm on it already, but it's annoying. Lets convert this thread to
> >>>> discussion about the issue:
> >>>>
> >>>> So, I bisected it between staging-4.19 and master. The breakage is
> >>>> somewhere between (inclusive):
> >>>> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> >>>> and
> >>>> 47990ecef286 x86/boot: Improve MBI2 structure check
> >>>>
> >>>> But, the first one breaks booting on this system and it remains broken
> >>>> until the second commit (or its parent) - at which point S3 is already
> >>>> broken. So, there is a range of 71 commits that may be responsible...
> >>>>
> >>>> But then, based on a matrix chat and Jan's observation I've tried
> >>>> reverting f75780d26b2f "xen: move per-cpu area management into common
> >>>> code" just on top of 47990ecef286, and that fixed suspend.
> >>>> Applying "xen/percpu: don't initialize percpu on resume" on top of
> >>>> 47990ecef286 fixes suspend too.
> >>>> But applying it on top of master
> >>>> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
> >>>> but the failure mode is different than without the patch - system resets
> >>>> on S3 resume, with no crash message on the serial console (even with
> >>>> sync_console), instead of hanging.
> >>>> And one more data point: reverting f75780d26b2f on top of master is the
> >>>> same as applying "xen/percpu: don't initialize percpu on resume" on
> >>>> master - system reset on S3 resume.
> >>>> So, it looks like there are more issues...
> >>> Another bisection round and I have the second culprit:
> >>>
> >>>     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
> >>>
> >>> With master+"xen/percpu: don't initialize percpu on resume"+revert of
> >>> 8e60d47cf011 suspend works again on this AMD system.
> >>
> >> That's not surprising in the slightest.
> >>
> >> Caching hardware values in Xen isn't safe across S3, which QubesOS has
> >> found time and time again, and for which we still have outstanding bugs.
> >>
> >> S3 turns most of the system off.Â  RAM gets preserved, but devices and
> >> plenty of internal registers don't.
> > 
> > I think I've spotted the issue.  enable_iommu() called on resume
> > (ab)uses set_msi_affinity() to force an MSI register write, as it's
> > previous behavior was to unconditionally propagate the values.  With
> > my change it would no longer perform such writes on resume.
> > 
> > I think the patch below should help.
> > 
> > I wonder if we should unconditionally propagate the write from
> > __setup_msi_irq(), as it's also unlikely to make any difference to
> > skip that write, and would further keep the previous behavior.
> 
> That might be better. In fact I wonder whether it wouldn't better be
> callers of write_msi_msg() to use ...
> 
> > ---
> > commit 1d9bfd0d45f6b547b19f0d2f752fc3bd10103971
> > Author: Roger Pau Monne <roger.pau@citrix.com>
> > Date:   Mon Mar 17 15:40:11 2025 +0100
> > 
> >     x86/msi: always propagate MSI writes when not in active system mode
> >     
> >     Relax the limitation on MSI register writes, and only apply it when the
> >     system is in active state.  For example AMD IOMMU drivers rely on using
> >     set_msi_affinity() to force an MSI register write on resume from
> >     suspension.
> >     
> >     The original patch intention was to reduce the number of MSI register
> >     writes when the system is in active state.  Leave the other states to
> >     always perform the writes, as it's safer given the existing code, and it's
> >     expected to not make a difference performance wise.
> >     
> >     Reported-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> >     Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed')
> >     Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > 
> > --- a/xen/arch/x86/msi.c
> > +++ b/xen/arch/x86/msi.c
> > @@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
> >  {
> >      entry->msg = *msg;
> >  
> > +    if ( unlikely(system_state != SYS_STATE_active) )
> 
> ... this condition as needed. Conceivably there might be cases where even
> during resume writes aren't always necessary to propagate to hardware.

Isn't this going to be quite more cumbersome, and I don't think the
cases outside of active mode are very interesting or relevant
performance wise?

The main purpose of the original change was the reduce the number of
PCI accesses during 'active' state, as every time an interrupt is
migrated to a different CPU such a (possibly redundant) PCI config
write would happen.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 17:54:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 17:54:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917629.1322506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuEfG-0003p2-Sj; Mon, 17 Mar 2025 17:54:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917629.1322506; Mon, 17 Mar 2025 17: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 1tuEfG-0003ov-Pf; Mon, 17 Mar 2025 17:54:14 +0000
Received: by outflank-mailman (input) for mailman id 917629;
 Mon, 17 Mar 2025 17: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=o++3=WE=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tuEfG-0003op-3I
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 17:54:14 +0000
Received: from fout-a6-smtp.messagingengine.com
 (fout-a6-smtp.messagingengine.com [103.168.172.149])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4e59536-0358-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 18:54:12 +0100 (CET)
Received: from phl-compute-03.internal (phl-compute-03.phl.internal
 [10.202.2.43])
 by mailfout.phl.internal (Postfix) with ESMTP id D309B1382D0B;
 Mon, 17 Mar 2025 13:54:10 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Mon, 17 Mar 2025 13:54:10 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 17 Mar 2025 13:54:08 -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: d4e59536-0358-11f0-9aba-95dc52dad729
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=1742234050;
	 x=1742320450; bh=uCxLtV6bJMyPwGJxXetVHcNVvxPwSuJyVJ+25evTvzA=; b=
	n+fkrovhQksDRM+eqbEOheI0HMSv8+GgnrFyIaLzJuXUz2Z/g+lsDrG9zetYgG9T
	5MXUNnbmZeCBgzBh/r2aBXXog/10ISeHvegisobDz7ITn0nTsGy408NLlv/X274w
	13z9HNM8S7wcen+/rrgHuDbjGS9jOWb2HBV+ozjVKUQd0EUsiPmYeMEDG1zdEerG
	05Q3iFYIXdV7wBBs6yryMGNLiTx5ipR9saw7gdPhJCc4IsjjXIrI9kLowyTGU5Ae
	iG7E5gqhJ30a/JLp/7zs+xYxRphqTr3GKVPGVepE6QyCV9GgFP5PUfeUVZkj0RAx
	/+5UZAOdWEkAXPsKcJqz3w==
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=fm1; t=
	1742234050; x=1742320450; bh=uCxLtV6bJMyPwGJxXetVHcNVvxPwSuJyVJ+
	25evTvzA=; b=O2QicdSPGJUGbAAfw8pK+Y2xj9/5W790lH3tT9l6ZnosRzwLTJ/
	YQDmwOwn8FBFOuDMOY6kt1xGK2b4lsk5wYZfLTXkR6B34R8Rdpx9OmkoMJ1+27Cw
	j1phABQdCcv2OTVExU+s6yxIPbcuwAe1uNEvoGbWyuQVRl7CMKTCjTa+iMUYbqjD
	7Js0GtLSvO40Eczq+CaBq4DDJbaBLBgWypQBzfrN8BJcAffrkgKXfrEiptX+ktK8
	wJDqCkL2daDzGN6T4sWsxduzudmtA/Y23lUiQv4FvhH33DlkOLF6kceA9jDVRbWC
	OkyrWDa0V7MBeUZ0yeCoU7ochdZ8S06qqrg==
X-ME-Sender: <xms:wmHYZ5THSdO41SgpxvJwN7yUrtwLzbdERsxv27Q6hLGFiyZ7-7-rPQ>
    <xme:wmHYZywOH9zXwt0PqmdMdQL4n4-N1vOXW0xOOYug7G3UXqkPtxepra54038XxZgLw
    gAKNAnCDyj-Lw>
X-ME-Received: <xmr:wmHYZ-3o5M8iTC8koqucmYkllusagloCfUcPFHZLmMBSWPYM-UIr8UFafP0yYzBSPJz2ln3rJgXdx6XFA3uvd70ifP0anh-6Zw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugedtudejucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepveeujeetgeelleetudeuvefhtefgffejvedtvdfgieevheethe
    elgeeuledvjeevnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeelpdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtg
    homhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhm
    pdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpth
    htohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhr
    tghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegtrghrug
    hovgestggrrhguohgvrdgtohhmpdhrtghpthhtohepohhlvghkshhiihdrkhhurhhotghh
    khhosehgmhgrihhlrdgtohhmpdhrtghpthhtohepgigrkhgvphdrrghmrghtohhpsehgmh
    grihhlrdgtohhmpdhrtghpthhtohepmhihkhihthgrpghpohhtuhhrrghisegvphgrmhdr
    tghomh
X-ME-Proxy: <xmx:wmHYZxCHG7O0X6PoO5SgHY08VQgl51k4OWwgZdgjDjIX1Z5F6iMxYQ>
    <xmx:wmHYZyimFJ2UYUJ9Vvdi-iz_zZ-zQHNI8YdrihloWhROckLTniFA8Q>
    <xmx:wmHYZ1pL2cyCHj22nn0WiH8HwwDUdbnF-IOPRkjJ3rf4c3WIm0b5Gw>
    <xmx:wmHYZ9iCzWfHbdHriNI0h03x12Mw5fGwwK-Cy9iZ9IZG5cU3gjFgOw>
    <xmx:wmHYZ9OLYAEHmmcUHa3e-gYfRKOS3sxkO6W1qoFK8jqx7K2zYlu_45Zn>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 17 Mar 2025 18:54:06 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20
Message-ID: <Z9hhvr7p13RGcNCY@mail-itl>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
 <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
 <Z9hPaLVVhqAK5H0K@mail-itl>
 <Z9hdTCMKxF98wHJw@macbook.local>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="/m/0VADQETNGl60o"
Content-Disposition: inline
In-Reply-To: <Z9hdTCMKxF98wHJw@macbook.local>


--/m/0VADQETNGl60o
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 17 Mar 2025 18:54:06 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20

On Mon, Mar 17, 2025 at 06:35:08PM +0100, Roger Pau Monn=C3=A9 wrote:
> On Mon, Mar 17, 2025 at 05:35:51PM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Mon, Mar 17, 2025 at 04:56:15PM +0100, Roger Pau Monn=C3=A9 wrote:
> > > On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
> > > > On 14/03/2025 11:53 pm, Marek Marczykowski-G=C3=B3recki wrote:
> > > > > On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> > > > >> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wro=
te:
> > > > >>> On Fri, 14 Mar 2025, Marek Marczykowski-G=C3=B3recki wrote:
> > > > >>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook=
 445 G7.
> > > > >>>>
> > > > >>>> This one has working S3, so add a test for it here.
> > > > >>>>
> > > > >>>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invis=
iblethingslab.com>
> > > > >>>> ---
> > > > >>>> Cc: Jan Beulich <jbeulich@suse.com>
> > > > >>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> > > > >>>>
> > > > >>>> The suspend test added here currently fails on staging[1], but=
 passes on
> > > > >>>> staging-4.19[2]. So the regression wants fixing before committ=
ing this
> > > > >>>> patch.
> > > > >>>>
> > > > >>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/=
9408437140
> > > > >>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/=
9408943441
> > > > >>> We could commit the patch now without the s3 test.
> > > > >>>
> > > > >>> I don't know what the x86 maintainers think about fixing the su=
spend
> > > > >>> bug, but one idea would be to run a bisection between 4.20 and =
4.19.
> > > > >> I'm on it already, but it's annoying. Lets convert this thread to
> > > > >> discussion about the issue:
> > > > >>
> > > > >> So, I bisected it between staging-4.19 and master. The breakage =
is
> > > > >> somewhere between (inclusive):
> > > > >> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> > > > >> and
> > > > >> 47990ecef286 x86/boot: Improve MBI2 structure check
> > > > >>
> > > > >> But, the first one breaks booting on this system and it remains =
broken
> > > > >> until the second commit (or its parent) - at which point S3 is a=
lready
> > > > >> broken. So, there is a range of 71 commits that may be responsib=
le...
> > > > >>
> > > > >> But then, based on a matrix chat and Jan's observation I've tried
> > > > >> reverting f75780d26b2f "xen: move per-cpu area management into c=
ommon
> > > > >> code" just on top of 47990ecef286, and that fixed suspend.
> > > > >> Applying "xen/percpu: don't initialize percpu on resume" on top =
of
> > > > >> 47990ecef286 fixes suspend too.
> > > > >> But applying it on top of master
> > > > >> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not=
 fix it,
> > > > >> but the failure mode is different than without the patch - syste=
m resets
> > > > >> on S3 resume, with no crash message on the serial console (even =
with
> > > > >> sync_console), instead of hanging.
> > > > >> And one more data point: reverting f75780d26b2f on top of master=
 is the
> > > > >> same as applying "xen/percpu: don't initialize percpu on resume"=
 on
> > > > >> master - system reset on S3 resume.
> > > > >> So, it looks like there are more issues...
> > > > > Another bisection round and I have the second culprit:
> > > > >
> > > > >     8e60d47cf011 x86/iommu: avoid MSI address and data writes if =
IRT index hasn't changed
> > > > >
> > > > > With master+"xen/percpu: don't initialize percpu on resume"+rever=
t of
> > > > > 8e60d47cf011 suspend works again on this AMD system.
> > > >=20
> > > > That's not surprising in the slightest.
> > > >=20
> > > > Caching hardware values in Xen isn't safe across S3, which QubesOS =
has
> > > > found time and time again, and for which we still have outstanding =
bugs.
> > > >=20
> > > > S3 turns most of the system off.=C2=A0 RAM gets preserved, but devi=
ces and
> > > > plenty of internal registers don't.
> > >=20
> > > I think I've spotted the issue.  enable_iommu() called on resume
> > > (ab)uses set_msi_affinity() to force an MSI register write, as it's
> > > previous behavior was to unconditionally propagate the values.  With
> > > my change it would no longer perform such writes on resume.
> > >=20
> > > I think the patch below should help.
> >=20
> > It doesn't, I still got reboot on resume, with no crash message on
> > serial (even with sync_console).
>=20
> There was an error with the previous patch, and it's also a bug in the
> original patch.  Could you give a try to the updated patch below?
>=20
> Sorry for bothering you, but ATM I haven't found a way to trigger
> this myself.

This one does fix the issue :)


> Thanks, Roger.
> ---
> commit 70ea4301d5ca663ac6d850658b3fe832950ec363
> Author: Roger Pau Monne <roger.pau@citrix.com>
> Date:   Mon Mar 17 15:40:11 2025 +0100
>=20
>     x86/msi: always propagate MSI writes when not in active system mode
>    =20
>     Relax the limitation on MSI register writes, and only apply it when t=
he
>     system is in active state.  For example AMD IOMMU drivers rely on usi=
ng
>     set_msi_affinity() to force an MSI register write on resume from
>     suspension.
>    =20
>     The original patch intention was to reduce the number of MSI register
>     writes when the system is in active state.  Leave the other states to
>     always perform the writes, as it's safer given the existing code, and=
 it's
>     expected to not make a difference performance wise.
>    =20
>     For such propagation to work even when the IRT index is not updated t=
he MSI
>     message must be adjusted in all success cases for AMD IOMMU, not just=
 when
>     the index has been newly allocated.
>    =20
>     Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>     Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if=
 IRT index hasn't changed')
>     Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>=20
> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index 163ccf874720..8bb3bb18af61 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, str=
uct msi_msg *msg,
>  {
>      entry->msg =3D *msg;
> =20
> +    if ( unlikely(system_state !=3D SYS_STATE_active) )
> +        /*
> +         * Always propagate writes when not in the 'active' state.  The
> +         * optimization to avoid the MSI address and data registers writ=
e is
> +         * only relevant for runtime state, and drivers on resume (at le=
ast)
> +         * rely on set_msi_affinity() to update the hardware state.
> +         */
> +        force =3D true;
> +
>      if ( iommu_intremap !=3D iommu_intremap_off )
>      {
>          int rc;
> diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passt=
hrough/amd/iommu_intr.c
> index 9abdc38053d7..08766122b421 100644
> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
>      rc =3D update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>                                              &msi_desc->remap_index,
>                                              msg, &data);
> -    if ( rc > 0 )
> +    if ( rc >=3D 0 )
>      {
>          for ( i =3D 1; i < nr; ++i )
>              msi_desc[i].remap_index =3D msi_desc->remap_index + i;
>=20

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

--/m/0VADQETNGl60o
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfYYb4ACgkQ24/THMrX
1yz2fQf/bLQY+KCwcoNSjKa50QaAC1jBiMpe5XW5Ela97fIpl8pFY2CRGAqaGbZL
oQdfIOsHjYKzV05On8X0OyS7CczUDudnhTPIyAjOZ2ho07eN0klx2qbi7LmmzuiI
a87yzIX+/FpzVlTzSnRDZuDcUB3PFE/+WmP8pBR16B6KFgX5nRPoWgCKuJBOCY21
jHmKSgIglFCkiQt95NOCvz2MjAcHC8t3HqRGZnydnAXogTJHn3e2IwTsck+XjU+V
ym5akGo3W0oRFDpU7uKo+xgSp0IfOF9GnrYhZLpYXEJFzYnIO8wncBdFNsCCLrb5
FJkUnkveJexilZPsNsieqTL8t4i4Vg==
=0VSu
-----END PGP SIGNATURE-----

--/m/0VADQETNGl60o--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917736.1322548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFID-0006Vn-J9; Mon, 17 Mar 2025 18:34:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917736.1322548; Mon, 17 Mar 2025 18:34: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 1tuFID-0006Vc-EH; Mon, 17 Mar 2025 18:34:29 +0000
Received: by outflank-mailman (input) for mailman id 917736;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIC-0006VW-OI
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:28 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 749a4835-035e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:34:27 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-225fbdfc17dso32761415ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:27 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 749a4835-035e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236466; x=1742841266; 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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=WO1hDLydXsc7OZ7t5g4FthRZtjra2wRWu8Ilq6KjPNb4fEABSgywqUVgt9d9UsKfvr
         m+s8yBmlWacZ/u6QdmeOdH/LuNsxQ5d3dCCpILT6JlOMh9BoFE4/OW/50ZoncrP5rRJM
         Kn10rrIVBR2kf3AUVX8tqYBaitD8wyPeVyo69hMW/mFR+zHtxnTXQfL1oEQdBj1A7mJ3
         AYbTRConn83QsN+VmqvkU1P3SOkmCFWSEDaeDSJVK+ehgWyhcnd+tNJT+twuXrTK2AsW
         OLu4kz5bUMcch7Syp/PBdwcnMZkkivI4vkWkCigG2qbi5rZZXApk4su4eeYXKf9zMcz1
         g8PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236466; x=1742841266;
        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=949DeBQijWmgHqYCdDdupcSTn3rDdND8nLqwkILEwEI=;
        b=bMPzKM0s7d1H6gvugjt2yw4EGGVmptef9VRSk+nIy9zKsiDDJBHhkfavUCTcp7IM6v
         ePsvQUMy5oaYS0E3pCDhdj/lWFG4i/Y7OPMjKA6tC2vZuB4B4UXyQ5SCRHfleuJ3CFC/
         r5DVjC5vqXQ/WNJjFd3Y3kdJ0Plnl6p6UH75+sgUT+3iF3xq4WDo2ksaArTgyuT7l/zJ
         7N7mtknqdWBkoXSM5OEPHkTcQMKBQUpNLi2Wv7kFn6gNT6J27WriPiFRcIlgme1ODZpn
         JgQJ0nD5e5I8Lv6qdBEIgXVBuT5i87ldC8SFivYTwyQjwIvciwQojjDMpqCU4N1yHBI5
         VJWQ==
X-Forwarded-Encrypted: i=1; AJvYcCX7SH21ftS/5reg36w6aF68XhKpqsEiFccyzvKoH3peYkjJ9lDgKjIZ2tRwc76243+pIXo5eCK7Fbg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywb0PPYPyPIfnb+y4E4BFglq9p3mBWqbiVjcbIjaLaqgndgeedS
	AYW6jD5O5etE2SOQwevwZ9lY6Tgpaw3i9i2ioLL0JsXNg9VNzLlIRWJ9X5ViTQA=
X-Gm-Gg: ASbGncuA775tYZmbu9tnkiA4IKZXRCDbZWjUQ3f5VIoTPbnJqBO1xQ+Sf9xD1m0yE3R
	D92GEqdlv3zcrPJXmTULuL4zxvsUGjs78RhvD+Z8v5V0vIcXwPl5LBia+3Ih4K/QJMhLMkFHkKM
	0B+HWUYDRCF2tcvxzWGMt09gEFNfR6mpVY1Y1p2MT6KSpfIN2JE0kd5scquDTDy8k+K2BeQS77V
	7IVNqOc1qKbSN06RWgCzMV2rZTFKBpIX2TS5AUqU15CxfJlG/N3o7DNZoShlfOTYWrmUvb4msq9
	WNd06w4DS/nDem63fWW7cybxMQnJZBP/pB3Qz4JxJTfR
X-Google-Smtp-Source: AGHT+IEMdkhHnCOZBQ+9EV0uYxPSw6/JcOSk+BrsDVDiw8khDcGewsFrIqa6c3AgQ8Es/TqwcULwNA==
X-Received: by 2002:a05:6a00:139f:b0:736:9e40:13b1 with SMTP id d2e1a72fcca58-737224726e5mr14180634b3a.23.1742236465994;
        Mon, 17 Mar 2025 11:34:25 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 01/18] exec/tswap: target code can use TARGET_BIG_ENDIAN instead of target_words_bigendian()
Date: Mon, 17 Mar 2025 11:34:00 -0700
Message-Id: <20250317183417.285700-2-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/tswap.h | 11 ++++++-----
 cpu-target.c         |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index ecd4faef015..2683da0adb7 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -13,13 +13,14 @@
 /**
  * target_words_bigendian:
  * Returns true if the (default) endianness of the target is big endian,
- * false otherwise. Note that in target-specific code, you can use
- * TARGET_BIG_ENDIAN directly instead. On the other hand, common
- * code should normally never need to know about the endianness of the
- * target, so please do *not* use this function unless you know very well
- * what you are doing!
+ * false otherwise. Common code should normally never need to know about the
+ * endianness of the target, so please do *not* use this function unless you
+ * know very well what you are doing!
  */
 bool target_words_bigendian(void);
+#ifdef COMPILING_PER_TARGET
+#define target_words_bigendian()  TARGET_BIG_ENDIAN
+#endif
 
 /*
  * If we're in target-specific code, we can hard-code the swapping
diff --git a/cpu-target.c b/cpu-target.c
index cae77374b38..519b0f89005 100644
--- a/cpu-target.c
+++ b/cpu-target.c
@@ -155,6 +155,7 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...)
     abort();
 }
 
+#undef target_words_bigendian
 bool target_words_bigendian(void)
 {
     return TARGET_BIG_ENDIAN;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917737.1322558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIE-0006jb-OB; Mon, 17 Mar 2025 18:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917737.1322558; Mon, 17 Mar 2025 18:34: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 1tuFIE-0006jU-Lc; Mon, 17 Mar 2025 18:34:30 +0000
Received: by outflank-mailman (input) for mailman id 917737;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFID-0006VW-Dr
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:29 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 753978ae-035e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:34:28 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-224100e9a5cso92050275ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:28 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 753978ae-035e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236467; x=1742841267; 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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=sS69qPedddzcE3cU3tsH2II1l4yqScO3VP+ufyBiypjyZnIW8GjuOvd3kabIu8ehK4
         3uLuU7F6/dWRUBBVgKVT3DDpX9kFKyiMAja8jZDusFF2eSbnNtjs8sSuDJP1Rk9FRSKC
         /6cljaUnOXg1RoPZWyIlslY3F/osXTTn71RNn7TQ7372RE7BtP4FDeNqSEeYHE7TBMKQ
         TC+PDTjKvafVoDkXx5NaeLsQ2fdg+6JTLq4DjMq6HV1AKcY8gfRzi/Jo6PHHvsNyCkAO
         mm67uniLu1a11a+n9eP/qhgqexnn6dlhzc7K3xAdBava7M5go7dsr/K6l6hNTYibSz8B
         zQkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236467; x=1742841267;
        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=fjQjYNlvDIsMbe7+veFF5h4s6vvln32m8yANkT1fS5Y=;
        b=YGQ+34HLo6sXrOX+W2jDn8lwkQC42OH+ZeIABOLVtpSjmkSpG26rEKBgjw/NuLQmjT
         unHFt3nP8VmqP0oqnFztW1ChMIEj6xpMyRoNkiASqb/FyA2RlS0EUoWVKn09Dflb9h7+
         P2LrHaj8KfukTGjwbcKsUi+U7cdYRHWn6mELyggxNr97ss1u3+mMCOVXRwGq+rj00gsj
         19+ubL1tNaxfJu1W7OAKil829kI3IpYHIv9TVGWhWugSubhbRe8lmVtay+ZXxaZBluJj
         vZHtvbgx6XnAjk6/5eZnmonI/gYHwcdv4DOzvC/csr6fflgPqnSVsGrL4SZpdILVki6j
         v+nA==
X-Forwarded-Encrypted: i=1; AJvYcCUYIcVpd62CEiUuUjHUT4BoudpNtrLyNicurw2wioqfTj7D2NstM+7wVViRgqN4ghgh3z0HvME25O8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPBJT9oTWoIW+k/ftOF/TXN1A/lOP2WH9XT2Z5PqESe5oGjmiQ
	IsGHDzUY7AwDbMRF3ZONZTW41T7QB/DRrlmQ49meeY2RqotYzXXr872IE5pcfL4=
X-Gm-Gg: ASbGncuUvafPjI+g+a2Pwd6x6wBdVaK2pNqoInnzS3fDg2Mv5KoHbIuWw6NeJuO9Sfn
	350zDCJlz0D4rabSucGRrvG+g/CAe55+sComuzDwKwuGjKz26dBRlxHKPAPOEhue7vj0ZUDs/Qw
	2+YEGX4+rGfh7/Uk6A09ryLFFp9tWDNpNFXdQcNsQCFQKbZzzDB4CZCGuwsYiIsnxXyYRHoMdXE
	hTmIaBZ0j6XAYn7xqi9sUOXBYBx6gnTFilZaNJelTKPa810qe5S0CNfxWwcYN6oLIboTS33wYr6
	OY3tRp6qWf459X38yfo89N5InXI1+3J46zvnXfp+G+AI
X-Google-Smtp-Source: AGHT+IFi3tqJwrzQePDsXIvC4P2qzcui7bHazmhEI/k1ekPUyZPPBb0NOgqZr9PPYc71RHo1sxISkg==
X-Received: by 2002:a05:6a20:4e08:b0:1f5:902e:1e97 with SMTP id adf61e73a8af0-1f5c133476fmr13616359637.41.1742236467105;
        Mon, 17 Mar 2025 11:34:27 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 02/18] exec/tswap: implement {ld,st}.*_p as functions instead of macros
Date: Mon, 17 Mar 2025 11:34:01 -0700
Message-Id: <20250317183417.285700-3-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining functions allows to use them from common code, by not depending
on TARGET_BIG_ENDIAN.
Remove previous macros from exec/cpu-all.h.
By moving them out of cpu-all.h, we'll be able to break dependency on
cpu.h for memory related functions coming in next commits.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h | 25 ---------------
 include/exec/tswap.h   | 70 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 8cd6c00cf89..e56c064d46f 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,31 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* Target-endianness CPU memory access functions. These fit into the
- * {ld,st}{type}{sign}{size}{endian}_p naming scheme described in bswap.h.
- */
-#if TARGET_BIG_ENDIAN
-#define lduw_p(p) lduw_be_p(p)
-#define ldsw_p(p) ldsw_be_p(p)
-#define ldl_p(p) ldl_be_p(p)
-#define ldq_p(p) ldq_be_p(p)
-#define stw_p(p, v) stw_be_p(p, v)
-#define stl_p(p, v) stl_be_p(p, v)
-#define stq_p(p, v) stq_be_p(p, v)
-#define ldn_p(p, sz) ldn_be_p(p, sz)
-#define stn_p(p, sz, v) stn_be_p(p, sz, v)
-#else
-#define lduw_p(p) lduw_le_p(p)
-#define ldsw_p(p) ldsw_le_p(p)
-#define ldl_p(p) ldl_le_p(p)
-#define ldq_p(p) ldq_le_p(p)
-#define stw_p(p, v) stw_le_p(p, v)
-#define stl_p(p, v) stl_le_p(p, v)
-#define stq_p(p, v) stq_le_p(p, v)
-#define ldn_p(p, sz) ldn_le_p(p, sz)
-#define stn_p(p, sz, v) stn_le_p(p, sz, v)
-#endif
-
 /* MMU memory access macros */
 
 #if !defined(CONFIG_USER_ONLY)
diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index 2683da0adb7..84060a49994 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -80,4 +80,74 @@ static inline void tswap64s(uint64_t *s)
     }
 }
 
+/* Return ld{word}_{le,be}_p following target endianness. */
+#define LOAD_IMPL(word, args...)                    \
+do {                                                \
+    if (target_words_bigendian()) {                 \
+        return glue(glue(ld, word), _be_p)(args);   \
+    } else {                                        \
+        return glue(glue(ld, word), _le_p)(args);   \
+    }                                               \
+} while (0)
+
+static inline int lduw_p(const void *ptr)
+{
+    LOAD_IMPL(uw, ptr);
+}
+
+static inline int ldsw_p(const void *ptr)
+{
+    LOAD_IMPL(sw, ptr);
+}
+
+static inline int ldl_p(const void *ptr)
+{
+    LOAD_IMPL(l, ptr);
+}
+
+static inline uint64_t ldq_p(const void *ptr)
+{
+    LOAD_IMPL(q, ptr);
+}
+
+static inline uint64_t ldn_p(const void *ptr, int sz)
+{
+    LOAD_IMPL(n, ptr, sz);
+}
+
+#undef LOAD_IMPL
+
+/* Call st{word}_{le,be}_p following target endianness. */
+#define STORE_IMPL(word, args...)           \
+do {                                        \
+    if (target_words_bigendian()) {         \
+        glue(glue(st, word), _be_p)(args);  \
+    } else {                                \
+        glue(glue(st, word), _le_p)(args);  \
+    }                                       \
+} while (0)
+
+
+static inline void stw_p(void *ptr, uint16_t v)
+{
+    STORE_IMPL(w, ptr, v);
+}
+
+static inline void stl_p(void *ptr, uint32_t v)
+{
+    STORE_IMPL(l, ptr, v);
+}
+
+static inline void stq_p(void *ptr, uint64_t v)
+{
+    STORE_IMPL(q, ptr, v);
+}
+
+static inline void stn_p(void *ptr, int sz, uint64_t v)
+{
+    STORE_IMPL(n, ptr, sz, v);
+}
+
+#undef STORE_IMPL
+
 #endif  /* TSWAP_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917738.1322568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIG-0006z1-Vm; Mon, 17 Mar 2025 18:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917738.1322568; Mon, 17 Mar 2025 18:34: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 1tuFIG-0006yn-Sz; Mon, 17 Mar 2025 18:34:32 +0000
Received: by outflank-mailman (input) for mailman id 917738;
 Mon, 17 Mar 2025 18: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIF-0006uj-PC
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:31 +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 75fa56c0-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:29 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-22435603572so76549815ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:29 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 75fa56c0-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236468; x=1742841268; 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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=AfnojC/5gkUWfjboFs4WXvfy+JUz6P1sbqKk5455V0cgJcXT0VqPZ/Lh2GYBNrtkHF
         LJ5Uoaw8ATOX/LaR5TTVmnUVXJUwP0YVEMcU5RNmtgPUf2Ca4/4VB2glZLrf7LiJ9ru4
         fI9OS4FtdNgIcsxzUdojcwwxHrrOSz3YnpHz0qw1nQd2R+mw4QkJdslnS4KDn5C3y814
         H2BQJFs4tnByI1zkl2ziiqeRxOZxEppl8qaRa8Yz4PzuVAqLDWJ7hJugRKsbgBY/vQKZ
         iRuV1nIRPuoMQy4gwqc0ZKUPg6G+QqtlGSBbQleFbJ6roXmQ/jXTAN9PhUFtE6mMwzkj
         ei5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236468; x=1742841268;
        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=fcP4MFj0H7Fu3AxOxTbJlPG2KgbdJwiBtz5sSPdKZDU=;
        b=lvh6MUZpnueZdBvu09tj0nql3cUnLW0705P/0DdFbBJ6wxdLZBcB/IkmMAyhJgypMp
         T8GwDW/SMYmLFmGteKOHCgz3maRyPpoKE2MiDrwtCXfb0aseBpBqZwqbncAXbFKtOsf+
         +1O8aWh9GzU+1Am9lXO5nWqPxg0SHvPKVDWp2HkEGIf2llCfdmP+yb68MAv8HKMXUnSs
         tmWjWlBMsiccbLBQx2PMCY7a3PmvPSAVnDea5GANbhfiR8pFL1EVFYRKqUi8fVeosndP
         Z/9KgouQi2xTAEpOAnwTRWme2VZ/xzupse7u3T2I7M07Qc58EDjQ+raZa7kBQuEWr/Vu
         gdLg==
X-Forwarded-Encrypted: i=1; AJvYcCXSLtP1it+o6NgUTl5bh1rPK6sidYwklmPC3bWi9NHeUbDIV52IS/QdhXSjZAkGLC+9vwCX+AJNoqg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx674MeGIM8Q/9Zw6ydYNCtyis5vbeUx0XNT+pEjCA7SGgzzJIL
	RbI+4Cj21zAe8BQI4FT9StaaKfwxJDmycjl3P0YVC6ajM7UkErkZnaKEzbwAVos=
X-Gm-Gg: ASbGncuOIJwGBJRG2gBNAUquLvEDYgG5Fe9qIiKN9gz+v1MP9y7rIFO/rgK9vn9eZbS
	zDsNPWaVY2RzsDopQrJrhRUILKIz9xQMDlk7UA8j+Hizg8zYcw0aTGVke6uGcjeKdFocWua6e0J
	vgz43PNK9/fGwWctakPNqlWlkZJywTIYSudxsjz66NDaMlaXypvY2zAfHZkGGJ88K4A7LmWBp69
	T70vPfFsV/hNhTPYIiOn73P+rQrlWRjdEaGkLnXxwhs53ETPpujsqaRujF0nxEZMm+6j/xs3QD6
	uW9FPAUzpdBsqw7dWcPOHvnryUZqALb6/3ww56YJ6jtV
X-Google-Smtp-Source: AGHT+IHQDcKJsv+Vb17cz20O+u5FV4YlvIefcRPItg35hxavnuYTE6e3UlOmHk58oIUa6dLl2/Rvnw==
X-Received: by 2002:a05:6a00:13a6:b0:736:7175:f252 with SMTP id d2e1a72fcca58-7372239d970mr17183784b3a.14.1742236468325;
        Mon, 17 Mar 2025 11:34:28 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 03/18] exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
Date: Mon, 17 Mar 2025 11:34:02 -0700
Message-Id: <20250317183417.285700-4-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h         | 12 ------------
 include/exec/memory_ldst.h.inc |  4 ----
 2 files changed, 16 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index e56c064d46f..0e8205818a4 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -44,18 +44,6 @@
 
 #include "exec/hwaddr.h"
 
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
-#define SUFFIX       _cached_slow
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst.h.inc"
-
 static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
 {
     address_space_stl_notdirty(as, addr, val,
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 92ad74e9560..7270235c600 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
@@ -34,7 +33,6 @@ void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#else
 uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
 uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
@@ -63,9 +61,7 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917739.1322578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFII-0007E5-B9; Mon, 17 Mar 2025 18:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917739.1322578; Mon, 17 Mar 2025 18:34: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 1tuFII-0007Dw-5W; Mon, 17 Mar 2025 18:34:34 +0000
Received: by outflank-mailman (input) for mailman id 917739;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIG-0006VW-Hq
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:32 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77490491-035e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:34:32 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-225fbdfc17dso32762495ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:32 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11: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: 77490491-035e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236470; x=1742841270; 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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=aelFy+ihIfqbeG6i6oFawfIrjTkHKz6ILXxMq3n0Y23AFH5yCvASuvxdo9iAEO7OAA
         sSJjrVZp73G7ONRghDcco5Q32seTEASxfUv17SfH6RzIhGhfLcnt2BKcQllk9a56Cipm
         lkQhcKZisVcj1pXVHABAops2r50M16uXFqExhw5OG63mLhbXWNcBEKm2undaGWC7RzmA
         g3vEpSZirqsKhEwxnu1nWo0kvRRRTU3zZhyemtUpA8Zs1fNMRjCmhexY7TQUKttLpSvk
         j63vhh6vzfJKUyrtPk5eKDN9fVy8kL3Vr9bG2gfa9wHjmvk0YB3Zj7n+JV2iAAFHAPYn
         vx7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236470; x=1742841270;
        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=wT5ohu0Ui7xrH+jgYqMJMpKemGPcZNvy7jzdyuAyzEs=;
        b=sUm8MgpnG/lYfmWKb1JaL5odxBj/nMhkwRweYRusiNt4kEp1cmmYuo9Am5iZdqmo6E
         B10C/eM34eMyYO1AN/HSI9mTHmXWh1iWMrR88h9cSoKsGX+FXszekGvKkB32TKVAt8Ld
         qUQgEN5SeSyayYRVaAmhzZpLz5DxtyWTdTrmhB/EKLjjYwp83o2mOVoMot0kyBI6mhEw
         XfsoD5aQSQS492srhYiIp8XKw3DSdNxeqcH7WKfsNP3bpeMoit5P3hzGHgTPI29ACZKT
         c3iewI7ogSpY5M4MLuXAMS5rJPcA+a0wEBPuJOMQkVs3q3vYyn97ZMhGx6yS9QGsKiRT
         Zx7Q==
X-Forwarded-Encrypted: i=1; AJvYcCUSBhedPHfTnudSjeYy9Z8cffFuY9te792cYE0Et6QHbT5rOzfhUfTQcagpbF1n8+LWsQmY2dDuFEA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyh5M+y9Hi9yJIL8TeDgvxVvkbPs2DCS/P0JDTEeticqxwJnuwV
	SkTndlx6kG+RESd3ZQTz7OgbtpGhd5kjrJn90mLhZDB7GegafHdgqSpP9Bbywkk=
X-Gm-Gg: ASbGncvQ6z3YCxuHTA8fpEtyI+KovP+g8xfmleDMnxMbDRZqcOVxUYkt7pZTGIyeo99
	hL2dS9sfbQtnS25wqB4pUl/lu1FfBIRPfNUzR5BxUZf+5gRyGxyrbKrzm8HsRYC48m67+EmPJJ1
	o30H7tOwchgjr8gkb4WkQSPqzEcoxU+p3sDxLn9BfSo/nE7plo/Klzn833jnlsA5uTtoCapGTSC
	JpMiDFVzuBLQ+rsRoUixNpmqNNiQncW52ejoGa22/cYF0mxaz9oJpVTeR9BG9YpimjEXeOz9IGs
	9WrTFYomxSg+8ivlr/SBigmuYVGStOqy6EUuZ/Xm6y5L
X-Google-Smtp-Source: AGHT+IHwzlIJ6LxZBvPsjg5l1kKbXhEFWIu9N9qHSrE9Y+TBbc5aw9FWPh64Zl9aShUUkawUwyHzSA==
X-Received: by 2002:a17:903:22c8:b0:223:517c:bfa1 with SMTP id d9443c01a7336-225e0af0323mr191813145ad.38.1742236470577;
        Mon, 17 Mar 2025 11:34:30 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 05/18] exec/memory.h: make devend_memop "target defines" agnostic
Date: Mon, 17 Mar 2025 11:34:04 -0700
Message-Id: <20250317183417.285700-6-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Will allow to make system/memory.c common later.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index da21e9150b5..069021ac3ff 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,25 +3138,17 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef COMPILING_PER_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN
-    /* Swap if non-host endianness or native (target) endianness */
-    return (end == DEVICE_HOST_ENDIAN) ? 0 : MO_BSWAP;
-#else
-    const int non_host_endianness =
-        DEVICE_LITTLE_ENDIAN ^ DEVICE_BIG_ENDIAN ^ DEVICE_HOST_ENDIAN;
-
-    /* In this case, native (target) endianness needs no swap.  */
-    return (end == non_host_endianness) ? MO_BSWAP : 0;
-#endif
+    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
+                       ? target_words_bigendian()
+                       : end == DEVICE_BIG_ENDIAN);
+    return big_endian ? MO_BE : MO_LE;
 }
-#endif /* COMPILING_PER_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917740.1322584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFII-0007HC-M2; Mon, 17 Mar 2025 18:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917740.1322584; Mon, 17 Mar 2025 18:34: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 1tuFII-0007Fi-EA; Mon, 17 Mar 2025 18:34:34 +0000
Received: by outflank-mailman (input) for mailman id 917740;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIG-0006uj-NW
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:32 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76a7a811-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:31 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-2239c066347so99589355ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:30 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 76a7a811-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236469; x=1742841269; 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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=bN9fZZZM183D0k2xkDDebS2LedkOj+ArNIJotQJEyqUMoNN6eXdsJmzvL/5BsrfMu8
         ntn3iHkWIm9UPZpjrhihhyDWH2YqCIXWWp+xi3vbPsJVwwyB1tRc3dldkawUKvjqN7CN
         +YffPP7qL95Ss489MHDMijv0z7ZvYt80mu00PQPmI3WVXgoCgG2sOwnMwvWn+8iNO1zL
         qmVEMQrWlWCPNyuxLy9uMuuXj5rhQYq5FBM2lHG4/JkJa0Z8Y2jhKCoyjfjjbU/e2++T
         Ct22kVU1uRRojc4nx68uYHYo2X86tWD+W2IA5UXO5cPJGuMQOSCCoFDUvR9nlzx5n4/W
         lbyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236469; x=1742841269;
        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=G6OuFeXnonCJBRRaCKlE2hD3nLeAbwsquVgoLJADjfc=;
        b=mYx0EhjAb9Ls2FaLKLLKQwO2YCk1CrO0rVZOEFcCGkjGHjOcoiXILwQ0mKbSr+wRE3
         ohi7kB0qwzcCD7dd9gH63yX5cl2kBtmZ/iKaWcVRTKUnCjt1lpAM7htAhHVTCdih91tu
         xqf57KkOM/3eMXaVKTvWl4J/dB30njdpDZxRnzmkJGVkCo8sppcns2tY44L8TRtk4EP4
         oXTpUQRaIYHykA2GCf8gHk4m8H6DETYZ4KrMYxCVIRZm3/MOOe8YXw66eVKNz6dLW6qI
         3ZP5wKMhBoBgKyV9ERR7wORpJJGq4SQjsFujKs8CXDEyRiLv555Hp11ivwjXffA7wo1e
         CTYQ==
X-Forwarded-Encrypted: i=1; AJvYcCWj+G1psEb+GEob1kMy5HVNAFa2ESbmxgAL45KbDDUtW1voHlcjXAeJTD//NU4ZX1xKxPXRidlLywA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOmXws10BY9X+W7yLd+3Kl6LUisfkclIFktFPwLTjgnS4nVhm5
	efqhxCkM+7PjtEjVq3aqjvuE2v2BMm1XtTzc0fgfg7GObarS8OS3jGfI5CkQqj4=
X-Gm-Gg: ASbGncvHCL+TQZMUcCUu5gF91Img3zBdhHCA5366K1tzcYiIEJO5sUtXLW9ATypyBhO
	74Elkmu3MINB+6fQ6Gv6IgroaRr0jDQxB14FwmGhDA2gwkAICUVdKDfC9zU+a7rIzmRgVD4DlQ4
	vLiNstBl/wMH8Q72lNPZ6wO0JUheLkCkgkveKZktqQjiScyNReobXc8dwH8yL8TkEo9C5mUX1Qu
	Dp2nBg4nAHicfd+Ll1n88cQUyMh18J2iuoE68yLsxBXF6Ka0dFB5PcSToc/G6xfOZm2Oxis1etN
	63jyLTBm+6znOIBVRe1L76okd6zQ2nyaBHihHlPCEeaC
X-Google-Smtp-Source: AGHT+IEuktxGhHzx6xs3EGzvKgpAVns4GkbvMlee+9okZ79gnYJTq9xN+P/LP5FdgPO0zhqsq/U9Fw==
X-Received: by 2002:a05:6a00:1916:b0:736:51ab:7aed with SMTP id d2e1a72fcca58-7372240f242mr14927867b3a.16.1742236469458;
        Mon, 17 Mar 2025 11:34:29 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 04/18] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h
Date: Mon, 17 Mar 2025 11:34:03 -0700
Message-Id: <20250317183417.285700-5-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They are now accessible through exec/memory.h instead, and we make sure
all variants are available for common or target dependent code.

Move stl_phys_notdirty function as well.
Cached endianness agnostic version rely on st/ld*_p, which is available
through tswap.h.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/cpu-all.h              | 29 -----------------------------
 include/exec/memory.h               | 10 ++++++++++
 include/exec/memory_ldst_phys.h.inc |  5 +----
 3 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 0e8205818a4..902ca1f3c7b 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -38,35 +38,6 @@
 #define BSWAP_NEEDED
 #endif
 
-/* MMU memory access macros */
-
-#if !defined(CONFIG_USER_ONLY)
-
-#include "exec/hwaddr.h"
-
-static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
-{
-    address_space_stl_notdirty(as, addr, val,
-                               MEMTXATTRS_UNSPECIFIED, NULL);
-}
-
-#define SUFFIX
-#define ARG1         as
-#define ARG1_DECL    AddressSpace *as
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-
-/* Inline fast path for direct RAM access.  */
-#define ENDIANNESS
-#include "exec/memory_ldst_cached.h.inc"
-
-#define SUFFIX       _cached
-#define ARG1         cache
-#define ARG1_DECL    MemoryRegionCache *cache
-#define TARGET_ENDIANNESS
-#include "exec/memory_ldst_phys.h.inc"
-#endif
-
 /* page related stuff */
 #include "exec/cpu-defs.h"
 #include "exec/target_page.h"
diff --git a/include/exec/memory.h b/include/exec/memory.h
index d09af58c971..da21e9150b5 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -21,6 +21,7 @@
 #include "exec/memattrs.h"
 #include "exec/memop.h"
 #include "exec/ramlist.h"
+#include "exec/tswap.h"
 #include "qemu/bswap.h"
 #include "qemu/queue.h"
 #include "qemu/int128.h"
@@ -2732,6 +2733,12 @@ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr,
 #define ARG1_DECL    AddressSpace *as
 #include "exec/memory_ldst.h.inc"
 
+static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val)
+{
+    address_space_stl_notdirty(as, addr, val,
+                               MEMTXATTRS_UNSPECIFIED, NULL);
+}
+
 #define SUFFIX
 #define ARG1         as
 #define ARG1_DECL    AddressSpace *as
@@ -2798,6 +2805,9 @@ static inline void address_space_stb_cached(MemoryRegionCache *cache,
     }
 }
 
+#define ENDIANNESS
+#include "exec/memory_ldst_cached.h.inc"
+
 #define ENDIANNESS   _le
 #include "exec/memory_ldst_cached.h.inc"
 
diff --git a/include/exec/memory_ldst_phys.h.inc b/include/exec/memory_ldst_phys.h.inc
index ecd678610d1..db67de75251 100644
--- a/include/exec/memory_ldst_phys.h.inc
+++ b/include/exec/memory_ldst_phys.h.inc
@@ -19,7 +19,6 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef TARGET_ENDIANNESS
 static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_lduw, SUFFIX)(ARG1, addr,
@@ -55,7 +54,7 @@ static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val)
     glue(address_space_stq, SUFFIX)(ARG1, addr, val,
                                     MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#else
+
 static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr)
 {
     return glue(address_space_ldub, SUFFIX)(ARG1, addr,
@@ -139,9 +138,7 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t va
     glue(address_space_stq_be, SUFFIX)(ARG1, addr, val,
                                        MEMTXATTRS_UNSPECIFIED, NULL);
 }
-#endif
 
 #undef ARG1_DECL
 #undef ARG1
 #undef SUFFIX
-#undef TARGET_ENDIANNESS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917741.1322589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIJ-0007OX-3w; Mon, 17 Mar 2025 18:34:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917741.1322589; Mon, 17 Mar 2025 18:34: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 1tuFII-0007Ly-S4; Mon, 17 Mar 2025 18:34:34 +0000
Received: by outflank-mailman (input) for mailman id 917741;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIH-0006VW-Qo
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:33 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78007f36-035e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:34:33 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-224341bbc1dso88729235ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:33 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 78007f36-035e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236472; x=1742841272; 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=mZcjdDtX1Z7JVvsuWgguTldfqVr7ZBWkV3i9i17ooa8=;
        b=S+5g4C5MVY2dvDtJ0ZkI2YIG1J/a6yv6o61nS27M95QBlK20WQv3RbiXkpFg8aPQfp
         truNAwLFXxMCSbNytDH2wcIL2ujWkqZbcFiHOgNSOpg62GSo1Q5LnnjVPEE7TnsMAfaX
         TqP7bzNB3XWTnxRXIhN6jEtqEHLxNFuv0SuOUxOGGhDx5pzbY+0jHAKewYCCykDNYroa
         yUhPVmYwM7dyYmDSd4sXaqWbEmKIpObJGA0nwt9ukPdHH1IXDvnTsg0dpzjkd/6x74QP
         VaLmdRpDcsVHxwjWDe9UN1NciRjwNMr3MmgSTIoAeJj8SU6nxyjCs5VSJbjY6ojMPmow
         7Qvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236472; x=1742841272;
        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=mZcjdDtX1Z7JVvsuWgguTldfqVr7ZBWkV3i9i17ooa8=;
        b=GSwjU/z0W26tGfyO/RDnco1upmbOHZCiafGwpR7iZnjuFEJNHh6UnALhATX242dv2G
         2eL1yTEdDlE6Q5yCW76cVz53qmb2nd/FRn3KIaAPLmPCezABIFV/Ac2kZb/I6fmihXY2
         9J69ZwHuj52BHkfKhksUpef693UQ1al5OQspDtzgVBl21a2DGx2J/hPVOHLYFxjIGks7
         s5ht1lVP2c4sb5j6Ccoxo3gC50+KfS1AO/J0tf2UEQwuvBSbB/pHkcBIemketnm4TRV9
         uBtk+S4EnnojPKnQcAdck8NA652TtU3yvZKjgG+teQSgU3BQh7VOFVY62loDHAuKGfM4
         K3/w==
X-Forwarded-Encrypted: i=1; AJvYcCVBJ9iyGW8kQgRZ8H1/JANQQvFO4DsFrMZHmdA5FSwpSC4vOOFwnsfpBL/7RgQjINIFrXpS6x2Q8HY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwRB0fsoDUj8UXmKkUSbRuDle0frHyAyAP9SRFWY6jvn7afg9ci
	TdUIaHaQBq86g78jJ9gfxxFbyLTAEhqjMqOrX3e/0wS5xjGah9Tua7yRk3/NsJ8=
X-Gm-Gg: ASbGncv+Y2dUdc7OE1LAqskr/bk16SKA/n8rapniDHqY+hdxWCCnirAQmN9nFfX3nEN
	yC6yeNdz8xX/VdEGik/y6bCB1mT0+VSNEa0iMLgDEOI3PTUjNwkLFMKVnsCIIKRNArvhxWkyUIQ
	joc6K9zC5cCcUpvDc3ACsNTINSVYJa4aMOwrzpKD0YAFKe9jYy2tJSVBAvreQfBoFv7S/aVmbhN
	UsU121pL3qfIJs4ASWMYvBtU23i+wgo7P7373D6Tu1IF83gGUisjhrhhY1NmBR6+Q195Iz08lN/
	3WwSDKgbn3DBpJp8Ts3+Mc0qssIdyjL98Becu8eXfSL7
X-Google-Smtp-Source: AGHT+IGNO8bUyUW0Tf64WVNf5jONex1ECKej9xrvhw7mQgHMktiWmZ+ZuCh9rC5TGEXL07arJnJidg==
X-Received: by 2002:a05:6a00:3c81:b0:736:5544:7ad7 with SMTP id d2e1a72fcca58-7375723f949mr818617b3a.14.1742236471771;
        Mon, 17 Mar 2025 11:34:31 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 06/18] codebase: prepare to remove cpu.h from exec/exec-all.h
Date: Mon, 17 Mar 2025 11:34:05 -0700
Message-Id: <20250317183417.285700-7-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/tcg/tcg-op.h           | 1 +
 target/ppc/helper_regs.h       | 2 ++
 hw/ppc/spapr_nested.c          | 1 +
 hw/sh4/sh7750.c                | 1 +
 page-vary-target.c             | 2 +-
 target/ppc/tcg-excp_helper.c   | 1 +
 target/riscv/bitmanip_helper.c | 2 +-
 7 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index a02850583bd..bc46b5570c4 100644
--- a/include/tcg/tcg-op.h
+++ b/include/tcg/tcg-op.h
@@ -9,6 +9,7 @@
 #define TCG_TCG_OP_H
 
 #include "tcg/tcg-op-common.h"
+#include "exec/target_long.h"
 
 #ifndef TARGET_LONG_BITS
 #error must include QEMU headers
diff --git a/target/ppc/helper_regs.h b/target/ppc/helper_regs.h
index 8196c1346dc..b928c2c452d 100644
--- a/target/ppc/helper_regs.h
+++ b/target/ppc/helper_regs.h
@@ -20,6 +20,8 @@
 #ifndef HELPER_REGS_H
 #define HELPER_REGS_H
 
+#include "target/ppc/cpu.h"
+
 void hreg_swap_gpr_tgpr(CPUPPCState *env);
 void hreg_compute_hflags(CPUPPCState *env);
 void hreg_update_pmu_hflags(CPUPPCState *env);
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index 201f6292033..a79e398c132 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -2,6 +2,7 @@
 #include "qemu/cutils.h"
 #include "exec/exec-all.h"
 #include "exec/cputlb.h"
+#include "exec/target_long.h"
 #include "helper_regs.h"
 #include "hw/ppc/ppc.h"
 #include "hw/ppc/spapr.h"
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index 6faf0e3ca8b..41306fb6008 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -29,6 +29,7 @@
 #include "hw/irq.h"
 #include "hw/sh4/sh.h"
 #include "system/system.h"
+#include "target/sh4/cpu.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "sh7750_regs.h"
diff --git a/page-vary-target.c b/page-vary-target.c
index 3f81144cda8..84ddeb7c26a 100644
--- a/page-vary-target.c
+++ b/page-vary-target.c
@@ -21,7 +21,7 @@
 
 #include "qemu/osdep.h"
 #include "exec/page-vary.h"
-#include "exec/exec-all.h"
+#include "exec/target_page.h"
 
 bool set_preferred_target_page_bits(int bits)
 {
diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c
index 5a189dc3d70..c422648cfdd 100644
--- a/target/ppc/tcg-excp_helper.c
+++ b/target/ppc/tcg-excp_helper.c
@@ -19,6 +19,7 @@
 #include "qemu/osdep.h"
 #include "qemu/main-loop.h"
 #include "qemu/log.h"
+#include "target/ppc/cpu.h"
 #include "exec/cpu_ldst.h"
 #include "exec/exec-all.h"
 #include "exec/helper-proto.h"
diff --git a/target/riscv/bitmanip_helper.c b/target/riscv/bitmanip_helper.c
index b99c4a39a1f..e9c8d7f7780 100644
--- a/target/riscv/bitmanip_helper.c
+++ b/target/riscv/bitmanip_helper.c
@@ -20,7 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/host-utils.h"
-#include "exec/exec-all.h"
+#include "exec/target_long.h"
 #include "exec/helper-proto.h"
 #include "tcg/tcg.h"
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917743.1322608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIL-000808-Cz; Mon, 17 Mar 2025 18:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917743.1322608; Mon, 17 Mar 2025 18:34: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 1tuFIL-0007zx-90; Mon, 17 Mar 2025 18:34:37 +0000
Received: by outflank-mailman (input) for mailman id 917743;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIJ-0006VW-UQ
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:35 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79546c03-035e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:34:35 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-225b5448519so88590925ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:35 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 79546c03-035e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236474; x=1742841274; 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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=WQrZry/u3rQFy/srQzn32K/ERX5LuRjJF4kpNxsflRdD+XgMBmhJ5o13VKlOMUm+lI
         bqkHZ5QtNa5J6BFculxpo/y3jRqO0kgZHFIC79vwW+MqoS0qstav23EWa1IGYZ8zATMT
         U1lA7qxU9+WeQGs2VirkUzFil9it4K7llOSRpYs4ohvZ2COMpMMXH8DwInn3cFUqFZaL
         6LVrg3PUqlbKr3jhzOqJFAOK3DF57Texajvb+BbHk1+UxBoFh4Sr9yMxQMRNwPtM2cni
         W31REbR2q+9i/gkQpETlsPt5BEyCunyqtkzgOgz5zGjtboJVJBjo0GR3UsdPZNdlEzjz
         BwIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236474; x=1742841274;
        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=Rp8GQC6vA5rTxSSazblnkjuLZPjrJAYUOFg9uGM493s=;
        b=BhXRhHUm3JalkfH2a2LPXgzKDjMQdyHtf4NXpfvfG2XH3aQ6CD5aNQZbl5f4DIV5SF
         +F/9JeHmVXIkiXMKOoN7PTWhDZxGG1Mep2A4r/j7NNAIg2wrQRobKKFTA84hBg4Mvznm
         g5HBHgIpD2uLtXm52KAKxF8MfM+Ms7bwPucGaz6r/q/rmmBo8NWWtLGkQS+j47y7x4SY
         UrB+LntQLa65/PT1gmhrTrSUMECEs4FTnvgpXCrBvm+4QMJEEywiso7Fi0KFp3jn1Qyj
         YStJWIP9HM2ylcILOLkmF209jLmTngYjY8ztHJemSdcXkm2Zh9X4t6vtokOaoMVw+TkL
         Ck1w==
X-Forwarded-Encrypted: i=1; AJvYcCXpPjYMZDaDzur8oM9kNNC1nqWQPYUplDr5aZxSXle1jee/wwBrw9bqwTvSpuVy1DRktO/+knA8PO8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxiacCP2X/o1ztXfrB+6AofPTdFQAt1O9tpRIqborpcNwOsjp0q
	tgL8WhUz73LZYM+mTaSj+FboJhMkuM8kxIVvvsaTEvg3K/GTEGptjDDmpNTEm74=
X-Gm-Gg: ASbGnctJYDKLBAHPfCYJ1msXZALxldSFNCFqbawfLLKduwgczO42MuujZ2leCUEftTk
	TiMq35Yq9ub5M1PUJ9Ghzi7Tx/opDqAzgKUnV1pwzw50pUgXwQM0FptU/mqpZ+zdFAsaNVgXGZ0
	7wUM2vvodzpdoPdIxBR7ATbk4o/E9SPEf6mVl2/akeM+jqQj8IsDbYbc0L16h0MdCXWzyTejmZ4
	xDizWwGsX0n/djC1vVLxBHPnOjsKVdANy2Iv4A2P2BTk/T5qcbVkEg1tG+I3XCUtNwDYGZXCfpf
	yUJ8MGHjEwXpea4yG7u8mEKhg2io2EE0vuplyETueWwN
X-Google-Smtp-Source: AGHT+IHGRjUHfsZhtfemIo+dlcyT/9a20csro4vrsnSjWHRpRL87+9vnxPcq6naL2TxBdu+3gDVtPg==
X-Received: by 2002:a05:6a00:9a7:b0:736:6ac4:d204 with SMTP id d2e1a72fcca58-73722375218mr14371340b3a.11.1742236473962;
        Mon, 17 Mar 2025 11:34:33 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 08/18] exec/memory-internal: remove dependency on cpu.h
Date: Mon, 17 Mar 2025 11:34:07 -0700
Message-Id: <20250317183417.285700-9-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index 100c1237ac2..b729f3b25ad 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -20,8 +20,6 @@
 #ifndef MEMORY_INTERNAL_H
 #define MEMORY_INTERNAL_H
 
-#include "cpu.h"
-
 #ifndef CONFIG_USER_ONLY
 static inline AddressSpaceDispatch *flatview_to_dispatch(FlatView *fv)
 {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917745.1322618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIN-0008Kc-Om; Mon, 17 Mar 2025 18:34:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917745.1322618; Mon, 17 Mar 2025 18:34: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 1tuFIN-0008KP-J7; Mon, 17 Mar 2025 18:34:39 +0000
Received: by outflank-mailman (input) for mailman id 917745;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIM-0006uj-Fv
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:38 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a09deff-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:36 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-2255003f4c6so82568455ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:36 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11: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: 7a09deff-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236475; x=1742841275; 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=PfpTTedni4gUGfvRcfnvXw4xTvY7JO0pNjOjXTZ7pI8=;
        b=dr92+fEPc5ZTGJQ+Gp7kIkr+duRXOtgXTxzDRqNTRmhKUTKJRv8ibwPUWmNWEmsDIW
         N0Bnz5QV7lz4BE8oUt0EAIAH4J3MS8WxFYe3xGCF7rMmfJ8cPBtBStg/TGfYHo7mH8Qt
         3bCriGnwfcdsDIgaRbyMCIc6Tn9lMpwPtTNZjYKYmyDPKM83mc0zsvZFQtiMxTxSKyaQ
         pMuzx/SG2NtuoQVEGb81dZ7AC5Cugrrtvd5g+jbnkEKQjTMqp/ASk/YLqC64szUMvh7E
         NPZfeZq+4u0B7D9AH9WInuk3rPTegnyn3q2Sr9g+xRSoo7qKVPLWLXJuLXOZXk/3lpH1
         y32g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236475; x=1742841275;
        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=PfpTTedni4gUGfvRcfnvXw4xTvY7JO0pNjOjXTZ7pI8=;
        b=fIDO+4ZCYhWlM2bscj03EQ72yZ1+vHOLkOl44xKa5DbOP/75Wui1dWR3SIXcGobNdy
         Tr7+rj+iqVtNSFKfR8btQc6RFZ+uYygHTMCNSG149XRaljNv1gop0FCTAG2c3AHolX5K
         ZMpAkEN5G0aQMmX5fNczFCusnDLJpn7+NkbcO8jfF5X8fmjv9O/lUnPSE0lPxtWpZgui
         Z1KOVh0Tr6WQJ0zvFPOjuM0gK1xVGwdE/ECXKPqAUx2wtjwrNL3ZNV1DHe/2amXhTCQ1
         aUyYK6HfEEvb91RT3RdigGZemGHdMFrEOXwjaEbNbJ7F5KixrWR9cV7KxS9rJhpxroDB
         Y0KA==
X-Forwarded-Encrypted: i=1; AJvYcCWC9e35RocOUB1U8PcgPt1q7mLUH0GKVczlYHPHh1vHU1PY1bPThPibdGEm+3arbc5BpMJzG6tmxD8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybKcmItnIW7ZIabK6PyeVPFQwBNSrfI8EyQfBXDQ+kMohsaPui
	lvANTSMga5fuGR0HZPDEw1cC2ke4br7M8gh5rsYq0oRhl5n77bqM9FpW1Sz5JWw=
X-Gm-Gg: ASbGncuoU/oWnuC8X89RKVMbq65y5eB0WSILfMzeqRIyK1EQVQdBNi/e4bxwvwpu7UQ
	AA6UtCksKS0jp0C9coaRHtlvcq5FcF/BMmeL26yvIarO6YQN37s2XvG3b2L8FCcHayfzs/aN3oX
	5kJ+8BkixuxF5EmmYI/dCUK2NyR2oXMm2ZVOayxOJY26lg87EAkROPS5RdpLwDL0+skyWW8lkf+
	+UdySbV6BJyprUrAX46uEoo/fjrH1SiUIOahjlYiTkcs7HC0QsHn0HB6yUryYvA8MlHgdJX1wxw
	9MW6rCoAuKd2nAsxR5P9HkFcPoGasMgx9KMboqKo+d70
X-Google-Smtp-Source: AGHT+IHhIUK7t53+vTI188pQaTMyR7EJzQqReYcVMpj4OefpwS1cjUKc4hsfvFYLapAGzkczRRlDcg==
X-Received: by 2002:a05:6a00:2196:b0:736:a6e0:e66d with SMTP id d2e1a72fcca58-7372238f773mr15973995b3a.6.1742236475108;
        Mon, 17 Mar 2025 11:34:35 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 09/18] exec/ram_addr: remove dependency on cpu.h
Date: Mon, 17 Mar 2025 11:34:08 -0700
Message-Id: <20250317183417.285700-10-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Needed so compilation units including it can be common.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index e4c28fbec9b..f5d574261a3 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -20,13 +20,14 @@
 #define RAM_ADDR_H
 
 #ifndef CONFIG_USER_ONLY
-#include "cpu.h"
 #include "system/xen.h"
 #include "system/tcg.h"
 #include "exec/cputlb.h"
 #include "exec/ramlist.h"
 #include "exec/ramblock.h"
 #include "exec/exec-all.h"
+#include "exec/memory.h"
+#include "exec/target_page.h"
 #include "qemu/rcu.h"
 
 #include "exec/hwaddr.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917746.1322626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIP-0000As-1Y; Mon, 17 Mar 2025 18:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917746.1322626; Mon, 17 Mar 2025 18: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 1tuFIO-00009y-UX; Mon, 17 Mar 2025 18:34:40 +0000
Received: by outflank-mailman (input) for mailman id 917746;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIN-0006uj-Fx
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:39 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ab0f316-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:37 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-225df540edcso61414345ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:37 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 7ab0f316-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236476; x=1742841276; 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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=csDciEVVSKkjB1deLTNlS7WgymgexcpHBIWmRcsdBAdiGh3Rdy0JFNmKi+VSvRInl8
         pmHKwDeeYzwMq38fGbwFjZ0eqWsXi4/UqnBZhKep+wBbjOgKySfeQITvRnMGJTMKIzTu
         Se60MNJPp0WCBZa4LN6KHU2NuQcyZCMKwF5BilSfM5Mtk1TaHeGCgsH9iCXyr5DHWp1Z
         YmduxqPG664074PVFXovR0UXQe/AhYZiXvTdtdsyhAS98Nc0QnovsfNU9B00kGEMSxgM
         Ks3hMB2AhCJN8IxuY4QJ7Ql/fz3PWXHbYOQU/5O41sMdUmmNTfK6Dl9Xcs19XUHYlIT3
         c20g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236476; x=1742841276;
        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=BsftdeZcZ0LsVJ43Vlgc1kB7SrUHDvnjwuIeYSteybs=;
        b=jI5oDMAUu6xWQ0DV/7wFmcPM/J84/nbaxRCKa5ZFYp265cTEk4sdfW4+LkR0rvJVZl
         TfrUDmr22K+V3uFVp+73ShuculGvfdGvVksj/ZcyxLR0KMl3Ba8+6FW6I34VZdw1hqCV
         XI9lUYKXehjnGZ/Cd5edSjt2kgZB+xppFSZmls5bTMt91YB2XYhlnFHc4apWhi8LrMlX
         tRSYVoI4bT1f21I2lVAbQS0x7sg8m4OAhlw3qK84dfPaZS+9XgKn9ageeferaZ8MaSrm
         SB8wepm3GgspHDaI+OaIK4oBrTy5gjhGze1ulsOZu5f0bVbfBSl79Ae2OvvzMEHDjfsA
         xiLA==
X-Forwarded-Encrypted: i=1; AJvYcCWNlbc4itPKr3ZoCebtqMVSol+IZBj8uoX6kt5aZSUVa2P20tOFMDHAYMkTocienFouPuKHUqSfcww=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxp7NOlunBKKy97hhkwaCZIoDGJ016F7OBXqtEooCQo36zFKfy6
	PVSJnlLa3ujnqI/+plimJ6mnMLTZ1/g2uP+ac/pWSbL5sbJsP1hgspP1c94OVQ4=
X-Gm-Gg: ASbGncsopieuK9upLq/udyfhBS8MbrxTsnikuVIM4bAkpol7XxpaDRNzj+tvE2TAbLE
	fL27lrTbd+9cablRkPkcjVBO+I3dSQzIgUmkWgh3d5wBbW66QvjUgJhXj8g6fo1nRn/EJ6mvpQ8
	kkAxKy7whztO8Oq5lsAGHEUjDjh1P07TxYHIRIxKEq7bPWAXk+V9tSVWhXcnHNblVy/LXsvpp4a
	KRXnSp/P8LE9t093RxCR/PhnxGlPeyJA4HlC/B2DZylrUaOrbicakobauEfcRGq2tWMgJs1iPrQ
	z+KEXC/AnADvRqg6z1CWlJQyMZ/JNYjCgR/8ciBjNdS1
X-Google-Smtp-Source: AGHT+IFrc3E9fUAh+z3i68X6oJdtySmjNUcFSLSYjTurJl9vG25uO/0RkrUhFSmr8bwDc6/U+8pjrQ==
X-Received: by 2002:a05:6a00:3b8e:b0:736:b400:b58f with SMTP id d2e1a72fcca58-7375752916dmr715700b3a.0.1742236476193;
        Mon, 17 Mar 2025 11:34:36 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 10/18] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code
Date: Mon, 17 Mar 2025 11:34:09 -0700
Message-Id: <20250317183417.285700-11-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This function is used by system/physmem.c will be turn into common code
in next commit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/kvm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/system/kvm.h b/include/system/kvm.h
index ab17c09a551..21da3b8b052 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -210,11 +210,11 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
-#ifdef COMPILING_PER_TARGET
-#include "cpu.h"
-
 void kvm_flush_coalesced_mmio_buffer(void);
 
+#ifdef COMPILING_PER_TARGET
+#include "cpu.h"
+
 /**
  * kvm_update_guest_debug(): ensure KVM debug structures updated
  * @cs: the CPUState for this cpu
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917748.1322637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIQ-0000Ui-MP; Mon, 17 Mar 2025 18:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917748.1322637; Mon, 17 Mar 2025 18: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 1tuFIQ-0000TM-Ej; Mon, 17 Mar 2025 18:34:42 +0000
Received: by outflank-mailman (input) for mailman id 917748;
 Mon, 17 Mar 2025 18: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIO-0006VW-IZ
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:40 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7bfe7bee-035e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:34:40 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-2239c066347so99592345ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:39 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 7bfe7bee-035e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236478; x=1742841278; 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=59c6JEMS6FIy924v+CKtazEU0ebGAiMufvTS4mzCbJo=;
        b=URBQfIApXa1D9rXmhhCOiHINv56EQS1U5hUrJLxe441UVSY484eSJ+mzfmGAk9cOr1
         eqkruCf6g7Ia1dwRMp6FR6Bgy0b9F55SnVz0qv9YHGWrO+1zWVH4yUssrn7OPA9XE8oK
         h9HtiNvkexenXqWSzL0SZBDKCk6QdfIEe53KOgn0ePm+W50rNlKtJ3YRwPY3DePmspkd
         Q97szyUgx4zAI0X4VUzEC00so6QYGCx7dFqcMcy5yj6XuFPFLXuH0bQpoUWNA3DdIQ4a
         C30KRa84Qs7J/cjB7Bv0mNU5YStQ8N/5PQStBSekTvcFNPJ6wef7GIcLx1ADEKKjnwFu
         Uuwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236478; x=1742841278;
        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=59c6JEMS6FIy924v+CKtazEU0ebGAiMufvTS4mzCbJo=;
        b=dWctuECHa5yTV8jzBhxmnzlYGOLsc1JTJnYaWfNjN2OH1kQVhkGIb0mpGM2j+A4HMx
         VGuANk1JRWt+8EuSAG32TuwX6+p6D1KrW+HJUHlApjW1lAR56NMdOOb0lvhYsbf0BGuC
         cOuBBKgK1CPZCDP7eRPVqou02tim3p9I7ZoNgCkBzAF5lg9+z1JbU/wJRfV10fYwPl80
         e0y+o7+RD59O+nhc3u/e3y1SWYTutN13nMpyBk2eA1HcTb50SMnvR3Q04RYbVYFh0Rpn
         ML9gk6I6WiiXcRaAiONa/5hIfmKG3OYow/6N9Lylnm1RmEaUebM9kIfFEOj47T2KJNxt
         ee4Q==
X-Forwarded-Encrypted: i=1; AJvYcCWUkh6c3xx7QeykskkLwEN9Fo2tvtrlgThTI+d+A/+3Tnt6Cukf2Lpc6b43Oa+r/lpaE6qLshAFkyc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPODRg1pECn/HR27csb7SsHOJz30tpK/jafiBy5kcW7gD8JUIo
	2UYFM0rA5gJ39Txl40w9qphqm4LjYkUjr9/w/sjr9piAJYsQuaHNY5bpg6K5ZFg=
X-Gm-Gg: ASbGnct8IfzFnW069b0D5bHYFAPd/TIVDb7mo1gVKNnljC0cxnROX+fydg2Ybip0qVs
	0YGqDZRBC3uWZYjI5l0sD80fuOVvEN38pCl5S1WnlKWjuTEj05zyleKzoWpYNkesJl03ovT/pc5
	HAvxNVyjXK2tcfp+6//87TcU3MdF1io4kD+crH8v0o7NbGv1dc5GrzwwfPqCncfMc4P0Wm1UeUE
	1XktfvhHULQpSrA4bOCY5gDNmcH8OMNdVz/OaNy+/zDOFPV33bsuEnDUn+AVIp+J1vH8PCNrXj9
	WFnSFVi0mBKGaztE6iBuH2mrol/IncsWC+cmVhxw7AQDvgifJzBpjVY=
X-Google-Smtp-Source: AGHT+IGMBPlS4723f/QfXCi2z/TEFSVr/xLDSBzcEDnDoDIjYYHTKxD7//19rhfel7oXOjNf8/+suQ==
X-Received: by 2002:a17:902:f711:b0:220:fe51:1aab with SMTP id d9443c01a7336-225e0af4f9cmr187594395ad.38.1742236478508;
        Mon, 17 Mar 2025 11:34:38 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v6 12/18] hw/xen: add stubs for various functions
Date: Mon, 17 Mar 2025 11:34:11 -0700
Message-Id: <20250317183417.285700-13-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Those symbols are used by system/physmem.c, and are called only if
xen_enabled() (which happens only if CONFIG_XEN is set and xen is
available).

So we can crash the stubs in case those are called, as they are linked
only when CONFIG_XEN is not set.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/xen/xen_stubs.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/xen/meson.build |  3 +++
 2 files changed, 54 insertions(+)
 create mode 100644 hw/xen/xen_stubs.c

diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
new file mode 100644
index 00000000000..5e565df3929
--- /dev/null
+++ b/hw/xen/xen_stubs.c
@@ -0,0 +1,51 @@
+/*
+ * Various stubs for xen functions
+ *
+ * Those functions are used only if xen_enabled(). This file is linked only if
+ * CONFIG_XEN is not set, so they should never be called.
+ *
+ * Copyright (c) 2025 Linaro, Ltd.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "system/xen.h"
+#include "system/xen-mapcache.h"
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    g_assert_not_reached();
+}
+
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   struct MemoryRegion *mr, Error **errp)
+{
+    g_assert_not_reached();
+}
+
+bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+}
+
+void xen_invalidate_map_cache_entry(uint8_t *buffer)
+{
+    g_assert_not_reached();
+}
+
+ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+{
+    g_assert_not_reached();
+}
+
+uint8_t *xen_map_cache(MemoryRegion *mr,
+                       hwaddr phys_addr,
+                       hwaddr size,
+                       ram_addr_t ram_addr_offset,
+                       uint8_t lock,
+                       bool dma,
+                       bool is_write)
+{
+    g_assert_not_reached();
+}
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index 4a486e36738..a1850e76988 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -9,6 +9,9 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
 
 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()
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917752.1322643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIR-0000cg-JB; Mon, 17 Mar 2025 18:34:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917752.1322643; Mon, 17 Mar 2025 18:34: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 1tuFIR-0000Zu-4j; Mon, 17 Mar 2025 18:34:43 +0000
Received: by outflank-mailman (input) for mailman id 917752;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIQ-0006VW-4P
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:42 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7cb34f52-035e-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:34:41 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-22349bb8605so102852145ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:41 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11: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: 7cb34f52-035e-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236479; x=1742841279; 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=RL1NPApLGPlk4f7q724/4D7b3IECBRPwWShMeYRIDxA=;
        b=Ufd+wUjqdIj67ViH+k8bkR/9OHv0GTXCv5BPAL6JxDK8rOnFiBm5RyT7jR9pART7RR
         VZYclZAsDJqfUOM7DGFWMaNHcpH2p9Y2brVCa7xVQrSltOTZ1f8kRZwPAiu0K5WPKVBt
         5CIMJTB61CbRlLQmEavv1uO6UVhzM0GEvpgLMdCKdf1lf3ZytUDtngddfteHVK4ZM3wG
         tE18j7L1cWtjmfFYym4uKBd9Khh/jtlQfEjNbUXCC0d3UoxX2ElrFwMuc35G1JMBixQw
         b2viPyiG0o2JAW2CjmKf+J1gif8Y9XuiAr/S0h5hqWdFXUNyNd5UQftuuAoS/scr1kQH
         gHuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236479; x=1742841279;
        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=RL1NPApLGPlk4f7q724/4D7b3IECBRPwWShMeYRIDxA=;
        b=alCWjp2+gytb/BFtA9eBQ2BcXsz99FeAZvR/jtwLLShVXnymv+CHO+EFq4dzI+lE8a
         uaelkV1xipjEaR6Y9r+gMb1b3Qc+Ys4Wfg5nl0sCXx8Vs+4ULVWrC8dlP4YrBMynaUd9
         VIs/Ny5IoOYGJ5xOOPSjTRG2+2zkn0tjpo6N0aHuPDjcIelWJrgODqj+9wSCg1eG9SB+
         xfqJNTE9Lz6lvCUcE/keF+YeKUD93lw2zP9zW4aM/7L35eV135c42czfGQen2+UzREGL
         lmJtrdgSDsWjJtKV6sC31KPmLV1pb97kjeJJG1mkHPSSEYTe77D8nLqmWyFoUJPcGzmJ
         yBLA==
X-Forwarded-Encrypted: i=1; AJvYcCWtwU6RkztJRUxWl5p82RDMsyDaXelku7+xmO1G46Q0LCoSdHFtp8BNLAQUgP8AVwNmkkvXFsMwHvA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzlooS7a//ajo8PiRyc48BJhAzwxCZBr/H/ALhJxm7TGO0hQu7L
	btbNe37qIRuZS8ComByj1obVtM7nFdldCSDgtd9DB2E/tKSDGjyLKK3CnzC74JY=
X-Gm-Gg: ASbGncvRMuS8tRplNFvvD+Oipo9lv1puU/g2/+AxsoRTI5796Q7AIt6iw5ybRS5D3m7
	LYrbwyW/wpy9/SVDRBp4QupxhlGryOlm4snKUkMoxnG0i3IsaMWGZCoFQ0XOCyQM5aV3AhWp5+A
	fllP763xiBFoiu0Jp6aopeTGRsVHn8Q1SzK/iv5DAv8Wa/OcJrKkORX6msDl0EQPfFFhitpdUkR
	ZonE0LKLsYXo+YK/juxCWqkAKaSVk8ewuJtNzvdhiHRBhGuRg7/zHJCTzZK8yZnvYhnNCizB/Ee
	2sB/IuGOANUmbMIgZyK8vkMyXfiqDFVNfb9ge9I9adWx
X-Google-Smtp-Source: AGHT+IFOOeyV31jwF+pNrENhCRDzbP+OAMMjvkw2JiLIZfPvEZk2AdzmBDyPiAzaxdBUCsyNl+0UJg==
X-Received: by 2002:a05:6a00:1c83:b0:736:54c9:df2c with SMTP id d2e1a72fcca58-7372240f41dmr13708249b3a.15.1742236479639;
        Mon, 17 Mar 2025 11:34:39 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 13/18] system/xen: remove inline stubs
Date: Mon, 17 Mar 2025 11:34:12 -0700
Message-Id: <20250317183417.285700-14-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reviewed-by: Philippe Mathieu-DaudĂŠ <philmd@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/xen-mapcache.h | 41 -----------------------------------
 include/system/xen.h          | 21 +++---------------
 2 files changed, 3 insertions(+), 59 deletions(-)

diff --git a/include/system/xen-mapcache.h b/include/system/xen-mapcache.h
index b68f196ddd5..bb454a7c96c 100644
--- a/include/system/xen-mapcache.h
+++ b/include/system/xen-mapcache.h
@@ -14,8 +14,6 @@
 
 typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
                                          ram_addr_t size);
-#ifdef CONFIG_XEN_IS_POSSIBLE
-
 void xen_map_cache_init(phys_offset_to_gaddr_t f,
                         void *opaque);
 uint8_t *xen_map_cache(MemoryRegion *mr, hwaddr phys_addr, hwaddr size,
@@ -28,44 +26,5 @@ void xen_invalidate_map_cache(void);
 uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
                                  hwaddr new_phys_addr,
                                  hwaddr size);
-#else
-
-static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
-                                      void *opaque)
-{
-}
-
-static inline uint8_t *xen_map_cache(MemoryRegion *mr,
-                                     hwaddr phys_addr,
-                                     hwaddr size,
-                                     ram_addr_t ram_addr_offset,
-                                     uint8_t lock,
-                                     bool dma,
-                                     bool is_write)
-{
-    abort();
-}
-
-static inline ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
-{
-    abort();
-}
-
-static inline void xen_invalidate_map_cache_entry(uint8_t *buffer)
-{
-}
-
-static inline void xen_invalidate_map_cache(void)
-{
-}
-
-static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
-                                               hwaddr new_phys_addr,
-                                               hwaddr size)
-{
-    abort();
-}
-
-#endif
 
 #endif /* XEN_MAPCACHE_H */
diff --git a/include/system/xen.h b/include/system/xen.h
index 990c19a8ef0..5f41915732b 100644
--- a/include/system/xen.h
+++ b/include/system/xen.h
@@ -25,30 +25,15 @@
 #endif /* COMPILING_PER_TARGET */
 
 #ifdef CONFIG_XEN_IS_POSSIBLE
-
 extern bool xen_allowed;
-
 #define xen_enabled()           (xen_allowed)
-
-void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
-void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
-                   struct MemoryRegion *mr, Error **errp);
-
 #else /* !CONFIG_XEN_IS_POSSIBLE */
-
 #define xen_enabled() 0
-static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
-{
-    /* nothing */
-}
-static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
-                                 MemoryRegion *mr, Error **errp)
-{
-    g_assert_not_reached();
-}
-
 #endif /* CONFIG_XEN_IS_POSSIBLE */
 
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
+                   struct MemoryRegion *mr, Error **errp);
 bool xen_mr_is_memory(MemoryRegion *mr);
 bool xen_mr_is_grants(MemoryRegion *mr);
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:34:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:34:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917753.1322654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFIS-00010L-Sp; Mon, 17 Mar 2025 18:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917753.1322654; Mon, 17 Mar 2025 18:34: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 1tuFIS-0000yo-MG; Mon, 17 Mar 2025 18:34:44 +0000
Received: by outflank-mailman (input) for mailman id 917753;
 Mon, 17 Mar 2025 18:34: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIQ-0006uj-Gt
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:42 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b5f8b39-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:38 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-225df540edcso61414665ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:38 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 7b5f8b39-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236477; x=1742841277; 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=PABH8iZPN9WF+wJr72ZMp6Lm7i1C+9jWBJAvssLik90=;
        b=AozXs1rjdznk9mpfZNnXgltxkDH4ByHsUKY3lbeMCtU4ed10uGUupSAPr3OIlRUGyf
         AUUUrCJZv8l8w5omvR6qcNVcCrM2uIJfZhZjTFl3ekVkNpIUZI3XmNLOhIpNitJZp5He
         EI+40vQhkyssfMRMf9bVX/R+SAzvpJlYvnPDsKv/hWM38yv3LXksvfaxhxr9+HyxHyyE
         XyJ8leZrlZYYs9PiC2PwkFBW3Ob3/oe6hheU17g0wnRuXX7vxBAuyLzZsMHRMIyZkl5Q
         /7/kjmBX4Fr9v3Eq66idP4KejoM+fd0Luh6b1t+dZR0QvX+gK4lNxVhxvMdj7oyWRD0U
         KZ4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236477; x=1742841277;
        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=PABH8iZPN9WF+wJr72ZMp6Lm7i1C+9jWBJAvssLik90=;
        b=XEp7/tIlL00CeEvzMXqDVkv6upBjxC1NyADhxG1CEQZ4VxC+ReqTc+Q+TF8d9cg6UV
         rVh8usoWUmIUSGcxp0MxJqy3BdPu4XwBHY1GTCvGklEiIVsa8dzI35sr+UX8/wkvtYIJ
         HwbhRy9YiHYuGxrRjXbgMfs8lix+RG0ngjdxczHtnOuKXPZ/GEB5Pu/oPYqwBoA6RzyY
         5lWVcBpF/m1nHdcCyPiacOEn75zT3I1cEP834L6kLFLYY5X3zbNjYQKuh+xcZbCFErV9
         +iJw9cTacRSXdMhGYZrGGxIFq4vJl8f4GWY3CZhlw/yseTYvemCht7mt7t42cxaE3B2R
         1deQ==
X-Forwarded-Encrypted: i=1; AJvYcCWSEwdR4xcgOhlc3P6LGMc6JcgAY2SDyTWigVUy9E+qezJaPjG0dQY4skjWIJyOs2wpZfnzopX/Kn8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxW6ySBd5ug5SnONDNBzTwEWPP9KoSXH5g7Ez8sSI/mdxuENsw5
	FwSeLUlzjkvwGTjpFx0QZShvhHhdqT9Kopafl8qMEw0wuziZmOB8k9+GXlfDf4U=
X-Gm-Gg: ASbGncu0dq+9NKtl2rFhmgrVy03Fo5RMfmPOTFVM0n+OnhfRukhxneroQcmMBK5Q9zQ
	MF1OtRJ9nFX7kWy0uUeAYCTtNKnUk1hu1rE/tTw869/QEe5CzWjSzPORkOj38U88/unilFB5yG8
	4AP2sNGqO3HPcfVYzX1WjyPizjp/DQ467ZqHI8HASzqyAEn/1kwsFBOcoSpJ8+ljKmyd7XeHSHe
	Vb3LS2GiM57amWVEsZVhjDsI4IeifSKtQ5nT5URbyWU1kSNYqIEkahne/CvBl2jgXW06f/ZY+Fi
	DoPlJb7VFCvcRo9oVBz9mEUJwpP5I3Cp9Ro/uPgNLzl9
X-Google-Smtp-Source: AGHT+IG3g1g1/S4GhLMViIQmdttYJlPvvQDr2HFvFncsoI+sX7+pFPl4do/KG0rupNOCudw5OLu0nA==
X-Received: by 2002:a05:6a00:2d8a:b0:732:5875:eb95 with SMTP id d2e1a72fcca58-7375778c1femr704383b3a.4.1742236477316;
        Mon, 17 Mar 2025 11:34:37 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 11/18] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
Date: Mon, 17 Mar 2025 11:34:10 -0700
Message-Id: <20250317183417.285700-12-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/ram_addr.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index f5d574261a3..92e8708af76 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -339,7 +339,9 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
         }
     }
 
-    xen_hvm_modified_memory(start, length);
+    if (xen_enabled()) {
+        xen_hvm_modified_memory(start, length);
+    }
 }
 
 #if !defined(_WIN32)
@@ -415,7 +417,9 @@ uint64_t cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
             }
         }
 
-        xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        if (xen_enabled()) {
+            xen_hvm_modified_memory(start, pages << TARGET_PAGE_BITS);
+        }
     } else {
         uint8_t clients = tcg_enabled() ? DIRTY_CLIENTS_ALL : DIRTY_CLIENTS_NOCODE;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:40:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917823.1322679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFOL-0005gj-U3; Mon, 17 Mar 2025 18:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917823.1322679; Mon, 17 Mar 2025 18:40: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 1tuFOL-0005ga-PJ; Mon, 17 Mar 2025 18:40:49 +0000
Received: by outflank-mailman (input) for mailman id 917823;
 Mon, 17 Mar 2025 18:40: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuFOK-0005gI-SB
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:40: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 5772791e-035f-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:40:47 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39143200ddaso3034595f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:40:47 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7ebe4bsm16118634f8f.98.2025.03.17.11.40.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:40: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: 5772791e-035f-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742236846; x=1742841646; 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=LQMPdbs5n7jlJF2V8rD6Jm1jdMD2vppH8sg7+sJDxj0=;
        b=kmG+tQedMJCfJyq7gurSOf3vgUO3WRrE8ZqpyX+nKMra8yw3kHsDzhZV1u7kngNLAz
         tiySXGXNr2RGKnp7n7xe1OUU+1YBOslKv7CS4RBfuiFQXzdBoRQMxFZtHRuHGm14zVBe
         1LS356/Hdh8Bfnu6Uy1w+gFhuMHpGllo/8h7w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236846; x=1742841646;
        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=LQMPdbs5n7jlJF2V8rD6Jm1jdMD2vppH8sg7+sJDxj0=;
        b=IfHPl2h49Yvwyec2GzRIHE8pZPGuB5268vBO6lY2bKZLxAVx7cvoz8iu3bxS2EXO2Q
         IAwlSkV5vx28xOni3cnMpTzJ0M0Fy9pQuiuN6boUXDZZqno7tvIxX96pVq/7u0D/NhJG
         MqU6NtoFalmUwfHHuc+dYoBoVkDA7CZVkwVuPRTkSWovDRzl6Gry92r6wsYT16ePAnTA
         UelqvkFoSmq1i5ZP+iCRPIDDZwxD8GLAGGPJxwZRvpvNpZc/72ykXtVklDB3Pm96GI8S
         ZWhSbCJnbmgn5q1tJMMwSpc7WH6UTpvvlRv7VrHSfcd4nbP9oVXfYzsmuLSHYGIYrMtr
         9VFQ==
X-Gm-Message-State: AOJu0YxZ9FGU2iSho7bS81Eg5TWFDHOhFXXnFilr9EhltocgLmKMvbMp
	BOsEFPxsJG9JvMHbjgxM0OJYEaNsCMUG1uJwSXx+YcWXuIRpG+eII96zUx/OGtp8Pa4sPnEIm3T
	L
X-Gm-Gg: ASbGncupuIWES8o32N2YAugqVfE5Ex5yg6ZoGNUYf9cABBzF9WHTCVc0jaShaUZtjlv
	qv7JRQYu4ZGZHopy30b93Kb4/3/JRExf/jM+egTQ6V3dFJ7R8WfxWDiHd86RNol6eF0XWnXnNhO
	j+YVsaArbhAIxrQxuYHe0JaevMi9ZQKZcLNVTzRSJmthqhVhswIobPzM+zKHMrOgaw1An5AXsQL
	uuODrFG4lzOPY4wV0t4/0qe/P3eWOGbI6WVSMfb+NIBayuiqKe/oR7ChwInoaTnoSwmYA4IT8m4
	1n5gZMGygII7WLBWJRmm1ymon86KotS7594rd/nHMrTZKPElFYf1XIrI1tlAiSBIXyQtLCfQJEp
	kXuX55nqB1bdsVsnYRKi/nrJ6
X-Google-Smtp-Source: AGHT+IHRQFYBKXE6JmNFPOa1zBeztYXy+hkF/S3+pV1YDgc/LEN99p50R13UPTMjxjIxuyDcFiNkDA==
X-Received: by 2002:a05:6000:381:b0:391:489a:ce12 with SMTP id ffacd0b85a97d-3971daebbc5mr9885741f8f.26.1742236846547;
        Mon, 17 Mar 2025 11:40: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>,
	=?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/emul: Emulate %cr8 accesses
Date: Mon, 17 Mar 2025 18:40:44 +0000
Message-Id: <20250317184044.560367-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

Petr reports:

  (XEN) MMIO emulation failed (1): d12v1 64bit @ 0010:fffff8057ba7dfbf -> 45 0f 20 c2 ...

during introspection.

This is MOV %cr8, which is wired up for hvm_mov_{to,from}_cr(); the VMExit
fastpaths, but not for the full emulation slowpaths.  Wire %cr8 up in
hvmemul_{read,write}_cr() too.

Reported-by: Petr BeneĹĄ <w1benny@gmail.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
CC: Petr BeneĹĄ <w1benny@gmail.com>

Like the fastpaths, this depends on all HVM/PVH guests strictly getting an
LAPIC, which is guaranteed by XSA-256.  There's no such thing as a 64bit CPU
without a Local APIC, so no such thing as %cr8 not being TPR.
---
 xen/arch/x86/hvm/emulate.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index dbf6b5543adf..852240b29d74 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2285,6 +2285,11 @@ static int cf_check hvmemul_read_cr(
         *val = current->arch.hvm.guest_cr[reg];
         TRACE(TRC_HVM_CR_READ64, reg, *val, *val >> 32);
         return X86EMUL_OKAY;
+
+    case 8:
+        *val = (vlapic_get_reg(vcpu_vlapic(current), APIC_TASKPRI) & 0xf0) >> 4;
+        return X86EMUL_OKAY;
+
     default:
         break;
     }
@@ -2325,6 +2330,11 @@ static int cf_check hvmemul_write_cr(
         rc = hvm_set_cr4(val, true);
         break;
 
+    case 8:
+        vlapic_set_reg(vcpu_vlapic(current), APIC_TASKPRI, ((val & 0x0f) << 4));
+        rc = X86EMUL_OKAY;
+        break;
+
     default:
         rc = X86EMUL_UNHANDLEABLE;
         break;

base-commit: e7e0d485e993e97b1c816adcfc610e7c7258ce96
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:40:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917821.1322668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFOH-0005QJ-LE; Mon, 17 Mar 2025 18:40:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917821.1322668; Mon, 17 Mar 2025 18: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 1tuFOH-0005QC-IM; Mon, 17 Mar 2025 18:40:45 +0000
Received: by outflank-mailman (input) for mailman id 917821;
 Mon, 17 Mar 2025 18:40: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIU-0006uj-HW
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:46 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d5206d2-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:42 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-225e3002dffso47308665ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:42 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 7d5206d2-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236481; x=1742841281; 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=cOa15ppvF5kxsldjPkSIJYe5T0c824L9GaUvR3via0Q=;
        b=lMOX13izFB4S9h8vQySWsTtxpkjf9ki7bsifqELxXkvBMW9h+e7iBaQ/YKPaNjBwr0
         7srYTo12G4Wk0imPpBh6Iu0sO+Yovw1Wa1yAIM9esEJ1NGpbauwktg7Jz/rOimbFTAyl
         kuVMMKwaV+6B4/mxm6C1BXAxYaGtnTzgdeV7VLtFkarXdfKiPIrZTFIjlzdhZQpwKFsX
         ddyCNfK4KUpegMwuRmCT/YM/BMp3VFp91QbR6b9Kvkfulx7gmUMYd7krkAap7jrpn2R/
         3XDcNPg+IF/RlAiK6lUCvBrQtycCgQq9ks9HsWOZII1TjSPahgv76GKMNkTq/E5rITn5
         ykKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236481; x=1742841281;
        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=cOa15ppvF5kxsldjPkSIJYe5T0c824L9GaUvR3via0Q=;
        b=rCbf8N8ZbmhHE+YVbEWpSwA8HyWoN4WbYnxoeKjAh7vOH/+CGFefQ3K2koMdaZWt+d
         +O/A8Su8I7HgpehrAsWEwFnWbDjr4lmjOAI8FBBgn37zkr5FljDDNV1LDidc3rOkgmvp
         Qe1j37siiRD5NwaBBjdzG2yFMBhy9vsTsTLHPBZBJqErpXzi+hOnrSoLNeCmY9kwiiE4
         iq9JmFZequnUqBVHjC5p+EW1yyxA1IkFAP2fDKQHv+BT5Z4IzIkLKUVvukX+2opX8WTQ
         aC2uVHvOF+4J9mFYKN1p7Sx2NT2+CAWhqz9Lb7/Zbse6+sSy4lfVQbW1GooJ/lcrlIuM
         BxiA==
X-Forwarded-Encrypted: i=1; AJvYcCXcBMog9Fmybr96FuI1+BQKKzJhc8CC3tNtzzsC0arJK2aa6L+kusesVgpRzOU4QOS+FU5tVpOEcdY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx2ynSRDPYUQf02Q/ctFuPtkMY41DF0d41Dtx2Gl4ZbtDetk8OP
	7uuByvqOI+RqACnIuesH33zm+3u3s1nirUTc8EL08Ukvm/o2z56hx20PVOD+I4s=
X-Gm-Gg: ASbGnctDrw2h4DU3z4V2JsaxDbO/iFPgeSVedOvbgJjvuDEY3189AeUubZVz2EO9tms
	oejH2DQuwE6yhjmI4mpUoIOFORP1ibOc6TklstIYIs/8HwknDbRQ7mrKIxDEJkANIBwStO+5m9o
	E5kwLTrMC0EjDe8wWjC2Xk0ML0dWxvmq6O8nJ0ViRQL9z+fDJu+i1yu/5A7NO9bcucRvLmQSIhs
	U+EhbKtaiJXqS56fYxqDTKRnQAQvm40iCeXm3Y0MVYdVVTNOTmPfSCv49P0qGP48PxL8IUY9SL5
	LxkPJJckDo5su38mNJxD5yDA0Cu0gK0Wqtk2NMc2tIx4rSUn0mNOB2s=
X-Google-Smtp-Source: AGHT+IHJvFyPD498ouch6ktpEIoYmR6xx3vtpzwDFb0ar1DtZX7lkpskC+JCwilCa8dJd3A5JvQbZw==
X-Received: by 2002:a05:6a21:7895:b0:1f5:9961:c40 with SMTP id adf61e73a8af0-1fa43acdf8emr1048891637.8.1742236480716;
        Mon, 17 Mar 2025 11:34:40 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 14/18] system/physmem: compilation unit is now common to all targets
Date: Mon, 17 Mar 2025 11:34:13 -0700
Message-Id: <20250317183417.285700-15-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/meson.build b/system/meson.build
index eec07a94513..bd82ef132e7 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -3,7 +3,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'ioport.c',
   'globals-target.c',
   'memory.c',
-  'physmem.c',
 )])
 
 system_ss.add(files(
@@ -16,6 +15,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
   'rtc.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:41:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917856.1322687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFOs-0006iU-6q; Mon, 17 Mar 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 917856.1322687; Mon, 17 Mar 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 1tuFOs-0006iN-4B; Mon, 17 Mar 2025 18:41:22 +0000
Received: by outflank-mailman (input) for mailman id 917856;
 Mon, 17 Mar 2025 18: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIT-0006uj-HX
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:45 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73f1d6e0-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:26 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-22622ddcc35so20268085ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:26 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 73f1d6e0-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236465; x=1742841265; 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=RPbHwvloYIySCZWmnoL8Q2AUPe8llNmEPWBrsL/waLI=;
        b=N3aXQC5DH12GsMRfxKixN/FRxFobfboLUhGyq2i2oFCV5Dqf9jmfmxyIG15ykABmHc
         lrL1YLPJ4lXiB/cpCfB7f+Vah24mPnPgnuvid19A+ATaRjzLp8fXECl4Fey/a6CGRXpI
         RFqp7rggDrTO79X9mquZ+3aZlvRxL3sRcgRfBXUOFmJPkWnIIfuiqi8a3qFLUEkhPIOL
         rpxEWbaHkvtVlYCZbF3kRnI/3MceBSKb6BhDcGds7pym+Wpnm0Gz6Es510z2opBLOQPf
         9ZUcODmbXqHndObAzKztSxTXU0kj9zp1+kBqtZmJx1YT2CERTgQU3VM3StHAVTd9wErb
         M6xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236465; x=1742841265;
        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=RPbHwvloYIySCZWmnoL8Q2AUPe8llNmEPWBrsL/waLI=;
        b=PXk/sdgHUOsPVooqP8wLL/ojp+cxl8VqUE3P3wpVre/9KJbOTsWL9mdDrGkswRJedk
         XiQtUY2icBb6zO1cXwTNpax7/V835VZrT+TZjEjrLvSqZLOtnyNQyNYKrGIkEsqO6754
         q1sOKInm3qM5g2hqdF+UDP3CoE4a5fDSMiZYdmYzUMMW2vetDrc4W/fTw//0/bwXkif5
         dJAAe5RO4EpkmW2CYVvrs+M0+bs3+K2o92G3Fr9XmU3lhyWJELjdTNPowuh0CdzcXkVP
         uT8aFwWVzPGZ8rCoEUwyAL+KNCIdMmLy+AcQ+xVlnxyRFlTFp0wCy9mMq5ska5W0ftCk
         xF4Q==
X-Forwarded-Encrypted: i=1; AJvYcCXoCiBRMRRFH2Chn0jMmKK9KhKnHXG/poEmqy8+tdanD6toZPNoazjMAZ1Y3LEvTt1hDDAwtlDq6o8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxClRIKCbOBjAb2OCyomVA9ZADYxQJY+OOAgwpE9VRijc3vtra3
	b+lO9mqUyBVi1uK9a0NXPZnUUTdYD7NVZP5cHNJ8WcxqEOAflNFITJEiOlD0YyQ=
X-Gm-Gg: ASbGnct9HK7aMt9ol89tobKok5lk4b9GkYCLMeAPsH7UgR4xtkkekKu0KrpJHUW75F9
	2D0U2EZniNI9QncFsNI4LP2XfiOpy4GDzIOStnDV9uRxExEzsCC75O+FP59RULTWwjclhq/B721
	HN6nnWpxzJyHUm+AZiRTVORcVelrfZHwTYtBw/l7rtexx6H3w76zrvnGRfS//lrhrVu8YsPGOxd
	CdBE90rcbvKZbnIrlbh4WL0CvCe2Or4kIZbnRSMgwKWI6Zp3o96okk5ius0/CUmr6eQAwQYLYef
	a0Ddi3VAh4OoGTLRFDizlKbYs+XH2P02mjoaTCi6vXU2
X-Google-Smtp-Source: AGHT+IHpwrE/9GG9C2SlpcasgbLprVybd7V3qfmK368RSyHmuII8fQHqzJpX5Xu5Sns9RSpMe6xOTQ==
X-Received: by 2002:a05:6a20:6a0c:b0:1f5:8903:860f with SMTP id adf61e73a8af0-1fa4428f303mr888720637.14.1742236464910;
        Mon, 17 Mar 2025 11:34:24 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 00/18] make system memory API available for common code
Date: Mon, 17 Mar 2025 11:33:59 -0700
Message-Id: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

The main goal of this series is to be able to call any memory ld/st function
from code that is *not* target dependent. As a positive side effect, we can
turn related system compilation units into common code.

The first 5 patches remove dependency of memory API to cpu headers and remove
dependency to target specific code. This could be a series on its own, but it's
great to be able to turn system memory compilation units into common code to
make sure it can't regress, and prove it achieves the desired result.

The next patches remove more dependencies on cpu headers (exec-all,
memory-internal, ram_addr).
Then, we add access to a needed function from kvm, some xen stubs, and we
finally can turn our compilation units into common code.

Every commit was tested to build correctly for all targets (on windows, linux,
macos), and the series was fully tested by running all tests we have (linux,
x86_64 host).

v2:
- reorder first commits (tswap change first, so memory cached functions can use it)
- move st/ld*_p functions to tswap instead of bswap
- add define for target_words_bigendian when COMPILING_PER_TARGET, equals to
  TARGET_BIG_ENDIAN (avoid overhead in target code)
- rewrite devend_memop
- remove useless exec-all.h in concerned patch
- extract devend_big_endian function to reuse in system/memory.c
- rewrite changes to system/memory.c

v3:
- move devend functions to memory_internal.h
- completed description for commits removing cpu.h dependency

v4:
- rebase on top of master
  * missing include in 'codebase: prepare to remove cpu.h from exec/exec-all.h'
  * meson build conflict

v5:
- remove extra xen stub xen_invalidate_map_cache()
- edit xen stubs commit message

v6:
- remove xen inline stubs from headers

Pierrick Bouvier (18):
  exec/tswap: target code can use TARGET_BIG_ENDIAN instead of
    target_words_bigendian()
  exec/tswap: implement {ld,st}.*_p as functions instead of macros
  exec/memory_ldst: extract memory_ldst declarations from cpu-all.h
  exec/memory_ldst_phys: extract memory_ldst_phys declarations from
    cpu-all.h
  exec/memory.h: make devend_memop "target defines" agnostic
  codebase: prepare to remove cpu.h from exec/exec-all.h
  exec/exec-all: remove dependency on cpu.h
  exec/memory-internal: remove dependency on cpu.h
  exec/ram_addr: remove dependency on cpu.h
  system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for
    common code
  exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled
  hw/xen: add stubs for various functions
  system/xen: remove inline stubs
  system/physmem: compilation unit is now common to all targets
  include/exec/memory: extract devend_big_endian from devend_memop
  include/exec/memory: move devend functions to memory-internal.h
  system/memory: make compilation unit common
  system/ioport: make compilation unit common

 include/exec/cpu-all.h              | 66 -----------------------
 include/exec/exec-all.h             |  1 -
 include/exec/memory-internal.h      | 21 +++++++-
 include/exec/memory.h               | 30 ++++-------
 include/exec/ram_addr.h             | 11 ++--
 include/exec/tswap.h                | 81 +++++++++++++++++++++++++++--
 include/system/kvm.h                |  6 +--
 include/system/xen-mapcache.h       | 41 ---------------
 include/system/xen.h                | 21 ++------
 include/tcg/tcg-op.h                |  1 +
 target/ppc/helper_regs.h            |  2 +
 include/exec/memory_ldst.h.inc      |  4 --
 include/exec/memory_ldst_phys.h.inc |  5 +-
 cpu-target.c                        |  1 +
 hw/ppc/spapr_nested.c               |  1 +
 hw/sh4/sh7750.c                     |  1 +
 hw/xen/xen_stubs.c                  | 51 ++++++++++++++++++
 page-vary-target.c                  |  2 +-
 system/ioport.c                     |  1 -
 system/memory.c                     | 17 ++----
 target/ppc/tcg-excp_helper.c        |  1 +
 target/riscv/bitmanip_helper.c      |  2 +-
 hw/xen/meson.build                  |  3 ++
 system/meson.build                  |  6 +--
 24 files changed, 191 insertions(+), 185 deletions(-)
 create mode 100644 hw/xen/xen_stubs.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:41:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:41:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917867.1322697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFP4-0007Dd-DZ; Mon, 17 Mar 2025 18:41:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917867.1322697; Mon, 17 Mar 2025 18:41: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 1tuFP4-0007DW-Ar; Mon, 17 Mar 2025 18:41:34 +0000
Received: by outflank-mailman (input) for mailman id 917867;
 Mon, 17 Mar 2025 18:41: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIV-0006uj-Hn
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:47 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7899dc0a-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:34 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-22359001f1aso41894345ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:34 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 7899dc0a-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236473; x=1742841273; 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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=ou5iumzeKO3KYBOeU8S37Bw5DN7fJHy8MdESIyp/mO1Y1tYJ0TvC9cRX2tX4GJhPof
         t0nJcKPI80Z7cwHiysjNMjA6ZxQZ2URM56aJ82nfDTKSYD9B8/SbNUD0TnrhrCBiaskj
         FLaqDfsn7M/AuMJp74H9oyLiG4XWr5m9f4w/tzsgJxuBRCPv7CkkOT4oFugVcY3dqzO6
         xAoNKySLz8mi3FoHg6sVg689SsEGN/BANdMr5HLYkZuWYlrLOs2H+cxZQ00m9pA4g1hZ
         NBBSSPS0o8GPMO3WXYubIPJHFZ2UXYCnDLllAM/UI27pHKL7lEYcNtK0Y6Uqfh/lT9zi
         PuwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236473; x=1742841273;
        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=bYYGOsy+zcSjxVOnigwMonGaAhWbZB7W76ZyOX5Jlgc=;
        b=qVZY6A6xfb+ywhlckHdiD74Zy441CZDKWPzk7Rq4hCUDm10s0FRGJumVh66M6ue9OW
         WHbIOqSL366Q0iaEzeEC/zz3yF4Pr277lP4nfbSDn8rOeCyaJ8Pf7i2INU903jJVvRgW
         o2JWIYJ/32MPsmzx0HwIx3Q4Ksl9tK0p3FGgGcl7zus0b7MrUjQiSvJTXphohf6cIbl3
         pmxHJFGPYa9xkQ0RgDeR9g/mRfskvZUB2sD5P679VD9py+UlzTRGUcRyK4gkhrL5Z7vh
         pkEnw9zX14C0DcphoVOlI/yFP9Wk+1FM9XXVJKPokLhk4dOdvopzdWaV9Mg/BMfZCFi+
         hNjg==
X-Forwarded-Encrypted: i=1; AJvYcCWfVi5acfDUihYI/oUCMMFrD585Z23ccxzKPjDAWViH7HcnTUGK1YFMxMLqmxcapUPJ+WC+iJSSgRI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yytxw3S7jKO4z9uVJ39SVeKfPDoWhd5oKZ0Y0v/vXTS1KZUJzLm
	U1J9d1nXXiK1Dxrea5F4J6UeuqyspZrvuzcK1bV3lKK+Ot/kumRi/JD2MuDBr8zdC20wIrLouyt
	7
X-Gm-Gg: ASbGnct4mo+SLktaOBnJEAGKSVLhjF8PI8f4a5aIjdM9hJ1k2KKjmmX3Hl/x4l0oa+U
	zvb98sZpArEx91bUs31dWScGrzmYEjpd2A8Vm69KhMyTFNXiSPjPplU9gY4hjcZ/ed+Jo1JhF6f
	gVrRRfrQpzTCZL7wzTGxj7e64mJba8gk8sWUeXHMZ2XBOCA4ruLV+pU2oDhkTxebMakI/7WCw6U
	pdDO2iKsLa1Hguxdbmp0rBbivTISx8af3xELSTbAWKIOPIgb7pnqEuBwpwPD6G6naCMrKVF9Zis
	dFz4K3eTcddq6uAYjrZPrP7IuClWdKXR9BZD9Dg5bbsl
X-Google-Smtp-Source: AGHT+IFV6DhukzDJTQhxKL2T76dlm4rDEmTDcVzAIQ6vxy9qm1/fBJU2mGtWaSFzbonBb3tr3G7FIw==
X-Received: by 2002:a05:6a20:a11b:b0:1ee:efa5:6573 with SMTP id adf61e73a8af0-1fa43cbf794mr1071010637.8.1742236472852;
        Mon, 17 Mar 2025 11:34:32 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 07/18] exec/exec-all: remove dependency on cpu.h
Date: Mon, 17 Mar 2025 11:34:06 -0700
Message-Id: <20250317183417.285700-8-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Previous commit changed files relying transitively on it.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/exec-all.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index dd5c40f2233..19b0eda44a7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -20,7 +20,6 @@
 #ifndef EXEC_ALL_H
 #define EXEC_ALL_H
 
-#include "cpu.h"
 #if defined(CONFIG_USER_ONLY)
 #include "exec/cpu_ldst.h"
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:42:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917893.1322707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFQ6-0008Ug-MQ; Mon, 17 Mar 2025 18:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917893.1322707; Mon, 17 Mar 2025 18: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 1tuFQ6-0008UZ-Jt; Mon, 17 Mar 2025 18:42:38 +0000
Received: by outflank-mailman (input) for mailman id 917893;
 Mon, 17 Mar 2025 18: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIa-0006uj-Im
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:52 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7eb3177f-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:44 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-225fbdfc17dso32766005ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:44 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 7eb3177f-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236483; x=1742841283; 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=ipPAyCMNYKQgJ+e1Pj22cNEjWMul6XXi9iVGdQZJ7Rc=;
        b=KW9R9HObKD5U09VnfIjvhEk3sMVk5B2sPMSRR3qd0sDGPDIrql20Szv/vigmpkgbZ+
         WDJpyPgsvYoqJ0wEnNcTPqnMZbHonyEsFpVLOvncxy6YjN61XN8pkLvBUUwLMSZRiwve
         jWZ0mIbaN4CTlU7o51F6CoR44PyL7MSXfpwInrIMxYIhDCMdauv/YLT0NjT8X/40H/bF
         IxZp1yh72IrV1Dhoz0zFkh/iHY6uX3ijyIY4THPdqhYJk6+EiitNZU/ahRbdWceJ7Zzj
         EdUxECOG3C9V6q20I2mItjFj1ByUZ36hsND1YJe4ZyVhr1U0eB2pzWnOjjqt+S2MIHk/
         nvFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236483; x=1742841283;
        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=ipPAyCMNYKQgJ+e1Pj22cNEjWMul6XXi9iVGdQZJ7Rc=;
        b=SK2HxNn9m4ZVRveB2qlJnhRNV02FWF1vlvT96pMG1MYBYE+elAFVwUhZLypngd2O2U
         PYIIsL+u4Kw7kzEq2q2o8+3vyqH98mi4W1jinZ86pXnCG5+lKzSXOpZo9aS3ql3gs5RW
         fVDGjv52cMQCVvWBuPgt/mmydT0Kbbz3o5gwY2/fft7Q4YkQpf4ioeYc1cDykfyJhAFE
         oTYYoM5s0Xk6JwwCq8BQ55DUkeH1hb9/M0Y4elPUHtF1mB4bazabOHrhQXqIlB3wHt29
         MKRZNoYK2vHuMmgkzt2pJbwXAj+/aY7MpOawd/rf/ozFTgOv/NJhuGJ2l1mIP3Ba8Z1Z
         833g==
X-Forwarded-Encrypted: i=1; AJvYcCVmZ+BiXk05m8YE1pTtjuX6qSmYFA5YSS9B6WnAwJR9Gp8oAhClDk3GRRnJMezT4DwHljHU8gvA3eQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy1UwGruPmaJxtSHa9vb+3aHDaqGmhmjRaMl7gjcZR7p3+lLt2B
	62FJshBjgngAUK5eUzcE24pAISPpH6Pr6WWssaJ32KvNG2RiHMnw/ZxmutICpb4=
X-Gm-Gg: ASbGncsq5f5aLgEvWzcl+sS7RAmmGTnZn0v3JIlDdJ/S99o6KfuFpOcxsPSDWH0feeE
	UX4RV4gV6c5eHaq7EGldtB19440UZG7cFYmCYSL/3023oWtYUu/M9tx5UHgw2cf6BjrAO7Ua6Uv
	3aN/S9CUR6FNillNxEQo3vfTQQ4me3nbs8DloE5bMcBfqzS2DT+aYAZIwacKJ6oJ4cB5Dl6Aee9
	QkjI8PD29Rlmz/4/q+3OoRZHZ8rchT0Arx3Ar401MQQC3iNQAahiEkHoDMGRQ0wuJIE2q34rpsa
	uDhCSKJyq3JP2T7fjdpPRs2Tgiug2VW8XKWuKXV+LT9v
X-Google-Smtp-Source: AGHT+IEkZnLpN2CL+GDmBOdEKBU4dHJiRJeeADCMAkJ+O9oEFhXHqcZxYnGUH5GSlkI3pMVX0bW4VQ==
X-Received: by 2002:a05:6a00:1a87:b0:736:5725:59b9 with SMTP id d2e1a72fcca58-7372236c6b2mr14484100b3a.2.1742236482975;
        Mon, 17 Mar 2025 11:34:42 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 16/18] include/exec/memory: move devend functions to memory-internal.h
Date: Mon, 17 Mar 2025 11:34:15 -0700
Message-Id: <20250317183417.285700-17-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Only system/physmem.c and system/memory.c use those functions, so we can
move then to internal header.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory-internal.h | 19 +++++++++++++++++++
 include/exec/memory.h          | 18 ------------------
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h
index b729f3b25ad..c75178a3d6b 100644
--- a/include/exec/memory-internal.h
+++ b/include/exec/memory-internal.h
@@ -43,5 +43,24 @@ void address_space_dispatch_free(AddressSpaceDispatch *d);
 
 void mtree_print_dispatch(struct AddressSpaceDispatch *d,
                           MemoryRegion *root);
+
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
+{
+    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
+                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
+
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
+}
+
 #endif
 #endif
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 70177304a92..a3bb0542bf6 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,24 +3138,6 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* returns true if end is big endian. */
-static inline bool devend_big_endian(enum device_endian end)
-{
-    QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
-                      DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
-
-    if (end == DEVICE_NATIVE_ENDIAN) {
-        return target_words_bigendian();
-    }
-    return end == DEVICE_BIG_ENDIAN;
-}
-
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
-{
-    return devend_big_endian(end) ? MO_BE : MO_LE;
-}
-
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
  * to manage the actual amount of memory consumed by the VM (then, the memory
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:42:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917894.1322712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFQ6-00006A-U3; Mon, 17 Mar 2025 18:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917894.1322712; Mon, 17 Mar 2025 18: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 1tuFQ6-00005c-Qd; Mon, 17 Mar 2025 18:42:38 +0000
Received: by outflank-mailman (input) for mailman id 917894;
 Mon, 17 Mar 2025 18: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIX-0006uj-IM
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:49 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dfc8715-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:43 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-225d66a4839so58053255ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:43 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11:34: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: 7dfc8715-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236482; x=1742841282; 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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=XoeRB8LFdko4XJWjZulPN/Nfb2lJmHIJDr5V8NHcounCWjYGf39KiKXumr3ps9JMB7
         uZspCxyQ+3vZjeXUxI48RhPkymPYQZF8YWHsi7PEb5Gc5DFEjCQcGouQ+gIdnBqDp9uz
         3F0PHexbHV3GZiQqXN3R+NK6hBYwKutOQNzGsvBqKZXguUl+/H1aYpzPZD/JWN49ao11
         0FmbyY6BFouIZNPekZcpvGeEMawCkxRpOLdEx14NQ+rKxugyPUVLpkoMAT17KNFSocH6
         k0eYygG/Vss2i8enCmmRRklplESLeaqMPJmCYeLXrisSgyUIcjpyUq806KxADJa9/tm3
         bAgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236482; x=1742841282;
        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=0vI16NHb2tKWbIxjnq/SoVUTdY/Lep770BkCc47k0Rc=;
        b=qNKzIDrggaz7xy9tfbeQfveQKQAdQ1AWCGixSSyLNpmoxC66W5nwgioYmuKfJE7oBR
         k9Uj7KjwzC5OT0Ao3eYzf3tGib7SKFEs5GHEDE/fr61Mxe5j2II4rd1IDE2VeasNLeki
         whRdXoydrxjnIovUVKpMf/aeRgQN6d+DD/08+gOyVgjH2QQmW11QmZYuTVfSt6qiMmHf
         ce7zbAlk3Nzd+qBQjMGup9g43DxJH98v6AgPBNGuREByZTaourW8baytHLBar2pBHtKs
         r+mlU7dxvLloWRPz/nfvQJ6DspMDEKfWNop6q2jHnXXW3WY19fxrE5wJJyy0OH3TTkXF
         Z4sg==
X-Forwarded-Encrypted: i=1; AJvYcCVXglKoC5XN2IYYMcI4HyXjXYtvlTKXc6+MkBqzi80Zy8We25Msq3qXfLV2YznM9TJGXPLC4xhMa48=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyrAJWszR1AI+g3PgEH5Rh1DR3w5ebTQUngLK/3boAz2bKEVa9Y
	H9jNW7hkUz1lAZ3BjVaqJg6RdcBHnXD9hb+cE6KQJeS0/5m3jgM8wBcmZ+wi910=
X-Gm-Gg: ASbGncuPeaaXRI9tiBndF9DWpRfQ/SzzWFAq7JBQdunNASzIT55qWdSJYxr8yDOBKjU
	OrsTCyAnQDnHQJgDKf494p3aq0PQHLJnvO/XNmmxEnHig0bcA+JCnik6zhugx5AqcYZrE3gOxcN
	RvbtqCiUqJPrqM8JizJvG/SS8hQzOmqAnMXL4y0qvwLHxC25ZqiKPKr/vPnlnXwZeYZ9l7WJnwv
	U/8J4w1uls6UEj49QvcJW7SvA/uMDzFfNY6rjQDDHaOp6hBTHnbVvJGshNpht55T88GalA6AwC3
	/bV0g52DiJacuP8vEZVCeq2D5Wbil6uyclek56VFAXgeNrLW2dR2h9k=
X-Google-Smtp-Source: AGHT+IHLCVfoMXXafvmlUL+0Gr6I93fx5MjwwlixqoYIvnF6wjRbfJSSJwsXt8s9Rnrm35OOx0JfRQ==
X-Received: by 2002:a05:6a00:a15:b0:736:9f2e:1357 with SMTP id d2e1a72fcca58-737578016a8mr692906b3a.12.1742236481805;
        Mon, 17 Mar 2025 11:34:41 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 15/18] include/exec/memory: extract devend_big_endian from devend_memop
Date: Mon, 17 Mar 2025 11:34:14 -0700
Message-Id: <20250317183417.285700-16-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

we'll use it in system/memory.c.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/exec/memory.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/include/exec/memory.h b/include/exec/memory.h
index 069021ac3ff..70177304a92 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3138,16 +3138,22 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-/* enum device_endian to MemOp.  */
-static inline MemOp devend_memop(enum device_endian end)
+/* returns true if end is big endian. */
+static inline bool devend_big_endian(enum device_endian end)
 {
     QEMU_BUILD_BUG_ON(DEVICE_HOST_ENDIAN != DEVICE_LITTLE_ENDIAN &&
                       DEVICE_HOST_ENDIAN != DEVICE_BIG_ENDIAN);
 
-    bool big_endian = (end == DEVICE_NATIVE_ENDIAN
-                       ? target_words_bigendian()
-                       : end == DEVICE_BIG_ENDIAN);
-    return big_endian ? MO_BE : MO_LE;
+    if (end == DEVICE_NATIVE_ENDIAN) {
+        return target_words_bigendian();
+    }
+    return end == DEVICE_BIG_ENDIAN;
+}
+
+/* enum device_endian to MemOp.  */
+static inline MemOp devend_memop(enum device_endian end)
+{
+    return devend_big_endian(end) ? MO_BE : MO_LE;
 }
 
 /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:43:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917942.1322728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFQr-0001Vu-5R; Mon, 17 Mar 2025 18:43:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917942.1322728; Mon, 17 Mar 2025 18:43: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 1tuFQr-0001Vn-2G; Mon, 17 Mar 2025 18:43:25 +0000
Received: by outflank-mailman (input) for mailman id 917942;
 Mon, 17 Mar 2025 18:43: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIf-0006uj-JH
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:57 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ff93322-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:46 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-22580c9ee0aso83029745ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:46 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11: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: 7ff93322-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236485; x=1742841285; 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=pdsNHldr91xnqdGHk1DTLXuYnmkD/cCe/HKmA2EoKL4=;
        b=FjBymkTHfff2RMvzLyGjlCHHgDIF3LvcR90UbIpi5/j7fU8dS1ZatYaReOvbWTg/cZ
         rcKTZm0rmNtOErdqRvbRdkEOwNj11nsmMHblzVklCrMTXY13B/GEXjx3k+e9bR8O0UXQ
         yUmPKIq1u6JAVg0KY/cWccjGQgfK8YVWZr914wAjTmC5rPsPg81LfvL9X7rzocGyAnvx
         ZjqF7SNb8n9z6Z0VoFruw7VlG+zj+6lFtvA6lmHfxI057JGl1fF+O6VQKe2XiWkN2jnO
         oE8mYf7gmZbi8hIrdxUZ3GkICBHHeUCtlKpgUTBS4XVnJ6zer8qnBOs2ghzp+FCrNj4i
         SmLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236485; x=1742841285;
        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=pdsNHldr91xnqdGHk1DTLXuYnmkD/cCe/HKmA2EoKL4=;
        b=Lp8buqyBaYwRzMVXVMjKyaePngqv9RFWGM5cTO5o7QBEpBrBHy8BVV1zuTb66wa/Se
         7e+J7tzYITH7tkTPv8p172ERE617xmN9ysmNKHLpOJdAyLr4GzcDqQ+Yl+lt6A+wPBsQ
         S6Hd9kUi6Dwh5wvssXkS7ZZ68n/MeLv7kj1y/L8Hd0Mh/j1J7nASwGzsuCBup2qk/Eui
         +Ip1qRSGlwbHgkboW9O89+ddF7qbP8QMUEQAgsFywJqX90Oan5s2A1JFSqHjeXVMMiaS
         r1YF6d6wmUpLs/O8fiw74pDplpMp3/7SEhDq/YXyg3VJUm4XPULY9DLymI8O5rtfPB61
         kVXg==
X-Forwarded-Encrypted: i=1; AJvYcCWSCR3j4EhB6e7eLJkrkcLJKFL80JhHIKpLnZhoq0xLM3R92cNgnJ77G566xzeSaBKkdfDs/Pwi2Bs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOL9N2WmNQ1n5IXsbSwMM2j/MEvTFKMJ/+a8LOCg3ch6DCCkGy
	hh8TimAkEaGgtfsHEZsyJjfjbUzTEYg3tYVap72G3WTy5zVO65ksiK5kdyslTPc=
X-Gm-Gg: ASbGnct6NBC1HVcW8UXEJSs97JSbeo1zOmI6IqLky2zcMtNiZxJtEaRRuVX+526EmWX
	8ZYwJKfjyhj8h7i16batejqXaGb6UIN5X8BHivJ90KvXQFOTZe8vJQrVAcRGqIpIBXLAkXTUs+U
	ZLKIG7dhn4eN3hqOnGjzMURMbVBXL9TX22Z6kgWXvEbWGJGVjRaqtfqWHXoDW9G+wRKiZcl28Fd
	lRHCE+Du2381g0F/aMaI9RFIot3LNh+krd7VIrO5axM3z+wuaGksj9yAogFgXZQeGbBowbNLWra
	dXU1MgpOPPkMnfD/fTdFp5Hwd2JeftFvFryJjsTtVj2a
X-Google-Smtp-Source: AGHT+IHzNNUW3sLQt1T364FsCohrjLgSsBCXmjd/XRyR5B72Si2GIa2LUJ+5Zkf6gr6cDVKPRd/CWg==
X-Received: by 2002:a05:6a00:b95:b0:736:3d7c:2368 with SMTP id d2e1a72fcca58-73722353269mr15820164b3a.7.1742236485130;
        Mon, 17 Mar 2025 11:34:45 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 18/18] system/ioport: make compilation unit common
Date: Mon, 17 Mar 2025 11:34:17 -0700
Message-Id: <20250317183417.285700-19-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/ioport.c    | 1 -
 system/meson.build | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/system/ioport.c b/system/ioport.c
index 55c2a752396..89daae9d602 100644
--- a/system/ioport.c
+++ b/system/ioport.c
@@ -26,7 +26,6 @@
  */
 
 #include "qemu/osdep.h"
-#include "cpu.h"
 #include "exec/ioport.h"
 #include "exec/memory.h"
 #include "exec/address-spaces.h"
diff --git a/system/meson.build b/system/meson.build
index 4f44b78df31..063301c3ad0 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,6 +1,5 @@
 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
-  'ioport.c',
   'globals-target.c',
 )])
 
@@ -13,6 +12,7 @@ system_ss.add(files(
   'dirtylimit.c',
   'dma-helpers.c',
   'globals.c',
+  'ioport.c',
   'memory_mapping.c',
   'memory.c',
   'physmem.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:43:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:43:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917965.1322739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFRB-0002As-Gu; Mon, 17 Mar 2025 18:43:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917965.1322739; Mon, 17 Mar 2025 18:43: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 1tuFRB-0002Aj-Bd; Mon, 17 Mar 2025 18:43:45 +0000
Received: by outflank-mailman (input) for mailman id 917965;
 Mon, 17 Mar 2025 18:43: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=q3WP=WE=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuFIe-0006uj-J0
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:34:56 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f5b228c-035e-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 19:34:45 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-225d66a4839so58053755ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:34:45 -0700 (PDT)
Received: from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73711695a2esm8188770b3a.144.2025.03.17.11.34.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 11: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: 7f5b228c-035e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742236484; x=1742841284; 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=EBRugwqnxw4q7Phz2P050i5IjB6Zbf1WGwdoEilqtkY=;
        b=RdSTHXVxIHcLeyR3x8MsVLJe2TbujWjoryb73VEkvUSDBD0722O9urdVewCT6tBtUJ
         Y5TD9dyyb7SEEkXH+MMMBwJOxUrLaTzhD+/07l03VjD20vtpPW2erVf3oh31O8Zcyu3d
         DV3ZoDWAtZCIvzDIf4Nl2J+XqOp+nYkAYQ15x5huwf90bvF6VPj6amayUj4AlMp96RAn
         xwbM+WP9kXvV9TVgd90mL4H9/y93fvzH584/nox+bk3WrYNqq0E7XhxGPpeA99BUhxzG
         lGfNvcMpvqOEDKHpowo2vwVCf8RMX/Al9DEgH92gCs892p3DZq5hkthhLPgPS4wxtH+K
         Sf0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742236484; x=1742841284;
        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=EBRugwqnxw4q7Phz2P050i5IjB6Zbf1WGwdoEilqtkY=;
        b=f30St5a59J/Fm0vcG4A9V8f5UKWEb5G78RCrIxIwPHWmVDZhDUZGYimiKLmDL9MA61
         Lf2tub34z6HabfvQ0FeQtFLKLq/0edjUDK+EjBsgbBsJsfBAyAbKi9bGs+RJiG/kb4Ls
         sTlEvoqCXv56dPdvNmasrPQZihCqv2pgdvv6NyLn6gujNAq8yxgKM/0fDcwYK3Y5pLEs
         mPhVaHVLbOjFrZLSJQVvhXy2yVdQK2413B2SotcvKBiuMpvBnvKjInRebCvwQ2ogqbn/
         CT2z04/yeRsQR52EgmTmN5neB19ZgKgX6VNweKbjyAJovs/pnu5s7HZ6eMDFZGwrGImk
         RwtQ==
X-Forwarded-Encrypted: i=1; AJvYcCXeDj433MpGhAGtE67N5HOa6C4l1Ph/BNUG/XUIJUKPHzeirBz2QZN4wVqDa7C7vpO5qZR8ulYX924=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz00NEAnuDA6tZfL3PhpfpV1Xa7PewsABk2ydOqcZmGQYGkCIYc
	PDVMbdqyDk8r/jKLRzC+t/xIU73syYX9WWqNypQgfl6Gq+VAkk5uec11/AkxWuw=
X-Gm-Gg: ASbGncvi4ZRYcNaxzqwSwSkaAKc54qwCTGdLyO3nxG4Hqk1yQDohguUK5HRJUZj8wff
	HU4jW+Nkfh2N8JAh8fJKdPIa0sHrvi2VrE1OeXxU2A0yk5ye30X7Gjr8OrrJhVhGcHWCJhPZ66V
	8SM33UAsuDgfdAQ8Nd/2hAt9qAqmZUQvuQRjK0LFNtd0pA88HDWGp+udG/NkkFEmKO6Z/Tmbnmm
	57/ijosx/3tlM5Hx/hmzPlklWTpts+WdG6rVArChz6GhFE1HIsswErtLd56p6P5exRaVRr8aC3Z
	Jyvo4tmDqNy9HoTaJIoX1p0/7EGRUMd4fhSLBwDHMYDr
X-Google-Smtp-Source: AGHT+IHaIWG93SjaignFKD4IVBdMoq9cQTxlUlmFhZIj0sg1/yp4Pm5Fp9URm2R1oo2C+UJzak1b5Q==
X-Received: by 2002:a05:6a00:2e84:b0:736:476b:fccc with SMTP id d2e1a72fcca58-737577c60dcmr700300b3a.8.1742236484037;
        Mon, 17 Mar 2025 11:34:44 -0700 (PDT)
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: qemu-devel@nongnu.org
Cc: Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Hildenbrand <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-riscv@nongnu.org,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	alex.bennee@linaro.org,
	manos.pitsidianakis@linaro.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Weiwei Li <liwei1518@gmail.com>,
	kvm@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Peter Xu <peterx@redhat.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Anthony PERARD <anthony@xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PATCH v6 17/18] system/memory: make compilation unit common
Date: Mon, 17 Mar 2025 11:34:16 -0700
Message-Id: <20250317183417.285700-18-pierrick.bouvier@linaro.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 system/memory.c    | 17 +++++------------
 system/meson.build |  2 +-
 2 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/system/memory.c b/system/memory.c
index 4c829793a0a..eddd21a6cdb 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -353,15 +353,6 @@ static void flatview_simplify(FlatView *view)
     }
 }
 
-static bool memory_region_big_endian(MemoryRegion *mr)
-{
-#if TARGET_BIG_ENDIAN
-    return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
-#else
-    return mr->ops->endianness == DEVICE_BIG_ENDIAN;
-#endif
-}
-
 static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op)
 {
     if ((op & MO_BSWAP) != devend_memop(mr->ops->endianness)) {
@@ -563,7 +554,7 @@ static MemTxResult access_with_adjusted_size(hwaddr addr,
     /* FIXME: support unaligned access? */
     access_size = MAX(MIN(size, access_size_max), access_size_min);
     access_mask = MAKE_64BIT_MASK(0, access_size * 8);
-    if (memory_region_big_endian(mr)) {
+    if (devend_big_endian(mr->ops->endianness)) {
         for (i = 0; i < size; i += access_size) {
             r |= access_fn(mr, addr + i, value, access_size,
                         (size - access_size - i) * 8, access_mask, attrs);
@@ -2584,7 +2575,8 @@ void memory_region_add_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
@@ -2619,7 +2611,8 @@ void memory_region_del_eventfd(MemoryRegion *mr,
     unsigned i;
 
     if (size) {
-        adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+        MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);
+        adjust_endianness(mr, &mrfd.data, mop);
     }
     memory_region_transaction_begin();
     for (i = 0; i < mr->ioeventfd_nb; ++i) {
diff --git a/system/meson.build b/system/meson.build
index bd82ef132e7..4f44b78df31 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -2,7 +2,6 @@ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
   'arch_init.c',
   'ioport.c',
   'globals-target.c',
-  'memory.c',
 )])
 
 system_ss.add(files(
@@ -15,6 +14,7 @@ system_ss.add(files(
   'dma-helpers.c',
   'globals.c',
   'memory_mapping.c',
+  'memory.c',
   'physmem.c',
   'qdev-monitor.c',
   'qtest.c',
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 18:49:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 18:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.917985.1322748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuFWN-000324-0g; Mon, 17 Mar 2025 18:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 917985.1322748; Mon, 17 Mar 2025 18:49: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 1tuFWM-00031x-Tz; Mon, 17 Mar 2025 18:49:06 +0000
Received: by outflank-mailman (input) for mailman id 917985;
 Mon, 17 Mar 2025 18:49: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=DHjE=WE=minervasys.tech=andrea.bastoni@srs-se1.protection.inumbo.net>)
 id 1tuFWK-00031n-VR
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 18:49:05 +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 7e221b52-0360-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 19:49:01 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso18144725e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 11:49:01 -0700 (PDT)
Received: from [192.168.1.21] (ip5f5be833.dynamic.kabel-deutschland.de.
 [95.91.232.51]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c888167bsm15753100f8f.45.2025.03.17.11.49.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 11:49: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: 7e221b52-0360-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys.tech; s=google; t=1742237341; x=1742842141; 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=YHxAf6GAGG9TD0oW4+hIbsIjdNk61GCOxZOxWYPuztU=;
        b=ZclvMzSOLqDmnYOZcP0qJppzaJaSUz386u6Gf4VwifS92hJJAGcRmICgIqCk7sRefI
         fJVXkHmYh5j8BK6vSiVMQBy0tg97nRC7b3ZgVuTwvg6dIynmzduUlqPnaql3toBAhs+Y
         bZAcVzncMPVlknTsJqpB9r3kB2vYXYuYsuW6adjAMfTyUt+j4tari1I8ziNyc4vnQGXe
         qGJcJF5lOkBNxLaO3X53hgeVHM3cp27KHFL2CnwaXtVRS9gsyCX1EqpRsWgU/C3O//n1
         FkO+7GUtYvMz9N4pLZwRvpLbZG2pa15Pb9GRjB0RAh8YVIXSEgkhdSu9B1jJpMlGd4fc
         j4wg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742237341; x=1742842141;
        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=YHxAf6GAGG9TD0oW4+hIbsIjdNk61GCOxZOxWYPuztU=;
        b=J19AuIIwTAKQ6YepRsb3OVEiV6xqR0iLX1/SaA2ErYY3jtyVGjYjdW7l5hbVodp5tj
         1czN8iUyrBLzlWWeUbXAcwBt9xhMVXUV1oQZvgN71kho/9GTkPQQEFpNrobIhqDj9kGA
         vKC8Rba83o0DLdKhvIHlSwQT5qGfTyu90m6AY9RygU9GYWCCzBxVAb7mg9nPBoDp/i3I
         Yf2bCNbFaTO+gqYExGsd1jWNQo5/lnI6Ftwhc0/luiw81UJZtndXnkg6dOwLh2HckyVC
         nKYYe4ixTIpsp2FxgAZ2lFjlAjz2aZ2nv6Y7g1jyrx5Qfu9D+kZnhQ65EW0zJz3Wa6ZI
         1KJg==
X-Gm-Message-State: AOJu0YyaVrWHZJYMPybiJmwt1+K53tim1Cwv8rVEUt34hbRcxvtQ7VSj
	I/6rP/ASjUw7MFuFgoPDHXxdAtCflT52mhVEts7Ysxv+SdMF1NVrQYztc8AEWJDEZXJHmdz6dVK
	6wwc=
X-Gm-Gg: ASbGnct1esPbAFosyBVKDbIq5im3xasaNS97rI8CHeOqZ86VkmlGYN32KkZjc/JRlZp
	Rx6oRqZHffVAO4TgO2kCoIdNEjWaPjK9QSfkQV+UHEDCAgFyQjtiS7UIFeMldq0ozz/y6M65gvS
	SZzKjd3bxljegB+KwKGLMx3iYlhdlPnfQPk6eBgz90PX4VTReDlAFvIef0QI1NIxrSAm8RhLPBO
	QMCt1dSJMOotJ+fsGXepyRRLDtAJEnIznInVuqee5FQ/maJP0pzef5NolNDu7gzcUZcMZS7B/V4
	8lzg0Z8dKYlXxm54jMkxfKsAnK5w3pAUgzzJELR4gcAcArAbWglmDg10guGno3VQJHHhUuKCiWu
	CyWT+e1GeLAebhuKOkoSZpRC4bBmN
X-Google-Smtp-Source: AGHT+IFc0sPIrimsdSnuDYzgcf0oKVNnNKReTFKbRqCslhyGYs+v2Elxkz08srXy4ndCCpx2ll7/QA==
X-Received: by 2002:a05:600c:4fcb:b0:43d:7de:16e3 with SMTP id 5b1f17b1804b1-43d1eccb1f1mr135296535e9.24.1742237341083;
        Mon, 17 Mar 2025 11:49:01 -0700 (PDT)
Message-ID: <53e85609-dba4-4fd2-972c-8c2746074c4a@minervasys.tech>
Date: Mon, 17 Mar 2025 19:48:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Michal Orzel <michal.orzel@amd.com>, VictorM.Lira@amd.com,
 Carlo Nonato <carlo.nonato@minervasys.tech>,
 Alex Zuepke <alex.zuepke@minervasys.tech>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, jgross@suse.com,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>
From: Andrea Bastoni <andrea.bastoni@minervasys.tech>
Subject: [RFC] analysis of runtime xenheap memory allocations
Autocrypt: addr=andrea.bastoni@minervasys.tech; keydata=
 xsFNBF5Nh4sBEAC7UM3QJtjrFO3pjcMCCh04JFyCCDzLFMIqMTB1UWCLamZ9dUwIau7ScgWv
 49aqbM++edVvEBmG8JHDC83DFWymvFVXBgqgcR7tHHBbg33XJKFMHvuW/kFm/67XPTFcec4L
 JsH5MWms9TLJbgCnaWQQMH3kztTRQaf5QcULIoHnTySKlt3WzzzHosaMO+/GNYX7vzfc4ypJ
 mD5SQWYDhfRefASkyxdrN6/QkPwS2vGTyVK58o2U9I27KPYvs+77JrjrNBfpnebapaYVA55C
 7BvTnno5Kr6QHwA6LcnIZqefz7KxQ1n+1C5QQbmhi9S68aloGCeUo9R06UMJG79TXC2Mc68t
 AtSCN/HpgcvN1CSL45f/4WCDPG572ebo5M6MPcTb4ptV1SC/i+4U/3cG0LNSUap+sGRCf0Iy
 C5xy0KOtgoq8jesdleSy8j/3DNIMGekSYbQYMO39DfZds2XFh9lVDjG7tQcChwW+lQDPo113
 ENBRftDyqJthrvmJXGyrOmn0su56qh2Zqvi5pSHWsH88vAZUJsOU+9lpohmcb3o/cQ18UXNK
 H/9wjo2zKHFdSylQFERHIzj6WlBp01wkTcCqtUGpxsjJHmVSyakWs3TrGXooKR9SPMxqVrD/
 oCCEo9IUD9jd+TxLsp/4TzUp4ScTO/43uPgdkMekU5mRs6B6WwARAQABzS9BbmRyZWEgQmFz
 dG9uaSA8YW5kcmVhLmJhc3RvbmlAbWluZXJ2YXN5cy50ZWNoPsLBlAQTAQgAPgIbAwULCQgH
 AgYVCgkICwIEFgIDAQIeAQIXgBYhBImpnm1L3x9XIoXhD3VSShFTR9xSBQJitcUIBQkKC9f2
 AAoJEHVSShFTR9xSmSoP/0W/VboJmWmLh89eIl1QRoiL1nGcti1fTN835Q2TPiSdg+nFVqy1
 8oLrJaHNe5THVaSr4S2du56SASYSG6f+Y5aiQccbalUJIV7KwXr741kovTnUPUKjPoi61Bx4
 DUzis0Xo0NmMnz7M1YudbQZmjoakE/wZJRB+b79+kJwrfZFcNg4DSuSvNOUeI17uapLKRQ1a
 ukuRgXwUpMOudKngJ8HB+16aHIQX+yfpcsanNr1nGwHSLhEPEM20DVzKiCp2cKjv9Y7zZ+6y
 akbJHdbRuJliyZmXaSVO8sQ1tO/W6Y/4zAjejw2c1qDKISeIlGi+o6UEVYZlKCThzrV9vYok
 AcJF4DlYcAuBMVYCTomovXb/9/Y48pRGlfDGrmnt+FvGVA0jYrG02oufItY2JAGzFcX1KMTG
 AGf1S7pOj3AvBTGJjW8d8+sXuedH51HNixJtMnzcmi+qJfPJujBW3BEZ1p0ZoDyTH/WCZF+7
 B5lFvTi0DRKY6AI0TSzBdjtaOMt64fn6KXtLtaTZKDKkFUBwAShJyYcWQSp/7EO+ZJW7dWIw
 1vM5AcnugonJby+q+JGgBVC2rjscu5Okl3lnviF9WLAzmRH/pDkAa3jifiUm8eS+dP+4cN6g
 WXL9vTF6FtFyI8sgzRlY/IX8mao5bV/P1HCwNvkBhO8C3XMaul4FwQsjzsFNBF5Nh4sBEADN
 J99l+vOp8LB8jDjWOhINlpgp+EcrmWOuler5QnoJUywc2zkLelQIwVGP2lFliMdLHM6DbMEX
 ySIzHbhw7oPRP0QRPK/6I4bXYkSQCrLyqYd0CYSbkar8YV6Xa6nGxRmP1bBv1lPFHN66D0yE
 /z1ScGMXyX+ZOIvH0ekIkqFvi7Ec/7a/ntfU43o2t05dmbnEKoECZgeS8SraojfKnQRpz7+P
 N0q45O5fMETZpIiQh1/mB12HOcklDNELcKohqVfevbknJw04Yjbcv79aGpBRqoVWWBS4TxcD
 CRPQZ+H0tMUVEL/MqO7tNLA1VuGpOccyFtZnC/+J/twa7iKpPIxS9Ec/LDYTddebWH+8gOmr
 /PkBerBXghlZpxmQUlJeQ8kyecOOc4C7ec3aUGj+x28j0+zlXFLUbjiKIEM5VowIMgDDRwA/
 MDr9IJhFzHaY2VCfBnX8sgJSn62IxqREq4X3KkR/Jtxt+HYXQYLl0yva2MBplkRcwQO799o6
 woAMW0uyct4+BUcKo1sBFP2x2n4NFiPEjeoH3y9baruD9iiMQsmbJ3IKqtT13crCa+bcY3ZS
 Oz+CymgzNdH+RabJMC3mGfKIhUQGwEHz+wyMnv16nqO49bmoCk3q5Oneo4I3XwI3QbIJr0rd
 QkX6oh6R0taC3naal1ZYGxs0vZK567bT5wARAQABwsF2BBgBCAAgFiEEiamebUvfH1ciheEP
 dVJKEVNH3FIFAl5Nh4sCGwwACgkQdVJKEVNH3FLafxAAl7pW0v6Jju19I6wtB+XNzzi5Wota
 3AyWzCxO/hUHNGRV/ZufhMkNFCMNzAxbdmO56eCk9ZYf/JMLu8H1GwhV1NgQ7HL4FNXXxLZ0
 ixZDik86iiSjVLtEjLuwkS4Fj9wjqevycL/t16kJduFNyxT0/XiB5UPh5NClOMonHSC+V2If
 Kf6l2Ic34CrA3ovkfVvBXJTzia0VgyQCikeazgPRELH8bq2WTBWfjR3/l86Y0twiYyXqBNQ8
 Q2Z83mu+yt38gTanz4YuDYz7YFjvL6IU2MZ5+ByothK6Cfx4W595q81dsGcJOlcd6j3QE+ps
 b3SHuToWZCHZRHyKrgGDqCL5RbsK3wXgDmc48SfN+5TxenT8A1lkoOHFcQ0SV8xleiwURXHc
 Ao+SzyDcTfltBNjzQmntQjAfq1Lq5Ux9nfpPMgnVHu5ANWeLtwLJyh+4aPVE5hGjeCa+Ab5U
 MyocCYdTuAmDHB9RQdf9c+qlVYuZCg7yYlWsvId5DGZnab2MzvExayaFCJVEoCccpfrqFFiF
 kJ19BogE4A6VTU0ShoHYJhLg7PuEZS1oWzULZnM8sNNI72MecvfZn5Oi0ZEJhFh+HETlJnIT
 7gh7CGFBxPacT8vHxmeMPod7qrvYgKW+QKhU+tAI8gkI6hHXLBg/dxn7wAwTjlX1bo+jRJyp
 Id5SuAU=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi,

In the last months we have been working with Stefano's team in AMD at tools to
facilitate the analysis of "anonymous" memory allocations performed at "runtime"
from the shared Xen heap.

- Anonymous here means: allocations that insist on the common Xen heap pool
  (i.e., not on a per-domain heap pool).
- Runtime here means: system_state >= SYS_STATE_active.

TL;DR: A set of patches print a warning stack when anonymous allocations are
detected at runtime. Scripts help to parse the stack traces that can be checked
to evaluate how problematic certain allocations paths can be or how difficult it
could be to update them. A full example of the results is e.g., in [1], and the
Readme-details in [2]. Below in the email more details and some commented stack
traces.

Feedback, especially on the paths that are currently marked as "UNDECIDED"
is very welcome.

[1]: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/1674833972/parsed/x86_64/xilinx-hyperlaunch-x86_64-gcc-debug-virtio-pci-net
[2]: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/README.md


Here the long version.

The work is a starting point to identify the paths leading to anonymous
allocations, identify whether they could be "problematic" (see below), and
simplify decisions on possible changes targeting such allocations.

Why
---
In contexts like those targeted by Xen for safety, we want to run VMs with
different criticality side-by-side (in parallel).
Xen provides services to both critical and non critical VMs. Shared resources at
Xen-level may become problematic when low/no-criticality VM can prevent
higher criticality VMs from receiving the requested service.

This is also relevant in security context where we want to ensure
that VMs cannot deplete resources shared with other VMs.

The shared Xen heap (xenheap) is one of such shared resources that is accessed
from both potentially critical and non critical VMs to serve various memory
allocations.  While for system_state < SYS_STATE_active we can statically define
the amount of Xen heap that will be consumed by the system, at runtime this
becomes blurry as it depends on the system's usage. This is problematic when a
critical VM cannot receive its intended service due to xenheap memory depletion.

What
----
We want to identify those anonymous allocations, understand the paths that lead
to them, and the allocated sizes. Also, many allocations are expected
to be followed by a "free", and it is useful to keep track of how much memory
is left allocated after a service completes.

To address this, we have been following multiple directions:
a) Runtime testing
b) Offline call path analysis
c) Draft of changes needed for a shared -> per-domain heap switch

Runtime testing
---------------
See: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/README.md

The idea is to hook in the testing infrastructure of Xen and detect anonymous
allocations at runtime.

The system is composed by a set of patches added to `xen/common/page_alloc.c`
and `xen/common/xmalloc_tlsf.c` that will result in a warning stack being
produced at runtime when anonymous allocations are detected.
In such cases, the warning will try to detect additional information like:
the domain currently running and the pointer to the allocated memory area.
Such information is later matched (if possible) against corresponding frees.
Specifically, if possible, anonymous memory allocated via `alloc_domheap_pages`
is matched against `free_domheap_pages`, while memory allocated via `xmalloc` is
matched against `xfree`.

Depending on the type of test, the amount of information discovered by the tool
might differ.

The execution can be integrated in the Xen pipeline (e.g.,
https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/1682205969).

A script
(https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/log_parser.py)
parses the CI output and produces statistics and stack traces leading to an
allocation. Those stack traces can be checked to evaluate how problematic
certain allocations paths can be or how difficult it could be to update them.

The tool support building a "database" of comments associated with a stack
trace and can automatically (re)apply comments to known stack traces in further
runs. (See #Automated Generation of Comments in the README.)

An example of the processing can be seen e.g., here (for pipeline 1674833972):
https://gitlab.com/minervasys/public/xen/-/tree/minerva/warn/minerva_analysis/1674833972
Here, the parsed files are already commented with, for example:

```
// MINERVA: UNDECIDED
// Anonymous allocation increases per-CPU heap.
// Allocation not attributable to any domain.
Domain     : d0
Occurrences: 1
Total size : 128 B
return_to_new_vcpu64
  leave_hypervisor_to_guest
    traps.c#check_for_pcpu_work
      do_softirq
        softirq.c#__do_softirq
          timer.c#timer_softirq_action
            _xmalloc
              _xmalloc
```
In this example, a direct `_xmalloc` is triggered from an ISR.
No domain can be held accountable for such allocation and a different strategy
to ensure/motivate the boundness of such allocations should be planned.

```
// MINERVA: PROB_SAFE (under the assumption that hwdom are safe)
// the path is already attributed to a domain pool, except if the domain is
// a hardware domain, in this case the allocation is anonymous (p2m_alloc_page).
alloc_domheap_pages()
entry.o#guest_sync_slowpath
  do_trap_guest_sync
    traps.c#do_trap_hypercall
      do_memory_op
        xenmem_add_to_physmap
          xenmem_add_to_physmap_one
            p2m_set_entry
              p2m.c#__p2m_set_entry
                p2m.c#p2m_next_level
                  p2m.c#p2m_alloc_page
                    alloc_domheap_pages
                      alloc_domheap_pages
```
In this example, the allocation is marked as "probably safe" since the path is
taken only when the domain is a hardware domain.
Such domains can (under the usage-domain of interest) perform allocations.


Offline Call Path Analysis
--------------------------
See: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_static_analysis/README.md

This analysis can complement the runtime discovery of anonymous allocations and
uses compiler support to generate call-graphs (using -fcallgraph-info).

Two scripts support parsing and filtering the (large amount of) data generated.

`callpath.py` generates the call paths leading to one selected function.
`filter.py` can filter the call paths based on whitelist / blacklist of
functions that should be included / excluded.

For example, in the above branch we have used the scripts to generate and
refine the paths leading to `alloc_domheap_pages()`.

The offline analysis can complement the runtime one by reporting reacheable
paths that have not (yet) been generated in testing scenarios.


Draft of changes for per-domain heap
------------------------------------
See: https://gitlab.com/minervasys/public/xen/-/tree/minerva/per-domain-xenheap-idea-approach

We have prototyped some of the changes that would be needed (especially in the
configuration) if more allocations that are now anonymous would be taken by a
per-domain heap instead.

The main change in the prototype is to enforce the current domain as target
heap allocator for all anonymous (i.e., domain == NULL) allocations triggered
from alloc_xenheap_pages().
Also, we force the use of the newly modified alloc_xenheap_page() in
alloc_xen_pagetable()

```
-    pg = alloc_domheap_pages(NULL, order, memflags | MEMF_no_scrub);
+    if (system_state == SYS_STATE_active)
+        d = current->domain;
+
+    pg = alloc_domheap_pages(d, order, memflags | MEMF_no_scrub);
```

The change is _not_ correct in many cases (since current->domain might
not be the right domain), but allows finding the needed configuration
changes and potential needs for increasing the sizes of per-domain
heaps.

The commit:
https://gitlab.com/minervasys/public/xen/-/commit/c1d6baae27932d2a7f07e82560deae5f64c5536a
implements these changes.

Thanks,
Andrea


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 19:20:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 19:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918002.1322757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuG0l-0005Ze-Aw; Mon, 17 Mar 2025 19:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918002.1322757; Mon, 17 Mar 2025 19:20: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 1tuG0l-0005ZW-8P; Mon, 17 Mar 2025 19:20:31 +0000
Received: by outflank-mailman (input) for mailman id 918002;
 Mon, 17 Mar 2025 19:20: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuG0j-0005ZC-Vx
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 19:20:29 +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 e24106e3-0364-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 20:20:27 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso17563975e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 12:20:27 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe292d0sm113505845e9.20.2025.03.17.12.20.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 12:20: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: e24106e3-0364-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742239227; x=1742844027; 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=3Y7GwBSlIe4JephGxyPDWgw/D8tBlpC4fN0V/a15tzs=;
        b=J5mfVEKoseh5nLjUA+ahNpiCm9UI1gXOjzMJlZb47WGMPeO7XK8zAKAuaPPquaVKzh
         AFCb5l7uc7118gQafdd7z+Ma4NdF4MGVfkN09rCJ65qA7ldaTNfg87JXpM5CVdmidJyz
         ER5PEY5aEcMAr+ks/cKhxRESHlbA/bjKku434=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742239227; x=1742844027;
        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=3Y7GwBSlIe4JephGxyPDWgw/D8tBlpC4fN0V/a15tzs=;
        b=qrKiUa7hL7OKGVUorMZ03PpglCsV28LjABXHsZUX6vsBoVY9Bnk/k/vSnQnCd2tG9i
         v/zC4z1UWm75g+l0T5dzp8SnQ6pFrEW3CYaOk1xuZ7DbTqYqGo9k1pFRMtFT/bLuHiM4
         jS/UJzq9LFaDZiwSqR06QDO6VLmjDlFQYAocJEXXXwcRM+fpd62HLQImFcfqEiDH90hC
         LVV7PocOhVj5WuvZtxehPOtGjsfoXmjlZOA7WWT37Pr9kFkCQsHzr3sf0d8A9gUKsRto
         +XwTw7EQKSkP7Qy3PknNnHQCP18FC7kDblBch5NX5FSYtz4Yb2SnOT/x14kY8V4O70jm
         RYKw==
X-Gm-Message-State: AOJu0Yzx8qvEnT/Dj9M5nDsNRIRYD6kQltSs+y6439rE1RfVkzpkXHao
	3OCJFaLV8ZLPkCxWtl3/4/ZINL8jGZfIEJUGtuiY/UedRjZS/SGYtXxQe17IOUhEmvJ8JR8ec9e
	u
X-Gm-Gg: ASbGncsN1ALzKQE/aOkeZYzoobe2+NevdpIgaGSsVpICiIUNsyJSH14y/kr5sa9mhVI
	La67upKznrWNg7ikIHACg1FyAMQXh8hpJuXto9JYZpSsqt3uZvSx2LtURUVxEgAQUeCFr3tso5m
	euSi6eFhOYrQwqxzd2qussGhs3YO3R5xdBGHuqOvhksy86ezj3BDB/X/B7+7z4FpOwEdDfkXVr4
	Q1kBfLtmXLnBKuJKiFocOl8THVQhC6YHJTOnSnNKRSFYVjK1YVlae847PIdXd1rJMNmSOkTyvaG
	vHrcbRPuNKasSnpJyUql/60WRORtTk3cMIaWkHenAuWObv2gakPkCW7JT8Ri6wWChEtZ+30IyXX
	4rbdmwKbsALtU6an8x2llQnhBr8UjPa2tBhw=
X-Google-Smtp-Source: AGHT+IHNlTogmWx4Y4vymfRt5E/KjMhTddP35N7hrPExX5OLCaUeV5rGSCgTxms64jHRtMrdblGExQ==
X-Received: by 2002:a05:600c:3ba6:b0:43c:eea9:f45d with SMTP id 5b1f17b1804b1-43d1eccbba1mr121781805e9.18.1742239226944;
        Mon, 17 Mar 2025 12:20:26 -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 1/4] x86/traps: Move cpu_init() out of trap_init()
Date: Mon, 17 Mar 2025 19:20:20 +0000
Message-Id: <20250317192023.568432-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317192023.568432-1-andrew.cooper3@citrix.com>
References: <20250317192023.568432-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

cpu_init() doesn't particularly belong in trap_init().  This brings the BSP
more in line with the APs.

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/setup.c | 2 ++
 xen/arch/x86/traps.c | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index bde5d75ea6ab..718297ca541a 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2024,6 +2024,8 @@ void asmlinkage __init noreturn __start_xen(void)
 
     trap_init();
 
+    cpu_init();
+
     rcu_init();
 
     early_time_init();
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index df1155bfb673..a89f4f4f34ea 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1938,8 +1938,6 @@ void __init trap_init(void)
             l1e_from_pfn(virt_to_mfn(boot_compat_gdt), __PAGE_HYPERVISOR_RW);
 
     percpu_traps_init();
-
-    cpu_init();
 }
 
 void asm_domain_crash_synchronous(unsigned long addr)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 19:20:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 19:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918004.1322770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuG0m-0005mH-2T; Mon, 17 Mar 2025 19:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918004.1322770; Mon, 17 Mar 2025 19:20: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 1tuG0l-0005l0-Sf; Mon, 17 Mar 2025 19:20:31 +0000
Received: by outflank-mailman (input) for mailman id 918004;
 Mon, 17 Mar 2025 19:20: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuG0k-0005ZB-JE
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 19:20: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 e36cedf1-0364-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 20:20:29 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso26882595e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 12:20:29 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe292d0sm113505845e9.20.2025.03.17.12.20.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 12: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: e36cedf1-0364-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742239229; x=1742844029; 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=mr8DI3nBv401BCL/XAx6lN4oA/5pcywS2sI15DoEEvo=;
        b=sdO54gCBM6krVT/cbawWHix6XS9Js0hRXOGmqc9QOd17VaGPTGLe5fb5heOoRkTxYN
         WpVloRBRtvobkI4MS0Xi3VjIZ2NXDXGj9Qqc913lg62FHL/+qQFvkGGoVwVeqFlnQsdx
         YYGQeyos3yEsZNoIqHPY2zSKeYoGcSoKP8fMQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742239229; x=1742844029;
        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=mr8DI3nBv401BCL/XAx6lN4oA/5pcywS2sI15DoEEvo=;
        b=SzDEcY6MSBC3MXIH5hJaegH+JPRqR0CGXbwaCHak9MJfZvTcamkufV/9blVrM3OMyY
         zEQWGnbquPZPR4/XsJIw+rMJCKGSm/EQjzhbELf3jDfxXzfGnJRRe2eQAgHZDNeZBYBc
         c9f1M9f5CWEo5U4UydzN6t3i8YnJJ2t3PYZ8KhECcC88vihn+UC0ULrWw/ZR12lJFXUa
         tIwyVUah/RUOvpbiMgUks/l2N0WSwksebSvp18XQVPF7BM6oveb5XIW2DNsM1o3zJvLL
         2SJaXwKxGtJhHs2Fwnkk/5uG17srXsVDXqfuYF5Wzkkyz4kmguAsVK651Brys9R8zIZv
         xTaA==
X-Gm-Message-State: AOJu0YyFGroSt+XtNj81JMMHsnXmD4I0dE/+GTDxcQ1WG3Ew3+OBzFZQ
	YkS7UKlTmCxwcBl7GfTA8voGCVs0NumVyodNju5SPGw5+fbD1HSpXmER2xq5PuWod/7Nr/jXz9I
	y
X-Gm-Gg: ASbGncv2SLBx9c5ZZztVYJj4QltKGX7+oxtUCPjp0lGUtRXxs+b2aQ65gapTfAJYJGk
	JhZdsBv+mU3n8P484/2Mx63g2hXY7oB8bt4/cE90Sef7hp9n0XupcAOGU7SitKev+L4Jozwi5+/
	x9/81ArgKnE9FgdoPt3OmO+L9biqEK+G5DsV56meaaudp6GGxNYWYVxLzGFGnHNN/h/AivK52Nw
	V+3UiU6FVYZzy2w9oc6xuUboTaKDQioNeZ/qVgkVabEtSCWx+n4k9MGMegTID9ESPWY9j7OYmLw
	SWO/m/rtuXHEY2RqP2Mn2G4M9Vx8Tiv803cHQdtBohG22zpeF5OEmCLfwFyHdyDBi7SDVpJZg9I
	7dmi6B/qRfnaaVQ0j3iotRtV+
X-Google-Smtp-Source: AGHT+IFrmZrN+A0yETYgzcrUEIuIBFCET8LfBxmDWDE3Gwl7zIbPOM5HVlusn95h1j3ItZ2R4zkfSw==
X-Received: by 2002:a05:600c:4e47:b0:43c:ef55:f1e8 with SMTP id 5b1f17b1804b1-43d285684famr82499145e9.13.1742239228873;
        Mon, 17 Mar 2025 12:20:28 -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/4] x86/traps: Move trap_init() into traps-setup.c
Date: Mon, 17 Mar 2025 19:20:22 +0000
Message-Id: <20250317192023.568432-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317192023.568432-1-andrew.cooper3@citrix.com>
References: <20250317192023.568432-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... and rename to traps_init() for consistency.  Move the declaration from
asm/system.h into asm/traps.h.

This also involves moving init_ler() and variables.  Move the declaration of
ler_msr from asm/msr.h to asm/traps.h.

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/include/asm/msr.h    |  2 -
 xen/arch/x86/include/asm/system.h |  1 -
 xen/arch/x86/include/asm/traps.h  |  3 ++
 xen/arch/x86/setup.c              |  2 +-
 xen/arch/x86/traps-setup.c        | 66 +++++++++++++++++++++++++++++++
 xen/arch/x86/traps.c              | 61 ----------------------------
 6 files changed, 70 insertions(+), 65 deletions(-)

diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 7b00a4db5d48..549d40b404cb 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -279,8 +279,6 @@ static inline void write_efer(uint64_t val)
     wrmsrl(MSR_EFER, val);
 }
 
-extern unsigned int ler_msr;
-
 DECLARE_PER_CPU(uint32_t, tsc_aux);
 
 /* Lazy update of MSR_TSC_AUX */
diff --git a/xen/arch/x86/include/asm/system.h b/xen/arch/x86/include/asm/system.h
index 73364056c702..1bf6bd026852 100644
--- a/xen/arch/x86/include/asm/system.h
+++ b/xen/arch/x86/include/asm/system.h
@@ -263,7 +263,6 @@ static inline int local_irq_is_enabled(void)
 #define BROKEN_ACPI_Sx          0x0001
 #define BROKEN_INIT_AFTER_S1    0x0002
 
-void trap_init(void);
 void init_idt_traps(void);
 void load_system_tables(void);
 void subarch_percpu_traps_init(void);
diff --git a/xen/arch/x86/include/asm/traps.h b/xen/arch/x86/include/asm/traps.h
index 825f7441c86e..3d30aa6738d4 100644
--- a/xen/arch/x86/include/asm/traps.h
+++ b/xen/arch/x86/include/asm/traps.h
@@ -7,8 +7,11 @@
 #ifndef ASM_TRAP_H
 #define ASM_TRAP_H
 
+void traps_init(void);
 void percpu_traps_init(void);
 
+extern unsigned int ler_msr;
+
 const char *vector_name(unsigned int vec);
 
 #endif /* ASM_TRAP_H */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index b092106ccca5..5e2411a008f5 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2023,7 +2023,7 @@ void asmlinkage __init noreturn __start_xen(void)
                                            &this_cpu(stubs).mfn);
     BUG_ON(!this_cpu(stubs.addr));
 
-    trap_init();
+    traps_init(); /* Needs stubs allocated. */
 
     cpu_init();
 
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index fa78a35a7ebf..1a7b42c14bf2 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -2,6 +2,9 @@
 /*
  * Configuration of event handling for all CPUs.
  */
+#include <xen/init.h>
+#include <xen/param.h>
+
 #include <asm/idt.h>
 #include <asm/msr.h>
 #include <asm/system.h>
@@ -9,6 +12,69 @@
 
 DEFINE_PER_CPU_READ_MOSTLY(idt_entry_t *, idt);
 
+/* LastExceptionFromIP on this hardware.  Zero if LER is not in use. */
+unsigned int __ro_after_init ler_msr;
+static bool __initdata opt_ler;
+boolean_param("ler", opt_ler);
+
+void nocall entry_PF(void);
+
+static void __init init_ler(void)
+{
+    unsigned int msr = 0;
+
+    if ( !opt_ler )
+        return;
+
+    /*
+     * Intel Pentium 4 is the only known CPU to not use the architectural MSR
+     * indicies.
+     */
+    switch ( boot_cpu_data.x86_vendor )
+    {
+    case X86_VENDOR_INTEL:
+        if ( boot_cpu_data.x86 == 0xf )
+        {
+            msr = MSR_P4_LER_FROM_LIP;
+            break;
+        }
+        fallthrough;
+    case X86_VENDOR_AMD:
+    case X86_VENDOR_HYGON:
+        msr = MSR_IA32_LASTINTFROMIP;
+        break;
+    }
+
+    if ( msr == 0 )
+    {
+        printk(XENLOG_WARNING "LER disabled: failed to identify MSRs\n");
+        return;
+    }
+
+    ler_msr = msr;
+    setup_force_cpu_cap(X86_FEATURE_XEN_LBR);
+}
+
+/*
+ * Configure complete exception, interrupt and syscall handling.
+ */
+void __init traps_init(void)
+{
+    /* Replace early pagefault with real pagefault handler. */
+    _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
+
+    init_ler();
+
+    /* Cache {,compat_}gdt_l1e now that physically relocation is done. */
+    this_cpu(gdt_l1e) =
+        l1e_from_pfn(virt_to_mfn(boot_gdt), __PAGE_HYPERVISOR_RW);
+    if ( IS_ENABLED(CONFIG_PV32) )
+        this_cpu(compat_gdt_l1e) =
+            l1e_from_pfn(virt_to_mfn(boot_compat_gdt), __PAGE_HYPERVISOR_RW);
+
+    percpu_traps_init();
+}
+
 /*
  * Set up per-CPU linkage registers for exception, interrupt and syscall
  * handling.
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 29d7e4123f90..79d92f21acf5 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -107,12 +107,6 @@ DEFINE_PER_CPU_PAGE_ALIGNED(struct tss_page, tss_page);
 static int debug_stack_lines = 20;
 integer_param("debug_stack_lines", debug_stack_lines);
 
-static bool __initdata opt_ler;
-boolean_param("ler", opt_ler);
-
-/* LastExceptionFromIP on this hardware.  Zero if LER is not in use. */
-unsigned int __ro_after_init ler_msr;
-
 const unsigned int nmi_cpu;
 
 #define stack_words_per_line 4
@@ -1864,8 +1858,6 @@ void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
     panic("CONTROL-FLOW PROTECTION FAULT: #CP[%04x] %s\n", ec, err);
 }
 
-void nocall entry_PF(void);
-
 void __init init_idt_traps(void)
 {
     /* Specify dedicated interrupt stacks for NMI, #DF, and #MC. */
@@ -1879,59 +1871,6 @@ void __init init_idt_traps(void)
         this_cpu(compat_gdt) = boot_compat_gdt;
 }
 
-static void __init init_ler(void)
-{
-    unsigned int msr = 0;
-
-    if ( !opt_ler )
-        return;
-
-    /*
-     * Intel Pentium 4 is the only known CPU to not use the architectural MSR
-     * indicies.
-     */
-    switch ( boot_cpu_data.x86_vendor )
-    {
-    case X86_VENDOR_INTEL:
-        if ( boot_cpu_data.x86 == 0xf )
-        {
-            msr = MSR_P4_LER_FROM_LIP;
-            break;
-        }
-        fallthrough;
-    case X86_VENDOR_AMD:
-    case X86_VENDOR_HYGON:
-        msr = MSR_IA32_LASTINTFROMIP;
-        break;
-    }
-
-    if ( msr == 0 )
-    {
-        printk(XENLOG_WARNING "LER disabled: failed to identify MSRs\n");
-        return;
-    }
-
-    ler_msr = msr;
-    setup_force_cpu_cap(X86_FEATURE_XEN_LBR);
-}
-
-void __init trap_init(void)
-{
-    /* Replace early pagefault with real pagefault handler. */
-    _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
-
-    init_ler();
-
-    /* Cache {,compat_}gdt_l1e now that physically relocation is done. */
-    this_cpu(gdt_l1e) =
-        l1e_from_pfn(virt_to_mfn(boot_gdt), __PAGE_HYPERVISOR_RW);
-    if ( IS_ENABLED(CONFIG_PV32) )
-        this_cpu(compat_gdt_l1e) =
-            l1e_from_pfn(virt_to_mfn(boot_compat_gdt), __PAGE_HYPERVISOR_RW);
-
-    percpu_traps_init();
-}
-
 void asm_domain_crash_synchronous(unsigned long addr)
 {
     /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 19:20:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 19:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918003.1322765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuG0l-0005dJ-Mb; Mon, 17 Mar 2025 19:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918003.1322765; Mon, 17 Mar 2025 19:20: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 1tuG0l-0005ch-GC; Mon, 17 Mar 2025 19:20:31 +0000
Received: by outflank-mailman (input) for mailman id 918003;
 Mon, 17 Mar 2025 19:20: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuG0j-0005ZB-Us
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 19:20: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 e2c6be57-0364-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 20:20:28 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso17564045e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 12:20:28 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe292d0sm113505845e9.20.2025.03.17.12.20.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 12:20: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: e2c6be57-0364-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742239228; x=1742844028; 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=Dn2ZnCS88cctTOr/fFl+tXYklVer0fE8Q23JyiJ581g=;
        b=UUYKxvMgnvb+UQ6Oz5A8rz98Xs2PvykLoWimk12W3VzjbX3BMi8bxdjj2ltLVP/hM6
         hjM4b7I0DMkh8Yo8U9gT1LeC+0ELpabhE7qOxvLL1MkVZ7MQiEC10dLxnOhZPryAiE6J
         a8Dzo18s+7pA0BEAph30mhph28gpvXRX25mZc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742239228; x=1742844028;
        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=Dn2ZnCS88cctTOr/fFl+tXYklVer0fE8Q23JyiJ581g=;
        b=ZrR3uj3c2oYwYYxrkprJnbqgTZtRYp+bBzdCfhWeitj92Ho0S4vxks8zOq3qQlyELL
         fRCqzz9HajDHIMgimX9NRhSvI991GbckWo+6ForlKOP/kWFLRkX7H4fv2Dvp+fMnLWwz
         5BGHJvNiTu0TuZH1PV/ds1ehQSZ/neypqwNut+yJeo5dLMtq54oaLxa6eoPNp7e7t17l
         cAuzB0eUd5dIqVWrwVAmHAaTiflDPk1EAVqiAenu37IDojmc1qtQEcUXT/YBrB9LHyUj
         OmfLu8Bgc4niND1CboXuwq4u/z9ky0o2PhCMWpxiVFcXRmJURqqbJ61tvPwkmLLxEvdm
         gbpw==
X-Gm-Message-State: AOJu0Yxmg5i5o6rjwhAZwSdnXCSQMQrD9tE4+A/nbVvjuGLzh6GQnuZc
	6bo6EuCFKhHytebu7MCxbtN6N7w0Yk8hHvAIaJQKNkP+tcokcGaBbe5PxYjPXBmvM/5v+AJ1Kko
	w
X-Gm-Gg: ASbGncv/fZJwNHD4nX9n2Qlu9ncSCWfTe3g9A1C6loj33+HUHPxD+6W6hJVPm6S9JzX
	57AEcoT+3RRFLWnIWRolykPha318CQn1q2Zfpil3p0fTrdU62TrQuJz8ptcsIoij4Kb7jKyaQiw
	3gHceMev0dexpfvbwaLyEbrYumIvG8fAhpFV7KW8uMvewaGwbj1KTrwf5cTWnYQe3+8I2sMrZU/
	xctENWAFX8ET4ScnvaQSGEicQTOmz/vj92lZG5fk3+fRn+5S81w/lVDHsx3Sfylv13HpelKQk6n
	bXU7oCsI8STx6Zk5OwL0n66XdDawHrY8eEhotW6LjypLby2ONIa/FVDNs3O5qYgW/UlAqkddI6L
	igrrYx/Hk/bgRe9PVbERJqPwsFWR/BAM6PU0=
X-Google-Smtp-Source: AGHT+IED2fjIxPb5278njdcOgCM0rtNVDgryI/NEgXo/0aq+WjEe5XRdH3zps90jtpIvnqge6fiz6Q==
X-Received: by 2002:a05:600c:154c:b0:43c:fd27:a216 with SMTP id 5b1f17b1804b1-43d1ecff43amr121883025e9.23.1742239227827;
        Mon, 17 Mar 2025 12:20:27 -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/4] x86/traps: Move percpu_traps_init() into traps-setup.c
Date: Mon, 17 Mar 2025 19:20:21 +0000
Message-Id: <20250317192023.568432-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317192023.568432-1-andrew.cooper3@citrix.com>
References: <20250317192023.568432-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Move the declaration from asm/system.h into asm/traps.h.

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/acpi/power.c         |  1 +
 xen/arch/x86/include/asm/system.h |  1 -
 xen/arch/x86/include/asm/traps.h  |  2 ++
 xen/arch/x86/setup.c              |  1 +
 xen/arch/x86/smpboot.c            |  1 +
 xen/arch/x86/traps-setup.c        | 15 +++++++++++++++
 xen/arch/x86/traps.c              |  8 --------
 7 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index fe70257864e1..3196a33b1918 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -31,6 +31,7 @@
 #include <asm/spec_ctrl.h>
 #include <asm/tboot.h>
 #include <asm/trampoline.h>
+#include <asm/traps.h>
 
 #include <public/platform.h>
 
diff --git a/xen/arch/x86/include/asm/system.h b/xen/arch/x86/include/asm/system.h
index 73cb16ca68d6..73364056c702 100644
--- a/xen/arch/x86/include/asm/system.h
+++ b/xen/arch/x86/include/asm/system.h
@@ -266,7 +266,6 @@ static inline int local_irq_is_enabled(void)
 void trap_init(void);
 void init_idt_traps(void);
 void load_system_tables(void);
-void percpu_traps_init(void);
 void subarch_percpu_traps_init(void);
 
 #endif
diff --git a/xen/arch/x86/include/asm/traps.h b/xen/arch/x86/include/asm/traps.h
index 01ef362edc8c..825f7441c86e 100644
--- a/xen/arch/x86/include/asm/traps.h
+++ b/xen/arch/x86/include/asm/traps.h
@@ -7,6 +7,8 @@
 #ifndef ASM_TRAP_H
 #define ASM_TRAP_H
 
+void percpu_traps_init(void);
+
 const char *vector_name(unsigned int vec);
 
 #endif /* ASM_TRAP_H */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 718297ca541a..b092106ccca5 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -56,6 +56,7 @@
 #include <asm/spec_ctrl.h>
 #include <asm/tboot.h>
 #include <asm/trampoline.h>
+#include <asm/traps.h>
 
 #include <xsm/xsm.h>
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index b63a9ce13e0a..54207e6d8830 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -41,6 +41,7 @@
 #include <asm/tboot.h>
 #include <asm/time.h>
 #include <asm/trampoline.h>
+#include <asm/traps.h>
 
 uint32_t __ro_after_init trampoline_phys;
 enum ap_boot_method __read_mostly ap_boot_method = AP_BOOT_NORMAL;
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index 3ee28319584d..fa78a35a7ebf 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -3,5 +3,20 @@
  * Configuration of event handling for all CPUs.
  */
 #include <asm/idt.h>
+#include <asm/msr.h>
+#include <asm/system.h>
+#include <asm/traps.h>
 
 DEFINE_PER_CPU_READ_MOSTLY(idt_entry_t *, idt);
+
+/*
+ * Set up per-CPU linkage registers for exception, interrupt and syscall
+ * handling.
+ */
+void percpu_traps_init(void)
+{
+    subarch_percpu_traps_init();
+
+    if ( cpu_has_xen_lbr )
+        wrmsrl(MSR_IA32_DEBUGCTLMSR, IA32_DEBUGCTLMSR_LBR);
+}
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index a89f4f4f34ea..29d7e4123f90 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1864,14 +1864,6 @@ void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
     panic("CONTROL-FLOW PROTECTION FAULT: #CP[%04x] %s\n", ec, err);
 }
 
-void percpu_traps_init(void)
-{
-    subarch_percpu_traps_init();
-
-    if ( cpu_has_xen_lbr )
-        wrmsrl(MSR_IA32_DEBUGCTLMSR, IA32_DEBUGCTLMSR_LBR);
-}
-
 void nocall entry_PF(void);
 
 void __init init_idt_traps(void)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 19:20:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 19:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918006.1322792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuG0n-0006Hr-IN; Mon, 17 Mar 2025 19:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918006.1322792; Mon, 17 Mar 2025 19:20: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 1tuG0n-0006HG-DI; Mon, 17 Mar 2025 19:20:33 +0000
Received: by outflank-mailman (input) for mailman id 918006;
 Mon, 17 Mar 2025 19:20: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuG0l-0005ZC-NL
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 19:20:31 +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 e1c8d915-0364-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 20:20:27 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso23556095e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 12:20:27 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe292d0sm113505845e9.20.2025.03.17.12.20.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 12:20: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: e1c8d915-0364-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742239226; x=1742844026; 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=30kozOqzBnzCWTQYWHSp+IcPE2+WRRE7/JFoo2OjvsE=;
        b=qcGUfvmuaEo8RhLcwVjrL6I70Wb4nT6xtNiKnNdcKDwjBUTkYKoppCDPxMLWPrxpWU
         ++yzRNNz/H2W/2DRsUA6W2fkscsLE2y7dnWIRubBdq9Q+GE6GEBei9GWz+ehTPd9KhpQ
         g8Gcs7Dp53QVUt+EGNvtwo76erNHUnOf5XO5o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742239226; x=1742844026;
        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=30kozOqzBnzCWTQYWHSp+IcPE2+WRRE7/JFoo2OjvsE=;
        b=HNKgMkxw1hTmyBhCnTv/VoDyVnoLXaIsyFhi8ILat3Y9GIV76q0cHbxy4cgCnJE5A8
         D+axk12OONAN8d4C2LtcQcHseMuj7jTlny8Tw0X0Fm0ZAZvuf6s9u/mI2voLvRHsL3Yb
         TPllm4sJHSux/txYOLnhNzdCCjDNFjbZgejtTFlQ6Xjao7Y8FnOZuq6m3hgiC7vJYVQi
         3aErlQHLaDkASCzE2yqnMSnBwbyeW5GaepCquKhSNfwm4V1LqdVrCWXgrCYDMb+/GIlH
         10/PZ2uY4ZTXhth36eL1nA/j/5mmKBOIk65lBPDyPU4emETVLwUWnwXwYy9b3hOg9nkB
         35Xw==
X-Gm-Message-State: AOJu0YzrRiiUlnQ0Zz1JdDJKyEd2ESDw40uQwQSOvV8lQa+BtsuiHq7C
	kgx+beS6gEIcsKxm743hifOWWfRyaAhzSo2FFgim4vAtI8xFEacmNMPMgw1Pbo21ktgM2+/Ky9K
	j
X-Gm-Gg: ASbGncttJhTEpL4mnZ3zGQrqcTPQ6A2IUdcRPGVPunCHWPjqpf8aDq5FTldo6MA0Pj6
	+s7vSyozsQJLFyHR4ClINBW7TX/0Xsr3vjmnlwVWbKYHU3Z1K/OLZXECeklwyIK6adykzBXIM2t
	vmDK2f+8hIxuS9JvGwhB6Vsw5oqeqq9Y1HObJgDDlj9rGko6EFUquQ4/iqGygS/BDB+EX8xhtIZ
	iiP23s8RmDp7F7xQSVH0xqtdIcXAJQ0u3iUXW0aoJX8/rJMScI+rnNbXOz2jrqXs4wFf9RBZCza
	Sv8RTIRqlJMgwg7l7w2PvrKvxKiFiE1ktmyw5Alo4xpbP1AJohdAtIrlO1RWrcBb9zFT4AivRT4
	ZDR87+E3rbYUSABT9Dl5bIUBe
X-Google-Smtp-Source: AGHT+IHUOSu+KfgW88mcaAq0OWqnCen+Y2z+fFFqurEnXoXIZYgtmJ8cr5We+B6gkukpT2VG81mXkg==
X-Received: by 2002:a05:600c:350a:b0:43d:1b74:e89a with SMTP id 5b1f17b1804b1-43d1ec82869mr136666755e9.9.1742239226195;
        Mon, 17 Mar 2025 12:20:26 -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 0/4] x86/traps: Simplify exception setup
Date: Mon, 17 Mar 2025 19:20:19 +0000
Message-Id: <20250317192023.568432-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 a small series pulled out of the FRED work.

It is cleanup of our init APIs, moving logic into traps-setup.c, and a
simplificiation of early exception setup prior to having exception support.

In the future, it will be traps_init() deciding whether to activate FRED or
not, so we'll always be using IDT for early exception handling.

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1720849629
https://cirrus-ci.com/build/6194032705011712

Andrew Cooper (4):
  x86/traps: Move cpu_init() out of trap_init()
  x86/traps: Move percpu_traps_init() into traps-setup.c
  x86/traps: Move trap_init() into traps-setup.c
  x86/traps: Introduce early_traps_init() and simplify setup

 xen/arch/x86/acpi/power.c         |   1 +
 xen/arch/x86/include/asm/msr.h    |   2 -
 xen/arch/x86/include/asm/system.h |   3 -
 xen/arch/x86/include/asm/traps.h  |   6 ++
 xen/arch/x86/setup.c              |   8 ++-
 xen/arch/x86/smpboot.c            |   1 +
 xen/arch/x86/traps-setup.c        | 113 ++++++++++++++++++++++++++++++
 xen/arch/x86/traps.c              |  84 ----------------------
 8 files changed, 126 insertions(+), 92 deletions(-)


base-commit: e7e0d485e993e97b1c816adcfc610e7c7258ce96
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 19:20:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 19:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918005.1322788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuG0n-0006Fl-9w; Mon, 17 Mar 2025 19:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918005.1322788; Mon, 17 Mar 2025 19:20: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 1tuG0n-0006Fa-5k; Mon, 17 Mar 2025 19:20:33 +0000
Received: by outflank-mailman (input) for mailman id 918005;
 Mon, 17 Mar 2025 19:20: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuG0l-0005ZB-L0
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 19:20:31 +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 e43407ae-0364-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 20:20:31 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3995ff6b066so1181958f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 12:20:31 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe292d0sm113505845e9.20.2025.03.17.12.20.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Mar 2025 12:20: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: e43407ae-0364-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742239230; x=1742844030; 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=JfALmh2Mta205aGWnBqRuhdKfESvLlwk5s7oemAqxsg=;
        b=FHEd6ngtfM5ErNhdHFIPyjLkJm0JLcKhbP9dIilgCRoP+5W9US9scxBx1G/+AAKrNx
         hLFM5/4apzOeD2mqK95wD5GOedfJqttePoR1bXELMP14H7ciBfzcyJbDZ2uw14M/2+MF
         v54K2CG7jfkGSW4E3tQqSc/WVnVzuyVHezc98=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742239230; x=1742844030;
        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=JfALmh2Mta205aGWnBqRuhdKfESvLlwk5s7oemAqxsg=;
        b=igQLSJb5BGm+lMYUiPZnZkbRx2J4jgWvsVH+Zjt3xYmy/aUoGRgEJm7ZxjhD7sEmLC
         5nVLDMnofzo8sXFATWFcF2/1zEv6wd3AUej8EPSu6irs9YDm8eK97wlG+if/W3oMYhs3
         6eBl99UQdasFYoatLUtxvmg2WmRoac9NWSkebQgYNNvuhqqF4oFwPXMtTVpRamqcafgW
         SpPRZbkNj/FbufjFNUrM3flKRrErC53Ryj9Wzz1+DWr4/7P1JFRB43NkblG9HmC7CFpl
         GZng7isRPfhxMy4In24IIoQNu9pJWjYaH0R6tKbabkVJ2S80+u71bDfKVWfH1ocspAFo
         QO7g==
X-Gm-Message-State: AOJu0Ywl/BteNwUP2pzpNuadcML9AHEUwV3Rc40poMVvk7SreB0M80cz
	Ln9wHrcwEz82GPAEu96b3Kt0JgrvbYAl94WZBBbIpe22a1Yie1dNnv28z1UGG8fgrgC6m67n51B
	8
X-Gm-Gg: ASbGncvcVA+Brn2NJq7oCmmtnPnGKsBj0qUARKYU6njAI/TYfci5ixVcw5Vvxc8gAXQ
	KhqvU0d+2SNkOBtMEniTcenPtIqdJ3UQey+2RTCa6XbxsMmBrXulZhhivns2aJjsofbateFfuKY
	YiHpOfwBfGkLbDE9dEoYY350En7AKiLs9DMG87QNlrYurJJFPA0YZ2evcySxoeHClQB+C8CCoLz
	yBuoeT32RhYpF71mcgovfhIELIXRGafHxQTGIJ0+zxOH8OukjMPBKh3TNe3QCK7d1VY70w74xH4
	n8Is7FLxzVW1G47xLQ8zELM5xF6xBEOq7fVfncyy92yjMkv+xMCWOvk8FIcjnYLKoC0brGgbfYL
	pF2FcejlouqSsrcZhil/gGaS+
X-Google-Smtp-Source: AGHT+IH6SnuKA9Qh36JS9CV63sf4fZQsWn8byy++oyL1vIa/RK/cvvQBD22JJPW6Mangixbx9yWaZw==
X-Received: by 2002:a05:6000:4027:b0:391:1222:b444 with SMTP id ffacd0b85a97d-3971e9720d7mr13011538f8f.20.1742239230150;
        Mon, 17 Mar 2025 12:20:30 -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/4] x86/traps: Introduce early_traps_init() and simplify setup
Date: Mon, 17 Mar 2025 19:20:23 +0000
Message-Id: <20250317192023.568432-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317192023.568432-1-andrew.cooper3@citrix.com>
References: <20250317192023.568432-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Something I overlooked when last cleaning up exception handling is that a TSS
is not necessary if IST isn't configured, and IST isn't necessary until we're
running guest code.

Introduce early_traps_init() which is far more minimal than init_idt_traps();
bsp_ist[] is constructed without IST settings, so all early_traps_init() needs
to do is load the IDT, and invalidate TR/LDTR.

Put the remaining logic into traps_init(), later on boot.  Note that
load_system_tables() already contains enable_each_ist(), so the call is simply
dropped.

This removes some complexity prior to having exception support, and lays the
groundwork to not even allocate a TSS when using FRED.

No practical 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/include/asm/system.h |  1 -
 xen/arch/x86/include/asm/traps.h  |  1 +
 xen/arch/x86/setup.c              |  3 +--
 xen/arch/x86/traps-setup.c        | 32 +++++++++++++++++++++++++++++++
 xen/arch/x86/traps.c              | 13 -------------
 5 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/include/asm/system.h b/xen/arch/x86/include/asm/system.h
index 1bf6bd026852..8ceaaf45d1a0 100644
--- a/xen/arch/x86/include/asm/system.h
+++ b/xen/arch/x86/include/asm/system.h
@@ -263,7 +263,6 @@ static inline int local_irq_is_enabled(void)
 #define BROKEN_ACPI_Sx          0x0001
 #define BROKEN_INIT_AFTER_S1    0x0002
 
-void init_idt_traps(void);
 void load_system_tables(void);
 void subarch_percpu_traps_init(void);
 
diff --git a/xen/arch/x86/include/asm/traps.h b/xen/arch/x86/include/asm/traps.h
index 3d30aa6738d4..72c33a33e283 100644
--- a/xen/arch/x86/include/asm/traps.h
+++ b/xen/arch/x86/include/asm/traps.h
@@ -7,6 +7,7 @@
 #ifndef ASM_TRAP_H
 #define ASM_TRAP_H
 
+void early_traps_init(void);
 void traps_init(void);
 void percpu_traps_init(void);
 
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 5e2411a008f5..6a6ddc569500 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1093,8 +1093,7 @@ void asmlinkage __init noreturn __start_xen(void)
 
     percpu_init_areas();
 
-    init_idt_traps();
-    load_system_tables();
+    early_traps_init();
 
     smp_prepare_boot_cpu();
     sort_exception_tables();
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index 1a7b42c14bf2..67a6fda89ad9 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -55,6 +55,31 @@ static void __init init_ler(void)
     setup_force_cpu_cap(X86_FEATURE_XEN_LBR);
 }
 
+/*
+ * Configure basic exception handling.  This is prior to parsing the command
+ * line or configuring a console, and needs to be as simple as possible.
+ *
+ * boot_gdt is already loaded, and bsp_idt[] is constructed without IST
+ * settings, so we don't need a TSS configured yet.
+ *
+ * Load bsp_idt[], and invalidate the TSS and LDT.
+ */
+void __init early_traps_init(void)
+{
+    const struct desc_ptr idtr = {
+        .base = (unsigned long)bsp_idt,
+        .limit = sizeof(bsp_idt) - 1,
+    };
+
+    lidt(&idtr);
+
+    _set_tssldt_desc(boot_gdt + TSS_ENTRY - FIRST_RESERVED_GDT_ENTRY,
+                     0, 0, SYS_DESC_tss_avail);
+
+    ltr(TSS_SELECTOR);
+    lldt(0);
+}
+
 /*
  * Configure complete exception, interrupt and syscall handling.
  */
@@ -63,6 +88,13 @@ void __init traps_init(void)
     /* Replace early pagefault with real pagefault handler. */
     _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
 
+    this_cpu(idt) = bsp_idt;
+    this_cpu(gdt) = boot_gdt;
+    if ( IS_ENABLED(CONFIG_PV32) )
+        this_cpu(compat_gdt) = boot_compat_gdt;
+
+    load_system_tables();
+
     init_ler();
 
     /* Cache {,compat_}gdt_l1e now that physically relocation is done. */
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 79d92f21acf5..25e0d5777e6e 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1858,19 +1858,6 @@ void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
     panic("CONTROL-FLOW PROTECTION FAULT: #CP[%04x] %s\n", ec, err);
 }
 
-void __init init_idt_traps(void)
-{
-    /* Specify dedicated interrupt stacks for NMI, #DF, and #MC. */
-    enable_each_ist(bsp_idt);
-
-    /* CPU0 uses the master IDT. */
-    this_cpu(idt) = bsp_idt;
-
-    this_cpu(gdt) = boot_gdt;
-    if ( IS_ENABLED(CONFIG_PV32) )
-        this_cpu(compat_gdt) = boot_compat_gdt;
-}
-
 void asm_domain_crash_synchronous(unsigned long addr)
 {
     /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 19:39:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 19:39:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918061.1322808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGIn-0004nq-08; Mon, 17 Mar 2025 19:39:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918061.1322808; Mon, 17 Mar 2025 19:39: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 1tuGIm-0004nj-Sa; Mon, 17 Mar 2025 19:39:08 +0000
Received: by outflank-mailman (input) for mailman id 918061;
 Mon, 17 Mar 2025 19:39: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuGIl-0004nd-L0
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 19:39:07 +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 7c52d75a-0367-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 20:39:05 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so18282905e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 12:39:05 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe659b3sm112010005e9.34.2025.03.17.12.39.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 12:39: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: 7c52d75a-0367-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742240345; x=1742845145; 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=Ayn5J6LJaGQafMwbKAyLUUoJjn8vaHWPoBig+Z3H0d0=;
        b=jvfchGL8F13drAhMUutzMwY1u6kOCAe5yBnU5waTq328AZPY3AxzNX6EPZDUX4NLcE
         Ts+4rD14JKFoupxy0lPnumoIgaeCWplFxwP+8U5kCuWp+AlLtAUQLymoXlz/fOaT8Znr
         BeXIfEhm0zQdgMgLeObROamTrQVoPO9IyEFaI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742240345; x=1742845145;
        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=Ayn5J6LJaGQafMwbKAyLUUoJjn8vaHWPoBig+Z3H0d0=;
        b=tb8ourFlE6PUkF6IHbVvnPGXrbMo1n3ijexSoHZ+aLW3RtaMTP9Ssw5VtTmVfdcDhM
         FlWUoT9B47Ufzx5Ghs30CdwC8nu+zf4Ir1eEkPe6Gf4N5MzAyzgdNLAJlRACawgEcrFr
         /acfihRwY/Xr6AmKzNxqQh8KxogOfH3NjkdxDM29e5061e3VKhmB8QreEV4WoxHIhhcx
         0GfljzcA2Qu/HTAhMbntGKtPpiLgH0MbQ1b/oqbQNrm5XaFYz2yCumfW+0yoJGcgxe96
         FtTDcUlcAl+aHpK2f8zq8TPvIshNMXi+fGajNkR+ob+H6wcDlLxKyW1TNcdaRNMcVSi6
         nZEA==
X-Forwarded-Encrypted: i=1; AJvYcCXICNWOrCFd7hKCBmrxGi2UK3FDoF2g5HK15Y7/a2oKineEccWAPfEDDfNLCC9PwuRd56wQXH95ckg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxJic9bik53GKR7l1x9MxPk7bXiriW15amLnxP99KvVRo+PuYFk
	+AaRDcjoSKnd7jMvmhkTPxSi1sQiUfdD+XUL9AjJ7gI4SQIGYY+3Qw4zEWoXn0w=
X-Gm-Gg: ASbGncuOv6JkRLv7eNHvDiwe26Jp33t08vm1zRqY5OP2w7r95U+41J20fmFTiGDfoHW
	9hOXQmceqrtVEYxhJouYz067UbTeROw+6xyd3TnuZ+1Xx+Pj5zQGduTlpfZSuYOCM5Spuwr0mP0
	nCSZNkl39D6m/IyLyHgx771J/9WPIPg09JrTStshPl/J0bYyjzBoJKqnaWtZm0KjydlXG/y/we+
	Xk/+rM2JsfnveCYKrN8IzmhgXnDhK35QvPi9gDbs4KkeAjp4OkoiPb/E2EBx2sHCrFhJirKDi0p
	O7TkRyBK8zPn++HwvW4BzYLSnYvTOayioeipA7b0AilluEX3dvkQtok7B7PK0Uma6ZpLbEjBe8t
	hZZqGMR1DAF344nGDnY0=
X-Google-Smtp-Source: AGHT+IHRpcZ5QnvTZu+w3e8hNSN+PCp/aCGRPSDo0dx9GDN5+wWjEJmZYiH8oHP8XHr1uUvuHBeJ8w==
X-Received: by 2002:a05:600c:4508:b0:43c:fb95:c76f with SMTP id 5b1f17b1804b1-43d1ec72a1dmr139164785e9.9.1742240344636;
        Mon, 17 Mar 2025 12:39:04 -0700 (PDT)
Message-ID: <f719a9fe-7df8-4456-a261-af111e023310@citrix.com>
Date: Mon, 17 Mar 2025 19:39:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@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_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/03/2025 4:19 pm, Oleksii Kurochko wrote:
> diff --git a/xen/arch/riscv/time.c b/xen/arch/riscv/time.c
> new file mode 100644
> index 0000000000..210df6ba28
> --- /dev/null
> +++ b/xen/arch/riscv/time.c
> @@ -0,0 +1,38 @@
> +#include <xen/device_tree.h>

SPDX tag.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 19:40:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 19:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918072.1322818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGJv-0006GY-B8; Mon, 17 Mar 2025 19:40:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918072.1322818; Mon, 17 Mar 2025 19:40: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 1tuGJv-0006GR-82; Mon, 17 Mar 2025 19:40:19 +0000
Received: by outflank-mailman (input) for mailman id 918072;
 Mon, 17 Mar 2025 19:40: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuGJt-0006GH-Tx
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 19:40:17 +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 a682293a-0367-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 20:40:16 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso13383445e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 12:40:16 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d33f5771dsm24839135e9.38.2025.03.17.12.40.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 12:40: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: a682293a-0367-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742240415; x=1742845215; 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=b9XkyLu4yDyFImJ7Pmmy4tajw++yorWXQFhR6QJOUvE=;
        b=JjP+s62J/Wak9wi6vX8anwebPOmozrMVM0UYWa5L0WoeR8PQlm9Fz5sZDhApf3iBtR
         Yv+TkxdzU9+eGZLpAmCPzEV3smpgawSa1Rls7NlgBs9T3L4tbd8u1R1ayCpagWGkvqvU
         7mUUwMiuHy+F1ZcjylZT9neLVG9Nh6+UF4h90=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742240415; x=1742845215;
        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=b9XkyLu4yDyFImJ7Pmmy4tajw++yorWXQFhR6QJOUvE=;
        b=T23vQqAw/gYsirRvIo927K6HnjeoaZ1tbLsvM2XyqTvO/vYf7mEX1hRLrz4UdODdJf
         ok5/0X6GsYzIT2U2hEtfQzR+ejZqzSPOMIEAbG7Uj8x4WaXEbGBnYlGhwX3rXSbTVV6a
         MrCDv1cgmmJUfcyfQ5CgMDrH1prbkTc18+D0mrJjXsrOOj6bI2DsvqYpcCRS0uNFe8nF
         a+RBUo4iAEZge+L0Ry1hLaIWnwAaEP1MHfk/W19VFTzcACTOTJ+iQGbjsbbOmO3laUj4
         KJsAv7EzYB2N8xCfHexBmc4zKN3abxexWSMeSmPG3/2AfqoQOMITjJXTs0YkF585j8Z4
         STgQ==
X-Forwarded-Encrypted: i=1; AJvYcCVzw0HxUu+dDldiU0rBmgXZ/iH3F37K21fZUUpZDgae92roiiUheDgXadAcwuWsadqpjtJvZN9WkbE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1Mp6sim8PF5Z9NqU7+ZKIm0SHku8GTeE7aNV9DyjS9pwlDEcp
	n02c0+odr6Z/xTQHLv5qdLF/Cwr/XVTf63DX9X5Pz0X+FA+PVVkpPpQBlwxb6HhliZ+mzhOx2FW
	s
X-Gm-Gg: ASbGncufdU3JRF40/DI8WFv4PxtVEMWissOc47JMmG6E29J3kA1wnP++r9OKAbet30w
	0oIvJGoJg9+UzYzGM4vJEg2LKBfL4ljxVWIeAQi/9X76+r3G1cjZ5I65K2CohXRMpilXYY0fSfw
	jFxdVowSnVKTHt9+TLhViFlWWQW6ICU2v2+0FuzLfnFoEo4DSddcoMZhsZddvD4ABe6+gUM64nH
	D0O2pDsRil7BZe1AnYPKMWfSAECeLKzQmhIVn7oi6Nff9lbfulmCUJ4YyvJKTjB254mbat5+PM3
	v45FOeWmCUpJP9G3bXhq1DGKPbRfIrnFc58KZOpaY4NLIbvIvn2NTDG2rr+iw5e+/OoXG0uXsZR
	lQcnTG2Bu
X-Google-Smtp-Source: AGHT+IF9JpmEB+B4KfzSHVIi1JspL3tSImMx+Xw6FBVJ3cBtj20lHbzWZ02VNZZz9gXZjwOXGWlpPw==
X-Received: by 2002:a05:600c:511c:b0:43c:fbba:41ba with SMTP id 5b1f17b1804b1-43d1ecd60c1mr129761305e9.28.1742240415406;
        Mon, 17 Mar 2025 12:40:15 -0700 (PDT)
Message-ID: <1edd3466-e999-4cfc-99e8-e701581806a2@citrix.com>
Date: Mon, 17 Mar 2025 19:40:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] automation: select APLIC and IMSIC to handle both
 wired interrupts and MSIs
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <31ee47c8906f13869e085e442b285d7ca6202023.1741709885.git.oleksii.kurochko@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: <31ee47c8906f13869e085e442b285d7ca6202023.1741709885.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/03/2025 4:19 pm, Oleksii Kurochko wrote:
> By default, the `aia` option is set to "none" which selects the SiFive PLIC for
> handling wired interrupts. However, since PLIC is now considered obsolete and
> will not be supported by Xen now, APLIC and IMSIC are selected instead to manage
> both wired interrupts and MSIs.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

Presumably the version of QEMU we use is happy with this?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918088.1322853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkS-0006X9-WD; Mon, 17 Mar 2025 20:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918088.1322853; Mon, 17 Mar 2025 20: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 1tuGkS-0006X0-SD; Mon, 17 Mar 2025 20:07:44 +0000
Received: by outflank-mailman (input) for mailman id 918088;
 Mon, 17 Mar 2025 20:07: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=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkR-00061d-2t
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:43 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7bec24f2-036b-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 21:07:42 +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 0A1872573;
 Mon, 17 Mar 2025 13:07:51 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3A0BB3F63F;
 Mon, 17 Mar 2025 13:07: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: 7bec24f2-036b-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v3 4/7] arm/mpu: Kconfig symbols for MPU build
Date: Mon, 17 Mar 2025 20:07:24 +0000
Message-Id: <20250317200727.798696-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250317200727.798696-1-luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The MPU system requires static memory to work, select that
when building this memory management subsystem.

While there, provide a restriction for the ARM_EFI Kconfig
parameter to be built only when !MPU, the EFI stub is not
used as there are no implementation of UEFI services for
armv8-r.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3 changes:
 - No changes
v2 changes:
 - clarified commit message about static memory
 - Add R-by Michal
---
 xen/arch/arm/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ffdff1f0a36c..5ac6ec0212d2 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -85,6 +85,7 @@ config MMU
 
 config MPU
 	bool "MPU" if UNSUPPORTED
+	select STATIC_MEMORY
 	help
 	  Memory Protection Unit (MPU). Select if you plan to run Xen on ARMv8-R
 	  systems supporting EL2. (UNSUPPORTED)
@@ -102,7 +103,7 @@ config ACPI
 
 config ARM_EFI
 	bool "UEFI boot service support"
-	depends on ARM_64
+	depends on ARM_64 && !MPU
 	default y
 	help
 	  This option provides support for boot services through
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918086.1322838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkR-0006Fq-GJ; Mon, 17 Mar 2025 20:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918086.1322838; Mon, 17 Mar 2025 20:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkR-0006Fj-Cs; Mon, 17 Mar 2025 20:07:43 +0000
Received: by outflank-mailman (input) for mailman id 918086;
 Mon, 17 Mar 2025 20:07: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=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkQ-00061d-Au
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:42 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7b3c397a-036b-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 21:07:41 +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 B578022FA;
 Mon, 17 Mar 2025 13:07:49 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E59263F63F;
 Mon, 17 Mar 2025 13:07: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: 7b3c397a-036b-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v3 3/7] xen/arm: Introduce frame_table and virt_to_page
Date: Mon, 17 Mar 2025 20:07:23 +0000
Message-Id: <20250317200727.798696-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250317200727.798696-1-luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce frame_table in order to provide the implementation of
virt_to_page for MPU system, move the MMU variant in mmu/mm.h.

Introduce FRAMETABLE_NR that is required for 'pdx_group_valid' in
pdx.c, but leave the initialisation of the frame table to a later
stage.
Define FRAMETABLE_SIZE for MPU to support up to 1TB of ram at this
stage, as the only current implementation of armv8-r aarch64, which
is cortex R82, can support 1TB or 256TB (r82 TRM r3p1
ID_AA64MMFR0_EL1.PARange).

Take the occasion to sort alphabetically the headers following
the Xen code style and add the emacs footer in mpu/mm.c.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3 changes:
 - Simplified MPU virt_to_page conversions (Michal suggested)
 - Mentioned r82 TRM source for frame table size (Michal)
 - Add Michal R-by
v2 changes:
 - sorted headers in mm.c
 - modified commit message
 - moved virt_to_page to MMU and MPU
 - removed frametable_pdx_end, used mfn_valid
---
 xen/arch/arm/include/asm/mm.h         | 14 --------------
 xen/arch/arm/include/asm/mmu/mm.h     | 14 ++++++++++++++
 xen/arch/arm/include/asm/mpu/layout.h |  3 +++
 xen/arch/arm/include/asm/mpu/mm.h     | 14 ++++++++++++++
 xen/arch/arm/mpu/mm.c                 | 14 +++++++++++++-
 5 files changed, 44 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 444fd03823ec..fbffaccef49b 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -294,20 +294,6 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
 #error "Unknown memory management layout"
 #endif
 
-/* Convert between Xen-heap virtual addresses and page-info structures. */
-static inline struct page_info *virt_to_page(const void *v)
-{
-    unsigned long va = (unsigned long)v;
-    unsigned long pdx;
-
-    ASSERT(va >= XENHEAP_VIRT_START);
-    ASSERT(va < directmap_virt_end);
-
-    pdx = (va - XENHEAP_VIRT_START) >> PAGE_SHIFT;
-    pdx += mfn_to_pdx(directmap_mfn_start);
-    return frame_table + pdx - frametable_base_pdx;
-}
-
 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/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index 6737c3ede783..caba987edc85 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -70,6 +70,20 @@ static inline void *maddr_to_virt(paddr_t ma)
 }
 #endif
 
+/* Convert between Xen-heap virtual addresses and page-info structures. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    unsigned long va = (unsigned long)v;
+    unsigned long pdx;
+
+    ASSERT(va >= XENHEAP_VIRT_START);
+    ASSERT(va < directmap_virt_end);
+
+    pdx = (va - XENHEAP_VIRT_START) >> PAGE_SHIFT;
+    pdx += mfn_to_pdx(directmap_mfn_start);
+    return frame_table + pdx - frametable_base_pdx;
+}
+
 /*
  * Print a walk of a page table or p2m
  *
diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
index 248e55f8882d..c331d1feaa84 100644
--- a/xen/arch/arm/include/asm/mpu/layout.h
+++ b/xen/arch/arm/include/asm/mpu/layout.h
@@ -3,6 +3,9 @@
 #ifndef __ARM_MPU_LAYOUT_H__
 #define __ARM_MPU_LAYOUT_H__
 
+#define FRAMETABLE_SIZE   GB(16)
+#define FRAMETABLE_NR     (FRAMETABLE_SIZE / sizeof(*frame_table))
+
 #define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
 
 /*
diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
index 6cfd0f5cd2c2..86f33d9836b7 100644
--- a/xen/arch/arm/include/asm/mpu/mm.h
+++ b/xen/arch/arm/include/asm/mpu/mm.h
@@ -3,9 +3,13 @@
 #ifndef __ARM_MPU_MM_H__
 #define __ARM_MPU_MM_H__
 
+#include <xen/bug.h>
 #include <xen/macros.h>
 #include <xen/page-size.h>
 #include <xen/types.h>
+#include <asm/mm.h>
+
+extern struct page_info *frame_table;
 
 #define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
 
@@ -15,6 +19,16 @@ static inline void *maddr_to_virt(paddr_t ma)
     return _p(ma);
 }
 
+/* Convert between virtual address to page-info structure. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    mfn_t mfn = _mfn(virt_to_mfn(v));
+
+    ASSERT(mfn_valid(mfn));
+
+    return mfn_to_page(mfn);
+}
+
 #endif /* __ARM_MPU_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 0b8748e57598..3632011c1013 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -1,9 +1,12 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-#include <xen/lib.h>
 #include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/mm.h>
 #include <xen/sizes.h>
 
+struct page_info *frame_table;
+
 static void __init __maybe_unused build_assertions(void)
 {
     /*
@@ -13,3 +16,12 @@ static void __init __maybe_unused build_assertions(void)
      */
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918093.1322888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGka-0007ar-0T; Mon, 17 Mar 2025 20:07:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918093.1322888; Mon, 17 Mar 2025 20:07: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 1tuGkZ-0007ad-Rh; Mon, 17 Mar 2025 20:07:51 +0000
Received: by outflank-mailman (input) for mailman id 918093;
 Mon, 17 Mar 2025 20:07: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=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkY-00063P-84
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:50 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7f67dcc9-036b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 21:07:48 +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 76F6613D5;
 Mon, 17 Mar 2025 13:07:56 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 877DC3F63F;
 Mon, 17 Mar 2025 13:07: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: 7f67dcc9-036b-11f0-9899-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v3 7/7] arm/mpu: Create the skeleton for MPU compilation
Date: Mon, 17 Mar 2025 20:07:27 +0000
Message-Id: <20250317200727.798696-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250317200727.798696-1-luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit introduces the skeleton for the MPU memory management
subsystem that allows the compilation on Arm64.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
The implementation of setup_virt_paging() is under arm64/mpu
because it will have a different implementation from arm32.
v3 changes:
 - rebase changes
v2 changes:
 - p2m_teardown{_allocation} stubs are now part of this patch
 - included missing headers
 - rename vmap-mpu.c to vmap.c
 - remove comment "Not used on MPU system" on implemented stubs
---
---
 xen/arch/arm/arm64/mpu/Makefile    |  2 +
 xen/arch/arm/arm64/mpu/p2m.c       | 19 +++++++
 xen/arch/arm/arm64/mpu/smpboot.c   | 26 +++++++++
 xen/arch/arm/include/asm/mpu/p2m.h | 21 ++++++++
 xen/arch/arm/include/asm/p2m.h     |  2 +-
 xen/arch/arm/mpu/Makefile          |  3 ++
 xen/arch/arm/mpu/mm.c              | 25 +++++++++
 xen/arch/arm/mpu/p2m.c             | 84 ++++++++++++++++++++++++++++++
 xen/arch/arm/mpu/setup.c           | 40 ++++++++++++++
 xen/arch/arm/mpu/vmap.c            | 26 +++++++++
 10 files changed, 247 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/arm64/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c
 create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h
 create mode 100644 xen/arch/arm/mpu/p2m.c
 create mode 100644 xen/arch/arm/mpu/setup.c
 create mode 100644 xen/arch/arm/mpu/vmap.c

diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/mpu/Makefile
index 3340058c08c6..cf0540aecc84 100644
--- a/xen/arch/arm/arm64/mpu/Makefile
+++ b/xen/arch/arm/arm64/mpu/Makefile
@@ -1 +1,3 @@
 obj-y += head.o
+obj-y += p2m.o
+obj-y += smpboot.o
diff --git a/xen/arch/arm/arm64/mpu/p2m.c b/xen/arch/arm/arm64/mpu/p2m.c
new file mode 100644
index 000000000000..b6d8b2777b58
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/p2m.c
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/init.h>
+#include <asm/p2m.h>
+
+void __init setup_virt_paging(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm64/mpu/smpboot.c b/xen/arch/arm/arm64/mpu/smpboot.c
new file mode 100644
index 000000000000..5090f443f577
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/smpboot.c
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/errno.h>
+#include <xen/mm.h>
+#include <xen/stdbool.h>
+
+int prepare_secondary_mm(int cpu)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void update_boot_mapping(bool enable)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/mpu/p2m.h b/xen/arch/arm/include/asm/mpu/p2m.h
new file mode 100644
index 000000000000..e46d9e757a1d
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/p2m.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MPU_P2M_H__
+#define __ARM_MPU_P2M_H__
+
+struct p2m_domain;
+
+static inline void p2m_clear_root_pages(struct p2m_domain *p2m) {}
+
+static inline void p2m_tlb_flush_sync(struct p2m_domain *p2m) {}
+
+#endif /* __ARM_MPU_P2M_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 594dc4004138..2d53bf9b6177 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -168,7 +168,7 @@ typedef enum {
 #if defined(CONFIG_MMU)
 # include <asm/mmu/p2m.h>
 #else
-# error "Unknown memory management layout"
+# include <asm/mpu/p2m.h>
 #endif
 
 static inline bool arch_acquire_resource_check(struct domain *d)
diff --git a/xen/arch/arm/mpu/Makefile b/xen/arch/arm/mpu/Makefile
index b18cec483671..21bbc517b51a 100644
--- a/xen/arch/arm/mpu/Makefile
+++ b/xen/arch/arm/mpu/Makefile
@@ -1 +1,4 @@
 obj-y += mm.o
+obj-y += p2m.o
+obj-y += setup.init.o
+obj-y += vmap.o
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 4e9a2405d8c5..07c8959f4ee9 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -1,9 +1,12 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
+#include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
 #include <xen/sizes.h>
+#include <xen/types.h>
 
 struct page_info *frame_table;
 
@@ -17,6 +20,28 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
 
+void __init setup_mm(void)
+{
+    BUG_ON("unimplemented");
+}
+
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void dump_hyp_walk(vaddr_t addr)
+{
+    BUG_ON("unimplemented");
+}
+
+/* Release all __init and __initdata ranges to be reused */
+void free_init_memory(void)
+{
+    BUG_ON("unimplemented");
+}
+
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
new file mode 100644
index 000000000000..f7fb58ab6aa8
--- /dev/null
+++ b/xen/arch/arm/mpu/p2m.c
@@ -0,0 +1,84 @@
+
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/domain.h>
+#include <xen/errno.h>
+#include <xen/mm-frame.h>
+#include <xen/sched.h>
+#include <xen/types.h>
+#include <asm/p2m.h>
+
+int p2m_set_entry(struct p2m_domain *p2m, gfn_t sgfn, unsigned long nr,
+                  mfn_t smfn, p2m_type_t t, p2m_access_t a)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t,
+                    p2m_access_t *a, unsigned int *page_order, bool *valid)
+{
+    BUG_ON("unimplemented");
+    return INVALID_MFN;
+}
+
+void p2m_dump_info(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int p2m_init(struct domain *d)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void p2m_save_state(struct vcpu *p)
+{
+    BUG_ON("unimplemented");
+}
+
+void p2m_restore_state(struct vcpu *n)
+{
+    BUG_ON("unimplemented");
+}
+
+void p2m_final_teardown(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    BUG_ON("unimplemented");
+    return false;
+}
+
+void p2m_flush_vm(struct vcpu *v) {}
+
+int relinquish_p2m_mapping(struct domain *d)
+{
+    return 0;
+}
+
+void p2m_domain_creation_finished(struct domain *d) {}
+
+int p2m_teardown(struct domain *d)
+{
+    return 0;
+}
+
+int p2m_teardown_allocation(struct domain *d)
+{
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
new file mode 100644
index 000000000000..b4da77003f47
--- /dev/null
+++ b/xen/arch/arm/mpu/setup.c
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/types.h>
+#include <asm/setup.h>
+
+void __init setup_pagetables(void) {}
+
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+/*
+ * copy_from_paddr - copy data from a physical address
+ * @dst: destination virtual address
+ * @paddr: source physical address
+ * @len: length to copy
+ */
+void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
+{
+    BUG_ON("unimplemented");
+}
+
+void __init remove_early_mappings(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/mpu/vmap.c b/xen/arch/arm/mpu/vmap.c
new file mode 100644
index 000000000000..f977b79cd436
--- /dev/null
+++ b/xen/arch/arm/mpu/vmap.c
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bug.h>
+#include <xen/mm-frame.h>
+#include <xen/types.h>
+#include <xen/vmap.h>
+
+void *vmap_contig(mfn_t mfn, unsigned int nr)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+void vunmap(const void *va)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918087.1322848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkS-0006Tp-Nw; Mon, 17 Mar 2025 20:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918087.1322848; Mon, 17 Mar 2025 20: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 1tuGkS-0006Th-Jw; Mon, 17 Mar 2025 20:07:44 +0000
Received: by outflank-mailman (input) for mailman id 918087;
 Mon, 17 Mar 2025 20:07:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkQ-00063P-Nj
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:42 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7a74e201-036b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 21:07:40 +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 6CCDC1BB0;
 Mon, 17 Mar 2025 13:07:48 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3E5BB3F63F;
 Mon, 17 Mar 2025 13:07: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: 7a74e201-036b-11f0-9899-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v3 2/7] xen/arm: Implement virt/maddr conversion in MPU system
Date: Mon, 17 Mar 2025 20:07:22 +0000
Message-Id: <20250317200727.798696-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250317200727.798696-1-luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

virt_to_maddr and maddr_to_virt are used widely in Xen code. So
even there is no VMSA in MPU system, we keep the interface in MPU to
to avoid changing the existing common code.

In order to do that, move the virt_to_maddr() and maddr_to_virt()
definitions to mmu/mm.h, move the include of memory management
subsystems (MMU/MPU) on a different place because the mentioned
helpers needs visibility of some macro in asm/mm.h.

Finally implement virt_to_maddr() and maddr_to_virt() for MPU systems
under mpu/mm.h, the MPU version of virt/maddr conversion is simple since
VA==PA.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3 changes:
 - Add Michal R-by
v2 changes:
 - add missing headers, fix header protection macro name convention
 - take into account PADDR_MASK in virt_to_maddr
 - fixed typo in commit message
 - moved also maddr_to_virt to mmu/mm.h and moved include of mmu/mpu.
 - moved introduction of mm.c footer on commit that touches that file.
---
 xen/arch/arm/include/asm/mm.h     | 64 +++++--------------------------
 xen/arch/arm/include/asm/mmu/mm.h | 56 +++++++++++++++++++++++++++
 xen/arch/arm/include/asm/mpu/mm.h | 27 +++++++++++++
 3 files changed, 92 insertions(+), 55 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h

diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index a0d8e5afe977..444fd03823ec 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -14,12 +14,6 @@
 # error "unknown ARM variant"
 #endif
 
-#if defined(CONFIG_MMU)
-# include <asm/mmu/mm.h>
-#elif !defined(CONFIG_MPU)
-# error "Unknown memory management layout"
-#endif
-
 /* Align Xen to a 2 MiB boundary. */
 #define XEN_PADDR_ALIGN (1 << 21)
 
@@ -261,55 +255,6 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len)
 /* Page-align address and convert to frame number format */
 #define paddr_to_pfn_aligned(paddr)    paddr_to_pfn(PAGE_ALIGN(paddr))
 
-#define virt_to_maddr(va) ({                                        \
-    vaddr_t va_ = (vaddr_t)(va);                                    \
-    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
-})
-
-#ifdef CONFIG_ARM_32
-/**
- * Find the virtual address corresponding to a machine address
- *
- * Only memory backing the XENHEAP has a corresponding virtual address to
- * be found. This is so we can save precious virtual space, as it's in
- * short supply on arm32. This mapping is not subject to PDX compression
- * because XENHEAP is known to be physically contiguous and can't hence
- * jump over the PDX hole. This means we can avoid the roundtrips
- * converting to/from pdx.
- *
- * @param ma Machine address
- * @return Virtual address mapped to `ma`
- */
-static inline void *maddr_to_virt(paddr_t ma)
-{
-    ASSERT(is_xen_heap_mfn(maddr_to_mfn(ma)));
-    ma -= mfn_to_maddr(directmap_mfn_start);
-    return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
-}
-#else
-/**
- * Find the virtual address corresponding to a machine address
- *
- * The directmap covers all conventional memory accesible by the
- * hypervisor. This means it's subject to PDX compression.
- *
- * Note there's an extra offset applied (directmap_base_pdx) on top of the
- * regular PDX compression logic. Its purpose is to skip over the initial
- * range of non-existing memory, should there be one.
- *
- * @param ma Machine address
- * @return Virtual address mapped to `ma`
- */
-static inline void *maddr_to_virt(paddr_t ma)
-{
-    ASSERT((mfn_to_pdx(maddr_to_mfn(ma)) - directmap_base_pdx) <
-           (DIRECTMAP_SIZE >> PAGE_SHIFT));
-    return (void *)(XENHEAP_VIRT_START -
-                    (directmap_base_pdx << PAGE_SHIFT) +
-                    maddr_to_directmapoff(ma));
-}
-#endif
-
 /*
  * Translate a guest virtual address to a machine address.
  * Return the fault information if the translation has failed else 0.
@@ -340,6 +285,15 @@ static inline uint64_t gvirt_to_maddr(vaddr_t va, paddr_t *pa,
 #define virt_to_mfn(va)     __virt_to_mfn(va)
 #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
 
+/* Memory management subsystem header placed here to see the above macros */
+#if defined(CONFIG_MMU)
+# include <asm/mmu/mm.h>
+#elif defined(CONFIG_MPU)
+# include <asm/mpu/mm.h>
+#else
+#error "Unknown memory management layout"
+#endif
+
 /* Convert between Xen-heap virtual addresses and page-info structures. */
 static inline struct page_info *virt_to_page(const void *v)
 {
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index f5a00558c47b..6737c3ede783 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -2,6 +2,13 @@
 #ifndef __ARM_MMU_MM_H__
 #define __ARM_MMU_MM_H__
 
+#include <xen/bug.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
+#include <asm/mm.h>
+#include <asm/mmu/layout.h>
+#include <asm/page.h>
+
 /* Non-boot CPUs use this to find the correct pagetables. */
 extern uint64_t init_ttbr;
 
@@ -14,6 +21,55 @@ extern unsigned long directmap_base_pdx;
 
 #define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
 
+#define virt_to_maddr(va) ({                                                   \
+    vaddr_t va_ = (vaddr_t)(va);                                               \
+    (paddr_t)((va_to_par(va_) & PADDR_MASK & PAGE_MASK) | (va_ & ~PAGE_MASK)); \
+})
+
+#ifdef CONFIG_ARM_32
+/**
+ * Find the virtual address corresponding to a machine address
+ *
+ * Only memory backing the XENHEAP has a corresponding virtual address to
+ * be found. This is so we can save precious virtual space, as it's in
+ * short supply on arm32. This mapping is not subject to PDX compression
+ * because XENHEAP is known to be physically contiguous and can't hence
+ * jump over the PDX hole. This means we can avoid the roundtrips
+ * converting to/from pdx.
+ *
+ * @param ma Machine address
+ * @return Virtual address mapped to `ma`
+ */
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    ASSERT(is_xen_heap_mfn(maddr_to_mfn(ma)));
+    ma -= mfn_to_maddr(directmap_mfn_start);
+    return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
+}
+#else
+/**
+ * Find the virtual address corresponding to a machine address
+ *
+ * The directmap covers all conventional memory accesible by the
+ * hypervisor. This means it's subject to PDX compression.
+ *
+ * Note there's an extra offset applied (directmap_base_pdx) on top of the
+ * regular PDX compression logic. Its purpose is to skip over the initial
+ * range of non-existing memory, should there be one.
+ *
+ * @param ma Machine address
+ * @return Virtual address mapped to `ma`
+ */
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    ASSERT((mfn_to_pdx(maddr_to_mfn(ma)) - directmap_base_pdx) <
+           (DIRECTMAP_SIZE >> PAGE_SHIFT));
+    return (void *)(XENHEAP_VIRT_START -
+                    (directmap_base_pdx << PAGE_SHIFT) +
+                    maddr_to_directmapoff(ma));
+}
+#endif
+
 /*
  * Print a walk of a page table or p2m
  *
diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
new file mode 100644
index 000000000000..6cfd0f5cd2c2
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/mm.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MPU_MM_H__
+#define __ARM_MPU_MM_H__
+
+#include <xen/macros.h>
+#include <xen/page-size.h>
+#include <xen/types.h>
+
+#define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
+
+/* On MPU systems there is no translation, ma == va. */
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    return _p(ma);
+}
+
+#endif /* __ARM_MPU_MM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918091.1322877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkX-0007GQ-Lw; Mon, 17 Mar 2025 20:07:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918091.1322877; Mon, 17 Mar 2025 20:07: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 1tuGkX-0007GC-I8; Mon, 17 Mar 2025 20:07:49 +0000
Received: by outflank-mailman (input) for mailman id 918091;
 Mon, 17 Mar 2025 20:07: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=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkW-00063P-I3
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:48 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7e66b9d5-036b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 21:07:46 +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 0EF9B26BE;
 Mon, 17 Mar 2025 13:07:55 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CD76F3F63F;
 Mon, 17 Mar 2025 13:07: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: 7e66b9d5-036b-11f0-9899-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
	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>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>
Subject: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
Date: Mon, 17 Mar 2025 20:07:26 +0000
Message-Id: <20250317200727.798696-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250317200727.798696-1-luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

ARM MPU system doesn't need to use paging memory pool, as MPU memory
mapping table at most takes only one 4KB page, which is enough to
manage the maximum 255 MPU memory regions, for all EL2 stage 1
translation and EL1 stage 2 translation.

Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
MMU systems, x86 and RISC-V.

Wrap the code inside 'construct_domU' that deal with p2m paging
allocation in a new function 'domain_p2m_set_allocation', protected
by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
the former function with #ifdefs and improve readability

Introduce arch_{get,set}_paging_mempool_size stubs for architecture
with !ARCH_PAGING_MEMPOOL.

Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
field is not required.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v3 changes:
 - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
v2 changes:
 - make Kconfig HAS_PAGING_MEMPOOL common
 - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
 - do not define p2m_teardown{_allocation} in this patch
 - change commit message
---
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
 xen/arch/arm/include/asm/domain.h |  2 +
 xen/arch/riscv/Kconfig            |  1 +
 xen/arch/x86/Kconfig              |  1 +
 xen/common/Kconfig                |  3 ++
 xen/include/xen/domain.h          | 17 +++++++
 7 files changed, 73 insertions(+), 26 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5ac6ec0212d2..a4af0b85f158 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -75,6 +75,7 @@ choice
 
 config MMU
 	bool "MMU"
+	select ARCH_PAGING_MEMPOOL
 	select HAS_LLC_COLORING if !NUMA && ARM_64
 	select HAS_PMAP
 	select HAS_VMAP
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 573b0d25ae41..6eef6ba91444 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -673,21 +673,6 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     return -EINVAL;
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
-}
-
 static int __init alloc_xenstore_evtchn(struct domain *d)
 {
     evtchn_alloc_unbound_t alloc;
@@ -841,6 +826,53 @@ static void __init domain_vcpu_affinity(struct domain *d,
     }
 }
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
+}
+
+static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
+                                            const struct dt_device_node *node)
+{
+    unsigned long p2m_pages;
+    uint32_t p2m_mem_mb;
+    int rc;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb << (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d->max_vcpus);
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&d->arch.paging.lock);
+
+    return rc;
+}
+
+#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
+
+static inline int domain_p2m_set_allocation(struct domain *d, uint64_t mem,
+                                            const struct dt_device_node *node)
+{
+    return 0;
+}
+
+#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -848,8 +880,6 @@ static int __init construct_domU(struct domain *d,
     const char *dom0less_enhanced;
     int rc;
     u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
 
     rc = dt_property_read_u64(node, "memory", &mem);
     if ( !rc )
@@ -859,15 +889,7 @@ static int __init construct_domU(struct domain *d,
     }
     kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
 
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb << (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d->max_vcpus);
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&d->arch.paging.lock);
+    rc = domain_p2m_set_allocation(d, mem, node);
     if ( rc != 0 )
         return rc;
 
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 50b6a4b00982..a3487ca71303 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -75,7 +75,9 @@ struct arch_domain
 
     struct hvm_domain hvm;
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
     struct paging_domain paging;
+#endif
 
     struct vmmio vmmio;
 
diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index d882e0a0598d..1bd8ae16dc65 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -1,5 +1,6 @@
 config RISCV
 	def_bool y
+	select ARCH_PAGING_MEMPOOL
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
 	select HAS_DEVICE_TREE
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index f08679959440..f6aa892661b4 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -9,6 +9,7 @@ config X86
 	select ACPI_NUMA
 	select ALTERNATIVE_CALL
 	select ARCH_MAP_DOMAIN_PAGE
+	select ARCH_PAGING_MEMPOOL
 	select ARCH_SUPPORTS_INT128
 	imply CORE_PARKING
 	select FUNCTION_ALIGNMENT_16B
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index a6aa2c5c1456..218357d593b7 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -44,6 +44,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config ARCH_PAGING_MEMPOOL
+	bool
+
 config GENERIC_BUG_FRAME
 	bool
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 83069de50118..a34daa7d10ab 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -2,6 +2,7 @@
 #ifndef __XEN_DOMAIN_H__
 #define __XEN_DOMAIN_H__
 
+#include <xen/errno.h>
 #include <xen/numa.h>
 #include <xen/types.h>
 
@@ -114,9 +115,25 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c);
 int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
+
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size /* bytes */);
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size /* bytes */);
 
+#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
+
+static inline int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    return -EOPNOTSUPP;
+}
+
+static inline int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    return -EOPNOTSUPP;
+}
+
+#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
+
 bool update_runstate_area(struct vcpu *v);
 
 int domain_relinquish_resources(struct domain *d);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918089.1322861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkT-0006gx-FH; Mon, 17 Mar 2025 20:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918089.1322861; Mon, 17 Mar 2025 20:07: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 1tuGkT-0006fG-Ac; Mon, 17 Mar 2025 20:07:45 +0000
Received: by outflank-mailman (input) for mailman id 918089;
 Mon, 17 Mar 2025 20:07: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=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkS-00061d-EK
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7cb821c1-036b-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 21:07:43 +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 52DC925DC;
 Mon, 17 Mar 2025 13:07:52 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 82C5F3F63F;
 Mon, 17 Mar 2025 13:07: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: 7cb821c1-036b-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v3 5/7] arm/mpu: Implement stubs for ioremap_attr on MPU
Date: Mon, 17 Mar 2025 20:07:25 +0000
Message-Id: <20250317200727.798696-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250317200727.798696-1-luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement ioremap_attr() stub for MPU system; the
implementation of ioremap() is the same between MMU
and MPU system, and it relies on ioremap_attr(), so
move the definition from mmu/pt.c to arm/mm.c.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3 changes:
 - No changes
v2 changes:
 - Add R-by Michal
---
 xen/arch/arm/mm.c     | 5 +++++
 xen/arch/arm/mmu/pt.c | 5 -----
 xen/arch/arm/mpu/mm.c | 6 ++++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index a56e20ba2bdc..5a52f0c623e5 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -395,6 +395,11 @@ unsigned long get_upper_mfn_bound(void)
     return max_page - 1;
 }
 
+void *ioremap(paddr_t pa, size_t len)
+{
+    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e796..11cb1c66dac8 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -223,11 +223,6 @@ void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
     return ptr + offs;
 }
 
-void *ioremap(paddr_t pa, size_t len)
-{
-    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
-}
-
 static int create_xen_table(lpae_t *entry)
 {
     mfn_t mfn;
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 3632011c1013..4e9a2405d8c5 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -17,6 +17,12 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
 }
 
+void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918085.1322828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkQ-00061q-AK; Mon, 17 Mar 2025 20:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918085.1322828; Mon, 17 Mar 2025 20:07: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 1tuGkQ-00061j-6g; Mon, 17 Mar 2025 20:07:42 +0000
Received: by outflank-mailman (input) for mailman id 918085;
 Mon, 17 Mar 2025 20:07: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=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkP-00061d-DX
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:41 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 78e0f172-036b-11f0-9aba-95dc52dad729;
 Mon, 17 Mar 2025 21:07:38 +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 AC03913D5;
 Mon, 17 Mar 2025 13:07:45 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 97EDE3F63F;
 Mon, 17 Mar 2025 13:07: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: 78e0f172-036b-11f0-9aba-95dc52dad729
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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>,
	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>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v3 0/7] MPU mm subsystem skeleton
Date: Mon, 17 Mar 2025 20:07:20 +0000
Message-Id: <20250317200727.798696-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

this serie implements the skeleton for the MPU memory management subsystem,
at the end of the serie it will be possible to compile the Arm64 arch using MPU.

The minimum Arm Kconfig configuration is this one:

CONFIG_UNSUPPORTED=y
CONFIG_MPU=y
CONFIG_XEN_START_ADDRESS=0x0

Luca Fancellu (5):
  arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S
  xen/arm: Introduce frame_table and virt_to_page
  arm/mpu: Kconfig symbols for MPU build
  arm/mpu: Implement stubs for ioremap_attr on MPU
  arm/mpu: Create the skeleton for MPU compilation

Penny Zheng (2):
  xen/arm: Implement virt/maddr conversion in MPU system
  xen: introduce Kconfig ARCH_PAGING_MEMPOOL

 xen/arch/arm/Kconfig                  |  4 +-
 xen/arch/arm/arm64/mpu/Makefile       |  2 +
 xen/arch/arm/arm64/mpu/p2m.c          | 19 ++++++
 xen/arch/arm/arm64/mpu/smpboot.c      | 26 +++++++++
 xen/arch/arm/dom0less-build.c         | 74 ++++++++++++++---------
 xen/arch/arm/include/asm/domain.h     |  2 +
 xen/arch/arm/include/asm/mm.h         | 76 +++---------------------
 xen/arch/arm/include/asm/mmu/mm.h     | 70 ++++++++++++++++++++++
 xen/arch/arm/include/asm/mpu/layout.h |  5 ++
 xen/arch/arm/include/asm/mpu/mm.h     | 41 +++++++++++++
 xen/arch/arm/include/asm/mpu/p2m.h    | 21 +++++++
 xen/arch/arm/include/asm/p2m.h        |  2 +-
 xen/arch/arm/mm.c                     |  5 ++
 xen/arch/arm/mmu/pt.c                 |  5 --
 xen/arch/arm/mpu/Makefile             |  3 +
 xen/arch/arm/mpu/mm.c                 | 45 +++++++++++++-
 xen/arch/arm/mpu/p2m.c                | 84 +++++++++++++++++++++++++++
 xen/arch/arm/mpu/setup.c              | 40 +++++++++++++
 xen/arch/arm/mpu/vmap.c               | 26 +++++++++
 xen/arch/arm/xen.lds.S                |  2 +
 xen/arch/riscv/Kconfig                |  1 +
 xen/arch/x86/Kconfig                  |  1 +
 xen/common/Kconfig                    |  3 +
 xen/include/xen/domain.h              | 17 ++++++
 24 files changed, 472 insertions(+), 102 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm64/mpu/smpboot.c
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
 create mode 100644 xen/arch/arm/include/asm/mpu/p2m.h
 create mode 100644 xen/arch/arm/mpu/p2m.c
 create mode 100644 xen/arch/arm/mpu/setup.c
 create mode 100644 xen/arch/arm/mpu/vmap.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 20:07:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 20:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918100.1322898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuGkd-0007zk-9c; Mon, 17 Mar 2025 20:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918100.1322898; Mon, 17 Mar 2025 20:07: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 1tuGkd-0007zW-5u; Mon, 17 Mar 2025 20:07:55 +0000
Received: by outflank-mailman (input) for mailman id 918100;
 Mon, 17 Mar 2025 20:07: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=Q9Sv=WE=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1tuGkc-00063P-1N
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 20:07:54 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 798e3c1e-036b-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 21:07:38 +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 B91BE152B;
 Mon, 17 Mar 2025 13:07:46 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E8E073F7BD;
 Mon, 17 Mar 2025 13:07: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: 798e3c1e-036b-11f0-9899-31a8f345e629
From: Luca Fancellu <luca.fancellu@arm.com>
To: 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: [PATCH v3 1/7] arm/mpu: Add HYPERVISOR_VIRT_START and avoid a check in xen.lds.S
Date: Mon, 17 Mar 2025 20:07:21 +0000
Message-Id: <20250317200727.798696-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250317200727.798696-1-luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The define HYPERVISOR_VIRT_START is required by the common code,
even if MPU system doesn't use virtual memory, define it in
mpu/layout.h in order to reuse existing code.

Disable a check in the linker script for arm for !MMU systems.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3 changes:
 - no changes
v2 changes:
 - Add Michal R-by
---
 xen/arch/arm/include/asm/mpu/layout.h | 2 ++
 xen/arch/arm/xen.lds.S                | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
index d6d397f4c2ac..248e55f8882d 100644
--- a/xen/arch/arm/include/asm/mpu/layout.h
+++ b/xen/arch/arm/include/asm/mpu/layout.h
@@ -22,6 +22,8 @@
  */
 #define XEN_VIRT_START         _AT(paddr_t, XEN_START_ADDRESS)
 
+#define HYPERVISOR_VIRT_START  XEN_VIRT_START
+
 #endif /* __ARM_MPU_LAYOUT_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bbccff1a0350..4342e54422a7 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -239,4 +239,6 @@ ASSERT(IS_ALIGNED(__bss_start,      POINTER_ALIGN), "__bss_start is misaligned")
 ASSERT(IS_ALIGNED(__bss_end,        POINTER_ALIGN), "__bss_end is misaligned")
 /* To simplify the logic in head.S, we want to _end to be page aligned */
 ASSERT(IS_ALIGNED(_end,             PAGE_SIZE), "_end is not page aligned")
+#ifdef CONFIG_MMU
 ASSERT((_end - _start) <= XEN_VIRT_SIZE, "Xen is too big")
+#endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 22:38:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 22:38:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918181.1322908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuJ5n-0006WI-Nw; Mon, 17 Mar 2025 22:37:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918181.1322908; Mon, 17 Mar 2025 22:37: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 1tuJ5n-0006WB-Ku; Mon, 17 Mar 2025 22:37:55 +0000
Received: by outflank-mailman (input) for mailman id 918181;
 Mon, 17 Mar 2025 22: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=oAQD=WE=redhat.com=npache@srs-se1.protection.inumbo.net>)
 id 1tuJ5m-0006W5-1Z
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 22:37:54 +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 73c18d6e-0380-11f0-9899-31a8f345e629;
 Mon, 17 Mar 2025 23:37:49 +0100 (CET)
Received: from mail-io1-f70.google.com (mail-io1-f70.google.com
 [209.85.166.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-299-QoMxqy4uOoGdsveaQ1UC_A-1; Mon, 17 Mar 2025 18:37:46 -0400
Received: by mail-io1-f70.google.com with SMTP id
 ca18e2360f4ac-85b48bd978cso522778039f.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 15:37:46 -0700 (PDT)
Received: from ?IPV6:2601:282:c100:48a0::aa6? ([2601:282:c100:48a0::aa6])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-4f263702075sm2481735173.6.2025.03.17.15.37.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 15: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: 73c18d6e-0380-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1742251067;
	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=uz73BbCUaqtdYR+gICGbN6AT48ejOu9pXaDANWFGjaE=;
	b=ilPt7IndygqbBshLqzD5ifIlAiiXL2llL20DqGIeAUseDUjYcNUT6jvl1lTGCrrloRQcDn
	NoIXScGv5+YWL2+nlgCZdChG8l1XdzkePwi+GSVbjHzoqlcER4ca1zutIGUyra+PQOIG/o
	YrNS2OeE3JuWuIQP7unqJGmiJu3aC+s=
X-MC-Unique: QoMxqy4uOoGdsveaQ1UC_A-1
X-Mimecast-MFC-AGG-ID: QoMxqy4uOoGdsveaQ1UC_A_1742251066
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742251066; x=1742855866;
        h=content-transfer-encoding:in-reply-to: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=uz73BbCUaqtdYR+gICGbN6AT48ejOu9pXaDANWFGjaE=;
        b=aaY4ji4dl+9cMipj/cObI1ojpdaPpNtPXcl/YQ+1OtZa53HBbGbGBpRBCrNUcCKNDc
         wOKMsB+OltRp3msshNkfcCLJs7qENgMtDfb1mKgJcw2BCSqxiqgirE3t/+lMCUXwH6jh
         cuLXv5YHzbBXqlx9YFURQmX/sLQjKGvOdMYq5cFjK23NmqL04V4C52kZeYED9TZySiKR
         Nwz1T0XDzZub+1Y6qLmBCExxOu3I4Mxeaf0JPt/FBlp32AE+HH5rzTggs4TmSWwureGW
         AGPY6ht+1skOfzIcNjer+XxMCmMGkmX0fw0DaM54lhR40WvFf/fMltmN7qLsB3n8/3Iz
         NHeA==
X-Forwarded-Encrypted: i=1; AJvYcCVIx058gfggcxyclBqMnZjbZX3AnCwpwzu6Ifne6aXSKi9RO3dkaeY8UkTB/nIUhNw/jfwGHbCl8Zo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyD9wqxbxnYP5zVlVD4sQm/0xBszMOlvXWWIFvKTY188q5RnSvA
	1NLpjCcAb+WSY0iZt1ow92PjytnLvxvlyw06CAsqB0sZOiavGggp+7ePRAxEc2o+OPWrklDrGCl
	Rj/vdYFZ9bQxH+q0U0o5WBYEF3XRTGdo5cQAe1iSa8SSZn5KzT3OHW5Ao7MyerUV0
X-Gm-Gg: ASbGncunDWcHR1YxTta74AHXxaIF+4wwRlmlIGPqNI7G957cUMaLU+sVU6kKgYqB/l6
	A6ynh5WEj4HI3W7x+lDp6gekRPfsm1iOut7jTM2H2xMkmb/lbffvTSAf2g2wt/i/5sORysxweJO
	g1llaCK74h8fVA7oY1T5FCWzGqPDCM2lDERtNSaHpEu+G48KTpur4/gyyC/1Jub+TyAl/xR2kEV
	Ncfbnw6NkD4L7BYDlE75oN1ezIaRPBHyevHUdcBiUQdFU5iDiMtDbKCpKN+DylSpjOiDSFMpQbZ
	OaLkw5rGbX1amsMhA0Ds
X-Received: by 2002:a05:6602:4084:b0:85b:59f3:2ed3 with SMTP id ca18e2360f4ac-85dc4832c03mr1654237639f.8.1742251065758;
        Mon, 17 Mar 2025 15:37:45 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFXMhXDdQ9jMsi3nNSx90SCr5dH1/wJp5bRT/DRCJ6UEq4at0o5Rp4a0vN5yQf18mlko59M2g==
X-Received: by 2002:a05:6602:4084:b0:85b:59f3:2ed3 with SMTP id ca18e2360f4ac-85dc4832c03mr1654234539f.8.1742251065465;
        Mon, 17 Mar 2025 15:37:45 -0700 (PDT)
Message-ID: <a0315ccf-f244-460e-8643-fd7388724fe5@redhat.com>
Date: Mon, 17 Mar 2025 16:37:43 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Nico Pache <npache@redhat.com>
Subject: Re: [PATCH v2 1/4] meminfo: add a per node counter for balloon
 drivers
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,
 linux-mm@kvack.org, virtualization@lists.linux.dev,
 alexander.atanasov@virtuozzo.com, muchun.song@linux.dev,
 roman.gushchin@linux.dev, mhocko@kernel.org, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 jgross@suse.com, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 mst@redhat.com, david@redhat.com, yosry.ahmed@linux.dev, hannes@cmpxchg.org,
 nphamcs@gmail.com, chengming.zhou@linux.dev, kanchana.p.sridhar@intel.com,
 llong@redhat.com, shakeel.butt@linux.dev
References: <20250314213757.244258-1-npache@redhat.com>
 <20250314213757.244258-2-npache@redhat.com>
 <20250314180625.8c3a2a5a990a132a7b0b9072@linux-foundation.org>
In-Reply-To: <20250314180625.8c3a2a5a990a132a7b0b9072@linux-foundation.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: sWnZrCtUR6INzbdF3bIirAcr-Umvk4MJzAcKHyVI4Yc_1742251066
X-Mimecast-Originator: redhat.com
Content-Language: en-US, en-ZM
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit



On 3/14/25 7:06 PM, Andrew Morton wrote:
> On Fri, 14 Mar 2025 15:37:54 -0600 Nico Pache <npache@redhat.com> wrote:
> 
>> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
>> expose it through /proc/meminfo and other memory reporting interfaces.
>>
>> ...
>>
>> --- a/fs/proc/meminfo.c
>> +++ b/fs/proc/meminfo.c
>> @@ -162,6 +162,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
>>  	show_val_kb(m, "Unaccepted:     ",
>>  		    global_zone_page_state(NR_UNACCEPTED));
>>  #endif
>> +	show_val_kb(m, "Balloon:        ",
>> +		    global_node_page_state(NR_BALLOON_PAGES));
> 
> Please update Documentation/filesystems/proc.rst for this.

@Andrew

Can you please squash the following?

>From b1b379a32752e64c60b5e3b6365c93db8e1daf9f Mon Sep 17 00:00:00 2001
From: Nico Pache <npache@redhat.com>
Date: Mon, 17 Mar 2025 16:07:18 -0600
Subject: [PATCH] Documentation: document Balloon Meminfo entry

Add a Balloon entry to the Meminfo documention.

Signed-off-by: Nico Pache <npache@redhat.com>
---
 Documentation/filesystems/proc.rst | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst
index 09f0aed5a08b..2868bb74f76e 100644
--- a/Documentation/filesystems/proc.rst
+++ b/Documentation/filesystems/proc.rst
@@ -1060,6 +1060,7 @@ Example output. You may not have all of these fields.
     FilePmdMapped:         0 kB
     CmaTotal:              0 kB
     CmaFree:               0 kB
+    Balloon:               0 kB
     HugePages_Total:       0
     HugePages_Free:        0
     HugePages_Rsvd:        0
@@ -1228,6 +1229,8 @@ CmaTotal
               Memory reserved for the Contiguous Memory Allocator (CMA)
 CmaFree
               Free remaining memory in the CMA reserves
+Balloon
+              Memory returned to Host by VM Balloon Drivers
 HugePages_Total, HugePages_Free, HugePages_Rsvd, HugePages_Surp, Hugepagesize,
Hugetlb
               See Documentation/admin-guide/mm/hugetlbpage.rst.
 DirectMap4k, DirectMap2M, DirectMap1G
-- 
2.48.1
> 



From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:08:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918192.1322917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuJZ8-0004D5-Vh; Mon, 17 Mar 2025 23:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918192.1322917; Mon, 17 Mar 2025 23:08: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 1tuJZ8-0004Cy-T3; Mon, 17 Mar 2025 23:08:14 +0000
Received: by outflank-mailman (input) for mailman id 918192;
 Mon, 17 Mar 2025 23:08: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=LEb3=WE=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1tuJZ8-0004Cs-BC
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:08:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20609.outbound.protection.outlook.com
 [2a01:111:f403:2613::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b30fff00-0384-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 00:08:12 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by PAXPR03MB8015.eurprd03.prod.outlook.com
 (2603:10a6:102:21e::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar
 2025 23:08:09 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025
 23:08: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: b30fff00-0384-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gihpf9zPBTA12I+Wgp3vznpi64udN0vrkjarJczbmjLEmaHy40JmqKMvxyGksWXX1pXbYIszvrLJZUkk/bhvsEbg6xbmRDkevyda+PeuBQnT0XRBOw53xk9ZAIOQGHoSr0cj1Y10b3yWQ3gszdervo+DLc/mRd580a66qDbzY0yM5bbQuF4CvljqfBmGQiP09vo8rOGuyuZ9HUIxSuPv2N/JqRNA3a/OirjxsyWQZhRIyerJ8j5+Zm9nykgp8ms5a3hs/CONFtmpUIpoimQuFk1gxKl4ifZZbL36h5oXSHsYNh/nugXl10FSX6rQjFYsnXKAyAjG2Yr2KR1/J15wVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DlMwrJCMLe42goTjVdw8aYjZxe8B17WCQCexhbej2/E=;
 b=NlT5wUn6RC6rPfyx2p1+4TAMQVK1UKe/l6Xe6/+B3NS6x80py9t2VRlgSNFbw2geycJq/HTAv2YGtUVl+PjNj/m0v3Lt2SyJ7OB2LKVTqrraa1q/fUM/I12tpNL3lX7sEkyeX6aiUiOYCjgTakbFndw+FV+WNiy/wna8QHt4xSU3XIRQ2SRy4wwoOqZxf2ezg6/6QSaYV66qeNLyRHjkEScGUR2Ba//Qj3nLx7SeTs5irS1/h2bxDo+viBTMntAxEmSZzWDH0CDea7bXNMgFKoQ9y2djM80+ARbCLyO1hQc4PvDcKI9uZe4mXLt6QaEq7wnnRmqZFP02pKpz/jROGg==
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=DlMwrJCMLe42goTjVdw8aYjZxe8B17WCQCexhbej2/E=;
 b=IRPN8cRMXAZCaC3JB7HRNnDfxShC0KCiPM7LSDNgLWYZ2KWYOauqGjdUXYlNDN0My8soZTlFRaNre6tIQsqn/bmMC6Wuz9pHX94/EwoPRkJ+o2rkjL06UTJ0lVgc6lJmbDw/6NUWfSszLeTPSRHGNEDjTImHt3iFI1oOftfehelAf/PotIshssrdaub8QE+SiIqm03J+wTEIGZDo0GrGYlc0D/2CI5wlf4DFowNXe8xVOMgwkCi5p2WpamhdZXH1iCy65UB0J07cUdkJKy8C9y0IYEgfiJyUVmhGYPnN4tDquh2QGOWfoPKz3IZH63wJOE4S1WtCJ7Z8+EDSn2WsDA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu
	<ppircalabu@bitdefender.com>
Subject: [PATCH] xen: vm_event: do not do vm_event_op for an invalid domain
Thread-Topic: [PATCH] xen: vm_event: do not do vm_event_op for an invalid
 domain
Thread-Index: AQHbl5FytTUpgHIInUKTmFbOO0oHkQ==
Date: Mon, 17 Mar 2025 23:08:08 +0000
Message-ID: <20250317230806.1179478-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|PAXPR03MB8015:EE_
x-ms-office365-filtering-correlation-id: 6bfc5ee5-722e-4dad-6f68-08dd65a8953c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?xiKZ6HEk/xLSom46P1sRm9Vp8MUv0WS9Z8z5m2TGzKGy8VLqD+Ymu2daRc?=
 =?iso-8859-1?Q?PKPWBR6ZNBAnQfmFiyuYSuLXexQjsFjQTuLJ7005YRlDCtCfOQgGeQUPJI?=
 =?iso-8859-1?Q?Z4z3PTHetnRu0AZ6rcEWMQGPj34qg2+D9pVNILAs3dT8oxsALUQ8GlSKrb?=
 =?iso-8859-1?Q?9QJgtcuylfP6prj2fDsXPdOWg6LJ9EnxXtJsCEIgKwso2qLOlPOlEv41kf?=
 =?iso-8859-1?Q?8+ftacnigrXfpB+vM++5XhWEOrlQ1wOGTBTb9/9tx7XVZMWqxcGWRC505e?=
 =?iso-8859-1?Q?DFuEBnodTuxHlbOUITX991yYOfTaoZckxbAGFjZB0MmsAiEPaM6l8IUcQW?=
 =?iso-8859-1?Q?JwKtP6N56f50hvV3suTxvoBpBOkVES3GmX3NYzphsvYp1wKXPKsQZidLeV?=
 =?iso-8859-1?Q?cMGNkPdFklyplR6Rj4yheQCYsd16fcJU6HFNj6ZbaTkH7FB7HLh1q8OmRu?=
 =?iso-8859-1?Q?7a7pHyDCKvguTOSrkXyvv5X9nXoRbXW6P7MVby79boDQWIANIr0cNkIJa8?=
 =?iso-8859-1?Q?8+nkJleiQHNbAnVhxZbXK7Xd+p8nUH6N1rbcZInYc3JghMR6JIVqj4lGtP?=
 =?iso-8859-1?Q?cigJoCF9ShdnzdbwJMe3tp25dbdCefQ74tDJs0ryt7P7ON49b0AtQF+Suc?=
 =?iso-8859-1?Q?H8AgkULgWonI2oUKMMjADcnNVp0Il8lh3XFHonk/Azi6WTRSrC5tQCdcSc?=
 =?iso-8859-1?Q?C083FJEL6pKOQSRlMOoPAbGvOENXY6zMspq6GWkM6407LJlZolj0vI2MOC?=
 =?iso-8859-1?Q?KeRY2Ws148n4y7pYG0C2yNmFpVvbDO6/SNfFQx7UG5+IEh7YAy/CTfv59q?=
 =?iso-8859-1?Q?QhFeHApTfPDG0TeaxkxWeTa79ceY1xp+YN48RoLd8ISgIX2GMZau6HNWSo?=
 =?iso-8859-1?Q?VrMbOPHo+Jz3Z5olU82CbSmqoMAwUUwjVmEmQnjeIz2mONPJuYNAQdvuzV?=
 =?iso-8859-1?Q?M1lpQ1aovp62o8k8r/FdStkx6qw/+4JD/kL90SWgMC3eItTtR2qF021HGW?=
 =?iso-8859-1?Q?qrl5a9WjCThM0carssNyC8bd1wgRkligsof+25jy/+rRAFMXzxMQHhlQO2?=
 =?iso-8859-1?Q?6RFfGOoBuZ+7O+LwPB6J+coEXElo9Lt073Az29OnIJoKNHTLskUY6JWnVT?=
 =?iso-8859-1?Q?y0fw5fft6TKur7ocTxk19D99jkZwBJ/BLeQEOqvrErDIVaS7DZciER04DT?=
 =?iso-8859-1?Q?NgfOsXvrodh5bjihWWKBHWPd9FMHMi2VomSl2OHjc1qChhh7RracmAa6C1?=
 =?iso-8859-1?Q?ydruKZQ/RJVwsY7Zx/gth/2AQVNqOmxuWhD2IZTyjmVV2N6O0JiQdk52dW?=
 =?iso-8859-1?Q?64O8TzdfDkb2K42EA0KbuyLv7uigavrrGAiO1pLkRuByq7jd6DEaOMhKV9?=
 =?iso-8859-1?Q?fZwik+LU/ugehmCSKRgyKIiZsEMRJwfUN/MYd1kzQ/cxO9+MaIABodOcUO?=
 =?iso-8859-1?Q?Xjw1TOI7LyPBVdaLlw7LE+b7uWDNQFIvXTz7BYb90Ly8kUHjmWEnoi1DgZ?=
 =?iso-8859-1?Q?GUUAdMdgur5+nmtwAfqxkf?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?KlwNq2ckI7SuQVbECYIeyF96FW50XYvhYF+6mZ6or2THROYiqsDRqyWM8W?=
 =?iso-8859-1?Q?ap3ZD5Fe3ttio90ndOGIgn9ZwPHaYwrD8LzbJP+uygLFtbb6HX/jayMSxa?=
 =?iso-8859-1?Q?XEdaQ3xUjO5k+doYmMaofmN9uTPRg5Ui+RQS9f+gwYtx5xJMQ9rfgz4XOT?=
 =?iso-8859-1?Q?9SOPA8sZt3zIiZl3gOrIFzSeMPrUsKX8yKvfQOL/unJYCU/Ddyi0lmF7gM?=
 =?iso-8859-1?Q?wcAwl2vwrld7JhABvHVT2KTVdQ+FEs1kvIOSum0r1X6lTuDNo6Y5u0sdsW?=
 =?iso-8859-1?Q?Wvy8vs6ILZcKwMe+nKM6ZzQA4j49aneImHDis/q0Q1meEjrSWcJAhP4dea?=
 =?iso-8859-1?Q?v1wlwzTeKxKAMmUp026ulLK5dV72Cy4Eod+IzYVunGSPGNwJedfUabLpgK?=
 =?iso-8859-1?Q?/NdBl4yoU8ul5i+ix3gVbzmjt9Q8E5vlD3ori4nysHo2P/qyjIXIU1LRPv?=
 =?iso-8859-1?Q?Jyv6Z4O75YbTrplWB6gg0GsMdzLJ82lvMOoJ9K5GizBWkNNhCBGdIcI1Ai?=
 =?iso-8859-1?Q?o0jrLNH98SAl3UR3Xl6BotVUyPHt7Bwi7zjZpqJ3INBBzZ6bFe/XBK68X0?=
 =?iso-8859-1?Q?4Bd1f34Ahrd6nj8SLCDpg6B+5ekIRA6sgxbv7hq9C1SQGpZ9QHTo1dwZm0?=
 =?iso-8859-1?Q?3JBsqkkwxTPRHgcL1732+iqeLno8x87xs+D3lPYcMNfIyjYLx/4NDLSXHx?=
 =?iso-8859-1?Q?tNr9R4HVPwRo1Aa0bEE7z1F0ulwJc0YqJ4jHxGG1jEM6pmAOzZVEZ0MRGO?=
 =?iso-8859-1?Q?GZzHjObEGxtGfxq0ErIxr9qMkBSY5c/DXSuTJ8bLSQSab21ihgNjTniN0w?=
 =?iso-8859-1?Q?atN12ynNreCh5hm9pN8v1+oV3KXhKMr9MYMVV8pa6uKBKgzIT/N2rvzup1?=
 =?iso-8859-1?Q?JPkO89D5d9WDq8nYQ/2aDjTsBjVIu8FjANMr0k11ZVNhRRDzA6lqhoKRut?=
 =?iso-8859-1?Q?/375MUKljK/ReGfNYWCW/f23OJM+Hg2hOGMS9cbQey2f2s/1oAQVIxvxf5?=
 =?iso-8859-1?Q?j+FlbmGmfcNvPHpT5AgX5aEfSgYl1hHfnS0kG9lkdXYzialXcN30DK9EKD?=
 =?iso-8859-1?Q?atMvbQWp7KtAS8nMMUXU9/tmSC1CjH3VlOcXb85pp9NQSqoHwvMugAx9Oq?=
 =?iso-8859-1?Q?VxNS9G43Gx1SSEF2SvWRNDwuKn/Uud5lBs3Qn/x7GKi8wCTARLqZdNHXGS?=
 =?iso-8859-1?Q?wtHq4Gx3Q3CbAY6nGr28vSCe1+oNR0Z5Qa3/1dnjAyBGPFd3VilhvUDJ26?=
 =?iso-8859-1?Q?4VJyW8YdXlP6Edr0eI6X7b5iZmoNm2D/DSen0YlV6BNwO6lbi3DGrcPPfp?=
 =?iso-8859-1?Q?pIBAi5RJj6bcKd7bePnfrEiH+LUWRyeOGZu+tncpLA1G9JqPbRYsdXJMmg?=
 =?iso-8859-1?Q?rcGZiVEbnkxuEkiEh47yyW9x25DZzaQKB6spr0UYnkaVG1vZdRBB5Cg2Bb?=
 =?iso-8859-1?Q?f4o5XiLhLhHU9H32pbD3YPhhATWEplsEE/WPXjACJhAtUhSeFjax2NqzZf?=
 =?iso-8859-1?Q?+c57w26LtBHoNRNOS4+3+YoMn8jQpTqKYYjxTA3sNW1b5GmrISKbY6AV4/?=
 =?iso-8859-1?Q?n6HgPwY/30z95IHw/zrXw8xzJ9KfTBl25nQuKbGoJIrlmdV8+G1HBwL30p?=
 =?iso-8859-1?Q?3K9iqAq53CDY5ar5Hgjf+eaKWq5tncX8J/O5u8QE/c/3+MgufNoCeaMw?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bfc5ee5-722e-4dad-6f68-08dd65a8953c
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Mar 2025 23:08:08.8573
 (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: 69liaeHsV4NZgYMEBZfPbqJYwbrdAzB5G1B6s+XNvdMaNah4MART4ZA2Yn1BCVkA/cDt421XarURE038qxFg3/GBNLYwTpEfddvq//92ECc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8015

A privileged domain can issue XEN_DOMCTL_vm_event_op with
op->domain =3D=3D DOMID_INVALID. In this case vm_event_domctl()
function will get NULL as the first parameter and this will
cause hypervisor panic, as it tries to derefer this pointer.

Fix the issue by checking if valid domain is passed in.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

This issue was found by the xen fuzzer ([1])

[1] https://lore.kernel.org/all/20250315003544.1101488-1-volodymyr_babchuk@=
epam.com/
---
 xen/common/vm_event.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
index fbf1aa0848..a4c233de52 100644
--- a/xen/common/vm_event.c
+++ b/xen/common/vm_event.c
@@ -600,6 +600,13 @@ int vm_event_domctl(struct domain *d, struct xen_domct=
l_vm_event_op *vec)
         return 0;
     }
=20
+    if ( unlikely(!d) )
+    {
+        gdprintk(XENLOG_INFO,
+                 "Tried to do a memory event op on invalid domain\n");
+        return -EINVAL;
+    }
+
     rc =3D xsm_vm_event_control(XSM_PRIV, d, vec->mode, vec->op);
     if ( rc )
         return rc;
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:41:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:41:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918203.1322927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuK4w-0003q7-BF; Mon, 17 Mar 2025 23:41:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918203.1322927; Mon, 17 Mar 2025 23:41: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 1tuK4w-0003q0-8e; Mon, 17 Mar 2025 23:41:06 +0000
Received: by outflank-mailman (input) for mailman id 918203;
 Mon, 17 Mar 2025 23:41: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=kom6=WE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuK4v-0003pu-3g
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:41:05 +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 4947bdc7-0389-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 00:41:02 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso19492005e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 16:41:02 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fdda2dbsm118908895e9.2.2025.03.17.16.41.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 16:41: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: 4947bdc7-0389-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742254862; x=1742859662; 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=hLn+cZWQQQi+D4BK3x1bQ6M40SBT245bCWtzLbfAazA=;
        b=Cl5D+Um3QmEZE7nQJEhu4+8Vud1+5NDdROGHKPQAatJmuD27lD9dFAS+OTsaR0FTAL
         +mquYVcSwBijn7M/h9Y0KtS/R8LfNjp6MK204e0FQzANzaUbb4Yfmq/m0ZdUkRu15EVA
         1xvczi95ABLSzv5GlyjwgDRNEhkto+7tWgYM4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742254862; x=1742859662;
        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=hLn+cZWQQQi+D4BK3x1bQ6M40SBT245bCWtzLbfAazA=;
        b=mtzLSIrdzW8X+yxnDK3HGb6I9w1RxmpHDeNc7pf6tWODltgL54Ct9rWs5Vyre+W8Bw
         pERLVjUmLZSXdpsZ+o8PRYUBSgBESclg/OEPrKCYASDsFHfaMI254QmrVxhfIY4uhQV5
         MGZuRpqdkddPihmyRljra92hxM3mV4jZ8L2UX9iPatwPY8W1/yYiRf0Upf8ENCiOIjlD
         Lel2gRSTU0CqpJQ95JlmwGFTFPdJCOfK3L/+WWMsMuBLdeA+Ausx6Uty4IocnoiBeysh
         Ljl79K9tvUZ8f1GRHT4Ze8KCcIQK8jTlhfM7Wl9/V8zATuet+ZAn3qeOxnO6CelgKx7D
         Gkfw==
X-Forwarded-Encrypted: i=1; AJvYcCXhD8PCUPf3RajbhkDKvVKUOcLbjEtuW8ojjH/qL/76kSggmRzaFprRNCo0/c7zL6+3WsGmHsSDrzg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzuZbbpL1LyPr1Kw+TEPnG10nQgPU4g10UaweJ80pnW3gKRiV29
	8o98iAXY+EFN/cI0FrlAmpZQ7Hd+iOZmdBEdX3kY0rKJksxZsRCCt0zSGKbsews=
X-Gm-Gg: ASbGncucf94edZcGHVzmUofFH+VLL+aq6EIiqtucIkparSnQxhH6TnekJpbpomfBdF1
	o+YMvvbSum7v0S94pEzrb2bVydF4kl3two/yEHGCb4kRv4BtoXY6jwqYBvbHpyfcyDExJsOqJk7
	LatHM+NjN6nQ7Tr8PUxvtjUETVV6Vf/mso1BgJbRElQHoG6RwaAWOMFvZuUq4f0uFTJC++HoQay
	J8EAqt4wy8mzvD9m9jHe5X+HqR6ajU+QRA/NdplYETZ1pwdnjNxzXAjdP1HQIqmtJ/zCWja6Ufj
	gXmKovR5AkkrvBoFzY9tozWuvSUOEETqDFLCZL2CYXWfGHrs6XkqEsKMI+FrBd/ceoHrWEjAIM/
	Qx/IU0SWl
X-Google-Smtp-Source: AGHT+IGjB+frjehLzO9BrlMVgSSE9lT+TasUMLt40aM+ebeJ7gIi+ZDmu4AKKwOMjiFgMV9+Fv18eg==
X-Received: by 2002:a5d:47c5:0:b0:391:39fb:59c8 with SMTP id ffacd0b85a97d-3971dae9542mr16692700f8f.25.1742254861840;
        Mon, 17 Mar 2025 16:41:01 -0700 (PDT)
Message-ID: <497de03e-4dbb-4025-806f-46274d7a7c19@citrix.com>
Date: Mon, 17 Mar 2025 23:40:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: vm_event: do not do vm_event_op for an invalid
 domain
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 =?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>
References: <20250317230806.1179478-1-volodymyr_babchuk@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: <20250317230806.1179478-1-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 11:08 pm, Volodymyr Babchuk wrote:
> A privileged domain can issue XEN_DOMCTL_vm_event_op with
> op->domain == DOMID_INVALID. In this case vm_event_domctl()
> function will get NULL as the first parameter and this will
> cause hypervisor panic, as it tries to derefer this pointer.
>
> Fix the issue by checking if valid domain is passed in.
>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>
> ---
>
> This issue was found by the xen fuzzer ([1])
>
> [1] https://lore.kernel.org/all/20250315003544.1101488-1-volodymyr_babchuk@epam.com/
> ---
>  xen/common/vm_event.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
> index fbf1aa0848..a4c233de52 100644
> --- a/xen/common/vm_event.c
> +++ b/xen/common/vm_event.c
> @@ -600,6 +600,13 @@ int vm_event_domctl(struct domain *d, struct xen_domctl_vm_event_op *vec)
>          return 0;
>      }
>  
> +    if ( unlikely(!d) )
> +    {
> +        gdprintk(XENLOG_INFO,
> +                 "Tried to do a memory event op on invalid domain\n");
> +        return -EINVAL;
> +    }
> +
>      rc = xsm_vm_event_control(XSM_PRIV, d, vec->mode, vec->op);
>      if ( rc )
>          return rc;

Oops.Â  Git blame says this is my fault.

This behaviour is intentional.Â  See XEN_DOMCTL_vm_event_op (along with
test_assign_device and get_domain_state) early in do_domctl().

It was introduced in commit d48e1836074c ("vm_event: Add a new opcode to
get VM_EVENT_INTERFACE_VERSION") so that XEN_VM_EVENT_GET_VERSION could
succeed.

Apparently I deleted it in commit 48b84249459f ("xen/vm-event: Drop
unused u_domctl parameter from vm_event_domctl()"), and that wasn't
intentional.

That will want putting in with an extra comment.

/* All other subops need to target a real domain. */
if ( unlikely(d == NULL) )
Â Â Â  return -ESRCH;

Don't both with a printk().Â  It's just noise, and -ESRCH is correct code
to use.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:48:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918214.1322937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKBn-0004T8-21; Mon, 17 Mar 2025 23:48:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918214.1322937; Mon, 17 Mar 2025 23:48: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 1tuKBm-0004T1-Vl; Mon, 17 Mar 2025 23:48:10 +0000
Received: by outflank-mailman (input) for mailman id 918214;
 Mon, 17 Mar 2025 23:48: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=lyhG=WE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKBm-0004Sv-Ak
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:48:10 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46f686fd-038a-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 00:48:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 6165E5C541B;
 Mon, 17 Mar 2025 23:45:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29BB2C4CEE9;
 Mon, 17 Mar 2025 23:48:06 +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: 46f686fd-038a-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742255286;
	bh=AnAiZgZLe56Nq16Fy9NIrz0FywGDUya3kfUpP1Z+XrQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=t1AipvxdX3wkuXWa5nBuLg+NumzBuQ2LzjvAu9yF6YAkfo6KLaV7fASY/gyQsnlr0
	 J0OK27ZQBPNLr/l2J/A6H3ktitZcYZFLiK17+BGpoNxfqhsirKRDpKqtTCZIp0gZFy
	 Sh/Us7Iqef72LaUGG7Y9pXm6sEfAXOAhIuhGD3elZpnRb6g6ysS+tL8ODldYPEk7LE
	 r0/t4sSDBBLlqGO8CCDXKFwIdIVMPHxx8T7+DzCTgfAC+uBkZartuMQNj+7jF+tOn5
	 jvQTtkyJ4/R5PBQEdFuTrgnv53N8YiCiY9I49DJw04Yw5wBqpu4SxnfZxkSb4RTo5Y
	 l1OVjUcVImu4Q==
Date: Mon, 17 Mar 2025 16:48:05 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 7/8] automation/console.exp: do not assume expect is
 always at /usr/bin/
In-Reply-To: <20250317121616.40687-8-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171647450.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-8-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-660235268-1742255287=:3477110"

  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-660235268-1742255287=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> Instead use env to find the location of expect.
> 
> Additionally do not use the -f flag, as it's only meaningful when passing
> arguments on the command line, which we never do for console.exp.  From the
> expect 5.45.4 man page:
> 
> > The -f flag prefaces a file from which to read commands from.  The flag
> > itself is optional as it is only useful when using the #! notation (see
> > above), so  that other arguments may be supplied on the command line.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Do you have a link to a successful Gitlab and Cirrus CI?

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

> ---
>  automation/scripts/console.exp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/automation/scripts/console.exp b/automation/scripts/console.exp
> index 310543c33e5e..31ce97b91b63 100755
> --- a/automation/scripts/console.exp
> +++ b/automation/scripts/console.exp
> @@ -1,4 +1,4 @@
> -#!/usr/bin/expect -f
> +#!/usr/bin/env expect
>  
>  if {[info exists env(TEST_TIMEOUT_OVERRIDE)]} {
>      set timeout $env(TEST_TIMEOUT_OVERRIDE)
> -- 
> 2.48.1
> 
--8323329-660235268-1742255287=:3477110--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:48:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:48:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918220.1322947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKC9-0004uW-Bm; Mon, 17 Mar 2025 23:48:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918220.1322947; Mon, 17 Mar 2025 23:48: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 1tuKC9-0004uP-8u; Mon, 17 Mar 2025 23:48:33 +0000
Received: by outflank-mailman (input) for mailman id 918220;
 Mon, 17 Mar 2025 23:48: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=lyhG=WE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKC8-0004Sv-5C
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:48:32 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5488920f-038a-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 00:48:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 80D185C574B;
 Mon, 17 Mar 2025 23:46:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1BE6BC4CEE9;
 Mon, 17 Mar 2025 23:48: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: 5488920f-038a-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742255310;
	bh=XHGdtr4C22WJRueWr4qfMm/roEjktfe9zhL31sjobw4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=O/72UvGM8B6/+oz6Agr2pCM5ljzvtm5yXcmVu4n18q7pTfYZkL5l03JB8YY8RLyX6
	 kpAY652iEWnrqqRufWJj9ekK0+jufUCHR2IXE0wW3O41A1wcydN4RJD2oA/XBndRaT
	 YLDV5rgg9sPD+bZVP3R3GkU2xuZ/GIyltEFN7ZwqO6if9xRRQXv9S3tLX+ZL4ocgG6
	 ew/iNIaCRtXWz7wgECdEtc8zBLpUnAXUwPJhd6+oshK6PfY47bR6AatByk7Roy0JP6
	 UrjGJfOUGA+E5quzOfLHEXgvqDYHo33uPggEPY7mFRDi0/a4F8m+ktp8N+iFoOzYHt
	 SeKBwVsn8Ej3g==
Date: Mon, 17 Mar 2025 16:48:28 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH 1/8] automation/cirrus-ci: add timestamps
In-Reply-To: <20250317121616.40687-2-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171648210.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-2-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-631241534-1742255310=:3477110"

  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-631241534-1742255310=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> Such timestamps can still be disabled from the Web UI using a tick box.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

> ---
>  .cirrus.yml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 1a39f5026f9a..aa195ba370ac 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -14,6 +14,7 @@ freebsd_template: &FREEBSD_ENV
>      APPEND_LIB: /usr/local/lib
>      APPEND_INCLUDES: /usr/local/include
>      CIRRUS_CLONE_DEPTH: 1
> +    CIRRUS_LOG_TIMESTAMP: true
>  
>  freebsd_artifacts: &FREEBSD_ARTIFACTS
>    always:
> -- 
> 2.48.1
> 
--8323329-631241534-1742255310=:3477110--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:50:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:50:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918236.1322957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKEK-0007Gc-NI; Mon, 17 Mar 2025 23:50:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918236.1322957; Mon, 17 Mar 2025 23:50: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 1tuKEK-0007GV-KV; Mon, 17 Mar 2025 23:50:48 +0000
Received: by outflank-mailman (input) for mailman id 918236;
 Mon, 17 Mar 2025 23: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=lyhG=WE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKCW-0004j7-To
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:48:56 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b8097cc-038a-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 00:48:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 36BC35C05A4;
 Mon, 17 Mar 2025 23:46:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77956C4CEE9;
 Mon, 17 Mar 2025 23:48:40 +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: 5b8097cc-038a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742255321;
	bh=N8lMHLh4I6dE/jaMrleqckyzjze/Y/o+wsr06kozJw0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=I9BgVT0ja77Odi5G8lFfXO1j8lX0XXCe6+LODgreu+qD37lsPyeY5kIi2q8GBTcRn
	 hlQItzRDUOE5isv8ZTA98or6i9uqaAmvzFJflCgdFPZXZExClolX33GjUX/JFrP7fR
	 udqsBp+WjFj35eH//Sqi3OIslA6Y+wXVLlzBKm4I+xNQjCh0nigSQ4/1fbh8Z18ukt
	 XyrSlvo/fgWTgCTG0RgrBvkHXU2JU2NVTzflvgv9RzZ3acSobDlb4FP1fUDF3Y1NYa
	 iJw3/rm8rMxyIcoMHjw5SJOCjigScwfdcNlsV2QLvgxs9MddZmRQDIKUAQqzJBxt9R
	 pDvqOaXfp4Tow==
Date: Mon, 17 Mar 2025 16:48:39 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH 2/8] automation/cirrus-ci: update FreeBSD to 13.5
In-Reply-To: <20250317121616.40687-3-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171648340.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-3-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1946558123-1742255322=:3477110"

  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-1946558123-1742255322=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

> ---
>  .cirrus.yml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index aa195ba370ac..ce7588b7b6b1 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -1,7 +1,7 @@
>  # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
>  freebsd_13: &FREEBSD_13
>    freebsd_instance:
> -    image_family: freebsd-13-4
> +    image_family: freebsd-13-5
>  freebsd_14: &FREEBSD_14
>    freebsd_instance:
>      image_family: freebsd-14-2
> -- 
> 2.48.1
> 
--8323329-1946558123-1742255322=:3477110--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:50:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918237.1322968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKEN-0007YI-Ul; Mon, 17 Mar 2025 23:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918237.1322968; Mon, 17 Mar 2025 23:50: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 1tuKEN-0007Y7-RN; Mon, 17 Mar 2025 23:50:51 +0000
Received: by outflank-mailman (input) for mailman id 918237;
 Mon, 17 Mar 2025 23:50: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=lyhG=WE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKEM-0007VL-Ne
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:50:50 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a654995e-038a-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 00:50:48 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id B20005C5419;
 Mon, 17 Mar 2025 23:48:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41F2CC4CEE3;
 Mon, 17 Mar 2025 23:50: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: a654995e-038a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742255447;
	bh=zWUDTICe70W3fRvGWberd8WHdQ38WtKznBuujA8Pmu4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mdNnZ59sgtX68f8SjCCUZUwjoDjJH/oB6euiBYWhZbHL4ZwhCCKqeukNAdaKQllRi
	 Yp81zImSAWrljjufwt6QJS6RB/PlD/BZdrQVy9mdviTOVwHnd+83qsbom2GOEU5G2a
	 RLQDIFmYfnECeeGoEDoGqcMnr5eWOOA0X1gGmXqZXAX+d4mOUoTe3Sth12m7OPylXM
	 tJ8oDlcjQoXyC3ZnQ86/C31ilVsb/QVQc785KgVHS5+SlXywmATUNybQ4Wvq19DCY7
	 mFODXYlYUQXt0OfhslbA4RhbHl4onRIi+R4guAGQI+Kyxk7MRr9EywcmDWsh57mybU
	 yd2qXonWRVTgA==
Date: Mon, 17 Mar 2025 16:50:44 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH 3/8] automation/cirrus-ci: store Xen Kconfig before doing
 a build
In-Reply-To: <20250317121616.40687-4-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171649030.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-4-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-767909274-1742255447=:3477110"

  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-767909274-1742255447=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> In case the build fails or gets stuck, store the Kconfig file ahead of
> starting the build.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

--8323329-767909274-1742255447=:3477110--


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:52:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:52:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918272.1322977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKGD-00005h-7t; Mon, 17 Mar 2025 23:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918272.1322977; Mon, 17 Mar 2025 23:52: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 1tuKGD-00005N-5R; Mon, 17 Mar 2025 23:52:45 +0000
Received: by outflank-mailman (input) for mailman id 918272;
 Mon, 17 Mar 2025 23:52: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=r22Q=WE=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1tuKGB-00005A-VR
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:52:43 +0000
Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com
 [136.143.188.12]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8e8b5c2-038a-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 00:52:41 +0100 (CET)
Received: by mx.zohomail.com with SMTPS id 1742255556120804.5923560081613;
 Mon, 17 Mar 2025 16:52:36 -0700 (PDT)
Received: by mail-yw1-f173.google.com with SMTP id
 00721157ae682-6ff1e375a47so44057377b3.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 16:52: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: e8e8b5c2-038a-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; t=1742255557; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=fRr3WRGNwqFML/tS9/jr6+KBoSI2UOGKyWyEX/1BKgUxFoYYtMgyFPlZQgqj2tpuCgl54MszwMbzQv7eRwoz4RKPUO13oxJbzriavwhEsO5499niRfyrHKlMwmc6xrkLBYKh/w4ltnRx0GA3s6CT4WRFNqRQvPsNrzom8Tmmi4Q=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1742255557; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=E+FhAZKJK7JUoUFqBGMTOlH/+yUw1+AycTUDLcEwjSo=; 
	b=Bm8F+GjLFh9JXDto4IqBvf8tECH3bgPRFFIWOoJYeWuZAmF/E3TfFC8133PVbxrdnyRlRL8Bk179lxpyzjNIZadNq1viDga6tpSp5wAWrAbrFL2ZjHIJzhEfhpo79cpMLM3CVuSTDrQ8COCF0QmWUem3U07bIqCSW0xiF5lydbU=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1742255557;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=E+FhAZKJK7JUoUFqBGMTOlH/+yUw1+AycTUDLcEwjSo=;
	b=K5vqQX1X19cCpsAYJpaYSUS7JADzvU8cMglk8xOioils03j7cd/9ibvyH2h8Z9YX
	K27A81JJC+GQwUj9DJPPWJmcoYqy1soIFqwh1SNrEN2oBhyd79GOHsZXaSRd/kwzDDJ
	kAOitHe2DskgBX3CSQliAVkpfy0MmaR0mqY4t7AM=
X-Gm-Message-State: AOJu0YzqatLfvlUwR3VXAcASmBjiht/v+S3RhYDq4RP8ffcU8TNvMAo0
	mwKfW7Yq8WmWttWHm+lTOLkwSOW66fO4zbtujPonSrotKLhrjN9QzXZmvUVb3pCx72gvM5oZOyv
	le91NRcJaL2gUf/Edy3RQmdNPdxQ=
X-Google-Smtp-Source: AGHT+IHcm6EK58GudvWY/JicUEPt8h5M0kVyQuYMP3LFHA3Bxn+Ysleh4gcMHDphT73Xo0MmewfF4j3L3KGqQeaq7Zo=
X-Received: by 2002:a05:690c:4982:b0:6ef:761e:cfc with SMTP id
 00721157ae682-6ff4608f376mr179034287b3.25.1742255555092; Mon, 17 Mar 2025
 16:52:35 -0700 (PDT)
MIME-Version: 1.0
References: <20250317230806.1179478-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250317230806.1179478-1-volodymyr_babchuk@epam.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Mon, 17 Mar 2025 19:51:58 -0400
X-Gmail-Original-Message-ID: <CABfawhkjGAytjnJ8U5vx_baHdxZmpRdPpdwLdUfAa=ujOOvbYQ@mail.gmail.com>
X-Gm-Features: AQ5f1JqpdRg51rf-YO2SYJsWUAoczCzFr7dClWY08kJsu24yrdUpWhJNXl1TWCM
Message-ID: <CABfawhkjGAytjnJ8U5vx_baHdxZmpRdPpdwLdUfAa=ujOOvbYQ@mail.gmail.com>
Subject: Re: [PATCH] xen: vm_event: do not do vm_event_op for an invalid domain
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Mar 17, 2025 at 7:08=E2=80=AFPM Volodymyr Babchuk
<Volodymyr_Babchuk@epam.com> wrote:
>
> A privileged domain can issue XEN_DOMCTL_vm_event_op with
> op->domain =3D=3D DOMID_INVALID. In this case vm_event_domctl()
> function will get NULL as the first parameter and this will
> cause hypervisor panic, as it tries to derefer this pointer.
>
> Fix the issue by checking if valid domain is passed in.
>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>
> ---
>
> This issue was found by the xen fuzzer ([1])
>
> [1] https://lore.kernel.org/all/20250315003544.1101488-1-volodymyr_babchu=
k@epam.com/
> ---
>  xen/common/vm_event.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
> index fbf1aa0848..a4c233de52 100644
> --- a/xen/common/vm_event.c
> +++ b/xen/common/vm_event.c
> @@ -600,6 +600,13 @@ int vm_event_domctl(struct domain *d, struct xen_dom=
ctl_vm_event_op *vec)
>          return 0;
>      }
>
> +    if ( unlikely(!d) )
> +    {
> +        gdprintk(XENLOG_INFO,
> +                 "Tried to do a memory event op on invalid domain\n");

This is not a memory event op?

Tamas


From xen-devel-bounces@lists.xenproject.org Mon Mar 17 23:55:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Mar 2025 23:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918284.1322988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKIy-0000ey-L1; Mon, 17 Mar 2025 23:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918284.1322988; Mon, 17 Mar 2025 23:55: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 1tuKIy-0000er-Ib; Mon, 17 Mar 2025 23:55:36 +0000
Received: by outflank-mailman (input) for mailman id 918284;
 Mon, 17 Mar 2025 23:55: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=lyhG=WE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKIx-0000el-CW
 for xen-devel@lists.xenproject.org; Mon, 17 Mar 2025 23:55:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 507cb39a-038b-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 00:55:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id EAFEE5C5745;
 Mon, 17 Mar 2025 23:53:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0EB9DC4CEE3;
 Mon, 17 Mar 2025 23:55:30 +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: 507cb39a-038b-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742255732;
	bh=nxvOgLFQNm/qPxghnUwDRO9OJmt8WoVNDKrOIg2gUOg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LDGYuav8XG2D0Xc2l3VyyO0rP+M1SgWEIxtzsn+3Dcb2LTWa0/LSsKYbWgLCuhvmv
	 zGybS2GEoMmrOhyWWm6OkOKbVoUqrfB7bd5nPrQ93JGAQO9H/woXkxyU/aMkur714v
	 qXVHWNFsIevxxA11AFDvbsRG7dvt2O186Zb8D+u7QT/WYWLVkTz//sXMkoxBFoY+ln
	 w1vYD/M+NPdTnpNa2dKlSW+NrFaAr+Newh4AIaT6ZuYflmU5WFu9YoUpB5fkNgz1/t
	 Krr3vII2DkT3NHEzX5Q+EL0x37LiNiDM0S58FPulIwidzYcVObXc9Mbpk/clFe8lTa
	 WEA5mYr2M2Fng==
Date: Mon, 17 Mar 2025 16:55:29 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jason Andryuk <jason.andryuk@amd.com>
cc: Jan Beulich <jbeulich@suse.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>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH 15/23] xen/xsm: Add XSM_HW_PRIV
In-Reply-To: <a6bd6175-32fb-4da5-b70d-70e8dabadf66@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503171653220.3477110@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-16-jason.andryuk@amd.com> <095042a0-94c1-4f86-b6df-836a7107efa2@suse.com> <a6bd6175-32fb-4da5-b70d-70e8dabadf66@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 17 Mar 2025, Jason Andryuk wrote:
> On 2025-03-17 10:22, Jan Beulich wrote:
> > On 06.03.2025 23:03, Jason Andryuk wrote:
> > > --- a/xen/include/xsm/dummy.h
> > > +++ b/xen/include/xsm/dummy.h
> > > @@ -95,7 +95,11 @@ static always_inline int xsm_default_action(
> > >               return 0;
> > >           fallthrough;
> > >       case XSM_PRIV:
> > > -        if ( is_control_domain(src) )
> > > +    case XSM_HW_PRIV:
> > > +        if ( is_control_domain(src) && action != XSM_HW_PRIV )
> > > +            return 0;
> > > +        if ( is_hardware_domain(src) &&
> > > +             (action == XSM_HW_PRIV || action == XSM_DM_PRIV) )
> > >               return 0;
> > >           return -EPERM;
> > 
> > Hmm. Isn't DM_PRIV a property applying to the control domain (besides
> > any stub domains), but not the hardware one?
> 
> I ran QEMU in hardware domain to provide devices to a domU.  I thought QEMU
> would better run in hardware domain than control domain.

Leaving stubdoms aside, QEMU has to run in the hardware domain because
the hardware domain is less privileged. QEMU can be attacked or affected
by the guest so it is undesirable to run QEMU in the control domain
which is highly privileged, and considered highly secure / safe.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:01:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:01:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918294.1322998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKOo-0003d4-Qa; Tue, 18 Mar 2025 00:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918294.1322998; Tue, 18 Mar 2025 00: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 1tuKOo-0003cx-Nr; Tue, 18 Mar 2025 00:01:38 +0000
Received: by outflank-mailman (input) for mailman id 918294;
 Tue, 18 Mar 2025 00:01: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=AvL5=WF=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1tuKOn-0003cr-Fu
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:01:37 +0000
Received: from AS8PR03CU001.outbound.protection.outlook.com
 (mail-westeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c201::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 283c1a2d-038c-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 01:01:35 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by AM7PR03MB6402.eurprd03.prod.outlook.com
 (2603:10a6:20b:1b7::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 00:01:32 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 00:01: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: 283c1a2d-038c-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jczmebZFAnbfr6WTzh3wlpQwzQ404fObSTjxBKpiaRO2/4nL1MNzWwVTbZKB6gd4kW2S4oeV4NGnOhfWW5IWHPQWRGGky64WmIX0ynMtdT8ui/s9O1/cqgW/l28eFdiyMhXZ60aoVGk0XaiCMf0kp1j8frNpRFKr70RMkh+0yfXJoWrD8ux2Xqi204kBuwxKjlMTqcEv3cf1fxXZFI8bLjlQq1N6r02zalSV1F4CGbbqZKljfienchZBKJeheY5h0jOEXnOZroNYdaJ72V5j8Fr0RvSCwx4T9Sh0vfNoFX2N8bPYy8MS+sIptXAUOHWPIiNyK7c/635tU5h4ExxQ3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bwg8UilKfhmy8wFwabXdkkalXgLIcgjszTNTiImO1RI=;
 b=hwERyhjiOWXfBK50kW2XKTmFQ//uN3Hz3GDyM97MPYihDYePa9uddpDmZR3alMt5aqycpTrcmFOhbOVBchCGMfevEFRjULR+siPowV/ufxku+GVVuTHEJQqjzSGu8I5XvkXZwGs1eNx5bQHfiT6qZYhVSh3R6SpPN8t/sTM/7IfSvx8VQJR5b6CR2+Xs2PWtZjetHjlWZy/58Ljng5Mxg3ubK12EjiGhDYS9h0R4mKTH7/LF0Dwe1rCZZ1qyE0oIhETBLXykBQ1L80WP/UwxlEndVOTn0W5ehufWfd7ChBc+TGhcZNNqbfj841kdkpN+lLkXLsBhw6dgt37af6OMqg==
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=Bwg8UilKfhmy8wFwabXdkkalXgLIcgjszTNTiImO1RI=;
 b=VEa6kmHwnKyo1AMlpn7ikFyIcFCauPUmfLnOLrXgcUpumSO6th5Q1YW39A0Ee1NwIsprCASo9rvaLSylC6pThgGUOrh8F1I1cJc892YvmghRJPN/mHilGu8XLb/Pha7Cmj9uj0oMI5J0lnV3Mkj0qxPWw0LeEDazVHFthenKThHYk7ehECeaCTjPcS5ewkEWzaQ4Iwvr7EvN2NWKf5BtVOyP/Jjn9T7EVrhAf6Qz88oxofxG3Z4QGsm47wrGp0w7UAJsv9iOYu0tIWU+VAxoom4tB9qZDlVvXN/azl3aQqCX/Rqpvbh7w9CrG8GOEPfKOg9CyYKsfBo0zG8OF8UaOw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Tamas K Lengyel <tamas@tklengyel.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Alexandru Isaila <aisaila@bitdefender.com>, Petre
 Pircalabu <ppircalabu@bitdefender.com>
Subject: Re: [PATCH] xen: vm_event: do not do vm_event_op for an invalid
 domain
Thread-Topic: [PATCH] xen: vm_event: do not do vm_event_op for an invalid
 domain
Thread-Index: AQHbl5FytTUpgHIInUKTmFbOO0oHkQ==
Date: Tue, 18 Mar 2025 00:01:31 +0000
Message-ID: <87senbi4v9.fsf@epam.com>
References: <20250317230806.1179478-1-volodymyr_babchuk@epam.com>
	<CABfawhkjGAytjnJ8U5vx_baHdxZmpRdPpdwLdUfAa=ujOOvbYQ@mail.gmail.com>
In-Reply-To:
 <CABfawhkjGAytjnJ8U5vx_baHdxZmpRdPpdwLdUfAa=ujOOvbYQ@mail.gmail.com>	(Tamas
 K. Lengyel's message of "Mon, 17 Mar 2025 19:51:58 -0400")
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: GV1PR03MB10456:EE_|AM7PR03MB6402:EE_
x-ms-office365-filtering-correlation-id: 53267f55-ac33-4792-be1b-08dd65b00a67
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?MWVhT3c1Nm4rdUZVbExaK1RCWVZBc2ZsUUx3dFdaaElPdStROW1Wek56dzZD?=
 =?utf-8?B?OTRRZ01WZ1J1ZzNrRWZtUjZxeFY2WDN4dGdpYmNVcWZJVUVDaDdPMEdWZWdi?=
 =?utf-8?B?Rk9HU0RDYkZZdi9CTjlYd2dGNHpEV3dpR0hMYkdWaTBzZkM2TmJ1MS8ycUU1?=
 =?utf-8?B?VFBZR0VtOXYyZFA3ajBKOXZ1ZFQyUThIZkxJOU04SXU5ZGxvcjhHOUJZQXNa?=
 =?utf-8?B?TnNVdWlkZUtKWXBpVGF0QWVuOXdTTWlxZytZNTdhay9qN1pFWWRkUTBKU2Va?=
 =?utf-8?B?eWNuaWN3MUJ1UWJQQ1doSWpjUm92Z1R0TDRBZFF6R3F6UVJhTEhtMytzV09F?=
 =?utf-8?B?VmhCMkQxMmtvK1o5dU44YXlZaGdrNXZXcE96RS8xZWEvcGtDZUM5ZDBQM3NY?=
 =?utf-8?B?MUNzUWhLQllKbFR1NWd2emtNbjBYNnNuUC9XZk5SQUFob3NGRXBuWDdDdUla?=
 =?utf-8?B?NmkzSkZ5WERRUHFSNkN1SmVsUkpkZ3ZsNVRqeE0xWXExdldTbXpMRkZwdUlj?=
 =?utf-8?B?Q09PZTc5eGNVbVhBOHZYUFlHekhaSUVadWY5YXJBRHBCK2xNZXAxNUl5S04y?=
 =?utf-8?B?TGY3V3F1aVh1UW5rR3FNQXovdEhIMnJINitDZEhObUxTY3NyajJWd1MxcDFk?=
 =?utf-8?B?NWEvTjExTzRyT0JJVERBY01xZ1U5Q2VwUkNHOHFjbEtVU0F2Y2dNbk9MWGxS?=
 =?utf-8?B?NE03cUZlL3d4WWhhNitEM3hudnV1NVp2S1Y4cGQ1WlE0OEJ2RlNCM3Ewek9W?=
 =?utf-8?B?bUFvb2hJcncvdVlrd0dTREdRaUxGay9CWUdmS2tYRFRPeDcwR3VMd1RLN2VF?=
 =?utf-8?B?cktuemdxSjZ6NGZ5elVOTWRiWEF2RHVuTE5IRWp6MG1vemtHdFdlQkxlM1VX?=
 =?utf-8?B?VnJRU1ZvZ3RhVUxURlFsZ1ZGK0ZCWW8vcmdCbTZSMHNEZjN6amU4TUY0UXZS?=
 =?utf-8?B?MzMwWUF6NmU0MjUyamYrQVVYamJIV0xNVXhvVlNCNWJ5RjdiOFk5MEpsZ3k0?=
 =?utf-8?B?LzZ1b0g1ZDdnSUNYOTQzWGdGTW5xWld3a2xJQ1V4V21xZW5MOWRUTyt0bHFR?=
 =?utf-8?B?NzhUMEQvZ3pqeUxjUjdLK3dpNHNlY2VmK3Z6NEs1b092OW9oenNvaXFRUS9s?=
 =?utf-8?B?bHNCQThrMHpQRFFhUnRqZDBlZ0ZyanQ2TWh3OEtrSnZMRDdlbnlEdG5iMHZF?=
 =?utf-8?B?NTFrcDJ5aDV2S09UQzhrc3Znck5YYSttTFkvSmRMR25oc1pEbkZaMlluMSsw?=
 =?utf-8?B?eVpYbWxZdW9YeGRmQXZnUFphUWZqZjJOd202cnExT3k2THlMU2xZVUt1T1Rj?=
 =?utf-8?B?dWVlay9zd2pjU2JjVE1JN3JEbTFFOWFtK3F1QTQvdEE5cU54ZXlidlk0SStU?=
 =?utf-8?B?U0xtWVNXaUg5Um9INExCZk80Q3hBL2dNbHlvclhxZy9xMnRFRXhORnFlaTh5?=
 =?utf-8?B?M3NzOFFyK1JMUEhhSW5QZ1JJckd6Mm5rK0NNdDRKUGNkdjhyZ1c5K011QXNw?=
 =?utf-8?B?cTJhZUNWK2JJbGdqVEdNZmxCOHpDUURhVWFaYTM0TTJKNmNaTlVxaGE5ZDJk?=
 =?utf-8?B?aHlLaTVENlpnUlF5YStyK3JIaHZrSi9BMUVuMEFhUDVPVkdQUHluR2RpU0FG?=
 =?utf-8?B?bEhVNHlaQUkvYWlsUW5EVVJSbjQ2OElXenVGK05zRi9OeGhGZlBCMzRZN1lO?=
 =?utf-8?B?ajd5YUNpWXV5SkpwdTNnclNmQmlvTUJ6QzQ1ODNFWWlVcDl2bkk3UzA2SE1T?=
 =?utf-8?B?bzh5UlZScHlvUzJmYit2OFcwc2VjemhwN3g0cHpLdzJOU29hQjBiQy8xTU9v?=
 =?utf-8?B?RndudlZEazFTcEtGb09rclRja1dHa2VYSWo2M1RvbmtmRlowTEZ6YnF1eFR5?=
 =?utf-8?B?SllJUnhEVWl3cVVrS3hBdTVOVG5WVkp4ZCtSZDFxZmFiZkdHczBUZTVrT2JE?=
 =?utf-8?Q?8gmMseFPKxX4B2jm1kzP/WkZWNE4Apbl?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VElvS1lsajRNQ1lkS2t4a1d3amx2ajZQbDdjRXlZZ3EwSFRXQlNkRHRTM2Nl?=
 =?utf-8?B?VDJLYmZ2RlhYUW1Hb1g4d1lubzUyR2FJM3hyVzNGTU9PdVhpYXIyZ24xTmNy?=
 =?utf-8?B?eG9oVGFtUWQrODBLVVkwcGR5WEM1TXBZM0VlY3JPZWszOXdRcVNoNWZHUUlZ?=
 =?utf-8?B?Vnh0Qnh4TmNROE9JZEluOWJWTkMrQUJqV1BYV1hKZE5pckNsRnFQWStEN2JS?=
 =?utf-8?B?SXcvVWV2dWg0M1ZleCtLMVhLTklwMmdjU2c3Yy9ERTBNbHdaemVVWktRMHM0?=
 =?utf-8?B?alVUREg3L2RoK1RickhNMUo0YnFpajFoSmxaTUJabVdDVEsrZ21uYjJYclNn?=
 =?utf-8?B?Qys5cjVaYnMzajNPcEFld09EQlZ6Z1h3SEZrMllObEIxV0pKQnN4eUJwOUk2?=
 =?utf-8?B?TE9yVk0yNE9Wd2JtbkVibVNSUU5halp0VU9pdUM4YjlUb2k0STVCTVZLTVYv?=
 =?utf-8?B?Wkw2ZDh0cnJKNU9kOCtwajdzRUxQRU1Lb29FYkdBbVZ6NUNiZy9jTitpRjF5?=
 =?utf-8?B?enJOTzI0T2NFdC8zVW1DRnRpME40UU5Uc0xRRnc0UXN3WENhQ3ZPVUpNdUJl?=
 =?utf-8?B?YnN3SVVueklYeXJmcmwzUHphR1RXYndxbEM5dHJsV0k3QzNsckVZWlNOaTl6?=
 =?utf-8?B?NU12SWJBcGZTMER1V1RDSzIzSXRBN1NVaVY4aWtDeVBwdm5WSkQ5b1VzbE1w?=
 =?utf-8?B?OExteS94c01QVVdYRGNmZDhBY3Iyd1RTS1oyR0F0ZmdGQ21HWEZ2azR5NExI?=
 =?utf-8?B?TytJaTcvK3N4YXlnQjdIdW0wUEFVczFRRmF2NGQvZUNIcXZDUHFweXJKVkJx?=
 =?utf-8?B?VVVaZ1BsRGowbFJjdE91TTY2T0ZGRllGcm5IdndNVVgrbkhQeGE2TU5nSURQ?=
 =?utf-8?B?RGNhdWg4OUozVGt4SS9NdTB2dWNHeWtIZzFNVHhBV1Vqb29EK2hWd0ZFWml3?=
 =?utf-8?B?Z1hzMGcwWFdzdzQrQUN1UWVkbFM5WWZqcVFESUdMVVJXYnh1ekJhRTg4Mndl?=
 =?utf-8?B?d0VySks5M3l5YW1lUFAwZ2FwZVlRcGd1QThPK1ZEemtVcE1ZYnI2bFF5TlZ1?=
 =?utf-8?B?SHUzd2lMV0xoNnQyK0lBU0M1Z0wrOHFPUVYwRjVNNHRETHJ2SGI5Ui9sTURM?=
 =?utf-8?B?N3QvT3dVNmYrUzJMNDRSWDh1Um4zdExNZ3NDRFVoQTlXbU8zL3FUeCtKeFNy?=
 =?utf-8?B?SXFPUm53ZkFySlhaZlEwNnd4MVF2UlNHaExqUmwzN3pvMldReUJsT0YyeUti?=
 =?utf-8?B?R2pGYmpLc0FqaXExYjFMS3pIdE1oS3lPaUN0M0lCK2lqTTNoSUticlJ1Znlu?=
 =?utf-8?B?YlF1QU8xSDFicUFFVmFERmhGYVNJM2FKRmcyUFJybXFuVUwycDEwS1F0LzJB?=
 =?utf-8?B?eTRPK25HOFlLSTVwb1BwdUpPRS81ZU5KZldWamxDM3ZNUUJlaWNsYnJJeG1W?=
 =?utf-8?B?WENsZ0ROWDRobGNEdmNWbEc3OUZmMkhuT1NQdkFtaVF6T0lEWHkxWDZGdFh1?=
 =?utf-8?B?VGRyZ3ErYnZOenp6bDN6QVlyaEJrL1cxVUhkWEhFd2RvTGdnR3lSWEFOay95?=
 =?utf-8?B?SFpwRmk1b1Zaa1FXbTE5eG5PYXg0SXlYOE9yRThxWUdzam5oNFJBYk54LzM2?=
 =?utf-8?B?aExKR1E1Z3JHcXJKMm9YYTVXOWRsaFA0b2dHZDB0SVBWaG9LOGVLTWhsVGM0?=
 =?utf-8?B?cldwYzNKN0JXeVJYVFhFYU10ZDluNDRXU1h5YVJoS3lZaHVTNEhjdWxyVEd3?=
 =?utf-8?B?Mnk3OVB6MXhUSFByWlVvanV0M29rMjdYY3hPQnNOMEZtK0tEaHlIcUxoYkUv?=
 =?utf-8?B?TzhHT3gvbFJRN0x0MUZJa1BvYTQ0V3hBM1Y4OEJZbGxtaS9nV0MxZjBMR3VM?=
 =?utf-8?B?MVh3K3pEVVJTdUovMHhIRnRFSDJaWnh3STlhcXRuTnYyVTZxMlYzZC9NQVgy?=
 =?utf-8?B?VmR3N0V5MW9UZFFIZzQyeHBDNVRIWEhQMndKMEowUTBPaXBQelk5UHFiSjFm?=
 =?utf-8?B?RUNobk5KZzB4WFYxZkh2MTJTRXcxakpXTWdBWWV3RTVnSHk0OFBESlVZWlJP?=
 =?utf-8?B?QWRlMnNLeVUxSjNVdkxrazRHQjNPZC83T205cnRRMEMvL3RIemVMYzNjSEJW?=
 =?utf-8?B?bEE2VkVaSVhWMm1YVnpFK253MjRqWmtUa0xPeXE3aHkrcWFCRnJyQ1ZDNFd4?=
 =?utf-8?B?Nnc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <970527DA4693C647922466C95F6B70C7@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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53267f55-ac33-4792-be1b-08dd65b00a67
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 00:01:31.9151
 (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: siFdzQDwHCAvWDmRgB4lvIUthTEWNRjX+QmsG2ZGAPmC2noI5ucNFKWfSzgrpj/IzX/tDXsnlKukHlD7JHPYtZtL5R0hKbQdjSwHxBWBjQo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6402

SGkgVGFtYXMsDQoNCg0KVGFtYXMgSyBMZW5neWVsIDx0YW1hc0B0a2xlbmd5ZWwuY29tPiB3cml0
ZXM6DQoNCj4gT24gTW9uLCBNYXIgMTcsIDIwMjUgYXQgNzowOOKAr1BNIFZvbG9keW15ciBCYWJj
aHVrDQo+IDxWb2xvZHlteXJfQmFiY2h1a0BlcGFtLmNvbT4gd3JvdGU6DQo+Pg0KPj4gQSBwcml2
aWxlZ2VkIGRvbWFpbiBjYW4gaXNzdWUgWEVOX0RPTUNUTF92bV9ldmVudF9vcCB3aXRoDQo+PiBv
cC0+ZG9tYWluID09IERPTUlEX0lOVkFMSUQuIEluIHRoaXMgY2FzZSB2bV9ldmVudF9kb21jdGwo
KQ0KPj4gZnVuY3Rpb24gd2lsbCBnZXQgTlVMTCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyIGFuZCB0
aGlzIHdpbGwNCj4+IGNhdXNlIGh5cGVydmlzb3IgcGFuaWMsIGFzIGl0IHRyaWVzIHRvIGRlcmVm
ZXIgdGhpcyBwb2ludGVyLg0KPj4NCj4+IEZpeCB0aGUgaXNzdWUgYnkgY2hlY2tpbmcgaWYgdmFs
aWQgZG9tYWluIGlzIHBhc3NlZCBpbi4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBWb2xvZHlteXIg
QmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb20+DQo+Pg0KPj4gLS0tDQo+Pg0KPj4g
VGhpcyBpc3N1ZSB3YXMgZm91bmQgYnkgdGhlIHhlbiBmdXp6ZXIgKFsxXSkNCj4+DQo+PiBbMV0g
aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjUwMzE1MDAzNTQ0LjExMDE0ODgtMS12b2xv
ZHlteXJfYmFiY2h1a0BlcGFtLmNvbS8NCj4+IC0tLQ0KPj4gIHhlbi9jb21tb24vdm1fZXZlbnQu
YyB8IDcgKysrKysrKw0KPj4gIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykNCj4+DQo+
PiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi92bV9ldmVudC5jIGIveGVuL2NvbW1vbi92bV9ldmVu
dC5jDQo+PiBpbmRleCBmYmYxYWEwODQ4Li5hNGMyMzNkZTUyIDEwMDY0NA0KPj4gLS0tIGEveGVu
L2NvbW1vbi92bV9ldmVudC5jDQo+PiArKysgYi94ZW4vY29tbW9uL3ZtX2V2ZW50LmMNCj4+IEBA
IC02MDAsNiArNjAwLDEzIEBAIGludCB2bV9ldmVudF9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwg
c3RydWN0IHhlbl9kb21jdGxfdm1fZXZlbnRfb3AgKnZlYykNCj4+ICAgICAgICAgIHJldHVybiAw
Ow0KPj4gICAgICB9DQo+Pg0KPj4gKyAgICBpZiAoIHVubGlrZWx5KCFkKSApDQo+PiArICAgIHsN
Cj4+ICsgICAgICAgIGdkcHJpbnRrKFhFTkxPR19JTkZPLA0KPj4gKyAgICAgICAgICAgICAgICAg
IlRyaWVkIHRvIGRvIGEgbWVtb3J5IGV2ZW50IG9wIG9uIGludmFsaWQgZG9tYWluXG4iKTsNCj4N
Cj4gVGhpcyBpcyBub3QgYSBtZW1vcnkgZXZlbnQgb3A/DQoNCk9oLCB0aGlzIGlzIGdvb2QgY2F0
Y2guIEkgYWJzZW50IG1pbmRlZGx5IGNvcGllZCBhbiBlcnJvciBtZXNzYWdlIGZyb20gYQ0KY291
cGxlIG9mIGxpbmVzIGJlbG93LiBMb29rcyBsaWtlIHdlIG5lZWQgYW5vdGhlciBwYXRjaCB0aGF0
IGZpeGVzIGVycm9yDQptZXNzYWdlcy4NCg0KDQotLQ0KV0JSLCBWb2xvZHlteXINCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:06:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:06:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918311.1323007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKTd-0004UZ-Fu; Tue, 18 Mar 2025 00:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918311.1323007; Tue, 18 Mar 2025 00: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 1tuKTd-0004US-DJ; Tue, 18 Mar 2025 00:06:37 +0000
Received: by outflank-mailman (input) for mailman id 918311;
 Tue, 18 Mar 2025 00: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKTc-0004UM-Mk
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:06:36 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d561cae0-038c-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 01:06:26 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id E6598A48E30;
 Tue, 18 Mar 2025 00:00:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F608C4CEE3;
 Tue, 18 Mar 2025 00:06:24 +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: d561cae0-038c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742256385;
	bh=Ss4p9k+hIsXzdpN0XdiI+1tMdzmFb4MLsBgNAMuryvQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Tku3bERldeFRpVTgfE/FYpdYfewdf9cj8Nraldoq+xixM99xSGokkTS1MmrbsO5t7
	 yP2/cp/GBA1aux/6UgKB+mZIg0gy8cql8NrNrgR7OOZHDsezQsDYjiNyI2UObyloV8
	 fmWlzIhBLFzGGgAQw/u1XURI1nORzVpuwVimfa82ax/hb9CjWBBzgOWmkp2c62D3eo
	 I09qCRYN4y01k1SAdYwtMeabfjTDq6oY4ecIAv7DLsCM3xjcC9namBEu7/QJ2dPQI4
	 x5CmGSZPTK3N+kTuXOLxi/DzXIOo4txzgx+X4kSQJYmgQe3oHUdpJsYpdyLylINk9y
	 sF9XjoILbaA5A==
Date: Mon, 17 Mar 2025 17:06:23 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH 4/8] automation/cirrus-ci: use matrix keyword to generate
 per-version build tasks
In-Reply-To: <20250317121616.40687-5-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171704220.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-5-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1240015680-1742256385=:3477110"

  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-1240015680-1742256385=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> Move the current logic to use the matrix keyword to generate a task for
> each version of FreeBSD we want to build Xen on.  The matrix keyword
> however cannot be used in YAML aliases, so it needs to be explicitly used
> inside of each task, which creates a bit of duplication.  At least abstract
> the FreeBSD minor version numbers to avoid repetition of image names.
> 
> Note that the full build uses matrix over an env variable instead of using
> it directly in image_family.  This is so that the alias can also be set
> based on the FreeBSD version, in preparation for adding further tasks that
> will depend on the full build having finished.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
> I could alternatively name FREEBSD_15 FREEBSD_CURRENT or FREEBSD_HEAD or
> something versionless, however I don't know about the other versions.
> 
> Assuming there will only be 3 versions tested at all times I could use:
> FREEBSD_HEAD, FREEBSD_PRODUCTION and FREEBSD_LEGACY, as to avoid having to
> specify versions in the task definitions.

I think it is OK but I'll leave it to others to comment as well

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

--8323329-1240015680-1742256385=:3477110--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:07:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918320.1323018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKUR-00050y-OJ; Tue, 18 Mar 2025 00:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918320.1323018; Tue, 18 Mar 2025 00: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 1tuKUR-00050r-Ld; Tue, 18 Mar 2025 00:07:27 +0000
Received: by outflank-mailman (input) for mailman id 918320;
 Tue, 18 Mar 2025 00: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKUQ-0004UM-V8
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:07:26 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f87ff8b4-038c-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 01:07:25 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id F0960A48E2A;
 Tue, 18 Mar 2025 00:01:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47C4BC4CEE3;
 Tue, 18 Mar 2025 00:07:23 +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: f87ff8b4-038c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742256444;
	bh=IkNf/7jFibqBs98R00JvpkiTS3lC5OYbU4V/hDzdXdg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cKb5nXtrBi/pSCxGVCMbqyyaWf1YSyOQMtIL9npDuTI3wflKlBBvOCDzqNVfA+l4e
	 jR8bAqYixLqGJdHRQnFjuAp+j/oztuKM4I9OP/eMMobxKE3n6F1CRkTl7fq49JeepR
	 SJQUqMr/ZFMYsFjBZjkXx1wnds9RSWuv6TFz/ZS2h4v72ocoeRiihQzxWOYG+vRK9n
	 RJJRK55CtvEBNYDumEN5OClC6sryhW0Sok/+3dbbblpyJ6BzrsU9g7bW2HMnf1uAYV
	 CvklrWpUXbIs/gCaqqap2Fhw/KZdejSRIgvjZib8xf7YYl1IFGDuuhHhmXuQAjvgWd
	 YeXPN6n3RXGUQ==
Date: Mon, 17 Mar 2025 17:07:22 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH 5/8] automation/cirrus-ci: build XTF
In-Reply-To: <20250317121616.40687-6-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171706570.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-6-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1804076220-1742256444=:3477110"

  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-1804076220-1742256444=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> In preparation for using the XTF selftests to smoke test the FreeBSD based
> Xen builds.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
> I've used the current version of FreeBSD to build XTF, but it might be
> safer to use the latest production (release) version instead.

Yes, I think so, especially as the latest is a rolling distro?


> ---
>  .cirrus.yml | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index bda4dbe86a7c..d8a322acd54c 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -12,6 +12,12 @@ freebsd_template: &FREEBSD_ENV
>      CIRRUS_CLONE_DEPTH: 1
>      CIRRUS_LOG_TIMESTAMP: true
>  
> +freebsd_template_latest: &FREEBSD_ENV_LATEST
> +  << : *FREEBSD_VERSIONS
> +  freebsd_instance:
> +    image_family: $FREEBSD_15
> +  << : *FREEBSD_ENV
> +
>  freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
>    always:
>      rename_script:
> @@ -82,3 +88,21 @@ task:
>  
>    build_script:
>      - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
> +
> +task:
> +  name: 'FreeBSD: XTF build'
> +  alias: xtf
> +
> +  << : *FREEBSD_ENV_LATEST
> +
> +  clone_script:
> +    - pkg install -y git
> +    - git clone --depth 1 https://xenbits.xen.org/git-http/xtf.git
> +
> +  install_script: pkg install -y gmake
> +
> +  build_script:
> +    - cd xtf
> +    - cc --version
> +    - git rev-parse HEAD
> +    - gmake -j`sysctl -n hw.ncpu` LLVM=y
> -- 
> 2.48.1
> 
--8323329-1804076220-1742256444=:3477110--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:07:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918330.1323028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKUt-0005W9-0j; Tue, 18 Mar 2025 00:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918330.1323028; Tue, 18 Mar 2025 00:07: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 1tuKUs-0005W2-TC; Tue, 18 Mar 2025 00:07:54 +0000
Received: by outflank-mailman (input) for mailman id 918330;
 Tue, 18 Mar 2025 00:07: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKUr-0004UM-Pj
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:07:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0843b888-038d-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 01:07:52 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id B55AA5C4C99;
 Tue, 18 Mar 2025 00:05:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E639C4CEE3;
 Tue, 18 Mar 2025 00:07: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: 0843b888-038d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742256470;
	bh=XgvzmOQZwGqLHE9uHOqssSJSYDFvLoYi80pJox50fSg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=r6a7d2Amr/JPQqKSLab9YrHW/LAAhoY6sbTCehIhYWkSJ3hEfYaJKr3p8oLvmJfRj
	 9vywY4188Gc680R8ZnpLro/RfUr2nfFFy4rwTxDiGDO4ZHl26r0HOibRhhXbF4cVMM
	 6H4x2RzKie/4wrFCRQkgqLSNQbNiXmsSRA+ngjNtScLj8G/xo3dPxHeSuKcm9T436y
	 ZqsaAkxlfM1Q/Z1okMAAFX6AhW6frgdgVakenfVjcGSChCj9LlFMJD/S6NTvBo/AtX
	 +HzaxiJHocXk2YyH0Q92OZDo1YFdR0bP6YWZepfgPEUFK99ubQOTC8qK1bIdVKEQ2/
	 98uXkOkfByz1Q==
Date: Mon, 17 Mar 2025 17:07:48 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH 6/8] automation/cirrus-ci: store XTF and Xen build
 artifacts
In-Reply-To: <20250317121616.40687-7-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171707410.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-7-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-443327160-1742256470=:3477110"

  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-443327160-1742256470=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> In preparation for adding some smoke tests that will consume those outputs.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-443327160-1742256470=:3477110--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:09:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:09:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918341.1323038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKWT-00068N-Bc; Tue, 18 Mar 2025 00:09:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918341.1323038; Tue, 18 Mar 2025 00:09: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 1tuKWT-00068G-7m; Tue, 18 Mar 2025 00:09:33 +0000
Received: by outflank-mailman (input) for mailman id 918341;
 Tue, 18 Mar 2025 00:09: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKWR-000685-Sz
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:09:31 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42a05864-038d-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 01:09:30 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id EED2A5C48BA;
 Tue, 18 Mar 2025 00:07:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1AFBAC4CEE3;
 Tue, 18 Mar 2025 00:09:26 +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: 42a05864-038d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742256568;
	bh=XSiGQTl7qDwatIW9lJqoI4yJ+tghuB/+Ib4zMgSzoMc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LznNlD5Upd9Z0PzPowCBr6+hcLSR+ParQ9TaFJy7IzJFsq5qj1BiUePC8A/MhAGZ7
	 j088Nngl5AoK5gOPX0pzK+RSHZ2MBTuQeF3mGiLBnL0vYfcRRxKFz4UBSWJkQqTXAX
	 jBGGm22pTRrEB/pJ/uRe/rk9IGPPwEZfcreJgHsPkKhYNMcvmVBBEl7+NldMTZM3pP
	 Lg2DT227kE6TnZKGrC5WfvNA6P+x0smFEYnnPUkTyPpVtw8J7x7h7LhusD8jTrOvCg
	 VYclBzfROFV5prtHkB7NV7Mpr07c2vnYdH7sCx99a1C++Hjo8kB+kC2D7VYf9r3SoR
	 mkg52y6raxgNA==
Date: Mon, 17 Mar 2025 17:09:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Community Manager <community.manager@xenproject.org>
Subject: Re: [PATCH 8/8] automation/cirrus-ci: add smoke tests for the FreeBSD
 builds
In-Reply-To: <20250317121616.40687-9-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503171708070.3477110@ubuntu-linux-20-04-desktop>
References: <20250317121616.40687-1-roger.pau@citrix.com> <20250317121616.40687-9-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1309898574-1742256568=:3477110"

  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-1309898574-1742256568=:3477110
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> Introduce a basic set of smoke tests using the XTF selftest image, and run
> them on QEMU.  Use the matrix keyword to create a different task for each
> XTF flavor on each FreeBSD build.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
> I've used the current version of FreeBSD to run the tests, but it might be
> safer to use the latest production (release) version instead.

It is better to avoid using "current" (I called it "latest" in my
previous email) if it is rolling. Otherwise, it is OK.

Other than that, it is great.

--8323329-1309898574-1742256568=:3477110--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:13:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:13:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918351.1323048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKaN-0000d5-Ph; Tue, 18 Mar 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 918351.1323048; Tue, 18 Mar 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 1tuKaN-0000cy-N1; Tue, 18 Mar 2025 00:13:35 +0000
Received: by outflank-mailman (input) for mailman id 918351;
 Tue, 18 Mar 2025 00:13: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKaM-0000cq-6w
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:13:34 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d305f0d4-038d-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 01:13:32 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0F2615C5762;
 Tue, 18 Mar 2025 00:11:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 030F0C4CEE3;
 Tue, 18 Mar 2025 00: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: d305f0d4-038d-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742256810;
	bh=7P+Vt/vYOKqdO0/1MoQUt9WdgDElQAobc48tQyHct5Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=O/YHd/OuWJ1aTyBh3Ds/+0OFaDB/paz0haZQMIs8RSVwZJ3ya1T2yQe4yIxxvKec+
	 hGfmiyVrW0e/xj54eN15igmgJAq0TjEkCgmvZHWQTQ1YGjbnuZ4K6q5kPcqJ/YgrgD
	 fSP+ZFA6YJvzpL/qFPKBGpx8HQyvd1Vt0Es/hI9NbfeCn6ikOQuOwCH8gHQiHou5Jf
	 eTttjQpmveLuCbp4iZXEhhBocMzr1S4CwIK5iFFSC0u2t2BCP9R2cFXD3Q4QBSUJF5
	 XPNEkdW5npAgOoEIW00TsKRM0fQGn0EegXWW+vkGsrER8Gx5e5/NZ5dq10/3ySzhoi
	 ehxbPaOzmv7BQ==
Date: Mon, 17 Mar 2025 17:13:29 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Grygorii Strashko <grygorii_strashko@epam.com>
cc: xen-devel@lists.xenproject.org, Michal Orzel <michal.orzel@amd.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [ImageBuilder][PATCH] uboot-script-gen: add debug option to
 print final dt "chosen" node
In-Reply-To: <0c399cdc-7a89-4482-a7fe-780da9ad6ca2@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503171713220.3477110@ubuntu-linux-20-04-desktop>
References: <0c399cdc-7a89-4482-a7fe-780da9ad6ca2@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 17 Mar 2025, Grygorii Strashko wrote:
> Add debug DBG_FDT_PRINT_CHOSEN config file option which adds
> print of DT "chosen" node at the end of generated U-boot script.
> 
> This is useful for debug and development purposes.
> 
> Example:
>   ...
>   setenv fdt_high 0xffffffffffffffff
>   fdt print /chosen
>   booti 0x43000000 - 0x43200000
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

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

> ---
>  README.md                | 8 ++++++++
>  scripts/uboot-script-gen | 5 +++++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/README.md b/README.md
> index 4ba430ce74c5..5b75018ea956 100644
> --- a/README.md
> +++ b/README.md
> @@ -396,3 +396,11 @@ disk\_image supports these additional parameters on the
> config file:
>  disk_image also generates on the fly a xl config file for each domU and
>  adds them to the dom0 rootfs partition under /etc/xen. It makes it
>  easier to start those domUs from dom0.
> +
> +
> +## Debug
> +
> +This section defines config file debug options
> +
> +- DBG_FDT_PRINT_CHOSEN specifies that U-Boot script command to print DT
> "chosen"
> +  node will be added to the boot script.
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index 0607542b1872..74e3b076910c 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -1357,6 +1357,11 @@ device_tree_editing $device_tree_addr
>  # disable device tree reloation
>  echo "setenv fdt_high 0xffffffffffffffff" >> $UBOOT_SOURCE
>  +if test "$DBG_FDT_PRINT_CHOSEN"
> +then
> +    echo "fdt print /chosen" >> $UBOOT_SOURCE
> +fi
> +
>  # append extra u-boot commands (fixups) to script before boot command
>  if test "$APPEND_EXTRA_CMDS"
>  then
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:24:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:24:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918362.1323057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKkx-0003iG-O6; Tue, 18 Mar 2025 00:24:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918362.1323057; Tue, 18 Mar 2025 00:24: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 1tuKkx-0003i9-La; Tue, 18 Mar 2025 00:24:31 +0000
Received: by outflank-mailman (input) for mailman id 918362;
 Tue, 18 Mar 2025 00:24: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tuKkw-0003i1-Lb
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:24:30 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a189994-038f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 01:24:28 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 32D39A48E39;
 Tue, 18 Mar 2025 00:18:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2621C4CEE3;
 Tue, 18 Mar 2025 00:24: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: 5a189994-038f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742257466;
	bh=vNwctSOoZVtWHlheg6s31GNG/WsQzY/MUc8VlzhdwFo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=s3L4t1uNCqNlnAmfF3jnn6TKQleL9jBNyt4c0wKa3P+8jEFPipCGgsYhDihlRWCMe
	 g6MUd/aRcw4oZCBwcolYLAq+7yL5TN9Aa+k6+ysphCwgIG1czQjGCpO7wrK1e82A7w
	 99Die8V2fmzYGXiGoQN3qWcPoSP4ohH7kmFdu/0W84m/kaG67rTgvYkr9I5hyI1TWx
	 G2TFd7NM3mC3CcDLov9FQoxYn68SD4N7H67vmpHv52fYXC+kIO+OogXNQHyxpq5jNi
	 GWE7s0hQaCf6ivggomItVQXR1bVoUkCz7E3mH3gDLwn1mcauRaTFa4UWmCIN+Un3Jn
	 0O2UFNyHoYCBw==
Date: Mon, 17 Mar 2025 17:24:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: gragst.linux@gmail.com
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [ImageBuilder][PATCH] uboot-script-gen: add ability to cfg vcpu
 hard affinity
In-Reply-To: <20250317141909.2502496-1-grygorii_strashko@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503171723440.3477110@ubuntu-linux-20-04-desktop>
References: <20250317141909.2502496-1-grygorii_strashko@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 17 Mar 2025, gragst.linux@gmail.com wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Add DOMU_VCPU_HARD_AFFINITY[number,vcpu] configuration file string option
> specifying the hard affinity configuration for the VM vCPU(vcpu) in DT.
> 
> The format is a comma-separated list of pCPUs or ranges of pCPUs. Ranges
> are hyphen-separated intervals (such as 0-4) and are inclusive on both
> sides. The numbers refer to logical pCPU ids.
> 
> For example:
> DOMU_VCPUS[0]="2"
> DOMU_VCPU_HARD_AFFINITY[0,0]="1"
> 
> will be reflected in domU0/vcpu0 DT node with "hard-affinity" set:
> vcpu0 {
> 	hard-affinity = "1";
> 	id = <0x00000000>;
> 	compatible = "xen,vcpu";
> };
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
>  README.md                | 11 +++++++++++
>  scripts/uboot-script-gen |  4 ++++
>  scripts/xen_dt_domu      | 39 +++++++++++++++++++++++++++++++++++++++
>  3 files changed, 54 insertions(+)
>  create mode 100644 scripts/xen_dt_domu
> 
> diff --git a/README.md b/README.md
> index 5b75018ea956..262022c665be 100644
> --- a/README.md
> +++ b/README.md
> @@ -186,6 +186,17 @@ Where:
>  
>  - DOMU_VCPUS[number] is the number of vcpus for the VM, default 1
>  
> +- DOMU_VCPU_HARD_AFFINITY[number,vcpu] optional, is the A string
> +  specifying the hard affinity configuration for the VM vCPU(vcpu):
> +  a comma-separated list of pCPUs or ranges of pCPUs is used.
> +  Ranges are hyphen-separated intervals (such as `0-4`) and are inclusive
> +  on both sides. The numbers refer to logical pCPU ids. Below is an example:
> +```
> +      DOMU_VCPUS[number]=2
> +      DOMU_VCPU_HARD_AFFINITY[number,0]="0-2"
> +      DOMU_VCPU_HARD_AFFINITY[number,1]="3"
> +```
> +
>  - 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 74e3b076910c..9229f9af567b 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -392,6 +392,8 @@ function xen_device_tree_editing()
>              dt_set "/chosen/domU$i" "colors" "hex" "$(printf "0x%x" $bitcolors)"
>          fi
>  
> +        xen_dt_domu_add_vcpu_nodes "/chosen/domU$i" $i ${DOMU_VCPUS[$i]}
> +
>          add_device_tree_kernel "/chosen/domU$i" ${domU_kernel_addr[$i]} ${domU_kernel_size[$i]} "${DOMU_CMD[$i]}"
>          if test "${domU_ramdisk_addr[$i]}"
>          then
> @@ -1164,10 +1166,12 @@ fi
>  
>  check_depends
>  
> +declare -A DOMU_VCPU_HARD_AFFINITY
>  source "$cfg_file"
>  
>  SCRIPT_PATH=$(dirname "$0")
>  source "$SCRIPT_PATH/common"
> +source "$SCRIPT_PATH/xen_dt_domu"
>  
>  # command line overrides
>  LOAD_CMD=${load_opt:-$LOAD_CMD}
> diff --git a/scripts/xen_dt_domu b/scripts/xen_dt_domu
> new file mode 100644
> index 000000000000..e1cb2376c37e
> --- /dev/null
> +++ b/scripts/xen_dt_domu
> @@ -0,0 +1,39 @@
> +#!/bin/bash
> +
> +# uses:
> +# DOMU_VCPU_HARD_AFFINITY
> +function xen_dt_domu_add_vcpu_nodes()
> +{
> +    # $1 - dt path
> +    local path=$1
> +    # $2 - domain number
> +    local dom_num=$2
> +    # $3 - number of vcpus for the domain
> +    local vcpus=$3
> +    local hard_affinity=""
> +    local gen_vcpu=""
> +
> +    for (( vcpu=0; vcpu<${vcpus}; vcpu++ ))
> +    do
> +        gen_vcpu=""
> +        if test "${DOMU_VCPU_HARD_AFFINITY[$dom_num,$vcpu]}"
> +        then
> +            hard_affinity=${DOMU_VCPU_HARD_AFFINITY[$dom_num,$vcpu]}
> +            gen_vcpu="1"
> +        fi
> +
> +        if test -z $gen_vcpu

I would prefer to use quotes ("$gen_vcpu")


> +        then
> +            continue
> +        fi
> +
> +        dt_mknode "${path}" "vcpu$vcpu"
> +        dt_set "${path}/vcpu$vcpu" "compatible" "str_a" "xen,vcpu"
> +        dt_set "${path}/vcpu$vcpu" "id" "int"  "$vcpu"
> +
> +        if test -n $hard_affinity

also here. I'll fix it on commit


> +        then
> +            dt_set "${path}/vcpu$vcpu" "hard-affinity" "str" "$hard_affinity"
> +        fi
> +    done
> +}
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:35:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:35:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918373.1323068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuKvf-0006O5-Lm; Tue, 18 Mar 2025 00:35:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918373.1323068; Tue, 18 Mar 2025 00:35: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 1tuKvf-0006Ny-Iy; Tue, 18 Mar 2025 00:35:35 +0000
Received: by outflank-mailman (input) for mailman id 918373;
 Tue, 18 Mar 2025 00:35: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuKve-0006Ns-Ve
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:35:35 +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 e420325e-0390-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 01:35:28 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso19341115e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 17:35:28 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb318aa1sm16936875f8f.64.2025.03.17.17.35.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 17:35: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: e420325e-0390-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742258128; x=1742862928; 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=0CWsgzYiVl0nbp0v3mUtB2WMNFcPU8v6pDNMTlhXAn0=;
        b=YONiZ3XoJ6rGl8Byr2uZAHy3sbQH9rB0XvGKYfAoxliTKLpYoGffVtNASer2ZS9dMJ
         tuplbaUMsyCODwB3DZ4GXgK0+iFdR7HO3Lhg3OhkctgxnZFzyeyd98PECqY/esfSEi3v
         tL/zNnTnKlPkOt82Fenp62eM61STkzHGAaaqM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742258128; x=1742862928;
        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=0CWsgzYiVl0nbp0v3mUtB2WMNFcPU8v6pDNMTlhXAn0=;
        b=i+MRl4/NuQz/R+P2JgsoRIfTzDyWlrSK9enL64prc+NdO+LysPSX7XOvn9nyaAUHvg
         9rSuwfKuFVHj+v/DQtXEc1z2lzrGxyi9drKhLPdTzYh8cFhL5Ps2+dKDhVIKGCDK4Rs4
         Uty7PDPfDpyjukAOeyF8H1QT2eMsDnRQBprKVYw8FegzRugZ58ch0MO8SaKi/OkSUurF
         mzeweT9iQAjwq0jTpe0qqUWmrv5xbYNCszZ6P4iPD395+QKQ/euco/ILe1uwLM/hzZ8h
         Q4SVKgzY8/n30b22IjL4bz6qWFNj4wk8wfkV5KAbP1akTKNEmJEcGXgg4nEe6gYRqtQ5
         yOGQ==
X-Forwarded-Encrypted: i=1; AJvYcCWJLZ+nn35rcBglCGvrzZouClYgN1rHmb+y1dItfBTf9uSAxGWpp4cKGadpV4epUK2mGcIwptGCHcA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwohFZhf2GyG5Azl4rm5MhzgJgQ+njU8etdN0UMBObvXGW9ul+j
	BhUjBFHRW1KuXP7WHrYuJs0YEfpO+iSwhM1H4u2DI8BBYmgrhCJk8tj0E7nuB+E=
X-Gm-Gg: ASbGnctMER1KAdvlhmcXGLHpiDs4k3lTIp6Yd//6KzHt5YhDhbQNyCCv+WWufvdVPHb
	p+OM0/06zSnFLUI7pXp+QrkVF60DgPKp2jMNgN3Y4npda4TLRjMJJDZzW8TKfPJmmfiMQGhTG6H
	BtsrJVikdF2ZSzr+09Ec9qrYmTI898cYb7eMU4tz/hYb/KSReneKXBItFQlWQbp144+bsXnJ93M
	D25ockmfx2fs1dheXkMK/2IR0vSfhQFCtrcGo91Equ8zOwuJG/XsdAE3r7xUtpWQArIpx5vm1V/
	Vvqxv3HLoKMIxL4DrDkZraAfNAe7PZbfQ2L47PqZH8UaQ+pK43PLIVv7eao7llgrX6yqawuXBVO
	6W4ZDy7oY/dUrGu6WPWg=
X-Google-Smtp-Source: AGHT+IFf+DzwTK2rSjpT8FBghklLjuq/LqqFqdaOq72RCOqx8Rbzp3arCcRW+Og34S2TfdL1BMO+eQ==
X-Received: by 2002:a05:600c:1389:b0:43d:8ea:8d80 with SMTP id 5b1f17b1804b1-43d3b951a1amr2565025e9.5.1742258128161;
        Mon, 17 Mar 2025 17:35:28 -0700 (PDT)
Message-ID: <1854625e-c1d4-4c2b-b219-31a6d48f5e47@citrix.com>
Date: Tue, 18 Mar 2025 00:35:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC] analysis of runtime xenheap memory allocations
To: Andrea Bastoni <andrea.bastoni@minervasys.tech>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Michal Orzel <michal.orzel@amd.com>, VictorM.Lira@amd.com,
 Carlo Nonato <carlo.nonato@minervasys.tech>,
 Alex Zuepke <alex.zuepke@minervasys.tech>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, jgross@suse.com,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <53e85609-dba4-4fd2-972c-8c2746074c4a@minervasys.tech>
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: <53e85609-dba4-4fd2-972c-8c2746074c4a@minervasys.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 6:48 pm, Andrea Bastoni wrote:
> Hi,
>
> In the last months we have been working with Stefano's team in AMD at tools to
> facilitate the analysis of "anonymous" memory allocations performed at "runtime"
> from the shared Xen heap.
>
> - Anonymous here means: allocations that insist on the common Xen heap pool
>   (i.e., not on a per-domain heap pool).
> - Runtime here means: system_state >= SYS_STATE_active.
>
> TL;DR: A set of patches print a warning stack when anonymous allocations are
> detected at runtime. Scripts help to parse the stack traces that can be checked
> to evaluate how problematic certain allocations paths can be or how difficult it
> could be to update them. A full example of the results is e.g., in [1], and the
> Readme-details in [2]. Below in the email more details and some commented stack
> traces.
>
> Feedback, especially on the paths that are currently marked as "UNDECIDED"
> is very welcome.
>
> [1]: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/1674833972/parsed/x86_64/xilinx-hyperlaunch-x86_64-gcc-debug-virtio-pci-net
> [2]: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/README.md

Hello,

A few observations.

As you note, assigning ownership to current->domain is usually the wrong
thing.Â  Setting PGC_allocated however is worse; you've created a
security vulnerability where guests can free memory that Xen things is
private to it.

Similarly, you can't interchange xenheap and domheap like that.Â  It will
work on small systems, but not on large ones.Â  Nevertheless, it's an ok
start for debugging.

Ages ago, I tried to make a start on this problem,
https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/xen-fault-ttl
simply by counting the number of xmalloc()'s to the domain with with
they were logically associated.Â  It's stalled because the
fault-injection test found a refcounting bug and there isn't even an
agreement on whether it's a bug or not, or how to fix it.


I'm struggling to follow the analysis on
https://gitlab.com/xen-project/people/sstabellini/xen/-/jobs/9207014172Â 
However, it appears to be a mix of reports between arm64 and x86_64
jobs, and they need separating to get a clearer picture.

The bottom of each stack trace appears to be doubled.Â  Is that intentional?

Part of the problem is that xmalloc() isn't separated from
{xen,dom}heap, despite the former being layered on top of the latter.Â 
All *heap pages are going to a multiple of 4k as that's the allocation
unit.Â  It will probably be better to terminate at _xmalloc() and ignore
the call down into alloc_domheap_page().Â  Importantly, _malloc
allocating another 4k page isn't strictly related to the caller, when
it's doing so to replenish it's free pool.


The 1-byte allocations are silly.Â  bitmap_to_xenctl_bitmap() is buggy
for trying to cater to an endianness case we simply don't support.Â 
There's no memory allocation needed at all.Â  There are patches to
resolve this from aaages back, blocked on a request to fix up other
endian helpers in the meantime.

evtchn_fifo_init_control() seems to show up a lot, and seems to be the
only dynamic allocation triggered by the guest itself.Â  It's reasonably
large, but probably ought to be allocated up front.Â  event_fifo is
pretty ubiquitous these days.Â  I'm not sure where the alternative sizes
come from; they ought to all be 392 bytes.

I'm concerned by the xfree() in efi_runtime_call() seeing as there's no
associated allocation that I can see.


Finally, it's not just anonymous allocations you need to worry about.Â 
Even ones out of the p2m memory pool are still fatal at the point of
exhaustion, and can cause safety issues.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 00:40:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 00:40:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918386.1323077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuL04-0007wT-9c; Tue, 18 Mar 2025 00:40:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918386.1323077; Tue, 18 Mar 2025 00:40: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 1tuL04-0007wM-6v; Tue, 18 Mar 2025 00:40:08 +0000
Received: by outflank-mailman (input) for mailman id 918386;
 Tue, 18 Mar 2025 00:40: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=AvL5=WF=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1tuL02-0007qo-Kk
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 00:40:06 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2614::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88f22b8b-0391-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 01:40:05 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by DU2PR03MB7941.eurprd03.prod.outlook.com
 (2603:10a6:10:2d8::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 00:40:03 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 00:39: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: 88f22b8b-0391-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RQRIU+jBy842nAozs8x9qUtArsKU/pMq+B7wIzpJwUxLcbVXjPylMmg+8yb/+bdZQnNzWXAsjHZXlWi3dHpZlZtzpIz3VvYGyFgobCQBdMwTrdjAHkwz6SA1pLlws/f9O8Nmt/GxaZctiRJX7O5ylQsYMAk+QL1iPaDoHaw32VPEafBNh9biQwo70NEPBzw4Aaaa6DGL/vze4XQzqlzkHvQVaVFvOXN9y9Si2GE8CldsDY/IXr18ktvWzYHTDQdDdtJaTVRLoEWPWM7aR9dUYKt2jLyEF/ezPBfWxkH3h28pCPZpwqcht3CUg78kRV+kffi7/tsnsCi15XNdD0+rqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NXv4xU4x+53wBXOUxfeyQ86OQhwSjk5uUNJFUrGsBfY=;
 b=Pi8cBNLwY65DyXPcxbxXdPbqRbHOcdhNMOuY7yIexFtNY/0vhg2+V8wSxHCUyjAYZ1iwt+KPjGzd7jEhouqk7Oi2DEcG1tZ2F0qacc+bcITt0Ly4e4NXSIPYwEwMRBsNHoQUj/XpdaMC7rIqsGRok/HZxAIExLlr6e8B1oNr05MBmbbLoqqXmn9e5kqM7fkyPPXxzDKUCu6t8E2EYcjqDGgRA33JU26TLlavPP/+CePBtzVfJFV/CaaXmUqj93Bqb0KFq7r2TC2mTDv76y+C+5qpA/9fIOtiPjGDDB+rX4Yf8EJsvQVPEcxRDCD/ntehTFsR1EKfUBOymExULMmXfg==
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=NXv4xU4x+53wBXOUxfeyQ86OQhwSjk5uUNJFUrGsBfY=;
 b=NoCHA+ujoOWkpn6eSYzaC8EUmeZkmQbjHwGlA2LnDs7icR0T0J+7+jRMoJdYjCxqglL7TU/TfiU+yRSlwNjn8bTTKWFCn4NjE788kF2aHSyD+po462mdClxj+MYWya+f46RAAkpXlEWVwf5wScys+YIgbOC7I3rmoTa1VQRtZpLkKJLGsxFPrmdNYA6IRHpaisqFWLLQDM9ORkm7GGpbbWPEhi44Op/byvB6Wi5q5SIZcRyF2Lqw60JUQZ0aq9YWeGRxwFrPi78kgcjOdt/f+KH9mBuc5rWbmyhkCQ2JGrrF/QpmECshBLCU62bK78dhK4BbYzQy2LI99pgCFbfiVA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Tamas K Lengyel
	<tamas@tklengyel.com>, Alexandru Isaila <aisaila@bitdefender.com>, Petre
 Pircalabu <ppircalabu@bitdefender.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: [PATCH v2] xen: vm_event: do not do vm_event_op for an invalid domain
Thread-Topic: [PATCH v2] xen: vm_event: do not do vm_event_op for an invalid
 domain
Thread-Index: AQHbl55FCdjKP1y9WUaUbohmcfQCbw==
Date: Tue, 18 Mar 2025 00:39:55 +0000
Message-ID: <20250318003943.1191439-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|DU2PR03MB7941:EE_
x-ms-office365-filtering-correlation-id: 893314a5-5f80-42d8-b73c-08dd65b567bb
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?5iLJS0GyXkysNHeuQI1a887nU9vRvF4yT4MlsLLti1V1ruOgV3jRWAnwbW?=
 =?iso-8859-1?Q?Auo7c6KVwi47JPKNSt1WuVAMPxDeh9g4LSel2SmtSla3YYzezZKuRoIiCf?=
 =?iso-8859-1?Q?JRaSRf1Ir5dnDejTN/uHXc0aJbYRNgk2RK5CbZkIaQBygEg3RRtYjFwkix?=
 =?iso-8859-1?Q?EuJCB2uOTzEQcXqBwoackJVRwfDcJaEBKB8wWBvCnCkvI6uApLgbJlsQyR?=
 =?iso-8859-1?Q?TGWLDfExS9jiNG891bPppMpZm9i5uoI6nQlyi2xnzqV/WrMRd52OU2hpc1?=
 =?iso-8859-1?Q?gF25/KkszTJUq7hDk6bxLEmY3Ehbe+mk6DSq7o0t80Ul4FizEtKYnFOjPa?=
 =?iso-8859-1?Q?GVyFlADQJQB3Txn4GcF5fAXsVPyPlVZFll1IHzKeb7/Fn7bipywauJKHqx?=
 =?iso-8859-1?Q?VHomtysPLbkFrIhhTBDGDzzmAmZtCPeBlxNe28UsVZdwJAoRwuJUwJd0qn?=
 =?iso-8859-1?Q?okxNgW3WGvxZD8Aiuq55XvC402Z4CUj8X/F8m2A5FkJ/m8a6FTi+KTNTvy?=
 =?iso-8859-1?Q?2BzAhcNvErfXUi484cgGSqlab388qgbg9eyI1vNnhKespRarSQ3Y/mhK4t?=
 =?iso-8859-1?Q?vwyXrz2l4EP9cCCQrxdhyqfYwZk39uHIViOSLuE7wZIVL6KOoA8uW/7Vz6?=
 =?iso-8859-1?Q?y1QLFY5/q0brWrFf5Fh3zPMoDLE4SkQHxqXeGSRHL1dULMMk7bHmE8Xltw?=
 =?iso-8859-1?Q?VXhoEDBvhsMmQ/YGYkwqo0IAcz2y9IaWI7C8d8KTOJFm7chj7AI0HS+Sbi?=
 =?iso-8859-1?Q?amF+jAILnDSpcFVOI+aegpZyG0LfPM7w2IyhHIACHXJ6RjKeDTQzn/RxMV?=
 =?iso-8859-1?Q?OWD2d9fVC1kdGrhd5BPqIJZ9XxcXyZW78UhO9/KFe/hgHXRvbknn7M26X6?=
 =?iso-8859-1?Q?53dm9yDcN6+aKxE3Xij5L+05QNqnvTZqOzHmyhjBxTJGDATh3ElPNg8g+h?=
 =?iso-8859-1?Q?/O5VK/0J9D7AWtxSwOoj7sGvba2fXdFDMK3KgU1P/4LG7jS9JZziVhtrEy?=
 =?iso-8859-1?Q?wxpmHK0WXJ5BO5ufkMYRA9Xb/ItzqiOLV0yzTnVRpMjnsccTFXB599eU/n?=
 =?iso-8859-1?Q?+bekl+663sVIBHwwLSQv5d1ZQFBdlTW5VjHs6OGLca0Rv43YT5zDaZU3VR?=
 =?iso-8859-1?Q?vHJzUXBBFH3u4HeqrwVxOHjMaXoVXclYbCD4xO70dsCQrPKshfOdKcyZ0+?=
 =?iso-8859-1?Q?NHRrI8lnzcbq8CyP8UDlwYBGBBusk3idqXGexpfJZkQEtIs69Aw16EkSjS?=
 =?iso-8859-1?Q?vuRb8sgYNs2SAy/ba7EbrjkTHbJMO0oVWSMxbvVyDuai+MvxOD0NhUIPIB?=
 =?iso-8859-1?Q?lb043ZgWGn3JekeKNGkZFVeYhijCRg7UiwPq8HoAzNPEuWo6f2YZVmSPe2?=
 =?iso-8859-1?Q?+RBMHVWrlpUxfKHK1E62etV1+q50uLE+mI7s87w+j6Dbxiz6Y8ONnhozHl?=
 =?iso-8859-1?Q?uFVFtbiXCgeuHreE1AkjndolCVYtO1oixzCc9NdFLLm05TFVaD2PlvQnQ/?=
 =?iso-8859-1?Q?RzZHaavzo2+m0W108wnFLi?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?2hBvqReyWuT8DTqBF3k0ZLd0SsUwD5hTs6KVyZFtvAf1UrxE4R9IPdQppd?=
 =?iso-8859-1?Q?Og02ymBbnthm6ecUjYxnBuCDWYIKxMgTnw2/3Px0itk23jH29F4pXuVY4j?=
 =?iso-8859-1?Q?oDUp00sFIpXDlZwOQ1c3bNrbxK1L4PBYCTGxWrry03y1q/wgBYirgrbvjt?=
 =?iso-8859-1?Q?N79teJjwYB18qHjHBEy2iZPMh2behZ5SLVXGFYb6GaclRrAgwRS6w7gBOc?=
 =?iso-8859-1?Q?l5srK7aqjCo7gL3tQqeaOCUBq5R5sqd8JwHgX2TO3Lb0kYVvqKQ2C58VP4?=
 =?iso-8859-1?Q?bijXlKSQs/JP5XyFUaPSJjJQMO/manNkTdV5xtv5mCKaAfrUyfZROlcfkG?=
 =?iso-8859-1?Q?oXlrA5RbXV1Jpr33Qv1zoGbM0FNkf5DnGMOFTy4649i+PxjWMqoYFWV55T?=
 =?iso-8859-1?Q?CiVnIP+o9JbVLLOSTR+7oC2WOlL7xOoZY+DeX5fVoXuN+wTeDRZfFoWw/R?=
 =?iso-8859-1?Q?RNUJIivix3IGFCPAxXjhb7mliZvqfhKp2SqnXW/IRCUXrVJ+AJ4U9xleme?=
 =?iso-8859-1?Q?LvAa71PSo/CfRQdCNZQiiqWBerfpNXSCWeYUs6JxXMMtC+Y3NuUksSadSd?=
 =?iso-8859-1?Q?hUaLVgyJeKYd1tamvDIwNmgNW3c0Ru7DCJlimieLAtvmgUZXKMkBbvah3A?=
 =?iso-8859-1?Q?quuqI6WC7IOXwiitioSYzTPVVX25WDcdWFtgsBqWbENCEiUgqtxAtLguvN?=
 =?iso-8859-1?Q?ZId4WQNvCRPl5RYHpuDQb4PBmmrq0HiTmz1JtWU1+Q/XhKSnvGg+u0BwZQ?=
 =?iso-8859-1?Q?1JmExPi1nMoESSeIcO803HPXK19bZMv2Wno7yC7k39d9yWrbIM2mSQc4QU?=
 =?iso-8859-1?Q?qWFdnF7VJD2Qqt0cF3iixD+w2qVv7/n+XB1isJ0SNHc4o2+owZPiC/pWd2?=
 =?iso-8859-1?Q?ldD51CZ9iJcXagpOoOw+IS2utDjZF5rWNPtv6GfifvKedpkjdL0S8O/dxx?=
 =?iso-8859-1?Q?o9NawE4lCAdrTn7EI8Agi7jnvi/DsU9IhIqe3VU0v0lPZf/hKKCM4fpJSk?=
 =?iso-8859-1?Q?LQ3ToS1uYs4vglktdvpMqodrZTxM5ZF0rw3ceF/ImwgpwJ4ZevZyk9/xRM?=
 =?iso-8859-1?Q?IoDxafLflWTndVuDejzxDe3Nz+oJyQjZmV7FPUmhcT/cVVjyF8UWI6ctxZ?=
 =?iso-8859-1?Q?Gko7p8kuWr9Jt8uuhG/Ry/205B+hTWS9DQFPpo/EO3Hr9gsJV6GtCO71kU?=
 =?iso-8859-1?Q?UBRZa/+QET2xRnlquPh3SjE3ncPgiZZp7eNBxwSAMYzWg2v5EMFirSe+VY?=
 =?iso-8859-1?Q?G5Du1gKQFn3A0eg3rwyu9MSGMOtXmDb4wOzyuUVLTybhj+ZPYHH/o97CgI?=
 =?iso-8859-1?Q?I5l+HvWeJ+hl0aaHrM+iasIiti+uoB7VzHPLCQUiKxYdRU54KE7g1zSFQA?=
 =?iso-8859-1?Q?HuwchxQDTuAesvpIweQX8JTH+gKKlVLXg2ZWBhR6/3bn1CdPpZQcM+6IPX?=
 =?iso-8859-1?Q?A+LwmMHHslWtFNazXDL2EICfa5+FV4To3847Dpqlolnb10pr+M1SPV+DQR?=
 =?iso-8859-1?Q?+0d7byuMDaJnoAIUiBdGIgPtluebl/xCFxaG6i70qrzmyGLb9xHgNqOa27?=
 =?iso-8859-1?Q?VZoVDIslavjjMtWNlhckNCj7Y6QNmC1TRw7YzYtFMZvV/6En3SMCve5ZTQ?=
 =?iso-8859-1?Q?iuJgkOD/hThlvAB5xgupSoUnADBgFNTKXdSFTVD3OygzuPiSn+Sr7sfg?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 893314a5-5f80-42d8-b73c-08dd65b567bb
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 00:39:55.9916
 (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: 1drBLeFjgsxqUhptq5wTqHzU0Ibp9GPKwZHhJY8yQnrhXIdnHFIIgPqNaPqGkRoZQuQmUnWjpE8IZkf4NTEOoc0VrOGcEo5dakiJpa/g6RE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB7941

A privileged domain can issue XEN_DOMCTL_vm_event_op with
op->domain =3D=3D DOMID_INVALID. In this case vm_event_domctl()
function will get NULL as the first parameter and this will
cause hypervisor panic, as it tries to derefer this pointer.

Fix the issue by checking if valid domain is passed in.

Fixes: 48b84249459f ("xen/vm-event: Drop unused u_domctl parameter from vm_=
event_domctl()")
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

This issue was found by the xen fuzzer ([1])

[1] https://lore.kernel.org/all/20250315003544.1101488-1-volodymyr_babchuk@=
epam.com/

In v2:
 - Added Fixes: tag
Addressed Andrew's comment:
 - Don't printk anything
 - Return -ESRCH instead of -EINVAL
 - Add comment that describes why do we need this check
---
 xen/common/vm_event.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
index fbf1aa0848..1666ff615f 100644
--- a/xen/common/vm_event.c
+++ b/xen/common/vm_event.c
@@ -600,6 +600,10 @@ int vm_event_domctl(struct domain *d, struct xen_domct=
l_vm_event_op *vec)
         return 0;
     }
=20
+    /* All other subops need to target a real domain. */
+    if ( unlikely(d =3D=3D NULL) )
+        return -ESRCH;
+
     rc =3D xsm_vm_event_control(XSM_PRIV, d, vec->mode, vec->op);
     if ( rc )
         return rc;
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 02:34:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 02:34:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918403.1323118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuMmm-0005OJ-Ve; Tue, 18 Mar 2025 02:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918403.1323118; Tue, 18 Mar 2025 02:34: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 1tuMmm-0005OC-SC; Tue, 18 Mar 2025 02:34:32 +0000
Received: by outflank-mailman (input) for mailman id 918403;
 Tue, 18 Mar 2025 02: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=AvL5=WF=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1tuMml-0004hg-CP
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 02:34:31 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84a2aa4f-03a1-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 03:34:29 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by VI0PR03MB10565.eurprd03.prod.outlook.com
 (2603:10a6:800:20c::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 02:34:21 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 02:34: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: 84a2aa4f-03a1-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JAtKsDizaGLABh2as4WKMSbP2b3HQozYNMQzdiOBWf4MAcYYl8OoWKXPZyDP6nVgtKI0CAMqmFiNOtg4G18X612awUx+/96CWCCoJQw4SyIqB/Y1Z0IWHo9KJRdxb5qcfY/RNhy0IfpieNdJEBmdsRM4J93MHRKj2sG1HYd5ntDBEIMbKtd7qxBgJZRZT7VF7hHDqxduMypsn/JiFAsyU293yhWw9+4KIDZGVh8C3mOFG9zlWzGaMSTXWbx5qZbYJe5Tpji2usOVysz4PaAonVxDxsiBTMlcvm+5xg9Ii39nwkxgtl+m1fUPycDxpRjRfW9vH3kGF72YCkD89LTQPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PfIgfIDoaXKyQ0Ye0/pA+kr9b+4erfmqyiKrr/jzcao=;
 b=wSD3oc7EglKNXOq0dUM9C37hY1BTlFbiVOuXQPpST7BBYQdkMavSCsLToqCkiaMUupGBGqwbHJd+VAUM7eExC3Zu74jxDcTzRu7dDoq6Dl/Dmoys7q6EsGe9GD54VxHjb4Iw3zQj3hRWCPYfe8T+KmGI2s//O4WmfwO2F6T6L0YmSPl0LwVyoDJU7nroFqXQsHHueUIEPtcLMEd+hnfwRdX9hu7nEODpNLacwUgPEs98ClVGyHZJo4oc05Z4NxuzUPApM66JyqT45UoZLYCov9NgBZSrra6RgRcgACwBOTJ7PYf0ztMGAO2ohQF6UFpepbJpbwI1Zx8I8MXQ+j5BMA==
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=PfIgfIDoaXKyQ0Ye0/pA+kr9b+4erfmqyiKrr/jzcao=;
 b=UPIkM1X9UAevy9gnO2A1IINmF9nhBz6DdhaZ3LuMXClpYSqg/c1lgDBJAoqNaOSzfkp5ycCLXtxJAAu7bB0F/nCTEApUnR+S9ufy1Prr4PRg6dkTbbZIwYhfXbGCiIt9wcBMaX2bmr5kLbjbAbzDTgMUmP16XYy6rNpH2K/LFhGf27z2p3pTxPq5I7xwlGG6Gr/f6kqpVSSzk/++yBy781+1FSCkWGAAuktXtLRuI1WG5/3Ug5d/wvV8+NoNl01yiNvH0xnBmZlv29zraQvVVAKks4AfPfEfjEzT/aA2C3A+3Se0xJQh2hkiU0sYr7TOMEOAl+BB1hIfTbq6ryf8+g==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <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>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v7 2/3] xen: arm: enable stack protector feature
Thread-Topic: [PATCH v7 2/3] xen: arm: enable stack protector feature
Thread-Index: AQHbl64+nK1qcyuMXkOHD2CNqoxb4Q==
Date: Tue, 18 Mar 2025 02:34:16 +0000
Message-ID: <20250318023234.1210659-3-volodymyr_babchuk@epam.com>
References: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|VI0PR03MB10565:EE_
x-ms-office365-filtering-correlation-id: bed78708-a625-4b98-b50d-08dd65c563b4
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?9fqFbNb6QtfqKNMGq+WW4Iq+oCdabRK9sIw+XjUk0zqLJgAx6Al1/wADpO?=
 =?iso-8859-1?Q?Xupm3YavleGYIlXAjzLpelz9vcALIbA7uRxUtMHiPJJkmruKzjBeaklvqb?=
 =?iso-8859-1?Q?AGoWb2LumjlsUOAIY6x6IhlEHQVUP61NQn28KKWA4lYgGCBIbxBEaGNL5M?=
 =?iso-8859-1?Q?Y87mSo1QAHcZh4+/DU4JNLdZRwj+b2uM3UTqBlFkoHOCEaT8kEBKH2d9xX?=
 =?iso-8859-1?Q?UprnxUozCXYvqOpu6DX5ZAZJBuXZC3wvsFR5VIXZxqk7+uoUBmhXha+5s5?=
 =?iso-8859-1?Q?artrn/4n2anlgGtuTHB9C1vxp6lUOJRCzvhrmol7y5bUgjkpt/LqjQq+mD?=
 =?iso-8859-1?Q?uTHmpf7Bx8ePNxWlKvC/01KwnrlbqgX1i9SnyGiDv1fOap99a4neMHe9St?=
 =?iso-8859-1?Q?TYX9IEw51XKHlER7A7uRK/8rclrI1QN/Z5U11SZ31bnGjlF0D9lWPwREkn?=
 =?iso-8859-1?Q?j0vb2Ulmg25VwJYCP35ZezSPC1tuoHe7oSWhsMY2bDJsZfT0VVulNoTd8F?=
 =?iso-8859-1?Q?FEiKsMifR9I6FTsWB2rCHtjeUInSRehH99tZExdfzn/JsTwQp0aoHz+3ga?=
 =?iso-8859-1?Q?FueMdll6K9MqWhuTUprx5+cBjtpN4rxi/jRlMAk/YSSOBS9eL5xoBj8JsG?=
 =?iso-8859-1?Q?RfqiiOHXrH+lxDwQItKauwOeaj95w/SoVdGAtvyxGBo3Re+AWJITzHaMM6?=
 =?iso-8859-1?Q?JJhLnsS1+x3Tra1WZ1mUjsQM79+A5/6BavJ+GqJQosbhbX7OenkaQns8t3?=
 =?iso-8859-1?Q?N4TldsIXiTUbns8svhc4sgVIYvLPdfakx2YZ8aaNhTiVEt7b2ck96pj3hN?=
 =?iso-8859-1?Q?aWmrZpnbuZpEW4Ix3urvjJtoPHEK4Yg5swmZUlaFS/JJM1IcVv+Okvl2c6?=
 =?iso-8859-1?Q?v7vtYqsvuqGhUtw+BBcik0So0bvyVltSlAAw95fgU9g02EzH+i7pScvQee?=
 =?iso-8859-1?Q?HgBLIXY4tZaCuCGUbyZBKp8v8XxXSuj37Um0Xe4zXTQGBvW6Afd2WEIdYK?=
 =?iso-8859-1?Q?QfyhjyGOCwIyBM7NEQzsp+7NdjJ5Lv5RPrCse2YTswaNnGS8yvgXnEkhVo?=
 =?iso-8859-1?Q?/PWyyJ3g+JrfmHZ/xOuza+8+Jtvw57lJPhtmD8U6/32OTiXIXTBpOfrhIW?=
 =?iso-8859-1?Q?ssoZWJH56ZIMbzE0SebEayA69C/DAALEOyx2zIRu8SESa6CRdxO1rSIMl2?=
 =?iso-8859-1?Q?hL0DiiTKa5qDp+qpEqJBJjYXmpTz/WvaVDMLIjkY1AX5ZoZRGQ1bwI1rnK?=
 =?iso-8859-1?Q?fAfJ/N5SjVOn20JpGs5kDcKwo1owLrVoIBwYxuIltRBY7j5Vy13ipUHLm7?=
 =?iso-8859-1?Q?0oGykq91zC7B4QISN/sSfr2YR6+NJhoLjN6RrpAI15eG7FbP5PHikEC8yW?=
 =?iso-8859-1?Q?InnFIs/0BU5A2FRau7arYC5rHAnGZSkqWSg9q6c3XzbE7uD1dO4/S2fbdV?=
 =?iso-8859-1?Q?4gqWmfX/0gc9VNDOpFi9QUGkoYnF4up5Kkg9/+HL5Iyxeh39nQrbHGth/g?=
 =?iso-8859-1?Q?aR5SaUqQ+r7ZsJlsPwescc?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?GxaJvlYJlQpdsZrVmidVU/AOPCtB5BdPmL0r8KclJHeemLQ65jbMCkgIU8?=
 =?iso-8859-1?Q?rMtEY6IgQ+7T8y4xqbIQIg0mPajZS+ou5GNIx4/9t+yPKvF4aec2wlzMsi?=
 =?iso-8859-1?Q?bkbdy7IFCx7siBNOVu2xrZJzT/BKJoJw5ilq8fANobx9PPKxZqlAIxaTkN?=
 =?iso-8859-1?Q?ZFXRsL9r5VeDyZAhg8m457N8RwOyeJQHNi5TpyAA0bxj5vginUIFcj19s3?=
 =?iso-8859-1?Q?4pll9VTSwTgVGTzkhUwrZoNE+1IHj7mN7MuOB4FDMNDjdySCOSKBsAJUNR?=
 =?iso-8859-1?Q?80RsAH940lPq3OixUiwcpRL8b+mMoJNgPDmccUSkmTiB7BkHDb6B3zkk61?=
 =?iso-8859-1?Q?NJzXoq/bK0fvwI7k8wA3kv9j36HrL09TaLOt8kj3/NqbnW+lgPvq2W7kBU?=
 =?iso-8859-1?Q?xkFM/5ONTZJa9bhclCmPALVFePIKKUgXpLYuWQp4pSkKmaVklaAQhINFMi?=
 =?iso-8859-1?Q?TkcH75oy4vASPJsBVI4aBXM1b07KMkcMoNaeJ1xckQrL8vYw1qE9aHA580?=
 =?iso-8859-1?Q?Wv3PnQxVcRRpRUKiSXA93ztxJyxb/EIMFYeY8DqavOMYdAkNQvH2aoFYsk?=
 =?iso-8859-1?Q?3n4hC6tcDNV2Zlm+t7ur2/Ik8Rx1QV1G91HSHPSh7m/vvZ+0+7dZmP5U2I?=
 =?iso-8859-1?Q?i5PqMxD+DAsHB7P9fB3TNWeA+rVH0Or/rQ4lI1CYQ3wL2NwcZbnRkFAKVM?=
 =?iso-8859-1?Q?SbVv2Uw5uY5zOnzi1RRTdLFZmmKM2t80XlwqlyyiH9YuXBUiY1YQ9UEOkZ?=
 =?iso-8859-1?Q?ltEyiGgH+ahVVn7WUN0I0DDTrPDrB9Oq5rNAGNo0FNK0hseV6oLAjlMMf3?=
 =?iso-8859-1?Q?wg0LOfBNBCRYQZTBUi79QIFPzH1qw4vV5uxMToPqQbMlnZRmdjZH/Q1WF2?=
 =?iso-8859-1?Q?cjdUsoGK8vT4p6cUamhyvUfWgFIQ2UwmwVQS9wQWMpEgvpt2N0c+4n/a8T?=
 =?iso-8859-1?Q?a45zx3jeZHTA1fpNSV5v56vmvzqquvwfW7Pk7Z2GrJtRiJyKO6E+J2YoS4?=
 =?iso-8859-1?Q?bsznwX01Z8V0GNusIm3GsIfSJKPq24apuohcJoXUPMVgUDOCBV0sFnbPEC?=
 =?iso-8859-1?Q?B9nefBzcPAwypkF7tr9s9HYDpOK1xxdrI/ISVpQRetRT9TwT9dxSTJh6LL?=
 =?iso-8859-1?Q?PZlIIw6ac8nABRHtSMMjomeBxNP1P9zmZ5tngMPsxbySwNNx5VS1nNO/y/?=
 =?iso-8859-1?Q?BAUZ4RZek5q7eOugNoknpV/kIrQvq3dYiT4dbYhqicQlHfPeWm/Xtj50IQ?=
 =?iso-8859-1?Q?ROUXId7R+RbFO/bwAAm68Dmz9AszdUPBejBTNRRoDvC5ZeVUKH+Vp4FNXb?=
 =?iso-8859-1?Q?5gNHo/zDSJ5cq16JLBIkn0w6Qf/kNf141bb7Nq9VKkC5BByqCBAGusCXWK?=
 =?iso-8859-1?Q?haRZFo4sARGR5/KJU56ispkS4QlCUfmiNFMFkKnPoH9/KfNnrOjtwxxfOp?=
 =?iso-8859-1?Q?sXwtb0/3ToaE0gg1Tvi2RvwOSHFq4g3cKPnth1xJzeVV/ZKijByYG55Ecb?=
 =?iso-8859-1?Q?Z+OwSu6ty/9GVdU2xlsQ77Dp4LtZfEEgFfxtXyrNmwdtUBZt2FdwyqvW9e?=
 =?iso-8859-1?Q?Pbl+V1ZFBzoYR5GB5KdzvZZj6A0/Zr5XS3h+sXD/bPUK2x0dM0Lpkh/PES?=
 =?iso-8859-1?Q?vCKbW17fxTywFR53c6H6HFqbtzfsGAXFtRIklv4ucxW9GmSpuWJprQhQ?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bed78708-a625-4b98-b50d-08dd65c563b4
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 02:34:16.8716
 (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: 6z5+pxoWHc8mRdrlUmUVNi/UUEgIHgpBI+6bAncSZKfu782oAnv6kKY/opGJ6ghHmCeNDOTKBnC4N1/Gbb1U+CehdZ7wy4+PRXKBqkSOPkY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10565

Enable previously added CONFIG_STACK_PROTECTOR feature for ARM
platform. Initialize stack protector magic value very early, at the
very beginning of start_xen() function.

We want to do this early because prior to that
boot_stack_chk_guard_setup() call, default stack protector guard value
is used. While it is fine for general development and testing, it does
not provide highest security level, because potential attacker will
know the default value and can alter a payload, so correct stack
guard value will be placed in the correct position.

Apart from that argument, boot_stack_chk_guard_setup() should be
called prior to enabling secondary CPUs to avoid race with them.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Acked-by: Julien Grall <jgrall@amazon.com>

---

Changes in v6:

 - Expanded the commit message
 - Added Julien's A-b tag

Changes in v5:

 - Call boot_stack_chk_guard_setup() from start_xen()
   instead of early ASM
---
 xen/arch/arm/Kconfig | 1 +
 xen/arch/arm/setup.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ffdff1f0a3..5d6870c817 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -15,6 +15,7 @@ config ARM
 	select GENERIC_UART_INIT
 	select HAS_ALTERNATIVE if HAS_VMAP
 	select HAS_DEVICE_TREE
+	select HAS_STACK_PROTECTOR
 	select HAS_UBSAN
=20
 config ARCH_DEFCONFIG
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index ffcae900d7..fa11e6be9f 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -30,6 +30,7 @@
 #include <xen/virtual_region.h>
 #include <xen/version.h>
 #include <xen/vmap.h>
+#include <xen/stack-protector.h>
 #include <xen/trace.h>
 #include <xen/libfdt/libfdt-xen.h>
 #include <xen/acpi.h>
@@ -306,6 +307,8 @@ void asmlinkage __init start_xen(unsigned long fdt_padd=
r)
     struct domain *d;
     int rc, i;
=20
+    boot_stack_chk_guard_setup();
+
     dcache_line_bytes =3D read_dcache_line_bytes();
=20
     percpu_init_areas();
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 02:34:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 02:34:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918401.1323097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuMml-0004w5-AN; Tue, 18 Mar 2025 02:34:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918401.1323097; Tue, 18 Mar 2025 02:34: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 1tuMml-0004vy-7b; Tue, 18 Mar 2025 02:34:31 +0000
Received: by outflank-mailman (input) for mailman id 918401;
 Tue, 18 Mar 2025 02:34: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=AvL5=WF=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1tuMmj-0004hg-2n
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 02:34:29 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 82da0c81-03a1-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 03:34:26 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by VI0PR03MB10565.eurprd03.prod.outlook.com
 (2603:10a6:800:20c::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 02:34:21 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 02:34: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: 82da0c81-03a1-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rDteRfNGZSm2Q38ZWFz0xjnUSS9KiNqPc7TvEFrwieWQpcL237vTfZPSr0dOfrfZyQMdoFpoHTlwd4X9FUv1lRFKWn97P/azNQbUlH0O6WY2EUdiroJ/zuXtKaDGjUvhzpUtDTKOGFQzu40JNOz7TLKqq6LCg4s05JdxgD1tgLnXUtKRA2PQavp2JxHoAadoJ252Mu3equGbJ0O6goo/xEu1f8IWZxtoGXsubyQN3WCXDY1L8HQxdkJovn0wQMA8/MEUZFcoZQrgqcHQl8Bw1k86t7JI+MLQa8YB+NI/va1ql4rzKl+qvvD7C1Vnp06LCvdN6VLTmsG59j/oD3IQFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uAjFD8BqC1vYq04XoxY+Cb+N9OF/55bTRtBeKvPa714=;
 b=J3ixr6PWd0h3bTuupw4JrRClcRkOm8nSVKAxIsMSihyCOuP5q1OSTIGEUE0n0Z70/s+8EQT+sfv7kw2Hp9Ym3hI0O2ha+HiTbZCh8v4esQH3oDTdC1IGz8BqhP74r5afOscWyi/dlIogdsGO2bAGk6htBqLjkvdXHo2rgIYaPWoNFbv5ySz1rRziplSsnPemyuobQ6amfQv1oNPyW1KaRuWuqxYNYETjYELWiETqwjhMw79WT+NwvJy3X3OG8mQQM/OLQ9Yt0Y3UFfk5RJh68uf6z4KoW0ThTN8fdukxfBaluJlPfWQh6j9AgskuWmWhIAW1m9+JUA7bzvjDCXFL6A==
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=uAjFD8BqC1vYq04XoxY+Cb+N9OF/55bTRtBeKvPa714=;
 b=Ka5qx9mjekFPSIK0Dbvq6AchkCi4TLErIL8y+iTrNQ4CnhmmtOwmVEQNePFbCj4UjvGB4zU2Zau7hYvJxDhmAG+pdL0aHcg3xKIHeiAYNXhpJSR/ZuXuvJ7REIENAZ/pywGho4Xj4gOpvHWUuxlyPprQof/dg/ljWAq6JAWV+O989p3bXflI63HktjrvgBAPkKAHRWurIbnTLNpV7JJMbBJfiJtH5/gmrB1dEV/2jqiJhg3w10aFhEGHAvSpnVeZyiGoB+HMAFkOpmF3qO/8g7rbH1pKgmq1A9TWBldBq64aF3opt/ZBzXQMYSM+tliyL2UGgT2BWgkRwaU8rcwqXg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Community Manager
	<community.manager@xenproject.org>
Subject: [PATCH v7 3/3] CHANGELOG.md: Mention stack-protector feature
Thread-Topic: [PATCH v7 3/3] CHANGELOG.md: Mention stack-protector feature
Thread-Index: AQHbl64+FXgZ6yIaLUGTQJ+kcSw+Sw==
Date: Tue, 18 Mar 2025 02:34:17 +0000
Message-ID: <20250318023234.1210659-4-volodymyr_babchuk@epam.com>
References: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|VI0PR03MB10565:EE_
x-ms-office365-filtering-correlation-id: 3d0194d4-ea6d-4a1e-48b4-08dd65c563e4
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?Mav4UMXl8ueIpP78v86Wfxjo6NxO1MFsurC0D2HrwUp27Ni23jXBuCWrcP?=
 =?iso-8859-1?Q?ZDyTaXmFvP85wAUOP1rEwsGGlYJFRmn6rIlwBAwozgLggvbL1HVo8s9N0u?=
 =?iso-8859-1?Q?Ewi+j96XLt1mR/e9+SXJg3AuxF1z6y4DP98Xph8bIaldvM6/o1khmwDeD6?=
 =?iso-8859-1?Q?uXO8S5sFbn6MBn1MJ4kZtUOBv022yxrz34uvArzua0RBspo4rNHBPsKmjq?=
 =?iso-8859-1?Q?rE4LB8f6uCKQ+gGS2ji3BHKVvy2LTdYbmBjumLBthd8YjER8Pj7FehLUhe?=
 =?iso-8859-1?Q?wtbfCYIa++VH1qUC8x819YDfXs5tQfIXstqpu6u57I62TlzOPdcLJyrmaV?=
 =?iso-8859-1?Q?rCVhuAoAV29KTfDty/ALg5+jUAfcruJygo6NPbju3BoXwgxZ9k3ExzMJhu?=
 =?iso-8859-1?Q?VJtSeZy8ST65DeHR/r9jMI0k/pfYfs6cZzAA/xPVKlEnEPFLVMYx7VAsWt?=
 =?iso-8859-1?Q?ml//P27yN0WAxKm1HVqLqdTc61p3HoZlV8fRohlOFT/CUQjyk5lmuqq1uV?=
 =?iso-8859-1?Q?u+vt5Kii2MSsw2HlKCNphgXmXhJ7FK0SGC8WTbhkXhSukUmLqk3+cpz96g?=
 =?iso-8859-1?Q?M0/zo8HyojEbgf5eB/M8fHku2Way8Wr32YwDPMSZGaunn96pc0kx/uMDDg?=
 =?iso-8859-1?Q?XglZfhLUs/T8luABpZwdjuIWvNsvG0peMDB2kX5A/MUkuiHJT27B+AAH/k?=
 =?iso-8859-1?Q?MMyZN+vkIdsQWFw6Ne7O584hcYicYi0PIRIHVIhH1H/Jy+V8sI/5RThK0i?=
 =?iso-8859-1?Q?YuUjrsCM5hWtWVQwGzT3tMZpeB5eyAc1pJn/6iPe/q2/02paAVg3NhsZlm?=
 =?iso-8859-1?Q?/VPn2KoTw2HSQ2SJnPv+knh05cphbT01FJhuD6PaO/WVloi1HHi1kU5But?=
 =?iso-8859-1?Q?kdhGPtWXKjETThvQVtx07vidbWLvZowYRIKTRD/dkjhnDOiMaWPfjcXOKA?=
 =?iso-8859-1?Q?lp4wWyLeqSVxRiZhA02Q+lC2NrFVRYez+a8q4brr3n7oARoCRMgVukPuaW?=
 =?iso-8859-1?Q?MESc4/NRbV22s4vgsR4VtIjztGLmVQv/nwZhCDRn/bQ7j6zYNmX9nogl5t?=
 =?iso-8859-1?Q?gpaSNSStJNb+KPw0/gAunH3qxq0ScIpHL9705uSZcc654RvjXaLXwJQumN?=
 =?iso-8859-1?Q?x/enbFJcuj8ulzl/Cop7EzSlrZq49b6XUOcTs9B23DWNv6LeDbTDxwy0e6?=
 =?iso-8859-1?Q?BxPj5EKrvMnYE9bI8tts6O8ojOyvsUFftNV99GA50+a7Z5oasqF4aT9oWE?=
 =?iso-8859-1?Q?KdEC8BvK4YBdNltdb9wXDwQHCNQuaOShpjjyeaN5JTm8KUU0kNiE4ZFpEw?=
 =?iso-8859-1?Q?JDVNWiuofcLEC7DfODbTtQcLojYh+HDesZc5zEIX/x6gWfLMB+VsZIJjvn?=
 =?iso-8859-1?Q?HElzznUGQan86lYAW+xJ7ZvD4j9UkRpMW3IjUNP7vy+s17Ox1v73BHpUTD?=
 =?iso-8859-1?Q?R7kD9J3BqCi40WqZ?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?ohcsdl8wDXheF9Ktna4Vc8xf3IOPWylORX/rFQ2Z5YofM8Z3up02yZZTK0?=
 =?iso-8859-1?Q?6MTRwBXEkbXfz/0b6iYa88VWhwKhcGxc1e0DVuZpOhF2zsbSz0VLzy2NwN?=
 =?iso-8859-1?Q?kVPHjfYBHu/CraqNcSNMtkEJXy5puv7eCgjuleGdrgKm01C+L+RIZneeP7?=
 =?iso-8859-1?Q?7GFKMy7cwHdG4HXTQviZPr9J5b6Fxz1z1g/qknCQkxRXZW0gG5eGQy5Ijn?=
 =?iso-8859-1?Q?Mp6eqgDuYgFmfRnq7TNT8jkKIYN0q30a75mkSLspi11wVYTftq/e0ERVZA?=
 =?iso-8859-1?Q?bOCqyFr65Pt9+7joibJnh3RtkKEBphXzCQK0JRm/ROquae9hQ5HXos6Ur0?=
 =?iso-8859-1?Q?Z5QzvA7HDIEiQcRPegmCCUsYOoSJUauHzJXcXNr0Azci7g2PYn+KaA+tmb?=
 =?iso-8859-1?Q?68xkokDpfZB3qeahUrD/pVR7eq4j1m//BdHsLIfQP/2qS7KlrzZfLooRaD?=
 =?iso-8859-1?Q?6pOaFg0qZEXHMQIpa4X1MzlpS3Lt2nP6FHNINBQxenphJLR/Vwd6qH/SY/?=
 =?iso-8859-1?Q?eeYGvYk9FkC8o7cMIsOJjwSzixJFttccTWmTc7szgEJ1T5ck8tx3IPLJ68?=
 =?iso-8859-1?Q?RIbjyT90uYobwvJHvBadY0KEwHSRJ5bfZYWG0Zvb00RE093hF7bRx9ok4l?=
 =?iso-8859-1?Q?3i6+G1pcd3FmMXhoF+Ahv0d+EjgHstK7MOwJxKhR6zbY6ryGgieeBrIlFY?=
 =?iso-8859-1?Q?NdEk2hCY8GGNcVpl3dC84k76/GFnHVmfZvlRgT4hnJiSxLEMrFo1nIRMx4?=
 =?iso-8859-1?Q?YutlXutPf465Rmx+2kQ9uLJl14pFQmSJksDppRJwIjxJ5mo9QoJ5dHZUYF?=
 =?iso-8859-1?Q?me+c/STblDG//0PC9ETbZTXKS/P75fjTXsGk4iQqb+lpMER7IonOJjmxqq?=
 =?iso-8859-1?Q?emhSN2LqGNaSrAQ5fWxt3OdNiBxqXlkAaU/uv4G6ttl5Y4mjK2XiSleQDI?=
 =?iso-8859-1?Q?f5Vrd+n19LAEMB1L2XCNIYJFwiE/XDKjRy2VbyabqkloQuinGKBMFYpt5j?=
 =?iso-8859-1?Q?hIIGfS/Hz8wlRHOK6pPUy5ir1jrqx7FF5F0b3d6xYJmJAZLheQu0hyT0e0?=
 =?iso-8859-1?Q?RGhlA8FiBa/Obs+/qYHDnGkpE4sayWZpt9h/0MLVxbXg/dMclogJzdCbQo?=
 =?iso-8859-1?Q?Y3T6qt8e6wUkRZwJHXvgPpmENyJMXstyToJ+wb63bZJxCSP26TkcQnsGg0?=
 =?iso-8859-1?Q?U3KNHRlsM/gmEvzZKkyoAoRnqDX1dmHLEEWxAoK3YVyQ6TjwqnJELIA2rO?=
 =?iso-8859-1?Q?ri2pbWgSOuUMx2MyBbtdJOK59T/BI0ZYKXnOZ6Mc1bPqhFGdXfqO+G2TMU?=
 =?iso-8859-1?Q?GPOAhQq6GiygRblw7/b5XEwXb5gQo2ub4ddCdiSc3Q3Upi101j9ChUuv4C?=
 =?iso-8859-1?Q?MpYh1Fr7TU6YVJvn/UAIYIZIMAyeNLtYfWr+2SHtnWg7fKq0tmV4ZZ6FHw?=
 =?iso-8859-1?Q?JRFoLTS0lmpcexjuPfrMO1BiAif6LCg1YjGx2DhvIIcsIjVQC3qwStf44e?=
 =?iso-8859-1?Q?rB9rZhPSCsn0W1WnhOmqyNtR5Fh7bC5/GcyPomDajU0FU9WxDbBVvb1YKV?=
 =?iso-8859-1?Q?jjKSvVVFbJ5VjV1zOKLtwWJBnp4KOpdHTOuZrLKOF8nlp6uK9FtnYvVaDy?=
 =?iso-8859-1?Q?vJhsJPvhYxciVoUhUNjyqLpRCaMhj+4/9xqD1+5fzymFGbbYTOwwe70w?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d0194d4-ea6d-4a1e-48b4-08dd65c563e4
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 02:34:17.1584
 (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: GMnO3pHARRCqdbMa7yg+gxlEBUfMtzak7N7uODclKcBXfGlKkGgaBkVgEdDc0E3A9A7NEhMtc6crAkUNLSnu2Bj4f3zrfuIz36jTI/C4Ae0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10565

Stack protector is meant to be enabled on all architectures, but
currently it is tested (and enabled) only on ARM, so mention it in ARM
section.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

---

Changes in v7:
 - Moved the change to v4.21
 - Added Oleksii's acked-by tag

Changes in v6:
 - Dropped Andrew's R-b tag because there is little chance that this
 series will be included in 4.20, so this patch should be reworked for
 4.21
---
 CHANGELOG.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7201c484f8..9605f670f6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,8 @@ The format is based on [Keep a Changelog](https://keepach=
angelog.com/en/1.0.0/)
  - On x86:
    - Option to attempt to fixup p2m page-faults on PVH dom0.
    - Resizable BARs is supported for PVH dom0.
+ - On Arm:
+    - Ability to enable stack protector
=20
 ### Removed
=20
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 02:34:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 02:34:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918400.1323087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuMmk-0004i2-3X; Tue, 18 Mar 2025 02:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918400.1323087; Tue, 18 Mar 2025 02:34: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 1tuMmk-0004hr-0U; Tue, 18 Mar 2025 02:34:30 +0000
Received: by outflank-mailman (input) for mailman id 918400;
 Tue, 18 Mar 2025 02:34: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=AvL5=WF=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1tuMmi-0004hg-Mc
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 02:34:28 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81a7e48f-03a1-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 03:34:25 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by VI0PR03MB10565.eurprd03.prod.outlook.com
 (2603:10a6:800:20c::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 02:34:16 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 02:34: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: 81a7e48f-03a1-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ieQZf0wYoua4O0TsTWw53R8IxlAAg6vVkWScsxEC8V4TgYE7JoQNxdszET+Bj3vqXu5XgHTWaMJN+lR3ZJ9Fo/kWnxlHn9k5nqAn93Hws+64r8UzmHjz5+vqcjUCFdM8Dyz8O0Smy2a1TQ3xkJRc7PPTuxd+EQOmNVo1dgxTxxhtZkMm1zBMv7vDkBeYC1Ckd4daSxg+wUhUTLzIlBpQr9wXez7IzxyeYMFjjO/xxmfhKyPV/CA2WtZudFQmDPjn4IXUKxpGF9RAtoNBh6x+dorHPDVXZ9CsVPNw+5wWpQ/zr/OWft5edL/FUWzNyALcnT8VlGabfYPr1rrRT4FxTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nnhnxeg1mJ/n/WZk+8SXTjTDXgISXPxPM8J5Ut+ImcE=;
 b=y1/fK/cPIrq5bA8GpoWJtGRtlcroXaIcK2/8epS3heKMpoKKWExLgG2lDmv0sSf7/uBWB9WqRuNI8/Fwjg6V8BCn6yaIopzch57FZwpSu2E/H2QUd9wT2qqtfoS0aTavFN9v69l5efwp0DB+QIMDIsS+DtrSFv9kM/T5qcVlJh/OjkIYPbat0A9GbwSPfBl3iixNG3FhRxcYxURXSYmfr8D4DFywz1/cyNSDFS2Gb0tzws+6t3vIbt5cUnbRjzY0cvd0RPUSvuEANt2GWFDuikR2cIU/7aHJJ5iWg0V5zfKurzRRM90cNOKRfeD2bfWLYvjBNkfJR7FCFQphCElvfg==
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=Nnhnxeg1mJ/n/WZk+8SXTjTDXgISXPxPM8J5Ut+ImcE=;
 b=Fe1P7XlIeHDpC9Da+XObnsoBdG4T/WKS+sOfzxcZCBC88BsGC7mpYa1nY3F7oNAd25kZTqiMB18U1RRGt3UmbPsG0NWe9emX9YGa/dW85zrln2jd4Np3iRMD4ikvWZ+mczHAG1XY99Q1OK4hBQhHW6cbFMt6qnOa+RUTfea0xek92lrF+B/biPjxDMIhvcRPyjC7uWDEkV6AkUY9KkIsN+7BZDt8HMKI9hBEdxh+96cP4XRoBtT/MgsI1FU6zcGGPw5vMXhenG8zFk/R61T++2ty/wh8JWlRB8J3ux0b1TAwL6v0UMgtEadekOdylQBNtAATInhE7EYuW6K7/4gayQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v7 0/3] Add/enable stack protector
Thread-Topic: [PATCH v7 0/3] Add/enable stack protector
Thread-Index: AQHbl64+8qKW+lt+PU6sF6TL8sA38w==
Date: Tue, 18 Mar 2025 02:34:15 +0000
Message-ID: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|VI0PR03MB10565:EE_
x-ms-office365-filtering-correlation-id: e0578836-42e6-4abc-7244-08dd65c5609a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|7416014|376014|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?Wa0aALeRc6kT0ycpIP6ZrHEaEP+vJ5lT1cRNorJIQooDUKvuF5ZaPcZsUA?=
 =?iso-8859-1?Q?TZZtX42rTZvHKfSlm/yhlgYptRPDexYOGswNYPON3zJ7L3wgEE+mldV7uy?=
 =?iso-8859-1?Q?RSk4A7nl0FZKcXMPrDE8P7kYkZXrdgiR/kC9bj3ajXPnP0aw7+oZ1gSxDC?=
 =?iso-8859-1?Q?cjk3pVjnKosEaQlXuklNRNuDBv0vUObQhO1Yn5ml6RWJNqdNVxbAwp0M03?=
 =?iso-8859-1?Q?w6xtknwF3NXe8iNjU9TODmjiJmd6KlarlKlb6IZ4BYpPRUgTgq2itnaq59?=
 =?iso-8859-1?Q?CzQTZ8TbBc95uqYOdeZmyzjeVpTTjBpwoRnhz/xuvx9TgzvaCNtWAWOT3h?=
 =?iso-8859-1?Q?4ZMk/1ERxwnxUOrF8MzZvE2/JdoyKPCCavTDtzayR7OYjPOmH0zURoJZJx?=
 =?iso-8859-1?Q?J4kflERJ4y97xotMYRNvb79jpplKiKbW9BTApIULui0D1H1hsXopbJl0EB?=
 =?iso-8859-1?Q?DUBscZUkyCfS0n150zPcuuE2JjdwKZ/a1c+6ct/ZrMgimLC5Zj23t/diM4?=
 =?iso-8859-1?Q?Vl9yJwadMgXGcv/3j5kJQz0WNDMxoKIhCVGP3H3KkRAzDsBZIFUNFJVFGL?=
 =?iso-8859-1?Q?kJ01RN+rd0dpR0tCrRbyUtwk09tp/fyTOag4brxQ60/8862OGiEqziN3nQ?=
 =?iso-8859-1?Q?v+2W0wm2rlrz3VpBuSI3e1bKSjtad5Hyxr4rk0udEjWzlkk0wE7KFQ3ieN?=
 =?iso-8859-1?Q?A7AHrx5zPUREPJwa8T7lCfBZCwegqGgmh+S5SDhFGjLw/FZHsyMgAP339r?=
 =?iso-8859-1?Q?ia+G6F5XSK2da2o4N6Ke+RQ//uSLCja/+FudgxE8zDCYs7S05/Q4pOnVC6?=
 =?iso-8859-1?Q?/M7PRDkbKlxLXsJJXwGtTSfZmD5BUq/KvS3OhQ7JiP3OZ0MGM3BkYiCt6a?=
 =?iso-8859-1?Q?fCJ0mJki6LrolvbhfXCiNy3Tn6qt2K6+6gJSyUGoHJTv2383hXT18VccEr?=
 =?iso-8859-1?Q?P3Qgg43+zLzFkZQEI5v3lDR+COTUE3ZRQRtbdNOn2jje2B/auAihLKhrAC?=
 =?iso-8859-1?Q?wf2G624e23DXrMdwKT41nvZ8PzQZXZnhJk7Mgyh4hU8Amgqj+xzkkR979+?=
 =?iso-8859-1?Q?TTN1E/9G1yArNq4F0tr1dsJzMUdP7KiWCV1pEeaLwcA9UrDwdirGNZ2K8C?=
 =?iso-8859-1?Q?I9yZeQ8BClOEOW5Rzwcm8UsLlvMLN2V/3aEhzwuede5YAfW0ZJ/AbX1WN/?=
 =?iso-8859-1?Q?Evr3/gs2dSd+0MJjwBwcPblISoCSFMDTIBzVAiT7wfK3RWfK1z96qbyyG2?=
 =?iso-8859-1?Q?4m02ibTfcndEUXfjyfqrSFcUs4TNNsBO4qKsQqHLqRwijKl7T3/POHIyIA?=
 =?iso-8859-1?Q?1bR1/VKoW26uf9lZFj9eq7vpQ7hUJp7PYFiPBkb8ECSNRvKHYbhA76bmNV?=
 =?iso-8859-1?Q?MRL21fFaaKwt2T/GOt4GQO2u2/XoezrApJBqtc11tYvVtLKoN6OW0xs3XX?=
 =?iso-8859-1?Q?yWoQugbekKXhVgsiCJNSVB28EvGZF6ELKjPBL4pqtg2End4GQvwl3HJu+F?=
 =?iso-8859-1?Q?GeIsYWyTHUBtcFovsTdq/f?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?0lNHF9ILrttFl/XtfR7RlWX2FhkA2oE9SKGTuZsQ/bmIQerZ8XQVv/iFRC?=
 =?iso-8859-1?Q?mu9fCBng/z72d56W9+TtQ4nL5x/WUvj2ZhBzuYcZTrWRFs4UkxAnNtfpoC?=
 =?iso-8859-1?Q?BbWT+dP+igOdzA7PqEGzOOwgg6DiIyzm3Z1etd1RKXuYC36zzl6NBUIG7Y?=
 =?iso-8859-1?Q?q/Mrq/mmdM5Rpqn3pcfjN0eCk3voXZV8U2Mc3/1KW969nhFaAjS+6FgLAF?=
 =?iso-8859-1?Q?Pvwg0IUiU9xDTN91CRDtokTPaYByb+O7JAvG8OAlDX9GI3SvFOMcPbdbiu?=
 =?iso-8859-1?Q?Lxsw7JcXJlcOWgmaymcg5rrML7IWTvHAGvvrSFVprUGuwsbP9EXOTDqzwL?=
 =?iso-8859-1?Q?zsXDbH06G22YM4cDZpPdELzjQuC8v38jiZD7BkRthcT1t34Gf5T+i5j7dl?=
 =?iso-8859-1?Q?TldhBfZ2tkyIql9i28tOEOvzgYvsGnkk0m8XCFFExVv3GdH6j4Lz6rsxWI?=
 =?iso-8859-1?Q?vqpSN9kgjLX6Us1wLJXl8BSZnWPwP0X3U5enhNFQXFVEfbD/SGiBKfWNOv?=
 =?iso-8859-1?Q?NPdkF8jIu58M7Pk6tkYD+4fZQzIgJWIjctLSsgBBQC/be94qkmLjWrYD2q?=
 =?iso-8859-1?Q?mq3VhZRqLqp4uKO1T/IvsRtNd4Of0HfRcCJQuhNv0/K7Lxl/47HnsZXlme?=
 =?iso-8859-1?Q?JpeAUJXVwQ38H8Td3zCXqGp7yfwmzIZtp5yPkxMrdRmAtzTqAYuxVEbAa8?=
 =?iso-8859-1?Q?zAQTtJBCFj8f2VVqsbMIhQ5O7EqApNVkWRRQbJyCu1IDHXn8hxJ35l6qCe?=
 =?iso-8859-1?Q?iqevqeZYwJtnXVpZCd7iQgN6yJy1oNZWHh+TFqGjhS7s23jsIvOq+sFgAa?=
 =?iso-8859-1?Q?Q5jGSdYN10/+kKcWAOJq/QTA0jyM09BRkvak5i4pIOjUXmY/7U79XtnkHa?=
 =?iso-8859-1?Q?5zooUmA5CRKam59Ei7BKZaSQqWVFt1Jq5xQ756LXihoBDB7ea2VpgAfZBj?=
 =?iso-8859-1?Q?n1I13GFt2CkC3e5MZpKeoFom1EWpqa3AEFgaHpwdGpjfr44O2KJrh5QOrr?=
 =?iso-8859-1?Q?P1ak+JlOxHsF2ixFprCH32WYe/+RP7ahEsYmCWlOLldtlL9Ys+CVevRoif?=
 =?iso-8859-1?Q?tONCE/P+PKVAQym7uAf5V+hjKCuwPNyF2HkBDbSxOmbs+OcgOIbM1H7/J2?=
 =?iso-8859-1?Q?9zvjgeybuTz7wvou90ynuvBSlqlKT8KD5/7zCZ0GTJ1r3DGSMl9k/baD7y?=
 =?iso-8859-1?Q?2FrZ1Gu1vs7RMnNsObSdjGHFB6MTM6lR+FyXivscR12eeUS/dUcU5HUl/Y?=
 =?iso-8859-1?Q?9vMRX5JogoJnFCrQjTkt+iD90RhOP6UA0vw7IMllkxLmqRae079R1mhvfm?=
 =?iso-8859-1?Q?QAMpdTKd/eVu0l8KADzawfja0vloo7ZkOLCoqL0i/LzmAWH2MFHG06coJr?=
 =?iso-8859-1?Q?cQkbOOa+3DIsZHdr0FsepW6vHCv8Oj+gBSIDrxZnNotooujkX+QgSx3cxP?=
 =?iso-8859-1?Q?OKTQiRqkBtHx+Kmxp25ia4rie4gaujkYXHmNVesa1zSd5w19y3K0VZiTHM?=
 =?iso-8859-1?Q?QiWADJBDgyj1YW5sn0dcIWXZSdaNMkiqEYs5jh8bf0HnrQMDg4/bi2iNWW?=
 =?iso-8859-1?Q?YmFuPX9t0WqTz9Nz0BlRF7cMEWomJ9wLVmJmW1u+9DvmdemTW0hxhB5N8+?=
 =?iso-8859-1?Q?5AvKHIXSv9NMSveP6ky1kNCQ7QknAI6pFg53uwxlxLlusN2jk61Tybjg?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e0578836-42e6-4abc-7244-08dd65c5609a
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 02:34:16.0130
 (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: 8i/762SC/KzsmrjtAuuNihrvG+nBMHiV82z4VrRDc7WT939L88apL/40++GB2sBqZpIIK0KGxod7hMGwMMt4CLTxIHu+TxiVWtKIjXZyiPs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10565

Both GCC and Clang support -fstack-protector feature, which add stack
canaries to functions where stack corruption is possible. This series
makes possible to use this feature in Xen. I tested this on ARM64 and
it is working as intended. Tested both with GCC and Clang. Also tested
with "-fstack-protector-all" compilation option to ensure that
initialization code works as expected.

It is hard to enable this feature on x86, as GCC stores stack canary
in %fs:40 by default, but Xen can't use %fs for various reasons. It is
possibly to change stack canary location new newer GCC versions, but
attempt to do this uncovered a whole host problems with GNU ld.
So, this series focus mostly on ARM.

Changes in v7:
 - Patch "common: remove -fno-stack-protector from EMBEDDED_EXTRA_CFLAGS"
   is taken into mainline
 - Updated CHANGELOG for v4.21
 - Updated stack-protector.h as per Jan's comments

Changes in v6:

 - Moved stack guard initialization code to the header file
 - Expanded commit message for "[PATCH v6 3/4] xen: arm:
   enable stack protector feature"
 - Dropped couple of R-b tags
 - Added comment to "PATCH v6 4/4] CHANGELOG.md: Mention
   stack-protector feature", mentioning that it should be reworked
   if (almost certainly) it will not get into 4.20.
 - Tested with "-fstack-protector-all"


Changes in v5:

 - ARM code calls boot_stack_chk_guard_setup() from early C code
 - Bringed back stack-protector.h because C code needs to call
   boot_stack_chk_guard_setup()
 - Fixed formatting
 - Added Andrew's R-b tag

Changes in v4:

 - Added patch to CHANGELOG.md
 - Removed stack-protector.h because we dropped support for
   Xen's built-in RNG code and rely only on own implementation
 - Changes in individual patches are covered in their respect commit
 messages

Changes in v3:

 - Removed patch for riscv
 - Changes in individual patches are covered in their respect commit
 messages

Changes in v2:

 - Patch "xen: common: add ability to enable stack protector" was
   divided into two patches.
 - Rebase onto Andrew's patch that removes -fno-stack-protector-all
 - Tested on RISC-V thanks to Oleksii Kurochko
 - Changes in individual patches covered in their respect commit
 messages

Volodymyr Babchuk (3):
  xen: common: add ability to enable stack protector
  xen: arm: enable stack protector feature
  CHANGELOG.md: Mention stack-protector feature

 CHANGELOG.md                      |  2 ++
 xen/Makefile                      |  4 ++++
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/setup.c              |  3 +++
 xen/common/Kconfig                | 15 ++++++++++++
 xen/common/Makefile               |  1 +
 xen/common/stack-protector.c      | 21 +++++++++++++++++
 xen/include/xen/stack-protector.h | 39 +++++++++++++++++++++++++++++++
 8 files changed, 86 insertions(+)
 create mode 100644 xen/common/stack-protector.c
 create mode 100644 xen/include/xen/stack-protector.h

--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 02:34:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 02:34:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918402.1323104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuMml-0004zK-Kd; Tue, 18 Mar 2025 02:34:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918402.1323104; Tue, 18 Mar 2025 02:34: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 1tuMml-0004yv-FL; Tue, 18 Mar 2025 02:34:31 +0000
Received: by outflank-mailman (input) for mailman id 918402;
 Tue, 18 Mar 2025 02:34: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=AvL5=WF=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1tuMmj-0004hg-TP
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 02:34:30 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170110001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83ba7bf9-03a1-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 03:34:28 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by VI0PR03MB10565.eurprd03.prod.outlook.com
 (2603:10a6:800:20c::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 02:34:20 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 02: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: 83ba7bf9-03a1-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=K67LyPoB975Ilfw7LW+VmhSKr/UmbGOuarOa9+WA6a9YVFIw+VVEJpPVCTZM9maqAp2WnUMT6boskntE0WJnJu4cDvDtwrhTH7Fr2+yVBe40ReKnz2rDiyR1ikfkDflYpsRZf2iRQBO7AleVd1KaPSZtc4ujdVpQJvOOrfk9oZ8ilzdtRQagsdPU2V5hcI9FVwa728iUu1n6Ln+D7adhpNnzSMym13DRCVNRMXXTrNxFMI17X6Nm6SfSG3EPoHCSLDAf2bO0+5HMuMSWwqte9afDgaiAcwD7/Fi7/2cbQrhMjeNVo/mCHQ5kcjtExCm/ugAVJiAA3GbS4hWZ02Bl2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=daQkFgoq5ipbNMtA3lu7b2NeP07vXt94awDw7fEV8oU=;
 b=T0Mhi+5xfQNdYbFGDSZUPayiW2ZfOgDAWjARfSgLNzXXCmyqMoT5CZL+Ua6SfHrWetxH053rMXCHFMjBpo0OqmltzWahKcW4+YLZ32IcvZuVZw26jzUSknVYJC1bsH72m1hqoqisG2x+3uRY8XNUkT24/lenmGkXUBRdXAsOOBm3hTg3SLlE6JUOjlt3rTqhn0bESo6Gy4Gag/cXIKszF20tPKu2asgbc0lJ+yXJJ+SLQcaKeaRR2XDwQMifaF1RyyMi4alJd0itzyTOQ58ERJPkKuD3F9MmO3xTKHtIDQdgIXJdoK0brCuR5vA3ZHTvg7PCppYSMMwvPwU1ZupchQ==
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=daQkFgoq5ipbNMtA3lu7b2NeP07vXt94awDw7fEV8oU=;
 b=av5WHprUpVkqjisjYGgkN0d3L9iw/+CwojNgQU13ZLFTAQWTrzS41Nu4K+i/eSZPWnlHHa3q3VpgRuzrljrUay3Ff+k8efbZUqhk+m6Gl9UhQlitKr6J7nK0OdL0q0VpgpxBAo0z5cLPknmUx4r2e/aQmiV86C8m1hfNB29zzCl7IZrkAqKUkl4pVa5ErZVtaqC/Rp+7D2BQGhzNNjEhWs6JQ/0w/BH09yLwyjYDsjXzZe9WicRE+uGo39jqpL7mlUDZikjwWHiD8GO2PfgFN+6FzzYYUvud/eeO5GUWI7IJlDI/yZP5A5CPHsH8U2I6ouyx3J1u9alYWzuxSCWMrA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 1/3] xen: common: add ability to enable stack protector
Thread-Topic: [PATCH v7 1/3] xen: common: add ability to enable stack
 protector
Thread-Index: AQHbl64+rhP4I7ynyU+rW59ZNq7NnA==
Date: Tue, 18 Mar 2025 02:34:16 +0000
Message-ID: <20250318023234.1210659-2-volodymyr_babchuk@epam.com>
References: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|VI0PR03MB10565:EE_
x-ms-office365-filtering-correlation-id: 3d11eea2-e491-4425-29e7-08dd65c56380
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?cnlVYlZZb1oxVThkcm1TQjIvcXlxUFljSElIUncxUWs0TmNTeGVXbTdNU3VZ?=
 =?utf-8?B?a3FmUTFOU2FUbzVJdFZzbjJIVHZKWmZVdHpHMDJTb09TMXVXNVVJSDVmci9W?=
 =?utf-8?B?WEJaWVRObEdPRGRJbzQ5SHVwRDkrT1BVT1VHNmYxQTdCaHVmWk1yb0NoaWpS?=
 =?utf-8?B?aEZrY2g2MnJacVRzLzdkdDN6VnYvWVRXZGNVVEcrS0o5UlJhK3hTbUVnRFFi?=
 =?utf-8?B?ZUtnc2JQRzdWNGJYZ0gvSEwzQWhIblB0anFPWk0yTkFCT0NCQU5HRExWTU1O?=
 =?utf-8?B?S1RBMk1jQ3I5SjFDL2wrRnM1ZUl1aUEwSmh0VG8wNFdxNDZBNWlpK2hXME9Q?=
 =?utf-8?B?TFgwR0h1SVQ0Q0tIeGV3aDg3RnRBRGhWRUg5WE9TM0J5dlBxS1p6eURnNUhy?=
 =?utf-8?B?TVFwZzgrMnp4dzM5R3FSUXVGTTRGdXVjdEpzb1IyQkU4T0hOWGVGd0UvSFRZ?=
 =?utf-8?B?TS8vVUlrWHFJMklSWEF6c2RZUC9kdllNdk1MR2psVkRsT0FPVzVDbm80ZFJh?=
 =?utf-8?B?V3BPR01ydUx6cE00cm16My9JS3dBVW1FekFpMUx1MWFub3NLdFVZRmFvZG1W?=
 =?utf-8?B?N0NOb3FFUzI2RzJhNUFPZC9KRnlneFcvMVB0aWZBY1NRcDh5bmJwbFA3V2Zm?=
 =?utf-8?B?d1BhdGttZ0xIcGM0TllYcGZiUWIwaHoxdUM4eElVV0g2eHpCMUJTKytZaWlC?=
 =?utf-8?B?TTg2STV0blRHYkZxcDc4dFpXaEpIeklhUmlnMSszR0RRLzk0WHIxSzNzNVNN?=
 =?utf-8?B?MWNKbGYycjlrSkp0a0RJTkJNUUtmNDIzTUZKcHo1RmFxVDZwbmNHelp6L1ZL?=
 =?utf-8?B?M3QxRlpxajB2SXJBbDlhRm00UStKbSsrY2VlV0hyN2ZycGQ1amxEWEF0WXV3?=
 =?utf-8?B?eFBRcUFwcEc5Y1VJRHdOZkhzNm12K3NsUTM1elY2TGthMUo4WEFTRlJINzli?=
 =?utf-8?B?Ny9jOEltV3BST21ZSUVaWGpIZHBxUUp3SjFpSnA3OXVqcGcvVURZT0UrQVVL?=
 =?utf-8?B?MGRyOUxGVG5HbzlHTW53ckEydC9ncDJYS0NRckNzd0xFSTFOdDVNZmVjNkFo?=
 =?utf-8?B?dU1Ma0tEd1JlbmRnekozVnRnbkVyWExKUzk0akV3S2M2TlZDQ2RSa3VtNlgw?=
 =?utf-8?B?RWV5K3ZjdGwzektTeVFIZjllYUtSMkFjMjdlZm1uNGZoNGJGQ3I4cjRKV3k0?=
 =?utf-8?B?RElWOWFHR0lPdkt4S0hMLzN0UzlYUXF5cHo4QkV1QldQSVRLMEVBUzlBaHQ1?=
 =?utf-8?B?a3BMMTVOdHZSUGdtRmZLWHJjT3lmZmtLVngyMTY3WjhvNEt5cUFBWXNkS1dK?=
 =?utf-8?B?bGRJaUxJbnNFR0dnbEJNTWFUWUJUaWUrblV1dEs1TnAwcjF5OFFDYUFnRS9N?=
 =?utf-8?B?Qmt4N3VzalNucWtLS2tBYkRPNUxIQWVEMVR0M2FSdVNxRUU3RFpNR3JPSVNo?=
 =?utf-8?B?UENqTFMxeTIxRzBBNWxTQlFabnNjUEd6Slh0VVgwMld3OUpIZ3k2ZlZxRGs0?=
 =?utf-8?B?L29ESWVTd0NxN3dOMVpnY1RIaXhUbkxKNXBhNXhWQTBtWGRxSmVvQkpBNTdF?=
 =?utf-8?B?RStXY2hiM1Y2YlZ1dTVNcFhvMXlEQTcwbDFnMXFKSm9ndW11SUZiWFZ1ak4y?=
 =?utf-8?B?aDNLWm9xVnF3SHpLRzlEdDVVK3VEMlV3RGE5OFF2cXI4ZVZUL0FtY3k0aUlj?=
 =?utf-8?B?N1BRWjlOang4dVArR3h3Tm5TalpCM29WbjZpYk51b3pDTFp0Vno0UmtuWkRk?=
 =?utf-8?B?M1dPSHFLei9KU0I4ZzVPaTNHa2xnVy9MSU1XcEdzeUdDQ1hDMVlTL1NOOTdk?=
 =?utf-8?B?SDdud0hmdEVRRENLZGFjYzUwVCtsZHpCaDVaMEY5VjRtR241WE9tanR4bmU0?=
 =?utf-8?B?UWM2SUt3TU1PTGFvL2dQWGI4VkhLVFpUYU91WDBoakYzVmZoZHpOLzBnOUo5?=
 =?utf-8?Q?hr4TIuyTVkzXv171ulRlY6yjRxPmkKXi?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dUZVNjhtNE5VUDhuT1VzL0tSWGdjT0hrcjJMalRScEpSQnFNaHpONEdYMk1k?=
 =?utf-8?B?RDZydFIwdkFwVEtCNnJQOTdWZHc2VmlIZjZtT2pQOWhvbDB0TGdjVTZ3TERN?=
 =?utf-8?B?ajNLODhGRytsUDJuMUJxbDMzVENkVW1QSjBQUk5wVWkreENsYjVrME5QSUpz?=
 =?utf-8?B?SkxzdFU5Ulhvam5JaWh3SU5ybDFGdUczS2tNSEE5OFUrVzFDTmRyZ01rcHUz?=
 =?utf-8?B?Y1JmaWd6S2tNVnJMa1NUUEJXNnhGSVlNeGdSUUYvbXp3Zk16bnYyem1lOWts?=
 =?utf-8?B?cVh1TkhMUlVja0JZcWE2V0NsQ2Q1WXlGc0NmUjVBazdSU2VjWmhYcm5BL1gv?=
 =?utf-8?B?Q3JudkJTaGdGS3VIUjduTnd2K1dOdjZxQnF6eTlhMnhBZ3VNMURpSFRnc25w?=
 =?utf-8?B?d1krcXVZVTV1aVJ3QkdDZjJmbzZHMUtkTkpOUlVLNjcrTTBxUXI4Ymc5cC9L?=
 =?utf-8?B?SnJJaDltV2pQdDU3V0RKMjdpSVlyYUhJa0t3SkxQTTg2U3lqQWVkcnk5YVlu?=
 =?utf-8?B?RE8vMzBUcDI4L0E1akNESy9nMGV3OVBLYTA2T3dwS1FKNGF6YTY0eEd0UHgy?=
 =?utf-8?B?ZFVPRVNoU0QyVHh6MG9GamNZcFdZdy9ZNUcvYWpHTjhMSVVTOGlJSmF6clVJ?=
 =?utf-8?B?YnN3NXBOQzZpZEhlanlIL09UV1FkNHNWdjkxTEU3NjErZ25pb2ZrZU1LQ0J5?=
 =?utf-8?B?eEpDcmxJdkFwVWFXRm9LalNrMWU2VTRuUVRmK2RBT01oM2ZDanFQLzRucGFN?=
 =?utf-8?B?MC9idzVVZnVJb00xdVpDaU9zeWpSK1VIOUdCeDUzN0dZSkNYV0J0TzNnWmk3?=
 =?utf-8?B?VWpSQm9HcmRqWVdTaUFRMnJGajFXQ1hyajM2Y1FtbzRka2tCOG9VV2RHQWo3?=
 =?utf-8?B?bHNYSWJSVHlLWDQ3ZG1KYXNWbzZ1OURwcWRGRENjZnkrdDVxZ3djcGdQTFdk?=
 =?utf-8?B?Z0dFZDNCdVN2ekRHWkwxTUU5M1F5NDg2Z2t1QUdkdDEvSkZUd2ZmaEY5Qzd3?=
 =?utf-8?B?ZCtjMm9PM3paMnBOZXp6Qmc3VWU0Z0EzN1ZCMDFyNFgraUNGRDZlRWwyT3BD?=
 =?utf-8?B?alEyMU0vRjhYWjVhalpBVk9JT1hyc0p3elJVMUhHYitCV0hYVU9jMjQxT1RV?=
 =?utf-8?B?M1FYM2ZyT3R3a2tMSmltaXRDYTNCZFYxM2lmeHRNVk5pemlXTllBOE5PYytl?=
 =?utf-8?B?VTFLK1R0NUJVaVhQNXJBNU90eFRmeGhrUW01VFJKTTFuWnBhbllNdU5tV2Vm?=
 =?utf-8?B?SWxudkVNWitEbWYwdStwN05IS3hkaVNlYlBka0lqVGtjUDNMcmVMVWw5TURa?=
 =?utf-8?B?R3g2WFIycXM1S2xJckplbGtWc2FpVjRaQ1RzLy9mZFh0d1E5K0xMeWhXcTVh?=
 =?utf-8?B?U3c1cEFDdEk3S0dyWmZ5MDA5dnRoTTA4TmYrM1pzWjM2ck04TjhucEF3YUhT?=
 =?utf-8?B?TmxTbHRUY1NoL0hBaW4wTlEvM1ZvOXV5cTE5N2xOZDdQU09VejJnSzIrT3l1?=
 =?utf-8?B?eEI0VzNZU0JMajFIdWlWc3hjTmttTndLQWw0UzhZL2FXa3k2QllUWWlnMlNS?=
 =?utf-8?B?eVBndGN5YmxBMU53K04ram9XMWVSRUVMb3REaGRIV2RaNy94L2dlbUZPMWhp?=
 =?utf-8?B?QTZjQ295NUxrZ2lGeVY0aWZnYk1DRFppcEhIYkZPNThhdisxdGk0ZmVuZTZ2?=
 =?utf-8?B?NVppdFZQVzlBNnpRWkUwb0U2NlEzQXdhQ1dKSXFJSEV3eGkvY1J1aGNNVCtu?=
 =?utf-8?B?UllkNTFmY08yMm5pRko1L3lkNmNkK3c3RjI3WFJ0UlVkTWVWUDBaeDdHdXNL?=
 =?utf-8?B?QnVnSitFeWVkWDZZbWFjeUwzdk1hSy9zdnpxMGtKc29kVFhjM1l5TlE2K2x2?=
 =?utf-8?B?bGRKdlBXZVN0NEpYUE1yRjhuMnV1dVQrWGQvOUFKNFZFV21OeXU3eDEvbXNK?=
 =?utf-8?B?Q0ZHMDhkMVM4ekdESkRyTXBGOTFZS0FiQVhBcDNYbjdVWEpBRWdvck1yTmQ0?=
 =?utf-8?B?MjA5cHk3UXR0clkwdVdHVFk2dC9BQm9sRjVQdlpKZUN5dmdFTmFjdTAwY1J6?=
 =?utf-8?B?YkVXSkk4TC81OVAxbnZzeUYvS3dNaDYwY3J5ZHo3bUlpeERsaS9MdTRnZXVz?=
 =?utf-8?B?bFpLVytyQVRSbXFWOWJJUjh4VlV2d3BoMFJnQ0JkNFMyWS83MnE2aklYUmNZ?=
 =?utf-8?B?SlE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C3239571861B0B47AF2ED13F7C53F699@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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d11eea2-e491-4425-29e7-08dd65c56380
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 02:34:16.5494
 (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: plaHtDOt6OGHFBDSfbwc0W6WN9vog2Z3GWZZRxLyevtjOrRgYf6RAL+CVaQwKUImO6QspGz6vHRMcCFwIQYHZdR7zpWbc/+yReYZwIVissU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10565

Qm90aCBHQ0MgYW5kIENsYW5nIHN1cHBvcnQgLWZzdGFjay1wcm90ZWN0b3IgZmVhdHVyZSwgd2hp
Y2ggYWRkIHN0YWNrDQpjYW5hcmllcyB0byBmdW5jdGlvbnMgd2hlcmUgc3RhY2sgY29ycnVwdGlv
biBpcyBwb3NzaWJsZS4gVGhpcyBwYXRjaA0KbWFrZXMgZ2VuZXJhbCBwcmVwYXJhdGlvbnMgdG8g
ZW5hYmxlIHRoaXMgZmVhdHVyZSBvbiBkaWZmZXJlbnQNCnN1cHBvcnRlZCBhcmNoaXRlY3R1cmVz
Og0KDQogLSBBZGRlZCBDT05GSUdfSEFTX1NUQUNLX1BST1RFQ1RPUiBvcHRpb24gc28gZWFjaCBh
cmNoaXRlY3R1cmUNCiAgIGNhbiBlbmFibGUgdGhpcyBmZWF0dXJlIGluZGl2aWR1YWxseQ0KIC0g
QWRkZWQgdXNlci1zZWxlY3RhYmxlIENPTkZJR19TVEFDS19QUk9URUNUT1Igb3B0aW9uDQogLSBJ
bXBsZW1lbnRlZCBjb2RlIHRoYXQgc2V0cyB1cCByYW5kb20gc3RhY2sgY2FuYXJ5IGFuZCBhIGJh
c2ljDQogICBoYW5kbGVyIGZvciBzdGFjayBwcm90ZWN0b3IgZmFpbHVyZXMNCg0KU3RhY2sgZ3Vh
cmQgdmFsdWUgaXMgaW5pdGlhbGl6ZWQgaW4gdHdvIHBoYXNlczoNCg0KMS4gUHJlLWRlZmluZWQg
cmFuZG9tbHktc2VsZWN0ZWQgdmFsdWUuDQoNCjIuIE93biBpbXBsZW1lbnRhdGlvbiBsaW5lYXIg
Y29uZ3J1ZW50IHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLiBJdA0KcmVsaWVzIG9uIGdldF9jeWNs
ZXMoKSBiZWluZyBhdmFpbGFibGUgdmVyeSBlYXJseS4gSWYgZ2V0X2N5Y2xlcygpDQpyZXR1cm5z
IHplcm8sIGl0IHdvdWxkIGxlYXZlIHByZS1kZWZpbmVkIHZhbHVlIGZyb20gdGhlIHByZXZpb3Vz
DQpzdGVwLg0KDQpib290X3N0YWNrX2Noa19ndWFyZF9zZXR1cCgpIGlzIGRlY2xhcmVkIGFzIGlu
bGluZSwgc28gaXQgY2FuIGJlDQpjYWxsZWQgZnJvbSBDIGNvZGUuIE9mIGNvdXJzZSwgaW4gdGhp
cyBjYXNlLCBjYWxsZXIgc2hvdWxkIGVuc3VyZSB0aGF0DQpzdGFjayBwcm90ZWN0aW9uIGNvZGUg
d2lsbCBub3QgYmUgcmVhY2hlZC4gSXQgaXMgcG9zc2libGUgdG8gY2FsbCB0aGUNCnNhbWUgZnVu
Y3Rpb24gZnJvbSBBU00gY29kZSBieSBpbnRyb2R1Y2luZyBzaW1wbGUgdHJhbXBvbGluZSBpbg0K
c3RhY2stcHJvdGVjdG9yLmMsIGJ1dCByaWdodCBub3cgdGhlcmUgaXMgbm8gdXNlIGNhc2UgZm9y
IHN1Y2gNCnRyYW1wb2xpbmUuDQoNClNpZ25lZC1vZmYtYnk6IFZvbG9keW15ciBCYWJjaHVrIDx2
b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4NCg0KLS0tDQoNCkNoYW5nZXMgaW4gdjc6DQogLSBk
ZWNsYXJlZCBib290X3N0YWNrX2Noa19ndWFyZF9zZXR1cCBhcyBhbHdheXNfaW5saW5lDQogLSBt
b3ZlZCBgI2lmZGVmIENPTkZJR19TVEFDS19QUk9URUNUT1JgIGluc2lkZSB0aGUgZnVuY3Rpb24N
Cg0KQ2hhbmdlcyBpbiB2NjoNCiAtIGJvb3Rfc3RhY2tfY2hrX2d1YXJkX3NldHVwKCkgbW92ZWQg
dG8gc3RhY2stcHJvdGVjdG9yLmgNCiAtIFJlbW92ZWQgQW5kcmV3J3Mgci1iIHRhZw0KDQpDaGFu
Z2VzIGluIHY1Og0KIC0gRml4ZWQgaW5kZW50YXRpb24NCiAtIEFkZGVkIHN0YWNrLXByb3RlY3Rv
ci5oDQotLS0NCiB4ZW4vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysrDQog
eGVuL2NvbW1vbi9LY29uZmlnICAgICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrDQogeGVu
L2NvbW1vbi9NYWtlZmlsZSAgICAgICAgICAgICAgIHwgIDEgKw0KIHhlbi9jb21tb24vc3RhY2st
cHJvdGVjdG9yLmMgICAgICB8IDIxICsrKysrKysrKysrKysrKysrDQogeGVuL2luY2x1ZGUveGVu
L3N0YWNrLXByb3RlY3Rvci5oIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K
IDUgZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCB4
ZW4vY29tbW9uL3N0YWNrLXByb3RlY3Rvci5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNs
dWRlL3hlbi9zdGFjay1wcm90ZWN0b3IuaA0KDQpkaWZmIC0tZ2l0IGEveGVuL01ha2VmaWxlIGIv
eGVuL01ha2VmaWxlDQppbmRleCA1OGZhZmFiMzNkLi44ZmM0ZTA0MmZmIDEwMDY0NA0KLS0tIGEv
eGVuL01ha2VmaWxlDQorKysgYi94ZW4vTWFrZWZpbGUNCkBAIC00MzUsNyArNDM1LDExIEBAIGVs
c2UNCiBDRkxBR1NfVUJTQU4gOj0NCiBlbmRpZg0KIA0KK2lmZXEgKCQoQ09ORklHX1NUQUNLX1BS
T1RFQ1RPUikseSkNCitDRkxBR1MgKz0gLWZzdGFjay1wcm90ZWN0b3INCitlbHNlDQogQ0ZMQUdT
ICs9IC1mbm8tc3RhY2stcHJvdGVjdG9yDQorZW5kaWYNCiANCiBpZmVxICgkKENPTkZJR19MVE8p
LHkpDQogQ0ZMQUdTICs9IC1mbHRvDQpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9LY29uZmlnIGIv
eGVuL2NvbW1vbi9LY29uZmlnDQppbmRleCBhNmFhMmM1YzE0Li4yZjZjNzRmMTFlIDEwMDY0NA0K
LS0tIGEveGVuL2NvbW1vbi9LY29uZmlnDQorKysgYi94ZW4vY29tbW9uL0tjb25maWcNCkBAIC04
Myw2ICs4Myw5IEBAIGNvbmZpZyBIQVNfUE1BUA0KIGNvbmZpZyBIQVNfU0NIRURfR1JBTlVMQVJJ
VFkNCiAJYm9vbA0KIA0KK2NvbmZpZyBIQVNfU1RBQ0tfUFJPVEVDVE9SDQorCWJvb2wNCisNCiBj
b25maWcgSEFTX1VCU0FODQogCWJvb2wNCiANCkBAIC0yMTYsNiArMjE5LDE4IEBAIGNvbmZpZyBT
UEVDVUxBVElWRV9IQVJERU5fTE9DSw0KIA0KIGVuZG1lbnUNCiANCittZW51ICJPdGhlciBoYXJk
ZW5pbmciDQorDQorY29uZmlnIFNUQUNLX1BST1RFQ1RPUg0KKwlib29sICJTdGFjayBwcm90ZWN0
b3IiDQorCWRlcGVuZHMgb24gSEFTX1NUQUNLX1BST1RFQ1RPUg0KKwloZWxwDQorCSAgRW5hYmxl
IHRoZSBTdGFjayBQcm90ZWN0b3IgY29tcGlsZXIgaGFyZGVuaW5nIG9wdGlvbi4gVGhpcyBpbnNl
cnRzIGENCisJICBjYW5hcnkgdmFsdWUgaW4gdGhlIHN0YWNrIGZyYW1lIG9mIGZ1bmN0aW9ucywg
YW5kIHBlcmZvcm1zIGFuIGludGVncml0eQ0KKwkgIGNoZWNrIG9uIGZ1bmN0aW9uIGV4aXQuDQor
DQorZW5kbWVudQ0KKw0KIGNvbmZpZyBESVRfREVGQVVMVA0KIAlib29sICJEYXRhIEluZGVwZW5k
ZW50IFRpbWluZyBkZWZhdWx0Ig0KIAlkZXBlbmRzIG9uIEhBU19ESVQNCmRpZmYgLS1naXQgYS94
ZW4vY29tbW9uL01ha2VmaWxlIGIveGVuL2NvbW1vbi9NYWtlZmlsZQ0KaW5kZXggYWMyMzEyMGQ3
ZC4uOTJjNDkxMjdjOSAxMDA2NDQNCi0tLSBhL3hlbi9jb21tb24vTWFrZWZpbGUNCisrKyBiL3hl
bi9jb21tb24vTWFrZWZpbGUNCkBAIC00Niw2ICs0Niw3IEBAIG9iai15ICs9IHNodXRkb3duLm8N
CiBvYmoteSArPSBzb2Z0aXJxLm8NCiBvYmoteSArPSBzbXAubw0KIG9iai15ICs9IHNwaW5sb2Nr
Lm8NCitvYmotJChDT05GSUdfU1RBQ0tfUFJPVEVDVE9SKSArPSBzdGFjay1wcm90ZWN0b3Iubw0K
IG9iai15ICs9IHN0b3BfbWFjaGluZS5vDQogb2JqLXkgKz0gc3ltYm9scy5vDQogb2JqLXkgKz0g
dGFza2xldC5vDQpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zdGFjay1wcm90ZWN0b3IuYyBiL3hl
bi9jb21tb24vc3RhY2stcHJvdGVjdG9yLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw
MDAwMDAwMDAwLi45MDg5Mjk0ZDMwDQotLS0gL2Rldi9udWxsDQorKysgYi94ZW4vY29tbW9uL3N0
YWNrLXByb3RlY3Rvci5jDQpAQCAtMCwwICsxLDIxIEBADQorLyogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KKyNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0KKyNpbmNsdWRl
IDx4ZW4vbGliLmg+DQorI2luY2x1ZGUgPHhlbi9yYW5kb20uaD4NCisjaW5jbHVkZSA8eGVuL3Rp
bWUuaD4NCisNCisvKg0KKyAqIEluaXRpYWwgdmFsdWUgaXMgY2hvc2VuIGJ5IGEgZmFpciBkaWNl
IHJvbGwuDQorICogSXQgd2lsbCBiZSB1cGRhdGVkIGR1cmluZyBib290IHByb2Nlc3MuDQorICov
DQorI2lmIEJJVFNfUEVSX0xPTkcgPT0gMzINCit1bnNpZ25lZCBsb25nIF9fcm9fYWZ0ZXJfaW5p
dCBfX3N0YWNrX2Noa19ndWFyZCA9IDB4ZGQyY2M5MjdVTDsNCisjZWxzZQ0KK3Vuc2lnbmVkIGxv
bmcgX19yb19hZnRlcl9pbml0IF9fc3RhY2tfY2hrX2d1YXJkID0gMHgyZDg1MzYwNWE0ZDlhMDlj
VUw7DQorI2VuZGlmDQorDQordm9pZCBhc21saW5rYWdlIF9fc3RhY2tfY2hrX2ZhaWwodm9pZCkN
Cit7DQorICAgIGR1bXBfZXhlY3V0aW9uX3N0YXRlKCk7DQorICAgIHBhbmljKCJTdGFjayBQcm90
ZWN0b3IgaW50ZWdyaXR5IHZpb2xhdGlvbiBpZGVudGlmaWVkXG4iKTsNCit9DQpkaWZmIC0tZ2l0
IGEveGVuL2luY2x1ZGUveGVuL3N0YWNrLXByb3RlY3Rvci5oIGIveGVuL2luY2x1ZGUveGVuL3N0
YWNrLXByb3RlY3Rvci5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4u
Yzc2YzYwMTM5OQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIveGVuL2luY2x1ZGUveGVuL3N0YWNrLXBy
b3RlY3Rvci5oDQpAQCAtMCwwICsxLDM5IEBADQorI2lmbmRlZiBfX1hFTl9TVEFDS19QUk9URUNU
T1JfSF9fDQorI2RlZmluZSBfX1hFTl9TVEFDS19QUk9URUNUT1JfSF9fDQorDQorZXh0ZXJuIHVu
c2lnbmVkIGxvbmcgX19zdGFja19jaGtfZ3VhcmQ7DQorDQorLyoNCisgKiBUaGlzIGZ1bmN0aW9u
IHNob3VsZCBiZSBjYWxsZWQgZnJvbSBhIEMgZnVuY3Rpb24gdGhhdCBlc2NhcGVzIHN0YWNrDQor
ICogY2FuYXJ5IHRyYWNraW5nIChieSBjYWxsaW5nIHJlc2V0X3N0YWNrX2FuZF9qdW1wKCkgZm9y
IGV4YW1wbGUpLg0KKyAqLw0KK3N0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgYm9vdF9zdGFja19j
aGtfZ3VhcmRfc2V0dXAodm9pZCkNCit7DQorI2lmZGVmIENPTkZJR19TVEFDS19QUk9URUNUT1IN
CisNCisJLyoNCisgICAgICogTGluZWFyIGNvbmdydWVudCBnZW5lcmF0b3IgKFhfbisxID0gWF9u
ICogYSArIGMpLg0KKyAgICAgKg0KKyAgICAgKiBDb25zdGFudCBpcyB0YWtlbiBmcm9tICJUYWJs
ZXMgT2YgTGluZWFyIENvbmdydWVudGlhbA0KKyAgICAgKiBHZW5lcmF0b3JzIE9mIERpZmZlcmVu
dCBTaXplcyBBbmQgR29vZCBMYXR0aWNlIFN0cnVjdHVyZSIgYnkNCisgICAgICogUGllcnJlIEzi
gJlFY3V5ZXIuDQorICAgICAqLw0KKyNpZiBCSVRTX1BFUl9MT05HID09IDMyDQorICAgIGNvbnN0
IHVuc2lnbmVkIGxvbmcgYSA9IDI4OTEzMzY0NTNVTDsNCisjZWxzZQ0KKyAgICBjb25zdCB1bnNp
Z25lZCBsb25nIGEgPSAyODYyOTMzNTU1Nzc3OTQxNzU3VUw7DQorI2VuZGlmDQorICAgIGNvbnN0
IHVuc2lnbmVkIGxvbmcgYyA9IDE7DQorDQorICAgIHVuc2lnbmVkIGxvbmcgY3ljbGVzID0gZ2V0
X2N5Y2xlcygpOw0KKw0KKyAgICAvKiBVc2UgdGhlIGluaXRpYWwgdmFsdWUgaWYgd2UgY2FuJ3Qg
Z2VuZXJhdGUgcmFuZG9tIG9uZSAqLw0KKyAgICBpZiAoICFjeWNsZXMgKQ0KKyAgICAgICAgcmV0
dXJuOw0KKw0KKyAgICBfX3N0YWNrX2Noa19ndWFyZCA9IGN5Y2xlcyAqIGEgKyBjOw0KKw0KKyNl
bmRpZgkvKiBDT05GSUdfU1RBQ0tfUFJPVEVDVE9SICovDQorfQ0KKw0KKyNlbmRpZgkvKiBfX1hF
Tl9TVEFDS19QUk9URUNUT1JfSF9fICovDQotLSANCjIuNDguMQ0K


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 04:01:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 04:01:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918493.1323144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuO8R-0007Q1-8H; Tue, 18 Mar 2025 04:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918493.1323144; Tue, 18 Mar 2025 04:00: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 1tuO8R-0007Pu-5f; Tue, 18 Mar 2025 04:00:59 +0000
Received: by outflank-mailman (input) for mailman id 918493;
 Tue, 18 Mar 2025 04:00: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=sAjx=WF=boeing.com=anderson.choi@srs-se1.protection.inumbo.net>)
 id 1tuO8Q-0007Po-29
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 04:00:58 +0000
Received: from ewa-mbsout-01.mbs.boeing.net (ewa-mbsout-01.mbs.boeing.net
 [130.76.20.194]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 956b803a-03ad-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 05:00:53 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by ewa-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52I40oC4030284; Mon, 17 Mar 2025 21:00:51 -0700
Received: from ewa-av-01.mbs.boeing.net (ewa-av-01.mbs.boeing.net
 [137.137.51.75])
 by ewa-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52I40dAF030183
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 17 Mar 2025 21:00:39 -0700
Received: from localhost (localhost [127.0.0.1])
 by ewa-av-01.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_RELAY) with SMTP id
 52I40cuL060834; Mon, 17 Mar 2025 21:00:38 -0700
Received: from A6509144.boeing.com ([144.112.84.220])
 by ewa-av-01.mbs.boeing.net (8.15.2/8.15.2/UPSTREAM_RELAY) with ESMTP id
 52I40PgY059836; Mon, 17 Mar 2025 21:00: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: 956b803a-03ad-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1742270451;
	bh=4L6rbM9kK/J7CXbTx1oIa/6hfpi4xWIOYGiXWXnEr+U=;
	h=From:To:Cc:Subject:Date:From;
	b=CKvYIrUTzS3Mfw728QSafDQ5b5WzQM6gFornrZLcRRA1gLfVj9Vxd6ugfit/8uSbS
	 +Ru+g4AHVCXmffXmeRAfDu1WxCr8Wq1HqYg4fj68VcXwMEZEXkpLNsG6dJq3BDhnn3
	 NgXiJ+JuwJ+eu3fDr8QR0dgYlDeDisdp+//1G87zX+wM5eCLffNh7y6V915W5NALqq
	 3c0YLUIMXs3N8zlB0EusA4AdbLZHXyvLnr6scrqK/cbV8CGXAYoQn1l9S3fFaZJhSW
	 UUcY9LxKobW5hsuzgYWx/SYgzklyzf8GGpe4kDP3aGdSh6LnSHURA5/J2zXR60jOHE
	 DdBzgmSek6HvQ==
From: Anderson Choi <anderson.choi@boeing.com>
To: xen-devel@lists.xenproject.org
Cc: nathan.studer@dornerworks.com, stewart@stew.dk,
        matthew.l.weber3@boeing.com, joshua.c.whitehead@boeing.com,
        andrew.cooper3@citrix.com, jgross@suse.com,
        Anderson Choi <anderson.choi@boeing.com>
Subject: [PATCH] xen/sched: call xfree() after local IRQ is enabled
Date: Tue, 18 Mar 2025 13:00:23 +0900
Message-ID: <20250318040023.4998-1-anderson.choi@boeing.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00

xen panic is observed with the following configuration.

1. Debug xen build (CONFIG_DEBUG=y)
2. dom1 of an ARINC653 domain
3. shutdown dom1 with xl command

$ xl shutdown <domain_name>

(XEN) ****************************************
(XEN) Panic on CPU 2:
(XEN) Assertion '!in_irq() && (local_irq_is_enabled() ||
num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714
(XEN) ****************************************

panic was triggered since xfree() was called with local IRQ disabled and
therefore assertion failed.

Fix this by calling xfree() after local IRQ is enabled.

Fixes: 19049f8d796a sched: fix locking in a653sched_free_vdata()
Signed-off-by: Anderson Choi <anderson.choi@boeing.com>
---
 xen/common/sched/arinc653.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index 0a3733c04e90..b95492e1d96f 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -463,10 +463,11 @@ a653sched_free_udata(const struct scheduler *ops, void *priv)
     if ( !is_idle_unit(av->unit) )
         list_del(&av->list);
 
-    xfree(av);
     update_schedule_units(ops);
 
     spin_unlock_irqrestore(&sched_priv->lock, flags);
+
+    xfree(av);
 }
 
 /**
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 06:24:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 06:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918505.1323154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuQNU-0007zq-Ug; Tue, 18 Mar 2025 06:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918505.1323154; Tue, 18 Mar 2025 06:24: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 1tuQNU-0007zj-Ru; Tue, 18 Mar 2025 06:24:40 +0000
Received: by outflank-mailman (input) for mailman id 918505;
 Tue, 18 Mar 2025 06:24: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuQNT-0007zd-S9
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 06:24: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 a8b373a0-03c1-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 07:24:34 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso21676785e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 23:24:34 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70b:b4be:a081:f026:906f:3550?
 (p200300cab70bb4bea081f026906f3550.dip0.t-ipconnect.de.
 [2003:ca:b70b:b4be:a081:f026:906f:3550])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6e87sm17660134f8f.32.2025.03.17.23.24.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 23:24: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: a8b373a0-03c1-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742279074; x=1742883874; 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=A9mrN/CFcW5yLLJc/Kpoc03mwyx2npQsmOMSuWXzQLo=;
        b=M/koEZeGm6JGgw03B7MHuB+qylkvSFgdULwhGCbPvbVeNpke/341v8ZO2zvAD8ZmDI
         axqAZ0gx1XiMn1Ceb9JxVEZ3CpcKCAqZSCKkIyKdOFdnig3KeilsX5DFw2+QnQW8Insl
         cOpMKgvR1a3LBZvjOZ3kh/whyTh5in6gVoeghxA5TIQU+gmWADfeuRQErHzwmdEeJPNx
         dZMyGPJJSLfybETbj7fHRlhuCAK/BfXDF+Xzb7QF25NwnXvYr5Le8mOSxFEBOQKtEXUG
         StFbr04zj7xCzsx0c1dzcVof1gzCkBNn7jqPGb8JaKMDoFDkT7s5/cvr9e5mEms9H25m
         N2AQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742279074; x=1742883874;
        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=A9mrN/CFcW5yLLJc/Kpoc03mwyx2npQsmOMSuWXzQLo=;
        b=NF5tbXA1dpQbnEFRNDS/gN+EUPVV8Z29c2eTKfIdyJQxXeZh80/SHUx00qNm6iRcn6
         u6whGWtr4wKSdQuAL251EsvjRQqXq6OcIosdF5yABiai0l0MTK3HBoUXhPM1zWOMM2rY
         1/oaxItcS4pEHca0USMULKcq+mcDrHuvraoliHjaGzGON3BVV9+O+ZetSeqZgiETt31u
         /oiBhNJxY17eMzOhQz88Ma/Rtu+18uNbPY0vv+Aw3Y147zet9zZHLYJoT9/+umHoEIKF
         G/PazAd8JbyFiuQGgormI5P9w0zVWh7r6EcSlqSCsgj8IKrRIYPL5a6tNkn6FMhBx11n
         Hh6Q==
X-Forwarded-Encrypted: i=1; AJvYcCVlEm/2o+42D6QGqryFB5ZuZ+lRozVA7wuiP+zallpJiLt8csZbExcMk+sPC6QWuV+i76slS8lUmpE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOZ9tOQN+HKnvBQE7kJ54y4q53ytyWr4TkgWSviPJK37MAPTX1
	SzO+4QepG8PieTb5thpE+ududHZw1Oahfj4N7/TFIPYg0QJt6e2gy658UHPaGA==
X-Gm-Gg: ASbGncuWEMO6+yXmpsFiwJeoyjIWkfsYNaunqmTeV6/jlQuZRtGLrYdRDvmv2izjwlC
	qVklC6DegmgsjulTcNdvAZl3vV14EI5zkVqA2Oww265WfSopr+mWYSdnV2S0XzA1m/n2tv4PuMt
	1rJJoTp5lXVauZKr6uBHhFex+FFHrOqSiURhH2U4GpCVjhOBPbJ8IS0vvolilbJ9vAii2KbNpPz
	zMuFBSiOjjAoqb3Yh8jNZ8J3KP2ZZz/1ufPx+IQBrCa0q6dKJHxfQOSRS/BteMzCRsqRUrVw3ek
	4gUz6wUYySI/ZEzgEP3wBBtEqAqpCTpPh0A//UN4+So+GKXQB/vKFh4Gc0S8ZmqIypxj2L7z6UL
	8jc/zmAGgIY2fizRyeBfw6XLs5fBxgzsiagkpNA1lciZbebluhiRU5cIoTkHNt20qDS3oU9zUY+
	jUQgw=
X-Google-Smtp-Source: AGHT+IE1iyQryDOJuUeR+WwAMqb+rrIf7XnwPb1C5daH3FSCZXoYM8WyiotShzKFT/yrHoU4q7tUJQ==
X-Received: by 2002:a05:600c:3d14:b0:43d:45a:8fca with SMTP id 5b1f17b1804b1-43d3ba3ce0emr8983765e9.30.1742279073737;
        Mon, 17 Mar 2025 23:24:33 -0700 (PDT)
Message-ID: <e4229113-28d3-4949-a618-32bb48e53ff6@suse.com>
Date: Tue, 18 Mar 2025 07:24:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: S3 regression on AMD in 4.20
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Mykola Kvach <xakep.amatop@gmail.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl> <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
 <8d96f12b-c780-4aea-92a4-5034d1c5c7f6@suse.com>
 <Z9heCs3k1HORqfBY@macbook.local>
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: <Z9heCs3k1HORqfBY@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.03.2025 18:38, Roger Pau MonnĂŠ wrote:
> On Mon, Mar 17, 2025 at 05:11:56PM +0100, Jan Beulich wrote:
>> On 17.03.2025 16:56, Roger Pau MonnĂŠ wrote:
>>> On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
>>>> On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
>>>>> On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>>>> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
>>>>>>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
>>>>>>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
>>>>>>>>
>>>>>>>> This one has working S3, so add a test for it here.
>>>>>>>>
>>>>>>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>>>>>>>> ---
>>>>>>>> Cc: Jan Beulich <jbeulich@suse.com>
>>>>>>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
>>>>>>>>
>>>>>>>> The suspend test added here currently fails on staging[1], but passes on
>>>>>>>> staging-4.19[2]. So the regression wants fixing before committing this
>>>>>>>> patch.
>>>>>>>>
>>>>>>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
>>>>>>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
>>>>>>> We could commit the patch now without the s3 test.
>>>>>>>
>>>>>>> I don't know what the x86 maintainers think about fixing the suspend
>>>>>>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
>>>>>> I'm on it already, but it's annoying. Lets convert this thread to
>>>>>> discussion about the issue:
>>>>>>
>>>>>> So, I bisected it between staging-4.19 and master. The breakage is
>>>>>> somewhere between (inclusive):
>>>>>> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
>>>>>> and
>>>>>> 47990ecef286 x86/boot: Improve MBI2 structure check
>>>>>>
>>>>>> But, the first one breaks booting on this system and it remains broken
>>>>>> until the second commit (or its parent) - at which point S3 is already
>>>>>> broken. So, there is a range of 71 commits that may be responsible...
>>>>>>
>>>>>> But then, based on a matrix chat and Jan's observation I've tried
>>>>>> reverting f75780d26b2f "xen: move per-cpu area management into common
>>>>>> code" just on top of 47990ecef286, and that fixed suspend.
>>>>>> Applying "xen/percpu: don't initialize percpu on resume" on top of
>>>>>> 47990ecef286 fixes suspend too.
>>>>>> But applying it on top of master
>>>>>> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
>>>>>> but the failure mode is different than without the patch - system resets
>>>>>> on S3 resume, with no crash message on the serial console (even with
>>>>>> sync_console), instead of hanging.
>>>>>> And one more data point: reverting f75780d26b2f on top of master is the
>>>>>> same as applying "xen/percpu: don't initialize percpu on resume" on
>>>>>> master - system reset on S3 resume.
>>>>>> So, it looks like there are more issues...
>>>>> Another bisection round and I have the second culprit:
>>>>>
>>>>>     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
>>>>>
>>>>> With master+"xen/percpu: don't initialize percpu on resume"+revert of
>>>>> 8e60d47cf011 suspend works again on this AMD system.
>>>>
>>>> That's not surprising in the slightest.
>>>>
>>>> Caching hardware values in Xen isn't safe across S3, which QubesOS has
>>>> found time and time again, and for which we still have outstanding bugs.
>>>>
>>>> S3 turns most of the system off.Â  RAM gets preserved, but devices and
>>>> plenty of internal registers don't.
>>>
>>> I think I've spotted the issue.  enable_iommu() called on resume
>>> (ab)uses set_msi_affinity() to force an MSI register write, as it's
>>> previous behavior was to unconditionally propagate the values.  With
>>> my change it would no longer perform such writes on resume.
>>>
>>> I think the patch below should help.
>>>
>>> I wonder if we should unconditionally propagate the write from
>>> __setup_msi_irq(), as it's also unlikely to make any difference to
>>> skip that write, and would further keep the previous behavior.
>>
>> That might be better. In fact I wonder whether it wouldn't better be
>> callers of write_msi_msg() to use ...
>>
>>> ---
>>> commit 1d9bfd0d45f6b547b19f0d2f752fc3bd10103971
>>> Author: Roger Pau Monne <roger.pau@citrix.com>
>>> Date:   Mon Mar 17 15:40:11 2025 +0100
>>>
>>>     x86/msi: always propagate MSI writes when not in active system mode
>>>     
>>>     Relax the limitation on MSI register writes, and only apply it when the
>>>     system is in active state.  For example AMD IOMMU drivers rely on using
>>>     set_msi_affinity() to force an MSI register write on resume from
>>>     suspension.
>>>     
>>>     The original patch intention was to reduce the number of MSI register
>>>     writes when the system is in active state.  Leave the other states to
>>>     always perform the writes, as it's safer given the existing code, and it's
>>>     expected to not make a difference performance wise.
>>>     
>>>     Reported-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>>>     Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed')
>>>     Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>>
>>> --- a/xen/arch/x86/msi.c
>>> +++ b/xen/arch/x86/msi.c
>>> @@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
>>>  {
>>>      entry->msg = *msg;
>>>  
>>> +    if ( unlikely(system_state != SYS_STATE_active) )
>>
>> ... this condition as needed. Conceivably there might be cases where even
>> during resume writes aren't always necessary to propagate to hardware.
> 
> Isn't this going to be quite more cumbersome, and I don't think the
> cases outside of active mode are very interesting or relevant
> performance wise?

Certainly. As to cumbersome - having the conditions at the call sites
would also serve as kind of documentation. That said, this was just a
suggestion; I'm not going to insist. I see from other traffic on this
thread the updated patch is now fully addressing the regression. The
secondary change, if not broken out to a separate patch, would want
mentioning in the description, though (which may have been the plan
anyway).

Jan

> The main purpose of the original change was the reduce the number of
> PCI accesses during 'active' state, as every time an interrupt is
> migrated to a different CPU such a (possibly redundant) PCI config
> write would happen.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 06:33:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 06:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918516.1323164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuQW3-0001vm-OU; Tue, 18 Mar 2025 06:33:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918516.1323164; Tue, 18 Mar 2025 06:33: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 1tuQW3-0001vf-Lj; Tue, 18 Mar 2025 06:33:31 +0000
Received: by outflank-mailman (input) for mailman id 918516;
 Tue, 18 Mar 2025 06:33: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuQW2-0001vZ-5F
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 06:33:30 +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 e73be530-03c2-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 07:33:28 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3914a5def6bso2745263f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 23:33:28 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70b:b4be:a081:f026:906f:3550?
 (p200300cab70bb4bea081f026906f3550.dip0.t-ipconnect.de.
 [2003:ca:b70b:b4be:a081:f026:906f:3550])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c83b6b2bsm16757274f8f.26.2025.03.17.23.33.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 23:33: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: e73be530-03c2-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742279608; x=1742884408; 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=zoVFAjZzwrPQ5pscn2vTeLIf/ovitfI9oioKUQ8959c=;
        b=Ckg61t2cYNyuTUc6qsqM3EOss3H85Nb+GshCASwzhd9nvGWr9kPlYM/rk4k+IVMrv1
         k2meiXcVW7tJGfPxB6X8uTYxK0se/Or3YY2RvUbQUjq6EKjqdqWTfsXg4wgi15nON2oD
         MfJCk+sqACc4S2KPqpxs8MmI+Lvo6mx95zas3XYqT6yxzxLmk9l81UBOApsXdilvdoQ1
         YEYBq0ki3KazdS2OZLKpXZk3DaY8SRgv4w6vQ1rWbMCB1ZsAQEOWGEcI+pc2Io8nG+Ou
         rZXNBV7WSsV6pk8t+b/dnXA0wmhOA/qqlyJMKk+x4F5GAicOsrJXVb9DzTr6Q+P/Lyz5
         xtUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742279608; x=1742884408;
        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=zoVFAjZzwrPQ5pscn2vTeLIf/ovitfI9oioKUQ8959c=;
        b=kHA8/cWK0ruQgLTjfSL1bD8613JjV5++uRysq6q9sIPHSh6oy69I4aYPLdzaHT6hyb
         ROLeijIw3CQ6UkqQmpZfIN4wLHLPHGh0AjGnmoHt8D/kD/ElY9vNj+GqjDMhvbNSD/2P
         OkWKrk6wWaAXLFY8b6mcSLQYY+I+0IwZX3ZroyUu7aeTmct6R4BHXfrqSLqxcZk6bgSX
         TJ2MzfsahkkoJE5TduR+XZdO8bQ+MxN9A3UVpRvw/oVoibOeMmYqtU//E2j11QuYh2GI
         XCoD+3OKAj+gOfK2C0mJf0baNjSnkSfqItKHMjLzdZXH6a+YKaTmD+H5HRjtboo1srfi
         ljkA==
X-Forwarded-Encrypted: i=1; AJvYcCUFfoW0d0BUu6hKRsyRINhn2R0EnKsN4gtmgzlIC8IWMa8xrkQw5/tpUWJYhZFUbWwSzrZ4foOcgpM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYJoNRsQLxuFpJCWYQlx3hidJ8ufoN4mok2V9WaGy3+ueKymuW
	eC+P0Chfwdk6YfkbmKj1qxPmJDdAh6qFhkrHxSKA3YPxHNvDjXQvx96YASqiWg==
X-Gm-Gg: ASbGnctDZX56ssvUm9rJqHl5ZkopNwISm/zotB+UGpF3hjMDkom9UnXYFDiUgZLgqVB
	JUs6V7EpE1CWK3q+vztTYMs+WAGewigNsQG+DiEgsbUhwUNw/O9IDMhgFJxA/du7u8FWL7E5zld
	WCQa01RjFaRIodhuqJoLaibsCrLJOmi5wCHZMxUuHx+hgaU4/aOE4TFtlqGSpX9UGt7yGpxT1mr
	7eNoebRGPgsUQkKwIvHCWAQ43hS3q/Ynyq0ey3pcEH62bjoy/RZMoEfuVUd2h6vwyn7AinarLWE
	veHiNUgwPiBr7FIbUxNxbBCCEdyl9b6ALqB6HiNI5+YAR8wvs1YfPVaY5J6IeS5vDADPtjKq2oe
	ehFrIKaxZIFm9raPWSDAJoQYAgwvjcQVqnL4OxvxsUmgum6eDdcY8FjKfialHIPwDDR83hWD9b7
	lqIqI=
X-Google-Smtp-Source: AGHT+IEg73NSiwTK+FrOkF+SpOCLzFZ9pCMQ+PrnzK/JFI22hcVwOZxfUdp4jGASgUVwp0Qj6uuW8A==
X-Received: by 2002:a05:6000:1549:b0:391:40bd:6222 with SMTP id ffacd0b85a97d-3971d9f1fcfmr15327794f8f.22.1742279608219;
        Mon, 17 Mar 2025 23:33:28 -0700 (PDT)
Message-ID: <bc8505f5-0712-4661-b6af-8d8f96a1ea2b@suse.com>
Date: Tue, 18 Mar 2025 07:33:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 15/23] xen/xsm: Add XSM_HW_PRIV
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: 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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org, Jason Andryuk <jason.andryuk@amd.com>
References: <20250306220343.203047-1-jason.andryuk@amd.com>
 <20250306220343.203047-16-jason.andryuk@amd.com>
 <095042a0-94c1-4f86-b6df-836a7107efa2@suse.com>
 <a6bd6175-32fb-4da5-b70d-70e8dabadf66@amd.com>
 <alpine.DEB.2.22.394.2503171653220.3477110@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.2503171653220.3477110@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 00:55, Stefano Stabellini wrote:
> On Mon, 17 Mar 2025, Jason Andryuk wrote:
>> On 2025-03-17 10:22, Jan Beulich wrote:
>>> On 06.03.2025 23:03, Jason Andryuk wrote:
>>>> --- a/xen/include/xsm/dummy.h
>>>> +++ b/xen/include/xsm/dummy.h
>>>> @@ -95,7 +95,11 @@ static always_inline int xsm_default_action(
>>>>               return 0;
>>>>           fallthrough;
>>>>       case XSM_PRIV:
>>>> -        if ( is_control_domain(src) )
>>>> +    case XSM_HW_PRIV:
>>>> +        if ( is_control_domain(src) && action != XSM_HW_PRIV )
>>>> +            return 0;
>>>> +        if ( is_hardware_domain(src) &&
>>>> +             (action == XSM_HW_PRIV || action == XSM_DM_PRIV) )
>>>>               return 0;
>>>>           return -EPERM;
>>>
>>> Hmm. Isn't DM_PRIV a property applying to the control domain (besides
>>> any stub domains), but not the hardware one?
>>
>> I ran QEMU in hardware domain to provide devices to a domU.  I thought QEMU
>> would better run in hardware domain than control domain.
> 
> Leaving stubdoms aside, QEMU has to run in the hardware domain because
> the hardware domain is less privileged. QEMU can be attacked or affected
> by the guest so it is undesirable to run QEMU in the control domain
> which is highly privileged, and considered highly secure / safe.

Yet having access to the hardware, hwdom can likely also do about anything
to the system. IOW I'd consider this "highly privileged" too, just not from
a pure software perspective. If you want a secure / safe environment, I
fear you won't get around using further (stub?) domain(s) to run qemu in.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 06:40:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 06:40:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918526.1323174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuQcW-0003S5-DA; Tue, 18 Mar 2025 06:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918526.1323174; Tue, 18 Mar 2025 06:40: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 1tuQcW-0003Ry-AQ; Tue, 18 Mar 2025 06:40:12 +0000
Received: by outflank-mailman (input) for mailman id 918526;
 Tue, 18 Mar 2025 06:40: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuQcU-0003Rs-Lc
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 06:40:10 +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 d6029e20-03c3-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 07:40:09 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3965c995151so3483076f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 17 Mar 2025 23:40:09 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70b:b4be:a081:f026:906f:3550?
 (p200300cab70bb4bea081f026906f3550.dip0.t-ipconnect.de.
 [2003:ca:b70b:b4be:a081:f026:906f:3550])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8881187sm16902464f8f.41.2025.03.17.23.40.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 17 Mar 2025 23:40: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: d6029e20-03c3-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742280009; x=1742884809; 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=KK8c0LIf839DneG70BT9sRoLodewbEnfBrGBS1atfoc=;
        b=Y173lwIkJZfLHfieSnGXcrS1yHSFsn+IIq07pSu2wCbu5TMtXjKID2hdxi85MuWVkT
         E+c7qFSxVQkJEJtP7NXV5nI48l4/M2NybENvX/59gNJsYoeQRSpb6U11LhtenJwfQnKh
         7PLyaVLfHT6Zkp9zx+KXBYPnk/aIv5Y7EIwUOFAckl34AO2Jb+mss4xF8kRmtE47JkaE
         Sg+cdRJlhfdnoeqfLIIbEeDmVVJ2Kn8orISgAn1OG8Zgi+ZPEllES884ZKtJLH/n5R4/
         bbNEIfYQZ3yvHILGPlv97yx0kQlZbB2SpkEdkRFRO78Lq229hR/PoqEsrHa2ajEmmqhB
         D0kA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742280009; x=1742884809;
        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=KK8c0LIf839DneG70BT9sRoLodewbEnfBrGBS1atfoc=;
        b=JpQe6uRZTwA0qL8SwqWWv/uRtQI5u6ofxnZ8cOPyIISFVGr1BnWNiiD4q7s5hKVfba
         5suFBZ0bZvMKPLzq7LujuI5nprhDF8CpXFibrtLVULS3ge2ts5neLsxshzTZqwnwsKR2
         i/1mqKUIUWNUD42/YATzLYomywcAc3G/Ac9Zf0CdF0T/U3Y9qHS1SNSTYY6YXHVkzOFF
         wJuzq3mHKz9sst4PVx8FZwQl1PVvgQ/mq3YqH7IBo4n8xe6o2fjrA/YRTMJbVk6Ry8Sa
         2aTB8EQMhd+Dj8mwxdKIjAQX0OuRTOj2WnsV4RDoCnJqM6xhU15dPpvsJpGSah9DRH6o
         zleA==
X-Forwarded-Encrypted: i=1; AJvYcCVkUdc6LfCSx4i97XDxBH2Zt/dFgzRvfVrcOtkmtbWYxSQEj6mFfdVDDdP7BKL5HvtNILL+IC3N4Ds=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwH9eoMCYnp9PrGiDGn4NNFRSgtEqayRgVOio8xde1xkEpQKcIM
	oqX7RABIEWkYgzcJbNa5erVZyT7a4WOpl/iG2HrP4TeEwIvCNlBHThSsiwCpBw==
X-Gm-Gg: ASbGnct3GUK1KMn95f1A1KoetNULvHNWJyT3hARIrEtIv1fAz4+fZiaxN7XQU8+pBro
	q4y15BiPTZcnVHVZ72YcNT5hgpX5PgaZtSBL93SfqzSIj/QcCUR0JmtZTO8UeKoEn4nqcNChTeM
	X1Rhz9EMYfHHPRtsa7/N7bxeLpw5ncpjLTOS3LmejZPWpn0FUiYxKWh56pIAGHIw9E5SEIzBlKD
	0pnse9/950ibeyy4iePV5mzgWfp44/FY3MUaphrSDABB3gJj6nakPefVaTTxjA8RslMYF8ramI3
	Ocdx57RVVkf2x6iMwWBE+BAhDeF5dHNtn7NKv6SYdmdH8ZawY1SfHgx4Iq82po/p2qnlhvCvIgp
	TvcM1FZr7cczR0mI1MVI9Iyf+GVaCvKiHQGHZO3ijQuKlkSEbCY0cUwyVL4ICNhwzgoVTe3o3s0
	aLlGw=
X-Google-Smtp-Source: AGHT+IHBzm3bedLzElJOREyHIy0zQqEWM9puiKrTDqNzrNLR0wg0Ga8vv6hPHM8JSrhfaEBPaMpGgQ==
X-Received: by 2002:a5d:6d03:0:b0:391:4231:416 with SMTP id ffacd0b85a97d-3996b499016mr2070267f8f.36.1742280008807;
        Mon, 17 Mar 2025 23:40:08 -0700 (PDT)
Message-ID: <07bd83b1-8c59-4bb8-ab1a-a3b9a6bb7cf6@suse.com>
Date: Tue, 18 Mar 2025 07:40:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/sched: call xfree() after local IRQ is enabled
To: Anderson Choi <anderson.choi@boeing.com>
Cc: nathan.studer@dornerworks.com, stewart@stew.dk,
 matthew.l.weber3@boeing.com, joshua.c.whitehead@boeing.com,
 andrew.cooper3@citrix.com, jgross@suse.com, xen-devel@lists.xenproject.org
References: <20250318040023.4998-1-anderson.choi@boeing.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: <20250318040023.4998-1-anderson.choi@boeing.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 05:00, Anderson Choi wrote:
> xen panic is observed with the following configuration.
> 
> 1. Debug xen build (CONFIG_DEBUG=y)
> 2. dom1 of an ARINC653 domain
> 3. shutdown dom1 with xl command
> 
> $ xl shutdown <domain_name>
> 
> (XEN) ****************************************
> (XEN) Panic on CPU 2:
> (XEN) Assertion '!in_irq() && (local_irq_is_enabled() ||
> num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714
> (XEN) ****************************************
> 
> panic was triggered since xfree() was called with local IRQ disabled and
> therefore assertion failed.
> 
> Fix this by calling xfree() after local IRQ is enabled.
> 
> Fixes: 19049f8d796a sched: fix locking in a653sched_free_vdata()
> Signed-off-by: Anderson Choi <anderson.choi@boeing.com>

Just one nit on the patch title: There's no mention at all there of which
scheduler it is. Imo "sched" there would better be replaced by the scheduler
name.

Jan

> ---
>  xen/common/sched/arinc653.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
> index 0a3733c04e90..b95492e1d96f 100644
> --- a/xen/common/sched/arinc653.c
> +++ b/xen/common/sched/arinc653.c
> @@ -463,10 +463,11 @@ a653sched_free_udata(const struct scheduler *ops, void *priv)
>      if ( !is_idle_unit(av->unit) )
>          list_del(&av->list);
>  
> -    xfree(av);
>      update_schedule_units(ops);
>  
>      spin_unlock_irqrestore(&sched_priv->lock, flags);
> +
> +    xfree(av);
>  }
>  
>  /**



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 07:35:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 07:35:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918541.1323184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuRTe-00067p-BW; Tue, 18 Mar 2025 07:35:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918541.1323184; Tue, 18 Mar 2025 07:35: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 1tuRTe-00067i-84; Tue, 18 Mar 2025 07:35:06 +0000
Received: by outflank-mailman (input) for mailman id 918541;
 Tue, 18 Mar 2025 07:35: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=sAjx=WF=boeing.com=anderson.choi@srs-se1.protection.inumbo.net>)
 id 1tuRTd-00067c-L7
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 07:35:05 +0000
Received: from phx-mbsout-02.mbs.boeing.net (phx-mbsout-02.mbs.boeing.net
 [130.76.184.179]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fa125d6-03cb-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 08:35:02 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by phx-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52I7YxvJ022091; Tue, 18 Mar 2025 00:34:59 -0700
Received: from ewa-av-01.mbs.boeing.net (ewa-av-01.mbs.boeing.net
 [137.137.51.75])
 by phx-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52I7Yvcn022074
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 18 Mar 2025 00:34:57 -0700
Received: from localhost (localhost [127.0.0.1])
 by ewa-av-01.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_RELAY) with SMTP id
 52I7YuFT048002; Tue, 18 Mar 2025 00:34:56 -0700
Received: from A6509144.boeing.com ([144.112.84.220])
 by ewa-av-01.mbs.boeing.net (8.15.2/8.15.2/UPSTREAM_RELAY) with ESMTP id
 52I7YlGP047876; Tue, 18 Mar 2025 00:34: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: 7fa125d6-03cb-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1742283299;
	bh=bDrhRn09U3jy6rzOW2OFF3V//D8wiUf64tAZiFWD9FQ=;
	h=From:To:Cc:Subject:Date:From;
	b=dOfBUq3Ve7rynlUVemQs77A6oUVMW9HqUvaFWAGHbuJ3iKYg+YN2CgHUtRBQR0z4I
	 AgqRTZ43QL40BBFPvA5g3Q5h/t9HNoOUPa7qQtGMw22dCJQx1V7cBaybOLSjR28SAQ
	 eW/ZS5rmvD/vaZfAEHL26YgMA7iHRjF2GU+bOGBugEp0jgZZABgLYZzUDJ/8mkaEdi
	 R4doS7HbeLVGKRNzo6SyPJ9GlJe+OhWCxa78pMhJuUaPHARG/7HBP0ANtOWBrKEyZq
	 dL4pxH2w21MuvwNgtT51XJdSPFmW2e7+OFk5C9nfNF/fKPhQ+G6M2rYleKu0mBJdhG
	 +DuapS0j5IoMw==
From: Anderson Choi <anderson.choi@boeing.com>
To: xen-devel@lists.xenproject.org
Cc: nathan.studer@dornerworks.com, stewart@stew.dk,
        matthew.l.weber3@boeing.com, joshua.c.whitehead@boeing.com,
        andrew.cooper3@citrix.com, jgross@suse.com, jbeulich@suse.com,
        Anderson Choi <anderson.choi@boeing.com>
Subject: [PATCH v2] xen/arinc653: call xfree() with local IRQ enabled
Date: Tue, 18 Mar 2025 16:34:15 +0900
Message-ID: <20250318073415.6652-1-anderson.choi@boeing.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00

xen panic is observed with the following configuration.

1. Debug xen build (CONFIG_DEBUG=y)
2. dom1 of an ARINC653 domain
3. shutdown dom1 with xl command

$ xl shutdown <domain_name>

(XEN) ****************************************
(XEN) Panic on CPU 2:
(XEN) Assertion '!in_irq() && (local_irq_is_enabled() ||
num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714
(XEN) ****************************************

panic was triggered since xfree() was called with local IRQ disabled and
therefore assertion failed.

Fix this by calling xfree() after local IRQ is enabled.

Fixes: 19049f8d796a sched: fix locking in a653sched_free_vdata()
Signed-off-by: Anderson Choi <anderson.choi@boeing.com>

---
Changes:
v1 -> v2
  * changed the title to show clearly which scheduler is modified
---
 xen/common/sched/arinc653.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index a82c0d7314a1..a297e64affe6 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -457,10 +457,11 @@ a653sched_free_udata(const struct scheduler *ops, void *priv)
     if ( !is_idle_unit(av->unit) )
         list_del(&av->list);
 
-    xfree(av);
     update_schedule_units(ops);
 
     spin_unlock_irqrestore(&sched_priv->lock, flags);
+
+    xfree(av);
 }
 
 /**
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 07:36:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 07:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918553.1323194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuRVC-0006e5-LC; Tue, 18 Mar 2025 07:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918553.1323194; Tue, 18 Mar 2025 07:36: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 1tuRVC-0006dy-I7; Tue, 18 Mar 2025 07:36:42 +0000
Received: by outflank-mailman (input) for mailman id 918553;
 Tue, 18 Mar 2025 07:36: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=sAjx=WF=boeing.com=Anderson.Choi@srs-se1.protection.inumbo.net>)
 id 1tuRVB-0006ds-RL
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 07:36:41 +0000
Received: from clt-mbsout-01.mbs.boeing.net (clt-mbsout-01.mbs.boeing.net
 [130.76.144.162]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9652404-03cb-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 08:36:38 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by clt-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52I7aYHu018933; Tue, 18 Mar 2025 03:36:36 -0400
Received: from XCH16-09-11.nos.boeing.com (xch16-09-11.nos.boeing.com
 [144.115.66.160])
 by clt-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52I7aNrW018874
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Tue, 18 Mar 2025 03:36:23 -0400
Received: from XCH16-04-10.nos.boeing.com (144.115.66.88) by
 XCH16-09-11.nos.boeing.com (144.115.66.160) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Tue, 18 Mar 2025 00:36:22 -0700
Received: from XCH19-EDGE-C02.nos.boeing.com (130.76.144.198) by
 XCH16-04-10.nos.boeing.com (144.115.66.88) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44 via Frontend Transport; Tue, 18 Mar 2025 00:36:22 -0700
Received: from USG02-CY1-obe.outbound.protection.office365.us (23.103.199.175)
 by boeing.com (130.76.144.198) with Microsoft SMTP Server
 (version=TLS1_2, 
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Tue, 18 Mar
 2025 00:36:21 -0700
Received: from SA1P110MB2155.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:199::17)
 by BN2P110MB0977.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:16b::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.31; Tue, 18 Mar
 2025 07:36:20 +0000
Received: from SA1P110MB2155.NAMP110.PROD.OUTLOOK.COM
 ([fe80::aaa7:3b2a:5a62:ceef]) by SA1P110MB2155.NAMP110.PROD.OUTLOOK.COM
 ([fe80::aaa7:3b2a:5a62:ceef%4]) with mapi id 15.20.8511.031; Tue, 18 Mar 2025
 07:36: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: b9652404-03cb-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1742283396;
	bh=BiZyAE7pOivKfsVqvhNN+6hIm0T4UB6wFg5v2xXOHqg=;
	h=From:To:CC:Subject:Date:References:In-Reply-To:From;
	b=mnIUBHd7PkRgP5n9C1Q74pHwJUysRXl+3OoKNof+6E4IGjDdnkVpDCe/vCbHrABsg
	 hmDXDolSK3JgnSuIyZ4Kw33jbSdgLlxCb15phLYPHMNlo8Phb8sZD3mZ9tu0O2AtLh
	 J0KpsN5gEXud+81M8ts8NHPnRm2Q7Ns/GfypnqBEMgmYPpetb7GYi+8jA2B0Oyrkl5
	 clr6JEpir+6b9iq6BEf5Cz2e/Lw8g1NchtEoI9tyInrrF9W1gxKWlE1l7jE76RoKXP
	 6dxI/wQx5sS4X8yWBcKgyRK0aojztrII+3G+iATBpS8nzRVoek95RiAV8zqDBopE5z
	 DN0O6jaqahHGg==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=a9kXNp689tV9cX+XARFhNYiVsDzAm4cCvvM9cLRkZDGlrgFclushSWSCPH7HYOWV6mMRdll96xtIERiPKdWGy+ufUeZwi/CS7A1BPQ2xPqJlc5apDApRnd3wcTcvi4zPVTNeB4xYr0XH0H91zUfHLGGATiuXjT7w6NeS2RiSkoMJwmDMm77B6+vApvw5AXYhhoa3XC3itYmSRH/yeoddjZXkHP1vFy6Bp8mEQvx6zoUYoa979igMeCBi360KxvwpN7F8h4wmOiZufvWKoEduYWqm8dHdXBDv1C6mAc8H56xSuSPl+qmRxHPWT24zFSd66RG6qfAHndRBsffwBe27FQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BiZyAE7pOivKfsVqvhNN+6hIm0T4UB6wFg5v2xXOHqg=;
 b=IxKx9Yla6kGV8NnduVaXtUf/3DLUbnqFuIRUBs4lJcbDqnY9c9fUQOL5OdUEWYRGPo47Vn66iNm1foHkn1tRIIfNZ7bLvExXVzhprPcCl+am74yZr6qouE1fqfTgmXUfxcsNKLl/EWsENOYLnwMFninAd3mmQAbCe+oyr8LmbOxvVt0ZKImbYfF7qd9dpQi7TnryPpbCKzy28FnjYT7jnn1hQoyqRcHd9+5YSPFX9azrHMMPalb9SvpR/6na4iGfs4nMHnPEZ96J3HNsovXvUxxtbl4AS/OMwYITUjXk0pvlhYYNhfiMBmXJRzdgcVwCLrGKRWwU/X3gPcSgSWEB8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=boeing.com; dmarc=pass action=none header.from=boeing.com;
 dkim=pass header.d=boeing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=boeing.onmicrosoft.com; s=selector1-boeing-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BiZyAE7pOivKfsVqvhNN+6hIm0T4UB6wFg5v2xXOHqg=;
 b=QpaPQxUF8l72hbYGxrfGqf56w7uYtRtZcpoR+JccbSxJEk5pJleA7dX1RdDKqEqU0KCmStgMGGQz9KdYbfEAh/u13E7VFWFGWBQep/1r1Nzg8+344oKZfya72aFxkk5mkesW0v8hvyyXDEyx+W3hip0mnZ/K71RUToKzqs2uEmA=
From: "Choi, Anderson" <Anderson.Choi@boeing.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
        "stewart@stew.dk" <stewart@stew.dk>,
        "Weber (US), Matthew L"
	<matthew.l.weber3@boeing.com>,
        "Whitehead (US), Joshua C"
	<joshua.c.whitehead@boeing.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "jgross@suse.com" <jgross@suse.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [EXTERNAL] Re: [PATCH] xen/sched: call xfree() after local IRQ is
 enabled
Thread-Topic: [EXTERNAL] Re: [PATCH] xen/sched: call xfree() after local IRQ
 is enabled
Thread-Index: AQHbl7pa8XYzyg5nXUSh7JnHLN6wiLN4cbiAgAAPYpA=
Date: Tue, 18 Mar 2025 07:36:20 +0000
Message-ID: <SA1P110MB2155A80CDCF7E5E7F520EF0790DEA@SA1P110MB2155.NAMP110.PROD.OUTLOOK.COM>
References: <20250318040023.4998-1-anderson.choi@boeing.com>
 <07bd83b1-8c59-4bb8-ab1a-a3b9a6bb7cf6@suse.com>
In-Reply-To: <07bd83b1-8c59-4bb8-ab1a-a3b9a6bb7cf6@suse.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=boeing.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1P110MB2155:EE_|BN2P110MB0977:EE_
x-ms-office365-filtering-correlation-id: 7fd3a23c-e959-4082-3f7a-08dd65ef9375
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?VFRicURnUkZ4aGhGd0JtMWhqdHo4MUJHQWtTT2NtbW5RdFR3d2JhenpiNFJQ?=
 =?utf-8?B?RlpTUm1tazhOUm1TbVRSYVhKUUZoY1hrTDhNK2xGYnJRWjl3ZXQrSW1hU1Fu?=
 =?utf-8?B?WHQ4Z0JVeDB0T3lyYTRHdFlzUFAzZkYvUU5uaWZhRFJRYTZBRkVHRGU0VmNO?=
 =?utf-8?B?UUl6aEhmMWdzbGNKRUhvUVMweTFDYW5ERW43OWJ6WkpkZWx2Y3dQZ2NLN0lW?=
 =?utf-8?B?T00xNU1kbEppbjNRMEFUVjIvREV5U1Y5WHllc0YraG4xUkpBcWp0V1lRUHVk?=
 =?utf-8?B?V0FoVmxGOUFqcFRmd1NHdlFzdnpJaUVsa2FOdzVjZElYb0hqQkszb0Ewcm9O?=
 =?utf-8?B?ZW1jS1Z5L0lXUTlqMXczVWRGWktVaU1Ja2lVdE5jTkdUL2phUVh1ZVlXeEtZ?=
 =?utf-8?B?SnNNeGNZSlVIZDZsNjFIYlJ5QTBhTWlpOFY4TjdiZWk5Z3pUU2pUVmF6N0Rl?=
 =?utf-8?B?VTF2eWM0VWdPM2xJeXpoQlphY2xjZ0dwQUJjUFNqQzdhK0liOFovZWpLMlJa?=
 =?utf-8?B?Z1FjRXZhQ0xKRVJaZ3dybDBiYW9WNyswZFJnNnZTcDBpZFcydXU5RkV4Q3NY?=
 =?utf-8?B?U0RWZ28zdWVXSWxjZHJiVkhHOVRQZFdyayt3RXZsZU5valFUT2VkT2hiVzha?=
 =?utf-8?B?WTU0MjVBM1BVL3pwVTBKM09ZSTQ4Q0lEU3BrUEU2ODlPL0xIZ2xhTjVqTjBB?=
 =?utf-8?B?d2swYUUwUndmVXFOWWs4aGRLQTY5ZnFPdzFXckZMbk9kQ2U5ZnF4NlA1cXFH?=
 =?utf-8?B?ODZxYldKUVFnMkFjSFFwQ0JYMm1OZU1Idzk4amQ4RmhSSVkrdnppRzliN3Zj?=
 =?utf-8?B?OWpNdy84NWMzV2tkc3hZOWx1d0lGOHpodFdQa2JTQlptRjZiZm5hWEVLdHhu?=
 =?utf-8?B?dkYrTFVuZ3R0RVAyN1h4OThVdjBJeGpNZ1dYTU94UjkxNFBCVWQ4OVl3a2hC?=
 =?utf-8?B?S01vU0h2YTRHaFk4ZjNvSVVIRzRCWUd5OEhLbHRPeXpuVmVGYnBNZGVmd1Q2?=
 =?utf-8?B?WmVkdmp1bW1IOUhtdzR1ZTA3MFhFTFZUS0drb3VqUmw2T1NzZHYrTVZMOVhM?=
 =?utf-8?B?VityTzZoOFFtNUtMaGNleCtFWS9NRTRqcUpKMWZtUHVGdFVjOFhXdnkrWHZk?=
 =?utf-8?B?NEZpMEtWbU94M1FyRnRLeTJLMXFLT2JnNHNWQTlIVkppZzgybkpOeFZKOWRz?=
 =?utf-8?B?V1k1OGVtLzhjKzJrNUc0SFBQbWFrendvbkR3UEs2QUtkOVR5emxWcDVZanhz?=
 =?utf-8?B?cW9oTFNaRzhxQ05NdkMvUWdoMUduQnpQa2syalFkR0lPVHBSNmZ5WldWdVI0?=
 =?utf-8?B?S2VJY1pzOUVncGlrNUhybGY5YmZ4eTVQZmc1dzNpZkhsVlZSZlFyQ0dyT1RC?=
 =?utf-8?B?Ynlha1JtVnZkOUhCQmpRdzV5WkVGRUhxbmdBYngwMWN6Z1JwcHdZSzRQYWxY?=
 =?utf-8?B?TUVyV3gyZjBKRmxZLytDRTI1VTEvK1U3bGhVU3pCVGxGblptd1J3MVVjQVpR?=
 =?utf-8?B?dDRzSWZrZC9wcjIzNWlSMUErZ2ZJSGlhYjVOS1luQis2M1VMSWQ3Rm01M3BB?=
 =?utf-8?B?U3VLMW0rYmNXbDh1Ujd3VUc5UWZ3TlpQQXN1L1NvOURHOFlUY3dHZUU2UVpZ?=
 =?utf-8?B?KzQ3WCtYdHJOanVuTjd2SWtOTGUyZFp6dm1OVnpDYjFZcWlpeFJhanp4dmtJ?=
 =?utf-8?B?NGhDZWRrU0dPRkk2RDRNa2pZS3BFNXJQYW1JMU45K2Fxa1FaQU1NVzNLQVpn?=
 =?utf-8?B?Z3RhaUkyTC8rWDdGMjdqK1IzSEl4WDVETUxockxObnAycm1MZGRBNjBGblJv?=
 =?utf-8?B?K0hEbFE2Ni9HNDNrRWpGVlZQajFPWTZNNGJxa01sa1NPT0xQK1U0WXlYa0ZJ?=
 =?utf-8?B?akt1ZVNieEtzRE4zZFhYUmxiYmZEOW8rbnE4LzEvaTdxcHVrU2tyN0MwZk5Y?=
 =?utf-8?Q?30TTfrV8jMOoKPHSc+sQGqiCpH15yLit?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1P110MB2155.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NGZhVE44NVdnb3RpdW0zdkgxREVzU09rVG5obTZUZm9ZS20zNVNzRUQ1Y0FV?=
 =?utf-8?B?RHpWNGxFMG45K21XZkwxU0JVUEV3WEtUOWFSaDE0NnFPd0I1Z3FNZXFVZEY4?=
 =?utf-8?B?RDgwUWlIdHNKWkNBNFZSS3Z4UTlrT3BXMVZpZW0wK3FRdjBvbjQ3bnMrelZQ?=
 =?utf-8?B?WGdwSGpHVkozTWNxSElXeWpTdmJaVjArdGtsZDBta3VLdDNHSkIxODlLR1N4?=
 =?utf-8?B?dlFhbjVMakNmMDlwaDdsUzNjV0dZQlhCR0FzaWZKbDF3MW00Qk43M3NSWmJD?=
 =?utf-8?B?aGlHVTZQU2RFMHJBbFRaM2RIR2h2MTg4cWRwZVNWTE43U2cvSENIOVpUUGNx?=
 =?utf-8?B?RU44MEhxcHBlSWNzNGpsaE44REpsYXR2OEtmNmNvT0pxUXpkZ3lCZVpDVDNh?=
 =?utf-8?B?YzI4TnNpZjl0UnNaYlJzUzJzaTR3aTlaVTRwWUJ1R0xGZW96V2VJT1J4em1w?=
 =?utf-8?B?cTkxS3lMb1NnNTRJaDI4WUdWdVVhZ0dFcVhMK0I2N0lPajJxNCtaZHBGdWEy?=
 =?utf-8?B?RW9GNmN6NllLR2ZtT090MzE5bFh1QXJHZUZ6YkJZb1dhU2xKbFdBc2U2Zzhk?=
 =?utf-8?B?MDJrVURldXBGU2J4M3RyYnBVK1lOQ1lTUFc5bHFvTEFEUGk3bFdmcEQxaDJZ?=
 =?utf-8?B?cStseHBjNXJNSkQ2TXpZTFpiSUF1TlNtTUh0dytyNkp0dDBha1c3bC9tREtI?=
 =?utf-8?B?T3k5WFRUNkFHTEdXeW9FR0ptK0gzT2pBTG5PL2FnemRYaE5OdG8rSnd1Q3JB?=
 =?utf-8?B?TXc1MUlJK2Fhd3pnSDJvQkg5Kyt2OUU2MGRJZU1ZWVJMSTJIZ01DMlhCYnNV?=
 =?utf-8?B?RUh1ajkxVndqaXhHQ05WcmFGSEtMNkJuUHdZY1h4eTFqM1YxRjEvaVN1bmlp?=
 =?utf-8?B?M0NSWWorOFJjaW1RMXlsMHdZd09rNklaQkU2amNXcmN5SWFEZWlKNkVmVGds?=
 =?utf-8?B?NE5rMWlJQ0JWWXU5Y3hDeXJOVE5mSDVOVDdsbDl5YzRxakNKQVJqVU9mL3JI?=
 =?utf-8?B?VEx2S1VRajVJZW01dmRXODQ4bzNxVGxiQWowVEFjRUZZY21aWnM0VHFON2Y4?=
 =?utf-8?B?R081MnlGYllDWHdhYWNSL1ljc3dPZy8wYkNkNUlJRWxwOXZFRTVqdDdsdTJj?=
 =?utf-8?B?WWoyZUQwVEdLTnhIdmY2NUN4a0Y2NFpwRjNNWXNsY2locVpaZ1NKemtOVGhq?=
 =?utf-8?B?UTZnQWRySEwwZ1VTOU1tU3NhQjRCTm0xYXBVZGk1K1F1NHowUFFjNUlTM3hS?=
 =?utf-8?B?NUs4ZTZOa0FETWFYQ0lJQnM0dDNkYWNBcDIyMFZ2alFDd21xSUN5ajBFVVR1?=
 =?utf-8?B?bWxzR1Y5cElONjFtblpnelh2ME0rUWt1QTg2UzRUNEJCUUN5b0VXYnF3TG9Y?=
 =?utf-8?B?TjBJa1FTOWpmZWk2Ujdyd283ZkN5NXJYeVBheWZhTnN4WklQSzArQzNvbzls?=
 =?utf-8?B?UmVJVEdrWmJ2eW5KeFgyV05HaEtUUUlxQ3JRWEY1dEFZKy95NUNFZEVNRHZh?=
 =?utf-8?B?ZUx6dUtFQjZIMldnS1lEMWJrQ1huQWhzU0hsWHg4T1pvMEc5cVhiKzdUS0NI?=
 =?utf-8?B?QjFiTzJOLzZaamJoTEVjbVNjbVcxempOZUR6SEtJcmhoSnZJVXJrUm9CN3VG?=
 =?utf-8?B?WXRGYnJ5L0JXZWRBZlRvdm9ldFBJME0rNmhwM0tEK29Xa2R1RWwwWk9LT1dD?=
 =?utf-8?B?WStFaDIyTS9tN2haWXNHcFNaaEJXQkVxeUMvcEVnSEk5WXRablpXMXdLTlNC?=
 =?utf-8?B?eENHRjdpaHhtd3lVMFNqRDcxbkpZeW53bHdibHRXOExMNXpOMHBtbG5aeWVT?=
 =?utf-8?B?UUJjRkdsR255Q2FTSFlBUlZTSlBpZFVEc21BV0w3eHNQajd5VEFwQVhsY3BY?=
 =?utf-8?B?MjhDUjFQSmxPVC9hSm1iMFl3a0ZkbEJxTjFnaWxTYWV6aVhzcitNNi9NTkR5?=
 =?utf-8?B?WkdpYjA0K2FKWlVZa0s1dUYxRS9oT2JEMHlEUFcxd1JDY2cxZk9sbHlWNmlv?=
 =?utf-8?B?cHo2YmxqWjlRQjBKQWs1ci9aZW50REJGTmRmU29oMVZGaXBpOUxUam5HdkxG?=
 =?utf-8?Q?CszTDR?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1P110MB2155.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fd3a23c-e959-4082-3f7a-08dd65ef9375
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 07:36:20.1574
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bcf48bba-4d6f-4dee-a0d2-7df59cc36629
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN2P110MB0977
X-OriginatorOrg: boeing.com
X-TM-AS-GCONF: 00

SmFuLA0KDQo+IEVYVCBlbWFpbDogYmUgbWluZGZ1bCBvZiBsaW5rcy9hdHRhY2htZW50cy4NCj4g
DQo+IE9uIDE4LjAzLjIwMjUgMDU6MDAsIEFuZGVyc29uIENob2kgd3JvdGU6DQo+PiB4ZW4gcGFu
aWMgaXMgb2JzZXJ2ZWQgd2l0aCB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24uDQo+PiANCj4+
IDEuIERlYnVnIHhlbiBidWlsZCAoQ09ORklHX0RFQlVHPXkpDQo+PiAyLiBkb20xIG9mIGFuIEFS
SU5DNjUzIGRvbWFpbg0KPj4gMy4gc2h1dGRvd24gZG9tMSB3aXRoIHhsIGNvbW1hbmQNCj4+IA0K
Pj4gJCB4bCBzaHV0ZG93biA8ZG9tYWluX25hbWU+DQo+PiANCj4+IChYRU4pICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4+IChYRU4pIFBhbmljIG9uIENQVSAyOg0K
Pj4gKFhFTikgQXNzZXJ0aW9uICchaW5faXJxKCkgJiYgKGxvY2FsX2lycV9pc19lbmFibGVkKCkg
fHwNCj4+IG51bV9vbmxpbmVfY3B1cygpIDw9IDEpJyBmYWlsZWQgYXQgY29tbW9uL3htYWxsb2Nf
dGxzZi5jOjcxNA0KPj4gKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKg0KPj4gDQo+PiBwYW5pYyB3YXMgdHJpZ2dlcmVkIHNpbmNlIHhmcmVlKCkgd2FzIGNhbGxl
ZCB3aXRoIGxvY2FsIElSUSBkaXNhYmxlZA0KPj4gYW5kIHRoZXJlZm9yZSBhc3NlcnRpb24gZmFp
bGVkLg0KPj4gDQo+PiBGaXggdGhpcyBieSBjYWxsaW5nIHhmcmVlKCkgYWZ0ZXIgbG9jYWwgSVJR
IGlzIGVuYWJsZWQuDQo+PiANCj4+IEZpeGVzOiAxOTA0OWY4ZDc5NmEgc2NoZWQ6IGZpeCBsb2Nr
aW5nIGluIGE2NTNzY2hlZF9mcmVlX3ZkYXRhKCkNCj4+IFNpZ25lZC1vZmYtYnk6IEFuZGVyc29u
IENob2kgPGFuZGVyc29uLmNob2lAYm9laW5nLmNvbT4NCj4gDQo+IEp1c3Qgb25lIG5pdCBvbiB0
aGUgcGF0Y2ggdGl0bGU6IFRoZXJlJ3Mgbm8gbWVudGlvbiBhdCBhbGwgdGhlcmUgb2Ygd2hpY2gg
c2NoZWR1bGVyDQo+IGl0IGlzLiBJbW8gInNjaGVkIiB0aGVyZSB3b3VsZCBiZXR0ZXIgYmUgcmVw
bGFjZWQgYnkgdGhlIHNjaGVkdWxlciBuYW1lLg0KPiANCj4gSmFuDQo+IA0KPj4gLS0tDQouLi4N
Cg0KVGhhbmtzIGZvciB0aGUgY29tbWVudC4gSSBoYXZlIGp1c3Qgc3VibWl0dGVkIHBhdGNoIHYy
IHdpdGggdGhlIGZvbGxvd2luZyB0aXRsZS4NCg0KW1BBVENIIHYyXSB4ZW4vYXJpbmM2NTM6IGNh
bGwgeGZyZWUoKSB3aXRoIGxvY2FsIElSUSBlbmFibGVkDQoNClJlZ2FyZHMsDQpBbmRlcnNvbg0K
DQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 07:42:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 07:42:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918565.1323204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuRak-0000ef-7G; Tue, 18 Mar 2025 07:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918565.1323204; Tue, 18 Mar 2025 07: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 1tuRak-0000eY-4J; Tue, 18 Mar 2025 07:42:26 +0000
Received: by outflank-mailman (input) for mailman id 918565;
 Tue, 18 Mar 2025 07: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=yG4W=WF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tuRai-0000eQ-Mp
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 07:42:24 +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 87a12299-03cc-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 08:42:23 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so4192689f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 00:42:23 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df35ecsm17469306f8f.16.2025.03.18.00.42.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 00:42: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: 87a12299-03cc-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742283743; x=1742888543; 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=K1qelo60h3DD4suB1+dyfFkkmzSuK9XfyoEODpUP8ec=;
        b=RwV+44+Ba3pzJizLdbEU093sHWWF2PvMeIKtAOdUlq0SJhUrz9VEmOoy5pPOWjSXIH
         B0gOa4ohPVrYfMKPQLG9aYM8efCDtG6dj6f2mFM74khLMQhYHDkizPUj9bf2R2vQ8uS2
         HhLkuCXaj57m2vkPLk6dgiFitTE/VgfmWM/n+yPOoBMZc9wtc0KcNRp0UoeXrB9cQK5v
         0NCNgWTxz2sUruW5BdHM8f/HvZ/L7IUBL+U5/4syfVLX6Eqz8TvN03hR1Eh92KXp8PO5
         fKeXpNqSofLc/60UkqG+0x0dwJLrmu/mTiW+CyxiZ4iTaLTXG+dv8eixLeK4++/iJ05e
         JB9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742283743; x=1742888543;
        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=K1qelo60h3DD4suB1+dyfFkkmzSuK9XfyoEODpUP8ec=;
        b=f7mY2Zs6LY32bZqhMvw6nqGYci2qOIJ1QlYl2lUoWK8aOMXjNU00wZ3zUXNDWJ/v7s
         3WbRxZWAr6oOmO2nS+A/NEfSqsT8IZlKX9wnEnWtOdkk8A4ipaZSVZheWwA5Sa/kaIy9
         Nj3nJmVvygx5TYnIfKWQwQTHoI6dj0LaTPX4jYY/LI6s1aKBeOoCMP/eO5eoX2kTRrjD
         d6xR3CYkkiFi0xwYehtkrCP2ElbkGW8zqdudQIQo/iIPxgzTvB9oG8Savq0DcGGQgWeY
         OTLjm5kh9ajASXP2FUagi4GPsFEcQqMj3O3+nm21WkP2lhUc67x9K88rxZ0MDnekv3JE
         cbxA==
X-Forwarded-Encrypted: i=1; AJvYcCU/6ADl9IHDnKqRDEvP1bUMBM318XMgNjGgVaQwRQl9hJ5wh6BFo99B3T3/s4dKa28tJLM/9mVrAzA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwjU5D1dNvdzdIlOr4G/u9KrJUACI25Lt4fOM5DQc3t3WMapyIF
	O9fDDNaC4PZaeqhGZFAIyYewy4aJOF4w/j9FvipkgnRNR+2kAv2xXaYoyRKgwsg=
X-Gm-Gg: ASbGncsrOD96qFHD26W4QokOxG44ykinBgUD3L1e12FPD23LT1hSNVta2KkyXgn6xpz
	rrfU4h7oKBwbkozbIULiO0so3u7WmYJNSgsaJY8oZh0xziRitgAvDKs61m5W2vurjbCa6Zi9J3H
	BO3Z+lbCpp2+N/oBZX3VKgJpellSb8JfIC9e7keaXOC0TDfNlNQUPE0S6KxLlrjdMYBYudukRy8
	xbzpuKrmy8gaCqZrFlUNUFTup+T6406o5YykTBAhP+FsBeCQ5Qp88Rm7nhmkL2Y2wh0LhnuhDTC
	2gbYyUllY9w8eAoVr6qtHjqWI2MhST7nBt8QNE+2IMLmfqARvXcTjkQWoB6JuJoZ9V/n0WvjTsL
	DRCHsAkR3T/C7AnnipDn1P0CavVvg1HGJTE9z3fUGo5YMllM/vr1YzSjrY/xs61cnVDEp6g==
X-Google-Smtp-Source: AGHT+IFUiuxcCG3P9IYnpXN+3vSjTofrOhitYfclw1P0/fc1BHE/QyRdX6OJGlkOYbL5bS0jLmkXxQ==
X-Received: by 2002:a05:6000:2ce:b0:390:ea4b:ea9 with SMTP id ffacd0b85a97d-3996b49976bmr2374039f8f.39.1742283742760;
        Tue, 18 Mar 2025 00:42:22 -0700 (PDT)
Message-ID: <735dd1b8-80e3-4748-b96d-e30cfe6943ac@suse.com>
Date: Tue, 18 Mar 2025 08:42:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/arinc653: call xfree() with local IRQ enabled
To: Anderson Choi <anderson.choi@boeing.com>, xen-devel@lists.xenproject.org
Cc: nathan.studer@dornerworks.com, stewart@stew.dk,
 matthew.l.weber3@boeing.com, joshua.c.whitehead@boeing.com,
 andrew.cooper3@citrix.com, jbeulich@suse.com
References: <20250318073415.6652-1-anderson.choi@boeing.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: <20250318073415.6652-1-anderson.choi@boeing.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0HIWA5wd0C1C3kzs4GqKDkZI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0HIWA5wd0C1C3kzs4GqKDkZI
Content-Type: multipart/mixed; boundary="------------BCr8OypxII26vSkmtbMqTPTd";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Anderson Choi <anderson.choi@boeing.com>, xen-devel@lists.xenproject.org
Cc: nathan.studer@dornerworks.com, stewart@stew.dk,
 matthew.l.weber3@boeing.com, joshua.c.whitehead@boeing.com,
 andrew.cooper3@citrix.com, jbeulich@suse.com
Message-ID: <735dd1b8-80e3-4748-b96d-e30cfe6943ac@suse.com>
Subject: Re: [PATCH v2] xen/arinc653: call xfree() with local IRQ enabled
References: <20250318073415.6652-1-anderson.choi@boeing.com>
In-Reply-To: <20250318073415.6652-1-anderson.choi@boeing.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=

--------------BCr8OypxII26vSkmtbMqTPTd
Content-Type: multipart/mixed; boundary="------------bH0BO1nO0LsXHPgQQkSr7vvc"

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

T24gMTguMDMuMjUgMDg6MzQsIEFuZGVyc29uIENob2kgd3JvdGU6DQo+IHhlbiBwYW5pYyBp
cyBvYnNlcnZlZCB3aXRoIHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbi4NCj4gDQo+IDEu
IERlYnVnIHhlbiBidWlsZCAoQ09ORklHX0RFQlVHPXkpDQo+IDIuIGRvbTEgb2YgYW4gQVJJ
TkM2NTMgZG9tYWluDQo+IDMuIHNodXRkb3duIGRvbTEgd2l0aCB4bCBjb21tYW5kDQo+IA0K
PiAkIHhsIHNodXRkb3duIDxkb21haW5fbmFtZT4NCj4gDQo+IChYRU4pICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKFhFTikgUGFuaWMgb24gQ1BVIDI6
DQo+IChYRU4pIEFzc2VydGlvbiAnIWluX2lycSgpICYmIChsb2NhbF9pcnFfaXNfZW5hYmxl
ZCgpIHx8DQo+IG51bV9vbmxpbmVfY3B1cygpIDw9IDEpJyBmYWlsZWQgYXQgY29tbW9uL3ht
YWxsb2NfdGxzZi5jOjcxNA0KPiAoWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqDQo+IA0KPiBwYW5pYyB3YXMgdHJpZ2dlcmVkIHNpbmNlIHhmcmVlKCkg
d2FzIGNhbGxlZCB3aXRoIGxvY2FsIElSUSBkaXNhYmxlZCBhbmQNCj4gdGhlcmVmb3JlIGFz
c2VydGlvbiBmYWlsZWQuDQo+IA0KPiBGaXggdGhpcyBieSBjYWxsaW5nIHhmcmVlKCkgYWZ0
ZXIgbG9jYWwgSVJRIGlzIGVuYWJsZWQuDQo+IA0KPiBGaXhlczogMTkwNDlmOGQ3OTZhIHNj
aGVkOiBmaXggbG9ja2luZyBpbiBhNjUzc2NoZWRfZnJlZV92ZGF0YSgpDQo+IFNpZ25lZC1v
ZmYtYnk6IEFuZGVyc29uIENob2kgPGFuZGVyc29uLmNob2lAYm9laW5nLmNvbT4NCg0KUmV2
aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2Vu
DQo=
--------------bH0BO1nO0LsXHPgQQkSr7vvc
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-----

--------------bH0BO1nO0LsXHPgQQkSr7vvc--

--------------BCr8OypxII26vSkmtbMqTPTd--

--------------0HIWA5wd0C1C3kzs4GqKDkZI
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/Ey8FAmfZI90FAwAAAAAACgkQsN6d1ii/Ey/w
0wgAgTw6JJ3ZBVho/cXc1EH0yhgqJRcGg7EnvpOk1guKIaOEuzL/rzfj7h0jnuAn7az0gzV9itfm
rnUkg3ahRcZMi8N1GJo1pb6lKjGp09M/j98h2KIMOgjPFCnYWtJ8JSB25TCVRElCbB4OZUahoWzm
WaSszdAzaS/07yFY8s3xaSxlh3/xCFaqFO1UlFcCEhFKeZewBOnYda7IGfLeNqf09MItRAvbMrSq
VU8nC6wm9c0TNPCflBbiGGMBL25MzKKn53BQv5MqdqzuIJR221KOepeHpBfiR9NbF6unnnPCZx50
4ay6uJpqO4vcbXF/lbulRxh35w4pVSj5wtTbitidBw==
=462G
-----END PGP SIGNATURE-----

--------------0HIWA5wd0C1C3kzs4GqKDkZI--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:26:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918587.1323238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSGx-0001dG-R6; Tue, 18 Mar 2025 08:26:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918587.1323238; Tue, 18 Mar 2025 08:26: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 1tuSGx-0001d9-O8; Tue, 18 Mar 2025 08:26:03 +0000
Received: by outflank-mailman (input) for mailman id 918587;
 Tue, 18 Mar 2025 08:26: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuSGw-0001cx-8t
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:26:02 +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 9f7ed523-03d2-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 09:26:00 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso19677955e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01:26:00 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 5b1f17b1804b1-43d1fe60965sm128084125e9.25.2025.03.18.01.25.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 01:25: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: 9f7ed523-03d2-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742286360; x=1742891160; darn=lists.xenproject.org;
        h=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=MO4fDlPWlszL7utLVdpMqe3Bf78JxCOPIrxrhZgi+/A=;
        b=c1QwUhtJ+KrcyRGUzlBAiFw5rpriEH2FfoxoBDrY1YBEm2Q5cImoWoupCpkHD6klK5
         Dtzr/nhSoUFFJ6TokmSk5aGW0gpvIqUVYbOBrL0ybV8U+r0ySzYTl5J2cJoYKkwJN3ex
         cTrjLx2ivhc+77uafHCs5yb6uSrd8OVnwK8r8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742286360; x=1742891160;
        h=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=MO4fDlPWlszL7utLVdpMqe3Bf78JxCOPIrxrhZgi+/A=;
        b=jpvJA3U16d3qPDl/6AQlc6pmhC5/PTvmazMRksTOM2qPmhiZfTtPfbfJpPfE0LGJag
         UpQt1Q1gYhkaafdALIyFSR/6swr5NXESZ0Bxd8gJcA2IObIDCNgmNzABfU1XUCSER+JW
         AL1E87SIfFJOs/SZrvF09CR8NPTu+GkQyw95eBss06jjcgYrlRmftBOLuP2LyZjJ/fBI
         lGQA0WCb2txSpdw+wle2d/IkP9c0tx6MFQ9fJwrFnnczsoRy/sOtIvtAkf5dAgMFZBQl
         a8drI6KaIE7vp5sbch7zFRMG+95td/PJ9VIW956Ot5i9bom3TMUhAPxW4lzq+0rgCxkU
         86Nw==
X-Forwarded-Encrypted: i=1; AJvYcCWtbXzYxS0uNrK61HMO6semjVhEu3N0nG5v5XCuhyTfKuWxGHvwMhfVYWvqzaXHkemegnSW9/43PBQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8je0xx8bxPcDrOZZciF9WD06RTYRTUki9xshjXrDU+X6K6mED
	m7qQdDIs/2WmwvbK8lfhA2+dWuB0oCYuaRnPq0z7/GpbX0882iZiyBXHR08fzEG1LENBhXXEj+L
	2
X-Gm-Gg: ASbGncvZxtzkogs3WsJOV/kRHI4N6mMG1b1RkFnj0bz+D0Cm0sOLOI3d4OoBpJV7VuD
	72ZDbnTr+ZJpDytI1HPPIXHJ9eWVbnSDvJZKsgHFSXYP/plBacAxJQlZJkLINJ9QOAnTw5JNCI+
	05ITaPXBeWVFbLVpDNGG/R4+LIAd1nvZxqyFdqPLkUGnStdQL862SG3/FZnRdEf8fw0KsME71d4
	QyruXqCBXTibCciwdHk8FTx7LsfP/HYUFuNuyP/MiH7ZvD2dcNn48NERUgh1wlijJ1q3WZNU0J/
	74kqTIjrJgrAD30gilvviljeQF1zT/u7/42Wf0DZ6jak2+RsJrVDCAI=
X-Google-Smtp-Source: AGHT+IE8vaJ9kke0z9DksOnSc9vC4nFpylBoi3tESjefNgTMg1hpp1cXpIFcqosPPLxw3nTcdPkpsA==
X-Received: by 2002:a05:600c:138c:b0:43d:649:4e50 with SMTP id 5b1f17b1804b1-43d3b98e845mr11599545e9.13.1742286359669;
        Tue, 18 Mar 2025 01:25:59 -0700 (PDT)
Date: Tue, 18 Mar 2025 09:25:58 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: S3 regression on AMD in 4.20
Message-ID: <Z9kuFjTfNj4ju4mV@macbook.local>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
 <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
 <8d96f12b-c780-4aea-92a4-5034d1c5c7f6@suse.com>
 <Z9heCs3k1HORqfBY@macbook.local>
 <e4229113-28d3-4949-a618-32bb48e53ff6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e4229113-28d3-4949-a618-32bb48e53ff6@suse.com>

On Tue, Mar 18, 2025 at 07:24:31AM +0100, Jan Beulich wrote:
> On 17.03.2025 18:38, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 17, 2025 at 05:11:56PM +0100, Jan Beulich wrote:
> >> On 17.03.2025 16:56, Roger Pau MonnĂŠ wrote:
> >>> On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
> >>>> On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
> >>>>> On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
> >>>>>> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> >>>>>>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
> >>>>>>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> >>>>>>>>
> >>>>>>>> This one has working S3, so add a test for it here.
> >>>>>>>>
> >>>>>>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> >>>>>>>> ---
> >>>>>>>> Cc: Jan Beulich <jbeulich@suse.com>
> >>>>>>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> >>>>>>>>
> >>>>>>>> The suspend test added here currently fails on staging[1], but passes on
> >>>>>>>> staging-4.19[2]. So the regression wants fixing before committing this
> >>>>>>>> patch.
> >>>>>>>>
> >>>>>>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> >>>>>>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
> >>>>>>> We could commit the patch now without the s3 test.
> >>>>>>>
> >>>>>>> I don't know what the x86 maintainers think about fixing the suspend
> >>>>>>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> >>>>>> I'm on it already, but it's annoying. Lets convert this thread to
> >>>>>> discussion about the issue:
> >>>>>>
> >>>>>> So, I bisected it between staging-4.19 and master. The breakage is
> >>>>>> somewhere between (inclusive):
> >>>>>> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> >>>>>> and
> >>>>>> 47990ecef286 x86/boot: Improve MBI2 structure check
> >>>>>>
> >>>>>> But, the first one breaks booting on this system and it remains broken
> >>>>>> until the second commit (or its parent) - at which point S3 is already
> >>>>>> broken. So, there is a range of 71 commits that may be responsible...
> >>>>>>
> >>>>>> But then, based on a matrix chat and Jan's observation I've tried
> >>>>>> reverting f75780d26b2f "xen: move per-cpu area management into common
> >>>>>> code" just on top of 47990ecef286, and that fixed suspend.
> >>>>>> Applying "xen/percpu: don't initialize percpu on resume" on top of
> >>>>>> 47990ecef286 fixes suspend too.
> >>>>>> But applying it on top of master
> >>>>>> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
> >>>>>> but the failure mode is different than without the patch - system resets
> >>>>>> on S3 resume, with no crash message on the serial console (even with
> >>>>>> sync_console), instead of hanging.
> >>>>>> And one more data point: reverting f75780d26b2f on top of master is the
> >>>>>> same as applying "xen/percpu: don't initialize percpu on resume" on
> >>>>>> master - system reset on S3 resume.
> >>>>>> So, it looks like there are more issues...
> >>>>> Another bisection round and I have the second culprit:
> >>>>>
> >>>>>     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
> >>>>>
> >>>>> With master+"xen/percpu: don't initialize percpu on resume"+revert of
> >>>>> 8e60d47cf011 suspend works again on this AMD system.
> >>>>
> >>>> That's not surprising in the slightest.
> >>>>
> >>>> Caching hardware values in Xen isn't safe across S3, which QubesOS has
> >>>> found time and time again, and for which we still have outstanding bugs.
> >>>>
> >>>> S3 turns most of the system off.Â  RAM gets preserved, but devices and
> >>>> plenty of internal registers don't.
> >>>
> >>> I think I've spotted the issue.  enable_iommu() called on resume
> >>> (ab)uses set_msi_affinity() to force an MSI register write, as it's
> >>> previous behavior was to unconditionally propagate the values.  With
> >>> my change it would no longer perform such writes on resume.
> >>>
> >>> I think the patch below should help.
> >>>
> >>> I wonder if we should unconditionally propagate the write from
> >>> __setup_msi_irq(), as it's also unlikely to make any difference to
> >>> skip that write, and would further keep the previous behavior.
> >>
> >> That might be better. In fact I wonder whether it wouldn't better be
> >> callers of write_msi_msg() to use ...
> >>
> >>> ---
> >>> commit 1d9bfd0d45f6b547b19f0d2f752fc3bd10103971
> >>> Author: Roger Pau Monne <roger.pau@citrix.com>
> >>> Date:   Mon Mar 17 15:40:11 2025 +0100
> >>>
> >>>     x86/msi: always propagate MSI writes when not in active system mode
> >>>     
> >>>     Relax the limitation on MSI register writes, and only apply it when the
> >>>     system is in active state.  For example AMD IOMMU drivers rely on using
> >>>     set_msi_affinity() to force an MSI register write on resume from
> >>>     suspension.
> >>>     
> >>>     The original patch intention was to reduce the number of MSI register
> >>>     writes when the system is in active state.  Leave the other states to
> >>>     always perform the writes, as it's safer given the existing code, and it's
> >>>     expected to not make a difference performance wise.
> >>>     
> >>>     Reported-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> >>>     Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed')
> >>>     Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >>>
> >>> --- a/xen/arch/x86/msi.c
> >>> +++ b/xen/arch/x86/msi.c
> >>> @@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
> >>>  {
> >>>      entry->msg = *msg;
> >>>  
> >>> +    if ( unlikely(system_state != SYS_STATE_active) )
> >>
> >> ... this condition as needed. Conceivably there might be cases where even
> >> during resume writes aren't always necessary to propagate to hardware.
> > 
> > Isn't this going to be quite more cumbersome, and I don't think the
> > cases outside of active mode are very interesting or relevant
> > performance wise?
> 
> Certainly. As to cumbersome - having the conditions at the call sites
> would also serve as kind of documentation. That said, this was just a
> suggestion; I'm not going to insist. I see from other traffic on this
> thread the updated patch is now fully addressing the regression. The
> secondary change, if not broken out to a separate patch, would want
> mentioning in the description, though (which may have been the plan
> anyway).

Indeed, it's already mentioned in the description.  Let me formally
send the patch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:29:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:29:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918598.1323248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSJv-0002Cz-8g; Tue, 18 Mar 2025 08:29:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918598.1323248; Tue, 18 Mar 2025 08:29: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 1tuSJv-0002Cs-4m; Tue, 18 Mar 2025 08:29:07 +0000
Received: by outflank-mailman (input) for mailman id 918598;
 Tue, 18 Mar 2025 08:29: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuSJu-0002Cm-7O
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:29:06 +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 0d10534a-03d3-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 09:29:04 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3996af42857so637540f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01:29:04 -0700 (PDT)
Received: from [10.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-395cb7ea197sm17137830f8f.84.2025.03.18.01.29.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 01:29: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: 0d10534a-03d3-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742286543; x=1742891343; 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=UfHz/ivDr3V8zIZ0HSmnHb6L7TfKKLfdJCyzThwmLbE=;
        b=ab3KGeOLLD+o4cGS1U6ZglFALGWhjRIpqL3HWzpNLqHyzSOig/Xa0AszBceYc1+23h
         7y/UBVupKEed0qgXyEK8GCPRMsd5zXVCLSfk/I+JLnwJ9IYaQL6+1lz/+U47nkvQr3ma
         sTczqyG8yuPlpenl5az76Q0AZnHio0bbvmcRcV71FNJ75YCkoGnpYsDcFAETzyfVct9N
         f7OTix6e4KesKwJchUwBJTjePNXuLH1UXLP5QjK4edf2cH6Ndt0bufiD4355B20SpqcD
         hUNCaaTpmuFfZTk6ASYL9zqvaX1r8LGyF5Bj27yVuseZoHkaK1RmQkOB2Gpchijl1Phb
         saTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742286543; x=1742891343;
        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=UfHz/ivDr3V8zIZ0HSmnHb6L7TfKKLfdJCyzThwmLbE=;
        b=aKU5GpJZ4bliqZi8RDSIMgXQCByjCJbjXch2piKuyKKIYN1irqEjPdSMa7JVyWuuF2
         xQ6XeFPH+OhQXeNYbjx/eHmF043uYTygjFy6lES1nB5m+5kiXfI3wtEa+dRkp3LNuTQC
         QkyUvc2VighDoXhU5Ez5RFcFtaZUYuiMI0BwdSaBCkOLjlDxC65dL1TR1l7R3eUQd60j
         rIxKw2GYO1Vx1RTgzdehmCTf7Q6CVgJ7tRXdAaLtI6T91tS9EDNXCWaly8pzgRAqobRI
         yYVHEdMZ/GED8/g2JMuELkjHLlkBP7fZEDFZtoLQ5LoWlajUFhe717a/1KkDT4XpJmPV
         e7Rg==
X-Forwarded-Encrypted: i=1; AJvYcCV0sXajnPYNqsdxU+iHq2lpDthm4galqwFaeJDp1S9ZXfSWEc3Fl3eLDhgvisE3vuhFLJlUbeEbUGE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwTQ9LEIvTl/fJIfHe9tPJBRWHU6AB1fjl86eCLpL6b46Y3DhSP
	h7CH9pNaIDyKVFJEgY0vJVZzu4yXoxYHKMXAm3Oa1ldFM8G15Nv3xrHz7/Q+aw==
X-Gm-Gg: ASbGncvr1I9Zq69nFtWVmOoT98nOIyhKZEVbQgoeKbDSkErsSpKLuHIwfmwThy01vNz
	2EnFMHtx2XFOKuuseAjfPfOrWTjlpEMIUk+Od/XtckuUtWUKTTksXmLiBqCme9ceG0w+xzMh6n2
	boHzolnUh8C7T7Ma6WKr/qn47Qmry9qgsGSYWJGsqDwu+TJleZnyuIvma2Iasc2KcES6+O5bEkp
	2MNYw+Q34mLmKcY6ExxRvSe3I9b/4G2KIc4yx9uBAt3N/u3VC91GsBZax/7RZPVtZ8sECM0A4jp
	Io4/W9YK7mbIVXQnLVZAPY558NVFfKQa1+Fy+b5flMCdRMezLSS/tziUIMyrVjaU/e2K4omQH0b
	UPtJBcpM9v6pAcKwmglrdnKavckXKwrFjn5ALwHSb
X-Google-Smtp-Source: AGHT+IG9PmxYcB5UMhEq2CKQ9PXLstPBNT7FMUo98CavZijKt/eO1PQGh3jA30p6ot1Q2EMgCyjuqA==
X-Received: by 2002:a5d:648b:0:b0:391:2eaf:eca1 with SMTP id ffacd0b85a97d-3996ba46ab1mr1662854f8f.2.1742286543610;
        Tue, 18 Mar 2025 01:29:03 -0700 (PDT)
Message-ID: <3fdd1144-ede9-4b07-a479-39baf05b3a7f@suse.com>
Date: Tue, 18 Mar 2025 09:29:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/emul: Emulate %cr8 accesses
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250317184044.560367-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: <20250317184044.560367-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.03.2025 19:40, Andrew Cooper wrote:
> Petr reports:
> 
>   (XEN) MMIO emulation failed (1): d12v1 64bit @ 0010:fffff8057ba7dfbf -> 45 0f 20 c2 ...
> 
> during introspection.
> 
> This is MOV %cr8, which is wired up for hvm_mov_{to,from}_cr(); the VMExit
> fastpaths, but not for the full emulation slowpaths.  Wire %cr8 up in
> hvmemul_{read,write}_cr() too.
> 
> Reported-by: Petr BeneĹĄ <w1benny@gmail.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Like in a few other cases I guess there's no good Fixes: tag to use, as the
omission must have been there basically forever.

> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -2285,6 +2285,11 @@ static int cf_check hvmemul_read_cr(
>          *val = current->arch.hvm.guest_cr[reg];
>          TRACE(TRC_HVM_CR_READ64, reg, *val, *val >> 32);
>          return X86EMUL_OKAY;
> +
> +    case 8:
> +        *val = (vlapic_get_reg(vcpu_vlapic(current), APIC_TASKPRI) & 0xf0) >> 4;

I think it would be nice to add a #define to apicdef.h that could be utilized to
use MASK_EXTR() here (and MASK_INSR() below). Otherwise even without such a
#define I'd like to ask that we use the two macros here.

> +        return X86EMUL_OKAY;
> +
>      default:
>          break;
>      }
> @@ -2325,6 +2330,11 @@ static int cf_check hvmemul_write_cr(
>          rc = hvm_set_cr4(val, true);
>          break;
>  
> +    case 8:
> +        vlapic_set_reg(vcpu_vlapic(current), APIC_TASKPRI, ((val & 0x0f) << 4));
> +        rc = X86EMUL_OKAY;
> +        break;

Both SDM and PM say #GP upon writes to reserved bits, without there being a place
where it is said which bits are reserved. Don't we therefore need to treat bits 4
and up as must-be-zero, implying that all bits which have no meaning are reserved?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:29:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918608.1323259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSKj-0002iq-Hw; Tue, 18 Mar 2025 08:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918608.1323259; Tue, 18 Mar 2025 08:29: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 1tuSKj-0002ij-Db; Tue, 18 Mar 2025 08:29:57 +0000
Received: by outflank-mailman (input) for mailman id 918608;
 Tue, 18 Mar 2025 08:29: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuSKi-0002Cm-Kq
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:29:56 +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 2975dafa-03d3-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 09:29:51 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so3218392f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01:29:51 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395c8975b34sm17560128f8f.55.2025.03.18.01.29.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 01:29: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: 2975dafa-03d3-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742286591; x=1742891391; 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=BTu9/BpyX023yFbCJu7mR4I20iD5ZNIw5rR/YcnfI+k=;
        b=l09SrUW1lXhgKtLe4JTBOCGZyghel3WQZbPS/dFcc1+Re7v7PUzooxXYf92WcToAbg
         f04xYFNVvehiUpH1J909XhequRiTDZQk5K6XsUNQSSvC1XiKwZFDeB/npAoBpBqaZO2T
         L817IeF0ydB9SlLvrSNDLO7t3rfM3NpFRTPNI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742286591; x=1742891391;
        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=BTu9/BpyX023yFbCJu7mR4I20iD5ZNIw5rR/YcnfI+k=;
        b=j/EV/j4dsi5bNoogbNKScAseJ4gwAnRo37y2IKbjvC01+5hdiBLhoTMa9C08w3EDCx
         QwkxcOhJY7F25eLs78Gioz2CvvvHaaTVTmALT/aXn3aPjancrt601IPFkoFug8P7DslB
         5HXUH83tGtUWjrmkzv472uBla6/dV3GIdMxsJ21PyUWwHp6wxfM50XIJT0H91Ed9/Y0R
         oyZzaQeOO1RMNhgiu25ImIhHUTATk0dqA4IzczS0EW9UOGFqWdFNB+tNSKkwYl/3Yj2l
         UhIwcYkAULXUMkCBf8aRRJMwKnP3z75jJIEq8ubPKlCRMG1BRCYn84vbSN1Cwk9uFZrE
         Abrg==
X-Gm-Message-State: AOJu0YzHy/YJjhPgqv7/vEIg7XOfqo43rk26cloa8b+ATr1hUV27ODT1
	KYwfoHMuUzQhrcxeyRpgqv+LVn6VIzP5bb1KTDpZpiL6qEcwpK96zbuOJd0AwaoWkaHVU5fxAhA
	o
X-Gm-Gg: ASbGncsKzv/axAqjeAPdMlwLT+h8w2HxZluGk5zOCXbiNeJ/ngp+oC7vLYQ4WkUXD6o
	/bMBAHpZd0vVHCCGwIIFi1HMsYCtUJldO2FWWR+3fVpXb62EiKXitUpbsczVdjDu6UElvDQoCh7
	2/tqGc5dNfknLYUuIMlBlVST8C8k4x55+Nq1EuM+eAAhER1K3/0x+aj6ONa+nM7aemWc41lDx82
	oZdv+MX4lNqXvQScBuhcFaMgTP/csFkz7KH4CtPe8NmOsWrApXgunfISwKCBBsN4PgVwuWAMUki
	eYxzY5yumczOR/yOtNS94XfNhvDRdPptk10XHOdE/o5+eZByhyF/r94=
X-Google-Smtp-Source: AGHT+IEIzqwAKrEOK/zJ9dzxOeKnhmfQnzj2x0BKwQohuIscM/gpAr/LxaGF93grrSxViE00scgxMQ==
X-Received: by 2002:a05:6000:25f8:b0:391:3f4f:a169 with SMTP id ffacd0b85a97d-3971e592812mr16513233f8f.32.1742286590999;
        Tue, 18 Mar 2025 01:29:50 -0700 (PDT)
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] x86/msi: always propagate MSI writes when not in active system mode
Date: Tue, 18 Mar 2025 09:29:45 +0100
Message-ID: <20250318082945.52019-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Relax the limitation on MSI register writes, and only apply it when the
system is in active state.  For example AMD IOMMU drivers rely on using
set_msi_affinity() to force an MSI register write on resume from
suspension.

The original patch intention was to reduce the number of MSI register
writes when the system is in active state.  Leave the other states to
always perform the writes, as it's safer given the existing code, and it's
expected to not make a difference performance wise.

For such propagation to work even when the IRT index is not updated the MSI
message must be adjusted in all success cases for AMD IOMMU, not just when
the index has been newly allocated.

Reported-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/msi.c                       | 9 +++++++++
 xen/drivers/passthrough/amd/iommu_intr.c | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 163ccf874720..8bb3bb18af61 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg,
 {
     entry->msg = *msg;
 
+    if ( unlikely(system_state != SYS_STATE_active) )
+        /*
+         * Always propagate writes when not in the 'active' state.  The
+         * optimization to avoid the MSI address and data registers write is
+         * only relevant for runtime state, and drivers on resume (at least)
+         * rely on set_msi_affinity() to update the hardware state.
+         */
+        force = true;
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         int rc;
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 9abdc38053d7..08766122b421 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
                                             &msi_desc->remap_index,
                                             msg, &data);
-    if ( rc > 0 )
+    if ( rc >= 0 )
     {
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:31:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918619.1323267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSLt-00057l-Ps; Tue, 18 Mar 2025 08:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918619.1323267; Tue, 18 Mar 2025 08:31: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 1tuSLt-00057e-NL; Tue, 18 Mar 2025 08:31:09 +0000
Received: by outflank-mailman (input) for mailman id 918619;
 Tue, 18 Mar 2025 08:31: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuSLs-00057U-88
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:31:08 +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 55cf680d-03d3-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 09:31:06 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so18353935e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01:31:06 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395cb7ea197sm17143277f8f.84.2025.03.18.01.31.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 01:31: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: 55cf680d-03d3-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742286666; x=1742891466; darn=lists.xenproject.org;
        h=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=NLpP2r/uvNW9nsoEmTyyyAQzGv3bxY+Sf1ncfRw2iKc=;
        b=U1VzILVJzj8oNdgTHp+QHJwkBb0qdG+93hcIGxkTLdotDsCZdUQgrRKs+ehLPQCxbI
         kzccL4HGNameAdOwWxaJLS1jcavV3zZIC4mTDTkxvrVJuja0hT6uOh2bamiGMHATaK7r
         JVQU2mhWyuUax3zEZVv4c89Gca9qZ8CB+iBXU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742286666; x=1742891466;
        h=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=NLpP2r/uvNW9nsoEmTyyyAQzGv3bxY+Sf1ncfRw2iKc=;
        b=K+/yAtgAv1sJxShViJj2K1bfu0TnahKwvgehNQLUb3B1GKRLrAl94kLRgccTbaUoPD
         hF172XLypnK1mHbuMjU/2Qrae8NhyNnb1yRVxhV8NfHfthDUttKoXwxSErCGzmD/JYON
         EpnMlPWDYZqUeq3LIb52yDDTtkdmODb/th6fdpLk+KcQijpimQhVYWqr+m+WnQJbNbsy
         butQMMRFqW4kfSwbj2cJUW5ZHrZBwgqGNxwhInxOcRMscOw2vvs+uSsBCRsbhgvvSTUA
         lDkip0fOJqVTUOcmbs66syyI250Q9Z3LrNYqQe3Ib2PKbH2FCP4MMwEY7TxCH11lk/ug
         nIyw==
X-Forwarded-Encrypted: i=1; AJvYcCUCnR17TdggQpzq7la7Xf2zChvvy46que+RqEka0lEWbHqs3y50RAzs4liwju84J+lisaPkrOyVPP0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxinEU1R77kP6IKV7HnKOGIo2BWkX9ZEti+rhg4n8NpJ+P2YDRr
	JfXLSUuKy4/zgvW90DbVTA/SJ36Ay13AkEqgKvnYvdErhIHdbhSr0xxJRynf8qE=
X-Gm-Gg: ASbGncvQHX9Gk8+aJEWiBZlPAJsA19hIoj9QSR4SIYnd5awhJUCLIbMVDy5PobbCpYn
	SOUtOT0bIYfY/JtLHCFovDw8ipAFP7/KLYODXCRtOqGUIT3nsjgsBmZdFFc7HpLQYxAWawDRcpu
	i+safdrmiMH0m4bRqFvPMBoZpQP0m7k2LfrglYp4almFMSMvl1+C2wGagfJ/0WHuNrjVP/Unm+X
	zinuaxqJcFe3z48AFb0M+bDB0b1oP9Wq5/zRE+ajirqrJVjwaJk1zcaXAWCmbaEa2p/TJIzVWdW
	LRp5SDbHoHieOHIJls4zHH3K4G+bJNYKlhCJL4aKeVk+RCqRhHMv8+k=
X-Google-Smtp-Source: AGHT+IFpU5YueQJvFDQozRk4d2Lzzs+jbp8vSfiEkKJbFUt0/aHe+/n3HztzhBiXo4Roke7pU1/guw==
X-Received: by 2002:a5d:47cc:0:b0:391:3207:2e68 with SMTP id ffacd0b85a97d-3996bb456a5mr2020789f8f.9.1742286665593;
        Tue, 18 Mar 2025 01:31:05 -0700 (PDT)
Date: Tue, 18 Mar 2025 09:31:04 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: Re: S3 regression on AMD in 4.20
Message-ID: <Z9kvSGhXxFFXDElP@macbook.local>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z9SsYF0pYTkZXg9I@mail-itl>
 <Z9TBaEeUcVrjaACL@mail-itl>
 <fd27f66c-12ce-4f94-8cc3-a8fbc18694a4@citrix.com>
 <Z9hGH0GLq-I1cKzt@macbook.local>
 <Z9hPaLVVhqAK5H0K@mail-itl>
 <Z9hdTCMKxF98wHJw@macbook.local>
 <Z9hhvr7p13RGcNCY@mail-itl>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Z9hhvr7p13RGcNCY@mail-itl>

On Mon, Mar 17, 2025 at 06:54:06PM +0100, Marek Marczykowski-GĂłrecki wrote:
> On Mon, Mar 17, 2025 at 06:35:08PM +0100, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 17, 2025 at 05:35:51PM +0100, Marek Marczykowski-GĂłrecki wrote:
> > > On Mon, Mar 17, 2025 at 04:56:15PM +0100, Roger Pau MonnĂŠ wrote:
> > > > On Sat, Mar 15, 2025 at 12:02:50AM +0000, Andrew Cooper wrote:
> > > > > On 14/03/2025 11:53 pm, Marek Marczykowski-GĂłrecki wrote:
> > > > > > On Fri, Mar 14, 2025 at 11:23:28PM +0100, Marek Marczykowski-GĂłrecki wrote:
> > > > > >> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> > > > > >>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
> > > > > >>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> > > > > >>>>
> > > > > >>>> This one has working S3, so add a test for it here.
> > > > > >>>>
> > > > > >>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> > > > > >>>> ---
> > > > > >>>> Cc: Jan Beulich <jbeulich@suse.com>
> > > > > >>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> > > > > >>>>
> > > > > >>>> The suspend test added here currently fails on staging[1], but passes on
> > > > > >>>> staging-4.19[2]. So the regression wants fixing before committing this
> > > > > >>>> patch.
> > > > > >>>>
> > > > > >>>> [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> > > > > >>>> [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
> > > > > >>> We could commit the patch now without the s3 test.
> > > > > >>>
> > > > > >>> I don't know what the x86 maintainers think about fixing the suspend
> > > > > >>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> > > > > >> I'm on it already, but it's annoying. Lets convert this thread to
> > > > > >> discussion about the issue:
> > > > > >>
> > > > > >> So, I bisected it between staging-4.19 and master. The breakage is
> > > > > >> somewhere between (inclusive):
> > > > > >> eb21ce14d709 x86/boot: Rewrite EFI/MBI2 code partly in C
> > > > > >> and
> > > > > >> 47990ecef286 x86/boot: Improve MBI2 structure check
> > > > > >>
> > > > > >> But, the first one breaks booting on this system and it remains broken
> > > > > >> until the second commit (or its parent) - at which point S3 is already
> > > > > >> broken. So, there is a range of 71 commits that may be responsible...
> > > > > >>
> > > > > >> But then, based on a matrix chat and Jan's observation I've tried
> > > > > >> reverting f75780d26b2f "xen: move per-cpu area management into common
> > > > > >> code" just on top of 47990ecef286, and that fixed suspend.
> > > > > >> Applying "xen/percpu: don't initialize percpu on resume" on top of
> > > > > >> 47990ecef286 fixes suspend too.
> > > > > >> But applying it on top of master
> > > > > >> (91772f8420dfa2fcfe4db68480c216db5b79c512 specifically) does not fix it,
> > > > > >> but the failure mode is different than without the patch - system resets
> > > > > >> on S3 resume, with no crash message on the serial console (even with
> > > > > >> sync_console), instead of hanging.
> > > > > >> And one more data point: reverting f75780d26b2f on top of master is the
> > > > > >> same as applying "xen/percpu: don't initialize percpu on resume" on
> > > > > >> master - system reset on S3 resume.
> > > > > >> So, it looks like there are more issues...
> > > > > > Another bisection round and I have the second culprit:
> > > > > >
> > > > > >     8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT index hasn't changed
> > > > > >
> > > > > > With master+"xen/percpu: don't initialize percpu on resume"+revert of
> > > > > > 8e60d47cf011 suspend works again on this AMD system.
> > > > > 
> > > > > That's not surprising in the slightest.
> > > > > 
> > > > > Caching hardware values in Xen isn't safe across S3, which QubesOS has
> > > > > found time and time again, and for which we still have outstanding bugs.
> > > > > 
> > > > > S3 turns most of the system off.Â  RAM gets preserved, but devices and
> > > > > plenty of internal registers don't.
> > > > 
> > > > I think I've spotted the issue.  enable_iommu() called on resume
> > > > (ab)uses set_msi_affinity() to force an MSI register write, as it's
> > > > previous behavior was to unconditionally propagate the values.  With
> > > > my change it would no longer perform such writes on resume.
> > > > 
> > > > I think the patch below should help.
> > > 
> > > It doesn't, I still got reboot on resume, with no crash message on
> > > serial (even with sync_console).
> > 
> > There was an error with the previous patch, and it's also a bug in the
> > original patch.  Could you give a try to the updated patch below?
> > 
> > Sorry for bothering you, but ATM I haven't found a way to trigger
> > this myself.
> 
> This one does fix the issue :)

I've now formally sent the patch, could you provide a Tested-by for
it?

https://lore.kernel.org/xen-devel/20250318082945.52019-1-roger.pau@citrix.com/T/#u

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:36:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:36:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918633.1323277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSRH-0005nD-Fh; Tue, 18 Mar 2025 08:36:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918633.1323277; Tue, 18 Mar 2025 08: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 1tuSRH-0005n6-Cu; Tue, 18 Mar 2025 08:36:43 +0000
Received: by outflank-mailman (input) for mailman id 918633;
 Tue, 18 Mar 2025 08:36: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuSRG-0005mw-0s
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:36:42 +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 1c940c8b-03d4-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 09:36:40 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so19900875e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01: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-43d2bb5f987sm73640365e9.24.2025.03.18.01.36.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 01:36: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: 1c940c8b-03d4-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742286999; x=1742891799; 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=vGfQQJDphIXigITeWcIR2RVzSsr8UtitPQEr7R1fYwM=;
        b=Tp2fy9yIUygCcN2VjOqrsVNiahYBSQKfTiA/EjT7NSaMYPz+jNRRSYibnQ4S7aPm/A
         4hH+Q27BJm6cG1ZGC5N4TUg23CmE/0K6azKnYkKmImf45LMUGVgA6b31kiZKQqgY4IpJ
         +X2J7ZvQCX/eak/EK5my5siZy/5X7YxLy/lqlpQUoudnHWZbYvPPqEq4ZAAMGz0FllU2
         ny//SAyy1h6eNLq6CRJyQGybAGTQADmPYE9rO+2MBDaOepfjlyEiu2Hfm742qU1dedk4
         zEUxXxgIRjuS1j4wML5vqkX7sREvFySU0QvyXysCORc1boz0Y/z172TNmOl2rADvWA9o
         ZnaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742286999; x=1742891799;
        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=vGfQQJDphIXigITeWcIR2RVzSsr8UtitPQEr7R1fYwM=;
        b=FXbbQMFwnuc7HXeUDvbOLTbNHfVnzGb2ueKb18/0s4oTCUxsjlgvrICFqul4BkMYnA
         KWAu6ClP1voVjI8kLk7QWuE3f5/hiQZIVi3eiH169VVC0nIjO2yDfhJOdOgcvrY5Z2tL
         rdvR4BEiC8W0s1B4Julsq7LK4cpCbGfsG+35RXJq5UgatgE5MLaL0wNN1sgGYACrWJR7
         7abgiVN8UD/C026jf9diOMb+bM+DdZvu4U7ENTtEYPdQg9gYkKPhFNABDvnuKvLz6got
         SHmddTy93La499Rjqr1TPwW7VxyId5ndfo4Vu1j0wwLEuDC8K4qTkrzgonVJkSgeD0AO
         EVWw==
X-Forwarded-Encrypted: i=1; AJvYcCXRV8ZHObdBYjFgspXSCKIYcAKYm8HOm563RRFlSTUrIWQGE5nYUfABJZgc0uBpKXaYDawKr1gsfio=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWdxcgeaKESiwmK5MTEyF6+iQxCTUYAdyIK2jCwpWlmCOjJQMF
	n97JLCCpQgL+2tJg29kDbghEvOobhHyBirb4KCvmHgf6PzSPTaX4JcHw7UWQhw==
X-Gm-Gg: ASbGncvtulSkj8/SrQ6qYSWFlzMEPj+LmC6rd47dtMLsTTutGoEthvJv+gQMt+wNeWj
	rSZ3Xp2eZK5ULl6uaM7PGR76CtL/UmLfyqbcz9npwpABvSEx1cLcmKX+l/TMp44qz9rQdHhKads
	ypsWDDXxPvIKpzs7yXRql5yIrQDbg61XOeuIEaTWsShEgR2cOx8NB2flPw3LkFbcsfl5vUFUJG0
	VaZv/bb3rTCyNdHQwY+t43et4uaiVFIfo4afWvzhhhnb3c35VjPUDRNy5T9noIdv3GdNyAUYD92
	/Qgp4ikaQmV0Gexb9vpIzk2QiBNItQYCkgijCmlnSxWuwxl6UdA70unx+jD+WJko759h00fVuxu
	Gf6inyP37AEV0E0D7JGlEvRyks6HmUw==
X-Google-Smtp-Source: AGHT+IGHORhwAs0Xc0YD9wi9SIW5s1ZcXPBxNlQsKQDMIZxt2+QQT/3WSMsJSJ4HSLPH81WxLBISvA==
X-Received: by 2002:a05:600c:3c9e:b0:43c:f8fc:f697 with SMTP id 5b1f17b1804b1-43d3b97f44cmr10428315e9.9.1742286999083;
        Tue, 18 Mar 2025 01:36:39 -0700 (PDT)
Message-ID: <38076c0d-8e1a-4d16-b22c-b1db9460ed1c@suse.com>
Date: Tue, 18 Mar 2025 09:36:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/msi: always propagate MSI writes when not in active
 system mode
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20250318082945.52019-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: <20250318082945.52019-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 09:29, Roger Pau Monne wrote:
> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>                                              &msi_desc->remap_index,
>                                              msg, &data);
> -    if ( rc > 0 )
> +    if ( rc >= 0 )
>      {
>          for ( i = 1; i < nr; ++i )
>              msi_desc[i].remap_index = msi_desc->remap_index + i;

I understand that Marek's testing has made clear that this change is needed,
yet I don't understand it. If we didn't allocate a new index, why would we
need to update in-memory state, when memory is preserved across S3? (This
lack of understanding on my part is why I didn't associate the last
paragraph of the description with this extra change, when you first sent it
in this shape on the original thread.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:48:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918643.1323288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuScC-0008SS-Eo; Tue, 18 Mar 2025 08:48:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918643.1323288; Tue, 18 Mar 2025 08:48: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 1tuScC-0008SL-BL; Tue, 18 Mar 2025 08:48:00 +0000
Received: by outflank-mailman (input) for mailman id 918643;
 Tue, 18 Mar 2025 08:47: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuScA-0008SA-PM
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:47:58 +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 b015bca6-03d5-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 09:47:56 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso32732945e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01:47:56 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395cb3189a0sm17833911f8f.67.2025.03.18.01.47.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 01:47: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: b015bca6-03d5-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742287676; x=1742892476; 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=ThJQB3tJJbLra9ACRWvyMzL1XPDAWQ8f8WNTPFDs/GU=;
        b=emD5KraCIyOXtNRyosduVnLUPBBanSDabFtNn5fI2W1cSddfPfuLrVw9UnDt9yg0Ua
         gxPU/zmDktE+SCVRjmqohZoGY4C/P6Ccb2bdmbELgAA3hQes4QMWeV9eae5y0Javdy/A
         JTCtmhBUej/cy5G42Rxgoa/iHfEaK8VckkbWE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742287676; x=1742892476;
        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=ThJQB3tJJbLra9ACRWvyMzL1XPDAWQ8f8WNTPFDs/GU=;
        b=MxNzTG//EcHMX9ssH9fM135zXvPKGCbnJxx9Yw2H4BqrsrZwwvWKtND0UVBnkOTwiE
         KHxfwrjoLpiOpJUw7cl9x+drHyoMekr4SI8T6osvjtR2HHuJDdygSSZbVPd9K9n0BlIa
         ldE98XLKitE41MOvJ4vj+UyiklhBzzxzrgPxgKFQH2uNvkPeMQS5tGW5IBPxudw3FZPM
         r67pOyYEesNYg8EQ1N059aYMq5xZu2EFfFeSvsKuwufSDaI0ljG3H6bC/OlK7yu6MFvF
         S9L+kLFMtPpB7NXa1eudqBN/TgYQMLJ9+1j3cU8qgChJulNAB4LmmCC8+Tn7eCZW8fK4
         OmRA==
X-Gm-Message-State: AOJu0YzkOm/ySIuxnP38uDKj58EEDxGvfCuAwiaFTRSnVAKl9s3j0xvy
	JdgHKEUCpmI4Ja9bYSXW31er4mBTNs2mVAFN8byttfvuBbCGK2rvgPNHMW3r0xhOaECLwg8WFDi
	2
X-Gm-Gg: ASbGncukwiReWm8c3UDfXORfCYs0O/Hj8QcABYt+SGHmApivukFYWG/JLoXmO++SeUU
	N5X2WHt40LBK6X7K6E+3tgIOXp9UxQaXqkwYhzBr43JVdOuSWZ3yv3gq3WhUEFnoCUcqfAS3cjl
	FN8pvviUSycGD8YvFU4LYCs7qtW1pgJjBFZwmR5gmlDv7FkxQ71NrRcbSwXxC9u+YR0agfzgDY9
	Fnmds9bxTURMnak80AfUrg4nze/b4fbeTWOwdmwpwOQb5wWJeUP+sSmbU2ibhvsMcAejqcnVrr0
	X4C1RVww61B+SNcRaKLI8XmCBgJLTsu4gykXK9xJraKyb9eXuA==
X-Google-Smtp-Source: AGHT+IFAbL3jipT1NLsrdSSW895ADiBLnHqkdUS3/JN1fy5bvxM6Wry2YwrlpspAZfDJqWGFtWm+eA==
X-Received: by 2002:a05:600c:63d1:b0:43c:ec28:d310 with SMTP id 5b1f17b1804b1-43d3e14fa7dmr7344865e9.10.1742287675872;
        Tue, 18 Mar 2025 01:47:55 -0700 (PDT)
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] x86/msi: always propagate MSI register writes from __setup_msi_irq()
Date: Tue, 18 Mar 2025 09:47:25 +0100
Message-ID: <20250318084725.52261-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

After 8e60d47cf011 writes from __setup_msi_irq() will no longer be
propagated to the MSI registers if the IOMMU IRTE was already allocated.
Given the purpose of __setup_msi_irq() is MSI initialization, always
propagate the write to the hardware, regardless of whether the IRTE was
already allocated.

No functional change expected, as the write should always be propagated in
__setup_msi_irq(), but make it explicit on the write_msi_msg() call.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
I haven't actually spotted any cases where this would go wrong, but better
stay on the safe side and always propagate the write there.
__setup_msi_irq() should not be a hot path.
---
 xen/arch/x86/msi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 8bb3bb18af61..5389bc08674a 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -532,7 +532,7 @@ int __setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc,
     desc->msi_desc = msidesc;
     desc->handler = handler;
     msi_compose_msg(desc->arch.vector, desc->arch.cpu_mask, &msg);
-    ret = write_msi_msg(msidesc, &msg, false);
+    ret = write_msi_msg(msidesc, &msg, true);
     if ( unlikely(ret) )
     {
         desc->handler = &no_irq_type;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:50:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918654.1323297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSet-0001Z8-R9; Tue, 18 Mar 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 918654.1323297; Tue, 18 Mar 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 1tuSet-0001Z1-Og; Tue, 18 Mar 2025 08:50:47 +0000
Received: by outflank-mailman (input) for mailman id 918654;
 Tue, 18 Mar 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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuSet-0001Yv-6p
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:50:47 +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 149086b3-03d6-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 09:50:45 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac2c663a3daso408675866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01:50: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
 a640c23a62f3a-ac3147efb0csm814435366b.65.2025.03.18.01.50.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 01:50: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: 149086b3-03d6-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742287845; x=1742892645; 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=s2UB2+otQI+HBnU90fAci1OhkPqPUjZu9QxdJKxhTCQ=;
        b=R1DDIEK8G1N6lQeW5fYAa/KFWJIowQ3Gd9MOUcQ3jrEPr23MvvsdQc911B7cJ3JX41
         MBHN8luf7WSI2ArJBTsBzFi9NJ9+6Ng2eA/s+zS+09xUT8b69Y0UhKmgLkHbuzPsp/f2
         ot0gJ3kCQ1waMFl4RO58GqBUubiduUhgFav/rGntoh4WkUgzC/2RuK9ZQSTz/BhQ5eUM
         2BhukzsgoSdydMDyQzjE7WDxosgKaW9lyO0fzdLDT41Z0svAuLtf+g8L473co7YyH5wX
         0/IchL954pA1a61jKO3Ad/NMxsnOdgQHa6OHWvysrORHCSrcKlz0xVy96o2xyuD9F/eu
         A1pA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742287845; x=1742892645;
        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=s2UB2+otQI+HBnU90fAci1OhkPqPUjZu9QxdJKxhTCQ=;
        b=hyx1gFA8ffqHjCD7RqGl/aBMN77s+btOMv/SKmTfDAXMe/1JYGLIEv6Y+HQad/n+QI
         QI3KUD2NMqaLmNcvLFavAClH5kQqbg8g+SvRhbFNiHXVGNDDx5fIKHB/x/jv9VeQVT8z
         9W2dcpvlOC/J/x8a9cAhBMEoZ93g+ChRz/VSByxKC5N4ZOKEvr2mOYOlXwuGyztkvaWX
         QgOTv+xs6Lemdsi3ahuU16kYUM1ev1OWmr3C2ksY5m+nt0dF0xQyloMEi4mWOBGBrHKN
         nPdgx7e7zwCxWOdt5+MO8IXDZGpK3mkty2wzkTskrwHVKaeqx7vs7+EtRoB937JKsJEp
         Otog==
X-Forwarded-Encrypted: i=1; AJvYcCUqiOLTD9YTqai+VU5p4gi8t+SyagQIpDP2mt7uVmphO18H9mVLFwNqr/crSYeUBD7YA3sVLxyOu5M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwTzFKvNV60w9zcAHgxeBv/3XxtU/qJ0rSY66fR99iCnpCw4Hz2
	X707Xn+jvfUeqd6iqYI389LcHDvNFyOpqGi9LoiKeRJvjphZ0AP3w4jdIdSO/g==
X-Gm-Gg: ASbGncvXXU/JY940rCtxjnVf8koZW7+xSsXCPTgthIujPBiB036rM/3QJaVA1ORFZXn
	i1BsUwuAuq0HbS8Kqy2H4Js0yTQBvnpSxWH3scumW1CCq4HpGmHJ3T3Q6KXGkwMDXajVE5UYhn1
	hU8PZ1V+Zh/bvkV85KOQPaX6/1h6KxdvR8KXP3onCIKGEhhkOkzE/8MQaInv5oNvIPhlTKvjweM
	DvIsJaIn8sXZpwuJNlFTJIc6MDRjiesBnWva1mxLv0Eo9BhNeYmFFh6zOuKNNUniK282nXPlbsE
	VuZA/zYT9zMLszS121wwzyQJHmZ1RRAJgB1ibWV/OB7/odLozO/k+KLVpyAqZccRxar7o8tOBns
	NtP8UKoK1gcs77SeJozJIR/XtoxRKUA==
X-Google-Smtp-Source: AGHT+IG+t5ZXjLwjJyM4UnPJRMexXs8huwdlDJ/rrvbMjW3ejIPeM9WhoJUrp2AOr4oy9pLHF6HlKA==
X-Received: by 2002:a17:907:7d89:b0:ac2:9683:ad2c with SMTP id a640c23a62f3a-ac3304a3a56mr1469362766b.57.1742287844662;
        Tue, 18 Mar 2025 01:50:44 -0700 (PDT)
Message-ID: <cb1ecd64-d528-4a6f-8333-bce66589a13b@suse.com>
Date: Tue, 18 Mar 2025 09:50:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/msi: always propagate MSI register writes from
 __setup_msi_irq()
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318084725.52261-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: <20250318084725.52261-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 09:47, Roger Pau Monne wrote:
> After 8e60d47cf011 writes from __setup_msi_irq() will no longer be
> propagated to the MSI registers if the IOMMU IRTE was already allocated.
> Given the purpose of __setup_msi_irq() is MSI initialization, always
> propagate the write to the hardware, regardless of whether the IRTE was
> already allocated.
> 
> No functional change expected, as the write should always be propagated in
> __setup_msi_irq(), but make it explicit on the write_msi_msg() call.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 08:54:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 08:54:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918672.1323307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSiG-000373-9q; Tue, 18 Mar 2025 08:54:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918672.1323307; Tue, 18 Mar 2025 08: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 1tuSiG-00036w-6u; Tue, 18 Mar 2025 08:54:16 +0000
Received: by outflank-mailman (input) for mailman id 918672;
 Tue, 18 Mar 2025 08:54: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuSiF-00036q-1R
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 08:54:15 +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 90e198dc-03d6-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 09:54:13 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso24867925e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 01:54:14 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395cb7ebe3csm17777084f8f.99.2025.03.18.01.54.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 01:54: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: 90e198dc-03d6-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742288053; x=1742892853; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=IHoSelJhWGi3NtZe+OuN1bSso73DgMjMxoyxsvYlaN4=;
        b=Vxgp3yNZ/cxKxUswaSWfvG66zEnngEIQSArmoP7sDQgxviQuSVRKJY+pBf+E/+LUm0
         k9nuYA4ZKlbRQs4HtrpJIKMTKOfz9egWPXk2eedUwsWOp3gVZUQFodptFD6VXRqYCMi5
         ByvVqLdVgdhB97frBmPfGvTSC82MvpQEUnkr4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742288053; x=1742892853;
        h=in-reply-to: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=IHoSelJhWGi3NtZe+OuN1bSso73DgMjMxoyxsvYlaN4=;
        b=utvTxPmd9AWnRSqobJl0rN2McJgufOpcNl8qtiWV9Os/4qNtBiyB7q3ld7jLO7Q9TW
         hwi6NPsS40EC5LL2klSa5UVVwj1ZSVYaRArjHKjSgrVjReXVVH7UIhpMgj/Y91QudhY/
         cf7sSenBxlIbGQdXuEQauHkl4Ph0sce3w0QFI4FYa4hwjX/yRAXkGEqNSDLxL7fKEJ7L
         qB+kRIV6i/p7pa2d6s8v6/bvc0UFEzvvR+XkpSlxxQ0eWnq0tFBxNiYWDiEa2NPx/PBo
         vDfRs3xDEJV3XgwTdMoJcTy2CsZ89RTxi1E3J5P26aVJEtwjvwTsRJqgV6o+KI6fJCL3
         P9sw==
X-Forwarded-Encrypted: i=1; AJvYcCV2MMvUv2QHNNExmkqlCAtGkoL9TdLAjNfThk96ieX0h6O/4DRs22dWu74rsW5bLYrvIMAl/0TYIHo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5FpIW9MXBGWC5D5G4wK5HE5Sftf+TihItR9VA1y6+sBBzVozn
	iDfMJPTFYoO6UV1w1hSFnVcfu51tM8VBjRp9ZTG0BDsmmVExI0ByWEzrDoGTe6TWWkf2n34deR4
	h
X-Gm-Gg: ASbGncuDOE1ryAnsyuvUaRfvcICfvLOwTm1srNF/HelJDxEgT6ZKr2HO0R0LHQXcZwH
	3lPqqoDAdZ3UXDCksZm1rR56L6YyLckW6Tf4Boxd2ILxsAzTJIgzsnhcXZ4NqzJNJ/knRiOfUrv
	B8aXpl5iTUUnkoFVdgqWfInD/AtxJgIA40rLRfr0A0i3okc+6NpEFgiMgYNr9/1FWXAFajqcQxd
	wOyk8/aeQI1LotRl1GTrcBkIONsjzP8RjG3d4ii7WjP9vyU8AOyyjHXDqxvZyGiRozijt94A3Pr
	Bm8E0imvywIOwnIBbsF7tWincbZsszFTviugbPBPheOfzC7qYg==
X-Google-Smtp-Source: AGHT+IFOZUBhGERXTYxWV1pGs52QINJ6o6RbZaaVyXOM7wTX+J4/p0z1lR1ItLa+WAXPX3mXNezlEw==
X-Received: by 2002:a05:600c:354a:b0:439:9e13:2dd7 with SMTP id 5b1f17b1804b1-43d3b951e34mr10766995e9.2.1742288053486;
        Tue, 18 Mar 2025 01:54:13 -0700 (PDT)
Date: Tue, 18 Mar 2025 09:54:12 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/msi: always propagate MSI writes when not in active
 system mode
Message-ID: <Z9k0tL30_yLuj5kM@macbook.local>
References: <20250318082945.52019-1-roger.pau@citrix.com>
 <38076c0d-8e1a-4d16-b22c-b1db9460ed1c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <38076c0d-8e1a-4d16-b22c-b1db9460ed1c@suse.com>

On Tue, Mar 18, 2025 at 09:36:37AM +0100, Jan Beulich wrote:
> On 18.03.2025 09:29, Roger Pau Monne wrote:
> > --- a/xen/drivers/passthrough/amd/iommu_intr.c
> > +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> > @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
> >      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
> >                                              &msi_desc->remap_index,
> >                                              msg, &data);
> > -    if ( rc > 0 )
> > +    if ( rc >= 0 )
> >      {
> >          for ( i = 1; i < nr; ++i )
> >              msi_desc[i].remap_index = msi_desc->remap_index + i;
> 
> I understand that Marek's testing has made clear that this change is needed,
> yet I don't understand it. If we didn't allocate a new index, why would we
> need to update in-memory state, when memory is preserved across S3?

Is this always the case for device memory? (iow: contents of the BARs
and possibly the PCI config space?)

> (This
> lack of understanding on my part is why I didn't associate the last
> paragraph of the description with this extra change, when you first sent it
> in this shape on the original thread.)

At least for the AMD IOMMU driver it seems to be expected.  See how
amd_iommu_resume() performs a pair of disable_iommu() and
enable_iommu() calls, and in the enable_iommu() function there's a
call to set_{msi,x2apic}_affinity() that's expected to (re)set the
interrupts.  Or at least that would be my understanding.

This change reverts the behavior to what it used to be prior to
8e60d47cf011 for the suspend and resume paths.  I'm afraid I don't
have a sensible way to test changes in that area, so I cannot
investigate much.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:00:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918689.1323341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSoN-0004vj-61; Tue, 18 Mar 2025 09:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918689.1323341; Tue, 18 Mar 2025 09: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 1tuSoN-0004vc-3K; Tue, 18 Mar 2025 09:00:35 +0000
Received: by outflank-mailman (input) for mailman id 918689;
 Tue, 18 Mar 2025 09: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=Pdr/=WF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tuSoL-0004tI-En
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:00:33 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20626.outbound.protection.outlook.com
 [2a01:111:f403:2413::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71351d21-03d7-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 10:00:31 +0100 (CET)
Received: from MW4PR03CA0291.namprd03.prod.outlook.com (2603:10b6:303:b5::26)
 by PH7PR12MB5805.namprd12.prod.outlook.com (2603:10b6:510:1d1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 09:00:26 +0000
Received: from SJ1PEPF00002314.namprd03.prod.outlook.com
 (2603:10b6:303:b5:cafe::52) by MW4PR03CA0291.outlook.office365.com
 (2603:10b6:303:b5::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Tue,
 18 Mar 2025 09:00:26 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 18 Mar 2025 09:00:25 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 18 Mar
 2025 04:00:22 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Tue, 18 Mar 2025 04:00:21 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71351d21-03d7-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U55miw6OYUKXddoZ1Njsdg5IOmu6vSqzFJk134iWNjeSdfDsqKCzrQl2qtRgmTct9eU2YLndkGTqbBsarYZu6jsvO4aaT/EgmPBqf8ewVMMm/U6FbWTTpuH01wp2Hb4LCdACzqyfx7AgjEiXI1fWGvrozd3CrilL9KhICdMmxM/gllURzDnMRdYDwTmKdMpnD2OT27JJOlOFtT7X5XGx7IbX9PK2IWSK0GRdi0tVHzZwKWgr5CNvoYXGzuggaFI3ZsZQT7KfdcH1YqtDlfIXHPUl5KC7CIFUslRWhEJ/PlKU3Cx6tZ0L0Z23DtnGmUob4lChjZ/NM6weR5m9rAEpLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fQaEApbmMehLvjYTVtsTKnJBdw3TLtrzLREEgfjDY+A=;
 b=QweClNOdPYc6D1v6ihgSYn+NlRn8Fx/d5V3QJrjAQKUm4IV4cyeEIHQPbAvdBBfresC2dnSDuQRHfY/Yr+J7RlN1ADSKr9s7/h6a6ZSumF64692ORYHV9ik/3cXZv3BaoyKvPVbCZJlFkh6s9fiC+E5BgQOpoeA9xRQDL5j8fe43k7BYK8Ha2kYgJ6gppru3XgWijzME25+dPyVlzOMo0ethopSd47yIAxmNH9K9px6t+3VcrPKZlh/2MXQnRcUkKQjFB/z6GQfC5LO32tLrjXln+Ua25HHRhyM3NL1VZSY2FJXrMMZaQTv3wRnk2Kd3rcXlEeKrs/IJ7grKV5Lu8A==
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=fQaEApbmMehLvjYTVtsTKnJBdw3TLtrzLREEgfjDY+A=;
 b=QnWcdlxe/+fC0jC/KPwHW9XEG8FwBw2eG7hbck4JXjLfzclMJCccQbdYlrrqH98bcwgIsZlWHe2YgpLh6/RfkAZGuh91N1V1hnFafr6FGcTuZ8Yr3JFsrHmK6SFW0HdB04HKSio9go2T9XP1/MNvZvHPARFdW7uwMmKkQ+zLaNI=
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=SATLEXMB03.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>, Juergen Gross <jgross@suse.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH] tools/arm: Fix nr_spis handling v2
Date: Tue, 18 Mar 2025 10:00:13 +0100
Message-ID: <20250318090013.100823-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00002314:EE_|PH7PR12MB5805:EE_
X-MS-Office365-Filtering-Correlation-Id: d30b29ce-4b71-489b-d3e3-08dd65fb52b2
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?W08SNuseQqZ6mz7A20eb1hiGyOPxe2Ufe2ei3sqkOHwwP0P1uwd4pAAH0nsA?=
 =?us-ascii?Q?dFqGuDN3RtnRix1WbZYYT/CllcAE7j6nwb++5iQ/9FKfFu69+impoTmFmmLd?=
 =?us-ascii?Q?3hOF6+ba7vCAfopk6tcL4+x91Dn7Hz+lJlr+83XQ2s956NTTQE4r3vy79m5R?=
 =?us-ascii?Q?/0+voF8Bjc6iWEB3HpFp0I5fFcbRr26E5iw//TnTTaeYyVOXEh4/vHuCo/Gb?=
 =?us-ascii?Q?gfa5ZvDskBmYDhb6scXDiMl1QbEuTU0HXJwh5smsQjcRitvibl1Mx7Q582XJ?=
 =?us-ascii?Q?QBd7tvHgipHtkk9hCxzpq5tqN6I+HB7Vb8Wy75NLhYxMCe/xT2w5/H1+bDba?=
 =?us-ascii?Q?Q9ZAUztkH5IMzuYkNUh5DsxKCalR54UpQsgWx9tpdmE2FgodGTiMzwuSr4FO?=
 =?us-ascii?Q?PiRlN6DasYXCSZrttIsVw10v/AUzJWXFUKkfLBjgbMHZrGtpAwX9ZSeUkogG?=
 =?us-ascii?Q?+9baYrLFtuLG09oB2di7w2TJxUpSX7SuhZTNGo8lYRrGS9KZOlu9CY1WQpMp?=
 =?us-ascii?Q?iDlz7H5mZhIXcIIhpPr3H/bY49CUTTVo3ZufYnvq37JyUrdEanq/aK2cfotZ?=
 =?us-ascii?Q?wQEEjnT7qDfwNJMdODKovBSRoDD0BFnNJUfGLm2epdPSBSq9kVZe0licgMyt?=
 =?us-ascii?Q?3UXIUh29byfYduAdo8hdCeAOptYd8bNtqyIb/0QdnDvEJE6ax1gKD/R0GqJt?=
 =?us-ascii?Q?LbNw6uxNCd57p9ippFHYua5rrDZ9wImWSeIyv5C2lwc+AxuN3BTN0a7Z78Qb?=
 =?us-ascii?Q?/8UohaeFf1maCBun9/WG89iWFydlgC8gqT4aP5zQJ/YOetZnJhXtFbSOuddt?=
 =?us-ascii?Q?J4eei1vsTeD6grmPTgIa9qlYs5UdXxCHHTIbhSL8h53Mu7xcsZm2pUdNgo7l?=
 =?us-ascii?Q?tYikEvS8CDcpKUD67Bjim8c9mfZSAhe5/lsD9DoPgfKH89Aq2G8QYBOThkzY?=
 =?us-ascii?Q?1tX7eICdSJ2ZsnrKjAAxT+WwBFJoBADap33D9knqVa5e/rUL2j9HBFk3olSq?=
 =?us-ascii?Q?p9kSncdmsW1oZUbpJ27/Jw6ZeO16iPTu3Hf/c94aj4WfypEl9inIMwvqmxjm?=
 =?us-ascii?Q?e6/7V4SrdvMwDu83pYbq+IyXjQUj9jMEyKSZz5W4K3FxnNuI/X48jio7Z/iA?=
 =?us-ascii?Q?9EriHBvoCdrSXIqjB7OSddumnz70DsKbEz6LFngAspipVQ/LLJvD5v/XsmDv?=
 =?us-ascii?Q?4oeSbtzAOI0iPiVGDCLAj59h0XlftGm7ClUxWvGlvVr6fjO8eiEo2BaxiIHW?=
 =?us-ascii?Q?CsfG6Lc0ItuRxMMb+agF8X0l/rXd6y9URIfp5UDCkiKfbTn8Usl5e0iJC2Vl?=
 =?us-ascii?Q?GSRBg4SvZi+yJ/qL3QbBHYScFaUL/4ppizzz1XVFURhFSy5N4fy6yMJE2RTF?=
 =?us-ascii?Q?SBEQ7MLIg1eiRGX5UPVR+SoZOFMnwWMPwVDJ3RSaHYIOtOk9Le50IQ+gzKrj?=
 =?us-ascii?Q?W2QMo14n4C4h+Nk5fopO2NFPpIEmFNNk6jY/LRlfafHqMTRny+81hxlbebyW?=
 =?us-ascii?Q?4VsJ7A42hRaQlNQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 18 Mar 2025 09:00:25.3720
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d30b29ce-4b71-489b-d3e3-08dd65fb52b2
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=[SATLEXMB03.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: PH7PR12MB5805

We are missing a way to detect whether a user provided a value for
nr_spis equal to 0 or did not provide any value (default is also 0) which
can cause issues when calculated nr_spis is > 0 and the value from domain
config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
(max supported nr of SPIs is 960 anyway).

Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_spis value")
Reported-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 tools/libs/light/libxl_arm.c     | 7 ++++---
 tools/libs/light/libxl_types.idl | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 2d895408cac3..5bb5bac61def 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
                                       libxl_domain_config *d_config,
                                       struct xen_domctl_createdomain *config)
 {
-    uint32_t nr_spis = 0;
+    uint32_t nr_spis = 0, cfg_nr_spis = d_config->b_info.arch_arm.nr_spis;
     unsigned int i;
     uint32_t vuart_irq, virtio_irq = 0;
     bool vuart_enabled = false, virtio_enabled = false;
@@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 
     LOG(DEBUG, "Configure the domain");
 
-    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
+    /* We use UINT32_MAX to denote if a user provided a value or not */
+    if ((cfg_nr_spis != UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
         LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
             nr_spis);
         return ERROR_FAIL;
     }
 
-    config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
+    config->arch.nr_spis = (cfg_nr_spis != UINT32_MAX) ? cfg_nr_spis : nr_spis;
     LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
 
     switch (d_config->b_info.arch_arm.gic_version) {
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index bd4b8721ff19..129c00ce929c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -723,7 +723,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
                                ("sve_vl", libxl_sve_type),
-                               ("nr_spis", uint32),
+                               ("nr_spis", uint32, {'init_val': 'UINT32_MAX'}),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:11:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:11:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918707.1323351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSyS-0007x5-80; Tue, 18 Mar 2025 09:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918707.1323351; Tue, 18 Mar 2025 09: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 1tuSyS-0007wy-4e; Tue, 18 Mar 2025 09:11:00 +0000
Received: by outflank-mailman (input) for mailman id 918707;
 Tue, 18 Mar 2025 09:10: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=/gWK=WF=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tuSyR-0007ws-1n
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:10:59 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2614::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e6bab890-03d8-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 10:10:57 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU0PR03MB9031.eurprd03.prod.outlook.com
 (2603:10a6:10:47e::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 09:10:53 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 09:10: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: e6bab890-03d8-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hcs5Qn6SdE7l/1dUF3FxLTIIfhrRnjyLNM12Kf7N88Fxy25suOhYJ2wRLETplmf5HubpeMy39A6OCkx2bCh+3RECWbmZpg5zLosBP7TGZlDfEzXikTnedTaqhlDoFW4AOaXpIOnFbDKwJ2JbwwIVut7Sapy1hHRvS+H4sWPE+j+0RIQ6rUT081ryDde2Tu/fCSMnhvenKO5BSngVH7rKFlfdcV79ry5WDD4kiAPTy9sFyFzgtOqrlDhUhUU8IF4yDiQsGNwdSaSn5uuYX6y2Pak7Zm86BRTUWolMaQac2OgvYAAZ4879dpZAs9FJEYyS9jHH908nfjeIPtWvJ6jG0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g7qzA0JPm2wgHSuhNzotUZoZfUebMo43h+G7IRulgvA=;
 b=g2z+ml3emVSsrBmUB4bVJlu3Y9cHvazmFOjI4f0Pw6uW9z12F9QCKRqI/JwRdnXNUVJf+ZEN2dlxbRlh6qlUqoyM4RHGUT6PHSqQRtF59izzfoKfNLfDqa6/Tw9mn8D6inWBY+B/E5t5fScgrgK6njWtZjWr9Vi36xdhoZgQa73DNXeZbTqh+uPByXsEep9vkE/gglm8RfzOY17xpNthkFgoay6W8Ij0C5Js16Dl56u+J7XSyNh9Nw07NawFHbVlcwIJs+HxKIjON4KTAafpdCDUOqKziARnomQQRKjgMu0D0hu2EtHSbLOhoz4wxuAmwqlsz0e0rg7AnFLvbNKiVg==
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=g7qzA0JPm2wgHSuhNzotUZoZfUebMo43h+G7IRulgvA=;
 b=Leb7/PUzghU/TqnHHaDFBIIXG6Z7Lz03nWvPkq/jgLWJE1D+xfpmlFP9JWL1kvnpgvVmQod53TEaTNPdL9UXb4hrxewxPthchS4XKnSVJseLJTTchg/iXEz4Caxkg5NRUkmEtj9yZnahVKT5ad/nH78ZLUmTsU2p8F2LF7CE4ByiYaF7d0yNuhdrYZ3SHOCCgeX8XRLErQ00V2shRwctMdu4HILzLoOfSAXeEL/8qu0k4jXmAAVDyJc0KcZRAfVAaF5o8NPe68Exeax+x1st5d2ilcKYwuNcRkcPxKzFwadyhXt+ALuFWRmnt1UC1aAFhxqUNI39ExiUM4wUY0pLuw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Juergen
 Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Topic: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Index: AQHaRWELmXttIq3ydUeKyfZPAZRMh7DaobyAgqCezQA=
Date: Tue, 18 Mar 2025 09:10:53 +0000
Message-ID: <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
In-Reply-To: <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.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_|DU0PR03MB9031:EE_
x-ms-office365-filtering-correlation-id: 5db47840-9e3e-439c-29b9-08dd65fcc8bd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?ZFhwQTBTN2NjcWo2bXhQMzNLTWdNUzBxR3VrUG0wUER0aFgwenlpSkNKamRx?=
 =?utf-8?B?NWkwRUFtckJOdVVUMCt4bzJqcDJLU2dXYnFSTmZERFZHSlRzd2ROMkRPbklC?=
 =?utf-8?B?K1M3ZmFWTVVzcjVmdU9RZGVEcGlEVmFGNy9MVDhPQnlHVGdhOUVIL3UxbnAv?=
 =?utf-8?B?dXF5cUFQT2d1MVp1UzBjVlhMTXlCM3Z0cEl6T0hIMU5qcVRFb3FDZUZsTWF0?=
 =?utf-8?B?djQ5WVl5Um9jd0FQOTg3L1BvejZGVmZwM3l0V3dwTTJXK2VOdmh6MlcwUlFt?=
 =?utf-8?B?QUZyVCtRSWVUUytydnhwUjRSRWd4VE5PYmZycWZVT21YV3ZWV1h1WnQrN2lh?=
 =?utf-8?B?RnRVR01aN2hBOWUwSlN4V3dmcElBN1dobWlNWUxXRUFrS3RVWXMzYmNpdUdr?=
 =?utf-8?B?ekM3T2k2bFRNeGIyK01ZZWwyZ1JlTitUam5wa1FNZmtQa1MrWHllbEVwaFB5?=
 =?utf-8?B?N3Nvakxvb0NjSllyL2ZFMC9VeG5DUnRKcmZhS3RnRGRwdUdqVWJuWEd1SWxT?=
 =?utf-8?B?cm1JUmZkRUVrelZ4cS9HczRQVTd4aXNuQmlZSTB0bDZpVFAvUDd5VGpsQkw3?=
 =?utf-8?B?Y0FHZGpmUGJOV2YwVGJ5WVFiRk1sNlJ1Tko2K3d6bTlqMjFzN0YrWmZLWDhP?=
 =?utf-8?B?STNwSkp0TVZqQWdKRHozY0xzWHRtYW9MdHNQWEpIdnZEaUkyVEVyd3IvaGNC?=
 =?utf-8?B?MDY1NCtLSXU0RDk5M09OZ1YrNkJlZGovUm5NWlFIbGJxWkRRYWdKenpLcm5l?=
 =?utf-8?B?S09xYUhYUDVWWGdtU2JQZkFlUFVMSThEQlIvaW55ZDU1U0pxYktoTjFlNHF3?=
 =?utf-8?B?S3Zvd3NlZldzNjRFUUUzeEJ4R2VOb3YzaXFYUDR4NW1uajNqMTc5cWpIbC9K?=
 =?utf-8?B?TXRUbnBlcmljUm9zQ25jM1NlRE82SzZ2WFZjcGRDTlQ1R1RFZEFpVE1LbUZU?=
 =?utf-8?B?Sk9XR3EwWVhWb0pMaHBXS29yRGxzQUlUTGp5QWNNYm0rNDVaY2VkMUgzdUsv?=
 =?utf-8?B?bTIzMi95RHROdURIN2dlODN6d1VpTTJlaDJieWtnbkExeHFRbUpaaGFyUXlj?=
 =?utf-8?B?RDJTZVpWMjJjMUFmaDF6b2hFRHZXY09jYlEvL0YyNzA0alhhY01CTmdPYWFV?=
 =?utf-8?B?UEhwOU94NWc3TGEvY0RybFlJQTl2ay9PTUhLL2N6R2xCTEZVclNxRnAwUWpC?=
 =?utf-8?B?NWZNV3BoNXQ0UXRUNmRjUG1xK2xQWFIrS05mdXo0SXY5NXVxZWIvdm9yMnZY?=
 =?utf-8?B?bzZ4S3dHckJ3bHNRMWVrbVB5UHgyV3N0c1IyR3QwVUo1MXNMeEtQamZZVm9N?=
 =?utf-8?B?a0pxdjloSU5IQWRUL0poK0lTdlFYdUhqYldRMThCU3V1WkRNbkd5eWQxb0hr?=
 =?utf-8?B?Y1M5T080djVHMHEzakx2RWF1RWxwTk5UK1JhS1ZxcnRCbXhEeGVJYStEc3FV?=
 =?utf-8?B?YmhJU0FiVGtCRVJ1R3NtbmJUMGJjSEZyS1JTSDdvNitXQVoyUlhYZk5yUFpL?=
 =?utf-8?B?QkdZZ05sQlM3QmhqWEV3YmhkVDcwY25XVjVkNDFqL3lvem5vZGlCQ3lpalRp?=
 =?utf-8?B?MEYrWktrOUN0YXRGM3BQMStaSTlnUHpwTjRKakNHZTZnV3FYTTZ2bDFGOUN0?=
 =?utf-8?B?S2ExQnA4cG51aVUraWhYUVcyTVpTYnkwU0tjaXZxOFB3TUl0ZTZIN0UyYjNL?=
 =?utf-8?B?WUdwS0EyZWM1OHBXWk9JdHJrc3YyUjMrNkZWdnJYZVZzMkVkdkRreFcrczUy?=
 =?utf-8?B?UGR5NXplUHhWZkNhRDJWMEtmcnB2ZjBHclpFTURGTngxWXlCNE5nOHdONyth?=
 =?utf-8?B?VVhsV0UyN1A1VXBSVkJjQkxSNW5yd2wwYzBYU1ZvTlp5QlZLRFFSNGlWTmVI?=
 =?utf-8?B?SDRxbnZvU284dnpCWjYzbTNBZVFFbTlEKzBKeEVvaXdkYTV2K0czUHdiaUFa?=
 =?utf-8?Q?UBO083ZNEpvWthLqdAr9Bi0XeP65jV4A?=
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)(7416014)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UnJaR3RUcm5yZ1E3Znlac3N5bzFVMWJxYy9RZWl0WkVDU3ZGOS85VXpUdlJh?=
 =?utf-8?B?aUZ2ay9iZUFXVnVXZlVGWUZNUHppYWZNWHhyelNoSUhxbFgxSjJmTUk2OU1k?=
 =?utf-8?B?MWxia01Qa0FtbnlpeDBwOVNuOThqTUx5QlBXTFlPb3ZXcWZDTFBNWklMclJa?=
 =?utf-8?B?NGI5TzMxZmlPNWNBYk5za3U0Y01ub2s0bms3NHhLeElhejQxMmlkalZvd1RW?=
 =?utf-8?B?S0w4QzZtVW1LS2JOa2dBZUlUK0ZsbVYyS3lpRnQzTkRRd0E5K2pmTCtNT2lJ?=
 =?utf-8?B?NnJNdE03RXVmbTdiM28yV2JEbDFnR0IwaWFRR0dOVStwc1pSMkdITWxuVStB?=
 =?utf-8?B?ZVo5cEprdjRMeFNUVUR6Z0g0emI5azk2eDYvMFZNc0xQNFpIOU5lczFQSm1o?=
 =?utf-8?B?NlR3ZTc1TEZGMThHNzVqb09jK0dOWURRd2Q5TDFmVFFxS1lWaHhJdlhGeE1t?=
 =?utf-8?B?eVBta0JqeFNpeUdnbzU2WlBqRzN0dnlpTUFGY0YzdEo1UVZhbU04OE9KUUNG?=
 =?utf-8?B?d0xvQzBNNDcyajUwTktUQU5XUWJCVmZrMlVXQUhQVFROZWlFUjRQMTFYWVZr?=
 =?utf-8?B?aTRtNDRLZmpLaGI4bEFJa3VyM1JrbU8rSkhDbzYrK20wN2NSZ3hSZS9IRTFo?=
 =?utf-8?B?SzNPUzRSNkdnTHI3ekJDZ1lFT2FFUXc0c3JPTytycGZaVVRhRUs3Y3RWUmxC?=
 =?utf-8?B?MVl1d1hUYlAzRDUvdU9LT1RyVGkwYWFKZXRuZWxTTng2Z0Zqb2h1V21aYk1X?=
 =?utf-8?B?Z0JoTGwxcFh1YWxBZFNkMk4vZVoyMHZWMXc4SlVtYWliKzkwMEtXVmRTdzYy?=
 =?utf-8?B?V24raUxZMSsyZitUYjBiZWxUaC9JcDBTWm1YNklOcnViNzhOeVFYZTlzNkxv?=
 =?utf-8?B?YUYzMnlzaGZ1TVQySG8wVlR1WVVaQ3d5Z3A3V240cDJCTGxlK0JNaGhITUxr?=
 =?utf-8?B?dFNiK1VEWlN3Uy85OVZpVXhSNStBMnArOGUySFhZWTNHb1FkZTlkSCt0TnZl?=
 =?utf-8?B?NFNRMW9JQ2pqZHBERjNCenRXY2w2alBINU9zeVdGMEtUbGtjZE5CMmE5Z2hP?=
 =?utf-8?B?OUhIeW1URk1zOTFpMEhzUlBxTHp4ZHQ4Y1hYQjZkU0FpMjhjbnNRZk50WmxS?=
 =?utf-8?B?UDZqVWJDTGlCcmFiMm8rWlZSdXhMSmZCcmdHTzg2VzFOajlQY05tL3R4a091?=
 =?utf-8?B?NDQ1V2JMZE5FSGg3Tkx3cVh3eGtCdVpwckd4NUZmM3lKaVBrTnBlVzYrY1A5?=
 =?utf-8?B?TUR6UFhqTzUrTERaYXNTaGliWCtqRXRjNGhkK25lY012UHJmK2k1ZmRjOE5Z?=
 =?utf-8?B?ampNY291c2xHMmhyMzZQWFV0MDlGcmFXRGxMb2p0cjZHUHB0NmtkU2tOQXgw?=
 =?utf-8?B?NTJkV2JDYTEvZE1tQWwvQzVKOXdvZ1o1dVdMdGNvY1VyTFFwR05yNENydjlB?=
 =?utf-8?B?aksvQ0pBSTZHa0VJYTZwWHY2eWtmeGdRUXhJV1BSUHp5WHBXWmI5SnJkcS9H?=
 =?utf-8?B?emhtbWFEcGxJR0FiUEhFeXdaSXFmSTU0emlJTkgrL0tTcW1vcmdFdUEvNU5p?=
 =?utf-8?B?dmxMR20wVXFTSVZ5V1BqckJMRFZoVWIvOFpSN1paMUNxTUVkNDR3K2NRY2hN?=
 =?utf-8?B?MnRPYm44ZmVGY01XSjdNS3hZRDV6VlZUdDZHcmFGNklrLzNnbVJlQjArcDB1?=
 =?utf-8?B?U3pweTBjZlhEQU15dHJhckNkNVpMRWdQODduYjExTVNJZnQyYjZmQzdSTWhm?=
 =?utf-8?B?SmUzN1F6dFUySHNhS1BlUDlkNW9NcHdyVldFSnJIeWRsU1pvR29VVzVCb2lW?=
 =?utf-8?B?NDZvT0h5MkVxaDZLaHdBU1hxVjF6ZGYrcnBZTEEyTXl5YWs0YWdSbVpCT1hn?=
 =?utf-8?B?SjBZZEsveWRpN1ZhK1ljelBYMWNLRUZ6dHBYdU9Pc3EyK3N4RFY1WVpMdG9u?=
 =?utf-8?B?cFd6NlhPUjNvN2lLTFZZcjJqOUlrQS9MS2hucEd5cFdTUW4wSHJNQW1iYU85?=
 =?utf-8?B?M0hEemVoWkNlM0wvZW83NllSK2xPUDZMMVp2RmJJRHE4VDU0bE1BeFRvRStn?=
 =?utf-8?B?UzBjcm14dlRlUjhFNWphUG42cFFjN3Q3eE9QTi96MzRpaWJwa3J4T1dZRndZ?=
 =?utf-8?B?VVJvNzV3eThrcW1ZWDNqbHI1S2N0bnViNm10ZDVWSEorNDhsYlkxZDA5bzZY?=
 =?utf-8?B?M3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <24B3B5F32A4C6A46A9FB214F72B12813@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: 5db47840-9e3e-439c-29b9-08dd65fcc8bd
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 09:10:53.0276
 (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: tsKtzmhFwXhhS9sAVj/Tw6UZ4DPZKe0KSGEYOxqWFgcFPtOTVnYJ6LoKm2zZa11DTnEFRLLq/+oVvdN+T0Tc1w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9031

T24gMTUuMDEuMjQgMTE6MzUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNC4wMS4yMDI0IDEx
OjAxLCBNeWt5dGEgUG90dXJhaSB3cm90ZToNCj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9o
dm0vZG1fb3AuaA0KPj4gKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2h2bS9kbV9vcC5oDQo+PiBA
QCAtNDQ0LDYgKzQ0NCwxNyBAQCBzdHJ1Y3QgeGVuX2RtX29wX25yX3ZjcHVzIHsNCj4+ICAgfTsN
Cj4+ICAgdHlwZWRlZiBzdHJ1Y3QgeGVuX2RtX29wX25yX3ZjcHVzIHhlbl9kbV9vcF9ucl92Y3B1
c190Ow0KPj4gICANCj4+ICsjZGVmaW5lIFhFTl9ETU9QX2luamVjdF9tc2kyIDIxDQo+PiArI2Rl
ZmluZSBYRU5fRE1PUF9NU0lfU09VUkNFX0lEX1ZBTElEICgxdSA8PCAwKQ0KPj4gKw0KPj4gK3N0
cnVjdCB4ZW5fZG1fb3BfaW5qZWN0X21zaTIgew0KPj4gKyAgICB1aW50NjRfYWxpZ25lZF90IGFk
ZHI7DQo+PiArICAgIHVpbnQzMl90IGRhdGE7DQo+PiArICAgIHVpbnQzMl90IHNvdXJjZV9pZDsg
LyogUENJIFNCREYgKi8NCj4gDQo+IFNpbmNlIHRoZSBjb21tZW50IHNheXMgU0JERiAobm90IEJE
RiksIGhvdyBhcmUgbXVsdGlwbGUgc2VnbWVudHMgaGFuZGxlZA0KPiBoZXJlPyBBdCBsZWFzdCBv
biB4ODYgKFZULWQgYW5kIFYtaSkgc291cmNlIElEcyBhcmUgb25seSAxNiBiaXRzIGlpcmMsDQo+
IGFuZCBhcmUgbG9jYWwgdG8gdGhlIHJlc3BlY3RpdmUgc2VnbWVudC4gSXQgd291bGQgZmVlbCB3
cm9uZyB0byB1c2UgYQ0KPiAzMi1iaXQgcXVhbnRpdHkgdGhlcmU7IElPVyBJJ2QgcmF0aGVyIHNl
ZSB0aGlzIGFzIGJlaW5nIHR3byAxNi1iaXQgZmllbGRzDQo+IChzZWdtZW50IGFuZCBzb3VyY2Vf
aWQpLg0KPiANCkhpIEphbiwNCg0KSSdtIHBsYW5uaW5nIG9uIHJlc3VtaW5nIHRoaXMgc2VyaWVz
IGluIHRoZSBuZWFyIGZ1dHVyZSBhbmQgd2FudCB0byANCmNsYXJpZnkgdGhlIERNIG9wIGludGVy
ZmFjZS4NCg0KV291bGRuJ3QgaXQgYmUgYmV0dGVyIHRvIGtlZXAgdGhpbmdzIGNvbnNpc3RlbnQg
YW5kIHVzZSANClhFTl9ETU9QX1BDSV9TQkRGIGFzIGl0J3MgZG9uZSBpbiB4ZW5fZG1fb3BfaW9y
ZXFfc2VydmVyX3JhbmdlPyBBbHNvIA0Kd2l0aCB0aGlzLCB0aGUgdmFsdWUgY2FuIGJlIGVhc2ls
eSBjYXN0ZWQgdG8gcGNpX3NiZGZfdCBsYXRlciBhbmQgc3BsaXQgDQp0byBzZWdtZW50IGFuZCBC
REYgaWYgbmVlZGVkLg0KDQo+PiArICAgIHVpbnQzMl90IGZsYWdzOw0KPj4gK307DQo+IA0KPiBK
dXN0IGxpa2UgaW4gc3RydWN0IHhlbl9kbV9vcF9pbmplY3RfbXNpIHBhZGRpbmcgd2FudHMgbWFr
aW5nIGV4cGxpY2l0LA0KPiBhbmQgdGhlbiB3YW50cyBjaGVja2luZyBmb3IgYmVpbmcgemVyby4N
Cj4gDQo+IEphbg0KDQpXaWxsIGRvLg0KDQotLSANCk15a3l0YQ==


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:12:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:12:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918718.1323362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuSza-0000bl-H3; Tue, 18 Mar 2025 09:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918718.1323362; Tue, 18 Mar 2025 09:12: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 1tuSza-0000be-EB; Tue, 18 Mar 2025 09:12:10 +0000
Received: by outflank-mailman (input) for mailman id 918718;
 Tue, 18 Mar 2025 09:12: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=Pdr/=WF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tuSzZ-0000bW-At
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:12:09 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f403:2418::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1052dd14-03d9-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 10:12:07 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS7PR12MB5791.namprd12.prod.outlook.com (2603:10b6:8:76::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 09:12:03 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 09:12: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: 1052dd14-03d9-11f0-9aba-95dc52dad729
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GvVgILuZgWzzd4iqBdg7dA+hh8855jpKkFOw4cYlWuHZb+R+O9GtUbtGk43rio/tH1kD/HkC8KbPz5gG4KTnqHiOOOFdMYSytJMEtzhe0njhmPJF+BUBW7CsIp7PzeDjqlci/sbdDzOUcMxcJ5tAk4LqxXhLEO9yxzT4TzBYLf7J6e/58dLvRZOVTauSFkyiRXWC5v3XRa1sFzColB7louLefkVz6J5uIb5xxYLdTD35E6oC35fUMM/0/kNJCWRD7N/VvMAWUHPlYrAo8d7JSkDak2UO5vjDD7NpyuLrCmMVFWTbLT7ixoWGU89xALWuw9+lGn2GIc1fuJ1JwR2yqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kLPPgGTK9HylPVrOwJYuBNxEb/0iuNwnUEvckPcU/ns=;
 b=WqorycOOuMPJC7kJNIww7dSoNyC+ZJ5qMHSby+lXQfq/tW11cSovQU1okTzHBKj/pJvtsLrdsDLboZOhma4bNATVZJa4tuRHkanoWsAS+60bw3mJh+EoTJ8ERJIf0BNzwg8Aeu6yMEMfg6JIt6CSIjcS834bTw/LXYUx2SXkyn55nizfiRcTSGIqttk5IIgrT3TOMhbs7sPknkg1aLuF/+eheaiDr7X425QOY8hnw8pMiZNaNKe4ATsYNYHjW5OduKu7/ofNRKsPGH2JCp8wpnp3dlDhNBtkhIu7gvovVLRZSlatC7lRSXP5XEXk11LopqvmAfsdOjQOsUpLbsDypg==
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=kLPPgGTK9HylPVrOwJYuBNxEb/0iuNwnUEvckPcU/ns=;
 b=0W/TuzETukpTyFSC0CNOAhc+VQcjVVYqUmwYhbN+TB5WOvqo02syQ+KaEqdueK0pi8MRbW2StqhrjynnzJmFyFk9hOfNAHQgc4J7oddiYjxVgAtkJ2OshzoDtCytMcUZpkPW/35SsU3kKYUdtMSDsUaWy37YYoemD3Ink78l9sY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <7e1e34cd-1582-4308-8fa6-260150b88967@amd.com>
Date: Tue, 18 Mar 2025 10:11:58 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Wei Chen <wei.chen@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250317200727.798696-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::21) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS7PR12MB5791:EE_
X-MS-Office365-Filtering-Correlation-Id: 1cdd7216-e24e-42e4-94fb-08dd65fcf239
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|7416014|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eGR0SForS3ZsNGZkcTZ1S0dmMHV2OVRBTlprUmJ5Rk15bTd2VlZTdlNQRWwr?=
 =?utf-8?B?QlhSTG9rOFpZZU10UHRiUk5iQW1HQmN5ZUlUbU80TW9OQTByL0NEZWEwcW1N?=
 =?utf-8?B?TDVaZllaYWl3Kzc0ZUlCeXZsSFVtQzZKaWlIZVIrckpnSjNxOTJKQVZ2NzRy?=
 =?utf-8?B?aHhyY0tSZTFSVzVtQ05BME8rcjl2Y1crWEhGcHZFdGdFWFF5RXNUVHRGY29W?=
 =?utf-8?B?b0FzWERBMEpSd1JLWDVKeVFjbWZZSFE2MW1hZnY0UkxjbjB0YWJva3E5blFp?=
 =?utf-8?B?NlEzYi9vYzlwc0FXZ2pmMkZjbkJBMlFMMHhkWFpOYUdKQmZMNk9SQjBmZjJQ?=
 =?utf-8?B?bHQ2S3ExQWFmTXYzT0ZuT21TWGowaGUwVlNNYnlCUmx6UDcwdDU2bHZReS9a?=
 =?utf-8?B?Z0pyRERSSjBWVHdJQmpJNnQ3ZlBGN3IybUpVak9CMFptdFUzY2dkV1VSYnlJ?=
 =?utf-8?B?U3hDcFRwdzBKMUhZNkppOGZWaVJlRldQbFl6eExuT25QemJUNW0rU0hpV0dJ?=
 =?utf-8?B?dlNBU2hBeXNQTkFDOVN6UVJsbytLMXF0a0YxV0dZSmtRTVVHazdvQng2NGpo?=
 =?utf-8?B?MVJWMjN2TWpjaVI3K21KVmg5bWROWDhtSzNaMnFFblR3VFMvMWs5WVU1UWhY?=
 =?utf-8?B?K3VBcGdyK0dwU1hZb0NxcTZGVWVHTzcwWFVWVFBDOENJUE5ncTE3TXFCQlZT?=
 =?utf-8?B?c3o4UnIwVWhQTXVJTWN1SUNWMzFRYjI5MENscHIwM0VWN3JMcXFSM2s5aFhh?=
 =?utf-8?B?dU40MHdua01HRy9xcUNHS3doVHlYQXlpUVl2bkpXVGhOcndoaEpoaGc2NXF6?=
 =?utf-8?B?SWdJbEtvOHBLaXZ0SkpsMFpRMUYvRjE4cU9udGtNM1phTGMxUzl0UDB0b2pD?=
 =?utf-8?B?YmlFTkRwQ29LcGdlMWo2TEhlWktYVXRveDJJcFZ1ZVFQQy9WMGNXY25ESWhE?=
 =?utf-8?B?U1VkUGpPWStXTzF0MjlLYkh1TzErZW1uQVZrU21ueVF5c0hIVy9ieDJybHEr?=
 =?utf-8?B?d1U4Ry8zVlAwSitzZmhlanYrK2RBYzNmUGZudFFyOCtrd2E3VGhjemZQbEo3?=
 =?utf-8?B?dU1Md2hOdTd0bXM1WXIxazB2b1hUbG9TWlVvbmsvMXhzLzhNSGZ4UnZvSjds?=
 =?utf-8?B?OFlqOVNsMERLNGIyQXRlT3kyVjZBb0ZMdERwc05vZ2ZrbjNoRmVoSmdrME51?=
 =?utf-8?B?V0U0T3JBTlZnQ0ZBeDVkUVB2amJhNUROVGozbG43cHIrS2VBNHk2bGlPdkVL?=
 =?utf-8?B?VWVNdmdVTmZGL3FJSkswd3JCeFdZVXJnYVlWeUhUM1dXSU9zT3dYQU82MGVC?=
 =?utf-8?B?QzAwUXdRa2lrZUZBTysxMkFzaHVINDVNckc1R09sOFdRUXdOY25KVjAyOWNX?=
 =?utf-8?B?V0JVcG5YcHNIRTFsMzRqTE9VY01CejZ0by9lZkNya3JWbC9vWmc0SS9TWlVr?=
 =?utf-8?B?cWpMUnBCSkFzMlAxWUovUjZzY3p5VGZMUkQrOXYwTFpha3grcTVGelJxRGEw?=
 =?utf-8?B?eEwzRUlJY2JkZGw0QnNyQzJTSVlaSlAzNndrSGFLQzcwTzNvR3l5MkVPVHpW?=
 =?utf-8?B?cVVMRUNHdU1DMWVVaGl1bVZ1TXBQK0tnb3hBUGQ0SlhSZ3FHVEt5a0svZDJr?=
 =?utf-8?B?ZFJESFp5bkhYdEFHdjVsY3M3VXlObzl2b2w1bjBBVE5jZGhBeHBOcnBDNUJo?=
 =?utf-8?B?WDE2NHNPaDU0Y3gvV3QyZXpMb3VrbUIybHZSczZmc0xTcXpyTGF4YmRSNDZH?=
 =?utf-8?B?d2E2eUEvc1JFQUVuZzg0ZHRiOTRyYStkTS9ZNDhWdkExNUY3SmhFank1YmdC?=
 =?utf-8?B?cExaUHZqbGE3bE4vbU02a3hMdHprWEgzZUduaWloNitEQkVJdXArYWdwQ0h2?=
 =?utf-8?Q?j1+37SVISqhJJ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emVMWXhFaERRQ1dUd21NUHgvYUFmaldjREwxeWdpRHdIc2lVNUJnVFJzWE1t?=
 =?utf-8?B?ckppcEoyK25Wa0M4cDdNVm5LMmRXYnEyYStZREQzc2dFSVhEa3JibVdoaWJr?=
 =?utf-8?B?S3dDNmUzZWFoaTVRTElLWWhQeU1jTGNQV1BITkhZOHpseDd0aDlBY2lic3FZ?=
 =?utf-8?B?eGVqU3d1YzN0VktJM1RmNmhHaE9MNnAvT25JeHZlakc3Tmg4T1VsRllTbDEw?=
 =?utf-8?B?aXU0ajliYWRodkdTU0xaZDEzYmNUUlp3S0t2azlHWlFTOTJpNGw3NlA3VERX?=
 =?utf-8?B?VmdwWE11T0dLUjROdUM2K2VTeC9XSzdzL2V3dUtXSDUyclR0OGx6OEhyekMv?=
 =?utf-8?B?S2lHQTZGQS9DLzhFVUxaQVVOTnpGUXhqRUdiOGVrRWNMc3JLOFg5QmRqRXI4?=
 =?utf-8?B?VEVlSndRQzhISGhuNm1FWjBkQ1h5M3I3VVFqVWxpUFdiWm5IMDNjL1NBOW5t?=
 =?utf-8?B?ZTViclFCWXZRV0ZseGMrOFprY0J3S2EremQ4MHp5bGg5QlQxRndGM1BCU1dY?=
 =?utf-8?B?dzkzZ21LOGF6Q01FVzJEVUJPb2FCampCOGhUMjFyMnA0b09RcWhOS1ZaaTVD?=
 =?utf-8?B?cFNvMWdoR0pTSFp5UFpGT1d0QVh0cW1jbjVia1ZYQjh1SGphT2xVa2dWeCtw?=
 =?utf-8?B?SGpjb1l0bW9ibHhCb1hkMDdLMGVYY3JKN3N4cEZMb3o5SjhVOHBtRnZTQldi?=
 =?utf-8?B?NTZMWjB5RkxGN2xQcWRoeHhjWnZjMlRaMVMrWmpsNXFEWkc2cUYwVy9BSS9t?=
 =?utf-8?B?RTJOalhScG5RT2gzY0lEaVVaTjlwTzdZaWY1RFJPNEY2T0FRTEtWWFFmaFZI?=
 =?utf-8?B?eVNENGlFQjVFSDFmOTB1OVBiL2ZTdjk2bE0rcHRVVGxXcXdxZlcySnE1Vlkz?=
 =?utf-8?B?UWJaaFZaNEdjWWtqaHdEcm00ZitsMitod0FJa0xKU3hveWhQS25HdDVIS3Rh?=
 =?utf-8?B?NmdYc0d1S253cXV4WGF6dlRFSk8rSC9VUEFBWllCVUxCOU9vd0hBcVFEVXph?=
 =?utf-8?B?WkpSY1RkaFJyRnRLdkJDRDIyZmhWRk4vTU9kTjVGYlBqYUxWek1qTTc3bTRn?=
 =?utf-8?B?dHFGSWhoK3llNkNQQUIyZ0pzZVZubU03T1FENmpqU1ZSR1ZRMDJOVE9EM01u?=
 =?utf-8?B?N2lpSG50ZHFBWEVMekFzc1hia1g0a3NxelF0emQwOWZHcFlteWJrTUhxc1E2?=
 =?utf-8?B?VXBDRm9WZkFla1JzYU5LQm1UazA4cVc3MWp6STNYYmZ4aVRSYURuSy9ndEt6?=
 =?utf-8?B?NWdtMWNDVDVMNVpldFZIOGVNK0dGNENZTnFWSHJGOE00WnNRRXFkZjdGalBv?=
 =?utf-8?B?L0xiaGNZWnJ3L2VCWldzZGtaMUhFZWhHMXJ5VzlodmpsZnVJTmNneXovZUdm?=
 =?utf-8?B?MDc2dmI0b0x5UjQ2UEUzYThyNFFNQ2dpbFNrdllZMkhOV0NEVTY0T3RYUmNo?=
 =?utf-8?B?ZGdyQnE5N29GQThnd0xDbXh1OTlHa3hKYy9IN2s2Z2dCSmIyY1Z4ckE3N2Z2?=
 =?utf-8?B?ZlRNVUNFT25IMWpmV1NJenp2ZnpJN203c3Z1bVFsVEY1ZGp3cjhhamxvZGg3?=
 =?utf-8?B?eUE5RXRmdFNhMmZwOHFyM0lvRGhFMUo3bDhmcFo1Rk0wL2lLOHA5Ym1TNndo?=
 =?utf-8?B?MG53Y3gzQ3llY3hLVGhqZnY4SlBlTUNISm9nOWljWHo5aURTYjNHTkcwQ05J?=
 =?utf-8?B?bmJEbDlGbkt2bWtaeG9nenZzMFRwMXZSVUVOVEhyYm1WcTlBTkt5Sk1QRTVF?=
 =?utf-8?B?UmtOdVJYeUFHMFJzaVcrNFFVRkZtRVRHS05KSVlROWpSb21HN3ZwWThFN3Nw?=
 =?utf-8?B?WWFFNWxGL2QzbEViVnhZb0c5VnFOYWdqV3A5aStxSFdZemdsN2Y2VVV0cHR1?=
 =?utf-8?B?emx4d3FpUjNQL2JVOXEyRnpGS2FjeGxwdFpDSGlYK1ZNL0Vud1JzTFhaNllx?=
 =?utf-8?B?YmVZZWNHNmM0d3VFWFdmMWxRSnR2WUJrQjJFYUJvL2xYRDZiZjVsd1JWb2M3?=
 =?utf-8?B?ekE1cXBLUGxBV1pYd25PbjBTVHNmK3pJRVdLcjBrWEV0SVFKallkUnp0Wmdz?=
 =?utf-8?B?UVR3dHQvNllRdXNRNS9WUWVxMHVTbGFUczZpQ2tWcGIwZnJtM0NpSER4cEFk?=
 =?utf-8?Q?5oSNcET7BKZOXySNcBveP0XZ2?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1cdd7216-e24e-42e4-94fb-08dd65fcf239
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2025 09:12:02.8267
 (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: ujeBTIdeM/qiT+A+E5T714qlQS96q/qJSwTL9uhHkYHWs6y7Kyz7Vy/VWXTku8ao
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5791



On 17/03/2025 21:07, Luca Fancellu wrote:
> 
> 
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> ARM MPU system doesn't need to use paging memory pool, as MPU memory
> mapping table at most takes only one 4KB page, which is enough to
> manage the maximum 255 MPU memory regions, for all EL2 stage 1
> translation and EL1 stage 2 translation.
> 
> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
> MMU systems, x86 and RISC-V.
> 
> Wrap the code inside 'construct_domU' that deal with p2m paging
> allocation in a new function 'domain_p2m_set_allocation', protected
> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
> the former function with #ifdefs and improve readability
> 
> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
> with !ARCH_PAGING_MEMPOOL.
> 
> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
> field is not required.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v3 changes:
>  - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
> v2 changes:
>  - make Kconfig HAS_PAGING_MEMPOOL common
>  - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>  - do not define p2m_teardown{_allocation} in this patch
>  - change commit message
> ---
>  xen/arch/arm/Kconfig              |  1 +
>  xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>  xen/arch/arm/include/asm/domain.h |  2 +
>  xen/arch/riscv/Kconfig            |  1 +
>  xen/arch/x86/Kconfig              |  1 +
>  xen/common/Kconfig                |  3 ++
>  xen/include/xen/domain.h          | 17 +++++++
>  7 files changed, 73 insertions(+), 26 deletions(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 5ac6ec0212d2..a4af0b85f158 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -75,6 +75,7 @@ choice
> 
>  config MMU
>         bool "MMU"
> +       select ARCH_PAGING_MEMPOOL
>         select HAS_LLC_COLORING if !NUMA && ARM_64
>         select HAS_PMAP
>         select HAS_VMAP
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 573b0d25ae41..6eef6ba91444 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -673,21 +673,6 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>      return -EINVAL;
>  }
> 
> -static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
> -                                             unsigned int smp_cpus)
> -{
> -    /*
> -     * Keep in sync with libxl__get_required_paging_memory().
> -     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
> -     * plus 128 pages to cover extended regions.
> -     */
> -    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
> -
> -    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
> -
> -    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
> -}
> -
>  static int __init alloc_xenstore_evtchn(struct domain *d)
>  {
>      evtchn_alloc_unbound_t alloc;
> @@ -841,6 +826,53 @@ static void __init domain_vcpu_affinity(struct domain *d,
>      }
>  }
> 
> +#ifdef CONFIG_ARCH_PAGING_MEMPOOL
> +
NIT: here and elsewhere. We don't usually separate code from #idef/#else/#endif
with empty lines.

For Arm:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:19:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918729.1323372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuT6V-0001F4-8l; Tue, 18 Mar 2025 09:19:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918729.1323372; Tue, 18 Mar 2025 09:19: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 1tuT6V-0001Ex-3k; Tue, 18 Mar 2025 09:19:19 +0000
Received: by outflank-mailman (input) for mailman id 918729;
 Tue, 18 Mar 2025 09:19: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuT6T-0001Er-UB
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:19:17 +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 10b0e049-03da-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 10:19:16 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so4418508f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:19:17 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 5b1f17b1804b1-43d393bb288sm19711245e9.29.2025.03.18.02.19.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:19: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: 10b0e049-03da-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742289556; x=1742894356; 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=BQyj+8gxcUxgHvEe1NNFlxycQRcd7X/ZYftV2VeVJ7c=;
        b=A9GuLNcy2g2v/24u0uujKWbjGuJy/7LYLnOvY46Tao0hii193VgLyaPgIyvPSe+a9/
         uVBNQ1ROe1L6D2/jhi4F/p7rDqeozOTyfSbW42F/EUD0ylArI74U1ij0qz29CnbqQaE5
         Yncy0zr2phUAoWz66WNlIa7haWBJ4sAgqbItI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742289556; x=1742894356;
        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=BQyj+8gxcUxgHvEe1NNFlxycQRcd7X/ZYftV2VeVJ7c=;
        b=ANRagqtsyheDK5tbecfLQJVrWiE7BzL38IixkxKA3G3VSb1hVzgfmwB8DlyrfxkDmS
         nUfQyw7o3b1DQCEmjLAnu2y7b8x5KMmG30ALDFGdsNdqtGPzRlHnJyTVVp/lomYl+3Mk
         /KztPALL7LvVCVRQXK7WE5ngKZjdAyqxNZbSL3MHyE6xqTl4y4IOQjuNLaBY8oZkmAwH
         ifijyck2fPbu9AXoBsv8lFN65W5Z+wPheixQoZxkPDGD2ZVxVpHCuDfYtnpL4Yso97tK
         2ZhDs94y+w+VduxhV0qIeESziwA42kpFWve0h7b5vCHmZP0A3HAE1Wmp4qjjR6Jd4Rod
         ZaRg==
X-Gm-Message-State: AOJu0YwIBF5lxcUBzirU01qCUuh8OIFA0N8fi3Cr+YhCtfMbYNGOlmVE
	KiXT6BhNQ326QenHA4WSerOiUNLWR9CwKa56RDwwFKt0ra98DB1j1n1Ky0s+GUVeq3RzHnWLUdm
	N
X-Gm-Gg: ASbGncsn88iNCTUgcnv/BRucppnerNVbA1BV7ZZQcFFmVzg9fazEMhAIhFH7pmjtxAa
	cJ8+22fCg+C5lnwerK+AyRN2RTtRs3jbDONT1hRvEY1ejm4pP3RtcnNtTrtw9rBlNyDN/8S6gc/
	1yGn/7ik7WTqinhsQbWlr5pTSxc7WVL2PjS01VKOvhnq3gweL/MfZhzUnx5jFwOp8G5MssXLfK/
	O+sdhrdHKGY5x5sFWDwVCWoxAJVOMDInshRfc5bujtJ3XHG82yZ5V7kX6lDDR9B7QGGtcfqOSTG
	7aIRg/F4NQcvrpsNj4d8NPmPzwbqkEeOavpAWVQOfdAq/7qQIQ==
X-Google-Smtp-Source: AGHT+IFsuf7KZ/j+CxSESP9fbL8OO6NYlxurqpb9EgVujHuhByPLEYUbGuBWsDeoV3CvlsEQF8UN8Q==
X-Received: by 2002:a5d:598c:0:b0:391:476f:d3b7 with SMTP id ffacd0b85a97d-3971f510ec0mr15075554f8f.49.1742289556108;
        Tue, 18 Mar 2025 02:19:16 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 v2 1/5] x86/wait: prevent duplicated assembly labels
Date: Tue, 18 Mar 2025 10:19:00 +0100
Message-ID: <20250318091904.52903-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318091904.52903-1-roger.pau@citrix.com>
References: <20250318091904.52903-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When enabling UBSAN with clang, the following error is triggered during the
build:

common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
  154 |         "push %%rbx; push %%rbp; push %%r12;"
      |         ^
<inline asm>:1:121: note: instantiated into assembly here
    1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
      |                                                                                                                                ^
common/wait.c:154:9: error: symbol '.L_skip' is already defined
  154 |         "push %%rbx; push %%rbp; push %%r12;"
      |         ^
<inline asm>:1:159: note: instantiated into assembly here
    1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
      |                                                                                                                                                                      ^
2 errors generated.

The inline assembly block in __prepare_to_wait() is duplicated, thus
leading to multiple definitions of the otherwise unique labels inside the
assembly block.  GCC extended-asm documentation notes the possibility of
duplicating asm blocks:

> Under certain circumstances, GCC may duplicate (or remove duplicates of)
> your assembly code when optimizing. This can lead to unexpected duplicate
> symbol errors during compilation if your asm code defines symbols or
> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.

Workaround the issue by latching esp to a local variable, this prevents
clang duplicating the inline asm blocks.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v1:
 - Use approach suggested by Jan.
---
 xen/common/wait.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/common/wait.c b/xen/common/wait.c
index cb6f5ff3c20a..9a11dccb5de5 100644
--- a/xen/common/wait.c
+++ b/xen/common/wait.c
@@ -124,6 +124,11 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
     struct cpu_info *cpu_info = get_cpu_info();
     struct vcpu *curr = current;
     unsigned long dummy;
+    /*
+     * Latch esp to a local variable to prevent clang from duplicating the
+     * inline assembly block when UBSAN is enabled.
+     */
+    void *esp = NULL;
 
     ASSERT(wqv->esp == NULL);
 
@@ -166,12 +171,12 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
         ".L_skip:"
         "pop %%r15; pop %%r14; pop %%r13;"
         "pop %%r12; pop %%rbp; pop %%rbx"
-        : "=&S" (wqv->esp), "=&c" (dummy), "=&D" (dummy)
+        : "=&S" (esp), "=&c" (dummy), "=&D" (dummy)
         : "0" (0), "1" (cpu_info), "2" (wqv->stack),
           [sz] "i" (PAGE_SIZE)
         : "memory", "rax", "rdx", "r8", "r9", "r10", "r11" );
 
-    if ( unlikely(wqv->esp == NULL) )
+    if ( unlikely(esp == NULL) )
     {
         gdprintk(XENLOG_ERR, "Stack too large in %s\n", __func__);
         domain_crash(curr->domain);
@@ -179,6 +184,7 @@ static void __prepare_to_wait(struct waitqueue_vcpu *wqv)
         for ( ; ; )
             do_softirq();
     }
+    wqv->esp = esp;
 }
 
 static void __finish_wait(struct waitqueue_vcpu *wqv)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:19:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918730.1323382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuT6W-0001TE-FQ; Tue, 18 Mar 2025 09:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918730.1323382; Tue, 18 Mar 2025 09:19: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 1tuT6W-0001T6-Cf; Tue, 18 Mar 2025 09:19:20 +0000
Received: by outflank-mailman (input) for mailman id 918730;
 Tue, 18 Mar 2025 09:19: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuT6V-0001Er-7O
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:19:19 +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 11ab39c7-03da-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 10:19:18 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso21498055e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:19:18 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 5b1f17b1804b1-43d1fe60b91sm129211135e9.31.2025.03.18.02.19.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:19: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: 11ab39c7-03da-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742289557; x=1742894357; 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=kJrfgSgOCfJAjejXjwBF2RetzOVLR6TOxhOTSZtrq7M=;
        b=AXfMUBSyZtDQegyQDomRhFGSwvLxc8jd8wWaOpmbtKw8ykyDa11zP/VyRJZqgAWkSX
         1Gsbjx7z7ZwnpKq2FZHma8PYfyZcR6Q/k4HmajoiMoAGpeczelUmboTZG/fTSH9mqhVK
         M4NuKf6rtzDPcT9MYbb6KBQkFNSbURD5x8bIk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742289557; x=1742894357;
        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=kJrfgSgOCfJAjejXjwBF2RetzOVLR6TOxhOTSZtrq7M=;
        b=cqBbZMrUMBLIW7rCSg29L6r6K703Wq77QDmXBPQN/y6GFyAxyyoqQ1AdAntTsJELan
         kpdhcIwa9HjvyBUDvn2wD8IksaqGBbDNcOFhF3bfl3U+XMKK6FA1iW22XPwKWhixqOQ6
         JG4BdSz+PsBqO6NrWm4EDcjvJ40Z6jEMwrN2opGXGD3zFDDmE8Fi/cx3EIs4Acmdq8AA
         FnLjmBBDtLwvdn4lEpt5NP0hBc4W182NquuF1Pnwo4oJ9SNFClQs5J3GVvdbHUtA+eK+
         MdWKr9GZrQ4w+h+8lWaF7i6xsEa7Tly37CxCcWgLTGk9LTzchyhi6ahtUiHuGtRIZOkJ
         jsIw==
X-Gm-Message-State: AOJu0Yzz9OhsjIrI3uZquZqbAXMrEw35xd/DuLEegDGCb7jiJJNM2fpO
	l9flg4fDbf0VQ8fceCSCI+xKZKRRZqhaNKR2SXxzJJuFeIKTOSX8m5atssCx6KMMYnqNvs+YDtx
	I
X-Gm-Gg: ASbGnctstSzZzEgUvcgd8N2wzJcKT06Fdi0LHWWETdS/eD/FQ1ccpnmbErAcORMQl3M
	Lwh3iiTp5aotPd7Sd0w/CVlKKGmp/Kt1kKXrTqmf0xtqRPuWezXqx+TLco6dgJn0PhZLbLrBkn4
	IDxxSteK33HvbQuTvker/ljQUV9/Tz+troXqPkr4mBj96GZHJH4rE2EUAtMIuBeR8sugKYQWyMB
	qY5muFu2PO4PdTzZiVXhhZCncs/AD5wMOV4TfZq15/ksgcyBd+Mb2B5bPjivH8zVi9m0QJ4SmRP
	ETjUzwcT7e2vilIEJATEtxszieEfPq5gnl0X5P1f0cfdDDPy2w==
X-Google-Smtp-Source: AGHT+IFMkceX6oq4VjB2zOMmMrOjarqH8kophX5VOaq2q0cqLz6dtfKN9iw0JKDaeoMiK0jGtDBRWg==
X-Received: by 2002:a05:600c:3c9e:b0:43c:f513:9591 with SMTP id 5b1f17b1804b1-43d3b993e94mr12025615e9.14.1742289557208;
        Tue, 18 Mar 2025 02:19:17 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 v2 2/5] x86/vga: fix mapping of the VGA text buffer
Date: Tue, 18 Mar 2025 10:19:01 +0100
Message-ID: <20250318091904.52903-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318091904.52903-1-roger.pau@citrix.com>
References: <20250318091904.52903-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The call to ioremap_wc() in video_init() will always fail, because
video_init() is called ahead of vm_init_type(), and so the underlying
__vmap() call will fail to allocate the linear address space.

Fix by reverting to the previous behavior and using ioremap() for the VGA
text buffer.

Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v1:
 - No not attempt to adjust the directmap VGA text buffer mappings to be
   WC, just revert to the previous usage of UC- mappings for the whole VGA
   hole.
---
 xen/drivers/video/vga.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index b4d018326128..ee6cf0a7079a 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -71,7 +71,7 @@ void __init video_init(void)
     {
     case XEN_VGATYPE_TEXT_MODE_3:
         if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL) ||
-             ((video = ioremap_wc(0xB8000, 0x8000)) == NULL) )
+             ((video = ioremap(0xB8000, 0x8000)) == NULL) )
             return;
         outw(0x200a, 0x3d4); /* disable cursor */
         columns = vga_console_info.u.text_mode_3.columns;
@@ -158,7 +158,7 @@ void __init video_endboot(void)
         if ( !vgacon_keep )
         {
             memset(video, 0, columns * lines * 2);
-            iounmap(video);
+            /* No iounmap(), as it's a directmap mapping. */
             video = ZERO_BLOCK_PTR;
         }
         break;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:19:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:19:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918732.1323402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuT6Y-0001xs-Va; Tue, 18 Mar 2025 09:19:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918732.1323402; Tue, 18 Mar 2025 09:19: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 1tuT6Y-0001xZ-RM; Tue, 18 Mar 2025 09:19:22 +0000
Received: by outflank-mailman (input) for mailman id 918732;
 Tue, 18 Mar 2025 09: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuT6Y-0001pb-Dj
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:19:22 +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 12f21450-03da-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 10:19:20 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso4565944f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:19:20 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395cb7ea197sm17267527f8f.84.2025.03.18.02.19.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02: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: 12f21450-03da-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742289560; x=1742894360; 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=uvu5eIZtMQ2sjDw7pRYIO1mjfh/0Xg7gt34ETQV6Y38=;
        b=RAznACR7A6JqGxfEt0mjEomlqUYjy6MnmbRpaavvVuJasGZdMYlLlEIVM1niI5PR7q
         BmVE5UTywNDkObFiBDMimC13mikoJ9Bx/CBDzt2sSnndDIu+zzFxArSFeM0DyhZJh82f
         ZVO1bukoqOlNLroYfQe+hE4Ucyzv/teggYmZA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742289560; x=1742894360;
        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=uvu5eIZtMQ2sjDw7pRYIO1mjfh/0Xg7gt34ETQV6Y38=;
        b=O5yPR7U3sKRhM3hq61pArvIJNdnfWL5b9jb0a8p/uJpbgSCWWwOo3bvsVyGYurHQsp
         YPZDfl4NSmsMnI7fSEm/7MhUxpuzgn/xiFR3yTWCjbOGJT8eIGUM7OmTzAN9x8GNoF4z
         XCtB+uyBol8Q69OMbaMcKNXFMI+L5jHqZ21QT7Sv3/cA9Z0+9HMcp0NzHREYyoH0ke1j
         tBSrK5zjIleMXOVko/1jojrkfKeTriKxsXApuE81KE/mXGJE4sWqOiaTccFBbnzyzG+A
         aO/fx8NpGV0iXNoG4jI32Irv5w6M4XY92f8r1ePkp0vPBTdQoW5Xa44/SlFES5SrDS2e
         JwSw==
X-Gm-Message-State: AOJu0YxdgesyWxzHbxgzAFDwuR1nmYEkwrzbykJ14dJaCR9v760wXvlD
	zvTulKadlNQltGWJYWLFbIoFwONXKvVbouMsE7sjvW5jOvyF4nesVLBqX9++cHrpHUnjoxrCFR7
	h
X-Gm-Gg: ASbGncs9b5Insx9/NDUwiu2R6RtTKkNItfqxVs+i9tjoIREBm5BVS2yYPIf1NLR5tsE
	xPxUm8ljzP2i1tlddY2HpswwZf9oqjhq1gQ3NVVZbMukhhXRcyVzcbOPgtyz31ruiu9YjJk2Ogr
	SH3Bd0sy3OWhgFZ1GKNhcUF5G12suhW+OEWO+lGpSOdz1UMirdUpqHOjI0lVlCFfI/j3TOqLyoN
	XlUIc6ISyKRarw/1Pi7TT66T6glrTAxpPHZ1Oqby/x8MSmEmK5xJVDhCO+8CyTB/fv3ZoeJsLsT
	714qCmAKXm5U/XKWqtKnoiAlmldUbGduxs58/dYvZ31tpocaKg==
X-Google-Smtp-Source: AGHT+IGZoxRERBI2o5PdcYEf0GTFklKZscfnxI6ptTAwbkD0XhjdjMKBMAO21xu5GZUvgQ2Sxr70gg==
X-Received: by 2002:a05:6000:4023:b0:391:487f:2828 with SMTP id ffacd0b85a97d-3996b445302mr2703349f8f.10.1742289559732;
        Tue, 18 Mar 2025 02:19:19 -0700 (PDT)
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>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 4/5] x86/shadow: fix UB pointer arithmetic in sh_mfn_is_a_page_table()
Date: Tue, 18 Mar 2025 10:19:03 +0100
Message-ID: <20250318091904.52903-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318091904.52903-1-roger.pau@citrix.com>
References: <20250318091904.52903-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

UBSAN complains with:

UBSAN: Undefined behaviour in arch/x86/mm/shadow/private.h:515:30
pointer operation overflowed ffff82e000000000 to ffff82dfffffffe0
[...]
Xen call trace:
   [<ffff82d040303882>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
   [<ffff82d040304cc3>] F lib/xxhash64.c#__ubsan_handle_pointer_overflow+0xcb/0x100
   [<ffff82d040471c5d>] F arch/x86/mm/shadow/guest_2.c#sh_page_fault__guest_2+0x1e350
   [<ffff82d0403b216b>] F lib/xxhash64.c#svm_vmexit_handler+0xdf3/0x2450
   [<ffff82d0402049c0>] F lib/xxhash64.c#svm_stgi_label+0x5/0x15

Fix by moving the call to mfn_to_page() after the check of whether the
passed gmfn is valid.  This avoid the call to mfn_to_page() with an
INVALID_MFN parameter.

While there make the page local variable const, it's not modified by the
function.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.
---
 xen/arch/x86/mm/shadow/private.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/shadow/private.h b/xen/arch/x86/mm/shadow/private.h
index a5fc3a7676eb..cef9dbef2e77 100644
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -512,13 +512,14 @@ static inline unsigned long __backpointer(const struct page_info *sp)
 static inline int
 sh_mfn_is_a_page_table(mfn_t gmfn)
 {
-    struct page_info *page = mfn_to_page(gmfn);
+    const struct page_info *page;
     struct domain *owner;
     unsigned long type_info;
 
     if ( !mfn_valid(gmfn) )
         return 0;
 
+    page = mfn_to_page(gmfn);
     owner = page_get_owner(page);
     if ( owner && shadow_mode_refcounts(owner)
          && (page->count_info & PGC_shadowed_pt) )
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:19:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:19:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918731.1323392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuT6X-0001iP-OK; Tue, 18 Mar 2025 09:19:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918731.1323392; Tue, 18 Mar 2025 09:19: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 1tuT6X-0001iG-L8; Tue, 18 Mar 2025 09:19:21 +0000
Received: by outflank-mailman (input) for mailman id 918731;
 Tue, 18 Mar 2025 09:19: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuT6V-0001Er-Sr
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:19:19 +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 12263b2a-03da-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 10:19:19 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso3543019f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:19:19 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395c83b6b43sm17746582f8f.35.2025.03.18.02.19.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:19: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: 12263b2a-03da-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742289558; x=1742894358; 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=YuDcf9Cv9x3i1U+A49P9TQaxoQRqLFIPfBAq0blwaPE=;
        b=QLwngdLGpw5wRhuRoOAW9Ie9ZF0iwB62KyCJ0lkSMIRuVUKnH7Xus3RvpRGJULxJ9s
         7v2dtcoEAyWATa0t2skWcuWbjlD91pEMMpDajWg75pxl9iZHMVF2/hiWEkV7Hcziufm/
         7JuhD2bRkWQba4DHZfL0FGvm2/y/1F8kYLSgo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742289558; x=1742894358;
        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=YuDcf9Cv9x3i1U+A49P9TQaxoQRqLFIPfBAq0blwaPE=;
        b=Qs0OcSNnz+aUK06UHjVu3KVXrZaJOFQsM3PIg08W3hoNxPNUCeL2+aPtGAsevQ+4TQ
         1tdTgNasY4Co6QtOqpbG5h1EB9KNIlgz7ui9D5NM06TVh6U0v9nr/REBCjZhHOjdEmBI
         rppZTK1YJ+50rWDPkuef7N2qOCZXyf6ayYJ/Zs0D1KMiGHd9hX3M33Ct99JusLT0POO3
         NxGOp32MhJbxRSAenVhOPrPUu1v+PbVlUzzXe8Aly7pv6+cq0T+RWx4Sv8HsS3p+nZw4
         YlaKsrGC8tYxN60BI4tZCqnAxujLuPhNSb89oeCxKy2gq9ZsgA6+c7e/uHkMNHlVZNQF
         Mwlg==
X-Gm-Message-State: AOJu0YzT2lAJGKYYRxacUEhl/Hvu+ETFBejQ7FWyH9mhHLceLX7Dmyp2
	BlsXmPpmWJzdFJ5oRZK1XjOwCExf2BtWfW71oMA+5uL21QgSjUdAgNZPoKe/FF+go+umw+gguTI
	h
X-Gm-Gg: ASbGncvhKsQsdXu9Tg42E8DL4BAG0aVuStZOif7NmP6DVNdmHJz7p73NHEEicg4zTYx
	L/pBVXOQxltXxrcfOd5dHm26qd1BR6weobGUJyNR2LXMu3V7JjIjGFUGMfy3b9ISZL/QeQl0LGO
	nI75/wetvqhPCi7X1LDZwAnIcAdtSphEwQNssSkBbohLIGNG8GLJvOb18TGcPLawZ5ECsk58Yqf
	hZ8+enC/e3AHZnL8GmoZpGfmPXKvfNgquBMaGbCky1lZDODMtuyhu85ehqDSqM45iHz3z1pvHxM
	ODu0k3L/yIU472oAt6kNianYX8J5paV1a5B6qylUvOQjSTaBhw==
X-Google-Smtp-Source: AGHT+IGZhmwKpQwnvPKnE1JfFtguTAnacOSX1U3j5ss9YEvo5SJPno3RZX52vQX8KS78wbMIjF0zZA==
X-Received: by 2002:a05:6000:2c8:b0:390:eebc:6f32 with SMTP id ffacd0b85a97d-3971f7f9affmr19335621f8f.48.1742289558626;
        Tue, 18 Mar 2025 02:19:18 -0700 (PDT)
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 v2 3/5] x86/xlat: fix UB pointer arithmetic in COMPAT_ARG_XLAT_VIRT_BASE
Date: Tue, 18 Mar 2025 10:19:02 +0100
Message-ID: <20250318091904.52903-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318091904.52903-1-roger.pau@citrix.com>
References: <20250318091904.52903-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

UBSAN complains with:

UBSAN: Undefined behaviour in common/compat/memory.c:90:9
pointer operation overflowed ffff820080000000 to 0000020080000000
[...]
Xen call trace:
   [<ffff82d040303882>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
   [<ffff82d040304cc3>] F lib/xxhash64.c#__ubsan_handle_pointer_overflow+0xcb/0x100
   [<ffff82d0402a6359>] F lib/xxhash64.c#compat_memory_op+0xf1/0x4d20
   [<ffff82d04041545d>] F lib/xxhash64.c#hvm_memory_op+0x55/0xe0
   [<ffff82d040416280>] F lib/xxhash64.c#hvm_hypercall+0xae8/0x21b0
   [<ffff82d0403b25ca>] F lib/xxhash64.c#svm_vmexit_handler+0x1252/0x2450
   [<ffff82d0402049c0>] F lib/xxhash64.c#svm_stgi_label+0x5/0x15

Adjust the calculations in COMPAT_ARG_XLAT_VIRT_BASE to subtract from the
per-domain area to obtain the mirrored linear address in the 4th slot,
instead of overflowing the per-domain linear address.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.
---
 xen/arch/x86/include/asm/x86_64/uaccess.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/x86_64/uaccess.h b/xen/arch/x86/include/asm/x86_64/uaccess.h
index c6fa3fd381bc..f933707e109f 100644
--- a/xen/arch/x86/include/asm/x86_64/uaccess.h
+++ b/xen/arch/x86/include/asm/x86_64/uaccess.h
@@ -9,9 +9,9 @@
  * a secondary mapping installed, which needs to be used for such accesses in
  * the PV case, and will also be used for HVM to avoid extra conditionals.
  */
-#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \
-                                   (PERDOMAIN_ALT_VIRT_START - \
-                                    PERDOMAIN_VIRT_START))
+#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
+                                   (PERDOMAIN_VIRT_START - \
+                                    PERDOMAIN_ALT_VIRT_START))
 #define COMPAT_ARG_XLAT_SIZE      (2*PAGE_SIZE)
 struct vcpu;
 int setup_compat_arg_xlat(struct vcpu *v);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:19:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:19:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918733.1323412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuT6a-0002E8-7P; Tue, 18 Mar 2025 09:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918733.1323412; Tue, 18 Mar 2025 09:19: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 1tuT6a-0002DB-2g; Tue, 18 Mar 2025 09:19:24 +0000
Received: by outflank-mailman (input) for mailman id 918733;
 Tue, 18 Mar 2025 09:19: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuT6Z-0001pb-7G
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:19:23 +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 13a5018d-03da-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 10:19:21 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so31014145e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:19:21 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 5b1f17b1804b1-43d1ffbcef5sm128109935e9.9.2025.03.18.02.19.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:19: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: 13a5018d-03da-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742289561; x=1742894361; 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=gnMyX9kFHyXzrDrfsJ2RlCItrD8ia9EDnLZKJ/omKus=;
        b=I7tanCAz2GCxrp0jEh/xE12/ZcqV4ndnSKBuaYG+hWgdqCV9u/8xGnnm/kkeGdIjRU
         r/q6lfxqB2PYn26e7XRHaU8MOkDcW8NDWG2ndad0FvMec0PGbB171noJqec8tM31hh0/
         qwSps+el/ZgimMXBcMdH2lEZM/L9Megvrafpk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742289561; x=1742894361;
        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=gnMyX9kFHyXzrDrfsJ2RlCItrD8ia9EDnLZKJ/omKus=;
        b=HV53aaLKdk7jehWVJoMkgijFRS3hmXicy1DZGxgnKxKLD3mh5KHl5dro1I4xQZe6NT
         JJLeW+2tKfk2xHOUtwO4AbQXHOwufxvaQm06Bw6KA2x5WjUeTKBaHCs9q++C96attc9B
         zfFqd3mrCmQjs517uIMGPkY6TthfuQqbSe5E3t8o2rQ9EfoaXgQH2X4ZsX/35j0MkNKo
         2le6p8/XeRlVGcF+PvbTtfqF9KcQnn87M/Z+niNFlpiDpCSL4fLxGJgr0kZdAXpymzyS
         D0aSz0YX3tGG6oA001B3P+W88SELgYeG2rfM5PYqOQXMGico74NdLilAETC2vhUxacnN
         6mvA==
X-Gm-Message-State: AOJu0YyegHofS9BkXSjskWDVfCIftF2QQzyuJ/EB202VYQLz1Yvs8eMc
	2HKzAvsjMsargmgyU9Vp//RmaKJWrVrMALtNuWBE9VJvNwQfbq8ru75ozO+ma1wc9P/oSYqsPaT
	c
X-Gm-Gg: ASbGnctI45SvuE7IeormYaBkfuQ8r5INLSdcdFyj0B2ixdYkePYln7wmTcP9rpYA6Jc
	p0/QpCnR4PT66UZylwmvIxBz3qe+3rVbSdynvRWcTNe84Z5owMccqVbxaHeUnPEMFzFAlfpegKY
	Tbvsx2YmsnvsLxj2jaxcWEvZL6KFIvlS8KRqZZ3zFQUsdgfqtDt/R+vfedFxpVJxw7BEtfgpyh7
	dMJqnVYAkMXH4/Lt02smqMrQVdR4OLQHcTFPZSd/AQKiQDRtsqdvoR96eYdpReoZEd6svUJ5pzL
	qLe1fd/sCjF2RGOANu2war5PlS7YH70wuf+NYe0mHDTBELV/Erw2/lzcxD2n
X-Google-Smtp-Source: AGHT+IFx1B/uo+A+eLee+hmEmUSpjHQS6B/JBzEUIWCCZ2fncEVgSrIgPpwpISI15sBHu35V31+6rw==
X-Received: by 2002:a05:600c:4e51:b0:43c:f8fe:dd82 with SMTP id 5b1f17b1804b1-43d3b9ba9d4mr12535915e9.18.1742289560796;
        Tue, 18 Mar 2025 02:19:20 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v2 5/5] kconfig/randconfig: enable UBSAN for randconfig
Date: Tue, 18 Mar 2025 10:19:04 +0100
Message-ID: <20250318091904.52903-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318091904.52903-1-roger.pau@citrix.com>
References: <20250318091904.52903-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce an additional Kconfig check to only offer the option if the
compiler supports -fsanitize=undefined.

We no longer use Travis CI, so the original motivation for not enabling
UBSAN might no longer present.  Regardless, the option won't be present in
the first place if the compiler doesn't support -fsanitize=undefined.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/Kconfig                        | 4 ++++
 xen/Kconfig.debug                  | 2 +-
 xen/tools/kconfig/allrandom.config | 1 -
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/Kconfig b/xen/Kconfig
index 72fdb8376087..2128f0ccfc0b 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -37,6 +37,10 @@ config CC_HAS_VISIBILITY_ATTRIBUTE
 config CC_SPLIT_SECTIONS
 	bool
 
+# Compiler supports -fsanitize=undefined
+config CC_HAS_UBSAN
+	def_bool $(cc-option,-fsanitize=undefined)
+
 # Set code alignment.
 #
 # Allow setting on a boolean basis, and then convert such selection to an
diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index c4a8d86912e0..f7cc5ffaabd7 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -98,7 +98,7 @@ config SCRUB_DEBUG
 
 config UBSAN
 	bool "Undefined behaviour sanitizer"
-	depends on HAS_UBSAN
+	depends on HAS_UBSAN && CC_HAS_UBSAN
 	help
 	  Enable undefined behaviour sanitizer. It uses compiler to insert code
 	  snippets so that undefined behaviours in C are detected during runtime.
diff --git a/xen/tools/kconfig/allrandom.config b/xen/tools/kconfig/allrandom.config
index 76f74320b5b0..c7753ac4addb 100644
--- a/xen/tools/kconfig/allrandom.config
+++ b/xen/tools/kconfig/allrandom.config
@@ -1,4 +1,3 @@
 # Explicit option choices not subject to regular RANDCONFIG
 
 CONFIG_GCOV_FORMAT_AUTODETECT=y
-CONFIG_UBSAN=n
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:19:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:19:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918737.1323422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuT6f-0002eN-FT; Tue, 18 Mar 2025 09:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918737.1323422; Tue, 18 Mar 2025 09:19: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 1tuT6f-0002e4-Bv; Tue, 18 Mar 2025 09:19:29 +0000
Received: by outflank-mailman (input) for mailman id 918737;
 Tue, 18 Mar 2025 09:19: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuT6e-0001Er-87
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:19:28 +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 0ffc46ad-03da-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 10:19:15 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso3343590f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:19:15 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395c83b6a5esm17233468f8f.27.2025.03.18.02.19.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:19: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: 0ffc46ad-03da-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742289555; x=1742894355; 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=tmrsNxmPFMcDU/0FE/LlGq4pqbqDd0zeMT19NxNaJd8=;
        b=qd7upFYqht9JmRL4K4Jb0QgDQSMTivU7q001rFxBZ4I0EsHNX4SYxqnc+sqgHBqSlg
         5D3D75Vz4EAn8igQnREy/RUiN+rfQXLaErrL3mbQmtwWh5AxoANB/3PlayGtgCAAWddr
         G9g90l4yLC1rOhIcIvabdjekGVFWG8CbQWfno=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742289555; x=1742894355;
        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=tmrsNxmPFMcDU/0FE/LlGq4pqbqDd0zeMT19NxNaJd8=;
        b=GKgZIxF2dDU48OcssVulrK4hUBbOQbz/6ktrr7GONcjhsr3hufN1thbEyvi55h9Xdd
         tiwBLc2/YylBu8eLE3JoD+Jh/BP+2l7TibcOa8E4qZ5Z0ucwSu/1mB11PoFN8hJEN0qs
         lBxt8X4FhTSCKtEzqzA8IqVngK83OIq5gH3lEu80Wwdc0AbeYt8dCuO2bypi9DW9otfH
         SCZrljp97opvKLvuhhYfEvDXNaUaUpB21PQHzyLAQRM1Rt8Ysi/aWiGzgpUsMg0IB6Pv
         /WeAI15IEbX88IlqpzrVQLptPXWM9PbG7DjcEalxfcW8A7Tj5wLeWCTwyOsQ1EIJ7gW+
         5WfQ==
X-Gm-Message-State: AOJu0YxDKEKWgi1B60cJrvTt1gqurOA2H0rIxmKYHKI5kWle1lPFW+l0
	LgLwsCC9u4fiLzePlwgTNJdYcDF1gJo5lgVoi17rw0jYlCjUmJ+uBsFjnnwyu3iGbAeClhgTE8t
	J
X-Gm-Gg: ASbGncsU+n9ODOkAFMJ4DlAAU2FCtp8tgjJoV0u8ZBnhQ5nScjsqKZWqyM/3x3Cq6Dv
	u/utmtXQCa4QA67cn1toPRceVnxRpCBfQ/eEAALKWirdE45lc2buxjOUVhwlUjpa9ocq/oVJb2J
	BRE95RXUlWKbPTwRT3GKaz3nOTbFX2y1jGPip78bSN5VBOMEFa+zmyf6YSjfENcLs1QGPBq0F8L
	cTS3K+3vJKpFOf+XKdzdW0a9TzzZWOC4KE6XAkd2SPlkK2TdhfzYOBCKQaDIapyy2COhopTYvgV
	hZ9LFOjviRdNwMp6/WZJWvwN0HSNAp21x1uiZRywIKCkcyFEYA==
X-Google-Smtp-Source: AGHT+IGeTIvxd0nXZklEIGiktmO5oQTbEXQrwZr45Y5vjaaVlL2h8FIa7CWb/k+NcEwXxFNnCb6gJw==
X-Received: by 2002:a05:6000:1849:b0:391:3915:cfea with SMTP id ffacd0b85a97d-3972096266fmr22736642f8f.38.1742289554936;
        Tue, 18 Mar 2025 02:19:14 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Tim Deegan <tim@xen.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v2 0/5] x86/ubsan: fix ubsan on clang + code fixes
Date: Tue, 18 Mar 2025 10:18:59 +0100
Message-ID: <20250318091904.52903-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

This started as a series to fix UBSAN when using clang, and the first
patch do fix that.

Finally patches 2 to 4 fix bugs in the code highlighted by the clang UB
pointer arithmetic detection.

Patch 5 was the original goal of the series: be able to enable UBSAN for
randconfig.

Thanks, Roger.

Roger Pau Monne (5):
  x86/wait: prevent duplicated assembly labels
  x86/vga: fix mapping of the VGA text buffer
  x86/xlat: fix UB pointer arithmetic in COMPAT_ARG_XLAT_VIRT_BASE
  x86/shadow: fix UB pointer arithmetic in sh_mfn_is_a_page_table()
  kconfig/randconfig: enable UBSAN for randconfig

 xen/Kconfig                               |  4 ++++
 xen/Kconfig.debug                         |  2 +-
 xen/arch/x86/include/asm/x86_64/uaccess.h |  6 +++---
 xen/arch/x86/mm/shadow/private.h          |  3 ++-
 xen/common/wait.c                         | 10 ++++++++--
 xen/drivers/video/vga.c                   |  4 ++--
 xen/tools/kconfig/allrandom.config        |  1 -
 7 files changed, 20 insertions(+), 10 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:22:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918795.1323432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuT9m-0006ih-0p; Tue, 18 Mar 2025 09:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918795.1323432; Tue, 18 Mar 2025 09:22: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 1tuT9l-0006ia-TD; Tue, 18 Mar 2025 09:22:41 +0000
Received: by outflank-mailman (input) for mailman id 918795;
 Tue, 18 Mar 2025 09: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=cuSS=WF=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tuT9j-0006iU-RX
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:22:40 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20620.outbound.protection.outlook.com
 [2a01:111:f403:2607::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 860aa4a6-03da-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 10:22:33 +0100 (CET)
Received: from AS9PR07CA0022.eurprd07.prod.outlook.com (2603:10a6:20b:46c::34)
 by VI1PR08MB10147.eurprd08.prod.outlook.com (2603:10a6:800:1ce::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 09:22:27 +0000
Received: from AM4PEPF00027A67.eurprd04.prod.outlook.com
 (2603:10a6:20b:46c:cafe::34) by AS9PR07CA0022.outlook.office365.com
 (2603:10a6:20b:46c::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.18 via Frontend Transport; Tue,
 18 Mar 2025 09:22:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A67.mail.protection.outlook.com (10.167.16.84) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 18 Mar 2025 09:22:25 +0000
Received: ("Tessian outbound 17f7e587bbed:v594");
 Tue, 18 Mar 2025 09:22:24 +0000
Received: from Lb234a114b17d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F585D9AD-79E1-4ADF-A6F4-A319B553A1FD.1; 
 Tue, 18 Mar 2025 09:22:13 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lb234a114b17d.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 18 Mar 2025 09:22:13 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 AS4PR08MB7805.eurprd08.prod.outlook.com (2603:10a6:20b:518::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 09:22:10 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 09:22: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: 860aa4a6-03da-11f0-9899-31a8f345e629
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=qRgZgXI97NrBYhOgYApSDz4CcM/5vAzRZ8G/vJoGFEkrNCeb/7gn7x186qZiOfvkOLWDg5rfTZ2zdVQytl7gnRFBz3ysaa+hjjSYgrEvp0RIRFBh20yvgloZIeJ8frXz87zUc9LhvrRvrXfJaT0I+w+YktjqxNwkEwvIjKFHZPDnafO6q0wgV8Q/OrQTwH6UIfIqfoCgzS0nd/ZUkBxC1d+y76CytxT0iIXZEVVRXO+P+bSLeZO/lvrGUyUSj4mOG8RLen3/m0hPwu9fy12PvulRjE3eUfBtfgOGFcPOlPOPpD+UHrQk191dtW5OaJq/7u0ijaL7xyj8VWXtu2NATQ==
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=VmXGDEHYQNvfkQO23uSpbV4xL70VbloqjkpQnbKVHfs=;
 b=u5xTL5ANmP+uQvMakChR1e8lRPosEHqXi5+On5DyAeCzf1wx7sC+A74LQGleH8CE2Cd8vg6FxYRohiKAG2RXBR4GTXalOMU1bLMB9BqTQ79gWFBAQAZfhHFHs6vN7F03xjRzwFbsinue4PjoWHLy4xXeKbQfbgXReCEgpStU33pl4BSE+BVBvIxlIElW4Z4WwOVQQCVNYV7N07e8KgWnp81NuMc8B4HkeJDb9JLVpKgb9jYBueXlKEvOb9h0Wkt0ryWOX0DAX7V2z73wDuEz48+JCI1W1imRsUiEN8qp/MHCZw+RuDiSDm8EfC1HVy1nWZEcrz8bvdgY9MQgXWljHw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=VmXGDEHYQNvfkQO23uSpbV4xL70VbloqjkpQnbKVHfs=;
 b=iuJr4stz7LVoC8kAWJWI4yGCOYyzr+fudYL1CjlDpaBXzgrDXrrrnCnTXu9bhrTjn5Vq3EbT7czfncrTuYnJB4nmpA88X66h+DKNj3CaLVo7Me1jbP6VdJZrndovTUy4zXNxosYeOUprjHVF+iDCHonP5k3kxHK6OlIe3HXbPlM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 18c15adf81d82e27
X-TessianGatewayMetadata: xvgaXhDMtRt/ydvZfxrp2HRCs4rbsWR4sIRoG6rJiD+O9ceiacSs50Ifx6vsz17YxeNUsV0P3IySOx+rc8psgXZ4Bx9hIaFdJPDKr5oe4npEMLa+JSFSqahI0/einhWLuv0L+gav+hK9wG1EoUrtnczN+yIZZPPg9GBoeo97+rE=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UkkTb3yt0ZDRRGbxX/+YNh4jqkAWfjDp1M1VO9y9Tq6FEV2oG2PwZJLtuoig9zwkvG1+0hnkJiGRafJquWApH6u3TS3ods19jJBLRe9HhcXK0AhMKQF0j+Z+FbdGd817VPEoRGnWBsjws+gaVRa6IGGoVNw0dTlKnqit4QkcTeWahHAoxr7qAy0EXeioJuvYi9NT+SLHBdtUIOSgHH7BB0TNNJUu5sFaBJ+P+uh75XhFC9oqvdpEpmTZZXJ2HA//Pf2j6mhd+O3dAaeoxUoU9GP1jCynCbTDCOS+Ad/WAnVotQ3ZgMSXl4U8LDxOMfouFmyyQg/3Zj9C26lSbGTMWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VmXGDEHYQNvfkQO23uSpbV4xL70VbloqjkpQnbKVHfs=;
 b=bIlTjrGq6au6wpA4W9jgc6osZAA80PMQxY0xq1zyV3HHuv9HE80R//5ben6ETdL7U9+U7M8FHhLU+DUE6jMvvu5SLuRkxi00CUIEiwY1fbM0ki1mCsKNeygAqeB3bNkM5EntezOoiF4vMZFq9CQ3ytnIxCu1h2DImw7FdOr4Opdp8+VDwrl61aF4vI/ZA5BET0N/7MH08yjfobtaN+TSsrCmX34nbHpFeqY2ScjcgnTBA7drJ+sDpLM224S20Oa0zlTGdySiE1E+O3nlmQ+77ZOcY7D85v0/d/N+JyDVmwNuN/BzJHjLMGlnTgi42nJ/0Kn8qH5Pa6Nem0OacnwC3A==
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=VmXGDEHYQNvfkQO23uSpbV4xL70VbloqjkpQnbKVHfs=;
 b=iuJr4stz7LVoC8kAWJWI4yGCOYyzr+fudYL1CjlDpaBXzgrDXrrrnCnTXu9bhrTjn5Vq3EbT7czfncrTuYnJB4nmpA88X66h+DKNj3CaLVo7Me1jbP6VdJZrndovTUy4zXNxosYeOUprjHVF+iDCHonP5k3kxHK6OlIe3HXbPlM=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Anthony
 PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
Thread-Topic: [PATCH] tools/arm: Fix nr_spis handling v2
Thread-Index: AQHbl+Q4jNpuw47SOEWRO7HfAgkt77N4noaA
Date: Tue, 18 Mar 2025 09:22:09 +0000
Message-ID: <8E493E7A-B108-4510-874A-FEA703013DBE@arm.com>
References: <20250318090013.100823-1-michal.orzel@amd.com>
In-Reply-To: <20250318090013.100823-1-michal.orzel@amd.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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|AS4PR08MB7805:EE_|AM4PEPF00027A67:EE_|VI1PR08MB10147:EE_
X-MS-Office365-Filtering-Correlation-Id: 035dc3cf-50ff-4f4b-f519-08dd65fe6581
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|376014|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?VWJ6VUp6bnFCR0ZGc05VM2N4WGFQRWRFcEFET0QxeVl1bjJYTEFLWjYxR1d2?=
 =?utf-8?B?RC9TT2VGMldZbzFvNXhPRGd6S3JaTFBJdldqMjBmU1l6RlJIaUszR2hWKy9O?=
 =?utf-8?B?TXBFRzlsc3lPQXlBM0VBRnNkMTFVdDU4MHQvS1FBeUJaT2RGbldKamxCcG1s?=
 =?utf-8?B?WUtNZlEyYjdINkx0ZU0xR2UxeGV5b0NvdFEwcGtKMGJUSitBcnNPbDFKMWlo?=
 =?utf-8?B?Q1BLNEVMN05raXo4WTd3MzF6dEFGdjFlOHFybmRBNUJKQUlHRXNaNjZmQk1o?=
 =?utf-8?B?M3FzTlo3UUNuaXRTdUVYL2ZDN0o3T3RlM2ZwcTNDWkhOYkFKOWNDeUpDd0xq?=
 =?utf-8?B?VU5mVmlkakNQOS85cDROdnBqTWQ2cXNpeWlkaDR1eTIyWEU2THpmdlYxTUV2?=
 =?utf-8?B?Nm1HeXVUekxoTitwSTR2Z0FkdG03TmZOeVFKa1A4K3NBQVJqNExYY25nazE4?=
 =?utf-8?B?TVB4WEQyMU14ZHN2OFp5a1NiZmttbVVHbExZNDUvejFGTFJCTi94ZVllc2FU?=
 =?utf-8?B?ZlJCc0NSUDdqS2xkMkpZcVV0UDdLdisxeCtRVkdXQmhsMXB0SWF3TmhGYjF1?=
 =?utf-8?B?TlkrK0ppczNqVkltcExZbE0rY1BnL3ZlV0xSVnVFZ1RpTUdONXlUZ0U0RzBw?=
 =?utf-8?B?VmRMVjJTWlFpYUxYMmVZMFhjRnhaMW9PSEhKZzZiTVJGMEplemc1c3hxNmZV?=
 =?utf-8?B?RW9uTVBwSTc4S2dSaXBNMjFoQkgxckpyb2N5QTNuTm4zK0p1aWVtc2lXMHU5?=
 =?utf-8?B?bWtMUyt0a3VVeEh5QmNvTHJBUVc1QXUxMERPVUdKazg4ZU5INCtmZlROc2FH?=
 =?utf-8?B?SWNMMUNCcGlHRSszM0M4bW1IRWlPWnNuK2NuQVc0WW83UVlUTm1OMm44dDVl?=
 =?utf-8?B?SnAzZWs2OTdMRVRKTFVydEU3RGVZK3hOb2I2VmtxcGlueEc4cHExSFFzeUNT?=
 =?utf-8?B?aGlzNklIWEdQWDFMQnJHSDNiZ1hNYU03b0hybENOVU1Wc2hhWUFYQ1BQQWZo?=
 =?utf-8?B?T1NId2FnNE1sOFBCMlJmVUFQTXNVWmd3K2N1R2k3ODFUV1VwTzJGOGQ4R2xm?=
 =?utf-8?B?djJDL25RcTRxZGkrTzJxK2pzRHZMclY5OWRJSmw2RFM0UzZsWmI1YVRkaWsx?=
 =?utf-8?B?NU54c3ZsdldXeGZwYmF3OEFuYkRpV3ord2JFQ1V6Qmg4MUlHTGpBcXhna0hO?=
 =?utf-8?B?ZVF6MWI0K0VBdFBzd0VzTlg4Y2tmc1MzKytmeWI0d3VQbUZZNHQvakFhVmxw?=
 =?utf-8?B?UWZTa3RybklvdFcycTF4T2VpdFhsMDI0M0MxWnh0UUFrdFA1U1o3Z3o2cXdp?=
 =?utf-8?B?WEk2NmIzS0FmZHRQTHpyQmhpcmU1U2RsbDBSUHhubElKcEZMWWl3WUpHWmpD?=
 =?utf-8?B?OUt0Y21XR09aTmNtOXY3RXI4M05PeWl6L294Sm5TZk9NS1gxSERtQXNXUERL?=
 =?utf-8?B?UFpodHFMc0NEdlNEaVNPZldKM3JEdUNDMGNOUEFMTUZSQ3gzejBMVFc0eHRR?=
 =?utf-8?B?SGV1MXM4eFdzYm1ibjJQdmxLb1NKd0xFNStKcG9Fc0hYRlZMYXppODR2MVRV?=
 =?utf-8?B?ZFp4SlVCYk9veWlYYTI2YXlicDhCVUZmdkN3MW0xTm9HTVNDTytWNEQ0dloz?=
 =?utf-8?B?b1BEamtaa1F4WjhMaitoMlUxdWx3cTBDNC9zOG4wS0E1TTN5aHZDRmpQR0ZB?=
 =?utf-8?B?REFMWnErbDZJczBRTjVlMURkRkIvblM4WWFpVXo3TGtmVGRQWkJ6ZmpIOEUy?=
 =?utf-8?B?NUJKMFUzbWErUUtMSGhjYnpZdWluY1VRL3h2dExHYVNWTDA5ZDRiMklTNFVz?=
 =?utf-8?B?NnJwQ1NBWjFCNVFvVmdsaDEwYmFVL1k0ZmowSzY0VVRCUFljWGhwbExNa1pv?=
 =?utf-8?B?YzBLOWI1ckkyVWRrdGhLSjF0UEpzK2NUQUNBeStJbnIzUS9KbGdXYXpsczVz?=
 =?utf-8?Q?2e0BsNclT9jzJziPniu4ub0b6IDYasf8?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <BA62EDCD6864F9489530329D4505F981@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7805
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM4PEPF00027A67.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8f063845-af9d-48cd-ea36-08dd65fe5c40
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|82310400026|1800799024|36860700013|14060799003|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZzJVanA3SEU1TkYrZVZjN3dqcW1nbk5VWDdaVEU2dzY5amptK2U0UTJiUXhl?=
 =?utf-8?B?KzQ2RDk3eHp0SDJmY2ZwOWFBeU50c1hVdUJHd1hzRkdtbk1hSXJ1aTFPM3pF?=
 =?utf-8?B?UUlRWlovZmZWVldKS3llaDZmcm1MVFBoUWZVbnJjTmNnS2RZeGJaQVY0ak5s?=
 =?utf-8?B?cUQzckRnT1lBOE1tK3lTWHVJclZVNzBZbFJHWTJwYUZ5RUZOM0kzMzhJNE9D?=
 =?utf-8?B?TUR3ejRQbUNQdjNaYktFMTBYRGhhaFhrd09UUnpZSklPM3J5ZG1BS2xwd0JT?=
 =?utf-8?B?UlJTN1dkc0ZNOGtxdVlyUXBmMktYd1R6MVRnZ1NDUDhkVjZ3emZuUGM2RUVI?=
 =?utf-8?B?bDh0OURsWkJwVHNqWTczeC9JMU94ZS8yYnlGa1I1eFAralZ5VzdWVkxyRncr?=
 =?utf-8?B?QVlxR2lRa09ubWdEeUk0RjBrdE9ybEpQcDFsWWZlWjBDdDJEMVFzRnd1MDFT?=
 =?utf-8?B?dlIwRGZLNVR1bnlpckpGZERwU0twN0FxdjhQc1hEWW9LRElvbU9JV1gzRlhL?=
 =?utf-8?B?Mkw3MXphOHUwaVJ3SkozcWRXLzQ2bEZDZ3UxMmIrdzJJRVlaVFlxc0xsc3Ev?=
 =?utf-8?B?b1hYb2RoK0NrQzZ4UW00c2lGeE41RGtqUVVkS0xDWG1Xbk1MRDM1ZjYyZnVR?=
 =?utf-8?B?Yk9ZaXVseTd0bU5rL1IyajRJblRmcktrYlNzcEthaU95R3hNSHM5d3dOMWRK?=
 =?utf-8?B?MHliYk5uekZTRi9ndnlIdkNTdXpYMENtaVpVcThWNDBXSlhsL0ZkelRCZ3R0?=
 =?utf-8?B?RklpR0FRamRWWHNzMjFmVzMyN0FEMWhJNHo5T0JLU0RMaWJoMjNDQngyQnM1?=
 =?utf-8?B?RDJzK0hyeTAyR1FRWTJwbmRYazFWRU5uSzQrYnpjUWxsRURBdXlQMHBLYnlV?=
 =?utf-8?B?eXg5cnlLSzBhQzdiL0xqL291eWdWTzlEL2hwS0txTGsvUy9vaFBYTHVKSlZX?=
 =?utf-8?B?L0hBQnZRRjRPa0pJbkcyVGpDZFBzTnJqZUVsZkRFUytkNHlidmNMSmVteEZ4?=
 =?utf-8?B?OWllb25pYVNHV25hT1JBVzUxY1hCRWpOeDJra0QzUWRrM3hBTDRDTkw1YzZR?=
 =?utf-8?B?cGdhckdpYVVaWk9PZk14c29yWVQyM1B1MG0wL2NhV2pCb2thK2Qvak5oWktm?=
 =?utf-8?B?ODJZck9EbzNGR2ZNTk9PQ3JzMzJaTXBFdWFKSXVsbkFPOVFCZ1p0Ulg2Qk1N?=
 =?utf-8?B?M3VRalNabnVmejFqK0dBa3lFQ3hYQThNb0VVRnVyaW91UEdyNlc4cUVrSmdV?=
 =?utf-8?B?N3M3UytGZGRVSGZnRmhIOWt3VjFDK29xeTBHMmNRNmVENTlBWStaOWNncVZt?=
 =?utf-8?B?KzcrSmZmZ2ZUdDlHc3R0Z0g3WjhyanZjT2dSa3daZ00rMXlYRDJGM3pTbTRX?=
 =?utf-8?B?OEdKSHpQRzBxL2ZFb3dRclM3dGtIaDJlbit1MHdQeHdmUHhJekxoMkFMVmht?=
 =?utf-8?B?YVhmVEY2ZUFkd21iYStmQnRNTUFXRjUrQTdCbzY5alBCUUd0ZkZaNXZnVmY1?=
 =?utf-8?B?dGdTaklWTUhoUE9UQjFoNUJBZ0ZmNENZK1psNkE5MU9xMW5UcUVMRDc4ZE82?=
 =?utf-8?B?bno5UzN5Wkhrc09mVVhpYmE1WUlSQkR5VUVONlRNamJoNmR5YW9EY3lUN2FE?=
 =?utf-8?B?YkpkYkJET0NMREs4YzZRV3hBVXh5aDBvUTJuKzZ2aXpwcmE5Rmp6UG9qeHMr?=
 =?utf-8?B?M1hMc1lyYWlhUFQxOFBiMEdrNHlOL2VKN0FGNCt5RkdMd3BwdGk0L3hWOVFo?=
 =?utf-8?B?MUtObFVkSU9qWXgxZWplNFFha2J6SzJwMzIzM3ZERU5HVjJsNk1VRkJoSmJn?=
 =?utf-8?B?SEl5T3B0L3o1ak90SGVpV0EyS3VBMHJVZlM4czFhaXd1NDJEdTZYRmhpNTl4?=
 =?utf-8?B?RTRtT1JHa2d2NmpLRjhQQVU0RVJKOHNrVUdiMkxKblN2Tk1oaHY4ZnNVZkQr?=
 =?utf-8?B?TUVhUGVTOEVaMUNyRzVzSmJIYzZoY25ESmFXdFEwenZEMGpmaHQ4cnc1U3I2?=
 =?utf-8?Q?iD+zDXQuzZqGwyR3rLY73AYKCt1Bbk=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(82310400026)(1800799024)(36860700013)(14060799003)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2025 09:22:25.5124
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 035dc3cf-50ff-4f4b-f519-08dd65fe6581
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM4PEPF00027A67.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10147

SGkgTWljaGFsLA0KDQo+IE9uIDE4IE1hciAyMDI1LCBhdCAwOTowMCwgTWljaGFsIE9yemVsIDxt
aWNoYWwub3J6ZWxAYW1kLmNvbT4gd3JvdGU6DQo+IA0KPiBXZSBhcmUgbWlzc2luZyBhIHdheSB0
byBkZXRlY3Qgd2hldGhlciBhIHVzZXIgcHJvdmlkZWQgYSB2YWx1ZSBmb3INCj4gbnJfc3BpcyBl
cXVhbCB0byAwIG9yIGRpZCBub3QgcHJvdmlkZSBhbnkgdmFsdWUgKGRlZmF1bHQgaXMgYWxzbyAw
KSB3aGljaA0KPiBjYW4gY2F1c2UgaXNzdWVzIHdoZW4gY2FsY3VsYXRlZCBucl9zcGlzIGlzID4g
MCBhbmQgdGhlIHZhbHVlIGZyb20gZG9tYWluDQo+IGNvbmZpZyBpcyAwLiBGaXggaXQgYnkgc2V0
dGluZyBkZWZhdWx0IHZhbHVlIGZvciBucl9zcGlzIHRvIFVJTlQzMl9NQVgNCj4gKG1heCBzdXBw
b3J0ZWQgbnIgb2YgU1BJcyBpcyA5NjAgYW55d2F5KS4NCj4gDQo+IEZpeGVzOiA1NWQ2MmI4ZDQ2
MzYgKCJ0b29scy9hcm06IFJlamVjdCBjb25maWd1cmF0aW9uIHdpdGggaW5jb3JyZWN0IG5yX3Nw
aXMgdmFsdWUiKQ0KPiBSZXBvcnRlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBh
cm0uY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQu
Y29tPg0KPiAtLS0NCg0KSeKAmXZlIHRlc3RlZCB0aGlzIGZpeCB1c2luZyBvdXIgdGVzdCB0aGF0
IG1vdW50cyBhIHZpcnRpbyBtbWlvIGRpc2sgb24gdGhlIGRvbWFpbiwNCmV2ZXJ5dGhpbmcgd29y
a3MgZmluZS4NCg0KVGVzdGVkLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5j
b20+DQpSZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0K
DQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:28:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:28:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918812.1323441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuTEw-0007O3-No; Tue, 18 Mar 2025 09:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918812.1323441; Tue, 18 Mar 2025 09: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 1tuTEw-0007Nw-Kn; Tue, 18 Mar 2025 09:28:02 +0000
Received: by outflank-mailman (input) for mailman id 918812;
 Tue, 18 Mar 2025 09:28: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=Pdr/=WF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tuTEw-0007Nq-8Q
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:28:02 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2418::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47efe73c-03db-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 10:28:00 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CY8PR12MB7219.namprd12.prod.outlook.com (2603:10b6:930:59::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 09:27:56 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 09:27: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: 47efe73c-03db-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=X8RYZ5amA9mGjRBgJ8hUVmaCNRrv4smOh8k8TQQrnIjzfylBvc74G61wbo4FEVz8cnmpF+UHEzAN5fpuKOLABVbCY+nGWrVjnqv/VLunrVEgwVkgCydK1Ba7h1Opubni8Onf/T198X8dkV68SAcCuq5KEfQxqRACDMb5r57CdGmyja5rRv5wM0WBPEs+XH/a4C+hvHUZbIOmUQZ92yFOjlOxg3jSCZ1v6ocu+2kkRYUZOsYCj3VxX9h7JpMB1jy49EL9NI0ePXeohCVEBYvV0u6gC3Vc6RYFVmo4a9a1DFz4Ly/JbSnueL9BkYqP6Q5JVrPhscUaOq3vp7grQgUVrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/O7wNlFPGsEwsaISIMFyI9Ge35oFGmJaziUpVlM1f8=;
 b=JqiaIeG52ltBzjTfe0lwZouuWghucrtJ/iGK7w6H9lBlsHX/C3JYuE8zuqAo9JEq600lKDQUsJmxKg8KbI7QeSwMpCqDoGIg+xRrb04ETjb+MRW8ShXpfAH3v/SU0oivijoSEutP7zxbxe1F7x9ROF7n9JBAMRbyyUcfmyRZGh0ekIfhG7he6CRCES5hqnkpuA1cjdLEKUCuYykvWQ3pAIg8h2cfXJDIs9qHl8RlVJCBau/KUOA+cYtF0F3omyLoQtbJTt+S2uROx/d/admvRHexaM/2RO80VMyScHTjTGGIni7pcgsCBnu0DOExVOPF/+CxFKhDTXoIAj8bxQUd3A==
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=T/O7wNlFPGsEwsaISIMFyI9Ge35oFGmJaziUpVlM1f8=;
 b=oa4BTfAeN96qACjFXX4ydAoGmfIDK5WEn16RuBvWxm0dglJp7N7vYgdwDkH5/D/LE+2Ub9IEXG1cWXOFDs6dzILxsZSOrKUHQW1x4qEZ28o53ZC0CKeEhnf76b/PKBweg3HjxaVfXHwY3sGo8QspWHv++rkfs1WWUwryQekB6yE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <81247bbd-8071-4dab-9a82-1a6eb0738625@amd.com>
Date: Tue, 18 Mar 2025 10:27:52 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/7] arm/mpu: Create the skeleton for MPU compilation
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-8-luca.fancellu@arm.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250317200727.798696-8-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0369.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f8::9) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CY8PR12MB7219:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c2a77a1-c852-406e-47b4-08dd65ff2a7d
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?NVdVUWM4N1c4bGljTFB4VlYrelVtYVpPZ2g3US9ERHpKelZLNmRkaU5XTi81?=
 =?utf-8?B?UlZoc3hCQkExRmJ0UHBwMkhtL2ZYcUVyYzZxUFRqbWdHTkhiNzhBQUt4eWVZ?=
 =?utf-8?B?VjVVZXhDbDU0ZlAxeGlwVktKUWx5ejBOdmdzbG53K1R0UnZ1cm9rbElHS3pQ?=
 =?utf-8?B?Q2N0dzBuWFFKVFdRNWNOS25vbi9ja2lMRWloMFZnbG8xc09iT255SjVyeHdF?=
 =?utf-8?B?UXhGNy9zMzBaNjNLN1lTQ1kxbWgvdkFoUThHeEZGc0VCUjB2QjNTRzdselpt?=
 =?utf-8?B?WEwyR082NE41MWJvd0ZocHNiYmd5ZFBIcWVWcG9PbzR4WnBlN3YxSkl0QzBS?=
 =?utf-8?B?VFYrVndJZ0MvN2c5UUljTWZyWGFmdGVrN2NERXpMM0c4bm5CNnVVU3lOMDhO?=
 =?utf-8?B?MEczeUFFekFZZWZoMnBZUkFqMlF1UFVEbnlqRVJ1OUpVQ3pSZFNwZ3lGTkpN?=
 =?utf-8?B?U0c1NXhnUWFUTWtvbkVTRkRhQ0FjOEJoRFArbG5xLzJFQmFNZDYrdnpTSkFD?=
 =?utf-8?B?aHFjV3p4SW1vUERrSUJUNDZBaGFIMHNuL0VDa2hxS2RwaWVVWWJPcTdaaHZw?=
 =?utf-8?B?R2hHblN5ZXdlb2ZqWDJadHZDYUlOR2RWYkpleHF6am1KRGRDMUZEZHFGbVBM?=
 =?utf-8?B?MG41V0ZXdHF0MWlZaXg4ZXFmMkdma2pOdFRZcVhlTTkyVDV2T2oycFJNV3V5?=
 =?utf-8?B?TlVqV1Z5ZXZBRlhkVHNXVTZvZmVLQ0xqaC8xY05qWmpRYTk4ZVNsNE5ETG1U?=
 =?utf-8?B?NjVWTmpkS1hQVkgrNUltOFEwYlpQYWg0Z090Y0lrKyt2eU5wSU81NU9STWlB?=
 =?utf-8?B?T3hVR01Gb01sbm1YbWZPTmcyV2VtZGx2Zm9aWkY2WXlPTDhPS1Vtd0hWQjhv?=
 =?utf-8?B?dTNEaGUxYUQ3S0JaUGhPeUZwdTA2VkMzRGplNHBMclhkNFloa2lQUEZrck9R?=
 =?utf-8?B?dEtmTEtPR0tsVWl1YmNPbFlZMXA1MjFBU2FGTUR0VWt5VDJOK0drc2RzRUtI?=
 =?utf-8?B?ZVRtaUNNUnRJWG1jRlU0Q1M4Y01icVg2ak4wU0VsZ0hKRlFCcFZuWFFocFFL?=
 =?utf-8?B?YWJxT01PUzNPZmMwNzhJYk1vV0pzeEpoQVVXR2YrQmdnZ3JJT2RVb0RBL2Zk?=
 =?utf-8?B?V0R3dmFGbTlHNGJaNGU5alhrZ2d2WEhRdHhJZGlJQlBBb2JrMlNzVUpkYkRX?=
 =?utf-8?B?ZnlKbXR1QU1Ka0h0ZnVBVDFGMmovV3lnQjRJZmtWaWJHYlJFL1dLbzVaWUY0?=
 =?utf-8?B?SnBJNlVsUXZLZ2oyU1lWSzltSlViWjBCa2VGUEI1dElPMEQybi9HUXRDMEl6?=
 =?utf-8?B?aE5HOVpzYm5HQ2JjNXJqWDl2Ymk4andReS9zSW9adk1jQUhpR29rbXFoQU5H?=
 =?utf-8?B?OEdtUmNPVkRGNTFNZWpHa09wYkxFMjY3cHQyTkZvdzFLN21vemlYVUJiRnZG?=
 =?utf-8?B?WmxEODZwM3FOMmczSWY1VEI2NUpvTG8wMUtSaWQ0U0ZkaU5rbFRoSlloUnkz?=
 =?utf-8?B?dWNUWGNyeXB4MytKMmVxYTlpWjZFdStpU3NYaUNFRkx3TllMaHlDdzN6UjJ3?=
 =?utf-8?B?S0FmNDV2eklHQ1lPRmVEU3NRcHlQSXZXZU1WQkpsTTAwUENYRS8xZVo3TVlG?=
 =?utf-8?B?bXIzQlhTbGpLSWJTaEdPYzFhMkN2RUVwcjd2bWlQM2ZOc2xKNjRSdHI5U1h5?=
 =?utf-8?B?VTBBT2RrTjBEdHF3Sjl2QWlOYWhkV1NZaW1LMW1ENzVCbjhDSFZzVmlUN1BX?=
 =?utf-8?B?Q0pRUXpCUVJxWWpscHBTSDAvMVVpbHVWeU9XbysyMzVDcU5zS1RwQi9DOVJN?=
 =?utf-8?B?VHEvdFp5NDE1SW1uZ0VRbFZFTXNoanl5VExaOEhVamR2ak1vOWk5c0dwUHVU?=
 =?utf-8?Q?c/r85U4EVTcnj?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?WVFCR256TEEwOXpwREs1TURvV25rMTZLaWxRTml6N2FadUNGMWdtMlowaTBC?=
 =?utf-8?B?UVlaU2V0clZ5UjVkY3M4RjZ2eTk2VDNFWnhBWTlVT2g4YnNwQUNTa1N5YXpO?=
 =?utf-8?B?ZllQTmNGYVNiNGdIaHdzdmtiZ3ljNUlyUG1ZUHdWNjdwOHl1LyttR0w5R21o?=
 =?utf-8?B?RjU0WDVhWG10OFlEbUtsSHE2ZW83bU43bUpIN1pac1lPL08rcVU5ZmxVb1BQ?=
 =?utf-8?B?dnkwSEI4Rm9FODVnck15YWpmbm5WNDNSRzhrK2RWVkR5VVFLTzRZV3huNGU4?=
 =?utf-8?B?anYxZlFXWXBnZjBIb2xTeU9NRlVRK2g0c1NZL2pkOTh3Q3BQL0M0RE5kUy8w?=
 =?utf-8?B?dVJBRkZuRGJhSy9Ebmo5TTBhSlAwZUp6UHBpV1IxaVpKQjVXenBlZCtSTXJU?=
 =?utf-8?B?TnZvRzZBQjJMdGJNTjFwTlNIMnZpSlk2czBYekRvL3V0MHc0MEZtUTBBaW1h?=
 =?utf-8?B?MGk1S2NaTnlqNGdmWjlMZ3FrRVZOTk9tVVRxbWd1Qnl5TlZPdE5pV0JCZGV0?=
 =?utf-8?B?V1BDOUR2Y2RvNXlRZklGZXEwYlZkTDlLOTVwTlV2Q3QwVXFzdWZ0N2RNbUV4?=
 =?utf-8?B?azZoVGNBbmI5ZCtxZnlVY2JwTjdFdm02QWJMbVg5R2UzOEo5N1hMZkUvQ3lt?=
 =?utf-8?B?bm1CRTVUcVFBNGJvaUpKNGdGQkl4VlZHd244NTF6WEwweCtlaFBNRE51L1kv?=
 =?utf-8?B?Q0toY291UjY5TGgxTmp4S0hVRDFpODRFcEpIOXpOZWl6cXpreEY0UEJ6TnV4?=
 =?utf-8?B?UFJicjNBTVd5UTZhR0hUdmtlVEp0UkxxWkI5bENKRjlqcXEvYjRuT2ovdVBB?=
 =?utf-8?B?OWpaRGs1TWRrc1V4V1JPRjNVTjJuSENsTEpSbWtMTkVHTmxvSzh6TTNlWU14?=
 =?utf-8?B?bzlHRGVLV0ZRREZ5M2QvVWQwbzZ2WFJBbU1kSWZOZ01vMlpic0V2dDlQOWZp?=
 =?utf-8?B?c0JlMVlTQnBWMy9GUUNGOTh0TEc4K2xpN3daSlNWYTUxcTZNZGpTTjhPQ0VN?=
 =?utf-8?B?eFlUMCtmNjYrRnpMdDJTb2VocHBWY3BDOGRpVEFRc0tKa0lJUXE3ZlhxdE9B?=
 =?utf-8?B?WTdvY0VFVG5TOWRtUUNkMEVkQUhWT2g0aWxSelNjY0NWWmNiUitRYUREVFhs?=
 =?utf-8?B?VGJEdjFac3RBNmdyT2k0VEo4SW9tem5yQ2pqaDY5ckY1SE9iZWVCQnFYamhy?=
 =?utf-8?B?YTgrVjJWQ0dIR2JXN0w4bUhjU3JFWjRldWlWS3UzZFE4YUozTElyYU1XM1ds?=
 =?utf-8?B?QkF5SWNYa3NTWkNoWjc4NFhCQTRqT2J6eXowekYyaFlyMG1WdFFPU3hTK1Yw?=
 =?utf-8?B?MWtlYWJ3RjBJZk5uM2paQUNRbDZzWFZxMjFaa2FsY2hmRjBNMU8vUXV0RlpI?=
 =?utf-8?B?SU5CWXdjaGswcE1tS0VzYUFrcFhEUHhiK3cyT0dJQW9VWklZVHIvcGthK2pt?=
 =?utf-8?B?TVJ0VUN2Q2dEdlJtdk94T2FUaC9MbVlGUjYyVkJNSStJTXdFQU1xMis3RlMx?=
 =?utf-8?B?OUNJbG9wSFEvdUFhQkd3VzNKOGd5MFhvTFFlQTlWMG8zQ2JVcHdOdzc0QUJk?=
 =?utf-8?B?bFRhaVVFT1JTNTRsRUxkSWVuR1cwV1E0SGhENkdSd3Y1Zlo1amhiL25udExP?=
 =?utf-8?B?K21UOGdUQnN1L242SnlKZjJXbWtVZW95ZEV4emdwazhxMTlnV2JETk5ZUW5O?=
 =?utf-8?B?RVhSdW93a055b2JaRUNGc2UxQ2xadFRCYVFiUlp4NERnRzFFdlZpdDdkUGNy?=
 =?utf-8?B?ZzhRRzZ3ckxwUHBNVTdxVFVRNXFlVkpBeHVTdWRsVUpnM2dxNHVxVFJVb2g4?=
 =?utf-8?B?N3JjRGdXZmpPb2cwTmU4YTJwVThlakJYczBKc014NjFQdWxNVnVwV3JQQ3dz?=
 =?utf-8?B?KzdUdDJ6OUNLVFpUSkN1OGcvUWFBZTJPTlB3OHBxOGFMVHAvKy93eVV1MEJo?=
 =?utf-8?B?eFpUNWg1RjJKQW1EbHJNcCtoQW51cmlLSHNtbnVudm5KUFNiWmJmUDBDUHJG?=
 =?utf-8?B?V1ZvR2oyVUZqMndXWEhyYzZmZndkZ3dsRjNqOGVMRlA3VG94VEJHZlEvUkFN?=
 =?utf-8?B?dmRReTU1NDFrQ2pwMFVEL09jM0djS1A0cEdkSHdlV1FaaEMzcXdlR3ZNMU9B?=
 =?utf-8?Q?b8oK+QepPmLWhp6fTSXYX0aoh?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c2a77a1-c852-406e-47b4-08dd65ff2a7d
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2025 09:27:56.2559
 (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: QqLy3xbclwIzUjdigfuagE6QYbemzDCGUzPkWbMMpPx606pN43wGcKPZ9rTs/RlB
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7219



On 17/03/2025 21:07, Luca Fancellu wrote:
> 
> 
> This commit introduces the skeleton for the MPU memory management
> subsystem that allows the compilation on Arm64.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:44:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:44:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918823.1323452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuTUJ-0004Ia-WD; Tue, 18 Mar 2025 09:43:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918823.1323452; Tue, 18 Mar 2025 09:43: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 1tuTUJ-0004IT-SW; Tue, 18 Mar 2025 09:43:55 +0000
Received: by outflank-mailman (input) for mailman id 918823;
 Tue, 18 Mar 2025 09:43: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuTUJ-0004IL-1r
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:43:55 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d7d292f-03dd-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 10:43:48 +0100 (CET)
Received: by mail-pj1-x1029.google.com with SMTP id
 98e67ed59e1d1-2ff4a4f901fso4849459a91.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:43:48 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-301535345f3sm7724009a91.24.2025.03.18.02.43.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:43: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: 7d7d292f-03dd-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742291027; x=1742895827; darn=lists.xenproject.org;
        h=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=bxUWTN3QSyfO8lCh4jUi44FywSqT7ElCaogS4t3n/iY=;
        b=UAl6iMC8tDgRNN4qs4n8gxwnKA+nxAfHF9XGoJovY0J2NMzM9GuaCpAvUIjXqk2nwr
         nX0tljSMFCcIFUof/+0ydeORzokGCTbtD9HATKB+OelNELXISwNnBPdJhMMV5o0wxQVl
         MaUnfDdLQ03veVTB6+prZoF5LkJ1gZplCfYbg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742291027; x=1742895827;
        h=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=bxUWTN3QSyfO8lCh4jUi44FywSqT7ElCaogS4t3n/iY=;
        b=VQnVY0ihZHhaVi90c2mqiRH34pakXtrQuMpmx4xhoh+jMI1EMZ4uKJh5IyxFR60S4Q
         9OcCaKfaFzduC1Td0yN3CNCVXVCfSUSvjudtHrU1fzweRNaQdJXAsWUVUMEkIgc7rNO9
         isfcKMJJKLldQcouSF+dmyye5P3lA8G7+pu7u2a68rmLZQeHp72lhGks8AwaimHl7Qsl
         MNrnflfobC3VI/EMgQZBvhC+xtiH3uMv4POcLBe4AACTbqLKY3VmaZleEhWq39xEMEVH
         Nllpg2DEH8trMS/4GDC2kT+sAsqBKq4m7G4f2cBBYXz0MBMq96o4QAbUGyEJGMH0xe0E
         kH6w==
X-Gm-Message-State: AOJu0Yxe1KIVfB2PunfXmtrFV1dao0AFGT3jZnpLmVI1kHd2qLoo1IY7
	RvIczqeP86zsACYGIZ3O92Dl8mhbpoEHXPdmRnZTzcafI8puqdvv6HWhoU8DtQY=
X-Gm-Gg: ASbGncuNw7sqo1XUghDYLbdgNnqmSUOoWXkA6JLNaaU6ESUUdOyLSVM7fwsRFsHnzCH
	+3BkBy3GHs9pn7Z8Qav5Y5x/x9EMGOG5dISLpiglD/xYCnEGTwaZkDn62J+MLQM/Ofouuz4Ntr2
	xfTXjTcnBnFRwu4BI+lV/Bf79bVAf9O1nBRIS5OF+WBgx80I1IxJtjabEi9smJ2BXKZrsVWNkVB
	1723ihwzGMd19564W684P4jXJxr4FD+hTjEeoXEQFZenMTXLiHM/9BI3DO7Iyus+4rJ8ze7rGoU
	iqUy2AolZdfxW7JZ9fwcUBL1FzCYOQgJwnyCdO9Y3y8sPsnLr1eFVMY=
X-Google-Smtp-Source: AGHT+IF9q8uh8dCAcjYCSBJ1Wke/ODx5qqQeXjDU0WMEObcSb04bvY5uoMN1TUXiXTx0WmD/mq73iA==
X-Received: by 2002:a17:90b:1d45:b0:2fe:861b:1ae3 with SMTP id 98e67ed59e1d1-301a5b12641mr2552784a91.8.1742291027022;
        Tue, 18 Mar 2025 02:43:47 -0700 (PDT)
Date: Tue, 18 Mar 2025 10:43:41 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
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>
Subject: Re: [PATCH 5/8] automation/cirrus-ci: build XTF
Message-ID: <Z9lATTsqPCLw_hHG@macbook.local>
References: <20250317121616.40687-1-roger.pau@citrix.com>
 <20250317121616.40687-6-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2503171706570.3477110@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2503171706570.3477110@ubuntu-linux-20-04-desktop>

On Mon, Mar 17, 2025 at 05:07:22PM -0700, Stefano Stabellini wrote:
> On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> > In preparation for using the XTF selftests to smoke test the FreeBSD based
> > Xen builds.
> > 
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > ---
> > I've used the current version of FreeBSD to build XTF, but it might be
> > safer to use the latest production (release) version instead.
> 
> Yes, I think so, especially as the latest is a rolling distro?

Kind of - it's even weirder, as part of the libraries are bundled with
the FreeBSD base system (together with the kernel).  When using current
there could be a window where the packages are built against stale
libraries, because the ones in base have been updated, but the
packages haven't been rebuilt yet.

I will switch to use the last production release.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:45:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:45:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918834.1323462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuTWE-0004p0-9D; Tue, 18 Mar 2025 09:45:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918834.1323462; Tue, 18 Mar 2025 09:45: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 1tuTWE-0004ot-6O; Tue, 18 Mar 2025 09:45:54 +0000
Received: by outflank-mailman (input) for mailman id 918834;
 Tue, 18 Mar 2025 09:45: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuTWD-0004oc-Ae
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:45:53 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c779cddd-03dd-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 10:45:52 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-22580c9ee0aso92462885ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:45:52 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6ba6a08sm89745875ad.154.2025.03.18.02.45.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:45: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: c779cddd-03dd-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742291151; x=1742895951; darn=lists.xenproject.org;
        h=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=kcJfDp1kubcY99CAFEQZKIb2NzMfq+WAAe4yqKYHOCc=;
        b=RnkXSIZhxawmSxZ/bMfWDcoCSbnwBu+EUfjsGKuJ64Ukv5DZTmJFWY9rfKkiYRG1VD
         hljFuvjMu3jcgAmOIrrxUwPulaKKr8q1gh4yb3Tfe+4gJl051JZe6s0ziw06XbL0wOAl
         ZaaVIlUgRiDbwUiUa66fQRgyJOiQykvFrQ+/E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742291151; x=1742895951;
        h=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=kcJfDp1kubcY99CAFEQZKIb2NzMfq+WAAe4yqKYHOCc=;
        b=CbKtGo55fw04Bq1uAJnLjGpus16dPZcDofhpFuP/kzQdgCui+t1VIfLMRJfFyLT2Ch
         HGvM1PJA6g1ux38F7ntu0/GRQd7AjrU2WchWF5bjJv9oR11e9JBQcPMWd8n5LpfKhWxD
         5d8zIAZJ9uIVnN+mNxgAZ6Gz3wzEIykJnA2sXjXwpxpKJKnVGe6jv++kQxFe7bbD59Nf
         LqPE2pTWz0zFJUEVAXCAbLQwl0GCjs8NCcKRQ1yEPo7nwkkhWvso+4uZEwuyC667ZoG5
         Pgvgt74e3JxeJzKY+Y5aaPo6NSKEGx9MbSTAryQB2mEkyfDTiIwE7rZvCjHph8pZguaJ
         kzfg==
X-Gm-Message-State: AOJu0YyFS06BzYmlPNdMxyKM9euLSzQRjW35bzDELsA4rwYBvJdBrLiw
	6pLPAwf+jNp26Aum0mfFmLEy8rfwCTyZTJ6atDbgIQqmiGDa/pqydvcYsdkTCyo=
X-Gm-Gg: ASbGncuKbj3gKxLgaxejEbGbPBv45JU4K+Iwtx0FE/tNhjOXX3YS/btXn2A2NvDDdyL
	a0DY8/LtgqsZvHzHR+u/yrGLXwGmkBfPOJYwGYQ7YYPYytcCHSnRIIk2e3E6R8Bz2qFcX1IrPgH
	eKEQbzgJ+69yh5pjrzWpMGKnGg9cfni7RXqU1C3X46RZWd7+osVHU43rsw4ZD1cTEbhqukxSUOn
	ehGkxaumHu3odWH0ygbMVEwWln3ms1IXpwptMUcD0oGWxgLFhbZxLBai46sEAXDKaB6F4htUJM4
	kHI1peUJZ2WPeC/dF/S2Kj+5sZD+8NpKZ2qWPquTKrdy1wn386vhFIscyTan3/j/KQ==
X-Google-Smtp-Source: AGHT+IHMCrjVI4/vxH0M4gpQacxLSnTx/w+Szvmxya4Gremt9U+7HyFU4Dxy1/3nFa3sL7LvgQeClw==
X-Received: by 2002:a17:903:1b27:b0:224:5b4:b3b9 with SMTP id d9443c01a7336-225e0af57d2mr181181745ad.33.1742291151114;
        Tue, 18 Mar 2025 02:45:51 -0700 (PDT)
Date: Tue, 18 Mar 2025 10:45:46 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 7/8] automation/console.exp: do not assume expect is
 always at /usr/bin/
Message-ID: <Z9lAylFTyLA5SIzU@macbook.local>
References: <20250317121616.40687-1-roger.pau@citrix.com>
 <20250317121616.40687-8-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2503171647450.3477110@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2503171647450.3477110@ubuntu-linux-20-04-desktop>

On Mon, Mar 17, 2025 at 04:48:05PM -0700, Stefano Stabellini wrote:
> On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> > Instead use env to find the location of expect.
> > 
> > Additionally do not use the -f flag, as it's only meaningful when passing
> > arguments on the command line, which we never do for console.exp.  From the
> > expect 5.45.4 man page:
> > 
> > > The -f flag prefaces a file from which to read commands from.  The flag
> > > itself is optional as it is only useful when using the #! notation (see
> > > above), so  that other arguments may be supplied on the command line.
> > 
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Do you have a link to a successful Gitlab and Cirrus CI?

Yes.  They are here:

https://cirrus-ci.com/build/4981406134173696
https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1719913362

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 09:48:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 09:48:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918845.1323472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuTYL-0005PS-Km; Tue, 18 Mar 2025 09:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918845.1323472; Tue, 18 Mar 2025 09: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 1tuTYL-0005PL-Gw; Tue, 18 Mar 2025 09:48:05 +0000
Received: by outflank-mailman (input) for mailman id 918845;
 Tue, 18 Mar 2025 09: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuTYK-0005PD-Ij
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 09:48:04 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14f0756b-03de-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 10:48:02 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-225b5448519so100068065ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 02:48:02 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6bbe771sm90231275ad.186.2025.03.18.02.47.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 02:48: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: 14f0756b-03de-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742291281; x=1742896081; darn=lists.xenproject.org;
        h=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=fdcUEyAX0rb/OD+Y5h1IpeqQ9dAZ73cbGc1KKaed2gU=;
        b=nefR122Z090BUV0Bg/U2dTTi9U8PSn2ocn56CqWqO4pX+eaQu69h1UpH8ku6OspgWQ
         9YMXyTMC5c3iyjZlEE9hOV5FHzig5cFSm6/1fO8IFzOBdAM9lUFkc9RQjECxP4SxvuXV
         juQEPIRCUDmAlgFc3Lgaa5aHRdDUC6CHn1NYw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742291281; x=1742896081;
        h=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=fdcUEyAX0rb/OD+Y5h1IpeqQ9dAZ73cbGc1KKaed2gU=;
        b=o3tUkv//CJI2AX7UB4mm7K4xzlKlEoB5lJxdRiz7nNhh0BpY/R1IxwP1l88ZDQDbAh
         COk3HL92qg/DPJDHA2UqXMANuITkXEQYdoI436sLaNfehrYMdoGcDPNEdMsCZihOJ+9A
         w9rcRPIry8tqfiWdIWOtWqhMauArWo79OMmbdDgNSz6S8pFtmgZDTZjmgaAUhq7jw4Tz
         CJ53S1ic/9bz1Vio07wFW3ue1eNZ3OX5Rige1rTmi6rOdHXUIUztf3Uz4RJUxkWbBjui
         BE36K91mcwW1Z04uzEYs7QwiuF2bZ50F2gNrRmi+zKaQeDa9rFXRrMnlDMZ16sFa2Nht
         8+wA==
X-Gm-Message-State: AOJu0YwOq/hZW/HhqSuvMsl6jkPhuB/UCg9uar4RAET8StdClDWjD78+
	as2bFut5QVycMAQBGYpzgRSgEAbBJ0ezjp63XzO0WUCQVYtjX5qwsuCI7JU/nRE=
X-Gm-Gg: ASbGncsywyZwtqNVRL4Prcrw+Kc8+BWWkpDz2fMhvtzESNOZtYTesl/lAWuObvgzqmF
	a7hpAwdJBzcoYuX7yGSgUySKp5lfodz6nS+HXVAXD1U9MvG/UfwzhLOwMxUcLSRt4FtkqJK5Q3x
	yOKFvIUF/eInPADM8TzZLF/05GuaZ2rRBWP7N+27M6KMkXX921IqmKBtvSLJNo6ApPOFEN4X668
	e3Flx0xOfcz2KGlBnuziO981J1T3sBGjYslitloQCz8qvhGFLBHL+/l9UZeFzWBFkWia0Ld8auC
	fZx/sm+RrfvLZLsWGJ7zosqbsubOO74tKpMxWjlSB0J6OrQJGqwJWWw=
X-Google-Smtp-Source: AGHT+IFTRBU6RaQa/nxXXzoI7eaFRG9KULOaOjnta0Zvly3+mXgayq2wc6qFnI15GqHzjLGS8mdBVA==
X-Received: by 2002:a17:903:fa6:b0:224:194c:694c with SMTP id d9443c01a7336-225e0a8f166mr199582625ad.28.1742291281186;
        Tue, 18 Mar 2025 02:48:01 -0700 (PDT)
Date: Tue, 18 Mar 2025 10:47:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: Re: [PATCH 8/8] automation/cirrus-ci: add smoke tests for the
 FreeBSD builds
Message-ID: <Z9lBTCXN_Jb1XsSh@macbook.local>
References: <20250317121616.40687-1-roger.pau@citrix.com>
 <20250317121616.40687-9-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2503171708070.3477110@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2503171708070.3477110@ubuntu-linux-20-04-desktop>

On Mon, Mar 17, 2025 at 05:09:25PM -0700, Stefano Stabellini wrote:
> On Mon, 17 Mar 2025, Roger Pau Monne wrote:
> > Introduce a basic set of smoke tests using the XTF selftest image, and run
> > them on QEMU.  Use the matrix keyword to create a different task for each
> > XTF flavor on each FreeBSD build.
> > 
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > ---
> > I've used the current version of FreeBSD to run the tests, but it might be
> > safer to use the latest production (release) version instead.
> 
> It is better to avoid using "current" (I called it "latest" in my
> previous email) if it is rolling. Otherwise, it is OK.

Yes, will adjust to use production instead of current and resend the
tail of the series.

> Other than that, it is great.

Thanks.  Afterwards I would like to add a specific UBSAN enabled
build, and do some more testing with it.  I found clang UBSAN more
complete than gcc (specially with the UB pointer arithmetic checks).

Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 10:11:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 10:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918858.1323481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuTvC-0003zo-CS; Tue, 18 Mar 2025 10:11:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918858.1323481; Tue, 18 Mar 2025 10:11: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 1tuTvC-0003zh-9s; Tue, 18 Mar 2025 10:11:42 +0000
Received: by outflank-mailman (input) for mailman id 918858;
 Tue, 18 Mar 2025 10:11: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuTvB-0003zb-1s
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 10:11:41 +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 617deb74-03e1-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 11:11:38 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-390effd3e85so4460490f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 03:11: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-395c8975d65sm17934940f8f.56.2025.03.18.03.11.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 03:11: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: 617deb74-03e1-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742292698; x=1742897498; 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=lwwA8y9jAIBDcAKCb9oxdke4CzWiyLLSZ1xSf66cJ/Q=;
        b=AkZh7Ls5SciHVlps537PHIQatIulPYjucIrwBvQRtK7N2qF/sTSgW955yDMjQzTAY9
         JKpGQ75o/3F+cVZzJClkRuyKFH7mFyK4l2qnW9Mb8NIVkFeTbSgUQP4TTEOGrcHRLxNC
         m7VmkEaA9tZKIOZ9VcUjWAcwnbyyNcWbyVQM18+OeYMBOHbBqS+J3EW88HOHo23itZPa
         rQ1wKyRpDcIklOaSQDDDyNBXCHFnPZh4yfo9sFmdTrAL8RcjEPhgRznuMlsF/0tUNLEB
         y7zRjTouBzc7KTcPpJigqz+rwO0StCc3ntms2jlKuDgjyWROMvEY7A8WlF0vIzfOZvLd
         r2ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742292698; x=1742897498;
        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=lwwA8y9jAIBDcAKCb9oxdke4CzWiyLLSZ1xSf66cJ/Q=;
        b=xPeZbutg74ipMi5xBsuaO/UA5Fjfc0EPaeE0XKYrnIKVJuRb9xqrVZe2MvDL+74jxn
         0bbEIEsIU8m4fjmoDPXrdqesekDASj5fA/vHCnItNPf6Bx6pKtfoOXuQRN07e/GJlth/
         7dmF8ypAVygm5gbGFiC0sF1vEqTPB/2fDdI0gHIfLEljgPro/o2y2ueZbLrYlemwfg0q
         G10x+oB5zCoyPLi/XYU/dbwigQj7ma+MpHhNwiX9zS92Vbycrl9xNraN/pGebc0mXh7G
         j34lt6GmqpjEw3balVXPsuuMw3C6mBNVyjIzXmpKRMgsFkjbXMEM7O9Joui9uJC99lqz
         +LVQ==
X-Forwarded-Encrypted: i=1; AJvYcCViOTIc4WTc51L6/SaBvDyLFv997kxvesVpWhQRKGWenOEIeELcd6qu/WHH658t8M4I4WDEu6cYjCQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YycISG58gZDzrn/C7dJ0Kwb4BgSI6cWIz2FfldzPufotBnwPvTT
	7Bnf/Co+k+yhkOPXnpLh9sNnIP4jXxih0Xh+7cza2J3jGRQ9g2RT7OELIQfR1w==
X-Gm-Gg: ASbGnct8RfPxjwCKNq5yfzYeDcVcUhpNqHAjnIQQyKZNlujZOzZRp7ASZeJjSdsQ6hi
	g9owbUwsTTS9vVuHT5Xqe8yqvHeMwUZjhoNzKOkkM9JoHN2qx9CtoMzThP8CgKndCxvrqrfaCFG
	Vlw+UzwkYJq62WPJBHmlt/ksi/+IdBnYfdD37j+IcGB5wubwhThhImH2Zo19urj3khTPTeRbQSr
	xVFTTHYEVrw1Q6NNo47cGnSnbHeas+dR3736M77T9vl3cqMEqux5fjN8ifwdSx3AS9VIjFFIV1j
	ZGAJ5sAFIkTZJ7aoQvUlOh9scql8EQ2LrUH5A8mUkEUfI5H+qFmiukpEkj61yIwVbUj8j9q5Fby
	l+Q6kDtrn6hW/wHsKtW/Vgsw8evSZzj6Yc+h5LFVY
X-Google-Smtp-Source: AGHT+IHwmRvb8372as5Tc4px0qUe/xWTHa8oOlYRt7Xn/aBXAEClP8FL+IlHNNSSSf+Lz9+FsgUKDQ==
X-Received: by 2002:a5d:6c63:0:b0:391:4bf2:6f0d with SMTP id ffacd0b85a97d-3971fdc6e1bmr12551466f8f.52.1742292698224;
        Tue, 18 Mar 2025 03:11:38 -0700 (PDT)
Message-ID: <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
Date: Tue, 18 Mar 2025 11:11:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@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: <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 10:10, Mykyta Poturai wrote:
> On 15.01.24 11:35, Jan Beulich wrote:
>> On 14.01.2024 11:01, Mykyta Poturai wrote:
>>> --- a/xen/include/public/hvm/dm_op.h
>>> +++ b/xen/include/public/hvm/dm_op.h
>>> @@ -444,6 +444,17 @@ struct xen_dm_op_nr_vcpus {
>>>   };
>>>   typedef struct xen_dm_op_nr_vcpus xen_dm_op_nr_vcpus_t;
>>>   
>>> +#define XEN_DMOP_inject_msi2 21
>>> +#define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>>> +
>>> +struct xen_dm_op_inject_msi2 {
>>> +    uint64_aligned_t addr;
>>> +    uint32_t data;
>>> +    uint32_t source_id; /* PCI SBDF */
>>
>> Since the comment says SBDF (not BDF), how are multiple segments handled
>> here? At least on x86 (VT-d and V-i) source IDs are only 16 bits iirc,
>> and are local to the respective segment. It would feel wrong to use a
>> 32-bit quantity there; IOW I'd rather see this as being two 16-bit fields
>> (segment and source_id).
> 
> I'm planning on resuming this series in the near future and want to 
> clarify the DM op interface.
> 
> Wouldn't it be better to keep things consistent and use 
> XEN_DMOP_PCI_SBDF as it's done in xen_dm_op_ioreq_server_range? Also 
> with this, the value can be easily casted to pci_sbdf_t later and split 
> to segment and BDF if needed.

The essence of my earlier comment is: Naming, contents, and comments need
to be in sync.

I question though that "casting to pci_sbdf_t" is technically possible.
Nor am I convinced that it would be desirable to do so if it was possible
(or if "casting" was intended to mean something else than what this is in
C). See my recent comments on some of Andrii's patches [1][2].

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01294.html
[2] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01301.html


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 10:15:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 10:15:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918878.1323492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuTyS-0004j0-Ug; Tue, 18 Mar 2025 10:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918878.1323492; Tue, 18 Mar 2025 10: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 1tuTyS-0004it-Ri; Tue, 18 Mar 2025 10:15:04 +0000
Received: by outflank-mailman (input) for mailman id 918878;
 Tue, 18 Mar 2025 10:15: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuTyQ-0004il-QA
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 10:15:02 +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 da425506-03e1-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 11:15:01 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso20166235e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 03:15: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-43d1ffbcef5sm129356725e9.9.2025.03.18.03.15.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 03:15: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: da425506-03e1-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742292901; x=1742897701; 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=rDPtN+/APbpbgXEpkHBonpP8S3zV5aoSZmvit1g2QH4=;
        b=aY8oEYGD8LW7v5yGxd5DJ+8V52pSkqGLLZrYfHYqJivVG7eaGdk0bUjp8TlT1I6FRC
         zRqzkqJ3BFVh3EMKpArHP+OqzH0VSjnDy/saUzX2meLhYnhTdwUJgfG0ggpbtvNC+8SD
         Y1Kv2dy8ppreorZWELjQJrn+O5+Ld6wSXXQysB/eW+5X86kPdhXuPtF8K3RI48LmelUx
         PcVgV6drE02jp2fdpF5FvbgJcoT47CTbcCtQihDYswvDkHn0mm5TRrDG4iKloM6lr/V+
         uSCXWTijfE2sn8ZmMm6m3nuwJrhAZyleD7ewHxT+X7UMGhicH4lRMU1PJz7AX51IZ5LH
         vCMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742292901; x=1742897701;
        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=rDPtN+/APbpbgXEpkHBonpP8S3zV5aoSZmvit1g2QH4=;
        b=BMZN1v1ov4OIh4rUIJirkPSVby4mjBEafuaI/QDStmXmtQytuy1A0j2KAguLKAkOQG
         nyuxGGrHh7RtsnuUbX+BT/4LdzYR7gkRGFX3OVE3JEeNeuLZdZFSajztSeE+BV7nSd5j
         Ls/dVn0mcWGC13oyTlvRLkW0TmwtFsZ52RCbI6CWf0SlKu/qlRh9+AFZS0NDQ4oqcK3L
         yIkzVC5P8k8i7CZAW4auRTtRaoKKC9JLvXiCpzRKrc+5WHDsGuJz0JLNI6QELzro179A
         xn7NwPb+SoN1iFfNluiOPb/zJad/fHluFZsZ6IaHcwlg0ui2hP7fvThiLGM2f5HHiQ5t
         SgcA==
X-Forwarded-Encrypted: i=1; AJvYcCVvLVFs+sLcCIcarlXMFceLirQE/Ju8yQn21JzKPq0K+DyLqYT9cWuEFyhXZdsnvM41iJSRxDPJFEk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzu+PUm4B8REGLSznO9cFnTByaP67g1agPd6dvazurupjYG1QZE
	lO7SMPOwlbVEEAd2BBToH7F8x2+t/zsuleLHWsi6i/+4PFsFDlDlY9RuonnOGA4oz10ItBqmoNc
	=
X-Gm-Gg: ASbGncuabTXhlb83+fRu3qXnlp8iEXBcUAIe0dHHL2P9kh+ZYSCCqggIyezNj2sy465
	Dw3eNL2o1VZ+eBDnjbZnwSdvHsLf45i2L4NieCeAGs0r8QdIsEZ4RfXfCl6mjvxGQrZ9MooSSzY
	+RY8fiJqleUwSfjikVrG0JMFw1ysG3VUlJrqrwX1nDfpcikiRGHhQXoAVNFfhLg2XG7aNfyw+kB
	ngau7s1GT8p2rmS1IJFvYMfZ0uucW3+v8Y4+L6gYo7nkKaNcSKpEcy2klZFwrZc9HCmzL/yfdar
	dUb/LZ4Y5oMYcqlR9x1GhMS8QG767hMteBYKOFL5qZayRyQxPhjnf2flavWTIBKFBP1ryzxXmH4
	NoyuVhPCPP1CAI6SRS6B/OKY+5b1yuaTLBkViuwQZ
X-Google-Smtp-Source: AGHT+IGY70/O+YyYrMbSQSbELgrGy8ejoKiWVRIQe6mZkkmMp9v6Z1QXvFgOKwDbC2HapZxClbc8rQ==
X-Received: by 2002:a05:600c:4e06:b0:439:9434:4f3b with SMTP id 5b1f17b1804b1-43d3bc59b98mr12550485e9.8.1742292901021;
        Tue, 18 Mar 2025 03:15:01 -0700 (PDT)
Message-ID: <2eabb7bc-0dca-4426-a6ee-49a6ef8968db@suse.com>
Date: Tue, 18 Mar 2025 11:14:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/msi: always propagate MSI writes when not in active
 system mode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20250318082945.52019-1-roger.pau@citrix.com>
 <38076c0d-8e1a-4d16-b22c-b1db9460ed1c@suse.com>
 <Z9k0tL30_yLuj5kM@macbook.local>
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: <Z9k0tL30_yLuj5kM@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 09:54, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 18, 2025 at 09:36:37AM +0100, Jan Beulich wrote:
>> On 18.03.2025 09:29, Roger Pau Monne wrote:
>>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
>>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
>>> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
>>>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>>>                                              &msi_desc->remap_index,
>>>                                              msg, &data);
>>> -    if ( rc > 0 )
>>> +    if ( rc >= 0 )
>>>      {
>>>          for ( i = 1; i < nr; ++i )
>>>              msi_desc[i].remap_index = msi_desc->remap_index + i;
>>
>> I understand that Marek's testing has made clear that this change is needed,
>> yet I don't understand it. If we didn't allocate a new index, why would we
>> need to update in-memory state, when memory is preserved across S3?
> 
> Is this always the case for device memory? (iow: contents of the BARs
> and possibly the PCI config space?)

Of course not. But msi_desc[] is in RAM.

>> (This
>> lack of understanding on my part is why I didn't associate the last
>> paragraph of the description with this extra change, when you first sent it
>> in this shape on the original thread.)
> 
> At least for the AMD IOMMU driver it seems to be expected.  See how
> amd_iommu_resume() performs a pair of disable_iommu() and
> enable_iommu() calls, and in the enable_iommu() function there's a
> call to set_{msi,x2apic}_affinity() that's expected to (re)set the
> interrupts.  Or at least that would be my understanding.
> 
> This change reverts the behavior to what it used to be prior to
> 8e60d47cf011 for the suspend and resume paths.  I'm afraid I don't
> have a sensible way to test changes in that area, so I cannot
> investigate much.

So how did you end up considering this may have been the reason for the
failure Marek was still seeing with the earlier form of the patch? I'm
simply hesitant to ack something that I don't understand at all.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 10:16:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 10:16:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918889.1323502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuU01-0005FD-8s; Tue, 18 Mar 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 918889.1323502; Tue, 18 Mar 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 1tuU01-0005F6-5A; Tue, 18 Mar 2025 10:16:41 +0000
Received: by outflank-mailman (input) for mailman id 918889;
 Tue, 18 Mar 2025 10:16: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=yG4W=WF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tuU00-0005F0-K8
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 10:16:40 +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 144c7021-03e2-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 11:16:38 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so14755585e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 03:16:38 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb318a3dsm17781886f8f.74.2025.03.18.03.16.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 03:16: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: 144c7021-03e2-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742292998; x=1742897798; 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=QqeiQA+ByKTA1tcqUH3rsqKPcPvpI9PiVYVU+jLVsPg=;
        b=BU2ffCp1ivq/yfUlxNBbPANrl8jfZzSh94cXkZrjDrmcIuKc6i03XhRp3snKIBsmeL
         0BoB0mSrI10+JoY2/ianJusLqVFIL8G9OfOriA3xvyvqB9xx9g3XGUgCKJhfZvlu9t8h
         jB08W/tHtenYZfc4DRVuvxbPUOfMRrk5dp4Ac6xJfz+JTNlJ0FAfYwYoxqMkW5yXuQw9
         SJz1xIdQSvuvYISm3JlSUW+z8tQoFfmgoujsdBaxdtR9g5aIyzKI1ycgU8f7ty0Y1DBi
         sXe39lrFF0SlO+3x0Xw6R+RFzV23Iql3+Kr3gBYGelJsNCd5YooNRF0iDe11iSAo5A6o
         UtvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742292998; x=1742897798;
        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=QqeiQA+ByKTA1tcqUH3rsqKPcPvpI9PiVYVU+jLVsPg=;
        b=j6tHHmFvxDy+yW3wqVvLABXOzRwgA6ObsCzeTuGyuf4mb2dxa/Ft01jrLtGfVsj8An
         s3OK+jSsVLj/lIq1EiXbmLyJZOyX6RkJi2xI/Sgs0B2/T+DT6bUEI4QOyHvNLuQmeCtv
         nOvjfCom8JvfrJAJrJG2pVInSLX8f86DcsQq68rQuKKSk1U63whz6Epj/3eNpC75syhA
         E56S17BGKJovXKW2Q1MBaJa9x+gM7UPsmYED8HDrg1LBQRWBxP5BVbFNxlApU4YycnN1
         1E4CWuxxJk3ybjkQ7p8nDpbTQNWDrGQQjRxp1+7jI8MdjDnw9URFtzIaE6MPhjXmjLKA
         72sg==
X-Forwarded-Encrypted: i=1; AJvYcCXLCVVSBXtt2etJjJ6LyFy6OPpx6iJ8CLRatpIQxo83lFCUACM+eKzkxVH7Lt6c8NPTGY8RnLDsdBE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKCvkqxIUWB+4MU0sAWkJX39q+H8tr5ddOZC2/R5JLxYuAi5ux
	kwUeaFsy2DcXxh0V1CGslNodPHjWre8HxT2DSHBrzcRNPgbsDgU7U3/YEL1ZEVc=
X-Gm-Gg: ASbGncu1rb8XjSwus4GlCssTSEfrGfVs+dcjH1OUZN7Q0KJO2cHzJxRKps4T912/zna
	7Kk3J+moJSVZh2ofoB+v8sA8vbYl++KkIvOymclvLFxse9i7I3viKGQcBKTa3qAfWl0kHCm7tVH
	/upZINsHAIyEqSVo1eQA7dDhrSiOTl74jETTVFkAq3oozjZEZQSz9PNhWRF+PH5CPrXDSxAzuc7
	UdwEf+G33+322HLv1upKBQS2f5guA1l1wKehXdSn8IVdIlfm3VhMKPZE5beyccx8lO6RFh/Cklm
	v4zstRkuoCQ2l8PzHarvTjOKo0QhRnvW2BQPNxwZuhiRZbrpNousV0UDBWbUxE+TR4ccUAhe3GF
	9ZjYkYmO5M4kfL1JH+BvG7OR8aPKeqWtgmHHF5NWoAVAjGd1q4+qap2YweGTQOh1LHQ3EdA==
X-Google-Smtp-Source: AGHT+IGXRsOL/024GSaaTsj0I6bJ+HF/nWMcN9UcSMdGUI6X0OltJ6Kr+lU1tvqI65hxFgJwQnP8+Q==
X-Received: by 2002:a5d:5f93:0:b0:38f:355b:13e9 with SMTP id ffacd0b85a97d-3971d42ae27mr18927937f8f.15.1742292998087;
        Tue, 18 Mar 2025 03:16:38 -0700 (PDT)
Message-ID: <a9f0a22c-2a97-42e7-838e-a210be215e21@suse.com>
Date: Tue, 18 Mar 2025 11:16:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen: balloon: update the NR_BALLOON_PAGES state
To: Nico Pache <npache@redhat.com>, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
 virtualization@lists.linux.dev
Cc: alexander.atanasov@virtuozzo.com, muchun.song@linux.dev,
 roman.gushchin@linux.dev, mhocko@kernel.org, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 akpm@linux-foundation.org, mst@redhat.com, david@redhat.com,
 yosry.ahmed@linux.dev, hannes@cmpxchg.org, nphamcs@gmail.com,
 chengming.zhou@linux.dev, kanchana.p.sridhar@intel.com, llong@redhat.com,
 shakeel.butt@linux.dev
References: <20250314213757.244258-1-npache@redhat.com>
 <20250314213757.244258-5-npache@redhat.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: <20250314213757.244258-5-npache@redhat.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6nFuvn90f00fPGQn5quF42xx"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6nFuvn90f00fPGQn5quF42xx
Content-Type: multipart/mixed; boundary="------------Ymj9dgUiA6mQZpNBIbVIuM35";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Nico Pache <npache@redhat.com>, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
 virtualization@lists.linux.dev
Cc: alexander.atanasov@virtuozzo.com, muchun.song@linux.dev,
 roman.gushchin@linux.dev, mhocko@kernel.org, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 akpm@linux-foundation.org, mst@redhat.com, david@redhat.com,
 yosry.ahmed@linux.dev, hannes@cmpxchg.org, nphamcs@gmail.com,
 chengming.zhou@linux.dev, kanchana.p.sridhar@intel.com, llong@redhat.com,
 shakeel.butt@linux.dev
Message-ID: <a9f0a22c-2a97-42e7-838e-a210be215e21@suse.com>
Subject: Re: [PATCH v2 4/4] xen: balloon: update the NR_BALLOON_PAGES state
References: <20250314213757.244258-1-npache@redhat.com>
 <20250314213757.244258-5-npache@redhat.com>
In-Reply-To: <20250314213757.244258-5-npache@redhat.com>

--------------Ymj9dgUiA6mQZpNBIbVIuM35
Content-Type: multipart/mixed; boundary="------------F0LwjPwAT0UT4XBZzX0cDv8Z"

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

T24gMTQuMDMuMjUgMjI6MzcsIE5pY28gUGFjaGUgd3JvdGU6DQo+IFVwZGF0ZSB0aGUgTlJf
QkFMTE9PTl9QQUdFUyBjb3VudGVyIHdoZW4gcGFnZXMgYXJlIGFkZGVkIHRvIG9yDQo+IHJl
bW92ZWQgZnJvbSB0aGUgWGVuIGJhbGxvb24uDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBOaWNv
IFBhY2hlIDxucGFjaGVAcmVkaGF0LmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------F0LwjPwAT0UT4XBZzX0cDv8Z
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-----

--------------F0LwjPwAT0UT4XBZzX0cDv8Z--

--------------Ymj9dgUiA6mQZpNBIbVIuM35--

--------------6nFuvn90f00fPGQn5quF42xx
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/Ey8FAmfZSAQFAwAAAAAACgkQsN6d1ii/Ey/J
jgf/deb7eb7DEWa4WHP3ywhAnXjAfRO3pIdEA2BDhLdNN1buCZyW9zYsai+acWuHT0fNBKrGEs7g
wotCH2G8AFUB22/5d0FpTJ2bKxAQ1IJqZi/P7zt9VM511OI5ytOzdiG5T9XP364zFqXO+512r3Ue
RE28mv9CK6mfPpLuxxhHBKy0HSvkq03ifwL+Kbs0O0wbiyHE2yaPKGVB3MtIP6LpErreDLvqDHuO
OALFl6UgkVRUbd9VUCaXcwwqZu0rDoUR/3bpdLrRq94ldBtBPVbirTPGH7+ndexmloSK44qnQxlF
GyUc1Zs34C59ZztRGlXJwEI/WJBQ6h6UoWQFfgGF3g==
=IGq1
-----END PGP SIGNATURE-----

--------------6nFuvn90f00fPGQn5quF42xx--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 10:25:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 10:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918899.1323511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuU8g-00080v-1w; Tue, 18 Mar 2025 10:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918899.1323511; Tue, 18 Mar 2025 10: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 1tuU8f-00080o-Vf; Tue, 18 Mar 2025 10:25:37 +0000
Received: by outflank-mailman (input) for mailman id 918899;
 Tue, 18 Mar 2025 10: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=b9yH=WF=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tuU8f-00080i-9T
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 10:25:37 +0000
Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com
 [2607:f8b0:4864:20::22e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 540a8301-03e3-11f0-9aba-95dc52dad729;
 Tue, 18 Mar 2025 11:25:36 +0100 (CET)
Received: by mail-oi1-x22e.google.com with SMTP id
 5614622812f47-3fa6c54cdb2so3837935b6e.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 03: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: 540a8301-03e3-11f0-9aba-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742293534; x=1742898334; 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=4Q3GxsQGWIvzfFjxsMvTXyevofE6hPWTBtK5jwd0F3U=;
        b=GB1ZYnArax1GTNP/hESRzJvgQhqtToai9pxsQ30z393pw4Veny8VxIwyoedc64XgEM
         Gj42BVyxxtNg8+/5C8t1Gxmwv818usqF6V8DV9iXbRMgwgDXTPWOaZ5W6TCQEOaVn3YJ
         C9bYbb+p3G7Irn24xIiNyQBsQyhRmN8R/mVRY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742293534; x=1742898334;
        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=4Q3GxsQGWIvzfFjxsMvTXyevofE6hPWTBtK5jwd0F3U=;
        b=al+cQTdx21QpsrHKfV6WI9E3TmpMEKvpOBSkQkBv7o0NZ0x2wOXTO3NuGkalnNXYjE
         TOwX6Bnchxm7j36RcBo9g13J5NNWI1WHvrWkRLrfVH9zLkxSE/RlqH4Z47vy59EiAfv3
         pNRgRuYwpQbY1SEERyJTR6G+wqRMmTMeL4mk9HNdWClIb0Ls0xnqcqq8aKpgfAx9A3yj
         w1Z1zgUbQffen28vnviSzLarCT0ZU6QGI29BH9hhGNB7J+4Z8cJxODGnsgB8zI+smhQV
         M591QIidpzV0Pj5TamU5sh2tieAQiL/hemc3xeMBzzteuU9Phc9sgmcm+pR02bhRuktp
         tpEg==
X-Gm-Message-State: AOJu0YxPVaixfik3BCWGfhBbMFodhIicGAvICiLMoww9m6h8Hmf6uATt
	vH5CiJ+GvgWvqSGFbWiqIPFro5aw2E6h5/x/y7u7npekGTTK4nRQxpQyV7lpACEiFrZxR7ORaX9
	ujFymw8RWa3D9Q9q9SBKr11vHE62tinkwU8kbICnZaj+qgAeT
X-Gm-Gg: ASbGncsgCsiO8t+dBfD6UO8H5ggZTklt2QgE2BfnLj+GxfCUqSHGoygXRWkzV9Gt3hH
	TRoDbunpSFvEt2T17vjaZ2tdokbJ9LcfBj05XHzyAqne83CJJiaA1Y89Jnyks/aOCVowOCySyS5
	aVTNm50S/Gzwcw6S46hIYx23A=
X-Google-Smtp-Source: AGHT+IEDIj8kRVC1XCh+uiSqERG2j3yw8teBeP/OzwYpmKshfLhSxkx07aR2yEwMvF8cVHbFYgtrV6ANCAh7AtBdWaA=
X-Received: by 2002:a05:6808:1487:b0:3f3:f90b:f1b9 with SMTP id
 5614622812f47-3fdebccff3bmr8025361b6e.0.1742293534594; Tue, 18 Mar 2025
 03:25:34 -0700 (PDT)
MIME-Version: 1.0
References: <20250228152100.23105-1-frediano.ziglio@cloud.com> <20250304132253.23955-1-frediano.ziglio@cloud.com>
In-Reply-To: <20250304132253.23955-1-frediano.ziglio@cloud.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 18 Mar 2025 10:25:23 +0000
X-Gm-Features: AQ5f1Jplf7bBX9JnRJkhzukIbl7tpVlIvJyaE9mw7Xy_MuQaLSjbtePzgkfDXE4
Message-ID: <CACHz=ZiwCVKdaL-wCV4gpyoyv=25nt8d8+gc4vA5Hs1XOacsuw@mail.gmail.com>
Subject: Re: [PATCH v2] docs: Add some details on XenServer PCI devices
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Alejandro Vallejo <alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 4, 2025 at 1:23=E2=80=AFPM Frediano Ziglio
<frediano.ziglio@cloud.com> wrote:
>
> Describe the usage of devices 5853:0002 and 5853:C000.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
> Changes since v1:
> - address minor comments
> ---
>  docs/man/xen-pci-device-reservations.7.pod | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/docs/man/xen-pci-device-reservations.7.pod b/docs/man/xen-pc=
i-device-reservations.7.pod
> index 9ddf3a18ad..adc325069c 100644
> --- a/docs/man/xen-pci-device-reservations.7.pod
> +++ b/docs/man/xen-pci-device-reservations.7.pod
> @@ -10,6 +10,9 @@ use of this is with device ID 0x0001 to advertise the X=
en Platform PCI
>  device - the presence of this virtual device enables a guest Operating
>  System (subject to the availability of suitable drivers) to make use of
>  paravirtualisation features such as disk and network devices etc.
> +XenServer, for Windows machines, may present Xen Platform device with de=
vice
> +ID 0x0002 instead of 0x0001. Device 0x0001 and 0x0002 should be mutually
> +exclusive.
>
>  Some Xen vendors wish to provide alternative and/or additional guest dri=
vers
>  that can bind to virtual devices[1]. This may be done using the Xen PCI
> @@ -86,4 +89,8 @@ and unplug protocol.
>  libxl provides support for creation of a single additional xen-pvdevice.
>  See the vendor_device parameter in xl.cfg(5).
>
> +XenServer might present a xen-pvdevice device with ID 0xC000.
> +Such device is a placeholder for Windows update usage and is always expo=
sed
> +in conjunction with a Xen Platform PCI device, usually with ID 0x0002
> +
>  =3Dback

Any additional comment?

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 10:46:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 10:46:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918913.1323523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuUSH-0004KB-MB; Tue, 18 Mar 2025 10:45:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918913.1323523; Tue, 18 Mar 2025 10:45: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 1tuUSH-0004K4-Ha; Tue, 18 Mar 2025 10:45:53 +0000
Received: by outflank-mailman (input) for mailman id 918913;
 Tue, 18 Mar 2025 10:45: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuUSG-0004Jy-7p
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 10:45:52 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2437cd69-03e6-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 11:45:44 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-2239c066347so112540795ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 03:45:44 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-737116b13aasm9202112b3a.169.2025.03.18.03.45.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 03:45: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: 2437cd69-03e6-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742294743; x=1742899543; darn=lists.xenproject.org;
        h=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=BBLNeRl2TaqvkMzblnukNT37RWB/3hIwtQTOg/wpViw=;
        b=BMADqaGxQXtTbwFwayRBNRfrgeBbXiF9nA2U+1NJbZ6GcJCAVyXjzQ2TclO1H8f/So
         34kdf6FQknTYU8eRemZ+oJg+2henk1t5DVWZpzBIFrVJJAt7rL82EPCfc+Iu0JyEfzae
         lZpfF618NjL/3abuAJSKPqWe5IwStoc5UQdnE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742294743; x=1742899543;
        h=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=BBLNeRl2TaqvkMzblnukNT37RWB/3hIwtQTOg/wpViw=;
        b=H+IlPj0DyWgYSWK6pOvhjfnnffZyz/6nXmSyTSNUuMZwThccwxOnlX2RU2abvP9No4
         Jzju+zWofsXrRxxDWKPNND9asitQBvQRv3bsxwm1NTK2FRR27Baj4S12WSYPEfG2WTMv
         mix7Xv1LXRfwGOtZC9RAaPq+M4WzEibho27BDNQaAo1sDK4w1dgAeObnbGLQJM2e8Dq1
         hjDCCLEY4RY1ww8uKwwk3CdBCa2onJfBL7w1qgO3RaUSlo3Uqw/kZY/48Q7YQlXW8thL
         V4nDc0yvFVCvQayJn3FrhYU3mPmF6GuD56vhI6YA9cBbyrMGlKPd+KuMWrALQo3cdn7V
         0VuA==
X-Forwarded-Encrypted: i=1; AJvYcCU00tILTDUnSiGO7cYp1Z8wqD5GDxh0SKksgjCZabFd4XnuW3BfUbknt2tL9RQIIgyuqdRELCRMV+k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxeToerOziE7mr/30b5H7f1DNbKGVAgnRcvOXHmlYwF4lSlRVYp
	gWTRSnpU5iTsSaL24unUhcvzOl8hVL/9+b+aCXTWhcA61YDvg+IwBy/PrnCwMs8=
X-Gm-Gg: ASbGncthn55JYRbdyW4s7vVGp7ANY9X+TYPrzfNOYEuzvLRZE5cSNdphljVyb4ERFs4
	LbkLanYQwSlX50YLXZFQ9AxD0NuH9FockGPaspMthWIJ1AiOZpk1flFKq2yq0LIBkDuO3FEmuoW
	8XxKU5Cd5QUHsHoxhdxo3tRL+vffV9SYsx2pkk5FXYpxNeFHSmE0C4E2LQT/eI0jaZlbp71Sp+Z
	tuaHotpdHOTSs/gsaVciOd/TxfPnzR92VDH1jhUVY1UQSnD7cU46NiSQCn+crs3FqK7vKeMgBZB
	Art4TpaeVqlt3L5IxeSDa26q6wkBmE5pbHhPcv+0pRjTHhqMYA==
X-Google-Smtp-Source: AGHT+IF4xdK2a2ipc83l9oSiAV3Z4GupYjs0fhBrNMpGLRLH5HmjdD+nb9VvjTmPktofrTp6/SFz3A==
X-Received: by 2002:a05:6a00:1888:b0:736:2d84:74da with SMTP id d2e1a72fcca58-7372239835dmr16512364b3a.10.1742294742626;
        Tue, 18 Mar 2025 03:45:42 -0700 (PDT)
Date: Tue, 18 Mar 2025 11:45:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/msi: always propagate MSI writes when not in active
 system mode
Message-ID: <Z9lO0b7LkCFwmJZv@macbook.local>
References: <20250318082945.52019-1-roger.pau@citrix.com>
 <38076c0d-8e1a-4d16-b22c-b1db9460ed1c@suse.com>
 <Z9k0tL30_yLuj5kM@macbook.local>
 <2eabb7bc-0dca-4426-a6ee-49a6ef8968db@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2eabb7bc-0dca-4426-a6ee-49a6ef8968db@suse.com>

On Tue, Mar 18, 2025 at 11:14:59AM +0100, Jan Beulich wrote:
> On 18.03.2025 09:54, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 18, 2025 at 09:36:37AM +0100, Jan Beulich wrote:
> >> On 18.03.2025 09:29, Roger Pau Monne wrote:
> >>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> >>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> >>> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
> >>>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
> >>>                                              &msi_desc->remap_index,
> >>>                                              msg, &data);
> >>> -    if ( rc > 0 )
> >>> +    if ( rc >= 0 )
> >>>      {
> >>>          for ( i = 1; i < nr; ++i )
> >>>              msi_desc[i].remap_index = msi_desc->remap_index + i;
> >>
> >> I understand that Marek's testing has made clear that this change is needed,
> >> yet I don't understand it. If we didn't allocate a new index, why would we
> >> need to update in-memory state, when memory is preserved across S3?
> > 
> > Is this always the case for device memory? (iow: contents of the BARs
> > and possibly the PCI config space?)
> 
> Of course not. But msi_desc[] is in RAM.

Sorry, I think I didn't understand your earlier question, and hence
the reply I provided didn't make any sense to you.

> >> (This
> >> lack of understanding on my part is why I didn't associate the last
> >> paragraph of the description with this extra change, when you first sent it
> >> in this shape on the original thread.)
> > 
> > At least for the AMD IOMMU driver it seems to be expected.  See how
> > amd_iommu_resume() performs a pair of disable_iommu() and
> > enable_iommu() calls, and in the enable_iommu() function there's a
> > call to set_{msi,x2apic}_affinity() that's expected to (re)set the
> > interrupts.  Or at least that would be my understanding.
> > 
> > This change reverts the behavior to what it used to be prior to
> > 8e60d47cf011 for the suspend and resume paths.  I'm afraid I don't
> > have a sensible way to test changes in that area, so I cannot
> > investigate much.
> 
> So how did you end up considering this may have been the reason for the
> failure Marek was still seeing with the earlier form of the patch? I'm
> simply hesitant to ack something that I don't understand at all.

Oh, I think I know what you are missing, and it's because it's out of
patch context.  The adjusted chunk in amd_iommu_msi_msg_update_ire()
does:

    if ( rc >= 0 )
    {
        for ( i = 1; i < nr; ++i )
            msi_desc[i].remap_index = msi_desc->remap_index + i;
        msg->data = data;
    }

Note how it sets msg->data, as otherwise the field won't be properly
set, and hence the caller propagating the contents of `msg` to the
registers would be incorrect.

The change forces msg->data to be correctly set when returning either
0 or 1, so that propagation to the hardware can be done in both
cases.  Previously the contents of msg->data where only correct when
returning 1 on AMD.

Hope this makes more sense, sorry for not understanding your question
initially.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 11:23:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 11:23:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.918990.1323564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuV2j-0006SL-5M; Tue, 18 Mar 2025 11:23:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 918990.1323564; Tue, 18 Mar 2025 11: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 1tuV2j-0006SE-2f; Tue, 18 Mar 2025 11:23:33 +0000
Received: by outflank-mailman (input) for mailman id 918990;
 Tue, 18 Mar 2025 11:23: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=wPrW=WF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tuV2h-0006Ru-Gj
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 11:23:31 +0000
Received: from fout-a8-smtp.messagingengine.com
 (fout-a8-smtp.messagingengine.com [103.168.172.151])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a268882-03eb-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 12:23:29 +0100 (CET)
Received: from phl-compute-13.internal (phl-compute-13.phl.internal
 [10.202.2.53])
 by mailfout.phl.internal (Postfix) with ESMTP id C16071382D72;
 Tue, 18 Mar 2025 07:23:27 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-13.internal (MEProxy); Tue, 18 Mar 2025 07:23:27 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 18 Mar 2025 07:23: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: 6a268882-03eb-11f0-9899-31a8f345e629
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=1742297007;
	 x=1742383407; bh=7wjlAYUwnPlKalqwevMkrWO1y9pBfAh5VlI6LxosMEw=; b=
	TSbWe8EkYB8gVt8Ov0yHp2N7CN4dLgeJK0UtmFoCV09x85Um5lFhVKR7g/uYAOiB
	T4Milpe2OZiYQYzJmt/Xrkva/edlutJS+4fMevOBruLU5o5ww9D7qwKa1x+sQXqL
	5sD4tCt6KJb2DGxfOrIim/GG9a6Tjxv5XDgFBhw9UdTBO4VN5y++kf7grAR9aE86
	t481QgK0srNEdQkOKl7Uk+Rqj504UA1wV2urqqc4TqADWZzTD2vIp+i9Y6588Mnn
	XFpOsRkbm/V85zmvXzsncfEpgSbKbu7xLerzbawjLavYL9Gc43SHpFc6jImjBHf5
	Wsgz+KVzBYvDH916M/qJ/A==
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=fm1; t=
	1742297007; x=1742383407; bh=7wjlAYUwnPlKalqwevMkrWO1y9pBfAh5VlI
	6LxosMEw=; b=D+t1Eie9zvS3v1HlMPVeSS64z5miMn+nlsUGzrOHwhCQx7hV+zP
	tu6PuLqVxoe3pswgSo4vnz3taEkZYwHYkie8dMqawENZ57jZOeI7Xz96sMkDcGNJ
	sRaHATi8B3K08oro9ETa8K1SdJPF9kmvoLhdnwOVbR1xHdZMsfE/W5Ay99S9EY9Q
	/h6zQjunVxaPpgYv9CyAePOv2popmuX1hvuz7raaW7Gz2F/CNJLr1gMJpdPVb7pL
	bC8U4Bxg3Hw840kFzQ02pPRnW2bnXsIaURdOIUoZSz/TkoL3Z6DAxwo6hY3vL6+t
	GSarWfMMGj2/cHa1xaGcEjbKS7a2kabgbjA==
X-ME-Sender: <xms:r1fZZ--bH5qCNcwirwbP3o70TBhsWnp9edXQ9s1ItFxDEKLg_OPV8A>
    <xme:r1fZZ-s62E-kJ5MUO-atClaLa06qSX-KK8ZDqFM38fWF94cBpvcg3Ofgms1YNYM8j
    RRX8WDOSe_qHA>
X-ME-Received: <xmr:r1fZZ0CQBFZI78Jrl8fiH1lHdwDTPGHH7x84k8-A1H65BSn-ckajAzFV7BaRKqP8tSZ2-Q4n1hQjthOrN9y6WYF3e-jIDOOAfQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugedvfeduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprhho
    ghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlh
    eslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohepjhgsvghulhhi
    tghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestg
    hithhrihigrdgtohhm
X-ME-Proxy: <xmx:r1fZZ2dXbnlZvlHY21gA-IhxhKi15I40KT6qCFTf-sOx-N5ZPoEqYA>
    <xmx:r1fZZzOFufc5ynbMcOe_zcKHGk6sZHmWCV_qGmS1YeV0HP56_3-JHA>
    <xmx:r1fZZwkllK2440FE4IbySDirLeCqCJNOFWicNOwMfAHvVxDKaINL8Q>
    <xmx:r1fZZ1tsQ2azkoHWQoExMg4jmeG-4CHeHveX_uwgDYJEEsveBpYa-A>
    <xmx:r1fZZ4oLFpK59fM71RqAwgI3r5Bj0LABVw1Ewt6yRfpfg6d80O63Uo5Y>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 18 Mar 2025 12:23:24 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/msi: always propagate MSI writes when not in active
 system mode
Message-ID: <Z9lXrB-pC5LL1uPN@mail-itl>
References: <20250318082945.52019-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="YiN+E6HlXMbGwqPo"
Content-Disposition: inline
In-Reply-To: <20250318082945.52019-1-roger.pau@citrix.com>


--YiN+E6HlXMbGwqPo
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 18 Mar 2025 12:23:24 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/msi: always propagate MSI writes when not in active
 system mode

On Tue, Mar 18, 2025 at 09:29:45AM +0100, Roger Pau Monne wrote:
> Relax the limitation on MSI register writes, and only apply it when the
> system is in active state.  For example AMD IOMMU drivers rely on using
> set_msi_affinity() to force an MSI register write on resume from
> suspension.
>=20
> The original patch intention was to reduce the number of MSI register
> writes when the system is in active state.  Leave the other states to
> always perform the writes, as it's safer given the existing code, and it's
> expected to not make a difference performance wise.
>=20
> For such propagation to work even when the IRT index is not updated the M=
SI
> message must be adjusted in all success cases for AMD IOMMU, not just when
> the index has been newly allocated.
>=20
> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=
=2Ecom>
> Fixes: ('8e60d47cf011 x86/iommu: avoid MSI address and data writes if IRT=
 index hasn't changed')
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Tested-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
>  xen/arch/x86/msi.c                       | 9 +++++++++
>  xen/drivers/passthrough/amd/iommu_intr.c | 2 +-
>  2 files changed, 10 insertions(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index 163ccf874720..8bb3bb18af61 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -189,6 +189,15 @@ static int write_msi_msg(struct msi_desc *entry, str=
uct msi_msg *msg,
>  {
>      entry->msg =3D *msg;
> =20
> +    if ( unlikely(system_state !=3D SYS_STATE_active) )
> +        /*
> +         * Always propagate writes when not in the 'active' state.  The
> +         * optimization to avoid the MSI address and data registers writ=
e is
> +         * only relevant for runtime state, and drivers on resume (at le=
ast)
> +         * rely on set_msi_affinity() to update the hardware state.
> +         */
> +        force =3D true;
> +
>      if ( iommu_intremap !=3D iommu_intremap_off )
>      {
>          int rc;
> diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passt=
hrough/amd/iommu_intr.c
> index 9abdc38053d7..08766122b421 100644
> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
>      rc =3D update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>                                              &msi_desc->remap_index,
>                                              msg, &data);
> -    if ( rc > 0 )
> +    if ( rc >=3D 0 )
>      {
>          for ( i =3D 1; i < nr; ++i )
>              msi_desc[i].remap_index =3D msi_desc->remap_index + i;
> --=20
> 2.48.1
>=20

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

--YiN+E6HlXMbGwqPo
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfZV6wACgkQ24/THMrX
1yyxwwf+IwXgGNJJvhYAl8e0zEHnG3+vG7ZI/aodha8fi7mp5GSo0oiLkpt6xQrL
Ytr+hC3DAo8zhTSKChER0RGYDZyvOv68HYiVf98V9TQsphmVFJeNKSj+OHJpvTPy
7I082IAt87zcUBz5LOg6155y22LTy3aXqyqxd0v0vcP8drWKBit6MX0BgyGzJzoA
yIkApTJ+XYeUZAOtMA7buZ8tHxvFoKQe7VOZrxkbmyIVM+Gltn4BeEr2xV2ImArs
tCoFgNC09sscjvM8h66b+1jOGm+ObwTDsoE8JQhzjQxXVuIZor0o4ENCob54u2lS
6BjZYOa3XibYmYqselOwrcylPTt0xA==
=5qL6
-----END PGP SIGNATURE-----

--YiN+E6HlXMbGwqPo--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 11:31:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 11:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919014.1323574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuVA6-0000aH-TL; Tue, 18 Mar 2025 11:31:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919014.1323574; Tue, 18 Mar 2025 11:31: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 1tuVA6-0000aA-Qh; Tue, 18 Mar 2025 11:31:10 +0000
Received: by outflank-mailman (input) for mailman id 919014;
 Tue, 18 Mar 2025 11: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuVA5-0000a4-Io
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 11:31:09 +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 7be6403b-03ec-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 12:31:07 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4394036c0efso21591735e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 04:31: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-43d2bb5f987sm77747325e9.24.2025.03.18.04.31.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 04:31: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: 7be6403b-03ec-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742297467; x=1742902267; 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=kNqdrAYjv6HYdaoOCOyNtMgstgkf2F+GodaW2NexSew=;
        b=RVO3liKhyr9y5hkqfOlh/VdMD9NMIp2UelRdCuTzFsBKvwxOFtvQc73hExSsdvK8cs
         dqhtU7SoYLiIXnUDAsg5WfQfPdvgiEqr9UFKI8X/rNJFx/nqhCneVY5KyHRbuxAqeFaK
         4AcKrJTB3jDiQYwWsHIUp3e4KWkUZdWMAx5c/jlR0NJw0R2pAIWTyOoviM4vqrP5MGXB
         WkHnQo7Ya/HMq0tF7i9yba6MAt/c3Y71Sd1WU8vmdRD717G+Lpg2syCy5w4M3Va5ajmP
         jpxaR02TYrJjc3mJMiouT9GnMGntF58jM305NM4yUIqnpExiE9nggUX40SRon0mR23bl
         laWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742297467; x=1742902267;
        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=kNqdrAYjv6HYdaoOCOyNtMgstgkf2F+GodaW2NexSew=;
        b=NiCegEO7TOuvvBL0REC7G2TuApEENZUN4rsAbRurBKvkWm15tHLx7Br+h44xQFZdAP
         +PZRWKWNgj8IY3nx3JYXs0nYRutU0NEya1sdlxEL5mKrGgbsIO8JNaQdRgWskJfFVMp3
         C8VTBBeLFmnne7ZMkcjweosI27Yh88IgLApTY9DPJAVFZpx5ziB0QMY7pxrjdgJnuAMY
         g5PuSBW3kmjGZ0iPlSBEfNwj1ou/JjIBL/BMmyWHGTEfG1wlOev5yPT2RMuIDUtmLUyJ
         4T4p3df65WT+JhY231k7KITzpu2R9B+CFUP56dKSFR1WIVFAG9CSCrXFuV+j8+30PkNO
         4B3A==
X-Forwarded-Encrypted: i=1; AJvYcCXLyY1PgSifyRKTwsEAnIlSMsTuLD/l0I8LT07wL5+sjEmjDa3ftuic6QX3CYe2D4ZoeziGkdbRBak=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwH6fqbgK+RwIWm+9Z2l6Nbv6TcxN2U+deEf5EE00XTOOQrhNfk
	Ifhd8UHsgDyRp419J4eykFrKFoJ+2ka2+RhLhltGK7dzqPaZpiUxh8dcjr+1dw==
X-Gm-Gg: ASbGncvpmSe6K+f6Gh82uA5nT+tdIKo47theKXd1wDok1FbNun2+OSmp1YnjFdwYJ+w
	4a3qvC7al83v2WyqyfpKgWzya6UJvgnL0gNMUGugTnPw3K4XkPN+/nWbOCxXw6zyEIXTGbY3f3q
	4FXSQMaW/GnZvYdg0H90D/HNpg1Jpn2wYF4yLCt+dSunw+xcuAIGmUCEORZvdt4fFHYikFQJI3N
	bax2vky0yGiMcf/FdHQerXepfoSa5Rwa69CxOV1pZ8+Ulq7xcYQ9J2J00Tgk8dVCazi19sNut57
	cZWVTexlqRYxZEKx6gyIQJ6MgEZ8yvFE+jQoAVZnb0af/tpnU1KbKbK4jRZ96s26J3M3/Bg/Xy/
	uT7na1ltv/O8tFu7xofxtao6dGrzT8g==
X-Google-Smtp-Source: AGHT+IEIkju/gNd4rM0aDX73QMV10HHKDXCAETLezQ/5QItYNffCQuiG8sLxAYtcDvQwZ9U7RMlCBA==
X-Received: by 2002:a05:600c:1d2a:b0:43d:1c3:cb2e with SMTP id 5b1f17b1804b1-43d3b9a4268mr21082145e9.17.1742297466835;
        Tue, 18 Mar 2025 04:31:06 -0700 (PDT)
Message-ID: <1f9a0101-f253-46e1-8b6d-8378d4c84c71@suse.com>
Date: Tue, 18 Mar 2025 12:31:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/msi: always propagate MSI writes when not in active
 system mode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20250318082945.52019-1-roger.pau@citrix.com>
 <38076c0d-8e1a-4d16-b22c-b1db9460ed1c@suse.com>
 <Z9k0tL30_yLuj5kM@macbook.local>
 <2eabb7bc-0dca-4426-a6ee-49a6ef8968db@suse.com>
 <Z9lO0b7LkCFwmJZv@macbook.local>
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: <Z9lO0b7LkCFwmJZv@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 11:45, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 18, 2025 at 11:14:59AM +0100, Jan Beulich wrote:
>> On 18.03.2025 09:54, Roger Pau MonnĂŠ wrote:
>>> On Tue, Mar 18, 2025 at 09:36:37AM +0100, Jan Beulich wrote:
>>>> On 18.03.2025 09:29, Roger Pau Monne wrote:
>>>>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
>>>>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
>>>>> @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
>>>>>      rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
>>>>>                                              &msi_desc->remap_index,
>>>>>                                              msg, &data);
>>>>> -    if ( rc > 0 )
>>>>> +    if ( rc >= 0 )
>>>>>      {
>>>>>          for ( i = 1; i < nr; ++i )
>>>>>              msi_desc[i].remap_index = msi_desc->remap_index + i;
>>>>
>>>> I understand that Marek's testing has made clear that this change is needed,
>>>> yet I don't understand it. If we didn't allocate a new index, why would we
>>>> need to update in-memory state, when memory is preserved across S3?
>>>
>>> Is this always the case for device memory? (iow: contents of the BARs
>>> and possibly the PCI config space?)
>>
>> Of course not. But msi_desc[] is in RAM.
> 
> Sorry, I think I didn't understand your earlier question, and hence
> the reply I provided didn't make any sense to you.
> 
>>>> (This
>>>> lack of understanding on my part is why I didn't associate the last
>>>> paragraph of the description with this extra change, when you first sent it
>>>> in this shape on the original thread.)
>>>
>>> At least for the AMD IOMMU driver it seems to be expected.  See how
>>> amd_iommu_resume() performs a pair of disable_iommu() and
>>> enable_iommu() calls, and in the enable_iommu() function there's a
>>> call to set_{msi,x2apic}_affinity() that's expected to (re)set the
>>> interrupts.  Or at least that would be my understanding.
>>>
>>> This change reverts the behavior to what it used to be prior to
>>> 8e60d47cf011 for the suspend and resume paths.  I'm afraid I don't
>>> have a sensible way to test changes in that area, so I cannot
>>> investigate much.
>>
>> So how did you end up considering this may have been the reason for the
>> failure Marek was still seeing with the earlier form of the patch? I'm
>> simply hesitant to ack something that I don't understand at all.
> 
> Oh, I think I know what you are missing, and it's because it's out of
> patch context.  The adjusted chunk in amd_iommu_msi_msg_update_ire()
> does:
> 
>     if ( rc >= 0 )
>     {
>         for ( i = 1; i < nr; ++i )
>             msi_desc[i].remap_index = msi_desc->remap_index + i;
>         msg->data = data;
>     }
> 
> Note how it sets msg->data, as otherwise the field won't be properly
> set, and hence the caller propagating the contents of `msg` to the
> registers would be incorrect.
> 
> The change forces msg->data to be correctly set when returning either
> 0 or 1, so that propagation to the hardware can be done in both
> cases.  Previously the contents of msg->data where only correct when
> returning 1 on AMD.

Oh, I see. The loop is entirely benign in this case. I did look at the
full function, but I didn't make the connection from the writing of
msg->data.

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 12:50:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 12:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919042.1323585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuWOR-0006rb-OK; Tue, 18 Mar 2025 12:50:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919042.1323585; Tue, 18 Mar 2025 12: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 1tuWOR-0006rI-Jm; Tue, 18 Mar 2025 12:50:03 +0000
Received: by outflank-mailman (input) for mailman id 919042;
 Tue, 18 Mar 2025 12:50: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuWOQ-0006Tr-Rx
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 12:50:02 +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 804df199-03f7-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 13:49:59 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso3703532f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 05:49:59 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975b09sm18355260f8f.57.2025.03.18.05.49.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 05: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: 804df199-03f7-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742302199; x=1742906999; 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=77qlMTpFH9efyykDCh26lXgviWVT8+TXn4EzPk6otMU=;
        b=WhCD+DOvsUU8AxUpdm068oAFBcRR5XYK5Nxfl8Vn1Zum97Jn1AlOQePud9SzOxWxOA
         MmPNxsEIKV/f4os7oRJbGJ6AKqWTUxVEXGuo6WCJB182qJaX1+7SJpheulW6egatraKo
         l7VfeDlOncGdLLcOtYwKql4mdpIuevCm757N8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742302199; x=1742906999;
        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=77qlMTpFH9efyykDCh26lXgviWVT8+TXn4EzPk6otMU=;
        b=NvL4jkzdKEcBSeIXzOE94eAy5/RaT+Y375F9Jx8zHNZYOt1MmdFsOI/ds42vMb/Uo7
         f8UHa0OMdAdq8Gc6Eun9QPVQVaj560R66gojSYRaGWzequu07J/Mo32+a7qjjM5v26qT
         lmNT4NnRwriXEsEJO7WY9fYpHF7vTCOun/dKoaDDmNKvY32oiF2TPtj49O4s/DX6RevG
         SEwwAetHkg491G0kw1QQtNfBzB3vRyplYt8jBMO8QY+481uzTTYva6mDddSJBlphhMYT
         lSgR/ZJR6u7y0VIyWALhfUHDmIh0MtJwb/in9YVDhrq0N8XbAizUltVh21dbu9z+14vW
         7M8A==
X-Forwarded-Encrypted: i=1; AJvYcCWZ+H81heMpFmrUh6Wu8CS7+MA+N5WtJyZx6sSeQvk06a3oy8yC2s3pjkFQbvJITAQB4Xr9HTk/lcc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YySNb2oMulVlOQR8Nt77H7IZYrxnBLAUPcwZ78Qv5mjkJNEy7Uh
	Z+vtNS4rLOuJPEBC4WCezQS9YwckkXfRZlJkFCBDzMwu/ETSwLtm7h1VA33AWnQ=
X-Gm-Gg: ASbGncsWAd2xlwv4Hr6Cuf6tGTPmmNqwUefp4T0yMQBGu8QX9Zp8sh7jYXHYnPavpCc
	diHVcN5o80InwtPvNioLc5vDXqTvOsLHZKAg1vCjQqHhkBAF95sBtdmV72cw9EbXjBcRbRLkxkI
	XVsy6HqdmON/0XpQkaR/BpU/Y3o4gXL6AeCoEiYo3jhxs3BjdmuAv+zG+/ZwMNgo8+UeDO57jmH
	AISa68Jg5dI/8dZJnHjzSruic7CVOUWF0L3p8vGKoALRFbwi/zUVZIA7FImibzk17rgfrWocsdP
	by+1nf+oBdSCcyiTyXNRuAVWCwxlvEBMp/xO8gUuUK74ONFAKyUjjxO6HnR8XlZX9Q3a4v1Ndqw
	hQ8JxwRzG
X-Google-Smtp-Source: AGHT+IFjMUib/3TosJRHFufizNfj6egYA/Gh0g3tB8+0TNbuDD0GI0ccozS62tNw/zWfHboWlkTL0Q==
X-Received: by 2002:a5d:6da6:0:b0:391:10c5:d1ab with SMTP id ffacd0b85a97d-3971d13383bmr17158371f8f.5.1742302198812;
        Tue, 18 Mar 2025 05:49:58 -0700 (PDT)
Message-ID: <9525c542-4e19-4dee-a29f-05fd42297663@citrix.com>
Date: Tue, 18 Mar 2025 12:49:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/wait: prevent duplicated assembly labels
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-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: <20250318091904.52903-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> When enabling UBSAN with clang, the following error is triggered during the
> build:
>
> common/wait.c:154:9: error: symbol '.L_wq_resume' is already defined
>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>       |         ^
> <inline asm>:1:121: note: instantiated into assembly here
>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>       |                                                                                                                                ^
> common/wait.c:154:9: error: symbol '.L_skip' is already defined
>   154 |         "push %%rbx; push %%rbp; push %%r12;"
>       |         ^
> <inline asm>:1:159: note: instantiated into assembly here
>     1 |         push %rbx; push %rbp; push %r12;push %r13; push %r14; push %r15;sub %esp,%ecx;cmp $4096, %ecx;ja .L_skip;mov %rsp,%rsi;.L_wq_resume: rep movsb;mov %rsp,%rsi;.L_skip:pop %r15; pop %r14; pop %r13;pop %r12; pop %rbp; pop %rbx
>       |                                                                                                                                                                      ^
> 2 errors generated.
>
> The inline assembly block in __prepare_to_wait() is duplicated, thus
> leading to multiple definitions of the otherwise unique labels inside the
> assembly block.  GCC extended-asm documentation notes the possibility of
> duplicating asm blocks:
>
>> Under certain circumstances, GCC may duplicate (or remove duplicates of)
>> your assembly code when optimizing. This can lead to unexpected duplicate
>> symbol errors during compilation if your asm code defines symbols or
>> labels. Using â%=â (see AssemblerTemplate) may help resolve this problem.
> Workaround the issue by latching esp to a local variable, this prevents
> clang duplicating the inline asm blocks.
>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 12:51:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 12:51:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919052.1323594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuWPg-0000D2-11; Tue, 18 Mar 2025 12:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919052.1323594; Tue, 18 Mar 2025 12:51: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 1tuWPf-0000Cv-UI; Tue, 18 Mar 2025 12:51:19 +0000
Received: by outflank-mailman (input) for mailman id 919052;
 Tue, 18 Mar 2025 12:51: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuWPe-0007mp-S8
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 12:51:18 +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 af51b806-03f7-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 13:51:18 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3912d2c89ecso5133179f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 05:51:18 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df34eesm18309321f8f.18.2025.03.18.05.51.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 05:51: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: af51b806-03f7-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742302278; x=1742907078; 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=45335+bau0P1jQuO1YgY3jzW2XCzRmSU3orhuFozqiA=;
        b=LTViwAOLgY0t/FsX8RXRcW7JvGDfXIa1CZ7e0SN4p3DTsRxdrEuvdTf7jVIrIIutWa
         5JFzrkHN6VoOAE6NYbRVFiqkVUjkgqsHPlONKhicNjyMDuOObp/f4QMQoWAMna8zWmoC
         QNb3UexfhHNHLRmVrQtfBUdSjdKQIbRGNyMjg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742302278; x=1742907078;
        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=45335+bau0P1jQuO1YgY3jzW2XCzRmSU3orhuFozqiA=;
        b=esJMzt3YH7CsK5FIto7OdaF2GzgaSriQENHk7Pvd87nJsb2pBi4EFh43R7vGFDWAIu
         gSBD0DF/JgzYCPWOOYmT7HSPQqIarYaPfUebangjATSX94jYxFAlsxxN5mUgAHQZLju2
         bynlTpBMLQXXThE5DHXpMbcxTwJiYGaKYpxmVq+U0MTUxNfYOghmkbC/L5EX/R/zP0op
         1f2PdG5PKZT8tby7DmDAj3XCJTwzgF00Kb9TetHMYtaQfDrE4BbXpMUE1toYOvpGiEjM
         e6E1nKRA8ZUZInFEoEJ8NcoeSHq7OaYwwN7cAx3afXNGMZmrY1aSNY95WJkZWVmwg8WY
         eqwg==
X-Forwarded-Encrypted: i=1; AJvYcCX/3CGNKvyR1GthwtvS/QprGYQS9Cgiu0z7fRah2swN9kPOcBxBvWyOIa6VScwl0TQxnddHxNkU8p4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy1GG0V9wG2JI+E8G6MzOreFa672RBQkoJ8Gd9qP8H3r298D2op
	S5swpTRHg4vcp6Xyj6X5ElWVE7veiyvoF7JK6BLBqfAGSAFfFqrd024v8VxkvLGn+SK5JhDi8Pc
	S
X-Gm-Gg: ASbGnctMF9DIlkUA72t09/veNjcL61cG3YmNVXweEyvcvO0V3c7dd5f+kzZzJyhpPhN
	vRB3DHuXdlyNv1bzX/JlrK9UhDRpUdk6ft/2ZQOPEEbgPWxSOc9ag/3JW2GGzqqOz7/rka6e6Fo
	nkHKVlrV/s2+cPfRSHijl71e34xvtAsvV0jlFUZXXygDgprRM3BM7tjbo0H9tOXMKfhPkT0G5du
	DVeSPAk/5pRQx/Gzvnk2m7wxM6y+HEHv2lauKVEqXqM9naeBS1CxlD4S/O2MWq530uavv7THO3z
	CF4fRE9l32kG1yytSKd4NWnoGkj2PXwCSXqpNPhgJGHxVeLTZynAFNaPJlVwXTNTX8c+glVUbRy
	66mwitfAV
X-Google-Smtp-Source: AGHT+IFgboO0rOf6DXR0tyRVZPK4XYn8rgZ9FEcThhYR2JIqwJaT1MDhlXY9hwtRkVTkt2RscqRenA==
X-Received: by 2002:a05:6000:178c:b0:399:6d26:7752 with SMTP id ffacd0b85a97d-3996d26781dmr2395599f8f.38.1742302277525;
        Tue, 18 Mar 2025 05:51:17 -0700 (PDT)
Message-ID: <d3925807-72a8-4844-b3ca-380ff2a381b1@citrix.com>
Date: Tue, 18 Mar 2025 12:51:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/xlat: fix UB pointer arithmetic in
 COMPAT_ARG_XLAT_VIRT_BASE
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-4-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: <20250318091904.52903-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> UBSAN complains with:
>
> UBSAN: Undefined behaviour in common/compat/memory.c:90:9
> pointer operation overflowed ffff820080000000 to 0000020080000000
> [...]
> Xen call trace:
>    [<ffff82d040303882>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
>    [<ffff82d040304cc3>] F lib/xxhash64.c#__ubsan_handle_pointer_overflow+0xcb/0x100
>    [<ffff82d0402a6359>] F lib/xxhash64.c#compat_memory_op+0xf1/0x4d20
>    [<ffff82d04041545d>] F lib/xxhash64.c#hvm_memory_op+0x55/0xe0
>    [<ffff82d040416280>] F lib/xxhash64.c#hvm_hypercall+0xae8/0x21b0
>    [<ffff82d0403b25ca>] F lib/xxhash64.c#svm_vmexit_handler+0x1252/0x2450
>    [<ffff82d0402049c0>] F lib/xxhash64.c#svm_stgi_label+0x5/0x15
>
> Adjust the calculations in COMPAT_ARG_XLAT_VIRT_BASE to subtract from the
> per-domain area to obtain the mirrored linear address in the 4th slot,
> instead of overflowing the per-domain linear address.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 12:53:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 12:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919063.1323604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuWRr-0000lw-D4; Tue, 18 Mar 2025 12:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919063.1323604; Tue, 18 Mar 2025 12: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 1tuWRr-0000lp-9F; Tue, 18 Mar 2025 12:53:35 +0000
Received: by outflank-mailman (input) for mailman id 919063;
 Tue, 18 Mar 2025 12:53: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuWRp-0000lh-J5
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 12:53:33 +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 ff2368a5-03f7-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 13:53:32 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-394780e98easo3607071f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 05:53:32 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffbfa90sm133131095e9.16.2025.03.18.05.53.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 05:53: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: ff2368a5-03f7-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742302411; x=1742907211; 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=5akHyPQzgTDjrQKsXbOWl735Gs1auaE7L6wgWd8mINo=;
        b=keqqaMPYrNBGOLnBPokR1k9gRbwIFysoi22pBojNsWMar+j5ioQQJyl2AIVP/veBWr
         /L5CW0RvDjs2H7+7O7lGY374ypWhcRuqie9v+0Unxz2grmzrVv7fSl/Cc3zRWfdgy3l3
         QVdlJ5x0S2+OalHR7TN6Zyo9zbAX7V0yDd+ew=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742302411; x=1742907211;
        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=5akHyPQzgTDjrQKsXbOWl735Gs1auaE7L6wgWd8mINo=;
        b=H69vYNbgYNqykcFyfyDdSjLRUUsNPMd9AJm4sevVJgv+hL6iR/RKtEXEo0/f6OnEZQ
         zID+uKv/XTzoEdnE8n8BQNjODEyrjlUqIHdAtpJ1EAxjWhIlwax3WAO+n/qolwDYOzPK
         R0Z3ADjB0QkfTiLJ0YjIMwKD7a/fEa7LLH0JgISOHgTRNHZ/jF2g2RC3uYkHzKgcpJmd
         Pg8bdiLEVOBlfthB4HyKCE4ibteIfV/p4m0tcFKIuaDxnvxx43V2XA66IlvovBVcP84t
         oQx3fTE3PGaslWyXwGGjBFnmiVUB8/aNzl/9SzVgowdD/42WLyXgy7pv+W1Ku8lPXhp5
         H6aw==
X-Forwarded-Encrypted: i=1; AJvYcCW4out1Y9k4EaOJuGEf4Bl96L3XluQDWAfwPV6UgQFxhGua0j+ragrWPlp32Xokp57GvCFbcC08FKc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywt2zCPO44bXV9cvate+vQPC6U1AVM2N3sOz55Zq87FfX+HQza6
	h2d+VsKXBFxWcREyd1GSPDSwjl4JCJop2sP413LSEEFbWXNRE4qknv9xjCn3zoM=
X-Gm-Gg: ASbGncsq8R0gmwpsVsVZZEFbSEcAZDJY+H9OL6BFSm1XpijsYw7MI75MMtr+9tIFUJ/
	CdrYwPrjHIAH7x99gGJSUsmkymz4ij7QlenMwtgmOOAzjtgmQZVvv0TpMPeM7cSXASilVJ0Hfxj
	ciekzTBs/69rxSo0g6M7CnNAhslhZ+3spFVrfAYgEYtYESYTEVnuwdDsUWujDnJATCXYa+pdUJn
	pV6t6cQN4m36SdSdKXxJ9aZ8e74GCNXPzigwxpi37x6a1harawvF4Szv0Jg3hQwwooa9ZmeYvPx
	2ApwBXY2gniXLQGQfk12xFgW2dHI+zMiYXF60qdaQf9tHC99U0w4ZpsL7fm0aEzkEk9RiIWw64T
	u+T9N+2bd
X-Google-Smtp-Source: AGHT+IGm3TQiDNBMvzXgKre6dpwoi7na05G5zzmIn+qL+zEsWb2/UXkil3NHlU+lbGgtWgBnQ4SYmQ==
X-Received: by 2002:a05:6000:1548:b0:38f:23f4:2d7a with SMTP id ffacd0b85a97d-3996b49999bmr3744546f8f.40.1742302411472;
        Tue, 18 Mar 2025 05:53:31 -0700 (PDT)
Message-ID: <1871a0ff-5766-4707-8791-c20279c12fd9@citrix.com>
Date: Tue, 18 Mar 2025 12:53:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] x86/shadow: fix UB pointer arithmetic in
 sh_mfn_is_a_page_table()
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Tim Deegan <tim@xen.org>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-5-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: <20250318091904.52903-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> UBSAN complains with:
>
> UBSAN: Undefined behaviour in arch/x86/mm/shadow/private.h:515:30
> pointer operation overflowed ffff82e000000000 to ffff82dfffffffe0
> [...]
> Xen call trace:
>    [<ffff82d040303882>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
>    [<ffff82d040304cc3>] F lib/xxhash64.c#__ubsan_handle_pointer_overflow+0xcb/0x100
>    [<ffff82d040471c5d>] F arch/x86/mm/shadow/guest_2.c#sh_page_fault__guest_2+0x1e350
>    [<ffff82d0403b216b>] F lib/xxhash64.c#svm_vmexit_handler+0xdf3/0x2450
>    [<ffff82d0402049c0>] F lib/xxhash64.c#svm_stgi_label+0x5/0x15

Something is definitely wonky in this backtrace.

>
> Fix by moving the call to mfn_to_page() after the check of whether the
> passed gmfn is valid.  This avoid the call to mfn_to_page() with an
> INVALID_MFN parameter.
>
> While there make the page local variable const, it's not modified by the
> function.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Whatever is wonky in the backtrace isn't related to this patch, so
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, but the backtrace
does want fixing.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 12:57:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 12:57:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919074.1323614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuWVs-0001O7-RW; Tue, 18 Mar 2025 12:57:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919074.1323614; Tue, 18 Mar 2025 12:57: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 1tuWVs-0001O0-Ng; Tue, 18 Mar 2025 12:57:44 +0000
Received: by outflank-mailman (input) for mailman id 919074;
 Tue, 18 Mar 2025 12:57: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuWVr-0001Nu-5g
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 12:57:43 +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 9432591a-03f8-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 13:57:42 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so15674295e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 05:57:42 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fdda2dbsm134894375e9.2.2025.03.18.05.57.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 05: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: 9432591a-03f8-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742302662; x=1742907462; 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=EF7urUkj3Lh7LIvDdeXv24STz2K8TurF3cbRfAhb/g4=;
        b=NlZ4TOWRPmr6nISTLpfEXKkxD8+xPakRMC5pJ9MpBqoVv7dx9isTnmj3/S1YLP4oPj
         AqQS0enlWLJz59iVmpiIFwwhvL77aKHdm6qogLk0EAIJlRA09nVSB8I5Y8gjBg56A6/6
         +xT/U55LZr3+AjqlgR+Nhi0Ee5HXpaoAqBgPA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742302662; x=1742907462;
        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=EF7urUkj3Lh7LIvDdeXv24STz2K8TurF3cbRfAhb/g4=;
        b=v3k7yHTZgkYri3AKsv/Ya1Fxg0Z0RNPT09UDeAoZBx1WaxSsXYKxGkigM/VsLBN+sf
         fMhc9zQSqAfnOko72cFknVBl61DVcjziwrLzi2WeiJbBnJwk9bBHZzBxaaaJmeL9rPa4
         ud/pdNnfjJN3cDVr050SpkMbTaVC+uPQ4V3Wr67zBDZYLy7vwph5H2i/TqUp0e6/4HX/
         HXwpKItdUTCLwLPG1ZOj6ZPCd3n9dJWiH+JGwK/pmkSoZAnlEoz3RX1C+MMBnKtE4Apf
         8qErcpeTyemUcyat1L1DgtiWySPM2+w12qn9Tm1Hro7Gt7RKvo4Pw3TBMcfabHJo1Tfu
         z1Eg==
X-Forwarded-Encrypted: i=1; AJvYcCV/D1Td92RUlRaFmOVEhE7vAI1NTYS5sIIsLXQd03R9zkP7/LA1I9wgfQfs8SRk5wn3FrGp8YwiCa0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxY9wT4MKCIVylfn/ctoIgDO7zD1bAUkZbjP5azE55aCi/0s6cj
	hJkdhzddrID4KEkHPWg99i9gGTeU/Plui6ZkBiRpXGTtI0z9tXfTRqbJtUJwiw8=
X-Gm-Gg: ASbGnctXAyD4K+wob5NANXXRCOPWHExO+xyRNxps3Z7vuGSC/4rXEy83dYuV7kof4m0
	sueuktdd782lKS2MusNtcdsYgpn6P7r5ndsALyS0WVaf+GgUqE3H2ceZ3FazGq2TPy9DZ0g5YVS
	uBKe0zY6JmSSxwP0XMhcc5ImwdUr72qg8wUA58c0O7flQgVIdAC8rPntYqBjbNMDgjn/BAackXv
	WvIAVHwEVPO2mSRJuc+snQhwO+0rD3rfViaDN+4ZU4KKvpYOFxKeIGAOUlBfaoLRIioXLsZMjVB
	YzpZ6SXcCmXqDS99scU8BRsZc17xYVwwG4vZtuK7C68B6GbrSiC0eLvXVbGZMNCdaF6oH/o2V3a
	2f2NINaM5
X-Google-Smtp-Source: AGHT+IFw3FuHxPbfrcTYHFsYJSVHUXR3nkVyZlmvKgPeKfbCgmKn8fwEhAMfZUqI6wU6/mVm2uJKGA==
X-Received: by 2002:a05:600c:c8f:b0:43d:934:ea97 with SMTP id 5b1f17b1804b1-43d3b9ce6d9mr17185195e9.27.1742302661517;
        Tue, 18 Mar 2025 05:57:41 -0700 (PDT)
Message-ID: <dc655670-8999-4f9d-9e58-cec2849bff24@citrix.com>
Date: Tue, 18 Mar 2025 12:57:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] kconfig/randconfig: enable UBSAN for randconfig
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>,
 Doug Goldstein <cardoe@cardoe.com>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-6-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: <20250318091904.52903-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> Introduce an additional Kconfig check to only offer the option if the
> compiler supports -fsanitize=undefined.
>
> We no longer use Travis CI, so the original motivation for not enabling
> UBSAN might no longer present.  Regardless, the option won't be present in
> the first place if the compiler doesn't support -fsanitize=undefined.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

I can't remember quite what it was, but it was very early days and I
recall the toolchain cared about libubsan which wasn't in the Travis
environment, even though the end build didn't need it.

Either way, it's long obsolete now.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 13:06:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 13:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919087.1323624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuWdk-0003xG-NQ; Tue, 18 Mar 2025 13:05:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919087.1323624; Tue, 18 Mar 2025 13:05: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 1tuWdk-0003x9-KG; Tue, 18 Mar 2025 13:05:52 +0000
Received: by outflank-mailman (input) for mailman id 919087;
 Tue, 18 Mar 2025 13:05: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=aZzY=WF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuWdk-0003x3-1Z
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 13:05:52 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6b6cc09-03f9-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 14:05:49 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5eb5ecf3217so408869a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 06:05:49 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e81692e583sm7587290a12.16.2025.03.18.06.05.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 06:05: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: b6b6cc09-03f9-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742303149; x=1742907949; 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=19IxMz8lGz4MFP0BpSGs7rafPMeUt0fwG2lzaJTnAW8=;
        b=g7vh/Jc9GJNCbSfQwvg+3mqNbAmrvkLxuIcWKFRZilIO4kiTaHG697x5yI2YAecWpb
         sPLG+w980voavtje1ctP1RJq6h3AptQ4PrOUFhY7md6/lV7dUTZUVT/f1+JOe6NXShIA
         PN0pNi+AG10+5O18tGResyMRbA//AZqzxfPUFtJMwZgjrHXik7O/MQYapdKyfENTlq6W
         PgLYa+3g5yCkvk92v0nQSB/i6lOVNTwYh7Bfxx7xSpV9eocnx94qtTJzYY9Gy2NFGcV8
         UOVtIr+VhSGPBtkNCv3m8QYy1EEsqd6aUkQKj19YxGWVvSVteEFGw0xNmPk4J5s5v3k2
         wItg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742303149; x=1742907949;
        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=19IxMz8lGz4MFP0BpSGs7rafPMeUt0fwG2lzaJTnAW8=;
        b=IuhmhZuAfuY1CoSVmRa3wKVSO2G5iKatXrIoqOhRE/oM7/BPn/Tw64Rvie6DjcHIHf
         AB/Bzld7z3a6154LIA/cmkNvXceruyGFwRbsEmfVcKX6s1cwp2bUHcGAv/B1c7bi2knP
         /prWJskGqmrJPROutpPBsD0qKEPp0y/XokbhhnLpU19+Guj6GKURoTVnDTcoXNMl33oh
         HOEf3Xu2mBO3Qfp7feQpTHTjILpQmYnmzT3nmeL6LwFDHLFwfPBc+y+V1j4IFTinGAj9
         BH2YFucDciTM7z27hsGEeycslUybyIVQasFm0nEfxMCgEgadhbQcgJ4kd1lsVNjtRsfb
         Mprg==
X-Forwarded-Encrypted: i=1; AJvYcCWMFgdT4pNWvQ/p3FY4xipbw2lOjKXP53R9ybSuHyb3U4auhycuuNsivuAza50W0X2JAjwQOlQ0xio=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQU8h0zMBkoomf/Sx6De//sdF+BQB4w4WGVvXjGbpxXBVXSzAT
	qvdOj4LOwGLZJa+QSR2WR20tZRldjzBit4X7YRd9zdWoZveQR6+3
X-Gm-Gg: ASbGncs33DRVvL4XVXUdoHFMOnX2cl65sbA8bibz9yJwPpIKGduvdxvkFUxsylitQXW
	szME85/M16JG17udgmMrr5hW5npFo/Z/zXAFQDEKIpRk3NwBzAyKsC/XHjySMJeWHFksV7HbVsS
	1kO4HKhvaX0jkIGW8W7Fc3EKJc81ZkiidC1CvC9dR2vwzY0fr8nN3DrvodJqWSWX4b78RlfUds4
	sc6bPkIMpAk1P66ted0QRhl8tI9XG1J34rEaWa0/cv1Go7D6NC7dHSAER0oJXZeVcQ2aS/Z0Llo
	S/s/dvFIzsarIE6DrgFN9nxdLgSfjkZPtEngNGR9g90AqKTLPPJaeQ6C8ZDpFctcOH4ZoDy66sW
	lHjUGhB6Xs0WdKx7Ak/mz
X-Google-Smtp-Source: AGHT+IFJdjNURFEaUqHZBxFczEqK2o079ppwJQxFenARXxik9AblSukSnb82sD2X3autl/DVsMjMiA==
X-Received: by 2002:a05:6402:50d4:b0:5dc:7f96:6263 with SMTP id 4fb4d7f45d1cf-5e89fa4c881mr16605840a12.15.1742303143737;
        Tue, 18 Mar 2025 06:05:43 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------fMkIWatqs0dlE00Y0Q8J1x0g"
Message-ID: <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
Date: Tue, 18 Mar 2025 14:05:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250317200727.798696-7-luca.fancellu@arm.com>

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


On 3/17/25 9:07 PM, Luca Fancellu wrote:
> From: Penny Zheng<Penny.Zheng@arm.com>
>
> ARM MPU system doesn't need to use paging memory pool, as MPU memory
> mapping table at most takes only one 4KB page, which is enough to
> manage the maximum 255 MPU memory regions, for all EL2 stage 1
> translation and EL1 stage 2 translation.
>
> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
> MMU systems, x86 and RISC-V.
>
> Wrap the code inside 'construct_domU' that deal with p2m paging
> allocation in a new function 'domain_p2m_set_allocation', protected
> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
> the former function with #ifdefs and improve readability
>
> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
> with !ARCH_PAGING_MEMPOOL.
>
> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
> field is not required.
>
> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
> Signed-off-by: Wei Chen<wei.chen@arm.com>
> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
> ---
> v3 changes:
>   - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
> v2 changes:
>   - make Kconfig HAS_PAGING_MEMPOOL common
>   - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>   - do not define p2m_teardown{_allocation} in this patch
>   - change commit message
> ---
>   xen/arch/arm/Kconfig              |  1 +
>   xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>   xen/arch/arm/include/asm/domain.h |  2 +
>   xen/arch/riscv/Kconfig            |  1 +
>   xen/arch/x86/Kconfig              |  1 +
>   xen/common/Kconfig                |  3 ++
>   xen/include/xen/domain.h          | 17 +++++++
>   7 files changed, 73 insertions(+), 26 deletions(-)

For RISC-V:
  Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 5ac6ec0212d2..a4af0b85f158 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -75,6 +75,7 @@ choice
>   
>   config MMU
>   	bool "MMU"
> +	select ARCH_PAGING_MEMPOOL
>   	select HAS_LLC_COLORING if !NUMA && ARM_64
>   	select HAS_PMAP
>   	select HAS_VMAP
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 573b0d25ae41..6eef6ba91444 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -673,21 +673,6 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>       return -EINVAL;
>   }
>   
> -static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
> -                                             unsigned int smp_cpus)
> -{
> -    /*
> -     * Keep in sync with libxl__get_required_paging_memory().
> -     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
> -     * plus 128 pages to cover extended regions.
> -     */
> -    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
> -
> -    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
> -
> -    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
> -}
> -
>   static int __init alloc_xenstore_evtchn(struct domain *d)
>   {
>       evtchn_alloc_unbound_t alloc;
> @@ -841,6 +826,53 @@ static void __init domain_vcpu_affinity(struct domain *d,
>       }
>   }
>   
> +#ifdef CONFIG_ARCH_PAGING_MEMPOOL
> +
> +static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
> +                                             unsigned int smp_cpus)
> +{
> +    /*
> +     * Keep in sync with libxl__get_required_paging_memory().
> +     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
> +     * plus 128 pages to cover extended regions.
> +     */
> +    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
> +
> +    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
> +
> +    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
> +}
> +
> +static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
> +                                            const struct dt_device_node *node)
> +{
> +    unsigned long p2m_pages;
> +    uint32_t p2m_mem_mb;
> +    int rc;
> +
> +    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
> +    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
> +    p2m_pages = rc ?
> +                p2m_mem_mb << (20 - PAGE_SHIFT) :
> +                domain_p2m_pages(mem, d->max_vcpus);
> +
> +    spin_lock(&d->arch.paging.lock);
> +    rc = p2m_set_allocation(d, p2m_pages, NULL);
> +    spin_unlock(&d->arch.paging.lock);
> +
> +    return rc;
> +}
> +
> +#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
> +
> +static inline int domain_p2m_set_allocation(struct domain *d, uint64_t mem,
> +                                            const struct dt_device_node *node)
> +{
> +    return 0;
> +}
> +
> +#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
> +
>   static int __init construct_domU(struct domain *d,
>                                    const struct dt_device_node *node)
>   {
> @@ -848,8 +880,6 @@ static int __init construct_domU(struct domain *d,
>       const char *dom0less_enhanced;
>       int rc;
>       u64 mem;
> -    u32 p2m_mem_mb;
> -    unsigned long p2m_pages;
>   
>       rc = dt_property_read_u64(node, "memory", &mem);
>       if ( !rc )
> @@ -859,15 +889,7 @@ static int __init construct_domU(struct domain *d,
>       }
>       kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
>   
> -    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
> -    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
> -    p2m_pages = rc ?
> -                p2m_mem_mb << (20 - PAGE_SHIFT) :
> -                domain_p2m_pages(mem, d->max_vcpus);
> -
> -    spin_lock(&d->arch.paging.lock);
> -    rc = p2m_set_allocation(d, p2m_pages, NULL);
> -    spin_unlock(&d->arch.paging.lock);
> +    rc = domain_p2m_set_allocation(d, mem, node);
>       if ( rc != 0 )
>           return rc;
>   
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index 50b6a4b00982..a3487ca71303 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -75,7 +75,9 @@ struct arch_domain
>   
>       struct hvm_domain hvm;
>   
> +#ifdef CONFIG_ARCH_PAGING_MEMPOOL
>       struct paging_domain paging;
> +#endif
>   
>       struct vmmio vmmio;
>   
> diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
> index d882e0a0598d..1bd8ae16dc65 100644
> --- a/xen/arch/riscv/Kconfig
> +++ b/xen/arch/riscv/Kconfig
> @@ -1,5 +1,6 @@
>   config RISCV
>   	def_bool y
> +	select ARCH_PAGING_MEMPOOL
>   	select FUNCTION_ALIGNMENT_16B
>   	select GENERIC_BUG_FRAME
>   	select HAS_DEVICE_TREE
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index f08679959440..f6aa892661b4 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -9,6 +9,7 @@ config X86
>   	select ACPI_NUMA
>   	select ALTERNATIVE_CALL
>   	select ARCH_MAP_DOMAIN_PAGE
> +	select ARCH_PAGING_MEMPOOL
>   	select ARCH_SUPPORTS_INT128
>   	imply CORE_PARKING
>   	select FUNCTION_ALIGNMENT_16B
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index a6aa2c5c1456..218357d593b7 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -44,6 +44,9 @@ config ALTERNATIVE_CALL
>   config ARCH_MAP_DOMAIN_PAGE
>   	bool
>   
> +config ARCH_PAGING_MEMPOOL
> +	bool
> +
>   config GENERIC_BUG_FRAME
>   	bool
>   
> diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
> index 83069de50118..a34daa7d10ab 100644
> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -2,6 +2,7 @@
>   #ifndef __XEN_DOMAIN_H__
>   #define __XEN_DOMAIN_H__
>   
> +#include <xen/errno.h>
>   #include <xen/numa.h>
>   #include <xen/types.h>
>   
> @@ -114,9 +115,25 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c);
>   int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
>   int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
>   
> +#ifdef CONFIG_ARCH_PAGING_MEMPOOL
> +
>   int arch_get_paging_mempool_size(struct domain *d, uint64_t *size /* bytes */);
>   int arch_set_paging_mempool_size(struct domain *d, uint64_t size /* bytes */);
>   
> +#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
> +
> +static inline int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
> +static inline int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
> +#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
> +
>   bool update_runstate_area(struct vcpu *v);
>   
>   int domain_relinquish_resources(struct domain *d);
--------------fMkIWatqs0dlE00Y0Q8J1x0g
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 3/17/25 9:07 PM, Luca Fancellu
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250317200727.798696-7-luca.fancellu@arm.com">
      <pre wrap="" class="moz-quote-pre">From: Penny Zheng <a class="moz-txt-link-rfc2396E" href="mailto:Penny.Zheng@arm.com">&lt;Penny.Zheng@arm.com&gt;</a>

ARM MPU system doesn't need to use paging memory pool, as MPU memory
mapping table at most takes only one 4KB page, which is enough to
manage the maximum 255 MPU memory regions, for all EL2 stage 1
translation and EL1 stage 2 translation.

Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
MMU systems, x86 and RISC-V.

Wrap the code inside 'construct_domU' that deal with p2m paging
allocation in a new function 'domain_p2m_set_allocation', protected
by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
the former function with #ifdefs and improve readability

Introduce arch_{get,set}_paging_mempool_size stubs for architecture
with !ARCH_PAGING_MEMPOOL.

Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
field is not required.

Signed-off-by: Penny Zheng <a class="moz-txt-link-rfc2396E" href="mailto:penny.zheng@arm.com">&lt;penny.zheng@arm.com&gt;</a>
Signed-off-by: Wei Chen <a class="moz-txt-link-rfc2396E" href="mailto:wei.chen@arm.com">&lt;wei.chen@arm.com&gt;</a>
Signed-off-by: Luca Fancellu <a class="moz-txt-link-rfc2396E" href="mailto:luca.fancellu@arm.com">&lt;luca.fancellu@arm.com&gt;</a>
---
v3 changes:
 - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
v2 changes:
 - make Kconfig HAS_PAGING_MEMPOOL common
 - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
 - do not define p2m_teardown{_allocation} in this patch
 - change commit message
---
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
 xen/arch/arm/include/asm/domain.h |  2 +
 xen/arch/riscv/Kconfig            |  1 +
 xen/arch/x86/Kconfig              |  1 +
 xen/common/Kconfig                |  3 ++
 xen/include/xen/domain.h          | 17 +++++++
 7 files changed, 73 insertions(+), 26 deletions(-)</pre>
    </blockquote>
    <pre>For RISC-V:
 Reviewed-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.</pre>
    <pre>~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:20250317200727.798696-7-luca.fancellu@arm.com">
      <pre wrap="" class="moz-quote-pre">

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5ac6ec0212d2..a4af0b85f158 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -75,6 +75,7 @@ choice
 
 config MMU
 	bool "MMU"
+	select ARCH_PAGING_MEMPOOL
 	select HAS_LLC_COLORING if !NUMA &amp;&amp; ARM_64
 	select HAS_PMAP
 	select HAS_VMAP
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 573b0d25ae41..6eef6ba91444 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -673,21 +673,6 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     return -EINVAL;
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) &lt;&lt; (20 - PAGE_SHIFT);
-}
-
 static int __init alloc_xenstore_evtchn(struct domain *d)
 {
     evtchn_alloc_unbound_t alloc;
@@ -841,6 +826,53 @@ static void __init domain_vcpu_affinity(struct domain *d,
     }
 }
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) &lt;&lt; (20 - PAGE_SHIFT);
+}
+
+static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
+                                            const struct dt_device_node *node)
+{
+    unsigned long p2m_pages;
+    uint32_t p2m_mem_mb;
+    int rc;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &amp;p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb &lt;&lt; (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d-&gt;max_vcpus);
+
+    spin_lock(&amp;d-&gt;arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&amp;d-&gt;arch.paging.lock);
+
+    return rc;
+}
+
+#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
+
+static inline int domain_p2m_set_allocation(struct domain *d, uint64_t mem,
+                                            const struct dt_device_node *node)
+{
+    return 0;
+}
+
+#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -848,8 +880,6 @@ static int __init construct_domU(struct domain *d,
     const char *dom0less_enhanced;
     int rc;
     u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
 
     rc = dt_property_read_u64(node, "memory", &amp;mem);
     if ( !rc )
@@ -859,15 +889,7 @@ static int __init construct_domU(struct domain *d,
     }
     kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
 
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &amp;p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb &lt;&lt; (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d-&gt;max_vcpus);
-
-    spin_lock(&amp;d-&gt;arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&amp;d-&gt;arch.paging.lock);
+    rc = domain_p2m_set_allocation(d, mem, node);
     if ( rc != 0 )
         return rc;
 
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 50b6a4b00982..a3487ca71303 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -75,7 +75,9 @@ struct arch_domain
 
     struct hvm_domain hvm;
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
     struct paging_domain paging;
+#endif
 
     struct vmmio vmmio;
 
diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index d882e0a0598d..1bd8ae16dc65 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -1,5 +1,6 @@
 config RISCV
 	def_bool y
+	select ARCH_PAGING_MEMPOOL
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
 	select HAS_DEVICE_TREE
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index f08679959440..f6aa892661b4 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -9,6 +9,7 @@ config X86
 	select ACPI_NUMA
 	select ALTERNATIVE_CALL
 	select ARCH_MAP_DOMAIN_PAGE
+	select ARCH_PAGING_MEMPOOL
 	select ARCH_SUPPORTS_INT128
 	imply CORE_PARKING
 	select FUNCTION_ALIGNMENT_16B
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index a6aa2c5c1456..218357d593b7 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -44,6 +44,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config ARCH_PAGING_MEMPOOL
+	bool
+
 config GENERIC_BUG_FRAME
 	bool
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 83069de50118..a34daa7d10ab 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -2,6 +2,7 @@
 #ifndef __XEN_DOMAIN_H__
 #define __XEN_DOMAIN_H__
 
+#include &lt;xen/errno.h&gt;
 #include &lt;xen/numa.h&gt;
 #include &lt;xen/types.h&gt;
 
@@ -114,9 +115,25 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c);
 int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
+
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size /* bytes */);
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size /* bytes */);
 
+#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
+
+static inline int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    return -EOPNOTSUPP;
+}
+
+static inline int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    return -EOPNOTSUPP;
+}
+
+#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
+
 bool update_runstate_area(struct vcpu *v);
 
 int domain_relinquish_resources(struct domain *d);
</pre>
    </blockquote>
  </body>
</html>

--------------fMkIWatqs0dlE00Y0Q8J1x0g--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 13:06:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 13:06:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919089.1323633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuWeB-0004Ev-TX; Tue, 18 Mar 2025 13:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919089.1323633; Tue, 18 Mar 2025 13:06: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 1tuWeB-0004Eo-Qz; Tue, 18 Mar 2025 13:06:19 +0000
Received: by outflank-mailman (input) for mailman id 919089;
 Tue, 18 Mar 2025 13:06: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=aZzY=WF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuWeA-0003x3-JV
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 13:06:18 +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 c695f061-03f9-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 14:06:16 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac2dfdf3c38so1036201866b.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 06:06:16 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e81692e583sm7587290a12.16.2025.03.18.06.05.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 06:05: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: c695f061-03f9-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742303176; x=1742907976; 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=19IxMz8lGz4MFP0BpSGs7rafPMeUt0fwG2lzaJTnAW8=;
        b=iwN1OwWYXgs8sfwd/7roH/lTq+SITnqfCF3X6Y8Athr9E+S/GI7vBdBEJDW7XrMTg/
         jtclZEsbg8Kf2OAFJNfVEb/0hkIl3v6/mtYl8uW08o9QgijtiFUeJQYvr6EzuB34vKDY
         7sNFwJfuhN6qhgQHweLT4aCkECqRFIWUm0wWqBymZT8SxskgSpHxivnOo8NnNkabOP3p
         IdRSmGn+/gbxV1WPYHtK/e/6y3Q6yl2WM+L1ZpDat88EcbgaVJcRuOxsL8c6c8RrBD2j
         ndtZ7KzzZW6BKP3Veqhcwq5NllpdsGVVyD4QwnfGhE7HJWr9OK1qr9sl7eAafNVHlV/T
         I+Xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742303176; x=1742907976;
        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=19IxMz8lGz4MFP0BpSGs7rafPMeUt0fwG2lzaJTnAW8=;
        b=qS/OrhFNCc93B0uYBJgWtcIiRMumKJvt52au+4PvP4ajUrmViFAPhL5t+XlF7dnPmM
         mnVaaRJsVw//AatTjZGsSVZ8oZDU5AwrtLUIv1h0MjBq11EWTWaTcRvrRhgQ5zn/7Y8d
         +kCWYxsuCHgVuT3WU26KHFLC5oiT2d54XpqftC4HZPlQ1npXWUSWu0OmYTcswy/bqr+8
         mi25r4i239M9cfLBc4fJWK3ryw4DWChn1nLBXjjJnVXQL/1PTn9lloiHSnUOmqil4GwX
         yFVweuQsYylxlzQFftnQ82BQY9WoZeETa/S0BzGAuIkojwo0Q1PU9iXTI+BU519EdcGp
         ATAA==
X-Forwarded-Encrypted: i=1; AJvYcCVxoqQdBmw6nIBXNbvtLmd/VAQ84u9eaGUJxwt1C/KwpFytjxRjVkY3r0b8QXKW5GvF9wqIwgQK7Xw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDcXAODvRNicKagV2q9O9szCR+XtwVuaznqyOwyRieReEZyEyE
	2dH3xid1zv6hczBr7KSW00WrTeNYtK4iSVdCVClvMpBzllfryvXv
X-Gm-Gg: ASbGncvvAf3KPB/rhJsxNoFEhbtS/V7OD8R3jE99Dxjf+OdKBdX/22rr0gp0jzDy94U
	H2/cJJwKePIQzt1y8QSg8E8htOBdlM3tOAxFjVfk7uOQxZbdnBpnlemfQvBmQh1zgEmZ3KLQpdP
	kjkQ3DmD3Y66JXj+YKyokImVy4PHTEgOzy6G7byGhEKTQHCBmZQt+a9Ch7iRWDlJDyA6bikD7OM
	jRIw9ot5y9je6GrUti56bqVpw/DQl9YjyngG06m/HYJ4Qn6pYZq0o/vfkW31SUrxp/d2aKaYL3R
	ukqY/JtTJhSGyfohR6v8uaMzjt85WQ292GrKNe1ptvHRet/grtff/p66B7YDGOn1GJm41VEEyGO
	UpiiaIy7etBKlr4mcIuvs
X-Google-Smtp-Source: AGHT+IFdh6vIlJ7PjT2NvrhNnM4NxrHFYCFf0c20kZqcZdazBrwvxnRGwfjtjVLbmE+/Mh9MuCZNjA==
X-Received: by 2002:a17:907:9713:b0:abf:4c82:22b1 with SMTP id a640c23a62f3a-ac330284c14mr1499456566b.32.1742303160344;
        Tue, 18 Mar 2025 06:06:00 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------fMkIWatqs0dlE00Y0Q8J1x0g"
Message-ID: <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
Date: Tue, 18 Mar 2025 14:05:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250317200727.798696-7-luca.fancellu@arm.com>

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


On 3/17/25 9:07 PM, Luca Fancellu wrote:
> From: Penny Zheng<Penny.Zheng@arm.com>
>
> ARM MPU system doesn't need to use paging memory pool, as MPU memory
> mapping table at most takes only one 4KB page, which is enough to
> manage the maximum 255 MPU memory regions, for all EL2 stage 1
> translation and EL1 stage 2 translation.
>
> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
> MMU systems, x86 and RISC-V.
>
> Wrap the code inside 'construct_domU' that deal with p2m paging
> allocation in a new function 'domain_p2m_set_allocation', protected
> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
> the former function with #ifdefs and improve readability
>
> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
> with !ARCH_PAGING_MEMPOOL.
>
> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
> field is not required.
>
> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
> Signed-off-by: Wei Chen<wei.chen@arm.com>
> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
> ---
> v3 changes:
>   - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
> v2 changes:
>   - make Kconfig HAS_PAGING_MEMPOOL common
>   - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>   - do not define p2m_teardown{_allocation} in this patch
>   - change commit message
> ---
>   xen/arch/arm/Kconfig              |  1 +
>   xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>   xen/arch/arm/include/asm/domain.h |  2 +
>   xen/arch/riscv/Kconfig            |  1 +
>   xen/arch/x86/Kconfig              |  1 +
>   xen/common/Kconfig                |  3 ++
>   xen/include/xen/domain.h          | 17 +++++++
>   7 files changed, 73 insertions(+), 26 deletions(-)

For RISC-V:
  Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 5ac6ec0212d2..a4af0b85f158 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -75,6 +75,7 @@ choice
>   
>   config MMU
>   	bool "MMU"
> +	select ARCH_PAGING_MEMPOOL
>   	select HAS_LLC_COLORING if !NUMA && ARM_64
>   	select HAS_PMAP
>   	select HAS_VMAP
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 573b0d25ae41..6eef6ba91444 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -673,21 +673,6 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>       return -EINVAL;
>   }
>   
> -static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
> -                                             unsigned int smp_cpus)
> -{
> -    /*
> -     * Keep in sync with libxl__get_required_paging_memory().
> -     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
> -     * plus 128 pages to cover extended regions.
> -     */
> -    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
> -
> -    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
> -
> -    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
> -}
> -
>   static int __init alloc_xenstore_evtchn(struct domain *d)
>   {
>       evtchn_alloc_unbound_t alloc;
> @@ -841,6 +826,53 @@ static void __init domain_vcpu_affinity(struct domain *d,
>       }
>   }
>   
> +#ifdef CONFIG_ARCH_PAGING_MEMPOOL
> +
> +static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
> +                                             unsigned int smp_cpus)
> +{
> +    /*
> +     * Keep in sync with libxl__get_required_paging_memory().
> +     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
> +     * plus 128 pages to cover extended regions.
> +     */
> +    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
> +
> +    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
> +
> +    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
> +}
> +
> +static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
> +                                            const struct dt_device_node *node)
> +{
> +    unsigned long p2m_pages;
> +    uint32_t p2m_mem_mb;
> +    int rc;
> +
> +    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
> +    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
> +    p2m_pages = rc ?
> +                p2m_mem_mb << (20 - PAGE_SHIFT) :
> +                domain_p2m_pages(mem, d->max_vcpus);
> +
> +    spin_lock(&d->arch.paging.lock);
> +    rc = p2m_set_allocation(d, p2m_pages, NULL);
> +    spin_unlock(&d->arch.paging.lock);
> +
> +    return rc;
> +}
> +
> +#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
> +
> +static inline int domain_p2m_set_allocation(struct domain *d, uint64_t mem,
> +                                            const struct dt_device_node *node)
> +{
> +    return 0;
> +}
> +
> +#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
> +
>   static int __init construct_domU(struct domain *d,
>                                    const struct dt_device_node *node)
>   {
> @@ -848,8 +880,6 @@ static int __init construct_domU(struct domain *d,
>       const char *dom0less_enhanced;
>       int rc;
>       u64 mem;
> -    u32 p2m_mem_mb;
> -    unsigned long p2m_pages;
>   
>       rc = dt_property_read_u64(node, "memory", &mem);
>       if ( !rc )
> @@ -859,15 +889,7 @@ static int __init construct_domU(struct domain *d,
>       }
>       kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
>   
> -    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
> -    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
> -    p2m_pages = rc ?
> -                p2m_mem_mb << (20 - PAGE_SHIFT) :
> -                domain_p2m_pages(mem, d->max_vcpus);
> -
> -    spin_lock(&d->arch.paging.lock);
> -    rc = p2m_set_allocation(d, p2m_pages, NULL);
> -    spin_unlock(&d->arch.paging.lock);
> +    rc = domain_p2m_set_allocation(d, mem, node);
>       if ( rc != 0 )
>           return rc;
>   
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index 50b6a4b00982..a3487ca71303 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -75,7 +75,9 @@ struct arch_domain
>   
>       struct hvm_domain hvm;
>   
> +#ifdef CONFIG_ARCH_PAGING_MEMPOOL
>       struct paging_domain paging;
> +#endif
>   
>       struct vmmio vmmio;
>   
> diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
> index d882e0a0598d..1bd8ae16dc65 100644
> --- a/xen/arch/riscv/Kconfig
> +++ b/xen/arch/riscv/Kconfig
> @@ -1,5 +1,6 @@
>   config RISCV
>   	def_bool y
> +	select ARCH_PAGING_MEMPOOL
>   	select FUNCTION_ALIGNMENT_16B
>   	select GENERIC_BUG_FRAME
>   	select HAS_DEVICE_TREE
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index f08679959440..f6aa892661b4 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -9,6 +9,7 @@ config X86
>   	select ACPI_NUMA
>   	select ALTERNATIVE_CALL
>   	select ARCH_MAP_DOMAIN_PAGE
> +	select ARCH_PAGING_MEMPOOL
>   	select ARCH_SUPPORTS_INT128
>   	imply CORE_PARKING
>   	select FUNCTION_ALIGNMENT_16B
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index a6aa2c5c1456..218357d593b7 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -44,6 +44,9 @@ config ALTERNATIVE_CALL
>   config ARCH_MAP_DOMAIN_PAGE
>   	bool
>   
> +config ARCH_PAGING_MEMPOOL
> +	bool
> +
>   config GENERIC_BUG_FRAME
>   	bool
>   
> diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
> index 83069de50118..a34daa7d10ab 100644
> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -2,6 +2,7 @@
>   #ifndef __XEN_DOMAIN_H__
>   #define __XEN_DOMAIN_H__
>   
> +#include <xen/errno.h>
>   #include <xen/numa.h>
>   #include <xen/types.h>
>   
> @@ -114,9 +115,25 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c);
>   int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
>   int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
>   
> +#ifdef CONFIG_ARCH_PAGING_MEMPOOL
> +
>   int arch_get_paging_mempool_size(struct domain *d, uint64_t *size /* bytes */);
>   int arch_set_paging_mempool_size(struct domain *d, uint64_t size /* bytes */);
>   
> +#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
> +
> +static inline int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
> +static inline int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
> +#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
> +
>   bool update_runstate_area(struct vcpu *v);
>   
>   int domain_relinquish_resources(struct domain *d);
--------------fMkIWatqs0dlE00Y0Q8J1x0g
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 3/17/25 9:07 PM, Luca Fancellu
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250317200727.798696-7-luca.fancellu@arm.com">
      <pre wrap="" class="moz-quote-pre">From: Penny Zheng <a class="moz-txt-link-rfc2396E" href="mailto:Penny.Zheng@arm.com">&lt;Penny.Zheng@arm.com&gt;</a>

ARM MPU system doesn't need to use paging memory pool, as MPU memory
mapping table at most takes only one 4KB page, which is enough to
manage the maximum 255 MPU memory regions, for all EL2 stage 1
translation and EL1 stage 2 translation.

Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
MMU systems, x86 and RISC-V.

Wrap the code inside 'construct_domU' that deal with p2m paging
allocation in a new function 'domain_p2m_set_allocation', protected
by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
the former function with #ifdefs and improve readability

Introduce arch_{get,set}_paging_mempool_size stubs for architecture
with !ARCH_PAGING_MEMPOOL.

Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
field is not required.

Signed-off-by: Penny Zheng <a class="moz-txt-link-rfc2396E" href="mailto:penny.zheng@arm.com">&lt;penny.zheng@arm.com&gt;</a>
Signed-off-by: Wei Chen <a class="moz-txt-link-rfc2396E" href="mailto:wei.chen@arm.com">&lt;wei.chen@arm.com&gt;</a>
Signed-off-by: Luca Fancellu <a class="moz-txt-link-rfc2396E" href="mailto:luca.fancellu@arm.com">&lt;luca.fancellu@arm.com&gt;</a>
---
v3 changes:
 - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
v2 changes:
 - make Kconfig HAS_PAGING_MEMPOOL common
 - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
 - do not define p2m_teardown{_allocation} in this patch
 - change commit message
---
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
 xen/arch/arm/include/asm/domain.h |  2 +
 xen/arch/riscv/Kconfig            |  1 +
 xen/arch/x86/Kconfig              |  1 +
 xen/common/Kconfig                |  3 ++
 xen/include/xen/domain.h          | 17 +++++++
 7 files changed, 73 insertions(+), 26 deletions(-)</pre>
    </blockquote>
    <pre>For RISC-V:
 Reviewed-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.</pre>
    <pre>~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:20250317200727.798696-7-luca.fancellu@arm.com">
      <pre wrap="" class="moz-quote-pre">

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5ac6ec0212d2..a4af0b85f158 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -75,6 +75,7 @@ choice
 
 config MMU
 	bool "MMU"
+	select ARCH_PAGING_MEMPOOL
 	select HAS_LLC_COLORING if !NUMA &amp;&amp; ARM_64
 	select HAS_PMAP
 	select HAS_VMAP
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 573b0d25ae41..6eef6ba91444 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -673,21 +673,6 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     return -EINVAL;
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) &lt;&lt; (20 - PAGE_SHIFT);
-}
-
 static int __init alloc_xenstore_evtchn(struct domain *d)
 {
     evtchn_alloc_unbound_t alloc;
@@ -841,6 +826,53 @@ static void __init domain_vcpu_affinity(struct domain *d,
     }
 }
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) &lt;&lt; (20 - PAGE_SHIFT);
+}
+
+static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
+                                            const struct dt_device_node *node)
+{
+    unsigned long p2m_pages;
+    uint32_t p2m_mem_mb;
+    int rc;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &amp;p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb &lt;&lt; (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d-&gt;max_vcpus);
+
+    spin_lock(&amp;d-&gt;arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&amp;d-&gt;arch.paging.lock);
+
+    return rc;
+}
+
+#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
+
+static inline int domain_p2m_set_allocation(struct domain *d, uint64_t mem,
+                                            const struct dt_device_node *node)
+{
+    return 0;
+}
+
+#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -848,8 +880,6 @@ static int __init construct_domU(struct domain *d,
     const char *dom0less_enhanced;
     int rc;
     u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
 
     rc = dt_property_read_u64(node, "memory", &amp;mem);
     if ( !rc )
@@ -859,15 +889,7 @@ static int __init construct_domU(struct domain *d,
     }
     kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
 
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &amp;p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb &lt;&lt; (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d-&gt;max_vcpus);
-
-    spin_lock(&amp;d-&gt;arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&amp;d-&gt;arch.paging.lock);
+    rc = domain_p2m_set_allocation(d, mem, node);
     if ( rc != 0 )
         return rc;
 
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 50b6a4b00982..a3487ca71303 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -75,7 +75,9 @@ struct arch_domain
 
     struct hvm_domain hvm;
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
     struct paging_domain paging;
+#endif
 
     struct vmmio vmmio;
 
diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index d882e0a0598d..1bd8ae16dc65 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -1,5 +1,6 @@
 config RISCV
 	def_bool y
+	select ARCH_PAGING_MEMPOOL
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
 	select HAS_DEVICE_TREE
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index f08679959440..f6aa892661b4 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -9,6 +9,7 @@ config X86
 	select ACPI_NUMA
 	select ALTERNATIVE_CALL
 	select ARCH_MAP_DOMAIN_PAGE
+	select ARCH_PAGING_MEMPOOL
 	select ARCH_SUPPORTS_INT128
 	imply CORE_PARKING
 	select FUNCTION_ALIGNMENT_16B
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index a6aa2c5c1456..218357d593b7 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -44,6 +44,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config ARCH_PAGING_MEMPOOL
+	bool
+
 config GENERIC_BUG_FRAME
 	bool
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 83069de50118..a34daa7d10ab 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -2,6 +2,7 @@
 #ifndef __XEN_DOMAIN_H__
 #define __XEN_DOMAIN_H__
 
+#include &lt;xen/errno.h&gt;
 #include &lt;xen/numa.h&gt;
 #include &lt;xen/types.h&gt;
 
@@ -114,9 +115,25 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c);
 int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 
+#ifdef CONFIG_ARCH_PAGING_MEMPOOL
+
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size /* bytes */);
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size /* bytes */);
 
+#else /* !CONFIG_ARCH_PAGING_MEMPOOL */
+
+static inline int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    return -EOPNOTSUPP;
+}
+
+static inline int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    return -EOPNOTSUPP;
+}
+
+#endif /* CONFIG_ARCH_PAGING_MEMPOOL */
+
 bool update_runstate_area(struct vcpu *v);
 
 int domain_relinquish_resources(struct domain *d);
</pre>
    </blockquote>
  </body>
</html>

--------------fMkIWatqs0dlE00Y0Q8J1x0g--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 13:12:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 13:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919111.1323644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuWje-0006xi-J8; Tue, 18 Mar 2025 13:11:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919111.1323644; Tue, 18 Mar 2025 13:11: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 1tuWje-0006xb-GS; Tue, 18 Mar 2025 13:11:58 +0000
Received: by outflank-mailman (input) for mailman id 919111;
 Tue, 18 Mar 2025 13:11: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuWjd-0006xV-J1
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 13:11:57 +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 8c7dfbef-03fa-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 14:11:48 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3912e96c8e8so3623416f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 06:11:48 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975b83sm18677359f8f.52.2025.03.18.06.11.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 06:11: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: 8c7dfbef-03fa-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742303508; x=1742908308; 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=af0l6Ity1oEgvpJOuUKir2VWs2oKMKFz/FduPxGLgl4=;
        b=m2u9dPu9VNmIEVIKcIOWP1Xj2fgA3QphKabTcZi3ANCBLquewsKVg2oeFty6+DGOY/
         GL0aE5D4AAmGzInYuvSv204vVQh02omhMpCtm+Jft14g87xlp+7vT8Z2L9wJoQL5VRzR
         sayYazGryCraEnS65OPILOtielJvzXB95tp4o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742303508; x=1742908308;
        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=af0l6Ity1oEgvpJOuUKir2VWs2oKMKFz/FduPxGLgl4=;
        b=pBvIJ/4kzZgWEh6AMN0oe5gaADWForO9O3R0Q2l9AWCWFttL+DnO9+aMFPLHW0S32D
         1nTPrWLs31HwO0QyPpnReFs1E/V+D9+kG9+9XoU5OgcAZX6yIPZYoKc4qh/ZcaSs/PW+
         AW+e9uK3FDo+u/0N8GfVY7/s5T2EUCySXxV94NLMf0vaMhQhaHnw/txVo9nF4yaLzvr0
         x7asgUC6EIeFJ4ipdWG6NmCO22KUAMu1CJTN1yqdnjMfhTisPjpI4FqZh0BUZ8c313vb
         5VdD6hMx5GhEDL/Y0NF74aMc3YAZ2gx/vF7IVwCwQQ9S6B3QVBp9KylOLzpcewOZkVBm
         sr+g==
X-Forwarded-Encrypted: i=1; AJvYcCVfpjEhZFwCSdAncyZL5Uma44b2g8M1PQ7DDKI8HCeQ71EI6GIy+vZt0L6R2Oc/zuZWZ4HyA63khGk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyv+QHKVjJJwykh2NMx7JnFYTWBEkI9hR81jpQkYCuI/3cw8xgY
	U62mD+n+8FN7cvreVxjJbynTuu2KXPhiN+np3rsuezir8dnAn6iDiqdbpjM8Xto=
X-Gm-Gg: ASbGncuH3jqNqYRiry+HuZzA15Reu4mGRW3FSyorBRwDwl6weyUORBqgcImF88kbk5n
	esrSkrs1Pf7aYwFzWVE9n2tEnSSw/MfwcfdUyCVu+4dgI7AmFqsKZ5l55XJI7KgkQlyf/OTYFBj
	bgme+szZxHo3+2nQzzYr1Cm5RiM8DG9HW6cATk76hdYO78Pu0f8OLE9TL/jGZeEMIbqeLyUHwbU
	YAIYoVHg+OD0K0FS7lTR5NucIEaW8XU7BpcAP4rwnw27fZJjkdUhz6tVwVm+soPrWs67pWUswMo
	Rls4IaIWksqPtygxTWe2N8IUIpyfX95u89VqSc84wwTEkZ/OJufZPZCB/IVNW/6GGICfJR+BxWn
	ZPhtkSnzG
X-Google-Smtp-Source: AGHT+IHxlMwra9f+FTK5JUjVveR6Z7y3PrcytmULTTcgiOdJK8poytvu6YDeIATPpbWX5DeNL4aDgw==
X-Received: by 2002:a05:6000:1fa5:b0:390:f55b:ba94 with SMTP id ffacd0b85a97d-3971d3336e4mr18591744f8f.13.1742303507684;
        Tue, 18 Mar 2025 06:11:47 -0700 (PDT)
Message-ID: <cc882f93-b5d0-45ad-bb2a-1c6b9455509b@citrix.com>
Date: Tue, 18 Mar 2025 13:11:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/vga: fix mapping of the VGA text buffer
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-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: <20250318091904.52903-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> The call to ioremap_wc() in video_init() will always fail, because
> video_init() is called ahead of vm_init_type(), and so the underlying
> __vmap() call will fail to allocate the linear address space.
>
> Fix by reverting to the previous behavior and using ioremap() for the VGA
> text buffer.
>
> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

This is somewhat ugly.

ioremap() isn't really any better than ioremap_wc(); this only works
because plain ioremap() has a special case for the bottom 1M where it
does nothing and exits.

What's the consequence of ioremap_wc() failing?Â  Presumably nothing out
on the screen when using legacy text mode?

>From that point of view, this is an improvement I suppose.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 13:31:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 13:31:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919132.1323654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuX2e-00032v-3k; Tue, 18 Mar 2025 13:31:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919132.1323654; Tue, 18 Mar 2025 13:31: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 1tuX2e-00032T-0x; Tue, 18 Mar 2025 13:31:36 +0000
Received: by outflank-mailman (input) for mailman id 919132;
 Tue, 18 Mar 2025 13:31: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=/gWK=WF=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tuX2c-0002zl-FY
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 13:31:34 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2612::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d317239-03fd-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 14:31:32 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PA1PR03MB10673.eurprd03.prod.outlook.com
 (2603:10a6:102:482::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 13:31:28 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.031; Tue, 18 Mar 2025
 13:31: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: 4d317239-03fd-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pJR0rSo3GVt7wpXFVviep1r0GfdrWTvbpuxxRlGoecHOq7vRbGbrCvksQw0cTp9RfuG/oIhdCFqGTjf6d2Vit3SOzW/45ih39fWzvuBkB+JbXQmJXhGqzrz4JjtETCDf+aWwYE/z2x48xBnaqEdFRaiPEKNgSE7LHABFyZpFiu2AtDs/DjCTmLzM5qkpyU7ZKhrEnlfJsAp12kDOcOperU+Cv+OnjxCv6qJGesIBG1SfY2NpiCObbdjhr3Pttjyc9OwHNfdmTVoOnfW6ISocbmvmt3wQmQQ3p2/dnnR3CtbT6uxyWZZaKHYn7DH+bLRAKrYMGdOI8jm9NbRGguX/GQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mkoS9a3BnX3WBREwtiqaOFvb5KB6h0VO18cxksEOqYY=;
 b=wwDMIFe3/pPsJxoo9W4voujLdOp2HAwrLvNOMNiEfE2mXpDhRHtmT7/lLInsz1XvWAujrXo6W/EReV+rXNDSpAmNxBc2fzvY9D6duouCb272bWyKsRBkdp+nCMWvog1A923zVGWQ8tL2Ms/0n66UvXM827B9cS2SUK1A8zxvZfie/4Bcq5LsbVyC1NJ4WCXggSti4kMayOEQao6Eh7pwfOqZZersBkMm0qGLVKQhLJIyrSn7BsAM3aOcrwPo6CDVHk/J1zkH0mpyDGzDpXrUoMbz5r2HqqtgZmiRQ0sNVIEnRJjSoVD9JwbvySJKsmmENLqxzlz7VzZBiNOc3pcE7A==
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=mkoS9a3BnX3WBREwtiqaOFvb5KB6h0VO18cxksEOqYY=;
 b=oypENAhU8JBz8EOPfP0RRPPi8DqGLFMvLfJ6rZ+HdghXgg+wZ91EH9ukX+tx1okiUoLZJCUtZ5rYQfJftlQeVsOSXVVvi6E8YN8AtHkj2S5As6ztjVVxePMx8d8nEeCqd3jJRWVVvb1W2fZsy8oqSAZ5Cl7AB/NaDy6zzykJExN6LQg6BxC57cStLG2WnuNHf+2LuNpwA+K3mPu5D8orRoQIRcDUk9yIG3pKgQ2bhlJAc/h5pTsC3/hKXhViZrrT7jDQ7TfH4IPgM7IEVnpC+mv89YwEhmdMGvZeQT2PxBc3KZraNzPXFuXh7ExNYAu3c++a/qD56c3YKb9Rv3ldVA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Topic: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Index: AQHaRWELmXttIq3ydUeKyfZPAZRMh7DaobyAgqCezQCAABD4AIAAN9aA
Date: Tue, 18 Mar 2025 13:31:28 +0000
Message-ID: <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
In-Reply-To: <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.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_|PA1PR03MB10673:EE_
x-ms-office365-filtering-correlation-id: 6925db1f-1254-4fa4-7ef8-08dd66213034
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|7416014|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?MUViVE1NdnZkY0NGZmU4SkpIMGowOHMyNzlxaEg2ZXlROHROY212MjJMdWpC?=
 =?utf-8?B?TWl3ZTRlWnVzcjR3NE9hQ09PbGl6czdmNkptY1dyT1J2ckVyVmtSdFpRRGxM?=
 =?utf-8?B?clBhQ1VnMWswb005YXplMnF1ZTFtazZLSVo4Z21OUnl5U2lRT2pxcEVVdE9u?=
 =?utf-8?B?UjB5MmcyTEs4S0h4SDdyRm9MZmx6Y2dxakpaMEhIMnRwQk1GSDVpdzZjT241?=
 =?utf-8?B?ZkhYMzI2c1FaSUxzTDdKcklWUWRQbkNQVkxOVW54UVRJZDZFVjRXYjFwRTIx?=
 =?utf-8?B?WXNOS3Iyd0tLTlZlRWd6c3FtOFRNSU5GQUZIVCs2U09LZ0NOU3FWM0YxemU5?=
 =?utf-8?B?SjBzMkR6SmR5S2JvTkxRRjhENGJWUDFlUFlQTnNubEdpY0pkc0VnOVdWZ0JU?=
 =?utf-8?B?YWFBZHFaQTBsa0JQMlZIY1V3S0VwcnYzSXQ0Mk8xL3ZaOG1DZ2FsdTAxMlQv?=
 =?utf-8?B?T2RQQmVpemhGdGVjTVJOb0MxYjhxQ203Vm1ubUhxMzBoeUpvazBheFRUL1pv?=
 =?utf-8?B?NjZxKzQzSGtDRXN3ZkpnN2RPbFV2Y1dzaDkrMm9IUnZxUnJHd3AySHpIcW5o?=
 =?utf-8?B?TkYybHBxQlRLZjRzcEI5Nk4vRDZkUXA2aGJ2b0FTZXE5Vnhvakl6cGJvMS9W?=
 =?utf-8?B?RXI5TFJqSFhueDhBSHJXdDhHN3NFRC9leVJFTDdONjhYcE9naG5KNExsTHNs?=
 =?utf-8?B?Y0lmUWdQdVh0L0p0elJuM2xnNnpjL2srS2UxNGlnMFF6K1pkZHRKMFRHQVdV?=
 =?utf-8?B?ZjRhcUNFQ3hVOURpN2xCMitDc3dqcWZzaFVMK3RvOE9PY3ZxVDVKalNuQkJR?=
 =?utf-8?B?anRpQlFmYm1GV1FyZ1JXZG84OHRrdjM4RmN0UGw2bU8wWHNGL3lHaTZVZ0xW?=
 =?utf-8?B?NktOSTNTcEJnTmtjd2ZHbjZ3T2hiN2VOZlE4UmtRV2lQZnFmLytPWXQ0S2Ur?=
 =?utf-8?B?YjVyM1FDaXJuc0hOQnlzdHVjUjdha0c5NWJPbjNWNGs3dEY2T1k2aU1mZVR5?=
 =?utf-8?B?WlEreEtwLzB5SWZ4eGtJY0ZhZjBnNTV6UXRYUUE1andaR09wQ1N6ak5uZ04z?=
 =?utf-8?B?ZEo0Tk85MWhKNytFa0NRMzZTcUhqTmRzS2NoOHBMZVR2QXFmM2wwK3VMaW9H?=
 =?utf-8?B?QnVYd0RKSm56ek56b2wxZHYxeHhBVm9YSGF5dXFGYkNqSkVLSkJxT2JhYlMx?=
 =?utf-8?B?bkhlL2UvY0FERFFQM0lGNlRKSkhGbXJQUTV2NG9KaEJnVnJHWTNFZkY0NHRi?=
 =?utf-8?B?bXRodXJ0MGw2dDVEeUN2RzdFWUJzTDNab0Q1Wk43dGdhM0F1OGdrS041OVNE?=
 =?utf-8?B?SVVIVVZPUjVJdzJ1WFFpdCtsSnRCTklZaUJxYy9mNDNPVmdzb2lWZzh4bU1j?=
 =?utf-8?B?VE1QdmhRMUJrM2Y1UmMwM3dIamJSL0tDdzRlSkw3VWdmY1ZLOEt3TW1uL1Jo?=
 =?utf-8?B?NXI0TDR0Vmo4aW9talJacmIwYUtOZ0RuT1ZZUTZuYjh5cVFNUVZBOTRlRVFp?=
 =?utf-8?B?bEUzczFjT2xiZTJZNEpzcEhseWJ5TlNOcTZJaWtCTzVObXZCU3FKbnJHQU50?=
 =?utf-8?B?SlNUL3VQT1hoNmgvRlNlWTVQamlkQlVJcXpxL1BOWmhMMVQwNnYvWU9YaWpT?=
 =?utf-8?B?S1U2dDNqN0FodGM4Y01lYWVPLytGWVcrNHhGT3ZYWGtRNGhGK054elZIOGJx?=
 =?utf-8?B?VFFWZjhvM3Q5OUhLT0hGR1BTTHZ0a2VrTEhFVS90VFNoN0U3aGRCWjg3bDZq?=
 =?utf-8?B?WitMOXVKM2FoWVNLc0lTcC9tSlFoekJnNEpPVEtLZXdVM2VBOG1IOHVVRUs1?=
 =?utf-8?B?R3NtNmg4ZGhmNXg1bVZNR1o2b3FpSjczR1p4Ly95VFhEbVNtR0RJWEVaMGti?=
 =?utf-8?B?UEQ1VStHUlFSZkpkUVljYjRPbGR5M3BpbnRIRkVQL2NXN0E9PQ==?=
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)(1800799024)(7416014)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?REpNQno1QSt6ZTROZnBXV2xWcGdkV29vb3NXL2QvZjhWWURrcnNVb3B3ZlVl?=
 =?utf-8?B?YUNBZVhnWFVtY0hZaWJPak91R1lxZFRLangrUkFJak52SkZFdjZ3N0I1R2xl?=
 =?utf-8?B?R3k1Y0NlZnVXcXdYdkVsQlV5R3BxOTh6dXMxS20yVklZeG5KZExla0wydFo1?=
 =?utf-8?B?aWFIRWNJemlKVWtWVkZjSWN1cFltbXRhWERFOTFybE8vQ281YU0rU1grZm5F?=
 =?utf-8?B?Q2hmN2NBcklvUFQ4NUkzVm51K2JMTlNJRkZza2E5dCtzVWdGUXc4ZmJrZC9C?=
 =?utf-8?B?djBMenNFZ1QydVovRndzeUp1ZGRsdnZrTk9uOEV1dklZZGpEeUJMc3RqNXB6?=
 =?utf-8?B?c2RwTTFna3gwYkVkQ0IxcGFoM092R2RabXAvbE9IS0hveHl5QitlOVNHdWFy?=
 =?utf-8?B?VjhLNEY5aVhJZlBuNEJxZ2xCVVgxRjEwWmd4bkZvRy9FdFU5eXZ2OTlKZHYv?=
 =?utf-8?B?SlBBeVNnZzg4SHhQNWM5T29nUkVtdytkWHdHVjFQNzQzYjlrWURpRXNtT1Q4?=
 =?utf-8?B?SWVWTklBT1ZVUUNFRGhYSTd2Y001YVJMaStBcTNqaiszQWJ6ZXpya2hZK0ZJ?=
 =?utf-8?B?cHBQRlFzaHkycXF5NW9Tdk9DZWhtWi9YOFpZZk9QNFlKQWl5bVNmTDlnVWQ4?=
 =?utf-8?B?a21Qd3RRTXZDVjJSMDNWdmJHbHRteUpGV3hnMHEyNURQaHRwSTN4NFk3Rnp6?=
 =?utf-8?B?cjVPREczYjc4d0w1SG1MOWQ3WjVsVDMvNFlsNFZyWWphUGg0OVVQR1ZhcTdR?=
 =?utf-8?B?bDZzcVJEcWJPS2U5VUNjaHFha0hXeklBaUVtSzdJNzNNSUtaU0N1QlQ3aE9T?=
 =?utf-8?B?Zm9Ha3pQZGNLWSswc1FzWHd2WGRBZUYrT1ZzY01yRzllYjdOcDMxWnIrcHVl?=
 =?utf-8?B?Zit1SmM4enR3aXJYZE9xeFU5WjZheGtTSHZCUVJLQys3VjZQOHNSbUVzU21s?=
 =?utf-8?B?WVhFV0dMV0pkSEhFYWNFRGxEaW1uNUdjNXpudkhhMFBZdktPWlhzU0hpSkNn?=
 =?utf-8?B?aWVObXlWUHgxWUxCa2MzVTM5WUtpNC9nRi9QeDJzdDBOSUZRY0lpOVVCM2xs?=
 =?utf-8?B?RGM5bU1kSFN2ejNSRkFPSU1XdzJPMmhQQ0diMHQydmh1bUM4WVJNY2dGL1Iv?=
 =?utf-8?B?b0N4ejZ0WjBXM0gxZDY1b2cvaEFHMS9ZVkpQTHVoV3JvVDV2eVVwV0VRMVpE?=
 =?utf-8?B?OW1LajNEUUh5cG1uTXRMM1VvaERwK0s0bm9qTmpjNlkxL2lrSXdQSGRSZ2tp?=
 =?utf-8?B?VWUzSEFyU25lVXJ3NmJkR2xsNldKSzQ0YjZ4dWsrZEd5Z0pmMzRlcllTb3dF?=
 =?utf-8?B?NCtnR2NHSEFjaVRRL293ZWRZWmo2aHR4bVVQb1R4c2g4MjlXTC9VNHlMWFMy?=
 =?utf-8?B?VmNoTU5IRVMxV01Xa0VNL2VqQ0dRTWhOZlJSaGVJWkQ0QytYOHJJTXR3Y0Rh?=
 =?utf-8?B?ZlJLam9rWWNITE5MdWxoYU9NUmIyRVo5SzB1Nk9sY3R4TDNSVDUzY05ad2RM?=
 =?utf-8?B?bnpoRlFqaU51Uzlla0dFbXlOQ3c0MVQ1bktqVUJ6YWpEMkxDS2hCSUpua2lr?=
 =?utf-8?B?L3BOQURzK0hzZldtVFQyclNFYUwvaVBJWVFKWDc4aFUrTUgydEFhVVVnak4r?=
 =?utf-8?B?SjdWeUdxNzFteENJbStwOVc2L2l0a2hJWFc4NU54bGg1VDJUUWFqb1RRRStT?=
 =?utf-8?B?amp2R0lHcDlUMEI5VlNPaUdtK25iYnhiU21PY0xLS0kraGNtYUdyRWt1YXNh?=
 =?utf-8?B?ejFKdEdxTVE1bEdxMnUzRXdkTDY2YWNXOE53bFBEdFBpaE1BQm5mcG5WOVUx?=
 =?utf-8?B?L0RYakIvWmJReFFBaVUzMk9EMFk0NzRQT3VkTWppbExpSSs4bEpzbW95VGNX?=
 =?utf-8?B?M0tiaXR0ZUk2bTNiaGw0NlJTQXpJNkdJdEJWaE1jUDhqMXVsM1BYN0NJYUFT?=
 =?utf-8?B?cTVDbi9BWDBNUFZEam9MaFphcS9RVm1XMk9vN1JYSmczR0ZLMHplMTVPblV3?=
 =?utf-8?B?Q24wSGtNeUpRVVFKNW1xS0NxbU1QZldKUlNqUDQ5Rlh6ckl5eXY0RmQ2cVJV?=
 =?utf-8?B?NmJkYXZ6bWliMGF5dXJRZTMrcWVORXVOcXFvVjdYQkNOTEViTUd4UGNGZ0xM?=
 =?utf-8?B?MklZYi9oc2tCRWx0ZTd2bzFybERNWFJlSkVrdmJtT3lVaEgzNlN1VmRYelor?=
 =?utf-8?B?c3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FF3FCAED90E864409ED27BDCE5E26C36@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: 6925db1f-1254-4fa4-7ef8-08dd66213034
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 13:31:28.4694
 (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: /B8gkttGpahYFAqf+i9fZD5X9+voavtsiA1UT2c1SrrY1Z8Tkl2xup+wNhVDKoesPP8MjfKs9bHVzlgwI8O7bg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR03MB10673

T24gMTguMDMuMjUgMTI6MTEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxOC4wMy4yMDI1IDEw
OjEwLCBNeWt5dGEgUG90dXJhaSB3cm90ZToNCj4+IE9uIDE1LjAxLjI0IDExOjM1LCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+PiBPbiAxNC4wMS4yMDI0IDExOjAxLCBNeWt5dGEgUG90dXJhaSB3cm90
ZToNCj4+Pj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9kbV9vcC5oDQo+Pj4+ICsrKyBi
L3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaA0KPj4+PiBAQCAtNDQ0LDYgKzQ0NCwxNyBA
QCBzdHJ1Y3QgeGVuX2RtX29wX25yX3ZjcHVzIHsNCj4+Pj4gICAgfTsNCj4+Pj4gICAgdHlwZWRl
ZiBzdHJ1Y3QgeGVuX2RtX29wX25yX3ZjcHVzIHhlbl9kbV9vcF9ucl92Y3B1c190Ow0KPj4+Pg0K
Pj4+PiArI2RlZmluZSBYRU5fRE1PUF9pbmplY3RfbXNpMiAyMQ0KPj4+PiArI2RlZmluZSBYRU5f
RE1PUF9NU0lfU09VUkNFX0lEX1ZBTElEICgxdSA8PCAwKQ0KPj4+PiArDQo+Pj4+ICtzdHJ1Y3Qg
eGVuX2RtX29wX2luamVjdF9tc2kyIHsNCj4+Pj4gKyAgICB1aW50NjRfYWxpZ25lZF90IGFkZHI7
DQo+Pj4+ICsgICAgdWludDMyX3QgZGF0YTsNCj4+Pj4gKyAgICB1aW50MzJfdCBzb3VyY2VfaWQ7
IC8qIFBDSSBTQkRGICovDQo+Pj4NCj4+PiBTaW5jZSB0aGUgY29tbWVudCBzYXlzIFNCREYgKG5v
dCBCREYpLCBob3cgYXJlIG11bHRpcGxlIHNlZ21lbnRzIGhhbmRsZWQNCj4+PiBoZXJlPyBBdCBs
ZWFzdCBvbiB4ODYgKFZULWQgYW5kIFYtaSkgc291cmNlIElEcyBhcmUgb25seSAxNiBiaXRzIGlp
cmMsDQo+Pj4gYW5kIGFyZSBsb2NhbCB0byB0aGUgcmVzcGVjdGl2ZSBzZWdtZW50LiBJdCB3b3Vs
ZCBmZWVsIHdyb25nIHRvIHVzZSBhDQo+Pj4gMzItYml0IHF1YW50aXR5IHRoZXJlOyBJT1cgSSdk
IHJhdGhlciBzZWUgdGhpcyBhcyBiZWluZyB0d28gMTYtYml0IGZpZWxkcw0KPj4+IChzZWdtZW50
IGFuZCBzb3VyY2VfaWQpLg0KPj4NCj4+IEknbSBwbGFubmluZyBvbiByZXN1bWluZyB0aGlzIHNl
cmllcyBpbiB0aGUgbmVhciBmdXR1cmUgYW5kIHdhbnQgdG8NCj4+IGNsYXJpZnkgdGhlIERNIG9w
IGludGVyZmFjZS4NCj4+DQo+PiBXb3VsZG4ndCBpdCBiZSBiZXR0ZXIgdG8ga2VlcCB0aGluZ3Mg
Y29uc2lzdGVudCBhbmQgdXNlDQo+PiBYRU5fRE1PUF9QQ0lfU0JERiBhcyBpdCdzIGRvbmUgaW4g
eGVuX2RtX29wX2lvcmVxX3NlcnZlcl9yYW5nZT8gQWxzbw0KPj4gd2l0aCB0aGlzLCB0aGUgdmFs
dWUgY2FuIGJlIGVhc2lseSBjYXN0ZWQgdG8gcGNpX3NiZGZfdCBsYXRlciBhbmQgc3BsaXQNCj4+
IHRvIHNlZ21lbnQgYW5kIEJERiBpZiBuZWVkZWQuDQo+DQo+IFRoZSBlc3NlbmNlIG9mIG15IGVh
cmxpZXIgY29tbWVudCBpczogTmFtaW5nLCBjb250ZW50cywgYW5kIGNvbW1lbnRzIG5lZWQNCj4g
dG8gYmUgaW4gc3luYy4NCj4NCj4gSSBxdWVzdGlvbiB0aG91Z2ggdGhhdCAiY2FzdGluZyB0byBw
Y2lfc2JkZl90IiBpcyB0ZWNobmljYWxseSBwb3NzaWJsZS4NCj4gTm9yIGFtIEkgY29udmluY2Vk
IHRoYXQgaXQgd291bGQgYmUgZGVzaXJhYmxlIHRvIGRvIHNvIGlmIGl0IHdhcyBwb3NzaWJsZQ0K
PiAob3IgaWYgImNhc3RpbmciIHdhcyBpbnRlbmRlZCB0byBtZWFuIHNvbWV0aGluZyBlbHNlIHRo
YW4gd2hhdCB0aGlzIGlzIGluDQo+IEMpLiBTZWUgbXkgcmVjZW50IGNvbW1lbnRzIG9uIHNvbWUg
b2YgQW5kcmlpJ3MgcGF0Y2hlcyBbMV1bMl0uDQo+DQo+IEphbg0KPg0KPiBbMV0gaHR0cHM6Ly9s
aXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjUtMDMvbXNnMDEyOTQuaHRt
bA0KPiBbMl0gaHR0cHM6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIw
MjUtMDMvbXNnMDEzMDEuaHRtbA0KDQpXb3VsZCBzb21ldGhpbmcgbGlrZSB0aGlzIGJlIG9rYXkg
dGhlbj8NCg0Kc3RydWN0IHhlbl9kbV9vcF9pbmplY3RfbXNpMiB7DQogICAgIC8qIElOIC0gTVNJ
IGRhdGEgKGxvd2VyIDMyIGJpdHMpICovDQogICAgIHVpbnQzMl90IGRhdGE7DQogICAgIC8qIElO
IC0gSVRTIGRldmlkIG9mIHRoZSBkZXZpY2UgdHJpZ2dlcmluZyB0aGUgaW50ZXJydXB0ICovDQog
ICAgIHVpbnQzMl90IHNvdXJjZV9pZDsNCiAgICAgdWludDMyX3QgZmxhZ3M7DQogICAgIHVpbnQz
Ml90IHBhZDsNCiAgICAgLyogSU4gLSBNU0kgYWRkcmVzcyAqLw0KICAgICB1aW50NjRfYWxpZ25l
ZF90IGFkZHI7DQp9Ow0KDQpBZGRlZCBwYWRkaW5nIGFuZCBleHBsYWluZWQgc291cmNlX2lkIHB1
cnBvc2UgYmV0dGVyLg0KLS0NCk15a3l0YQ0K


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 13:39:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 13:39:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919153.1323664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuXAe-00042O-Sj; Tue, 18 Mar 2025 13:39:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919153.1323664; Tue, 18 Mar 2025 13:39: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 1tuXAe-00042H-Pc; Tue, 18 Mar 2025 13:39:52 +0000
Received: by outflank-mailman (input) for mailman id 919153;
 Tue, 18 Mar 2025 13:39: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuXAd-00042B-GH
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 13:39:51 +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 7715697c-03fe-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 14:39:50 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfe574976so21067615e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 06:39:50 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffc450esm135822655e9.23.2025.03.18.06.39.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 06:39: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: 7715697c-03fe-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742305189; x=1742909989; 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=RXGv23NPh+tGX8vWvRcwGSVIvbvGoqtQphbDEkTX4io=;
        b=jGJc9HB6aWZYU44bljCZWG9GKqg5un90XMN19WHs6w0rShmc2QfT6FcgN8Sz/w1jXd
         xg/Oona3Lo8wBxoZ6m+5Sbq9JKgDixCWdZyVTgkUoNJ5kDc86rrizXRn6jn+TCZkw51h
         hWloICLMTuEA4ubUGgWD7kQ5iUAT/9vqQqRkk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742305189; x=1742909989;
        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=RXGv23NPh+tGX8vWvRcwGSVIvbvGoqtQphbDEkTX4io=;
        b=wm0tL3rg5xrie0B5169pzuduCDDW/EW8AKl7xEqXnJKb3nvqOGln02GXSBq+bQ9abu
         OMHTEpC8dIDQMoug/A9HksGlUrA8Bf140xDtV2blIzSWuh+awYZpf9BiJ1juxWJHaLQp
         ficKbT2LNsjHP+WObVISUwE5OyoLf8/pIjZMRs+lyCDfvoa1X0vaMrBOYP6vlgi/tYWE
         uKw64p8pnke2AsB0lWoh1Ijnc+1E0LWxDV2VOoWUI/0dBYAmFDPx6tPc1afNxBJZX7QU
         fhkV579gP6hNKcHNCHBvBcTnen9CnZW4pDh3hiQVEfPPRRDkfgv2LArkKIEeKhSaK9Cp
         nleA==
X-Gm-Message-State: AOJu0YyvojK7VfSDUUbeRLMMXpWV8wKKUxGOFrb2SCYJYNvwR5RhnWXS
	7LzTKCG1LJ24Anuz8z4gg2WdNwfQoUMuQ/Nryo+FeWsH8Bg6QCeDOW3OLKgaPLUObzOrsOfV7Au
	7
X-Gm-Gg: ASbGncsAYXj1TatkqHWLTCIwrIOemWgcWmTjUTt3dYR0AYhu3saxk8yIqDjBJYTFxM+
	JvXgYkw5pQsTOMv8UzFA/qW53MGtV7X2NduF6O1viuYv1ggBVy9bxVekekOMCaU5WI2sgfthMgS
	kfvsjhs+orA/OQ2pGCtQ933301U0Btjft8Dn1Metx7EeITWeE4aCNLbMl+v/9e42bD+VuLbs1BA
	L5wi/Jr6/YN+/SpgtycupIvzm6RcELag0QV61TQmtIlndMEgWNbwg6CqMg4X8cPL3kjeScTqpjo
	TyfD30e4daXMcjwAV4xK9rc2e7g0DRJdcUbKxUXMelGtMXH1nQUSHwzNVVwbLbGFadF0OZOSxu2
	1Wc6T8rjmPUUHcq1GmeSeqWy5
X-Google-Smtp-Source: AGHT+IGlaJe1U60gLuuUcstCiKUhTRTBH8LNFF7gPgpvrk0lOOBowJLd6uXMS+GGpc5fMU9Ua/s+qw==
X-Received: by 2002:a05:600c:3516:b0:43c:e6d1:efe7 with SMTP id 5b1f17b1804b1-43d3b9ccb70mr22943035e9.26.1742305189607;
        Tue, 18 Mar 2025 06:39: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>,
	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] xen/compiler: Fix the position of the visibility pragma
Date: Tue, 18 Mar 2025 13:39:47 +0000
Message-Id: <20250318133947.607492-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 needs to be ahead of everything.  Right now, it is after xen/init.h being
included for -DINIT_SECTIONS_ONLY

  # 1 "./include/xen/compiler.h" 1
  # 83 "./include/xen/compiler.h"
  # 1 "./include/xen/init.h" 1
  # 62 "./include/xen/init.h"
  typedef int (*initcall_t)(void);
  typedef void (*exitcall_t)(void);
  # 72 "./include/xen/init.h"
  void do_presmp_initcalls(void);
  void do_initcalls(void);
  # 84 "./include/xen/compiler.h" 2
  # 122 "./include/xen/compiler.h"
  #pragma GCC visibility push(hidden)

Fixes: 84c4461b7d3a ("Force out-of-line instances of inline functions into .init.text in init-only code")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
---
 xen/include/xen/compiler.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index b118e4ba62eb..636a85bc417d 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -15,6 +15,11 @@
 # endif
 #endif
 
+#ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
+/* Results in more efficient PIC code (no indirections through GOT or PLT). */
+#pragma GCC visibility push(hidden)
+#endif
+
 #define barrier()     __asm__ __volatile__("": : :"memory")
 
 #define likely(x)     __builtin_expect(!!(x),1)
@@ -118,11 +123,6 @@
 #define __must_be_array(a) \
   BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&(a)[0])))
 
-#ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
-/* Results in more efficient PIC code (no indirections through GOT or PLT). */
-#pragma GCC visibility push(hidden)
-#endif
-
 /* Make the optimizer believe the variable can be manipulated arbitrarily. */
 #define OPTIMIZER_HIDE_VAR(var) __asm__ ( "" : "+g" (var) )
 

base-commit: 77be740e8182fa6b31291a8ae983d253187e9b50
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 14:21:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 14:21:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919167.1323673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuXp6-00064G-OJ; Tue, 18 Mar 2025 14:21:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919167.1323673; Tue, 18 Mar 2025 14:21: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 1tuXp6-000649-Lh; Tue, 18 Mar 2025 14:21:40 +0000
Received: by outflank-mailman (input) for mailman id 919167;
 Tue, 18 Mar 2025 14:21: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuXp5-000643-8n
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 14:21:39 +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 4a4258e7-0404-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 15:21:32 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-39127512371so3439588f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 07:21: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-395c8975bdfsm17992490f8f.49.2025.03.18.07.21.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 07:21: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: 4a4258e7-0404-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742307691; x=1742912491; 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=zzy1FTbxBz94Wx5+6wRzG+gEp+9i76NG/JOQz/eqDiI=;
        b=aUtOPcJBc1VEJ5u5MydH5bfoQTjKq0VlJgP2QKh6z7gDPNo+K4JR3cCBBD9YuqDnTT
         5ZgMQptoEVI270J6tulfell06iFrxFeuR+1yL+O0+q57I62vNR84eS3ldo0g3JPsxVW0
         6xJktvwA/VzGmzNqhe42seawQ4Q/WsCKaf1CfWNrhZjTMQ3iZ8aoV463nCSatyl0LCcf
         NEMDZ22HUMnLoJGqw+pre0xHzy+jO+or/Xk9yEGV8v4Q2UnrXWb4vy6G98Ez0dwKE9sw
         VpTS0JXnEgc8m7O9rDXjJnmFo9QhXoiI8plebuGwFoZanuFA1FEpA3M95BrInWw1CJqQ
         iVeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742307692; x=1742912492;
        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=zzy1FTbxBz94Wx5+6wRzG+gEp+9i76NG/JOQz/eqDiI=;
        b=DSDBYUar1Ii351VET2vNQqc8yPRUA5EO3Odv/002XzCR+BsBTbOf9hQoblNDHpT/m+
         FJKA1SXlMXvCVT0djf+EwyK5zdEOHKH7VtQhPnua8qgs7tR0ZOv+g1tBZR/ONxcgos8Y
         QXPBuD1GJTVbHt0nDEWEtHzzdkaDyz9yL9jgTHjlVhQ9AewmwhUxQt/T3STEJt4LhU69
         b1ethV4Vp4elt0Kr/gIQ9MIyN0GGmskMdChI7NC/3U196A0PFGtqpj2+iBv6eG0HyRfr
         fKWZ3oudp9omHOLNrIKPmkb5Eq80pv/ZcCbUXof9rT5EyTDqbzk3JY6J+EnxDyegRLeJ
         DY8w==
X-Forwarded-Encrypted: i=1; AJvYcCX0dRaHamLTF1SbQR7nysaFgOmkZ3UbpzbVYQSMyQ81FGCgSUazK47QutogrgP8U1ijfzF8NQHKxeA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwuzwXH4Tjmvvfqw/WkgPyQhVFPVqeGrDfUPBm5FI+amK5AH9r7
	lks1B7PifjWyhN8OY3vq9D0SgpCVZqZoUs5WNeCddhD/1Nu6F7xaq2qry1M+nQ==
X-Gm-Gg: ASbGnctGQ6iyuyJYtYZ59+lSBZqx3OmsfD+TaB/P0vdQVVsdpdiSS7HzeI6n0C37ekk
	FmQYiQMw1ShlP9cT6U20xmtj/E9RttP/FFCvpQKBcBwNFfLT+B4CMY8WijYOaHCr9QbtFwChl8E
	kz++5V2SEM1Xf3TtSOgscCk3rBj1u9Ge8F+ZvGZzID6q9Tfu41Xl///3f5UIUkk/y/CC2/6BgI+
	u10MrmM+tR/adeOY9mmtKFSBPzDb3HqmznSdKrHiFr8P7vNSOLQp8rAXYOdRsmHDzDRuZ8ZhaG+
	P6dXbZlpYMqY/9v8fA+/r2sy6ob3OLf3Uc+erIFoV6C7YmxdcNXAb4KaA0/waFs6okBXGKWRmib
	KyW5fKkjANo0hSBz5WXkyNnEbASSXzw==
X-Google-Smtp-Source: AGHT+IFKklDr5vtbddJU1L+D5iRc+6UYjrxbIW42trSA+bYAyy8ZzmrxzYr7ByHKh/GPrabe8oiDSw==
X-Received: by 2002:a05:6000:400d:b0:394:d0c3:da5e with SMTP id ffacd0b85a97d-3971f5114b2mr15789241f8f.47.1742307691567;
        Tue, 18 Mar 2025 07:21:31 -0700 (PDT)
Message-ID: <57a8847f-121f-4a8c-922f-7abd8dc6b9e5@suse.com>
Date: Tue, 18 Mar 2025 15:21:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/compiler: Fix the position of the visibility pragma
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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250318133947.607492-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: <20250318133947.607492-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 14:39, Andrew Cooper wrote:
> This needs to be ahead of everything.  Right now, it is after xen/init.h being
> included for -DINIT_SECTIONS_ONLY
> 
>   # 1 "./include/xen/compiler.h" 1
>   # 83 "./include/xen/compiler.h"
>   # 1 "./include/xen/init.h" 1
>   # 62 "./include/xen/init.h"
>   typedef int (*initcall_t)(void);
>   typedef void (*exitcall_t)(void);
>   # 72 "./include/xen/init.h"
>   void do_presmp_initcalls(void);
>   void do_initcalls(void);
>   # 84 "./include/xen/compiler.h" 2
>   # 122 "./include/xen/compiler.h"
>   #pragma GCC visibility push(hidden)
> 
> Fixes: 84c4461b7d3a ("Force out-of-line instances of inline functions into .init.text in init-only code")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 14:26:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 14:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919181.1323683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuXtd-0006hb-E9; Tue, 18 Mar 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 919181.1323683; Tue, 18 Mar 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 1tuXtd-0006hU-Bf; Tue, 18 Mar 2025 14:26:21 +0000
Received: by outflank-mailman (input) for mailman id 919181;
 Tue, 18 Mar 2025 14:26: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuXtc-0006hO-L8
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 14:26:20 +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 f3354d57-0404-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 15:26:15 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-390fdaf2897so5293587f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 07:26: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-43d1fe60b91sm136328595e9.31.2025.03.18.07.26.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 07:26: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: f3354d57-0404-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742307975; x=1742912775; 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=JvVLlQ8jKgso9DehsDKbaOXp/8bvds8G8PjQbUxqq3w=;
        b=STNqUbI4W4Y+kNX8GSPeJycIksMeo7r/yORmNbiFWs8bkQf8xk3Na9v+AgjxxQ6w4i
         v0tUrqWCUKPePSGVib1qCPaQL/CAl+mH0+TJkyTJbHVasqEV2lVtOTFq2YETwqqUa8NU
         wWMxzvjc88IAArRVPM9oJSqh8jXQpb4O2w9rXtsX2QyfYyiMWDwr/8W7/cy+ZdtrZgRx
         TiFHig2YzMcMNlB1j2zncVRD27yytvVvdNPAvkRW+1alTiwkUhQ7FeEEBkUBEjb9VrhR
         iwxM3BjV/oIDSDLf/TvDqnfR9YdpNhtncnTqQKVG411rFPu7+iD5zYzCOsyI1ondm7A/
         QnOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742307975; x=1742912775;
        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=JvVLlQ8jKgso9DehsDKbaOXp/8bvds8G8PjQbUxqq3w=;
        b=YIObS5Ggf85Ma6OZYvNOJLCjOj/GiWjfPQVaja+WC9dqMnX+wvizDiluYrSs9v84Po
         FVWAYB0d6ZVdqaSSCI7xpOmlxUkaLQ8wNyE1eNEPORUaumT4J4yv+csfQc83HVMu/oT5
         tpJJK8FzxHYhC/7RFlSl4vMqb/QsDFYI1bTMRGcybqdGqhb4fnr2qSv1W/SHf4Jfi5++
         UsxwvE4rJei1xUXfaIzgp6zc2w/0WYEdr5/r1sYaqgcTl4PYwqSAGSPY0/aLkQmuMa8u
         jrf0e/Vm4NU7z3t9DutrF94EQBpdq59H1dAuVTfO8xhmc+AdKhhYy6ILYviESYRKV50a
         kxHw==
X-Forwarded-Encrypted: i=1; AJvYcCV+w2FkSTxgFAefK3Qsj1GNJC/ahnQusPXgiET+rxqTKM7v4f4snX22X4icD7iF1I57uFsEc0QvRgA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIYZay6ahZNuqSXho518JgcjQ7WyWGjwF442JhuL+h9kTB54Wj
	dN9PLiVlSi9ee0rCZOFZN9h8inEvzPof054tg2B69mVE5wi5aZum5BO0IQuRug==
X-Gm-Gg: ASbGncuLV4BJyrD4u0ENBEtrr3IQh0g+EsfQ0Sma5S1nxouIzufqE3L1Wa4X7Y/u5Jp
	feUilyT8treBc/wOLKcUYuoe+9sww8ilBT68l0tIhM0D9apecrP3L6f7RHezVCY/FWFw/prhDG5
	lFsn9jCu9+q+LpDVmpF2nWvJiIawh4BeDUyQXOF2LUhjRtrrmWMOwbkw3KVagEDDb/0OsGvevic
	tQU7YOa0hJA9Fawbnc26GxFDFXTfnBCPLgGgOFwdKEeXTr36UfA1qtZTd5QMX68fCPnwJavSUCC
	qFS6+9jPb/zjU9/vhfOGhB7SLTg74alQHZbimLK5MOi8nQmj5CEU5bU1pvIjuT1zOLAOUqOjfjY
	2EwzDTUwrXEHjwIHFZcyB4cZj2DgHpMDK9TBH2JMe
X-Google-Smtp-Source: AGHT+IEcNxDEAZexKdCgwF6AEcAzGX3RHf7MJT8swHhfoUEN5DrZ3m+y8t+LGGJKIRl7hk6ACsitUA==
X-Received: by 2002:a05:6000:156b:b0:397:3900:ef83 with SMTP id ffacd0b85a97d-3973900f0a4mr17219604f8f.32.1742307975052;
        Tue, 18 Mar 2025 07:26:15 -0700 (PDT)
Message-ID: <65f0072f-33c0-4436-8e34-3544d25c9568@suse.com>
Date: Tue, 18 Mar 2025 15:26:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
 <7b3a5232-c17e-49d8-8719-a42745144338@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: <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 14:31, Mykyta Poturai wrote:
> On 18.03.25 12:11, Jan Beulich wrote:
>> On 18.03.2025 10:10, Mykyta Poturai wrote:
>>> On 15.01.24 11:35, Jan Beulich wrote:
>>>> On 14.01.2024 11:01, Mykyta Poturai wrote:
>>>>> --- a/xen/include/public/hvm/dm_op.h
>>>>> +++ b/xen/include/public/hvm/dm_op.h
>>>>> @@ -444,6 +444,17 @@ struct xen_dm_op_nr_vcpus {
>>>>>    };
>>>>>    typedef struct xen_dm_op_nr_vcpus xen_dm_op_nr_vcpus_t;
>>>>>
>>>>> +#define XEN_DMOP_inject_msi2 21
>>>>> +#define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>>>>> +
>>>>> +struct xen_dm_op_inject_msi2 {
>>>>> +    uint64_aligned_t addr;
>>>>> +    uint32_t data;
>>>>> +    uint32_t source_id; /* PCI SBDF */
>>>>
>>>> Since the comment says SBDF (not BDF), how are multiple segments handled
>>>> here? At least on x86 (VT-d and V-i) source IDs are only 16 bits iirc,
>>>> and are local to the respective segment. It would feel wrong to use a
>>>> 32-bit quantity there; IOW I'd rather see this as being two 16-bit fields
>>>> (segment and source_id).
>>>
>>> I'm planning on resuming this series in the near future and want to
>>> clarify the DM op interface.
>>>
>>> Wouldn't it be better to keep things consistent and use
>>> XEN_DMOP_PCI_SBDF as it's done in xen_dm_op_ioreq_server_range? Also
>>> with this, the value can be easily casted to pci_sbdf_t later and split
>>> to segment and BDF if needed.
>>
>> The essence of my earlier comment is: Naming, contents, and comments need
>> to be in sync.
>>
>> I question though that "casting to pci_sbdf_t" is technically possible.
>> Nor am I convinced that it would be desirable to do so if it was possible
>> (or if "casting" was intended to mean something else than what this is in
>> C). See my recent comments on some of Andrii's patches [1][2].
>>
>> Jan
>>
>> [1] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01294.html
>> [2] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01301.html
> 
> Would something like this be okay then?
> 
> struct xen_dm_op_inject_msi2 {
>      /* IN - MSI data (lower 32 bits) */
>      uint32_t data;
>      /* IN - ITS devid of the device triggering the interrupt */
>      uint32_t source_id;
>      uint32_t flags;
>      uint32_t pad;
>      /* IN - MSI address */
>      uint64_aligned_t addr;
> };
> 
> Added padding and explained source_id purpose better.

I fear the comment is far from making clear what layout source_id is to
have, hence also leaving open whether a segment number is included there.
Of course the issue here may be that I have no clue what "ITS devid"
means or implies. What is clear is that "ITS devid" is meaningless on
x86, for example.

I'm further puzzled by "(lower 32 bits)" - isn't the data written to
trigger an MSI always a 32-bit quantity?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 14:28:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 14:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919191.1323694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuXvo-0007G3-RB; Tue, 18 Mar 2025 14:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919191.1323694; Tue, 18 Mar 2025 14: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 1tuXvo-0007Fw-NW; Tue, 18 Mar 2025 14:28:36 +0000
Received: by outflank-mailman (input) for mailman id 919191;
 Tue, 18 Mar 2025 14:28: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuXvn-0007Fq-Qb
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 14:28:35 +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 45a61c47-0405-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 15:28:34 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-394780e98easo3702318f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 07:28: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-395c7df320csm18130208f8f.7.2025.03.18.07.28.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 07:28: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: 45a61c47-0405-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742308113; x=1742912913; 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=oxAO9WA/MT3f5NW0dbU+3avgxxhHs0NR1TtjyEKL1aQ=;
        b=UoFuOskF0np/7ID6qV/n7juzTOLsXV6goXVcFq3U+Kuhe+6EUbJ0RrIyOF1xJJUWSh
         wVet84Q22A6yTfhP4J+lais6utww1SDKxfW2u5yl9NZ9dACFxJUI+sVvHquOgsoeYVX5
         HXn7fgCbP84o0KaacBL/cIZ93RfAvsap0ppBP0ZHly7YyuqQcpIBXT93IDsLVFUdljRI
         Z3HU0UeoX3UsarID968n3UGI5CPcapCGjZy5OP+qWudQuBuQTnF7pVcQf+i08k0Ms7vN
         QtEJhPfd9QoS/smwaDi2qLa0+xi95F+eDh4ls+REtZ9KdUJfln9ajTpA0KXFA1a6Dcs5
         7XPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742308113; x=1742912913;
        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=oxAO9WA/MT3f5NW0dbU+3avgxxhHs0NR1TtjyEKL1aQ=;
        b=k+yG22z/NVE86ouq0+sRj629yH1aDqyEaac4PYkrtuoilVt9W8tkDqjCZRueKhPDji
         5z48ga1HeaCdc9Ndju/8o94FrA2+qGWZz7RkEGUJEuaZRTyuTbKHhIcw2aWszXcHWYeH
         LallsJKuHWdblZtCrplOxTzdhIEMeBVnGJQFdCaidw3v8fob7sMmak1QBlcM+DhKHtnf
         kuyaXf0i3zLgN5J4OvsLOQsByAW7dvFlQYdUAYHPNTDlQs6cD01gTjBb03LHuiRXM/Fp
         r9DUgik40MG1lkjrZ1Zybaj/GgmprCv5vaME/Nz0NLE5awMhg0FHlx0JKi8n0RQd+og1
         BRlg==
X-Forwarded-Encrypted: i=1; AJvYcCX/Qwa++SZ042HZ3tzI299BFEOOyCBZDKBWrwbnu9YVPRkoJkZ1gip2KF+qeeSzxRV4+fEw3q06VdM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YynxGIw8GuDRm1C6nCG7nypTsYIVQUk4bH2RZJl1J8npxkJqELt
	qW3JrtTigz46ZIUJAAzt3stC2JNh4jHrDMvtztSsmBNlCJXVuNdT1SJTIBQMKg==
X-Gm-Gg: ASbGncubTR/IXw1EHEi4l8OBVONNikZVAQASeqBniarhvwvWj2LSKJ8lzVIJ6YKZMrC
	c9UtPG1fBWkQTeUQxs/5QzkprdO0kYkE9jsDT4TREPfojeu364915oggSscj0cfR/+xaUepVunx
	HJ56PHB2IFjCkdf7s2iLRSoFuwoKbfjH1spK0/2gM9LUyQ7C6AfUCLfOJGZoqkm2+vPdWIPfe/j
	osq93d0sIGmXsV/5EmiEduxZCeu2BujYnJwW1bbGUkLXb/R2DWtEIAY2XB9p7bm9HtzM8eAoSzc
	x290ed/6pS1TNqns3V9IB+LeSIEvvs80HLiOeAxCYCfFhK1dKf95hMQypxWTTfAiTNG2SXpfDXP
	HnIIQA11ZFbk5QHD471fl9b93j2UPhA==
X-Google-Smtp-Source: AGHT+IG9/9mTU/hjQ5vBUxFN/7erS67GiMzwbFnSiCNHnG5KNyPTzwqgUZdW/MVuXsENtx0op0isEg==
X-Received: by 2002:a05:6000:4025:b0:391:43cb:43e6 with SMTP id ffacd0b85a97d-3996b4a1ee6mr4128169f8f.51.1742308113439;
        Tue, 18 Mar 2025 07:28:33 -0700 (PDT)
Message-ID: <f2fa59b3-83cd-41e4-a921-5c6eaa89e759@suse.com>
Date: Tue, 18 Mar 2025 15:28:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/vga: fix mapping of the VGA text buffer
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>
Cc: 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: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-3-roger.pau@citrix.com>
 <cc882f93-b5d0-45ad-bb2a-1c6b9455509b@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: <cc882f93-b5d0-45ad-bb2a-1c6b9455509b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 14:11, Andrew Cooper wrote:
> On 18/03/2025 9:19 am, Roger Pau Monne wrote:
>> The call to ioremap_wc() in video_init() will always fail, because
>> video_init() is called ahead of vm_init_type(), and so the underlying
>> __vmap() call will fail to allocate the linear address space.
>>
>> Fix by reverting to the previous behavior and using ioremap() for the VGA
>> text buffer.
>>
>> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> This is somewhat ugly.
> 
> ioremap() isn't really any better than ioremap_wc(); this only works
> because plain ioremap() has a special case for the bottom 1M where it
> does nothing and exits.

And this is exactly why I screwed up back then. Imo we would be better
off moving to using __va() directly here. Otherwise the same mistake
could be made again by someone (perhaps even me) noticing the less
efficient ioremap(), when ioremap_wc() really would be wanted.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 14:33:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 14:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919201.1323704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuY0B-0001Hq-B3; Tue, 18 Mar 2025 14:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919201.1323704; Tue, 18 Mar 2025 14:33: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 1tuY0B-0001Hj-7q; Tue, 18 Mar 2025 14:33:07 +0000
Received: by outflank-mailman (input) for mailman id 919201;
 Tue, 18 Mar 2025 14:33: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuY09-0001Hd-Kk
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 14:33:05 +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 e6ee4548-0405-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 15:33:04 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso23772325e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 07:33:04 -0700 (PDT)
Received: from [10.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-43d1ffc49adsm136305095e9.24.2025.03.18.07.33.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 07:33: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: e6ee4548-0405-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742308384; x=1742913184; 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=kWA9quwjiUDcW9ulgdIQlkas+iF8cjFY2kUNlW5151U=;
        b=Muz1AAZzrSpg3q/IYeeFoGPIsxUOISiaIArWxpWbVimGE139H2WzvalkN2kCgi/9KB
         q0GGtHuClXn7fhrfBou28tr+uuQuZf1MYaNnb2VHByyv+UIfrOjHUcXy5bjY1yvF+Lso
         xa7fZlIUqmlmS6bHr+G9wZu/5GENwZMdYbbq8GAGUIgVpAlBVhnTiMm1bsNamIuGVb8d
         funb4CapxmSNymwoMfTxeMTxe/zfOBKVZgdalZ/8/AeOwgicoCnyHcPLARKrNEcu5BFt
         jgLFFED0Ktxf7fxSCqQTqVyPgnv8LkawhLDazszERgRpHLbydPHkj3l9wYhHgEpAXla3
         YksQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742308384; x=1742913184;
        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=kWA9quwjiUDcW9ulgdIQlkas+iF8cjFY2kUNlW5151U=;
        b=aaD0PcjD18Ig0yJxJeITKEK2bNktne/C440LQ8d6Yr9FnP1YkVRh4NcSFr97sTuzmB
         CbuPEK8dFgCvxcSmnv0Yifg9mC7mlvMg0N/mnnZM6qo6aTV0+EJJ5YU2Ng0ij1hUr+QV
         sq41N139z8ni5ExmVG347oVEF3+z5MkNnjb9fMPUMUMCxLKBexfXnp8FJ5ZFl2vSFYp9
         xdIkUz3yk53nZU1dSxL7n2mP+k7el2+SlYXjsLahoa47f9R2nfqT+vY25Mg0LD2R2Rpa
         FDaHGdW+ReeS9cupW7Ukux/90V/zf+6xFEv60+dkWAG7DMl/fFKULSPanLoxZKBua456
         TbBw==
X-Forwarded-Encrypted: i=1; AJvYcCUTfEOaxk0frKpvgL1qTF2kggeiiDNnK6+Rbli7Tg2F07iz5fVpioux9TsNMQ00wMh4s1OuutQSGWU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRkJM3LZbabM+3KB2iaLUkpurBenxp/zKUcO9xN1Utvlqrlm7t
	S64eYi+YRxnEkDI/xPVyD7Tg+IZakZwpeZ20cOcvRigD3YuWHbb7HZbgYxxyMg==
X-Gm-Gg: ASbGnct4LnGDwF6T6R0+NzHQDI/SnsF0XfXHcZMM5vOZI+ywPMZHOCHgTm/BO1SiYyD
	sM72lWfhjA5DrKZNH5yf103xc736S4kBzirc9gQXlku0OefHJ5yaEdhX+mT2N82ec7w19JZh+MB
	GDMiuzOhZRPLB31jHHkL9+UQLyRpvaYMnELTvBd+wPpmb9+xM55cs7SMGaw1NyVLZGPq8iyenBH
	2AS5hX7C6kp3IpuCqUdgJ0udsFsogCuQ/gJJdZK35Vh8Vbk3Z1LHLep2/qrEhJO22lfata/Vymm
	yrlRt9sS26e2Nmv+i/xTJgBK9YRimzpHdcWAiPAM2Xlc1tPDFfVqid2JjPQHsRouWBeLTR83qnD
	TUtri/zBKxwSABZ30yfTQd+KpEkdHbgqfKj7WX3Qn
X-Google-Smtp-Source: AGHT+IGkJuB50FQ1ML+79WLrtKnaAQ23boMZNTXDYbiJtcEk2gCHwmMGDDvHA6omFZoKcxq9w5yDlQ==
X-Received: by 2002:a05:600c:3d14:b0:43d:45a:8fca with SMTP id 5b1f17b1804b1-43d3ba3ce0emr29811245e9.30.1742308384020;
        Tue, 18 Mar 2025 07:33:04 -0700 (PDT)
Message-ID: <8ad59d67-02f8-415c-93a0-2361e920c017@suse.com>
Date: Tue, 18 Mar 2025 15:33:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/xlat: fix UB pointer arithmetic in
 COMPAT_ARG_XLAT_VIRT_BASE
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-4-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: <20250318091904.52903-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 10:19, Roger Pau Monne wrote:
> --- a/xen/arch/x86/include/asm/x86_64/uaccess.h
> +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h
> @@ -9,9 +9,9 @@
>   * a secondary mapping installed, which needs to be used for such accesses in
>   * the PV case, and will also be used for HVM to avoid extra conditionals.
>   */
> -#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \
> -                                   (PERDOMAIN_ALT_VIRT_START - \
> -                                    PERDOMAIN_VIRT_START))
> +#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
> +                                   (PERDOMAIN_VIRT_START - \
> +                                    PERDOMAIN_ALT_VIRT_START))

Aren't we then (still) dependent on ordering between PERDOMAIN_VIRT_START
and PERDOMAIN_ALT_VIRT_START? Would

#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
                                   PERDOMAIN_VIRT_START + \
                                   PERDOMAIN_ALT_VIRT_START)

perhaps be less fragile?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 14:36:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 14:36:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919213.1323714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuY3n-0001pm-PX; Tue, 18 Mar 2025 14:36:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919213.1323714; Tue, 18 Mar 2025 14:36: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 1tuY3n-0001pf-Mr; Tue, 18 Mar 2025 14:36:51 +0000
Received: by outflank-mailman (input) for mailman id 919213;
 Tue, 18 Mar 2025 14:36: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuY3m-0001pZ-Hj
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 14:36:50 +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 6ba4b228-0406-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 15:36:47 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4394a823036so32099615e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 07:36: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
 5b1f17b1804b1-43d1fe6a567sm137998835e9.40.2025.03.18.07.36.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 07:36: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: 6ba4b228-0406-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742308607; x=1742913407; 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=Br9rLwKELT1xjtZZD5MgEqN0eZiLv7lzGSAKZ3snQXw=;
        b=RwAxy31UMHn6CylNhSouLFXGjfu6hs4+FE79hIkFpgFn5Kyrv1gTvc9leL4stVuj1t
         +8cCzZ6W5h28AcmouhajkzIE5RAfefMx1510orRJ888xyHD2VRsD3A3qz8gqUNEQDAfE
         hz9eL1kvHpJZK2PFh/FPgN8VYiWTqAtdZv6N3fl3yOt2WEq4C/7PdidX/zUIu2tNrpLk
         izuYW1EMSBEoaduXgUC/mjoVOOZAEl9yQTu2ErE6zBimtujWa9CG6i7+OSixd7Cjfk7/
         1PTVBTlFrpUcYel+sg8clgquk5lfwUU6W1SWIIfRanWtR+VRib8cmrZNOPKYQD7kUU3T
         setQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742308607; x=1742913407;
        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=Br9rLwKELT1xjtZZD5MgEqN0eZiLv7lzGSAKZ3snQXw=;
        b=ncGIT6kJVaXrL2QPJ0twG2A9RKfxhemMph9ULMuYwq+CS095cnGH1X6zsNva8V1sc/
         eWmxuubcv3akWAsWebQQO2KFT5RLdOhvx4sogUPWZT/f6o/lZUMEvxjQXxIoeh8bNIbU
         sM06CJqXCTfUJ7y9UuSgSBTJZxWHGMQj7VP7pZm8hZjmztPEWRjETySJI0hDD5mI4OXN
         4IX2DUVhRSPK1H1PVXiLGeOIGkWRrF7l6dzmJTSRF/QNWDZPxYDxCN00MDNfe3Q0VHUZ
         De15pGm8NleEGk0RbaqKEYMj3Hdz9+AYePPuFZtmN0mp/ERxwcJJY/nfWbhVlvD4f8IN
         vnPg==
X-Forwarded-Encrypted: i=1; AJvYcCXSwowPaERCHjl5Tm6qeQOfMfRcq8PLhaThS3KESPhA1JwwNqHmn2V8En3LtPGDvwj9FcnAN+FGMhk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw+fcPwVJpVbSxchNK9Wb8DmAmlC7yH2gtTxMhQx+ANxMVqMn/2
	304hSIyZ+2buXGcKcs74ej6fJ2//1CxYvAmCpFCl9Yhlq+KMxk3PYAr2CGNATA==
X-Gm-Gg: ASbGncs2w5XNnlwfHD4EDGxv3VinakrvOGOH6p81cz470iXlmK4oSk+E3CHzpn/ywyz
	XZ6sBzN+MRugfvwMrMf3neqbEzjNyDmN5OMKy3QOEWtEF8rY384HHfLfaPgap87w/asflquuCt7
	xDHdeaExXEFhdv+n3piDb0rXSlYLJzXPvitrb8YcC5/wHBMMQaUJP54WjaI3L53HWwAOdD94kQW
	SHQdUXqrRR7KvhygcEbZFh3uSt8aPJMsPtvW1q+sg1tU/JWzfKSQcQlSw5HJPuQWkuvZ2ZSv6a/
	7VxLaz+RKoJYDEyQA3+UCf9MxAgaZTcl33hh1x7G5Qt+YNj0pYZDX43lSgbn9ORVNGLjM5SmmXZ
	XTgjGKrBjUzgR+MJ8QPvYEurKdN6XOQ==
X-Google-Smtp-Source: AGHT+IFLQPzHNGLhyga5/bgAbxVRrDEl7KPANhKUeZ0CMteXuZCUrkG/d3a+2wP/ct1SOJQej92Aiw==
X-Received: by 2002:a05:600c:4f52:b0:43b:c0fa:f9cd with SMTP id 5b1f17b1804b1-43d3b980b4cmr30125635e9.7.1742308606612;
        Tue, 18 Mar 2025 07:36:46 -0700 (PDT)
Message-ID: <a8f43182-a101-4e5a-ad25-97e3a41853fd@suse.com>
Date: Tue, 18 Mar 2025 15:36:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] x86/shadow: fix UB pointer arithmetic in
 sh_mfn_is_a_page_table()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>
Cc: Tim Deegan <tim@xen.org>, xen-devel@lists.xenproject.org
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-5-roger.pau@citrix.com>
 <1871a0ff-5766-4707-8791-c20279c12fd9@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: <1871a0ff-5766-4707-8791-c20279c12fd9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 13:53, Andrew Cooper wrote:
> On 18/03/2025 9:19 am, Roger Pau Monne wrote:
>> UBSAN complains with:
>>
>> UBSAN: Undefined behaviour in arch/x86/mm/shadow/private.h:515:30
>> pointer operation overflowed ffff82e000000000 to ffff82dfffffffe0
>> [...]
>> Xen call trace:
>>    [<ffff82d040303882>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
>>    [<ffff82d040304cc3>] F lib/xxhash64.c#__ubsan_handle_pointer_overflow+0xcb/0x100
>>    [<ffff82d040471c5d>] F arch/x86/mm/shadow/guest_2.c#sh_page_fault__guest_2+0x1e350
>>    [<ffff82d0403b216b>] F lib/xxhash64.c#svm_vmexit_handler+0xdf3/0x2450
>>    [<ffff82d0402049c0>] F lib/xxhash64.c#svm_stgi_label+0x5/0x15
> 
> Something is definitely wonky in this backtrace.
> 
>>
>> Fix by moving the call to mfn_to_page() after the check of whether the
>> passed gmfn is valid.  This avoid the call to mfn_to_page() with an
>> INVALID_MFN parameter.
>>
>> While there make the page local variable const, it's not modified by the
>> function.
>>
>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Whatever is wonky in the backtrace isn't related to this patch, so
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, but the backtrace
> does want fixing.

Right, but the fix may need to be in the tool chain. I'd be curious what
the symbol table looks like that this was created from. Roger, was this
linked with GNU ld or LLVM? Are the filename anomalies also visible in
the corresponding xen-syms.map?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:02:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919229.1323724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYSL-0008MW-Ss; Tue, 18 Mar 2025 15:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919229.1323724; Tue, 18 Mar 2025 15:02: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 1tuYSL-0008MP-PV; Tue, 18 Mar 2025 15:02:13 +0000
Received: by outflank-mailman (input) for mailman id 919229;
 Tue, 18 Mar 2025 15:02: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuYSK-0008MJ-D1
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:02:12 +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 f7c455f5-0409-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:02:10 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cec5cd73bso23139605e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:02: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-43d1ffbcf95sm136147635e9.14.2025.03.18.08.02.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08:02: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: f7c455f5-0409-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742310130; x=1742914930; 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=EIubS6EtiriuwxSgeX+x7q8A70caDeqJNsyP13BwunQ=;
        b=BEU6YOwMoJDCgdjeVub8ZEJ3EzzneqwLiE9RCDiF1iC54eR8lLFJbXhp93K8cuEGo6
         t3bsAeLXixxm42+iXI2Rs/NgsbhcjkV+Nlqq+u/EJic1VoHdGgh+uBF4THIDWzLZIlP5
         wWQByFfhylG6wM2oi6tsA2DvvoirxK2dZVopirrN6fdHAyP5htfO8GLdojGpOXYvr2EP
         gHDbMXJEKNlN1fYeb3urhCPo+CCDN3cmETWx1w4ps+EtomWP75YhHKSUndnKtZ0HEQZT
         xexRmtAKJFJa+bFcBLHVDD2V9++mxXCJWZYubiisRU+MMPjHNxVHbQ2PUOU9ECQfSSrd
         ptdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742310130; x=1742914930;
        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=EIubS6EtiriuwxSgeX+x7q8A70caDeqJNsyP13BwunQ=;
        b=UDt2gogIm8Z5jK/uIJgoSw5nzdTQ6R6UQ6Z5rMoJPg8KLI/khZJpcxwUbYoH9kmVLn
         M7TSCY6Rt+dWo4dhi7YmgnVVovedVDDLVLDO7dJE/iTXdtjkYFGqKrT/TuOJQiclQd4I
         QlfMrojsj1qgMUg1poLRUJT0vU00cabi6FiC39XuUIN9ZMlFjRSuuE/8z+MvDJRTW9AI
         NYcu3rPWQt7LWuFh50ZMq2/0wdFMZzOMLfQBI0ihTlMlJRLdt0X1+rtJTG7CzKzYrRYg
         j5a2DzcRzETzlamSjyCW9sBOcMl551jXWSNnS4X6BLeBRuMipgvJMIeWt4+zzajpRXL+
         NWkQ==
X-Forwarded-Encrypted: i=1; AJvYcCU5Q8bULspR+rztvryltg95aJMxtSQ2W3gRgyKkehkSFEyEBxv8O8jFRFQIBDvj+Y/bWkFyNZNmw9U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywsn636ayIQh1p32vGI/4q8Cu4W3NXjnW+hEZiBJTPtymlq6G1m
	qi+A5rkYwrrdr1LxPxwtTyezbQRi3DPo19rgYTI500JJIwA5TB+Vr/wBN+aJwNumtVU+qlJTHsg
	=
X-Gm-Gg: ASbGncss9fYF6Z+3Tlv209SVhNsvINaGLFfGo3DNzwa19A5yw4vDJMKd9vqg/1ULssq
	ypAP1uemYRp+LXNyJO/bqqwWabrwLxRpB3PihqPAmjmIu3OvOUrW2p1j3DFcm03pO9WKlIWu2KQ
	Ug8rK5ju656Fb9g4nyLRjckr6zrHbKUH90EpxnulqMwUtREFc3X2SZPu9Z5hMI3EnG8jf0CAX4j
	2OwdlmcP1zFzmQsmub5wGLd9AaG0hYnTxvrouQhrN0RHESP4SbTyfg1gHZ52vhXeBDHdrSauNNH
	u76xtlvU3vkFnBnTcO/pBBMkARSRSGCo+tdMf3+Dv1K7ocubreKiLEN8ZwsfczSbEt1djwdPt/7
	x8z3oK3LFsKjKX2cgMSjUdirIvupt95C1zQjx0Pru
X-Google-Smtp-Source: AGHT+IGc57EIevF9EoMf/TMvg4wNUuaBW45VB7X/HVvrHOGJe1LZVxlcjfgZKtKQLvMthgC/ptoWGA==
X-Received: by 2002:a05:600c:1da6:b0:43c:f5e4:895e with SMTP id 5b1f17b1804b1-43d3b9504camr19886735e9.1.1742310124163;
        Tue, 18 Mar 2025 08:02:04 -0700 (PDT)
Message-ID: <278790ec-32f9-4ae4-a9ae-6eac5900023f@suse.com>
Date: Tue, 18 Mar 2025 16:02:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] x86/traps: Move cpu_init() out of trap_init()
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-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: <20250317192023.568432-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 20:20, Andrew Cooper wrote:
> cpu_init() doesn't particularly belong in trap_init().  This brings the BSP
> more in line with the APs.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:04:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919240.1323734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYUm-0000UQ-7i; Tue, 18 Mar 2025 15:04:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919240.1323734; Tue, 18 Mar 2025 15:04: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 1tuYUm-0000UJ-47; Tue, 18 Mar 2025 15:04:44 +0000
Received: by outflank-mailman (input) for mailman id 919240;
 Tue, 18 Mar 2025 15:04: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuYUl-0000UD-Fm
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:04:43 +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 523ef351-040a-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:04:42 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso33065465e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:04: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-395c7df402esm18088631f8f.1.2025.03.18.08.04.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08: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: 523ef351-040a-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742310282; x=1742915082; 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=rGK4Ftrj+XdoAh0/IYrB9GghAWeBhcXrl2SHpxmlLVA=;
        b=X9s/QnLrX9qbwehJ6CrM02TRkT2n5iOXVDCe1DYVUVfEL83niVFvg4MoyearAOovcW
         NbsVPNFXrXaZ+7e1g5cGcHVC8lLcXx1qPfq+Fx1wOTeoHUm8rX/mxr6NmKcRLz7oPyJ+
         cNdZe3EcA976mHMmFjuhyO39VaNQKxb76Xz/KWpFND65dgCw4CC7DabDg5Wfrhk8ZOL9
         W5IsGu75OmTGxKHqV/TwIkk38XDrRjwz8fbWNGNG0cmTM37KwR4KLls0H1K4QD0NJcxO
         IcONtoOAquOEao2Cusp2qFQNbFNEMn+EpHu7ZvWtoZt1DThcx/MGxvT2p5801os9jW+l
         ACGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742310282; x=1742915082;
        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=rGK4Ftrj+XdoAh0/IYrB9GghAWeBhcXrl2SHpxmlLVA=;
        b=o9Y5hM9opBhraUb8pgSYd8RQto56C7lhXkyVHZcMC5xvlZKy1x2ASgt1mt4iZS+7Td
         r2MxgFN85/IDEmyl0MLN8PT4ztm2RH/pXH4wfoKoIMA05PabOXJ6si4pUuAXepJm+cPM
         ueAypsRYODJbH4XC1D6CTb5ZZtAGPppvBBX4eR7uAhaXrnJzDe9XIoDWgtbKONRogp40
         pOIOu8PJrre2uAwfbAG7YKD8za8tc51cNDkNpYTk+twutiSJNAguuDamEyJGXqaO9VHw
         Wgwmuz6SVMt8vAH/AEISoVNZJzCieIlqgCK2es9AQv8NC9/Xl9mPzhuT3iGoCB5/ByBE
         XGFA==
X-Forwarded-Encrypted: i=1; AJvYcCW5Nc/zOOipT1xK9WasIG5C9JqxeBuwidxfRTr458lEc8gnNwG+HnJPbyETaCDBJiZeGXwZndJUKFo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwBI3EslcOr+1IDavrVclTddoZwbN4pAqcmQZfqBDIjX4eG5yBi
	SpNC+NkbAvhDSkDXaOhexkUIMPFVG555f4z1J6/ak4yyA4P02LEWJxDhXZz2Jw==
X-Gm-Gg: ASbGncvpeXvH2tnPzhRKv8I7j+GsiKPD5cWEJ/mHd5Jmv/nkCmgrJiVdglBQyOtc/MF
	iesqCcHZ7/d9WWHW0YRGFOqzjIdM9sXsQOIcNAvLIfVFWngldbRR4ua74FjN6X92ebBkmhBaEbW
	wUckr198icHlsSjdMnpexZOcpM/hMN9UqU6jCjcqV3GkAd/Dbi5Eg2gfc1HaCpO5lkyi4DsSmXT
	U3H5qjwAlpR+GYKE9vbayXoD9uHQD2IAKRvD1ShQKxjfjZEFUYqLiDkWs3TRO2gS7c0fIvWSxx1
	D5aoUZd5vLN8HaffhedsRLsa0cqrJpX99dmbUNzqsdGRRrsq29LEaHiTXRyubr+AZH7WdLsWibh
	j8CxaNGWo9WKI/QEEX1ln9uP6Gh+rOA==
X-Google-Smtp-Source: AGHT+IGStquB1Q+f7fkxdfDvV2PPK4NTRJ/9i+eCAtbHXVl7SxOxhkOnc3CmbEq63cyfwPTdD3pZGw==
X-Received: by 2002:a05:600c:a4b:b0:43c:fb95:c76f with SMTP id 5b1f17b1804b1-43d3b98d8bbmr24701245e9.9.1742310279774;
        Tue, 18 Mar 2025 08:04:39 -0700 (PDT)
Message-ID: <29d2d036-1e4f-44b9-a3a9-843f572f3f2e@suse.com>
Date: Tue, 18 Mar 2025 16:04:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] x86/traps: Move percpu_traps_init() into
 traps-setup.c
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-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: <20250317192023.568432-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 20:20, Andrew Cooper wrote:
> Move the declaration from asm/system.h into asm/traps.h.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

> --- a/xen/arch/x86/traps-setup.c
> +++ b/xen/arch/x86/traps-setup.c
> @@ -3,5 +3,20 @@
>   * Configuration of event handling for all CPUs.
>   */
>  #include <asm/idt.h>
> +#include <asm/msr.h>
> +#include <asm/system.h>
> +#include <asm/traps.h>
>  
>  DEFINE_PER_CPU_READ_MOSTLY(idt_entry_t *, idt);
> +
> +/*
> + * Set up per-CPU linkage registers for exception, interrupt and syscall
> + * handling.
> + */
> +void percpu_traps_init(void)
> +{
> +    subarch_percpu_traps_init();

At some point this may then want expanding into here, seeing that we don't
have any subarch anymore, and don't expect to re-gain one any time soon?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:06:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:06:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919247.1323744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYVz-0000wD-Fx; Tue, 18 Mar 2025 15:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919247.1323744; Tue, 18 Mar 2025 15:05: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 1tuYVz-0000w6-Cr; Tue, 18 Mar 2025 15:05:59 +0000
Received: by outflank-mailman (input) for mailman id 919247;
 Tue, 18 Mar 2025 15:05: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuYVy-0000vy-1A
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:05: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 7eb30a22-040a-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:05:57 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so22794815e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:05: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-43d1fe658d4sm136462025e9.33.2025.03.18.08.05.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08:05: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: 7eb30a22-040a-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742310357; x=1742915157; 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=fZFqpmQ+QmfhbHvZbAvJfBunAr2xux630iuFhrwc7TM=;
        b=bQpWpiviTyRmhdH5BZFNQyr7jNlA2wuZ0ZjbfZSg6FZP88ABfBbYUgIKJHC3HBeska
         HbUot/v89hPAJH4Oet5i/lZt79ShoAbezvxd+zS7ZtXm0Dl2i4szMv19S0HwvTURd5bC
         Nl3WsugB+cPN0UazPWTGnSHao8Y6hdWa5qo9289qARN7eEjsKzClqGQjnBGlw2gfvWhM
         n3dWfTgILCKNyivVld9iCc2iD/mOmKyX9itRx/HhKCP2r/cI0k51/6oj3M0LHMMVX/UV
         Z3YbX9tWZfBJ321uewOTGlsZY1aF2ZMs5ju7Kc8MWN4ODAo9n2ECUxBF2Fua2CqzhvVG
         Z5Ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742310357; x=1742915157;
        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=fZFqpmQ+QmfhbHvZbAvJfBunAr2xux630iuFhrwc7TM=;
        b=biTKfdZqFXlPDIDLxxgmC4io5Eog5l8XtAsUHW5unc3IPPW+IANV6fIs1iRJ9Or6Ow
         mtfzCwYRA+SgCK6NN4+MWaLhmt/+bIhbJwJeSZSh938iFHkSQWL41ZroR7sqSCmZmK0R
         YUB1Fty4iy8PcWN7NByaTvRGAjrpv5KBC8tAnRFprlQXONJL2jNrZYbsykQGefY/XNIC
         JzkU5TmpP/frRu8gQSG3/U27W1m2JPoXce7Nq/CZso8AT9i1kwJkiVupEoFYoFOeFYvP
         3nHhL8lVKKYVvVk4p5LMhmsEJb4KQ7duSh9Ga9rfQzc1XiFW/HBrGt5cUofaJfgKL2bv
         8hAA==
X-Forwarded-Encrypted: i=1; AJvYcCWmdrvQiCKFAGgebHNuZf5BP6E+tWO25SezLAL28WM4yY7Na3E+B1OMIZCoFHD3bd7Cgq0me4M4Hac=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxhj8XB51m51T9V8fABMCyoE5xXZxJyNbBk0rdPplfqOIDRi/3I
	2CjOg37Z4MbPa0GXy+i95aRGtkXqaOfrr+Gt8JnAnG9WDABog9F6blyGPZI81A==
X-Gm-Gg: ASbGncttKq2rQTV5+KHVrVQTVc3z6zatgUc4HPqbtt7lGaEk03/sFM21N/IDA+W6cCB
	7oJzMaCdwjPnsLUs/PEcDUv3TYR7qEgh45WGtq8gjhGwQzWYsx4qaSA9KNP8TrOE5+ob7F3/QSD
	/8KBj8V8eyuX+Dno/j7Fo2MAA++XniXgcw9b6waYOxfR7WAzSBxmkE0HaMq/SEQyKa9d8uNyhzk
	TDVH+S4V1IYR4oM7dgDr7LXcJ5e99La4qfNZszxu6vqlgGDEhM8Lt3GVf/oIRR6zxnsMqPcNi0u
	vu35ulsn6/htz08r9GJrG5UZ6zFK6L4ka2gioEWf0ydgYBrCsHtdzXChskAuLjWJVv4d0Yth+j6
	4L1Gxm9v8iGkLMwdLWe8vL+5YFNYdkgDg1eD7q2vB
X-Google-Smtp-Source: AGHT+IGKeXIh9KRifzQd9q/OInlHJbvie2o5r3js3nmaXOBNPNv/FnpMODlxEGhQ9WYl0wLO7S4hWQ==
X-Received: by 2002:a05:600c:3586:b0:43c:f050:fee8 with SMTP id 5b1f17b1804b1-43d3b9bcf30mr19244525e9.20.1742310354529;
        Tue, 18 Mar 2025 08:05:54 -0700 (PDT)
Message-ID: <288a3902-0290-44cc-9227-3eb7c5eb78c6@suse.com>
Date: Tue, 18 Mar 2025 16:05:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] x86/traps: Move trap_init() into traps-setup.c
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-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: <20250317192023.568432-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 20:20, Andrew Cooper wrote:
> ... and rename to traps_init() for consistency.  Move the declaration from
> asm/system.h into asm/traps.h.
> 
> This also involves moving init_ler() and variables.  Move the declaration of
> ler_msr from asm/msr.h to asm/traps.h.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:06:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:06:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919254.1323754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYWs-0001Mp-P2; Tue, 18 Mar 2025 15:06:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919254.1323754; Tue, 18 Mar 2025 15:06: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 1tuYWs-0001Me-LN; Tue, 18 Mar 2025 15:06:54 +0000
Received: by outflank-mailman (input) for mailman id 919254;
 Tue, 18 Mar 2025 15:06: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=l/Yt=WF=dornerworks.com=Nathan.Studer@srs-se1.protection.inumbo.net>)
 id 1tuYWr-0001IB-AY
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:06:53 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on060c.outbound.protection.office365.us
 [2001:489a:2202:c::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ac282b2-040a-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:06:50 +0100 (CET)
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:195::20)
 by BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:168::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.31; Tue, 18 Mar
 2025 15:06:40 +0000
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea]) by SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea%4]) with mapi id 15.20.8511.031; Tue, 18 Mar 2025
 15:06: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: 9ac282b2-040a-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=nxeEDiP5YfZUVcht/WfB7AdVqnCR2gsboopwnzFUOVIUk3RxThb76kC+IwQSl+/3VX6/CWWYmFFXhs9DiPL0HOcxT+u3P2dw66ADLC4Zm5hl2F2ny3eJJxqAdKe8KRlUOsWxVmU5sJyJSGtv35QpiaEKt0kWgdOik0dQhXb8Zg5Q/yRovul4EUXgEqM+Bk0p2HjHxrml4nJfDwfKUewCVineqp2uKhZdN9EFI9NTMZE/zOzBuQhPFhuu07+iO6ZemFc0xCyAZJnB1a/j6lI2B6boTJZkxhP4DIBp43uoACA0A5UgNjliQYXbndkS2e4GUihMMd1cVQxtngYxZiEnnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NSZ5siWqBEmVcR2JIJqm3FBxpeOJGMh1g6NXp/6BBM8=;
 b=tKXo4ShjxgiqXPxHCVPwjWk5lXfcss6RczyPwPwvYD84ZNjTJnQJ++JHHi0kE4InaeTOILKBkAULqV7fy5YK8NBZmkFbB7oDy8aXL6VUbbgIjY1xihbLTuQoVud5V/Cv2CyOrC0wVALjHFid+DJG1FuqqV+NK149i+eWYSR5A8Yjoql+EL3l7+M0RQlRzexsxPaa6XVHSUk1ZTWGSrZ/gfiPwcp7eAXM2kn/lZeQ0myRmPO2pW7bJCpISj61MRDK0V5V4rvfjNPTfoZ6wN6BoqKLjSg17nGnJEGkTp8RWP3uEEw7QKWhOruBTpWmU7UNxS/x7F63kCwKN15G3fEW6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=dornerworks.com; dmarc=pass action=none
 header.from=dornerworks.com; dkim=pass header.d=dornerworks.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dornerworks.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NSZ5siWqBEmVcR2JIJqm3FBxpeOJGMh1g6NXp/6BBM8=;
 b=cT4SJxP1eUlxvzNchr65aXG5IChipP+BFHGDQpAvwtj+QDbDTOJ4r0cFuyc+XvG49fzGlSsE6Ws8ruD/YjwpE2va2Qd1k31x/dO5B2oLzCbXu4aJ4RlOIcHi4jHkV3I7hU5uyj3QvwrC5pPE1DaG6xFPAFjpst91eziX/hqywVD1G8ZLlAgRSwlARyY21NeQfWenc3LzbG0jfTHMaLPJ96WJYnYc7vVBrSfXOwgYPzsCLAKh+QVFzTIKEh2VgZ3s6z7ODbdX+JJ7NR8ml/08PZEivu1w9KV5ceION/2njta49i0E70oRChfWp1wNJIqitTCTSUuEv19H+gOMPZHLqw==
From: Nathan Studer <Nathan.Studer@dornerworks.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, Anderson Choi
	<anderson.choi@boeing.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "stewart@stew.dk" <stewart@stew.dk>, "matthew.l.weber3@boeing.com"
	<matthew.l.weber3@boeing.com>, "joshua.c.whitehead@boeing.com"
	<joshua.c.whitehead@boeing.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "jbeulich@suse.com" <jbeulich@suse.com>
Subject: RE: [PATCH v2] xen/arinc653: call xfree() with local IRQ enabled
Thread-Topic: [PATCH v2] xen/arinc653: call xfree() with local IRQ enabled
Thread-Index: AQHbl9hEHxF9vhDK30ipwzG0NwoWCbN4gt+AgAB8IlA=
Date: Tue, 18 Mar 2025 15:06:39 +0000
Message-ID:
 <SA1P110MB1629BC07E584787DE8B259EDF4DEA@SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM>
References: <20250318073415.6652-1-anderson.choi@boeing.com>
 <735dd1b8-80e3-4748-b96d-e30cfe6943ac@suse.com>
In-Reply-To: <735dd1b8-80e3-4748-b96d-e30cfe6943ac@suse.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=dornerworks.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1P110MB1629:EE_|BN2P110MB1107:EE_
x-ms-office365-filtering-correlation-id: b14fb519-818c-41b9-6542-08dd662e7c73
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|41320700013|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?elVoUjZsMGNMSklzNDRlb0s4eVFvRWhnbE11M1lFVEUwbDJzcWYzU1BDbm0v?=
 =?utf-8?B?ejZjTEQ5N1NYQXpVbGtkNXh5di8zNkZSczFTWEU1bDM4QVFhNnd4amtkSkdI?=
 =?utf-8?B?UWFFc3dGRGljYVdlTWdEMmdMUHE5MTAwL0lRNDRhSmVaVi9SOURXa1RBZ3V1?=
 =?utf-8?B?NXRvNUxwQzJFQ0NEMnlta1BhOXVDVXd6VnpUbS9XL282eTd1dFVYS3pvb3FX?=
 =?utf-8?B?MHNpampCaExZLytXWVJrUkhNa0Uwenh1aUphbUxSMDdYaXdOU1ErZ0dOTUZ3?=
 =?utf-8?B?bVZ2dnRSUGEyWWJsdW1hWVhpMVN6WGFSOVpNekRnMU9TczdsYWY4VjhiRks1?=
 =?utf-8?B?bkpjM2srcUh1N0s3UjdsQ08vNml2UzZpUzY0L2ZUTDQ0aXFqSXJKRUd3U1lw?=
 =?utf-8?B?L3I0YzNVSUpXT0dmSUVCUFRGMExoeUpkczlvalM4aHV2RURpS0tiSzZvQURr?=
 =?utf-8?B?WE9WTVd4bThlWllBa05ZWksvWFQzU2RrQi95TmxMbzdzdmcvQVhCNlg3VXFi?=
 =?utf-8?B?eXFmcUoraktUY2Z1RWszYTkweWpzZncvMjVvNEx4OTIreHN5UjhOSFVwN2E2?=
 =?utf-8?B?cWlwbzIwZzQ2c2pxa3E5eWhYVkViZ0VSK2h5SVlLL1ArK0ZyUmhnZTdsS3Qy?=
 =?utf-8?B?cmNDUm1uNEhlUWxSSzF4UFNINTd1Vnh0TmRXSm01ckFmMHFhVlF3TE5CYVJ1?=
 =?utf-8?B?TE1uSUhobVhHRzVNRjZnQklPSy9SMmc2SWJybVI3QWtRUXhucDlEaERTVEg1?=
 =?utf-8?B?cmFvNU1VVXhmYVpnNW1iMHFmT29LWHRRZ0pVQ3JFWHRjTGpEYjJqdURENGt4?=
 =?utf-8?B?NVhVRzVtRVJqSDArQm05N1pRbUlhSVRkeFB6bk1DVDFRKzBFVmVrYlVYeVZH?=
 =?utf-8?B?MVp2ZjE2c2NyenFCWFBKNTZ6aUdGSS9RTThKVUMvRzRsN0Fqa3JiQUEvOGp6?=
 =?utf-8?B?bEt2OHZGRzB2a0lpMWJxTm5ZaXU1amVWeEw4MGk3VktUM1NVamduYnYvNjhD?=
 =?utf-8?B?T1Bnc2c3cEVDckVqTUpncVpNcW1jYncwYzdwaWcyUXE1Zk9vU09Dc3dET3BB?=
 =?utf-8?B?enh3UEQvSk0wS1Y5a3ZZbU13NDBabXVCWGdzb3ZaODhaSmI3Nyt3N2N4Vjcr?=
 =?utf-8?B?UHFiNGxTck1YV2pNa3REd3EzWXlUUUNzaUxjcjZJWkhhaUlpN3cvNDc5dGJ5?=
 =?utf-8?B?OEZQZWNzWS9rRms2NmU4cUErN2pJVHBDK2NjTkk3aXRtV0xmSU9UZGNBRG5o?=
 =?utf-8?B?MGowbVVCNHlqY0lhSzFSTEdPeVRTV1BvZzJacTMrYnRDc1pxUVgyQXUyQWpy?=
 =?utf-8?B?TkxwV0pmb0kveStCSkN4RFdkaXYwc0lOcGVLeGdrN21aSExqb2xrZ2habnd4?=
 =?utf-8?B?dEpoVGRBZWJETE5TRkRtdnllVXd1emhxa3JMYXdJSERnUDdEM29TSkJFTGIy?=
 =?utf-8?B?c2dDRm1sWkkxbm8xZDVKM2c0SGpWVVNlNExMSFF0WktwQjNuYVEvMVJEZFlP?=
 =?utf-8?B?NVpiODdGSWIyaVBjME1wRFdtRmVvR0lOUVFQdkFmWnR0THBqOUtFbmk4VHEz?=
 =?utf-8?B?M2FrTWU3Rk1wQW1uT0wyaVVFajNlL1ZwMERTbmduQWtZaFV0ZE9xaGpvclJ3?=
 =?utf-8?B?YlV1R2gxbnFvaUtTMjBPSG1vTDBxcUw2dXI5UDZRMk4vMU5QbGU2cVJrTzlK?=
 =?utf-8?B?SHZiQnI0eDZsN3pRUXQzL0dYcVBCZ0h4enJBN2kvcU1weXFKMWFkRFJxNDVr?=
 =?utf-8?B?WjFaOVhUcGNvck5GL2hWalY4OXRZOG55elBaQXVmMVZzaUJsQS9hSDhvUkU2?=
 =?utf-8?B?UjV4aUhjdlhRb0h4WW1hUWxaS3pXNnlaYUwvYjYxRUZjSjNqVC90VXN0a2oy?=
 =?utf-8?B?WldoOFNxNXpHbzVmVHhnK2VtOHVqL0FDK2NmTjNpSTVOVmdqUjJ0c0NDMUFo?=
 =?utf-8?Q?7IaSs4o3cvCD0JIZwveBtFzlWWUUeUWw?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(41320700013)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MjU1MVVYVTlzRWd0TXJ1WXN0OGxDNURrdGJzbkZVV2o1M3hVTkdrVHJOMW5F?=
 =?utf-8?B?Vm9LNWJWcC9mcFluL3B0d0NJME5LSXRMc2R6ZG1iQ1lyVVMrK0VpQ3hQMlN4?=
 =?utf-8?B?SEpHT0h2V3NEMjhyYzg5dmZIYnM2ck40THMyek44QUF1czJ5VXVLSjVMVStI?=
 =?utf-8?B?QWxjTHppditzYm1DRi80WE1RK2pvSXF3R0dzcnQydnJEcmJpSE9qOTkydDRt?=
 =?utf-8?B?blRSbzhCNDlveGhoei9wMHhkWHVVUFNnM0VhaDNrYTB2cmpQd0lPMXFKOVhj?=
 =?utf-8?B?YUIweXBEcGpMZ21WVDFjMkFKVk1Gd2k5cHpMMTlCU1FOZmliSVZwSVdjL0RJ?=
 =?utf-8?B?RFI2MS9wNEtBdTI4dWxLNHlVWlhCTEl1NWErNWVtVVBqamQ1ZkdxU2F4anp3?=
 =?utf-8?B?NWNmS2R2eW00bjFuNGJ2WUovMU5lWGpqUjNnVWNBTDZNbTNBNEtveVNIdmFZ?=
 =?utf-8?B?SCtCbFdCRWsyeGhaTFp2MVFpV0VNcklVUXhkVHVCanRySUlscW11RkNLbzNO?=
 =?utf-8?B?TGlDM2ZQcDZvMVdDczNzeCtwWDZHSXJXeElCb3d2OVBWVDZRd1ZzZUNabCt6?=
 =?utf-8?B?MDU1d21kTW9pRnpXbG5POXZpZkpJQm1yQ1dIdU9Zbm5KTWxYeHV0OU13QXpD?=
 =?utf-8?B?MGdqenFsQk5kMENkQTVlVE1LUUJsdU9VK2x5QWpmaTA5S1lRRlBoLzZPZS9i?=
 =?utf-8?B?QlR4YXpPalhZOVpHR2d5bjRKVldwUlB5THVwdE9MMnFzb1RhTURWRXl2ekhU?=
 =?utf-8?B?cjZKbkFMeWtiVE50NEZNOGtSQk1jZHd1VzY4SVdxazRXZi9OVStsd0pLN1JN?=
 =?utf-8?B?TksybzB1Z0h1aUdNUGZwUUVoY3RLZ044bC9mZTRiUzJSZnI2NVpOL0xlNGJM?=
 =?utf-8?B?Q09yVUt2LzQ3eHc5RVhGaEtnbzhPMjZqUFFiMlNIVzJnYjIvQnJPSXRmQ3hp?=
 =?utf-8?B?bE9Kb2ZndVB5ZmZGS2JqZWs5Ym45Q0hpZ1IrV2puU1pGZlVsbFpvSnpwOFZI?=
 =?utf-8?B?NHZpRHBVelZrbGpRV1BtTXIzeTZ2Tk1hRTJDcDlxOXIwc3kxbUFpdklxSE1C?=
 =?utf-8?B?MXMzZDgyTThwcFd2S0FtSWZ3Y3o5SWc5bFhjQXovWlMwS0N5dG53QzFmMnox?=
 =?utf-8?B?aGd6eDcxb3M0NVo4dFN6aXh6bW9laVJhZ3lNRFh1am5VeFpFdDVjbHNSQ3Jn?=
 =?utf-8?B?UVBTVGsrS0M2TS9HMVVuakRteUVSK3ZnV0pWUUVwdzBkcHJNQUxEVHZ6R0ZC?=
 =?utf-8?B?VURsOUJYUk9KZnloZ09qOHRzUGdsWmNPUkNLbTFna2xNdHhjZU5iWEc0Ukx0?=
 =?utf-8?B?bVhWSDUranBaUWN5enNLdDZDL0RJVTlqWHY3UWdqWTdRUXkrQmtSNG9GR2Ji?=
 =?utf-8?B?aWlkMlQyeXNwdUZadzlBMWg3RVErcFliaU1zbzBHM3BYVy8vei9UeitPdGt3?=
 =?utf-8?B?dmFNdHhPWW9ueElMKy9tUmFVR0k4aHd4UVlET0RtL0dYS0FXTStXSUZqT0xX?=
 =?utf-8?B?WDFWazI0UTdzd2FvaE5pTDVKc29ybTRSUVYreGpCRXVJeUlIcDlTZGtmYm9P?=
 =?utf-8?B?TGVKZGFra21UY3V3SC9MNGVjSkJsbkg3c0l4RUV3WTE1NXBGN0doUFdZa2hl?=
 =?utf-8?B?NkViM2gvNVExTTczTjZwK1RKeGZXcTBUS2ZWSENWbjlmTVVrSmcwV084R2Q0?=
 =?utf-8?B?QUphSWt6QTVielpzM3RvMDNxZkRISm1DVWJxOFc0S2dTczl6cjQ3V05uVEpv?=
 =?utf-8?B?b2lhL09TUy9JQmhDN25VcWNvaUNXdkVaSTFhQ2lId0dvUTVsd3k5bHRCWWhT?=
 =?utf-8?B?c2xpY3lVTktTK05GTzdCK1VsYWJISmpKeHNTdmFCd3JkWTQzaFFLQUZ1NHBO?=
 =?utf-8?B?VUVOQjA2Z3pnWC9mTEZOTWwrdjF3OHlsUk5XM3B3VWpCcjUzcmt4c1ZDQnR3?=
 =?utf-8?B?cjFwdnZaNk0yVjlLVXhYdGZlTDFTV3ZkZGxabEhXbnJzQ2RiZTRFbk5ML25K?=
 =?utf-8?B?Zjl1U2lpSTV5MFcvMlFFTlBqY2syM1VRVVpvVTlNdzdpUGozVWhhN3F1aVo1?=
 =?utf-8?Q?CXQNBm?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: dornerworks.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: b14fb519-818c-41b9-6542-08dd662e7c73
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 15:06:39.8524
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 097cf9aa-db69-4b12-aeab-ab5f513dbff9
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN2P110MB1107

T24gMTgvMDMvMjUgMDM6NDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDE4LjAzLjI1IDA4
OjM0LCBBbmRlcnNvbiBDaG9pIHdyb3RlOg0KPiA+IHhlbiBwYW5pYyBpcyBvYnNlcnZlZCB3aXRo
IHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbi4NCj4gPg0KPiA+IDEuIERlYnVnIHhlbiBidWls
ZCAoQ09ORklHX0RFQlVHPXkpDQo+ID4gMi4gZG9tMSBvZiBhbiBBUklOQzY1MyBkb21haW4NCj4g
PiAzLiBzaHV0ZG93biBkb20xIHdpdGggeGwgY29tbWFuZA0KPiA+DQo+ID4gJCB4bCBzaHV0ZG93
biA8ZG9tYWluX25hbWU+DQo+ID4NCj4gPiAoWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqDQo+ID4gKFhFTikgUGFuaWMgb24gQ1BVIDI6DQo+ID4gKFhFTikgQXNz
ZXJ0aW9uICchaW5faXJxKCkgJiYgKGxvY2FsX2lycV9pc19lbmFibGVkKCkgfHwNCj4gPiBudW1f
b25saW5lX2NwdXMoKSA8PSAxKScgZmFpbGVkIGF0IGNvbW1vbi94bWFsbG9jX3Rsc2YuYzo3MTQN
Cj4gPiAoWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4N
Cj4gPiBwYW5pYyB3YXMgdHJpZ2dlcmVkIHNpbmNlIHhmcmVlKCkgd2FzIGNhbGxlZCB3aXRoIGxv
Y2FsIElSUSBkaXNhYmxlZA0KPiA+IGFuZCB0aGVyZWZvcmUgYXNzZXJ0aW9uIGZhaWxlZC4NCj4g
Pg0KPiA+IEZpeCB0aGlzIGJ5IGNhbGxpbmcgeGZyZWUoKSBhZnRlciBsb2NhbCBJUlEgaXMgZW5h
YmxlZC4NCj4gPg0KPiA+IEZpeGVzOiAxOTA0OWY4ZDc5NmEgc2NoZWQ6IGZpeCBsb2NraW5nIGlu
IGE2NTNzY2hlZF9mcmVlX3ZkYXRhKCkNCj4gPiBTaWduZWQtb2ZmLWJ5OiBBbmRlcnNvbiBDaG9p
IDxhbmRlcnNvbi5jaG9pQGJvZWluZy5jb20+DQo+IA0KPiBSZXZpZXdlZC1ieTogSnVlcmdlbiBH
cm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQpBY2tlZC1ieTogTmF0aGFuIFN0dWRlciA8bmF0aGFu
LnN0dWRlckBkb3JuZXJ3b3Jrcy5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:12:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:12:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919274.1323764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYcf-00048Q-Gh; Tue, 18 Mar 2025 15:12:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919274.1323764; Tue, 18 Mar 2025 15:12: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 1tuYcf-00048J-Dl; Tue, 18 Mar 2025 15:12:53 +0000
Received: by outflank-mailman (input) for mailman id 919274;
 Tue, 18 Mar 2025 15:12: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuYce-00048D-H0
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:12:52 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75708359-040b-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:12:51 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-54954fa61c8so5767042e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:12:51 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-549ba864ec9sm1725804e87.110.2025.03.18.08.12.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08:12: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: 75708359-040b-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742310770; x=1742915570; 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=ivSsb+ebG5REk+cRPdcLdQsujENabwZW0W6nVNr3UYE=;
        b=FOa7bM3uo6/9dYAj9+mny36AzYwKZwEI/QlaBAe7in/62Yb8Cqvz5JCxGvrJBaWu0b
         kjv2TncBLm3W0HDVT9OtdnhfpOz9qdgaxGFlmXIRcVMxIfTRQ1BCMB59cKl8rPOg+Ray
         R7wpz272lUC/oghV0tJdZRNkfUhsDhwP+n4mg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742310770; x=1742915570;
        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=ivSsb+ebG5REk+cRPdcLdQsujENabwZW0W6nVNr3UYE=;
        b=O8VDYNFlEsg3dUU6QqOnl/ZQvpQKZqLRrRqPPAvDDwX2mbbyr07V1kFZxcTPpnA+l7
         DQdSfupOX+ewxXepoTkHN4DjB05I0IKP/pvUO0yPvawqfdzx+h6w8xvf7sjc4fM9afaR
         Vx/NajLqlynA/6M+hi/h2+zlKlLOrRWVQTT35mLcBnRm+wJnlSUsD0XaNo2akbCQmPJN
         LbrNAKVLKokNGe8Hs5EpYbp4jmLlfneuv4xeW3RZPJk8hQwUA2YDQLBIy1hC/fA51sLh
         oozfz/JCBIyOpos9oZN4hbtmee1rbyaFblqmqeGLmI2/lFK+15fI0ztIrB+XkmaoyjQB
         bPUA==
X-Forwarded-Encrypted: i=1; AJvYcCXkcecfVWxiVxqRsGyX4zXHps6gf1yuE5D0WOlFAnvouyAVbB47vTGOWVfqDnNsBpoBQMdXRe1KVA0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzq3f9tFfzgj6Xd+8vw16C8Pu8G/5vE9+rmUdMVAvh/t75bA3n1
	Aj+MMa/vwSXgyoAIF58O341/Fw6htk36R67Du6tZ/sIM1KOyaLQZJXJ++SxMWR8=
X-Gm-Gg: ASbGncub1oL2MhrL6jDI0zxfNLkL7aAkXDUCbzIWaqsqknDGv7H7iEVfhqny9sXRrw1
	YU+F4NI8o/M/Q7t/yHPnqYP0TzaemvmX43LV68N0bAdFgQ6fmoHjrKElS4GtlYJJMPSi4FhkrwO
	Qm2KMDCvpG5VmbbieWFk1jSsWm/svxjkKvyxvXVXNMX7DxaAGttVCHxxOa3sGTNpXjcSueCKdJv
	Gn2WepMHES1gmByLXdKaas3mu0EBQfiKq54jpz1dUJh0fkx+DVutaVRHnZOw7Lk5nO7QrNnjGKg
	leaQNOwnL5gLSqnf9I0kNO7LhpTHfoqRg1cpu3+b+hCquE9BtvWRtSHT0VGuWpaNddCZz4U7t0Z
	OvFrOgX9b
X-Google-Smtp-Source: AGHT+IGNGy09z3VlTf57pGpTiD8wHu4LpiPgdDJ1bi/B5YVcSIHqCc4n8XRAoPLy49FHXxzNtTYn9A==
X-Received: by 2002:ac2:4e04:0:b0:549:39d8:51ef with SMTP id 2adb3069b0e04-549c38cf317mr9141904e87.6.1742310770498;
        Tue, 18 Mar 2025 08:12:50 -0700 (PDT)
Message-ID: <833aaef8-f270-4330-96d6-573594ad50fc@citrix.com>
Date: Tue, 18 Mar 2025 15:12:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] x86/traps: Move percpu_traps_init() into
 traps-setup.c
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-3-andrew.cooper3@citrix.com>
 <29d2d036-1e4f-44b9-a3a9-843f572f3f2e@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: <29d2d036-1e4f-44b9-a3a9-843f572f3f2e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 3:04 pm, Jan Beulich wrote:
> On 17.03.2025 20:20, Andrew Cooper wrote:
>> Move the declaration from asm/system.h into asm/traps.h.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> --- a/xen/arch/x86/traps-setup.c
>> +++ b/xen/arch/x86/traps-setup.c
>> @@ -3,5 +3,20 @@
>>   * Configuration of event handling for all CPUs.
>>   */
>>  #include <asm/idt.h>
>> +#include <asm/msr.h>
>> +#include <asm/system.h>
>> +#include <asm/traps.h>
>>  
>>  DEFINE_PER_CPU_READ_MOSTLY(idt_entry_t *, idt);
>> +
>> +/*
>> + * Set up per-CPU linkage registers for exception, interrupt and syscall
>> + * handling.
>> + */
>> +void percpu_traps_init(void)
>> +{
>> +    subarch_percpu_traps_init();
> At some point this may then want expanding into here, seeing that we don't
> have any subarch anymore, and don't expect to re-gain one any time soon?

I have folded it later in the FRED series.Â 

This, and load_system_tables() need non-trivial alterations to support
FRED, and I haven't got that part of the work cleaned up suitable to
post yet.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:26:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919285.1323774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYpk-0006he-K0; Tue, 18 Mar 2025 15:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919285.1323774; Tue, 18 Mar 2025 15:26: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 1tuYpk-0006hX-Gh; Tue, 18 Mar 2025 15:26:24 +0000
Received: by outflank-mailman (input) for mailman id 919285;
 Tue, 18 Mar 2025 15:26: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuYpj-0006hR-DY
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:26:23 +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 57a8210b-040d-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:26:20 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-399676b7c41so1485348f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:26: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-395c7df385bsm18184041f8f.4.2025.03.18.08.26.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08:26: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: 57a8210b-040d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742311579; x=1742916379; 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=lg8P9AcoLEXM6/4Oi0kkFaWHmYnmZxjHy1PqQ8BzuK8=;
        b=eqhgE1EmtqFTMShAHNU+Shcre1BxBcC3aYheXWk/vw2knVXDtJAYkhOIZovKTO1tHK
         rxtzPiNh1VHDfIUmq5664SwWWPNa4qDKqdx/+5H2MHlszMVADO5kZHzVSIo7UEoM6JRp
         yhoAM7drYWE+Zg7r2uxuJWSeI6mIRysJaw+ZY1OWFON00QPdBJbZ2iOAhTEDWR+CYy4d
         +Fl6b7ZonUrGsw1TzQmtLOVhHc3WlT+fWhsj2eeh/qwsI58BF9Ls05I9teQO2H1eVLw5
         IZr1dlh9WcXrEkb1il7yQTtfpLz+o1mPjoL4K489h76e2FCwfj6vhUI0zANCIt3MN3YT
         MaIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311579; x=1742916379;
        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=lg8P9AcoLEXM6/4Oi0kkFaWHmYnmZxjHy1PqQ8BzuK8=;
        b=ucr1S+KoZtdPaH685DZAmDFu4JOmQLC7HzVnbujgp+9SIbtmMc0gomInhS09uWVNML
         YSK4ZD4rZoE8TuJS7YKyzs//a3xJADp77+hU6WPNpPesyjF296WAUPfIh+VaGTdPyyu9
         GmJPgS5qIDymKRFl709VCqSCdGxprNG2mzz9H5lOeGXVfrzf7U/Jsu9w+kHwHIk4wESF
         mgbXxvu7b6lbjF+TwcYxAx2XF0SJuTBPYow/5ZBX2n9nwH0iRJtIGusWoZrA5cdmu54v
         haONLhwm73AQGMQwaVuoD5bdzCk8Go7KoJofHGZysrTqH9SIt36f4NAaphY8PWQeZyaW
         elOw==
X-Forwarded-Encrypted: i=1; AJvYcCVVB6EL+BjrqIOm43hkS8PIEcmEN8akTWv4JOucaKca+U6v83KtDypWRn5w5Xlq+ETgDO1l7DcA454=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxijdC/lWE5jXDLXri4mv4GxSbydVQyQozNFLhsRjNBoFrFh3pa
	+UYAQ0qLDkM1uPwWwfnrKDHAzBBjUOfB3SYA+iJ9WvHmovX6KIw00mbzfNHR5A==
X-Gm-Gg: ASbGnctR802wDVsFcB7KalmhXPFrHzdwxLlReUHuprmaEi2E2F2CE0256jmiwbiUtG0
	dA3fbrtarnSHE5egKN71jwaJ5Gq7nfxhNJh3k/vs6L0KTGDTIFAUn1CbmIFuCnVl6VSterPiaZR
	iJUfxu7b2wVVbsNQWtwvSPkITV3EFwVfeUU3wzJGaZVYTmxmgEpIYgbO7k5p2ZjFGf/dbMoNWL/
	sIjGMlgeg9mGsZeACqtE3i/pnB+3zxp8qyX6cY1yGqh/qgKjNHZ+wIKrVDyDuomWeYe1z8HLOuJ
	BC3P0CkzuLn1ver2lp4s//ohHD3cXBfw8x04o4ItzWounp+l22UwDeQi3MUdAaZCM1KWbnHGLCv
	GuegTmUuPG8G6/AwQNeLJwqPhEdddPw==
X-Google-Smtp-Source: AGHT+IFOet8HGtSEJ/wziSNDnJziZMfJ43jUnhwMNmCCXy387YOQPk8IMuq1yT/hcA0814pqN3Tr6g==
X-Received: by 2002:a05:6000:1fa7:b0:390:e85b:a8ee with SMTP id ffacd0b85a97d-3971d03ee30mr13885775f8f.1.1742311579592;
        Tue, 18 Mar 2025 08:26:19 -0700 (PDT)
Message-ID: <801007e0-2c02-48f8-856d-8f06eb698fb5@suse.com>
Date: Tue, 18 Mar 2025 16:26:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/traps: Introduce early_traps_init() and simplify
 setup
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-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: <20250317192023.568432-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.03.2025 20:20, Andrew Cooper wrote:
> Something I overlooked when last cleaning up exception handling is that a TSS
> is not necessary if IST isn't configured, and IST isn't necessary until we're
> running guest code.
> 
> Introduce early_traps_init() which is far more minimal than init_idt_traps();
> bsp_ist[] is constructed without IST settings, so all early_traps_init() needs
> to do is load the IDT, and invalidate TR/LDTR.
> 
> Put the remaining logic into traps_init(), later on boot.  Note that
> load_system_tables() already contains enable_each_ist(), so the call is simply
> dropped.
> 
> This removes some complexity prior to having exception support, and lays the
> groundwork to not even allocate a TSS when using FRED.
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Given the present state of thing:
Reviewed-by: Jan Beulich <jbeulich@suse.com>
What worries me slightly is that ...

> @@ -63,6 +88,13 @@ void __init traps_init(void)
>      /* Replace early pagefault with real pagefault handler. */
>      _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
>  
> +    this_cpu(idt) = bsp_idt;
> +    this_cpu(gdt) = boot_gdt;
> +    if ( IS_ENABLED(CONFIG_PV32) )
> +        this_cpu(compat_gdt) = boot_compat_gdt;

... this being done later now requires more care with e.g. play_dead().
Yet if and when needed, this setting up could of course be moved earlier
again. It's not entirely clear to me why you specifically want it here
and not in early_traps_init(). The sole dependency is percpu_init_areas(),
which runs - as even visible from patch context here - ahead of
early_traps_init(). My take is - the earlier we do things that can be
done easily, the less we have to worry about ordering and dependencies.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:27:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:27:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919295.1323783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYqV-0007At-Sr; Tue, 18 Mar 2025 15:27:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919295.1323783; Tue, 18 Mar 2025 15:27: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 1tuYqV-0007Am-Q0; Tue, 18 Mar 2025 15:27:11 +0000
Received: by outflank-mailman (input) for mailman id 919295;
 Tue, 18 Mar 2025 15:27: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuYqU-0006hR-A5
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:27:10 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7405365d-040d-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:27:08 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-224191d92e4so112096405ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:27:08 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c688d93esm95937325ad.45.2025.03.18.08.27.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:27: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: 7405365d-040d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742311627; x=1742916427; darn=lists.xenproject.org;
        h=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=KJ6VyVQw4jQLkgbiXbLciWLfPDn0WLXXenO0I4c1t5Q=;
        b=erScnGB2VDu0Rx1f1J8pacy9VtJwaZzeyuphfS2avyZFajvEWrBkgPQJhZf0O5sCf+
         vzANLG5sI0AJseWEQNEl+LTlLa4nlUDc5pOx7Ir4QcJFPdjb69mo6I6ijAQ7Meb/vmnL
         GWWWvYRmv/ofYCKHkYXd364VOu3/JtMF/28Pw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311627; x=1742916427;
        h=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=KJ6VyVQw4jQLkgbiXbLciWLfPDn0WLXXenO0I4c1t5Q=;
        b=pkzcoV4MqkKVz9aNXGc5uhbyKbkDrp01clKDjyceT3Fd6Rzz2wteoWDdHzouap1AGM
         3umFYjkl4wikUnfvzxa+e66I6Ct1Bj6Rw35hibDAKA0zjr0z9rmHot9CUKUXVCVKo8si
         p2+nUAMHtrsKbdvAP98emPSPAYwGWbnLPkEh8ne0j4+DZYX0ezq6bdHLEoho0XqDLdRk
         VFS+PCIH1dlCyZk/4LczkVfVFa4vXycDU3pU8mEwmbtu8qIg+7pOZRjq6sgx75k/2Bpy
         CQw1F8+pro+gdRUNzI7DR4wbs7KURLhkPjm35hgZGLJSd0+DGHCJscgyGq3RwCYTXxwc
         UKWQ==
X-Gm-Message-State: AOJu0YzPjQFZcMrohu5NlW1B1htI8yNShu6aytW+ykHNZyNo2SSlsF2i
	MUsKHJq/58u/AclQZRHMrMD2JaG7zJZMo7VVvYjCrFDGq1mjNSqrtTpChtNV95UtYGBOlOnE4Uf
	U
X-Gm-Gg: ASbGncuRCJ3D5yz0OIext+90X+nx+gGigM0MoTQSVE9JYOV60k2CmIv4NF10wFNd5tB
	NufXNd5iK2u/Ws3jOSPCu3UrzUU3p+DimA7RcW3aKmQIi+JMAFflOwnJPobKhQ0jR4vtvn4xrzB
	x7isGZm7djrKwpczjcsGywISZdx/litx14iYCA6VH50A/USNuoS/wpgDULGVp5vIO2GBzNQ1Ptf
	7+bE/YP4VjH+kS4I4iXzKvTkr+w/QjqzrOSCzgxWbrzqv7/75p7sqyn4bdNvRHJVqL4d+GFxeOd
	gewTlFNxA9iap33OOaUiJwWgSBtTeo5DXO39QzA68OUIxpr4TAlvox0=
X-Google-Smtp-Source: AGHT+IFrVX/WguRRwJky7f02MgAHudVpfmuJ7ETVocjdiWWTelon1KG8LogbyTuUEWGLkxdOQTPY1A==
X-Received: by 2002:a17:903:2f86:b0:224:93e:b5d7 with SMTP id d9443c01a7336-225e0afa057mr249557815ad.34.1742311626955;
        Tue, 18 Mar 2025 08:27:06 -0700 (PDT)
Date: Tue, 18 Mar 2025 16:27:01 +0100
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>,
	Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v2 4/5] x86/shadow: fix UB pointer arithmetic in
 sh_mfn_is_a_page_table()
Message-ID: <Z9mQxW04yGdxGjko@macbook.local>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-5-roger.pau@citrix.com>
 <1871a0ff-5766-4707-8791-c20279c12fd9@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1871a0ff-5766-4707-8791-c20279c12fd9@citrix.com>

On Tue, Mar 18, 2025 at 12:53:30PM +0000, Andrew Cooper wrote:
> On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> > UBSAN complains with:
> >
> > UBSAN: Undefined behaviour in arch/x86/mm/shadow/private.h:515:30
> > pointer operation overflowed ffff82e000000000 to ffff82dfffffffe0
> > [...]
> > Xen call trace:
> >    [<ffff82d040303882>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
> >    [<ffff82d040304cc3>] F lib/xxhash64.c#__ubsan_handle_pointer_overflow+0xcb/0x100
> >    [<ffff82d040471c5d>] F arch/x86/mm/shadow/guest_2.c#sh_page_fault__guest_2+0x1e350
> >    [<ffff82d0403b216b>] F lib/xxhash64.c#svm_vmexit_handler+0xdf3/0x2450
> >    [<ffff82d0402049c0>] F lib/xxhash64.c#svm_stgi_label+0x5/0x15
> 
> Something is definitely wonky in this backtrace.

Oh, yes, it's a TODO I have pending when using LLVM LD.  I sent a fix
very long time ago, but it was quite ugly.

> >
> > Fix by moving the call to mfn_to_page() after the check of whether the
> > passed gmfn is valid.  This avoid the call to mfn_to_page() with an
> > INVALID_MFN parameter.
> >
> > While there make the page local variable const, it's not modified by the
> > function.
> >
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Whatever is wonky in the backtrace isn't related to this patch, so
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, but the backtrace
> does want fixing.

I can get the proper backtrace using clang + GNU LD.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:29:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:29:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919306.1323793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYsZ-0007mh-7K; Tue, 18 Mar 2025 15:29:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919306.1323793; Tue, 18 Mar 2025 15:29: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 1tuYsZ-0007ma-4l; Tue, 18 Mar 2025 15:29:19 +0000
Received: by outflank-mailman (input) for mailman id 919306;
 Tue, 18 Mar 2025 15:29: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuYsY-0007mU-3S
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:29:18 +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 c0a9b7b4-040d-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:29:16 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac2a089fbbdso1010598466b.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:29:16 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3146af05esm872384166b.16.2025.03.18.08.29.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:29: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: c0a9b7b4-040d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742311756; x=1742916556; darn=lists.xenproject.org;
        h=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=es6Ez7FrEsyu7asoq1qxn+Djsr19u/lSAV+H/2guTGw=;
        b=MJ29K5MdeWcmqUEYsT5v9DaDNJoxVBfUuwzRoehc5h46/hp2FG79NnpUGLIvmFFVzv
         4b4VCCwwNftV+MxgSewnRgUbEK/KKa6CWKqMDw5fIpFWnS10xcDAz2wb1RmASbchDMC+
         kGJrtDE4YYOEb4M2w21nIdlXSA8vdxJLQRmY0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311756; x=1742916556;
        h=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=es6Ez7FrEsyu7asoq1qxn+Djsr19u/lSAV+H/2guTGw=;
        b=FvDl+jCBgNWtKIWjeky9390PjN8MaaJk/bB7dFgTKGbj3INJ1t6C9amb0hsSSYktR4
         2iijavZXiacBi4fsMLHYeBgKGEwr/aGkrijpd9A1oF6VkodMXDT8/WDRm9QnBfhBZKsI
         /hqOo2qbza4IMbIRaDxX32IFPJcIRfHaPtYQtAIapf7aeE7IZQwOfij0ADKWNd9C4FL4
         BuPcxGygVglAlKQRsjfy3ecRxWyVHH5PZxK+2d+gvV0kgcvuNePoxvvE9ut83IltNKN5
         u6D3EibJPrRcv3Z92t87pBnV5PQ39nga20HqKO90KxspQI+gphEA94nYSSbOMfPjIFWH
         cnAQ==
X-Forwarded-Encrypted: i=1; AJvYcCUPg0d/dm5UP5YspOrKtmsHttejJDRym/l8viyUBP+bkfaubp2mQp+AazlkaVE/91PzwGu3kV8z/os=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqCqB2/TrzfjVbx0rdAz7MM2UQcX6+uFgD91Ia5q+CIyMP+wa1
	ckWLSmWNr4KG6wfZxPN+nCFhLbEV0SbabJwGCWCSqO92PIk/FCfIW9g9Dzg9p/pL7fTOeksIGkv
	3
X-Gm-Gg: ASbGncveUGFTPSHfawB1WDu5p+tnjgDiQD0DTC2qBdTF9ItNYTbIOGpm38X7Dtl31WI
	F+NbjINrHdrz0/P9YIKpXCJG2Yoa82VVbZL1YRZXoMJU5wxolc1Mx/S/IWanDFy0lLg0px/qOrR
	gYQLIOWrQI24vjUovmdMhWFYu5I4qAgejIu7/tqgp1ZJyCB302cRJHAiCaaWg/mCKXhNKpc9U7h
	vIXK2WWbxgZN8yeT5yseIKsB0OwmmpWQuvMlzbE+4Zr2aOqAbPFT9JAhi+dFuTgyjVTnmCTweDV
	HCkQyWdYiCrfTF9vvE0InkPQO34tfTvx51R97qwqK1jdsP9dwoCc8/U=
X-Google-Smtp-Source: AGHT+IGAOxj7EnL+AkhdV/ZM2QlNm6mbcS4NHX/p5IJbIRPpX7oz+m6NoHVPPCLZzZM1zSa96F/AEA==
X-Received: by 2002:a17:907:72cb:b0:ac1:edc5:d73b with SMTP id a640c23a62f3a-ac38f744041mr375723966b.8.1742311755075;
        Tue, 18 Mar 2025 08:29:15 -0700 (PDT)
Date: Tue, 18 Mar 2025 16:29:13 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 4/5] x86/shadow: fix UB pointer arithmetic in
 sh_mfn_is_a_page_table()
Message-ID: <Z9mRSc7PKQIY9whY@macbook.local>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-5-roger.pau@citrix.com>
 <1871a0ff-5766-4707-8791-c20279c12fd9@citrix.com>
 <a8f43182-a101-4e5a-ad25-97e3a41853fd@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a8f43182-a101-4e5a-ad25-97e3a41853fd@suse.com>

On Tue, Mar 18, 2025 at 03:36:45PM +0100, Jan Beulich wrote:
> On 18.03.2025 13:53, Andrew Cooper wrote:
> > On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> >> UBSAN complains with:
> >>
> >> UBSAN: Undefined behaviour in arch/x86/mm/shadow/private.h:515:30
> >> pointer operation overflowed ffff82e000000000 to ffff82dfffffffe0
> >> [...]
> >> Xen call trace:
> >>    [<ffff82d040303882>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xc0
> >>    [<ffff82d040304cc3>] F lib/xxhash64.c#__ubsan_handle_pointer_overflow+0xcb/0x100
> >>    [<ffff82d040471c5d>] F arch/x86/mm/shadow/guest_2.c#sh_page_fault__guest_2+0x1e350
> >>    [<ffff82d0403b216b>] F lib/xxhash64.c#svm_vmexit_handler+0xdf3/0x2450
> >>    [<ffff82d0402049c0>] F lib/xxhash64.c#svm_stgi_label+0x5/0x15
> > 
> > Something is definitely wonky in this backtrace.
> > 
> >>
> >> Fix by moving the call to mfn_to_page() after the check of whether the
> >> passed gmfn is valid.  This avoid the call to mfn_to_page() with an
> >> INVALID_MFN parameter.
> >>
> >> While there make the page local variable const, it's not modified by the
> >> function.
> >>
> >> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > 
> > Whatever is wonky in the backtrace isn't related to this patch, so
> > Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, but the backtrace
> > does want fixing.
> 
> Right, but the fix may need to be in the tool chain. I'd be curious what
> the symbol table looks like that this was created from. Roger, was this
> linked with GNU ld or LLVM? Are the filename anomalies also visible in
> the corresponding xen-syms.map?

It's with LLVM LD, it's this issue:

https://lore.kernel.org/xen-devel/20220505142137.51306-1-roger.pau@citrix.com/

I need to refresh that patch and resend.

Sorry, I got so used to those wonky filenames in the backtraces that I
no longer notice.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:31:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919317.1323804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYuO-0001Ma-JZ; Tue, 18 Mar 2025 15:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919317.1323804; Tue, 18 Mar 2025 15: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 1tuYuO-0001MT-Fz; Tue, 18 Mar 2025 15:31:12 +0000
Received: by outflank-mailman (input) for mailman id 919317;
 Tue, 18 Mar 2025 15:31: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuYuM-0001ML-NR
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:31:10 +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 03ca8a20-040e-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:31:08 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5e5b572e45cso10991678a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:31:08 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e816ad3937sm8247932a12.49.2025.03.18.08.31.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:31: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: 03ca8a20-040e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742311868; x=1742916668; darn=lists.xenproject.org;
        h=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=K0TCyUw42Drct+CIBpJPNucYKzAypB6tbAMuyvXz2II=;
        b=nHQIZZ2yL5sFWiD6PGzyl3IPM43xYFyyc9Q7Tpp/K9L04IjLAzUTtNYZPC4JNkAmkx
         +ccI30jf5Z9IM3U7etJYE/0r/0dp1jmYfDYhIZ3tQng870MAJ3iA+eijH0ZbpSWQARI0
         Ek9zAKlqfOpfuyD/+sFUp9gddleIsYwyESxoU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311868; x=1742916668;
        h=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=K0TCyUw42Drct+CIBpJPNucYKzAypB6tbAMuyvXz2II=;
        b=S9q4IyRk2vjqbWsoTT3fg1jw0l4lWiQBvPoEQ+lO3/OrXld33gY4SHSQhAm2pjRkMu
         ZPStb72Khg8Sd67KyytFeZIJjAsYWUElCEVAb9dG5N8xb8kV++J2dr8qO4pTaqR3E9Oz
         AVtOu3vff+fluS4Z6ic9iA2r1cZ7qiYcZ5VAShmBdr6jIHQFwlaxxQ66dovagDmdWXuy
         1LQV9m/eh0zoyI+T8uzUITOJnEXdjMnWrHaIG4SnbUJqLEHDs2qpGsJNvTnImVrBeIGy
         PsCFnayNCYg2R/tHoiIDnYinRe9RSxMqY6H1ykYYo1y9aVFE62tjD+9B4n4+p5XZawd2
         1Abg==
X-Forwarded-Encrypted: i=1; AJvYcCVsPgCHBJD+ADW3YJCYTl6rB3K56ErmZoP5tsIOkYHPoC+J5DQvttX6NdcoPCxLlUWgfxKrd7SD1is=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwIz3bhTkxGu+L6/xDCoi19b0uduc7/AHiYXy6XrQoAVBdrYY81
	V/9j510ldv1UJcoKc2uC3R3vL5hi3LHpbUBecR+D/amGlvkAFRZHMxFRFI2nkZA=
X-Gm-Gg: ASbGnctig0rwyDon3VOqXkcAsmZt+yi4DYVFZpqbWkeplcsDpgP0k1ZJx5EkOlPgdso
	TBTa9hTqSLiaCbQTeQMgKTNXU/m9YmXwBWgacncfLZwpFrmhgG3vQElAtd8yR/6aoYZCCCa+Oz3
	G6UPcHL7QD5Ukv5emF1xnwmTB9Ofhal5yRohHNEOcWg6NKDz/zej5dOIfU7FL/s1oK0oKp2GyYN
	IB4W9yXK2XtvwbZDNCIoIMKBQatk5v1hwLzt1N8FSHbcRbk2sdbjqrVkgJ6ESUVPjjul5TnNUuU
	62zZ+c4Xck4fJcRAntz+CSjhlT1tunlrG/B1sToohSwB7ydsqzZngBY=
X-Google-Smtp-Source: AGHT+IFcXXF3/Unqvr9paJVcRVvtSOWg/095m5lxNtfARfO6cyFetbZ8tMsDPr54HcJXVDoHnUofpQ==
X-Received: by 2002:a05:6402:2551:b0:5e7:b015:c636 with SMTP id 4fb4d7f45d1cf-5e89f24f212mr18065104a12.6.1742311868381;
        Tue, 18 Mar 2025 08:31:08 -0700 (PDT)
Date: Tue, 18 Mar 2025 16:31:07 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/5] x86/vga: fix mapping of the VGA text buffer
Message-ID: <Z9mRu3JCwgffgEKd@macbook.local>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-3-roger.pau@citrix.com>
 <cc882f93-b5d0-45ad-bb2a-1c6b9455509b@citrix.com>
 <f2fa59b3-83cd-41e4-a921-5c6eaa89e759@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f2fa59b3-83cd-41e4-a921-5c6eaa89e759@suse.com>

On Tue, Mar 18, 2025 at 03:28:32PM +0100, Jan Beulich wrote:
> On 18.03.2025 14:11, Andrew Cooper wrote:
> > On 18/03/2025 9:19 am, Roger Pau Monne wrote:
> >> The call to ioremap_wc() in video_init() will always fail, because
> >> video_init() is called ahead of vm_init_type(), and so the underlying
> >> __vmap() call will fail to allocate the linear address space.
> >>
> >> Fix by reverting to the previous behavior and using ioremap() for the VGA
> >> text buffer.
> >>
> >> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> >> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > 
> > This is somewhat ugly.
> > 
> > ioremap() isn't really any better than ioremap_wc(); this only works
> > because plain ioremap() has a special case for the bottom 1M where it
> > does nothing and exits.
> 
> And this is exactly why I screwed up back then. Imo we would be better
> off moving to using __va() directly here. Otherwise the same mistake
> could be made again by someone (perhaps even me) noticing the less
> efficient ioremap(), when ioremap_wc() really would be wanted.

I can switch to using __va(), that's fine.  I guess we should then
remove the special casing for the low 1MB in ioremap()?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:31:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919330.1323813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYv5-0002Tr-Uh; Tue, 18 Mar 2025 15:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919330.1323813; Tue, 18 Mar 2025 15:31: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 1tuYv5-0002Tk-SC; Tue, 18 Mar 2025 15:31:55 +0000
Received: by outflank-mailman (input) for mailman id 919330;
 Tue, 18 Mar 2025 15:31: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=5Po+=WF=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1tuYv4-0001ML-La
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:31:54 +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 1e045549-040e-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:31:53 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso24629455e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:31:52 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffbcf12sm135384415e9.12.2025.03.18.08.31.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:31: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: 1e045549-040e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742311911; x=1742916711; 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=vw1XEvQqqiDg0JMXVUL6A2260HDubm8QJFwLoLdM56o=;
        b=XSvoDD8owYlBXCzjwk6i/7cnefVnzJSOIlPf2iF2qobAaW80RGr29sBKGhaFntj1c0
         JvtsiPsSsuzm+TDdYz9o0MAABBb0Esx0B1y9iEh4LH9z6Svvh3Cbo/ZNPdllSrIjdA42
         0k54URgFQlMCZNv5rAt7P8VOEq6B8iY/rOjX084sM14mwNU9AUoecp7g+nolS1KCKPKp
         u72lFHz0E++ZNFrj5CbQVJyW0JD4AVgMXR16ngaG/0IAXcGE7y/JYlP/gNzO5thMJTCe
         IATi+HA60UhK4HzfiuK83QSUIjmP42kdDzykrjGLIODxv9TTI2YZmQTzAZn/A26ws42a
         I/QA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311911; x=1742916711;
        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=vw1XEvQqqiDg0JMXVUL6A2260HDubm8QJFwLoLdM56o=;
        b=W4QDhy5s5fe0cZubm0itCsLWLWNoQ1QZ1ABSIUNsIoBb+Zmu0OIwSzqINOaWW/QpiA
         1yiOscAn3DqMlEC22g6NbCAALj4c1SJWTUuunI9nWxc/8qjvGz+vAtktZbiH93xvDvu1
         RTBWumfygM6dqDO/RvocSbiwLYHrJnj0C9E8yHigGekeoffYOGB+oZS2EIS9r8yBNvKd
         1AaQlJ4oci6VBzucX5ivfz+c+ddg5DmltIMKq8aaW+IBJNjZJ1rvLenodasc+iMiRXxG
         ChOpNNgE9MWmZ3htOX9X7VgNzJn+EHOmwVxssr5tromuz1n/YdNmyNW23hFnDsxf4nIa
         kCew==
X-Gm-Message-State: AOJu0Yzi/AT2uXJB093a15Q7c0OaPaN7xDcTEPtb3tTo4bkpbaY1PUqN
	AMHruMq7MGGIoQMbT9nVArvcQJRSeBprtZKkqcXOPjtVLrYsEdvyRcadHs6q
X-Gm-Gg: ASbGnctOrIRIstv2mAUvA5qcExicvrLd8v43mwQi16jRZQJWMgWDTkYILW6gZVJOFe5
	4/QLYLwmy4tszYJe4kpWy6uHLZOaf7Ep47rAOqfv/96aImvlDBm1EhfZjb8bRCA2uSvuAi4QnEy
	zBw6IEXCjjAwvnv8I+d8BVtLa/9Un24dHs9X+PUzxWPmsu/sq0tAfn1sK34aLQPDnjS91RXoH1W
	nMDmq1GVujHlJFEEmuQXJdjgIfMyamJ7hlSm5zYJLVy3O49wUkzUG1bmCs+i16ifhxgigAAfAYR
	gUmVABzBpCNlzl2LNELtUe9RsFxNHgdi7gsFYsXTx7CF6x7nyosS4NnYAEVspciSociTNifeV6A
	F9qe/UGLthWQoB8d0nodvWFAGF5lMVijwYOSM43smm1WO
X-Google-Smtp-Source: AGHT+IGMIkjb1IOTp53py0mI8LradF/uhXmHgrI80aAfDJCzr5QVROPhYS8DAi0uOT6dqq9CX5fmMA==
X-Received: by 2002:a05:600c:8486:b0:43d:4e9:27f3 with SMTP id 5b1f17b1804b1-43d3b98e682mr27662165e9.9.1742311911117;
        Tue, 18 Mar 2025 08:31:51 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 0/3] drivers: Simplify handling of pci_sbdf_t in passthrough/amd
Date: Tue, 18 Mar 2025 15:30:20 +0000
Message-ID: <cover.1742311401.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Step-by-step, use pci_sbdf_t directly where appropriate instead of
handling seg and bdf separately. This removes conversions, reduces code
size and simplifies code in general.

Andrii Sultanov (3):
  drivers: Change amd_iommu struct to contain pci_sbdf_t, simplify code
  drivers: Change find_iommu_for_device function to take pci_sbdf_t,
    simplify code
  drivers: Make ioapic_sbdf and hpet_sbdf contain pci_sbdf_t

 xen/drivers/passthrough/amd/iommu.h         | 11 +--
 xen/drivers/passthrough/amd/iommu_acpi.c    | 56 +++++++--------
 xen/drivers/passthrough/amd/iommu_cmd.c     | 10 +--
 xen/drivers/passthrough/amd/iommu_detect.c  | 18 ++---
 xen/drivers/passthrough/amd/iommu_init.c    | 39 +++++------
 xen/drivers/passthrough/amd/iommu_intr.c    | 76 ++++++++++-----------
 xen/drivers/passthrough/amd/iommu_map.c     |  8 +--
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 50 +++++++-------
 8 files changed, 132 insertions(+), 136 deletions(-)

-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:31:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919331.1323823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYv8-0002ik-5M; Tue, 18 Mar 2025 15:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919331.1323823; Tue, 18 Mar 2025 15:31: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 1tuYv8-0002ib-2R; Tue, 18 Mar 2025 15:31:58 +0000
Received: by outflank-mailman (input) for mailman id 919331;
 Tue, 18 Mar 2025 15:31: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=5Po+=WF=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1tuYv6-0001ML-IP
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:31: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 1f151085-040e-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:31:54 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso25529785e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:31:54 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffbcf12sm135384415e9.12.2025.03.18.08.31.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:31: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: 1f151085-040e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742311913; x=1742916713; 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=byyrGrfPPMb7yp0dDoy8Ot8gd6oeoDPxj7m5qTsv1dM=;
        b=i3sJBMYVk3B8jUCjM7Dm+JlGvlpVmzeJKjXbGFprNSghaL5h4ZBrFojbR+mu8LJhhV
         MLy9lkmJjhuhuzvvQVtifeuhjsmqgAMwMMzafgvZGYN6ZfOOtD3SNijAbPJVTRWQo1m6
         hZ7znMGO/11ObJ4+EZ7ryX2FBrU3nW869ZwbyhEsL/+XKi8AJ0I9LYXoGcs/d5JaT0mP
         CEe6CTEV7VX66jwmZ0o1GvNbURAwONawkCew+ZyOfXhkDMylk1sqXXgDgEI67RyqnyxP
         uvRcYp0oQyfThHXgc6OFxpR/Ia0rzC0RBoRsSfiEZDs/R3XJ66Z2JviKr8/3hk1/8xwu
         Hr1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311913; x=1742916713;
        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=byyrGrfPPMb7yp0dDoy8Ot8gd6oeoDPxj7m5qTsv1dM=;
        b=tNsjA89TowSJZ+4BeOdrsveMnNc38ff9GM4JmMdMZ4XgIChvBuehCcLZqeuXHAtDJO
         tWP4z8E26B67lLLejuY4Yd8idOTn/9m3eGS2Bm1R9nz4BMezMexFTAE2v6zJAozNJUcO
         6YfVvHjrHh9vbIpNZ+oxXJ8eLN4mxe1by3JlZliFt2niQmjXugkxRS0ABudHbGscG2SS
         xq/jilo/L1e8EcGx+7OM4qiEi5pSylsdzxJAUcWcYbZx0pHf336gv2xNz73vp58lKK/P
         GuTC5ZeIrRsQadAQMw1zCe+ERUSr3khDS0He6CcVmXyzLnkeTe5OjZylqGj01e38zszr
         LHCw==
X-Gm-Message-State: AOJu0YyiTzZt+XhGnbENa2NuAZxTC+850yBkNJ+n0y2Jb0/saGvIlPKJ
	CbyYCutQzDCY6DMv91o3801QzfPhPKxS7/0kt7PXGP226zsAthOIWqIyubnM
X-Gm-Gg: ASbGncs0qXypbddwDkb1rBl01UsHFW10Kfu8do9AO9LJJKbajXr2dWbVstsLDKf2zV+
	GFnkn0axVZB6HD1MdkZ0xwj1NvfcAXOHQKGf/iwbAIctMA0RBswybplmHgKqMkHmTjTSDz7kfUm
	Gq+cXa7qO3WKqb3mhVO+ANqMRtzO4Ch/0OtCuSMoL8U4U2uTQ6Cfx+IcVS+Z2FSAIs0KDMey0OZ
	TTewf/JIbEyiQnznB2jMplmtdlIfVxqDqQlTg7khNZI5XQIXbXmKkB/qhd1dCjtloQBSX2+2dAY
	M5BNG6wsXne1pILExceNEKS4bOqEF4vCLufo358Ty6Hh2CgN3K76fExShkSrqD+wcQzPWeXIRKd
	wtfiap30nhdgJfvU7K+sgMryyWDVXByIV0ByzPoXrglkt
X-Google-Smtp-Source: AGHT+IG28ysCqoO/y1XOvhRFRRgBbqZQe7qLWS1Xwb+hlcTmlENpXrnZaaOnsuCV+ZMaf287LqSPtA==
X-Received: by 2002:a05:600c:1d2a:b0:43c:e2dd:98f3 with SMTP id 5b1f17b1804b1-43d3b9ce1ddmr26437345e9.21.1742311912942;
        Tue, 18 Mar 2025 08:31:52 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 1/3] drivers: Change amd_iommu struct to contain pci_sbdf_t, simplify code
Date: Tue, 18 Mar 2025 15:30:21 +0000
Message-ID: <0d578d1bd063f5d58f3dbaf2ab0e21143333a50e.1742311401.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1742311401.git.sultanovandriy@gmail.com>
References: <cover.1742311401.git.sultanovandriy@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following on from 250d87dc3ff9 ("x86/msi: Change __msi_set_enable() to
take pci_sbdf_t"), struct amd_iommu has its seg and bdf fields
backwards with relation to pci_sbdf_t. Instead of regenerating sbdf_t
from seg+bdf, make the struct contain pci_sbdf_t directly, which simplifies
code.

I've avoided aliasing pci_sbdf_t's fields here, so all the usages of
amd_iommu->seg|bdf dropped down a namespace to amd_iommu->sbdf.seg|bdf
and required renaming.

Bloat-o-meter reports:
add/remove: 0/0 grow/shrink: 6/11 up/down: 135/-327 (-192)
Function                                     old     new   delta
_einittext                                 22028   22092     +64
amd_iommu_prepare                            853     897     +44
_hvm_dpci_msi_eoi                            157     168     +11
__mon_lengths                               2928    2936      +8
_invalidate_all_devices                      133     138      +5
amd_iommu_get_reserved_device_memory         521     524      +3
amd_iommu_domain_destroy                      46      43      -3
build_info                                   752     744      -8
amd_iommu_add_device                         856     844     -12
amd_iommu_msi_enable                          33      20     -13
update_intremap_entry_from_msi_msg           879     859     -20
amd_iommu_get_supported_ivhd_type             86      54     -32
amd_iommu_detect_one_acpi                    918     886     -32
iterate_ivrs_mappings                        169     129     -40
flush_command_buffer                         460     417     -43
set_iommu_interrupt_handler                  421     377     -44
enable_iommu                                1745    1665     -80

Resolves: https://gitlab.com/xen-project/xen/-/issues/198

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>

---
Changes in V3:
* Dropped the union with seg+bdf/pci_sbdf_t to avoid aliasing, renamed
  all users appropriately

Changes in V2:
* Split single commit into several patches
* Added the commit title of the referenced patch
* Dropped brackets around &(iommu->sbdf) and &(sbdf)
---
 xen/drivers/passthrough/amd/iommu.h         |  4 +--
 xen/drivers/passthrough/amd/iommu_acpi.c    | 16 +++++-----
 xen/drivers/passthrough/amd/iommu_cmd.c     |  8 ++---
 xen/drivers/passthrough/amd/iommu_detect.c  | 18 +++++------
 xen/drivers/passthrough/amd/iommu_init.c    | 35 ++++++++++-----------
 xen/drivers/passthrough/amd/iommu_intr.c    | 26 +++++++--------
 xen/drivers/passthrough/amd/iommu_map.c     |  6 ++--
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 22 ++++++-------
 8 files changed, 66 insertions(+), 69 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index 00e81b4b2a..ba541f7943 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -77,8 +77,8 @@ struct amd_iommu {
     struct list_head list;
     spinlock_t lock; /* protect iommu */
 
-    u16 seg;
-    u16 bdf;
+    pci_sbdf_t sbdf;
+
     struct msi_desc msi;
 
     u16 cap_offset;
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 5bdbfb5ba8..025d9be40f 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -58,7 +58,7 @@ static void __init add_ivrs_mapping_entry(
     uint16_t bdf, uint16_t alias_id, uint8_t flags, unsigned int ext_flags,
     bool alloc_irt, struct amd_iommu *iommu)
 {
-    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(iommu->seg);
+    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(iommu->sbdf.seg);
 
     ASSERT( ivrs_mappings != NULL );
 
@@ -70,7 +70,7 @@ static void __init add_ivrs_mapping_entry(
     ivrs_mappings[bdf].device_flags = flags;
 
     /* Don't map an IOMMU by itself. */
-    if ( iommu->bdf == bdf )
+    if ( iommu->sbdf.bdf == bdf )
         return;
 
     /* Allocate interrupt remapping table if needed. */
@@ -96,7 +96,7 @@ static void __init add_ivrs_mapping_entry(
 
             if ( !ivrs_mappings[alias_id].intremap_table )
                 panic("No memory for %pp's IRT\n",
-                      &PCI_SBDF(iommu->seg, alias_id));
+                      &PCI_SBDF(iommu->sbdf.seg, alias_id));
         }
     }
 
@@ -112,7 +112,7 @@ static struct amd_iommu * __init find_iommu_from_bdf_cap(
     struct amd_iommu *iommu;
 
     for_each_amd_iommu ( iommu )
-        if ( (iommu->seg == seg) && (iommu->bdf == bdf) &&
+        if ( (iommu->sbdf.seg == seg) && (iommu->sbdf.bdf == bdf) &&
              (iommu->cap_offset == cap_offset) )
             return iommu;
 
@@ -297,13 +297,13 @@ static int __init register_range_for_iommu_devices(
     /* reserve unity-mapped page entries for devices */
     for ( bdf = rc = 0; !rc && bdf < ivrs_bdf_entries; bdf++ )
     {
-        if ( iommu != find_iommu_for_device(iommu->seg, bdf) )
+        if ( iommu != find_iommu_for_device(iommu->sbdf.seg, bdf) )
             continue;
 
-        req = get_ivrs_mappings(iommu->seg)[bdf].dte_requestor_id;
-        rc = reserve_unity_map_for_device(iommu->seg, bdf, base, length,
+        req = get_ivrs_mappings(iommu->sbdf.seg)[bdf].dte_requestor_id;
+        rc = reserve_unity_map_for_device(iommu->sbdf.seg, bdf, base, length,
                                           iw, ir, false) ?:
-             reserve_unity_map_for_device(iommu->seg, req, base, length,
+             reserve_unity_map_for_device(iommu->sbdf.seg, req, base, length,
                                           iw, ir, false);
     }
 
diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
index 83c525b84f..4defa0a44d 100644
--- a/xen/drivers/passthrough/amd/iommu_cmd.c
+++ b/xen/drivers/passthrough/amd/iommu_cmd.c
@@ -40,7 +40,7 @@ static void send_iommu_command(struct amd_iommu *iommu,
                      IOMMU_RING_BUFFER_PTR_MASK) )
     {
         printk_once(XENLOG_ERR "AMD IOMMU %pp: no cmd slot available\n",
-                    &PCI_SBDF(iommu->seg, iommu->bdf));
+                    &PCI_SBDF(iommu->sbdf.seg, iommu->sbdf.bdf));
         cpu_relax();
     }
 
@@ -85,7 +85,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
             threshold |= threshold << 1;
             printk(XENLOG_WARNING
                    "AMD IOMMU %pp: %scompletion wait taking too long\n",
-                   &PCI_SBDF(iommu->seg, iommu->bdf),
+                   &iommu->sbdf,
                    timeout_base ? "iotlb " : "");
             timeout = 0;
         }
@@ -95,7 +95,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
     if ( !timeout )
         printk(XENLOG_WARNING
                "AMD IOMMU %pp: %scompletion wait took %lums\n",
-               &PCI_SBDF(iommu->seg, iommu->bdf),
+               &iommu->sbdf,
                timeout_base ? "iotlb " : "",
                (NOW() - start) / 10000000);
 }
@@ -300,7 +300,7 @@ void amd_iommu_flush_iotlb(u8 devfn, const struct pci_dev *pdev,
     if ( !iommu_has_cap(iommu, PCI_CAP_IOTLB_SHIFT) )
         return;
 
-    req_id = get_dma_requestor_id(iommu->seg, PCI_BDF(pdev->bus, devfn));
+    req_id = get_dma_requestor_id(iommu->sbdf.seg, PCI_BDF(pdev->bus, devfn));
     queueid = req_id;
     maxpend = pdev->ats.queue_depth & 0xff;
 
diff --git a/xen/drivers/passthrough/amd/iommu_detect.c b/xen/drivers/passthrough/amd/iommu_detect.c
index cede44e651..b9ab09b7c1 100644
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -162,8 +162,8 @@ int __init amd_iommu_detect_one_acpi(
     spin_lock_init(&iommu->lock);
     INIT_LIST_HEAD(&iommu->ats_devices);
 
-    iommu->seg = ivhd_block->pci_segment_group;
-    iommu->bdf = ivhd_block->header.device_id;
+    iommu->sbdf.seg = ivhd_block->pci_segment_group;
+    iommu->sbdf.bdf = ivhd_block->header.device_id;
     iommu->cap_offset = ivhd_block->capability_offset;
     iommu->mmio_base_phys = ivhd_block->base_address;
 
@@ -210,16 +210,16 @@ int __init amd_iommu_detect_one_acpi(
     /* override IOMMU HT flags */
     iommu->ht_flags = ivhd_block->header.flags;
 
-    bus = PCI_BUS(iommu->bdf);
-    dev = PCI_SLOT(iommu->bdf);
-    func = PCI_FUNC(iommu->bdf);
+    bus = PCI_BUS(iommu->sbdf.bdf);
+    dev = PCI_SLOT(iommu->sbdf.bdf);
+    func = PCI_FUNC(iommu->sbdf.bdf);
 
-    rt = get_iommu_capabilities(iommu->seg, bus, dev, func,
+    rt = get_iommu_capabilities(iommu->sbdf.seg, bus, dev, func,
                                 iommu->cap_offset, iommu);
     if ( rt )
         goto out;
 
-    rt = get_iommu_msi_capabilities(iommu->seg, bus, dev, func, iommu);
+    rt = get_iommu_msi_capabilities(iommu->sbdf.seg, bus, dev, func, iommu);
     if ( rt )
         goto out;
 
@@ -228,10 +228,10 @@ int __init amd_iommu_detect_one_acpi(
     if ( !iommu->domid_map )
         goto out;
 
-    rt = pci_ro_device(iommu->seg, bus, PCI_DEVFN(dev, func));
+    rt = pci_ro_device(iommu->sbdf.seg, bus, PCI_DEVFN(dev, func));
     if ( rt )
         printk(XENLOG_ERR "Could not mark config space of %pp read-only (%d)\n",
-               &PCI_SBDF(iommu->seg, iommu->bdf), rt);
+               &iommu->sbdf, rt);
 
     list_add_tail(&iommu->list, &amd_iommu_head);
     rt = 0;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index bb25b55c85..58d657060a 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -409,9 +409,7 @@ static void iommu_reset_log(struct amd_iommu *iommu,
 
 static void amd_iommu_msi_enable(struct amd_iommu *iommu, int flag)
 {
-    pci_sbdf_t sbdf = { .seg = iommu->seg, .bdf = iommu->bdf };
-
-    __msi_set_enable(sbdf, iommu->msi.msi_attrib.pos, flag);
+    __msi_set_enable(iommu->sbdf, iommu->msi.msi_attrib.pos, flag);
 }
 
 static void cf_check iommu_msi_unmask(struct irq_desc *desc)
@@ -566,7 +564,7 @@ static void cf_check parse_event_log_entry(struct amd_iommu *iommu, u32 entry[])
 
         printk(XENLOG_ERR "AMD-Vi: %s: %pp d%u addr %016"PRIx64
                " flags %#x%s%s%s%s%s%s%s%s%s%s\n",
-               code_str, &PCI_SBDF(iommu->seg, device_id),
+               code_str, &PCI_SBDF(iommu->sbdf.seg, device_id),
                domain_id, addr, flags,
                (flags & 0xe00) ? " ??" : "",
                (flags & 0x100) ? " TR" : "",
@@ -583,8 +581,8 @@ static void cf_check parse_event_log_entry(struct amd_iommu *iommu, u32 entry[])
             amd_iommu_print_entries(iommu, device_id, daddr_to_dfn(addr));
 
         for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
-            if ( get_dma_requestor_id(iommu->seg, bdf) == device_id )
-                pci_check_disable_device(iommu->seg, PCI_BUS(bdf),
+            if ( get_dma_requestor_id(iommu->sbdf.seg, bdf) == device_id )
+                pci_check_disable_device(iommu->sbdf.seg, PCI_BUS(bdf),
                                          PCI_DEVFN(bdf));
     }
     else
@@ -643,7 +641,7 @@ static void cf_check parse_ppr_log_entry(struct amd_iommu *iommu, u32 entry[])
     struct pci_dev *pdev;
 
     pcidevs_lock();
-    pdev = pci_get_real_pdev(PCI_SBDF(iommu->seg, device_id));
+    pdev = pci_get_real_pdev(PCI_SBDF(iommu->sbdf.seg, device_id));
     pcidevs_unlock();
 
     if ( pdev )
@@ -752,12 +750,11 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
     }
 
     pcidevs_lock();
-    iommu->msi.dev = pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf));
+    iommu->msi.dev = pci_get_pdev(NULL, iommu->sbdf);
     pcidevs_unlock();
     if ( !iommu->msi.dev )
     {
-        AMD_IOMMU_WARN("no pdev for %pp\n",
-                       &PCI_SBDF(iommu->seg, iommu->bdf));
+        AMD_IOMMU_WARN("no pdev for %pp\n", &iommu->sbdf);
         return 0;
     }
 
@@ -779,7 +776,7 @@ static bool __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
         hw_irq_controller *handler;
         u16 control;
 
-        control = pci_conf_read16(PCI_SBDF(iommu->seg, iommu->bdf),
+        control = pci_conf_read16(iommu->sbdf,
                                   iommu->msi.msi_attrib.pos + PCI_MSI_FLAGS);
 
         iommu->msi.msi.nvec = 1;
@@ -843,22 +840,22 @@ static void amd_iommu_erratum_746_workaround(struct amd_iommu *iommu)
          (boot_cpu_data.x86_model > 0x1f) )
         return;
 
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90);
-    value = pci_conf_read32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf4);
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90);
+    value = pci_conf_read32(iommu->sbdf, 0xf4);
 
     if ( value & (1 << 2) )
         return;
 
     /* Select NB indirect register 0x90 and enable writing */
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90 | (1 << 8));
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90 | (1 << 8));
 
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf4, value | (1 << 2));
+    pci_conf_write32(iommu->sbdf, 0xf4, value | (1 << 2));
     printk(XENLOG_INFO
            "AMD-Vi: Applying erratum 746 workaround for IOMMU at %pp\n",
-           &PCI_SBDF(iommu->seg, iommu->bdf));
+           &iommu->sbdf);
 
     /* Clear the enable writing bit */
-    pci_conf_write32(PCI_SBDF(iommu->seg, iommu->bdf), 0xf0, 0x90);
+    pci_conf_write32(iommu->sbdf, 0xf0, 0x90);
 }
 
 static void enable_iommu(struct amd_iommu *iommu)
@@ -1095,7 +1092,7 @@ static int __init amd_iommu_init_one(struct amd_iommu *iommu, bool intr)
         goto error_out;
 
     /* Make sure that the device table has been successfully allocated. */
-    ivrs_mappings = get_ivrs_mappings(iommu->seg);
+    ivrs_mappings = get_ivrs_mappings(iommu->sbdf.seg);
     if ( !IVRS_MAPPINGS_DEVTAB(ivrs_mappings) )
         goto error_out;
 
@@ -1363,7 +1360,7 @@ static bool __init amd_sp5100_erratum28(void)
 
 static int __init amd_iommu_prepare_one(struct amd_iommu *iommu)
 {
-    int rc = alloc_ivrs_mappings(iommu->seg);
+    int rc = alloc_ivrs_mappings(iommu->sbdf.seg);
 
     if ( !rc )
         rc = map_iommu_mmio_region(iommu);
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 9abdc38053..754e9051dc 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -132,7 +132,7 @@ static int get_intremap_requestor_id(int seg, int bdf)
 static unsigned int alloc_intremap_entry(const struct amd_iommu *iommu,
                                          unsigned int bdf, unsigned int nr)
 {
-    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(iommu->seg);
+    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(iommu->sbdf.seg);
     unsigned long *inuse = ivrs_mappings[bdf].intremap_inuse;
     unsigned int nr_ents =
         intremap_table_entries(ivrs_mappings[bdf].intremap_table, iommu);
@@ -167,7 +167,7 @@ static union irte_ptr get_intremap_entry(const struct amd_iommu *iommu,
                                          unsigned int bdf, unsigned int index)
 {
     union irte_ptr table = {
-        .ptr = get_ivrs_mappings(iommu->seg)[bdf].intremap_table
+        .ptr = get_ivrs_mappings(iommu->sbdf.seg)[bdf].intremap_table
     };
 
     ASSERT(table.ptr && (index < intremap_table_entries(table.ptr, iommu)));
@@ -184,7 +184,7 @@ static void free_intremap_entry(const struct amd_iommu *iommu,
                                 unsigned int bdf, unsigned int index)
 {
     union irte_ptr entry = get_intremap_entry(iommu, bdf, index);
-    struct ivrs_mappings *ivrs = get_ivrs_mappings(iommu->seg);
+    struct ivrs_mappings *ivrs = get_ivrs_mappings(iommu->sbdf.seg);
 
     if ( iommu->ctrl.ga_en )
     {
@@ -281,8 +281,8 @@ static int update_intremap_entry_from_ioapic(
     unsigned int dest, offset;
     bool fresh = false;
 
-    req_id = get_intremap_requestor_id(iommu->seg, bdf);
-    lock = get_intremap_lock(iommu->seg, req_id);
+    req_id = get_intremap_requestor_id(iommu->sbdf.seg, bdf);
+    lock = get_intremap_lock(iommu->sbdf.seg, req_id);
 
     delivery_mode = rte->delivery_mode;
     vector = rte->vector;
@@ -419,10 +419,10 @@ static int update_intremap_entry_from_msi_msg(
     unsigned int dest, offset, i;
     bool fresh = false;
 
-    req_id = get_dma_requestor_id(iommu->seg, bdf);
-    alias_id = get_intremap_requestor_id(iommu->seg, bdf);
+    req_id = get_dma_requestor_id(iommu->sbdf.seg, bdf);
+    alias_id = get_intremap_requestor_id(iommu->sbdf.seg, bdf);
 
-    lock = get_intremap_lock(iommu->seg, req_id);
+    lock = get_intremap_lock(iommu->sbdf.seg, req_id);
     spin_lock_irqsave(lock, flags);
 
     if ( msg == NULL )
@@ -486,10 +486,10 @@ static int update_intremap_entry_from_msi_msg(
      */
 
     if ( ( req_id != alias_id ) &&
-         get_ivrs_mappings(iommu->seg)[alias_id].intremap_table != NULL )
+         get_ivrs_mappings(iommu->sbdf.seg)[alias_id].intremap_table != NULL )
     {
-        BUG_ON(get_ivrs_mappings(iommu->seg)[req_id].intremap_table !=
-               get_ivrs_mappings(iommu->seg)[alias_id].intremap_table);
+        BUG_ON(get_ivrs_mappings(iommu->sbdf.seg)[req_id].intremap_table !=
+               get_ivrs_mappings(iommu->sbdf.seg)[alias_id].intremap_table);
     }
 
     return fresh;
@@ -500,7 +500,7 @@ static struct amd_iommu *_find_iommu_for_device(int seg, int bdf)
     struct amd_iommu *iommu;
 
     for_each_amd_iommu ( iommu )
-        if ( iommu->seg == seg && iommu->bdf == bdf )
+        if ( iommu->sbdf.seg == seg && iommu->sbdf.bdf == bdf )
             return NULL;
 
     iommu = find_iommu_for_device(seg, bdf);
@@ -730,7 +730,7 @@ static void dump_intremap_table(const struct amd_iommu *iommu,
         if ( ivrs_mapping )
         {
             printk("  %pp:\n",
-                   &PCI_SBDF(iommu->seg, ivrs_mapping->dte_requestor_id));
+                   &PCI_SBDF(iommu->sbdf.seg, ivrs_mapping->dte_requestor_id));
             ivrs_mapping = NULL;
         }
 
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index dde393645a..78bde0aeb6 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -558,14 +558,14 @@ void amd_iommu_print_entries(const struct amd_iommu *iommu, unsigned int dev_id,
 
     if ( !dt[dev_id].tv )
     {
-        printk("%pp: no root\n", &PCI_SBDF(iommu->seg, dev_id));
+        printk("%pp: no root\n", &PCI_SBDF(iommu->sbdf.seg, dev_id));
         return;
     }
 
     pt_mfn = _mfn(dt[dev_id].pt_root);
     level = dt[dev_id].paging_mode;
     printk("%pp root @ %"PRI_mfn" (%u levels) dfn=%"PRI_dfn"\n",
-           &PCI_SBDF(iommu->seg, dev_id), mfn_x(pt_mfn), level, dfn_x(dfn));
+           &PCI_SBDF(iommu->sbdf.seg, dev_id), mfn_x(pt_mfn), level, dfn_x(dfn));
 
     while ( level )
     {
@@ -730,7 +730,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
              * the same alias ID.
              */
             if ( bdf != req && ivrs_mappings[req].iommu &&
-                 func(0, 0, PCI_SBDF(seg, req).sbdf, ctxt) )
+                 func(0, 0, sbdf.sbdf, ctxt) )
                 continue;
 
             if ( global == pending )
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index d00697edb3..55218d9a1d 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -43,7 +43,7 @@ struct amd_iommu *find_iommu_for_device(int seg, int bdf)
     {
         unsigned int bd0 = bdf & ~PCI_FUNC(~0);
 
-        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->bdf != bdf )
+        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->sbdf.bdf != bdf )
         {
             struct ivrs_mappings tmp = ivrs_mappings[bd0];
 
@@ -121,7 +121,7 @@ static bool use_ats(
 {
     return !ivrs_dev->block_ats &&
            iommu_has_cap(iommu, PCI_CAP_IOTLB_SHIFT) &&
-           pci_ats_device(iommu->seg, pdev->bus, pdev->devfn);
+           pci_ats_device(iommu->sbdf.seg, pdev->bus, pdev->devfn);
 }
 
 static int __must_check amd_iommu_setup_domain_device(
@@ -147,17 +147,17 @@ static int __must_check amd_iommu_setup_domain_device(
     if ( rc )
         return rc;
 
-    req_id = get_dma_requestor_id(iommu->seg, pdev->sbdf.bdf);
-    ivrs_dev = &get_ivrs_mappings(iommu->seg)[req_id];
+    req_id = get_dma_requestor_id(iommu->sbdf.seg, pdev->sbdf.bdf);
+    ivrs_dev = &get_ivrs_mappings(iommu->sbdf.seg)[req_id];
     sr_flags = (iommu_hwdom_passthrough && is_hardware_domain(domain)
                 ? 0 : SET_ROOT_VALID)
                | (ivrs_dev->unity_map ? SET_ROOT_WITH_UNITY_MAP : 0);
 
     /* get device-table entry */
-    req_id = get_dma_requestor_id(iommu->seg, PCI_BDF(bus, devfn));
+    req_id = get_dma_requestor_id(iommu->sbdf.seg, PCI_BDF(bus, devfn));
     table = iommu->dev_table.buffer;
     dte = &table[req_id];
-    ivrs_dev = &get_ivrs_mappings(iommu->seg)[req_id];
+    ivrs_dev = &get_ivrs_mappings(iommu->sbdf.seg)[req_id];
 
     if ( domain != dom_io )
     {
@@ -275,7 +275,7 @@ static int __must_check amd_iommu_setup_domain_device(
     ASSERT(pcidevs_locked());
 
     if ( use_ats(pdev, iommu, ivrs_dev) &&
-         !pci_ats_enabled(iommu->seg, bus, pdev->devfn) )
+         !pci_ats_enabled(iommu->sbdf.seg, bus, pdev->devfn) )
     {
         if ( devfn == pdev->devfn )
             enable_ats_device(pdev, &iommu->ats_devices);
@@ -418,12 +418,12 @@ static void amd_iommu_disable_domain_device(const struct domain *domain,
 
     ASSERT(pcidevs_locked());
 
-    if ( pci_ats_device(iommu->seg, bus, pdev->devfn) &&
-         pci_ats_enabled(iommu->seg, bus, pdev->devfn) )
+    if ( pci_ats_device(iommu->sbdf.seg, bus, pdev->devfn) &&
+         pci_ats_enabled(iommu->sbdf.seg, bus, pdev->devfn) )
         disable_ats_device(pdev);
 
     BUG_ON ( iommu->dev_table.buffer == NULL );
-    req_id = get_dma_requestor_id(iommu->seg, PCI_BDF(bus, devfn));
+    req_id = get_dma_requestor_id(iommu->sbdf.seg, PCI_BDF(bus, devfn));
     table = iommu->dev_table.buffer;
     dte = &table[req_id];
 
@@ -578,7 +578,7 @@ static int cf_check amd_iommu_add_device(u8 devfn, struct pci_dev *pdev)
         return -EINVAL;
 
     for_each_amd_iommu(iommu)
-        if ( pdev->seg == iommu->seg && pdev->sbdf.bdf == iommu->bdf )
+        if ( pdev->seg == iommu->sbdf.seg && pdev->sbdf.bdf == iommu->sbdf.bdf )
             return is_hardware_domain(pdev->domain) ? 0 : -ENODEV;
 
     iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:31:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919332.1323834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYv9-0002yN-IS; Tue, 18 Mar 2025 15:31:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919332.1323834; Tue, 18 Mar 2025 15:31: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 1tuYv9-0002yC-Eq; Tue, 18 Mar 2025 15:31:59 +0000
Received: by outflank-mailman (input) for mailman id 919332;
 Tue, 18 Mar 2025 15:31: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=5Po+=WF=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1tuYv8-0001q5-A9
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:31:58 +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 203a72a3-040e-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:31:56 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so25231345e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:31:56 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffbcf12sm135384415e9.12.2025.03.18.08.31.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:31: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: 203a72a3-040e-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742311915; x=1742916715; 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=eT8CP/qhMWkEmW+NuFuwZ5+end+wYTik2LbAEHOmNAc=;
        b=gQjHFaUkPDTdlGdAnjJpBL4exyHlN/74EVOLBg8y4C+2wGuEj1rgCRRY9aPv+9Vsd2
         p0IXayQGw4MvAE7cgiPDBeP6HEzHCVy2zO0u6m3jOZtANfR6FqRCQ2ZdgHLwmIasLH3n
         MYZo6ChaDDZzEEjyF3wTZ1vmMRxwgjkxMXgsd7sv3OBxBep4fnrT5d8toYHDJNKjoX5O
         gGRrwAdea19QmowLMoqJE/STan+J0LlV2yprl2CA8BrJXb9F+zpfQAs6ZKHhjK/XO/eW
         xRjNeBpX/NAfT1oQR/MztYePZ5F0Od5OEop5Qr7gJBB3xg52RQt8SvlvVspvqn+342YM
         1qfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311915; x=1742916715;
        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=eT8CP/qhMWkEmW+NuFuwZ5+end+wYTik2LbAEHOmNAc=;
        b=H5zMD02QqYvQqy9zALICHuZTq5lW+4p8Ft843/DmzvPcJoSXr7DuJoSPdv+15MqK2N
         LDWebOS+/BI4XdKe149OPoyB29jwutMxFgpTmcXc5g8cUoPqdemdwcCV8z1/ZPK49GKn
         yOG/L9LbwBXlIlFsset798jczpt+oANMtT9RURMXCxeuKkJRUt8YaIms1Cira2DMJXrh
         kpSW18maPKd43fFeF6KIdj7m5Wg0nLRnHnTgaXVcFoAtdAD1ACqVGsGFalIlz6WUmKBP
         CZns6vtj1mecFpdI/DUinZucWCa2EbivqNLoKe/wls6FAthr9kooY0rOdzVd9zpTAdgd
         qjUw==
X-Gm-Message-State: AOJu0YzCv5bvd7Avs1s6ez34bq7QqmboUCJqVM2Iusizcan1rtm03QJj
	HFh5g4UQAbBQSFgmA7VTM/nU3MCrKdbCQ+FJbQObTRuMlgddTl+9fg5FxmYu
X-Gm-Gg: ASbGncunPMK9FmfVT3QGxqYDBcuVUMtiow7dq9Ttc/X4JSSsu/hWuIQS+G21iDvrigR
	ZAAEi7BTRqcJ3qBZ9R+b62O8fbItjZByx4LOLbOGlO1ByAVrD6r1uG8Sd0O6UPxiiyvPbJUwRud
	2AOFLWJdGoqmSEc6ueWV1jEXb+6P+zAL7jWsMsGhCTJC6kIr5Q1EEzQ2FHRgKzqLWAdVVhdu9hu
	U3HqnMV0WVhJMauLb22CABHX331/qDPb8y/TO9OIe28hIpjLLTaAFKGDYGeKaAg1fwDchKIEmr9
	5GF8RDIN1PHhQ8Y6Xb6vHlWRS/Ja3ed+OfwKw6DJVgss5grD+u6pgdrc3Gnm9X7N0MnrLJ3ycX3
	lvJH6lpl8gU+uEqYNRLUW5LsU6xXlsctzcfxdi/I6K13EpbzXKozb/48=
X-Google-Smtp-Source: AGHT+IGUg21f2AvL8GMRPBAHmPN0QHUhXcrhkVol8zbFUxLayeoyuuEQKaCgOz1jSrjp3f9UHru9Ng==
X-Received: by 2002:a05:600c:1da4:b0:43c:f16a:641e with SMTP id 5b1f17b1804b1-43d3b950117mr27128775e9.6.1742311914721;
        Tue, 18 Mar 2025 08:31:54 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 2/3] drivers: Change find_iommu_for_device function to take pci_sbdf_t, simplify code
Date: Tue, 18 Mar 2025 15:30:22 +0000
Message-ID: <3a9690d545547a1b39b20e256613308a814e2c27.1742311401.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1742311401.git.sultanovandriy@gmail.com>
References: <cover.1742311401.git.sultanovandriy@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following a similar change to amd_iommu struct, change the
find_iommu_for_device function to take pci_sbdf_t as a single parameter.
This removes conversions in the majority of cases,

Bloat-o-meter reports (on top of the first patch in the series):
add/remove: 0/0 grow/shrink: 11/13 up/down: 90/-154 (-64)
Function                                     old     new   delta
amd_iommu_get_supported_ivhd_type             54      86     +32
parse_ivrs_table                            3955    3966     +11
amd_iommu_assign_device                      271     282     +11
__mon_lengths                               2928    2936      +8
update_intremap_entry_from_msi_msg           859     864      +5
iov_supports_xt                              270     275      +5
amd_setup_hpet_msi                           232     237      +5
amd_iommu_domain_destroy                      43      48      +5
find_iommu_for_device                        242     246      +4
amd_iommu_ioapic_update_ire                  572     575      +3
allocate_domain_resources                     82      83      +1
amd_iommu_read_ioapic_from_ire               347     344      -3
reassign_device                              843     838      -5
amd_iommu_remove_device                      352     347      -5
amd_iommu_get_reserved_device_memory         524     519      -5
amd_iommu_flush_iotlb                        359     354      -5
amd_iommu_add_device                         844     839      -5
amd_iommu_setup_domain_device               1478    1472      -6
build_info                                   752     744      -8
amd_iommu_detect_one_acpi                    886     876     -10
register_range_for_device                    297     281     -16
amd_iommu_msi_msg_update_ire                 472     448     -24
parse_ivmd_block                            1339    1312     -27
_hvm_dpci_msi_eoi                            168     133     -35

Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

---
Changes in V3:
* Amended commit message
* As the previous patch dropped the aliasing of seg and bdf, renamed users of
  amd_iommu as appropriate.

Changes in V2:
* Split single commit into several patches
* Dropped brackets around &(iommu->sbdf) and &(sbdf)
* Dropped most of the hunk in _invalidate_all_devices - it was
  bloat-equivalent to the existing code - just convert with PCI_SBDF
  instead
* Dropped the hunk in get_intremap_requestor_id (iommu_intr.c) and
  amd_iommu_get_reserved_device_memory (iommu_map.c) as they were only
  increasing the code size.
* Kept "/* XXX */" where appropriate
* Fixed a slip-up in register_range_for_iommu_devices where iommu->sbdf
  replaced the usage of *different* seg and bdf.
---
 xen/drivers/passthrough/amd/iommu.h         |  2 +-
 xen/drivers/passthrough/amd/iommu_acpi.c    | 14 ++++-----
 xen/drivers/passthrough/amd/iommu_cmd.c     |  2 +-
 xen/drivers/passthrough/amd/iommu_init.c    |  4 +--
 xen/drivers/passthrough/amd/iommu_intr.c    | 20 ++++++-------
 xen/drivers/passthrough/amd/iommu_map.c     |  2 +-
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 32 ++++++++++-----------
 7 files changed, 38 insertions(+), 38 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index ba541f7943..2599800e6a 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -240,7 +240,7 @@ void amd_iommu_flush_intremap(struct amd_iommu *iommu, uint16_t bdf);
 void amd_iommu_flush_all_caches(struct amd_iommu *iommu);
 
 /* find iommu for bdf */
-struct amd_iommu *find_iommu_for_device(int seg, int bdf);
+struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf);
 
 /* interrupt remapping */
 bool cf_check iov_supports_xt(void);
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 025d9be40f..9e4fbee953 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -239,17 +239,17 @@ static int __init register_range_for_device(
     unsigned int bdf, paddr_t base, paddr_t limit,
     bool iw, bool ir, bool exclusion)
 {
-    int seg = 0; /* XXX */
-    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    pci_sbdf_t sbdf = { .seg = 0 /* XXX */, .bdf = bdf };
+    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
     struct amd_iommu *iommu;
     u16 req;
     int rc = 0;
 
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("IVMD: no IOMMU for device %pp - ignoring constrain\n",
-                       &PCI_SBDF(seg, bdf));
+                       &sbdf);
         return 0;
     }
     req = ivrs_mappings[bdf].dte_requestor_id;
@@ -263,9 +263,9 @@ static int __init register_range_for_device(
         paddr_t length = limit + PAGE_SIZE - base;
 
         /* reserve unity-mapped page entries for device */
-        rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir,
+        rc = reserve_unity_map_for_device(sbdf.seg, bdf, base, length, iw, ir,
                                           false) ?:
-             reserve_unity_map_for_device(seg, req, base, length, iw, ir,
+             reserve_unity_map_for_device(sbdf.seg, req, base, length, iw, ir,
                                           false);
     }
     else
@@ -297,7 +297,7 @@ static int __init register_range_for_iommu_devices(
     /* reserve unity-mapped page entries for devices */
     for ( bdf = rc = 0; !rc && bdf < ivrs_bdf_entries; bdf++ )
     {
-        if ( iommu != find_iommu_for_device(iommu->sbdf.seg, bdf) )
+        if ( iommu != find_iommu_for_device(PCI_SBDF(iommu->sbdf.seg, bdf)) )
             continue;
 
         req = get_ivrs_mappings(iommu->sbdf.seg)[bdf].dte_requestor_id;
diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
index 4defa0a44d..e007a4caca 100644
--- a/xen/drivers/passthrough/amd/iommu_cmd.c
+++ b/xen/drivers/passthrough/amd/iommu_cmd.c
@@ -288,7 +288,7 @@ void amd_iommu_flush_iotlb(u8 devfn, const struct pci_dev *pdev,
     if ( !pci_ats_enabled(pdev->seg, pdev->bus, pdev->devfn) )
         return;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
 
     if ( !iommu )
     {
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index 58d657060a..3f6d2f5db5 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -1540,13 +1540,13 @@ static void invalidate_all_domain_pages(void)
 static int cf_check _invalidate_all_devices(
     u16 seg, struct ivrs_mappings *ivrs_mappings)
 {
-    unsigned int bdf; 
+    unsigned int bdf;
     u16 req_id;
     struct amd_iommu *iommu;
 
     for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
     {
-        iommu = find_iommu_for_device(seg, bdf);
+        iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
         req_id = ivrs_mappings[bdf].dte_requestor_id;
         if ( iommu )
         {
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 754e9051dc..b894851ebf 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -337,7 +337,7 @@ void cf_check amd_iommu_ioapic_update_ire(
     /* get device id of ioapic devices */
     bdf = ioapic_sbdf[idx].bdf;
     seg = ioapic_sbdf[idx].seg;
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %04x:%04x\n",
@@ -383,7 +383,7 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
 
     seg = ioapic_sbdf[idx].seg;
     bdf = ioapic_sbdf[idx].bdf;
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
     if ( !iommu )
         return val;
     req_id = get_intremap_requestor_id(seg, bdf);
@@ -495,19 +495,19 @@ static int update_intremap_entry_from_msi_msg(
     return fresh;
 }
 
-static struct amd_iommu *_find_iommu_for_device(int seg, int bdf)
+static struct amd_iommu *_find_iommu_for_device(pci_sbdf_t sbdf)
 {
     struct amd_iommu *iommu;
 
     for_each_amd_iommu ( iommu )
-        if ( iommu->sbdf.seg == seg && iommu->sbdf.bdf == bdf )
+        if ( iommu->sbdf.sbdf == sbdf.sbdf )
             return NULL;
 
-    iommu = find_iommu_for_device(seg, bdf);
+    iommu = find_iommu_for_device(sbdf);
     if ( iommu )
         return iommu;
 
-    AMD_IOMMU_DEBUG("No IOMMU for MSI dev = %pp\n", &PCI_SBDF(seg, bdf));
+    AMD_IOMMU_DEBUG("No IOMMU for MSI dev = %pp\n", &sbdf);
     return ERR_PTR(-EINVAL);
 }
 
@@ -523,7 +523,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     bdf = pdev ? pdev->sbdf.bdf : hpet_sbdf.bdf;
     seg = pdev ? pdev->seg : hpet_sbdf.seg;
 
-    iommu = _find_iommu_for_device(seg, bdf);
+    iommu = _find_iommu_for_device(PCI_SBDF(seg, bdf));
     if ( IS_ERR_OR_NULL(iommu) )
         return PTR_ERR(iommu);
 
@@ -660,8 +660,8 @@ bool __init cf_check iov_supports_xt(void)
         if ( idx == MAX_IO_APICS )
             return false;
 
-        if ( !find_iommu_for_device(ioapic_sbdf[idx].seg,
-                                    ioapic_sbdf[idx].bdf) )
+        if ( !find_iommu_for_device(PCI_SBDF(ioapic_sbdf[idx].seg,
+                                             ioapic_sbdf[idx].bdf)) )
         {
             AMD_IOMMU_WARN("no IOMMU for IO-APIC %#x (ID %x)\n",
                            apic, IO_APIC_ID(apic));
@@ -690,7 +690,7 @@ int __init cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc)
         return -ENODEV;
     }
 
-    iommu = find_iommu_for_device(hpet_sbdf.seg, hpet_sbdf.bdf);
+    iommu = find_iommu_for_device(PCI_SBDF(hpet_sbdf.seg, hpet_sbdf.bdf));
     if ( !iommu )
         return -ENXIO;
 
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index 78bde0aeb6..8463c98abf 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -717,7 +717,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
             pcidevs_unlock();
 
             if ( pdev )
-                iommu = find_iommu_for_device(seg, bdf);
+                iommu = find_iommu_for_device(sbdf);
             if ( !iommu )
                 continue;
         }
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index 55218d9a1d..3a14770855 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -32,35 +32,35 @@ static bool __read_mostly init_done;
 
 static const struct iommu_init_ops _iommu_init_ops;
 
-struct amd_iommu *find_iommu_for_device(int seg, int bdf)
+struct amd_iommu *find_iommu_for_device(pci_sbdf_t sbdf)
 {
-    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(sbdf.seg);
 
-    if ( !ivrs_mappings || bdf >= ivrs_bdf_entries )
+    if ( !ivrs_mappings || sbdf.bdf >= ivrs_bdf_entries )
         return NULL;
 
-    if ( unlikely(!ivrs_mappings[bdf].iommu) && likely(init_done) )
+    if ( unlikely(!ivrs_mappings[sbdf.bdf].iommu) && likely(init_done) )
     {
-        unsigned int bd0 = bdf & ~PCI_FUNC(~0);
+        unsigned int bd0 = sbdf.bdf & ~PCI_FUNC(~0);
 
-        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->sbdf.bdf != bdf )
+        if ( ivrs_mappings[bd0].iommu && ivrs_mappings[bd0].iommu->sbdf.bdf != sbdf.bdf )
         {
             struct ivrs_mappings tmp = ivrs_mappings[bd0];
 
             tmp.iommu = NULL;
             if ( tmp.dte_requestor_id == bd0 )
-                tmp.dte_requestor_id = bdf;
-            ivrs_mappings[bdf] = tmp;
+                tmp.dte_requestor_id = sbdf.bdf;
+            ivrs_mappings[sbdf.bdf] = tmp;
 
             printk(XENLOG_WARNING "%pp not found in ACPI tables;"
-                   " using same IOMMU as function 0\n", &PCI_SBDF(seg, bdf));
+                   " using same IOMMU as function 0\n", &sbdf);
 
             /* write iommu field last */
-            ivrs_mappings[bdf].iommu = ivrs_mappings[bd0].iommu;
+            ivrs_mappings[sbdf.bdf].iommu = ivrs_mappings[bd0].iommu;
         }
     }
 
-    return ivrs_mappings[bdf].iommu;
+    return ivrs_mappings[sbdf.bdf].iommu;
 }
 
 /*
@@ -107,7 +107,7 @@ static bool any_pdev_behind_iommu(const struct domain *d,
         if ( pdev == exclude )
             continue;
 
-        if ( find_iommu_for_device(pdev->seg, pdev->sbdf.bdf) == iommu )
+        if ( find_iommu_for_device(pdev->sbdf) == iommu )
             return true;
     }
 
@@ -468,7 +468,7 @@ static int cf_check reassign_device(
     struct amd_iommu *iommu;
     int rc;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be assigned to %pd\n",
@@ -578,10 +578,10 @@ static int cf_check amd_iommu_add_device(u8 devfn, struct pci_dev *pdev)
         return -EINVAL;
 
     for_each_amd_iommu(iommu)
-        if ( pdev->seg == iommu->sbdf.seg && pdev->sbdf.bdf == iommu->sbdf.bdf )
+        if ( pdev->sbdf.sbdf == iommu->sbdf.sbdf )
             return is_hardware_domain(pdev->domain) ? 0 : -ENODEV;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( unlikely(!iommu) )
     {
         /* Filter bridge devices. */
@@ -666,7 +666,7 @@ static int cf_check amd_iommu_remove_device(u8 devfn, struct pci_dev *pdev)
     if ( !pdev->domain )
         return -EINVAL;
 
-    iommu = find_iommu_for_device(pdev->seg, pdev->sbdf.bdf);
+    iommu = find_iommu_for_device(pdev->sbdf);
     if ( !iommu )
     {
         AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be removed from %pd\n",
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:32:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919333.1323844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYvA-0003E2-Qi; Tue, 18 Mar 2025 15:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919333.1323844; Tue, 18 Mar 2025 15: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 1tuYvA-0003Dv-Nu; Tue, 18 Mar 2025 15:32:00 +0000
Received: by outflank-mailman (input) for mailman id 919333;
 Tue, 18 Mar 2025 15:31: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=5Po+=WF=gmail.com=sultanovandriy@srs-se1.protection.inumbo.net>)
 id 1tuYv9-0001ML-Hx
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:31:59 +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 20fa0c3d-040e-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:31:58 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so19404645e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:31:57 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust1786.5-4.cable.virginm.net. [82.13.70.251])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffbcf12sm135384415e9.12.2025.03.18.08.31.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:31: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: 20fa0c3d-040e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742311917; x=1742916717; 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=4AbE1blNd+/whSggpKdr+EhB2N/B1VEMWE2Q8cWiM14=;
        b=bpoeTOGk6MU0qNs3BSMxCOHmVy8q76v/2qSEfQDYYvBq4HBeRb+WbSvFDh7V4ku90Q
         NKSp5AP7eH4mAGfgnT5oOTc8M7Ry3WpJog4/GrRqNs77LK0IDzSC9kisFK8K1EMZkopC
         c/zlevGFWsnoOjt2NOw8D/zaaV04NDl7McwQnNe7q63W7SJ1UWu+A2TEp7Vpd6qsLq/z
         SSLMM4fziR0VOmPTi5YXobNXj89HdJ6qsA942Mw6ZrPt3SPd4KjQHJ9zSkO0mdW3tB0P
         jZu7EtcuISY0/hOeVwE0p0rGCbS3lPQ5yTKS2S0WEMXw7+sADgjXB2qtnzXZwPWV5EAv
         7X6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742311917; x=1742916717;
        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=4AbE1blNd+/whSggpKdr+EhB2N/B1VEMWE2Q8cWiM14=;
        b=eW1bGLp7jusSWetpIc9cB2F118ET8drYC3nlY1WwAGAKZys4BBtKuf6D+Am6npe80j
         tbBGYaLCMP6cs31dm4CfwpySGy02cQ6Eoct7Ob2ex8IUvaWbJI0WNc5rEOW1Mx86QCj0
         b8yx3uaMfeyV64+mqxy67BWSy/Z9J5asNJ2jgbg78EQ27yNfDTgBpsHeUOW29GcPvCO+
         OTJAdsuxWXSkpW+Zb9yg9/mi9NOfU6GbsyfWrRJSr+eQjrw5xVSyTPx6Ndy+dCKqz+SN
         Z+v6Ich1V5mR1Fx+oLX3zipGU/iY5r67u8sexUtqCMoUgzyTnBkXvylI2MfpNtW13p2w
         T+gw==
X-Gm-Message-State: AOJu0YykDoSLpNvu07DR5eYx2Vjb7JI/8cd/CvntDWhkhkJrwvgyKYZm
	bxSqJNNpLWZk6DLpMw9WtdP5kOWWXMrwMlQIRc66/0yjcpWWVvTROhDJ4hF2
X-Gm-Gg: ASbGncuMFTBWGjGc1P+fWuNBuRLRqBA04SqYEzmXrU/7VTONP5cEEV6sjInSFKK2PuZ
	2pRdw217zm5YerXEqjxSENLCk95amK24W+6TCzsqelf0ZVNVgz8G9YWTSrQinf3JpMtxQQs61eU
	T7zDhsSgV/t1WzeIFy7nTBzKM8UOhxtbhpbAE3bQnuztAmEZel8Ho6qxqcl3qTNsneiqiDecsES
	L5QeBHV1pAUPVUsdMhIlv77XFuY0TxQnwsqcgWnSDscm0yzwRGgLyDzoIRg3k7EPJRaYRwTrVMt
	v2cl/bfjeJ8BZBlrrlAk9+/vhwZdE5+WV06EnQKMX9DrGSf46xBmh95rLVGzGsR9+wv8BE86qap
	/2Z6tPVYExi/4Kz5tv7N1OMCRYc/knozlaupFqalnUra9
X-Google-Smtp-Source: AGHT+IE32+Os7WytfIYeqSjyA3VVAbO1ykDTsOHE3RP5XQ3AQDSC+bYhSK6jQy9gNurWLWEx27VgYw==
X-Received: by 2002:a05:600c:4c29:b0:43d:174:2668 with SMTP id 5b1f17b1804b1-43d3b7ce106mr22493785e9.0.1742311916666;
        Tue, 18 Mar 2025 08:31:56 -0700 (PDT)
From: Andrii Sultanov <sultanovandriy@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <sultanovandriy@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 3/3] drivers: Make ioapic_sbdf and hpet_sbdf contain pci_sbdf_t
Date: Tue, 18 Mar 2025 15:30:23 +0000
Message-ID: <06e7126700f1bd8a0db5199209a275cf2b1e09f2.1742311401.git.sultanovandriy@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1742311401.git.sultanovandriy@gmail.com>
References: <cover.1742311401.git.sultanovandriy@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following a similar change to amd_iommu struct, make two more structs
take pci_sbdf_t directly instead of seg and bdf separately. This lets us
drop several conversions from the latter to the former and simplifies
several comparisons and assignments.

Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>

---

This particular commit does not have any effect on code size:
add/remove: 0/0 grow/shrink: 2/6 up/down: 96/-96 (0)
Function                                     old     new   delta
_einittext                                 22092   22156     +64
_hvm_dpci_msi_eoi                            133     165     +32
amd_iommu_detect_one_acpi                    876     868      -8
iov_supports_xt                              275     264     -11
amd_iommu_read_ioapic_from_ire               344     332     -12
amd_setup_hpet_msi                           237     224     -13
amd_iommu_ioapic_update_ire                  575     555     -20
amd_iommu_get_supported_ivhd_type             86      54     -32

So we don't have to take it - but imho it significantly simplifies
source code and makes it more readable.

Changes in V3:
* Dropped aliasing of seg and bdf, renamed users.

Changes in V2:
* Split single commit into several patches
* Change the format specifier to %pp in amd_iommu_ioapic_update_ire
---
 xen/drivers/passthrough/amd/iommu.h      |  5 +--
 xen/drivers/passthrough/amd/iommu_acpi.c | 28 +++++++--------
 xen/drivers/passthrough/amd/iommu_intr.c | 44 +++++++++++-------------
 3 files changed, 38 insertions(+), 39 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
index 2599800e6a..52f748310b 100644
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -262,7 +262,7 @@ int cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc);
 void cf_check amd_iommu_dump_intremap_tables(unsigned char key);
 
 extern struct ioapic_sbdf {
-    u16 bdf, seg;
+    pci_sbdf_t sbdf;
     u8 id;
     bool cmdline;
     u16 *pin_2_idx;
@@ -273,7 +273,8 @@ unsigned int ioapic_id_to_index(unsigned int apic_id);
 unsigned int get_next_ioapic_sbdf_index(void);
 
 extern struct hpet_sbdf {
-    u16 bdf, seg, id;
+    pci_sbdf_t sbdf;
+    uint16_t id;
     enum {
         HPET_NONE,
         HPET_CMDL,
diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 9e4fbee953..bb1eba2aa7 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -707,8 +707,8 @@ static int __init cf_check parse_ivrs_ioapic(const char *str)
         }
     }
 
-    ioapic_sbdf[idx].bdf = PCI_BDF(bus, dev, func);
-    ioapic_sbdf[idx].seg = seg;
+    ioapic_sbdf[idx].sbdf.bdf = PCI_BDF(bus, dev, func);
+    ioapic_sbdf[idx].sbdf.seg = seg;
     ioapic_sbdf[idx].id = id;
     ioapic_sbdf[idx].cmdline = true;
 
@@ -734,8 +734,8 @@ static int __init cf_check parse_ivrs_hpet(const char *str)
         return -EINVAL;
 
     hpet_sbdf.id = id;
-    hpet_sbdf.bdf = PCI_BDF(bus, dev, func);
-    hpet_sbdf.seg = seg;
+    hpet_sbdf.sbdf.bdf = PCI_BDF(bus, dev, func);
+    hpet_sbdf.sbdf.seg = seg;
     hpet_sbdf.init = HPET_CMDL;
 
     return 0;
@@ -780,8 +780,8 @@ static u16 __init parse_ivhd_device_special(
          */
         for ( idx = 0; idx < nr_ioapic_sbdf; idx++ )
         {
-            if ( ioapic_sbdf[idx].bdf == bdf &&
-                 ioapic_sbdf[idx].seg == seg &&
+            if ( ioapic_sbdf[idx].sbdf.bdf == bdf &&
+                 ioapic_sbdf[idx].sbdf.seg == seg &&
                  ioapic_sbdf[idx].cmdline )
                 break;
         }
@@ -805,8 +805,8 @@ static u16 __init parse_ivhd_device_special(
                                 special->handle);
             else if ( idx != MAX_IO_APICS && ioapic_sbdf[idx].pin_2_idx )
             {
-                if ( ioapic_sbdf[idx].bdf == bdf &&
-                     ioapic_sbdf[idx].seg == seg )
+                if ( ioapic_sbdf[idx].sbdf.bdf == bdf &&
+                     ioapic_sbdf[idx].sbdf.seg == seg )
                     AMD_IOMMU_WARN("IVHD: duplicate IO-APIC %#x entries\n",
                                     special->handle);
                 else
@@ -827,8 +827,8 @@ static u16 __init parse_ivhd_device_special(
                 }
 
                 /* set device id of ioapic */
-                ioapic_sbdf[idx].bdf = bdf;
-                ioapic_sbdf[idx].seg = seg;
+                ioapic_sbdf[idx].sbdf.bdf = bdf;
+                ioapic_sbdf[idx].sbdf.seg = seg;
                 ioapic_sbdf[idx].id = special->handle;
 
                 ioapic_sbdf[idx].pin_2_idx = xmalloc_array(
@@ -867,8 +867,8 @@ static u16 __init parse_ivhd_device_special(
         case HPET_NONE:
             /* set device id of hpet */
             hpet_sbdf.id = special->handle;
-            hpet_sbdf.bdf = bdf;
-            hpet_sbdf.seg = seg;
+            hpet_sbdf.sbdf.bdf = bdf;
+            hpet_sbdf.sbdf.seg = seg;
             hpet_sbdf.init = HPET_IVHD;
             break;
         default:
@@ -1139,9 +1139,9 @@ static int __init cf_check parse_ivrs_table(struct acpi_table_header *table)
                 return -ENXIO;
         }
 
-        if ( !ioapic_sbdf[idx].seg &&
+        if ( !ioapic_sbdf[idx].sbdf.seg &&
              /* SB IO-APIC is always on this device in AMD systems. */
-             ioapic_sbdf[idx].bdf == PCI_BDF(0, 0x14, 0) )
+             ioapic_sbdf[idx].sbdf.bdf == PCI_BDF(0, 0x14, 0) )
             sb_ioapic = 1;
 
         if ( ioapic_sbdf[idx].pin_2_idx )
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index b894851ebf..b788675be2 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -323,7 +323,8 @@ void cf_check amd_iommu_ioapic_update_ire(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
     struct IO_APIC_route_entry new_rte;
-    int seg, bdf, rc;
+    pci_sbdf_t sbdf;
+    int rc;
     struct amd_iommu *iommu;
     unsigned int idx;
 
@@ -335,20 +336,18 @@ void cf_check amd_iommu_ioapic_update_ire(
     new_rte.raw = rte;
 
     /* get device id of ioapic devices */
-    bdf = ioapic_sbdf[idx].bdf;
-    seg = ioapic_sbdf[idx].seg;
-    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
+    sbdf = ioapic_sbdf[idx].sbdf;
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
     {
-        AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %04x:%04x\n",
-                       seg, bdf);
+        AMD_IOMMU_WARN("failed to find IOMMU for IO-APIC @ %pp\n", &sbdf);
         __ioapic_write_entry(apic, pin, true, new_rte);
         return;
     }
 
     /* Update interrupt remapping entry */
     rc = update_intremap_entry_from_ioapic(
-             bdf, iommu, &new_rte,
+             sbdf.bdf, iommu, &new_rte,
              &ioapic_sbdf[idx].pin_2_idx[pin]);
 
     if ( rc )
@@ -369,7 +368,8 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
     unsigned int offset;
     unsigned int val = __io_apic_read(apic, reg);
     unsigned int pin = (reg - 0x10) / 2;
-    uint16_t seg, bdf, req_id;
+    pci_sbdf_t sbdf;
+    uint16_t req_id;
     const struct amd_iommu *iommu;
     union irte_ptr entry;
 
@@ -381,12 +381,11 @@ unsigned int cf_check amd_iommu_read_ioapic_from_ire(
     if ( offset >= INTREMAP_MAX_ENTRIES )
         return val;
 
-    seg = ioapic_sbdf[idx].seg;
-    bdf = ioapic_sbdf[idx].bdf;
-    iommu = find_iommu_for_device(PCI_SBDF(seg, bdf));
+    sbdf = ioapic_sbdf[idx].sbdf;
+    iommu = find_iommu_for_device(sbdf);
     if ( !iommu )
         return val;
-    req_id = get_intremap_requestor_id(seg, bdf);
+    req_id = get_intremap_requestor_id(sbdf.seg, sbdf.bdf);
     entry = get_intremap_entry(iommu, req_id, offset);
 
     if ( !(reg & 1) )
@@ -515,15 +514,15 @@ int cf_check amd_iommu_msi_msg_update_ire(
     struct msi_desc *msi_desc, struct msi_msg *msg)
 {
     struct pci_dev *pdev = msi_desc->dev;
-    int bdf, seg, rc;
+    pci_sbdf_t sbdf;
+    int rc;
     struct amd_iommu *iommu;
     unsigned int i, nr = 1;
     u32 data;
 
-    bdf = pdev ? pdev->sbdf.bdf : hpet_sbdf.bdf;
-    seg = pdev ? pdev->seg : hpet_sbdf.seg;
+    sbdf = pdev ? pdev->sbdf : hpet_sbdf.sbdf;
 
-    iommu = _find_iommu_for_device(PCI_SBDF(seg, bdf));
+    iommu = _find_iommu_for_device(sbdf);
     if ( IS_ERR_OR_NULL(iommu) )
         return PTR_ERR(iommu);
 
@@ -532,7 +531,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
 
     if ( msi_desc->remap_index >= 0 && !msg )
     {
-        update_intremap_entry_from_msi_msg(iommu, bdf, nr,
+        update_intremap_entry_from_msi_msg(iommu, sbdf.bdf, nr,
                                            &msi_desc->remap_index,
                                            NULL, NULL);
 
@@ -543,7 +542,7 @@ int cf_check amd_iommu_msi_msg_update_ire(
     if ( !msg )
         return 0;
 
-    rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr,
+    rc = update_intremap_entry_from_msi_msg(iommu, sbdf.bdf, nr,
                                             &msi_desc->remap_index,
                                             msg, &data);
     if ( rc > 0 )
@@ -660,8 +659,7 @@ bool __init cf_check iov_supports_xt(void)
         if ( idx == MAX_IO_APICS )
             return false;
 
-        if ( !find_iommu_for_device(PCI_SBDF(ioapic_sbdf[idx].seg,
-                                             ioapic_sbdf[idx].bdf)) )
+        if ( !find_iommu_for_device(ioapic_sbdf[idx].sbdf) )
         {
             AMD_IOMMU_WARN("no IOMMU for IO-APIC %#x (ID %x)\n",
                            apic, IO_APIC_ID(apic));
@@ -690,14 +688,14 @@ int __init cf_check amd_setup_hpet_msi(struct msi_desc *msi_desc)
         return -ENODEV;
     }
 
-    iommu = find_iommu_for_device(PCI_SBDF(hpet_sbdf.seg, hpet_sbdf.bdf));
+    iommu = find_iommu_for_device(hpet_sbdf.sbdf);
     if ( !iommu )
         return -ENXIO;
 
-    lock = get_intremap_lock(hpet_sbdf.seg, hpet_sbdf.bdf);
+    lock = get_intremap_lock(hpet_sbdf.sbdf.seg, hpet_sbdf.sbdf.bdf);
     spin_lock_irqsave(lock, flags);
 
-    msi_desc->remap_index = alloc_intremap_entry(iommu, hpet_sbdf.bdf, 1);
+    msi_desc->remap_index = alloc_intremap_entry(iommu, hpet_sbdf.sbdf.bdf, 1);
     if ( msi_desc->remap_index >= INTREMAP_MAX_ENTRIES )
     {
         msi_desc->remap_index = -1;
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:35:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919363.1323853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuYyS-0004k4-GL; Tue, 18 Mar 2025 15:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919363.1323853; Tue, 18 Mar 2025 15:35: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 1tuYyS-0004jx-DE; Tue, 18 Mar 2025 15:35:24 +0000
Received: by outflank-mailman (input) for mailman id 919363;
 Tue, 18 Mar 2025 15:35: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuYyR-0004jr-U4
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:35:23 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b436743-040e-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:35:23 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5e5e34f4e89so10389368a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:35:23 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3147e9ab1sm874281966b.52.2025.03.18.08.35.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 08:35: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: 9b436743-040e-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742312122; x=1742916922; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=VbA/TOPKax/2KC9AZ0lOBx+5I41+mJzHDuasx5LoO88=;
        b=GonxgzbcWQJJBgKAsYbdNfiV0o6cSu+NKXjY7Pw+QbP0+GQLAAcaKiASCBhT11vEe4
         yfuUlPf3EgZ6uZ2DIHna8EW/fg8HHEEc/bVgetuqEtCBB9uvxGSsQr8wsXoK1S7swUUI
         JsTUGQLS7fH+hGIrCh5sf1UCXpRgnDmRzEDak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742312122; x=1742916922;
        h=in-reply-to: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=VbA/TOPKax/2KC9AZ0lOBx+5I41+mJzHDuasx5LoO88=;
        b=Eyq3DZwuAuixM5iuIgJJ2tZFAYDul/gPqPqqycSsMBwQ3vguf3L81W6ic0hMSPLAuT
         IFnWlxOaJFW8OQzupnT/SCWzibBiwNH8a7cV3lcr967cBDJIx3K8Pvb1Lg1CTRncxr6O
         eBuvkX2r9QIj9huYeO7SxG+O3+zeiyDdmOHiP4iP3KQrFFJcIdbhPRZN//N1rGuY/K0U
         DF6r12OmGZltFWIuo2vMEzqBDjtc5pr657XLO9HRhZbP4PlWUX4xfVuWvWn56On2f7/I
         ZsRImnMxIQrzI8/9N9uVbqZuYCVVgmSH2/3FcduFF2Zwu4kjM3CdWA9XnXcZ6AdpucHu
         XmbA==
X-Forwarded-Encrypted: i=1; AJvYcCWIXL5dWffbhA4gWq7HehfATsFFXQoi9xB664cYwvUg81VZkFkMrO28I1crVVIfI5xkoTb9DyvYLPY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6TH1Zx0+EmKIpGk7RnUrKfKjad2eAzlG+Jc/hsHIua6bH2Ewc
	geEVBKggz7F4MwcRAQJm1LVl4TZF75NMCITOPNaqd2hsDmFdHaZbB3qrde+f7pOGXiMxZgd88Lo
	3
X-Gm-Gg: ASbGncvIhVQJy0u51+gR3gEeuzX5KttiWfqQwP3yFuYCE3r4qEPgShZ5p7B6XjmFrae
	lDG4I8GuTxKJjFjTY1RtO+FEqT/VA/8+ySHdJdhsknkFxPysNpx3LxeHQlEclvhxwdHTJztMMjr
	S8a5cVpE6YO65pYB/RuoC5/bdn8LgvDDrZGffDMnpD+6gA7bQfeDvvTcIKNyGU1+Clw8PxUk5qs
	HCxWD+BmLlniMEkD7p9rIqUy5/7XljOOrrXK8WkH1zU0Izh/KKYQzclDhxQtKgC9riKimQ8XKvq
	Hjbhgqi+5dUumWS3J7l0YV9qCUeUX8GqpD/KSwaAMu8YCueMZZRYQxQ=
X-Google-Smtp-Source: AGHT+IHrhzjwOVCjw0zKLuy+yunJiyB2bcJv9CI8B+CSe1WIwOpGsHhvaeLuoEOK38iOTCNnLUP1vQ==
X-Received: by 2002:a17:906:da8c:b0:ac3:991:a631 with SMTP id a640c23a62f3a-ac38d448f16mr510192966b.34.1742312122199;
        Tue, 18 Mar 2025 08:35:22 -0700 (PDT)
Date: Tue, 18 Mar 2025 16:35:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 3/5] x86/xlat: fix UB pointer arithmetic in
 COMPAT_ARG_XLAT_VIRT_BASE
Message-ID: <Z9mSub1DgzoP71-v@macbook.local>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-4-roger.pau@citrix.com>
 <8ad59d67-02f8-415c-93a0-2361e920c017@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8ad59d67-02f8-415c-93a0-2361e920c017@suse.com>

On Tue, Mar 18, 2025 at 03:33:03PM +0100, Jan Beulich wrote:
> On 18.03.2025 10:19, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/include/asm/x86_64/uaccess.h
> > +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h
> > @@ -9,9 +9,9 @@
> >   * a secondary mapping installed, which needs to be used for such accesses in
> >   * the PV case, and will also be used for HVM to avoid extra conditionals.
> >   */
> > -#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \
> > -                                   (PERDOMAIN_ALT_VIRT_START - \
> > -                                    PERDOMAIN_VIRT_START))
> > +#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
> > +                                   (PERDOMAIN_VIRT_START - \
> > +                                    PERDOMAIN_ALT_VIRT_START))
> 
> Aren't we then (still) dependent on ordering between PERDOMAIN_VIRT_START
> and PERDOMAIN_ALT_VIRT_START? Would
> 
> #define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
>                                    PERDOMAIN_VIRT_START + \
>                                    PERDOMAIN_ALT_VIRT_START)
> 
> perhaps be less fragile?

PERDOMAIN_{ALT_,}VIRT_START are unsigned long, so this might work.

Note however that even with your suggestion we are still dependant on
ARG_XLAT_START(v) > PERDOMAIN_ALT_VIRT_START, or else the '-' won't
work.  I think I prefer my proposed version, because it's clear that
PERDOMAIN_VIRT_START, ARG_XLAT_START(current) >
PERDOMAIN_ALT_VIRT_START.  With your suggestion that's not obvious.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:40:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919375.1323863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuZ2p-0005K7-0g; Tue, 18 Mar 2025 15:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919375.1323863; Tue, 18 Mar 2025 15:39: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 1tuZ2o-0005K0-Tt; Tue, 18 Mar 2025 15:39:54 +0000
Received: by outflank-mailman (input) for mailman id 919375;
 Tue, 18 Mar 2025 15:39: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=l/Yt=WF=dornerworks.com=Nathan.Studer@srs-se1.protection.inumbo.net>)
 id 1tuZ2n-0005Ju-On
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:39:53 +0000
Received: from USG02-CY1-obe.outbound.protection.office365.us
 (mail-cy1usg02on061d.outbound.protection.office365.us
 [2001:489a:2202:d::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b229381-040f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:39:51 +0100 (CET)
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:195::20)
 by BN0P110MB2068.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:19b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.32; Tue, 18 Mar
 2025 15:39:26 +0000
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea]) by SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea%4]) with mapi id 15.20.8511.031; Tue, 18 Mar 2025
 15:39: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: 3b229381-040f-11f0-9899-31a8f345e629
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=b34jXU0JnZYACLsoA5De6RPujc9cdkUY+2bNfFip4ZvbUknPIIfhsus23XuJziKyYrGAcL7EJQWtwsWrBybhZr+C9m/lFRDanN234eMzRBpsbJIOSr0b9hd1POc8mWVnGVssxZ+5rD8rpdkhni1ljhIIpccYibceSwcEmxQxUE7vGnMZo4CZIwO9FxsJ7W19TqjV6iRM+c+pvT2LfHpaimMzvS6WwFsB1/Ge6YSMCOsFktz8p8OwfnqAPifGuCVcHj9H6eCiSPzDbpzO1ImSJwm5jEmDJnCDDoC9HjkTSCeExFuxhahKK94ygbgz4WZqqBYYsLEbWQA+1oalaaOqWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F3b561ubURSglaEGA8jGAZ/fGubCHDnLCjrFm1MgkQo=;
 b=EBxq7KbjnZDT2BXuTDUqKjBZp+3X1CZt0yyIZWNAp1i/98ptdTRrja5DAIqFNMmWNWudfLFKgbkSl38r9lijxCgnbqcK+8FX7/TfTnxgdt5/G9KxpekWe5vQeo+cuvEHp834X5WdIYfxQ3Ix0fvWfKSy7eg/1/XpVzfPQX9P4kZSXRknubswXDU+mWBpG+L5/G0CPYjFxzrUaQ5U5BH7P+04gBU/CDPvjndVomh1uPUe7FUQ4NEQd8qGIXjBsavv20eM0BBSM0DMHML4VAkZtusz4MVsu6KoGvTeLVbHcWEFFCCay+iomtj4LtW7p5jSrheu4urvEEyCb05r83raog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=dornerworks.com; dmarc=pass action=none
 header.from=dornerworks.com; dkim=pass header.d=dornerworks.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dornerworks.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F3b561ubURSglaEGA8jGAZ/fGubCHDnLCjrFm1MgkQo=;
 b=KTYb1/WejZnGV0cwHlKjqcegNPgyXM//T8u2T9prNIGxP2GtmHF3nT4TcsYTSkFpzKZ3BIPEheb7SoexVKHdToKxNd77TF/lKlL3kcRGrD3NFrZOPMJR/QRrZF4TBaXzHj8TaqERGXu4GgKntyCMsVGanJuJn5tPdT36nId5OkfPKT8w5PoFpq4yo8ao2aZImqtoMuueGkAgvXXQq5/aegxJUO5i1FjQQhdi0Sl5I3UTUdPhZdcM9mb8kpLeUEhZeZ+T0jYWXC6/eTg7AqwVG61wmhdlkpmIABxOkbm5PnnjhmzlxJaP2qIuUXwxtaUnYr+ZF5EApvZKfqXIzBSFAg==
From: Nathan Studer <Nathan.Studer@dornerworks.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart@stew.dk>
Subject: RE: [PATCH] arinc653: move next_switch_time access under lock
Thread-Topic: [PATCH] arinc653: move next_switch_time access under lock
Thread-Index: AQHblx9ZXx8iZV2D30elmjmYWo3xErN5ANvQ
Date: Tue, 18 Mar 2025 15:39:26 +0000
Message-ID:
 <SA1P110MB1629AA9DFAFE89C65248401DF4DEA@SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM>
References: <d8c08c22-ee70-4c06-8fcd-ad44fc0dc58f@suse.com>
In-Reply-To: <d8c08c22-ee70-4c06-8fcd-ad44fc0dc58f@suse.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=dornerworks.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1P110MB1629:EE_|BN0P110MB2068:EE_
x-ms-office365-filtering-correlation-id: 07be1752-d6f2-41ed-4b36-08dd663310a6
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|41320700013|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?Q2hZN0NSRUxyQis5Wm41Ukd4ajkvSGRCNi9FVHFPWnVzL29BSExPcFF5M0Jy?=
 =?utf-8?B?YWdHRzBpTHNGN21zRzFpZmNMNG4rellLUE9VVElpOVNPcFBZbzFURDFVNHhp?=
 =?utf-8?B?TjBzZGFhR0tLUTBzWVJiU1JrUzEzamt4N1doY1k0OU8yWHVabmQ5OEFvOEh2?=
 =?utf-8?B?bUQ3dzhQUW8wRVcrUm9CQXVMTFZiZUYxTmg1NlJRZFkrQ3lnYzJycktsNmk5?=
 =?utf-8?B?YXJQL3lxNGZKbTlnT1lVTzNPMWhBdWJoaFBFeVYweUl3bU5wdmMycFFpa3pl?=
 =?utf-8?B?WUFmZGdTV21QZkVhaHJxUU9GVXh6SHBkUFBHRnBMWHAvSkhLUys0V0NoUlJt?=
 =?utf-8?B?YnZRSjBDWkp0VTJRQlErTEJYblpuK2NyZ0U0Tzg1d0hMQjBYblFWOFBBN2dG?=
 =?utf-8?B?YVRtSmIrTHFQOEt6RkYwelNqNzRZV1Z6aWVXYkxQenRmWkFyTlVDQWtMTDlq?=
 =?utf-8?B?ZzI3Qy84M0poMy95c2s4WlpLL250QW1vZmkxQktxR2p3SnpVR0NNaUZxVWxz?=
 =?utf-8?B?WE9sWXVKWnlGaVRHYmlDWTdXeHc3UkpaRkFYak0yVm9hNGloRHYxMFgyWlNE?=
 =?utf-8?B?N3lYRTVRTEU2bmVrMmJHL1BZTXNpMU9zTkhzQnVTMHRPOWpNNnoybk54bXph?=
 =?utf-8?B?RU1MZTNhaXFTa04vYTFib05FN1dFZXEycXVpWFZ6cEdmMHFHNzJHYmd4T0dF?=
 =?utf-8?B?NlhJbjJKUDlCOHJGdGNsdFVPdUQyREpiR1NyNlFIbHlkWkZxd0Z1R2QwNnI0?=
 =?utf-8?B?azJrVThRZDlqRmhzcGRHem9VYnpzaWxaMzJEYmxqZFFUY3ZacTdvVE82T2xa?=
 =?utf-8?B?dzFwV1R2SGFaZ2NjeG1rdCthQjRKOVdIN0t6RU1lSkRTU1ZQMFJpMnFuNUtM?=
 =?utf-8?B?QjVORGk2Uy9nek51R3NXRXJYVVp4bzU0KzZ5NHAxazRVYk53S0xlQzZ5K3lO?=
 =?utf-8?B?NGswNFZ5c1U0OE9nQ2pJQ2gvSTQ2eDh0bEc5a1AyekROM09FbVdKd3ZEOVF4?=
 =?utf-8?B?Yzl0N01pWHlDVjZLYzhLL0puRGZqZURYZnRpdGE3ZTBtaXJES1V6aW1WTldU?=
 =?utf-8?B?am9SUm9yM0o1cGYwaVpqTDUxR2cxYmJtUjc2S0JORlhRMDhNd3B4WmVrN3l6?=
 =?utf-8?B?NHd3RGFQS2lkMlRjQngzZTRqVzhDL0ZGc0lhblFGNFhtMlM2NUNSMG9xbWdI?=
 =?utf-8?B?VndyNWlrTlYyL3R1cDhMdXpaT2RXaW1IaU1ySC9NMkE5NmFNTmIvckxsWWJS?=
 =?utf-8?B?RmU2b0lEZ1RiZjdJVWxpOFBVRUhzdGVFZ2JqQkNxZ09ONzRsQzM3ZXJacnhD?=
 =?utf-8?B?bmNBTUlKSUs3VmNucUR1cEYycTNYQ1lDNjZSWFZHbzhsQXVON3laUHkyVEVC?=
 =?utf-8?B?RUxxZldQNnpaOGE0UUl2RGFOcEZnTTB0SjhpTVQyb291NmNUYVVLTHUzNWVG?=
 =?utf-8?B?V1FtSDFLSUZ2aTVFZWIxYk93NlBHVjhOekVnaE05SGdaNWI0UndNR2Ivc1li?=
 =?utf-8?B?MlNubm5NUGxET0lBL2F2NEhVMlRZdzBTUnYvV1dnN1ZtSVFLZGNieEdDcDZi?=
 =?utf-8?B?ZGRnSFJBcDdlVVZrbHdybzhzUlJvak90UlV1UkJWRkExR0dEaVd6L1Zqb1Vp?=
 =?utf-8?B?c1hQZjV5N2s3NGY1Nld5T3c3ZXdyUlFwTWF4ZW43dCtUOXQ3eUpCYUt1bjRM?=
 =?utf-8?B?Q3ROaHRRL0c1NUxQRmd4bXdPTTNkVVdjVmRxeHAwVWVRM3o5YkpJNThjZGYr?=
 =?utf-8?B?NERhMGxhTXM0Zk1SeWFYZFZFR29hWGdDSVdYNk1oZXhxdjc3Vi9kZzNQVW5p?=
 =?utf-8?B?RXp5N2ozZ1hodStJMGYwSjM5bVpkQTVuaWJwSTFTNjRIYzNRcVZzM1ZUZ1ZV?=
 =?utf-8?B?SENmT2ZDM2JiVGRIN0NMekxId08xWHpOOXkvZzZMZmtLMlBpZkxGNlkrSjBW?=
 =?utf-8?Q?mWbTR8Z36AMb4bkitEZz6eGeT0ZliiaG?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(41320700013)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Vkc3OFdHbitxVy83UUhzbTU3VjhSZzZncWYrQnlMZ2N5cnN1S3ViMjQyS0d5?=
 =?utf-8?B?eEtkdXV5YXp2TTdQS2dGY2I0cGRVdUUreGpLUzdxVWY1SFo0UGRFT1dBMU90?=
 =?utf-8?B?T0NyV256VGtWOXZGSFZMV2ZRZWkrTXRLOCt1SkJJNWlneHgydHhDSWx1N2g2?=
 =?utf-8?B?ZnRGQmJNait0VUx6VTlOZHp5NWk2KzdKV1E5SEpuM0YxVU1qQnZaVC9GVjhM?=
 =?utf-8?B?V0paNUVQVTRySGxGQTlXd2lQckllNGdjS3MwRndQS0pSQ0ROd2NDV1ErNlRS?=
 =?utf-8?B?aHBrOVFZM3J3eEhia0VmcXhEanFLVUJNMVZWUmw2UEZyMVJINXpKb0x6Y2ho?=
 =?utf-8?B?TkVZN213ZFRmV2JkK0wzZ3JWdTNQVXFWdGpGTU04K3VKM3dsVStkeWZiclBZ?=
 =?utf-8?B?MEdxV2pxTk1IN0FQd0JzdERSVTN5V3dtb3BUR09tUi9VQjZNZm56Q3pyV2pI?=
 =?utf-8?B?Slg5TzVKOStWZGhRK0dvaUVNbUpsaTVSVGowaVR1dXE1NTVZTlg2aWMrY1c2?=
 =?utf-8?B?SDZMN3M0SnlCYlRTNXNIUnp0dDEvam9Ib3pzNEJkNWJwR3IvR1Evend3RDkw?=
 =?utf-8?B?SWJVWEYxdzlkMEd3THM1ZE9UVUlLVWtaZGt1N3l2NjN4S2llN2RpdmtpKzRw?=
 =?utf-8?B?dEdIZW81blZ3YmlrVElvM3U0ZGhxbjBjaVJ0RFRzRElMVG5QYmlrNnRMbmlx?=
 =?utf-8?B?QjFFZ0RpYk56WDR1N2JDVHdDV0JlMXJqWDMzSEhwdUdGK3VROGZ5a1A3cHJX?=
 =?utf-8?B?LzREaEdpMFNtNGNuU3drZUZUTk15aDRpdHRWQUl2ZWpXSFdsci9mSEFQYzBK?=
 =?utf-8?B?bFI1ZlpValcrTElNaGhwTmtzVzZHZ0d5VkdUT0EvaEIxOHJibHRBQnhmM05G?=
 =?utf-8?B?bTJPc3dKckE3UmFWd2tkeUlpYWoyYWhCSW56cC8xaytyblNXNkM3VlhVSXdG?=
 =?utf-8?B?RVRjYXNiU3d4Njk0bUY5NDVwOVZ0TmdkRVo1OWd4U1B6YzlUeXpmRFhnN2Q3?=
 =?utf-8?B?OEpnOTZ3bkZsQXc1Qm9wUlJCRjg3QzFHdEhuSnVPOHlYTG9SaFBxVHY3OUJE?=
 =?utf-8?B?NVllMkRZSmJycGtyM1JxRVEvN0N0Q2V5UTh0dzVoUmJhMjJEejNpUTF5OTBm?=
 =?utf-8?B?cDZhTVpGd2Yrd0RVMi9UeWRaR2VSYy9Nem1peVk2TWdpenF4aUVNOStRNURr?=
 =?utf-8?B?Zkl5NWROcjc4T2hyVUFrRWRTMmZ6aWkxeXhKMncrSXhlUWQyajRtK3Raa0Ni?=
 =?utf-8?B?dVdnMHlLeVFSakJ6ZEZST2pqVmRlUUdSQnk3aEYybXhwT1F1T09qZTBEamtG?=
 =?utf-8?B?enBjbDh1eEZnR2lWTysxZEEvVXBiQXlDbXpWbkNPSTdWdlFENzlqcm53bXYy?=
 =?utf-8?B?aGhIMXFoY3hMOVVaQTJ2RUhYZVcvbEMvWU94RGZBdkJNeEdGdm9ONHRQSUs2?=
 =?utf-8?B?dE1TN25DenkxdkZrWFhYMnVFU0EvSmt5V2ZmS3YvRk5PSTdqQVRCUExxZ1lw?=
 =?utf-8?B?ZTdUbnVhWVJjTlY0NGZtZS83RUNFSnVXaDBKWCt5NjlUcXIyR0FOVkg2Qyt0?=
 =?utf-8?B?WjEvTExxTVVhS3U4VlhOUGxuWlVidHZXSEpKUzIzc0xsem9vYm43c2hQdDZx?=
 =?utf-8?B?YzlXd3dvdE41QS9Eb0hNL0tYcTZYc3c0Y1N6M1dNSk9QS1JDZlFBRkpycnVP?=
 =?utf-8?B?STZlNy9UdnYzVzBkQVpoaHhBMFVmajJ3bjc4d1FpQ2dWY0F6emZKWk92a0x3?=
 =?utf-8?B?REpNZFRsNlhrZXhnUUJDUnNlemcrTXFyeS94VlZPRTFUODk4T2l3b1llSTdj?=
 =?utf-8?B?WDRvQ1JaUzFGdDRmQkhQdG82YzJFaUwvVnIzL1hpWFJ1Y1R2ZnVyT1lEcTli?=
 =?utf-8?B?dVdRSzFFbTFQQWNRMW5PN201RURLaTZVbXNhRnhWUXJMSGJWRDBKbWo0Kzh4?=
 =?utf-8?B?MkhnU2d2M20zU0ptWnJwWCtWSzRDN1phVjFSRkQ1WFFRUFF5MU1RVXFwSFY3?=
 =?utf-8?B?WXMzZHVlM3ZSQm94UXRWVks4RnljQVMrRVkwOVdKRnVseVhPaGxuYWd5TXNS?=
 =?utf-8?Q?2UgAir?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: dornerworks.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 07be1752-d6f2-41ed-4b36-08dd663310a6
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2025 15:39:26.4707
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 097cf9aa-db69-4b12-aeab-ab5f513dbff9
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB2068

DQpPbiAxNy8wMy8yNSAwNTozMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEV2ZW4gYmVmb3JlIGl0
cyByZWNlbnQgbW92ZW1lbnQgdG8gdGhlIHNjaGVkdWxlcidzIHByaXZhdGUgZGF0YSBzdHJ1Y3R1
cmUgaXQgbG9va3MNCj4gdG8gaGF2ZSBiZWVuIHdyb25nIHRvIHVwZGF0ZSB0aGUgZmllbGQgdW5k
ZXIgbG9jaywgYnV0IHRoZW4gcmVhZCBpdCB3aXRoIHRoZSBsb2NrDQo+IG5vIGxvbmdlciBoZWxk
Lg0KPiANCj4gQ292ZXJpdHktSUQ6IDE2NDQ1MDANCj4gRml4ZXM6IDlmMGM2NThiYWVkYyAoImFy
aW5jOiBhZGQgY3B1LXBvb2wgc3VwcG9ydCB0byBzY2hlZHVsZXIiKQ0KPiBTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IC0tLQ0KPiBUaGUgRml4ZXM6IHRh
ZyByZWZlcmVuY2VzIHdoZXJlIHRoZSBsb2NraW5nIHdhcyBhZGRlZDsgSSBjYW4ndCBleGNsdWRl
IHRoZXJlIHdhcw0KPiBhbiBpc3N1ZSBoZXJlIGFscmVhZHkgYmVmb3JlIHRoYXQuDQo+IA0KPiAt
LS0gYS94ZW4vY29tbW9uL3NjaGVkL2FyaW5jNjUzLmMNCj4gKysrIGIveGVuL2NvbW1vbi9zY2hl
ZC9hcmluYzY1My5jDQo+IEBAIC01NzksNiArNTc5LDkgQEAgYTY1M3NjaGVkX2RvX3NjaGVkdWxl
KA0KPiAgICAgICAqLw0KPiAgICAgIEJVR19PTihub3cgPj0gc2NoZWRfcHJpdi0+bmV4dF9tYWpv
cl9mcmFtZSk7DQo+IA0KPiArICAgIHByZXYtPm5leHRfdGltZSA9IHNjaGVkX3ByaXYtPm5leHRf
c3dpdGNoX3RpbWUgLSBub3c7DQo+ICsNCj4gKyAgICAvKiBSZXR1cm4gdGhlIGFtb3VudCBvZiB0
aW1lIHRoZSBuZXh0IGRvbWFpbiBoYXMgdG8gcnVuLiAqLw0KDQpUaGlzIGNvdWxkIGJlIHB1c2hl
ZCB1cCB0byBpbW1lZGlhdGVseSBhZnRlciBuZXh0X3N3aXRjaF90aW1lIGlzIHNldCwgYnV0IGhl
cmUgaXMNCmdvb2QgZW5vdWdoLiAgSG93ZXZlciwgZGlkIHlvdSBtZWFuIHRvIHB1dCB0aGUgY29t
bWVudCBhZnRlciB0aGUgYXNzaWdubWVudA0Kc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2U/DQoNCglO
YXRlDQoNCj4gICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZF9wcml2LT5sb2NrLCBm
bGFncyk7DQo+IA0KPiAgICAgIC8qIFRhc2tsZXQgd29yayAod2hpY2ggcnVucyBpbiBpZGxlIFVO
SVQgY29udGV4dCkgb3ZlcnJpZGVzIGFsbCBlbHNlLiAqLyBAQCAtDQo+IDU5MCwxMSArNTkzLDcg
QEAgYTY1M3NjaGVkX2RvX3NjaGVkdWxlKA0KPiAgICAgICAgICAgJiYgKHNjaGVkX3VuaXRfbWFz
dGVyKG5ld190YXNrKSAhPSBjcHUpICkNCj4gICAgICAgICAgbmV3X3Rhc2sgPSBJRExFVEFTSyhj
cHUpOw0KPiANCj4gLSAgICAvKg0KPiAtICAgICAqIFJldHVybiB0aGUgYW1vdW50IG9mIHRpbWUg
dGhlIG5leHQgZG9tYWluIGhhcyB0byBydW4gYW5kIHRoZSBhZGRyZXNzDQo+IC0gICAgICogb2Yg
dGhlIHNlbGVjdGVkIHRhc2sncyBVTklUIHN0cnVjdHVyZS4NCj4gLSAgICAgKi8NCj4gLSAgICBw
cmV2LT5uZXh0X3RpbWUgPSBzY2hlZF9wcml2LT5uZXh0X3N3aXRjaF90aW1lIC0gbm93Ow0KPiAr
ICAgIC8qIEFsc28gcmV0dXJuIHRoZSBhZGRyZXNzIG9mIHRoZSBzZWxlY3RlZCB0YXNrJ3MgVU5J
VCBzdHJ1Y3R1cmUuDQo+ICsgKi8NCj4gICAgICBwcmV2LT5uZXh0X3Rhc2sgPSBuZXdfdGFzazsN
Cj4gICAgICBuZXdfdGFzay0+bWlncmF0ZWQgPSBmYWxzZTsNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:47:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919450.1323889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuZAX-0000sb-3H; Tue, 18 Mar 2025 15:47:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919450.1323889; Tue, 18 Mar 2025 15:47: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 1tuZAX-0000sU-0f; Tue, 18 Mar 2025 15:47:53 +0000
Received: by outflank-mailman (input) for mailman id 919450;
 Tue, 18 Mar 2025 15:47: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuZAV-0000sO-Gb
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:47:51 +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 5830397c-0410-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 16:47:49 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3913d129c1aso4667729f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:47: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-395c888152dsm18203326f8f.48.2025.03.18.08.47.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08:47: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: 5830397c-0410-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742312869; x=1742917669; 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=xvFP1VOQ0uJ3OoXJHEUvYPg0Uqb03b0gd96RBDNksgM=;
        b=aFJ3tVBrzxLZvjT70PA9NbLsFQPGvHK8qua7S15udTW4tt4djN6AEBqWMM6yCp6GaK
         uiDOcN1HuVWzwhaBJ03yl++q8xULavvKq6kXWbb7BqE0T7oTY+iyQa2zzNUTLxqnB/E9
         bS6PwUko4VvC7xloqO5NMveF5R3fAN3emmVMQt1BahWkjR5JcrhQ5iLFjuuGILa9RAYW
         WvO4CH0oFkiwmlU9UsRoY9xWXe0mV8dKFmfmvLHTs+rVwU37Tr3jPdQE9mkKKaCrZ6tF
         QUlASsfkqGc5sKG8GeINdKEJ3tWewH43HHHCTGldGo6rU5rBmGzZpNkFlZZBaKqEtGBO
         AGDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742312869; x=1742917669;
        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=xvFP1VOQ0uJ3OoXJHEUvYPg0Uqb03b0gd96RBDNksgM=;
        b=LLg6jgH254umZLUv/3BIa32IBuJwB0DmEZhBV6tRCOvVLsiEkarvp9mZsNI6I/9VEN
         fr93rW7Yrq3uAf+3W6bVg6JlK/6E7bbvYR+wB+lxaT7YWWbexbYxFUEaRkx5KPVpd5WK
         IbqmNFbs4bwN/qfRz+4TvDxnvL9sTp7G85D82MkrGu9rJ2Weuo9F1qLD67rOtgBXyHDB
         +aCM8uS9VL4p68LD6uHBO0CCajF1Oknnvv/eJi0kYIhXkNX8rNABRoBVPg/rSqP+1z5r
         kndwhCbqrOjUUQUkNftHQA5oY0KFOlQol8OUDzOr6eEgW2HavPEPcD5H6Tklf3NyfLGk
         5W9Q==
X-Forwarded-Encrypted: i=1; AJvYcCVcwnIr9dZvFzgVfC2oBu+o/E507JjHq7el57jYPs9uQLQCpg4JaqZO++BDapKcq19bBT0q625oU78=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyY3YmsbzcevKp8XvbNRFFt/yApP7ILvLOeX2A5RS1Nede97m7p
	5/g0Qs5O+l0tyiPtp+gLZoorJKYBSf1wtqiWx3dCBCThj9YQ39q1YzUR0kfebQ==
X-Gm-Gg: ASbGncuPH8UvlDr6u8HZTGCIDUhC1ig7BxK3711O8HKTiGQHkWMJLaUUk8/bOpReNAD
	Es5Y4LxvNkdSb2LYoUy+mdk/Xot7Uz/JR53//agpFYDb0ZEuhmEbAh6Q+ddrHj4ov+zAOPOwyx5
	pOnVUI/SlurzHqL3ujss+fk9E2ylYJ36I9lbJoe/BTTYmroAWqpET7u/bL7WuQLJBI1O7O4JIiE
	CI7eYAHK2mDdrqAIIBUnlVHRlpABhWtvmcTMQ53dUfEru5TYaZDl3ZCNiVnhSCOhkWJPDvtN52F
	YL+wW61I/mjI1TAGNvOVBt/H9e9ccQrBuTqk3XlV4SKs5wAHzqrslRgqOAjWgljAmbKoOKuCbNv
	PVRh20LoHbG0CMFpHJaKMfuQvRCr0k8s57x14wh6a
X-Google-Smtp-Source: AGHT+IE2FsX+ai/N/HxGyKmS6yM/CfSX+9ICe0NwwGDvmKimh7Uei4qoXpnJxugOLnRiBYOTV0wwvA==
X-Received: by 2002:a05:6000:18ab:b0:38d:dc03:a3d6 with SMTP id ffacd0b85a97d-3996ba46aeemr3654770f8f.4.1742312869042;
        Tue, 18 Mar 2025 08:47:49 -0700 (PDT)
Message-ID: <699ce0e4-93bb-484a-8ffa-881adaa9ccd5@suse.com>
Date: Tue, 18 Mar 2025 16:47:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arinc653: move next_switch_time access under lock
To: Nathan Studer <Nathan.Studer@dornerworks.com>
Cc: Stewart Hildebrand <stewart@stew.dk>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d8c08c22-ee70-4c06-8fcd-ad44fc0dc58f@suse.com>
 <SA1P110MB1629AA9DFAFE89C65248401DF4DEA@SA1P110MB1629.NAMP110.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: <SA1P110MB1629AA9DFAFE89C65248401DF4DEA@SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 16:39, Nathan Studer wrote:
> 
> On 17/03/25 05:31, Jan Beulich wrote:
>> Even before its recent movement to the scheduler's private data structure it looks
>> to have been wrong to update the field under lock, but then read it with the lock
>> no longer held.
>>
>> Coverity-ID: 1644500
>> Fixes: 9f0c658baedc ("arinc: add cpu-pool support to scheduler")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> The Fixes: tag references where the locking was added; I can't exclude there was
>> an issue here already before that.
>>
>> --- a/xen/common/sched/arinc653.c
>> +++ b/xen/common/sched/arinc653.c
>> @@ -579,6 +579,9 @@ a653sched_do_schedule(
>>       */
>>      BUG_ON(now >= sched_priv->next_major_frame);
>>
>> +    prev->next_time = sched_priv->next_switch_time - now;
>> +
>> +    /* Return the amount of time the next domain has to run. */
> 
> This could be pushed up to immediately after next_switch_time is set, but here is
> good enough.  However, did you mean to put the comment after the assignment
> separated by whitespace?

Oops, no, certainly not. It was meant to go ahead of the assignment.
I must have been benighted ... Moved locally.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:49:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:49:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919461.1323900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuZCA-0001Oi-Ee; Tue, 18 Mar 2025 15:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919461.1323900; Tue, 18 Mar 2025 15: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 1tuZCA-0001Ob-Bh; Tue, 18 Mar 2025 15:49:34 +0000
Received: by outflank-mailman (input) for mailman id 919461;
 Tue, 18 Mar 2025 15:49: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuZC9-0001OT-SX
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:49:33 +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 95c40d8a-0410-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:49:32 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so19525945e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:49: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-395c7df320csm18319266f8f.7.2025.03.18.08.49.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08:49: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: 95c40d8a-0410-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742312972; x=1742917772; 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=8vFv0hB8RegVmIY/Y+dmetmqzUdJsxXaL+cchkdgGkk=;
        b=VuFGv28eN2fr3AN2PUGWGdHO8eXNqDUO7nAU7NC7Ldv1yJjGpisX888H6YQG66PcFy
         gHtn5xJ4o7OCydlKx2BWiKLufPvLaTRHv+rEAFei8vgeVywoI8e1ErZGqXKFH2W8tw2G
         g2jS1i/3VMeMyASlyN9gUuAV34JN3LCJ5+UAJb87t+SzeRJ66Ppw2Ej0DcfoZNINexXH
         cou0qYOtlPDQlhWoGqC4EingOHQNKdLCzmwmHmH5qmMEUMCGDGNK5CQ7z+98IyBd4wJP
         S4z5Gnc0N67d+lMA3GShXL14dVgSq4E1GSKg58m0GZiDUWBpO1suBndDOz1EPIuz5WSZ
         9h+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742312972; x=1742917772;
        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=8vFv0hB8RegVmIY/Y+dmetmqzUdJsxXaL+cchkdgGkk=;
        b=YhBUn8e74HHVPikeAjAIVrW59stQp3py11TE0wf8zflPZeqDhQFRBvyOPOMu1kWJev
         3batqtmySrAJFxm4YD8CJcaEEmE4+MEHoYq9qkv9id5vDOmFBLnSBPvUGMhN6+JxTFxi
         bd01eJ5D8TUAiyXwMFBFEG8PKlY0/tKKo6VgzooAVLbTEZZU+jNgfmwoCWHncxngMf8s
         sF+1uNL/RNWDPPA62xXT4X/giAjLG/jBStEYz9v7t3bcNV1Sm8fIv3ENcllsn13App3b
         8z/b+lJ6P7gLqPsVUXWrO91sVj1S7a/OKBaZiXwrh+VZvnjwxKOvnxYh89FNB07B9a29
         +2PQ==
X-Forwarded-Encrypted: i=1; AJvYcCWmw1yRnKqsjlyTwatO+P5Uf2Hp7skWYllxvidRWPmKWFZ15PiiMDBrrdnljawX5VorTvRTqwP8qQg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyRmlmtb2nBB7IV0ltuUXqlZJLUKmLu/sFiU1TWRgivq2jLYvI0
	4+l/Ms/6cbtwsSQ/wobhM++YKrQJ72PepVGLgrNJSbgSxOXcYLKVTFDwaSJh7g==
X-Gm-Gg: ASbGncu395p6tEHpivZzdhkGk+QegAkfPIHPNvAKnWVIOxLnTaaah5AxFRtDP5sDkhq
	VSAx6xwz5daPZM4kDn22p6j7F6m6yx18KCzqmK3vVK8pyGxwgsfuCNjzjWaQV8XRN/n5JbOUCFB
	jUMdyFApB6HW8oG9QZIhrSIVmOsgBsUfSajaiN8SXNVqGSLhXbjB2foT7ahgA0/GOCozqtDN22W
	Ixhvlgde6gS3CixHYaSGXSYzTGibYfvxSQJjFeQFFwhJkS6dY4ZuF7awSjVQNt83tCpt5CgN46Y
	FdATjf8Moud7GzbI8Sli5rD7kioV77pMIQdVoGCp+xix7yz/4bKDbYPWsKTCapVJ0VhkE2sE9x8
	Vs10qssMT2zt9nT5kSXOQuhnOuUH4a939/RcAxreT
X-Google-Smtp-Source: AGHT+IGnlqL320Ve3m4QvufVQcMrZxf5/XsfK8AqfCVt6uLqre0iUCCBea6i0DTTVCRv5ndJCcxfFw==
X-Received: by 2002:a05:6000:1868:b0:38d:b52d:e11c with SMTP id ffacd0b85a97d-3996b94b920mr3230505f8f.15.1742312972203;
        Tue, 18 Mar 2025 08:49:32 -0700 (PDT)
Message-ID: <749b27a6-3079-438e-980f-14d0eb5241b9@suse.com>
Date: Tue, 18 Mar 2025 16:49:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/vga: fix mapping of the VGA text buffer
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-3-roger.pau@citrix.com>
 <cc882f93-b5d0-45ad-bb2a-1c6b9455509b@citrix.com>
 <f2fa59b3-83cd-41e4-a921-5c6eaa89e759@suse.com>
 <Z9mRu3JCwgffgEKd@macbook.local>
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: <Z9mRu3JCwgffgEKd@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 16:31, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 18, 2025 at 03:28:32PM +0100, Jan Beulich wrote:
>> On 18.03.2025 14:11, Andrew Cooper wrote:
>>> On 18/03/2025 9:19 am, Roger Pau Monne wrote:
>>>> The call to ioremap_wc() in video_init() will always fail, because
>>>> video_init() is called ahead of vm_init_type(), and so the underlying
>>>> __vmap() call will fail to allocate the linear address space.
>>>>
>>>> Fix by reverting to the previous behavior and using ioremap() for the VGA
>>>> text buffer.
>>>>
>>>> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
>>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>>
>>> This is somewhat ugly.
>>>
>>> ioremap() isn't really any better than ioremap_wc(); this only works
>>> because plain ioremap() has a special case for the bottom 1M where it
>>> does nothing and exits.
>>
>> And this is exactly why I screwed up back then. Imo we would be better
>> off moving to using __va() directly here. Otherwise the same mistake
>> could be made again by someone (perhaps even me) noticing the less
>> efficient ioremap(), when ioremap_wc() really would be wanted.
> 
> I can switch to using __va(), that's fine.  I guess we should then
> remove the special casing for the low 1MB in ioremap()?

I'm not sure we can - DMI and ACPI might use that, and who knows what
else. But of course if you're sure nothing depends on that anymore ...

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 15:51:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 15:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919476.1323910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuZDZ-000370-SX; Tue, 18 Mar 2025 15:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919476.1323910; Tue, 18 Mar 2025 15:51: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 1tuZDZ-00036t-PA; Tue, 18 Mar 2025 15:51:01 +0000
Received: by outflank-mailman (input) for mailman id 919476;
 Tue, 18 Mar 2025 15:51: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuZDZ-00036i-5n
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 15:51:01 +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 c9b88eba-0410-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 16:51:00 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so35772575e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 08:51: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-43d40fe4dffsm1123135e9.40.2025.03.18.08.50.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 08:50: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: c9b88eba-0410-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742313059; x=1742917859; 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=gW4RLbBaHdp0ERmcz6xbcoJzQqWddkaGXditgrLANb4=;
        b=Z833ZlTzATG/huhoOFEtkDQh+twYdqDVXXULpL51CN6ZKHHrBn6X67ukCrzvMZbLk3
         83z+K8BfIwAY/tRFEIwqCArxbS2ylwChz3GuXtsLC7FV4iT6hMmL4i/rcV9xzODErHBQ
         w2IeBu5qshzms+lC1K1P+dXee9TQ4TWvNrDBbPwOLoUzj4SMKbGSq5ntmjcWG16ALrm4
         XBjSSaxi+MTsJ9bmJ2It52dSepuIHNGnhY6qNuFfUYMgqOLTrBY8QPCq19d2EKdfuBu8
         V6JXiiapNVCUQGNUdZX3oAaeLSbb3rWk7LSNvVmpvfwHvVP4fZ8vlH1wTl7dQDgaHsSs
         ouGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742313059; x=1742917859;
        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=gW4RLbBaHdp0ERmcz6xbcoJzQqWddkaGXditgrLANb4=;
        b=r0oZZJxdzsU0cjLqjUUzGWx0M5M430ONgrQyC/75G1cFkH2AMep9KJhhlBHp6nrSkq
         Wf7F6/OlEkehC9OlzxX+xGGbzDnotOzr9n+EkOi5xm0f9oBUmOEwnnHyE5tB7cYXeqCP
         DDyr9mTPKNIzLD29T69JUIl61XS59dTYoXLWUz/YDcnKSR3j3TCZoNjZkUcVUXvMhILd
         WFHy10IOjxmlmEhORwAvGzIvCetGY4ZlyObaKIgf68MrXJ1GlwFzT0h5PwV3QWk4+BlT
         bXTtDqYgUfha5uRuTXlsmtZgdqfYkt5VTOkNW+D+c8Q74fbhkIkRgCHNiOdl3s3o87SQ
         oe0A==
X-Forwarded-Encrypted: i=1; AJvYcCUOBiyWjJR7TvjhlPbmH/Zg1OMT8xU7h3jt2y8JtTa8gUGxTw6OZqS3/j0rY4sloLx+uGKzVK+nY/8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUWYRW5qKNa+92XyCZioPNWin3IdZ6RVco+qScyHVPn/DfvjfF
	Ao+t/q28psM/NvZKcsnmJd8hF0hSj+yhhe1MeRLdJ57Kg3XdyAje4Fc9IVj5gvfAonGDlObjmcA
	=
X-Gm-Gg: ASbGncvh1U1yI+hxbdDF1NpL6q2sU0vM1pDiN6EAd2t8mJmukOLnjfK8ce6NFZRsZa9
	YczalQn9S6WcC0GSlAuH2o64zyKEJJU4WVQjobOp4Xg8wExAoWa4vPebgyP2GJNq0Pcp+ipkNUM
	Qi9qaG09OcbrRk1LDw6E50cHXmX3a+YwZb7uC2veynabAvBAYKCZclwp3Y3kiuRTXyHDz68t3Ya
	fDAJAFcrYIap/seTqo3e5s+n607HJ3NMUbR8coKjb7J5VfF5hfEs+QhzCUZoqTGVHGqPlhf3O2M
	PpsFbckUsXz+NT8y2lsKqEQ+o6OFQPI8WHk7P99rwrQfKb/gtplaVcqQZiDG44wHUCVUr6tF2MQ
	aw8popgF3PbrEQ6YPYPr3BfQh/Guoqg==
X-Google-Smtp-Source: AGHT+IG05P3W4s8U70L2uF8T+LrJz04qFHXXtAvaz17dvDIIdsEau6ddqSlp2DZq9fx+xSUp7ni16Q==
X-Received: by 2002:a05:600c:1e0d:b0:43c:eeee:b713 with SMTP id 5b1f17b1804b1-43d3b9d2e75mr27333045e9.20.1742313059447;
        Tue, 18 Mar 2025 08:50:59 -0700 (PDT)
Message-ID: <06e00c30-90d4-42a1-a1d7-fadd63b9377e@suse.com>
Date: Tue, 18 Mar 2025 16:50:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/xlat: fix UB pointer arithmetic in
 COMPAT_ARG_XLAT_VIRT_BASE
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
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-4-roger.pau@citrix.com>
 <8ad59d67-02f8-415c-93a0-2361e920c017@suse.com>
 <Z9mSub1DgzoP71-v@macbook.local>
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: <Z9mSub1DgzoP71-v@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 16:35, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 18, 2025 at 03:33:03PM +0100, Jan Beulich wrote:
>> On 18.03.2025 10:19, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/include/asm/x86_64/uaccess.h
>>> +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h
>>> @@ -9,9 +9,9 @@
>>>   * a secondary mapping installed, which needs to be used for such accesses in
>>>   * the PV case, and will also be used for HVM to avoid extra conditionals.
>>>   */
>>> -#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \
>>> -                                   (PERDOMAIN_ALT_VIRT_START - \
>>> -                                    PERDOMAIN_VIRT_START))
>>> +#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
>>> +                                   (PERDOMAIN_VIRT_START - \
>>> +                                    PERDOMAIN_ALT_VIRT_START))
>>
>> Aren't we then (still) dependent on ordering between PERDOMAIN_VIRT_START
>> and PERDOMAIN_ALT_VIRT_START? Would
>>
>> #define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
>>                                    PERDOMAIN_VIRT_START + \
>>                                    PERDOMAIN_ALT_VIRT_START)
>>
>> perhaps be less fragile?
> 
> PERDOMAIN_{ALT_,}VIRT_START are unsigned long, so this might work.
> 
> Note however that even with your suggestion we are still dependant on
> ARG_XLAT_START(v) > PERDOMAIN_ALT_VIRT_START, or else the '-' won't
> work.  I think I prefer my proposed version, because it's clear that
> PERDOMAIN_VIRT_START, ARG_XLAT_START(current) >
> PERDOMAIN_ALT_VIRT_START.

What makes that clear? Can't we move PERDOMAIN_ALT_VIRT_START pretty
much at will?

Jan

>  With your suggestion that's not obvious.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 16:10:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 16:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919490.1323920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuZWP-0000V1-CS; Tue, 18 Mar 2025 16:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919490.1323920; Tue, 18 Mar 2025 16:10: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 1tuZWP-0000Uu-9s; Tue, 18 Mar 2025 16:10:29 +0000
Received: by outflank-mailman (input) for mailman id 919490;
 Tue, 18 Mar 2025 16:10: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=fIR5=WF=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tuZWN-0000Un-Qe
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 16:10:27 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81038f12-0413-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 17:10:26 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-aaf0f1adef8so548748766b.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 09:10:26 -0700 (PDT)
Received: from localhost ([46.149.103.11]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3149ce9cesm871423366b.98.2025.03.18.09.10.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 09:10: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: 81038f12-0413-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742314226; x=1742919026; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q1rTq7ZAf2/7mWefz051B5O7CCGRhCvbSzCYC0f/fNM=;
        b=U59SOXrsrcKuuEzpNh3i1TBjuIi49B+3yLaBqM1v44s5p0qlAO2putU8Nh0kh/iKnX
         c0thbUzjBoEEMDVUBz9cG9NsXqfbuZhBvoWNk69X9MYKsccoNE1jMMiwzwWTtvTsiUtW
         ocgC3G4/4SBqJNDdfMiu4OsZ/7UcD7mKYsdg8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742314226; x=1742919026;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=q1rTq7ZAf2/7mWefz051B5O7CCGRhCvbSzCYC0f/fNM=;
        b=nb5D/9lhGmmcW59M81N3KmqkesUlNHLoRMtnTW2uzTXjPX4JCUfkUM9wd1lwGqjcTO
         f/fyGbicP/gDOiswrrLXOHmaqCOO/1a6IOmyWVX3fPjjIrSEhyGy8cXC9OD6eGp2z0Za
         R3nsc1LBfafSS4DHyi2F/Sk18KVJoKFTGdGhEF7ReCEx/Epz+Kb297yUkvzYOYhTeBP3
         oO8UqOsT+VPcgoLIBn4mRHHDwHKdhV0JBNBFRRkfK6VnGxkhvjN62beDMxohUuzqIDHc
         ytshWHReBd24Tg46gTDcPHZ592jZ8bsYcQcqBFDRMbZbeVqVXr3IhSDIeXgzpX37hyJP
         c5jQ==
X-Forwarded-Encrypted: i=1; AJvYcCVFIxbyiYMWT4JK3UkA8HAJuYyd+wnkBxRzu6S1f3mC7fIAjHx4UZLn9Y2DGPMdgHP19o2Wl+t4tAA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJkCJY1HT5cVuI2B1RmuaZ7dJyqfS++Pzr6XtzmJ3f23vgVG8Y
	JKU0aOGyhFhvFn57aZbUWYI42+l6CpezXOcSRdabKWoks3ct16YUiUo76pSJNXc=
X-Gm-Gg: ASbGncsYvygbAiw8hrgTY1JzDSPZOyL8e/KwjEaEtRsN2kNYaVUoCE9OK6tLJzjCs3I
	n4LEtsI8JQE/1usJ9GCss9QDg54vkE+ES5yKpT1zAE3CkFRbj9E4IPr++vR+f9InuNm5Tp0wlQk
	qzsT/0XGhNQiyz+hAdj9JfQzSLj8ZhNZphVs14E7OEnRUrMFnK2b1ZgMWHt097USqJ5fisAdweb
	vj46LK070An+QHG78FSTP+XJEj6NtuQirXHsUf0HPyrS9aNc3u5PTUhb7/pgb+PcQWKxmPkCkSU
	C6Itp9zRDIN/cGJscpOjfxIS3lTla6LBZ0fSnSVkWDRuJzhsqHLE1CaqlfGa9Q==
X-Google-Smtp-Source: AGHT+IHQAeRA1QR2HUD+f4wk4H61xwDtxzY1JqWAVJYg1UUKiCUIjuEhB8FCke/E8lYoas0gd7IOSg==
X-Received: by 2002:a17:906:c10d:b0:abf:70fb:7f05 with SMTP id a640c23a62f3a-ac3304d6057mr1751549166b.50.1742314225633;
        Tue, 18 Mar 2025 09:10:25 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 18 Mar 2025 16:10:22 +0000
Message-Id: <D8JIUG8FXIEU.23WQK66PO369I@cloud.com>
Cc: "Bernhard Kaindl" <bernhard.kaindl@cloud.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>
Subject: Re: [PATCH 01/11] xen/memory: Mask XENMEMF_node() to 8 bits
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20250314172502.53498-1-alejandro.vallejo@cloud.com>
 <20250314172502.53498-2-alejandro.vallejo@cloud.com>
 <314dee7c-1ee0-484a-921b-279617258325@suse.com>
In-Reply-To: <314dee7c-1ee0-484a-921b-279617258325@suse.com>

For the record, the rest of the series doesn't require this patch. I just
thought it was a strictly net-positive improvement on the current behaviour=
.

On Mon Mar 17, 2025 at 4:33 PM GMT, Jan Beulich wrote:
> On 14.03.2025 18:24, Alejandro Vallejo wrote:
> > As it is, it's incredibly easy for a buggy call to XENMEMF_node() to
> > unintentionally overflow into bit 17 and beyond. Prevent it by masking,
> > just like MEMF_* does.
>
> Yet then ...
>
> > --- a/xen/include/public/memory.h
> > +++ b/xen/include/public/memory.h
> > @@ -32,8 +32,9 @@
> >  #define XENMEMF_address_bits(x)     (x)
> >  #define XENMEMF_get_address_bits(x) ((x) & 0xffu)
> >  /* NUMA node to allocate from. */
> > -#define XENMEMF_node(x)     (((x) + 1) << 8)
> > -#define XENMEMF_get_node(x) ((((x) >> 8) - 1) & 0xffu)
> > +#define XENMEMF_node_mask   (0xffu)
> > +#define XENMEMF_node(n)     ((((n) + 1) & XENMEMF_node_mask) << 8)
>
> ... this still won't have the intended effect: Rather than spilling into
> higher bits (with a certain chance of causing an error) you now truncate
> the node number, thus making the misbehavior almost certainly silent.

It has the intended effect of containing the effects of XENMEMF_node(n) to =
the
bits representing such mask.

There's an error either way, and either way you'll notice quite late too. O=
ne
of them has fully undefined consequences (possibly worth an XSA for systems
with separate xenstore or driver domains). This one contains the effects of
invalid data. A later patch in the series returns EINVAL in xc_claim_pages(=
) if
node >=3D 0xff to catch problematic inputs early, but that's a toolstack ma=
tter,
the API should be self-defending.

Note that this exact code is present in MEMF_node(n), in xen/mm.h Likely to
avoid the same sort of problem inside the hypervisor.

> Further, if you do this for the node, why not also for the address bits?
> (Rhetorical question; I don't really want you to do that.)
>
> Jan

Mostly because the series deals with memory management rather than anything
else. I do think address_bits should be subject to the same treatment for
identical reasons.

>
> > +#define XENMEMF_get_node(f) ((((f) >> 8) - 1) & XENMEMF_node_mask)
> >  /* Flag to populate physmap with populate-on-demand entries */
> >  #define XENMEMF_populate_on_demand (1<<16)
> >  /* Flag to request allocation only from the node specified */

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 16:48:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 16:48:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919503.1323930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tua6c-0000TH-38; Tue, 18 Mar 2025 16:47:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919503.1323930; Tue, 18 Mar 2025 16: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 1tua6c-0000TA-09; Tue, 18 Mar 2025 16:47:54 +0000
Received: by outflank-mailman (input) for mailman id 919503;
 Tue, 18 Mar 2025 16:47: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tua6b-0000T4-0f
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 16:47:53 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba1c68b5-0418-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 17:47:50 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-2260c91576aso45399645ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 09:47:50 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6bbcbbdsm96776195ad.170.2025.03.18.09.47.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 09:47: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: ba1c68b5-0418-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742316469; x=1742921269; darn=lists.xenproject.org;
        h=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=XgPmtqkoJuaaf+SaiUc1v/lEB8pQfhrRoloS+/n8Sn0=;
        b=qGij20nRXKEpvbOCwXJx0eUKcrfbuawnqMVGksZH81E9i3JqoUqUnAHbBDgcgV7vp7
         2u/GK9Y0cleQCAhdJ56KHwwrxNqab9Ad6oH0I/xisYAiYPlhIZlZGifsLSo+ZhHxxtjb
         dalU0LjJH2Nj+QTL11OJV+qcvtlB5af3eg+HQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742316469; x=1742921269;
        h=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=XgPmtqkoJuaaf+SaiUc1v/lEB8pQfhrRoloS+/n8Sn0=;
        b=oK/WqgFuZsL+peje0slrpnIJ9H/2OeEFEzX48+akNzjPln68MlKT8RwB7Nj6I/EP39
         RvGmy3/AlhnfCSLU6z7BEB+jLwADQHYTXKqt8hmnUdU2lBadPok8ebCeEPJVKJsmtzi0
         VWbVP6oDYkqldQAGkt/B8CT2KgxbQfaCNcCd8t2Yf3S8d6Z3fs9VP8R2n5YLoPUhozB1
         ni4FV9HVoq+8Tuteh/26A38Cgo5mEBYkX/1F6I5Ne7e4FznOe6EbRuBy1VePCYMWqAWf
         gRJffaPdSWDQzXjUMC10QYAPJrHgGDJ3vVxgBRkTdbEVG9Yy3W2xRRsjPJuO0J4LDKt1
         Qffw==
X-Forwarded-Encrypted: i=1; AJvYcCUxyjYns7e3gDecOAGis9MAZS/od75ay9/j03GNk3CvEtbJxdYwglIVYZFn2lKAFeXLVZ+qysnNp8s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxNY9NKivRCgm5fMrTLyQNNVxp0B0NqZqOalitmY81f9NwIQosj
	Qf1Ujne6hyFXVy7Ipo50wMQORdUC9k02/Iq7kHSdCseNerQkwvwIwmdIweHlqlY=
X-Gm-Gg: ASbGncsMJAldyoD1YmO8tH64el1aufytwb9KEvvzfw6uwS5Mes++gxhUu1RuDgBX2o5
	fzF3qjOZEmUoXJjbAY2HHO9WUawTmgTpLU2ItvOk3UrhVcFW9jLyiDo7JsJ+614pWQQlLYCNNdZ
	S8uBegR5JbxXpK24AvAT8MZ3MIr5fKof1iYwB/VBRKyMZRqmw57Q+vBnX+Du/YsL5J/L6YYajAW
	KOBlb3NWV2lkP+iBiXLzXmLEiNRmanPjA52TxvWqcjJOyV428VnZ0mvcz0CkDJ7cRsuwlDlE+D3
	hvTbVmjH8sfSVFi9rKpBmV0W+MGeUvch++CXsiMExargXyZrZHEAKjc=
X-Google-Smtp-Source: AGHT+IE/fapVIabzK+EHsH/K2ZvdL1rXuqFLVVBH+0owuRCRBBQelhKte3SdVUzZICeTCeNm1+cGmA==
X-Received: by 2002:a17:903:fa6:b0:224:194c:694c with SMTP id d9443c01a7336-225e0a8f166mr223706795ad.28.1742316469055;
        Tue, 18 Mar 2025 09:47:49 -0700 (PDT)
Date: Tue, 18 Mar 2025 17:47:44 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 3/5] x86/xlat: fix UB pointer arithmetic in
 COMPAT_ARG_XLAT_VIRT_BASE
Message-ID: <Z9mjsLFkCCxMR84Z@macbook.local>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-4-roger.pau@citrix.com>
 <8ad59d67-02f8-415c-93a0-2361e920c017@suse.com>
 <Z9mSub1DgzoP71-v@macbook.local>
 <06e00c30-90d4-42a1-a1d7-fadd63b9377e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <06e00c30-90d4-42a1-a1d7-fadd63b9377e@suse.com>

On Tue, Mar 18, 2025 at 04:50:58PM +0100, Jan Beulich wrote:
> On 18.03.2025 16:35, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 18, 2025 at 03:33:03PM +0100, Jan Beulich wrote:
> >> On 18.03.2025 10:19, Roger Pau Monne wrote:
> >>> --- a/xen/arch/x86/include/asm/x86_64/uaccess.h
> >>> +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h
> >>> @@ -9,9 +9,9 @@
> >>>   * a secondary mapping installed, which needs to be used for such accesses in
> >>>   * the PV case, and will also be used for HVM to avoid extra conditionals.
> >>>   */
> >>> -#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \
> >>> -                                   (PERDOMAIN_ALT_VIRT_START - \
> >>> -                                    PERDOMAIN_VIRT_START))
> >>> +#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
> >>> +                                   (PERDOMAIN_VIRT_START - \
> >>> +                                    PERDOMAIN_ALT_VIRT_START))
> >>
> >> Aren't we then (still) dependent on ordering between PERDOMAIN_VIRT_START
> >> and PERDOMAIN_ALT_VIRT_START? Would
> >>
> >> #define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
> >>                                    PERDOMAIN_VIRT_START + \
> >>                                    PERDOMAIN_ALT_VIRT_START)
> >>
> >> perhaps be less fragile?
> > 
> > PERDOMAIN_{ALT_,}VIRT_START are unsigned long, so this might work.
> > 
> > Note however that even with your suggestion we are still dependant on
> > ARG_XLAT_START(v) > PERDOMAIN_ALT_VIRT_START, or else the '-' won't
> > work.  I think I prefer my proposed version, because it's clear that
> > PERDOMAIN_VIRT_START, ARG_XLAT_START(current) >
> > PERDOMAIN_ALT_VIRT_START.
> 
> What makes that clear? Can't we move PERDOMAIN_ALT_VIRT_START pretty
> much at will?

We would need to adjust the calculations here again, if
PERDOMAIN_ALT_VIRT_START > PERDOMAIN_VIRT_START the subtraction would
lead to an underflow, and would also be UB pointer arithmetic?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:01:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919514.1323940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuaK8-0004kY-7R; Tue, 18 Mar 2025 17:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919514.1323940; Tue, 18 Mar 2025 17:01: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 1tuaK8-0004kR-48; Tue, 18 Mar 2025 17:01:52 +0000
Received: by outflank-mailman (input) for mailman id 919514;
 Tue, 18 Mar 2025 17:01: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=kmRG=WF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuaK6-0004kL-PV
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:01:50 +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 ae141441-041a-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:01:48 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d0782d787so24917975e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10: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-43d1fe0636dsm139216435e9.11.2025.03.18.10.01.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 10: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: ae141441-041a-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742317308; x=1742922108; 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=heWz7tWZrDtHmRAc/+uii0MDgoomWa07tHXU3vF15wI=;
        b=fnJ8z9g8RRAMOWhGjChOJg2PTJsPnct83zcePYw+If6fJK/bJp41TFrURyMuxRckQr
         nUBE39P6GHrppH0AbaTc6ngWstzk1GS+o5b1Se/fVhP3xwkmVHmnAEt3iOR7cMUFV1qv
         Rb6yrR/Tj4N9QLrhmHROIPC8Un9kvdyZB7giO+q7vlvP74ZddNCuxiGTJwkK0gGgJWWz
         FiYVkXBQSLFcrSLEf9NegAMeD+2lw9CBH1EJvBh7v49mWmONkAjwYsTsbEomG/sejzLm
         0NaufNhsjLoW/Xm0vLa7tK+Iwq6AWe38+aHc5fkw2IivXm/wzV96Ru+ZgJzBO3PIcGuH
         xXnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742317308; x=1742922108;
        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=heWz7tWZrDtHmRAc/+uii0MDgoomWa07tHXU3vF15wI=;
        b=oN0Hjc/NuO1jz+hivLIisyz6Vz8vR5X0LvGRCc59w5PjvH4PfKAH/qgGNk1+i+3YFI
         XLpGcp+uus36ZpwTkw9Bx+53B98SX8e/2E3xBHF/ceGO+BgaFLKyXtl6naRVUIo8PCMv
         ZrUpMaCIO1KjwpY+/DfcrEo52Nfsji2Mfy8QqXL0Jc5pLbBDR3Th54p0k2q9pVi8iHye
         WHok6UGXFY5S7zt1xiad4RHQEfdBc2FE7sK/DojfHIXrgPl964tD/Pc5Fa3rHwzZhWxj
         gREDi6vsuEjPbpqiqdmJsGOj0MPt8TrDFdeNQVN6J5akNeUb4eEcwVc6nwtK25kcz6uY
         NRvQ==
X-Forwarded-Encrypted: i=1; AJvYcCU8VSFCCGZVxBqxLYqg4dnZo4zieDmy8Er9WgeC8EOiuP7SbKXBA2HqkKHqjKaPVgI982OstWwBV+s=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywf9yYIKoMdTxa9Z/xdN48GmEvs7pA0O8Hl8Z0o2A8L/j91noGt
	jT0+LSH9Tad28gN1EZgvl6xPeWefwo15AMYqp4n06eMNgMCte/IT1rVBtVDVHg==
X-Gm-Gg: ASbGncstONEKIUnn10l1C9ovG5HKwpoY7WrDeoWjCCYU0V8GUwXKBIaYxwUgtmhkV+g
	DfTLpUGLpYIu96+r+O+mLciskIP5NLTRGYBYbiREJTZ5ZLUkQP2XDFY/xWSmwP+U0LdZHeYus6c
	nAaydwWTb9bOCqJRy+Y4msnJEQLvP0JWTaTsRxAJSRMYSMo8SAU5dbodAZCIO8iMHr4OFeSTB0k
	fKJ+xuni/PSEgg8lSWXabIwBBe07cvDazBXxVNnShbaGlKrY7M+ZlFkeF3oYN9blub/A/kkLvDa
	4EHX8NuOpHtUFCGYAEtPYDyp7bJzqDIT0Nh4srFUJV9m8YhU/Sw6TWpwDU4lLEOPxdlt1vdEtwE
	6nHpntd4hlXDCuZpSC708gAlPib7M2w==
X-Google-Smtp-Source: AGHT+IHP79rVdnonYOd4YxlOuBEch3hxH+MI3of+ZZz6gnbY4JC0Z/p/eu2Xh4rNOsjNd16ziPiUtg==
X-Received: by 2002:a05:600c:468e:b0:43c:f81d:f with SMTP id 5b1f17b1804b1-43d3b986350mr26375115e9.8.1742317307777;
        Tue, 18 Mar 2025 10:01:47 -0700 (PDT)
Message-ID: <1e37eb58-21a0-49a1-b7fe-9c950b32e2e6@suse.com>
Date: Tue, 18 Mar 2025 18:01:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/xlat: fix UB pointer arithmetic in
 COMPAT_ARG_XLAT_VIRT_BASE
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
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-4-roger.pau@citrix.com>
 <8ad59d67-02f8-415c-93a0-2361e920c017@suse.com>
 <Z9mSub1DgzoP71-v@macbook.local>
 <06e00c30-90d4-42a1-a1d7-fadd63b9377e@suse.com>
 <Z9mjsLFkCCxMR84Z@macbook.local>
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: <Z9mjsLFkCCxMR84Z@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 17:47, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 18, 2025 at 04:50:58PM +0100, Jan Beulich wrote:
>> On 18.03.2025 16:35, Roger Pau MonnĂŠ wrote:
>>> On Tue, Mar 18, 2025 at 03:33:03PM +0100, Jan Beulich wrote:
>>>> On 18.03.2025 10:19, Roger Pau Monne wrote:
>>>>> --- a/xen/arch/x86/include/asm/x86_64/uaccess.h
>>>>> +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h
>>>>> @@ -9,9 +9,9 @@
>>>>>   * a secondary mapping installed, which needs to be used for such accesses in
>>>>>   * the PV case, and will also be used for HVM to avoid extra conditionals.
>>>>>   */
>>>>> -#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \
>>>>> -                                   (PERDOMAIN_ALT_VIRT_START - \
>>>>> -                                    PERDOMAIN_VIRT_START))
>>>>> +#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
>>>>> +                                   (PERDOMAIN_VIRT_START - \
>>>>> +                                    PERDOMAIN_ALT_VIRT_START))
>>>>
>>>> Aren't we then (still) dependent on ordering between PERDOMAIN_VIRT_START
>>>> and PERDOMAIN_ALT_VIRT_START? Would
>>>>
>>>> #define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
>>>>                                    PERDOMAIN_VIRT_START + \
>>>>                                    PERDOMAIN_ALT_VIRT_START)
>>>>
>>>> perhaps be less fragile?
>>>
>>> PERDOMAIN_{ALT_,}VIRT_START are unsigned long, so this might work.
>>>
>>> Note however that even with your suggestion we are still dependant on
>>> ARG_XLAT_START(v) > PERDOMAIN_ALT_VIRT_START, or else the '-' won't
>>> work.  I think I prefer my proposed version, because it's clear that
>>> PERDOMAIN_VIRT_START, ARG_XLAT_START(current) >
>>> PERDOMAIN_ALT_VIRT_START.
>>
>> What makes that clear? Can't we move PERDOMAIN_ALT_VIRT_START pretty
>> much at will?
> 
> We would need to adjust the calculations here again, if
> PERDOMAIN_ALT_VIRT_START > PERDOMAIN_VIRT_START the subtraction would
> lead to an underflow, and would also be UB pointer arithmetic?

With

#define ARG_XLAT_VIRT_START      PERDOMAIN_VIRT_SLOT(2)

I can't see how subtracting PERDOMAIN_VIRT_START could lead to an underflow.
The idea of the expression suggested is to first subtract the area base (no
underflow) and then add the other area's base (no overflow).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:05:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919551.1323966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuaNc-0006RH-48; Tue, 18 Mar 2025 17:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919551.1323966; Tue, 18 Mar 2025 17:05: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 1tuaNc-0006RA-1P; Tue, 18 Mar 2025 17:05:28 +0000
Received: by outflank-mailman (input) for mailman id 919551;
 Tue, 18 Mar 2025 17:05: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=wPrW=WF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tuaNa-0006Qw-JD
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:05:26 +0000
Received: from fout-b4-smtp.messagingengine.com
 (fout-b4-smtp.messagingengine.com [202.12.124.147])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e6ee38f-041b-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 18:05:24 +0100 (CET)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfout.stl.internal (Postfix) with ESMTP id 623CA114015D;
 Tue, 18 Mar 2025 13:05:23 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Tue, 18 Mar 2025 13:05:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 18 Mar 2025 13:05:22 -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: 2e6ee38f-041b-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:message-id:mime-version:reply-to:subject:subject:to:to; s=fm1;
	 t=1742317523; x=1742403923; bh=CzLALV+Svxnq3j5ei54OhOCfOqGIDwd6
	+fde85qlpdI=; b=Bctijby77xifVqnZBq+a+E6ppC84OlE4mQ+xMfvxeTk+RUCX
	ugI9c+/Iv9oqR3Wju+pIASPoEp6FqXQdIRD+vxp3DAWnqhoLkHoUzagGGMv5k5oU
	8WtBq+cUoop1Fv417me6hFhX6nd68De4M1z+T6++Si4Fi2v2Qz4goQ+YzDyCcQ6Y
	Hnr5Qf333p0pKA1pkcs8bKpSwR3M5Bcxfk/qqwWJ44bl6i8nb3oY/D69rMuefNvT
	LGATKBKBQB2dLgbsXGDdY8S1nNLGrEZmK9RnwmxNTlWURNre3swD4H+64b2ZpXgB
	HW7zX+DHxfhiNa+UzXZcDydy3IAWqIOx7kfEvw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=
	fm1; t=1742317523; x=1742403923; bh=CzLALV+Svxnq3j5ei54OhOCfOqGI
	Dwd6+fde85qlpdI=; b=cJmynHo9YUtiiptfCKjbQYMpHBw+dSxGL7DA5kRh+oKV
	GfeTXemzBHfBqJUjNFQwkH3NCzwxSTDiBmnkRvSL3M87xXoa3XT/944kn5kFpIb5
	YO+uSA3/iXFV+hu/vdCYyoEBt/47Hq3g1jR+lQMT9PqC4G8znjL9t4wqAWXHAuFC
	rx8l7XFtTk1OkO0YoDKCqmpCWLDMqGiiu8cfN6IezT64QZ2XI9PqUmjqxAelC9N9
	Vu3DflTbZ10mPdOTOLlDV9gbRGwETNbNT210t2xO/qBMFkdbnFOStP6vzB8IQrZf
	QXU6EUS+gvX6hzzo1/+RyuhG1o6GJX5NyFY56gTKgg==
X-ME-Sender: <xms:0qfZZ5CzcYq8SY6kjlJrSTagkb0I_SLubXiB82I2kYWCnTDcEKSCqg>
    <xme:0qfZZ3jwcspsJ3T2PgKfuGEzSIYI7VCQh5YImanyJVtViI-eg9QMGV6Tnsuf-zvnG
    X1pn2XgAljrnA>
X-ME-Received: <xmr:0qfZZ0mL_CwBhQtRe6l1HE24-ikPPVYOCNQ6-IiSMiD-y3xte3rfXMTNx-a54q6glsw54SD43Al4PKztSJ8vGcjZ_OuECtXhJLV-Thomz1KHGiBRdkA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugedvleelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf
    evufffkffogggtgfesthekredtredtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiih
    khhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvihhsihgslhgvth
    hhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepleekhfduleetleelleet
    teevfeefteffkeetteejheelgfegkeelgeehhfdthedvnecuvehluhhsthgvrhfuihiivg
    eptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgs
    lhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmh
    htphhouhhtpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhho
    jhgvtghtrdhorhhgpdhrtghpthhtohepmhgrrhhmrghrvghksehinhhvihhsihgslhgvth
    hhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:06fZZzxQ2gbNZL7lcvN3hqbwnggg--qQHiS_bHy-lI0FCSI69A2VIw>
    <xmx:06fZZ-TVnUq7l4a_d7enQD8FdT825IXprzaP3hNsDOg4YE4WxVIO0A>
    <xmx:06fZZ2aGdfowJiMWCm5eV-aJwKE0dfUQBLYk62M9X5q81obqDzUMGA>
    <xmx:06fZZ_RubwdpRXj2abkZOrPrKC9Sm3cGlBOToJYaNkdRh7eTbyeEeA>
    <xmx:06fZZ5c78Og4EVqG17BkofntKxK6hbAsmqWMeyuSsQPiuax0R7y1BUJ_>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v1 0/2] Improve reproducibility of build artifacts
Date: Tue, 18 Mar 2025 18:01:55 +0100
Message-ID: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Few patches from qubes patch queue that improve reproducible builds.

FrĂŠdĂŠric Pierret (fepitre) (2):
  docs/xen-headers: use alphabetical sorting for @incontents
  Strip build path directories in tools, xen and xen/arch/x86

 docs/xen-headers      | 2 +-
 tools/Rules.mk        | 2 ++
 xen/Makefile          | 2 ++
 xen/arch/x86/Makefile | 1 +
 4 files changed, 6 insertions(+), 1 deletion(-)

base-commit: 77be740e8182fa6b31291a8ae983d253187e9b50
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:05:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919553.1323975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuaNg-0006ge-Ao; Tue, 18 Mar 2025 17:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919553.1323975; Tue, 18 Mar 2025 17:05: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 1tuaNg-0006gV-7m; Tue, 18 Mar 2025 17:05:32 +0000
Received: by outflank-mailman (input) for mailman id 919553;
 Tue, 18 Mar 2025 17:05: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=wPrW=WF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tuaNf-0006Qw-0C
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:05:31 +0000
Received: from fhigh-b4-smtp.messagingengine.com
 (fhigh-b4-smtp.messagingengine.com [202.12.124.155])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31b5fe93-041b-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 18:05:30 +0100 (CET)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfhigh.stl.internal (Postfix) with ESMTP id D876A25401B1;
 Tue, 18 Mar 2025 13:05:28 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-08.internal (MEProxy); Tue, 18 Mar 2025 13:05:29 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 18 Mar 2025 13:05: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: 31b5fe93-041b-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	: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=1742317528; x=1742403928; bh=2RHWRfuiJA
	Z+lCbEby7WMUQD0Se/UCEJJv5nwKDm3aU=; b=JlqMQKNrDdqCdAvV0YJPLcAIYg
	RANOsKmRJTtvhr0MaKzDJOpIupOTr8DioVF6pclVqkrxCUxSyYXhqnOn5b9AzfqL
	41o4s9EkgHKrI9gm0nbIByQkWYQws0a0FrJVFkSi4vPnkBXb8y7D+Rvu1mik5kIJ
	/se7rgHKYz8dOEgaYFltzdT4inK4MnFdRThcjRodSBa5W5cMsaUyJnOxx7RetDfU
	lb1+k9lgoGOt9L0vyfeH6eMyvScOrXDt1qql5F3JRSuRmFhnbBbzFexGQ4xl/yJL
	U5rCTvXF/68cU3r5JdeQ3gyTvJY+S2c3kzOZr6hOizUoZqovSlg9+iy6keig==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=fm1; t=1742317528; x=
	1742403928; bh=2RHWRfuiJAZ+lCbEby7WMUQD0Se/UCEJJv5nwKDm3aU=; b=b
	x1fz+dahNmiVkmLgDPMk4ZGZ3rtM4nbLO+x2hXwdaeWTrI4+ANdS96tM+898nOzq
	KCQUjBs/XR2RN5TUNPTt6mCF1yu037rqRn+hT2i0yCGyERC+sMRaWhtgtb4HIbVv
	abl7N4SVw7s4YL2SCiGIOnJXomkI4oobtA+p/pUiWgm5mbq0SRasf8LAHefvSMRA
	0gYwFKqSMWp0VXqtF9/W/KXJGMUstDPD8aVjMViN2mezGaGJ1ix/BEVhOycZzKhF
	dSPiOHXqKEOFg4pJ5p4cEZcyJ5v8q0ZwfAGZbbYBYDREcqUhDeEPnDy4VpgjZbJA
	i1tUNyBF+0ltsydLJEMsw==
X-ME-Sender: <xms:2KfZZ-RuTDd5-bmY7Z8Jh_1Z-zyqS0k2L02W3mEg4rE6kkt_PBPTRw>
    <xme:2KfZZzwrUnG8uhcioJHIJz2ocit7HHIt9hS1nmMnzZGXMUhS-qQl67ryTSSbVtVfc
    -Mt_mRE7eDXgA>
X-ME-Received: <xmr:2KfZZ72ohO0unVv6Diw5SHvX2HeT5er1oKgPsA2FiRvpuWZZqHb60LOez4Yn0AUAZA5U0dCH-Bz0JdZ-e9gNUSoyNQNhHZiVlbpC03TTecrdKjPAEr0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugedvleelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhggtgfgsehtkeertder
    tdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkih
    cuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeen
    ucggtffrrghtthgvrhhnpefgueduhefgvdefheehudejheefudevueeghfekhfehleegve
    duteeuiedugffgffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl
    fhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmpdhnsggprhgtphhtthhopedutddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohep
    gigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpth
    htohepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdp
    rhgtphhtthhopehfrhgvuggvrhhitgdrphhivghrrhgvthesqhhusggvshdqohhsrdhorh
    hgpdhrtghpthhtoheprghnthhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggthhdp
    rhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhmpdhrtg
    hpthhtohepmhhitghhrghlrdhorhiivghlsegrmhgurdgtohhmpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehjuhhlihgvnhesgigvnhdroh
    hrghdprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomh
X-ME-Proxy: <xmx:2KfZZ6ASNQq2lfRMHM7pAYhxY6zlbi7DmG5gr8Axp3YS6Gxhf5cp5g>
    <xmx:2KfZZ3hyGC_Wg0wWCkF3tDfXnmkkWNQevefvneM4Rh7xFANKzyELeA>
    <xmx:2KfZZ2opxxuu3ITiziDK-paoo2m2WOH2Y6VdGxF48flFP5mCEnYj3w>
    <xmx:2KfZZ6hvV0_jOh7-eVTf4B49csziGn2AIsQL6PdAow4G_ORhpvmbsw>
    <xmx:2KfZZ8aS4JS5iPbh8vsTCex2w88jnaaTilAlV4KWJfHp7MfIpz5QnUEV>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Pierret=20=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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 v1 2/2] Strip build path directories in tools, xen and xen/arch/x86
Date: Tue, 18 Mar 2025 18:01:57 +0100
Message-ID: <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: FrĂŠdĂŠric Pierret (fepitre) <frederic.pierret@qubes-os.org>

Ensure to have a realpath for XEN_ROOT else it fails to substitute
properly pathes in strings sections

Signed-off-by: FrĂŠdĂŠric Pierret (fepitre) <frederic.pierret@qubes-os.org>
[use cc-option-add]
Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
---
 tools/Rules.mk        | 2 ++
 xen/Makefile          | 2 ++
 xen/arch/x86/Makefile | 1 +
 3 files changed, 5 insertions(+)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 6bd636709ff7..9ed0336c07d5 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -169,6 +169,8 @@ endif
 CFLAGS-$(CONFIG_X86_32) += $(call cc-option,$(CC),-mno-tls-direct-seg-refs)
 CFLAGS += $(CFLAGS-y)
 
+$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)
+
 CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS)
 
 INSTALL_PYTHON_PROG = \
diff --git a/xen/Makefile b/xen/Makefile
index 58fafab33d6f..0d79e259a33e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
 CFLAGS += -Wa,--strip-local-absolute
 endif
 
+$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)
+
 AFLAGS += -D__ASSEMBLY__
 
 $(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--noexecstack)
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f59c9665fdd0..70d0653257d7 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -137,6 +137,7 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
 	mv $(TMP) $(TARGET)
 
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
+$(call cc-option-add CFLAGS-$(XEN_BUILD_EFI),CC,-ffile-prefix-map=$(XEN_ROOT)=.)
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:05:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919557.1323986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuaNq-00073D-Im; Tue, 18 Mar 2025 17:05:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919557.1323986; Tue, 18 Mar 2025 17:05: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 1tuaNq-000734-G0; Tue, 18 Mar 2025 17:05:42 +0000
Received: by outflank-mailman (input) for mailman id 919557;
 Tue, 18 Mar 2025 17:05: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=wPrW=WF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tuaNp-0006Pm-9C
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:05:41 +0000
Received: from fhigh-b4-smtp.messagingengine.com
 (fhigh-b4-smtp.messagingengine.com [202.12.124.155])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30309306-041b-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:05:27 +0100 (CET)
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 497362540103;
 Tue, 18 Mar 2025 13:05:26 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-12.internal (MEProxy); Tue, 18 Mar 2025 13:05:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 18 Mar 2025 13:05: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: 30309306-041b-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	: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=1742317526; x=1742403926; bh=K/vRlO1enD
	NjEvveV4JCXN7QZlebJcyisGWMcWmbG/Y=; b=s7pK/1mttGJfTpJupFga8zJAoi
	hf4PWUR1m4k2o+473Xi20GHQJ69ww7G88Jf+w+FNS1UZ6kHYSBBZlvFrbMdL9u1E
	fxG7Bj94xfJ2niL01FHGPAGZzM8842LvlDbSFWCf81uLwtGFRoZhHK7E95RQC9h5
	jBywye4JEtePzNumtBy1/PrMxEhhosgkR0eoYz9AJQCSS8FSm4L5erDhNodB3R/d
	SoLDQ2P6yhGr3iwHzH7DDe6z7eYtRm+ETiYrfAn6yB4bNRnDeA5GL7+gs5nhI9Lz
	HHJzKk7GY5+F3jkg8U4dbgjzbySQEial0Sbn2lcOX1oHznEUDa1MgaMNPw1g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=fm1; t=1742317526; x=
	1742403926; bh=K/vRlO1enDNjEvveV4JCXN7QZlebJcyisGWMcWmbG/Y=; b=U
	+2HQgUkkDFtZHyQm7EkCuudx+U5wq76Av9DywBrmkKv/WiwRNe76dL6r6YDgb6MW
	rOlKkkas1J3xreZ15orDcxb1ZvukJW4hvD26NZLtRVN7mj3D0O5o6AgvAVf+1/vI
	wN+CWNxp7qYhxl/AVRUkoEHNnDBgGjPT1d8CM8JZhUX7VZFgORv/zJg3GkmTgfnP
	Du66hW5BXLOsvUyWVpff+QLjcVnXGPbyU0vcacbcezm8BgD5WBMsyGZBG5sAhSwE
	XSwsG+xhVvlX9eJu9aY4yh+/gyZUb7Z90FqaUQnmh61HVP6APHThr199ksb/ZJNe
	ErW+okHbySd3h16S+BcLw==
X-ME-Sender: <xms:1afZZwUnWIy0PdBSdpfL5yKZ_fBYhbBwiK7VxiNtAmuHeQkeA35I3Q>
    <xme:1afZZ0k3KYs0rGQZ1NOMaxjGz-X2_Qc5AkYrKdNc6IHBSWOA54y4S0Om7oxMwXEZI
    A7--ii7GbAg4g>
X-ME-Received: <xmr:1afZZ0Z45IQEmoAzLJkyS0wZNiOuuHumisNiOxhskwxAjmQl_ofPyPhkgTDEdCJq5jF0OHoRoyB4mmDY8PxIOcrUbPbUbDuLXcFpAzGOM-4l3Xg_j3Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugedvleelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhggtgfgsehtkeertder
    tdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkih
    cuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeen
    ucggtffrrghtthgvrhhnpefgueduhefgvdefheehudejheefudevueeghfekhfehleegve
    duteeuiedugffgffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl
    fhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmpdhnsggprhgtphhtthhopedutddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohep
    gigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpth
    htohepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdp
    rhgtphhtthhopehfrhgvuggvrhhitgdrphhivghrrhgvthesqhhusggvshdqohhsrdhorh
    hgpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdp
    rhgtphhtthhopegrnhhthhhonhihrdhpvghrrghrugesvhgrthgvshdrthgvtghhpdhrtg
    hpthhtohepmhhitghhrghlrdhorhiivghlsegrmhgurdgtohhmpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehjuhhlihgvnhesgigvnhdroh
    hrghdprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomh
X-ME-Proxy: <xmx:1afZZ_WFwbKkgHJPQFRc5qkl4M945Gopu5LB9CouIoU1bZIT7D7-LA>
    <xmx:1afZZ6nr3ypztMIC429DuNVcp4fqISxRpE2l5n7YAfqnY7Yug_WCUA>
    <xmx:1afZZ0fJw73SeMSp8xFVCq4xH_BkLuRGtPc7otaFn97t7jqt6-8pNg>
    <xmx:1afZZ8EOREXq6poBRgPQWpIhRQW1ODkHNb5fOTKyegYPwudiG9M-ig>
    <xmx:1qfZZze6rFtviWd4r3EiA4PnhJ6FpuNBjRwx-rzW55NXg_9P57Hh7kLY>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Pierret=20=28fepitre=29?= <frederic.pierret@qubes-os.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 1/2] docs/xen-headers: use alphabetical sorting for @incontents
Date: Tue, 18 Mar 2025 18:01:56 +0100
Message-ID: <09f34b27d576d1067cc38eaa202aebebb0478cff.1742317309.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: FrĂŠdĂŠric Pierret (fepitre) <frederic.pierret@qubes-os.org>

It makes the build reproducible with fileordering flags

Signed-off-by: FrĂŠdĂŠric Pierret (fepitre) <frederic.pierret@qubes-os.org>
---
 docs/xen-headers | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/xen-headers b/docs/xen-headers
index 8c434d77e20e..98ffe814500b 100755
--- a/docs/xen-headers
+++ b/docs/xen-headers
@@ -331,7 +331,7 @@ sub output_index () {
 <h2>Starting points</h2>
 <ul>
 END
-    foreach my $ic (sort { $a->{Seq} <=> $b->{Seq} or $a->{Title} cmp $b->{Title} } @incontents) {
+    foreach my $ic (sort { $a->{Href} cmp $b->{Href} } @incontents) {
         $o .= "<li><a href=\"$ic->{Href}\">$ic->{Title}</a></li>\n";
     }
     $o .= "</ul>\n";
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:36:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919603.1323996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuarL-0005ma-Nm; Tue, 18 Mar 2025 17:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919603.1323996; Tue, 18 Mar 2025 17: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 1tuarL-0005mT-Jx; Tue, 18 Mar 2025 17:36:11 +0000
Received: by outflank-mailman (input) for mailman id 919603;
 Tue, 18 Mar 2025 17: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuarK-0005mN-5q
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:10 +0000
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com
 [2607:f8b0:4864:20::1032])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 792d9148-041f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:36:08 +0100 (CET)
Received: by mail-pj1-x1032.google.com with SMTP id
 98e67ed59e1d1-2ff187f027fso6963388a91.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:08 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-3015353462asm8485870a91.27.2025.03.18.10.36.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10: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: 792d9148-041f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319366; x=1742924166; 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=E+u7NHU/X16iy++y53dW2+AUGd16GJzW5/oHUY54RX4=;
        b=H69e0itFBYgoTaV17GcWR+5xySgE9HJqHgiBrrYDcRST0NokVTAhsfOzQ2H09Ywb5a
         7fCIA/ye6lmjH7hDK8rErytIfQVfb0QwC3C5jkv9/B5rQA5597x9/fQcvyAoFSRNVF7/
         COpg289hZPYFYf5Zs1kKLbukVR3OIda7t2HcA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319366; x=1742924166;
        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=E+u7NHU/X16iy++y53dW2+AUGd16GJzW5/oHUY54RX4=;
        b=Kt3VEg9dPNen/G3flJEczyKunt3BIwdx99SoDEZv8lL7BdokwUiR1UW1Q4gfMeGee6
         KIzhzW/O/P2kFoc6dH28obOhzt5wldn/AS2zzfNe3D8/qpA6MAtj245HHYxwCiYqhyQ0
         741wpUUqQI8toRa5s5oo01o9O2hgid9PyGGJDcrtdiiimjiAvKKmWX2uk95Rrx9wzaZR
         UTBXle6RmeOTFB9WO1iQCOPVf64qCwNRQQ12Qp+pX4rPmfeLw4Sjwo7E1iu8I+PY2ZyJ
         hkryXK6IpNbliKscLOUP9bAomNnGHSQM1y6Jt5zJFvRm3oSHp0dtk6REH45MTWIpXPqY
         /blw==
X-Gm-Message-State: AOJu0Yy2wVKF0E5Hz3gM4Z+V9hUA94Q7WBcz50FEEFC5eE1U3Nir0EtV
	tzmF357fpQSMOchBPUlDcUn/bz0f2pw21mZ5NSgKww0Wpvs3se1kD3iJmaM3KN0EBmFDtZtETl7
	0
X-Gm-Gg: ASbGncsLvbDyJwNJT1pjn7Zwd6mBLMWEjQLky92gQHOb4vyUoQYZrWLwKOKZmd/91lu
	+3P30cpXtcA/S4gsMUmK+A6U0oHq9H+wm8VcqIQgLZuVqqLAQxbP1Hb9N7SIrzg2Su44bBLqpUf
	XSNUuIeTN82+qLHkXKksMcJcxu+JkDniZ5VrDi1yfFX2bDA5D6yNGxB4QmyJuZWF4xT4F/Dc278
	2j688GXZC7oOlrn1p/SKrpstEI1fVSog397OZS7TGn7WoBpBSTHIDxF11xJkP49FgnazxVkTJCO
	34pSseIUX/qqEJ0OO9H9YxV1MKLVkbRIxazl5HmndO2E9vdPnA==
X-Google-Smtp-Source: AGHT+IGZ0a0IkzU8VfqH+3YjJUK76MeRcDdv2DFylgD5njJCqv53PKuapRzr69eNNqyed91HUZuS6g==
X-Received: by 2002:a17:90a:d2cf:b0:2fa:42f3:e3e4 with SMTP id 98e67ed59e1d1-301a5b0443cmr4840403a91.3.1742319366153;
        Tue, 18 Mar 2025 10:36:06 -0700 (PDT)
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 1/7] x86/boot: clarify comment about trampoline_setup usage
Date: Tue, 18 Mar 2025 18:35:41 +0100
Message-ID: <20250318173547.59475-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318173547.59475-1-roger.pau@citrix.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Clarify that trampoline_setup is only used for EFI when booted using the
multiboot2 entry point.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/boot/head.S | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 1b3bd16fe575..59a2b5005cf6 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -505,7 +505,8 @@ trampoline_bios_setup:
 
 trampoline_setup:
         /*
-         * Called on legacy BIOS and EFI platforms.
+         * Called on legacy BIOS and EFI platforms when using multiboot (either
+         * 1 or 2).
          */
 
         /* Save Xen image load base address for later use. */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:36:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919605.1324017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuarR-0006Fo-9l; Tue, 18 Mar 2025 17:36:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919605.1324017; Tue, 18 Mar 2025 17:36: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 1tuarR-0006Fg-5C; Tue, 18 Mar 2025 17:36:17 +0000
Received: by outflank-mailman (input) for mailman id 919605;
 Tue, 18 Mar 2025 17:36: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuarP-0005mN-Hx
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:15 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75668cb0-041f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:36:01 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id
 98e67ed59e1d1-2ff6a98c638so6790540a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:01 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-737116955f1sm10173156b3a.142.2025.03.18.10.35.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10:35: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: 75668cb0-041f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319360; x=1742924160; 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=u6p6HS601t4LQD4O2L3P0LFeOS/Dl/nMhibD1dpsuBQ=;
        b=mzn1Lh3dDAj9zUds/werWd3s0iNEaqXA/3ldd6/iqXQqw1V5GG3kZCeB5QR0VFDx/m
         SdQctYIB8Mt+VVXzqjp9Y4krot1sMiFofSdTe2U32YkwZp+KdfAB3AtFmPaCrxE6opKG
         Xfb3QShiJpsh2ZP+5qdPmANP2CLUVToPRriJ8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319360; x=1742924160;
        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=u6p6HS601t4LQD4O2L3P0LFeOS/Dl/nMhibD1dpsuBQ=;
        b=KLwuHcv3TZodyqTWznkH5TQzxw0Oi1R4ZDb9Eqbg4VRGZda8P6alnh5KbRqH14snMr
         rDIVsFgOkqua0RuUMQAcNLPkzCBJS4akdgTdFgbiFUHgQzOyGA/IpJWuql0S3pBJW6Qp
         lTCzJikVghud1FGnRsYBOo9AxAV9xlROTAPBKjblQ6P1RTHWhTlZB6RzRat4EQywioqI
         axWEZ3N6xajJGhicnp7ZbWE1034N9k5djeca+L+CU7FT3kj+il5LZZxoyNmTi1MZ0r6Q
         rIdeEayVwdqRiEo8/ilfsNj5VvQgH0we6SW7EqC1ObF6DXF50kkJOUhBArZZKBHL8kty
         ZMLg==
X-Gm-Message-State: AOJu0Yy/ETpnYbVOQvRAkqXfWBt1UVI5GHooE2FuNymqZKlKb6zgutE+
	tDPnzqeHMH6F1RCPx7A4usum/OzjLuq+JdbqDJWssdglZQTyoyR8wE8Oyx7u91HysGf6teSFm7A
	b
X-Gm-Gg: ASbGncvvN1unXMMctAEKxK8lFxxDII9OqiqoOGGtkIRMJalflGQ986kjArH8hzAkRJU
	ZQzTEZO2wBmsSo4aXuZANlSeqn++/H2794euPSIQvdru2aTNiM34sPGeqMC327+Mql5Cirqi/S+
	dBAHbdHT1W88yjHu2y+9ES1Hw1sdf7t+lrg/CK1R7t8jE0fdp62tid34CsJIYUUNfd1hRa33Afa
	yH3qG4+gEaJBHSZEKBfyTTyWasc26viM/GV0V04e9MWjspLIdU8LwmOfqKdlExlaOdQabPUzmS0
	q35lvhW2pSKhbxl2UinWxPQQK5zXXqOUn80gAQWoEfW8SBQxeA==
X-Google-Smtp-Source: AGHT+IHC9PmMQMmjizDVOpz4VLmnQ88NZipX234zaoT2N/v155VmjHnvFjLCLrzVMDcgwDDwz9czSA==
X-Received: by 2002:a05:6a20:6a1d:b0:1f5:8a69:f41b with SMTP id adf61e73a8af0-1f5c1316662mr21076357637.37.1742319359845;
        Tue, 18 Mar 2025 10:35:59 -0700 (PDT)
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>,
	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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH 0/7] x86: generate xen.efi image with no write-execute sections
Date: Tue, 18 Mar 2025 18:35:40 +0100
Message-ID: <20250318173547.59475-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The aim of the series is to generate a Xen image with no write and
execute sections, so that the PE binary can be NX_COMPAT.

The main change for achieving this is changing the order in which the
trampoline relocation are applied.  To avoid having write-execute
sections apply the trampoline relocations after having moved the
trampoline to it's final destination.

Thanks, Roger.

Roger Pau Monne (7):
  x86/boot: clarify comment about trampoline_setup usage
  x86/mkelf32: account for offset when detecting note segment placement
  xen: remove -N from the linker command line
  x86/boot: apply trampoline relocations at destination position
  x86/mkreloc: remove warning about relocations to RO section
  x86/efi: do not merge all .init sections
  xen/build: warn about RWX load segments

 xen/Makefile                         |  2 --
 xen/arch/arm/Makefile                |  6 +++---
 xen/arch/ppc/Makefile                |  6 +++---
 xen/arch/riscv/Makefile              |  6 +++---
 xen/arch/x86/Makefile                | 12 ++++++------
 xen/arch/x86/boot/build32.lds.S      |  1 +
 xen/arch/x86/boot/head.S             |  9 +++++----
 xen/arch/x86/boot/mkelf32.c          |  3 ++-
 xen/arch/x86/boot/reloc-trampoline.c | 16 ++++++++--------
 xen/arch/x86/efi/efi-boot.h          | 15 ++++++---------
 xen/arch/x86/efi/mkreloc.c           |  5 -----
 xen/arch/x86/xen.lds.S               |  8 --------
 12 files changed, 37 insertions(+), 52 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:36:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919604.1324006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuarP-000613-TO; Tue, 18 Mar 2025 17:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919604.1324006; Tue, 18 Mar 2025 17: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 1tuarP-00060w-Qd; Tue, 18 Mar 2025 17:36:15 +0000
Received: by outflank-mailman (input) for mailman id 919604;
 Tue, 18 Mar 2025 17: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuarO-00060R-LD
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:14 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c5a6872-041f-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 18:36:13 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-2241053582dso17555595ad.1
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:13 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-73711559fbdsm10188371b3a.59.2025.03.18.10.36.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10:36: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: 7c5a6872-041f-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319371; x=1742924171; 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=uUEaJN3qk40R1uwMWELSbGR36i1jo84C4OMy7cnNyV8=;
        b=hG1fMqZze26zORus0LgCQMTROFWgcJROkpR3hPnC92xyeCsCYPu6b9R8aKnkDIoh0B
         nX0sjqwEC7BvwMy7qCrA7F40gwXfVUbAqodfbMwsIDEEzZ9wsvheVzq7Ex9mu2t7g0uf
         vaE+7Esk3aKyA1i4l7sU/VmjAxpvKd2dXOEBE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319371; x=1742924171;
        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=uUEaJN3qk40R1uwMWELSbGR36i1jo84C4OMy7cnNyV8=;
        b=A4scnvx3G8qsAd7bikcK667hCPCV4EQzkaSl4oer/v2gCO9g3GMXWK6qprjmFl7Rql
         zUG0CSUgN0cnBVausNAD4FXGSVCYPlt0OxoybN26dKHMzYiXY+X2Od8swCLT65Ho/2b/
         DfQbs01RWsI/G9dkFpdAixHOzaNYnIYEdBZGMyjkjKFlKayk5GqUS91tbYoyqkeG0zM6
         RNt8SNPbNQf44PNhr2EDMgVP1p0HWUy0sbRUDDqTqlW4ZUMpAuQ+iN2wNy6mDgtK25si
         rsKgCOoo9cLQYYp+SD+FpSRjE10b5fKyj4hX9N7B4vvvfU3PFHbdhifU3cstZ/4vxM3v
         O2xw==
X-Gm-Message-State: AOJu0Yx6NB5gSWCaj+KJFwihHnlZuUSvjaphh0+rjTwUsbb6R09VATCt
	m9walrolgnfNZEVhvUTchPqEsKp/Us9E8dyc+b6zHYGGSMa7Ca0jdXrHekT2J55u7i5lqu7TCNx
	X
X-Gm-Gg: ASbGncvTCo+OTiuvSrMHIEkULD7jGKq0MSjTuWslX7kcSf6JZrdiuWDVnebgUZDm9XU
	lzoFQLMpeI8wrL2D1YUlAP5QwqedmOWqnGfR11sd15H3h2/roiivrRnLwUtWUaX+17ECwVm2IA0
	F/2NDNVMZfL42wFAAxgde3yIbft3x85MaD5Jz3LqL023tbA2bR+cvXytogIG9cMil+RNdptp+pB
	ZzUsTHocD/OQaSaule/CG6s2+TN2OdKyTCpYQfHGLgFe6VRlecTd3fdWdabpDwOevG+Uy9pqLiU
	s4QRLJWAYpWxP2+qEJTuInEVqjzqQSrfoY1QryGF8iPYCCNanqts36rHXFhk
X-Google-Smtp-Source: AGHT+IH2R6siyXGAz8aZjbViKwajC/tho9oLL/4Wb2zYe1yWYtyAyqk9V90VPcsDu6vuIALGOLdFcw==
X-Received: by 2002:a05:6a21:682:b0:1ee:ef0b:7bf7 with SMTP id adf61e73a8af0-1f5c118e79cmr23419070637.19.1742319371488;
        Tue, 18 Mar 2025 10:36:11 -0700 (PDT)
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 2/7] x86/mkelf32: account for offset when detecting note segment placement
Date: Tue, 18 Mar 2025 18:35:42 +0100
Message-ID: <20250318173547.59475-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318173547.59475-1-roger.pau@citrix.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

mkelf32 attempt to check that the program header defined NOTE segment falls
inside of the LOAD segment, as the build-id should be loaded for Xen at
runtime to check.

However the current code doesn't take into account the LOAD program header
segment offset when calculating overlap with the NOTE segment.  This
results in incorrect detection, and the following build error:

arch/x86/boot/mkelf32 --notes xen-syms ./.xen.elf32 0x200000 \
               `nm xen-syms | sed -ne 's/^\([^ ]*\) . __2M_rwdata_end$/0x\1/p'`
Expected .note section within .text section!
Offset 4244776 not within 2910364!

When xen-syms has the following program headers:

Program Header:
    LOAD off    0x0000000000200000 vaddr 0xffff82d040200000 paddr 0x0000000000200000 align 2**21
         filesz 0x00000000002c689c memsz 0x00000000003f7e20 flags rwx
    NOTE off    0x000000000040c528 vaddr 0xffff82d04040c528 paddr 0x000000000040c528 align 2**2
         filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--

Account for the program header offset of the LOAD segment when checking
whether the NOTE segments is contained within.

Fixes: a353cab905af ('build_id: Provide ld-embedded build-ids')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/boot/mkelf32.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/mkelf32.c b/xen/arch/x86/boot/mkelf32.c
index 5f9e7e440e84..91742162bbb1 100644
--- a/xen/arch/x86/boot/mkelf32.c
+++ b/xen/arch/x86/boot/mkelf32.c
@@ -358,7 +358,8 @@ int main(int argc, char **argv)
         note_sz = in64_phdr.p_memsz;
         note_base = in64_phdr.p_vaddr - note_base;
 
-        if ( in64_phdr.p_offset > dat_siz || offset > in64_phdr.p_offset )
+        if ( in64_phdr.p_offset > (offset + dat_siz) ||
+             offset > in64_phdr.p_offset )
         {
             fprintf(stderr, "Expected .note section within .text section!\n" \
                     "Offset %"PRId64" not within %d!\n",
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:36:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:36:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919607.1324026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuarV-0006Z8-Gb; Tue, 18 Mar 2025 17:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919607.1324026; Tue, 18 Mar 2025 17: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 1tuarV-0006Z1-Cg; Tue, 18 Mar 2025 17:36:21 +0000
Received: by outflank-mailman (input) for mailman id 919607;
 Tue, 18 Mar 2025 17: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuarT-00060R-MJ
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:19 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f7a932c-041f-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 18:36:18 +0100 (CET)
Received: by mail-pj1-x102e.google.com with SMTP id
 98e67ed59e1d1-3012885752dso5851081a91.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:18 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-301539ee99fsm8508710a91.20.2025.03.18.10.36.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10:36: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: 7f7a932c-041f-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319377; x=1742924177; 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=afzNQQfyUFyqOTFTLz1B2r9ofknuhIv9O17Klkth97o=;
        b=lifBCOgDLXmXzjieJwzXM8i07p6tXolTF/L0smXhkJEn+eVv7FkL9NHdLPjwoxXeoN
         XwSz9vC48vnhlQl/A20A2O8juB8e2b6HEhEMtR4cs+nyPNoBBi7ETaNzDPQTa1ZjpRru
         UOI89PebaXPFIhoKrXXOvN7VixvX8MXU35seY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319377; x=1742924177;
        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=afzNQQfyUFyqOTFTLz1B2r9ofknuhIv9O17Klkth97o=;
        b=sRhZT0hVZCMbHEEe6HGmi3i5TjTSOeQ59gce52NZSWIQ5KIQ/8IrMLCb1e92zzIyjm
         Lrs/dOi+inY6XW1SePBzxHukkVKD3Ojts6geLO2gFgXYNJP7F0CZyK6rYKn+Y5dx/DOH
         xUH72rC+NRfw1UOIEFckkofILmc3ehdgzlf7lnau0XKqFdOU1sGgqhHLHQ0nvshD++VG
         5BJ/CliAwrMFFR5Dgy4R47yTlG50kOV2aGmGE7+5cM8g4ccOKTH5ctD5A6Cw09CsaT1Z
         ZlVOzV4CRW0dlQAUasfM40pyByf05TLsyIJU9+MsTfkVkc9kd32FEp0gET1iuatjPVle
         lU6g==
X-Gm-Message-State: AOJu0YwzmQksfW3ccDnUAYT1NPTZ1HKJMNCRUQBuHSA78KmL/K68WgTQ
	dljtC8XPRf2qNICmEonSv1XoNKe4qE2iusMu+br+bj4lw2fAtQGugsjTDcTI1vt/DZ63Z8uHZE6
	4
X-Gm-Gg: ASbGnculEn9axSnoK9r5ztk2A5WeVjg7vqCzRKfwmYJLmgYsb7nh1ykJRmf/CerdIzH
	CpuRTeLOt8L5z/FJTscvTa2ccBjiNY3xx4cZ3wUaEOQhrRIjNUFkHjGyzRuxofWSnjLLycZr8eZ
	4dCrjxmEwVIjFEjOdexbbErikNTCPZuG6F1LSfteeMeqwVxRE2mboDd9VBDnMvI70Xd2rn66WgT
	TVH29vC3/cJRFNkIyVdDeP3N1uCSSyPCN6kudM/2WjXoXP4ELwS0/SK9Sc7UX/l6+idwCXR5ONg
	X39ehtCnXyftu1Otg2UohtSB/rKqD8hG1j3BMDy9Hn4N6B8QEQ==
X-Google-Smtp-Source: AGHT+IESs8x8IkAZxLTS2lTF0bIBzqhtjNgD7seROnQX8yskfy18JdOKC2rIeOv3cDoBuyZ2imJPkg==
X-Received: by 2002:a17:90b:2685:b0:2ff:7c2d:6ff3 with SMTP id 98e67ed59e1d1-301a5b9615amr4801160a91.35.1742319376826;
        Tue, 18 Mar 2025 10:36:16 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH 3/7] xen: remove -N from the linker command line
Date: Tue, 18 Mar 2025 18:35:43 +0100
Message-ID: <20250318173547.59475-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318173547.59475-1-roger.pau@citrix.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It's unclear why -N is being used in the first place.  It was added by
commit 40828c657dd0c back in 2004 without any justification.

When building a PE image it's actually detrimental to forcefully set the
.text section as writable.  The GNU LD man page contains the following
warning regarding the -N option:

> Note: Although a writable text section is allowed for PE-COFF targets, it
> does not conform to the format specification published by Microsoft.

Remove the usage of -N uniformly on all architectures, assuming that the
addition was simply done as a copy and paste of the original x86 linking
rune.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/arm/Makefile   |  6 +++---
 xen/arch/ppc/Makefile   |  6 +++---
 xen/arch/riscv/Makefile |  6 +++---
 xen/arch/x86/Makefile   | 12 ++++++------
 4 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 4837ad467a06..129a109d6ec5 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -97,19 +97,19 @@ ifeq ($(CONFIG_ARM_64),y)
 endif
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
 	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 655d212f6687..cf27bcebb25a 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -12,19 +12,19 @@ $(TARGET): $(TARGET)-syms
 	cp -f $< $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
 	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index b0c8270a9947..516f5d505ca8 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -16,19 +16,19 @@ $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
 	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f59c9665fdd0..c2f1dcf301d6 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -139,19 +139,19 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
 		> $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
 	    $(orphan-handling-y) $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
@@ -212,7 +212,7 @@ ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
-	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< $(relocs-dummy) \
+	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< $(relocs-dummy) \
 	                $(objtree)/common/symbols-dummy.o $(note_file_option) \
 	                -o $(dot-target).$(base).0 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
@@ -222,7 +222,7 @@ endif
 		> $(dot-target).0s.S
 	$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
-	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< \
+	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< \
 	                $(dot-target).0r.o $(dot-target).0s.o $(note_file_option) \
 	                -o $(dot-target).$(base).1 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).1) \
@@ -231,7 +231,7 @@ endif
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).1s.S
 	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
-	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds -N $< \
+	$(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 $@ \
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:36:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:36:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919612.1324036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuarb-000707-Po; Tue, 18 Mar 2025 17:36:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919612.1324036; Tue, 18 Mar 2025 17:36: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 1tuarb-000700-Lo; Tue, 18 Mar 2025 17:36:27 +0000
Received: by outflank-mailman (input) for mailman id 919612;
 Tue, 18 Mar 2025 17:36: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuarZ-0005mN-Pu
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:25 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 82cd6eb2-041f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:36:24 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id
 d9443c01a7336-224100e9a5cso115688115ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:24 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7371167e17fsm10144622b3a.104.2025.03.18.10.36.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10:36: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: 82cd6eb2-041f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319382; x=1742924182; 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=9KhreOqQURS5ztJK6NNrxpVchE7gIrRKS/GcpRSMP/k=;
        b=tfOaVlIMzKNSqtgl/jbRRmak2Xwv3h9JGkXX8vwmuN6XiNmGgCza5Ab+SjSzb52U/R
         bv9sJXK+H36EPHBZ3bNZvQ//fR4KmHqEL+CHNemeCx/zGg27gBAGvT/AaqQCW/eCuprV
         taKVOHHZNGp6favUPdg80ZwOF09Hh3Yc6Gtkw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319382; x=1742924182;
        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=9KhreOqQURS5ztJK6NNrxpVchE7gIrRKS/GcpRSMP/k=;
        b=lvD2ZyJO77QTW1Vxu7Au0IADmAdu4f3ruYJ5lYEGoq9N3oCZbBtW3sAe/poZT9yuBs
         1ictJJFL03KnZG19IjjM9Wx+mkyE5XHDMgFk0y6DNrvaaItb9r9YURFFngn3Ic/SRsWw
         wMANJ1eO9l8tJX3s7gnQ31sCf5aSfcnOoX2YhDSw8xeUfyMuCSz/7pzsPz+bZ6uFgZBa
         6TwuvL+iv7VmKXxijjxdHTrgMsKrIjVMgTaII43WjFT/XAFRR0acMJUKx1a//RU4+eYh
         eKpqRZl1SEsKLHP4Rp44/gIz8JTOiyO5ZX5bXf4Z1B4G/dynlYHh/ZW7lXP1ODSi9g24
         ncxA==
X-Gm-Message-State: AOJu0YxezHCMRrANCOKBH/prOxKWLgSXCVN02CoWR7gy72tJlL5vtcr/
	n7iuQltEwm+NFtbxm2Tx59zi/B3mWLvlyRYt+yg2Hk26mJXEnq9pkxPDOazvr2X9TX3iHdl1x6e
	r
X-Gm-Gg: ASbGncsAipvmiFH/gQZff26hvlhiAeB6TeRJRTBcMFKIvUdTabNLZB8+uMPxcK1aEcy
	ATA5RsVySlh1abaDM9452WmJiJhAYH/yRY9snuRF3qHpo2Rp0ng0VYCobECW0TEvXSs184yclf6
	ftpPvnEx19CAyTyPuMK2/0Mj1kP0k990wngHJ93nVpNUOeMKeEvnKs4Gm6/d2WFVk3fVrIs6xSQ
	gQm13H0zX51pIo7o3+MTm8UlzIRS9fMcYOqB155LkaYNDRrftmaX7RAyusqhUSzXcsGA62aUwpb
	/pemsiRAJlfqZ5MQdG2KQECOEZW159L7/HaAapwxRnWLOW8D9A==
X-Google-Smtp-Source: AGHT+IHDH8lpZJUcCK8W5dngcQSp989Qg7KHwHuCrLVEBR91aX9cw7ot+dlbwpRmSr8inDbPaZiTYg==
X-Received: by 2002:a05:6a00:14cc:b0:732:5611:cbb5 with SMTP id d2e1a72fcca58-73722399d9fmr16971960b3a.11.1742319382219;
        Tue, 18 Mar 2025 10:36:22 -0700 (PDT)
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>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH 4/7] x86/boot: apply trampoline relocations at destination position
Date: Tue, 18 Mar 2025 18:35:44 +0100
Message-ID: <20250318173547.59475-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318173547.59475-1-roger.pau@citrix.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Change the order relocations are applied.  Currently the trampoline is
patched for relocations before being copied to the low 1MB region.  Change
the order and instead copy the trampoline first to the low 1MB region and
then apply the relocations.

This will allow making .init.text section read-only (so read and execute
permissions only), which is relevant when Xen is built as a PE image.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/boot/build32.lds.S      |  1 +
 xen/arch/x86/boot/head.S             |  6 +++---
 xen/arch/x86/boot/reloc-trampoline.c | 16 ++++++++--------
 xen/arch/x86/efi/efi-boot.h          | 15 ++++++---------
 4 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/boot/build32.lds.S b/xen/arch/x86/boot/build32.lds.S
index 1e59732edd6e..92dc320b7380 100644
--- a/xen/arch/x86/boot/build32.lds.S
+++ b/xen/arch/x86/boot/build32.lds.S
@@ -50,6 +50,7 @@ SECTIONS
         DECLARE_IMPORT(__trampoline_seg_start);
         DECLARE_IMPORT(__trampoline_seg_stop);
         DECLARE_IMPORT(trampoline_phys);
+        DECLARE_IMPORT(trampoline_start);
         DECLARE_IMPORT(boot_vid_info);
         . = . + GAP;
         *(.text)
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 59a2b5005cf6..3f81b21b5a7f 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -679,9 +679,6 @@ trampoline_setup:
         shr     $PAGE_SHIFT, %ecx                /* %ecx = Slot to write */
         mov     %edx, sym_offs(l1_bootmap)(%esi, %ecx, 8)
 
-        /* Apply relocations to bootstrap trampoline. */
-        call    reloc_trampoline32
-
         /* Do not parse command line on EFI platform here. */
         cmpb    $0, sym_esi(efi_platform)
         jnz     1f
@@ -709,6 +706,9 @@ trampoline_setup:
         mov     $((trampoline_end - trampoline_start) / 4),%ecx
         rep movsl
 
+        /* Apply relocations to bootstrap trampoline. */
+        call    reloc_trampoline32
+
         /* Jump into the relocated trampoline. */
         lret
 
diff --git a/xen/arch/x86/boot/reloc-trampoline.c b/xen/arch/x86/boot/reloc-trampoline.c
index e35e7c78aa86..ac54aef14eaf 100644
--- a/xen/arch/x86/boot/reloc-trampoline.c
+++ b/xen/arch/x86/boot/reloc-trampoline.c
@@ -20,19 +20,19 @@ void reloc_trampoline64(void)
     uint32_t phys = trampoline_phys;
     const int32_t *trampoline_ptr;
 
-    /*
-     * Apply relocations to trampoline.
-     *
-     * This modifies the trampoline in place within Xen, so that it will
-     * operate correctly when copied into place.
-     */
+    /* Apply relocations to trampoline after copy to destination. */
+#define RELA_TARGET(ptr, bits) \
+    *(uint ## bits ## _t *)(phys + *ptr + (long)ptr - (long)trampoline_start)
+
     for ( trampoline_ptr = __trampoline_rel_start;
           trampoline_ptr < __trampoline_rel_stop;
           ++trampoline_ptr )
-        *(uint32_t *)(*trampoline_ptr + (long)trampoline_ptr) += phys;
+        RELA_TARGET(trampoline_ptr, 32) += phys;
 
     for ( trampoline_ptr = __trampoline_seg_start;
           trampoline_ptr < __trampoline_seg_stop;
           ++trampoline_ptr )
-        *(uint16_t *)(*trampoline_ptr + (long)trampoline_ptr) = phys >> 4;
+        RELA_TARGET(trampoline_ptr, 16) = phys >> 4;
+
+#undef RELA_TARGET
 }
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 1d8902a9a724..e4ed8639b9ac 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -105,10 +105,8 @@ static void __init efi_arch_relocate_image(unsigned long delta)
     }
 }
 
-static void __init relocate_trampoline(unsigned long phys)
+static void __init relocate_trampoline(void)
 {
-    trampoline_phys = phys;
-
     if ( !efi_enabled(EFI_LOADER) )
         return;
 
@@ -213,6 +211,8 @@ static void __init efi_arch_process_memory_map(EFI_SYSTEM_TABLE *SystemTable,
         }
     }
 
+    if ( !trampoline_phys )
+        trampoline_phys = cfg.addr;
 }
 
 static void *__init efi_arch_allocate_mmap_buffer(UINTN map_size)
@@ -223,11 +223,7 @@ static void *__init efi_arch_allocate_mmap_buffer(UINTN map_size)
 static void __init efi_arch_pre_exit_boot(void)
 {
     if ( !trampoline_phys )
-    {
-        if ( !cfg.addr )
-            blexit(L"No memory for trampoline");
-        relocate_trampoline(cfg.addr);
-    }
+        blexit(L"No memory for trampoline");
 }
 
 static void __init noreturn efi_arch_post_exit_boot(void)
@@ -236,6 +232,7 @@ static void __init noreturn efi_arch_post_exit_boot(void)
 
     efi_arch_relocate_image(__XEN_VIRT_START - xen_phys_start);
     memcpy(_p(trampoline_phys), trampoline_start, cfg.size);
+    relocate_trampoline();
 
     /*
      * We're in physical mode right now (i.e. identity map), so a regular
@@ -638,7 +635,7 @@ static void __init efi_arch_memory_setup(void)
     status = efi_bs->AllocatePages(AllocateMaxAddress, EfiLoaderData,
                                    PFN_UP(cfg.size), &cfg.addr);
     if ( status == EFI_SUCCESS )
-        relocate_trampoline(cfg.addr);
+        trampoline_phys = cfg.addr;
     else
     {
         cfg.addr = 0;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:36:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919621.1324046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuarh-0007S9-1m; Tue, 18 Mar 2025 17:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919621.1324046; Tue, 18 Mar 2025 17: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 1tuarg-0007S2-UJ; Tue, 18 Mar 2025 17:36:32 +0000
Received: by outflank-mailman (input) for mailman id 919621;
 Tue, 18 Mar 2025 17:36: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuarf-0005mN-Nb
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:31 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86011809-041f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:36:29 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-22548a28d0cso10964035ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:29 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-737116b378bsm9913768b3a.180.2025.03.18.10.36.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10: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: 86011809-041f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319388; x=1742924188; 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=65x9tIuo8RiSngh578dsqmv2cGZ1RIuqM9MS+sxM7n0=;
        b=iAUBWohT8KhapBBHYWs+uoTIi+6Khx2muYTkQeWnnhQvJ5MpU+hWQ1CM5RpER32pLi
         fvg+wnJBdR0/EL7Kog36rdlok5E6NOVeao8cZ16W8nOx6n4xhDRpr2/FwTjiXsMwspqg
         6XA2R//AVYMsxcYi7Bo0xHQJjDOIWaPmh+Lfo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319388; x=1742924188;
        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=65x9tIuo8RiSngh578dsqmv2cGZ1RIuqM9MS+sxM7n0=;
        b=aFf1Jtubc86CJxjccIystVp8DkPeEae/SRvkHxgWGk5R6v8aa2loWSkrcLg/8a+ZxT
         dZiZONpwe+nEdsQolhwIYyhuJWKYqKrkTjfbDbtl6ukqxA7z2bBV1aFLsny39/lXsLGs
         l7/2TksxzpBcCzbHfeb1kdNI25xyyr28JxM/FmcFyMNr/uD+gKtVTR6ZOJ6AtQvSU9ej
         LtF+946FHqNatYPVonF3hsSGn3ro6VZUG2phR2E4VJzhkcFUO7WI5w1aaUp4cQP7Czwm
         EGc8ETqoSiVwn/ZNruKdSVYuAnU112wWbxBB+Qjb6EjzHfBzgPey3yfFSwdp8FLdc6It
         Wegw==
X-Gm-Message-State: AOJu0Yyp4htl0r3tlLZezUO+INhGSgX+qGzy2R6/v1wK1jzBFVp0atEx
	h4Oz7r8bGZ8kXJU89cF2DeZf/YUA0YxQIrP7u0varTOcVfyHz96a6UjckwcdRCf/fblFVfLOvTF
	S
X-Gm-Gg: ASbGnctSo9Cq+d5dgHQoydqd/ygNUQMmmHP3FIq5RFmgImg5JOPbp7akPSXewH54in7
	a1/GQ7Gi7IHZwZummFU3y1Bt12KkVkrfpwqv928MsJBGD3nxAJxEOSJsaTenU1ZtZX1MK0F60pw
	MZAyokEHHPoTM5i+R0CVDRMo4LsaI67OCU5bknMmZS0hEWgbLHoFqKkc8IdUVhioBaSUoLllOal
	ZNXrXVZ2ptwhJWQdfHtpek3ezcRUAj8kG3yp0uMsaztJ71jGqBajWnxnASlX27AS5N3fN9EKnRc
	m6MKriyJdB4MmHKt4FBg4YYj/yDGqSR9ucpR0Jf/oJPa/HvIdA==
X-Google-Smtp-Source: AGHT+IHBmHeZPVhhAefSRXC16fWz8L91e4nLV5etg4aNZ5lIx3DY+90wO0OaM48da41HjeI/xoenuQ==
X-Received: by 2002:a05:6a00:3d08:b0:736:ab49:a6e4 with SMTP id d2e1a72fcca58-7372236f104mr18793159b3a.1.1742319387599;
        Tue, 18 Mar 2025 10:36:27 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO section
Date: Tue, 18 Mar 2025 18:35:45 +0100
Message-ID: <20250318173547.59475-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318173547.59475-1-roger.pau@citrix.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Relocations are now applied after having moved the trampoline, so there's no
reason to warn about relocations to read-only sections.  The logic that
apply the relocations would make sure they are applied against writable
mappings.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/efi/mkreloc.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/xen/arch/x86/efi/mkreloc.c b/xen/arch/x86/efi/mkreloc.c
index 375cb79d6959..a5a1969f2ee5 100644
--- a/xen/arch/x86/efi/mkreloc.c
+++ b/xen/arch/x86/efi/mkreloc.c
@@ -216,11 +216,6 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2,
             exit(3);
         }
 
-        if ( !(sec->flags & IMAGE_SCN_MEM_WRITE) )
-            fprintf(stderr,
-                    "Warning: relocation to r/o section %.8s:%08" PRIxFAST32 "\n",
-                    sec->name, i - disp);
-
         printf("\t.word (%u << 12) | 0x%03" PRIxFAST32 "\n",
                reloc, sec->rva + i - disp - rva);
         reloc_size += 2;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:36:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:36:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919630.1324055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuarm-00082o-Bo; Tue, 18 Mar 2025 17:36:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919630.1324055; Tue, 18 Mar 2025 17:36: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 1tuarm-00082f-8n; Tue, 18 Mar 2025 17:36:38 +0000
Received: by outflank-mailman (input) for mailman id 919630;
 Tue, 18 Mar 2025 17:36: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuark-0005mN-Ni
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:36 +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 895a62eb-041f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:36:35 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-300fefb8e06so6558622a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:35 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-301539ed283sm9468305a91.18.2025.03.18.10.36.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10:36: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: 895a62eb-041f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319393; x=1742924193; 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=lnnJ3xUa+7L049ca6Sahnid1TE+CyJxFQ59zdbyMZxw=;
        b=rR5ke08HrJUomu+ykVjM3XBi134zBON6pTB6xFHqVztC4+k0vkyqggVJiQSpYGtoFW
         C/xuS75g564zJrZBkZdDPehwLpXxlz8ejXaxMV9GS42i5V4/+zhT8VnIGWTVulWwrcer
         xe+uOM6LiiDUzbtpay2Lfak2fD0TNqaOTSqtE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319393; x=1742924193;
        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=lnnJ3xUa+7L049ca6Sahnid1TE+CyJxFQ59zdbyMZxw=;
        b=gQvr/i2eV3PV9YdBtWZA683lYJLkLd+UE3DsVKISw4yKIaNtKYPqWscw/y66O3q1Et
         fB5Lme5C8/UgGTy3QEq4KdPOqDwVY29bRHvWNWfebWs9r1kYIleRM05fGZgocWv63tXq
         w8sIb13T/Nf/kpaEtTBDS9GRvR4jAoWbt9yol/U1hqIG/gUW+ZogWH4FWIqY/rpcFMC+
         UbK3LnNXGXyBNd89HeMfFT54kwcpzDH3Ydf6WOMUUfvYRfppVhG6mheTQQ+zZzuQTXzj
         rh4Np88RtoC7y+G/QPbbIag3veNW1clw9CIHaHJn7dOg4F03ZMHBnmHqrOLdYVzLx5/H
         dJ5g==
X-Gm-Message-State: AOJu0YxeCFiLje3GBIf7Os5ltmpQcXTZL8yR02o7l4tCHPjIgj8rjFw6
	DoSJdrNssWR97H3UUm6+HLaQ1XhAhf6DpQpznwX+z9QE0tY/eALugG35VcYSCfwtlKqTYreVVdP
	d
X-Gm-Gg: ASbGncutSNfk5f8RtuUfv62rhvQ4J3ZJNoE3e3W3vk4B7AZ7YGPJEubZEbIBgnRCTmD
	vOGNYsVEzqOqBY1GUToMY3FwnKcR7aaTTvSpS/uUwXEZ38RUSizYD04Cd82ZO+tKT+dEH/RgNVD
	DTSfRu/l7+zsF/u/SOvCLo9yA0aIJ/z5romwzpdeZQxXoN7Dke9+KPqbDeVyjqqNPsKmhVvm5Hr
	OgHcth1arjACYxnUoLrkG9Kgg7evMa8qfRs6cdovjvKy8aa7DbMccLtT2jS7xiOf1qNSpWe1krR
	0trQ2wRjuPyaaTHfJxscQpdM29sZOjAYp7s7FWR4N7kGxXfLVg==
X-Google-Smtp-Source: AGHT+IFXq7LlHxnBn4TlEJLayGWBPmrkETzsLxszrzf6fvzFGAVESafuRGRJtglAaac4Evwz9sRLMg==
X-Received: by 2002:a17:90a:ec90:b0:2ee:d371:3227 with SMTP id 98e67ed59e1d1-301a5b1cf96mr4723168a91.17.1742319393308;
        Tue, 18 Mar 2025 10:36:33 -0700 (PDT)
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 6/7] x86/efi: do not merge all .init sections
Date: Tue, 18 Mar 2025 18:35:46 +0100
Message-ID: <20250318173547.59475-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318173547.59475-1-roger.pau@citrix.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As a result of relocations now being applied after the trampoline has been
copied into the low 1MB region, there's no need for a single .init section
that's writable, as .init.text is no longer modified.

Remove the bodge and fallback to the layout used by ELF images with an
.init.text and .init.data section.

The resulting PE sections are:

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         0019072c  ffff82d040200000  ffff82d040200000  00000440  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rodata       000884c8  ffff82d040400000  ffff82d040400000  00190b80  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  2 .buildid      00000035  ffff82d0404884c8  ffff82d0404884c8  00219060  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .init.text    00052866  ffff82d040600000  ffff82d040600000  002190a0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  4 .init.data    00059730  ffff82d040658000  ffff82d040658000  0026b920  2**2
                  CONTENTS, ALLOC, LOAD, DATA
[...]

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/arch/x86/xen.lds.S | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d4dd6434c466..5ab37cefa25a 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -197,11 +197,7 @@ SECTIONS
   __2M_init_start = .;         /* Start of 2M superpages, mapped RWX (boot only). */
   . = ALIGN(PAGE_SIZE);             /* Init code and data */
   __init_begin = .;
-#ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
-  DECL_SECTION(.init) {
-#else
   DECL_SECTION(.init.text) {
-#endif
        _sinittext = .;
        *(.init.text)
        *(.text.startup)
@@ -213,12 +209,8 @@ SECTIONS
         */
        *(.altinstr_replacement)
 
-#ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
-       . = ALIGN(SMP_CACHE_BYTES);
-#else
   } PHDR(text)
   DECL_SECTION(.init.data) {
-#endif
        *(.init.bss.stack_aligned)
 
        . = ALIGN(POINTER_ALIGN);
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:41:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:41:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919669.1324065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuaw1-0002ir-S4; Tue, 18 Mar 2025 17:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919669.1324065; Tue, 18 Mar 2025 17:41: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 1tuaw1-0002ik-PG; Tue, 18 Mar 2025 17:41:01 +0000
Received: by outflank-mailman (input) for mailman id 919669;
 Tue, 18 Mar 2025 17:41: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuarq-0005mN-Ax
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:36:42 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8cabb536-041f-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:36:40 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-2240b4de12bso19139585ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:36:40 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6bbe8f9sm97045265ad.175.2025.03.18.10.36.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10:36: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: 8cabb536-041f-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319399; x=1742924199; 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=yEL7HWOclcVrzRnpzMMvw5ftkL6OMCSWHDm4UrTJlco=;
        b=s2ALeU5Oh9J2AJcu4LqEOMmq1tdMKJw7Jfl5g8D+r5hRsusB/22GmtCDO1cvgKh+uS
         iQn2NI8qVBTk0mE9Xw4srjsjlLPOxvxRR9RsZod9A4ul9/Nlp2o3qpXWDJTz667bNF2N
         wC6GIAsPgzZIX4vs9H7xXRqo7JV3WAt4aS5wY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319399; x=1742924199;
        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=yEL7HWOclcVrzRnpzMMvw5ftkL6OMCSWHDm4UrTJlco=;
        b=AbeXq7aC12GrO84K8AMMW2xdPUZDQfc/NIJPwEldqBrOoNNNcfvaX1aVZIf0dap/3k
         WUNQYjwfk9sUUvLIj5S9IXu6ce0RtKD9UO7XjHnlf4hBVgzXpkLnKmPGzt7uC1brOnsd
         xP7ljj1+TaCozG6ihOIr4aJcyFM6Pf6MFCjD/ILePfzt5IS4STn5C4rxuPf8Agxp93H/
         BI2tiPH9udRKXFgG8ZHbVpTglIz/e9cSWYo3SUKKhYXnqO6YXWoAD5XiDLFAkfvkeflc
         N3giMnfXPKebHCCT7lRL/3/0FzxSym2ZRIQM0SxM+4RxCR4sSQyBCNiAXDh7uT109rCo
         long==
X-Gm-Message-State: AOJu0YzhGwMo13Cq5FEK+Ej/Iis5R8eeWt9ZCR3WCoGjS3GZGwfwXjW1
	5VXftLpcIMlM0PrORSgHQuEP/9fjCxIqLB/sOmhmhC7FfYMvABcbTarBqjCkM53j3/rAarjYieH
	G
X-Gm-Gg: ASbGnct6Uev3K39M4w/Zm2Czv+54gAcWZXrDHy0miRuI+MnBW7wCfN9JAuxxmTnUab9
	GdH4vdkR5W3UCgnGtoGkseUUxrQgWtoTfxGs45aRC3NMRJRVRLu5Oq1zVH8voie6YI8eXeT6+EN
	frlrivv928hTgo+rv/NCrA1CsNkJe2JuoaF+Ma0ITYro6fVexLU6dZag3TniSDyOucstP9J84YB
	PS8nCLOVdptPcvAjG6725ZSiOdXt3u5+luifaomYJAuuuzOXC3S3TTCo7NAqGUwcUnEh762ilb2
	N+9PGtEc0Wg1ja8tNCQEW4pgXqlYkVwQWbQwm29iNjArsSDf9A==
X-Google-Smtp-Source: AGHT+IGryaJt5eLOMVWZv5Q3OSb2wjTN14Pj/IJVXnvKMDc/TIBlHrZQ+wNIJ8Ghb3x14UCD0UuT0Q==
X-Received: by 2002:a17:903:2793:b0:224:255b:c92e with SMTP id d9443c01a7336-225e0a62f23mr155212305ad.3.1742319398887;
        Tue, 18 Mar 2025 10:36:38 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 7/7] xen/build: warn about RWX load segments
Date: Tue, 18 Mar 2025 18:35:47 +0100
Message-ID: <20250318173547.59475-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250318173547.59475-1-roger.pau@citrix.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

After having removed the -N option from the linker script invocation, and
also having removed the merging of the .init.text and .init.data sections
on x86, there should be no remaining RWX load segments.  Do not silence the
GNU LD warning.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 xen/Makefile | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 58fafab33d6f..989285df276e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -415,8 +415,6 @@ AFLAGS += -D__ASSEMBLY__
 
 $(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--noexecstack)
 
-LDFLAGS-$(call ld-option,--warn-rwx-segments) += --no-warn-rwx-segments
-
 CFLAGS += $(CFLAGS-y)
 # allow extra CFLAGS externally via EXTRA_CFLAGS_XEN_CORE
 CFLAGS += $(EXTRA_CFLAGS_XEN_CORE)
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:45:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919694.1324076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tub07-0003wP-CN; Tue, 18 Mar 2025 17:45:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919694.1324076; Tue, 18 Mar 2025 17:45: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 1tub07-0003wI-9H; Tue, 18 Mar 2025 17:45:15 +0000
Received: by outflank-mailman (input) for mailman id 919694;
 Tue, 18 Mar 2025 17:45: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tub05-0003wB-Mi
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:45: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 bd87d86f-0420-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 18:45:11 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso24618895e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:45:11 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7eb9d7sm18444324f8f.89.2025.03.18.10.45.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 10:45: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: bd87d86f-0420-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319911; x=1742924711; 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=Xl+KNJ7T0kgQlwKxRthgLmKrWtqRvkGi5Mmcgx/IhBc=;
        b=AUGRuFuR0aGY78YPce2S+TqCNUb1Zio+3rjanI3gs7Ggv8YlS5EDvyeZ2gmK+K8ljx
         3STlDdv/IFWp3hKNKePscjNZOO9VrbizHc6kYnIXnrcXyehlwghs8cnWqbXUAMj4qDU2
         QZAQamduz+fB98vhbxTdcxmo7BpcKeKgYX/0w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319911; x=1742924711;
        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=Xl+KNJ7T0kgQlwKxRthgLmKrWtqRvkGi5Mmcgx/IhBc=;
        b=jpJHBw8JPiRTWItDBxI0C1/l45xYw4ZP8l72LRcoOKTN6JiqJ9m60mWcIPKSQdh5aB
         AuWB4dOZchiLwnCE/I4OVGlD6DO/OnRs7LGmHSRHMpNPunHy3b53jM40AAzCjVXCSojs
         1gR63fBdhBWFLqwtSWKjyelsWtadSzfWA9Et61u/hqVGHHRbgTtb9uQGuOYd23OaNWr3
         OBLePg8XGYvzb+fLvWb99cDL048dl1swD/zZ6BkcfL/sQdErieUFg530D6LVfaX220Gm
         1C5y9jBGa+xTDMwFVo6SmvuipUqMhS56tyl70Oa4tcYViFiutbpcwWXvAdB634Ya/lIz
         m8Yw==
X-Forwarded-Encrypted: i=1; AJvYcCXGNmv9ErOtZAJwk4yzrS+SPxQxLwjOCaljRK6h/XdSWvTNeR9JKWc18sUtTP5uvXJb+ZtUywCNEbE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy3BKyrY29DGLL1aN3FeQW9uozF7dlf53ms4NY1TgmXBhtlgJbh
	nuHg+Y7WGcRKQzw7ZiN3a6Wm6HP5etV4lV3WHDJZzSowoq5eFmcC5OND9h/r5UyJm11mzDSEDfq
	1
X-Gm-Gg: ASbGnctnqqte+KOrrqIeuXvzbhjDHt98/kXQnkjzfQkI90LIrZfF9BDIkCR6goHmnfe
	GOb5GQjrGjDSsRs8lzFasu+4+PmH1zX+VoAxvfZKhQYxKctkbUlNWohU+t60rMenOEaNH0C748b
	3kW1MDpaIVojqLhrYQ3ASPZIHaaRsz+k7NBGJ3Em2DLFKCyR26jipzvq872LJ4zPcdphj2kMtVx
	v4d1UDD4mv6wVime3uQQgcsBm1qAO8BNhCQh1PXGIGIZIhjHJcluGMjtOrIIOsnVL9Zh1GpXj40
	fABSeKGlWfKn9DWJ8Dh0sEl48e1/5dFUURrdHw9UKSJJqHUNS7PX6wnVtiUv/pCJLOUzOjJFUjs
	nLOcJ4FqF
X-Google-Smtp-Source: AGHT+IEQ8dNV4h2ZZZp3tU4gv3H0hSVzBMsP2gcdtKbZ/OjGh3gJ/M5pRvIdhEXRs15M6UqRD1IaLQ==
X-Received: by 2002:a05:600c:8710:b0:43d:649:4e50 with SMTP id 5b1f17b1804b1-43d41aff34amr142015e9.13.1742319910799;
        Tue, 18 Mar 2025 10:45:10 -0700 (PDT)
Message-ID: <720af946-5c2a-43b4-a9fb-163e41bfdeb7@citrix.com>
Date: Tue, 18 Mar 2025 17:45:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] x86/boot: clarify comment about trampoline_setup
 usage
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-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: <20250318173547.59475-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> Clarify that trampoline_setup is only used for EFI when booted using the
> multiboot2 entry point.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
>  xen/arch/x86/boot/head.S | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 1b3bd16fe575..59a2b5005cf6 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -505,7 +505,8 @@ trampoline_bios_setup:
>  
>  trampoline_setup:
>          /*
> -         * Called on legacy BIOS and EFI platforms.
> +         * Called on legacy BIOS and EFI platforms when using multiboot (either
> +         * 1 or 2).
>           */

/* Called for Mutiboot entry, including MB2+EFI. */

is a little more concise?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:46:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:46:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919704.1324086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tub0t-0004Qz-K6; Tue, 18 Mar 2025 17:46:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919704.1324086; Tue, 18 Mar 2025 17: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 1tub0t-0004Qs-H2; Tue, 18 Mar 2025 17:46:03 +0000
Received: by outflank-mailman (input) for mailman id 919704;
 Tue, 18 Mar 2025 17: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tub0s-0004QY-8W
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:46:02 +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 db2e127a-0420-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 18:46:01 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso30087565e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:46:01 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffb627csm140808165e9.5.2025.03.18.10.46.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 10:46: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: db2e127a-0420-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742319961; x=1742924761; 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=wQXA2GDGReC2bJp2CCt8ooyzuAjyPY35ctQvdguzg1k=;
        b=lyaNZ2uu8XrZvMe5CDSb/aBKJUgr+BibG9YtgU1XQA0P7SRo6HE2ZbmBzKA/3kKpWz
         EnypvHObFo7QA2hX4NKtOsXf+rSdjdGhyb4wQOLT4ChjujSiHuayYFo6bvff6UAKJV8H
         TtGCyvqltoFapvq2REffKX0pM+bwNi9HBgcL0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742319961; x=1742924761;
        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=wQXA2GDGReC2bJp2CCt8ooyzuAjyPY35ctQvdguzg1k=;
        b=Ktzo8HHGMcv9beCgonZYaiW4af7iV25rQNOzl2kQGvuNdj/7I9aGuOcffuyCh7t4Hu
         4lp3Q2z5DNkXFKI82R8zUnxrOv0ghQPiuYHSrS7Hg7PBjUk/GtMJVd2KwySlfRnDKHLz
         PYAZ5H9Vph1EzLzKZ5JvHrJfjT7suZ7bmsUqcoLdqJnTl2/B+hbdR46ldfWCzeY1Vs3x
         jXJDyOEKqEarZCK2rrkhPRSxhi8QUd6VKxxj1/cHQJYXU/CJUcFcXcMvD4X17Lzs+xa5
         iZhMJ30vrGy/qxqiuhhKU87kmhrWMZ2O2f57LDKeRXTroG6r9UBIy/5U3q7nEytGJj50
         hWDg==
X-Forwarded-Encrypted: i=1; AJvYcCV4Ub+qlVeeC2oX3VIqbDYijQSvSJToT93CmRUfSJQ/alrKAx1MfdKAk2eEVHqUVcAxTxDwUyi+al8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJq6U/5gpkJDGaobKlCwe5PdwG8t2Ug6hLfi7yMwZBq3FilPy1
	LE+/mGxdRMAB8Nx+TIuGdfW4ZiKrglIs64ZCIMg7SLOgDSYnW24J6L9VTcnw+kQ=
X-Gm-Gg: ASbGncuDHtzQ/PwGfOpB8cE5jRvbzb5AccQGRnN6ZQ6SPVI95Nw/npnMmIvPDnbykOi
	MZ+aHN77/8/SdCIkH5hm0WWbEue+fMdbzmZkysuGtytKuY/gGtlXPy51WfP7EoSo8cZtuyzzvkp
	zP3HrvZafj44Mm4IoCBPIMttAvJypSIeZqvAsNf+yuFymkH9mLszdYwMIHAwzeRD90CWdrmPe8F
	otAS2cE+Ty4girPzSigKFkn7Ez7mXqipltnKaNcljR97gbtAt41tKv3bFKHlmpzV2Ul4WmdkRtI
	8f1PVTnsB6vLAk6NZa+4GXzBG8rbG3gr4z2XmZeoHb4cxusxbkefibZOacl9Vkd2aJ8affuzwbo
	eCUIRfTvU
X-Google-Smtp-Source: AGHT+IFCwKVk77OGfDfjgCBTY1RI+M+Y2DmdgxpZcnpfPzYLDKFwhh8OpKdRBNmt9x+B6g8spcolHg==
X-Received: by 2002:a05:600c:4f52:b0:43b:c0fa:f9cd with SMTP id 5b1f17b1804b1-43d3b980b4cmr39072295e9.7.1742319960663;
        Tue, 18 Mar 2025 10:46:00 -0700 (PDT)
Message-ID: <92fa6eaf-4e52-446c-8f0d-36ee63decd8c@citrix.com>
Date: Tue, 18 Mar 2025 17:45:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/mkelf32: account for offset when detecting note
 segment placement
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-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: <20250318173547.59475-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> mkelf32 attempt to check that the program header defined NOTE segment falls
> inside of the LOAD segment, as the build-id should be loaded for Xen at
> runtime to check.
>
> However the current code doesn't take into account the LOAD program header
> segment offset when calculating overlap with the NOTE segment.  This
> results in incorrect detection, and the following build error:
>
> arch/x86/boot/mkelf32 --notes xen-syms ./.xen.elf32 0x200000 \
>                `nm xen-syms | sed -ne 's/^\([^ ]*\) . __2M_rwdata_end$/0x\1/p'`
> Expected .note section within .text section!
> Offset 4244776 not within 2910364!
>
> When xen-syms has the following program headers:
>
> Program Header:
>     LOAD off    0x0000000000200000 vaddr 0xffff82d040200000 paddr 0x0000000000200000 align 2**21
>          filesz 0x00000000002c689c memsz 0x00000000003f7e20 flags rwx
>     NOTE off    0x000000000040c528 vaddr 0xffff82d04040c528 paddr 0x000000000040c528 align 2**2
>          filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
>
> Account for the program header offset of the LOAD segment when checking
> whether the NOTE segments is contained within.
>
> Fixes: a353cab905af ('build_id: Provide ld-embedded build-ids')
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:50:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919716.1324095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tub5T-00069a-4C; Tue, 18 Mar 2025 17:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919716.1324095; Tue, 18 Mar 2025 17: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 1tub5T-00069T-13; Tue, 18 Mar 2025 17:50:47 +0000
Received: by outflank-mailman (input) for mailman id 919716;
 Tue, 18 Mar 2025 17:50: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=mYbn=WF=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tub5S-00068S-AZ
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:50:46 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 837e5f59-0421-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 18:50:44 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-2255003f4c6so107324125ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:50:44 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-73711578d15sm9894171b3a.82.2025.03.18.10.50.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 10:50: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: 837e5f59-0421-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742320243; x=1742925043; darn=lists.xenproject.org;
        h=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=p0ZC3IBzZzaYzqfmFXtE+Vo/yyQqO+VOl8Gf/emR9pg=;
        b=iIt0/i+Xp8osBkcnAJHUki0Tq0VlR/clz/g76vzCXVHj4JkeQUdeU+Sd1ky82k0+9y
         dVTZ8Qe42QmKgJ3Me1P+W4+fcGU7s6C3FAPEFsuRt3o6pTtIVrK2+SS700/Qm6jMA+H8
         aog60EBC0lrTXbLbKWKMjSru3hPw7CCBUGPiQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742320243; x=1742925043;
        h=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=p0ZC3IBzZzaYzqfmFXtE+Vo/yyQqO+VOl8Gf/emR9pg=;
        b=EGOJqOqrB4S4fw69ScXcu5XgQjqvY+OBnnm365evyMv3dWbROqn+YERPXKturHqf4b
         ihxV5z4BOv0NIUcIXZ3882mnMQPwGgPIoj6HvA3IbMnsQeg8RVRihpP4IAP+ZwsX1zho
         YMGnXy3fy9cESJJ0X1cCg/ADje7hmMJJTbPLGEDTXMjffAUEUOutrxDrN9QVZhyMDhIa
         /Do6gsp39J45RUnwBWORCU41U+Vsu2gcxeqle4KycNp4/0XEXa/QD5NDS+TeRIWG5bPE
         5EzVNI2molJ+U+GD0WPW3SaL5JBTwY1cqUBH6rv36DFmfDET/xS8FgUwFbQvozfWFajU
         rLwg==
X-Forwarded-Encrypted: i=1; AJvYcCW6DXLJlrIcpNBT8Tcp+XKxHzRwBIFeL1S+8ygkXif9SJGVXHh+DtVBpkbHwt4YGAfDyDdq77h2T7c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwZxH/SDSqcJqZBYv0Ml9uTGKO/993I3rHbMdptQYggFgh+BGIC
	okw19/EXUBb+VAyULSqpuPEg8AZYr3WxUlQB4s6QOzt4ug8ONqE44UK9NbIRZ8Y=
X-Gm-Gg: ASbGncv4JfxDL1tQ++jt/aFe6JV8bTYa+z5G5VvLK29Q3/gCVLXeomXwayGDpPBBP5Y
	L3nuweRPXamQhwvJJV6aUgN/73nJzF4mwTwZAXC5GZq6eI5oXtGWn8j6WOHM9Ms2Bhsu4jnZeRV
	JOxqD0Uw7tMOfvTHgNVpgjS8nLdkPnUgJfyC/nuk18Pz546OjPiQkpDf/mRIzJwWmha298ml4mw
	Y/hKw/TgUOitQfVLdxk6xgCa4hHpMnyGRdALf4CL4UdIc8z2k4M73679WuAZeVn5i1SiFI822wY
	6Z/xDnWTRd6dm0T8XxXMOHDE3SKmtwcn9IH2QZDPHssFi/Zdzg==
X-Google-Smtp-Source: AGHT+IGpt86ZMGbP+avm1GF8clF4Xs+B6jpjJ4xwM7+OGRPPBhRNcoCtmj2iqJY4XCP3Y1Y8fNt3iw==
X-Received: by 2002:a05:6a21:1644:b0:1ee:e2ac:5159 with SMTP id adf61e73a8af0-1f5c1201d48mr26369133637.19.1742320242958;
        Tue, 18 Mar 2025 10:50:42 -0700 (PDT)
Date: Tue, 18 Mar 2025 18:50:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 3/5] x86/xlat: fix UB pointer arithmetic in
 COMPAT_ARG_XLAT_VIRT_BASE
Message-ID: <Z9mybWM1a-9nvm-n@macbook.local>
References: <20250318091904.52903-1-roger.pau@citrix.com>
 <20250318091904.52903-4-roger.pau@citrix.com>
 <8ad59d67-02f8-415c-93a0-2361e920c017@suse.com>
 <Z9mSub1DgzoP71-v@macbook.local>
 <06e00c30-90d4-42a1-a1d7-fadd63b9377e@suse.com>
 <Z9mjsLFkCCxMR84Z@macbook.local>
 <1e37eb58-21a0-49a1-b7fe-9c950b32e2e6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1e37eb58-21a0-49a1-b7fe-9c950b32e2e6@suse.com>

On Tue, Mar 18, 2025 at 06:01:46PM +0100, Jan Beulich wrote:
> On 18.03.2025 17:47, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 18, 2025 at 04:50:58PM +0100, Jan Beulich wrote:
> >> On 18.03.2025 16:35, Roger Pau MonnĂŠ wrote:
> >>> On Tue, Mar 18, 2025 at 03:33:03PM +0100, Jan Beulich wrote:
> >>>> On 18.03.2025 10:19, Roger Pau Monne wrote:
> >>>>> --- a/xen/arch/x86/include/asm/x86_64/uaccess.h
> >>>>> +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h
> >>>>> @@ -9,9 +9,9 @@
> >>>>>   * a secondary mapping installed, which needs to be used for such accesses in
> >>>>>   * the PV case, and will also be used for HVM to avoid extra conditionals.
> >>>>>   */
> >>>>> -#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \
> >>>>> -                                   (PERDOMAIN_ALT_VIRT_START - \
> >>>>> -                                    PERDOMAIN_VIRT_START))
> >>>>> +#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
> >>>>> +                                   (PERDOMAIN_VIRT_START - \
> >>>>> +                                    PERDOMAIN_ALT_VIRT_START))
> >>>>
> >>>> Aren't we then (still) dependent on ordering between PERDOMAIN_VIRT_START
> >>>> and PERDOMAIN_ALT_VIRT_START? Would
> >>>>
> >>>> #define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \
> >>>>                                    PERDOMAIN_VIRT_START + \
> >>>>                                    PERDOMAIN_ALT_VIRT_START)
> >>>>
> >>>> perhaps be less fragile?
> >>>
> >>> PERDOMAIN_{ALT_,}VIRT_START are unsigned long, so this might work.
> >>>
> >>> Note however that even with your suggestion we are still dependant on
> >>> ARG_XLAT_START(v) > PERDOMAIN_ALT_VIRT_START, or else the '-' won't
> >>> work.  I think I prefer my proposed version, because it's clear that
> >>> PERDOMAIN_VIRT_START, ARG_XLAT_START(current) >
> >>> PERDOMAIN_ALT_VIRT_START.
> >>
> >> What makes that clear? Can't we move PERDOMAIN_ALT_VIRT_START pretty
> >> much at will?
> > 
> > We would need to adjust the calculations here again, if
> > PERDOMAIN_ALT_VIRT_START > PERDOMAIN_VIRT_START the subtraction would
> > lead to an underflow, and would also be UB pointer arithmetic?
> 
> With
> 
> #define ARG_XLAT_VIRT_START      PERDOMAIN_VIRT_SLOT(2)
> 
> I can't see how subtracting PERDOMAIN_VIRT_START could lead to an underflow.
> The idea of the expression suggested is to first subtract the area base (no
> underflow) and then add the other area's base (no overflow).

Oh, right, I was reading it wrong sorry, somehow I was (still) seeing
a pair of braces around PERDOMAIN_VIRT_START +
PERDOMAIN_ALT_VIRT_START when there are none.  Yes, I will adjust to
your suggestion.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 17:53:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 17:53:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919732.1324106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tub8V-0007up-LX; Tue, 18 Mar 2025 17:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919732.1324106; Tue, 18 Mar 2025 17:53: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 1tub8V-0007ui-Hi; Tue, 18 Mar 2025 17:53:55 +0000
Received: by outflank-mailman (input) for mailman id 919732;
 Tue, 18 Mar 2025 17:53: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tub8U-0007uc-Uy
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 17:53:54 +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 f4d77fe8-0421-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 18:53:53 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso5164942f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 10:53:53 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df402esm18471441f8f.1.2025.03.18.10.53.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 10: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: f4d77fe8-0421-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742320433; x=1742925233; 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=NH7SrMNrma10VbQJdSpvzoRp+AR8UrXCgsGTGsIG4J8=;
        b=guFAJeHn9uqDJ3Ayy1qy7P2lCwxtnD+M7l9zcYkjIhXb8tY8DsH5C6dSPNNbWGj4kq
         MeQVon/pq9WqvkQF1F1b89IalK8dA5+XAwoOIPI/Uxqmg3PhRv8jgwHXZ+OPZuhWCvt7
         ch+2+DwZf8WYoaFaIZ4iJrk01F4gqVZGH+TdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742320433; x=1742925233;
        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=NH7SrMNrma10VbQJdSpvzoRp+AR8UrXCgsGTGsIG4J8=;
        b=XMNdlKvCBQbvVGw2HVZTx1aGRIIeNPWvV3PtCIf9r0pwn7DQjQUPo4VIf3Y4xOIxtr
         P+hhC2Nwpi4XH6SBxIg588NetFqxW1TChY2uENxDosZNXEBJJtaj9ky/FmJHuwlNV/fS
         Dmp+mCkOmIEe/gk0RtwD7nBrYxREE4PRksQ+EMDYu0YTBUTAy84KnWVb+KGjkUFS1oZC
         xjprksk8k1fK1jnHryumPWxLuHfB6apst+6TZiQo5rRXWIBgzEDjJQXITq3y1BUTLtGK
         GPB6zHFYEJ4ub5X6fBVinZG2Pxztd54Hqj/rvSF3ulQB11ydWY3NzfvfmS5leXtRj077
         NhsQ==
X-Forwarded-Encrypted: i=1; AJvYcCWwjW7un1nXBRK61oS53O2b5tDk6Dioj5RuAzy8jplgl3Cb3DLvz2UTayAL5xR1QJrMSXz+O0HHFXY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7GYpQhkUGziIJro+O0mHE48HIBHLVXKBgX05y1KYjV8+muIEw
	GbYQimBgSO46Zh0KtGkTsoWixCPx13keWa5+KvYjFnL4L8lzvHkTa9X0oB4muQw=
X-Gm-Gg: ASbGncsCVdzA8lnUK3fS/Lg1s6v4/xOrzH8pY5HTRxX4gXQgoM3LtykpCNeiOiVJATS
	ezUz3PfOE50wrR62km/vEJfUhCLrOENz75Hnnd3tonSfTlT/VjpSHJNxoF4uyoCw8sQ2yhZ+9Pr
	kskSaWU/SIyqTeXTgU9+/YDbD4Af1T/2Hc22I5FltA4PpaGp2M+iImSSWNiaAKQnco+7mgMyXPC
	wK/hpl/MJKyD/hDAxthh/od7qh/g5KoKEKa+815hpu6wpS/sR9MrRQ01Fmj/PFiBcOC5ozNM2Et
	+bzvYQzK3vrFGwwup+57p3VmQJAQd0tFx4eOEIGmVtDCrF6yh4s9T9AdSoImyNQrEuY9tl+SvYH
	GKPFMlbdR
X-Google-Smtp-Source: AGHT+IGCM4igRf+IcUPC1pUHbBvXqKYMhqiSvnD+Oad2zNOR/Ccffv3IHOo5u24ROnsP1Ne7DHZrpA==
X-Received: by 2002:a05:6000:184e:b0:391:4c0c:c807 with SMTP id ffacd0b85a97d-3996b4a1f7cmr4677082f8f.53.1742320433273;
        Tue, 18 Mar 2025 10:53:53 -0700 (PDT)
Message-ID: <e894fbce-96d2-4aa8-871b-0b8ec24becc3@citrix.com>
Date: Tue, 18 Mar 2025 17:53:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] xen: remove -N from the linker command line
To: Roger Pau Monne <roger.pau@citrix.com>, 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>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <jbeulich@suse.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-4-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: <20250318173547.59475-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> It's unclear why -N is being used in the first place.  It was added by
> commit 40828c657dd0c back in 2004 without any justification.
>
> When building a PE image it's actually detrimental to forcefully set the
> .text section as writable.  The GNU LD man page contains the following
> warning regarding the -N option:
>
>> Note: Although a writable text section is allowed for PE-COFF targets, it
>> does not conform to the format specification published by Microsoft.
> Remove the usage of -N uniformly on all architectures, assuming that the
> addition was simply done as a copy and paste of the original x86 linking
> rune.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

-N has been stripped out of other parts of x86 too (hvmloader, notably),
and clearly isn't intended to be used in combination with a linker script.

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



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 18:07:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 18:07:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919744.1324116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tubLd-0002Xl-Pg; Tue, 18 Mar 2025 18:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919744.1324116; Tue, 18 Mar 2025 18:07: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 1tubLd-0002Xe-Mr; Tue, 18 Mar 2025 18:07:29 +0000
Received: by outflank-mailman (input) for mailman id 919744;
 Tue, 18 Mar 2025 18:07: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tubLc-0002XW-Ge
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 18:07:28 +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 d8f0ccc3-0423-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 19:07:26 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so3720964f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 11:07:26 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7eb9ccsm19100102f8f.96.2025.03.18.11.07.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 11: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: d8f0ccc3-0423-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742321245; x=1742926045; 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=t79nXuX7HEgoe9mz/gUgojAW3u0Yry92LiisC3N2O+Q=;
        b=P/tJt9A/b7dYkeadZC84fpZVeC5B/iYRWg2iIPRPvfPnZnaM1MW6Nhtnb1YOFHBoH1
         gVVdAbq5OYR9RUPFyZ6H2eKB3FaP5Kwqe30hrRd6V3F6dYOBbOj0pZ54xgWW50D0RVCL
         YDRO9uuL4HStelXrw0husppH+Yaz/hRi+Wzf8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742321245; x=1742926045;
        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=t79nXuX7HEgoe9mz/gUgojAW3u0Yry92LiisC3N2O+Q=;
        b=Lmkm6nEXHTiYtaQtgbqdjZhWjNHWPQJy8bAx/k+XGN45u/wuHku5vRDvL90Jq4EaoF
         s/qbWzSCpAl6frZZBaM69Cso77ErexpoJ5Kjp5pq2JEmNfsI1Ozk0ozwmPudy2+pl66w
         3RpDTzSs9Pbs0LyfaQIX9I8Ie9a2fx/i1KCGl8JIKCeNNkYt8TQHWp32k6Zdw82/Gz7W
         w6zzMv7ve6wLENejaMfW5yJI/vmhftlHQkSVrRcT9qG+Bip6OtO48JcPOYErGRz4kIHd
         jIsMZdSPe+fYnTAq4ztt464ArfsV4GGJi7uZkxSOVHGrOBK8tHHDHdy6BRicc4gWfFqt
         nNSw==
X-Forwarded-Encrypted: i=1; AJvYcCX5uSuC427OUCAxc0dx/guH00L69voiMM0nQ19vfJZVjaZTitoD+xGaoJ863nL+D4dN5zavvbnus4k=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxzbj4UV1Dw3UKL8Ie5cgOdFNuFukk/Q+n40bf5KG0YFHMS/w1f
	3lQumcipBIn0Nwhn23hwggjWWIDcb6DtqyZkJkqmeOkWJD3owiaP0v38OSUgsV8=
X-Gm-Gg: ASbGncuMao0bg4D+D1RKo6eeN3TWmNHSbITiIvofGtc799UAsrzj6jjujMnHixlPDig
	LvQQmADyi3Ub48SZH+25kZIp6BmjZHaumI08gHhyisxl+bTlZXhMt4mrR4ORBydSqe+Ka6IPlN6
	DhNGCxRzWdzrtO8EW0f+MfNC5Ty2NP/OwgWPPsJzIeDsrXvfBxiryd1hULu8vJv/60F9teYfhPn
	7UUa409lR5OAbd6pt/Vhd+O6niCfm58zvTuC3zGMspR8Xard1vkqv5TRcFgD6uPCMPP/95yQMlp
	5VIK9+6vxJsF93Jm3slBbB1L2GHZsp0f0C6hXwewacX80rHjNAEzA8tHLHtMrP6kRM+YVQkN4Oc
	D0dKXBhhx
X-Google-Smtp-Source: AGHT+IGRCTe+imVswYf6ukacZuhToBGLPoBk7mzn5DijVu+eIh2dYFZfxo/WVJS2ySJY7L0bvrD3RQ==
X-Received: by 2002:adf:a348:0:b0:391:401f:bfd8 with SMTP id ffacd0b85a97d-39720584500mr14755559f8f.55.1742321245395;
        Tue, 18 Mar 2025 11:07:25 -0700 (PDT)
Message-ID: <e05f1ec8-0858-4468-8407-b85489713f3b@citrix.com>
Date: Tue, 18 Mar 2025 18:07:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/7] xen/build: warn about RWX load segments
To: Roger Pau Monne <roger.pau@citrix.com>, 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-8-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: <20250318173547.59475-8-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> After having removed the -N option from the linker script invocation, and
> also having removed the merging of the .init.text and .init.data sections
> on x86, there should be no remaining RWX load segments.  Do not silence the
> GNU LD warning.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 18:08:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 18:08:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919754.1324126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tubMK-000325-2I; Tue, 18 Mar 2025 18:08:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919754.1324126; Tue, 18 Mar 2025 18:08: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 1tubMJ-00031y-V6; Tue, 18 Mar 2025 18:08:11 +0000
Received: by outflank-mailman (input) for mailman id 919754;
 Tue, 18 Mar 2025 18:08: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tubMI-00031g-Rj
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 18:08:10 +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 f2b3d7cf-0423-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 19:08:09 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so26174695e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 11:08:09 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1fe065a5sm140132745e9.12.2025.03.18.11.08.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 11:08: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: f2b3d7cf-0423-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742321288; x=1742926088; 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=yKtFUIZ7ewJZ/Wsbd41lcfL7uOtDFtBovQ+G9D2uNJ4=;
        b=g6SnnWXzG3b7CbTO2rIMPX6uK9u767/drqBFGAT7crM1cQMojTCxFAkk8+ws42Zhxy
         nv+D/uf3nbOLq6zpU6CzgbJ+0ihbaumYzmuyOP2av7m71cQWIgih2ciHLjjjc307qvEp
         +FKwOBtOZgv5CRCiAiF4rCue+YnJQ6Dl46xS4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742321288; x=1742926088;
        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=yKtFUIZ7ewJZ/Wsbd41lcfL7uOtDFtBovQ+G9D2uNJ4=;
        b=pzP2ZteKOjQhtPZ3XJJvZ4/zsMtQF3z2jIZqYkPTsj8K7ykqma/dXzfAi6TFJqevGT
         uYeNlEoRlFVuez+X/C9HQGK+vg78hMdRFq2mXMGWpk4YYtMDXN1WDQs33AKqKP2GxAq6
         lSBjpOY8MR65UExZz01V2C1oudYrDAXVhT/EJuXyZ0OzoL9UCjhSKJPGqsUT8tLBaED9
         +8r1Zia5FT9wjUYraSxAzhNmpZT1IIp1STZK6kcgmMWXmNHNWxfdEsntm7ewfirjb93r
         QBIdnB8lXkw9nOmH9aRI8g+GoOCk8CgzLZ+CnBYtpXWR56ppQo2to1jbiRGknP8lz5DB
         v0YA==
X-Forwarded-Encrypted: i=1; AJvYcCXzUj+XaqHgu3+U4XlSGo+TK2GOv52MNhPPFbelOELoeU3F3mTVxlW/FCrk2zu70CnC/VaCwxmg2Kc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzG8nPryd041l8lZZIBMdJ2RkIECJmQIJvYfXo0+lJfkTLb82ue
	LkdmhELQ9EF1OYWZat9kA9RBnm0AaYR5M4SmA69rS6JAwMGdME3Y+Pf+/ELlMlwbZttp7M2Cvsg
	h
X-Gm-Gg: ASbGncssc73cWZep6GYLqaZV+wNmy/KTHrqYgUtQYNT+q1StTNvaPTUUuBQCimMt3Xj
	QvzTzVisQCFxDBYGhUZY4XqPCbw4Z1WoU1JB0c8p+1TK1aqbtu0Wd4Iy2/PLggyJAmDaurG9C0n
	Jol3iEBkfeAP6o04CvUxZaxQrtzkzbQa1pIOcXDkCAjvfnPzJYMAVfYzTKTzgqbK5r4tE/0n7v4
	Xj7XRAFrz6/o8EtLsVqIrcQbPzeMPifjbXF3+BpWEpTZiG9Zbm+ztXGBH4v5ky3U8gySx1jA3RU
	icNqw/9REasTZRFQHU95Qdl5rJbex9Hk+b5sHojz2YlgC+zXgkbgroVc9IS1EcILkZItYjcoUvB
	VNtqw+xgl
X-Google-Smtp-Source: AGHT+IGjiyFd+95NXvapbPNwv8XBtX45exo5wLffQO+YwVtb/EUNfrmvYU3iRGtNeEZ05yKxPmzCxQ==
X-Received: by 2002:a05:600c:358f:b0:43d:1840:a13f with SMTP id 5b1f17b1804b1-43d3f203751mr18729385e9.25.1742321288574;
        Tue, 18 Mar 2025 11:08:08 -0700 (PDT)
Message-ID: <ae9db19a-21d4-4095-a63e-87e9bd7278e3@citrix.com>
Date: Tue, 18 Mar 2025 18:08:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/7] x86/efi: do not merge all .init sections
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-7-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: <20250318173547.59475-7-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> As a result of relocations now being applied after the trampoline has been
> copied into the low 1MB region, there's no need for a single .init section
> that's writable, as .init.text is no longer modified.
>
> Remove the bodge and fallback to the layout used by ELF images with an
> .init.text and .init.data section.
>
> The resulting PE sections are:
>
> Sections:
> Idx Name          Size      VMA               LMA               File off  Algn
>   0 .text         0019072c  ffff82d040200000  ffff82d040200000  00000440  2**4
>                   CONTENTS, ALLOC, LOAD, READONLY, CODE
>   1 .rodata       000884c8  ffff82d040400000  ffff82d040400000  00190b80  2**2
>                   CONTENTS, ALLOC, LOAD, DATA
>   2 .buildid      00000035  ffff82d0404884c8  ffff82d0404884c8  00219060  2**2
>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>   3 .init.text    00052866  ffff82d040600000  ffff82d040600000  002190a0  2**2
>                   CONTENTS, ALLOC, LOAD, READONLY, CODE
>   4 .init.data    00059730  ffff82d040658000  ffff82d040658000  0026b920  2**2
>                   CONTENTS, ALLOC, LOAD, DATA
> [...]
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 18:15:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 18:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919764.1324135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tubSo-0005t7-Mh; Tue, 18 Mar 2025 18:14:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919764.1324135; Tue, 18 Mar 2025 18:14: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 1tubSo-0005t0-Jt; Tue, 18 Mar 2025 18:14:54 +0000
Received: by outflank-mailman (input) for mailman id 919764;
 Tue, 18 Mar 2025 18:14: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tubSn-0005su-Fk
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 18:14: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 e28cdec2-0424-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 19:14:51 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-399676b7c41so1600594f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 11:14:51 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb40fab8sm19394691f8f.63.2025.03.18.11.14.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 11:14: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: e28cdec2-0424-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742321691; x=1742926491; 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=GpylikcYf2DuiNKg/vIbyDeF29bQeJYa0YSQzpYGJJ4=;
        b=MWMyKYrV7Bszjxt7CUH75RSXo5wdScVC9lKc21Tv88yu5ZGSmv7TM8t9IKspUQuhgd
         eHZ0bw40Rvlow8PnG2NHQa19V2xWx5OEPiod/Z313rZiNZYc/XE9RuQYUr/Q1LEt0WmL
         HcM4sPY9MmEkWbXgCCvZgY2THxnbfpb5tNam8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742321691; x=1742926491;
        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=GpylikcYf2DuiNKg/vIbyDeF29bQeJYa0YSQzpYGJJ4=;
        b=h7i2+p9Ltgl3D0AyN30476JY1c1CFIg8N9vyzPCO/d29ENHD2Iet0Otenl6N58Pruj
         dXS1bi//ZDNLQwFhXbsdytroGgU+oi38C2cJJGxyLwek0giSg1Lhun9aCbOJJNJQIJVN
         VkNEAF0lG1tEQf4I2+3OPnLY8+NqbHMY6Z6VvtXnQ8GchJTxICNsYx7/75/WKvXEkkAK
         /u2VDcag3ZXHJIfmkoZvER5oLBlet7M08iwLjs/XkLVGydU1Og69pXNW3Wet86O9Nj13
         xxY9cekYN1JZpiFzsZcAtm5OvOPiGeM6W6rq9OUoCo00v3ZaQ4j85dtwq/slMCFZhJ5Z
         neNw==
X-Forwarded-Encrypted: i=1; AJvYcCXRkgaCLSN99gkhnd5xcNFcJDFtnW9k5lDOc8k5A6sPiJgEcYIGgfZicnqyk7w2xbr6iBHhGB3AlSI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw1I86C53R4F20RGS4vx4/YZPkogiVtNv6sOKF4TrXuzedcEX2O
	/TLi5AGjP4cMcsI6F6dWh5nnpcwsk+Ak4Skm5g/b1kwM7mGYWIVxwQW91OP1lSg=
X-Gm-Gg: ASbGncv9XYn6zYgPzHW5zOFdashYe4o8kqvcDAIIvEInAyouKD5xp//4GRvnatNuNUw
	xd5i6Jm2Pj5+tosfNwC4JqIF8ChmD2TFANT7UjUlAobTTryUw2md0XZ3jan/MwFAc8YZ5FJQzhZ
	9BVrLRXThTTdjoWJLzfCe/n6fBllqc8BkMO1ntn1Hw0IG5++SxigHSQzxDoJPyilf6YQkFAY9B3
	2qEULAbQ9F6zcmyVW1u0KZ7ygDqDRDZxeEuR8PF05mSWLP+yYw9/BCpzLrYm3/I9uAX4jbMXD7/
	s55ISteHFIbZUjf14A0mIHE8qk7AbV/JlBN8PkI4ZRjdCeJ/GxoE6RsK5ELwLmEjMBR8y12earD
	y3BzwG0+c
X-Google-Smtp-Source: AGHT+IGhegRX77Xr2+DiOu2NiJjW+OcoMt7MeZ9c2tWD2ajx2jFLyim00KlPRcZZgUc5NpHMSfx52Q==
X-Received: by 2002:a5d:6d82:0:b0:38f:3224:65ff with SMTP id ffacd0b85a97d-3971d03ef54mr17162419f8f.5.1742321691005;
        Tue, 18 Mar 2025 11:14:51 -0700 (PDT)
Message-ID: <ad8f332b-4ea9-40f1-a1fe-246f5be9c2c6@citrix.com>
Date: Tue, 18 Mar 2025 18:14:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-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: <20250318173547.59475-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> Relocations are now applied after having moved the trampoline, so there's no
> reason to warn about relocations to read-only sections.  The logic that
> apply the relocations would make sure they are applied against writable
> mappings.
>
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
>  xen/arch/x86/efi/mkreloc.c | 5 -----
>  1 file changed, 5 deletions(-)
>
> diff --git a/xen/arch/x86/efi/mkreloc.c b/xen/arch/x86/efi/mkreloc.c
> index 375cb79d6959..a5a1969f2ee5 100644
> --- a/xen/arch/x86/efi/mkreloc.c
> +++ b/xen/arch/x86/efi/mkreloc.c
> @@ -216,11 +216,6 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2,
>              exit(3);
>          }
>  
> -        if ( !(sec->flags & IMAGE_SCN_MEM_WRITE) )
> -            fprintf(stderr,
> -                    "Warning: relocation to r/o section %.8s:%08" PRIxFAST32 "\n",
> -                    sec->name, i - disp);
> -
>          printf("\t.word (%u << 12) | 0x%03" PRIxFAST32 "\n",
>                 reloc, sec->rva + i - disp - rva);
>          reloc_size += 2;

I'm on the fence about this.

Obviously we don't want a warning firing for good cases, but the
trampoline is special where the relocation is to a R/O section but we
don't apply the relocation in that position.

Is it possible to limit this to only trampoline_{start,end} and keep the
warning in general?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 18:20:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 18:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919778.1324146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tubYE-0007RJ-DK; Tue, 18 Mar 2025 18:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919778.1324146; Tue, 18 Mar 2025 18:20: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 1tubYE-0007RC-AF; Tue, 18 Mar 2025 18:20:30 +0000
Received: by outflank-mailman (input) for mailman id 919778;
 Tue, 18 Mar 2025 18:20: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tubYD-0007R6-QI
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 18:20:29 +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 ab33f8c3-0425-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 19:20:28 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so37438245e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 11:20:28 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d1ffb62d7sm141593285e9.6.2025.03.18.11.20.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 11:20: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: ab33f8c3-0425-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742322028; x=1742926828; 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=H5xN6qXsYllDTAGed2Q2zyU8H00IyBSqSOp1CQPa/fM=;
        b=DjJWsYvXSe4nbmIvnTwTsxnI2AEYbZrr7Sbpaq4tBtlhQ4ugaIqLRJFoMPBF5qDU8U
         8deP/v3u4+Qj8RddcrT8CIITWlebm3clBQr0eIlw7PwlXq1XECmongjlW9NeuqkTli8z
         KcqTVoJXJ0+sdRRI59PWPBtQ1efn0umQE48xE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742322028; x=1742926828;
        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=H5xN6qXsYllDTAGed2Q2zyU8H00IyBSqSOp1CQPa/fM=;
        b=Ygw0bRr0rRbW3lpJdq/MpGKiMSG93wQMr+WPUrgsu5/+2NroOWxmpF6MBpEddzZMCD
         mHI0faxbMg+jEn56L8R5mrlyHCtG1Y59DKrG5IxcKtISEACYu1ZiSZXUo12eVeA/1nvE
         u1Jco2MRhbqX5ZyChYxWR1dFDsgmCccGf23m2t41CvQ/3A5urWyy5rxWWujqvCg4Uch8
         DQkdXXz8OAkx0z4kXHehGPqdv5ZdUYVa0YwBo1gWoHHFePSYCLLB/f9jjjpoefZ7cgMV
         8cWc8VMiA7OTflVmmVYuvm4L9zT0BOG0Dq/Oz9e9LHL23S+D/LJ51FT8B7a3iHOnO/ip
         hcYw==
X-Forwarded-Encrypted: i=1; AJvYcCXiU+37YLJir6QD2Dws18THzVdxIa7are4Z2rtBufFgGptiBkMZAQW/8yeKEn1jsDWH0xs+jve6OEc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHg/nkpSeN2hWEerFCQf4tj3E0I8HcvLb5a0GLQ1otIsdVr8zy
	oY4gYyvjf2Xe73LgFgySyrjV89nBj/CnrHUN+y6itj1w6qX8j0bTy/Up+r1BkJY=
X-Gm-Gg: ASbGncuYDDxysTBjdDjOjXlkF4h9BCRRfQqLrFe06xCpqMWnPvPNAdMLLeAFnOeaNy1
	gjgp0u6owvZXnGFkXmk9g7EQMqFS1rGi/PApWOCJa8aIvSQZkGjeHyEtHcUbUKMRcZUFCA6SDNs
	yVznF2PPlaDV5T3rCfmHF9bqfmgmkGIsFCmILqPeQAbWRwQdFcMhJ59RwmETsuEVH/jgBHGSUwa
	9kZK06ob0j2SWEL/a7njXYL3Ys7fp3Opu2z5IYxRRi7+hwpUp7Q/HEBLznonhJs/JumUixreqvj
	CNCZ/vl4QElLUto+L7MTuuZ6qWx3haUsGTuhN3gu1AY5ruF9ygzhv9y+QzJ0ZTwjTxSIxDW8Oz3
	gE+cQCUlP
X-Google-Smtp-Source: AGHT+IF/DTzrJhR8qACA+mE28dePEbkUzLTrkdY2Gins1Ps3i7HEhHssLl1AxPYj0r9yyy+f9B8ZwA==
X-Received: by 2002:a05:600c:8714:b0:43c:fffc:7855 with SMTP id 5b1f17b1804b1-43d41b05ccbmr1487795e9.15.1742322027534;
        Tue, 18 Mar 2025 11:20:27 -0700 (PDT)
Message-ID: <e99fa98b-b244-4c0f-8248-9a4965653378@citrix.com>
Date: Tue, 18 Mar 2025 18:20:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Drop __text_section()
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250314175933.67422-1-andrew.cooper3@citrix.com>
 <83894b99-54ca-460c-8463-9d6854987935@suse.com>
 <0644d20e-9846-48e2-b83f-4fc157107f31@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: <0644d20e-9846-48e2-b83f-4fc157107f31@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 5:15 pm, Andrew Cooper wrote:
> On 17/03/2025 8:43 am, Jan Beulich wrote:
>> On 14.03.2025 18:59, Andrew Cooper wrote:
>>> This is an unnecessary indirection.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> So, this is the patch causing build chaos.Â  I've reproduced locally,
> even though I still can't explain what is going on.
>
> One example breakage is:
>
>> In file included from drivers/passthrough/amd/iommu_acpi.c:20:
>> In file included from ./include/xen/acpi.h:41:
>> In file included from ./include/xen/list.h:10:
>> ./include/xen/bug.h:107:5: error: invalid operand for inline asm
>> constraint 'i'
>> Â Â Â  BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);
>> Â Â Â  ^
>> ./include/xen/bug.h:94:20: note: expanded from macro 'BUG_FRAME'
>> Â Â Â  asm volatile (
>> _ASM_BUGFRAME_TEXT(second_frame)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ^
>> ./include/xen/bug.h:68:5: note: expanded from macro '_ASM_BUGFRAME_TEXT'
>> Â Â Â 
>> ".Lbug%=:"BUG_INSTR"\n"Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 
>> \
>> Â Â Â  ^
>> 1 error generated.
>> make[4]: *** [Rules.mk:249: drivers/passthrough/amd/iommu_acpi.o] Error 1
> although most translation units fail in the same way.
>
> This is run_in_exception_handler(), but there's nothing obviously wrong
> in the preprocessed source.Â  The parameters are respectively:
>
> : [bf_type] "i" (0),
> Â  [bf_ptr] "i" (fn),
> Â  [bf_msg] "i" (((void*)0)),
> Â  [bf_line_lo] "i" (((0) & ((1 << (31 - 24)) - 1)) << 24),
> Â  [bf_line_hi] "i" (((0) >> (31 - 24)) << 24)
>
> which is as expected.
>
>
> There is one difference I have noticed which is clearly relevant but I'm
> not sure how.
>
> __section() isn't exactly __attribute__((__section__(s))), because (just
> out of scope of the patch), __clang__ adds a __used attribute to
> __section().
>
> The logic doing this is ahead of __used being defined, and the TUs which
> break are -DINIT_SECTIONS_ONLY which includes init.h prior to __used
> having being defined.
>
> And yet, there's no un-expanded __used in the preprocessed source.
>
> Also, this only goes wrong in the Shim build, not in the main build.
>
> Also, building the object file in isolation seems to work fine, although
> this seems to remove -DINIT_SECTIONS_ONLY from the cmdline which is
> almost certainly masking what's going wrong.

It is the extra __used in the Clang case.Â  Taking that out causes
everything to compile fine.

Attempts to minimise the failing case aren't working.Â  cvise has
minimised to:

void run_in_exception_handler_fn() {
Â  asm("" ::"i"(run_in_exception_handler_fn));
}

but this is clearly not the same issue because it's not sensitive to the
presence/absence of __used.

I can't help but feeling that "error: invalid operand for inline asm
constraint 'i'" is a knock-on effect from something else, rather than
the original root cause.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 19:05:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 19:05:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919795.1324156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tucFy-0000s3-KK; Tue, 18 Mar 2025 19:05:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919795.1324156; Tue, 18 Mar 2025 19:05: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 1tucFy-0000rw-HR; Tue, 18 Mar 2025 19:05:42 +0000
Received: by outflank-mailman (input) for mailman id 919795;
 Tue, 18 Mar 2025 19:05: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=b9yH=WF=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tucFx-0000rX-7E
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 19:05:41 +0000
Received: from mail-oo1-xc2e.google.com (mail-oo1-xc2e.google.com
 [2607:f8b0:4864:20::c2e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fac24aee-042b-11f0-9abb-95dc52dad729;
 Tue, 18 Mar 2025 20:05:39 +0100 (CET)
Received: by mail-oo1-xc2e.google.com with SMTP id
 006d021491bc7-601b1132110so2849248eaf.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 12: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: fac24aee-042b-11f0-9abb-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742324738; x=1742929538; 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=M/KksLPTlwCHnKfA1GLXVQzfwBspJLeaMmBzwPwoVpg=;
        b=Pp9OhHaqn7Jw079cUTFkpc2l+rgnEbZvIpEo3ZkjSISSKNvNF1FCcIgcIOgfwybE4R
         QPGNvMvK+Sl3j0o/iNyLIfEBbEJYSFhb237/AFljlzdxV3Q+S7qUkqAkzHDfiquylTxe
         EXcgG25TBaraf4kZ701OhKnBVqZ+ftC1w4llU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742324738; x=1742929538;
        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=M/KksLPTlwCHnKfA1GLXVQzfwBspJLeaMmBzwPwoVpg=;
        b=mpf7jQw0w9ZkKCXFfxkhaFdOXqkR/lZAUx856k9rTLicLXC5wvjgvLOg7U7P9cQ8VA
         Ex0n7vdhWLT/XDTR3Szgbb9MI+5wXs+zcnNluc7hOFwU3uM+PFfMT9oGIU3iSawGuZV/
         meY/lbH+600169v0Az0A6VmwD9vNryapplQPjBWwULl0jeMe4Mj2xglk6ez5e681MZVi
         yxVh4W8ydtF+gun0WzCJayXBQdCR1UahIEmVj2fn/dCxYFrSmd+n4K9yYQRjYLSn1Fem
         TcushQ4lr1gYkNkpT27ucsOP1D7uSli2GYHRe01dDUbm7PZpGOaQk0x/D2AYKsh6aPKA
         sOCw==
X-Gm-Message-State: AOJu0Yw/irM1TziNpAejxWOkzcMsI4B1wBe6H+eif/EOl4OjUmFcdEWi
	G233HAQRiRDy7cCBcGum+gRbzKmuUwUOnRJJPEyG0g89fLb3cliVt+YXv50oG9s0jkbRrexllgK
	SS7Ii21hXl1vP9U6BJyt+YP8YbFje02RwVKDQWw==
X-Gm-Gg: ASbGnctOuD4Y8ui5EkAMJfOFsjIj2vUbfQcmXwuVXcONHLcydW5WNBMvNYo1FxdDCWM
	PWjwiDMOYrFs6erh1XDwavOwNUtkWMAi6xz5+R2C0ORM+m2jBcj28mML2ZYmOHE+bYyFkZc69LG
	ifHPY7IUjDFAr8FC3yERtgup4=
X-Google-Smtp-Source: AGHT+IFqlwP/M+NdKrO9tjZOFkoJKlRMh1JNJSIX5OYf8uWCX5Wuq8aYQI8IK1FVu69LM2jEIFCujvHQ+94yvlHgqa4=
X-Received: by 2002:a05:6820:a00d:b0:601:af96:36eb with SMTP id
 006d021491bc7-6021cce5efamr155872eaf.4.1742324737891; Tue, 18 Mar 2025
 12:05:37 -0700 (PDT)
MIME-Version: 1.0
References: <20250318173547.59475-1-roger.pau@citrix.com> <20250318173547.59475-5-roger.pau@citrix.com>
In-Reply-To: <20250318173547.59475-5-roger.pau@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 18 Mar 2025 19:05:26 +0000
X-Gm-Features: AQ5f1JpysMeuAuSBpmNXDH_trxlQLcsNneW2-y25le-uJHsT8S4Vf5JDFp2m8No
Message-ID: <CACHz=Zhyn54-w=dysFXwwzhdnL4RVnadKoT+hx7hR42_VrY2oA@mail.gmail.com>
Subject: Re: [PATCH 4/7] x86/boot: apply trampoline relocations at destination position
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 18, 2025 at 5:36=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> Change the order relocations are applied.  Currently the trampoline is
> patched for relocations before being copied to the low 1MB region.  Chang=
e
> the order and instead copy the trampoline first to the low 1MB region and
> then apply the relocations.
>
> This will allow making .init.text section read-only (so read and execute
> permissions only), which is relevant when Xen is built as a PE image.
>

This change is not enough to make the section read-only, some other
code writes directly into the trampoline at the not-relocated
position.
But this improves the situation.
The code looks fine, I'll try the code if it passes some tests I did.

> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
>  xen/arch/x86/boot/build32.lds.S      |  1 +
>  xen/arch/x86/boot/head.S             |  6 +++---
>  xen/arch/x86/boot/reloc-trampoline.c | 16 ++++++++--------
>  xen/arch/x86/efi/efi-boot.h          | 15 ++++++---------
>  4 files changed, 18 insertions(+), 20 deletions(-)
>
> diff --git a/xen/arch/x86/boot/build32.lds.S b/xen/arch/x86/boot/build32.=
lds.S
> index 1e59732edd6e..92dc320b7380 100644
> --- a/xen/arch/x86/boot/build32.lds.S
> +++ b/xen/arch/x86/boot/build32.lds.S
> @@ -50,6 +50,7 @@ SECTIONS
>          DECLARE_IMPORT(__trampoline_seg_start);
>          DECLARE_IMPORT(__trampoline_seg_stop);
>          DECLARE_IMPORT(trampoline_phys);
> +        DECLARE_IMPORT(trampoline_start);
>          DECLARE_IMPORT(boot_vid_info);
>          . =3D . + GAP;
>          *(.text)
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 59a2b5005cf6..3f81b21b5a7f 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -679,9 +679,6 @@ trampoline_setup:
>          shr     $PAGE_SHIFT, %ecx                /* %ecx =3D Slot to wri=
te */
>          mov     %edx, sym_offs(l1_bootmap)(%esi, %ecx, 8)
>
> -        /* Apply relocations to bootstrap trampoline. */
> -        call    reloc_trampoline32
> -
>          /* Do not parse command line on EFI platform here. */
>          cmpb    $0, sym_esi(efi_platform)
>          jnz     1f
> @@ -709,6 +706,9 @@ trampoline_setup:
>          mov     $((trampoline_end - trampoline_start) / 4),%ecx
>          rep movsl
>
> +        /* Apply relocations to bootstrap trampoline. */
> +        call    reloc_trampoline32
> +
>          /* Jump into the relocated trampoline. */
>          lret
>
> diff --git a/xen/arch/x86/boot/reloc-trampoline.c b/xen/arch/x86/boot/rel=
oc-trampoline.c
> index e35e7c78aa86..ac54aef14eaf 100644
> --- a/xen/arch/x86/boot/reloc-trampoline.c
> +++ b/xen/arch/x86/boot/reloc-trampoline.c
> @@ -20,19 +20,19 @@ void reloc_trampoline64(void)
>      uint32_t phys =3D trampoline_phys;
>      const int32_t *trampoline_ptr;
>
> -    /*
> -     * Apply relocations to trampoline.
> -     *
> -     * This modifies the trampoline in place within Xen, so that it will
> -     * operate correctly when copied into place.
> -     */
> +    /* Apply relocations to trampoline after copy to destination. */
> +#define RELA_TARGET(ptr, bits) \
> +    *(uint ## bits ## _t *)(phys + *ptr + (long)ptr - (long)trampoline_s=
tart)
> +
>      for ( trampoline_ptr =3D __trampoline_rel_start;
>            trampoline_ptr < __trampoline_rel_stop;
>            ++trampoline_ptr )
> -        *(uint32_t *)(*trampoline_ptr + (long)trampoline_ptr) +=3D phys;
> +        RELA_TARGET(trampoline_ptr, 32) +=3D phys;
>
>      for ( trampoline_ptr =3D __trampoline_seg_start;
>            trampoline_ptr < __trampoline_seg_stop;
>            ++trampoline_ptr )
> -        *(uint16_t *)(*trampoline_ptr + (long)trampoline_ptr) =3D phys >=
> 4;
> +        RELA_TARGET(trampoline_ptr, 16) =3D phys >> 4;
> +
> +#undef RELA_TARGET
>  }
> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
> index 1d8902a9a724..e4ed8639b9ac 100644
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -105,10 +105,8 @@ static void __init efi_arch_relocate_image(unsigned =
long delta)
>      }
>  }
>
> -static void __init relocate_trampoline(unsigned long phys)
> +static void __init relocate_trampoline(void)
>  {
> -    trampoline_phys =3D phys;
> -
>      if ( !efi_enabled(EFI_LOADER) )
>          return;
>
> @@ -213,6 +211,8 @@ static void __init efi_arch_process_memory_map(EFI_SY=
STEM_TABLE *SystemTable,
>          }
>      }
>
> +    if ( !trampoline_phys )
> +        trampoline_phys =3D cfg.addr;
>  }
>
>  static void *__init efi_arch_allocate_mmap_buffer(UINTN map_size)
> @@ -223,11 +223,7 @@ static void *__init efi_arch_allocate_mmap_buffer(UI=
NTN map_size)
>  static void __init efi_arch_pre_exit_boot(void)
>  {
>      if ( !trampoline_phys )
> -    {
> -        if ( !cfg.addr )
> -            blexit(L"No memory for trampoline");
> -        relocate_trampoline(cfg.addr);
> -    }
> +        blexit(L"No memory for trampoline");
>  }
>
>  static void __init noreturn efi_arch_post_exit_boot(void)
> @@ -236,6 +232,7 @@ static void __init noreturn efi_arch_post_exit_boot(v=
oid)
>
>      efi_arch_relocate_image(__XEN_VIRT_START - xen_phys_start);
>      memcpy(_p(trampoline_phys), trampoline_start, cfg.size);
> +    relocate_trampoline();
>
>      /*
>       * We're in physical mode right now (i.e. identity map), so a regula=
r
> @@ -638,7 +635,7 @@ static void __init efi_arch_memory_setup(void)
>      status =3D efi_bs->AllocatePages(AllocateMaxAddress, EfiLoaderData,
>                                     PFN_UP(cfg.size), &cfg.addr);
>      if ( status =3D=3D EFI_SUCCESS )
> -        relocate_trampoline(cfg.addr);
> +        trampoline_phys =3D cfg.addr;
>      else
>      {
>          cfg.addr =3D 0;

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 19:17:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 19:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919809.1324166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tucR5-0003Lq-Jr; Tue, 18 Mar 2025 19:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919809.1324166; Tue, 18 Mar 2025 19: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 1tucR5-0003Lj-Gm; Tue, 18 Mar 2025 19:17:11 +0000
Received: by outflank-mailman (input) for mailman id 919809;
 Tue, 18 Mar 2025 19:17: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tucR3-0003Ld-Q6
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 19:17:09 +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 952fee75-042d-11f0-9899-31a8f345e629;
 Tue, 18 Mar 2025 20:17:07 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso39675605e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 12:17:07 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3978ef9a23bsm14672088f8f.15.2025.03.18.12.17.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 12: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: 952fee75-042d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742325427; x=1742930227; 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=S0c/7n/H61TTzgIlncaD6HT/y21YR1OXdIve57iZ7a0=;
        b=JchdUb1xtO6M+BJFKGHJ840Aa7ey8EtlectHBVS1BN8rMtUnPe/OsCikA6zOyJODjB
         kZ4gxGA3wvxLJifDmdtnxXpZNnNla7+9gLxrCRHgZzSJnn3sxHCdQHJC8Lv29qnkXk4B
         av/iRBEb+Zdk3/x5QhQswZe4oD8JdP820MRDA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742325427; x=1742930227;
        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=S0c/7n/H61TTzgIlncaD6HT/y21YR1OXdIve57iZ7a0=;
        b=CqhE+HIpoJly8qC71j8H2diCPs5dCp0Qeo626dn66486022x11gb1Nx5B+DlRFHJCH
         VqWTj5Ew3ZErN8yxteJn+jGFhMl/+8kQMd60tz87GXJFuVXXNZ+tfM7vC3XZxo8MAdGL
         bsmrQgMJhKSjNPkxyqktvlXAuXJwTE9rLQ7iEzBlYwQBt3wYBclsEnlOxUbBVXSrPQ8y
         F46uYh45fG45oYN+SFD9eDQtxZvsb/OqDvgdCanjYwn2Qa5LItVjxHgb7s4M67n+T35I
         QIPR6i2iPgJQxrNlHX0sMWX8TExBxhsDDNlDs61Z1hQBBsONQKr9VUPLm4UQWqo2QXRd
         dAUQ==
X-Gm-Message-State: AOJu0Yz2hHn5FA8fEwr5lA865Np3feRNyyNwM6u5+oiPEQljlQtKB1YG
	rcUrUBS+txUqQfaBT0r883k3CLPW3SGnb9y6xCYWVx31D+spIz7sfZ0v7VgjGS0=
X-Gm-Gg: ASbGncue3mGBto3+7S1qyM/KkjdOXK2EdpS0cotnffXXded7UPpmcB0brhuhOd8IFXc
	B0e5regKx9exZp9jnNjonzZg54BaTK94Jv0KUZvvvyM/lofsUqlPc5+Lz/t7Mq6rues3ckpWcPr
	uQSUhgnzZb43DwGv3oFClAjOQmrOVcfj6qMTF7x3fVUlU+zvPgoyfxLX68p0GFQDHlmNB0pSAs8
	cUAXDRiIghaKPvTA1wDte14sxDzLQQfm9cA4lP0wLo0iZ8y/CeMib0HK9E3kYoxk6GKIqTEvP73
	JkuH1GwzpgZYvsQDEKHtDh3lN+mzqisS/Cu4CfXlOLcJk8e5VxtIQOWYCq/qvL6qBRvK5xo9cLp
	CcoMWhLolDCzcdfvuWdQ=
X-Google-Smtp-Source: AGHT+IFyXRHo1Y9Rvk5y1LcDGl1Wvf13E/R6ETL4ojQ6vmVoh+otNxgK4opUpPEyyyL2FBYjw0LEVw==
X-Received: by 2002:a05:600c:4506:b0:43b:cbe2:ec03 with SMTP id 5b1f17b1804b1-43d3b9f711fmr25851875e9.27.1742325426531;
        Tue, 18 Mar 2025 12:17:06 -0700 (PDT)
Message-ID: <6a827f94-2c9f-4441-b98c-ed7349b39865@citrix.com>
Date: Tue, 18 Mar 2025 19:17:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/7] x86/boot: apply trampoline relocations at destination
 position
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-5-roger.pau@citrix.com>
 <CACHz=Zhyn54-w=dysFXwwzhdnL4RVnadKoT+hx7hR42_VrY2oA@mail.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: <CACHz=Zhyn54-w=dysFXwwzhdnL4RVnadKoT+hx7hR42_VrY2oA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 7:05 pm, Frediano Ziglio wrote:
> On Tue, Mar 18, 2025 at 5:36âŻPM Roger Pau Monne <roger.pau@citrix.com> wrote:
>> Change the order relocations are applied.  Currently the trampoline is
>> patched for relocations before being copied to the low 1MB region.  Change
>> the order and instead copy the trampoline first to the low 1MB region and
>> then apply the relocations.
>>
>> This will allow making .init.text section read-only (so read and execute
>> permissions only), which is relevant when Xen is built as a PE image.
>>
> This change is not enough to make the section read-only, some other
> code writes directly into the trampoline at the not-relocated
> position.
> But this improves the situation.
> The code looks fine, I'll try the code if it passes some tests I did.

Which other writes are there?

Strictly speaking it only matters for writes while we're still on the
EFI BS pagetables, because they're the only ones which enforce R/O on .init.

The moment we drop into 32bit (the MB2+EFI path) or get into __start_xen
(all paths), writes into either trampoline should work.

There are definitely bits of logic which depend on the trampoline being
placed, and ideally wouldn't, but they're quite easy to find now with
bootsym().

There's also definitely bits of logic which have temporaries in the
trampoline which shouldn't be there, and now that some of the
Hyperlaunch prep work is in place, can be moved out relatively easily.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 19:42:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 19:42:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919820.1324176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tucpB-0001Es-HL; Tue, 18 Mar 2025 19:42:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919820.1324176; Tue, 18 Mar 2025 19: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 1tucpB-0001El-Dm; Tue, 18 Mar 2025 19:42:05 +0000
Received: by outflank-mailman (input) for mailman id 919820;
 Tue, 18 Mar 2025 19:42: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=aZzY=WF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tucp9-0001Ef-B1
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 19:42:03 +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 100bce69-0431-11f0-9abc-95dc52dad729;
 Tue, 18 Mar 2025 20:42:02 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-abbd96bef64so1059424666b.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 12:42:01 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aec28sm911756866b.12.2025.03.18.12.42.00
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 12: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: 100bce69-0431-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742326921; x=1742931721; darn=lists.xenproject.org;
        h=subject:from:to:content-language:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yMfa+v19HXgoC++sUdgkuVlYUAFkmTc/L/XmLwMMcI4=;
        b=PlpwFPyrCxtnU/RAQP4KoP3OhGNCcJukgGyLXHnQM7UCZxWFKpVBk+3xZaJOzhLykc
         /uYSFwNux9gVkhUPQhV2W5MPsegsAZTLvUvbdbrKF/E0+ZUlOnOC2SSL5bd8Bqr7RoAW
         5WrGkCr2SijB98ozkUXeepmA0ErEXLGlGeTbt0jpiBszbE8i99gQjmDkUdL9IvhN00z/
         Mgq+JpiQytn3hH0McP031OXa2uZEbXyEyEPT5gYIbDZ3+UH0Sgztzi5XAckHV8Q+EVrB
         nSpa4uVIt0kXxb01Tn4cFUh0RExRSyccQRnO2wRiD57kG/lfOHZHYHYCD2ETsUT5//8I
         e/QA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742326921; x=1742931721;
        h=subject:from:to:content-language:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=yMfa+v19HXgoC++sUdgkuVlYUAFkmTc/L/XmLwMMcI4=;
        b=VxjI1L0NXI3bHGj3GCZ/EBVZNQMomrxAoRDen6OWLHfOrjzTj+JnqyecpRbztZRvBR
         5dpeVl9NiPt/R0XPru62u4seBlh+2O5bDqXlstFlGxzC++nCruJBMCLGUScSW1jKu+8d
         r70q5hsZE+pi1FlZmNDiR57aEs+X5NNBovW1F7GF473+z8bVdMNTBQWy2TZy0k6tnAzs
         mqeuwOPt50y1TyPCJj2QRqp6ntfM+6I5il9jVLoUvVoYEjSkfNw3hvRZr4QAB7i+xtli
         WtPdpPwzFF6W1DZfW5so7gw8ECL85XyKVawjeAxUjFKMxzZazNdVlN6+C7kuzII0qBts
         4h9A==
X-Gm-Message-State: AOJu0YwjApiQPPJEmZp+NlnPjHtVcbSzkHfdWVAIZJnpPXY2oAMFAvmX
	LtGmsYbXWaXqYCe07ruD4tJ+AFUZURz78gDMi/nqLC0mbf24WoX8Das00Q==
X-Gm-Gg: ASbGncveZAMrzuLqwtQLKHFcQPOMRDqhu52VPY5k1kuGLIyY5dVnbQFQ9ealqRKs/76
	TK8PflV6V9koVtQHJcrmurwrod2ajQbWfjK8PYAjZluSjTl/6n4UWbzbqdPvuPt4ORCQmYI5du8
	A9obRHqDdnXtAMnhqwqsAe8/B53smLKgHn0icqYWS/3BKV9jNTDpxXwPrsnnR2Zrp0PyhjaLKxY
	xs8fGTFBgOuBtZPHnjx3goOksPTjAuW2fNcnocX+fI54xsZLAAkPGVl33dONAPWsBMZu5U3X/2w
	cWStYu85A6nTyjM4DUqEPZSx2JMWSTr1Ccn81c4k9EIMU5GCkDlrrHAA7i09lr2EOfkJ84tsCIs
	s+J1tZDq/GCgltaSpzUSL
X-Google-Smtp-Source: AGHT+IGIAJ8RH8/3O4BdJoYm/7IFQ8EvrEVbgqdzvHNZ2AK4asDZaPICC7Ynv092MAChFvyZU/H5tg==
X-Received: by 2002:a17:907:7f94:b0:ac3:abd6:8da9 with SMTP id a640c23a62f3a-ac3b32e389amr39851666b.44.1742326920781;
        Tue, 18 Mar 2025 12:42:00 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------kuMzBbnZO86SF93jjj0oXUI1"
Message-ID: <f4e77148-f422-44c6-a064-baaf2dbf1a2d@gmail.com>
Date: Tue, 18 Mar 2025 20:42:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Call for next release manager

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

Hi everyone,

I have been the release manager for the past two releases, and I wanted to check
if anyone else would be interested in taking on this role for the next cycle.

If someone interested, please feel free to reply to this email or bring it up
during our community call.
If no one steps forward, Iâd be happy to continue as the release manager.

Looking forward to your responses!

Best regards,
 Â Oleksii

--------------kuMzBbnZO86SF93jjj0oXUI1
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>Hi everyone,

I have been the release manager for the past two releases, and I wanted to check
if anyone else would be interested in taking on this role for the next cycle.

If someone interested, please feel free to reply to this email or bring it up
during our community call.
If no one steps forward, Iâd be happy to continue as the release manager.

Looking forward to your responses!

Best regards,
Â Oleksii</pre>
  </body>
</html>

--------------kuMzBbnZO86SF93jjj0oXUI1--


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 20:10:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 20:10:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919835.1324185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tudGq-0007LF-Pn; Tue, 18 Mar 2025 20:10:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919835.1324185; Tue, 18 Mar 2025 20:10: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 1tudGq-0007L8-NE; Tue, 18 Mar 2025 20:10:40 +0000
Received: by outflank-mailman (input) for mailman id 919835;
 Tue, 18 Mar 2025 20:10: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tudGp-0007ED-J9
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 20:10:39 +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 0e30501f-0435-11f0-9abc-95dc52dad729;
 Tue, 18 Mar 2025 21:10:37 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3912e96c8e8so3956648f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 13:10:37 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8e43244sm19461285f8f.60.2025.03.18.13.10.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Mar 2025 13:10: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: 0e30501f-0435-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742328636; x=1742933436; 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=fFR6Lx+8uzZeDNvYQXJ4wfVsC/h5Eercmey8e2APULw=;
        b=VweKSMPz741jk/q6Vo7YqgbERbuBQPLyzr7UeQu62gy05MufVgLhtNVOXl7xjfpkD/
         vdrfvsi8SS2FL1kmuN5xrR1Sw3xUPPuKpxtVJwayfbzmckhMj7TZ9PXbBS3vjKk4LaJc
         t9pPXeGYgqvXUn9w9Hs8pVDCDA2QdSOJXOdF0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742328636; x=1742933436;
        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=fFR6Lx+8uzZeDNvYQXJ4wfVsC/h5Eercmey8e2APULw=;
        b=WApJvaG4lJYQxg5Vi7Htk9efg2s25cJP3rpH9aQUfJVV3n6afIJk7vNW+yKMwC68wC
         1DTO1/K155brZwS/ynJXBpvNnRlZmoLyCY67/w3ABIKwG9fxjvmhWkP7La+4vN3QQ8Us
         F8p5rIXJb36t4cn3gy5k+8M2AC9eRcg/tBrs027vqHYGroRmZpF44Bthz/QnR/k4cacH
         ELeR9eqzQB7jWdPcAgeAgwzd4uiG7XMSMLARlWL4LC9fqaTO0K+P2sj0S960NZRtNPGU
         jJblnutsNEpY3tLMbnAphZBAaaEZslZWEHtdu6SEV/dDgsjft+KswmyqxnyydsWvTjyI
         1rKQ==
X-Gm-Message-State: AOJu0YxQbSQzih8grWV5+Ndi4qFJ1VoUxyFGdvi/1l2Yw93bzlhndTQC
	kYBVBoW0gbAoLsXWLXwtnwXe25Rj1bafCm6HAIUQ/SyAhSja4rz38emDKXf2XLRCdlXPeoDcVHP
	w
X-Gm-Gg: ASbGncs6YqFJt5qpppAR70IKqggHMxN2H+W/FmT+Ik4lNLR8L+L6ceL8IvI+NDjBRVc
	ZAkKu4+Zj+GUczE0C2TuEJSiy64pmone1dRklixdUX0XrpIefVehEf3toJgpaNqnx4oOdyXUAPv
	uJ4t0j6SCZ2qmXYRpstsJ1NFdrIBXn8uOjsEczify5RGEQuJLFuXJCPuWo5sZfejYzN/wd1g6/M
	eMS9BbMYc3P+IRP1UuakkiMOmjLUKLXfy0t0C9MXDQmngCYwQXTgKonAcueJLVuZIcrTw/4sA7P
	r/gm7Af4anPGzcjkMyF/rXM/FJMlfNM3OWBzWYdtrtq9U8Sit2AhcRogFVtqxmEsaPEDObpJ6vN
	99J3n0O95mH5JtpUJtw==
X-Google-Smtp-Source: AGHT+IF3xt8IgQaRZ0eJiLa7QP9lzQSYg8i0Euh7oY75H4PisSLSn7Q07w2IUMdrivXI907/5rRMSg==
X-Received: by 2002:a05:6000:1ac8:b0:391:4bfd:6d5 with SMTP id ffacd0b85a97d-39973b356e1mr73456f8f.52.1742328635827;
        Tue, 18 Mar 2025 13:10:35 -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] x86/boot: Untangle the trampoline copying/entry logic
Date: Tue, 18 Mar 2025 20:10:33 +0000
Message-Id: <20250318201033.60634-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250318173547.59475-5-roger.pau@citrix.com>
References: <20250318173547.59475-5-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The LRET is detached from the PUSHes which set it up, and this is about to get
worse with the changes to trampoline relocation.  For the sake of one variable
read, the complexity is not worth it.

Reorder the logic to copy the trampoline into place, then switch stack and
enter the trampoline.

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>

Roger: I'd like this to be a prerequisite to your "[PATCH 4/7] x86/boot: apply
trampoline relocations at destination position" to avoid the movement of
reloc_trampoline32() making things worse.
---
 xen/arch/x86/boot/head.S | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 59a2b5005cf6..4082d7c6c0a0 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -697,19 +697,20 @@ trampoline_setup:
         call    cmdline_parse_early
 
 1:
-        /* Switch to low-memory stack which lives at the end of trampoline region. */
-        mov     sym_esi(trampoline_phys), %edi
-        lea     TRAMPOLINE_SIZE(%edi), %esp
-        lea     trampoline_boot_cpu_entry-trampoline_start(%edi),%eax
-        pushl   $BOOT_CS32
-        push    %eax
-
         /* Copy bootstrap trampoline to low memory, below 1MB. */
         lea     sym_esi(trampoline_start), %esi
+        mov     sym_esi(trampoline_phys), %edi
         mov     $((trampoline_end - trampoline_start) / 4),%ecx
         rep movsl
 
-        /* Jump into the relocated trampoline. */
+        /* Switch to low-memory stack which lives at the end of trampoline. */
+        mov     sym_esi(trampoline_phys), %edi
+        lea     TRAMPOLINE_SIZE(%edi), %esp
+
+        /* Enter the trampoline at trampoline_boot_cpu_entry(). */
+        lea     trampoline_boot_cpu_entry - trampoline_start(%edi), %eax
+        pushl   $BOOT_CS32
+        push    %eax
         lret
 
 ENTRY(trampoline_start)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 18 20:14:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 20:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919847.1324196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tudKV-0008O4-7p; Tue, 18 Mar 2025 20:14:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919847.1324196; Tue, 18 Mar 2025 20:14: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 1tudKV-0008Nx-5C; Tue, 18 Mar 2025 20:14:27 +0000
Received: by outflank-mailman (input) for mailman id 919847;
 Tue, 18 Mar 2025 20:14: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=0H9a=WF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tudKT-0008Np-NJ
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 20:14:25 +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 961a7443-0435-11f0-9abc-95dc52dad729;
 Tue, 18 Mar 2025 21:14:24 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-39727fe912cso1658230f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 18 Mar 2025 13:14:24 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975b34sm19225648f8f.55.2025.03.18.13.14.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 18 Mar 2025 13:14: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: 961a7443-0435-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742328864; x=1742933664; 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=Opdw5ocR687G6F6WwBTRM6aIEe2FdqNl1nXAkKIt/eY=;
        b=QWqm0xACok9kltO84un1ZgL86J9IhStSnph1tTaA3O/jrcWmguMPKEYSnXpVPkvSHE
         Bb4qq8KWvXqHhWESvDtUf5KwgW+2DCKIH3AXeZm43/RzaYpBsdezYKGkmMdev1RIwyCf
         y6Cpa4giHrjGIJMbsYFbZNyDVSIA7z5vHqt0g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742328864; x=1742933664;
        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=Opdw5ocR687G6F6WwBTRM6aIEe2FdqNl1nXAkKIt/eY=;
        b=Oqkw4oHydKurGpPyDZWCk9Cv3nJNSrlplHZx84cvvkcCfV8jSUG/aAHwoh8jjdIPT7
         eE7fpnRM0OJKGgk59h6bg4cTjIzvqBtKsYKICNGU/04CRv7WYI8kFo5A8Tozp7tHarS4
         ZYlGDW9tI5EUncp07N3LXdRDnOVvhGBiXbF8KQb2PPp9ircx70tWJMjD6GCq9SvtBoTR
         nNbAUdHSiH9LPuDy6+L5mxUs1jintK9zAY+rC6feo1Y4nsROMYv1Md+Gr7CllD26yfQF
         FNdd4yDif1EDgCUoJlZzX9gzaLTNCKKnzmvZO1U+Qqd40ZnPPPQGpxuzR5oYQcrSFFs4
         NT9g==
X-Forwarded-Encrypted: i=1; AJvYcCXkg5zYJJ/RQkp4abAUZt67R81YcfYwz2P4KdFpOlJ5+mhVngeK06+Atv0popfP+gjv0cafzWHS+/U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQFdBnN/sVOAteZNAsnBuwKimuLuESNUTJ2iQIaVvIuZZN9pxB
	0OMzoKubTLZVmwMVHIFrUrLuokD3fOKTgodbvAmYd3YuVXd1c98D6NVIQR5GkE4=
X-Gm-Gg: ASbGncudfzl3a+8ne3tgKY22LQvJsdkwZUM3zEtURXuXKmPgO0awhlX4EFMRVZT4IYI
	JAVsSk+BwYwBe/6hRwO6vRyydrCqQylbkuYZEU/CcqzexQC3+2ub26Aa5N6hiGjVYkY0ryA18OY
	e0nkrH9KouiPVqHXTsp8yY9hXmYbrUsYgVm5er/bdoSGe5lR8ikDZhatE6urRH07GktYrtnpZQZ
	9SImza1UsHKw8kKeXi33KQknksS7cFCW+03GLggrVSZFWlglMQl/Ks16s/dXJ9D1us56PDpd1KX
	cL9lyeLccKtBHxIPpfUHppJCGqPGm7zGM9aRN2wEpxOGMtjF5v3bd1otL37F+Jmcrc1goegcsXn
	aAKr0aGrc
X-Google-Smtp-Source: AGHT+IH4Fy9Dqc5o8b3YsO6KXHJ5QGCZUs7xi1wPEysFtuB1rOBgmPYJrq0JswXXCgqQ+j1otOix2g==
X-Received: by 2002:a05:6000:156b:b0:391:412b:e23f with SMTP id ffacd0b85a97d-399739c7b8bmr159815f8f.15.1742328864251;
        Tue, 18 Mar 2025 13:14:24 -0700 (PDT)
Message-ID: <ad70b8a0-93e8-4aa8-a529-a83a5ac831d9@citrix.com>
Date: Tue, 18 Mar 2025 20:14:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/7] x86/boot: apply trampoline relocations at destination
 position
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-5-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: <20250318173547.59475-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> diff --git a/xen/arch/x86/boot/reloc-trampoline.c b/xen/arch/x86/boot/reloc-trampoline.c
> index e35e7c78aa86..ac54aef14eaf 100644
> --- a/xen/arch/x86/boot/reloc-trampoline.c
> +++ b/xen/arch/x86/boot/reloc-trampoline.c
> @@ -20,19 +20,19 @@ void reloc_trampoline64(void)
>      uint32_t phys = trampoline_phys;
>      const int32_t *trampoline_ptr;
>  
> -    /*
> -     * Apply relocations to trampoline.
> -     *
> -     * This modifies the trampoline in place within Xen, so that it will
> -     * operate correctly when copied into place.
> -     */
> +    /* Apply relocations to trampoline after copy to destination. */

I think this needs expanding on a bit.

The relocations in __trampoline_*_{start,stop} relate to the trampoline
as it lives compiled into Xen, but we're applying them to the trampoline
already copied into low memory.

> +#define RELA_TARGET(ptr, bits) \
> +    *(uint ## bits ## _t *)(phys + *ptr + (long)ptr - (long)trampoline_start)
> +
>      for ( trampoline_ptr = __trampoline_rel_start;
>            trampoline_ptr < __trampoline_rel_stop;
>            ++trampoline_ptr )
> -        *(uint32_t *)(*trampoline_ptr + (long)trampoline_ptr) += phys;
> +        RELA_TARGET(trampoline_ptr, 32) += phys;
>  
>      for ( trampoline_ptr = __trampoline_seg_start;
>            trampoline_ptr < __trampoline_seg_stop;
>            ++trampoline_ptr )
> -        *(uint16_t *)(*trampoline_ptr + (long)trampoline_ptr) = phys >> 4;
> +        RELA_TARGET(trampoline_ptr, 16) = phys >> 4;
> +
> +#undef RELA_TARGET

I have a patch renaming trampoline_ptr to just ptr, on the grounds of
verbosity.Â  I'm not sure if it want's to go in ahead, merged with, or
after this patch.

Also, encoding bits in RELA_TARGET() isn't terribly nice.Â  What's wrong
with keeping the casts as-are, and having RELA_TARGET() only taking ptr?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 22:34:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 22:34:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919868.1324206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tufVs-00018s-Km; Tue, 18 Mar 2025 22:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919868.1324206; Tue, 18 Mar 2025 22:34: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 1tufVs-00018l-Hh; Tue, 18 Mar 2025 22:34:20 +0000
Received: by outflank-mailman (input) for mailman id 919868;
 Tue, 18 Mar 2025 22:34: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tufVr-00018f-7J
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 22:34:19 +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 203261c9-0449-11f0-9abc-95dc52dad729;
 Tue, 18 Mar 2025 23:34:17 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 57B956159C;
 Tue, 18 Mar 2025 22:34:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 87406C4CEDD;
 Tue, 18 Mar 2025 22:34:14 +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: 203261c9-0449-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742337256;
	bh=Dd9GoETCYGs+epNWIKK8O1R25a3y1klevYiElX3k6nA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=G+HAgJencfwByo4dE7SsI6bq6vXTABjEf3oDsxNermHiSf2tc44bvuSOoRN+jrRG6
	 omL5jZ/XC1tcbjRM9fd226fg/B9G58+XZ6HAigDb6IkIydUIPffV7WutMbgZfApyk1
	 zjAN6prG0fGpFzIpuDVwHb2XuKgJzHgYoI3LHV8jMqPhVJWstMN4EOxPEig62Z45yx
	 U+rarsp/6Zar+S1VoXHXtgnXJHZzww/BhJtF1A4SPM1xw/lbIHj8cq7kaFTOELvT9V
	 0bp4f59LmmFb9HWLAm5AZViKyvhTBPL6N1eTyf3xRkgpaZccUNdjDzASdpGuDbYtSg
	 i7EoK4ouzd23Q==
Date: Tue, 18 Mar 2025 15:34:13 -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 <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>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    xen-devel@lists.xenproject.org, Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH 15/23] xen/xsm: Add XSM_HW_PRIV
In-Reply-To: <bc8505f5-0712-4661-b6af-8d8f96a1ea2b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503181533590.3477110@ubuntu-linux-20-04-desktop>
References: <20250306220343.203047-1-jason.andryuk@amd.com> <20250306220343.203047-16-jason.andryuk@amd.com> <095042a0-94c1-4f86-b6df-836a7107efa2@suse.com> <a6bd6175-32fb-4da5-b70d-70e8dabadf66@amd.com> <alpine.DEB.2.22.394.2503171653220.3477110@ubuntu-linux-20-04-desktop>
 <bc8505f5-0712-4661-b6af-8d8f96a1ea2b@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 18 Mar 2025, Jan Beulich wrote:
> On 18.03.2025 00:55, Stefano Stabellini wrote:
> > On Mon, 17 Mar 2025, Jason Andryuk wrote:
> >> On 2025-03-17 10:22, Jan Beulich wrote:
> >>> On 06.03.2025 23:03, Jason Andryuk wrote:
> >>>> --- a/xen/include/xsm/dummy.h
> >>>> +++ b/xen/include/xsm/dummy.h
> >>>> @@ -95,7 +95,11 @@ static always_inline int xsm_default_action(
> >>>>               return 0;
> >>>>           fallthrough;
> >>>>       case XSM_PRIV:
> >>>> -        if ( is_control_domain(src) )
> >>>> +    case XSM_HW_PRIV:
> >>>> +        if ( is_control_domain(src) && action != XSM_HW_PRIV )
> >>>> +            return 0;
> >>>> +        if ( is_hardware_domain(src) &&
> >>>> +             (action == XSM_HW_PRIV || action == XSM_DM_PRIV) )
> >>>>               return 0;
> >>>>           return -EPERM;
> >>>
> >>> Hmm. Isn't DM_PRIV a property applying to the control domain (besides
> >>> any stub domains), but not the hardware one?
> >>
> >> I ran QEMU in hardware domain to provide devices to a domU.  I thought QEMU
> >> would better run in hardware domain than control domain.
> > 
> > Leaving stubdoms aside, QEMU has to run in the hardware domain because
> > the hardware domain is less privileged. QEMU can be attacked or affected
> > by the guest so it is undesirable to run QEMU in the control domain
> > which is highly privileged, and considered highly secure / safe.
> 
> Yet having access to the hardware, hwdom can likely also do about anything
> to the system. IOW I'd consider this "highly privileged" too, just not from
> a pure software perspective. If you want a secure / safe environment, I
> fear you won't get around using further (stub?) domain(s) to run qemu in.

Traditionally, from an upstream Xen Project perspective, it is important
to support as many hardware platforms as possible. The goal is to
provide the best possible out-of-the-box experience, including support
for devices like the Raspberry Pi 4 (RPi4), which has certain quirks and
limited IOMMU support.  

However, when considering safety (similar concepts also apply to
security) it is necessary to write down assumptions. One key assumption
is that the system includes an IOMMU and that all DMA-capable devices
are protected by it.  

There are boards, such as the RPi4, that do not meet these assumptions.
While Xen can and should run on such hardware, the level of flexibility
in configuring safe environments on these boards will be limited.  

For example, on the RPi4, I would not recommend to run QEMU in an unsafe
hardware domaini because the hardware domain will end up having control
over unprotected DMA-capable devices that can be used to harm the
system. However, it will be possible to run QEMU in an unsafe hardware
domains on platforms were all DMA-capable devices that can harm the
system are IOMMU protected, such as Xilinx MPSoC when configured
correctly.


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:36:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919885.1324215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUC-0003zp-Sc; Tue, 18 Mar 2025 23:36:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919885.1324215; Tue, 18 Mar 2025 23:36: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 1tugUC-0003zi-P4; Tue, 18 Mar 2025 23:36:40 +0000
Received: by outflank-mailman (input) for mailman id 919885;
 Tue, 18 Mar 2025 23:36: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUA-0003zY-F2
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:36:39 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d508535f-0451-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 00:36:36 +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: d508535f-0451-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742340994; x=1742600194;
	bh=UZRHKlWYAxoJ6bEXSfVNc0RPJQ6YdMQDwDFS2riZSxc=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=NgN2R0H/O7lM48rCcKHSR1YLTcWtUmgoj3V8iI816Dbw7XEWNQF3O+CTVPiKPe3Ye
	 ygidmc9/zNnp0GqTHWaa6g1qgeAaaDhy4SdHfNdyUtlfLaBzbLHRUj3xP+GZs2c7XS
	 1v9Uf3g7W6TvhN7i2yz26bAJmF6Xm6v300sdnPbONKAxUdnxs9J6pbCE9O6jFAJ1Tx
	 7mHrPCOTprV2GKSt0UqIytZCgOTyW6tH0D5k9RJpnVkcABv55a/o3IYzDx8+hkybqh
	 Gk/mE7XBTMe+LJcnzwzFPoIz/9Lx4t51BioesnM7pGDyFKySb/NDH1JpgN3GO3U6HQ
	 CNg/3bgpw+Q3g==
Date: Tue, 18 Mar 2025 23:36:30 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 0/8] xen/console: cleanup console input switch logic
Message-ID: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: be079d31e74ec14998a317e468bab3f1620ded3f
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Currently, on x86, console input can be rotated in round-robin manner
only between dom0, PV shim, and Xen itself. On Arm the input rotation
can include domUs with vpl011.
 =20
The patch series introduces the concept of "console focus", which is
defined as the ID of the domain that currently owns the physical console
input.
 =20
The patch series originates from the NS16550 UART emulator series [1]
for x86, which requires ability to switch physical console input to a
PVH/HVM domain with an emulated UART.
=20
The main idea is introducing a per-domain permission flag that is set
during domain initialization and used by the console driver to switch
the input across permitted domains.
=20
Patch 0 removes all the trailing white spaces in the console driver code.
=20
Patch 1 introduces a new domain permission flag to mark ownership of the
console input for the console driver.  =20
=20
Patches 2-4 prepare console driver to allow console input rotation
across multiple domains based on the new permission flag.
=20
Patches 5-6 perform mechanical renames to fit the usage in the code.
=20
Patch 7 cleans up the console input switch logic.
=20
Patch 8 simplifies the existing vUART code by using newly introduced APIs.

CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/172336124=
8

[1]: https://lore.kernel.org/xen-devel/20250103-vuart-ns8250-v3-v1-0-c5d36b=
31d66c@ford.com/

Denis Mukhin (8):
  xen/console: fix trailing whitespaces
  xen/console: introduce console input permission
  xen/domain: introduce domid_top
  xen/domain: introduce domid_alloc()
  xen/console: rename switch_serial_input() to console_switch_focus()
  xen/console: rename console_rx to console_focus
  xen/console: introduce console_set_focus()
  xen/console: introduce console_get_focus()

 xen/arch/arm/dom0less-build.c      |  15 ++-
 xen/arch/arm/domain_build.c        |  19 +++-
 xen/arch/arm/include/asm/setup.h   |   2 -
 xen/arch/arm/setup.c               |   2 -
 xen/arch/arm/vpl011.c              |   7 +-
 xen/arch/ppc/include/asm/setup.h   |   2 -
 xen/arch/riscv/include/asm/setup.h |   2 -
 xen/arch/x86/include/asm/setup.h   |   2 -
 xen/arch/x86/pv/shim.c             |   2 +
 xen/common/domain.c                |   5 +
 xen/common/domctl.c                |  71 +++++++++------
 xen/common/kernel.c                |   8 ++
 xen/drivers/char/console.c         | 142 +++++++++++++++++------------
 xen/include/xen/console.h          |   3 +-
 xen/include/xen/domain.h           |   5 +
 xen/include/xen/sched.h            |   8 +-
 16 files changed, 180 insertions(+), 115 deletions(-)

--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:36:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:36:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919887.1324236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUH-0004Sx-DK; Tue, 18 Mar 2025 23:36:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919887.1324236; Tue, 18 Mar 2025 23:36: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 1tugUH-0004Sq-A9; Tue, 18 Mar 2025 23:36:45 +0000
Received: by outflank-mailman (input) for mailman id 919887;
 Tue, 18 Mar 2025 23:36: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUF-0004Rg-Ov
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:36:43 +0000
Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch
 [185.70.40.133]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d850c6d9-0451-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 00:36:41 +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: d850c6d9-0451-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742341000; x=1742600200;
	bh=owVvjEcu2jhrINTS+SqEPbxvoEDw03hS/2Hjj7grNLw=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=LCC4KcnYfB5GtNUKbuYuKGGRwxSmtJ449Xq1CownOGpRmZyfi8H/2GuS5oQqGeYVK
	 +KvvnKbuOnBMwXmuAgOg5sXZKVyxazE5ko4HMYR69fUmuKAslrqCL0amhp9PRUYUBL
	 xqB1m4k0lHZXrxwqI0lzPOSgnlKKikvmyeGL69uq8SnACG9lrUkmSy+cL6QJ5mOIKr
	 0zipMnMjLebgULxIAVS3tHMkuDQOtdN1rujTVf/MwQCYJXZyQgI9CI8fPLzer7xIjw
	 EMtD4Gy22OG5K8MtJKMdpP6WKIs65SIOzbuiTNNB8eZg96copwMQBJfiJe0tKnisST
	 npYejPzKJGaHA==
Date: Tue, 18 Mar 2025 23:36:37 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 2/8] xen/console: introduce console input permission
Message-ID: <20250318233617.849903-3-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 4b739d5ca3de234e1019e5b8e8ce34db19cc8ae8
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Add new flag in domain structure for marking permission to intercept
the physical console input by the domain.

Update console input switch logic accordingly.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/arm/vpl011.c      |  2 ++
 xen/arch/x86/pv/shim.c     |  2 ++
 xen/common/domain.c        |  2 ++
 xen/drivers/char/console.c | 49 +++++++++++++++++++++++++++++++++-----
 xen/include/xen/sched.h    |  8 ++++++-
 5 files changed, 56 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 66047bf33c..147958eee8 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -737,6 +737,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_=
init_info *info)
     register_mmio_handler(d, &vpl011_mmio_handler,
                           vpl011->base_addr, GUEST_PL011_SIZE, NULL);
=20
+    d->console.input_allowed =3D true;
+
     return 0;
=20
 out1:
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index c506cc0bec..bc2a7dd5fa 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -238,6 +238,8 @@ void __init pv_shim_setup_dom(struct domain *d, l4_pgen=
try_t *l4start,
      * guest from depleting the shim memory pool.
      */
     d->max_pages =3D domain_tot_pages(d);
+
+    d->console.input_allowed =3D true;
 }
=20
 static void write_start_info(struct domain *d)
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 585fd726a9..b9f549c617 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -827,6 +827,8 @@ struct domain *domain_create(domid_t domid,
=20
         old_hwdom =3D hardware_domain;
         hardware_domain =3D d;
+
+        d->console.input_allowed =3D true;
     }
=20
     TRACE_TIME(TRC_DOM0_DOM_ADD, d->domain_id);
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index c3150fbdb7..d7d9800095 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -474,11 +474,26 @@ static unsigned int __read_mostly console_rx =3D 0;
=20
 #define max_console_rx (max_init_domid + 1)
=20
+static struct domain *console_get_domain_by_id(domid_t domid)
+{
+    struct domain *d =3D rcu_lock_domain_by_id(domid);
+
+    if ( !d )
+        return NULL;
+
+    if ( d->console.input_allowed )
+        return d;
+
+    rcu_unlock_domain(d);
+
+    return NULL;
+}
+
 struct domain *console_get_domain(void)
 {
     if ( console_rx =3D=3D 0 )
             return NULL;
-    return rcu_lock_domain_by_id(console_rx - 1);
+    return console_get_domain_by_id(console_rx - 1);
 }
=20
 void console_put_domain(struct domain *d)
@@ -487,6 +502,15 @@ void console_put_domain(struct domain *d)
         rcu_unlock_domain(d);
 }
=20
+static bool console_check_focus_by_id(domid_t domid)
+{
+    struct domain *d =3D console_get_domain_by_id(domid);
+
+    console_put_domain(d);
+
+    return !!d;
+}
+
 static void switch_serial_input(void)
 {
     unsigned int next_rx =3D console_rx;
@@ -498,7 +522,6 @@ static void switch_serial_input(void)
     for ( ; ; )
     {
         domid_t domid;
-        struct domain *d;
=20
         if ( next_rx++ >=3D max_console_rx )
         {
@@ -511,10 +534,9 @@ static void switch_serial_input(void)
             domid =3D get_initial_domain_id();
         else
             domid =3D next_rx - 1;
-        d =3D rcu_lock_domain_by_id(domid);
-        if ( d )
+
+        if ( console_check_focus_by_id(domid) )
         {
-            rcu_unlock_domain(d);
             console_rx =3D next_rx;
             printk("*** Serial input to DOM%u", domid);
             break;
@@ -564,10 +586,25 @@ static void __serial_rx(char c)
         /* Deliver input to the PV shim console. */
         rc =3D consoled_guest_tx(c);
=20
-    if ( rc )
+    switch ( rc )
+    {
+    case 0:
+        break;
+
+    case -EBUSY:    /* Loopback mode */
+    case -ENOSPC:   /* FIFO is full */
         guest_printk(d,
                      XENLOG_WARNING "failed to process console input: %d\n=
",
                      rc);
+        break;
+
+    default:
+        d->console.input_allowed =3D false;
+        guest_printk(d,
+                     XENLOG_ERR "disabled console input: %d\n",
+                     rc);
+        break;
+    }
=20
     console_put_domain(d);
 }
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 559d201e0c..292b1a91f9 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -512,7 +512,7 @@ struct domain
     bool             auto_node_affinity;
     /* Is this guest fully privileged (aka dom0)? */
     bool             is_privileged;
-    /* Can this guest access the Xen console? */
+    /* XSM: permission to use HYPERCALL_console_io hypercall */
     bool             is_console;
     /* Is this guest being debugged by dom0? */
     bool             debugger_attached;
@@ -651,6 +651,12 @@ struct domain
     unsigned int num_llc_colors;
     const unsigned int *llc_colors;
 #endif
+
+    /* Console settings. */
+    struct {
+        /* Permission to own physical console input. */
+        bool input_allowed;
+    } console;
 } __aligned(PAGE_SIZE);
=20
 static inline struct page_list_head *page_to_list(
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:36:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919886.1324225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUE-0004Da-2b; Tue, 18 Mar 2025 23:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919886.1324225; Tue, 18 Mar 2025 23:36: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 1tugUD-0004DT-WC; Tue, 18 Mar 2025 23:36:41 +0000
Received: by outflank-mailman (input) for mailman id 919886;
 Tue, 18 Mar 2025 23:36: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUC-0003zY-M0
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:36:40 +0000
Received: from mail-24418.protonmail.ch (mail-24418.protonmail.ch
 [109.224.244.18]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d72418e2-0451-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 00:36:40 +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: d72418e2-0451-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742340998; x=1742600198;
	bh=QtdLXYxNwzbKQmZe/6N+UHeOHnwW7yUtlmw52BzQ2+Y=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=iau+V0ryMHpEWMABNwtTh4Jyv7bidE5fCdIKIGjB6m2DFyBT7BctXQaCa3w08/pw7
	 NozMugX8QQsXzUSNz23k9kjxOYVt6OKE1CuIQscDSN6E1IRsS9+jGidgErLuY5Cl7q
	 O+N7ecgnc9b5wcWwWSHXLwhBktUcB/MDcxDeULlTKjs/L9XmyK2ibjlIEyjal2Q48M
	 uvSupxnbuHZB61yP3vb9uc43l+p6RdMO8D7LIGXblrCWZcMvswTm6p9BpJrHV8TsTl
	 Sx/t3saCZK5cYONg2PQu8ZRapMRxT6QmKjoSwdZsz57p3bQTTt5aapHaLgFIizy0NW
	 kJyrA+TQIzBiw==
Date: Tue, 18 Mar 2025 23:36:34 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 1/8] xen/console: fix trailing whitespaces
Message-ID: <20250318233617.849903-2-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: ea03fa4e2f7a43ce4ce55988ca7f5e32dfdf1a42
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Remove trailing whitespaces in the console driver.

No functional change.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/drivers/char/console.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index ba428199d2..c3150fbdb7 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -1,8 +1,8 @@
 /*************************************************************************=
*****
  * console.c
- *=20
+ *
  * Emergency console I/O for Xen and the domain-0 guest OS.
- *=20
+ *
  * Copyright (c) 2002-2004, K A Fraser.
  *
  * Added printf_ratelimit
@@ -811,7 +811,7 @@ static int printk_prefix_check(char *p, char **pp)
     return ((atomic_read(&print_everything) !=3D 0) ||
             (loglvl < lower_thresh) ||
             ((loglvl < upper_thresh) && printk_ratelimit()));
-}=20
+}
=20
 static int cf_check parse_console_timestamps(const char *s)
 {
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:36:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919888.1324246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUJ-0004iY-MQ; Tue, 18 Mar 2025 23:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919888.1324246; Tue, 18 Mar 2025 23:36: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 1tugUJ-0004iR-Ik; Tue, 18 Mar 2025 23:36:47 +0000
Received: by outflank-mailman (input) for mailman id 919888;
 Tue, 18 Mar 2025 23:36: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUI-0004Rg-7r
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:36:46 +0000
Received: from mail-10631.protonmail.ch (mail-10631.protonmail.ch
 [79.135.106.31]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da0c246c-0451-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 00:36:44 +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: da0c246c-0451-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742341003; x=1742600203;
	bh=an7oco9t2MW1aPCyVdsDXyaEu4dmL76TiBG8/A0s7xA=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=PhDhJTdJEEerElqeuorniNkGGyf08ZNC7jbDQr8SnfQcjhNH9lpaqpmFsXJDsbtag
	 dXj6hrtrbd2FcsGYGGv744CLVokUdWf+PnZ/nkFX/8+TOi7RY2woQxm9wuFehHl2F7
	 gGZiDR9yOPGoNH60k4ciy48CYZ45Vp9NOcZfup/cddMy10v7Ky1wiG0wOoMDbqMrte
	 1YN+KRYA0rWcj/oOUWF6nxInBCw29jeIhQeNyB5lD3149eN5SCO0jV0wkY8muHkz/k
	 xeow6G6x6MKoGCu0xKj+X7xcjPDybcBMYIYosFGnYviRi/wppWOTk06CAd7Fm1e7Vg
	 LPdpu4JyNtceQ==
Date: Tue, 18 Mar 2025 23:36:40 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 3/8] xen/domain: introduce domid_top
Message-ID: <20250318233617.849903-4-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 68345f0592094b4e9be75b2581fdeb838d44de27
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Rename max_init_domid to domid_top to align with its usage in the code
(Arm), where it represents the upper boundary of the non-system domain
ID range.

Relocate the domid_top declaration to an architecture-independent
location.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/arm/dom0less-build.c      | 4 ++--
 xen/arch/arm/include/asm/setup.h   | 2 --
 xen/arch/arm/setup.c               | 2 --
 xen/arch/ppc/include/asm/setup.h   | 2 --
 xen/arch/riscv/include/asm/setup.h | 2 --
 xen/arch/x86/include/asm/setup.h   | 2 --
 xen/common/domain.c                | 3 +++
 xen/drivers/char/console.c         | 2 +-
 xen/include/xen/domain.h           | 2 ++
 9 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 573b0d25ae..d7d7665c0a 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -981,7 +981,7 @@ void __init create_domUs(void)
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
=20
-        if ( (max_init_domid + 1) >=3D DOMID_FIRST_RESERVED )
+        if ( (domid_top + 1) >=3D DOMID_FIRST_RESERVED )
             panic("No more domain IDs available\n");
=20
         if ( dt_find_property(node, "xen,static-mem", NULL) )
@@ -1112,7 +1112,7 @@ void __init create_domUs(void)
          * very important to use the pre-increment operator to call
          * domain_create() with a domid > 0. (domid =3D=3D 0 is reserved f=
or Dom0)
          */
-        d =3D domain_create(++max_init_domid, &d_cfg, flags);
+        d =3D domain_create(++domid_top, &d_cfg, flags);
         if ( IS_ERR(d) )
             panic("Error creating domain %s (rc =3D %ld)\n",
                   dt_node_name(node), PTR_ERR(d));
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/se=
tup.h
index 6cf272c160..f107e8eebb 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -25,8 +25,6 @@ struct map_range_data
     struct rangeset *irq_ranges;
 };
=20
-extern domid_t max_init_domid;
-
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
=20
 size_t estimate_efi_size(unsigned int mem_nr_banks);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index ffcae900d7..ab60f0d189 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -60,8 +60,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
 bool __read_mostly acpi_disabled;
 #endif
=20
-domid_t __read_mostly max_init_domid;
-
 static __used void init_done(void)
 {
     int rc;
diff --git a/xen/arch/ppc/include/asm/setup.h b/xen/arch/ppc/include/asm/se=
tup.h
index e4f64879b6..956fa6985a 100644
--- a/xen/arch/ppc/include/asm/setup.h
+++ b/xen/arch/ppc/include/asm/setup.h
@@ -1,6 +1,4 @@
 #ifndef __ASM_PPC_SETUP_H__
 #define __ASM_PPC_SETUP_H__
=20
-#define max_init_domid (0)
-
 #endif /* __ASM_PPC_SETUP_H__ */
diff --git a/xen/arch/riscv/include/asm/setup.h b/xen/arch/riscv/include/as=
m/setup.h
index c9d69cdf51..d1fc64b673 100644
--- a/xen/arch/riscv/include/asm/setup.h
+++ b/xen/arch/riscv/include/asm/setup.h
@@ -5,8 +5,6 @@
=20
 #include <xen/types.h>
=20
-#define max_init_domid (0)
-
 void setup_mm(void);
=20
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/se=
tup.h
index 5c2391a868..296348655b 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -69,6 +69,4 @@ extern bool opt_dom0_verbose;
 extern bool opt_dom0_cpuid_faulting;
 extern bool opt_dom0_msr_relaxed;
=20
-#define max_init_domid (0)
-
 #endif
diff --git a/xen/common/domain.c b/xen/common/domain.c
index b9f549c617..dac910d454 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -66,6 +66,9 @@ DEFINE_RCU_READ_LOCK(domlist_read_lock);
 static struct domain *domain_hash[DOMAIN_HASH_SIZE];
 struct domain *domain_list;
=20
+/* Highest known non-system domain ID. */
+domid_t domid_top;
+
 /*
  * Insert a domain into the domlist/hash.  This allows the domain to be lo=
oked
  * up by domid, and therefore to be the subject of hypercalls/etc.
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index d7d9800095..d04a5335ce 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -472,7 +472,7 @@ static void cf_check dump_console_ring_key(unsigned cha=
r key)
  */
 static unsigned int __read_mostly console_rx =3D 0;
=20
-#define max_console_rx (max_init_domid + 1)
+#define max_console_rx (domid_top + 1)
=20
 static struct domain *console_get_domain_by_id(domid_t domid)
 {
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 83069de501..b7425827b8 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -35,6 +35,8 @@ void getdomaininfo(struct domain *d, struct xen_domctl_ge=
tdomaininfo *info);
 void arch_get_domain_info(const struct domain *d,
                           struct xen_domctl_getdomaininfo *info);
=20
+extern domid_t domid_top;
+
 domid_t get_initial_domain_id(void);
=20
 /* CDF_* constant. Internal flags for domain creation. */
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:36:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:36:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919892.1324256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUO-00054h-TW; Tue, 18 Mar 2025 23:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919892.1324256; Tue, 18 Mar 2025 23:36: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 1tugUO-00054O-QI; Tue, 18 Mar 2025 23:36:52 +0000
Received: by outflank-mailman (input) for mailman id 919892;
 Tue, 18 Mar 2025 23:36: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUO-0004Rg-21
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:36:52 +0000
Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch
 [185.70.40.133]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd39c87a-0451-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 00:36:50 +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: dd39c87a-0451-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742341008; x=1742600208;
	bh=5+7Swk3BoRdHzWMaplmAr3XGJqn1SC0JZyVTBod6PsE=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=lgw/v88V3dGHf1I0jQKeceXMMjN3X9xQiDpef/IR4E+FIoElURXcaM2bCmLMe8m9d
	 IJkZ1+d4mi0Ve9JpYiOR1pn9OsuGxz7poAT188JFSSwXQ4Hfsu/Q2N6gSxXE82UHDd
	 WpSDVPIepjECTV64yPle+/w9IBs0Uom2rYrh0KFTg8PE7aPeQupKaQp+E0dUoRJmu2
	 krKB4egtruJY/kAaN3kov6BY+l0+BykusHLCPZ4d2bDTtMum6Eh07bar6PMowTe8Fu
	 6+HqQydSjLCWYXxPdSSnW/VJs+4G72zS8tkiiBBJ997THbVN66yNR7K/JAEgsq96mD
	 HX4fQH4MpwkQA==
Date: Tue, 18 Mar 2025 23:36:44 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 4/8] xen/domain: introduce domid_alloc()
Message-ID: <20250318233617.849903-5-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: b4c7297e86a6cd66f321795cab7881583df8818c
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Move domain ID allocation to a dedicated function domid_alloc() and
use it during domain creation.

Update domid_top within domid_alloc() to reflect the highest known
domain ID.

Initialize domid_top using the result of get_initial_domain_id().

Allocation algorithm:
- If an explicit domain ID is provided, verify its availability and
  use it if free;
- Otherwise, perform an exhaustive search for the first available ID
  within the [0..DOMID_FIRST_RESERVED) range, excluding hardware_domid.

The change is a prerequisite for enabling console input rotation
across domains on x86 (currently, limited to dom0, PV shim and Xen).

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/arm/dom0less-build.c | 15 ++++----
 xen/arch/arm/domain_build.c   | 19 +++++++---
 xen/common/domctl.c           | 71 ++++++++++++++++++++++-------------
 xen/common/kernel.c           |  8 ++++
 xen/include/xen/domain.h      |  3 ++
 5 files changed, 76 insertions(+), 40 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index d7d7665c0a..4b9e22039e 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -975,14 +975,18 @@ void __init create_domUs(void)
             .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_versio=
n),
         };
         unsigned int flags =3D 0U;
+        domid_t domid;
         uint32_t val;
         int rc;
=20
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
=20
-        if ( (domid_top + 1) >=3D DOMID_FIRST_RESERVED )
-            panic("No more domain IDs available\n");
+        rc =3D domid_alloc(DOMID_AUTO);
+        if ( rc < 0 )
+            panic("cannot allocate domain ID for domain %s (rc =3D %d)\n",
+                  dt_node_name(node), rc);
+        domid =3D rc;
=20
         if ( dt_find_property(node, "xen,static-mem", NULL) )
         {
@@ -1107,12 +1111,7 @@ void __init create_domUs(void)
         if ( !llc_coloring_enabled && llc_colors_str )
             panic("'llc-colors' found, but LLC coloring is disabled\n");
=20
-        /*
-         * The variable max_init_domid is initialized with zero, so here i=
t's
-         * very important to use the pre-increment operator to call
-         * domain_create() with a domid > 0. (domid =3D=3D 0 is reserved f=
or Dom0)
-         */
-        d =3D domain_create(++domid_top, &d_cfg, flags);
+        d =3D domain_create(domid, &d_cfg, flags);
         if ( IS_ERR(d) )
             panic("Error creating domain %s (rc =3D %ld)\n",
                   dt_node_name(node), PTR_ERR(d));
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2b5b433183..2d8c2931d6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2367,8 +2367,15 @@ void __init create_dom0(void)
         .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
     };
     unsigned int flags =3D CDF_privileged;
+    domid_t domid;
     int rc;
=20
+    rc =3D domid_alloc(get_initial_domain_id());
+    if ( rc < 0 )
+        panic("Cannot use domain ID %d (rc =3D %d)\n",
+              get_initial_domain_id(), rc);
+    domid =3D rc;
+
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
     dom0_cfg.arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE;
     dom0_cfg.arch.nr_spis =3D VGIC_DEF_NR_SPIS;
@@ -2391,19 +2398,21 @@ void __init create_dom0(void)
     if ( !llc_coloring_enabled )
         flags |=3D CDF_directmap;
=20
-    dom0 =3D domain_create(0, &dom0_cfg, flags);
+    dom0 =3D domain_create(domid, &dom0_cfg, flags);
     if ( IS_ERR(dom0) )
-        panic("Error creating domain 0 (rc =3D %ld)\n", PTR_ERR(dom0));
+        panic("Error creating domain %d (rc =3D %ld)\n", domid, PTR_ERR(do=
m0));
=20
     if ( llc_coloring_enabled && (rc =3D dom0_set_llc_colors(dom0)) )
-        panic("Error initializing LLC coloring for domain 0 (rc =3D %d)\n"=
, rc);
+        panic("Error initializing LLC coloring for domain %d (rc =3D %d)\n=
",
+              domid, rc);
=20
     if ( alloc_dom0_vcpu0(dom0) =3D=3D NULL )
-        panic("Error creating domain 0 vcpu0\n");
+        panic("Error creating domain %d vcpu0\n", domid);
=20
     rc =3D construct_dom0(dom0);
     if ( rc )
-        panic("Could not set up DOM0 guest OS (rc =3D %d)\n", rc);
+        panic("Could not set up guest OS for domain %d (rc =3D %d)\n",
+              domid, rc);
 }
=20
 /*
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index bfe2e1f9f0..9964aa000a 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -63,6 +63,46 @@ static inline int is_free_domid(domid_t dom)
     return 0;
 }
=20
+/*
+ * Allocate new domain ID based on the hint.
+ *
+ * If hint is outside of valid [0..DOMID_FIRST_RESERVED] range of IDs,
+ * perform an exhaustive search of the first free domain ID excluding
+ * hardware_domid.
+ */
+int domid_alloc(int hint)
+{
+    domid_t domid;
+
+    if ( hint >=3D 0 && hint < DOMID_FIRST_RESERVED )
+    {
+        if ( !is_free_domid(hint) )
+            return -EEXIST;
+
+        domid =3D hint;
+    }
+    else
+    {
+        for ( domid =3D domid_top + 1; domid !=3D domid_top; domid++ )
+        {
+            if ( domid =3D=3D DOMID_FIRST_RESERVED )
+                domid =3D 0;
+            if ( domid =3D=3D hardware_domid )
+                continue;
+            if ( is_free_domid(domid) )
+                break;
+        }
+
+        if ( domid =3D=3D domid_top )
+            return -ENOMEM;
+    }
+
+    if ( domid_top < domid )
+        domid_top =3D domid;
+
+    return domid;
+}
+
 void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info=
)
 {
     struct vcpu *v;
@@ -421,34 +461,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u=
_domctl)
=20
     case XEN_DOMCTL_createdomain:
     {
-        domid_t        dom;
-        static domid_t rover =3D 0;
+        ret =3D domid_alloc(op->domain);
+        if ( ret < 0 )
+            break;
=20
-        dom =3D op->domain;
-        if ( (dom > 0) && (dom < DOMID_FIRST_RESERVED) )
-        {
-            ret =3D -EEXIST;
-            if ( !is_free_domid(dom) )
-                break;
-        }
-        else
-        {
-            for ( dom =3D rover + 1; dom !=3D rover; dom++ )
-            {
-                if ( dom =3D=3D DOMID_FIRST_RESERVED )
-                    dom =3D 1;
-                if ( is_free_domid(dom) )
-                    break;
-            }
-
-            ret =3D -ENOMEM;
-            if ( dom =3D=3D rover )
-                break;
-
-            rover =3D dom;
-        }
-
-        d =3D domain_create(dom, &op->u.createdomain, false);
+        d =3D domain_create(ret, &op->u.createdomain, false);
         if ( IS_ERR(d) )
         {
             ret =3D PTR_ERR(d);
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 8b63ca55f1..50c44b986e 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -568,6 +568,14 @@ static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE=
_PARAM(void) arg)
     return sz;
 }
=20
+static int __init cf_check globals_init(void)
+{
+    domid_top =3D get_initial_domain_id();
+
+    return 0;
+}
+__initcall(globals_init);
+
 long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
     bool deny =3D xsm_xen_version(XSM_OTHER, cmd);
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index b7425827b8..c91b9704de 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -39,6 +39,9 @@ extern domid_t domid_top;
=20
 domid_t get_initial_domain_id(void);
=20
+#define DOMID_AUTO               (-1)
+int domid_alloc(int hint);
+
 /* CDF_* constant. Internal flags for domain creation. */
 /* Is this a privileged domain? */
 #define CDF_privileged           (1U << 0)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:37:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919906.1324266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUY-0005t3-5X; Tue, 18 Mar 2025 23:37:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919906.1324266; Tue, 18 Mar 2025 23:37: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 1tugUY-0005sw-2O; Tue, 18 Mar 2025 23:37:02 +0000
Received: by outflank-mailman (input) for mailman id 919906;
 Tue, 18 Mar 2025 23:37: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUW-0003zY-Js
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:37:00 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfc467e9-0451-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 00:36: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: dfc467e9-0451-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=3fi74tjqgbbwzowscapbqgn4tu.protonmail; t=1742341013; x=1742600213;
	bh=CnZXSLA5dm7t4GDjx0s2ayocR6HlIoQPG/eIj0cmur4=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=gvREQ0oC6sorljs9P37CDBcXbr1AIfNRvu3FXW5MZy1Zeaa9FNBVxJd4K/Bmv62iU
	 kqSWO5yqeSEQkkfeTcnLObqkt49OjXeSCaEOKSQZrE84ORkUvjNKcOuy2iYhEUr9pa
	 OI5AQzi8Qkt2BKL3SGMiNUDCbb6xTfv4gKL/Inho8I+Q+4nHx+X8N6RL3wqu29jdsS
	 LgfO5+bU61tXUGpYljl3ri8eseGlqKVA66G6NZ41bm9GZ4bQAxTTNxGA7/SsZQKzaj
	 0q5R87YdXi0kYsABHkxavL1DmCUMAHXzlho1NTg50QxAabsQ1IdawwOlGtI1Yu5Scz
	 P7p4ShkV6P5eA==
Date: Tue, 18 Mar 2025 23:36:49 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 5/8] xen/console: rename switch_serial_input() to console_switch_focus()
Message-ID: <20250318233617.849903-6-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 39587d8bc25c625f4d86e9a97312bdd5666aa16f
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Update the name to emphasize the physical console input switch to a
new owner domain following the naming notation in the console driver.

No functional change.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/drivers/char/console.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index d04a5335ce..5910ff701c 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -511,7 +511,7 @@ static bool console_check_focus_by_id(domid_t domid)
     return !!d;
 }
=20
-static void switch_serial_input(void)
+static void console_switch_focus(void)
 {
     unsigned int next_rx =3D console_rx;
=20
@@ -618,7 +618,7 @@ static void cf_check serial_rx(char c)
         /* We eat CTRL-<switch_char> in groups of 3 to switch console inpu=
t. */
         if ( ++switch_code_count =3D=3D 3 )
         {
-            switch_serial_input();
+            console_switch_focus();
             switch_code_count =3D 0;
         }
         return;
@@ -1162,7 +1162,7 @@ void __init console_endboot(void)
                             "toggle host/guest log level adjustment", 0);
=20
     /* Serial input is directed to DOM0 by default. */
-    switch_serial_input();
+    console_switch_focus();
 }
=20
 int __init console_has(const char *device)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:37:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:37:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919910.1324275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUZ-00068X-DO; Tue, 18 Mar 2025 23:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919910.1324275; Tue, 18 Mar 2025 23:37: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 1tugUZ-00068O-9s; Tue, 18 Mar 2025 23:37:03 +0000
Received: by outflank-mailman (input) for mailman id 919910;
 Tue, 18 Mar 2025 23: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUX-0003zY-Uk
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:37:02 +0000
Received: from mail-10629.protonmail.ch (mail-10629.protonmail.ch
 [79.135.106.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3c9c138-0451-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 00:37:01 +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: e3c9c138-0451-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=3f5ub7udzjca3a7xuimpehsshq.protonmail; t=1742341020; x=1742600220;
	bh=44jWyUHkeGYsWs6B7WroNwJN7y0NMAav7xOviMoLEyM=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=C41k7+eSoxGga9o6SZ5AC/OVvvYkegAtrbS3cN0FfJyfaZC1YTlAyTZIyhYQeCeqK
	 cmXHWKJPDKceR7rlAMjcg+npv7hszu42GH3N02IiSLbtlDWCCoiEgmzM2tXIoiI3iv
	 aGr65dgaftaJEGUL5a9NQylUFhIuTlvKqcokfEcYpqEGt1t+25W+a6ImSYwoyKXH7y
	 IhSYDmyIdqMaFi0FJJLXx1rqAOfBTAIntDBRK/1D3GFxlgFvpbCQB+XFGDfiFEpA6r
	 rAd59/WFNiK48hrOzxRmhi2iFToqu9L3rXxBwRjnRpvAqHTmFtAlxd7fT7zhpH1Uyz
	 yBEZsIsDxY0GQ==
Date: Tue, 18 Mar 2025 23:36:53 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 6/8] xen/console: rename console_rx to console_focus
Message-ID: <20250318233617.849903-7-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 1c6e008ce3b97861f4cb50bac51ddf416733710b
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Update the symbol name in preparation for the semantic change
to the physical console input owner domain identifier.

No functional change.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/drivers/char/console.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 5910ff701c..3d538510f4 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -465,12 +465,9 @@ static void cf_check dump_console_ring_key(unsigned ch=
ar key)
  * and the DomUs started from Xen at boot.
  */
 #define switch_code (opt_conswitch[0]-'a'+1)
-/*
- * console_rx=3D0 =3D> input to xen
- * console_rx=3D1 =3D> input to dom0 (or the sole shim domain)
- * console_rx=3DN =3D> input to dom(N-1)
- */
-static unsigned int __read_mostly console_rx =3D 0;
+
+/* Console owner domain identifier. */
+static unsigned int __read_mostly console_focus =3D 0;
=20
 #define max_console_rx (domid_top + 1)
=20
@@ -491,9 +488,9 @@ static struct domain *console_get_domain_by_id(domid_t =
domid)
=20
 struct domain *console_get_domain(void)
 {
-    if ( console_rx =3D=3D 0 )
+    if ( console_focus =3D=3D 0 )
             return NULL;
-    return console_get_domain_by_id(console_rx - 1);
+    return console_get_domain_by_id(console_focus - 1);
 }
=20
 void console_put_domain(struct domain *d)
@@ -513,7 +510,7 @@ static bool console_check_focus_by_id(domid_t domid)
=20
 static void console_switch_focus(void)
 {
-    unsigned int next_rx =3D console_rx;
+    unsigned int next_rx =3D console_focus;
=20
     /*
      * Rotate among Xen, dom0 and boot-time created domUs while skipping
@@ -525,7 +522,7 @@ static void console_switch_focus(void)
=20
         if ( next_rx++ >=3D max_console_rx )
         {
-            console_rx =3D 0;
+            console_focus =3D 0;
             printk("*** Serial input to Xen");
             break;
         }
@@ -537,7 +534,7 @@ static void console_switch_focus(void)
=20
         if ( console_check_focus_by_id(domid) )
         {
-            console_rx =3D next_rx;
+            console_focus =3D next_rx;
             printk("*** Serial input to DOM%u", domid);
             break;
         }
@@ -554,7 +551,7 @@ static void __serial_rx(char c)
     struct domain *d;
     int rc =3D 0;
=20
-    if ( console_rx =3D=3D 0 )
+    if ( console_focus =3D=3D 0 )
         return handle_keypress(c, false);
=20
     d =3D console_get_domain();
@@ -1150,7 +1147,7 @@ void __init console_endboot(void)
      * a useful 'how to switch' message.
      */
     if ( opt_conswitch[1] =3D=3D 'x' )
-        console_rx =3D max_console_rx;
+        console_focus =3D max_console_rx;
=20
     register_keyhandler('w', dump_console_ring_key,
                         "synchronously dump console ring buffer (dmesg)", =
0);
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:37:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:37:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919915.1324285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugUd-0006XX-PM; Tue, 18 Mar 2025 23:37:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919915.1324285; Tue, 18 Mar 2025 23:37: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 1tugUd-0006XK-MR; Tue, 18 Mar 2025 23:37:07 +0000
Received: by outflank-mailman (input) for mailman id 919915;
 Tue, 18 Mar 2025 23:37: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUc-0004Rg-OM
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:37:06 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e62e5ca6-0451-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 00:37:05 +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: e62e5ca6-0451-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742341024; x=1742600224;
	bh=t/sF/l8n4hvHC7Py3lxhnLyK1qkxCg/TVTQUmwT1xmE=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=QnQc37B0lZ/5ePkqQQCbS5q7w6GGJ5ZlyguFpYe7LxdSzft8LneyBeVAacN6/DR4L
	 koJZBgGRkJS8NLH5XnMisWGT0FuS8bWM8+tIXmeahENkyXLLUJuJWdTwYFbNG6COhP
	 lYRydQngnzdg7SJVPF7EzdcMK++4vEUOUFLp9A7f67c965GayxoDtxk+C0Mgd83Op6
	 ZJVvltI7DponNppJUMwd7CJ+rsk5y+mp0KIhVBJOD5GjFTCifAx+s1zp3XMnwG0cvc
	 3iY7S5v+DMdDcFhLhSSgS9PtyO35ZUJ+fsF8i3SwJRLNIVkgKxAqtZlmTyog4QJvih
	 ZCFIujC1/UvMA==
Date: Tue, 18 Mar 2025 23:37:00 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 7/8] xen/console: introduce console_set_focus()
Message-ID: <20250318233617.849903-8-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: fd269600793e4dda519a7b9dcfd7ee8a580717a5
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Switch console_focus address space from integers mapped to domain IDs to
direct domain IDs, simplifying the console input switching code.

Introduce console_set_focus() to set the console owner domain identifier.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/drivers/char/console.c | 81 ++++++++++++++++----------------------
 1 file changed, 34 insertions(+), 47 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 3d538510f4..0e2349a868 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -462,14 +462,12 @@ static void cf_check dump_console_ring_key(unsigned c=
har key)
=20
 /*
  * CTRL-<switch_char> changes input direction, rotating among Xen, Dom0,
- * and the DomUs started from Xen at boot.
+ * and the DomUs.
  */
 #define switch_code (opt_conswitch[0]-'a'+1)
=20
 /* Console owner domain identifier. */
-static unsigned int __read_mostly console_focus =3D 0;
-
-#define max_console_rx (domid_top + 1)
+static domid_t __read_mostly console_focus =3D DOMID_XEN;
=20
 static struct domain *console_get_domain_by_id(domid_t domid)
 {
@@ -488,9 +486,7 @@ static struct domain *console_get_domain_by_id(domid_t =
domid)
=20
 struct domain *console_get_domain(void)
 {
-    if ( console_focus =3D=3D 0 )
-            return NULL;
-    return console_get_domain_by_id(console_focus - 1);
+    return console_get_domain_by_id(console_focus);
 }
=20
 void console_put_domain(struct domain *d)
@@ -508,42 +504,41 @@ static bool console_check_focus_by_id(domid_t domid)
     return !!d;
 }
=20
-static void console_switch_focus(void)
+static int console_set_focus(domid_t domid)
 {
-    unsigned int next_rx =3D console_focus;
+    if ( domid =3D=3D DOMID_XEN )
+        printk("*** Serial input to Xen");
+    else if ( console_check_focus_by_id(domid) )
+        printk("*** Serial input to DOM%u", domid);
+    else
+        return -ENOENT;
=20
-    /*
-     * Rotate among Xen, dom0 and boot-time created domUs while skipping
-     * switching serial input to non existing domains.
-     */
-    for ( ; ; )
-    {
-        domid_t domid;
-
-        if ( next_rx++ >=3D max_console_rx )
-        {
-            console_focus =3D 0;
-            printk("*** Serial input to Xen");
-            break;
-        }
-
-        if ( consoled_is_enabled() && next_rx =3D=3D 1 )
-            domid =3D get_initial_domain_id();
-        else
-            domid =3D next_rx - 1;
-
-        if ( console_check_focus_by_id(domid) )
-        {
-            console_focus =3D next_rx;
-            printk("*** Serial input to DOM%u", domid);
-            break;
-        }
-    }
+    console_focus =3D domid;
=20
     if ( switch_code )
         printk(" (type 'CTRL-%c' three times to switch input)",
                opt_conswitch[0]);
     printk("\n");
+
+    return 0;
+}
+
+/*
+ * Switch console focus.
+ * Rotates input focus among Xen, dom0 and boot-time created domUs while
+ * skipping switching serial input to non existing domains.
+ */
+static void console_switch_focus(void)
+{
+    const domid_t n =3D domid_top + 1;
+    domid_t i =3D ( console_focus =3D=3D DOMID_XEN )
+                ? get_initial_domain_id() : console_focus + 1;
+
+    for ( ; i < n; i++ )
+        if ( !console_set_focus(i) )
+            return;
+
+    console_set_focus(DOMID_XEN);
 }
=20
 static void __serial_rx(char c)
@@ -551,7 +546,7 @@ static void __serial_rx(char c)
     struct domain *d;
     int rc =3D 0;
=20
-    if ( console_focus =3D=3D 0 )
+    if ( console_focus =3D=3D DOMID_XEN )
         return handle_keypress(c, false);
=20
     d =3D console_get_domain();
@@ -1141,14 +1136,6 @@ void __init console_endboot(void)
=20
     video_endboot();
=20
-    /*
-     * If user specifies so, we fool the switch routine to redirect input
-     * straight back to Xen. I use this convoluted method so we still prin=
t
-     * a useful 'how to switch' message.
-     */
-    if ( opt_conswitch[1] =3D=3D 'x' )
-        console_focus =3D max_console_rx;
-
     register_keyhandler('w', dump_console_ring_key,
                         "synchronously dump console ring buffer (dmesg)", =
0);
     register_irq_keyhandler('+', &do_inc_thresh,
@@ -1158,8 +1145,8 @@ void __init console_endboot(void)
     register_irq_keyhandler('G', &do_toggle_guest,
                             "toggle host/guest log level adjustment", 0);
=20
-    /* Serial input is directed to DOM0 by default. */
-    console_switch_focus();
+    if ( opt_conswitch[1] !=3D 'x' )
+        console_set_focus( get_initial_domain_id() );
 }
=20
 int __init console_has(const char *device)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:40:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:40:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919966.1324296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugY4-00019G-7v; Tue, 18 Mar 2025 23:40:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919966.1324296; Tue, 18 Mar 2025 23:40: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 1tugY4-000199-50; Tue, 18 Mar 2025 23:40:40 +0000
Received: by outflank-mailman (input) for mailman id 919966;
 Tue, 18 Mar 2025 23:40: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugUf-0004Rg-Mu
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:37:09 +0000
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8103e3e-0451-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 00:37:08 +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: e8103e3e-0451-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742341027; x=1742600227;
	bh=KXwnzdVEulZZ+6NMu1oLFBFCPd+jRq+OUpgMkQKutFo=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=VRW/l+26wTM6UCNK6gG3oqU+/nFZ6rIZnIdYZtYSSKM3pO2VR/6b97xn7sO/By5Zd
	 UqSVyNfJ7/9Sdudlu3n0a2LUYfkWVZUjj54FFxW5VgdK9MBzm1r0rXYGGJo3Wp4y91
	 SMMpnVvTF6+WmWmiG7UMeAAHnthVAGKZipNA6k5YWfbNVh+zmNoqGepXnvFhPDIhtj
	 cnL/oKnNK+7DdPVyVNsfh7DId0f/eIweIKQbbadk0r2aFH4G0h2LEFCJmQC0P6YhFa
	 B1ts+Pbzh7UWLbTcNKU4W0npZcjr1PPCkBU5ZY5Z1EMBjSyI6urm6QpPZ8CXHzsbgC
	 Ik3s0D0Ud6QfA==
Date: Tue, 18 Mar 2025 23:37:04 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1 8/8] xen/console: introduce console_get_focus()
Message-ID: <20250318233617.849903-9-dmukhin@ford.com>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 74e65ad8738b6ac1a189ccd9fad33305fb25fd8c
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Add console_get_focus() as a console public API to the retrieve current
console owner domain ID.

Make console_{get,put}_domain() private and simplify vpl011 code a bit.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/arm/vpl011.c      | 5 +----
 xen/drivers/char/console.c | 9 +++++++--
 xen/include/xen/console.h  | 3 +--
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 147958eee8..9ce6151c2a 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -78,12 +78,11 @@ static void vpl011_write_data_xen(struct domain *d, uin=
t8_t data)
     unsigned long flags;
     struct vpl011 *vpl011 =3D &d->arch.vpl011;
     struct vpl011_xen_backend *intf =3D vpl011->backend.xen;
-    struct domain *input =3D console_get_domain();
=20
     VPL011_LOCK(d, flags);
=20
     intf->out[intf->out_prod++] =3D data;
-    if ( d =3D=3D input )
+    if ( d->domain_id =3D=3D console_get_focus() )
     {
         if ( intf->out_prod =3D=3D 1 )
         {
@@ -123,8 +122,6 @@ static void vpl011_write_data_xen(struct domain *d, uin=
t8_t data)
     vpl011_update_interrupt_status(d);
=20
     VPL011_UNLOCK(d, flags);
-
-    console_put_domain(input);
 }
=20
 /*
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 0e2349a868..906a0ae996 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -484,12 +484,12 @@ static struct domain *console_get_domain_by_id(domid_=
t domid)
     return NULL;
 }
=20
-struct domain *console_get_domain(void)
+static struct domain *console_get_domain(void)
 {
     return console_get_domain_by_id(console_focus);
 }
=20
-void console_put_domain(struct domain *d)
+static void console_put_domain(struct domain *d)
 {
     if ( d )
         rcu_unlock_domain(d);
@@ -523,6 +523,11 @@ static int console_set_focus(domid_t domid)
     return 0;
 }
=20
+domid_t console_get_focus(void)
+{
+    return console_focus;
+}
+
 /*
  * Switch console focus.
  * Rotates input focus among Xen, dom0 and boot-time created domUs while
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index 83cbc9fbda..19da2b755c 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -32,8 +32,7 @@ void console_end_sync(void);
 void console_start_log_everything(void);
 void console_end_log_everything(void);
=20
-struct domain *console_get_domain(void);
-void console_put_domain(struct domain *d);
+domid_t console_get_focus(void);
=20
 /*
  * Steal output from the console. Returns +ve identifier, else -ve error.
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:40:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:40:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.919983.1324306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugYH-0001hK-Ea; Tue, 18 Mar 2025 23:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 919983.1324306; Tue, 18 Mar 2025 23:40: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 1tugYH-0001hD-Bp; Tue, 18 Mar 2025 23:40:53 +0000
Received: by outflank-mailman (input) for mailman id 919983;
 Tue, 18 Mar 2025 23:40: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=gc9A=WF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tugYF-0001ZU-Pz
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:40:51 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c752056-0452-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 00:40:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 37F7EA48EFE;
 Tue, 18 Mar 2025 23:35:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C25FC4CEDD;
 Tue, 18 Mar 2025 23:40: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: 6c752056-0452-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742341249;
	bh=deL/onrfoVZsdhrm0u6AY3vrwa6Fo0KcjW7Cbt2wdeQ=;
	h=Date:From:To:cc:Subject:From;
	b=GjbEpTQ7YWH46u2+CaTC1FrA9kXYFCWs9BiivaCZIx2OaCLU/3OJSkaGgs5PNGQ3h
	 BzY3aiZnBLd2THAeS3xdM7zWX9cDH8bCSNojr8+msd1KvMOkgLHay4Cbt7H3rk/zp3
	 EGwy9wwri1P42Zk0Iv62TZyY7XqPDPcI8adMbBskkqkYFkn2GJZ4J8jb0OdHoN74I9
	 rZdDnH2LvDifUkRFO1+2fysDyrtp/I4MqlbdkwYIgxhPb19eYwcub3DRz5OWfftwFM
	 i2hNZy6UPbY/Oeoakuo9+KjyM3kweYekdcleUvlCoEk7Y3/d+i1/se8plohL9uFzEp
	 mXVozEGo7eGXw==
Date: Tue, 18 Mar 2025 16:40:42 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, andrew.cooper3@citrix.com, michal.orzel@amd.com, 
    jbeulich@suse.com, julien@xen.org, roger.pau@citrix.com, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH] xen: add kconfig for event_fifo
Message-ID: <alpine.DEB.2.22.394.2503181637100.2000798@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

Evtchn fifos are not needed on smaller systems; the older interface is
lightweight and sufficient. Make it possible to disable evtchn fifo.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index a6aa2c5c14..14d82923c5 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -23,6 +23,16 @@ config GRANT_TABLE
 
 	  If unsure, say Y.
 
+config EVTCHN_FIFO
+	bool "Event Channel Fifo support" if EXPERT
+	default y
+	help
+	  The Event channel Fifo extends support for event channels
+	  beyond 1024 event channels for 32-bit guests and 4096 for
+	  64-bit guests.
+
+	  If unsure, say Y.
+
 config PDX_COMPRESSION
 	bool "PDX (Page inDeX) compression" if EXPERT && !X86 && !RISCV
 	default ARM || PPC
diff --git a/xen/common/Makefile b/xen/common/Makefile
index ac23120d7d..9da8a7244d 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -13,7 +13,7 @@ obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
 obj-y += event_2l.o
 obj-y += event_channel.o
-obj-y += event_fifo.o
+obj-$(CONFIG_EVTCHN_FIFO) += event_fifo.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
 obj-y += guestcopy.o
 obj-y += gzip/
diff --git a/xen/common/event_channel.h b/xen/common/event_channel.h
index 45219ca67c..a778ae775b 100644
--- a/xen/common/event_channel.h
+++ b/xen/common/event_channel.h
@@ -45,12 +45,27 @@ void evtchn_2l_init(struct domain *d);
 
 /* FIFO */
 
+#ifdef CONFIG_EVTCHN_FIFO
 struct evtchn_init_control;
 struct evtchn_expand_array;
 
 int evtchn_fifo_init_control(struct evtchn_init_control *init_control);
 int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array);
 void evtchn_fifo_destroy(struct domain *d);
+#else
+static inline int evtchn_fifo_init_control(struct evtchn_init_control *init_control)
+{
+    return -EOPNOTSUPP;
+}
+static inline int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array)
+{
+    return -EOPNOTSUPP;
+}
+static inline void evtchn_fifo_destroy(struct domain *d)
+{
+    return;
+}
+#endif /* CONFIG_EVTCHN_FIFO */
 
 /*
  * Local variables:


From xen-devel-bounces@lists.xenproject.org Tue Mar 18 23:42:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Mar 2025 23:42:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920008.1324316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tugZY-0002c7-Nq; Tue, 18 Mar 2025 23:42:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920008.1324316; Tue, 18 Mar 2025 23: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 1tugZY-0002c0-L7; Tue, 18 Mar 2025 23:42:12 +0000
Received: by outflank-mailman (input) for mailman id 920008;
 Tue, 18 Mar 2025 23:42: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=6oY5=WF=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tugZX-0002bl-84
 for xen-devel@lists.xenproject.org; Tue, 18 Mar 2025 23:42:11 +0000
Received: from mail-10630.protonmail.ch (mail-10630.protonmail.ch
 [79.135.106.30]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c2aca53-0452-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 00:42:10 +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: 9c2aca53-0452-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742341329; x=1742600529;
	bh=JrSdvzSEUxyTewevb+betpChh8cxYIYjakB/ObSAfiA=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=FvOCfKtCcO8a50IrmzyEngytIMEWGbZVmqPhoDM2F+rPSM6zCxFDiEX9RBKX0PF9v
	 kZXBThMqcrt4nRgq66BEtQ13OEwoa8dZXz7J7RyWErqnQJlNG0H0TbMSCgY1l8NyKQ
	 9KwjYI+gv0ANjV1VrYsgK8niPE7mdiqeVp7GznOYC+51X9hoHKZKKrRjb6GWw2+N8i
	 GlJrf626VJc8hipMoFU3+yJSAoof83vtvKa15/kzvG5owJK/nGFR5p0WvLQDOHO7xP
	 gtSXFA5dnn+6r+QfkC6JkncBVT0GDGkOM0MLq+V+JhIiHsru6kg1yr0SKEG4vKC4Qm
	 +3VqRhMpjScaQ==
Date: Tue, 18 Mar 2025 23:42:05 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 3/3] x86/irq: introduce APIC_VECTOR_VALID
Message-ID: <P0RTWUo-6LQ6iOwO0spC7MdM4uH2YFasy5sN79HSXCtMXeYJaWQpVBzQL-6OWiOj8fDpmG35rwYcYBH-f48qraysWnADsmJL9sAWAoKISic=@proton.me>
In-Reply-To: <c14f9eef-1bb8-4259-a3f4-44c739ed3258@suse.com>
References: <20250315010033.2917197-1-dmukhin@ford.com> <20250315010033.2917197-4-dmukhin@ford.com> <c14f9eef-1bb8-4259-a3f4-44c739ed3258@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: ecf2dd5ed57dc7d86045d978fe776b32ebc83303
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Monday, March 17th, 2025 at 1:30 AM, Jan Beulich <jbeulich@suse.com> wro=
te:

>
>
> On 15.03.2025 02:00, dmkhn@proton.me wrote:
>
> > Add new symbol APIC_VECTOR_VALID to replace open-coded value 16 in
> > LAPIC and virtual LAPIC code.
>
>
> First a good name is needed to make such a change. APIC_VECTOR_VALID
> could imo be the name of a predicate macro, but it can't be a mere
> number.

Do you think something like

  #define APIC_VECTOR_VALID_START 16
  #define APIC_VECTOR_VALID_END   255

will be satisfactory names to use?

>
> Then ...
>
> > --- a/xen/arch/x86/cpu/mcheck/mce_intel.c
> > +++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
> > @@ -136,7 +136,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *=
c)
> > * is required to set the same value for all threads/cores).
> > */
> > if ( (val & APIC_DM_MASK) !=3D APIC_DM_FIXED
> > - || (val & APIC_VECTOR_MASK) > 0xf )
> > + || (val & APIC_VECTOR_MASK) > APIC_VECTOR_VALID )
>
>
> ... care needs to be taken that replacements are done such that the
> "no functional change" claim is actually correct. (The 0xf, i.e. 15,
> is replaced by 16 here. I didn't check if there are other similar
> issues.)

My bad.
Thanks for the catch.

>
> > --- a/xen/arch/x86/include/asm/apicdef.h
> > +++ b/xen/arch/x86/include/asm/apicdef.h
> > @@ -78,6 +78,7 @@
> > #define APIC_DM_STARTUP 0x00600
> > #define APIC_DM_EXTINT 0x00700
> > #define APIC_VECTOR_MASK 0x000FF
> > +#define APIC_VECTOR_VALID (16)
> > #define APIC_ICR2 0x310
>
>
> Nit: No real need for parentheses here; adjacent #define-s don't have
> any, so it's a little hard to see why you added them.

My understanding was MISRA requires parentheses around expressions resultin=
g
from the expansion of a macro.
After double checking, such requirement only applicable to macros w/ parame=
ters.

>
> Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 03:03:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 03:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920032.1324326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuji1-0006RZ-EA; Wed, 19 Mar 2025 03:03:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920032.1324326; Wed, 19 Mar 2025 03:03: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 1tuji1-0006RR-8c; Wed, 19 Mar 2025 03:03:09 +0000
Received: by outflank-mailman (input) for mailman id 920032;
 Wed, 19 Mar 2025 03:03: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=xikK=WG=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tujhz-0006RL-KQ
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 03:03:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad1ab199-046e-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 04:03:05 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id CB8455C59DF;
 Wed, 19 Mar 2025 03:00:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2280DC4CEDD;
 Wed, 19 Mar 2025 03:03:01 +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: ad1ab199-046e-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742353383;
	bh=yDB6nuHNy9qBbv0m+m/Z+LEHLUc/+2/863la7Ks+h6g=;
	h=Date:From:To:cc:Subject:From;
	b=sEoZnpahNOQBHxa9HZV2W4G/1lO9niWC3SvfB3o0S+kGImUAnw+qvOK/ti37F1pGn
	 sSxHQ/GHGuZzrKm7kxcXvWkdyeATmKXCgXhx1mo8Od7bjegB8HvdoHE+z+J9EZ55xq
	 +ZbtLkI5T6HxvcUaGX5nZdXVVnIdRzQVnd7hp6ALLEEP8MgZf4ejxXiW4/cShNNSYZ
	 f8fXTC9EQeMA4uxGdEyfEPfv1OQXSAGId4MHxZVGoowQfuMDpKGCvGpSSVo3DiFSAz
	 cN9Kbu16GKGeTvMqBn3Ht8PxI4rzae/YnkIVKvCcYTpMla7qcB/p/T1F23N71QmtR2
	 L/Jr+5VFBf0Dw==
Date: Tue, 18 Mar 2025 20:03:00 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, andrew.cooper3@citrix.com, michal.orzel@amd.com, 
    jbeulich@suse.com, julien@xen.org, roger.pau@citrix.com, 
    bertrand.marquis@arm.com
Subject: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little endian
Message-ID: <alpine.DEB.2.22.394.2503182002160.2000798@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

The little endian implementation of bitmap_to_xenctl_bitmap leads to
unnecessary xmallocs and xfrees. Given that Xen only supports little
endian architectures, it is worth optimizing.

This patch removes the need for the xmalloc on little endian
architectures.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index 3da63a32a6..38d77fc876 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -384,21 +384,26 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
     uint8_t zero = 0;
     int err = 0;
     unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
-    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
-
-    if ( !bytemap )
-        return -ENOMEM;
+    uint8_t *bytemap = (uint8_t *)bitmap;
 
     guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
     copy_bytes  = min(guest_bytes, xen_bytes);
 
-    bitmap_long_to_byte(bytemap, bitmap, nbits);
+    if ( IS_ENABLED(__BIG_ENDIAN) )
+    {
+        bytemap = xmalloc_array(uint8_t, xen_bytes);
+        if ( !bytemap )
+            return -ENOMEM;
+
+        bitmap_long_to_byte(bytemap, bitmap, nbits);
+    }
 
     if ( copy_bytes &&
          copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
         err = -EFAULT;
 
-    xfree(bytemap);
+    if ( IS_ENABLED(__BIG_ENDIAN) )
+        xfree(bytemap);
 
     for ( i = copy_bytes; !err && i < guest_bytes; i++ )
         if ( copy_to_guest_offset(xenctl_bitmap->bitmap, i, &zero, 1) )


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 08:30:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 08:30:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920063.1324336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuooR-0007eO-J2; Wed, 19 Mar 2025 08:30:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920063.1324336; Wed, 19 Mar 2025 08: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 1tuooR-0007eH-Fx; Wed, 19 Mar 2025 08:30:07 +0000
Received: by outflank-mailman (input) for mailman id 920063;
 Wed, 19 Mar 2025 08: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuooP-0007TT-Tc
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 08:30:05 +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 5af79a4c-049c-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 09:30:03 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3913fdd0120so3466903f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 01:30: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-43d43f74b23sm11639655e9.29.2025.03.19.01.30.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 01:30: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: 5af79a4c-049c-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742373003; x=1742977803; 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=dWFrqHUcIoxmlMiKAcytq/4JxjXXhViNS7lbxUfh5YE=;
        b=SQjgtSSgwCNGDV2V8bWqKxlXdg1arGAfsiG7qKwD+ymbKkrYSPN1rwHgnZXKaZk41P
         Q3S5VVZKMqprN0x7q+9R7GpdoQoM4JeooXoMQ9U+3KG43OQf2NNq6tyH+6wSV1TUULzV
         UyKDlIc1nYmyakDieqfgLaP+2GB6ZihbN5IcHsYZD+LMY5+QhNa2mm0LBZMto9A2Bi+p
         b3B5wzffebVHHog1/8vsHyiBuV8Dv+1zY3uWKPwjaM5Dhu6oCnHoWPaAZ11TQCyIu79x
         QEv7R74Yts4rs0/KFPhzRqNzY2TIpt+yCYQbQlb6L+I/FERUN15fIvx078XwXmSDEuF8
         poVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742373003; x=1742977803;
        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=dWFrqHUcIoxmlMiKAcytq/4JxjXXhViNS7lbxUfh5YE=;
        b=EoEZaPaoO1BylNuxwpAIELsG6zgseBT+IAWUnEinK2c1xr6LWBhSAegzX+hR2F7GV6
         I0oG5/SRYB5q5DIlvUlAZjSDki3pCMcE2YNRdqAXDwF2SAM95xvjD2FXnhqXuVEfiXQH
         7NFcs45H06FjcPvSUzAnpRQLmSR8Rllztnocnh9YR5z/OGFd7vpGnH8WHwmbwZHPB3Ar
         /I2itLT1JvAYE78V4/sIhLi2Y2yIlLQjMudeThvQik/2D0+kGuvmci6UXOGfpr9CazwR
         TKjDUmfNEZchqMBQw0qnpjWE0psoZl+a3ZeIHLAxnHO7byURoqFuLK27DxaKFJ5ta30V
         29kQ==
X-Forwarded-Encrypted: i=1; AJvYcCXnSj1ZLcNUMVMgFWiz8gdLgAfox+I+v2VIpVcrG0FsdFmJxpJexmCEzpSgD3aDor21ItpD4UBqMxw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxHgML7Nxc5OTRSFVgvOjrny4gDrlHI7QL4gSaS3CvfKQpDDiFX
	FM4flEiEB2Zw32mq27JIMgefjb/HqejjIMuiGJUrkm8V1y+rugRpuZWYR9DGrQ==
X-Gm-Gg: ASbGnctLRN/hSf+Sndz34BMJPf5BOMb9TqiJ/F/limwe5kClW49ozZpymg7cnb6qWv7
	1C2yd7LUOp0rSvNPbjgTr0KvcuXDuUxICMp0O3PAElU3sQkkBUdW956hKQ1SapXaRm13Hy0TK7w
	yWinwUbQdjHnJy/1Etpn6uDQRliuXgppy62UK+IUGGcnOVzU1Hr//MQHggAFRokDw9tTg9NyaS9
	+rJzREB8NSPPKDo71RFFYK2zcfSIMaqbsZOT4++fqQQIYWSttnL/HjNceEC9rPLt173O5zg8O90
	J5K9/Yhwo2G4PJYXjUMebBA6C/lsNoHqM8xjMLrm2R6EAABoFL5ZO6+4UQN1n2dxL6+J+sshutr
	+aYKXnIgKOKJzvNF37V/qxeYUSSgOvw==
X-Google-Smtp-Source: AGHT+IEvFOAN/5ECGZ5JVK1bSpmeyHdnXQgPW+S7iO5LgTG6FbCcd/+3vNeHxvGDecQeg6Jbtdg4sQ==
X-Received: by 2002:a05:6000:1788:b0:38f:483f:8319 with SMTP id ffacd0b85a97d-39973b725a0mr1534277f8f.51.1742373003162;
        Wed, 19 Mar 2025 01:30:03 -0700 (PDT)
Message-ID: <f25a67d5-e93b-4d1e-8ae0-7f608e2f3fcf@suse.com>
Date: Wed, 19 Mar 2025 09:30:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/irq: introduce APIC_VECTOR_VALID
To: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250315010033.2917197-1-dmukhin@ford.com>
 <20250315010033.2917197-4-dmukhin@ford.com>
 <c14f9eef-1bb8-4259-a3f4-44c739ed3258@suse.com>
 <P0RTWUo-6LQ6iOwO0spC7MdM4uH2YFasy5sN79HSXCtMXeYJaWQpVBzQL-6OWiOj8fDpmG35rwYcYBH-f48qraysWnADsmJL9sAWAoKISic=@proton.me>
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: <P0RTWUo-6LQ6iOwO0spC7MdM4uH2YFasy5sN79HSXCtMXeYJaWQpVBzQL-6OWiOj8fDpmG35rwYcYBH-f48qraysWnADsmJL9sAWAoKISic=@proton.me>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:42, Denis Mukhin wrote:
> On Monday, March 17th, 2025 at 1:30 AM, Jan Beulich <jbeulich@suse.com> wrote:
>> On 15.03.2025 02:00, dmkhn@proton.me wrote:
>>
>>> Add new symbol APIC_VECTOR_VALID to replace open-coded value 16 in
>>> LAPIC and virtual LAPIC code.
>>
>>
>> First a good name is needed to make such a change. APIC_VECTOR_VALID
>> could imo be the name of a predicate macro, but it can't be a mere
>> number.
> 
> Do you think something like
> 
>   #define APIC_VECTOR_VALID_START 16
>   #define APIC_VECTOR_VALID_END   255
> 
> will be satisfactory names to use?

Maybe. In some of the places the _END one may be awkward to use, though.
If you absolutely want to replace those numbers, imo the previously
alluded to APIC_VECTOR_VALID() predicate macro may be a better thing to
use. Personally, despite generally disliking plain literal numbers, I'm
not overly concerned of the ones here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 08:38:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 08:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920078.1324346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuowY-0000iq-HS; Wed, 19 Mar 2025 08:38:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920078.1324346; Wed, 19 Mar 2025 08:38: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 1tuowY-0000ij-DW; Wed, 19 Mar 2025 08:38:30 +0000
Received: by outflank-mailman (input) for mailman id 920078;
 Wed, 19 Mar 2025 08:38: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=s9gW=WG=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1tuowX-0000id-Mm
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 08:38:29 +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 843d7cee-049d-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 09:38:23 +0100 (CET)
Received: from mx-prod-mc-01.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-9-fi93_T9EPMK_0u4PDZ0fZQ-1; Wed,
 19 Mar 2025 04:38:18 -0400
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
 (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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 7673119560B2; Wed, 19 Mar 2025 08:38:16 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.22.74.4])
 by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id C15D01956094; Wed, 19 Mar 2025 08:38:15 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 5D7D921E66C4; Wed, 19 Mar 2025 09:38:12 +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: 843d7cee-049d-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1742373502;
	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=mvpdEVt3scaFNaNMSrUQuFXoHkxPqTd5RQTjbZyTZlo=;
	b=XujJK05kbe1tc0JdmQ8wgimiHP4lR/BdC88R7P8ciKqMvKBWrajUjk37qRbI0/5r9rof8Y
	vFSch1gFGN6maNnY8F7APIKh2VhbHbsrQ6gET6cWtoKhKZGOYE6qXhO0Aj29z5VNEluvSo
	GCbIMpA4f7MfxIXwR+qPQjGwezxq9Nw=
X-MC-Unique: fi93_T9EPMK_0u4PDZ0fZQ-1
X-Mimecast-MFC-AGG-ID: fi93_T9EPMK_0u4PDZ0fZQ_1742373497
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
Subject: Re: [PATCH 0/2] xen: An error handling fix
In-Reply-To: <20250314143500.2449658-1-armbru@redhat.com> (Markus Armbruster's
	message of "Fri, 14 Mar 2025 15:34:58 +0100")
References: <20250314143500.2449658-1-armbru@redhat.com>
Date: Wed, 19 Mar 2025 09:38:12 +0100
Message-ID: <87iko51kln.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.15

Queued for 10.0.



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 08:45:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 08:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920089.1324356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tup3B-00034S-5h; Wed, 19 Mar 2025 08:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920089.1324356; Wed, 19 Mar 2025 08:45: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 1tup3B-00034L-2T; Wed, 19 Mar 2025 08:45:21 +0000
Received: by outflank-mailman (input) for mailman id 920089;
 Wed, 19 Mar 2025 08:45: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tup39-00034F-Nh
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 08:45:19 +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 79d6b4a3-049e-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 09:45:14 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so20055785e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 01:45: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
 5b1f17b1804b1-43d4453225bsm11496185e9.7.2025.03.19.01.45.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 01:45: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: 79d6b4a3-049e-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742373914; x=1742978714; 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=rsT5uKKi7PbWlvW9Og2dxpWwI81dUbeSn0/Qk67NFNg=;
        b=HxIPWwW6SQ9WHGm750j5AeGa0YLJEhdYFst4Setdawa2Sn5ojULGwFz7thpy3LKJIV
         4gNo96QQPyAQ1apGIS6FdFsX7hw21M2AdYEV5M42aofgi6YwUeP97LzPuKPZMISkrT5a
         Z3aVaHYfJ3ihdEoyy2Wb61yGcN13L2eRXtRr3YpufY5uZNBjPunYZ3hP6zRSFM8FuN3y
         mnDfJaK9WjkSxEPYqOV9RJjw1WxEq3Q4mlGeWkG9ZNdS9PfR99kRf2d7VTJGqBMHspMq
         XkoV5OCOiqfZJh4CI7LJu0lJqWmN7jqCVzTOhE5S6X3UAj81dMIDyHlsCO+7KVlBpUYy
         AVFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742373914; x=1742978714;
        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=rsT5uKKi7PbWlvW9Og2dxpWwI81dUbeSn0/Qk67NFNg=;
        b=nYBg0S7l3cxdMUoaF8Dyc2pK4TO+vBBJDz8e2HkemRmxKk6xnsdebCLPs3GQy6pgUc
         VOaStxSjFXeb9UxzR5zqsXAKGrgYR9bvy2ial+OxCmb/5JSygoJHWZrJhfQuWF42PONI
         fEKXrzOFNlfTyAgDhTcjpAX9dDJlceed9sistqztbptTTuFKuI6tNOOlrI5fiGrE/jkj
         Ch4Zxoe7d8pX/3OxGOtPKnsyxzwsyyBtQUi7C82xZvuaiJYnFkoIR4rAMLtPMYmGOnUE
         54itwNIwtbtT/UQdLikE/rvcieVnlZ+S9O6S49sZleUYcPvXIFljq7mZZjAA2b3tacJ2
         +1rw==
X-Forwarded-Encrypted: i=1; AJvYcCWn4OynqVcfCtbtoanZF9dwQJwfztr2IsVOp328lq0IkIinZKwKYs3dH7iAcnExoNZEV8iFbJyn0w4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwgUQ+sv2a7MaL7k0X+3phteov2sEGp6PJG8UH/Abs++5E5wdpi
	X5vf/KCTd1T2ICCAJxjvJSbK3HSDy4Ce8hlNy6ODQtbZ9lE0qfb6GECUEEHpLQ==
X-Gm-Gg: ASbGncvir1+haC+OyKb9HTTXVzuDndYBfOfKtWk9mdsuhB2eMKxhu41pHL9XK6iZ1TZ
	vfwUuBLqgEx+DrZZSYhpSZ0jJabdsjwza50fLzWiZKXwkzAUQ7ahhrv+LQHG8Bqb5YY3tEU8yvQ
	Uh2+jToz8MgLIqbb7siIhnyadqbTJpNVxXV4H1Fz/NTE9c/0sxVItDd7KhV2PYzum5H9slDknpJ
	wlGiSbx71jN8PBgYgqRN7Fpi/yJ/FPrNHZ/VMgAf5wk5N5hukPovlhr61FupSQhVO0BGK6WB58P
	pM8+JbfyelDGV3jZMXmNeoTlsbDrLsC2fOmhdaXmAcA/eB4D4NTPVwCllv8DZJvfkfilXNbDt8z
	CQDRzy2e2Kn+2UgKJnrXmxTF/TdrFBA==
X-Google-Smtp-Source: AGHT+IHNZpOeJPfo0Kum76L80IeUQOCqeJCL7ngNw1EC01vL22P78flTUMPgEdswJwmWoZ5ViiyW7w==
X-Received: by 2002:a05:600c:1e8f:b0:43c:e8ca:5140 with SMTP id 5b1f17b1804b1-43d45e3d8b8mr7377575e9.23.1742373913965;
        Wed, 19 Mar 2025 01:45:13 -0700 (PDT)
Message-ID: <523bb3ac-cb2f-4497-9934-1008c0fecf4f@suse.com>
Date: Wed, 19 Mar 2025 09:45:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.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: <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 18:01, Marek Marczykowski-GĂłrecki wrote:
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
>  CFLAGS += -Wa,--strip-local-absolute
>  endif
>  
> +$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)

With this, ...

> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -137,6 +137,7 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
>  	mv $(TMP) $(TARGET)
>  
>  CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
> +$(call cc-option-add CFLAGS-$(XEN_BUILD_EFI),CC,-ffile-prefix-map=$(XEN_ROOT)=.)

... why is this also needed? CFLAGS-y ought to be folded into CFLAGS.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 08:46:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 08:46:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920099.1324365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tup3x-0003Yn-Dq; Wed, 19 Mar 2025 08:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920099.1324365; Wed, 19 Mar 2025 08:46: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 1tup3x-0003Yg-BB; Wed, 19 Mar 2025 08:46:09 +0000
Received: by outflank-mailman (input) for mailman id 920099;
 Wed, 19 Mar 2025 08:46: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=xiIg=WG=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tup3w-0003KL-96
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 08:46:08 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 990ca228-049e-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 09:46:07 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-22401f4d35aso123904355ad.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 01:46:07 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c68aa616sm108863035ad.93.2025.03.19.01.46.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 01:46: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: 990ca228-049e-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742373966; x=1742978766; darn=lists.xenproject.org;
        h=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=hxvGsZxLky2njkeC7urWofkAiBcfRPDYHXmN4OkqidU=;
        b=Lu2Z4GkC7naxm2/MuLYBHF8jA9Ou1LF8OTaw0leC9utFWzG7Z1u/wB+4F9ajQ/jJW5
         9bDh7IslgOAsi/VmJGGMu03R9dBw5TdBFFFl1CW583dFxIKq3c9tot8shnKKZSp5FP+F
         LgXtGtfd8T98ieYUoBPKmwcAjzH89b4/iI95k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742373966; x=1742978766;
        h=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=hxvGsZxLky2njkeC7urWofkAiBcfRPDYHXmN4OkqidU=;
        b=cTl3aq5jQzsE02Xdk9CIGy3G5YJwLQ2pTS+Ip0REFZDxfc6jaiikOpst3cviPnKqRu
         hrOIPeDc72oC/a9ZXX2FcmzPlN+o6ceGCumTvbnevTHDlaC6BIOF084ykAJEkTXi4ns5
         L9s00dfsrq99lQ33Ro6AZ3GDaSN9fFyelDkcn3BjJw1OkexwbkQQW3blkRBIFp18ETpE
         Piaj/YspnSR/gCYE5CjSzfMVTn8QP5MCxd1Vcs68hmgqeUnAzUZrPO1IKuDF8XTrabu4
         uWBjn9M3f2O/aCuCt+SGtF6I8nKdk9KcIs1fVNraX+6/QrEZtiIET5ri9s/GHDAqS/or
         Kp+Q==
X-Gm-Message-State: AOJu0Yyt+KtWTgqns8jTaWimF5DphoOY4vNNRX4Q48emKLVKjC/cYqZh
	7KdN9No9WzjlYcsxze8/2o04yWE3ZOAEWEnEG/NbVSJUNV/djmaKcuzuQDdo7l0=
X-Gm-Gg: ASbGnct/VAvUOqBNb9uBxWzPY8tvABfNx7FA6IAehlxch/EflbTDLH1N2DNQWkAFYre
	G6O/wNt042jiWSqkgYaxQEuBOMfNznw5WNVJXGm/gyStFaH0vdAVkiixXJxMKc5AdF4tx+SPK+n
	YO7Gke/bzI5QJ8aLeTEzwcdiNZY/7iHT0VrBQvP07HkxY8Gk0VagYXRGQNFdwLJ+baQoJcZcvIk
	31kGyk1tYdKkbkf4b8GY9R7ID6hpWG8spm/eISL8gsc1Y+9zjvejZlxLsmToI0cOXmxoXw4xCLz
	Fc89Se5Rxf6S7mjFQF1muigwA42p0hFNJxsqIeUV66YY0614+g==
X-Google-Smtp-Source: AGHT+IHTijYqd0SKc5MDGZdmm8yMa/bU+AOfH/dbjqkIlvgaIKNC+4iat3LAVSu/SUkB5vgfyJ72yA==
X-Received: by 2002:a17:902:e803:b0:223:35cb:e421 with SMTP id d9443c01a7336-22649a5f6f3mr26931505ad.49.1742373966195;
        Wed, 19 Mar 2025 01:46:06 -0700 (PDT)
Date: Wed, 19 Mar 2025 09:46:01 +0100
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>
Subject: Re: [PATCH 1/7] x86/boot: clarify comment about trampoline_setup
 usage
Message-ID: <Z9qESYLU3wMjwS-c@macbook.local>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-2-roger.pau@citrix.com>
 <720af946-5c2a-43b4-a9fb-163e41bfdeb7@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <720af946-5c2a-43b4-a9fb-163e41bfdeb7@citrix.com>

On Tue, Mar 18, 2025 at 05:45:09PM +0000, Andrew Cooper wrote:
> On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
> > Clarify that trampoline_setup is only used for EFI when booted using the
> > multiboot2 entry point.
> >
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > ---
> >  xen/arch/x86/boot/head.S | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> > index 1b3bd16fe575..59a2b5005cf6 100644
> > --- a/xen/arch/x86/boot/head.S
> > +++ b/xen/arch/x86/boot/head.S
> > @@ -505,7 +505,8 @@ trampoline_bios_setup:
> >  
> >  trampoline_setup:
> >          /*
> > -         * Called on legacy BIOS and EFI platforms.
> > +         * Called on legacy BIOS and EFI platforms when using multiboot (either
> > +         * 1 or 2).
> >           */
> 
> /* Called for Mutiboot entry, including MB2+EFI. */
> 
> is a little more concise?

That's fine.  Would you like me to resend the adjusted version?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 09:05:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 09:05:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920120.1324375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tupMt-00085F-1M; Wed, 19 Mar 2025 09:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920120.1324375; Wed, 19 Mar 2025 09:05: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 1tupMs-000858-V3; Wed, 19 Mar 2025 09:05:42 +0000
Received: by outflank-mailman (input) for mailman id 920120;
 Wed, 19 Mar 2025 09:05: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=xiIg=WG=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tupMr-000852-J5
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 09:05:41 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 53c1cba5-04a1-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 10:05:40 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-2241053582dso30965325ad.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 02:05:39 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6ba721esm108897145ad.149.2025.03.19.02.05.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 02: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: 53c1cba5-04a1-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742375138; x=1742979938; darn=lists.xenproject.org;
        h=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=7BIlGf34JkLixmsUbT7VMSgLveu/nPVmFeVhZurps8A=;
        b=YkRk1gyQRh7QMg4PnReLmsV3dP8exRUXxJAHjSifsC2yhX6mdtlA5K5Jud0uODiXO7
         6VbbCHTl60uG5wcctLl5F38/t3neu5/M6dkM+mClLe2FsV+cnHeL4+3/JZMgAyJh3xIY
         yBjvOUvqeAfBVi+5+uKTs0svdq2LhoV0lU2Jg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742375138; x=1742979938;
        h=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=7BIlGf34JkLixmsUbT7VMSgLveu/nPVmFeVhZurps8A=;
        b=PzpPzkZYWTiTuNajdR3DEbbxX+9nQA1RpL8NpsrXWLUHbzKDk4pqMQKWAuc/VU/kdO
         t0dZZmVC5G2qH83gHJq75JZ/jUbrJKcJ44bjNEEGI3FBOrUllK7bR4zIRc1B8f+qKPHG
         0oaNOs4BfdJi6vsC3l9lpL9N1onZzC+9OB7I1pL5uPBns9vYiRQg6jLxNrLkoVm8OCvH
         W6IzSBbhyIXcmQdFRPYs9EdHOnbaU5NXx7E2pUvV+kLM5qy7ZfSnWcocExyHHFaSKcDJ
         2r+mmHPuEgfLuEKjzocxZCNwcPWo7DYqRzyWekR8tVzhDaU6MmCvGC512HpxGaLH1wMR
         aWKA==
X-Gm-Message-State: AOJu0YwPGWrjujZzpmmkUaFEcMz2QHquzks8n9GA95sBC/bpatf28sYG
	Hvksm86npIW5x49XmNeLlmj35WN8zYfR4eF+6FdWpv8aWa881te3f9gGqjUgMJM=
X-Gm-Gg: ASbGnctbZJs+nyhQbGWaIaZH4nbNTklLIrdRwLWENdjbiweJ/AswKKFUI4nVQdyTkZ0
	Lq0m+H4Iya+0r7Nq55ocakUsVTXyoWDqB26jpEaExTWN0/t8AfrYi9bU4ty8d0kw7Au8WLJgRzf
	hvP2TV1bekYHwS6qOAZ+u3GVlqN708fewN1/krYvBDz6kmKtEAY4NZW5rJTR/GzfZGau6kiLIpI
	x65wHLz1Yy0SxNLUWyLci4tx0YhahxIJgFwb364v2VvYQv0vVoSvayHCjj1B+wFZg0Bk9j0oAFm
	T3gRphg9lveeGNvlgNFZFTaPcLXeCwms0I41JJYYXVG76HCtQQ==
X-Google-Smtp-Source: AGHT+IFbPmyWLcZ3qbPWeXN+IgtqHjphlRdP68hvRXE3ufyrT1JVu5VSoh9O1TVoYIe+GZ61W/eMHA==
X-Received: by 2002:a17:902:c949:b0:224:2667:8115 with SMTP id d9443c01a7336-22649a8108fmr32368945ad.48.1742375138352;
        Wed, 19 Mar 2025 02:05:38 -0700 (PDT)
Date: Wed, 19 Mar 2025 10:05:33 +0100
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>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH] x86/boot: Untangle the trampoline copying/entry logic
Message-ID: <Z9qI3cnE3BcuqAPE@macbook.local>
References: <20250318173547.59475-5-roger.pau@citrix.com>
 <20250318201033.60634-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250318201033.60634-1-andrew.cooper3@citrix.com>

On Tue, Mar 18, 2025 at 08:10:33PM +0000, Andrew Cooper wrote:
> The LRET is detached from the PUSHes which set it up, and this is about to get
> worse with the changes to trampoline relocation.  For the sake of one variable
> read, the complexity is not worth it.
> 
> Reorder the logic to copy the trampoline into place, then switch stack and
> enter the trampoline.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Roger: I'd like this to be a prerequisite to your "[PATCH 4/7] x86/boot: apply
> trampoline relocations at destination position" to avoid the movement of
> reloc_trampoline32() making things worse.

I think you could commit this now-ish, and I can rebase on top?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 09:15:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 09:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920131.1324386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tupWW-00028U-U4; Wed, 19 Mar 2025 09:15:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920131.1324386; Wed, 19 Mar 2025 09:15: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 1tupWW-00028N-R0; Wed, 19 Mar 2025 09:15:40 +0000
Received: by outflank-mailman (input) for mailman id 920131;
 Wed, 19 Mar 2025 09:15: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tupWV-00028H-Nx
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 09:15:39 +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 b6b815ad-04a2-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 10:15:34 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so31325095e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 02:15: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-395c7df3506sm21036790f8f.11.2025.03.19.02.15.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 02:15: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: b6b815ad-04a2-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742375734; x=1742980534; 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=wQ+cjqpkJxs2A9nPaMIbDVk3QAEvewazzx/qumjYqwo=;
        b=VMv2h/Jl9HmsgLu9qKl6k9kMhF2IGjxov/9ugT9LDty9EPMf+cA+TrwN9OCS7tKYia
         ad8TgBjFqkk6CPhF3RTm1x5YtXzPGl0ITUy5VcdalzKaTcvzZBHO66Yl1APT3f9HYoBR
         kn9UrjuwWjpMH62QBqYjDFn7okNDYGD3211GTJC38Vb/Bc3NpfX8bb3738+JqBQ/as1+
         mKoorPF9nJTUeU5KhAnIy7lHQEZ0yN6kNEOet1+5vnJuog68ARbh/VXj93r71TltkS5U
         LjLmLo1kpiGZhMcwprxYn1293ZHSC8+Z4/mxpUBUB4ivdz2FU3oiuh8hNACW2+8/Ncdr
         r8FQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742375734; x=1742980534;
        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=wQ+cjqpkJxs2A9nPaMIbDVk3QAEvewazzx/qumjYqwo=;
        b=NTo83+jMJ6YL/ulzXtKFQhIzvtDsgBARgtXc1BLO+kGvCo33VwA6j+ScXTnml3PoUE
         MVtnmhfAlMX4QJ5cX5KxOpErev2dxtBAyxVY3Ds7KmXC+h00j7GFhqT02qo1D+XL4CEX
         zNWBZ9nM+D/ME5yjx97kUcvBC+5v31vzmTpgtlmsxWI+NneuX0mnoFbgcNvNJES/l2T0
         go9HQVSCOP9zpZJlk9gP5SOWscfGZ0Lwba8U0vwgwFvATgBDeQQMvFI/k2sarLS4KhJm
         1fiUoUIrW+x+ffJfkOJZYCKw2PhW1sqiQWTfntfpuNEK+peCpxOdCa0mC5c97u2QBxly
         g5kg==
X-Forwarded-Encrypted: i=1; AJvYcCXOlBBnX1QpNq72Ise+Sp9defxS6gh9rg8G6ZuDF8EFYfVKN+8W+kan/CG2WC/DWSYJljDMmmIyEeE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwxnmEgGTnN0X4rZUpkw/8qKBDiHRSnBhrmKzKKhoeGnjf2tVCB
	2AxClh+jHUTqIWUCgfVh9iOWL7UTpqx+GqIWAHaX1+EhetIUfGO3+VZV1jCeIA==
X-Gm-Gg: ASbGncvHTOedUwenF/mmfljS7LtGsnYJh935h+yH8MLbeAiLiTTboidpL5qnuD9y/Q5
	PYKu4Ssg8ZqxMPvPPGLHUHlVAIZy9s1fSB4wDJocYG1DMORLIt52yzu5PY4oSCuBzycunbg2lJY
	FEp+OoCW+s1jzQ+rZeKo79abE66M72A+h/iBucZ3Wr3fItfgh4Dk2XTlNC/UJEB31GGg6TTS/fK
	AiGavOZoMUe749kj8mtXISqOMKgLkgcNHO08ydCE3rZv0Uk3WX9fhAuvdUZcISDBiyI6u4NVTKz
	0aUAfAJdxWY6JuzYIkHYgrA2jWJjROeNrQHNvtmIhzhMKjCFYQ5FwKZ83hhyydt6ht1fIepoTAG
	vguvaNEEntXE0rGm4BRuorPtXk3deMA==
X-Google-Smtp-Source: AGHT+IFN17ZGGdT/cFwlTozS60HWpBgAzP6MwZrbuBAqLe41XpFhaBVO1FWtVpJ+Sm9QXf1kMSgLDQ==
X-Received: by 2002:a05:600c:3d96:b0:43c:f597:d582 with SMTP id 5b1f17b1804b1-43d4378616fmr12864155e9.1.1742375734094;
        Wed, 19 Mar 2025 02:15:34 -0700 (PDT)
Message-ID: <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
Date: Wed, 19 Mar 2025 10:15:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.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: <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 18:01, Marek Marczykowski-GĂłrecki wrote:
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
>  CFLAGS += -Wa,--strip-local-absolute
>  endif
>  
> +$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)

This is lacking a comma:

$(call cc-option-add,CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)

Makes me wonder whether you tested this after wrapping in cc-option-add.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 09:43:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 09:43:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920147.1324395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tupxI-00008W-0N; Wed, 19 Mar 2025 09:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920147.1324395; Wed, 19 Mar 2025 09:43: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 1tupxH-00008O-Tk; Wed, 19 Mar 2025 09:43:19 +0000
Received: by outflank-mailman (input) for mailman id 920147;
 Wed, 19 Mar 2025 09:43: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tupxF-00008G-V0
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 09:43:17 +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 93d68d5e-04a6-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 10:43:14 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3913fdd003bso248061f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 02:43: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-395cb40fab8sm21096836f8f.63.2025.03.19.02.43.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 02:43: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: 93d68d5e-04a6-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742377393; x=1742982193; 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=Db7gOvKWMYfbxAPDocka8V40rBvFYh3qXq/n//nWdvI=;
        b=Lxqbsc1dpPeEbH3Trm1anA74Dt2buvJH5wFIOYwED0dbo3SL829nnI9m5oTNpl1Xsu
         AnFlOtLK8J0+NK2mZo1N2s1rx6FRefSNqwSKb0YAh6Y5zZZCh/GPXNY2oF5v6reRUMkf
         p3T+JoabrSEkE11qA8hpTscUfygv67L8CKGxOTGwiklLQoLZgInYt3/Kcf7jumfywTTM
         +wRGRYU5Bz1pDBY4I7L/faxmAmrI1lTRkspBoN1jWvgJQNalA7qjTN0rNhVo3TLhcOs0
         e1+2qla06wtjEIxSb6KvCIbjFOtVMvBFNakF8Awi0vHrQpzSNpg0cV/ukMqlRqh64P9n
         RIPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742377393; x=1742982193;
        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=Db7gOvKWMYfbxAPDocka8V40rBvFYh3qXq/n//nWdvI=;
        b=kdtxRhZv4PdlN7qtA+20NnPiix6jAnZNVTfWIvTq9p6+kdmwZ84hXWwypoEdqTW91a
         qJ5a0pbSNnBh1esFbdrbOTNuqA7uKazWns4dKVzTaAi9xpYIxgtmJv/cgMsyKb9Galr2
         olqdkJTMG6ixEz8gghkeItrxYFlFsv/yztsDQFdYn8sMdk6w/vjyOKfYWdDKSxxskmqj
         KemyVkYT3ak23r/zJtyehE6/6YCL/UVm5PcEefVLKn9MIn9ANqnU49TqF2wqYUdB7rgF
         gvf6hgHTGtX8lAP5u4/njpoXeotop2KwXFdfgj3QI0dKoiY5LEk/gK/ObP9wisLp6kOn
         tdag==
X-Forwarded-Encrypted: i=1; AJvYcCU+tMMFFNn3NsXQmVqmXJSR2bupvgLbInCZb1L3d7PQUtx8zSSQHy/Tc/aLEL6ZMzDNK5uEhArua6c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZercLswTDwMkjxYHwt3m7Gl7H34t43CyyKgV7Ze7z584OouRa
	iDfS/SFjlsfxZeb0+V4VwaHlSjzW2szl5q0hpe0VvMbe86/hkeNZjDuvhqyCQQ==
X-Gm-Gg: ASbGncvZ3QUtQJzB9Rhu15LgjEdpl2CTob2uzlc4BfoVrwFEL9VrkqCNDV8hfECWPSB
	KIIgZayDFzXKEJdK6DDMTkn+3RIq4YrCSz2XHLH2WziRLmnHtCoS1BVhYSpdNjv74ulj7Q1YTES
	NXvErKWIgjrBMsozdjL/F9+qOu4UNj9gDsJ6tSV0SKDAaNHhp2hN6/mwBhMiz/c/ldLc7ToTtSV
	/0BKj5XJd5BLc2ss1cWjOeqy9JHvniq/uOwWpMauQFCNob2mdQ6I+LUGRDLFgwGxbP9Wp5nf6pW
	MuFMv68dPqeD8i1PU1x3CX8y23HKPG6N9qCfoZCYZnsfXTojpymQFoDKsagUgGcuJqsH4ijnr52
	GPOtLxvMkY8cxCu2mOO7mhVol/B53bLmIWewX5axL
X-Google-Smtp-Source: AGHT+IGzx74EM8rMzc/EDjNWHtPhVWwfTPfWprRkbqf0GVm15QnY6V1lSQBJeF6Xhwcz+8UhgfDntw==
X-Received: by 2002:a5d:64e7:0:b0:390:f0ff:2c10 with SMTP id ffacd0b85a97d-3996bb774d9mr5944096f8f.19.1742377393600;
        Wed, 19 Mar 2025 02:43:13 -0700 (PDT)
Message-ID: <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com>
Date: Wed, 19 Mar 2025 10:43:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@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: <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 10:15, Jan Beulich wrote:
> On 18.03.2025 18:01, Marek Marczykowski-GĂłrecki wrote:
>> --- a/xen/Makefile
>> +++ b/xen/Makefile
>> @@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
>>  CFLAGS += -Wa,--strip-local-absolute
>>  endif
>>  
>> +$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)
> 
> This is lacking a comma:
> 
> $(call cc-option-add,CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)

And then, having tried the correct form (seeing the option then is passed
to the compiler), I can't spot any difference in the resulting
xen-syms.map. There were a few absolute paths there before (for
arch/x86/x86_64/kexec_reloc.S and arch/x86/acpi/wakeup_prot.S), and the
exact same ones are present afterwards.

I've tried this with both an in-tree build and an out-of-tree one. Under
what (extra?) conditions would a behavioral change to be expected?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 09:45:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 09:45:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920160.1324405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tupzf-0000jL-FP; Wed, 19 Mar 2025 09:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920160.1324405; Wed, 19 Mar 2025 09:45: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 1tupzf-0000jE-Cq; Wed, 19 Mar 2025 09:45:47 +0000
Received: by outflank-mailman (input) for mailman id 920160;
 Wed, 19 Mar 2025 09:45: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tupze-0000j8-4b
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 09:45:46 +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 ed75085c-04a6-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 10:45:45 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so4062946f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 02:45: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-395c83b6a5esm20150701f8f.27.2025.03.19.02.45.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 02: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: ed75085c-04a6-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742377544; x=1742982344; 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=5Qp5aAcW45C8er8t3oU0lY8OXH3+F/cQVC96xD1rk/0=;
        b=N4LdZ9QvGgaFFaSnfY6GI61Oje9B126lqDqqbEnUAdtRRlyM0pqN0BKR6QYBX5YCcX
         q3t/l79QykzioHWJCRcDkoR/ght+ChzpsKjB3fXxQ+fyiOEQ+nS7yuPexjRzqgpk6jLk
         H5tuZ8up1lgiatw3fpP6A8+6iauSN9IDkGREl5KO5/g7zWSkPcT0VFp1AGiGMSTen9Yz
         A0jEqudX6DF8GQHw/8X3QRwmV9LfoQG6LGgz96X9coVW5AGTItOwHyCwAvf07uxstAB0
         AKVuKGz/YfckfEL6Wy+Oxf4pXHI068MvCsyyLEDNq14r524m2pyFOWtiTl4xfzwmLEgR
         RJFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742377544; x=1742982344;
        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=5Qp5aAcW45C8er8t3oU0lY8OXH3+F/cQVC96xD1rk/0=;
        b=pu3C+Jx7KBjahxpywlPNKF335oEq5LihGMk9iXMeg786WZtnypF/ZgJnwZZlhKiEt2
         jRNTNR/W5Ta37aICPvKB+nVHw4LM2rjgkP+9n791o/nZxwWfycqPAsGZJfYhWCcN3UOP
         2U7Xo+Ixg7bzOATUaqcgPtq3YdRH0W+ywMOe6ClWMnw9CgidijRk2dZggvmLuiyzXzmF
         OdyL0rm7KxXEKnLolyKAG0SA1FiLhjIFGtYbUSj7VcZWsISpTkXYNsXVi/Te9mS0tO1q
         14vDpfIsSdw4LL7BXyhyfOcuxkJA9VL02n+BkcHfBszc4l99tviygIIF922fhbe6F0G2
         V6dw==
X-Forwarded-Encrypted: i=1; AJvYcCV61T+SJz44l4NdMI6xhp+aNjBTQXcIYJMyUfq7YL2DhCmDjyL3yc5G+tINwmOxtLgDjdyyTsxE+OU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YylJ8hODgDsiTlFTy66lXehgYD0Jmsui+7BG4sv2ObnTeSNp/zV
	QP/mUQ6gUoL7p8XLOXy+UdXWU1Lia0I7RtxUOAQ8sS1L3Dty81U+CRvdc3axdg==
X-Gm-Gg: ASbGncuJPbc0aCgW10zqv4NvXCPMIq/6Wq+94R4yl1zZvY56uQq7G871kC5x80y+0yD
	ZLVC6H5WkyGNUCv2cqohCqEo7R66MFrSvGdd7WkhTvfFqivBEvbMVXpfQKZ5vSbe72WI+8f8uNC
	safhwPNPl8SHZHs9yOjB+oKtw7gxvHbtdeMBg7LfTb92HNNX0kt1CYT9coHv3uf/cCQlsfXUwdD
	hPO8Whsr4yzGNxcOy2Lk4wMqzV2OBC691990tVybV5TA0kIfkN/ePFagHMYJobXxU91SnhinT9i
	AMiTaoELcWyAFzZ11c2DSPgA6ClTCpCRLAEtwS2/lBU7B8WgmF3nPxcDFRKi1lQ0IQOiKeFxROd
	JJhGKIikZ/ntjvNJ2nq9iqbWZDPaa1g==
X-Google-Smtp-Source: AGHT+IHVHkzyeLEpjSdQk2FUqi2A2N6eT4pdpoSGpxsSahm4/AZUlCvt9FPjygm0U6aamCjrKSOHVg==
X-Received: by 2002:a5d:6d8e:0:b0:391:3998:2660 with SMTP id ffacd0b85a97d-399739b5714mr1142079f8f.7.1742377543956;
        Wed, 19 Mar 2025 02:45:43 -0700 (PDT)
Message-ID: <68f1aa06-4e00-4b53-9c99-4097c1b80529@suse.com>
Date: Wed, 19 Mar 2025 10:45:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/8] xen/console: fix trailing whitespaces
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-2-dmukhin@ford.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: <20250318233617.849903-2-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:36, dmkhn@proton.me wrote:
> Remove trailing whitespaces in the console driver.
> 
> No functional change.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 19 09:54:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 09:54:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920178.1324415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuq8P-0003Gl-9V; Wed, 19 Mar 2025 09:54:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920178.1324415; Wed, 19 Mar 2025 09:54: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 1tuq8P-0003Ge-6w; Wed, 19 Mar 2025 09:54:49 +0000
Received: by outflank-mailman (input) for mailman id 920178;
 Wed, 19 Mar 2025 09:54: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuq8N-0003GY-Nv
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 09:54:47 +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 2ff8c6a4-04a8-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 10:54:45 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso40933285e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 02:54: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-395c7df33d7sm21140141f8f.17.2025.03.19.02.54.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 02:54: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: 2ff8c6a4-04a8-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742378085; x=1742982885; 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=rCf9DMTn01EOhcQqVSSAmsgPbeYjZnhDqgHwo56Z5Gw=;
        b=gZI36xJ2HamYXElEpH4MR7kwbiyL5/xtzVerIyKTfaXcdhAQ9BmkjoqF3k4Jh8LA9K
         WZIGj/Y19RB1q1MC9GThWdq0HUuEE9QZGdXz6sFzCaUnE/5ckPYcGWoYe10y1EiZrZbI
         Ho2KLKLn0cQZNXPJj94QSTR4zhUpaRgyOEzHrnBCHeECBkomtik97yxRaHlmpv/KZEdB
         4fns5FEIQXgy7EFEIvlt3l76UAm+I1CHE7ae2tz5/x02h2zQoGJIsG0Tpv88uOGbITib
         CcHfFDBPTsB7tbFoO9TDdH/CI0kZinopIzqjuk458u89oRBmYB7BCW24CdfzRUiTa1uD
         P1/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742378085; x=1742982885;
        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=rCf9DMTn01EOhcQqVSSAmsgPbeYjZnhDqgHwo56Z5Gw=;
        b=U94owI7ghCm5G48tWsS/CdfKEFLlqT68LUnZI+mw82E6nysGwBM3ofKBraT7tqKjnX
         hRrtMGtFe84eHmtUtDiqcgHBvhI/fLJKMuR08+kMVYbn5xScCoJUStvrs0OaZF4+Qon+
         7C/wwM1JUWU8qbJDkjJpwtCsuZcKj+COWcmI2T7mrbovL+O6Bfs8abKE3w0ywkB2YJIS
         wjBd91VamYL9qz+x10hPQC68nXkyPk86i4cbmKDMwNDSaf2ntbRvcA/cY+P3FaGnJCfI
         vHasnFCS+QjA6UAxSNhtcLe/xUqgK5LZeVJXGKIc1RFB8W+x19NKhSO4V3tCs7cm+rCF
         ZN+A==
X-Forwarded-Encrypted: i=1; AJvYcCUD/SJ/98zkf2Dww47Z/9FwHGo6nrInSubNYAStsn4V5skfP6DhIIkGQPoeymBZFXWha0WFasxB4Bs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFFpy6fKWUo5QZo12u++WoaOuVqlsITdKlfrjyXCMw7qrowEQf
	+qRkfeco6xiIu0jR39M48O6/VDmXRKeg02u1qhid/jSJCVlDqJabVkrwQSU8Gg==
X-Gm-Gg: ASbGncuGVQmWTUMn02rVLu39MVxKl4mLZJ5cJtbIN7Pl0AkyDoeLzlX0Wd98LXWIsN+
	0JJLBJA24TfeQMwh95Yp52Rzja9S4ZHzuGYV4PqLi54NSuAbzyKj2y5xMkhoCMa/G77PxNbjp0X
	7DkyQxpG4wgdZK5ePfQyoCj37x/Ky+PjkmNHFPrGv/LbTcEqHx5usTn1OKbyfY0h35M9xytFeM0
	vf9eZekbv71MbtvS6RPH323b9/1qyZJrdigeMP0gVokymeWCM9nrK32jWAyVccd1RxepPLF5gcm
	ZZBPsxgIrnH3ypZlMeSlmfAuM08/6kfaOAWYvKUUK+w68wQoPeDunDgxtjs8bD10WENuXAqrQaZ
	k51fZJ61PtfzJzCSTApkYsutyql+Q7A==
X-Google-Smtp-Source: AGHT+IH/FRjyLdoQuwiaBQLMf2XtBW+qVSFoArTlSHhyhNTN2UB7rdClovG3ZMP/pbhLXlTK45AcxQ==
X-Received: by 2002:a05:6000:1fa6:b0:391:4743:6de4 with SMTP id ffacd0b85a97d-39973b416admr1216939f8f.50.1742378085006;
        Wed, 19 Mar 2025 02:54:45 -0700 (PDT)
Message-ID: <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com>
Date: Wed, 19 Mar 2025 10:54:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little endian
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, michal.orzel@amd.com, julien@xen.org,
 roger.pau@citrix.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2503182002160.2000798@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.2503182002160.2000798@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 04:03, Stefano Stabellini wrote:
> --- a/xen/common/bitmap.c
> +++ b/xen/common/bitmap.c
> @@ -384,21 +384,26 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
>      uint8_t zero = 0;
>      int err = 0;
>      unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
> -    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> -
> -    if ( !bytemap )
> -        return -ENOMEM;
> +    uint8_t *bytemap = (uint8_t *)bitmap;

Not only Misra dislikes casting away of const-ness.

>      guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
>      copy_bytes  = min(guest_bytes, xen_bytes);
>  
> -    bitmap_long_to_byte(bytemap, bitmap, nbits);
> +    if ( IS_ENABLED(__BIG_ENDIAN) )
> +    {
> +        bytemap = xmalloc_array(uint8_t, xen_bytes);
> +        if ( !bytemap )
> +            return -ENOMEM;
> +
> +        bitmap_long_to_byte(bytemap, bitmap, nbits);
> +    }

Where did the clamp_last_byte() go in the little-endian case?

>      if ( copy_bytes &&
>           copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
>          err = -EFAULT;
>  
> -    xfree(bytemap);
> +    if ( IS_ENABLED(__BIG_ENDIAN) )
> +        xfree(bytemap);
>  
>      for ( i = copy_bytes; !err && i < guest_bytes; i++ )
>          if ( copy_to_guest_offset(xenctl_bitmap->bitmap, i, &zero, 1) )

What about xenctl_bitmap_to_bitmap()?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 10:07:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 10:07:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920189.1324427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuqKo-0005wn-FS; Wed, 19 Mar 2025 10:07:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920189.1324427; Wed, 19 Mar 2025 10:07: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 1tuqKo-0005wg-9v; Wed, 19 Mar 2025 10:07:38 +0000
Received: by outflank-mailman (input) for mailman id 920189;
 Wed, 19 Mar 2025 10:07: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuqKn-0005wa-77
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 10:07:37 +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 fa94612f-04a9-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 11:07:35 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so29448625e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 03:07: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-43d440ed5e0sm13843015e9.37.2025.03.19.03.07.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 03:07: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: fa94612f-04a9-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742378854; x=1742983654; 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=TAn8XyJUemtOAA6Tfdyg0/k5/rkjdPdT+UHRvrWrxxM=;
        b=L5jduZfNmP06CnTJzuq0IG285bG7wr1YPnKUWkpHq1B8tUuVWGSxSsSxicXlm8BGrL
         E29erhqoJZqP8lQZibkZmZS6W4d8FQghqS74Kyz9EZUmyyMSgrMnbuUsgyaPLOBT8JQV
         iIHrUmeyvYkR8RvLY4OhoU6Qf/WhEAijRDj7tfL03lgBoKYIntBvgzrlvlQ7UJEq5Hmo
         J/rxVShGyb6VrbzeThXG3lwgZ0T5VCFR5RChDtdjPPS+6KrqM6AN6GWjBy21OeslKEKm
         Ib7O6J0M8WiGF4CobDO+pBxL9HKONRcURQCL+IHDJsZJSucqY3AggajKraDYx/Rvy/hs
         qRqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742378854; x=1742983654;
        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=TAn8XyJUemtOAA6Tfdyg0/k5/rkjdPdT+UHRvrWrxxM=;
        b=hESyU/6YgONj7UxU3Ug680KjTGT7H8cNWrDGAdu44IOJsIszxAFO4tx0tREh50SFcB
         otdN4hKDq6aT/h4aGuofg8wDcHuvcldjvgSx1QBoMa1GVdpNrc1qmzfH2DwAUxAhGlhi
         lKz+Rac7ew0LRoR26eZIhyKYp2tgaUrkpWBzgv9fUmn1puVZ3ogozxYjgKCkVNKh2qZS
         e71gJctaFz9GuZofsormI5jTpjYxueBy21n6D+3W6t6o2QKD4+RdbUpLURuV9lgbA+Zx
         HBEOxJ6oXhwNuMQKuucqfIJ9v1F6Ychpj5ffhDZvqXi2hw6fQZED8lwj5p1fegOtkSAz
         YYKA==
X-Forwarded-Encrypted: i=1; AJvYcCVrlyC/JxomhyEBwYZIuM8yQ3AfEkiFmGrpfWjTuayYIaopBevsvG25w4giYivmtP52BE9yi/E2OmM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVs0pm7JfX24QAWZmNanfcMW4nw5kpf56Ny4AkCklU65qoY32v
	1vNBvkTr/8fSLsbj3Qcu3d0CE6d90pOtmf5pJbKszIc5XxkDDoQz13Fs+aDiDcoPdOAkWsm0z7E
	=
X-Gm-Gg: ASbGncvfyHMEj3uHAMwrtbRwOQUS92tEEJGVML+pvJtAfmp0s4j4NMAAuFYBj5rbyzn
	n1i6g4rqIjbBzFwsZGBJYzu7A91k2RleMr92tTF83drGWEk8bMSSevDf/9QUkDcjWS+pPgEkxVs
	hWUVmovMbPvVfq65SkmdvXrP2u82QYw1bvVED/uVHcXDktAgfqhhmiyVCDt4H0RmJP+GP6ECcGU
	H6l5qvhgCa0irAzzBwnDUOEY3DAbXvC21Q8UUi7As1im5TpV7k5CKP1NANTxUbvYZYfHLvmIXfX
	z64UDC7nsy9TSrORocgMuTTyq5VWL0TEUeVEAMUFm4TiWG43jwUF1Q7zbSxKFtR+gVxMyhFr5L9
	EWp4iuH5jc3uWqdi8Z19/K06RX3lqZQ==
X-Google-Smtp-Source: AGHT+IGBASeIK1yPjh9iLkU+tmafUGUTQtXVWe4G5tcnCXntRWxRT39e4UuskYxp1hdAZyANq1qDpw==
X-Received: by 2002:a05:600c:5488:b0:43c:f70a:2af0 with SMTP id 5b1f17b1804b1-43d437f360dmr21883795e9.16.1742378854411;
        Wed, 19 Mar 2025 03:07:34 -0700 (PDT)
Message-ID: <1dce6993-09d7-4f04-8ccc-908a0a4cc10f@suse.com>
Date: Wed, 19 Mar 2025 11:07:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/mkelf32: account for offset when detecting note
 segment placement
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-3-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: <20250318173547.59475-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 18:35, Roger Pau Monne wrote:
> mkelf32 attempt to check that the program header defined NOTE segment falls
> inside of the LOAD segment, as the build-id should be loaded for Xen at
> runtime to check.
> 
> However the current code doesn't take into account the LOAD program header
> segment offset when calculating overlap with the NOTE segment.  This
> results in incorrect detection, and the following build error:
> 
> arch/x86/boot/mkelf32 --notes xen-syms ./.xen.elf32 0x200000 \
>                `nm xen-syms | sed -ne 's/^\([^ ]*\) . __2M_rwdata_end$/0x\1/p'`
> Expected .note section within .text section!
> Offset 4244776 not within 2910364!

Not your fault, but: Such printing of decimal numbers is of course very
unhelpful when ...

> When xen-syms has the following program headers:
> 
> Program Header:
>     LOAD off    0x0000000000200000 vaddr 0xffff82d040200000 paddr 0x0000000000200000 align 2**21
>          filesz 0x00000000002c689c memsz 0x00000000003f7e20 flags rwx
>     NOTE off    0x000000000040c528 vaddr 0xffff82d04040c528 paddr 0x000000000040c528 align 2**2
>          filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--

... any half-way sane tool prints such values in hex.

> --- a/xen/arch/x86/boot/mkelf32.c
> +++ b/xen/arch/x86/boot/mkelf32.c
> @@ -358,7 +358,8 @@ int main(int argc, char **argv)
>          note_sz = in64_phdr.p_memsz;
>          note_base = in64_phdr.p_vaddr - note_base;
>  
> -        if ( in64_phdr.p_offset > dat_siz || offset > in64_phdr.p_offset )
> +        if ( in64_phdr.p_offset > (offset + dat_siz) ||
> +             offset > in64_phdr.p_offset )

This is an improvement, so fine to go in with Andrew's ack, but it still
doesn't match what the error message suggests is wanted: This checks only
whether .note starts after .text or ends before .text. A partial overlap,
which isn't okay either aiui, would go through fine.

Oh, and - even in your change there's an off-by-1: You mean >= in the lhs
of the ||.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 10:20:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 10:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920202.1324435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuqWv-00011a-Ez; Wed, 19 Mar 2025 10:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920202.1324435; Wed, 19 Mar 2025 10:20: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 1tuqWv-00011T-Bn; Wed, 19 Mar 2025 10:20:09 +0000
Received: by outflank-mailman (input) for mailman id 920202;
 Wed, 19 Mar 2025 10: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuqWt-0000yb-EO
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 10:20:07 +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 b9b05b78-04ab-11f0-9899-31a8f345e629;
 Wed, 19 Mar 2025 11:20:05 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso42670515e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 03:20: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-43d43f43ed6sm14306825e9.13.2025.03.19.03.20.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 03:20: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: b9b05b78-04ab-11f0-9899-31a8f345e629
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742379604; x=1742984404; 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=jNB+YHOJD5RvgbOIaQ0GO3asgERYQzvnxUzosDsaqMY=;
        b=aR8470tqM8+99lMrGOLYenpjWt7nom+pLo0P6XDX+TwIaqbTV6blSq2hkzaSemNA9g
         bVI0k6J1J7RvYYSerwKIDSjCPCJSrWtA8HWwRx+H2ix2VvGB4D3bTBNWjylw2j2UFiA+
         JEuhovPYP29n2ssqRWUmXxrXEX2Hri0U8VqGbdjHT8wAtHv8MdJVjcoyo03UCQykY2P/
         o7pmslwDcjObOEmV5iKffXnKPA6UO64OHMQqQq2WpO0LjoW9lOA+SBwes+cWdC2n5j71
         wDiWCmgJbSxgg4XCR9THbucFeu0uHcQVa0FtP/dnJphgMtNLUpkXa6P8MQYaywGbzNIz
         Lt5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742379604; x=1742984404;
        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=jNB+YHOJD5RvgbOIaQ0GO3asgERYQzvnxUzosDsaqMY=;
        b=O96IJ3BWz/djz3dcdYXp6UBtpi4+q9MOKfKxAVNjPF98ivrP9897brSnczdjcnF2wK
         gHab+S+c73BNgfkdM9XMRQxVL25uoWKQ8Md9mEW6RpFRzT+wVSjOKADookzVq1fr2jWu
         UTvSwvFRAROduzGDTKU3oqI7ZkfwrIWU+G5u6sPlxFL3tvga0SfKZRu8LusDhmppoJBn
         jdaBSduEogHef/C4znkmuLta5K90vVjhUc8Vi0qyxYhQEJAAWEOu4HSZFyfNmXP7HE7X
         phwr7Shp8NWYl95pF5h7I4PsKa+0s/R5cHb2q8Z33o+CG5TMFg5IIjkZMyL1UO69kkdI
         ihnw==
X-Forwarded-Encrypted: i=1; AJvYcCUVeHytRyqv4x9Q0IqRSzb3rFKfsrU3QZN8uMYGLDWwTCpxDg7fG+rJVBfkVJGbR2YvM5cTUsjeRK0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPr/yyXiMV+xa9UfRbQhzeNcwmQwKcnYsHrY7iHBonYBk3ZLLv
	TSfkycQD9j/0m5Mvybt+YBBBrK2vC1rQ25JGoQ000O/sP52tQTYeQ81mmelOuQ==
X-Gm-Gg: ASbGncvPxXwr0oZmY3JklmSCUVn098maBP5U0HLBnpT+jTq/RCHK5LugR6VNdQ51esv
	LsNFTTntEvcrlZCZDk5jmr2S0FhneIM19AEdn80D/VH1HJzpeRd8hOMrq+t3i/U78/Tq2u+apBC
	x3Ji9fwMunhj5KlUBbWDbKVNHu3vmSY6k9nzNo1nq4AkUGklgKoOErvvf0yySuF/7WXUGpzdo18
	cMUcmxXtxNDLhOe81tNrEqyUa9ZbiqgztJ10fzaxEZTVQArSG8/2IZhvR9wK0JwsqyR3EyHz3/u
	Fh8oChraUXtPGb2NgtWUg7JTAMBgNGM0myaPuVF0CExHbXoXL9E1vgR70Fxpuolqit9/Ju+Ao7e
	LQxxYsBmaQS5QjcOkh2Gy1ylWmpRinA==
X-Google-Smtp-Source: AGHT+IHHHJqYLYktvyKzg4P2tcSVeTY9etDsMyP6xshvkOvn8Zu6tTzrJAiYxz039FFzjCrN2toraQ==
X-Received: by 2002:a05:600c:8486:b0:43c:fe9f:ab90 with SMTP id 5b1f17b1804b1-43d438a2157mr14181905e9.28.1742379604460;
        Wed, 19 Mar 2025 03:20:04 -0700 (PDT)
Message-ID: <b8ff0d6c-af56-41b2-925d-962902038df0@suse.com>
Date: Wed, 19 Mar 2025 11:20:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] xen: remove -N from the linker command line
To: Roger Pau Monne <roger.pau@citrix.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>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-4-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: <20250318173547.59475-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.03.2025 18:35, Roger Pau Monne wrote:
> It's unclear why -N is being used in the first place.  It was added by
> commit 40828c657dd0c back in 2004 without any justification.

Not really, no. That only moved it from LDFLAGS to an explicit use. Several
hops earlier it looks to be 4676bbf96dc8 (from 2002) where it was introduced,
when the linker script also first appeared.

> When building a PE image it's actually detrimental to forcefully set the
> .text section as writable.  The GNU LD man page contains the following
> warning regarding the -N option:
> 
>> Note: Although a writable text section is allowed for PE-COFF targets, it
>> does not conform to the format specification published by Microsoft.

There's also "Also, do not page-align the data segment, and disable linking
against shared libraries." None of this should be relevant with a script
either, so just to have mentioned it.

> Remove the usage of -N uniformly on all architectures, assuming that the
> addition was simply done as a copy and paste of the original x86 linking
> rune.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

With the commit ref corrected:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 10:32:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 10:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920222.1324447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuqib-0004gX-Jy; Wed, 19 Mar 2025 10:32:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920222.1324447; Wed, 19 Mar 2025 10:32: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 1tuqib-0004gQ-FI; Wed, 19 Mar 2025 10:32:13 +0000
Received: by outflank-mailman (input) for mailman id 920222;
 Wed, 19 Mar 2025 10:32: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuqia-0004gK-Sy
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 10:32:12 +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 697c9599-04ad-11f0-9abc-95dc52dad729;
 Wed, 19 Mar 2025 11:32:11 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43bb6b0b898so43318295e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 03:32: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-43d43f55c3dsm14757445e9.23.2025.03.19.03.32.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 03:32: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: 697c9599-04ad-11f0-9abc-95dc52dad729
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742380329; x=1742985129; 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=BBRFFO8agptcsJuTX2gy+p2VorgxsZWzyeM33kaoC3U=;
        b=JoIMHSardXSTbabTBFabg0xJed31o70qGb3DtPtKDpxqGQ8TuGHVS/2v84xaRzvLrR
         aMAMakL8e+Sw2nlff7xGSwSDc1E8/WyhywZvqYiIWxBynPfGiv5TuC43GBbDEo0tyKHt
         W64KRHk5sWOPjRk7k9o+X6OTvGbCAAL7S7QpxO5NmaO5cdpycBME2fVvc4XVMs2BCWBs
         0XCi6KDJcX8eVuPeij7VXnR0pwLTFaLPjVKy2U11xPhSHPL6dKVgZujWF0FsV5aE70f6
         2mRcB1MREqUo8/IbYvrL8x6Gk9AksSYHnVPeBTpH22R+rkFHY8dVAX0eRIIXNMbU7XNW
         BktQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742380329; x=1742985129;
        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=BBRFFO8agptcsJuTX2gy+p2VorgxsZWzyeM33kaoC3U=;
        b=G6XBGOjOKMMuMhfS5/PkmqkQnpX2qujdhfjQKGI/R7XAji7NgYhYV1U4/Tw9VwFeMv
         Mll5qP3Qa3lKpzM6NgzQ9CgOrIXadb6vdr9zwjmUyueY2ddvx65MWDX9r2fK3ojQ5Ygz
         k0q39ieMEgBV6ZpOICbE+lrQA8w0oyjkERcxdogN+BTMPi9ZaRO5y/2IdAUEzr9oJXj1
         UYeg9PrSToTEpv9THhMjpfn1GZNKmzJKUrk8AQYao5b9zi1rBxfg5JD3Jjqy2sRGebfm
         BfWsFDbXFxoeIbl/pCWYSsA1yS+OwoaqUECwJN7OOwzAFIl19rPvbs8nS04l44HSfdV1
         IM7g==
X-Forwarded-Encrypted: i=1; AJvYcCUWEGDOhZDZhBzgTSos6O79J/PM03JZ0Rl9osvsm5TKe+2AQJKw6nPtNDbiZYYh7aQrPh5emPX5zek=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzbQ97Z45ygo1+4mpVbZlUNQgGYCKIGyncQ/Cu1H/VI/OGcI+6L
	xBGdl29kylIkl4NdfmWR9D9LH4Ow06+2XDdcAj5ONBgsxdMd6Yu79mCFGfKZVmh+1RBcfxBTgkw
	=
X-Gm-Gg: ASbGnctW6Bad2X3b1SZO3EVIvlMKX+ytyIfwrHONivZJj4xiOxCHbBeWBsRa25rfR6p
	vYbJjssgcWGidRXGGLgxlr9HW/WWwOG1GUBtNLvYgoSRblxN9U8mRo3S26Qc0OByrcHdHc1wZ0C
	EBBS4jTBeJzFoPZJetC5US+c3igM9qd4mnfxKh2gi2MuxWyeEEsv2HJ5fv1DifYzfhAsKF/WBam
	sMa/8uJ0AuIFu+zkEXqp39kvrlif1LCWucivwjzGF4SYJACcpgClLvcXdEK4a2DCJSlhKtvlcx1
	pYoA0hAYo2wXf6BJF21RzMsEsJNusy/8PazlOP54nw44GQYHM9nhjaHlXyxFfyZTBqEUS42lKLH
	qFxd2c7838oO8Xb11xEseob5cQglYRQ==
X-Google-Smtp-Source: AGHT+IFVMSg2U5FhhGngbR/qm0jZ2AulvgZtFYBwFYWM5wAqQS25QY7D3G95u11wdVsMHZXAaMhjyw==
X-Received: by 2002:a05:600c:3503:b0:43b:c284:5bc2 with SMTP id 5b1f17b1804b1-43d436c84edmr15208135e9.0.1742380328882;
        Wed, 19 Mar 2025 03:32:08 -0700 (PDT)
Message-ID: <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
Date: Wed, 19 Mar 2025 11:32:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-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: <20250318173547.59475-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 18:35, Roger Pau Monne wrote:
> Relocations are now applied after having moved the trampoline,

That's two entirely different sets of relocations, isn't it? What we generate
here is what is to be encoded in the PE binary's .reloc section, for the PE
loader to process. And for us to then process again once we move Xen back to
its linked position (by virtue of leaving physical mode). Therefore what
matters here is whether these relocations are still carried out while on the
page tables to boot loader created, or when already on page tables we control.
In the former case any relocation to a non-writable section would be liable
to fault when applied.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 10:40:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 10:40:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920233.1324456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuqq7-0005Ks-9V; Wed, 19 Mar 2025 10:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920233.1324456; Wed, 19 Mar 2025 10:39: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 1tuqq7-0005Kl-6C; Wed, 19 Mar 2025 10:39:59 +0000
Received: by outflank-mailman (input) for mailman id 920233;
 Wed, 19 Mar 2025 10:39: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuqq6-0005Kf-0E
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 10:39:58 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f337492-04ae-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 11:39:56 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3912d2c89ecso6055639f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 03:39: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-3996d998545sm4496675f8f.34.2025.03.19.03.39.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 03:39: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: 7f337492-04ae-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742380795; x=1742985595; 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=6o8eMnNEU91mAqF3t/D+u0YZYgwW08FFjsMXlU+9VPo=;
        b=eMi/mKmOORlCLUL/+NQAFc/j5rnq3Akc2h8ADUTWzQlShLTOcEIb2NUg92f5hW8wzi
         hgkbMakrSIJfIiNqbg4Y5w8PH7xMeQfEqDGybN52h6sFXilZsR16dhprYsNOkJr+VBm5
         0f0S3KfMmrJeypfH50ctLN+66lRZ1I3OwiEdPSkxIEwLeQXyv9K00yUxIhNm/A7/eBSV
         Llo97qbmlKqb/s34Kq2k7pLUp4H8+0nBihBMeP2Vkfy5kUE20wRygwBD1+Pl2kWO70B2
         9jVZpTzuveMUEmv8jK1pP03c12Kv535yqa7L6y4l7qFN6ajCyLlEgCp3TTFVpVOh4BER
         mGNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742380795; x=1742985595;
        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=6o8eMnNEU91mAqF3t/D+u0YZYgwW08FFjsMXlU+9VPo=;
        b=Swxa2MiSWjYyhYUsoqVM1r32E4+Wa00/QdVTDSJ4QW5/T9qLn87EwXrgGVyehvzHmU
         TEoe3tREiMJI+Iz08VjPttujkcTppseA76r7wemt6R0eVlDNr/y3CjKt2mkmu1LFJQc3
         o8tciYUWh1d+nRWqLmD1bHSrm5sx5Is9HHw4dVwO04BWSA6p7poYgxRa7qwju7aTGOPX
         a28eZxozs9Vno5x4S0P7w9m3pTVG7Emmi39mM1MWZg2gp3RjARXjBBmHNoesMGfM5nyU
         2CoZen+uxXmlpZSZ44ko5TnY2SQ8l69Z+Q66Yx2erwPSGKdL95oFdGhQ5oCvsC0REGzX
         X2Gw==
X-Forwarded-Encrypted: i=1; AJvYcCWpWzW0CggjEa9s/admJpMDl6gOo/TweJt527wRZ0/Iw/eOmWA0mtAEUph5hXJuVShyms0XruUY7aA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6ZCQOWrj3L+vVQgflJV4xPVOFBhmpO2uM09iFeTfpf3iW7uZ0
	aZlED7D56Pv8mbLekvHhqs3sLmI83xm/MiFE9kB8+dDyYsJxjEXTQI4oN7IVRg==
X-Gm-Gg: ASbGnctu2kURnEuJxfEBBJOlqmpW99xCbJ2WitxQM2aFZJpR6RklBOag2JVlHZNlW5a
	hj20OFbmtZ4YdoqXctZX5Xo8ZCe5aZwO1Cruo+eqSvHyf0yZXcGbcEhnQAxwRedtfLsw5knuozE
	fMrFuCAWqvp+0Rt9l8PNHJqnQkl9HpVAyk2gZtVmFylMnP4Ql/KFtVnWh1sU152+inXQ9OqPIMD
	WUsnD8zq3n1vUpJEK5BUkoTSa99JKSD4Fz6vGoDWgfqtbwTpFqX5dQla/uxftdB48Vv8wx+1qvz
	CFIb7ZxjDt5OEi81X6Io4r174uHjjrdZS4pgcqRZ+rlso0qeEPLwjppRfERwjYwJe94szrhfTgF
	GJzMoF0nlkWoDuOgnxOol7TUFC6dHXLevLWROaZaV
X-Google-Smtp-Source: AGHT+IG9i51GlTb942C5ihsmogIc9jwtGqVhW1nvYyc1zEeQFwX7HwO+FHBl026kMNQgLvBQXIrZnw==
X-Received: by 2002:a05:6000:2b03:b0:390:fe4b:70b9 with SMTP id ffacd0b85a97d-399739d482fmr1705354f8f.21.1742380794749;
        Wed, 19 Mar 2025 03:39:54 -0700 (PDT)
Message-ID: <388596f8-02fa-4d95-a35d-4e0c44a70c16@suse.com>
Date: Wed, 19 Mar 2025 11:39:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/7] x86/efi: do not merge all .init sections
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-7-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: <20250318173547.59475-7-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 18:35, Roger Pau Monne wrote:
> As a result of relocations now being applied after the trampoline has been
> copied into the low 1MB region, there's no need for a single .init section
> that's writable, as .init.text is no longer modified.

This builds on the confusion of the two different types of relocations that
started in the previous patch. The change here may be okay once that other
aspect was clarified; the description would need extending then, though, to
cover both kinds or relocations.

> Remove the bodge and fallback to the layout used by ELF images with an
> .init.text and .init.data section.
> 
> The resulting PE sections are:
> 
> Sections:
> Idx Name          Size      VMA               LMA               File off  Algn
>   0 .text         0019072c  ffff82d040200000  ffff82d040200000  00000440  2**4
>                   CONTENTS, ALLOC, LOAD, READONLY, CODE
>   1 .rodata       000884c8  ffff82d040400000  ffff82d040400000  00190b80  2**2
>                   CONTENTS, ALLOC, LOAD, DATA
>   2 .buildid      00000035  ffff82d0404884c8  ffff82d0404884c8  00219060  2**2
>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>   3 .init.text    00052866  ffff82d040600000  ffff82d040600000  002190a0  2**2
>                   CONTENTS, ALLOC, LOAD, READONLY, CODE
>   4 .init.data    00059730  ffff82d040658000  ffff82d040658000  0026b920  2**2
>                   CONTENTS, ALLOC, LOAD, DATA
> [...]

Just to mention it, also because Demi raised concern: This will leave us
with yet more sections with long names. We may want to consider to e.g. use
.init.t and .init.d instead. (Of course there's nothing we can really do
about the various .debug_* sections, as those can only be identified by
name. The only option I see there is to strip the binary.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 10:46:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 10:46:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920246.1324466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuqwM-0007vb-Vk; Wed, 19 Mar 2025 10:46:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920246.1324466; Wed, 19 Mar 2025 10:46: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 1tuqwM-0007vU-RK; Wed, 19 Mar 2025 10:46:26 +0000
Received: by outflank-mailman (input) for mailman id 920246;
 Wed, 19 Mar 2025 10:46: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuqwM-0007vO-0T
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 10:46: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 66f77f4d-04af-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 11:46:25 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3913fdd0120so3552833f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 03:46: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-395c82c249csm20215008f8f.21.2025.03.19.03.46.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 03:46: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: 66f77f4d-04af-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742381184; x=1742985984; 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=Lj2KzgTX9J4nlnRoJMx44xMinjBuaoBGVzEIuYIfPco=;
        b=bcT6gWaSocGeiDhaLhHDyA1T1e5jXE4RQ/l+DRKsEzpc4UXTMCavOwpvc/gTyQE4jV
         xXfCunlVqeV/HXQMERPNaUZZne9HgeaenHlAxWl56RmH8EDu+TsMvVyGUY1M6+HRoLfe
         qWsjOpYrOhyKpA6LI65+uSrO++laJEyU8X7yRx/8YHHAAj2FlpAT7GHefskDv/2BYD1z
         gME6r4hybxHefrVIs6sd6Ff89u5RMtZo8VoKAnf5hioNE15p2mycAJpzyt0c0mLKZFSw
         pqHoF3sjTqMUZXHNtEGWQbXXxhixhhAgZNlLHSUrcLyCMP66+AChf1JjXw5hdv4827QM
         nMoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742381184; x=1742985984;
        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=Lj2KzgTX9J4nlnRoJMx44xMinjBuaoBGVzEIuYIfPco=;
        b=ZxJ/+p1pxWqY3e4KOdqJGnQHwnc4Z1l6OPCJ+9ws4xqGCLepULqQ7QIqwmygTQ9czG
         UFeAZDxwmTKg3P0r0e6tmleW9Q0XY6HOoHOPVkE1gtsFOkNpUdubFuN23zPT0h5nT6Kj
         4HdBKYYu+gsqnr+T4BxbGR2FZW9gKICChTiNkuGj1ZxQylluT3d0TbHEclelaZH4Q5X8
         peQzttC+xe0BvZf/q8YI5cW5ajrv3V/q8ekrglKFeAnlbRMdKT7UCpKu21pqmQXSg8yh
         Og1LrZQqf5MpNLvR/RFmXygZAaWsp4f+vSihn+sO58yhwy3s2CB5moPdtwlgbGY1cTKy
         6FUg==
X-Forwarded-Encrypted: i=1; AJvYcCXF8gzDpCCZCtdQnc5VpD1t94QmDtZ379jCDmDA6xfJu/y8m8pAcjlKan+cyzfCkGUlVFJhOasGHhU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSIgfICGip/sUMxiDGTuW5AKaTpkPYRr0YIPFZbOZbNNUU/doL
	X1AGBnmzwiCR9PQQXX8bw98UCtFK0ayXlxJlx4rntDupCw4iSHPkQJhcX+qBlQ==
X-Gm-Gg: ASbGncspIAEpSIkzMW+VkY6ME0sZRzPt1nNkPcCFqzD1fm0T22nTX/hcv7xx1T+XKBh
	TNWd1X2yA7cvDgjkzetxqcztMz6gRjemTeAt44IgYrBRSUjX0Y+080PmzEh/NQs33zU8SKcE56m
	nUWmnqJ+Uvxsss3PMQWylM1cBAenQcp1TFKio6dIZ3ZiWSGYoUdLJ4SJvYlZArWbBAGkk5QG+hv
	bfHmhgQBRz7NDWS5j/c7jf5gQr2E2rgt0vGU8JuRs4joprmuGXg9a+6ffTb/wrbX4gYQWD/03+e
	tOBW2Zr9FhLJD8F/8IC7XydzXeHDYVnTLTOxNax8/FuajtZ8D0i10SMI0Yb1LgypT1fJUUKUx5t
	nYrGt1rx+EtZpRL3c3OxYh9GCq9I3yA==
X-Google-Smtp-Source: AGHT+IGNuf6/nrxEztrLrxR4m18P4zuoCs5y3UcY7FqgYRk4YRngDQn8Eu1BnCzICoZV+V/mytfF6w==
X-Received: by 2002:a05:6000:381:b0:391:3cb7:d441 with SMTP id ffacd0b85a97d-39973af23c0mr1698805f8f.25.1742381183690;
        Wed, 19 Mar 2025 03:46:23 -0700 (PDT)
Message-ID: <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
Date: Wed, 19 Mar 2025 11:46:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
From: Jan Beulich <jbeulich@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@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: <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 11:32, Jan Beulich wrote:
> On 18.03.2025 18:35, Roger Pau Monne wrote:
>> Relocations are now applied after having moved the trampoline,
> 
> That's two entirely different sets of relocations, isn't it? What we generate
> here is what is to be encoded in the PE binary's .reloc section, for the PE
> loader to process. And for us to then process again once we move Xen back to
> its linked position (by virtue of leaving physical mode). Therefore what
> matters here is whether these relocations are still carried out while on the
> page tables to boot loader created, or when already on page tables we control.
> In the former case any relocation to a non-writable section would be liable
> to fault when applied.

And yes - both calls to efi_arch_relocate_image() are ahead of switching page
tables. The first call is benign - no writes occur there. The second call
would cause #PF though for any relocs applied to .text or .rodata or .init.text
or whatever else is non-writable.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 10:53:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 10:53:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920258.1324477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tur3A-00029S-Lk; Wed, 19 Mar 2025 10:53:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920258.1324477; Wed, 19 Mar 2025 10: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 1tur3A-00029L-Hr; Wed, 19 Mar 2025 10:53:28 +0000
Received: by outflank-mailman (input) for mailman id 920258;
 Wed, 19 Mar 2025 10:53: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tur39-00029F-FV
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 10:53:27 +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 61f18dcd-04b0-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 11:53:25 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3912d2c89ecso6068061f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 03:53: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-395cb40cdafsm20792641f8f.62.2025.03.19.03.53.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 03:53: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: 61f18dcd-04b0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742381605; x=1742986405; 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=OXTMbzfbmdZ2YJ78GbE53eMp5htfQKVJu2BQW5atGEQ=;
        b=Pc8wRJPyJGGDsYuFXkQ6aKXk4TKObNNQm/c0bhPVuWpupzM6xUhtgYASht98DHtA9/
         jYNmj0gf4B7KWh1qT1Q+gCzmPNHGjrI9BOtuMGddiczkYeplOdzt4FuxLEDUEZAhOrFR
         IQy6zTgBvfSZO15nR9EPu32ynN/4YLp75fy7dpw/r5ZKERHfVkMsY4+mK+dDttMQCdDQ
         m/lcyqFScdExsRAMQMPGfRa8Qf83Wh3VP+5h13nzb28/RsTG51K5+mLkmpWs+YwI7Gyo
         62QlXMtMXKuqeqmiDWTZSwQjOjNVN/k/+oD1rkwW14Y3oic6PGaqI4Ay2HnORqjYKO36
         Oq+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742381605; x=1742986405;
        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=OXTMbzfbmdZ2YJ78GbE53eMp5htfQKVJu2BQW5atGEQ=;
        b=j34YtJyohkIIJuCXoNPjDmBwtjAM1r+hgEmN+/r8TfWW3v57OIK2a2jeXv5YyhbnF7
         2PkuDsO2CCKDnRm06adakkZYK8IexgQfYyK5X64G8YhXFzTsCSlbZHqcow9jHx0Iw0XA
         BX+syKOwC8ksedUr2cFLsByOlL60qcyYCv4maWinBMJ5iOD4ABvThbAMuasYW7lME8mq
         yReCa6zCQsJjJsvse+nITQpA8A5tIpHeeDvzG+hGNC0RLKIfuGGyd3QgqjG/gr/q9gtd
         FhgAEwTfDq7pBhjjL04pp5EceF6gQ+u+F+KWWNlQ8wcHgSR4N7zVNXAdlht5buDmItna
         Cz6Q==
X-Forwarded-Encrypted: i=1; AJvYcCU7NSaMPih6QOUP82WHU6NQ31QH1gOlM21BasjkTVa19l+62Q2RafAEx76j7JQg1VhsJGFBL9o5raY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+50c5O5Vi5ixEZWI7DaymbrVjhV3mrJoSIc8Of31P796EOOse
	F1KRYqQLeDmsPPSfPsR4WhBbwomWSTUC0qgUqui8fchuy9WYFiZgdh/JJlwUcg==
X-Gm-Gg: ASbGncsjCivDR0YzXCq8rWAV0qYVmC357YQh0Cczs1U4vjSqrBEnUdmP1VR+3sboA55
	sasbvXrRFZPmX7ClBpWai0p++obWTJOxq9I5fVrC+BDKckf4Y57RTWn898NzbiguZ2DszcJxTVu
	Gk+8PKsqNyFSHnPVvXY2DybZFntHq5KRevReGr/haw2mYpo4jqxic8K1umDm55TgvOKGX55kLfS
	eqG5IaZt2RyvT1lROoeUzVN6DLxrc8oVXlcL0X+hig4xKOx503UgJa84ozh4bsmfXpPPO4XdwhB
	5sNLRX8Ea50oY1Of0fUezhiCxejKAuw7o7xs6oDDD0QKc/tY3xDRhZmxQKCiv+YjyKsadFda/Qv
	orchQbBtPxLhdlE7+rmpYdG+Y+NiFZA==
X-Google-Smtp-Source: AGHT+IHG9M8dsl8a/5c2iKf4DeCxc3e4x9TGKI98uvWc4FeHEIm/jafTgU4rUUMSFPaMxy0PQD7T1w==
X-Received: by 2002:a05:6000:18ac:b0:391:2d61:4561 with SMTP id ffacd0b85a97d-399739b9cd3mr1758535f8f.6.1742381604692;
        Wed, 19 Mar 2025 03:53:24 -0700 (PDT)
Message-ID: <11da3dfc-9370-469f-9616-6ed1fc883425@suse.com>
Date: Wed, 19 Mar 2025 11:53:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
From: Jan Beulich <jbeulich@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
 <27ebf169-ab63-4def-a98b-751ae1758293@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: <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 11:46, Jan Beulich wrote:
> On 19.03.2025 11:32, Jan Beulich wrote:
>> On 18.03.2025 18:35, Roger Pau Monne wrote:
>>> Relocations are now applied after having moved the trampoline,
>>
>> That's two entirely different sets of relocations, isn't it? What we generate
>> here is what is to be encoded in the PE binary's .reloc section, for the PE
>> loader to process. And for us to then process again once we move Xen back to
>> its linked position (by virtue of leaving physical mode). Therefore what
>> matters here is whether these relocations are still carried out while on the
>> page tables to boot loader created, or when already on page tables we control.
>> In the former case any relocation to a non-writable section would be liable
>> to fault when applied.
> 
> And yes - both calls to efi_arch_relocate_image() are ahead of switching page
> tables. The first call is benign - no writes occur there. The second call
> would cause #PF though for any relocs applied to .text or .rodata or .init.text
> or whatever else is non-writable.

Ah, no - .rodata is unaffected, due to it being writable as a result of also
containing all .data.ro_after_init contributions.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:18:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:18:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920274.1324486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turR0-00076M-HW; Wed, 19 Mar 2025 11:18:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920274.1324486; Wed, 19 Mar 2025 11:18: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 1turR0-00076F-Ej; Wed, 19 Mar 2025 11:18:06 +0000
Received: by outflank-mailman (input) for mailman id 920274;
 Wed, 19 Mar 2025 11:18: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1turQy-000769-Ri
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:18:04 +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 d2d87bd5-04b3-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 12:18:03 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so29253595e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 04:18: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-43d4453227dsm15598075e9.40.2025.03.19.04.18.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 04:18: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: d2d87bd5-04b3-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742383083; x=1742987883; 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=nJPOZclbjSgxgc7yTSWYoEITrHjsgTLSTZISf6b28RQ=;
        b=JxKf1pClZEnyhP4tH1/CBYxadMJXHf0VvSw1QVVGwupDWuTeopjdJ1xRK6UEE1m35Y
         4vtObLS1ir+Qe8Hupfn0OOpCJhtfeCm61H5JPKlVC+0886G6UT9WX9NeJ6RRVgP8QPFp
         WcV9YA0rtrZRqEXaPQqAMf4CgUC1nIn6oUHbrb7iEoGxrFbWvAZ3dhxmeFu83Vhn48E/
         GGIlcYIewfOrE/BFzxswbHwGKvuXDwjSjAyg/UD9a4VppuNMdq2SpddbnQpQ7J92C+zj
         LRcHmeDZQ8JwFg77ULUxvR5IYTdBlZCIcCN6OAka2+WHIwII+Yx6GpvjgEbV9LkkFK4b
         JVmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742383083; x=1742987883;
        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=nJPOZclbjSgxgc7yTSWYoEITrHjsgTLSTZISf6b28RQ=;
        b=ksnf3fru/NGPkQNfQs6Nfrvv/79InRsQblI3iyjjR7DpbLmH16iBue3Y7y+kYCpsDB
         iKZGKkFQlQ0QayekcnE9gXfjRkorzQGowE0S78xjjgE3qsR7U1odx2FRETSwgZt+mJXy
         608OEPkGuiHg6c8RHzIXW/5kjp7GRWspo577A8/4H7slM2TuTW0mE0KAZ5TJxRgO1Nai
         5RmFdWyRsq8o2CBgPGiescgdHmtxkBXf6Pz8a5maa7xhM35lJLo2V8q5hB/P95BnVmwF
         8FD9EaE35QqRmoK4+PcNOyOfbggwLO2vB/k7UsyJ5LxS/ZVsmhhhuGXVuudsWMuX8NP5
         GsEQ==
X-Gm-Message-State: AOJu0Yz1ByBETwDm0ZVyh7MY8CioNmcKDddNbWcp0fS785yWdBFMonzI
	XFj7VfaPjRqA0rzTd85FmPLiqR6zrC4H430VbWj2fKw5jI32Iocxx8Va2MQTHebdQ+7PP/87XyQ
	=
X-Gm-Gg: ASbGncuRbZT2Jbqd1NCCZHV5IDaw2dexLibjHqO5GXoBtL9JH//2OreAFz8G+iwG9fB
	TrKqix8r+aio86VtGiMBDQUJ4J4jRflgQTnm7o+ZI/xbppS0ut4JNuDEjrU1KAPCroyTikToYax
	fGnD0iKxDjGj0CRcUeHgU4yr+bkLoadNhu5yJy0RbIS3P8v/THRCB3s8Fxt9xAO0DW+SaHKB4HK
	5GGIVX5PHIVFb2xEp8fVdQn6JgcEJXbTeaa9XJsFE6osFYW5mGM3itCXAuNdoc87yZ2NgKtEDf0
	oPMkBnONWLnnv7kqWHk36luNY8yEoFULFACELlP8/CVLQa2xvsXSwKdLCTfF0utY26ZuKl40SUG
	ubhaSPXjpA3xIMak/taovaKM13vjeyA==
X-Google-Smtp-Source: AGHT+IHosA9DLXwEIyHGDtuTd2Ak31mqs67yWFvlumPS8cdMoZwYc6pB1Y1jXZHmNmD3motywj9NRw==
X-Received: by 2002:a05:600c:1911:b0:43c:fd2b:823a with SMTP id 5b1f17b1804b1-43d438103f4mr14330845e9.24.1742383082612;
        Wed, 19 Mar 2025 04:18:02 -0700 (PDT)
Message-ID: <730d8143-8cda-49da-a48a-3b82c2b77c9d@suse.com>
Date: Wed, 19 Mar 2025 12:18:01 +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>,
 Jason Andryuk <jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/PVH: account for module command line length
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

As per observation in practice, initrd->cmdline_pa is not normally zero.
Hence so far we always appended at least one byte. That alone may
already render insufficient the "allocation" made by find_memory().
Things would be worse when there's actually a (perhaps long) command
line.

Skip setup when the command line is empty. Amend the "allocation" size
by padding and actual size of module command line.

Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -712,7 +712,15 @@ static int __init pvh_load_kernel(
      * simplify it.
      */
     last_addr = find_memory(d, &elf, sizeof(start_info) +
-                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
+                            (initrd ? ROUNDUP(ROUNDUP(initrd_len,
+                                                      elf_64bit(&elf) ? 8 : 4) +
+                                              (initrd->cmdline_pa &&
+                                               strlen(__va(initrd->
+                                                           cmdline_pa))
+                                               ? strlen(__va(initrd->
+                                                             cmdline_pa)) + 1
+                                               : 0),
+                                              PAGE_SIZE) +
                                       sizeof(mod)
                                     : 0) +
                             (cmdline ? ROUNDUP(strlen(cmdline) + 1,
@@ -740,16 +748,19 @@ static int __init pvh_load_kernel(
         if ( initrd->cmdline_pa )
         {
             char *str = __va(initrd->cmdline_pa);
-            size_t len = strlen(str) + 1;
+            size_t len = strlen(str);
 
-            rc = hvm_copy_to_guest_phys(last_addr, str, len, v);
-            if ( rc )
+            if ( len++ )
             {
-                printk("Unable to copy module command line\n");
-                return rc;
+                rc = hvm_copy_to_guest_phys(last_addr, str, len, v);
+                if ( rc )
+                {
+                    printk("Unable to copy module command line\n");
+                    return rc;
+                }
+                mod.cmdline_paddr = last_addr;
+                last_addr += len;
             }
-            mod.cmdline_paddr = last_addr;
-            last_addr += len;
         }
         last_addr = ROUNDUP(last_addr, PAGE_SIZE);
     }


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:19:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:19:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920286.1324496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turSU-0007c4-Sd; Wed, 19 Mar 2025 11:19:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920286.1324496; Wed, 19 Mar 2025 11:19: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 1turSU-0007bx-OK; Wed, 19 Mar 2025 11:19:38 +0000
Received: by outflank-mailman (input) for mailman id 920286;
 Wed, 19 Mar 2025 11:19: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=HVP4=WG=bounce.vates.tech=bounce-md_30504962.67daa846.v1-c829fb28c761432fa62736717d7fa88d@srs-se1.protection.inumbo.net>)
 id 1turST-0007br-Vq
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:19:38 +0000
Received: from mail177-1.suw61.mandrillapp.com
 (mail177-1.suw61.mandrillapp.com [198.2.177.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 098a4657-04b4-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 12:19:35 +0100 (CET)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-1.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4ZHmSk2rldzBsV1sl
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 11:19:34 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 c829fb28c761432fa62736717d7fa88d; Wed, 19 Mar 2025 11:19: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: 098a4657-04b4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742383174; x=1742653174;
	bh=QZlgajSwl2RyvJxOJcrVQvdG5kLVYpqv9rSSpBokbkc=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=j4n/Fp+awWbp8DNH4qJqAUBHUPopke+68uM+FyFHaJ+Ujcoiplsa0ya8EbotfbdlT
	 nPN2hDculpZQuPuL6Z+g4KpIQbrE2m9cEPC87YC2BhZ7prqjB2G2CSydogfal7hryw
	 vj3CSzXvAxmankdSsofax/zbvcQDG3whWU1kj8ob/NfxhuTcA01rxKLAK6e34ryGAi
	 V90Yz8aaov2Lpr5eaQg1yYQHE2F6Z7nvvA2RlrzFnJTjHMCXVKh0s07czZvAnLGRzY
	 tgvmOl/mIiAnfnt+addiiGicXYBZ4N+kZ401c+fw3bL5QSEk3LTAqvHhbGFeQdSo1B
	 OPM5+KrjWrnTw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742383174; x=1742643674; i=anthony.perard@vates.tech;
	bh=QZlgajSwl2RyvJxOJcrVQvdG5kLVYpqv9rSSpBokbkc=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=s10mKYcdhoeeDjDSskJLQp7MFjVrWEVpvMsdM9T7b9P9f4/Sx2KNAQqnjOsXZV+o6
	 emEnQF5fMy6ms031fA9kvSdr1S+0fiRlOp9eUgYheu7WoJ7BxuDhK+gUztL34Xr+9L
	 oCzxIVAyLy1XG2CQrRNxdVQEmfcHhCpAGKW9v2jeuQhYdOpUBgWoO5eky6+Q0RX6Tn
	 /I6oS0vMnvv3tNSMGShsoppKSvIeITxJnAQtX0YNnSUoArK6H427FQHeeQRMeHwURd
	 G7pKSgaNn5w1f0HyUsfY7NOQjfZVpx9rt3aqW2qQliEkJdQYyEbtrfhVeEUCW3cJ6E
	 Lr0RmZZUsDj8Q==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=201/2]=20docs/xen-headers:=20use=20alphabetical=20sorting=20for=20@incontents?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742383171925
To: "=?utf-8?Q?Marek=20Marczykowski-G=C3=B3recki?=" <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, "=?utf-8?Q?Fr=C3=A9d=C3=A9ric=20Pierret=20(fepitre)?=" <frederic.pierret@qubes-os.org>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "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>
Message-Id: <Z9qoQ4wwfWZ7ID2T@l14>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com> <09f34b27d576d1067cc38eaa202aebebb0478cff.1742317309.git-series.marmarek@invisiblethingslab.com>
In-Reply-To: <09f34b27d576d1067cc38eaa202aebebb0478cff.1742317309.git-series.marmarek@invisiblethingslab.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.c829fb28c761432fa62736717d7fa88d?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250319:md
Date: Wed, 19 Mar 2025 11:19:34 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 18, 2025 at 06:01:56PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> From: Fr=C3=A9d=C3=A9ric Pierret (fepitre) <frederic.pierret@qubes-os.org=
>
> 
> It makes the build reproducible with fileordering flags
> 
> Signed-off-by: Fr=C3=A9d=C3=A9ric Pierret (fepitre) <frederic.pierret@qub=
es-os.org>
> ---
>  docs/xen-headers | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/docs/xen-headers b/docs/xen-headers
> index 8c434d77e20e..98ffe814500b 100755
> --- a/docs/xen-headers
> +++ b/docs/xen-headers
> @@ -331,7 +331,7 @@ sub output_index () {
>  <h2>Starting points</h2>
>  <ul>
>  END
> -    foreach my $ic (sort { $a->{Seq} <=3D> $b->{Seq} or $a->{Title} cmp =
$b->{Title} } @incontents) {
> +    foreach my $ic (sort { $a->{Href} cmp $b->{Href} } @incontents) {

Why is `Seq` been ignored? As I understand, the index is supposed to use
it as first ordering key.

Comment in that same file:
    #  extra syntax:
    #   `incontents <seq> <shortname> <anchor text html>...
    #                              make a table of contents entry; they
    #                              will be sorted by increasing seq, and
    #                              shortname will be used as the anchor tar=
get

Also, we already have a fix for reproducible build:
    e18dadc5b709 ("docs: use predictable ordering in generated documentatio=
n")

Would it be enough to replace `Title` by `Href` for the second sorting
key instead?

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:21:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920298.1324506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turUj-0001jY-6e; Wed, 19 Mar 2025 11:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920298.1324506; Wed, 19 Mar 2025 11: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 1turUj-0001jR-40; Wed, 19 Mar 2025 11:21:57 +0000
Received: by outflank-mailman (input) for mailman id 920298;
 Wed, 19 Mar 2025 11: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1turUi-0001jE-6X
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:21:56 +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 5cedb4fa-04b4-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 12:21:55 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so5450592f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 04:21: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-395cb7ea16csm20521287f8f.82.2025.03.19.04.21.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 04:21: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: 5cedb4fa-04b4-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742383314; x=1742988114; 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=sGPrnd2vlmGT8n0QXBe/mY/Eqv5A0o5rjVNbOyp76hI=;
        b=C1NP3LpSjuiJIzMFkymRjzWSijthFMkMtLbm8DvfD864mAuX6cfHpCCCdQ2LEVVvzL
         TyEXkHyUFLcBc5z+L+gTGFq/43UKHrXLWepkMoBFleYRTDJxDcdSWMH6Tzc9ZhnyRr4X
         a5DpfGJ7tsYyTO1BbFw2NHngTgMXJ5ZJmJLqLYbvSvyNaamVQEXlDiKGcXbrRouepqOX
         F+tLhT/4Mzdw5Vf/YJ/xCypU9U4yQgzg/A1u+npP9TXEGvEt0cFYZi6bE5cnHyo3vjYM
         l6T9y44Y+5VFjcBoYkV4UoVoNJV0yNRUXF+S1YjQ8M36SVyrRYh1JuGJan+tgm0WIV7D
         b+nQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742383314; x=1742988114;
        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=sGPrnd2vlmGT8n0QXBe/mY/Eqv5A0o5rjVNbOyp76hI=;
        b=P3pj67Vknaj3n8LyJ9l1KlxWhnjJFk7SaQx1YCSduujiWsFZsArRzF5KfOrl38qJS/
         wUFOIKXpxCp3IMBl2pM72PaaDShHEFjuB90D9pBqBG0LMMEvKPAoCTAR7eRPO0iEJWSh
         V9TjeElAN7TFDe8EiMH2Fyie99NMlyjqGs3XT5Q/kWpEACS7KzuIA+7+etGJta8bE///
         gd8S5JpUQIVCFtXlxPgaFeaVBl/lvlztaxQU7jhou9FBDoPLTwnLHDEk3W/yMpX5RYhC
         pzIDpdofs5iFUKbtHLjXh1TF5J0tSKnM4c6bM2hb9FCNgab1NyHymVAKQTWG6fHybHdV
         BSkg==
X-Gm-Message-State: AOJu0YyKg3KNj+gqzFUbGpzmRuiSXj8dSAxiVk7dAUy9v0d5jUo6zw5Q
	XI252swaXPLauQ2H5Af0Ejhp42Hu50gqHZa95FqmYWphHI6/GOmPFvfHMKM1YxC+/qg9NYeoykk
	=
X-Gm-Gg: ASbGncsxBiJjyMsEtuEYigiGQvk+2gYc6yY4Y1iGcwMCNxAloefMbKTi/9W858PThhz
	3xR0mH9mONzdMo++HM/2CPoY4aHViyeGXETbgrDhttpkS3i390FUBgIacbye9ZOiatigh0YwQZE
	mEOUSWTXYvkcFRwagyepbto92w+fsVXCiHeoUWD+n3aXnt+VA5hErS9/vAvJaTpdbal3jl+DHqA
	dxU9tkef6uVSIuCj39Vq9EravOghx5Iu9fMrY2GtsGOEUtrjXfgTyVBgWoOBH5s3NESq/tR4hBf
	LJfZ5BcJ2GmB6uGMYSMSubwLDkH5ktlxj9k1plYcJy8TlizH206O1zX21l3qtw2yziFLNSoHh3R
	Bgojithindq7q9B3OQOHSFgGPUmFShxSdRhHO95US
X-Google-Smtp-Source: AGHT+IFPIeRQN5d9q9BWej1prbAiPkyqlR+auSP68+OL2lYHPyz9Z/QiYn2yJDqIqGlFlFCg1E/u3g==
X-Received: by 2002:a05:6000:1848:b0:38f:4acd:975c with SMTP id ffacd0b85a97d-399739cab88mr1823771f8f.27.1742383314426;
        Wed, 19 Mar 2025 04:21:54 -0700 (PDT)
Message-ID: <f346b510-dbd1-431a-ad35-3f1b8fe76c58@suse.com>
Date: Wed, 19 Mar 2025 12:21:53 +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>,
 Daniel Smith <dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/setup: correct off-by-1 in module mapping
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

If a module's length is an exact multiple of PAGE_SIZE, the 2nd argument
passed to set_pdx_range() would be one larger than intended. Use
PFN_{UP,DOWN}() there instead.

Fixes: cd7cc5320bb2 ("x86/boot: add start and size fields to struct boot_module")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1730,7 +1730,7 @@ void asmlinkage __init noreturn __start_
     {
         unsigned long s = bi->mods[i].start, l = bi->mods[i].size;
 
-        set_pdx_range(paddr_to_pfn(s), paddr_to_pfn(s + l) + 1);
+        set_pdx_range(PFN_DOWN(s), PFN_UP(s + l));
         map_pages_to_xen((unsigned long)maddr_to_virt(s), maddr_to_mfn(s),
                          PFN_UP(l), PAGE_HYPERVISOR);
     }


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:24:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:24:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920308.1324517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turWs-0002IH-JN; Wed, 19 Mar 2025 11:24:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920308.1324517; Wed, 19 Mar 2025 11:24: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 1turWs-0002IA-F3; Wed, 19 Mar 2025 11:24:10 +0000
Received: by outflank-mailman (input) for mailman id 920308;
 Wed, 19 Mar 2025 11: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1turWr-0002I4-96
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:24:09 +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 ac6c4a86-04b4-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 12:24:08 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39143200ddaso4245395f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 04: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-43d440ed4cbsm15956525e9.34.2025.03.19.04.24.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 04: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: ac6c4a86-04b4-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742383448; x=1742988248; 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=8lJcoUHWqnM3NSVKjJ6tVIHs9P0zRrAN19d3SqBB1EE=;
        b=XE9sUgT0uyxLZtsDqU6sL9fAGNiu2rSe+ddqP47Lk8jemiz4/HPRu19F9+ZqIBhzwd
         NBAkzX0pOROBia6gPdyL6wQ01Kd+JqTxvxz69JVZ6BUhS17vIyQYrMfYCvrE/3F3hNgH
         MxMJ2AVJkWFGgQ/BGmAT1FVtWByo1rotF9GIsP4+8uLGJ+IAUTrWW6sbQyTEgFbkXbjv
         Mi6/4S+YaxebZdhW3CKpPRQAR+p5jtledflpoG1crD+ZVwXfzV1Tu3B79dTPj88Tku4I
         QZ1TENGmFl3ZlRRrAUUV9eUnamvZ4gwESBTq5c8Jp+J4KX/mICLsqMaUZmljG9oRrWsa
         xv/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742383448; x=1742988248;
        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=8lJcoUHWqnM3NSVKjJ6tVIHs9P0zRrAN19d3SqBB1EE=;
        b=PuWocpfOdqZx7I7JyHNZ54Cg0aTZtG9i6fk1jBQvkWcsZxzThmiJmaymlvbJuh+8ks
         +nMutHHvNTfwaqxfoCBpJI7ILhroU+HeEDj9bVKkSTuQjjOkTkt9MvbpbI62CHieGW7/
         RWr/KllrffNf0Hn+03v4ATTYrcPQNBhqP++CdS3tfMlh1gDULIN2pQ/0yfZujbcDLETl
         31R5ATt3332m7UB95CrDVHN6Pk2rsm3kOrHYIHaUXsSxVdkJ7r7fgGKeiP7ZKjiq3ppM
         E9tu50+2temUIYcrHvUGsg3+jRXtmDyPcWkTYVvNCeigDnPNqjtPqpYHWRfXdCGQUtNf
         NUKQ==
X-Gm-Message-State: AOJu0YzgZXMt31RvKeWMk1fRqsQRuamBhwHwtMmBPGPkriZYzG13JzGF
	CZqIPNHdl739H96G90W68xaAwCWJh+/Hn5vrhUbIhoBpR4glzRf5swyl4IoNOWKLQbPs/96nZrU
	=
X-Gm-Gg: ASbGncuhBbN389isc2g21AdGdXbTN2FyGo0WrwHHNvcvJdntJ2xCA3b/YbN2uAShb6S
	03RLbcKjVlJv4e+pOiA72P+Uhz+qNTGRgILfgSBtX4mVFr1+C+q7L1szGSXn9UaA7q+fq5jqR1M
	FPIJEqgpW7QtT+wb487o3MQkTizfJ6mG9SfAwKksp9zeOgvoApcDbrMf7Fr5bmRXL8LjNmn5L+n
	/5RTMI7JOrQwCDNKEEmcaph9SSIsKF7ZmHny6YVnGvocozccuaJoESnGJO5JkEAqxy+vKfFjFUT
	aDZEVmXsG62NcUgqW9U//mM6XtvtihiOQI0w+zuJlnt9Pan6+s3XVJrAhHknr8Sqi8XsUy8p5wP
	rJQLSFst4YoYWI4eqo6EkQ6M/dps/UA==
X-Google-Smtp-Source: AGHT+IHSOyG6pieQTICne3Nq9cq4lLzDGUFvGMppWIdEGBoXRo7PtXGHkjKGdprU86ytC0bv+/QC3w==
X-Received: by 2002:a05:6000:1a87:b0:390:fbba:e65e with SMTP id ffacd0b85a97d-399739db618mr1899265f8f.32.1742383447690;
        Wed, 19 Mar 2025 04:24:07 -0700 (PDT)
Message-ID: <190ea0fe-887b-44dc-bf05-db154f26a03d@suse.com>
Date: Wed, 19 Mar 2025 12:24:06 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/cpu: Validate CPUID leaf 0x2 EDX output
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

From: Ahmed S. Darwish <darwi@linutronix.de>

CPUID leaf 0x2 emits one-byte descriptors in its four output registers
EAX, EBX, ECX, and EDX.  For these descriptors to be valid, the most
significant bit (MSB) of each register must be clear.

Leaf 0x2 parsing at intel.c only validated the MSBs of EAX, EBX, and
ECX, but left EDX unchecked.

Validate EDX's most-significant bit as well.

Fixes: 1aa6feb63bfd ("Port CPU setup code from Linux 2.6")
Signed-off-by: Ahmed S. Darwish <darwi@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20250304085152.51092-3-darwi@linutronix.de

Use ARRAY_SIZE() though.

Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1881148215c6
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I wasn't really convinced that we strictly need f6bdaab79ee4 ("x86/cpu:
Properly parse CPUID leaf 0x2 TLB descriptor 0x63") as well. Thoughts?

--- a/xen/arch/x86/cpu/intel_cacheinfo.c
+++ b/xen/arch/x86/cpu/intel_cacheinfo.c
@@ -186,7 +186,7 @@ void init_intel_cacheinfo(struct cpuinfo
 			cpuid(2, &regs[0], &regs[1], &regs[2], &regs[3]);
 
 			/* If bit 31 is set, this is an unknown format */
-			for ( j = 0 ; j < 3 ; j++ ) {
+			for ( j = 0; j < ARRAY_SIZE(regs); j++ ) {
 				if ( regs[j] >> 31 )
 					regs[j] = 0;
 			}


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:35:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:35:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920321.1324526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turhT-000518-Gr; Wed, 19 Mar 2025 11:35:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920321.1324526; Wed, 19 Mar 2025 11:35: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 1turhT-000511-Di; Wed, 19 Mar 2025 11:35:07 +0000
Received: by outflank-mailman (input) for mailman id 920321;
 Wed, 19 Mar 2025 11:35: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1turhR-00050v-Fy
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:35:05 +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 32bd2f16-04b6-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 12:35:03 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so5531310f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 04:35: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
 ffacd0b85a97d-395cb318a75sm20920672f8f.76.2025.03.19.04.35.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 04:35: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: 32bd2f16-04b6-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742384102; x=1742988902; 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=3e80ZX37VPH423lbWmAyR7GmOamaBIBXY0/wwar3b8A=;
        b=NFXecSoOIXdwNqiGA6oAhm9Hb0nLgC/dyvfM2jfIC6k6gorQcjb8kX6EPfDLPytBCg
         TOJmLPocZeYkkKWofC0vboK6i1TZ9JIccNgDTqzUUeNMbEZyQ80/v/hh/Ygspvnz4QKS
         yjbffp0YbE3akKf5YRcCb/YkkNbnXD+q+IkHeOmSI7tSBoU9EedVZePvWrw02Q+6LtV4
         jcHIi/e0IOmC2d60qAbqcOGL9/Ag6UNM6qWFkY14shCN7DGLpYaZz7qHSgySHUS7p671
         iv6LkAKDYFcKxUV2hyMVboyHszEWCvNpf4gwIP6C/i3ZSCcfSg5vsdwxJgIGOy1MJ0+K
         K7wA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742384102; x=1742988902;
        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=3e80ZX37VPH423lbWmAyR7GmOamaBIBXY0/wwar3b8A=;
        b=BhpvkiksDmEuEhEUO1QlbSg0SrhMBq3lbRnvS8uTB42mDoQMz+s9SDu6usxc+O7REW
         DBBKL8+FFSZn7qopgvPfrMjbZ8qPKf69b7QXpUA3320v8f/tAK1HrVaPYdDCG12mRoL2
         EB++U9DlaChMT+aS0ajCVvpZW6ADFsln2wB9ZY3dpp+XAStK4xKyQOApM8pZ93oYwKDh
         GNyfreoAx/TvIst8jDYkgaDNM/KqqBiZlY/a+Kg9bmIi3UlMT/DtwUVJB1/V3AX8DlaO
         JYF5cxC3gKqq8oCCUZqV2YURyV1NR82UG3r5uSdy/s4qnWzRkKcwhZRI907NsAmPFNQC
         aLFA==
X-Forwarded-Encrypted: i=1; AJvYcCWXALpfPrzmWozN6Jdn/SvQHCc7N5wh+nR281EH2SaS46ivQgVH3KkQOKg+wkAQK8S2IhM1NTYIe+0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzvm7o3rKr53AmkBXGxCvAgOhwNNCXO7mDmxnU70iNkaSZPs+2N
	eY4e51zOxjF514ER1RWJgzReCw35qtAogPuhvbqBajj0Pqj/mf8VyuEwSr3ESQ==
X-Gm-Gg: ASbGncsuGbLEPDD657stFvxP+n81DUj5OfUhvIT27Rq5daAHCfltHLxNFpPr3pbvLUN
	m6tMU8/DxjOXsIZ17Y9RFYX0y/F/LsYhm9bqFOEQFqvTt+BBeTxnK5DumLkX3DLtiWJ0Flr3oN3
	UQCdlstdcjtjGDssdTgi1NkDCAILzW/af74Mb6dxnVJkN5ysFmhfJ+cfEiUWTljUF2HtrX9DCN5
	OXXeG+1/DbRFsQ0IVXTLYzn/MvU/oShzJng8s2E6OMxONBJEdCViMajQPiOhgmGoSyMzkRGqDA6
	wknyyqcqkmK24SEatei3arcKFmRcSmHbhY0o6in5wSWGM/CRoKl7uDqk9i0C7RPC773novh/THQ
	lehXXWTrSyOdPVHzdvYrXru06DbBGV8DFXWrIw732
X-Google-Smtp-Source: AGHT+IHsXkcA0HGIVyWr8643o14xfnNzBD6JTSsYAner3ABpfjGb+H4zXjWZgXOnoRzEAbggtSQUIg==
X-Received: by 2002:a05:6000:1a87:b0:391:48d4:bd02 with SMTP id ffacd0b85a97d-399739d7c73mr1788074f8f.29.1742384102476;
        Wed, 19 Mar 2025 04:35:02 -0700 (PDT)
Message-ID: <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
Date: Wed, 19 Mar 2025 12:35:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@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: <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 14:05, Oleksii Kurochko wrote:
> 
> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>> From: Penny Zheng<Penny.Zheng@arm.com>
>>
>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>> mapping table at most takes only one 4KB page, which is enough to
>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>> translation and EL1 stage 2 translation.
>>
>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>> MMU systems, x86 and RISC-V.
>>
>> Wrap the code inside 'construct_domU' that deal with p2m paging
>> allocation in a new function 'domain_p2m_set_allocation', protected
>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>> the former function with #ifdefs and improve readability
>>
>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>> with !ARCH_PAGING_MEMPOOL.
>>
>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>> field is not required.
>>
>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>> ---
>> v3 changes:
>>   - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>> v2 changes:
>>   - make Kconfig HAS_PAGING_MEMPOOL common
>>   - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>   - do not define p2m_teardown{_allocation} in this patch
>>   - change commit message
>> ---
>>   xen/arch/arm/Kconfig              |  1 +
>>   xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>   xen/arch/arm/include/asm/domain.h |  2 +
>>   xen/arch/riscv/Kconfig            |  1 +
>>   xen/arch/x86/Kconfig              |  1 +
>>   xen/common/Kconfig                |  3 ++
>>   xen/include/xen/domain.h          | 17 +++++++
>>   7 files changed, 73 insertions(+), 26 deletions(-)
> 
> For RISC-V:
>   Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Mind me asking then why RISC-V needs this at this point? The stubs surely
were added to address some build issue, not because they are actively
meaningful?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:37:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920335.1324535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turjS-0005b5-UN; Wed, 19 Mar 2025 11:37:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920335.1324535; Wed, 19 Mar 2025 11:37: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 1turjS-0005ay-Rm; Wed, 19 Mar 2025 11:37:10 +0000
Received: by outflank-mailman (input) for mailman id 920335;
 Wed, 19 Mar 2025 11:37: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=WMzd=WG=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1turjQ-0005as-V2
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:37:09 +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 7c6ea45d-04b6-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 12:37:07 +0100 (CET)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfout.stl.internal (Postfix) with ESMTP id F287E1140125;
 Wed, 19 Mar 2025 07:37:05 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-10.internal (MEProxy); Wed, 19 Mar 2025 07:37:06 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 19 Mar 2025 07:37:03 -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: 7c6ea45d-04b6-11f0-9ea0-5ba50f476ded
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=1742384225;
	 x=1742470625; bh=4XjR/awIjrCmPOUbTJnzCC2e1Oxrp1Uw7mt2U4dPdsM=; b=
	nQG7Gy6ggM6hQ75KMYWm2rWvvE7uNXQBT9aP+gghWwHIBJfkJaa18Y+MhPJN4ObO
	SoSo7Rrp70yf4d8bCboMApel+ZDx07DgB0kvlJxXkF49uqolG4rh0XFsi6YLrfHc
	R95axIeemVyh6dPGmQNnuoxC8ZGRDHsSzTqP3SJa4knzXmtsAWApxXDlvIpai68z
	TZpBM4/kE8+fSccB9xeVC+pfu20RkHov40Xb5+FGgiL7bL0hTPfjzVbKFj6F7JTY
	tuQ7RSOoRaOz0Z9KPtodKzR+3EDOUoCTlZXK/IqXKTBkXcGMHbyTgaJ0vPy5hh+J
	JtQ62qclvd4jYumMQTEOMg==
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=fm1; t=
	1742384225; x=1742470625; bh=4XjR/awIjrCmPOUbTJnzCC2e1Oxrp1Uw7mt
	2U4dPdsM=; b=JED9zCRAmVhzNJm9c1HRq9eKPBqmr/m5yDfXq16SC2dlKCcMKtD
	QZWKge9F3+lO03MlSXKDDwE8QRE04fTOt8Jtbwj82WRAv5KabLq4vNERX1Je+SWV
	BG4lo4jxAqOcL4ZLLw1U+VGtHxwOEFVKF2B5bOd+RuPFMVhjQViVvnB0vVv3pXpy
	5ZlBK7/t9RwKXlvdDWBDdSCDP4akT90SkkUPFaZPcMQiwDdLQx43IEd8mVkqBIBj
	SayaEiY7A1MUAAxVU6PuuXEqihbqGpve6eRq3V9SfdJG1TFu83rUcjj43M8kAU0o
	+WnN84hrVax9KxVTtfdV5yOBForXrp7XT5w==
X-ME-Sender: <xms:YazaZw2cVWeEvUbzt_baRsechg-iWYag0EIAs89_exNtb5gC6CRh9g>
    <xme:YazaZ7E7mVNHkk3QTScxUIe_9LWXVjymhnJyFiPUZ7R8YSZzQEH13f0qMo6Tzn4ue
    gGIAAQ7a5BEJQ>
X-ME-Received: <xmr:YazaZ47Ia8D5nb5B7N66W8VMPy8i8dWlmMigKnkhPrRbmWMIRnHZSBvigk56DgKGtI_OJBNHnbhcjNoHrY3qoTTC3VQFmDnBzA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeehvdefucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghn
    thhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthhopeigvghnqd
    guvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphhtthhopehf
    rhgvuggvrhhitgdrphhivghrrhgvthesqhhusggvshdqohhsrdhorhhgpdhrtghpthhtoh
    eprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdprhgtphhtthhopehm
    ihgthhgrlhdrohhriigvlhesrghmugdrtghomhdprhgtphhtthhopehjsggvuhhlihgthh
    esshhushgvrdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghp
    thhtoheprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsth
    grsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:YazaZ51k3w_vUVWBStK2jdszW34UziBJzRoE8tNadax3ULWWjI3xMA>
    <xmx:YazaZzGpgpm0NBPCgF4xk2TqFHNH6QvrMVtcMBrw0dyLYkptD2Hbbw>
    <xmx:YazaZy-strjRcoZ3_h7y7B1gir9r7i25Z9cnpfc56-ivKHHSG3pjng>
    <xmx:YazaZ4kba7S6u879lXdVp8nTmOMjuex4s8H2K35mTDObCJSzH1RYbA>
    <xmx:YazaZ6Dmulp0uAnFA4CjmlT_93X8GlB3MwKsugNZxlQZZm3XQgAOHp09>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 19 Mar 2025 12:36:59 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>
Subject: Re: [PATCH v1 1/2] docs/xen-headers: use alphabetical sorting for
 @incontents
Message-ID: <Z9qsXYnPNPY_Xelo@mail-itl>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <09f34b27d576d1067cc38eaa202aebebb0478cff.1742317309.git-series.marmarek@invisiblethingslab.com>
 <Z9qoQ4wwfWZ7ID2T@l14>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="QcjF9klx31Auu4sN"
Content-Disposition: inline
In-Reply-To: <Z9qoQ4wwfWZ7ID2T@l14>


--QcjF9klx31Auu4sN
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 19 Mar 2025 12:36:59 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>
Subject: Re: [PATCH v1 1/2] docs/xen-headers: use alphabetical sorting for
 @incontents

On Wed, Mar 19, 2025 at 11:19:33AM +0000, Anthony PERARD wrote:
> On Tue, Mar 18, 2025 at 06:01:56PM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > From: Fr=C3=A9d=C3=A9ric Pierret (fepitre) <frederic.pierret@qubes-os.o=
rg>
> >
> > It makes the build reproducible with fileordering flags
> >
> > Signed-off-by: Fr=C3=A9d=C3=A9ric Pierret (fepitre) <frederic.pierret@q=
ubes-os.org>
> > ---
> >  docs/xen-headers | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/docs/xen-headers b/docs/xen-headers
> > index 8c434d77e20e..98ffe814500b 100755
> > --- a/docs/xen-headers
> > +++ b/docs/xen-headers
> > @@ -331,7 +331,7 @@ sub output_index () {
> >  <h2>Starting points</h2>
> >  <ul>
> >  END
> > -    foreach my $ic (sort { $a->{Seq} <=3D> $b->{Seq} or $a->{Title} cm=
p $b->{Title} } @incontents) {
> > +    foreach my $ic (sort { $a->{Href} cmp $b->{Href} } @incontents) {
>=20
> Why is `Seq` been ignored? As I understand, the index is supposed to use
> it as first ordering key.
>=20
> Comment in that same file:
>     #  extra syntax:
>     #   `incontents <seq> <shortname> <anchor text html>...
>     #                              make a table of contents entry; they
>     #                              will be sorted by increasing seq, and
>     #                              shortname will be used as the anchor t=
arget
>=20
> Also, we already have a fix for reproducible build:
>     e18dadc5b709 ("docs: use predictable ordering in generated documentat=
ion")
>=20
> Would it be enough to replace `Title` by `Href` for the second sorting
> key instead?

Hmm, right. It looks like this may be not needed anymore, as long as
title is unique (it looks like it is right now).

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

--QcjF9klx31Auu4sN
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfarF0ACgkQ24/THMrX
1yw6UggAjDk07hF00s+dkNFEiysIIy8Ew8IUYmKB2loQWQ4qYE0s/N2mA0KCDRJY
Jvf9e5ywqtdOVdqiTtnFUtnBVAFjcjAEmQ0snQ0Ya2GZY97uM4lBGnb6lKCiusgr
34OtEkXKWpbw9Qqzr0YkC0VPtGglGMofAqWKGVkgE89AEr6fPUsfpm6P25U7OIem
VXMnCdOzNJrCwdGg6KyqjzyMkRt2MViDe+1siYC0gzUsuicb99w169dHpsDfQZH6
KfU5cb4eP3xWn6xo9HCsc+tvSjhgxNl40AOrVD3s5TRNTFd1BV5c0B6wrsnCNMpU
HW7JYDllVj7U8h1DyQ9eIKbid65GiQ==
=CCtw
-----END PGP SIGNATURE-----

--QcjF9klx31Auu4sN--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:49:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920348.1324546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turuo-0008T5-UJ; Wed, 19 Mar 2025 11:48:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920348.1324546; Wed, 19 Mar 2025 11:48: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 1turuo-0008Sy-RI; Wed, 19 Mar 2025 11:48:54 +0000
Received: by outflank-mailman (input) for mailman id 920348;
 Wed, 19 Mar 2025 11:48: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=sAjd=WG=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1turun-0008Sq-IF
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:48:53 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20617.outbound.protection.outlook.com
 [2a01:111:f403:2416::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f8e2619-04b8-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 12:48:51 +0100 (CET)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by IA1PR12MB6332.namprd12.prod.outlook.com (2603:10b6:208:3e2::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar
 2025 11:48:47 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8534.034; Wed, 19 Mar 2025
 11:48: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: 1f8e2619-04b8-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JZIinYoN3Q0UtdgBa1JRZHjNrIRI3j+8P4OUtrqp8afcN+nRi7VUJUe8qVHzJnSqMXtPnv9VS5+GjVD8bp9Grs+/7fJ3GRL6SO4xZS/h0zP0qvBV0DGRrs2Lf0/HJuIMLcZ9mTqkBgC4TwBvRHttUpa9rQUq+JyzQWOSicKMzB9cjWtBOA57eVqfJgJJ+v+OGYdr8CNZ7NL2LujDuBIKYkIUrgsBQ2VXqBVP4qvHhvlAMvrR+OfyQaMh3ugcSfOJ7/EtK+JSN+nsnDUEoe8vVXEcybOelZcOWyfKBBzQzNsFI/FWlzKL0efOlc+o6diOZ/W0vkw+lNsb7pogPPchCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UaUxsZV2Kqkz7OapRlotvfkUK3nXafZqZpX9PagiCrk=;
 b=E13RvvvfZMoSxQ0yrcpJ1PwBKuKLTjtc5bkV5pdZzRbgf1V6aXaIzfotGZiO/7D+5J1dQRYKF6wdW6CrDjmxaj+Y8xCzkSJKzCSn/LrnjcU8btjFrCHEL4vwxqWJpMym21mzRTs4ovMxRx1eFSkQP2Yp/+dB98SonBly5yAjukaGUnTj43Qwq5ZIWuA0xF12E1jLLU3TwIr8LqIFOCJ6Rdqaz7Ns84hweCdGXSLRWMC492SDDh7rGIBU9QPnZcc0bTBT4TFKrtPHjZxfTfwqOM5MDHQZ/dHkhBlExX6mQ1frQyUll1GVK6JLtUwYl/ibqHGbQVOJLNfhRp/myy+1Ug==
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=UaUxsZV2Kqkz7OapRlotvfkUK3nXafZqZpX9PagiCrk=;
 b=MYnmTrus27npYFvNJXu8hP5QUdYCDO74qS4IQ4+tRSO8EQEfWHi/EjsImhJzu6m+Bl+hTCgITcoM7lGgT4t3HJBdLR2C01aacpDy5K0uYxFkW23xF5ptdBOR6YFaag/AfBkJiNpexeLmhIUTKV9vgqbnh+G5SwsSKCS+n+NtyNI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <8bd1efae-cd39-4e6f-9194-80d7f6cd22e1@amd.com>
Date: Wed, 19 Mar 2025 11:48:37 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/arm32: Initialize MM specific registers in
 enable_mmu
Content-Language: en-GB
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250313182850.1527052-1-ayan.kumar.halder@amd.com>
 <20250313182850.1527052-2-ayan.kumar.halder@amd.com>
 <cd2526bd-9dfe-4c74-8083-0bdbadc42ec6@amd.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <cd2526bd-9dfe-4c74-8083-0bdbadc42ec6@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DO3P289CA0013.QATP289.PROD.OUTLOOK.COM
 (2603:1096:790:1f::16) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|IA1PR12MB6332:EE_
X-MS-Office365-Filtering-Correlation-Id: 8fbacf42-e4d5-4853-e74e-08dd66dc01e1
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?TTltbGhPSitHOG03amVGVlRYaDN3UEhBZkFpU25uNU9oYXVRVGJVM1RrcFJI?=
 =?utf-8?B?TWw0MDhXZkhkbFFtdWdVazJWWW1uR0FSRXRacUhhdi92RHhWTVJwV2VGd0l1?=
 =?utf-8?B?eWhHM2trS2RGQTF2eFpWYlNmNmdQSkNnWXprNjN3OWlSSldlNG1sWk5xek9m?=
 =?utf-8?B?a0U4K1BZS254TExYbmdCbzNZZ216OTd0cnEweG1QWWRtR3RGa0hEZEVVQUFQ?=
 =?utf-8?B?WmZjYXZ5dndDWm5ESzNHVjVNK3lKUXZ3SjlKNHJJM0ErY0F3VFBiVUVRUGU2?=
 =?utf-8?B?UmU0V3Z5ZzZlV05lQW9TNU1aclp2L3NvZHR1K1NWeXI4MXBlV1JsZ2o0RTdr?=
 =?utf-8?B?QXhpNGhOeDU5Z2libSs5YmRwOUhISEhQU091ZlI0bzlDSXJzcTIyeXZJWGxQ?=
 =?utf-8?B?amlmS0pZVmczVXNQR05mcmN5c2VLaEk0ZmdSWFZIYjBLSFg0bzFUWXRjOS8z?=
 =?utf-8?B?Syt3bGwrSEVFaGZMQzd3cjFadnUyUVpSZWZKMTVVQWpOeklrQUtPektJUmhX?=
 =?utf-8?B?OTd2eVI1TGl2djNsWDlFalJZSE1WWS96S0lhRlFBVUgraGJ0UHNJMWtHcGFP?=
 =?utf-8?B?Nk5Xa0pCTkloUnRUOEQzWEFpdXhER21NTEFUZjhxVmVEcjRwQlRVa2JDb004?=
 =?utf-8?B?QnBjTVpGekYxTWtkbWNQYUZnMUVjY2tHZU1ZcEFIdHdiaVB5RDdnd1B4eFgw?=
 =?utf-8?B?NS9JMDFTOTFQMk5pZU93L2JtK1dpV0tlbXFDLzNjMjRQdVpSV1FQNW5acU9Q?=
 =?utf-8?B?dldzVnNsY2lLZnZWbGp4UFVLR2R3aW5IdlUwc2gvSGZzZHp5cVdEQmdlck5T?=
 =?utf-8?B?UUtWcCtZWG5OendVNGdGcENSRlB3Ui9yc0piYVhBb1ZVbFk0OU4rOUJYMENI?=
 =?utf-8?B?L0ZidGorYW8rVjI1T01hWnRXKzRQUllOSGNYUXVRcktCY0FNNTNGTGQyRzN5?=
 =?utf-8?B?RkpCTmJtVlRpN0k1RFJQSnpuSGN5bDFzd0tBTUZkeWprUFNacVROTHNDNFpZ?=
 =?utf-8?B?TFdtRzFtR3h5c0hvQzc3aVk0emhmMWpWSE9lRENhd013bjMrQ1ZVKysrblIr?=
 =?utf-8?B?bjFUQy9sVTJ1M3Voa3BUNlc0TjRsN3RLV09OcWEraEV3ZDVWVnN0aDhYZDhX?=
 =?utf-8?B?WkdwcXRIaDZIT3hYdVN3eG1OclBHTk9ScVVsaUU0Rk5wR3hsWWlWbzJ6MzRY?=
 =?utf-8?B?Z3FaSzUwelNwTHgwTXZYUlFqR3F2Zm16c0ZYdUQ5OWVORDNWZWIrVGNMbEVY?=
 =?utf-8?B?dzBxaXFXc2RRWXdBTmNodWJUTmRIYUpvOWgzZTA0a3VSUFhlTkFTU1lDV3hT?=
 =?utf-8?B?TnZuU2YvamlKUHFBYWt0Qm9WaURNOWh2N0p3U3RZWjczNlFLTEhLYWFBWHJG?=
 =?utf-8?B?Unhua3FRYm9ScnREdHpuM2tBU1M1YmZlY0ppVGRZTlRPM014YldIWEhuU2tm?=
 =?utf-8?B?M2J6bEZnY2YvWENmZkZ6c3VSUXpnb0MrazF5TloybzcxY0ZYNjhybVplN01W?=
 =?utf-8?B?RDYyNzN5K3JBSmdWTmlla2ZRMnYrTkdGTzR6M3IydEQxTlRCOTFGbEN4SU5N?=
 =?utf-8?B?U09vNGVmWW10Z1UrVEplMTgvcklUUzlyWC9qOHVuSDV0TGlXQmpVU0pKdlB0?=
 =?utf-8?B?Z2RSRWJBK2kyTExvejloRVFtb0lheWh1bm1NN29FSm90MkFndDY5QjE3K1NZ?=
 =?utf-8?B?NEZkcTVUamZybW9oeUN1RTl5MEc5UDFVNzVNUExQUGpQUk13aWtwUml1MVRD?=
 =?utf-8?B?QlNVMkd4anlDYU5VSDdhNXlsemNKVjl4MjhZNUhUY1hka1BhUldZN01haWpz?=
 =?utf-8?B?VUZudUxoa0xSUUFXSGgySmRwVFdTQnZhTmlhVzgxeFFrODRrUWt5OTA5elhy?=
 =?utf-8?Q?2W+zY3Y4jeqD/?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?VTB4cGhjK3hNNDdXSFFJZlVKa3R0R3VJemR1MlNHbDFqYmQwZE1tZDhXZzBl?=
 =?utf-8?B?SzF5aGhhZjZBdkowSlY1RzFFN21MY091Z1NyYzROajErRmpmcVJTTnZZSTBQ?=
 =?utf-8?B?VG8xcXIzVjRyeDNjRHkvMUxZVUFJMm1IZDdwS0EvOHdIYVJtV3F5YVYrd2JN?=
 =?utf-8?B?c1l2SncrMGlOaHhadmZIT2QrYzlFOTRpdUpYbFhZYVVpMTNiTkl3Tlk5MGJx?=
 =?utf-8?B?TXRCL1NVMjNXWHFqb2ZoMFNrd0tRQVgyZlF2T0pTMzZwMzBQMFh0c25iV1h6?=
 =?utf-8?B?b0tCdWVnM2lUenV6TWJOS3JpVlZRSDhmWEtKMzRVSU53U3RqTldsOHY4Yzd3?=
 =?utf-8?B?UEtzUTQ2ZTNXM1hZSU8rZnZ6dEY1OEZjQ29CcGh6bzYwSEFXUG9NZ0FCbEFZ?=
 =?utf-8?B?dllJdXpydlN0MGZlL3Y4ditlb3RhU1YyUU9VaTBIei9wODFXRVUxVWNYUXRw?=
 =?utf-8?B?Vy9lbUNOZHhQQ1JxeXBNVFQ2TU5qMzZpOTFxNENnM2NUd3JPeFBPcHh5aHF3?=
 =?utf-8?B?NEtSS0cxajdwTFlPWEVGaEtRNSs4TGM1a21POUpNOGtUYlh4N0pNL0tHZzBJ?=
 =?utf-8?B?UXVUNm81ME5yYzJTaHk0Z2RLd3NaLy9KTnpIbzJjZlZXQWViMy9wVzQ2Q0ZO?=
 =?utf-8?B?dUVOOGY5Y0E4cGU5YmZOc3hLMmNZdTNFU3g4YmhpWFB1eStzNDFIUDBTK2xo?=
 =?utf-8?B?Rm45dDVXR3BRblRvT0VFWmVxTDdBbVF3RWlxdlFWODk1RVRzVmRoNTJPMHkx?=
 =?utf-8?B?b1pUeVdiNDZmaXBidTJmVWtHQkgzc1MweExIamwxTm1SRzl6Z3Y3aXhFaUpC?=
 =?utf-8?B?bjFvVlEySTk2Q0xwQTlUTnZrOTdXK0lzS1cybExESWtzc1VueDZBNHFnbCts?=
 =?utf-8?B?NjV1S2tMUXhTcmVxR21VOHpQTnRscUwxNGU0cDg3NGlhLzRzT1B0VWpoK2ht?=
 =?utf-8?B?NURhdEk4SHNVNUV0eFMwSEF2NGxKZXUzdGo0VGNQYzFTYVpXM1d5S081aDVu?=
 =?utf-8?B?ZlB3UlNSUjRGb2dBQVhsZ1BLWjVTVDRkalo4dzdrTDVackk1cldac3NMV2FS?=
 =?utf-8?B?Tmk1WlpvWVNranl5QXFaSXdwK1NNSHo1WTkvcEhQcTcvcUV6VXp4RXVqVG9i?=
 =?utf-8?B?aGxpdU1UL0xlZ3ROcXdJb1F1NUc3VXptZnhPZ3dyS2M3dC80ZnI5bXRUMDE2?=
 =?utf-8?B?dTF5ZjhHYVdGaW0vUEZURGhoRTVGNUxMc1BXY3drbysveGovK0NRMGJQczJp?=
 =?utf-8?B?VHR5S3JaT3JqcExDek5hYWVqbTZUc3RLSm50OXlJaDBSL0o5YldKT1ZlMlIr?=
 =?utf-8?B?eGkwa1NaMk02NW1lQmlMZmN2NmVsUGN0UEpkSW5HVGVNSWkrTDNSUHZCampp?=
 =?utf-8?B?RlEwQ1Evc1c0Q2ttaXNBZ0UwUmdTeERKbjhnaXF6OXpiYnVINVo3UzR1YlIr?=
 =?utf-8?B?Y0NRb2JLVGlXcDhuWXh3SFlOaHhSWUNodE1lK1F2NE5DRHRuOC91azdDaUFl?=
 =?utf-8?B?Vi9RN0lBc2oxMkYxeXRTM2tvODBFUjVBcTVvUGdQanJsZVlMZnVMcWtWSTRO?=
 =?utf-8?B?SURPUXRvS04xK0piY0R0S3QvOWQ1bDU4WEl3blBYeDlqV013MG1YRXY5ZWRH?=
 =?utf-8?B?dGh3cnVMS05ZL2NPRVNtamcvY0c0cFo2Nk5IVGFZZXBWWk9kNFFON2hYcXpk?=
 =?utf-8?B?ayt6Wm1JODV5MXpUVG8yWURCeUxhTUZTZTk0WTFka3V4ei91QVFMQ0NYUGZK?=
 =?utf-8?B?bFk2TnVGVlFXVUo0dGtVQnlDWFYxL3BTeDJxdG1KSHBVRGFNVGRGTjY3VjBK?=
 =?utf-8?B?dW9wY2svWjVQNTk0WE80QkU4aGFVRDc2VkNZVng3dnJHK0pIK3J1R3VIUlpp?=
 =?utf-8?B?YkFkMy92NzZmY0ZDWExpOFF3WUtIeDZuQ3hjTEtteWdZWU1xNW1RMVpKVzd2?=
 =?utf-8?B?L3liWm5jN1EvK1kzelVuYlVNNW5CVXNrL0ZxelNWcUdERmkrY0hjRCtFN2tF?=
 =?utf-8?B?clZmbjhtajl4RVRRdjN1S3ZaOGV5bDl4MzlGcHVRck1hK05UQ1JjWjlKenUx?=
 =?utf-8?B?d0F6V2FuUXhzQXlIUjVCRU1WY1hQVHpaRVRGekxZblN1bjJCZmZXRzRKMkxW?=
 =?utf-8?Q?qPbBXuwXZQgO7kHiE/ME/coZZ?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8fbacf42-e4d5-4853-e74e-08dd66dc01e1
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 11:48:47.0912
 (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: 6RU9FUUOAmBnWvGDWEiOrFKM5/bMBvISJZ18tXSR+Rq8/nOwDem1auGqz5eoN/FrGFPa1kH0Rdpl64OfNL25+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6332

Hi Michal,

On 17/03/2025 11:40, Orzel, Michal wrote:
>
> On 13/03/2025 19:28, Ayan Kumar Halder wrote:
>> All the memory management specific registers are initialized in enable_mmu.
> The title is a bit misleading (description does not help too). It's a pure code
> movement, yet it's not mentioned at all. This can be fixed by changing title:
> "Move MM specific registers to enable_mmu"
I will fix this in v3.
>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> With the title changed:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

thnx

- Ayan

>
> ~Michal
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:53:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:53:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920358.1324556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1turzF-0002eJ-Ej; Wed, 19 Mar 2025 11:53:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920358.1324556; Wed, 19 Mar 2025 11: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 1turzF-0002eC-Bn; Wed, 19 Mar 2025 11:53:29 +0000
Received: by outflank-mailman (input) for mailman id 920358;
 Wed, 19 Mar 2025 11: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=3vh+=WG=minervasys.tech=andrea.bastoni@srs-se1.protection.inumbo.net>)
 id 1turzD-0002e6-P1
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:53:28 +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 c3b8c646-04b8-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 12:53:25 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso4503539f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 04:53:25 -0700 (PDT)
Received: from ?IPV6:2001:4ca0:0:f298:c928:f50:d9c:390e?
 ([2001:4ca0:0:f298:c928:f50:d9c:390e])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df31f6sm20696126f8f.6.2025.03.19.04.53.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 04:53: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: c3b8c646-04b8-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys.tech; s=google; t=1742385205; x=1742990005; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ojScgRqx2VWqLIGcngAaYu3tTGxI124WLQ8d6UwXSqw=;
        b=z/HZ5bP/MRFit2i1cP9DPacit85K0poqzB8M+FIo+PNm3clT9gTY6caAD43TdhCiga
         KwIlNzNFOqN9VZh9Xc5Eed+3ixwwqZQdVASGHnyofq3F10oBf1KN5dtzaKDM6u16hIPu
         Fkk5HSwBijS7l+NL5dNSx+1FjQNJ7jPMdaFkAiG+Pq46/Gb4d+YSfp3ZeSI3W2cQamly
         UZTdRDTAE4hwmCbQOeVS4QNZ5tzdJeI4dnbFYXw3/JTaVTcjLAetnKBS6Cv4XaNLybrR
         DaIA8VY6FABqhd0nR7yiFZqHwl/Q1hGtrAqF01dCBftDnbGe5fsJOSlPGykB2ccw3lwd
         fAjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742385205; x=1742990005;
        h=content-transfer-encoding:in-reply-to:autocrypt: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=ojScgRqx2VWqLIGcngAaYu3tTGxI124WLQ8d6UwXSqw=;
        b=qOuWwl9BNZXlJpZDRrJLF0pAvPx4q/hdnKfcwlBL5TSxahJPJkv8R/w92QFkcH7Vv7
         7QfIon7EwZCCNSV33q4hSG3qdDj0gZXwHqxN/hMc609FUreYOT6K+qGi53i3dqxx60Ya
         2NZ1GN3pbySI+2zjlO4Th6fI9NEbYf6pX7j7ZVTgzsN9X6CI21Twy86IlUuHnLBDlBpz
         TGW4LJbRxD8dUBIFzNkWQh/bscpY3DJTrHCf307719AkjgWXXVqJ002xa/dObV6GLbQb
         B4nchfE1gswVhvfraiN5ie8EjLk5h12NAerYcE4BGJjqkJHM0nx7oWAuJG+dHt13aN1n
         uvdA==
X-Forwarded-Encrypted: i=1; AJvYcCVVEv8+XZF6EgRe8alpSo9egbcU9IcrFrgx0f9Xny7DCfs+ziax85/afDSSARnyxNIeTYV7gotB6p0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6I4/CmkW5TCu7T4sG3ndvvfTi200JOusmjTILDRFmBaJLNBd3
	B82Z8TPVY5XA47hpivpcaYVhZvK1smdtbmIrjbKRIrCzlLfiYsRLxt8WyG9DoOU=
X-Gm-Gg: ASbGncvQ0oQmK9nsH7PIPU/oqoRr0ZOr6Y1Miv6gdbu/1UfI2Ea7CLgSpwNU3j5ExG6
	p0+qco4GLYx1y6f2kk2E76d31iGiV06lP8+zM/PsqgV7afTOXP3z6Q2d6Ct0QDRYHLgHr/Pnc5v
	niKrdTbncDb037AZ/mLQx/2RCsl7bOdUIcT4pMCEit28olOlAgp8c5QI9EjI9TPTb/YNk0/XQX5
	cc6CBjIgJKp7NMMQkDamsXQDicuwwUT7vvu1EjNNQj2AKNTE6i9YqHs5kNiNZD6vIUfrTSCwh3i
	AjY49X+6AHu/FlGGeEpRfawsZr4JoBWaxkQm4+agTXDH+yodKIar+Sp3pZ+uqjytj3fr6lQpn7r
	CvBdfRKdRvXjHjfqQ0gUs
X-Google-Smtp-Source: AGHT+IHbk4D8Y+33N61XMvl1CalySe6AckA2gQFFZsxKUKvMAUl1vJmV0CljPC9iboWfQWfyGwNj8g==
X-Received: by 2002:a05:6000:21c5:b0:391:78a:33de with SMTP id ffacd0b85a97d-399739eb2aamr1275687f8f.12.1742385204579;
        Wed, 19 Mar 2025 04:53:24 -0700 (PDT)
Message-ID: <010e8a75-3822-4614-a2ef-2490ea587528@minervasys.tech>
Date: Wed, 19 Mar 2025 12:53:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC] analysis of runtime xenheap memory allocations
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Michal Orzel <michal.orzel@amd.com>, VictorM.Lira@amd.com,
 Carlo Nonato <carlo.nonato@minervasys.tech>,
 Alex Zuepke <alex.zuepke@minervasys.tech>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, jgross@suse.com,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <53e85609-dba4-4fd2-972c-8c2746074c4a@minervasys.tech>
 <1854625e-c1d4-4c2b-b219-31a6d48f5e47@citrix.com>
From: Andrea Bastoni <andrea.bastoni@minervasys.tech>
Autocrypt: addr=andrea.bastoni@minervasys.tech; keydata=
 xsFNBF5Nh4sBEAC7UM3QJtjrFO3pjcMCCh04JFyCCDzLFMIqMTB1UWCLamZ9dUwIau7ScgWv
 49aqbM++edVvEBmG8JHDC83DFWymvFVXBgqgcR7tHHBbg33XJKFMHvuW/kFm/67XPTFcec4L
 JsH5MWms9TLJbgCnaWQQMH3kztTRQaf5QcULIoHnTySKlt3WzzzHosaMO+/GNYX7vzfc4ypJ
 mD5SQWYDhfRefASkyxdrN6/QkPwS2vGTyVK58o2U9I27KPYvs+77JrjrNBfpnebapaYVA55C
 7BvTnno5Kr6QHwA6LcnIZqefz7KxQ1n+1C5QQbmhi9S68aloGCeUo9R06UMJG79TXC2Mc68t
 AtSCN/HpgcvN1CSL45f/4WCDPG572ebo5M6MPcTb4ptV1SC/i+4U/3cG0LNSUap+sGRCf0Iy
 C5xy0KOtgoq8jesdleSy8j/3DNIMGekSYbQYMO39DfZds2XFh9lVDjG7tQcChwW+lQDPo113
 ENBRftDyqJthrvmJXGyrOmn0su56qh2Zqvi5pSHWsH88vAZUJsOU+9lpohmcb3o/cQ18UXNK
 H/9wjo2zKHFdSylQFERHIzj6WlBp01wkTcCqtUGpxsjJHmVSyakWs3TrGXooKR9SPMxqVrD/
 oCCEo9IUD9jd+TxLsp/4TzUp4ScTO/43uPgdkMekU5mRs6B6WwARAQABzS9BbmRyZWEgQmFz
 dG9uaSA8YW5kcmVhLmJhc3RvbmlAbWluZXJ2YXN5cy50ZWNoPsLBlAQTAQgAPgIbAwULCQgH
 AgYVCgkICwIEFgIDAQIeAQIXgBYhBImpnm1L3x9XIoXhD3VSShFTR9xSBQJitcUIBQkKC9f2
 AAoJEHVSShFTR9xSmSoP/0W/VboJmWmLh89eIl1QRoiL1nGcti1fTN835Q2TPiSdg+nFVqy1
 8oLrJaHNe5THVaSr4S2du56SASYSG6f+Y5aiQccbalUJIV7KwXr741kovTnUPUKjPoi61Bx4
 DUzis0Xo0NmMnz7M1YudbQZmjoakE/wZJRB+b79+kJwrfZFcNg4DSuSvNOUeI17uapLKRQ1a
 ukuRgXwUpMOudKngJ8HB+16aHIQX+yfpcsanNr1nGwHSLhEPEM20DVzKiCp2cKjv9Y7zZ+6y
 akbJHdbRuJliyZmXaSVO8sQ1tO/W6Y/4zAjejw2c1qDKISeIlGi+o6UEVYZlKCThzrV9vYok
 AcJF4DlYcAuBMVYCTomovXb/9/Y48pRGlfDGrmnt+FvGVA0jYrG02oufItY2JAGzFcX1KMTG
 AGf1S7pOj3AvBTGJjW8d8+sXuedH51HNixJtMnzcmi+qJfPJujBW3BEZ1p0ZoDyTH/WCZF+7
 B5lFvTi0DRKY6AI0TSzBdjtaOMt64fn6KXtLtaTZKDKkFUBwAShJyYcWQSp/7EO+ZJW7dWIw
 1vM5AcnugonJby+q+JGgBVC2rjscu5Okl3lnviF9WLAzmRH/pDkAa3jifiUm8eS+dP+4cN6g
 WXL9vTF6FtFyI8sgzRlY/IX8mao5bV/P1HCwNvkBhO8C3XMaul4FwQsjzsFNBF5Nh4sBEADN
 J99l+vOp8LB8jDjWOhINlpgp+EcrmWOuler5QnoJUywc2zkLelQIwVGP2lFliMdLHM6DbMEX
 ySIzHbhw7oPRP0QRPK/6I4bXYkSQCrLyqYd0CYSbkar8YV6Xa6nGxRmP1bBv1lPFHN66D0yE
 /z1ScGMXyX+ZOIvH0ekIkqFvi7Ec/7a/ntfU43o2t05dmbnEKoECZgeS8SraojfKnQRpz7+P
 N0q45O5fMETZpIiQh1/mB12HOcklDNELcKohqVfevbknJw04Yjbcv79aGpBRqoVWWBS4TxcD
 CRPQZ+H0tMUVEL/MqO7tNLA1VuGpOccyFtZnC/+J/twa7iKpPIxS9Ec/LDYTddebWH+8gOmr
 /PkBerBXghlZpxmQUlJeQ8kyecOOc4C7ec3aUGj+x28j0+zlXFLUbjiKIEM5VowIMgDDRwA/
 MDr9IJhFzHaY2VCfBnX8sgJSn62IxqREq4X3KkR/Jtxt+HYXQYLl0yva2MBplkRcwQO799o6
 woAMW0uyct4+BUcKo1sBFP2x2n4NFiPEjeoH3y9baruD9iiMQsmbJ3IKqtT13crCa+bcY3ZS
 Oz+CymgzNdH+RabJMC3mGfKIhUQGwEHz+wyMnv16nqO49bmoCk3q5Oneo4I3XwI3QbIJr0rd
 QkX6oh6R0taC3naal1ZYGxs0vZK567bT5wARAQABwsF2BBgBCAAgFiEEiamebUvfH1ciheEP
 dVJKEVNH3FIFAl5Nh4sCGwwACgkQdVJKEVNH3FLafxAAl7pW0v6Jju19I6wtB+XNzzi5Wota
 3AyWzCxO/hUHNGRV/ZufhMkNFCMNzAxbdmO56eCk9ZYf/JMLu8H1GwhV1NgQ7HL4FNXXxLZ0
 ixZDik86iiSjVLtEjLuwkS4Fj9wjqevycL/t16kJduFNyxT0/XiB5UPh5NClOMonHSC+V2If
 Kf6l2Ic34CrA3ovkfVvBXJTzia0VgyQCikeazgPRELH8bq2WTBWfjR3/l86Y0twiYyXqBNQ8
 Q2Z83mu+yt38gTanz4YuDYz7YFjvL6IU2MZ5+ByothK6Cfx4W595q81dsGcJOlcd6j3QE+ps
 b3SHuToWZCHZRHyKrgGDqCL5RbsK3wXgDmc48SfN+5TxenT8A1lkoOHFcQ0SV8xleiwURXHc
 Ao+SzyDcTfltBNjzQmntQjAfq1Lq5Ux9nfpPMgnVHu5ANWeLtwLJyh+4aPVE5hGjeCa+Ab5U
 MyocCYdTuAmDHB9RQdf9c+qlVYuZCg7yYlWsvId5DGZnab2MzvExayaFCJVEoCccpfrqFFiF
 kJ19BogE4A6VTU0ShoHYJhLg7PuEZS1oWzULZnM8sNNI72MecvfZn5Oi0ZEJhFh+HETlJnIT
 7gh7CGFBxPacT8vHxmeMPod7qrvYgKW+QKhU+tAI8gkI6hHXLBg/dxn7wAwTjlX1bo+jRJyp
 Id5SuAU=
In-Reply-To: <1854625e-c1d4-4c2b-b219-31a6d48f5e47@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 01:35, Andrew Cooper wrote:
> On 17/03/2025 6:48 pm, Andrea Bastoni wrote:
>> Hi,
>>
>> In the last months we have been working with Stefano's team in AMD at tools to
>> facilitate the analysis of "anonymous" memory allocations performed at "runtime"
>> from the shared Xen heap.
>>
>> - Anonymous here means: allocations that insist on the common Xen heap pool
>>   (i.e., not on a per-domain heap pool).
>> - Runtime here means: system_state >= SYS_STATE_active.
>>
>> TL;DR: A set of patches print a warning stack when anonymous allocations are
>> detected at runtime. Scripts help to parse the stack traces that can be checked
>> to evaluate how problematic certain allocations paths can be or how difficult it
>> could be to update them. A full example of the results is e.g., in [1], and the
>> Readme-details in [2]. Below in the email more details and some commented stack
>> traces.
>>
>> Feedback, especially on the paths that are currently marked as "UNDECIDED"
>> is very welcome.
>>
>> [1]: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/1674833972/parsed/x86_64/xilinx-hyperlaunch-x86_64-gcc-debug-virtio-pci-net
>> [2]: https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/README.md
> 
> Hello,
> 
> A few observations.
> 
> As you note, assigning ownership to current->domain is usually the wrong
> thing.Â  Setting PGC_allocated however is worse; you've created a
> security vulnerability where guests can free memory that Xen things is
> private to it.
> 
> Similarly, you can't interchange xenheap and domheap like that.Â  It will
> work on small systems, but not on large ones.Â  Nevertheless, it's an ok
> start for debugging.

Thank you for the feedback.

As you saw, there are two parts.
Here you're referring to https://gitlab.com/minervasys/public/xen/-/commit/c1d6baae27932d2a7f07e82560deae5f64c5536a
which we used as debugging to find out where the configuration needed
to be updated. This is in a separate branch as the rest of the observations
(minerva/per-domain-xenheap-idea-approach vs minerva/warn)

> Ages ago, I tried to make a start on this problem,
> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/xen-fault-ttl
> simply by counting the number of xmalloc()'s to the domain with with
> they were logically associated.Â  It's stalled because the
> fault-injection test found a refcounting bug and there isn't even an
> agreement on whether it's a bug or not, or how to fix it.

The other part goes along a similar line trying to find e.g., who triggered
the xmalloc.

> I'm struggling to follow the analysis on
> https://gitlab.com/xen-project/people/sstabellini/xen/-/jobs/9207014172Â 
> However, it appears to be a mix of reports between arm64 and x86_64
> jobs, and they need separating to get a clearer picture.

The job prints a summary of each analyzed log. The actual analysis is created
as artifact of the pipeline and can be downloaded. The output is then
splitted per architecture, similarly to what has been committed here:
https://gitlab.com/minervasys/public/xen/-/tree/minerva/warn/minerva_analysis/1674833972/parsed

> The bottom of each stack trace appears to be doubled.Â  Is that intentional?

Nice catch. On arm the parser of the logs needs to be modified to
avoid considering this two times:

(XEN) [  240.296766]    [<00000a000022f784>] _xmalloc+0xf0/0x32c (PC)
(XEN) [  240.298386]    [<00000a000022f784>] _xmalloc+0xf0/0x32c (LR)

> Part of the problem is that xmalloc() isn't separated from
> {xen,dom}heap, despite the former being layered on top of the latter.Â 
> All *heap pages are going to a multiple of 4k as that's the allocation
> unit.Â  It will probably be better to terminate at _xmalloc() and ignore
> the call down into alloc_domheap_page().Â 

Those are tracked separately (and the free also tries to match them
separately): "DEBUG:...xmem_pool_alloc" terminates at the _xmalloc(),
"DEBUG...xmalloc_whole_pages" tracks the replenishments.

> Importantly, _malloc
> allocating another 4k page isn't strictly related to the caller, when
> it's doing so to replenish it's free pool.

Yes, the ownership tracking in free_xenheap_pages() is fuzzy.

> The 1-byte allocations are silly.Â  bitmap_to_xenctl_bitmap() is buggy
> for trying to cater to an endianness case we simply don't support.Â 
> There's no memory allocation needed at all.Â  There are patches to
> resolve this from aaages back, blocked on a request to fix up other
> endian helpers in the meantime.
> 
> evtchn_fifo_init_control() seems to show up a lot, and seems to be the
> only dynamic allocation triggered by the guest itself.Â  It's reasonably
> large, but probably ought to be allocated up front.Â  event_fifo is
> pretty ubiquitous these days.Â  I'm not sure where the alternative sizes
> come from; they ought to all be 392 bytes.

You mean like here?
https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/1674833972/parsed/arm64/qemu-dom0less-arm64-gcc-debug-virtio-pci-net#L222
> // MINERVA: PROB_SAFE
> // 1) evtchn_fifo_init_* should only happen once per domain at boot
> //    (NOTE: Count not always 2)
> // 2) evtchn fifo evtchn can be disabled in favor of the older 2l evtchn
> //    interface that doesn't require allocations (xen_fifo_events=false)
> Domain     : d1
> Occurrences: 2
> Total size : 1424 B
> entry.o#guest_sync_slowpath
>   do_trap_guest_sync
>     traps.c#do_trap_hypercall
>       do_event_channel_op
>         evtchn_fifo_init_control
>           _xzalloc
>             _xmalloc
> 



> I'm concerned by the xfree() in efi_runtime_call() seeing as there's no
> associated allocation that I can see.

The verbose log files contain all the parsed allocation paths
e.g., (https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/1674833972/parsed/x86_64/verbose/xilinx-hyperlaunch-x86_64-gcc-debug-virtio-pci-net#L25)
The summary misses this information. This can be improved.

> Finally, it's not just anonymous allocations you need to worry about.Â 
> Even ones out of the p2m memory pool are still fatal at the point of
> exhaustion, and can cause safety issues.

Some of the allocations on such paths are tracked, e.g.,

https://gitlab.com/minervasys/public/xen/-/blob/minerva/warn/minerva_analysis/1674833972/parsed/x86_64/xilinx-hyperlaunch-x86_64-gcc-debug-virtio-pci-net#L860
> // MINERVA: UNDECIDED
> // Similar to guest_remove_page
> // allocation related to the memory management of iommu page tables for
> // a domain (the domain is available down the chain).
> // The allocation of the iommu PDE is anonymous.
> // If no memory is available, the domain is crashed.
> // Unclear if only selected VMs can trigger this path.
> Domain     : d0
> Occurrences: 2
> Total size : 8192 B
> svm_stgi_label
>   svm_vmexit_handler
>     hvm_hypercall
>       hvm_memory_op
>         do_memory_op
>           memory.c#xenmem_add_to_physmap_batch
>             xenmem_add_to_physmap_one
>               set_foreign_p2m_entry
>                 p2m.c#set_typed_p2m_entry
>                   p2m_set_entry
>                     p2m-pt.c#p2m_pt_set_entry
>                       iommu_legacy_map
>                         iommu_map
>                           amd_iommu_map_page
>                             iommu_map.c#iommu_pde_from_dfn
>                               iommu_alloc_pgtable
>                                 alloc_domheap_pages

Maybe there is a better place where to terminate / catch these cases?

Thanks,
Andrea


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 11:58:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 11:58:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920373.1324566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tus4R-0003KM-3E; Wed, 19 Mar 2025 11:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920373.1324566; Wed, 19 Mar 2025 11:58: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 1tus4Q-0003KF-Vj; Wed, 19 Mar 2025 11:58:50 +0000
Received: by outflank-mailman (input) for mailman id 920373;
 Wed, 19 Mar 2025 11: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=WMzd=WG=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tus4P-0003K9-HM
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 11:58:49 +0000
Received: from fhigh-b7-smtp.messagingengine.com
 (fhigh-b7-smtp.messagingengine.com [202.12.124.158])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83cb52ad-04b9-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 12:58:48 +0100 (CET)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfhigh.stl.internal (Postfix) with ESMTP id C946D25401A2;
 Wed, 19 Mar 2025 07:58:46 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Wed, 19 Mar 2025 07:58:47 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 19 Mar 2025 07:58:44 -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: 83cb52ad-04b9-11f0-9ea0-5ba50f476ded
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=1742385526;
	 x=1742471926; bh=u9HByR81iDQ5nJqrj0d8iVu/KDGH4EKBh5gSfD6d4tg=; b=
	K6Yi0X7D+oZjJDjtZ5TAwp/4KcRgVvJmsza9XZQsvW39DpIMsgUsm4wNtTvTvWhd
	up6l5RoPbTPx8agb8ZOnmSWDL5pWogbL4it0T+UfdfFaczoeaHou7iNYXE0cSoiP
	WmTBRMZn2HWjVUyWRImYcWdnyb4V9c+cLS4o6r0f2T72pPgmrfJoJZdvX7u1XB5b
	4VF/c9Ovop+6j2K/DVLTwMqaX3BwyUNIhaanMmxagohpC3G0zloRdeMe3c3dvPn9
	9e2e6xOM2ERu0eznqcItMoaOuTNHL+DHQ2ByPJ7P6QgjsxqsixzIeXhYTixVKArf
	ujxtDAELXI+zh85OhYDp6Q==
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=fm1; t=
	1742385526; x=1742471926; bh=u9HByR81iDQ5nJqrj0d8iVu/KDGH4EKBh5g
	SfD6d4tg=; b=o+tpaJm2KwVP5TYtX5ya5zsFQges2hOUAjLspJoyuqTFj8cBsy/
	4IQoPh4D1HfOvzQRbNIVReAq9g23cTIgXJgvWUpgghf7nmgpLg7mskMsAiY0sdKX
	yYFLIstbpuPb9DfUyS6K2WDO7siVTxOXYucxoJ3XcSQt/enYjK+ZZuD50n0gELgA
	Sn2q1iGZR3Ph2iDeHqOk+XahxwmKoWOQMLiKYmtAl3j7/xsCpfMew6tRrM8oh9VY
	uKn0ZBrZGRiu01PMFCl5QdcxsAGqZqRLJpp75LMi8Fo+2jEiPjPdEkOk7ScBDG4p
	RBABLQTXFJrG+er+FAb5zqhHvsXnsybcqMg==
X-ME-Sender: <xms:drHaZzOQAY66-ErwEE9WV4gTmMHPrdlqyXRT0Za28aPJa46VC-HwsQ>
    <xme:drHaZ99TMk-hICNkwjqmOQPwIUiqaEbPFUnoBYFlKe0lU4f9ImYS0X_rhgAnSSC1q
    p5inARWCs1e4g>
X-ME-Received: <xmr:drHaZyRovJqOEho6mlpzVmDsRIeEixjQ93_cgNMMTaTu30Y1ykszr3hluElNDYsn4dVGeBgfqO_yjf5z_vpSG1GSATVDjiJqQg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeehvdekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehfrhgvuggvrhhitgdrphhivg
    hrrhgvthesqhhusggvshdqohhsrdhorhhgpdhrtghpthhtoheprghnthhhohhnhidrphgv
    rhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvg
    hrfeestghithhrihigrdgtohhmpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegr
    mhgurdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoh
    eprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggv
    lhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:drHaZ3sb3KWdLT1e5YiU64qIUMxXgtTC3T5-Bb9_uRJJkk3Pisxcjw>
    <xmx:drHaZ7f5D5vamiF-NS6ySDgNfp2NnFfo5tbxYpGsCAc8NgOD1p_fjg>
    <xmx:drHaZz1ZwsfZSQyaAzAX4iTY35rl_pepxm5gYe3e94r_pwE5NQbeBw>
    <xmx:drHaZ39exkYn247BIjpr8WQqtNicRL7SVvojmySptnp2c6SKWCYrsQ>
    <xmx:drHaZ_4Q64WzoZi2uqyXc4Io3yuR520oc-KZh9NRsTqnA7xcHHbAMpw7>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 19 Mar 2025 12:58:41 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9qxcRtap-k-wW8B@mail-itl>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="PpeQ3rwt4y1oLfY/"
Content-Disposition: inline
In-Reply-To: <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com>


--PpeQ3rwt4y1oLfY/
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 19 Mar 2025 12:58:41 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Wed, Mar 19, 2025 at 10:43:12AM +0100, Jan Beulich wrote:
> On 19.03.2025 10:15, Jan Beulich wrote:
> > On 18.03.2025 18:01, Marek Marczykowski-G=C3=B3recki wrote:
> >> --- a/xen/Makefile
> >> +++ b/xen/Makefile
> >> @@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
> >>  CFLAGS +=3D -Wa,--strip-local-absolute
> >>  endif
> >> =20
> >> +$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=3D$(XEN_ROOT)=3D.)
> >=20
> > This is lacking a comma:
> >=20
> > $(call cc-option-add,CFLAGS,CC,-ffile-prefix-map=3D$(XEN_ROOT)=3D.)
>=20
> And then, having tried the correct form (seeing the option then is passed
> to the compiler), I can't spot any difference in the resulting
> xen-syms.map. There were a few absolute paths there before (for
> arch/x86/x86_64/kexec_reloc.S and arch/x86/acpi/wakeup_prot.S), and the
> exact same ones are present afterwards.

I'm not sure about xen-syms.map, it's about build path included in
xen-syms. It appears at least once in .debug_str and once in
=2Edebug_line_str.

But also, I see the patch lost a chunk during rebase (from before
4.17...), that adjusts XEN_ROOT to use $(realpath ...). That's the part
even mentioned in the commit message...

I'll send v2 shortly.

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

--PpeQ3rwt4y1oLfY/
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfasXEACgkQ24/THMrX
1yzfvwf+KcnWvIBvOv56Zedo/f7glcwzBgDpu0IdzqQr5jKBK9FfTSFmgYSuowVh
13Sph/rIOq4skRo+2wU5kKSgW8Z4GuhegOmrxlIpIXIHhlmlY5THqeQ1dh1KfAa8
j1WveGyqZoH5mudHsshUd9PEZx6RYwLzQNp3QqKaXktx+psDw3i2qFJG0F9xQzMr
uadyW0RtqMTQxsQSx3C/UK21l4+cMUk8aG51LlksX94F/4jkQTyvwQkjXHRea2Jn
3fCRcAeLhf5lV1ByabwJix/8WINzglRkwnEs7lEmUlVd5RYLo4CyNC9HOCcdeG3S
El1J33fNgubF7LcOX1lXAW98QFFkYA==
=A6S1
-----END PGP SIGNATURE-----

--PpeQ3rwt4y1oLfY/--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:00:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920387.1324577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tus6H-00050u-No; Wed, 19 Mar 2025 12:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920387.1324577; Wed, 19 Mar 2025 12:00: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 1tus6H-00050n-Jw; Wed, 19 Mar 2025 12:00:45 +0000
Received: by outflank-mailman (input) for mailman id 920387;
 Wed, 19 Mar 2025 12:00: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=jwTt=WG=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tus6G-0004qj-A7
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:00:44 +0000
Received: from mail-oi1-x234.google.com (mail-oi1-x234.google.com
 [2607:f8b0:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c883ebe8-04b9-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:00:43 +0100 (CET)
Received: by mail-oi1-x234.google.com with SMTP id
 5614622812f47-3feaedb531dso123774b6e.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 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: c883ebe8-04b9-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742385642; x=1742990442; 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=PZTyndYufa/LfKPDq0tE2/Oykkyzj9F95XRC4kLnyDE=;
        b=dl4RPA6IDNyr1Cc3vMHmVm1fDJRmxiki6pUHcBaXiM+R//hG15aOaWsNhhyT9u7sv9
         hCtsF/GhJNPWAE/Miq5vZGqehAaon6LBXMFHJVcfbWKE9CFXj7N9TlFmSfhncPynLDeQ
         JOtAuCWujQbuNs3K1USdm2GoGBP7RZvoS5K1I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742385642; x=1742990442;
        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=PZTyndYufa/LfKPDq0tE2/Oykkyzj9F95XRC4kLnyDE=;
        b=PIElyxVVS3Q4q7m9jL7H50Mo3so9tVNCjFQ0UCE5exTiKD38CVEUNP7ZaCXKsbwcve
         Xnqfl0e9caIN3jIxXk5U5Po8hXCYe0t+D2e9da+bosbjCXQtSjsK9lOKUrb6i4Vx7ou+
         gzD1hs9rV9k+AEDckr0L7GEfvCfD0fu8kbfrvPEmDSKyF9mI7VYK1ddGtrtAGgT4pGU8
         4vNMLwB/pqfluep4pvOJpUkO4xQn2GBwnxy7zcelr2VYEY21XfcsDOKcBwyandB5u0NY
         3CDztQj8pW85pObE5vpHuJYcf5Si4YWq3uTilrg6WbyaQDPWyFJYexCNrHVk4Nj/E0Fu
         3Oww==
X-Gm-Message-State: AOJu0Yw061Zs7Z9nJSi7P1k0BIFlyxB4e1F3Hn63wdwqv0yZ6xuainso
	ZZw/kiep53jZVBKKLR7YFGHZg0CjTJ/sLCmmgC/PLsiiKef/fTAyEphHQeNHLtRUwyWcWH2Uq3U
	HDUrHA9RfETSZZJl2ZyShQPgixx80H9YlGDdYVg==
X-Gm-Gg: ASbGncu7A9UsiQ2VsCehEOpE0y4CKPdpoxDfgOTVpqWA5i5TYQ/5MRC5ePKhLG51Ji/
	a/wN1y2NaXnVl/pwpGX49BzqMncxEZJsGBes5fdP30MU+1Dx5sygOUcNexeeqCi3H6IJzZeJlid
	xO03G24vcFrj2g2C+gAPEVnATdjw==
X-Google-Smtp-Source: AGHT+IEnLedfrakI2e7FKIRhyv+bhjPFKXqHPbHj0gpOnlZZZwt/MXXjGnQZgJmwdITlbN/lSKmVFgudwz6A8mtkoa0=
X-Received: by 2002:a05:6808:14d4:b0:3f8:b73b:682f with SMTP id
 5614622812f47-3fead57dfb2mr1587602b6e.1.1742385642162; Wed, 19 Mar 2025
 05:00:42 -0700 (PDT)
MIME-Version: 1.0
References: <20250318173547.59475-1-roger.pau@citrix.com> <20250318173547.59475-5-roger.pau@citrix.com>
 <CACHz=Zhyn54-w=dysFXwwzhdnL4RVnadKoT+hx7hR42_VrY2oA@mail.gmail.com>
In-Reply-To: <CACHz=Zhyn54-w=dysFXwwzhdnL4RVnadKoT+hx7hR42_VrY2oA@mail.gmail.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Wed, 19 Mar 2025 12:00:31 +0000
X-Gm-Features: AQ5f1JpbD3HLn63DmeeqLB8HYQlBxjeL8EHIBtGVhR3uKn7zBvzT8B9iK_WUmKY
Message-ID: <CACHz=ZiuTn2M6Pq6-Ft9VwmRvEMaqSNvsHQV+fkdsANGhD-+1A@mail.gmail.com>
Subject: Re: [PATCH 4/7] x86/boot: apply trampoline relocations at destination position
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 18, 2025 at 7:05=E2=80=AFPM Frediano Ziglio
<frediano.ziglio@cloud.com> wrote:
>
> On Tue, Mar 18, 2025 at 5:36=E2=80=AFPM Roger Pau Monne <roger.pau@citrix=
.com> wrote:
> >
> > Change the order relocations are applied.  Currently the trampoline is
> > patched for relocations before being copied to the low 1MB region.  Cha=
nge
> > the order and instead copy the trampoline first to the low 1MB region a=
nd
> > then apply the relocations.
> >
> > This will allow making .init.text section read-only (so read and execut=
e
> > permissions only), which is relevant when Xen is built as a PE image.
> >
>
> This change is not enough to make the section read-only, some other
> code writes directly into the trampoline at the not-relocated
> position.
> But this improves the situation.
> The code looks fine, I'll try the code if it passes some tests I did.
>

Works!

Reviewed-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Frediano


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:00:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920400.1324586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tus6T-0005Yd-TS; Wed, 19 Mar 2025 12:00:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920400.1324586; Wed, 19 Mar 2025 12:00: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 1tus6T-0005YW-Qt; Wed, 19 Mar 2025 12:00:57 +0000
Received: by outflank-mailman (input) for mailman id 920400;
 Wed, 19 Mar 2025 12:00: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=eFby=WG=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tus6S-0004qj-Kz
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:00:56 +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 d0495fee-04b9-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:00:55 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5499659e669so7527147e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:00: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: d0495fee-04b9-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742385655; x=1742990455; 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=LCpJxmJrUIVhvJkhCnVRAdYDZPfT1HCUmBaFf2vpgh4=;
        b=CPq/UkoxT01k4wjoP1j8vtUOWykfyWwi5Agq/thO4kvGDEdYQyBnN+YkVeLnJq6pjB
         NXLGxw86RLfaLHEmM0jgKXlX0eHDNYc0n9SdIQMRk0Zladzunbp3pOpRiZd2yi9BaICH
         aCpqdEkjrS63Hvxv/hdiYnEK0r9UyFacqX9V6uyPWLzGMSwLrEgigAU1uonmVRPAix7g
         4m2uGjS65ZQ5OadcMV+GiIsxjc1Ahr+er+YopHLh/ADXwATJkuW1+l256+0yPfLmAOzG
         OroWewQU6O0g4jNfKcwa7AzHjXPUlhkjVb5+g2nKh0LviF6g30v4qxERpgeLrAXvPh+q
         hAWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742385655; x=1742990455;
        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=LCpJxmJrUIVhvJkhCnVRAdYDZPfT1HCUmBaFf2vpgh4=;
        b=TtEnPgqwN9xOLgfRedHH7QPeJb+5isGWSBE3OsEytSi3KdmfpSpXgQWtYbCrRnpJSg
         87oBKtl0QGg267hO90D3Mk15NdmB9uRFy6vkIHROyn5hP+mJH3b8TMOCo3dKrkLDkFT+
         LP3pX6bPiJFETSTGJ8vjWug9NOx5H8flBeunHsHMLzbi7MpfaBF17CLiwm1cQZcdXau3
         aJ8X1fbPK35dL2iuUsEnclMyuWbKliCUPCzUvLZ9a4Jjr45XB/GAIA8T3Y4OW+yjyXdC
         wcC0RCpIkWZ3v+Nf2QFMu8IoxnptO3p6LAYfyY2DgcPsrxOy6sQV9zqq19+FLv8E0Jc6
         s/6Q==
X-Gm-Message-State: AOJu0Yzv6um4dZjALpU1Y7HpwCHUwA7RI3NXsL1kuSSL4GrZxMR5f88P
	8OO7MZw6AbZe7rE3qHXPpuqRbqoGiYO1LFZUPxVao4ng1jY0hadEVleBM32+Jd06gl5MjnytEEb
	Hr3EFGnVZJS1b6zXiE6s4bi7odIIqHQ==
X-Gm-Gg: ASbGnct0WznnkgYemYUKnNI1jl4PoDGxNpehD537mRfNA/9/IccvatLkmjW8ZsEZCSd
	01HcxAl8shmDRZFw7B0bjEhGu9qigzZy8pA2zLs1hyHk9ZSNtT89MVLYtvddjFpYLtAI/z54gFm
	nnLK+7amzAYKo1IyJ0wdgxhn3j
X-Google-Smtp-Source: AGHT+IGr+Ovauo+3tovu+LmY5x5+0jFUQazWhkFvCliSGYvXJp0fJcuXjNxE5eoNsOuRO/knyCf8PmXiY9xyNS6hw+8=
X-Received: by 2002:a05:6512:3d86:b0:549:8db6:b2da with SMTP id
 2adb3069b0e04-54acb1d43b0mr765391e87.30.1742385654852; Wed, 19 Mar 2025
 05:00:54 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <fdadd945-2069-4346-be07-b93198332118@xen.org>
In-Reply-To: <fdadd945-2069-4346-be07-b93198332118@xen.org>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 19 Mar 2025 14:00:42 +0200
X-Gm-Features: AQ5f1JruQuP5ipOakDTB0Br-8_Ujv8YNxVg4pwtw5Y0nyJ1gFcf9o3AfgtBF1yw
Message-ID: <CAGeoDV8Y4kZSe6aRVcngX6_rNhsgu6bFTL_XQQcafpZVhJdMyg@mail.gmail.com>
Subject: Re: [PATCH 00/16] Suspend to RAM support for Xen on arm64
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	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>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	Community Manager <community.manager@xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Wed, Mar 12, 2025 at 12:36=E2=80=AFAM Julien Grall <julien@xen.org> wrot=
e:
>
> Hi,
>
> On 05/03/2025 09:11, Mykola Kvach wrote:
> > This is V1 series from Mirela Simonovic. Ported to 4.16 and with added =
changes
> > suggested here
> > https://lore.kernel.org/all/CAKPH-NjmaZENb8gT=3D+FobrAycRF01_--6GuRA2ck=
9Di5wiudhA@mail.gmail.com
> >
> > This is V2 series form Mykyta Poturai:
> > https://marc.info/?l=3Dxen-devel&m=3D166514782207736&w=3D2
> >
> > This series introduces support for suspend-to-RAM (referred to as "susp=
end"
> > in the following text) for Xen on ARM64. The primary focus of this patc=
h series
> > is to add Xen system suspend support. Previous patch series raised many
> > questions regarding VCPU context restoration, so the necessary changes =
will be
> > addressed in the next part of this series.
>
> I can't exactly remember the details. But from what you wrote here...
>
> > As part of these changes, all domain flags and related code (which affe=
cted
> > common functions like vcpu_unblock) have been removed, keeping only the
> > essential modifications for Xen suspend/resume. Suspend/resume is now f=
ully
> > supported only for the hardware domain.
>
> ... it is not clear hwo suspend/resume would work even for the hardware
> domain. Can you clarify?

It can work on a simple setup with a thin Dom0 that has only basic
resources like CPUs,
a virtual console, GIC and a timer, without requiring additional hardware.
vcpu_unblock called directly during resuming the hardware domain.

>
>   Proper support for domU suspend/resume
> > will be added in the next part of this patch series.
> >
> > The implementation is aligned with the design specification that has be=
en
> > proposed on xen-devel list:
> > https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.h=
tml
> >
> > At a high-level the series contains:
>  > 1) Support for suspending guests via virtual PSCI SYSTEM_SUSPEND call
>
> This is contradicting what you wrote above. If the call is not meant to
> work for guests, then the call should be forbidden.

Oops! It seems like not all parts of the cover letter were updated
after the last changes
I used the previous version as a base. I'll fix it. Thank you for
pointing that out

>
> > 2) Support for resuming a guest on an interrupt targeted to that guest
> > 3) Support for suspending Xen after dom0 finalizes the suspend
> > 4) Support for resuming Xen on an interrupt that is targeted to a guest
> >
> > -----------------------------------------------------------------------=
---------
> > TODO:
> > 1) Add VCPU context reset/restore for non-hardware domains.
> > 2) Implement xl suspend/resume for Arm (should it follow the x86 approa=
ch?).
> > 3) Support suspend/resume for GICv3.
> > 4) Add suspend support for Arm32.
> >
> > -----------------------------------------------------------------------=
---------
> > In more details:
> >
> > *** About suspending/resuming guests
> >
> > The patches included in this series allow PSCI compliant guests that ha=
ve
> > support for suspend to RAM (e.g. echo mem > /sys/power/state in Linux) =
to
> > suspend and resume on top of Xen without any EL1 code changes.
> >
> > During their suspend procedure guests will hot-unplug their secondary C=
PUs,
> > triggering Xen's virtual CPU_OFF PSCI implementation, and then finalize=
 the
> > suspend from their boot CPU, triggering Xen's virtual SYSTEM_SUSPEND PS=
CI.
> > Guests will save/restore their own EL1 context on suspend/resume.
> >
> > A guest is expected to leave enabled interrupts that are considered to =
be its
> > wake-up sources. Those interrupts will be able to wake up the guest. Th=
is holds
> > regardless of the state of the underlying software layers, i.e. whether=
 Xen gets
> > suspended or not doesn't affect the ability of the guest to wake up.
> >
> > First argument of SYSTEM_SUSPEND PSCI call is a resume entry point, fro=
m which
> > the guest assumes to start on resume. On resume, guests assume to be ru=
nning in
> > an environment whose state matches the CPU state after reset, e.g. with=
 reset
> > register values, MMU disabled, etc. To ensure this, Xen has to 'reset' =
the
> > VCPU context and save the resume entry point into program counter befor=
e the
> > guest's VCPU gets scheduled in on resume. This is done when the guest r=
esumes.
> > Xen also needs to take care that the guest's view of GIC and timer gets=
 saved.
> > Also, while a guest is suspended its watchdogs are paused, in order to =
avoid
> > watchdog triggered shutdown of a guest that has been asleep for a perio=
d of time
> > that is longer than the watchdog period.
> >
> > After this point, from Xen's point of view a suspended guest has one VC=
PU
> > blocked, waiting for an interrupt. When such an interrupt comes, Xen wi=
ll
> > unblock the VCPU of the suspended domain, which results in the guest
> > resuming.
> >
> > *** About suspending/resuming Xen
> >
> > Xen starts its own suspend procedure once dom0 is suspended. Dom0 is
> > considered to be the decision maker for EL1 and EL2.
> > On suspend, Xen will first freeze all domains. Then, Xen disables physi=
cal
> > secondary CPUs, which leads to physical CPU_OFF to be called by each se=
condary
> > CPU. After that Xen finalizes the suspend from the boot CPU.
> >
> > This consists of suspending the timer, i.e. suppressing its interrupts =
(we don't
> > want to be woken up by a timer, there is no VCPU ready to be scheduled)=
. Then
> > the state of GIC is saved, console is suspended, and CPU context is sav=
ed. The
> > saved context tells where Xen needs to continue execution on resume.
> > Since Xen will resume with MMU disabled, the first thing to do in resum=
e is to
> > resume memory management in order to be able to access the context that=
 needs to
> > be restored (we know virtual address of the context data). Finally Xen =
calls
> > SYSTEM_SUSPEND PSCI to the EL3.
> >
> > When resuming, all the steps done in suspend need to be reverted. This =
is
> > completed by unblocking dom0's VCPU, because we always want the dom0 to
> > resume,
> > regardless of the target domain whose interrupt woke up Xen.
> >
> > *** Handling of unprivileged guests during Xen suspend/resume
> >
> > Any domU that is not suspended when dom0 suspends will be frozen, domUs=
 that are
> > already suspended remain suspended. On resume the suspended domUs still=
 remain
> > suspended (unless their wake interrupt caused Xen to wake) while the
> > others will be thawed.
> >
> > For more details please refer to patches or the design specification:
> > https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.h=
tml
> >
> > -----------------------------------------------------------------------=
---------
> > CHANGELOG
> >
> > In this cover letter and in the commit messages within the changelog se=
ction:
> > - patch series V1 refers to https://marc.info/?l=3Dxen-devel&m=3D154202=
231501850&w=3D2
> > - patch series V2 refers to https://marc.info/?l=3Dxen-devel&m=3D166514=
782207736&w=3D2
> >
> > Changes introduced in V3:
>
> So this series is v3?

Yes, it's version 3, but I didn't add the version tag because years
passed between these
three versions, and the previous version of the patch series didn't
include the correct tag
either. If you'd like, I can add the correct version tag during the
next update of this patch
series.

>
> > Mirela Simonovic (9):
> >    xen/x86: Move freeze/thaw_domains into common files
> >    xen/arm: introduce a separate struct for watchdog timers
> >    xen/arm: add suspend and resume timer helpers
> >    xen/arm: Implement GIC suspend/resume functions (gicv2 only)
> >    xen/arm: Implement PSCI system suspend
> >    xen/arm: Trigger Xen suspend when hardware domain completes suspend
> >    xen/arm: Implement PSCI SYSTEM_SUSPEND call (physical interface)
> >    xen/arm: Resume memory management on Xen resume
> >    xen/arm: Save/restore context on suspend/resume
> >
> > Mykola Kvach (6):
> >    xen/cpu: prevent disable_nonboot_cpus crash on ARM64
> >    xen/percpu: don't initialize percpu on resume
> >    xen/arm: Introduce system suspend config option
> >    xen/char: implement suspend/resume calls for SCIF driver
> >    xen/arm: add watchdog domain suspend/resume helpers
> >    CHANGELOG: Mention Xen suspend/resume to RAM feature on arm64
> >
> > Mykyta Poturai (1):
> >    iommu: Add checks before calling iommu suspend/resume
>
> This series is quite large and complex to review. I am wondering if it
> would make sense to split in smaller chunk so it is quicker to
> review/merge. One split I can think of is:
>
> * disabling CPU (could be tested using the hotplug hypercall)
> * guest suspend/resume (could be tested using xl suspend/resume)
> * System suspend/resume

Okay, I'll split this patch series into a few parts

>
> >
> >   CHANGELOG.md                          |   2 +
> >   xen/arch/arm/Kconfig                  |  11 +
> >   xen/arch/arm/Makefile                 |   1 +
> >   xen/arch/arm/arm64/head.S             | 117 ++++++++++
> >   xen/arch/arm/gic-v2.c                 | 142 ++++++++++++
> >   xen/arch/arm/gic.c                    |  29 +++
> >   xen/arch/arm/include/asm/domain.h     |   3 +
> >   xen/arch/arm/include/asm/gic.h        |  12 +
> >   xen/arch/arm/include/asm/perfc_defn.h |   1 +
> >   xen/arch/arm/include/asm/psci.h       |   3 +
> >   xen/arch/arm/include/asm/suspend.h    |  41 ++++
> >   xen/arch/arm/include/asm/time.h       |   5 +
> >   xen/arch/arm/psci.c                   |  19 ++
> >   xen/arch/arm/setup.c                  |   8 +
> >   xen/arch/arm/suspend.c                | 320 +++++++++++++++++++++++++=
+
> >   xen/arch/arm/time.c                   |  26 +++
> >   xen/arch/arm/vpsci.c                  |  32 +++
> >   xen/arch/x86/acpi/power.c             |  29 ---
> >   xen/common/cpu.c                      |  43 ++++
> >   xen/common/domain.c                   |  30 +++
> >   xen/common/keyhandler.c               |   2 +-
> >   xen/common/percpu.c                   |   3 +-
> >   xen/common/sched/core.c               |  50 +++-
> >   xen/drivers/char/scif-uart.c          |  31 ++-
> >   xen/drivers/passthrough/iommu.c       |   4 +-
> >   xen/include/xen/sched.h               |  15 +-
> >   xen/include/xen/watchdog.h            |   6 +
>
> You also want to update SUPPORT.md for the two/three new features. They
> probably want to be experimental until you fix everything mentioned in
> the cover letter (aside maybe cpu off which can be tech preview).

Got it, I'll make the necessary updates.

>
> >   27 files changed, 945 insertions(+), 40 deletions(-)
> >   create mode 100644 xen/arch/arm/include/asm/suspend.h
> >   create mode 100644 xen/arch/arm/suspend.c
> >
>
> Cheers,
>
> --
> Julien Grall
>

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:02:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:02:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920427.1324595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tus7s-0006qS-7W; Wed, 19 Mar 2025 12:02:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920427.1324595; Wed, 19 Mar 2025 12:02: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 1tus7s-0006qL-52; Wed, 19 Mar 2025 12:02:24 +0000
Received: by outflank-mailman (input) for mailman id 920427;
 Wed, 19 Mar 2025 12:02: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=eFby=WG=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tus7r-0004x6-4g
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:02:23 +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 02c82838-04ba-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:02:20 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5e6f4b3ebe5so11467579a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:02: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: 02c82838-04ba-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742385740; x=1742990540; 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=2aLktUL8XH1NtG5p0p9N1SM0eGtBNzkMXPm5gqw9Wnc=;
        b=WMUU/Wn/6r2A4nRD/ksXhaFtnBoxeCSVIiqK5KFqh7N7Aqe00SPhUVBgo2OzuLM/3t
         KTi9axAXTBT57zUPOn6kDJ8F+YVXajcbr/Qxd7R4jRSaVfY8+tANYs90lz6P87kPfMWu
         U2lwa/rjwRhJHJ+u2kHWEUul+n2u9jIigCyTPj8OO6fi5Jbpn1JCqdhFxWyxPe7U6CVh
         tOxQM5duG9jc69EKxV9XjwXloaiEyj2QjSC63IwHQjMpZV/8ocT85z5/UddRq4UHuywi
         sxpvlsaNQ4YfXqYg/QagmAvJy3z8Je4+ecMpGiPhMaEjff/oVz2wjovVDWFQAZXqTdTG
         qiBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742385740; x=1742990540;
        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=2aLktUL8XH1NtG5p0p9N1SM0eGtBNzkMXPm5gqw9Wnc=;
        b=Y81nLQ1ZE4MsOzx0WS85KjdK3B9vqzD757aV1tDONHHzN0OPGxPWASB79P5nHLnn/W
         eOb/xu3osa5RR+yjrkwSsEhdo3Ur/1J3l82PD8N5h+ZOS3TjSZnQBc+ZzC2DfzYhztnZ
         nLG0ZuDlHuzQ06/ZGk96fh79KG2a82VinsS5u8AXy/W9HAWdKYOK0cKV/ISVWr90mHlI
         82VTelRPaWgsbie3T6PCKciFgMiwbMnq+gscN7vEGS/jYRHxnokuX7bl5P0PA6mRHrB6
         BE7smLpAx1FbycEmnr0JvIGGTjjysiBqKiTcHY2mVE7MD/ubXI74ObxN3rdvFyIcF8TO
         sRhQ==
X-Gm-Message-State: AOJu0YzYZj5UQyPZ1qetH0fdqjMjuQIltAumkBHvicJXjrFi7L6m+Hiq
	sPw6gnZPC6UolEiQmniw6clfcR/2H77mSeU1bSW5xUIEQlYmcuE0RjibEUEo+D60rYvAOT0vBTU
	/7wQq5mkffjlAMOMwqf5H2iw12qcLEg==
X-Gm-Gg: ASbGncsUrltsG3xuYlfSGQymfkHNrI+FIU3umZYIDUQj7nDIEtWj7++xkNYq0Cosw4v
	pfPw4msodTMyvVvZSUvKbQl0M37Vd1kTVqvf3v3rYQc1JqbyH3ivllMngEgTuQgQ2hjRU7drN/m
	jTjT2B2uciWMAjvc0Y0wK5d27d
X-Google-Smtp-Source: AGHT+IFv+XZxKMbkrmHovlREgxwI58/GdI/jym8EA6M8ee6l3+qG5YTs89cfy1lpmF5KgxkbW13EO9ayiBo03OEhAdw=
X-Received: by 2002:a05:6402:84c:b0:5e6:17df:118 with SMTP id
 4fb4d7f45d1cf-5eb80fcea7dmr1873351a12.31.1742385739691; Wed, 19 Mar 2025
 05:02:19 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@gmail.com>
 <27398a82-ecc9-4b4c-b140-2d68de666675@xen.org>
In-Reply-To: <27398a82-ecc9-4b4c-b140-2d68de666675@xen.org>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 19 Mar 2025 14:02:06 +0200
X-Gm-Features: AQ5f1JpsGW7khTf2UtzNoES6Ws0KSXYXIgIw9NqVPZb_PQbl8kK3zu-nxx9aA10
Message-ID: <CAGeoDV-mM6VK0HCLcwX+-WMf2rVjRBKjZ4iz-puEcZeJZ-59MQ@mail.gmail.com>
Subject: Re: [PATCH 01/16] iommu: Add checks before calling iommu suspend/resume
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Mykyta Poturai <mykyta_poturai@epam.com>, 
	Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Mykola Kvach <mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Tue, Mar 11, 2025 at 10:28=E2=80=AFPM Julien Grall <julien@xen.org> wrot=
e:
>
> Hi,
>
> On 05/03/2025 09:11, Mykola Kvach wrote:
> > From: Mykyta Poturai <mykyta_poturai@epam.com>
> >
> > These functions may be unimplemented, so check that they exist before
> > calling to prevent crashes.
>
> Looking at the cover letter, I see you wrote the following:
>
> "Add suspend/resume handlers to IOMMU drivers (there aren=E2=80=99t any
> problems with the current implementation because the domains used for
> test are thin, and this patch series implements only the very basic
> logic)"
>
> which I read as this patch is a temporary hack until we implement IOMMU.
> Is that correct? If so, can you tag it as HACK and move to the end to
> end up to merge it?

Yes, you're right=E2=80=94if we have handlers for suspend/resume in the IOM=
MU driver,
we don't need this patch at all. However, if we drop the iommu_suspend/resu=
me
calls from the system suspend, this commit becomes unnecessary, even within
this patch series.

>
> Cheers,
>
> --
> Julien Grall
>

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:03:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:03:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920438.1324606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tus9L-0007qs-H9; Wed, 19 Mar 2025 12:03:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920438.1324606; Wed, 19 Mar 2025 12:03: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 1tus9L-0007ql-E8; Wed, 19 Mar 2025 12:03:55 +0000
Received: by outflank-mailman (input) for mailman id 920438;
 Wed, 19 Mar 2025 12:03: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=eFby=WG=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tus9K-0007qd-KU
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:03:54 +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 39961b24-04ba-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:03:52 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e5e8274a74so10772436a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05: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: 39961b24-04ba-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742385832; x=1742990632; 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=xxS6w16o89dFteZDSVW101Y6QMwZfp2IX7lE01QHLQk=;
        b=ElEQqzBXnw0dzPol4VEYjcGsqOgXHkcq1Y/guPcIUEo+rfjA+cA+7lViRlcNTxCi4p
         T3ibJc7iIIwI1i2Ehor70pIxKVp1d7XlqcIMi3riapnKseec+qUNpc1MKnkvR8a+5A9V
         3TlzdkpjNn0fsUdS2NEyUsshn0bGobuNiDxlt/eQ0qPTsaX+LQEIwVM+z9NfmsAorv5b
         en26XeQChY31EGxZsndIyopNGyd28P5swIcI+5eB6oLQuJ6OhQzJqjxGqT1hjYruE0Pq
         TyhVnhRaDewn+bkeLHinXOMRU9+7zIK0NA8EW3p884zx6LrfNOMKYSd7cHD4u4Rq9Emf
         pM+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742385832; x=1742990632;
        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=xxS6w16o89dFteZDSVW101Y6QMwZfp2IX7lE01QHLQk=;
        b=DwmqO3Dwl4E4pUw8O8yP9Fun2VAPip/yOirXw7ewfc3vmLsOpYMEM/CHfBqHMBcJ6q
         TpS/TDX3p2ejYLKEmjwNfXpofntfeE8IBnl+IREqGNNoJfy+xFtjZ1gYKpyKrbetHDxS
         EaZiA5BORb1fZCu8xLNS4PWu6laue+TGZGHBTWIQLdUVkXkfjLq9y4FThDLyaP9zuVBn
         FQxYwpyvc5yFgFgo9HeRKOq9bVY+ihN6mDOOUon1RDO/j4K0c/xUdw9vzAdfJ7xUAA0J
         m3aGeZaCOJgsiFRyxLprLHrkGRYTrY+WmY1YAoVeJpZSyRg317GetZLi7esxhb/QvX6W
         9xOw==
X-Forwarded-Encrypted: i=1; AJvYcCXhdRDLfkwc29dDdPBMSeZZmX/zS8k0LTAvj3Ad9S0NF/Z7KsUd3jJHv7y7VLWTBt6P0YbJguZ5xYI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKoI6CUe55niMp2tPS20yzffHPebfGHUacGQorVbxJ5y/WoRjY
	DMGV315mYF1r80L82GYqF6eGSd5jFVVlBDqS54wF844WMVvLsXUjHDo7ezQ/PCWGBeB1gXJTeeA
	fkh0B3o6SmXjp3S4mZtzbshnx3QE=
X-Gm-Gg: ASbGncvwZ2Rr+GB2ogHYwENfMuhb262+/6Hu04+KEwSCJo6Uoyx6VjFu/bVzAdV6J4C
	FQg1EmJZZfSGew/jf/QzB7C6+T6NZetyAJvXzilyKsUA4P5uGLE/d1+KGv/sAIziPgfDYrr5IZb
	DsLhE/ojcdPhtyYaROPbyAWsl9
X-Google-Smtp-Source: AGHT+IGSyAxqDhbDys1Ce3Tuffid5DAtT9SjwMikrqnWTtVqm3lh/iEjpWImrmi3QD7n9QggdFaomsch2xmgR4GlW2w=
X-Received: by 2002:a05:6402:278f:b0:5e6:1842:1346 with SMTP id
 4fb4d7f45d1cf-5eb80fbd591mr2219583a12.30.1742385831739; Wed, 19 Mar 2025
 05:03:51 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <82d394363821b74fb1617e81e6e726a7a25b4028.1741164138.git.xakep.amatop@gmail.com>
 <9a958cb6-d9f3-4bc3-9305-db954902f897@suse.com>
In-Reply-To: <9a958cb6-d9f3-4bc3-9305-db954902f897@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 19 Mar 2025 14:03:40 +0200
X-Gm-Features: AQ5f1JoQmnJiProCjGNE3KAGxjcWtT5NvANhIQRcOUdupm0schrPMPv4sfsRz10
Message-ID: <CAGeoDV8zK89jfq-2uOayUVEAo5uEdGsXqTnyz-9h7+CjBYAtgQ@mail.gmail.com>
Subject: Re: [PATCH 02/16] xen/x86: Move freeze/thaw_domains into common files
To: Jan Beulich <jbeulich@suse.com>
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>, 
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>, Mykyta Poturai <mykyta_poturai@epam.com>, 
	Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 5, 2025 at 6:48=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wrot=
e:
>
> On 05.03.2025 10:11, Mykola Kvach wrote:
> > From: Mirela Simonovic <mirela.simonovic@aggios.com>
> >
> > These functions will be reused by suspend/resume support for ARM.
>
> And until then they are going to violate the Misra rule requiring there
> to not be unreachable code.
>
> > --- a/xen/common/domain.c
> > +++ b/xen/common/domain.c
> > @@ -2259,6 +2259,36 @@ int continue_hypercall_on_cpu(
> >      return 0;
> >  }
> >
> > +
> > +void freeze_domains(void)
>
> Nit: No double blank lines please.

Thanks for pointing that out! I'll fix it in the next version of the
patch series.

>
> > +{
> > +    struct domain *d;
> > +
> > +    rcu_read_lock(&domlist_read_lock);
> > +    /*
> > +     * Note that we iterate in order of domain-id. Hence we will pause=
 dom0
> > +     * first which is required for correctness (as only dom0 can add d=
omains to
> > +     * the domain list). Otherwise we could miss concurrently-created =
domains.
> > +     */
> > +    for_each_domain ( d )
> > +        domain_pause(d);
> > +    rcu_read_unlock(&domlist_read_lock);
> > +
> > +    scheduler_disable();
>
> When made generally available I'm unsure having this and ...
>
> > +}
> > +
> > +void thaw_domains(void)
> > +{
> > +    struct domain *d;
> > +
> > +    scheduler_enable();
>
> ... this here is a good idea. Both scheduler operations aren't related
> to what the function names say is being done here.

I have just moved these functions from x86-specific headers to a common one=
,
but they are still used only for suspend/resume purposes.
It's not a problem for me to adjust the names slightly in the next
version of the
patch series.

>
> Jan

Best regards,
~Mykola


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:06:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920452.1324616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusBK-0008T8-UL; Wed, 19 Mar 2025 12:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920452.1324616; Wed, 19 Mar 2025 12:05: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 1tusBK-0008T1-Rf; Wed, 19 Mar 2025 12:05:58 +0000
Received: by outflank-mailman (input) for mailman id 920452;
 Wed, 19 Mar 2025 12:05: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=9jgP=WG=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tusBI-0008RR-K6
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:05:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060b.outbound.protection.outlook.com
 [2a01:111:f403:2612::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 805c8e49-04ba-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:05:53 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AS8PR03MB9625.eurprd03.prod.outlook.com
 (2603:10a6:20b:5ef::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 12:05:47 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 12:05: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: 805c8e49-04ba-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=l8WBDxuX50x8zoQ0SxDE7RBvOaif0zg/wtVDTyOWZJyLn2+jwt63REYvu1Sc/0WOC2POgVok88SDGs3Dk3W8pqILsrZIBB1wdywk8R3/PD9LJqApxFNV4js6a9gJ/Nruh1JOf5ZAFTpTfJM6OLuiv48/nChoi3X2CU6MjAcmIJu12yX8SWDSlU1Brl1dPUFNj6lWSPuVBx4O8ZYs6W2vceTNTh9c6r8DmkLiiW7nyL+rwm9Ido8rhH2D7Yi8dXs7MSmC0A48xrk3JpxJWaPNlLDufzIfMkUzzsrajz2OUrJ7USOnJ5I9IEwoJYzDVkSnBNvafZGZU7SFr4aBhbCxPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X8huW5gfE0V5JDPHDA/R47hO7EKofd8rQnK3l4TpP+A=;
 b=JqsJfzHmMCg0VmGNIx5pNaM1dNU0yApoXZgBKjwU1LgwE7JwX4m5+F2jfV3AwbtV+P4IsR9tlbNAocuY44+TAXF3LnS3lr0fK6XYSUvdj/pzbRyJ1tW3eHBpzevMhnxw9gqBCUWaIalyBacjCPYH8p2ilYM+UiyV0CuX+4ib97Cb0HE7tQLe+VOnlB0Dai6v+vjIIhzWEysP8GW9KygvvJPDe6tXK6qvC+4Hda1uPlCaaCN27QwsFA6DftogRlCQrJ5aCYvJNdaxbQ/RT6GQ4O0goFWzujdbgrm1qdMn2fG2f0t04uhT1fka0l9k8wJ1EAaU/spO4Q8/R2WEFmT4ug==
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=X8huW5gfE0V5JDPHDA/R47hO7EKofd8rQnK3l4TpP+A=;
 b=BZDCW3hV+wOeTL2uAU+8wseBIb8sy12CAHfpO3tfOrKtZf8V7JaZuihePCB1PLejgZYCWazhnUauw1IQlI/Ayg2OdmVqlY3FxdcZCIJUdgM5sGujHbe0M2AD2DB2INmx4krg8WzhEqD3zlwM8xZbYZw369NWU4pz2pUqqCTLvfiDpg91MiCv9sDspjAF2DLiSxItzmn9WLqlEuczTrijkm3egHLYTTx2OYiHq/RexmHnOjyV1uWguLN09Vq5rkZwTPNeMp0w2yl7SGXpNLQF2b12AhFKnCTQbMm4t2uU/+l8rwFaEW72NwuCvGvNwh0pYlr1ojH7SyQHBAU3Pzk6UA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Topic: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Index:
 AQHaRWELmXttIq3ydUeKyfZPAZRMh7DaobyAgqCezQCAABD4AIAAN9aAgAAPTYCAAWsXAA==
Date: Wed, 19 Mar 2025 12:05:47 +0000
Message-ID: <19d8224a-04e0-45bb-9471-abeb684e9cad@epam.com>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
 <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
 <65f0072f-33c0-4436-8e34-3544d25c9568@suse.com>
In-Reply-To: <65f0072f-33c0-4436-8e34-3544d25c9568@suse.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_|AS8PR03MB9625:EE_
x-ms-office365-filtering-correlation-id: b3313911-bd46-4daa-0385-08dd66de6221
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|376014|7416014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?L2xqVzdYM1RyUTlGeUlvT2xRZWkvajk2RE50ZlFMc2o3bVNUYnJWRDJkNzN2?=
 =?utf-8?B?TU4yNWFwMFo0YWUwdU9Bd0I0SDIwMktZcWZxS1lFYnduQjNOdVJJSzRqZDZ4?=
 =?utf-8?B?OVB3L253dlYyWlFZL0UxSTk0elllRFp6bEhObDhQZDNQWitZbE1xc3BoZ2M4?=
 =?utf-8?B?M3ZpM1VRMHJNYXUrNjV1Y1B4MDgvSmg5aTQ0ZG9OOHVERHMxdTlTK2pOTy9X?=
 =?utf-8?B?T2lTSXhBYkRENGpIYnRKSGp6VHNSQ3J3RWJ0aFIwY0s2SDNKVWRoaStWd0lk?=
 =?utf-8?B?U2tIOU5QYTY1K1VzMmZFT2lGa2FBOVFEZHUzM1Y1aHJQVDVoUTgxREZqR2Ja?=
 =?utf-8?B?MVlXenA0UFhWSGdDdkt6S2IrZTIxWXNkNjJUYXNzWnNEVXgzbGVaQ1ZzSmFJ?=
 =?utf-8?B?YUZOS3hZNjVhNDRZZ1cvMWxDYmhUM1IyTFk2dFRnamtQbFYrS1gvZlJFbElz?=
 =?utf-8?B?VDhIdXJEcWc4bitFNjRUZ0pFcnkrd1gxUmhYTkhYMndSYTdzNVVsdmVMdVVr?=
 =?utf-8?B?R1ZQcHNpTHRQd0xibHpEUDArek5UV0lFK2ZZbThjczRZclc0NFNQUHh4Zyt5?=
 =?utf-8?B?VjNLMCtER3I2YnJ0WTRrQ0VRR3Vma3prYllzYjVUcXZUZDJLU0xKaEJFREFO?=
 =?utf-8?B?ZEVMM2lwWklqQVJib0lDdlB2U0JqYlkxaWp2NXc4SXA0MHBrSEllUmIyRXUz?=
 =?utf-8?B?NEMramVxaldzU1UvY2Z5NzVnelhhbmtkQ1JVdC9yelNUSWROYTc4dGJZZE5R?=
 =?utf-8?B?dE5td0dCdGUySU9oR09wc0gvMjNGaFJIY1BQMHgvenI3V0Q3OFIwN1dFYzd3?=
 =?utf-8?B?dnFYZk9SOEFPcW9JV1Q3RWFwTkhhQ1hrbTJpZXpjZmtjUzY1b2NHcG94cEZZ?=
 =?utf-8?B?Tng1eTYyZUZxSjZLdXovN1dtUlZiYThHMVQ5VEdWdnRLWldUNVlSSmJYaVlo?=
 =?utf-8?B?bUl3SUpMWlJleXlqbWtpN1ZIRDBvYW84Vk9xUWxTb3dXYnE3eExCbkJXM0Jk?=
 =?utf-8?B?ZDhHVlJ2VjFidlFvVERreHBockY3bjVlQ3JNN3ZLOXdGL3pFRzJ5ZFRqWkFp?=
 =?utf-8?B?T3BUaVJQSml2UlNpeS91OEdwamwzdVEwbHlVZFBxa0hiVGpuSWJFR1g2QXdS?=
 =?utf-8?B?MERXdENwcDJ1UXgySjZpcTFzUlBnZFBsbVNubVk4Mlo1dXdHSTgzTmFuMllM?=
 =?utf-8?B?ZHA1OW1YWXNWZmY2NE9LbjdKa0t3dnhNNWxsWHFzMVZDRkJRL1p1MFptbVMx?=
 =?utf-8?B?dlFFVEI0Rlh3czY1cGw1OTVCWUI2ODFueW9kZjRXNktUM0NMbUlNWnR4aE8r?=
 =?utf-8?B?Q2REUzJYWEV6ek1vbU15eXBoRUNwS1JQekJoR25ncU1BdTJtVW5xbUdVZUxo?=
 =?utf-8?B?emkxbTZ2dDArWSt1bktXalIzeFZFdjI3YnZxUURJTkV1cTlrM1B5Yml4SFVi?=
 =?utf-8?B?YkpWamRuQXFuZ0JhekRGODBNZmpHdWhxdXA0ZDd3KzVSVEs2Sm04NHZqalZM?=
 =?utf-8?B?WW5wRkl4Y2lOdmFyU3EyR3gySXhabEdYcWhMSHlhQ2c1eW1QNFRuMGs0L1lq?=
 =?utf-8?B?Y3RMeG41MXdBcy9mTkx5S1lWcVBoYVMvNUVWU2hGZWtRaHFucSsxNEFTRGJP?=
 =?utf-8?B?UmVZb0FWTWszNnNQVHRpSFo5SnFmOVFMTG05STJ0NlBhSXBRajBvTVZGL0RM?=
 =?utf-8?B?UjJWR0kzekhTdWl4MFRsL0JLL2QwK1ZxYUFvbk1RaEVPbFVNVXd6YVgyKzZP?=
 =?utf-8?B?a1puRE9reFIzeG1tbDIwVUJLaEk3Sy9ZR05PWi96RmpER3p0Q3l1MDhDWi9G?=
 =?utf-8?B?SDIxUnlsb2hVZFE1NmpKRk4zNjcyeEFNWEdwNzQ1NFRvd2plNDA2TlRCQ1ZG?=
 =?utf-8?B?VXcvbTd0dlFjdUxqRGFscVJQOVlDNUNsdHFCMUhMMVhwaGc9PQ==?=
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)(1800799024)(366016)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T3oxZ21iSEhJczVXNGU0UFF5YjFiTFRJSWlkMy85dTVVSE1RTmQ3Qjk0bjRX?=
 =?utf-8?B?aWFmSlVOVXFJaUNic2ZMdHR6VkdkMFlKTUszNHhWWW1tcmN5Sy9GWVJOenpO?=
 =?utf-8?B?amlXS0poNHI3NHFNOWdxN091SzI5WHFCT1g3Ym9yN09GM29FUDVpbE9FZDNV?=
 =?utf-8?B?dlo4U3NEWXNVc3N5cGJ3Z3NmVWtuYTdMRjNUOWFTOXZHS2FSdjBjU2Nqb2JU?=
 =?utf-8?B?V0o5V2tETVkvVmJkZmlKandzNG1SYmtYRHp3VjVKR3VOeXc0KzA4Z09GeWRM?=
 =?utf-8?B?Ukp6Q2lUeUxKRE9pSFp1c1JvR0p6bmV2dTBFMkc4dVd6T09oc2loelBjZUFJ?=
 =?utf-8?B?S0xQYVJIdXFScWtja3BxMTU5N1NtTk1zOWo4R054eFZ6OGVMYVJVZEx6Unc0?=
 =?utf-8?B?ZkliTnZtdlQxSUMramEwd0lDZTBtaC9CbmtpeG5TTDdaNHp2bG5Xb1JMdlJ5?=
 =?utf-8?B?TWsyNUpCcTNqRVRXVU9ndmlMZ3BWYzdBeFJ2ZW1oYmVkOFR6VXdpWU4ySXpD?=
 =?utf-8?B?M3ZXTnBZbGM2anpkMWJuajk1eDJwYk42UG1BdXppZ2llL3FKbWxoTTFhTmQ4?=
 =?utf-8?B?UlMvOXJVS0c3Nlh0M3Y0bFo1b01SVENuUmdJT1c0bUh3ZXkwaGNiQzZsNEt5?=
 =?utf-8?B?TTlvSHcwckZnUVZTUVVMRWoxczdYWjF0NUszRnQ5WnU5ZlBEc2hmeEdoNGls?=
 =?utf-8?B?eG90clhYekRZblJ0Tys1OUQxLzE5STRhNXI4ODRDSkZ4UFRtUHZIaU1SZHpH?=
 =?utf-8?B?bzdIVUJBNER0dXZFNjhueHZRSjVEaUFQclFYbnRZN3A4TERnQkFSOW0yeWdQ?=
 =?utf-8?B?RDFuUitwTFk0ZUMrblBycE1aaFJOaEJHa1AwZXJOMmFId214ZU9HUEp3RkNF?=
 =?utf-8?B?UWQ2V3g5aUtkV0VpcjZEWVUzMFNuNHlvTG13cC9uYXIvdmpaTE5HLzZqNnZm?=
 =?utf-8?B?SmgrVDRvdHZuT1Vyc05KN0duUjlLRzRWT05GcHI5WjJnWjNjUERlak5CZW1n?=
 =?utf-8?B?WDVkQk1MQUkxYnhpOTFraFNsM1NDOUV5dXJqOWxIOEVXamc2Q3JIajh3MzB3?=
 =?utf-8?B?QW5wQ1l1TTlXQjk1QlA2aUlIZDVNT3lQQkV6Uy9kR0ZYS0hxSHJlTEFpNnJ1?=
 =?utf-8?B?WFExdXdBL0JoN09zK0FkNEt5UXVNaUNFV1dITVlUUWwzalFtYWVLd0xYYVNj?=
 =?utf-8?B?WlhmK2FhYkM5SkIzbzlGanpvUzVTYXFpZk94NTBhbGxvUHhGSEFvem5ZUzBS?=
 =?utf-8?B?dCtkc2FEaGZpYUt5clFQd3VQUEN3OU9XWExGSVZvN0pHeWppeHpBZ092RTVq?=
 =?utf-8?B?WG9TVW1ESWl4Q3hXUTlqM3pKYVVvR2xxVm1xODBQdlQ5UjVSUnJtSGhqU2w5?=
 =?utf-8?B?UnNUNEordjdOL0hQL05yTzRlVlRHSXhiTWx5R0tMV2F2alhWRTBvb21pK2hD?=
 =?utf-8?B?aEM2ZUczbXVyTEhWMjZPcHM0OEVhdXptdFRwTUVGc2dYN1pDcmczaVBsMTRY?=
 =?utf-8?B?VTZsZGk2aHdkT1dac0Q5Tk1VQjZ0c2R4NDlnWWJXWWNVVlJQTkc3OU1RL09Q?=
 =?utf-8?B?SFloa1B6SlFwazNMYW9YVVdUS0diak9hdm56bGlFcEhVdCtRYnJSYllrRFE3?=
 =?utf-8?B?Nm9HcHlWMzJMemRMZWd1RWdKOG1IQVo3bTgwNnhMMVo2Wklxbkw0Q3BTclFV?=
 =?utf-8?B?aytlekJKK3dVcGR6WWpIeUVJQ3Y0ZjdnZmMwQzZsNVhLQTgxRm91SmUvc2Vq?=
 =?utf-8?B?UmxoZlZzaVpmRW44LzRncEd1MTMrYXk1QVVHVEkzZW9BY2x5cDI2cUdYRTNQ?=
 =?utf-8?B?OVFsMFFjZWl1cEw2MGwvend1cnlDazZOY0tidDd3blZKVm0zU1F4NVNENHk1?=
 =?utf-8?B?NHF4Wk5sTGJsK1FYQ0QzQ0EzZlh6Rms4ckloRVEzUDJCbUd1RjBBUyszamd5?=
 =?utf-8?B?eCsyeDlIK1FzTlFjOTVWaVN4RHFFY0x5eFgwTGpCMWhzcWVRYWRXNDYvODY3?=
 =?utf-8?B?U3ozaWpCclYzczlZVDdmM0ZHQzBLZmpnc1VUY3VVQjlsNjVyVnd5SFVFTlN1?=
 =?utf-8?B?Lzg1L3M4V2NybXBSTW5PbmJZeGtJVDlhZFd6dEFQSUZ5eWQ0S1FZSDNyWUFP?=
 =?utf-8?B?ZGtWb0RxOHVsQlo2SitMQ0dXSUtDOCsxSkoyOWFaRGRiYVB3RTFNYktvRjMx?=
 =?utf-8?B?Tnc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B210943355EC4C4586D6E89864D42CCB@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: b3313911-bd46-4daa-0385-08dd66de6221
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2025 12:05:47.1005
 (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: 9hGsW1RtgXKEHubVPNAsOZqVTpY2WXPbFWeprdLV/ZkJzaapvp4N+9FQEOv8GBq9BLbkiMjTG65zRju7SFdZwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB9625

T24gMTguMDMuMjUgMTY6MjYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxOC4wMy4yMDI1IDE0
OjMxLCBNeWt5dGEgUG90dXJhaSB3cm90ZToNCj4+IE9uIDE4LjAzLjI1IDEyOjExLCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+PiBPbiAxOC4wMy4yMDI1IDEwOjEwLCBNeWt5dGEgUG90dXJhaSB3cm90
ZToNCj4+Pj4gT24gMTUuMDEuMjQgMTE6MzUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+Pj4gT24g
MTQuMDEuMjAyNCAxMTowMSwgTXlreXRhIFBvdHVyYWkgd3JvdGU6DQo+Pj4+Pj4gLS0tIGEveGVu
L2luY2x1ZGUvcHVibGljL2h2bS9kbV9vcC5oDQo+Pj4+Pj4gKysrIGIveGVuL2luY2x1ZGUvcHVi
bGljL2h2bS9kbV9vcC5oDQo+Pj4+Pj4gQEAgLTQ0NCw2ICs0NDQsMTcgQEAgc3RydWN0IHhlbl9k
bV9vcF9ucl92Y3B1cyB7DQo+Pj4+Pj4gICAgIH07DQo+Pj4+Pj4gICAgIHR5cGVkZWYgc3RydWN0
IHhlbl9kbV9vcF9ucl92Y3B1cyB4ZW5fZG1fb3BfbnJfdmNwdXNfdDsNCj4+Pj4+Pg0KPj4+Pj4+
ICsjZGVmaW5lIFhFTl9ETU9QX2luamVjdF9tc2kyIDIxDQo+Pj4+Pj4gKyNkZWZpbmUgWEVOX0RN
T1BfTVNJX1NPVVJDRV9JRF9WQUxJRCAoMXUgPDwgMCkNCj4+Pj4+PiArDQo+Pj4+Pj4gK3N0cnVj
dCB4ZW5fZG1fb3BfaW5qZWN0X21zaTIgew0KPj4+Pj4+ICsgICAgdWludDY0X2FsaWduZWRfdCBh
ZGRyOw0KPj4+Pj4+ICsgICAgdWludDMyX3QgZGF0YTsNCj4+Pj4+PiArICAgIHVpbnQzMl90IHNv
dXJjZV9pZDsgLyogUENJIFNCREYgKi8NCj4+Pj4+DQo+Pj4+PiBTaW5jZSB0aGUgY29tbWVudCBz
YXlzIFNCREYgKG5vdCBCREYpLCBob3cgYXJlIG11bHRpcGxlIHNlZ21lbnRzIGhhbmRsZWQNCj4+
Pj4+IGhlcmU/IEF0IGxlYXN0IG9uIHg4NiAoVlQtZCBhbmQgVi1pKSBzb3VyY2UgSURzIGFyZSBv
bmx5IDE2IGJpdHMgaWlyYywNCj4+Pj4+IGFuZCBhcmUgbG9jYWwgdG8gdGhlIHJlc3BlY3RpdmUg
c2VnbWVudC4gSXQgd291bGQgZmVlbCB3cm9uZyB0byB1c2UgYQ0KPj4+Pj4gMzItYml0IHF1YW50
aXR5IHRoZXJlOyBJT1cgSSdkIHJhdGhlciBzZWUgdGhpcyBhcyBiZWluZyB0d28gMTYtYml0IGZp
ZWxkcw0KPj4+Pj4gKHNlZ21lbnQgYW5kIHNvdXJjZV9pZCkuDQo+Pj4+DQo+Pj4+IEknbSBwbGFu
bmluZyBvbiByZXN1bWluZyB0aGlzIHNlcmllcyBpbiB0aGUgbmVhciBmdXR1cmUgYW5kIHdhbnQg
dG8NCj4+Pj4gY2xhcmlmeSB0aGUgRE0gb3AgaW50ZXJmYWNlLg0KPj4+Pg0KPj4+PiBXb3VsZG4n
dCBpdCBiZSBiZXR0ZXIgdG8ga2VlcCB0aGluZ3MgY29uc2lzdGVudCBhbmQgdXNlDQo+Pj4+IFhF
Tl9ETU9QX1BDSV9TQkRGIGFzIGl0J3MgZG9uZSBpbiB4ZW5fZG1fb3BfaW9yZXFfc2VydmVyX3Jh
bmdlPyBBbHNvDQo+Pj4+IHdpdGggdGhpcywgdGhlIHZhbHVlIGNhbiBiZSBlYXNpbHkgY2FzdGVk
IHRvIHBjaV9zYmRmX3QgbGF0ZXIgYW5kIHNwbGl0DQo+Pj4+IHRvIHNlZ21lbnQgYW5kIEJERiBp
ZiBuZWVkZWQuDQo+Pj4NCj4+PiBUaGUgZXNzZW5jZSBvZiBteSBlYXJsaWVyIGNvbW1lbnQgaXM6
IE5hbWluZywgY29udGVudHMsIGFuZCBjb21tZW50cyBuZWVkDQo+Pj4gdG8gYmUgaW4gc3luYy4N
Cj4+Pg0KPj4+IEkgcXVlc3Rpb24gdGhvdWdoIHRoYXQgImNhc3RpbmcgdG8gcGNpX3NiZGZfdCIg
aXMgdGVjaG5pY2FsbHkgcG9zc2libGUuDQo+Pj4gTm9yIGFtIEkgY29udmluY2VkIHRoYXQgaXQg
d291bGQgYmUgZGVzaXJhYmxlIHRvIGRvIHNvIGlmIGl0IHdhcyBwb3NzaWJsZQ0KPj4+IChvciBp
ZiAiY2FzdGluZyIgd2FzIGludGVuZGVkIHRvIG1lYW4gc29tZXRoaW5nIGVsc2UgdGhhbiB3aGF0
IHRoaXMgaXMgaW4NCj4+PiBDKS4gU2VlIG15IHJlY2VudCBjb21tZW50cyBvbiBzb21lIG9mIEFu
ZHJpaSdzIHBhdGNoZXMgWzFdWzJdLg0KPj4+DQo+Pj4gSmFuDQo+Pj4NCj4+PiBbMV0gaHR0cHM6
Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjUtMDMvbXNnMDEyOTQu
aHRtbA0KPj4+IFsyXSBodHRwczovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2
ZWwvMjAyNS0wMy9tc2cwMTMwMS5odG1sDQo+Pg0KPj4gV291bGQgc29tZXRoaW5nIGxpa2UgdGhp
cyBiZSBva2F5IHRoZW4/DQo+Pg0KPj4gc3RydWN0IHhlbl9kbV9vcF9pbmplY3RfbXNpMiB7DQo+
PiAgICAgICAvKiBJTiAtIE1TSSBkYXRhIChsb3dlciAzMiBiaXRzKSAqLw0KPj4gICAgICAgdWlu
dDMyX3QgZGF0YTsNCj4+ICAgICAgIC8qIElOIC0gSVRTIGRldmlkIG9mIHRoZSBkZXZpY2UgdHJp
Z2dlcmluZyB0aGUgaW50ZXJydXB0ICovDQo+PiAgICAgICB1aW50MzJfdCBzb3VyY2VfaWQ7DQo+
PiAgICAgICB1aW50MzJfdCBmbGFnczsNCj4+ICAgICAgIHVpbnQzMl90IHBhZDsNCj4+ICAgICAg
IC8qIElOIC0gTVNJIGFkZHJlc3MgKi8NCj4+ICAgICAgIHVpbnQ2NF9hbGlnbmVkX3QgYWRkcjsN
Cj4+IH07DQo+Pg0KPj4gQWRkZWQgcGFkZGluZyBhbmQgZXhwbGFpbmVkIHNvdXJjZV9pZCBwdXJw
b3NlIGJldHRlci4NCj4NCj4gSSBmZWFyIHRoZSBjb21tZW50IGlzIGZhciBmcm9tIG1ha2luZyBj
bGVhciB3aGF0IGxheW91dCBzb3VyY2VfaWQgaXMgdG8NCj4gaGF2ZSwgaGVuY2UgYWxzbyBsZWF2
aW5nIG9wZW4gd2hldGhlciBhIHNlZ21lbnQgbnVtYmVyIGlzIGluY2x1ZGVkIHRoZXJlLg0KPiBP
ZiBjb3Vyc2UgdGhlIGlzc3VlIGhlcmUgbWF5IGJlIHRoYXQgSSBoYXZlIG5vIGNsdWUgd2hhdCAi
SVRTIGRldmlkIg0KPiBtZWFucyBvciBpbXBsaWVzLiBXaGF0IGlzIGNsZWFyIGlzIHRoYXQgIklU
UyBkZXZpZCIgaXMgbWVhbmluZ2xlc3Mgb24NCj4geDg2LCBmb3IgZXhhbXBsZS4NCg0KSVRTIGRl
dmlkIGlzIGltcGxlbWVudGF0aW9uIGRlZmluZWQuIEl0cyBzaXplIGlzIGFsc28gaW1wbGVtZW50
YXRpb24NCmRlZmluZWQgYnV0IHVwIHRvIDMyIGJpdHMuDQoNClF1b3RlcyBmcm9tIEFybSBCYXNl
IFN5c3RlbSBBcmNoaXRlY3R1cmVbMV06DQogPiBUaGUgc3lzdGVtIGRlc2lnbmVyIGFzc2lnbnMg
YSByZXF1ZXN0ZXIgYSB1bmlxdWUgU3RyZWFtSUQgdG8gZGV2aWNlDQp0cmFmZmljIGlucHV0IHRv
IHRoZSBTTU1VLg0KID4gSWYgYSByZXF1ZXN0ZXIgaXMgYSBicmlkZ2UgZnJvbSBhIGRpZmZlcmVu
dCBpbnRlcmNvbm5lY3Qgd2l0aCBhbg0Kb3JpZ2luYXRvciBJRCwgbGlrZSBhIFBDSWUgUmVxdWVz
dGVySUQsIGFuZCBkZXZpY2VzIG9uIHRoYXQgaW50ZXJjb25uZWN0DQptaWdodCBuZWVkIHRvIHNl
bmQgTVNJcywgdGhlIG9yaWdpbmF0b3IgSUQgaXMgdXNlZCB0byBnZW5lcmF0ZSBhDQpEZXZpY2VJ
RC4gVGhlIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBEZXZpY2VJRCBzaG91bGQgYmUgYW4gaWRl
bnRpdHkgb3INCmEgc2ltcGxlIG9mZnNldC4NCg0KT24gdGhlIFhlbidzIHNpZGUgaXQgaXMgdXNl
ZCBhcyBhbiBvZmZzZXQgaW50byB0aGUgSVRTIHRyYW5zbGF0aW9uDQp0YWJsZXMgYW5kIGlzIHNv
dXJjZWQgZnJvbSBtc2ktbWFwIG5vZGVzIGluIHRoZSBkZXZpY2UgdHJlZS4NCg0KUHJhY3RpY2Fs
bHkgZm9yIFBDSSB0aGUgcmVxdWVzdGVyIElEIGlzIHVzdWFsbHkgdGhlIFNCREYuIFdoZXJlIHRo
ZQ0Kc2VnbWVudCBpcyB1c2VkIHRvIGZpbmQgdGhlIGhvc3QgYnJpZGdlIG5vZGUgdGhhdCBjb250
YWlucyB0aGUgbXNpLW1hcA0Kbm9kZSB3aXRoIGRlZmluZWQgb2Zmc2V0cyBidXQgaXQgaXMgYWxz
byBpbmNsdWRlZCBhcyBwYXJ0IG9mIGFuIGlkLg0KVGhhdCdzIHdoeSBpdCB3YXMgb3JpZ2luYWxs
eSBjYWxsZWQgU0JERiBpbiB0aGUgY29tbWVudC4gSSBkb24ndCBrbm93IGlmDQp0aGVyZSBpcyBh
IGJldHRlciB3YXkgdG8gZGVzY3JpYmUgd2hhdCBpdCBpcyBjb25jaXNlbHkgaW4gdGhlIGNvbW1l
bnRzLg0KDQo+IEknbSBmdXJ0aGVyIHB1enpsZWQgYnkgIihsb3dlciAzMiBiaXRzKSIgLSBpc24n
dCB0aGUgZGF0YSB3cml0dGVuIHRvDQo+IHRyaWdnZXIgYW4gTVNJIGFsd2F5cyBhIDMyLWJpdCBx
dWFudGl0eT8NCj4NCj4gSmFuDQoNCkhtbSwgaXQgYWN0dWFsbHkgaXMsIEkgY29waWVkIHRoaXMg
bGluZSBmcm9tIHhlbl9kbV9vcF9pbmplY3RfbXNpLCBub3QNCnN1cmUgd2h5IGl0IGlzIHNwZWNp
ZmllZCBsaWtlIHRoYXQgdGhlcmUuIEJ1dCBJJ2xsIHJlbW92ZSB0aGlzIHBhcnQuDQoNClsxXTog
aHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwOTQvbGF0ZXN0Lw0K
DQotLQ0KTXlreXRhDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:11:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920468.1324627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusGr-0002V2-HV; Wed, 19 Mar 2025 12:11:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920468.1324627; Wed, 19 Mar 2025 12:11: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 1tusGr-0002Uv-DR; Wed, 19 Mar 2025 12:11:41 +0000
Received: by outflank-mailman (input) for mailman id 920468;
 Wed, 19 Mar 2025 12:11: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=eFby=WG=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tus7I-0004qj-6l
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:01:48 +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 ef3613fd-04b9-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:01:47 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-54963160818so8067935e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 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: ef3613fd-04b9-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742385707; x=1742990507; 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=pVmeo6Y0RDkn1EjaWXin4s++GEMsr3bFGu5VWGkSJV0=;
        b=CfA6g7qAMjCeD5enGJ6Lia4MnDZL/z6AheE36goFsS2trfqZ4J1LkaRGM4qc50SFq+
         I2p/gwi/YLwaCy3zKkcBtrUN78gMbTdJ7VsxMotq/Ao6gdEndH7WzKC60pJUhuwmPH1u
         QncgKpqbj/Fy9gNAfFa1sHwKJz8w9qPgGhtyZhq67zBc6tDX0f6jEWzM+abjBvbboEIt
         HUE4JokfiKbDHJCACWRHi5r7B40RxP8dwhWqRQDpK+azNW94/ybQp9/88+Cv8cdTDzp8
         VWpSEGP7bXUFcXw+q9LpxC75txbBZ5sfW2ITH/lWkRXSwt6yoGeex1/x4J3LKV7YythO
         ne+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742385707; x=1742990507;
        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=pVmeo6Y0RDkn1EjaWXin4s++GEMsr3bFGu5VWGkSJV0=;
        b=TMvTaW2qnbY+97RsqAfFjBtnIpRKkcWghosClp5/B6IZDDOkB/Lqc5GnxhtkbQ1Hpa
         yMvLuMXK7leoSmGoMtVNpH5ieLe3AerLBouL417y2oOVEtzBmNhCIDYvIPp1cTWQmOlC
         fSlqJ4vu0BmnKa43zeDHC070mYdc83gxCNqq3j5x6mGz/0nQgpqW7KcWuoddOr90CAW5
         FIyEJPduqeVOzA4MIn7hKE20ZfVMV+62Qsh35/XVgYrkd4k//lWXU9DKNd5SGKXVJht1
         vg220Qu8AtbDeuQDMqOyHhPP2O5d8ur0uKMMc2tgB3dlXPNKCIEEf+0LImLTZzJwul/X
         Gf7A==
X-Forwarded-Encrypted: i=1; AJvYcCUz3VL6Lkv6n0RIxwZzCZh6tsusm2arrPmKDDuKenjAxdEBVgyBQbTUjoJI4hqX1nH0oI2sEa4jOpM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyeK9K4JWGFJhq2rhW/2G09taFYfoU1quHjJzTNJ2eCu45GjpEd
	K7W+HaukoyoCe48x0gXyx2/5853z7ngZ21LcBK23sbFE82t3vtx+9NOODITgq1UxHg1WLKgLyuT
	6zqGcj03Hh9iLbGrb5GQvBNE0Jjw=
X-Gm-Gg: ASbGnctlxOVkyNRF9HlrLB3ZrhpZzrRQWl1654LwtjVo2bWjidwLEjEYk8yGEpAv3Pj
	0ZB+2vrdgnDlXRgNO0Ev4stp6/aJxDGkCYp6MXSRn9FHjsH/pth88E1A7BIZas7mYMCdAYOFfO2
	XJy9xpQhfxgHvkv6OrbfQ4Fm3s
X-Google-Smtp-Source: AGHT+IFCJoAYVIL+bf3id137lhB7Kyr3FgOLAUdCRwi6SN0rrw4yd9nFp4R38SAFTjIxeHPeNGC+gwdBhIxo2S9OJ/k=
X-Received: by 2002:a05:6512:1246:b0:549:b1c1:4d76 with SMTP id
 2adb3069b0e04-54acb19d0eemr825937e87.5.1742385706753; Wed, 19 Mar 2025
 05:01:46 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@gmail.com>
 <2caf2bc0-d915-413e-ac76-cc70f9010ebe@suse.com>
In-Reply-To: <2caf2bc0-d915-413e-ac76-cc70f9010ebe@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 19 Mar 2025 14:01:35 +0200
X-Gm-Features: AQ5f1JoQDUSsdTP8oue3-Ptopnn2D-xmiHXoo30rrDI_IZeL8TfQkOLBEMQd2wc
Message-ID: <CAGeoDV8=F1suS+0DJAV4uOh1vtMWwV41wwqDx9115t004BWvRw@mail.gmail.com>
Subject: Re: [PATCH 01/16] iommu: Add checks before calling iommu suspend/resume
To: Jan Beulich <jbeulich@suse.com>
Cc: Mykyta Poturai <mykyta_poturai@epam.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Wed, Mar 5, 2025 at 6:45=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wrot=
e:
>
> On 05.03.2025 10:11, Mykola Kvach wrote:
> > --- a/xen/drivers/passthrough/iommu.c
> > +++ b/xen/drivers/passthrough/iommu.c
> > @@ -613,7 +613,7 @@ int __init iommu_setup(void)
> >
> >  int iommu_suspend(void)
> >  {
> > -    if ( iommu_enabled )
> > +    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->suspend =
)
> >          return iommu_call(iommu_get_ops(), suspend);
> >
> >      return 0;
> > @@ -621,7 +621,7 @@ int iommu_suspend(void)
> >
> >  void iommu_resume(void)
> >  {
> > -    if ( iommu_enabled )
> > +    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->resume )
> >          iommu_vcall(iommu_get_ops(), resume);
> >  }
>
> When iommu_enabled is true, surely iommu_get_ops() is required to return
> non-NULL?

As far as I can see, in some cases, the handler is still checked even
if iommu_enabled
is true, such as in the case of the iommu_quiesce call. However, it
might be better to drop
this patch from the current patch series or add a patch that
introduces the handlers.

>
> Jan

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:12:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:12:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920479.1324636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusHb-0003Id-Of; Wed, 19 Mar 2025 12:12:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920479.1324636; Wed, 19 Mar 2025 12:12: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 1tusHb-0003IW-Lj; Wed, 19 Mar 2025 12:12:27 +0000
Received: by outflank-mailman (input) for mailman id 920479;
 Wed, 19 Mar 2025 12:12: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tusHa-0002uH-PB
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:12:26 +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 6ad21ba4-04bb-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:12:24 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso4373555e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:12:24 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f8679bsm17513295e9.40.2025.03.19.05.12.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:12: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: 6ad21ba4-04bb-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742386344; x=1742991144; 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=PYmYQ+6yJCJzf7IfSWBQl9dLR5kwDAiOSFcV3EDLZxc=;
        b=sBKYxNCR9fGrkTXqcOgKIUi1ibEktrIr9+k/1UdYbLqz0zDZ7GSKtVFDo6uessAEhK
         iSrWnKsjMiAB+dNRUxPXH01lYFxUMQDSkaaSv2ODwefTuTWhRX43LSs5RnzBXHWi3swE
         1LvnFk1xnDNh78QDHvt6Furl+VOvnFD8k4few=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742386344; x=1742991144;
        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=PYmYQ+6yJCJzf7IfSWBQl9dLR5kwDAiOSFcV3EDLZxc=;
        b=c4uAZk4uJHUGX1SNsftogXY5qjfysBbw27MqCWwsALJ+mzK+rbJwqliltYBeIRu3gL
         I7Vni8K7UGiX9WgxFUIdA8Y3WAaJtnifEKKpXFlnJ63/QSxNxyCQcfG6hIYPqE8JwNG3
         GecMJkWQEWenC3GNgItvOaAhi+c26x+NKHdI7FuqcZ/bz/si1e766/Gd6Q6wJ8LMY4Dy
         4Nq1z3nLDs0L+8z0p3k0+E9db/y5LxZ7Em1SKyVapBFvPQRdDt7s52dYF+7vCq26/v1V
         HoRT6E3qRvKfLvz/d2jaW3LWLTN4mLgIk2V3WbvM+hBRSAH72/4ZCt67CYQhnpgQS23R
         yRUQ==
X-Forwarded-Encrypted: i=1; AJvYcCXRuhr2U5MzSmInnOLAEcZX1aLb4Qcx2BDDmacpovB+/SkcgKWSEtN8Etl4N4SVcg9tBrVyPC1RK6o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxxBopGA8s5ZeOXIfEqG5whi0pG9+N7umHvi/v/1cWE6gfsS3Oj
	Y5YL4pjjkkrnkmnR53Jl8VvHYIQNP1dYM/cUZW3EYy0WPkyk7a7lVhUaoAZPq9E=
X-Gm-Gg: ASbGncvUUiinc8rKqBJVD9tEftQ/uxXmakfDGl/4yphgqyv5tGhRCg0XfeAi97CUrVQ
	O3SyLCaCVM9aIn4KhVA0azjLxbW11hw2zOQDkI18qZKqhZZCUaLI7tcIOaKNw+yOklf9c5gDpcE
	Aj5bcbkxkWh2GUFr8MrF3QYKpxl4WsN0NscoJvvJ73GBxYm7DI2smAa+TtthqhtNF4lpeW0ErDR
	iR9dWIXWG10sY15bL2wkWd7buLE5E/bLULwoPVRC4S4DTO+0ZodAPipJTcgSdPSj9g6xbP5rvRO
	OXMGICBhyPgDVsbqlOU1DZwPSgKM6Kqr3h/UdSXzwVAwfkb+Yr+qmtYVIdcgHPInItQYrGr2QVP
	7XkYKUx8M
X-Google-Smtp-Source: AGHT+IFNA2i+p4SnHPxP7Yfu/uEXmvRvZQmnWDJKHQ9PDu9IedmFdiOmqHddd3VBsLUmDDb/opcQgg==
X-Received: by 2002:a05:600c:6b11:b0:43b:c305:3954 with SMTP id 5b1f17b1804b1-43d3b99b942mr49345695e9.8.1742386344046;
        Wed, 19 Mar 2025 05:12:24 -0700 (PDT)
Message-ID: <5b959741-2e51-4576-9219-df495d0e30be@citrix.com>
Date: Wed, 19 Mar 2025 12:12:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PVH: account for module command line length
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 <jandryuk@gmail.com>
References: <730d8143-8cda-49da-a48a-3b82c2b77c9d@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: <730d8143-8cda-49da-a48a-3b82c2b77c9d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 11:18 am, Jan Beulich wrote:
> As per observation in practice, initrd->cmdline_pa is not normally zero.
> Hence so far we always appended at least one byte. That alone may
> already render insufficient the "allocation" made by find_memory().
> Things would be worse when there's actually a (perhaps long) command
> line.
>
> Skip setup when the command line is empty. Amend the "allocation" size
> by padding and actual size of module command line.
>
> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -712,7 +712,15 @@ static int __init pvh_load_kernel(
>       * simplify it.
>       */
>      last_addr = find_memory(d, &elf, sizeof(start_info) +
> -                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
> +                            (initrd ? ROUNDUP(ROUNDUP(initrd_len,
> +                                                      elf_64bit(&elf) ? 8 : 4) +
> +                                              (initrd->cmdline_pa &&
> +                                               strlen(__va(initrd->
> +                                                           cmdline_pa))
> +                                               ? strlen(__va(initrd->
> +                                                             cmdline_pa)) + 1
> +                                               : 0),
> +                                              PAGE_SIZE) +
>                                        sizeof(mod)
>                                      : 0) +
>                              (cmdline ? ROUNDUP(strlen(cmdline) + 1,

This piece of logic was already bad, but this is rather worse.

One patch I made while doing the boot module work is:

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 6a4453103a9a..7292ddd07276 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -654,6 +654,7 @@ static int __init pvh_load_kernel(
Â Â Â Â  const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) :
NULL;
Â Â Â Â  struct elf_binary elf;
Â Â Â Â  struct elf_dom_parms parms;
+Â Â Â  size_t metadata_len;
Â Â Â Â  paddr_t last_addr;
Â Â Â Â  struct hvm_start_info start_info = { 0 };
Â Â Â Â  struct hvm_modlist_entry mod = { 0 };
@@ -711,13 +712,16 @@ static int __init pvh_load_kernel(
Â Â Â Â Â  * split into smaller allocations, done as a single region in order to
Â Â Â Â Â  * simplify it.
Â Â Â Â Â  */
-Â Â Â  last_addr = find_memory(d, &elf, sizeof(start_info) +
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  sizeof(mod)
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0) +
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (cmdline ? ROUNDUP(strlen(cmdline) + 1,
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4)
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0));
+Â Â Â  metadata_len = sizeof(start_info);
+
+Â Â Â  if ( initrd )
+Â Â Â Â Â Â Â  metadata_len += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
+
+Â Â Â  if ( cmdline )
+Â Â Â Â Â Â Â  metadata_len += ROUNDUP(strlen(cmdline) + 1,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4);
+
+Â Â Â  last_addr = find_memory(d, &elf, metadata_len);
Â Â Â Â  if ( last_addr == INVALID_PADDR )
Â Â Â Â  {
Â Â Â Â Â Â Â Â  printk("Unable to find a memory region to load initrd and
metadata\n");


which I think I ought to submit as a prerequisite to this, after which
your logic squashed on the RHS now becomes an expansion of the `if (
initrd )`.

Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:15:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:15:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920496.1324645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusKg-0003zx-8f; Wed, 19 Mar 2025 12:15:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920496.1324645; Wed, 19 Mar 2025 12:15: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 1tusKg-0003zq-65; Wed, 19 Mar 2025 12:15:38 +0000
Received: by outflank-mailman (input) for mailman id 920496;
 Wed, 19 Mar 2025 12:15: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=xiIg=WG=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tusKf-0003zk-DG
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:15:37 +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 dd15b5e0-04bb-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:15:36 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so5846662f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:15:36 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395cb7eb9d7sm20510810f8f.89.2025.03.19.05.15.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 05:15: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: dd15b5e0-04bb-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742386536; x=1742991336; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=7yok1QcGQoACln5BawssiDPZqhZeQ/jqdyKxpBNCp10=;
        b=ROA9t8SV/akkOGSnaRHA6JKPHsEOSkkqLLxofdPioGJvy/A/CAPKWrW9xPzAnx6Jav
         57zG3EkN50f68WunXYbHMEsE7hasbKSRHQkm4Tmfy5sqTDLOUFRVWyFpaNox1+NpZE78
         mUAguv69JCqchaaOkVvuhcR6t3kOWC3Dfoi7k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742386536; x=1742991336;
        h=in-reply-to: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=7yok1QcGQoACln5BawssiDPZqhZeQ/jqdyKxpBNCp10=;
        b=gS7e9aVuO5+2NEM5+PL1L0726eXZgjf1q3L0wDOoPi3PE+AWyYw7nQ1VEUW3bbR/mn
         /JYqQvmNCW1QIs3MbW8itF5Kr0MYDc2siWUnmcXRRUPeu8ufTfOBt51hRRM7ii1e6TOZ
         HpOhyYMdHrsQOxjt97d28bKK8NnSmkDKk+D2eOJHTcmuJjnDu25N81+LA84rSwsiKe2R
         SoKfLK0/PyGZGqrStdwYl///kKGuf1ho8v2IeJnfHBB9eu8GQSOipxtM5PscNPTyl4Kr
         qBzlzxXNTXxRF08ngA8L6Zs+zLUQhB2cTEySGOvORUXPenwg7E0X7JojqqIucqF6qjRN
         +5sw==
X-Gm-Message-State: AOJu0Yz6pe/ICOz8Sr4RCvJb+mt/2i2FsOnXOtXyrJVlYJqSDYLUphJK
	W3p+Nor3xaQUPMhLnFIGv3YIUV98b65H6C6+t4vmJCcLfAZ5gMqdjrvIPZB3VtA=
X-Gm-Gg: ASbGncsDESgKDhyWGfN0jo8pkOQKKhzCzxROWII4rCl2Jq9MNriW4wqbvrsXCEd7KHn
	MgNZpt01RXzB/+0oZ6Qi5NPVjMDWlaCBC3h3eqWHVdNSDXp+BIMDZ+WIv4Vuu+3utY50kQOBpfO
	jrZEqOtXoHNgyhQr8+8ErvQiWofyYZTmcR2cw2HXZKHKPBhYmcGs1Qq6/vXIx2FAyvNSKc1phGz
	R1z6oZHntTEw1+ZcpISFPAqengYMSKXppzV7D/3nwlfXkIlaI+jjs2eOVu159vkWTLV1xaQcgaJ
	uSsiucT0FmpC9NHqWK44nbvZN2rkLO20rTog8k7ikzEnVRqVwyP0e4sB4JNd
X-Google-Smtp-Source: AGHT+IEk5Gz7DHOmHIpawzmTTE+yJTSXYvcuEBrJ1tp1q3dFOtJLFlXHYW7NMyVU2DHX4uY6oANqHQ==
X-Received: by 2002:a05:6000:1f82:b0:391:2bcc:11f2 with SMTP id ffacd0b85a97d-399739b6759mr2337188f8f.1.1742386535790;
        Wed, 19 Mar 2025 05:15:35 -0700 (PDT)
Date: Wed, 19 Mar 2025 13:15:34 +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>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH] x86/setup: correct off-by-1 in module mapping
Message-ID: <Z9q1Zv9IEJOCycan@macbook.local>
References: <f346b510-dbd1-431a-ad35-3f1b8fe76c58@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <f346b510-dbd1-431a-ad35-3f1b8fe76c58@suse.com>

On Wed, Mar 19, 2025 at 12:21:53PM +0100, Jan Beulich wrote:
> If a module's length is an exact multiple of PAGE_SIZE, the 2nd argument
> passed to set_pdx_range() would be one larger than intended. Use
> PFN_{UP,DOWN}() there instead.
> 
> Fixes: cd7cc5320bb2 ("x86/boot: add start and size fields to struct boot_module")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1730,7 +1730,7 @@ void asmlinkage __init noreturn __start_
>      {
>          unsigned long s = bi->mods[i].start, l = bi->mods[i].size;
>  
> -        set_pdx_range(paddr_to_pfn(s), paddr_to_pfn(s + l) + 1);
> +        set_pdx_range(PFN_DOWN(s), PFN_UP(s + l));

Is the set_pdx_range() provided smfn, emfn range inclusive?

>          map_pages_to_xen((unsigned long)maddr_to_virt(s), maddr_to_mfn(s),
>                           PFN_UP(l), PAGE_HYPERVISOR);

Isn't this line also bogus, as there's no guarantee that the start
address is aligned to PAGE_SIZE?  And hence the length should take
into account a possible page offset of s?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:18:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:18:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920509.1324655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusNa-0004ab-Nd; Wed, 19 Mar 2025 12:18:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920509.1324655; Wed, 19 Mar 2025 12: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 1tusNa-0004aU-Kg; Wed, 19 Mar 2025 12:18:38 +0000
Received: by outflank-mailman (input) for mailman id 920509;
 Wed, 19 Mar 2025 12:18: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=abOv=WG=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tusNY-0004aK-LT
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:18:36 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c201::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 474cb475-04bc-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:18:34 +0100 (CET)
Received: from AS9PR06CA0021.eurprd06.prod.outlook.com (2603:10a6:20b:462::27)
 by DBAPR08MB5797.eurprd08.prod.outlook.com (2603:10a6:10:1a1::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 12:18:27 +0000
Received: from AM3PEPF0000A799.eurprd04.prod.outlook.com
 (2603:10a6:20b:462:cafe::80) by AS9PR06CA0021.outlook.office365.com
 (2603:10a6:20b:462::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Wed,
 19 Mar 2025 12:18:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A799.mail.protection.outlook.com (10.167.16.104) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Wed, 19 Mar 2025 12:18:25 +0000
Received: ("Tessian outbound ec1a125a00e6:v597");
 Wed, 19 Mar 2025 12:18:24 +0000
Received: from Ld968d676f6a6.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 21952333-F689-4E56-BC99-3C7CB906F6B1.1; 
 Wed, 19 Mar 2025 12:18:15 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ld968d676f6a6.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 19 Mar 2025 12:18:14 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 GVXPR08MB10686.eurprd08.prod.outlook.com (2603:10a6:150:150::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar
 2025 12:18:06 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 12: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: 474cb475-04bc-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=HED6QeFKrm25Bt2KDc7//sLGVP49jutywOBt+Cjj0NW028KrqgrWddIofqBrdtHfvz+sLaA0B6zeFRBfaRYb9eRoSZG/etTOR0u7etoXl3bUXC0u/kfW/yq/iKcVuff4/J+kj8ynhZwCiC9EStNACyR9/h6wk83Lgk/bytKV4nNOFLMLflJ9jbTE9a0A/kU1v3eWZv6KwG6ynZx9te/D9OuOJCEi03OcWRhwfR/+RODeXn9AIptOI1NVZYoJd/3fGdMh+urx3hkuEBFc74nUyRgVHSfXblQAmCyCMA2AeBofqVZAvbxCuiP3hTiq2vN6LetxBmCQ1SX+gixS58MrBA==
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=lTjs+LiMA1PvXz9SzeaXguR5ZE40Z+DHXv6zDQ66l3E=;
 b=CqcfTP+6GlWfGpukE9NrRUBtXtOeH8SDZZ6hB93PkdZiqjFFz6NITSipq1p9dplNHXVAs/uVXAGso4EVEBkfwATR/tw2EpN9AsPGW1NakhyYHL06PB5sHgATlWk+JGiveLDy6FY4dNsjYW85B7mAeCMuETGQOpkI7ysen4KPl5F6gmqsgKxYmCnkYIvP59sX07kcE2L/C+eGjJp8tVqagIDANx2JMwtc90HkxMHv3AjcwrYI8krY+CE9FVWv3NmK0jDGgE63PilQ6X/1a160e3T8r6bKnvTPOQ3oB/jzlPettZ7w3KaNu5RdtsNuNLsVFR4cNf0vAdBmBNjPB2cg9Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=lTjs+LiMA1PvXz9SzeaXguR5ZE40Z+DHXv6zDQ66l3E=;
 b=sFIePDGhcqpo4cmiMsXrjgB0Ge4Hs57r1EnVUZaq6qsihNQJMV2gLh+CfQFnhyTZHxNzmwMWO8LnKZvM/Z/PRBbeL3US/SNa5ALsx2EFW6n3AoZRSEB6ao3C4CAQFHGXg0IXoNKXRs9jcT+9ontzX0ZWQlE6fF1SDQLBYeHDqOg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8b42996c851c2045
X-TessianGatewayMetadata: 50QlEbNrkVsy8xvA0AHOTuBmInTOzNwsLM4TJVEDjL96C+sAbKxdShZM6InU4cEcGHWFEqfTUI2JvML4oIHmguu3LBEVO24P9AH9fhdv1WmhmIKRGP/WNGLnu1CERZhK7T5sFCdrYv92H2dQAxI9IEKx1YO02n9rcTXjHxe1cBw=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ejAJsd38CbX9ikEODYaoCNINz7exWi7CGOyhhznGpcuDgxqCdt8BkbORDVSM2EyW/8crEUwtsjjljeAWWMGmDng8GtrFROIy7kib3OgVX7YxmP3XfMbU7SG/Np8m3Sltr+v6d19S4WVQYcP55nfZr/NwwsssRPsq/X3sfyvnf+2oDII4oSPa+tYtzOlKPAe0BZIDsHa24PbDpCiO3OBRnEwG2xlYWyq38SGMjUAIt/iNQmD3ib0oNl6g82DRqGwiYFmRgoJuz5DdGGhKX702d73uS2bLN7wFQX3hCDHR2Wphrf4SsSQqtL/W8IBJLCQkyKEZmHqmWbXptZc4cZbzAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lTjs+LiMA1PvXz9SzeaXguR5ZE40Z+DHXv6zDQ66l3E=;
 b=FfBtanI/6A32eWLRy0+dy076NDnv6KJHDZJV3ZqX/d40sgZ36lv8BQy0M3sf/WQLNvpnVx+DYMGEsYbnZrQJcoW1T+b5D82WvoMcCmBaAKK4SByAZG89KA9X7U/cwveDisnyB+dyhQl4QmMwYAOTfbR1pxqsqueChVSS1LNtn1gdlKCTGuleUw/cOyanq/4OarW8ViDkfczS35LYlgdUtcyXoaUJ37WZtkRAgDp+eD8UZNHctfeO258/ix3UD4kAEi0a6Ysr4BMh+jicQFYZuPynvy7pIh5mlL5MyGNZh8w4jqsTyFVjNMB7fvZ2oLOjId9pfmBqPayk7w94EYV9JQ==
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=lTjs+LiMA1PvXz9SzeaXguR5ZE40Z+DHXv6zDQ66l3E=;
 b=sFIePDGhcqpo4cmiMsXrjgB0Ge4Hs57r1EnVUZaq6qsihNQJMV2gLh+CfQFnhyTZHxNzmwMWO8LnKZvM/Z/PRBbeL3US/SNa5ALsx2EFW6n3AoZRSEB6ao3C4CAQFHGXg0IXoNKXRs9jcT+9ontzX0ZWQlE6fF1SDQLBYeHDqOg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@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>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Alistair Francis <alistair.francis@wdc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Wei
 Chen <Wei.Chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
Thread-Topic: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
Thread-Index: AQHbl3hIuq5Ui4sTKky0PpKNFdMoBrN43e6AgAF5B4CAAAvlgA==
Date: Wed, 19 Mar 2025 12:18:06 +0000
Message-ID: <D86D58F5-1EDD-4362-B163-5AD25C5DCC51@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
In-Reply-To: <26583ecf-4057-46b1-8f87-f4589d7bec17@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|GVXPR08MB10686:EE_|AM3PEPF0000A799:EE_|DBAPR08MB5797:EE_
X-MS-Office365-Filtering-Correlation-Id: 3be00d85-0994-4b55-9769-08dd66e02611
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|7416014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?blVoQTZjdWlLQ3A1V0hiRE9leU9IcTlMY0ZrN0F1ZG5zRFQwaUhQeWtJdkpG?=
 =?utf-8?B?TnBDYzJsN0phaTBzQnpVZ25LSlY0OXlEK1RXL2lwcXE5SXVZNTVHQnhjQWcr?=
 =?utf-8?B?L2Y4THA1dlhHbmlqMk8yU2RtbnRCc2JPcUxPNGZsY2RYaURISjM3dWtGbVZu?=
 =?utf-8?B?SktyZUFRWmdDNU56TmxVeGk0STV2MlhFbi96N2FqU3E2Y3A5RkJLZGdLOFU3?=
 =?utf-8?B?V25RL1ZDUmtSYWFhb1hrUnBTZWhDT0FFWFc1aU82ZHZDcWJoL2N0ckxPTEI1?=
 =?utf-8?B?SUd5ekttNUpIb3llMXhwL3hzcCtjQ0NhUHFjQWFFV2w0ZjlNb29iRForaERt?=
 =?utf-8?B?aXMrbCt6eUc5TWRHTld4ZFBRQjlWc01JVnc5dENhVVVBVk9PdFovQ0EzamtL?=
 =?utf-8?B?QW83andJTDRkbDRTMzBMT2NleE5TYytlanM5RUlmYWhsMlBaeXJFY1JqRGpB?=
 =?utf-8?B?bHp1bTZweTh4Y0lyWjNyZ1BYWWR5MEZjN1FaSkxRRFd1RjRldzdMRlJ4SHk3?=
 =?utf-8?B?SW1wVjE5eGJrVEhqclBjNUllOEw5WkNxRzZ6N1dqUGIzNmh2b2pYR0tXNEdm?=
 =?utf-8?B?NXp6OHRRQ2JYOUoyYUFwU2M2aTc4Z1lzUTFXdE9rUGtQRWhqbWhFb3RweUJV?=
 =?utf-8?B?cmJOTFlUSGVTUUhUQ0lUdWlXTktrblRUYnpLbGNUY09leUxQR0g1dUFOaThi?=
 =?utf-8?B?T3JOcllBKzhQYTFjUitjVVV6d2Vla2hvb0toaHMydlhuMGM3cE9leHZ3bWl1?=
 =?utf-8?B?aVFPa3lwQ0dBanVaODR6SHM4Q0pZTGJ6enpQRlVRaGNYMmZ4TjNoTm9VSm05?=
 =?utf-8?B?VStnNENxazJoQWgySU9WS3FlcmVSMDJocnNSZnBlTWFkVDU5dTBCSEVWc0hP?=
 =?utf-8?B?S1hHRTFOZlZZdWV5V3ROQ3JPclBXSVVMb1MwYVpsbGlXN3ZqTng5MEE1K3Qy?=
 =?utf-8?B?dGhPaGgrbTA1eEpqOEg1TjAyZlFuQnJGZHk3ZnZwQjNSOXF0bFY3SCsyV3I5?=
 =?utf-8?B?ODBwUFFNOEZNVGo5clgyRzJMRTRPOVBxcHZGSDAwNXd3dmo1U3FqcmlZUGhP?=
 =?utf-8?B?amVMdU1WTmp5bURjZ1BJVDZUaFQza1NTMW1WSFlBU1dHMDdzM25EamNFTHJO?=
 =?utf-8?B?ZjJielNUZFphQWIxWmpBczZPSm9JZmNrMlFaY29LUk4rSzd4NmJCTTZHU2xp?=
 =?utf-8?B?SVNBUEx6ekVTZWNZMjEzWk9FUThtbmZDWHRiNEExc0VnWkJibGh1ZDZ5YnpG?=
 =?utf-8?B?Q3hvV0xwcUI5dzI5a0xrVVc1Zm03MXUvWnFrVXQwWHNvSklBNWZVbnp1VlFk?=
 =?utf-8?B?Nms0NDRHN3dpT3JVMUhSeldBWnNac1BQb0tFeTZLamRsdUU5UDhEWVJ0V3JR?=
 =?utf-8?B?V2xsRFdtaEN4M1V0cXJJaDJUdkVVTzNDZFdXRkRrOWNnQnV4aVU2RjFqTmR4?=
 =?utf-8?B?d0QxVDQzaDd5QzdEUmlSZXlJOTFnYThueEcybzRPamxVZU1YWDVCYTErbml2?=
 =?utf-8?B?NEhXMGczYmJVUW0zRFdMRWlxLzEzWDNTZEMzRVgvWlJYRkJHUjV3ckUrTTFF?=
 =?utf-8?B?d0E3UnlDTWNGckREZFVQS1hBK2diRUhZVkJSNG1BdGdybXdmTG1RTFk3dEx3?=
 =?utf-8?B?Nk8zbGpxeDEwNGdxM2lIQzJHWE5sRzB6alZWQkpoM0lhQ2VhUEVFb1o1MGQr?=
 =?utf-8?B?Tkdpb1pYSmhjUWg2c2g1SWE2MHBsU3RPUUxkNlo4RjNlK1g1SCtOTmpTT1di?=
 =?utf-8?B?ZnFCdG1IdWxUTzd4MTQrcTJ5Q0RjV2tQTDRkbFFwR3AyRCtVNmp6L1hzQXdE?=
 =?utf-8?B?N01FbHUvYytNS0UrblZQSExXaDgrK1FnNUpPTGs1Y2FRb2FoRm45Z2JLaDF0?=
 =?utf-8?B?cnBmMlBKNURwcC90NFZSOUFmZ09yR1hPQTNkUFhBQzNYd2NFRDZRdmZqY2RV?=
 =?utf-8?Q?KjQPaFcclfAoN1PvI7J/TCay49FjiPot?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <174F091DDF8B0E4597AB3CDB90E63DA4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10686
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A799.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3a35ae1c-a61d-45e5-0c24-08dd66e01aa6
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|35042699022|36860700013|1800799024|376014|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NythWTFVSzkzcldoQVRoVXRmaWFlNllIdDA2Ni9QTW1aOStWY0tIOXFFUS9a?=
 =?utf-8?B?MDBjVlBGSXFWRHY0ZnMyYitJdkRIQkJCNThrOExVR0FZVFdpUDQrZnFPL0s4?=
 =?utf-8?B?VFZ1Z2VpUDgzWWM3cUExRDFIaktpSkRYUEx0b3VEY0hBOFV3YnJWcU1LYkht?=
 =?utf-8?B?Yk9uRHBqUUE0THVKbi9QOVdjbHJWZ2tmYS82LzRmeitjdFBvNHZwek4wVVl3?=
 =?utf-8?B?clVrUDZhaWZzU01BbUcvdUFyTjlHZ24zSk9Pb1M1UkRnejVIOHpZUEIwOUVi?=
 =?utf-8?B?NTFHT245SDJQVWFnMElQaDdGY2dOUXJSbUFTamc3QU9RYllSSEJaOFpXaTFF?=
 =?utf-8?B?aUpPNmxIdW92cmt1YWdaNHNmUlAyL2RrR281ZkVVTmF6RVBGWTdkYzYyYkla?=
 =?utf-8?B?ZmdmZTVCTThuVEVVREIxU0lrWUJxSzNBajE2dGVoYWh3VklxUlNqZ3F4elRO?=
 =?utf-8?B?cUNOZHlEbW5RRmVpRE5rVjUvaHZ2U2hqL1kyeEdXa3RwZ3BJSUt4UzB0WHU0?=
 =?utf-8?B?elRDbE41ZmJLUE5Gb1ppR3ltaVUzNzc3UHFyUkdoOE4zQUdNbUY1OVkvdUl2?=
 =?utf-8?B?QmVQZ203UUZZWFBpY3Q5UmIxQ0tJdE9zVmFGWlRpclMxZEp0eC90bS9rclNm?=
 =?utf-8?B?SERiRXBtZjZ5S3dpdkZQeTRoS2Y0c3lBaVJJdmJ0dFNZbGdqZVhWMjlnY2hS?=
 =?utf-8?B?aUZDbkVnZEF2TlFDZW81MC9BQ2daUWJobjVmQmJLWFk4T3RXcUM4OVRNcUdz?=
 =?utf-8?B?VExkMUl2M21qWENyUksrdzNIYlpvT0JibUFVenA0d2QzMG9PdW9NVGpDaHZO?=
 =?utf-8?B?cUlMYncwSHc2dXlvTWVrZExLaUhjdnFXemhCeW9zRlZ3VnU3QmtZOUhhclQr?=
 =?utf-8?B?ckZMMk4xZXpqZzN4ZXFSV09zZ0NFWDNpOUprc0VnVWxCdzUwYWIrNDRQc09Z?=
 =?utf-8?B?cEpZZnJJV3BWa2phWFNlYXA5R0J2ajU2Y2hSSjVOTkNqaUhkUlY4cGVXanhl?=
 =?utf-8?B?MnYzSFZNSUVBYmZrSVJNejBObzRkTWd1czN2cEVpZXhScm9OdzZnd1BvK3JB?=
 =?utf-8?B?K1ZTQWRodUVzcndCUENabGh3Qmt6djFZTUhSeldJZ1N3OUNBRTI4RVlwRkxx?=
 =?utf-8?B?Rytnek5reGxCSE11eWtTMTlsOVgrQm9NUlhobWlnOXJSYjJpek8va3p6OE5r?=
 =?utf-8?B?cU1JVzBrRUFPVU5rV0o0RUd6dzhjMGNDc1BXNk8zcWtwL2NDR01EV0pMVUEy?=
 =?utf-8?B?MzVQK3R4QXI5MXZkQlBGZ3liMmVIM1dTNGV0eUJWdFRoYVFSS1k1c083ckpl?=
 =?utf-8?B?Yi9wNHZnTlIrQWhJdUY0SG5jZkhaY00xRGQ2dWZxK2JrZXRBV2RhRTN1dkdT?=
 =?utf-8?B?UDJqaFpUWkpuV1dBRnhTaWJ3dXdPWVZVempCditCVSt5ejgxd0xzbjdIUmo3?=
 =?utf-8?B?SDBzTFpXYmg0RHd5bEhPY0FDNVFDYU0rOG1VWnVSODJuWG93c3Awa3psZXc1?=
 =?utf-8?B?QjNoSU45YU1PZ044YWV2TTZpVyswRWorTUZwV21ub3NveWIxbUtyOXE1UTUw?=
 =?utf-8?B?M3NwK0h4ZldmNjBDVGpOT1pSV2xRNFlHU0NBYnZZeXZ4RVZEU0lRajlvTSsy?=
 =?utf-8?B?Sm53SVVldXQ1eUFRd2o3d3dEQzVUaTVOdExzQkpFUnR4NnNOdWVEZ200ZG8r?=
 =?utf-8?B?QzFrMUhqMHc5aE1DUUtUdzFmbEpyTmRVNlNySnRReGNhZ0RoRjMvVDRLLzBu?=
 =?utf-8?B?WWU5aC9PR21ybXpwRW5oOHE3cE9LN0huT3FWSUNuVTRzUDc0eEJhZERvYXhw?=
 =?utf-8?B?Sjl0WHB1OVBUTHRHM0EydHpOUG5yYzJySnk3Q2szaXpjblV3VkRmblplTjFW?=
 =?utf-8?B?OXdHUFNzVStsd3JyUnB5Ri9HVUVsaHE5Mnh2VDVWUm1xNUdseE01M3lKYmlp?=
 =?utf-8?B?R05PaWNZN2VIci9vY3QxRlFzczBNNFVkNnVpWXBVMmVvNUJQU2Z5Z204YmRP?=
 =?utf-8?Q?DWEJq3Bi1MnsJGUAH7e5UEXHaYjLDQ=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(36860700013)(1800799024)(376014)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:18:25.2779
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3be00d85-0994-4b55-9769-08dd66e02611
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A799.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5797

SGkgSmFuLA0KDQo+IE9uIDE5IE1hciAyMDI1LCBhdCAxMTozNSwgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPiB3cm90ZToNCj4gDQo+IE9uIDE4LjAzLjIwMjUgMTQ6MDUsIE9sZWtzaWkg
S3Vyb2Noa28gd3JvdGU6DQo+PiANCj4+IE9uIDMvMTcvMjUgOTowNyBQTSwgTHVjYSBGYW5jZWxs
dSB3cm90ZToNCj4+PiBGcm9tOiBQZW5ueSBaaGVuZzxQZW5ueS5aaGVuZ0Bhcm0uY29tPg0KPj4+
IA0KPj4+IEFSTSBNUFUgc3lzdGVtIGRvZXNuJ3QgbmVlZCB0byB1c2UgcGFnaW5nIG1lbW9yeSBw
b29sLCBhcyBNUFUgbWVtb3J5DQo+Pj4gbWFwcGluZyB0YWJsZSBhdCBtb3N0IHRha2VzIG9ubHkg
b25lIDRLQiBwYWdlLCB3aGljaCBpcyBlbm91Z2ggdG8NCj4+PiBtYW5hZ2UgdGhlIG1heGltdW0g
MjU1IE1QVSBtZW1vcnkgcmVnaW9ucywgZm9yIGFsbCBFTDIgc3RhZ2UgMQ0KPj4+IHRyYW5zbGF0
aW9uIGFuZCBFTDEgc3RhZ2UgMiB0cmFuc2xhdGlvbi4NCj4+PiANCj4+PiBJbnRyb2R1Y2UgQVJD
SF9QQUdJTkdfTUVNUE9PTCBLY29uZmlnIGNvbW1vbiBzeW1ib2wsIHNlbGVjdGVkIGZvciBBcm0N
Cj4+PiBNTVUgc3lzdGVtcywgeDg2IGFuZCBSSVNDLVYuDQo+Pj4gDQo+Pj4gV3JhcCB0aGUgY29k
ZSBpbnNpZGUgJ2NvbnN0cnVjdF9kb21VJyB0aGF0IGRlYWwgd2l0aCBwMm0gcGFnaW5nDQo+Pj4g
YWxsb2NhdGlvbiBpbiBhIG5ldyBmdW5jdGlvbiAnZG9tYWluX3AybV9zZXRfYWxsb2NhdGlvbics
IHByb3RlY3RlZA0KPj4+IGJ5IEFSQ0hfUEFHSU5HX01FTVBPT0wsIHRoaXMgaXMgZG9uZSBpbiB0
aGlzIHdheSB0byBwcmV2ZW50IHBvbGx1dGluZw0KPj4+IHRoZSBmb3JtZXIgZnVuY3Rpb24gd2l0
aCAjaWZkZWZzIGFuZCBpbXByb3ZlIHJlYWRhYmlsaXR5DQo+Pj4gDQo+Pj4gSW50cm9kdWNlIGFy
Y2hfe2dldCxzZXR9X3BhZ2luZ19tZW1wb29sX3NpemUgc3R1YnMgZm9yIGFyY2hpdGVjdHVyZQ0K
Pj4+IHdpdGggIUFSQ0hfUEFHSU5HX01FTVBPT0wuDQo+Pj4gDQo+Pj4gUmVtb3ZlICdzdHJ1Y3Qg
cGFnaW5nX2RvbWFpbicgZnJvbSBBcm0gJ3N0cnVjdCBhcmNoX2RvbWFpbicgd2hlbiB0aGUNCj4+
PiBmaWVsZCBpcyBub3QgcmVxdWlyZWQuDQo+Pj4gDQo+Pj4gU2lnbmVkLW9mZi1ieTogUGVubnkg
Wmhlbmc8cGVubnkuemhlbmdAYXJtLmNvbT4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbjx3
ZWkuY2hlbkBhcm0uY29tPg0KPj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHU8bHVjYS5m
YW5jZWxsdUBhcm0uY29tPg0KPj4+IC0tLQ0KPj4+IHYzIGNoYW5nZXM6DQo+Pj4gIC0gSW50cm9k
dWNlZCBBUkNIX1BBR0lOR19NRU1QT09MIGluc3RlYWQgb2YgSEFTX1BBR0lOR19NRU1QT09MDQo+
Pj4gdjIgY2hhbmdlczoNCj4+PiAgLSBtYWtlIEtjb25maWcgSEFTX1BBR0lOR19NRU1QT09MIGNv
bW1vbg0KPj4+ICAtIHByb3RlY3QgYWxzbyAieGVuLGRvbWFpbi1wMm0tbWVtLW1iIiByZWFkaW5n
IHdpdGggSEFTX1BBR0lOR19NRU1QT09MDQo+Pj4gIC0gZG8gbm90IGRlZmluZSBwMm1fdGVhcmRv
d257X2FsbG9jYXRpb259IGluIHRoaXMgcGF0Y2gNCj4+PiAgLSBjaGFuZ2UgY29tbWl0IG1lc3Nh
Z2UNCj4+PiAtLS0NCj4+PiAgeGVuL2FyY2gvYXJtL0tjb25maWcgICAgICAgICAgICAgIHwgIDEg
Kw0KPj4+ICB4ZW4vYXJjaC9hcm0vZG9tMGxlc3MtYnVpbGQuYyAgICAgfCA3NCArKysrKysrKysr
KysrKysrKysrKy0tLS0tLS0tLS0tDQo+Pj4gIHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb21h
aW4uaCB8ICAyICsNCj4+PiAgeGVuL2FyY2gvcmlzY3YvS2NvbmZpZyAgICAgICAgICAgIHwgIDEg
Kw0KPj4+ICB4ZW4vYXJjaC94ODYvS2NvbmZpZyAgICAgICAgICAgICAgfCAgMSArDQo+Pj4gIHhl
bi9jb21tb24vS2NvbmZpZyAgICAgICAgICAgICAgICB8ICAzICsrDQo+Pj4gIHhlbi9pbmNsdWRl
L3hlbi9kb21haW4uaCAgICAgICAgICB8IDE3ICsrKysrKysNCj4+PiAgNyBmaWxlcyBjaGFuZ2Vk
LCA3MyBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkNCj4+IA0KPj4gRm9yIFJJU0MtVjoN
Cj4+ICBSZXZpZXdlZC1ieTogT2xla3NpaSBLdXJvY2hrbzxvbGVrc2lpLmt1cm9jaGtvQGdtYWls
LmNvbT4NCj4gDQo+IE1pbmQgbWUgYXNraW5nIHRoZW4gd2h5IFJJU0MtViBuZWVkcyB0aGlzIGF0
IHRoaXMgcG9pbnQ/IFRoZSBzdHVicyBzdXJlbHkNCj4gd2VyZSBhZGRlZCB0byBhZGRyZXNzIHNv
bWUgYnVpbGQgaXNzdWUsIG5vdCBiZWNhdXNlIHRoZXkgYXJlIGFjdGl2ZWx5DQo+IG1lYW5pbmdm
dWw/DQoNCnNvcnJ5IEnigJltIG5vdCBhIFJJU0MtViBleHBlcnQsIEkgc2F3IHRoZSBzdHViIGFu
ZCBJIHRob3VnaHQgdGhlIGFyY2hpdGVjdHVyZSB3YW50ZWQgdG8gaGF2ZSB0aGVtIGltcGxlbWVu
dGVkLg0KDQpJZiBub3QsIGlzIGl0IHBvc3NpYmxlIHRvIGxldCB0aGUgUklTQy1WIHBlb3BsZSBo
YW5kbGUgdGhhdCBzZXBhcmF0ZWx5PyBJ4oCZbGwgYmUgb2ZmIHVudGlsIDMxc3Qgb2YgTWFyY2gg
YW5kIHRoaXMgcGF0Y2ggaXMNCnVzZWZ1bCBmb3IgQXlhbiB0byBpbnRyb2R1Y2UgYSBidWlsZGlu
ZyBzdGF0dXMgZm9yIGFybTMyLg0KDQpDaGVlcnMsDQpMdWNhDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:21:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:21:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920520.1324665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusQA-0006UI-55; Wed, 19 Mar 2025 12:21:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920520.1324665; Wed, 19 Mar 2025 12:21: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 1tusQA-0006UB-13; Wed, 19 Mar 2025 12:21:18 +0000
Received: by outflank-mailman (input) for mailman id 920520;
 Wed, 19 Mar 2025 12: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tusQ8-0006Tw-HQ
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:21:16 +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 a26d1dbd-04bc-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:21:07 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-394780e98easo4360378f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:21:07 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df413esm20413275f8f.20.2025.03.19.05.21.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:21: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: a26d1dbd-04bc-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742386867; x=1742991667; 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=+y7YPQFirj3wlpzq9NoPsLfC4T2AQlip2MwqNvwifHA=;
        b=BLuvfEi4SZ/v2gVXduHk5mURJLFhwdOD9YltNSSA9Z01Tn2eQ5NmNwFSOOc98w+shA
         TAK4x8hbavTGJgl9lzfYQlar2wTrudAuM1D2gmBH12MIThLNCMBsT8oYy2kz9wN0f35D
         zcSCumVfMfxlURwu+6v3Ti3Yijac9bWfRi2pw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742386867; x=1742991667;
        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=+y7YPQFirj3wlpzq9NoPsLfC4T2AQlip2MwqNvwifHA=;
        b=CYsu2BBe58ZpEdBMfJblLzYmYe7sDiZl0G0J+0ZW8iU1tHmYa77+XqP1FOsrlL/ENL
         LHHi74O7mmTf64cwnUMHAmHvwpUpglZxMadpRIi1+Uedt/Os3nGGLsshTetwmrJdFLvd
         96JkcNG2RsSsBRG1lXiPsH7RxUrgZkUiRjtn7xy+jvZ5OMMlxp4FJQ07dPpOqGJjZq5M
         ALm0DKUvjbR/xjT7BGwtiusLIHQ0cyQO2UhFpNbyC+ErC0FbUHFy3/97PPVCO8lRCxmz
         Ta3vs93KcwI2M7XfApTkxqpGREVTVwK+ctuZyqBnz4whfdZ7Gn6nAgLlE4oG7j2i6s6c
         EytQ==
X-Gm-Message-State: AOJu0YzCIESMjD82Vj5Pz+pLDOCTBBkCksGb1VUtRDvHqlV/YLpTTTTb
	yAMm8aCKpio0quvDB3dxCN2g+iYPHNpm6XfLYdcQsJs2XfdXWDfNCaMeQJolUaQ=
X-Gm-Gg: ASbGncsUmsqYrpxFxkfHOHCQOZOHdQX1QSuerEYtcZS0N/glhVe/tww5C9YgLn8wu23
	eSkk/kbeeg/zDtOIGG8diwLn9eVU03UzUGQgMNIeMKMh+LFhwmDjq4EFZ19e4V/EBHPKSAhEEM1
	kEcw6RY0qsJ7HxqAOktFnXwyCven7wZjgW2Zvtq//ZQsY2IKizkVr8evl3KkowWAh/6zhtjatXJ
	ZIlAYIBx8S2Rl4MfovB0S1qH3dvay+XTp+KYntS0IeJ7wMV2/W2AMIp3bdX79Tv8bwfmN6Gxl25
	irYadLS+Nb+bUozks4ay9c7T5V86OAi57yHP9Q1VOWrHjgUrBnpwW3ZDKJyRJLBleTWrO3P/Oxi
	AN6YLdzLi
X-Google-Smtp-Source: AGHT+IHZbuoYwz/a85YWoSnI4j/P2QumoipQxf1oq+qEfpPEsdZnn3LwY8lOGNbDD+7gm3MrlhrA8g==
X-Received: by 2002:a05:6000:21c5:b0:391:492a:c9c2 with SMTP id ffacd0b85a97d-399739ef51amr1869223f8f.33.1742386866900;
        Wed, 19 Mar 2025 05:21:06 -0700 (PDT)
Message-ID: <6f6a9ac1-4d80-47fa-ace2-81341f9d72e0@citrix.com>
Date: Wed, 19 Mar 2025 12:21:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/setup: correct off-by-1 in module mapping
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>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <f346b510-dbd1-431a-ad35-3f1b8fe76c58@suse.com>
 <Z9q1Zv9IEJOCycan@macbook.local>
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: <Z9q1Zv9IEJOCycan@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 12:15 pm, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 19, 2025 at 12:21:53PM +0100, Jan Beulich wrote:
>> If a module's length is an exact multiple of PAGE_SIZE, the 2nd argument
>> passed to set_pdx_range() would be one larger than intended. Use
>> PFN_{UP,DOWN}() there instead.
>>
>> Fixes: cd7cc5320bb2 ("x86/boot: add start and size fields to struct boot_module")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1730,7 +1730,7 @@ void asmlinkage __init noreturn __start_
>>      {
>>          unsigned long s = bi->mods[i].start, l = bi->mods[i].size;
>>  
>> -        set_pdx_range(paddr_to_pfn(s), paddr_to_pfn(s + l) + 1);
>> +        set_pdx_range(PFN_DOWN(s), PFN_UP(s + l));
> Is the set_pdx_range() provided smfn, emfn range inclusive?
>
>>          map_pages_to_xen((unsigned long)maddr_to_virt(s), maddr_to_mfn(s),
>>                           PFN_UP(l), PAGE_HYPERVISOR);
> Isn't this line also bogus, as there's no guarantee that the start
> address is aligned to PAGE_SIZE?  And hence the length should take
> into account a possible page offset of s?

All modules are page aligned, because we require this of the bootloader.

Prior to cd7cc5320bb2, Xen strictly depended on it, because we shifted
mod_start by 12 to operate on it.

cd7cc5320bb2 retained the alignment check, panic("Bootloader didn't
honor module alignment request\n");, but operates in terms of paddr, not
frames.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:21:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:21:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920524.1324676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusQF-0006qA-Gd; Wed, 19 Mar 2025 12:21:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920524.1324676; Wed, 19 Mar 2025 12:21: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 1tusQF-0006q3-DH; Wed, 19 Mar 2025 12:21:23 +0000
Received: by outflank-mailman (input) for mailman id 920524;
 Wed, 19 Mar 2025 12:21: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=xiIg=WG=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tusQE-0006ox-3i
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:21:22 +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 a9ffbec1-04bc-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:21:20 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3912e96c8e8so4384060f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:21:20 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395cb318a8bsm21293051f8f.66.2025.03.19.05.21.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 05:21: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: a9ffbec1-04bc-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742386880; x=1742991680; darn=lists.xenproject.org;
        h=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=wQTLFeh9Cp8hHU/yCllwqtdwayubVByn8Q14I7vEqGs=;
        b=Atm0EuTZIi3jWXZNZv0NFiQV08RIzsbPiZc57JGkroy0pkPiU6bCLbK9sNF3agr4EL
         FunjOo6zHzc2rCbpn0ewaEnjg/wuXpw6GyKZ6rde+HGUv860O8FU5iWXtnDjPQJUW5D4
         w8k194O1Y1hzRBPHVMZGVUl7zKuOVqZ4Y27tk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742386880; x=1742991680;
        h=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=wQTLFeh9Cp8hHU/yCllwqtdwayubVByn8Q14I7vEqGs=;
        b=djR6L1k+BaKhYiDYrBR1bJSJESSzsbCbmPV0cG9Aqs/1CKxqiXt4XerhFZwAMv1IHW
         saJrwglIlTZIpKY4IS0KUCKQVwD6wwG8DILb52kd2by3DWTZhTdziJR4mPl933IBc8Jr
         Cc56+C599sDA8cdHafybdaN0rK9l8T525XU/ijMnzZT4RijbPwel2TggapZcHJOhmOQy
         O3im3gT683As+f6WWUXXofVkMIuUQ82vCodgC0jT0br/6b1fEGDNbyb4RRG9V/dIkldN
         7ruQ8dW+S9uwEaMWQ13i/4ggYzrcf2BGhfCBEzgaz58iPoZuH98TUrqpqB5YLN89yhRn
         3mqA==
X-Forwarded-Encrypted: i=1; AJvYcCXtEktfcR1xb9++xmIEIDbOPGvbeUzf6OLn6Pn31ImKH6ktkB/o31xO9u8jnnPDe/lRmRdLj543xsA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCbnJdYQp89J4xpRZfVCZhUTqiNW2lTYmcArxzggkw5c3GpDsz
	f06lX77m/u5jlh/Ijc3n2oVyKF8IP32WMWRY+v1JhS7FZ7mta4Mzau75bGUrbns=
X-Gm-Gg: ASbGncsd6vZFzCAk56vw0DGrS47QEJHLh490P+KAoIRprQwTq8RNNSJJI1Px13lF3Xf
	VjdBdl2k5f1pULStfJaiqcA5D6faNMn/eaOEoAVVrrjlDSbhkLHQt63cGHAZ9oeIgeqXNgwzCIH
	0pYZmpVp3cydfxkOaqy4aGxIVsiYzsDk+JYyM3VTgWM2XugBcNJQN8kkMiLfTWWz87bgCi/5G6e
	14e+ZpTHU2T4jllZlhiI767aXlw5PcDn5KpLT3OPVQzqDdOeswT0TBfptcvCIxe29EBxr/KnOEb
	JTssS8RDynImcYKxaZ9g2sJvb+pWhAsxllz/zwgCWYg8qnb6sqqMitYLahtX
X-Google-Smtp-Source: AGHT+IEeynx0Te696YP8VC0+T7euJqqQ3T+/FhefAMbOYmUD06pANLxrATQgyUFwT3vIzPZIOEJdYA==
X-Received: by 2002:a5d:5f90:0:b0:390:df75:ddc4 with SMTP id ffacd0b85a97d-39973b08eeemr2677793f8f.44.1742386879610;
        Wed, 19 Mar 2025 05:21:19 -0700 (PDT)
Date: Wed, 19 Mar 2025 13:21:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: Re: [PATCH] x86/PVH: account for module command line length
Message-ID: <Z9q2vvOzZ0zog3yO@macbook.local>
References: <730d8143-8cda-49da-a48a-3b82c2b77c9d@suse.com>
 <5b959741-2e51-4576-9219-df495d0e30be@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5b959741-2e51-4576-9219-df495d0e30be@citrix.com>

On Wed, Mar 19, 2025 at 12:12:22PM +0000, Andrew Cooper wrote:
> On 19/03/2025 11:18 am, Jan Beulich wrote:
> > As per observation in practice, initrd->cmdline_pa is not normally zero.
> > Hence so far we always appended at least one byte. That alone may
> > already render insufficient the "allocation" made by find_memory().
> > Things would be worse when there's actually a (perhaps long) command
> > line.
> >
> > Skip setup when the command line is empty. Amend the "allocation" size
> > by padding and actual size of module command line.
> >
> > Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >
> > --- a/xen/arch/x86/hvm/dom0_build.c
> > +++ b/xen/arch/x86/hvm/dom0_build.c
> > @@ -712,7 +712,15 @@ static int __init pvh_load_kernel(
> >       * simplify it.
> >       */
> >      last_addr = find_memory(d, &elf, sizeof(start_info) +
> > -                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
> > +                            (initrd ? ROUNDUP(ROUNDUP(initrd_len,
> > +                                                      elf_64bit(&elf) ? 8 : 4) +
> > +                                              (initrd->cmdline_pa &&
> > +                                               strlen(__va(initrd->
> > +                                                           cmdline_pa))
> > +                                               ? strlen(__va(initrd->
> > +                                                             cmdline_pa)) + 1
> > +                                               : 0),
> > +                                              PAGE_SIZE) +
> >                                        sizeof(mod)
> >                                      : 0) +
> >                              (cmdline ? ROUNDUP(strlen(cmdline) + 1,
> 
> This piece of logic was already bad, but this is rather worse.
> 
> One patch I made while doing the boot module work is:
> 
> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> index 6a4453103a9a..7292ddd07276 100644
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -654,6 +654,7 @@ static int __init pvh_load_kernel(
> Â Â Â Â  const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) :
> NULL;
> Â Â Â Â  struct elf_binary elf;
> Â Â Â Â  struct elf_dom_parms parms;
> +Â Â Â  size_t metadata_len;
> Â Â Â Â  paddr_t last_addr;
> Â Â Â Â  struct hvm_start_info start_info = { 0 };
> Â Â Â Â  struct hvm_modlist_entry mod = { 0 };
> @@ -711,13 +712,16 @@ static int __init pvh_load_kernel(
> Â Â Â Â Â  * split into smaller allocations, done as a single region in order to
> Â Â Â Â Â  * simplify it.
> Â Â Â Â Â  */
> -Â Â Â  last_addr = find_memory(d, &elf, sizeof(start_info) +
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  sizeof(mod)
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0) +
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (cmdline ? ROUNDUP(strlen(cmdline) + 1,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4)
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0));
> +Â Â Â  metadata_len = sizeof(start_info);
> +
> +Â Â Â  if ( initrd )
> +Â Â Â Â Â Â Â  metadata_len += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
> +
> +Â Â Â  if ( cmdline )
> +Â Â Â Â Â Â Â  metadata_len += ROUNDUP(strlen(cmdline) + 1,
> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4);
> +
> +Â Â Â  last_addr = find_memory(d, &elf, metadata_len);
> Â Â Â Â  if ( last_addr == INVALID_PADDR )
> Â Â Â Â  {
> Â Â Â Â Â Â Â Â  printk("Unable to find a memory region to load initrd and
> metadata\n");
> 
> 
> which I think I ought to submit as a prerequisite to this, after which
> your logic squashed on the RHS now becomes an expansion of the `if (
> initrd )`.
> 
> Thoughts?

Yes please, I was going to ask Jan to break that chain of ?: operators
as it's impossible to read.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:22:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:22:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920547.1324686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusR7-0008L6-PC; Wed, 19 Mar 2025 12:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920547.1324686; Wed, 19 Mar 2025 12:22: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 1tusR7-0008Kz-Lw; Wed, 19 Mar 2025 12:22:17 +0000
Received: by outflank-mailman (input) for mailman id 920547;
 Wed, 19 Mar 2025 12:22: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tusR6-0006ox-M7
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:22:16 +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 caad9c73-04bc-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:22:15 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso23687515e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:22:15 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c82c23ffsm20452405f8f.22.2025.03.19.05.22.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:22: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: caad9c73-04bc-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742386934; x=1742991734; 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=0J11sJvFbaWHNe5xLYgH7oBAsgiixgco7MeN0DPPovc=;
        b=cu283BxioVZVKW/NWqpQS6CIxvpQXUPDQ+MEjBTMkgdVCEDxIBU9U9LSlsuBZKeCzY
         45yXYdKPdky+D/xTZliN6KvIGEjHKlDqL3pXhSVIlJ2YI0z0a7YGMg2O6zVrSwePsowr
         0W8dwe996og6kg5PkCb0YIKslpZ5QKqRlVQSI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742386934; x=1742991734;
        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=0J11sJvFbaWHNe5xLYgH7oBAsgiixgco7MeN0DPPovc=;
        b=sqyWY0Kj70F+nwDXnmbRM+BYsmHVVKT9IEZTN8VnLbidYizy6yAKdcs8sJ8KeL5oSK
         vMhp0LrAy1VXsxRjg7i8aQdfBjLT5nX7dDYA9NN8x5dv2Yo5TQyH7PRhqvuxgwcqkttC
         +ARSXfxP0VfCVlW/ABviDGMwLG6t0i5mlkzNZNitAuM0RUAseY3K6ft5XPBhxpm9UgDk
         pApE0RQ4bbRLeW4PbfbYGUWwN9MUggJqHZSm0zeyWLmXhLvZD9b3efKiPibVINri0ZOs
         wUoB0+FfIB1k1fjHcU6RL2sOmsw1vMS0fXVf2hPW8iLtGsKn4R/T1Myw80dXj5RT/hhp
         +hHg==
X-Gm-Message-State: AOJu0YwJ8nKttUe2z/gjE+cUk6D6uIgU5aUkpBJhan18U6nknD8LxvnV
	cKVg+L+96jTsCnZ/mSG6yhTPiwynYaVOL8Uv863Y1SbGreEpM2IElQ3tY/59Wer4QTXt/ZhG6ws
	0
X-Gm-Gg: ASbGnctS/VJnWHS3gp97gRzj923jIZGzerrfQ7swfpVusB/eJEUF6WGjrFy4NH3nZ64
	ZqKaWrJqlXPpnCgrmOh9YCkskgbn24jUiRiYnHMtTfTLaHfnya3sEk1qtGwqbZpBwWieKkVy2Bx
	+Ih1LaYT+r8A0UPOSm1OyTvZDN3kHly1xl8xvZw7D+BtbX+4767iXygZ0vkYYZVxDs4rBaRMOSA
	8XPZfHzDr0/8/4FZA/dZcdARvL4lsJoRX41xFEaE0g0/eUiRsnNAmp6+qNEJuc2QDMBAgZZiN95
	5pbmG/xGk9ekP7ppnDWNEek86za7TSluadzpHaU4+omT2003yPq/BKK3k3KwM3R7N+wsnVO92Xq
	A9zsnWbtHAeVfcQh+W5g=
X-Google-Smtp-Source: AGHT+IG1ZeJJD6MkviQ8sgMk50aCw6+fOQRYkz+edoBYNCFz87VhYwa+qljlSJT0kHiY+msHNlJWCQ==
X-Received: by 2002:a05:6000:186b:b0:391:2a9f:2fcb with SMTP id ffacd0b85a97d-39973b028a9mr1693507f8f.36.1742386934369;
        Wed, 19 Mar 2025 05:22:14 -0700 (PDT)
Message-ID: <063234be-9a09-411e-8a53-ca19f13ef638@citrix.com>
Date: Wed, 19 Mar 2025 12:22:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] x86/boot: clarify comment about trampoline_setup
 usage
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-2-roger.pau@citrix.com>
 <720af946-5c2a-43b4-a9fb-163e41bfdeb7@citrix.com>
 <Z9qESYLU3wMjwS-c@macbook.local>
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: <Z9qESYLU3wMjwS-c@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 8:46 am, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 18, 2025 at 05:45:09PM +0000, Andrew Cooper wrote:
>> On 18/03/2025 5:35 pm, Roger Pau Monne wrote:
>>> Clarify that trampoline_setup is only used for EFI when booted using the
>>> multiboot2 entry point.
>>>
>>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>> ---
>>>  xen/arch/x86/boot/head.S | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
>>> index 1b3bd16fe575..59a2b5005cf6 100644
>>> --- a/xen/arch/x86/boot/head.S
>>> +++ b/xen/arch/x86/boot/head.S
>>> @@ -505,7 +505,8 @@ trampoline_bios_setup:
>>>  
>>>  trampoline_setup:
>>>          /*
>>> -         * Called on legacy BIOS and EFI platforms.
>>> +         * Called on legacy BIOS and EFI platforms when using multiboot (either
>>> +         * 1 or 2).
>>>           */
>> /* Called for Mutiboot entry, including MB2+EFI. */
>>
>> is a little more concise?
> That's fine.  Would you like me to resend the adjusted version?

Fix on commit.Â  No point sending this one around for another revision.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:25:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920562.1324697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusTw-0000dK-8C; Wed, 19 Mar 2025 12:25:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920562.1324697; Wed, 19 Mar 2025 12:25: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 1tusTw-0000dD-3Z; Wed, 19 Mar 2025 12:25:12 +0000
Received: by outflank-mailman (input) for mailman id 920562;
 Wed, 19 Mar 2025 12:25: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=abOv=WG=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tusTv-0000d7-0W
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:25:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f403:2613::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3243145e-04bd-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:25:09 +0100 (CET)
Received: from AS9PR05CA0064.eurprd05.prod.outlook.com (2603:10a6:20b:499::14)
 by PR3PR08MB5836.eurprd08.prod.outlook.com (2603:10a6:102:8f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar
 2025 12:25:03 +0000
Received: from AMS1EPF00000048.eurprd04.prod.outlook.com
 (2603:10a6:20b:499:cafe::30) by AS9PR05CA0064.outlook.office365.com
 (2603:10a6:20b:499::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Wed,
 19 Mar 2025 12:25:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000048.mail.protection.outlook.com (10.167.16.132) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Wed, 19 Mar 2025 12:25:02 +0000
Received: ("Tessian outbound ec1a125a00e6:v597");
 Wed, 19 Mar 2025 12:25:02 +0000
Received: from Le61865386ede.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B821F237-F8A8-4AED-90CB-FAA480B69D3A.1; 
 Wed, 19 Mar 2025 12:24:52 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Le61865386ede.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 19 Mar 2025 12:24:52 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 GVXPR08MB10686.eurprd08.prod.outlook.com (2603:10a6:150:150::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar
 2025 12:24:47 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 12:24: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: 3243145e-04bd-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=A/0iUoeoHFAji7Sgq7C0Ms7RWBhcSzRfdsk2GcCdjVXuWZTLb27pFHCRReXlU1FHdQg46VAvoBAnjrY7TcQJRt8AiqfkROrfeIzhYBC6MHNIYhgZjCh4T+w5KbyWHUcMOL1AY8xtd+k28N6y0D8CEqkWbv58qYu1WbJyiieowQ3YZzNev0FcKTJGsbEK4imwxfdhbkMv60jsOmTquZUeTKUUfoU2qHaI98zLrgamt3AtIKkn5gvhBif76lIA6YV1yyJrKD3XKm+MdWMGUpQwQhZ3waFhEsaYhc/oWR6zHz3ci0wyx+H4ipUPUX6WU6kBWx7QbgPBFQJY8HvXlhrKpg==
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=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=OtuF7yoLNX4iJk3mqWLFPe2hDSgluCb2PrHOceTSBOx9Q0/6Wzmds6yMDjuoyvb+F+bZjzpuHjo18pM9tiRsbCmLs9ao2xTmmBKba09qhSqJn+W4troJNpZ7uTWp3KbSpi3UQjN9EtjxStpqqg/8wTuM6BhcZc/MCHzXpIwep+PcuTYcBS9qs9b1U6kqqX/JWbIAPQ79gsciw986dYg/nRmkZXq4AtJtCMX7tgZ1i0je9U877fZ4QV0tnYzh/OOuqQU57AsgFrCI5Tfv9+KcKpZsmTnkUs6GPYITcvYEMVYzZPnt3bT1Gnog4KIhi9v+Yb/LjZD8fCPayc2X5rnw6A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=HSIgO6ENRALTI3K2VtCFNdanyrruzAGpjSvtjaqrKjtAg6znYc7A0fHg/1TTXvKSHLArlQbVfjMfl3xEdUfLbJ1l6oNANCdbhM2qG+XwigHFLUf8sygq5ekLdpz/niGtLW1tB3HI2IcN7EvhEVHWFzXBJb1VcU+v9MhYK0J+vH0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2b01a7191bd69f86
X-TessianGatewayMetadata: +/IK2RxRFFKgg6WhxAGJd3ELnohOM6ChnWIb30p0ODHV64My3VoqLv7SabHlZq+3lSHEUnP8IMIFbEXDODbtP6ynstuSCblURgAjlMXGK1xH54MWbFp0jOdXKkC0IXV8KnS+PKINiTf7dGOJezuV2vxjzSKKJrOGV4sjmREQl+U=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qBGlAf6XYbVJ18uYRQ43CbJ56yR9QzaXLzpPciXb/upVRtvCIWnMie7Grr25YbChtM4R13+y0OMkvfPpClV7rhfkvi1N+cANO+6Dh0KSbL0GPCND7CMiZxmuj4Sb2XdG4q5TIU9vogwTy7Ly7n0paZjw9CRYhkyXSoO/S/3/0fnRlHl0KhYiR3pmHxncEGNAU/bJtWOZVHmABnxcmzl9NvsYSwwH4UN7/oaFKJNtkxY0q3H5VMSx2Z26CklOtPSWncwY9d+dDkjj5xzg5KoxWOWeCZSXrJBvhtfs0Oe39Mm7tXwohX9GPb3fMVysjGVYiN8WyKVj4qpvBj3qBLxM4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=cxDLq5+JQXYRwkg5x4M07yaVrPwzETJjrwirfXxaJXMdgeHOopM17ke6CJAp57vVOcLIoCQdtMX4JCqkF9z5VYH4ooWzJHovA+m/iEs+dtTxTDc+pjT1aLSc0NayZNveFPXIWPrcax+ShYPJgM2r/TWukYrZZqb1WA0I3evpQqcZJQ7CK9oevjtFuoXLuouc0Cs1505TI84ye0WxeDB13xBpbkFo5OmjR9EcnUV9bRzUCTEly/krkI/+YeLVReez6m9gyCVPlnwF4iwuktE9908gJcwRUZlwZueccLjFD9eDVlRyHMG5bVG29qTWEkRWzbdmamAhbVs58cXe4gXEcA==
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=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=HSIgO6ENRALTI3K2VtCFNdanyrruzAGpjSvtjaqrKjtAg6znYc7A0fHg/1TTXvKSHLArlQbVfjMfl3xEdUfLbJ1l6oNANCdbhM2qG+XwigHFLUf8sygq5ekLdpz/niGtLW1tB3HI2IcN7EvhEVHWFzXBJb1VcU+v9MhYK0J+vH0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@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>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Alistair Francis <alistair.francis@wdc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Wei
 Chen <Wei.Chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
Thread-Topic: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
Thread-Index: AQHbl3hIuq5Ui4sTKky0PpKNFdMoBrN43e6AgAF5B4CAAAvlgIAAAd+A
Date: Wed, 19 Mar 2025 12:24:47 +0000
Message-ID: <F827A271-0E9B-4240-BB1E-C039E9EE5656@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <D86D58F5-1EDD-4362-B163-5AD25C5DCC51@arm.com>
In-Reply-To: <D86D58F5-1EDD-4362-B163-5AD25C5DCC51@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|GVXPR08MB10686:EE_|AMS1EPF00000048:EE_|PR3PR08MB5836:EE_
X-MS-Office365-Filtering-Correlation-Id: cbdaff5a-cdfb-4910-4e3c-08dd66e112f5
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|7416014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?MHZRUjdNUXB0SXpXMHNkNHBxMFpucm8yc0pBVHhVcjdSMnNzcm5rb1Q3ODVY?=
 =?utf-8?B?amh3cE5HL29jUlkwbStsbmhQaG5INEZQb3dlYytGMzRwSENaS211eUdaeHVq?=
 =?utf-8?B?N3dBb3VMSUVaSGhDeUpTUERlVnhKSStFTWpqNlpnSWR3UzBoa3NHZjhpdXM1?=
 =?utf-8?B?eHRjeU80U2JvNFJBdXY5VHdhVTI0SW13RXNMTXpxQ3ljaGVKcTZLZ0dJWmh2?=
 =?utf-8?B?Q2h4ODgydmJlWXBlZExST3FTTFRsOGZqaWhBdTlzSEJxQlRndnk0RUl2dFZm?=
 =?utf-8?B?ZllCb3hmLzdOVWFRcEZGZ0tNVktsbGNmendoc2VPM3h5azdCalpocTRpZTIw?=
 =?utf-8?B?OCs0L0pVS3lBbGVwclJMZmk3aStnQjVncDhOcVpMaTg5bHpOd1hFcnR1NGZU?=
 =?utf-8?B?L1A1dWhNK1l0c01SaUZPSGtyU2UySGkrMzFkVHNMUlBySE5SUU53WnRlZTdD?=
 =?utf-8?B?ZG5PbEhKcXFiNHUrM2ErdDcwNjhMK0NTb0IvVHArTk8vRktCd0h0cTZXWjVa?=
 =?utf-8?B?ck9VZ0p3dUxhcVZOK3MwSFhQajh1aGlyUVUyRVQ0aHdBSDBhaEtuUWI4Y1lV?=
 =?utf-8?B?elp5bDhPNVIvTVRseDBsRE5BQWJkMUJRWUtMbWRESWRwbnFGc3VGYjhYRi9N?=
 =?utf-8?B?UElCZDJzRkpMeHh4NVh0ZWhJSGRxRjRsejdiZDFqbWVnLzFBWnkxT2hMVTNy?=
 =?utf-8?B?M1JyYThnR21uQkpwK1pqSk5jbmZiWmNoWTBDM0plaXk3MDlrWk1CVWtoZ0pO?=
 =?utf-8?B?R0xaaEQ3d0Q0M1FEbmhUWVRPL3BUODBPNDNPbndyUENiZjhDNjlhcGR6U0Nr?=
 =?utf-8?B?M2piUGFVaUJWeTI0Nk5tVzNJY1kxVFh0Z0JRb3FRejVrUHVoT0d6bjd4dFhs?=
 =?utf-8?B?NDZsd25iTU9sODBPa0cvOEVnR1pmSTJ2ZGVFUEZmWUpHeVJnZER3ei80d3FY?=
 =?utf-8?B?bXprc21CNnRDSDZ3cHorN2FwMEdDWGt4SjdTektnTWFVMXFablN3MnFwcDZs?=
 =?utf-8?B?UFBpMHdzRW5ZSGptd0lDRVhCNjRSVER3L2tTZ0hJOFk0QVZ2eTNRTjRXQ3Qz?=
 =?utf-8?B?MStNMVBmdnptNzI3Qlh0elFyallDV1ZSSlRDZnRGNk9wK3lxSWRMR1E2THFY?=
 =?utf-8?B?Y2NyUUxrdFNoWjBVOHEvRVRKaWxrMWpjR2ZPNlkreWpiQm1SNC92NEdoTnlI?=
 =?utf-8?B?cTFCRThYUDFXRDcvMGduU2tEbmVIZElTR2JGL244RDZMVjUzTVVnTnNRVnFi?=
 =?utf-8?B?eDA3ZE0vSEFENHJ3dU9GbzRqdkxDbzFFbUR4eS8vSjIzd2Jndk5rOUl1Rk8y?=
 =?utf-8?B?YXpFZ1FueEhGR1JHSnVZdjFvU0FHV1FNcHRuU2V3K1RhZE50TURlTC81dFJh?=
 =?utf-8?B?S2pZWVhrTElzL1M0QVZRNmthMXhtTys2WjdNaFk2TnJ5VnptR1FXV25SN2R5?=
 =?utf-8?B?eEtMQWk4aDV3QXdrR1RobTNrMkppbXF3aDBmTEFUbmJZNGsxcTh5VGpDc2M0?=
 =?utf-8?B?d0twWXZKaENZbk8yR0ZVT1lwS09LbmRFUEoyT1Y2dUUxY0F6Z2svMC9Ma0lV?=
 =?utf-8?B?MFdQSUJFVnJCN0laT2RmQm5SbEs3QVpBSzRwbzdOZzJlcktPZ3QyT2ZSMENU?=
 =?utf-8?B?TE9oaG5nQlpoRGc4Yll2RjUwdDczWWZMVVZaZWxkRVA5RFZDYnU5c0xuaVZO?=
 =?utf-8?B?NlpNbDRjcFpmRkpIeHBrR3B5MXJncnVIeGsyZTE0WkF5VmNjQ2h3ZExqZlI0?=
 =?utf-8?B?U2NJNXMrdE0vb25laGhqc2hNYWNuc3E0MEh2L3BPSnB2ZklLS1BMS0JxdFVZ?=
 =?utf-8?B?UnphWEdDQkdTMk5wNmx5YkpKSnJVdHcwNTFBR3g5VVc0eW1pbk45S1hsaXVr?=
 =?utf-8?B?akZlQi8rRVJWMloxckRrUVdsRlNQbHRqVS9qTmlVQWJzVWFlTFI3ak1nNmNT?=
 =?utf-8?Q?SCjrZc1UYbv3PD4ISNLqaAVoWdBZT6z2?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9333D62EE57DF742ACC59304071AF2BE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10686
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF00000048.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d8c968a7-0ec4-439d-ea42-08dd66e109ca
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|14060799003|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Zko5c3lsRE1BV2VJZ1lwSGZjRWxQMXkxZEpIcFUzYkY0aXpFV3VFVzcwanQ5?=
 =?utf-8?B?a0FKT1FWQ0NxSjNjVFpzL0JIVklCVmI1MktRMyttUEt4WitMQ0FndmRvMGt4?=
 =?utf-8?B?ZWhvOHZ4ZkM4dEE2cTlGRy96Z2RXcEIwTk50M2NUU0xEeGp0WWY4c2YwNGxn?=
 =?utf-8?B?czdCY2RLNWdoOFZjT01QQVZQc1B6OHlDdjhCNGI3V25hZ0lnVDhhQy9Hd3Z3?=
 =?utf-8?B?bk9WbjlyVUl1K240U1dvNEduZmRRWDljUlE1bHVaS0lMOFlLYnFXS1Y0ZTlh?=
 =?utf-8?B?RnBCWWpZOU9Hd3h1dEk2RjNZVkNUTHV2ZUhsR3BxaC9XK0llOXAyQVVGZEpL?=
 =?utf-8?B?bGVaRWV0QkhHZ1hlbDZ2Q1hzNUtqS3FYUmJrcTZNZGZwZU9jT2ZKS2oyYXhQ?=
 =?utf-8?B?cUxqNWdmamQ4bW5Lajc4MWhsLzl3b1F3VzEzUmQzMTV4a20xeE9UYWJzZHZH?=
 =?utf-8?B?ZE9sOUR5TjRmcE5WM05ha2FaU0I2Q0ZualAwWko1ZklRZ1dmK2t0dnhuczZ4?=
 =?utf-8?B?REo4V1kvdGZrZ3ZnUWpzSkJybk1FY2RoRTJ3dWx4Y0s5U0tocFBMdlhVRDhB?=
 =?utf-8?B?MFBrdEFqdlpXUVFtNG05SG1MTktzd2VTek5aL1lzd0FkZUs5OUdKdHdDYU15?=
 =?utf-8?B?YkJGWHZhdU5NYi9qTjJtbnc4TTFZYlN2WG00b2xUNWx0TC9PZ1ZFYmI1c0Vr?=
 =?utf-8?B?Y21LZVFRYWU0ZWZsazBVRDJ1TFI2MmJMNi9ENHpFWGV1RTY0R1ZEd3hxUEJP?=
 =?utf-8?B?U3FnQklkYnFSZE4yVlNUR3NQMjZsdlNEMTRZQWEweUsydUtydGtqbC9Td1Nl?=
 =?utf-8?B?R1dLTWZ3T3UrdThBY2F1MWdVS3JXRCtNTEJBMERxdllBc3FQNTQ3N0ZsRSs4?=
 =?utf-8?B?Z2dGeSt5TkczWm1sbVJPNmtBMjBsRXE2ZTRvNktDcXFLT0FDVjZsdkRnNmto?=
 =?utf-8?B?NWlMaU56dXllMHJYRWpueXU3LzZLVndzYXR1M2FsaUt3c0YvSzF0U0FIalFG?=
 =?utf-8?B?MktUbUVCY0pBcDhJcExrSTRPSmlSais4b3VDT2x3emExV1dhMUMyYTR5dVZG?=
 =?utf-8?B?aitwRGhRb2JLdUY0S3ZWcHFFTG41RjJqMTRxUXI1N3ZMdEdBcVVZSnV4TTVQ?=
 =?utf-8?B?S0tZL2gwaUlabG5NMG0xYmIybkpQTmtsSWF6SnlObHU1cENUeU9BMWtjWDNm?=
 =?utf-8?B?MHljRTluelRyU1dlMjRiQkQ3L3RWSnZaTlhMK2E2a3NLY1l1SmJlWHVMU0dU?=
 =?utf-8?B?Yk5MMzVzbndFSXB3ck9BZlNaL2ZYQWp3MUJyUTkvVlpMNXFJZ0VxcC9FZnl2?=
 =?utf-8?B?NHJCdXI2MGlpQk5KZ1JEQkcxMlR5ZENjNnAyVUpKbDdId0E4d0lmSEdSMXVV?=
 =?utf-8?B?RzdLMDZLSGttYS93cXZqZVRVVWI0Vkp1b1VZaUJMTXZDdHR5My9wbloySEVG?=
 =?utf-8?B?WWMvUFoxRDNTL1lXMUp1ZmNOQko0NEIwaUphWWhITnZ5T01lbEljbWRxSStY?=
 =?utf-8?B?cWhQUWs3cy95cFdKTURETW5aUitoV2FlWUZ3cGY1QnZIaUNKU1pnUlhkbFB1?=
 =?utf-8?B?Y1dMQkcrZTNMUHo3bEczdG1uMFljLzV6c1VmQjl4a2Vsek9ncmJrdDIrV1gz?=
 =?utf-8?B?bnhPQW9KamdBUHR2Vmhvc05KT3VwNC9xSUFDQWxHMyt0dU0zQ3ZWV1hxNTdt?=
 =?utf-8?B?VVBLVEpneTZqNkthclQybFd3UzBUbHhKZ3JYeGFVRnp2amxsVVNkQzhLbnlz?=
 =?utf-8?B?M2gzbEpFb3hPTUxGWmNOeUZQeEF5ZzcyV0lxVmRLblVJTUVkbHhIYmJYMnVZ?=
 =?utf-8?B?YXU2RzFqaEVHdU5kOXpQbVlhWW9HZmQ2b09lSmRNMzF5QjdJWEVNZ2JuR3oy?=
 =?utf-8?B?RmFNbjJxeVdpMSs3RURhUDF5QUVxa1UvN0w4a3hZd3ZnZzI1VmxGejd5WkFB?=
 =?utf-8?B?K0w2aFEzL3hSYmRvS0o1Tm01MUVaSUZ5QmZDWEdQekRja2Fzci80aE5nTG9u?=
 =?utf-8?Q?etcePPVWFSDQ9janudwGpg1HGIvEKQ=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(14060799003)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:25:02.7594
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cbdaff5a-cdfb-4910-4e3c-08dd66e112f5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF00000048.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5836

DQoNCj4gT24gMTkgTWFyIDIwMjUsIGF0IDEyOjE4LCBMdWNhIEZhbmNlbGx1IDxMdWNhLkZhbmNl
bGx1QGFybS5jb20+IHdyb3RlOg0KPiANCj4gSGkgSmFuLA0KPiANCj4+IE9uIDE5IE1hciAyMDI1
LCBhdCAxMTozNSwgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+IA0K
Pj4gT24gMTguMDMuMjAyNSAxNDowNSwgT2xla3NpaSBLdXJvY2hrbyB3cm90ZToNCj4+PiANCj4+
PiBPbiAzLzE3LzI1IDk6MDcgUE0sIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+IEZyb206IFBl
bm55IFpoZW5nPFBlbm55LlpoZW5nQGFybS5jb20+DQo+Pj4+IA0KPj4+PiBBUk0gTVBVIHN5c3Rl
bSBkb2Vzbid0IG5lZWQgdG8gdXNlIHBhZ2luZyBtZW1vcnkgcG9vbCwgYXMgTVBVIG1lbW9yeQ0K
Pj4+PiBtYXBwaW5nIHRhYmxlIGF0IG1vc3QgdGFrZXMgb25seSBvbmUgNEtCIHBhZ2UsIHdoaWNo
IGlzIGVub3VnaCB0bw0KPj4+PiBtYW5hZ2UgdGhlIG1heGltdW0gMjU1IE1QVSBtZW1vcnkgcmVn
aW9ucywgZm9yIGFsbCBFTDIgc3RhZ2UgMQ0KPj4+PiB0cmFuc2xhdGlvbiBhbmQgRUwxIHN0YWdl
IDIgdHJhbnNsYXRpb24uDQo+Pj4+IA0KPj4+PiBJbnRyb2R1Y2UgQVJDSF9QQUdJTkdfTUVNUE9P
TCBLY29uZmlnIGNvbW1vbiBzeW1ib2wsIHNlbGVjdGVkIGZvciBBcm0NCj4+Pj4gTU1VIHN5c3Rl
bXMsIHg4NiBhbmQgUklTQy1WLg0KPj4+PiANCj4+Pj4gV3JhcCB0aGUgY29kZSBpbnNpZGUgJ2Nv
bnN0cnVjdF9kb21VJyB0aGF0IGRlYWwgd2l0aCBwMm0gcGFnaW5nDQo+Pj4+IGFsbG9jYXRpb24g
aW4gYSBuZXcgZnVuY3Rpb24gJ2RvbWFpbl9wMm1fc2V0X2FsbG9jYXRpb24nLCBwcm90ZWN0ZWQN
Cj4+Pj4gYnkgQVJDSF9QQUdJTkdfTUVNUE9PTCwgdGhpcyBpcyBkb25lIGluIHRoaXMgd2F5IHRv
IHByZXZlbnQgcG9sbHV0aW5nDQo+Pj4+IHRoZSBmb3JtZXIgZnVuY3Rpb24gd2l0aCAjaWZkZWZz
IGFuZCBpbXByb3ZlIHJlYWRhYmlsaXR5DQo+Pj4+IA0KPj4+PiBJbnRyb2R1Y2UgYXJjaF97Z2V0
LHNldH1fcGFnaW5nX21lbXBvb2xfc2l6ZSBzdHVicyBmb3IgYXJjaGl0ZWN0dXJlDQo+Pj4+IHdp
dGggIUFSQ0hfUEFHSU5HX01FTVBPT0wuDQo+Pj4+IA0KPj4+PiBSZW1vdmUgJ3N0cnVjdCBwYWdp
bmdfZG9tYWluJyBmcm9tIEFybSAnc3RydWN0IGFyY2hfZG9tYWluJyB3aGVuIHRoZQ0KPj4+PiBm
aWVsZCBpcyBub3QgcmVxdWlyZWQuDQo+Pj4+IA0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBa
aGVuZzxwZW5ueS56aGVuZ0Bhcm0uY29tPg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbjx3
ZWkuY2hlbkBhcm0uY29tPg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1PGx1Y2Eu
ZmFuY2VsbHVAYXJtLmNvbT4NCj4+Pj4gLS0tDQo+Pj4+IHYzIGNoYW5nZXM6DQo+Pj4+IC0gSW50
cm9kdWNlZCBBUkNIX1BBR0lOR19NRU1QT09MIGluc3RlYWQgb2YgSEFTX1BBR0lOR19NRU1QT09M
DQo+Pj4+IHYyIGNoYW5nZXM6DQo+Pj4+IC0gbWFrZSBLY29uZmlnIEhBU19QQUdJTkdfTUVNUE9P
TCBjb21tb24NCj4+Pj4gLSBwcm90ZWN0IGFsc28gInhlbixkb21haW4tcDJtLW1lbS1tYiIgcmVh
ZGluZyB3aXRoIEhBU19QQUdJTkdfTUVNUE9PTA0KPj4+PiAtIGRvIG5vdCBkZWZpbmUgcDJtX3Rl
YXJkb3due19hbGxvY2F0aW9ufSBpbiB0aGlzIHBhdGNoDQo+Pj4+IC0gY2hhbmdlIGNvbW1pdCBt
ZXNzYWdlDQo+Pj4+IC0tLQ0KPj4+PiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICAgICAg
fCAgMSArDQo+Pj4+IHhlbi9hcmNoL2FybS9kb20wbGVzcy1idWlsZC5jICAgICB8IDc0ICsrKysr
KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0NCj4+Pj4geGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNt
L2RvbWFpbi5oIHwgIDIgKw0KPj4+PiB4ZW4vYXJjaC9yaXNjdi9LY29uZmlnICAgICAgICAgICAg
fCAgMSArDQo+Pj4+IHhlbi9hcmNoL3g4Ni9LY29uZmlnICAgICAgICAgICAgICB8ICAxICsNCj4+
Pj4geGVuL2NvbW1vbi9LY29uZmlnICAgICAgICAgICAgICAgIHwgIDMgKysNCj4+Pj4geGVuL2lu
Y2x1ZGUveGVuL2RvbWFpbi5oICAgICAgICAgIHwgMTcgKysrKysrKw0KPj4+PiA3IGZpbGVzIGNo
YW5nZWQsIDczIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQ0KPj4+IA0KPj4+IEZvciBS
SVNDLVY6DQo+Pj4gUmV2aWV3ZWQtYnk6IE9sZWtzaWkgS3Vyb2Noa288b2xla3NpaS5rdXJvY2hr
b0BnbWFpbC5jb20+DQo+PiANCj4+IE1pbmQgbWUgYXNraW5nIHRoZW4gd2h5IFJJU0MtViBuZWVk
cyB0aGlzIGF0IHRoaXMgcG9pbnQ/IFRoZSBzdHVicyBzdXJlbHkNCj4+IHdlcmUgYWRkZWQgdG8g
YWRkcmVzcyBzb21lIGJ1aWxkIGlzc3VlLCBub3QgYmVjYXVzZSB0aGV5IGFyZSBhY3RpdmVseQ0K
Pj4gbWVhbmluZ2Z1bD8NCj4gDQo+IHNvcnJ5IEnigJltIG5vdCBhIFJJU0MtViBleHBlcnQsIEkg
c2F3IHRoZSBzdHViIGFuZCBJIHRob3VnaHQgdGhlIGFyY2hpdGVjdHVyZSB3YW50ZWQgdG8gaGF2
ZSB0aGVtIGltcGxlbWVudGVkLg0KPiANCj4gSWYgbm90LCBpcyBpdCBwb3NzaWJsZSB0byBsZXQg
dGhlIFJJU0MtViBwZW9wbGUgaGFuZGxlIHRoYXQgc2VwYXJhdGVseT8gSeKAmWxsIGJlIG9mZiB1
bnRpbCAzMXN0IG9mIE1hcmNoIGFuZCB0aGlzIHBhdGNoIGlzDQo+IHVzZWZ1bCBmb3IgQXlhbiB0
byBpbnRyb2R1Y2UgYSBidWlsZGluZyBzdGF0dXMgZm9yIGFybTMyLg0KDQpPaCwgYXBvbG9naWVz
IEkgZGlkbuKAmXQgc2VlIHlvdSB3ZXJlIHJlcGx5aW5nIHRvIE9sZWtzaWksIGFueXdheSBpZiBw
b3NzaWJsZSBhbmQgeW91IGFyZSBvayB3aXRoIHRoaXMgcGF0Y2gsDQpJIHdvdWxkIGFzayB0aGUg
YWJvdmUuDQoNCj4gDQo+IENoZWVycywNCj4gTHVjYQ0KPiANCj4+IA0KPj4gSmFuDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:26:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:26:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920578.1324706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusVM-0001Dn-JS; Wed, 19 Mar 2025 12:26:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920578.1324706; Wed, 19 Mar 2025 12:26: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 1tusVM-0001Dg-Gi; Wed, 19 Mar 2025 12:26:40 +0000
Received: by outflank-mailman (input) for mailman id 920578;
 Wed, 19 Mar 2025 12: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=abOv=WG=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1tusVK-0001Ck-Gb
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:26:38 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6619285b-04bd-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:26:36 +0100 (CET)
Received: from DUZPR01CA0040.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:468::18) by AM0PR08MB5313.eurprd08.prod.outlook.com
 (2603:10a6:208:17f::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 12:26:33 +0000
Received: from DU6PEPF00009523.eurprd02.prod.outlook.com
 (2603:10a6:10:468:cafe::f9) by DUZPR01CA0040.outlook.office365.com
 (2603:10a6:10:468::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Wed,
 19 Mar 2025 12:26:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF00009523.mail.protection.outlook.com (10.167.8.4) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via
 Frontend Transport; Wed, 19 Mar 2025 12:26:33 +0000
Received: ("Tessian outbound 77cd431de54d:v597");
 Wed, 19 Mar 2025 12:26:33 +0000
Received: from Lcd358135d35a.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6435240B-5C18-4755-9E6A-6FA5B0CF999D.1; 
 Wed, 19 Mar 2025 12:26:24 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lcd358135d35a.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 19 Mar 2025 12:26:23 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com (2603:10a6:5:1c::25) by
 AS8PR08MB9502.eurprd08.prod.outlook.com (2603:10a6:20b:61e::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 12:26:18 +0000
Received: from DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668]) by DB7PR08MB2987.eurprd08.prod.outlook.com
 ([fe80::d53f:b16d:70a5:8668%4]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 12:26: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: 6619285b-04bd-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=L+ZddJJzFFU+uvk4DJbEnZEBdNQkTIqLGoDPHOcT+j/JlojAyDAaRw/UGKQgd1RLD98FF82NIFAffPvgpcwKmtWlwoeco6nJwwa2mwkZblg2Q9NwhinmOfjcMUUes06g3rgzqYjYCvsmvo7m3ZewEDPpqKVRwwoFHeXstklgwYK1FpipCelfw9VIDQiX0AnvTlkp9WOrdRHpcGwV7Vwaic1qsN7L5IRy6gtxNWpXxOZ/SnuX2ZFkxB+YjywOGm8iR9ny3VyQb4G50zEdQ508XM0OfeNYLgQTcdNGzw5HMiGEXKhj0+Dlyw84Vxal8PL6drNVM3gIKRgJymHE+KOXzA==
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=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=SRD6mjLFM+tjiVkfgnWNZ9GOH9S+yLRD2KE/5zMqgOg2jwp/RiBn1ssPKd+aTAnYx7LljVD5eClJJUUV5LPEYMWwNPD4g/Q/b2qwHjUXkPEi7cohZvDt21Ri+y5PIuynRb2vZKz1XhCViOiMUyvfNGGaGmlVgWYdtt1vDFoMVcu6LeOhKr+fCjoz0fN7Fwl/FBh6HTqaHpEoMbMIDND8hIgo4MTvmwf24/5boSM/itUsBj4FJdQZV4dCpslb22Lb9Mpe3G2b31yvs6ejaHwce6Mry6FxxhzLQwLK/KHUx0g+B8T6SxFEbH5yPXxfSKwBB/XlqsXmvgtmU5Gl2sHsgg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=Dom1RWLGRhihuwK5f0fwqzRnpJZMSWOwCTChQYTJiKRWSSi3JhIUyUps2fDabmnNwoAc4/WYdtb7F8+vseE+pRJ80ChAom+D5V5dsD1LYcPVqiBfC6wZuoIrb2AMEh9bdwv/xJ1FnjxFKJfI6IrEAn4ksyIZEZJv0t3CcbWj7do=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 58596a145cf13af7
X-TessianGatewayMetadata: l1JZ4VhRn70cJpXE2a4ju8D9gtIMrI6nF8T1wT46lmGIZzV3nv4lVo22gVqmVx/+JRrp1F6WlTU7nBpTk677zi/O1sgAyyknXVN9MLnSC96tRBCB7qT9pCeVdmgwszPegxumhN3+o7q0rDuYfuVrGDhh3HZLS5fwIt/cY2d+CW4=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=C+MDFX47nsKRBSba8yabLngGWBvqBSjZreFTXbW+hUMFYighqzrlE7Kf+YHR1yQ3n5SocjxalgRqXQ/6x/14o96c3vQuv69r8+pwa3brJHICBtEBI7Bw4xlBal/+e2VXpWeI/dBgCK4bBCtkUAOGVKj85XcZEO6uvGNJNMaV9exdGf5khcOwbmw69egMBQsRzoeFfis6Wkw9ZMx58LsohsQ2xZAaDn1r3+ovEnKYm0nlnu6RHFjBn07/L0dDfENa5WTwBT3z02n9AraKJvrj4yTjqjKtZp6df/mFyYUDAoda+GYZKOBm2Qg28RhJeHHdgXKy5s5vDgVz9HR/24y25g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=yuXb5/auRhnnUG79xO+swBpdE/MwRrji80oPU71Xd/zV1zGwLxK+FXq20PwQ3Q3A0et/08QxTTn4DplHWlk3H3hftCudQX1QH4f/Pj5B/sSpwzIs5BhaEbfIdBn4fypNzRAnHfSNneKJfcJn0t8c/oDfJHiR3LHMK4VRKquCxscMUk0aAZlwinizmH62QKWfyT7iWBcXxg+43NmpsZaxYuybSNv6ODmsBEvl3rZffvzV8lfsqWKgFZhRsVvppr7KUMTDWTcCEgaxGU9qEjvdurRM8B3c6nG3hNbeMXmwZTZVEfGqzankER/cfjDLMwtmluCjXAU5MsFZKLIV94z6tw==
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=dmgsT9LLY1+AMem+hNahUPrYUjJDEKKRRV3TYLgNnqs=;
 b=Dom1RWLGRhihuwK5f0fwqzRnpJZMSWOwCTChQYTJiKRWSSi3JhIUyUps2fDabmnNwoAc4/WYdtb7F8+vseE+pRJ80ChAom+D5V5dsD1LYcPVqiBfC6wZuoIrb2AMEh9bdwv/xJ1FnjxFKJfI6IrEAn4ksyIZEZJv0t3CcbWj7do=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@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>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Alistair Francis <alistair.francis@wdc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Wei
 Chen <Wei.Chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
Thread-Topic: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
Thread-Index: AQHbl3hIuq5Ui4sTKky0PpKNFdMoBrN43e6AgAF5B4CAAAvlgIAAAkwA
Date: Wed, 19 Mar 2025 12:26:18 +0000
Message-ID: <EC9AB048-7C56-44F1-85B9-30837F4FC6E6@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <D86D58F5-1EDD-4362-B163-5AD25C5DCC51@arm.com>
In-Reply-To: <D86D58F5-1EDD-4362-B163-5AD25C5DCC51@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.300.87.4.3)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB7PR08MB2987:EE_|AS8PR08MB9502:EE_|DU6PEPF00009523:EE_|AM0PR08MB5313:EE_
X-MS-Office365-Filtering-Correlation-Id: 164e7122-e7b0-4284-87a4-08dd66e1490c
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|7416014|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?c3BBMDJoZElLOTg5ckdOcVNMSGtlSEhVS1hEUTRxM1o5Y3BrQmpnbSsxbUxm?=
 =?utf-8?B?dUY4Z1M0ckFzOUNPQld5K2xObnlhcjRSY3BreVdtZ0dIclRsSVFvNFMwb0VG?=
 =?utf-8?B?M1pBVmxEdTV1M0Z3b09MVkJwZkIvR21qWFBud2NEenlTRVBhN2hJWTlSY3NF?=
 =?utf-8?B?bjFQTjhBVVFuNEZ1ankwL3JCOU9pUndQT3hpOVNIc3l2VjlKaW0ybjIrbmg0?=
 =?utf-8?B?ZlBmOW8xRWlPS1lSWm9rR09HZGNrMUs3d0xaVFAvTnBHMGFKUUV1Z1hmbDI3?=
 =?utf-8?B?bHdIN2w3ZXBlb1lsYTdVVzFVMmlhY2JYUHFuOTZLZlh1MTNweG9kSzhURnY2?=
 =?utf-8?B?UFR0bGZsOHQzbFRkMWk1dUplQ3JDbjRQRWV6YjQrR1ZoYzNXbEpBSnZtUHE1?=
 =?utf-8?B?MjJGUWtHVGVkZFg0TTI5alZONW9KNkRJVllZd3RaNDRvWk55SzJNSnlxS1JU?=
 =?utf-8?B?WCtiQ0FSeGFGUktWUnRvYnVnYStOZHdvdEtRcWRhZTBhUG5FcEFSazIrUjdB?=
 =?utf-8?B?WllFTmhiN3pOWDljemt1dDduM3IrUStwQ280eG9yRWZ5YzdKdngrNzBsOFVj?=
 =?utf-8?B?RXNPcldqOWFIbnByTGZYTzNDZWpvRXJoM0RoREE2bHhQaWg2RzF2NUo1THVT?=
 =?utf-8?B?bVhWQkhXNWNhYkdGVEw1NVBvdmdNM1lXZnVielAzQ254WU5lRmdZaHQzMUJi?=
 =?utf-8?B?RWpLcUFXZm9xem1RbDkyVGhib3E2QzRHeXR3UFZldkVrYU1vV2k5b1FxUmo1?=
 =?utf-8?B?TXh1c2RpNEtFYlNVRGlzOXpnODhzMUdhYVRKa2M0UjliK3NxMjY3UUxhVkpE?=
 =?utf-8?B?bWkyZnMveUFIRnFUcVY4QUt2V2JzcEV6M0h6dXdaZ1RsU1hLSGs5QldpUWIy?=
 =?utf-8?B?TnVwL2Z1d001LzdheVVoMUh4N1ZqaFBkYUR4cGJPSVE5VHJSWTFMckkrb1hP?=
 =?utf-8?B?aVl6OW53U2JobTBLZ1JjSWt6ZDNSR1IySkFlc0wydTNNZ0FqbDVCTklnUmtk?=
 =?utf-8?B?eTkxUVZxc0x1ajlVQnRKOFdhTG9IZ3g5b0YwRGpPaXdnWmV6Y2hnNFM2bkZ3?=
 =?utf-8?B?bSsvWUs4TVREZEsvK2hEemVtcXhMVVZnRjJTbmZtVURYUUVxTHVyUkFVNGVY?=
 =?utf-8?B?RlJCUjJVYysvUFN0ZTdvTTJvOWFYQXZQY3lLNXBaUStwMkpIUHlUdFczV0dj?=
 =?utf-8?B?aFBhL1o4bjBBSkJMNFl4MmZlWWcrU0l5dGtYZ2FPQ2hDMWRRcWpiODkwUnlM?=
 =?utf-8?B?OEQ1U0tISnl5aHErczZjUkNlZjAzSTdnZ0JjUkVRZk9XWWxzZmsrSmNtaE5j?=
 =?utf-8?B?eW5sNEFVZUxHdEtmRTNXL3hteGhVSEU3akk4eUI4YU9uSWVCeFVUTDZseUY5?=
 =?utf-8?B?bE13YjhoU3gwMS9RdUh3S20vREZOeFFvdGpwTks4bS9OcmwycC94TGprQitO?=
 =?utf-8?B?Z3c4M1BoMVloaTdXb2tiUlpWTUNqTDJ5OFlCaEJmS2pCYXF0aTZXQkFia1Rq?=
 =?utf-8?B?c3VyaklpWkRnaDJYQnpoc3RXRklEOW1ERy9wR2R4NmJnVytrN3ZsQWtoNjI4?=
 =?utf-8?B?VVdtNUJCZzJNam1RbWk4QXNJMFFnQktJR0syVzg1NXI3cUlERlh1QjhKRmZT?=
 =?utf-8?B?UTNUV1ZzUDRXcXA1cFpwdFl3Q0MxN3dkTWxxcnNYd01SL2lmanh6RTF3akhw?=
 =?utf-8?B?V041TXRtNW5lVC9ZUnVNUVRMakJ6VjR1My9QRVZSWVAyUnlvRWtyb0FCdWR5?=
 =?utf-8?B?S2U0SDFZZlJ4dktPMHZ4NlBSamtrVy9XRGVZY1UrNkpZRkdiMG5ZbVhwOWxV?=
 =?utf-8?B?RStmZmpnQTRDK1FPekhRbmNPSTBNOVVWTURMa3UwOEhDbG9kU1gxcTdIRnho?=
 =?utf-8?B?SmNyVkdKOTdZaHIrWm5jUVlnYjJlbkIvcGFDa1J0MXJFenlJTlBYVzRpaHdw?=
 =?utf-8?Q?QD72ynhi9YW2Oqd5Jwfvq6oMEd1uKnWY?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB2987.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <041FB4069B67E941A287FD8E1A6F7082@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9502
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:5:1c::25];domain=DB7PR08MB2987.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF00009523.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6dc497e9-1639-4458-ae64-08dd66e1400a
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013|14060799003|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bTZFZVp6dFc4RUtiZ3A2eWYxYmRYS1ZTN0pCTS9WTzcvR1lCckM2cUQ1Tnpo?=
 =?utf-8?B?YW1abkFMcEZ0TzhBM0taTHRubnlKRU5ZWXNkcWhkejN1QTFuNWRGNy9xaEN1?=
 =?utf-8?B?QU13RHk0RllCZGxDY0NvdGpMZDFpWXhqSUo5bzFuUDhOdzBWVGxkZmtaN2ZS?=
 =?utf-8?B?UTY5UVJySytXYklZMXZZMWlKOVhqNUo5MWxaY1FHQXNOblpWQUZibk1SYjNv?=
 =?utf-8?B?Wi82S0F2QzFMb2d1TUlaL0poTGwvemNFWjNTak83M3RlOHB0em9PeTlqU1RF?=
 =?utf-8?B?Z1kvbVV3ajd6eG5JbzRXMnJFMVFqNkpvbDhLUlNJa0ppbmFQV3psRnlVY2tY?=
 =?utf-8?B?Z0wzVVI5WXc0bGVneWZ6N3owOUFXSmFtSjJTdXF4MUgyWGxoVWswZFlXaVVC?=
 =?utf-8?B?OEhoWDZuM3VOQkxJdlFvK0xZZnBxREI4T3JzWUJzMFdTcW96bTAwZXExMFA3?=
 =?utf-8?B?dGxYdTNkR0dpTTBBNFZMcG1HYWMzWmplUms1L3F0YS9wL1A3MCtnV2ZSNkti?=
 =?utf-8?B?Z0w0ZEJ5VzNPUFVWN0szcjZaOG4wUm1Tc3orMTBvaEZtNUs0KzFiRlRzSHhK?=
 =?utf-8?B?TFZLRE1La1IwWFd3Q1pZb1JuNTNrVlJpYlJlR3VMN09POUZ3Y3NlVnMvcENH?=
 =?utf-8?B?eXB1eXI5MXJmK1RBRHVySFR0dEJ4L2Mveld0M3hhSTRjeWluZzduOEsxdDNw?=
 =?utf-8?B?SGZyTm9yQmlBaitub09BU0J3bUwrbXl1M2MvWlUwWUd3WDN6L0hxMGhlZ08r?=
 =?utf-8?B?YTJqWXhUdzZkcEMyalVPaWhSMnZKTVVCWjF4c1J6S2lsL1BUblc4WXIrWWht?=
 =?utf-8?B?QXcxYTFIUjhjTmZIOTZtOTl6NzIrckhONTE0bk95bTkrQlVDcnBQWTVwcGJS?=
 =?utf-8?B?eGl0VlpqQ04xd0RudVh1TWRKRWJZeGUxTmJwNVhrTllaMlRKMEtZaUpXdnAv?=
 =?utf-8?B?THRTS0FzWE1uaXdtWjJqZFd0SWRwRDhyM3NiZUpyNVB4VmErN0Z4bGhlMSts?=
 =?utf-8?B?NWlXRk81WnBpWXlNZVl6M2VJRFhzbmhSN21ZOFlra3NjNGVXeVVvd3N3emNM?=
 =?utf-8?B?am82N1NmWkJLaFhRYmM1WnlYMHN3SVlUQmNpV2xmWWMyaHpUNCt4Z3dnNFdS?=
 =?utf-8?B?YXp5NVpsTUVZNWF2cmFlMFlDMmcxWlc3d25KYjZ2SzhDUDZVVEJ0aTFwaWow?=
 =?utf-8?B?b1RKbTljVE1FallKSHRuUjhleitzclF0aVU0NkdIaVcremFSdWRBaDNONHpB?=
 =?utf-8?B?VkZmS2xlTzZkYU5yTko3ZVVsSmJENDh5ZEZpaHh5bEZ0UnBCeEo5QW8yd1M3?=
 =?utf-8?B?R0V5MnFsVFJPL2JBNkQrM1M5UmF3dHdmazdLVHVQL2ExZm5OcEMrYkh3RHpm?=
 =?utf-8?B?RUFDZXVCZFJqOGFJUmtkZTFpZzBnb1FTYnZVWTFtT2VnREZ0ZlRDL1FPVGs5?=
 =?utf-8?B?bE5tWjM0N0VnNU0vcUFVU0xHRFRLT3Eyai9DcEZPc1JHQVBYV1ZXYldkcTZO?=
 =?utf-8?B?ekw4TXV4djloWnJLU2h4ZnM0Sk5OVUJMRVJhczBYbFFjQXp1Y2Z0bU5FZGVh?=
 =?utf-8?B?YjhoVGVCZHNQSTJoN0IzUlRFd1UwczdZekFlMjU3VFZvNUxiWkQ5SjkzdXQ3?=
 =?utf-8?B?Uk9tVUh6MzdPVnh0SVJ3cXFMNllqQmRrQy95UE9oMDJIbHVWYjFZVW9JaTBh?=
 =?utf-8?B?NTJ1YjdkemRYamRNM295TDJNMHVNOGRpM0xtbGUrQk9vQWFuS1drd2ZYeXUy?=
 =?utf-8?B?OEtXTzZHKzFaM2V6UWlYQkw5dEFBcnVMS0lJM2FjZ3BXT3JwSTZyZTJ3enl2?=
 =?utf-8?B?bmhtOHBhUHdoNFFGUmMwYzFtZEl3VGRFLys1dEpMek9rYWthMHUzc1Rjam9N?=
 =?utf-8?B?dit0REZMN056TU1kaHluVHJNYWplWUEzWjR6MEJoTlNPRmp5NWpxN2REM3FK?=
 =?utf-8?B?YnJuMFRVSkFSU2N6UDBHcWF3WDNFbnNXOWFTQ1oxc3JjNWs1c0x1akF2eWpt?=
 =?utf-8?Q?BKRk8EzofME0M+YLV9SjgcIGAJAFyg=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013)(14060799003)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:26:33.5554
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 164e7122-e7b0-4284-87a4-08dd66e1490c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF00009523.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5313

DQoNCj4gT24gMTkgTWFyIDIwMjUsIGF0IDEyOjE4LCBMdWNhIEZhbmNlbGx1IDxMdWNhLkZhbmNl
bGx1QGFybS5jb20+IHdyb3RlOg0KPiANCj4gSGkgSmFuLA0KPiANCj4+IE9uIDE5IE1hciAyMDI1
LCBhdCAxMTozNSwgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+IA0K
Pj4gT24gMTguMDMuMjAyNSAxNDowNSwgT2xla3NpaSBLdXJvY2hrbyB3cm90ZToNCj4+PiANCj4+
PiBPbiAzLzE3LzI1IDk6MDcgUE0sIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+IEZyb206IFBl
bm55IFpoZW5nPFBlbm55LlpoZW5nQGFybS5jb20+DQo+Pj4+IA0KPj4+PiBBUk0gTVBVIHN5c3Rl
bSBkb2Vzbid0IG5lZWQgdG8gdXNlIHBhZ2luZyBtZW1vcnkgcG9vbCwgYXMgTVBVIG1lbW9yeQ0K
Pj4+PiBtYXBwaW5nIHRhYmxlIGF0IG1vc3QgdGFrZXMgb25seSBvbmUgNEtCIHBhZ2UsIHdoaWNo
IGlzIGVub3VnaCB0bw0KPj4+PiBtYW5hZ2UgdGhlIG1heGltdW0gMjU1IE1QVSBtZW1vcnkgcmVn
aW9ucywgZm9yIGFsbCBFTDIgc3RhZ2UgMQ0KPj4+PiB0cmFuc2xhdGlvbiBhbmQgRUwxIHN0YWdl
IDIgdHJhbnNsYXRpb24uDQo+Pj4+IA0KPj4+PiBJbnRyb2R1Y2UgQVJDSF9QQUdJTkdfTUVNUE9P
TCBLY29uZmlnIGNvbW1vbiBzeW1ib2wsIHNlbGVjdGVkIGZvciBBcm0NCj4+Pj4gTU1VIHN5c3Rl
bXMsIHg4NiBhbmQgUklTQy1WLg0KPj4+PiANCj4+Pj4gV3JhcCB0aGUgY29kZSBpbnNpZGUgJ2Nv
bnN0cnVjdF9kb21VJyB0aGF0IGRlYWwgd2l0aCBwMm0gcGFnaW5nDQo+Pj4+IGFsbG9jYXRpb24g
aW4gYSBuZXcgZnVuY3Rpb24gJ2RvbWFpbl9wMm1fc2V0X2FsbG9jYXRpb24nLCBwcm90ZWN0ZWQN
Cj4+Pj4gYnkgQVJDSF9QQUdJTkdfTUVNUE9PTCwgdGhpcyBpcyBkb25lIGluIHRoaXMgd2F5IHRv
IHByZXZlbnQgcG9sbHV0aW5nDQo+Pj4+IHRoZSBmb3JtZXIgZnVuY3Rpb24gd2l0aCAjaWZkZWZz
IGFuZCBpbXByb3ZlIHJlYWRhYmlsaXR5DQo+Pj4+IA0KPj4+PiBJbnRyb2R1Y2UgYXJjaF97Z2V0
LHNldH1fcGFnaW5nX21lbXBvb2xfc2l6ZSBzdHVicyBmb3IgYXJjaGl0ZWN0dXJlDQo+Pj4+IHdp
dGggIUFSQ0hfUEFHSU5HX01FTVBPT0wuDQo+Pj4+IA0KPj4+PiBSZW1vdmUgJ3N0cnVjdCBwYWdp
bmdfZG9tYWluJyBmcm9tIEFybSAnc3RydWN0IGFyY2hfZG9tYWluJyB3aGVuIHRoZQ0KPj4+PiBm
aWVsZCBpcyBub3QgcmVxdWlyZWQuDQo+Pj4+IA0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBa
aGVuZzxwZW5ueS56aGVuZ0Bhcm0uY29tPg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbjx3
ZWkuY2hlbkBhcm0uY29tPg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1PGx1Y2Eu
ZmFuY2VsbHVAYXJtLmNvbT4NCj4+Pj4gLS0tDQo+Pj4+IHYzIGNoYW5nZXM6DQo+Pj4+IC0gSW50
cm9kdWNlZCBBUkNIX1BBR0lOR19NRU1QT09MIGluc3RlYWQgb2YgSEFTX1BBR0lOR19NRU1QT09M
DQo+Pj4+IHYyIGNoYW5nZXM6DQo+Pj4+IC0gbWFrZSBLY29uZmlnIEhBU19QQUdJTkdfTUVNUE9P
TCBjb21tb24NCj4+Pj4gLSBwcm90ZWN0IGFsc28gInhlbixkb21haW4tcDJtLW1lbS1tYiIgcmVh
ZGluZyB3aXRoIEhBU19QQUdJTkdfTUVNUE9PTA0KPj4+PiAtIGRvIG5vdCBkZWZpbmUgcDJtX3Rl
YXJkb3due19hbGxvY2F0aW9ufSBpbiB0aGlzIHBhdGNoDQo+Pj4+IC0gY2hhbmdlIGNvbW1pdCBt
ZXNzYWdlDQo+Pj4+IC0tLQ0KPj4+PiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICAgICAg
fCAgMSArDQo+Pj4+IHhlbi9hcmNoL2FybS9kb20wbGVzcy1idWlsZC5jICAgICB8IDc0ICsrKysr
KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0NCj4+Pj4geGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNt
L2RvbWFpbi5oIHwgIDIgKw0KPj4+PiB4ZW4vYXJjaC9yaXNjdi9LY29uZmlnICAgICAgICAgICAg
fCAgMSArDQo+Pj4+IHhlbi9hcmNoL3g4Ni9LY29uZmlnICAgICAgICAgICAgICB8ICAxICsNCj4+
Pj4geGVuL2NvbW1vbi9LY29uZmlnICAgICAgICAgICAgICAgIHwgIDMgKysNCj4+Pj4geGVuL2lu
Y2x1ZGUveGVuL2RvbWFpbi5oICAgICAgICAgIHwgMTcgKysrKysrKw0KPj4+PiA3IGZpbGVzIGNo
YW5nZWQsIDczIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQ0KPj4+IA0KPj4+IEZvciBS
SVNDLVY6DQo+Pj4gUmV2aWV3ZWQtYnk6IE9sZWtzaWkgS3Vyb2Noa288b2xla3NpaS5rdXJvY2hr
b0BnbWFpbC5jb20+DQo+PiANCj4+IE1pbmQgbWUgYXNraW5nIHRoZW4gd2h5IFJJU0MtViBuZWVk
cyB0aGlzIGF0IHRoaXMgcG9pbnQ/IFRoZSBzdHVicyBzdXJlbHkNCj4+IHdlcmUgYWRkZWQgdG8g
YWRkcmVzcyBzb21lIGJ1aWxkIGlzc3VlLCBub3QgYmVjYXVzZSB0aGV5IGFyZSBhY3RpdmVseQ0K
Pj4gbWVhbmluZ2Z1bD8NCj4gDQo+IHNvcnJ5IEnigJltIG5vdCBhIFJJU0MtViBleHBlcnQsIEkg
c2F3IHRoZSBzdHViIGFuZCBJIHRob3VnaHQgdGhlIGFyY2hpdGVjdHVyZSB3YW50ZWQgdG8gaGF2
ZSB0aGVtIGltcGxlbWVudGVkLg0KPiANCj4gSWYgbm90LCBpcyBpdCBwb3NzaWJsZSB0byBsZXQg
dGhlIFJJU0MtViBwZW9wbGUgaGFuZGxlIHRoYXQgc2VwYXJhdGVseT8gSeKAmWxsIGJlIG9mZiB1
bnRpbCAzMXN0IG9mIE1hcmNoIGFuZCB0aGlzIHBhdGNoIGlzDQo+IHVzZWZ1bCBmb3IgQXlhbiB0
byBpbnRyb2R1Y2UgYSBidWlsZGluZyBzdGF0dXMgZm9yIGFybTMyLg0KDQpPaCwgYXBvbG9naWVz
IEkgZGlkbuKAmXQgc2VlIHlvdSB3ZXJlIHJlcGx5aW5nIHRvIE9sZWtzaWksIGFueXdheSBpZiBw
b3NzaWJsZSBhbmQgeW91IGFyZSBvayB3aXRoIHRoaXMgcGF0Y2gsDQpJIHdvdWxkIGFzayB0aGUg
YWJvdmUuDQoNCj4gDQo+IENoZWVycywNCj4gTHVjYQ0KPiANCj4+IA0KPj4gSmFuDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:37:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:37:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920597.1324715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusg5-0004RA-IA; Wed, 19 Mar 2025 12:37:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920597.1324715; Wed, 19 Mar 2025 12:37: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 1tusg5-0004R3-Fg; Wed, 19 Mar 2025 12:37:45 +0000
Received: by outflank-mailman (input) for mailman id 920597;
 Wed, 19 Mar 2025 12:37: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tusg3-0004Qw-J6
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:37:43 +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 f310e88a-04be-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:37:41 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so26607095e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:37: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-43d440ed4b8sm17528015e9.35.2025.03.19.05.37.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:37: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: f310e88a-04be-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742387861; x=1742992661; 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=zW8AAiLvPavScJHF7PGuNOQ3Ob33s0PgoQWxY98nWgA=;
        b=Qnr4/jlwO04tarrmgr8QGUJup2g0IoFYi/4xmm0sw9R/Rq55k+CckfLaGeqoSPhGgC
         nlblSilIHqpwjiMFT4bYVQyyljQAG02pKOAxxzN/LU8WXXdxJRG8orX3XhCSMOMBgqpj
         bkvcOPICbsYwkplPRZcyqZZf7/zBc77by3LEGqlZFwTx+1JTIWv2Vzszx5Lbitg7CIEO
         Y27e67YOzauxhh02GmlPRxWguvbod73azQcZXzlBnDTGEVx9mwv9vSWGAvAOzPTEUqp1
         LlqOpChhHgvYVv09eWYe/oup5CuR6leXGW/8bnEDTguXDEBwX/14mLHCak/b+itm7xkb
         sg0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742387861; x=1742992661;
        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=zW8AAiLvPavScJHF7PGuNOQ3Ob33s0PgoQWxY98nWgA=;
        b=MPva9HRsxAOGQEqWcss+0hPH78V2MEiu07Bn1R8nJT00CvEGLuz/LP2URZyKutFhZX
         UvPo8FlzgU6fMj/2Ma4Kbloljj2hqk/fnf4uPbgSxPfUaUUP7SV/beVT0iZ/gNDhihTm
         vHepik+L2oX0UdkmRaT8mL5ZrUGm67+TtwxgZTIaR9Jcc7PFDOPyFZX98SuO0jFDMO/w
         aV1NuyjVmmjqD9XbZbPHRIbmMkfjGyru5GWrPLEnPe/AgoXWi3k6RFKcH0C3gG3/OvHa
         j2opZ+Ls6yOm2E+OeMsS9TfoOivj5Q+AWm6sH98N51+H7fuC1UO+mLzePwjerdz/1BoL
         ww6A==
X-Forwarded-Encrypted: i=1; AJvYcCVxeN4f3WD3e0PGk+HPcxCy8N64Q/4WPFlUU5Y9sR/hXCPJbKZlnkerjKT19qdMIcRsaKlue5cRG4c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxbQhh6ixOjYY8zO8OgX/PXheh0cngGdIdclwx8bGs/mFvJndsc
	Znd0f4io+YRNWRzy6sIKINmhdhETtE69bXZDIR2InUhWJLvkENyCURE2k8uyPw==
X-Gm-Gg: ASbGncvOaIkc7z1RVlBjQm+2fUm+3P2PaHYWwjr8OXlP8w+cNZKReQgpls+1vZiVGUq
	9V0xZmge9Amlq+uxZNRTEQPJgE9pD8quA/1m3ibp4pCgDBBauXyXmvaC4CWOT08knFyoGXrdQps
	+KOyqdjP5GuyWQk6E+6zgy0ZbqVRDpUQYPqgRaWhd3Hl3SObAln+wjEIfTwOz56SxiStlrDqI++
	WXaIbSBPEjz6MSv/l2wJd09aFO2Q0iiyTByqng5peRN1ncf3iSb+TjL4IY38lc5LGga5RdocT2L
	8Uys4R/hwvrJCvdOamSCuxsX6eipXZou1GlIzMEeaU48/YrsYNE0nNhQPZH5efCF56rkusKbt8f
	ZltaRmvDdsefS7LSGLOj1J40cOZoGNg==
X-Google-Smtp-Source: AGHT+IEzCRgBlX4h1SZamsrR0Zm72O6X+0kg96UfPGMP1vbOiA0hzNCYGE6+5caIdw5DZe6uLjfcPA==
X-Received: by 2002:a05:600c:1da1:b0:43c:fe15:41d4 with SMTP id 5b1f17b1804b1-43d437c3379mr25580095e9.18.1742387861128;
        Wed, 19 Mar 2025 05:37:41 -0700 (PDT)
Message-ID: <7f523597-cf70-4673-b4a2-fac602253a9e@suse.com>
Date: Wed, 19 Mar 2025 13:37:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
 <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
 <65f0072f-33c0-4436-8e34-3544d25c9568@suse.com>
 <19d8224a-04e0-45bb-9471-abeb684e9cad@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: <19d8224a-04e0-45bb-9471-abeb684e9cad@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 13:05, Mykyta Poturai wrote:
> On 18.03.25 16:26, Jan Beulich wrote:
>> On 18.03.2025 14:31, Mykyta Poturai wrote:
>>> On 18.03.25 12:11, Jan Beulich wrote:
>>>> On 18.03.2025 10:10, Mykyta Poturai wrote:
>>>>> On 15.01.24 11:35, Jan Beulich wrote:
>>>>>> On 14.01.2024 11:01, Mykyta Poturai wrote:
>>>>>>> --- a/xen/include/public/hvm/dm_op.h
>>>>>>> +++ b/xen/include/public/hvm/dm_op.h
>>>>>>> @@ -444,6 +444,17 @@ struct xen_dm_op_nr_vcpus {
>>>>>>>     };
>>>>>>>     typedef struct xen_dm_op_nr_vcpus xen_dm_op_nr_vcpus_t;
>>>>>>>
>>>>>>> +#define XEN_DMOP_inject_msi2 21
>>>>>>> +#define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>>>>>>> +
>>>>>>> +struct xen_dm_op_inject_msi2 {
>>>>>>> +    uint64_aligned_t addr;
>>>>>>> +    uint32_t data;
>>>>>>> +    uint32_t source_id; /* PCI SBDF */
>>>>>>
>>>>>> Since the comment says SBDF (not BDF), how are multiple segments handled
>>>>>> here? At least on x86 (VT-d and V-i) source IDs are only 16 bits iirc,
>>>>>> and are local to the respective segment. It would feel wrong to use a
>>>>>> 32-bit quantity there; IOW I'd rather see this as being two 16-bit fields
>>>>>> (segment and source_id).
>>>>>
>>>>> I'm planning on resuming this series in the near future and want to
>>>>> clarify the DM op interface.
>>>>>
>>>>> Wouldn't it be better to keep things consistent and use
>>>>> XEN_DMOP_PCI_SBDF as it's done in xen_dm_op_ioreq_server_range? Also
>>>>> with this, the value can be easily casted to pci_sbdf_t later and split
>>>>> to segment and BDF if needed.
>>>>
>>>> The essence of my earlier comment is: Naming, contents, and comments need
>>>> to be in sync.
>>>>
>>>> I question though that "casting to pci_sbdf_t" is technically possible.
>>>> Nor am I convinced that it would be desirable to do so if it was possible
>>>> (or if "casting" was intended to mean something else than what this is in
>>>> C). See my recent comments on some of Andrii's patches [1][2].
>>>>
>>>> Jan
>>>>
>>>> [1] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01294.html
>>>> [2] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01301.html
>>>
>>> Would something like this be okay then?
>>>
>>> struct xen_dm_op_inject_msi2 {
>>>       /* IN - MSI data (lower 32 bits) */
>>>       uint32_t data;
>>>       /* IN - ITS devid of the device triggering the interrupt */
>>>       uint32_t source_id;
>>>       uint32_t flags;
>>>       uint32_t pad;
>>>       /* IN - MSI address */
>>>       uint64_aligned_t addr;
>>> };
>>>
>>> Added padding and explained source_id purpose better.
>>
>> I fear the comment is far from making clear what layout source_id is to
>> have, hence also leaving open whether a segment number is included there.
>> Of course the issue here may be that I have no clue what "ITS devid"
>> means or implies. What is clear is that "ITS devid" is meaningless on
>> x86, for example.
> 
> ITS devid is implementation defined. Its size is also implementation
> defined but up to 32 bits.
> 
> Quotes from Arm Base System Architecture[1]:
>  > The system designer assigns a requester a unique StreamID to device
> traffic input to the SMMU.
>  > If a requester is a bridge from a different interconnect with an
> originator ID, like a PCIe RequesterID, and devices on that interconnect
> might need to send MSIs, the originator ID is used to generate a
> DeviceID. The function to generate the DeviceID should be an identity or
> a simple offset.
> 
> On the Xen's side it is used as an offset into the ITS translation
> tables and is sourced from msi-map nodes in the device tree.
> 
> Practically for PCI the requester ID is usually the SBDF. Where the
> segment is used to find the host bridge node that contains the msi-map
> node with defined offsets but it is also included as part of an id.
> That's why it was originally called SBDF in the comment. I don't know if
> there is a better way to describe what it is concisely in the comments.

If this is to be usable for other architectures too, it may need to be
a union to put there. With appropriate comments for each member.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:39:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920610.1324726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tushv-00053W-34; Wed, 19 Mar 2025 12:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920610.1324726; Wed, 19 Mar 2025 12:39: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 1tushv-00053P-0D; Wed, 19 Mar 2025 12:39:39 +0000
Received: by outflank-mailman (input) for mailman id 920610;
 Wed, 19 Mar 2025 12:39: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tusht-00053J-UY
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:39:37 +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 37027ff5-04bf-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:39:35 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so5871241f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:39: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-395c7df35bdsm20371104f8f.5.2025.03.19.05.39.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:39: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: 37027ff5-04bf-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742387975; x=1742992775; 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=kN+0a/vLw66V9O/wcMOPIJOzf7SRbJBB0gmD3W7EMgg=;
        b=EnEoF1XRHdbWK1H9+T6ifBfjQHev5X16JKi3APYy6tZ2NtfM0XyaY97dlyJQUXrr1D
         UcCnGFn/r/u70uB96CbrFgs4BXnpBhotTXW4JUJVjUEKGhfefeCg9B6WeVuG0hpM8X+J
         2U9sIgOYY+ooyHzJlFYgxQcxdXI0t15BQNcXXi8sJ1IU8wQJRjzpBczNHsYfqo66X7a3
         cAe6tdoHAXm1RFzmPTk87O9TDl9C6IeGdEUKsWCNip+iWLJLsuHX5XD1Z8OOj7XqqcW9
         P72ixPf28hPI4ucngX7RAEPpXFRYL+/JxXYAB727PnSCST2V0rLCza6nRrL5EcNEKW8K
         uDfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742387975; x=1742992775;
        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=kN+0a/vLw66V9O/wcMOPIJOzf7SRbJBB0gmD3W7EMgg=;
        b=BuxkoHG48+Ytjs0VT+9nCAqUi2lY9j2NBQYFVdduOGr7b1oBaVTbxGG9112zm5eKv7
         +aNGt0HQ9akePtxc7lR2VqIscEFsDjBnlouAQkdgnJl6oWlmY5g4TLe/Pt9HkAlbQntN
         30EQJaGGfPU/L7+FHrHhNpUQ0SHnCr+CLrfPri5P0roDmKtAZPtbqSHQQS4H4WHqV6+N
         gtGzu2jiU8uOZNr1OgzFU9TWEIkun/dYoka9y20vPx0Ntd9sfDCIs8EcW/AKc3OY0lf3
         iZvhtiY37Uuc65v+EgIatO5RRBk8QoTowPuv9fo5y4fAeAxCemCzbUu3JKRAlkcK4CUk
         ejRQ==
X-Forwarded-Encrypted: i=1; AJvYcCVYcE+0qoj+4BshYmZLsqs1NN+OajUVtfhq7xKj1d4XhQ3dvnP0d1qix6shFksvzsMFbA24BvlBDhE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyecrwRXco4M9i46vO8xqmZjEobPZCNBfRdduXHFt3DR2FRLzdl
	G4vCeOS2y8oPG7L3MB1FHT3haao+BBvFJScnqRjgaassUx3HKQt/uv9U2/jo6w==
X-Gm-Gg: ASbGnctdhMhhWtLXPT+yNJ/Pb7Lg5Et4tV1QOudB8ztPGB7+dZYE23az0oHz4ed3vP5
	Xjr7Qzf5bKyuhFl+GOFkwkGx5kAwttsUOQ+5P3bBZJmyYsy8XWl7PKrm1n+wrfMFjxcnN4Q8SOl
	pKDhtiIRm8qhjl8BN47qqyknh6Ymcz/B87lbZ8KJO7nuVbe1fLLaTeKZaW7QJT9JO+cMlvJmUfE
	Wwth+Y9bJjA9sDHB6TeuMa6yLCzOO9iluXk1f/075d6BKlDGvyp2wDXSAtV+HSzuZIhi/mkdoJ6
	/HXVgTiewThN0+HqRMbaKht05WdWgD0cghtX4jv7cSM/i+gF9cad8y2BIaHK3H6xNiS+CZE15hu
	QNAjkFgJgWh/57Ar0iB1BCSPBFU38Q9xZyQ7HUTMd
X-Google-Smtp-Source: AGHT+IFDg28Gj1x4GD0A+rR9Wx4+4D3KtGLpRoFuJqdTgNEedwf5Csir2L3Mj1bE0UOmAP0S9ucP6Q==
X-Received: by 2002:a05:6000:1547:b0:390:e7c1:59c0 with SMTP id ffacd0b85a97d-399739cab50mr1949419f8f.26.1742387975157;
        Wed, 19 Mar 2025 05:39:35 -0700 (PDT)
Message-ID: <182e6183-8a61-4c03-902c-ab75b69cdd4f@suse.com>
Date: Wed, 19 Mar 2025 13:39:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PVH: account for module command line length
To: Andrew Cooper <andrew.cooper3@citrix.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 <jandryuk@gmail.com>
References: <730d8143-8cda-49da-a48a-3b82c2b77c9d@suse.com>
 <5b959741-2e51-4576-9219-df495d0e30be@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: <5b959741-2e51-4576-9219-df495d0e30be@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 13:12, Andrew Cooper wrote:
> On 19/03/2025 11:18 am, Jan Beulich wrote:
>> As per observation in practice, initrd->cmdline_pa is not normally zero.
>> Hence so far we always appended at least one byte. That alone may
>> already render insufficient the "allocation" made by find_memory().
>> Things would be worse when there's actually a (perhaps long) command
>> line.
>>
>> Skip setup when the command line is empty. Amend the "allocation" size
>> by padding and actual size of module command line.
>>
>> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -712,7 +712,15 @@ static int __init pvh_load_kernel(
>>       * simplify it.
>>       */
>>      last_addr = find_memory(d, &elf, sizeof(start_info) +
>> -                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
>> +                            (initrd ? ROUNDUP(ROUNDUP(initrd_len,
>> +                                                      elf_64bit(&elf) ? 8 : 4) +
>> +                                              (initrd->cmdline_pa &&
>> +                                               strlen(__va(initrd->
>> +                                                           cmdline_pa))
>> +                                               ? strlen(__va(initrd->
>> +                                                             cmdline_pa)) + 1
>> +                                               : 0),
>> +                                              PAGE_SIZE) +
>>                                        sizeof(mod)
>>                                      : 0) +
>>                              (cmdline ? ROUNDUP(strlen(cmdline) + 1,
> 
> This piece of logic was already bad, but this is rather worse.
> 
> One patch I made while doing the boot module work is:
> 
> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> index 6a4453103a9a..7292ddd07276 100644
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -654,6 +654,7 @@ static int __init pvh_load_kernel(
> Â Â Â Â  const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) :
> NULL;
> Â Â Â Â  struct elf_binary elf;
> Â Â Â Â  struct elf_dom_parms parms;
> +Â Â Â  size_t metadata_len;
> Â Â Â Â  paddr_t last_addr;
> Â Â Â Â  struct hvm_start_info start_info = { 0 };
> Â Â Â Â  struct hvm_modlist_entry mod = { 0 };
> @@ -711,13 +712,16 @@ static int __init pvh_load_kernel(
> Â Â Â Â Â  * split into smaller allocations, done as a single region in order to
> Â Â Â Â Â  * simplify it.
> Â Â Â Â Â  */
> -Â Â Â  last_addr = find_memory(d, &elf, sizeof(start_info) +
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  sizeof(mod)
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0) +
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (cmdline ? ROUNDUP(strlen(cmdline) + 1,
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4)
> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0));
> +Â Â Â  metadata_len = sizeof(start_info);
> +
> +Â Â Â  if ( initrd )
> +Â Â Â Â Â Â Â  metadata_len += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
> +
> +Â Â Â  if ( cmdline )
> +Â Â Â Â Â Â Â  metadata_len += ROUNDUP(strlen(cmdline) + 1,
> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4);
> +
> +Â Â Â  last_addr = find_memory(d, &elf, metadata_len);
> Â Â Â Â  if ( last_addr == INVALID_PADDR )
> Â Â Â Â  {
> Â Â Â Â Â Â Â Â  printk("Unable to find a memory region to load initrd and
> metadata\n");
> 
> 
> which I think I ought to submit as a prerequisite to this, after which
> your logic squashed on the RHS now becomes an expansion of the `if (
> initrd )`.

Yes please.

Another thing I was considering to put in a local variable is the
repeated "elf_64bit(&elf) ? 8 : 4". If that sounds okay, I can make that
a(nother) pre-patch to mine.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:41:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920621.1324735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusjD-0006n1-BR; Wed, 19 Mar 2025 12:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920621.1324735; Wed, 19 Mar 2025 12:40: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 1tusjD-0006mu-8w; Wed, 19 Mar 2025 12:40:59 +0000
Received: by outflank-mailman (input) for mailman id 920621;
 Wed, 19 Mar 2025 12: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tusjB-0006mm-TZ
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:40:57 +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 675b5904-04bf-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:40:57 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so5872831f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:40: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-395c7df413esm20457085f8f.20.2025.03.19.05.40.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05: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: 675b5904-04bf-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742388056; x=1742992856; 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=1ADrKtkmrbb4yXil4M1R24B7CmmSgxM0Dukn9aN6UYc=;
        b=VpkJT3MBmTYin5pIX9bWJEZSUnybZBlRm1WiS8BUe7U6NSK5sOx7JzhPylzEY9z9/d
         uWTQ8xEv4iqexhi3ac5C10GGFL5TEiaZYTzuRHU3LI38c0xLEkS/YogOHM9Oys/gFYzU
         Ds3uRHXvFHLIPRg7Za1iErUx+tbJAuEqTw8Svf3Y0FPVj22CodgLAdJrloT51XLqj5AH
         LdBXosdHAC8f+/4cLocrujyn9q6/xyIEWu6JstUaMXWTMpWdjX7wpplYd75yAYkcb5XO
         zxSjzXe1x99NDpbgYwcfhjqnn90e+2psbD+QZGIA4Ft1B6crlGiWA388qGIh1MwuoBdA
         hGpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742388056; x=1742992856;
        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=1ADrKtkmrbb4yXil4M1R24B7CmmSgxM0Dukn9aN6UYc=;
        b=VxC46SweHjtiBzh58xbdVPkqSUeZ9VoyV4mJmL/DK/GTBKN8jT5RlZuGYJs0q3OYC5
         CxMzpqIIdofw7qPOMFZyd5NUrNaQnks0WTJtF7pzjEUjWbfPqP5t/OS6n2c9B0YcAtAs
         sT7xIA5C/0Fnitea3a6m3sWqISO5RUAe4wVx9+sSYZNACsU0LbnuGHlmdN3/zQKbZnFk
         hfyKJ2I4di65Q2hklHrOJKR559W/On25118nEA3/gGG9v1fmloo3zWUkx4Hsyp8+8kXo
         jye3gpN0hcQK8oAdZRjtPjxE+iKFZousLw68KjH34AQua8UFt2mpxaqnv6rhD87G8SJc
         ALOg==
X-Gm-Message-State: AOJu0YwjaRVPC/h2K0Nm8euAqmhURpMlCLE9fuQGvZ7H8/w5V8m+Fase
	v/e69BaqEa7epX20qMkN7+NXe5BLvIEQb4H8c9Gv1PosxBDwd2t8yCtIxKMXNg==
X-Gm-Gg: ASbGncvLe0vrXu4HajsJBR5pwVoXQErpFf9bXcT9WBEvLTZmwQdZKJ+brP/zYIuxixG
	QLG6iVdtrZ0AatWQZQ+Z79fhlS6aKyR0t8JVKzWPCG1deFSooNFU9zbWNaBBWAKSlt3hreFXyRl
	0Q2CPiUmBg5yy0ARYs0ZN+9UDiVcVvaEvF2HEQfA0RDZnhgnBKNTUnyMVlu+6qXTdQdvYjKEORy
	wJRuShvW/U4428LKeLUKZ7SDrNmJIO1Flv8xB9THs1FA4v7MmZgSpCF66VEcZXi7TI9shGtJxAZ
	xP5Ghvf09/SOIvglNxRBY+VQ9VG5dSlvOIx0Vg7qIT+s06r7mfVrNJ3sjUxOr/+zomeKGAoz5yD
	pqmOmWhHhuzof1Fjnk0IdxI2GjLeHqajZbu7Po24U
X-Google-Smtp-Source: AGHT+IEWg1JpvkGatTmrRpQkHzxF/kfYAcvyRKPD3kHmNsWxpdvYgJont8f1/hqCj+WHHsFl0wQAJw==
X-Received: by 2002:a5d:5888:0:b0:391:2932:e67b with SMTP id ffacd0b85a97d-39973afa2ddmr3543931f8f.35.1742388056219;
        Wed, 19 Mar 2025 05:40:56 -0700 (PDT)
Message-ID: <b396cdb8-8a5e-448f-b574-1cfc797356d2@suse.com>
Date: Wed, 19 Mar 2025 13:40:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/setup: correct off-by-1 in module mapping
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>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <f346b510-dbd1-431a-ad35-3f1b8fe76c58@suse.com>
 <Z9q1Zv9IEJOCycan@macbook.local>
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: <Z9q1Zv9IEJOCycan@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 13:15, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 19, 2025 at 12:21:53PM +0100, Jan Beulich wrote:
>> If a module's length is an exact multiple of PAGE_SIZE, the 2nd argument
>> passed to set_pdx_range() would be one larger than intended. Use
>> PFN_{UP,DOWN}() there instead.
>>
>> Fixes: cd7cc5320bb2 ("x86/boot: add start and size fields to struct boot_module")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1730,7 +1730,7 @@ void asmlinkage __init noreturn __start_
>>      {
>>          unsigned long s = bi->mods[i].start, l = bi->mods[i].size;
>>  
>> -        set_pdx_range(paddr_to_pfn(s), paddr_to_pfn(s + l) + 1);
>> +        set_pdx_range(PFN_DOWN(s), PFN_UP(s + l));
> 
> Is the set_pdx_range() provided smfn, emfn range inclusive?

No, it's exclusive at the end. See all other uses in this file.

>>          map_pages_to_xen((unsigned long)maddr_to_virt(s), maddr_to_mfn(s),
>>                           PFN_UP(l), PAGE_HYPERVISOR);
> 
> Isn't this line also bogus, as there's no guarantee that the start
> address is aligned to PAGE_SIZE?  And hence the length should take
> into account a possible page offset of s?

See Andrew's reply.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:44:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920638.1324746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tusmB-0008SH-P5; Wed, 19 Mar 2025 12:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920638.1324746; Wed, 19 Mar 2025 12:44: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 1tusmB-0008SA-ME; Wed, 19 Mar 2025 12:44:03 +0000
Received: by outflank-mailman (input) for mailman id 920638;
 Wed, 19 Mar 2025 12:44: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tusmA-0008S4-OW
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:44:02 +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 d58c0105-04bf-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:44:01 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-399676b7c41so2031875f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:44: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
 ffacd0b85a97d-395c83b6a27sm21132642f8f.31.2025.03.19.05.44.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:44: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: d58c0105-04bf-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742388241; x=1742993041; 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=yJ4e6qa87ymp6LxqwsVQ80Gh1M37qT/yMZeETXVj4YU=;
        b=OlObKHe0FCdaijfYVWU80huIPkRl3iZU/GWThXWA59n1OFJhZrEfjTCmALGoW8sW18
         o/YIWv33qfralw3zrPoyVRZsMwzXfo9y7bwW68Jtp5Z6pj52LNw5kx120kBwLunjTZih
         aeQGhZYh+ZFWzpo8qNyZ8eihGHKt54tNNn2RDYTvt4WJ49LvQ6RB/i19JU31IMB46T2f
         x3YEB2ZNfen4A5Reb+PH1MgicH9hl2c7vkeGCFq5rd2BMiV4NteXAPDWmYnOUTcVMaja
         3Kz5JbA3vjQzrTBm/+O0jas4JH0Eeik4i4EY+PG7NeSnx2A4xV1+4nuGq+rNLLQWZVNt
         dxdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742388241; x=1742993041;
        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=yJ4e6qa87ymp6LxqwsVQ80Gh1M37qT/yMZeETXVj4YU=;
        b=WEk5ylObTumlB5Xac0fLccU48de19tW1RcCDK+nTUbqaR+9UnLDXfkAINnUoBQwl63
         ghID4FhCbb2tMvO7Mn4irzp83/DBgPhqxYAAUb6LpFq7axEjaJNlc7V3nnqdFNORkL5g
         B7AJO+nM8DMC6m4qOy18TpfOUS609sMBTDisPNRISJ3emVwhU84BuZOVm9Nu9R/56lgP
         MHwje3yYFws7E+w+5lfCB0LWFD3Jp4nPOdE8EX7O9AJ+laHWBcnHCneeQm4gOoikXPb+
         oAhJe7XgBXBApTHLvpExh0kT83ZYYn0JnCxxK9kKIGLM8QR4iwZRIAfBCe7J9BLcPs7M
         c9vQ==
X-Forwarded-Encrypted: i=1; AJvYcCWtP68xekRrhMHFvUS0vqsb3wWmIRvAYGAyg6pYvUICMyFHPDinC1w6Uoj5Y5AeElwhdzfI4hpwxuQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpQV2eGxuAUmGl2mrZBw+NKp/+Bv80by5W3sOdNxIWfQnHEQAX
	w3/J45Zt6xs3ShQ3mgFcEML8700xYmjeULDl4O7x7GgUwa4JCNVk3CkryqWTVA==
X-Gm-Gg: ASbGnct3a8n97AVAazWYWbZ5caLGbxUjtw3cBM9xU3LqzRWdvyEksXF1eL4E5nbwOai
	4sV00eVeyWEI9ZcC0c6DgCps2xjoegFJuENYylvouBC5s0Lr7g5ApCAIF4kNZTwBSMTTg5MMYgB
	diRkjjrsB8rcpmVWzUD3j1F9HwGGAgpBWDpqye2N0UWdgfU7BhE+ClA0SX1i6QmcvOzgreV9Sox
	GdoRjqvpAaqhzRgp7dfuUWpeb1vipLaHkxAeZMF5ra0neF0VinQJEBUQG9CV3cuvbPGYQVlcB+w
	tssBmjAlwpT6TN60apooidS6f5Q3zsB4/Ix8q/FgbMYjI43vc3OcTf014ld1u3aiusQImAskHuK
	nPjBdSI4ADfUZm24U9OmpKcS7K96nBw==
X-Google-Smtp-Source: AGHT+IE5RNO8pTANcjAX8Ky1NJs9vZylrPoh3wUe+0IjRVsbKqlnlAY1ds5ggbqIqsvPOR5og2bGtw==
X-Received: by 2002:a05:6000:23c1:b0:391:40bd:6222 with SMTP id ffacd0b85a97d-399739c2185mr1529163f8f.22.1742388241135;
        Wed, 19 Mar 2025 05:44:01 -0700 (PDT)
Message-ID: <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com>
Date: Wed, 19 Mar 2025 13:43:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com> <Z9qxcRtap-k-wW8B@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: <Z9qxcRtap-k-wW8B@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 12:58, Marek Marczykowski-GĂłrecki wrote:
> On Wed, Mar 19, 2025 at 10:43:12AM +0100, Jan Beulich wrote:
>> On 19.03.2025 10:15, Jan Beulich wrote:
>>> On 18.03.2025 18:01, Marek Marczykowski-GĂłrecki wrote:
>>>> --- a/xen/Makefile
>>>> +++ b/xen/Makefile
>>>> @@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
>>>>  CFLAGS += -Wa,--strip-local-absolute
>>>>  endif
>>>>  
>>>> +$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)
>>>
>>> This is lacking a comma:
>>>
>>> $(call cc-option-add,CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)
>>
>> And then, having tried the correct form (seeing the option then is passed
>> to the compiler), I can't spot any difference in the resulting
>> xen-syms.map. There were a few absolute paths there before (for
>> arch/x86/x86_64/kexec_reloc.S and arch/x86/acpi/wakeup_prot.S), and the
>> exact same ones are present afterwards.
> 
> I'm not sure about xen-syms.map, it's about build path included in
> xen-syms. It appears at least once in .debug_str and once in
> .debug_line_str.

In which case -fdebug-prefix-map= may suffice, which is available on
more compiler versions? And then only if DEBUG_INFO=y?

> But also, I see the patch lost a chunk during rebase (from before
> 4.17...), that adjusts XEN_ROOT to use $(realpath ...). That's the part
> even mentioned in the commit message...
> 
> I'll send v2 shortly.

Provided there's actually a need. I was in fact wondering whether this
was known to have significant effect prior to Anthony's work to make
out-of-tree builds possible (plus less related adjustments), but may
have lost most of its functionality since then (yet was still carried
forward for all the time).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:46:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:46:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920648.1324755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuso5-0000ZC-3r; Wed, 19 Mar 2025 12:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920648.1324755; Wed, 19 Mar 2025 12: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 1tuso5-0000Z5-0x; Wed, 19 Mar 2025 12:46:01 +0000
Received: by outflank-mailman (input) for mailman id 920648;
 Wed, 19 Mar 2025 12:45: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuso3-0000Yx-4N
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:45:59 +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 1ae39902-04c0-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 13:45:58 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d2d952eb1so29504505e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:45: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-43d43f33242sm18186415e9.5.2025.03.19.05.45.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:45: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: 1ae39902-04c0-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742388357; x=1742993157; 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=3rl34ryBNNb9JNRDevjRvklFEDVjEpS9pBa6d449dGM=;
        b=aWG5t7CquuN0IDTA/FKaanqwI4jcqklBw9N/X9ZLCo0OrVvgwCOWtW4xkq47lOqwQv
         AdYIgWfe8aWi5UxDZ2S2xUiQ2lKwFucZqiYchnIhlRQgDGQ6Oci76u6Y8yNe9jd/3VIW
         Ir0Ocm8mslqxdjPA9lgjPOuWQGqNxTL2KHAtD1ne/qRg76VdetXh/EaBSesCXjO92Oo8
         2tWYxnATeBhrqAlUVjC/PkmWP01ozE1r6CS1A6Dcvr0oji/TT8/h6xvoQ+AIXwukf3Ho
         sxUmRBc61Uz7ZCuA3MzGp4dTDU41Bu0onozis6lYwvFmXoHUk/leWtE7w5h73t33lpHg
         Dstg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742388357; x=1742993157;
        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=3rl34ryBNNb9JNRDevjRvklFEDVjEpS9pBa6d449dGM=;
        b=fNNu3XUy5RhfzNkwaiFsDEXlzZaw2D2xxXNd1/TjrSwj5MBC9kitDCgb8wNPtVgjXL
         D3luo6rdz4wQZ3EbpOkwCfNMQv+Jej+lR6Yosf0ieClRlCaCqcTp2f4j/fhcap8BpswL
         vzzXkwJESH7n7tpB/LYEXkJzA/sQPrzDS8rdB+yTrYm47MXh0Kln6hCz4JCBDH/B/jSN
         62EHGIZPJu+uAedbFEn49K+9HspeuKv01cA0qAz9OiPXAi22vfLf8ihmXNPh5ztKuvC6
         ossgFA2w35hqkrn6cqYaXjNF5HAPFa68Ba4UoT5tJZ63Dr6EKRtPklAY/n9CLWOLWLMz
         CUHQ==
X-Forwarded-Encrypted: i=1; AJvYcCUuxtxEzBwb1/WSSpqodFuu0Spa3X1d/4xkBlLgvqQfDeJotqHOTzAg2hmzTfaKr8ooyoWr8OkcOjI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywr5WQaLyEit6Utf1hBR6jV1/a7be/oF75SjtXmBJFqRshEsRT+
	Xem7iIW9u8ByusUgWVeswgparo/yjrCnfOs2beCZlqKY9qMKYp2tkwbHUzhOyQ==
X-Gm-Gg: ASbGncslFvFquTBDNktQGy1Jd8QFCfp9eFzOs7E4FMfclOb/My62Vu44ahe58Mn6Bx1
	wRzNu5avRBbck/M/1on7wR/wc7WHfDcviRsyX9EsGGdwtq8kZkU2InFd6ET+CAaV9fGxcgW8OeC
	+jx+gghj/ahwD1aoImlPRdubSkwsC+pr2E5spIt0e687OiJUsj9ckJfRwm9gryg40w+WALRqPbM
	34CS6VlMQ4i0w8Reh06kSnGExG+TtB5GLd+9cK3r0LiIR7AqoWeg5RKfwj3mBKNnDsXH8/1L3Xd
	SgsO86PgnSAKbHQ00SfDesUDiC8jWqzindBfeDflYzFoaLyYz9gGpeSipfglqbsl1BLtlV/eGHT
	r+kFSxOOa7hb1+vyIuO8JYsxLYASBaw==
X-Google-Smtp-Source: AGHT+IEwFn957NGbM37K0Jd9LJCScYatWfqYE6mqqTl9r9+zLCmi/W3o9JQzuZZQkFCayxqAsmy8bA==
X-Received: by 2002:a05:600c:4f86:b0:43d:42b:e186 with SMTP id 5b1f17b1804b1-43d4378b49bmr19840805e9.8.1742388357463;
        Wed, 19 Mar 2025 05:45:57 -0700 (PDT)
Message-ID: <bbd59084-096b-4d5c-b66b-438a398859a0@suse.com>
Date: Wed, 19 Mar 2025 13:45:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/16] iommu: Add checks before calling iommu
 suspend/resume
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykyta Poturai <mykyta_poturai@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <5694f2b73e808ebdc5d5b60a31cfad2b24f0e9d8.1741164138.git.xakep.amatop@gmail.com>
 <2caf2bc0-d915-413e-ac76-cc70f9010ebe@suse.com>
 <CAGeoDV8=F1suS+0DJAV4uOh1vtMWwV41wwqDx9115t004BWvRw@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: <CAGeoDV8=F1suS+0DJAV4uOh1vtMWwV41wwqDx9115t004BWvRw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 13:01, Mykola Kvach wrote:
> Hi,
> 
> On Wed, Mar 5, 2025 at 6:45âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 05.03.2025 10:11, Mykola Kvach wrote:
>>> --- a/xen/drivers/passthrough/iommu.c
>>> +++ b/xen/drivers/passthrough/iommu.c
>>> @@ -613,7 +613,7 @@ int __init iommu_setup(void)
>>>
>>>  int iommu_suspend(void)
>>>  {
>>> -    if ( iommu_enabled )
>>> +    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->suspend )
>>>          return iommu_call(iommu_get_ops(), suspend);
>>>
>>>      return 0;
>>> @@ -621,7 +621,7 @@ int iommu_suspend(void)
>>>
>>>  void iommu_resume(void)
>>>  {
>>> -    if ( iommu_enabled )
>>> +    if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->resume )
>>>          iommu_vcall(iommu_get_ops(), resume);
>>>  }
>>
>> When iommu_enabled is true, surely iommu_get_ops() is required to return
>> non-NULL?
> 
> As far as I can see, in some cases, the handler is still checked even
> if iommu_enabled
> is true, such as in the case of the iommu_quiesce call.

You say "handler" and also refer to a case where the handler is checked.
My comment was about the bare iommu_get_ops() though.

> However, it
> might be better to drop
> this patch from the current patch series or add a patch that
> introduces the handlers.

Only if they're not merely stubs.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 12:47:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 12:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920664.1324766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuspS-00019n-H9; Wed, 19 Mar 2025 12:47:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920664.1324766; Wed, 19 Mar 2025 12:47: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 1tuspS-00019g-Dr; Wed, 19 Mar 2025 12:47:26 +0000
Received: by outflank-mailman (input) for mailman id 920664;
 Wed, 19 Mar 2025 12:47: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuspS-00019a-3f
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 12:47:26 +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 4e3d2f44-04c0-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 13:47:24 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso32067455e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 05:47: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-43d43f74b23sm17892185e9.29.2025.03.19.05.47.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 05:47: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: 4e3d2f44-04c0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742388444; x=1742993244; 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=283xv1IgakwrLHODHPp9RF+SoHkcvH9OXNhE2uqRuu4=;
        b=MSaR9Kd4TB8MsYnIjD9oRVGwpRpwVPr6idjJOia4u7ThR0rXmp6nqsQ89NcLPQhNle
         S4KtwH/nA056clvSNw3zup+7pDJ7ZhJythb5812xoUh+1KhoV+/3oJTIw0cbECLXoKiw
         K4lJFYudZJ+FeoVJxfEhFct13gDkFUWFU0Hjj53SsO812Iuj3IgM+fSR4u6K37b1HQGN
         oSp5orMkrNHw6L2qFbqU0AE2Y6TkWBI7nhTR3LdWPdssBztzwRlKY2upsQKZ3WTncLXk
         XPB3wFxv+VT7YOncZ8dA/ICsOvbBnFzckUsTN+7zKOby0JmlfGzVKOP8R9RzZ9j15Z8Z
         FCKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742388444; x=1742993244;
        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=283xv1IgakwrLHODHPp9RF+SoHkcvH9OXNhE2uqRuu4=;
        b=D1RCihgcSqFYE4W1nPypE/+IGRIjQ2QnlpnO25/H6Ub7H2XKZhgPjyNtjt/l7io1dN
         RNtiOkVp3sw/R0amiwmSBREdmzsU6EpHvJO3XAQOW46W1oxckEsRxB2GW/yrP3j8iArk
         eSpwaHQqHQ/fh7nBj2+BhSoVmqpDMzhIypE4hdEgz2Ke4S0uMAWpfQTC7NLQAWdxQ+0x
         HEeA1AvwLVV5tOSC8/mjXNacWOTsLKBuZO6+N74WT57gLyU6bHBDL2B/KwoLeiP1VLa4
         DEL8jI/IDZuwpvNObrnqbijdof8BYF0CezEgpGIPCYDzVzmuDuc7f6UpmrFcWJQXqlqx
         EU5Q==
X-Forwarded-Encrypted: i=1; AJvYcCVm2gfYUBBzwxLfpNEcSHG3N03Lk4dQae+PJhgHC+eJZZZttGzAlE5QM5zFG8ajRmGheOdegwOCT5o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxg7hR8JRQMp2zvUi76MhatiN2sfsp1osvCkZbywzn5HPYtIBhI
	LYUS3BTAwbsYvhaCf6qQe0YfmJmC49J8yPT7CE6F2JzfSlpQBDMFZM+Dijt4Qg==
X-Gm-Gg: ASbGncubcGtE+5IADnX4/zfD3SlLVzLMMycVAwPY8fJvVY102/GPE4yq31QTSy+r+Zx
	Op7baZ6sTvpYCo0gStWYXSGhfQeS/wPef0bKqipDjqqPWZiu5HQ9XVAaxokMoFmXcqzKLRfYVWf
	Cp7d4TKcXz9m/9aF8q+PD5kL3I19C10lkmQ3hWNM9qgex9EsQu6ptGExOtP/y9rz6eyvilHGOm9
	iajTz4575oC2XHKYp/SfoUMSjlRlOZVywocBoZ7xljPflDEhxngeT1T/5NrsYa3PIBri91DN/xH
	B1sbgzGUbzsW7VmEyjLVIVncbbSz8F71/Eq4CG4hQo1srpVMphBX3WbVHdijmA5p7ICLXsjiDmC
	AeZV3HDTs4D01qbhTPE965v/uAIr+VA==
X-Google-Smtp-Source: AGHT+IF9CLUuFKqf13mBbqOtlOtYAt6LQetr1vx7St9C+CUVAJwjVrikf0D6Hcbf4Sxmtp4nd9gqUw==
X-Received: by 2002:a05:600c:190e:b0:43d:10a:1b90 with SMTP id 5b1f17b1804b1-43d437c331cmr25548785e9.16.1742388443686;
        Wed, 19 Mar 2025 05:47:23 -0700 (PDT)
Message-ID: <a4662e3d-8206-442b-a1bd-75b3fa8dee9b@suse.com>
Date: Wed, 19 Mar 2025 13:47:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/16] xen/x86: Move freeze/thaw_domains into common files
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <82d394363821b74fb1617e81e6e726a7a25b4028.1741164138.git.xakep.amatop@gmail.com>
 <9a958cb6-d9f3-4bc3-9305-db954902f897@suse.com>
 <CAGeoDV8zK89jfq-2uOayUVEAo5uEdGsXqTnyz-9h7+CjBYAtgQ@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: <CAGeoDV8zK89jfq-2uOayUVEAo5uEdGsXqTnyz-9h7+CjBYAtgQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 13:03, Mykola Kvach wrote:
> On Wed, Mar 5, 2025 at 6:48âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 05.03.2025 10:11, Mykola Kvach wrote:
>>> From: Mirela Simonovic <mirela.simonovic@aggios.com>
>>>
>>> These functions will be reused by suspend/resume support for ARM.
>>
>> And until then they are going to violate the Misra rule requiring there
>> to not be unreachable code.
>>
>>> --- a/xen/common/domain.c
>>> +++ b/xen/common/domain.c
>>> @@ -2259,6 +2259,36 @@ int continue_hypercall_on_cpu(
>>>      return 0;
>>>  }
>>>
>>> +
>>> +void freeze_domains(void)
>>
>> Nit: No double blank lines please.
> 
> Thanks for pointing that out! I'll fix it in the next version of the
> patch series.
> 
>>
>>> +{
>>> +    struct domain *d;
>>> +
>>> +    rcu_read_lock(&domlist_read_lock);
>>> +    /*
>>> +     * Note that we iterate in order of domain-id. Hence we will pause dom0
>>> +     * first which is required for correctness (as only dom0 can add domains to
>>> +     * the domain list). Otherwise we could miss concurrently-created domains.
>>> +     */
>>> +    for_each_domain ( d )
>>> +        domain_pause(d);
>>> +    rcu_read_unlock(&domlist_read_lock);
>>> +
>>> +    scheduler_disable();
>>
>> When made generally available I'm unsure having this and ...
>>
>>> +}
>>> +
>>> +void thaw_domains(void)
>>> +{
>>> +    struct domain *d;
>>> +
>>> +    scheduler_enable();
>>
>> ... this here is a good idea. Both scheduler operations aren't related
>> to what the function names say is being done here.
> 
> I have just moved these functions from x86-specific headers to a common one,
> but they are still used only for suspend/resume purposes.
> It's not a problem for me to adjust the names slightly in the next
> version of the
> patch series.

I wasn't after a rename really; my suggestion was to leave the scheduler
calls at the original call sites, and remove them from here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 13:40:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 13:40:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920686.1324775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tutf1-0006GZ-86; Wed, 19 Mar 2025 13:40:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920686.1324775; Wed, 19 Mar 2025 13:40: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 1tutf1-0006GS-5Z; Wed, 19 Mar 2025 13:40:43 +0000
Received: by outflank-mailman (input) for mailman id 920686;
 Wed, 19 Mar 2025 13:40: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=WMzd=WG=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tutez-00064e-VK
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 13:40:42 +0000
Received: from fout-b8-smtp.messagingengine.com
 (fout-b8-smtp.messagingengine.com [202.12.124.151])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be4ddd10-04c7-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 14:40:39 +0100 (CET)
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfout.stl.internal (Postfix) with ESMTP id 034621140155;
 Wed, 19 Mar 2025 09:40:37 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-12.internal (MEProxy); Wed, 19 Mar 2025 09:40:38 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 19 Mar 2025 09:40:35 -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: be4ddd10-04c7-11f0-9ea0-5ba50f476ded
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=1742391637;
	 x=1742478037; bh=WGdcaH9S2zyHd+Ev6AdNPCUKJOyfUbK9mdajqlDJOdg=; b=
	xjRFbEc75WKLBdLZ+It9/L0/nxqGkCaGkmH38WujiEqp+RQ0nz+dxFtEUIe6vt4s
	nRnVBSHM3bxEyqBt+jQgVGTWv92ps6yF38f3KttpzsRKjH015rkpo4iwwYVbG38j
	mand0ec9F+3pRyzrsTiauH2YyaDFAk0fVapwHDthkgUyMIpIw3hKuyvup4jrXU4j
	rMf75JiIPNbqZfYrj3W2K6bkRBzqNp/mcT18pFnUWrrXPEbE8p/3pe3DJ04UZ6Lg
	6haZtJ1NOmwV6VbT7Q105X27Buc6y/F8kYi8bVHDgkLR504fvPGdVW3s+nrqFdWO
	sHLnCVfGk1V5xgGqbcyXuA==
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=fm1; t=
	1742391637; x=1742478037; bh=WGdcaH9S2zyHd+Ev6AdNPCUKJOyfUbK9mda
	jqlDJOdg=; b=DawZ2wNwx0fXLnPiCiIDprllheIkuEDC5Pop2K9XTztjdLWYWVe
	g75SsgA8HAhw1sSiFLRY1ic6Mj/tuq0ukRYM04tNZvd6Ju2x6G5NXk7WF/idZkXK
	rnOLzdQ7td153cVzs356k79U72zvooJCvgMeLA6Hu6JVl69MvQnwCljO1g+Y0KTT
	Wk/ck/MML86yv1IdChBcsaOfkRRNBMVtqLE/Dn1R2+kfuj54j3sHjRpDEtcH8WKZ
	yF21wnADtEom39v3cQJ2F5DqsAMMAOtTlcb1HVMG6eExbGCvdKq84PpddRyqwl51
	0kSqeeedpcPlbPmKP+TjUVUvYDTX0d/KVJA==
X-ME-Sender: <xms:VcnaZ5KmyphXc3tpqFKxFiUrCnCJSzSlqb8fmpddARN9Lu7un02Vdw>
    <xme:VcnaZ1I0fpJO1e4U0rOboJ7D0bCjQ9oQO83UbAbEhw_fa17zpNq9NLn5G0ou3F-rH
    ZNWw27lxrOTxw>
X-ME-Received: <xmr:VcnaZxtLthG9iHUGbJXtdhbERUcqZYpXFEsK8Wiw0MplIcTSVF3M8LnmbuNtE8p_ymWv8SdjH3dXebq3fJsywQkU5gKXsu_V-A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeehgeejucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehfrhgvuggvrhhitgdrphhivg
    hrrhgvthesqhhusggvshdqohhsrdhorhhgpdhrtghpthhtoheprghnthhhohhnhidrphgv
    rhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvg
    hrfeestghithhrihigrdgtohhmpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegr
    mhgurdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoh
    eprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggv
    lhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:VcnaZ6ao3z3mRdQeUJAENALb_oMw1yXoetwyMZcj_IosjnfIiHfiuw>
    <xmx:VcnaZwa3C_NAT0cHtKm0mg4Kow-Z5OMiJEYEzQV6Yh8ZatknHC1U2g>
    <xmx:VcnaZ-Dt2nBzS33B-n_n0aV7ikktpU8pAu6M-chqLu3Pxz4Gb2WgVg>
    <xmx:VcnaZ-YZDLxI6eAiIRJTv83IMkF60Fy7dRaOuhZM_ZNTFexgjnbHFg>
    <xmx:VcnaZ-k-aD3ChOzLW6tBjcONq_8B5xi2HZXxLgipkSqdXniE_C4JZP89>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 19 Mar 2025 14:40:33 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9rJUWCARMQYqNXr@mail-itl>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com>
 <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="zbbruPcfNXoBnAyX"
Content-Disposition: inline
In-Reply-To: <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com>


--zbbruPcfNXoBnAyX
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 19 Mar 2025 14:40:33 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Wed, Mar 19, 2025 at 01:43:59PM +0100, Jan Beulich wrote:
> On 19.03.2025 12:58, Marek Marczykowski-G=C3=B3recki wrote:
> > On Wed, Mar 19, 2025 at 10:43:12AM +0100, Jan Beulich wrote:
> >> On 19.03.2025 10:15, Jan Beulich wrote:
> >>> On 18.03.2025 18:01, Marek Marczykowski-G=C3=B3recki wrote:
> >>>> --- a/xen/Makefile
> >>>> +++ b/xen/Makefile
> >>>> @@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
> >>>>  CFLAGS +=3D -Wa,--strip-local-absolute
> >>>>  endif
> >>>> =20
> >>>> +$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=3D$(XEN_ROOT)=3D.)
> >>>
> >>> This is lacking a comma:
> >>>
> >>> $(call cc-option-add,CFLAGS,CC,-ffile-prefix-map=3D$(XEN_ROOT)=3D.)
> >>
> >> And then, having tried the correct form (seeing the option then is pas=
sed
> >> to the compiler), I can't spot any difference in the resulting
> >> xen-syms.map. There were a few absolute paths there before (for
> >> arch/x86/x86_64/kexec_reloc.S and arch/x86/acpi/wakeup_prot.S), and the
> >> exact same ones are present afterwards.
> >=20
> > I'm not sure about xen-syms.map, it's about build path included in
> > xen-syms. It appears at least once in .debug_str and once in
> > .debug_line_str.
>=20
> In which case -fdebug-prefix-map=3D may suffice, which is available on
> more compiler versions? And then only if DEBUG_INFO=3Dy?

Oh, and xen.efi is full of build path. Binary on plain staging has 790
occurrences. But there, -fdebug-prefix-map=3D also helps.

But also I don't think -fdebug-prefix-map=3D will be enough for tools, it
looks like at least libxl has build path embedded in .rodata too.

> > But also, I see the patch lost a chunk during rebase (from before
> > 4.17...), that adjusts XEN_ROOT to use $(realpath ...). That's the part
> > even mentioned in the commit message...
> >=20
> > I'll send v2 shortly.
>=20
> Provided there's actually a need. I was in fact wondering whether this
> was known to have significant effect prior to Anthony's work to make
> out-of-tree builds possible (plus less related adjustments), but may
> have lost most of its functionality since then (yet was still carried
> forward for all the time).

There are clearly some build path embedding left. And
-ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correctly with
XEN_ROOT having xen/.. at the end.
BTW, would it be acceptable to have this?

    $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realpath $(XEN_RO=
OT))=3D.)

It may be less efficient (if make doesn't cache result), but helps
especially in tools, where XEN_ROOT is set in _a lot_ of places.

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

--zbbruPcfNXoBnAyX
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfayVEACgkQ24/THMrX
1yxB/Qf+L9ORO+eBWkhvV6rA3gtBfaXlz+S6sfaHx/o3Li2MLGvBgTSa3yNSPc34
6mqczOHvKDikWtIo9yUzrcgZG65K/laDBOTJFF5oKl5SYj8ClS9ZVjl2BdnP//CG
6wJoLaJoTiwq23y5K2QWa4+Jjt6UznNyt11ObhiuQEzudIDgpXzVvY/dGfdwv6I7
Sn+Gs9E63CCGK6RJiXNeVJIVvksLoeyyrDt4Pxnogr2KX4Wj6Ksj/3E0fHLmI2lC
hq/DPXBgQEPRBfTAD5mbgVMm7sBxGxFPOPnl7DPTjx/nP5lTopAOa54XEcVJldRX
0lsYW9AQH6pBrB4VGSfOJZLnaF/QvA==
=mAAN
-----END PGP SIGNATURE-----

--zbbruPcfNXoBnAyX--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 13:56:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 13:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920705.1324785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tutuH-0000ob-Gz; Wed, 19 Mar 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 920705.1324785; Wed, 19 Mar 2025 13:56: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 1tutuH-0000oU-ET; Wed, 19 Mar 2025 13:56:29 +0000
Received: by outflank-mailman (input) for mailman id 920705;
 Wed, 19 Mar 2025 13:56: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=aWIU=WG=bounce.vates.tech=bounce-md_30504962.67dacd06.v1-2f0177316d44479db463c4be9dedb200@srs-se1.protection.inumbo.net>)
 id 1tutuG-0000oH-4w
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 13:56:28 +0000
Received: from mail136-29.atl41.mandrillapp.com
 (mail136-29.atl41.mandrillapp.com [198.2.136.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f17410b5-04c9-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 14:56:24 +0100 (CET)
Received: from pmta11.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail136-29.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4ZHqxf691Qz6CQ32B
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 13:56:22 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 2f0177316d44479db463c4be9dedb200; Wed, 19 Mar 2025 13:56: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: f17410b5-04c9-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742392582; x=1742662582;
	bh=S2HwWyjFnN9+yZcO348glRXKWzLF/ORVGltfzHFXYyc=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Lex6L7WK8EEbR6akLulITdTMm0D1b7Gm9EMi7jFmB2iADeLwcY9vhOi7cqs9BDQbI
	 vC5aHzf9Dy2tCvdRscoTXLGJBM92IiiB88Pt4pfdA16sqVrZrMjHu6dQoTbeH5TTqU
	 ze8XBb8jhC2jMulhuxYk5pfrY+73+fP7FViVt7zJmQM8nKYv6NXXlwLqBJ+So4WeRg
	 uPZIWXRs6KDCIa/xv/eg77rq59E/OlCXkLAbEvcaTTg3JDLDWAhYqT//fZeIi9RQsp
	 e6HgqHE7e2SvFFWh5uEuR+QRpmc9DSCWg2OUQBdku2bNPVwdV82ybYqTyPVt2jvtx/
	 TrC0zE8WNG0JA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742392582; x=1742653082; i=anthony.perard@vates.tech;
	bh=S2HwWyjFnN9+yZcO348glRXKWzLF/ORVGltfzHFXYyc=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=IUSOiq607XgXlY6pcpJNCwdlhwubCr1aBqiA1yLKgy4lB8sUXSe8y6U4LKPS9I2UX
	 7+P+s4pK5ewfPfnTu5L77uEqhim3y52j0FeocIsldb+H9hCknn6TNzj/D1u7coQbuC
	 DeMxACGuyUhM1ThfRDRrEGXcuoQGEvrzoHcvmrDlf7UwkBZhbMUmESqaYTGDJPDWg/
	 qTt9RfRlbZPrtw89CFZVV8UdrItMilc/QZALyJ8S8flmJhkASs9WpHMGGFtDaT19TI
	 yN01FvUae4qxg8pE6NQboxeylh1lI4vrYiL7n4I4wl6vg4A84ZDPCzEfjHRTVvmoWc
	 RisXW6TR680sw==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v6=2013/18]=20system/xen:=20remove=20inline=20stubs?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742392581417
To: "Pierrick Bouvier" <pierrick.bouvier@linaro.org>
Cc: qemu-devel@nongnu.org, "Paul Durrant" <paul@xen.org>, xen-devel@lists.xenproject.org, "David Hildenbrand" <david@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, qemu-riscv@nongnu.org, "Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>, "Paolo Bonzini" <pbonzini@redhat.com>, "Harsh Prateek Bora" <harshpb@linux.ibm.com>, alex.bennee@linaro.org, manos.pitsidianakis@linaro.org, "Daniel Henrique Barboza" <danielhb413@gmail.com>, "Richard Henderson" <richard.henderson@linaro.org>, "Alistair Francis" <alistair.francis@wdc.com>, qemu-ppc@nongnu.org, "=?utf-8?Q?Philippe=20Mathieu-Daud=C3=A9?=" <philmd@linaro.org>, "Weiwei Li" <liwei1518@gmail.com>, kvm@vger.kernel.org, "Palmer Dabbelt" <palmer@dabbelt.com>, "Peter Xu" <peterx@redhat.com>, "Yoshinori Sato" <ysato@users.sourceforge.jp>, "Stefano Stabellini" <sstabellini@kernel.org>, "Nicholas Piggin" <npiggin@gmail.com>
Message-Id: <Z9rNBFsWR39czUGQ@l14>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org> <20250317183417.285700-14-pierrick.bouvier@linaro.org>
In-Reply-To: <20250317183417.285700-14-pierrick.bouvier@linaro.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.2f0177316d44479db463c4be9dedb200?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250319:md
Date: Wed, 19 Mar 2025 13:56:22 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Mon, Mar 17, 2025 at 11:34:12AM -0700, Pierrick Bouvier wrote:
> Reviewed-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 13:58:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 13:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920713.1324796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tutvs-0001ML-T3; Wed, 19 Mar 2025 13:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920713.1324796; Wed, 19 Mar 2025 13:58: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 1tutvs-0001ME-PB; Wed, 19 Mar 2025 13:58:08 +0000
Received: by outflank-mailman (input) for mailman id 920713;
 Wed, 19 Mar 2025 13:58: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=xiIg=WG=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tutvq-0001M8-VI
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 13:58:07 +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 2db56ca7-04ca-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 14:58:04 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so5324315e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 06:58:04 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395c7df413esm20631255f8f.20.2025.03.19.06.58.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 06:58: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: 2db56ca7-04ca-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742392684; x=1742997484; darn=lists.xenproject.org;
        h=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=rKtd2t8952PTcuVOLwmHDgbG6L5yW0pG/+1vL9SJGDQ=;
        b=apXQ5Roz6Bu7fo9K8YxD5dT60MBuMVEwtFwt/TeqSxnEUm2KAlWVS9gzfP8GAmqVDU
         WlBYlBWTYC/HAptqG+WT8Yv73cIdmBDs2E7yeXurOJPaGB7IACvkUtXgeCto9VjXjw3L
         UBQpN2c9Pcn76/Ly714WrJRHU11g/Y4Lxs8wI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742392684; x=1742997484;
        h=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=rKtd2t8952PTcuVOLwmHDgbG6L5yW0pG/+1vL9SJGDQ=;
        b=uhgAk4pVkMlPf2+kEvbQZF6vwGeyd44HODfpuRgFFjaWvrd3fEiHTprIMumh/08wpJ
         wJaPAvLChdo6VcIHoZT+sY3N2iLOF0pRDyjM88Q9G/sjRGSngNiEmYZpt/QzUpL2WK8g
         qHeN2BwzCUqzzIps9yNSFdqEfQNdKgzefC63d7/NAmnImSPegZRP4ntNj6TPgeMG0YTg
         QFBLR7k+EdcqPKN79uU8c+GYMjSrZwxQe6vVrWSLACJaeSw+XAb+k1vIL9oC7QLdTGM/
         Njja2y2H0pmKNAaXzYo8PN11lq3zKFxu0po08Zr0mgWedYP52iJ/7dghA4bLZBv7ff8i
         BQRw==
X-Gm-Message-State: AOJu0YyFwmzJpj7DZHTfXqB15TeGI+4gs+vEylCiIhb8OevhOJSI2BN2
	dK/R1H/qKED54Ak05p2Ds6o5nyIAWv5fUIr7VTuOhZveJGte2PLkGAgMMm3CAJg=
X-Gm-Gg: ASbGncuc43vUaAeIhw/7+he2cLQWTCeg+xi1XyiB+DJvRp3cwGZSA1koQo/arNOL93+
	4niAd22dZtMfspG3+QtgoL9+3S/2Xe/FS4+TfeXXCZiGv5lYK/Xg6WNKTgS0mPRd0I4QBCAoW7L
	QKCjc3JvbYqXDdsCnn2I0ClnUuwoXRbTJrTh9Q+EEvfrUsvDVsRlDsne3+GcpFM8o+kg4Kh+WI2
	lgUFYVVdRXxJV3VbPBbMP9GtJno8eUCmmnI3C6gjR9wWx9AzaPM6hLJJk4+Axw39Hc73nVCT+XF
	KXJZJCt9StJK/6ccIxu4L+0gJzudAyovoVa2HMzJdemSVbEUWgcpFOBINA6K
X-Google-Smtp-Source: AGHT+IGFe/jeaXxH+X4tCUX1vVBAvmULEQ6lRb57Lrvcrvp0B1eijVGHPZgUg0GGxWntK4Nc/vg7CQ==
X-Received: by 2002:a05:600c:1c23:b0:43b:ca8c:fca3 with SMTP id 5b1f17b1804b1-43d4309c349mr25340085e9.11.1742392683952;
        Wed, 19 Mar 2025 06:58:03 -0700 (PDT)
Date: Wed, 19 Mar 2025 14:58:02 +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>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH] x86/setup: correct off-by-1 in module mapping
Message-ID: <Z9rNaqX-awNOJwSk@macbook.local>
References: <f346b510-dbd1-431a-ad35-3f1b8fe76c58@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f346b510-dbd1-431a-ad35-3f1b8fe76c58@suse.com>

On Wed, Mar 19, 2025 at 12:21:53PM +0100, Jan Beulich wrote:
> If a module's length is an exact multiple of PAGE_SIZE, the 2nd argument
> passed to set_pdx_range() would be one larger than intended. Use
> PFN_{UP,DOWN}() there instead.
> 
> Fixes: cd7cc5320bb2 ("x86/boot: add start and size fields to struct boot_module")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:01:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:01:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920725.1324805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tutz6-0003or-9h; Wed, 19 Mar 2025 14:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920725.1324805; Wed, 19 Mar 2025 14:01: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 1tutz6-0003ok-75; Wed, 19 Mar 2025 14:01:28 +0000
Received: by outflank-mailman (input) for mailman id 920725;
 Wed, 19 Mar 2025 14:01: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=sUeB=WG=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tutz4-0003oe-Gy
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:01:26 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a43b60c2-04ca-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 15:01:23 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-ac28e66c0e1so1082152966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:01:23 -0700 (PDT)
Received: from localhost ([46.149.103.11]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3149d0b71sm1032673566b.96.2025.03.19.07.01.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 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: a43b60c2-04ca-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742392883; x=1742997683; darn=lists.xenproject.org;
        h=in-reply-to:references:subject:cc:to:from:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zHjHdvWSeNVLU35cX1tzMGQTGNFJS6FxpFOjxKFXJts=;
        b=OJnyMXiZE4cdQxjAvLrvm/Ab1b5CY1XkZr5b8VlzSxJY1eiZn01P701dNwXAubJDoW
         eciu28TDkgY5jhdyacdJDAy2tTNBiY0cctrgtPZajGDY9+R/Qis5PpkQIGMXoUAOvbO2
         WJnv9sKwXEMtBRkVssaals5mxHFhylrjet8x0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742392883; x=1742997683;
        h=in-reply-to:references:subject:cc:to:from:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=zHjHdvWSeNVLU35cX1tzMGQTGNFJS6FxpFOjxKFXJts=;
        b=MrN/yoN6lAxdDY3NiQZvUW3QNJ8HSnMbo/OWc0Z00HppT1mCCbkRKSL71dJkTDBKII
         F9QgSG7qm5yHW+rnnJ1IDqCt21d+2Z08qAyseqaqChJdVxcoGDjZKWAVyF6cbPbC1Nwe
         kQ71mImk8I/KOb9psWJd8PkuRZxfH75rL42nG9NrBJsr5G8pRf9e/ZKU7puiSrT81tpd
         0Q72qTwaKno9OHGfSNwlN5nTYTmMKp6Z6b5UqPXJprCW8oCFJFugsec7sLDGorQKFJE7
         JYByNqS26dOClLG5tA+QKu8dgxcwzb1g9jwy8txWSapSD0A9MVgi/hVaFy/AnrLPLpda
         l/dg==
X-Forwarded-Encrypted: i=1; AJvYcCVuLTc85DEyZ2saBN8DlaNH308mfhEZo8eHCv4P3peOW2KAVCP5Fy0VTuiBFYmEAkga/lXxqR8Fm54=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyMyUmSmtSU6lWRkvAiLXGyLZenW8N2XzvievvPZ41ZyHRjb9Ev
	2S5jjtUGe+AtunmvLI+gpxih8tb3J+wfLDvFCzLtJ2m7+OK2xpG2Ehu9YcEmHXs=
X-Gm-Gg: ASbGnctmId2sJYS4fPoFaE7WHek7ZupUt0bE29eNqPobhWDhWsD9H62mPN0Q71UWx69
	wit3AzGAFvvwdM7xwemBBISdg5TzKwwW3vnVTvSFwFxlNJKgQOET6P7sORgGDiYDW7Zkn+F5nkk
	EYutTBCggzHztjBw8YXLabTMVdt07APNy+yEvFnwzKIJY31IjenSoQIJQKIjcOBoR4Zqcfby7Pz
	stmwnZqVkJ4DAJBCuFIbeH3DXW3pJPbjDek9I9PIAiYI/8VXavhIP1ocQrfRsBrxupqhkAXxoah
	5IbWSm110HbNIU3yQWqTD1YDiPsxoxd5pjWxYKL1X8ltyr19TEbcyJeat67O6Q==
X-Google-Smtp-Source: AGHT+IFSUTUf1HR96/Frau5cC+xrCI+xz7fMiPIUOqYbM8ALuEBSTp4LwEl7Zdekvw4AgCG1PTxgNA==
X-Received: by 2002:a17:907:9345:b0:abf:6d24:10bb with SMTP id a640c23a62f3a-ac3b7f4c5bbmr262187166b.44.1742392877067;
        Wed, 19 Mar 2025 07:01:17 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 19 Mar 2025 14:01:13 +0000
Message-Id: <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Michal Orzel" <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Juergen Gross"
 <jgross@suse.com>, "Luca Fancellu" <luca.fancellu@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>,
 "Bertrand Marquis" <bertrand.marquis@arm.com>
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
X-Mailer: aerc 0.18.2
References: <20250318090013.100823-1-michal.orzel@amd.com>
In-Reply-To: <20250318090013.100823-1-michal.orzel@amd.com>

On Tue Mar 18, 2025 at 9:00 AM GMT, Michal Orzel wrote:
> We are missing a way to detect whether a user provided a value for
> nr_spis equal to 0 or did not provide any value (default is also 0) which
> can cause issues when calculated nr_spis is > 0 and the value from domain
> config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
> (max supported nr of SPIs is 960 anyway).
>
> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_s=
pis value")
> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  tools/libs/light/libxl_arm.c     | 7 ++++---
>  tools/libs/light/libxl_types.idl | 2 +-
>  2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 2d895408cac3..5bb5bac61def 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>                                        libxl_domain_config *d_config,
>                                        struct xen_domctl_createdomain *co=
nfig)
>  {
> -    uint32_t nr_spis =3D 0;
> +    uint32_t nr_spis =3D 0, cfg_nr_spis =3D d_config->b_info.arch_arm.nr=
_spis;
>      unsigned int i;
>      uint32_t vuart_irq, virtio_irq =3D 0;
>      bool vuart_enabled =3D false, virtio_enabled =3D false;
> @@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
> =20
>      LOG(DEBUG, "Configure the domain");
> =20
> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
> +    /* We use UINT32_MAX to denote if a user provided a value or not */
> +    if ((cfg_nr_spis !=3D UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
>          LOG(ERROR, "Provided nr_spis value is too small (minimum require=
d %u)\n",
>              nr_spis);
>          return ERROR_FAIL;
>      }
> =20
> -    config->arch.nr_spis =3D max(nr_spis, d_config->b_info.arch_arm.nr_s=
pis);
> +    config->arch.nr_spis =3D (cfg_nr_spis !=3D UINT32_MAX) ? cfg_nr_spis=
 : nr_spis;
>      LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
> =20
>      switch (d_config->b_info.arch_arm.gic_version) {
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_ty=
pes.idl
> index bd4b8721ff19..129c00ce929c 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -723,7 +723,7 @@ libxl_domain_build_info =3D Struct("domain_build_info=
",[
>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>                                 ("vuart", libxl_vuart_type),
>                                 ("sve_vl", libxl_sve_type),
> -                               ("nr_spis", uint32),
> +                               ("nr_spis", uint32, {'init_val': 'UINT32_=
MAX'}),
>                                ])),
>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>                                ])),

Doesn't this regenerate the golang bindings?

Cheers,
Alejandro



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:05:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920740.1324816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuu2h-0004Sk-Sz; Wed, 19 Mar 2025 14:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920740.1324816; Wed, 19 Mar 2025 14: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 1tuu2h-0004Sd-PH; Wed, 19 Mar 2025 14:05:11 +0000
Received: by outflank-mailman (input) for mailman id 920740;
 Wed, 19 Mar 2025 14: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuu2g-0004SS-Mc
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:05: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 2b0f88c3-04cb-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 15:05:09 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso5997895f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:05:09 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-399728f493csm2593337f8f.67.2025.03.19.07.05.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 07:05: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: 2b0f88c3-04cb-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742393109; x=1742997909; 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=HkXnqGDqV73Pr1H5uSmAjD9ZGsAJLmtHyTXmHc+A+WU=;
        b=VoXaAnKRQSZwN10x3oA/m54qhKTTRbM5xisXM6gKhWWaVIjcT9tyrErwO3Apf5ft+j
         NyV1ck1twNDOLnBQ/JAG5VH9t6lK2A4jobZa0xM3iI3vOyFP/0zVnQiqxDK7QbAEce4c
         Ro6ztl0K40D4Xmb50A3Xy17xhyyhL1yZ9HsJU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742393109; x=1742997909;
        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=HkXnqGDqV73Pr1H5uSmAjD9ZGsAJLmtHyTXmHc+A+WU=;
        b=Ff01/SQg/yBIhpw60L7TZqAxKryHDmRF2x9OQBGhLyFUR5XqJcX0R7h2av8U4CoUjn
         5v1tTqka9hs2OjYxOv40RtrEkafCoK6LNAGK1sAP5Xpkp2+X4AK1BbZsjD4BIhmiwxWZ
         J8F01t9ThvSC11LCFTz64otP23NDLm1IoZTE/2iHP2l8Y6FcDIa57W/iSt+l0DF8beOu
         BwOrqrsW8zvoiyR5JGTYYPeXizC2Wo6xm687ysryEd0XThKvZveN1+buCNFGqXJY/jkx
         iQ+OyubAzus6xEdw6nplTDgAhC8uvv5hTV6fFYlSGHLKmkv2HXR+GL0Sj74LAf5egEKt
         pyfQ==
X-Forwarded-Encrypted: i=1; AJvYcCVNGZWW4d55D1Kt3o1P6H/j2p19M5h66of0skeQ6anwITke9OEYjVw8a1H16/f7FSW5goqhRBD2jKs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywig10+i9CJShQdAdw4F00vzmcWJhuYKtoGb6+X6BGp9267WQQY
	vWeUXfPBB+HyjOLx0jNGJsoDgAwqhhLXgpBT/v7desp5vMPVk/9SMJGlvjravOk=
X-Gm-Gg: ASbGncuT4BRlFyP92XqG7EoCwtO3+H2RaTsm+wtveoEisjoq5lRW2KOQrtPxszpf841
	eCDoN5BYmTzCtZEVxRVTaF0zkikEJrwatQYWS2Fx6243EGEbiNhSNIbKDkUAao981cdYpIRWfN7
	cEQ6gGPNWySxj2++8kE1PvBaxj2hL0zqlVbxVCLtjE26WYawOpNGOe1EuukOccKxOEmAW/DGrpY
	IsAmATUAhufmcSflMWIoN1hQYXZCzsd+lxKjGEVDZY2ENyvyP6AwG6C1PyQ741zcLfFUqwIl86C
	o5DvnDupbrDs21rJwmGhnoso/1wJLrCN18q+IsTGckEpwMEs8yPK4m8EjPhFppRfl3ScgHm7F18
	mlGhI39QR
X-Google-Smtp-Source: AGHT+IEB+Dnlc8M3MVzuksCZCg6Vm/yE0SaD237+ySanBA2/yBdWwtvesNA/Y4E3q0vM99xMFLVnPg==
X-Received: by 2002:a5d:6d87:0:b0:391:4231:416 with SMTP id ffacd0b85a97d-39973af9116mr2406902f8f.36.1742393107434;
        Wed, 19 Mar 2025 07:05:07 -0700 (PDT)
Message-ID: <1f3c9275-14da-4baa-a0e1-e092d0d606b5@citrix.com>
Date: Wed, 19 Mar 2025 14:05:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Luca Fancellu <luca.fancellu@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <D8KAQ3MH52YA.1G12M32NDFRJW@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: <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 2:01 pm, Alejandro Vallejo wrote:
> On Tue Mar 18, 2025 at 9:00 AM GMT, Michal Orzel wrote:
>> We are missing a way to detect whether a user provided a value for
>> nr_spis equal to 0 or did not provide any value (default is also 0) which
>> can cause issues when calculated nr_spis is > 0 and the value from domain
>> config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
>> (max supported nr of SPIs is 960 anyway).
>>
>> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_spis value")
>> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  tools/libs/light/libxl_arm.c     | 7 ++++---
>>  tools/libs/light/libxl_types.idl | 2 +-
>>  2 files changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
>> index 2d895408cac3..5bb5bac61def 100644
>> --- a/tools/libs/light/libxl_arm.c
>> +++ b/tools/libs/light/libxl_arm.c
>> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>                                        libxl_domain_config *d_config,
>>                                        struct xen_domctl_createdomain *config)
>>  {
>> -    uint32_t nr_spis = 0;
>> +    uint32_t nr_spis = 0, cfg_nr_spis = d_config->b_info.arch_arm.nr_spis;
>>      unsigned int i;
>>      uint32_t vuart_irq, virtio_irq = 0;
>>      bool vuart_enabled = false, virtio_enabled = false;
>> @@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>  
>>      LOG(DEBUG, "Configure the domain");
>>  
>> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
>> +    /* We use UINT32_MAX to denote if a user provided a value or not */
>> +    if ((cfg_nr_spis != UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
>>          LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
>>              nr_spis);
>>          return ERROR_FAIL;
>>      }
>>  
>> -    config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
>> +    config->arch.nr_spis = (cfg_nr_spis != UINT32_MAX) ? cfg_nr_spis : nr_spis;
>>      LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
>>  
>>      switch (d_config->b_info.arch_arm.gic_version) {
>> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
>> index bd4b8721ff19..129c00ce929c 100644
>> --- a/tools/libs/light/libxl_types.idl
>> +++ b/tools/libs/light/libxl_types.idl
>> @@ -723,7 +723,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>>                                 ("vuart", libxl_vuart_type),
>>                                 ("sve_vl", libxl_sve_type),
>> -                               ("nr_spis", uint32),
>> +                               ("nr_spis", uint32, {'init_val': 'UINT32_MAX'}),
>>                                ])),
>>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>>                                ])),
> Doesn't this regenerate the golang bindings?

You need a build environment with golang for that to happen.Â  It's easy
to miss.

In this case, best to ask the committer to regen.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:16:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920756.1324826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuuDy-00073c-SD; Wed, 19 Mar 2025 14:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920756.1324826; Wed, 19 Mar 2025 14: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 1tuuDy-00073V-P4; Wed, 19 Mar 2025 14:16:50 +0000
Received: by outflank-mailman (input) for mailman id 920756;
 Wed, 19 Mar 2025 14:16: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=xiIg=WG=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tuuDx-00073P-CP
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:16:49 +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 cb0b4957-04cc-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 15:16:47 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso6011913f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:16:47 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-395c82c23ffsm20710718f8f.22.2025.03.19.07.16.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 07:16: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: cb0b4957-04cc-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742393807; x=1742998607; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=syUcGlh1+48HodplrOQn4hV7HLvSUJfciWptysj8SAo=;
        b=aa4mYfQutEiX7u0Oui7kjdrgJV2pscalpYAUoSF23+dwcwa8gXgEP4rFpceTyzmBpL
         tgL8J68d7nG7W/ezxJe6qUUdvqtnfFtUPanCqs4yjEBssnBbWS0J1OKs46dAisIprnFK
         E9q0czoJ1THpDgZ3xm7SqYFUhEE9SD+EbjNE4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742393807; x=1742998607;
        h=in-reply-to: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=syUcGlh1+48HodplrOQn4hV7HLvSUJfciWptysj8SAo=;
        b=YtSekTEqZgC1i9p5h9wWROky0gn5cU1rBnGLvOUw8XRqQL4yn7pQqJ4TWDEEcPbt8V
         wuqjYEaGttovGqT5NmaZmtK4suc5YteEe/q6c+AteyTeMn8TeEm4L3pQGsGy3EHlUNW1
         ZfD4K2yT0XPwGGpBw5gf5SkVsIM/7zDubD2wXGQfbE6JDKMTM1mRvEsoLIcoMF4jUSWR
         04t+FX5w3u88734pC1Lwxr5ztFNJc4hEPC4v5Mro+5+ied0p0Y4UrWD8sezcSy4Tgspf
         6PLUUo1GIGaMX5rM6dGjF2WI48Bwy2pjQORl6RnvRaiwSQsLZwcNZ2Bi9e4/i69lr4/1
         9S+Q==
X-Forwarded-Encrypted: i=1; AJvYcCXT725AsB+AswOUvFsySiMryxOc79oenvTUqNneJueshOuZuvIkbZg1BW1bTCOPYFN6ROeveIbVGWE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YySf+Qrvs33+UuhAQO6rHqOcXqYXgWGTbtOB7a+4h3nNNQ7doGE
	n+jcuenZAbeyWBuwpbhNQL2e21gTFHHGFs9PStNWQT36Me7GsxLepWSJWRN3dVc=
X-Gm-Gg: ASbGncvZkccgpaidRXFO2zarArbtbIfJZKN8YaRGoHW069qtB0X210IUTFuLzh3ok6H
	cMMIcxBKVcJ9u9yUopuA0WWwcNFw+ARvT2XZo7+GtopPAIW9bJFLMKke7W/B5lpS2z5HOvIRkS3
	B4qenMIvrVBvYbcxFxRDvI7Up51ONyrYJftMXLwkullziLb0hUcHFdQzYRETTJY7PCmMPAIEnTN
	Ioyll3fMt9DuJmqaun5OOt2wIY5mmu5b/ak0XHSInJGamNpXbaeMgryXRNfFMTJvr1r/RNlx/9R
	s1W3VYvCyKtQioySEMof0B3xu+i1Z+NH4L/XC0ItO0AQXNlqOicfarw=
X-Google-Smtp-Source: AGHT+IG1yMM0PUXizVzizKFTtc1vXOY7qJAWgLeTGtbLOc1AOB+kKXNzbZo0kmrI8wsgfp726MZBhA==
X-Received: by 2002:a5d:64c5:0:b0:390:e62e:f31f with SMTP id ffacd0b85a97d-399739b4353mr2210927f8f.3.1742393806332;
        Wed, 19 Mar 2025 07:16:46 -0700 (PDT)
Date: Wed, 19 Mar 2025 15:16:45 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/7] x86/mkelf32: account for offset when detecting note
 segment placement
Message-ID: <Z9rRzRQnHLtUOpQs@macbook.local>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-3-roger.pau@citrix.com>
 <1dce6993-09d7-4f04-8ccc-908a0a4cc10f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <1dce6993-09d7-4f04-8ccc-908a0a4cc10f@suse.com>

On Wed, Mar 19, 2025 at 11:07:33AM +0100, Jan Beulich wrote:
> On 18.03.2025 18:35, Roger Pau Monne wrote:
> > mkelf32 attempt to check that the program header defined NOTE segment falls
> > inside of the LOAD segment, as the build-id should be loaded for Xen at
> > runtime to check.
> > 
> > However the current code doesn't take into account the LOAD program header
> > segment offset when calculating overlap with the NOTE segment.  This
> > results in incorrect detection, and the following build error:
> > 
> > arch/x86/boot/mkelf32 --notes xen-syms ./.xen.elf32 0x200000 \
> >                `nm xen-syms | sed -ne 's/^\([^ ]*\) . __2M_rwdata_end$/0x\1/p'`
> > Expected .note section within .text section!
> > Offset 4244776 not within 2910364!
> 
> Not your fault, but: Such printing of decimal numbers is of course very
> unhelpful when ...
> 
> > When xen-syms has the following program headers:
> > 
> > Program Header:
> >     LOAD off    0x0000000000200000 vaddr 0xffff82d040200000 paddr 0x0000000000200000 align 2**21
> >          filesz 0x00000000002c689c memsz 0x00000000003f7e20 flags rwx
> >     NOTE off    0x000000000040c528 vaddr 0xffff82d04040c528 paddr 0x000000000040c528 align 2**2
> >          filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
> 
> ... any half-way sane tool prints such values in hex.
> 
> > --- a/xen/arch/x86/boot/mkelf32.c
> > +++ b/xen/arch/x86/boot/mkelf32.c
> > @@ -358,7 +358,8 @@ int main(int argc, char **argv)
> >          note_sz = in64_phdr.p_memsz;
> >          note_base = in64_phdr.p_vaddr - note_base;
> >  
> > -        if ( in64_phdr.p_offset > dat_siz || offset > in64_phdr.p_offset )
> > +        if ( in64_phdr.p_offset > (offset + dat_siz) ||
> > +             offset > in64_phdr.p_offset )
> 
> This is an improvement, so fine to go in with Andrew's ack, but it still
> doesn't match what the error message suggests is wanted: This checks only
> whether .note starts after .text or ends before .text. A partial overlap,
> which isn't okay either aiui, would go through fine.
> 
> Oh, and - even in your change there's an off-by-1: You mean >= in the lhs
> of the ||.

Hm, I see, it would be better as:

diff --git a/xen/arch/x86/boot/mkelf32.c b/xen/arch/x86/boot/mkelf32.c
index 5f9e7e440e84..f0f406687cea 100644
--- a/xen/arch/x86/boot/mkelf32.c
+++ b/xen/arch/x86/boot/mkelf32.c
@@ -358,11 +358,13 @@ int main(int argc, char **argv)
         note_sz = in64_phdr.p_memsz;
         note_base = in64_phdr.p_vaddr - note_base;
 
-        if ( in64_phdr.p_offset > dat_siz || offset > in64_phdr.p_offset )
+        if ( in64_phdr.p_offset < offset ||
+             in64_phdr.p_offset + in64_phdr.p_filesz > offset + dat_siz )
         {
             fprintf(stderr, "Expected .note section within .text section!\n" \
-                    "Offset %"PRId64" not within %d!\n",
-                    in64_phdr.p_offset, dat_siz);
+                    ".note: [%"PRIx64", %"PRIx64") .text: [%x, %x)\n",
+                    in64_phdr.p_offset, in64_phdr.p_offset + in64_phdr.p_filesz,
+                    offset, offset + dat_siz);
             return 1;
         }
         /* Gets us the absolute offset within the .text section. */



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:20:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920770.1324835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuuHJ-000068-9D; Wed, 19 Mar 2025 14:20:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920770.1324835; Wed, 19 Mar 2025 14:20: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 1tuuHJ-000061-6X; Wed, 19 Mar 2025 14:20:17 +0000
Received: by outflank-mailman (input) for mailman id 920770;
 Wed, 19 Mar 2025 14:20: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuuHI-00005u-Cn
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:20:16 +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 4649611d-04cd-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 15:20:14 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43948021a45so46765045e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:20:14 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975d65sm21447498f8f.56.2025.03.19.07.20.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 07:20: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: 4649611d-04cd-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742394013; x=1742998813; 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=k5VQt4TTAhReF/aDl6NDQTaWB1uAxS1E5Bh8ibv0maM=;
        b=Y5rP97KRJzKo3C2fqPDU6HMMn17RNJaeQthJ5VVUx8hB7rHXsIiGlfC+tpWZGGT7h3
         UguO7qv7BQAQPqL8q5rotumoY3d6p+WQhK41fIQBY8HTK0SZ+aXodbfI5aHlA687Mimt
         SVgRIRsp7qh4ZML06lGxp12srKlRYpoeSwHAg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742394013; x=1742998813;
        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=k5VQt4TTAhReF/aDl6NDQTaWB1uAxS1E5Bh8ibv0maM=;
        b=TkuN6ilKkkoj4DZgB73kTAcMkmDeX14Vlg5sUPy6oLRWn7Dtl/siU5QBChUkjGyMwc
         tBfJO5Vy7RqtiI51XNFvs+QGY95Z9P8c4B+mckRhXdj6OfMROzyLgirMVZhRieq9dh54
         ZQl1liX5tDiqtTHnKeAKcjOtna5v0YTE8RRkBCPpd3co0pYvR+v2yAhMoMg2nc4+gXg9
         Wr04hHBPbgcWiPZzw5bvJ8auWRb7ajdQWNFxq/GweT+b9WPSKmshcW8efJnxL4fdC9hv
         f9V2Z7s1SQrUFkiPSyy7qFQEqNrbZRYcBvZOgEjrex0uNQeIPlEDA2MpBwkLUNhyZ7hO
         KEtA==
X-Gm-Message-State: AOJu0YycudRc2kJH7czXkr/VxEd3M5lzPk4OaB9uSDmsZE2PKHEp2wN/
	tE6RezrFlGuhpUB4m6Z1HluU2ByXahJ7EtP1cFcUk4nqYZcZiUNuQr13ZFt2u49m/4SKGxaB6No
	3
X-Gm-Gg: ASbGncvZjNiKgZjCy/f02osezZxyA3R+YVNe7Toc3k2XpPw942JkaSPt+rerymSZ1OA
	NTjtrAuTlN5zfk9BAabz+CcQfasGsUGovQTRqEV7AsUbscjt35GfSCCJVU6wXsYwkUbYBYemWfK
	FyBEwH2/udt2nL28fVwyVK07ihYFpNxsvCNTu3s/q20qBgFx6bld9dPzPANAQeC0t1yeihD49v6
	x/FRzrhzsAGWMKPdBdEo5/Jo08bdqmObDw7ftzTVO3ClISzvmGoXFp3Jbqu+huMZVpp6HIwsQHL
	whF1i8aaU91BS1ltfJ73486CWhU384q2saFfMZDzb8l4olEJnk4WrcolJih/IjNb6wePOrI51rH
	VlDtrcNeMbwJkwh5nihcehi2yKULy
X-Google-Smtp-Source: AGHT+IFwFmcMHUGn7gnfLLlw1gjXuPD4HkDHDh7dmOyJ3FzB+gApzgKzfUsSxabQmrO0yo+Rk0BB5w==
X-Received: by 2002:a5d:598d:0:b0:391:3291:e416 with SMTP id ffacd0b85a97d-399739c5a72mr2901332f8f.19.1742394013450;
        Wed, 19 Mar 2025 07:20: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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/mm: Fix IS_ALIGNED() check in IS_LnE_ALIGNED()
Date: Wed, 19 Mar 2025 14:20:11 +0000
Message-Id: <20250319142011.138250-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

The current CI failures happen to be a latent bug triggered by a narrow set of
properties of the initrd, which CI encountered by chance.

One step during boot involves constructing directmap mappings for modules.
With some probing at the point of creation, it is observed that there's a 4k
mapping missing towards the end of the initrd.

  (XEN) === Mapped Mod1 [0000000394001000, 00000003be1ff6dc] to Directmap
  (XEN) Probing paddr 394001000, va ffff830394001000
  (XEN) Probing paddr 3be1ff6db, va ffff8303be1ff6db
  (XEN) Probing paddr 3bdffffff, va ffff8303bdffffff
  (XEN) Probing paddr 3be001000, va ffff8303be001000
  (XEN) Probing paddr 3be000000, va ffff8303be000000
  (XEN) Early fatal page fault at e008:ffff82d04032014c (cr2=ffff8303be000000, ec=0000)

The conditions for this bug appear to be map_pages_to_xen() call with a non-2M
aligned start address, some number of full 2M pages, then a tail needing 4k
pages.

Anyway, the condition for spotting superpage boundaries in map_pages_to_xen()
is wrong.  The IS_ALIGNED() macro expects a power of two for the alignment
argument, and subtracts 1 itself.

Fixing this causes the failing case to now boot.

Fixes: 97fb6fcf26e8 ("x86/mm: introduce helpers to detect super page alignment")
Debugged-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Tested-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
CC: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>

Judging by how IS_ALIGNED() is wrong, I think the pre-condition might be
exactly 4k past a 2M boundary, not just simply a non-2M boundary.
---
 xen/arch/x86/mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 03b8319f7a9d..e0793ad3462b 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5505,7 +5505,7 @@ int map_pages_to_xen(
                                                                 \
     ASSERT(!mfn_eq(m_, INVALID_MFN));                           \
     IS_ALIGNED(PFN_DOWN(v) | mfn_x(m_),                         \
-               (1UL << (PAGETABLE_ORDER * ((n) - 1))) - 1);     \
+               (1UL << (PAGETABLE_ORDER * ((n) - 1))));         \
 })
 #define IS_L2E_ALIGNED(v, m) IS_LnE_ALIGNED(v, m, 2)
 #define IS_L3E_ALIGNED(v, m) IS_LnE_ALIGNED(v, m, 3)

base-commit: 77be740e8182fa6b31291a8ae983d253187e9b50
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:26:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920789.1324845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuuNP-0001lR-S5; Wed, 19 Mar 2025 14:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920789.1324845; Wed, 19 Mar 2025 14: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 1tuuNP-0001lK-PR; Wed, 19 Mar 2025 14:26:35 +0000
Received: by outflank-mailman (input) for mailman id 920789;
 Wed, 19 Mar 2025 14:26: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuuNO-0001kD-Nr
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:26:34 +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 27e667ad-04ce-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 15:26:32 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so31880265e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:26: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-43d43f331dasm20713295e9.8.2025.03.19.07.26.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 07:26: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: 27e667ad-04ce-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742394392; x=1742999192; 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=8PQnakvylZY9QpVX/EMz9QUNknaDAdPSzQ1ITE4XWD4=;
        b=F43TjAJfNeHqeESW6k2UjSnSzl5gl0W3kLeNR1+gModCTXKgkGEDIwwa7kbJp28yJD
         kskA3AEzxUNVp8MA24AEBE8CFdy98u6ai4aXBOQah8HUuVvJ+JgvDVWjkfJS0fZyF3H+
         U37BvnU4YqeWZSZqj+lJsP6lhdBOehqtr91KEdX6wbDcktzSoksN8Mzrj94skrcdfCEv
         sTxI6Xri2QUu9xNEhfOR/67my10V5N0RGjvJKrcKqZaXmTXSZqSjbKZPTbp6bRFIYtOd
         HlnUlsQJmHEzVN7op1GocoZ2VlTrNYuPnrsRW5M7SK2LVhWEyAraOWIh+UPwIEoHbUgp
         5x0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742394392; x=1742999192;
        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=8PQnakvylZY9QpVX/EMz9QUNknaDAdPSzQ1ITE4XWD4=;
        b=lkywI1Ybb2fu2AxfT15vhMeAbwSuefEG9qXmHDyXSqys+WhNYpwDjepB3Vc2ebzLOo
         NTnYLtCVX3xV8S2OIOkVMp18dWq9a177PEG4XxnlEneoKENCAs9Ic0dffjKwXGjqZXCZ
         rGaA6pZBo6PV1g/X4W/GX1R8re7l9NehDkLKgT9OgN57fHZtq+m6/Qf5nxawjCL1bAiK
         VS18dOtYNpAUu4m3FBkQ33gYwVBLZcrOikmK47YnSBkRbZAmKFHPL2lj7CHeg8tgl0fk
         K+4ZH85V4u4jxap7WD3V/CyrEZ2wC/197qcRx//NOHAHBEDabX7Rwql04M/8Gxjn7RRT
         vdVQ==
X-Forwarded-Encrypted: i=1; AJvYcCV+XsiNwMoe+4ZCnaPAmRVDnmEkiwcRenPdCTbJtNt6IzrmkssVFiraATH7h/r2HkdWMzX13gLbe80=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzeyz44hl6tPHjzrpO+/MD+zyUIIuLeQ95OMYkYVyVBM6nAYW9b
	3vrRRDPrak7augs1sXjUXE7QEvgAk5NUQZEt9B4sFewXg0DTC/Z9XuXjQUI2dQ==
X-Gm-Gg: ASbGnctCfLz1YZfK0XVWduB6s+DPrD9+TrTllQdzW0bzRIH0p/jQEbW3au62UW+UYw9
	5o1Ge0hRTtxyS0vxMvgtkhOxRJhLPIGXn0h+EwEuC1tl31ODbOe+wF3XV3JcSL81YiDwWZ5OZQn
	OiA5NFI6LbWIscqncMergLWQZPUI6/M24BTN/Cl2uH0ylWRyIzQ89T8CTX9lCawByCertCwEMEZ
	UGsxZlqi3q2V08Uw5+igtChkEE/I6mNTLYhLBHap0q5DONQSqszb9lbAoYvhQEQ6FsPk54I0hZF
	zU/DB1r76Ejy/lukCXahUm0n2UiMKKC7BXukHz3HKcW1TRAU+hU3NATkG4CEP0nwE7Zd3kj9pTK
	j30kklmOHKIB/ktTjK+USxAzJ7qs7yg==
X-Google-Smtp-Source: AGHT+IGEXUEB8qV65f7YQewcr+nmy8V/wIzan7cmRHdC1B8io9XKxRCPf8Gz2V9BiAqSi1yQqQnRcA==
X-Received: by 2002:a05:600c:3b10:b0:43c:fd72:f028 with SMTP id 5b1f17b1804b1-43d4384e93fmr25344335e9.29.1742394392232;
        Wed, 19 Mar 2025 07:26:32 -0700 (PDT)
Message-ID: <2f3548cf-a6dd-41e2-8a35-cab1bda0e923@suse.com>
Date: Wed, 19 Mar 2025 15:26:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com> <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com> <Z9rJUWCARMQYqNXr@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: <Z9rJUWCARMQYqNXr@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 14:40, Marek Marczykowski-GĂłrecki wrote:
> On Wed, Mar 19, 2025 at 01:43:59PM +0100, Jan Beulich wrote:
>> On 19.03.2025 12:58, Marek Marczykowski-GĂłrecki wrote:
>>> On Wed, Mar 19, 2025 at 10:43:12AM +0100, Jan Beulich wrote:
>>>> On 19.03.2025 10:15, Jan Beulich wrote:
>>>>> On 18.03.2025 18:01, Marek Marczykowski-GĂłrecki wrote:
>>>>>> --- a/xen/Makefile
>>>>>> +++ b/xen/Makefile
>>>>>> @@ -411,6 +411,8 @@ ifneq ($(CONFIG_CC_IS_CLANG),y)
>>>>>>  CFLAGS += -Wa,--strip-local-absolute
>>>>>>  endif
>>>>>>  
>>>>>> +$(call cc-option-add CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)
>>>>>
>>>>> This is lacking a comma:
>>>>>
>>>>> $(call cc-option-add,CFLAGS,CC,-ffile-prefix-map=$(XEN_ROOT)=.)
>>>>
>>>> And then, having tried the correct form (seeing the option then is passed
>>>> to the compiler), I can't spot any difference in the resulting
>>>> xen-syms.map. There were a few absolute paths there before (for
>>>> arch/x86/x86_64/kexec_reloc.S and arch/x86/acpi/wakeup_prot.S), and the
>>>> exact same ones are present afterwards.
>>>
>>> I'm not sure about xen-syms.map, it's about build path included in
>>> xen-syms. It appears at least once in .debug_str and once in
>>> .debug_line_str.
>>
>> In which case -fdebug-prefix-map= may suffice, which is available on
>> more compiler versions? And then only if DEBUG_INFO=y?
> 
> Oh, and xen.efi is full of build path. Binary on plain staging has 790
> occurrences. But there, -fdebug-prefix-map= also helps.
> 
> But also I don't think -fdebug-prefix-map= will be enough for tools, it
> looks like at least libxl has build path embedded in .rodata too.

And _all_ of them go away with -ffile-prefix-map=?

>>> But also, I see the patch lost a chunk during rebase (from before
>>> 4.17...), that adjusts XEN_ROOT to use $(realpath ...). That's the part
>>> even mentioned in the commit message...
>>>
>>> I'll send v2 shortly.
>>
>> Provided there's actually a need. I was in fact wondering whether this
>> was known to have significant effect prior to Anthony's work to make
>> out-of-tree builds possible (plus less related adjustments), but may
>> have lost most of its functionality since then (yet was still carried
>> forward for all the time).
> 
> There are clearly some build path embedding left. And
> -ffile-prefix-map=/-fdebug-prefix-map= doesn't work correctly with
> XEN_ROOT having xen/.. at the end.
> BTW, would it be acceptable to have this?
> 
>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=$(realpath $(XEN_ROOT))=.)
> 
> It may be less efficient (if make doesn't cache result),

What do you mean here? Variable evaluation depends solely on how we
use variables. I don't think there's any caching make does on its own?

As to $(realpath ...) - make 3.80 doesn't support that. We do provide a
fallback, but for that you need to use $(call realpath,...).

Jan

> but helps
> especially in tools, where XEN_ROOT is set in _a lot_ of places.
> 



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:29:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:29:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920802.1324856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuuQI-0002Nw-DZ; Wed, 19 Mar 2025 14:29:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920802.1324856; Wed, 19 Mar 2025 14:29: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 1tuuQI-0002Np-AU; Wed, 19 Mar 2025 14:29:34 +0000
Received: by outflank-mailman (input) for mailman id 920802;
 Wed, 19 Mar 2025 14:29: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuuQG-0002NT-O6
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:29:32 +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 92280bd7-04ce-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 15:29:31 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso33315505e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:29: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-43d43fdeb6esm20456365e9.31.2025.03.19.07.29.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 07:29: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: 92280bd7-04ce-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742394570; x=1742999370; 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=9chD1AXAcocFm5UVDi2Gr5S/mJL+Pr0m8lUaZ6dNcoE=;
        b=K5sg0Pigv3hw7ENknke3sFGtli9eCKAY96nakl6eGbr+yhGBuHDwyJUa8cUI4cYyLG
         3mOiP/OGhOGVtc/ku8BHpj9JIjFCYLzZrHpP3rgVozNRS8OoPDPjXzn+cAFyDYsQ7fKZ
         X6MRWGSqgigKa0kO39tlCAKHuJPL1ccLN9v2Cjwa1tYxm6jEy7q6+TXXMN/+NoDindV+
         3VEj5UDK6uUNkWlTGDhBVnMJLtaD3lro89PVGkuzAzxEFEKrSHyQkpdSSZanQtERCx9p
         h0WOBjSSUpxiyBsQLyvmq+bC5Tar4Q77cJCM/8q/ayobtPEW9k3PNXhU9PzbjXZbrD3D
         twVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742394570; x=1742999370;
        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=9chD1AXAcocFm5UVDi2Gr5S/mJL+Pr0m8lUaZ6dNcoE=;
        b=TCNRX6cjECexWz7p3MRflScPz+PyWywM+fuKUFRyN2v9d2C5vvIE+OK/cPACHR/iuP
         4OW6CBG9DeXIC8pWm4TZ1jRJLz4wKcIl4L/lG0eLJ27psQrH21c+NDWfFyAbfvQuNuY8
         a1RFXKN5CKXnoStjewxTzy49c/pFcVdFNcQ4id5rg+Z24S4TVKzC08Gq0U4/YEnKKvF4
         y+vY5lGrfCc/IJB7LLlMvztdtmOaDo5IZT+D+Ib+mp987z/KHX0uT8xXy3ZpIcC7Zss7
         JcUrbSkzlOwMQpiIvPO6p65Bj/DBSfx3GUW2Bj3Dp57donrytrFUGkglKffKnFJEkLn6
         AKEA==
X-Forwarded-Encrypted: i=1; AJvYcCUdzcKlkOWJGFr5Qh4WeFvtVeSWDNGKOdA3b0VxEullDJCvq/1OkGd5eUQFFYpTu1PSoVy6MqojwkE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzH6elZ4msc7nhxSPu3vOpGvRoQcIl15Ea16s64FITcnbSlpd7z
	vNbpPzu16F4zeMzvYLNghbhzC0WpOHlMSS+PS1nPm3dTW1IEf9yCx6q2d5vm+tYKZ9K4wOInx8E
	=
X-Gm-Gg: ASbGncuJuW6rZSd1DC66nasl6PJQkdcq+F8RRYQMOSk0c3jttHgjI43iVAplX4Vm8qu
	3HZ1N8ypiil1majLLl5+YGEDyuEUhkn8j/o5o+7piiDOzO0NntpwVOVZBCiNSKSgBkXDMXi0Vrb
	bQNyn6EF1wPRgswsYrFoVScJ9BjnFQsTZByxUsG/7S+cqe6YGv7lS84xXbbTAhHnyPY0aQPEE7m
	Q8SrxV0Td3llg2Lw9kPfzHlLgKTwjl+3pgpcXe98oKrTq/wrafYO3pni/Chu5vFGgs2Q8DJsJ2F
	/Hz8Z+SU0bdP2kfcO/SrrBJbfUlRamjwG1a1w+jbV71dvm2qwuU9XW5zL4dLYG0maHXUGZvpPbO
	EvgTKRylpSFgSAd8Wt+nfYWPxDEQ8lQ==
X-Google-Smtp-Source: AGHT+IFsxTgL+bKmE0gwr0Yb0P+6nsMiFF0YBFBZmG6RGM/0xTkklJYFabNZiG0efbaZHsev/j0Jgw==
X-Received: by 2002:a05:600c:3b07:b0:43b:cf12:2ca5 with SMTP id 5b1f17b1804b1-43d4378d067mr22324505e9.8.1742394570414;
        Wed, 19 Mar 2025 07:29:30 -0700 (PDT)
Message-ID: <79bf742f-d472-4744-afda-1b47bd88f04d@suse.com>
Date: Wed, 19 Mar 2025 15:29:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/mm: Fix IS_ALIGNED() check in IS_LnE_ALIGNED()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20250319142011.138250-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: <20250319142011.138250-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 15:20, Andrew Cooper wrote:
> The current CI failures happen to be a latent bug triggered by a narrow set of
> properties of the initrd, which CI encountered by chance.

Plus properties of the host memory map.

> One step during boot involves constructing directmap mappings for modules.
> With some probing at the point of creation, it is observed that there's a 4k
> mapping missing towards the end of the initrd.
> 
>   (XEN) === Mapped Mod1 [0000000394001000, 00000003be1ff6dc] to Directmap
>   (XEN) Probing paddr 394001000, va ffff830394001000
>   (XEN) Probing paddr 3be1ff6db, va ffff8303be1ff6db
>   (XEN) Probing paddr 3bdffffff, va ffff8303bdffffff
>   (XEN) Probing paddr 3be001000, va ffff8303be001000
>   (XEN) Probing paddr 3be000000, va ffff8303be000000
>   (XEN) Early fatal page fault at e008:ffff82d04032014c (cr2=ffff8303be000000, ec=0000)
> 
> The conditions for this bug appear to be map_pages_to_xen() call with a non-2M
> aligned start address, some number of full 2M pages, then a tail needing 4k
> pages.
> 
> Anyway, the condition for spotting superpage boundaries in map_pages_to_xen()
> is wrong.  The IS_ALIGNED() macro expects a power of two for the alignment
> argument, and subtracts 1 itself.
> 
> Fixing this causes the failing case to now boot.
> 
> Fixes: 97fb6fcf26e8 ("x86/mm: introduce helpers to detect super page alignment")
> Debugged-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Tested-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> Judging by how IS_ALIGNED() is wrong, I think the pre-condition might be
> exactly 4k past a 2M boundary, not just simply a non-2M boundary.

That's the understanding I have gained, yes.

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -5505,7 +5505,7 @@ int map_pages_to_xen(
>                                                                  \
>      ASSERT(!mfn_eq(m_, INVALID_MFN));                           \
>      IS_ALIGNED(PFN_DOWN(v) | mfn_x(m_),                         \
> -               (1UL << (PAGETABLE_ORDER * ((n) - 1))) - 1);     \
> +               (1UL << (PAGETABLE_ORDER * ((n) - 1))));         \

Can we also get rid of the now unnecessary outermost pair of parentheses
of that operand, please? Imo any reduction in parentheses in constructs
like this helps readability.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:34:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920815.1324866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuuUX-0004zb-UR; Wed, 19 Mar 2025 14:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920815.1324866; Wed, 19 Mar 2025 14:33: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 1tuuUX-0004zU-Qj; Wed, 19 Mar 2025 14:33:57 +0000
Received: by outflank-mailman (input) for mailman id 920815;
 Wed, 19 Mar 2025 14:33: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuuUW-0004zO-Tz
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:33:56 +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 2f66969a-04cf-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 15:33:55 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4394a823036so43055755e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:33: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-43d43f589b4sm20575295e9.24.2025.03.19.07.33.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 07:33: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: 2f66969a-04cf-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742394834; x=1742999634; 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=9Fj+zsRSflNfB3lxQp2yi5/QCP46Z+dsr2aFjp7JwgM=;
        b=JsZSAEWXbVwG3TmohjrbYrqJYXqCdyEHjc+uRtzW+h2t2l0Bu0T/z54Rq95Q4b7VCw
         9J/0JLJ0+3XtsfRj8ozDnjpurim8ysGGp/CSEjAMLONFziLmV8f/SY5dmhs/Ejazzmnh
         pqoYwt7zc9OG2WpGvs4s4xO+9w40xYgzkCXP41bSiclxf6LnxjgxP0GLpLcynqkvHKfw
         o4O1woiYGrmwN2In0hgGVLgYvRN+iomfqO7Lpg9Sz8yMtH0VzKvwwivyng6WwewbuhAw
         LIygwjrOZ1zQDJ2dyI2H4GA0VRpOR3PW2TfzAvGyzNj4SSYSZ0CyDiqYU/Ma0ObgqzE+
         mt1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742394834; x=1742999634;
        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=9Fj+zsRSflNfB3lxQp2yi5/QCP46Z+dsr2aFjp7JwgM=;
        b=Af2hJtejv/1H1iPFQ1xgNYYm32NlA3A4OKZ0Rg32La57ApfqIiq4rschRthhsYm71w
         qW174faUrlXbHTgI6ci74pFsbEfrosLULsREENq5LQXWvFtQ/SAupuwg0RRaoiCaM4aa
         Ioz1MpHYX4yF+4aj/1aPCnKZ01fiwnq28KVPrCM+K3mvtvoGJ6CduGAiR9PH/Vw6XRi4
         NLQlo+T+on8Toka14L8IE1KAV+fbWTWxgyjHxes4Nlh79EZFKwjn4ThcxJm9NM2ARfte
         w+qE37tg7Cf5b3hXgAGiTza8E2dn0FgcVyzV8E0SLjipKrmFGtNB2fJZdorS4TRGbs8U
         rnZA==
X-Forwarded-Encrypted: i=1; AJvYcCXM915BHOUsQHrM/7fmJEsJ8ufhKMJkfVNcdGiR2IVVFcjftM1xCZJ3C/wUebgc0qMM7/AjW1c6aJ4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyg0Dj3fmCfC2e3LGtLMI7IGxRfUTVP5ICulAXMgR5kjQt/6vWI
	cS9+8WcRvk0oqiuiraI2ng8E7S/BaYeWFjh4ppnH1iGMsh4acvxGqoWhrv12JQ==
X-Gm-Gg: ASbGncvL4zLjh0RJ3ON7JEL8GAZJcjr5OnyCFl2ERMwje2d6/r+gj4duOPxxc/RRJMs
	qA4awRXmrgVY8P3QwzB05w+UbrEWMDq/Hv6j0JMggpmOzGUDiIMa59tCCwxUugtGsTxuiYC17KV
	G/AS+kOHBB5hPZuZ1p0jogtoG6fC08iwcspecxcvvkXyRENNB6NCd9+A4yS7j4iKnPuOu1C5qZp
	qAWF6bicpou8oxfUQn6s924QHgkZ2sLaHJc94cv+EyOMqM2n8x/C7dUsGiJLG273cC7jjqsVg29
	5zA/Golv04NDY5Kyph7YDlH2IzMxpu6Y/+3awSIdeiupAwo57SOWRFFsjWseMxlX9BCHzVZkfcR
	9pnAELBAZxsJGGHXYNBqOEJeDDGCPmQ==
X-Google-Smtp-Source: AGHT+IGVzUtJp6noH96nahBRdxNtpYxnSv58pW2umQhYmDgn2ONkTgWEpyBj2ZCMrIrmnJl7h6DIeg==
X-Received: by 2002:a05:600c:1e0f:b0:43c:eec7:eab7 with SMTP id 5b1f17b1804b1-43d43794f86mr35083195e9.11.1742394834303;
        Wed, 19 Mar 2025 07:33:54 -0700 (PDT)
Message-ID: <df927391-352c-464d-88d0-7ba72fdd5cdf@suse.com>
Date: Wed, 19 Mar 2025 15:33:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/mkelf32: account for offset when detecting note
 segment placement
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
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-3-roger.pau@citrix.com>
 <1dce6993-09d7-4f04-8ccc-908a0a4cc10f@suse.com>
 <Z9rRzRQnHLtUOpQs@macbook.local>
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: <Z9rRzRQnHLtUOpQs@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.03.2025 15:16, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 19, 2025 at 11:07:33AM +0100, Jan Beulich wrote:
>> On 18.03.2025 18:35, Roger Pau Monne wrote:
>>> mkelf32 attempt to check that the program header defined NOTE segment falls
>>> inside of the LOAD segment, as the build-id should be loaded for Xen at
>>> runtime to check.
>>>
>>> However the current code doesn't take into account the LOAD program header
>>> segment offset when calculating overlap with the NOTE segment.  This
>>> results in incorrect detection, and the following build error:
>>>
>>> arch/x86/boot/mkelf32 --notes xen-syms ./.xen.elf32 0x200000 \
>>>                `nm xen-syms | sed -ne 's/^\([^ ]*\) . __2M_rwdata_end$/0x\1/p'`
>>> Expected .note section within .text section!
>>> Offset 4244776 not within 2910364!
>>
>> Not your fault, but: Such printing of decimal numbers is of course very
>> unhelpful when ...
>>
>>> When xen-syms has the following program headers:
>>>
>>> Program Header:
>>>     LOAD off    0x0000000000200000 vaddr 0xffff82d040200000 paddr 0x0000000000200000 align 2**21
>>>          filesz 0x00000000002c689c memsz 0x00000000003f7e20 flags rwx
>>>     NOTE off    0x000000000040c528 vaddr 0xffff82d04040c528 paddr 0x000000000040c528 align 2**2
>>>          filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
>>
>> ... any half-way sane tool prints such values in hex.
>>
>>> --- a/xen/arch/x86/boot/mkelf32.c
>>> +++ b/xen/arch/x86/boot/mkelf32.c
>>> @@ -358,7 +358,8 @@ int main(int argc, char **argv)
>>>          note_sz = in64_phdr.p_memsz;
>>>          note_base = in64_phdr.p_vaddr - note_base;
>>>  
>>> -        if ( in64_phdr.p_offset > dat_siz || offset > in64_phdr.p_offset )
>>> +        if ( in64_phdr.p_offset > (offset + dat_siz) ||
>>> +             offset > in64_phdr.p_offset )
>>
>> This is an improvement, so fine to go in with Andrew's ack, but it still
>> doesn't match what the error message suggests is wanted: This checks only
>> whether .note starts after .text or ends before .text. A partial overlap,
>> which isn't okay either aiui, would go through fine.
>>
>> Oh, and - even in your change there's an off-by-1: You mean >= in the lhs
>> of the ||.
> 
> Hm, I see, it would be better as:
> 
> diff --git a/xen/arch/x86/boot/mkelf32.c b/xen/arch/x86/boot/mkelf32.c
> index 5f9e7e440e84..f0f406687cea 100644
> --- a/xen/arch/x86/boot/mkelf32.c
> +++ b/xen/arch/x86/boot/mkelf32.c
> @@ -358,11 +358,13 @@ int main(int argc, char **argv)
>          note_sz = in64_phdr.p_memsz;
>          note_base = in64_phdr.p_vaddr - note_base;
>  
> -        if ( in64_phdr.p_offset > dat_siz || offset > in64_phdr.p_offset )
> +        if ( in64_phdr.p_offset < offset ||
> +             in64_phdr.p_offset + in64_phdr.p_filesz > offset + dat_siz )
>          {
>              fprintf(stderr, "Expected .note section within .text section!\n" \
> -                    "Offset %"PRId64" not within %d!\n",
> -                    in64_phdr.p_offset, dat_siz);
> +                    ".note: [%"PRIx64", %"PRIx64") .text: [%x, %x)\n",
> +                    in64_phdr.p_offset, in64_phdr.p_offset + in64_phdr.p_filesz,
> +                    offset, offset + dat_siz);
>              return 1;
>          }
>          /* Gets us the absolute offset within the .text section. */

Reviewed-by: Jan Beulich <jbeulich@suse.com>


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:37:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:37:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920826.1324876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuuYL-0005X3-Dd; Wed, 19 Mar 2025 14:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920826.1324876; Wed, 19 Mar 2025 14:37: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 1tuuYL-0005Ww-Ac; Wed, 19 Mar 2025 14:37:53 +0000
Received: by outflank-mailman (input) for mailman id 920826;
 Wed, 19 Mar 2025 14:37: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=bCaf=WG=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tuuYK-0005Wq-8O
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:37:52 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20623.outbound.protection.outlook.com
 [2a01:111:f403:2417::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b97bd385-04cf-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 15:37:49 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CY8PR12MB8314.namprd12.prod.outlook.com (2603:10b6:930:7b::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 14:37:44 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.034; Wed, 19 Mar 2025
 14:37: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: b97bd385-04cf-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dCBqJ5x4eAH6H/gYThCYexoo5VfLDoStFdHF2ph+hcCOMLRxoQP7Lmt5rg2MIN3qhOjHUXgDPm5nKv7S6nXUqwuYPPxQKmrFXm8fqOVv+NxBHheX76YTBEdPSCZ55xan6yI2S2AReCoArpvXEj3HI3Rr1MvkHzsXRyr3wkJ5vN7sYwBOeUILkh6o6P5CT+OnhdiOIET6GnKoTS2k8LlQc3ltNPef2MtHX8luTRFuRAhoVnTtr08VC8X1cCYpwalvg5M4aQ02FP76MkYHibaDnmT7IdoXIP4VwZ4NAHrrlMer/LMjnv2HZ0VlkMCgezEN3canODS0Q3EUmeIi/GJ2MA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V561ibfyU5XpB6hqyTUnsZDQ7bN8IiD5uvJxFDkjtjs=;
 b=Od+hWrFy7dS4LjwwynTg3mUpI3+LwwOx9rMECGPfVYBVxPJKP8WROdvGjrQuQws/hLkLiBwa181vuyS5hxaiMgKgc5wjfXLHInxsmjkZz7cBBrT6n4gV7zLBNomrit04XbGVYtERR0vZmUMZDnipF0lOuSOYtOucv+bhXZbGHbU/JgKQtFEwjRDPrKflEWnvy7ASBFnUCtDclkzTp4Gw9GIA51LsTIVsj2zCGVHioF2GU0NsxqjLwHB8JK4dgYv10H2AVkLhJkCV2nUWRr/bMj7AL+FkwO0VrZ66b62izuzFuRemeF0vQ6Hdtzi+kSA2CL33TNo3vDKeoNHsja4gTQ==
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=V561ibfyU5XpB6hqyTUnsZDQ7bN8IiD5uvJxFDkjtjs=;
 b=LqBWRvVKtrXXWrawrcJKBhjX9z964Q9PPs7OqG1zOcl8c0ue+yozY+vEPszJRGBHySWxn372Qw3N5rq1EDDtkqlAT+qfX44vvlp+joXI7oP7KFtU1o+Iq1tT0x6sUTXuo3R4Q6JK4s7WQio1X/LWStEahVPhTu1sVn/mOr272dg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <0c50e383-841d-4dca-bde7-80f02ad6044c@amd.com>
Date: Wed, 19 Mar 2025 15:37:37 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Luca Fancellu <luca.fancellu@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
 <1f3c9275-14da-4baa-a0e1-e092d0d606b5@citrix.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <1f3c9275-14da-4baa-a0e1-e092d0d606b5@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0254.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::9) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CY8PR12MB8314:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c441b17-1f6a-4d7a-c1fd-08dd66f39b1b
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?aS9pVFJ1emVKQW9pTEZTYzRyL3VPRm1ERlMra0xRU1F2ZFMrd1BNbFY4bWxm?=
 =?utf-8?B?NDVGQW02NXBzTE1MdWk4NzZoQ2htSVRRd2xacm5VQkRuZnFiV2xpVHphOWEz?=
 =?utf-8?B?ODZnYTZzdWJBcG8zTUJhaEZjL1BrenpLUzUxR1FDbjVvZ3JacnU2b3RDdXJs?=
 =?utf-8?B?UkFnUWx5Vnd5bzdtUTZ6WXhvOTJzWnR5RHBlWm15M1RjMFR1eU0wUHNkYi94?=
 =?utf-8?B?VW1PMkIzNGV5ODVSQXJreTRGdFZzL3poZExSY054aWxQelAxVm9kaHU3ZW83?=
 =?utf-8?B?WGpJZmhIWG9iaU0wZWxtN0ZVSTdLWXNNNndSSU11QkJLZnNTYUZvLzRFa1NV?=
 =?utf-8?B?aG8wdVd2ODc0RGxqWnlSZ2JIZUxzZHZzZHdLM3E4MTJoYTB4Rk84eFc5VS8v?=
 =?utf-8?B?clQ2WXRjdGk2SDRGdndaWTFISkpvMTZmbnBGb2xqSWtZSjhZTUVFMFQ3dE9s?=
 =?utf-8?B?dzByYUg2RGhKQWp3bjlTWDBLekp5S0lOaWx4Nkw4NVNoSU1IeXN4VlVDdjV5?=
 =?utf-8?B?aGhtNzJaN1VLanNRcVFxVkRTeFhyYlRKQVZSQnJvVTBsdW5BdkRHcEpJSVkv?=
 =?utf-8?B?RU1xYURFcmNWaXBxeDNrNHd6T25QeGFUaDRSNXZWbitkcmQzbW42ZFZsZ3Bu?=
 =?utf-8?B?S2pSNVpITDB1U0lwdG10MGVIaFM3TVg2Ukx1UG0rdGQrSlBWNGZock1zU3Ay?=
 =?utf-8?B?YkJLaFlQZVJaZ044ZmtROFRENzlkZ1o4TWxNa2g3dTNrc3pmV0JKWWI4d2dV?=
 =?utf-8?B?M0c5czhPaDBIRDFWblV6ZDYwV0RoLzl5WUJsdlluMVNnbGRKRTYrSklPSmtV?=
 =?utf-8?B?NTNPQWthazdSY2YxWE1BRXhIYmV0c0ZHVnFFOTVRS0lNaEpVbW5lTU12cEZ5?=
 =?utf-8?B?MkM3dGFlaGtycDlkazNFUGV6TjJtdWhPa1dCd0RkZTRPZGxSbmZnVUxRNGV6?=
 =?utf-8?B?VGJqK0hQK3NwcHBldC9vTWVrSms3ZUlqK2hKNjI1Mm4xSE1xOVU0a0UxTnFv?=
 =?utf-8?B?VWtUSVlvVUx4YXRSL1NoNm9hTUlYMkRQN0ZXMEh2UzVmWEdqRVZKVEJUT2p6?=
 =?utf-8?B?QjI5ZnNoQkhoOHJtMHp4cWpzUXU5V1FWSkxVWmxsWG9xUkZSbVBrRVp3My9D?=
 =?utf-8?B?dDZhUHYwVHlFckVuTGoxaVlCVnFkVkQveDc0dURGUUtSM0xhNFNXRGk1RkZa?=
 =?utf-8?B?WFVxQjR0dG5idzh5N1N0SjlBZ2JpM0hZYWs0NWdTek4yeThWUzIrVVY4STJm?=
 =?utf-8?B?RDVVUnIrK3ZPMGJLZmlQVjJML3dOdWxtSHRwZ3hSOUtOWU4wOTVMQ0pSZUhz?=
 =?utf-8?B?cXNIT3BHQ2FyUzJJQjdsUjRJTWlIRHZzTXNhOCtTSHFsL20xWVB4WkQ2OVcv?=
 =?utf-8?B?aUdqTlgvS01KRlpTcFFjS1FVU0x3MzlBU2Q5dlc3SThvRktrZ0NWUUlENTVJ?=
 =?utf-8?B?Y092MThRTC9iaTl2YzZialpXVUd2RnhaL1pVaEtNZUFiOUlFT040Z2k4N2hN?=
 =?utf-8?B?VUZKWVFhTkhWYXRvZXNRaVBEWU1RWHRGT2VoTlBoaEw1NTRNeWQvaG9KYkRW?=
 =?utf-8?B?dXFXb3FpbnE3Ykt6cHlxNnV5K0hFNTVyd1J6b2FHY3FEdEw4WkxVYk9qbE1E?=
 =?utf-8?B?c1ZJQlp5bm1namtvd2VSRG52ZXB0bTd4dlQvSVhjV2JDdWJrSnRiTCtGQlJv?=
 =?utf-8?B?dkg4SDFzVFJiLzZyVFhCSWxnYTRSNXNwcW1xM21mRjZGOW1yVGJlK0RDcFdw?=
 =?utf-8?B?Wk1OR0tDM2RKdTZVakdINVVtaTUzeFlGNEJlQ3NEZUp4cjE1ejVISy9qZ3Fr?=
 =?utf-8?B?YzlNbi83TGpzc3N3Q3VTS2NMWEw2N0VNdi9rY2QyektuV1lwV2o1eTlEWW9W?=
 =?utf-8?Q?2OZBWmRMkkR/j?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?ZzNINE0wMDVYK3o4by9iV2lOUmtsRlYzMmxhK3V4SXJhUEoxVWpoaHJQdmJi?=
 =?utf-8?B?WVBJK2E0TGVBbHRiUVpxZE1Ka2M2L2MwVjUyYkR5QTliS1YvKy9MWmJoNkh4?=
 =?utf-8?B?b3J5blVGSzhOanZURUliMTJjSVA1WWhCOUVqRHJvcmhNNGdGMTFGOUFNVFV0?=
 =?utf-8?B?OS9qWFVheTdyV1ZWbFlxQVpRTEFmdWNENzlHaHZkUU9UTzhUMTZTT2lHcmZQ?=
 =?utf-8?B?QUN6cjBCZWpUaDc5SENmRnNHNEJodDc4TjFIN29XTUk3cG84SXk3TzZkWCt5?=
 =?utf-8?B?WTRGcXlUa09BTnc4OU5KYjFLak8xVTlBT2RhL1BlZUMzVjc5ZmNSV3M4WVlI?=
 =?utf-8?B?RWM5ZTQybDhEQ3JDTEdaL1JIWXRXa0RNbitPU0xydWlUWU5SQkp2YnhlOUJJ?=
 =?utf-8?B?K1RFY2t3QmZSUkE5dkpONFdJU1MzWStrN1RmVDZ4YiswdC80YU81bWM3SG5W?=
 =?utf-8?B?T2VsQjMycTZXU0F1SHlhSnQzZXBOVVdzRFU2SmwrSk55RU05UVF4SklsdHZS?=
 =?utf-8?B?NUxURWFRcGNBUzdDM01sRzVpTkVid0RnV2U1SDZPNUYrcEtvRTBhaS9DZFhw?=
 =?utf-8?B?YWMvM3U0czVURCtCTlNaSWFrYVdVb241dHJPeGxGMlVDZzVMQk5LWDlkL2tu?=
 =?utf-8?B?ZjJpWU1CeS9SdXVaZitzUWJieXlhTTl1UjBPcnZqT0pkdWZTUk1SOUtEVnNM?=
 =?utf-8?B?YWVZdEMwMXRFV29hSDNUcDF2OWVVRDZPMjA4Q25mQVlVdU1YMFpQNmQxK1pO?=
 =?utf-8?B?OWhqdXRUUGV0allxOGVBZzl6MGl4ZG0xMUE3dmRSdDlyWGVPSW5HcmVWNVho?=
 =?utf-8?B?OWo5eTQ3MGMrQzA0OFY0M0YxZFlGSVJLM1RsRHJETkFKWjNZNmg5VmtYekhl?=
 =?utf-8?B?NW9XaG85YU0zZjZnNDQzMzRKZENUM1M3NkNhWWpOamIwVmJHYWVkQTVUOVRM?=
 =?utf-8?B?UkNZbFlWNVZDTnhCOVhlOTBiYUdjbytaV3ZqVFVDOFQyMEhCNWMwRmYzZjIr?=
 =?utf-8?B?Q29Mb2xwejdkeHlMQS9hOWFIMXJxOXlRYTRIbWdYL2E2KzFtQnZ5QXhTM0VP?=
 =?utf-8?B?NXIyMktwUmt1U1lBSkFxRUZzNk14NmpCbGxsVk9Va2xabDdIa3JlUUlNMjdZ?=
 =?utf-8?B?dkhzMHRxb1RUQ292VFFzU1F0RTVQckQ1MC93UUgzbDZvaXpyck1VNFJZUGNQ?=
 =?utf-8?B?Q3BXbVM0ZUhpbjhKR3ZYRXdZMEtzSGZLbkswVUlDTy9FQTQ4OE91U3Rtcnla?=
 =?utf-8?B?M1VLNW1oUWhtbTNUTURIeVZaZDFSemppUzMvNWcvZWNHVFlTcnE0VGVsNk5a?=
 =?utf-8?B?ay9TenJpNDZtaERGOCtFTjFCUGRtREdPckVtdU5aQjBneURzS3hDRm5ZbkhF?=
 =?utf-8?B?TUpHcFlXVTRYcUVlaHVJQWlaTlR4UldldHVubTFWZGVpMENzTzQ5cWphTENk?=
 =?utf-8?B?dmZISHBHWjRDV0FDL3NGRmpFVzdFSWIyTUwvMFZsOVRpa1JCOElWUTlzSFNF?=
 =?utf-8?B?QmllM05RbC9CZmMzaXY3YnNCZjVDeGNXeHk1ZVlYM25lNkYwSk4xZUJXL2M4?=
 =?utf-8?B?LzhxYnpjZnlXbmdocE02Qmp2YlhBdVdnVHJTMWt5S24rcHhvNnY1UTVVZWlw?=
 =?utf-8?B?YTAzc0daV1h5cWt6bjBUSHNhYlNnVGVoNUoxYVlpdThtcmZhamdrdVpvSmcx?=
 =?utf-8?B?YXcxYWRIQnZnaVRtL05NZ1ViQnltK0FSWVpPeTJ1c2lzYndDWWttM0R3V3hV?=
 =?utf-8?B?OVpqYXdCQm9xZldlMDhuK1BjclZSaGphL0hDM0wzd2dLM3JqQjY0ZGxQLzRl?=
 =?utf-8?B?MUk5MjhhUTVTWW80ck8ycnpXdnF5UjlzNVFPODlMeGZSZFlJTlZ0RnkyQVdV?=
 =?utf-8?B?VERuMjVWd0VROHZWSWpLdmVVWENESTFvcTVNY3RmN3AyeEVWdEVXKy9ZbkZR?=
 =?utf-8?B?ZTdub01LK3daY1pEYWl4RHpzWjJXRGdyM3JLMFVSMk85Vmw5TEJuQ2ttWmRZ?=
 =?utf-8?B?Qjg2eXJqc01XLzQ1OWIram05aU8yNzBTNHpGbnBoNGV3RGxNa0dYOSs5ZzVm?=
 =?utf-8?B?TWtWRmtWZXBTWXdpelVGSTZ3c0hQVktXRVVnYzNoVUNIMzhVNDQ3ZVdjUDJx?=
 =?utf-8?Q?+Aio=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c441b17-1f6a-4d7a-c1fd-08dd66f39b1b
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 14:37:42.9723
 (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: QqsNq2HdAC9s9Mb81D8dDGmKBYQxhQxNhvWzebgf+vksNraCRK1iImz9ckbAKdXV
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8314



On 19/03/2025 15:05, Andrew Cooper wrote:
> 
> 
> On 19/03/2025 2:01 pm, Alejandro Vallejo wrote:
>> On Tue Mar 18, 2025 at 9:00 AM GMT, Michal Orzel wrote:
>>> We are missing a way to detect whether a user provided a value for
>>> nr_spis equal to 0 or did not provide any value (default is also 0) which
>>> can cause issues when calculated nr_spis is > 0 and the value from domain
>>> config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
>>> (max supported nr of SPIs is 960 anyway).
>>>
>>> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_spis value")
>>> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>>  tools/libs/light/libxl_arm.c     | 7 ++++---
>>>  tools/libs/light/libxl_types.idl | 2 +-
>>>  2 files changed, 5 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
>>> index 2d895408cac3..5bb5bac61def 100644
>>> --- a/tools/libs/light/libxl_arm.c
>>> +++ b/tools/libs/light/libxl_arm.c
>>> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>>                                        libxl_domain_config *d_config,
>>>                                        struct xen_domctl_createdomain *config)
>>>  {
>>> -    uint32_t nr_spis = 0;
>>> +    uint32_t nr_spis = 0, cfg_nr_spis = d_config->b_info.arch_arm.nr_spis;
>>>      unsigned int i;
>>>      uint32_t vuart_irq, virtio_irq = 0;
>>>      bool vuart_enabled = false, virtio_enabled = false;
>>> @@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>>
>>>      LOG(DEBUG, "Configure the domain");
>>>
>>> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
>>> +    /* We use UINT32_MAX to denote if a user provided a value or not */
>>> +    if ((cfg_nr_spis != UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
>>>          LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
>>>              nr_spis);
>>>          return ERROR_FAIL;
>>>      }
>>>
>>> -    config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
>>> +    config->arch.nr_spis = (cfg_nr_spis != UINT32_MAX) ? cfg_nr_spis : nr_spis;
>>>      LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
>>>
>>>      switch (d_config->b_info.arch_arm.gic_version) {
>>> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
>>> index bd4b8721ff19..129c00ce929c 100644
>>> --- a/tools/libs/light/libxl_types.idl
>>> +++ b/tools/libs/light/libxl_types.idl
>>> @@ -723,7 +723,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>>>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>>>                                 ("vuart", libxl_vuart_type),
>>>                                 ("sve_vl", libxl_sve_type),
>>> -                               ("nr_spis", uint32),
>>> +                               ("nr_spis", uint32, {'init_val': 'UINT32_MAX'}),
>>>                                ])),
>>>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>>>                                ])),
>> Doesn't this regenerate the golang bindings?
> 
> You need a build environment with golang for that to happen.  It's easy
> to miss.
> 
> In this case, best to ask the committer to regen.
This patch is already waiting for tools Ab, so maybe @Anthony could do that on
commit?

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 14:48:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 14:48:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920841.1324886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuuiM-0008MO-Da; Wed, 19 Mar 2025 14:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920841.1324886; Wed, 19 Mar 2025 14: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 1tuuiM-0008MH-9n; Wed, 19 Mar 2025 14:48:14 +0000
Received: by outflank-mailman (input) for mailman id 920841;
 Wed, 19 Mar 2025 14:48: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuuiL-0008M9-G0
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 14:48:13 +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 2dad8b20-04d1-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 15:48:11 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-38f2f391864so3998119f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 07:48:11 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df33d7sm21848419f8f.17.2025.03.19.07.48.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 07:48: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: 2dad8b20-04d1-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742395690; x=1743000490; 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=T+ejJWYYvwDs6XMjNP2XR+GTzxF7Al8yF6919E///pk=;
        b=LTjxmWThvpqWc1p0dACffsvg0KVbTwoNJrseo2KyeDV6uFril8Gi3fPYcv+dbf2MVI
         WFdXH0jb1+zAE1/2T/1cKCk4Vl2to8YZMbusuOc1T/FtS+TKqeAGMntejgs1zO1VDMTO
         1q/kIKhfsOcUHVdJWyEJW7Efsz5JNldTphgeI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742395690; x=1743000490;
        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=T+ejJWYYvwDs6XMjNP2XR+GTzxF7Al8yF6919E///pk=;
        b=gZgVb+iAwuK5o9jSY1SwfZs3T8fRav3jTgpsekRbDU826HcTdeA9QIJ/x6zEgi4Eoc
         6k8u23A5mvhrlJUeewRHxvLXaCiliN0DdleOWmK/5c0I3xsyHrpebjEcV2qyxgzVxndg
         ZVVbQLiCEGXRmPFyIceFaepjXH2qd/30RedlrFtzImfmEy+e7LCNE1amo4RP2ZtfzlpR
         227jj1OhIOA1kzzzzqVXGODW4QHLh1bjTrPtNiygiCQ/ol0L8Zy8efxdX1ziGoPK/l1S
         +UgSa1RT1yxgptRbEPtcEe+OwEzR3lQOBlooTIurHME/UX3EniUH/ZhaROkwAnSPQ/l5
         4YXw==
X-Forwarded-Encrypted: i=1; AJvYcCUfzyCcdcaA5Nmh+wZ3GhDxSrIFssg64+mOIGPVqH96mUTmlHKNXxPuXvISX09gvE+KE3ZKp6/+NPM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YziLN3bSOdHAtYaeBZOGMdo3YEg1oe+bgEm4qtqC6lHjjAdMjDk
	bsc4Z6yXFzLdaKYtKWId8tGM6nSCBLiUC7xkpLT5JztEgmaXPtHY4gY9yvV8s+k=
X-Gm-Gg: ASbGnctNyzO7Wduu0g4pzUbR6Jvnc8s/tpKLfkPA+rYr83UVLzg72h3Jy4oa5jbZF0d
	hq0IzZ21/95LrSVpCxSPyt7WJCl+Tkfn/Y+DXq9PmtIsk7y7UHTaADXNSYW9HgFpq/O/4/VMvrg
	oOcUwU7AyQG7VVrKMZ2mOT+VGnSNiCJtVy+F0hWzcocSqlL1BlmVUsOFMHu+zIel5nHCLNgt4gf
	mPwJltXfpvvog3vQV6aTS1iNitaHop+PRDkuyRX3FTDhufX+QRr2CqjSQnJTJgdvuVIgHR+b9un
	teJydADlc3dO+J0J7iIvJQDlBAK+urYmWL/hfEuz/KTDvstLJh77rQH+leVZ8hr0lSK4ckro/ai
	Ea2+tfTvN
X-Google-Smtp-Source: AGHT+IENjBjP10rAl+Hz1KcdtIaXKKDJPi6UgJajfiKCFslCKfbfIh903zZLL5CcTCA+siNrPAvhAg==
X-Received: by 2002:a5d:5f91:0:b0:391:319c:1950 with SMTP id ffacd0b85a97d-399739ddf64mr2660238f8f.8.1742395690380;
        Wed, 19 Mar 2025 07:48:10 -0700 (PDT)
Message-ID: <4ad85368-51ae-49b1-9e18-b601bc6a44b4@citrix.com>
Date: Wed, 19 Mar 2025 14:48:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/mm: Fix IS_ALIGNED() check in IS_LnE_ALIGNED()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20250319142011.138250-1-andrew.cooper3@citrix.com>
 <79bf742f-d472-4744-afda-1b47bd88f04d@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: <79bf742f-d472-4744-afda-1b47bd88f04d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 2:29 pm, Jan Beulich wrote:
> On 19.03.2025 15:20, Andrew Cooper wrote:
>> The current CI failures happen to be a latent bug triggered by a narrow set of
>> properties of the initrd, which CI encountered by chance.
> Plus properties of the host memory map.
>
>> One step during boot involves constructing directmap mappings for modules.
>> With some probing at the point of creation, it is observed that there's a 4k
>> mapping missing towards the end of the initrd.
>>
>>   (XEN) === Mapped Mod1 [0000000394001000, 00000003be1ff6dc] to Directmap
>>   (XEN) Probing paddr 394001000, va ffff830394001000
>>   (XEN) Probing paddr 3be1ff6db, va ffff8303be1ff6db
>>   (XEN) Probing paddr 3bdffffff, va ffff8303bdffffff
>>   (XEN) Probing paddr 3be001000, va ffff8303be001000
>>   (XEN) Probing paddr 3be000000, va ffff8303be000000
>>   (XEN) Early fatal page fault at e008:ffff82d04032014c (cr2=ffff8303be000000, ec=0000)
>>
>> The conditions for this bug appear to be map_pages_to_xen() call with a non-2M
>> aligned start address, some number of full 2M pages, then a tail needing 4k
>> pages.
>>
>> Anyway, the condition for spotting superpage boundaries in map_pages_to_xen()
>> is wrong.  The IS_ALIGNED() macro expects a power of two for the alignment
>> argument, and subtracts 1 itself.
>>
>> Fixing this causes the failing case to now boot.
>>
>> Fixes: 97fb6fcf26e8 ("x86/mm: introduce helpers to detect super page alignment")
>> Debugged-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Tested-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
>> Judging by how IS_ALIGNED() is wrong, I think the pre-condition might be
>> exactly 4k past a 2M boundary, not just simply a non-2M boundary.
> That's the understanding I have gained, yes.
>
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -5505,7 +5505,7 @@ int map_pages_to_xen(
>>                                                                  \
>>      ASSERT(!mfn_eq(m_, INVALID_MFN));                           \
>>      IS_ALIGNED(PFN_DOWN(v) | mfn_x(m_),                         \
>> -               (1UL << (PAGETABLE_ORDER * ((n) - 1))) - 1);     \
>> +               (1UL << (PAGETABLE_ORDER * ((n) - 1))));         \
> Can we also get rid of the now unnecessary outermost pair of parentheses
> of that operand, please? Imo any reduction in parentheses in constructs
> like this helps readability.

Ok. I'll adjust all of these, and get the fix in.

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 15:21:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 15:21:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920866.1324915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuvEN-0000IU-2O; Wed, 19 Mar 2025 15:21:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920866.1324915; Wed, 19 Mar 2025 15: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 1tuvEM-0000IN-Vk; Wed, 19 Mar 2025 15:21:18 +0000
Received: by outflank-mailman (input) for mailman id 920866;
 Wed, 19 Mar 2025 15:21: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=9jgP=WG=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tuvEK-0000Hy-RI
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 15:21:17 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c201::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cbd0eb31-04d5-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 16:21:14 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by GV1PR03MB8336.eurprd03.prod.outlook.com
 (2603:10a6:150:50::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 15:21:11 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 15: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: cbd0eb31-04d5-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=chLOJfWjI5V5P/D2nBh7sOjXqtr5KtSDlHNuSW2sV9N6AJWm2oqdhfcwWoM+znLgj9wmKwUaAE1mYBvNVeoHkr0S7soBc03HykdWq8ksvFTTOAxOawJ04GcDSsWTjaPIIgeDTrG0h3+UDdHAtZY57wxQ712/BkMhnrkaS0vgxrmZY6Gd98t7kjg+nxuT0NfLrpa4rwX6Crc2GgLcquAPYyd03765+fL4tK1TJrqhPJDuwPc6IeE/s/HvTQJvVN/cUgCRDZ9ovOmKa7ByHJ5JGiJEj63LUxbeEH6hJ/iWdPVszD9XrIQIMwdzLFzBP0ZK7V3NAXvB4VLaaYpQc8/yQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tvoe/if8S57Q42MNvGgVMT6UIq2muAQoE8e97X1QzOY=;
 b=B5pygAEBoSGDekAlLfldrhvOdaIivX2T8yWxZQM8NkbYYOIhnDc3jwpKQirrnp+P6X/jpEIUFCqX8nFRRd/jWz1czfpq4k21tjR1rtoRlhHU3tmlw0yMOfBb2tyca49BjkpHEu1ysl4GBEgGsyYj1hLuSIX5uxYUq5rhpOx0l51CKSk+rMIsEviE99uta3N7O2DQ0IWStIp1W78/x4p+vCQ6KxXMpJPSPwvhWfGTdt+6k29/UBHhHu/F2J8Pb1owl3V/UTrG/vQnMwKVleE8CHk8MS/7VuRvvoWo9GSjRyDA2BGHNsS+u60UE8AlsEzTGVsjUZko0UwRjHLmXnokRw==
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=Tvoe/if8S57Q42MNvGgVMT6UIq2muAQoE8e97X1QzOY=;
 b=ZwDFQAV+CdDNfhsLt4eHI8/Kpmj/UgXRcRQEJebbjCnmjJEr6spmxaiR1ZvDKfedrxjqF67GvHFmViJVXpTxgdOqC7o9ZHrdiQrmWTTe3/hx+qizjFlEhEb1OTUHvWtbFJvf0e+mVkZkTKkS8u/YyL0l6QpUPlIJqzDajH9ck6LqlgfvbvfI57hLMdGwBcTaLjPNM8n1855y4g8mschDbSt6qt1ALCZ4AO0amNlcbmL2devPX9YPCueLmCh4bTKkc5QYQBhWTXlhD/q5PhG1bLHweScYUQfstdsER8ymBLCN3OuuFpA3SweLBNHA0are5ZBcejR5Fs7VLtsZB5YxyQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stewart
 Hildebrand <stewart.hildebrand@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v9 2/8] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids
 API
Thread-Topic: [PATCH v9 2/8] iommu/arm: Introduce
 iommu_add_dt_pci_sideband_ids API
Thread-Index: AQHblOXcI08sNdwZJ0ah+pJJkNPOtLN3b9CAgAMregA=
Date: Wed, 19 Mar 2025 15:21:11 +0000
Message-ID: <710bfddb-6ce3-4b11-bcd8-91f17d4f5be2@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
 <95d779f00127defa37f3c5056c762ea0da47fc53.1741958647.git.mykyta_poturai@epam.com>
 <d646b0b9-bae8-4f97-908a-f2e52cac708d@suse.com>
In-Reply-To: <d646b0b9-bae8-4f97-908a-f2e52cac708d@suse.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_|GV1PR03MB8336:EE_
x-ms-office365-filtering-correlation-id: 60a6aca2-1177-4f87-672c-08dd66f9ae5c
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|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?dXNNT2ViUHNGb3RoVUxBWExCWlFoMDA4bFMwZ2JHaEpVay9uNnFwV05CdXJI?=
 =?utf-8?B?ZytpaVFHVDhoY2RwU2hXZDhTWGF1VHMyeVA3bDVVc0FzL3FxV3dVeHhZRXls?=
 =?utf-8?B?RGo1bUtROG9ZUVpkNlYxS0o0M0ZOQXpCWEw3RVBXLzVTMUNiWG1JamFVTnYw?=
 =?utf-8?B?M2FIa09qekVxdUlqbEpOM3RobG00azZSS3cyc2dXOXhKTU93Znd6dTM4STMw?=
 =?utf-8?B?aHZGTDdjaE9wRC9sT0NZdTdWMnBBZ2duTHZqa1krU2kvdG1xM082OTVLQjNr?=
 =?utf-8?B?WjdGQUV4YXlWT1hrVDRnSlIrYkpIdElKZVFPc1k0ZHRjQUxvMEpSMU1ISGo1?=
 =?utf-8?B?VGdhOFBlczJUbXBUT080QldVbmJhYk11K3JsQUpDVStUeGZtak9mb2lPdFpY?=
 =?utf-8?B?bXIvajJuanI0VWEzL09KRGx4ZEt4cjQydCt6bDdXaThTSkcyMnNDdGFQVFhn?=
 =?utf-8?B?Mm9DakUxSDNnQXVSVmwrWXAzRENXbGw1eFVtdUkzalR1dU5QTlp3VzQrUnFN?=
 =?utf-8?B?aldtQm1heXVQWTNrbW43WWozckJ4bk1IcWtqRmEvTFlBNlAvN244ZmdEMzZu?=
 =?utf-8?B?TnRRVjRueFk5d3VBdlAxd0RwQmU0OHlpS1hjZE43STQrR0RDSml0ODBYNkp3?=
 =?utf-8?B?N3liYUE4YldIYk1NVzlmSkh5c2hkT0hwOFBEeUFpRXYxaG93bngwRlBEcXl0?=
 =?utf-8?B?bkpweXkvRnJONHlIOWdpaU9SeS8yR3ZkZkFVbWRaSWVkaUlITTRHbXZRc2Rj?=
 =?utf-8?B?SURrSGw2czJFb0NYc0VjY2RWaXBJTnF4ZFkxN3BRYWpMcW1zM0hCVy9vNndS?=
 =?utf-8?B?eU42NXlqL1MyMkRwZEpEbHFlalpDRmpzUUNET1M1bSthR3NlS3UyeFRybTZ1?=
 =?utf-8?B?U091WnVRNEowUGdTYkx6cE5DMk9Jdi9wb0ZSS1hPYzhQLzRqYzUvRnZqS1pN?=
 =?utf-8?B?U2xOUzAwQ1hhZzEzV21KTVUzUjU0MVRKa3hqa24wZ3BQK1g4Y096Mzdxdi96?=
 =?utf-8?B?MnJDMzlIalROM0dhZEgzaVlRbkdBRytVd09zWGZFWFAybWJHMVZ2OGFiU0pv?=
 =?utf-8?B?Unh4b3BLRFpocktJU3V0RHM5NU5Bdy9jb1F1d2NHbzhBUlVHK1J0YzNBTk91?=
 =?utf-8?B?TUhBeWZjckVNeHFPMDcrd0tma1JUREVTc29zNGZ2eXhLOXZncXJENnhWRm83?=
 =?utf-8?B?UElyNUtKZGJsbC9XOGVock15Rys4aVFrUngvNHY3RVdTQnhjWW9IRnBaRnd2?=
 =?utf-8?B?cy9NS2RkR2NJaDN4ZVdDY2tpUWJXSVNpYzBRL0JDay9ROTI5Ym5mYm85anlX?=
 =?utf-8?B?Q0M3MUlQL210dnJRSDdWRzlWWDlXRUs1a0Vyc2dMdWhYRGhnQUx1bCt0S0E4?=
 =?utf-8?B?K3RxdXpwYU9EdDM3NVp2SmM4eGVPVlY2ekExaEV3Y3pYZmtMSWNVU3B4SWlt?=
 =?utf-8?B?VFZDZFNZd2dvb29kNk83THlGVEppSldpMHdCdjVKSXdCQVVPTVM2NjdDUWcx?=
 =?utf-8?B?N21PUzlqemtoMVYxSmwwZjB3emVGSG5JcnkzLzg1cTFpN010YmsvYkNuUlRL?=
 =?utf-8?B?R1FnRG95NEtFdTVhRUprYUZmWGhQRHJJbHZGQlFmUGZtbldsaURiNWJFUnZ3?=
 =?utf-8?B?bjRhNmdpcjBNWDlqK1pTcTBlS1lja1NQSEdUMFhoUjZEY3BLRFpKdmY2ZUVl?=
 =?utf-8?B?SzdNbEVmSCtQT3BUbTZ3VlNYU1pJOXMxZHNpZnh4TmtjRU9BSVJOaXFTTmpa?=
 =?utf-8?B?N2J1TTJZOVA1eXJ4TXdicVVnYVI5Y1BwMzdtU2h2ekl0SE11RjJiYnFLOEV4?=
 =?utf-8?B?R1l4amluei8vTFMrWmNaUU5Qd29IaUlTRW9MUmJaSDN6U1RoR1FVeURSb1V3?=
 =?utf-8?B?VWpLTFh5TFVDVngrRG1zUmE0bk16ZzZ6WndMVjlCMWlYTEE9PQ==?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?am5zS0x4Y2FuVTNOb3h3YkducnZESEYvclhKTTl3NDhvZjQ1RFJrY2lBMll5?=
 =?utf-8?B?RG1YY0pBdUNQUGE3VFQ4dmFhNGpTaWtRd0RMOElxb0praU1hU0tVRDN0Tzcw?=
 =?utf-8?B?SnNLSmFML09qZkptQ2ZCR2tFQVpram01NmsxekFGL2lUNkxDYVBpdGNLS2Fx?=
 =?utf-8?B?Rk94aUZlb29SRUg0dE5lUk53QnVQZzBOeko3MWYyam9yVFAzTWl1OUZhMHZT?=
 =?utf-8?B?Yk1sUVhCNEJsZklEUW1WZk0rUVR4eWxzd1RNWHExOVduMTN0R1VFWVo1SXEv?=
 =?utf-8?B?N1lVTS8yam9uTHFqaUV1SnYxczFqKzd1OXQ4cXJXSVZld0NrY2FaY0VoZm81?=
 =?utf-8?B?T3R0WFVIWjNGNWZXMlJSRUhjcUJEMFBNUDdXVWtqcHZpakovUmQvSCs3NWp0?=
 =?utf-8?B?RThEYm9lamJQWmZtWFJOWHc3T0VnUitWWmtIRWhkQ2tnSFM4RGt5RmNHR3Nn?=
 =?utf-8?B?Wks2Y3JNQzJhQVJabytNNk8zTHl6anE3a0VKY3JXUlFIWFcwSk85T2RTNVpv?=
 =?utf-8?B?cWIvV1ZTOFRNQlJqZmVMeHJGbmF4YkhSUUxOWFFvbVR6L05ld0FrMm5ubnFS?=
 =?utf-8?B?K1h6cWtLWHlnU3NUaXM0Z05iUVVHUHlzaGpUdXdKME1ZZ01lTzBZWWpwemtu?=
 =?utf-8?B?VFBaSytKaUU2QmVuL1plakZhOEw0cVRBUHNLN3JlQnNyd1BMNHhIdWRjTWNK?=
 =?utf-8?B?QVhnWmhyN010YS9PekhOZUtvN2Z6V3lLMklCQUFVOUtMYUdWSURYSEFuSm9J?=
 =?utf-8?B?R2czbDA4QzQ3K3NvaFVVbmZqcnYybTFIRGlaUUVRMTM4c0ZSNUtNczQyMEtC?=
 =?utf-8?B?QWxRWWFHa3pWM1lKU1NjaVUrRXN1cG5nR096R091QTk3V0w3aVh1d3k4d1dL?=
 =?utf-8?B?VmJtSktrbUk1d3VkN2ViaFV3eXVObEc1bGZ6Vk5va1J6Q2plWHMzTWxFZkhp?=
 =?utf-8?B?aFI5NmlQNzZFL2hNSGJBYlcrVjA1QnVvNXJobGtjcVdoOUhwcFVrYUcxekxn?=
 =?utf-8?B?SnRRQmhQeFltdFd2UUg3cHo1QlpyRTdNRE9uRlpuVU1kTzJHMmVURml3WU1J?=
 =?utf-8?B?MGpPVERnTDFIS2ljOXlEMXdFSFJFN05Hc2lvMEFIenovOTJna2JLV2ZzRUF3?=
 =?utf-8?B?cnBrcnZHdC9HS294czZId2tiampYR3FXR3lqc0kvSGQ3OFkxY1RLSjNLc2pu?=
 =?utf-8?B?ai9OVHZRNFRXTkNRVzQ1QkZTUTVyRmZNYm1hK0hUWFhCZzJyL0RZcHN6NVJI?=
 =?utf-8?B?eGxEUFhvNGZKRHB1Y1ZvNnY3eFJnZnR6YTM0cWo4ai9pbzZDV20zWm1NZEVX?=
 =?utf-8?B?SDZaMEZEa3lhZ1ZaMXpyelZFNFpaaXRDdHF5b3Ixc2htZC9xVE1kczNEckVn?=
 =?utf-8?B?bEtYc0hOc2MzQWF1c3lSdjRsNXBhQnNZejNJS3ViaDJqVUFEWHlBUjRETWYr?=
 =?utf-8?B?UEJGMW90bTgxeUFCVEFhUktzZVJXWk9QUlJEaGJ0dHE5Q2RtaEZsR3kvZ1Fz?=
 =?utf-8?B?cjJlbDdlb2dYVGZaWmdoL1NLdFNld21tNDJNYW55M3lOZzlKNGRKK0JocVpC?=
 =?utf-8?B?UmdCN2tHeXdiRzFrSXAvZTN3dTZPd0ZFNXAvZ3MxNndrUDBKRFQ2VzgwdXhC?=
 =?utf-8?B?VFhmbFhnUy80Zlh1NXdQQVF2UUR2WGNDRDNRQ0VxRDd1MlRjVGoxYmxGeFNZ?=
 =?utf-8?B?WmtpMjZOTXdtTFlKOXhoK1FUZ3pHcTFWM3UwNXE5emI0a2d1Wk5mL25qcnFu?=
 =?utf-8?B?eTRSQy9qTkZCMmJFQ0ZlZzhKTW9NSE1uUi82eEt0UVpub21BeTJFZkRDdjB5?=
 =?utf-8?B?YUpEbStJbFM5YTk5eW9sTVFLYmpQSWhwNkJ5L1hSY1U5Yi9lNlF6amlyazFt?=
 =?utf-8?B?N1UzK3dDYnZTV2dBWTNGNlNVeUEwY0xJS2Z0SDBVRGJmVEk4MFJSdFhPUGJX?=
 =?utf-8?B?WVpmL0tNTmNXWC9vS0Z5QmhBU1BZWFVrZlFqa1FOejBKenFmOFpXNHorMnlC?=
 =?utf-8?B?ZVVjbm03b2tCMS9MRStFT1Y2T1dhZWo2L0VFYjMzU3FQanZRdnhhOUVrNDQz?=
 =?utf-8?B?NFNnZklWbC9sdkppWncrOXhSUlZTVVFFRTJ5Vk5FY2Q1VjBUaURycmJHV2sz?=
 =?utf-8?B?eFhyQnJrdmh3RTJ2TzNSZ08yQUlJOEYrUXZmSFVESzFWZ0E1anRlUnFFVXVE?=
 =?utf-8?B?Y0E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <AAC4F9F21817B4429AD8483F40F02E28@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: 60a6aca2-1177-4f87-672c-08dd66f9ae5c
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2025 15:21:11.4453
 (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: kkdGgRc4M3ObuCiFH/7J0u8XeKfCCcrpZm2JeKMPKsr5xW2uaGDg5Z8e7yKB/jkTQNfgwNgFHxSLuJLrbMwbjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8336

T24gMTcuMDMuMjUgMTY6NTYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNC4wMy4yMDI1IDE0
OjM0LCBNeWt5dGEgUG90dXJhaSB3cm90ZToNCj4+IEZyb206IE9sZWtzYW5kciBUeXNoY2hlbmtv
IDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4+DQo+PiBUaGUgbWFpbiBwdXJwb3Nl
IG9mIHRoaXMgcGF0Y2ggaXMgdG8gYWRkIGEgd2F5IHRvIHJlZ2lzdGVyIFBDSSBkZXZpY2UNCj4+
ICh3aGljaCBpcyBiZWhpbmQgdGhlIElPTU1VKSB1c2luZyB0aGUgZ2VuZXJpYyBQQ0ktSU9NTVUg
RFQgYmluZGluZ3MgWzFdDQo+PiBiZWZvcmUgYXNzaWduaW5nIHRoYXQgZGV2aWNlIHRvIGEgZG9t
YWluLg0KPj4NCj4+IFRoaXMgYmVoYXZlcyBzaW1pbGFybHkgdG8gdGhlIGV4aXN0aW5nIGlvbW11
X2FkZF9kdF9kZXZpY2UgQVBJLCBleGNlcHQgaXQNCj4+IGhhbmRsZXMgUENJIGRldmljZXMsIGFu
ZCBpdCBpcyB0byBiZSBpbnZva2VkIGZyb20gdGhlIGFkZF9kZXZpY2UgaG9vayBpbiB0aGUNCj4+
IFNNTVUgZHJpdmVyLg0KPj4NCj4+IFRoZSBmdW5jdGlvbiBkdF9tYXBfaWQgdG8gdHJhbnNsYXRl
IGFuIElEIHRocm91Z2ggYSBkb3duc3RyZWFtIG1hcHBpbmcNCj4+ICh3aGljaCBpcyBhbHNvIHN1
aXRhYmxlIGZvciBtYXBwaW5nIFJlcXVlc3RlciBJRCkgd2FzIGJvcnJvd2VkIGZyb20gTGludXgN
Cj4+ICh2NS4xMC1yYzYpIGFuZCB1cGRhdGVkIGFjY29yZGluZyB0byB0aGUgWGVuIGNvZGUgYmFz
ZS4NCj4+DQo+PiBbMV0gaHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvRG9jdW1lbnRhdGlvbi9k
ZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9wY2ktaW9tbXUudHh0DQo+Pg0KPj4gU2lnbmVkLW9mZi1i
eTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPg0K
Pj4gU2lnbmVkLW9mZi1ieTogU3Rld2FydCBIaWxkZWJyYW5kIDxzdGV3YXJ0LmhpbGRlYnJhbmRA
YW1kLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IE15a3l0YSBQb3R1cmFpIDxteWt5dGFfcG90dXJh
aUBlcGFtLmNvbT4NCj4+IC0tLQ0KPj4gUmVnYXJkaW5nIHBjaV9mb3JfZWFjaF9kbWFfYWxpYXMg
cXVlc3Rpb246IGdldHRpbmcgaG9zdCBicmlkZ2Ugbm9kZQ0KPj4gZGlyZWN0bHkgc2VlbXMgbGlr
ZSBhIHNpbXBsZXIgc29sdXRpb24gd2l0aCB0aGUgc2FtZSByZXN1bHQuIEFGQUlVDQo+PiB3aXRo
IHBjaV9mb3JfZWFjaF9kbWFfYWxpYXMgaW4gbGludXggd2Ugd291bGQgYXJyaXZlIHRvIHRoZSBo
b3N0IGJyaWdlDQo+PiBub2RlIGFueXdheSwgYnV0IGFsc28gdHJ5IHRvIGNhbGwgZHRfbWFwX2lk
IGZvciBlYWNoIGRldmljZSBhbG9uZyB0aGUNCj4+IHdheS4gSSBhbSBub3Qgc3VyZSB3aHkgZXhh
Y3RseSBpdCBpcyBkb25lIHRoaXMgd2F5IGluIGxpbnV4LCBhcw0KPj4gYWNjb3JkaW5nIHRvIHRo
ZSBwY2ktaW9tbXUudHh0LCBpb21tdS1tYXAgbm9kZSBjYW4gb25seSBiZSBwcmVzZW50IGluDQo+
PiB0aGUgUENJIHJvb3QuDQo+Pg0KPj4gdjgtPnY5Og0KPj4gKiByZXBsYWNlIERUX05PX0lPTU1V
IHdpdGggMQ0KPj4gKiBndWFyZCBpb21tdV9hZGRfcGNpX3NpZGViYW5kX2lkcyB3aXRoIENPTkZJ
R19BUk0NCj4NCj4gSSBmZWFyIEknbSBjb25mdXNlZDogSXNuJ3QgdGhpcyBjb250cmFkaWN0aW5n
IC4uLg0KPg0KPj4gdjctPnY4Og0KPj4gKiBFTk9TWVMtPkVPUE5PVFNVUFANCj4+ICogbW92ZSBp
b21tdV9hZGRfcGNpX3NpZGViYW5kX2lkcyB0byBpb21tdS5jIHRvIGZpeCB4ODYgYnVpbGQNCj4N
Cj4gLi4uIHRoaXMgZWFybGllciBjaGFuZ2U/IFJlYWxseSwgd2l0aCB0aGVyZSBiZWluZyBubyBj
YWxsZXIsIEkgY2FuJ3Qgc2VlDQo+IHdoeSB0aGVyZSBjb3VsZCBiZSBhbnkgYnVpbGQgaXNzdWUg
aGVyZSBhZmZlY3Rpbmcgb25seSB4ODYuIEV4Y2VwdCBmb3INCj4gTWlzcmEgY29tcGxhaW5pbmcg
YWJvdXQgdW5yZWFjaGFibGUgY29kZSBiZWluZyBpbnRyb2R1Y2VkLCB3aGljaCBJJ20gc3VyZQ0K
PiBJIHNhaWQgYmVmb3JlIHNob3VsZCBiZSBhdm9pZGVkLg0KDQpUaGUgb3JpZ2luYWwgcmVhc29u
IGZvciBtb3ZpbmcgdGhpcyBmdW5jdGlvbiB3YXMgdGhlIGNvbmZsaWN0aW5nIEFDUEkNCmFuZCBF
RkkgaGVhZGVycywgSSBkZXNjcmliZWQgaXQgaW4gVjggY29tbWVudHMgaGVyZVsxXS4NCg0KPg0K
Pj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYw0KPj4gKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYw0KPj4gQEAgLTIwLDYgKzIwLDcgQEANCj4+ICAgI2lu
Y2x1ZGUgPHhlbi9wYXJhbS5oPg0KPj4gICAjaW5jbHVkZSA8eGVuL3NvZnRpcnEuaD4NCj4+ICAg
I2luY2x1ZGUgPHhlbi9rZXloYW5kbGVyLmg+DQo+PiArI2luY2x1ZGUgPHhlbi9hY3BpLmg+DQo+
PiAgICNpbmNsdWRlIDx4c20veHNtLmg+DQo+Pg0KPj4gICAjaWZkZWYgQ09ORklHX1g4Ng0KPj4g
QEAgLTc0NCw2ICs3NDUsMjAgQEAgaW50IF9faW5pdCBpb21tdV9nZXRfZXh0cmFfcmVzZXJ2ZWRf
ZGV2aWNlX21lbW9yeShpb21tdV9ncmRtX3QgKmZ1bmMsDQo+PiAgICAgICByZXR1cm4gMDsNCj4+
ICAgfQ0KPj4NCj4+ICsjaWZkZWYgQ09ORklHX0FSTQ0KPg0KPiBJIHJlYWxpemUgd2UgaGF2ZSBD
T05GSUdfWDg2IGhlcmUgYXMgd2VsbCAodmlzaWJsZSBldmVuIGluIGNvbnRleHQgb2YgdGhlDQo+
IGVhcmxpZXIgaHVuay4gWWV0IHRoZW4gdGhlIGdvYWwgb3VnaHQgdG8gYmUgdG8gcmVkdWNlIHRo
ZXNlIGFub21hbGllcywgbm90DQo+IGFkZCBuZXcgb25lcy4gU2luY2UgSSBkb24ndCBoYXZlIGEg
Y2xlYXIgcGljdHVyZSBvZiB3aGF0J3Mgd2FudGVkLCBJJ20gYWxzbw0KPiBpbiB0cm91YmxlIHN1
Z2dlc3RpbmcgYW55IGFsdGVybmF0aXZlLCBJJ20gYWZyYWlkLg0KPg0KPiBKYW4NCg0KSGVyZSBp
cyBhIHNob3J0IHN1bW1hcnk6DQoNClRoZSBtYWluIHByb2JsZW0gaXMgdGhhdCB3ZSBuZWVkIHRo
aXMgZnVuY3Rpb24gc29tZXdoZXJlLCBidXQgdGhlcmUgaXMNCm5vIGdvb2QgcGxhY2UgZm9yIGl0
LiBJdCBpcyBvbmx5IGNhbGxlZCBvbiBBUk0gZm9yIG5vdyBidXQgaXQncyBub3QNCkFSTS1zcGVj
aWZpYyBieSBuYXR1cmUgYW5kIGNhbiBiZSBldmVudHVhbGx5IHVzZWQgb24gb3RoZXIgcGxhdGZv
cm1zIGFzDQp3ZWxsLiBJdCBjYW4ndCBiZSBqdXN0IGRyb3BwZWQgYmVjYXVzZSBvZiB0aGUgZWZm
b3J0IHRvIHN1cHBvcnQgdGhlDQpjby1leGlzdGVuY2Ugb2YgRFQgYW5kIEFDUEkuIEl0IGFsc28g
Y2FuJ3QgYmUgZGVjbGFyZWQgYXMgYSBzdGF0aWMNCmZ1bmN0aW9uIGJlY2F1c2UgaXQgcmVxdWly
ZXMgdGhlIGluY2x1c2lvbiBvZiA8eGVuL2FjcGkuaD4gZm9yDQphY3BpX2Rpc2FibGVkIGRlZmlu
ZSwgd2hpY2ggbGVhZHMgdG8gYnVpbGQgZXJyb3JzWzFdLiBBbmQgd2l0aG91dCBpZmRlZg0KZ3Vh
cmRzIGl0IHdvdWxkIGJlIGEgTUlTUkEgdmlvbGF0aW9uLg0KDQoNClsxXQ0KaHR0cHM6Ly9wYXRj
aGV3Lm9yZy9YZW4vY292ZXIuMTczOTE4MjIxNC5naXQubXlreXRhLl81RnBvdHVyYWlAZXBhbS5j
b20vNjdiOWJkMTM4YzEyYzBkZjM1ZTVjNGIzMTM3YzMwYWQzNDUwOTdkNS4xNzM5MTgyMjE0Lmdp
dC5teWt5dGEuXzVGcG90dXJhaUBlcGFtLmNvbS8jZTZlYTUyYTMtYzdjZS00MTFmLTgxODYtY2Y3
MjVhYTYwOGYzQGVwYW0uY29tDQotLQ0KTXlreXRhDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 15:29:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 15:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920880.1324925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuvLr-0000wZ-Qx; Wed, 19 Mar 2025 15:29:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920880.1324925; Wed, 19 Mar 2025 15:29: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 1tuvLr-0000wS-NP; Wed, 19 Mar 2025 15:29:03 +0000
Received: by outflank-mailman (input) for mailman id 920880;
 Wed, 19 Mar 2025 15:29: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=bBEQ=WG=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tuvLr-0000wM-AP
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 15:29:03 +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 e1fec89d-04d6-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 16:29:01 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso34122405e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 08:29: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
 ffacd0b85a97d-395c7df33d7sm21946642f8f.17.2025.03.19.08.28.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 08:29: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: e1fec89d-04d6-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742398140; x=1743002940; 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=woN9XHE1DKpQYeaRz9fxcwHymAsNrh+urqEVaw9Uv8M=;
        b=ABT2CoJUbR05Fyv6GhtvgHAPF15AKXofyP9Z8N9OEnikFLEMZlk/QuIQBXmQ67mrch
         EmImaXgLIZtIKrMoDf4s/jQhhq0ZBQzy/57zXJoROVm7bbXo3RWmprTLUqU53GKxMcsG
         CdQQfJNG5zH1wkFPAy9tpAsjjuRHefgtLAgLD8dEB7Uwaan580XCKVUAe/t6/gSkB+w3
         zdu3sDzzMGWhHzjG7II1ZWpYtK/XQPftbkYiTcntWoQp73eA6lAUPBbgt9pjp1SMbP0V
         +n5dNh647Z1+acwVYxCideWXbEYlEcgMpYXLiOz6BxXRHDcUQH+PwMlhzHTN60jZNS4K
         /yyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742398140; x=1743002940;
        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=woN9XHE1DKpQYeaRz9fxcwHymAsNrh+urqEVaw9Uv8M=;
        b=vI7sXP2rMrCGn3r8S7RzGhxNteVmKSUwGmq4z1rZ0GfO3+aDFDc5xFsDxT2Y0xcEoo
         3V+NZmh9WjY+1C77msWd0g1gMm5zlU/SjNBO82nupasa6u4L/P44I5e0Bo05EofU6ncB
         6WfeSOk+weHyL14LRf91oZg3j9fuvndh7aQuqjDQLmHZh0ybzknsvQ+TAhizI1ayU24Q
         09exXe+33mPHjZdVBy57yaiLTSNih42XfRHIeezomwUH90yaFSgTsE7OTwg8OCjBPB0H
         Jrd8eK7EcvDg7hJdUCZj32SCYGFTlLNGgRUqBSK34dE7U2TGRs4+n1P2wqaJxzw45z8Z
         2GbA==
X-Forwarded-Encrypted: i=1; AJvYcCV5Ju1HY14NV0DgbrP+AlSvleoqxMVbj7vxLv2T5ncf2yyJtDS9wlACasTYD3oxHi1onrA7+rwysAY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzerpy5kH7Fc+u4DD+E7GRWK9l6AGR92m3o7Mu1ivKkBgUXrrb2
	t7gdAhPRc5iRkt9puIJIrKNtf1TVREvTeAe9+b5mna3iUb1oSwJBI71zrtbjVA==
X-Gm-Gg: ASbGncsEmsqJ7rE65Wix5Y64HRBM+wrTIWSwFEx2Q+qA94X70r5MB5J6qTEOfqi4hVM
	FmLf6StJy9WJkUB72H3phRe96szf/AYY1iEOXxkeNbYx0JYyAwS0YI6p+OmrGBaLuux50pxcqoC
	rsNh6/yRwKBqZZzkIio9UjqF/Z0m0DH4Q0PvKGZrCqrub33I2MqzkXzhpf/um4UDMsVJdopQ4Py
	vV7L6KBliB0Rz4Cw2iYPgUO8M1R4JdywyuOfhYb5n6REBHM8OCXSyTv2TWhHnJbnGbDths330Cw
	3VZFfmCq/NhsYQC0qjnKOYB+UZMKyds7eVRPUlGF1WxIwWuO94CVhCn4caX+rUxDhDjqX9d+lyw
	nVIx9uMVw5RnD9BDHEO+hIeK2pL9IyA==
X-Google-Smtp-Source: AGHT+IHzPl749cmxfeCOU6YKp3BHkm4wlDB8bzNeDtJ8RWYkZc6/rcMIsfeYj7dbXK0fiWx41EAl1A==
X-Received: by 2002:a5d:64ee:0:b0:392:c64:9aef with SMTP id ffacd0b85a97d-399739c1f58mr3287383f8f.20.1742398140346;
        Wed, 19 Mar 2025 08:29:00 -0700 (PDT)
Message-ID: <9a0ac3c1-e448-4acd-a471-d8d8e14fbc44@suse.com>
Date: Wed, 19 Mar 2025 16:28:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 2/8] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids
 API
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@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.1741958647.git.mykyta_poturai@epam.com>
 <95d779f00127defa37f3c5056c762ea0da47fc53.1741958647.git.mykyta_poturai@epam.com>
 <d646b0b9-bae8-4f97-908a-f2e52cac708d@suse.com>
 <710bfddb-6ce3-4b11-bcd8-91f17d4f5be2@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: <710bfddb-6ce3-4b11-bcd8-91f17d4f5be2@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 16:21, Mykyta Poturai wrote:
> On 17.03.25 16:56, Jan Beulich wrote:
>> On 14.03.2025 14:34, Mykyta Poturai wrote:
>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>
>>> The main purpose of this patch is to add a way to register PCI device
>>> (which is behind the IOMMU) using the generic PCI-IOMMU DT bindings [1]
>>> before assigning that device to a domain.
>>>
>>> This behaves similarly to the existing iommu_add_dt_device API, except it
>>> handles PCI devices, and it is to be invoked from the add_device hook in the
>>> SMMU driver.
>>>
>>> The function dt_map_id to translate an ID through a downstream mapping
>>> (which is also suitable for mapping Requester ID) was borrowed from Linux
>>> (v5.10-rc6) and updated according to the Xen code base.
>>>
>>> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt
>>>
>>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>>> ---
>>> Regarding pci_for_each_dma_alias question: getting host bridge node
>>> directly seems like a simpler solution with the same result. AFAIU
>>> with pci_for_each_dma_alias in linux we would arrive to the host brige
>>> node anyway, but also try to call dt_map_id for each device along the
>>> way. I am not sure why exactly it is done this way in linux, as
>>> according to the pci-iommu.txt, iommu-map node can only be present in
>>> the PCI root.
>>>
>>> v8->v9:
>>> * replace DT_NO_IOMMU with 1
>>> * guard iommu_add_pci_sideband_ids with CONFIG_ARM
>>
>> I fear I'm confused: Isn't this contradicting ...
>>
>>> v7->v8:
>>> * ENOSYS->EOPNOTSUPP
>>> * move iommu_add_pci_sideband_ids to iommu.c to fix x86 build
>>
>> ... this earlier change? Really, with there being no caller, I can't see
>> why there could be any build issue here affecting only x86. Except for
>> Misra complaining about unreachable code being introduced, which I'm sure
>> I said before should be avoided.
> 
> The original reason for moving this function was the conflicting ACPI
> and EFI headers, I described it in V8 comments here[1].
> 
>>
>>> --- a/xen/drivers/passthrough/iommu.c
>>> +++ b/xen/drivers/passthrough/iommu.c
>>> @@ -20,6 +20,7 @@
>>>   #include <xen/param.h>
>>>   #include <xen/softirq.h>
>>>   #include <xen/keyhandler.h>
>>> +#include <xen/acpi.h>
>>>   #include <xsm/xsm.h>
>>>
>>>   #ifdef CONFIG_X86
>>> @@ -744,6 +745,20 @@ int __init iommu_get_extra_reserved_device_memory(iommu_grdm_t *func,
>>>       return 0;
>>>   }
>>>
>>> +#ifdef CONFIG_ARM
>>
>> I realize we have CONFIG_X86 here as well (visible even in context of the
>> earlier hunk. Yet then the goal ought to be to reduce these anomalies, not
>> add new ones. Since I don't have a clear picture of what's wanted, I'm also
>> in trouble suggesting any alternative, I'm afraid.
> 
> Here is a short summary:
> 
> The main problem is that we need this function somewhere, but there is
> no good place for it. It is only called on ARM for now but it's not
> ARM-specific by nature and can be eventually used on other platforms as
> well. It can't be just dropped because of the effort to support the
> co-existence of DT and ACPI. It also can't be declared as a static
> function because it requires the inclusion of <xen/acpi.h> for
> acpi_disabled define, which leads to build errors[1]. And without ifdef
> guards it would be a MISRA violation.

An abridged version of this ought to go in the patch description, I think.
This is special, so it needs calling out.

As to the placement - would making an entirely new .c file possibly help?
(Then, instead of in the patch description, maybe the special aspect could
be put in a code comment at the top of the file.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 16:15:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 16:15:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920907.1324938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuw4E-0002uK-37; Wed, 19 Mar 2025 16:14:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920907.1324938; Wed, 19 Mar 2025 16:14: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 1tuw4E-0002uD-0K; Wed, 19 Mar 2025 16:14:54 +0000
Received: by outflank-mailman (input) for mailman id 920907;
 Wed, 19 Mar 2025 16:14: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=19Ti=WG=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tuw4C-0002u7-Rd
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 16:14:52 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2612::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48bb5765-04dd-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 17:14:51 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI0PR03MB10298.eurprd03.prod.outlook.com (2603:10a6:800:201::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar
 2025 16:13:51 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 16:13: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: 48bb5765-04dd-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=u3u5ep23Le6t5TQz6h6XzEMRzWqj/M6W/2C593QQxfxkXO6sCWItK2+dNrh/lchb/cEz84A3sTyst2Q6pvZOUVnCHXAArPmVzmitOhipppmVdUzBqNQmt4XDU+UP2YIM2dIEBHgExzwqj2SQ8OjennyjmJ21959S80zBpGBbb9YJijl0PIxRivm6DgOI1SlxzfgT5g58ot0EJxYqXbLKzemXgtZynDE4sSUmKGfmkQDvt0lWQranjmwQzLVxmRJAxwyR6NI/oAS06E3W44ewxoIIhlomZjbTrBai/6Zey0FsZG9rP2iKXH0qhOByCTP1Nz0dybd6hiWKDTF4bi4h8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LLCcdKAguHzShQg7XYGba/AY6INtUFpDDhoSvsAekdc=;
 b=BYIsROwq5gTg4YY2xry0RisGBZbX+8jtyikhGdM+d1nPsHKeUwqZLJ4HAADdBHu+6z+x8xTqccc5c59qwcxnsL9ZdWX0AA/OzByDYFa4p8xzbubU9ao0FvboFUau9eeQpiMiIvUDDvbMi6kuk7t5r5B6/k5Fp5yV6+cK6FRkAiCIg1NMbbPj4vEY+j4z8hEKELaEOzRsSQMWqdDTjHBWYwYEpOIijGcpu9Y5WSEp2lqvfjzbg5/JTtIgQqoHV5xoTQYUsKfCP6aKQ+3iTaRRwRX5N9GmdHHKRezNGPZvfsc1t8UX//UC9ODsUOkiu/h1dZzQAs9W4sgBOxRmI+W8Kw==
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=LLCcdKAguHzShQg7XYGba/AY6INtUFpDDhoSvsAekdc=;
 b=QvEVbckfkOsvFx/0ogAM18BX/GSrQSFG5VkjtIYx+GDHdcA4niCKGdJKb0uyR/oHC1oGTmootqrn2p7yjM0YRLQMsQpWtz+/xH4Yx8fvJdXmLIkPQRa8aL2Vk/GvdjjUcruWRA004YvyZK8BCqqanPgmZmRT+uje5D+NdYN3SFN4FT+v72xMy3CzOTlAuR28X/QNp75nBKGLsGa/jEA3lwXd4OCWtF5Isn7TNOrmaRwMltTvxdHDU77dYucMa8+n4+ioNYniQ7YWt4YnAp1uUgl2InFw8GpcHpReXJP9Mng+r9ps/UjChIDvSDx21qmXTqO+9QWIBgDqm0GnT9xoUw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <257d612f-62ec-4507-8e18-f8e10fb20975@epam.com>
Date: Wed, 19 Mar 2025 18:13:48 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/16] xen/arm: introduce a separate struct for watchdog
 timers
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>, Mykyta Poturai
 <mykyta_poturai@epam.com>, Mykola Kvach <mykola_kvach@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0365.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f8::8) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|VI0PR03MB10298:EE_
X-MS-Office365-Filtering-Correlation-Id: 02912ced-accb-4393-0940-08dd6701098a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZXRpZDBWZFBIZUhKcnlQbEVJVExFY2ZiZ0l3K0tEZXFvUG9qSFUycU4rL3Nm?=
 =?utf-8?B?OGJySkw5dWRsenRHYXd2VHExTmNJbHlXUXdWWFpORVpOUjlJeTlYODcwdU9n?=
 =?utf-8?B?c1F3N1NmYUFSZy9ORWh6VHkyM1p1WTZsQlM3K3ZMcGNNNjhDMVJlaUJRVmVK?=
 =?utf-8?B?d3hIYXZYb3ZaN2RVNlNjb3FHcjRPT3ZxN0xOWVBnNmtzSlArVHNZbVNaN2FR?=
 =?utf-8?B?KzZKdFFpeFlXZi9sUjdEdy8rQU1QQ0dXQ1JBME5oWlp0MVh1UWN3OGMxckVT?=
 =?utf-8?B?MUNWbWw5VTJWS1BVOW1Jcjl0amZpWkxNVk04cUhrclUyVFZrVUNRN0xmaVZP?=
 =?utf-8?B?WjNSMXdPclpTZ3Z4U2NhKy9Cb2dnKzIzaWRuZXlaQ1VzS3p2SzJ4VlVzL2pM?=
 =?utf-8?B?bzg5bU1WQmhWalF0RGFzc21EZEdVNTBwVTJOeUJPV3M0eHY4akJ4N2pOREl3?=
 =?utf-8?B?UStocnlYNGN1dDUwL3ZEODlyMThzRmd4QUQ4ZVRrM0toNURTOWFkYThXdVNk?=
 =?utf-8?B?MzZiT0VMYnFPTnBUMzB2ZEtyR2ExZTBZWTFhNXhRLzRRV0ZiUW1kT2hudjlV?=
 =?utf-8?B?Wk14dVJPUmNqSnN4b1BrcjNwenpEWXFDRGFZVFlmSkVkcTdjNDhJbWhWamtz?=
 =?utf-8?B?UTFKeTdvZENPaTNNbDN2WGxTc3pwcm1DMi9DUG9VYmdjdDdYeWp6Q01uNklO?=
 =?utf-8?B?aFNjRHRac3Q1dEtWRUQ0US9xanh3bHhCdUxLaDFGM0VFV0VzK3Ixc3dNckZh?=
 =?utf-8?B?a3MyRDdTbjdRaDkxYVM1WWdiY2F2cndYTFlydDlYa3RVU3RwNkgrNld3MGg4?=
 =?utf-8?B?alBMaUU4cUc1dzV2UktNMTRWdElIS2pYZFc5d3dFNHM2M3NsWEVQbzcrRkpD?=
 =?utf-8?B?SGJ0RkFrcFNiVUtWNWFJK2RBK2hUUURPNC80d3cyQ1hoWmQxL0wzcGNZNENs?=
 =?utf-8?B?bHkvamtKWXNoRG1qZndlRHpuTXlZUlhNZnNCVUw5OUpvRlRnRDBjU3FCVFdU?=
 =?utf-8?B?WHlFRUZ0MDhIeWZlMzYxQktKYll2ZHZBT2l0TE42Q08xZUJhMTZVYmJyQUdx?=
 =?utf-8?B?clRLaUJuL2NwWnVmem1xTUdncE5wemRlSFZyS1pOa0w5SGFuMXpJRW8xSGpm?=
 =?utf-8?B?WnRvZTBFeVVJYVFCTmhTVWg0MHFuZ0VxOEZSYWJOUWgxUlJBZUF5UUNTai8y?=
 =?utf-8?B?UXF3T3dNVjhrUGc3UXFSTFZKcjdpOVJqU2FvMlJlVU5zbyt6MHNWY3dOaGZT?=
 =?utf-8?B?MmgrZklmNjNCbERSbEZGcDF4VEIxTHNiWHlzQ2VhZ3dwQ3pLRjlVaVRmUnhH?=
 =?utf-8?B?SWhoOE1CTy8rcEk2SkRuL1V4WHZOUEs3UkF5R1IrbENFdDMvSEVBUmtNWVZJ?=
 =?utf-8?B?L2wyRG1PTk9ycDFuZU1aL3VnclMzWWRaWGZIaFFSQkpFeVVZVnJjaEFUcE5D?=
 =?utf-8?B?ME03YmFKeGFKQzJWQ1o0Qi9JdSsyaTh2Sm9SMTFnS0F3TWs0N3p6b3AwRFVa?=
 =?utf-8?B?aWNrVm8yTDV4bzkvSmkreVV2NmdiK1Z5c1BMR3RjVFVYUExhc0Y3WDk4OEVS?=
 =?utf-8?B?SndXK2ZNVkRrRGlGR0lvL1lVWnpwSnNLTTJ3ODZ5aGYzb0hTWHR3ODlIRDFQ?=
 =?utf-8?B?K1krb1gvZ3FVMkxtRHp3aEU0Yk9lYzN3LysrTFJnTDhnQndRZVR4T0g5a2hj?=
 =?utf-8?B?QzlYcGJ4TVNZdHRSOTU4SXU3b0Rrd3ZpV3BEN1Ara09tV1BUdGlnVHdKdFp6?=
 =?utf-8?B?ZHQ3WDhMWCs5a2I2N2lKRlUxOHd1cmVNQ1d0RUNzV3BXTkVYRDRxUkhIbVJY?=
 =?utf-8?B?TWhhckI2U0xuS2FkajA0ZUFNRitNeFVuK3BXbEMvaW41MTZmQzd1VEt6ZlRr?=
 =?utf-8?Q?HPf5oyY9HKNLp?=
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)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0ltQzQwK0pEVGduOXRrc0hGeFAwT0FNTmhZWGR1cXdJSzBpTWtyZEdCZzAx?=
 =?utf-8?B?K0JKWW9uV1A5VUlzVCtWWkRPc2lkWWxEWEdMTXkvdjBXbllPSzNFYVRDQ0NU?=
 =?utf-8?B?UG5UUkRNRUE5SFVPNFRQd21qVy8vV3p0YmljckNSMUpaZ1lxMFJ0NXlFUEo1?=
 =?utf-8?B?bDhPaEhoNFdMa3BkK0t1UHVSVnk2UXBDSG0wM3BuUlNDVzd3MkY0clRRL2lm?=
 =?utf-8?B?NXV0ZExNWlBINFQwVkN5MVhrNnZLcmJCdlhwWEtCNjdKRno3OFo2MTZQbllS?=
 =?utf-8?B?aEZsSHBzRCswMmF1RzUxSS9qNFVKOSttWFlUazJXZGxVZ0xtRkt6U1BFaTBr?=
 =?utf-8?B?UHJTUHpzY1lobFdwKyt6SHlMa2Rranh3UEdYQ2VjcG55QW1Hc2tVVTdWU1Ax?=
 =?utf-8?B?ZXh6RXZrZ0tNL3IrTVpTbE1CTkg1SmNCQlRZSGxuS0toN2ZuN3gyQkZFTTVu?=
 =?utf-8?B?bUJkdUxlaVN4NVFmd2gzOHMrOHdPOVRjTEZsbU5sLytjUElSS2xsSmZRRmVE?=
 =?utf-8?B?Y1BpRzRVREtpSk02c2dlZE9PclROUVBTdUlad2hJMytlWE0xZVI4VlZWUE1M?=
 =?utf-8?B?UE1oR3FsSG9lL3h6NkxVYTBKckFWLzF4MWI4TC9ZRVZYaDhvOWFqVjhrK2w2?=
 =?utf-8?B?UlExdUsyZHQ3MkFWT1BFU200V1Bldit2SmRLWVNaNmxDMXpZOGI1Y1NLL3Fk?=
 =?utf-8?B?S1pXbnFLaC9kUFZjNnZWL0ViSjh1T3RpR1NUVmNVdzVvK0k0SmN2MSt4THpF?=
 =?utf-8?B?MUFmUnNnREp1bDlEOGVleTVGbG4xZmlKVDlDTHNkR2hhdWV4anc3VUV2U1Zv?=
 =?utf-8?B?MkFsa0lQYUV2YnNlTERsREIzU2QvcTZUUXhvdUVxbFJ2Q1FoSUFmTnpaR3Zn?=
 =?utf-8?B?RDF6ckRPTW9SYnluNXRjTjdqaGdwNWIyODNGdGpkbVdaeFQ0YURtNnBOZHpx?=
 =?utf-8?B?c0Q3VzlZWFM2UjhMdWlYUGRyMGJzRmlJeHU2eGNnR1pDZkF0UWoxSWpSRjYy?=
 =?utf-8?B?OHBiTlRvSXZxV1ZtSHVQelhCeGduRmFzdHcwQkRwUHp1eGFwMWZ5MWYyNE1I?=
 =?utf-8?B?YmVoNXBrR3lmQXM0UTYyeENYbis1Sk45Y3F6b1Vtcll1eUZZOEZ0MFk3elJE?=
 =?utf-8?B?Z1lVem1aTFQrSi9CVjBiazFab3NqcEExWmh6UTZiL0tBTUc5allpTTNuS0NQ?=
 =?utf-8?B?dm8yc2I1NExxRXFDRUxKbGE1WXd1M0ZFVnM1Q1ptOEwwWERYUE9mZXNvUDc1?=
 =?utf-8?B?Q0NrcEZEcmljdHJEejNZZEttLzJsUlc1RUhkQnNBbm5VVlR6a3Q4c015ZW5J?=
 =?utf-8?B?cXp3SFBxb2RDOEtrUlluN3EzK0RoVlhKd1N3SFhIRi82U3BnTEVpTEdwc1Er?=
 =?utf-8?B?aDBmVVdweHkzcnByb1dWR0grNTFmcWY4VWhmWFovUk1tSXJBZjJHcXJRUld4?=
 =?utf-8?B?bVdyTGNlZTdDMk56WUZ4Ny8zK3E5M1VIb09nZDh1SklLMy9qL3JrWUlFVGlT?=
 =?utf-8?B?ajczY3BGbkxScjg1MlYrK05xZWU4K0grcWg4QzdsM3d2bFZnZDhkS2ZYaGFZ?=
 =?utf-8?B?MUtKd3VKU2VYaURqUnJiYitoOCtQaGhGUHJiVkduSjlRc2d0VEw2MGVlWDdj?=
 =?utf-8?B?RFhGMVJBUit5TU0wUUJPV2JCSFhjZkxOemkyZEM0UjZQcENwS0NJNmpFV3Fy?=
 =?utf-8?B?K2QvczdQSU9JbjdpWWR1WEd1akdXWnlhZVQ0dXdreU4zdEI5YjA5amV2VkZY?=
 =?utf-8?B?ZTFCNk5sTzk4RGJrMkJaQnFaUkt5bGtoRTFFR2NWemdURXIzYjN4VnpIQmxN?=
 =?utf-8?B?bFZJVlNoY04rL1JCRHc5cjZudE5oblVyYjdmbGVoayttZEpvMFNLQ3dXTjJn?=
 =?utf-8?B?L2Joem9pbWpvSHNiaHN5VW5oWTZrSmNsM3hnSmxRWXBqTnRlUWFsWEJRNjg1?=
 =?utf-8?B?WnorVFBFYmc1NEJ2bGFlUHBkbEV5MmQreUhsTVNnMUI5NEpXTmdkVjFnbFRl?=
 =?utf-8?B?bXljNklXakQ5eTQxSEhxMnp5eXVNVUNoRkpPc0prNXNYcHFKN2RBUk9ZMCtw?=
 =?utf-8?B?SlIyalI1dUVlVE9tOVZNUEQyaVJIaTJLRWdxSDl3eFd4WlBhdVFnSlF2YlZI?=
 =?utf-8?B?Y011YzUyMHdiQUtlVTliOUs5SURKc0RLMG5GMm9GYnM3QlJ1ek11eS9uMzZ2?=
 =?utf-8?B?T0E9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02912ced-accb-4393-0940-08dd6701098a
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 16:13:51.1272
 (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: +W9JP4mX3iSqn8fNLYRIlU1M5bxWm0l3yKJRakBqnt6Zr2FQWrQREzWL2yCjOvSj/TWlQBdumzr8jBgCNmFzshcQiPPURITk5HPRv6arTrc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10298



On 05.03.25 11:11, Mykola Kvach wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> Introduce a separate struct for watchdog timers. It is needed to properly
> implement the suspend/resume actions for the watchdog timers. To be able
> to restart watchdog timer after suspend we need to remember their
> frequency somewhere. To not bloat the struct timer a new struct
> watchdog_timer is introduced, containing the original timer and the last
> set timeout.
> 
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> This commit was introduced in patch series V2.
> ---
>   xen/common/keyhandler.c    |  2 +-
>   xen/common/sched/core.c    | 11 ++++++-----
>   xen/include/xen/sched.h    |  3 ++-
>   xen/include/xen/watchdog.h |  6 ++++++
>   4 files changed, 15 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
> index 0bb842ec00..caf614c0c2 100644
> --- a/xen/common/keyhandler.c
> +++ b/xen/common/keyhandler.c
> @@ -305,7 +305,7 @@ static void cf_check dump_domains(unsigned char key)
>           for ( i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
>               if ( test_bit(i, &d->watchdog_inuse_map) )
>                   printk("    watchdog %d expires in %d seconds\n",
> -                       i, (u32)((d->watchdog_timer[i].expires - NOW()) >> 30));
> +                       i, (u32)((d->watchdog_timer[i].timer.expires - NOW()) >> 30));

I'd like to propose to add watchdog API wrapper here, like

watchdog_domain_expires_sec(d,id)

or

watchdog_domain_dump(d)

and so hide implementation internals.

>   
>           arch_dump_domain_info(d);
>   
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index d6296d99fd..b1c6b6b9fa 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1556,7 +1556,8 @@ static long domain_watchdog(struct domain *d, uint32_t id, uint32_t timeout)
>           {
>               if ( test_and_set_bit(id, &d->watchdog_inuse_map) )
>                   continue;
> -            set_timer(&d->watchdog_timer[id], NOW() + SECONDS(timeout));
> +            d->watchdog_timer[id].timeout = timeout;
> +            set_timer(&d->watchdog_timer[id].timer, NOW() + SECONDS(timeout));
>               break;
>           }
>           spin_unlock(&d->watchdog_lock);
> @@ -1572,12 +1573,12 @@ static long domain_watchdog(struct domain *d, uint32_t id, uint32_t timeout)
>   
>       if ( timeout == 0 )
>       {
> -        stop_timer(&d->watchdog_timer[id]);
> +        stop_timer(&d->watchdog_timer[id].timer);
>           clear_bit(id, &d->watchdog_inuse_map);
>       }
>       else
>       {
> -        set_timer(&d->watchdog_timer[id], NOW() + SECONDS(timeout));
> +        set_timer(&d->watchdog_timer[id].timer, NOW() + SECONDS(timeout));
>       }
>   
>       spin_unlock(&d->watchdog_lock);
> @@ -1593,7 +1594,7 @@ void watchdog_domain_init(struct domain *d)
>       d->watchdog_inuse_map = 0;
>   
>       for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> -        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, 0);
> +        init_timer(&d->watchdog_timer[i].timer, domain_watchdog_timeout, d, 0);
>   }
>   
>   void watchdog_domain_destroy(struct domain *d)
> @@ -1601,7 +1602,7 @@ void watchdog_domain_destroy(struct domain *d)
>       unsigned int i;
>   
>       for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> -        kill_timer(&d->watchdog_timer[i]);
> +        kill_timer(&d->watchdog_timer[i].timer);
>   }
>   
>   /*
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 177784e6da..d0d10612ce 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -24,6 +24,7 @@
>   #include <asm/current.h>
>   #include <xen/vpci.h>
>   #include <xen/wait.h>
> +#include <xen/watchdog.h>
>   #include <public/xen.h>
>   #include <public/domctl.h>
>   #include <public/sysctl.h>

I think struct watchdog_timer (or whatever you going to add) need to be moved in sched.h
because...

> @@ -569,7 +570,7 @@ struct domain
>   #define NR_DOMAIN_WATCHDOG_TIMERS 2
>       spinlock_t watchdog_lock;
>       uint32_t watchdog_inuse_map;
> -    struct timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
> +    struct watchdog_timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
>   
>       struct rcu_head rcu;
>   
> diff --git a/xen/include/xen/watchdog.h b/xen/include/xen/watchdog.h
> index 4c2840bd91..2b7169632d 100644
> --- a/xen/include/xen/watchdog.h
> +++ b/xen/include/xen/watchdog.h
> @@ -8,6 +8,12 @@
>   #define __XEN_WATCHDOG_H__
>   
>   #include <xen/types.h>
> +#include <xen/timer.h>

...this interface is not related to domain's watchdogs.
 From x86 code, it seems like some sort of HW watchdog used to check pCPUs state
and not domains/vcpu. And it's Not enabled for Arm now.

> +
> +struct watchdog_timer {
> +    struct timer timer;
> +    uint32_t timeout;
> +};
>   
>   #ifdef CONFIG_WATCHDOG
>   


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 16:23:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 16:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920925.1324971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuwC7-0005Wn-2U; Wed, 19 Mar 2025 16:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920925.1324971; Wed, 19 Mar 2025 16:23: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 1tuwC6-0005Wg-W7; Wed, 19 Mar 2025 16:23:02 +0000
Received: by outflank-mailman (input) for mailman id 920925;
 Wed, 19 Mar 2025 16:23: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=sUeB=WG=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tuwC5-0005Ul-IN
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 16:23:01 +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 6c59c849-04de-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 17:22:59 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-ac297cbe017so171945966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 09:22:59 -0700 (PDT)
Received: from localhost ([46.149.103.11]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a9b74bsm1031382166b.168.2025.03.19.09.22.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 09:22: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: 6c59c849-04de-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742401379; x=1743006179; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SQ3f135hq0vj6cfK0kSQ6gjlbOUDD1s3tqOAmZ+1qeY=;
        b=MrWFYcnoOBUFT0/H3KXCFTjcdiPLM4hOQxNAEq4ymiMYL0OSHGIHgwDXepw+X+y/bL
         7ES8ktnlfrdb/Q3KQ/ra4zyVmeyg/ih5NxBvVQehTSDfTYKFfiQBZTGG7ARb41G4Kixl
         tGW8L4RGMyHVzQhDd1+WaciMJn5hUSZQoMc0M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742401379; x=1743006179;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=SQ3f135hq0vj6cfK0kSQ6gjlbOUDD1s3tqOAmZ+1qeY=;
        b=Zalf767WLS0JIX5KE/nEHTcR6UiXP3cIl2+POKxNqlE5tb/JfO1BG5viX/xWiepS6W
         VMBsuKCP10bNj3tnv6LL6L8JGgyMf93fCj8BlDT0wg0QwL3wtW4aEPOhEMDSM8u8gIeS
         rgj9tiuclC2dDpM6m3/TCEYyzoiZ93zBX1pTbrbP7SFf/tbOzGIB5zgSH2xCIKpZbSb9
         Sh4XtUoGgcai02cPKXeiXYqQ/KeTomNuWzHWqPH5CoMFoIAUTGC8m2keKX6u+JVEVdmS
         XG8nLDVSAqJSj8cCgs3IRHxnVk0JTG1H8qPYBHk1+XONPcv03R1pvTsUIOJJRrXQ2D6d
         i1ww==
X-Forwarded-Encrypted: i=1; AJvYcCXlXEYFSq4HOpAmZIKz99cusFIBF7GYhc9hEOzHZMkmL5STg6H6rGfhmtFmxAab5r4DUg1i3/5nnsI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6ToYSrC9l3Nx9GjyEIe5FD9Oo7XHmfU9R7d1FMPAT1MdG/0Jg
	lFP4Xs4JWmWDv1rt7xXTJOUAjjkaO9weTujTQCal/ToiLxiOObHgZikGY8SuOFXClQi6q0Xiwhj
	q
X-Gm-Gg: ASbGncsSg9GcSvgsCgMpNkyvLgM9B6DdkC1kL3oy+KajRiFH6spOkNOgmipon5FTh9r
	pQXPSdFFKUDz3GEGLRavJLwjKLTAMjnOnR83fPALAaH1Nd+0zZXL7vt0RAnV7E9F29tSndLi0zy
	VgWxNGkUG5XLSxt3XMI54qsqRJTK4x3HnmZXot0WrDrXk1RgXRFfbXG7QiT7CDGShDy5WyzDzob
	RdduKF0hoRzf114cxKza6F+gbeZh0NMqFfFd7HXc40YhPXprlwZqf5iR/le9D2sWAXrPCJYRNqt
	ErVUBsz9q/SL3Nu6Yf2qqX+a8XpHihSxxOnQbq3JX4L4d35p5kRo/e1akAR72A==
X-Google-Smtp-Source: AGHT+IHghpJ824trwtp1f0BjAJswqgKy9C7Y1HSUaoLcNFUcGE7vO76VVubu+jvYGgmb0fsYT5NLzg==
X-Received: by 2002:a17:907:7e8f:b0:ac3:b50c:c94d with SMTP id a640c23a62f3a-ac3cdc7973amr12945566b.28.1742401368360;
        Wed, 19 Mar 2025 09:22:48 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 19 Mar 2025 16:22:44 +0000
Message-Id: <D8KDQGQ0PYJ5.2DYMZFDLVXKSO@cloud.com>
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Juergen Gross"
 <jgross@suse.com>, "Luca Fancellu" <luca.fancellu@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>,
 "Bertrand Marquis" <bertrand.marquis@arm.com>
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>, "Michal Orzel"
 <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
 <1f3c9275-14da-4baa-a0e1-e092d0d606b5@citrix.com>
In-Reply-To: <1f3c9275-14da-4baa-a0e1-e092d0d606b5@citrix.com>

On Wed Mar 19, 2025 at 2:05 PM GMT, Andrew Cooper wrote:
> On 19/03/2025 2:01 pm, Alejandro Vallejo wrote:
> > On Tue Mar 18, 2025 at 9:00 AM GMT, Michal Orzel wrote:
> >> We are missing a way to detect whether a user provided a value for
> >> nr_spis equal to 0 or did not provide any value (default is also 0) wh=
ich
> >> can cause issues when calculated nr_spis is > 0 and the value from dom=
ain
> >> config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
> >> (max supported nr of SPIs is 960 anyway).
> >>
> >> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect n=
r_spis value")
> >> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> >> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> >> ---
> >>  tools/libs/light/libxl_arm.c     | 7 ++++---
> >>  tools/libs/light/libxl_types.idl | 2 +-
> >>  2 files changed, 5 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm=
.c
> >> index 2d895408cac3..5bb5bac61def 100644
> >> --- a/tools/libs/light/libxl_arm.c
> >> +++ b/tools/libs/light/libxl_arm.c
> >> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
> >>                                        libxl_domain_config *d_config,
> >>                                        struct xen_domctl_createdomain =
*config)
> >>  {
> >> -    uint32_t nr_spis =3D 0;
> >> +    uint32_t nr_spis =3D 0, cfg_nr_spis =3D d_config->b_info.arch_arm=
.nr_spis;
> >>      unsigned int i;
> >>      uint32_t vuart_irq, virtio_irq =3D 0;
> >>      bool vuart_enabled =3D false, virtio_enabled =3D false;
> >> @@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc =
*gc,
> >> =20
> >>      LOG(DEBUG, "Configure the domain");
> >> =20
> >> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
> >> +    /* We use UINT32_MAX to denote if a user provided a value or not =
*/
> >> +    if ((cfg_nr_spis !=3D UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
> >>          LOG(ERROR, "Provided nr_spis value is too small (minimum requ=
ired %u)\n",
> >>              nr_spis);
> >>          return ERROR_FAIL;
> >>      }
> >> =20
> >> -    config->arch.nr_spis =3D max(nr_spis, d_config->b_info.arch_arm.n=
r_spis);
> >> +    config->arch.nr_spis =3D (cfg_nr_spis !=3D UINT32_MAX) ? cfg_nr_s=
pis : nr_spis;
> >>      LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
> >> =20
> >>      switch (d_config->b_info.arch_arm.gic_version) {
> >> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl=
_types.idl
> >> index bd4b8721ff19..129c00ce929c 100644
> >> --- a/tools/libs/light/libxl_types.idl
> >> +++ b/tools/libs/light/libxl_types.idl
> >> @@ -723,7 +723,7 @@ libxl_domain_build_info =3D Struct("domain_build_i=
nfo",[
> >>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
> >>                                 ("vuart", libxl_vuart_type),
> >>                                 ("sve_vl", libxl_sve_type),
> >> -                               ("nr_spis", uint32),
> >> +                               ("nr_spis", uint32, {'init_val': 'UINT=
32_MAX'}),
> >>                                ])),
> >>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
> >>                                ])),
> > Doesn't this regenerate the golang bindings?
>
> You need a build environment with golang for that to happen.=C2=A0 It's e=
asy
> to miss.
>
> In this case, best to ask the committer to regen.
>
> ~Andrew

One more thing for the list of stuff I'd like to add to CI at some point.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 16:31:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 16:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920947.1324985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuwK8-0007xa-St; Wed, 19 Mar 2025 16:31:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920947.1324985; Wed, 19 Mar 2025 16:31: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 1tuwK8-0007xT-Pk; Wed, 19 Mar 2025 16:31:20 +0000
Received: by outflank-mailman (input) for mailman id 920947;
 Wed, 19 Mar 2025 16: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=GTXv=WG=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuwK7-0007xI-1K
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 16:31:19 +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 956cfdcf-04df-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 17:31:18 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-ac2aeada833so192307866b.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 09:31:18 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a40eadsm1024294766b.138.2025.03.19.09.31.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 09: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: 956cfdcf-04df-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742401877; x=1743006677; 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=Y+t3QfeCPe9OWpyIRU1FczRT4gPwFi8oV3jm6C+nIN4=;
        b=FmQjkNC1Na0IoHoXyzk+OrWN/+V3z77zWk8OYNIqEYyaziets3pSlZ+09xArdHo867
         ESZDXc9JtCnPa8u4QpwhIfQpkFOq/C/D5FJBpvQebgCREMyjZ13rJnxOo1GQyRjHX5ph
         DD0BuNlspJPevw9XbtDtB35qK7FZCSA5sVClCjMmqLfWeUpCDhszD6isthCt3OwVctAc
         9O9VtJTWke0i6pc6VgGZvTM15WIZxiRF/V1C20PGVMnG7TfnIAW8VBjVxHgjOjrPJdVZ
         74KZjl6QZoqqxmJtku1W6H+OLOX75M6biY2Yn/jBfeR3exIBioFyLMk760kuPAFVrL+E
         vZ6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742401877; x=1743006677;
        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=Y+t3QfeCPe9OWpyIRU1FczRT4gPwFi8oV3jm6C+nIN4=;
        b=bNBCcl8TvD8QnbJO3zMngY3d35PIdSZItOx8Dut/LweZWwbJV3oAVYmmADu1tlNJyl
         KwSkIHfwSXQvOk9CS/UvNnIenYYFrWDZrNv6tPUKqHhg0Lk5fMSdHpmnetk07ujgoend
         UybZ8N4/MSDYUk90hmIYAj+8sK8jXiy2T9IRYcZ9eiWq7HsLUqka1gaue5zFlU3p8LEj
         0AoFI7W5dJUKP7oZbWrAlVtAV+nx1nrvPNUd54YSzKASDJQWl49vaWsB9jQxNvVWO5YC
         m+UMflel5d18ChaQcq3xbENurflk0cRMFNW3vsMni6bPclywSpToGVJQhtYhLYD046cu
         dJRQ==
X-Forwarded-Encrypted: i=1; AJvYcCU2nB/NDZRjpao22fsqUt0V75K81qUYvUrSgP24C0fDWkQxhgzlnz3QB5bIFvrrR7nCoam13bYrcJs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCryIZlqWTiH6sCpUUY35PF11UtCmXlAePwNCxfGxAqHxDTKix
	FGZHx5E0OIPrEJTzVlH037poiGK14WjKiqlHcGMBul+HSUiGA8su
X-Gm-Gg: ASbGncvUnV5qPOokabo8ytnvBtRCzOsQIwugagAf8MISksg0sO0AsdUnxoS9jbmPVN6
	bro2WdnsRE3ZrrEIvdVFQe5LRUhzkNLMEPmWLRVVVBzmyf71udgMlwMZe8Hztm225kLZTNP+UZj
	763r3/Rvd9gxjvTY5vK32WjWZZizvNemSl4rlroEGuh63QrD5VAn0wNoCD4becvKquuZ8S7jeoX
	LREnUf9cI+QkPy+mlWms8nkQ5Wi8fJIixyCEaYAx6Wn4qsqbNsIo21Ndx2fry+uRsJXuxrkvrxp
	Sly+lqZvCq3uMKlbQqoXJS05SomJ1Nu7hyVNjXOX1Qfdv9azLGNYvKvt8/B1YgVBLk4dBtpb4F0
	Pc70SRx0rpm7yysUfEM0fyCW8+281sVI=
X-Google-Smtp-Source: AGHT+IHIyIRZoOher4NxZwDzuAF+TSHesQ6SZ3ZqveigPDVKTwLUQks0VQfU1RKqRSDw/s7pGwROlA==
X-Received: by 2002:a17:907:a58b:b0:ac2:9a4:700b with SMTP id a640c23a62f3a-ac3cdbe7da3mr21270866b.16.1742401877074;
        Wed, 19 Mar 2025 09:31:17 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------txHr0TffMXjD4Y555X3JuzY4"
Message-ID: <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
Date: Wed, 19 Mar 2025 17:31:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Jan Beulich <jbeulich@suse.com>, Luca Fancellu <luca.fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>

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


On 3/19/25 12:35 PM, Jan Beulich wrote:
> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>
>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>> mapping table at most takes only one 4KB page, which is enough to
>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>> translation and EL1 stage 2 translation.
>>>
>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>> MMU systems, x86 and RISC-V.
>>>
>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>> the former function with #ifdefs and improve readability
>>>
>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>> with !ARCH_PAGING_MEMPOOL.
>>>
>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>> field is not required.
>>>
>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>> ---
>>> v3 changes:
>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>> v2 changes:
>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>    - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>    - do not define p2m_teardown{_allocation} in this patch
>>>    - change commit message
>>> ---
>>>    xen/arch/arm/Kconfig              |  1 +
>>>    xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>    xen/arch/riscv/Kconfig            |  1 +
>>>    xen/arch/x86/Kconfig              |  1 +
>>>    xen/common/Kconfig                |  3 ++
>>>    xen/include/xen/domain.h          | 17 +++++++
>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>> For RISC-V:
>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> Mind me asking then why RISC-V needs this at this point? The stubs surely
> were added to address some build issue, not because they are actively
> meaningful?

Only because we have stubs and not to have redefinition compilation 
error. And, yes, they are not actively meaningful now, at least. I am 
okay with not enabling of this config for RISC-V but then seems to me we 
have to drop stubs in riscv/stubs.c. ~ Oleksii

--------------txHr0TffMXjD4Y555X3JuzY4
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 3/19/25 12:35 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com">
      <pre wrap="" class="moz-quote-pre">On 18.03.2025 14:05, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/17/25 9:07 PM, Luca Fancellu wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">From: Penny Zheng<a class="moz-txt-link-rfc2396E" href="mailto:Penny.Zheng@arm.com">&lt;Penny.Zheng@arm.com&gt;</a>

ARM MPU system doesn't need to use paging memory pool, as MPU memory
mapping table at most takes only one 4KB page, which is enough to
manage the maximum 255 MPU memory regions, for all EL2 stage 1
translation and EL1 stage 2 translation.

Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
MMU systems, x86 and RISC-V.

Wrap the code inside 'construct_domU' that deal with p2m paging
allocation in a new function 'domain_p2m_set_allocation', protected
by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
the former function with #ifdefs and improve readability

Introduce arch_{get,set}_paging_mempool_size stubs for architecture
with !ARCH_PAGING_MEMPOOL.

Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
field is not required.

Signed-off-by: Penny Zheng<a class="moz-txt-link-rfc2396E" href="mailto:penny.zheng@arm.com">&lt;penny.zheng@arm.com&gt;</a>
Signed-off-by: Wei Chen<a class="moz-txt-link-rfc2396E" href="mailto:wei.chen@arm.com">&lt;wei.chen@arm.com&gt;</a>
Signed-off-by: Luca Fancellu<a class="moz-txt-link-rfc2396E" href="mailto:luca.fancellu@arm.com">&lt;luca.fancellu@arm.com&gt;</a>
---
v3 changes:
  - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
v2 changes:
  - make Kconfig HAS_PAGING_MEMPOOL common
  - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
  - do not define p2m_teardown{_allocation} in this patch
  - change commit message
---
  xen/arch/arm/Kconfig              |  1 +
  xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
  xen/arch/arm/include/asm/domain.h |  2 +
  xen/arch/riscv/Kconfig            |  1 +
  xen/arch/x86/Kconfig              |  1 +
  xen/common/Kconfig                |  3 ++
  xen/include/xen/domain.h          | 17 +++++++
  7 files changed, 73 insertions(+), 26 deletions(-)
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
For RISC-V:
  Reviewed-by: Oleksii Kurochko<a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Mind me asking then why RISC-V needs this at this point? The stubs surely
were added to address some build issue, not because they are actively
meaningful?</pre>
    </blockquote>
    <pre><span class="add"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);">Only because we have stubs and not to have redefinition compilation error.
And, yes, they are not actively meaningful now, at least.

I am okay with not enabling of this config for RISC-V but then seems to me
we have to drop stubs in riscv/stubs.c.

~ Oleksii


</span><span class="add"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);">

</span><span class="add"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);"></span></pre>
  </body>
</html>

--------------txHr0TffMXjD4Y555X3JuzY4--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 16:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 16:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920963.1324996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuwfq-0003so-LO; Wed, 19 Mar 2025 16:53:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920963.1324996; Wed, 19 Mar 2025 16: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 1tuwfq-0003sh-Ie; Wed, 19 Mar 2025 16:53:46 +0000
Received: by outflank-mailman (input) for mailman id 920963;
 Wed, 19 Mar 2025 16:53: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=GTXv=WG=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuwfq-0003sb-6b
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 16:53:46 +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 b7c2ac72-04e2-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 17:53:44 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5e5e8274a74so11326637a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 09:53:44 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac314a47f0bsm1024445666b.157.2025.03.19.09.53.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 09: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: b7c2ac72-04e2-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742403223; x=1743008023; 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=f5PeJ+e9975EId6gmH/yMDfslg3LOwlUCnoQdj1JzPE=;
        b=Jp7qMo15LcTqIm/4xVy6YAPHv2/pMLwVTsyK+0ytgPLt9tM2XOYSLVshdHvJ8DOnAr
         oG9FvdP/0mPq9WhbhStU5vjJDOXagIXKN8Ap1YL7WTCYAHWNEy0l+gh3zg1jpgZ2BlXW
         8GMO17dHNKF8ykbzFV0f7l+H/9zPSLEFMM19qfylHwWqqmuk6AC3p3OyKda9xknF48L/
         YNpXxrEisGXJtoZsnKC3xPT1VFgCaHpJvbytwlfZXIsOUgFxLl18q2JWu0S1IEZaM7R8
         KOTGAaYNoW7a8MIED2H04ARhQ384KmiqYhUBUxETOIHoUjQy7fE1ZknO0giJL/HeFP1j
         TFmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742403223; x=1743008023;
        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=f5PeJ+e9975EId6gmH/yMDfslg3LOwlUCnoQdj1JzPE=;
        b=lGj2mmnE42szfV4BnSnenoPEoCWSxPf5dy7w9SWR2mf0OJz5BxOvQbBOeiPXEwSq9E
         zv+QV2jYFqH0BX+URFf5hbkty6LKIZPQNWkaoOJszfeeyQrFTny8eXrrNnvKPCUBDrWN
         EoRCj5DJXWJDFnCWKuhiNfpnEBaPcmxP2tLfuo0G6JxD3bXaOMReZ0m0gwU7tdq79t0D
         zS+eOaOByvhJsNQNMiuOV0mA1gtjbp6ABeG/aJrS/iDnn4uwnF8za9vltcW7Ps+IF8ox
         cAeg1kTGAXBuLKI5TCvGv2AY1TTRCS/SCS51yDiPtLwB5kOemVtAbaB3GNzwg98QcLqV
         9s0Q==
X-Forwarded-Encrypted: i=1; AJvYcCXaWiZQO2F0k52FjyW6WW3YHrTLu0+peaWs3ZrajMLY74iapPSRh2sQW7mY5tsHcesqi6tK9IprPtM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx3JvOKCte3qrt5MM869M+y+p2UG0tcS/dt1r3Hj7nxrG6Oj7+4
	gnapehq4WhXIubzr9N/bJACw+MLXS8kdoYLM/P9ob1f2AFzLLgc8
X-Gm-Gg: ASbGncsIyMM2A54Kokvy/BfcBeXzGnHMUiX+rMPdB1jlyAHXDsGtLqPE5VWVg0wGbMZ
	dhDDpY+M9ALH9CqTRs1nj0RdRgCnqCObvYKhxwbr5+PdH28RZ1Nv6dby6ZmRx1OHTqBosZmBZtJ
	FLCT1GiMupmlpiOCQ5kPo/vy/2hD1w8UfR+HnO3hMI7wbd//2OT8eejI587tmYlL0dJksLU00uW
	w9TrniY0v2ePU6oNX3jPSFNpWSOK7TL2lEjkVD6GH31TCZRdozu/sF2CATZEO/3fDjhxyjHqUfF
	5RD45sWdJ0lgiLu5pwknM8+o8aPwHEBHhtDCTWNxow8w12yP0l9QL3/9H6cNcy1hzhWpANCktU3
	DnN0vSssLd6TShdNeaZuCDIot2e49apE=
X-Google-Smtp-Source: AGHT+IG9aah3rqDSaP7vAOmS9diIPIibsa2PoufhDPkEoi5O/WWup5l9gOCTB6r41mIiC/kjYkgY/g==
X-Received: by 2002:a17:907:2ce2:b0:ac1:791c:1532 with SMTP id a640c23a62f3a-ac3b7f79733mr364120566b.51.1742403222588;
        Wed, 19 Mar 2025 09:53:42 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------MsIy0UqQ2CQW2m000Ifuigc0"
Message-ID: <cb51a830-9db2-4543-b180-22f4c412c812@gmail.com>
Date: Wed, 19 Mar 2025 17:53:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] automation: select APLIC and IMSIC to handle both
 wired interrupts and MSIs
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <31ee47c8906f13869e085e442b285d7ca6202023.1741709885.git.oleksii.kurochko@gmail.com>
 <1edd3466-e999-4cfc-99e8-e701581806a2@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <1edd3466-e999-4cfc-99e8-e701581806a2@citrix.com>

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


On 3/17/25 8:40 PM, Andrew Cooper wrote:
> On 11/03/2025 4:19 pm, Oleksii Kurochko wrote:
>> By default, the `aia` option is set to "none" which selects the SiFive PLIC for
>> handling wired interrupts. However, since PLIC is now considered obsolete and
>> will not be supported by Xen now, APLIC and IMSIC are selected instead to manage
>> both wired interrupts and MSIs.
>>
>> Signed-off-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> Acked-by: Andrew Cooper<andrew.cooper3@citrix.com>

Thanks!

>
> Presumably the version of QEMU we use is happy with this?

Before sending the patch series I ran the pipeline:
   https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1711201897

And based on the source code of Qemu the support of AIA should be present from 7.0.0:
```
$ git tag --contains 28d8c281200f20a060c456c81fd1564f3d119fda
staging-mjt-test
trivial-patches-pull-request
v7.0.0
v7.0.0-rc0
v7.0.0-rc1
v7.0.0-rc2
v7.0.0-rc3
v7.0.0-rc4
v7.1.0
...
```

And in Xen's GitLab CI it is used 7.2.11:
```
$ CONTAINER_NO_PULL=1 CONTAINER=bookworm-riscv64 ./automation/scripts/containerize
*** Launching container ...
user@6a1d1f0077fe:/build$ qemu-system-riscv64 --version
QEMU emulator version 7.2.11 (Debian 1:7.2+dfsg-7+deb12u6)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
```

~ Oleksii

--------------MsIy0UqQ2CQW2m000Ifuigc0
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 3/17/25 8:40 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1edd3466-e999-4cfc-99e8-e701581806a2@citrix.com">
      <pre wrap="" class="moz-quote-pre">On 11/03/2025 4:19 pm, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">By default, the `aia` option is set to "none" which selects the SiFive PLIC for
handling wired interrupts. However, since PLIC is now considered obsolete and
will not be supported by Xen now, APLIC and IMSIC are selected instead to manage
both wired interrupts and MSIs.

Signed-off-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.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>Thanks!</pre>
    <blockquote type="cite"
      cite="mid:1edd3466-e999-4cfc-99e8-e701581806a2@citrix.com">
      <pre wrap="" class="moz-quote-pre">

Presumably the version of QEMU we use is happy with this?</pre>
    </blockquote>
    <pre>Before sending the patch series I ran the pipeline:
  <a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1711201897">https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1711201897</a>

And based on the source code of Qemu the support of AIA should be present from 7.0.0:
```
$ git tag --contains 28d8c281200f20a060c456c81fd1564f3d119fda
staging-mjt-test
trivial-patches-pull-request
v7.0.0
v7.0.0-rc0
v7.0.0-rc1
v7.0.0-rc2
v7.0.0-rc3
v7.0.0-rc4
v7.1.0
...
```

And in Xen's GitLab CI it is used 7.2.11:
```
$ CONTAINER_NO_PULL=1 CONTAINER=bookworm-riscv64 ./automation/scripts/containerize 
*** Launching container ...   
user@6a1d1f0077fe:/build$ qemu-system-riscv64 --version
QEMU emulator version 7.2.11 (Debian 1:7.2+dfsg-7+deb12u6)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
```</pre>
    <pre>~ Oleksii</pre>
  </body>
</html>

--------------MsIy0UqQ2CQW2m000Ifuigc0--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 16:58:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 16:58:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920977.1325014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuwkN-0004Y5-7s; Wed, 19 Mar 2025 16:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920977.1325014; Wed, 19 Mar 2025 16: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 1tuwkN-0004Xy-4n; Wed, 19 Mar 2025 16:58:27 +0000
Received: by outflank-mailman (input) for mailman id 920977;
 Wed, 19 Mar 2025 16:58: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=GTXv=WG=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuwkM-0004Xs-Kk
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 16:58:26 +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 5f641886-04e3-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 17:58:25 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac25d2b2354so1227288266b.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 09:58:25 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e81692e670sm9264516a12.14.2025.03.19.09.58.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 09: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: 5f641886-04e3-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742403505; x=1743008305; 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=9lg26nt4JtoZFWpPpt7QijCAYWro5vRHfhsEiF3Z6eY=;
        b=EzQ5JjSot9sF3xV6mzesTxJ4kwYagmXm6WUhkLxWW8HL1d7B2QFL4dO+KhKMhca5zE
         pR/YejnLNDcT6XdCu8vfyF8EqbRrZuu68W4kiq/LtaE3qDEEFS1mjJPXbZWVcNysW4Fh
         B7GNiNbqqbNPYgH37SNavgdbTZXXSIZOrzU9V5HP3k8+PEOmeaqvI7eeA9upUlzCuLga
         tJERYw0T5hbJKkqGkmz4EgpLoWRJLWQ33R2F0RO+GJkF5lWX0g5umUGoUTpCor9XyJ+Q
         clMZg6KTOV/ydBlUKyGaVN+B38UDWa2wh4vg+VYBdAAaerPafcPNcBEt4ttcEo7bS3SH
         r+gA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742403505; x=1743008305;
        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=9lg26nt4JtoZFWpPpt7QijCAYWro5vRHfhsEiF3Z6eY=;
        b=wTh8i+ZbKWgfCkAiw1iNhPeS2R/M4XhJOsHuZKEULuoLxYZCxlAjz3pOtSwm1b+9tm
         nEHFdCge7jz4KGDa9WNYeIPjpIYFt0SoTqManbdSKW5Pf3dTYUY0x4m4+dIhLSAMiM6A
         HaC1kvqY5mUTsh7ZK3lO7L21d3sIwjnHJ7LsQcUcHPwChmWOYKwdyV7jVK0UZRC8vDkM
         oLeBGi+o3uGHFiQnKEI3Uabt1oQuJlULWnQl41Z/No7GnU1/LsXbYagnAYhzhs0/1MA1
         AfbgyXQ17hTWDjTAA7j9URCqHmgT5EOYxUTH0+rA14JjbMSDGxUgDEUwpMMi9pL+eVri
         4jbQ==
X-Forwarded-Encrypted: i=1; AJvYcCVSThFKWNLkhrurbuWLyXHspz2Xde4qEnciCuwpvbx6QJdcxrPIlgGJHDAJ5pzWoypCNatdzweT6GI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6M3nFUuxntUx8rE2KkFZyH4yfb7uJyAO/igHPcZc61PbZNw4Z
	so7bWTQpmgDfTIrXbFTbDVffNzEn/d6ioPlFDP9YVqvTK9Su7NLi
X-Gm-Gg: ASbGncu3MBeH7kJbROmGwLuCC4IGTxdNJHG1tPtQlSgD07Gdm72X+jwvEe6x0Ujt/TP
	NCvyAvzRjmzdaziTSINvj8KZL3DJKEpc84i0Na0O8yeL0kcKEXxzJAIxbbILlt+fQSfYGw+LzYy
	SILpM4rKZ8E3ZBdiWl4hVfZ379kpbqcnybqve1KXwXgJRl6V9a3Zdye8YQiOl3ZIwnHga0ocPE+
	/lQe1I/47oQhDnsYOTAuw28dq10rFl9p3R60PcxBbYT7+1USc/k1/t3l2u3b3Lmmd688ZYBJiVL
	4BCijlx32V1dZ5LSQa5WlmA14r7gy5l9fjZ6jXKE43YzmymRfTJUUDI9xgTy/kT0s1F7byfauxC
	AUoRyuybvufR+4ta5pysB
X-Google-Smtp-Source: AGHT+IEOnbmc6M/94hDQ9MVa974C4JSB+0oG1bEqcKJ8a1VKMDeUrmU2ls+heMDSsifb7gMN+/yx7Q==
X-Received: by 2002:a17:907:868e:b0:ac1:e881:8997 with SMTP id a640c23a62f3a-ac3cde7f20emr31502566b.3.1742403504577;
        Wed, 19 Mar 2025 09:58:24 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------6gpUFmdDgs0Dijjl5CULfiAz"
Message-ID: <a17037ea-7a0f-4455-aa55-ac40ac58a93d@gmail.com>
Date: Wed, 19 Mar 2025 17:58:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/riscv: implement basic aplic_preinit()
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>,
 Romain Caritey <Romain.Caritey@microchip.com>, xen-devel@lists.xenproject.org
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <6e2212313a47772d6929ae76f5e4be0f365766e9.1741709885.git.oleksii.kurochko@gmail.com>
 <9187583f-a4d0-429e-a666-113c4f8aabaa@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <9187583f-a4d0-429e-a666-113c4f8aabaa@suse.com>

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


On 3/17/25 4:40 PM, Jan Beulich wrote:
> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>> Based on the code from [1] provided by Romain Caritey from Microchip
>> with some minor changes():
> "Based on", to me at least, suggests an import from some other project. The
> reference looks to be to a Xen tree though. With that, a proper description
> would then be needed here, rather than a list of differences.

Sorry, but I don't understand fully what kind of description is needed? Could
you please give me some pointers?

>> +};
>> +
>> +static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
>> +{
>> +    if ( aplic_info.node )
>> +    {
>> +        printk("XEN doesn't support more than one S mode APLIC\n");
>> +        return -ENODEV;
>> +    }
>> +
>> +    /* don't process if APLIC node is not for S mode */
>> +    if ( dt_get_property(node, "riscv,children", NULL) )
>> +        return -ENODEV;
>> +
>> +    aplic_info.node = node;
>> +
>> +    return 0;
>> +}
>> +
>> +static const struct dt_device_match aplic_dt_match[] __initconst =
>> +{
>> +    DT_MATCH_COMPATIBLE("riscv,aplic"),
> Iirc this requires use of __initconstrel, which would also be nice to
> be put between type and identifier.

Could you please explain why do we need __initconstrel? Arm uses only __initconst
for such definitions.

Thanks  in advance.

~ Oleksii

--------------6gpUFmdDgs0Dijjl5CULfiAz
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 3/17/25 4:40 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:9187583f-a4d0-429e-a666-113c4f8aabaa@suse.com">
      <pre wrap="" class="moz-quote-pre">On 11.03.2025 17:19, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Based on the code from [1] provided by Romain Caritey from Microchip
with some minor changes():
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
"Based on", to me at least, suggests an import from some other project. The
reference looks to be to a Xen tree though. With that, a proper description
would then be needed here, rather than a list of differences.</pre>
    </blockquote>
    <pre>Sorry, but I don't understand fully what kind of description is needed? Could
you please give me some pointers?
</pre>
    <blockquote type="cite"
      cite="mid:9187583f-a4d0-429e-a666-113c4f8aabaa@suse.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+};
+
+static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
+{
+    if ( aplic_info.node )
+    {
+        printk("XEN doesn't support more than one S mode APLIC\n");
+        return -ENODEV;
+    }
+
+    /* don't process if APLIC node is not for S mode */
+    if ( dt_get_property(node, "riscv,children", NULL) )
+        return -ENODEV;
+
+    aplic_info.node = node;
+
+    return 0;
+}
+
+static const struct dt_device_match aplic_dt_match[] __initconst =
+{
+    DT_MATCH_COMPATIBLE("riscv,aplic"),
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Iirc this requires use of __initconstrel, which would also be nice to
be put between type and identifier.</pre>
    </blockquote>
    <pre>Could you please explain why do we need __initconstrel? Arm uses only __initconst
for such definitions.

Thanks  in advance.

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

--------------6gpUFmdDgs0Dijjl5CULfiAz--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 17:05:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 17:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.920989.1325023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuwrW-00070P-Tu; Wed, 19 Mar 2025 17:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 920989.1325023; Wed, 19 Mar 2025 17:05: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 1tuwrW-00070I-RF; Wed, 19 Mar 2025 17:05:50 +0000
Received: by outflank-mailman (input) for mailman id 920989;
 Wed, 19 Mar 2025 17:05: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=GTXv=WG=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuwrV-00070C-S7
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 17:05:49 +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 67a07409-04e4-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 18:05:48 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ac25313ea37so1362177666b.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 10:05:48 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3149d0bc1sm1053936866b.105.2025.03.19.10.05.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 10:05: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: 67a07409-04e4-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742403948; x=1743008748; 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=M8I+jk5Xqoa7f7e8E11bmoLcYhdvkBlXUlAE7X4ZcoA=;
        b=MIpwpDvafw+K5w/IOX6aREYJWMdMpVf9D3snH/vp3Mfu2e6YCD2sZpiOImhNZVI5Mv
         rIGRaiPBMSdn1PpAUIsFeMdr08PzC1yojYLcS7MZ5QZNLUntvmdZYcjhjqkLAOiv3QS1
         Ipuq+68Er1ymNpedOFZ/Qx8n9bL3oSZVESoG0xxFADvMKqKQU2nt5J9BQpaHfO/wpY1/
         A0lQzhGBj7Bj3Q8Ire6PqVJc/5d5F2JANymNfeNp8SvLE67d847QbzrbbF8MAZzwXWtj
         bHTfwEfohGanThJp1KMVlwaSOVe1vNMMIxsaYNyzB9q5jayvdVkqGNPShwvIfiOzQWHl
         4IPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742403948; x=1743008748;
        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=M8I+jk5Xqoa7f7e8E11bmoLcYhdvkBlXUlAE7X4ZcoA=;
        b=snx9WtNHPkhaNd/IF857+i1+QJe3vNbRAUvptL3KGTadATp/oDecKhlINNWOa8gj5V
         gT634oBRi5Ns6pl9KhL09gHL0Lz4lpkRDH+t1Ga38dNzhv49d8N9t0B56Ol/ok5AHx8r
         VWhNRTfEcwWXb53tjN8VMkG/h8XZsoVLwC+5U4i9e/2j9lJOi9k/z+P0Nuu3WekIdT56
         befqDVqEei42XKC1Py6kIGOe/Ex+fpkITSk0rX48MnRJN5bQWUolsTd/PzKxZhbWNBkB
         d0aF0Rw+31Cu68eAn/alLVW91LRimTbS7BPgqizdBqcG5EKD6mMQmtjXo7XQtc8+5twu
         BUHg==
X-Forwarded-Encrypted: i=1; AJvYcCXk5+famh4Wm+zYrAPxlpxPEQVbb8ATMWxWZcWyFQk7Q7hz4cm/eHZmu9rG1hQof/F6epK988LBa5w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy0JxjpFEh9fnIlh9h3qxrlouXz/kkLsTll6mHE/12ir63dBDIA
	t+BoB+AK6rFOFRNX0r09X2A1ETZRqId2a/RQSQnpuxqeBnfxEaVZ
X-Gm-Gg: ASbGnctY/FTN3x7vG/TByW5uL5tk925dZLaQ3tndeMrt+0SpGz+lr5sA+hMB1W9tpy3
	TRBbDMrhYSc+t2cx7R419MF+4YpL/Bw7ORnAYUF9r0Z6ZK+L9A8g9sOyh1iW9rdbb9yOH0XH1Ll
	ZPXLRuSB3hjdgXQFrBij1tpAuEU2+I3p0aTTToLzM3JKqxfpdodRVFWFXEECfSBuj9xaZhfn81E
	nEkIaNkPy75iY6hxnsEnwrH+cd7nQXXUBjzRSBkHDKPY/uREwVJwD7QgyL103fOGSzT0oStcfoO
	XfmjJzBpTl415/WIgw1KRFO6qKu/DxzI6G9e1vXp5EHa2WegqOIwW7gRFz0UDYumsayp3QHsyEb
	Dyo2RErbucZNtgWHHrEXm
X-Google-Smtp-Source: AGHT+IEi8u+C6OT4xWL0PFFUXqqZD1M/jQuy+wjHz1dEDGaOvbXwKWJ4bKVbypQba1l+JJunao6tTw==
X-Received: by 2002:a17:907:3fa6:b0:abf:4c82:22b1 with SMTP id a640c23a62f3a-ac3b7e7de86mr312055966b.32.1742403947845;
        Wed, 19 Mar 2025 10:05:47 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------PmtPq30k6G48vI80VGTRdYa2"
Message-ID: <aa1d8b9b-a02a-4134-92f7-f350fc537da2@gmail.com>
Date: Wed, 19 Mar 2025 18:05:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/4] xen/riscv: introduce intc_preinit()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <d89d647a0b71b0a0bc8aeb90395b28bcab15074e.1741709885.git.oleksii.kurochko@gmail.com>
 <c9f6bfcc-cf74-42bf-bcf3-65ca6c89bdd5@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <c9f6bfcc-cf74-42bf-bcf3-65ca6c89bdd5@suse.com>

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


On 3/17/25 4:46 PM, Jan Beulich wrote:
> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/setup.c
>> +++ b/xen/arch/riscv/setup.c
>> @@ -16,6 +16,7 @@
>>   #include <asm/cpufeature.h>
>>   #include <asm/early_printk.h>
>>   #include <asm/fixmap.h>
>> +#include <asm/intc.h>
>>   #include <asm/sbi.h>
>>   #include <asm/setup.h>
>>   #include <asm/smp.h>
>> @@ -128,6 +129,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
>>   
>>       preinit_xen_time();
>>   
>> +    intc_preinit();
> And there's only ever going to be a single interrupt controller type on RISC-V?
> IOW - no abstraction needed?

Yes, we are going to have a single interrupt controller on RISC-V.
At least, at the moment in downstream we don't have other cases. make_intc_node() (it is
introduced only in downstream) which is used during domain build also expects
only having one interrupt controller.

Also, Arm lives for a long time with single interrupt controller.

~ Oleksii

--------------PmtPq30k6G48vI80VGTRdYa2
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 3/17/25 4:46 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c9f6bfcc-cf74-42bf-bcf3-65ca6c89bdd5@suse.com">
      <pre wrap="" class="moz-quote-pre">On 11.03.2025 17:19, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -16,6 +16,7 @@
 #include &lt;asm/cpufeature.h&gt;
 #include &lt;asm/early_printk.h&gt;
 #include &lt;asm/fixmap.h&gt;
+#include &lt;asm/intc.h&gt;
 #include &lt;asm/sbi.h&gt;
 #include &lt;asm/setup.h&gt;
 #include &lt;asm/smp.h&gt;
@@ -128,6 +129,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     preinit_xen_time();
 
+    intc_preinit();
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
And there's only ever going to be a single interrupt controller type on RISC-V?
IOW - no abstraction needed?</pre>
    </blockquote>
    <pre>Yes, we are going to have a single interrupt controller on RISC-V.
At least, at the moment in downstream we don't have other cases. make_intc_node() (it is
introduced only in downstream) which is used during domain build also expects
only having one interrupt controller.

Also, Arm lives for a long time with single interrupt controller.</pre>
    <pre>~ Oleksii
</pre>
  </body>
</html>

--------------PmtPq30k6G48vI80VGTRdYa2--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 17:14:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 17:14:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921001.1325033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuwzK-00012W-LQ; Wed, 19 Mar 2025 17:13:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921001.1325033; Wed, 19 Mar 2025 17:13: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 1tuwzK-00012P-Ip; Wed, 19 Mar 2025 17:13:54 +0000
Received: by outflank-mailman (input) for mailman id 921001;
 Wed, 19 Mar 2025 17:13: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tuwzJ-00012J-HL
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 17:13:53 +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 8646773f-04e5-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 18:13:49 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso33692645e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 10:13:49 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb40cdd0sm21576382f8f.77.2025.03.19.10.13.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 19 Mar 2025 10:13: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: 8646773f-04e5-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742404429; x=1743009229; 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=s/g17zJ07S6L56H0Nj1u+OEDvQkGg1PkZ057c/eNwig=;
        b=N+0v9ErOtwUG3ARzhnb9PvN4TZKaN8Jl3/cAsy/7C28tjl0K5AVrbxetDgYKkjyuAc
         HCFDvXpFlxeBeUa7JopFOgbXsRELsOUE8H/F8G5wU/S+ZE5ODN/x36mlkGMost9WLKZE
         ksJAjM+visf4kwqaaKM9a6XsVHPZ+hqg80hM8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742404429; x=1743009229;
        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=s/g17zJ07S6L56H0Nj1u+OEDvQkGg1PkZ057c/eNwig=;
        b=w5eeDGAkGVDlgH7nb4+u8vF/rwkrS12hhp+9bdQoABNpIYNuWIypaU2AQION5xOecq
         NQvLLwlQicaBC5oc2RE0Wn7lSLHGMlejXXsqmXQoIZkiKnB8g5QruVeKc7enpjlPIlU7
         fHaUq9g69dFvalEjQqqo7nz5ahQxtyx5XCrfpxbma48fi6suhmneeAovFpRLgjXI3om2
         nwLlSnrtUqCtGDstBAiuDf9xkC9+UBRUpxOBXnsyQ0UYFQmk5Cfj0o4h+92rpBF6TQDz
         GqRShrEZGmhhdZVqyRG6ukClovD8Rcm7P4Ce8/N5BGQrHRngN9MF+AWvFJxY8AHmQGQY
         2cfQ==
X-Gm-Message-State: AOJu0YyuTmw75JvavwlGvkTmvvai86bC+aXEvbGndOVELiK3jfKdLJcz
	8MiVOdK5RDwS985j9KFwZHh3mFkufcwMaUv6RrtT4pxWGgyHqBkykYuUDhXNhBd3CJkRVO6kfaM
	a
X-Gm-Gg: ASbGncuwtW7tTyaYAgCvLvYsOQdtjxPzPo+XZhHCA8OHRUhkzT0pQPNy9USRuI70+H8
	IBLrNtKAS0KOOAwUH5GHbMXpUOc5m1XZdcBOIcLyrSnHrDpEsEM7xnfkZgBcN/t+C+Y8A5MnhSv
	c4+JrBc2Y8hpVFGfAT8Im/kYe3meLxRpg4sYcdRAnf6VjLJNLG9zcUgp6ggTMUfOMHihc4YtXqZ
	VrPyVGQL+BEa2WMKQQHNEk5xPbOz+XqS37//7zQeasI3hJ8nNENqdHXbdtmc0hTfIaNs6FYeRVh
	PIiMsLCvt9/MH5faPX/lXIEd8eVRYoy3s7r34U445vWel4Yn3hLZOld3vn8/OsFPBlyI/V0x9GU
	keA9KkE+1v1QhL/dQXg==
X-Google-Smtp-Source: AGHT+IEquiE8XZBGWoym6oL+iQeU8yimqu7DOvc3MBOUm4Uj3WPdUxaSWuKolTww5wF/vI2yiIAgxg==
X-Received: by 2002:a05:600c:3ac6:b0:43c:fe85:e4a0 with SMTP id 5b1f17b1804b1-43d4378b869mr37242705e9.7.1742404428834;
        Wed, 19 Mar 2025 10:13:48 -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] x86/boot: Simplify the expression for extra allocation space
Date: Wed, 19 Mar 2025 17:13:46 +0000
Message-Id: <20250319171346.19478-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

The expression for one parameter of find_memory() is already complicated and
about to become moreso.  Break it out into a new variable, and express it in
an easier-to-follow way.

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/hvm/dom0_build.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 6a4453103a9a..6591949984b8 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -654,6 +654,7 @@ static int __init pvh_load_kernel(
     const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
     struct elf_binary elf;
     struct elf_dom_parms parms;
+    size_t extra_space;
     paddr_t last_addr;
     struct hvm_start_info start_info = { 0 };
     struct hvm_modlist_entry mod = { 0 };
@@ -711,13 +712,16 @@ static int __init pvh_load_kernel(
      * split into smaller allocations, done as a single region in order to
      * simplify it.
      */
-    last_addr = find_memory(d, &elf, sizeof(start_info) +
-                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
-                                      sizeof(mod)
-                                    : 0) +
-                            (cmdline ? ROUNDUP(strlen(cmdline) + 1,
-                                               elf_64bit(&elf) ? 8 : 4)
-                                     : 0));
+    extra_space = sizeof(start_info);
+
+    if ( initrd )
+        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
+
+    if ( cmdline )
+        extra_space += ROUNDUP(strlen(cmdline) + 1,
+                               elf_64bit(&elf) ? 8 : 4);
+
+    last_addr = find_memory(d, &elf, extra_space);
     if ( last_addr == INVALID_PADDR )
     {
         printk("Unable to find a memory region to load initrd and metadata\n");

base-commit: aa78a7d10c6c2ef877b34d119a6db934c201ddfd
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 19 17:20:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 17:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921016.1325044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tux5I-0002Hq-Dj; Wed, 19 Mar 2025 17:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921016.1325044; Wed, 19 Mar 2025 17: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 1tux5I-0002H8-Ae; Wed, 19 Mar 2025 17:20:04 +0000
Received: by outflank-mailman (input) for mailman id 921016;
 Wed, 19 Mar 2025 17: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=19Ti=WG=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tux5G-0001m2-BA
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 17:20:02 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2608::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62dcc950-04e6-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 18:20:00 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AS8PR03MB8020.eurprd03.prod.outlook.com (2603:10a6:20b:42b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 17:19: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%4]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 17:19: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: 62dcc950-04e6-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AjM9h1PJtlBZQE23w/4WrNeNdK7/tTOgsMtkVlrFPVJf1UIf1BuWz0jmW/tV9tsDskTSshsuwa/qmR14SoeBn21oL1j8w0KS/wSy9aiDbnapG43xNi8TxgCCvjnpEJ+GB8FLSjdVhu2gQg3jAJqJ0mgX7LijG08weKOOdBir0X3bcSITMD4RdYq6BUM30N1DSMH85Dh2X+ewwPrmLrNbf5pm4h3ercKy2Ethg1P/dWo0B6HrfgGRIUMDQUk2S3rSMER6fOP5tO5luZdQaYfDYK5iswBda74/y2E2sZVJiQd/ksuGVjIomUnErezXduuWygIlouSTv/3u9X/CLTBx4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rO39lpJ9m3pvti7otaTyIEzwEDx2/0u8Q2SmAR9HyGA=;
 b=C2BX/4b0a1x1gq7c3qQq1gj6mSgdoAYwt5GcsvTKyTRiYiIBBmy6nFsHgws52Eg0/hle0/Tl11Yt96TSHXWC+J3fr64/nxcbex4JQ7K2Pxf/yDT7HcVzinBVotCGHpaaTVjOngvsL6Bo86eeICEIPw+CKQ5ETheUIQB/jH1CDgnmxWC1XXRbPypmDJ/uPY0MUTR7wNM2Y3z2EeH6qkgJtWCL7VA7cIxQFqJlF1tYYmpJwX5UQ3leVSlM3s4Yj9CKXzJAi65mGZ5ZUhvx0JTincze55iXgRRYi/arDQubWeBlalD64Ir4aGVGnZxMwcSFz5EhsagzZrExmD0rxqdPWw==
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=rO39lpJ9m3pvti7otaTyIEzwEDx2/0u8Q2SmAR9HyGA=;
 b=MqAjJDxaEh5G7UlBgcDe2h9wpu9sGuTKnTwdTQLIt3p6OD8+1jATN1TGHsIlBKrI5Px3Zn/ehee+e2vMBTw8OVFfJUvXPpNwBCjbaLk4NqfZLMhWBjh2qqKHdT7PXOzfAlQa/F9DeCrskq1t6yQW3QUZIqcoDEpDWvI5Lz/yQy5inZEZZtm17lBDTKWQoJ5i6IviU6AG1hPEEy75NWQZBusXX1GTqjx5W/h1OThloBy4O8UBNzcdtJ3tiV0XpgMHcv3c8PuaxaWEEf5biPWc1Hy2kyozT695DJVR6qsCF6qQ87i5LohisT23B6nvoesZpScsOI+jF6vMrtpQFJ2mSg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <305d8558-9365-4c31-a3ac-4eb7eb83a907@epam.com>
Date: Wed, 19 Mar 2025 19:19:56 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
To: Jan Beulich <jbeulich@suse.com>, Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@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>,
 Mykyta Poturai <mykyta_poturai@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
 <6eddbd26-88ca-4d0c-b56a-4e7abcc3933b@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <6eddbd26-88ca-4d0c-b56a-4e7abcc3933b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0019.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c9::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_|AS8PR03MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: a439841d-eb1b-484c-4a4c-08dd670a45f0
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?QlhiVnpwdlhRRGlIMDFBNEErVjJVeCtmdW9MR2ZUREE3YnBDakZEK3JNek1W?=
 =?utf-8?B?TUMwdmpNRXlEVTdYbm5BdUFmS0VrOUpxMTd0Z0lzUkh0UHA1NjA4SzNwdmNu?=
 =?utf-8?B?aDFCSzZJZ1lZcnFqck5IdndTdmRuN0FkN2k2SEY0Lzd2bXk4K1N2RnFURVJw?=
 =?utf-8?B?N1R4b0xUZkE0M2JYYTBybVhXQ1ZwRHJBQk1zUUxna0dqaGxYUkRGRThONjc2?=
 =?utf-8?B?VjB5cnJSME1EMU1CblN4NXhFT3ZnenRlRWxsVHlkKytsei95M1VSOTIvdnov?=
 =?utf-8?B?d09URnJhNzZTa0FoTGtEa0I4SitiSkVyV1VscFpRWGZUUUtNQW9OamdMYTNX?=
 =?utf-8?B?Uk1aaVBpUkY5WkFNMmdtam5mYlhrc0hIb0cxSVg1eng0RzMwOEJkZXprSGc4?=
 =?utf-8?B?OUNaWTJLbklRcUxGMDYxUnRZa1hxYkpLV2l4S0V2bzBnMmxkMnA3Z0pOSU9W?=
 =?utf-8?B?dVFyL25nakowQnJPYlNLb1prenRHTE1PS3hCaThIRkVHeHBKYkhzZDM1ektl?=
 =?utf-8?B?dTJrejRWUHF6aTVVV01xaDZZS3V4TDlDL3BKTlBFYnBScTI5SFFNU2FmMXZ2?=
 =?utf-8?B?d1dNMllBckpsTEw2VGdDU0RQV0JkbnovdTBDbW0yd0ZjN01SUGFqcmhaL0dG?=
 =?utf-8?B?Q3JtMFo3MytOc0w1M296bUxEUkJGMDQrUVgxMkdpbmdKYzlDS1ZLRU1jWVZz?=
 =?utf-8?B?cDliYkZYTldsZkR4alhpMUVOQmtReU1LekFxNk5PVmNPUUhWRTk0dS9xeUZ1?=
 =?utf-8?B?Z0M4clRJd09OZktUUlpseXZseVhHcE8zczZBcmwrYjYrQytlV0V6RHNqQnFm?=
 =?utf-8?B?M2RTUmVqNzZiUmM3M2UwNGlpZGdYK0gySDdyZUZWa0FqOERqZVZRNXBLaUIz?=
 =?utf-8?B?aXpuN0NHcjJ4dzR4cXZyVm9vUVpUNTRWSSthQTZ5K2txTWV6S1lrVGs4OTBL?=
 =?utf-8?B?SjRjN3lnWjJmc2h2VzF2RmVZSUNPZ29JVlg3enM3ajc3UlhBalFDcGVib0Jn?=
 =?utf-8?B?dVNxV285dWtVMWtBSGFEZ2ZXaGcxNlduVUFLUGhpb3NHeVNFRC9XQWJUb0JN?=
 =?utf-8?B?MGRhcnBwckZYcWM1L203M1pQRUdpWDdlRWxlOGNEeER1ZUVmeGgyVUlKVDNz?=
 =?utf-8?B?WWxGOStVL1lhaFgwNXh4N1lEZzMvOUNCN1VsRG5jdUJIT2MzeklsSml0NnFY?=
 =?utf-8?B?V3BTY2V6QUI3aGJ5Zy9VNEppbkQ0N0dKOGljU1IvTTVGUkZuazd1aGQ1T0J6?=
 =?utf-8?B?S3NEWG45c3Y0aHBrbHRJdGE0Ni9sSVVEMXY1a01obGRiKzRuMmdEMUswbVQ4?=
 =?utf-8?B?RnY4VGh4RmxLaWp3V0dLNW5wQU03YXR5aFhKSzk1citqeTFmS2J3NDM0T1JN?=
 =?utf-8?B?b1ZWTi9wek13S1VhYk9RV2VpdFlZeUQvbFM3V1dYeGt1b0w4UHhDcG9HNzRL?=
 =?utf-8?B?VVhDODZhelF2QVE2d3JiMGRVZ0JWbEFvT0dKNS9QS0Y3dHlXNG9zOS9tWkRY?=
 =?utf-8?B?aFY2U2lBSGdUbGpoY1laanJMQy93M2VxdVdxVFVXMGJ1clUrT3lyYmVzOURW?=
 =?utf-8?B?c1VUd2UvV2ZOU0pSb1Nuc015M0liWk9RVE1TRThmbWZSQlQ3OVM1bUM0a3VQ?=
 =?utf-8?B?cHJUU2ZOcG5nT2c2WG9LUktMeVNJNHVBeHBYQnFVZnhNZGRZVFp3bjhkR0tL?=
 =?utf-8?B?ZFg5Tk9MMU1JbHNoUWIrSGpnQ1NnZmFYY0dsaXNMVUVIbDE3ckNSYXpBR00y?=
 =?utf-8?B?MDJ3NCswOWhsQnNURVZ3bkw0VDZnOWkwdk1OQjhJYkhjbGVIQnVPcVFMVFpZ?=
 =?utf-8?B?Z0VYVjgybjEyRmZQN2hMbEdjaFBURGxOYVVRVytoZzJ3SzhKVEtWVWR2TmJI?=
 =?utf-8?Q?LbNQv3rZe8lWE?=
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?K2xrb1ZEVmpvUmpROG9SZ0JMMFM2WUM3c2NBMVZoSUg2clNOckYwWWdiK2Ez?=
 =?utf-8?B?c1BYOE5GTDN4aURSdndVUjdmSWYxOHl2bVBIK3RmNVpPQWtlczQwbGE0V2tP?=
 =?utf-8?B?ekMvcmQ3TWQra0l4eXJ1dTQ1Vk52KzBFWi90RWtXSXRQZFhVaDF2dXpGc1B4?=
 =?utf-8?B?REpVQzh4NkRaYlRQMzdQK1VZV3JrYnF6c1hXTE5Rck9hSjZsRmdTU0YvTDlL?=
 =?utf-8?B?V3AxaDBBZXBWUDhHTjRuTG5KcUwrNG53Rng2c21qSk4rbEJKcFZ4K1lHVkk1?=
 =?utf-8?B?THpZVDFlOE55UEpvUWlwemJsb2FQd2xGS2dtc1V0NmFISzMxY0krRXpOQmV2?=
 =?utf-8?B?Y1RBUytJZ2htaytBWlVlN2lObVBrRGZiakhKdnRubE5JQ0t5b1RhWnVxZGJt?=
 =?utf-8?B?UXBZR1BveWF0WFlWN2FseFVnMUNPd1dyVGp5L2FVMUpmbTZIT0hxcTZGSjh3?=
 =?utf-8?B?ZWxlak1BSm1aWUNyVGl0S1p1TlVDbFFKOTVlcUpnQWpDNTF5ZFllNG1SVGhy?=
 =?utf-8?B?MllPaUlSTXRwU2QrRTcwcDNkMGJqMU9MbW5ERlBDZk1PendVWS9aSG5Rd3o0?=
 =?utf-8?B?ODhrMm9BbFE3ZVBnSDJsRXByTDRyQkc1L0E5bEtsbHpnaGo1RWlkOUQweHBU?=
 =?utf-8?B?bTNzem44amQ5UlJROHllRlNhSTNYNHdtUkZheitnK0hmbm5lVEd1VGwxMHEv?=
 =?utf-8?B?SlhPMVZJTmErRVNZekN2WVNzR2pGd0FjVG1kQlNSWE9ReXdwdUcvMXJqazBX?=
 =?utf-8?B?M0lvclJBQ2lzRHQzQ1lzaHVLTHZzNTNGZmoyQ3o4MGdXN2NQMUx3WER5T2dS?=
 =?utf-8?B?NDBHci9rRzRGdHJsdnpCaDloMC9wR0FKd1pFc2NZZTZJb255b3o3b3B5RVpP?=
 =?utf-8?B?blJiRENXd0tRNmUyTTg2TW93THZNaHNpcGVxb3BheUdHYkIybFpvdVdEYWpM?=
 =?utf-8?B?VXY4eTZCUGR1amZ5bVhTaEc5VlgwRVZQNVlSaWFEWUVGeE9DUzF6M2JmQ3pi?=
 =?utf-8?B?dFdZYy8xMmt5THA3clNnZm95LzJDZjUxam56VWNNVXZtcXY1dlpZQmR4ZmFz?=
 =?utf-8?B?NW5xdWtIZW5iNGFJTjk2Mzh2QzgzMThXMFdxY0tySTRUT3JodzNOYkYrSUlU?=
 =?utf-8?B?R3ZmUmd5RnppZHZDemU1OWlqZjdXanpsZ2l6UUFVdXhjMnFLdGE3TklvWDJG?=
 =?utf-8?B?RGdTNW10T2JEWndQRGJzK3c5bURIcDVOaWRmQkkvZ1hVb1JvV3VrdUg1a3dD?=
 =?utf-8?B?NlJMczhsVldLaHZJL0FKazdJaU44QTgySDFlY1JNSG1Rbzk2Q1lGMFc1eE1j?=
 =?utf-8?B?aDlXQ240N3JRYTdyZ29FWU9OdGNDSklaZVM2TEV0UzBDZ2VQTVQ1ODIrbjJS?=
 =?utf-8?B?WjdPN3BxNWdoRlVWRlY3SVZFaEJvUE1Ja3hIbUNPQkVVZGVzUjdRcWk2MVlZ?=
 =?utf-8?B?R3FKWmhmdmVVUC9jMFI3Y2xHSVRWUUx1THZVdEcvNGdmQ0FCVHVGVDJ4ZU5N?=
 =?utf-8?B?SjQrTVM3Q1JSUHViWlh2YnZiSG5SMGJrUWFCSjB2ZnROSTFYSFdzUUgxNEpt?=
 =?utf-8?B?Rm1ZckovbytJTDdyd1ZuSm0zNEo2MGphTTZlOWNVOFFZM2N0YTBsTlpsSHpE?=
 =?utf-8?B?L25mVHAxSks2TzNWOTVKdGdaSStERVNjbmliMVVyQUl6Qyt2L3g1QW1XZUZY?=
 =?utf-8?B?cER0SGlYaE5HZXRKYkVyZ2JGV2Q0TUprekQrL2VYV2ZwdEhEdHJ5TVNnMWpK?=
 =?utf-8?B?a1BGWEZyWDBvUWQzMWdHNjJsZ3FEeFNTYTZua3BiZmdSeVlOR3pCM2lhSGQ5?=
 =?utf-8?B?S3ZubEVBOEVKdWR2OVc4alJCa3J5bEkrSVMvT29pRXpUbC9SVWVONnNzRTVS?=
 =?utf-8?B?WCtSek5DU3dGNlhJY0NWVVkySlhFaStrbFAzdXoxOE1aZTdibTBCZ1Q1K1lG?=
 =?utf-8?B?ajZHTGZxYzd1M0hJeFBia1RGNHY3a2xnYXg4MjUzdy9xd2lvZHJja1ZQd3Vl?=
 =?utf-8?B?Wm1QR24zREJ0elZvOVpIWWNkYktKMklYa2hYejRqZG5ldTNZN0oyYkdIR2dZ?=
 =?utf-8?B?VDFkWkdhSUE2MHpSRkRzYmNXeXVMUVVuQjRiV2tnTEFKbTlGRHpLaEVxZkh6?=
 =?utf-8?B?N1ZTTnkrVlVxajFIS2VyVmNoQTNIVlZhN2tGc3BIamxLb3hwSW03SnJIYU5Q?=
 =?utf-8?B?d1E9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a439841d-eb1b-484c-4a4c-08dd670a45f0
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 17:19:57.8772
 (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: 36wj9vyPakfj0P3phC6mvV/Oaa2PpcSVQU8tf7AatJ9N9ZeUqkBg2qSByeJKyTz6lJW7cMzrrnTtu6ojz3oizKoY/i3/w0xo+vxIwvVmo48=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8020



On 13.03.25 17:37, Jan Beulich wrote:
> On 05.03.2025 10:11, Mykola Kvach wrote:
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>>   config ARM32_HARDEN_BRANCH_PREDICTOR
>>       def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>>   
>> +config SYSTEM_SUSPEND
>> +	bool "System suspend support"
>> +	default y
>> +	depends on ARM_64
>> +	help
>> +	  This option enables the system suspend support. This is the
>> +	  mechanism that allows the system to be suspended to RAM and
>> +	  later resumed.
>> +
>> +	  If unsure, say Y.
> 
> I wonder if something like this makes sense to place in an arch-specific
> Kconfig. It's also not becoming clear here why only Arm64 would permit it.

Taking into account that
- System suspend-2-ram support on x86 is enabled by default and It's going to be supported on ARM also;
- follow up patches are adding #ifdef CONFIG_SYSTEM_SUSPEND not only in Arm specific code;
I think, it deserve to be generic option (in some way), enabled by default on x86.

Also, Arches can declare that suspend is possible, like ARCH_SUSPEND_POSSIBLE, then
generic configs would not need to be fixed every time when System suspend-2-ram enabled
for new arch.

Personally I'd introduce separate arch/Kconfig.power (or common Kconfig.power) file
for PM options (A least there is also cpufreq/cpuidel, and could be other, PM specific things).

Best regards,
-grygorii



  


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 17:21:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 17:21:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921031.1325054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tux6i-00046J-N0; Wed, 19 Mar 2025 17:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921031.1325054; Wed, 19 Mar 2025 17:21: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 1tux6i-00046C-Jf; Wed, 19 Mar 2025 17:21:32 +0000
Received: by outflank-mailman (input) for mailman id 921031;
 Wed, 19 Mar 2025 17:21: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=19Ti=WG=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tux6i-0003Ed-2Z
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 17:21:32 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20612.outbound.protection.outlook.com
 [2a01:111:f403:2607::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 995d3e00-04e6-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 18:21:31 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AS8PR03MB8020.eurprd03.prod.outlook.com (2603:10a6:20b:42b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 17:21:29 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025
 17:21: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: 995d3e00-04e6-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UQn2sP+p9VjrzNTWVoXsy4xaasdJMPnO899AWWXL+ZRYCgMG1xHsH51j9DtiydwWQS9NL3OvF4DxFJlhwJtBCMhVcVS9QcDhq91FLS8TAMUpNSoF3EfpK5TltNRwdYGJyUQS6d+fQgNbWbecRWX88eHJtVFmVPHFTAKPtBglV234Fe6z6wXyGDoOUGL0yV5vU+bm9LM3mEDtx2J37C0vMNmGuSxMXZpkjCaBNHmDXIYuwURu+93a8rmv2nh8J0Q1hwfTcVxuKJybThRH6PvNSd9L1WKysWnKDjtu8gpI2Mko9UMRZVmJIzjuT0+9KXzXvQtNBZQ0iqogIGixh94GpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sfN9l2LZfv70+xw8IcdoD2HbsQlJ7ZXEg9TVBCrEC1g=;
 b=NPLzbxo1k9kidvR8rRfLZefS82xz4S0t5RikdAYe/89NlbGLInlnH6yo97TpHdA6dl0Un5zMTPoTh87QJ2DDpJJoDsQx4bOVygw/JV+rv+BOnfdGQOyd+3dG2caWDB2VcTNxWRVv5xFemH1Dcn1U2a+uOc5CHb2DPW4Kzu8LQtG35uoaQSi4jHvsr6ItTFWBTqsw5dSDyLCKxaGGLRsCTCW0ULv35AU4SkxA2cP5m0U7O41dV13oClqe/c96WMjWmdOLvln2Lhn5im5PPxYpPvvutceXfR/Q2KEXbUr7I55cahouiuLU8iw/QvyePZml3grGXOBXwTHZBY3LT7QEvQ==
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=sfN9l2LZfv70+xw8IcdoD2HbsQlJ7ZXEg9TVBCrEC1g=;
 b=MIZIKtEm8d9MwxdIie/MFuZLRqdRtRjTuwfuB6B5yoWXjY3ZdYXlLX24HPg/oywv8I3xvzo5a86nTy8d0wQRBc18UN0PSfSeh5HMJ1NdCdo5qAiGxwx0f0ZkoSTyQHdOx9RFHNm9j0Ts4miICN7a5mFg5rZNMTbJ7UXpozw8TnZytba//xpEGHWccoV3MzXH44ChvsQRfto/7eOvngkbLH3VReL9bZGkIUzxyHUx81MynXVeHGMpfQFANSsImhk/3p6a9ePZlsrs2/pyh2EopPKmlWyuf3z4t1AWTIhKPGgYpXdZE3OmukAwCke8ezLxzr5tqTVBEYoQEfyEKtYH1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <13ed6492-9677-40b7-a4ac-e6516f7ed130@epam.com>
Date: Wed, 19 Mar 2025 19:21:27 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/16] xen/char: implement suspend/resume calls for SCIF
 driver
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@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>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <503edd5fb277699aaeb87507bb39fbb52e81f168.1741164138.git.xakep.amatop@gmail.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <503edd5fb277699aaeb87507bb39fbb52e81f168.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0020.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c9::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_|AS8PR03MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a0bb407-c03f-49fa-73e1-08dd670a7c5f
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?RkVoUEJZNTJMZGFSM0RGeDhRNDVHQXM5RXJZME1WVzVESjNPS1E2c2VUQXhU?=
 =?utf-8?B?dmx5MjNSVnZDVllGRmhZOUpudzgrWEJ3aGl2bUpmMVg4TUQzNkJoeE1ISDk1?=
 =?utf-8?B?aTdja1Zza2VJVFBMcVFxKzNITWswMXh3cVROZlNEUWQrdmpidjRpVlArM28r?=
 =?utf-8?B?MWQwMEVpcXFpRjljK0RuUmFwTHlFeHdQZ0lIUEJhdWxkV1dhRjlFRmZCV1lP?=
 =?utf-8?B?aFFmVFdYQUVnMndtc3Q3NEFxU0VNZE0xOWs2NkhZSi9tRVJ5K3c3cVZWTWdM?=
 =?utf-8?B?ekl3cFA3dUtid1Jvbzgrb0hyZ2pUcnIvdkk1VEdhZ0tvWTF6N2d3LzNPWFdz?=
 =?utf-8?B?ZzNsNEI4SEFweitQUExSZjFOeHJ5bTFtV2FHakcySDNYaEdKTVhwVDNTbGk3?=
 =?utf-8?B?dkFtZk9HSnROVGpONEp3UjkxV291bGE0aXdBSlZSdFhXRTNUTnZIYnlJV1RH?=
 =?utf-8?B?R241SlRmRC9kMmdiODFWTEJXdldGS0lldzlwR1I1bGhiT0tUek5HaWo1dVZF?=
 =?utf-8?B?VzQ1dzQ1L2IwNTA3YzRWQS90anlzYWtoN3FhNll2c1NiYVJLVDVOTWdkckRL?=
 =?utf-8?B?eHBJYnhtSDIwelFqdEplVCtuTXRsTmhSS2w0Q2s1RXJLVTR2Rk1PakI0Tmp1?=
 =?utf-8?B?UVVFYkZaWGkxb3Z0QkxQUGs4WVFBTk1EZnJSQUtQTGU0ODFkbjArR1MrYWNY?=
 =?utf-8?B?S3R2bWx1Y2FxelRsMG9oR1VNMk1lVHRkQXlEVHowWVZZb2pzTExISTc2Ymdx?=
 =?utf-8?B?ZUJLeGpFVGtvU3BwZU5XYkJkZHNMMmhCUDdydVBkeUNMZUE0R3dManpEVm9D?=
 =?utf-8?B?OWxmRzJ5OFg0MEdjR2xGNXF1QXJ5SHA2TkROTURmTVh2UTZabXMwWEQ2YzBR?=
 =?utf-8?B?enhuaVV3ZmFFMU9lQnlIOVRyb2JkUzhIZ1d0MEpQSDQ3VlpQZ2MrY2xXSU16?=
 =?utf-8?B?Mmd4c3E5VkttK3RERTZhRXpQdXZEUTU1RDRsdHRRUUNkLzFOWS9jT3p1K3FL?=
 =?utf-8?B?M2FqQ3NhazhPREFyekF1ZjdMZjJlTHBnYXZtUUdkdkErRWJiZ1FtVyttQlVz?=
 =?utf-8?B?SFd2ek1pL2JaTlRtZDh6bmxwaTh0MnhLeGdWdWwvQjNWTXRxYS9zZDduNTYx?=
 =?utf-8?B?TlJKOGk2MjVBVytwU2NWNTZoRDFqK1VqeGxKYXFNaTdDSFZ5QzVoanE5WW5U?=
 =?utf-8?B?b2plWGMzK3VjOVNNOFpzT2NmaXlYZE1YT2xOeWpNT2xZdzlDUWRWb0lWaXBt?=
 =?utf-8?B?ZFVISXloRHNGRE5JVWExT0pyRjZ0QzZvTi8rMThWaWR0T2JjRHZ5bWxhTDc2?=
 =?utf-8?B?SksxUVVhVTdOcE5GSU1SSzBjUGJ5ZkkyM1JGZjNyc1cvekFnb016cWIyb0dN?=
 =?utf-8?B?a3A2MFRzWkxKUkEwMitWb0pSbnlYNlhzOHc3S2I1b2FjYmZlSFVvNWZUdG8v?=
 =?utf-8?B?MVR1ZndVR3RYQkRYQzZUZjhUOUg5QUo3VE1MSlozUzY1RklwOE93aEVpS0xx?=
 =?utf-8?B?YXM0QWV0SHFuRUNmVUZZbURlSmtieTJqZTN0RlBxV2h2MjdBMENPNFVRaGtj?=
 =?utf-8?B?QmNHNVBoQ0U2MGpwemFUYlQvbEcwc25xVE5CYmp6WjlEejZOd0JOcmpMYkFq?=
 =?utf-8?B?WUJheE1VMkVIQ1RNKzcrb0RZMWxJemVXaGhPVjBBWnpyRnFjOWJvWm40LzZF?=
 =?utf-8?B?Qy9ISTQ1ZnJpbStEVG1odXdTTnJ5LzdWREI4bC9zNFVnVkw1MzFVWi9Kcm8w?=
 =?utf-8?B?UWhBOFRlbVhKdVhTUm92ZGRCZDZGNGQxSEhqYS9RK0tkcmNad1JZT05iaDll?=
 =?utf-8?B?ajc0YzNiSTAvUk40WkdYWkJ6TjhiV0lFZjh6WUlWbWJJbFpYSnpqMExGdld5?=
 =?utf-8?Q?YFKeQxWEhhTWA?=
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?dW1EdEhPZE16cTBCWXpNN0dudEVTNEJ2MDNFSlZJcjcrcCtlM1BUVE1zcERJ?=
 =?utf-8?B?VjRJOHVVT09sZ2NTQTZxN1JDODZHaFB5aGF3ZTZySkxWL1dzdC9YcUZnRnE3?=
 =?utf-8?B?STEyaUp2Y09zUmRUYlg4eUl4UXVZc1dXdTBVZDJPb1lobW16SDgwdUI3TWk5?=
 =?utf-8?B?VDJvVFV1cTJDK3hoenBCbDYrZGlqZ3VhWjhESnF3T2M5OUhVSEs4blowMzJM?=
 =?utf-8?B?SW81cjVxR3BWbXdnTGtmWk44SDVuTXBVSGIybG0wenNkMFh0WkkrQ09CVFFU?=
 =?utf-8?B?ckNwUmZ3cG9SMFR3c1R0cUtOM3lBQzhFakRrQzZFWlJieXJsalI3Q3AvaWlz?=
 =?utf-8?B?TGI2NGY3alBhbjNZSnBDbk04Q2tHb25wWDkrOW9QZTdWOHMxYlR2V0JqeHBU?=
 =?utf-8?B?MVpXTUlrb0IrN3lnWFozSnR2Y3FPdXFCL3pYRWZDWlorL3NGd2NBWWtzUzdo?=
 =?utf-8?B?S3B3L2RUSzAvVDBFa0dnd29kSXlpNWxlUjJrNzZybEFvbjBocTkvMUFwNGp2?=
 =?utf-8?B?Z1hhQnExWTBvbzNFM3dCdWVHTURpeEJWVkhnWGt4MWFoU0ozZTJJc3phT2dZ?=
 =?utf-8?B?cHJ3VXY5dG9WaDNsU2ROSEhmSWRyTlBOck9iaGtjNDMvV0F3YjloeUx5RTdv?=
 =?utf-8?B?K2JTeXJHakpTaCsrRXloSklCU211ajRjVEdSVzRJWVRFYXV6Z0hFaEJJY0VD?=
 =?utf-8?B?bHduVExOQTdrbXllMUFtV05MVlE4VTFMaFdGUFFlMGpKcHBIdmVGWTlwY3g1?=
 =?utf-8?B?M3Z5N1RaVi96RDFzZHZJc1NCUmJZUy9ucnBUZjRkRUI4RFF3R25MSUFuMm1E?=
 =?utf-8?B?dmRFdWZVbERmdHZOaUNvMXZJR0tlL0pVZFU0NFBwRVhsMHZPY2lIYWVwV0pu?=
 =?utf-8?B?Tlp2czh6bGJJek1FUWNuRVpJTVBQdGE2azNVS1NPWk1Pb29Fam5RcXluRTFX?=
 =?utf-8?B?elVZU1B1ZXBtK2Fkb2x6Mm41UmxLRlhUZFQ5VFR4TlYrcDhadXlTbGkycGM1?=
 =?utf-8?B?SWxnMEJ0SzBqTEMxK2lwSm5adzM0WnJSSnBtVHR6UUlwL0lDbmJ6am9SdHdD?=
 =?utf-8?B?MDkxb2J2NEo2SXY2cnBIM244c292TC9WU3JreVNReDlHaG9qTE5rb3Q5aGxp?=
 =?utf-8?B?UUk3TUoxTnVNYkFOazdFTVJNSnZQN2hHV05PdVp1K2dMalpxTnJPZm1NSXFL?=
 =?utf-8?B?elQvZC9tTVZ2TTg5a29odmRTajhWaUNnQjZtZHgweEs5NHNueVhkdEZFSlNN?=
 =?utf-8?B?VjNxTkdjZDNySDROekNTMUdsRXB4c0tWWEJGN1g4NjJidUpnYkdrZE5jTzJK?=
 =?utf-8?B?enYvcGtmNlB6bHpEcjFvVEFrVEtVMG1uck9YZVlMRnE0VCtSTkJSVUdXNGFj?=
 =?utf-8?B?dWZFWGFaM3pwOHVpTmNwcStDa3BBd3J5YlNBN2hlNFhIb1FNNzBSSzIySDhQ?=
 =?utf-8?B?b0xYOGlxTFIxV1VLbzVzVmZpditONnZPSjlnYnBoV0lMSG5OeVZrMmJhVGxO?=
 =?utf-8?B?cFprRThEaDdKR2Y1b2RqekJCK3lkNG5CYTBZMDZsMWxiWFF2dGppdm00MWV1?=
 =?utf-8?B?M3B3bks2bHpSR2JFZWtJWmszbWhGYVVSUTVpN3A3cEVkTE5tZkc2UGtJU3Fu?=
 =?utf-8?B?VWdJVFUxSGJVQjFna3pjL1Zrb2RldXFnUmpxZmNNUVFTT1FNNVlQbkU0UCtZ?=
 =?utf-8?B?Q0MzeUpyRzczcnEzL1hldlZWMWRKRzZzT1B1RU9KNDdGMExXOXdnMmIyZGtk?=
 =?utf-8?B?QkhxNHBxVkxtQmFoSjd6K2lvc2VXamdiUVh6K25RbUozV3hJZXltRFZhbXlX?=
 =?utf-8?B?d1RTd1dpcDJwNmZPVjVhcUZjcXBrQm44RGVCQyt4ZEJzUEo5czVsV2gwc1A2?=
 =?utf-8?B?N2gxclZqUVJEczhBQkNzWXRtUmZXU0NvNEkzdkJDZVB6dzN2Y0ZKcCt1R0hR?=
 =?utf-8?B?RTdPL0M2UzErVnV5NFkvSEY2anJGTWcwRHdTT3pKZlpleGUwblZ4KzZQazhS?=
 =?utf-8?B?R1podVpJK3o2VGhqaG9HREdaTWR1RVkvbFRwcitMejU4QVJYTnNURDk4S3Nw?=
 =?utf-8?B?SGp1eFVYSUwwM0R1OFVLWHRuWlUwTklnK25USW51eWxPemplZEFuMndkYmZX?=
 =?utf-8?B?NkZlS3hSK1I0dCtkQTl5cWR0a1JtZ2s4WThZVk5SeTY2ZFdIOWp2bXBGWUFz?=
 =?utf-8?B?ZEE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a0bb407-c03f-49fa-73e1-08dd670a7c5f
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 17:21:29.1932
 (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: I1DrItzJxOkXHdztmR83NLQgTdd+5lKyjAhu8Y4aQTjBSU0DNxO2XXAdmM87MAUuwXiyI8mwfGhkyjJRCfddGO8lqBXD38DdpUUdaNWsjp4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8020



On 05.03.25 11:11, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> The changes have been tested only on the Renesas R-Car-H3 Starter Kit board.
> 
> 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>
> ---
>   xen/drivers/char/scif-uart.c | 31 ++++++++++++++++++++++++++++++-
>   1 file changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
> index 757793ca45..e166fb0f36 100644
> --- a/xen/drivers/char/scif-uart.c
> +++ b/xen/drivers/char/scif-uart.c
> @@ -139,7 +139,7 @@ static void scif_uart_interrupt(int irq, void *data)
>       }
>   }
>   
> -static void __init scif_uart_init_preirq(struct serial_port *port)
> +static void scif_uart_init_preirq(struct serial_port *port)
>   {
>       struct scif_uart *uart = port->uart;
>       const struct port_params *params = uart->params;
> @@ -271,6 +271,33 @@ static void scif_uart_stop_tx(struct serial_port *port)
>       scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) & ~SCSCR_TIE);
>   }
>   

I assume you want ifdef CONFIG_SYSTEM_SUSPEND here also


> +static void scif_uart_suspend(struct serial_port *port)
> +{
> +    struct scif_uart *uart = port->uart;
> +
> +    scif_uart_stop_tx(port);
> +
> +    /* Wait until last bit has been transmitted. */
> +    while ( !(scif_readw(uart, SCIF_SCFSR) & SCFSR_TEND) );
> +
> +    /* Disable TX/RX parts and all interrupts */
> +    scif_writew(uart, SCIF_SCSCR, 0);
> +
> +    /* Reset TX/RX FIFOs */
> +    scif_writew(uart, SCIF_SCFCR, SCFCR_RFRST | SCFCR_TFRST);
> +}
> +
> +static void scif_uart_resume(struct serial_port *port)
> +{
> +    struct scif_uart *uart = port->uart;
> +
> +    scif_uart_init_preirq(port);
> +
> +    /* Enable TX/RX and Error Interrupts  */
> +    scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) |
> +                SCSCR_TIE | SCSCR_RIE | SCSCR_REIE);
> +}
> +
>   static struct uart_driver __read_mostly scif_uart_driver = {
>       .init_preirq  = scif_uart_init_preirq,
>       .init_postirq = scif_uart_init_postirq,
> @@ -281,6 +308,8 @@ static struct uart_driver __read_mostly scif_uart_driver = {
>       .start_tx     = scif_uart_start_tx,
>       .stop_tx      = scif_uart_stop_tx,
>       .vuart_info   = scif_vuart_info,
> +    .suspend      = scif_uart_suspend,
> +    .resume       = scif_uart_resume,
>   };
>   
>   static const struct dt_device_match scif_uart_dt_match[] __initconst =

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 17:24:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 17:24:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921046.1325064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tux9R-0004lO-2s; Wed, 19 Mar 2025 17:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921046.1325064; Wed, 19 Mar 2025 17:24: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 1tux9R-0004lH-0L; Wed, 19 Mar 2025 17:24:21 +0000
Received: by outflank-mailman (input) for mailman id 921046;
 Wed, 19 Mar 2025 17:24: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=zx04=WG=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tux9P-0004lB-Pk
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 17:24:19 +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 fc9a6ad5-04e6-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 18:24:17 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso33175145e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 10:24:17 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c82c255bsm21091067f8f.23.2025.03.19.10.24.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 10: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: fc9a6ad5-04e6-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742405057; x=1743009857; 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=23UZ3qagcxYGg6m7BZTtiiErYX7K39HvBUA/YjNiVkg=;
        b=l9ETkMlNoa++7PzdnpCOA9vv/NnCoPUzlpeIrx+IOApxIyjYxbr3l6hLXZICSK6avo
         LAnFsC0+lG2/NJErr3FtoAEHkDANsy425j3KqzOtYUDAnk1Jv72Z8l0ATwLA1s7bKoUK
         ohYTF+d1HvxXhYGyXeQf/AXlib3jcDAo7n/58=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742405057; x=1743009857;
        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=23UZ3qagcxYGg6m7BZTtiiErYX7K39HvBUA/YjNiVkg=;
        b=RF3eTYT96Vyw8D+sAMm2C/WfLRmr35qYinS1FFiliNllrK9fioukB0QPWqRAHfQWbp
         Nuc/J523jM/5gSaKMAyQRJBPdP+FRqHP7vdW6T5O7lzjXg3zarXhs55PieGJKnPuRBcY
         YyVRbamtQVBQ3ZaH1e59kEvHInF6e/k38KJ9Zu5j64+DwBSqo2ZS4UOmevlM82x8HDJI
         IVxpoAfSX64lfGiaxTlqHeHsJePffU/IfZEhIcuhfz5B4H2QpdD0cEsujhESlBU/Hb3a
         gGGxCZM+y8U7iO3z3SuCw3ybdniWV/N38bLG3AVC6jGx+lbgZ4sfMWCyUta9nWuW9KYJ
         kVEg==
X-Forwarded-Encrypted: i=1; AJvYcCXkNr+iBt67Xo3/dwI+mZdMNQ4/13DKXSLVWyhqh0RZImTBnZwVqQb9pT7XXhza8MKbXdRLvcLPC3U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/Zy7zZ+VFVlKMDeUAnBf6w0lIzmWgQaVgwhkKpSvixqxpmfvE
	8I2nn27nqyxPovVs134GVQzTXTTaG4fNIT65nc1kU6jsXMUBVH9R/nX0+rNwYsg=
X-Gm-Gg: ASbGncsbQ1dBbsY1z40hUT5wHkTiSKMbVyI7MCmWIBpNlloAzqwNaVA17NQE+b6pLZi
	SJ8W8XK4JbCZb0JtHwvHi5OIQdg2QyyukAaOWMoY0VmloI6N0xNp3qyCgx0QLMuZ5edxVmfZKaC
	DVGQtxsZe3PnoUOKfXS9HAw4QNPprvIVhxAgOWaDmAyPQncRkqREJA76QMmHoboYy8JsJfX/ZQz
	QLfyHHFsxXQmBkSnJEpdgMM28JUN4YV5r04Bb10M6MHafNuZ3glJpVonlfT1ipwXGR8F2+qfMdx
	jqwRkQj8AGiDWPAa2vM9uCOd4cf4aF83XvN23AFSpbTEj4Qhwvr/dAFzTfWVI4ZVq/hQ8HSLBp/
	Jv+T/Eu19Wg==
X-Google-Smtp-Source: AGHT+IEowz1CZFHEg7SFMb2oOx9tHZDRqJLU8mW+x7VeeeXnauWYqQWnjpFhRAunOesw4Fp/fuLvow==
X-Received: by 2002:a05:6000:156d:b0:391:3aaf:1d59 with SMTP id ffacd0b85a97d-399739c9c4bmr2812560f8f.24.1742405057012;
        Wed, 19 Mar 2025 10:24:17 -0700 (PDT)
Message-ID: <9a0d717a-b3f5-4432-9f03-5bc15d8545ed@citrix.com>
Date: Wed, 19 Mar 2025 17:24:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PVH: account for module command line length
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 <jandryuk@gmail.com>
References: <730d8143-8cda-49da-a48a-3b82c2b77c9d@suse.com>
 <5b959741-2e51-4576-9219-df495d0e30be@citrix.com>
 <182e6183-8a61-4c03-902c-ab75b69cdd4f@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: <182e6183-8a61-4c03-902c-ab75b69cdd4f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 12:39 pm, Jan Beulich wrote:
> On 19.03.2025 13:12, Andrew Cooper wrote:
>> On 19/03/2025 11:18 am, Jan Beulich wrote:
>>> As per observation in practice, initrd->cmdline_pa is not normally zero.
>>> Hence so far we always appended at least one byte. That alone may
>>> already render insufficient the "allocation" made by find_memory().
>>> Things would be worse when there's actually a (perhaps long) command
>>> line.
>>>
>>> Skip setup when the command line is empty. Amend the "allocation" size
>>> by padding and actual size of module command line.
>>>
>>> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> --- a/xen/arch/x86/hvm/dom0_build.c
>>> +++ b/xen/arch/x86/hvm/dom0_build.c
>>> @@ -712,7 +712,15 @@ static int __init pvh_load_kernel(
>>>       * simplify it.
>>>       */
>>>      last_addr = find_memory(d, &elf, sizeof(start_info) +
>>> -                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
>>> +                            (initrd ? ROUNDUP(ROUNDUP(initrd_len,
>>> +                                                      elf_64bit(&elf) ? 8 : 4) +
>>> +                                              (initrd->cmdline_pa &&
>>> +                                               strlen(__va(initrd->
>>> +                                                           cmdline_pa))
>>> +                                               ? strlen(__va(initrd->
>>> +                                                             cmdline_pa)) + 1
>>> +                                               : 0),
>>> +                                              PAGE_SIZE) +
>>>                                        sizeof(mod)
>>>                                      : 0) +
>>>                              (cmdline ? ROUNDUP(strlen(cmdline) + 1,
>> This piece of logic was already bad, but this is rather worse.
>>
>> One patch I made while doing the boot module work is:
>>
>> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
>> index 6a4453103a9a..7292ddd07276 100644
>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -654,6 +654,7 @@ static int __init pvh_load_kernel(
>> Â Â Â Â  const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) :
>> NULL;
>> Â Â Â Â  struct elf_binary elf;
>> Â Â Â Â  struct elf_dom_parms parms;
>> +Â Â Â  size_t metadata_len;
>> Â Â Â Â  paddr_t last_addr;
>> Â Â Â Â  struct hvm_start_info start_info = { 0 };
>> Â Â Â Â  struct hvm_modlist_entry mod = { 0 };
>> @@ -711,13 +712,16 @@ static int __init pvh_load_kernel(
>> Â Â Â Â Â  * split into smaller allocations, done as a single region in order to
>> Â Â Â Â Â  * simplify it.
>> Â Â Â Â Â  */
>> -Â Â Â  last_addr = find_memory(d, &elf, sizeof(start_info) +
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  sizeof(mod)
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0) +
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (cmdline ? ROUNDUP(strlen(cmdline) + 1,
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4)
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0));
>> +Â Â Â  metadata_len = sizeof(start_info);
>> +
>> +Â Â Â  if ( initrd )
>> +Â Â Â Â Â Â Â  metadata_len += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
>> +
>> +Â Â Â  if ( cmdline )
>> +Â Â Â Â Â Â Â  metadata_len += ROUNDUP(strlen(cmdline) + 1,
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4);
>> +
>> +Â Â Â  last_addr = find_memory(d, &elf, metadata_len);
>> Â Â Â Â  if ( last_addr == INVALID_PADDR )
>> Â Â Â Â  {
>> Â Â Â Â Â Â Â Â  printk("Unable to find a memory region to load initrd and
>> metadata\n");
>>
>>
>> which I think I ought to submit as a prerequisite to this, after which
>> your logic squashed on the RHS now becomes an expansion of the `if (
>> initrd )`.
> Yes please.

https://lore.kernel.org/xen-devel/20250319171346.19478-1-andrew.cooper3@citrix.com/T/#u

> Another thing I was considering to put in a local variable is the
> repeated "elf_64bit(&elf) ? 8 : 4". If that sounds okay, I can make that
> a(nother) pre-patch to mine.

Yeah, I was thinking the same.Â  There's a related expression in
elf_round_up(), so it might be worth having a macro in
include/xen/libelf.h for elf_ptr_size() or so.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 17:29:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 17:29:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921062.1325077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuxEM-0005QX-QL; Wed, 19 Mar 2025 17:29:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921062.1325077; Wed, 19 Mar 2025 17: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 1tuxEM-0005QQ-NC; Wed, 19 Mar 2025 17:29:26 +0000
Received: by outflank-mailman (input) for mailman id 921062;
 Wed, 19 Mar 2025 17:29: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=GTXv=WG=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tuxEL-0005QK-F7
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 17:29:25 +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 b2eed6f6-04e7-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 18:29:23 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e66407963fso3675038a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 10:29:23 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3146aea93sm1035357966b.30.2025.03.19.10.29.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 10: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: b2eed6f6-04e7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742405363; x=1743010163; 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=pudLsqeZLxi1HoAYMVDh8cu9PXi+IgoGbpoMKfUdjdw=;
        b=cUMpFze5aER3Gdh/2+ReTV5goMQlKVJsiF7UTpKIYs5SFNxSHfh5iyvFhmS5pGwav2
         YgRL1Jw+qMwofeyyZdzr2INwHLyuIPFUO0+i6G0FjKRff/eNiyG2v3Jhr6UkMsFWomB6
         RqOqWSgUGeSEb8Hne9A1vsu+77eR1gxItPzZ3WB7Fyh0NDmMw69SmZjkUIresB4r5dBW
         3RGMx4yB/ZSdSVKpDxEhNZHIiJuOP6yRzhVtIipU4J6wXEEwcGNRMifGUsXYljLrnS1W
         s0tVdAhQYfBbyVj48cKRzStw87PqOPp8u4UNOFosdJ4fXbq59xJqSKNOLiTlcJJtigj+
         AGBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742405363; x=1743010163;
        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=pudLsqeZLxi1HoAYMVDh8cu9PXi+IgoGbpoMKfUdjdw=;
        b=aY0aHO6YbtD6RcigC7dwPUy+T6KMR3xIkEsdhiu3xTy2ttOzs3kJBi0K3k/oLT+QGG
         guGmtHn8TeDJng80IvPmVudhsW+Kmvzn2WDBor594vobLeIJszmO4kmZi376G9THIOBj
         OBD9YRTv0pWfRPinjpd/WzWOqPhsofK9MYmv3laQyYr+Yf2KteTDFYRkYQ92wz6uXKHW
         7YXngN1gsMq/l1bV3s5KqOHQ5rKbhE594PeKMJZHpNVs6nEuUp00PDZIqrwv0odAL7SS
         +p48bimSMLHKrulh0u2FUK5Y2UWXcTILDYkrBkIPuSCOHbEXQx/Fl16h/xqr3ibcBm5w
         COjg==
X-Forwarded-Encrypted: i=1; AJvYcCVjsX+0Svx0P7DQCc1iNYPjKl4OfpvJPvYLay5zltSAEDOdDAOr/swL/TwBpPZyRNmBDRFHgZ5Zub8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvMz+O3iKXwjPvj/rLJdw7AuI3kHdZ4fXZglOYQowt70rDUPVX
	+YzK7F5VQFXkdjz3GiaOIuxQp4KeSHjIveOsL0vtTjCgIgbNfkd9
X-Gm-Gg: ASbGncvi9MiLUhSkP1vk8dq+nk8HaV+3lUtRCDTFQ6nl57TEZgAtghW6Ics6YlUOXVn
	6gk8O3AvUz7GWPIvY40PZOySa7ckX8Z1UZBKb/ekYpyVEfWucXdPjZbIdgPW+Ukqwck6F6z8wRJ
	uTtc9VKLMxv3o2+wViem0rYngWnboxGpU9EmPFs8Dcnu2lETHxTgwPEzQAgAjlYAi+Fxdz1qSDN
	tcZGf6JvlrHXmP/pM13IbJokKuhq/fsnyIwyqH/ZK0/LLQ/bVZC4z/wfTC3ug0L+oeOaG9MTeuS
	HYaz20C38jLsvDCKAEEAb+lD/DX7Ft5pHGWAOZs8DdH+A6vj1uESwWoQTuqSgUVuW7gGIdbEdlO
	KMydPH0dAnOfn8iuONycwJucRbZFjNYQ=
X-Google-Smtp-Source: AGHT+IEs31iUjMqY9FFuLCSzOsXYBTyiERl+6DtIHN+GyJ92m2hVePiVR22XH+x6bktiECYVU57p+g==
X-Received: by 2002:a17:907:7da7:b0:ac2:7d72:c2ab with SMTP id a640c23a62f3a-ac3ce189338mr34039866b.47.1742405362767;
        Wed, 19 Mar 2025 10:29:22 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------OOimcDJQSSm04A8Kg6mY87ch"
Message-ID: <27dc3481-1f48-46c5-a827-e0a44c17686d@gmail.com>
Date: Wed, 19 Mar 2025 18:29:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>

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


On 3/17/25 4:24 PM, Jan Beulich wrote:
> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>> --- /dev/null
>> +++ b/xen/arch/riscv/time.c
>> @@ -0,0 +1,38 @@
>> +#include <xen/device_tree.h>
>> +#include <xen/init.h>
>> +#include <xen/lib.h>
>> +#include <xen/sections.h>
>> +
>> +unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
>> +unsigned long __read_mostly boot_count;
> Why not also __ro_after_init? And what is this variable actually needed
> for? Common code doesn't use it, so a better name (describing what it
> really holds) might be desirable, even if this then means not being in
> sync with Arm code.

To calculate more accurate amount of time since boot.
I think it can be __ro_after_init as it is going to be initialized once.

>
> Furthermore, I can't spot a declaration of this variable. Was it meant
> to be static?

It is going to be used for vtimer functionality and in repogram_timer()
so it can't be static.

I will add a declaration to asm/time.h:
```
   /* Counter value at boot time */
   extern uint64_t boot_count;
```

Thanks.

~ Oleksii

--------------OOimcDJQSSm04A8Kg6mY87ch
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 3/17/25 4:24 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com">
      <pre wrap="" class="moz-quote-pre">On 11.03.2025 17:19, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- /dev/null
+++ b/xen/arch/riscv/time.c
@@ -0,0 +1,38 @@
+#include &lt;xen/device_tree.h&gt;
+#include &lt;xen/init.h&gt;
+#include &lt;xen/lib.h&gt;
+#include &lt;xen/sections.h&gt;
+
+unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
+unsigned long __read_mostly boot_count;
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Why not also __ro_after_init? And what is this variable actually needed
for? Common code doesn't use it, so a better name (describing what it
really holds) might be desirable, even if this then means not being in
sync with Arm code.</pre>
    </blockquote>
    <pre>To calculate more accurate amount of time since boot.
I think it can be __ro_after_init as it is going to be initialized once.

</pre>
    <blockquote type="cite"
      cite="mid:f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com">
      <pre wrap="" class="moz-quote-pre">

Furthermore, I can't spot a declaration of this variable. Was it meant
to be static?</pre>
    </blockquote>
    <pre>It is going to be used for vtimer functionality and in repogram_timer()
so it can't be static.

I will add a declaration to asm/time.h:
```
  /* Counter value at boot time */
  extern uint64_t boot_count;
```

Thanks.

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

--------------OOimcDJQSSm04A8Kg6mY87ch--


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 19:52:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 19:52:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921099.1325095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuzSl-0000gX-MO; Wed, 19 Mar 2025 19:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921099.1325095; Wed, 19 Mar 2025 19:52: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 1tuzSl-0000gQ-JL; Wed, 19 Mar 2025 19:52:27 +0000
Received: by outflank-mailman (input) for mailman id 921099;
 Wed, 19 Mar 2025 19:52: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=mgHu=WG=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tuzSi-0000gJ-S3
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 19:52:26 +0000
Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch
 [185.70.40.133]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id abec4f6f-04fb-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 20:52: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: abec4f6f-04fb-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742413940; x=1742673140;
	bh=oQ+ebqmHQPg2Ej7WSbUSoqIIIp4Cb1iNKBatjjPI8v8=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=Y8VehL7XJvk4mfFJZbddN2/OFr+3CIx0GXLcAHbQ6dTdFJ6AIfKEH8fps8XJOLZYy
	 ywlPhzwDCpvdGxKb3FLJzILW71m3Ay1ZpyTPrich0nLNYu9pCrnLtWvJfYojN0hDlW
	 dlMgAPEZ9sT6UeDTP/8LAaN5Yo92rXr+tVtavjXsElL9cTq2gcmDpDOe1JBkKxQHaD
	 gtr0Ehw44HmHOk+bJ0NR/hh3XVoj3bNhglfqcX+tf+boyOlrOvNywRaHVpsyaiSluN
	 nnsIuh8Qz1/NU0N+sMYOzhp//Vi5LMKGJA4Qjp04empyAG4A3RxlPXNQgG06Ma+bts
	 nQoXCspdNZFCw==
Date: Wed, 19 Mar 2025 19:52:14 +0000
To: xen-devel@lists.xenproject.org
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH v1 0/8] xen/console: cleanup console input switch logic
Message-ID: <LjHBVVon45WUi3x9m82YirIv4G283_RHtMZmIeruG51WIbK_rduU9YzuEqAf1EaPo5CafFr1hJFc6w-HW0pISILMq3SkADABP43LwEOqbWU=@proton.me>
In-Reply-To: <20250318233617.849903-1-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 0903348d78abf3bf5f5adb6d37ed51a4b244e12e
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tuesday, March 18th, 2025 at 4:36 PM, dmkhn@proton.me <dmkhn@proton.me> =
wrote:

>=20
>=20
> Currently, on x86, console input can be rotated in round-robin manner
> only between dom0, PV shim, and Xen itself. On Arm the input rotation
> can include domUs with vpl011.
>=20
> The patch series introduces the concept of "console focus", which is
> defined as the ID of the domain that currently owns the physical console
> input.
>=20
> The patch series originates from the NS16550 UART emulator series [1]
> for x86, which requires ability to switch physical console input to a
> PVH/HVM domain with an emulated UART.
>=20
> The main idea is introducing a per-domain permission flag that is set
> during domain initialization and used by the console driver to switch
> the input across permitted domains.
>=20
> Patch 0 removes all the trailing white spaces in the console driver code.
>=20
> Patch 1 introduces a new domain permission flag to mark ownership of the
> console input for the console driver.
>=20
> Patches 2-4 prepare console driver to allow console input rotation
> across multiple domains based on the new permission flag.
>=20
> Patches 5-6 perform mechanical renames to fit the usage in the code.
>=20
> Patch 7 cleans up the console input switch logic.
>=20
> Patch 8 simplifies the existing vUART code by using newly introduced APIs=
.

Corrected series explanation:

Patch 1 removes all the trailing white spaces in the console driver code.

Patch 2 introduces a new domain permission flag to mark ownership of the
console input for the console driver.
=20
Patches 3, 4 prepare console driver to allow console input rotation
across multiple domains based on the new permission flag.

Patches 5, 6 perform mechanical renames to fit the usage in the code.
=20
Patch 7 cleans up the console input switch logic.

Patch 8 simplifies the existing vUART code by using newly introduced APIs.


>=20
> CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/1723361=
248
>=20
> [1]: https://lore.kernel.org/xen-devel/20250103-vuart-ns8250-v3-v1-0-c5d3=
6b31d66c@ford.com/
>=20
> Denis Mukhin (8):
> xen/console: fix trailing whitespaces
> xen/console: introduce console input permission
> xen/domain: introduce domid_top
> xen/domain: introduce domid_alloc()
> xen/console: rename switch_serial_input() to console_switch_focus()
> xen/console: rename console_rx to console_focus
> xen/console: introduce console_set_focus()
> xen/console: introduce console_get_focus()
>=20
> xen/arch/arm/dom0less-build.c | 15 ++-
> xen/arch/arm/domain_build.c | 19 +++-
> xen/arch/arm/include/asm/setup.h | 2 -
> xen/arch/arm/setup.c | 2 -
> xen/arch/arm/vpl011.c | 7 +-
> xen/arch/ppc/include/asm/setup.h | 2 -
> xen/arch/riscv/include/asm/setup.h | 2 -
> xen/arch/x86/include/asm/setup.h | 2 -
> xen/arch/x86/pv/shim.c | 2 +
> xen/common/domain.c | 5 +
> xen/common/domctl.c | 71 +++++++++------
> xen/common/kernel.c | 8 ++
> xen/drivers/char/console.c | 142 +++++++++++++++++------------
> xen/include/xen/console.h | 3 +-
> xen/include/xen/domain.h | 5 +
> xen/include/xen/sched.h | 8 +-
> 16 files changed, 180 insertions(+), 115 deletions(-)
>=20
> --
> 2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 19:53:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 19:53:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921110.1325104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuzTv-0001CE-Ue; Wed, 19 Mar 2025 19:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921110.1325104; Wed, 19 Mar 2025 19:53: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 1tuzTv-0001C7-Rv; Wed, 19 Mar 2025 19:53:39 +0000
Received: by outflank-mailman (input) for mailman id 921110;
 Wed, 19 Mar 2025 19:53: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=mgHu=WG=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tuzTu-0001C1-Vc
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 19:53:38 +0000
Received: from mail-24416.protonmail.ch (mail-24416.protonmail.ch
 [109.224.244.16]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8c7a671-04fb-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 20:53:37 +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: d8c7a671-04fb-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742414015; x=1742673215;
	bh=PFT8pXTOxJO/sHlDDc61wc+pKJ/WuLGsg+bJb5+LTlk=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=LUIQ/AB9a07/b0nW63+D/P9+1NkPLCax789Qqq8Znrj64Wx/kTU1Qi9DvOcBFfWFX
	 1E4XJWWXEYs2THL+ewLiveV7JF1ZUekpfaXG2IhewZmR6UzAWfSh2XDXVdjmq7+P5U
	 Gi5hbFadCjXVXXLcki/Bd8C3SuctVszjKHENhCmIEYCn2ObCBWNfd9ujwmaOuCYv2Q
	 Kh0aqVkx85IYy9nKiwLwdDKhG5u/mofyeDU9IR/14nWn1T/UMC9UTDyd7UpRDy4cSA
	 +qMDQQKCPv6iGYth7fI8yuGsWCdnkZTZLEw+ic1VkUI9U2hP9V1pVOOrDh9HDxypTt
	 KgfgM2SqfJCfg==
Date: Wed, 19 Mar 2025 19:53:29 +0000
To: xen-devel@lists.xenproject.org
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH v1 7/8] xen/console: introduce console_set_focus()
Message-ID: <ghk1LVqSlfRNlEVBf6gQ3AdtBxBBtVSHp_Q69C-vkC1y5wexc4AF-SYXzRIFOaIhnIFZsuAorjAWCRqDDsyb-x0mcVzn2fFS-KWzd3qaW-U=@proton.me>
In-Reply-To: <20250318233617.849903-8-dmukhin@ford.com>
References: <20250318233617.849903-1-dmukhin@ford.com> <20250318233617.849903-8-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 76d81558da395123b5065b01ce82aeb69592c4a8
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tuesday, March 18th, 2025 at 4:37 PM, dmkhn@proton.me <dmkhn@proton.me> =
wrote:

>=20
>=20
> Switch console_focus address space from integers mapped to domain IDs to
> direct domain IDs, simplifying the console input switching code.
>=20
> Introduce console_set_focus() to set the console owner domain identifier.
>=20
> Signed-off-by: Denis Mukhin dmukhin@ford.com
>=20
> ---
> xen/drivers/char/console.c | 81 ++++++++++++++++----------------------
> 1 file changed, 34 insertions(+), 47 deletions(-)
>=20
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index 3d538510f4..0e2349a868 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -462,14 +462,12 @@ static void cf_check dump_console_ring_key(unsigned=
 char key)
>=20
> /*
> * CTRL-<switch_char> changes input direction, rotating among Xen, Dom0,
>=20
> - * and the DomUs started from Xen at boot.
> + * and the DomUs.
> /
> #define switch_code (opt_conswitch[0]-'a'+1)
>=20
> / Console owner domain identifier. /
> -static unsigned int __read_mostly console_focus =3D 0;
> -
> -#define max_console_rx (domid_top + 1)
> +static domid_t __read_mostly console_focus =3D DOMID_XEN;
>=20
> static struct domain console_get_domain_by_id(domid_t domid)
> {
> @@ -488,9 +486,7 @@ static struct domain console_get_domain_by_id(domid_t=
 domid)
>=20
> struct domain console_get_domain(void)
> {
> - if ( console_focus =3D=3D 0 )
> - return NULL;
> - return console_get_domain_by_id(console_focus - 1);
> + return console_get_domain_by_id(console_focus);
> }
>=20
> void console_put_domain(struct domain d)
> @@ -508,42 +504,41 @@ static bool console_check_focus_by_id(domid_t domid=
)
> return !!d;
> }
>=20
> -static void console_switch_focus(void)
> +static int console_set_focus(domid_t domid)
> {
> - unsigned int next_rx =3D console_focus;
> + if ( domid =3D=3D DOMID_XEN )
> + printk(" Serial input to Xen");
> + else if ( console_check_focus_by_id(domid) )
> + printk("* Serial input to DOM%u", domid);
> + else
> + return -ENOENT;
>=20
> - /*
> - * Rotate among Xen, dom0 and boot-time created domUs while skipping
> - * switching serial input to non existing domains.
> - */
> - for ( ; ; )
> - {
> - domid_t domid;
> -
> - if ( next_rx++ >=3D max_console_rx )
>=20
> - {
> - console_focus =3D 0;
> - printk("*** Serial input to Xen");
> - break;
> - }
> -
> - if ( consoled_is_enabled() && next_rx =3D=3D 1 )
> - domid =3D get_initial_domain_id();
> - else
> - domid =3D next_rx - 1;
> -
> - if ( console_check_focus_by_id(domid) )
> - {
> - console_focus =3D next_rx;
> - printk("*** Serial input to DOM%u", domid);
> - break;
> - }
> - }
> + console_focus =3D domid;
>=20
> if ( switch_code )
> printk(" (type 'CTRL-%c' three times to switch input)",
> opt_conswitch[0]);
> printk("\n");
> +
> + return 0;
> +}
> +
> +/*
> + * Switch console focus.
> + * Rotates input focus among Xen, dom0 and boot-time created domUs while
> + * skipping switching serial input to non existing domains.
> + */
> +static void console_switch_focus(void)
> +{
> + const domid_t n =3D domid_top + 1;
> + domid_t i =3D ( console_focus =3D=3D DOMID_XEN )
> + ? get_initial_domain_id() : console_focus + 1;
> +
> + for ( ; i < n; i++ )
> + if ( !console_set_focus(i) )
> + return;
> +
> + console_set_focus(DOMID_XEN);
> }
>=20
> static void __serial_rx(char c)
> @@ -551,7 +546,7 @@ static void __serial_rx(char c)
> struct domain d;
> int rc =3D 0;
>=20
> - if ( console_focus =3D=3D 0 )
> + if ( console_focus =3D=3D DOMID_XEN )
> return handle_keypress(c, false);
>=20
> d =3D console_get_domain();
> @@ -1141,14 +1136,6 @@ void __init console_endboot(void)
>=20
> video_endboot();
>=20
> - /
> - * If user specifies so, we fool the switch routine to redirect input
> - * straight back to Xen. I use this convoluted method so we still print
> - * a useful 'how to switch' message.
> - /
> - if ( opt_conswitch[1] =3D=3D 'x' )
> - console_focus =3D max_console_rx;
> -
> register_keyhandler('w', dump_console_ring_key,
> "synchronously dump console ring buffer (dmesg)", 0);
> register_irq_keyhandler('+', &do_inc_thresh,
> @@ -1158,8 +1145,8 @@ void __init console_endboot(void)
> register_irq_keyhandler('G', &do_toggle_guest,
> "toggle host/guest log level adjustment", 0);
>=20
> - / Serial input is directed to DOM0 by default. */
> - console_switch_focus();
> + if ( opt_conswitch[1] !=3D 'x' )
> + console_set_focus( get_initial_domain_id() );

Forgot to drop extra spaces around the function parameter.

> }
>=20
> int __init console_has(const char *device)
> --
> 2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 20:15:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 20:15:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921123.1325115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tuzp3-0005Rz-Kq; Wed, 19 Mar 2025 20:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921123.1325115; Wed, 19 Mar 2025 20:15: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 1tuzp3-0005Rs-IE; Wed, 19 Mar 2025 20:15:29 +0000
Received: by outflank-mailman (input) for mailman id 921123;
 Wed, 19 Mar 2025 20:15: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=F/Ds=WG=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1tuzp2-0005Rm-MI
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 20:15:28 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e571a07d-04fe-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 21:15:27 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id
 98e67ed59e1d1-3011737dda0so87773a91.1
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 13:15:27 -0700 (PDT)
Received: from [192.168.1.67] ([38.39.164.180])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-301bf5b80b5sm2116351a91.38.2025.03.19.13.15.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 13:15: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: e571a07d-04fe-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742415326; x=1743020126; 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=jjJvlOnU49s+Zbb8733WbLiCItr7uaYdoO51OudCE6k=;
        b=StbmPQZgnaFHQmcz19sxbSAzwC4Bqko1Nr2Djedeo4lK/oNiBSBrRCI7ydFukovl/7
         gF03JMoO/L9LeaXKhhw3J4MRvk22hZNwJusnKrNmWX0LcHNyqG7Zzb2ezHEJ6968cIEl
         tffsCFAkbBgxRJ53CEdjQdaCd6XWnPvr6pa23yq6a10LXjpcJP6MQLNZGk07DvD8Cskw
         M4O3+LRmFhxbgx3AjOva2295QHhA9uoB6zTyfVqpb+m/sugfxltcRFH7n9ZqVkheXM1L
         rFVGMfYsY/WJZ9fM8lALddYcVdFTTX9NkhNqJ6N1vYcpgMBlaffsGA+7ulVyJLdfHvPF
         DqTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742415326; x=1743020126;
        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=jjJvlOnU49s+Zbb8733WbLiCItr7uaYdoO51OudCE6k=;
        b=nYAY7zrWJR16VlnNhC55LDg7Gms6zKKkbzjWPIwtgLQeTHxW8PDTiZHaY3rz2To/u5
         2WQ9pKmcH5016xqGOhpIzt7KZ1w5kN+5nrFe0DQZsTv8KvQpeqLVFvtuIutwmGystpJC
         zYGodRxO5dolNQIfpyIq2TdjLUz6cnUJupYqHlqsQcPuK6LfBVGG849npLsqxrzRZUE0
         nq9RQGWxFeFXO/SN4Q9wCAl5wqoIaKgDQUzZp+U0q3Oe3KUv/YWlgDvteZ2Q/z95DEaX
         7G1ti5LMcCrVp/iguYnXRbZ1HcP03OnhdRxCDgZdOd1Hoh84JuNFHq829M9W53WtbWwD
         Ylbg==
X-Forwarded-Encrypted: i=1; AJvYcCUjxOpRgcgSSNge/usfj9LOxnWo7uqF7GrdgzW9uBXZGzlEyVaLKorhvksLmg0OHX+TlszT64fRa3g=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4dUq4imxRAEzVMOWFNdDTCvd4d7MFoZZFsrT3T8HpungOn9Hf
	z2NbA0Ayn4yyVcEodF5Bnn7+F7gXIgx3cZ0UXmn5EHBgNOPTnkDVuf46X70yWJY=
X-Gm-Gg: ASbGncsdmzRxBRRjlPnWrtH5qp8xqwPQ5e10iO+JESpXA4KPAiG3znEqEL0MmAy2ADI
	VlQTNZROB/fM7rBEW6aptl7fuFgymzZhAEzu3g1Sa7kzi9KIxqwADcXz/WYR/4uuewSbDlJrSH8
	+NoFhhatVuhDTK/eUBboM9F2xYj0jVBBzjThtQicHjDXoHyTlHxyOLovfWxyt6dqtl2ZvSmz9Fx
	4Xml7HkxPv7Exmzc0s+WkFwKlFeVR1IFekODSzFXI29vSGuqCMla6ANyPVNZmhsBmQ3JPbldz+1
	5AbEMRnmwBZdsQLaqcnk4oBIvNbBamLFQzY48pvPY2hspgKN42IfrCH6QQ==
X-Google-Smtp-Source: AGHT+IG/qfPdy626hThIYa/RsoZd8+ixXNZ5S+14ncTQSUR3/THRotw28A4RHNR31RiMxmmch69q8w==
X-Received: by 2002:a17:90b:1a88:b0:2ff:7331:18bc with SMTP id 98e67ed59e1d1-301be202b7fmr5479737a91.26.1742415325934;
        Wed, 19 Mar 2025 13:15:25 -0700 (PDT)
Message-ID: <9c48029e-1921-447e-8b38-4b171dce1210@linaro.org>
Date: Wed, 19 Mar 2025 13:15:24 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 13/18] system/xen: remove inline stubs
Content-Language: en-US
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: qemu-devel@nongnu.org, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org, David Hildenbrand <david@redhat.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, qemu-riscv@nongnu.org,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, alex.bennee@linaro.org,
 manos.pitsidianakis@linaro.org,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Alistair Francis <alistair.francis@wdc.com>, qemu-ppc@nongnu.org,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Weiwei Li <liwei1518@gmail.com>, kvm@vger.kernel.org,
 Palmer Dabbelt <palmer@dabbelt.com>, Peter Xu <peterx@redhat.com>,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Nicholas Piggin <npiggin@gmail.com>
References: <20250317183417.285700-1-pierrick.bouvier@linaro.org>
 <20250317183417.285700-14-pierrick.bouvier@linaro.org> <Z9rNBFsWR39czUGQ@l14>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <Z9rNBFsWR39czUGQ@l14>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMy8xOS8yNSAwNjo1NiwgQW50aG9ueSBQRVJBUkQgd3JvdGU6DQo+IE9uIE1vbiwgTWFy
IDE3LCAyMDI1IGF0IDExOjM0OjEyQU0gLTA3MDAsIFBpZXJyaWNrIEJvdXZpZXIgd3JvdGU6
DQo+PiBSZXZpZXdlZC1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBsaW5h
cm8ub3JnPg0KPj4gU2lnbmVkLW9mZi1ieTogUGllcnJpY2sgQm91dmllciA8cGllcnJpY2su
Ym91dmllckBsaW5hcm8ub3JnPg0KPiANCg0KVGhpcyB3YXMgYSBiYWQgY29weS1wYXN0ZSwg
dGhhbmtzLg0KDQo+IFJldmlld2VkLWJ5OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJh
cmRAdmF0ZXMudGVjaD4NCj4gDQo+IFRoYW5rcywNCj4gDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 20:42:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 20:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921140.1325124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tv0Eu-0003Eb-LU; Wed, 19 Mar 2025 20:42:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921140.1325124; Wed, 19 Mar 2025 20: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 1tv0Eu-0003EU-Iz; Wed, 19 Mar 2025 20:42:12 +0000
Received: by outflank-mailman (input) for mailman id 921140;
 Wed, 19 Mar 2025 20:42: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=Pxv1=WG=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1tv0Et-0003EH-3k
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 20:42:11 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0d24f70-0502-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 21:42:09 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5497e7bf2e0so136294e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 13:42:09 -0700 (PDT)
Received: from [192.168.0.110] ([91.123.153.246])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-549ba864e75sm2106449e87.124.2025.03.19.13.42.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 13:42: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: a0d24f70-0502-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742416929; x=1743021729; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=wLyoW/A7SqabDu9WlhQnDpbyTUIaJSU29WSZq1CHiVE=;
        b=bUEG0up2gt8EklKOyhWhfqHMmaPp1XVexldF2RvIFdQH1VA8Oh5V++kWBk1NOBtYXk
         VK6AMNO8nOE7+42+KwlpuhJLb7EpaUVpbRuXfG1PNNmqwpClU/LdvEyjT7NPtXuf6Mu8
         DU2jgg8BazFNbfvO4Irs4Ec8z9mHhIUi4LGcnaktKalxzE7tpd/AH/nhrZ4Ej/A2YQqr
         4NaecP8IcAT/fhQ2zisIsR0tMzi5G2nPdTJmAdgXGeB8RRMeRz4LG/yNhXg6nEu0qz5K
         A8YEng3TNDjZTrdvnn8WBe1KqRnDkS7SrbqrGtKihp1VH2GVSjSX51fbEkQkz1EbFbw+
         7K7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742416929; x=1743021729;
        h=content-transfer-encoding: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=wLyoW/A7SqabDu9WlhQnDpbyTUIaJSU29WSZq1CHiVE=;
        b=fpCPwpXOKni1K61opNlob9Ii9D18Ogg3J31nq3sWvWG6is6xvvJmeXlM70Tg+yghj4
         MzPP4hjrGisQ9CG6xBNQI9QRrx9nAJGjJQQtmhbRF8hngJdYH9rARKgWXCHW4/gdCTfe
         tA/7GjIMXRsy0KdJNQrhdFYU4kiCvWWijsz7scIL3ajZOeg6vurJl/TdhT6Zr9zEgjxC
         2PH+g864Ch23U2DAGlLwFUuao3zFCyC2a999dlPCVBLNMp6Jvama6u4cWMHUjNm+Hz5i
         XQrBm18oIsBycMmnhna5PnW7XAODiWSU/GBUMkFK99Xe4p/lG0Ri+9lAHW+GasMxWyxu
         p/tQ==
X-Forwarded-Encrypted: i=1; AJvYcCX/PWV+7qAKDva9TZ+sfYgbqzOhxOA4RfUkNMaMl6W+XZ0eDai2jaAGd8pounN29YwNhkxvHBR6eOs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwmHf5Me0uH5kP0UxjlimuZu3v6IuB1ahgilcPRM57evBn1mGUu
	HVwXk6d/WgZYFjWc6kUyuOfBny10j9N+Kxf84nP/cYPSXLz77rE5
X-Gm-Gg: ASbGnctPdZDtJF2fbIa43YMJJWruy4ofV82msDcAZFCCjG0us8mdNCVlbi+kKN2ZbOQ
	zz0y9YvHSLdzp4Ko/esh06nPb4yB5uWXg4g3jLI3yYJwp9DY8HJVucuyUZWpbi2k/yyAtATFLtU
	iXML2mk0DtnrG0RuZ0/zBf6lubxZxX1O2YQ7t2BsMgssM82pjEoTC+dKwoN7YQ15uYES3jgwjDf
	5+flhwRsZ3mqIKZEgijGuPpHLdUch0/LRGZvwz92ALstmr6UtjdmjqFUbcagJ3bJxFdXqa4R97P
	SkMLDCl+8T6HyfQqYsf6ai5s4NlsUs0hquBFyjlW0AMfZ3HmXqzqLUDHeIHd
X-Google-Smtp-Source: AGHT+IE5y8rVgBmHdINEqHPYYSCQ6/sJA1tox3T2J+KmS9FPKdebkYE5eIRwArvimsV/MJpQjL24ZQ==
X-Received: by 2002:a05:6512:3da8:b0:549:5822:c334 with SMTP id 2adb3069b0e04-54acb21db2bmr1671995e87.52.1742416928607;
        Wed, 19 Mar 2025 13:42:08 -0700 (PDT)
Message-ID: <0f54652b-3af2-4d52-b3a1-76a5dbeddb14@gmail.com>
Date: Wed, 19 Mar 2025 22:42:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
To: Jan Beulich <jbeulich@suse.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Mykyta Poturai <Mykyta_Poturai@epam.com>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
 <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
 <65f0072f-33c0-4436-8e34-3544d25c9568@suse.com>
 <19d8224a-04e0-45bb-9471-abeb684e9cad@epam.com>
 <7f523597-cf70-4673-b4a2-fac602253a9e@suse.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <7f523597-cf70-4673-b4a2-fac602253a9e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 19.03.25 14:37, Jan Beulich wrote:

Hello Jan, all.


> On 19.03.2025 13:05, Mykyta Poturai wrote:
>> On 18.03.25 16:26, Jan Beulich wrote:
>>> On 18.03.2025 14:31, Mykyta Poturai wrote:
>>>> On 18.03.25 12:11, Jan Beulich wrote:
>>>>> On 18.03.2025 10:10, Mykyta Poturai wrote:
>>>>>> On 15.01.24 11:35, Jan Beulich wrote:
>>>>>>> On 14.01.2024 11:01, Mykyta Poturai wrote:
>>>>>>>> --- a/xen/include/public/hvm/dm_op.h
>>>>>>>> +++ b/xen/include/public/hvm/dm_op.h
>>>>>>>> @@ -444,6 +444,17 @@ struct xen_dm_op_nr_vcpus {
>>>>>>>>      };
>>>>>>>>      typedef struct xen_dm_op_nr_vcpus xen_dm_op_nr_vcpus_t;
>>>>>>>>
>>>>>>>> +#define XEN_DMOP_inject_msi2 21
>>>>>>>> +#define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>>>>>>>> +
>>>>>>>> +struct xen_dm_op_inject_msi2 {
>>>>>>>> +    uint64_aligned_t addr;
>>>>>>>> +    uint32_t data;
>>>>>>>> +    uint32_t source_id; /* PCI SBDF */
>>>>>>>
>>>>>>> Since the comment says SBDF (not BDF), how are multiple segments handled
>>>>>>> here? At least on x86 (VT-d and V-i) source IDs are only 16 bits iirc,
>>>>>>> and are local to the respective segment. It would feel wrong to use a
>>>>>>> 32-bit quantity there; IOW I'd rather see this as being two 16-bit fields
>>>>>>> (segment and source_id).
>>>>>>
>>>>>> I'm planning on resuming this series in the near future and want to
>>>>>> clarify the DM op interface.
>>>>>>
>>>>>> Wouldn't it be better to keep things consistent and use
>>>>>> XEN_DMOP_PCI_SBDF as it's done in xen_dm_op_ioreq_server_range? Also
>>>>>> with this, the value can be easily casted to pci_sbdf_t later and split
>>>>>> to segment and BDF if needed.
>>>>>
>>>>> The essence of my earlier comment is: Naming, contents, and comments need
>>>>> to be in sync.
>>>>>
>>>>> I question though that "casting to pci_sbdf_t" is technically possible.
>>>>> Nor am I convinced that it would be desirable to do so if it was possible
>>>>> (or if "casting" was intended to mean something else than what this is in
>>>>> C). See my recent comments on some of Andrii's patches [1][2].
>>>>>
>>>>> Jan
>>>>>
>>>>> [1] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01294.html
>>>>> [2] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01301.html
>>>>
>>>> Would something like this be okay then?
>>>>
>>>> struct xen_dm_op_inject_msi2 {
>>>>        /* IN - MSI data (lower 32 bits) */
>>>>        uint32_t data;
>>>>        /* IN - ITS devid of the device triggering the interrupt */
>>>>        uint32_t source_id;
>>>>        uint32_t flags;
>>>>        uint32_t pad;
>>>>        /* IN - MSI address */
>>>>        uint64_aligned_t addr;
>>>> };
>>>>
>>>> Added padding and explained source_id purpose better.
>>>
>>> I fear the comment is far from making clear what layout source_id is to
>>> have, hence also leaving open whether a segment number is included there.
>>> Of course the issue here may be that I have no clue what "ITS devid"
>>> means or implies. What is clear is that "ITS devid" is meaningless on
>>> x86, for example.
>>
>> ITS devid is implementation defined. Its size is also implementation
>> defined but up to 32 bits.
>>
>> Quotes from Arm Base System Architecture[1]:
>>   > The system designer assigns a requester a unique StreamID to device
>> traffic input to the SMMU.
>>   > If a requester is a bridge from a different interconnect with an
>> originator ID, like a PCIe RequesterID, and devices on that interconnect
>> might need to send MSIs, the originator ID is used to generate a
>> DeviceID. The function to generate the DeviceID should be an identity or
>> a simple offset.
>>
>> On the Xen's side it is used as an offset into the ITS translation
>> tables and is sourced from msi-map nodes in the device tree.
>>
>> Practically for PCI the requester ID is usually the SBDF. Where the
>> segment is used to find the host bridge node that contains the msi-map
>> node with defined offsets but it is also included as part of an id.
>> That's why it was originally called SBDF in the comment. I don't know if
>> there is a better way to describe what it is concisely in the comments.
> 
> If this is to be usable for other architectures too, it may need to be
> a union to put there. With appropriate comments for each member.


If I got correctly what is wrote in current thread (and in RFC version 
where it was an attempt to create just Arm64's counterpart of 
XEN_DMOP_inject_msi), my understanding (maybe not precise/correct, since 
I am not quite familiar with x86 details) that we would need something 
like that:


/*
  * XEN_DMOP_inject_msi2: An enhanced version of the sub-ob to inject an MSI
  *                       for an emulated device, which allows specifying
  *                       the ID of the device triggering the MSI 
(source ID).
  *
  * The source ID is specified by a pair of <segment> and <source_id>.
  * If <flags> does not contain XEN_DMOP_MSI_SOURCE_ID_VALID then source ID
  * is invalid and should be ignored.
  */
#define XEN_DMOP_inject_msi 21

struct xen_dm_op_inject_msi2 {
      /* IN - MSI data */
      uint32_t data;
      /* IN - next two fields form an ID of the device triggering the MSI */
      uint16_t segment; /* The segment number */
      uint16_t source_id; /* The source ID that is local to segment (PCI 
BDF) */
      /* IN - types of source ID */
      uint32_t flags;
#define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
      uint32_t pad;
      /* IN - MSI address */
      uint64_aligned_t addr;
};


This is arch agnostic sub-op without the (obvious) specifics of the 
underlying MSI controller. The sub-ob, I hope, will be suitable on both 
Arm64 soon (segment + source_id provide vSBDF, then it will possible to 
locate vITS and devid) and on x86 in future (for the vIOMMU needs).

Would you be ok with that in general? Please share you opinion.


> 
> Jan
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 21:00:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 21:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921164.1325135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tv0Wf-0006t3-9c; Wed, 19 Mar 2025 21:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921164.1325135; Wed, 19 Mar 2025 21:00: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 1tv0Wf-0006sw-69; Wed, 19 Mar 2025 21:00:33 +0000
Received: by outflank-mailman (input) for mailman id 921164;
 Wed, 19 Mar 2025 21:00: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=1XZm=WG=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tv0We-0006sn-Bh
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 21:00:32 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20622.outbound.protection.outlook.com
 [2a01:111:f403:2413::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2fce585e-0505-11f0-9ffa-bf95429c2676;
 Wed, 19 Mar 2025 22:00:29 +0100 (CET)
Received: from BLAPR03CA0113.namprd03.prod.outlook.com (2603:10b6:208:32a::28)
 by PH7PR12MB5998.namprd12.prod.outlook.com (2603:10b6:510:1da::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Wed, 19 Mar
 2025 21:00:24 +0000
Received: from BN2PEPF0000449E.namprd02.prod.outlook.com
 (2603:10b6:208:32a:cafe::d2) by BLAPR03CA0113.outlook.office365.com
 (2603:10b6:208:32a::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Wed,
 19 Mar 2025 21:00:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF0000449E.mail.protection.outlook.com (10.167.243.149) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 19 Mar 2025 21:00:23 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 19 Mar
 2025 16:00:23 -0500
Received: from [172.17.183.194] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 19 Mar 2025 16:00:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fce585e-0505-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YSzIhfbSjc0CWAQUbiu1r8mB/fSpFSayqN/pItKeimVsI+7DzYKuF/pm0ww+FAAgwmNZuGKH9f0d/6S2KsZRFlF6MKFzsoWdrz5SjhqsjVQ9B1J02SNhCZcouoaa04XdPn/EEbvpDaN1m0kq6y2bPN43vgrzUUv7W/h5J7NV20hXL9Lj1miqsyGoj/bPJLhC6fj/h8kUEFXYiM9Dnn6Lq/BwCMjO9HLA4thRN8LoZgEWIX9hmE1SgIDx5G8R84E/rC68PRzFT2ImGLRbzW2SNNo3b5L4PVDSsxdoI0QYyka4f4/BhKvk2vYqFzBOV8ZtFUDD31pEXgYIxdl11ZFixw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3bgh4E+ItHHg/+K4yT0RvVp7gaPJ1C6RvwzeLly09b8=;
 b=qLVS2JB3bAYwOYfqsITG2FP4owwVs+ahp1nq2J57BK2qlOE8p9Ehe73NPlu4kUcoCDH6pd/b/UXVJZgBZTdP6kd3X86DdhqGUzZVxek1GXLrNU6orz6hplzxMrSovWxbuCcgwsxJ5h770QL3VfLxNJ9lf4UNi/IRjSu5FNlWpgDtiaYsskU6Vh/FzDlyFXom6xGFBi0uTyu5MnnpeTAQAcAk2k19L4Zd5jp6wwi7BEKWvvGfEqjgNLXJG/uBSHFU2SMvV+gFotmWEeACHwF1xuY0MroxTRm/mhzqd0nYEdbExEjnBHjAF5ryHEXfKHsb7qdKG2YYFMqXJneBk9ZVfA==
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=3bgh4E+ItHHg/+K4yT0RvVp7gaPJ1C6RvwzeLly09b8=;
 b=hBBLLwxukqdC2ugugiVMXCH/QyM33ZH32xxIFNDLHg2yRRYQt36kYqRiuFKZPOdkhbANiuEWDalI1o/ZrK/IEYKzKrY58a2RDuIdUlX2faJD0HvhwlqYrmstHHvyGlWDcBZASE1LxDq5ivem1Inle4hBOiGB3ufgfwrzNAadsf0=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <f231aebe-aa6a-4321-b7b5-dcf7b1014eec@amd.com>
Date: Wed, 19 Mar 2025 17:00:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v17 1/2] xen/arm: translate virtual PCI bus topology for
 guests
To: <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <oleksandr_andrushchenko@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>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
References: <20250311201330.365499-1-stewart.hildebrand@amd.com>
 <20250311201330.365499-2-stewart.hildebrand@amd.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20250311201330.365499-2-stewart.hildebrand@amd.com>
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: BN2PEPF0000449E:EE_|PH7PR12MB5998:EE_
X-MS-Office365-Filtering-Correlation-Id: cc027b44-140b-4c9d-1d25-08dd67291153
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?eFk0UWY1c2M1cWZra1ovTnR5cE9Ob29nZURXWFVYV3A1bzB2QW1CVExhdU5k?=
 =?utf-8?B?NFdlYm5UUktRWmQrUVBFQ21kOGw2MUZ3RllSRkRQUyt0UWNlenlOZ1Z1cTVr?=
 =?utf-8?B?enNqVkh3WlhJeHV3Y1poSHVST3d2WWY4N0I3LzdZU0JUeFRrWlkvejBOVUJX?=
 =?utf-8?B?b1VYY3Bya1VicDRIVnhid3hMR0ZFbUVVUXB1UjcyRG0zSTJPNlF2S1JrOE5s?=
 =?utf-8?B?QlBuQ010ZkZqWWI5ZW9DdDlWdEJTZmEwaWZNazRUNVZWMjBJb1dOd05qVHE4?=
 =?utf-8?B?Yzd1VTZpSDBvNXc4WGtLVVZDMGFTMEFMbzE2enNrSWh3bVZOMHNORW51eU90?=
 =?utf-8?B?WENodWJxVGd0TDdSVEQ2dFB6aTNxNW9OZlJ4ajJSd3JjTDBxS1pCd3VaU2p5?=
 =?utf-8?B?SkdRbzNJREdVQllJcFhtYWRUM20yV1E5WC83WEQ2MFRGZUpRdFlZU3IyM21X?=
 =?utf-8?B?N1VwRzZpOVZaTWVIbDUxV0lCZGx3VTVBZGlLVlpjeGo4R2QwaG9ZUUdMM2dq?=
 =?utf-8?B?REp4WFM5WGplZ2pZOGd1VWVLSnpPN1NEK0YrVWhLbGRsYXlIUDFIM1RnVy9I?=
 =?utf-8?B?V0ZLRTFWTmRDb0RLUk42cU1NYk9YL2Q1QjNueWFWd0s2RktLSWZwdmU2VzdX?=
 =?utf-8?B?V1ZsZ2Z4QlJ5bGp6N3BRT0lFd0c5RDN2WEZhU0I2MEhQMnd4aTM5VWQ1WUVJ?=
 =?utf-8?B?QjRJYmtNaFdrUElrNFl4dHBhZUE1K0dQYWZjN1Q5Y1NPU0lCL0pIRURKWWR2?=
 =?utf-8?B?b2FnaVcxamYyS2FzeFpuSUdiYlRsalk2Y2pMY3lmTTh6MnBzVFFvdjBwZkpB?=
 =?utf-8?B?TnkwNXBrZGo4Sy9XMXU4bGFNdWRtU2R4NDlQaHlsQWIyd29BYWlCcGtWS0x4?=
 =?utf-8?B?bjJUZE5UOExVWkYzNSs3OHhGK3FwZjVPS1RGcFRuWVJYU2NZN3c4aHhSaFd4?=
 =?utf-8?B?T0VJd0Q0RDZLVElzbW1scHF1aXcrcTNmdmYvWTRwc1J3RTdlUXlpeTRoSmx0?=
 =?utf-8?B?WnorcnQyTC9yb1pSMXIwN084SmNKekI2VmtUeGZwQ016SWRJTnFHcjhIQ0hG?=
 =?utf-8?B?NGhyS202eFB1Rzl4eFZpSmFxMUtPUG1MMEozTzBXRU9lb2JtM2h3MDhzSTZM?=
 =?utf-8?B?RkEzcnJiSGRJSktwZDBjaGVPZ2RKcUdSVHF0ZlRudDBtdUVOQXNXdU1iMkVM?=
 =?utf-8?B?K0NRbWpybGJTWWNpd1dCbEFTZEluQzVTbUJoSHVUNmVsVGZSajVJWkdiS3hr?=
 =?utf-8?B?UmxyeGxSR3RiaVZpdXNldzJneC91cnd4SkpaTWVKSTJPZG8xMU5sK2lrUEs3?=
 =?utf-8?B?QlFvOTJLVzNneHd0TDZPU0RqcEgwdUVvWE5sTGp3alErTUVUbEhmSnRMQ01y?=
 =?utf-8?B?WE1VQTF1ZGRNUkp6K05zUkx1K1h0eE1DUmQ0R3dzaGxzK1V6T05tTGV6MWhU?=
 =?utf-8?B?UFFsNjR0Z2IwejMrdUlKaFlhYk5BTklTRFNwd0ZGcVhVLzRLQi9pSTcyTEE5?=
 =?utf-8?B?Z2F4bnZtVyt6OWcralV6NVhaWFd2Q2pMSGRsUmNZL3JuSkEzL3pmSnZJNHEy?=
 =?utf-8?B?VzY3amNYZW0yRVdocCtXR1VreTN0RFdLdTM3UUFZMGdZYjc1QVJHaTJwRFlV?=
 =?utf-8?B?c1htS2x5V2NCTlYvWkpobWZRS1NiU21VMFMwU3JJR0FKNWJNUHEvbk8rbXl6?=
 =?utf-8?B?ZXMrMlV6Z1QzL0x5L1hUcVZxc3U0ZWVZeXk4ZXRsbGEyK0VmaUFMc1krVXBp?=
 =?utf-8?B?d3hIN3FaT3lqS3dWM210UTdydFR1b25jZ2l0UnVXc0NPTU9hOEx0bDlLUnlm?=
 =?utf-8?B?b2ltamRjcGVuRGVPVlBDY3FjVzNRZzhyZUp3em1wSHZqRmwyUEEvN25lY3py?=
 =?utf-8?B?enV5em00U3lvdXhsNWtJMXZneGp2bEhtRXc0RjZqNTYrLzhkbitvdjV5RW84?=
 =?utf-8?B?bHI1a0YydzdkRXkyUzJmMGt4ZzZucXcvcyt1WW1aTEs3MWE2UzNxK1pmTCtS?=
 =?utf-8?Q?xZbcmysqLmS5yL1/pbQ+CkaUoNlzik=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 19 Mar 2025 21:00:23.8145
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc027b44-140b-4c9d-1d25-08dd67291153
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF0000449E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5998

On 3/11/25 16:13, Stewart Hildebrand wrote:
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index 807401b2eaa2..e355329913ef 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -311,6 +311,18 @@ static inline int __must_check vpci_reset_device(struct pci_dev *pdev)
>      return vpci_assign_device(pdev);
>  }
>  
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +bool vpci_translate_virtual_device(struct domain *d, pci_sbdf_t *sbdf);
> +#else
> +static inline bool vpci_translate_virtual_device(struct domain *d,
> +                                                 pci_sbdf_t *sbdf)
> +{
> +    ASSERT_UNREACHABLE();

Unfortunately this leads to a warning in the vpci test suite:

In file included from emul.h:88,
                 from vpci.c:18:
vpci.h: In function âvpci_translate_virtual_deviceâ:
vpci.h:317:5: warning: implicit declaration of function âASSERT_UNREACHABLEâ [-Wimplicit-function-declaration]
  317 |     ASSERT_UNREACHABLE();
      |     ^~~~~~~~~~~~~~~~~~

... which can be fixed by doing:

--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -85,6 +85,10 @@ typedef union {
 } pci_sbdf_t;
 
 #define CONFIG_HAS_VPCI
+
+#define BUG() assert(0)
+#define ASSERT_UNREACHABLE() assert(0)
+
 #include "vpci.h"
 
 #define __hwdom_init
@@ -112,9 +116,6 @@ typedef union {
 
 #define PCI_CFG_SPACE_EXP_SIZE 4096
 
-#define BUG() assert(0)
-#define ASSERT_UNREACHABLE() assert(0)
-
 #endif
 
 /*

I'll send v18...


From xen-devel-bounces@lists.xenproject.org Wed Mar 19 21:41:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Mar 2025 21:41:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921181.1325144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tv1AL-0007FQ-8s; Wed, 19 Mar 2025 21:41:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921181.1325144; Wed, 19 Mar 2025 21:41: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 1tv1AL-0007FJ-6G; Wed, 19 Mar 2025 21:41:33 +0000
Received: by outflank-mailman (input) for mailman id 921181;
 Wed, 19 Mar 2025 21:41: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=8lUq=WG=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tv1AK-0007FD-EJ
 for xen-devel@lists.xenproject.org; Wed, 19 Mar 2025 21:41:32 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20608.outbound.protection.outlook.com
 [2a01:111:f403:2418::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eab6066d-050a-11f0-9ea0-5ba50f476ded;
 Wed, 19 Mar 2025 22:41:30 +0100 (CET)
Received: from MN2PR20CA0014.namprd20.prod.outlook.com (2603:10b6:208:e8::27)
 by LV2PR12MB5848.namprd12.prod.outlook.com (2603:10b6:408:173::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar
 2025 21:41:27 +0000
Received: from MN1PEPF0000F0E0.namprd04.prod.outlook.com
 (2603:10b6:208:e8:cafe::2c) by MN2PR20CA0014.outlook.office365.com
 (2603:10b6:208:e8::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Wed,
 19 Mar 2025 21:41:27 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000F0E0.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 19 Mar 2025 21:41:26 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 19 Mar
 2025 16:41:26 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 19 Mar 2025 16:41:26 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eab6066d-050a-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jcMVDAWgsLmTjs/8OqKX4lqXdQmhLUl785SgQqNYjHImeWNeuvrCEXMA3H+gbeZar0mJoAQaWdKU2ZvvgJ5sN6k8kcUBrT4df1HlI7Bbj6JiFWxY4zJK6+mJwnKlzKI3tAp3s4ucxSdeW/fLbeWiP0q6jlVxO6DdqSb+P89dZXtO/1GnxAq47zhZqsOl8S+fQbtJIBG53NL6IWgtk/61PBuejeVZfaeWeCVU1PRgbsjlZRDQ6lYksQAVZXWI8MwuO9qs7GOqnk/MjQudS4QfzyRD1UGexy5dq2eLSauF7fM15HvqmOo22R2rl5IxD9ARTAmPq307Uw3uiLBUHPuNpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cUHmAtpELtLd8qSdLVwGxkUYu+FMJDUKVdU+jA1yMqE=;
 b=g4dRV0hlS8DW3bO/FPH3KloViR/sjjFmQo2pP/d/NeTo9U6BlVJXwPhZfQEdHTwCt4twcGw6VO3vtwpTZHKGmzBFL2FaNRxbzo5jioaw7020AfuiopVh95NCe2nTvsWx5KrmAxj4EQ5jW/q2HEbIFMqmGyOAfmUfoWcrC6bq3YQp34owW64+18zq2zMGyhn2KzkB6Uf7XLel9/vbpkaQCZ4qca1/WO9ReH/metw4nTAE4emJDh43y3DHhYLcpjLE2O0iOi3bQCYC/O/I8umaC0JQjI2LdYQx6K2xIfIh49CULnfPRqIwvKy/FrDzSRQR6c2mKdGFoZJH/OPO2f/UjQ==
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=cUHmAtpELtLd8qSdLVwGxkUYu+FMJDUKVdU+jA1yMqE=;
 b=yq8ZVqNgF+iWkfULEXIJkXR67iV9+ZfK6q1ohD5jKHLFHcvktHMukYERrcokW6FSY8jLaKSID+YAXYP+LEf31psz6pGx2uOT//JQyRuGzPEhgucyy0DRGf/yxyOq9BXMbYcImqLwl8GpSsN1rieahjBolHQ0R2efS/yy6ul2F/Y=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <c56988e5-bfaa-4b2b-8182-8e0f42963448@amd.com>
Date: Wed, 19 Mar 2025 17:41:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Simplify the expression for extra allocation
 space
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: <20250319171346.19478-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250319171346.19478-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
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: MN1PEPF0000F0E0:EE_|LV2PR12MB5848:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ba509e5-2d3a-4c13-098b-08dd672ecd6a
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?MzEydDR0Y3FtYzlhcEwya1NnamhzaDJQNStyMEYvYkhwa3EwV3lnTTNuZjBk?=
 =?utf-8?B?YWxuUm40UGZGK00xV01WK0RMOWdzUWFmQi8xVnlCSy9jc0w2K2x1QnF4dy9I?=
 =?utf-8?B?Skl3c0c5eUFmbmtkQmtLL3B2MjJTVzNzczBuYjFJUUVBbUtlZENITEdHanFQ?=
 =?utf-8?B?b0xFQjNlUDVqbU1EaFpiczRKTHE5VEhRSFR4QkcyWUdrNkZaSWY0QkRKTHZ2?=
 =?utf-8?B?VUhNSEt1c1RZVHU1VnNHb2hjVkgyRXdnQXJrRDR2SDF2M2V6bmVpMDJBWnBB?=
 =?utf-8?B?RnRDYlkyaHhTeGVaNVMrVFdUUHdPK3FGSCttQmViZWZSZDcwZ3FBcmRwSnhy?=
 =?utf-8?B?dTdNRmJLM1dNYWNqeFN5K3RWeGNXUU9FcGpCa25lY0RCTHZ1MEY4SmNndDhp?=
 =?utf-8?B?VnlRKzU4U1pnOURJMmlKZlhaQnRkNGlUcmN4K2pCVVhFVUVqRjUwendOZmcx?=
 =?utf-8?B?RnN2TTh1dkYrckNFdTdnYXdqZkd6emd6UG9NL3FzVVo2SUdNc0VvWmJUM25W?=
 =?utf-8?B?dEdoOGRXSjM2U2k1Qm10Y2daSjdCWHpnOHBLZlZyWmVIRW4zVkVlRnBtc2FP?=
 =?utf-8?B?ay8zdlpYUzhZRG9UYlBVWU5IVlZDRTBzOEh5WFZQRm9KWXlEa1J1T1J4VEVN?=
 =?utf-8?B?QnBpck84SURTZUovOXhvWEVHSHBCL3U1a3pmY1Nyd2FBWGw2TWpuWnBEUXZo?=
 =?utf-8?B?QnBwQ2FvbnlzNE0yOElMZUxBd24yRHMwTUUyWkNrS2FzTHo5dU1Xbk1XRkky?=
 =?utf-8?B?WWk1Vm5KTzlzSFNoTk11OGNNeGlWc1JrNmtMTFhKM2EvM0hmU3hlb1M0a2s1?=
 =?utf-8?B?Znlnc2o5V1o1SVhGNFg3QW1rb1BVZ21QUkIyVkpvZnpGVmJpQjNyV29Lb0xi?=
 =?utf-8?B?VUlIMFQxM20zbmFoVGdBVnIzM0kxendVbjJCOFd4eTd4bW5xVi9kcUFaWURx?=
 =?utf-8?B?ckdpd3Z5OEFqY2ZCQ1REN0hCWjdYdDl4MW0zaG1vRDRyRnl1NHRLbElKd2Nn?=
 =?utf-8?B?a1dpRHQ3Z0djMWdsMnNqejJXaE1ZU0VCZDQzNENEeVJwdDdNMDBBekFnVWJL?=
 =?utf-8?B?ZW9HUmFrbFZZQUtES2JudVNwaFd5aWU2cU5xMnhNL2NBV0lDWlgwSFBBaWxn?=
 =?utf-8?B?NlVkQ2tyM3gyalhMS0hjZnhXUmlGQ1BCbFpwa2VyY1FXblJRT2xDRnZIU3Rh?=
 =?utf-8?B?R3J0eDM5Yy91d1FCS1ZsYUdMMjFDM0Iybml2alRnd3lBRGtSbXpIRjUvNzB3?=
 =?utf-8?B?Mit4S0FMWWV6ZGhZcWZMbG9za1BBSk8zUy81YnRQUU0zdTVaU3UyYzFxQ2Yr?=
 =?utf-8?B?V0tCR1JzUmtZK0QrYURRcVNDZGp0Q0kwdGNlRVdaV1N3ZWttNTFtdXdMNmw1?=
 =?utf-8?B?bzFLSUJ3bEllZ0F4NFV4aDV3WFd2djVrVGVGSFJkM1NnMWh5ZDl5RFVINFhh?=
 =?utf-8?B?NWpHVTZZL0Jldk1FN1pRUnlsNE5ETkgrNE9xc3NjWE5UUzV0eGhsbXdwS1d5?=
 =?utf-8?B?MFp2WFJob0NmRGhTUHArc2dtM3NiZ1hPMkhWcFYydzVwOHNJeW42TjVOV2ZB?=
 =?utf-8?B?WnJFbWtjSmhCd2hpMUNPektVU0RpN0VqUmxNeGhXTWpzajgxSldLdWhpMXVS?=
 =?utf-8?B?disrb3RyS3ZKa3o0Uzk5VHhmcFlHSkZEc2UzVjlUMjlucHl1SE9xZlAySWl6?=
 =?utf-8?B?M1pWU2JmLzI1ZmpQMFNxOVJkbHBKVFZ0SmY5aWF1N0lwU3kxcEhNZnJqeG5L?=
 =?utf-8?B?Z3FYT0RyanVIZFJFWW8rOURSSkFLZ1lPeitxY0tKNHlvUlJ3KzBJRUtQQ0dP?=
 =?utf-8?B?L1orcVhzMC9wdVE1anAzVm1oU0ZsejVoeE1CNGFVam9HQnFGWDZncWlUT1Rm?=
 =?utf-8?B?NDBCaFBSTno4cXNNa2tJRFZqV2pvL1poa3ZsZk5PWXBwY0ZacVdzdXJjbWVT?=
 =?utf-8?B?OGZJMFk0L1MyelNuLzRTQXh1TzNkdXhCeFdQY1M2Q2xxSUkybWtkYm55dmFD?=
 =?utf-8?Q?sGTyp99YsgaCTvWWR6skexJJJhMyCM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 19 Mar 2025 21:41:26.8601
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ba509e5-2d3a-4c13-098b-08dd672ecd6a
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E0.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5848

On 2025-03-19 13:13, Andrew Cooper wrote:
> The expression for one parameter of find_memory() is already complicated and
> about to become moreso.  Break it out into a new variable, and express it in
> an easier-to-follow way.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

One thought...

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> ---
>   xen/arch/x86/hvm/dom0_build.c | 18 +++++++++++-------
>   1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> index 6a4453103a9a..6591949984b8 100644
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -654,6 +654,7 @@ static int __init pvh_load_kernel(
>       const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
>       struct elf_binary elf;
>       struct elf_dom_parms parms;
> +    size_t extra_space;
>       paddr_t last_addr;
>       struct hvm_start_info start_info = { 0 };
>       struct hvm_modlist_entry mod = { 0 };
> @@ -711,13 +712,16 @@ static int __init pvh_load_kernel(
>        * split into smaller allocations, done as a single region in order to
>        * simplify it.
>        */
> -    last_addr = find_memory(d, &elf, sizeof(start_info) +
> -                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
> -                                      sizeof(mod)
> -                                    : 0) +
> -                            (cmdline ? ROUNDUP(strlen(cmdline) + 1,
> -                                               elf_64bit(&elf) ? 8 : 4)
> -                                     : 0));
> +    extra_space = sizeof(start_info);
> +
> +    if ( initrd )
> +        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
> +
> +    if ( cmdline )
> +        extra_space += ROUNDUP(strlen(cmdline) + 1,
> +                               elf_64bit(&elf) ? 8 : 4);

These component values are re-calculated below.  With additional 
variables, they could be calculated once and used for find_memory() and 
later last_addr adjustments.

Regards,
Jason

> +
> +    last_addr = find_memory(d, &elf, extra_space);
>       if ( last_addr == INVALID_PADDR )
>       {
>           printk("Unable to find a memory region to load initrd and metadata\n");
> 
> base-commit: aa78a7d10c6c2ef877b34d119a6db934c201ddfd



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 00:57:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 00:57:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921229.1325154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tv4Du-0001Hp-4W; Thu, 20 Mar 2025 00:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921229.1325154; Thu, 20 Mar 2025 00: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 1tv4Du-0001Hi-1O; Thu, 20 Mar 2025 00:57:26 +0000
Received: by outflank-mailman (input) for mailman id 921229;
 Thu, 20 Mar 2025 00:57: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=AkqV=WH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tv4Ds-0001Hc-2m
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 00:57:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47738642-0526-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 01:57:22 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 9A6145C576D;
 Thu, 20 Mar 2025 00:55:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DDEB2C4CEE4;
 Thu, 20 Mar 2025 00:57: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: 47738642-0526-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742432239;
	bh=/Svz/qpGL9V5+EBjj+5V0CrMNwmeoVFznwIAvQ9cJMc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nDLAhLtCtnDSI7lFU5iDxDq7zesyyCN3H4wXgbrwkjfW31cwdshL2YYcBSZ7/O2mr
	 KJyRTqQdQ4pxC7Ss9QqNjaNa3vC4iv7FYQReNt76UoY5LumMbYbESsQsuBhwcg4a5q
	 9KjxIEQ42eOtg7+foR9Eq+WNDsqsQMexZoiU59xGUv+OswzaAU+pPMCamm6cstfK7g
	 hM6eeKVEQHBrSzROF6WeYQsWojW3EZ0j+oHKKkS8eltIgi5z+JU2cYIW2OT/YxHhiZ
	 51UZaiTH3MJniVTOtZ+YVkMuOi7st5bivggICn4m4c+r7UeQ+Xs2Nv42c3imV2lXHh
	 Uy/RN/70HUzjQ==
Date: Wed, 19 Mar 2025 17:57:17 -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 <sstabellini@kernel.org>, andrew.cooper3@citrix.com, 
    michal.orzel@amd.com, julien@xen.org, roger.pau@citrix.com, 
    bertrand.marquis@arm.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
In-Reply-To: <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503191754480.2325679@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2503182002160.2000798@ubuntu-linux-20-04-desktop> <ad1bd470-1efa-4019-89ac-386bb05dd44d@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, 19 Mar 2025, Jan Beulich wrote:
> What about xenctl_bitmap_to_bitmap()?
 
Let me see first if I managed to handle bitmap_to_xenctl_bitmap well.

---

[PATCH v2] xen: simplify bitmap_to_xenctl_bitmap for little endian

The little endian implementation of bitmap_to_xenctl_bitmap leads to
unnecessary xmallocs and xfrees. Given that Xen only supports little
endian architectures, it is worth optimizing.

This patch removes the need for the xmalloc on little endian
architectures.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- don't remove const
- handle clamp_last_byte for little endian

diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index 3da63a32a6..e9876ee5a6 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -384,21 +384,33 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
     uint8_t zero = 0;
     int err = 0;
     unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
-    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
-
-    if ( !bytemap )
-        return -ENOMEM;
+    bool alloc = (bitmap[nbits/8] & ((1U << (nbits % 8)) - 1)) ||
+                 IS_ENABLED(__BIG_ENDIAN);
 
     guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
     copy_bytes  = min(guest_bytes, xen_bytes);
 
-    bitmap_long_to_byte(bytemap, bitmap, nbits);
+    if ( alloc )
+    {
+        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
+        if ( !bytemap )
+            return -ENOMEM;
 
-    if ( copy_bytes &&
-         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
-        err = -EFAULT;
+        bitmap_long_to_byte(bytemap, bitmap, nbits);
 
-    xfree(bytemap);
+        if ( copy_bytes &&
+             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
+            err = -EFAULT;
+
+        xfree(bytemap);
+    }
+    else
+    {
+        const uint8_t *bytemap = (const uint8_t *)bitmap;
+        if ( copy_bytes &&
+             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
+            err = -EFAULT;
+    }
 
     for ( i = copy_bytes; !err && i < guest_bytes; i++ )
         if ( copy_to_guest_offset(xenctl_bitmap->bitmap, i, &zero, 1) )


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 01:08:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 01:08:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921252.1325165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tv4O9-000347-0n; Thu, 20 Mar 2025 01:08:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921252.1325165; Thu, 20 Mar 2025 01:08: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 1tv4O8-000340-Tz; Thu, 20 Mar 2025 01:08:00 +0000
Received: by outflank-mailman (input) for mailman id 921252;
 Thu, 20 Mar 2025 01:07: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tv4O7-00033S-TV
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 01:07:59 +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 c2ec0f44-0527-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 02:07:58 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43d0c18e84eso861925e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 19 Mar 2025 18:07:58 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c7df402esm21964124f8f.1.2025.03.19.18.07.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Mar 2025 18:07: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: c2ec0f44-0527-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742432877; x=1743037677; 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=x/t6J1DknPWMwW0+03iZVmsoPmfDELB0NZvCQbEkhoA=;
        b=hf1x9RaJlgLY+feyXiccVK22PPkcwHLlMSmUk/LRQr5jYcinivYYsoACF2sZnXTn/0
         YO9Ol0tN5K4Nmw5ehdFBEAZLVUAoe7rcPBB81G6M9d2q+Kg6rDLVb0uZdHOwKYszwX+q
         c879XmYNXXsR8SfDsz3WHMW/F4l0vqCw0a+wI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742432877; x=1743037677;
        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=x/t6J1DknPWMwW0+03iZVmsoPmfDELB0NZvCQbEkhoA=;
        b=Rjn0b/8JFbsKQj27EHYZTnwsVOsJ3eF49tZnNQ3x7dnm7hzKOnDX8ZyCJV7p9sYlZ9
         Og/75J9FhsKGGdPcTrkdN4KZFcIQRm0twtCeShhzpeKKH65ZMU4LVzdnFPNbDD34Gh9K
         FSkMbdK/qVsS2XE2vFaCjQ8ii7aK6tN9qjJTh9r2f9dJ5h0kAZjcOAsHZkDSFMkkjI6P
         /skDfDCKonfrFhpksiw35ZyaL+v803QqMWcMtLiUirqrIc7hwF/cpHhJzaPADDplnF4S
         3dUivlhSZa1JpKkamqulVPv2uL2AWlNNff62IJYzpe0poydt6FDaaV6oBNg+0MX8KUcW
         x+ug==
X-Forwarded-Encrypted: i=1; AJvYcCWarTrsxKdxx0fAC4S/xIt0Ikyq4Fh+htUJkDTePwAPIBxfMzbcDSmzNoxmT38r/W0wehr5RFeLqQ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz391oYb9imGls7Gm1zMxxQo9305yMymd271kw4w8RiMokxNZMR
	uvdaaCW9dk3MAXO2wZBtoz46OOXk3/3QZ37DfEZWiGYhU47ZanXGl6MaESNSrAo=
X-Gm-Gg: ASbGncvjvAeEBpaA6LDIT1KKgTwkqZEjxlfHRW2pbWgiWFl9n6BnAXyckib/lgOOLeu
	fblV4GbIkSoy82pcNeeALdcpQggyevZwculGhVJJooociZKWI6SDGHZicxufCKqOlJASRaxdOH7
	YKM1TrleJjULiBs9xLrjg6LJFdNF+q3TcGwrBuIEouIIskN87+Akqidt928glkS/X1JlY/4fHho
	G2HG/2Q5M0wrHFBwum/kOEfpg6rkbOVQ1jBtUiFhnxpx52cY4317Igb+ud+TGVRfn9VtnCVvnJp
	s5QMrPkVSxqP24iNwN0djRWuuA+fXzRDZmDC1xBg2jUbsjHF2nvGPZw0P8GR4tgLUgusVGb8O1g
	hw4LjdgIYnw==
X-Google-Smtp-Source: AGHT+IHFh6tgTh8gsfTrYv/RO+vG7iBlwMYCwKwQhrzxU5oZgg1oi3KFm7WmHDZjW7NcZcrYaSR/mA==
X-Received: by 2002:a05:600c:5117:b0:43d:2313:7b4a with SMTP id 5b1f17b1804b1-43d495095ebmr10238055e9.3.1742432877449;
        Wed, 19 Mar 2025 18:07:57 -0700 (PDT)
Message-ID: <33ef3e0d-02fb-4fb5-91f1-d5cef64bb030@citrix.com>
Date: Thu, 20 Mar 2025 01:07:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Simplify the expression for extra allocation
 space
To: Jason Andryuk <jason.andryuk@amd.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: <20250319171346.19478-1-andrew.cooper3@citrix.com>
 <c56988e5-bfaa-4b2b-8182-8e0f42963448@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: <c56988e5-bfaa-4b2b-8182-8e0f42963448@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 9:41 pm, Jason Andryuk wrote:
> On 2025-03-19 13:13, Andrew Cooper wrote:
>> The expression for one parameter of find_memory() is already
>> complicated and
>> about to become moreso.Â  Break it out into a new variable, and
>> express it in
>> an easier-to-follow way.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks.

>
> One thought...
>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>> ---
>> Â  xen/arch/x86/hvm/dom0_build.c | 18 +++++++++++-------
>> Â  1 file changed, 11 insertions(+), 7 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/dom0_build.c
>> b/xen/arch/x86/hvm/dom0_build.c
>> index 6a4453103a9a..6591949984b8 100644
>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -654,6 +654,7 @@ static int __init pvh_load_kernel(
>> Â Â Â Â Â  const char *cmdline = image->cmdline_pa ?
>> __va(image->cmdline_pa) : NULL;
>> Â Â Â Â Â  struct elf_binary elf;
>> Â Â Â Â Â  struct elf_dom_parms parms;
>> +Â Â Â  size_t extra_space;
>> Â Â Â Â Â  paddr_t last_addr;
>> Â Â Â Â Â  struct hvm_start_info start_info = { 0 };
>> Â Â Â Â Â  struct hvm_modlist_entry mod = { 0 };
>> @@ -711,13 +712,16 @@ static int __init pvh_load_kernel(
>> Â Â Â Â Â Â  * split into smaller allocations, done as a single region in
>> order to
>> Â Â Â Â Â Â  * simplify it.
>> Â Â Â Â Â Â  */
>> -Â Â Â  last_addr = find_memory(d, &elf, sizeof(start_info) +
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  sizeof(mod)
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0) +
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (cmdline ? ROUNDUP(strlen(cmdline) + 1,
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4)
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  : 0));
>> +Â Â Â  extra_space = sizeof(start_info);
>> +
>> +Â Â Â  if ( initrd )
>> +Â Â Â Â Â Â Â  extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
>> +
>> +Â Â Â  if ( cmdline )
>> +Â Â Â Â Â Â Â  extra_space += ROUNDUP(strlen(cmdline) + 1,
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  elf_64bit(&elf) ? 8 : 4);
>
> These component values are re-calculated below.Â  With additional
> variables, they could be calculated once and used for find_memory()
> and later last_addr adjustments.

This is a prerequisite for Jan's
https://lore.kernel.org/xen-devel/730d8143-8cda-49da-a48a-3b82c2b77c9d@suse.com/T/#u
which adjusts several aspects.

Given Jan is intending to do some cleanup in this area, I'll not
complicated my change further.Â  If there are dregs left afterwards, the
can be cleaned up too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:26:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921319.1325174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAIW-0006kt-IL; Thu, 20 Mar 2025 07:26:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921319.1325174; Thu, 20 Mar 2025 07:26: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 1tvAIW-0006km-Ev; Thu, 20 Mar 2025 07:26:36 +0000
Received: by outflank-mailman (input) for mailman id 921319;
 Thu, 20 Mar 2025 07: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvAIV-0006kg-H4
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:26:35 +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 a6b7b58c-055c-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 08:26:34 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so320424f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 00:26: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-395cb3189absm23356247f8f.71.2025.03.20.00.26.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 00:26: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: a6b7b58c-055c-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742455593; x=1743060393; 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=rFyncwLsU/PXyOXNTd29HTHI4vPOpumEb9z0xL5Olhk=;
        b=E1tO+m73BRjoUI811z8zbsjH5Yit+5ERY1cEfbDGfK1EkJvx+LEOEzF7F4KuVAd4aG
         x9Y42SPMTzmtAEWSmEIPxrl3oEhGU2UbGQMcm56pCREuuxnnxTKlGo8FE/Ly/tfHW0QA
         d+eGi4qh0VyRD4nElSiaUe7lpujgVueqyDzXfcxzzuNLs0JBeUMHjGC84DnROgtOlr2a
         nr+6uSgbG9VGcEoQQRI8lAPfmP7RORezTK1w+2TQDurohk2RyTVsO4oeanbD/rp4yfeK
         zlvF4g8RC5nrbywhNHd4YwabYkjMrzvUBjikRkB82lsGZUho9XocG7VCHCixu5vcMRtV
         e+vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742455593; x=1743060393;
        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=rFyncwLsU/PXyOXNTd29HTHI4vPOpumEb9z0xL5Olhk=;
        b=rInwtG/q3H3Ht8iepuXPjZ7FREHTIL+VOVqQJ4Xb9W6YzkfGwANc+9tVFUXYQkPiNh
         Wf9uRZwTtTS8VrIHx5Jg7SbV8/6wrQxnia9tUDiwp1QRAkx4WZXnl/lLWtHdqS2bh7R7
         kaJ3Cry3DGmOHyvlraBjHDLHMj+BQNe7gwGKGp6LH133W74WOWD1jqDciO7T91trLNgJ
         QTgBttYvuYa9AuK80k3Y1ZtkS0PxkRvrLJlRMIwiFHBCf8C/03pqc4abHZtZsMmulUtz
         hBvqQ4nlGwuNsC0EUX6Nz1ewJkNisUQ4DsdR1yoaz2t6x+FpqtFeuscS0gMhW1FWXZDL
         J3qg==
X-Forwarded-Encrypted: i=1; AJvYcCWBY0PpfvIQZC2IN5drMRmAxwE4+Kz3hnaiDQwo+reL1FLHtvHZN88n7g5pPsgj5ghriHuosjDXP7g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWjZjix61pgTV2JIpBUu8D6Bpwaz7V0Osbp3xzCjy0TQ0zwPTd
	dfBzt12ZBYOPjgKcHqXxwASY6TzD2Pny4AzWqXD/IxkZxUtx26fZ1fF4KYvifA==
X-Gm-Gg: ASbGncvptE9J8G/nsUAjk2MqQbHaS66jydWjdlIfPFfpkjzVGGw8CqhHaIeyvRe8B+V
	0Jdc/HpIYvml5W/hmZJfogXC4qyeq8H/aMIo/Z8Oa1jC28MrQSWuIUbFrkSvX0sv5rg5ayKVdIp
	YwLU6stjC6TV3ck2eDcDHqZQtS0DhvfjoYuZTVUvZipAGrM6tGpEfVJozSLacrEuoI3T5oZ1bUi
	8NduJ9c4hYhLkyktZjuLVnmPbyi4APyAeiW5SeQkcrYCNjrOrlFvna59WE9PygYfPAQZh/3eF04
	QaQl6AA+GFVDeSUf2uzt2ZN4n1rYZ2wBmVxbmpGIlzwi/VEsXYzVlsGOtNjCFho3gLh2yQwEmGv
	tkPkDLuYgvI2+JssPVyqQjyIHoRGQO8/y9k4A72EL
X-Google-Smtp-Source: AGHT+IHmZQ+y0CF9gBu0yd+Vu3WP89gjW0iRwRmVB6wnBdwoJSWTpi3f1NG3fAAiQgMroduck/0O5g==
X-Received: by 2002:a05:6000:2a7:b0:390:e535:8758 with SMTP id ffacd0b85a97d-399795a4f96mr1789250f8f.9.1742455593536;
        Thu, 20 Mar 2025 00:26:33 -0700 (PDT)
Message-ID: <8297406e-b281-4783-9238-d6326db3fa15@suse.com>
Date: Thu, 20 Mar 2025 08:26:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little endian
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, michal.orzel@amd.com, julien@xen.org,
 roger.pau@citrix.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2503182002160.2000798@ubuntu-linux-20-04-desktop>
 <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com>
 <alpine.DEB.2.22.394.2503191754480.2325679@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.2503191754480.2325679@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 01:57, Stefano Stabellini wrote:
> On Wed, 19 Mar 2025, Jan Beulich wrote:
>> What about xenctl_bitmap_to_bitmap()?
>  
> Let me see first if I managed to handle bitmap_to_xenctl_bitmap well.

Well, the code looks correct to me, but the description now has gone
stale. I also wonder whether with that extra restriction the optimization
is then actually worth it. Just one further nit:

> --- a/xen/common/bitmap.c
> +++ b/xen/common/bitmap.c
> @@ -384,21 +384,33 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
>      uint8_t zero = 0;
>      int err = 0;
>      unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
> -    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> -
> -    if ( !bytemap )
> -        return -ENOMEM;
> +    bool alloc = (bitmap[nbits/8] & ((1U << (nbits % 8)) - 1)) ||

Blanks missing around / here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:30:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:30:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921329.1325185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAMD-0008FE-0r; Thu, 20 Mar 2025 07:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921329.1325185; Thu, 20 Mar 2025 07:30: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 1tvAMC-0008F7-UI; Thu, 20 Mar 2025 07:30:24 +0000
Received: by outflank-mailman (input) for mailman id 921329;
 Thu, 20 Mar 2025 07:30: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvAMB-0008Ez-SV
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:30:23 +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 2ef9a124-055d-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 08:30:22 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso3493785e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 00:30: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
 5b1f17b1804b1-43d43f55c3dsm40214805e9.23.2025.03.20.00.30.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 00:30: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: 2ef9a124-055d-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742455822; x=1743060622; 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=vQq5jnK2lO+zCCXUIDq/i/Jlukd84YXojhttu/lx0QQ=;
        b=dgtn95Gbh1r+Oupyd4d5haUY0aWEa9zv82rnTUsYTQEm+PSjC9L6seDUpqUFc2c0Tl
         MzbgZ1qXQQ+6yOSHJThAd7Ad5qw1lEXX+83PNmq3GotRHdkmIZl86+y6vQxGyU9pqg4j
         kVyOLXxvP6rA5Tr04dbpMoOzcTt8CffKtS+CyFrLrUUAho06S2iwJot0X/1aVFkRAT0F
         vKs2RpcFhT45KyZynVYYwwOsjwpjlNvqx0CTzCRElG9CE01VTduj0XbBNqeHqaQJOjvi
         gEVVmS+j0d2SW8O9m2j6pPAsPv65hEqumHN0zEuFA6pg/4FLcIGuH3jFVFAt09r4IxE0
         R6Bw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742455822; x=1743060622;
        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=vQq5jnK2lO+zCCXUIDq/i/Jlukd84YXojhttu/lx0QQ=;
        b=jhxml3SamOjhUFoR6cm8B25tqKQqhmIkpWMNj4BbLLyI4V62lUELe3CiJyhvmR5DeH
         /epf2cRbs/ShFjQekFn2P2K/q40h68JEiFMRF3N+7lIrMDplNifqQA5SFpAK3FryzxJM
         MtxOlfLwJg4/FVKoBXU6LfabwAWX2/8wvTNGKxG31NFqnFdA0fQsHjNJ7Sl7BjhSt3N4
         HQ/gDufen4IWd9YCFpojUNuIwnPYvzqnFImQAFW2ZCYB/BFLc6G4nLxWhCvcTpVLU/mi
         noUUKwp5K5TcaqxWSbVgLBAzTvutQQ+hnWwIpXPgXyfjrEBobyOQU8ZyOx85H9C7Tlmf
         k85g==
X-Forwarded-Encrypted: i=1; AJvYcCWlatDu7ZMHiPRimxTtxBskUA3Qkf9mcKCLFxoFjWDNuB3pg+rddtZ+OPGadoL5CydCnnOKc6lYOws=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrrO9SC0GowAFTt9tnbG6D/uIfDXPusoNWsUQ0Lh44+ShRxzBh
	ezC7Q49/8X+ASeZegKjBbeyBlFFe2RzQ98mhaKUyLWVdA2v5+Ar/4GMgVg4UhA==
X-Gm-Gg: ASbGnctPtrJ9OD2grgon484/zBTVhfcziB/GnZg83yGGdqXaBgER8+DdQ78Ln1cShv3
	2v8grww4SfuFIi/lGQ4TVOBcboHLvxioDDSzgDlKyTH1WdB8ML+dfLh5LeLua3ve7oyjNAbDg+K
	5F993WtXQkYs8+5V1NUFvTRIlzI+Ir30RjrLIFZL2UGriiATvHiw28v03Uq688V5eEcO7FTVJ1m
	u66L0EfERrvBBDVp92OAD3pyzmxcj5czXZI1I2/2UF63Jda/i8lbzE0xz4JKG1BV2gSOaNCXEFe
	urTSC4xrg562lg9ELb3g6HQ5tMkCwWprIcsi85c7DjA3B2l+DUXb4Z9bfPnfJsD8SjewBgyFjsc
	KyhRLLGfadBfFpsYs+eh7x9gLJg1oBKbpaOXDsyFD
X-Google-Smtp-Source: AGHT+IGeCLnrOHWtl+xE1U1+BB5dxMxg6qcAbbxr/FswGTGECvPMwif5AaftU8xQVkkh8jEvHjemrA==
X-Received: by 2002:a05:600c:3b92:b0:439:9a40:aa0b with SMTP id 5b1f17b1804b1-43d43882ebcmr45407045e9.25.1742455821908;
        Thu, 20 Mar 2025 00:30:21 -0700 (PDT)
Message-ID: <432b0b6e-2e89-4e95-8237-811e5e55517b@suse.com>
Date: Thu, 20 Mar 2025 08:30:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Mykyta Poturai <Mykyta_Poturai@epam.com>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
 <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
 <65f0072f-33c0-4436-8e34-3544d25c9568@suse.com>
 <19d8224a-04e0-45bb-9471-abeb684e9cad@epam.com>
 <7f523597-cf70-4673-b4a2-fac602253a9e@suse.com>
 <0f54652b-3af2-4d52-b3a1-76a5dbeddb14@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: <0f54652b-3af2-4d52-b3a1-76a5dbeddb14@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 21:42, Oleksandr Tyshchenko wrote:
> On 19.03.25 14:37, Jan Beulich wrote:
>> On 19.03.2025 13:05, Mykyta Poturai wrote:
>>> On 18.03.25 16:26, Jan Beulich wrote:
>>>> On 18.03.2025 14:31, Mykyta Poturai wrote:
>>>>> On 18.03.25 12:11, Jan Beulich wrote:
>>>>>> On 18.03.2025 10:10, Mykyta Poturai wrote:
>>>>>>> On 15.01.24 11:35, Jan Beulich wrote:
>>>>>>>> On 14.01.2024 11:01, Mykyta Poturai wrote:
>>>>>>>>> --- a/xen/include/public/hvm/dm_op.h
>>>>>>>>> +++ b/xen/include/public/hvm/dm_op.h
>>>>>>>>> @@ -444,6 +444,17 @@ struct xen_dm_op_nr_vcpus {
>>>>>>>>>      };
>>>>>>>>>      typedef struct xen_dm_op_nr_vcpus xen_dm_op_nr_vcpus_t;
>>>>>>>>>
>>>>>>>>> +#define XEN_DMOP_inject_msi2 21
>>>>>>>>> +#define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>>>>>>>>> +
>>>>>>>>> +struct xen_dm_op_inject_msi2 {
>>>>>>>>> +    uint64_aligned_t addr;
>>>>>>>>> +    uint32_t data;
>>>>>>>>> +    uint32_t source_id; /* PCI SBDF */
>>>>>>>>
>>>>>>>> Since the comment says SBDF (not BDF), how are multiple segments handled
>>>>>>>> here? At least on x86 (VT-d and V-i) source IDs are only 16 bits iirc,
>>>>>>>> and are local to the respective segment. It would feel wrong to use a
>>>>>>>> 32-bit quantity there; IOW I'd rather see this as being two 16-bit fields
>>>>>>>> (segment and source_id).
>>>>>>>
>>>>>>> I'm planning on resuming this series in the near future and want to
>>>>>>> clarify the DM op interface.
>>>>>>>
>>>>>>> Wouldn't it be better to keep things consistent and use
>>>>>>> XEN_DMOP_PCI_SBDF as it's done in xen_dm_op_ioreq_server_range? Also
>>>>>>> with this, the value can be easily casted to pci_sbdf_t later and split
>>>>>>> to segment and BDF if needed.
>>>>>>
>>>>>> The essence of my earlier comment is: Naming, contents, and comments need
>>>>>> to be in sync.
>>>>>>
>>>>>> I question though that "casting to pci_sbdf_t" is technically possible.
>>>>>> Nor am I convinced that it would be desirable to do so if it was possible
>>>>>> (or if "casting" was intended to mean something else than what this is in
>>>>>> C). See my recent comments on some of Andrii's patches [1][2].
>>>>>>
>>>>>> Jan
>>>>>>
>>>>>> [1] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01294.html
>>>>>> [2] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01301.html
>>>>>
>>>>> Would something like this be okay then?
>>>>>
>>>>> struct xen_dm_op_inject_msi2 {
>>>>>        /* IN - MSI data (lower 32 bits) */
>>>>>        uint32_t data;
>>>>>        /* IN - ITS devid of the device triggering the interrupt */
>>>>>        uint32_t source_id;
>>>>>        uint32_t flags;
>>>>>        uint32_t pad;
>>>>>        /* IN - MSI address */
>>>>>        uint64_aligned_t addr;
>>>>> };
>>>>>
>>>>> Added padding and explained source_id purpose better.
>>>>
>>>> I fear the comment is far from making clear what layout source_id is to
>>>> have, hence also leaving open whether a segment number is included there.
>>>> Of course the issue here may be that I have no clue what "ITS devid"
>>>> means or implies. What is clear is that "ITS devid" is meaningless on
>>>> x86, for example.
>>>
>>> ITS devid is implementation defined. Its size is also implementation
>>> defined but up to 32 bits.
>>>
>>> Quotes from Arm Base System Architecture[1]:
>>>   > The system designer assigns a requester a unique StreamID to device
>>> traffic input to the SMMU.
>>>   > If a requester is a bridge from a different interconnect with an
>>> originator ID, like a PCIe RequesterID, and devices on that interconnect
>>> might need to send MSIs, the originator ID is used to generate a
>>> DeviceID. The function to generate the DeviceID should be an identity or
>>> a simple offset.
>>>
>>> On the Xen's side it is used as an offset into the ITS translation
>>> tables and is sourced from msi-map nodes in the device tree.
>>>
>>> Practically for PCI the requester ID is usually the SBDF. Where the
>>> segment is used to find the host bridge node that contains the msi-map
>>> node with defined offsets but it is also included as part of an id.
>>> That's why it was originally called SBDF in the comment. I don't know if
>>> there is a better way to describe what it is concisely in the comments.
>>
>> If this is to be usable for other architectures too, it may need to be
>> a union to put there. With appropriate comments for each member.
> 
> 
> If I got correctly what is wrote in current thread (and in RFC version 
> where it was an attempt to create just Arm64's counterpart of 
> XEN_DMOP_inject_msi), my understanding (maybe not precise/correct, since 
> I am not quite familiar with x86 details) that we would need something 
> like that:
> 
> 
> /*
>   * XEN_DMOP_inject_msi2: An enhanced version of the sub-ob to inject an MSI
>   *                       for an emulated device, which allows specifying
>   *                       the ID of the device triggering the MSI 
> (source ID).
>   *
>   * The source ID is specified by a pair of <segment> and <source_id>.
>   * If <flags> does not contain XEN_DMOP_MSI_SOURCE_ID_VALID then source ID
>   * is invalid and should be ignored.
>   */
> #define XEN_DMOP_inject_msi 21
> 
> struct xen_dm_op_inject_msi2 {
>       /* IN - MSI data */
>       uint32_t data;
>       /* IN - next two fields form an ID of the device triggering the MSI */
>       uint16_t segment; /* The segment number */
>       uint16_t source_id; /* The source ID that is local to segment (PCI 
> BDF) */
>       /* IN - types of source ID */
>       uint32_t flags;
> #define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>       uint32_t pad;
>       /* IN - MSI address */
>       uint64_aligned_t addr;
> };
> 
> 
> This is arch agnostic sub-op without the (obvious) specifics of the 
> underlying MSI controller. The sub-ob, I hope, will be suitable on both 
> Arm64 soon (segment + source_id provide vSBDF, then it will possible to 
> locate vITS and devid) and on x86 in future (for the vIOMMU needs).
> 
> Would you be ok with that in general? Please share you opinion.

Yes, this looks plausible. In the context of things like VMD (using
software established segment numbers wider than 16 bits) I wonder
though whether we wouldn't better make segment and source ID 32-bit
fields from the beginning. Out-of-range values would of course need
rejecting then.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:32:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:32:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921338.1325194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAON-0001BE-CB; Thu, 20 Mar 2025 07:32:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921338.1325194; Thu, 20 Mar 2025 07:32:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAON-0001B7-9Y; Thu, 20 Mar 2025 07:32:39 +0000
Received: by outflank-mailman (input) for mailman id 921338;
 Thu, 20 Mar 2025 07:32: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvAOM-0001B1-09
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:32:38 +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 7f063e0d-055d-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 08:32:37 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-390cf7458f5so291874f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 00:32: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-395c7df3419sm22546668f8f.9.2025.03.20.00.32.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 00:32: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: 7f063e0d-055d-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742455956; x=1743060756; 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=0PrpLYKtG2eN6Fux3I0VfD6QJYz5CFN2HjNxawIJ8v4=;
        b=T4q97mkAVVQL4DHxkYRQlAyY8lK1CAVt5Cvp2ZZKIOdd3BXgk3u8Q0rl1VcNwPbrWh
         RLHJ9/dyC5lE2rsWsqiGhlT4/7oK6NwnOZu1AzHjpB+WEWOVHbfLbqsYCcW9jX3wTp4L
         2XR5JFJBLoVrBKbxAde3R/KjRA4L+LZm49Cy5xxrAnQbG8EKEWOEdXQmtrnVk2c+EwIU
         LJnhpI1wGrj47k9Smce0mS4SkL4+SYaTUW5/zAqRsasNzJ3KxBsHfkoiTGoXqFU2R7tH
         OFshm/u5MwZGhiBNiyzcFVeBNEG23OAoQMNhN+4oOKUCnErLaIJS+Ioyw3UEU0VXEgQ+
         HOkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742455956; x=1743060756;
        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=0PrpLYKtG2eN6Fux3I0VfD6QJYz5CFN2HjNxawIJ8v4=;
        b=hLv9l//REgS9Ky2ZDefa/npL6Bgz4TyA4FzHHSivMKptWt1iHnnKHpZ2VwCc+37l2q
         TgjMbP2GZYWvGI7oQEx5xmIIbu3A7C5uG9pU3BxyqF3ZD82yZd1NN4mQZtJyzQ7X4xky
         KITat1zAumqiSCeXQQ38iIhJX2Q3VkjTg7blNtjb7vxulAf97Jgluuwb/c1B8vThD0MX
         LRy3QOvWbHqLBD7bg3r4Qxne14tM4D3l4tPkLQKElKJ3eD5oBsn2rzKFs/mME9KDO/t2
         uoCfLj+HQPUiEs5/0xe/vQwovX0giPzNjEOy3mu3YCc7buFCYGGqDywlu8TlpbifO67y
         quAg==
X-Forwarded-Encrypted: i=1; AJvYcCXUGDH+guOdfkO+zGKbY+auaSZ1fO9XujP7ftEu+0NtSwdxIq+k4BaAUakzEi31vi1njZqxamOtvtg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxMnau3PBQWdp8O0HmtB/BHSOb/TB2rJnEu8YVdk8rqEvkjehH8
	hN4yla4OvJJh3mwumNaJzDIa0DsMfWyMg/8imeBexNx8Omz2q9+xaS/qsncpUg==
X-Gm-Gg: ASbGncui3zLKWVqgQzcKzNiMcmxwr0aJPtEUksqF/rFfyB4J1H+mLaVG5JDzX4PS2cm
	ckL7kiRaJCEes4BSDUqmEjGI/DSlB4PdLmPoGuOmyZq4hfBosns1/13En9I5rZ7vJXNm+KDhC+Y
	PhG/0EyLdF0U5+FiuiFb6fF9bAOjAMdOAu3VtUf64hxrNm4fKxkm2gu4P7SSUW7gc/AdTkJxuQU
	lKvbQs4jBF0DwIF9Yn3+r0IqOUJVyrswecdP04Sby1f9UorTuw4C/5M8hB4qzY0bN59sh6n6XdR
	f9PE5Llkv+gC8f1q5HY5aIQ1/e8f1W67IMQ8N053aCJWJu2b74CdqZEjqUV6oCluPNKghfXsia+
	6UgTG3Cu7xz0ZNIzs6a3e7X43pMxTyQ==
X-Google-Smtp-Source: AGHT+IGhWDutLodgpgY51XxhYzp2g+zVBRqkXJCnrrEeuC88U6XQaN9OJD/81i5q7lD/H988k32v0Q==
X-Received: by 2002:a05:6000:1565:b0:391:2c67:798f with SMTP id ffacd0b85a97d-39973afad05mr5699618f8f.41.1742455956459;
        Thu, 20 Mar 2025 00:32:36 -0700 (PDT)
Message-ID: <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
Date: Thu, 20 Mar 2025 08:32:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <136cf1c5-d1e5-471d-b560-51632b444e41@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: <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 17:31, Oleksii Kurochko wrote:
> 
> On 3/19/25 12:35 PM, Jan Beulich wrote:
>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>>
>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>> mapping table at most takes only one 4KB page, which is enough to
>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>> translation and EL1 stage 2 translation.
>>>>
>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>> MMU systems, x86 and RISC-V.
>>>>
>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>> the former function with #ifdefs and improve readability
>>>>
>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>> with !ARCH_PAGING_MEMPOOL.
>>>>
>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>> field is not required.
>>>>
>>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>>> ---
>>>> v3 changes:
>>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>> v2 changes:
>>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>>    - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>>    - do not define p2m_teardown{_allocation} in this patch
>>>>    - change commit message
>>>> ---
>>>>    xen/arch/arm/Kconfig              |  1 +
>>>>    xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>>    xen/arch/riscv/Kconfig            |  1 +
>>>>    xen/arch/x86/Kconfig              |  1 +
>>>>    xen/common/Kconfig                |  3 ++
>>>>    xen/include/xen/domain.h          | 17 +++++++
>>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>>> For RISC-V:
>>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>> were added to address some build issue, not because they are actively
>> meaningful?
> 
> Only because we have stubs and not to have redefinition compilation 
> error. And, yes, they are not actively meaningful now, at least. I am 
> okay with not enabling of this config for RISC-V but then seems to me we 
> have to drop stubs in riscv/stubs.c. ~ Oleksii

Well, I don't think it's "have to", but I agree that dropping them would
make sense then (and be desirable).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:36:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921355.1325204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvASI-0001qm-UC; Thu, 20 Mar 2025 07:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921355.1325204; Thu, 20 Mar 2025 07:36: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 1tvASI-0001qf-Rf; Thu, 20 Mar 2025 07:36:42 +0000
Received: by outflank-mailman (input) for mailman id 921355;
 Thu, 20 Mar 2025 07:36: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvASI-0001qZ-Hv
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:36: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 102003ed-055e-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 08:36:40 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso2682725e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 00: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
 ffacd0b85a97d-395c7df385bsm22678415f8f.4.2025.03.20.00.36.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 00: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: 102003ed-055e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742456200; x=1743061000; 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=Wfv/ZNcx5p2eqD491bJHqt0Y0XP1RyuxRwcFrFdmgUA=;
        b=MB/eYIt4Sn1bmmvdxCnNKWsYWeYhxuUgUpgS/tQcYqqzPvqtyNOtxzYHdqKOayGrfd
         GBtXQqcvSXLTfRibNSycjrRt3QHC11dlRrouiEDsyz3Rh+8yddCYJFgeq3SGe4Ug3BBW
         jRld4DqE9AeLAyNNLJXkCmSzUrR6v/bq4uSwYr1kimeu+dLAMXB6BJJUmsKzDVSEuNTj
         iYxSU5nR0rU23nWBcnZ8sekmPVbnzBZnsJ7DEgaDv3+xvxyGqOzObqUg/z+IVQerS08f
         kCj+IFler21Y/KcJVzYHNFNW6E7lDQBfM3L7sa/M19fGF0qauN6T+l9YVJND4jL1NvWV
         CujQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742456200; x=1743061000;
        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=Wfv/ZNcx5p2eqD491bJHqt0Y0XP1RyuxRwcFrFdmgUA=;
        b=P+n3CSwiOPlFcIyaj8Of0hzzv80fte3ZhcgCbs6rIEJ8ZD1e0ZNwUEwhphBGILxKRp
         sMWtYsA+k9Lau00Tmo8dnZdeSVczZnkBF6WdRvW1RXHM+Gw1u/xlNYU3zRKxURgNYQkP
         BIJ3hBOVnjYpAnOs6HdRZh8Nxoq+jVgrMwv/ebjTv00d9eystuIiLcNEVwYs3VKVZ0Or
         NiQeINnTMH9TR0sK4mbsbFVWEByF1t4UGHvPSVypCwF+ky6DPbaIhKk4h8f/CZMvTDAE
         vugV4EKFlbOY76a+y56AyX4ovcDYvv66ng2lieRyGEAGz5hpTABoa0o3luF9CN1WGmAg
         RLjg==
X-Forwarded-Encrypted: i=1; AJvYcCUg6Ct24/HE/M/2MnknfQz2ie4E/AnZstuG46r16Pow7+omsGKz/KLBG1vq59xjQ5NOdq8e21mz3jY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+36uCse5DjNpL9j4LClfctvJ/QRIDR+MQSEhKWkxA4pp05ViM
	kDqknbPtnCWDUR+O+Mdc0g7quIL3MwwkXPxiFjCwsIHhm7+btNuUyqhqEPYiwg==
X-Gm-Gg: ASbGnctoQtWqd564j+IAVIjzEHdv8lbs4FBQWyujhsSG3q5kZHQswNFI10FQuRqAXC5
	yGSy05ZvSpK3ptS8UhrtyB502v0bRx7Q2ky2LL4Mj0pZsO/lQCN0vJcGSKd31L9nMYT/8X/VmSu
	7AICIawi6FgX539+pexjssXcKqLxRGJsMd2wGYtdiTvzHLgCUkYQNJnCO+oKMkfvDZ65RNgyS8E
	YCquzuPUvODAHBzCJcM+o+FN/orGWRDf/krgc5Mte9sLqXlPu94jePL5sYa5tOYXY2kcg4sv6dj
	DjoARalMthkNK1AE44uFBOx5/kurGvmOmmAf9T7fXHgQhPwb2KXjVcQV8vCRiQym/EaFS+G79OM
	rA+RSkyXuJ0p5HCj8GPMMBlVs3Gm/ZQ==
X-Google-Smtp-Source: AGHT+IFl9Wur7m+SB+BKuBtSs3xxhUSveDycfuS1QB4orz022zG1F+bYJfipML3fGdUVjOA4PFt+rg==
X-Received: by 2002:a05:6000:1844:b0:391:31c8:ba58 with SMTP id ffacd0b85a97d-399739b64fcmr5002290f8f.10.1742456199860;
        Thu, 20 Mar 2025 00:36:39 -0700 (PDT)
Message-ID: <630f216a-10fa-4828-a64e-651dd7f70242@suse.com>
Date: Thu, 20 Mar 2025 08:36:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>
 <27dc3481-1f48-46c5-a827-e0a44c17686d@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: <27dc3481-1f48-46c5-a827-e0a44c17686d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 18:29, Oleksii Kurochko wrote:
> 
> On 3/17/25 4:24 PM, Jan Beulich wrote:
>> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>>> --- /dev/null
>>> +++ b/xen/arch/riscv/time.c
>>> @@ -0,0 +1,38 @@
>>> +#include <xen/device_tree.h>
>>> +#include <xen/init.h>
>>> +#include <xen/lib.h>
>>> +#include <xen/sections.h>
>>> +
>>> +unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
>>> +unsigned long __read_mostly boot_count;
>> Why not also __ro_after_init? And what is this variable actually needed
>> for? Common code doesn't use it, so a better name (describing what it
>> really holds) might be desirable, even if this then means not being in
>> sync with Arm code.
> 
> To calculate more accurate amount of time since boot.

Okay. But how does the name of the variable reflect that? I.e. what it
is that the count of is being stored? The only meaning I could associate
to a variable of this name is the number of boot cycles a system went
through. I.e. nothing that an OS (or hypervisor) would normally count.

Jan

> I think it can be __ro_after_init as it is going to be initialized once.
> 
>>
>> Furthermore, I can't spot a declaration of this variable. Was it meant
>> to be static?
> 
> It is going to be used for vtimer functionality and in repogram_timer()
> so it can't be static.
> 
> I will add a declaration to asm/time.h:
> ```
>    /* Counter value at boot time */
>    extern uint64_t boot_count;
> ```
> 
> Thanks.
> 
> ~ Oleksii
> 



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:43:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:43:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921366.1325216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAYX-0004PQ-K9; Thu, 20 Mar 2025 07:43:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921366.1325216; Thu, 20 Mar 2025 07:43: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 1tvAYX-0004PJ-FH; Thu, 20 Mar 2025 07:43:09 +0000
Received: by outflank-mailman (input) for mailman id 921366;
 Thu, 20 Mar 2025 07:43: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvAYW-0004PD-PZ
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:43: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 f5ef3c6e-055e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 08:43:06 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso2588495e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 00:43: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-395c8975b09sm23388615f8f.57.2025.03.20.00.43.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 00:43: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: f5ef3c6e-055e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742456585; x=1743061385; 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=cmLGjSgeYL1iUR0M1s/Z3ay7Cv0EHyr6gg6DdBhyZec=;
        b=bSIBXp8VcJgK+tqABVBKYo2nDiH8DgBf8glFOBwArQe8jgstJVy3+e8tXdnvD3UAIb
         18MGwfVkPWV5bg69NU0Mo5FlJlBiU4xrdaV8CyqNVBc//9TMns2dwTcWZrMPA+/W5K4T
         ceSYnFUz85kFbDCgvgkCrfazHpwNJeierwh9+8EZzKerC97zOD4Y2odlfDHVqRB3ib+f
         rbv/gmuOP1ivkJ/Vjd6JRXaLTaNuoGCUiBj22kliud+6A1E37K63GYkYuJF/Fr+ltfGQ
         vq20VvrC8b6zQHH2S84ywC2KUVt9pPo8Pa4txl03/TUjGGNNe1dOK245R9Zvz2h+8h+v
         80Rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742456585; x=1743061385;
        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=cmLGjSgeYL1iUR0M1s/Z3ay7Cv0EHyr6gg6DdBhyZec=;
        b=AA1YOVaAaTitwuuvWqd8pxx2yvtzhDKo7OysLPOylDwgLpfWelRN1BBJWN1nf88F4f
         JEdKrFFM+9KFycFC3cLHuZx+9znNbkEIHTFL65S7RTxS6IhBrfBEw00Y+pc1uM25D+Ul
         iYDhxihnlM6qLLolJsCktYEPkmyG7vT7akO77R7AIfTrTrwEQsGJPNIkSQOCCMIqChV/
         aGPzsyVtMTtXAvCUXKygVBIsCj34gPwxfl+ayj8Hjgnsu/I0tCfE3/I3rcbSsAbFhcQR
         GJDHlvUdjzS0rGCkvVvAfd1ab2JMG73lkInn2+UlH/EmKyen+2d2kTr9Uj0fYd9lQS3g
         Zcdg==
X-Forwarded-Encrypted: i=1; AJvYcCVsd8Axw9wjOha9QBbOgVfVjAcltlBdyl6KduvJGOaUSuKDExelKLhtOPC//HnvYMXiJ5u/pQkR89g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCySolUjOIwSBrtrLo0hHQ5ZvYJqJsN0xLe1ys5KhhJnY5nNdt
	oLmfw8WP/5zBdrutsqUHdmpaBowjSKd8qdwLdpEFTfRLQo7Xmj242yPaxWQCPg==
X-Gm-Gg: ASbGncs6pAHP+KamtOCat68LMTsv5dEr6AiIXNutlykZ7SZsTjrVYyFDElChxdYaZu8
	I8sYsVfgNArwyk1IFlyTK44njM4ZZ71EiXUm2qh9bbBGpllkj6U+DQ2u8kbK9JmHza2Furt7kSz
	YsfDf80MB3TvOIHrZ8+LZ4nWf8EJttrU6SHGVYqu5VtWlwzOVcA0Y3GSTyGJd4J3gYitM/ZWLjT
	Y2XF4Z/lYlNPcwYmoUj0bzM38u8FatYc/wTfbZ/1nLYsQEY2CsIT30s2BFmHqFKM1n9K0rkRIwU
	dYquciyK+pXZ0OJifN8CMjL32dURod1LqxWmDtJ1uM+OkOfl+uu7YGWx4aCXbqHWysMdgxcnfW/
	GaoueHsdfQT5nvACYyCQZJP8/HS8pAw==
X-Google-Smtp-Source: AGHT+IFQntFpGqE5+NF/b1Tcx6fU/HoLCoozO3Wq3b4gFjYlEyxWPocVSKHUZpdMZ67rRVMmbNYmzA==
X-Received: by 2002:a05:600c:1d1b:b0:43b:c6a7:ac60 with SMTP id 5b1f17b1804b1-43d4918747emr15976455e9.10.1742456585423;
        Thu, 20 Mar 2025 00:43:05 -0700 (PDT)
Message-ID: <ceea7a19-0df9-46ec-8a1b-45a85488d861@suse.com>
Date: Thu, 20 Mar 2025 08:43:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/riscv: implement basic aplic_preinit()
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>,
 Romain Caritey <Romain.Caritey@microchip.com>, xen-devel@lists.xenproject.org
References: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <6e2212313a47772d6929ae76f5e4be0f365766e9.1741709885.git.oleksii.kurochko@gmail.com>
 <9187583f-a4d0-429e-a666-113c4f8aabaa@suse.com>
 <a17037ea-7a0f-4455-aa55-ac40ac58a93d@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: <a17037ea-7a0f-4455-aa55-ac40ac58a93d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 17:58, Oleksii Kurochko wrote:
> 
> On 3/17/25 4:40 PM, Jan Beulich wrote:
>> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>>> Based on the code from [1] provided by Romain Caritey from Microchip
>>> with some minor changes():
>> "Based on", to me at least, suggests an import from some other project. The
>> reference looks to be to a Xen tree though. With that, a proper description
>> would then be needed here, rather than a list of differences.
> 
> Sorry, but I don't understand fully what kind of description is needed? Could
> you please give me some pointers?

Any patch introducing new functionality not taken from another project can
be used as reference. In a patch like this the description wants to say
what the patch does, and what - if anything - is specially noteworthy. The
patch here isn't very large, so it's not going to be much that needs saying.
Yet merely referring to elsewhere would mean the description of what is
being done can be found there (e.g. in the history of that other project's
file(s)). Which isn't the case here, afaict.

>>> +static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
>>> +{
>>> +    if ( aplic_info.node )
>>> +    {
>>> +        printk("XEN doesn't support more than one S mode APLIC\n");
>>> +        return -ENODEV;
>>> +    }
>>> +
>>> +    /* don't process if APLIC node is not for S mode */
>>> +    if ( dt_get_property(node, "riscv,children", NULL) )
>>> +        return -ENODEV;
>>> +
>>> +    aplic_info.node = node;
>>> +
>>> +    return 0;
>>> +}
>>> +
>>> +static const struct dt_device_match aplic_dt_match[] __initconst =
>>> +{
>>> +    DT_MATCH_COMPATIBLE("riscv,aplic"),
>> Iirc this requires use of __initconstrel, which would also be nice to
>> be put between type and identifier.
> 
> Could you please explain why do we need __initconstrel? Arm uses only __initconst
> for such definitions.

And perhaps wrongly so. The distinction may not be that crucial anymore these
days, but there was a range of gcc versions where not using the correct one
could lead to "section type conflict" warnings / errors. Which one to use
depends on whether any of the field initializers require a relocation. That
is, a pointer type field initialized to other than NULL would normally mean
__initconstrel needs using.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:49:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921377.1325225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAeg-00052V-6Q; Thu, 20 Mar 2025 07:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921377.1325225; Thu, 20 Mar 2025 07:49: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 1tvAeg-00052O-3E; Thu, 20 Mar 2025 07:49:30 +0000
Received: by outflank-mailman (input) for mailman id 921377;
 Thu, 20 Mar 2025 07:49: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=496r=WH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvAee-00052A-Jn
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:49:28 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8f25f2b-055f-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 08:49:27 +0100 (CET)
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 645B921EDD;
 Thu, 20 Mar 2025 07:49:26 +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 2523013757;
 Thu, 20 Mar 2025 07:49:26 +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 YnWOB4bI22d2VQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 20 Mar 2025 07:49: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: d8f25f2b-055f-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742456966; 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=F+g+wm9A9fsxM6hgQJRPcZj5vTjjhE0Om5U0CGzeX/o=;
	b=SyjDu+3pgR8t7x8C68rf0Sv7+YSl9BHCcQR1xTTWzn/iJXmvLAaEKz6Nzr5DKiTZvvRAE7
	nawv/X2+gIf314LGcGMBVzbf4jSOyvjvqyO23Z9HAbhiW3eLZ/kbj9W0wVS8KRJBR4KGhE
	j0HXwrPvqYS9ubMOl6c6iOuKM9FDzQ4=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=SyjDu+3p
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742456966; 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=F+g+wm9A9fsxM6hgQJRPcZj5vTjjhE0Om5U0CGzeX/o=;
	b=SyjDu+3pgR8t7x8C68rf0Sv7+YSl9BHCcQR1xTTWzn/iJXmvLAaEKz6Nzr5DKiTZvvRAE7
	nawv/X2+gIf314LGcGMBVzbf4jSOyvjvqyO23Z9HAbhiW3eLZ/kbj9W0wVS8KRJBR4KGhE
	j0HXwrPvqYS9ubMOl6c6iOuKM9FDzQ4=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 0/2] 9pfs: add some file operation hooks
Date: Thu, 20 Mar 2025 08:49:22 +0100
Message-ID: <20250320074924.8080-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 645B921EDD
X-Spam-Level: 
X-Spamd-Result: default: False [-2.97 / 50.00];
	BAYES_HAM(-2.96)[99.81%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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:dkim,suse.com:mid];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -2.97
X-Spam-Flag: NO

For being able to store the Xenstore state in preparation of a live
update operation, 9pfront is needing support for fstat and lseek.

Juergen Gross (2):
  Mini-OS: 9pfs: add fstat file operation hook
  Mini-OS: 9pfs: add lseek file operation hook

 9pfront.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:49:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921379.1325238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAel-0005JX-Dv; Thu, 20 Mar 2025 07:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921379.1325238; Thu, 20 Mar 2025 07:49: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 1tvAel-0005JO-BP; Thu, 20 Mar 2025 07:49:35 +0000
Received: by outflank-mailman (input) for mailman id 921379;
 Thu, 20 Mar 2025 07: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=496r=WH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvAej-00052I-Rq
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:49:33 +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 dc256bd6-055f-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 08:49:32 +0100 (CET)
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 E666D1F7A4;
 Thu, 20 Mar 2025 07:49:31 +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 BC97613757;
 Thu, 20 Mar 2025 07:49:31 +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 +vWkLIvI22d/VQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 20 Mar 2025 07:49: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: dc256bd6-055f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742456972; 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=ahePrHvNMDs6aD+rN+hONCSWm/iDVIpc4u83RYfjI/k=;
	b=MQ06itfdQQyg9+b+6Qpp1+FMjL8f8uBPBj5G+Ly40TdqLLMSV4MXbNeLxKutPyABVlATRT
	KBetoxsWE7fzNgad77X70fy2mLFpNbFErodfXTETUWDoq2pJNpe7RaoK2f46v3LRNaXiDY
	MMcs5H1BawswjgO28DtmEdnQCNtUS4o=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=qIJOu2Lw
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742456971; 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=ahePrHvNMDs6aD+rN+hONCSWm/iDVIpc4u83RYfjI/k=;
	b=qIJOu2LwNeUJyADKREUs4uDzRXLn6AZdH5UnmUBRvqUjq/nY/2c2g8Q3FfZpcjGypmm0Km
	vPXURdsoJUGRbSlNfHx8VBYFfJkRRVpbqsa4IuBrKbHLxi9aE20h8jzDJmncEZFN4dgafG
	dOAVbjhO6qBl2dqo5OaTfjd8tsLWtKM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 1/2] 9pfs: add fstat file operation hook
Date: Thu, 20 Mar 2025 08:49:23 +0100
Message-ID: <20250320074924.8080-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250320074924.8080-1-jgross@suse.com>
References: <20250320074924.8080-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: E666D1F7A4
X-Spam-Score: -3.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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:dkim,suse.com:mid,suse.com:email];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Add a file operations fstat hook to the 9pfs frontend.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 9pfront.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/9pfront.c b/9pfront.c
index 1741d600..a65fe26d 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -85,6 +85,8 @@ struct file_9pfs {
 
 #define P9_QID_SIZE    13
 
+#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
+
 struct p9_header {
     uint32_t size;
     uint8_t cmd;
@@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
     return ret;
 }
 
+static int fstat_9pfs(struct file *file, struct stat *buf)
+{
+    struct file_9pfs *f9pfs = file->filedata;
+    struct p9_stat stat;
+    int ret;
+
+    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
+    if ( ret )
+    {
+        errno = EIO;
+        return -1;
+    }
+
+    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
+    buf->st_mode = stat.mode & 0777;
+    buf->st_atime = stat.atime;
+    buf->st_mtime = stat.mtime;
+    buf->st_size = stat.length;
+    buf->st_uid = stat.n_uid;
+    buf->st_gid = stat.n_gid;
+
+    free_stat(&stat);
+
+    return 0;
+}
+
 static int close_9pfs(struct file *file)
 {
     struct file_9pfs *f9pfs = file->filedata;
@@ -1296,6 +1324,7 @@ static const struct file_ops ops_9pfs = {
     .read = read_9pfs,
     .write = write_9pfs,
     .close = close_9pfs,
+    .fstat = fstat_9pfs,
 };
 
 __attribute__((constructor))
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 07:49:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 07:49:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921382.1325253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAep-0005dP-No; Thu, 20 Mar 2025 07:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921382.1325253; Thu, 20 Mar 2025 07: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 1tvAep-0005dE-KA; Thu, 20 Mar 2025 07:49:39 +0000
Received: by outflank-mailman (input) for mailman id 921382;
 Thu, 20 Mar 2025 07:49: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=496r=WH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvAeo-00052A-EL
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 07:49:38 +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 df81a8ef-055f-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 08:49:38 +0100 (CET)
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 88DF31F7A4;
 Thu, 20 Mar 2025 07:49:37 +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 549DB13757;
 Thu, 20 Mar 2025 07:49:37 +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 jNY4E5HI22eOVQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 20 Mar 2025 07: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: df81a8ef-055f-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742456977; 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=En0eJdxz153L2/LgbO/YpLEdAgM+TGIE5oN+YrmacIw=;
	b=IyH8rYFIOVY7FbMpYsQVzF5LciOap1/gAEH4vB+0E92UVSbsOX9k1rP1jLaMpJq4OV+jwT
	pnK/dn8Mt+sLc/817FyI7Dy0o9DZtXNN7MCio7wfTJzcBB8jxrGG0ws3zHEcbli2YTL97C
	A2HUr728ghUg2PfYr4zXgZ0auHekGhk=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742456977; 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=En0eJdxz153L2/LgbO/YpLEdAgM+TGIE5oN+YrmacIw=;
	b=IyH8rYFIOVY7FbMpYsQVzF5LciOap1/gAEH4vB+0E92UVSbsOX9k1rP1jLaMpJq4OV+jwT
	pnK/dn8Mt+sLc/817FyI7Dy0o9DZtXNN7MCio7wfTJzcBB8jxrGG0ws3zHEcbli2YTL97C
	A2HUr728ghUg2PfYr4zXgZ0auHekGhk=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 2/2] 9pfs: add lseek file operation hook
Date: Thu, 20 Mar 2025 08:49:24 +0100
Message-ID: <20250320074924.8080-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250320074924.8080-1-jgross@suse.com>
References: <20250320074924.8080-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Add a file operations lseek hook to the 9pfs frontend. Just use the
lseek_default() implementation.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 9pfront.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/9pfront.c b/9pfront.c
index a65fe26d..837e404b 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -1325,6 +1325,7 @@ static const struct file_ops ops_9pfs = {
     .write = write_9pfs,
     .close = close_9pfs,
     .fstat = fstat_9pfs,
+    .lseek = lseek_default,
 };
 
 __attribute__((constructor))
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 08:02:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 08:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921429.1325276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvAr0-0003F6-4o; Thu, 20 Mar 2025 08:02:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921429.1325276; Thu, 20 Mar 2025 08:02: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 1tvAqz-0003Ez-W1; Thu, 20 Mar 2025 08:02:13 +0000
Received: by outflank-mailman (input) for mailman id 921429;
 Thu, 20 Mar 2025 08:02: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=OSLU=WH=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tvAqy-0003Et-DA
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 08:02:12 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20606.outbound.protection.outlook.com
 [2a01:111:f403:2409::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f62211b-0561-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 09:02:10 +0100 (CET)
Received: from IA1PR12MB8467.namprd12.prod.outlook.com (2603:10b6:208:448::9)
 by SJ2PR12MB8134.namprd12.prod.outlook.com (2603:10b6:a03:4fa::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Thu, 20 Mar
 2025 08:02:06 +0000
Received: from IA1PR12MB8467.namprd12.prod.outlook.com
 ([fe80::1633:cc45:8177:a91e]) by IA1PR12MB8467.namprd12.prod.outlook.com
 ([fe80::1633:cc45:8177:a91e%6]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025
 08: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: 9f62211b-0561-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P9rGWCw+QQjBjiGRPtZPUodxl52ahCBYugRkxk63t2wB/wnFgF0twuDigAgqFVTDK3nlbStWUxcRqa7GdwPwvCLojrMDhLhr2qE/Xadw2PFXmMpaebEprQdGhrxiNsQ+wXGyaz+hsxp1PQz6vCaZqgUcAauaZCiDjaNGc+0pyn4MD7Wt1EuBBpecZ6s2UP/HQ4c2mtYF8u86cZACc/U7NZoPm4BnGvZK7I4q2W4ANyHireeV5Qyb1IaZoZBHhutwtJOE//+NclcRVy2cINtyhUY1DenswyHrLaC+8P8nqzesAQ/6Kx2UYgyjR783LZ77FGMMAEXyPkblAYs8Zl4InA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1m/AZj2/PKzFjC6LtWPZqpowG/21vdhOrIi/odUM3VY=;
 b=H4yK/xi8Hwn0oryxxfMZ4mhr98ytzIPU/IRO3QXHU6B1eBy3u/NlnfxTMv1J/TitFA+TK4e7WlJjPaTuzzHp622yz/Di9GOr3r25qcKI1Ca94YxIaCaLnG3T+jYFHId/83qP0foZj5bEzn7pS7YSkigkxUgCxpQYm2ikWju+zbKPRwRr6Rov8Y1AFgvDPBgx110YR2yWf5BhRzOZf7MBdLrolDCuwVFmdxPAwmRICdfMx2D9vr1cYS/t32LX745T3hYOR20076S7qUiu0vvya4GjSVLMtZm0m81DaCz4y5riG5I9lFjgn09bFdOw/CegDm7KU8x4dNYbtyQWeiof7A==
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=1m/AZj2/PKzFjC6LtWPZqpowG/21vdhOrIi/odUM3VY=;
 b=BxZXyiG3Jwa6VzP7TN/huTvTcvAy2HKFuoDNWeVbiacOyGxFS1MuN3EX7IgcaDJOfbrMcBbxNeIX4jAYHPKulYb+BjfRmQuVTaYx4B0htClQj7Xz2vFXQoqSq23U2w8tJn8dmxAR3cbWizUb0kVe84D8tLttSZjcEf7Xv5k48NE=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
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>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: RE: [PATCH v1 03/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
Thread-Topic: [PATCH v1 03/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
Thread-Index: AQHbkwQ4YtLwdtCzBUqbGFlzJHozTrNw+akAgAq7AVA=
Date: Thu, 20 Mar 2025 08:02:05 +0000
Message-ID:
 <IA1PR12MB8467691D93E223033398DCBCE1D82@IA1PR12MB8467.namprd12.prod.outlook.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-4-Penny.Zheng@amd.com>
 <D8F4G80E0LHU.5GHN1ZVVNHYB@cloud.com>
In-Reply-To: <D8F4G80E0LHU.5GHN1ZVVNHYB@cloud.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_ActionId=e9adbf12-7c75-4df9-9e09-071175f508fb;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-20T08:01:58Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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: IA1PR12MB8467:EE_|SJ2PR12MB8134:EE_
x-ms-office365-filtering-correlation-id: e4d12a71-587f-40cf-18f6-08dd678581aa
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?UWFTeEtvSTJXL3doTWp6dm9lblBtRDVvRFhETitIemQ5OFZNZkZHUzUyM0g0?=
 =?utf-8?B?dW9KQ0d5VkVBckh0RHdoemphdmcxQ2pKUkRrZHdJcTR4VXRUVlc1aXJTMmlH?=
 =?utf-8?B?R0xZcWxRWjFiMU4xdDQyTVYxVXAvNGpzL0Rwbld6c3pxQjgzbys3Q1dCYVpH?=
 =?utf-8?B?bzFRTFE5MXdvWnpqZ2ZMR1RlS2p6NlBucnRyOFBMN1hhbG8wSUEyQXNQeC9L?=
 =?utf-8?B?OVZjTFZEMW05UFZ0TXVtQUF2TFhkdXhaYkYwdzFLS2tpRExQWEx4UWVyT3RD?=
 =?utf-8?B?SUFCdnlkUWU1MFFCa0VaZFNoZ243a2VOUXIxTldMeEpSN3l0cFBGaEhQem92?=
 =?utf-8?B?TUVFdXBDdGtaODY5anJmNnoxQS9wNCtmODI2RitRTytFbHQxMVAyd1RGL0xO?=
 =?utf-8?B?ZHd6eFJkUk9hWGN3eURZU0ZiQ1pvaU1OalNaNFRLR2V4L05GaVgyWnRNT0Uy?=
 =?utf-8?B?RGwvSHlqZGEwVnBGcTc5VzRQQXh6aVhwSTFmaSswVHlVSEI3TFJXWEw0aTVK?=
 =?utf-8?B?UXRvelJpL0VoSGJUVDBTMWdCTkF1SXhpS2ZZUmdBTmV3alhoVzIxVTBzaTZl?=
 =?utf-8?B?Z09Ed2p4TzNERDZVV2pSK05mUFl0REJ2ZExySVdqOU51Y3NpNDI1TzZWYy8x?=
 =?utf-8?B?aDNGd2FTN1Q1aHZ1RUN6Q1o3aVVaRm5pUzlJZUFtUm9xSlJmZ0lzQWFKQ3Er?=
 =?utf-8?B?dWFIaFNiQVhpditvSDJxMW5qa1Q1VExKV1NoaEtrUnlwMTZVK1Uxc1FBRkdD?=
 =?utf-8?B?U0ZrREhCUUVHZUdoOTA3MGJZSy80WFBoN1pQOFNUWmtleTFpS1RGTFBsZ05z?=
 =?utf-8?B?RTgxa3h1LzJFeXhqUmZSWHJzZ2g5NW9CaU9Ua0NyeSszb3JvcjFRR0N4aWU2?=
 =?utf-8?B?eXJVRHFpMndoSVo3WEU5WmNOaUZZcTdyZWp3aFQyMU1pUkxNRnEweXVUd3pn?=
 =?utf-8?B?T25lT3dsemlUcnhLODVSdW5pc3RsOTFIeWRHWGxlSzRRa1JPMU4rUzY1ejZn?=
 =?utf-8?B?TlZjYVBXUHRuM25GTUtjdksvSTQrTzhnNlR1RkNxZ2o4dVVVTk1TY3kvbURI?=
 =?utf-8?B?U3JjL2R0d3drbnI1TUdaWjZvK0x2cmJ5Tkp2WFlBZEx3Rm82OFh0SU1ORkhB?=
 =?utf-8?B?ZU5BczlVaG5kV0FXZVdKMGIrT0szUitNeWhuNFFaQlUwbUZ6R3JoL3pKZlNq?=
 =?utf-8?B?Zk5VSWhoRFlkanBETDFxWWdvSnB1eS8vWFZwQUgza3krcXJ5NEpjMlNHaGVo?=
 =?utf-8?B?MjBQWGRXakZreHNsR0I0L3ZnanZqVFdRSHVUZVpUb3grQTNWeFkrRmllUk9s?=
 =?utf-8?B?eHRVcmpxaGtEQkk5ZjVuK3BvOGhtSHJ4dUZFT21KV2dhRWkwaWJLWHFrK2xS?=
 =?utf-8?B?Tng5eWFDUXM3eHlxa3V3YVJNWmZmUFBVU2lVbWJzQXErZndnTmczUURYYURU?=
 =?utf-8?B?cGhvT3JJZ1ZyNUFkc0tTekNFY1MxQlRHTXBGb0J0VmY3VEZNWWZZVlErMGFn?=
 =?utf-8?B?aUpNRUJBUUlTT25vb3VTajVWVTI1OThuWnhCR1hTUkkraGFtK3lOUFc5dmY3?=
 =?utf-8?B?Ykx2NWpXQUFJKzRnMHB4SDBzVGxsYllZd1B6SHlsK1Y2aTMrYnRJMEdydVN5?=
 =?utf-8?B?V1gwWEtJWno1elREYXoxRERlcXM4elZ3UEM4Vnhub0dSNU9OcjhQSWNMRjdp?=
 =?utf-8?B?Um5BWWYxUzZkZmROQ3VKeUcvdDk1S0kxK0hBdzVFZGJoaWp4OUZzdEpYYmhN?=
 =?utf-8?B?aldITFhNZXRtTE45WGNUK1IvUit3eUdEZDFEQU5BSWcrK3NwdHBpRUhrRUVX?=
 =?utf-8?B?cEQvQS9PQ2k2OEt4WU5RWTFka05TTTFiTlhGMk13OEJtMTYyaWxOSE1TbGR6?=
 =?utf-8?B?RTFENllZZmtMbG8yUzVlb00wK1dMNkkwTkRQSVVuRUZwUzB3OGtrUW5zMDRx?=
 =?utf-8?Q?LEHMSZed6CYP3Bw/7OdRua54hgcaJZBJ?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR12MB8467.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eU1hNllLNTlRNThnK1g5YkVWN3Y5TGtxa3hFcHJ5blhhUk1SK0VpcE4xeHc3?=
 =?utf-8?B?Wk5pOHRiNFF3M25LV1pyQ3M2bjdnSm5wQkd6Ryt2ZzYxb0ZuM0lsYktoOVVE?=
 =?utf-8?B?eHIyWVl2aCtGWURBcDJrN0ZzeGNYdGFRYjlOWUpLYWdpcXIzUXRyRk0vaXRR?=
 =?utf-8?B?azYxL3FqKzQyclZsNXZNWVk1bEZNdWJWcmJvN1pUSUlUcXhTSzJHUHA1d1hM?=
 =?utf-8?B?Mm14MTd0OTE4RWphbHlrek4wM0hFTStPeStPRGlEODc3TS9xR0ZZV3UyeUQv?=
 =?utf-8?B?UXdKMXI5SUExWjZiREp3YjJvMy9zTkY5ZDRFZ2R4UElwSkhSczlmKytZaEtK?=
 =?utf-8?B?dCttNnc0c1RMTVE3TWFzejlzRGNLYzFHYUgvZ1ZZeEppWjJpcE9qNkxFTC9R?=
 =?utf-8?B?ZUI0Zi9KaEgweVNsc1NqaUZMZURucnJsdHpMdG05bnNRaWhNVUFVV1VXNDh6?=
 =?utf-8?B?eHFOU2dtempyZzY2aEloZ2ptT2E0eGkvVlMzYTkvZ1FNK1FubklTbFR2MDZu?=
 =?utf-8?B?WnNsMCtybzlEeUo2MlQvVEdyWjJEZnRPeDh1Mm5lRkZvNmpLWS92d3RvQS8v?=
 =?utf-8?B?aHN6S1llSFh3Q1gzbFI4cmIwdzExMVNiazdsYTJSOW0yVHRjNnhoSitJdVdJ?=
 =?utf-8?B?VGJ2UnFWV3k3UTZua1dUeU92ZEVyV1dSUEtRRzB5ODBITkJ2eVcyeEVFcG02?=
 =?utf-8?B?bFAwTWNvRzBPRmZHN2I1UlZ0R2orSEtlU2JUV203NnRBRzl4WG5tMjFHaVha?=
 =?utf-8?B?WktJenpvSzZRWXRiV2ZoR05yZU8zRVA4a01GTFB1akdCZ0hVeWtjd1M3NXZl?=
 =?utf-8?B?Q1AydGJMTW1sQTVTQmVISlBYZ001dmx5RWQyaE9IajZqT1NHUUNZNzMrRFRj?=
 =?utf-8?B?VmpGK2tlU3k1amVJVjV5bWx1TWIvWVdndUlsY2tkdS9rNllGOTFLbVJ6TUla?=
 =?utf-8?B?c3RGVjlpVHVGekZ4WVlyd1RhVU5sM2U5R0RncDFDNWtFcmdxeG1YOE5QVGlF?=
 =?utf-8?B?MXpmTHgvbVRNbzdNOWNrVVczTzgvbUZzT0RMRWJYTkVpd2VFSXpnOGluNjRs?=
 =?utf-8?B?OSsweTRRYmhUVWdUbDQ5VmdrQzVwSEpFMzlCL3htandmTDZwV1o3WEhrL2wr?=
 =?utf-8?B?eDZaRS9pR0hLL2FjTkRIcXowbnRmMVVOd1NXb2UxTkZhSmIrQk1DR01pNjNp?=
 =?utf-8?B?K0xOczVSRlFVdHM0VkEySXVIbEVnbVd1OHhTR2lNSUU3cUNjYUtOOGVmMHMx?=
 =?utf-8?B?Zk85RERxYzRKM1N1eGxxcGRQRU9Wbis0Nm80ZGY1emNhNEIweERDSmN0SjZG?=
 =?utf-8?B?bEJZYStBeUxIaXJmNU9UenkxbXFMemlqbU1mVXdBMm9CNGt5REJWUzg0TEFD?=
 =?utf-8?B?SzNyelg5TzdFTUdhVnJhS3lCdHdqdmFaMXd6VzRpSEVRNHJyVS9URnA2SHVB?=
 =?utf-8?B?ZU8xKzJ6YXFuWTZkZ1pMb1JLY0JOY1UyRlNRWlUyZjJhU216aDNlOUg0UnEr?=
 =?utf-8?B?M2tiY0d2ZDdrenpUSmZITzRkZHhQSHRjYlBONkdhZnRoakVRT2NlQXpTbHFO?=
 =?utf-8?B?TC81bUo3MDVTdnBJWjVvMUhKRldaTzFtUjFVbDhnallCVnZPYVNRZnp2NEUw?=
 =?utf-8?B?UkJMS1ZzOGFxcTBTNEk1ZTFEVUwxUE5LbHR2U2lHaktmUDZERjhwTCtPWXdn?=
 =?utf-8?B?SVR5alcvNjUzd05EdlJoR1AxUndkNEhDQm1jSnRCSFBNTzVzWFk5YVJLRTVl?=
 =?utf-8?B?bXhDYWoxUmJndDNvMzNiNDRDVGM4eWpTTHdTQndCR3dxWVB5OFBrUVgrQnVi?=
 =?utf-8?B?NkRnS0ljN1FCcHdPaVdTdVZma1JqVWJtMkM5OTRBWWxBMHR6bUUrcnhjVG5Y?=
 =?utf-8?B?Z1JBRENtN1BzRUJseFR5ZVFVM1FRNWRaSHFNeEErOUZkakhSV0JXUXREdEZa?=
 =?utf-8?B?WmZRb0hud1p0V2pQeElBaWVrN213YUZxQ2RtZWZlajA1MjViK0FoWlFhYTk1?=
 =?utf-8?B?ZjRMdkhQaW1sSGdyNlNlR0JrTUY1OHFhTTBUN0w1Z2puZnI1ZTFDcXFabVpG?=
 =?utf-8?B?b3NGcU1SQTlrOWJUdVlqcU9BRGNwTjYxLzB1VW9PaVlwUGw4MTNGaEd1Vnh5?=
 =?utf-8?Q?y1zQ=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: IA1PR12MB8467.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4d12a71-587f-40cf-18f6-08dd678581aa
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2025 08:02:06.0105
 (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: a4D7U2m1zAokiyvak6B1fw4lwZV2Au6J3tV8Om8kewLsui7ihB1933ofSTd9NcgaIkJeRUUXnRK//5hd1nL63Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8134

W1B1YmxpY10NCg0KSGksDQoNClNvcnJ5IGZvciB0aGUgbGF0ZSByZXBseSwgZ290IHNpZGUtdHJh
Y2tlZCBmb3IgYSB3aGlsZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206
IEFsZWphbmRybyBWYWxsZWpvIDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+DQo+IFNlbnQ6
IFRodXJzZGF5LCBNYXJjaCAxMywgMjAyNSA4OjAzIFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBl
bm55LnpoZW5nQGFtZC5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gQ2M6
IEh1YW5nLCBSYXkgPFJheS5IdWFuZ0BhbWQuY29tPjsgQW5kcmV3IENvb3Blcg0KPiA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT47IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEB2YXRl
cy50ZWNoPjsNCj4gT3J6ZWwsIE1pY2hhbCA8TWljaGFsLk9yemVsQGFtZC5jb20+OyBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ow0KPiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3Jn
PjsgUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+OyBTdGVmYW5vDQo+IFN0
YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBEYW5pZWwgUC4gU21pdGgNCj4gPGRw
c21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEgMDMv
MTldIHhlbi9zeXNjdGw6IHdyYXAgYXJvdW5kDQo+IFhFTl9TWVNDVExfcmVhZGNvbnNvbGUNCj4N
Cj4gSGksDQo+DQo+IE9rLCBzbyByZWFkY29uc29sZSBpcyBkb25lIGhlcmUuIEkgc2VlIGhvdyBp
ZiB5b3UncmUgYWxzbyByZW1vdmluZyB0aGUgY29uc29sZQ0KPiBoYW5kbGVyIGZvciB0aGUgc3lz
Y3RsIHRoYXQncyBhIGJpdCB1bndpbGVkbHkgdG8gZG8gaW4gb25lIGdvLg0KPg0KPiBJIHRoaW5r
IG15IGVhcmxpZXIgcmVtYXJrcyBzdGlsbCBob2xkIGluIHRlcm1zIG9mIHJlbW92YWwgb2YgZWxz
ZSBicmFuY2hlcyBvZiBpZmRlZnMuDQo+DQo+IE9uIFdlZCBNYXIgMTIsIDIwMjUgYXQgNDowNiBB
TSBHTVQsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+IFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGlz
IHRvIGRlYWwgd2l0aCBYRU5fU1lTQ1RMX3JlYWRjb25zb2xlIHN1Yi1vcCwNCj4gPiBhbmQgc2hh
bGwgYmUgd3JhcHBlZDoNCj4gPiAtIHhzbV9yZWFkY29uc29sZQ0KPiA+IC0gcmVhZF9jb25zb2xl
X3JpbmcNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0Bh
bWQuY29tPg0KPiA+IC0tLQ0KPiA+ICB4ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYyB8ICAyICsr
DQo+ID4gIHhlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmggIHwgIDggKysrKysrKysNCj4gPiAgeGVu
L2luY2x1ZGUveHNtL2R1bW15LmggICAgfCAxMSArKysrKysrKy0tLQ0KPiA+ICB4ZW4vaW5jbHVk
ZS94c20veHNtLmggICAgICB8IDExICsrKysrKysrLS0tDQo+ID4gIHhlbi94c20vZHVtbXkuYyAg
ICAgICAgICAgIHwgIDIgKy0NCj4gPiAgeGVuL3hzbS9mbGFzay9ob29rcy5jICAgICAgfCAgNCAr
Ky0tDQo+ID4gIDYgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMo
LSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYyBiL3hl
bi9kcml2ZXJzL2NoYXIvY29uc29sZS5jDQo+ID4gaW5kZXggMmYwMjhjNWQ0NC4uNmU0ZjNjNDY1
OSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYw0KPiA+ICsrKyBi
L3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jDQo+ID4gQEAgLTMzNiw2ICszMzYsNyBAQCBzdGF0
aWMgdm9pZCBjb25yaW5nX3B1dHMoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuKQ0KPiA+ICAg
ICAgICAgIGNvbnJpbmdjID0gY29ucmluZ3AgLSBjb25yaW5nX3NpemU7ICB9DQo+ID4NCj4gPiAr
I2lmZGVmIENPTkZJR19TWVNDVEwNCj4gPiAgbG9uZyByZWFkX2NvbnNvbGVfcmluZyhzdHJ1Y3Qg
eGVuX3N5c2N0bF9yZWFkY29uc29sZSAqb3ApICB7DQo+ID4gICAgICBYRU5fR1VFU1RfSEFORExF
X1BBUkFNKGNoYXIpIHN0cjsgQEAgLTM3OCw2ICszNzksNyBAQCBsb25nDQo+ID4gcmVhZF9jb25z
b2xlX3Jpbmcoc3RydWN0IHhlbl9zeXNjdGxfcmVhZGNvbnNvbGUgKm9wKQ0KPiA+DQo+ID4gICAg
ICByZXR1cm4gMDsNCj4gPiAgfQ0KPiA+ICsjZW5kaWYgLyogQ09ORklHX1NZU0NUTCAqLw0KPiA+
DQo+ID4NCj4gPiAgLyoNCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2NvbnNvbGUu
aCBiL3hlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmgNCj4gPiBpbmRleCA4M2NiYzlmYmRhLi5lN2Q1
MDYzZDgyIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmgNCj4gPiAr
KysgYi94ZW4vaW5jbHVkZS94ZW4vY29uc29sZS5oDQo+ID4gQEAgLTcsMTIgKzcsMjAgQEANCj4g
PiAgI2lmbmRlZiBfX0NPTlNPTEVfSF9fDQo+ID4gICNkZWZpbmUgX19DT05TT0xFX0hfXw0KPiA+
DQo+ID4gKyNpbmNsdWRlIDx4ZW4vZXJybm8uaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9pbnR0eXBl
cy5oPg0KPiA+ICAjaW5jbHVkZSA8eGVuL2N0eXBlLmg+DQo+ID4gICNpbmNsdWRlIDxwdWJsaWMv
eGVuLmg+DQo+ID4NCj4gPiAgc3RydWN0IHhlbl9zeXNjdGxfcmVhZGNvbnNvbGU7DQo+DQo+IFRo
YXQgZm9yd2FyZCBkZWNsYXJhdGlvbiBzaG91bGQgcHJvYmFibHkgYmUgaW5zaWRlIHRoZSBpZmRl
Zg0KPg0KPiA+ICsjaWZkZWYgQ09ORklHX1NZU0NUTA0KPiA+ICBsb25nIHJlYWRfY29uc29sZV9y
aW5nKHN0cnVjdCB4ZW5fc3lzY3RsX3JlYWRjb25zb2xlICpvcCk7DQo+ID4gKyNlbHNlDQo+ID4g
K3N0YXRpYyBpbmxpbmUgbG9uZyByZWFkX2NvbnNvbGVfcmluZyhzdHJ1Y3QgeGVuX3N5c2N0bF9y
ZWFkY29uc29sZQ0KPiA+ICsqb3ApIHsNCj4gPiArICAgIHJldHVybiAtRU9QTk9UU1VQUDsNCj4g
PiArfQ0KPiA+ICsjZW5kaWYNCj4NCj4gVGhpcyBpcyBvbmx5IGNhbGxlZCBmcm9tIHN5c2N0bC5j
LCB3aGljaCB3aWxsIGJlIGNvbXBpbGVkIG91dC4gV2h5IGlzIHRoZSBlbHNlDQo+IG5lZWRlZD8N
Cj4NCg0KQmVjYXVzZSBJIHdyYXBwZWQgdGhlIHN5c2N0bC5jIGluIHRoZSBsYXN0IGNvbW1pdC4N
CklmIHJlbW92aW5nIHRoZSBlbHNlIGNvbmRpdGlvbiBoZXJlLCB0aGUgY29tcGlsYXRpb24gd2ls
bCBmYWlsIG9uIHRoaXMgY29tbWl0Lg0KU28gZWl0aGVyIEkgYWRkICNpZmRlZiBpbnRvIHJlYWRf
Y29uc29sZV9yaW5nIGZ1bmN0aW9uIGJvZHksIG9yIGluIHRoZSBsYXN0IGNvbW1pdCwNCkkgZHJh
dyBiYWNrIGFsbCB0aGVzZSB1bm5lY2Vzc2FyeSBlbHNlIGNvbmRpdGlvbnMsIG9yIGNvbWJpbmUg
YWxsIGNvbW1pdHMgaW50byBvbmUNCkFueSBwcmVmZXJlbmNlPyBPciBhbnkgb3RoZXIgc3VnZ2Vz
dGlvbj8NCg0KPiA+DQo+ID4gIHZvaWQgY29uc29sZV9pbml0X3ByZWlycSh2b2lkKTsNCj4gPiAg
dm9pZCBjb25zb2xlX2luaXRfcmluZyh2b2lkKTsNCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1
ZGUveHNtL2R1bW15LmggYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaCBpbmRleA0KPiA+IGFmYzU0
YTBiMmYuLjM1ZDA4NGFjYTcgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15
LmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaA0KPiA+IEBAIC0xODYsMTggKzE4
NiwyMyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sNCj4geHNtX3N5c2N0bChYU01f
REVGQVVMVF9BUkcgaW50IGNtZCkNCj4gPiAgICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklW
KTsNCj4gPiAgICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5k
b21haW4sIE5VTEwpOyAgfQ0KPiA+ICsNCj4gPiArc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2No
ZWNrIHhzbV9yZWFkY29uc29sZShYU01fREVGQVVMVF9BUkcNCj4gPiArdWludDMyX3QgY2xlYXIp
IHsNCj4gPiArICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsNCj4gPiArICAgIHJldHVy
biB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIE5VTEwpOyB9DQo+
ID4gICNlbHNlDQo+ID4gIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fc3lzY3Rs
KFhTTV9ERUZBVUxUX0FSRyBpbnQgY21kKSAgew0KPiA+ICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQ
Ow0KPiA+ICB9DQo+ID4gLSNlbmRpZg0KPiA+DQo+ID4gIHN0YXRpYyBYU01fSU5MSU5FIGludCBj
Zl9jaGVjayB4c21fcmVhZGNvbnNvbGUoWFNNX0RFRkFVTFRfQVJHDQo+ID4gdWludDMyX3QgY2xl
YXIpICB7DQo+ID4gLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7DQo+ID4gLSAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBOVUxMKTsN
Cj4gPiArICAgIHJldHVybiAtRU9QTk9UU1VQUDsNCj4gPiAgfQ0KPiA+ICsjZW5kaWYgLyogQ09O
RklHX1NZU0NUTCAqLw0KPiA+DQo+ID4gIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4
c21fYWxsb2Nfc2VjdXJpdHlfZG9tYWluKHN0cnVjdA0KPiA+IGRvbWFpbiAqZCkgIHsgZGlmZiAt
LWdpdCBhL3hlbi9pbmNsdWRlL3hzbS94c20uaA0KPiA+IGIveGVuL2luY2x1ZGUveHNtL3hzbS5o
IGluZGV4IDI3NjUwN2I1MTUuLmQzMjI3NDBkZTEgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1
ZGUveHNtL3hzbS5oDQo+ID4gKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oDQo+ID4gQEAgLTYy
LDggKzYyLDggQEAgc3RydWN0IHhzbV9vcHMgew0KPiA+ICAgICAgaW50ICgqZG9tY3RsKShzdHJ1
Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgY21kLCB1aW50MzJfdA0KPiA+IHNzaWRyZWYpOyAg
I2lmZGVmIENPTkZJR19TWVNDVEwNCj4gPiAgICAgIGludCAoKnN5c2N0bCkoaW50IGNtZCk7DQo+
ID4gLSNlbmRpZg0KPiA+ICAgICAgaW50ICgqcmVhZGNvbnNvbGUpKHVpbnQzMl90IGNsZWFyKTsN
Cj4gPiArI2VuZGlmDQo+ID4NCj4gPiAgICAgIGludCAoKmV2dGNobl91bmJvdW5kKShzdHJ1Y3Qg
ZG9tYWluICpkLCBzdHJ1Y3QgZXZ0Y2huICpjaG4sIGRvbWlkX3QgaWQyKTsNCj4gPiAgICAgIGlu
dCAoKmV2dGNobl9pbnRlcmRvbWFpbikoc3RydWN0IGRvbWFpbiAqZDEsIHN0cnVjdCBldnRjaG4g
KmNobjEsDQo+ID4gQEAgLTI2NiwxNyArMjY2LDIyIEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9z
eXNjdGwoeHNtX2RlZmF1bHRfdCBkZWYsDQo+ID4gaW50IGNtZCkgIHsNCj4gPiAgICAgIHJldHVy
biBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMuc3lzY3RsLCBjbWQpOyAgfQ0KPiA+ICsNCj4gPiAr
c3RhdGljIGlubGluZSBpbnQgeHNtX3JlYWRjb25zb2xlKHhzbV9kZWZhdWx0X3QgZGVmLCB1aW50
MzJfdCBjbGVhcikNCj4gPiArew0KPiA+ICsgICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNt
X29wcy5yZWFkY29uc29sZSwgY2xlYXIpOyB9DQo+ID4gICNlbHNlDQo+ID4gIHN0YXRpYyBpbmxp
bmUgaW50IHhzbV9zeXNjdGwoeHNtX2RlZmF1bHRfdCBkZWYsIGludCBjbWQpICB7DQo+ID4gICAg
ICByZXR1cm4gLUVPUE5PVFNVUFA7DQo+ID4gIH0NCj4gPiAtI2VuZGlmDQo+ID4NCj4gPiAgc3Rh
dGljIGlubGluZSBpbnQgeHNtX3JlYWRjb25zb2xlKHhzbV9kZWZhdWx0X3QgZGVmLCB1aW50MzJf
dCBjbGVhcikNCj4gPiB7DQo+ID4gLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3Bz
LnJlYWRjb25zb2xlLCBjbGVhcik7DQo+ID4gKyAgICByZXR1cm4gLUVPUE5PVFNVUFA7DQo+ID4g
IH0NCj4gPiArI2VuZGlmDQo+ID4NCj4gPiAgc3RhdGljIGlubGluZSBpbnQgeHNtX2V2dGNobl91
bmJvdW5kKA0KPiA+ICAgICAgeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQxLCBz
dHJ1Y3QgZXZ0Y2huICpjaG4sIGRvbWlkX3QNCj4gPiBpZDIpIGRpZmYgLS1naXQgYS94ZW4veHNt
L2R1bW15LmMgYi94ZW4veHNtL2R1bW15LmMgaW5kZXgNCj4gPiAwYTVmYzA2YmJmLi40Yzk3ZGIw
YzQ4IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi94c20vZHVtbXkuYw0KPiA+ICsrKyBiL3hlbi94c20v
ZHVtbXkuYw0KPiA+IEBAIC0yNCw4ICsyNCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29w
cyBfX2luaXRjb25zdF9jZl9jbG9iYmVyDQo+IGR1bW15X29wcyA9IHsNCj4gPiAgICAgIC5kb21j
dGwgICAgICAgICAgICAgICAgICAgICAgICA9IHhzbV9kb21jdGwsDQo+ID4gICNpZmRlZiBDT05G
SUdfU1lTQ1RMDQo+ID4gICAgICAuc3lzY3RsICAgICAgICAgICAgICAgICAgICAgICAgPSB4c21f
c3lzY3RsLA0KPiA+IC0jZW5kaWYNCj4gPiAgICAgIC5yZWFkY29uc29sZSAgICAgICAgICAgICAg
ICAgICA9IHhzbV9yZWFkY29uc29sZSwNCj4gPiArI2VuZGlmDQo+ID4NCj4gPiAgICAgIC5ldnRj
aG5fdW5ib3VuZCAgICAgICAgICAgICAgICA9IHhzbV9ldnRjaG5fdW5ib3VuZCwNCj4gPiAgICAg
IC5ldnRjaG5faW50ZXJkb21haW4gICAgICAgICAgICA9IHhzbV9ldnRjaG5faW50ZXJkb21haW4s
DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3MuYyBiL3hlbi94c20vZmxhc2sv
aG9va3MuYyBpbmRleA0KPiA+IDdjNWU3ZjU4NzkuLjdjNDY2NTdkOTcgMTAwNjQ0DQo+ID4gLS0t
IGEveGVuL3hzbS9mbGFzay9ob29rcy5jDQo+ID4gKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5j
DQo+ID4gQEAgLTkzNCw3ICs5MzQsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX3N5c2N0
bChpbnQgY21kKQ0KPiA+ICAgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJz
eXNjdGwiLCBjbWQpOw0KPiA+ICAgICAgfQ0KPiA+ICB9DQo+ID4gLSNlbmRpZg0KPiA+DQo+ID4g
IHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfcmVhZGNvbnNvbGUodWludDMyX3QgY2xlYXIpICB7
IEBAIC05NDUsNg0KPiA+ICs5NDQsNyBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX3JlYWRj
b25zb2xlKHVpbnQzMl90IGNsZWFyKQ0KPiA+DQo+ID4gICAgICByZXR1cm4gZG9tYWluX2hhc194
ZW4oY3VycmVudC0+ZG9tYWluLCBwZXJtcyk7ICB9DQo+ID4gKyNlbmRpZiAvKiBDT05GSUdfU1lT
Q1RMICovDQo+ID4NCj4gPiAgc3RhdGljIGlubGluZSB1aW50MzJfdCByZXNvdXJjZV90b19wZXJt
KHVpbnQ4X3QgYWNjZXNzKSAgeyBAQCAtMTg4OCw4DQo+ID4gKzE4ODgsOCBAQCBzdGF0aWMgY29u
c3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfY2ZfY2xvYmJlciBmbGFza19vcHMgPSB7DQo+
ID4gICAgICAuZG9tY3RsID0gZmxhc2tfZG9tY3RsLA0KPiA+ICAjaWZkZWYgQ09ORklHX1NZU0NU
TA0KPiA+ICAgICAgLnN5c2N0bCA9IGZsYXNrX3N5c2N0bCwNCj4gPiAtI2VuZGlmDQo+ID4gICAg
ICAucmVhZGNvbnNvbGUgPSBmbGFza19yZWFkY29uc29sZSwNCj4gPiArI2VuZGlmDQo+ID4NCj4g
PiAgICAgIC5ldnRjaG5fdW5ib3VuZCA9IGZsYXNrX2V2dGNobl91bmJvdW5kLA0KPiA+ICAgICAg
LmV2dGNobl9pbnRlcmRvbWFpbiA9IGZsYXNrX2V2dGNobl9pbnRlcmRvbWFpbiwNCj4NCj4gT3Ro
ZXJ3aXNlLCBzYW1lIHJlbWFya3MgYXMgaW4gdGhlIHN5c2N0bCBob29rcyBmb3IgeHNtLg0KPg0K
PiBDaGVlcnMsDQo+IEFsZWphbmRybw0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 08:14:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 08:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921442.1325286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvB3A-0006MB-4C; Thu, 20 Mar 2025 08:14:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921442.1325286; Thu, 20 Mar 2025 08: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 1tvB3A-0006M4-0C; Thu, 20 Mar 2025 08:14:48 +0000
Received: by outflank-mailman (input) for mailman id 921442;
 Thu, 20 Mar 2025 08:14: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvB39-0006Ly-Ch
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 08:14:47 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61a87780-0563-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 09:14:44 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-ac2c663a3daso115662166b.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 01:14:44 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3147e9bb0sm1111363866b.47.2025.03.20.01.14.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 01: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: 61a87780-0563-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742458484; x=1743063284; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=T83K98I45SKLpJn1+/nHyZAc90DqpRFYQkMcM9cqnRM=;
        b=R/8L7r2rFWvACLM3vn+O2mwWtwDM63NNSfJYTJoc5eUiwRdcwjGPG8BFmUbOV24lJZ
         HojnK+/SjgKFa2h2XLToDYO5ZXthgNTX4p1jroS3/QC4rx/zbeyCLtObusMRcJ72OyR+
         LdDYVeY4kgLxOrtH3gbnbkAgfb5WGGxicfkTY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742458484; x=1743063284;
        h=in-reply-to: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=T83K98I45SKLpJn1+/nHyZAc90DqpRFYQkMcM9cqnRM=;
        b=CRmFnvuTAhTTJPURrGbvntc6ZeCOl6Y41zeZAWywvsn9/SUzyWP75Ig9o+Gki7Qsr5
         0tTQ3+bZLpGE0r8ynbwlsBe6gN+NMxsA9QUEPDvIWHT6NX1wFmbZojo9zy/LNJQnBLNF
         fPqaN0z+zwDIpxNW63V4VrDnFD5F4JENDJbE/Um85P0pzTj4Xx7XamsJ1n96b1KH4eKE
         N703JEq6q/lRMr2uRxH8gI9gBDj7nhX2V9sQ7h/sOn8AcqlciNJ5brpWXleQ9DA8ZKds
         Hpa/YzzfV/wdnyTNxOSINh3vaazm/Nd/At5rzLo3cztkng44V1Tvnp2/ZFOcTCil4rC+
         SNTA==
X-Forwarded-Encrypted: i=1; AJvYcCWLY0fqqh6SFMpCYNqOzCa0v0FvTDRKtUJLHjWXKo4RyapveWvK3Wo8atFnOaMvmcgVU+VOQ4iveZ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw7wlelvzbPWCEBu+v35sGnrqD1xiJD8mAJpbnU1rCFo3zcfDjC
	oGwDWzdbUlrIx51kWR7ALy9xjNFiwpBGQmpgke5wS/CDBDso31Sie7lxPvYxHaw=
X-Gm-Gg: ASbGncvB3eN0GkTgE0TCfQ/Rnpd4RCgPBrVtqOedE5kxeqK3YU4ZAs4Klkwuuhm7ons
	6Bxzp8idRZD3B9oMe0RJv1VZIhiUbf2sriraz5ZZuajCTGO6xonIobXIwmFNJqFK33teEIYMD90
	BqhNX6mF0/FYMk7GIQGLDUxuo8ABSJOkMA9vCnnqBc7jbKMpLBSpWQf8tnGPCyeDJhMkJw6n5/Y
	bjhK43PLSQOSZBZjUC5s5tJyqHcn91PqpVW8wyiV3cDmCbR158gKAK7Lgsu2aqtoURw1wDOerqb
	wbpB1WOvPUJ87uOvqpZl3sbnE0U/KUa/Dc/BBM9Z+n2yf8yZOxHImXLm5kKxpRZQyA==
X-Google-Smtp-Source: AGHT+IH/VPP0dxcrOjD6kH5A0ePWy3DUPNT2L0dig/5bdxBFnp5hveWVYyGJzyr5cZXplxBGsQngSg==
X-Received: by 2002:a17:907:3d86:b0:ac2:7fd5:774 with SMTP id a640c23a62f3a-ac3b7fc2d52mr527581766b.56.1742458484177;
        Thu, 20 Mar 2025 01:14:44 -0700 (PDT)
Date: Thu, 20 Mar 2025 09:14:43 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
Message-ID: <Z9vOc5I828aV49rI@macbook.local>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
 <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>

On Wed, Mar 19, 2025 at 11:46:22AM +0100, Jan Beulich wrote:
> On 19.03.2025 11:32, Jan Beulich wrote:
> > On 18.03.2025 18:35, Roger Pau Monne wrote:
> >> Relocations are now applied after having moved the trampoline,
> > 
> > That's two entirely different sets of relocations, isn't it? 

Right, this is the plain .reloc, while the trampoline one is
.trampoline_{rel,seg}

> > What we generate
> > here is what is to be encoded in the PE binary's .reloc section, for the PE
> > loader to process. And for us to then process again once we move Xen back to
> > its linked position (by virtue of leaving physical mode). Therefore what
> > matters here is whether these relocations are still carried out while on the
> > page tables to boot loader created, or when already on page tables we control.
> > In the former case any relocation to a non-writable section would be liable
> > to fault when applied.
> 
> And yes - both calls to efi_arch_relocate_image() are ahead of switching page
> tables. The first call is benign - no writes occur there. The second call
> would cause #PF though for any relocs applied to .text or .rodata or .init.text
> or whatever else is non-writable.

I wonder how this worked then, as I've tested with the xen.efi smoke
test in gitlab CI.  Maybe ovmf doesn't acknowledge the RX sections and
unconditionally sets all mappings as writable?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 08:34:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 08:34:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921457.1325295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvBMO-0002dt-LQ; Thu, 20 Mar 2025 08:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921457.1325295; Thu, 20 Mar 2025 08:34: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 1tvBMO-0002dm-I5; Thu, 20 Mar 2025 08:34:40 +0000
Received: by outflank-mailman (input) for mailman id 921457;
 Thu, 20 Mar 2025 08:34: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvBMN-0002dg-94
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 08:34:39 +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 28d9dd00-0566-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 09:34:38 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso3043925e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 01:34: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-43d43f47ba7sm41005515e9.16.2025.03.20.01.34.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 01:34: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: 28d9dd00-0566-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742459677; x=1743064477; 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=9yYDfcuioVZUSfXGaxCa/LgS5HF46sQaujNzkA05Onw=;
        b=G3affWnNvr+iMBARRogy1gubwKkcrM5ZIyNfkETmU+b/AZGv8njFU6gxqTfgHzMi0m
         7RWnpaoIxLRkAlK6MuK0FuRl/Y4tH6yeKrbgAWGwDY5JRuZnIeRHEHUBtPWgzsqhPgKi
         Y+dlrL8dCIYbcr6PQCHFo4nqVBc5D7kx6M/piMeGoHvI/onQYMi8qWhErOyFcvHDCoJr
         JdmjWnRx7GctlSllRisf2ZQsjqvCidqQuaaG+E6Mb9KhAJ1vFGF1Yd1uO7VdzlDRnLhy
         6odyZlZ6FCc/KBAAWOiLAXUz92KEcOftOlzAwynNZ88JwcuRDhhUBfu8YMuoCiry9p8p
         eI+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742459677; x=1743064477;
        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=9yYDfcuioVZUSfXGaxCa/LgS5HF46sQaujNzkA05Onw=;
        b=ljUUTsLIKvNTa3vUi/3Ucdjrh9iU7kUFKt9V6+3QXBdX3d+11Xvv7c+aS1cbkd+L+q
         MIOSC0CTjns6BLpRiqX0p1tZETeQe/s8AgI5iwew5+1fL8+pMdmhSeWuUZl8eksR/L2S
         FF6Gqc1Fv9wdEwXKZcdk8EOLSYmCsXah3Fp/zOf4mMDnUt6PxLEOrZxAqbQjjgRFFuv9
         QXYIeUUaBI6+jDwwKnze4vwmyov1YSPB5TwMoEzLX3RgRNXQkNPRs4pMroEsFi8izEVV
         tVCAN3dZ9U6blkX4qFYxQnqeLrlqzgUEcaSJJCr3hB0uxIPyB4fwo+0GqEo74jZIeev2
         buAA==
X-Forwarded-Encrypted: i=1; AJvYcCXXNArCN02YltJN6GC3fP5YxIjloGQpZTYLydr0OKwbaFOdafYQuGGygG1VHUUo0R4RUuKiF8lkxGg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyaGTZTwXzgd7Yq46x5B0byW6eff3DSpVa3+e6uW756OqUeWV55
	zHCZoku7Do0YMCIAbrvWmrT+d0wtoPKS3N5W0sBGj5jQy/bC7cg5bBZ/tFCusQ==
X-Gm-Gg: ASbGncvNz9Go3dHc5HZg828HFh4BX6VpJ9RaTTc9oyoyjBjHbgh1z5UvsJmX3MT2+T6
	sXUbMEiL4ZnDnHdcFVHrl1c5Pta+ImsReoQOgIdyOI40SJ+u7NsuVfpSRYpFs5cJei2GXhNcqza
	tDEVtspvk7QB44ufiwTOykuTsFMuOyoK5DsiHUhmgfsA7VPIowi1MKBO6SC5Pwbj/UM0d+g5jRp
	s//AVD5HWANBW+HOFb1A2X2aF9n2xQCC09R1xKLw0GUmp6EDQhO2KhdY/M6RDb4RYNQHfbvJoWX
	ZZxgw27SWc6e8j66h8CDw22QzAt7hLWozp3YowSC048TtFaoEyIkGBqQMzyrAUDzaK0esEqFO1Z
	msg/CtpQRJEu8SiAX1AKHvhrbTv785nEoD699AEel
X-Google-Smtp-Source: AGHT+IFDBotZj3WTZfS3zTosdLuTqA18vKBNrasejTocYrmsoaNWrGTQwVsXeErxSgaka3BIl4Ov6w==
X-Received: by 2002:a05:600c:1ca1:b0:43c:ea1a:720a with SMTP id 5b1f17b1804b1-43d46b5a82fmr31571845e9.1.1742459677318;
        Thu, 20 Mar 2025 01:34:37 -0700 (PDT)
Message-ID: <0da7c7dd-bfbc-4e41-98ed-6e98793e6f50@suse.com>
Date: Thu, 20 Mar 2025 09:34:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
 <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
 <Z9vOc5I828aV49rI@macbook.local>
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: <Z9vOc5I828aV49rI@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 09:14, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 19, 2025 at 11:46:22AM +0100, Jan Beulich wrote:
>> On 19.03.2025 11:32, Jan Beulich wrote:
>>> On 18.03.2025 18:35, Roger Pau Monne wrote:
>>>> Relocations are now applied after having moved the trampoline,
>>>
>>> That's two entirely different sets of relocations, isn't it? 
> 
> Right, this is the plain .reloc, while the trampoline one is
> .trampoline_{rel,seg}
> 
>>> What we generate
>>> here is what is to be encoded in the PE binary's .reloc section, for the PE
>>> loader to process. And for us to then process again once we move Xen back to
>>> its linked position (by virtue of leaving physical mode). Therefore what
>>> matters here is whether these relocations are still carried out while on the
>>> page tables to boot loader created, or when already on page tables we control.
>>> In the former case any relocation to a non-writable section would be liable
>>> to fault when applied.
>>
>> And yes - both calls to efi_arch_relocate_image() are ahead of switching page
>> tables. The first call is benign - no writes occur there. The second call
>> would cause #PF though for any relocs applied to .text or .rodata or .init.text
>> or whatever else is non-writable.
> 
> I wonder how this worked then, as I've tested with the xen.efi smoke
> test in gitlab CI.  Maybe ovmf doesn't acknowledge the RX sections and
> unconditionally sets all mappings as writable?

Possible. And that would be in line with the mode being call "physical mode":
There are no permissions to enforce there. It just so happens that x86-64
requires paging to be enabled to be able to run 64-bit code.

My experience with OVMF has been that it's hard to find where certain code
lives. Perhaps I should try whether I can find respective code there. Then
again if I find nothing, there wouldn't be any guarantee that I merely didn't
spot the right place.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 08:46:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 08:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921478.1325304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvBYE-0005Ku-Oj; Thu, 20 Mar 2025 08:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921478.1325304; Thu, 20 Mar 2025 08: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 1tvBYE-0005Kn-M9; Thu, 20 Mar 2025 08:46:54 +0000
Received: by outflank-mailman (input) for mailman id 921478;
 Thu, 20 Mar 2025 08:46: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvBYC-0005Kh-QN
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 08:46:52 +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 dda5343b-0567-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 09:46:50 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3965c995151so240097f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 01:46: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-395c8881539sm22713361f8f.46.2025.03.20.01.46.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 01: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: dda5343b-0567-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742460410; x=1743065210; 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=bDNTI3hOaCvuuAVoUZzvEqzOgI7RZ3yM1B3ixcqdrIU=;
        b=CRPAELTRDMtFmGkd0p+lm+Pc1MZrYsLlsZWPDE2tiaLOoFf0UUUxlgszwpP0ZLLifS
         LvXEOJ3KSN27uPc0rS1nL/Szn6HZJbJnh3F83KOTJyFtwos3wx0F+3ZmQsQKxEkcb6JP
         u7LakYfKx1xKl75L7e9N8qu35qj90Ado6tl3ISItgdrfHh72Km01UwkezRbmCuqDryil
         zkUFI6LbcaWhgKtiMYjDg37BrfUxRt3h/T7uKY78BhOBR9gYIb6q0Grdc51A28Imee5B
         2enJ5SDNsZecJaqGMrv/iq/f7LPRA47/xsq5qVH3EptP7jqM/qO9TdZytACp9PDKJWxO
         iKUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742460410; x=1743065210;
        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=bDNTI3hOaCvuuAVoUZzvEqzOgI7RZ3yM1B3ixcqdrIU=;
        b=keYSCeDoXagxDyY0IVSyOTAeKTbyPLsH/Nk9pIwbtUR7WkuZR7yis5CzEi/hoWSkg8
         rFk6jg1wrB+tTU9bgP7iAAQM2fMhwH+CHHm37la5SbtnOZa9olEzMGmUgHhYxdC39+XO
         ZAVSoJhbl4LnkZhnUseD7X55PV2tCgUrasGTQaS/k+3Tm0EXELKOuq4urExCv3Vglpgk
         8nnSfoxGRZ7kVk65H/yEoyQNiaO0Nk1NvYfPWyon1+bhP3/L0n2V1GC77ujvQeNCvX8T
         L/KxCbIPWAzQRF8tsTFKhTm86oUXA2Rv7cVIbvw8dDmXodaeBzbXPFECbURZ7IYxmcc1
         bZ9g==
X-Forwarded-Encrypted: i=1; AJvYcCXkW4GG2URt7abW+vkG4nr01B+rcohjqAC1UGiboaH3V7TiOuDDsyoCoohgCWgLAbUOt7PBZG2LlZA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+cO8f2XbeTz+QMX48ws5wJfiqhd6EDkoZfzvIbLqgKoP7qUII
	7/7Yw1RIISMiUVHaiTagniK2iPe5Kz2uLfRI7M7bMtCq/oYfSdeX3fvpmFMY+g==
X-Gm-Gg: ASbGncupEQxM9UPTdYCkFwFgFRmBRoZPHiUMH/W98gc5bEvq5shUbf/NyOeoPa7POlj
	VY+69/J8Iu4hnKsNHowvD0NcT4xcLLbvyFj2D3P4n9BpejhFlzvcz8I7O0q8s/zjtT4DW9KPIKW
	ynhfDk0GLCe0IELWFkUIPcFnqC+qefwxFLy7ZN9jNbyiu9icCWJSHMnF+pXTXkQM6x7ZTFjsxTs
	akZ9J3G2R8ROrb3g+HG+sT71jbFeIpY8PBbdXgKt1bPU0eg9DtSHCXoVH4MoLgzqz7W/7OuOeMI
	RUZBfEKHOsPL0EkRpJ/XMuFlRnfCks7RLzYIWLNwCHNvQP/iEYBsjusW6ofPiZ/jxCohz1cvFjj
	oimqIUV55DGVNpNss41r8TJwz41r3RA==
X-Google-Smtp-Source: AGHT+IETvJkaV8jovugjlFnbGluOQspo/xhILLDtqXfBIknQBW5IqoBQGEjP6MyLNtD1xIQh1twrAg==
X-Received: by 2002:a5d:6d06:0:b0:391:30b9:556c with SMTP id ffacd0b85a97d-399739becc7mr6822420f8f.21.1742460410096;
        Thu, 20 Mar 2025 01:46:50 -0700 (PDT)
Message-ID: <318177c1-8bb9-4d30-81a0-6636183f2571@suse.com>
Date: Thu, 20 Mar 2025 09:46:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 03/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-4-Penny.Zheng@amd.com>
 <D8F4G80E0LHU.5GHN1ZVVNHYB@cloud.com>
 <IA1PR12MB8467691D93E223033398DCBCE1D82@IA1PR12MB8467.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: <IA1PR12MB8467691D93E223033398DCBCE1D82@IA1PR12MB8467.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 09:02, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> Sent: Thursday, March 13, 2025 8:03 PM
>>
>> Ok, so readconsole is done here. I see how if you're also removing the console
>> handler for the sysctl that's a bit unwiledly to do in one go.
>>
>> I think my earlier remarks still hold in terms of removal of else branches of ifdefs.
>>
>> On Wed Mar 12, 2025 at 4:06 AM GMT, Penny Zheng wrote:
>>> The following functions is to deal with XEN_SYSCTL_readconsole sub-op,
>>> and shall be wrapped:
>>> - xsm_readconsole
>>> - read_console_ring
>>>
>>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
>>> ---
>>>  xen/drivers/char/console.c |  2 ++
>>>  xen/include/xen/console.h  |  8 ++++++++
>>>  xen/include/xsm/dummy.h    | 11 ++++++++---
>>>  xen/include/xsm/xsm.h      | 11 ++++++++---
>>>  xen/xsm/dummy.c            |  2 +-
>>>  xen/xsm/flask/hooks.c      |  4 ++--
>>>  6 files changed, 29 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
>>> index 2f028c5d44..6e4f3c4659 100644
>>> --- a/xen/drivers/char/console.c
>>> +++ b/xen/drivers/char/console.c
>>> @@ -336,6 +336,7 @@ static void conring_puts(const char *str, size_t len)
>>>          conringc = conringp - conring_size;  }
>>>
>>> +#ifdef CONFIG_SYSCTL
>>>  long read_console_ring(struct xen_sysctl_readconsole *op)  {
>>>      XEN_GUEST_HANDLE_PARAM(char) str; @@ -378,6 +379,7 @@ long
>>> read_console_ring(struct xen_sysctl_readconsole *op)
>>>
>>>      return 0;
>>>  }
>>> +#endif /* CONFIG_SYSCTL */
>>>
>>>
>>>  /*
>>> diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
>>> index 83cbc9fbda..e7d5063d82 100644
>>> --- a/xen/include/xen/console.h
>>> +++ b/xen/include/xen/console.h
>>> @@ -7,12 +7,20 @@
>>>  #ifndef __CONSOLE_H__
>>>  #define __CONSOLE_H__
>>>
>>> +#include <xen/errno.h>
>>>  #include <xen/inttypes.h>
>>>  #include <xen/ctype.h>
>>>  #include <public/xen.h>
>>>
>>>  struct xen_sysctl_readconsole;
>>
>> That forward declaration should probably be inside the ifdef
>>
>>> +#ifdef CONFIG_SYSCTL
>>>  long read_console_ring(struct xen_sysctl_readconsole *op);
>>> +#else
>>> +static inline long read_console_ring(struct xen_sysctl_readconsole
>>> +*op) {
>>> +    return -EOPNOTSUPP;
>>> +}
>>> +#endif
>>
>> This is only called from sysctl.c, which will be compiled out. Why is the else
>> needed?
>>
> 
> Because I wrapped the sysctl.c in the last commit.
> If removing the else condition here, the compilation will fail on this commit.
> So either I add #ifdef into read_console_ring function body, or in the last commit,
> I draw back all these unnecessary else conditions, or combine all commits into one
> Any preference? Or any other suggestion?

Munging everything in a single commit may yield unwieldily big a result. Transiently
adding #ifdef in sysctl.c would seem like the cleanest approach to me. In the final
commit it'll (hopefully) be obvious enough then why all of the #ifdef-s are dropped
again.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 09:01:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 09:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921489.1325315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvBmf-0001PA-Tq; Thu, 20 Mar 2025 09:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921489.1325315; Thu, 20 Mar 2025 09: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 1tvBmf-0001P3-Qp; Thu, 20 Mar 2025 09:01:49 +0000
Received: by outflank-mailman (input) for mailman id 921489;
 Thu, 20 Mar 2025 09:01: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=OSLU=WH=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1tvBmd-0001Ox-Gd
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 09:01:47 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20629.outbound.protection.outlook.com
 [2a01:111:f403:2009::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1c2a8f3-0569-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 10:01:44 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 DM4PR12MB8452.namprd12.prod.outlook.com (2603:10b6:8:184::18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.34; Thu, 20 Mar 2025 09:01:40 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.036; Thu, 20 Mar 2025
 09: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: f1c2a8f3-0569-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TtVzlPfcc70rwzBQbxR9Vxpgdcnh1li6GyBAJ6xKzCgdWNtzwVImhhbZP5hfsmSdAYW1gIWqzY3PQXGXTboVc5HtqhFjDSuNpwrhMmyjxpf6llPzjH15p1YudguUGYXd2awABUlTBv/mUP0WAHToWdegzse2i12Clas2OxiQnhCvbw0xbE0KT/juo6IM1q3/Tlo4HPTFLBLXt6xJ9BV4x/cj0k/TFQF8PhXkbvz8rVf2ZvmEBS4xB3ZqTuCpaOR7iiuLCjjtH7agQaQ3wbAf5hWVf7N/qKSPkIWpeBvBs4Xp+0Uzqhp8WLQP+RMBI2XWH0l1ODph335IYsgCZAoDoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gHVuCRChUVFBGGQHxwZzG7sqLXLQi8lmhfp28kTr39E=;
 b=X9t10LkqN4DkliFl8aIFzvs+W2/ppaZvuxkxofi95vtC1wf/zqranRkjRW9CwUG5bXhScmq45zlFqzVhpvjR8Q11L9Kbny4Y+CM7MSND9QUKndk6J3d2ACtIafOuFn/gNiIq4s+apuCFkdLvJI+Uec+5SiDS59u+4MhWGc9Z+MXwIu8y0tL1X53stL5GF3h40NpJu21ExMN2CyI1Rsnh29HKkqfczazJxft6gHkwLDs6ED+kiWYCRT6Q4PswilKjh7v/YlHOED2y/FKRpjUhJFe3rRhN8oK++IWij5Ccr29MgEwHoeFQhqMst9ue8RQaPgm0ZlUy1ZBvmdlAg6h1Hw==
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=gHVuCRChUVFBGGQHxwZzG7sqLXLQi8lmhfp28kTr39E=;
 b=3GZnAEAVeE7lIT+16eOi9pBVkRtGNjyKnvdVn1k9SYQ2YX28PKY8WiQQCDa7BfrMmWjrly8PABK3NonAR6vWyaI/ZONdllnqN/b7GpKUQBJsLn5/HQYEekdbgUwRJ+AwchtxXCijacS0D/ln0D6wNllXndBX93riESSYlgRht1I=
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>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, Alejandro Vallejo
	<alejandro.vallejo@cloud.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v1 03/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
Thread-Topic: [PATCH v1 03/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
Thread-Index: AQHbkwQ4YtLwdtCzBUqbGFlzJHozTrNw+akAgAq7AVCAAA6JAIAAAgHw
Date: Thu, 20 Mar 2025 09:01:40 +0000
Message-ID:
 <DM4PR12MB84514C303CBEECE9454A4055E1D82@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-4-Penny.Zheng@amd.com>
 <D8F4G80E0LHU.5GHN1ZVVNHYB@cloud.com>
 <IA1PR12MB8467691D93E223033398DCBCE1D82@IA1PR12MB8467.namprd12.prod.outlook.com>
 <318177c1-8bb9-4d30-81a0-6636183f2571@suse.com>
In-Reply-To: <318177c1-8bb9-4d30-81a0-6636183f2571@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_ActionId=ddfb5eca-2cf4-49cd-9555-6b7c30ea294a;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-20T09:01:33Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|DM4PR12MB8452:EE_
x-ms-office365-filtering-correlation-id: 5db3a183-6ec0-40c8-cb03-08dd678dd43c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?ZC9jUXFIK2RmdmFYVjRVV0Y0eG8vZWduVWJsWFkxRm5kQVdPdm1pcWhwV0R3?=
 =?utf-8?B?d3F2NzZzS3VsNWdwSXhxdEdwWVRwRGtwcGZzQzQ5NXJBMWNOSWticXA3b2l6?=
 =?utf-8?B?KysxWGlmQzVrZzNWNWV2bGl6TVV6VGIrbzdSa2NXeWZHWmpZcWxyRkFxOXFn?=
 =?utf-8?B?Y0tTeFc3Rk0wUjM4cFlReklac3p3cW9TWE9Wb0ZSRXJ1WmxLN2J5N05sdXVk?=
 =?utf-8?B?OFVvdDloZDVrbmZkSmZ1U1BtRlV3a2swaDBGVXU5aENmQnBpem4wQmtxbGNX?=
 =?utf-8?B?OWU1QUgvK3N6emN6eFRZbkZ1THpKTTRzNU9JUXZMcjM2ckJtNThmNWFmRHZG?=
 =?utf-8?B?bmZ5UnNhM2daL2dtYzFBSE96WGRYbjdhT0xrR3dBdy9udkZSaCtZNTJjeTdQ?=
 =?utf-8?B?R2RzT3I0ZkFXQXYwdTJ2NEcxVkdTd1dCREZCSFFobVZjNHFMNVNZVmdJWnRW?=
 =?utf-8?B?eTFZVGVqcC9WVHhVNVJ0dndLNkFCdkh0VXBzWitGbUNZbTRSWnYzQTZDdm5x?=
 =?utf-8?B?cU1ES3hVKzNHQmdBSW4zS3pnWnhQcXJIOG45YmFvSFdUYnBoaE4waXNGaXVq?=
 =?utf-8?B?bkhCeTlXODkxWnhKUEdNUG43WXROejU3UTl4bld3TmUvcmkyRVlueFh0NGJ6?=
 =?utf-8?B?WGc1UTB5dXpJTnc1VDZLM1d2ZTdCWDdtQkt2cVRRYjVlUjR4a0NtcFp5enBs?=
 =?utf-8?B?SXZkcyt4MTFuc1FGVUxWUHRESWhrYWk5QkxQNVpya0JZV05xTFlYUktxdGZo?=
 =?utf-8?B?a1o2QUVYbUpKSlRaaG1FRjU5V2dTbXhVamk5MjJsVkpXYUtNWUpVUFc0Y3ho?=
 =?utf-8?B?SElzT0g3endYTERwREk2cFFwaldaVTBSTFZaTlNTVjhzbVV2alE3VnVIUnFI?=
 =?utf-8?B?cGZ5N0lkaTR5a2tvbEVac0JYTC84azdZci9ITDR0SDl4M0NjSy9IdFRadGQ2?=
 =?utf-8?B?WUwwaHdMMzlld01nRlZrbUNVV3ZzbFhjbm4wSllQamlqUWVXdzE1M3pnY2k3?=
 =?utf-8?B?TC9EbEh0NDM3MTlVR3dNVzh6VjF0Tm12K0NqYnQ0QllkMWRvUkppTnh6OGtk?=
 =?utf-8?B?cGd0MEc2V3ZCSWNjc2ppSUJDa2FVeFo2Y1Bhd1NxMFh5UXNRQmNwU1BKTHhX?=
 =?utf-8?B?TmRVWGdTM3JmeTVsY0ltekcyUVl0QjJPNHJMakVsais3Z0pDNVp5a09MUmox?=
 =?utf-8?B?cWpxNGZ5LzZjVTE1SWkyK3lQVHZxQXlWWWRTZTRGMk1JTk1FYUdybGpUQzBL?=
 =?utf-8?B?aEdnSnkyS1psckw0NDhDTE1uMWwwYUNmUnhjWDBCV1FCWStmRXNNT1lZRUNl?=
 =?utf-8?B?eG9NSXFmUGMyRmMvT3NVN2tIdFZvbUowbTJHRitYYUVtMFRFOU5TTGU0T0lQ?=
 =?utf-8?B?d3RzdjJFY3dFdlcrMzI5dVRhSGl5NVZBdDRNaUh4dUJqdDdmVVJReXE2WkQ5?=
 =?utf-8?B?UG4vY0YwM3ZnazcwV21EVlM1MTM5MmxRakpGV0JZdkFFSkJ3Q0xGcno2V2Rl?=
 =?utf-8?B?NmwrY3BjL3p3T2E3OUxuTWxKUDZmTExOSXRLUkhsb1F3bHRDZ3dDbnFIQzk0?=
 =?utf-8?B?Zjh4enVPTWs0Z2QxbGFoSkNndmFTbFZZcXVkaFYzVkxEQVZtZGFsMXRuWWpW?=
 =?utf-8?B?b1RSQ0xUcVRCOHBTU1FMUjVGU3ZrKzJHamo0Sy8rdGdqcnhOcTM3NXlwRlkv?=
 =?utf-8?B?ZzZXd3lQT1RlaHFJcHlkbWZvd0lqTGlFZXphbDNxa0JxalhCeU9Ya3RVK0th?=
 =?utf-8?B?cHIvQ09vWmdSa1FBZUgwMEdwYi93MmlVaWtKd3FTUno3NXdEOFNxUWlWWTlm?=
 =?utf-8?B?eUQyNWFZdTNScFpYMFEvQkQ2bkdaa1J6SHVHSVZpL0ZONjNEZzJEU0Q5WW9z?=
 =?utf-8?B?enJmajJwRGRJNkVnSDRYRi8vMkQyaWk3RTdKVXpmY2pVbEg3bUdaY2V3Vkcr?=
 =?utf-8?Q?5odG5gpxWA0EhYdweNhb4key3V88XDt2?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?L05Ya2pJN3lrNjgxY0U5Zms0Vmx1TzFQb0pGVWVIYTF0RXU5dTVIOGdwbStP?=
 =?utf-8?B?cnI2dmJDQnFEalUwVkZ3VzMrY25TMFk5R3JPcXZjWEpPbEtUZTQzY0Nacjk5?=
 =?utf-8?B?ZEJlNHZvTVZWNmwzdG15ZWd4QjdyalhHd09kVVJqaVlUaE03RVhHZ3piQU9U?=
 =?utf-8?B?bFQ4amEyRnpyeGJaMlFJc1RDUEU0VjY3bFptcTlmb3N4US9uREFGS1NrT21E?=
 =?utf-8?B?UDlJcjdZdnhKc0hiWE9rbXQvSzJzK1RNd3M2V2RGQW1zYnBjTFhpZmZDdmJo?=
 =?utf-8?B?ZFZFRWpablptYjh0aTV4MnhEVTZ5ZWRRNzA0VW5FbDA0b3gzc0lOMkM5YS9j?=
 =?utf-8?B?MzFhYnpvNFZCYVFWbGJ3Wm8zNEpnVHRkNWV5bWFFNDZZbXA0am9VL0M0RWIr?=
 =?utf-8?B?UktWMUpIc2FWYS94MUFsa0FqTm9XdDNkenhzRGVQVU1IRzRJazNuTzVta1VX?=
 =?utf-8?B?a0RRcys1NmtiUVgvUTl2Tm1NSjFIRzQvV2Y0T2FuYWZxSXVIOUFjcHN5OGtq?=
 =?utf-8?B?R1lEdElLT0h3aEs3bUFqZ3pvQ085NFpZSHdpYnhWL3ZzemJZVmVSOElScDBE?=
 =?utf-8?B?elBPclRTZStOSG43cG1EM1RaRjliSGttU3Jtb0JBWDZZL01YbWl0dnBQZzRT?=
 =?utf-8?B?bS9JTzNReUNFNjRueHQ0LzdvYjJ4b2QySzJmNDVobVIwNFBqQitWMjVPRWV2?=
 =?utf-8?B?aXJIUm1HTEF5SGlmNnZoL0xoK0doWVMyTFQrZS9iaXNtMHltaDlDYjRNUVVT?=
 =?utf-8?B?ZTBBV0tOUW4yYnZNUHJNWkMwQWl4NTM4MlBMamFDUDd2VGJWVHM3Q3gxMkt5?=
 =?utf-8?B?ZDhFTHFJRmcrbXphT094MkYwMlQ4Y3lqNTJ5VDk2eHVmQ1BnZ1RvM0tXeVZR?=
 =?utf-8?B?RHg2TWUweGxUdmpLQXlsTGFLdzk0dE55TzFlVWM2dlEwRjhoM0lvNWVkQUlC?=
 =?utf-8?B?dnduU1ZKTWx5MlhiRmtQWS9mdnl6V25rY09EQmVkUEpiazJoY2gzU0lkTkha?=
 =?utf-8?B?cW1xU1dGbC90VzVZaUhlcEdyMkV0UnFZdzNDMWRLVktBTDQ0ZVBWd09HNlZ3?=
 =?utf-8?B?ZzQvcHhSWEpGRUJrTlJMNkRqLzNRVFVPdGVmUU9TZnVIUEJESjJJZElLd0hP?=
 =?utf-8?B?QVFMcFp6S3FRb0x1TWp0bjF2WDdSdjRpdjR2Y2RUVDFtek5VVXhaSUh1WE4x?=
 =?utf-8?B?UXJ4bFJUdkRnYWNtZGJJRGxrY1QvTHNOd2p2NHp1U2czVmxlV21ZV3h4K3Z5?=
 =?utf-8?B?aUhBYytTWHlTbWlpUk9HVXpxUE5YRjRvc0FvYzdENmRuYWFNM2NUSy9SK0Zv?=
 =?utf-8?B?cmVBTDhUcUhsUDdnVVhUOGFURENRZGQ0d0pyZGlWajl1TkhmYWVnL0ZDT3R5?=
 =?utf-8?B?cG50OEJaMFJraVBNVlE4WTB2WDZlWTg2cC94NDBmeG9kQ2FJdjdDZFJEVHB3?=
 =?utf-8?B?ZjRQeHBlK2JCbnRaeFEwL1ZKeHovazh5S3QveXVNZG5HZkVzOWFFMDZrUnpy?=
 =?utf-8?B?cUhOSXJ4K0NZKy9GMVdBTEtOUUFuYWkvbTRUUWdpZUVZNmlDUHdZSTZURG5h?=
 =?utf-8?B?RWNmNTJ0SFFPd0lJZW1mOHRPUk0yekoyZE83dHJBR2hFc2Z5cWhIcmFRZDVB?=
 =?utf-8?B?YjFjQ2ljVjFWODM3bVlJb1JoUmcrelJ3NmlmTmJNOXdlditNOU9NU3JXM01l?=
 =?utf-8?B?T0JmWGw0d1dCRVBqY2cxMEhxdUFnUWlRcHY4d3Aza2VNTlpnekZ2Qkp6aHNj?=
 =?utf-8?B?MlpCZFFQS3BOOE5sUGxTeXJIVVpZN3pNSS90dHNzMGVEb1E2VnNzd1ExdTdj?=
 =?utf-8?B?WjdpNjRWVTlLUlFnUVI1cXp2eFBaQllLUTF4SFRiK2JLbEFsMU94Qm9ZYS85?=
 =?utf-8?B?WkhDZnV4dDRNM3VBRzlPdlN6WE1RQThtMWFRS3FaUVJIbzBPL3VmekMvcnZH?=
 =?utf-8?B?TnY5YVR3MHpFaFJHdFgzRTgvOEgrYTRBVlUrWDkwcFM4eFBvV0ZySTA2ZmpR?=
 =?utf-8?B?cndHNUptZ3czWndvRXZpb2FmSDZ1NnNRZDhOOFk0dTFTTXJGd3JsanFOaEJp?=
 =?utf-8?B?bktlZWxDa2FJblBqcnlObHhZNGxoT0FBaFBmaGV2MEdKZVp1MXE1RE42THh3?=
 =?utf-8?Q?oxS4=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: 5db3a183-6ec0-40c8-cb03-08dd678dd43c
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2025 09:01:40.4739
 (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: 39447qdRZ+06l+U8RGTHM0ZS5+TQYsCCVcOB4z/iMJw08hPH5BDqioxq2R0KMUwwWsIRgJaov7e1wjzE95ztBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8452

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgTWFyY2gg
MjAsIDIwMjUgNDo0NyBQTQ0KPiBUbzogUGVubnksIFpoZW5nIDxwZW5ueS56aGVuZ0BhbWQuY29t
Pg0KPiBDYzogSHVhbmcsIFJheSA8UmF5Lkh1YW5nQGFtZC5jb20+OyBBbmRyZXcgQ29vcGVyDQo+
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPjsgQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVy
YXJkQHZhdGVzLnRlY2g+Ow0KPiBPcnplbCwgTWljaGFsIDxNaWNoYWwuT3J6ZWxAYW1kLmNvbT47
IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBSb2dlciBQYXUNCj4gTW9ubsOpIDxyb2dl
ci5wYXVAY2l0cml4LmNvbT47IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVs
Lm9yZz47IERhbmllbA0KPiBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbT47
IEFsZWphbmRybyBWYWxsZWpvDQo+IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+OyB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MSAwMy8x
OV0geGVuL3N5c2N0bDogd3JhcCBhcm91bmQNCj4gWEVOX1NZU0NUTF9yZWFkY29uc29sZQ0KPg0K
PiBPbiAyMC4wMy4yMDI1IDA5OjAyLCBQZW5ueSwgWmhlbmcgd3JvdGU6DQo+ID4+IC0tLS0tT3Jp
Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEFsZWphbmRybyBWYWxsZWpvIDxhbGVqYW5k
cm8udmFsbGVqb0BjbG91ZC5jb20+DQo+ID4+IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAxMywgMjAy
NSA4OjAzIFBNDQo+ID4+DQo+ID4+IE9rLCBzbyByZWFkY29uc29sZSBpcyBkb25lIGhlcmUuIEkg
c2VlIGhvdyBpZiB5b3UncmUgYWxzbyByZW1vdmluZw0KPiA+PiB0aGUgY29uc29sZSBoYW5kbGVy
IGZvciB0aGUgc3lzY3RsIHRoYXQncyBhIGJpdCB1bndpbGVkbHkgdG8gZG8gaW4gb25lIGdvLg0K
PiA+Pg0KPiA+PiBJIHRoaW5rIG15IGVhcmxpZXIgcmVtYXJrcyBzdGlsbCBob2xkIGluIHRlcm1z
IG9mIHJlbW92YWwgb2YgZWxzZSBicmFuY2hlcyBvZiBpZmRlZnMuDQo+ID4+DQo+ID4+IE9uIFdl
ZCBNYXIgMTIsIDIwMjUgYXQgNDowNiBBTSBHTVQsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+Pj4g
VGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgaXMgdG8gZGVhbCB3aXRoIFhFTl9TWVNDVExfcmVhZGNv
bnNvbGUNCj4gPj4+IHN1Yi1vcCwgYW5kIHNoYWxsIGJlIHdyYXBwZWQ6DQo+ID4+PiAtIHhzbV9y
ZWFkY29uc29sZQ0KPiA+Pj4gLSByZWFkX2NvbnNvbGVfcmluZw0KPiA+Pj4NCj4gPj4+IFNpZ25l
ZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0BhbWQuY29tPg0KPiA+Pj4gLS0tDQo+
ID4+PiAgeGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMgfCAgMiArKw0KPiA+Pj4gIHhlbi9pbmNs
dWRlL3hlbi9jb25zb2xlLmggIHwgIDggKysrKysrKysNCj4gPj4+ICB4ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaCAgICB8IDExICsrKysrKysrLS0tDQo+ID4+PiAgeGVuL2luY2x1ZGUveHNtL3hzbS5o
ICAgICAgfCAxMSArKysrKysrKy0tLQ0KPiA+Pj4gIHhlbi94c20vZHVtbXkuYyAgICAgICAgICAg
IHwgIDIgKy0NCj4gPj4+ICB4ZW4veHNtL2ZsYXNrL2hvb2tzLmMgICAgICB8ICA0ICsrLS0NCj4g
Pj4+ICA2IGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pDQo+
ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jIGIveGVu
L2RyaXZlcnMvY2hhci9jb25zb2xlLmMNCj4gPj4+IGluZGV4IDJmMDI4YzVkNDQuLjZlNGYzYzQ2
NTkgMTAwNjQ0DQo+ID4+PiAtLS0gYS94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYw0KPiA+Pj4g
KysrIGIveGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMNCj4gPj4+IEBAIC0zMzYsNiArMzM2LDcg
QEAgc3RhdGljIHZvaWQgY29ucmluZ19wdXRzKGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbikN
Cj4gPj4+ICAgICAgICAgIGNvbnJpbmdjID0gY29ucmluZ3AgLSBjb25yaW5nX3NpemU7ICB9DQo+
ID4+Pg0KPiA+Pj4gKyNpZmRlZiBDT05GSUdfU1lTQ1RMDQo+ID4+PiAgbG9uZyByZWFkX2NvbnNv
bGVfcmluZyhzdHJ1Y3QgeGVuX3N5c2N0bF9yZWFkY29uc29sZSAqb3ApICB7DQo+ID4+PiAgICAg
IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oY2hhcikgc3RyOyBAQCAtMzc4LDYgKzM3OSw3IEBAIGxv
bmcNCj4gPj4+IHJlYWRfY29uc29sZV9yaW5nKHN0cnVjdCB4ZW5fc3lzY3RsX3JlYWRjb25zb2xl
ICpvcCkNCj4gPj4+DQo+ID4+PiAgICAgIHJldHVybiAwOw0KPiA+Pj4gIH0NCj4gPj4+ICsjZW5k
aWYgLyogQ09ORklHX1NZU0NUTCAqLw0KPiA+Pj4NCj4gPj4+DQo+ID4+PiAgLyoNCj4gPj4+IGRp
ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vY29uc29sZS5oIGIveGVuL2luY2x1ZGUveGVuL2Nv
bnNvbGUuaA0KPiA+Pj4gaW5kZXggODNjYmM5ZmJkYS4uZTdkNTA2M2Q4MiAxMDA2NDQNCj4gPj4+
IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmgNCj4gPj4+ICsrKyBiL3hlbi9pbmNsdWRl
L3hlbi9jb25zb2xlLmgNCj4gPj4+IEBAIC03LDEyICs3LDIwIEBADQo+ID4+PiAgI2lmbmRlZiBf
X0NPTlNPTEVfSF9fDQo+ID4+PiAgI2RlZmluZSBfX0NPTlNPTEVfSF9fDQo+ID4+Pg0KPiA+Pj4g
KyNpbmNsdWRlIDx4ZW4vZXJybm8uaD4NCj4gPj4+ICAjaW5jbHVkZSA8eGVuL2ludHR5cGVzLmg+
DQo+ID4+PiAgI2luY2x1ZGUgPHhlbi9jdHlwZS5oPg0KPiA+Pj4gICNpbmNsdWRlIDxwdWJsaWMv
eGVuLmg+DQo+ID4+Pg0KPiA+Pj4gIHN0cnVjdCB4ZW5fc3lzY3RsX3JlYWRjb25zb2xlOw0KPiA+
Pg0KPiA+PiBUaGF0IGZvcndhcmQgZGVjbGFyYXRpb24gc2hvdWxkIHByb2JhYmx5IGJlIGluc2lk
ZSB0aGUgaWZkZWYNCj4gPj4NCj4gPj4+ICsjaWZkZWYgQ09ORklHX1NZU0NUTA0KPiA+Pj4gIGxv
bmcgcmVhZF9jb25zb2xlX3Jpbmcoc3RydWN0IHhlbl9zeXNjdGxfcmVhZGNvbnNvbGUgKm9wKTsN
Cj4gPj4+ICsjZWxzZQ0KPiA+Pj4gK3N0YXRpYyBpbmxpbmUgbG9uZyByZWFkX2NvbnNvbGVfcmlu
ZyhzdHJ1Y3QgeGVuX3N5c2N0bF9yZWFkY29uc29sZQ0KPiA+Pj4gKypvcCkgew0KPiA+Pj4gKyAg
ICByZXR1cm4gLUVPUE5PVFNVUFA7DQo+ID4+PiArfQ0KPiA+Pj4gKyNlbmRpZg0KPiA+Pg0KPiA+
PiBUaGlzIGlzIG9ubHkgY2FsbGVkIGZyb20gc3lzY3RsLmMsIHdoaWNoIHdpbGwgYmUgY29tcGls
ZWQgb3V0LiBXaHkgaXMNCj4gPj4gdGhlIGVsc2UgbmVlZGVkPw0KPiA+Pg0KPiA+DQo+ID4gQmVj
YXVzZSBJIHdyYXBwZWQgdGhlIHN5c2N0bC5jIGluIHRoZSBsYXN0IGNvbW1pdC4NCj4gPiBJZiBy
ZW1vdmluZyB0aGUgZWxzZSBjb25kaXRpb24gaGVyZSwgdGhlIGNvbXBpbGF0aW9uIHdpbGwgZmFp
bCBvbiB0aGlzIGNvbW1pdC4NCj4gPiBTbyBlaXRoZXIgSSBhZGQgI2lmZGVmIGludG8gcmVhZF9j
b25zb2xlX3JpbmcgZnVuY3Rpb24gYm9keSwgb3IgaW4gdGhlDQo+ID4gbGFzdCBjb21taXQsIEkg
ZHJhdyBiYWNrIGFsbCB0aGVzZSB1bm5lY2Vzc2FyeSBlbHNlIGNvbmRpdGlvbnMsIG9yDQo+ID4g
Y29tYmluZSBhbGwgY29tbWl0cyBpbnRvIG9uZSBBbnkgcHJlZmVyZW5jZT8gT3IgYW55IG90aGVy
IHN1Z2dlc3Rpb24/DQo+DQo+IE11bmdpbmcgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBjb21taXQg
bWF5IHlpZWxkIHVud2llbGRpbHkgYmlnIGEgcmVzdWx0LiBUcmFuc2llbnRseQ0KPiBhZGRpbmcg
I2lmZGVmIGluIHN5c2N0bC5jIHdvdWxkIHNlZW0gbGlrZSB0aGUgY2xlYW5lc3QgYXBwcm9hY2gg
dG8gbWUuIEluIHRoZSBmaW5hbA0KPiBjb21taXQgaXQnbGwgKGhvcGVmdWxseSkgYmUgb2J2aW91
cyBlbm91Z2ggdGhlbiB3aHkgYWxsIG9mIHRoZSAjaWZkZWYtcyBhcmUgZHJvcHBlZA0KPiBhZ2Fp
bi4NCj4NCg0KVW5kZXJzdG9vZCwgSSdsbCBhZGQgI2lmZGVmIGluIHN5c2N0bC5jIGFuZCByZW1v
dmUgdGhlbSBhbGwgaW4gdGhlIGxhc3QsIGFuZCBhbHNvIGFkZA0KZGVzY3JpcHRpb24gd2h5IHdl
IGRyb3AgdGhlbSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UNCg0KPiBKYW4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 09:02:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 09:02:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921499.1325325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvBnd-0001tT-6Z; Thu, 20 Mar 2025 09:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921499.1325325; Thu, 20 Mar 2025 09:02: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 1tvBnd-0001tM-2i; Thu, 20 Mar 2025 09:02:49 +0000
Received: by outflank-mailman (input) for mailman id 921499;
 Thu, 20 Mar 2025 09:02: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=fVbL=WH=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvBnc-0001tE-5W
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 09:02:48 +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 17b86bd9-056a-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 10:02:47 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-549b159c84cso656561e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 02:02: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: 17b86bd9-056a-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742461367; x=1743066167; 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=dqbPBVuH0zOv/UmIDKPK3LBDdErqFo0KqSUl/xl7oKI=;
        b=J+mwAdOakgeMiX20+cd2a722WIhzo/PZf9E93vYEour1g9AcE+DXMJlE81dzd06pIp
         ng06/q5HyctCx5l9Rztvh42lHVc7XOSJuPRD04xLexiIZ79mGbLHuDCcCb3W9EpOhM0b
         85zW4qN8p1lkB09ekty5ujTZLLnI/4ilgsi8yxsZPX0aGDm3DH7TEhcwbWMAIeS4cWlW
         /2raDCJkaJRjOgg/WIsqUJeAp22/zP5NYQKCSAVBQ2sPbwr5kEKWw7a2Q1cPs9pi3btt
         dxv1qynQlVVWezNY1Ck4NK/f4zwHNvSc4mcmOUgWyHmrOMLNScKnsUkebnIknWRZVian
         OBtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742461367; x=1743066167;
        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=dqbPBVuH0zOv/UmIDKPK3LBDdErqFo0KqSUl/xl7oKI=;
        b=Ltz9OZOJhb3BRPaxD8Orq1ae61DBDkax5tZ7NhmXwKbLqspiOiYCLKnihKE8ON+Fji
         B0XqXCy86FoqWaeJS78mzexcQbm/kp0UW4q+EBRHq+3Aj8LgRY1OFLJji8rtMKHgE/dS
         7VyFtiKypzsBgaYYlSMKIQs6knEwWEemtIToHn4C1xohkhOlh+k1b+Feforab4lKvdwk
         8tVy1cQp0ripeC3+edIfEVGGW+RPXICVov9WM/55XYFY2krsxYGUfJmh37reSjDP5/9W
         m5P3PETzWlBdIZPqECLR51hXHfQNesbiH+vCx15pTZIOprL4ADZ8PjuHN5XkF1acnQXE
         0DIA==
X-Forwarded-Encrypted: i=1; AJvYcCWvJqVMWj7tHsCWA+wdVZyOpgn4V+rv79qzqLpd6erGFW93AqvfqmHcwOkBCmMZD2YMKsKVds+64MQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YylviQO09Hwwf0wPo2OnDeeRoqEiqDCu+Anmo8mkkx7ghv6r6DQ
	b2RQgVioHuColzxFVuhJderhPQLq1eFrsZMEOMA6ihaHryeewucpOeyTSZCQZhGP5JPzPltp9Si
	ZvdrG5RlkNQxbnoUVf1mDMVF8NV8=
X-Gm-Gg: ASbGncu5yzd4rzPOa6JcSSSr5YyPxY+MEkPKxkU7MveHYja+GJvbDKkbYWDZPYZmbzk
	k6J8/YX+1i//LwdMEUSvr2VugP+QnDCxRsta8EBkwQEQEPgUAdAHw9RoUipQDb2rWrrgO0V/pvB
	tQkKmb8rijHqfiGzxF8A6lnXJj
X-Google-Smtp-Source: AGHT+IEdkvVMO3d8oSokcw6vcTnS1+eKn/FGUUS7sdpMN15VQPvfCDznEyEfYeIaMVR57e57kj9PIf5Ifu+gE7yxjIE=
X-Received: by 2002:a05:6512:23a1:b0:545:aa5:d44f with SMTP id
 2adb3069b0e04-54acb1d3460mr2430604e87.30.1742461366309; Thu, 20 Mar 2025
 02:02:46 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <82d394363821b74fb1617e81e6e726a7a25b4028.1741164138.git.xakep.amatop@gmail.com>
 <9a958cb6-d9f3-4bc3-9305-db954902f897@suse.com> <CAGeoDV8zK89jfq-2uOayUVEAo5uEdGsXqTnyz-9h7+CjBYAtgQ@mail.gmail.com>
 <a4662e3d-8206-442b-a1bd-75b3fa8dee9b@suse.com>
In-Reply-To: <a4662e3d-8206-442b-a1bd-75b3fa8dee9b@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Thu, 20 Mar 2025 11:02:34 +0200
X-Gm-Features: AQ5f1Jp5eD7zBbd-0zus9bGUu7cXhOHEACxk61s6XmorJgrJtk2PQYHNdUJalMI
Message-ID: <CAGeoDV8cVNb4Qmq9y8wJesS3UentyJEFhMgR_ZcVRmggBP77Og@mail.gmail.com>
Subject: Re: [PATCH 02/16] xen/x86: Move freeze/thaw_domains into common files
To: Jan Beulich <jbeulich@suse.com>
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>, 
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>, Mykyta Poturai <mykyta_poturai@epam.com>, 
	Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 19, 2025 at 2:47=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 19.03.2025 13:03, Mykola Kvach wrote:
> > On Wed, Mar 5, 2025 at 6:48=E2=80=AFPM Jan Beulich <jbeulich@suse.com> =
wrote:
> >>
> >> On 05.03.2025 10:11, Mykola Kvach wrote:
> >>> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> >>>
> >>> These functions will be reused by suspend/resume support for ARM.
> >>
> >> And until then they are going to violate the Misra rule requiring ther=
e
> >> to not be unreachable code.
> >>
> >>> --- a/xen/common/domain.c
> >>> +++ b/xen/common/domain.c
> >>> @@ -2259,6 +2259,36 @@ int continue_hypercall_on_cpu(
> >>>      return 0;
> >>>  }
> >>>
> >>> +
> >>> +void freeze_domains(void)
> >>
> >> Nit: No double blank lines please.
> >
> > Thanks for pointing that out! I'll fix it in the next version of the
> > patch series.
> >
> >>
> >>> +{
> >>> +    struct domain *d;
> >>> +
> >>> +    rcu_read_lock(&domlist_read_lock);
> >>> +    /*
> >>> +     * Note that we iterate in order of domain-id. Hence we will pau=
se dom0
> >>> +     * first which is required for correctness (as only dom0 can add=
 domains to
> >>> +     * the domain list). Otherwise we could miss concurrently-create=
d domains.
> >>> +     */
> >>> +    for_each_domain ( d )
> >>> +        domain_pause(d);
> >>> +    rcu_read_unlock(&domlist_read_lock);
> >>> +
> >>> +    scheduler_disable();
> >>
> >> When made generally available I'm unsure having this and ...
> >>
> >>> +}
> >>> +
> >>> +void thaw_domains(void)
> >>> +{
> >>> +    struct domain *d;
> >>> +
> >>> +    scheduler_enable();
> >>
> >> ... this here is a good idea. Both scheduler operations aren't related
> >> to what the function names say is being done here.
> >
> > I have just moved these functions from x86-specific headers to a common=
 one,
> > but they are still used only for suspend/resume purposes.
> > It's not a problem for me to adjust the names slightly in the next
> > version of the
> > patch series.
>
> I wasn't after a rename really; my suggestion was to leave the scheduler
> calls at the original call sites, and remove them from here.

got it, thank you

>
> Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 09:27:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 09:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921519.1325335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvCBM-0006dz-66; Thu, 20 Mar 2025 09:27:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921519.1325335; Thu, 20 Mar 2025 09:27: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 1tvCBM-0006ds-22; Thu, 20 Mar 2025 09:27:20 +0000
Received: by outflank-mailman (input) for mailman id 921519;
 Thu, 20 Mar 2025 09:27: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvCBK-0006dm-JM
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 09:27:18 +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 83579041-056d-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 10:27:16 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso249639f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 02:27: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
 ffacd0b85a97d-395cb318af0sm23333663f8f.73.2025.03.20.02.27.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 02:27: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: 83579041-056d-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742462836; x=1743067636; 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=X8AMsHBAclsHj9q1bohgg1i5ETIgom7sk+KCnDHZOS4=;
        b=aD4Poqg0cmitycuQ+eMMU0r/F7ZCA62jrmQe6v4o7qfnOknC3HUjZEwhQURI6BG+0V
         S5tjJE/lfxPTu2FM6xeP6Wly8DF+DRSYGJGd1KNy1WFtjwMSt8byE3nhH8tr+mEgJutk
         xGzGCaj9KFBtNDt2nhK0OxO6/naxqc9EH+aqIekJthc2Rleghx7MguAMObv3M26F2cwD
         5IP6yJrYHXq22wN23IU/Xe9VQFLSZKzaTQD3UEMfTjtEFHG9AnyzuxUJ31tbtQpUu5/x
         PG/RS5qUf5/8y7rOPqx6QIrgezeNd8//TuKL5q5sM1AAqdnt/XM6vm9wxSGuXtdPozfs
         Ni2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742462836; x=1743067636;
        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=X8AMsHBAclsHj9q1bohgg1i5ETIgom7sk+KCnDHZOS4=;
        b=hDYAXMpS6iH006hrhAedEpHi1Av4CMkl0MMRzeR6i+uIGMSFm4WNxTPpmhBViZsoGH
         TJ80mBg6JInmlP8ZeIb8fsWUrFx6n5SAT88jiEzcqFlaHEI0H4pRKkks68N8JHpDdJKq
         jEWAx8DbU5IBsrK9J3S5b/wmrXAPhOVd3GxPDXwwBsCWeZlcdVGt5RH5rqAQ3X49yia6
         l38miCvJdJw2NpqCs57i2HGxKiEGCupZNdoWelpbWHKwJGzlP/ifWyJqeIvw3Tm+UtYD
         5Zp+WP1TicwV53CwtiamiIDFK2UM27w5Ma0MQDUlEdWoTnQJ5I6Vmkq5lHAXfb5kBux/
         WdmQ==
X-Gm-Message-State: AOJu0Yx6VeRN6chEc30J8ozI55cLKuDJON7FjHyAQdWTcTbKbY0SBXpP
	oorjJ59GrEPn2SUlg5M97rxaQoUcTZpF1qbTV8hVkaG1dpcuxNl6Tu0CLtRwNo0nu8lBOy9Orlc
	=
X-Gm-Gg: ASbGncsYxkPe4qsenCRmyajWCPOBBNereUyYnCJaHNMjHDEYLsP2SmjL17C5HBgzIgz
	fckotabcUjidIvBlApa6zxBfkMnuUFwO16fCGbwo24wpaaB1UPUPQxe4EMrqPftNqwTaTlOVdy9
	yk57kIoTkm9f+u4+Zmqyc0ScYyERjJBrPJtarFEaYP7O3t0QfKsebgmKDYcPKqy6ulnHOxgHr4N
	cyfKHh+KsiWou3WIYVlbVBhkkub7CsSCLqmbCAvOkW+tmcnFCkr7Ym4UefhMfo4+Bm7MkF3+zRs
	ixSTnG46XjupPt2rco6MIE2+KRI3r68QazyCiV2Xsx1gDe5RsUgzpRf4xVoje+FEkconRvYHIko
	+GPxvBQHA541GpTgQeOohX8Enn30r8w==
X-Google-Smtp-Source: AGHT+IEF24/R7z78JjQyynOehBHw6S0m11IKGprZw+zmO/LPLaehesPAFvC9WMOGUyGL3tpNwEE5mA==
X-Received: by 2002:a05:6000:1549:b0:391:31f2:b99e with SMTP id ffacd0b85a97d-399739b4089mr4965937f8f.2.1742462835667;
        Thu, 20 Mar 2025 02:27:15 -0700 (PDT)
Message-ID: <577ddc98-fdbb-48af-9c7e-1a411383516b@suse.com>
Date: Thu, 20 Mar 2025 10:27:14 +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>,
 Jason Andryuk <jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/2] x86/PVH: initial space allocation
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Going on top of "x86/boot: Simplify the expression for extra allocation
space", first some tidying and then a bug fix.

1: don't open-code elf_round_up()
2: account for module command line length

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 09:28:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 09:28:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921527.1325345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvCC5-00077T-Dj; Thu, 20 Mar 2025 09:28:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921527.1325345; Thu, 20 Mar 2025 09:28: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 1tvCC5-00077M-A6; Thu, 20 Mar 2025 09:28:05 +0000
Received: by outflank-mailman (input) for mailman id 921527;
 Thu, 20 Mar 2025 09:28: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvCC4-0006dm-11
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 09:28:04 +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 9ed253d4-056d-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 10:28:02 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3965c995151so264207f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 02:28: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-3997d508c1esm438589f8f.93.2025.03.20.02.28.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 02:28: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: 9ed253d4-056d-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742462882; x=1743067682; 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=TDEhA7DZ9wsCfgW9f+m0HXZi4nwIFRLtsU3Cna1jSkc=;
        b=HOSKXGtVRVYuDMhAvnPVTYBmsLzltCt7KdvYGzgWhjAMOKnCI1+ipgIGo7Y12qORJm
         ShAdGgB5eopJeiP25+nSCCk7t/nKZmFp6GuA9gG5mqcGGxwOHbdVRHvSQNpKjpyYOKUT
         87qCUxTlVTpJL0gQNRqCqDKw4BPEzVOXOUYRFd1b+QrGptQurUyOX+5PObvwa9WKiEzA
         sjClxZBODePgBUlRd5y+lPeWvaIlFjzDCkMzsV42sptecW2nnHgkQxEJacSMMP7T5ADa
         gUwIqOzeAMWP5DhPHSDo87qNce3O2VwWCERHOIr8kMW0GTzoSi6xEG8v9D+ABDuGinvG
         Y7GA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742462882; x=1743067682;
        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=TDEhA7DZ9wsCfgW9f+m0HXZi4nwIFRLtsU3Cna1jSkc=;
        b=mrm+4ht1uUwzF3uT8jJeXlU4kn1pVLdnTxdKS6iq9RiyVi78LuOcmgRSyN0A6qTsN9
         J1kmLS9yEvuOC7xvrtxQM5AivYNDl0p+PcidBmftHPleGEojqwQbGg4QMUxIlGShCy0A
         qq28k3Z5MK4khsL+VR/A2uWslseDHYWmZ3WvU7IlrNKGqgx6/UujB/XUq/P0EsfwyUsj
         NMi1n2LuJRKbMwSrrsAJU3zSCe/0WI3cxkm8Djx1gKoTKsYS4VVKk2iwtmVVEWds1I0H
         pPXx6yp2blft45plKVVizKpfQxO9UiE5SbgWuqxkt5jEvOtLnqfvFWH0lZlBWbiKyGZC
         xn/g==
X-Gm-Message-State: AOJu0Yyv8C/YSoywLKAaA5jDDKXaxfK+ElHMehz3cTJBboc4xBY0ttdv
	mnzxSs8gObUN03ULwdrV8YlyOTpnGDxcOCLOjHx6IQPObxvDnUocCC0Ydl17oXuAkibFT/57Inc
	=
X-Gm-Gg: ASbGncsiHw5A/crwwp0ZSS/YlVhZlzqvvIxfaup3TXPdwXvNxZB2//0APA186dp9o9p
	TUfZmOo/szFhKxVjLOn9XYA5/O/UiDDpEgZ2de8G5cJFCgqjvCQtJa14R6TQvX5GYjm9CgfrbPa
	JOxtM5w9XdyCCk9EspImMOMK6AIkV1j/STTBcz15nuHpGwpyTIgYUla7zkuqmz0lE3VWP62rlSs
	FEZnkfgr9N/hPeSAJrx9P3jzly04VOBorJubEH4jwjWZFS34rYXukpqdDEHkS7k6cFvIQ/owM7R
	4CsmfjDL1fTMIWaw9BHBHLrFLHMmJXaPHPNYXWJ+ux1FZ5dF3oxPHEcDZLC42lytdYIE3Hj0tvm
	AZdKVDMqoiw3WLXpAYoN28Fa8FnYDPQ==
X-Google-Smtp-Source: AGHT+IHpOo2QrLKtozaa1FuNH54R8XMCO3pCkUQe9y8ycYm3yQqAk3wW+/dObFamET+6nzxzTfFrMA==
X-Received: by 2002:a5d:47c8:0:b0:38a:88ac:f115 with SMTP id ffacd0b85a97d-39973af8e00mr4274468f8f.34.1742462881712;
        Thu, 20 Mar 2025 02:28:01 -0700 (PDT)
Message-ID: <b1b94660-da2f-48ad-a1b6-10cb52e559f6@suse.com>
Date: Thu, 20 Mar 2025 10:28:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 1/2] x86/PVH: don't open-code elf_round_up()
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>,
 Jason Andryuk <jandryuk@gmail.com>
References: <577ddc98-fdbb-48af-9c7e-1a411383516b@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: <577ddc98-fdbb-48af-9c7e-1a411383516b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I was wondering whether in elf_round_up() itself we might better use
ROUNDUP().
---
v2: New.

--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -718,8 +718,7 @@ static int __init pvh_load_kernel(
         extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
 
     if ( cmdline )
-        extra_space += ROUNDUP(strlen(cmdline) + 1,
-                               elf_64bit(&elf) ? 8 : 4);
+        extra_space += elf_round_up(&elf, strlen(cmdline) + 1);
 
     last_addr = find_memory(d, &elf, extra_space);
     if ( last_addr == INVALID_PADDR )
@@ -740,7 +739,7 @@ static int __init pvh_load_kernel(
 
         mod.paddr = last_addr;
         mod.size = initrd_len;
-        last_addr += ROUNDUP(initrd_len, elf_64bit(&elf) ? 8 : 4);
+        last_addr += elf_round_up(&elf, initrd_len);
         if ( initrd->cmdline_pa )
         {
             char *str = __va(initrd->cmdline_pa);
@@ -774,7 +773,7 @@ static int __init pvh_load_kernel(
          * Round up to 32/64 bits (depending on the guest kernel bitness) so
          * the modlist/start_info is aligned.
          */
-        last_addr += ROUNDUP(strlen(cmdline) + 1, elf_64bit(&elf) ? 8 : 4);
+        last_addr += elf_round_up(&elf, strlen(cmdline) + 1);
     }
     if ( initrd != NULL )
     {



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 09:28:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 09:28:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921534.1325356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvCCP-0007ZW-LY; Thu, 20 Mar 2025 09:28:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921534.1325356; Thu, 20 Mar 2025 09:28: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 1tvCCP-0007ZP-HJ; Thu, 20 Mar 2025 09:28:25 +0000
Received: by outflank-mailman (input) for mailman id 921534;
 Thu, 20 Mar 2025 09:28: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvCCO-0006dm-FW
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 09:28: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 ab089b54-056d-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 10:28:23 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso3242605e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 02:28: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
 5b1f17b1804b1-43d4aafde63sm13470285e9.6.2025.03.20.02.28.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 02:28: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: ab089b54-056d-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742462902; x=1743067702; 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=LR4q00Qu7pVr1t1WkpZ6J3edBbbtA7hEJhI3V8nsuD0=;
        b=T05opnJ/viRpH7ifR8Oe0dcyhlZLGf4nj9bTeSyBSb9I+LxjEE5+WbVZmdIL1fPr8S
         mZlslS3wM/w9CT/49moL/vzJUvNfkipAjGjxoqGw1W3RcxlLLeE9xh2tktPdbpRGDjfc
         OOI46il8XYPlZaFtdkneTToajF3JwlZqwbAyuLec2pfoTDxaTAF2oI+Ubeg7Z1mL9aC1
         nOy94v1ikwV3L6bKrSSd8I9yJn4Vw63UlCkGZMivgG2x48c+bPdOFxKlVAhpy4xQxr3q
         yOjVK+mcx+PWDFloYErVjR0nw3xp0cH93bojYjiWaNzewaANcaMAMhO333V44PXeBbLI
         5d2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742462902; x=1743067702;
        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=LR4q00Qu7pVr1t1WkpZ6J3edBbbtA7hEJhI3V8nsuD0=;
        b=o/8j4+8ca+uEOK0NB3StWcZ/OKyQbeTBTakqZ4Tv7vQQAXXKfYIlwQbYI/5QFubDdr
         h+fPrx3jnYKeFw6CaUQpWf69J2HLDeA5xoe3cA84ydyCuvZO38Bz9oHg+iM8ZAYH+Qhu
         C2F3ysHDv0zh4B9xHmn2RW8ZoCjaL/7vo6o6bib4w2LY8BvKnQwBLB4cTJbXiCy1LyAR
         eCBrsuG97+szlaTXqSpvGqrbpAekglP3O6S2hIhs0P0l3+DLbiuEVU53an1AZJw33fPa
         VkLpOr9qhHRfFicAR25a6zyEwvqsNL5uqyhv/eUuEcM8Romw8UgNvk8XdxYdYM+NkxBJ
         Ovrg==
X-Gm-Message-State: AOJu0YzdIDbKGR06KU1ozKQkuGjJF5l9blCa2AcB33u4emb+hu5LHc+q
	FBSrIx679usCNRngZb38Zul7tUreRkH1yyQ9ji492hWrRlQqY39Mf8mm2KJacpOQbddSZJ0BCKc
	=
X-Gm-Gg: ASbGncs/4sNrCZ8xDxcLrp+68E2qts8N86mMqAguSvzt2vN5L2bPKWVRrz6ttRDVSMj
	XNUllqDztBjawsy4puaFTxf/PKAM22gPnc3RXW8oM+UV8x6UkKsr9vTTfJymcNy8Ermat8vCZiK
	0MkTLsR8Jnzau6HKTU38XLYmlz5odyiOJWBNPXMYSLC8238pKVVGU70GEizg9d9jqNVapPKz9Ig
	Peoa4CYYbwLeoBCktuRC1y3qw7rAAXkDRcNZKh7wyxVMOIeiTqsJMMsrWHUa/Gv0CvD9OQkVbdD
	meUhVazZJtz3gKwM/8RVUeQVN3gI3pHtdCuO/tNyQi9rc6kyse3Fxsrt5aQG7YjjVjzYYtk3lsV
	ryenNUNrs/7BSdzTBA2dzBD8boPqTy8uTvQM824kX
X-Google-Smtp-Source: AGHT+IHfGhO9NUAVrd6ex6WE5OU5jqSxXmjhTnLHT1vgjSDyM3MJ3l1SrYia3+omJmWZ8fPaEEC8mw==
X-Received: by 2002:a05:600c:3659:b0:43c:ec72:3daf with SMTP id 5b1f17b1804b1-43d491bf814mr17909295e9.14.1742462902110;
        Thu, 20 Mar 2025 02:28:22 -0700 (PDT)
Message-ID: <9bdc10ba-8572-46b3-a39e-e011e97d1e85@suse.com>
Date: Thu, 20 Mar 2025 10:28:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 2/2] x86/PVH: account for module command line length
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>,
 Jason Andryuk <jandryuk@gmail.com>
References: <577ddc98-fdbb-48af-9c7e-1a411383516b@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: <577ddc98-fdbb-48af-9c7e-1a411383516b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

As per observation in practice, initrd->cmdline_pa is not normally zero.
Hence so far we always appended at least one byte. That alone may
already render insufficient the "allocation" made by find_memory().
Things would be worse when there's actually a (perhaps long) command
line.

Skip setup when the command line is empty. Amend the "allocation" size
by padding and actual size of module command line. Along these lines
also skip initrd setup when the initrd is zero size.

Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Use elf_round_up(). Introduce initrd_cmdline local. Re-base.

--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -652,9 +652,10 @@ static int __init pvh_load_kernel(
     unsigned long image_len = image->size;
     unsigned long initrd_len = initrd ? initrd->size : 0;
     const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
+    const char *initrd_cmdline = NULL;
     struct elf_binary elf;
     struct elf_dom_parms parms;
-    size_t extra_space;
+    size_t extra_space = 0;
     paddr_t last_addr;
     struct hvm_start_info start_info = { 0 };
     struct hvm_modlist_entry mod = { 0 };
@@ -712,10 +713,23 @@ static int __init pvh_load_kernel(
      * split into smaller allocations, done as a single region in order to
      * simplify it.
      */
-    extra_space = sizeof(start_info);
+    if ( initrd_len )
+    {
+        extra_space = elf_round_up(&elf, initrd_len);
+
+        if ( initrd->cmdline_pa )
+        {
+            initrd_cmdline = __va(initrd->cmdline_pa);
+            if ( !*initrd_cmdline )
+                initrd_cmdline = NULL;
+        }
+        if ( initrd_cmdline )
+            extra_space += strlen(initrd_cmdline) + 1;
+
+        extra_space = ROUNDUP(extra_space, PAGE_SIZE) + sizeof(mod);
+    }
 
-    if ( initrd )
-        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
+    extra_space += sizeof(start_info);
 
     if ( cmdline )
         extra_space += elf_round_up(&elf, strlen(cmdline) + 1);
@@ -727,7 +741,7 @@ static int __init pvh_load_kernel(
         return -ENOMEM;
     }
 
-    if ( initrd != NULL )
+    if ( initrd_len )
     {
         rc = hvm_copy_to_guest_phys(last_addr, __va(initrd->start),
                                     initrd_len, v);
@@ -740,12 +754,11 @@ static int __init pvh_load_kernel(
         mod.paddr = last_addr;
         mod.size = initrd_len;
         last_addr += elf_round_up(&elf, initrd_len);
-        if ( initrd->cmdline_pa )
+        if ( initrd_cmdline )
         {
-            char *str = __va(initrd->cmdline_pa);
-            size_t len = strlen(str) + 1;
+            size_t len = strlen(initrd_cmdline) + 1;
 
-            rc = hvm_copy_to_guest_phys(last_addr, str, len, v);
+            rc = hvm_copy_to_guest_phys(last_addr, initrd_cmdline, len, v);
             if ( rc )
             {
                 printk("Unable to copy module command line\n");
@@ -775,7 +788,7 @@ static int __init pvh_load_kernel(
          */
         last_addr += elf_round_up(&elf, strlen(cmdline) + 1);
     }
-    if ( initrd != NULL )
+    if ( initrd_len )
     {
         rc = hvm_copy_to_guest_phys(last_addr, &mod, sizeof(mod), v);
         if ( rc )



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 09:40:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 09:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921551.1325365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvCNf-0002Bp-LQ; Thu, 20 Mar 2025 09:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921551.1325365; Thu, 20 Mar 2025 09:40: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 1tvCNf-0002BD-Hm; Thu, 20 Mar 2025 09:40:03 +0000
Received: by outflank-mailman (input) for mailman id 921551;
 Thu, 20 Mar 2025 09:40: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=tHGG=WH=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1tvCNd-0001qY-LZ
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 09:40:01 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f403:260c::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4aaf16fc-056f-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 10:40:00 +0100 (CET)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 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.8534.35; Thu, 20 Mar
 2025 09:39:56 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.8534.031; Thu, 20 Mar 2025
 09:39: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: 4aaf16fc-056f-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=f3dWIeI9bU0wqDQFHQm7q9gG5XYFO3UCRuYvqSMXfY2/CM5Zu15SxOLcE88umFJ3CXtxwjKT+8NBEKJtHKkqkGQn8KkqDRYKJzepu7zHoVVCKfvJlOq3HEX/HMWdD3KsB4VPCDyMMnqJlhPPp/F/Khl52ND/SV61LmCOAV7Gwhmkb1NAQ76m79n5K3oKTVq9+jV7xxCbXXfFDC3uwTVfMSBFOuMWRtKN6dMCZ1w0JSKdYQkXBkgDog5DUiAYzbj3qntmIWbEwQiKHHF9NMHrvcUTGiOnQ7fRxjIg6Z3HFqlGNVofwA36+sebdC5vD7M1s03M4+PYb51nWmEz8OTEKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KsMPvtpM3ETFU/HIoo6pamiLwx+41JgJET6xVqOUrVE=;
 b=y6sE5LX7DuOmRn+can99rAf6Slq0lJL8HreH8jizArwVm20/Bt8vu3t+0fOekgi3sJFzOL7QutSBMjiPTAi1M0cnoSGR8qKjEtA+Kg6fzg/3Xzo/0Dpzv8rsbkVIJ33ypHJh25tMle9xFpAyp9kV/yL9NxWKDWJ/VwFZidpW6Yb9SYd10OZDwRxm/nEETK/vCqKycjePkusEHA/qhDvqDuX3fvYSRZiDrHdzB4TaLWlakV/cmdjJVkfxJoT+tRonJGwRGjCeEYpZXbvHgB55Gxiu67Kw7j5d9JicyZJF2h0VYo3Nj0fnKd73LGcyULrqxMFqWH/IIF/pRHtOFW472Q==
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=KsMPvtpM3ETFU/HIoo6pamiLwx+41JgJET6xVqOUrVE=;
 b=G86GW6BoNW21pAvGpWoZeCCM17g72+D59jfWZiba/t/xoPgevLvG2MRCDcmhLBmQMchFoW60Njeqr0m3DtLouQlKf5UdYGZdTxknPtF4Fk+0tazs2jsUqPrTVuHXWFQS2U+7B8GCGNApdFE36tFFvnXYHyEhw/Tngr3K2bJt/h60jpJls8FQfN/UDUBmjrq6ywZUGLcQlDFwo0PzOWwfhjd+MII2XMEM341lU99pv+NhB95ekVek7mcXEEtX9ua8PUKcXE9TX/mClqfLzTzxk/0kRCUmru6r4o2PH7yKXhOO5ow9C1CNKEhXa7Sdaw30Qwl7ovCbb8LqudTdmY3RqQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <93e98ebb-4679-4c34-a5af-f105e89c7304@epam.com>
Date: Thu, 20 Mar 2025 11:39:54 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] x86: make Viridian support optional
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
 <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA1P291CA0002.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::26) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|GV2PR03MB9521:EE_
X-MS-Office365-Filtering-Correlation-Id: e6945761-0d4f-4c71-2adc-08dd67932c93
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?c0dtb2o3dkNKOVlYSC9IRnNaRHIrakFmUlBBV3MyNDY2NG9oRW0yM05Cbms4?=
 =?utf-8?B?QzhPSGFoTFJqMW1JL2RQbTduUmtmNyttRnQyc3JweERYa3grdGFPaWkwb1RX?=
 =?utf-8?B?RzI4TkJoaWNCZU5UbXRXS2FUVDJnd2R6aWpXUFlRLzZRcUZTbzk5UzFLckFz?=
 =?utf-8?B?WUpNN3dDVFMvK1E3VmtqQU9IMU9FSjJyTHQza05CcUNGbWFudmZnUUtyc2JO?=
 =?utf-8?B?NFNydkowbE9hSlZyZWRNNWlLWlNSbjRNSklPT2V3ZHU3elQ3TndzV3dFcW9V?=
 =?utf-8?B?Y21IR1c0WmNlcUloc1RxN2ZCZEVLNVZadm5DdzJOVDJqMkR5T1YybTlLUmhj?=
 =?utf-8?B?dWFuTzZOR1lBZjVINzM0cWpmOUNqbzVlZGY1K3dQcmxhb2pHZlBkWWlkSVVk?=
 =?utf-8?B?ald4Tmp6OHhUV2RVS0NzWTN4UlB3Ymo4WVl2TzhyMnZMeGJhTTRhM2xUS0Ux?=
 =?utf-8?B?NlJFd29Fa21NRWd6VS8yZGtqQUt4OTVtbEg4VE05TEpqaWtNK1VRNVRNekcw?=
 =?utf-8?B?cEdMRGhTMU4zN1Z3WTB4bHNkQ053bzRtVTBMSldkV0lVVTIyVDk0c2p3U3kx?=
 =?utf-8?B?azFPQkoxMEQ4eW5seGg5M1pjbnpDODN4K2UrdUd1OHpQVnhZT3VNVisvdFlL?=
 =?utf-8?B?V3RWSWN5R1J6V1dLWWc1VlRWbk44bWdVbFpHMERXcDJDZEZBeU10Q0hxY2hu?=
 =?utf-8?B?NXVGaUJQMmg3UzZOM2FRWVFRNzJPZGtzY3Jpc3ExWHNtTmlVRzN5cmVvMHV2?=
 =?utf-8?B?VCtPNVRrQTFVbHVVeTQ5TUJRWTZVZWFXNGJkaFU1NFJFRCsrbDV6SHpBQmEz?=
 =?utf-8?B?NG1kd3lpYUlTOXNjMUluZVJKcnVYM0plN2xHMWh0ZksxUFRwM3lrL1dVNGN5?=
 =?utf-8?B?YlJqZWZqUHpkM203WU5DbTA3bkR2V0diN3pqbVdwME00RC9QUWtFcVZEM1VM?=
 =?utf-8?B?MTFBYWZvbE9DMUlHdjdXMjZEUXQwMFNZOXRkS2wrbHJyamRaSFQyajFtdnNU?=
 =?utf-8?B?SXI1MjFQWW16bzVOS3B1aDZubFptQVhuaEo0dDg2dGxCQU15bFZ3YU1UUHE3?=
 =?utf-8?B?MHRJU2FZWFdNYy8rRVhweXhDTUV0NjNQUkwyQjQrRU5ycjNwSHBOUXM4ZXZs?=
 =?utf-8?B?aTdWVVJqVHhsZUZ3aFZvbkxiR2ZnQ1IvTXU5TjRudUptbVJpSDFIMVZaRjBw?=
 =?utf-8?B?cFhJdUJSdGFQdTZMcE1qYWhMUU5FUXE5WkVnWUJxcEZ1a1BmTkxEaHVMeE5k?=
 =?utf-8?B?YTYwOHdkRHgrWmhCZzRBdm5xdEsvekgxTThPa1pzQ3lJamZTWi9Jb1I0M0Zu?=
 =?utf-8?B?aTA0UzZ2Q0NCRklnV3NDbnJWY29JdkhRNlBBK3B2OG1xV1BKMWNzU3JvcDFi?=
 =?utf-8?B?N0hpZnE4cnVIVFY4cWJBRE5JUFFQdS9rY0JaNngwVjVpSW5td0RGb05iRSt5?=
 =?utf-8?B?K2pzaHo5N1Vsb29pVDhab3ZXKzA1KzYza0VjeVBOU0R2V1ZHVXdGakplVzFI?=
 =?utf-8?B?Z0hWVlB6VzNvSXNoRWZySEtMUUlKV09rcWVkV1hZeFMvdDRCWjQxcUJ5c0Vq?=
 =?utf-8?B?NDdJS055L1UzOVc5YkRqcmlkQUpGaUkyTUFCY08waEZIUEdJYXFERGg3djBL?=
 =?utf-8?B?bTJlZ0k4UzlmZWE2eURqakhOVjZ3VDM0NW5GZ1JDdUNXR3E0a0tER0w5Q3BW?=
 =?utf-8?B?bU1ORzlMaGhlWUNHeXc2Y21xc2tuL096bzR2N0E2VGRkQzZua0RxU0dRNlg2?=
 =?utf-8?B?SzRqWVRZeE1BOXkvN2ZKeTlMNERBZ1EvVUdyd0V5YWtNTWo5Wm9JUmRTNnVx?=
 =?utf-8?B?QU9sZURLMlJWTktnZkhNU3F2MlpTRThXTFRDNzkrcllHelVjL1F1ZGhEaHN6?=
 =?utf-8?Q?hdlwLanc4ZKNN?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.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?c3daN2Q3TUlrMkxrdzBLYnVQZ29OQUJpdHZRcGFEZ3NaY0dSWkVPSnd0VFBX?=
 =?utf-8?B?V1BZOUNjL1c2VEpWZzJvWHgvdkViQjJCclpBZFVQZ1JsYjlCM3UyRFNFZFoy?=
 =?utf-8?B?bHdEdFJLdnoreG1rZEdTRkI3Um9XVTNnNnp5QkpJZ0lvTHAvMG9MaEd4R0ph?=
 =?utf-8?B?SXZFYVg3WnN1blVRd3VTOEJ1d1g4TmVySGNweXQ5bGN0NkVjZ1hiVEtQMS9H?=
 =?utf-8?B?cXVnMXhIS3NtK1dJZ2dUUG1MY2E3Z2NrRmdqT1dKcW9FWDNJZmhYcVJpTWNR?=
 =?utf-8?B?UlhjNHRXODZRak9nOVpXZjFuOThHTUlJNHZJdklSb21CTE5GZjVRWlc0QUJE?=
 =?utf-8?B?cm92akhIUllTcFYrZ3hrNlZrek9EUlpLcHBldTlVNmJPejcvM3d3UmxKd2xy?=
 =?utf-8?B?dmtiTkZ0dzhJcjRiWjV0dlVId3AvUHI1dExwd3FoK3puOWllOFpHQmRtZnRi?=
 =?utf-8?B?VkJJZENnVUROQjdQM1JJZ05lNFg4cjB6ek0rNEhGNjhuZ1BuQjlDTjJJOVln?=
 =?utf-8?B?R0xkdDFuWW5UTkVhMk1qQkpMbFFIaXlQRU84Z0MveExRZ0pCYkRsQUJpNnU4?=
 =?utf-8?B?MlBjVTJjN3o1S3pva2pqUzY1ajU2SWRBN2p6MHlZOTRUdlZnSm15T3YxOHRi?=
 =?utf-8?B?T1MweWdJWXFVbmViL3pQZ2Z0RklVYmFIREZFNldSc0ZtM3Ivd2lmaHpnUHFk?=
 =?utf-8?B?Ykxac0F3Tlh3aUFDbzhTS0dKQjlXbndyVVpqZVl6ZVNTdGZISXd0ZHJHTENt?=
 =?utf-8?B?TzU1OFB6SHJnY0dFNmxiWVdUSkFTVmhHL2NNbHkraU1sUGVtZDFnN0lPZC9z?=
 =?utf-8?B?VUlBeld6L3ZDeEJ5V3dxcGF5WHU0ajREZkdTLzM4K2Y0cXA0ME95Nm1qRVh2?=
 =?utf-8?B?ZlJjUzg3N2grR2FDQkpFSzZMVE9yOU80QUQraU03bUFNenhVQ0Y4dEFob3Jm?=
 =?utf-8?B?UCthbldmNWdNb2VZTkVDS2VUOU92NHA3ZTQwdmdpZ3o5ZHNzUVhxaS9QbWpm?=
 =?utf-8?B?UnVjWE1kMTg1Q2NyR3UrS0lVQVpISXFFOFVMVzNMRkxhaEtzRUhSZ2pxWEMz?=
 =?utf-8?B?NEROZXBldDNSRk95czZjTW4vNzNDLzFkaUVnQzcrTkZBcDhFSHA2T3JRYWJa?=
 =?utf-8?B?RlFHSTRCaTlpZVlHNjVjMmJXVWhsUFREN0JXTUZ6L0h2VXpuSjBIbnc3QnhH?=
 =?utf-8?B?SEd1bXlQMVVUU2x0WExkb1BPZVJJS1NYUnhnV0tJYXdEZFdRMmQ5aVpVeCs0?=
 =?utf-8?B?ZzVTeTJjQVhWRnZVLzkrWjFwS3RUYzJKcnd2ZnQ2bjFMK2tXQ3N3Z2VUTnN6?=
 =?utf-8?B?Z0I4WE93KzBtNk5YaXN5M3FxOVlqVkNJaGREa3hqcFJHUVpocEVzbGpYRThH?=
 =?utf-8?B?VWVMMlpZQjV3ZlZSelYxZnRsQ1FCdktvVExRQmUvQUJ2aGxxTVBVbllSZnRu?=
 =?utf-8?B?bExiaTVBQkdPdXBqZkZlNDYva0hwLzUxVE1GU2l3WU55U2k3MitMSUR4RHNN?=
 =?utf-8?B?R3plM3ZtaEVSSjV0TmhwcVZpVjVtZjJidHEvZ0pvSW4zUEd0MTdGZTBkYUR1?=
 =?utf-8?B?UU9pa3FqY0wwa1JkTlU5aTlHT1NFOE1FVWNpTDZXSEJURTIzYWc0eXE3QnV5?=
 =?utf-8?B?Vy9wSEFjSmtaQjNCKzZMbG53R3hyNU5Hdk11dU9wSnBpR09zVmJwRk9XdHpZ?=
 =?utf-8?B?RS9EMGtsaUpTRjNpcmk5aUgxalF6Z2JIN2RueG1FOE9XajVLa3FwQTJOcmVK?=
 =?utf-8?B?U3k2aFZLM2J5QWpZcGVHRjNmczZONzVqN2FoY2ZhR28yL0p1Wld4dlZjaUJ1?=
 =?utf-8?B?THU2V091NjVxSzRUbXU1THV6NUl3TWVQczN4V1E5MTlKZklZVkdENGNWWFNn?=
 =?utf-8?B?RUZudE9ydEN6RzVNTnRWMzkzMmF3QlM3U2VlV1ZEeUNDR3dHdlZQMUZCcTZT?=
 =?utf-8?B?WkJVcFp4ejFtem9pOUtYNitqQ0hXR2pPcjFSd202VEcxcUhxZTdmSjhXQUVo?=
 =?utf-8?B?MzVsSElmbmlrbGNsalhsbTBHam9PNVJ1MXNkQ2djM2o2TVF6aEpHSVM5S3dF?=
 =?utf-8?B?d1lDYmN1b1RrZnczNXVJSmxTZW9aZFE2eUpYOVEwRnAwNmNtZk9naE4vYUsw?=
 =?utf-8?Q?VTCVnXROKHGNDgMhLKFUZ5UUf?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e6945761-0d4f-4c71-2adc-08dd67932c93
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 09:39:56.4457
 (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: iPvUMrSLKIuPcS5lAsec9n4Uf/0V5dZW+mv2JuigVmiHKy/TDSeJj//VFNLN6D+di0/Gdl8DXOebxJFqj6JLvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR03MB9521

hi Alejandro,

17.03.25 11:19, Alejandro Vallejo:
[..]
>      Â endif
> 
>     +config HVM_VIRIDIAN
>     +Â  Â  Â  Â bool "Viridian enlightenments support" if EXPERT
>     +Â  Â  Â  Â depends on HVM
>     +Â  Â  Â  Â default y
>     +
> 
> 
> 
> I don't see why this should be gated by EXPERT, provided a
> suitable (now absent) help message was to exist explaining
> what it does in plain simple words.

The option is intended primarily for fine-tuned systems optimized for 
particular platform and mode of operation. As for generic systems (e.g. 
distributions) whey wouldn't want to disable it anyway.
> 
> For the title, I'd say it needs to properly state it refers to
> enlightenments for guests, rather than enlightenments for
> Xen itself when running under Hyper-V. As it is, it sounds
> ambiguous (Maybe "Hyper-V enlighnments for guests"?).
>

Agree, "Hyper-V enlighnments for guests" is better title.
As for help message, would the one below be sufficient?:

  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.

    If unsure, say Y.


> On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
> rather redundant, and I think just VIRIDIAN works just as well
> while being shorter.
>

this is rather to highlight the fact that the code is part of HVM 
support, a bit of self-documenting

[..]
>     diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h
>     b/xen/arch/x86/include/asm/hvm/vcpu.h
>     index 196fed6d5d..bac35ec47a 100644
>     --- a/xen/arch/x86/include/asm/hvm/vcpu.h
>     +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
>     @@ -171,8 +171,9 @@ struct hvm_vcpu {
> 
>      Â  Â  Â /* Pending hw/sw interrupt (.vector = -1 means nothing
>     pending). */
>      Â  Â  Â struct x86_eventÂ  Â  Â inject_event;
>     -
>     +#ifdef CONFIG_HVM_VIRIDIAN
>      Â  Â  Â struct viridian_vcpu *viridian;
>     +#endif
>      Â };
> 
>      Â #endif /* __ASM_X86_HVM_VCPU_H__ */
> 
> 
> nit: I suspect the code would be far less cluttered with "if 
> viridian..." if the
> init/deinit/etc functions had dummy versions of those functions when
> !HVM_VIRIDIAN in the header.
> 

as Jan explained some time ago [1] it's preferable to compile as much as 
possible in all build configuration. Besides most of calls to viridian 
code are already guarded by is_viridian_domain() & not actually require 
stubs.

  -Sergiy

[1] 
https://lore.kernel.org/xen-devel/36708a3f-2664-4b04-9f5d-f115d362d100@suse.com/


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 09:53:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 09:53:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921565.1325374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvCaU-0006Kl-RN; Thu, 20 Mar 2025 09:53:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921565.1325374; Thu, 20 Mar 2025 09:53: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 1tvCaU-0006Ke-Oh; Thu, 20 Mar 2025 09:53:18 +0000
Received: by outflank-mailman (input) for mailman id 921565;
 Thu, 20 Mar 2025 09:53: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvCaU-0006KW-16
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 09:53:18 +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 24b23177-0571-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 10:53:15 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso4665085e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 02:53: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-43d43f855efsm43034455e9.34.2025.03.20.02.53.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 02:53: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: 24b23177-0571-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742464395; x=1743069195; 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=M87pZ4SbcAKBO3wgeuet/ypAWi8WtEbcnAiE9lruV2M=;
        b=Yp0Ux0lR9taxxh347F5ZBKhGoiDeBbahdzDtJ28naEjlP8yfqwb+uJTxdN572iFTWx
         OD22/hzD9XKWgf0bUaZBZkYaFL7ei4691GMqCwLDkdwMR6wkBcABQoLFwQdYMyt9QLYh
         /1Lj5GVbFK1r3YHLF1lmJJOlOmYMd9MaM3s4uwJBMKevs4dN0wQ1GyC5FtQZ/vNfa6K+
         m56UbqYmAyeZNgYrmWrpnw+q5VP9jn3d7VAH/i0eOsJt0Ft5/iWVpB8qNZb8wOUaeB2S
         LRQ8yxLQC7G00F3NpRUCeBY0wrlYq7Qi5mWZFwneP/tLpf5/Ydzog5PnkpknbG/tZhdo
         WEHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742464395; x=1743069195;
        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=M87pZ4SbcAKBO3wgeuet/ypAWi8WtEbcnAiE9lruV2M=;
        b=QhiTXuarvMtGm+vKNIDDsturYGFTH7312iKrNDrohK+wY7Saw9PuUzVHNHRSXYWXq7
         +wI+baLoAXxBQlgRyVjzCwy46ffeYH2PS7x8XWd+I26NM9xgcne9aKifcJZY8zPli2Lo
         6M3pZnfU/fEIVarjhjQJ/ys8bMOMATV+Nzey+ViVXO+R+o3SmbjZXjVGibqqn5jVFoUh
         zAuen81DduTDdNvXyflLsyHSBuFK11J/XPuUbCgYNYFJhKvznfypkkQRVCnkIL/X0Jbn
         7NQxLxw2t24woS5r9qHALmq0ZVCowxumftRBDkNMNUBQxsGymNk1pBSOUpapeNWwKNIC
         vExA==
X-Forwarded-Encrypted: i=1; AJvYcCVR2rXQV/KllDmPGF9GP/E2wxtF+J65R5YvWIl8+LUwfvcvy2Vb3cFJVYze+fe3KiYrLHLaRXPQzlQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybF+t2dSqsRM4tq0wiiD1mlUVY83c9eNNOgIuofPAnO5r1pYTo
	KOCdYt4i5pDdT4+40M0ru8Ou/DZ0LCL8AWcjjbD7Y+xbN426qOC+sgJ/jGZUAQ==
X-Gm-Gg: ASbGncv1o2KL3Hn/LvZxavwlEH635XP5joIT80miNSLhu/jJJtB4usU5dwlR6Rv/M8L
	j27n/ljuSWPugWk4mRiWN6vF1ooAEWCp1lKQyXnEb+OB8G6MMJhtFyowFlBJ96XS0jPf8ynp970
	43iDw90NUHPFOFwHtJAlCmL8C7yhuGOQLtQJzkfINzDi6+Wcu3UrdKB61R9omFIYwIJHg6i+a1Z
	iyDso7qyLIIJQi/lhltOl0da81w/51SvfSvfy2hsgSkX5K2RAXe0U/Xtl3DTGrIigr8GQ+DZb/H
	qRfRq8akFSoUA/3IVeqm8YRR9pNGz4coDP7vd0M79W8QuG9CsyMvMikMZ2CNfSRAt1Y5cIXZQiJ
	uaGG9qCoqjxd+aPx1sGBDb98V9OiYzw==
X-Google-Smtp-Source: AGHT+IG6NvHWVaCkaJD3dQYAjgrgI1/MVvghGsibVOi3d4Iuc9bSGqfYEfNhie6pTQTEI5DAcYjFvg==
X-Received: by 2002:a05:600c:3d85:b0:43c:fbe2:df3c with SMTP id 5b1f17b1804b1-43d438842aemr49287015e9.26.1742464394813;
        Thu, 20 Mar 2025 02:53:14 -0700 (PDT)
Message-ID: <3bec51cf-e3db-4f1b-ac24-4686e2498fde@suse.com>
Date: Thu, 20 Mar 2025 10:53:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
 <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
 <Z9vOc5I828aV49rI@macbook.local>
 <0da7c7dd-bfbc-4e41-98ed-6e98793e6f50@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: <0da7c7dd-bfbc-4e41-98ed-6e98793e6f50@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 09:34, Jan Beulich wrote:
> On 20.03.2025 09:14, Roger Pau MonnĂŠ wrote:
>> I wonder how this worked then, as I've tested with the xen.efi smoke
>> test in gitlab CI.  Maybe ovmf doesn't acknowledge the RX sections and
>> unconditionally sets all mappings as writable?
> 
> Possible. And that would be in line with the mode being call "physical mode":
> There are no permissions to enforce there. It just so happens that x86-64
> requires paging to be enabled to be able to run 64-bit code.
> 
> My experience with OVMF has been that it's hard to find where certain code
> lives. Perhaps I should try whether I can find respective code there. Then
> again if I find nothing, there wouldn't be any guarantee that I merely didn't
> spot the right place.

All I can find is BaseTools/Source/C/Common/BasePeCoff.c:PeCoffLoaderLoadImage(),
which doesn't look to care about section flags at all. (By implication this
would mean they needlessly load all the .debug_* sections as well. Then again we
need to be glad they ignore the discard flag, or else .reloc wouldn't be loaded
either.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:04:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:04:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921576.1325385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvClT-0000Zh-Rj; Thu, 20 Mar 2025 10:04:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921576.1325385; Thu, 20 Mar 2025 10:04: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 1tvClT-0000Za-Nm; Thu, 20 Mar 2025 10:04:39 +0000
Received: by outflank-mailman (input) for mailman id 921576;
 Thu, 20 Mar 2025 10:04: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvClS-0000ZU-Nk
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:04:38 +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 bb5babdb-0572-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 11:04:37 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso3585025e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03:04:37 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43fdac9dsm43203145e9.30.2025.03.20.03.04.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 03:04: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: bb5babdb-0572-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742465077; x=1743069877; 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=DZjhMmUwEuFM8ZmT/IkTPn3WpSv12KT6at7YyYmJ9oQ=;
        b=rJ7dpZGPJVw2N8EDVl8pqhFg8xKM8yIAzsVCn8jhVUd7cZu7XeDX5GN9p8WCFR3LNF
         M/v7WHkOvv/PJlrAI+nk0xfvRR0b5GqZsTDlrKGD1RrYFjPKJcnE67FxgK1NhFXrTFLK
         wYjdzjWeEUinnrbV96HThlzYZUbE9dmSYy6Ws=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742465077; x=1743069877;
        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=DZjhMmUwEuFM8ZmT/IkTPn3WpSv12KT6at7YyYmJ9oQ=;
        b=fve6aN99Q7WEQlx/yXOwsYaBa4ot1MRF75YSJPBHQH6ZMB5/Z9AE2MZdUW/c3qphRt
         EvkPC8XGOMowV2MVJpKEKzUixqiI9z95I/bKJhsJkMMSWON9YI8L2N4L2Fnl/GcWyEyH
         /MK9kb5zglCa4D5gWS2n+k3JBx33/tRETm1IRU7p5JgOohdfAoOINHTiHF7/Q0o3K9RR
         ob08dhGjZwMpUFnYC7k5mkgeqQegXIXmAAWLKbIjoYdPHexzp7aSpk2AdK617JbRM/9+
         H/6yaPIfV9Xj289aQu/dJNocuzWvtf/VnPYdyeBEpEIZ9r9pkIaKsypAAdQr2EVvCqt7
         RX9Q==
X-Forwarded-Encrypted: i=1; AJvYcCVgN5UnFlL8dzyXQU7HPOa0InohmT/icCRd0Q9wP/hhs+fy7Re01xMSitqAweHQq/gBl3YiL3qU3V4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwUL9pZ68yMuR4FKSKuP2t2pZcpqesvID2ki+f5WHOmvFu5U3jK
	vGdTov5oLIS0zK1Pwb99ojcAYZscG5ewnR5G/yPQd9ATDkgdpF0L/StC6WSz4Oc=
X-Gm-Gg: ASbGncvgvxDoUNe82CEOrHUtdn8owGJU3aIqmEB+5o3ZAnSLgayjalT90d/Cx5awoQx
	043cqOgBeBR1RQgJn8D9h50UPkBHN3rXwDRf5SgoNiGOg3IMlHYLuoY/RVjP5iFGXCUuGBxk/cm
	/GLnavnJZDqFeq2i+9mBypcLmNzq92TfOSzqCmnShBTlvBOgk8C1pFdw4JdPFz+nojDEVeYjJUz
	D8b//lvu19MhyDaG0/2rrpASKpNf6Cv9sDsTWiZXwI3gLGVqdHLHOm2TWNCB5RUmbWi1X+kiHTI
	Pt6+cwc3nWzNLHm6ndd3o6AxvBYg2XvqVPvuGzOoV5VhDdRYLVzn0Do62mm7MpoXVRbxrKZu8WR
	tMvNt/EQmJA==
X-Google-Smtp-Source: AGHT+IG8RoE4NzqY2SX1/7cRGFZi7Dl3e9en3/b/TYgthzKum1hLK6zWg0SOCgxbwjk9EcPh7m5LJQ==
X-Received: by 2002:a05:600c:1f83:b0:43c:ef13:7e5e with SMTP id 5b1f17b1804b1-43d4383d55bmr49151295e9.26.1742465077112;
        Thu, 20 Mar 2025 03:04:37 -0700 (PDT)
Message-ID: <fb1351f3-5f47-44de-b722-07497a8c32e4@citrix.com>
Date: Thu, 20 Mar 2025 10:04:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/PVH: don't open-code elf_round_up()
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 <jandryuk@gmail.com>
References: <577ddc98-fdbb-48af-9c7e-1a411383516b@suse.com>
 <b1b94660-da2f-48ad-a1b6-10cb52e559f6@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: <b1b94660-da2f-48ad-a1b6-10cb52e559f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/03/2025 9:28 am, Jan Beulich wrote:
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> I was wondering whether in elf_round_up() itself we might better use
> ROUNDUP().

I did wonder that too.Â  It's probably easier to arrange now we've got
xen-tools/common-macros.h.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:18:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:18:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921594.1325394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvCyl-00038p-V8; Thu, 20 Mar 2025 10:18:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921594.1325394; Thu, 20 Mar 2025 10:18: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 1tvCyl-00038i-Sb; Thu, 20 Mar 2025 10:18:23 +0000
Received: by outflank-mailman (input) for mailman id 921594;
 Thu, 20 Mar 2025 10:18: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvCyk-00038c-OA
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:18:22 +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 a5bf75e1-0574-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:18:20 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso6176985e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03: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-39971b56299sm5498699f8f.98.2025.03.20.03.18.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 03:18: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: a5bf75e1-0574-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742465900; x=1743070700; 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=CDXVfdcWZp1A3LH1gi3ApAzaUlzjg7DaBEx03R5ffyk=;
        b=VNbZWQBCQXSV0vyZvHdoXdKm2mjH6GoYMqkViD/cwGlGRP7dZd/xHdgi/pHFSUQV92
         QrS52Ne7tDzXdm5c33YRc7HxbQ4WiTFvksjGTBs7j+Ib085RZfl9uNmPmlQfi00O4koO
         3pdGBD8BTxbyy/srPb025i+RnpoKnEUCMBavRQo5AH191vpFwPu8f0qnK/YEQDDRr6Nj
         NYoDc1KtVmIuygL06aG8WJnAUT3mNNMaKQJkapRSGlRnqPCPIjZaMlbIA9pm8Ov74LH1
         /qH8eNe3/fytKNmjrwvJUcCz3lRgPWyvpN/K8++p5+v6A5F47U4dqI99k0BoprpnyNmY
         TjjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742465900; x=1743070700;
        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=CDXVfdcWZp1A3LH1gi3ApAzaUlzjg7DaBEx03R5ffyk=;
        b=B4F7QdBXTDdf8eoRD+e3fNzAGVUIAooTai7AV4psDmedxzMS0d4tbIZZJW07FQkcov
         /+UtjOPTZ8kRfIFKFgGGR7169B4vCjDeahR1l0+hv8z9NdW7ovku5oW5a8KHAMRik9fG
         8vEFmFg5+V7Zq5Lsf/ep9mbew0B/TKoTZ+dWlHVLOJtQcBu2h6xuoeiqaZVnj+IUpdM6
         XDW6IChBjBYAXqAzR72VuDhdnF70DmOLPvTjLnXFdb383i+2NS0bo7iqQ8CmMBShrtef
         c/EAlwhia7VF+2QqJD5lyIsMvw+8FH06Vc93lf7vDO0qtL9rEvmbbxIyUYQzZXM/d+nW
         3xZQ==
X-Forwarded-Encrypted: i=1; AJvYcCWGp6Ag1ZksGVJAMvUhaHlTNZx75YhGSBqmMlwG6+RiPVR20R0EdIZvRFadVYayMhtqAVHi4ikVlQk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzGwCj5rDmVhBlOAhmv6Gs6UXfriS5zYFXJIcyW06ayQoYjmfzm
	JDhm1+qwCOoSQcWMXoZgS9AzmhfkxwjcrH6BU66M5wvQOLOvHhiHajYSx8DQIg==
X-Gm-Gg: ASbGncvSPkwkJkxXliYrDgqNViBIq2ziUde5j3zEaxHuDDyTZbpfB3d5e9BbXfVSZh2
	nnJ+/YAmnBAhhRY4nTdLnD4GZ1DJBLWJWkorrLTogwgqK0KNI+yTxG5jC+FwzspqkLj0rOgZSBV
	8wPM/+naUcisSZBl4d8RRGOzOm84psbSqBk9Csb65GCirqduHFlAPYTnDBG+yxLv7PQVeM6nKdZ
	3sjEpfb4ULmGdsDT3zC93ddLPVMOIMQXnsQXaL92KWfi3hbf14RIq2oRbdPu4HAZPverVdlZJPW
	Ig+5UrYaMqb6vjJid+yVpK0VKz3n0iDb4xben+KJmgxDQhzK5+Dt/nSicqOsSugXs/iGPKyR39o
	GMoC4z4HehuTQbXkSN71isgvukfqXpA==
X-Google-Smtp-Source: AGHT+IEi+SZkuxFY1+zuSw1LjqsRvBHUZDkALS6eOyg7sgly201aq+LCZaOycUhxfnLUff7guJSC8Q==
X-Received: by 2002:a05:600c:1f17:b0:43d:300f:fa1d with SMTP id 5b1f17b1804b1-43d4d5b6883mr8735375e9.31.1742465899751;
        Thu, 20 Mar 2025 03:18:19 -0700 (PDT)
Message-ID: <1903e4c2-6a2c-47f1-a5dd-28f13cc87da2@suse.com>
Date: Thu, 20 Mar 2025 11:18:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
 <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
 <Z9vOc5I828aV49rI@macbook.local>
 <0da7c7dd-bfbc-4e41-98ed-6e98793e6f50@suse.com>
 <3bec51cf-e3db-4f1b-ac24-4686e2498fde@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: <3bec51cf-e3db-4f1b-ac24-4686e2498fde@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 10:53, Jan Beulich wrote:
> On 20.03.2025 09:34, Jan Beulich wrote:
>> On 20.03.2025 09:14, Roger Pau MonnĂŠ wrote:
>>> I wonder how this worked then, as I've tested with the xen.efi smoke
>>> test in gitlab CI.  Maybe ovmf doesn't acknowledge the RX sections and
>>> unconditionally sets all mappings as writable?
>>
>> Possible. And that would be in line with the mode being call "physical mode":
>> There are no permissions to enforce there. It just so happens that x86-64
>> requires paging to be enabled to be able to run 64-bit code.
>>
>> My experience with OVMF has been that it's hard to find where certain code
>> lives. Perhaps I should try whether I can find respective code there. Then
>> again if I find nothing, there wouldn't be any guarantee that I merely didn't
>> spot the right place.
> 
> All I can find is BaseTools/Source/C/Common/BasePeCoff.c:PeCoffLoaderLoadImage(),
> which doesn't look to care about section flags at all.

And then there is at least one duplicate thereof elsewhere, or something very
close to a duplicate. In addition I meanwhile found ProtectUefiImage(), yet
it's unclear (to me) under what conditions execution would make it there. Plus
it leading to SetUefiImageMemoryAttributes() leaves open where
gCpu->SetMemoryAttributes() is implemented. I can spot some Arm and RISC-V code
with respective names (albeit in distinct places), and MTRR functionality with
names along these lines. None of these can be it.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:18:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:18:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921596.1325405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvCyx-0003Qr-5q; Thu, 20 Mar 2025 10:18:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921596.1325405; Thu, 20 Mar 2025 10:18: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 1tvCyx-0003Qk-2Q; Thu, 20 Mar 2025 10:18:35 +0000
Received: by outflank-mailman (input) for mailman id 921596;
 Thu, 20 Mar 2025 10:18: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=S/K6=WH=bounce.vates.tech=bounce-md_30504962.67dbeb75.v1-7c79666ec1d94cdea0bd35ff8a418d46@srs-se1.protection.inumbo.net>)
 id 1tvCyu-00038c-Vs
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:18:33 +0000
Received: from mail136-29.atl41.mandrillapp.com
 (mail136-29.atl41.mandrillapp.com [198.2.136.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab7fe32c-0574-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:18:30 +0100 (CET)
Received: from pmta11.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail136-29.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4ZJM3n2fzXz6CQD4Z
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 10:18:29 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 7c79666ec1d94cdea0bd35ff8a418d46; Thu, 20 Mar 2025 10:18: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: ab7fe32c-0574-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742465909; x=1742735909;
	bh=eI4D45vQZuWmZU8GQf8PMhwDZd7pZ9rPpw8Hu3sisv8=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=tZY/VGgYjY6E7xSpsbNdyKy/Wl5aQMtOwuBYnfjCl3Geb3/dWtxuP8MmeOu9Wlpk0
	 +24f5QgJq0Y+D0Y/BGxmt9tZu8j38SnHCPI95bf+KK7qhRyurGLoQJhRW+qvd7GeLw
	 UAKZxZjPs97iTjhcAdskLfdbeUd9wkJu9Na8aAoozzWwNJRey8rGdvRUIgWaOzuiVH
	 ZyjuO78RN1y67BdyOq24JqP8hlLQGYbCRcinY+1vfgyNin7dO7KT0SUzveUVELKpro
	 Q7EgKZN4qNt2hsceHwfzKefA5TUJgz5CSyuqEXE/G2a9ifJGEpBvf/e0fn0LJJEfjE
	 PJfS57DhzJIeA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742465909; x=1742726409; i=anthony.perard@vates.tech;
	bh=eI4D45vQZuWmZU8GQf8PMhwDZd7pZ9rPpw8Hu3sisv8=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=wBAI9Q54jU5fVTRvJFmS9w1YaJJHifCubhpMw6I10BpHfCo/ithy4/syc7lxhNbLT
	 Z6Rq6OfWlTtz0Y+3hO7+qfnm5jMQ+Fkx3lyCoSjuhTY8WHNFDpcgqgJkeOL5dV/6qT
	 E0gNEBOEyUCVIpIKAjOE7WGXrydKzjeC8YMkvObfhIMKBULYhXDcPfJ+tUT2ylSYTU
	 AHDVaJ0uYq1ltEH4Ican0ZADn74883xjj2LaYmew0f0WBls695I6PqVH1FirNt4vzP
	 abfSLQ2NlKDL6LEya8VJEUT/f+f9qfD4CG/CuADHNDZRpQD8slnHGgBEc7H56sUmWV
	 5oVjCczKMGZ1g==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=202/2]=20Strip=20build=20path=20directories=20in=20tools,=20xen=20and=20xen/arch/x86?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742465907702
To: "=?utf-8?Q?Marek=20Marczykowski-G=C3=B3recki?=" <marmarek@invisiblethingslab.com>
Cc: "Jan Beulich" <jbeulich@suse.com>, "=?utf-8?Q?Fr=C3=A9d=C3=A9ric=20Pierret=20(fepitre)?=" <frederic.pierret@qubes-os.org>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "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>, xen-devel@lists.xenproject.org
Message-Id: <Z9vrc1Xvm5OEy8rM@l14>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com> <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com> <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com> <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com> <Z9qxcRtap-k-wW8B@mail-itl> <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com> <Z9rJUWCARMQYqNXr@mail-itl>
In-Reply-To: <Z9rJUWCARMQYqNXr@mail-itl>
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.7c79666ec1d94cdea0bd35ff8a418d46?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250320:md
Date: Thu, 20 Mar 2025 10:18:29 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> There are clearly some build path embedding left. And
> -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correctly with
> XEN_ROOT having xen/.. at the end.
> BTW, would it be acceptable to have this?
> 
>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realpath $(XEN_=
ROOT))=3D.)

Hi,

Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fine
in "tools/"). In "xen/", there's a few variables you can use if they are
needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctree)
$(objtree) for relative path. That also should avoid the need to use
$(realpath ).

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:25:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:25:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921623.1325414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvD5O-00069R-PN; Thu, 20 Mar 2025 10:25:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921623.1325414; Thu, 20 Mar 2025 10:25: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 1tvD5O-00069K-Mf; Thu, 20 Mar 2025 10:25:14 +0000
Received: by outflank-mailman (input) for mailman id 921623;
 Thu, 20 Mar 2025 10:25: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=fVbL=WH=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvD5N-000698-M6
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:25:13 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b2abacd-0575-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:25:12 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-543d8badc30so767804e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03:25: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: 9b2abacd-0575-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742466311; x=1743071111; 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=btvDhywzzDVzXqx25Umd41+YNwR9+dXxoM+kl8m73ao=;
        b=Ffk8RZGtlGxK9hSkAN6i6DhVk8B93i7aQjHi7f7sA/Z4IhjM+vdMxofZaBJJSvLxI2
         J3NLVCiV5NjyWxurmfgyJqI3CN000f4/tLYQH3H9lXDE/kfHlnO27bX/suXU/Wx8laas
         Qdd13Vcm7X5uiMNejUVBWWICpUHevhziNlL+jB4iEollYtbx728I+ZkAaE/7TUxpEhfn
         8fP3LWZi5oCJQiaI2gINdCOWZCqOEMBRMRpstXYeOi/uc1BdOPA/Kb+GlQJqHx6uxPmX
         6dIWii0/2BNarPtVdkOr4s5Eo74wg/f0CATFbXONlfjcyUkrom1XsOun7qDwLDnD0ckM
         adWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742466311; x=1743071111;
        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=btvDhywzzDVzXqx25Umd41+YNwR9+dXxoM+kl8m73ao=;
        b=njKTYBQKdMV7uYdbbB8xUoH+KgfvIx9XwrS5aTChTrXbqSrOzMsskBNJ3Ups8bDY3f
         ybKOex+HfyTkih9laM30nA5AOyp1QU2ti6CMjUG3XpQ26CyCEr5MIkVu3LAL+j90Evhh
         DkH6Zv9Ylrp6o0o9QwbRw58XbPFr9Chb/vteo6oxkRumaIJ8GdBY6SUS7MMzCjD4MtWd
         nBI7VjPBP3c7z0romOBgk+AVqpMknPVq3lpmcylIqYZysEq+TWINXOLq62tSCMSfA3+N
         N2zn5F2a4WlPzZAX0RFWwCBnfNLYR/WFAyEYZ767Kxks+mqLLYGxeUHROhlEh9D0gUkp
         6/Qw==
X-Forwarded-Encrypted: i=1; AJvYcCUvNO6AuWYm6wVSNVuP45CrlhlJhSsvpnN0KT5jcaHeMAx+HO4YCvMMhwWQL/d+piW3uGLNfiwftnU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw205k+pcmEmXcb24n908PeUVzBCUUb8SCJKgSgyS1LlAqOI9JL
	KI0E+BiAn7qVpLkdbyvK4NhU4n68AnAkq7c8HN3Qm3JStY8Tx5VuKRAIARW/nPryD4ibOSjhgtQ
	uTw0F03dCCbfXS278IgpfSAWm/GU=
X-Gm-Gg: ASbGnctvudX+iBb89n5AljIe+JG9HkKsj9IfH5EyNUUyTuI7z9EuJi6YmcRXbKLV9gL
	yw/A2qZhawuwonNHLw+4pHwpFJte91Ysg7ESP+gm2Kqcl/SnsMzpnh7tDCJEkAjdEsFNRs55SMm
	Qu2hRgv8Gr6T/yE6s5AYgtPPWT
X-Google-Smtp-Source: AGHT+IGQIC9NtKcmT66Ef2ElejEvfXSLFeykOCLe9DszeOppdxgbz43UA2wwFG6lFGIqk0/ydbxWaTBq4H3rG7TFB+w=
X-Received: by 2002:a05:6512:1286:b0:549:91e0:143 with SMTP id
 2adb3069b0e04-54acb19db19mr1811336e87.5.1742466311177; Thu, 20 Mar 2025
 03:25:11 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
 <ddbf31ae-5877-4df2-a6c7-8b0251ce2b01@suse.com>
In-Reply-To: <ddbf31ae-5877-4df2-a6c7-8b0251ce2b01@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Thu, 20 Mar 2025 12:25:00 +0200
X-Gm-Features: AQ5f1Jonyf3qzt9JIU2FdeuIWaoMFGt2B0AtdIHBUCdgRpzLE6lnN8J4PleLqNo
Message-ID: <CAGeoDV_h9vgyKyk_kH4XwsoWiJN0dx2UY+N0JAezUknGk9ez3g@mail.gmail.com>
Subject: Re: [PATCH 03/16] xen/arm: introduce a separate struct for watchdog timers
To: Jan Beulich <jbeulich@suse.com>
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>, Dario Faggioli <dfaggioli@suse.com>, 
	Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>, 
	Mykyta Poturai <mykyta_poturai@epam.com>, Mykola Kvach <mykola_kvach@epam.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Mar 13, 2025 at 5:27=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 05.03.2025 10:11, Mykola Kvach wrote:
> > From: Mirela Simonovic <mirela.simonovic@aggios.com>
> >
> > Introduce a separate struct for watchdog timers. It is needed to proper=
ly
> > implement the suspend/resume actions for the watchdog timers. To be abl=
e
> > to restart watchdog timer after suspend we need to remember their
> > frequency somewhere. To not bloat the struct timer a new struct
> > watchdog_timer is introduced, containing the original timer and the las=
t
> > set timeout.
> >
> > Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>
> A From: with no corresponding S-o-b: is potentially problematic. You also
> can't simply add one with her agreement, though.

Thank you for pointing that out! I'll revisit all commits and add the missi=
ng
Signed-off-by tags in the next version of patch series.

>
> > ---
> > This commit was introduced in patch series V2.
>
> Yet, btw, the whole series isn't tagged with a version.

Yes, I added a description of the versions in the cover letter and
followed the style
used in version 2 meaning I avoided using tags. Since years have passed bet=
ween
the patch series, I thought including tags might confuse reviewers.
If you want I'll add a correct tag in the next version of this patch series=
,
i.e. V4 instead of V2.

>
> > --- a/xen/common/keyhandler.c
> > +++ b/xen/common/keyhandler.c
> > @@ -305,7 +305,7 @@ static void cf_check dump_domains(unsigned char key=
)
> >          for ( i =3D 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> >              if ( test_bit(i, &d->watchdog_inuse_map) )
> >                  printk("    watchdog %d expires in %d seconds\n",
> > -                       i, (u32)((d->watchdog_timer[i].expires - NOW())=
 >> 30));
> > +                       i, (u32)((d->watchdog_timer[i].timer.expires - =
NOW()) >> 30));
>
> I realize you mean to just do a mechanical replacement here, yet the use =
of
> u32 is not only against our style (should be uint32_t then), but it's als=
o
> not clear to me that this subtraction can't ever yield a negative result.
> Hence the use of %d looks more correct to me than the cast to an unsigned
> type.
>
> In any event the already long line now grows too long and hence needs
> wrapping.

Maybe it would be better to send a separate patch for this. I'm not sure if=
 such
changes are needed within the scope of this patch series

>
> > @@ -569,7 +570,7 @@ struct domain
> >  #define NR_DOMAIN_WATCHDOG_TIMERS 2
> >      spinlock_t watchdog_lock;
> >      uint32_t watchdog_inuse_map;
> > -    struct timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
> > +    struct watchdog_timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
>
> An alternative would be to have a separate array for the timeout values.
> This would also save some space, seeing that on 64-bit arches you
> introduce 32 bits of tail padding in the struct.

Maybe it will be enough to leave it as is and only change the order of
the timeout
value and the timer. This way, we will avoid potential padding issues
and still get
the benefits of using a single struct.

>
> If we go the struct watchdog_timer route, may I at least suggest to renam=
e
> the field to just "watchdog", so things like &d->watchdog_timer[i].timer
> don't say "timer" twice?

I agree, I'll change the name of the fields to avoid duplication.

>
> > --- a/xen/include/xen/watchdog.h
> > +++ b/xen/include/xen/watchdog.h
> > @@ -8,6 +8,12 @@
> >  #define __XEN_WATCHDOG_H__
> >
> >  #include <xen/types.h>
> > +#include <xen/timer.h>
> > +
> > +struct watchdog_timer {
> > +    struct timer timer;
> > +    uint32_t timeout;
>
> This wants a brief comment mentioning the granularity.

Thanks for pointing that out, I'll add a comment.

>
> Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:31:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:31:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921639.1325425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDBP-0000Hj-Gy; Thu, 20 Mar 2025 10:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921639.1325425; Thu, 20 Mar 2025 10:31: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 1tvDBP-0000Hb-Dp; Thu, 20 Mar 2025 10:31:27 +0000
Received: by outflank-mailman (input) for mailman id 921639;
 Thu, 20 Mar 2025 10:31: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvDBO-0000HV-8C
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:31:26 +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 793415d5-0576-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 11:31:25 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso6298035e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03:31: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-395c8e43244sm23953237f8f.60.2025.03.20.03.31.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 03:31: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: 793415d5-0576-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742466684; x=1743071484; 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=SDvLG63LQvZ5h/c0fOhQVYpb2iNM5gpvtaO14f1Aa+U=;
        b=U9SY7+2M47AAY5AuX4jyobvBA6xn2xWVGBmfzV+gj0dMj6t9R0MNx4SvthRNiIk4v3
         eF6eqhHKC8EjBRcIbUuFG44BHzAvTsdjIliWl5UeGX7ImrU2mmGuO2xhJ47ehAyxn9Uy
         YrsseuOz+PkBCo3bKIMWTqgYjjw4Qqel01Kl9VfesQUUb0kQ2vOwRDfFz+pyUG2/C/2a
         8cQZinuq71Lww4He5/pRG00XTMNt743+wLR6/J/DMR5h8foNtygri0SzPT1p2+I9wnqK
         1l/QOtii4I3OxkVBjQmlculCPjzPVSTensfBo5prEzGnZpwXiqNscOiiELYh6lN6GZ7l
         Tk9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742466684; x=1743071484;
        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=SDvLG63LQvZ5h/c0fOhQVYpb2iNM5gpvtaO14f1Aa+U=;
        b=XWdMPCUDhVseAlsQZQiwQG53P/9g8/FXuYw02waf/43B7Ib9Txp5kUNkQBX1D35S5y
         iNPS2csT0wcc0DjR1fYBLYWpQKYZqX8vg0mT4K9dCB7xrL2ddSZyFQT4RN4eG+HoJ7pN
         s2OzSriub8Abi166DWWqWDkG87X/mDWN/HvReSjqR5EsK6WFM2qfqGf3Z7AEkehmfBsZ
         /AH7y3i0QGkYw6f6G7eJdWR5d2vpo3UyEYjmQvonVguOctvMiydAjVmRKJgI6OaOjfr7
         qywLI8ICSbgCnSruL/8EYKRxhSoOyB9bxXqqiUU22sedz65Q5AML1SOzz701K+RDjhuy
         lHXA==
X-Forwarded-Encrypted: i=1; AJvYcCVL+x2wXLqBbq0sxCZ5VQPMVR0EzwwqoBftNbzz0Ybb9XhM2gYHawMn4wijz9thkoS/9kuDI4wSZgM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzBPiZlsvOK+9Ky9c+dV2Ppj7H8HQ0oXtCH6CwiUCcSnUZ3zeYi
	+cqqCf9/cjbrgzZOLnZD0CrpbHFg/yB+8KBGvKyv6uMG+tZURHHKPegyxg5XPw==
X-Gm-Gg: ASbGncvYwxYCwfdT14hg2d5QNLEWNWzUg2M3V/jc0i4jEpJ+OW7vLU+xoiE37JAkQXD
	+eetQv/RT/Yn2QjRxWZsskOQNACFPOXWEfMfbYyOeDnHZn6Kz4X8BmAf1st3kg+9ytjU6xHxQyM
	aWgUQR330aa7fZIfxk3BRmQ6Lc4zBQ1V0y1erCx0jhr16KomZGS20+7TN9o7Otpk5S231YKOji6
	QadErS6/HKaBcbs9LCYglSFa1BTuYRk23u+kUExnxIkcjKmTXOdW8tEwykURM5atU6ivmwSGVMO
	AmA0GdbKpnCDjan5uCwPXYlTOQRHgzolcuSNgqMOTEUa+7rBw5tKJPX9QwYCBmvWAMQxONevODH
	+QkrmG649QgdlDD9UvxIm1uy8JkDPUYTXpc0R40Zj
X-Google-Smtp-Source: AGHT+IHYWE/BUAjiy++fvaKweQGWFENROPGKN7qQC4PgvfI5hyyAG5dzIxJ5dR2blD+YxGv4JDrKJw==
X-Received: by 2002:a05:600c:3206:b0:43b:c284:5bc2 with SMTP id 5b1f17b1804b1-43d4870d738mr25217675e9.0.1742466683969;
        Thu, 20 Mar 2025 03:31:23 -0700 (PDT)
Message-ID: <7a1e9fdc-c1ec-449c-bf49-70bbc8e9c352@suse.com>
Date: Thu, 20 Mar 2025 11:31:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/16] xen/arm: introduce a separate struct for watchdog
 timers
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mirela Simonovic <mirela.simonovic@aggios.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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>, Mykyta Poturai
 <mykyta_poturai@epam.com>, Mykola Kvach <mykola_kvach@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
 <ddbf31ae-5877-4df2-a6c7-8b0251ce2b01@suse.com>
 <CAGeoDV_h9vgyKyk_kH4XwsoWiJN0dx2UY+N0JAezUknGk9ez3g@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: <CAGeoDV_h9vgyKyk_kH4XwsoWiJN0dx2UY+N0JAezUknGk9ez3g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 11:25, Mykola Kvach wrote:
> On Thu, Mar 13, 2025 at 5:27âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>> On 05.03.2025 10:11, Mykola Kvach wrote:
>>> From: Mirela Simonovic <mirela.simonovic@aggios.com>
>>>
>>> Introduce a separate struct for watchdog timers. It is needed to properly
>>> implement the suspend/resume actions for the watchdog timers. To be able
>>> to restart watchdog timer after suspend we need to remember their
>>> frequency somewhere. To not bloat the struct timer a new struct
>>> watchdog_timer is introduced, containing the original timer and the last
>>> set timeout.
>>>
>>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>>
>> A From: with no corresponding S-o-b: is potentially problematic. You also
>> can't simply add one with her agreement, though.
> 
> Thank you for pointing that out! I'll revisit all commits and add the missing
> Signed-off-by tags in the next version of patch series.

Ftaod - you may not add anyone's S-o-b without their agreement.

>>> ---
>>> This commit was introduced in patch series V2.
>>
>> Yet, btw, the whole series isn't tagged with a version.
> 
> Yes, I added a description of the versions in the cover letter and
> followed the style
> used in version 2 meaning I avoided using tags. Since years have passed between
> the patch series, I thought including tags might confuse reviewers.
> If you want I'll add a correct tag in the next version of this patch series,
> i.e. V4 instead of V2.

Yes, no matter how much time has passed, versioning is helpful and
meaningful.

>>> --- a/xen/common/keyhandler.c
>>> +++ b/xen/common/keyhandler.c
>>> @@ -305,7 +305,7 @@ static void cf_check dump_domains(unsigned char key)
>>>          for ( i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
>>>              if ( test_bit(i, &d->watchdog_inuse_map) )
>>>                  printk("    watchdog %d expires in %d seconds\n",
>>> -                       i, (u32)((d->watchdog_timer[i].expires - NOW()) >> 30));
>>> +                       i, (u32)((d->watchdog_timer[i].timer.expires - NOW()) >> 30));
>>
>> I realize you mean to just do a mechanical replacement here, yet the use of
>> u32 is not only against our style (should be uint32_t then), but it's also
>> not clear to me that this subtraction can't ever yield a negative result.
>> Hence the use of %d looks more correct to me than the cast to an unsigned
>> type.
>>
>> In any event the already long line now grows too long and hence needs
>> wrapping.
> 
> Maybe it would be better to send a separate patch for this. I'm not sure if such
> changes are needed within the scope of this patch series

Simple style adjustments on lines touched anyway are generally fine. That's
better than having individual (huge) patches adjusting only style, at the
very least from a "git blame" perspective. And when avoiding such, moving
towards more modern style can only be achieved if code being touched anyway
is getting modernized at such occasions.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:32:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:32:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921651.1325435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDCW-0000na-PK; Thu, 20 Mar 2025 10:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921651.1325435; Thu, 20 Mar 2025 10:32: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 1tvDCW-0000nT-MK; Thu, 20 Mar 2025 10:32:36 +0000
Received: by outflank-mailman (input) for mailman id 921651;
 Thu, 20 Mar 2025 10:32: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=5Eqg=WH=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tvDCV-0000nL-6H
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:32:35 +0000
Received: from fforwardh-b4-smtp.messagingengine.com
 (fforwardh-b4-smtp.messagingengine.com [202.12.124.199])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a120daaf-0576-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:32:32 +0100 (CET)
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 128551740241;
 Thu, 20 Mar 2025 06:32:31 -0400 (EDT)
Received: from phl-frontend-01 ([10.202.2.160])
 by phl-compute-12.internal (MEProxy); Thu, 20 Mar 2025 06:32:31 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 06:32:29 -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: a120daaf-0576-11f0-9ffa-bf95429c2676
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=fm1; t=
	1742466750; x=1742553150; bh=QIBJiemfl/U8NEJw8eqqbLerNyu5yd8wdV/
	F9ndrYNc=; b=zieYtrEB+Z6LPeTEWWmrv1PkPvwHadYV6ylzJ3ulhk0MtXTrKHj
	rBI2QPmnmzzGV2RykD/Hjut3/HBaw69p8+4NxpOQhXdFBtYhP9lOFc+kxNky39Ow
	yoCpmTrAqiyWZ4CarOKYKtDeEMuHkjlZrPj/50rEZN6tHtcIXxSO6eHH8ulUxue+
	GNItHTzLNmWXrpmJBOg6zc3L1kd+7IW16vsAjg7PbUdqd+l9XwbYibcjC6Z+0kI9
	nCeoMRmgFtDcf6vtyGrAPKU2DMc79NTq0lCafRh4S3DXq+9tvmhUPANBrZMvEuQM
	036OdRwV6uf/YDwxBhs5ViFJ0PAGh4vhy0Q==
X-ME-Sender: <xms:vu7bZw83Qu4GlCM92TYq6plq1lkDmjQ4Lgw53De4jqexcUCdYhWbcQ>
    <xme:vu7bZ4sHc_vi72UHQsc2WYXd8CkwaN2boRbqhr3kJKwsu00kYAOwkJ2TSIsxAD8yK
    ztVbTM95RpP8wJoBqI>
X-ME-Received: <xmr:vu7bZ2BwRd6dZBH15kk6YJCBLuZf1lWsuCFVpu5EYs4dpPwzD5b3Ldpi-3WTpmLI1n2fU0_CInbGw5_ZF7ah8ENqwNo7PzFYY2h27NWFIfi7LA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeejleekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgggfestdekredtredttden
    ucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrihhkse
    gvphgrmhdrtghomheqnecuggftrfgrthhtvghrnhepffffvdeifeeijefhheefuedvvedt
    heffjeeiveehgfettedvgedujefgudejgedvnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihhtvgdp
    nhgspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgigvnh
    dquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohep
    shgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtohepjhgsvghulh
    hitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfees
    tghithhrihigrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrihigrd
    gtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:vu7bZweF6iOpFgeTrZQvCuc5w08_kQJF59WwRLpGlMHohOcagxawSQ>
    <xmx:vu7bZ1OyFu9851HjFHfBKzs8ICIVCyRYK3KSMHHghXReNzW5PzYF-A>
    <xmx:vu7bZ6kbSxATNYeZAb2IFQwDg1viHg1291kgWSmN15aOlFxJbtbtRA>
    <xmx:vu7bZ3suPus7dSSblJhbxn0KUnS3hm7sjTlq_s2EjA7d7nNg-NxXpQ>
    <xmx:vu7bZzsZUZOhTXJEM_AO7D1cnT6dpeo2A5ZccltkwYjaLFN9cI8R6A>
    <xmx:vu7bZ42XGAe-kHOwLtfYHFkB3XiJtOvKJ16IWUse16R-FwgUNRJm2AdEmepo>
Feedback-ID: ifdffe1b6:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 0/4] make nested virtualization support optional
Date: Thu, 20 Mar 2025 12:32:26 +0200
Message-Id: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Here're a couple of patches that introduce a Kconfig control for user to be
able to remove nested HVM code from the build and hence to tune their system
in case nested VMs aren't required.

The first two patches are minor fixes and not directly related to nested HVM,
but since they also modify the same code I've decided to include them too.

 -Sergiy

Sergiy Kibrik (4):
  x86:svm: use nsvm_efer_svm_enabled() to check guest's EFER.SVME
  x86:svm: rename svm/nestedhvm.h -> svm/nestedsvm.h
  x86:hvm: guard calls to nestedhvm routines
  x86:hvm: make nestedhvm support optional

 xen/arch/x86/Kconfig                              |  5 +++++
 xen/arch/x86/hvm/Makefile                         |  2 +-
 xen/arch/x86/hvm/hvm.c                            |  6 ++++--
 xen/arch/x86/hvm/svm/Makefile                     |  2 +-
 xen/arch/x86/hvm/svm/asid.c                       |  2 +-
 xen/arch/x86/hvm/svm/entry.S                      |  2 ++
 xen/arch/x86/hvm/svm/intr.c                       |  2 +-
 xen/arch/x86/hvm/svm/nestedsvm.c                  |  2 +-
 xen/arch/x86/hvm/svm/{nestedhvm.h => nestedsvm.h} |  0
 xen/arch/x86/hvm/svm/svm.c                        | 14 +++++++++-----
 xen/arch/x86/hvm/vmx/Makefile                     |  2 +-
 xen/arch/x86/hvm/vmx/entry.S                      |  2 ++
 xen/arch/x86/hvm/vmx/vmcs.c                       |  8 +++++---
 xen/arch/x86/hvm/vmx/vmx.c                        | 10 +++++++++-
 xen/arch/x86/include/asm/hvm/nestedhvm.h          | 10 +++++++++-
 15 files changed, 51 insertions(+), 18 deletions(-)
 rename xen/arch/x86/hvm/svm/{nestedhvm.h => nestedsvm.h} (100%)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:33:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:33:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921658.1325445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDD0-0001Fn-1D; Thu, 20 Mar 2025 10:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921658.1325445; Thu, 20 Mar 2025 10:33: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 1tvDCz-0001Fg-TX; Thu, 20 Mar 2025 10:33:05 +0000
Received: by outflank-mailman (input) for mailman id 921658;
 Thu, 20 Mar 2025 10:33: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvDCy-0000nL-Mi
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:33:04 +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 b3ce18e3-0576-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:33:03 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so6211015e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03:33: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
 ffacd0b85a97d-395cb40cdd0sm23489418f8f.77.2025.03.20.03.33.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 03:33: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: b3ce18e3-0576-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742466782; x=1743071582; 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=eQVazOJlWberGa7NQsP+2uxAiCJL+ke5FVATRNPr0UE=;
        b=N0dWPAfxx+0BiMqgcqYe7tKSFYk90CtDgXe7xyeTt/Koc29fpujNpQe8WUgo2kxSMa
         hMc2yTkVxrvKGOdgPXoqHa9xbzi88Qe52Bb3KYHiHkO1FEvkgOjefu0nKCru9LEqI4ky
         dpXNwnpYD+ini3H7e1mMAS31+1qLHhj0AKJJSvZWRpkw14jToWt2SqozZ95JEZs7/7bd
         8h72u58DVFgCXCqR9iqitBiuBw2mG18peJIAHK6QtzTydLGwQAbuaLK41Lba4YRf5mnw
         E+jkY2h2T0sS4eWpTKnPRuS4jhrW6ErvTuBCC3E/lkpW03GdogZ8kmffu2n2nDTnXodp
         65hQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742466782; x=1743071582;
        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=eQVazOJlWberGa7NQsP+2uxAiCJL+ke5FVATRNPr0UE=;
        b=Fi3Z77jQ+Z/lSxKETnxpf+6G/3Lb47kAs2wJJ455Ik9zlFBrIbnP8IUne094peEW3Z
         SkeyKXVaVc4/oyORWHqk0526G1UA675SsybO3yY5d8UQwZqK7vaqZNv6xZJK4zJi5S/h
         UPfktbS+qnVcxlk1kMsV9/2yJrHNLkHWPomRczXRHR1R7Dz8iZFp5ScTMH0rDWCJcK1I
         nXGQwRt8qqe/P55mED3vaFbGiMYbKjHeLMFXyFw/bKPydu0gB040snUwsOdc/QdAzWpD
         wz5woIRaIdb7R1ARXzZ90pkSuVo1iI40k6xDy41ZeI6oBlmXyAEqkOi3e3EvKMej/x0H
         TI0Q==
X-Forwarded-Encrypted: i=1; AJvYcCX9e8kKmks5LFByxMVp0md0SpC6mNJQg/pvEeIp4TVnjecC1B7MHYQtGIFTQiAZ5HXmb1yLb3DaYhs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/ZKmAumIfpTRT7JBm1QWdoPRyMxPwwItjQ6hweBmA53Ip89o/
	g367wsy/K3Of/kn2hhHSU+36JL7T9i58jlheq1ThAyVjbFxsl2L8Jb27xGMRyg==
X-Gm-Gg: ASbGnct7rTun3esJPacdH50fa7ZagJkzjM6addRUqdhMWlsGVgBKfoVpaeStz3re3Ud
	AxRgrb+sgVEuEBdCJPLLtvKkC1mDTarbuoNgAAIQRKqm2yf8ZR/gRki33a1IgH+5zWHZguWxguq
	2hM4PopL8l7BdCd//wBFls8KuJtg2eEqsMBD4bAhlyEjgTqVTzA7QTlX8YAkRFaL2atSo4TAMd0
	xK1u5IlENmyuDRS241hJu1mPPkFDMgoOZ0sAaQuGNng7TybQesfsbrPQk/4d3vd3NPhUtWVvsqr
	TvgnoaoTr59T92dHZadk3adKfV8/yZX4NbiMHOgvKGdPecheRPpZwY1QfCDrWoKds7glVnY42dL
	c09bYRGhEa/os/Gk83+tAKKkkStS+/g==
X-Google-Smtp-Source: AGHT+IFa4BgTQzkO6ClckzVQvn7CXXNMQfUktt0xJSLv+0sFvc11SONO0l43BlTmfNLFlW1iVNYOMA==
X-Received: by 2002:a05:6000:21c6:b0:391:1923:5a91 with SMTP id ffacd0b85a97d-399795e07d1mr1930920f8f.55.1742466782452;
        Thu, 20 Mar 2025 03:33:02 -0700 (PDT)
Message-ID: <6f28f284-25b9-4a28-a6ee-8588647801cd@suse.com>
Date: Thu, 20 Mar 2025 11:33:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/16] xen/arm: introduce a separate struct for watchdog
 timers
From: Jan Beulich <jbeulich@suse.com>
To: Mykola Kvach <xakep.amatop@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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>, Mykyta Poturai
 <mykyta_poturai@epam.com>, Mykola Kvach <mykola_kvach@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
 <ddbf31ae-5877-4df2-a6c7-8b0251ce2b01@suse.com>
 <CAGeoDV_h9vgyKyk_kH4XwsoWiJN0dx2UY+N0JAezUknGk9ez3g@mail.gmail.com>
 <7a1e9fdc-c1ec-449c-bf49-70bbc8e9c352@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: <7a1e9fdc-c1ec-449c-bf49-70bbc8e9c352@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 11:31, Jan Beulich wrote:
> On 20.03.2025 11:25, Mykola Kvach wrote:
>> On Thu, Mar 13, 2025 at 5:27âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>> On 05.03.2025 10:11, Mykola Kvach wrote:
>>>> From: Mirela Simonovic <mirela.simonovic@aggios.com>
>>>>
>>>> Introduce a separate struct for watchdog timers. It is needed to properly
>>>> implement the suspend/resume actions for the watchdog timers. To be able
>>>> to restart watchdog timer after suspend we need to remember their
>>>> frequency somewhere. To not bloat the struct timer a new struct
>>>> watchdog_timer is introduced, containing the original timer and the last
>>>> set timeout.
>>>>
>>>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>>>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>>>
>>> A From: with no corresponding S-o-b: is potentially problematic. You also
>>> can't simply add one with her agreement, though.
>>
>> Thank you for pointing that out! I'll revisit all commits and add the missing
>> Signed-off-by tags in the next version of patch series.
> 
> Ftaod - you may not add anyone's S-o-b without their agreement.

Oh, and it would help if you could avoid submitting patches with invalid
email addresses in Cc:. Everyone replying will then experience delivery
failures.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:34:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:34:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921673.1325455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDE4-0001rl-8s; Thu, 20 Mar 2025 10:34:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921673.1325455; Thu, 20 Mar 2025 10:34: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 1tvDE4-0001re-5n; Thu, 20 Mar 2025 10:34:12 +0000
Received: by outflank-mailman (input) for mailman id 921673;
 Thu, 20 Mar 2025 10:34: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=fVbL=WH=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvDE2-0001rW-Vf
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:34:10 +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 dbc49140-0576-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 11:34:10 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-54ad1e75f49so422632e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03:34: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: dbc49140-0576-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742466849; x=1743071649; 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=O+sdNEvkgyfxZGH4q2UckX89IcUSg62K0ZvWWRSUPUU=;
        b=T6WXSTqpqraKMO1EN+zDUSPQ3geNxijM+QghXYeLQmnpwhVceuETkoofpRQNXrNnCR
         iohUhSECuzJkGHKrdjE/cUy6YX3pFwL7nRkCedkSR+NuIeUYUY09h+ATjEugyr5buO8T
         tC11xIhTaWJOOOPhdjos6DpjqlpM8U/qyTvMIS/e2y3CD0QeVV5rjo683FSTEEAR89x8
         +pT1Sn6uipQQk2kOFD0bQYplHL6on/9H9XytIslWra8Etk8hcJr7RCk3+EWwhPyjwpbc
         XYUqp5hY6hIVUjjSsRCcC4qRxM1M8DfMolPP4+gxby+zI05dxFBjJLeRjVK+K3kpvIrz
         dT+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742466849; x=1743071649;
        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=O+sdNEvkgyfxZGH4q2UckX89IcUSg62K0ZvWWRSUPUU=;
        b=oDLf5ojHFnndTicEtZBK8/6E9nmkVMlrfatucSlpLBCaxBzOVlgNsTQQN14QOcpszU
         usnNQ5u3T8gKMMmHIS+EZGPNb+VjouZGITZTzh+BTg3VmW2FftRDFhMdlgVSdo8VO+WT
         HDtpqodvjNlCUzV4Jhb2gAQFbaVEAooRBIZPqi92xqNQrLfM+sTEj2YObxYkSylw/n1z
         VHMKbqBS+iU7rJc0KJGILQ4hoQQTDKMnhPCwY0M+dqJ5Wfv8E/UMzXGzsenQHmReDbHh
         c0gFGGaAEIaWMNta/O4c1tgqtCPJdzF97eII8uLLtPNx67jL/fJGTUmTdu6GnGIL9RTy
         eO6Q==
X-Gm-Message-State: AOJu0YyuJcPJX0hWLu/kwGo53713mMaaiiZxlNAMcXIfACSRExzWzKgW
	OPdAnUPGNZXklPzWC7Lw088rBiNqNm6hQO73mRFpEMEexoh7zm+lBAEQHivMJTsvLzCkkJZKc6g
	1YCAO/Th4rmzMAML/l+dKQUBldrA=
X-Gm-Gg: ASbGnctvFbbJvhYC/U5bJHH4uvfeAB00ui1OdmGDzeTqGYvO9D2tI88+h627HmpekGN
	4wkDlBuxkW7c412ZGCdMYZ8i2z/EZfmCZ0d02sqyGtqixGLzo6qIUileY8Jhl6+ntOWstwrobHY
	YReRo1TYYNet3MWPzS6pyOFBNqpSU+CFNeR+Y=
X-Google-Smtp-Source: AGHT+IFT6fa3wRQ4C6/cNQQ6bF8/9CWjteB8TxoUlM3aJGEmEUjkvxz7A6yNdYLOnLR87atKP3zImvlYpYnhGhScFRg=
X-Received: by 2002:a05:6512:3e06:b0:549:86c8:1132 with SMTP id
 2adb3069b0e04-54acb1bf0abmr2434614e87.17.1742466849056; Thu, 20 Mar 2025
 03:34:09 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <18a8a86ca0c1b884278d635fb18b3b53e062f10e.1741164138.git.xakep.amatop@gmail.com>
 <257d612f-62ec-4507-8e18-f8e10fb20975@epam.com>
In-Reply-To: <257d612f-62ec-4507-8e18-f8e10fb20975@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Thu, 20 Mar 2025 12:33:58 +0200
X-Gm-Features: AQ5f1JrESIrJMlqf5dV3na82IhzdW4N876Q4U89SoW924y2pqVzGOfEFOeYS6e8
Message-ID: <CAGeoDV-mgNhK7XuGcnE9sc56ZF1UG-Nfzkr0RqAme-V-9k1JKA@mail.gmail.com>
Subject: Re: [PATCH 03/16] xen/arm: introduce a separate struct for watchdog timers
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: xen-devel@lists.xenproject.org, 
	Mirela Simonovic <mirela.simonovic@aggios.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>, Dario Faggioli <dfaggioli@suse.com>, 
	Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>, 
	Mykyta Poturai <mykyta_poturai@epam.com>, Mykola Kvach <mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Wed, Mar 19, 2025 at 6:14=E2=80=AFPM Grygorii Strashko
<grygorii_strashko@epam.com> wrote:
>
>
>
> On 05.03.25 11:11, Mykola Kvach wrote:
> > From: Mirela Simonovic <mirela.simonovic@aggios.com>
> >
> > Introduce a separate struct for watchdog timers. It is needed to proper=
ly
> > implement the suspend/resume actions for the watchdog timers. To be abl=
e
> > to restart watchdog timer after suspend we need to remember their
> > frequency somewhere. To not bloat the struct timer a new struct
> > watchdog_timer is introduced, containing the original timer and the las=
t
> > set timeout.
> >
> > Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > This commit was introduced in patch series V2.
> > ---
> >   xen/common/keyhandler.c    |  2 +-
> >   xen/common/sched/core.c    | 11 ++++++-----
> >   xen/include/xen/sched.h    |  3 ++-
> >   xen/include/xen/watchdog.h |  6 ++++++
> >   4 files changed, 15 insertions(+), 7 deletions(-)
> >
> > diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
> > index 0bb842ec00..caf614c0c2 100644
> > --- a/xen/common/keyhandler.c
> > +++ b/xen/common/keyhandler.c
> > @@ -305,7 +305,7 @@ static void cf_check dump_domains(unsigned char key=
)
> >           for ( i =3D 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> >               if ( test_bit(i, &d->watchdog_inuse_map) )
> >                   printk("    watchdog %d expires in %d seconds\n",
> > -                       i, (u32)((d->watchdog_timer[i].expires - NOW())=
 >> 30));
> > +                       i, (u32)((d->watchdog_timer[i].timer.expires - =
NOW()) >> 30));
>
> I'd like to propose to add watchdog API wrapper here, like
>
> watchdog_domain_expires_sec(d,id)
>
> or
>
> watchdog_domain_dump(d)
>
> and so hide implementation internals.

It was already proposed by Jan Beulich. I'll do it.

>
> >
> >           arch_dump_domain_info(d);
> >
> > diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> > index d6296d99fd..b1c6b6b9fa 100644
> > --- a/xen/common/sched/core.c
> > +++ b/xen/common/sched/core.c
> > @@ -1556,7 +1556,8 @@ static long domain_watchdog(struct domain *d, uin=
t32_t id, uint32_t timeout)
> >           {
> >               if ( test_and_set_bit(id, &d->watchdog_inuse_map) )
> >                   continue;
> > -            set_timer(&d->watchdog_timer[id], NOW() + SECONDS(timeout)=
);
> > +            d->watchdog_timer[id].timeout =3D timeout;
> > +            set_timer(&d->watchdog_timer[id].timer, NOW() + SECONDS(ti=
meout));
> >               break;
> >           }
> >           spin_unlock(&d->watchdog_lock);
> > @@ -1572,12 +1573,12 @@ static long domain_watchdog(struct domain *d, u=
int32_t id, uint32_t timeout)
> >
> >       if ( timeout =3D=3D 0 )
> >       {
> > -        stop_timer(&d->watchdog_timer[id]);
> > +        stop_timer(&d->watchdog_timer[id].timer);
> >           clear_bit(id, &d->watchdog_inuse_map);
> >       }
> >       else
> >       {
> > -        set_timer(&d->watchdog_timer[id], NOW() + SECONDS(timeout));
> > +        set_timer(&d->watchdog_timer[id].timer, NOW() + SECONDS(timeou=
t));
> >       }
> >
> >       spin_unlock(&d->watchdog_lock);
> > @@ -1593,7 +1594,7 @@ void watchdog_domain_init(struct domain *d)
> >       d->watchdog_inuse_map =3D 0;
> >
> >       for ( i =3D 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> > -        init_timer(&d->watchdog_timer[i], domain_watchdog_timeout, d, =
0);
> > +        init_timer(&d->watchdog_timer[i].timer, domain_watchdog_timeou=
t, d, 0);
> >   }
> >
> >   void watchdog_domain_destroy(struct domain *d)
> > @@ -1601,7 +1602,7 @@ void watchdog_domain_destroy(struct domain *d)
> >       unsigned int i;
> >
> >       for ( i =3D 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> > -        kill_timer(&d->watchdog_timer[i]);
> > +        kill_timer(&d->watchdog_timer[i].timer);
> >   }
> >
> >   /*
> > diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> > index 177784e6da..d0d10612ce 100644
> > --- a/xen/include/xen/sched.h
> > +++ b/xen/include/xen/sched.h
> > @@ -24,6 +24,7 @@
> >   #include <asm/current.h>
> >   #include <xen/vpci.h>
> >   #include <xen/wait.h>
> > +#include <xen/watchdog.h>
> >   #include <public/xen.h>
> >   #include <public/domctl.h>
> >   #include <public/sysctl.h>
>
> I think struct watchdog_timer (or whatever you going to add) need to be m=
oved in sched.h
> because...
>
> > @@ -569,7 +570,7 @@ struct domain
> >   #define NR_DOMAIN_WATCHDOG_TIMERS 2
> >       spinlock_t watchdog_lock;
> >       uint32_t watchdog_inuse_map;
> > -    struct timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
> > +    struct watchdog_timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS];
> >
> >       struct rcu_head rcu;
> >
> > diff --git a/xen/include/xen/watchdog.h b/xen/include/xen/watchdog.h
> > index 4c2840bd91..2b7169632d 100644
> > --- a/xen/include/xen/watchdog.h
> > +++ b/xen/include/xen/watchdog.h
> > @@ -8,6 +8,12 @@
> >   #define __XEN_WATCHDOG_H__
> >
> >   #include <xen/types.h>
> > +#include <xen/timer.h>
>
> ...this interface is not related to domain's watchdogs.
>  From x86 code, it seems like some sort of HW watchdog used to check pCPU=
s state
> and not domains/vcpu. And it's Not enabled for Arm now.

Sorry, but maybe I missed something. However, this struct and the
previous watchdog timer
are used as fields of the domain struct and correspond to a particular
domain. Also, take a look
at some functions where the watchdog timer field is used: domain_watchdog,
watchdog_domain_init, and watchdog_domain_destroy.
I see a direct connection with a domain..

>
> > +
> > +struct watchdog_timer {
> > +    struct timer timer;
> > +    uint32_t timeout;
> > +};
> >
> >   #ifdef CONFIG_WATCHDOG
> >

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:34:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921685.1325465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDEV-0002Nf-JU; Thu, 20 Mar 2025 10:34:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921685.1325465; Thu, 20 Mar 2025 10:34: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 1tvDEV-0002NY-Fi; Thu, 20 Mar 2025 10:34:39 +0000
Received: by outflank-mailman (input) for mailman id 921685;
 Thu, 20 Mar 2025 10:34: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=5Eqg=WH=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tvDEU-00028p-8f
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:34:38 +0000
Received: from fforwardh-b4-smtp.messagingengine.com
 (fforwardh-b4-smtp.messagingengine.com [202.12.124.199])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eae78487-0576-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:34:36 +0100 (CET)
Received: from phl-compute-09.internal (phl-compute-09.phl.internal
 [10.202.2.49])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 05A6A174026D;
 Thu, 20 Mar 2025 06:34:34 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-09.internal (MEProxy); Thu, 20 Mar 2025 06:34:35 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 06:34:33 -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: eae78487-0576-11f0-9ffa-bf95429c2676
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: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=fm1; t=1742466874; x=1742553274; bh=Z
	vqoqk1j+rIu5ILPWCa0JGJxnaepdFoSJRqpq0naegA=; b=Gn2Eo1Tzdlh03yvJ/
	SxWJkL1Oir9Q5RatAmHmOnlAAweksRBuHlzLaOXvzyluip72eP8T+jvxcvRVzDYY
	xThJRjGS47hrDS9xFYef7JQ9cTDEoBvjjcppDZiYZP/RLZVdOd44zQ1B43s0lFSB
	2+NIbJ+qdq9IN0zmyo134o0WvilP804aljvUjNmNLkj24yrLDf0gkFvZqV/LWJok
	BWJrQTkEGk95+f9LGIgKkFIGHu0tpY2RbfdV3/A6QcMuDBlUhYN6Wti7d/nu77nA
	/BPQ/SwUXt1K+FNGOlzyxwQ4/NhjLkiS+sWH2z+Y+D9h4uGzxLi/owuy9KDfFQ+Z
	c//nQ==
X-ME-Sender: <xms:Ou_bZ-7J_nCqCeiR1Q9frV4Y81tQOYZ9KOSYtYnXfZ2JXZzaNEki0Q>
    <xme:Ou_bZ37qRdm4WwSlokBdv76P6-T4UWsJZDWiMLi1peeO66hK_raUzvtKj3NHFtCyi
    H4VMOEhKp8J7SP23UA>
X-ME-Received: <xmr:Ou_bZ9dj-rrqCFPHgy5YBh74ZVfl-OyInHUTxVjmnku0woxx8ozb_Taw1vfzpJNGZyjSKWF7IhEwZSBlQrpn2otFQR_5w2DZixzW39TF_2fslg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeejleelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgi
    gvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthht
    ohepshgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtohepjhgsvg
    hulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghr
    feestghithhrihigrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrih
    igrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:Ou_bZ7IYZ1MNU8IMSeU6rZ9VN0JieUY_uDAjGSsT5hAtxRf-8fKT9g>
    <xmx:Ou_bZyI0cX_OmIK679Z8kKXbK3BbtVseBco6PGpXWqgUca5FH_mkPQ>
    <xmx:Ou_bZ8xaSASljbVK4fd6nohtargUD7yfbdTf9uX-dMDhJ73jXt2Jvg>
    <xmx:Ou_bZ2KCD-Mb8d4SR0Bcy2LBihYTdUia0tWQTVuk8yjak8R0FUUSUw>
    <xmx:Ou_bZ5Zcx9PZTCOqg97mNCtDJuZ6pRMRv_UF27ejDfhmb82O5cojpw>
    <xmx:Ou_bZ0jLUwup_BODSojfNXY8JEMj3VFcNOD0B2MBu-D9tRzVajEijEwZ1jbO>
Feedback-ID: idf2f5561:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 1/4] x86:svm: use nsvm_efer_svm_enabled() to check guest's EFER.SVME
Date: Thu, 20 Mar 2025 12:34:31 +0200
Message-Id: <67e52e38695be12aca828025077a378e92174952.1742465624.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There's a macro for this, might improve readability a bit & save a bit of space.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/hvm/svm/nestedsvm.c | 2 +-
 xen/arch/x86/hvm/svm/svm.c       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 35a2cbfd7d..dc2b6a4253 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -1616,7 +1616,7 @@ void svm_nested_features_on_efer_update(struct vcpu *v)
      * Need state for transfering the nested gif status so only write on
      * the hvm_vcpu EFER.SVME changing.
      */
-    if ( v->arch.hvm.guest_efer & EFER_SVME )
+    if ( nsvm_efer_svm_enabled(v) )
     {
         if ( !vmcb->virt_ext.fields.vloadsave_enable &&
              paging_mode_hap(v->domain) &&
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 4b24891096..e33a38c1e4 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -253,7 +253,7 @@ static void cf_check svm_update_guest_efer(struct vcpu *v)
     vmcb_set_efer(vmcb, guest_efer);
 
     ASSERT(nestedhvm_enabled(v->domain) ||
-           !(v->arch.hvm.guest_efer & EFER_SVME));
+           !nsvm_efer_svm_enabled(v));
 
     if ( nestedhvm_enabled(v->domain) )
         svm_nested_features_on_efer_update(v);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:36:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:36:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921700.1325475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDGU-000308-Sl; Thu, 20 Mar 2025 10:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921700.1325475; Thu, 20 Mar 2025 10:36: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 1tvDGU-000301-Pq; Thu, 20 Mar 2025 10:36:42 +0000
Received: by outflank-mailman (input) for mailman id 921700;
 Thu, 20 Mar 2025 10:36: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=5Eqg=WH=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tvDGT-0002zv-SB
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:36:41 +0000
Received: from fforwardh-b4-smtp.messagingengine.com
 (fforwardh-b4-smtp.messagingengine.com [202.12.124.199])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34be7fd3-0577-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:36:40 +0100 (CET)
Received: from phl-compute-07.internal (phl-compute-07.phl.internal
 [10.202.2.47])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id D4FC517400BF;
 Thu, 20 Mar 2025 06:36:38 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-07.internal (MEProxy); Thu, 20 Mar 2025 06:36:39 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 06:36:37 -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: 34be7fd3-0577-11f0-9ffa-bf95429c2676
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: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=fm1; t=1742466998; x=1742553398; bh=+
	GvjfQhGqFlLWakh3kcAuKsyU0zqa7rKivVVChzonKU=; b=Y9ER6ptXRsa5ewX2t
	FK5+JE9IJtL4omOpX/zlGxwoYEWLEJuLwoeU8140Hiy/K9WULCPWcGFyCsW92Gd3
	3SjNSmkFDFdvfPwMqmr4U/wCCe/9+54wogMYrd+2i621ZokaHDDpLO5H0gy5somB
	yYw/RkQ3Tbu/JBpYVex/4w/qAymwX5mxknkn+XpSMNq0LUcIvV4ZwIifSwq5QPQU
	V9wQdrJFhl2Y16D1o8Ljd+wxkDzFWYIYe6/N6GdNn40xD1OxBKPi2rCMB56EqfXt
	2LMom++72aWKzMGDeQFra1h5ozZl+VetI5gOrvFlzbPShc66fMjN5ABpo1QWYvHJ
	VRNKA==
X-ME-Sender: <xms:tu_bZzpY1FHPxjpzJmYGEQTlehS0efYT_zFScOefxyT5436Ni4HlBA>
    <xme:tu_bZ9rIG4gfkhjcFmzxqT6h1KLAmUOMOkJ3TcyNZBrB1u0vDm5YUvAm5IdnlpCL3
    HTczn92UlPN180IUJs>
X-ME-Received: <xmr:tu_bZwO5oBYln7sBqtBhB0Oa56f6d36M1EM9tKa0zyfRBj85ZFXfpAis7L5ZKBpv9QpsPvOobujZgCJyDAkOZs1ffNZjJoa5uSokGVRE5oSFrA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeejleekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgi
    gvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthht
    ohepshgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtohepjhgsvg
    hulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghr
    feestghithhrihigrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrih
    igrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:tu_bZ27kTnaT4n3EYbyNCvVb_dvoFViJfTV5H7QMmEigq1vvcWn_0Q>
    <xmx:tu_bZy7bfXan9q7QsngFZI3Ym75xS6L4BPB-PIitnPHU8ZfjyQeCaQ>
    <xmx:tu_bZ-hC0PlvzkDj1ij63qDv-BwTvBZW6hjjUwU7EJfqSDF08AtYvg>
    <xmx:tu_bZ05-Rsq9lQ3BPkzEpy8QyCDP37qV-X8yPuN7xBsGqZxAKO0Lug>
    <xmx:tu_bZxKoFpIrDPCphyovSFKweXGWdIL58JEgg9pxoGAWto2agBb_Fg>
    <xmx:tu_bZ0SKWsDry17DBG-ZKArB_Z5zEKIvlSfThCZd84CDp_YdOqWQZOG0H8It>
Feedback-ID: i77698ef3:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 2/4] x86:svm: rename svm/nestedhvm.h -> svm/nestedsvm.h
Date: Thu, 20 Mar 2025 12:36:35 +0200
Message-Id: <ad1cc03c3544235426b73e3779edb36653f25287.1742465624.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is private header for SVM code, comment in header and file's changelog
suggest that intended name was svm/nestedsvm.h, so perhaps a small mistake here.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/hvm/svm/intr.c                       | 2 +-
 xen/arch/x86/hvm/svm/{nestedhvm.h => nestedsvm.h} | 0
 xen/arch/x86/hvm/svm/svm.c                        | 2 +-
 3 files changed, 2 insertions(+), 2 deletions(-)
 rename xen/arch/x86/hvm/svm/{nestedhvm.h => nestedsvm.h} (100%)

diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
index 46186a1102..feaf42d81b 100644
--- a/xen/arch/x86/hvm/svm/intr.c
+++ b/xen/arch/x86/hvm/svm/intr.c
@@ -25,7 +25,7 @@
 #include <public/hvm/ioreq.h>
 #include <xen/domain_page.h>
 
-#include "nestedhvm.h"
+#include "nestedsvm.h"
 
 static void svm_inject_nmi(struct vcpu *v)
 {
diff --git a/xen/arch/x86/hvm/svm/nestedhvm.h b/xen/arch/x86/hvm/svm/nestedsvm.h
similarity index 100%
rename from xen/arch/x86/hvm/svm/nestedhvm.h
rename to xen/arch/x86/hvm/svm/nestedsvm.h
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index e33a38c1e4..09ac138691 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -41,7 +41,7 @@
 
 #include <public/sched.h>
 
-#include "nestedhvm.h"
+#include "nestedsvm.h"
 #include "svm.h"
 
 void noreturn svm_asm_do_resume(void);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:38:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:38:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921714.1325484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDIU-0003Z0-6Y; Thu, 20 Mar 2025 10:38:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921714.1325484; Thu, 20 Mar 2025 10:38: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 1tvDIU-0003Yt-43; Thu, 20 Mar 2025 10:38:46 +0000
Received: by outflank-mailman (input) for mailman id 921714;
 Thu, 20 Mar 2025 10:38: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=5Eqg=WH=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tvDIT-0003Yn-Ak
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:38:45 +0000
Received: from fforwardh-b4-smtp.messagingengine.com
 (fforwardh-b4-smtp.messagingengine.com [202.12.124.199])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e7bd635-0577-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 11:38:43 +0100 (CET)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 6DE461740212;
 Thu, 20 Mar 2025 06:38:42 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-08.internal (MEProxy); Thu, 20 Mar 2025 06:38:42 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 06:38:41 -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: 7e7bd635-0577-11f0-9ea0-5ba50f476ded
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: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=fm1; t=1742467122; x=1742553522; bh=H
	CSqtTK0OLa/KDGOXFDTBAHtZN66AA0RE3rsvMWIX/c=; b=IHtiK1r2HHhb0jq6C
	iof1p/ftdVi3fr6SO7gVFnCeEkFQxqkpUPmNrx8CHzpZdWOow3oeP1dt7yjjj9rA
	nVJvHoUpKEmteVFGbLMlaO+cBCh1ucQ6kmZDju4KhfNEThkm9g96KCAZHpW4LLmp
	VewvhhA8TKnMZU2xhfWM4yMxlixOnhGgXtOdJ6Wc6dj9/eFmUsDzHb0fF8mGaEl9
	cjsftJ8UKiK5wp7UgTt44hxsTxAi2q9VSsc+2IwKrqC0pQLj/8mSU0cfCJx5Rv7G
	K6qXgaHp+Y8xODEIMsn1AtwxZIt5opu7IYXRqGeuw+uyIsWryoynT+CPfoSzvlfT
	F0aMA==
X-ME-Sender: <xms:MfDbZ1F0csWD2U4AGcigZuu21H0rKd7-7aM2nw8QsRPlM_huLAEbWw>
    <xme:MfDbZ6Vo3qaJRm6uttJey-YwuJ9um9i2_fqpUipAYjdBxJ4K6fABOnDj6vlRKeF2k
    Q_z0GtXYAnXk-LUSIE>
X-ME-Received: <xmr:MfDbZ3IkM2QLSg5ZbkXH7DWdOjov423tWwtfELzOJ6r6dA7rZOaspjeAngaXDsZxm4XBGC7Cu7NJR6Dbdb4artTwpTHqgnSzjL0VIbvY-frCLw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeektddtucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnheptdejgeegvdffkeekleefueev
    gfduheevkedvhfdvkeeludehleegheeivedugfejnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihht
    vgdpnhgspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgi
    gvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthht
    ohepshgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtohepjhgsvg
    hulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghr
    feestghithhrihigrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrih
    igrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:MfDbZ7FcgFYdZYDd4AhSGCSl9rzaez9eyk-hFIIz8B3pg3XpMnkyIA>
    <xmx:MfDbZ7VBXlU1bGPtLerKQ8YrRMaxEqMAqDsH2pSNt6P6Lo0hgBDdiQ>
    <xmx:MfDbZ2M07RHmu0lTorck8pZadRHAmE9xOTGhf3Br8YZXl7u10XIY5A>
    <xmx:MfDbZ63R8VZqTYIf4cKDX_2b2DSFkWHkuh72noJolv37tkks2jmTag>
    <xmx:MfDbZ4WBhKEbDdy5SFzq4eM3ODD62JOxe-83C8el2WTpz0wuiNm58g>
    <xmx:MvDbZxf_MNLDHh14KBnrlMhm7GLmmQziVGNxTzpFQ61Cf_2MN3zIQONSKc8C>
Feedback-ID: i5fffb4f7:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 3/4] x86:hvm: guard calls to nestedhvm routines
Date: Thu, 20 Mar 2025 12:38:39 +0200
Message-Id: <bd3edffaee9ecdccfbf35f70bf502a1fa00f36de.1742465624.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Check whether nested HVM is enabled for domain before calling nestedhvm_vcpu_*()
and other not already guarded nestedhvm functions.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/hvm/hvm.c      | 6 ++++--
 xen/arch/x86/hvm/svm/asid.c | 2 +-
 xen/arch/x86/hvm/svm/svm.c  | 6 +++---
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 2f31180b6f..5abbf7029d 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1658,7 +1658,8 @@ int hvm_vcpu_initialise(struct vcpu *v)
     return 0;
 
  fail6:
-    nestedhvm_vcpu_destroy(v);
+    if ( nestedhvm_enabled(d) )
+        nestedhvm_vcpu_destroy(v);
  fail5:
     free_compat_arg_xlat(v);
  fail4:
@@ -1682,7 +1683,8 @@ void hvm_vcpu_destroy(struct vcpu *v)
     if ( hvm_altp2m_supported() )
         altp2m_vcpu_destroy(v);
 
-    nestedhvm_vcpu_destroy(v);
+    if ( nestedhvm_enabled(v->domain) )
+        nestedhvm_vcpu_destroy(v);
 
     free_compat_arg_xlat(v);
 
diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c
index 7977a8e86b..05c8971714 100644
--- a/xen/arch/x86/hvm/svm/asid.c
+++ b/xen/arch/x86/hvm/svm/asid.c
@@ -30,7 +30,7 @@ void svm_asid_handle_vmrun(void)
     struct vcpu *curr = current;
     struct vmcb_struct *vmcb = curr->arch.hvm.svm.vmcb;
     struct hvm_vcpu_asid *p_asid =
-        nestedhvm_vcpu_in_guestmode(curr)
+        ( nestedhvm_enabled(curr->domain) && nestedhvm_vcpu_in_guestmode(curr) )
         ? &vcpu_nestedhvm(curr).nv_n2asid : &curr->arch.hvm.n1asid;
     bool need_flush = hvm_asid_handle_vmenter(p_asid);
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 09ac138691..d7d91427fd 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -795,7 +795,7 @@ static void cf_check svm_set_tsc_offset(struct vcpu *v, u64 offset, u64 at_tsc)
     n1vmcb = vcpu_nestedhvm(v).nv_n1vmcx;
     n2vmcb = vcpu_nestedhvm(v).nv_n2vmcx;
 
-    if ( nestedhvm_vcpu_in_guestmode(v) )
+    if ( nestedhvm_enabled(d) && nestedhvm_vcpu_in_guestmode(v) )
     {
         n2_tsc_offset = vmcb_get_tsc_offset(n2vmcb) -
                         vmcb_get_tsc_offset(n1vmcb);
@@ -2172,7 +2172,7 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
         return;
     }
 
-    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    if ( nestedhvm_enabled(v->domain) && !nestedsvm_vmcb_map(v, vmcbaddr) )
     {
         gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #GP\n");
         hvm_inject_hw_exception(X86_EXC_GP, 0);
@@ -2190,7 +2190,7 @@ nsvm_get_nvmcb_page(struct vcpu *v, uint64_t vmcbaddr)
     struct page_info *page;
     struct nestedvcpu *nv = &vcpu_nestedhvm(v);
 
-    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    if ( nestedhvm_enabled(v->domain) && !nestedsvm_vmcb_map(v, vmcbaddr) )
         return NULL;
 
     /* Need to translate L1-GPA to MPA */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:39:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921726.1325495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDJD-00043h-Fq; Thu, 20 Mar 2025 10:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921726.1325495; Thu, 20 Mar 2025 10:39: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 1tvDJD-00043a-CD; Thu, 20 Mar 2025 10:39:31 +0000
Received: by outflank-mailman (input) for mailman id 921726;
 Thu, 20 Mar 2025 10:39: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvDJC-0003oU-Ht
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:39:30 +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 99d5e451-0577-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:39:29 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso3794145e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03:39:29 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f6bf09sm44640845e9.26.2025.03.20.03.39.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 03:39: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: 99d5e451-0577-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742467168; x=1743071968; 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=kEQibdfx57irddpcsnyXU4WxyFvZtkyG06d+LDZQ/5k=;
        b=iqimM/VUsZ1uYr+867RBXSQMIg3bIx11edi35zSm58AHZzl6yt/K+T/7a1dbXn3hX5
         Ne/LK0jKSeJ190DK+rgvhILygXQILJlyGb8fGrHgjiWF0UDvu5f5AFZkd998FbZ99pac
         BlnLS9QHyn1LZ8yu+PZKwLqpDIC7fcarJmpJE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742467168; x=1743071968;
        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=kEQibdfx57irddpcsnyXU4WxyFvZtkyG06d+LDZQ/5k=;
        b=FThsALcoURv7kzWTvu3H183Q3uVKKfjwRPoLK6M7v8QS7c6lhIlZxOyRHeLojLaHtU
         OvnTzpWQuN7YEZN9CGH3cpgPUn5Fg3WQgAOePDTlaS/Dh4mmQT+9vF5roMoLYVvJ2UEr
         RolL3/xSsrMPtsIiHHUKMtH7AROPyPT8wcIvBg+ASS/5gDKjmNv5MtyOUYupzz5EyyKw
         5dE0x7S71uTJNunmjs7fWBbn7rVwP1+d4dGKpM4LX17RlzazuTDijK46YLsxy5NnplXG
         VsYJYC0dZiIBc5EKGYFtHtRa+gYXzzQFcVscktJNJVqzg8yMojkhvK9BN9Dfdz+aqgY4
         aXIw==
X-Forwarded-Encrypted: i=1; AJvYcCWaF/UefmSfTc3WvoI9jOuvMKEmtfDCzO+vAaYxtgs9qM7ZS/fmRYzFYebaTSedVz4SPgtc1jz4K+k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxLwORuZ7Ne/w834pdk6PrOjO11qwBynB0MrB3o8/7uRtQfYs2c
	JQFzyns8LQpbca2QiYfClcXUQ8ecYtlIvQUCLkqoupAqnvNy9t2raCEsFk598BM=
X-Gm-Gg: ASbGncsC/3BKGljtzKOU4/ro6FDHYAhIMWMUsZozGyZH7Hmb36pimOE3BZL7F/5C0qH
	5NXxtt31jmURYNseUZmO+cU47zJ+5U7MQwP3clEdGpYi27KMHinwL/HNqWPqlOzfaLiM7h5nisE
	ga5P4yk4yWtGVlxBRdIa8Oaq+an5K2w+zY6omptDyQC5cniEfsqa/3xYlqux179KlBYkkCKtTj/
	ONZm+9KpCqGtReEX7oB+FhvFtFqdKzaqCNt1cDZWVVHTe2hzlnBdfYf3Z8hN1dOXroTw+FvVMsE
	IX6GNcMh8clwQGgRzH84T4Q8zmp49lbTutmRsOVUPHVQhYFUGM+0H7SxLG5yZWhe9vARAafkUxf
	8GT5W/MqOTw==
X-Google-Smtp-Source: AGHT+IHlIGjbg4G/APzTVfmO8z+9M/ejau88dtN5Wa/Glzk8PawATExDNuSv1c5kC+U1y2MrzOwqPg==
X-Received: by 2002:a05:600c:81b:b0:439:873a:1114 with SMTP id 5b1f17b1804b1-43d49171dfamr15575255e9.6.1742467168348;
        Thu, 20 Mar 2025 03:39:28 -0700 (PDT)
Message-ID: <545dcd10-2cff-4f31-be7d-004ad36eeb34@citrix.com>
Date: Thu, 20 Mar 2025 10:39:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/PVH: account for module command line length
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 <jandryuk@gmail.com>
References: <577ddc98-fdbb-48af-9c7e-1a411383516b@suse.com>
 <9bdc10ba-8572-46b3-a39e-e011e97d1e85@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: <9bdc10ba-8572-46b3-a39e-e011e97d1e85@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/03/2025 9:28 am, Jan Beulich wrote:
> As per observation in practice, initrd->cmdline_pa is not normally zero.
> Hence so far we always appended at least one byte. That alone may
> already render insufficient the "allocation" made by find_memory().
> Things would be worse when there's actually a (perhaps long) command
> line.
>
> Skip setup when the command line is empty. Amend the "allocation" size
> by padding and actual size of module command line. Along these lines
> also skip initrd setup when the initrd is zero size.
>
> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Use elf_round_up(). Introduce initrd_cmdline local. Re-base.
>
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -652,9 +652,10 @@ static int __init pvh_load_kernel(
>      unsigned long image_len = image->size;
>      unsigned long initrd_len = initrd ? initrd->size : 0;
>      const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
> +    const char *initrd_cmdline = NULL;
>      struct elf_binary elf;
>      struct elf_dom_parms parms;
> -    size_t extra_space;
> +    size_t extra_space = 0;
>      paddr_t last_addr;
>      struct hvm_start_info start_info = { 0 };
>      struct hvm_modlist_entry mod = { 0 };
> @@ -712,10 +713,23 @@ static int __init pvh_load_kernel(
>       * split into smaller allocations, done as a single region in order to
>       * simplify it.
>       */
> -    extra_space = sizeof(start_info);
> +    if ( initrd_len )
> +    {
> +        extra_space = elf_round_up(&elf, initrd_len);
> +
> +        if ( initrd->cmdline_pa )
> +        {
> +            initrd_cmdline = __va(initrd->cmdline_pa);
> +            if ( !*initrd_cmdline )
> +                initrd_cmdline = NULL;
> +        }
> +        if ( initrd_cmdline )
> +            extra_space += strlen(initrd_cmdline) + 1;
> +
> +        extra_space = ROUNDUP(extra_space, PAGE_SIZE) + sizeof(mod);
> +    }
>  
> -    if ( initrd )
> -        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
> +    extra_space += sizeof(start_info);
>  

This is rather ugly.Â  I could rearrange the original patch, but the main
issue is "extra_space = elf_round_up(&elf, initrd_len);" and that trick
works exactly once in the function, seeing as it clobbers the running total.

IMO it would be better to have a local initrd_space variable, with an
"extra_space += ROUNDUP(initrd_space ...)", at which point the logic
(and therefore the diff) becomes rather more simple.


There is a change in behaviour.Â  You mention empty initrds in the commit
message, but it is possible to have an empty initrd with a non-empty
cmdline.Â  Previously we would have passed that on, whereas now we dont.

I suspect we probably don't care.Â  cmdlines on secondary modules are
rare to begin with, but I just want to make sure we've considered the
possibility.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:41:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921740.1325506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDKW-0005nT-W7; Thu, 20 Mar 2025 10:40:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921740.1325506; Thu, 20 Mar 2025 10:40: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 1tvDKW-0005nL-RG; Thu, 20 Mar 2025 10:40:52 +0000
Received: by outflank-mailman (input) for mailman id 921740;
 Thu, 20 Mar 2025 10:40: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=5Eqg=WH=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tvDKV-0005lS-JJ
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:40:51 +0000
Received: from fforwardh-b4-smtp.messagingengine.com
 (fforwardh-b4-smtp.messagingengine.com [202.12.124.199])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c81987bd-0577-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:40:47 +0100 (CET)
Received: from phl-compute-01.internal (phl-compute-01.phl.internal
 [10.202.2.41])
 by mailfforwardh.stl.internal (Postfix) with ESMTP id 1A8E51740240;
 Thu, 20 Mar 2025 06:40:46 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-01.internal (MEProxy); Thu, 20 Mar 2025 06:40:46 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 06:40: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: c81987bd-0577-11f0-9ffa-bf95429c2676
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: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=fm1; t=1742467245; x=1742553645; bh=Z
	FBqzfTuIOcXKUcH4af4gFZfF5sz9uMBXXpfzTunwhs=; b=o0juFXLIxSaLe8GMX
	UJ6ZgDYUqJUMd5erKY5fZKzUAfc/GGPpN39veW1sleHIEqd39bGyYuT5PQdrFPUi
	ehBGf8qQad8hipCwB3AZ2PdPs1wLc/klw63cpbaHkaQgraBJ/6bDpEpSDNoRI+CS
	3Sf3jpzTl88YkAonJKjAN3qE14WAMirVXzJgrsyDSE3NiKXFToaaAvxcYpqEInN4
	IllasQ6wgVtouUHvglk8I4dHWcSdO72Xs1Zc9ezKuU2URQwJopV90RI9nqo4QDZ9
	ML+Ph4d8k2PSixQ8YOqbgrbNjJihQp4Gg5H4h0e9kFLjw9dNMYqO5ThtggQMrrP+
	4AGhw==
X-ME-Sender: <xms:rfDbZ4Nh9_xrDX0nk4sTO4ogn7u1Cyol-apJPWi7N_O1tn5InOhn6A>
    <xme:rfDbZ-9Sqr0V8RZh6c5EMFopcRMAuEl-Tq4u6auOFlFyePfqFk2odi_jtXFgAPJcs
    jdhH3K4b28xISkcXAU>
X-ME-Received: <xmr:rfDbZ_RhvHViYKIsp6yrle8EJsaDOpgvi6ubMT71T3qitQ-bpvrDHrHdHeTdANOvxo8jeHIUuhw2WxV2QqvhRAAClBLaOu-4K_z4VwNdGdeO3w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeejleelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredt
    tdenucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrih
    hksegvphgrmhdrtghomheqnecuggftrfgrthhtvghrnhephfevveeuieeljefhkedugeeh
    leeugefgfffhjefhvdeitdethfettdeitefgheevnecuffhomhgrihhnpegvnhhtrhihrd
    hssgenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehs
    rghkihgssegurghrkhhsthgrrhdrshhithgvpdhnsggprhgtphhtthhopeeipdhmohguvg
    epshhmthhpohhuthdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghn
    phhrohhjvggtthdrohhrghdprhgtphhtthhopehsvghrghhihigpkhhisghrihhksegvph
    grmhdrtghomhdprhgtphhtthhopehjsggvuhhlihgthhesshhushgvrdgtohhmpdhrtghp
    thhtoheprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdprhgtphhtth
    hopehrohhgvghrrdhprghusegtihhtrhhigidrtghomhdprhgtphhtthhopehsshhtrggs
    vghllhhinhhisehkvghrnhgvlhdrohhrgh
X-ME-Proxy: <xmx:rfDbZwtZCosLXB0jIu9LOrPqgaoh3IS4wPdEBhI2vQ_lKezIAeqO1g>
    <xmx:rfDbZweQz1v4OnAwzYT996nDFBYIFJ9Uv-lfLNYjIfBHVXwEQg6O4w>
    <xmx:rfDbZ005IewNJq-G3MvRHotvZDnr7pBqPBPdy6ePkW4jiwiqboTm0Q>
    <xmx:rfDbZ08lOm9ezFUIYEXxCOyzDEgVfahDtdxJ3GkZZZjQ30xmE9gBdQ>
    <xmx:rfDbZ3-py4gE4K5K9f0i9sil256aKW_0RMha6nf0udOTOWGyYiV-mg>
    <xmx:rfDbZ1FsU-HQ7rlAQwbezL6xl5spjHQMcwv7w8gp9OHB0JF6qQ8WDOLZfNQX>
Feedback-ID: i7f3fb726:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 4/4] x86:hvm: make nestedhvm support optional
Date: Thu, 20 Mar 2025 12:40:43 +0200
Message-Id: <e4f77564313d20ad4f3b94bde0672250f7d99bb4.1742465624.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce NESTEDHVM config option that controls nested virtualization in both
SVM & VMX code. The option is for reduction of dead code on systems that
aren't intended to run in nested mode.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig                     |  5 +++++
 xen/arch/x86/hvm/Makefile                |  2 +-
 xen/arch/x86/hvm/svm/Makefile            |  2 +-
 xen/arch/x86/hvm/svm/entry.S             |  2 ++
 xen/arch/x86/hvm/svm/svm.c               |  4 ++++
 xen/arch/x86/hvm/vmx/Makefile            |  2 +-
 xen/arch/x86/hvm/vmx/entry.S             |  2 ++
 xen/arch/x86/hvm/vmx/vmcs.c              |  8 +++++---
 xen/arch/x86/hvm/vmx/vmx.c               | 10 +++++++++-
 xen/arch/x86/include/asm/hvm/nestedhvm.h | 10 +++++++++-
 10 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6e41bc0fb4..bc140d8b77 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -144,6 +144,11 @@ config INTEL_VMX
 	  If your system includes a processor with Intel VT-x support, say Y.
 	  If in doubt, say Y.
 
+config NESTEDHVM
+	bool "Support nested virtualization" if EXPERT
+	depends on HVM
+	default y
+
 config XEN_SHSTK
 	bool "Supervisor Shadow Stacks"
 	depends on HAS_AS_CET_SS
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 4c1fa5c6c2..c80b209296 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -17,7 +17,7 @@ obj-y += ioreq.o
 obj-y += irq.o
 obj-y += monitor.o
 obj-y += mtrr.o
-obj-y += nestedhvm.o
+obj-$(CONFIG_NESTEDHVM) += nestedhvm.o
 obj-y += pmtimer.o
 obj-y += quirks.o
 obj-y += rtc.o
diff --git a/xen/arch/x86/hvm/svm/Makefile b/xen/arch/x86/hvm/svm/Makefile
index 760d2954da..4b45ca050f 100644
--- a/xen/arch/x86/hvm/svm/Makefile
+++ b/xen/arch/x86/hvm/svm/Makefile
@@ -2,7 +2,7 @@ obj-y += asid.o
 obj-y += emulate.o
 obj-bin-y += entry.o
 obj-y += intr.o
-obj-y += nestedsvm.o
+obj-$(CONFIG_NESTEDHVM) += nestedsvm.o
 obj-y += svm.o
 obj-y += svmdebug.o
 obj-y += vmcb.o
diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index 91edb33459..62ebe1198b 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -28,7 +28,9 @@ FUNC(svm_asm_do_resume)
         GET_CURRENT(bx)
 .Lsvm_do_resume:
         call svm_intr_assist
+#ifdef CONFIG_NESTEDHVM
         call nsvm_vcpu_switch
+#endif
         ASSERT_NOT_IN_ATOMIC
 
         mov  VCPU_processor(%rbx),%eax
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index d7d91427fd..b678fb46aa 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2460,6 +2460,7 @@ static struct hvm_function_table __initdata_cf_clobber svm_function_table = {
     .set_descriptor_access_exiting = svm_set_descriptor_access_exiting,
     .get_insn_bytes       = svm_get_insn_bytes,
 
+#ifdef CONFIG_NESTEDHVM
     .nhvm_vcpu_initialise = nsvm_vcpu_initialise,
     .nhvm_vcpu_destroy = nsvm_vcpu_destroy,
     .nhvm_vcpu_reset = nsvm_vcpu_reset,
@@ -2469,6 +2470,7 @@ static struct hvm_function_table __initdata_cf_clobber svm_function_table = {
     .nhvm_vmcx_hap_enabled = nsvm_vmcb_hap_enabled,
     .nhvm_intr_blocked = nsvm_intr_blocked,
     .nhvm_hap_walk_L1_p2m = nsvm_hap_walk_L1_p2m,
+#endif
 
     .get_reg = svm_get_reg,
     .set_reg = svm_set_reg,
@@ -2991,12 +2993,14 @@ void asmlinkage svm_vmexit_handler(void)
     case VMEXIT_VMSAVE:
         svm_vmexit_do_vmsave(vmcb, regs, v, regs->rax);
         break;
+#ifdef CONFIG_NESTEDHVM
     case VMEXIT_STGI:
         svm_vmexit_do_stgi(regs, v);
         break;
     case VMEXIT_CLGI:
         svm_vmexit_do_clgi(regs, v);
         break;
+#endif
 
     case VMEXIT_XSETBV:
         if ( vmcb_get_cpl(vmcb) )
diff --git a/xen/arch/x86/hvm/vmx/Makefile b/xen/arch/x86/hvm/vmx/Makefile
index 04a29ce59d..6588b58889 100644
--- a/xen/arch/x86/hvm/vmx/Makefile
+++ b/xen/arch/x86/hvm/vmx/Makefile
@@ -3,4 +3,4 @@ obj-y += intr.o
 obj-y += realmode.o
 obj-y += vmcs.o
 obj-y += vmx.o
-obj-y += vvmx.o
+obj-$(CONFIG_NESTEDHVM) += vvmx.o
diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 6aaeb28a5b..ed4db38733 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -86,7 +86,9 @@ FUNC(vmx_asm_vmexit_handler)
 
 .Lvmx_do_vmentry:
         call vmx_intr_assist
+#ifdef CONFIG_NESTEDHVM
         call nvmx_switch_guest
+#endif
         ASSERT_NOT_IN_ATOMIC
 
         mov  VCPU_processor(%rbx),%eax
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 0ba65becec..8d7f714a04 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -674,7 +674,7 @@ int cf_check vmx_cpu_up_prepare(unsigned int cpu)
      * If nvmx_cpu_up_prepare() failed, do not return failure and just fallback
      * to legacy mode for vvmcs synchronization.
      */
-    if ( nvmx_cpu_up_prepare(cpu) != 0 )
+    if ( IS_ENABLED(CONFIG_NESTEDHVM) && nvmx_cpu_up_prepare(cpu) != 0 )
         printk("CPU%d: Could not allocate virtual VMCS buffer.\n", cpu);
 
     if ( per_cpu(vmxon_region, cpu) )
@@ -685,7 +685,8 @@ int cf_check vmx_cpu_up_prepare(unsigned int cpu)
         return 0;
 
     printk("CPU%d: Could not allocate host VMCS\n", cpu);
-    nvmx_cpu_dead(cpu);
+    if ( IS_ENABLED(CONFIG_NESTEDHVM) )
+        nvmx_cpu_dead(cpu);
     return -ENOMEM;
 }
 
@@ -693,7 +694,8 @@ void cf_check vmx_cpu_dead(unsigned int cpu)
 {
     vmx_free_vmcs(per_cpu(vmxon_region, cpu));
     per_cpu(vmxon_region, cpu) = 0;
-    nvmx_cpu_dead(cpu);
+    if ( IS_ENABLED(CONFIG_NESTEDHVM) )
+        nvmx_cpu_dead(cpu);
     vmx_pi_desc_fixup(cpu);
 }
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4883bd823d..ed68195445 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1959,6 +1959,7 @@ static void nvmx_enqueue_n2_exceptions(struct vcpu *v,
                  nvmx->intr.intr_info, nvmx->intr.error_code);
 }
 
+#ifdef CONFIG_NESTEDHVM
 static int cf_check nvmx_vmexit_event(
     struct vcpu *v, const struct x86_event *event)
 {
@@ -1966,6 +1967,7 @@ static int cf_check nvmx_vmexit_event(
                                hvm_intsrc_none);
     return NESTEDHVM_VMEXIT_DONE;
 }
+#endif
 
 static void __vmx_inject_exception(int trap, int type, int error_code)
 {
@@ -2851,6 +2853,7 @@ static struct hvm_function_table __initdata_cf_clobber vmx_function_table = {
     .handle_cd            = vmx_handle_cd,
     .set_info_guest       = vmx_set_info_guest,
     .set_rdtsc_exiting    = vmx_set_rdtsc_exiting,
+#ifdef CONFIG_NESTEDHVM
     .nhvm_vcpu_initialise = nvmx_vcpu_initialise,
     .nhvm_vcpu_destroy    = nvmx_vcpu_destroy,
     .nhvm_vcpu_reset      = nvmx_vcpu_reset,
@@ -2860,8 +2863,9 @@ static struct hvm_function_table __initdata_cf_clobber vmx_function_table = {
     .nhvm_vcpu_vmexit_event = nvmx_vmexit_event,
     .nhvm_intr_blocked    = nvmx_intr_blocked,
     .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,
+#endif
+    .update_vlapic_mode = vmx_vlapic_msr_changed,
     .enable_msr_interception = vmx_enable_msr_interception,
     .altp2m_vcpu_update_p2m = vmx_vcpu_update_eptp,
     .altp2m_vcpu_update_vmfunc_ve = vmx_vcpu_update_vmfunc_ve,
@@ -3465,10 +3469,12 @@ static int cf_check vmx_msr_read_intercept(
         __vmread(GUEST_IA32_DEBUGCTL, msr_content);
         break;
 
+#ifdef CONFIG_NESTEDHVM
     case MSR_IA32_VMX_BASIC...MSR_IA32_VMX_VMFUNC:
         if ( !nvmx_msr_read_intercept(msr, msr_content) )
             goto gp_fault;
         break;
+#endif
     case MSR_IA32_MISC_ENABLE:
         rdmsrl(MSR_IA32_MISC_ENABLE, *msr_content);
         /* Debug Trace Store is not supported. */
@@ -4631,6 +4637,7 @@ void asmlinkage vmx_vmexit_handler(struct cpu_user_regs *regs)
         }
         break;
 
+#ifdef CONFIG_NESTEDHVM
     case EXIT_REASON_VMXOFF:
     case EXIT_REASON_VMXON:
     case EXIT_REASON_VMCLEAR:
@@ -4645,6 +4652,7 @@ void asmlinkage vmx_vmexit_handler(struct cpu_user_regs *regs)
         if ( nvmx_handle_vmx_insn(regs, exit_reason) == X86EMUL_OKAY )
             update_guest_eip();
         break;
+#endif
 
     case EXIT_REASON_VMFUNC:
         if ( vmx_vmfunc_intercept(regs) != X86EMUL_OKAY )
diff --git a/xen/arch/x86/include/asm/hvm/nestedhvm.h b/xen/arch/x86/include/asm/hvm/nestedhvm.h
index ea2c1bc328..1703eaafde 100644
--- a/xen/arch/x86/include/asm/hvm/nestedhvm.h
+++ b/xen/arch/x86/include/asm/hvm/nestedhvm.h
@@ -25,14 +25,22 @@ enum nestedhvm_vmexits {
 /* Nested HVM on/off per domain */
 static inline bool nestedhvm_enabled(const struct domain *d)
 {
-    return IS_ENABLED(CONFIG_HVM) && (d->options & XEN_DOMCTL_CDF_nested_virt);
+    return IS_ENABLED(CONFIG_NESTEDHVM) &&
+           (d->options & XEN_DOMCTL_CDF_nested_virt);
 }
 
 /* Nested VCPU */
 int nestedhvm_vcpu_initialise(struct vcpu *v);
 void nestedhvm_vcpu_destroy(struct vcpu *v);
 void nestedhvm_vcpu_reset(struct vcpu *v);
+#ifdef CONFIG_NESTEDHVM
 bool nestedhvm_vcpu_in_guestmode(struct vcpu *v);
+#else
+static inline bool nestedhvm_vcpu_in_guestmode(struct vcpu *v)
+{
+    return false;
+}
+#endif
 #define nestedhvm_vcpu_enter_guestmode(v) \
     vcpu_nestedhvm(v).nv_guestmode = 1
 #define nestedhvm_vcpu_exit_guestmode(v)  \
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:47:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:47:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921764.1325514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDR2-0007a8-If; Thu, 20 Mar 2025 10:47:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921764.1325514; Thu, 20 Mar 2025 10:47: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 1tvDR2-0007a1-Fo; Thu, 20 Mar 2025 10:47:36 +0000
Received: by outflank-mailman (input) for mailman id 921764;
 Thu, 20 Mar 2025 10:47: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=GTqZ=WH=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tvDR0-0007Zv-Dc
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:47:34 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f403:2614::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba6285f8-0578-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 11:47:33 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Thu, 20 Mar
 2025 10:47:30 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.031; Thu, 20 Mar 2025
 10:47: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: ba6285f8-0578-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rI3yHBWqkmJ0f4V4Y7zqDuO4DSCwc2MXtXW8tSoAkgXHJ/TkWM7atxMng2kJiR6hu9iwVdg50/Ywu65PrRcezCbKQoYuW5RWGEgaL7fVdvu6OrCQlQTj0fkjAeURjZzhGSKyYal7BIs8Cqda3HXPjpAFzWmm1pl2grM9JOnijGFQ58G+IMTPJ4yTkxU5YYvqTK4YycJUa4eFKjmT7z6xiaR204zhyeCH1LH3J13FugQEZhbYhl0Kw9OHoMkD6Zj62ivZQXf9MnHZPkTJK13y28TrFmxWKPQrUBh5ivD2elg2SYG2kNq0QaJY4/e7nmkm4Lk4zRlyLkJ84kQr6FvRSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BAX8z2eRJ5ZqbStb8Fjl7veWegKVY0OH+onZypfuF9I=;
 b=o80TtHEkq5k6ayerVJk0k0CKLar90qZSdFz4w7z14lBlrwFpE2NhGPZy5xYyOPfQkcA013wJejqYUJcN96SsVx6NwDHQBg31FbAPtgc6LtCxC6t4iJ0hoEkCfKbxS4OdgEOKUYWEcg3Dp2ZsLVSbMn0TwOPfEbepJ3h4cc+rQ8rUMHtFUrimLVEAkjOiVbWCgxvMDPvT5QncBcNokLe2Y4kUyagvcdHFZW70CH7kHYbunXETfg3ebd5Jzv5oM6LAls6Ptbo4wy05zeW2GGGKwFPbdP67tk42N4Hl6GTRD2IR+d79vI/Fz+yE9UJTAQAabkai+oJFQBzJdMf2ezWGZA==
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=BAX8z2eRJ5ZqbStb8Fjl7veWegKVY0OH+onZypfuF9I=;
 b=V8z4BbSdazJNwj5y/uFrdHOgfqG556Usgnk5fk0YU0HYu2dL7qysXtT32sekyEuktsQkO3dgjTolsHJm1YyfDINE8QMGDKnfbc9OzkLiIRV9IYDzsyWLvZcxrFSUeBm0MtwE50jL8YtoZ0JdyBK3NT1mev0ajHs0p1QE2C5iGSoDL1WO/59qp5tOYe8/dTzajONO9eRyKkCn1xyVdRgHZLK8xY6nudTagu4pqpk3gq08NWlDq91CrJF15zRb6V4GJr73XuV+n6cBnShk2Vw1p93IfMAZIIb4WTRqxgo4LyP0CV0OjNqhv3prUad7xNjQRGqRi6rvZeqiHv8E7DYJPA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stewart
 Hildebrand <stewart.hildebrand@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v9 2/8] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids
 API
Thread-Topic: [PATCH v9 2/8] iommu/arm: Introduce
 iommu_add_dt_pci_sideband_ids API
Thread-Index: AQHblOXcI08sNdwZJ0ah+pJJkNPOtLN3b9CAgAMregCAAAIvgIABQ66A
Date: Thu, 20 Mar 2025 10:47:30 +0000
Message-ID: <8df846ba-2ec7-467a-a097-0b9c2e4f51dc@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
 <95d779f00127defa37f3c5056c762ea0da47fc53.1741958647.git.mykyta_poturai@epam.com>
 <d646b0b9-bae8-4f97-908a-f2e52cac708d@suse.com>
 <710bfddb-6ce3-4b11-bcd8-91f17d4f5be2@epam.com>
 <9a0ac3c1-e448-4acd-a471-d8d8e14fbc44@suse.com>
In-Reply-To: <9a0ac3c1-e448-4acd-a471-d8d8e14fbc44@suse.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_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 7b85f0f2-934d-4486-351a-08dd679c9d0e
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|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?cmxDWWQ1WnJXZm53RFJZczB5ekoyVU5ScjgvaG9sa3BjZGp5ZVBRdlIyNldC?=
 =?utf-8?B?MmQvSk5OQWV2L3NPRko3OHJuNnNlOTVhckhpTEhoMmN2OU93ZVZXR0JYYWx6?=
 =?utf-8?B?UkRnYzZIdm9VdXZnQ1k1S0hiUDFEQWZhQ1RGblNLcnJEV3Rxc3FwZmFkeFlp?=
 =?utf-8?B?RnJNUHhURURsaEptOWx3eDFsNys1YjM2N3lsOTlKN1BvVkVIWkFHaWt5UlZn?=
 =?utf-8?B?a1NtbUhYbXloRjV0VXpocGorUFZHRm9hek5OTm5ZUWtkSlFhR2pEK2N0bkdN?=
 =?utf-8?B?NFF1M2hVeWVBK3dSYkZVelphVGRiU3Q4QmQ5bTNKcjFQU25zc1dva0w0OFV5?=
 =?utf-8?B?M0xwdkNBYjdUNFp2N0htdVdocGt4bnRqWDNjQ2pwMnRodGdJTEdGOEI3REVs?=
 =?utf-8?B?TVZvYWJTOUlMc0o1cVFGVnpwRElIcmc1am5mSmpKN1Fxb01uY3A2ZnBuYVpH?=
 =?utf-8?B?QTFManlNcE1YY2luaGtucGcvSDIzMkxsM1BmbDFWSUNrSk9ySWtFc3laSzJ2?=
 =?utf-8?B?cHgwWnpiTzJJRnYrN0dMMGpyVGNTVWZEaHN4YnNHL3lrV2lOV2Z1OGVYRUww?=
 =?utf-8?B?cFN1UkthbktCbkpMQldzVVJiZ09TVVdySEt6SFFuUVoxZWI1akNwd0F5ZzYy?=
 =?utf-8?B?Qk1DWEk5eFVOUndsNW5zcjJaY0lFdEMvNjUzUHhDaWRFbGVkTmxwUnRCMHpI?=
 =?utf-8?B?My9kYXJaVVp4VnNxUStIYWU4NFNzd3ppNm1pZDE5Z1ZoOWJhQ21MbndkZStF?=
 =?utf-8?B?RFY5ZlRPNkpnQVZIZkRuUFJmLytPL0hZdzJKbGU1TEJzTFVyS0xSdkpESHpP?=
 =?utf-8?B?MVd6UCtqRGZ0QWhCZ3lxZDV5aVd0TVk4Vkpxa0srUDJ2ZXVyOG4vVjgwQzQ5?=
 =?utf-8?B?OXRUL0IwTVJMMjMvWEVxL3V1am0wU0ZVZkhDdnB3aC9VY211LzFtc3VNNkZx?=
 =?utf-8?B?V0luS0h6anR2Y1o0YTJCb0dKZWlFSkRLZ2xaWTZVMmJVSVpUbGo4cHBqYzg0?=
 =?utf-8?B?RzBTaThHaEVsRFVWbkU3MUs2aUVTeU9IUXhyZUxWQTYwb0I4dGwzV3JvakxV?=
 =?utf-8?B?ZzhYYWVBU1NZYzFYV3R6Q0hrUkh4WWZaNkhac0pMdGxNRGlITjJJMFVuUDVH?=
 =?utf-8?B?MTR6UWNmc0l5RVk5MnZEY21nUDRQUEdpOW9NOVEzbVZoZ0JCeDNFVDFrdVNE?=
 =?utf-8?B?dHdnaktaS1p2N0EyY01Bb2I5SVFGN2RSaDhWVFEwSlBBdXp3cFMycjNTQkF2?=
 =?utf-8?B?YjJOS04vMFJnVFg2SmdLSGlNNUVnZktodmhEclFFOE9JVmVsU00zUWdQcHpW?=
 =?utf-8?B?VDlaZk4zZjlBYkM3NFRWMWxLYm9jdEJWRG1YeVdDcjBYY2Fpb1BzdVFIc2tv?=
 =?utf-8?B?SDJQNHVRRnE1Qlo1WnlRWkVSZnAzMEJSdTZOYlJrSk02VnNlYmFJTUpsdGRY?=
 =?utf-8?B?ZHlVdUdYTEh0NENidWhQcm1ER0tVLzJ5V0lhbWQzVjRZb3pLNTZ6cmFLOW5P?=
 =?utf-8?B?WDN3L0toN1lvYzVJS1J5RktEdE5mUlg1THNaY2o5TVQ2QXhjUWFobE5TckZl?=
 =?utf-8?B?MUdTbHFtNTJKTEZpdE5jUXBFdlVMUVNWZmhWRnhaOGZGRjUvMjFLUkpORHJo?=
 =?utf-8?B?ZzU2SGlkNkJFdXl0aEpLVDdMYWRYc0xJeDQwUm5CY0QxVkRFQ2V4Y29QM0ty?=
 =?utf-8?B?WkpSZ1U1TExhRzVCSUQ0NEtza3RiMUVjSVMrdi82anljdTdsUHpOQkppeUJQ?=
 =?utf-8?B?QjVTS3lvK29xYitYSkdwSWhaQUt0Y01xaUN5b0lzVVZOZmdhdWxzOUpVR056?=
 =?utf-8?B?K0JCSmhWTlV0QXNONFJxKzVpMDlPSEtNaHJVL2pHWDJvcEtmQ0FqcXQreXBT?=
 =?utf-8?B?WER4NWYrY0dFc1NRU1BzcTVMMlBSWVorVmxneXVnSHlleWJkbE5oMVlScyt4?=
 =?utf-8?Q?s8l92YvL01wArrcq63r+kakVMP+utsvn?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RVl2UFR1Y0xUUHdVd1RRZEVuUENnZEdxamo3bWVGTy9PU1VrVEh0ZjF6V0RG?=
 =?utf-8?B?SGQwVGxVOGJ0OVZFTlBrYTRhdFdDa0hIQkUxejhtamE1bmdnVHQySFFQUVJu?=
 =?utf-8?B?NFUxV3Q2RVdCU25aT0IvZk9DekZ3czFEUFFXYnVDdFVzWVdOeVB5SHR3S01x?=
 =?utf-8?B?SlZjeXF1aVRFQ2hCK1ZzQ0JCUHZTRDNBYUd2NDVxZmV5ZTVtZVJEVDc4UlRa?=
 =?utf-8?B?Z2dTL1RFY1EzTFRhZHZYSXRMOHpBaUVXdTVPRXR3V0x4bVpmaFlIeHRqaWtS?=
 =?utf-8?B?cnI0L3kyTUNLY0dTZWlIclpFdmIrUWF0aFNvTUFvamlZUWh1NGRFMlBsKzlI?=
 =?utf-8?B?eDVhdmxzbTd2dDlNbmVuUnV4Tk83NVd2UTRmVG1hVWh2dGoyalFUTERXREd2?=
 =?utf-8?B?QnFpOTNvdUpjdUYvYWJCY2JWSTYrVVEyYm81c1hibFBJdWhIVms2N0RjeEE2?=
 =?utf-8?B?OXdkbExWZUhLTzNVLytLSzE0cHNSWVpJRi9udWxTbHd4TzQwWXpXb2pjNVQr?=
 =?utf-8?B?R2RzaURmbWJUTXlqYkVxdkdOUG10dHBIUm80QnNmNEM1R05mTURURUlJZG5C?=
 =?utf-8?B?YUJ5azRvdzdyVG5TTzdra3RIY3RmQVBOYWxRcGJrMDRTQmM2WUZTSFZRZ3Zm?=
 =?utf-8?B?QXJQblo2QTUyYnpwcEs0M1hSdXlwdnNvRGNMamJXNkxUYjRtMDNmVWQyVzZH?=
 =?utf-8?B?emlydk5wT0FQOWdPUHpPN3E2dHZSTlphTFVNbU9rWHRDSVdzMms2dDFUSDBt?=
 =?utf-8?B?YWpTWTdlSnRYb0lFd2lXeEQzZDBGd3NYRFlKb3E5cTUyNlFNdEdxbzhQelFW?=
 =?utf-8?B?NU5mcmczNTNOYkpOdXRJdytWb2cwMEZPTFFNaWJTVS9kaEczdmJaVENoeG9Q?=
 =?utf-8?B?eXhFQUJOejRqQnZSRndZMGFCMitIdGVrZDFuV21yNE5qYnBRS3l1L1Foc1N0?=
 =?utf-8?B?NnYraDRoUGdYbi9WazZXa0VKVWxxWEcwS3Z5a1hXQ3NmVGh0ZDN6WGIzQnY2?=
 =?utf-8?B?aTY5KzV3akNvcndKRVVYeWlOMVpSR3loVEZoYnowQ1BmOGwvVjBlZmFPd09X?=
 =?utf-8?B?cDFES3Q4Y2t2VnVnWW16aXdHaXNmVTVKSnNhRDZYK0VwOGJsYTcrRjA3V1Q2?=
 =?utf-8?B?NFdxQUFEbjFQeXZ4U3dML3dtYnRDSjV3SGRCbVBuSkFpRGRiak5HMU0xZjl6?=
 =?utf-8?B?Q2x6REYxcENBMWlGNjI1YTNTaCsxY1d2cjdQbHpHak54KzZqaCsya3M5QUZZ?=
 =?utf-8?B?QVR2YWNqck1EMW9hbTN5VnRualRtaDR5czFMWDhOcWtxbTgrMjlZMWdtVkVC?=
 =?utf-8?B?QmRySHdXOFZhUDVOb3ZqYmJEVHNLVldGcEx6N1JnUjJXWnlFMjlCajZrZ01s?=
 =?utf-8?B?M0U4djN2OVRyTG5aQnQrdjlHNVJFNEljbmRmdWtiRytwSjlWUUtCcDJvZjFa?=
 =?utf-8?B?TUJ1UktGd1pDWHpTLzVDcUpWeTBQYjJEYTdJR1ZTa2ZrMk53ZWxHbnZXWFdu?=
 =?utf-8?B?TWdKUldadnJIcUJwQlEvVXlaWWtxb1ErckFmMmtrL2VXMVQrSXFaWkpUOS93?=
 =?utf-8?B?enEzZmtiUnB4V1NUSC9OUHVoQTlVVlFYTUJuN0J4aEM5Ky9aaXNPeDgySVBJ?=
 =?utf-8?B?cFhqVXQxUVdTeXBqWDhJYTRudDREWGh4UlRxNUMrQUFmSTVxU2NuR09SRmxr?=
 =?utf-8?B?NnczZllKMyszZ29zSEN1V2VqM053ZU01YUdaZ0xFMTBvZG5yeEw2bTlqQ2l3?=
 =?utf-8?B?Rm1OL01CbEs4RXA3Y3pIbTQ0MVJ3clVlcUJrR0daSlJhY3VBaFBhb0NkZ0Jp?=
 =?utf-8?B?NlladjNuK2s0Ni9CM2lWY0RoVllnSTd0em1QWkZvR0lIRnNKU2VwSjR4NUFm?=
 =?utf-8?B?SEJUU0pyb2RwUHEwNjB6QXRvaXNLdlZGUXFxUlcrRFJQZzFXMks5dDQxYW8z?=
 =?utf-8?B?dCtZNTVGaG9HOGgrczh2d3dsUWtPV0hsbzRpaFVhc0hWNkhucC9tSkwvR2ZC?=
 =?utf-8?B?NVNvaUNWWjB6bHk2Z2J0VkJqZll0RGFuR08yN0d2Z3ZGdmYrM1dXQUhPdFA5?=
 =?utf-8?B?RW5mMWoyMXBiOFVrTW9BUjgvQ0RjMTRIKzE0TFZPR1N6bWJYZk1KVnE2bkpQ?=
 =?utf-8?B?dnlFY0tqMXBqbzVnRkV2MlR0ZG8waFpxYnZCMEVweWhINGsxb2NIYUZucEpF?=
 =?utf-8?B?aFE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <090E3AD2CA8E5C49990895A35F8F1462@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: 7b85f0f2-934d-4486-351a-08dd679c9d0e
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2025 10:47:30.3775
 (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: pLUrJuvQjSAy6PXLrw2OMeRoQJFOcweTytbEqyHL8Y5DMmpHVo8Mjlc4TxwgKneXYNb0g8HiF9EK+8RJXfrbrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063

T24gMTkuMDMuMjUgMTc6MjgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxOS4wMy4yMDI1IDE2
OjIxLCBNeWt5dGEgUG90dXJhaSB3cm90ZToNCj4+IE9uIDE3LjAzLjI1IDE2OjU2LCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+PiBPbiAxNC4wMy4yMDI1IDE0OjM0LCBNeWt5dGEgUG90dXJhaSB3cm90
ZToNCj4+Pj4gRnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtv
QGVwYW0uY29tPg0KPj4+Pg0KPj4+PiBUaGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgcGF0Y2ggaXMg
dG8gYWRkIGEgd2F5IHRvIHJlZ2lzdGVyIFBDSSBkZXZpY2UNCj4+Pj4gKHdoaWNoIGlzIGJlaGlu
ZCB0aGUgSU9NTVUpIHVzaW5nIHRoZSBnZW5lcmljIFBDSS1JT01NVSBEVCBiaW5kaW5ncyBbMV0N
Cj4+Pj4gYmVmb3JlIGFzc2lnbmluZyB0aGF0IGRldmljZSB0byBhIGRvbWFpbi4NCj4+Pj4NCj4+
Pj4gVGhpcyBiZWhhdmVzIHNpbWlsYXJseSB0byB0aGUgZXhpc3RpbmcgaW9tbXVfYWRkX2R0X2Rl
dmljZSBBUEksIGV4Y2VwdCBpdA0KPj4+PiBoYW5kbGVzIFBDSSBkZXZpY2VzLCBhbmQgaXQgaXMg
dG8gYmUgaW52b2tlZCBmcm9tIHRoZSBhZGRfZGV2aWNlIGhvb2sgaW4gdGhlDQo+Pj4+IFNNTVUg
ZHJpdmVyLg0KPj4+Pg0KPj4+PiBUaGUgZnVuY3Rpb24gZHRfbWFwX2lkIHRvIHRyYW5zbGF0ZSBh
biBJRCB0aHJvdWdoIGEgZG93bnN0cmVhbSBtYXBwaW5nDQo+Pj4+ICh3aGljaCBpcyBhbHNvIHN1
aXRhYmxlIGZvciBtYXBwaW5nIFJlcXVlc3RlciBJRCkgd2FzIGJvcnJvd2VkIGZyb20gTGludXgN
Cj4+Pj4gKHY1LjEwLXJjNikgYW5kIHVwZGF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBYZW4gY29kZSBi
YXNlLg0KPj4+Pg0KPj4+PiBbMV0gaHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvRG9jdW1lbnRh
dGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9wY2ktaW9tbXUudHh0DQo+Pj4+DQo+Pj4+IFNp
Z25lZC1vZmYtYnk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0Bl
cGFtLmNvbT4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogU3Rld2FydCBIaWxkZWJyYW5kIDxzdGV3YXJ0
LmhpbGRlYnJhbmRAYW1kLmNvbT4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogTXlreXRhIFBvdHVyYWkg
PG15a3l0YV9wb3R1cmFpQGVwYW0uY29tPg0KPj4+PiAtLS0NCj4+Pj4gUmVnYXJkaW5nIHBjaV9m
b3JfZWFjaF9kbWFfYWxpYXMgcXVlc3Rpb246IGdldHRpbmcgaG9zdCBicmlkZ2Ugbm9kZQ0KPj4+
PiBkaXJlY3RseSBzZWVtcyBsaWtlIGEgc2ltcGxlciBzb2x1dGlvbiB3aXRoIHRoZSBzYW1lIHJl
c3VsdC4gQUZBSVUNCj4+Pj4gd2l0aCBwY2lfZm9yX2VhY2hfZG1hX2FsaWFzIGluIGxpbnV4IHdl
IHdvdWxkIGFycml2ZSB0byB0aGUgaG9zdCBicmlnZQ0KPj4+PiBub2RlIGFueXdheSwgYnV0IGFs
c28gdHJ5IHRvIGNhbGwgZHRfbWFwX2lkIGZvciBlYWNoIGRldmljZSBhbG9uZyB0aGUNCj4+Pj4g
d2F5LiBJIGFtIG5vdCBzdXJlIHdoeSBleGFjdGx5IGl0IGlzIGRvbmUgdGhpcyB3YXkgaW4gbGlu
dXgsIGFzDQo+Pj4+IGFjY29yZGluZyB0byB0aGUgcGNpLWlvbW11LnR4dCwgaW9tbXUtbWFwIG5v
ZGUgY2FuIG9ubHkgYmUgcHJlc2VudCBpbg0KPj4+PiB0aGUgUENJIHJvb3QuDQo+Pj4+DQo+Pj4+
IHY4LT52OToNCj4+Pj4gKiByZXBsYWNlIERUX05PX0lPTU1VIHdpdGggMQ0KPj4+PiAqIGd1YXJk
IGlvbW11X2FkZF9wY2lfc2lkZWJhbmRfaWRzIHdpdGggQ09ORklHX0FSTQ0KPj4+DQo+Pj4gSSBm
ZWFyIEknbSBjb25mdXNlZDogSXNuJ3QgdGhpcyBjb250cmFkaWN0aW5nIC4uLg0KPj4+DQo+Pj4+
IHY3LT52ODoNCj4+Pj4gKiBFTk9TWVMtPkVPUE5PVFNVUFANCj4+Pj4gKiBtb3ZlIGlvbW11X2Fk
ZF9wY2lfc2lkZWJhbmRfaWRzIHRvIGlvbW11LmMgdG8gZml4IHg4NiBidWlsZA0KPj4+DQo+Pj4g
Li4uIHRoaXMgZWFybGllciBjaGFuZ2U/IFJlYWxseSwgd2l0aCB0aGVyZSBiZWluZyBubyBjYWxs
ZXIsIEkgY2FuJ3Qgc2VlDQo+Pj4gd2h5IHRoZXJlIGNvdWxkIGJlIGFueSBidWlsZCBpc3N1ZSBo
ZXJlIGFmZmVjdGluZyBvbmx5IHg4Ni4gRXhjZXB0IGZvcg0KPj4+IE1pc3JhIGNvbXBsYWluaW5n
IGFib3V0IHVucmVhY2hhYmxlIGNvZGUgYmVpbmcgaW50cm9kdWNlZCwgd2hpY2ggSSdtIHN1cmUN
Cj4+PiBJIHNhaWQgYmVmb3JlIHNob3VsZCBiZSBhdm9pZGVkLg0KPj4NCj4+IFRoZSBvcmlnaW5h
bCByZWFzb24gZm9yIG1vdmluZyB0aGlzIGZ1bmN0aW9uIHdhcyB0aGUgY29uZmxpY3RpbmcgQUNQ
SQ0KPj4gYW5kIEVGSSBoZWFkZXJzLCBJIGRlc2NyaWJlZCBpdCBpbiBWOCBjb21tZW50cyBoZXJl
WzFdLg0KPj4NCj4+Pg0KPj4+PiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5j
DQo+Pj4+ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMNCj4+Pj4gQEAgLTIw
LDYgKzIwLDcgQEANCj4+Pj4gICAgI2luY2x1ZGUgPHhlbi9wYXJhbS5oPg0KPj4+PiAgICAjaW5j
bHVkZSA8eGVuL3NvZnRpcnEuaD4NCj4+Pj4gICAgI2luY2x1ZGUgPHhlbi9rZXloYW5kbGVyLmg+
DQo+Pj4+ICsjaW5jbHVkZSA8eGVuL2FjcGkuaD4NCj4+Pj4gICAgI2luY2x1ZGUgPHhzbS94c20u
aD4NCj4+Pj4NCj4+Pj4gICAgI2lmZGVmIENPTkZJR19YODYNCj4+Pj4gQEAgLTc0NCw2ICs3NDUs
MjAgQEAgaW50IF9faW5pdCBpb21tdV9nZXRfZXh0cmFfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeShp
b21tdV9ncmRtX3QgKmZ1bmMsDQo+Pj4+ICAgICAgICByZXR1cm4gMDsNCj4+Pj4gICAgfQ0KPj4+
Pg0KPj4+PiArI2lmZGVmIENPTkZJR19BUk0NCj4+Pg0KPj4+IEkgcmVhbGl6ZSB3ZSBoYXZlIENP
TkZJR19YODYgaGVyZSBhcyB3ZWxsICh2aXNpYmxlIGV2ZW4gaW4gY29udGV4dCBvZiB0aGUNCj4+
PiBlYXJsaWVyIGh1bmsuIFlldCB0aGVuIHRoZSBnb2FsIG91Z2h0IHRvIGJlIHRvIHJlZHVjZSB0
aGVzZSBhbm9tYWxpZXMsIG5vdA0KPj4+IGFkZCBuZXcgb25lcy4gU2luY2UgSSBkb24ndCBoYXZl
IGEgY2xlYXIgcGljdHVyZSBvZiB3aGF0J3Mgd2FudGVkLCBJJ20gYWxzbw0KPj4+IGluIHRyb3Vi
bGUgc3VnZ2VzdGluZyBhbnkgYWx0ZXJuYXRpdmUsIEknbSBhZnJhaWQuDQo+Pg0KPj4gSGVyZSBp
cyBhIHNob3J0IHN1bW1hcnk6DQo+Pg0KPj4gVGhlIG1haW4gcHJvYmxlbSBpcyB0aGF0IHdlIG5l
ZWQgdGhpcyBmdW5jdGlvbiBzb21ld2hlcmUsIGJ1dCB0aGVyZSBpcw0KPj4gbm8gZ29vZCBwbGFj
ZSBmb3IgaXQuIEl0IGlzIG9ubHkgY2FsbGVkIG9uIEFSTSBmb3Igbm93IGJ1dCBpdCdzIG5vdA0K
Pj4gQVJNLXNwZWNpZmljIGJ5IG5hdHVyZSBhbmQgY2FuIGJlIGV2ZW50dWFsbHkgdXNlZCBvbiBv
dGhlciBwbGF0Zm9ybXMgYXMNCj4+IHdlbGwuIEl0IGNhbid0IGJlIGp1c3QgZHJvcHBlZCBiZWNh
dXNlIG9mIHRoZSBlZmZvcnQgdG8gc3VwcG9ydCB0aGUNCj4+IGNvLWV4aXN0ZW5jZSBvZiBEVCBh
bmQgQUNQSS4gSXQgYWxzbyBjYW4ndCBiZSBkZWNsYXJlZCBhcyBhIHN0YXRpYw0KPj4gZnVuY3Rp
b24gYmVjYXVzZSBpdCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIDx4ZW4vYWNwaS5oPiBmb3IN
Cj4+IGFjcGlfZGlzYWJsZWQgZGVmaW5lLCB3aGljaCBsZWFkcyB0byBidWlsZCBlcnJvcnNbMV0u
IEFuZCB3aXRob3V0IGlmZGVmDQo+PiBndWFyZHMgaXQgd291bGQgYmUgYSBNSVNSQSB2aW9sYXRp
b24uDQo+IA0KPiBBbiBhYnJpZGdlZCB2ZXJzaW9uIG9mIHRoaXMgb3VnaHQgdG8gZ28gaW4gdGhl
IHBhdGNoIGRlc2NyaXB0aW9uLCBJIHRoaW5rLg0KPiBUaGlzIGlzIHNwZWNpYWwsIHNvIGl0IG5l
ZWRzIGNhbGxpbmcgb3V0Lg0KPiANCj4gQXMgdG8gdGhlIHBsYWNlbWVudCAtIHdvdWxkIG1ha2lu
ZyBhbiBlbnRpcmVseSBuZXcgLmMgZmlsZSBwb3NzaWJseSBoZWxwPw0KPiAoVGhlbiwgaW5zdGVh
ZCBvZiBpbiB0aGUgcGF0Y2ggZGVzY3JpcHRpb24sIG1heWJlIHRoZSBzcGVjaWFsIGFzcGVjdCBj
b3VsZA0KPiBiZSBwdXQgaW4gYSBjb2RlIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZS4p
DQo+IA0KPiBKYW4NCg0KSXQgc2VlbXMgdG8gbWUgY3JlYXRpbmcgYSBuZXcgZmlsZSB3b3VsZCBi
ZSBvdmVya2lsbCBmb3Igb25lIHNtYWxsIA0KZnVuY3Rpb24uIEkgY29uc2lkZXJlZCBtb3Zpbmcg
aXQgdG8geGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMgDQp0byByZWR1Y2UgaWZk
ZWZzIGJ1dCBJIGZlYXJlZCBpdCB3b3VsZCBzdWdnZXN0IHRoYXQgaXQgaXMgYXJjaC1zcGVjaWZp
YyANCmEgYml0IHRvbyBzdHJvbmdseS4gU28gbWF5YmUgbW92ZSBpdCB0aGVyZSBhZnRlciBhbGwg
aWYgeW91IHRoaW5rIGl0IA0Kd291bGQgYmUgYmV0dGVyPw0KDQotLSANCk15a3l0YQ==


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:51:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:51:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921780.1325524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDUu-0001aT-4h; Thu, 20 Mar 2025 10:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921780.1325524; Thu, 20 Mar 2025 10:51: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 1tvDUu-0001aM-20; Thu, 20 Mar 2025 10:51:36 +0000
Received: by outflank-mailman (input) for mailman id 921780;
 Thu, 20 Mar 2025 10:51: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvDUt-0001aG-1Z
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:51:35 +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 49ea56d7-0579-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 11:51:33 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so4993315e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03: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
 5b1f17b1804b1-43d43f58ab6sm44660535e9.23.2025.03.20.03.51.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 03: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: 49ea56d7-0579-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742467893; x=1743072693; 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=vTgN8E6xLIWOQIfWh1DME/7h3i1jy3cLDqLmBTXiONA=;
        b=Pa2ZWmjsy5ZrukT+WtCi6wuHJmLh5OxluXWcEdZPiQDxHhS5wzHHatWyUfQDsrK0i0
         Zb2GZ+4tuUSxm6In4Ha1GHClc8/NPmZv3NKLSlIdsDkvdYqa9DtbvcsoGx0n5l5aRygU
         kg64ghXPXxN405GmizBzcCyuqhsL/h/hhDbiFYquT+zXzhbb8mYNBY/l8zApGHphWm25
         sl6pABuOzbBEqmD1W1RAJ+BM1wGvg9DZazcCLEkI9zLFwc15ZZwDxnSKEmEWmVnbY2PZ
         Qw2coFymxQlRzMkIu2gtjhmSu2p8Q5C0eCBORWLUYwN9h8WMh7FfxasEg0Cl8HU+3iXW
         /O9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742467893; x=1743072693;
        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=vTgN8E6xLIWOQIfWh1DME/7h3i1jy3cLDqLmBTXiONA=;
        b=Bt8T73vQAjOAQ1nvbHvc9QYIO0yaw358hsoDrcWNZOgJ+E7hv21BOz80oyN/lEPlBq
         I/JeiVo/MShUi1APQ8is4I2MJSHFWcFwA3/0222R22NcbPkaHwTo+9Fva3hwfTERtLkZ
         7w+C0MyKae479r0Cazq+fZD6HA324r8ftIJPd0uTqt4cDbQ7RZE2rfX3yxEnBafjNa3K
         Bmvsqvwg4Z2nusFSEBGY49OXL3Fx9fU+ZG5EzUVG8zZ26BmRO5l9gjYWn1ZkFUNAL9va
         LvwYfNxyssvyLPmN39DEsgquXX3wHAKnd1B6ZBivob8xzNHrw4/uWTjc53BY9CCo1GK4
         r+Sw==
X-Forwarded-Encrypted: i=1; AJvYcCX79Gdmk7MZvBYzjV0h89RAPUg01unVUBseqpc2ps3uqFzbGS4c60czA1Uh+HTdJAlo6H8xvFHl0Oo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqdDFoiIMLBec0m9JNce41e7eKJrk7Ql+ofp5djqwJK/3JsFLx
	nFy6L31cF78O27xm9VsCAApKtjLcFS59IUyD8ocLoV9trLXLzDDcW9vLBRwvsE6UnwCVHJtDK1w
	=
X-Gm-Gg: ASbGnctG8zBqboIqNBUtf422K3la277WkwM4wcJm4TCmbKsgIT4N+POSLYr0QZ/6j25
	WyUT1eiLhzbsyDQepNotGpfjF1Bsy4MP8NP2iQiftGG7F1bYgGa+Dx3Tq3AZj1Lq/5S3bj6Pi/2
	iyW8H3tnDS7JstXHQ2JjPCfem0NOQwxOUH47OCN2EZYAiLJzBZOxCw+nuiZdAQEjbMFMWywaIkV
	WbtnIC6QSWTZr2HOr8A5K3Lywg7Uit7NX1CmNXApVZvv+N6mOZIBwPJjIDXNKOAYhT+EWJuFfjw
	ZMOxZXgl1tO8bho8Cq8HnjRd4iJARaZC0qsSEhmSQuLjHmT97l7k02Fv6KhswHED+FQEm/VnCdk
	JtK7pRoPal+Ez8GJjuCBXrg/7LeL7YpUzYWfF9WnC
X-Google-Smtp-Source: AGHT+IFYiN6urXPCGJjuGlGBapaemV0niAhWSx4Wlvz19UE4pWRZIzXpPbXZ6dNi7CTTfbrSi1/uow==
X-Received: by 2002:a05:600c:1e07:b0:43c:fcb1:528a with SMTP id 5b1f17b1804b1-43d4950e6b4mr23921115e9.6.1742467893153;
        Thu, 20 Mar 2025 03:51:33 -0700 (PDT)
Message-ID: <9f583e6d-2487-4c07-afa4-a8485915468b@suse.com>
Date: Thu, 20 Mar 2025 11:51:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/PVH: account for module command line length
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <577ddc98-fdbb-48af-9c7e-1a411383516b@suse.com>
 <9bdc10ba-8572-46b3-a39e-e011e97d1e85@suse.com>
 <545dcd10-2cff-4f31-be7d-004ad36eeb34@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: <545dcd10-2cff-4f31-be7d-004ad36eeb34@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 11:39, Andrew Cooper wrote:
> On 20/03/2025 9:28 am, Jan Beulich wrote:
>> As per observation in practice, initrd->cmdline_pa is not normally zero.
>> Hence so far we always appended at least one byte. That alone may
>> already render insufficient the "allocation" made by find_memory().
>> Things would be worse when there's actually a (perhaps long) command
>> line.
>>
>> Skip setup when the command line is empty. Amend the "allocation" size
>> by padding and actual size of module command line. Along these lines
>> also skip initrd setup when the initrd is zero size.
>>
>> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> v2: Use elf_round_up(). Introduce initrd_cmdline local. Re-base.
>>
>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -652,9 +652,10 @@ static int __init pvh_load_kernel(
>>      unsigned long image_len = image->size;
>>      unsigned long initrd_len = initrd ? initrd->size : 0;
>>      const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
>> +    const char *initrd_cmdline = NULL;
>>      struct elf_binary elf;
>>      struct elf_dom_parms parms;
>> -    size_t extra_space;
>> +    size_t extra_space = 0;
>>      paddr_t last_addr;
>>      struct hvm_start_info start_info = { 0 };
>>      struct hvm_modlist_entry mod = { 0 };
>> @@ -712,10 +713,23 @@ static int __init pvh_load_kernel(
>>       * split into smaller allocations, done as a single region in order to
>>       * simplify it.
>>       */
>> -    extra_space = sizeof(start_info);
>> +    if ( initrd_len )
>> +    {
>> +        extra_space = elf_round_up(&elf, initrd_len);
>> +
>> +        if ( initrd->cmdline_pa )
>> +        {
>> +            initrd_cmdline = __va(initrd->cmdline_pa);
>> +            if ( !*initrd_cmdline )
>> +                initrd_cmdline = NULL;
>> +        }
>> +        if ( initrd_cmdline )
>> +            extra_space += strlen(initrd_cmdline) + 1;
>> +
>> +        extra_space = ROUNDUP(extra_space, PAGE_SIZE) + sizeof(mod);
>> +    }
>>  
>> -    if ( initrd )
>> -        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
>> +    extra_space += sizeof(start_info);
>>  
> 
> This is rather ugly.Â  I could rearrange the original patch, but the main
> issue is "extra_space = elf_round_up(&elf, initrd_len);" and that trick
> works exactly once in the function, seeing as it clobbers the running total.

My expectation was that quite likely we won't need that "trick" a 2nd time
here.

> IMO it would be better to have a local initrd_space variable, with an
> "extra_space += ROUNDUP(initrd_space ...)", at which point the logic
> (and therefore the diff) becomes rather more simple.

If you really think we need this, I can do so, but I would prefer to avoid
it.

> There is a change in behaviour.Â  You mention empty initrds in the commit
> message, but it is possible to have an empty initrd with a non-empty
> cmdline.Â  Previously we would have passed that on, whereas now we dont.

Hmm, yes, I can take care of that (at the expense of yet more churn).

Jan

> I suspect we probably don't care.Â  cmdlines on secondary modules are
> rare to begin with, but I just want to make sure we've considered the
> possibility.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 10:54:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 10:54:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921794.1325535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDXQ-0002lh-I4; Thu, 20 Mar 2025 10:54:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921794.1325535; Thu, 20 Mar 2025 10:54: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 1tvDXQ-0002lZ-Eu; Thu, 20 Mar 2025 10:54:12 +0000
Received: by outflank-mailman (input) for mailman id 921794;
 Thu, 20 Mar 2025 10:54: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvDXP-0002lR-8s
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 10:54:11 +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 a68a1b97-0579-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 11:54:09 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so4005025e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 03:54:09 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43fdeb79sm44871365e9.25.2025.03.20.03.54.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 03:54: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: a68a1b97-0579-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742468049; x=1743072849; 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=o+zFUBr4CbCtQ2nVLVMw60Fkngad+/MA1WN+quCl/ks=;
        b=IEmxpMYcm8qZrt73JSkUf4tSxOhUQ97rNBJPu6GbJkI1nSIe0Dcl8VZqoBPDAvhnzh
         SoZ9wZ1GowNLrXnRk0XtkJTEm45OHFrgu8/0L0Hy/sgiuu/fYTxJtBCLqKEF1wxtqyFE
         fADVt7QlOuPQPe5oSBE6aZ7UnIO7iuU0sHVHM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742468049; x=1743072849;
        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=o+zFUBr4CbCtQ2nVLVMw60Fkngad+/MA1WN+quCl/ks=;
        b=T35MZaXeB579POsP/2xwp5gU8i7pI8v5FoCCLW6NRpZPPfZHaYjkvZNsJtJVeYsSSX
         v6M47/7bYE4oCvikWDs51sq5JqfMklGY9rFDax87BksQhF+uYYWJRpDXacAVl7ZOMfEd
         BydLGn+dqGahuhYauC/prjksQj4Pnx0MFqBRLTPqoU5XWKx3AqUFtSvcVfvckPZdazhU
         kxYh0SpubE7EN0nDrvOiesuv39TKrIwApB8WisiON3sfiYWzFr//eNKLcXCaObLCeWLU
         fBj+n0odDb4hFcAeMxXFIS0tPl+XHtJjg014IxfW/FlBdNH4aHFSfNSM/8ta9toVKJ56
         WS2w==
X-Forwarded-Encrypted: i=1; AJvYcCWugqDuK1xwt77GiyGuodC9t28pyOkWqTqffydhn3c5/g+MgzolI9dkluOFuT6YfL+0YGwcF3vtfCU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyGoQfBM/bgCOB4A5o8ZQa1FGnGg9n7wmVFitx3wl4GcJkR1KBL
	fkQY35EnUC6SvjU2nfNBDbNh1TKgEU6az5YGs93TprBs3SzFtXbdZcXNiSCfFQQ=
X-Gm-Gg: ASbGncsmFfpoW7vwTH61rZ/A6IjIs4vKmjWeyOof/vfx+Njc2Ipwve02UhIvLLLqpoP
	5LCcI+u+HX3i1EIHWRv76o7rHzWsUo2lw4HYDmkpFFSPVCMZHBJ03S8d/371qOZpf6AjYrXP7qf
	vvhS2iZnPQ2s1EG6VwJHwMkxpF8Dbz4iGplUmBguK+SpbeHQ28ItVjkYc8aVBsuuozroKgyCyGB
	MgyUD4LSsvKczBwZL6sYLrW/mfIf3CJW04g1pMnYWnirt6pGUPC7J/vrMlqnJ6ELF4VZkgjA0mZ
	Jny2gcANBsl+PqsUouRO/8BiNjBrROcOgbFreQrQdxZ/8KuUAD6mwuZy5G9B3kMYKKNBoOsYiBs
	v3pVBNIzpeA==
X-Google-Smtp-Source: AGHT+IG+0KzXiIqLT7USnQOk8wOoufTa9dj0+DHjLHGsak2XrSbQYPUd8XU1svSgXM7vVMqiyoyxoQ==
X-Received: by 2002:a05:600c:5117:b0:43d:2313:7b4a with SMTP id 5b1f17b1804b1-43d495095ebmr26393875e9.3.1742468048699;
        Thu, 20 Mar 2025 03:54:08 -0700 (PDT)
Message-ID: <a12bdfea-f3a7-4e21-9bc5-519a0912c781@citrix.com>
Date: Thu, 20 Mar 2025 10:54:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 4/4] x86:hvm: make nestedhvm support optional
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 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: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
 <e4f77564313d20ad4f3b94bde0672250f7d99bb4.1742465624.git.Sergiy_Kibrik@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: <e4f77564313d20ad4f3b94bde0672250f7d99bb4.1742465624.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/03/2025 10:40 am, Sergiy Kibrik wrote:
> Introduce NESTEDHVM config option that controls nested virtualization in both
> SVM & VMX code. The option is for reduction of dead code on systems that
> aren't intended to run in nested mode.
>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

I know you're trying to remove unused code, but you're #ifdef-ing out
non-dead code which reachable by guests.

You cannot #ifdef out any of the VMExit or MSR handling.Â  They still
need handling if the guest does them, and falling to defaults doesn't
work.Â  e.g. we'll now crash the VM if it executes an STGI instruction,
rather than injecting #UD.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 11:00:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 11:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921808.1325552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDdZ-0004OB-8E; Thu, 20 Mar 2025 11:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921808.1325552; Thu, 20 Mar 2025 11:00: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 1tvDdZ-0004O4-5G; Thu, 20 Mar 2025 11:00:33 +0000
Received: by outflank-mailman (input) for mailman id 921808;
 Thu, 20 Mar 2025 11:00: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvDdY-0004Mq-3B
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 11:00:32 +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 8977b10a-057a-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 12:00:30 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso3954695e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 04:00:30 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d46edba08sm35981085e9.18.2025.03.20.04.00.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 04:00: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: 8977b10a-057a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742468429; x=1743073229; 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=g/PR67tITghIVXyqsJ/8hTjYfegg8MPh74Q7CTMEOjs=;
        b=dWy6fcjwyzhu2dOHZuPfKbKl6Jc6xuZbYDopDM4/etaAFIyBU11Oedl/ncydv2VK0T
         d7QVgBxCQxLGDBXOJxSY+p3uJ89f7so/dbZ6J1YcggqOkPXLMLTn6klHHXuxn+DWEE+8
         z9ei+G0+DwBLbFq304dHMS6l1El+6WAbibntM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742468429; x=1743073229;
        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=g/PR67tITghIVXyqsJ/8hTjYfegg8MPh74Q7CTMEOjs=;
        b=WzWBP6/VehGfV+/4gu6up8X+pkbF6gptRVIuR1ydxR6b1/omQfJRDoNaSZZcTw+zL/
         BHAGfEmQ9YcNz5Zp42kkm3jsk0Agfk0RuTpKdLWsnPScktJKtBO0vHYkeCkKqRe6H+fR
         HVJ7w4LDfIrji/RqG1NKvJeNOmNZIHw/3GIsuHlXD++5NuRx2YwnJCBIPOAHzs1JA54V
         g3ApNVE97pCHmvPuocv2qgOO64dySYo2NDONTKUuCD6zyphFzosjsTcE88rxKmB3KQLD
         yAX1A1JP2TaTD83b0TD/NNB7/3tsKAqyHR7uia/zioeGaYC3X47hYJQekgSl/bJdw0K4
         EzIw==
X-Forwarded-Encrypted: i=1; AJvYcCUIb08FgjpjnJJzPLE6p4DDDLZqOQ2LUY0rsRJJO1bR4IUk6XGGCQo0qiZs1LkmcJQHSqH8fMwM0w8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwTsDydYu/u3MeSL+JjIhvxKvg9hALUtQpBd7I7VDLFhq4eTM30
	66HSBtGHwLMH1EDJ5QnQIh0UfY9/G1KaKI5IgS/VBroq0OGW08WstVgqT1Tkycxx+T2q/qhptFc
	w
X-Gm-Gg: ASbGncto01+5aFJP51vT1Pii4WLhxDFZNz3ZqrSQAi38pURhD7Hi4Q3ixcHV3OCWQw5
	rEWYeHoHxnSew6b06UeNnTySN8B8Kw+9nQ0BWOQP1WEjd25KvccybDCl+eDC/hvviNk81ZFJY/3
	mMIpp741JzhWUQdJGonKNK+HACOrMpe3b4vVZuCUXWv9zS3M5nF3C5UDeVRKzRjKmnZTaG0dv7c
	ugmc91AIaqiUFjtigDAGesPk85HK/7FFZpSijOR7GNO9TWcSLEHqLmdesIomjzt5qg1hQ7OFWqh
	ZftD23nRejh9agxbS5Q8DKb4220u3YP9AVG4TtHVgVhn58gbbA8VjEwF/3WbqweIaBh7qf8bqO+
	OBoedJYSeNg==
X-Google-Smtp-Source: AGHT+IHa32jWjYHtMEjuRLNar5rDIgSAZrPD9Ooww8euBBbKKGYVc3kEvrZgCl3240kjLayhc4BwMw==
X-Received: by 2002:a05:600c:4e8c:b0:439:4b23:9e8e with SMTP id 5b1f17b1804b1-43d4916673emr26835235e9.3.1742468429285;
        Thu, 20 Mar 2025 04:00:29 -0700 (PDT)
Message-ID: <e5dcb56f-58d3-4141-ab67-92a690310007@citrix.com>
Date: Thu, 20 Mar 2025 11:00:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
 <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
 <Z9vOc5I828aV49rI@macbook.local>
 <0da7c7dd-bfbc-4e41-98ed-6e98793e6f50@suse.com>
 <3bec51cf-e3db-4f1b-ac24-4686e2498fde@suse.com>
 <1903e4c2-6a2c-47f1-a5dd-28f13cc87da2@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: <1903e4c2-6a2c-47f1-a5dd-28f13cc87da2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/03/2025 10:18 am, Jan Beulich wrote:
> On 20.03.2025 10:53, Jan Beulich wrote:
>> On 20.03.2025 09:34, Jan Beulich wrote:
>>> On 20.03.2025 09:14, Roger Pau MonnĂŠ wrote:
>>>> I wonder how this worked then, as I've tested with the xen.efi smoke
>>>> test in gitlab CI.  Maybe ovmf doesn't acknowledge the RX sections and
>>>> unconditionally sets all mappings as writable?
>>> Possible. And that would be in line with the mode being call "physical mode":
>>> There are no permissions to enforce there. It just so happens that x86-64
>>> requires paging to be enabled to be able to run 64-bit code.
>>>
>>> My experience with OVMF has been that it's hard to find where certain code
>>> lives. Perhaps I should try whether I can find respective code there. Then
>>> again if I find nothing, there wouldn't be any guarantee that I merely didn't
>>> spot the right place.
>> All I can find is BaseTools/Source/C/Common/BasePeCoff.c:PeCoffLoaderLoadImage(),
>> which doesn't look to care about section flags at all.
> And then there is at least one duplicate thereof elsewhere, or something very
> close to a duplicate. In addition I meanwhile found ProtectUefiImage(), yet
> it's unclear (to me) under what conditions execution would make it there. Plus
> it leading to SetUefiImageMemoryAttributes() leaves open where
> gCpu->SetMemoryAttributes() is implemented. I can spot some Arm and RISC-V code
> with respective names (albeit in distinct places), and MTRR functionality with
> names along these lines. None of these can be it.

https://www.kraxel.org/blog/2023/12/uefi-nx-linux-boot/

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 11:02:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 11:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921819.1325563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDf8-0005WE-L3; Thu, 20 Mar 2025 11:02:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921819.1325563; Thu, 20 Mar 2025 11:02: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 1tvDf8-0005W6-GH; Thu, 20 Mar 2025 11:02:10 +0000
Received: by outflank-mailman (input) for mailman id 921819;
 Thu, 20 Mar 2025 11:02: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvDf7-0005W0-2V
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 11:02:09 +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 c3911fe0-057a-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 12:02:07 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so504478f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 04:02: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-395c83b6e87sm24202088f8f.32.2025.03.20.04.02.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 04:02: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: c3911fe0-057a-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742468527; x=1743073327; 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=ypnueIl241eYMQNLX83t144evbGdtS0lITAq7hs8f5Q=;
        b=Ewkkxzx8/6qjTLmLqij489M5mVDQ2jwtyYq11NSg1DCFnduL6Z/3YFZUNZclkQW1KH
         /H/vWy6CaUJ9c2sIxp3gQnbgf/CcYDd7eHKaERdhCTUvepyaXLDe3nGCvUXwJ9cRUpVo
         x9X4W6Uk5Le3VPfCk/6907Bcmq0Y+fcN2kl/3b1BGY9wMwjgPlj/vbj0RUeK2u0xC7NB
         UgQCmk8//LJE+Aool5ftLUA+gEQ/2F2733r8H8QDyOoYe9y73AR2wJUH8G76bafr7Abm
         buPv/BQFPRCTX4ABCJK920cTxKs/T2pY9q9HSb16s97vPGH6bw9nrwg6Mf74guzhvngo
         aKYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742468527; x=1743073327;
        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=ypnueIl241eYMQNLX83t144evbGdtS0lITAq7hs8f5Q=;
        b=sqJeH/bK6V3gqgm9JPwUsjYX7E5Ph41PKVCpTZcrcIX2QvFYi+Hyh/4bMoG/TVR3/F
         5Kfz+Lbh+hbtoMlFbuOKt8fSZyfdPnt1cPPBhGc5fJAhiVy/BO0Mac7QO2cc89qnu+RL
         II3UoSr/+sxKRRk3rVEsMzsObr07s33Gmy7nSX8bcxXiWav5JgGR7n/E2sxe5Q+SrfWk
         XjCVzHxUiN/nqUA7K23qrNWic35B4Dq2d/wYVIdKKcAQ5cAP0f9MTS1+4zB2uytya/2K
         Ymg8vv4Ed7HBAlpvdFQP/aNX0+QV+ldN/jJhmS8/haEA8NRmUFKVgr39FcJXF4zSALjO
         Edow==
X-Forwarded-Encrypted: i=1; AJvYcCXeUAEEck125m98/NsCTz1wwC4OyZeGlNQnbUQvTaWdz3clAIrQYkSaD5s4i2ox70gnf6piPYQcH5U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybIAD/z8lZKcmTWMNMP7Pws/hNqS425tQvRDdEz/mTN5Tc7UNU
	DF1Kiu6R8UtSo7ieQItxMcUuQc1VGts01czCNKSRYJFwuph5DEJKKUggVpRahA==
X-Gm-Gg: ASbGncvi0rAooJn1bXZHUoe677s6Kl4q5K9gm3gCAMkY6sgWD+jcXuAcEt716HaEAiB
	t3ds8VHgNdFUvceHCT3BK465jGfE4Oy80rR7YZHMIQEWSSpHcBE4LZYUML7QT+2sJTZrMmJFDMk
	zjOnfm++LDEGy6oA2n8U9AXM365vIxW2kPTdqybXQdILreD456ayPFdjza3imCv2xLJl11xX51l
	h8wPj24bS59hHIZF2ozqoFPw0sMVLqwganaxEbsshgABAb61b/bO+YT4t47PhlM1JiEhMCI/+nH
	B3xmCbCnIrCnCF3os0gddQveyk3nMKqP5y9DhXyIsvPj/FqzSrtIzQzHP52wNrwmK1zS0dkQft5
	Vd4CGSoKWau4KYloz11DeTdBWUHknig==
X-Google-Smtp-Source: AGHT+IE+zU0UIO5khDt3O8mAu4uaR7vnljSlHRQ6U0XQl4s/yr0/xBUNeb5pO02/zOmiE4ZlUgQSbg==
X-Received: by 2002:a05:6000:21c9:b0:391:41c9:7a8d with SMTP id ffacd0b85a97d-399795e05e4mr1570242f8f.54.1742468526788;
        Thu, 20 Mar 2025 04:02:06 -0700 (PDT)
Message-ID: <634cecb8-1452-4cbe-9b3d-98554a5e4df8@suse.com>
Date: Thu, 20 Mar 2025 12:02:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 2/8] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids
 API
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@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.1741958647.git.mykyta_poturai@epam.com>
 <95d779f00127defa37f3c5056c762ea0da47fc53.1741958647.git.mykyta_poturai@epam.com>
 <d646b0b9-bae8-4f97-908a-f2e52cac708d@suse.com>
 <710bfddb-6ce3-4b11-bcd8-91f17d4f5be2@epam.com>
 <9a0ac3c1-e448-4acd-a471-d8d8e14fbc44@suse.com>
 <8df846ba-2ec7-467a-a097-0b9c2e4f51dc@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: <8df846ba-2ec7-467a-a097-0b9c2e4f51dc@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 11:47, Mykyta Poturai wrote:
> On 19.03.25 17:28, Jan Beulich wrote:
>> On 19.03.2025 16:21, Mykyta Poturai wrote:
>>> On 17.03.25 16:56, Jan Beulich wrote:
>>>> On 14.03.2025 14:34, Mykyta Poturai wrote:
>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>
>>>>> The main purpose of this patch is to add a way to register PCI device
>>>>> (which is behind the IOMMU) using the generic PCI-IOMMU DT bindings [1]
>>>>> before assigning that device to a domain.
>>>>>
>>>>> This behaves similarly to the existing iommu_add_dt_device API, except it
>>>>> handles PCI devices, and it is to be invoked from the add_device hook in the
>>>>> SMMU driver.
>>>>>
>>>>> The function dt_map_id to translate an ID through a downstream mapping
>>>>> (which is also suitable for mapping Requester ID) was borrowed from Linux
>>>>> (v5.10-rc6) and updated according to the Xen code base.
>>>>>
>>>>> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt
>>>>>
>>>>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>>>>> ---
>>>>> Regarding pci_for_each_dma_alias question: getting host bridge node
>>>>> directly seems like a simpler solution with the same result. AFAIU
>>>>> with pci_for_each_dma_alias in linux we would arrive to the host brige
>>>>> node anyway, but also try to call dt_map_id for each device along the
>>>>> way. I am not sure why exactly it is done this way in linux, as
>>>>> according to the pci-iommu.txt, iommu-map node can only be present in
>>>>> the PCI root.
>>>>>
>>>>> v8->v9:
>>>>> * replace DT_NO_IOMMU with 1
>>>>> * guard iommu_add_pci_sideband_ids with CONFIG_ARM
>>>>
>>>> I fear I'm confused: Isn't this contradicting ...
>>>>
>>>>> v7->v8:
>>>>> * ENOSYS->EOPNOTSUPP
>>>>> * move iommu_add_pci_sideband_ids to iommu.c to fix x86 build
>>>>
>>>> ... this earlier change? Really, with there being no caller, I can't see
>>>> why there could be any build issue here affecting only x86. Except for
>>>> Misra complaining about unreachable code being introduced, which I'm sure
>>>> I said before should be avoided.
>>>
>>> The original reason for moving this function was the conflicting ACPI
>>> and EFI headers, I described it in V8 comments here[1].
>>>
>>>>
>>>>> --- a/xen/drivers/passthrough/iommu.c
>>>>> +++ b/xen/drivers/passthrough/iommu.c
>>>>> @@ -20,6 +20,7 @@
>>>>>    #include <xen/param.h>
>>>>>    #include <xen/softirq.h>
>>>>>    #include <xen/keyhandler.h>
>>>>> +#include <xen/acpi.h>
>>>>>    #include <xsm/xsm.h>
>>>>>
>>>>>    #ifdef CONFIG_X86
>>>>> @@ -744,6 +745,20 @@ int __init iommu_get_extra_reserved_device_memory(iommu_grdm_t *func,
>>>>>        return 0;
>>>>>    }
>>>>>
>>>>> +#ifdef CONFIG_ARM
>>>>
>>>> I realize we have CONFIG_X86 here as well (visible even in context of the
>>>> earlier hunk. Yet then the goal ought to be to reduce these anomalies, not
>>>> add new ones. Since I don't have a clear picture of what's wanted, I'm also
>>>> in trouble suggesting any alternative, I'm afraid.
>>>
>>> Here is a short summary:
>>>
>>> The main problem is that we need this function somewhere, but there is
>>> no good place for it. It is only called on ARM for now but it's not
>>> ARM-specific by nature and can be eventually used on other platforms as
>>> well. It can't be just dropped because of the effort to support the
>>> co-existence of DT and ACPI. It also can't be declared as a static
>>> function because it requires the inclusion of <xen/acpi.h> for
>>> acpi_disabled define, which leads to build errors[1]. And without ifdef
>>> guards it would be a MISRA violation.
>>
>> An abridged version of this ought to go in the patch description, I think.
>> This is special, so it needs calling out.
>>
>> As to the placement - would making an entirely new .c file possibly help?
>> (Then, instead of in the patch description, maybe the special aspect could
>> be put in a code comment at the top of the file.)
> 
> It seems to me creating a new file would be overkill for one small 
> function. I considered moving it to xen/drivers/passthrough/arm/iommu.c 
> to reduce ifdefs but I feared it would suggest that it is arch-specific 
> a bit too strongly. So maybe move it there after all if you think it 
> would be better?

Well - with "#ifdef CONFIG_ARM" around it's Arm-specific too, isn't it?
IOW - either have a proper (even if simple) abstraction, or perhaps indeed
put it there (if that's also okay with the Arm maintainers).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 11:11:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 11:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921843.1325573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvDoG-0008Vx-Gg; Thu, 20 Mar 2025 11:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921843.1325573; Thu, 20 Mar 2025 11: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 1tvDoG-0008Vq-Cc; Thu, 20 Mar 2025 11:11:36 +0000
Received: by outflank-mailman (input) for mailman id 921843;
 Thu, 20 Mar 2025 11: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvDoF-0008Tj-R6
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 11:11:35 +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 1550ffcb-057c-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 12:11:34 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso365232f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 04: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
 ffacd0b85a97d-395cb318afbsm24158396f8f.72.2025.03.20.04.11.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 04:11: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: 1550ffcb-057c-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742469094; x=1743073894; 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=LEFfLSue87S5pd3cvXTqXh7j26JTajmuQX8pX5wdnIA=;
        b=aOCGUiLCGhr2JcJUDqQsIF+D6GrAHUnE950BDo2rJfxU+YdKu+YdDSbYK4TMTLiTlC
         0pCfrrtBdDXpTMPKUV8cmoIWJQ0ccVdSVdMpcYBl2opurXjSQLD8FefkmUxDSSOA1fsB
         6kaSq+Ear/BQWp/7brtuCLYvhxjlnTVdSXj34Cra9/tGtg72u1RDXjy+eN60nlb1i6Ym
         UvkLBHzgX8VtVS0ybMg+sig8VUZbtCzBm2TlawYv6Dv1vKoBPHHePZErUFDL1xsH6xSL
         aXiTYI+hVyMgifepvGaPcqxhR7dsobizUfduKKZ4TaUkrjMGyBct64B6hLVuFPbSE/F+
         Rg9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742469094; x=1743073894;
        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=LEFfLSue87S5pd3cvXTqXh7j26JTajmuQX8pX5wdnIA=;
        b=KXuwAaoytNgO5fxTBIGU94C9n2y6Kv6FHwn7MZstEJ18EW1jfBNrR/bqzgND+0pfyL
         W5xctEYj7RoJw/Oci8RJ2IRFdRgiU5Zg0TB6JCsc2rFldhNGziHOpb/SC5sAc0EDxSg2
         nGaqOgg+uCWsPjxNipKq298nF44rKAvSGojHXPZu5A/Bxi/lA4XMeApxQkQWYP1d8Qyu
         ZWYeCyh7gPq584syjPWvYXCNDaF/5BbqfdlrwNHlY/Z3ZPHrEclPGHoNhqZ1wr4Xnwu4
         FcSc9c7e6IUdqGxW0THATeZ+sOW1B+f7N2PySrpILDhCP5791GIrCVb8UKkDBTnKl7zb
         sOgA==
X-Forwarded-Encrypted: i=1; AJvYcCVV6OgYGYD2lZTKfQAEUd9c4xBTikZHRUiuTVl1E3G5i2Rj1Onmmhb+8i6SgDdMszx0RBbouhFbjQQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxiOKh5o6Z4VL6lICG1wLDD9J3ykfbFjXmxHpBLu+1okSMCu1yn
	38JPz3yHV0Z/Okwtc/WlS0dmKejVT2FQpxROcn8vKgOeZHih/HzOCZAkeCVhTg==
X-Gm-Gg: ASbGncs94NNOh5oyJ2xpjxzMukE4o5AEATI5ry9iVUGgDHdoLeRS5Hb2CzQHMjmaY/Z
	FUXZUw62sBEWuW0IA2/AzHKrrLe+N/DYsvIhTJ2GMYcTr1gHamWzDGKT01QI2vVto2ElC9X937S
	1/3J3/vY504XVWld6jQArvHAye6FcEe/t0WZnp3ixM7hT5xF3Yz71LB9ieWeVyl7LNi4yAZQOLg
	g/BipA0pDOz/sPuIOO9iRLDZ9AnVi/FrL9gFt4IeMkkDubbig8cNsqMvHtBRDgbsT1f092x4hHM
	nZlJFX/oxu74QVCRUdrqgjdTiM+TbrHKFWJVR1zyMqiFiDrRkq6VZFohOdgwDfQTdqzKzmy/dzZ
	cqlBhbGOXp2M5moqpcQdWovZ7oBFbRQ==
X-Google-Smtp-Source: AGHT+IGFC81FZzQ2W1h5NmmTVIuiSexNX8HV3R6qK22V2M72AqqIILJhXR4AoQ4oqFQnoFtSgFjESQ==
X-Received: by 2002:a05:6000:440e:b0:391:39bd:a361 with SMTP id ffacd0b85a97d-399795a8eadmr1855644f8f.18.1742469093740;
        Thu, 20 Mar 2025 04:11:33 -0700 (PDT)
Message-ID: <45d9c656-b35c-4b8e-83bf-aa145f839adc@suse.com>
Date: Thu, 20 Mar 2025 12:11:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/mkreloc: remove warning about relocations to RO
 section
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-6-roger.pau@citrix.com>
 <a3c70637-b354-40f4-9a67-9d2aa7bcdcb0@suse.com>
 <27ebf169-ab63-4def-a98b-751ae1758293@suse.com>
 <Z9vOc5I828aV49rI@macbook.local>
 <0da7c7dd-bfbc-4e41-98ed-6e98793e6f50@suse.com>
 <3bec51cf-e3db-4f1b-ac24-4686e2498fde@suse.com>
 <1903e4c2-6a2c-47f1-a5dd-28f13cc87da2@suse.com>
 <e5dcb56f-58d3-4141-ab67-92a690310007@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: <e5dcb56f-58d3-4141-ab67-92a690310007@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 12:00, Andrew Cooper wrote:
> On 20/03/2025 10:18 am, Jan Beulich wrote:
>> On 20.03.2025 10:53, Jan Beulich wrote:
>>> On 20.03.2025 09:34, Jan Beulich wrote:
>>>> On 20.03.2025 09:14, Roger Pau MonnĂŠ wrote:
>>>>> I wonder how this worked then, as I've tested with the xen.efi smoke
>>>>> test in gitlab CI.  Maybe ovmf doesn't acknowledge the RX sections and
>>>>> unconditionally sets all mappings as writable?
>>>> Possible. And that would be in line with the mode being call "physical mode":
>>>> There are no permissions to enforce there. It just so happens that x86-64
>>>> requires paging to be enabled to be able to run 64-bit code.
>>>>
>>>> My experience with OVMF has been that it's hard to find where certain code
>>>> lives. Perhaps I should try whether I can find respective code there. Then
>>>> again if I find nothing, there wouldn't be any guarantee that I merely didn't
>>>> spot the right place.
>>> All I can find is BaseTools/Source/C/Common/BasePeCoff.c:PeCoffLoaderLoadImage(),
>>> which doesn't look to care about section flags at all.
>> And then there is at least one duplicate thereof elsewhere, or something very
>> close to a duplicate. In addition I meanwhile found ProtectUefiImage(), yet
>> it's unclear (to me) under what conditions execution would make it there. Plus
>> it leading to SetUefiImageMemoryAttributes() leaves open where
>> gCpu->SetMemoryAttributes() is implemented. I can spot some Arm and RISC-V code
>> with respective names (albeit in distinct places), and MTRR functionality with
>> names along these lines. None of these can be it.
> 
> https://www.kraxel.org/blog/2023/12/uefi-nx-linux-boot/

Which, besides saying e.g. "When configured to do so ...", means that our copy
of ovmf wouldn't have any of that, as it hasn't been updated for quite some time
afaict (just tried to pull earlier in the day, with nothing new coming through
at all; the last time something new came through was apparently about a year and
a half ago, i.e. older than what that article says is needed).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 11:25:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 11:25:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921865.1325582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvE1T-0003lu-IX; Thu, 20 Mar 2025 11:25:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921865.1325582; Thu, 20 Mar 2025 11:25: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 1tvE1T-0003ln-Fy; Thu, 20 Mar 2025 11:25:15 +0000
Received: by outflank-mailman (input) for mailman id 921865;
 Thu, 20 Mar 2025 11:25: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=vLXl=WH=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tvE1S-0003lh-8D
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 11:25:14 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20619.outbound.protection.outlook.com
 [2a01:111:f403:2614::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd497381-057d-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 12:25:13 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AM9PR03MB7776.eurprd03.prod.outlook.com (2603:10a6:20b:410::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Thu, 20 Mar
 2025 11:25:10 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025
 11:25: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: fd497381-057d-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kYf+Wq/XXYoCngktOIppaQIdVOAGdtrafRiflBqTHemLgoQ6F/gLlWjcWXzsVDMcvfFkgRsktEgK0N2ZCPx2bvY/fHZQ0mE2elJyFSprezZMU7gSm7A5MeT1ye9Hc4y6AZMT13ez8TBO2996i3xkqUnYtZHEecvjCwGJDXd2Y4ZWSuUI/Oq0XYIT7Z5/10Q7kGtp3j3mSqsyZYD/EHf/swlvcAMDI+Z6J8DJpZu8Gtpq6am0reylTxzLc4k8ulfWMQoALm26xrBIAXXUcDakT2ShKBzSNcXoqtNBq5XpH2Cfv6UxcbDjV71hgXHO0+mENXuLont78pPDeg3UUiRLXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lNYP+musNCoEqqt1o2a6ZEl2BLOXj/7sxsEi7H4Ue78=;
 b=o2sTax+MC7/82JMpG1+RTQPOVcgE9L36aiCNng9nroyGFA4S+sWnSek2QXjCrP8Pz8umDC9DeKbdnaCDIDlb14zXmBgkWyHJzjHT/FB4qXqZOR2sIpidoLRpUhCvC4euY3hUOISbuHh9j+nPwnCLmROidPpkAYnH9lbTRmRjT2l6LB/7XVsaAM2Ep4SR/xTe+snj0y+VRpuK8zyXsvTsxLimWu1XBXB6y5guDFQAC9nr4jQXncHFT8n2330/cjEYC/vNVynTEznG7n0VjdRzjJMkGTQhojClES+0QwPw/B/8xj8iMm1093c2xKM2RjUsFGBPvTxBKpVphnfEEDGSTw==
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=lNYP+musNCoEqqt1o2a6ZEl2BLOXj/7sxsEi7H4Ue78=;
 b=FqwUQGowqA2FXjm/4FtskSM0+VbQk71UjeNrc1lXeFPk57b7yyx6cfqRSzn985N1u2w8RtkkpFrCbIbuMN+CkQi6kIeQFJNH8oBS28NOKtHCIYBcDWn69+VjE6O6/VtHYTMS1iSK+Vq2Iink+eq7K852wJGgxOf51ZtdSlZcT177mNOHCHF0EuZsX6S9MH6AF3y7Pxk7xqGMTBrgd5y0ES53gzZhiOvGBkMLOsw6VJ3IQBVQEUeWxKmglhI5acy65XE3a1RiBWjN2V2FVzopmF0n2kIXlWtZVnF0ceObVuSGHqw8i0SxipKmctso7IG4XejpMQ/QaiBHdrfwRSrYwA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <a0f4bb7b-d560-4017-af0a-1544623abd50@epam.com>
Date: Thu, 20 Mar 2025 13:25:07 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
To: Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>, Dario Faggioli
 <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Mirela Simonovic <mirela.simonovic@aggios.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0176.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::7) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|AM9PR03MB7776:EE_
X-MS-Office365-Filtering-Correlation-Id: e7df34c7-8524-4dee-e005-08dd67a1dfec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VGdpZlVWQVRJSzllclpGMlhGTWNMR0ZVQTN5Y2RFd1o0NzErbFIxLy9rQmpp?=
 =?utf-8?B?b3FDWCtKYVN4NjEyVWpvanNVVlBQN2YzMHd2YjR6QkJhTkQwQmlTTW8wcWQv?=
 =?utf-8?B?d1hQaC94OUNMM2tJQzFWSzJYT3RtU3ZnSHRIYkNsLzl0R2ljT0E0OVdnOUFw?=
 =?utf-8?B?ZkZJandXL280aml0bE9adVdNMmlYRVZXSERBbW1QTjl4My8yakZNcmczK1Uw?=
 =?utf-8?B?eGFXRllqeUo0RTJ4NHEwSmJETHgwVW95M1lwVmxwa1VidytmZmE2d2ZIeGR6?=
 =?utf-8?B?UTFZRTdMb3QwOCtobk8vc1R2dVJqYnZkYTQ0SUpUYWdOYzR0UFJlVERLRFdZ?=
 =?utf-8?B?SktlREVKYUlTOFY4U2c0UkNKZUp5T0lqNDBpWlE4RldHS3g4ZEloZ3lNVk1C?=
 =?utf-8?B?QUkzVkkxZE9vTlNpd0VocExvQmlFdDVSSlRVYlFET0pIdGJCUXpYUUxzMmo3?=
 =?utf-8?B?M0xzMzA0QlB0bUV4bXRCQWhzZ2hoVHl3YUd3V2VTd2ZqLy90b29FZkFKYVB5?=
 =?utf-8?B?Nm8wajVOSVkyN04xWFpKRWV0SzdHN3Y0SW1qOHVaOWFKZ0hoRE5waDNBalhQ?=
 =?utf-8?B?a0F4YWE2M2duNHVJQW1id2dxVkV5ZUpxZU9RbFFhVWUrSjU4UmhML2NHeGRN?=
 =?utf-8?B?R3huRUkrOU0vR1pZZklmdnIzcC9aeTlITUV0d2RBUWRkVHltMUQvRWFhUU53?=
 =?utf-8?B?SndhcGtiWjdieGhLcnl4NkJzZFRDZkVKdStYVHFUZWMva2hSYVc0cDFZNVNJ?=
 =?utf-8?B?c0IxZDExZjJvYmUwOG9oYnp1aDEvdWtEMVVwOHE0S1FPWE5OZTA3dHBvdWtt?=
 =?utf-8?B?cll3Qk1ZeGYycjd4cFhTeW9scG1DS0o5ZXB0ZmhSVUFVWVVBekVYRHBWb0Nr?=
 =?utf-8?B?cXBwWWNYTHpjU2FvcDVSZndhalJ1cTdNR3JzTEp3WmQ5Mnk4MWkwWExIM3dp?=
 =?utf-8?B?TzNmNXc3d2s5R0xqQ2VCZFo1UVIxTEhHbVM0SGFVMFpqbkVHd0lMd09yN0Ni?=
 =?utf-8?B?eEV4b0tuOTZRR052U2E5Kzd5RTlESkwweGx1dnFBekdtdWVXbXdLOVE2ZDZa?=
 =?utf-8?B?M2RrcVJFRFZrZGZZbGZjaDNIZEhoY3cvckxRQkZ5R1ZsWkkxU0pMTm96bW1u?=
 =?utf-8?B?UTNlRGs0TzQvclJTZzZQT2t4Skkwa01iNDR5QTJEK08waFczL1IrS3Vpc3Qw?=
 =?utf-8?B?dGNBY2t3OWN5aFVjYXg0ajJHWGxUVExETHI4K1hlaHlOVkVEMmJTUzlEK21H?=
 =?utf-8?B?eDRCUDhvYVA4TGVGbEtaZXcrYytWbFg2OW1CNjdaMGhMekZmUXcxQjFvQVkw?=
 =?utf-8?B?SVJ0TEdNc04yZDc2c3YyaUZPN3U4L1l2NmU1TThMTkRNVWlXL2xpUUZYaDAw?=
 =?utf-8?B?UmlmN1I5aGFNUnlVS1M4c2g5bWduSjIyeGIwVm5NWmJQV1VubThCZW8zTUdC?=
 =?utf-8?B?VVNrUzFqb1Z1Q1NVNEh6TitZTzRLNDJFNzNMZUhsYkF2TDIwK2J4MEpnRmVp?=
 =?utf-8?B?OU5aTHBjZkNnTmhhdGp4czlxUFZ3ek5tUVFtOUMrK083Wng5SHF5Q2hCV211?=
 =?utf-8?B?dXhxNnF2OE4vOHovUE5WM0JoaUN6bkdXRFVXdHVFUXNoaXlLSGYyUFBsUlZn?=
 =?utf-8?B?TjhIV25EbmpIM0drdDA3TUlDTDVxZS9RcFFQNmU2OFArNlB5aGpNbDh5U2Rp?=
 =?utf-8?B?UHM1UC9Rbjl5QmlKa0N1aXJrMWtFZFFyYSt3VkRQNTd2RVVMRmRaWEpocWky?=
 =?utf-8?B?cnVhQXlzK2N4L0krTWdDeTJHRkRIUnZBd0cxM2F2dU9QcGNEak9WZTBJb1F1?=
 =?utf-8?B?VFVHTU5QanN4SHVudE1yT0xyRkEvbHNVYUpRQmJ0a2VNV3NDeDF4S0k3MStK?=
 =?utf-8?Q?hYliJ/Q4v9xuf?=
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)(7416014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c1pYN2ZZRnc3NVRjSjFQK3p3UnowMWt3Z1l5alVUcGdiMFF4cFljSXFVUHhF?=
 =?utf-8?B?UGNsQ0t4WEJoVjZnRmxDd0I5L3dtN0VWRnVGbzdIdFFtaWV6V1hxY2pMOTQ3?=
 =?utf-8?B?QktsbXNWQ2VVOFZZMU1qajF1N1ZMSjEwejcwZVRlWUs1NFZGVG14Vi9yM2l3?=
 =?utf-8?B?cWUyTzBRU0xJOVV5RTZsd0VlSm5hb2VFeVU2NkpUUUpjVE40NGV6aWlRcUVC?=
 =?utf-8?B?cmZyT1NpQWZEQnNSOUhQUzZ3MXNhUGFyR1JXeS9VdFphMUVGd2ZkbmY3dVJB?=
 =?utf-8?B?MllmQWtCb0xUMmpOOE5LTC9iTXI5NXBMaWZEd2VoQUNkckllNWo4ckJUNE9U?=
 =?utf-8?B?Vm9hMnhFcGhqaC81eXVtVnFpMEhwY1Y4Zk96THhVcnJmOVFZNzNuWHFLbEtW?=
 =?utf-8?B?aEhXNEZFUDFrUlR2cFFnREg5YkQzNXhXaGN5TTJseFl5OWVsczlhMVRrVXdp?=
 =?utf-8?B?S3FacVl1bTBWcDVzQ1NqbGMzS3RibEk3TFVRcnZybWtPUlV6U1VwRUdMb0Q4?=
 =?utf-8?B?emJid3ZVQ1crNEZ6TGp5SXY4UURKR1NWc0prTytPRE1xWmJyVVFVbERlVmh2?=
 =?utf-8?B?MVdxaVRscnhiSTExQmdQQk91cEJtenAxWEFpSlQzRjFaSlNqSXBmQ0g0ekFr?=
 =?utf-8?B?VmtKcDBmcVI5MklDWlI2QTg1RlJ6Q2ptdGFlQlIzZURwWEx0MEowWmxXS3JT?=
 =?utf-8?B?dHh0aHdwSVBlYUduQ3dPRUtkcDJxU2JVbUwwRHVNRUFITjhWVGsycVVXdW13?=
 =?utf-8?B?dDJFUXJ0TG1MSG1iWVFmL2xHeXYwV0NTWlVXUS9FMWZhSlgyQzhNMUY4R3Bv?=
 =?utf-8?B?cDBzcWxWbVdhYWpCK3RibzJ6Uzl0eElIQUZYNWFRRHBDSzVMR09MdzVTYXNs?=
 =?utf-8?B?dUY2K1FoM3hmUGVsekQ4QndZWVlLK2c4TStRcWdHRTZsNlJtTG8xejRBVUdQ?=
 =?utf-8?B?bzR1b1k5TEJDeTNXaXRsQlZ5LzEzZ0REa01vVjluQ1dtVGcwQ3pXejVmWWcy?=
 =?utf-8?B?emhOcFNtR21zaFJkWmZSak52ckxOdkVnbEFRSWx5STRSMm8rZkVMYWRTYis2?=
 =?utf-8?B?UDZLTUlWbk5hZVhoTjg1dUEzZ09sWDVLM2U1WEdnbVBCNmkvZjZHSUkxVUZt?=
 =?utf-8?B?dGhDZWhmWHNublBhall2WXRNVzZnc0ZYelVwekdFeVk2TlhwL21sQmJGSmtC?=
 =?utf-8?B?V0hEL2tGdFQ2RHA5MktCbCtVSzhwTm9OWm5hTFVNQTRPZEhML2w0Vkg5aXF5?=
 =?utf-8?B?aC9vVnhvVTIrUFAyYWdIb0VHSXJoT0owbS9qNytRQTNZOVU2TUlYTU02djFs?=
 =?utf-8?B?Y3hFSE56Ulcxc2l2cTRiS1h3UXdUM1VleG1EV0tKa1NLa0Y2bHlkaWlVbExv?=
 =?utf-8?B?anhDYzUwOEFKSmNTZXJQZGM5MzllOUlkSEpaYVpNWmRhWEk3NEJtck9vMyt3?=
 =?utf-8?B?SVdHdithUkFkUUdqMmVKcUgza1k3VnNxaytmSE5obTNCYkNBbzRSNGcrRXZk?=
 =?utf-8?B?eXNhbWVmSmIwMktHTXdZSkZOMWRiMUJQczBzczVqUVVYRS9BRzQzSjlOb010?=
 =?utf-8?B?N2FHanNja0g0UW5XZm0xU2gzNi9YWmtBb1dRVCtwZmEvSmgybkVidG56aE1M?=
 =?utf-8?B?QWRYdlhpd0hFa1NkaFNrVVhzMVZwOHFvY2ZQMzYycFd2MGVjY01KUFlabzNS?=
 =?utf-8?B?MmtMY3M0VHJrSXR0elY1QlhTWkNPenE2VDF3SDJIeXNYdG9MQzhWYlFsWmhY?=
 =?utf-8?B?NzhPRWhJcDFINXYrTzN2NmtqQ3lhNERmZDBCd20waDdHd3NsUnpOZ01qYW05?=
 =?utf-8?B?Ky9BTEhJVTdQZjNCYmlTWlZyRzdGSFp4UjF2V0gzQ3d1bHFkZ3I5b3FPaFBT?=
 =?utf-8?B?V05xVUVUWFAwWU1sdVhqY3I2UGZGR1BHd0c1azRsRFZzWHloMEVHSWw2NmRR?=
 =?utf-8?B?ak9YZ0ZHRHZ6SmN5amMyaVVVSlBLb0xPQnZsYUJ3UW93Y3VHSi9xb2UrVk50?=
 =?utf-8?B?aTFxVXoybEovWmZWWjNSelRTengyRTZrcW40KzRPTzU3bTBXaEozdFNDUjhO?=
 =?utf-8?B?SWlUdkg0bnFxVjJjVG1XbU1hRGJJZVpVbDRYU01la0krU2t3OFlEd3RUYXFw?=
 =?utf-8?B?b014Q3VPNmhpRUxRQ2lBUjhDY1czRlIwVHkzMHp0VjV6cGlrRmlMOGo0bkdM?=
 =?utf-8?B?SEE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7df34c7-8524-4dee-e005-08dd67a1dfec
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:25:10.2497
 (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: qpsxCnTC55M/RxD3y857H+0AZxWyAHEI1RtbZSmQ5hARr0A6igDO3Gw9bNrwA1XzNp1WSdFgBFqSwtNigyr5R2MISV7XwsBHCthZKrpNTCM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7776



On 05.03.25 11:11, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> This patch implements suspend/resume helpers for the watchdog.
> While a domain is suspended its watchdogs must be paused. Otherwise,
> if the domain stays in the suspend state for a longer period of time
> compared to the watchdog period, the domain would be shutdown on resume.
> Proper solution to this problem is to stop (suspend) the watchdog timers
> after the domain suspends and to restart (resume) the watchdog timers
> before the domain resumes. The suspend/resume of watchdog timers is done
> in Xen and is invisible to the guests.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in v3:
> - cover the code with CONFIG_SYSTEM_SUSPEND
> 
> Changes in v2:
> - drop suspended field from timer structure
> - drop the call of watchdog_domain_resume from ctxt_switch_to
> ---
>   xen/common/sched/core.c | 39 +++++++++++++++++++++++++++++++++++++++
>   xen/include/xen/sched.h |  9 +++++++++
>   2 files changed, 48 insertions(+)
> 
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index b1c6b6b9fa..6c2231826a 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1605,6 +1605,45 @@ void watchdog_domain_destroy(struct domain *d)
>           kill_timer(&d->watchdog_timer[i].timer);
>   }
>   
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +
> +void watchdog_domain_suspend(struct domain *d)
> +{
> +    unsigned int i;
> +
> +    spin_lock(&d->watchdog_lock);
> +
> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> +    {
> +        if ( test_bit(i, &d->watchdog_inuse_map) )
> +        {
> +            stop_timer(&d->watchdog_timer[i].timer);
> +        }
> +    }
> +
> +    spin_unlock(&d->watchdog_lock);
> +}
> +
> +void watchdog_domain_resume(struct domain *d)
> +{
> +    unsigned int i;
> +
> +    spin_lock(&d->watchdog_lock);
> +
> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> +    {
> +        if ( test_bit(i, &d->watchdog_inuse_map) )
> +        {
> +            set_timer(&d->watchdog_timer[i].timer,
> +                      NOW() + SECONDS(d->watchdog_timer[i].timeout));
> +        }
> +    }
> +
> +    spin_unlock(&d->watchdog_lock);
> +}
> +
> +#endif /* CONFIG_SYSTEM_SUSPEND */

My understanding is that domain's watchdogs support are not mandatory requirement
for enabling basic System suspend2ram feature, as they are not enabled automatically.
So, domain's watchdog patches can be separated and posted after basic functionality
is in place.

[...]

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 12:12:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 12:12:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921923.1325713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvEkv-0007Rc-Ce; Thu, 20 Mar 2025 12:12:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921923.1325713; Thu, 20 Mar 2025 12: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 1tvEkv-0007RV-9l; Thu, 20 Mar 2025 12:12:13 +0000
Received: by outflank-mailman (input) for mailman id 921923;
 Thu, 20 Mar 2025 12:12: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvEkt-0007RP-Ul
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 12:12:11 +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 8c34ef49-0584-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 13:12:09 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so4636715e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 05:12: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-43d4870ee71sm30376915e9.30.2025.03.20.05.12.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 05:12: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: 8c34ef49-0584-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742472729; x=1743077529; 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=uo/nKMQWfHp8sRFheYd6zo6IMpwdXsnNPYCSox5bIcI=;
        b=Rc+TDWJwcF1XRZilfNxnVPS+MVkoI+VT5lvzi/M1cbEc8VBBJODy1WhLrErt9lghsD
         4NTO8I2twHi/4kiWfZ5KZP8I2pLqy9X9pw9v5IZJSFVeAFUIaMr33BXsG/8ibx0fmYJ+
         PRuQoQLGQCdYcJGmhFkLhkgncW8grsWoA1eheEt1P5lD/SUVxbZPdmDF1AWsH9+dGQxO
         YPlt2mYZ3+6jum8StP9nY+ha6WsC4LgtXcl2k8iqP9eG9QMn5TSWsKhg7pxlDg2053/6
         Mi0D0YzrI7sEj8I1Dow1DunVaNaL/auQPPUbFJwYWjfJyZxfu/CY/e5jepCfLdH6fVXG
         AODA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742472729; x=1743077529;
        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=uo/nKMQWfHp8sRFheYd6zo6IMpwdXsnNPYCSox5bIcI=;
        b=cRbbEiqnKGeE89MocT21sfGPTmI5RP9KXlt7sLLowLuig8W/sNBc4wRozksj0fpodD
         CfZqfKObc7giCt+mjBU2S/CRtXYNFXSE7KipJtWnFvj2W+IdD31bSBD3jyj+kh7PgLX0
         MVpt5FxmbDbcd6PAj6OqF8VviOl8RKRJ29YasSEbFcrvVstHJWqEDReEX28B2eDhEGUV
         1RE1CNCjR1LxvQ8RrXZ41HUoSwzaj6ICG/lG3Fo+Wr+zf/YMFy06uATg8OUdT8+9NFRC
         kr48zT+kKItXG+0/dPhjE3+JTAAHvUlfmpv9OptyoVWJ7M3wwfGTQfqOG5dFzdoCXJFa
         YwWQ==
X-Gm-Message-State: AOJu0YyaSeG8FJHcCNrQOiQRZvQdHf6qoPfeZKeMI3s1WNepaLDFUQSx
	bMLyWMRj31V9sgHqJhYd3Mnub8v+ltk3KeTXawAnGxCzplW/fWm7w32FkE3o6d8gyJyrYBZ1iRA
	=
X-Gm-Gg: ASbGncu19OaXcGqSTPfjJpm5nXDblUe/NSLDC2eAMBboxU5/ZisKb7bfHcMIZtJrCvg
	rEwrIcHPv6Sb8rhqOYCvsJtPZWsYYhHiQTE++EsA9JmQq4AqDbZPMbxFdybgMu/BUkMrXhl2+U2
	v3mpQwjYeYzPEWdII2/Kwk7hbkZBoWbbRor6y8Eb4AuMnERzMpMJh5bB0/7Yam+pEdTptDKbhCo
	y5wXAD1hDlKbG5i2IphmBrFj8BBsWp1dMUWsUXPqbmW6VF12G7WpwhxXr+Vuak8uX6KDmcUzbtj
	W7NoLUJ4xjKao2vkNjhPU15s5mGuQZcaQlUfwUUuOlnKXsuojFmhG2atnfVwT4gJmc4ptXz8/Sb
	yj5C5uT00AdP8SxicRvzxMCymOiaFdA==
X-Google-Smtp-Source: AGHT+IF9xo84/lKcBX3kDHsJbaDwiqtvP7XYjIciQ2kIWXnQz4s8lfiOCSXqxZIIGYRgmN+tGKorCA==
X-Received: by 2002:a05:600c:5248:b0:43d:82c:2b11 with SMTP id 5b1f17b1804b1-43d495893d4mr25343755e9.23.1742472728977;
        Thu, 20 Mar 2025 05:12:08 -0700 (PDT)
Message-ID: <6cc3adc1-5d54-4880-b3f3-2f688c2f39fa@suse.com>
Date: Thu, 20 Mar 2025 13:12:07 +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] process/release: mention MAINTAINER adjustments
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

For many major releases I've been updating ./MAINTAINERS _after_ the
respective branch was handed over to me. That update, however, is
relevant not only from the .1 minor release onwards, but right from the
.0 release. Hence it ought to be done as one of the last things before
tagging the tree for the new major release.

See the seemingly unrelated parts (as far as the commit subject goes) of
e.g. 9d465658b405 ("update Xen version to 4.20.1-pre") for an example.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
As can also be seen from the referenced commit, the document already
saying "drop any references to the specific commits, e.g. date or title"
hasn't been honored in recent releases, at least as far as
QEMU_TRADITIONAL_REVISION goes.

--- a/docs/process/release-technician-checklist.txt
+++ b/docs/process/release-technician-checklist.txt
@@ -53,6 +53,9 @@ t=RELEASE-$r
     - "Xen 4.5-unstable" on unstable
     - "Xen 4.5-rc" for release candidate
 
+* for major releases, drop staging-only text from MAINTAINERS and add stable
+  maintainer(s) there
+
 * change xen-unstable Config.mk
 #   QEMU_UPSTREAM_REVISION,
 #   QEMU_TRADITIONAL_REVISION


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 12:40:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 12:40:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921960.1325795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvFCO-0005KC-3N; Thu, 20 Mar 2025 12:40:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921960.1325795; Thu, 20 Mar 2025 12:40: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 1tvFCO-0005K5-0G; Thu, 20 Mar 2025 12:40:36 +0000
Received: by outflank-mailman (input) for mailman id 921960;
 Thu, 20 Mar 2025 12:40: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvFCM-0005Jz-V0
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 12:40: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 83369074-0588-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 13:40:32 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso5210785e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 05:40:32 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7eb8c2sm23204056f8f.85.2025.03.20.05.40.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 05:40: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: 83369074-0588-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742474432; x=1743079232; 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=heSHwGoQB1NZez0vymM/u3z76sGUjl1+SrU5Islp7Cg=;
        b=g8/OAdKImwQ2Txm38W3e2EB9069U2ByLNacUCBwUwlTWjrE7BauvfWPLMltFNGgtlk
         4FSD6DE3bEn0n6Dsd+bsRaxGGPsfm2jD5K6AtS7vxDxD+wpAezHyvejtcfPmnZNqclvo
         BD83CB3di9yFYAojAQ8VhpxXVa0FRICr9wf1o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742474432; x=1743079232;
        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=heSHwGoQB1NZez0vymM/u3z76sGUjl1+SrU5Islp7Cg=;
        b=sfpXezpE2LRC6QjV7jQ8RZuU77fqFbNH0TESJTuRYynZG3NZY11SnP51HL3KoyWOdI
         dlnFq3v/ONkRJFLiv3aP9XD3VcoP5M2c1vtB0l+z/CKVD00mFPDJ6++09/gxd2yADALN
         aBHN7HH9W8XaqZjUBkRjHOTDkbz6GViQ3T/M5CQcXsONOEYtuZkSrTWmU4uOOeiq4pm0
         EINXW9/HW5RX5im118FnOsO/u0cAbTskBc5LUXhAbY13/hPN6N+Yjf+zjmD+Rc1fFEWV
         FaYw3k6avbeLCjhaPoL2T4Cya7NLHjHHFgVteAk8pg+zLDew0VavjXZBYjvUGzyS6DB7
         yKxA==
X-Forwarded-Encrypted: i=1; AJvYcCVATE0l3PmLqty2NbqA0UxLpKWJCYb8dcI2QshI+P8fYFZrNZcFIW4MFWlD3yhbGMDQ0QLHeYiOHlw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzneCQD+rfGN8Jgzesne0mdFTLFmogJK4JEQVlv2GYp5ygrfniS
	o1yAVp0Q4an0LipX4UDRiFd/cotMexUeMHFzC/tZBy8avmcvq8w5rcwK0MhZ2Ho=
X-Gm-Gg: ASbGncvEYVD86/9jrFz/Xlzl+bQ2PXjMwDmPJLsE2DzzGId8q7T/2owLl+g2NeQcSsx
	EFfemCRD5InZjiL3JPrVyr0xd83kozC1ejauI2CIGnLy9o9U7WOYfb7bKRhvcRtLfDuu+0kMGHy
	McUy2C274Mf5+glZgIFTZdhggl77ABrZ3FUsptO8r4I5zaqEFU0MyXAysIHFLlO3lX7Kee0IvNO
	ROyINi9gOoCxpL+Cr8UEJyIspxCIZ4nv7ZewxN9vCQTfWxUxg7eepvBKiLmMolAgbEf3tdLl7C4
	1L+heAKQ7j3+3rZrGNwY92gbQQDo1QWj73SXC9n8lg/MEF8JFdPsU3O3jmqpEuvkWXY/Wqisktr
	xrLeGHvH0Ng==
X-Google-Smtp-Source: AGHT+IHeaAbzKUSeLneDkhGIQ/mziQAw1UXr/tS9jqp6rBbcBgLxK/FBWcv3lLMrVGMXpu/gQj0K3w==
X-Received: by 2002:a05:600c:8483:b0:43d:26e3:f2f6 with SMTP id 5b1f17b1804b1-43d43782b8amr56949785e9.5.1742474431862;
        Thu, 20 Mar 2025 05:40:31 -0700 (PDT)
Message-ID: <0158ee4f-635b-4183-a2c8-edc5d3189b27@citrix.com>
Date: Thu, 20 Mar 2025 12:40:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Discussion on unexpected behavior of ARINC653 scheduler
To: "Choi, Anderson" <Anderson.Choi@boeing.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
 "stewart@stew.dk" <stewart@stew.dk>,
 "Weber (US), Matthew L" <matthew.l.weber3@boeing.com>,
 "Whitehead (US), Joshua C" <joshua.c.whitehead@boeing.com>,
 Juergen Gross <jgross@suse.com>
References: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.com>
 <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.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: <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/03/2025 9:27 am, Choi, Anderson wrote:
> May I know when you think it would be mainlined? And will it be applied to all branches, like 4.19 and 4.20?

FYI, backports of this and the xfree() bug have just happened, back to 4.18.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 12:48:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 12:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.921988.1325865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvFJY-0007FM-BG; Thu, 20 Mar 2025 12:48:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 921988.1325865; Thu, 20 Mar 2025 12:48: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 1tvFJY-0007FF-7x; Thu, 20 Mar 2025 12:48:00 +0000
Received: by outflank-mailman (input) for mailman id 921988;
 Thu, 20 Mar 2025 12:47: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvFJX-0007F4-B8
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 12:47:59 +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 8b8ae4c5-0589-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 13:47:56 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-399737f4fa4so407395f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 05:47:56 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395c8975bdfsm23373069f8f.49.2025.03.20.05.47.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 05:47: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: 8b8ae4c5-0589-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742474875; x=1743079675; 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=ohDvokwzOA342grvJiU5s975o/nWeqrqF4AM2MGd/hI=;
        b=CSak0PzG6BbAhdArtYibtl/qmW+zIXtKndgwiexq7qQVgLPuJ1EVvNFMY2j9pvjUQf
         7/lUBf7L/DDV61WuWw4AYRDXiLN3b7+NJ4qsDpu3wDGyXk11wZm1AbzWP2wJ8NQTB+lq
         8fnBHlk6Kz5TaceZDhjuaAS0RgucZYV/fCkF8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742474875; x=1743079675;
        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=ohDvokwzOA342grvJiU5s975o/nWeqrqF4AM2MGd/hI=;
        b=EKlscP1a4Hsc+KkfEMtdaaFATOXMSDuWnpctuIchOwN4+uQu9RB1ojC7t3NMQ6qqPj
         eXYufF/IUMbYnlCCPUPEHLLnx6mVM2nztQTzx98EkdT6PQxZ20rBH7H+2Grox2fAJGdD
         0zu8CaYqL1F2E597HW0DtNndWu/d0pzdQj6wQL8i0lI+vgJIZZLtj35Qj+2pYB0S5jlJ
         lG4KtaGFbqAViqMBhzFKG79QF14V3gI7YjRfi2KFte5XvH+TOPeoY54AKN7KKnaMzahJ
         d6nADqDnaJ89w4R/dvWkuavy0mlLXTvQRx2XQsKnWE6h3N74T3Ksw8M44/XYNQCLP/xC
         7eTA==
X-Forwarded-Encrypted: i=1; AJvYcCW1P2YxULM8xiK7yfEuiD+yp/jd1msgiODAyj4rEvEa85wWceNfvDJE5lseAiiS4os+RFXKzU6ZDjk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5E+5wmFl9yFKMfnTf56iBLLYkmscp+5IXXIb6eKBbeAEyzSi9
	hMf/e9EWChRoiS3RJnq0UmuyyCDDuq2ILLFYOT1T/mUbJRtpeXETjKDQV+uOn9I=
X-Gm-Gg: ASbGncvx568HwMSD/ku0dkmCRbHB4wcTta+OCxkLz2hPwoX4NreprKVCoOt+KliPlhj
	k6HJSSi++ksvP4w76u9VLiMkWUI+qLUajkHOxRjaYRX5MFeCB7+BPnJLy3D1HnfuBd2gd0QBwOI
	488NWadupdROfE7iZQDO894IXipe7vVk++HeiB5J3N7s+7rPKTT/5p690xQvJtda1FEs7E/R9gN
	bOFuoATDUFzVlmJPNEw6uGvBwfpC6l3WKWPFCraRpcSrIbok6JIG9KnbHos4OF7hMfgCPn42dBp
	KFKEzPMgDopWqdJatvGQuhtkPwrwXUGVjlfNqvEZ4hfvhatUv6aBOKGX9mdkTuELHi8NkswLYu7
	1z6bpUO0JNO28VYZ2vXpG
X-Google-Smtp-Source: AGHT+IHsR1IHYUZjKSneWnIRuObsX5ubhxFuDOJ7xXuHTUrmHVBnKN3mQxQKxrdLxeg+UUS+KcFo8Q==
X-Received: by 2002:a05:6000:1545:b0:391:4743:6de4 with SMTP id ffacd0b85a97d-399795e7623mr2637545f8f.50.1742474875325;
        Thu, 20 Mar 2025 05:47:55 -0700 (PDT)
Message-ID: <b11d8525-13b4-40a0-8e33-b37c7e0d85a2@citrix.com>
Date: Thu, 20 Mar 2025 12:47:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] process/release: mention MAINTAINER adjustments
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>
References: <6cc3adc1-5d54-4880-b3f3-2f688c2f39fa@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: <6cc3adc1-5d54-4880-b3f3-2f688c2f39fa@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/03/2025 12:12 pm, Jan Beulich wrote:
> For many major releases I've been updating ./MAINTAINERS _after_ the
> respective branch was handed over to me. That update, however, is
> relevant not only from the .1 minor release onwards, but right from the
> .0 release. Hence it ought to be done as one of the last things before
> tagging the tree for the new major release.
>
> See the seemingly unrelated parts (as far as the commit subject goes) of
> e.g. 9d465658b405 ("update Xen version to 4.20.1-pre") for an example.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> As can also be seen from the referenced commit, the document already
> saying "drop any references to the specific commits, e.g. date or title"
> hasn't been honored in recent releases, at least as far as
> QEMU_TRADITIONAL_REVISION goes.

Oh, lovely.Â  I wasn't even aware there was a necessary change like
this.Â  Also, I haven't made as much progress rewriting the checklist as
I would have liked, so it is probably best to insert into this doc for now.

The qemu-trad comments I think we can just strip out of staging.Â  We
don't have equivalent comments for the other trees.

I'm not sure if it's useful to delete the check-in policy.Â  I think the
note at the top listing the backport maintainers is good enough.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 12:51:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 12:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922001.1325875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvFN8-0001Gz-Rh; Thu, 20 Mar 2025 12:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922001.1325875; Thu, 20 Mar 2025 12:51: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 1tvFN8-0001Gs-O5; Thu, 20 Mar 2025 12:51:42 +0000
Received: by outflank-mailman (input) for mailman id 922001;
 Thu, 20 Mar 2025 12:51: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=W2V2=WH=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tvFN7-0001Gm-0s
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 12:51:41 +0000
Received: from fout-b6-smtp.messagingengine.com
 (fout-b6-smtp.messagingengine.com [202.12.124.149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f68b529-058a-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 13:51:38 +0100 (CET)
Received: from phl-compute-03.internal (phl-compute-03.phl.internal
 [10.202.2.43])
 by mailfout.stl.internal (Postfix) with ESMTP id 6926A1140090;
 Thu, 20 Mar 2025 08:51:36 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Thu, 20 Mar 2025 08:51:36 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 08:51:34 -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: 0f68b529-058a-11f0-9ffa-bf95429c2676
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=1742475096;
	 x=1742561496; bh=ddBxeD3ev8ZbJoq5oPx9jjAeaIeDCIsFRzjy8nA3aaE=; b=
	1p2htpDLKAOwVxamf0f0gb8pxSkd6AoM/1ePN+srORmjbegKKx+iw5pVzZo2QV+f
	Mp2WHJydCUmJL9czMbX27fNfPoR5sa7hgh19c4cjzagm8GGfxhwdWvFudf39VV1M
	T6N43fyztjMTRekWPG2LwDefDtTWv9UKC6gumEb5sA4SQYk3Gw0WcFxKkCYek/pc
	T5QgW6UkbmX+4ez7f3KUZnyI/XBHdeBeQXUmdqqQ0cAfFQL+UsARO+hzCQhfM8zx
	Bmg3L5dIf4OxM+wZLrqFlzuGFdHm1pHTe8J2/N9QTYZ7y4+PJMmaNhhfhwg8inN8
	RSSxSrx2zHpi7IBGBxJQCg==
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=fm1; t=
	1742475096; x=1742561496; bh=ddBxeD3ev8ZbJoq5oPx9jjAeaIeDCIsFRzj
	y8nA3aaE=; b=wN0GfzMmuhCCejQJQ3Y+15R9ASPDscDqFZWCWjN6yi5u99W5i5c
	dZxw8cTOXyMIyOJs67a4TcQXSgbMrJQbMCmProOLKzRcEH6BL+iZSRPVKBx7B08M
	2ZwHNk8LP8mDgTMjin+bAjTe0hSOiQvv8qQCeDv80B/5EhO0aW4vZzS9X2pEbOfM
	3J9F10Iypr6gkXznI/JhyTVUxun2xXIfgiE6f8jAoj8V52ec3kkOc5cTnko6NztF
	nTOSRnpwsih4UNnRultJOad7RoqsVt+TYMY0Dg5iH2IOcbylEI6MeLFuDnOCafq4
	y9Fdj7/TSuAdfDOrMKsHxtjB30TJ+044SqA==
X-ME-Sender: <xms:Vw_cZ8h4b_0XkGgLLf_vmvoNZINoNpwh-GoiCsYLOHSHWqxbIYuvjg>
    <xme:Vw_cZ1A5UB8_BEEkJZE02huZvnqdGxMDr_LFXYSFyu-aNss__IBCGRLzqrABw-6wr
    OrYCinAIk1Gpw>
X-ME-Received: <xmr:Vw_cZ0GfxpW8aVtR0MgBRhWN3qIquLXKZgrcFu92yR92isAsfDvTsuVaJSMkKBQ3WZ5qMDDyZ_LU9rnFE8_KsW9YioKzKCfRHw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeekvdeiucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghn
    thhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthhopehjsggvuh
    hlihgthhesshhushgvrdgtohhmpdhrtghpthhtohepfhhrvgguvghrihgtrdhpihgvrhhr
    vghtsehquhgsvghsqdhoshdrohhrghdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvg
    hrfeestghithhrihigrdgtohhmpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegr
    mhgurdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoh
    eprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggv
    lhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:Vw_cZ9SgdauE-z1qNxl-pMWU2W-Ed6tI9Gg7cYmkpoFyFQz3A4URew>
    <xmx:Vw_cZ5y2Rwf0sn33HcT-nb-miQYErnsI2FF3o7ekrKfzE8auMi4ENg>
    <xmx:Vw_cZ76ET6h4yHmZ8PsQFiTDVjJpBW_lTRUhR548ItfAl4GvQWGU-w>
    <xmx:Vw_cZ2zK47C8VfOti6T1C9JG_ebAQHiGRwxJEgXkTHABXbjYFtX5XQ>
    <xmx:WA_cZ5eeRPFNDpvlqDMJIJ-nfpbLIOHX-o1w_TkdqNzcqwKaV65lYCtd>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 20 Mar 2025 13:51:29 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Jan Beulich <jbeulich@suse.com>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9wPVGd0fEsbaO_s@mail-itl>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com>
 <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com>
 <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="0t8BOYQamV7XZBDO"
Content-Disposition: inline
In-Reply-To: <Z9vrc1Xvm5OEy8rM@l14>


--0t8BOYQamV7XZBDO
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 20 Mar 2025 13:51:29 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Jan Beulich <jbeulich@suse.com>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > There are clearly some build path embedding left. And
> > -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correctly with
> > XEN_ROOT having xen/.. at the end.
> > BTW, would it be acceptable to have this?
> >
> >     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realpath $(XE=
N_ROOT))=3D.)
>=20
> Hi,
>=20
> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fine
> in "tools/"). In "xen/", there's a few variables you can use if they are
> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctree)
> $(objtree) for relative path. That also should avoid the need to use
> $(realpath ).

XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it to
not have /.. for prefix-map to work correctly. Would it be better to use
literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
have paths in debug symbols relative to hypervisor source dir, instead
of xen repo root? I'm not sure if that wouldn't confuse some tools...

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

--0t8BOYQamV7XZBDO
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfcD1QACgkQ24/THMrX
1yxncAf/Q3yYp0wrGieO61OUY78ZHjnHMt2YJHQEnoJiB/ccNyTeOwpFXnCQIF0T
hhCj0V1sKsIDQ7Mo5GiMtRFPCQviVdjyX1LeUxGi7P929zNZxW+flJsfZ3IuqLK4
aRLQ8OagUifmdloO/+1KeBGNpQPTJpYlG6pN7RkOH5Igxx6f8TH4hmhlMylByQX2
x4KdCD3ti1bhttcmwf7NcCnbrlo6Y+sdPzBbD5Mn875MMHDvIThboptXxYGE5X1a
mw3rl5unC5NkmuzznUKbw6gUZ8Aw+v6EwxaRcikNApbyL6eiAcXa+GAQYAtuDY3L
acsohI7wQnF5iPIZ5RN13Pj/hA7p/w==
=B3Y5
-----END PGP SIGNATURE-----

--0t8BOYQamV7XZBDO--


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 13:08:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 13:08:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922028.1325929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvFcp-0004Ry-LL; Thu, 20 Mar 2025 13:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922028.1325929; Thu, 20 Mar 2025 13:07: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 1tvFcp-0004Rr-Hp; Thu, 20 Mar 2025 13:07:55 +0000
Received: by outflank-mailman (input) for mailman id 922028;
 Thu, 20 Mar 2025 13:07: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=KE28=WH=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1tvFco-0004Rl-Oa
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 13:07:54 +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 555181cf-058c-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 14:07:53 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-547bcef2f96so1034173e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 06:07:53 -0700 (PDT)
Received: from [10.17.76.224] (ll-74.141.223.85.sovam.net.ua. [85.223.141.74])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-549ba86507csm2217896e87.120.2025.03.20.06.07.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 06:07: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: 555181cf-058c-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742476073; x=1743080873; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=hFL38tYOMAGFkTuQyKobvF8QCwuTFhE4nWOXO7hJtdA=;
        b=C9t60HxXxiXgs8VDVAWFMFxtttYSKEuyxBRXWcxK9EUkYLLb+YHv7eiTfwz/F44GGz
         rZlQsCSJt9Zf9rmTSFHY1VfgaWO1ar3oCSTAKKMVL6K5FuhAuBd3se3kn0jV2DzurV3j
         lFo6O2GuiyoYlU+HKsO4c8TCOAJsYiO5GOhGuqVaquHv4gygupWpKb6I/dqYqZ9kaAag
         JLTU28wb/vQXr79o1ZWvQaFnt5C6wbUYxnRLTeipzphssSD6T2trz1xsWXiAbMDc4H6b
         /y032TyZJPmKYD7pJFvEiMmxBWfXUf5anE5WCSqmvwiChmj+DJS91Pogw4YO0dlZkDpc
         M6ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742476073; x=1743080873;
        h=content-transfer-encoding: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=hFL38tYOMAGFkTuQyKobvF8QCwuTFhE4nWOXO7hJtdA=;
        b=ECf1YLJC+5fTfShGVyu3p5oB7TgSYsky0Rpr6/bN8GbGezWVazAXV8VPYuVK5zVbyT
         +5V1+3iUwWUGYwR/2bqgHV5d3JyeoD4s1dFMmsI5zXoE3B6K0EDCqiUB1wn+/WicdswR
         nM0s9202DT8woeuKjSoFktGRB+P4/CE0kleJdmGjJ7qfZZAZb4O4DYWwSIMUSuDDNLJ8
         0StV+GL5APJKIbHK0uUac+1XhnEKWo3hkYK8OkF37GrX/BOKxS83T9x+GPghOaAle+A9
         NdacmtBYxiFyHoTNM4s9ItysX2q6mPnhDWsSqwASxzoeY8vaMoi/4MEdAdtuKdTxDlKV
         keIg==
X-Forwarded-Encrypted: i=1; AJvYcCXkqfbYHL928eMqe8fJ7J7UHboey5hansfo7UKjJcr0nHmykoecbuyPrhjoRphF+oR6YFjcTZMZxfg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyykViBZQwCVbVH8w76W74Yh27vUvu92D5Ho2GHkk+0kcFTozQC
	s1QaGBSytzZnjUr/nAbsQGxfdX5eYsSftEsyEhxKst9rG5D6yuTD
X-Gm-Gg: ASbGnctbluFzd/aqb9KJRTda0fuxeel4nF4shPIn/ULFkp98aHWZqENiriJmKElsF4n
	8rPSA2/swee8TMF1RDxCnv2Ur6CpoIW+5YqNG0b+As9Y0JppDFhi7EQeJ/+U7OPbNW3DSmL9O5S
	OVIcKCdk96gaXd9FoKOtkYLhQbxLE1xwFEBODpdlhYFq1lDYv2BY65PojiDvi3FppLSyIXCH9Q4
	XX2VGw7BPmqLC8myUSnhBraMsgrp/2SFXNPIosEEyKQIZOG6DVflgRmCOm6VuntjdDsGQHXTs40
	AacKwU8ckgtIEeIqz4IVlY/By5HYn60+E1vWPj8Tfe1KD8gN93vzcnER9cZ5XeHui2waW0BY/4s
	mhQ==
X-Google-Smtp-Source: AGHT+IFIY0Xgnmjd3Kjd2qniqdI1VGjW3QnfMzsMYTdaAS0xEh7IlJpOSWpoKWdOREbuOGq2F8HSNQ==
X-Received: by 2002:a05:6512:ea5:b0:549:8cbb:5443 with SMTP id 2adb3069b0e04-54acb224221mr2065143e87.47.1742476072115;
        Thu, 20 Mar 2025 06:07:52 -0700 (PDT)
Message-ID: <deafe2cc-df6c-42d3-9639-abd7b41ede69@gmail.com>
Date: Thu, 20 Mar 2025 15:07:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
To: Jan Beulich <jbeulich@suse.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
 <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
 <65f0072f-33c0-4436-8e34-3544d25c9568@suse.com>
 <19d8224a-04e0-45bb-9471-abeb684e9cad@epam.com>
 <7f523597-cf70-4673-b4a2-fac602253a9e@suse.com>
 <0f54652b-3af2-4d52-b3a1-76a5dbeddb14@gmail.com>
 <432b0b6e-2e89-4e95-8237-811e5e55517b@suse.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <432b0b6e-2e89-4e95-8237-811e5e55517b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 20.03.25 09:30, Jan Beulich wrote:

Hello Jan, Mykyta, all


> On 19.03.2025 21:42, Oleksandr Tyshchenko wrote:
>> On 19.03.25 14:37, Jan Beulich wrote:
>>> On 19.03.2025 13:05, Mykyta Poturai wrote:
>>>> On 18.03.25 16:26, Jan Beulich wrote:
>>>>> On 18.03.2025 14:31, Mykyta Poturai wrote:
>>>>>> On 18.03.25 12:11, Jan Beulich wrote:
>>>>>>> On 18.03.2025 10:10, Mykyta Poturai wrote:
>>>>>>>> On 15.01.24 11:35, Jan Beulich wrote:
>>>>>>>>> On 14.01.2024 11:01, Mykyta Poturai wrote:
>>>>>>>>>> --- a/xen/include/public/hvm/dm_op.h
>>>>>>>>>> +++ b/xen/include/public/hvm/dm_op.h
>>>>>>>>>> @@ -444,6 +444,17 @@ struct xen_dm_op_nr_vcpus {
>>>>>>>>>>       };
>>>>>>>>>>       typedef struct xen_dm_op_nr_vcpus xen_dm_op_nr_vcpus_t;
>>>>>>>>>>
>>>>>>>>>> +#define XEN_DMOP_inject_msi2 21
>>>>>>>>>> +#define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>>>>>>>>>> +
>>>>>>>>>> +struct xen_dm_op_inject_msi2 {
>>>>>>>>>> +    uint64_aligned_t addr;
>>>>>>>>>> +    uint32_t data;
>>>>>>>>>> +    uint32_t source_id; /* PCI SBDF */
>>>>>>>>>
>>>>>>>>> Since the comment says SBDF (not BDF), how are multiple segments handled
>>>>>>>>> here? At least on x86 (VT-d and V-i) source IDs are only 16 bits iirc,
>>>>>>>>> and are local to the respective segment. It would feel wrong to use a
>>>>>>>>> 32-bit quantity there; IOW I'd rather see this as being two 16-bit fields
>>>>>>>>> (segment and source_id).
>>>>>>>>
>>>>>>>> I'm planning on resuming this series in the near future and want to
>>>>>>>> clarify the DM op interface.
>>>>>>>>
>>>>>>>> Wouldn't it be better to keep things consistent and use
>>>>>>>> XEN_DMOP_PCI_SBDF as it's done in xen_dm_op_ioreq_server_range? Also
>>>>>>>> with this, the value can be easily casted to pci_sbdf_t later and split
>>>>>>>> to segment and BDF if needed.
>>>>>>>
>>>>>>> The essence of my earlier comment is: Naming, contents, and comments need
>>>>>>> to be in sync.
>>>>>>>
>>>>>>> I question though that "casting to pci_sbdf_t" is technically possible.
>>>>>>> Nor am I convinced that it would be desirable to do so if it was possible
>>>>>>> (or if "casting" was intended to mean something else than what this is in
>>>>>>> C). See my recent comments on some of Andrii's patches [1][2].
>>>>>>>
>>>>>>> Jan
>>>>>>>
>>>>>>> [1] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01294.html
>>>>>>> [2] https://lists.xen.org/archives/html/xen-devel/2025-03/msg01301.html
>>>>>>
>>>>>> Would something like this be okay then?
>>>>>>
>>>>>> struct xen_dm_op_inject_msi2 {
>>>>>>         /* IN - MSI data (lower 32 bits) */
>>>>>>         uint32_t data;
>>>>>>         /* IN - ITS devid of the device triggering the interrupt */
>>>>>>         uint32_t source_id;
>>>>>>         uint32_t flags;
>>>>>>         uint32_t pad;
>>>>>>         /* IN - MSI address */
>>>>>>         uint64_aligned_t addr;
>>>>>> };
>>>>>>
>>>>>> Added padding and explained source_id purpose better.
>>>>>
>>>>> I fear the comment is far from making clear what layout source_id is to
>>>>> have, hence also leaving open whether a segment number is included there.
>>>>> Of course the issue here may be that I have no clue what "ITS devid"
>>>>> means or implies. What is clear is that "ITS devid" is meaningless on
>>>>> x86, for example.
>>>>
>>>> ITS devid is implementation defined. Its size is also implementation
>>>> defined but up to 32 bits.
>>>>
>>>> Quotes from Arm Base System Architecture[1]:
>>>>    > The system designer assigns a requester a unique StreamID to device
>>>> traffic input to the SMMU.
>>>>    > If a requester is a bridge from a different interconnect with an
>>>> originator ID, like a PCIe RequesterID, and devices on that interconnect
>>>> might need to send MSIs, the originator ID is used to generate a
>>>> DeviceID. The function to generate the DeviceID should be an identity or
>>>> a simple offset.
>>>>
>>>> On the Xen's side it is used as an offset into the ITS translation
>>>> tables and is sourced from msi-map nodes in the device tree.
>>>>
>>>> Practically for PCI the requester ID is usually the SBDF. Where the
>>>> segment is used to find the host bridge node that contains the msi-map
>>>> node with defined offsets but it is also included as part of an id.
>>>> That's why it was originally called SBDF in the comment. I don't know if
>>>> there is a better way to describe what it is concisely in the comments.
>>>
>>> If this is to be usable for other architectures too, it may need to be
>>> a union to put there. With appropriate comments for each member.
>>
>>
>> If I got correctly what is wrote in current thread (and in RFC version
>> where it was an attempt to create just Arm64's counterpart of
>> XEN_DMOP_inject_msi), my understanding (maybe not precise/correct, since
>> I am not quite familiar with x86 details) that we would need something
>> like that:
>>
>>
>> /*
>>    * XEN_DMOP_inject_msi2: An enhanced version of the sub-ob to inject an MSI
>>    *                       for an emulated device, which allows specifying
>>    *                       the ID of the device triggering the MSI
>> (source ID).
>>    *
>>    * The source ID is specified by a pair of <segment> and <source_id>.
>>    * If <flags> does not contain XEN_DMOP_MSI_SOURCE_ID_VALID then source ID
>>    * is invalid and should be ignored.
>>    */
>> #define XEN_DMOP_inject_msi 21
>>
>> struct xen_dm_op_inject_msi2 {
>>        /* IN - MSI data */
>>        uint32_t data;
>>        /* IN - next two fields form an ID of the device triggering the MSI */
>>        uint16_t segment; /* The segment number */
>>        uint16_t source_id; /* The source ID that is local to segment (PCI
>> BDF) */
>>        /* IN - types of source ID */
>>        uint32_t flags;
>> #define XEN_DMOP_MSI_SOURCE_ID_VALID (1u << 0)
>>        uint32_t pad;
>>        /* IN - MSI address */
>>        uint64_aligned_t addr;
>> };
>>
>>
>> This is arch agnostic sub-op without the (obvious) specifics of the
>> underlying MSI controller. The sub-ob, I hope, will be suitable on both
>> Arm64 soon (segment + source_id provide vSBDF, then it will possible to
>> locate vITS and devid) and on x86 in future (for the vIOMMU needs).
>>
>> Would you be ok with that in general? Please share you opinion.
> 
> Yes, this looks plausible.

Jan, thanks


  In the context of things like VMD (using
> software established segment numbers wider than 16 bits) I wonder
> though whether we wouldn't better make segment and source ID 32-bit
> fields from the beginning.

Keeping in mind that dm_op hypercall is stable and segment can be >= 
0x10000, probably yes, makes sense to use 32-bit from the very beginning.


  Out-of-range values would of course need
> rejecting then.

yes, sure

***

Mykyta, are you ok with the proposed adjustments to the sub-op structure?


> 
> Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 13:45:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 13:45:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922053.1325939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGCw-0004MZ-9h; Thu, 20 Mar 2025 13:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922053.1325939; Thu, 20 Mar 2025 13:45: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 1tvGCw-0004MS-6r; Thu, 20 Mar 2025 13:45:14 +0000
Received: by outflank-mailman (input) for mailman id 922053;
 Thu, 20 Mar 2025 13:45: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvGCu-0004Ll-KK
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 13:45:12 +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 8ae6f856-0591-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 14:45:11 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso695945f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 06:45: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-395c7df339asm23558493f8f.3.2025.03.20.06.45.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 06:45: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: 8ae6f856-0591-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742478310; x=1743083110; 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=FagdEAnJg8/2m5qmwT7Lhx+0rk880BCemP1xM7z1ZqU=;
        b=NWpUGYOKQ2Dl9I7xxDHdMhSoyV/A0tHwdJbe3u207Tcu2hJe0J7f0Ryg2tHjoJK2yT
         A5YAyejgIXmNmgf27LkKN/qR4pzu4pKiY42uZAYjmzDCe5BjYLK3YVOOnJg/65WupGNN
         60jgOMQwj6zc9SydfWckHhD+cK+ARfqbMrPInfdu0AlsF3qrpYmRgc31z5AE1Nnx8OjF
         SgNtSFCmnuOnMZ4m9R1AFOHw6ntexM2w8nRiTaC/Hr/nRLu6rwpG6rBCbnJZF1Kn06Ig
         1Hyub3t+hCFFF5Ddf+vBYiHjiZCvHwIdH40tHbtqL4Srvd7cky2DkOFrqxJdPCOd5EaI
         N9xA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742478310; x=1743083110;
        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=FagdEAnJg8/2m5qmwT7Lhx+0rk880BCemP1xM7z1ZqU=;
        b=KSMGLZRgoK/MGgaQlLGL5EuR//knic7qEMyH+5L442hAzce05er6YajUtkO8ebx747
         wMH6VyG2gGiRqNAUmO9iNPxGOSTJRZX0hjbs5qI71Z8/DgKHsbOz4jurXhQC3pIiSqcQ
         fwtRaSBwW8on5UCJdmqSEdUd5FCoX+m0kig/skROFQ7OitdgveOYOEbtEjQTJqjYB/br
         Jz7ofYMjzcFmmyMPyEfrvafY8NSca40BhOB/9uJTHv9xptWP8T7ea/v5PsToKUwDkMDL
         GTgz27AIZs9rkghmdiCIqKmLZl+wiXQ0XLyazcVt/+PkD2NlHDWL9bRCTUjjHeUvIVUZ
         3BUA==
X-Forwarded-Encrypted: i=1; AJvYcCXzO9QF1M0D1Fkq0XkoWglDFMtsY8yXt8yPeI6mCiGnLLQs3mslR4gG+x2uGj+T7Z/yjrDUF5I1dYY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzktYNAG/T+zzya/xDQBcaWomb+VR61HHdXedT1/IxXXxzwjkDE
	QKe+vFvQjePkhhY0rIByCKHD9KRzCxoo89B05pHyKFLbDPAdYT+linXqJe2hqA==
X-Gm-Gg: ASbGncuRj2Cn1+RfLPuafaTQsgSRJ+0LSb08pAzrUafIZd2UuQInk1yVlc/LC/29ZMa
	H0o15bFtl7rb4i32M33qOylJxK/uV6wBDp+pkaMrPXbdDb6csoy7V3ExzlxQ0EwvKEyhTLCqNc5
	w6uAoMpdhSk19dbjsCVEVUQmQMGzll8kA+GqEJ5lKc/mmR3kIR/1J1c3DM6XB0feIukqA26wqRt
	Fz2ZTdlKY8UWdbB4cQdW3RJ6SWExrWEiQcsaiggBLnz1+ULHL3fD4uhGANIR6S16QGNS8QFhvvg
	fumB61iWXPkMo3RmU0Rl0+O8M23SHO69ehIeZXk8NigsdYIpcMT+oAO5zH8S6ZvOUas+CmeKI0+
	h3kZrKvUrnFWqrsBlhbVpui3/XPyovQ==
X-Google-Smtp-Source: AGHT+IHN7yQbpy1NcvZT4kMTNBnPWgqhX3c31EFkDZEx58rzmnT/eO8+T0DKjy4dSP4NIq60tGwkug==
X-Received: by 2002:a05:6000:1a8d:b0:391:23e6:f08c with SMTP id ffacd0b85a97d-39973b0576cmr6534539f8f.47.1742478310193;
        Thu, 20 Mar 2025 06:45:10 -0700 (PDT)
Message-ID: <36ab0870-52ad-476a-ae9c-20ea8ea46066@suse.com>
Date: Thu, 20 Mar 2025 14:45:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] process/release: mention MAINTAINER adjustments
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6cc3adc1-5d54-4880-b3f3-2f688c2f39fa@suse.com>
 <b11d8525-13b4-40a0-8e33-b37c7e0d85a2@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: <b11d8525-13b4-40a0-8e33-b37c7e0d85a2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 13:47, Andrew Cooper wrote:
> On 20/03/2025 12:12 pm, Jan Beulich wrote:
>> For many major releases I've been updating ./MAINTAINERS _after_ the
>> respective branch was handed over to me. That update, however, is
>> relevant not only from the .1 minor release onwards, but right from the
>> .0 release. Hence it ought to be done as one of the last things before
>> tagging the tree for the new major release.
>>
>> See the seemingly unrelated parts (as far as the commit subject goes) of
>> e.g. 9d465658b405 ("update Xen version to 4.20.1-pre") for an example.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> As can also be seen from the referenced commit, the document already
>> saying "drop any references to the specific commits, e.g. date or title"
>> hasn't been honored in recent releases, at least as far as
>> QEMU_TRADITIONAL_REVISION goes.
> 
> Oh, lovely.Â  I wasn't even aware there was a necessary change like
> this.Â  Also, I haven't made as much progress rewriting the checklist as
> I would have liked, so it is probably best to insert into this doc for now.
> 
> The qemu-trad comments I think we can just strip out of staging.Â  We
> don't have equivalent comments for the other trees.

Right, I was wondering what else might be stale there. Yet then I wanted
to focus on just the one issue that ran into repeatedly.

> I'm not sure if it's useful to delete the check-in policy.Â  I think the
> note at the top listing the backport maintainers is good enough.

If everyone agrees it should stay there, so be it. So far no-one complained
that is got dropped from stable trees. Personally I find it too verbose for
stable; an abridged version would do. Yet it's pretty rare that stable-only
patches are submitted in the first place. Plus the entire contents of
MAINTAINERS is frequently stale on stable branches anyway, so one needs to
go to the master branch one anyway for up-to-date information.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 13:49:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 13:49:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922066.1325949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGH8-0004vd-PC; Thu, 20 Mar 2025 13:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922066.1325949; Thu, 20 Mar 2025 13: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 1tvGH8-0004vW-M7; Thu, 20 Mar 2025 13:49:34 +0000
Received: by outflank-mailman (input) for mailman id 922066;
 Thu, 20 Mar 2025 13:49: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvGH6-0004vM-Pu
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 13:49:32 +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 2535dd54-0592-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 14:49:29 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-39727fe912cso285456f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 06:49: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-3974d771160sm20213098f8f.19.2025.03.20.06.49.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 06:49: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: 2535dd54-0592-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742478569; x=1743083369; 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=wpOt68E1lgyrOleU/OEtaNvyljzyMPWAWbkPgHE7DY8=;
        b=geeF4Ekj6d9lO1u6mODjoCfvFigJ3Q1y7rqs1IFQ6Hc0zfNtLIw9XrdjC6NtBynH/e
         u8lSqRBoPMHoxzETbWforRFyU8HFIpcSsKgUXCwts3e++QzL0opLrIzD4HfVq6pJ3uvG
         9hDBUH/vr1MTQO38o86wt+ChVK42XVBkQUk02GYpDPFfGX27jbn2Y/rATt7sozPCS/5R
         5X96Tjbgv2soW9bVOzaE/tzyGAc5nO2ozksn1Hi8BYAGXwFApHB1qFjcxaXAMkxnORBq
         XsCOEJnkBEMLfl2sXJPAT7x7fZiWHqp4KWN6BbXnNjx5lcE6oqMVqVCUJaFqF7LPWOk2
         pH7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742478569; x=1743083369;
        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=wpOt68E1lgyrOleU/OEtaNvyljzyMPWAWbkPgHE7DY8=;
        b=wz2A7FX0d57mq0MTP87hRNsJfDI3fb1gL/zqsu9Hr1a1a6O/H+5ibO0b3d+WvKqLEr
         93/2aVBY7iXGwWHjkZlBN2dZbxRKx6OtibIB/KlpTb3qZ5v7onwvMcrWfh4YQbcZwVHH
         ROSZv16iskuwohfVUe9P2fmUtEKEJzpyBZVi6BXV/JH1oVb5Iva6lK6gjx7tJBpzjNfj
         mXylZf3IB/2lkTljEBS8ANmnFBLCO+72UM77Zi5Cb31nSCKNBihrB1XL7CFE51PSSG1+
         YeTGP+GxAB5TYIcXeAlfnewA/rVksU2XtaZL8xEoCsLahd/WIbzkJRbdJww4W6EgyvOi
         SLoQ==
X-Forwarded-Encrypted: i=1; AJvYcCUxxRMC7/X0/jbSgL9fQcDag5HVSjX2DOarHEBmgXiiK6qLst8k+8o3PcaTlAFnIxdJBvJkoGUwaR8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTR3HDiVFlimFrTpPXFcI8++xoMYMGvPf+fqWEP9cLaPgYSEo6
	A6GwGxXFCpWF+L/MrgyhyL7CtraIcVQ2ymFP0lK1NjPbmrKBpddUTz6zvVSFWw==
X-Gm-Gg: ASbGncvS2LRGJxBeGOKFgsNIZgkGsoZkClVdUyYL1G9hUMCPX9GIq3KwHGJgk1BGINO
	Ba2zYaDrOfxA61kUdYmIO9HZPKFKCLNFEGw7BtiodapmCNp4edGK0sXt3QhvTJ+9Bp/m2ySfpwm
	hBSgQGopldw3L3gpYXIGzeCOjBpf8P8vKtRG1DbuLZWzIUYU9lsy+UB1r5umuvzMrsoEJmuJWDs
	xHASb+ENPvaO38pwtD+IBKceiRPCJ5zqv+pbkxjOiW5J3FHrKyuhdWfNpw39mQaz4m4w8hb4MF1
	pLae3UIu8vgTZHaanSMVkYsX2MnLlzsgabZWzxRzOBC6SlkDy9bFkS2Xgg1q8KJAJXQBnPGStTt
	7XS8s6XHvxZA74bPQDJ9VeqUQFEwMSQ==
X-Google-Smtp-Source: AGHT+IFuIKbiFzfQoSqrVg4GIMBdiU0pg78CPQ8Em8ZZXNXT1GkYQwekz930c7IH2NvMLg6C5bsoMQ==
X-Received: by 2002:a5d:6489:0:b0:390:f6aa:4e80 with SMTP id ffacd0b85a97d-39973b449bdmr8830645f8f.53.1742478569069;
        Thu, 20 Mar 2025 06:49:29 -0700 (PDT)
Message-ID: <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>
Date: Thu, 20 Mar 2025 14:49:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 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,
 Anthony PERARD <anthony.perard@vates.tech>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com> <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com> <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14> <Z9wPVGd0fEsbaO_s@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: <Z9wPVGd0fEsbaO_s@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 13:51, Marek Marczykowski-GĂłrecki wrote:
> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>> There are clearly some build path embedding left. And
>>> -ffile-prefix-map=/-fdebug-prefix-map= doesn't work correctly with
>>> XEN_ROOT having xen/.. at the end.
>>> BTW, would it be acceptable to have this?
>>>
>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=$(realpath $(XEN_ROOT))=.)
>>
>> Hi,
>>
>> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fine
>> in "tools/"). In "xen/", there's a few variables you can use if they are
>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctree)
>> $(objtree) for relative path. That also should avoid the need to use
>> $(realpath ).
> 
> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it to
> not have /.. for prefix-map to work correctly. Would it be better to use
> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
> have paths in debug symbols relative to hypervisor source dir, instead
> of xen repo root? I'm not sure if that wouldn't confuse some tools...

abs_srctree being computed using realpath, can't we replace

export XEN_ROOT := $(abs_srctree)/..

by something as simpl{e,istic} as

export XEN_ROOT := $(patsubst %/xen,%,$(abs_srctree))

?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 13:59:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 13:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922087.1325958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGQT-0007Pt-HZ; Thu, 20 Mar 2025 13:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922087.1325958; Thu, 20 Mar 2025 13:59: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 1tvGQT-0007Pm-F3; Thu, 20 Mar 2025 13:59:13 +0000
Received: by outflank-mailman (input) for mailman id 922087;
 Thu, 20 Mar 2025 13:59: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=W2V2=WH=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tvGQS-0007Pg-2g
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 13:59:12 +0000
Received: from fhigh-b7-smtp.messagingengine.com
 (fhigh-b7-smtp.messagingengine.com [202.12.124.158])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7edae741-0593-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 14:59:10 +0100 (CET)
Received: from phl-compute-09.internal (phl-compute-09.phl.internal
 [10.202.2.49])
 by mailfhigh.stl.internal (Postfix) with ESMTP id D33FF2540043;
 Thu, 20 Mar 2025 09:59:08 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-09.internal (MEProxy); Thu, 20 Mar 2025 09:59:09 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 09:59:06 -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: 7edae741-0593-11f0-9ea0-5ba50f476ded
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=1742479148;
	 x=1742565548; bh=menqTGC5jv34nVyrYSvpopaD1UUjKRWyU5VisiDKQ+k=; b=
	hBcmBzrrqKllqr3GLCSvXOEwyx2LSLk36Ne0AUZQnAMgZ0Pn6mFTRFYke7jRKMgS
	K1XoAzS9xobsm4v0eYF1+PRx/RBDW3K1C+vnWyfjGm0XwsAppLthibjVC7kI02g+
	sx1JPvWDC2C7Ttmc3S81kHBVhpF1OScIlrvXMw+fP64LIWKmHdJHLhuw7nnBHf44
	VjxtW4MRe2JjtZ1ZWTovjQ9QFjmD221xG+TIrwDbKSzhtKCzFYiLDxqqZrF4OTL1
	Osq6r5383y0BTkPBooKWPSLeUNsAdrBLfbMTnLkC08ScF6opWZ6FkkcGgmQjVbED
	CW3lD50FUo3Ten1nzNUj9g==
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=fm1; t=
	1742479148; x=1742565548; bh=menqTGC5jv34nVyrYSvpopaD1UUjKRWyU5V
	isiDKQ+k=; b=B9N7JJGclL1j1fJ8eGhR2AfPqG6TyLUTJnHH3KFXu3nXWxXCeAT
	zYgCsiJIkOpp56mcG1iqGrmWoMSGBs08Pfwfb6XnXoSyK5fI5mCDtydQtwLNGkT2
	fnTRc9/e/VuYVWqC4deNgkuInkGaIcYuyXh7gOokUx6KOsSBvyWjtFDH80LFC1Og
	37za+SsJUjF1DhYO7EtKMxXk9oK++DEiQk2ucbwICoeyJtsdLGJW5dyHT/VSmyrP
	h275XgBLUxO9TPKhZm7nkjUqwUzVsmyXLA1uD5E8jDJ38BaqhcSNxXDwryzjq0Sl
	jHGWteHaibc3KYSCjxVUSBLIhaaqcKhm/KQ==
X-ME-Sender: <xms:LB_cZ0hXwkBzwYLRx6LFELUrsCwDJHDGsCdJSd2kRGIWYDWYYMFAxQ>
    <xme:LB_cZ9D1f1uSpSTT3wSw7HRHWqg-PBJIpZvIl35s80k_R7LZL1SYUFZb8VLNycYLQ
    AbWuBoipDi9OQ>
X-ME-Received: <xmr:LB_cZ8HhdN8DE2Bq40i5sGGM5R1KCJQTXggPKr93a0gvkEXcQ-P1y-vUi_u1bDkwSOHkU87-detTdde5pPEzcJvRO-_H5toMFA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeekgedtucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehfrhgvuggvrhhitgdrphhivg
    hrrhgvthesqhhusggvshdqohhsrdhorhhgpdhrtghpthhtoheprghnughrvgifrdgtohho
    phgvrhefsegtihhtrhhigidrtghomhdprhgtphhtthhopehmihgthhgrlhdrohhriigvlh
    esrghmugdrtghomhdprhgtphhtthhopehjuhhlihgvnhesgigvnhdrohhrghdprhgtphht
    thhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomhdprhgtphhtthhopehsshhtrg
    gsvghllhhinhhisehkvghrnhgvlhdrohhrghdprhgtphhtthhopeigvghnqdguvghvvghl
    sehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphhtthhopegrnhhthhhonh
    ihrdhpvghrrghrugesvhgrthgvshdrthgvtghh
X-ME-Proxy: <xmx:LB_cZ1TxZuho7mCqoONr0TTJRB2Snb4wjtNlJ5o9yw8OAJWlPoxYRQ>
    <xmx:LB_cZxz9Wf4EqrVXn2p89iakA6sIwEFh1fjskge4_8lP1dzqRBDRkg>
    <xmx:LB_cZz6JbkTv-3WqLDgHWKsLkIuZQyuMy4URW1M2jelIRDXByg_quw>
    <xmx:LB_cZ-y0Iy5_lKweLCi8yxLxVRpIXhn8az67ik4Es5uRQyegEYGLxg>
    <xmx:LB_cZxcPK8dv_zwIucD-tqTDpr0s-OsqSVdRLHN5Prx6nlFw2yCYV5AG>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 20 Mar 2025 14:59:04 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9wfKB0vdngn3xXX@mail-itl>
References: <cover.a5cb9c3a17249fc067ab501818c3a3e6c7c229cf.1742317309.git-series.marmarek@invisiblethingslab.com>
 <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com>
 <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com>
 <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14>
 <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Nj8fbVXqtF1UaXKL"
Content-Disposition: inline
In-Reply-To: <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>


--Nj8fbVXqtF1UaXKL
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 20 Mar 2025 14:59:04 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
> On 20.03.2025 13:51, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
> >> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=C3=B3re=
cki wrote:
> >>> There are clearly some build path embedding left. And
> >>> -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correctly with
> >>> XEN_ROOT having xen/.. at the end.
> >>> BTW, would it be acceptable to have this?
> >>>
> >>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realpath $(=
XEN_ROOT))=3D.)
> >>
> >> Hi,
> >>
> >> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fi=
ne
> >> in "tools/"). In "xen/", there's a few variables you can use if they a=
re
> >> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctre=
e)
> >> $(objtree) for relative path. That also should avoid the need to use
> >> $(realpath ).
> >=20
> > XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it to
> > not have /.. for prefix-map to work correctly. Would it be better to use
> > literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
> > have paths in debug symbols relative to hypervisor source dir, instead
> > of xen repo root? I'm not sure if that wouldn't confuse some tools...
>=20
> abs_srctree being computed using realpath, can't we replace
>=20
> export XEN_ROOT :=3D $(abs_srctree)/..
>=20
> by something as simpl{e,istic} as
>=20
> export XEN_ROOT :=3D $(patsubst %/xen,%,$(abs_srctree))
>=20
> ?

That works too. It's slightly less robust, but I don't expect "xen"
directory to be renamed, so shouldn't be an issue. I'll leave also a
comment there why not /.. .

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

--Nj8fbVXqtF1UaXKL
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfcHygACgkQ24/THMrX
1yzrHgf/f1+eSQHuNyDq3mHwvYioXWRk3V2bDDzqSIxS3dKR3XkKI9SsF76zHv9U
a94xrpcCXslaHKSIfG5Wr+6lqVEL0XbZKiCIKNhIcNKZBZ/9jedVCQ/il8XxVPG5
9FlG4o856C4mGssI9sBnHidFW8RoyYFdk/aXrNTJyoknHnadc1Gy0pGM+kkK0P8M
xyixbET7i8swY+4samUuvs9sJv71JyOAPGKlqvYdXhO4bAI9STWVuEmazzTpd9zm
tN3X+9uHoMrDSMuR000Mq5Hgv6Ng2N3mkjmNpXy/QzMVXMVKIhGaua5SLv0cejZj
YWeK+SxuAbzIoILoaVCV6Sr6PygHXQ==
=F2Vx
-----END PGP SIGNATURE-----

--Nj8fbVXqtF1UaXKL--


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 13:59:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 13:59:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922100.1325970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGR7-0007wx-Ud; Thu, 20 Mar 2025 13:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922100.1325970; Thu, 20 Mar 2025 13:59: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 1tvGR7-0007wq-QA; Thu, 20 Mar 2025 13:59:53 +0000
Received: by outflank-mailman (input) for mailman id 922100;
 Thu, 20 Mar 2025 13: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvGR7-0007lm-81
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 13:59:53 +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 97bf23ef-0593-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 14:59:51 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so5678115e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 06:59:51 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-395cb7ea16csm23675965f8f.82.2025.03.20.06.59.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 06:59: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: 97bf23ef-0593-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742479191; x=1743083991; 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=r7QScskPgEdmFRMXRMkKUin3iczg9dvUfYGDH9vbckg=;
        b=wBBrcGMCIT4j8r/no+8bg8ffHVGnWZAHmKWkVRfeDGjBulQi3rdglZkKeneV2JfzlW
         Ii6Sntv0QPjqgc+pflQ4/MoziS2vlDSBwnqdjY/L1YftvaASPFAziHY45qUW7+YqP5us
         AiqnPWHNqc/p3tPa5FnHpf0e8mAvi3Ql4aAAc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742479191; x=1743083991;
        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=r7QScskPgEdmFRMXRMkKUin3iczg9dvUfYGDH9vbckg=;
        b=qmfUXV8F0k3jYaEOeHJWxlaRll54NlkYrE3tjjWFFdxI5N7Ja3eCcgtyLO2rQtn9fQ
         uri3hE3OmZPBLxegtZPEBdpxw6eU2+IgITvTfvO75WFYFhJcALTuH3Zg7xUGF4hDR/wA
         iu85bc1IuxDCe4c+hN1rDFyOCIPIgRGEFTzyOlD1hjQzBCUfq7mODN7gLl3FGpSrgQVC
         4E/6I3ii1LiD8dxvyU+ppSTIVk5NsVg5YaTYy2Lw/UnZAZLL+3yjnhJumxAyl2ix4VGa
         hDFyj9yQEvjQ169g25T6PpnivuCU+Q6hIiS2C3yieLQbqX8u0BJXOMYc1gyrVEIeK0lE
         ByKQ==
X-Gm-Message-State: AOJu0YxpdOIWVnR7O836WuVWvi5bSa77NCLtSItwBu5d431Zcd66nNR2
	ngHGhi7oyC8JgFSJ8CcxlMuTydHFBH+VyyCsF1lVCos2rOTYHE19ATtAZOBf2sQ=
X-Gm-Gg: ASbGnctU40EAAq2dkDAAkhSDZb2ys4+Lb11ijno7YYAkyKqU6j2KOATwnNOO2P5ukrW
	tPSqIE0SK6LkEn4ZIo2z6jVSgAhuTy4PHOMgFjMYUOtIEKzbMPTy7w/jSA4Qvs91drcYwx0CUyC
	YCY7dWYiX/7Iy1JCfuLjGoYIIhSfBFe+NSG5bYTLz2BG/7lwnaMJriW2WaNZSJeYwr58ZtePMUY
	ETwM4NcSNapTEIUdam5C8bcEJc4drEfADl02EqfnqmJFpG5HyCb66bWI7qgrNbnQjv1z9EPL8xq
	t9Tw2YzM0OtLsa2PVfjA8m8tvmgiRShBz6dIZpI7uodARoy4mpASVOaLfCjFBvu8W2Qu0PvBby2
	pryQyPs71Rg==
X-Google-Smtp-Source: AGHT+IGN5CLxGsStdGeMOABiASLQ3h2UKAt0JNkTlg/toA0NEFNzN67GSsFmnAQEChxMqKHNzn59EQ==
X-Received: by 2002:a05:600c:4e47:b0:43c:ec4c:25b1 with SMTP id 5b1f17b1804b1-43d4384226dmr64697115e9.23.1742479190765;
        Thu, 20 Mar 2025 06:59:50 -0700 (PDT)
Message-ID: <f924256c-c4df-4856-8e3e-8c0293b1358d@citrix.com>
Date: Thu, 20 Mar 2025 13:59:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Untangle the trampoline copying/entry logic
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>
References: <20250318173547.59475-5-roger.pau@citrix.com>
 <20250318201033.60634-1-andrew.cooper3@citrix.com>
 <Z9qI3cnE3BcuqAPE@macbook.local>
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: <Z9qI3cnE3BcuqAPE@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/03/2025 9:05 am, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 18, 2025 at 08:10:33PM +0000, Andrew Cooper wrote:
>> The LRET is detached from the PUSHes which set it up, and this is about to get
>> worse with the changes to trampoline relocation.  For the sake of one variable
>> read, the complexity is not worth it.
>>
>> Reorder the logic to copy the trampoline into place, then switch stack and
>> enter the trampoline.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>
>> Roger: I'd like this to be a prerequisite to your "[PATCH 4/7] x86/boot: apply
>> trampoline relocations at destination position" to avoid the movement of
>> reloc_trampoline32() making things worse.
> I think you could commit this now-ish, and I can rebase on top?

CI said no, and the bug is hiding in plain sight.Â  The setup for the rep
movs:

Â Â Â  leaÂ Â Â Â  sym_esi(trampoline_start), %esi
Â Â Â  movÂ Â Â Â  sym_esi(trampoline_phys), %edi

is buggy.Â  I'll try and find a nicer way to do this.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:07:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922116.1325978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGYj-00028I-KR; Thu, 20 Mar 2025 14:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922116.1325978; Thu, 20 Mar 2025 14:07: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 1tvGYj-00028B-Hj; Thu, 20 Mar 2025 14:07:45 +0000
Received: by outflank-mailman (input) for mailman id 922116;
 Thu, 20 Mar 2025 14:07: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvGYi-000285-TG
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:07:44 +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 b0c1d620-0594-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 15:07:42 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3912c09be7dso523227f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 07:07: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-395c7df344dsm24592015f8f.10.2025.03.20.07.07.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 07:07: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: b0c1d620-0594-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742479662; x=1743084462; 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=oIQRrlnqHr8EFcLOdNscMcRAGvjkkQ3MoSzpL042RrM=;
        b=Uoy34Z4Uh6mEMID4qgBO35Cqz95PDXpKBZ78Wcz0KGETL+Rne5VQiZJG3/5R8pynk7
         d+G/m7acucUXCgI6zVakmMvhG9QcnP4fmRebs4/u1aTgs69HTGstbvBCzbk4s2TLmeXJ
         S04jPBMU+3qrKmRWUw4audG4GwupOGT8OQ+X/oX9bUttXT7tzTV1z15CaeBRa6XXBNfo
         OvbjjxSYv4gizYpIoL3JWbBaJ/vZQJXhlEjJcP1IqbnPh+inwOyQZ+B0gsd5sw6tgFob
         nu2PW0Tz4lDueR0rrA42bJN1ZCGABVWqNKIdUe7OC7r8XuPSuQv8IjzPUT3ifYtbiMbQ
         TAhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742479662; x=1743084462;
        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=oIQRrlnqHr8EFcLOdNscMcRAGvjkkQ3MoSzpL042RrM=;
        b=QMV1uhl7L0wMEhHqGnVkRzyBG+gJD3OZom+8jTvxwqL/Bna07yx9uR+w9y593Swfas
         O24cGGVuvdrejtxcT9oNVEJBwhak34DP+bOSRIdEe4JDdjzCTe3n5bbwWnUo7yBP2BGT
         gpBpxH/a3v8BtwMYYXvbpnkqYrtHcXkAylLR9AhNG4Fw6B2NC4MjkgD0A4t10WzIuV9f
         KaDdkj6PeKuAxrTOIU6zbaQGoVvdBpI1TyGijY28pazCsv/PzXxQdka68Z/4GQ5YgQWB
         QGixJu03xUBYXOFQUHUakHhAmB1xGRcCc/S0ctUrl54b1t4TNHztNyP+nef2SNlT9fZY
         PCxQ==
X-Forwarded-Encrypted: i=1; AJvYcCVTvlJhYA0htADdrxDHlsrqh3Y5hKezbug2afrmQqMYad8SHqljGv4ybKGaztxbaM2k4lxLpGQ7dVI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypyQa0RHRBurgaaM0cy9kgrCx2cmpWEq9TbxBdR+d0QqxOhxcz
	uHJXwm4RfvByqPMGGlCJMvFr6tbdMLEhWpsWenmwvT5Bp3LQLeXnSkHfAnEwlA==
X-Gm-Gg: ASbGncsmBV50YQZk3k39gJEucX8WvQgQbh03TGZznmbmBpsHp3BnT5DFnMpub/2j8Ke
	n2g9iEqyArVj6ypRyVEXaL/F4i0RRRNbBWw1CZZKnTmoX5GvMcDITKA2mLIf1Q0yKYUPt6KREuL
	jQ70uEKfqu54Q2YX+riT3CJZrwxqou9O5rXr8hKutjED/jjH6XCY+VWmiVVuFmUGwsZzyLZXL9/
	T5GP/MNU6pQn5QEgUz701XzK3Nm1B1I3VhTKhyibC+o7Nw+MYA+tr7i6VYZQfiDnQUWMLZaRNbV
	sMVHdVWnxN8jHkWuDCa3Q+Eg5zgRnVwH8i8/rkZPf9rO1oNbJdqi+3aNknA7H5dv0WKZ051YC0m
	fV8AhXagxoCNkYq8bEeUouY8kDzMAjA==
X-Google-Smtp-Source: AGHT+IH2OOtsNhM2gB5SM6Wacs/c1PekLxESqMLeQDngAMZwkWqWlMnNAk8KGmhhNr+aoo1b7ZZzEA==
X-Received: by 2002:a05:6000:2a6:b0:391:2391:2f79 with SMTP id ffacd0b85a97d-399795ddfa3mr3404957f8f.43.1742479662141;
        Thu, 20 Mar 2025 07:07:42 -0700 (PDT)
Message-ID: <faaa5210-6f64-4553-a9a1-1ac217a63646@suse.com>
Date: Thu, 20 Mar 2025 15:07:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 1/4] x86:svm: use nsvm_efer_svm_enabled() to check
 guest's EFER.SVME
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
 <67e52e38695be12aca828025077a378e92174952.1742465624.git.Sergiy_Kibrik@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: <67e52e38695be12aca828025077a378e92174952.1742465624.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 11:34, Sergiy Kibrik wrote:
> There's a macro for this, might improve readability a bit & save a bit of space.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:20:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:20:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922147.1326065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGkv-0006LT-Fx; Thu, 20 Mar 2025 14:20:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922147.1326065; Thu, 20 Mar 2025 14:20: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 1tvGkv-0006LM-D0; Thu, 20 Mar 2025 14:20:21 +0000
Received: by outflank-mailman (input) for mailman id 922147;
 Thu, 20 Mar 2025 14:20: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=m8Tk=WH=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tvGku-0006LG-S1
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:20:20 +0000
Received: from mail-ot1-x32d.google.com (mail-ot1-x32d.google.com
 [2607:f8b0:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72c79bae-0596-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 15:20:18 +0100 (CET)
Received: by mail-ot1-x32d.google.com with SMTP id
 46e09a7af769-72736498817so535172a34.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 07:20: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: 72c79bae-0596-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742480417; x=1743085217; 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=aVTr7i642NvJsLByVxZvfPk4tibIU/WaEbnLA/mzdyo=;
        b=kLS0E4LabTQ1Hv/sq781dYZYtAxTwIBW7yL6irTmOhSBWimH1qowVKc1dBvnJgQW/f
         55JyMv+0/6dGX562g22fVJMljp21JbHXXUe+V+ESUgC5RQOAJV1ahmU668JPi/XB56vL
         geHYKsVNLDmcnYe0DQgBjcZEFfpqn1iBkLomuchUjVMA850Tw7LEXuWXK1JoOU7tnA8y
         DkuY7ZUxQFoHenLa8C4phIq4WCyRmQ5Jeq7HxKOEyNp3c0yyYFQb58duuG1awzy/dXGt
         77BnvnfpIDDwkW0gSEu07OaWu5Ywc0hPl3h/1BRvtUduhEjRonwEDTXf/T2tp5H8mDX7
         SRAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742480417; x=1743085217;
        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=aVTr7i642NvJsLByVxZvfPk4tibIU/WaEbnLA/mzdyo=;
        b=RRYkWDKZmUJqM6v3GdnPxLZzVviWbbKQlT+EcIsLBFi+UNCchpeZTcixum0/mgP3Ph
         gV0kOQzHFooQCAXDIfM0L3LbNhbcj/dcKg7bZimtsc77Gu2dHcszKnfAuntP0IuprYSu
         cEPKtazXbIe25/s709fnBUmRpbdKig6o7bQBY6oBdBRsxYuDi+RKcpUSoD9DNykySJHF
         Fs8OI9hR1IrKJW7N1SP4pYPxB8S5BO9HhUr/5IZaO/cr0mfQMOmtU1CtgDDurbCAhS0E
         rTqeZKk78SSf1HDqk2yddgwRJxG24G18U5+qLWUhriFR6/Y/eLHSvLRj3hkmCjSgW5r9
         nENg==
X-Gm-Message-State: AOJu0YyvUNVlQY8z14dTXrKAlfYR+pRPXvAx12FlRzOz7eIs7yzT5KdA
	rClP5B1Th10ztl3KWsDML61wxQuu4+LxpGzPT1IgBt3edFDjAiUgQuIATqNset2XyCj95sAWRFu
	TBN+wkgpf+bFB8/0UIIANtClYnOiDJI9QVvC6FA==
X-Gm-Gg: ASbGnctPdXVk3QjOE381/EFC8sX0dUCm5VvlyqNCyKkORRCmY8I1IrzLUoo6fBXy18o
	rX1JRr7jBIvIgn+swOPho2I8hpKvBrud/yQa1uSwiYrgyqOf+rZZDbOoPC07grKzGXKLfaHYFEZ
	0bqf1fuSRZKZiT8PaV0g1L1iKB2mRwIJ2ZdKcPHA==
X-Google-Smtp-Source: AGHT+IGYtgwGX9LNBZ+/h0c2jAusAfHl4gefQSYUKIdjxT+GMTCnWybsfPFPdT/9YBSfNTlsNF5cPuV5MdrRUh01c8w=
X-Received: by 2002:a05:6830:488e:b0:72b:98d9:6b1c with SMTP id
 46e09a7af769-72bfbe4bb97mr7248926a34.21.1742480416930; Thu, 20 Mar 2025
 07:20:16 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741617888.git.bertrand.marquis@arm.com> <75ffd7378e75fb1a07584c1b178600bbfb348425.1741617888.git.bertrand.marquis@arm.com>
In-Reply-To: <75ffd7378e75fb1a07584c1b178600bbfb348425.1741617888.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 20 Mar 2025 15:20:05 +0100
X-Gm-Features: AQ5f1JoaEUnTYscBDR0mXJExvTeSBC6JbuT-whztAhD2Onwjh5DaES77WeP-TOE
Message-ID: <CAHUa44FhHz25oHB6bv+NJrf+21N-8HFvMW7JR04NM9JkpKLabg@mail.gmail.com>
Subject: Re: [PATCH v2 2/5] xen/arm: ffa: Introduce VM to VM support
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 10, 2025 at 3:51=E2=80=AFPM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
> between VMs.
> When activated list VMs in the system with FF-A support in part_info_get.
>
> WARNING: There is no filtering for now and all VMs are listed !!
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v2:
> - Switch ifdef to IS_ENABLED
> - dom was not switched to d as requested by Jan because there is already
>   a variable d pointing to the current domain and it must not be
>   shadowed.
> ---
>  xen/arch/arm/tee/Kconfig        |  11 +++
>  xen/arch/arm/tee/ffa_partinfo.c | 144 +++++++++++++++++++++++++-------
>  xen/arch/arm/tee/ffa_private.h  |  12 +++
>  3 files changed, 137 insertions(+), 30 deletions(-)
>
> diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
> index c5b0f88d7522..88a4c4c99154 100644
> --- a/xen/arch/arm/tee/Kconfig
> +++ b/xen/arch/arm/tee/Kconfig
> @@ -28,5 +28,16 @@ config FFA
>
>           [1] https://developer.arm.com/documentation/den0077/latest
>
> +config FFA_VM_TO_VM
> +    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
> +    default n
> +    depends on FFA
> +    help
> +      This option enables to use FF-A between VMs.
> +      This is experimental and there is no access control so any
> +      guest can communicate with any other guest.
> +
> +      If unsure, say N.
> +
>  endmenu
>
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_parti=
nfo.c
> index c0510ceb8338..7af1eca2d0c4 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -77,7 +77,23 @@ void ffa_handle_partition_info_get(struct cpu_user_reg=
s *regs)
>      };
>      uint32_t src_size, dst_size;
>      void *dst_buf;
> -    uint32_t ffa_sp_count =3D 0;
> +    uint32_t ffa_vm_count =3D 0, ffa_sp_count =3D 0;
> +

This function is getting quite large and it's hard to follow the
different lock states. How about splitting it into various helper
functions?

> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        struct domain *dom;
> +
> +        /* Count the number of VM with FF-A support */

Why do we need this now? Isn't it enough to count them below when we
fill in dst_buf?

> +        rcu_read_lock(&domlist_read_lock);
> +        for_each_domain( dom )
> +        {
> +            struct ffa_ctx *vm =3D dom->arch.tee;
> +
> +            if (dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0)
> +                ffa_vm_count++;
> +        }
> +        rcu_read_unlock(&domlist_read_lock);
> +    }
>
>      /*
>       * If the guest is v1.0, he does not get back the entry size so we m=
ust
> @@ -127,33 +143,38 @@ void ffa_handle_partition_info_get(struct cpu_user_=
regs *regs)
>
>      dst_buf =3D ctx->rx;
>
> -    if ( !ffa_rx )
> +    /* If not supported, we have ffa_sp_count=3D0 */
> +    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>      {
> -        ret =3D FFA_RET_DENIED;
> -        goto out_rx_release;
> -    }
> +        if ( !ffa_rx )
> +        {
> +            ret =3D FFA_RET_DENIED;
> +            goto out_rx_release;
> +        }
>
> -    spin_lock(&ffa_rx_buffer_lock);
> +        spin_lock(&ffa_rx_buffer_lock);
>
> -    ret =3D ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
> +        ret =3D ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size=
);
>
> -    if ( ret )
> -        goto out_rx_hyp_unlock;
> +        if ( ret )
> +            goto out_rx_hyp_unlock;
>
> -    /*
> -     * ffa_partition_info_get() succeeded so we now own the RX buffer we
> -     * share with the SPMC. We must give it back using ffa_hyp_rx_releas=
e()
> -     * once we've copied the content.
> -     */
> +        /*
> +         * ffa_partition_info_get() succeeded so we now own the RX buffe=
r we
> +         * share with the SPMC. We must give it back using ffa_hyp_rx_re=
lease()
> +         * once we've copied the content.
> +         */
>
> -    /* we cannot have a size smaller than 1.0 structure */
> -    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
> -    {
> -        ret =3D FFA_RET_NOT_SUPPORTED;
> -        goto out_rx_hyp_release;
> +        /* we cannot have a size smaller than 1.0 structure */
> +        if ( src_size < sizeof(struct ffa_partition_info_1_0) )
> +        {
> +            ret =3D FFA_RET_NOT_SUPPORTED;
> +            goto out_rx_hyp_release;
> +        }
>      }
>
> -    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
> +    if ( ctx->page_count * FFA_PAGE_SIZE <
> +         (ffa_sp_count + ffa_vm_count) * dst_size )
>      {
>          ret =3D FFA_RET_NO_MEMORY;
>          goto out_rx_hyp_release;
> @@ -182,25 +203,88 @@ void ffa_handle_partition_info_get(struct cpu_user_=
regs *regs)
>          }
>      }
>
> +    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> +    {
> +        ffa_hyp_rx_release();
> +        spin_unlock(&ffa_rx_buffer_lock);
> +    }
> +
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) && ffa_vm_count )
> +    {
> +        struct domain *dom;
> +        uint32_t curr =3D 0;
> +
> +        /* add the VM informations if any */
> +        rcu_read_lock(&domlist_read_lock);
> +        for_each_domain( dom )
> +        {
> +            struct ffa_ctx *vm =3D dom->arch.tee;
> +
> +            /*
> +             * we do not add the VM calling to the list and only VMs wit=
h
> +             * FF-A support
> +             */
> +            if (dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0)
> +            {
> +                /*
> +                 * We do not have UUID info for VMs so use
> +                 * the 1.0 structure so that we set UUIDs to
> +                 * zero using memset
> +                 */
> +                struct ffa_partition_info_1_0 srcvm;
> +
> +                if ( curr =3D=3D ffa_vm_count )
> +                {
> +                    /*
> +                     * The number of domains changed since we counted th=
em, we
> +                     * can add new ones if there is enough space in the
> +                     * destination buffer so check it or go out with an =
error.
> +                     */

Why do we care if the number has changed? If it fits, all is good
anyway and we're also updating ffa_vm_count with curr after the loop.

Cheers,
Jens

> +                    ffa_vm_count++;
> +                    if ( ctx->page_count * FFA_PAGE_SIZE <
> +                         (ffa_sp_count + ffa_vm_count) * dst_size )
> +                    {
> +                        ret =3D FFA_RET_NO_MEMORY;
> +                        rcu_read_unlock(&domlist_read_lock);
> +                        goto out_rx_release;
> +                    }
> +                }
> +
> +                srcvm.id =3D ffa_get_vm_id(dom);
> +                srcvm.execution_context =3D dom->max_vcpus;
> +                srcvm.partition_properties =3D FFA_PART_VM_PROP;
> +                if ( is_64bit_domain(dom) )
> +                    srcvm.partition_properties |=3D FFA_PART_PROP_AARCH6=
4_STATE;
> +
> +                memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size));
> +
> +                if ( dst_size > sizeof(srcvm) )
> +                    memset(dst_buf + sizeof(srcvm), 0,
> +                           dst_size - sizeof(srcvm));
> +
> +                dst_buf +=3D dst_size;
> +                curr++;
> +            }
> +        }
> +        rcu_read_unlock(&domlist_read_lock);
> +
> +        /* the number of domains could have reduce since the initial cou=
nt */
> +        ffa_vm_count =3D curr;
> +    }
> +
> +    goto out;
> +
>  out_rx_hyp_release:
>      ffa_hyp_rx_release();
>  out_rx_hyp_unlock:
>      spin_unlock(&ffa_rx_buffer_lock);
>  out_rx_release:
> -    /*
> -     * The calling VM RX buffer only contains data to be used by the VM =
if the
> -     * call was successful, in which case the VM has to release the buff=
er
> -     * once it has used the data.
> -     * If something went wrong during the call, we have to release the R=
X
> -     * buffer back to the SPMC as the VM will not do it.
> -     */
> -    if ( ret !=3D FFA_RET_OK )
> -        ffa_rx_release(d);
> +    ffa_rx_release(d);
>  out:
>      if ( ret )
>          ffa_set_regs_error(regs, ret);
>      else
> -        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
> +        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_size=
);
>  }
>
>  static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index c4cd65538908..bd6877d8c632 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -187,6 +187,18 @@
>   */
>  #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
>
> +/*
> + * Partition properties we give for a normal world VM:
> + * - can send direct message but not receive them
> + * - can handle indirect messages
> + * - can receive notifications
> + * 32/64 bit flag is set depending on the VM
> + */
> +#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
> +                             FFA_PART_PROP_INDIRECT_MSGS | \
> +                             FFA_PART_PROP_RECV_NOTIF | \
> +                             FFA_PART_PROP_IS_PE_ID)
> +
>  /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
>  #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
>  #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:26:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:26:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922161.1326074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGqr-0007sh-2T; Thu, 20 Mar 2025 14:26:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922161.1326074; Thu, 20 Mar 2025 14: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 1tvGqq-0007sa-WE; Thu, 20 Mar 2025 14:26:29 +0000
Received: by outflank-mailman (input) for mailman id 922161;
 Thu, 20 Mar 2025 14:26: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=G4gr=WH=linaro.org=linus.walleij@srs-se1.protection.inumbo.net>)
 id 1tvGqp-0007sM-Q5
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:26:27 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e609983-0597-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 15:26:26 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5497590ffbbso991706e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 07:26:26 -0700 (PDT)
Received: from Fecusia.lan (c-92-34-223-1.bbcust.telenor.se. [92.34.223.1])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-549ba8a9201sm2216816e87.250.2025.03.20.07.26.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 07:26: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: 4e609983-0597-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742480786; x=1743085586; 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=XvoMtFQu/5mLGfm/YlEYZey6eEGMtp23wegCaBbXJv4=;
        b=lQDOKy5uKb17/Ey1SKQ7kCtGdmLpMMH4Ad87cPy7nubl+zLDdBIr+DEwfGiTZhivUh
         GGWwsld/e6bCbWdKzDZ8DE126Ib/XGrH/3RVNqPJtcMlo+vTYCe/WxvRPryaawCbpJOl
         0moyijVWVNavkkkOBIZQQWz0xmd2MhEmkOvnjXbGNSIOXV419AprZORKvErXiM5CFrUS
         q24dl4s7wkIhwDfXo4s/ZpSLRhKTb7JObW2MiFUvbowzTt9ruw8SwFgE8Ut83b8f9jyT
         f84Oa7wbaWEImWJlOXoq+c+lPbpc1DfiLSbLRoGmCv7iN21JXzc2k5mIjL86fxM3a13F
         YlDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742480786; x=1743085586;
        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=XvoMtFQu/5mLGfm/YlEYZey6eEGMtp23wegCaBbXJv4=;
        b=FIXeeg6RuyTU7jxBi0tGH6nNNXM4+w01MI2/C/8/mz56ChCvvBXQbSVcaNmTv8dRpe
         Vfm4knt9i0qP2yrtHg0znRnCY8q1nklWf7imNkMGjJb+83SXBi7/K90OMahBCYkSVQ9B
         XiJCIKEdCfuWswhgaIavD1i0JdgxI+qbyarLtKl9jDfuzOgWfOq378JRDHCpXq1+ePea
         KEeT7xPShz3MOnXmlI35Y+Gg7/KNsKrqVOnudubDAbIvtaK6IXRKNyZEys9X+o1vcUh9
         h1y6M+0yT/xIOPaAAlx91bQG1Fm9oVS69oGuol3pro+ZjCmh8jCIu15M1wE1LCxAThll
         SlmA==
X-Forwarded-Encrypted: i=1; AJvYcCUVGfhcjGznnE2Cb78d5yNM4aAxQGo0fi9GjAzCubvh3BqQUjP4aclDiaj7A/AQcBjUmwBxJma0wsA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyABPpLbmodd6+oi2JjK30z1TOz7riADEm8yS5eA9MqD9QRWQJj
	k3h6lvZWHjLNhXqN288cCcDoHq3rnvSukKLd1b6xUtki3m0LCDbfOH35jZnOGEw=
X-Gm-Gg: ASbGncv0thZFxhDTFr4CHuUAs37BHtQp73c1EOlon+1cnRI+QrFu741bkBeXsJ5yR2t
	PAw2mEtXXTdVUDBlwQRupAbpDHGuU2QEe2Es/WvzyZvCkSFMF1o2YrHqHZLFVk/REh129K9gDka
	Uwd9xNuOOs/+qReOgX5X29FLTJ5SwPrC2GlY6cfvYb940Li9ApJwd9Ndm6SF6x5WHI5aDID6jXR
	/bYITp+rtV+SgUa2/xiNUxdbO9dm8ExeFK1D4ZXWFWeIR8qJ+luoYh0vFZbx/snwK3oLySt1iO2
	ptTnvfA5T1mV7/H3RQgIlPSXzWxlCFEUJJU+A7Nit38tSISxhfc0KBpTngTijBKN3vYEl6DrYYH
	CfJjI
X-Google-Smtp-Source: AGHT+IGJdiwH3GLesSTdhfruK4DZmmmGPbFFRhIvLmZNGlq+ysSxYFDz9Vi7Dj6qQxxwk7XjYXZifg==
X-Received: by 2002:a05:6512:1153:b0:545:d70:1d0e with SMTP id 2adb3069b0e04-54ad061ba69mr1646599e87.3.1742480785393;
        Thu, 20 Mar 2025 07:26:25 -0700 (PDT)
From: Linus Walleij <linus.walleij@linaro.org>
To: catalin.marinas@arm.com,
	will@kernel.org,
	oleg@redhat.com,
	sstabellini@kernel.org,
	tglx@linutronix.de,
	peterz@infradead.org,
	luto@kernel.org,
	mingo@redhat.com,
	juri.lelli@redhat.com,
	vincent.guittot@linaro.org,
	dietmar.eggemann@arm.com,
	rostedt@goodmis.org,
	bsegall@google.com,
	mgorman@suse.de,
	vschneid@redhat.com,
	kees@kernel.org,
	aliceryhl@google.com,
	ojeda@kernel.org,
	samitolvanen@google.com,
	masahiroy@kernel.org,
	rppt@kernel.org,
	xur@google.com,
	paulmck@kernel.org,
	arnd@arndb.de,
	mark.rutland@arm.com,
	puranjay@kernel.org,
	broonie@kernel.org,
	mbenes@suse.cz,
	sudeep.holla@arm.com,
	guohanjun@huawei.com,
	prarit@redhat.com,
	liuwei09@cestc.cn,
	Jonathan.Cameron@huawei.com,
	dwmw@amazon.co.uk,
	kristina.martsenko@arm.com,
	liaochang1@huawei.com,
	ptosi@google.com,
	thiago.bauermann@linaro.org,
	kevin.brodsky@arm.com,
	Dave.Martin@arm.com,
	joey.gouly@arm.com,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org
Cc: ruanjinjie@huawei.com,
	Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH -next v6 1/8] entry: Split generic entry into generic exception and syscall entry
Date: Thu, 20 Mar 2025 15:26:12 +0100
Message-ID: <20250320142612.396250-1-linus.walleij@linaro.org>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250213130007.1418890-2-ruanjinjie@huawei.com>
References: <20250213130007.1418890-2-ruanjinjie@huawei.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

> Currently CONFIG_GENERIC_ENTRY enables both the generic exception
> entry logic and the generic syscall entry logic, which are otherwise
> loosely coupled.
>
> Introduce separate config options for these so that archtiectures can
> select the two independently. This will make it easier for
> architectures to migrate to generic entry code.
>
> Suggested-by: Mark Rutland <mark.rutland@arm.com>
> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>

If the generic entry maintainer (hi Thomas) thinks this patch is
OK it would be nice to have it applied because it will also make
the ARM32 transition to generic entry easier as we can work on
exception and syscall entry each in isolation.

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:28:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922177.1326085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGt6-0008Vw-Iw; Thu, 20 Mar 2025 14:28:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922177.1326085; Thu, 20 Mar 2025 14:28: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 1tvGt6-0008Vp-FO; Thu, 20 Mar 2025 14:28:48 +0000
Received: by outflank-mailman (input) for mailman id 922177;
 Thu, 20 Mar 2025 14:28: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvGt5-0008Vj-3M
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:28:47 +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 a19ac0b3-0597-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 15:28:46 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so727050f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 07:28: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
 5b1f17b1804b1-43d43f55c99sm50948935e9.24.2025.03.20.07.28.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 07:28: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: a19ac0b3-0597-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742480925; x=1743085725; 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=cdx2m9LqzoiNWzhkOoBPZfLMpnbrwdRplBZHmpwIuKw=;
        b=TuDyQHUvLG/yCIqRF1ThD0ov/mCkuBiCoKlpwqHPSwjVYV6Fzx3O509RzpiYudTgBw
         LhQZujfC/r7CMAJnp1Cqia/PE0yNaf3xz/DxzOA//SynB3eRS9Ecz5F1Z0QoDfZGOLOA
         DNRDnOlv6czXOE7a70QObhkzsyFNcXzPoS+bMgvGLfzUjEkzku83VdUIwx1cSj7mPJfE
         REpuAhsdfSiek9ECUMC61jLJ0yP1YqP31ymnuN7G3C3Vp9ZduGRuzjaGI0no7a9x7vhU
         N4Vdpr2xMtQa+XOyhpsjuqkSKHTtJhCrjhUg6h2esVC/I4zb875yyWqnz/Kxu5VeBuh4
         6sdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742480925; x=1743085725;
        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=cdx2m9LqzoiNWzhkOoBPZfLMpnbrwdRplBZHmpwIuKw=;
        b=tN+Rj5IHpjphqMchNe1g8Xf/vSdjFA/QfKN6OxuFLeYpkrsHoxnFYyueaNGFwb3A7+
         f4iBFqqURF6YNBWrnSaKCRgBNaepYCp/B1W6Yn55aniR0iTihkWgYlWmsaHKKlIdlzq4
         l45r9/AhPoG6gWX2D2MkmrL+OMUBdF0zG0tOyZZpq0YF6uBY3++2fJJnoneKbtiqoowI
         8Bo859zXqEA0gchTtXc6S/i6b/gk253COcVrUoh5hyDFDT+SBiX0cbcT140asnuzi+qW
         h9WVbcp776qKqm/aHFtCJ+1in001nA3/VlJLgsH6ra0RRNJ9bxkPP/eW3oPfKaNF00jF
         LFdQ==
X-Forwarded-Encrypted: i=1; AJvYcCWVdgVlxiWgSVa12clfuX7sgRFz5LsbAd/mmbwWavtGF/B45+m0q0YKnA+y6RsffaKV2kvYuLA+bYM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxrDaHACQmr1v49am4SqSRMB8aed9VzyJAJbYTv0C+GvQeg6Ve7
	qjc/WPE2jGMvXVknnYojhwvTbpYGfyvUG75thk2Du3nwykbCIo6VoRwQl02HKQ==
X-Gm-Gg: ASbGncvInDwRpXQCWzxcH2P5MgD9bfQ/EYSEPkv5fWp+OjrZNPwng1eu+haohow3PbB
	pR7CUU8AM2ZyPRY9vAkymIrrlzUJuhkKyq5F1zSsgB0+xyfO3OWpPodMUVoYVkY8b23Llld2s51
	GM0k/FLx397hiTCtuEt1XIBF2vVwtHkU7TSc+seDL1vnyMQDUXxBsLcmiEkv0potTlmFJzSjiu7
	KYsAqOdKBid3sSXCq9zPvB/j/4v5FwGxF3eLWrTz7sPZB5vJeEdgBFiOowmKYtRYMRPeme7iY6k
	DP7iMcvr/X3N2D9qceOlOCeAk+nPL3599LdslY2zFwDfd/3ZIlGqYTKZnxxB6dc/Bf3t6yAjgOj
	GfrvFjJx/CaUlsK2JfFRI++GBvIiOTQ==
X-Google-Smtp-Source: AGHT+IHK14HVfnDSnobjLaM0iJ7TMWkWHhcx9aD+TUczYLe3vtwcmGQa+QjwOraGWzdhLceByBElQw==
X-Received: by 2002:a5d:5848:0:b0:391:2995:5ef2 with SMTP id ffacd0b85a97d-399795d8beamr2509020f8f.37.1742480925267;
        Thu, 20 Mar 2025 07:28:45 -0700 (PDT)
Message-ID: <487d57c1-fcea-4cac-bf2e-53fab739bbc5@suse.com>
Date: Thu, 20 Mar 2025 15:28:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 2/4] x86:svm: rename svm/nestedhvm.h ->
 svm/nestedsvm.h
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
 <ad1cc03c3544235426b73e3779edb36653f25287.1742465624.git.Sergiy_Kibrik@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: <ad1cc03c3544235426b73e3779edb36653f25287.1742465624.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 11:36, Sergiy Kibrik wrote:
> This is private header for SVM code, comment in header and file's changelog
> suggest that intended name was svm/nestedsvm.h, so perhaps a small mistake here.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/hvm/svm/intr.c                       | 2 +-
>  xen/arch/x86/hvm/svm/{nestedhvm.h => nestedsvm.h} | 0
>  xen/arch/x86/hvm/svm/svm.c                        | 2 +-
>  3 files changed, 2 insertions(+), 2 deletions(-)
>  rename xen/arch/x86/hvm/svm/{nestedhvm.h => nestedsvm.h} (100%)

Yet then, if already we rename it, why not to just svm/nested.h?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:29:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:29:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922181.1326095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGtI-0000Oa-Pz; Thu, 20 Mar 2025 14:29:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922181.1326095; Thu, 20 Mar 2025 14: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 1tvGtI-0000OP-MY; Thu, 20 Mar 2025 14:29:00 +0000
Received: by outflank-mailman (input) for mailman id 922181;
 Thu, 20 Mar 2025 14: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=cJiu=WH=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tvGtH-0000Lp-MO
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:28:59 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20628.outbound.protection.outlook.com
 [2a01:111:f403:2405::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6f47a59-0597-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 15:28:56 +0100 (CET)
Received: from DS7PR03CA0099.namprd03.prod.outlook.com (2603:10b6:5:3b7::14)
 by PH8PR12MB7157.namprd12.prod.outlook.com (2603:10b6:510:22b::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar
 2025 14:28:51 +0000
Received: from DS3PEPF0000C37C.namprd04.prod.outlook.com
 (2603:10b6:5:3b7:cafe::74) by DS7PR03CA0099.outlook.office365.com
 (2603:10b6:5:3b7::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu,
 20 Mar 2025 14:28:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF0000C37C.mail.protection.outlook.com (10.167.23.6) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 14:28:50 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar
 2025 09:28:49 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 20 Mar 2025 09:28:48 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6f47a59-0597-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dwPAO3ZqeLl03zrpEOEovTIxHhDZzQ6VUKacVfoEzX1Ex+cLzjBIXiMvqpou2fypQnBJ5k5Nbetx6FYelS995YsmPQq0qjCZuvw6BE5je+r/s6Vi4AD9J762wA/EnUaCGjrYFmS0gG0z8tDDPzGPh9nLiyd0gBHTLcUZ2k5uxxy46lXN46bX/FTfXohEhXvYhX5npVryY+BtG2Qnm+uwRA1ElfNU2VJ/piTAwHpbvMsSeuiTP/dJmGPI/KnYz0+F2a1mtL8Gn7ZYyTWlnp2nEjXRwkZGR4tPowkNPs9ORMZA4f5pugg2nMcjE5SxqgASQ4akLCHQrw9llgnpz+g9wQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=un8giWv051B50ehq2Qqog9X1DpIqJ1bKk8Haauu/BsQ=;
 b=PbqUM04La5WFdx7a4O5rXcq7ecRo8Q8G2aCiDbz8zHjuoE7smSSuQkvJ07qD4aRJU+TERQ/lWqq0j1bjBhR+Ri5SYNGr2PAMQYXmHJq7ttx6e6xLiZEMm7qYi7g5oWDrsaPGMt8jijTuRMclOC4FSBltiJCUSTL5e7pEkhXN0IxKHzV+R4u0U4K4A00gORjfpUpew1uiQ2Nfu9y+9fanUawkm1w94l2yWApDIcB09dk+ZOS6FfXflwxYHiOy1G7U6q3BEy0EcfEdnra+MWk3b9z54rHy9GaCGS+ToK2GNB9Rd2C5fk6DTGV0/ojdmlKL5Q0sYJvARyJXCsMUjdinOg==
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=un8giWv051B50ehq2Qqog9X1DpIqJ1bKk8Haauu/BsQ=;
 b=lfKJZvilgs5LkooB5JYhTjbB2zG/XgscVcgj7oOMQfEeru9vb6gCfvqy1k9JU9IX0yR++pjJfCyo/IfaNFKv7y8uI03YFZhWSTd2iQC4P2rSh8vFfBbpNcWXkKbd0pdDfYhj5DWybDdgEegkvApb+VRrvQV/huWra7nDwV9pwHM=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <c8cb581e-7d6d-4f0b-abb5-f94f0c50fcac@amd.com>
Date: Thu, 20 Mar 2025 10:28:49 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 1/2] 9pfs: add fstat file operation hook
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250320074924.8080-1-jgross@suse.com>
 <20250320074924.8080-2-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250320074924.8080-2-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF0000C37C:EE_|PH8PR12MB7157:EE_
X-MS-Office365-Filtering-Correlation-Id: de6faf38-0a3a-4f00-d83f-08dd67bb88d9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WFVaY3NKUWxGRU4rNDhRUVg0V2tmVkxVd05TMFJTYkhMTDczTjFZWHI1aW82?=
 =?utf-8?B?dDJNazVGeUNMbHFFVk1KM3Y2NzVrVFg3VEowNyt5RmZPbUFuV2RBR29hcCtn?=
 =?utf-8?B?ait0Rk5YVEJaV3BVSG1BalJLSEIweVVBd3pxeDZCN29mNVU2RDJzVDBncDhQ?=
 =?utf-8?B?dTcrRjluVWdVQUxaYUE5cU9YVTlaekt0cTBYNUFSUGhDY1lYck9sRnF3bU5D?=
 =?utf-8?B?cWJIV2szbVlUcXpJSHRHQ3hwNTY0enpEREdxUGRTKzRiY3dtYThGbVV5UVV5?=
 =?utf-8?B?U2VzS2VYKzBiclFDSFlFakNsZC9xS3Y5VkFaZ0FOaXE1ckw5RUxPeWFzNFBO?=
 =?utf-8?B?b3JXeVRMNTBuZnZLQVlZRzJSbGovRjYwZGUwU01JUUIyVEpxVnpDaU5EUGMr?=
 =?utf-8?B?cFk2amYyVlFxT0M5VFNlRU8yMzFINXhCVk10YVEyUlk0U0tnVE9jbVFnZVRC?=
 =?utf-8?B?ai9SaklVeWJ3WFRCRktuSlgzc2dQc2dBUWd6ZXlGYWNpdUZ2V0tCMWFORHZR?=
 =?utf-8?B?WklBdmRNUkF3WEo1QjQzQzJVZitvV0pkblBJUDAzZjhuTG5kajBKVWpWT3Bo?=
 =?utf-8?B?Q3ZVcU1Pczg3UjlTbFVVVUgzSnZTZEl6SkVuY01oQUZxeFFuelRmc3I3NVlm?=
 =?utf-8?B?MXE4d1dhcFFGeEo0L0hKTXh0Y1dFN0k1S2lqZUs4S2lVZ0V1UDlTZEw1NzFt?=
 =?utf-8?B?VmdpcDdqYndMbkVRMllvVVZJQm5zUlBMUmp1T2IzVkJ5RDhJcWEzWGkraXJU?=
 =?utf-8?B?OWdBRFNqWENTOVVUQ3BXVFRxSWNXbmNEOUlwWjJYcDdqNSs2eSs5UEI1WXJT?=
 =?utf-8?B?ZHBVcDNwR25ZOWZxOVpibzhUbmVOS2hNTUxYMjZMNmY0MkFqdTJzMjlqSjVL?=
 =?utf-8?B?MTE5dTdWb0RGaEtIL1hBajUvWTB4MXBkbTRabE9UQTBDNlRGMVBNNEVkTklK?=
 =?utf-8?B?b0RINXhEcXdzQ3JGQlNPSlNNUDNKdnBLZXNDYzZQaTVyQ254azA4WUd6d1d5?=
 =?utf-8?B?UzJ1T0FYaG9tS2Z1YnM0amFCUDRZTTBlYUhxaCszdDk4OUp2cVR2TDIrdzFX?=
 =?utf-8?B?YXdrUnFEL2ovMEVQMVhKRzZqMEpNcGh5QklzK1FraU9meDBWUGQyVk4rOUha?=
 =?utf-8?B?dXJ6cXA3YjFuMHRhUEJnRm9BeG0vQTIyOWZLZlBiMmRja1gzNjhrcEF0c2JO?=
 =?utf-8?B?WmFuS0FMVTloVTFNcHh1WW5NL24rT05sNXRybitYRFkraUtNZ2tvdnVjc2Q1?=
 =?utf-8?B?VFVyYkdvL0FkWXh4bFBZUGxzckFQRkJPZlQyTmNzNytVZmliNUthaG1TWUtG?=
 =?utf-8?B?cm82L282MDcxTWxYeEhVRWwvUjFJeStpL0NHVkhJcEhUbVBwV1l2UDBDM2xw?=
 =?utf-8?B?Y3dkMS9FaHpkRzBEb3FyV3FZZjhWQ3RMUzh2Q2xCQXpFK1NiZDRnMnJPVEhk?=
 =?utf-8?B?UGNNcVpoQU5KNzNEUmIySHlmQThsSmY5MzQwbFRPYktnVVd6QTV0V2ttTHUr?=
 =?utf-8?B?L0cwTGFxZ0tQYkRHV1RzYzlvM0ZnWGJ3ZzFiejdVT0x2dktIRDkzOVYwK3o2?=
 =?utf-8?B?L1k1UWRSb0llcmpJcHBlMVpqSlIyMTEzUjFVMEgxallaRVZWSzlOdE1sUWNJ?=
 =?utf-8?B?dFdZVlRrUXJMa0lqRGNWL3czOGFmcVlGRTBPRDVsajNpQk9PRHUyelVSNEFV?=
 =?utf-8?B?WmdWTFFLTFJvcGtSN3BPM2JjbFFYY0FDWUF6em51NXA0OG1uVkMvcld2b1VN?=
 =?utf-8?B?OENNbDVPc28yQndsSXJyWmMwRzh5Sk4wdnFSdjBpaUhKWURCUkdUVkQ2bXFD?=
 =?utf-8?B?eHhuYzZESmlJQU95aVhNRXZsQnNuaktZV0c3ck1ra0RpdHJMUzk2cjBTZWJI?=
 =?utf-8?B?djROdUpyMGhGNnROWUVkcUxTeDVSc1cxUGR0OC8wUjl6bUlGR2tZOXZ1R0xj?=
 =?utf-8?B?bDVtYWY1b3I1NjNkeHhVbTNaOGozKzN3VUtXaUEwSVYrNHQyRFRaSVlDY0x1?=
 =?utf-8?Q?kS3z1iMkbiuiv+1mCQE5bTumg63k1U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 14:28:50.8220
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de6faf38-0a3a-4f00-d83f-08dd67bb88d9
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF0000C37C.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7157

On 2025-03-20 03:49, Juergen Gross wrote:
> Add a file operations fstat hook to the 9pfs frontend.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---

> @@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
>       return ret;
>   }
>   
> +static int fstat_9pfs(struct file *file, struct stat *buf)
> +{
> +    struct file_9pfs *f9pfs = file->filedata;
> +    struct p9_stat stat;
> +    int ret;
> +
> +    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
> +    if ( ret )
> +    {
> +        errno = EIO;
> +        return -1;
> +    }
> +
> +    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
> +    buf->st_mode = stat.mode & 0777;

I think you want `|= stat.mode & 0x777` here.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:32:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922216.1326122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGwi-0003rM-Ky; Thu, 20 Mar 2025 14:32:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922216.1326122; Thu, 20 Mar 2025 14:32: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 1tvGwi-0003rF-Gy; Thu, 20 Mar 2025 14:32:32 +0000
Received: by outflank-mailman (input) for mailman id 922216;
 Thu, 20 Mar 2025 14:32: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=cJiu=WH=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tvGwh-0003df-6Q
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:32:31 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20608.outbound.protection.outlook.com
 [2a01:111:f403:2415::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 254b0ad8-0598-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 15:32:28 +0100 (CET)
Received: from BYAPR21CA0021.namprd21.prod.outlook.com (2603:10b6:a03:114::31)
 by CY8PR12MB7612.namprd12.prod.outlook.com (2603:10b6:930:9c::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Thu, 20 Mar
 2025 14:32:24 +0000
Received: from SJ1PEPF00001CE5.namprd03.prod.outlook.com
 (2603:10b6:a03:114:cafe::80) by BYAPR21CA0021.outlook.office365.com
 (2603:10b6:a03:114::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8583.8 via Frontend Transport; Thu,
 20 Mar 2025 14:32:24 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 14:32:24 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar
 2025 09:32:23 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 20 Mar 2025 09:32:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 254b0ad8-0598-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M+vX3Cj4Zfi7OdkbPnvaejObmxon1oVmv5MbDiKaG9s5aXE2TK7X+WFsqPIEDZymmgay29nAX4uH+xvEC77qcxSxHXs3paHIgnMJa0DdfobTBUMfuuyNluBc9moojO5X1wQbYPYxsqRLwW7PnfgrTf5+ODiz1HxmuF276QYi+16EaC24ZT9I4MSN8TYzusOK7AT8MgfYkb9AgOWKgnyFzvF1IOiZ1UtBvC47U83X0fgGhnpMwPNjIF7lWfRxAWfVqLclnvz9nu9yykybo+60rDr4f7iqBpGxz28A5AGjtNLn+b4dGvoSYXkLLQcPJh56le+dLSbTLpERbdwGabXr+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=oym/vjI4zTqLxIyTBUdgzlM8RFBRNdUGdIJPCa5fGac=;
 b=LmXd8uLo5jSWzL01nSBzwFUaak/VJDmzs1UL3DkQ+5asaWnd7PElfFOL9o6RrqpJhPhe+6pFyb75OCnH4X79Z+Vr1QBHDVvkYpXYdVqNZxRKH7mCxI6GJ9GinmWKHqifYSzQVn/f/vG++t97eVMdpaOfi5dSc8rEcVw/w+7YyyC0fK4xLxy7KzZwvQJ1+Yhr0pvu61SDc3r/euwyTSjunmcJfyG1pDAa1ax1tt2FJ5v6ISu41nEWuEqFlKopvGFpczLyvl1RszneVR7iMomD2UQJeQKdkT8gayWxJjgg48Be82FUBM1rtVNVjMp37kK+RsXJc9nIHHYjhEhWri66qg==
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=oym/vjI4zTqLxIyTBUdgzlM8RFBRNdUGdIJPCa5fGac=;
 b=5j+FjBnpvdpiCi6TsiM7Md9BLQX4LAmKbiKIt3SaaJMzMNYyv1UnOIxvn6eh3eqrm+GeukDI2dDAcs6xGvsoxoFPFvFrKxMi3Qf9mwEyATbuLCb31WK0C17gibnCOzPPlfd/d/w7QmH4sFcmbxpE1feTsJuCSUEbM/6/fe+dchs=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <2e1b2f16-4fa5-4e72-9cdf-50da8b8f9ab7@amd.com>
Date: Thu, 20 Mar 2025 10:32:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 2/2] 9pfs: add lseek file operation hook
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250320074924.8080-1-jgross@suse.com>
 <20250320074924.8080-3-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250320074924.8080-3-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE5:EE_|CY8PR12MB7612:EE_
X-MS-Office365-Filtering-Correlation-Id: 318e42b8-7fa4-446f-7d2d-08dd67bc0811
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MmpSRVFMVHNxN1pWZFovWmRmK2x6TkdnR3VIK2owSVByVDcvMDRuRk1wdTFY?=
 =?utf-8?B?RDI2V1RwRkd1MUpiQjF3RGdDenZYaEZiamZmNEVMQzFuemEwLzhnbWNNcEpz?=
 =?utf-8?B?bWRsTEE2S3hUSVgzSTZDTWpMbW1ZS2pDbmhOU2dpOXYxekZDWkY4Q1dYbW9n?=
 =?utf-8?B?dFRHMkhnUkJEbks0UXdLa1BsSmIxakxQV1MyTmJ6OGZpckJxQTVUNkNITUJS?=
 =?utf-8?B?TkFja2R0RS8vOVo4RUQ2bkRRaXdPTHZzdG1KODl2UWl0eVN1T3hLS0dtdHY2?=
 =?utf-8?B?ZXJhaGNvcXRINFBOdDduTWplMlZOSTV0TDFHMVk1dC9wZHhDQTlUdytnTUFD?=
 =?utf-8?B?ZjIrejRnT0REeDFOWVVwb2EvYXNuSjdKRGJ2ZHR2Mkg3aHRkRXkyR01HZ3Vr?=
 =?utf-8?B?cHB6NkJXK3RXdkJUdG84Q3IyeWNEK3FwR01rNWMxR05JZjRhN1N2dTQvenVH?=
 =?utf-8?B?bUZSUkRyUHFmSDlIVVpJNlJTTERzMVBIbFhYRUdWclpVczJiVW9qbUl0Ukky?=
 =?utf-8?B?UWRab3lSUTl1MnlmRHBkb0s4ZGRSRVlQZ08xRkxNUnhZdE1CQ1J5NjIrUVJC?=
 =?utf-8?B?K0oxZjZCK242RkhrTjJPaGwvVVQ3VW9aN3hKNFZLR1BvUndJWlJPR2FJUEUy?=
 =?utf-8?B?aTV3aDU1OVJmdDNYRFVob2ZJTkdtMWl6WG1HcitzZjJ6cUtiTis5em9ybGx6?=
 =?utf-8?B?UnhOQnBORlp4dGFjQWt6Ulg2bFB3a2dsQk9yU2dZM045cFhsbklpRTJEM3pt?=
 =?utf-8?B?eEgrNGlGZXpCbytpMUZOZnAwMC9vc1lOS2g3R2daM29rMlE1QkMrWW5hajRK?=
 =?utf-8?B?ZDhZalcxZHA2OEt6ZXFacXdlZ1paSHF6Y0JxQUdheWxFL2FOZThpZzc4WVlL?=
 =?utf-8?B?SEtEdXpkSldBdGhINmlLWVBGaXZSRERlWUFRTVlVaG52L0VtcDhNU0ZKbCtJ?=
 =?utf-8?B?a2o4TlM2VDVFdEt5OUVZaWxjQXZvZmRFT3V4WExmd2RpM1ZxQk9XQmJYNFlq?=
 =?utf-8?B?TlUxb2V2ZzVRcFExWFNpMU9HYmowU0RxUU05T0VZQ1JEdnk2N0ZyNWl6Sjcx?=
 =?utf-8?B?VzRaNFp2Yjl5T2k4OFFTa1E5QVN4NE5OV1lDSitMUEQwaDdFWjgraUsrY0Z1?=
 =?utf-8?B?TUk2b1pybUZ6SndpNlhnL2pXNkZFNlJodng0YVRRTzRTMUtJbDBBKzhRZkps?=
 =?utf-8?B?Y0JQMGFPZWtpVDJieHpBcmgzWVRHeUJyeVJ1MzZxdVZUNWZ3Ym9Rc1JRRE1O?=
 =?utf-8?B?V0xCanY1SXRHZFR3cS9qQzYwK1RKTDhSeUxCY3NmZjB4blBMb0tLN28wVU93?=
 =?utf-8?B?N0hkVmhuYkthcWVkclJMTUZjTHlGeUlCREZMRFY4WTAvblNrYWVGTXpqRnRr?=
 =?utf-8?B?OTR5bjVWWDI5ZDVGd3NDZno3YlRUM3cwZUhEeTZQc0IwYUV6c1lITmRzUHBq?=
 =?utf-8?B?T2haL1hrcCs1QlJyeDdDenZ2UFZHWVpZWDFzZ0l4V0xaT1N2amZDTk83eHUw?=
 =?utf-8?B?UTNDQjAzaWgwSzZOaXZ0WVVtTU41MXNRbll5cDFFMUF6WlNrVXpoM05ZYVRh?=
 =?utf-8?B?eEJxRXdkaTdoT3JYaG1IVm14WEFxbEYySUJPNzZxOFplM1prM3VXWEZLMlJ6?=
 =?utf-8?B?cU1xck8xUldCZmJQaVJIVUJYbUExbTdJUXJaaWlVYkwrWG14MUJrMVFnSmRl?=
 =?utf-8?B?UkFxSVp1YTNmUm0yakRTY0haSSs5TW5iNlBpNXNCWjVYSm4vc05sSXRZeU1L?=
 =?utf-8?B?MEkrS3VLY1ZrdDhaMFZvRktDWnpEaHJTdEtTRE9NallmTjl0ZWNNVXl0elZI?=
 =?utf-8?B?aW5aUnF4YnBGV3RuZmxzVktBOHNaeGthNXhVRm1jZDZDU3JhaUpCcXEvbGpF?=
 =?utf-8?B?L1JDUExualViQ3BaL1NyekxRU0FOWFNPZDhCUXh2cUkvS2g1aXVlSElaVjcr?=
 =?utf-8?B?RE5KZWFVeHFQMURYOGdRRjZieWZDR092ajdueURYVXQrTDVpY0xIWkNQNTQw?=
 =?utf-8?B?ZHNLeGtXRW93PT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 14:32:24.2104
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 318e42b8-7fa4-446f-7d2d-08dd67bc0811
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=[SATLEXMB03.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: CY8PR12MB7612

On 2025-03-20 03:49, Juergen Gross wrote:
> Add a file operations lseek hook to the 9pfs frontend. Just use the
> lseek_default() implementation.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

lseek_default adjusts file->offset, and read_9pfs()/write_9pfs() are 
already using that.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:33:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922234.1326131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGxl-0004XD-Tj; Thu, 20 Mar 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 922234.1326131; Thu, 20 Mar 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 1tvGxl-0004X4-R2; Thu, 20 Mar 2025 14:33:37 +0000
Received: by outflank-mailman (input) for mailman id 922234;
 Thu, 20 Mar 2025 14:33: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=nziT=WH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tvGxk-0004Wu-UO
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:33:37 +0000
Received: from mail-oo1-xc2d.google.com (mail-oo1-xc2d.google.com
 [2607:f8b0:4864:20::c2d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e03dd82-0598-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 15:33:35 +0100 (CET)
Received: by mail-oo1-xc2d.google.com with SMTP id
 006d021491bc7-5f89aa7a101so384405eaf.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 07:33: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: 4e03dd82-0598-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742481214; x=1743086014; 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=w6rTRdyFjGndtKneW/jhqg7ELR/v6zFkQDG6ph5VDo4=;
        b=Go6ilj0XJbFAJW3nUt6E1fLgl1nawNv30C3ybZ+kMLdVWUF9+0W1YwlKBMQXL+q6/U
         aWot5QvWwEaYRfsA957/+pA5i0XPyii+FEXeMBixdjbgWLRqys8Xkox3gx4309SwNOvz
         Re9j2NOeKG3GoOy0C55c48uHwHi3KfFP6m1NA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742481214; x=1743086014;
        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=w6rTRdyFjGndtKneW/jhqg7ELR/v6zFkQDG6ph5VDo4=;
        b=b57wLCLfnWJ8uVHwN8bzj00WkbBk9aCwOYOqeEczkFM7Yehl4WOnBkkYL38EQd4zaA
         3P4pLnxcFgDkqCmfE4LyifrM7LYNZzbKtCf8u5EhicuDq63SEDakHkmCqJfbJZtXVU5S
         yxAJV0Z+vWuMc8cEiqnn7KseLSvfkNZ3ZlZAmw01LlPyWGOoaH4X+iJLgB0QqhaDxw/k
         xlIUvYEMtaetPunr3p3nfALklt0jvQ2Im3D21Os9vwfiiU9Xa2Gi5lftV2/lEY1b/oRz
         zRo2eXa5i9f5b0GxO8VUX3M0y8ie+ZdNzLYwVBXKf3us6s3EyidS/3N2ocKNJqNC7/JJ
         aNAg==
X-Forwarded-Encrypted: i=1; AJvYcCX5SgPFdsSb655Kqd1shDOhaFsGycAZSKwNbRqQwlmbV1kACfCpM9SAGrbCso1lLbihKepKwWeCQOE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwmeZkFzSunqTPMVgJA3kIUfusrmBvaqZZ6Mr57uYeU21Zbps+5
	rU9Q8Dt2gZLApYq+sVR7jmEiIYx3vzbLp2VZE9w6WLOpMAUz2FPrfHHykG8i9smDO9pskvZUlM7
	W/LuVjrBQfuYONWYwv06KYc5KB5JHB5ZUBRdjVw==
X-Gm-Gg: ASbGncvRAJTnn5CoRo4r1rbBXzSpDZzCH7xZRGM40UlTQf1ltrmXOdRHIQrZYVDbPJc
	KR4MPWmrT1B0k2d27gl77mRrRW2p/y8ZlZop55tmn4rw6+wAhDhJukckuA1qmJ3e7Pn95EUhlFw
	3F+jsbjQ/C8rKVCmZMAi3MVnFp5w==
X-Google-Smtp-Source: AGHT+IHeU3WBCyUTgIBXPPZIVCEBPlc83/bN/qbFujRhQ72vwAeokSw4Wo6HG7SNaHZQMty5oqEz87l1zVJcuHHNPx0=
X-Received: by 2002:a05:6820:22a7:b0:601:a677:d121 with SMTP id
 006d021491bc7-6021e351212mr3766127eaf.2.1742481214267; Thu, 20 Mar 2025
 07:33:34 -0700 (PDT)
MIME-Version: 1.0
References: <20250217162659.151232-1-frediano.ziglio@cloud.com>
 <Z7jf_YojU9tQ1Or7@mail-itl> <CACHz=Zierjby+_Q93dFeO5mjMG1aiSpyHvDshRK6=ZHY5bH-6A@mail.gmail.com>
 <Z7xxQHVdSGwig4hb@mail-itl> <CACHz=ZgHxvCJQyJe_NJFh3YYcuW0sey+qcOEv0O-XxC8daTo+A@mail.gmail.com>
 <Z79jhZ_BGEC6DYl4@mail-itl> <086f7e05-2cab-4a53-8ecb-dff7421e38bc@suse.com> <CACHz=ZjtjMyv5OmUT8dNHAzqrw5c7ij58quo1SuDc2ZBSjQRmw@mail.gmail.com>
In-Reply-To: <CACHz=ZjtjMyv5OmUT8dNHAzqrw5c7ij58quo1SuDc2ZBSjQRmw@mail.gmail.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 20 Mar 2025 14:33:23 +0000
X-Gm-Features: AQ5f1JpNY1Yald9Gt377hfv9WFdb2vOj-5ToZB7GgvuDItt6ICfKMv5xO7eG_jo
Message-ID: <CACHz=ZjLq8vVLtLL40DjcLV5wwxyatLdy4g3rq1ifSVcnATr8g@mail.gmail.com>
Subject: Re: [PATCH v6] Avoid crash calling PrintErrMesg from efi_multiboot2
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 6, 2025 at 3:02=E2=80=AFPM Frediano Ziglio
<frediano.ziglio@cloud.com> wrote:
>
> On Thu, Mar 6, 2025 at 2:26=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wr=
ote:
> >
> > On 26.02.2025 19:54, Marek Marczykowski-G=C3=B3recki wrote:
> > > On Mon, Feb 24, 2025 at 02:31:00PM +0000, Frediano Ziglio wrote:
> > >> On Mon, Feb 24, 2025 at 1:16=E2=80=AFPM Marek Marczykowski-G=C3=B3re=
cki
> > >> <marmarek@invisiblethingslab.com> wrote:
> > >>>
> > >>> On Mon, Feb 24, 2025 at 12:57:13PM +0000, Frediano Ziglio wrote:
> > >>>> On Fri, Feb 21, 2025 at 8:20=E2=80=AFPM Marek Marczykowski-G=C3=B3=
recki
> > >>>> <marmarek@invisiblethingslab.com> wrote:
> > >>>>>
> > >>>>> On Mon, Feb 17, 2025 at 04:26:59PM +0000, Frediano Ziglio wrote:
> > >>>>>> Although code is compiled with -fpic option data is not position
> > >>>>>> independent. This causes data pointer to become invalid if
> > >>>>>> code is not relocated properly which is what happens for
> > >>>>>> efi_multiboot2 which is called by multiboot entry code.
> > >>>>>>
> > >>>>>> Code tested adding
> > >>>>>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
> > >>>>>> in efi_multiboot2 before calling efi_arch_edd (this function
> > >>>>>> can potentially call PrintErrMesg).
> > >>>>>>
> > >>>>>> Before the patch (XenServer installation on Qemu, xen replaced
> > >>>>>> with vanilla xen.gz):
> > >>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> > >>>>>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  =
CPU Apic ID - 00000000 !!!!
> > >>>>>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:=
0 SGX:0
> > >>>>>>   RIP  - 000000007EE21E9A, CS  - 0000000000000038, RFLAGS - 0000=
000000210246
> > >>>>>>   RAX  - 000000007FF0C1B5, RCX - 0000000000000050, RDX - 0000000=
000000010
> > >>>>>>   RBX  - 0000000000000000, RSP - 000000007FF0C180, RBP - 0000000=
07FF0C210
> > >>>>>>   RSI  - FFFF82D040467CE8, RDI - 0000000000000000
> > >>>>>>   R8   - 000000007FF0C1C8, R9  - 000000007FF0C1C0, R10 - 0000000=
000000000
> > >>>>>>   R11  - 0000000000001020, R12 - FFFF82D040467CE8, R13 - 0000000=
07FF0C1B8
> > >>>>>>   R14  - 000000007EA33328, R15 - 000000007EA332D8
> > >>>>>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000=
000000030
> > >>>>>>   GS   - 0000000000000030, SS  - 0000000000000030
> > >>>>>>   CR0  - 0000000080010033, CR2 - FFFF82D040467CE8, CR3 - 0000000=
07FC01000
> > >>>>>>   CR4  - 0000000000000668, CR8 - 0000000000000000
> > >>>>>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000=
000000000
> > >>>>>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000=
000000400
> > >>>>>>   GDTR - 000000007F9DB000 0000000000000047, LDTR - 0000000000000=
000
> > >>>>>>   IDTR - 000000007F48E018 0000000000000FFF,   TR - 0000000000000=
000
> > >>>>>>   FXSAVE_STATE - 000000007FF0BDE0
> > >>>>>>   !!!! Find image based on IP(0x7EE21E9A) (No PDB)  (ImageBase=
=3D000000007EE20000, EntryPoint=3D000000007EE23935) !!!!
> > >>>>>>
> > >>>>>> After the patch:
> > >>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> > >>>>>>   Test message: Buffer too small
> > >>>>>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AA=
EA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
> > >>>>>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-A=
AEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
> > >>>>>>
> > >>>>>> This partially rollback commit 00d5d5ce23e6.
> > >>>>>>
> > >>>>>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for E=
FI platforms")
> > >>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > >>>>>
> > >>>>> I tried testing this patch, but it seems I cannot reproduce the o=
riginal
> > >>>>> failure...
> > >>>>>
> > >>>>> I did as the commit message suggests here:
> > >>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commit/ca3d6=
911c448eb886990f33d4380b5646617a982
> > >>>>>
> > >>>>> With blexit() in PrintErrMesg(), it went back to the bootloader, =
so I'm
> > >>>>> sure this code path was reached. But with blexit() commented out,=
 Xen
> > >>>>> started correctly both with and without this patch... The branch =
I used
> > >>>>> is here:
> > >>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commits/auto=
mation-tests?ref_type=3Dheads
> > >>>>>
> > >>>>> Are there some extra condition to reproduce the issue? Maybe it d=
epends
> > >>>>> on the compiler version? I guess I can try also on QEMU, but base=
d on
> > >>>>> the description, I would expect it to crash in any case.
> > >>>>>
> > >>>>
> > >>>> Did you see the correct message in both cases?
> > >>>> Did you use Grub or direct EFI?
> > >>>>
> > >>>> With Grub and without this patch you won't see the message, with g=
rub
> > >>>> with the patch you see the correct message.
> > >>>
> > >>> I did use grub, and I didn't see the message indeed.
> > >>> But in the case it was supposed to crash (with added PrintErrMesg()=
,
> > >>> commented out blexit and without your patch) it did _not_ crashed a=
nd
> > >>> continued to normal boot. Is that #PF non-fatal here?
> > >>>
> > >>
> > >> Hi,
> > >>    I tried again with my test environment.
> > >> Added the PrintErrMesg line before efi_arch_edd call, I got a #PF, i=
n
> > >> my case the system hangs. With the fix patch machine is rebooting an=
d
> > >> I can see the message in the logs.
> > >> I'm trying with Xen starting inside Qemu, EFI firmware, xen.gz
> > >> compiled as ELF file. Host system is an Ubuntu 22.04.5 LTS. Gcc is
> > >> version 11.4.
> > >
> > > My test was wrong, commenting out blexit made "mesg" variable unused.
> > > After fixing that, I can reproduce it on both QEMU and real hardware:
> > > without your patch it crashes and with your patch it works just fine.
> > > While there may be more places with similar issue, this patch clearly
> > > improves the situation, so:
> > >
> > > Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsla=
b.com>
> >
> > This had to be reverted, for breaking the build with old Clang. See the
> > respective Matrix conversation.
> >
> > Jan
> >
>
> To sum up the failure is:
>
>     clang: error: unknown argument: '-fno-jump-tables'
>

Now that the minimum clang version supports this option, can this
change be applied?

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:35:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922251.1326141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvGzJ-0005D3-A2; Thu, 20 Mar 2025 14:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922251.1326141; Thu, 20 Mar 2025 14:35: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 1tvGzJ-0005Cw-7A; Thu, 20 Mar 2025 14:35:13 +0000
Received: by outflank-mailman (input) for mailman id 922251;
 Thu, 20 Mar 2025 14:35: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=496r=WH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvGzH-0005Ci-ND
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:35:11 +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 870009b9-0598-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 15:35:10 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-aaf900cc7fbso201460266b.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 07:35:10 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5eb57bc6f1dsm3703505a12.50.2025.03.20.07.35.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 07:35: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: 870009b9-0598-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742481310; x=1743086110; 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=qiDGJOjRspOG1dsG/Ez+kBfM8VbVgfzROzDT+mwZ0w4=;
        b=JHt0yF8Uw0yp5nw0S0FH5Zr/stqbKN2kVfse8pjJ0XUFDgz178qxXJ7qpjMli8PNIj
         tun7rPYuqXjvA/4BO20Xe0SNiFZ1rTO3BfZAmQj5bfIprH3znHBgroeeo2QfDM5ZABHr
         Z+5AcdP1WAr22LImNs+DIHQCTppFW9ACUeHCJB2PtXx1TWxGe+IIoHJMywDqgEyZbX5D
         Gf8I1Ezqh9d8xDsg4dfR4MLu5FHJIf9QN8xSiDl98ZpIfJrMAKeKH8kRDh+e9d2urCYl
         l3aQLfQNZ8ik4y6h6CJ+dLCLUQMOGbvxuF0Y3xp1gQY5xVT3IL2w0qJWCwqDCAPGGlHx
         un7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742481310; x=1743086110;
        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=qiDGJOjRspOG1dsG/Ez+kBfM8VbVgfzROzDT+mwZ0w4=;
        b=uoIkBMosXnuBMQXHG9zQmivht6/JfHfOvLKomsG820IbjhKtIfnyOE13FeorfbDPJX
         Vfr7zIY9VMIPlSRjLXIPqPp36V9SBzqKzBRW7QKADy/WfcvCG4STJQyy8GeJ0ZXxRx4n
         mfRqjIV9BVyVI3cSTpZxIopWdQz/T4t7G3ruRCPnUIkOX5cPxoYAgnUA+sCqbih3tmzp
         k6/Fc4p1pDoe22htRt3ElQQ+SRw+eHaMQKualRk+6w0S6HJl1tGOEzA+Hhh6PF3LsZSq
         /jBYcM0bRhVfl2XkdVXx9jeSr+0b4+xBB5J7INQCGxhhRLJ2eb/lCPbCgM9kyHJnK1vl
         UfUQ==
X-Forwarded-Encrypted: i=1; AJvYcCW85D7wavdUH+tvuo66O7pIHjbLsdV7DvBx29dJwJ28MseBzR8UB1Du6HdpEn67tinIGbXaEgpgqII=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxENXiQzL45xgWlirbCcAmPySoBrkfHyWWTsn7aXi2Kqt4MYvSb
	m3DnD43/DuJhkckp5ray/m7gZCSsJ/nzQhAcGSplbjLiLRGEahGVZ1H0ScHPw9E=
X-Gm-Gg: ASbGnctOLJG4bVPYFdjSXw6rUTH+x0L86D6F108ATkXilQvE+Je4TnN6W7cResw0L0w
	aYi7PPNUVrzUiiF2hGRAF1b6GaMBkx3p6kKUsAzpKLn0RRBbWZCcEaI8UXpZkT2lANUuinLkkop
	golgDaGah2VeAJ6sFLgoSb+nsTzrlBei6ykTwf8zDjypEurv1HfFA2PK5y8LLPFpE9NF09j7ME4
	NIJ383xzlPaRxAOyooBcUqqB9A1B47OW9tuiZFM4dMZRJJBBzoN2YfXRjYAqk/H6lNVKINeEypO
	XOdEMb7EtTRlW+pp0pCP0M0rVHQeeMx4dE/R2nr1aeM6CCSUAssRh1WJgPSbRw6HKe0FBNZiUzF
	OKGECyR0dbMfo3eZrw1cO6tky8w2+09AHjLOrAJjiGhEFqfq6C1a1kzr0fdPx9X3IfZwEBw==
X-Google-Smtp-Source: AGHT+IG1mxbC1SeMzPWOf318cq6YNfrp0TIf+qslkBF46wDnG7JPUnRKBPXOelvRo7lXYpVr+S0TLg==
X-Received: by 2002:a17:907:c810:b0:ac3:3e40:e183 with SMTP id a640c23a62f3a-ac3b7a9677dmr804082966b.3.1742481309993;
        Thu, 20 Mar 2025 07:35:09 -0700 (PDT)
Message-ID: <ed35e0d0-898f-4e74-9a7c-24871d0d606c@suse.com>
Date: Thu, 20 Mar 2025 15:35:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 1/2] 9pfs: add fstat file operation hook
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
References: <20250320074924.8080-1-jgross@suse.com>
 <20250320074924.8080-2-jgross@suse.com>
 <c8cb581e-7d6d-4f0b-abb5-f94f0c50fcac@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: <c8cb581e-7d6d-4f0b-abb5-f94f0c50fcac@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------YhfWdGX0olAEptpoR3tggdZo"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------YhfWdGX0olAEptpoR3tggdZo
Content-Type: multipart/mixed; boundary="------------pmnZMVhCwA0VcU3KyloI08Jl";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
Message-ID: <ed35e0d0-898f-4e74-9a7c-24871d0d606c@suse.com>
Subject: Re: [MINI-OS PATCH 1/2] 9pfs: add fstat file operation hook
References: <20250320074924.8080-1-jgross@suse.com>
 <20250320074924.8080-2-jgross@suse.com>
 <c8cb581e-7d6d-4f0b-abb5-f94f0c50fcac@amd.com>
In-Reply-To: <c8cb581e-7d6d-4f0b-abb5-f94f0c50fcac@amd.com>

--------------pmnZMVhCwA0VcU3KyloI08Jl
Content-Type: multipart/mixed; boundary="------------ZwvVlxsP7cqFF3CpivCKIU0m"

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

T24gMjAuMDMuMjUgMTU6MjgsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDMt
MjAgMDM6NDksIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBBZGQgYSBmaWxlIG9wZXJhdGlv
bnMgZnN0YXQgaG9vayB0byB0aGUgOXBmcyBmcm9udGVuZC4NCj4+DQo+PiBTaWduZWQtb2Zm
LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiAtLS0NCj4gDQo+PiBA
QCAtOTUwLDYgKzk1MiwzMiBAQCBzdGF0aWMgaW50IHdyaXRlXzlwZnMoc3RydWN0IGZpbGUg
KmZpbGUsIGNvbnN0IHZvaWQgKmJ1ZiwgDQo+PiBzaXplX3QgbmJ5dGVzKQ0KPj4gwqDCoMKg
wqDCoCByZXR1cm4gcmV0Ow0KPj4gwqAgfQ0KPj4gK3N0YXRpYyBpbnQgZnN0YXRfOXBmcyhz
dHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHN0YXQgKmJ1ZikNCj4+ICt7DQo+PiArwqDCoMKg
IHN0cnVjdCBmaWxlXzlwZnMgKmY5cGZzID0gZmlsZS0+ZmlsZWRhdGE7DQo+PiArwqDCoMKg
IHN0cnVjdCBwOV9zdGF0IHN0YXQ7DQo+PiArwqDCoMKgIGludCByZXQ7DQo+PiArDQo+PiAr
wqDCoMKgIHJldCA9IHA5X3N0YXQoZjlwZnMtPmRldiwgZjlwZnMtPmZpZCwgJnN0YXQpOw0K
Pj4gK8KgwqDCoCBpZiAoIHJldCApDQo+PiArwqDCoMKgIHsNCj4+ICvCoMKgwqDCoMKgwqDC
oCBlcnJubyA9IEVJTzsNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLTE7DQo+PiArwqDC
oMKgIH0NCj4+ICsNCj4+ICvCoMKgwqAgYnVmLT5zdF9tb2RlID0gKHN0YXQucWlkWzBdID09
IFFJRF9UWVBFX0RJUikgPyBTX0lGRElSIDogU19JRlJFRzsNCj4+ICvCoMKgwqAgYnVmLT5z
dF9tb2RlID0gc3RhdC5tb2RlICYgMDc3NzsNCj4gDQo+IEkgdGhpbmsgeW91IHdhbnQgYHw9
IHN0YXQubW9kZSAmIDB4Nzc3YCBoZXJlLg0KDQpJbmRlZWQuIFRoYW5rcyBmb3IgY2F0Y2hp
bmcgdGhpcyBvbmUuDQoNCg0KSnVlcmdlbg0K
--------------ZwvVlxsP7cqFF3CpivCKIU0m
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-----

--------------ZwvVlxsP7cqFF3CpivCKIU0m--

--------------pmnZMVhCwA0VcU3KyloI08Jl--

--------------YhfWdGX0olAEptpoR3tggdZo
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/Ey8FAmfcJ50FAwAAAAAACgkQsN6d1ii/Ey8U
Kgf/ROrqjRvkOwUOfZz3iZT0LZquFHADC5RQTO0qM8jLVkR7ofbuipGo5SseukcfFeH/z8XfT555
/fDiA4FScCgXfmSJSnn4e9SICK3N9FZ3pVtYxHeC6sxpQDqpaC/cuI0s65YvzHVmBo3+tkwX6zX2
XAAsgYqfobXHZdkaXe5QqbLMd4HHlHJIGelPmEAytA1jNzaLgUVCqnDHOYQIxxg+FTWPJR8/rKtH
1QV8N8kCZhH+a3yjFQ10GniRGxEQgtgszlqooZDR0ICd+aJT0KxU54GiwYFapiTUiKVJGyPG7Dun
m0W2QbyLcIDA4luHLRGVLIrOtUBj5289T7U3l/WWdw==
=apt+
-----END PGP SIGNATURE-----

--------------YhfWdGX0olAEptpoR3tggdZo--


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:36:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922271.1326155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvH0F-0005pt-K5; Thu, 20 Mar 2025 14:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922271.1326155; Thu, 20 Mar 2025 14: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 1tvH0F-0005pm-Gl; Thu, 20 Mar 2025 14:36:11 +0000
Received: by outflank-mailman (input) for mailman id 922271;
 Thu, 20 Mar 2025 14:36: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=ZTlE=WH=bounce.vates.tech=bounce-md_30504962.67dc27d0.v1-6782a46338fb43b9b1b6cc2c7709487a@srs-se1.protection.inumbo.net>)
 id 1tvH0E-0005Ci-3E
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:36:10 +0000
Received: from mail132-31.atl131.mandrillapp.com
 (mail132-31.atl131.mandrillapp.com [198.2.132.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4ddbd87-0598-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 15:36:01 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-31.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4ZJSmw1fBdz9K7SHZ
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 14:36:00 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 6782a46338fb43b9b1b6cc2c7709487a; Thu, 20 Mar 2025 14:36: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: a4ddbd87-0598-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742481360; x=1742751360;
	bh=79bcBAv25T+Qlj2Z6zTFmDcntBtvpVdS+d7L9SWT9sY=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=qPqJQbdDlvJfU+u51SmuSgT9+jDS0uZlpACwgtf4n5tKo3LCNYMbrv/dpiUK2OiRv
	 tyNFkgwSC5WbXcC+xqE/Nt++d8UrAsINfx69afxol+Jtl5cq8kmINgqHPECa9zS8iO
	 VQm1ms9DctZU/dfN1IQ17bS0I372aRG3ByLI/r7iT1yjIQcHDYF+YYLRz9XBC/5xIS
	 xLOClLZwRCiYTD/u18SsOeNz1EnuGs48uIvVoBrdy3k48DTP6Vr1sw8MOdOVLRifbQ
	 KM+7S39hQD6mfEj3AStZUTKjAK921dXiPG2+/v36E+3AvfnqptVBLc832ur7W5jHLk
	 s1+nS6tV88Vsg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742481360; x=1742741860; i=anthony.perard@vates.tech;
	bh=79bcBAv25T+Qlj2Z6zTFmDcntBtvpVdS+d7L9SWT9sY=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=KruZEoii1J7Vp3ViJWAPN47WNBr8z4rwfrtkaAB9DBR97biFwoS89ghO4tUlEtX8a
	 HrI/HHAPLGrez0AZDDCAuW3WMGLd3guBnQnVf7n4ES7WxSLsJzUhDlxl4EaCELppTB
	 bLluZnPCLbHxTZI4UWVORtJUo4jZ8erOlWxEBrjfa4wyh9kw1YZdjKAH43gYIar6Ej
	 24flWIe+gNt16yTlpksQke2PNFUBctCV4of76cHmgrPLv7qzYacP9yTo2POymTxoY1
	 Ppvh13dXSdla63snI7yR4F3O4qG0JsEddfEoj46gfSKzul57Y2Df5DkZf1ysIGEI+/
	 b1U2R0aW3ITqw==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=202/2]=20Strip=20build=20path=20directories=20in=20tools,=20xen=20and=20xen/arch/x86?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742481358496
To: "=?utf-8?Q?Marek=20Marczykowski-G=C3=B3recki?=" <marmarek@invisiblethingslab.com>
Cc: "Jan Beulich" <jbeulich@suse.com>, "=?utf-8?Q?Fr=C3=A9d=C3=A9ric=20Pierret=20(fepitre)?=" <frederic.pierret@qubes-os.org>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "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>, xen-devel@lists.xenproject.org
Message-Id: <Z9wnzRbwb3HQaSMu@l14>
References: <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com> <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com> <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com> <Z9qxcRtap-k-wW8B@mail-itl> <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com> <Z9rJUWCARMQYqNXr@mail-itl> <Z9vrc1Xvm5OEy8rM@l14> <Z9wPVGd0fEsbaO_s@mail-itl> <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com> <Z9wfKB0vdngn3xXX@mail-itl>
In-Reply-To: <Z9wfKB0vdngn3xXX@mail-itl>
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.6782a46338fb43b9b1b6cc2c7709487a?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250320:md
Date: Thu, 20 Mar 2025 14:36:00 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
> > On 20.03.2025 13:51, Marek Marczykowski-G=C3=B3recki wrote:
> > > On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
> > >> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=C3=B3=
recki wrote:
> > >>> There are clearly some build path embedding left. And
> > >>> -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correctly w=
ith
> > >>> XEN_ROOT having xen/.. at the end.
> > >>> BTW, would it be acceptable to have this?
> > >>>
> > >>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realpath =
$(XEN_ROOT))=3D.)
> > >>
> > >> Hi,
> > >>
> > >> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's =
fine
> > >> in "tools/"). In "xen/", there's a few variables you can use if they=
 are
> > >> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srct=
ree)
> > >> $(objtree) for relative path. That also should avoid the need to use
> > >> $(realpath ).
> > > 
> > > XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it t=
o
> > > not have /.. for prefix-map to work correctly. Would it be better to =
use
> > > literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
> > > have paths in debug symbols relative to hypervisor source dir, instea=
d
> > > of xen repo root? I'm not sure if that wouldn't confuse some tools...
> > 
> > abs_srctree being computed using realpath, can't we replace
> > 
> > export XEN_ROOT :=3D $(abs_srctree)/..
> > 
> > by something as simpl{e,istic} as
> > 
> > export XEN_ROOT :=3D $(patsubst %/xen,%,$(abs_srctree))
> > 
> > ?
> 
> That works too. It's slightly less robust, but I don't expect "xen"
> directory to be renamed, so shouldn't be an issue. I'll leave also a
> comment there why not /.. .

I don't think $(XEN_ROOT) is present in the binaries produce by the
hypervisor's build system. There's only a few use if that variable: to
load some makefile, to execute makefile that build xsm policy and to
generate cpuid-autogen.h. Otherwise I don't think the compile have this
path in the command line. What is going to be in the binary is
$(abs_srctree), which you can replace by "./xen" if you want; which mean
it doesn't matter if the directory is renamed or not. You might want to
also take care of $(abs_objtree) which seems to also be in `xen-syms`
when doing out-of-tree build.

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:40:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:40:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922293.1326165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvH3u-0006Tn-2x; Thu, 20 Mar 2025 14:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922293.1326165; Thu, 20 Mar 2025 14:39: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 1tvH3t-0006Tg-WE; Thu, 20 Mar 2025 14:39:58 +0000
Received: by outflank-mailman (input) for mailman id 922293;
 Thu, 20 Mar 2025 14:39: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=GTqZ=WH=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tvH3s-0006Ta-IO
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:39:56 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20631.outbound.protection.outlook.com
 [2a01:111:f403:2606::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30080743-0599-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 15:39:54 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9037.eurprd03.prod.outlook.com
 (2603:10a6:10:439::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar
 2025 14:39:52 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.031; Thu, 20 Mar 2025
 14:39: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: 30080743-0599-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eOldWQ2dxWzoy1mKPltSfJmB/erfk/lsznymOtXjGezxxWswCKpbBeABI8cctIQT2mph9w7u53mabd1PBry6PSiAiyCeoz7cPpEoyrneKK9BiO2q1vOFah40+NNTFki31QHaUFtZCmHSkWpOi/OVvH8RU8Lq0uuHJG+Q8D2krW3OHHRD6yNL2nJuFJaHSISgkV43wN6PW27lV+us7n5JoXXO8IPchThMayNNu2Z1xdxVEk0FmML0/39F8Kh2fbLCG9gr8dZ4csvu6baKp2fIlkBggKrsS8y3VJT/3QHVMqGsfVA5Pv1HylLUJXfrk4csetTBVpKFmxuzY4cW2CoHaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=861WXRcE47hjKl69I4CqcqlkijG/GL80BXcMb4HQo5c=;
 b=o3/ym7trRESD+HEBNdDr4X0mAOtO6YoRtx7LdxQQJtJXI8yQ+sQLJJwubvXT04hmy/VhvEhY581TSSML0nHQVXmtcnXc5AlpTsO95VdU5Z2YdtInibX0bz2K6XfsUXhnnC5DGMZE4hdDxSZpSWvU8cwK2LcTH6bGvvpP/BhACEoaBgCyO2Mg30biAuFZXCex88paxXugwhNtk1qCdBAzNQIG/wf0hUlVcWMXOzOQRfHIZZcTwfRx45GbYW1FgKKfnStX5O10yL4fBhaYAa6kby9lzXZEqE4aHgcr6xRKK6c+qCY3LbLYahPLWxOMEmrCBPuuMR/rJmyV3d2Do6uH7w==
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=861WXRcE47hjKl69I4CqcqlkijG/GL80BXcMb4HQo5c=;
 b=tehdc86kv6VCgnbV2sF7BC8Un9gF1frSoSYKXylSVLtuctbyUzCrTCGUWZMYZoDGVhC2WiTB2+zl5DT3LLOegfg3tYcs/nYCb2FaeArbvQkBMifsWQLNwVKIM7lWKXFdZE7kC8CyOCTTFOAxg8PRZZ7Rvn/R3A3PbbFEcAzAAU3FopOTYQOHj4/8XTsykS+gwB/iCRpEfXC5vofLBSfulH2Ai3ufLXpbhApAQXpRbf6z3OgNz4UF7lMjw2IlTsus7rxvTK7TVDVLfHmMqxS/FCgi86MhDqib1n/5oiojSkliIf6ME1Vwz22V4KHDlt1apqQ1AZMtxDAY9CbS54/WGg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, Jan Beulich
	<jbeulich@suse.com>
CC: Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Topic: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Index:
 AQHaRWELmXttIq3ydUeKyfZPAZRMh7DaobyAgqCezQCAABD4AIAAN9aAgAAPTYCAAWsXAIAACOmAgACHWACAALUgAIAAXkqAgAAZt4A=
Date: Thu, 20 Mar 2025 14:39:52 +0000
Message-ID: <eacaeb24-53a3-4de2-bb3f-32fd6f6c0f0b@epam.com>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <1793f158-ed83-46f9-be12-68c5ce86e4c4@suse.com>
 <495906c3-9937-4b54-ae3a-8e8ad2b9814f@epam.com>
 <a738e3d9-bfd3-46be-8f66-cbbe4353f93a@suse.com>
 <7b3a5232-c17e-49d8-8719-a42745144338@epam.com>
 <65f0072f-33c0-4436-8e34-3544d25c9568@suse.com>
 <19d8224a-04e0-45bb-9471-abeb684e9cad@epam.com>
 <7f523597-cf70-4673-b4a2-fac602253a9e@suse.com>
 <0f54652b-3af2-4d52-b3a1-76a5dbeddb14@gmail.com>
 <432b0b6e-2e89-4e95-8237-811e5e55517b@suse.com>
 <deafe2cc-df6c-42d3-9639-abd7b41ede69@gmail.com>
In-Reply-To: <deafe2cc-df6c-42d3-9639-abd7b41ede69@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_|DB3PR0302MB9037:EE_
x-ms-office365-filtering-correlation-id: 3cb5a499-e0b8-47dd-3bac-08dd67bd1319
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?bGdNQ0FwOHI4a3pucXVWS0NSYlhPc2hWZlRHN0gxcFFRc1JVTHFpUURCUWl0?=
 =?utf-8?B?V2JrU1RHcS82OGhkTWd2WDl0RDI1d1ZlZFpyK212OHVSbEFWOVpxMks3NVVz?=
 =?utf-8?B?RFpDTlFZSmM5eElhZS9KRzVETS93UUxKVUs4cnphendXTklybm45YWMvSTBt?=
 =?utf-8?B?WGk4cmo2cWNYYjZiMnNETG1lZHBkTVBaMndvVEtLckhLNktEeU12UG5xbUp3?=
 =?utf-8?B?RmpSRmsxaFRQNVhBeFpBKzFvN1JXYlhaVk9rbG1CU0cyQlFJSHR4S0Z3bUJ0?=
 =?utf-8?B?ZjNOd1A2NStjL1Y0OXNTOVVSTE9GMGhjTmk0NS9YUExKNGQrVExJZExDY2pw?=
 =?utf-8?B?S1VkaVprQnBUSU5taFowTlQ5VEIzNElFNFdZbWdUYXg1N2FiYUNRdC90Uzlq?=
 =?utf-8?B?ZS9XZkNsY3JJTW9UNTdlemR2Sy9IQ1BKYVN0am1Ra0lXdVNjZ1RaZG1SdHJm?=
 =?utf-8?B?S0xwT0NSVHB0YWRxQUhiaVBZSVJ1Nm82V2VxR0lmT3hSeDhJZkJqakJqM3A5?=
 =?utf-8?B?VHdMUjMvc2RKL2JDSDNSWC83SFFaT3NmSHlrT2JVVURvMUhxN3Vhcm9TZElU?=
 =?utf-8?B?NnRaK3NOTUNkaFpTNHNCM1drTTNpUDJCNEZSVWl1ejA1S0xUQkFuclIraXor?=
 =?utf-8?B?THRvV2hQNzJ2RVQxb1hVWHprMGZOb2UvQ3lrOTVpMG9DRVZUUFJweS9OQmtM?=
 =?utf-8?B?WlpFZ1pNS3BhNndwN214Rm5qejY4dWZ4N2RscE5hS1c2UHdGYkJUSm5Fc2Mx?=
 =?utf-8?B?QnlwSk1IS2pMdUhmRXFDd2hiU2NqTG43MDQ5QVhXa1c1SFhScGluMzl3dWY0?=
 =?utf-8?B?cmFCcWVvSFdQZGlSUGFnQm5DYTBURDZ2WFB5N2lkaUdpMjdLdTkybHRVaFdt?=
 =?utf-8?B?Q2VCNnJlMTZKTlVrZjdvUTVCSnA3OTdGQVhoaTh2TEhNRnhwdTBaQXptazU3?=
 =?utf-8?B?VTZuTVlZTWlUazJ5OXZ0cEpncjBaeUdFUDBNNy90V0NGSTJSeDJZeStuM2E4?=
 =?utf-8?B?MmV2Tnpxd2pLQzRDOXFHSjBSSmYzYnBOZThXYmFnQk9PTkNRV0F5aStkZEhn?=
 =?utf-8?B?VDhxRjRNbzYzMXREa1NlbTZURVkyWm5xVi9lZnBUb1dMU01vcjh1SnVVUWhC?=
 =?utf-8?B?bEJhMnova0VJT1c0b0hJY3RQOWp4VG5rVkt3bFUrSTNuWk0yTVlhWlgwVFha?=
 =?utf-8?B?bWs0RjNSL0k5NVNZY3NaRVZFUVJjUXNDaFh2MkRyYm9DeDI3UENESVVPcnZV?=
 =?utf-8?B?UStaTDcrVnI3VFhrZ2FyckY2TmQxVWdhVk9GckQ5eHBGZXZZak1vQ2ZEMVNU?=
 =?utf-8?B?VXN1bFRjWGFPTGNNVXp4UU9ncVM5TzNpTGxhOW1uekNtQ2tITUhuWlZSazJY?=
 =?utf-8?B?Tjd1TjVOSkMyWWNoZkx1dGM2ZDNzMisxaUhrWFd3SncvYlVVRDl5VnVvdlVU?=
 =?utf-8?B?QTNYQ1l2OUVKRXN1ZVVRdW5RS1BRQXBKYkZaRVJWV1RrVHFrOFhHRGY4aVlq?=
 =?utf-8?B?a2h1S2NRUWxBaHl5MHNhdXErcHp6VksvRHdaQmlmMTI5dlJ6bzdPd29xekU1?=
 =?utf-8?B?dUhmUDc5ZHhBd2lZUDEyUE0wRllxaFllNVBDK3VPRzZXZ2NDRWlpWTZiQ1Vq?=
 =?utf-8?B?b0lSUjVWVmVjTzBSVDdvUVI4R2FzMWVrMUVVR0tNSHV5ZGErYjVQWlhaTTA5?=
 =?utf-8?B?RkptNTZiTTAzQTNCNVpaSllsL0pCU0RPUGpxTTlUcFJwckNUVFRpSUs4VFl3?=
 =?utf-8?B?UkhFNmgrTGJNL3E3RWcwK0ZlWVQ1MlZJSmlvclpHdWxtMWUyK1pVVlEwSVlm?=
 =?utf-8?B?QUFNRDN4ODEyZWpzVldZV1I0ZzdKNU56SWdCV3RaQnNxVy9SRVpQR0N4TWNB?=
 =?utf-8?B?d05rV0htU25nS2JuSHo3dzNHS0wrL1FQYWg2MThjR0NDajBid3IrWFdhK2Yv?=
 =?utf-8?Q?eE0T9VTQoI7a1O+Se9eYiOiPu8/DnKrw?=
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)(7416014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?M1RHRGtHd1pETG54aXZ3TFo2MUx0NzF1ZUlSdzBFL2VjNjhXWWlEQTNPaEQ1?=
 =?utf-8?B?aW9HMVJ1VmFFV3RyN2lBajltTytkb0haUWhaMWVtdnRRaWdLT2FQUGF0cm5G?=
 =?utf-8?B?ejlxUU0wc3hWbCtyWWt1SHM5NXJJa0wvazFTN1lNaXB2V2lxMk5JKzIvSEtK?=
 =?utf-8?B?S1lESTdNNEhpTGtCNkhkclUwV2pJcFZhUW9vTHJST1o1UnlwVnBISURUK3RS?=
 =?utf-8?B?aDRGWUpCZDIxaE8yaUl6YjQwTFJQeWpHR2YrbE8rVi85MTNjQWY3VCt3d0JH?=
 =?utf-8?B?ZjVlOXNObjh5Z0ZQM3A2blJ3bDNBUzlNSFU3UWo4NHFlY1RrSmNtL2txNTcv?=
 =?utf-8?B?REJ4L1hiM3YvanZMb2RJVEltVnF2UkhhZGtwc1JQamZLZ0RpWG45MnJLNkhT?=
 =?utf-8?B?TVBqb1JONmYySGwxb3lpWCt3ek1hT0xseUwzNHkzOERCKzQxUHphcFNmNEdq?=
 =?utf-8?B?OHJkb1pNemJxQWxJSWxNaWVLNXZPMHl6cWZiWFdPTXBtZlZCQllZU1paSVJo?=
 =?utf-8?B?TTgxbnAxa2syakZtOFFkUnhnOFowaVFxQWFWOGtidzF4K0lwcmh6dkptWW5Z?=
 =?utf-8?B?WE9WbjY3bS9VT3pEaElaYnFocXI4OHNFRG5lNFFmcHNhekh0dDhyb0xQVFRC?=
 =?utf-8?B?UU5sa3FpUkxUZ1ZCZlloQ25nM2tlcTRuaDdLWjMyTTF3d29SbDQvVnZsUXBq?=
 =?utf-8?B?NmNpTlV3YTExMEgwYUx5TEViUFc5Y25FMmJVYitjMUZkRmlWSVBabDBJWGsy?=
 =?utf-8?B?eEppcldwZVZPblQvODZUVW04NzJ1OUNaRFZsMkg2b1NoZ1VRMTJ2bkFiaE0z?=
 =?utf-8?B?VllOZTZRNXpOM3ZKay9tNnpKRSsxR0NDUnZjL1FPang0aEljRUtzbWZydGZt?=
 =?utf-8?B?cFRBTytpbW1hbFNWMmN4NEdYRWZYQmg5NFlaVmJ0VXdaK01XRDNmVXlja0Fa?=
 =?utf-8?B?TmNldGJzdDlLcG9ISVZEWmt3ZFJmd2NlNFZuQms5S21VN0xDV3JLVmUwYW01?=
 =?utf-8?B?M3NESG83bE1oUHNvUlRxWEUzM0tTN0p3Q0NzblhHRlJOd3hZNXA2eE4vbGVr?=
 =?utf-8?B?cGgrdXExS2pUU0trUHVSS3FPRzJqTmszb0VPMmJCdnBSMXV0SDRSMlVxeEsy?=
 =?utf-8?B?T2VPWGlseS8zbXZ1V25McFBWb1E3WldHMXRrNmcrN1NqSDJvN3c3eEl2alBO?=
 =?utf-8?B?NmppdTRCck9waVJCVW1hNk16c0IwTW5sWkJzTm9xWktJR0ZLNzh1akw4eWJK?=
 =?utf-8?B?Sml3RlFTcVVXN3VKOU9XVDkwdUFwSXFnQjVDOWcwbWNPc0xRUkl2dm5kVEtl?=
 =?utf-8?B?T2RyVUZNeUQwV1dkeW15QzdxTnFweFZlOTdsZUQvMnJUcHp3VGY1bFYxczNG?=
 =?utf-8?B?N3Zpa3BlUVROMmxrVWgwcUw0TVJmS0xkbWY0UjNTSVd4NXpFYnRyYWJ3aUQ5?=
 =?utf-8?B?K0tXUjNKWGZmY1FjVjkxcW4rTU9MbUFkUmQ2dk1qZ1pWcXJlOXVnbUhqbXJw?=
 =?utf-8?B?REt0eGxWL3l1NS8wSVRMSGpvK3I2YzYzdEFucVlxb1ZiVEliSHB4c3V5ZW85?=
 =?utf-8?B?SnI5NHB1YSs4K1RINmVucXdlQUs2WGU3NE9JRlNqMDdkbEZ4czc2RzBEcllW?=
 =?utf-8?B?Mmh4ZlFWcWxOcFQyTlg1WmpMVEt1Y3NIekxQZmJ0TC9lNHJBUkVjQkluWkpi?=
 =?utf-8?B?dWJEZFltamY4cjhmY3lpMVJiZXlabE9lOE13cVVKYTlBQWRWS2ZEMmJYOUtC?=
 =?utf-8?B?ZURrZTQ0aGZnNmZnb2pDemZlSXVpVHNKeCtnRzBZSnhzVTRZc3JGZmRKSlg4?=
 =?utf-8?B?YlhhSVVrcUQxTVovYlhwNVoyOStuTWlWK1FkY2JZOVFlMnhYbDhPV1FjakVQ?=
 =?utf-8?B?SFdDYk82OFh6TEljQ0QxeEF2NFRGYmpPK3lBbmtLV202enBKc2NHbHpkZlQz?=
 =?utf-8?B?Q3J1ek81bFl5VVlEcHpkZm8wYU9LbE1WYXMzT04ybGlhdllTYnNOQUczbjYz?=
 =?utf-8?B?dUdDVVlmY3RjV2dSMkQ3MmVlMVVnOFBFTHBZcnBXaERjT29mMjlhWGk3N3F1?=
 =?utf-8?B?WEdweXQ2T1Q3THYzYjRIK0VtM0tIU3N1aXFjNXVZOUJWTFp5MnNucS9zdDRH?=
 =?utf-8?B?aEVTZUlTSnFoa1pwSEhiNEsxZkZvTWJMMU9iWnVTQk85cUJ5cThxcHpwczI4?=
 =?utf-8?B?M2c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E1BE70D54ED91C47B783D775EE3F4D23@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: 3cb5a499-e0b8-47dd-3bac-08dd67bd1319
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2025 14:39:52.3249
 (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: iOHYeFowv13BTcoITVg6AY9KrJ71rrahZj7vCCjURVYVvwp553NTJFpjulo0/2Htt7lqfirpm+gWo5D1GgTtZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9037

T24gMjAuMDMuMjUgMTU6MDcsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0KPj4+IElmIEkg
Z290IGNvcnJlY3RseSB3aGF0IGlzIHdyb3RlIGluIGN1cnJlbnQgdGhyZWFkIChhbmQgaW4gUkZD
IHZlcnNpb24NCj4+PiB3aGVyZSBpdCB3YXMgYW4gYXR0ZW1wdCB0byBjcmVhdGUganVzdCBBcm02
NCdzIGNvdW50ZXJwYXJ0IG9mDQo+Pj4gWEVOX0RNT1BfaW5qZWN0X21zaSksIG15IHVuZGVyc3Rh
bmRpbmcgKG1heWJlIG5vdCBwcmVjaXNlL2NvcnJlY3QsIHNpbmNlDQo+Pj4gSSBhbSBub3QgcXVp
dGUgZmFtaWxpYXIgd2l0aCB4ODYgZGV0YWlscykgdGhhdCB3ZSB3b3VsZCBuZWVkIHNvbWV0aGlu
Zw0KPj4+IGxpa2UgdGhhdDoNCj4+Pg0KPj4+DQo+Pj4gLyoNCj4+PiAgICAqIFhFTl9ETU9QX2lu
amVjdF9tc2kyOiBBbiBlbmhhbmNlZCB2ZXJzaW9uIG9mIHRoZSBzdWItb2IgdG8gDQo+Pj4gaW5q
ZWN0IGFuIE1TSQ0KPj4+ICAgICogICAgICAgICAgICAgICAgICAgICAgIGZvciBhbiBlbXVsYXRl
ZCBkZXZpY2UsIHdoaWNoIGFsbG93cyANCj4+PiBzcGVjaWZ5aW5nDQo+Pj4gICAgKiAgICAgICAg
ICAgICAgICAgICAgICAgdGhlIElEIG9mIHRoZSBkZXZpY2UgdHJpZ2dlcmluZyB0aGUgTVNJDQo+
Pj4gKHNvdXJjZSBJRCkuDQo+Pj4gICAgKg0KPj4+ICAgICogVGhlIHNvdXJjZSBJRCBpcyBzcGVj
aWZpZWQgYnkgYSBwYWlyIG9mIDxzZWdtZW50PiBhbmQgPHNvdXJjZV9pZD4uDQo+Pj4gICAgKiBJ
ZiA8ZmxhZ3M+IGRvZXMgbm90IGNvbnRhaW4gWEVOX0RNT1BfTVNJX1NPVVJDRV9JRF9WQUxJRCB0
aGVuIA0KPj4+IHNvdXJjZSBJRA0KPj4+ICAgICogaXMgaW52YWxpZCBhbmQgc2hvdWxkIGJlIGln
bm9yZWQuDQo+Pj4gICAgKi8NCj4+PiAjZGVmaW5lIFhFTl9ETU9QX2luamVjdF9tc2kgMjENCj4+
Pg0KPj4+IHN0cnVjdCB4ZW5fZG1fb3BfaW5qZWN0X21zaTIgew0KPj4+ICAgICAgICAvKiBJTiAt
IE1TSSBkYXRhICovDQo+Pj4gICAgICAgIHVpbnQzMl90IGRhdGE7DQo+Pj4gICAgICAgIC8qIElO
IC0gbmV4dCB0d28gZmllbGRzIGZvcm0gYW4gSUQgb2YgdGhlIGRldmljZSB0cmlnZ2VyaW5nIA0K
Pj4+IHRoZSBNU0kgKi8NCj4+PiAgICAgICAgdWludDE2X3Qgc2VnbWVudDsgLyogVGhlIHNlZ21l
bnQgbnVtYmVyICovDQo+Pj4gICAgICAgIHVpbnQxNl90IHNvdXJjZV9pZDsgLyogVGhlIHNvdXJj
ZSBJRCB0aGF0IGlzIGxvY2FsIHRvIHNlZ21lbnQgDQo+Pj4gKFBDSQ0KPj4+IEJERikgKi8NCj4+
PiAgICAgICAgLyogSU4gLSB0eXBlcyBvZiBzb3VyY2UgSUQgKi8NCj4+PiAgICAgICAgdWludDMy
X3QgZmxhZ3M7DQo+Pj4gI2RlZmluZSBYRU5fRE1PUF9NU0lfU09VUkNFX0lEX1ZBTElEICgxdSA8
PCAwKQ0KPj4+ICAgICAgICB1aW50MzJfdCBwYWQ7DQo+Pj4gICAgICAgIC8qIElOIC0gTVNJIGFk
ZHJlc3MgKi8NCj4+PiAgICAgICAgdWludDY0X2FsaWduZWRfdCBhZGRyOw0KPj4+IH07DQo+Pj4N
Cj4+Pg0KPj4+IFRoaXMgaXMgYXJjaCBhZ25vc3RpYyBzdWItb3Agd2l0aG91dCB0aGUgKG9idmlv
dXMpIHNwZWNpZmljcyBvZiB0aGUNCj4+PiB1bmRlcmx5aW5nIE1TSSBjb250cm9sbGVyLiBUaGUg
c3ViLW9iLCBJIGhvcGUsIHdpbGwgYmUgc3VpdGFibGUgb24gYm90aA0KPj4+IEFybTY0IHNvb24g
KHNlZ21lbnQgKyBzb3VyY2VfaWQgcHJvdmlkZSB2U0JERiwgdGhlbiBpdCB3aWxsIHBvc3NpYmxl
IHRvDQo+Pj4gbG9jYXRlIHZJVFMgYW5kIGRldmlkKSBhbmQgb24geDg2IGluIGZ1dHVyZSAoZm9y
IHRoZSB2SU9NTVUgbmVlZHMpLg0KPj4+DQo+Pj4gV291bGQgeW91IGJlIG9rIHdpdGggdGhhdCBp
biBnZW5lcmFsPyBQbGVhc2Ugc2hhcmUgeW91IG9waW5pb24uDQo+Pg0KPj4gWWVzLCB0aGlzIGxv
b2tzIHBsYXVzaWJsZS4NCj4gDQo+IEphbiwgdGhhbmtzDQo+IA0KPiANCj4gICBJbiB0aGUgY29u
dGV4dCBvZiB0aGluZ3MgbGlrZSBWTUQgKHVzaW5nDQo+PiBzb2Z0d2FyZSBlc3RhYmxpc2hlZCBz
ZWdtZW50IG51bWJlcnMgd2lkZXIgdGhhbiAxNiBiaXRzKSBJIHdvbmRlcg0KPj4gdGhvdWdoIHdo
ZXRoZXIgd2Ugd291bGRuJ3QgYmV0dGVyIG1ha2Ugc2VnbWVudCBhbmQgc291cmNlIElEIDMyLWJp
dA0KPj4gZmllbGRzIGZyb20gdGhlIGJlZ2lubmluZy4NCj4gDQo+IEtlZXBpbmcgaW4gbWluZCB0
aGF0IGRtX29wIGh5cGVyY2FsbCBpcyBzdGFibGUgYW5kIHNlZ21lbnQgY2FuIGJlID49IA0KPiAw
eDEwMDAwLCBwcm9iYWJseSB5ZXMsIG1ha2VzIHNlbnNlIHRvIHVzZSAzMi1iaXQgZnJvbSB0aGUg
dmVyeSBiZWdpbm5pbmcuDQo+IA0KPiANCj4gICBPdXQtb2YtcmFuZ2UgdmFsdWVzIHdvdWxkIG9m
IGNvdXJzZSBuZWVkDQo+PiByZWplY3RpbmcgdGhlbi4NCj4gDQo+IHllcywgc3VyZQ0KPiANCj4g
KioqDQo+IA0KPiBNeWt5dGEsIGFyZSB5b3Ugb2sgd2l0aCB0aGUgcHJvcG9zZWQgYWRqdXN0bWVu
dHMgdG8gdGhlIHN1Yi1vcCBzdHJ1Y3R1cmU/DQo+IA0KPj4NCj4+IEphbg0KDQpZZXMsIHNlZW1z
IGZpbmUgZm9yIG1lLiBJIHdpbGwgdXNlIGl0IGluIHRoZSBuZXh0IHZlcnNpb24uDQoNCi0tIA0K
TXlreXRh


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:42:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:42:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922317.1326174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvH5u-0000x9-Hl; Thu, 20 Mar 2025 14:42:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922317.1326174; Thu, 20 Mar 2025 14:42: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 1tvH5u-0000x2-Eh; Thu, 20 Mar 2025 14:42:02 +0000
Received: by outflank-mailman (input) for mailman id 922317;
 Thu, 20 Mar 2025 14:42: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=cJiu=WH=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tvH5t-0000wm-Gr
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:42:01 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2009::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79c1d1e5-0599-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 15:41:59 +0100 (CET)
Received: from PH0PR07CA0044.namprd07.prod.outlook.com (2603:10b6:510:e::19)
 by LV3PR12MB9214.namprd12.prod.outlook.com (2603:10b6:408:1a4::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar
 2025 14:41:53 +0000
Received: from SN1PEPF000397AF.namprd05.prod.outlook.com
 (2603:10b6:510:e:cafe::bc) by PH0PR07CA0044.outlook.office365.com
 (2603:10b6:510:e::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Thu,
 20 Mar 2025 14:41:53 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF000397AF.mail.protection.outlook.com (10.167.248.53) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 14:41:52 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 20 Mar
 2025 09:41:51 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 20 Mar
 2025 09:41:51 -0500
Received: from [172.24.79.67] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 20 Mar 2025 09:41:51 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79c1d1e5-0599-11f0-9ea0-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SHB+2KsglvCLLOhwGeeUcByAS71qsmNgxAbNPRZMzZkaS3vD5rHzFw63PDQasfCRZkf1+sMrtdYvuRuF+CQi18+2cSzvCowrzYe0fNWNctG+ElCpLkDGtMxUBQwKXi1zffpziTfDt6dsyPJTGKYIXRimS8pY8z7BcGeqDyxkqsL3LLP+pSV1HrlauB6y78kKS4gPir4hVM7oo63tPVvZXz0+uhCip27ybn4UP5rKZiQAky4Gpeia7lrb7a31irKBvc6iHkYLeP8vBgAR49RHgRRKdOt8VTs8J9Pn4WNp4g2Jh/cx2tiB4WVKwgkXEJm//D+RmwWeTUxK68oGyvO6hw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7lit5FYt34/fMOegMMpetsvbD/eP0pP1zDU5kMObxm0=;
 b=tQWKmjwvZhcgOKbCHI2P49rFPJ97s7Tky0LkorSrkPZhvG7J6ODpHoWIC3fhrK/fNCjgUwLO1S4eR0/SXeuWZgsz2itNOHwtFdcyRaGM4USntRYRttKialn2G6xjlexOOHtB4kAEIoWD//oSSa4U/F59YrVwSH9CVFp+Gi5Q/9Iwi9U742YKQQsoyFHmhQbjUxLvY84ftnGSPQGLz1UzAYnT1cEjTdyKVSjSqX06Y+i6BIqDoBvZnuJQosxsjBmHQNrTUON2eji2M7qq1RLFGcp1Wjdv6qjRXEQUxuRtQ10mNrnbD7z/9uAW/7+byqIW3djO2koyXg2aEtH1t/m9xg==
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=7lit5FYt34/fMOegMMpetsvbD/eP0pP1zDU5kMObxm0=;
 b=x0ngjN7WR/IkgkteY0I0GqVLsnPgIoTqWUHT5XzD6XWRp0qPMSckl4P0F4iNTamOL4tncVpHGtXMmBHBT2dyHGj+0MTfzW1JQX+AiPLtrPZH3RxvCv9P7FuGQw+nNVpgvfxrnaiHUriQgDTLml/1O2jb/cPdBUU+FZBnGmGdrD4=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <262a6cca-9abc-4ca2-8766-d7927f524a40@amd.com>
Date: Thu, 20 Mar 2025 10:41:51 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 1/2] 9pfs: add fstat file operation hook
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	<minios-devel@lists.xenproject.org>, <xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250320074924.8080-1-jgross@suse.com>
 <20250320074924.8080-2-jgross@suse.com>
 <c8cb581e-7d6d-4f0b-abb5-f94f0c50fcac@amd.com>
 <ed35e0d0-898f-4e74-9a7c-24871d0d606c@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ed35e0d0-898f-4e74-9a7c-24871d0d606c@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: SN1PEPF000397AF:EE_|LV3PR12MB9214:EE_
X-MS-Office365-Filtering-Correlation-Id: 262c71ea-3081-4048-07a0-08dd67bd5ab5
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?Uk1BdVF6UFZBUEFSODMvaDNFYzlFR1BpdDVDdWdZUjhuM2I4TkZKSGE5c0Z0?=
 =?utf-8?B?QU1BRG9CdWFZM0F4T1R2YW5kQXdodlY5aHFIbFRFM1paN1A4SmFDT0dDUDUw?=
 =?utf-8?B?K2pKUXlZT2gxbFhpZzg3WDJrRWNvS0RPbExsMmZwcUZsMEdJK0l1U0xrODJw?=
 =?utf-8?B?a1dUeDZKWnJXZng3OXJRQkdDTFppWkwreWdMWmErSjdIaE9GZlhtQ0pUdi9O?=
 =?utf-8?B?TDRRaDBReHZiMDlSSWx0bWdxU2JsSnY2VGJJdDJoUURHblZJWGhCc1A2ekJ4?=
 =?utf-8?B?c0NWZGkrdjVPaXVQVm1oYnpUekN0VHpJN3piVmNFaDRjLzhxeU9yZW1DNlFS?=
 =?utf-8?B?aS8zY0pjT2VWK1N5NGxlOEVuZFVOY2VWNVJGRlRsMWthOUZGZ3BnN2RHbU1q?=
 =?utf-8?B?QXF1Qk1CanJ4V0NhWHJNelNoVktuRGpKQWZCM0ZWaDdRWDZoRHRwUUZwcVh1?=
 =?utf-8?B?WDJYeDlzRnNaQWVLNUhhR3RMZGtaeG5SamJOVm4vUVBvOW5BeC9Jd1QyRkFK?=
 =?utf-8?B?aDM0WC9tZmtzNEViZlRVZEZKdTV2Qmg3ZlpRRE11VXJmZi9SeUU0MFRnb0ww?=
 =?utf-8?B?eVVTTjRoTjlXK2xDcC93ZFdBWmJSWlVidm52VzAxdWtQbmZIMmhXeTMvU3g4?=
 =?utf-8?B?aGhLcVdwTjFjSktrMzU5aTRGbGxYaC9qSiswSXg1NlNPYzVtTjNLV2JjSGkx?=
 =?utf-8?B?dGNFcmVtbnZPNmJNQUxmNEFUQThjQmNKMkN1ZnRxWGc4ZG40aHphV0laM0cy?=
 =?utf-8?B?Qlk3OWxXK01uRldYdVl0TWRiZ0I1b1hhQzFPcTg3anEwUXhoSGw1NFptY0M4?=
 =?utf-8?B?ZzlTNlZldlZRREVUZDBzWXQyamhMSVNEQVpkYUI4ZVcvSTd2ODNiRC9ZSUo4?=
 =?utf-8?B?V285RTZFQWRaR0EvaFVqYmNjSHoyblhleUN5ZUwzQ05sbXVVMEI2UDlESjlw?=
 =?utf-8?B?eERZczdPc010TUZ5YkU2cFRlY01tOHdzTEpkN0lXcWFsUndkVlZtSXEvV1hl?=
 =?utf-8?B?SGJmZC9jcU5lc3J4cngvOUR0OXZudXg4MmYvQVByWDA0d3h5MUpzQnV2Q3FX?=
 =?utf-8?B?VmE3QUxVazY4RU1pNzlBOVFVcDl0NWNPbjJvS1lmSUxIem1kTlZ0bzhrakhk?=
 =?utf-8?B?QzJoNEVrV3NSVDFNSHdkaFA0Q2VLbVN3YS9heUZ5Q1B6SWE5WnkvVVVSeHdt?=
 =?utf-8?B?Wm1zNjhUa0pxRDV1eER3U05MOE5aRXdXK3M5UlBmeWRVUHlUQ1FHZE4rdFpH?=
 =?utf-8?B?ajZrLzhGOXViS0F2cHRJaS93L3hhZHZ6REdEL25MbzAzcGIwU1ptaGRLdGhM?=
 =?utf-8?B?UEtmc0tWeENtc2VFTFZia2h1ZklsTE9UZys1MWR1Q0NwVExsYmxYT3FKRUFV?=
 =?utf-8?B?L1RKZVJBTGtURDNpSW9wU0wyclRlVUtvejV3NThGQ29CcGpsQTBpTlk0RjFr?=
 =?utf-8?B?ZFBSQVp0L1BFbk1MVjBkNlhwU01tQ2lRd1NUazhhVkxRUjBWZFVJNlR5RWdt?=
 =?utf-8?B?cWVYTmZES0xEYXU5KzZKbHIwdlF0TU9RU3lOYVcvMk5CUDd2bVJYeWNZQ3p1?=
 =?utf-8?B?NWRsMHM0ZXA5K1hBQUJjaG0rWW9VZGpZb3kraGREMnJRNFFJc2M2WmtuaExl?=
 =?utf-8?B?NnJ0S09zbElTZVpNQWtldDh2WVp1TVVaMkU2SGZjb2ZZalVscjdPQUpIbnVM?=
 =?utf-8?B?UjBZaVNiNWFaMEdDZ0tkcldHa0xJbHhXQk9rMUI5d003aC95UmxhL0hpYnZS?=
 =?utf-8?B?cm53M3doeXVUYU1pZUJaT2N0WG1wRjNvQjdyNXhzMzhNSlhqRU9XcFFMeEJ5?=
 =?utf-8?B?Y3BpTnBvbVR6aWVWd1NSQjZSRzFFcEgya1VjRVpBR0JxblZXL3Z2bXM3ZHNG?=
 =?utf-8?B?ZEpQTEVMNUJZSlFBazdvZjhWcUh1WVMyRnVoNy9KTWJneitFNW42UWx5a2dv?=
 =?utf-8?B?c21ZVnh0Y0gyK0NmajNUZmVuQ0RBWE1vK0VHaGtlWWFxdEdxdnlpQlh5NEt5?=
 =?utf-8?Q?fef9LgSpD97C4otp7lcVUfZxpOhjng=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 20 Mar 2025 14:41:52.3990
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 262c71ea-3081-4048-07a0-08dd67bd5ab5
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397AF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9214

On 2025-03-20 10:35, JĂźrgen GroĂ wrote:
> On 20.03.25 15:28, Jason Andryuk wrote:
>> On 2025-03-20 03:49, Juergen Gross wrote:
>>> Add a file operations fstat hook to the 9pfs frontend.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>
>>> @@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const 
>>> void *buf, size_t nbytes)
>>> Â Â Â Â Â  return ret;
>>> Â  }
>>> +static int fstat_9pfs(struct file *file, struct stat *buf)
>>> +{
>>> +Â Â Â  struct file_9pfs *f9pfs = file->filedata;
>>> +Â Â Â  struct p9_stat stat;
>>> +Â Â Â  int ret;
>>> +
>>> +Â Â Â  ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
>>> +Â Â Â  if ( ret )
>>> +Â Â Â  {
>>> +Â Â Â Â Â Â Â  errno = EIO;
>>> +Â Â Â Â Â Â Â  return -1;
>>> +Â Â Â  }
>>> +
>>> +Â Â Â  buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
>>> +Â Â Â  buf->st_mode = stat.mode & 0777;
>>
>> I think you want `|= stat.mode & 0x777` here.
> 
> Indeed. Thanks for catching this one.

With that,
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:43:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:43:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922336.1326184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvH7R-0001a4-T3; Thu, 20 Mar 2025 14:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922336.1326184; Thu, 20 Mar 2025 14: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 1tvH7R-0001Zx-QI; Thu, 20 Mar 2025 14:43:37 +0000
Received: by outflank-mailman (input) for mailman id 922336;
 Thu, 20 Mar 2025 14: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 1tvH7Q-0001Zp-En
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14: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 1tvH7K-00F20k-2O;
 Thu, 20 Mar 2025 14:43:30 +0000
Received: from [2a02:8012:3a1:0:699c:37d:6a29:da07]
 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 1tvH7K-00BKEN-11;
 Thu, 20 Mar 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>
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=m930N92ftJa67I2/qZmEKZ4lwgy+5J2QE9o/rlmgI9Q=; b=E9NqT8IrxXoAjqYnM6YONdYa83
	EzEHe7W7rjS1+lrqAU3hm7JScpfJURQDGBmAuU59mfHoipFKnzbG+dMCI67Wnvw78oJLZ6bxMw/kY
	WIWKQkLRn+Qf48n0WnCLzsbZ+eycst9RQgoetr+soKa7nIiAYw5EASlvQr+1UprFtsZs=;
Message-ID: <e004d9cf-a663-4383-8318-8510c51c0ae9@xen.org>
Date: Thu, 20 Mar 2025 14:43:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] process/release: mention MAINTAINER adjustments
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6cc3adc1-5d54-4880-b3f3-2f688c2f39fa@suse.com>
 <b11d8525-13b4-40a0-8e33-b37c7e0d85a2@citrix.com>
 <36ab0870-52ad-476a-ae9c-20ea8ea46066@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <36ab0870-52ad-476a-ae9c-20ea8ea46066@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jan,

On 20/03/2025 13:45, Jan Beulich wrote:
> On 20.03.2025 13:47, Andrew Cooper wrote:
>> On 20/03/2025 12:12 pm, Jan Beulich wrote:
>>> For many major releases I've been updating ./MAINTAINERS _after_ the
>>> respective branch was handed over to me. That update, however, is
>>> relevant not only from the .1 minor release onwards, but right from the
>>> .0 release. Hence it ought to be done as one of the last things before
>>> tagging the tree for the new major release.
>>>
>>> See the seemingly unrelated parts (as far as the commit subject goes) of
>>> e.g. 9d465658b405 ("update Xen version to 4.20.1-pre") for an example.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> As can also be seen from the referenced commit, the document already
>>> saying "drop any references to the specific commits, e.g. date or title"
>>> hasn't been honored in recent releases, at least as far as
>>> QEMU_TRADITIONAL_REVISION goes.
>>
>> Oh, lovely.Â  I wasn't even aware there was a necessary change like
>> this.Â  Also, I haven't made as much progress rewriting the checklist as
>> I would have liked, so it is probably best to insert into this doc for now.
>>
>> The qemu-trad comments I think we can just strip out of staging.Â  We
>> don't have equivalent comments for the other trees.
> 
> Right, I was wondering what else might be stale there.

There are a few more things [1] that are still waiting for a review... I 
think there might be other from Andrew as well which needs to be 
respinned/committed.

Although, I don't think we had one for QEMU trad.

Cheers,

[1] https://lore.kernel.org/xen-devel/20241206194025.31662-3-julien@xen.org/

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:45:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:45:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922355.1326223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvH8t-0002OL-GA; Thu, 20 Mar 2025 14:45:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922355.1326223; Thu, 20 Mar 2025 14:45: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 1tvH8t-0002OE-DB; Thu, 20 Mar 2025 14:45:07 +0000
Received: by outflank-mailman (input) for mailman id 922355;
 Thu, 20 Mar 2025 14:45:06 +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 1tvH8s-0002Ns-4L
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:45:06 +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 1tvH8s-00F230-0L;
 Thu, 20 Mar 2025 14:45:05 +0000
Received: from [2a02:8012:3a1:0:699c:37d:6a29:da07]
 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 1tvH8r-00BKRl-2L;
 Thu, 20 Mar 2025 14:45: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>
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=R36igSLcbrrx09luuvdrI/SdpUkeGGN1O10hoHft04U=; b=CM/mDt8hhtCbIZ8HA8CQ5c9pAP
	OrmNB5zwCuWMvex7DNT/2Wufmn5V04TapwzvYk0ZP4E20OOnR623NvzRq6U7fYgESylw7X4ecFkc+
	tnCdQsHNnK7Gedy346IkLiBHAXZXR/k737Rbyq7h5QzyLsEPVldxRM4oYGqIW2cfyah0=;
Message-ID: <918fcee9-3f8a-4c52-9d78-ba15faab36d1@xen.org>
Date: Thu, 20 Mar 2025 14:45:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] process/release: mention MAINTAINER adjustments
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 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: <6cc3adc1-5d54-4880-b3f3-2f688c2f39fa@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6cc3adc1-5d54-4880-b3f3-2f688c2f39fa@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/03/2025 12:12, Jan Beulich wrote:
> For many major releases I've been updating ./MAINTAINERS _after_ the
> respective branch was handed over to me. That update, however, is
> relevant not only from the .1 minor release onwards, but right from the
> .0 release. Hence it ought to be done as one of the last things before
> tagging the tree for the new major release.
> 
> See the seemingly unrelated parts (as far as the commit subject goes) of
> e.g. 9d465658b405 ("update Xen version to 4.20.1-pre") for an example.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:51:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922381.1326277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHEm-0004Z5-IS; Thu, 20 Mar 2025 14:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922381.1326277; Thu, 20 Mar 2025 14:51: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 1tvHEm-0004Yy-Fc; Thu, 20 Mar 2025 14:51:12 +0000
Received: by outflank-mailman (input) for mailman id 922381;
 Thu, 20 Mar 2025 14:51: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 1tvHEl-0004Ys-9C
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:51: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 1tvHEl-00F2Bz-0s;
 Thu, 20 Mar 2025 14:51:11 +0000
Received: from [2a02:8012:3a1:0:699c:37d:6a29:da07]
 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 1tvHEk-00BL5G-2m;
 Thu, 20 Mar 2025 14:51: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>
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=zEZf0OtUR+cQjWS+fPQk1HeuBMNHxM2Z59FKh+Yw95g=; b=jsUz9vnl1Bx9nxQVYl33mcgX4Y
	6M/2d6NfB/OJ7YGCUHSaYslENrqVr7BO/SAnrWf1JLLMv9u79BJwf3me/8eLWDMLTjhqugOTbZRd/
	La/ElrsE/clm7k61auX23icxwV1BMfuftxKcQoGh9RduZKBIlI1yW/Va0KTZhUj9XavA=;
Message-ID: <b56ecfa0-c0e7-4f4c-8cb1-c148392343b7@xen.org>
Date: Thu, 20 Mar 2025 14:51:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.20 0/2] docs/process: Update the branching checklist
Content-Language: en-GB
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20241206194025.31662-1-julien@xen.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20241206194025.31662-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 06/12/2024 19:40, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Hi all,
> 
> As we approach Xen 4.20, update the branching checklist to match
> the current state of affair.
> 
> Cheers,
> 
> Julien Grall (2):
>    docs/process: branching-checklist: Update the steps to generate the
>      docs
>    docs/process: branching-checklist: Remove any reference to OSSTest
> 
>   docs/process/branching-checklist.txt | 33 ++++------------------------
>   1 file changed, 4 insertions(+), 29 deletions(-)

Ping? It would be good to get the checklist a bit more accurate.

Cheers,


-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:51:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922385.1326287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHF3-00052A-Ph; Thu, 20 Mar 2025 14:51:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922385.1326287; Thu, 20 Mar 2025 14:51: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 1tvHF3-00051O-Lp; Thu, 20 Mar 2025 14:51:29 +0000
Received: by outflank-mailman (input) for mailman id 922385;
 Thu, 20 Mar 2025 14:51: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=m8Tk=WH=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tvHF2-0004vX-5M
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:51:28 +0000
Received: from mail-oa1-x2f.google.com (mail-oa1-x2f.google.com
 [2001:4860:4864:20::2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cc55c20a-059a-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 15:51:27 +0100 (CET)
Received: by mail-oa1-x2f.google.com with SMTP id
 586e51a60fabf-2c12b7af278so621188fac.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 07:51: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: cc55c20a-059a-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742482285; x=1743087085; 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=cChT3FXnRjyWSD4Xu8zhMDvdBubRQ2HIJ34epdmFxTg=;
        b=FhZDMK1VxlmzY//0KUi7IK35wqJXmQXSJiS1teoOleZ6KxED3CVP3U+oHns0gkRK3r
         PUwZkzsFqCFinYMYhEyngHTREeIkBN2VJy4ZE8/A2UmIxpMzxJgz7NROO43N2QqpWCT3
         2XRyTXXJP2aHWzIkhXHSyadVurHignC55UQzZp++hWsxDK68VZvEJ+gJfmTDlkbbgSzx
         xYeh5Svj4HU/ZzI0mQg6VyJyUbebDIWn85Imz9SPkJoy1eZaD1h3oLPjxHmhNRdkgQgn
         qc5PjCXOmvnePbIKZqrvHNwsSwAvFHte6QjstqYCyOxvwWuawK85rId265xRf5BQPEMG
         vdlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742482285; x=1743087085;
        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=cChT3FXnRjyWSD4Xu8zhMDvdBubRQ2HIJ34epdmFxTg=;
        b=uD8jBzk7EZ5cGIH9fR59NDxCAX8mwJTneQJhT27v8aQzgWNgazVZwuF3OO8iow+puo
         lwATXQJSJ10Fbvmrm8Thm0DPQCknlArkDAjDXknRvABaVg8ccK+5DkP1ft6IvDXpes8P
         Q6y/eAkWrelAkQoCnR659/sETt41iOzCmzIDelgeWBqO8x2nfEPVpSyEz0yOddi+s4ui
         o5Xx+YZiNp7YX6TwgMwORPsoSXiiip/wTw2g2f66wrmEwZvksS88PXvXN60O3OAIRW5+
         UV6spXmF1yVtpTdgeKPYDebAudcYmkcGQO/f7PYcC7Zw6rBKOaMbfsuuBtMoW/IbSOmy
         knng==
X-Gm-Message-State: AOJu0YzDPEWMJG2wm9m9K2W1NU9OpCKI+3i2b133ryCneo/Lg136i5Q4
	Vv44z/evyszQVQvCDZLGSf7lSovcVjeLC1aJu7G0QcH+7ORWGG5GjQ9EMTXJbdKX2d+ytxWvQbz
	knFH2DZI1UxlQlz977GF0Xtu04cTgmbGp75iMJg==
X-Gm-Gg: ASbGncuideYtrWHWBQK/OsjYUfpZ4LEz53DOZGdd9615Bfdr4mPG5S6WSMFJtRD/aLU
	4FQLeiPTIf5BE/q9UO41Z/w0oej2lTADHnoW7nEUVHuG6XU5fHfSRcmlBhriiEbowjIcCwMXz+P
	EgTnOmfinr5T7DVmqethD7T3dtU9mv6L9Cn+An1A==
X-Google-Smtp-Source: AGHT+IEjgzK+v39TQfvvstFgT8nIYGY9fXfriV39M6LZlO3HVjq9SlwUviFbUyTbhqo3D1yn7bbVc1pkbX+2wOB00a4=
X-Received: by 2002:a05:6870:2f0f:b0:2c2:2b79:f7f6 with SMTP id
 586e51a60fabf-2c760b87cf4mr2631384fac.9.1742482285323; Thu, 20 Mar 2025
 07:51:25 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741617888.git.bertrand.marquis@arm.com> <5bbdc8bc0377014a0c683f8f9e154267e4b27c1f.1741617888.git.bertrand.marquis@arm.com>
In-Reply-To: <5bbdc8bc0377014a0c683f8f9e154267e4b27c1f.1741617888.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 20 Mar 2025 15:51:12 +0100
X-Gm-Features: AQ5f1JpQTOy7CYW6jOOXlV-Ls2V_lBDS3wXZglMQJBQGxJLSzeeR4fuJMCmxHhI
Message-ID: <CAHUa44Fd=Q1YKBhjiTwhM+aVT7BX59234XW9HonogqW2er0+Cw@mail.gmail.com>
Subject: Re: [PATCH v2 3/5] xen/arm: ffa: Add buffer full notification support
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 10, 2025 at 3:51=E2=80=AFPM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Add support to raise a Rx buffer full notification to a VM.
> This function will be used for indirect message support between VM and
> is only activated if CONFIG_FFA_VM_TO_VM is selected.
>
> Even if there are 32 framework notifications possible, right now only
> one is defined so the implementation is simplified to only handle the
> buffer full notification using a boolean. If other framework
> notifications have to be supported one day, the design will have to be
> modified to handle it properly.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v2:
> - Code style fix
> ---
>  xen/arch/arm/tee/ffa_notif.c   | 26 +++++++++++++++++++++-----
>  xen/arch/arm/tee/ffa_private.h | 13 +++++++++++++
>  2 files changed, 34 insertions(+), 5 deletions(-)
>
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> index 00efaf8f7353..d19aa5c5bef6 100644
> --- a/xen/arch/arm/tee/ffa_notif.c
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -93,6 +93,7 @@ void ffa_handle_notification_info_get(struct cpu_user_r=
egs *regs)
>  void ffa_handle_notification_get(struct cpu_user_regs *regs)
>  {
>      struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
>      uint32_t recv =3D get_user_reg(regs, 1);
>      uint32_t flags =3D get_user_reg(regs, 2);
>      uint32_t w2 =3D 0;
> @@ -132,11 +133,7 @@ void ffa_handle_notification_get(struct cpu_user_reg=
s *regs)
>           */
>          if ( ( flags  & FFA_NOTIF_FLAG_BITMAP_SP ) &&
>               ( flags & FFA_NOTIF_FLAG_BITMAP_SPM ) )
> -        {
> -                struct ffa_ctx *ctx =3D d->arch.tee;
> -
> -                ACCESS_ONCE(ctx->notif.secure_pending) =3D false;
> -        }
> +            ACCESS_ONCE(ctx->notif.secure_pending) =3D false;
>
>          arm_smccc_1_2_smc(&arg, &resp);
>          e =3D ffa_get_ret_code(&resp);
> @@ -156,6 +153,12 @@ void ffa_handle_notification_get(struct cpu_user_reg=
s *regs)
>              w6 =3D resp.a6;
>      }
>
> +#ifdef CONFIG_FFA_VM_TO_VM
> +    if ( flags & FFA_NOTIF_FLAG_BITMAP_HYP &&
> +          test_and_clear_bool(ctx->notif.buff_full_pending) )
> +        w7 =3D FFA_NOTIF_RX_BUFFER_FULL;
> +#endif
> +
>      ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
>  }
>
> @@ -178,6 +181,19 @@ int ffa_handle_notification_set(struct cpu_user_regs=
 *regs)
>                             bitmap_hi);
>  }
>
> +#ifdef CONFIG_FFA_VM_TO_VM
> +void ffa_raise_rx_buffer_full(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    if ( !ctx )
> +        return;
> +
> +    if ( !test_and_set_bool(ctx->notif.buff_full_pending) )
> +        vgic_inject_irq(d, d->vcpu[0], notif_sri_irq, true);
> +}
> +#endif
> +
>  /*
>   * Extract a 16-bit ID (index n) from the successful return value from
>   * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index bd6877d8c632..1f5067d5d0c9 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -210,6 +210,8 @@
>  #define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
>  #define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
>
> +#define FFA_NOTIF_RX_BUFFER_FULL        BIT(0, U)
> +
>  /* Feature IDs used with FFA_FEATURES */
>  #define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
>  #define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
> @@ -298,6 +300,13 @@ struct ffa_ctx_notif {
>       * pending global notifications.
>       */
>      bool secure_pending;
> +
> +#ifdef CONFIG_FFA_VM_TO_VM
> +    /*
> +     * Pending Hypervisor framework notifications
> +     */
> +    bool buff_full_pending;
> +#endif

It doesn't matter if there are one or two bools in this struct.
However, the ifdef prevents using IS_ENABLED(CONFIG_FFA_VM_TO_VM)
instead of an ifdef in the logic controlling access to this field.

Cheers,
Jens

>  };
>
>  struct ffa_ctx {
> @@ -369,6 +378,10 @@ void ffa_handle_notification_info_get(struct cpu_use=
r_regs *regs);
>  void ffa_handle_notification_get(struct cpu_user_regs *regs);
>  int ffa_handle_notification_set(struct cpu_user_regs *regs);
>
> +#ifdef CONFIG_FFA_VM_TO_VM
> +void ffa_raise_rx_buffer_full(struct domain *d);
> +#endif
> +
>  void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t=
 fid);
>  int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs);
>
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 14:53:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 14:53:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922404.1326297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHH2-0006k1-3k; Thu, 20 Mar 2025 14:53:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922404.1326297; Thu, 20 Mar 2025 14:53: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 1tvHH2-0006ju-10; Thu, 20 Mar 2025 14:53:32 +0000
Received: by outflank-mailman (input) for mailman id 922404;
 Thu, 20 Mar 2025 14:53:30 +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 1tvHH0-0006jm-D6
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 14:53:30 +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 1tvHGz-00F2Hd-0s;
 Thu, 20 Mar 2025 14:53:29 +0000
Received: from [2a02:8012:3a1:0:699c:37d:6a29:da07]
 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 1tvHGy-00BLKU-2f;
 Thu, 20 Mar 2025 14:53: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>
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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=LrScI3rTxyZW/M0Iv9GCN03ywh+yLzqaSMP/oU5wQek=; b=EYYnwTimA5iyGdCJ4mRFSQ+na4
	dCcz1f7Gm7U0jG9BO900cThdcvmFGfcw0nMdxS9Z5op+je8S1bc9mUwv9MD66LNETx5BalQpVln90
	yfKM0pWyCZTVNi+q0KbrS/8svSF1PwN8TwYdHywNMVdJWOF2kON5qzl3r3R6ZVZGXSB0=;
Message-ID: <6fee9106-1455-4919-bd23-220ab229f93e@xen.org>
Date: Thu, 20 Mar 2025 14:53:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH RFC for-4.19] docs/checklist: Start tagging new dev
 windows
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>
References: <20240715164639.3378294-1-andrew.cooper3@citrix.com>
 <7db0879f-93a3-4690-8ba5-1f0897027e47@xen.org>
 <81c65915-cecc-4edf-8636-3be56a411c50@suse.com>
 <ac0627a3-9d27-4d36-9d07-def68e97d70a@xen.org>
In-Reply-To: <ac0627a3-9d27-4d36-9d07-def68e97d70a@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 06/12/2024 19:47, Julien Grall wrote:
> Hi Andrew,
> 
> Reviving this thread as we are preparing for Xen 4.20.
> 
> On 16/07/2024 07:57, Jan Beulich wrote:
>> On 15.07.2024 18:58, Julien Grall wrote:
>>> On 15/07/2024 17:46, Andrew Cooper wrote:
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>
>>> With one remark below:
>>>
>>> Reviewed-by: Julien Grall <jgrall@amazon.com>
>>>
>>>> ---
>>>> CC: Jan Beulich <JBeulich@suse.com>
>>>> CC: Stefano Stabellini <sstabellini@kernel.org>
>>>> CC: Julien Grall <julien@xen.org>
>>>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>
>>>> This is about figuring out when a change was first introduced.Â  Take
>>>> 10b719dc88 for example (completely random pick).
>>>>
>>>> The right answer is `git tag --contains $sha` and look for the oldest
>>>> RELEASE-$X.Â  In this case it's Xen 4.6, but the tags are not 
>>>> numerically
>>>> sorted so the answer is towards the end of the list of 166 tags.
>>>>
>>>> The better answer would be to `git describe $sha` because git has an 
>>>> algorithm
>>>> to do this nicely.Â  In this case, it's 4.5.0-rc4-934-g10b719dc8830 
>>>> because we
>>>> branch first and tag RELEASE-4.6.0 on the branch, rather than 
>>>> releasing off
>>>> master.
>>>>
>>>> With 0082626f35af (opening of the 4.6 tree) containing an annotated 
>>>> tag of
>>>> 4.6-dev, git describe now gives 4.6-dev-902-g10b719dc8830 which far 
>>>> more
>>>> helpful when doing code archeology.
>>>
>>> I think some of this explanation should be in the commit message.
>>
>> Imo it could even be moved up verbatim.
> 
> Would you be fine if I move your explanation in the commit message and 
> commit it?


Ping?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:11:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922448.1326366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHYA-0003fI-6A; Thu, 20 Mar 2025 15:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922448.1326366; Thu, 20 Mar 2025 15:11: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 1tvHYA-0003fB-3d; Thu, 20 Mar 2025 15:11:14 +0000
Received: by outflank-mailman (input) for mailman id 922448;
 Thu, 20 Mar 2025 15:11: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvHY9-0003f5-Aa
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:11:13 +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 8a7f15f1-059d-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:11:04 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfa7e7f54so5896955e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:11:04 -0700 (PDT)
Received: from [10.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-43d43f556basm50926115e9.17.2025.03.20.08.11.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:11: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: 8a7f15f1-059d-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742483463; x=1743088263; 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=kuzxNU32TEFuMIeLRcdl2e+s9FdDx5RRlFj6pXnCJBA=;
        b=QsBEjVSIYktEI/+wcMxPanXci0DDBi/bo2vqMbLI6Iud1IiWrhFwzoKb0yOACsqiCd
         AkhYJOBL2ktE77Ph1pK4vyo40XO3UDyrNir/sZ1r2ymUp7J7zj8YC2Q5ynEqZ4U/vTF6
         n875SwS0lSI6S+KITHxVb/rCoKFCM5+M7gxVZEik1fl4FpyEyjHUQ0+SK9FpguU5RB4p
         m0bTeX4UFOL7dx3LkvnNHtSDYU0lxaj0fhtovchVVNNGVqdqspHJlIc4glaJLCTVHsTC
         stjEwzAl82sTZlgre2e7GqFbLcQk+yQRrftfnQhc249J248Su9YMiGSyUMXL0qHF+AS4
         Gd5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742483463; x=1743088263;
        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=kuzxNU32TEFuMIeLRcdl2e+s9FdDx5RRlFj6pXnCJBA=;
        b=heYLFMpQfvzu9eGNzEbdeQwPqfIdyfEAc9rnwmTmI9jSE+54Vphc7/xLN/Qq3a4GqR
         g4TP9OYEynu/CG4M5qhEMCR31zqkbcZZIBr8J8oSquXW3qk2HdZeyz15IAUWsy69hf4G
         SHrRvJBKa9X4cLl1ciXGxmIJapdJDqvWbO1isRZHJfJDAJviWyv6u6vgT47SH9Vu1L2g
         CzByaRrfcvx3WZhMdfCvvh82FeSK4lHz6VdITbr7LldUKhxtwSexGMwnvRdsF4c8RRq/
         1CUMBljGjIb/Dwb7bI+scmIkbR/aknAUNdXCO87x2g+hZJOipQFo1TwTQkyYSK6xGXNF
         5oVA==
X-Forwarded-Encrypted: i=1; AJvYcCXy5usPWUKtipq67DPcJuc5zwGZVTJrob7eugfsXuhGgIsuaVF6MsALYbKeB9Cq7YvgxJV//Xmi9vQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz7m6oszcuAch4s3kYTeiGq2gPXHXm3BHK9Df4dcdHgl6dzwi8S
	KU9TGPo0Vk1RI70SjTYwIbTMJtuQfvj0iywwT0glOhb6Vg1g45pctYAWC386Wg==
X-Gm-Gg: ASbGncuefvuKbG6+GGgnHleDcSQ8gC1Rk+7bU+eL8puHwEcl5cizpVRAmqV2TbB/nND
	LxLr9e7yZuAHgM+fa4r3qRArJP+4cB5E9Ui4t+8AL0csARrT/wK9cpEcAMeqSW4wo+r/5OKhFG7
	R0a5fQXR4C6Pi3AMSzfBTVhrsnl6Kmw0NbHMGgKV9NG/hhVcvOGCSgvF/Lhd3WwWjXQIjqlK6Np
	E4TWdf4RjtSV9oKtoQT49RxrZ7YfuD3jxpsWjTC5Mpfe7wPEe9+7KBz6lvks1wZ86/p3Qy7duUY
	vznJZUQvSKcptkWO8oeC0VKB4BTtapFdtxx8gvjDYLgn2AnJNBpd6HtPd3c843S/idslVtRfz6H
	3n5q12x5Mfm0rfaCB02TQm7Lm1I45yw==
X-Google-Smtp-Source: AGHT+IHv0x+mtQR6/yFLh9aM2oeG93ZCPMMapIKiisiZL4H8e++gRG4aN4ePGeNj7dR3G7NN+gf3zQ==
X-Received: by 2002:a7b:ce87:0:b0:43d:174:2668 with SMTP id 5b1f17b1804b1-43d490ab2b8mr30114665e9.0.1742483463433;
        Thu, 20 Mar 2025 08:11:03 -0700 (PDT)
Message-ID: <bc7047e1-61ea-4630-99f1-1cbc67352c41@suse.com>
Date: Thu, 20 Mar 2025 16:11:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 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,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <0370c0eb1fd9ac00acab016792132fa0b943d384.1742317309.git-series.marmarek@invisiblethingslab.com>
 <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com> <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com> <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14> <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com> <Z9wfKB0vdngn3xXX@mail-itl>
 <Z9wnzRbwb3HQaSMu@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: <Z9wnzRbwb3HQaSMu@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 15:36, Anthony PERARD wrote:
> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-GĂłrecki wrote:
>> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
>>> On 20.03.2025 13:51, Marek Marczykowski-GĂłrecki wrote:
>>>> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
>>>>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>>>> There are clearly some build path embedding left. And
>>>>>> -ffile-prefix-map=/-fdebug-prefix-map= doesn't work correctly with
>>>>>> XEN_ROOT having xen/.. at the end.
>>>>>> BTW, would it be acceptable to have this?
>>>>>>
>>>>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=$(realpath $(XEN_ROOT))=.)
>>>>>
>>>>> Hi,
>>>>>
>>>>> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fine
>>>>> in "tools/"). In "xen/", there's a few variables you can use if they are
>>>>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctree)
>>>>> $(objtree) for relative path. That also should avoid the need to use
>>>>> $(realpath ).
>>>>
>>>> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it to
>>>> not have /.. for prefix-map to work correctly. Would it be better to use
>>>> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
>>>> have paths in debug symbols relative to hypervisor source dir, instead
>>>> of xen repo root? I'm not sure if that wouldn't confuse some tools...
>>>
>>> abs_srctree being computed using realpath, can't we replace
>>>
>>> export XEN_ROOT := $(abs_srctree)/..
>>>
>>> by something as simpl{e,istic} as
>>>
>>> export XEN_ROOT := $(patsubst %/xen,%,$(abs_srctree))
>>>
>>> ?
>>
>> That works too. It's slightly less robust, but I don't expect "xen"
>> directory to be renamed, so shouldn't be an issue. I'll leave also a
>> comment there why not /.. .
> 
> I don't think $(XEN_ROOT) is present in the binaries produce by the
> hypervisor's build system.

It is, in the symbol table that tools/symbols produces. In a random
out-of-tree build I can see various static symbols being prefixed by
the full paths to the source files. I can't quite spot a pattern
between when this is the case and when it's not. In in-tree builds I
can't spot any such occurrences.

I also think Marek said debug info may contain full paths.

Jan

> There's only a few use if that variable: to
> load some makefile, to execute makefile that build xsm policy and to
> generate cpuid-autogen.h. Otherwise I don't think the compile have this
> path in the command line. What is going to be in the binary is
> $(abs_srctree), which you can replace by "./xen" if you want; which mean
> it doesn't matter if the directory is renamed or not. You might want to
> also take care of $(abs_objtree) which seems to also be in `xen-syms`
> when doing out-of-tree build.
> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:11:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:11:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922451.1326376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHYQ-00048y-Cp; Thu, 20 Mar 2025 15:11:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922451.1326376; Thu, 20 Mar 2025 15:11: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 1tvHYQ-00048r-A3; Thu, 20 Mar 2025 15:11:30 +0000
Received: by outflank-mailman (input) for mailman id 922451;
 Thu, 20 Mar 2025 15:11: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvHYP-0003yW-Fw
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:11:29 +0000
Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com
 [2607:f8b0:4864:20::102b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9829cde1-059d-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:11:27 +0100 (CET)
Received: by mail-pj1-x102b.google.com with SMTP id
 98e67ed59e1d1-2ff64550991so1298352a91.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:11:27 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-225c6ba6f1fsm136439875ad.135.2025.03.20.08.11.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:11: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: 9829cde1-059d-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742483486; x=1743088286; 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=C3blZWyxJmB4Vmv4l2VWGNvGK8VbZELq5Jc2Vv875TI=;
        b=raPssi19U1gptlUY2w6ONxvOjJwDS5Fe2M3pSEVzpZlgpoKjSgBzU9uklohXFxfC14
         GrNtzC9UgTThix/Ot7sGXYzQqN3/yGNDDd5HeeNxzRIYKWM8FE1Xu5GuQsMCLOmaH6ev
         ivB5EOc7u79sKAC+zw/RA8WOeLopgoRkv0gf8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742483486; x=1743088286;
        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=C3blZWyxJmB4Vmv4l2VWGNvGK8VbZELq5Jc2Vv875TI=;
        b=lzLtPNaI36z28MyCBtel1cNwMDp9SScKKWgYDZAfLchpBIBkgMVrStRGCEd3CHrcdc
         nsrEy4Z6++3MEIzW35j5GVzkl1UK7GpCl8vGd/pr+dEtT86Vsb66wSkehKZSsWMEhLVn
         GtPxfvm6jyNl58lc4Z+z+SOSpwztEY8PZRSxUDkywIYS/GPn30KUfSoM7/gfy5Q5TLwJ
         uok2Hg4QsDAZlFJWIRf6/bSlA8RsunVWbSruBjxurNccYV/Du7z1SO9WhRYcsfc9JgIz
         CCpIeB9uk5sSohpVxSNIwxH9/JjAI/BZoo2c13iCV41O/91qdIB9ZWQ5MLZARqxYpkKt
         W3tA==
X-Gm-Message-State: AOJu0YxV9PcXd1xBwtBWupWs7fRsZvElMkkeB9EZ4OmAaQWt9pdyp2cs
	zzEDA7m0ttVugDX5Krh8/nM8h6qT7yQ+8BDguQmyYS8V+dKQJIDFVRVwepEHL1PI7TBGT/ZRMAL
	Q
X-Gm-Gg: ASbGncubiQv99Y8gRI46AXwcy3Az3uRDhzcZIy8aU4cEBhBGRZHbT9TLxPszQRFB+aN
	cB/Unh7KHlqcCSlNDQqXA2HzWX/7B5cJD79WmCdu6fN+EjI0R1m3GnqH7mZY/VyWZL8n4K/C4Qh
	faSj+G57hfz6UFrLz4JWivbaITP64yvdN4XgU7YH6x5Oxx2XHL++0Ok7c1U85Ni0ZIVd63dmsCY
	GtQNX22VJ12S4CS9g3GKRgTTQhLSVmG9nbb+8mD87LXwcNQw/lveXKlf02Lv6wnClDSK5myBKNf
	f524oxxF+t+aM9xIX3ZKwgZKlabXtqhlnDM1OqD8p7rdKRpN4g==
X-Google-Smtp-Source: AGHT+IFjixWobjas621RGckYnu3VV28bVgj7ZBuxBStXAbWO/alblZKzys6OS3TFGlnU5aIVLAVh9w==
X-Received: by 2002:a17:90b:2703:b0:301:a0e9:66e with SMTP id 98e67ed59e1d1-301d52c9182mr5883126a91.20.1742483485601;
        Thu, 20 Mar 2025 08:11:25 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 v3] x86/vga: fix mapping of the VGA text buffer
Date: Thu, 20 Mar 2025 16:11:09 +0100
Message-ID: <20250320151109.88228-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The call to ioremap_wc() in video_init() will always fail, because
video_init() is called ahead of vm_init_type(), and so the underlying
__vmap() call will fail to allocate the linear address space.

Fix by reverting to the previous behavior and use __va() for the VGA text
buffer, as it's below the 1MB boundary, and thus always mapped in the
directmap.

Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v2:
 - Use __va() instead of ioremap().

Changes since v1:
 - No not attempt to adjust the directmap VGA text buffer mappings to be
   WC, just revert to the previous usage of UC- mappings for the whole VGA
   hole.
---
 xen/drivers/video/vga.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index b4d018326128..b577b2461942 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -71,7 +71,7 @@ void __init video_init(void)
     {
     case XEN_VGATYPE_TEXT_MODE_3:
         if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL) ||
-             ((video = ioremap_wc(0xB8000, 0x8000)) == NULL) )
+             ((video = __va(0xB8000)) == NULL) )
             return;
         outw(0x200a, 0x3d4); /* disable cursor */
         columns = vga_console_info.u.text_mode_3.columns;
@@ -158,7 +158,6 @@ void __init video_endboot(void)
         if ( !vgacon_keep )
         {
             memset(video, 0, columns * lines * 2);
-            iounmap(video);
             video = ZERO_BLOCK_PTR;
         }
         break;
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:15:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922477.1326387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHcj-0005xY-Tk; Thu, 20 Mar 2025 15:15:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922477.1326387; Thu, 20 Mar 2025 15:15: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 1tvHcj-0005xR-Qx; Thu, 20 Mar 2025 15:15:57 +0000
Received: by outflank-mailman (input) for mailman id 922477;
 Thu, 20 Mar 2025 15:15: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvHci-0005xL-G2
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:15:56 +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 38097070-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:15:55 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-399744f74e9so614284f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:15: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-3974d771160sm20422475f8f.19.2025.03.20.08.15.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:15: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: 38097070-059e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742483755; x=1743088555; 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=y2ejJmkLZbFcwGfiXTXs8f1bWIdnP3P6EKqrK+6GHNA=;
        b=NEininfa97MriKNotFTcvDWuFpAOFfEzjV0ZnuAU79xnY7PQcQDl+8pEqTfJDS1Z0O
         BnHycKUC2DZ5Fvw/TXoKIBprcS9ldsq0r3QdsiUwaL7ZGSMUfAwnPar9PujVA6oI8b3Y
         hAqnaouvGpvf4NHFmouyWRfnk5bEfxMIYNuzKIL+iXWUxTM9gaO44QYaofpYq7OuZwZ/
         SyzC4u3ovDCjdqLBrGUaJ2UIcVF0JuQPwfvMkhXbc6z9F3h8LgV24V+cXZ2GYKVcI2hc
         mxJJCPB0H8orBPjcma9EWK7bRkTda6FHLVTtMWC38c7xgpo+YY06uadH5Rpj0bkY15OT
         h1VQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742483755; x=1743088555;
        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=y2ejJmkLZbFcwGfiXTXs8f1bWIdnP3P6EKqrK+6GHNA=;
        b=mPq//GqSgmLiHUw2x4uf7ydRbJet0/1mXPmrTzK1fQ0xRzFtIZYtCBh/RLZKL08wq7
         Iq+hWnmfYqjQlOa8tErDSYWNyYr8rSX7Wf+15e8t5sS3fiG2cGeN27QsG0OY7+1s9ZWp
         O1km5Z+QBlcUjtoTSSJVtMAeNyQ4D8nms/o1Y9U8nJqaQswdNcSfK8Rtg/xcSSl57GUW
         h9GIDx9w0B85bNrVqGz8zaDD8nQMJCEkl4O/CWWdZqnasiUBYA5xybq8mlsJoX/tmNJe
         v7LrDKyBoNCkqG3bMPpwG4Ml3QAl225rggbgY+I9YufV1dLYLTC17A6ciXTTUWFbboLx
         mXXQ==
X-Forwarded-Encrypted: i=1; AJvYcCVH6knqp2ZpgcufA8Ykkj4v+97UXCRxRzP5EEEEr7iV77oI6SSDVtuy9oB8C41kMMjqcIEAJxW2IdQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw63lQW9Nf4kDD9rcXGfUR4PdoaVjYfrrsL9r3NsPkoJGHK0Whc
	td/rJkkxCwTglwv079op3GaDbvKxze7C2prwU1RXnFs8/AlVIyujSyd3m7xmLQ==
X-Gm-Gg: ASbGncv9D/iuVpy7pNS0KOyNRo/+QTvjrFm5CXP4ukPrAGNSI6LhRrn0Gq4Gs66owqi
	rSnOWcWlrtxQabfA4rpPxk/0nSA6agA3gRn1Ag1O2sDyzJzslIx4w8Zo8woZWDWQbj3IfPaCsZ2
	mPqm6ggC5KIGWq27cDgI6rbC9zp/JkRd0rGiwnKmqCEPodqufsDrMYPJFgSh6dlIbehvBEEpzCV
	RBli0TUCBaJkQue1GNnzaapwfMQj3nc8nnPIxcimtVgPL6GvZF7rDmYAL/vPryhNEAJExxqKrZt
	J1BpnHQmzoee/8oK152EQ7C/uFjyOFJf78D33nAq7STf+NzH2Cu9B5kfvW7fZZGDmves6FZQJOe
	0gDJuNMztBchxKHXXt0P0KQyTvcS++g==
X-Google-Smtp-Source: AGHT+IEhWVeagCUej1uxrRgJg6hrljC60CwpBgaeRJnQCSBpM5A6vtShYV+klQ+p3sHV84h4PwD0AA==
X-Received: by 2002:a5d:47a8:0:b0:391:43ff:8ca8 with SMTP id ffacd0b85a97d-399739c8e78mr6325485f8f.26.1742483754568;
        Thu, 20 Mar 2025 08:15:54 -0700 (PDT)
Message-ID: <cd29d79c-fa6a-48a7-aefe-7e8abba9bf95@suse.com>
Date: Thu, 20 Mar 2025 16:15:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6] Avoid crash calling PrintErrMesg from efi_multiboot2
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20250217162659.151232-1-frediano.ziglio@cloud.com>
 <Z7jf_YojU9tQ1Or7@mail-itl>
 <CACHz=Zierjby+_Q93dFeO5mjMG1aiSpyHvDshRK6=ZHY5bH-6A@mail.gmail.com>
 <Z7xxQHVdSGwig4hb@mail-itl>
 <CACHz=ZgHxvCJQyJe_NJFh3YYcuW0sey+qcOEv0O-XxC8daTo+A@mail.gmail.com>
 <Z79jhZ_BGEC6DYl4@mail-itl> <086f7e05-2cab-4a53-8ecb-dff7421e38bc@suse.com>
 <CACHz=ZjtjMyv5OmUT8dNHAzqrw5c7ij58quo1SuDc2ZBSjQRmw@mail.gmail.com>
 <CACHz=ZjLq8vVLtLL40DjcLV5wwxyatLdy4g3rq1ifSVcnATr8g@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: <CACHz=ZjLq8vVLtLL40DjcLV5wwxyatLdy4g3rq1ifSVcnATr8g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 15:33, Frediano Ziglio wrote:
> On Thu, Mar 6, 2025 at 3:02âŻPM Frediano Ziglio
> <frediano.ziglio@cloud.com> wrote:
>>
>> On Thu, Mar 6, 2025 at 2:26âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>>
>>> On 26.02.2025 19:54, Marek Marczykowski-GĂłrecki wrote:
>>>> On Mon, Feb 24, 2025 at 02:31:00PM +0000, Frediano Ziglio wrote:
>>>>> On Mon, Feb 24, 2025 at 1:16âŻPM Marek Marczykowski-GĂłrecki
>>>>> <marmarek@invisiblethingslab.com> wrote:
>>>>>>
>>>>>> On Mon, Feb 24, 2025 at 12:57:13PM +0000, Frediano Ziglio wrote:
>>>>>>> On Fri, Feb 21, 2025 at 8:20âŻPM Marek Marczykowski-GĂłrecki
>>>>>>> <marmarek@invisiblethingslab.com> wrote:
>>>>>>>>
>>>>>>>> On Mon, Feb 17, 2025 at 04:26:59PM +0000, Frediano Ziglio wrote:
>>>>>>>>> Although code is compiled with -fpic option data is not position
>>>>>>>>> independent. This causes data pointer to become invalid if
>>>>>>>>> code is not relocated properly which is what happens for
>>>>>>>>> efi_multiboot2 which is called by multiboot entry code.
>>>>>>>>>
>>>>>>>>> Code tested adding
>>>>>>>>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
>>>>>>>>> in efi_multiboot2 before calling efi_arch_edd (this function
>>>>>>>>> can potentially call PrintErrMesg).
>>>>>>>>>
>>>>>>>>> Before the patch (XenServer installation on Qemu, xen replaced
>>>>>>>>> with vanilla xen.gz):
>>>>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>>>>>>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Apic ID - 00000000 !!!!
>>>>>>>>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
>>>>>>>>>   RIP  - 000000007EE21E9A, CS  - 0000000000000038, RFLAGS - 0000000000210246
>>>>>>>>>   RAX  - 000000007FF0C1B5, RCX - 0000000000000050, RDX - 0000000000000010
>>>>>>>>>   RBX  - 0000000000000000, RSP - 000000007FF0C180, RBP - 000000007FF0C210
>>>>>>>>>   RSI  - FFFF82D040467CE8, RDI - 0000000000000000
>>>>>>>>>   R8   - 000000007FF0C1C8, R9  - 000000007FF0C1C0, R10 - 0000000000000000
>>>>>>>>>   R11  - 0000000000001020, R12 - FFFF82D040467CE8, R13 - 000000007FF0C1B8
>>>>>>>>>   R14  - 000000007EA33328, R15 - 000000007EA332D8
>>>>>>>>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
>>>>>>>>>   GS   - 0000000000000030, SS  - 0000000000000030
>>>>>>>>>   CR0  - 0000000080010033, CR2 - FFFF82D040467CE8, CR3 - 000000007FC01000
>>>>>>>>>   CR4  - 0000000000000668, CR8 - 0000000000000000
>>>>>>>>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
>>>>>>>>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
>>>>>>>>>   GDTR - 000000007F9DB000 0000000000000047, LDTR - 0000000000000000
>>>>>>>>>   IDTR - 000000007F48E018 0000000000000FFF,   TR - 0000000000000000
>>>>>>>>>   FXSAVE_STATE - 000000007FF0BDE0
>>>>>>>>>   !!!! Find image based on IP(0x7EE21E9A) (No PDB)  (ImageBase=000000007EE20000, EntryPoint=000000007EE23935) !!!!
>>>>>>>>>
>>>>>>>>> After the patch:
>>>>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>>>>>>>   Test message: Buffer too small
>>>>>>>>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>>>>>>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>>>>>>>
>>>>>>>>> This partially rollback commit 00d5d5ce23e6.
>>>>>>>>>
>>>>>>>>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI platforms")
>>>>>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>>>>>>
>>>>>>>> I tried testing this patch, but it seems I cannot reproduce the original
>>>>>>>> failure...
>>>>>>>>
>>>>>>>> I did as the commit message suggests here:
>>>>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commit/ca3d6911c448eb886990f33d4380b5646617a982
>>>>>>>>
>>>>>>>> With blexit() in PrintErrMesg(), it went back to the bootloader, so I'm
>>>>>>>> sure this code path was reached. But with blexit() commented out, Xen
>>>>>>>> started correctly both with and without this patch... The branch I used
>>>>>>>> is here:
>>>>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commits/automation-tests?ref_type=heads
>>>>>>>>
>>>>>>>> Are there some extra condition to reproduce the issue? Maybe it depends
>>>>>>>> on the compiler version? I guess I can try also on QEMU, but based on
>>>>>>>> the description, I would expect it to crash in any case.
>>>>>>>>
>>>>>>>
>>>>>>> Did you see the correct message in both cases?
>>>>>>> Did you use Grub or direct EFI?
>>>>>>>
>>>>>>> With Grub and without this patch you won't see the message, with grub
>>>>>>> with the patch you see the correct message.
>>>>>>
>>>>>> I did use grub, and I didn't see the message indeed.
>>>>>> But in the case it was supposed to crash (with added PrintErrMesg(),
>>>>>> commented out blexit and without your patch) it did _not_ crashed and
>>>>>> continued to normal boot. Is that #PF non-fatal here?
>>>>>>
>>>>>
>>>>> Hi,
>>>>>    I tried again with my test environment.
>>>>> Added the PrintErrMesg line before efi_arch_edd call, I got a #PF, in
>>>>> my case the system hangs. With the fix patch machine is rebooting and
>>>>> I can see the message in the logs.
>>>>> I'm trying with Xen starting inside Qemu, EFI firmware, xen.gz
>>>>> compiled as ELF file. Host system is an Ubuntu 22.04.5 LTS. Gcc is
>>>>> version 11.4.
>>>>
>>>> My test was wrong, commenting out blexit made "mesg" variable unused.
>>>> After fixing that, I can reproduce it on both QEMU and real hardware:
>>>> without your patch it crashes and with your patch it works just fine.
>>>> While there may be more places with similar issue, this patch clearly
>>>> improves the situation, so:
>>>>
>>>> Acked-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>>>
>>> This had to be reverted, for breaking the build with old Clang. See the
>>> respective Matrix conversation.
>>
>> To sum up the failure is:
>>
>>     clang: error: unknown argument: '-fno-jump-tables'
> 
> Now that the minimum clang version supports this option, can this
> change be applied?

Not sure. I for one would expect that we actively reject building with
too old tool chains then, which is yet to be carried out. Plus I think
you'd want to re-submit, with all tags dropped. The change was wrong to
go in at that earlier point, and hence any such tags weren't quite
accurate.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:17:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922489.1326396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHdy-0006To-6f; Thu, 20 Mar 2025 15:17:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922489.1326396; Thu, 20 Mar 2025 15:17: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 1tvHdy-0006Th-3e; Thu, 20 Mar 2025 15:17:14 +0000
Received: by outflank-mailman (input) for mailman id 922489;
 Thu, 20 Mar 2025 15:17: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=W2V2=WH=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tvHdw-0006Tb-GG
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:17:12 +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 64ad83ca-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:17:10 +0100 (CET)
Received: from phl-compute-09.internal (phl-compute-09.phl.internal
 [10.202.2.49])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 683C42540189;
 Thu, 20 Mar 2025 11:17:09 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-09.internal (MEProxy); Thu, 20 Mar 2025 11:17:09 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 11:17:07 -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: 64ad83ca-059e-11f0-9ea0-5ba50f476ded
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=1742483829;
	 x=1742570229; bh=JFjPC7UuvrmpO6kvEFfFIsFr34AFX1dkwhwYtXWoUVk=; b=
	sEj0tXep/WJlUOgv68MKwAEJJYGu84EazD2MGy+N2AJCRwuwIwjGdeIVXEkkLmnm
	uxywzYtnHt3qnwxf5SGPxXeStZbGTFrOro4BmWNoflOBIbvL6+058SJ9GD/2ynFs
	GuFezWTrfwmYHZBIdCmkdEeggWBaigQw5jBwuED4PFS+A3RZMgkd6kzlm6QLhiL9
	7EOOuCXAyHGEj2aKO9kqfKL2hINheo1pNU+yiXbNGDNiUvaOHkM2JmJb4bYTMKaG
	10lVz+rQKzesYthSN5Ho9X3dksu+MWMWMa2P/5d4w/N4kH0RmLV95kKw1t7nknH3
	fkV4700Yej11fYrXBOf5Ag==
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=fm1; t=
	1742483829; x=1742570229; bh=JFjPC7UuvrmpO6kvEFfFIsFr34AFX1dkwhw
	YtXWoUVk=; b=K2rbdYc2veEpPajBDxOeAI1b7/1erddJuLZGi/Kt+o0GNoZSGSZ
	R88++wEX8UD8V1d1lS+GeNnCvq3k9yMbjeF6fxiBNgXjfZBNbCtWRks8taFtHXty
	mygVb6BAp+7SdvpDhCfjT7R3U3EhooSAvQt7Fbo3s/TUTCLghrgNNvFhxwUJc0HI
	fdPWQGcOyneFFfVDdMU7jeLt8HXFCLgKf146XYZb9GI0WeNfdNMFOKWlo9VE/owq
	pXfYj9arpwSQDKt9JeGntBMqOCHEb4EPUGJidgfbgm9gtMkcAAzty5ZASImDlhXa
	5K04cUDLjCapfFZ+hiEuSoZuGq9pM/zeM1A==
X-ME-Sender: <xms:dDHcZyVuq_bAow3PIa-23Mifi7F22LhXbsMYGv5TE0iPkoBZNOqPgA>
    <xme:dDHcZ-k_BfQsgc-XC4U26-dsvNTsvpHxHSO70aeAmIWcBwu65jlIxHaXP8icoFYMo
    2pflszl8zUqNg>
X-ME-Received: <xmr:dDHcZ2bk042rbUKXRfaMPp0mJpwDWB8A7D8iZglAEH4uDGd3yucrnOOCvTmWKprtOHQMW0a1vRSQLqCey0dDKlgoBQKq9xq6vg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeekheehucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghn
    thhhohhnhidrphgvrhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthhopehjsggvuh
    hlihgthhesshhushgvrdgtohhmpdhrtghpthhtohepfhhrvgguvghrihgtrdhpihgvrhhr
    vghtsehquhgsvghsqdhoshdrohhrghdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvg
    hrfeestghithhrihigrdgtohhmpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegr
    mhgurdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoh
    eprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggv
    lhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:dDHcZ5VPVwlMejemV1vF3N6Vy8jQbTgHLt7ieo691rcdOGlz0iObRw>
    <xmx:dDHcZ8mETDthmyxTp4rN6BgT6khdZNYH_PO-X1ptVkVTYsP8GHrN4g>
    <xmx:dDHcZ-e7EzeBTKccLsShaxfB2w0cqnLaGfvdwH8gwglYokFrBm0E7A>
    <xmx:dDHcZ-EcyislxaCC1XceMgYGKVgp7uHXhSZ87CxYNHP6GFmI3bb7bA>
    <xmx:dTHcZ5h_YxrRRBEBiL8j2MjOzH13hMYx4dekJZJf7MZ9pFrL8-noSBQx>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 20 Mar 2025 16:17:04 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Jan Beulich <jbeulich@suse.com>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9wxcYapF5eno29b@mail-itl>
References: <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com>
 <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com>
 <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14>
 <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>
 <Z9wfKB0vdngn3xXX@mail-itl>
 <Z9wnzRbwb3HQaSMu@l14>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="fbynnOhQxpl+hxud"
Content-Disposition: inline
In-Reply-To: <Z9wnzRbwb3HQaSMu@l14>


--fbynnOhQxpl+hxud
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 20 Mar 2025 16:17:04 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Jan Beulich <jbeulich@suse.com>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Thu, Mar 20, 2025 at 02:35:59PM +0000, Anthony PERARD wrote:
> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
> > > On 20.03.2025 13:51, Marek Marczykowski-G=C3=B3recki wrote:
> > > > On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
> > > >> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> > > >>> There are clearly some build path embedding left. And
> > > >>> -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correctly=
 with
> > > >>> XEN_ROOT having xen/.. at the end.
> > > >>> BTW, would it be acceptable to have this?
> > > >>>
> > > >>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realpat=
h $(XEN_ROOT))=3D.)
> > > >>
> > > >> Hi,
> > > >>
> > > >> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It'=
s fine
> > > >> in "tools/"). In "xen/", there's a few variables you can use if th=
ey are
> > > >> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(sr=
ctree)
> > > >> $(objtree) for relative path. That also should avoid the need to u=
se
> > > >> $(realpath ).
> > > >
> > > > XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it=
 to
> > > > not have /.. for prefix-map to work correctly. Would it be better t=
o use
> > > > literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) a=
nd
> > > > have paths in debug symbols relative to hypervisor source dir, inst=
ead
> > > > of xen repo root? I'm not sure if that wouldn't confuse some tools.=
=2E.
> > >
> > > abs_srctree being computed using realpath, can't we replace
> > >
> > > export XEN_ROOT :=3D $(abs_srctree)/..
> > >
> > > by something as simpl{e,istic} as
> > >
> > > export XEN_ROOT :=3D $(patsubst %/xen,%,$(abs_srctree))
> > >
> > > ?
> >
> > That works too. It's slightly less robust, but I don't expect "xen"
> > directory to be renamed, so shouldn't be an issue. I'll leave also a
> > comment there why not /.. .
>=20
> I don't think $(XEN_ROOT) is present in the binaries produce by the
> hypervisor's build system. There's only a few use if that variable: to
> load some makefile, to execute makefile that build xsm policy and to
> generate cpuid-autogen.h. Otherwise I don't think the compile have this
> path in the command line. What is going to be in the binary is
> $(abs_srctree), which you can replace by "./xen" if you want; which mean
> it doesn't matter if the directory is renamed or not. You might want to
> also take care of $(abs_objtree) which seems to also be in `xen-syms`
> when doing out-of-tree build.

So, you suggest to do -fdebug-prefix-map=3D$(abs_srctree)=3D./xen ? That
appears to work for in-tree builds too.
But now I actually tested how it looks with out-of-tree builds, and
indeed $(abs_objtree) is embedded there too. Adding
-fdebug-prefix-map=3D$(abs_objtree)=3D./xen appears to help for this. But,
-fdebug-prefix-map doesn't help with abs_srctree in out-of-tree builds
for some reason. -ffile-prefix-map does. And so does -fdebug-prefix-map
+ -fmacro-prefix-map. Is there any preference which one to use? It
appears as -fmacro-prefix-map and -ffile-prefix-map have the same
availability in both GCC (8) and Clang (10).

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

--fbynnOhQxpl+hxud
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfcMXEACgkQ24/THMrX
1yyQtgf/Rkj/YixjwoGFAbxdC+VJwf7LVAru/wx+XO+qPACLZ7PBZODGIdfEGo4P
eKe0woOFM0CrM5bBkxyAmKjurlo2ZhAyuPIfRGjcRSP6ezBs8Gid2MoNKGI7BDgI
7HARzKtlqdaqY/WX4AJCZm39spuQvqwzLnIyeowaox7ITVw5ZRwnVjwardMn/9Kq
Gs/PJ2igbP1gB0zm33/ZrCkxJXOyKH1SqqLyUbyGdVALY7DDPLvfgMvgel+pC45V
SJv3CODUK8v8uLSDZ0y8KdqZx8e+TEcJ1EEgM3bn5jJNNG9LfleGzNfE3g/6mzzv
0XShTReCbWMquHWhspnYkXpLtkKxFA==
=zhjn
-----END PGP SIGNATURE-----

--fbynnOhQxpl+hxud--


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:18:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:18:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922504.1326408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHfD-00074Y-KO; Thu, 20 Mar 2025 15:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922504.1326408; Thu, 20 Mar 2025 15: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 1tvHfD-00074R-G9; Thu, 20 Mar 2025 15:18:31 +0000
Received: by outflank-mailman (input) for mailman id 922504;
 Thu, 20 Mar 2025 15:18: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=51pQ=WH=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tvHfB-00074J-O4
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:18:29 +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 937964f3-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:18:28 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5e61375c108so1252372a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:18:28 -0700 (PDT)
Received: from localhost ([46.149.103.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e816ad3909sm10432334a12.56.2025.03.20.08.18.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:18: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: 937964f3-059e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742483908; x=1743088708; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SD96jxNXAQO0g9kZUha17xBFzZOHRjY92/yOwnciPso=;
        b=JxXUU7CGHiLUQShtokIDGdJM3zanIw8JHMjETNb/Gh4QlUB+Ua5dNm8LYmcbV/2LYk
         0KowCRGlmu0TZGmzsgFKhd5+yiw9pavc/tK6vxxNjQBfg11Jff8uCYKe/KFVL1CdzY3Y
         NMzOEYqDQqeZ5t2oB+fLVAGb6DZVBkUhUwcuU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742483908; x=1743088708;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=SD96jxNXAQO0g9kZUha17xBFzZOHRjY92/yOwnciPso=;
        b=KGB/nxELJeYt0qTOcmZj7ymQhz7PXBmKWIUFUNWdlw6oJ3NO6pGYywHc3c5SdSTfu9
         ImnFQHyDGksgQRpZ0P8tS21sUCQK6Ykc13J1dDAfrHCgzQAvL5LQG7aF3Ix9eM+1ep2Q
         V3Ble611PYCd/THt47PEbD0FVN3MMuMHqP+43F5Msv/ID9KWmck6TuHc8okMD/bu6JuB
         q5BhBbr1/3FOG2ANtPphq0ALmfm4H7KhvYDqOxYSAero/WJWuw/tICr943KokeXBrxjB
         M5DyYpfX49hxld9c0luN0cnXP0RkMKFgiG7HHD4z3iMSuDjrbTePmI9x9ZwT+I9ISAyB
         ie1g==
X-Gm-Message-State: AOJu0YxNxDcxkUQBr8UmeJ/cwsMPIq2JyeJFyJoDDYcHGeWHy8OUujCU
	FxCaUNDC22sNmLfWVJlbJ8y52ipnGI854rBhfoTrRw/e5mKdSmBZvN75gOLDZgwUeIroRqc7lTw
	r
X-Gm-Gg: ASbGncu6xZ9WUfDyPwHr0jYkn5j6mYTpZRqn/zQIOVct162/1886iKPSOnSEs7hmPxe
	NPtyJV2NJ3NeA6RuZssde/cW7aD3r0XX9zhdAzAy72GvPubinLGpuMCSJuO0gvG1iTW9UocL9y2
	ev1LfPtaMQteip5Crha3n1retwEa/2FHMA0+DZjtFZHwevL+89ILozrSbgcm94gtbYj5UsLYhDl
	pwZ5krGWVlhRdfaAJaTBHHTTrOTHl/EB+8cdal9tiBsIApydPdbrsLZahprwYFYjpgieYSTsyyY
	kzKDYCed6zFKKEYWJSe/q0uS8q5jNZfOs+1DclZ2W3pTLa68RU0=
X-Google-Smtp-Source: AGHT+IGRjCGpf4EV6MW02FOczrhMFhUvPnbmuJwfVZScirflPMTkke+10A3wYQcxzX+KCbgcbY6Q3A==
X-Received: by 2002:a05:6402:4025:b0:5eb:ca97:4565 with SMTP id 4fb4d7f45d1cf-5ebca97456emr392510a12.19.1742483907932;
        Thu, 20 Mar 2025 08:18:27 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 20 Mar 2025 15:18:26 +0000
Message-Id: <D8L6ZRL4CIUK.FGKVDP8TJAGU@cloud.com>
Cc: "Xen-devel" <xen-devel@lists.xenproject.org>, "Jan Beulich"
 <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>,
 =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: Re: [PATCH v1] x86: make Viridian support optional
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Sergiy Kibrik" <sergiy_kibrik@epam.com>
X-Mailer: aerc 0.18.2
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
 <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
 <93e98ebb-4679-4c34-a5af-f105e89c7304@epam.com>
In-Reply-To: <93e98ebb-4679-4c34-a5af-f105e89c7304@epam.com>

On Thu Mar 20, 2025 at 9:39 AM GMT, Sergiy Kibrik wrote:
> hi Alejandro,
>
> 17.03.25 11:19, Alejandro Vallejo:
> [..]
> >      =C2=A0endif
> >=20
> >     +config HVM_VIRIDIAN
> >     +=C2=A0 =C2=A0 =C2=A0 =C2=A0bool "Viridian enlightenments support" =
if EXPERT
> >     +=C2=A0 =C2=A0 =C2=A0 =C2=A0depends on HVM
> >     +=C2=A0 =C2=A0 =C2=A0 =C2=A0default y
> >     +
> >=20
> >=20
> >=20
> > I don't see why this should be gated by EXPERT, provided a
> > suitable (now absent) help message was to exist explaining
> > what it does in plain simple words.
>
> The option is intended primarily for fine-tuned systems optimized for=20
> particular platform and mode of operation. As for generic systems (e.g.=
=20
> distributions) whey wouldn't want to disable it anyway.



> >=20
> > For the title, I'd say it needs to properly state it refers to
> > enlightenments for guests, rather than enlightenments for
> > Xen itself when running under Hyper-V. As it is, it sounds
> > ambiguous (Maybe "Hyper-V enlighnments for guests"?).
> >
>
> Agree, "Hyper-V enlighnments for guests" is better title.
> As for help message, would the one below be sufficient?:
>
>   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.
>
>     If unsure, say Y.

Sounds good enough to me.

>
>
> > On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
> > rather redundant, and I think just VIRIDIAN works just as well
> > while being shorter.
> >
>
> this is rather to highlight the fact that the code is part of HVM=20
> support, a bit of self-documenting
>
> [..]

That's fair enough.

> >     diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h
> >     b/xen/arch/x86/include/asm/hvm/vcpu.h
> >     index 196fed6d5d..bac35ec47a 100644
> >     --- a/xen/arch/x86/include/asm/hvm/vcpu.h
> >     +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
> >     @@ -171,8 +171,9 @@ struct hvm_vcpu {
> >=20
> >      =C2=A0 =C2=A0 =C2=A0/* Pending hw/sw interrupt (.vector =3D -1 mea=
ns nothing
> >     pending). */
> >      =C2=A0 =C2=A0 =C2=A0struct x86_event=C2=A0 =C2=A0 =C2=A0inject_eve=
nt;
> >     -
> >     +#ifdef CONFIG_HVM_VIRIDIAN
> >      =C2=A0 =C2=A0 =C2=A0struct viridian_vcpu *viridian;
> >     +#endif
> >      =C2=A0};
> >=20
> >      =C2=A0#endif /* __ASM_X86_HVM_VCPU_H__ */
> >=20
> >=20
> > nit: I suspect the code would be far less cluttered with "if=20
> > viridian..." if the
> > init/deinit/etc functions had dummy versions of those functions when
> > !HVM_VIRIDIAN in the header.
> >=20
>
> as Jan explained some time ago [1] it's preferable to compile as much as=
=20
> possible in all build configuration. Besides most of calls to viridian=20
> code are already guarded by is_viridian_domain() & not actually require=
=20
> stubs.
>
>   -Sergiy
>
> [1]=20
> https://lore.kernel.org/xen-devel/36708a3f-2664-4b04-9f5d-f115d362d100@su=
se.com/

That answer seems to state a preference for...

    if ( foo_enabled() )
        rc =3D foo();

... against...

    #ifdef CONFIG_FOO
    rc =3D foo();
    #endif

... where foo() in the header looks like...

    #ifdef CONFIG_FOO
    int foo(void);
    #else /* CONFIG_FOO */
    static inline int foo(void)
    {
        return /*some-error*/;
    }
    #endif /* CONFIG_FOO */

But that's not what's going on here, I think? I didn't initially notice the
subtlety of the change. On more careful look, it seems to rely on the compi=
ler
doing dead-code-elimination. The functions missing in the linking stage don=
't
cause a compile-time error because the conditionals are completely gone by
then. Neat as it is, it sounds a bit fragile. Can we really rely on this
behaviour not changing? Furthermore, does MISRA have views about having dea=
d
code calls to unimplemented functions?

If dummy functions are warranted, my point stands. Why not make them return
"0", rather than some errno to avoid the conditionals to begin with? If the=
y
aren't, then I'm just making a racket over nothing and feel free to ignore =
me
:)

FTAOD, this is more of a question to the maintainers than anything else. Is
exploiting dead-code elimination in order to avoid dummy functions somethin=
g we
want to do moving forward?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:21:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922517.1326417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHhl-0000Oa-W1; Thu, 20 Mar 2025 15:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922517.1326417; Thu, 20 Mar 2025 15:21: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 1tvHhl-0000OA-Sl; Thu, 20 Mar 2025 15:21:09 +0000
Received: by outflank-mailman (input) for mailman id 922517;
 Thu, 20 Mar 2025 15:21: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvHhl-0000Ny-6o
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:21:09 +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 f20b9c6a-059e-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:21:07 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ac29af3382dso159808966b.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:21:07 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5e816ad3937sm11146616a12.49.2025.03.20.08.21.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:21: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: f20b9c6a-059e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484066; x=1743088866; 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=qlZ8K6df/QHtSj7gc4lffDD6HTEVmJac/tim/W78zIk=;
        b=IHVIDEjEOqBfnnpH5kcnH/L8H6Q450HPXJMyZi04v+ptlL71sfTe8oa9+oDNNjDTct
         Km/gk+ZwnwQJ0eyKimrNJ0jEnthWa/nn3ia5a1IbxWXXoCY9fnCxvHK5ZN/ctq3RQSH8
         2Wp+rcI0RnCyKCGYit3++r/iE3PRKvJUawypk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484066; x=1743088866;
        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=qlZ8K6df/QHtSj7gc4lffDD6HTEVmJac/tim/W78zIk=;
        b=RaDLARKH4LtClyquGyGXXheeBFKeIbYGH0LII1GxOvgv4zGmpWu48bDRY/9nAzdTen
         raSBj0wkaNDeSoF9Xpd1iMKToofuU4woMCdYbBWIOs7SYLdHGUbWwq67injgTecR7cvh
         +IMuS+hgxw15wlJsPphD94AsXeqYpBvNbXCbYLenp57CBVETDBKCs62/R+2eCdwSQ/I7
         CDdjXI1L2nvuHsGfQpf3CgC4YS9Fns2/FildDb9TsawLUSScZZd1ud2HBC7GB/vJ+Vmx
         bmqWB3FbtSsQH7Nlg1jRIGMdHDyFx9KgrKc0wlRTp1N7yJVNwpEbBOD+V9iBod/KW49f
         T1qg==
X-Gm-Message-State: AOJu0YwG2mmlsLjF/CB9iR4ygPDVehmhQvpSozGoTNphJ1QksFVP/2IL
	v++FOQM4GhLwsZQ4OHxgLwTllb64Yd5OBrN91P4hlXkjSEVwiDTl0Ok/D9n8WpCr8evOwez9bjY
	c
X-Gm-Gg: ASbGnct2Mi0u3NDCziWus3A+KPxQX3am2vH6Rs+QmIZ/PHpwXDXFuN0rXaHW1yQCDhG
	blujz5eOHND7YGiLJ30cvIAnNFhb299M8DPNfCFUkPQ931SYfobzhbzswGNChSE8ZDvtKVmNLoG
	j4RO7TLxNbaIkYUFnxw40GOAw6UnZYw0SCHJBLiy9Mts/rt+lOyd3ux79a/ZnN3mfPrehyCaBCG
	6hraIB89vCZHc1o7L6NqPQiXLZkdNXO13nN7UuHz1Lb4UCo8h1m3t0mYInB/xhu4QozY0RDmD4y
	KlmhOUqd4QWO9xMehRjGqG7kkGr7+0CLQyqlXAKxaIFbg17TIg==
X-Google-Smtp-Source: AGHT+IFXWwZuJiT3FTsM0GALf+zt0Fs4208FiRIDzc96XOgpF2orFgNcAhQ4o/eInU8jIrKRmDhp+A==
X-Received: by 2002:a17:907:7f9f:b0:ac2:fd70:dda3 with SMTP id a640c23a62f3a-ac3ce17cd73mr434767466b.35.1742484066440;
        Thu, 20 Mar 2025 08:21:06 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 0/4] automation/cirrus-ci: add smoke tests of the FreeBSD builds
Date: Thu, 20 Mar 2025 16:20:16 +0100
Message-ID: <20250320152020.88526-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The aim of the series is to introduce a basic set of smoke tests using
QEMU and XTF, to ensure some minimal run-time testing of the LLVM
toolchain generated Xen binary.

Thanks, Roger.

Roger Pau Monne (4):
  automation/cirrus-ci: use matrix keyword to generate per-version build
    tasks
  automation/cirrus-ci: build XTF
  automation/cirrus-ci: store XTF and Xen build artifacts
  automation/cirrus-ci: add smoke tests for the FreeBSD builds

 .cirrus.yml  | 152 ++++++++++++++++++++++++++++++++++++++++-----------
 CHANGELOG.md |   1 +
 2 files changed, 120 insertions(+), 33 deletions(-)

-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:21:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922519.1326437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHhn-0000vr-Fm; Thu, 20 Mar 2025 15:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922519.1326437; Thu, 20 Mar 2025 15:21: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 1tvHhn-0000v7-Ao; Thu, 20 Mar 2025 15:21:11 +0000
Received: by outflank-mailman (input) for mailman id 922519;
 Thu, 20 Mar 2025 15:21: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvHhm-0000Nz-6g
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:21:10 +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 f3639c92-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:21:09 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5e66407963fso1625362a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:21:09 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3147e9394sm1193323366b.57.2025.03.20.08.21.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:21: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: f3639c92-059e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484069; x=1743088869; 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=6oCKTSSRMcwQmX4mwYaCB0qygdwJlpmMZyZmqBhVNbg=;
        b=SwBVd7rieefuboZyQcssNiIGtd82jg4tOM7hMg83vkPIYgdyNQ9HcyvQqJZNxCSMHK
         wlQ+zu4eqf1/2ygv82OheMxZWnF9Hki76AGrDWMzgPYNq/yCe9ZUhuJVh4k0z9M9c33/
         DPIcjuMW19ZKfrAp0mo8mulRLyCHJtkvLOcfM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484069; x=1743088869;
        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=6oCKTSSRMcwQmX4mwYaCB0qygdwJlpmMZyZmqBhVNbg=;
        b=S6Nv5mJeLPIq9bS77j3sCSMER3TIBGIBU4VYcwNd3lTPL2KJl1ijUNABfL+d7iwi1w
         f4E9o1RQn7RqhDFxZ7NyHcWijE+GYudWgy4TsvcriSJqyrP7jy+QyL7zCUw5oSnS/7Kb
         w4IaYiBrLikBRAbDJ72mMqropsCzXe77yslY21ON9a/ynB6k0Cc1Pj3LkRMUO0vZgBA0
         9AZbFX55TRLsUJo/A4GANtvxTpeWLntRGdqj2R4hEIhbhsn+qd7zcxAiPFrnrRuEvmlf
         6OwTGWHFg6PIgWgaPH8rSss1Fqvt2sboIzspOHEBJv1YN/MY7Zp1u6k31Rt8FWKA81y0
         kdAQ==
X-Gm-Message-State: AOJu0YzCExkUW3vwwWmNi+Ym7fsbej0azy7yAtUzI1kpvRKR4covEbqp
	MsI/BtJ5+kdk3u9J3lV0yckC+Kf8moxVFA5RSTB/4m8chlwDUAYK6u89janwhpMifZzgKJb1jyr
	1
X-Gm-Gg: ASbGncvuaurE87/hbYeKZpmICXMQDx10WRgkJDZkKKmh+hWp0njzUkMUtZ9NApxWrM6
	w/5PeMTmWP9nHD16qYE2VVC/I61zWGfpIFtc5bE/WdwzdC050fEpn1MyRzCWQKa6733tKLm6/eC
	PkB+iBJcUq3Yijnibh/qqoWublRI+MoJ/rzxdx3tSoOybkVsbcLwG4I5lcpeUIw86SQjHY1Quop
	P8sa4p5skrm2A4HLnNBmRhhBtcz9rQOKLXZoXyKcbdkG0N7UmM6LR46nEFCAGJbB/5gTujQQark
	c2DyV97XnqqbwcWWcdpumxwc0TF1+WT1LEQHBDZLvWGPtE8TdA==
X-Google-Smtp-Source: AGHT+IEsiz+jDc5kkiv3IGEkfrYFt+3q1s8LAc+ZYqdVAhu0Rka0LkmN+Ofa4dStHQ+bzLDxj4e66Q==
X-Received: by 2002:a17:907:60d2:b0:ab8:c215:fd27 with SMTP id a640c23a62f3a-ac3cdfb9ef1mr379377166b.14.1742484068724;
        Thu, 20 Mar 2025 08:21:08 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 v2 2/4] automation/cirrus-ci: build XTF
Date: Thu, 20 Mar 2025 16:20:18 +0100
Message-ID: <20250320152020.88526-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250320152020.88526-1-roger.pau@citrix.com>
References: <20250320152020.88526-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In preparation for using the XTF selftests to smoke test the FreeBSD based
Xen builds.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v1:
 - Use production version.
---
 .cirrus.yml | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index 95d2d2d3db2e..a6e4a5d0308b 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -12,6 +12,12 @@ freebsd_template: &FREEBSD_ENV
     CIRRUS_CLONE_DEPTH: 1
     CIRRUS_LOG_TIMESTAMP: true
 
+freebsd_template_latest: &FREEBSD_ENV_PRODUCTION
+  << : *FREEBSD_VERSIONS
+  freebsd_instance:
+    image_family: $FREEBSD_PRODUCTION
+  << : *FREEBSD_ENV
+
 freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
   always:
     rename_script:
@@ -82,3 +88,21 @@ task:
 
   build_script:
     - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
+
+task:
+  name: 'FreeBSD: XTF build'
+  alias: xtf
+
+  << : *FREEBSD_ENV_PRODUCTION
+
+  clone_script:
+    - pkg install -y git
+    - git clone --depth 1 https://xenbits.xen.org/git-http/xtf.git
+
+  install_script: pkg install -y gmake
+
+  build_script:
+    - cd xtf
+    - cc --version
+    - git rev-parse HEAD
+    - gmake -j`sysctl -n hw.ncpu` LLVM=y
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:21:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922518.1326423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHhm-0000TX-9b; Thu, 20 Mar 2025 15:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922518.1326423; Thu, 20 Mar 2025 15:21: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 1tvHhm-0000Rv-2u; Thu, 20 Mar 2025 15:21:10 +0000
Received: by outflank-mailman (input) for mailman id 922518;
 Thu, 20 Mar 2025 15:21: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvHhl-0000Nz-HA
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:21:09 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2bcf8e2-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:21:08 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-ac297cbe017so369632166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:21:08 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3149cffdasm1165959566b.117.2025.03.20.08.21.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:21: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: f2bcf8e2-059e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484068; x=1743088868; 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=7X0qYtTtABHw8MowEHTXklbqdS7We/e+J6NalhnMJv0=;
        b=PDaQtjqz5qJodDcp/jIVe3iz3mHSianQbMvgaFK4Sm00iSJ325Ohf1R9aOnXEaYjVq
         Q+mblCODNqY27Qxg6ogA77ABBVFixThFbJghGWZ2GsasxG13RfrVUaSsyP1Wldwy9/ZD
         +9a4Brt08Mn0v/ohzFmTw+dxiCByaJbaLVvqg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484068; x=1743088868;
        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=7X0qYtTtABHw8MowEHTXklbqdS7We/e+J6NalhnMJv0=;
        b=r6M1IsLjxrwSLrj1DjyoI+NFHFh/oFUe6JhnCF5E5Jb1iDohXoa2N9WDNQvA5xSvOU
         r8tNnJF+2YggKGPOgsY/HR+zTKqJeZ4oaOcF1fnyw1mfElg1A4KlmPKmYACgqoN/ZkBx
         j4WMzhsb7jA31Cekfq2WcWR5Q0a7xV2b+5LfLC3jWOYadES6n6bQ/WLQW/7OqC0zTegh
         Qsi9xiF+EcHE5q7ZYPO0Pi6M9fPAftdM5JzV/8CoDVtuAbPVRV5ieZ+b2LKLhhACuEyL
         kEIWT1ezJGEpwve5kD8PD1XvFL7WWRMHMLLWL3fhTd+TTJtRqtsqPf7xmEYCVFHgwb4k
         4eBA==
X-Gm-Message-State: AOJu0YxAULraQ2XLoP75gQJJVqwNJo4M6JgFRJkmuQHeeUDAG2uEJ9o7
	77ZL71L+rFjrohNiLS6PBb8IDzItbAVdgIk5WA36pAoJytw4xGF7P9iqnfaW4i7szDAC5mOZ9Mn
	N
X-Gm-Gg: ASbGncuqmwvb5aV2AyEB0/sr8XuENj8Fr3MHMy+LswSV/RLPjwQvzRT/To/ZQ9wmjRC
	lK/SJs2NAW8hcrcm42gq+Z3mWQAB4/wc0V2w9Wc+UUrG83PqMzTOS7NH7D0qMJUE5NTiBM0zoI6
	qrt0QXjJSabVdJ4moIPKWy/R6/+1ZHhVahqYA4bSGrvQZp5jxxyjZQsaTxe1nVJmXuJ3i5uCJIe
	P4EPQMhIEROXnc9PghXrX+VZhBl7MGBAvpAsUKmG9M3T0oZnD8tIkYw8GdwzFVm3ZjvZgiVGZ1F
	boJJcu4R1VAu9fFSl3zWqiN20G75mt/vsYalSizPmcgjFoaFbg==
X-Google-Smtp-Source: AGHT+IHzn2bikDVGhfevnafbAr5Ufv4v8b2QvTd8dhMPyFkjAo5/pNTccKeQUlhbWBc8FLEza3g6Wg==
X-Received: by 2002:a17:907:6d21:b0:ac2:32a:ee2f with SMTP id a640c23a62f3a-ac3cdf883e6mr317505366b.17.1742484067519;
        Thu, 20 Mar 2025 08:21:07 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 v2 1/4] automation/cirrus-ci: use matrix keyword to generate per-version build tasks
Date: Thu, 20 Mar 2025 16:20:17 +0100
Message-ID: <20250320152020.88526-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250320152020.88526-1-roger.pau@citrix.com>
References: <20250320152020.88526-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Move the current logic to use the matrix keyword to generate a task for
each version of FreeBSD we want to build Xen on.  The matrix keyword
however cannot be used in YAML aliases, so it needs to be explicitly used
inside of each task, which creates a bit of duplication.  At least abstract
the FreeBSD minor version numbers to avoid repetition of image names.

Note that the full build uses matrix over an env variable instead of using
it directly in image_family.  This is so that the alias can also be set
based on the FreeBSD version, in preparation for adding further tasks that
will depend on the full build having finished.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
Changes since v1:
 - Use FreeBSD_{LEGACY,PRODUCTION,CURRENT} to refer to development release,
   current release, and current release - 1.
---
 .cirrus.yml | 78 +++++++++++++++++++++++++----------------------------
 1 file changed, 37 insertions(+), 41 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 490f214f0460..95d2d2d3db2e 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,13 +1,9 @@
 # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
-freebsd_13: &FREEBSD_13
-  freebsd_instance:
-    image_family: freebsd-13-5
-freebsd_14: &FREEBSD_14
-  freebsd_instance:
-    image_family: freebsd-14-2
-freebsd_15: &FREEBSD_15
-  freebsd_instance:
-    image_family: freebsd-15-0-snap
+freebsd_versions: &FREEBSD_VERSIONS
+  env:
+    FREEBSD_LEGACY:     freebsd-13-5
+    FREEBSD_PRODUCTION: freebsd-14-2
+    FREEBSD_CURRENT:    freebsd-15-0-snap
 
 freebsd_template: &FREEBSD_ENV
   environment:
@@ -24,7 +20,24 @@ freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
       path: xen-config
       type: text/plain
 
-freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
+task:
+  name: 'FreeBSD: full build'
+
+  # It's not possible to use the matrix keyword in YAML aliases, as they
+  # keyword usage is restricted to task, docker_builder or pipe.  Attempting to
+  # use a YAML alias with the duplicated keys doesn't work either. Use an env
+  # variable so the version can also be appended to the task alias.
+  << : *FREEBSD_VERSIONS
+  env:
+    matrix:
+      FREEBSD_VERSION: $FREEBSD_LEGACY
+      FREEBSD_VERSION: $FREEBSD_PRODUCTION
+      FREEBSD_VERSION: $FREEBSD_CURRENT
+
+  alias: freebsd_full_$FREEBSD_VERSION
+  freebsd_instance:
+    image_family: $FREEBSD_VERSION
+
   << : *FREEBSD_ENV
 
   install_script: pkg install -y seabios gmake ninja bash
@@ -42,7 +55,20 @@ freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
   build_script:
     - gmake -j`sysctl -n hw.ncpu` clang=y
 
-freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
+task:
+  name: 'FreeBSD: randconfig build'
+
+  # It's not possible to use the matrix keyword in YAML aliases, as they
+  # keyword usage is restricted to task, docker_builder or pipe.  Attempting to
+  # use a YAML alias with the duplicated `image_family` keys doesn't work
+  # either. Abstract the version numbers at least.
+  << : *FREEBSD_VERSIONS
+  freebsd_instance:
+    matrix:
+      image_family: $FREEBSD_LEGACY
+      image_family: $FREEBSD_PRODUCTION
+      image_family: $FREEBSD_CURRENT
+
   << : *FREEBSD_ENV
 
   install_script: pkg install -y gmake python3 bison
@@ -56,33 +82,3 @@ freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
 
   build_script:
     - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
-
-task:
-  name: 'FreeBSD 13: full build'
-  << : *FREEBSD_13
-  << : *FREEBSD_FULL_BUILD_TEMPLATE
-
-task:
-  name: 'FreeBSD 14: full build'
-  << : *FREEBSD_14
-  << : *FREEBSD_FULL_BUILD_TEMPLATE
-
-task:
-  name: 'FreeBSD 15: full build'
-  << : *FREEBSD_15
-  << : *FREEBSD_FULL_BUILD_TEMPLATE
-
-task:
-  name: 'FreeBSD 13: randconfig'
-  << : *FREEBSD_13
-  << : *FREEBSD_RANDCONFIG_TEMPLATE
-
-task:
-  name: 'FreeBSD 14: randconfig'
-  << : *FREEBSD_14
-  << : *FREEBSD_RANDCONFIG_TEMPLATE
-
-task:
-  name: 'FreeBSD 15: randconfig'
-  << : *FREEBSD_15
-  << : *FREEBSD_RANDCONFIG_TEMPLATE
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:21:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:21:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922520.1326447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHho-0001Bs-NC; Thu, 20 Mar 2025 15:21:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922520.1326447; Thu, 20 Mar 2025 15:21: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 1tvHho-0001BZ-J6; Thu, 20 Mar 2025 15:21:12 +0000
Received: by outflank-mailman (input) for mailman id 922520;
 Thu, 20 Mar 2025 15:21: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvHhn-0000Nz-DC
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:21:11 +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 f425247a-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:21:10 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e5c9662131so1377960a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:21:10 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3dd25105csm100781566b.168.2025.03.20.08.21.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:21: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: f425247a-059e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484070; x=1743088870; 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=W13Eu/suZTu92BTXvCV4kWp1HlyXFt94bf9zYXo3zgc=;
        b=jE/ljVnA3nN8juACa25gjNqK8FCowa4pe3xgQuJYQE7KakdvPNAQggcTlcZO5zJR+D
         KoEIZc3/2Fr6TdsABR84PqBEATg0FjEbewZxQUHCURFfauCRG05V9V98xxLQ295e+sgx
         rzjCzHxP1xHyuy8nKe7qMEOdOc1/DNF/JbEe8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484070; x=1743088870;
        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=W13Eu/suZTu92BTXvCV4kWp1HlyXFt94bf9zYXo3zgc=;
        b=nOm7iVWYJpmumxe/mnQknTGtAFTyzh5RC56AHp4PQhEx6/2VaFb+GdrnZhWi5X/aYj
         JENRC0lYHudevU3vVBBbJm4LoCSPf4cXwpNUAlFK5XEnmwHtvLhIICmuAyHxUO4DwAkI
         HKTcN3cpyZmFKd460XmHJJAeXU/Hsc48W3qHIna99oLV0hglnxrjQlrJE+nb+Y4nC1ez
         aYQDUh6IU1Joo/jYa/0USzvX+AaAbF1cuiiQFXwnbfO1+TL/JADArWIyDd+ICr7VUAjC
         c/0IOuZLGkq/4wf+kxMlGfaczkxul+C5roBGinNq0NOw3Pj2aA2BIgeVqPt9AEldleYr
         nOOg==
X-Gm-Message-State: AOJu0YwAP0mmL7ehQJzyxGJ5Olg1bFs9syDo7PT48a4d9fzGrM/HUDI2
	t+gM3ZM6bYIMo+NZPyI47CLFyT/TDaqoLoWfV2YQWi8M1eeN3AabPsRLn0zaO6oSXUFzP5IMAYF
	2
X-Gm-Gg: ASbGnctaZphQ50nItmykzQwh6zRYad+1hKUlfxV9AyKyqCWJV7FkFy+2SAs6OPcTq/F
	pDyd7IKOoI7ZmZMh1zBMMac+l9EWUT9SzuoHJjN/qmBMeR4RGkw2XYIH822iqnIBX6BEuDJRyN+
	O5SwNhIUv8fYSBHlWW5p4uhUu4tT/vFd7cIyOpyQxRQtuTxsaxo7ccnPrned3OmJHun8JH+woFi
	9/RIuXsZY2FSsQy34kCMOo4t8TLjPQT05iw6qhg56RohX56WlGdv3F0PduQffUeJI7rY5MljP76
	YSyuDFxKTRq7H1DTsKSrqu1TJePRduNFPKNST9oq/+OxNaS7TA==
X-Google-Smtp-Source: AGHT+IGAWyxXHu6ApYE8Nf2Bh84J5CmQhruf0h1VrE+KueULJp/0Jbe9YNfMAT8zbmJLlufLuvpiEQ==
X-Received: by 2002:a17:907:7e5d:b0:ac3:8d36:ead3 with SMTP id a640c23a62f3a-ac3cdf8cac7mr481587866b.12.1742484069971;
        Thu, 20 Mar 2025 08:21:09 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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 v2 3/4] automation/cirrus-ci: store XTF and Xen build artifacts
Date: Thu, 20 Mar 2025 16:20:19 +0100
Message-ID: <20250320152020.88526-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250320152020.88526-1-roger.pau@citrix.com>
References: <20250320152020.88526-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In preparation for adding some smoke tests that will consume those outputs.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
 .cirrus.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index a6e4a5d0308b..38b654f75cf2 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -61,6 +61,14 @@ task:
   build_script:
     - gmake -j`sysctl -n hw.ncpu` clang=y
 
+  xen_artifacts:
+    path: xen/xen
+    type: application/octet-stream
+
+  debug_artifacts:
+    path: xen/xen-syms
+    type: application/octet-stream
+
 task:
   name: 'FreeBSD: randconfig build'
 
@@ -106,3 +114,7 @@ task:
     - cc --version
     - git rev-parse HEAD
     - gmake -j`sysctl -n hw.ncpu` LLVM=y
+
+  xtf_artifacts:
+    path: xtf/tests/selftest/test-*-selftest
+    type: application/octet-stream
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:21:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922521.1326452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHhp-0001JS-8T; Thu, 20 Mar 2025 15:21:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922521.1326452; Thu, 20 Mar 2025 15:21: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 1tvHhp-0001IJ-3f; Thu, 20 Mar 2025 15:21:13 +0000
Received: by outflank-mailman (input) for mailman id 922521;
 Thu, 20 Mar 2025 15:21: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvHho-0000Nz-KN
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:21:12 +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 f4de47d7-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:21:12 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-aaecf50578eso184836066b.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:21:12 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3147ead1dsm1185699066b.58.2025.03.20.08.21.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:21: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: f4de47d7-059e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484071; x=1743088871; 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=DteqfBrt8ivCseyWNFP70Yd0GJfa9Emhwy9r9Go1/ls=;
        b=GWJvxnAXd94rjFda5IPlAr/xmjJ1e/auf1g508Tu9kc6M3+GzW6cxfZjJ7qIf8S6In
         AfQWlwM2ceKHPkQn5AMTNMP0QTDx05mzqIqCHuPUNpPa49kzBZAp1i/x1yBECotivgSA
         zEkoIfQULYij1ceHavIv5BB7bgbsLfyWE4VT0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484071; x=1743088871;
        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=DteqfBrt8ivCseyWNFP70Yd0GJfa9Emhwy9r9Go1/ls=;
        b=nISmIel1LsrgZWMwF2ZMeo0xUCV+S10kcrHBj6IIZuF10VCtlMX1pTuX+DyyvYFuip
         P8YXXZWPaHtcqxc5js7vPfym+y7xqzFH8xyXjPqMOuiwXnFhpz2GxqTTAa1miVy4mGRt
         h7XtglHmR+vTb5DGN3mjWj045JlKVw56302XmYwhsSBlMpAs/2m4dtDS0/hEVjSvpC0R
         UBOsd8ruZ8UnzodgseMUNySTnLFehejaBbbCjDQMZSdUX6czim5Q7uYUpqYMekSDyZil
         IbwTv/cFXOiVGK2+8EP6VMuH3o8NHkR0zuvktd5OrckgO0M26bYcNd91/SkpO/BUSQ+B
         TECA==
X-Gm-Message-State: AOJu0YwQmvsK1kVw4KuZU3oLReincqSkYuwgwqHDjxQCL0PHbZjCEdOI
	SjGIeeKrydAgGYWZPo/1dtgrWlTSmPDQkJIUhnehQQ6bzrMFQ2viIcPnkT5FnApsoD6Kp/nv85d
	t
X-Gm-Gg: ASbGnctuS+etGj4AAuVY8htYt2o/wcLxgdO84cbBMEA5l0pTm9+ObFCmNW8pcRFHAvj
	pHg8HTlnMlhhC3AOa2lwvWCZKCJqy3axaYGCBjYQW9+LdniOm3shDBIoNh5ET1JQ6p4POQiQ3u4
	GscXYQ5T4k4EDWoI3M52i7L7z68xNHc+XdTIryauNfBVdewNVlE0BaH0N1JH9EwJHs/hcEjj3f+
	TLionk7NTfcwnCmT+qe+1+oJwiFyhSEtJAP8gIzMguKerC0pfhL2WxkO3BLgnSYN1S3pJ5cFXlB
	DYWkXBursw/4zIG1qe9eZLUxegcBX0xN6sSPYY/EjI3zCD9jHTt2S77eXyNK
X-Google-Smtp-Source: AGHT+IGRKDORZhS6/H/AYq5vzH+TfYxC5Vfvja+KQ1AUZeS3JVh1jUWDbua6qg/f/qUTH6aEu74s6g==
X-Received: by 2002:a17:907:bb4b:b0:ac2:1c64:b0a with SMTP id a640c23a62f3a-ac3b7d7f6bfmr787450766b.14.1742484071187;
        Thu, 20 Mar 2025 08:21:11 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 4/4] automation/cirrus-ci: add smoke tests for the FreeBSD builds
Date: Thu, 20 Mar 2025 16:20:20 +0100
Message-ID: <20250320152020.88526-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250320152020.88526-1-roger.pau@citrix.com>
References: <20250320152020.88526-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a basic set of smoke tests using the XTF selftest image, and run
them on QEMU.  Use the matrix keyword to create a different task for each
XTF flavor on each FreeBSD build.

Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
---
Changes since v1:
 - Use production version of FreeBSD to run tests.
---
 .cirrus.yml  | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 CHANGELOG.md |  1 +
 2 files changed, 55 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index 38b654f75cf2..3163ab8f11d8 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -5,6 +5,8 @@ freebsd_versions: &FREEBSD_VERSIONS
     FREEBSD_PRODUCTION: freebsd-14-2
     FREEBSD_CURRENT:    freebsd-15-0-snap
 
+# Build jobs
+
 freebsd_template: &FREEBSD_ENV
   environment:
     APPEND_LIB: /usr/local/lib
@@ -118,3 +120,55 @@ task:
   xtf_artifacts:
     path: xtf/tests/selftest/test-*-selftest
     type: application/octet-stream
+
+# Test jobs
+
+task:
+  name: 'FreeBSD: XTF selftest'
+
+  << : *FREEBSD_ENV_PRODUCTION
+
+  env:
+    matrix:
+      FREEBSD_BUILD: $FREEBSD_LEGACY
+      FREEBSD_BUILD: $FREEBSD_PRODUCTION
+      FREEBSD_BUILD: $FREEBSD_CURRENT
+
+  depends_on:
+    - freebsd_full_$FREEBSD_BUILD
+    - xtf
+
+  install_script: pkg install -y qemu-nox11 expect
+
+  env:
+    matrix:
+      XTF_ARCH: hvm32
+      XTF_ARCH: hvm32pae
+      XTF_ARCH: hvm32pse
+      XTF_ARCH: hvm64
+      XTF_ARCH: pv64
+
+  fetch_script:
+    - fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/xtf/xtf.zip
+    - fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/freebsd_full_$FREEBSD_BUILD/xen.zip
+    - unzip xtf.zip
+    - unzip xen.zip
+
+  test_script: |
+    case "$XTF_ARCH" in \
+      *hvm*) \
+        XEN_EXTRA_CMD="dom0=pvh dom0-iommu=none" \
+        ;; \
+    esac
+    export TEST_CMD="qemu-system-x86_64 -kernel xen/xen -initrd xtf/tests/selftest/test-${XTF_ARCH}-selftest \
+                                        -append \"loglvl=all console=com1 noreboot console_timestamps=boot dom0=verbose ${XEN_EXTRA_CMD}\" \
+                                        -m 512 -nographic -monitor none -serial stdio"
+    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\+$//'
+
+  always:
+    serial_artifacts:
+      path: serial-*.txt
+      type: text/plain
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a5919585d43..35ab6749241c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - Resizable BARs is supported for PVH dom0.
    - Support PCI passthrough for HVM domUs when dom0 is PVH (note SR-IOV
      capability usage is not yet supported on PVH dom0).
+   - Smoke tests for the FreeBSD Xen builds in Cirrus CI.
 
 ### Removed
 
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:21:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:21:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922532.1326467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHhy-00025U-IP; Thu, 20 Mar 2025 15:21:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922532.1326467; Thu, 20 Mar 2025 15: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 1tvHhy-00025H-Ea; Thu, 20 Mar 2025 15:21:22 +0000
Received: by outflank-mailman (input) for mailman id 922532;
 Thu, 20 Mar 2025 15:21: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvHhx-0000Nz-AI
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:21:21 +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 f9d6f91a-059e-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:21:20 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-399744f74e9so619332f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:21: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-395c7df342fsm24414426f8f.14.2025.03.20.08.21.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:21: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: f9d6f91a-059e-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742484080; x=1743088880; 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=fCI1hSJpnFoSWY3/6MzrzdH1KYNb24qvpJhqnNd2RyI=;
        b=SlHZ++r/qjI7qmCvtSB6wOce0GN1ou6mZrSXlwzFhAvjW5KWUNnphUMSRkIGNXdosQ
         GWHuY8Kb+40IwH/FY1YO5JtEXfLVdoUoF+rA59N91vSyNWELs+iMiCsjJiiDhlFZQNFa
         Tj9aRk0KbPkoCJgNdkQYElldf5t+4yRXm6V54p0GKgIrykT7r7NaM2CrCTzTGM6DcjFp
         pmPL8ZsPjuotStYpuvVRofdadJxNCDzDiKePMJvHFp9xN3DXVPoqqe1056Y08tp0uAm3
         EOKhbf1b9Iq+nkN8IvJBINkP7YoJ9l1EABZ/sxFpd0kAOXngMdunsdUeaY1+U/25zfYW
         QGcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484080; x=1743088880;
        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=fCI1hSJpnFoSWY3/6MzrzdH1KYNb24qvpJhqnNd2RyI=;
        b=wQ0/5AWAhxMZQ/WQvS+y0tdWLW0xqdtpVm1fAX0Dbw7Fl2PvNkoFFck7rC97aJeDfM
         Et4Q0Lf9lXpefPgENsd2icMJX4BqRWd0M+0wAwNj4FHMon77H3oA756k35e9/COy8cnS
         Y+E8BrUf0ek5pVg72AJh4iZY0q89ShCukjkAbmYc6b+SQB/qNim7EeJDRJv6LG0ibq4Z
         X8+XjomWK3FNvbL8IY5sfuJYjS8prueqAEj5HO2MGBYHXoefHvIGu5CFMCKeoxaZZUJf
         StzZFqNS4Ghrmg8DY3a6TtCRVPovwsiRLQMa21HDXpTew6j6C6eKIYHXKSVljn29w90Q
         cFtA==
X-Forwarded-Encrypted: i=1; AJvYcCXc4rtsni0x/+ksomGHVQMiiSFw90Y6hk4KdKkTFdWS/iJtaWyJXGPQ5hFPM2lQe4RmwUqg/pHBJLM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7qPzpL21bJl+yrfYoQnklR/tjRzh9seIgz6tkEh5IiUvKXo1e
	gHXFyIIfisZ48vHUx98hKWX3L7yhqRiXWkLbLxHHQabF6FG8vsPW1tYQSpG0wg==
X-Gm-Gg: ASbGncvYHFpzRSpmyoQIgoJbobtSzEsI6Q6GBzz/Wup/AoP5/vVnclTYZKc95giHe5m
	T6O/1ciRQVObPzCwFZMByUdijszQPk202t7/zCoU8qBwQ+CK4YM+0wRip+oiLN65NnZIeB908PC
	yNddlDWsiJ9z1wuUFyupxpzS/vuMO5o9UBYwkdYZ3kXtcBGJ5mTpZFaaaQEEy21kPIinnUxmms6
	e32ltAQPOFxzfmz6QREZLIvHUw36CxTaF4vy4A3S107EIBCesH5rq4NjgEoGorzNi+f1AT5mY8z
	g5kY8aBKlmtrOa0c0YhYBONpuJRfbanW5CYOJmu5hR48qGYNGqaVaQ1fsKYWaw91mRGz0kXvXMb
	1K9EBtn5cL8UdO4N59ur4e2hlSuuLhg==
X-Google-Smtp-Source: AGHT+IGckLB5aeuOSv0+9ih7iqbIJaNm8h0q7DWssRETyk5v7w4famneI73ryemoOB2BUBcgcR5jCA==
X-Received: by 2002:a05:6000:2cd:b0:391:2fe3:24ec with SMTP id ffacd0b85a97d-399739bc8c0mr7687739f8f.14.1742484079804;
        Thu, 20 Mar 2025 08:21:19 -0700 (PDT)
Message-ID: <7698a70a-db0a-4d5d-b5ad-8c0636bc5a33@suse.com>
Date: Thu, 20 Mar 2025 16:21:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD <anthony.perard@vates.tech>
Cc: =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 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: <017d5c41-d4ea-4d91-b6ec-b4660e7325ae@suse.com>
 <e112ecca-b891-4c23-ace1-8128e586cb94@suse.com> <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com> <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14> <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com> <Z9wfKB0vdngn3xXX@mail-itl>
 <Z9wnzRbwb3HQaSMu@l14> <Z9wxcYapF5eno29b@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: <Z9wxcYapF5eno29b@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 16:17, Marek Marczykowski-GĂłrecki wrote:
> On Thu, Mar 20, 2025 at 02:35:59PM +0000, Anthony PERARD wrote:
>> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
>>>> On 20.03.2025 13:51, Marek Marczykowski-GĂłrecki wrote:
>>>>> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
>>>>>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>>>>> There are clearly some build path embedding left. And
>>>>>>> -ffile-prefix-map=/-fdebug-prefix-map= doesn't work correctly with
>>>>>>> XEN_ROOT having xen/.. at the end.
>>>>>>> BTW, would it be acceptable to have this?
>>>>>>>
>>>>>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=$(realpath $(XEN_ROOT))=.)
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fine
>>>>>> in "tools/"). In "xen/", there's a few variables you can use if they are
>>>>>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctree)
>>>>>> $(objtree) for relative path. That also should avoid the need to use
>>>>>> $(realpath ).
>>>>>
>>>>> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it to
>>>>> not have /.. for prefix-map to work correctly. Would it be better to use
>>>>> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
>>>>> have paths in debug symbols relative to hypervisor source dir, instead
>>>>> of xen repo root? I'm not sure if that wouldn't confuse some tools...
>>>>
>>>> abs_srctree being computed using realpath, can't we replace
>>>>
>>>> export XEN_ROOT := $(abs_srctree)/..
>>>>
>>>> by something as simpl{e,istic} as
>>>>
>>>> export XEN_ROOT := $(patsubst %/xen,%,$(abs_srctree))
>>>>
>>>> ?
>>>
>>> That works too. It's slightly less robust, but I don't expect "xen"
>>> directory to be renamed, so shouldn't be an issue. I'll leave also a
>>> comment there why not /.. .
>>
>> I don't think $(XEN_ROOT) is present in the binaries produce by the
>> hypervisor's build system. There's only a few use if that variable: to
>> load some makefile, to execute makefile that build xsm policy and to
>> generate cpuid-autogen.h. Otherwise I don't think the compile have this
>> path in the command line. What is going to be in the binary is
>> $(abs_srctree), which you can replace by "./xen" if you want; which mean
>> it doesn't matter if the directory is renamed or not. You might want to
>> also take care of $(abs_objtree) which seems to also be in `xen-syms`
>> when doing out-of-tree build.
> 
> So, you suggest to do -fdebug-prefix-map=$(abs_srctree)=./xen ? That
> appears to work for in-tree builds too.

And why ./xen (question to Anthony)? Just . is quite fine, isn't it?

> But now I actually tested how it looks with out-of-tree builds, and
> indeed $(abs_objtree) is embedded there too. Adding
> -fdebug-prefix-map=$(abs_objtree)=./xen appears to help for this. But,
> -fdebug-prefix-map doesn't help with abs_srctree in out-of-tree builds
> for some reason. -ffile-prefix-map does. And so does -fdebug-prefix-map
> + -fmacro-prefix-map. Is there any preference which one to use? It
> appears as -fmacro-prefix-map and -ffile-prefix-map have the same
> availability in both GCC (8) and Clang (10).

Then the simpler -ffile-prefix-map is better, imo. Question then is
whether any of the options is actually needed at all for in-tree builds.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:23:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922565.1326477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHja-0004lY-Uz; Thu, 20 Mar 2025 15:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922565.1326477; Thu, 20 Mar 2025 15:23: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 1tvHja-0004lR-SA; Thu, 20 Mar 2025 15:23:02 +0000
Received: by outflank-mailman (input) for mailman id 922565;
 Thu, 20 Mar 2025 15:23: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvHjZ-0004l2-SN
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:23:01 +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 35235944-059f-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:23:00 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so799394f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:22: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-395cb318aa1sm24711479f8f.64.2025.03.20.08.22.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:22: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: 35235944-059f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742484179; x=1743088979; 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=154VnlxEwZgYv8st94G79Wk8LmABjFToy/SwfuzOL6g=;
        b=ArLERxA1IjmhgTQi8yf2nSmV4+u+WseEIwBrTWfL/dNL+odh8+pbpGs+qBhMXohJq/
         Etb9WHl6jfnijvgM8XaKzl+c78sR+8euvMnhmseKPwNBlz9VeNpR/qtvycWPSLTSJ7aj
         I3AoyvnPN7jzOxxFCYNz0RTaNPCDVXd7AgQmTPUaYd6qu5qEAAF6piu9MPuAMiGCcCgH
         0XobyozxrvrWf7WwSdl2HNwZDxMMLyyF/Q4sIuRAdsH2DqqgRmZ+pS4NP/8To4+uyNUK
         I61NOcKVzcWAawOfB8ox0TiZVOy3TkdY/+BkNN5juvGx5N3/yhgk1cSkoDqGZRApir4K
         rtNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484179; x=1743088979;
        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=154VnlxEwZgYv8st94G79Wk8LmABjFToy/SwfuzOL6g=;
        b=byhFlqL2sZBWLWV5ZGcKFzgnjMITP0zVET5bGy+CMug/j/MHHjjZQ6uv7OQIjLDLyA
         5E27BGqhhJSq+YHHQ2Uqg34tG+HvMvoiM+aG1TOg9xiK0LPu3g5QykBBKToiVngxZGA/
         69raKyYB1VRvvqshHYZ1v//G+6gD5n8r9uXKuO9H34M0lg/sIgx+xeC0uZ4vYj+KPPE9
         IYtL6PsFMCVFcnZCyOU3c5vbGHnML8TVkQkalQu9QUPC5fx1KA825eaqjYI7xzTBxWNQ
         UvQZY53yKNgf/wHsIzRR+PUXYqDJSQRPjIvvgy2cXBXK6QX1Ft5f9vQG73175XAEW53g
         B4tg==
X-Gm-Message-State: AOJu0YzWYirNjgIUsEeK7VBKg5bTSj8p7VwP8YSx/1y8eK1q7aM8psjH
	Xdok1ozzFGiZxnzNQUjIjGyl46dtCG9YglMtnuYwqYJa4m0u63aCn3IgxLGVqg==
X-Gm-Gg: ASbGncu4eIsXRDRWrFYJNo4bpNgOpM1wO/N3xM8bvLoDmJvuvPO898E8Iq/3CDrTB9N
	DbjcqKVa0G1R/il+Py5RGu1IymRUcP99LSvgb4eCM6YeGHjK7dJynyLFPcT3R3QvIwzmCevt5qU
	kFL0XzVcA0fq/lcjRo3jZfbv7yiYphmJEVxcZQKD0HcsCf7827bLViiHAfpECWcmVWb/myuhHXQ
	Kp4iZazMSLeTopVdT1Mo/5oOLy/TLeW9wtNyOBZKzE3VDIydfYVwRyMmljhodaYzgnHURrxsQTe
	3YB3Kx1KbwoRQ4PqvD5hKi+vJNgdljMjE/zM1xU0Ty8HYrO8/lA2Wv48jNpuxcuruC7p4cAbArr
	26pu7D4gbS2+IN3QdjdK/pdaPrj2veg==
X-Google-Smtp-Source: AGHT+IE7w+DSMf9PKOZ488gqzQklsMs/7e9PeHd7mW4gHsqx5+Ffq6RD+7xrhl7hqi4Ggh/ihn/yjw==
X-Received: by 2002:a05:6000:1446:b0:390:ebae:6c18 with SMTP id ffacd0b85a97d-399795a8d30mr2678708f8f.12.1742484178852;
        Thu, 20 Mar 2025 08:22:58 -0700 (PDT)
Message-ID: <7a319cbb-d19c-44f2-b407-e173d575ba8b@suse.com>
Date: Thu, 20 Mar 2025 16:22:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] x86: make Viridian support optional
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Sergiy Kibrik <sergiy_kibrik@epam.com>
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
 <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
 <93e98ebb-4679-4c34-a5af-f105e89c7304@epam.com>
 <D8L6ZRL4CIUK.FGKVDP8TJAGU@cloud.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: <D8L6ZRL4CIUK.FGKVDP8TJAGU@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 16:18, Alejandro Vallejo wrote:
> On Thu Mar 20, 2025 at 9:39 AM GMT, Sergiy Kibrik wrote:
>> hi Alejandro,
>>
>> 17.03.25 11:19, Alejandro Vallejo:
>> [..]
>>>      Â endif
>>>
>>>     +config HVM_VIRIDIAN
>>>     +Â  Â  Â  Â bool "Viridian enlightenments support" if EXPERT
>>>     +Â  Â  Â  Â depends on HVM
>>>     +Â  Â  Â  Â default y
>>>     +
>>>
>>>
>>>
>>> I don't see why this should be gated by EXPERT, provided a
>>> suitable (now absent) help message was to exist explaining
>>> what it does in plain simple words.
>>
>> The option is intended primarily for fine-tuned systems optimized for 
>> particular platform and mode of operation. As for generic systems (e.g. 
>> distributions) whey wouldn't want to disable it anyway.
> 
> 
> 
>>>
>>> For the title, I'd say it needs to properly state it refers to
>>> enlightenments for guests, rather than enlightenments for
>>> Xen itself when running under Hyper-V. As it is, it sounds
>>> ambiguous (Maybe "Hyper-V enlighnments for guests"?).
>>>
>>
>> Agree, "Hyper-V enlighnments for guests" is better title.
>> As for help message, would the one below be sufficient?:
>>
>>   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.
>>
>>     If unsure, say Y.
> 
> Sounds good enough to me.
> 
>>
>>
>>> On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
>>> rather redundant, and I think just VIRIDIAN works just as well
>>> while being shorter.
>>>
>>
>> this is rather to highlight the fact that the code is part of HVM 
>> support, a bit of self-documenting
>>
>> [..]
> 
> That's fair enough.
> 
>>>     diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h
>>>     b/xen/arch/x86/include/asm/hvm/vcpu.h
>>>     index 196fed6d5d..bac35ec47a 100644
>>>     --- a/xen/arch/x86/include/asm/hvm/vcpu.h
>>>     +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
>>>     @@ -171,8 +171,9 @@ struct hvm_vcpu {
>>>
>>>      Â  Â  Â /* Pending hw/sw interrupt (.vector = -1 means nothing
>>>     pending). */
>>>      Â  Â  Â struct x86_eventÂ  Â  Â inject_event;
>>>     -
>>>     +#ifdef CONFIG_HVM_VIRIDIAN
>>>      Â  Â  Â struct viridian_vcpu *viridian;
>>>     +#endif
>>>      Â };
>>>
>>>      Â #endif /* __ASM_X86_HVM_VCPU_H__ */
>>>
>>>
>>> nit: I suspect the code would be far less cluttered with "if 
>>> viridian..." if the
>>> init/deinit/etc functions had dummy versions of those functions when
>>> !HVM_VIRIDIAN in the header.
>>>
>>
>> as Jan explained some time ago [1] it's preferable to compile as much as 
>> possible in all build configuration. Besides most of calls to viridian 
>> code are already guarded by is_viridian_domain() & not actually require 
>> stubs.
>>
>>   -Sergiy
>>
>> [1] 
>> https://lore.kernel.org/xen-devel/36708a3f-2664-4b04-9f5d-f115d362d100@suse.com/
> 
> That answer seems to state a preference for...
> 
>     if ( foo_enabled() )
>         rc = foo();
> 
> ... against...
> 
>     #ifdef CONFIG_FOO
>     rc = foo();
>     #endif
> 
> ... where foo() in the header looks like...
> 
>     #ifdef CONFIG_FOO
>     int foo(void);
>     #else /* CONFIG_FOO */
>     static inline int foo(void)
>     {
>         return /*some-error*/;
>     }
>     #endif /* CONFIG_FOO */
> 
> But that's not what's going on here, I think? I didn't initially notice the
> subtlety of the change. On more careful look, it seems to rely on the compiler
> doing dead-code-elimination. The functions missing in the linking stage don't
> cause a compile-time error because the conditionals are completely gone by
> then. Neat as it is, it sounds a bit fragile. Can we really rely on this
> behaviour not changing? Furthermore, does MISRA have views about having dead
> code calls to unimplemented functions?

We use DCE like this in many places, so we already rely on this behavior not
changing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:25:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922584.1326487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHlx-0005SE-AP; Thu, 20 Mar 2025 15:25:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922584.1326487; Thu, 20 Mar 2025 15:25: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 1tvHlx-0005S7-7m; Thu, 20 Mar 2025 15:25:29 +0000
Received: by outflank-mailman (input) for mailman id 922584;
 Thu, 20 Mar 2025 15:25: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvHlv-0005S1-Rv
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:25:27 +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 8cb1cb66-059f-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:25:26 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cfa7e7f54so6035355e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:25: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-395c7df35ecsm24338997f8f.16.2025.03.20.08.25.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:25: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: 8cb1cb66-059f-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742484326; x=1743089126; 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=gEUbKZB/JD85H27F5br8Xv/lLIyta+vqe3JK1ggtQdE=;
        b=N0YvjIz7TYbjrpxMR4GH78BjuBYySRilmvag4GqSGxDnEqCJ+dd4oK9lswggkOkChe
         yZdiNWZZK5fx3IaVpVBM2v/YTUnwwYxLqy1odyiK887Xn9BJXXDWPnyoE8poVHU2nwSB
         85Yb1Oo0xwclTWaqlXWlhaEn7+HJwB4o1nLcR9moeZGXYAy9pKhNhzHjLbSZ4n6egBjz
         nWdQXX+s/SGjqGoqySk/URObTOl1rzIYjFa6BH2QBU+xdQc4IHWo6h4826dQD1pUtdbz
         j/Re8mSnLs521R+aon/V+Kr9ds3DisSLsp//TsBDYPJjt6XO0OcdF0infc05d7NF3F2y
         /j7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484326; x=1743089126;
        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=gEUbKZB/JD85H27F5br8Xv/lLIyta+vqe3JK1ggtQdE=;
        b=BD8O01qs48wx/e93yfFq+xclrtJkMCQ0FKE9HKOWfP5IAJSEJykmd3a9S9GRB8mjBF
         fFIJt5AeJ6y/ZmT1BPtpcx+V2n90Pc9L4eobfJ0GkzXEOttsD93Sp/bEzllg56xJZft4
         TYX2GNwxXFSIx5rSQtFjz5FymHWenOQzEI8BtCv1a+Hc4QBUAFFVzWl27q3saY4mbRWi
         1mx8WiTMuRVvE71LfBefn3L+XRd7A/93DUyhGd3tvGJmqZaYPnqq5S/VeXLmeplLtRSc
         8l647hnjXDrMoA0cm4SEXF7GpgTbJQdxtJ0iKttCqlCtsuIbPniCIXTVr/vKJmBp5KS0
         xVAg==
X-Forwarded-Encrypted: i=1; AJvYcCXcNuaI2L/MhRhG/1aeRdlO9JDXkAMrwvRy9/YhXVbBhHWnLukLlU2nNhc1LXvPh8B0MpePzkV4ZEE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxGoHIKfFv0lYWC0TtZ1ev/5OroN02n0mODoj1BwcVJ9ZYVOMG
	+u3p2mdhnyhKoQr5W+5swB4yrFfD4fym6IfAX78eYrxUbk4WKJeBQD9rOHBUHQ==
X-Gm-Gg: ASbGncugNaENLNPC+7HPuYCTWoIn+Z0YKmLfXLPqGyGeSH/E0O29MZUS1seN1fVQ3gm
	0dXHwxTJiHkrofDMZ7V9rYdwSFz/Q+yonoAbIEXHxuCqCrzidxTcDYt9F/IAQrV95bxwxIRHDv9
	lsjsASB8UkSEmqner41vovh+i7F3XwibbzYrFm2C0vFQbthlLLOH4R04YitubRm53KNjjFvvPrj
	7giB57MkZnOkTZ7dKnx/6rBHqOXyIbj9gyMcwptRjSctWcG6vkC0AwT1atrlfzHcpwssIDa4X5X
	ksPfxEqVH2PR+LC6D8Kfp3jYLz/ZxQr4Gxh0zEQF894ZhacCtklCHsMpkP/bsOuFDCniynYIte2
	wYGO2ZampTbDW3ekIV+4PktoFFwmYfg==
X-Google-Smtp-Source: AGHT+IE7ntGlOn2a3s/zlWJkPapjdpwUbH2VitOJmdZoSQ/9B7gYht1DG/mpye+kHfiGVOpgV+OFLA==
X-Received: by 2002:a05:600c:3552:b0:43c:f509:2bbf with SMTP id 5b1f17b1804b1-43d491bfe15mr42946865e9.15.1742484326203;
        Thu, 20 Mar 2025 08:25:26 -0700 (PDT)
Message-ID: <92a378b3-c041-4573-8abd-4ab07a4338ae@suse.com>
Date: Thu, 20 Mar 2025 16:25:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/vga: fix mapping of the VGA text buffer
To: Roger Pau Monne <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250320151109.88228-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: <20250320151109.88228-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 16:11, Roger Pau Monne wrote:
> The call to ioremap_wc() in video_init() will always fail, because
> video_init() is called ahead of vm_init_type(), and so the underlying
> __vmap() call will fail to allocate the linear address space.
> 
> Fix by reverting to the previous behavior and use __va() for the VGA text
> buffer, as it's below the 1MB boundary, and thus always mapped in the
> directmap.
> 
> Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Nevertheless a remark:

> --- a/xen/drivers/video/vga.c
> +++ b/xen/drivers/video/vga.c
> @@ -71,7 +71,7 @@ void __init video_init(void)
>      {
>      case XEN_VGATYPE_TEXT_MODE_3:
>          if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL) ||
> -             ((video = ioremap_wc(0xB8000, 0x8000)) == NULL) )
> +             ((video = __va(0xB8000)) == NULL) )

Without having a good suggestion, find such dependencies upon the low
1Mb always being mapped (in case we wanted to revisit this, for example)
is going to be moderately hard. It might be good to somehow mark them.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:31:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922613.1326497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHrl-0007LB-2H; Thu, 20 Mar 2025 15:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922613.1326497; Thu, 20 Mar 2025 15:31: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 1tvHrk-0007L4-Uy; Thu, 20 Mar 2025 15:31:28 +0000
Received: by outflank-mailman (input) for mailman id 922613;
 Thu, 20 Mar 2025 15:31: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=51pQ=WH=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tvHrk-0007J5-DS
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:31:28 +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 63a3b303-05a0-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:31:27 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5e6ff035e9aso1820091a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:31:27 -0700 (PDT)
Received: from localhost ([46.149.103.12]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5e81692e5b7sm10393482a12.13.2025.03.20.08.31.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:31: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: 63a3b303-05a0-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742484687; x=1743089487; darn=lists.xenproject.org;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z/GijB/q753y8Oa23iWj9M0wlYC7lxPkEzCweyP7t1Q=;
        b=j1kAcYryoVKhDs/9QL/TDfPuRwavPq8iLYUtlMeD1H8PWXf63K2s8W73gGhXBNf9Rp
         Y+J47Z5qPG8ncjWzKy+j0kOd7j8uV4iSn7rpWM9P053hLoq05blCpqX+ITk3P3GDRVy4
         KG+d/KOVJt1CG5f8jGLF5ELyJy4zTZTYs5wK0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484687; x=1743089487;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=z/GijB/q753y8Oa23iWj9M0wlYC7lxPkEzCweyP7t1Q=;
        b=VCY5ihR3E+21BHTNPMsQVl/3oqh9kn/JeS81Q0gpPZcjTBH7YFzpN1H0uuBQe6Vv/E
         3kfbRs2KmXdOeLSVraoggYs1rvVgc0rZvFN72HNYA9R3Jtbuxec13LtJaO0J33UyPvdS
         dQunbjaryuwhJ1yTfaHRdqFt/AHZEIZmWpq5lZrwzr52lEesDzmD1smNoojsw/I6mi8T
         SsCJkowAeiaaoX6MkCnUc0GBQWN47feYbVMXJxpQf/JGqpLDVVs68Yn8sYQ+jVMKdGTd
         ajfndkf1JzUI8oDepmeqQX5ZG6LuFmCLzUbr94nV+j6nPMPfRV8oP/3GDKBFIFkntcrD
         OkcQ==
X-Gm-Message-State: AOJu0YzFYnkCoUnfKQ27x/Q+W8AfAdJA5AI2+PVD2mIlQCtGCwwTpKFZ
	TOHI4mshHU92VlSSRpV67kHMbRyCoWOBQOYNC/u1InYIc7Y+Xmr3Tlkom6Sl9Aw=
X-Gm-Gg: ASbGncvV+iYfVU+DdndWxKTsWyuvRE1biOKSNcthSn8cRYXHVFyml0bQGPrHfjbfwPG
	7PthKL0QfdO1t4uUsk4gzUxcasgBsZvUsL+63XQWtTcNjG3QchbPgtMVLO5kqzPHyTWLk0c0zVR
	Jbe6Jaolv9rXEMXQ7r6e26wpmyczG1gCVATDsNZo/ywxDxYnBYq3aW/vql6xlYsuLeA2QBk1BH3
	9RaBrEtEtQWuB2BrJ59eFUu0FP2Xxr1/NkumEvXmSQB3vUbNmkN1vBDia7MqahKg6kYcLjVWsEb
	ZofCd3n/7ztJf9PTHIn5pkkmoVrnWtANA2XlR41qAmLttHupu1fUGhH7LkyM+Q==
X-Google-Smtp-Source: AGHT+IGEFm9/RRE/WtwC9EuJdpJb7WWZSbTBrTfgfq7Z9W/uHkDLBK6Kx2g5aPBih6tOpN7nOq0PCg==
X-Received: by 2002:a05:6402:2355:b0:5e7:f728:5812 with SMTP id 4fb4d7f45d1cf-5eb80d18e70mr8181821a12.19.1742484686737;
        Thu, 20 Mar 2025 08:31:26 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 20 Mar 2025 15:31:25 +0000
Message-Id: <D8L79PLVQ1AA.2QU3KQUS8YYJN@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: "Xen-devel" <xen-devel@lists.xenproject.org>, "Andrew Cooper"
 <andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Stefano Stabellini" <sstabellini@kernel.org>,
 "Sergiy Kibrik" <sergiy_kibrik@epam.com>
Subject: Re: [PATCH v1] x86: make Viridian support optional
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
X-Mailer: aerc 0.18.2
References: <20250317071919.3766976-1-Sergiy_Kibrik@epam.com>
 <CAFi36o263XOQbTpSGDcM3PmpY+MwodHi1tOXDp3W60N0n9b9YA@mail.gmail.com>
 <93e98ebb-4679-4c34-a5af-f105e89c7304@epam.com>
 <D8L6ZRL4CIUK.FGKVDP8TJAGU@cloud.com>
 <7a319cbb-d19c-44f2-b407-e173d575ba8b@suse.com>
In-Reply-To: <7a319cbb-d19c-44f2-b407-e173d575ba8b@suse.com>

On Thu Mar 20, 2025 at 3:22 PM GMT, Jan Beulich wrote:
> On 20.03.2025 16:18, Alejandro Vallejo wrote:
> > On Thu Mar 20, 2025 at 9:39 AM GMT, Sergiy Kibrik wrote:
> >> hi Alejandro,
> >>
> >> 17.03.25 11:19, Alejandro Vallejo:
> >> [..]
> >>>      =C2=A0endif
> >>>
> >>>     +config HVM_VIRIDIAN
> >>>     +=C2=A0 =C2=A0 =C2=A0 =C2=A0bool "Viridian enlightenments support=
" if EXPERT
> >>>     +=C2=A0 =C2=A0 =C2=A0 =C2=A0depends on HVM
> >>>     +=C2=A0 =C2=A0 =C2=A0 =C2=A0default y
> >>>     +
> >>>
> >>>
> >>>
> >>> I don't see why this should be gated by EXPERT, provided a
> >>> suitable (now absent) help message was to exist explaining
> >>> what it does in plain simple words.
> >>
> >> The option is intended primarily for fine-tuned systems optimized for=
=20
> >> particular platform and mode of operation. As for generic systems (e.g=
.=20
> >> distributions) whey wouldn't want to disable it anyway.
> >=20
> >=20
> >=20
> >>>
> >>> For the title, I'd say it needs to properly state it refers to
> >>> enlightenments for guests, rather than enlightenments for
> >>> Xen itself when running under Hyper-V. As it is, it sounds
> >>> ambiguous (Maybe "Hyper-V enlighnments for guests"?).
> >>>
> >>
> >> Agree, "Hyper-V enlighnments for guests" is better title.
> >> As for help message, would the one below be sufficient?:
> >>
> >>   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.
> >>
> >>     If unsure, say Y.
> >=20
> > Sounds good enough to me.
> >=20
> >>
> >>
> >>> On a personal nitpicky preference note, I'd say HVM_VIRIDIAN sounds
> >>> rather redundant, and I think just VIRIDIAN works just as well
> >>> while being shorter.
> >>>
> >>
> >> this is rather to highlight the fact that the code is part of HVM=20
> >> support, a bit of self-documenting
> >>
> >> [..]
> >=20
> > That's fair enough.
> >=20
> >>>     diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h
> >>>     b/xen/arch/x86/include/asm/hvm/vcpu.h
> >>>     index 196fed6d5d..bac35ec47a 100644
> >>>     --- a/xen/arch/x86/include/asm/hvm/vcpu.h
> >>>     +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
> >>>     @@ -171,8 +171,9 @@ struct hvm_vcpu {
> >>>
> >>>      =C2=A0 =C2=A0 =C2=A0/* Pending hw/sw interrupt (.vector =3D -1 m=
eans nothing
> >>>     pending). */
> >>>      =C2=A0 =C2=A0 =C2=A0struct x86_event=C2=A0 =C2=A0 =C2=A0inject_e=
vent;
> >>>     -
> >>>     +#ifdef CONFIG_HVM_VIRIDIAN
> >>>      =C2=A0 =C2=A0 =C2=A0struct viridian_vcpu *viridian;
> >>>     +#endif
> >>>      =C2=A0};
> >>>
> >>>      =C2=A0#endif /* __ASM_X86_HVM_VCPU_H__ */
> >>>
> >>>
> >>> nit: I suspect the code would be far less cluttered with "if=20
> >>> viridian..." if the
> >>> init/deinit/etc functions had dummy versions of those functions when
> >>> !HVM_VIRIDIAN in the header.
> >>>
> >>
> >> as Jan explained some time ago [1] it's preferable to compile as much =
as=20
> >> possible in all build configuration. Besides most of calls to viridian=
=20
> >> code are already guarded by is_viridian_domain() & not actually requir=
e=20
> >> stubs.
> >>
> >>   -Sergiy
> >>
> >> [1]=20
> >> https://lore.kernel.org/xen-devel/36708a3f-2664-4b04-9f5d-f115d362d100=
@suse.com/
> >=20
> > That answer seems to state a preference for...
> >=20
> >     if ( foo_enabled() )
> >         rc =3D foo();
> >=20
> > ... against...
> >=20
> >     #ifdef CONFIG_FOO
> >     rc =3D foo();
> >     #endif
> >=20
> > ... where foo() in the header looks like...
> >=20
> >     #ifdef CONFIG_FOO
> >     int foo(void);
> >     #else /* CONFIG_FOO */
> >     static inline int foo(void)
> >     {
> >         return /*some-error*/;
> >     }
> >     #endif /* CONFIG_FOO */
> >=20
> > But that's not what's going on here, I think? I didn't initially notice=
 the
> > subtlety of the change. On more careful look, it seems to rely on the c=
ompiler
> > doing dead-code-elimination. The functions missing in the linking stage=
 don't
> > cause a compile-time error because the conditionals are completely gone=
 by
> > then. Neat as it is, it sounds a bit fragile. Can we really rely on thi=
s
> > behaviour not changing? Furthermore, does MISRA have views about having=
 dead
> > code calls to unimplemented functions?
>
> We use DCE like this in many places, so we already rely on this behavior =
not
> changing.
>
> Jan

I wasn't aware, fair enough. Feel free to ignore then.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:32:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922627.1326507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHsj-0008PH-AV; Thu, 20 Mar 2025 15:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922627.1326507; Thu, 20 Mar 2025 15:32: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 1tvHsj-0008PA-7P; Thu, 20 Mar 2025 15:32:29 +0000
Received: by outflank-mailman (input) for mailman id 922627;
 Thu, 20 Mar 2025 15:32: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=W2V2=WH=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tvHsh-0007l8-S9
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:32:27 +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 861d0fc5-05a0-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:32:26 +0100 (CET)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfout.stl.internal (Postfix) with ESMTP id 8DF3311401DE;
 Thu, 20 Mar 2025 11:32:24 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Thu, 20 Mar 2025 11:32:24 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 11:32:22 -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: 861d0fc5-05a0-11f0-9ffa-bf95429c2676
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=1742484744;
	 x=1742571144; bh=fqgH0GUHZJKXkPmZ9sH7FeUmih6lgLKzWuYTncUXMzM=; b=
	lqsqakxo+e8Fjfd16od8cP0fKiasxBLzVL/Drc+1sGilYgLlSrU2MCAK34t0NeW0
	ETTeA/+XOUhdqgTfbK7mOeIxj+a8SP3Oojkn+45sJor9yBEPA37K/ngHkxkTlRuk
	+bl7Qj7Lyq9Vp49NUI60dwvEKv3E9kdfhCGCGs2KJJhRcMn9azvlAtL+T9kyERTr
	Sz4pUxvuIuWmCuJP1+GbPgTt8NRhdr6WY1MmggsST+0BwluKiVi5Xxn4m5SHKSJm
	7gZUQbuTvrx/mD2z2guaGlO01TnMz/OITp2GW4BGtbqtEBWZfqkiAfx0w5h4M0PG
	M6hchJTzWcY1VuKmwCdVcQ==
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=fm1; t=
	1742484744; x=1742571144; bh=fqgH0GUHZJKXkPmZ9sH7FeUmih6lgLKzWuY
	TncUXMzM=; b=u8jaItw+uPw4sStMke3lZ9sHHKKR44k6gFaECOLxbz0nABNwZkO
	DhHWXOQ/ovQGvKrGmC15DaMaL8bmwGOZRggkiZc9PKSQgnxNyMCTxYbHwUByUqKl
	ct+Ysh6NislMRo1HVSmsCBCXhgSVgarAS7HPyPlVD3UV7dp/zf01Iw36k5vsNRwP
	BUsWEzP8bSwYwIS6Oo4GE1aVsInPNJ80ZbGggrFKUifYY8DD3a3WgAFduUy57hvu
	2FTUH1Zqnnan5nX3HBNKn3nXaLsQLafz5Ib/b3AN+qBZ7Zz1YO/GPTwkhpzimKzp
	8O4WquCsmPzVnbyRIHIIO0CxRCKjs3/Z5jw==
X-ME-Sender: <xms:CDXcZxjcWdAfWxkqzDIQjs7EVUcCAlsqsA34s57X7MtLKjNY-PCGTw>
    <xme:CDXcZ2BiFnDMw0WYJxl7g_kgttmfsu_0aHyAkIL2LYPIS5rmabyxs7HrkacT5IOS3
    TSejGMKZqTEPA>
X-ME-Received: <xmr:CDXcZxF7yr2asMQkUT-PdQBFl_FLP-z0nH7MhAXiNlK6jghWjeSskfao5aMKOQJ6UU5CfX1R0E7z7H39HMPQVyoxZByzbngxNQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeekheejucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhhthhhonhihrdhpvghrrg
    hrugesvhgrthgvshdrthgvtghhpdhrtghpthhtohepfhhrvgguvghrihgtrdhpihgvrhhr
    vghtsehquhgsvghsqdhoshdrohhrghdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvg
    hrfeestghithhrihigrdgtohhmpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegr
    mhgurdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoh
    eprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggv
    lhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:CDXcZ2QYVzCrWMZ5bosX1IJ3jsvnfCJV_GMQxibzqJMbvPACrMSUsg>
    <xmx:CDXcZ-z-ckXICek8U8OTG6Hrr01QOTzT1rEKkJQdnpoCrVvWQI1XEw>
    <xmx:CDXcZ84udQ0n9eJGCZqWU-Ivi-B6jKMvv5Jltiq7vyiix8Rxg9FYnA>
    <xmx:CDXcZzyTdz-q6w1HxIaRqOV0T8IlaxWHOdd4e_RTXt8xrtfXwO1f8w>
    <xmx:CDXcZycas56zD2rnFIaSDM6x2kVV0vpgYT6QF3kzxgKmLbb92waxZtF8>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 20 Mar 2025 16:32:20 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9w1BLntGv4ksws0@mail-itl>
References: <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com>
 <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14>
 <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>
 <Z9wfKB0vdngn3xXX@mail-itl>
 <Z9wnzRbwb3HQaSMu@l14>
 <Z9wxcYapF5eno29b@mail-itl>
 <7698a70a-db0a-4d5d-b5ad-8c0636bc5a33@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="hTCwn0V0LUlaKRIt"
Content-Disposition: inline
In-Reply-To: <7698a70a-db0a-4d5d-b5ad-8c0636bc5a33@suse.com>


--hTCwn0V0LUlaKRIt
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 20 Mar 2025 16:32:20 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Thu, Mar 20, 2025 at 04:21:18PM +0100, Jan Beulich wrote:
> On 20.03.2025 16:17, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Mar 20, 2025 at 02:35:59PM +0000, Anthony PERARD wrote:
> >> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-G=C3=B3re=
cki wrote:
> >>> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
> >>>> On 20.03.2025 13:51, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
> >>>>>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> >>>>>>> There are clearly some build path embedding left. And
> >>>>>>> -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correctly=
 with
> >>>>>>> XEN_ROOT having xen/.. at the end.
> >>>>>>> BTW, would it be acceptable to have this?
> >>>>>>>
> >>>>>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realpat=
h $(XEN_ROOT))=3D.)
> >>>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It'=
s fine
> >>>>>> in "tools/"). In "xen/", there's a few variables you can use if th=
ey are
> >>>>>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(sr=
ctree)
> >>>>>> $(objtree) for relative path. That also should avoid the need to u=
se
> >>>>>> $(realpath ).
> >>>>>
> >>>>> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it=
 to
> >>>>> not have /.. for prefix-map to work correctly. Would it be better t=
o use
> >>>>> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) a=
nd
> >>>>> have paths in debug symbols relative to hypervisor source dir, inst=
ead
> >>>>> of xen repo root? I'm not sure if that wouldn't confuse some tools.=
=2E.
> >>>>
> >>>> abs_srctree being computed using realpath, can't we replace
> >>>>
> >>>> export XEN_ROOT :=3D $(abs_srctree)/..
> >>>>
> >>>> by something as simpl{e,istic} as
> >>>>
> >>>> export XEN_ROOT :=3D $(patsubst %/xen,%,$(abs_srctree))
> >>>>
> >>>> ?
> >>>
> >>> That works too. It's slightly less robust, but I don't expect "xen"
> >>> directory to be renamed, so shouldn't be an issue. I'll leave also a
> >>> comment there why not /.. .
> >>
> >> I don't think $(XEN_ROOT) is present in the binaries produce by the
> >> hypervisor's build system. There's only a few use if that variable: to
> >> load some makefile, to execute makefile that build xsm policy and to
> >> generate cpuid-autogen.h. Otherwise I don't think the compile have this
> >> path in the command line. What is going to be in the binary is
> >> $(abs_srctree), which you can replace by "./xen" if you want; which me=
an
> >> it doesn't matter if the directory is renamed or not. You might want to
> >> also take care of $(abs_objtree) which seems to also be in `xen-syms`
> >> when doing out-of-tree build.
> >=20
> > So, you suggest to do -fdebug-prefix-map=3D$(abs_srctree)=3D./xen ? That
> > appears to work for in-tree builds too.
>=20
> And why ./xen (question to Anthony)? Just . is quite fine, isn't it?

It makes paths in debug symbols relative to xen/ subdir, not the
repository root. I'm not sure if that is a problem, but it may be for
some tools.

> > But now I actually tested how it looks with out-of-tree builds, and
> > indeed $(abs_objtree) is embedded there too. Adding
> > -fdebug-prefix-map=3D$(abs_objtree)=3D./xen appears to help for this. B=
ut,
> > -fdebug-prefix-map doesn't help with abs_srctree in out-of-tree builds
> > for some reason. -ffile-prefix-map does. And so does -fdebug-prefix-map
> > + -fmacro-prefix-map. Is there any preference which one to use? It
> > appears as -fmacro-prefix-map and -ffile-prefix-map have the same
> > availability in both GCC (8) and Clang (10).
>=20
> Then the simpler -ffile-prefix-map is better, imo. Question then is
> whether any of the options is actually needed at all for in-tree builds.

Yes, without any of those options, both xen-syms and xen.efi contain
full source path.

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

--hTCwn0V0LUlaKRIt
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfcNQQACgkQ24/THMrX
1yz0bgf/d8TzAAeS4fcZHHpwOUgvL+TXLNJyARUlnPYBTfXz0SlgXc/cgD9Bv2KY
n0mnbNx86IWcPrPYyvmldRdBbbTDKcvzhmsdYwPTS3tCxAyqgnG/6Rq8ohBw0n8P
sC29sAkHiV1zmVL98NsxOmkhY957mqwHSA7SQ7QTa577eu2CDd9dcPWbTwLDqUOt
Lqx2sL1BXaTW/wWcVPHh3VPqQySQT1bmXXoRQDMNmYdsABf+MBoHLHJUU4sTEBWl
f54jdesUxL7crEZw4vI9YmZhXbRG+iSfxVE9V7P3bmzr4pZP/9S6FMyRaA/WCh46
V3H5BUj7VppbhPUopLTPQ5Mk6/Ci+A==
=oFcf
-----END PGP SIGNATURE-----

--hTCwn0V0LUlaKRIt--


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:32:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:32:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922633.1326527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHt2-0000eh-NN; Thu, 20 Mar 2025 15:32:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922633.1326527; Thu, 20 Mar 2025 15:32: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 1tvHt2-0000eX-K7; Thu, 20 Mar 2025 15:32:48 +0000
Received: by outflank-mailman (input) for mailman id 922633;
 Thu, 20 Mar 2025 15:32: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvHt1-0000F3-MH
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:32:47 +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 92a8dc10-05a0-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:32:46 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso7275625e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:32:46 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f556afsm51545035e9.19.2025.03.20.08.32.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:32: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: 92a8dc10-05a0-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484765; x=1743089565; 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=3UEX+Ken0lbbz27KSN/mzaQf3lnapm0uhTGtmqgbZOo=;
        b=FlihSZAb74THOHKI5J8i4jjiBxHKkF/BdRUD0kIju2ZlXavEWzm1OICSQwmaQWB4KU
         Fc95gHpIF60vfN1f+Q9rR+YyGw4z9cg8O2+ZLf22XWmo2BiheD7N4bMd11Vdd7g5V51j
         Vv2dFkCtFKlcLANeR+TUuRqZYVoNqHdWiRtrE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484765; x=1743089565;
        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=3UEX+Ken0lbbz27KSN/mzaQf3lnapm0uhTGtmqgbZOo=;
        b=QkwL+BhgJoU6/5gEk6YZhtihDt9l5Jxf2nvACs1XVLwbkZl4pXifinyoLi6vjhuDqa
         9ferlWUFmDWAw0O6vQgBc1PYDXTEyljX4vBk/WrpGJaW63RNnEZYBlmEeFtjkAVmkkOe
         KC78xqpZ/rLd6aGVlumZshk7jrNPbMfx+cM8pSXNvFmpzq/CPG2S8JHY36ZQtL2tAT2A
         1Up1quoDsvd4SBPWc1YqWFwAbv7yEirODmbCdnKVpiUhW75B0PV7TZA4Vh/cqbf0mllS
         xe4nK5PiauYX1lUu7+L/HaLCOK02b/Y/buhMbvNfN63pJiK5V92aQ4ojHjlq4iwLJ10t
         r5WQ==
X-Gm-Message-State: AOJu0Yye0lSaXb86jD8MwTIS+apsDgyeDaMfAa6zcVFu8SE0JRtS6ipq
	E8s5yPfp77Z9TODGhHsm73gSlh7Bqfwix9eX37uoSqBhE60FjnzHg0NXWRC6viUYxRmcZfshq4k
	D
X-Gm-Gg: ASbGncsglpuq/Hoht8B8rFCC0ZAUoBFwWZJB4ncnbM4ST6UJJuTM9x8P0rzHEh2KpBb
	JlJa5ACWICNeiwLg3gvG74VlRG/ZPyvXX99OvxLZO84jlzx6VrhAIdGp8IsZZOegaLk2ZTVCR0t
	TxjGzIkfdcu+TeEsMYMtqKq3NXUlwmBedqdAZj9NqJDOGbke6MsnqLJ2B9Jxd0X9KXMIHrz+rUR
	aSenGWP5ccnVRJYLcnuiU6/wLKl2uEZPBX2zoqgJ3q34mYzRbE5fbQ5t7APy8xTcZRbkRYPP/JB
	ZiEIftxaF366f/p6aMvhDAp+ieR8AVgAhJj38w9M0yJxtySmSccZqFs9OOASVjLhlI5iY03atw4
	dySSbakCGglc/SOHI7w==
X-Google-Smtp-Source: AGHT+IHVBVpwxr+14HowxZhb4xySOpff81SzByFKI/X0s9jQT9eg33Bk/bN7dboiD1UQk8wa11ixow==
X-Received: by 2002:a05:600c:870a:b0:43c:f629:66f4 with SMTP id 5b1f17b1804b1-43d436c8b99mr75406465e9.0.1742484765258;
        Thu, 20 Mar 2025 08:32: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>,
	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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 2/3] Xen: Update compiler checks
Date: Thu, 20 Mar 2025 15:32:40 +0000
Message-Id: <20250320153241.43809-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250320153241.43809-1-andrew.cooper3@citrix.com>
References: <20250320153241.43809-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We didn't really have a Clang check before, so add one while adjusting the GCC
check.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/include/xen/compiler.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index b118e4ba62eb..cc955be32664 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -1,18 +1,10 @@
 #ifndef __LINUX_COMPILER_H
 #define __LINUX_COMPILER_H
 
-#if !defined(__GNUC__) || (__GNUC__ < 4)
-#error Sorry, your compiler is too old/not recognized.
-#elif CONFIG_CC_IS_GCC
-# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
-#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
-# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
-/*
- * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
- * https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
- */
-#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
-# endif
+#if CONFIG_CC_IS_GCC && CONFIG_GCC_VERSION < 50100
+# error Sorry, your version of GCC is too old - please use 5.1 or newer
+#elif CONFIG_CC_IS_CLANG && CONFIG_CLANG_VERSION < 110000
+# error Sorry, your version of Clang is too old - please use 11 or newer
 #endif
 
 #define barrier()     __asm__ __volatile__("": : :"memory")
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:32:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:32:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922631.1326517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHt1-0000O0-Gt; Thu, 20 Mar 2025 15:32:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922631.1326517; Thu, 20 Mar 2025 15:32: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 1tvHt1-0000Np-EA; Thu, 20 Mar 2025 15:32:47 +0000
Received: by outflank-mailman (input) for mailman id 922631;
 Thu, 20 Mar 2025 15:32: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvHt0-0007l8-5Y
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:32:46 +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 91862c8d-05a0-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:32:44 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3913cf69784so785764f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:32:44 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f556afsm51545035e9.19.2025.03.20.08.32.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:32: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: 91862c8d-05a0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484763; x=1743089563; 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=L/8OKxq5tdUvL+relQi7wdXNnmHOUxgp/8lJVL44Vxo=;
        b=FVvMZ/zc+40vav7yn4lT7d8+V4n592o55XBp4lkQGbLBSBjwzTYZbyDWbx0hQ4IT6k
         i0a1LPutuuHrEbpcflc5lMcvTqEd0z78e9DBxho95rIuBk2/jW1/VQgZeslf3tGx5lPT
         DEyemr+zzVgLg24tyADwUw/RzCVLcUEUor5Oo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484763; x=1743089563;
        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=L/8OKxq5tdUvL+relQi7wdXNnmHOUxgp/8lJVL44Vxo=;
        b=J8sPxq01iduVDWkniwWGPWe/Md6dq/bmbZ4yNanFKS56KEaoNqYeRcdRCjVIwthP3n
         OYc4nPdHdTu0UbqlYMvGPF2D2l6GMjva9ZZKY0H+RdYO8P9ssA+uJ3CaquTkIlqQVQ+C
         NgIOY+UjeWq8iOSP5phVdtW8hCEjijmBIjitNVq+lK5WP5D+ra61Z3g47DN8cd1P+F0J
         6dIkDxagAToS1n50u2LrEfwUkZlalBaKlyoobQFiD0tOiVgosd3aAMDTwbwBCVHduYm6
         XWBB9ICMY4vXaxFbPIguqH5OaadblvtkSGuDcPD4dBOEwbWKwHqEpvNtM2D1w55Tz/pf
         3WKw==
X-Gm-Message-State: AOJu0YyWx2P04ry2iVpV0CLq4HEe7+uUHaUZ4p0hP0M8Pn8MRpxsSXhN
	pbeki44s7Wg958vQQnyskcG0uMobf0RXPKDAxozoqT9G4T+sWlQB62wFmci+Ni90ecgZsPaDmKw
	c
X-Gm-Gg: ASbGncubyZViU0Z3ySU4Fssw8vcfg3p6ZHzwQaMT0RQn2MSQ8PuS90KLps6DXXy2Kwr
	pKFKGUwgz9A6ow7IO9SoVX2IoUUDhfgGmZjuk1YuvKAQBc+Pq9b9wYx/7g11e1E9FtZDM4Scvu/
	XNO1r/WZWhzm2k5gSq/K+fBMHUosPmW7ptkQKt4usgPhndlrjFmNbAkQSsJ2nLVkM/0RtJGcBoz
	0/9+IYr1YLcifm6mFSPqaDN3X3XTalnjgYObFatViyS58sjMCDwN+or3SI4fm657ihXY1ZLXyxL
	tDrtuIr1TvheSVXjFDjc0XscwSRNQwbLuqmhML4PmteJ+q7J5f0ONL9HtUYgozPtTdpLibpUByv
	fyXolJ4Lvbx1fd//YfutN80tH90Qv
X-Google-Smtp-Source: AGHT+IHMsztN2psHN4+fMHqrXpoGBIaJKeXm+cOLJf0uja+D+GkIFTwd7Y99M+rXWlWcEmQqKJseNQ==
X-Received: by 2002:a5d:47aa:0:b0:391:158f:3d59 with SMTP id ffacd0b85a97d-399739c23afmr8225419f8f.15.1742484763546;
        Thu, 20 Mar 2025 08:32: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>,
	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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 0/3] Xen: CI changes for new toolchain baseline
Date: Thu, 20 Mar 2025 15:32:38 +0000
Message-Id: <20250320153241.43809-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

Prep work to allow us to start making changes based on the toolchain
requirements.

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1726628670
https://cirrus-ci.com/build/5232741505040384

Andrew Cooper (3):
  CI: Update build tests based on new minimum toolchain requirements
  Xen: Update compiler checks
  CHANGELOG: Minimum toolchain requirements

 CHANGELOG.md                         |  3 ++
 automation/build/centos/7.dockerfile | 72 ----------------------------
 automation/gitlab-ci/build.yaml      | 30 ++++--------
 xen/include/xen/compiler.h           | 16 ++-----
 4 files changed, 17 insertions(+), 104 deletions(-)
 delete mode 100644 automation/build/centos/7.dockerfile


base-commit: 6e5fed7cb67c9f84653cdbd3924b8a119ef653be
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:32:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922635.1326537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHt4-0000uD-2o; Thu, 20 Mar 2025 15:32:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922635.1326537; Thu, 20 Mar 2025 15:32: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 1tvHt3-0000u0-Vo; Thu, 20 Mar 2025 15:32:49 +0000
Received: by outflank-mailman (input) for mailman id 922635;
 Thu, 20 Mar 2025 15:32: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvHt2-0007l8-F3
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:32:48 +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 9302670e-05a0-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:32:46 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso8952875e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:32:46 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f556afsm51545035e9.19.2025.03.20.08.32.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08: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: 9302670e-05a0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742484766; x=1743089566; 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=CqKr1+6WMiT6VQWQ8sqIJpeUTlqKAraO1MHdveiEfFc=;
        b=mrj3gf/rARh9sNyGXpPpKeGsuupceqDXd4xyr6wlj/WxHpYlo03SZN+cpn6oxY+hgA
         9cU2uKJk56EPRTwOzgDycd6yE+qwm7s/BEZXNrRYE3ZyUDKQL3BrIw/oXSyZP32VrUxz
         F5+/zLpvaXJzWMQNfR5Tcb0ARLtdzMtiH5p0U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742484766; x=1743089566;
        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=CqKr1+6WMiT6VQWQ8sqIJpeUTlqKAraO1MHdveiEfFc=;
        b=fQKaI9d8Bcae+qYterRxrKQ0ziELiVBZehe/6jWeUQ6FLPJeIuElaDkHp07UQuwTxt
         Oi6Qz9+mWcsqLpdp9lydeyQiROMU8h8Sn+IEhsr76cTVn+aouf2ZjTzMKZEaqrAAfJxA
         VZzN2l4stRo4x7nqlL8CMz2Uy+JNP0okgzscc+lJtg4H9wgMlGVWg5Vp0OfBuh9rlxSe
         F9XnMgvzb1CNsVqE6Lngy3sqtO1viQtII8iAoS3a+upiyWwuUJ8YpXXe5xfI8ECe5tlY
         aASO03KzMXBRxF9mq9JnS5eQCJxdQGK1pE+aYEPTKr4VqLgp/WD/w2pBZR4x3GabFwVo
         2VbQ==
X-Gm-Message-State: AOJu0YwSKcX+IlenPDtlE97q70Iw3Ayrj7htFcv4jefU9pa+y3VI4eHZ
	bGzUb9SjqPjbW0asFE4j2HDDBz7dugKbdlr+JkAPU9P2BMOpcBclxzHDpw03yKeyGBc+e7f9F7Q
	1
X-Gm-Gg: ASbGnct3YB75VGYIoBppbgzgIpR6KIydVWD+G8BIfGim0XRgRZXvFWEz69dNsqcXIBA
	X4OwII3qOyBrX54W0mJ9KypJq/ckmCxhLHlkVXXIGp2l78vngcxD84jrLIf1yLjt+emk4F1wqMx
	W4j57i0Drpkdn/emMwcftwlq5ZvhlW4zoPXjKrpT1OSdvvIDKa0ny7DQbI+ysXySIUifM5EohUA
	qraVJrjkwtczAAezfjvHLqCUZcghy/CygXWTVIzlJoHt7LgFEskeLvhlaL4wP/wC0IzrxvL1a1E
	+ZJlpSALa4P7FGWPY+izFNJjO3PnwxBley3urUgJ/oJvCCIf+8RjbRQgZtnMto6U9x2fu2Ev+Jz
	8UtMo8wecAIbS4j4BRQ==
X-Google-Smtp-Source: AGHT+IHfoBbaCCxdI8yHMiHhbhLKOfnQWPGOYv+M3jOdtq0f5Y9MgdU6fu395yPSzUthejz+DIsrHw==
X-Received: by 2002:a5d:588b:0:b0:391:3f64:ecfe with SMTP id ffacd0b85a97d-399795a4f89mr3323649f8f.10.1742484766010;
        Thu, 20 Mar 2025 08:32: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>,
	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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
Date: Thu, 20 Mar 2025 15:32:41 +0000
Message-Id: <20250320153241.43809-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250320153241.43809-1-andrew.cooper3@citrix.com>
References: <20250320153241.43809-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: 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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a5919585d43..4e333e608a96 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
+ - The minimum toolchain requirements have been increased to either:
+   - GCC 5.1 and Binutils 2.25, or
+   - Clang/LLVM 11
 
 ### Added
  - On x86:
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:38:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922682.1326547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvHyj-00034Y-NI; Thu, 20 Mar 2025 15:38:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922682.1326547; Thu, 20 Mar 2025 15:38: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 1tvHyj-00034R-KK; Thu, 20 Mar 2025 15:38:41 +0000
Received: by outflank-mailman (input) for mailman id 922682;
 Thu, 20 Mar 2025 15:38: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvHyi-00033h-Hn
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:38:40 +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 64a44a44-05a1-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:38:38 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so8125385e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:38: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-43d43f55750sm53304375e9.21.2025.03.20.08.38.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:38: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: 64a44a44-05a1-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742485118; x=1743089918; 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=E0Lci+ECUilnN130JGQy/jV/GSrjNp8lwsMlq7ZZ150=;
        b=JJ7C7om9gws0GAXh5VYsVIliTB9vRF/l18ky3m7Lyz5dSBTIC9umn49Rqrn7cYEYN7
         W1eilZv4FmMxzFePSL8/L73eF0gc8J8CWLW8wYExkYjhR1drr7xlxufkk536O8c1yqGl
         kr1oD9R802F5pJCWPunozWo1+si+tmgxwptNsXMlFSTOOcI5FyTkhHbEnkj1CygjE5Eg
         JLkQZWZ0fMuG+cOWyEgcqKdy7PxtOOBKoYgH2y2jwsKOV4XN+VJ5HfmZxO/SQvuVqk1Z
         0PdRCBnJLUz+RD4OqzQVTsMzLrt2UvloYH6qDy47jvrP6ovUFBTkENDotn8dJWkUiiAZ
         Ovuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742485118; x=1743089918;
        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=E0Lci+ECUilnN130JGQy/jV/GSrjNp8lwsMlq7ZZ150=;
        b=Zi0BQnLGp6K/Sd0zDCN9I2GAI36pJBfrNixSta2xpZ6SRCZqp1nC1HMyKMQR7luU7n
         vNrZwMV7krib6njJ02WRqnQkGQ9Jx9WitEjacxvG/IZiqVzTKrVv5zFZDPm9xHogGYKR
         8k1eFfl5MmvKN7uj3dlcEkzz8vEzL7YSh3gDtPtX6KeW+AfbS5uSzeczIy8Tpp+1G6Sm
         wngbi0YOHZB7aiPOlwVYpL6FCznqiLas6+Qu867xGnvOV5PEKfMPa3MSvsgV46aUGaNk
         itbEasXmuam1Ah/DJhkHHtLaqjWPzKLxYgYe2rubetgySxir84lVDDbFYqGj1zNCk3nC
         Gndw==
X-Forwarded-Encrypted: i=1; AJvYcCXy72L4iQXOXlB2NfaED6h22G3GSKBVgMRyuQVBhIiye9MPlKtEYwml2bfcBYav/wsCjHttYNvlwLg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxxnJeSJyIKgm4X4REJ0vlFrFs/9Ak9ExjWkLthn155O2IRdH4q
	5RbFX7u1mHDuBbuAR+/6o/0SJP7mGkhs30C/A5h0U+yEj8Wu+rkYUbUn8CbTUw==
X-Gm-Gg: ASbGncsun+tT8NHr+gC3LwcGN87j+UHJGD2u3yqRjy7+0/hdKbhchpfT0+WFNNvYRyt
	34J+l+M4A+7t1sG1YBCveZt7pOlwoHAJY3RDgtAISd3EARsRlzc0cG7ozXh5W7/d1dXo/6Z6Xm6
	D8wyybXBX68hNzY1MpGAtLSjYSl7UBiGUpiAE/JCuC0wr65faZEc+IrE/hQ7KwoE5LjX4itRcZV
	prmICjp+cLkgl9WvqPFYEi5JYiBtn74QRb9DEGmhkdWzcU2iEmHtTQzc0AGLP1NlCSfLCi4vVdw
	w2NpTPdoqOGD6H0+U2FRF/0rpHTGO1hrVydjYctkd+E6rQQQdu9RbN1beQHPP5ogQVybkoit4aJ
	z5WTv2gpTUFACGd0hKCFmQDfry9l04670ROsIhNTg
X-Google-Smtp-Source: AGHT+IFsnJyVxtUWIf6hr4zEEimZ+UMjG5EBAW4/Jf4WNMg3qE2kK3IWR4ZtelwR6DYrxUuOnTuOvg==
X-Received: by 2002:a05:600c:1f8b:b0:43c:fdbe:43be with SMTP id 5b1f17b1804b1-43d495abc53mr26314395e9.27.1742485117925;
        Thu, 20 Mar 2025 08:38:37 -0700 (PDT)
Message-ID: <4c3820ef-9d4b-4968-88c9-b6210de80b46@suse.com>
Date: Thu, 20 Mar 2025 16:38:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 3/4] x86:hvm: guard calls to nestedhvm routines
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com>
 <bd3edffaee9ecdccfbf35f70bf502a1fa00f36de.1742465624.git.Sergiy_Kibrik@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: <bd3edffaee9ecdccfbf35f70bf502a1fa00f36de.1742465624.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 11:38, Sergiy Kibrik wrote:
> Check whether nested HVM is enabled for domain before calling nestedhvm_vcpu_*()
> and other not already guarded nestedhvm functions.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/hvm/hvm.c      | 6 ++++--
>  xen/arch/x86/hvm/svm/asid.c | 2 +-
>  xen/arch/x86/hvm/svm/svm.c  | 6 +++---
>  3 files changed, 8 insertions(+), 6 deletions(-)

Afaics common and VMX code have quite a few more references to
nestedhvm_vcpu_in_guestmode(), without nestedhvm_enabled(). Are they all
fine to keep as is, while the respective adjustments here are strictly
necessary? In fact I wonder whether (a) nestedhvm_vcpu_in_guestmode()
couldn't be made constant-false when nested is build-time disabled,
which ought to eliminate the need for those changes below. Or whether
(b) nestedhvm_vcpu_in_guestmode() wouldn't better include a
nestedhvm_enabled() check.

> --- a/xen/arch/x86/hvm/svm/asid.c
> +++ b/xen/arch/x86/hvm/svm/asid.c
> @@ -30,7 +30,7 @@ void svm_asid_handle_vmrun(void)
>      struct vcpu *curr = current;
>      struct vmcb_struct *vmcb = curr->arch.hvm.svm.vmcb;
>      struct hvm_vcpu_asid *p_asid =
> -        nestedhvm_vcpu_in_guestmode(curr)
> +        ( nestedhvm_enabled(curr->domain) && nestedhvm_vcpu_in_guestmode(curr) )

Nit: No blanks inside parentheses like these. (There's no real need for
parentheses here in the first place.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:43:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922702.1326556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvI34-0005u5-6k; Thu, 20 Mar 2025 15:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922702.1326556; Thu, 20 Mar 2025 15:43: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 1tvI34-0005ty-40; Thu, 20 Mar 2025 15:43:10 +0000
Received: by outflank-mailman (input) for mailman id 922702;
 Thu, 20 Mar 2025 15:43: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvI32-0005tc-MH
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:43:08 +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 044ffc0a-05a2-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:43:06 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so10734175e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:43: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-43d3ae04a94sm40729935e9.0.2025.03.20.08.43.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:43: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: 044ffc0a-05a2-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742485386; x=1743090186; 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=FrT5ug9Rmu5na7Br3xiwXHNr9C5YNZojXjZI9+IL39E=;
        b=RT6I/660jh7wV3sweWKWOOdbAY0ZTjakV4mvRoX2+NcAseVoaurISkRSbsLfsn2Uvn
         gbOo6uNXIfPkzmXeyJ4QkX2FYalGaIhw42cKP3i6VYj642QYvebPAKIF5Sj/PVxc/LiJ
         kUK1FrdxUW6Qzr8kHxiDOab9cfKj7kvaFFrbbm7DR/kO/hdZ1Ky2zKM4zPQGSLy56LPQ
         un13Uy0q6iy73i7qsDSCKmI9LVRi5r2SsSg8FkxvEtFizlL9hmT68XUQLRu9jlF2M+WT
         ufAa0yBBuJZhwY1UMSNyLsOigHKBvwGCTqAO4CMlRH2G2C4U1bha8DqzcOXbsH0axywy
         B5vA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742485386; x=1743090186;
        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=FrT5ug9Rmu5na7Br3xiwXHNr9C5YNZojXjZI9+IL39E=;
        b=LKu+giT+y7cyK4uYkEuhjQ1drzSTDLc7/zXSIZeJV2Q1MplhKctTLpdLuNI26/vcVQ
         CzGjzZc878LyPRlQ0HV7kykKHhxamwdwuKi68XOcB1hTyKANHxxlu3pv72FUa6LaxHnU
         zRlPlwOekacgQnHuJu1CEmXE+ZMTDEGvZR+CE0SLCR0hqK+voH0gfIjR85nad+gMeq3G
         G2lGpg7MWQHYdQxNc1xNI5ngDb407Sd3j63aeHIB4/l3EgSywzcF+PSZLy3N5IBsqWfa
         flTAuNl/SgNk12rKKS3HcQ8xV5LzaKPNpk/bCIiP71cC9qObxThZokEZYUfJedmvmy+3
         H6wA==
X-Forwarded-Encrypted: i=1; AJvYcCUjiRjvB/eq+GUenv3Poqem1Saq3M0wmVCY8rNA8uI478DgM5hF3RtbPNW5Ync1fD2gtmHYKpNzCow=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwojwWl7A/rsZeg+7dTjeJirvDUwGg1gtAFZMC7Bv6EHd9Su2GK
	OupwEFHP/aXJMupOufPGmTiLT+x/c+TtlS6SRYHt1WpULpiaXRRFh+7QC+qA0A==
X-Gm-Gg: ASbGncuDZTqXEFrnJZeUF4LcI+f4j3H0PKFEMbJuCc/eGMTBnR4zsH19goat4rg/HtE
	IfG6vWrm174zweGAI8ApQKPoYzsAAPXT05+x1jUrRc9n2bky9lqrF93iAttvKZM3gYwLL8IyGNT
	IThv6Dg+0domgiuNpll25vO+Q7TuUfN563o+Ew187MigLC+YO5bIUzscF0O/vAW8OZci135YFWT
	8CTfAMMjDSD22FyBbkv7DAaE/wuif0bR1XPZCI6aUz+doDglArwoChh/pfpCQZpXX3wSq7o4Svt
	as0DZpDprbWNwO8PL+DSmfGiz8p8BEtTAh1CUyt4WxOmnwfzTgMfe1tY1h0xGU+glMzN0Iv2AZH
	IZ0VCNuewdAAodv4cxN04qt6T15AV7g==
X-Google-Smtp-Source: AGHT+IFAbaJJWcQym+Pik1Vl080f4HyBryrGXBU+UIN3M20A4wC9QBW6o/eQuMOI59VnKGVIiqCOwA==
X-Received: by 2002:a05:600c:5248:b0:43d:aed:f7d0 with SMTP id 5b1f17b1804b1-43d495aba92mr30429585e9.28.1742485385846;
        Thu, 20 Mar 2025 08:43:05 -0700 (PDT)
Message-ID: <0d0197b1-61d2-48ef-94a9-d2fbf1d7d073@suse.com>
Date: Thu, 20 Mar 2025 16:43:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] Xen: Update compiler checks
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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250320153241.43809-1-andrew.cooper3@citrix.com>
 <20250320153241.43809-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: <20250320153241.43809-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 16:32, Andrew Cooper wrote:
> --- a/xen/include/xen/compiler.h
> +++ b/xen/include/xen/compiler.h
> @@ -1,18 +1,10 @@
>  #ifndef __LINUX_COMPILER_H
>  #define __LINUX_COMPILER_H
>  
> -#if !defined(__GNUC__) || (__GNUC__ < 4)
> -#error Sorry, your compiler is too old/not recognized.
> -#elif CONFIG_CC_IS_GCC
> -# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
> -#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
> -# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
> -/*
> - * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
> - * https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
> - */
> -#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
> -# endif
> +#if CONFIG_CC_IS_GCC && CONFIG_GCC_VERSION < 50100
> +# error Sorry, your version of GCC is too old - please use 5.1 or newer
> +#elif CONFIG_CC_IS_CLANG && CONFIG_CLANG_VERSION < 110000
> +# error Sorry, your version of Clang is too old - please use 11 or newer
>  #endif

While the Arm special cases can now indeed go away, shouldn't a RISC-V one
appear instead, seeing what ./README says?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:44:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:44:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922719.1326566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvI43-0006sF-Eq; Thu, 20 Mar 2025 15:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922719.1326566; Thu, 20 Mar 2025 15:44: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 1tvI43-0006s8-CK; Thu, 20 Mar 2025 15:44:11 +0000
Received: by outflank-mailman (input) for mailman id 922719;
 Thu, 20 Mar 2025 15:44: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvI42-0006qN-EI
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:44:10 +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 29f044df-05a2-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:44:09 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-38a25d4b9d4so475756f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:44: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-3978f185c6esm20042287f8f.94.2025.03.20.08.44.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:44: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: 29f044df-05a2-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742485449; x=1743090249; 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=FwsTlabQX/jKFqzZ264zFXJpuqicZFWtaPzWhFaUWsQ=;
        b=LqQw9JyiQ/IWzwohfrbuTpblmPaiXbx6e+VTMY7sYZRUP2/ZEyyOjYtJqx7rr08nTz
         ukHE+57KCLvynDbhzpmulDcBjQ/uslar8Q42PdtxorVue71ESuvfmygkhL3Aw74UD0NF
         rb3pA+eCMjW/16mygtln5mlrjrGyed4LlvBlp+t5av4n4OXqy/jnBsW43n2wWQUa4f3J
         fMxjWAs9xn8S4pI09Hz2ncSop1hKV60aJBVdoCEg0agg/879R7cbK0cQsk3pziMglZY3
         0J+BnLQoo2M6rn3FjNGPh8NEP8LIZtongh+UCtixGGAWW1sXG4XmzMuxw5bF4WqyTlqn
         TRRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742485449; x=1743090249;
        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=FwsTlabQX/jKFqzZ264zFXJpuqicZFWtaPzWhFaUWsQ=;
        b=mUU4kOO8CLvj8QWgGOBGdUTD93YaKK4Rp4IOp6U3b8UUWaiOCocw02STyTuKLVODCq
         r7Ru0T+XuipqIUwm0KudFTajMpknU1mgt8azA7XZIhsOhRw4y+t61Z1VGUyl3ycKHsMp
         bcgsJnYRqbikitzWjzpNhHfQrzt6gynGPZ6op7rvFbRuhxiA1mlMP408jv9psD0nAni8
         UEuLSeD4ophr0blefkfBsRugUL4B9DUGBGgn4WssxB20OuUu4IUl0UELXuo6Huc4dP6v
         TVcwRNMZ1rNbF4vDUoK/TzfGaKgiri7UvZ6TEQTbumvCQyeAZyX5ABXQMiCbILXB2ufW
         xuYQ==
X-Forwarded-Encrypted: i=1; AJvYcCXj9He6BAMdvSn3OPfm5QF8phGSD0VrPVa7u5PKxg0B1j8QGcqRJsmeahLiuPWbglMx4OPYb/cQlOQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmKJiE2YLLympeKeYQXYuF2ncGHnY7L8BVe+4fiiXpOlS+Yi9C
	9HMqDEltrBPKWyw0MMgQVjTxuklj002zyp6gpsBjvpXozLrnWzicCHV2QdJbKQ==
X-Gm-Gg: ASbGncvWy+IiOFzCdqCcIEstLXVToqEAPlNcALpxrO2kOjQKP4+9IqUyh+35vbory2V
	tb6UJ1++zWra6wuJmZQVNVoFUJMecI434PkkvCrYsy+4TI+TvJI38bA7Zzu21Sx017D9sC0g6nd
	mwquuRmHCklReszdmqOO1d6ILna9HN/eq6IjeDmx5vitS9a7dEkzteJcDgTlQ8tBH2CtUA5pxKK
	/3xbpcTzFORVp2hvlkVp5W2c4xr05zpe0JjQvtIwb+cTEVXAixJr0QI3iS6/6UE3OLgqaA5yS3b
	Q9WgYtphit/vQBjkDH7pBAT5yiQOzbBc52HXTQ8BoBor8NHXGw1eeN30N2yS3jLmjkPpgIwJGRv
	AWkvr21bNDr/1PHlSgiNQbA3hvZ4C4A==
X-Google-Smtp-Source: AGHT+IH23pq7TTayMEwMsvV99SYAyLNZbqP4zzmwYJ8LBLmipuxOKipLCL696m9nnLyRP3aWfXYNsg==
X-Received: by 2002:a5d:6dad:0:b0:399:6dc0:f15b with SMTP id ffacd0b85a97d-39973b0487bmr7623345f8f.48.1742485449017;
        Thu, 20 Mar 2025 08:44:09 -0700 (PDT)
Message-ID: <91027ceb-8396-4df5-83e5-11bcda9b2be1@suse.com>
Date: Thu, 20 Mar 2025 16:44:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250320153241.43809-1-andrew.cooper3@citrix.com>
 <20250320153241.43809-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: <20250320153241.43809-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 16:32, Andrew Cooper wrote:
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>  ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>  
>  ### Changed
> + - The minimum toolchain requirements have been increased to either:
> +   - GCC 5.1 and Binutils 2.25, or
> +   - Clang/LLVM 11

Like for the previous patch, take the opportunity and mention RISC-V here
as well?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:47:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:47:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922734.1326577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvI7K-0007XF-U5; Thu, 20 Mar 2025 15:47:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922734.1326577; Thu, 20 Mar 2025 15:47: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 1tvI7K-0007X8-Qr; Thu, 20 Mar 2025 15:47:34 +0000
Received: by outflank-mailman (input) for mailman id 922734;
 Thu, 20 Mar 2025 15:47: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=a0MG=WH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tvI7J-0007X2-9G
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:47:33 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20603.outbound.protection.outlook.com
 [2a01:111:f403:2612::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a13f90bc-05a2-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:47:30 +0100 (CET)
Received: from DB7PR05CA0071.eurprd05.prod.outlook.com (2603:10a6:10:2e::48)
 by AS1PR08MB7635.eurprd08.prod.outlook.com (2603:10a6:20b:477::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Thu, 20 Mar
 2025 15:47:26 +0000
Received: from DB1PEPF00039233.eurprd03.prod.outlook.com
 (2603:10a6:10:2e:cafe::55) by DB7PR05CA0071.outlook.office365.com
 (2603:10a6:10:2e::48) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Thu,
 20 Mar 2025 15:47:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039233.mail.protection.outlook.com (10.167.8.106) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 20 Mar 2025 15:47:25 +0000
Received: ("Tessian outbound 5b84e532c19a:v597");
 Thu, 20 Mar 2025 15:47:25 +0000
Received: from La2fba197511d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F4A70B77-7245-479D-8761-D291F6056291.1; 
 Thu, 20 Mar 2025 15:47:19 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 La2fba197511d.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 20 Mar 2025 15:47:19 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAWPR08MB8981.eurprd08.prod.outlook.com (2603:10a6:102:33e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.35; Thu, 20 Mar
 2025 15:47:18 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.036; Thu, 20 Mar 2025
 15:47: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: a13f90bc-05a2-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=pyJkBdQqQpYaivBVt/JWrDFY+PafNfOa8qsvAp5/rSrLo0hdoPlIdzZLJ2krRu/llts7nuxnNgTqOmS8Qk7jJNkPUyHpxmXHAieKJpbz30USkc9yUAGpuJh7GTgIEQYYqOIHmdycYG78Im2Z9kMCqhFJxEvlf1xBQvwxANcfSIuZJPHc3t4yAGoxthC4bi+n25Jn7/wPUw54i7Rg0wVmvYtYTGliNpmJP4GqDE7t4w1QqQRLpIy3ntsGE23Z4AWY4JdHCiU8FmtdZP6d3IKWLeQI31J9O8sB35ZLBEHBJaNz8qp6Hw5wVF8Dky/ZD68gv8nCf3Tbi4k46q+yjitjzw==
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=W0asp5HKtCqIjHYXnZNGCsfkASyhMNVziDhYSD0OCn0=;
 b=ihRtKHxPEEqbo+qIm9jTWGJ2Zf6rsCiUITNHuz3eE01FIZ8cDnct4hDPMx24z23zlAtoyYXkD+4UO07iJ6ZcYV3elGNTk+1gM5nJ/nGApFC9p+izuZUUf3owuGMA4faDgERiO3HTMktax94zKRFqDiFW84PjhD1wu8JpBMUs0Ma4omcmsvCh2k2IREs1SLYnbseyJ2AG7454cDVPA6gACvn6NLTn+DQC4NfBAijsY63a9JswB730voG+Sp6tJROJxB5dbT7RO+ABG4pxMlwTIYRAipYON+CWYqkXFcjt1+Cm9mpY+FatPfLoPTAjHQh4Lj3JSkgRhj+7NK3mKAHL6w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=W0asp5HKtCqIjHYXnZNGCsfkASyhMNVziDhYSD0OCn0=;
 b=S237NBkCZQvmr4/JoA624oetUUm45mvXmTYBzJSBte98qzrxvyrNLvyK3VXtxugvj+SVc9rW/f1YqotaNqXoOVKqN+sET87AljERfGNt8MkmKc6p6GTKirK4kv0EaNoReAtqVPZ9yKYPwE5a7kTFC264l1B7gnzH0c+LTUvR/DQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7f0593a868d38071
X-TessianGatewayMetadata: D/aJ975gpQkVHcV7OK4Ngp2wxGI7Ap+p31pmkPXWBzDuUTNl2AcZTxf/O6yOAxbmFUvrdg/lE0bZhenZqlFMJ8SMgTOYScpjkkz9x4ywd6PahjtBrhkKIR3SVLOIz7kdUmQN2dSEvXp+LG7mNQC6BDuQc3qz86deZNZwFP8I9O8=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZJ6n9+9t7en5zsLgjBSDAp3XSNUycucMCQ6vT/uSHLtV7e/XE9rgwCdTxpunOjV4CouY2urA2pJWTIJl5vRpkx0cwoXIkvnxNW0VV1jOOEO+dYfeP3uu4UO02f5LULkL32ssW8IXtlYRWBhHBisRVFl5dKejeJei18o2OojGuMVwnQL8L/YIeNAFymG4hQ6fo25KZB2mj4yezMTOJBMx/Zk5mcJzTSue+0NhqLegPzvxZx+fFTnSX9SX6Pgr38ZfxWz9BBO6pZCCWVaOT6YHIuGP+fWV7Qc2cgTvNcy2n2NwX/s63HJVjPwDthM5oH0PFYy6RyBBjdBAYNh2lM0F6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W0asp5HKtCqIjHYXnZNGCsfkASyhMNVziDhYSD0OCn0=;
 b=aCqxfvMAUpWBr30KgSzJC+G8weMVR2hZhaMJ5yDGnKxLNCOgBZ3h1B4MLkqnk06BWEjXaUOLAncxkvFOryYE6u9aMN9JbTq9tuxX+c/lPX65R3VK2lPZ6WBOgnYB1XE6oEm/SYy0Zxn3EgdNW6iPwobAUM+cTULDJJ3dGFicTHcn3mdjtlQgLT++LpBOka3krGwsQH6LwKV+Ecm5Wm+zZHQaZ+rAlpyW8fF6KlzuBCNRIZkPFiB4DNni+bxhmqepzyQOUqHYu1Z3D1bIqBsF0NaPrsuA4/cftgLtq6dkjNIFak6QqBWUSbp4mS8Ne5FfEStwKy+gIKr3Co6c13cZlg==
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=W0asp5HKtCqIjHYXnZNGCsfkASyhMNVziDhYSD0OCn0=;
 b=S237NBkCZQvmr4/JoA624oetUUm45mvXmTYBzJSBte98qzrxvyrNLvyK3VXtxugvj+SVc9rW/f1YqotaNqXoOVKqN+sET87AljERfGNt8MkmKc6p6GTKirK4kv0EaNoReAtqVPZ9yKYPwE5a7kTFC264l1B7gnzH0c+LTUvR/DQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v2 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Topic: [PATCH v2 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Index: AQHbkcvnxcOyM/RSC0GESnnv40poW7N8IsKAgAAYUYA=
Date: Thu, 20 Mar 2025 15:47:17 +0000
Message-ID: <794A37F9-9F8A-45D3-9D27-D2C536BADC4F@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <75ffd7378e75fb1a07584c1b178600bbfb348425.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FhHz25oHB6bv+NJrf+21N-8HFvMW7JR04NM9JkpKLabg@mail.gmail.com>
In-Reply-To:
 <CAHUa44FhHz25oHB6bv+NJrf+21N-8HFvMW7JR04NM9JkpKLabg@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAWPR08MB8981:EE_|DB1PEPF00039233:EE_|AS1PR08MB7635:EE_
X-MS-Office365-Filtering-Correlation-Id: e2e17f1b-e668-4e66-4b96-08dd67c6833a
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|10070799003|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?NkFCVXUrS3VCZkpyaGhpZTlUSmRsOGpWd29TVVM5a2JmcmIvVGxsUzBYbWVH?=
 =?utf-8?B?R29NdlEzbkhOWVVjdzdLYytORjFrK0JUYU9jWDA3SktwcmNYY0M1SE5BTm4y?=
 =?utf-8?B?WDMrZHh1dDkxTkswMzdidXNTclFnQ2h0clRXbUFmUVJFU3pBazhPc1BzREpR?=
 =?utf-8?B?b05JdkNOaENNWTk3SDR1czU0MjBhVm1PeEd1ak00TFJOeXlmaXhxRlVJd05H?=
 =?utf-8?B?UktnVWM5NlVjWHRoRlVrK2cveW0yRGxva1FwOXl4UlhoUWhFSWhpS2dpWEZS?=
 =?utf-8?B?aDU2aHJoZzVjZEVvZHBMdWtwS0dXV0ozbWYrY0VjeiswWjZqL0Y5MHNoczBE?=
 =?utf-8?B?eVFjbFErTXg5N0ZteVFyZXBXMHFraVpHblc4cUNRSFUwQnc0MVFHalAzTnNT?=
 =?utf-8?B?bEI5MjlVR2xEcmw5SHQzVHl2OTNmZUNFc2lad2hneGJoMFNhQVE1bzAzenA5?=
 =?utf-8?B?NENPR0F1Nmk2WXdqNlA3MW1IZWxySEVKbFkyWHd3ZVpxMFg5R1BRUm9vSFRi?=
 =?utf-8?B?cG1uZE5JdlZtdEJIT3B6WllxQ0h6UjZsanFKZDNJaE4wZTFEemtIM1dzWG5N?=
 =?utf-8?B?VUdXUk9ZSHRSNFdqMUFjLzdkSnUyNUJia3FnWmh3RUFGUUd2Tjh5cm90WEti?=
 =?utf-8?B?VzEvMGVWSEJ6NXRPUUM1ZU5KY1hQLzN0YXVKYUlWenpRa3NyRE1VSXROdy8w?=
 =?utf-8?B?bVlYbk1WZ3pMZmlYTC94MndOQlBWdXdQS2Fmd3lnMXRJTDlvc2g1T0FiV1cx?=
 =?utf-8?B?b29zb1JiVTNHUlFSVURuWVZ3STZqVUVJYjJFRllvVSsxZ1pVZXdSbUk5Y3c2?=
 =?utf-8?B?bllTRUpmOFk3RWFtdisyb0dEZ0tXWXJIVHBGdlNjYTFpa2g2bW1pNnB3amg3?=
 =?utf-8?B?Y21QakFkenZoUlpBTUlqWVB1cE52OHZtK3l3VUZqeS82dVl6MWtXWEIxRjY0?=
 =?utf-8?B?d1ZneDFyb0pYWEpnM2pIcjhLSkhJcG15SHUvdW10emNUQUFscmkvYmNyZ1pl?=
 =?utf-8?B?WXNvQkRUTHNJcCtEU1RsOHRDZnd2YWQrY1VrUm9xOWNRWUpIQzU1K2Zla084?=
 =?utf-8?B?RmttU2JTT1JjVDUwenA0eVRKcnJZdzgzYjJKY1g3aGk4TTNTWVhtMUQ3Mjlq?=
 =?utf-8?B?RkpHZ29sVFU4Q1BVOEgxMVRvOXpnTXVpTFhGd0hLNDlTQkV6S0RMSTIvWFUy?=
 =?utf-8?B?RkYxV054SjFIRWprRVJROGtKR29WMDFJZThwRVF1VUhkRUhnamxZUHJBOTJ4?=
 =?utf-8?B?Sk40aWdKbFp6YXE1bm1ETXNFczZ2a29rR0t1VFNlMFVBMUExVUtxNE41VG15?=
 =?utf-8?B?U3ZoVTY5WGx3ZWlvVkNwS2VTS1laa1o0b0dBMUVDSlRoYnRjNTQzTEZ0UndS?=
 =?utf-8?B?VVJjZmo4ZFpqK1EwR1JnNXh4eTV4ZEVMZXJhdnRCdjY2SGFrSUxaT2hIUGdW?=
 =?utf-8?B?dmtiTjE4a25GSGNhcFhtc25iWXlDenlNV0xNV0Y5TjBRWlBlRFNNeUs1bmt1?=
 =?utf-8?B?TGFkaU00Qm5lYTRweW1rVWVFMDNTbGprSjdsWjFHZkVJRkh2ajY4bStPelB3?=
 =?utf-8?B?cWlCZUlBNi9RUVlFYWpsQUtyNi9zWEVXdFpZUFBIdjV2a3ovUVRuOGpRbFkx?=
 =?utf-8?B?SEo4cTJOajBvQ2szcU5LdnROblR6TTl6UEJjMFRiWmRHLzJlY3JmN3Qvd1FB?=
 =?utf-8?B?ckw4QkZlaC9SL3hZaXJHaTV4dWdtUExOV21WVHNRRURuRWlEL2o1dnJxdGpF?=
 =?utf-8?B?ZU5xMzdVYXEvWXozd0JlM3hyRHBDWTdtUFFadmpHK2hscU9oSm5iZjJUazJ5?=
 =?utf-8?B?OUdUOUdiMXN3cjRzWVk5QkdRYWZqRExiT2RWMjNTeEZjVjltREhOeGFIMFhR?=
 =?utf-8?B?K0RWbUxscUkyYjJIR3Z3Wlp0dmkvYTZZNjNKZWpvNUtHaktTVjJVQk5iZVB1?=
 =?utf-8?Q?Ree02iPtvU+CemM3LnoWsC1yIwdwjN9i?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <FA4EBE32A6233F41AA327631B8C8B54C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8981
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5644bf90-f2a0-4516-0cb6-08dd67c67e7c
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|14060799003|36860700013|35042699022|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QTFtbjdDWEVXYmtJK1czTVVVb3Y4d1JFVURyRnJCVTltS1hXZWhUd1lrSllk?=
 =?utf-8?B?ZFJiTGNHaUo5bEdHekI1dnF4d0h0a01XdDVKb0JGZ0VZVUdGVW56aVYxNHBa?=
 =?utf-8?B?VFZWaVVrOEgzczI5ajBuWCt3Q0t2V1dOM1hlZDJ3bW53Y2htT3lUUThsRkNk?=
 =?utf-8?B?T3R4cEdnVXBEUi9GcEI2OTZlV1FkaWZrYnB2RUNpbi8zMTVSRW1GWnlXOEtM?=
 =?utf-8?B?Y1lwYnREbEYxU1R0Ym95dzNsR2RhNUpPVldiOUVlbzdmd1lBRjVkeUVkSzRT?=
 =?utf-8?B?MjdsQ1FsdFVPWGpEK0s5TlNudEJETkVXOHNkOXdMNzM4Y2x6cjZSdVMyYy9k?=
 =?utf-8?B?dFhYTWR2YTFaNzN5ZU9uS0hOMkFIZGtpN3p2VSttK0djL3RHNldiT3VwN0FH?=
 =?utf-8?B?YTFuaUdYS3RNc2gzSTMxRTdpVHlCUXZoVEJqTVZFemt1Z2hTelByWmNFRFFo?=
 =?utf-8?B?TGxBNmNmYnNmOGlMWDlaK1c4b3RCZktCK05HODVSNk5tUTZXOUtsQUFDaU8r?=
 =?utf-8?B?RzZPL0ZGYjZQYkg1NjJDREExVStFbS9GTWJuMk04U201QzZoUktMVE1uM2p4?=
 =?utf-8?B?RzlOVmxwMWc0anNqZ2JXdUk2SWRZNUFNa2ZuMTYvMVFITmlTQ2hUZHMrc1Vy?=
 =?utf-8?B?Z0pDbTNOdWROY2VjRFJ5dzcyVHhteFljWUpvNHZvcHRTYk50N0QzTldsQjdI?=
 =?utf-8?B?bWNJcTVveWp6VCswSVNFS0E2VkZ3VlRzUDh1b2xsNnVxNGpvNmNYN3hWYzVo?=
 =?utf-8?B?SXl2M2Q3ak1qMDFQTXpyeDFyWFo1SitlT1BXV3I0NXBDQkQxM0g4dzlUMTZy?=
 =?utf-8?B?L25QYldVdWNlR1F2UW9ldERVSnk4aHVyTVBTUHJsT3BLcmRJVVlPZDl1VEJx?=
 =?utf-8?B?RGZMRG9qMEZ2aTFiSXQ3V2FGRURuc1FiWTdNTm9zZXVXMzc2UnF1MUN5K0hv?=
 =?utf-8?B?RlpDZlg1RGdXa2h5YnB5akFXbEtsSTdBSEFTSnpKWFhZVW5xYWx4T3JTUk5L?=
 =?utf-8?B?UmpDYjFDRWF0ZS9uWkhoVkN3Qk1wSHNsVk5iQnd3M296eFg1d1oxRW9sK3Z3?=
 =?utf-8?B?UElpMEhFOTR1NlJ2SHh4WFJMcXRYcU9Jd1Z3VVphVTlrUFkzTDV2VG1DdVc3?=
 =?utf-8?B?RDFNV0pSQ0ZlNmcydjdYejFSQVg4bW96ZFo1YUd3UnFYWEpCOWdmSCthUnpx?=
 =?utf-8?B?Z0FCK3pxL3RyODFIOGdFN2pGSlZoL28xTHZ5b2pBMjREa3J5RTA5dWJ4LzN5?=
 =?utf-8?B?cXdHZ0V4UW5ybnk3b3pIUVVwLzB3WFppRzU2RjluY0VMQmp5Q3d1NTN3V3RN?=
 =?utf-8?B?R0RNeExxT29PRUZWZFJEQXA0TkVjM081MkEyWThXdjdLbjJRdmNuUlRlMkRh?=
 =?utf-8?B?VTFWcDJoYWtBa1d0Z1l1bzBQdmo3bjZ1OElQeXEyZ25FempXS3ZYaXZrU25W?=
 =?utf-8?B?eEllcGo0VnREaEJEaVo2Ykc1Ti9sZE5WQ3ZyWTloaWpmcVNTam9LWE42QVQy?=
 =?utf-8?B?Q3I0UHd5YkN3ZFFiaUtycXUxblNZSWV1c25vZmlwc1ZpVE9Pd1laZWpNVjY1?=
 =?utf-8?B?UEdTVnB1SGtaVHhNNlJKR2kvcGhxRTYwOFVERjdFT3p2cm05bFpJdjgrWjdy?=
 =?utf-8?B?RUNqWk1lUElEZzNaeXpmUFc3WndLRkJSczJBR0JST0diUzJPRGVxOGd0aytI?=
 =?utf-8?B?Yk44VFpqc2N1V1FkVm8xRC9Sb2gvR1ZvcU9nR2xkOEo0U1RvNXN4a0c3OVRz?=
 =?utf-8?B?MVpETWNXY25VNXNPbkdrZTB0SWZHNFcwcjF0Uld5OWp0ZTRXVXlpQkh3eUhv?=
 =?utf-8?B?TzZ6bHRHNXJWeVl6MlNVR2tTZlZDalhSdXFETldwZWtyU1JSeTMwVTF0dXNU?=
 =?utf-8?B?VmZzSTdmeDlGcjlBcXhsOS9lS25iMSs1U3lDY25oR1ZISlNRbnIrdktRSzdr?=
 =?utf-8?B?d1FOM3JWZlZRbklBbngxbVM0OGIzRW43MDQ4ak83TWNsRzhGaVE4Mm9DbzJq?=
 =?utf-8?Q?QP0bgpJtGg2fd1o1puMytaicTFCHGs=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(376014)(1800799024)(14060799003)(36860700013)(35042699022)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 15:47:25.8830
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e2e17f1b-e668-4e66-4b96-08dd67c6833a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7635

SGkgSmVucywNCg0KVGhhbmtzIGEgbG90IGZvciB0aGUgcmV2aWV3Lg0KDQo+IE9uIDIwIE1hciAy
MDI1LCBhdCAxNToyMCwgSmVucyBXaWtsYW5kZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+
IHdyb3RlOg0KPiANCj4gSGkgQmVydHJhbmQsDQo+IA0KPiBPbiBNb24sIE1hciAxMCwgMjAyNSBh
dCAzOjUx4oCvUE0gQmVydHJhbmQgTWFycXVpcw0KPiA8YmVydHJhbmQubWFycXVpc0Bhcm0uY29t
PiB3cm90ZToNCj4+IA0KPj4gQ3JlYXRlIGEgQ09ORklHX0ZGQV9WTV9UT19WTSBwYXJhbWV0ZXIg
dG8gYWN0aXZhdGUgRkZBIGNvbW11bmljYXRpb24NCj4+IGJldHdlZW4gVk1zLg0KPj4gV2hlbiBh
Y3RpdmF0ZWQgbGlzdCBWTXMgaW4gdGhlIHN5c3RlbSB3aXRoIEZGLUEgc3VwcG9ydCBpbiBwYXJ0
X2luZm9fZ2V0Lg0KPj4gDQo+PiBXQVJOSU5HOiBUaGVyZSBpcyBubyBmaWx0ZXJpbmcgZm9yIG5v
dyBhbmQgYWxsIFZNcyBhcmUgbGlzdGVkICEhDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IEJlcnRy
YW5kIE1hcnF1aXMgPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gQ2hhbmdl
cyBpbiB2MjoNCj4+IC0gU3dpdGNoIGlmZGVmIHRvIElTX0VOQUJMRUQNCj4+IC0gZG9tIHdhcyBu
b3Qgc3dpdGNoZWQgdG8gZCBhcyByZXF1ZXN0ZWQgYnkgSmFuIGJlY2F1c2UgdGhlcmUgaXMgYWxy
ZWFkeQ0KPj4gIGEgdmFyaWFibGUgZCBwb2ludGluZyB0byB0aGUgY3VycmVudCBkb21haW4gYW5k
IGl0IG11c3Qgbm90IGJlDQo+PiAgc2hhZG93ZWQuDQo+PiAtLS0NCj4+IHhlbi9hcmNoL2FybS90
ZWUvS2NvbmZpZyAgICAgICAgfCAgMTEgKysrDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0
aW5mby5jIHwgMTQ0ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tDQo+PiB4ZW4vYXJj
aC9hcm0vdGVlL2ZmYV9wcml2YXRlLmggIHwgIDEyICsrKw0KPj4gMyBmaWxlcyBjaGFuZ2VkLCAx
MzcgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pDQo+PiANCj4+IGRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcgYi94ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcNCj4+IGlu
ZGV4IGM1YjBmODhkNzUyMi4uODhhNGM0Yzk5MTU0IDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gv
YXJtL3RlZS9LY29uZmlnDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcNCj4+IEBA
IC0yOCw1ICsyOCwxNiBAQCBjb25maWcgRkZBDQo+PiANCj4+ICAgICAgICAgIFsxXSBodHRwczov
L2RldmVsb3Blci5hcm0uY29tL2RvY3VtZW50YXRpb24vZGVuMDA3Ny9sYXRlc3QNCj4+IA0KPj4g
K2NvbmZpZyBGRkFfVk1fVE9fVk0NCj4+ICsgICAgYm9vbCAiRW5hYmxlIEZGLUEgYmV0d2VlbiBW
TXMgKFVOU1VQUE9SVEVEKSIgaWYgVU5TVVBQT1JURUQNCj4+ICsgICAgZGVmYXVsdCBuDQo+PiAr
ICAgIGRlcGVuZHMgb24gRkZBDQo+PiArICAgIGhlbHANCj4+ICsgICAgICBUaGlzIG9wdGlvbiBl
bmFibGVzIHRvIHVzZSBGRi1BIGJldHdlZW4gVk1zLg0KPj4gKyAgICAgIFRoaXMgaXMgZXhwZXJp
bWVudGFsIGFuZCB0aGVyZSBpcyBubyBhY2Nlc3MgY29udHJvbCBzbyBhbnkNCj4+ICsgICAgICBn
dWVzdCBjYW4gY29tbXVuaWNhdGUgd2l0aCBhbnkgb3RoZXIgZ3Vlc3QuDQo+PiArDQo+PiArICAg
ICAgSWYgdW5zdXJlLCBzYXkgTi4NCj4+ICsNCj4+IGVuZG1lbnUNCj4+IA0KPj4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2Zm
YV9wYXJ0aW5mby5jDQo+PiBpbmRleCBjMDUxMGNlYjgzMzguLjdhZjFlY2EyZDBjNCAxMDA2NDQN
Cj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMNCj4+ICsrKyBiL3hlbi9h
cmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMNCj4+IEBAIC03Nyw3ICs3NywyMyBAQCB2b2lkIGZm
YV9oYW5kbGVfcGFydGl0aW9uX2luZm9fZ2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0K
Pj4gICAgIH07DQo+PiAgICAgdWludDMyX3Qgc3JjX3NpemUsIGRzdF9zaXplOw0KPj4gICAgIHZv
aWQgKmRzdF9idWY7DQo+PiAtICAgIHVpbnQzMl90IGZmYV9zcF9jb3VudCA9IDA7DQo+PiArICAg
IHVpbnQzMl90IGZmYV92bV9jb3VudCA9IDAsIGZmYV9zcF9jb3VudCA9IDA7DQo+PiArDQo+IA0K
PiBUaGlzIGZ1bmN0aW9uIGlzIGdldHRpbmcgcXVpdGUgbGFyZ2UgYW5kIGl0J3MgaGFyZCB0byBm
b2xsb3cgdGhlDQo+IGRpZmZlcmVudCBsb2NrIHN0YXRlcy4gSG93IGFib3V0IHNwbGl0dGluZyBp
dCBpbnRvIHZhcmlvdXMgaGVscGVyDQo+IGZ1bmN0aW9ucz8NCg0KWWVzIEkgYWdyZWUuDQpJIHdp
bGwgdHJ5IHRvIGZpbmQgYSBnb29kIHdheSB0byBzcGxpdCB0aGlzIGluIHNtYWxsZXIgY2h1bmtz
Lg0KDQo+IA0KPj4gKyAgICBpZiAoIElTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgKQ0K
Pj4gKyAgICB7DQo+PiArICAgICAgICBzdHJ1Y3QgZG9tYWluICpkb207DQo+PiArDQo+PiArICAg
ICAgICAvKiBDb3VudCB0aGUgbnVtYmVyIG9mIFZNIHdpdGggRkYtQSBzdXBwb3J0ICovDQo+IA0K
PiBXaHkgZG8gd2UgbmVlZCB0aGlzIG5vdz8gSXNuJ3QgaXQgZW5vdWdoIHRvIGNvdW50IHRoZW0g
YmVsb3cgd2hlbiB3ZQ0KPiBmaWxsIGluIGRzdF9idWY/DQoNCldlIG5lZWQgaXQgaW4gMyBwbGFj
ZXMgaW4gdGhlIGNvZGUgYWZ0ZXI6DQotIHRvIHJldHVybiB0aGUgbnVtYmVyIG9mIGVuZHBvaW50
IGluIGNhc2UgdGhlIGZsYWcgaXMgc2V0IChzZWUgZmluYWwgcmV0dXJuKQ0KLSB0byBjaGVjayB0
aGF0IHRoZXJlIGlzIGVub3VnaCBzcGFjZSBpbiB0aGUgUlggYnVmZmVyDQotIHRvIHByZXZlbnQg
Z29pbmcgdGhyb3VnaCB0aGUgbGlzdCBvZiBkb21haW5zIGlmIG5vbmUgaXMgdG8gYmUgbGlzdGVk
IGFueXdheQ0KDQo+IA0KPj4gKyAgICAgICAgcmN1X3JlYWRfbG9jaygmZG9tbGlzdF9yZWFkX2xv
Y2spOw0KPj4gKyAgICAgICAgZm9yX2VhY2hfZG9tYWluKCBkb20gKQ0KPj4gKyAgICAgICAgew0K
Pj4gKyAgICAgICAgICAgIHN0cnVjdCBmZmFfY3R4ICp2bSA9IGRvbS0+YXJjaC50ZWU7DQo+PiAr
DQo+PiArICAgICAgICAgICAgaWYgKGRvbSAhPSBkICYmIHZtICE9IE5VTEwgJiYgdm0tPmd1ZXN0
X3ZlcnMgIT0gMCkNCj4+ICsgICAgICAgICAgICAgICAgZmZhX3ZtX2NvdW50Kys7DQo+PiArICAg
ICAgICB9DQo+PiArICAgICAgICByY3VfcmVhZF91bmxvY2soJmRvbWxpc3RfcmVhZF9sb2NrKTsN
Cj4+ICsgICAgfQ0KPj4gDQo+PiAgICAgLyoNCj4+ICAgICAgKiBJZiB0aGUgZ3Vlc3QgaXMgdjEu
MCwgaGUgZG9lcyBub3QgZ2V0IGJhY2sgdGhlIGVudHJ5IHNpemUgc28gd2UgbXVzdA0KPj4gQEAg
LTEyNywzMyArMTQzLDM4IEBAIHZvaWQgZmZhX2hhbmRsZV9wYXJ0aXRpb25faW5mb19nZXQoc3Ry
dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiANCj4+ICAgICBkc3RfYnVmID0gY3R4LT5yeDsN
Cj4+IA0KPj4gLSAgICBpZiAoICFmZmFfcnggKQ0KPj4gKyAgICAvKiBJZiBub3Qgc3VwcG9ydGVk
LCB3ZSBoYXZlIGZmYV9zcF9jb3VudD0wICovDQo+PiArICAgIGlmICggZmZhX2Z3X3N1cHBvcnRz
X2ZpZChGRkFfUEFSVElUSU9OX0lORk9fR0VUKSApDQo+PiAgICAgew0KPj4gLSAgICAgICAgcmV0
ID0gRkZBX1JFVF9ERU5JRUQ7DQo+PiAtICAgICAgICBnb3RvIG91dF9yeF9yZWxlYXNlOw0KPj4g
LSAgICB9DQo+PiArICAgICAgICBpZiAoICFmZmFfcnggKQ0KPj4gKyAgICAgICAgew0KPj4gKyAg
ICAgICAgICAgIHJldCA9IEZGQV9SRVRfREVOSUVEOw0KPj4gKyAgICAgICAgICAgIGdvdG8gb3V0
X3J4X3JlbGVhc2U7DQo+PiArICAgICAgICB9DQo+PiANCj4+IC0gICAgc3Bpbl9sb2NrKCZmZmFf
cnhfYnVmZmVyX2xvY2spOw0KPj4gKyAgICAgICAgc3Bpbl9sb2NrKCZmZmFfcnhfYnVmZmVyX2xv
Y2spOw0KPj4gDQo+PiAtICAgIHJldCA9IGZmYV9wYXJ0aXRpb25faW5mb19nZXQodXVpZCwgMCwg
JmZmYV9zcF9jb3VudCwgJnNyY19zaXplKTsNCj4+ICsgICAgICAgIHJldCA9IGZmYV9wYXJ0aXRp
b25faW5mb19nZXQodXVpZCwgMCwgJmZmYV9zcF9jb3VudCwgJnNyY19zaXplKTsNCj4+IA0KPj4g
LSAgICBpZiAoIHJldCApDQo+PiAtICAgICAgICBnb3RvIG91dF9yeF9oeXBfdW5sb2NrOw0KPj4g
KyAgICAgICAgaWYgKCByZXQgKQ0KPj4gKyAgICAgICAgICAgIGdvdG8gb3V0X3J4X2h5cF91bmxv
Y2s7DQo+PiANCj4+IC0gICAgLyoNCj4+IC0gICAgICogZmZhX3BhcnRpdGlvbl9pbmZvX2dldCgp
IHN1Y2NlZWRlZCBzbyB3ZSBub3cgb3duIHRoZSBSWCBidWZmZXIgd2UNCj4+IC0gICAgICogc2hh
cmUgd2l0aCB0aGUgU1BNQy4gV2UgbXVzdCBnaXZlIGl0IGJhY2sgdXNpbmcgZmZhX2h5cF9yeF9y
ZWxlYXNlKCkNCj4+IC0gICAgICogb25jZSB3ZSd2ZSBjb3BpZWQgdGhlIGNvbnRlbnQuDQo+PiAt
ICAgICAqLw0KPj4gKyAgICAgICAgLyoNCj4+ICsgICAgICAgICAqIGZmYV9wYXJ0aXRpb25faW5m
b19nZXQoKSBzdWNjZWVkZWQgc28gd2Ugbm93IG93biB0aGUgUlggYnVmZmVyIHdlDQo+PiArICAg
ICAgICAgKiBzaGFyZSB3aXRoIHRoZSBTUE1DLiBXZSBtdXN0IGdpdmUgaXQgYmFjayB1c2luZyBm
ZmFfaHlwX3J4X3JlbGVhc2UoKQ0KPj4gKyAgICAgICAgICogb25jZSB3ZSd2ZSBjb3BpZWQgdGhl
IGNvbnRlbnQuDQo+PiArICAgICAgICAgKi8NCj4+IA0KPj4gLSAgICAvKiB3ZSBjYW5ub3QgaGF2
ZSBhIHNpemUgc21hbGxlciB0aGFuIDEuMCBzdHJ1Y3R1cmUgKi8NCj4+IC0gICAgaWYgKCBzcmNf
c2l6ZSA8IHNpemVvZihzdHJ1Y3QgZmZhX3BhcnRpdGlvbl9pbmZvXzFfMCkgKQ0KPj4gLSAgICB7
DQo+PiAtICAgICAgICByZXQgPSBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+PiAtICAgICAgICBn
b3RvIG91dF9yeF9oeXBfcmVsZWFzZTsNCj4+ICsgICAgICAgIC8qIHdlIGNhbm5vdCBoYXZlIGEg
c2l6ZSBzbWFsbGVyIHRoYW4gMS4wIHN0cnVjdHVyZSAqLw0KPj4gKyAgICAgICAgaWYgKCBzcmNf
c2l6ZSA8IHNpemVvZihzdHJ1Y3QgZmZhX3BhcnRpdGlvbl9pbmZvXzFfMCkgKQ0KPj4gKyAgICAg
ICAgew0KPj4gKyAgICAgICAgICAgIHJldCA9IEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+ICsg
ICAgICAgICAgICBnb3RvIG91dF9yeF9oeXBfcmVsZWFzZTsNCj4+ICsgICAgICAgIH0NCj4+ICAg
ICB9DQo+PiANCj4+IC0gICAgaWYgKCBjdHgtPnBhZ2VfY291bnQgKiBGRkFfUEFHRV9TSVpFIDwg
ZmZhX3NwX2NvdW50ICogZHN0X3NpemUgKQ0KPj4gKyAgICBpZiAoIGN0eC0+cGFnZV9jb3VudCAq
IEZGQV9QQUdFX1NJWkUgPA0KPj4gKyAgICAgICAgIChmZmFfc3BfY291bnQgKyBmZmFfdm1fY291
bnQpICogZHN0X3NpemUgKQ0KPj4gICAgIHsNCj4+ICAgICAgICAgcmV0ID0gRkZBX1JFVF9OT19N
RU1PUlk7DQo+PiAgICAgICAgIGdvdG8gb3V0X3J4X2h5cF9yZWxlYXNlOw0KPj4gQEAgLTE4Miwy
NSArMjAzLDg4IEBAIHZvaWQgZmZhX2hhbmRsZV9wYXJ0aXRpb25faW5mb19nZXQoc3RydWN0IGNw
dV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgICAgIH0NCj4+ICAgICB9DQo+PiANCj4+ICsgICAg
aWYgKCBmZmFfZndfc3VwcG9ydHNfZmlkKEZGQV9QQVJUSVRJT05fSU5GT19HRVQpICkNCj4+ICsg
ICAgew0KPj4gKyAgICAgICAgZmZhX2h5cF9yeF9yZWxlYXNlKCk7DQo+PiArICAgICAgICBzcGlu
X3VubG9jaygmZmZhX3J4X2J1ZmZlcl9sb2NrKTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBp
ZiAoIElTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgJiYgZmZhX3ZtX2NvdW50ICkNCj4+
ICsgICAgew0KPj4gKyAgICAgICAgc3RydWN0IGRvbWFpbiAqZG9tOw0KPj4gKyAgICAgICAgdWlu
dDMyX3QgY3VyciA9IDA7DQo+PiArDQo+PiArICAgICAgICAvKiBhZGQgdGhlIFZNIGluZm9ybWF0
aW9ucyBpZiBhbnkgKi8NCj4+ICsgICAgICAgIHJjdV9yZWFkX2xvY2soJmRvbWxpc3RfcmVhZF9s
b2NrKTsNCj4+ICsgICAgICAgIGZvcl9lYWNoX2RvbWFpbiggZG9tICkNCj4+ICsgICAgICAgIHsN
Cj4+ICsgICAgICAgICAgICBzdHJ1Y3QgZmZhX2N0eCAqdm0gPSBkb20tPmFyY2gudGVlOw0KPj4g
Kw0KPj4gKyAgICAgICAgICAgIC8qDQo+PiArICAgICAgICAgICAgICogd2UgZG8gbm90IGFkZCB0
aGUgVk0gY2FsbGluZyB0byB0aGUgbGlzdCBhbmQgb25seSBWTXMgd2l0aA0KPj4gKyAgICAgICAg
ICAgICAqIEZGLUEgc3VwcG9ydA0KPj4gKyAgICAgICAgICAgICAqLw0KPj4gKyAgICAgICAgICAg
IGlmIChkb20gIT0gZCAmJiB2bSAhPSBOVUxMICYmIHZtLT5ndWVzdF92ZXJzICE9IDApDQo+PiAr
ICAgICAgICAgICAgew0KPj4gKyAgICAgICAgICAgICAgICAvKg0KPj4gKyAgICAgICAgICAgICAg
ICAgKiBXZSBkbyBub3QgaGF2ZSBVVUlEIGluZm8gZm9yIFZNcyBzbyB1c2UNCj4+ICsgICAgICAg
ICAgICAgICAgICogdGhlIDEuMCBzdHJ1Y3R1cmUgc28gdGhhdCB3ZSBzZXQgVVVJRHMgdG8NCj4+
ICsgICAgICAgICAgICAgICAgICogemVybyB1c2luZyBtZW1zZXQNCj4+ICsgICAgICAgICAgICAg
ICAgICovDQo+PiArICAgICAgICAgICAgICAgIHN0cnVjdCBmZmFfcGFydGl0aW9uX2luZm9fMV8w
IHNyY3ZtOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgICBpZiAoIGN1cnIgPT0gZmZhX3ZtX2Nv
dW50ICkNCj4+ICsgICAgICAgICAgICAgICAgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgLyoN
Cj4+ICsgICAgICAgICAgICAgICAgICAgICAqIFRoZSBudW1iZXIgb2YgZG9tYWlucyBjaGFuZ2Vk
IHNpbmNlIHdlIGNvdW50ZWQgdGhlbSwgd2UNCj4+ICsgICAgICAgICAgICAgICAgICAgICAqIGNh
biBhZGQgbmV3IG9uZXMgaWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGluIHRoZQ0KPj4gKyAgICAg
ICAgICAgICAgICAgICAgICogZGVzdGluYXRpb24gYnVmZmVyIHNvIGNoZWNrIGl0IG9yIGdvIG91
dCB3aXRoIGFuIGVycm9yLg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICovDQo+IA0KPiBXaHkg
ZG8gd2UgY2FyZSBpZiB0aGUgbnVtYmVyIGhhcyBjaGFuZ2VkPyBJZiBpdCBmaXRzLCBhbGwgaXMg
Z29vZA0KPiBhbnl3YXkgYW5kIHdlJ3JlIGFsc28gdXBkYXRpbmcgZmZhX3ZtX2NvdW50IHdpdGgg
Y3VyciBhZnRlciB0aGUgbG9vcC4NCg0KV2VsbCB0aGlzIGlzIGV4YWN0bHkgdGhlIHBvaW50IGhl
cmUsIHdlIGNoZWNrIGlmIHdlIGhhdmUgZW5vdWdoIHNwYWNlIHRvDQpyZXR1cm4gdGhlIGRhdGEg
d2l0aCB0aGUgbmV3IGRvbWFpbnMgYW5kIGlmIG5vdCB3ZSByZXR1cm4gYW4gZXJyb3IuDQoNClRo
ZSBwb2ludCBoZXJlIGlzIHRvIG1ha2Ugc3VyZSB0aGF0IGlmIHRoZXJlIGFyZSBtb3JlIGRvbWFp
bnMgdGhhbiB3aGVuDQp3ZSBjb3VudGVkIGZpcnN0IHdlIGNoZWNrIHRoYXQgd2UgaGF2ZSBlbm91
Z2ggc2l6ZSBhbmQgdGhlIHVwZGF0ZSBhdCB0aGUNCmVuZCBpcyB0byBoYW5kbGUgdGhlIGNhc2Ug
d2hlcmUgd2UgaGF2ZSBhY3R1YWxseSBsZXNzIGRvbWFpbnMgdGhhbiB3aGVuDQp3ZSBjb3VudGVk
IGZpcnN0Lg0KDQpJZiB0aGUgbnVtYmVyIGhhcyBjaGFuZ2VkIHdlIG9ubHkgY2FyZSBiZWNhdXNl
IHdlIG5lZWQgdG8gbWFrZSBzdXJlDQp3ZSBoYXZlIGVub3VnaCBzcGFjZSBhbmQgYmVjYXVzZSB3
ZSBuZWVkIHRvIHJldHVybiB0aGUgcmlnaHQgbnVtYmVyDQp0byB0aGUgY2FsbGVyLg0KDQpQbGVh
c2UgdGVsbCBtZSBob3cgeW91IHdvdWxkIGxpa2UgbWUgdG8gY2hhbmdlIHRoaXMgYmVjYXVzZSBJ
IGRvIG5vdA0KdW5kZXJzdGFuZCB3aGF0IEkgc2hvdWxkIG1vZGlmeSBoZXJlLg0KDQpDaGVlcnMN
CkJlcnRyYW5kDQoNCj4gDQo+IENoZWVycywNCj4gSmVucw0KPiANCj4+ICsgICAgICAgICAgICAg
ICAgICAgIGZmYV92bV9jb3VudCsrOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgaWYgKCBjdHgt
PnBhZ2VfY291bnQgKiBGRkFfUEFHRV9TSVpFIDwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgKGZmYV9zcF9jb3VudCArIGZmYV92bV9jb3VudCkgKiBkc3Rfc2l6ZSApDQo+PiArICAgICAg
ICAgICAgICAgICAgICB7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gRkZBX1JF
VF9OT19NRU1PUlk7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgcmN1X3JlYWRfdW5sb2Nr
KCZkb21saXN0X3JlYWRfbG9jayk7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgZ290byBv
dXRfcnhfcmVsZWFzZTsNCj4+ICsgICAgICAgICAgICAgICAgICAgIH0NCj4+ICsgICAgICAgICAg
ICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgICBzcmN2bS5pZCA9IGZmYV9nZXRfdm1f
aWQoZG9tKTsNCj4+ICsgICAgICAgICAgICAgICAgc3Jjdm0uZXhlY3V0aW9uX2NvbnRleHQgPSBk
b20tPm1heF92Y3B1czsNCj4+ICsgICAgICAgICAgICAgICAgc3Jjdm0ucGFydGl0aW9uX3Byb3Bl
cnRpZXMgPSBGRkFfUEFSVF9WTV9QUk9QOw0KPj4gKyAgICAgICAgICAgICAgICBpZiAoIGlzXzY0
Yml0X2RvbWFpbihkb20pICkNCj4+ICsgICAgICAgICAgICAgICAgICAgIHNyY3ZtLnBhcnRpdGlv
bl9wcm9wZXJ0aWVzIHw9IEZGQV9QQVJUX1BST1BfQUFSQ0g2NF9TVEFURTsNCj4+ICsNCj4+ICsg
ICAgICAgICAgICAgICAgbWVtY3B5KGRzdF9idWYsICZzcmN2bSwgTUlOKHNpemVvZihzcmN2bSks
IGRzdF9zaXplKSk7DQo+PiArDQo+PiArICAgICAgICAgICAgICAgIGlmICggZHN0X3NpemUgPiBz
aXplb2Yoc3Jjdm0pICkNCj4+ICsgICAgICAgICAgICAgICAgICAgIG1lbXNldChkc3RfYnVmICsg
c2l6ZW9mKHNyY3ZtKSwgMCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc2l6
ZSAtIHNpemVvZihzcmN2bSkpOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgICBkc3RfYnVmICs9
IGRzdF9zaXplOw0KPj4gKyAgICAgICAgICAgICAgICBjdXJyKys7DQo+PiArICAgICAgICAgICAg
fQ0KPj4gKyAgICAgICAgfQ0KPj4gKyAgICAgICAgcmN1X3JlYWRfdW5sb2NrKCZkb21saXN0X3Jl
YWRfbG9jayk7DQo+PiArDQo+PiArICAgICAgICAvKiB0aGUgbnVtYmVyIG9mIGRvbWFpbnMgY291
bGQgaGF2ZSByZWR1Y2Ugc2luY2UgdGhlIGluaXRpYWwgY291bnQgKi8NCj4+ICsgICAgICAgIGZm
YV92bV9jb3VudCA9IGN1cnI7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgZ290byBvdXQ7DQo+
PiArDQo+PiBvdXRfcnhfaHlwX3JlbGVhc2U6DQo+PiAgICAgZmZhX2h5cF9yeF9yZWxlYXNlKCk7
DQo+PiBvdXRfcnhfaHlwX3VubG9jazoNCj4+ICAgICBzcGluX3VubG9jaygmZmZhX3J4X2J1ZmZl
cl9sb2NrKTsNCj4+IG91dF9yeF9yZWxlYXNlOg0KPj4gLSAgICAvKg0KPj4gLSAgICAgKiBUaGUg
Y2FsbGluZyBWTSBSWCBidWZmZXIgb25seSBjb250YWlucyBkYXRhIHRvIGJlIHVzZWQgYnkgdGhl
IFZNIGlmIHRoZQ0KPj4gLSAgICAgKiBjYWxsIHdhcyBzdWNjZXNzZnVsLCBpbiB3aGljaCBjYXNl
IHRoZSBWTSBoYXMgdG8gcmVsZWFzZSB0aGUgYnVmZmVyDQo+PiAtICAgICAqIG9uY2UgaXQgaGFz
IHVzZWQgdGhlIGRhdGEuDQo+PiAtICAgICAqIElmIHNvbWV0aGluZyB3ZW50IHdyb25nIGR1cmlu
ZyB0aGUgY2FsbCwgd2UgaGF2ZSB0byByZWxlYXNlIHRoZSBSWA0KPj4gLSAgICAgKiBidWZmZXIg
YmFjayB0byB0aGUgU1BNQyBhcyB0aGUgVk0gd2lsbCBub3QgZG8gaXQuDQo+PiAtICAgICAqLw0K
Pj4gLSAgICBpZiAoIHJldCAhPSBGRkFfUkVUX09LICkNCj4+IC0gICAgICAgIGZmYV9yeF9yZWxl
YXNlKGQpOw0KPj4gKyAgICBmZmFfcnhfcmVsZWFzZShkKTsNCj4+IG91dDoNCj4+ICAgICBpZiAo
IHJldCApDQo+PiAgICAgICAgIGZmYV9zZXRfcmVnc19lcnJvcihyZWdzLCByZXQpOw0KPj4gICAg
IGVsc2UNCj4+IC0gICAgICAgIGZmYV9zZXRfcmVnc19zdWNjZXNzKHJlZ3MsIGZmYV9zcF9jb3Vu
dCwgZHN0X3NpemUpOw0KPj4gKyAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVncywgZmZh
X3NwX2NvdW50ICsgZmZhX3ZtX2NvdW50LCBkc3Rfc2l6ZSk7DQo+PiB9DQo+PiANCj4+IHN0YXRp
YyBpbnQzMl90IGZmYV9kaXJlY3RfcmVxX3NlbmRfdm0odWludDE2X3Qgc3BfaWQsIHVpbnQxNl90
IHZtX2lkLA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaCBi
L3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaA0KPj4gaW5kZXggYzRjZDY1NTM4OTA4Li5i
ZDY4NzdkOGM2MzIgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRl
LmgNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaA0KPj4gQEAgLTE4Nyw2
ICsxODcsMTggQEANCj4+ICAqLw0KPj4gI2RlZmluZSBGRkFfUEFSVElUSU9OX0lORk9fR0VUX0NP
VU5UX0ZMQUcgQklUKDAsIFUpDQo+PiANCj4+ICsvKg0KPj4gKyAqIFBhcnRpdGlvbiBwcm9wZXJ0
aWVzIHdlIGdpdmUgZm9yIGEgbm9ybWFsIHdvcmxkIFZNOg0KPj4gKyAqIC0gY2FuIHNlbmQgZGly
ZWN0IG1lc3NhZ2UgYnV0IG5vdCByZWNlaXZlIHRoZW0NCj4+ICsgKiAtIGNhbiBoYW5kbGUgaW5k
aXJlY3QgbWVzc2FnZXMNCj4+ICsgKiAtIGNhbiByZWNlaXZlIG5vdGlmaWNhdGlvbnMNCj4+ICsg
KiAzMi82NCBiaXQgZmxhZyBpcyBzZXQgZGVwZW5kaW5nIG9uIHRoZSBWTQ0KPj4gKyAqLw0KPj4g
KyNkZWZpbmUgRkZBX1BBUlRfVk1fUFJPUCAgICAoRkZBX1BBUlRfUFJPUF9ESVJFQ1RfUkVRX1NF
TkQgfCBcDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGRkFfUEFSVF9QUk9QX0lO
RElSRUNUX01TR1MgfCBcDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGRkFfUEFS
VF9QUk9QX1JFQ1ZfTk9USUYgfCBcDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
RkFfUEFSVF9QUk9QX0lTX1BFX0lEKQ0KPj4gKw0KPj4gLyogRmxhZ3MgdXNlZCBpbiBjYWxscyB0
byBGRkFfTk9USUZJQ0FUSU9OX0dFVCBpbnRlcmZhY2UgICovDQo+PiAjZGVmaW5lIEZGQV9OT1RJ
Rl9GTEFHX0JJVE1BUF9TUCAgICAgICAgQklUKDAsIFUpDQo+PiAjZGVmaW5lIEZGQV9OT1RJRl9G
TEFHX0JJVE1BUF9WTSAgICAgICAgQklUKDEsIFUpDQo+PiAtLQ0KPj4gMi40Ny4xDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:48:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:48:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922747.1326587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvI7q-00083J-8v; Thu, 20 Mar 2025 15:48:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922747.1326587; Thu, 20 Mar 2025 15:48: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 1tvI7q-00083C-5w; Thu, 20 Mar 2025 15:48:06 +0000
Received: by outflank-mailman (input) for mailman id 922747;
 Thu, 20 Mar 2025 15: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvI7p-0007Wt-Pr
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:48:05 +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 b64ef1b0-05a2-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:48:05 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso10355495e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:48: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-43d3cf2e1ffsm35514875e9.3.2025.03.20.08.48.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 08:48: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: b64ef1b0-05a2-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742485684; x=1743090484; 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=KYrtEsH5rxQGyf9szM1e9KMYI57//DwtWOggtOF8scY=;
        b=Kvz4rcKYoBIkHmyPQyRJcZXq+voE9dbCUxxX9NvB5r52MROgixlgNHjvtD2youGOeO
         ESrOckzXCqS60hjVAzxzZwry+bow1S6FgP6Aq2YMhznsS6LturAEiIycQE0T3zLBHLuJ
         WPgMm1qtw6IBcZxEFo/X+LUXvRWWhlhwfaB3YNK7WFdbj+qO8JWR2glOeP+hVz5ym+MC
         aDmqO9J07oaT629KUzY/vLemA4fJYNbM7/dzPJCCoeyN6yg3tLmjds94ZPlkBIU82V0e
         30gflh3+bD+iD4UmbEPbmOTUf+Pp5CpOhdIAV2+9eVnvgUSfqyIPX//H4HX5qauhdzQt
         cNSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742485684; x=1743090484;
        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=KYrtEsH5rxQGyf9szM1e9KMYI57//DwtWOggtOF8scY=;
        b=TH4n1q31ZIzCVR0E6zabJauqZgzGrj4PpLMrOtW+0rez1Y9oENSslVg0FkD6G3Xawg
         rQs9aomf18izZ8y6fPn4PRH5p8WNT7jGKruzmlfNgBXTE0mLlMwREk3OPtIPGmziWkGO
         uzVCW2WbpircBxizsQ5DNOHHaWrn9D2Wt8reZCOAzu+jNd0JNsJiNAiM3buB215y2td0
         EwNYH+lazn1BXJVtbssxLdeUGair/Ol9JwAwUaD1KUU4SfYgFlVlThagBazCqOANvYCE
         BqIP8ytrE4tt32AB5sXQfbLTnKktBZHRf1331haBy//2/GcYKKhW00DYMI98gpclhAGI
         8yrA==
X-Forwarded-Encrypted: i=1; AJvYcCUBN73MpXcaHRwIxIC2mbRZWA621NjOWFB75ORuJZNdQDZ6bvPOIW4jJ8knJi4GPsulXnW3jnxe83Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxHtoN/viFdEySo5k3Accp3bTTC0T1rrHTjNV4oFquVJcgz507s
	gJcgiNKFnBcCCRjjIxU+VwdSmigaFLM5+NnNBFUKnnwCD+0qpdEV9Rl8INJmQw==
X-Gm-Gg: ASbGncvyE0GrLUN9LmivljIGkKQ66M1IIS9uD9U2ECAiwu6hdEJBXfQtjx/+4QYnYYk
	G+5QfwApTWPpNl4oafeWWwMpAHlZk6BsRVdZPNA0NjPALaFSKGD4dIeemaVJe5VFgVvI3SZ+Vvx
	nYb3ephlwWonM8N3Z/IPKug41a3h57gFNEubCAzs/Us90NtYVcIoSUHnFdsBGVuUDQKqcbCcivb
	hpywsPrnO/Ptlwnm0zVUXeXMH161HBHIGXc1RdrEsOs/Uz0WeAbyOVP5iEfpVXOXJ3ut+saZJkY
	VLvP6fcBMkSBcfa6G65iX+Eh5d8udFfVXz+VwCIpna2Sf4QsKXSuZkKQkyvxj2DmDkkdbqmAvwf
	6TxNhFD3HZgZziSJGPlXDXC/C6pB6aA==
X-Google-Smtp-Source: AGHT+IFgP3zs6a6gXe+HgJZY+1WDDtMvbsIpTD3YDHXObKtvlII6jdyHEY4Bp6adfXkxJFBVNNOoOA==
X-Received: by 2002:a05:600c:5128:b0:43c:fdbe:4398 with SMTP id 5b1f17b1804b1-43d49521f28mr38428175e9.6.1742485684430;
        Thu, 20 Mar 2025 08:48:04 -0700 (PDT)
Message-ID: <fb116d7e-e678-4ac9-920a-de7e5b227417@suse.com>
Date: Thu, 20 Mar 2025 16:48:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 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: <Z9qxcRtap-k-wW8B@mail-itl>
 <943644a3-45f2-46ef-a54b-6dd0bc6171ed@suse.com> <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14> <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com> <Z9wfKB0vdngn3xXX@mail-itl>
 <Z9wnzRbwb3HQaSMu@l14> <Z9wxcYapF5eno29b@mail-itl>
 <7698a70a-db0a-4d5d-b5ad-8c0636bc5a33@suse.com> <Z9w1BLntGv4ksws0@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: <Z9w1BLntGv4ksws0@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 16:32, Marek Marczykowski-GĂłrecki wrote:
> On Thu, Mar 20, 2025 at 04:21:18PM +0100, Jan Beulich wrote:
>> On 20.03.2025 16:17, Marek Marczykowski-GĂłrecki wrote:
>>> On Thu, Mar 20, 2025 at 02:35:59PM +0000, Anthony PERARD wrote:
>>>> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>>> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
>>>>>> On 20.03.2025 13:51, Marek Marczykowski-GĂłrecki wrote:
>>>>>>> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
>>>>>>>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>>>>>>> There are clearly some build path embedding left. And
>>>>>>>>> -ffile-prefix-map=/-fdebug-prefix-map= doesn't work correctly with
>>>>>>>>> XEN_ROOT having xen/.. at the end.
>>>>>>>>> BTW, would it be acceptable to have this?
>>>>>>>>>
>>>>>>>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=$(realpath $(XEN_ROOT))=.)
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fine
>>>>>>>> in "tools/"). In "xen/", there's a few variables you can use if they are
>>>>>>>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctree)
>>>>>>>> $(objtree) for relative path. That also should avoid the need to use
>>>>>>>> $(realpath ).
>>>>>>>
>>>>>>> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it to
>>>>>>> not have /.. for prefix-map to work correctly. Would it be better to use
>>>>>>> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
>>>>>>> have paths in debug symbols relative to hypervisor source dir, instead
>>>>>>> of xen repo root? I'm not sure if that wouldn't confuse some tools...
>>>>>>
>>>>>> abs_srctree being computed using realpath, can't we replace
>>>>>>
>>>>>> export XEN_ROOT := $(abs_srctree)/..
>>>>>>
>>>>>> by something as simpl{e,istic} as
>>>>>>
>>>>>> export XEN_ROOT := $(patsubst %/xen,%,$(abs_srctree))
>>>>>>
>>>>>> ?
>>>>>
>>>>> That works too. It's slightly less robust, but I don't expect "xen"
>>>>> directory to be renamed, so shouldn't be an issue. I'll leave also a
>>>>> comment there why not /.. .
>>>>
>>>> I don't think $(XEN_ROOT) is present in the binaries produce by the
>>>> hypervisor's build system. There's only a few use if that variable: to
>>>> load some makefile, to execute makefile that build xsm policy and to
>>>> generate cpuid-autogen.h. Otherwise I don't think the compile have this
>>>> path in the command line. What is going to be in the binary is
>>>> $(abs_srctree), which you can replace by "./xen" if you want; which mean
>>>> it doesn't matter if the directory is renamed or not. You might want to
>>>> also take care of $(abs_objtree) which seems to also be in `xen-syms`
>>>> when doing out-of-tree build.
>>>
>>> So, you suggest to do -fdebug-prefix-map=$(abs_srctree)=./xen ? That
>>> appears to work for in-tree builds too.
>>
>> And why ./xen (question to Anthony)? Just . is quite fine, isn't it?
> 
> It makes paths in debug symbols relative to xen/ subdir, not the
> repository root. I'm not sure if that is a problem, but it may be for
> some tools.

Yet especially in the symbol table (and hence in strack traces) that's
unnecessary extra space it takes up.

>>> But now I actually tested how it looks with out-of-tree builds, and
>>> indeed $(abs_objtree) is embedded there too. Adding
>>> -fdebug-prefix-map=$(abs_objtree)=./xen appears to help for this. But,
>>> -fdebug-prefix-map doesn't help with abs_srctree in out-of-tree builds
>>> for some reason. -ffile-prefix-map does. And so does -fdebug-prefix-map
>>> + -fmacro-prefix-map. Is there any preference which one to use? It
>>> appears as -fmacro-prefix-map and -ffile-prefix-map have the same
>>> availability in both GCC (8) and Clang (10).
>>
>> Then the simpler -ffile-prefix-map is better, imo. Question then is
>> whether any of the options is actually needed at all for in-tree builds.
> 
> Yes, without any of those options, both xen-syms and xen.efi contain
> full source path.

Even in builds without debug info? Imo a goal ought to be to specify the
weakest possible of these options for any particular build mode. I.e.
possibly -ffile-prefix-map= for out of tree builds, else
-fdebug-prefix-map= when DEBUG_INFO=y, else nothing (if possible).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:53:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:53:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922776.1326596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvICo-0002n5-Qy; Thu, 20 Mar 2025 15:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922776.1326596; Thu, 20 Mar 2025 15: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 1tvICo-0002my-OJ; Thu, 20 Mar 2025 15:53:14 +0000
Received: by outflank-mailman (input) for mailman id 922776;
 Thu, 20 Mar 2025 15:53: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=a0MG=WH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tvI87-0007Wt-7i
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:48:23 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c05342e4-05a2-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:48:22 +0100 (CET)
Received: from PA7P264CA0167.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:36f::18)
 by DB9PR08MB6474.eurprd08.prod.outlook.com (2603:10a6:10:255::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar
 2025 15:48:16 +0000
Received: from AMS0EPF000001A9.eurprd05.prod.outlook.com
 (2603:10a6:102:36f:cafe::a7) by PA7P264CA0167.outlook.office365.com
 (2603:10a6:102:36f::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Thu,
 20 Mar 2025 15:48:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) 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.8534.20
 via Frontend Transport; Thu, 20 Mar 2025 15:48:15 +0000
Received: ("Tessian outbound 9f6e20ec4b41:v597");
 Thu, 20 Mar 2025 15:48:15 +0000
Received: from Lab94811f23ea.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 255F2787-858A-4F59-BC3A-113ECF7B3C0C.1; 
 Thu, 20 Mar 2025 15:48:08 +0000
Received: from AS8PR03CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lab94811f23ea.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 20 Mar 2025 15:48:08 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAWPR08MB8981.eurprd08.prod.outlook.com (2603:10a6:102:33e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.35; Thu, 20 Mar
 2025 15:48:06 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.036; Thu, 20 Mar 2025
 15:48: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: c05342e4-05a2-11f0-9ea0-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=W1xu0+8gwIH6ppH5gku78tzOnV+e4lAdt8r+gaVN3o5lwaqekXtO4sAm0BYOgC1VSy66x0ybZO0cHVsQOhkUtwsa8rcA64FdHALucV7j7U9+5YDbXj1XYBGnQNgCE/Uuc/l2I+yOK7XkQ7jfzERa92HivoVPcf1Q+eDKForx7R1r4S323qTfXHz5U6sF8f+rUdDUEds7rp88t60MQ5u9dKceXS/SmkeoUZOlV7h+Lh0LwXEMTWDPxGK71oP/exB0SdKjQ1EsjPhdKlPf83Nb6wYswtR+kQdC/6QV6d7FUH/ynePUtcToGLqviX4K/S9Xzl6doYz1POHiB366LZat8A==
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=fVh7QtclDMmlrZy04OFVeLNWt8Cq4DMhVNyZawDDfjk=;
 b=QdGEYyl5be96yHrXkBwG7BGhC25L2LhMQatBcZgcETFNm7zauPHSPPnJO3a0iZqzyjwB7QivVoayTsLe3rUdK9FsqwRUag2TIhg6ZGLlHM45mZ9g+z58XdpOlZkH4ERQt7jUA0Api+V3l3s1Y19ATG7WuRPGwL/bysUmiEfjuxzKpuu18RbIEJ2a/xVeIMxMeTP7Qvg/ubtUmuMhxbOdtbcERDYWPD/NXBVSS0ljteO90XaR+6QoGdfNjbKtc8uc3KA0P8EY5wHrRice57oBVnB3dy7noRGsKj11MEzg0KOgpdfntuw+aN36T769rQ895rnMzUS3xbqTv3Ussd72WA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=fVh7QtclDMmlrZy04OFVeLNWt8Cq4DMhVNyZawDDfjk=;
 b=sAZ8e1FKcmh7yabkZ2yC7IeDRgsVo65Oy3fzmt2i3fhHlqe2JFV1T/TwcTFiSHgwPt7PPqFEdttl0vHmGSXgO5DrejUUfJsyLOuRBB3ltTaA5Jms4ZrBJLnJjx1bfXPkSBBydQnbFOtyyNfTotAzA9NbKHc1GU10g4ejI4Z9YbE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 9a8288f1712f9504
X-TessianGatewayMetadata: EuNHqn7dy93RBcgyY8gKSo/ll39wEA/bKUsqBet6TAAsb67Aku2cRrMmZ2cyhvczwc69rwoeg6Gh8WpATg6WP7q83RULd5z3vXg0BY2u2lR7NI1Ez76/uar9SNsVYejtbW/OxMaZ5Qv6jw5mPEzZkYc5IAs2NbC3m4fMNCAvulI=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=awfj+6pVxrG4U4XWBUUDs0WY2jgperc1ddlCLFoGDMIozKd5XEwe6drxi2bgHB6KUaERWZXHvs/v/e5rhekgEUU8rPqSZ+P67WZFN+HBTrJGihG4nLY8gRFz0Osg0civLTkJGPLWtUi+p7t4MUgmbrj2D8lsI0cB6KeXcGyu5b310wP4n0N2WaLSHL2MRjK2kk1Wq2ZtdFgJwXiKo7PXca0EidBw835fSLi8vfc1Mxy2buzLIFThy5a1uSlBh31bMjI9ftv9y9ys+U0bWDOYLMBGUr4wT3wfb9MJp4Kmw/rNM1EcyjJewH0QpxCfgGOtbNiqkUQnn2LGz8uoztvnbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fVh7QtclDMmlrZy04OFVeLNWt8Cq4DMhVNyZawDDfjk=;
 b=JPNrJTC4+yEQBiNGGCS+IbfmC2HETUqqlycWZnnRgUOT01/aVCa9FlFrckLEEggggSlsSeXHxDNpCyQdsp66RKZIpgT20rI5iigmHrNUoWDtYSjPCzlc28kV/r5jxyDkOpI2DA7CUZ/M5MSrKKcpMD8CBhynH+mT8WsK6FSixEGhOjvwtRKRGHK0Ku60FUzO9OoQLdu/RUAlbeuectqIBgWEWZIrzVzob+cYhBPsFPIQENYIy4JbTM/EjiPsR8nDVjsCM/U60MNSrzje4oyNTFD0SwAvVCdTBIjZnt5pR3NB8rX0BTTIN70jbmCZicYIUdAh5F6o1ZOGtb8uWsQxIQ==
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=fVh7QtclDMmlrZy04OFVeLNWt8Cq4DMhVNyZawDDfjk=;
 b=sAZ8e1FKcmh7yabkZ2yC7IeDRgsVo65Oy3fzmt2i3fhHlqe2JFV1T/TwcTFiSHgwPt7PPqFEdttl0vHmGSXgO5DrejUUfJsyLOuRBB3ltTaA5Jms4ZrBJLnJjx1bfXPkSBBydQnbFOtyyNfTotAzA9NbKHc1GU10g4ejI4Z9YbE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v2 3/5] xen/arm: ffa: Add buffer full notification support
Thread-Topic: [PATCH v2 3/5] xen/arm: ffa: Add buffer full notification
 support
Thread-Index: AQHbkcvmIfvaAChpR0q1sfiN2EYKc7N8K3MAgAAP2gA=
Date: Thu, 20 Mar 2025 15:48:06 +0000
Message-ID: <02A52278-F760-4BF5-841A-DF5B80DC9EC7@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <5bbdc8bc0377014a0c683f8f9e154267e4b27c1f.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44Fd=Q1YKBhjiTwhM+aVT7BX59234XW9HonogqW2er0+Cw@mail.gmail.com>
In-Reply-To:
 <CAHUa44Fd=Q1YKBhjiTwhM+aVT7BX59234XW9HonogqW2er0+Cw@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAWPR08MB8981:EE_|AMS0EPF000001A9:EE_|DB9PR08MB6474:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d3ed6d4-6cb2-4f55-83d6-08dd67c6a102
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|10070799003|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Z2pieDhtY21OOVRZQkZKcnhOcUNWeGZkbXFLMnpJREsraG8rS0dwY1FQaWR4?=
 =?utf-8?B?bE8yR3A4VURsVVlOTDBUK0FiL0Y1Y1RHcm10dTd1czlKbVlPSFB0Tjc0dVlh?=
 =?utf-8?B?eDhnN3RoQ251VXRxaXBrMU9qTWZMK0hTSFZsNThHS2wzVlV4eE5ON3ljcTBt?=
 =?utf-8?B?dUxYUU9WMWRrUGRUd0dNSDJMTHN6QmM0Sm9JZWxFaThSdWRNV1NLUytjWk92?=
 =?utf-8?B?bzlaL0xNRzltWkFEenZ0RkQzaGFpRm9MTVlpcWlkQmJHUmJBeWVxdkp4QkdW?=
 =?utf-8?B?a045cnEwOWNTRFpNblpPZmFUM2FRZzF0Y2ErNkFZVjQyVk1uSFZEVFEvRjcz?=
 =?utf-8?B?NnYxbGNaQlExVHI5aG9vK01ocE5aRUpvVFhJUHh5MldvR3VuVGY5RjBvcjFn?=
 =?utf-8?B?dmNscDd0R1VqZWZNR09RRVE1VTdpc0RqenJlbUlRVXNjVENoWWJ3V1hTTlZT?=
 =?utf-8?B?Q3pkQ2NMYTJMemNMdHE0S3A0eWJjL3d0MlpEV0pKRm43NjNvRUV3ZFFhS3dC?=
 =?utf-8?B?cnNwNjhJcjRDYUZQOWh3b2xZZU56UGJHVmYzcDNyalhpanFoVEZCZWlNNnpn?=
 =?utf-8?B?RW02dEloT1hscVJRZTF4bXdZTTBxVEE2bC80WW5MNFBlU0kvdUE0c0s5Mitk?=
 =?utf-8?B?NlVwREtqUHhlTERSZC9vcDZ0cm8yWGtCd21qY2hoZkRhUGZnUjU2azNZL0Er?=
 =?utf-8?B?VlpFdU5RUnlYRzBSQ2NMUm9YZEhoQnJOaXc0ZTNKZGp1UFBrYWRTbVFnTmQy?=
 =?utf-8?B?VDZhZGpUeDcrUzgvS3FLS0p0eTRYYzZNSHV6U3A2Mk10Z2FOaHFoYmRFaEhN?=
 =?utf-8?B?eVc0dlRIWloreDlMbkhXaWVUa1F1YUpKK3pxNGloNmd5SzRjRTRsdEp2NmRi?=
 =?utf-8?B?b3AzbzlSZCtIRjJDRGVsRkkrcm9lelNCMzBzd0x0ZmVOc3UyVERaVlFydGRF?=
 =?utf-8?B?RXhFTWxmTmgxZEZ6QitERDQ3WXhuYkg2RFVhQnlFdTZ5T0t1U21hai9yVUpi?=
 =?utf-8?B?VWpOR3QwV2wrYjYyWU14T1ovYW1xaTRwUEJPbk5nMWxrR3h4YTllVWQ1Qk5Q?=
 =?utf-8?B?aktZV09TVWgxaVU1MjJ5dVh6Q2QzbVlqdnZhdCs4dVA1SlJpcmtuZ3dlQ3l2?=
 =?utf-8?B?TXE1VU9ESzJVbmVDK3hUYlNJeGxIN2UxazFDTGpOZG0yU3JMLzlTVHZ6Q1Rj?=
 =?utf-8?B?RDZTdGRQVThTNGt2NkNGSHpPWEJhOXNiREx4Yy8zZUZoUUVZaitTWkZJL2VZ?=
 =?utf-8?B?QUQzNjNvUTliRE5aNVRqMmp6cTlIVzFEcjBuZk5pTlE1WkJCWVRaQ0lDL1ll?=
 =?utf-8?B?QUdveHM1bjBRbXNTd3Zndkg1T3NlRjJKTE5qUWE4WVVFRDlOTy9DOXF1am9t?=
 =?utf-8?B?dG1zM1RIWDloeHJaTEphdHpka2d4eDc3NjRiTDlPQjVpSlFjaklXSkErVjhr?=
 =?utf-8?B?L0lZUy9CbWRLdzVKbXNTT3FHNklZWStUL2NMcUtEUnovdGJYS2VIQy9KaGJP?=
 =?utf-8?B?OE8wdll5eGFBbld1RFdsVXJEZWttNnovQVhNaklOZWVNOGdRa2xiUnBQZENo?=
 =?utf-8?B?Y081R2FyUk5wV01Da1hNWHJYeUVoTVBLQXVmZnZHSlZtRHRjd3MvWFdHV1dT?=
 =?utf-8?B?anhRbldiYllhRkRvc25NMVFkVjNtbjRyTkJwMWx5NjVNRGgzbjFuMGtjbC9V?=
 =?utf-8?B?OXltRVRqN2tqK1J1VWs3SzErQjBpYzlvT01aQXN0Tkd1MzF4ODdRQWRaaFZs?=
 =?utf-8?B?OGQyUGpVbFVZc3pTa05EOFhHcEFTMFhab3czWitGMHVzZDlIamc1NmRvaHcx?=
 =?utf-8?B?YzJmS0k4SUtoWTNGS3lFZzNqcUpKZTAvNTN1QTJZQzdhYVRESklZazlQaisy?=
 =?utf-8?B?QnkyRzBhSjQvUWRQUWNGcXZMWGMvYXZ2UkpaYlBhczFvdXdjR05NRFZyMkJt?=
 =?utf-8?Q?OsCB8AWNigJKhtfCik6qiB6b0c3D4Pqo?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <91948CCF0667164E8DBE09D8B9413800@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8981
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001A9.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b69751b3-6a82-4aa3-e96e-08dd67c69b7e
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|82310400026|1800799024|36860700013|14060799003|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dTcyZm9PZlUzUUNUWFM4SE9RbXdzeUhtUnZFbU5EY1FEd2RvUzNIQlZ4eGNQ?=
 =?utf-8?B?SnFJdU5LZXBZWEJ2WGgwVUR5SjRNR0dvb0VMeUlhcnR5ZlF5dWQwMEZHVVFR?=
 =?utf-8?B?aVZaTVJtOStWcm94ejNYWUVmOUk4eXVpL1JzYmJJK05ZbjBOTVo2c2xSMU4z?=
 =?utf-8?B?K3dac0RIK3dsU2NDWVFDbysrdTJUb3JqQkFPcU11aHUrNTZCMWNQZXZlRmQr?=
 =?utf-8?B?RmhOY0gyVk5NZFJRNWNMNWJKdzd6Wkl0TXJMaUswVTlhNFl4WEVjd2w4UFRH?=
 =?utf-8?B?RjRnbkEyTDZNWUVxUzc3NmgzbDhZWkpmNGhGL005eEozaUhmRmh3cmxJTFQv?=
 =?utf-8?B?ZnpZaEN2S2krdGovSXVBRk5uSEdHM3JyU1dSM2t6aWlienRvWEJxUFBYN21I?=
 =?utf-8?B?YksvallwNy92eUhJOXAwRnZybEozQ3RyNUxoMEtmSCtnMjRhR3lKVWRPRVZv?=
 =?utf-8?B?VnlpZlRWVWdHam02UER6dGNRT0phcDJZUUVSdHQ2RHY3dm5SM0dla2cxZjNr?=
 =?utf-8?B?VHdpdFh0VHNTSVZmOVNGZVRvcXlsRDh6UVBwb2tvdEVrbFRyeEdEeGNLamZt?=
 =?utf-8?B?QjU1Qi9wMzJheDVSMThLQTljbjV5cThLSklXWE5oYlJBbEVjWGk5eHkrZS92?=
 =?utf-8?B?TTlNeW5mWEVpZGw3MmVtMHlGS2xqQldjU1BSUDRIMU0zMlRMODVEN3VPYllt?=
 =?utf-8?B?UkdIenNRc2sxZEFaYXh3Sjd6R2VVUFFiZ3hxVS8zZjdNRDV0Yy9WVng4b3lL?=
 =?utf-8?B?MTF0bW1NaitnL3NlTmQ2ZnIzWDRiOGU3YkNTQmE3YWN1THBIdXlXTWNkTitP?=
 =?utf-8?B?a2xzTDNxdktWVG1MZWRJKzY5ZmtCU21oS0tFTGJyTkRSQkkrN3poZnZZdWtY?=
 =?utf-8?B?VmZqNVlPck9kYTEvSnhzZDdoc0F2N0xNdUxCVUFQeWZxMkd3WXFLekwyUUJy?=
 =?utf-8?B?WnI1eDN6bytnS3ExYlU5Q2VIR1pyTWZSK0p1WCtuN2VqYmF4N2I4MS9UTXYx?=
 =?utf-8?B?OWhXR1RjamJ0dFJMUGRMZmF5Zk5Wd0JOYWkweml1OTVCR3FjMG5wQ2hxSkhC?=
 =?utf-8?B?cjFiY1o0RTFCNUVTWVUrM2dHQmZ2RWprUXFNTVhLL3lqVkVYenR6OWVLUkRl?=
 =?utf-8?B?RHFNOW8rUzgyOTIxOTVidGlyKzMwbW01UUY5dmpMRUYxUEtBbVVTMzY1WGFX?=
 =?utf-8?B?TUVKcVN0NXRYeDRDQnBiS3puWTV3aEpDOUxGVFFIQ2s4REJKdDNjVHpFWUx2?=
 =?utf-8?B?NlBQYUIrRERlc1c4b3RJN0hvQWtqWExuamZuUUFycmpsQnowUlgvOUhYRlYr?=
 =?utf-8?B?K29hblJDT2s0eGZQMWxLczZrdEdNaUxUVWFNblFzcys1TTdqei92NHVMNCtk?=
 =?utf-8?B?V2JLTnlqYUVXbjVZTnR1QS90MHhSSWFrS045WndEMUV0TE8yVVhicHZCOTJJ?=
 =?utf-8?B?eGxNZ2NlWjdTeFVISjlCcXdxbEdSdkswd2NBNEY2dUNZamZpeVRic3IzMXQ3?=
 =?utf-8?B?OGNuSkZ1Lzk2dXRJb3RUZXFBeFpEanhyU0pQcWJ0L3BYQXk0aC9pd3Z5NkQw?=
 =?utf-8?B?QUVhdEdGYldSUmtScGdQZGE0b2VNRHRPNm16bTFURmw4MWdOZTRpUmtaL1Q2?=
 =?utf-8?B?eGVvQjk4amZyV0VoNUhzZkRKUk5nbGlTVm96bWV3QmVkcitBWTl4am5DS3dt?=
 =?utf-8?B?UDBxS01Wbjh6NmF6WlF0cUlIWWVvY3pSRGg4alRVb1c0T0ZhZDVsbXBROVph?=
 =?utf-8?B?Z3BGdkZ4SlpxTzVtOU5KcTNmZnRaTk9nb3htQkREdFJjSlJVUjVwREZVVnh1?=
 =?utf-8?B?MjF0YXZNQnN3UWV2RHJiM1dIaUZGb0NuZGR1L3FiOUNRQkFvdnZZaHRvWDRs?=
 =?utf-8?B?S3NIZDlRTThHOHphN0IxZUN4cnNJYkhtTUlROGFIUnFyZnQrT1dwaEZNakY2?=
 =?utf-8?B?b3pUTmRKRzRqaVY3bVBsakdOL3dyTHZDejVLS2hzdXBVSjZ1dG9jdHoxNDFo?=
 =?utf-8?Q?8OAAZIWegW89yu0Y9eMk/LsL+5fJfo=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(82310400026)(1800799024)(36860700013)(14060799003)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 15:48:15.8179
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d3ed6d4-6cb2-4f55-83d6-08dd67c6a102
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.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: DB9PR08MB6474

SGkgSmVucywNCg0KPiBPbiAyMCBNYXIgMjAyNSwgYXQgMTU6NTEsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gTW9uLCBNYXIgMTAsIDIwMjUgYXQgMzo1MeKAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4g
PGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEFkZCBzdXBwb3J0IHRv
IHJhaXNlIGEgUnggYnVmZmVyIGZ1bGwgbm90aWZpY2F0aW9uIHRvIGEgVk0uDQo+PiBUaGlzIGZ1
bmN0aW9uIHdpbGwgYmUgdXNlZCBmb3IgaW5kaXJlY3QgbWVzc2FnZSBzdXBwb3J0IGJldHdlZW4g
Vk0gYW5kDQo+PiBpcyBvbmx5IGFjdGl2YXRlZCBpZiBDT05GSUdfRkZBX1ZNX1RPX1ZNIGlzIHNl
bGVjdGVkLg0KPj4gDQo+PiBFdmVuIGlmIHRoZXJlIGFyZSAzMiBmcmFtZXdvcmsgbm90aWZpY2F0
aW9ucyBwb3NzaWJsZSwgcmlnaHQgbm93IG9ubHkNCj4+IG9uZSBpcyBkZWZpbmVkIHNvIHRoZSBp
bXBsZW1lbnRhdGlvbiBpcyBzaW1wbGlmaWVkIHRvIG9ubHkgaGFuZGxlIHRoZQ0KPj4gYnVmZmVy
IGZ1bGwgbm90aWZpY2F0aW9uIHVzaW5nIGEgYm9vbGVhbi4gSWYgb3RoZXIgZnJhbWV3b3JrDQo+
PiBub3RpZmljYXRpb25zIGhhdmUgdG8gYmUgc3VwcG9ydGVkIG9uZSBkYXksIHRoZSBkZXNpZ24g
d2lsbCBoYXZlIHRvIGJlDQo+PiBtb2RpZmllZCB0byBoYW5kbGUgaXQgcHJvcGVybHkuDQo+PiAN
Cj4+IFNpZ25lZC1vZmYtYnk6IEJlcnRyYW5kIE1hcnF1aXMgPGJlcnRyYW5kLm1hcnF1aXNAYXJt
LmNvbT4NCj4+IC0tLQ0KPj4gQ2hhbmdlcyBpbiB2MjoNCj4+IC0gQ29kZSBzdHlsZSBmaXgNCj4+
IC0tLQ0KPj4geGVuL2FyY2gvYXJtL3RlZS9mZmFfbm90aWYuYyAgIHwgMjYgKysrKysrKysrKysr
KysrKysrKysrLS0tLS0NCj4+IHhlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaCB8IDEzICsr
KysrKysrKysrKysNCj4+IDIgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgNSBkZWxl
dGlvbnMoLSkNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlm
LmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3RpZi5jDQo+PiBpbmRleCAwMGVmYWY4ZjczNTMu
LmQxOWFhNWM1YmVmNiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlm
LmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlmLmMNCj4+IEBAIC05Myw2ICs5
Myw3IEBAIHZvaWQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25faW5mb19nZXQoc3RydWN0IGNwdV91
c2VyX3JlZ3MgKnJlZ3MpDQo+PiB2b2lkIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2dldChzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+IHsNCj4+ICAgICBzdHJ1Y3QgZG9tYWluICpkID0g
Y3VycmVudC0+ZG9tYWluOw0KPj4gKyAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0gZC0+YXJjaC50
ZWU7DQo+PiAgICAgdWludDMyX3QgcmVjdiA9IGdldF91c2VyX3JlZyhyZWdzLCAxKTsNCj4+ICAg
ICB1aW50MzJfdCBmbGFncyA9IGdldF91c2VyX3JlZyhyZWdzLCAyKTsNCj4+ICAgICB1aW50MzJf
dCB3MiA9IDA7DQo+PiBAQCAtMTMyLDExICsxMzMsNyBAQCB2b2lkIGZmYV9oYW5kbGVfbm90aWZp
Y2F0aW9uX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICAgICAgICAgICovDQo+
PiAgICAgICAgIGlmICggKCBmbGFncyAgJiBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1AgKSAmJg0K
Pj4gICAgICAgICAgICAgICggZmxhZ3MgJiBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1BNICkgKQ0K
Pj4gLSAgICAgICAgew0KPj4gLSAgICAgICAgICAgICAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0g
ZC0+YXJjaC50ZWU7DQo+PiAtDQo+PiAtICAgICAgICAgICAgICAgIEFDQ0VTU19PTkNFKGN0eC0+
bm90aWYuc2VjdXJlX3BlbmRpbmcpID0gZmFsc2U7DQo+PiAtICAgICAgICB9DQo+PiArICAgICAg
ICAgICAgQUNDRVNTX09OQ0UoY3R4LT5ub3RpZi5zZWN1cmVfcGVuZGluZykgPSBmYWxzZTsNCj4+
IA0KPj4gICAgICAgICBhcm1fc21jY2NfMV8yX3NtYygmYXJnLCAmcmVzcCk7DQo+PiAgICAgICAg
IGUgPSBmZmFfZ2V0X3JldF9jb2RlKCZyZXNwKTsNCj4+IEBAIC0xNTYsNiArMTUzLDEyIEBAIHZv
aWQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fZ2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz
KQ0KPj4gICAgICAgICAgICAgdzYgPSByZXNwLmE2Ow0KPj4gICAgIH0NCj4+IA0KPj4gKyNpZmRl
ZiBDT05GSUdfRkZBX1ZNX1RPX1ZNDQo+PiArICAgIGlmICggZmxhZ3MgJiBGRkFfTk9USUZfRkxB
R19CSVRNQVBfSFlQICYmDQo+PiArICAgICAgICAgIHRlc3RfYW5kX2NsZWFyX2Jvb2woY3R4LT5u
b3RpZi5idWZmX2Z1bGxfcGVuZGluZykgKQ0KPj4gKyAgICAgICAgdzcgPSBGRkFfTk9USUZfUlhf
QlVGRkVSX0ZVTEw7DQo+PiArI2VuZGlmDQo+PiArDQo+PiAgICAgZmZhX3NldF9yZWdzKHJlZ3Ms
IEZGQV9TVUNDRVNTXzMyLCAwLCB3MiwgdzMsIHc0LCB3NSwgdzYsIHc3KTsNCj4+IH0NCj4+IA0K
Pj4gQEAgLTE3OCw2ICsxODEsMTkgQEAgaW50IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX3NldChz
dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJpdG1hcF9oaSk7DQo+PiB9DQo+PiANCj4+ICsjaWZkZWYgQ09ORklHX0ZGQV9WTV9UT19WTQ0K
Pj4gK3ZvaWQgZmZhX3JhaXNlX3J4X2J1ZmZlcl9mdWxsKHN0cnVjdCBkb21haW4gKmQpDQo+PiAr
ew0KPj4gKyAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0gZC0+YXJjaC50ZWU7DQo+PiArDQo+PiAr
ICAgIGlmICggIWN0eCApDQo+PiArICAgICAgICByZXR1cm47DQo+PiArDQo+PiArICAgIGlmICgg
IXRlc3RfYW5kX3NldF9ib29sKGN0eC0+bm90aWYuYnVmZl9mdWxsX3BlbmRpbmcpICkNCj4+ICsg
ICAgICAgIHZnaWNfaW5qZWN0X2lycShkLCBkLT52Y3B1WzBdLCBub3RpZl9zcmlfaXJxLCB0cnVl
KTsNCj4+ICt9DQo+PiArI2VuZGlmDQo+PiArDQo+PiAvKg0KPj4gICogRXh0cmFjdCBhIDE2LWJp
dCBJRCAoaW5kZXggbikgZnJvbSB0aGUgc3VjY2Vzc2Z1bCByZXR1cm4gdmFsdWUgZnJvbQ0KPj4g
ICogRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCBvciBGRkFfTk9USUZJQ0FUSU9OX0lORk9f
R0VUXzMyLiBJRHMgYXJlDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfcHJp
dmF0ZS5oIGIveGVuL2FyY2gvYXJtL3RlZS9mZmFfcHJpdmF0ZS5oDQo+PiBpbmRleCBiZDY4Nzdk
OGM2MzIuLjFmNTA2N2Q1ZDBjOSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZh
X3ByaXZhdGUuaA0KPj4gKysrIGIveGVuL2FyY2gvYXJtL3RlZS9mZmFfcHJpdmF0ZS5oDQo+PiBA
QCAtMjEwLDYgKzIxMCw4IEBADQo+PiAjZGVmaW5lIEZGQV9OT1RJRl9JTkZPX0dFVF9JRF9DT1VO
VF9TSElGVCAgIDcNCj4+ICNkZWZpbmUgRkZBX05PVElGX0lORk9fR0VUX0lEX0NPVU5UX01BU0sg
ICAgMHgxRg0KPj4gDQo+PiArI2RlZmluZSBGRkFfTk9USUZfUlhfQlVGRkVSX0ZVTEwgICAgICAg
IEJJVCgwLCBVKQ0KPj4gKw0KPj4gLyogRmVhdHVyZSBJRHMgdXNlZCB3aXRoIEZGQV9GRUFUVVJF
UyAqLw0KPj4gI2RlZmluZSBGRkFfRkVBVFVSRV9OT1RJRl9QRU5EX0lOVFIgICAgIDB4MVUNCj4+
ICNkZWZpbmUgRkZBX0ZFQVRVUkVfU0NIRURVTEVfUkVDVl9JTlRSICAweDJVDQo+PiBAQCAtMjk4
LDYgKzMwMCwxMyBAQCBzdHJ1Y3QgZmZhX2N0eF9ub3RpZiB7DQo+PiAgICAgICogcGVuZGluZyBn
bG9iYWwgbm90aWZpY2F0aW9ucy4NCj4+ICAgICAgKi8NCj4+ICAgICBib29sIHNlY3VyZV9wZW5k
aW5nOw0KPj4gKw0KPj4gKyNpZmRlZiBDT05GSUdfRkZBX1ZNX1RPX1ZNDQo+PiArICAgIC8qDQo+
PiArICAgICAqIFBlbmRpbmcgSHlwZXJ2aXNvciBmcmFtZXdvcmsgbm90aWZpY2F0aW9ucw0KPj4g
KyAgICAgKi8NCj4+ICsgICAgYm9vbCBidWZmX2Z1bGxfcGVuZGluZzsNCj4+ICsjZW5kaWYNCj4g
DQo+IEl0IGRvZXNuJ3QgbWF0dGVyIGlmIHRoZXJlIGFyZSBvbmUgb3IgdHdvIGJvb2xzIGluIHRo
aXMgc3RydWN0Lg0KPiBIb3dldmVyLCB0aGUgaWZkZWYgcHJldmVudHMgdXNpbmcgSVNfRU5BQkxF
RChDT05GSUdfRkZBX1ZNX1RPX1ZNKQ0KPiBpbnN0ZWFkIG9mIGFuIGlmZGVmIGluIHRoZSBsb2dp
YyBjb250cm9sbGluZyBhY2Nlc3MgdG8gdGhpcyBmaWVsZC4NCg0KQWdyZWUsIEkgd2lsbCBtYWtl
IHRoaXMgZmllbGQgcHJlc2VudCBhbGwgdGhlIHRpbWUgYW5kIHN3aXRjaCB0byBJU19FTkFCTEVE
IHdoZW4NCm5vdyBwb3NzaWJsZS4NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQo+IA0KPiBDaGVlcnMs
DQo+IEplbnMNCj4gDQo+PiB9Ow0KPj4gDQo+PiBzdHJ1Y3QgZmZhX2N0eCB7DQo+PiBAQCAtMzY5
LDYgKzM3OCwxMCBAQCB2b2lkIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2luZm9fZ2V0KHN0cnVj
dCBjcHVfdXNlcl9yZWdzICpyZWdzKTsNCj4+IHZvaWQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25f
Z2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTsNCj4+IGludCBmZmFfaGFuZGxlX25vdGlm
aWNhdGlvbl9zZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOw0KPj4gDQo+PiArI2lmZGVm
IENPTkZJR19GRkFfVk1fVE9fVk0NCj4+ICt2b2lkIGZmYV9yYWlzZV9yeF9idWZmZXJfZnVsbChz
dHJ1Y3QgZG9tYWluICpkKTsNCj4+ICsjZW5kaWYNCj4+ICsNCj4+IHZvaWQgZmZhX2hhbmRsZV9t
c2dfc2VuZF9kaXJlY3RfcmVxKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1aW50MzJfdCBm
aWQpOw0KPj4gaW50MzJfdCBmZmFfaGFuZGxlX21zZ19zZW5kMihzdHJ1Y3QgY3B1X3VzZXJfcmVn
cyAqcmVncyk7DQo+PiANCj4+IC0tDQo+PiAyLjQ3LjENCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:53:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922788.1326607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIDT-0003W2-8i; Thu, 20 Mar 2025 15:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922788.1326607; Thu, 20 Mar 2025 15:53: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 1tvIDT-0003Vv-4X; Thu, 20 Mar 2025 15:53:55 +0000
Received: by outflank-mailman (input) for mailman id 922788;
 Thu, 20 Mar 2025 15:53: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=m8Tk=WH=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tvIDR-0003Ta-Bx
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:53:53 +0000
Received: from mail-oa1-x34.google.com (mail-oa1-x34.google.com
 [2001:4860:4864:20::34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8444926f-05a3-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:53:51 +0100 (CET)
Received: by mail-oa1-x34.google.com with SMTP id
 586e51a60fabf-2bcca6aa8e1so330309fac.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:53: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: 8444926f-05a3-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742486030; x=1743090830; 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=BAB/IEa5GJl4xRDSbqTWyFcDjl9SlmtfNARXjUcWXq8=;
        b=E05wxgAVmaJMc/5Id/dxKsMCnWctggHk75euEWRoU+7XwP6I2nxPW7tBGDqyftyDmy
         vlKbmv+rJ8Nr/ovWqM/3FNGENVkp8ZtWsjMYRAaOtI0ZDdzrUPy+AKWFTkHqlqovDLG6
         KL8nPP0GCM4wfG5Kn8pe+0BMPMQa/QPzclDYKWTImlLO7aXQjAjWBcMrbdi1UjVX8gye
         owemjv+nQAIwEbuGbcVU+8+6CG6Hn4o35NtpMINqhQPEgq9tvpAKqBtIeuNS4Sqpj5mF
         WmZyQjSovqCMRppu9XDdbAnQoL4KX2VAO5tPSkGcowXLM8GDAhg5qLPBR/w8hWinTb4z
         w2vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742486030; x=1743090830;
        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=BAB/IEa5GJl4xRDSbqTWyFcDjl9SlmtfNARXjUcWXq8=;
        b=H8vxJakBvHMGX1glN8woJ6Q9Jug+X3wkod7l1M6YdNzKJ9zxKtqU1hb2sS8vs7+dOV
         SBf1KSdMd1TEKXhcp4+GGP7FvoDPRCxpG8K/EZ3Yz7AMM0HXo/9hpeDlzPVKFVONbjY9
         6IXu+PhI8fGDQIweMoCKyzK3mR96/7ycjbetfU4ll5fL0wL89j/vZyf5oQ+cd6amy9nE
         McAxvA+otQ/l1WKiTaAHidshUxzufDmCpJQj9hI9c1xK3l3AlYDk9EPxEJAvfy9MyGuG
         mTy1ynk0lud+ZksRvO4+0pcHk/9D+wtJaTz86N6Kngj8Rb3GihWd/5RFE1iDDvMgPsTp
         OdRQ==
X-Gm-Message-State: AOJu0Yx8NldNucQp/aXFid/4NufkpdzlqSojd/3+geHd6eFoGyrrPJP/
	13/68nSbqXISF4p3ZmdZandWqTXp8VJb7tfUy+VgLX5wcg4KKm/VYCYplrjl3YXeQyOMzHubXG/
	PCRayLkPO8TWWCEYZ6zrORlIdwczrfi7P3ZAhCA==
X-Gm-Gg: ASbGncv0iYm3MpLvA74QQB6jVUsWFRpZKu1y/OdH/ucJiGeT15Ytc8GfRof3HuJkYsa
	BSoO7xcjpfZOYzwyvLmDGtUwJIc0owv+8a5bvE5z8nqzjBNdggj1ZO8tyhJMXpVax67gVzvyHBi
	P2dSmTsIMBEqIQDhC2Vu7nKgzeDeA=
X-Google-Smtp-Source: AGHT+IECrvvc7fO8Qbj/Mm4KnIEXYMvT0NrtnULYBmBbbMYwRphPYc584wbXU7lCj2rcptp721n6dccSXJDchld6rRI=
X-Received: by 2002:a05:6871:530e:b0:29d:c832:840d with SMTP id
 586e51a60fabf-2c78055f025mr2478fac.35.1742486029879; Thu, 20 Mar 2025
 08:53:49 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741617888.git.bertrand.marquis@arm.com> <2265f8a8c22034c629025f384acb4f33a4235387.1741617888.git.bertrand.marquis@arm.com>
In-Reply-To: <2265f8a8c22034c629025f384acb4f33a4235387.1741617888.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 20 Mar 2025 16:53:38 +0100
X-Gm-Features: AQ5f1JpBReA3izJLhD2a7_gZVK2VMy1IVPhAs3ov5XgzO94DZ0hwLf9l-vKxAno
Message-ID: <CAHUa44Hcto=kFLpkKBFbH9ucjp+aAERrAFoqbnYjP-_iLqXoJA@mail.gmail.com>
Subject: Re: [PATCH v2 4/5] xen/arm: ffa: Add indirect message between VM
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 10, 2025 at 3:51=E2=80=AFPM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Add support for indirect messages between VMs.
> This is only enabled if CONFIG_FFA_VM_TO_VM is selected.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v2:
> - Switch ifdef to IS_ENABLED
> ---
>  xen/arch/arm/tee/ffa_msg.c     | 96 +++++++++++++++++++++++++++++++---
>  xen/arch/arm/tee/ffa_private.h |  4 ++
>  2 files changed, 92 insertions(+), 8 deletions(-)
>
> diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
> index ee594e737fc7..336d5bbf64f6 100644
> --- a/xen/arch/arm/tee/ffa_msg.c
> +++ b/xen/arch/arm/tee/ffa_msg.c
> @@ -96,9 +96,6 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs=
)
>      uint16_t dst_id, src_id;
>      int32_t ret;
>
> -    if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( !spin_trylock(&src_ctx->tx_lock) )
>          return FFA_RET_BUSY;
>
> @@ -106,10 +103,10 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *=
regs)
>      src_id =3D src_msg->send_recv_id >> 16;
>      dst_id =3D src_msg->send_recv_id & GENMASK(15,0);
>
> -    if ( src_id !=3D ffa_get_vm_id(src_d) || !FFA_ID_IS_SECURE(dst_id) )
> +    if ( src_id !=3D ffa_get_vm_id(src_d) )
>      {
>          ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out_unlock_tx;
> +        goto out;
>      }
>
>      /* check source message fits in buffer */
> @@ -118,13 +115,96 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *=
regs)
>           src_msg->msg_offset < sizeof(struct ffa_part_msg_rxtx) )
>      {
>          ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out_unlock_tx;
> +        goto out;
>      }
>
> -    ret =3D ffa_simple_call(FFA_MSG_SEND2,
> +    if ( FFA_ID_IS_SECURE(dst_id) )
> +    {
> +        /* Message for a secure partition */
> +        if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
> +        {
> +            ret =3D FFA_RET_NOT_SUPPORTED;
> +            goto out;
> +        }
> +
> +        ret =3D ffa_simple_call(FFA_MSG_SEND2,
>                            ((uint32_t)ffa_get_vm_id(src_d)) << 16, 0, 0, =
0);
> +        goto out;
> +    }
>
> -out_unlock_tx:
> +    /* Message for a VM */
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {

I would move this block into a helper function to isolate the needed
cleanup etc, but that might be more a matter of taste so do as you
prefer.

> +        struct domain *dst_d;
> +        struct ffa_ctx *dst_ctx;
> +        struct ffa_part_msg_rxtx *dst_msg;
> +        int err;
> +
> +        if ( dst_id =3D=3D 0 )
> +        {
> +            /* FF-A ID 0 is the hypervisor, this is not valid */
> +            ret =3D FFA_RET_INVALID_PARAMETERS;
> +            goto out;
> +        }
> +
> +        /* This is also checking that dest is not src */
> +        err =3D rcu_lock_live_remote_domain_by_id(dst_id - 1, &dst_d);
> +        if ( err )
> +        {
> +            ret =3D FFA_RET_INVALID_PARAMETERS;
> +            goto out;
> +        }
> +
> +        if ( dst_d->arch.tee =3D=3D NULL )
> +        {
> +            ret =3D FFA_RET_INVALID_PARAMETERS;
> +            goto out_unlock;
> +        }
> +
> +        dst_ctx =3D dst_d->arch.tee;
> +        if ( !dst_ctx->guest_vers )
> +        {
> +            ret =3D FFA_RET_INVALID_PARAMETERS;
> +            goto out_unlock;
> +        }
> +
> +        /* This also checks that destination has set a Rx buffer */
> +        ret =3D ffa_rx_acquire(dst_d);
> +        if ( ret )
> +            goto out_unlock;
> +
> +        /* we need to have enough space in the destination buffer */
> +        if ( dst_ctx->page_count * FFA_PAGE_SIZE <
> +                (sizeof(struct ffa_part_msg_rxtx) + src_msg->msg_size) )
> +        {
> +            ret =3D FFA_RET_NO_MEMORY;
> +            ffa_rx_release(dst_d);
> +            goto out_unlock;
> +        }
> +
> +        dst_msg =3D dst_ctx->rx;
> +
> +        /* prepare destination header */
> +        dst_msg->flags =3D 0;
> +        dst_msg->reserved =3D 0;
> +        dst_msg->msg_offset =3D sizeof(struct ffa_part_msg_rxtx);
> +        dst_msg->send_recv_id =3D src_msg->send_recv_id;
> +        dst_msg->msg_size =3D src_msg->msg_size;
> +
> +        memcpy(dst_ctx->rx + sizeof(struct ffa_part_msg_rxtx),
> +               src_ctx->tx + src_msg->msg_offset, src_msg->msg_size);
> +
> +        /* receiver rx buffer will be released by the receiver*/
> +
> +out_unlock:
> +        rcu_unlock_domain(dst_d);
> +        if ( !ret )
> +            ffa_raise_rx_buffer_full(dst_d);
> +    }
> +    else
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +
> +out:
>      spin_unlock(&src_ctx->tx_lock);
>      return ret;
>  }
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index 1f5067d5d0c9..340db229453c 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -380,6 +380,10 @@ int ffa_handle_notification_set(struct cpu_user_regs=
 *regs);
>
>  #ifdef CONFIG_FFA_VM_TO_VM
>  void ffa_raise_rx_buffer_full(struct domain *d);
> +#else
> +static inline void ffa_raise_rx_buffer_full(struct domain *d)
> +{
> +}

Shouldn't this go in the previous patch "xen/arm: ffa: Add buffer full
notification support"?

Cheers,
Jens

>  #endif
>
>  void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t=
 fid);
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:59:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922804.1326618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIIN-0004Bw-RT; Thu, 20 Mar 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 922804.1326618; Thu, 20 Mar 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 1tvIIN-0004Bp-N3; Thu, 20 Mar 2025 15:58:59 +0000
Received: by outflank-mailman (input) for mailman id 922804;
 Thu, 20 Mar 2025 15:58: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=W2V2=WH=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tvIIM-0004Bj-Lx
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:58:58 +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 3ac0b82d-05a4-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:58:57 +0100 (CET)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 17B4725400A2;
 Thu, 20 Mar 2025 11:58:56 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Thu, 20 Mar 2025 11:58:56 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 11:58:54 -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: 3ac0b82d-05a4-11f0-9ea0-5ba50f476ded
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=1742486335;
	 x=1742572735; bh=vs77XISaEyknKglVuewdgR/XEMyZar3p3vMvSfKLGHg=; b=
	JdC7XDW/5JkDGiGqav7PYauHr5mqPTrq64gQNV3UAHW75zoCG73VDI2huwUIhp9L
	R3B0xz8R+dhEJNoMHawV+MlLOYXbteG9GPVSJc9MxepSUSx9H4mkZ+Pae1xzCNdC
	aYudUTAd7wCtadk2KV2p4fMQSBbzF2rHpti5rI2ESrmdI0o021FFukO6XvKrLEba
	+nhl7/KMQK5sKOtWhISvTBG08q3spLCfcHriZTnMic8lR/izziyGeMgM+L0OEIRg
	AzRqkgkUWkRoBPA5bp8dcJxRlF6yXNCk2hwQ4u9WAd8IDNd1xHjI3fbRyl2UHECg
	pvCPGCUQzZoJVp/stgta+A==
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=fm1; t=
	1742486335; x=1742572735; bh=vs77XISaEyknKglVuewdgR/XEMyZar3p3vM
	vSfKLGHg=; b=b+9uJrHkk3BXkDk1feCO9uONulhwr6GOCQqQKqSN8Kr+IT8/LW0
	Q1FpmjEoeDypqiNZDs3SymKFDd71ZoephpgZS/wAlSAmv55EGNayO/TiX+P4Eerc
	3ptmTXKreat2PGkoa5+vOqI0MVc0futEyqzcQLY60T3AIMxTKNYXigIPXeOH8RhB
	fY5RQDD0aPiKaOhDo/0WeMoVgY0SUkRWam/Nfi+KRUHyp+2j5UcsfVd9kLA5YpFd
	N7tqQGsb1dummGIEB/+kTJcxdP/nM5mrDT9lwXRv4c+n0kwJSYWNn1AK8sC1kZTw
	pXNW9pb3qr4zkLrBRq9J0OOjpHj6zIBat9A==
X-ME-Sender: <xms:PzvcZ-95CYO68b-sC6cVVWGS8nWfjZKtvzAIdiPY1de3rDK1KGbB4Q>
    <xme:PzvcZ-vA30BCxBgO9qx-t1-mx1yn-TB9adPaWFS-b0Pp0Z7OSeIDduI3y7GW7QJgE
    8MecQMI3fP-BQ>
X-ME-Received: <xmr:PzvcZ0CenEA9gQENf6OqU23zR5EzLQ_EJ2dPOuyK7ImxXQM_IgPV5N8NJ9v3O5XXoJAcA6nzq2Y4UWPvk5HlFiK4wLlvi6V-YQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeekieegucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhhthhhonhihrdhpvghrrg
    hrugesvhgrthgvshdrthgvtghhpdhrtghpthhtohepfhhrvgguvghrihgtrdhpihgvrhhr
    vghtsehquhgsvghsqdhoshdrohhrghdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvg
    hrfeestghithhrihigrdgtohhmpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegr
    mhgurdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoh
    eprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggv
    lhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:PzvcZ2dNwOAT693ZMNw1Wwhsqu9oSDdn3pohZuJpAj_lMJuUB8cC3w>
    <xmx:PzvcZzNDo2CaPnslQTR5YrN8wXKFqt5ZkdJsoCtqNy1di_F3WJ7FqA>
    <xmx:PzvcZwkLzoFgLJ7onRr6uINsDncNrOGjMJ7Dn1XTh53C5Z-1H-nO1A>
    <xmx:PzvcZ1tajs9aFsgfx6guA33ExScWnvd0wPRGU1sh7B5L4LZMotGuUQ>
    <xmx:PzvcZ-qVL2Fdrn3QvreuFaidw_ll-LfjtWj4k7f_JBokn96ynRHMvUgi>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 20 Mar 2025 16:58:51 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9w7PPEbF1STQNBt@mail-itl>
References: <Z9rJUWCARMQYqNXr@mail-itl>
 <Z9vrc1Xvm5OEy8rM@l14>
 <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>
 <Z9wfKB0vdngn3xXX@mail-itl>
 <Z9wnzRbwb3HQaSMu@l14>
 <Z9wxcYapF5eno29b@mail-itl>
 <7698a70a-db0a-4d5d-b5ad-8c0636bc5a33@suse.com>
 <Z9w1BLntGv4ksws0@mail-itl>
 <fb116d7e-e678-4ac9-920a-de7e5b227417@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="jK6+AJvn7uqndI3R"
Content-Disposition: inline
In-Reply-To: <fb116d7e-e678-4ac9-920a-de7e5b227417@suse.com>


--jK6+AJvn7uqndI3R
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 20 Mar 2025 16:58:51 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Thu, Mar 20, 2025 at 04:48:02PM +0100, Jan Beulich wrote:
> On 20.03.2025 16:32, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Mar 20, 2025 at 04:21:18PM +0100, Jan Beulich wrote:
> >> On 20.03.2025 16:17, Marek Marczykowski-G=C3=B3recki wrote:
> >>> On Thu, Mar 20, 2025 at 02:35:59PM +0000, Anthony PERARD wrote:
> >>>> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-G=C3=B3=
recki wrote:
> >>>>> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
> >>>>>> On 20.03.2025 13:51, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>>>> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
> >>>>>>>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=
=C3=B3recki wrote:
> >>>>>>>>> There are clearly some build path embedding left. And
> >>>>>>>>> -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work correct=
ly with
> >>>>>>>>> XEN_ROOT having xen/.. at the end.
> >>>>>>>>> BTW, would it be acceptable to have this?
> >>>>>>>>>
> >>>>>>>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(realp=
ath $(XEN_ROOT))=3D.)
> >>>>>>>>
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> Could you avoid using $(XEN_ROOT) in hypervisor build system? (I=
t's fine
> >>>>>>>> in "tools/"). In "xen/", there's a few variables you can use if =
they are
> >>>>>>>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(=
srctree)
> >>>>>>>> $(objtree) for relative path. That also should avoid the need to=
 use
> >>>>>>>> $(realpath ).
> >>>>>>>
> >>>>>>> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve =
it to
> >>>>>>> not have /.. for prefix-map to work correctly. Would it be better=
 to use
> >>>>>>> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree)=
 and
> >>>>>>> have paths in debug symbols relative to hypervisor source dir, in=
stead
> >>>>>>> of xen repo root? I'm not sure if that wouldn't confuse some tool=
s...
> >>>>>>
> >>>>>> abs_srctree being computed using realpath, can't we replace
> >>>>>>
> >>>>>> export XEN_ROOT :=3D $(abs_srctree)/..
> >>>>>>
> >>>>>> by something as simpl{e,istic} as
> >>>>>>
> >>>>>> export XEN_ROOT :=3D $(patsubst %/xen,%,$(abs_srctree))
> >>>>>>
> >>>>>> ?
> >>>>>
> >>>>> That works too. It's slightly less robust, but I don't expect "xen"
> >>>>> directory to be renamed, so shouldn't be an issue. I'll leave also a
> >>>>> comment there why not /.. .
> >>>>
> >>>> I don't think $(XEN_ROOT) is present in the binaries produce by the
> >>>> hypervisor's build system. There's only a few use if that variable: =
to
> >>>> load some makefile, to execute makefile that build xsm policy and to
> >>>> generate cpuid-autogen.h. Otherwise I don't think the compile have t=
his
> >>>> path in the command line. What is going to be in the binary is
> >>>> $(abs_srctree), which you can replace by "./xen" if you want; which =
mean
> >>>> it doesn't matter if the directory is renamed or not. You might want=
 to
> >>>> also take care of $(abs_objtree) which seems to also be in `xen-syms`
> >>>> when doing out-of-tree build.
> >>>
> >>> So, you suggest to do -fdebug-prefix-map=3D$(abs_srctree)=3D./xen ? T=
hat
> >>> appears to work for in-tree builds too.
> >>
> >> And why ./xen (question to Anthony)? Just . is quite fine, isn't it?
> >=20
> > It makes paths in debug symbols relative to xen/ subdir, not the
> > repository root. I'm not sure if that is a problem, but it may be for
> > some tools.
>=20
> Yet especially in the symbol table (and hence in strack traces) that's
> unnecessary extra space it takes up.
>=20
> >>> But now I actually tested how it looks with out-of-tree builds, and
> >>> indeed $(abs_objtree) is embedded there too. Adding
> >>> -fdebug-prefix-map=3D$(abs_objtree)=3D./xen appears to help for this.=
 But,
> >>> -fdebug-prefix-map doesn't help with abs_srctree in out-of-tree builds
> >>> for some reason. -ffile-prefix-map does. And so does -fdebug-prefix-m=
ap
> >>> + -fmacro-prefix-map. Is there any preference which one to use? It
> >>> appears as -fmacro-prefix-map and -ffile-prefix-map have the same
> >>> availability in both GCC (8) and Clang (10).
> >>
> >> Then the simpler -ffile-prefix-map is better, imo. Question then is
> >> whether any of the options is actually needed at all for in-tree build=
s.
> >=20
> > Yes, without any of those options, both xen-syms and xen.efi contain
> > full source path.
>=20
> Even in builds without debug info?=20

For in-tree build without debug info, it appears no. But with debug
info, something is needed even for in-tree build.
And BTW, IIUC out-of-tree builds will become relevant even for in-tree
build at some point, due to pvshim.

> Imo a goal ought to be to specify the
> weakest possible of these options for any particular build mode. I.e.
> possibly -ffile-prefix-map=3D for out of tree builds, else
> -fdebug-prefix-map=3D when DEBUG_INFO=3Dy, else nothing (if possible).

Is it? I don't really see why making the selection overly complex if the
option is supported (and cc-option-add covers that case).

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

--jK6+AJvn7uqndI3R
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfcOzwACgkQ24/THMrX
1yz35Af9HPkDjLIdxtznK3YyMS9FWWfZV1rqVbuMD724nAxTO4US3FuDKmz3PcOx
1ZdbzhERATg6KmzPJ1Y6ScfHB5k/vhuKbAGwMzRXaij6PGEVc/aO3E5eanQtjnpi
tvoIGUfEWFmd8A3FAXpxNdkUimDFiwVU25wntAzaY0OSyGRTXOFoKWrXQygsALPS
dkyq68XDIdyccrMQw+4WgLR3VhaowFz/FtqpA7xHFzY6LN2AHMR9xCvNbyvZ6RjL
pyuHzTu7Zn2znUcwUtE2qlhemOFkkdGZutkG1UB/O2XN3kKox+cd7FkYzicfG7uA
TyMfOqM/iqo6eGGaBLGc6+oRhaJpcg==
=LdrI
-----END PGP SIGNATURE-----

--jK6+AJvn7uqndI3R--


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:59:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922809.1326627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIIh-0004Yv-2k; Thu, 20 Mar 2025 15:59:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922809.1326627; Thu, 20 Mar 2025 15:59: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 1tvIIg-0004Yl-VJ; Thu, 20 Mar 2025 15:59:18 +0000
Received: by outflank-mailman (input) for mailman id 922809;
 Thu, 20 Mar 2025 15:59: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvIIe-0004Bj-PX
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:59:16 +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 4639a056-05a4-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:59:16 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so14414285e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:59:16 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fceafacsm1851225e9.6.2025.03.20.08.59.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08: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: 4639a056-05a4-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742486355; x=1743091155; 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=L/8OKxq5tdUvL+relQi7wdXNnmHOUxgp/8lJVL44Vxo=;
        b=T1H6exlkhnFbiyyvi0+rwBhszk3FOodw1074+EwmRbnvN+XVuFNmPu2zuTZ8/PzxZd
         N16a/Uk/4yUGLnl6LHKGqnXd0HkO8AtH7Ps+lpFXvv3hHtKy66IHVN4j5PNXuB9s0U6Z
         ZlpYeP5MolwnQcLfQz/8EODxTFapbYXWOfLFI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742486355; x=1743091155;
        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=L/8OKxq5tdUvL+relQi7wdXNnmHOUxgp/8lJVL44Vxo=;
        b=ecJWNVn3x58530loxz0mQ8a1AweWsAY3nWh8Va1lfc7f8Av2hI1exmEOprbx/cjdR+
         g9IJv+l7U7d4Beqpp/Nvckh8nehBrdQ0qLm03vS2CwjKTftgnWpH0o2n42UkNPtGrf8Z
         3ZARcHUTK/OjqfbdQIvnL8ekhV3PSkRnihK7w2EF8FKQuOLG5qn2Dau5A56j03S68O9/
         BpFoQpKGJ9eqdsfH2jrm+uQ6Nn69aBUAwi5JrNkFkwNFZ41sBghn9mzZheSBe1TeITEt
         5r1rA14BTSY+Ohl5mziJ/u3+9u1VcLn/yc0JmwSy7SRdUwntKQ0rkQWlBzLBmB/3m85j
         Kwbw==
X-Gm-Message-State: AOJu0YwzY+DKhNzqJhP6mMapCfPMdv0mlgtKp7oycvMJ7i1EYjKSj2Uq
	UUcmFpfvspBlLrYpBjun2z0TcbAOB7VvsHjP2ZQ1oWCB8XL6KeTIhHmn22OCGrKyBXuS4vJPkDH
	a
X-Gm-Gg: ASbGncssvtg8dylzAhhILYSm35W5p+D+VmDXQVJVbjUe/AesTegkM2xiJRSl2AfVmXS
	nqG5yYMzYigIOpM6neAfNiD0yQknhAbIhB0H/FUPYIHgAQttzZchHQGL9opihBrACiPYPZBeTqe
	ox4iqueJ+NgA1PTCic233H/C5IAEMaDe8n52OVIEISU0QGZ+ycPfD4xfFKE6heROU1aa2DmpQBb
	MjWWi06mqMZ0COBPLo9nnpnVPD/y73CTN3Lf+priY/+d4ISGe7OfqP77Upv4X68bi/NmJSScus1
	LWScpjhx0rv6G2RxDxsWFsyQpCQl7iVwllluMlhjMV3Uu4FAO/kF3BGKvsO8PfRDLKi/64pGZ7Y
	lwS+Aqxknx+9scwT0Cg==
X-Google-Smtp-Source: AGHT+IE0OO4lw9CtCSW5Bt/ILRqTBLYjpT8yYEqT37jaA57URTYo6Twixus+lsjEx0/QoleZVGNTGQ==
X-Received: by 2002:a05:600c:1e8f:b0:43b:c7f0:6173 with SMTP id 5b1f17b1804b1-43d502e4332mr627565e9.4.1742486355196;
        Thu, 20 Mar 2025 08:59: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>,
	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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH RESEND 0/3] Xen: CI changes for new toolchain baseline
Date: Thu, 20 Mar 2025 15:59:05 +0000
Message-Id: <20250320155908.43885-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

Prep work to allow us to start making changes based on the toolchain
requirements.

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1726628670
https://cirrus-ci.com/build/5232741505040384

Andrew Cooper (3):
  CI: Update build tests based on new minimum toolchain requirements
  Xen: Update compiler checks
  CHANGELOG: Minimum toolchain requirements

 CHANGELOG.md                         |  3 ++
 automation/build/centos/7.dockerfile | 72 ----------------------------
 automation/gitlab-ci/build.yaml      | 30 ++++--------
 xen/include/xen/compiler.h           | 16 ++-----
 4 files changed, 17 insertions(+), 104 deletions(-)
 delete mode 100644 automation/build/centos/7.dockerfile


base-commit: 6e5fed7cb67c9f84653cdbd3924b8a119ef653be
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:59:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922811.1326637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIIi-0004nX-9o; Thu, 20 Mar 2025 15:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922811.1326637; Thu, 20 Mar 2025 15:59: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 1tvIIi-0004nO-5J; Thu, 20 Mar 2025 15:59:20 +0000
Received: by outflank-mailman (input) for mailman id 922811;
 Thu, 20 Mar 2025 15:59: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvIIh-0004A4-P2
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:59:19 +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 4781a8ba-05a4-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:59:18 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so6949485e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:59:18 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fceafacsm1851225e9.6.2025.03.20.08.59.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:59: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: 4781a8ba-05a4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742486357; x=1743091157; 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=3UEX+Ken0lbbz27KSN/mzaQf3lnapm0uhTGtmqgbZOo=;
        b=ozuZCBD1SzE339VtKTVS9m2To55qo7NLZgG7Zggb6KzkrjrWEteaJlRlUHVNW5aDsc
         8OmT3DXN31u3K6XwgIhvlb64h2lPzBcjeFEPFyOsOrn6fWict9aVaLk6m0kO48jtFpe/
         OPp/4/wMWNG3qUVbJIqLpIRz+HxeW/pS+p+8g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742486357; x=1743091157;
        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=3UEX+Ken0lbbz27KSN/mzaQf3lnapm0uhTGtmqgbZOo=;
        b=ndQYm+ptqshW1ZCdSGwEGN8KTH176l5ZfYKGqtx4la3+F845C9+Ofj5Btu4gbstLl8
         2tDCoPW9uJnBjLW+CH/k3SOqf7VXddUOn4xfQ742h0DH1rAI096gHBYVE4r0HBPnNnH2
         jbpysfzuhaH1vBmb1nAYUdAowlSXHzdkyBrkHjSEueCoOZ6Hc0722SaQI8W7IKUO05sN
         H/288NSboz7lWTdwgJoPluauT1ynL0Y3w4SmsHQSb7BKE5OERJs+fHmMLk+QE5Tr1d+c
         au34YV6NWJgE/vuaGCOQmpfT1ZLqVBrtnYflxlUJTp+WelcQg87cM1/5pTloUeqHVBDf
         5BiQ==
X-Gm-Message-State: AOJu0YzBIjoMawkhwFG2fR/Pi0knr7I8Y+RPZPf61zVRuVoO7wrjUT+h
	P8PXNKRs/Sy0bw9gTMji/iLGXzWf1/8icz5KQ/1CiKcYSiUuGArCPu3+sS+IR9l3qm+bi7icmSP
	y
X-Gm-Gg: ASbGnctqDPEi3+tCRyAo8F05g+835TpWGU5A3QNYCvY7QtYuJwQ/Tpk2FdipeX5uhDB
	F90/NaFB5c1wevSS8BJnudyk+nfL6wN1MwT2X1lxXDRD6T1DIcOCyuKaPqwUlv7+e5B2kGpoPgf
	mf7TyPmSSTQ9xNeBtEZ+LBiq4TLuJGUb/exwIVbWqYTvCB3UESbbrsfrPasHspzTjFm61z3ynm3
	Amer0hgJwInAWDHe0SvieJHSvDNIL7PDUMaOSQDEVNE9baG6zuMkOHz5oKVLtHQ67SGqxnnos2h
	8VDkmYtQ9YN8hENQ9Rz4dne/X5mb+l9MuX5xgVUDJHrEDg4VR/4OS5/ygjPSC50NxOJhfgj6e8/
	5In0rBLhNAsmCGY6Vgg==
X-Google-Smtp-Source: AGHT+IELsHe5TzUWN9zncFvJtDyApbhOpFn6gW9MOhX3nDU9IbgxEVnfT1yHbRYR+6Rppaiq3BsZVg==
X-Received: by 2002:a05:600c:cc7:b0:43d:ed:ad07 with SMTP id 5b1f17b1804b1-43d4381697cmr81251655e9.29.1742486357151;
        Thu, 20 Mar 2025 08:59:17 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 2/3] Xen: Update compiler checks
Date: Thu, 20 Mar 2025 15:59:07 +0000
Message-Id: <20250320155908.43885-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250320155908.43885-1-andrew.cooper3@citrix.com>
References: <20250320155908.43885-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We didn't really have a Clang check before, so add one while adjusting the GCC
check.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/include/xen/compiler.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index b118e4ba62eb..cc955be32664 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -1,18 +1,10 @@
 #ifndef __LINUX_COMPILER_H
 #define __LINUX_COMPILER_H
 
-#if !defined(__GNUC__) || (__GNUC__ < 4)
-#error Sorry, your compiler is too old/not recognized.
-#elif CONFIG_CC_IS_GCC
-# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
-#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
-# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
-/*
- * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
- * https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
- */
-#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
-# endif
+#if CONFIG_CC_IS_GCC && CONFIG_GCC_VERSION < 50100
+# error Sorry, your version of GCC is too old - please use 5.1 or newer
+#elif CONFIG_CC_IS_CLANG && CONFIG_CLANG_VERSION < 110000
+# error Sorry, your version of Clang is too old - please use 11 or newer
 #endif
 
 #define barrier()     __asm__ __volatile__("": : :"memory")
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 15:59:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 15:59:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922812.1326648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIIj-00054B-O0; Thu, 20 Mar 2025 15:59:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922812.1326648; Thu, 20 Mar 2025 15:59: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 1tvIIj-00053N-Hs; Thu, 20 Mar 2025 15:59:21 +0000
Received: by outflank-mailman (input) for mailman id 922812;
 Thu, 20 Mar 2025 15:59: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvIIi-0004A4-Ov
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:59:20 +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 47d9f98a-05a4-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 16:59:18 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso10025615e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 08:59:18 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fceafacsm1851225e9.6.2025.03.20.08.59.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 08:59: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: 47d9f98a-05a4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742486358; x=1743091158; 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=CqKr1+6WMiT6VQWQ8sqIJpeUTlqKAraO1MHdveiEfFc=;
        b=srA3nCfaTz+icGths8Bh6BMN1CngKEtQpdnCebnRbdW/VPUvzkgbL7KoffEfzi+l8f
         z+PkSWGDypRNnazg9gpUkkqLk/ejTn6ddjWPh9OHm8iEjxOd7wweNtvNRvQIs/POjprA
         pgqjvx2eChHDwVSp/34GyKxnhm2F1/rteaFPk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742486358; x=1743091158;
        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=CqKr1+6WMiT6VQWQ8sqIJpeUTlqKAraO1MHdveiEfFc=;
        b=wcz9kc06sWmpVMoVNxUaIhR0Fdonar6J1+pprQkR7H1nuydCUAu9B+pAivGLCDtZHJ
         SF8YCNve9t6qSoKtO6TM1W1adyh+FhfScEOXEBb6/8cVdaNC7meFwYJMwNuCwNEDlsnK
         qVsnLcqhbeN3vM8jfkP0PsiqVAt83gjggjljCESZ+6Uh7mKLK7R50JaAhEStL27jHW+O
         P25AAhIZ+iJj375SsppeYIF3YFAFamjOGbc/b/3yQTggK/9cgnXAqtw1lmFbG+MDzFTv
         UmqojOUBG+b+jyWzvKgbo+fTfipSkID2iNbw2fD5qgDeTdhdz3TwQh2uL7eeQkSiB34w
         XCDw==
X-Gm-Message-State: AOJu0YxqWUTs6d+zqt15OjrwnT3s+Acf7efLrC1SvR8bQsAhdcwRgB+1
	OoNi1U0aHyLFWf1Htn8jKHEs4mqYjN5+FwF58ZQtnVLFzEXxCLxGzCF7aHfG1MB13qTCWqE4eYb
	W
X-Gm-Gg: ASbGncvfsG/UbIOO3KkuAC3tKG/JF1IxbNPDNYKtsTlBzAuIwsfCl37T8kVJzgxA9k7
	ZsOVKtlLCZpPqOv+HPbJCkVDp2MSm7Tb7isyYV6im6CD/RAWKR/2egFuvz4sKw+K7boqjiQ9CTn
	IZlW5dSQvilGnXDmqFqvWYVqZ+B281TmyBA9Mfu5YkiawYWMiQId91WHM1RQAsONJW48sUOY6Tr
	EuTefYM9ExiIs/swWX6ASZG6C6yReG1bKiTP3RhRxCJxSei99PJayEtoVBaZEY+CzRuexlnSWKC
	KmfdkUe21hqNvAf5ToiPkTxMLIpoCUd50kd5EQdP3msrbTt3lz0TXKAe9pnf3Ocgble0lDmjb3J
	tYPL9tnBxdD6dTZ4qaA==
X-Google-Smtp-Source: AGHT+IGl7hl1J9Z6W4cQgz9a5i+9874CFR/qeNiO5UNvyybeqNmui/7cxUExbIfbQXPYDDmtCTT5Pw==
X-Received: by 2002:a05:600c:46ca:b0:43c:fee3:2bce with SMTP id 5b1f17b1804b1-43d495ab6c7mr35669675e9.26.1742486357922;
        Thu, 20 Mar 2025 08:59:17 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
Date: Thu, 20 Mar 2025 15:59:08 +0000
Message-Id: <20250320155908.43885-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250320155908.43885-1-andrew.cooper3@citrix.com>
References: <20250320155908.43885-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: 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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a5919585d43..4e333e608a96 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
+ - The minimum toolchain requirements have been increased to either:
+   - GCC 5.1 and Binutils 2.25, or
+   - Clang/LLVM 11
 
 ### Added
  - On x86:
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:01:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:01:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922842.1326656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIKz-000884-0r; Thu, 20 Mar 2025 16:01:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922842.1326656; Thu, 20 Mar 2025 16:01: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 1tvIKy-00087x-To; Thu, 20 Mar 2025 16:01:40 +0000
Received: by outflank-mailman (input) for mailman id 922842;
 Thu, 20 Mar 2025 16:01: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvIKx-00087p-ST
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:01:39 +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 9b8152f9-05a4-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 17:01:39 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cf05f0c3eso6989235e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:01:39 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d46edba08sm43918815e9.18.2025.03.20.09.01.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 09:01: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: 9b8152f9-05a4-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742486498; x=1743091298; 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=/QAGOtgVtywff/ttmjmtkxl+ELqSOOpLhcIJcP6dUn0=;
        b=HzvKoKdejHgpM5i8bQB93mYpDE/qR0zIO1fYJQdckPCkDrnC3fyorUC5l7X4f9SwOo
         t7fjNRnlLG4I3OOY5fAvL2WqRF06anvntlnM13ya1UEb85z0Se2fuR/GQFTdzKqEGB8/
         GqSkfmMqn3OXcTN3SFb1k8Du0ZjG4ppnBc598=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742486498; x=1743091298;
        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=/QAGOtgVtywff/ttmjmtkxl+ELqSOOpLhcIJcP6dUn0=;
        b=LeazEpemmhRxGJ9xfmPmRPIxc2lfj+tsJCW8GlZgg6i5zS1X9KBi6hTZaCPveb0JjM
         Eo/63P4ZMVY7ioxlow9MXr5ae1dQvXCXi4HBkvWFzPLhts7kHyGIUaplH15qjcnmcABC
         as2saLcT5DAPd5eaVEx8UXdnU0Xf2jQIWG3CvynfQR++RGzQF9E4X4NRYU6cH8+j5NK8
         6AjftXsUIzU4X8zxLUzxlmH1Nmwuj6j5GirllQIpTvg5mGfUST2EUHgo9MUyHS+vEAuc
         cgT3Qz1cMWAgEFdE5cwrqEDX4SUNnnOSfQncLBph2+Aqlry2WXdRFTSwTNpIDkcG5eAy
         nDGA==
X-Gm-Message-State: AOJu0Yx/bj8QIBq2PGb4K1wl6wn+YMRJV27f5+f3XHH34baRvKzdjdjC
	G7t6h+msVcrumsEqoq48lUbitFF2siHuaHjMrry8djHDCOHsPea7OyA7DRovfS6k/mFPfVGIK8O
	y
X-Gm-Gg: ASbGnctS8rVBZPQYqdPyqTp5GTR4XbpfkjPgkqyRhGRGiiF2n1SvL/6v20AV5TdlMMf
	CbXK8mZKF0WZTU0qtSt//cMXfmUCFIQTb3YAYYhxFAeZqZiGXXIIFC1UBPYF5TmNs19hXEcG69R
	K3CQQ90f5KBwiTG+a40ITkRLNV4kiXmtLXdW++CpQQj9UzinjIO8PZ22lhq9+xDgxquIhVED+AV
	+kKFz47SIm+pm5bGspfQciBRRQ5obzG4sVyTPHY+eDlNjlM/lOBSTh1KE49mbHCv7e+QvajgxFE
	wocox704PTjd6+im6eP6NixCMfvT+UukWc3UpQ0sEFhFmBaWywOhPYWLqPLGPKb109YOyNqnADO
	Rl1F1zjVvKg==
X-Google-Smtp-Source: AGHT+IHoE0h9SrCLr/i8IWHoPpjrCwwWBg0cr+ZDJLMpBAQKFGmfKr9XuhS0UTFFazRX+nO9IKCqug==
X-Received: by 2002:a05:600c:1d8b:b0:43d:160:cd97 with SMTP id 5b1f17b1804b1-43d495a42d4mr35530735e9.25.1742486498057;
        Thu, 20 Mar 2025 09:01:38 -0700 (PDT)
Message-ID: <ef8fbae6-e231-4348-843b-bf84eaf0ef52@citrix.com>
Date: Thu, 20 Mar 2025 16:01:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] CI: Update build tests based on new minimum toolchain
 requirements
To: 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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250320155908.43885-1-andrew.cooper3@citrix.com>
 <20250320155908.43885-2-andrew.cooper3@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: <20250320155908.43885-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Test, to try and figure out what inumbo is choking on.

~Andrew

On 20/03/2025 3:59 pm, Andrew Cooper wrote:
> Drop CentOS 7 entirely.  It's way to old now.
>
> Ubuntu 22.04 is the oldest Ubuntu with a suitable version of Clang, so swap
> the 16.04 clang builds for 22.04.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  automation/build/centos/7.dockerfile | 72 ----------------------------
>  automation/gitlab-ci/build.yaml      | 30 ++++--------
>  2 files changed, 10 insertions(+), 92 deletions(-)
>  delete mode 100644 automation/build/centos/7.dockerfile
>
> diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
> deleted file mode 100644
> index f41dda732084..000000000000
> --- a/automation/build/centos/7.dockerfile
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -# syntax=docker/dockerfile:1
> -FROM --platform=linux/amd64 centos:7
> -LABEL maintainer.name="The Xen Project" \
> -      maintainer.email="xen-devel@lists.xenproject.org"
> -
> -RUN mkdir /build
> -WORKDIR /build
> -
> -RUN <<EOF
> -    set -e
> -
> -    # Fix up Yum config now that mirror.centos.org doesn't exist
> -    sed -e 's/mirror.centos.org/vault.centos.org/g' \
> -        -e 's/^#.*baseurl=https\?/baseurl=https/g' \
> -        -e 's/^mirrorlist=https\?/#mirrorlist=https/g' \
> -        -i /etc/yum.repos.d/*.repo
> -
> -    # Add the EPEL repo to get dev86
> -    yum -y install epel-release
> -
> -    # Update everything (Base container is out of date)
> -    yum -y update
> -
> -    DEPS=(
> -        # Xen
> -        binutils
> -        gcc
> -        make
> -        python
> -        # Kconfig
> -        bison
> -        flex
> -        # Flask
> -        checkpolicy
> -
> -        # Tools (general)
> -        git
> -        gzip
> -        patch
> -        perl
> -        pkgconfig
> -        wget
> -        # libxenguest dombuilder
> -        bzip2-devel
> -        lz4-devel
> -        lzo-devel
> -        xz-devel
> -        zlib-devel
> -        zstd-devel
> -        # libacpi
> -        acpica-tools
> -        # libxl
> -        libuuid-devel
> -        yajl-devel
> -        # RomBIOS
> -        dev86
> -        # Header Check
> -        gcc-c++
> -        # xentop
> -        ncurses-devel
> -        # Python bindings
> -        python-devel
> -
> -        # Stubdom download/extract
> -        bzip2
> -    )
> -
> -    yum -y install "${DEPS[@]}"
> -
> -    yum clean all
> -    rm -rf /var/cache/yum
> -EOF
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index f633068c312b..2513908b059b 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -545,16 +545,6 @@ archlinux-gcc-debug:
>      CONTAINER: archlinux:current
>    allow_failure: true
>  
> -centos-7-gcc:
> -  extends: .gcc-x86-64-build
> -  variables:
> -    CONTAINER: centos:7
> -
> -centos-7-gcc-debug:
> -  extends: .gcc-x86-64-build-debug
> -  variables:
> -    CONTAINER: centos:7
> -
>  debian-12-x86_64-gcc-ibt:
>    extends: .gcc-x86-64-build
>    variables:
> @@ -607,16 +597,6 @@ fedora-41-x86_64-gcc-debug:
>    variables:
>      CONTAINER: fedora:41-x86_64
>  
> -ubuntu-16.04-x86_64-clang:
> -  extends: .clang-x86-64-build
> -  variables:
> -    CONTAINER: ubuntu:16.04-x86_64
> -
> -ubuntu-16.04-x86_64-clang-debug:
> -  extends: .clang-x86-64-build-debug
> -  variables:
> -    CONTAINER: ubuntu:16.04-x86_64
> -
>  ubuntu-16.04-x86_64-gcc:
>    extends: .gcc-x86-64-build
>    variables:
> @@ -637,6 +617,16 @@ ubuntu-20.04-x86_64-gcc:
>    variables:
>      CONTAINER: ubuntu:20.04-x86_64
>  
> +ubuntu-22.04-x86_64-clang:
> +  extends: .clang-x86-64-build
> +  variables:
> +    CONTAINER: ubuntu:22.04-x86_64
> +
> +ubuntu-22.04-x86_64-clang-debug:
> +  extends: .clang-x86-64-build-debug
> +  variables:
> +    CONTAINER: ubuntu:22.04-x86_64
> +
>  ubuntu-22.04-x86_64-gcc:
>    extends: .gcc-x86-64-build
>    variables:



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:03:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:03:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922856.1326668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIN4-0000kv-DM; Thu, 20 Mar 2025 16:03:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922856.1326668; Thu, 20 Mar 2025 16:03: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 1tvIN4-0000ko-92; Thu, 20 Mar 2025 16:03:50 +0000
Received: by outflank-mailman (input) for mailman id 922856;
 Thu, 20 Mar 2025 16:03: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=a0MG=WH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tvIIw-0004Bj-Ao
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 15:59:34 +0000
Received: from AS8PR03CU001.outbound.protection.outlook.com
 (mail-westeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c201::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50ccaa15-05a4-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 16:59:33 +0100 (CET)
Received: from PR0P264CA0245.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::17) by
 AM8PR08MB6498.eurprd08.prod.outlook.com (2603:10a6:20b:364::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar
 2025 15:59:29 +0000
Received: from AM2PEPF0001C70F.eurprd05.prod.outlook.com
 (2603:10a6:100:0:cafe::4b) by PR0P264CA0245.outlook.office365.com
 (2603:10a6:100::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.35 via Frontend Transport; Thu,
 20 Mar 2025 15:59:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C70F.mail.protection.outlook.com (10.167.16.203) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 20 Mar 2025 15:59:28 +0000
Received: ("Tessian outbound f3153901b1f1:v597");
 Thu, 20 Mar 2025 15:59:28 +0000
Received: from L17f38f339348.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 92A5BA11-F161-41FD-BB07-C3E39A24D99C.1; 
 Thu, 20 Mar 2025 15:59:21 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L17f38f339348.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 20 Mar 2025 15:59:21 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AM8PR08MB6467.eurprd08.prod.outlook.com (2603:10a6:20b:316::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Thu, 20 Mar
 2025 15:59:17 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.036; Thu, 20 Mar 2025
 15:59: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: 50ccaa15-05a4-11f0-9ea0-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=r9n30UP0K28oY9TOF7dK+yKMagZMZd9nNLzw9qs8xjxsT0sFxZ4d/LmL/8TMWS2OEhoKSp09MlIWev/cK0Nj+b9OPJVehCT5F6Jg8k+eu0Mxc3W2kGOYXelmyvM0vI3+zvISBXaV92y73Odz7HNBVey3HeS4KFFTdZbCCPGDXaIIT8chhAWgt9pzOgTX83niXlXs7HW8rznnVpCMvJ6cbZLQs09C43h/3YHzdJTx1p4eiqwb2oBC21R64e2skJzXWrpqemw7BEJM2oLgrLS+kn9yYIqCcOxByHq4OoNVqlnKN5t71iaCzPk8cMoqomUJHYYqVLK77N83LqZCPnp3Iw==
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=WVBQh5x4TD7YlHeTnLaaSSOlB6hti02fJP49NGmdcuc=;
 b=BQ1C1tOjP9NP+hx2UgwmFofFVd3CaBD2sPQBfdVFfwp8REwuRB43ZxsB6F7ft8YfSdabIJRggU3opzfKNiQltxlgtjgC+tUs7H5Ptx8rQD6cvaCjHU7ZqqMyb3pf7NFA1U2F1H6llWLa7NQ43jvpmldixwycNI8PPbwzpSSpjHLSg+aKMeLKPg8czn7NakSTRHiLWCzFa2Bl3Y9IGsYW4vaSsD8l5/jEG6F6Wjk/M40TJ94uTlayg9TMY/SytCfXwCJF7mSYOE7GIBRFqa9b5sNnbOlMjDZu8vpe8A6MS98Eyw9r10C+3CZwYoTCJHiLFsRIeNUwB7fkZbkFTduD4g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=WVBQh5x4TD7YlHeTnLaaSSOlB6hti02fJP49NGmdcuc=;
 b=D933fxtaVZL76tTww0D/IGKJ2tx5Mx+zlc0jgfE+4Bz0g8KHV7oKFV2NlRTBM5AxbEsv2EzVuQWoUYzQfARopU+5VbEEA/l45N7xV5Hl9b0LBd1ggLBrXUqS19N6E03haNSejEegFIVxN6E5rgMB13+f8gGhJITlVaE45Sl7S/o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ba9b400ce7d172dd
X-TessianGatewayMetadata: 1FJr3d8XpMquHCDdCI4yi9bRTIRtCJDxdC9xB2mp3lLdn4YJz/oiEZrDe04L5qv3AWEYViPcoYV+rb1pIJiWoQe16gFIE+cS+bJLgZhrAAUYQ44vKkF995KYt7etF56DA7mXdb+FfXPdf7MBTZA0M/YyvuinbGuKCZMcVWm07e4=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lIKrCfvSal/Lgf/ImSaY56BUuANST4ym1TwzYRK4YJ8Q/ZRmxcF2noR6oaZp5DzP0OhfDDkUFSnfA99QKLDxShpruvtLKoopon3+Rcxy+8bJqZxk4zta+bdwrDye4yLzrPoNrboIdRT1GO/6TB9feHfhh20j6YcR9HgK3YZ/Tg8p0/ECdvHHWBdcVss6rUquu44pcPFRWyD3b4l3bLuOR4kSlHT6bEkVhP3KhrUCPifqsuQdSv3N8WxFAJEZlyUu+gYldgIXJiPvpZ1eAuHoqUhHtZTiQV1h9scuR9goO0nwNWiIiNVOTypLO2jEkDjz6YpHsWJEiwx834JK9aznjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WVBQh5x4TD7YlHeTnLaaSSOlB6hti02fJP49NGmdcuc=;
 b=hu3+glA3ukyc6pT0YV5Qtr3Mw75y5bFn2dg0rK2diOrkfm1PZufRvp3ar4A3H7MgtKvPyegi4f5D9kW4JQSeas+K0thE4d3vExZw3NVbA0WlJlE+88jnWJ+xOBQQ6+EAt7T5s86paaT0Y06ikPYfUBJ0gxTfJlWs3yVYg9EEqcp8A14f5GTfrSpLcENuMuDaNg7MT9EMjBbeILJtumgho/Av0Fnn6eWJyW5/9gbiPZ24oUgxYuxXtNtTbHI/Z47iL+ZNNhOyhq7hQ269/e/aRrWWOu/BVo5r2UqlBbmAnfvqaozKcNN7v7yBSbYGn0PzgJ+vbHAVhvwlFoVMTTg0wg==
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=WVBQh5x4TD7YlHeTnLaaSSOlB6hti02fJP49NGmdcuc=;
 b=D933fxtaVZL76tTww0D/IGKJ2tx5Mx+zlc0jgfE+4Bz0g8KHV7oKFV2NlRTBM5AxbEsv2EzVuQWoUYzQfARopU+5VbEEA/l45N7xV5Hl9b0LBd1ggLBrXUqS19N6E03haNSejEegFIVxN6E5rgMB13+f8gGhJITlVaE45Sl7S/o=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v2 4/5] xen/arm: ffa: Add indirect message between VM
Thread-Topic: [PATCH v2 4/5] xen/arm: ffa: Add indirect message between VM
Thread-Index: AQHbkcvpt0PUM4qxV0mEdDt9tLfY+rN8POUAgAABhwA=
Date: Thu, 20 Mar 2025 15:59:16 +0000
Message-ID: <C6225B5D-D9DC-46E9-B879-A3075D49B81E@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <2265f8a8c22034c629025f384acb4f33a4235387.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44Hcto=kFLpkKBFbH9ucjp+aAERrAFoqbnYjP-_iLqXoJA@mail.gmail.com>
In-Reply-To:
 <CAHUa44Hcto=kFLpkKBFbH9ucjp+aAERrAFoqbnYjP-_iLqXoJA@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AM8PR08MB6467:EE_|AM2PEPF0001C70F:EE_|AM8PR08MB6498:EE_
X-MS-Office365-Filtering-Correlation-Id: a5db7af6-52d2-460c-797b-08dd67c83200
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|10070799003|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Y2Z4WHp1L1Q2a04xZTFEbXNRSE1MOUl3eDd6eGZkZUJxemdwdmNydjdXVVhQ?=
 =?utf-8?B?R2ZzNExLNmlxNXBEZmFkTE1YUFg1QVF3ZFNrMTMyWDFEdmRESG01SHBPakxV?=
 =?utf-8?B?a2h4Z2VGcGFQN2p1K2Q4S0d6UnV4TEZEU1JTQTlpSW8zRU5SSlNhMWE1TUw3?=
 =?utf-8?B?QmJwUTJmNEdmWXBWQThlcWtsMVUzNnVBL0FqUlpyK0ZOYWg1QU9qS0xwTTY4?=
 =?utf-8?B?azRQOGp4ZURTdVc1MXFJT1F0OFZwVE44eDdRMjNIWEczVyt5RGdFOUl2NnlW?=
 =?utf-8?B?RmVaUWNSTWpSRXRUdTdlNkxxbUxoNVdZK0srSFF4SmdRWDgvWjZlc1hYam1N?=
 =?utf-8?B?MkptbXJha2EyMkhWcU80MjdEbWNEcFJxUFR5TDc1TFdhM09DNnIyNmwzUCs1?=
 =?utf-8?B?c3VtKzArSktta0tlMDVpQWxhOEpLSzZWQXVIbFNldVVRU1pyVzB3U0k0b1dW?=
 =?utf-8?B?YURSZTBuWXZISjFMZFFqQ2JGY2hOTW5qRzdncGk0amcrL3RscXlzYmlYdE9k?=
 =?utf-8?B?cUpYaDk1dE5VbEpLQWhJUGRsWnowUXRNcFBPQTd6bCtFMFhtdWNNajB4RytN?=
 =?utf-8?B?QkVHR0xBWFRLUnk2SnpPZEw0N2tJdjN2ZXBrZnZBampneWk1aVF5Q0ZoNDds?=
 =?utf-8?B?M1JNQkUzTmdSenhpczhvTjJqalU0SG55Y1UvUWhka2E2N0lKMVdFOU90elVV?=
 =?utf-8?B?cWNGUG1jdVJRRHF5ZWsxL05sL3pscTFOeWtDZ09NaG94Qk56SEFnTmlHZVJP?=
 =?utf-8?B?VU1aUVgxUEQ2TzkzUS94aHVVbmdqT2MyYzhpdktQZHZpMXJLdjF3Yy9SMWhj?=
 =?utf-8?B?Q1c4dFNQaXN5Zm00UG9sTkJ1RTFKbzVQdml3QklBc2lzTEg4ZWxqbGowU0V0?=
 =?utf-8?B?bFNxN2E1U29CN0RzY2tVOStoS2xXc2EzMk0xM0FkL1QreWs2ckhnNld4bU1L?=
 =?utf-8?B?bDRjYTlXc2JTdS9kWWFuU3YvMll5TElRbG1pQmx0ZnBWOGVCbDdkVDl2dTFY?=
 =?utf-8?B?VFZVUVF0VDc3Z2I0OExYRjZ2TTZ0bzRhSVg1QXZqZ2REbmsyZ1dqSFVwQS9t?=
 =?utf-8?B?Rkd2eHAvZk1Ja1pyRGdiSVUvd3VvQU5haTJTajExOGlXdk1hckM0OWxNMXg2?=
 =?utf-8?B?UnkvNUZLbVB4WnZ3R2k1N0pGMEdvUHVPVXhTa29LN1M3elVoUzlKQklCRTAw?=
 =?utf-8?B?U2hpRTdYenNRSjVpRHdyNnRqWUFpTFc2cnNLVmFjanl2Q2hCM1JHZWMvTm5i?=
 =?utf-8?B?Nk1LemUyaTdJcGlCWDJpLzVMa2J5Z2ZLU09MY284Y0dGNTVhSEhrOHdaZ0xY?=
 =?utf-8?B?RXNlN0NMelBKM005UDFwVEU2MmxOR2dNRzA3aWQ2NkI3bEJ5enl1ZDJtTEhm?=
 =?utf-8?B?MFp1eFJPVitSMnZqN2dmWlVnWm4rMkZ6aEtRN1dpY1VYZ0pkdlZjT1N5MERS?=
 =?utf-8?B?NUxKTitUNC9wSXNGUE8rRmtiWVoxbWdvc1VzQWlmeDQ3azNISDRVdkFpUzVN?=
 =?utf-8?B?TU56WUlPR041ZkRPY0hBd1p0YndIWUFRSmtaN0hIaCtkWkVkbExsTEVwbHZu?=
 =?utf-8?B?SUhteHd0UG9ld2pPWjBYRkY4V0d1aDl5cTdjL1RGcWFqeUpLZ253SjhZenBG?=
 =?utf-8?B?ZzFUUUdSLzIwSDZvVWVJR3RpRWp2UGRORkRCZ2k0MzVwOEJNRkhPRGFZNXdL?=
 =?utf-8?B?czFFa2c5MGtoN0JVVUNYcjQyZ0lWMzU4MlNCVkxLUUpZMEFKN1J0dzVMdGtX?=
 =?utf-8?B?b3NWZFUvZ3krTTBtallxdUhpc0J4VWtVZFpWbXN0S085dktRLytxRk4xWTVX?=
 =?utf-8?B?WEdESEVJdVdraFdMNm9ZTVJ4S1BTTEEzdHU5WUUvY3ExUG5BZHpad0hQWSt1?=
 =?utf-8?B?Z2E2akxSNW5McjFnSjJ0UnBQUDZneXVrVTN4ODB1bVJOQndSbTZuR1ZrNHlh?=
 =?utf-8?Q?bVJpdq4xnAlPGE4HIXV88A2C2zYUkvSc?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <2BEA8F660348A84FB81A625FF5ACF694@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6467
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C70F.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2b51105f-eb06-4061-8518-08dd67c82ac2
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|376014|82310400026|35042699022|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UmdEcGJBaXRPVy81YkQzNElOcVFORlJ2WFJpYjdkM2RFODI0RC9Gd0JTKzVm?=
 =?utf-8?B?WlFUVE1PTHUwUzJSZXB3TzJQVGtCMXNic2ZGb0w0TXlJZE9SSW9hWlZPRTdw?=
 =?utf-8?B?eVpGdWlDTUQ2OFB1alo3SWVzV3JKSjRwbFBXdnhNOFFueGVVeTNuSEJyYlFp?=
 =?utf-8?B?QVViNlhzL2thcEJFZkUxU0U5VUVHSVF2cjdqZnVMNmd6VkNId1ROeHoyc0Iw?=
 =?utf-8?B?cVJyT0ErVld1T0JaYVBaV1VSUGZWNEpmNDNIUHhoTTVlY2dJcFZLSUJtamtJ?=
 =?utf-8?B?OXZhU3hUUUxUV1ZXV2ROWXJjUEF0VEdsREdUejE3UGN5WlNyVjFncndCaEJY?=
 =?utf-8?B?STZxOUswT3Jlc05GY1RWbXVhTG4rVXhCZVF2QW9yaWZQMk1iaHFrNEpaT3k3?=
 =?utf-8?B?VW9UVEFpZlpBaWVnQUtpSDV6RUxwcG1RZUpJRU9OdlpxemtLZnJHemV2S2VY?=
 =?utf-8?B?U1VnbXF4ZEU0S2hGWUV5cmlKSlV5NW5WcUprMGZoczF4SWdDekFJWXZzaXZY?=
 =?utf-8?B?UWQ2d1dxZllWQW5tRVdacVk4bU5iWVNFUXBFOHQ5Wmt2aTQvZHdKcU5aVndx?=
 =?utf-8?B?M0lUTUs1UzJKSnk5QzNlNVZTeUUyUklNRmpBd2gwOEx0Y2d1S28zcEY4d25q?=
 =?utf-8?B?bTlZSzRXcnpqa09DYjZLeWRFanNPeTlEQTR3ejlQckUzdENnL3A3YWF0V0dz?=
 =?utf-8?B?TFFKSVF1Z0ZkM0JUYmJIR2tTZGpvdGsyRHprSWN5aEFRQ01EK1c2a2JucSty?=
 =?utf-8?B?QlJjeGJwZ0xZZHNRUTB4L2lncnpnMU5zSy9EUVl2QzErakxIbFN2RzM0aURM?=
 =?utf-8?B?WDJ0aHFxNkFLdkozOHJIQXM3ZFdXUzV6TkgrU1BrNnNrOG1KUUR4UkNhZnBr?=
 =?utf-8?B?aTNxNENWTW5RczZkbVVIaitGbE9adHQvUTBFdVRFOExqMlFLcU1uQjRaY0ti?=
 =?utf-8?B?YU5VaWw2d0xNRGJaeEN3M0RURGt1cE51cks0cy95M3R1enpQSmhyV3pxdStM?=
 =?utf-8?B?V3lnYnF1ZHZXRXVOQVIrRHFZQUsybjYzem95MEppVkhmQ1ZyeDcvbXY4eTB3?=
 =?utf-8?B?aG53SlN3Wk50aERxdnNjbEVzS1pNWFZ2Y0dsZ3ovT3V3eEV3YXl3a0lDcXNY?=
 =?utf-8?B?WmF3d2dzcHN2QVlvMkJqVW05ZENVazlDWDhiSXhoR256TkNqRDFSU0lveDlR?=
 =?utf-8?B?d2tIVmk0TzQzaC9DUGFRUkdLOXhIQzMyd0lISi94RFJpMlorbjVLUmQwUHBH?=
 =?utf-8?B?ckdKOVFqaUVzQWVGNmVvNHMzdTI4anVyZnFEK3l4YmtJQVF0Y0hiT1A3cHZo?=
 =?utf-8?B?L29IOXFYZG9YSG1vZlBjUzJBYWx6ZUdKcWYweklZRkZLaS9tZ0pGWUxxZ3I5?=
 =?utf-8?B?T0lxOEN1OUV5dzhUQlNMVFBJWlp1T0VHbHRqUHc4b0JIaVNPM1hLTExyR1Ez?=
 =?utf-8?B?TXUxVFRmdVIvY05VZUZFQ1dlSURHZTNZT2gzZDEzRzNyUzR0VVFVcXNTOGlL?=
 =?utf-8?B?alVvd1Y4R1V3SmNGU2Q5SlRmTnFFY3dUTmcxbEl0YVhKVkJEU2xSV0I1dWdh?=
 =?utf-8?B?eTdzM2JSOWxSOU8raTdsdXVpWWU1MWsvYUFMWGNyeWZJWE85OW4zRjNJWS9k?=
 =?utf-8?B?TzR1dHlwSi90Rnd4OHVBdVNOSGxOOFE5elVBS3czbE11dzBOT3JLR1FUNEdG?=
 =?utf-8?B?MmloK2FrT0Rjd0lhZ3JCS2UxMlRJdks4dEhyUFFzUmdlOTI2aGd3K3huNk9j?=
 =?utf-8?B?SUxuVG5DbFZwajJvMGZQNUUrTXhxbFVrMzFtaERuaXpVbkFnNHhtNXE3QmFr?=
 =?utf-8?B?UDAyc0g2UmZQUU5pRCtndXNNdEU2ZE5CZHloZVF3ZGVncWRsbXBIZi91VzZh?=
 =?utf-8?B?aDJhc1I0V3hZOGpCcTM1emFXV0g4SEc1SnRLNDd4dHoxQ2JzKzJld1k2Z0hm?=
 =?utf-8?B?VU85eHk4Qk1BQ3dCbGg2RGwzTlJzaUNob1kzMFJMOFhRckZoOXpKSzdUUVFu?=
 =?utf-8?Q?JaJwKU4NnwGF9gNBkjU2ZzQZRFYh4w=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(376014)(82310400026)(35042699022)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 15:59:28.4927
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a5db7af6-52d2-460c-797b-08dd67c83200
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C70F.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6498

SGkgSmVucywNCg0KPiBPbiAyMCBNYXIgMjAyNSwgYXQgMTY6NTMsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gTW9uLCBNYXIgMTAsIDIwMjUgYXQgMzo1MeKAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4g
PGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEFkZCBzdXBwb3J0IGZv
ciBpbmRpcmVjdCBtZXNzYWdlcyBiZXR3ZWVuIFZNcy4NCj4+IFRoaXMgaXMgb25seSBlbmFibGVk
IGlmIENPTkZJR19GRkFfVk1fVE9fVk0gaXMgc2VsZWN0ZWQuDQo+PiANCj4+IFNpZ25lZC1vZmYt
Ynk6IEJlcnRyYW5kIE1hcnF1aXMgPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4NCj4+IC0tLQ0K
Pj4gQ2hhbmdlcyBpbiB2MjoNCj4+IC0gU3dpdGNoIGlmZGVmIHRvIElTX0VOQUJMRUQNCj4+IC0t
LQ0KPj4geGVuL2FyY2gvYXJtL3RlZS9mZmFfbXNnLmMgICAgIHwgOTYgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLQ0KPj4geGVuL2FyY2gvYXJtL3RlZS9mZmFfcHJpdmF0ZS5oIHwg
IDQgKysNCj4+IDIgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMo
LSkNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX21zZy5jIGIveGVu
L2FyY2gvYXJtL3RlZS9mZmFfbXNnLmMNCj4+IGluZGV4IGVlNTk0ZTczN2ZjNy4uMzM2ZDViYmY2
NGY2IDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfbXNnLmMNCj4+ICsrKyBi
L3hlbi9hcmNoL2FybS90ZWUvZmZhX21zZy5jDQo+PiBAQCAtOTYsOSArOTYsNiBAQCBpbnQzMl90
IGZmYV9oYW5kbGVfbXNnX3NlbmQyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gICAg
IHVpbnQxNl90IGRzdF9pZCwgc3JjX2lkOw0KPj4gICAgIGludDMyX3QgcmV0Ow0KPj4gDQo+PiAt
ICAgIGlmICggIWZmYV9md19zdXBwb3J0c19maWQoRkZBX01TR19TRU5EMikgKQ0KPj4gLSAgICAg
ICAgcmV0dXJuIEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+IC0NCj4+ICAgICBpZiAoICFzcGlu
X3RyeWxvY2soJnNyY19jdHgtPnR4X2xvY2spICkNCj4+ICAgICAgICAgcmV0dXJuIEZGQV9SRVRf
QlVTWTsNCj4+IA0KPj4gQEAgLTEwNiwxMCArMTAzLDEwIEBAIGludDMyX3QgZmZhX2hhbmRsZV9t
c2dfc2VuZDIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgc3JjX2lkID0gc3Jj
X21zZy0+c2VuZF9yZWN2X2lkID4+IDE2Ow0KPj4gICAgIGRzdF9pZCA9IHNyY19tc2ctPnNlbmRf
cmVjdl9pZCAmIEdFTk1BU0soMTUsMCk7DQo+PiANCj4+IC0gICAgaWYgKCBzcmNfaWQgIT0gZmZh
X2dldF92bV9pZChzcmNfZCkgfHwgIUZGQV9JRF9JU19TRUNVUkUoZHN0X2lkKSApDQo+PiArICAg
IGlmICggc3JjX2lkICE9IGZmYV9nZXRfdm1faWQoc3JjX2QpICkNCj4+ICAgICB7DQo+PiAgICAg
ICAgIHJldCA9IEZGQV9SRVRfSU5WQUxJRF9QQVJBTUVURVJTOw0KPj4gLSAgICAgICAgZ290byBv
dXRfdW5sb2NrX3R4Ow0KPj4gKyAgICAgICAgZ290byBvdXQ7DQo+PiAgICAgfQ0KPj4gDQo+PiAg
ICAgLyogY2hlY2sgc291cmNlIG1lc3NhZ2UgZml0cyBpbiBidWZmZXIgKi8NCj4+IEBAIC0xMTgs
MTMgKzExNSw5NiBAQCBpbnQzMl90IGZmYV9oYW5kbGVfbXNnX3NlbmQyKHN0cnVjdCBjcHVfdXNl
cl9yZWdzICpyZWdzKQ0KPj4gICAgICAgICAgc3JjX21zZy0+bXNnX29mZnNldCA8IHNpemVvZihz
dHJ1Y3QgZmZhX3BhcnRfbXNnX3J4dHgpICkNCj4+ICAgICB7DQo+PiAgICAgICAgIHJldCA9IEZG
QV9SRVRfSU5WQUxJRF9QQVJBTUVURVJTOw0KPj4gLSAgICAgICAgZ290byBvdXRfdW5sb2NrX3R4
Ow0KPj4gKyAgICAgICAgZ290byBvdXQ7DQo+PiAgICAgfQ0KPj4gDQo+PiAtICAgIHJldCA9IGZm
YV9zaW1wbGVfY2FsbChGRkFfTVNHX1NFTkQyLA0KPj4gKyAgICBpZiAoIEZGQV9JRF9JU19TRUNV
UkUoZHN0X2lkKSApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIC8qIE1lc3NhZ2UgZm9yIGEgc2Vj
dXJlIHBhcnRpdGlvbiAqLw0KPj4gKyAgICAgICAgaWYgKCAhZmZhX2Z3X3N1cHBvcnRzX2ZpZChG
RkFfTVNHX1NFTkQyKSApDQo+PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgcmV0ID0gRkZB
X1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4gKyAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4gKyAgICAg
ICAgfQ0KPj4gKw0KPj4gKyAgICAgICAgcmV0ID0gZmZhX3NpbXBsZV9jYWxsKEZGQV9NU0dfU0VO
RDIsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpZmZhX2dldF92bV9p
ZChzcmNfZCkpIDw8IDE2LCAwLCAwLCAwKTsNCj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4gKyAg
ICB9DQo+PiANCj4+IC1vdXRfdW5sb2NrX3R4Og0KPj4gKyAgICAvKiBNZXNzYWdlIGZvciBhIFZN
ICovDQo+PiArICAgIGlmICggSVNfRU5BQkxFRChDT05GSUdfRkZBX1ZNX1RPX1ZNKSApDQo+PiAr
ICAgIHsNCj4gDQo+IEkgd291bGQgbW92ZSB0aGlzIGJsb2NrIGludG8gYSBoZWxwZXIgZnVuY3Rp
b24gdG8gaXNvbGF0ZSB0aGUgbmVlZGVkDQo+IGNsZWFudXAgZXRjLCBidXQgdGhhdCBtaWdodCBi
ZSBtb3JlIGEgbWF0dGVyIG9mIHRhc3RlIHNvIGRvIGFzIHlvdQ0KPiBwcmVmZXIuDQoNClllcyB0
aGF0IHdvdWxkIGJlIGJldHRlci4gV2lsbCBkby4NCg0KPiANCj4+ICsgICAgICAgIHN0cnVjdCBk
b21haW4gKmRzdF9kOw0KPj4gKyAgICAgICAgc3RydWN0IGZmYV9jdHggKmRzdF9jdHg7DQo+PiAr
ICAgICAgICBzdHJ1Y3QgZmZhX3BhcnRfbXNnX3J4dHggKmRzdF9tc2c7DQo+PiArICAgICAgICBp
bnQgZXJyOw0KPj4gKw0KPj4gKyAgICAgICAgaWYgKCBkc3RfaWQgPT0gMCApDQo+PiArICAgICAg
ICB7DQo+PiArICAgICAgICAgICAgLyogRkYtQSBJRCAwIGlzIHRoZSBoeXBlcnZpc29yLCB0aGlz
IGlzIG5vdCB2YWxpZCAqLw0KPj4gKyAgICAgICAgICAgIHJldCA9IEZGQV9SRVRfSU5WQUxJRF9Q
QVJBTUVURVJTOw0KPj4gKyAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4gKyAgICAgICAgfQ0KPj4g
Kw0KPj4gKyAgICAgICAgLyogVGhpcyBpcyBhbHNvIGNoZWNraW5nIHRoYXQgZGVzdCBpcyBub3Qg
c3JjICovDQo+PiArICAgICAgICBlcnIgPSByY3VfbG9ja19saXZlX3JlbW90ZV9kb21haW5fYnlf
aWQoZHN0X2lkIC0gMSwgJmRzdF9kKTsNCj4+ICsgICAgICAgIGlmICggZXJyICkNCj4+ICsgICAg
ICAgIHsNCj4+ICsgICAgICAgICAgICByZXQgPSBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsN
Cj4+ICsgICAgICAgICAgICBnb3RvIG91dDsNCj4+ICsgICAgICAgIH0NCj4+ICsNCj4+ICsgICAg
ICAgIGlmICggZHN0X2QtPmFyY2gudGVlID09IE5VTEwgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAg
ICAgICAgICAgIHJldCA9IEZGQV9SRVRfSU5WQUxJRF9QQVJBTUVURVJTOw0KPj4gKyAgICAgICAg
ICAgIGdvdG8gb3V0X3VubG9jazsNCj4+ICsgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgIGRz
dF9jdHggPSBkc3RfZC0+YXJjaC50ZWU7DQo+PiArICAgICAgICBpZiAoICFkc3RfY3R4LT5ndWVz
dF92ZXJzICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAgICAgICByZXQgPSBGRkFfUkVUX0lO
VkFMSURfUEFSQU1FVEVSUzsNCj4+ICsgICAgICAgICAgICBnb3RvIG91dF91bmxvY2s7DQo+PiAr
ICAgICAgICB9DQo+PiArDQo+PiArICAgICAgICAvKiBUaGlzIGFsc28gY2hlY2tzIHRoYXQgZGVz
dGluYXRpb24gaGFzIHNldCBhIFJ4IGJ1ZmZlciAqLw0KPj4gKyAgICAgICAgcmV0ID0gZmZhX3J4
X2FjcXVpcmUoZHN0X2QpOw0KPj4gKyAgICAgICAgaWYgKCByZXQgKQ0KPj4gKyAgICAgICAgICAg
IGdvdG8gb3V0X3VubG9jazsNCj4+ICsNCj4+ICsgICAgICAgIC8qIHdlIG5lZWQgdG8gaGF2ZSBl
bm91Z2ggc3BhY2UgaW4gdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciAqLw0KPj4gKyAgICAgICAgaWYg
KCBkc3RfY3R4LT5wYWdlX2NvdW50ICogRkZBX1BBR0VfU0laRSA8DQo+PiArICAgICAgICAgICAg
ICAgIChzaXplb2Yoc3RydWN0IGZmYV9wYXJ0X21zZ19yeHR4KSArIHNyY19tc2ctPm1zZ19zaXpl
KSApDQo+PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgcmV0ID0gRkZBX1JFVF9OT19NRU1P
Ulk7DQo+PiArICAgICAgICAgICAgZmZhX3J4X3JlbGVhc2UoZHN0X2QpOw0KPj4gKyAgICAgICAg
ICAgIGdvdG8gb3V0X3VubG9jazsNCj4+ICsgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgIGRz
dF9tc2cgPSBkc3RfY3R4LT5yeDsNCj4+ICsNCj4+ICsgICAgICAgIC8qIHByZXBhcmUgZGVzdGlu
YXRpb24gaGVhZGVyICovDQo+PiArICAgICAgICBkc3RfbXNnLT5mbGFncyA9IDA7DQo+PiArICAg
ICAgICBkc3RfbXNnLT5yZXNlcnZlZCA9IDA7DQo+PiArICAgICAgICBkc3RfbXNnLT5tc2dfb2Zm
c2V0ID0gc2l6ZW9mKHN0cnVjdCBmZmFfcGFydF9tc2dfcnh0eCk7DQo+PiArICAgICAgICBkc3Rf
bXNnLT5zZW5kX3JlY3ZfaWQgPSBzcmNfbXNnLT5zZW5kX3JlY3ZfaWQ7DQo+PiArICAgICAgICBk
c3RfbXNnLT5tc2dfc2l6ZSA9IHNyY19tc2ctPm1zZ19zaXplOw0KPj4gKw0KPj4gKyAgICAgICAg
bWVtY3B5KGRzdF9jdHgtPnJ4ICsgc2l6ZW9mKHN0cnVjdCBmZmFfcGFydF9tc2dfcnh0eCksDQo+
PiArICAgICAgICAgICAgICAgc3JjX2N0eC0+dHggKyBzcmNfbXNnLT5tc2dfb2Zmc2V0LCBzcmNf
bXNnLT5tc2dfc2l6ZSk7DQo+PiArDQo+PiArICAgICAgICAvKiByZWNlaXZlciByeCBidWZmZXIg
d2lsbCBiZSByZWxlYXNlZCBieSB0aGUgcmVjZWl2ZXIqLw0KPj4gKw0KPj4gK291dF91bmxvY2s6
DQo+PiArICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihkc3RfZCk7DQo+PiArICAgICAgICBpZiAo
ICFyZXQgKQ0KPj4gKyAgICAgICAgICAgIGZmYV9yYWlzZV9yeF9idWZmZXJfZnVsbChkc3RfZCk7
DQo+PiArICAgIH0NCj4+ICsgICAgZWxzZQ0KPj4gKyAgICAgICAgcmV0ID0gRkZBX1JFVF9JTlZB
TElEX1BBUkFNRVRFUlM7DQo+PiArDQo+PiArb3V0Og0KPj4gICAgIHNwaW5fdW5sb2NrKCZzcmNf
Y3R4LT50eF9sb2NrKTsNCj4+ICAgICByZXR1cm4gcmV0Ow0KPj4gfQ0KPj4gZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaCBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX3By
aXZhdGUuaA0KPj4gaW5kZXggMWY1MDY3ZDVkMGM5Li4zNDBkYjIyOTQ1M2MgMTAwNjQ0DQo+PiAt
LS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRlLmgNCj4+ICsrKyBiL3hlbi9hcmNoL2Fy
bS90ZWUvZmZhX3ByaXZhdGUuaA0KPj4gQEAgLTM4MCw2ICszODAsMTAgQEAgaW50IGZmYV9oYW5k
bGVfbm90aWZpY2F0aW9uX3NldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7DQo+PiANCj4+
ICNpZmRlZiBDT05GSUdfRkZBX1ZNX1RPX1ZNDQo+PiB2b2lkIGZmYV9yYWlzZV9yeF9idWZmZXJf
ZnVsbChzdHJ1Y3QgZG9tYWluICpkKTsNCj4+ICsjZWxzZQ0KPj4gK3N0YXRpYyBpbmxpbmUgdm9p
ZCBmZmFfcmFpc2VfcnhfYnVmZmVyX2Z1bGwoc3RydWN0IGRvbWFpbiAqZCkNCj4+ICt7DQo+PiAr
fQ0KPiANCj4gU2hvdWxkbid0IHRoaXMgZ28gaW4gdGhlIHByZXZpb3VzIHBhdGNoICJ4ZW4vYXJt
OiBmZmE6IEFkZCBidWZmZXIgZnVsbA0KPiBub3RpZmljYXRpb24gc3VwcG9ydCI/DQo+IA0KDQpE
ZWZpbml0ZWx5IHllcy4gSSB3aWxsIG1vdmUgaXQgYmFjay4NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0K
DQo+IENoZWVycywNCj4gSmVucw0KPiANCj4+ICNlbmRpZg0KPj4gDQo+PiB2b2lkIGZmYV9oYW5k
bGVfbXNnX3NlbmRfZGlyZWN0X3JlcShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgdWludDMy
X3QgZmlkKTsNCj4+IC0tDQo+PiAyLjQ3LjENCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:05:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:05:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922875.1326677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIOH-0001iO-Pc; Thu, 20 Mar 2025 16:05:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922875.1326677; Thu, 20 Mar 2025 16:05: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 1tvIOH-0001iH-Mb; Thu, 20 Mar 2025 16:05:05 +0000
Received: by outflank-mailman (input) for mailman id 922875;
 Thu, 20 Mar 2025 16:05: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvIOG-00019L-E3
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:05:04 +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 155ae143-05a5-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 17:05:03 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so11011345e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:05: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-43d4fcea6ecsm2029985e9.5.2025.03.20.09.05.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 09:05: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: 155ae143-05a5-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742486703; x=1743091503; 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=7jKzLz6cZ0LjVB8OQSlICDzQ/aoAWhMFdeZ8tZJAuIA=;
        b=Qr+EK7KHsU9MHNrZknIoJ87nftwmTTGqsBttUMrT+4JvdVIyfa3vymrNipEXZc4iDL
         k6fMBtoTDpYgwCvR1NZaRdqdozTPlhNE4wZcRLURdEBgw3mS+1gR4+76vfZwvRcVidhP
         HO5kmBMbwhDbrfQ6xly8M9js91U8P5/I3Tpr5WeaVmjp5iidcXDY7AlMBr/iQu7RkcJz
         9bLHy8Oeux8xuei86K3G4hOYhYPAP9GYLfJt8tb1/zkWwMTcMzcyCtx5fNUbxSOKh4XP
         xcmm19H71/Mdaa9xRPwHYIdsSx4NpJ7ImQmelIeGmWwqNZU+QU9/0AAxEQ3XdO3VBxI9
         PPsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742486703; x=1743091503;
        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=7jKzLz6cZ0LjVB8OQSlICDzQ/aoAWhMFdeZ8tZJAuIA=;
        b=s1IJJbfps6r4j+2OgdRrDKrijAgywiSfUZYSkKYGFcUD449Za6k15WtoIkYGiuwsBV
         Ul8Eap0hv5ZBFagbmUd9W8v9/GBzfI3WFhKWuPr/SrakgXU2105y5V88hIqGIaLaesIc
         XFHku7H2O7CHyxZdohVwi38t7wD10AxLqSc7TYyMQ8HljMlNVvTWbeSMMGwbZsx2zgNG
         e3D1i+SKRv0elc8kct/j1sW8G1abithGF27z6LD8sjm5uOCMouUxv17BAhVEpEonCUaa
         gEkCIyZL/ivHDPI5gba5PbRCrbSzjKo8W6Ya592Qug/fD9zw1JUolac1kLbE1kbBmjoB
         lmsA==
X-Forwarded-Encrypted: i=1; AJvYcCWH9n/7+9oI/yDVmitTBFuMsiZpSjsQRexuoxzqraiKQNCHSwBRInJefPgyKbXy2mKwKbi6t9vaa7k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpHrgS+IxQMIb9pX8M2ijij0UObFw6VhG442N7fbcDcjSEOo0C
	fgVnVZwC1MrEcM+7kdOj3PPdsUiwHDtdhi78MGC/PjYJLUHCkBfXSzBhAnINfQ==
X-Gm-Gg: ASbGnct+9KwKyBxBT2yp7Ma0JWs1bpB2Qv8NR08r00KZpceUe+ft+AKmH947rS7kK/t
	So3+GBRSqQ14DOaR51I13WPI67O2yHvGV6FsEXQnHsYhMZjz8VHtXg5B8FuNGczz/SQzyQzQU7i
	rAtEqL89BKwEYmLO5oATgrV02hthVl//FSWBTGDtEYHLyfIIf3A45N9axsNZSHtuwS+UXvCG9re
	DnhCQ3tnTH+S6RymKTIVFM9UUec8sPERW4qe4gMRKnko1z3TAnMcL6ixKgSKazogxgsKpuJVjrY
	Chm43oAQiLbFg9MGdi6fU/qEZBgPaSjYwnwMoiChp8cfDUBLZE2g9SRV946EzdIKNf212ufeUPq
	I98iW39qc1e3xg1oc3tfpTka9drMBpeifRu1YpTuT
X-Google-Smtp-Source: AGHT+IFhQ607hPjnSzl6pW23sPNxQBmVu0TSmGRAPjoP76Y/WXutBX3zyz3j66Ho+6pem6bdvbI8ng==
X-Received: by 2002:a05:600c:3508:b0:43c:f513:9585 with SMTP id 5b1f17b1804b1-43d49547751mr30045865e9.13.1742486702851;
        Thu, 20 Mar 2025 09:05:02 -0700 (PDT)
Message-ID: <1807d7d5-0f4e-4a8d-8acf-d4ca9fe7329b@suse.com>
Date: Thu, 20 Mar 2025 17:05:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/3] drivers: Change amd_iommu struct to contain
 pci_sbdf_t, simplify code
To: Andrii Sultanov <sultanovandriy@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
References: <cover.1742311401.git.sultanovandriy@gmail.com>
 <0d578d1bd063f5d58f3dbaf2ab0e21143333a50e.1742311401.git.sultanovandriy@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: <0d578d1bd063f5d58f3dbaf2ab0e21143333a50e.1742311401.git.sultanovandriy@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 16:30, Andrii Sultanov wrote:
> Following on from 250d87dc3ff9 ("x86/msi: Change __msi_set_enable() to
> take pci_sbdf_t"), struct amd_iommu has its seg and bdf fields
> backwards with relation to pci_sbdf_t.

This being backwards isn't relevant anymore, is it?

> Instead of regenerating sbdf_t
> from seg+bdf, make the struct contain pci_sbdf_t directly, which simplifies
> code.
> 
> I've avoided aliasing pci_sbdf_t's fields here, so all the usages of
> amd_iommu->seg|bdf dropped down a namespace to amd_iommu->sbdf.seg|bdf
> and required renaming.

Is this really meant to be part of the description? Feels like it was more
meant to be a remark in the post-commit-message area.

> Bloat-o-meter reports:
> add/remove: 0/0 grow/shrink: 6/11 up/down: 135/-327 (-192)
> Function                                     old     new   delta
> _einittext                                 22028   22092     +64
> amd_iommu_prepare                            853     897     +44
> _hvm_dpci_msi_eoi                            157     168     +11
> __mon_lengths                               2928    2936      +8
> _invalidate_all_devices                      133     138      +5
> amd_iommu_get_reserved_device_memory         521     524      +3
> amd_iommu_domain_destroy                      46      43      -3
> build_info                                   752     744      -8
> amd_iommu_add_device                         856     844     -12
> amd_iommu_msi_enable                          33      20     -13
> update_intremap_entry_from_msi_msg           879     859     -20
> amd_iommu_get_supported_ivhd_type             86      54     -32
> amd_iommu_detect_one_acpi                    918     886     -32
> iterate_ivrs_mappings                        169     129     -40
> flush_command_buffer                         460     417     -43
> set_iommu_interrupt_handler                  421     377     -44
> enable_iommu                                1745    1665     -80
> 
> Resolves: https://gitlab.com/xen-project/xen/-/issues/198
> 
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Andrii Sultanov <sultanovandriy@gmail.com>
> 
> ---
> Changes in V3:
> * Dropped the union with seg+bdf/pci_sbdf_t to avoid aliasing, renamed
>   all users appropriately
> 
> Changes in V2:
> * Split single commit into several patches
> * Added the commit title of the referenced patch
> * Dropped brackets around &(iommu->sbdf) and &(sbdf)
> ---
>  xen/drivers/passthrough/amd/iommu.h         |  4 +--
>  xen/drivers/passthrough/amd/iommu_acpi.c    | 16 +++++-----
>  xen/drivers/passthrough/amd/iommu_cmd.c     |  8 ++---
>  xen/drivers/passthrough/amd/iommu_detect.c  | 18 +++++------
>  xen/drivers/passthrough/amd/iommu_init.c    | 35 ++++++++++-----------
>  xen/drivers/passthrough/amd/iommu_intr.c    | 26 +++++++--------
>  xen/drivers/passthrough/amd/iommu_map.c     |  6 ++--
>  xen/drivers/passthrough/amd/pci_amd_iommu.c | 22 ++++++-------
>  8 files changed, 66 insertions(+), 69 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/amd/iommu.h b/xen/drivers/passthrough/amd/iommu.h
> index 00e81b4b2a..ba541f7943 100644
> --- a/xen/drivers/passthrough/amd/iommu.h
> +++ b/xen/drivers/passthrough/amd/iommu.h
> @@ -77,8 +77,8 @@ struct amd_iommu {
>      struct list_head list;
>      spinlock_t lock; /* protect iommu */
>  
> -    u16 seg;
> -    u16 bdf;
> +    pci_sbdf_t sbdf;
> +
>      struct msi_desc msi;
>  
>      u16 cap_offset;
> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
> index 5bdbfb5ba8..025d9be40f 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -58,7 +58,7 @@ static void __init add_ivrs_mapping_entry(
>      uint16_t bdf, uint16_t alias_id, uint8_t flags, unsigned int ext_flags,
>      bool alloc_irt, struct amd_iommu *iommu)
>  {
> -    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(iommu->seg);
> +    struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(iommu->sbdf.seg);
>  
>      ASSERT( ivrs_mappings != NULL );
>  
> @@ -70,7 +70,7 @@ static void __init add_ivrs_mapping_entry(
>      ivrs_mappings[bdf].device_flags = flags;
>  
>      /* Don't map an IOMMU by itself. */
> -    if ( iommu->bdf == bdf )
> +    if ( iommu->sbdf.bdf == bdf )
>          return;
>  
>      /* Allocate interrupt remapping table if needed. */
> @@ -96,7 +96,7 @@ static void __init add_ivrs_mapping_entry(
>  
>              if ( !ivrs_mappings[alias_id].intremap_table )
>                  panic("No memory for %pp's IRT\n",
> -                      &PCI_SBDF(iommu->seg, alias_id));
> +                      &PCI_SBDF(iommu->sbdf.seg, alias_id));
>          }
>      }
>  
> @@ -112,7 +112,7 @@ static struct amd_iommu * __init find_iommu_from_bdf_cap(
>      struct amd_iommu *iommu;
>  
>      for_each_amd_iommu ( iommu )
> -        if ( (iommu->seg == seg) && (iommu->bdf == bdf) &&
> +        if ( (iommu->sbdf.seg == seg) && (iommu->sbdf.bdf == bdf) &&
>               (iommu->cap_offset == cap_offset) )
>              return iommu;
>  
> @@ -297,13 +297,13 @@ static int __init register_range_for_iommu_devices(
>      /* reserve unity-mapped page entries for devices */
>      for ( bdf = rc = 0; !rc && bdf < ivrs_bdf_entries; bdf++ )
>      {
> -        if ( iommu != find_iommu_for_device(iommu->seg, bdf) )
> +        if ( iommu != find_iommu_for_device(iommu->sbdf.seg, bdf) )
>              continue;
>  
> -        req = get_ivrs_mappings(iommu->seg)[bdf].dte_requestor_id;
> -        rc = reserve_unity_map_for_device(iommu->seg, bdf, base, length,
> +        req = get_ivrs_mappings(iommu->sbdf.seg)[bdf].dte_requestor_id;
> +        rc = reserve_unity_map_for_device(iommu->sbdf.seg, bdf, base, length,
>                                            iw, ir, false) ?:
> -             reserve_unity_map_for_device(iommu->seg, req, base, length,
> +             reserve_unity_map_for_device(iommu->sbdf.seg, req, base, length,
>                                            iw, ir, false);
>      }
>  
> diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c
> index 83c525b84f..4defa0a44d 100644
> --- a/xen/drivers/passthrough/amd/iommu_cmd.c
> +++ b/xen/drivers/passthrough/amd/iommu_cmd.c
> @@ -40,7 +40,7 @@ static void send_iommu_command(struct amd_iommu *iommu,
>                       IOMMU_RING_BUFFER_PTR_MASK) )
>      {
>          printk_once(XENLOG_ERR "AMD IOMMU %pp: no cmd slot available\n",
> -                    &PCI_SBDF(iommu->seg, iommu->bdf));
> +                    &PCI_SBDF(iommu->sbdf.seg, iommu->sbdf.bdf));

Simply &iommu->sbdf? Much like you do e.g. ...

> @@ -85,7 +85,7 @@ static void flush_command_buffer(struct amd_iommu *iommu,
>              threshold |= threshold << 1;
>              printk(XENLOG_WARNING
>                     "AMD IOMMU %pp: %scompletion wait taking too long\n",
> -                   &PCI_SBDF(iommu->seg, iommu->bdf),
> +                   &iommu->sbdf,

... here?

> --- a/xen/drivers/passthrough/amd/iommu_detect.c
> +++ b/xen/drivers/passthrough/amd/iommu_detect.c
> @@ -162,8 +162,8 @@ int __init amd_iommu_detect_one_acpi(
>      spin_lock_init(&iommu->lock);
>      INIT_LIST_HEAD(&iommu->ats_devices);
>  
> -    iommu->seg = ivhd_block->pci_segment_group;
> -    iommu->bdf = ivhd_block->header.device_id;
> +    iommu->sbdf.seg = ivhd_block->pci_segment_group;
> +    iommu->sbdf.bdf = ivhd_block->header.device_id;

Could this now be done in a single assignment, using PCI_SBDF()?

> @@ -500,7 +500,7 @@ static struct amd_iommu *_find_iommu_for_device(int seg, int bdf)
>      struct amd_iommu *iommu;
>  
>      for_each_amd_iommu ( iommu )
> -        if ( iommu->seg == seg && iommu->bdf == bdf )
> +        if ( iommu->sbdf.seg == seg && iommu->sbdf.bdf == bdf )
>              return NULL;

Similarly here making a local sbdf up front would allow the two comparisons
to be folded.

> --- a/xen/drivers/passthrough/amd/iommu_map.c
> +++ b/xen/drivers/passthrough/amd/iommu_map.c
> @@ -558,14 +558,14 @@ void amd_iommu_print_entries(const struct amd_iommu *iommu, unsigned int dev_id,
>  
>      if ( !dt[dev_id].tv )
>      {
> -        printk("%pp: no root\n", &PCI_SBDF(iommu->seg, dev_id));
> +        printk("%pp: no root\n", &PCI_SBDF(iommu->sbdf.seg, dev_id));
>          return;
>      }
>  
>      pt_mfn = _mfn(dt[dev_id].pt_root);
>      level = dt[dev_id].paging_mode;
>      printk("%pp root @ %"PRI_mfn" (%u levels) dfn=%"PRI_dfn"\n",
> -           &PCI_SBDF(iommu->seg, dev_id), mfn_x(pt_mfn), level, dfn_x(dfn));
> +           &PCI_SBDF(iommu->sbdf.seg, dev_id), mfn_x(pt_mfn), level, dfn_x(dfn));
>  
>      while ( level )
>      {
> @@ -730,7 +730,7 @@ int cf_check amd_iommu_get_reserved_device_memory(
>               * the same alias ID.
>               */
>              if ( bdf != req && ivrs_mappings[req].iommu &&
> -                 func(0, 0, PCI_SBDF(seg, req).sbdf, ctxt) )
> +                 func(0, 0, sbdf.sbdf, ctxt) )

sbdf was initialized from PCI_SBDF(seg, bdf), not PCI_SBDF(seg, req), so this
looks wrong to me.

> @@ -578,7 +578,7 @@ static int cf_check amd_iommu_add_device(u8 devfn, struct pci_dev *pdev)
>          return -EINVAL;
>  
>      for_each_amd_iommu(iommu)
> -        if ( pdev->seg == iommu->seg && pdev->sbdf.bdf == iommu->bdf )
> +        if ( pdev->seg == iommu->sbdf.seg && pdev->sbdf.bdf == iommu->sbdf.bdf )

Fold the two comparisons into one again?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:09:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922903.1326686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvISL-0002xm-8o; Thu, 20 Mar 2025 16:09:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922903.1326686; Thu, 20 Mar 2025 16: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 1tvISL-0002xf-5y; Thu, 20 Mar 2025 16:09:17 +0000
Received: by outflank-mailman (input) for mailman id 922903;
 Thu, 20 Mar 2025 16: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvISK-0002xZ-HQ
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:09:16 +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 ab722ca6-05a5-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 17:09:15 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso908622f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:09: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-395cb40cdafsm24363185f8f.62.2025.03.20.09.09.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 09:09: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: ab722ca6-05a5-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742486955; x=1743091755; 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=qMxiv7I5TV04aLDAey/zrgsmZWa6wv4XsIdFP79JxMw=;
        b=F6b6s2VQzfVsXvRhRjiwHdzgbqCiDZNRjL1MdlL8hBZw4uLCCLZSbdkNDbJuXor5OK
         c2M5/cIQVs6pKQWXeHL/xLhpyOxKH2oiyNmj4F82OFHqaG+xzjkjvWgrXwRqo4Efi8TX
         lxu3oDZjWP4gjS+QnuScRmEcBTr2xnh11wynuRxwQAajRN4xhFW4bk3G6qhGc8s9ZUZn
         7dyNnKFCfACmCmeMlxjJECpmehMTd5cfOiiARLZhIScAPIgnrPbfo1i87ai6ksxXF2gr
         14SazDxc46joL4y5qSGZ5UzeWU9QJ7VwY4XUWdeVH7AxNlcPP6cBN35dwunEzrAIyhuY
         XWwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742486955; x=1743091755;
        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=qMxiv7I5TV04aLDAey/zrgsmZWa6wv4XsIdFP79JxMw=;
        b=Y1m8xnDmXm/SwNaJvf10emks2avJLJe1sL0KBXamjs5tX8xlcFQtDb+ZJp+tERe/mL
         n+xN3FxslifBMHradMoBoEGBxYW/pQoCwxdCUhUFWw19xvGAvcyHqC1eZzH9WQAeiuhH
         fZNg0GByCZ24oUwwR7A6ap4RxZKmxGayX3JjcIhiiE+uv890dq9G1cV3z3VAJ8bJ5Cqe
         8sd5CocpjkXnuP+I4NilsK+fQcSP5qck1GtMarEaFzg/Rncb8zLOb8dbareYO4ToDeyT
         0QqBEHXk/LqSoN600nr47GXQV6ZsPcFeRHZJ4dmKYjuVPeOqXsk2urawqFpnVmexFBz3
         dhpA==
X-Forwarded-Encrypted: i=1; AJvYcCWfQgK7CCLD6+O1CESOy7k/MpQiyOvWuozFvwQeln9bX8c/j7l2v+jfHMDhbWPD8QpgsEDJBDkYTh0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz12E05gPW/FlVR8by72kluaDkxJG9eBGkW6tl9No320nmlZFFB
	Q8xYcGyuwih27sW64+470BY2OZRWOti/b4TaZqJoaZiErmWn8IfYMaSog15YJg==
X-Gm-Gg: ASbGncvGMdM9ZVVatBpl28aM24tMuLwTecDhekL/xs2XjurgpYCk8FbyuVhGzLJm22X
	pSvQIl+cLNzUpTpy2TCP/qidbDtfKSdQV7gud2xxUYHLUvvJFWiqlJ8PuWmQDuXnNkzZ7H+t1ow
	bA8b08rzYeGUqO7AWnySKw5m6fI5bnc3MPLdTjNxwxqlwCEmH81CL6wleT18XPFpBewhObZR0Xz
	wHOy4BU9uqtkGO6mtruLQh0yzQP4ay2glQDJwaMpRQY49Od6ZMEvLa342hjhWd13iMBI3zM+P9K
	qbIZWnFVaaQlHm1OodXTARHp7dKDsf4rL/CPgyLeZpZzQL3n5ZO6A+MTelNXg8sD5ap9Ldw/L3w
	adN6rdrDcGdOLqA/8zhQJT2VhX69Fww==
X-Google-Smtp-Source: AGHT+IFnkph5dyYhc499kj7lsObXyZzL7Tb2W2GFQYRBTl0+1sYW60DRh4YjkOxTr1wit/LeDZ4gmg==
X-Received: by 2002:a05:6000:188f:b0:390:f902:f961 with SMTP id ffacd0b85a97d-3997f94179fmr60487f8f.45.1742486953527;
        Thu, 20 Mar 2025 09:09:13 -0700 (PDT)
Message-ID: <19a66aaa-e3e8-43be-a988-14586c2fd71b@suse.com>
Date: Thu, 20 Mar 2025 17:09:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?=
 <frederic.pierret@qubes-os.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 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: <Z9rJUWCARMQYqNXr@mail-itl> <Z9vrc1Xvm5OEy8rM@l14>
 <Z9wPVGd0fEsbaO_s@mail-itl> <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>
 <Z9wfKB0vdngn3xXX@mail-itl> <Z9wnzRbwb3HQaSMu@l14>
 <Z9wxcYapF5eno29b@mail-itl> <7698a70a-db0a-4d5d-b5ad-8c0636bc5a33@suse.com>
 <Z9w1BLntGv4ksws0@mail-itl> <fb116d7e-e678-4ac9-920a-de7e5b227417@suse.com>
 <Z9w7PPEbF1STQNBt@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: <Z9w7PPEbF1STQNBt@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 16:58, Marek Marczykowski-GĂłrecki wrote:
> On Thu, Mar 20, 2025 at 04:48:02PM +0100, Jan Beulich wrote:
>> On 20.03.2025 16:32, Marek Marczykowski-GĂłrecki wrote:
>>> On Thu, Mar 20, 2025 at 04:21:18PM +0100, Jan Beulich wrote:
>>>> On 20.03.2025 16:17, Marek Marczykowski-GĂłrecki wrote:
>>>>> On Thu, Mar 20, 2025 at 02:35:59PM +0000, Anthony PERARD wrote:
>>>>>> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>>>>> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
>>>>>>>> On 20.03.2025 13:51, Marek Marczykowski-GĂłrecki wrote:
>>>>>>>>> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
>>>>>>>>>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-GĂłrecki wrote:
>>>>>>>>>>> There are clearly some build path embedding left. And
>>>>>>>>>>> -ffile-prefix-map=/-fdebug-prefix-map= doesn't work correctly with
>>>>>>>>>>> XEN_ROOT having xen/.. at the end.
>>>>>>>>>>> BTW, would it be acceptable to have this?
>>>>>>>>>>>
>>>>>>>>>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=$(realpath $(XEN_ROOT))=.)
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Could you avoid using $(XEN_ROOT) in hypervisor build system? (It's fine
>>>>>>>>>> in "tools/"). In "xen/", there's a few variables you can use if they are
>>>>>>>>>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and $(srctree)
>>>>>>>>>> $(objtree) for relative path. That also should avoid the need to use
>>>>>>>>>> $(realpath ).
>>>>>>>>>
>>>>>>>>> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolve it to
>>>>>>>>> not have /.. for prefix-map to work correctly. Would it be better to use
>>>>>>>>> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctree) and
>>>>>>>>> have paths in debug symbols relative to hypervisor source dir, instead
>>>>>>>>> of xen repo root? I'm not sure if that wouldn't confuse some tools...
>>>>>>>>
>>>>>>>> abs_srctree being computed using realpath, can't we replace
>>>>>>>>
>>>>>>>> export XEN_ROOT := $(abs_srctree)/..
>>>>>>>>
>>>>>>>> by something as simpl{e,istic} as
>>>>>>>>
>>>>>>>> export XEN_ROOT := $(patsubst %/xen,%,$(abs_srctree))
>>>>>>>>
>>>>>>>> ?
>>>>>>>
>>>>>>> That works too. It's slightly less robust, but I don't expect "xen"
>>>>>>> directory to be renamed, so shouldn't be an issue. I'll leave also a
>>>>>>> comment there why not /.. .
>>>>>>
>>>>>> I don't think $(XEN_ROOT) is present in the binaries produce by the
>>>>>> hypervisor's build system. There's only a few use if that variable: to
>>>>>> load some makefile, to execute makefile that build xsm policy and to
>>>>>> generate cpuid-autogen.h. Otherwise I don't think the compile have this
>>>>>> path in the command line. What is going to be in the binary is
>>>>>> $(abs_srctree), which you can replace by "./xen" if you want; which mean
>>>>>> it doesn't matter if the directory is renamed or not. You might want to
>>>>>> also take care of $(abs_objtree) which seems to also be in `xen-syms`
>>>>>> when doing out-of-tree build.
>>>>>
>>>>> So, you suggest to do -fdebug-prefix-map=$(abs_srctree)=./xen ? That
>>>>> appears to work for in-tree builds too.
>>>>
>>>> And why ./xen (question to Anthony)? Just . is quite fine, isn't it?
>>>
>>> It makes paths in debug symbols relative to xen/ subdir, not the
>>> repository root. I'm not sure if that is a problem, but it may be for
>>> some tools.
>>
>> Yet especially in the symbol table (and hence in strack traces) that's
>> unnecessary extra space it takes up.
>>
>>>>> But now I actually tested how it looks with out-of-tree builds, and
>>>>> indeed $(abs_objtree) is embedded there too. Adding
>>>>> -fdebug-prefix-map=$(abs_objtree)=./xen appears to help for this. But,
>>>>> -fdebug-prefix-map doesn't help with abs_srctree in out-of-tree builds
>>>>> for some reason. -ffile-prefix-map does. And so does -fdebug-prefix-map
>>>>> + -fmacro-prefix-map. Is there any preference which one to use? It
>>>>> appears as -fmacro-prefix-map and -ffile-prefix-map have the same
>>>>> availability in both GCC (8) and Clang (10).
>>>>
>>>> Then the simpler -ffile-prefix-map is better, imo. Question then is
>>>> whether any of the options is actually needed at all for in-tree builds.
>>>
>>> Yes, without any of those options, both xen-syms and xen.efi contain
>>> full source path.
>>
>> Even in builds without debug info? 
> 
> For in-tree build without debug info, it appears no. But with debug
> info, something is needed even for in-tree build.
> And BTW, IIUC out-of-tree builds will become relevant even for in-tree
> build at some point, due to pvshim.

That hasn't happened yet because it's not quite straightforward to arrange
for.

>> Imo a goal ought to be to specify the
>> weakest possible of these options for any particular build mode. I.e.
>> possibly -ffile-prefix-map= for out of tree builds, else
>> -fdebug-prefix-map= when DEBUG_INFO=y, else nothing (if possible).
> 
> Is it? I don't really see why making the selection overly complex if the
> option is supported (and cc-option-add covers that case).

Yes, cc-option-add might cover the case where nothing is needed. But the
two options mentioned have appeared in gcc at different versions. People
using e.g. gcc7 may still benefit from -fdebug-prefix-map=.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:16:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:16:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922916.1326698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIYr-0006De-Vy; Thu, 20 Mar 2025 16:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922916.1326698; Thu, 20 Mar 2025 16:16: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 1tvIYr-0006DX-RR; Thu, 20 Mar 2025 16:16:01 +0000
Received: by outflank-mailman (input) for mailman id 922916;
 Thu, 20 Mar 2025 16:16: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvIYq-0006DR-SC
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:16:00 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b4e408a-05a6-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 17:15:58 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-223fd89d036so20192405ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:15:58 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-73711694e4bsm13993765b3a.125.2025.03.20.09.15.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 09:15: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: 9b4e408a-05a6-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742487357; x=1743092157; darn=lists.xenproject.org;
        h=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=JYCZ5/8zxr1I/W5r2+bzQhCRViUcHiPcuh5hVyEGNWk=;
        b=GzKXUi8CkPwT1Ee64XW897YYJXsN7ZmmwhtETDMjPYRnC5fttPTr0t/1AXM2SOXELH
         cCeUyy4kxm4qELvo8vRBxrxdbBTVwG/2wR4rEGTdKnjucx0vU/xMKF5gc27Me2NologG
         /MQ51BDbRkESxTKc0a2ONNd+dQRtKIzThsFko=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742487357; x=1743092157;
        h=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=JYCZ5/8zxr1I/W5r2+bzQhCRViUcHiPcuh5hVyEGNWk=;
        b=M9VGmCZayR63rRoeJM2xq1g2dWiAaAP5d6L8gFuw/tEUW9hSDejKwU42bJrueD2Fx7
         jETLcR4LMNVOqgBViJ8D+n/JOlKVEp0vNNWz09NduDRmzn7PhxP0DmbyAnLnp1lp35tB
         3PdLEycEtSHADAWZuw5iTxSSVXLu1Ox/zJQF3AnS97bQuajyEqKSrCEqLBbjv/NmsnMd
         QjZ94sqoLXrXCnKIfvQJXunG2vjbXlhKLrU7v4BXofzRfaSaRjCipbN0FIBK1SQGTZdF
         0GKsxZKxLRpjIC4g1TF9tqxTusmzAXMSvKq4YLgaHPfuq2MB2E+8MoiGhRzLHLxzg50J
         QOtw==
X-Forwarded-Encrypted: i=1; AJvYcCWSrhLCGM6dVDZ+AllgVPvrMDTQo4Kdoc+z/yN934XyviRBphESqZVVevVvJpk0+ORlGTIal6nuvxE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQBktfqHYmk83n5JQHni0AV/2w5rRBvKq/2PlTl0KFop8aNU5O
	5jliJG269EeR+OqXbiua8FqFEU6CoV2Ialj5WaDN2H38gWTePMI5Wx80ceGw0MvnpkZs+1iWPnm
	e
X-Gm-Gg: ASbGncsyR/hHfCUm7hYsQ5IUCSHETzd3VaaOkoR+9qwzGKnOnXMfJ15GNJfY7ceeUKC
	RwxtBON8EFt3hxf5+tgMeiKRI3XA5ZpZhRmMdLim+WofQz0biA/tRnx8GNCYgUuhOH7MOX2vtrd
	LjhIMlYMQehP4usZrAq5H8RjawNXh1iRc6UNtXAHShz9+h7k0DvpBoh5Mj26v1HqO6RW9GtHrsd
	l8GyBKSX/Q6FBqzFYER1EyTAXicmT0yuFRxppKpBhckAz26zkY64VkqhjG++XDx1jPo+MXLyb7E
	8H0QEH6UL5oPABIS3iOlv7N3i9/FnunlOzgoDV9XYT7fop8Qs+ZB4M4=
X-Google-Smtp-Source: AGHT+IEyHz2IyRSGLI09jCIfhHA6l/qI0S69KuU2H7yNIymlciQgSDiIDdvGxbUebMAAusFoJKC5hg==
X-Received: by 2002:a05:6a21:692:b0:1f5:8f65:a6e6 with SMTP id adf61e73a8af0-1fbecd36d56mr11709751637.27.1742487356879;
        Thu, 20 Mar 2025 09:15:56 -0700 (PDT)
Date: Thu, 20 Mar 2025 17:15:51 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] x86/vga: fix mapping of the VGA text buffer
Message-ID: <Z9w_N6nGurDGbuWe@macbook.local>
References: <20250320151109.88228-1-roger.pau@citrix.com>
 <92a378b3-c041-4573-8abd-4ab07a4338ae@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <92a378b3-c041-4573-8abd-4ab07a4338ae@suse.com>

On Thu, Mar 20, 2025 at 04:25:25PM +0100, Jan Beulich wrote:
> On 20.03.2025 16:11, Roger Pau Monne wrote:
> > The call to ioremap_wc() in video_init() will always fail, because
> > video_init() is called ahead of vm_init_type(), and so the underlying
> > __vmap() call will fail to allocate the linear address space.
> > 
> > Fix by reverting to the previous behavior and use __va() for the VGA text
> > buffer, as it's below the 1MB boundary, and thus always mapped in the
> > directmap.
> > 
> > Fixes: 81d195c6c0e2 ('x86: introduce ioremap_wc()')
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> Nevertheless a remark:
> 
> > --- a/xen/drivers/video/vga.c
> > +++ b/xen/drivers/video/vga.c
> > @@ -71,7 +71,7 @@ void __init video_init(void)
> >      {
> >      case XEN_VGATYPE_TEXT_MODE_3:
> >          if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL) ||
> > -             ((video = ioremap_wc(0xB8000, 0x8000)) == NULL) )
> > +             ((video = __va(0xB8000)) == NULL) )
> 
> Without having a good suggestion, find such dependencies upon the low
> 1Mb always being mapped (in case we wanted to revisit this, for example)
> is going to be moderately hard. It might be good to somehow mark them.

Hm, if we where to change this, we should likely go over all the
usages of ioremap() and __va() to find them?

I assume you are fine with this going in as-is.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:18:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:18:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922931.1326707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIbS-0006pO-Fb; Thu, 20 Mar 2025 16:18:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922931.1326707; Thu, 20 Mar 2025 16:18: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 1tvIbS-0006pH-BT; Thu, 20 Mar 2025 16:18:42 +0000
Received: by outflank-mailman (input) for mailman id 922931;
 Thu, 20 Mar 2025 16:18: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvIbQ-0006p4-SA
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:18:40 +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 fadc53a2-05a6-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 17:18:38 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3997205e43eso801951f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:18: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-3997f9a3f36sm32277f8f.32.2025.03.20.09.18.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 09:18: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: fadc53a2-05a6-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742487517; x=1743092317; 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=gzPFHCwU+WMBi+vS2g8ubfgMCX6A8con4HCTE1mq3L4=;
        b=AwLSbctvttvDQur7CxHTDiG3tNufAGISMhaxqc6A1EoAPJU+Dx6nJMH3fLWdCq3JzZ
         rLufGhNkbrEEGxmzbjOcWFNl+ydnv+wwaok4PwQHishqoWoePGEZZKbAzVAOYWrkblTk
         qmNWWXbVSPU3mY+IIEO9IrZdInBgP1G6QgKCQks3e+Z47Hg6nrxCVvLULvDUQVyHNI0F
         C95FBk9SoBpb+iTArNjmAExznh6pcqfFZEwQv3WWXuFZ4sQ2abooQKt+xbEn3zPaLexJ
         4zK89fdF9bxrw8z7CRYX6kZaDajHgZcUgxlNtMWGDxC7DSkzuVKi8Xly/KK+FNeFFhvL
         dC4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742487517; x=1743092317;
        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=gzPFHCwU+WMBi+vS2g8ubfgMCX6A8con4HCTE1mq3L4=;
        b=VHOD7fDQ6UoAO00yuP9ER01eXDeGUVhOcfJwORV1wW9KO8AbEiF8bB2vPUrZiGLDmw
         4OjaXD7ViQ0Zwz6UtECiZe+anJPDcsfsFU0Uk63SW6ceAhCK0FOkozAhp46d5NiDEZWM
         lJauPuzMG0imOXPOaTHvJeGleOJwGSSfz5EKQJ9p0Qvo9oGBPPATVZisS7z2MP9WdQEW
         tZvvW1dZKBdFbPl0J6scuQ1tDSdR1ACVHycviGZhe9aIXLIIvPiuCyil0PbwfMtL2d/o
         tw2U88qQeUmoHuSTfJSKxrFbnc14BZHP/SvhAeg0xvj9Dcjf3aN3RiimEubammJ5Gfre
         OrWw==
X-Forwarded-Encrypted: i=1; AJvYcCWThk22VFqyWxaJuvMj/q1CQzkAc3tmSlhkx6kekpBkakZQuksmKf7KD0u7bwvb3HGmYkqu9XYlEPs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuFueO6jvOvvxWT/hzDtRsaPaZN+mRqsWQyN/BYLPUPM/SGj+e
	AZAzXzALtir87N3ZUywi33/P1ol/fTozSPxtt/g8+wzdoyh8Exu23QFl45/g7Q==
X-Gm-Gg: ASbGncvJVpCAEzjAqwgI5GDNii5RPAdzczeXFACFDzo5a3oVAOQSGaKXvMgkRVJOhDg
	TziU5nN/8HQgTLD1mPcSknIu/bCoPtTLrzSfBoX3q3jT5guu9JWuUq7NxqZT9sYupukzwddL4ju
	giJNED4UB5YND1//LeEH9tF4kzIGYaomb3iJ53SHhnuettKi1ne77R0fdzqXzfQSEe7E+ax1nau
	06aZ+LAMzg5utdCO3SCNK2RX5bzkud94yrygzlx2PRVk6y8zNy3eg4/9rUwV0q+9Sgpq3FQ7YND
	s5n1AUmllPQHLrgF/a5zDtiscxBoH5QW0irMzfrjKOihnrlXce5emrb8dVpspMa6bfeKsFKcIWQ
	GiToQapNvT6soU7QD45YuY7ElunC0ZA==
X-Google-Smtp-Source: AGHT+IH9mVtExZQYnyUP8IK9bX1gc+p4eRr97U7rQUAlWe0z3sOd0LcwjwmWQy0B8fPKYW/I+6rXWA==
X-Received: by 2002:a05:6000:18af:b0:391:888:f534 with SMTP id ffacd0b85a97d-3997f902e48mr203839f8f.20.1742487517557;
        Thu, 20 Mar 2025 09:18:37 -0700 (PDT)
Message-ID: <ea5234ba-d01e-441c-b56c-126e2a9dd33e@suse.com>
Date: Thu, 20 Mar 2025 17:18:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/vga: fix mapping of the VGA text buffer
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250320151109.88228-1-roger.pau@citrix.com>
 <92a378b3-c041-4573-8abd-4ab07a4338ae@suse.com>
 <Z9w_N6nGurDGbuWe@macbook.local>
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: <Z9w_N6nGurDGbuWe@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 17:15, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 20, 2025 at 04:25:25PM +0100, Jan Beulich wrote:
>> On 20.03.2025 16:11, Roger Pau Monne wrote:
>>> --- a/xen/drivers/video/vga.c
>>> +++ b/xen/drivers/video/vga.c
>>> @@ -71,7 +71,7 @@ void __init video_init(void)
>>>      {
>>>      case XEN_VGATYPE_TEXT_MODE_3:
>>>          if ( page_is_ram_type(paddr_to_pfn(0xB8000), RAM_TYPE_CONVENTIONAL) ||
>>> -             ((video = ioremap_wc(0xB8000, 0x8000)) == NULL) )
>>> +             ((video = __va(0xB8000)) == NULL) )
>>
>> Without having a good suggestion, find such dependencies upon the low
>> 1Mb always being mapped (in case we wanted to revisit this, for example)
>> is going to be moderately hard. It might be good to somehow mark them.
> 
> Hm, if we where to change this, we should likely go over all the
> usages of ioremap() and __va() to find them?

Going over the ioremap()s ought to be fine. There may be many __va() though,
plus that one has further aliases iirc (e.g. maddr_to_virt()).

> I assume you are fine with this going in as-is.

Yes, as said - short of having any good suggestion.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:22:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922944.1326717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIeZ-0000hQ-Sh; Thu, 20 Mar 2025 16:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922944.1326717; Thu, 20 Mar 2025 16: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 1tvIeZ-0000hJ-PV; Thu, 20 Mar 2025 16:21:55 +0000
Received: by outflank-mailman (input) for mailman id 922944;
 Thu, 20 Mar 2025 16: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=5hxt=WH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tvIeY-0000hD-8D
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:21:54 +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 6ea8a778-05a7-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 17:21:52 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac2bb7ca40bso230274366b.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:21:52 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3efd5e92fsm5223566b.174.2025.03.20.09.21.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 09:21: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: 6ea8a778-05a7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742487712; x=1743092512; darn=lists.xenproject.org;
        h=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=WsSHdLKubVh1IMGmcvj7Aq0XahJ/1yi7vqSiFBPiWOE=;
        b=fC70wkG3jzuqWhjrSkpyaMdQrNKcM3H4MJeSyMEh+y2GAtKd7uN2Uyq1eiRp9Qle4W
         QE/cmJYony3Iu6NWkORl3rln7niJF/MYU8b/9m4kZmTm9us8muRM4GHj7AA8oA6S4GWq
         WRwHLB/nLYmP04j2KKIORkkK9KiQXCCsoYALc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742487712; x=1743092512;
        h=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=WsSHdLKubVh1IMGmcvj7Aq0XahJ/1yi7vqSiFBPiWOE=;
        b=DxMNB92G29LDXSxuEbZ3yec/LDXJap4v8tdTASYXdlOjFeCqiVj6HbSYXvp/TYeoij
         uMKE7VexA0SH4o38xbVW/xFLTLcRWWCZ062tMbO+ELSF0iUUTc6sPNI0WN+d9wym641g
         AWTTe0+O3sh+xbAUR1E5rg2s+AUlaFLI21cKGOVf8jugZVkrcKHENiOfoT23OuhPPC3m
         ZCoOoHhoRWgs+ZJLJeMfdFgd7BzTiwMWn7IgzJJkpD+C1hWit4JSx5jE+0QqQKEonoOJ
         MV9XDCu2jtc3GOuGKPzIzcQJeO88fNzDSB4GJRFNPJusgUNALpkVtuKs+1dg4TRaOOgv
         3eow==
X-Forwarded-Encrypted: i=1; AJvYcCWqCr3Lnir6XYCiTefjXK2PzVhJxnPt7AA9gbiEgunWESxmfY4Zv+HQVhy8XgfQZikxQ7hoB9cb8j4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw5Pga8exOSamULeN6nIJmMbVl1I3sSAz/OGOhEldYJ4hekirVz
	l3XIHWyyg5SqcnLzH6Ph1R8Wb5P87N2atQpxe2dyCOykORAdqofufKkrtJ/VplI=
X-Gm-Gg: ASbGncs4w4DkKNL5J22Z5X7L7ZMrNBWG1EQwJHmwIXxlbPokQRbDQF0caLfpiHSq4nc
	tDxNZrDm+3Zi54J5H8nAQvdSYDQXOK8cfD6+++nBlCMwZ9gerjBG6jMddJk+DvYBCS+SnoUaKEx
	n4brZxlGL2Sj3/BWti6m/PbDr/MmgNcZCe2ly8T1fJoR4M/TOS/K/LUzG7b0V+rDzfo0Ui3wWtn
	yEoH58KIPyY9rx6HLJVHuT9qE9PbOutRVSPrIgQq9US6JeUhDP6q6xmHYUbROvxdyWZB0AB0teb
	epICPJ4vuHCAOkoPjsEvM7pfVS6AR0B/8bKiPoFcCltq2TYZgLhsiL4=
X-Google-Smtp-Source: AGHT+IGWh2pEgle/irg0C/CUM00/xQIommVW2MZdhgOZpOyebwdp0vHY/RtGkExib7V2R/tNv0BCZw==
X-Received: by 2002:a17:907:86ac:b0:ac2:8faa:e037 with SMTP id a640c23a62f3a-ac3b8068789mr753209266b.57.1742487711611;
        Thu, 20 Mar 2025 09:21:51 -0700 (PDT)
Date: Thu, 20 Mar 2025 17:21:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Nirmal Patel <nirmal.patel@linux.intel.com>,
	Bjorn Helgaas <helgaas@kernel.org>
Cc: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 0/3] xen: Fix usage of devices behind a VMD bridge
Message-ID: <Z9xAnusUbAiAHT7s@macbook.local>
References: <20250219092059.90850-1-roger.pau@citrix.com>
 <Z8lhR2DSsB8P6L96@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Z8lhR2DSsB8P6L96@macbook.local>

Ping x2?

Thanks, Roger.

On Thu, Mar 06, 2025 at 09:48:07AM +0100, Roger Pau MonnĂŠ wrote:
> Hello,
> 
> I've attempted to ping Nirmal directly on the VMD patch, but got no
> reply so far.
> 
> First version of this series was posted on 10/01, yet there hasn't
> been any feedback from Nirmal.  Would it be possible to merge this
> without Nirmal Ack due to timeout?
> 
> It's not even a new feature, just a bugfix that allows running with
> VMD devices when using Xen.
> 
> Thanks, Roger.
> 
> On Wed, Feb 19, 2025 at 10:20:54AM +0100, Roger Pau Monne wrote:
> > Hello,
> > 
> > The following series should fix the usage of devices behind a VMD bridge
> > when running Linux as a Xen PV hardware domain (dom0).  I've only been
> > able to test PV. I think PVH should also work but I don't have hardware
> > capable of testing it right now.
> > 
> > I don't expect the first two patches to be problematic, the last patch
> > is likely to be more controversial.  I've tested it internally and
> > didn't see any issues, but my testing of PV mode is mostly limited to
> > dom0.
> > 
> > Thanks, Roger.
> > 
> > Roger Pau Monne (3):
> >   xen/pci: Do not register devices with segments >= 0x10000
> >   PCI: vmd: Disable MSI remapping bypass under Xen
> >   PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag
> > 
> >  arch/x86/pci/xen.c           |  8 ++------
> >  drivers/pci/controller/vmd.c | 20 +++++++++++++++++++
> >  drivers/pci/msi/msi.c        | 37 ++++++++++++++++++++----------------
> >  drivers/xen/pci.c            | 32 +++++++++++++++++++++++++++++++
> >  include/linux/msi.h          |  3 ++-
> >  kernel/irq/msi.c             |  2 +-
> >  6 files changed, 78 insertions(+), 24 deletions(-)
> > 
> > -- 
> > 2.46.0
> > 


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:30:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:30:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922961.1326727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvIn1-00033d-M2; Thu, 20 Mar 2025 16:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922961.1326727; Thu, 20 Mar 2025 16: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 1tvIn1-00033W-Iy; Thu, 20 Mar 2025 16:30:39 +0000
Received: by outflank-mailman (input) for mailman id 922961;
 Thu, 20 Mar 2025 16:30: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvIn1-00031v-3P
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:30:39 +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 a7fc11f0-05a8-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 17:30:38 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso7154595e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:30: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-43d43d7c6a5sm53814765e9.0.2025.03.20.09.30.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 09:30: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: a7fc11f0-05a8-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742488237; x=1743093037; 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=9arEcsyUwNweg+1ut258dh0gVt//NeJ0etYGStJfBO4=;
        b=axDJQcEiSGcAKVABqYDlxV6pXw6D3qUqOPqy0MH3kj/0/smdAYnLQnhuCUwlKqs8AN
         7udZnwmncoRLp2PM90KNfVy/rBUxCjrACLlX4NJ4kQIca/Vc91gBhuf2YzTqOJ5lccqz
         NSHoXU9c4CV6hjd7ZuszGtiYVX2C3oV35pHPa3qmGPl1QIHtmzTAjQI7Iajyli02bxcF
         frVOX9aIkjxWuH4ikHHS00pkrr1idStkEA/JQeWg5Ad8Ibim2JrX8eI3/MBgNIM2vL0W
         MNTEi9piB42G15vpY5Iq57FPz3V/ZUqHk9FwWxL3bcFKwH9p1NH6DrN9G9LjRXGgjZ1Q
         04ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742488237; x=1743093037;
        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=9arEcsyUwNweg+1ut258dh0gVt//NeJ0etYGStJfBO4=;
        b=pSYvUH4G8yU7zqphYqpYvQlKZagox/HqbKYkHy/9xjWBp9CjhdI9vtRNASsf3axKom
         BJQKQ/03ocQUmoShzFx3D6ExSoWiLibL5wlHn07j0fjva7WYsb+hInC14tJGnfMBZ49i
         HaBXGGJCAwz/WnC/LrtF7L3l4VRsHgu6TrFJLxnIGLEgs+Qo+vd3a7Rrps7F/C3MHw5O
         +N0tbTYsMdzmVWE6BD7TScUL3eaZxSb+zqQasROMVs1oJQN/DQZLSw7QDNBecmmtX6mG
         lweu+0VdL/LN7Zrthgxiqs+dVTn9dEUC/m7yZGNvATFpARu7a+021NywAqD+11OLc3HZ
         z6+w==
X-Forwarded-Encrypted: i=1; AJvYcCURmyYiYbFLu/M9Dcuz+WAqA+wJVukvZ82E9uyifmlFDoEmDOdz+Ytz2eiA5h0gDKM+vddqBeR8Aes=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxhvaYlw8olDTMwgjG0FzchOyRPCzXjKLZDepMF8Ko4dhrsScGw
	i3YoJeM3it5jK4iK0VLJHHGj6lBzlPo8ubAOh4nkGPjlD6MggRgqfl0hFMYGyQ==
X-Gm-Gg: ASbGncuCj6YS2MaM8PZOqY+setpTV56rmAjIgoNqkJmnZeJylK6TJyoj9pUBK20icL1
	rWlXkdeVdYpdS3kQSADctzwGMBBUnZxZssteItp79olQ7sjAFm2vFJsfNQo6EyadY2V9VEeH6Jw
	okUO7tkAcBn/RJv442oU6q28YCklZvvewBGM3GxiSWEKz+yJDLIrglqvxyvuvTizJ38H8nGfRs5
	LaXqu5nRhfvVQx+TQNmC4jjL46ZYOEhilJDIta/xnulud64rZnveZhcZXJgcA00tSw1PsYnJeuu
	9pN5FcNZtBFX2a2GTztkET2dqVKL//CjgSGMcJ13vQndPNqSVf0ucYZpcIF10uIZy33PBc+enId
	QQxvOxL9r/9qo7GkJvNbHgGRd6WRO/Q==
X-Google-Smtp-Source: AGHT+IHB2Q7IZJ7r4FQVKA9VqRQ/nL5V1+PBAxgSyD+P+9oXJKPWhvO7KtjonOwUWpLyT946+oRyjQ==
X-Received: by 2002:a05:600c:4448:b0:43b:bfa7:c7d with SMTP id 5b1f17b1804b1-43d4915e47emr49560815e9.2.1742488237405;
        Thu, 20 Mar 2025 09:30:37 -0700 (PDT)
Message-ID: <a8ea3ca1-8207-408c-b75b-30c2f5daf9fb@suse.com>
Date: Thu, 20 Mar 2025 17:30:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/3] drivers: Make ioapic_sbdf and hpet_sbdf contain
 pci_sbdf_t
To: Andrii Sultanov <sultanovandriy@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
References: <cover.1742311401.git.sultanovandriy@gmail.com>
 <06e7126700f1bd8a0db5199209a275cf2b1e09f2.1742311401.git.sultanovandriy@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: <06e7126700f1bd8a0db5199209a275cf2b1e09f2.1742311401.git.sultanovandriy@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 16:30, Andrii Sultanov wrote:
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -707,8 +707,8 @@ static int __init cf_check parse_ivrs_ioapic(const char *str)
>          }
>      }
>  
> -    ioapic_sbdf[idx].bdf = PCI_BDF(bus, dev, func);
> -    ioapic_sbdf[idx].seg = seg;
> +    ioapic_sbdf[idx].sbdf.bdf = PCI_BDF(bus, dev, func);
> +    ioapic_sbdf[idx].sbdf.seg = seg;

Use PCI_SBDF() and a single assignment?

> @@ -734,8 +734,8 @@ static int __init cf_check parse_ivrs_hpet(const char *str)
>          return -EINVAL;
>  
>      hpet_sbdf.id = id;
> -    hpet_sbdf.bdf = PCI_BDF(bus, dev, func);
> -    hpet_sbdf.seg = seg;
> +    hpet_sbdf.sbdf.bdf = PCI_BDF(bus, dev, func);
> +    hpet_sbdf.sbdf.seg = seg;

Same here? And apparently similar for most/all further changes in the changes
to this file?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:46:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:46:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922976.1326737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvJ2Z-0007Ed-VR; Thu, 20 Mar 2025 16:46:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922976.1326737; Thu, 20 Mar 2025 16: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 1tvJ2Z-0007EW-S9; Thu, 20 Mar 2025 16:46:43 +0000
Received: by outflank-mailman (input) for mailman id 922976;
 Thu, 20 Mar 2025 16:46: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=gs4t=WH=bounce.vates.tech=bounce-md_30504962.67dc466f.v1-fadaaee4b8b34f67b425c65aab174710@srs-se1.protection.inumbo.net>)
 id 1tvJ2Y-0007EO-Ie
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:46:42 +0000
Received: from mail134-16.atl141.mandrillapp.com
 (mail134-16.atl141.mandrillapp.com [198.2.134.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e558248f-05aa-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 17:46:40 +0100 (CET)
Received: from pmta10.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail134-16.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4ZJWgg1qw9zB5p4tX
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 16:46:39 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 fadaaee4b8b34f67b425c65aab174710; Thu, 20 Mar 2025 16:46: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: e558248f-05aa-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742489199; x=1742759199;
	bh=8Xo+x/2C9t1vWpO4HSebgj6NrkPdkEj6wnV4ktQ7KDA=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=nn2CBv1HOUaVy1ySHRhCIuaLecYU3uiZRyn7IQrA0ZZAcByy6jrgxED4X4aUT22S0
	 t1PEqodg7ORDWNejVPpfrHLeWqLeGNaJjdN+FdyPDAeeFnwyxlMlo5MQ52O7DmTo9N
	 Z0qo1ImrBkOV27t37xbX7mgv109UE/kR6Ujfc8+5xvmIJnQcD1w8vquKqpnIE+3FvL
	 Resln1+IhwsCYlBmIEXcBoXu3C8fmamY4BOKZfupTqrAp3lbdv2R9O1NlMEnDiyrz1
	 B9wSwJyLCti6J7C82BGpWi3sDP53LJ9eTDxhcZKixQtYL/xrH/PMRBhr32MZwadWuI
	 /OX2JsdcrHUtA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742489199; x=1742749699; i=anthony.perard@vates.tech;
	bh=8Xo+x/2C9t1vWpO4HSebgj6NrkPdkEj6wnV4ktQ7KDA=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Cfpfw3YKLncNAwUsPKYJPBJBwDHiOYO+sY2Z5TkoOfbHk5RMJjsRYld+rDjorDCjp
	 rSO992ozNe69Smyg4o3SjsQA0FNdN551ghQYXZIjgDYsnIStn6JPr8vn3cFMO11bri
	 3+Q88c8uXtuEUHDEEFC7aLCtEHDZS9AZ8J3gfVxiuTRZ3CAO+hg8MtHM3JHiMaZvRX
	 /cJ09rqY7vQ+dlWm5hId5D8wG8YxBqv5uWY8JA4ZdGwJwltIC3PvjsJUF3WUtdTKc4
	 DRXK6t2CSchSyuG+pYfgDUZrxN1x0YzBtD+IQOOOuOkQrVWlQw+WHhe/1uqm5y8oGR
	 ahb9idtnOOm9g==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20tools/arm:=20Fix=20nr=5Fspis=20handling=20v2?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742489197873
To: "Michal Orzel" <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, "Juergen Gross" <jgross@suse.com>, "Luca Fancellu" <luca.fancellu@arm.com>, "Stefano Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>, "Bertrand Marquis" <bertrand.marquis@arm.com>
Message-Id: <Z9xGbTYJG6s6Wvl0@l14>
References: <20250318090013.100823-1-michal.orzel@amd.com>
In-Reply-To: <20250318090013.100823-1-michal.orzel@amd.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.fadaaee4b8b34f67b425c65aab174710?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250320:md
Date: Thu, 20 Mar 2025 16:46:39 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Mar 18, 2025 at 10:00:13AM +0100, Michal Orzel wrote:
> We are missing a way to detect whether a user provided a value for
> nr_spis equal to 0 or did not provide any value (default is also 0) which
> can cause issues when calculated nr_spis is > 0 and the value from domain
> config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
> (max supported nr of SPIs is 960 anyway).
> 
> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_spis value")
> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  tools/libs/light/libxl_arm.c     | 7 ++++---
>  tools/libs/light/libxl_types.idl | 2 +-
>  2 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 2d895408cac3..5bb5bac61def 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>                                        libxl_domain_config *d_config,
>                                        struct xen_domctl_createdomain *config)
>  {
> -    uint32_t nr_spis = 0;
> +    uint32_t nr_spis = 0, cfg_nr_spis = d_config->b_info.arch_arm.nr_spis;
>      unsigned int i;
>      uint32_t vuart_irq, virtio_irq = 0;
>      bool vuart_enabled = false, virtio_enabled = false;
> @@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>  
>      LOG(DEBUG, "Configure the domain");
>  
> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
> +    /* We use UINT32_MAX to denote if a user provided a value or not */
> +    if ((cfg_nr_spis != UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
>          LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
>              nr_spis);
>          return ERROR_FAIL;
>      }
>  
> -    config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
> +    config->arch.nr_spis = (cfg_nr_spis != UINT32_MAX) ? cfg_nr_spis : nr_spis;

Could you try to check only once if there is a user provided value for
nr_spis?

>      LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
>  
>      switch (d_config->b_info.arch_arm.gic_version) {
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index bd4b8721ff19..129c00ce929c 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -723,7 +723,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>                                 ("vuart", libxl_vuart_type),
>                                 ("sve_vl", libxl_sve_type),
> -                               ("nr_spis", uint32),
> +                               ("nr_spis", uint32, {'init_val': 'UINT32_MAX'}),

Could you introduce something like LIBXL_NR_SPIS_DEFAULT in libxl.h
instead? (Like we have LIBXL_MAX_GRANT_DEFAULT or LIBXL_MEMKB_DEFAULT)

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 16:55:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 16:55:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.922990.1326747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvJAT-0001Ws-NG; Thu, 20 Mar 2025 16:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 922990.1326747; Thu, 20 Mar 2025 16:54: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 1tvJAT-0001Wl-KH; Thu, 20 Mar 2025 16:54:53 +0000
Received: by outflank-mailman (input) for mailman id 922990;
 Thu, 20 Mar 2025 16:54: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=B8C5=WH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvJAR-0001WQ-Ss
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 16:54: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 0a0dbc2b-05ac-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 17:54:51 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so10725845e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 09:54: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-3997f9e674fsm85949f8f.80.2025.03.20.09.54.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 09:54: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: 0a0dbc2b-05ac-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742489690; x=1743094490; 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=mDahdlLwwNWp6sjOyBhZm0Y2eOf+FS2Q234jNIGFcEo=;
        b=ctdpZ+jnTyhWRdZF3JenslaAHdfxw5fTHWlObHHYSvB6xvtCdSQHUdBuf4OGswrZx2
         2GPkQjS3VF1mbCTYdn6hPyxjokV1Oo4dIDUTGYhIFeWPcp/IxxyfjP5sCg3Ez6gkSpGu
         x9q87ohPFRidHODjAkNfbxddXHcAQc3osL1li2ks+G9o9uO3rkmZunj2JSRzRtELBJeA
         0+xWKIJKmdqPpfUK+d6E5pckDXWaYDV0BgatkODkFug4sNjoA2nqF/zyFpvRuTJsFXC0
         ggAz+H4h6ECJ7eklqGs1fm5/ET7myfL7R0ZbfUGRt9g3RuoJ3g0RkrB/u4q1SnMXzMMg
         uLww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742489690; x=1743094490;
        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=mDahdlLwwNWp6sjOyBhZm0Y2eOf+FS2Q234jNIGFcEo=;
        b=idrmKIEZ3r2/qLmzX74dgS16Xy1LJW5kd5v5j/wrvHyHGNTC4iZZNi0bdf4xt/A6AQ
         gOEJQ91JLWiOlsQ/nhwdubLM8mjjRqRro+91GZXS7C2GJrmnxCN2NFoiySJUgcYfQYCH
         GVjKwQ9iVhpEiR1V9aAGGOCWMt0GIqbDnUlvqmzAP/dNCZpa07/J9Ixu7lCFQU0ZU+bD
         BFHkBxLCEB7dEyhbZeqKE5GAMACQA9ydfq89QuSKV0Ag0SmQwCDq8U2l7G4kArJq/cGo
         odAIgcEUhs6pECuew9S3b5O6gsOE8P2uCdrZzrmcRlgKKEJeyx99iWBZJW9MXtI+Wxfz
         dLdw==
X-Forwarded-Encrypted: i=1; AJvYcCX5zvJGbfh9ly3nax765Xp2+yBVzVvj8MRunNBZxRlcR40KNizWQg0DBB+cCWFQaJjrWCp9xBge8Aw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxnBl4KEvCAbe5OP+22ueTBh5PdunmJnA631j7D+nWgKczpVW/f
	uBQ9Tw3gjpwRUqeCQirFmQFnzA3JhX/5H9fuDRLSaXP6eM6FB3exJwblhheoIQ==
X-Gm-Gg: ASbGncsUDpTbe33b0uhv1/GW3bpEyoHbkJTNbug1KTySVD0VMqmSggDdObOwfs/p1zf
	pyiECXIjhy0wC3g1ccujfa+/uYzyEJMaUkGoEeZbhAOksB4mmvUmgVQoj4ZF5xMOPD8GJOovlkS
	3QhTIgReCAUB3dX/beMA+ch0yVqOf2dJOqge91WO5IyZ2JWq2/iTLEds2SGBV3BmOIl4w2pj8Uc
	ln74fuDI/0tGHOtDOsijY2/427wvkLYvveWu5XYBYuYoSZsaeD6+aUacTzaJyz1VhqWgFqUiBCR
	KLt3vz+wwMVyEQoQnmYiaX/2klIwImEfmf7icIGf0eN0Z7ko+XeAkrPn/Oi/g+Ncntn8Og2VY6j
	eqcHqs9hnou0kxAry5iQSpPTZmC9LPw==
X-Google-Smtp-Source: AGHT+IFfImnSY7ahjtAw+MHBEn9zcbvP8m2xsGraO9+7eyFJpdjtGk5OhBoTyzGbxLySiDgJQGLaHw==
X-Received: by 2002:a5d:64a7:0:b0:385:fc70:7f6 with SMTP id ffacd0b85a97d-3997f8f832cmr171477f8f.7.1742489690370;
        Thu, 20 Mar 2025 09:54:50 -0700 (PDT)
Message-ID: <646ad800-c01d-4971-ad89-842745a21f2f@suse.com>
Date: Thu, 20 Mar 2025 17:54:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: add kconfig for event_fifo
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, michal.orzel@amd.com, julien@xen.org,
 roger.pau@citrix.com, Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2503181637100.2000798@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.2503181637100.2000798@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:40, Stefano Stabellini wrote:
> Evtchn fifos are not needed on smaller systems; the older interface is
> lightweight and sufficient. Make it possible to disable evtchn fifo.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Let me ask a more general question, before considering whether to ack:
When kconfig was introduced into Xen, the expectation was (iirc) that
we wouldn't grow its use to the fine grained granularity that it has
been having in Linux. The more build-time controls we have, the harder
it is to know whether a certain piece of code was actually included in
a build someone, say, reports a problem with. Are we knowingly moving
away from that earlier position? evtchn_fifo.c isn't actually that
much code to exclude, after all ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 17:06:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 17:06:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923007.1326757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvJLp-0004Eo-T4; Thu, 20 Mar 2025 17:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923007.1326757; Thu, 20 Mar 2025 17: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 1tvJLp-0004Eh-PB; Thu, 20 Mar 2025 17:06:37 +0000
Received: by outflank-mailman (input) for mailman id 923007;
 Thu, 20 Mar 2025 17:06: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=m8Tk=WH=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tvJLo-0004Eb-6E
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 17:06:36 +0000
Received: from mail-oo1-xc2e.google.com (mail-oo1-xc2e.google.com
 [2607:f8b0:4864:20::c2e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad21c7d9-05ad-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 18:06:34 +0100 (CET)
Received: by mail-oo1-xc2e.google.com with SMTP id
 006d021491bc7-601a4e037a5so458431eaf.3
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 10: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: ad21c7d9-05ad-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742490393; x=1743095193; 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=8bQL6Zz3D9KDT3Qy2M9uO4aY5bskm/L9ymbQKXCeOTI=;
        b=vnfNAoezFaDK7wnPGMSnvRwTzzzwAL+fa6h69Gt1amcUwN9MMgpnJf+P0pxF4MaGJO
         aywyX9Qh5DVND/eYA6vaxeIM4Ni1aKcOksxq/9qA6kLXFdi8wnoiCiw6xOqILngEtHkr
         oyaQZwFUHMucJprfrmw7jB1KUonmOtiKlK9t2bYpXsOIK+D0BwD08y3iIX58gLPCBXhC
         Z4Y1kQ4YbG6HnjCChDgW9Wz7pIJyhgaildPbQ1aezL858yR04VuE2kCTA4PhAyDsEnUn
         qC2pNK3zasq3d/p8L/K523GbNMA0dW/vL3WhJYKX8UGuIOMH4B0LQ+pAtF57hr/VaZNN
         jJgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742490393; x=1743095193;
        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=8bQL6Zz3D9KDT3Qy2M9uO4aY5bskm/L9ymbQKXCeOTI=;
        b=PtGCXdEV76kfrnGGgY9AIRtNgIuPZlbIvnrdZL5pqUDlxz+4+tpCNi5TsuIkJhR4G+
         7EqnZWP5XaW9Oj9awH+zkWfHwCToTxfkqZl8+XoKs+sFn4xABgO6k/FIaU6cB+pAX47v
         /gXc2a6hIow8dVqUljessNncL1+cWgo39tk8ofWogrQFnD4EoXLHsFfjQ5JpV7edsYAp
         bR4i41BQuoA2tu/4Lr89cGTGniuPPN1QAAlReNLR+j91onCX8rzpHxvaGLiFDQ2RxPUP
         RQHvfoQagwCnGZQVsHv9F2tyt8emiujnnO/cGVhOhFTRHRrKLb88AAGKkq66WU6+F+TY
         6B/Q==
X-Gm-Message-State: AOJu0Yy5p4Jl2szeXDGnc6EjKxhAjNbOIYTBZz6M3NSyMyeSeMnZMi7d
	gPiU+LitXWAJ/201Eb+NvVxPKCz6Y5hc7Q9RDlEVz7ljT9XY6MLztDm64oW89atIzvNM+ZmSB4a
	VXkBzbFkXU6IY2CrYr+A+lIJB/LqkPc6px++WNg==
X-Gm-Gg: ASbGnctivP8cJf5Rb+K1v82ZLxuXDEsR0uJSv/+CBnp1mVKp7fAZrnqeGYE6uo7YzMu
	CylAqsE5hRA7MPeMAvLBKzA2GSl3Ry0ErxBjoJaUQmmadMqj484BjyjdGEDwt/0FwC1jW4xjfdQ
	6l2DYEGEBMsOm18poTOWNgp9/8YYc=
X-Google-Smtp-Source: AGHT+IHHSlUsAxcuSGWLr2uUHMzZSFq7zjo1NIdUhNcq2ux7950YpyjM0wghyH+CekqJU17xcC3oBgtJ50toNsLd5E4=
X-Received: by 2002:a05:6870:2c89:b0:29e:29ac:5ade with SMTP id
 586e51a60fabf-2c78054ab05mr231936fac.35.1742490393146; Thu, 20 Mar 2025
 10:06:33 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <75ffd7378e75fb1a07584c1b178600bbfb348425.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FhHz25oHB6bv+NJrf+21N-8HFvMW7JR04NM9JkpKLabg@mail.gmail.com> <794A37F9-9F8A-45D3-9D27-D2C536BADC4F@arm.com>
In-Reply-To: <794A37F9-9F8A-45D3-9D27-D2C536BADC4F@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 20 Mar 2025 18:06:21 +0100
X-Gm-Features: AQ5f1JoZVIRXuiEK8zla1EH_FmSvfVTLv5Io2VZJDHLzAE387SCaKXYa_6gi5fg
Message-ID: <CAHUa44E6Sw5zmXtik8bCgD_WFQkcDsfKa7vDV2bXBRHp8c70_w@mail.gmail.com>
Subject: Re: [PATCH v2 2/5] xen/arm: ffa: Introduce VM to VM support
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Mar 20, 2025 at 4:47=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> Thanks a lot for the review.
>
> > On 20 Mar 2025, at 15:20, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Hi Bertrand,
> >
> > On Mon, Mar 10, 2025 at 3:51=E2=80=AFPM Bertrand Marquis
> > <bertrand.marquis@arm.com> wrote:
> >>
> >> Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
> >> between VMs.
> >> When activated list VMs in the system with FF-A support in part_info_g=
et.
> >>
> >> WARNING: There is no filtering for now and all VMs are listed !!
> >>
> >> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> >> ---
> >> Changes in v2:
> >> - Switch ifdef to IS_ENABLED
> >> - dom was not switched to d as requested by Jan because there is alrea=
dy
> >>  a variable d pointing to the current domain and it must not be
> >>  shadowed.
> >> ---
> >> xen/arch/arm/tee/Kconfig        |  11 +++
> >> xen/arch/arm/tee/ffa_partinfo.c | 144 +++++++++++++++++++++++++-------
> >> xen/arch/arm/tee/ffa_private.h  |  12 +++
> >> 3 files changed, 137 insertions(+), 30 deletions(-)
> >>
> >> diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
> >> index c5b0f88d7522..88a4c4c99154 100644
> >> --- a/xen/arch/arm/tee/Kconfig
> >> +++ b/xen/arch/arm/tee/Kconfig
> >> @@ -28,5 +28,16 @@ config FFA
> >>
> >>          [1] https://developer.arm.com/documentation/den0077/latest
> >>
> >> +config FFA_VM_TO_VM
> >> +    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
> >> +    default n
> >> +    depends on FFA
> >> +    help
> >> +      This option enables to use FF-A between VMs.
> >> +      This is experimental and there is no access control so any
> >> +      guest can communicate with any other guest.
> >> +
> >> +      If unsure, say N.
> >> +
> >> endmenu
> >>
> >> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_pa=
rtinfo.c
> >> index c0510ceb8338..7af1eca2d0c4 100644
> >> --- a/xen/arch/arm/tee/ffa_partinfo.c
> >> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> >> @@ -77,7 +77,23 @@ void ffa_handle_partition_info_get(struct cpu_user_=
regs *regs)
> >>     };
> >>     uint32_t src_size, dst_size;
> >>     void *dst_buf;
> >> -    uint32_t ffa_sp_count =3D 0;
> >> +    uint32_t ffa_vm_count =3D 0, ffa_sp_count =3D 0;
> >> +
> >
> > This function is getting quite large and it's hard to follow the
> > different lock states. How about splitting it into various helper
> > functions?
>
> Yes I agree.
> I will try to find a good way to split this in smaller chunks.
>
> >
> >> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> >> +    {
> >> +        struct domain *dom;
> >> +
> >> +        /* Count the number of VM with FF-A support */
> >
> > Why do we need this now? Isn't it enough to count them below when we
> > fill in dst_buf?
>
> We need it in 3 places in the code after:
> - to return the number of endpoint in case the flag is set (see final ret=
urn)
> - to check that there is enough space in the RX buffer
> - to prevent going through the list of domains if none is to be listed an=
yway

Got it, thanks. The first point is important, the others are
essentially optimizations.

>
> >
> >> +        rcu_read_lock(&domlist_read_lock);
> >> +        for_each_domain( dom )
> >> +        {
> >> +            struct ffa_ctx *vm =3D dom->arch.tee;
> >> +
> >> +            if (dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0)
> >> +                ffa_vm_count++;
> >> +        }
> >> +        rcu_read_unlock(&domlist_read_lock);
> >> +    }
> >>
> >>     /*
> >>      * If the guest is v1.0, he does not get back the entry size so we=
 must
> >> @@ -127,33 +143,38 @@ void ffa_handle_partition_info_get(struct cpu_us=
er_regs *regs)
> >>
> >>     dst_buf =3D ctx->rx;
> >>
> >> -    if ( !ffa_rx )
> >> +    /* If not supported, we have ffa_sp_count=3D0 */
> >> +    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> >>     {
> >> -        ret =3D FFA_RET_DENIED;
> >> -        goto out_rx_release;
> >> -    }
> >> +        if ( !ffa_rx )
> >> +        {
> >> +            ret =3D FFA_RET_DENIED;
> >> +            goto out_rx_release;
> >> +        }
> >>
> >> -    spin_lock(&ffa_rx_buffer_lock);
> >> +        spin_lock(&ffa_rx_buffer_lock);
> >>
> >> -    ret =3D ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size)=
;
> >> +        ret =3D ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_s=
ize);
> >>
> >> -    if ( ret )
> >> -        goto out_rx_hyp_unlock;
> >> +        if ( ret )
> >> +            goto out_rx_hyp_unlock;
> >>
> >> -    /*
> >> -     * ffa_partition_info_get() succeeded so we now own the RX buffer=
 we
> >> -     * share with the SPMC. We must give it back using ffa_hyp_rx_rel=
ease()
> >> -     * once we've copied the content.
> >> -     */
> >> +        /*
> >> +         * ffa_partition_info_get() succeeded so we now own the RX bu=
ffer we
> >> +         * share with the SPMC. We must give it back using ffa_hyp_rx=
_release()
> >> +         * once we've copied the content.
> >> +         */
> >>
> >> -    /* we cannot have a size smaller than 1.0 structure */
> >> -    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
> >> -    {
> >> -        ret =3D FFA_RET_NOT_SUPPORTED;
> >> -        goto out_rx_hyp_release;
> >> +        /* we cannot have a size smaller than 1.0 structure */
> >> +        if ( src_size < sizeof(struct ffa_partition_info_1_0) )
> >> +        {
> >> +            ret =3D FFA_RET_NOT_SUPPORTED;
> >> +            goto out_rx_hyp_release;
> >> +        }
> >>     }
> >>
> >> -    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
> >> +    if ( ctx->page_count * FFA_PAGE_SIZE <
> >> +         (ffa_sp_count + ffa_vm_count) * dst_size )
> >>     {
> >>         ret =3D FFA_RET_NO_MEMORY;
> >>         goto out_rx_hyp_release;
> >> @@ -182,25 +203,88 @@ void ffa_handle_partition_info_get(struct cpu_us=
er_regs *regs)
> >>         }
> >>     }
> >>
> >> +    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> >> +    {
> >> +        ffa_hyp_rx_release();
> >> +        spin_unlock(&ffa_rx_buffer_lock);
> >> +    }
> >> +
> >> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) && ffa_vm_count )
> >> +    {
> >> +        struct domain *dom;
> >> +        uint32_t curr =3D 0;
> >> +
> >> +        /* add the VM informations if any */
> >> +        rcu_read_lock(&domlist_read_lock);
> >> +        for_each_domain( dom )
> >> +        {
> >> +            struct ffa_ctx *vm =3D dom->arch.tee;
> >> +
> >> +            /*
> >> +             * we do not add the VM calling to the list and only VMs =
with
> >> +             * FF-A support
> >> +             */
> >> +            if (dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0)
> >> +            {
> >> +                /*
> >> +                 * We do not have UUID info for VMs so use
> >> +                 * the 1.0 structure so that we set UUIDs to
> >> +                 * zero using memset
> >> +                 */
> >> +                struct ffa_partition_info_1_0 srcvm;
> >> +
> >> +                if ( curr =3D=3D ffa_vm_count )
> >> +                {
> >> +                    /*
> >> +                     * The number of domains changed since we counted=
 them, we
> >> +                     * can add new ones if there is enough space in t=
he
> >> +                     * destination buffer so check it or go out with =
an error.
> >> +                     */
> >
> > Why do we care if the number has changed? If it fits, all is good
> > anyway and we're also updating ffa_vm_count with curr after the loop.
>
> Well this is exactly the point here, we check if we have enough space to
> return the data with the new domains and if not we return an error.
>
> The point here is to make sure that if there are more domains than when
> we counted first we check that we have enough size and the update at the
> end is to handle the case where we have actually less domains than when
> we counted first.
>
> If the number has changed we only care because we need to make sure
> we have enough space and because we need to return the right number
> to the caller.
>
> Please tell me how you would like me to change this because I do not
> understand what I should modify here.

I was thinking something like:
        for_each_domain( dom )
        {
            struct ffa_ctx *vm =3D dom->arch.tee;

            if (dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0)
            {
                ...
                ffa_vm_count++;
                if ( ctx->page_count * FFA_PAGE_SIZE <
                     (ffa_sp_count + ffa_vm_count) * dst_size )
                    ... error out

                ... copy data
                dst_buf +=3D dst_size;
            }
        }

Cheers,
Jens

>
> Cheers
> Bertrand
>
> >
> > Cheers,
> > Jens
> >
> >> +                    ffa_vm_count++;
> >> +                    if ( ctx->page_count * FFA_PAGE_SIZE <
> >> +                         (ffa_sp_count + ffa_vm_count) * dst_size )
> >> +                    {
> >> +                        ret =3D FFA_RET_NO_MEMORY;
> >> +                        rcu_read_unlock(&domlist_read_lock);
> >> +                        goto out_rx_release;
> >> +                    }
> >> +                }
> >> +
> >> +                srcvm.id =3D ffa_get_vm_id(dom);
> >> +                srcvm.execution_context =3D dom->max_vcpus;
> >> +                srcvm.partition_properties =3D FFA_PART_VM_PROP;
> >> +                if ( is_64bit_domain(dom) )
> >> +                    srcvm.partition_properties |=3D FFA_PART_PROP_AAR=
CH64_STATE;
> >> +
> >> +                memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size))=
;
> >> +
> >> +                if ( dst_size > sizeof(srcvm) )
> >> +                    memset(dst_buf + sizeof(srcvm), 0,
> >> +                           dst_size - sizeof(srcvm));
> >> +
> >> +                dst_buf +=3D dst_size;
> >> +                curr++;
> >> +            }
> >> +        }
> >> +        rcu_read_unlock(&domlist_read_lock);
> >> +
> >> +        /* the number of domains could have reduce since the initial =
count */
> >> +        ffa_vm_count =3D curr;
> >> +    }
> >> +
> >> +    goto out;
> >> +
> >> out_rx_hyp_release:
> >>     ffa_hyp_rx_release();
> >> out_rx_hyp_unlock:
> >>     spin_unlock(&ffa_rx_buffer_lock);
> >> out_rx_release:
> >> -    /*
> >> -     * The calling VM RX buffer only contains data to be used by the =
VM if the
> >> -     * call was successful, in which case the VM has to release the b=
uffer
> >> -     * once it has used the data.
> >> -     * If something went wrong during the call, we have to release th=
e RX
> >> -     * buffer back to the SPMC as the VM will not do it.
> >> -     */
> >> -    if ( ret !=3D FFA_RET_OK )
> >> -        ffa_rx_release(d);
> >> +    ffa_rx_release(d);
> >> out:
> >>     if ( ret )
> >>         ffa_set_regs_error(regs, ret);
> >>     else
> >> -        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
> >> +        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_s=
ize);
> >> }
> >>
> >> static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> >> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_pri=
vate.h
> >> index c4cd65538908..bd6877d8c632 100644
> >> --- a/xen/arch/arm/tee/ffa_private.h
> >> +++ b/xen/arch/arm/tee/ffa_private.h
> >> @@ -187,6 +187,18 @@
> >>  */
> >> #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
> >>
> >> +/*
> >> + * Partition properties we give for a normal world VM:
> >> + * - can send direct message but not receive them
> >> + * - can handle indirect messages
> >> + * - can receive notifications
> >> + * 32/64 bit flag is set depending on the VM
> >> + */
> >> +#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
> >> +                             FFA_PART_PROP_INDIRECT_MSGS | \
> >> +                             FFA_PART_PROP_RECV_NOTIF | \
> >> +                             FFA_PART_PROP_IS_PE_ID)
> >> +
> >> /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
> >> #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
> >> #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> >> --
> >> 2.47.1
>
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 17:29:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 17:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923023.1326766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvJhh-0000Pv-MA; Thu, 20 Mar 2025 17:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923023.1326766; Thu, 20 Mar 2025 17: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 1tvJhh-0000Po-J5; Thu, 20 Mar 2025 17:29:13 +0000
Received: by outflank-mailman (input) for mailman id 923023;
 Thu, 20 Mar 2025 17:29: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=W2V2=WH=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tvJhg-0000Pi-Hv
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 17:29:12 +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 d4ae5079-05b0-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 18:29:10 +0100 (CET)
Received: from phl-compute-02.internal (phl-compute-02.phl.internal
 [10.202.2.42])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 1464D2540146;
 Thu, 20 Mar 2025 13:29:08 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Thu, 20 Mar 2025 13:29:08 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 20 Mar 2025 13:29:05 -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: d4ae5079-05b0-11f0-9ffa-bf95429c2676
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=1742491747;
	 x=1742578147; bh=dP6EDAIzxBmMqsd8P5v8c+8bUHQbplQJJ+arzKRHh7A=; b=
	nt35H4wnYXEcBMTfpBuz5zpNMfpeecq7+v2h9USWsXiB+31sueynQGayNfGg7Ath
	N38YGo9ZcAHy8gEkHH73Iufa9tZ6BCby2bZ2U48sICZXtMbKM6iI/WMuKwLrp/TA
	9fabV4PDD/OgYbPbyrtskt2nAczdtvg1UdgvpqwDtYF6xbX/DCBDJYvxEpbyHYZg
	tSBrlTRLZ5gnytz+XqWsI/rOpAZdlEOfzVqU6bB3XfMKtyR+cSO/7BPbxSXx7KLm
	Bbzor/+om3vOvlenj5lekIB/+8FybJGJLbWX+5RXzzKPYQgXwbFk3q5TElx7kQva
	N7/vNAynUj9yrPDjJzA2Hw==
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=fm1; t=
	1742491747; x=1742578147; bh=dP6EDAIzxBmMqsd8P5v8c+8bUHQbplQJJ+a
	rzKRHh7A=; b=ab5AIeO3/zoaOfH5PTkNPFuaoACZxg80bqHavqjIf63talb68gq
	l8t37C2oZqXdkAykRh9gMz/yzgYK81NXDtspviGRe6eJx1Werfjj5lhBvzZQ5k9A
	RqXLyIZReqEUgardyHsae4smr/n/OYXrIzjWy1ObMZt1WvCqKqzV3fTxjpWto4DR
	+ZatuRsBY6WZ4JdWKhMxkEc+kYws3Z3ZKzwxjA8gcgh3pxO6bJF2mkhTQEm1lJMn
	M7BQS0D92FsnfsQa/ro6VJ8r+iQE3eLBo3xJifGLc0BEMkmQUZOwToW3J5GmDEmx
	Euqrp2ODb7sU9t1WbKisdiZTYXi6huh8Bdw==
X-ME-Sender: <xms:Y1DcZ_748cyHclG5yF3CBR6treqlVB9BjNhP-cbW4DMUNhlyxksDfw>
    <xme:Y1DcZ05U2b4q_KUXKUl1KBSsCG3RsmAhrJGurr4at47gFatALfQRRhOxR-VlWODX-
    l0EdzAg8l-FIg>
X-ME-Received: <xmr:Y1DcZ2dRj9dw9llumsvNI0TNl6thNFXIKMzDSBgwsRje_14U1Tr9tZsGRSMEndQzcmvdLO52W6Mi5xtCwNaPPOgPBfL1opb0qw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeekkeduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgs
    vghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhhthhhonhihrdhpvghrrg
    hrugesvhgrthgvshdrthgvtghhpdhrtghpthhtohepfhhrvgguvghrihgtrdhpihgvrhhr
    vghtsehquhgsvghsqdhoshdrohhrghdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvg
    hrfeestghithhrihigrdgtohhmpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegr
    mhgurdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoh
    eprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggv
    lhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:Y1DcZwKf_yyFWmaPdFCewHmD0id6settzGcwsNRIK9MG8VHiUtBMHw>
    <xmx:Y1DcZzJEzl8EXLMXLGV0yWK_ovpI0VnG6aav4zEaXf8_qAoFkfG0wQ>
    <xmx:Y1DcZ5yRFtdXSLzrZljXa4oxKdmdrqwpAJjqiNoita9g_ieLA-1gGA>
    <xmx:Y1DcZ_K429ETctpnkjjeef_zh6eNm_xAjzCT1ozGAUXZNdQFsHze9Q>
    <xmx:Y1DcZ0WEIlYVgqyYt0J4ENTuzxtpT2OdIzlaFS_7Zg0DUZEkLW2pJZ-q>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 20 Mar 2025 18:29:03 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86
Message-ID: <Z9xQYKa1UOXw6u3J@mail-itl>
References: <Z9wPVGd0fEsbaO_s@mail-itl>
 <a9831a95-2828-4b46-8cae-58b2c531f507@suse.com>
 <Z9wfKB0vdngn3xXX@mail-itl>
 <Z9wnzRbwb3HQaSMu@l14>
 <Z9wxcYapF5eno29b@mail-itl>
 <7698a70a-db0a-4d5d-b5ad-8c0636bc5a33@suse.com>
 <Z9w1BLntGv4ksws0@mail-itl>
 <fb116d7e-e678-4ac9-920a-de7e5b227417@suse.com>
 <Z9w7PPEbF1STQNBt@mail-itl>
 <19a66aaa-e3e8-43be-a988-14586c2fd71b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="H0U/lCevOfb54q/S"
Content-Disposition: inline
In-Reply-To: <19a66aaa-e3e8-43be-a988-14586c2fd71b@suse.com>


--H0U/lCevOfb54q/S
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 20 Mar 2025 18:29:03 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?Q?Fr=C3=A9d=C3=A9ric_Pierret_=28fepitre=29?= <frederic.pierret@qubes-os.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/2] Strip build path directories in tools, xen and
 xen/arch/x86

On Thu, Mar 20, 2025 at 05:09:12PM +0100, Jan Beulich wrote:
> On 20.03.2025 16:58, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Mar 20, 2025 at 04:48:02PM +0100, Jan Beulich wrote:
> >> On 20.03.2025 16:32, Marek Marczykowski-G=C3=B3recki wrote:
> >>> On Thu, Mar 20, 2025 at 04:21:18PM +0100, Jan Beulich wrote:
> >>>> On 20.03.2025 16:17, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>> On Thu, Mar 20, 2025 at 02:35:59PM +0000, Anthony PERARD wrote:
> >>>>>> On Thu, Mar 20, 2025 at 02:59:04PM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> >>>>>>> On Thu, Mar 20, 2025 at 02:49:27PM +0100, Jan Beulich wrote:
> >>>>>>>> On 20.03.2025 13:51, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>>>>>> On Thu, Mar 20, 2025 at 10:18:28AM +0000, Anthony PERARD wrote:
> >>>>>>>>>> On Wed, Mar 19, 2025 at 02:40:33PM +0100, Marek Marczykowski-G=
=C3=B3recki wrote:
> >>>>>>>>>>> There are clearly some build path embedding left. And
> >>>>>>>>>>> -ffile-prefix-map=3D/-fdebug-prefix-map=3D doesn't work corre=
ctly with
> >>>>>>>>>>> XEN_ROOT having xen/.. at the end.
> >>>>>>>>>>> BTW, would it be acceptable to have this?
> >>>>>>>>>>>
> >>>>>>>>>>>     $(call cc-option-add,CFLAGS,CC,-fdebug-prefix-map=3D$(rea=
lpath $(XEN_ROOT))=3D.)
> >>>>>>>>>>
> >>>>>>>>>> Hi,
> >>>>>>>>>>
> >>>>>>>>>> Could you avoid using $(XEN_ROOT) in hypervisor build system? =
(It's fine
> >>>>>>>>>> in "tools/"). In "xen/", there's a few variables you can use i=
f they are
> >>>>>>>>>> needed: $(abs_objtree) $(abs_srctree) for absolutes path, and =
$(srctree)
> >>>>>>>>>> $(objtree) for relative path. That also should avoid the need =
to use
> >>>>>>>>>> $(realpath ).
> >>>>>>>>>
> >>>>>>>>> XEN_ROOT is literally "$(abs_srctree)/..". And I need to resolv=
e it to
> >>>>>>>>> not have /.. for prefix-map to work correctly. Would it be bett=
er to use
> >>>>>>>>> literal $(realpath $(abs_srctree)/..)? Or use just $(abs_srctre=
e) and
> >>>>>>>>> have paths in debug symbols relative to hypervisor source dir, =
instead
> >>>>>>>>> of xen repo root? I'm not sure if that wouldn't confuse some to=
ols...
> >>>>>>>>
> >>>>>>>> abs_srctree being computed using realpath, can't we replace
> >>>>>>>>
> >>>>>>>> export XEN_ROOT :=3D $(abs_srctree)/..
> >>>>>>>>
> >>>>>>>> by something as simpl{e,istic} as
> >>>>>>>>
> >>>>>>>> export XEN_ROOT :=3D $(patsubst %/xen,%,$(abs_srctree))
> >>>>>>>>
> >>>>>>>> ?
> >>>>>>>
> >>>>>>> That works too. It's slightly less robust, but I don't expect "xe=
n"
> >>>>>>> directory to be renamed, so shouldn't be an issue. I'll leave als=
o a
> >>>>>>> comment there why not /.. .
> >>>>>>
> >>>>>> I don't think $(XEN_ROOT) is present in the binaries produce by the
> >>>>>> hypervisor's build system. There's only a few use if that variable=
: to
> >>>>>> load some makefile, to execute makefile that build xsm policy and =
to
> >>>>>> generate cpuid-autogen.h. Otherwise I don't think the compile have=
 this
> >>>>>> path in the command line. What is going to be in the binary is
> >>>>>> $(abs_srctree), which you can replace by "./xen" if you want; whic=
h mean
> >>>>>> it doesn't matter if the directory is renamed or not. You might wa=
nt to
> >>>>>> also take care of $(abs_objtree) which seems to also be in `xen-sy=
ms`
> >>>>>> when doing out-of-tree build.
> >>>>>
> >>>>> So, you suggest to do -fdebug-prefix-map=3D$(abs_srctree)=3D./xen ?=
 That
> >>>>> appears to work for in-tree builds too.
> >>>>
> >>>> And why ./xen (question to Anthony)? Just . is quite fine, isn't it?
> >>>
> >>> It makes paths in debug symbols relative to xen/ subdir, not the
> >>> repository root. I'm not sure if that is a problem, but it may be for
> >>> some tools.
> >>
> >> Yet especially in the symbol table (and hence in strack traces) that's
> >> unnecessary extra space it takes up.
> >>
> >>>>> But now I actually tested how it looks with out-of-tree builds, and
> >>>>> indeed $(abs_objtree) is embedded there too. Adding
> >>>>> -fdebug-prefix-map=3D$(abs_objtree)=3D./xen appears to help for thi=
s. But,
> >>>>> -fdebug-prefix-map doesn't help with abs_srctree in out-of-tree bui=
lds
> >>>>> for some reason. -ffile-prefix-map does. And so does -fdebug-prefix=
-map
> >>>>> + -fmacro-prefix-map. Is there any preference which one to use? It
> >>>>> appears as -fmacro-prefix-map and -ffile-prefix-map have the same
> >>>>> availability in both GCC (8) and Clang (10).
> >>>>
> >>>> Then the simpler -ffile-prefix-map is better, imo. Question then is
> >>>> whether any of the options is actually needed at all for in-tree bui=
lds.
> >>>
> >>> Yes, without any of those options, both xen-syms and xen.efi contain
> >>> full source path.
> >>
> >> Even in builds without debug info?=20
> >=20
> > For in-tree build without debug info, it appears no. But with debug
> > info, something is needed even for in-tree build.
> > And BTW, IIUC out-of-tree builds will become relevant even for in-tree
> > build at some point, due to pvshim.
>=20
> That hasn't happened yet because it's not quite straightforward to arrange
> for.

Sure, but if it will happen at some point, even users doing in-tree
build would benefit from options that normally would be relevant only
for out-of-tree builds. So, it's IMO valuable to attempt make
out-of-tree builds reproducible too.

> >> Imo a goal ought to be to specify the
> >> weakest possible of these options for any particular build mode. I.e.
> >> possibly -ffile-prefix-map=3D for out of tree builds, else
> >> -fdebug-prefix-map=3D when DEBUG_INFO=3Dy, else nothing (if possible).
> >=20
> > Is it? I don't really see why making the selection overly complex if the
> > option is supported (and cc-option-add covers that case).
>=20
> Yes, cc-option-add might cover the case where nothing is needed. But the
> two options mentioned have appeared in gcc at different versions. People
> using e.g. gcc7 may still benefit from -fdebug-prefix-map=3D.

That sounds like an argument to use -fdebug-prefix-map=3D +
-fmacro-prefix-map (with separate cc-option-add), instead of just
-ffile-prefix-map. I'm fine with that.


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

--H0U/lCevOfb54q/S
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfcUGAACgkQ24/THMrX
1yxp7wgAhLN4w0m9qRAdctDJRAUmsETl0cnHcKpeedwtf0/zIb2PF97yBN/+Wzm8
CXa+w0azRvnyKutVhsmT/SXLyiY1jgoxP4ipzbdehUyk0IiluuequEWsYLMoVJjq
gGDU17P/p2Hg3sE6zlg+TFj3SE40Q+4y/Emk7IHDxXm/AGXXNgP21yOpfWAD8HFL
VDFm7L9CNAGc2rkW2LsyfAXRotNshWMqRMHB2tzPpsasKaiTKsPXgYJdJrc1ir+u
t7Itg70VUR5zF6F27nJFVUwa4O0jRbzaERGTstNsILdo+4tf2McQNjmcy5X81ZPa
j28Bc/Z8DwUcsJoaH3qi/AwwaEsbhQ==
=T6fb
-----END PGP SIGNATURE-----

--H0U/lCevOfb54q/S--


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 17:57:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 17:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923064.1326777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvK8S-0006pi-T1; Thu, 20 Mar 2025 17:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923064.1326777; Thu, 20 Mar 2025 17:56: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 1tvK8S-0006pb-Pr; Thu, 20 Mar 2025 17:56:52 +0000
Received: by outflank-mailman (input) for mailman id 923064;
 Thu, 20 Mar 2025 17:56: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvK8S-0006pV-3z
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 17:56:52 +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 b3540d00-05b4-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 18:56:51 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso8072635e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 10:56:51 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f995a05sm223484f8f.8.2025.03.20.10.56.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 10:56: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: b3540d00-05b4-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742493410; x=1743098210; 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=7lqwUM+7/e/r6r0bFrbhk+qa14/YRuFpEkx3TyOU+n0=;
        b=lhNMI5anK/TyQpX150/iK7yu/uDMy9azudzJkgov72BrRQXrVzFWlyyilR8Q3kp3cs
         LjspJ3icjZYvCfyznLkIaFuEY0/NGWua6XkW99d1rYQcOMrMBVn0YaRx0URaregT9Fha
         GlWHc2AQwDasHw6vc7D9syq7eYZQ30q9EWqio=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742493410; x=1743098210;
        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=7lqwUM+7/e/r6r0bFrbhk+qa14/YRuFpEkx3TyOU+n0=;
        b=mjc8j/THJSkdbx7oDh5O/GxvtyQJc8wM7L/s9YtHc9LFf8rflvR+RblmjZah2jrWBA
         /UZfL6TtleKo5shTdxd2Ztg6dEhbQc+mtiLyDkEJzO3XAfQLyswSn4p/cVYTBDHxrneW
         zSO2mz3/HIJunaLDeFPfCZkoi8YclACmvHv8cAsn/1d+3OqTDK2JJKiP91QF3wbkc5V1
         qWz+ZNA088P5s79eBzVIYWInMs0LHpxObSBjRUKNfm0shLOEUK0c9fv+ppZQsDsC6L0j
         wzLOr0XsiN9reRgdHNh4BIVIk1ZYgDU3hyF+rcZ8ZG/q/MW8+lXOOIEqxFVPW6aCHm4R
         zA3w==
X-Forwarded-Encrypted: i=1; AJvYcCWHvx+zC85GNSCn2r3EaC09CcTvejXcNFKhAyQC8uqYVTS8u99ct9sTviffsyuVCR7zuLM92jR8Y1o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxO485j7G42hL7H308YhFEe+7KOYRd9WT0EKif0lWcbGc+arbUZ
	AkcJbUPDsfr7Myge+04PvvxPqy8Y2PRrjn+3B/xbXTEuxDU5qtzW8snM0r3rg68=
X-Gm-Gg: ASbGncuwFchu1aAb/MVudIg6zf08rREDtJg5DoFcmscAEh9l1p1mKJ3T2ndrW9kM5rC
	2m6mgAh47iGNgcxuF34h8cstbgzHHqJBoKXXyX9/lOy/XUr2uF9XMwg2bH1y/X9WepTUI32VSdi
	xesgks+AneUFyyfMPCgVzuJCV6iXwxNZYqdGoZBWrTUPQPOWqQEG+OvWUFCzulizw0HLtg0HU8o
	30md2jSlJEHP+Mbd7jok9ho8iH4lTZHx+ate+LYpatlFZn9WBbse68ZAT6Y24yRHhygAVoKUZkK
	ddM+37RVQMoEK23ldBJE8RLBcDxlGaCnemHKWYUe+z94JHRExr1OUDFdIg3EDH8YCQxOLxDFwaj
	5HaHsai/A3A==
X-Google-Smtp-Source: AGHT+IGzkzqatJRfgJN2p10GATn3G8JNBakYgGrsEXISnNqH5n2WKftg9tyGNraEjsK4dtqJ3yQrOA==
X-Received: by 2002:a5d:5f4b:0:b0:391:39fc:6664 with SMTP id ffacd0b85a97d-3997f8ffeb3mr456166f8f.6.1742493410420;
        Thu, 20 Mar 2025 10:56:50 -0700 (PDT)
Message-ID: <29d645e3-f8ae-4f55-8371-aa67da295ff8@citrix.com>
Date: Thu, 20 Mar 2025 17:56:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/traps: Introduce early_traps_init() and simplify
 setup
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-5-andrew.cooper3@citrix.com>
 <801007e0-2c02-48f8-856d-8f06eb698fb5@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: <801007e0-2c02-48f8-856d-8f06eb698fb5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/03/2025 3:26 pm, Jan Beulich wrote:
> On 17.03.2025 20:20, Andrew Cooper wrote:
>> Something I overlooked when last cleaning up exception handling is that a TSS
>> is not necessary if IST isn't configured, and IST isn't necessary until we're
>> running guest code.
>>
>> Introduce early_traps_init() which is far more minimal than init_idt_traps();
>> bsp_ist[] is constructed without IST settings, so all early_traps_init() needs
>> to do is load the IDT, and invalidate TR/LDTR.
>>
>> Put the remaining logic into traps_init(), later on boot.  Note that
>> load_system_tables() already contains enable_each_ist(), so the call is simply
>> dropped.
>>
>> This removes some complexity prior to having exception support, and lays the
>> groundwork to not even allocate a TSS when using FRED.
>>
>> No practical change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Given the present state of thing:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> What worries me slightly is that ...
>
>> @@ -63,6 +88,13 @@ void __init traps_init(void)
>>      /* Replace early pagefault with real pagefault handler. */
>>      _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
>>  
>> +    this_cpu(idt) = bsp_idt;
>> +    this_cpu(gdt) = boot_gdt;
>> +    if ( IS_ENABLED(CONFIG_PV32) )
>> +        this_cpu(compat_gdt) = boot_compat_gdt;
> ... this being done later now requires more care with e.g. play_dead().

Hmm.Â  There are multiple things at play here.

load_system_tables() is the important one to defer, and when FRED is
active there really is no IDT.Â  However, when we're using IDT for early
handing, we probably ought to have the pointer set up.

So I think this block wants to move back early.Â  It's also used in NMI
crash shootdown too.

> Yet if and when needed, this setting up could of course be moved earlier
> again. It's not entirely clear to me why you specifically want it here
> and not in early_traps_init().

Because I was looking to not even set up an IDT when FRED is in use.

But as said, we probably want to set it up, and then invalidate it when
turning on FRED.

> The sole dependency is percpu_init_areas(),
> which runs - as even visible from patch context here - ahead of
> early_traps_init().

percpu_init_areas() isn't even a dependency.Â  Notice how it only starts
from CPU1.Â  CPU0 (which is what this_cpu() refers to in both of these
functions) is correct (i.e. 0) at build time.

I still intend to remove percpu_init_areas().Â  It's all build-time
constant; it just needs doing by the assembler, rather than the
compiler, as (-(long)__per_cpu_start) is not an integer constant expression.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 18:02:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 18:02:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923079.1326787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvKE7-0000t7-G2; Thu, 20 Mar 2025 18:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923079.1326787; Thu, 20 Mar 2025 18: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 1tvKE7-0000t0-CI; Thu, 20 Mar 2025 18:02:43 +0000
Received: by outflank-mailman (input) for mailman id 923079;
 Thu, 20 Mar 2025 18: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=AcMq=WH=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tvKE4-0000sj-Sa
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 18:02:42 +0000
Received: from mail-10629.protonmail.ch (mail-10629.protonmail.ch
 [79.135.106.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82cc1c87-05b5-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 19:02:39 +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: 82cc1c87-05b5-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=izrj3prut5c5vom3rjm773saoi.protonmail; t=1742493755; x=1742752955;
	bh=NbFD9PJaWap5Bf1zw+L3nkdnmOxwy9Pda8VfCzHaMVs=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=ds56Gh6qSq3wvUYmXOUhHfZkI/wR/9xiDosmRYbL5ujlOjOkysfgyEuTshogc1Oyh
	 YxSKDAmDVfQ+rzYRq1Gp/rtPWnINPaQpfycZkT9gLoC4DSBNVvAfrE32P3Ww4pH8n3
	 Oi6C8i69mey2l5d1gFYyAKIHSryrDj7QWo98ekcPexDkqc9tGzyZUB8Dz3cDZt/ocO
	 HghCC0Gk0A9p5XG4oDT/FrGpFNb91pm7AaDVHETdY5owRSJrgzQkc8eGXJGeT6SLTA
	 ewuWmNOer+Komp47qd9aLiBItcX0Yp1ADICh/beqxywwpXcbmNuPTZwtaPlXUT2Yoz
	 qB1ixkN+2fXKQ==
Date: Thu, 20 Mar 2025 18:02:29 +0000
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 4/4] x86:hvm: make nestedhvm support optional
Message-ID: <311wkeHyQ8rJRAw1aALCMKlxFw_NbyQSIojdillPXi0x8QxP9MY83WnGyuGTQocLa61GozGCQN5br4M__74m1oMmGSM_xkp3hjMaKZ6bWR8=@proton.me>
In-Reply-To: <e4f77564313d20ad4f3b94bde0672250f7d99bb4.1742465624.git.Sergiy_Kibrik@epam.com>
References: <cover.1742465624.git.Sergiy_Kibrik@epam.com> <e4f77564313d20ad4f3b94bde0672250f7d99bb4.1742465624.git.Sergiy_Kibrik@epam.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 72d3aa12187fc2c98f4dc14e3a2b0b59bab7f41a
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi,

On Thursday, March 20th, 2025 at 3:40 AM, Sergiy Kibrik <Sergiy_Kibrik@epam=
.com> wrote:

>=20
>=20
> Introduce NESTEDHVM config option that controls nested virtualization in =
both
> SVM & VMX code. The option is for reduction of dead code on systems that
> aren't intended to run in nested mode.
>=20
> Signed-off-by: Sergiy Kibrik Sergiy_Kibrik@epam.com
>=20
> ---
> xen/arch/x86/Kconfig | 5 +++++
> xen/arch/x86/hvm/Makefile | 2 +-
> xen/arch/x86/hvm/svm/Makefile | 2 +-
> xen/arch/x86/hvm/svm/entry.S | 2 ++
> xen/arch/x86/hvm/svm/svm.c | 4 ++++
> xen/arch/x86/hvm/vmx/Makefile | 2 +-
> xen/arch/x86/hvm/vmx/entry.S | 2 ++
> xen/arch/x86/hvm/vmx/vmcs.c | 8 +++++---
> xen/arch/x86/hvm/vmx/vmx.c | 10 +++++++++-
> xen/arch/x86/include/asm/hvm/nestedhvm.h | 10 +++++++++-
> 10 files changed, 39 insertions(+), 8 deletions(-)
>=20
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 6e41bc0fb4..bc140d8b77 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -144,6 +144,11 @@ config INTEL_VMX
> If your system includes a processor with Intel VT-x support, say Y.
> If in doubt, say Y.
>=20
> +config NESTEDHVM
> + bool "Support nested virtualization" if EXPERT
> + depends on HVM
> + default y

There's dedicated Kconfig for HVM build-time configuration on staging at:

  arch/x86/hvm/Kconfig

Suggest plumbing new knob there.

Thanks,
Denis



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 20:11:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 20:11:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923134.1326797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvMEU-0000LK-4p; Thu, 20 Mar 2025 20:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923134.1326797; Thu, 20 Mar 2025 20:11: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 1tvMEU-0000LD-25; Thu, 20 Mar 2025 20:11:14 +0000
Received: by outflank-mailman (input) for mailman id 923134;
 Thu, 20 Mar 2025 20:11: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=nziT=WH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tvMES-0000Kn-35
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 20:11:12 +0000
Received: from mail-ot1-x329.google.com (mail-ot1-x329.google.com
 [2607:f8b0:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75823b65-05c7-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 21:11:08 +0100 (CET)
Received: by mail-ot1-x329.google.com with SMTP id
 46e09a7af769-7273b01fe35so734751a34.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 13:11: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: 75823b65-05c7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742501467; x=1743106267; 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=3o9MNS3F3przhy/Vdl/s3P9tRARp8NAO1wS3I1uhMe4=;
        b=dcu+PaS7loPtdW50n7jyONy0R1qv7FM4biDPSvqVyW/Bieoee9ITq4ZsVe1wIvQeK7
         Zu1x02rx0iITVWAlvrz6gh9/ieB1ucsPDKkEwMWOZTbspJ/zBHXMY+1eZM0taErd7jbR
         BWOVbyogln9xhLBWFL/wP+31DzrJa+TFKElBQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742501467; x=1743106267;
        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=3o9MNS3F3przhy/Vdl/s3P9tRARp8NAO1wS3I1uhMe4=;
        b=e3Gl31pHQ2riqrXRELGK1stR/OG8W+MEmBJo4kmD5zhxC5OSZAjk1SLBgxWjoFRQKk
         Gk/tPW26riFf3mq1WCUZ+c30TZHdeQUNnVXrD3F0CRHJhu6NqreM9HCmKQYzY1QyOYfe
         6FB5CdKmRCNUk/5zVfT/L1SrQWeF7dEB0Ej8linHppceOL5pJ1FD0jrvnYAFYow9vJJW
         qOh/YR6ewwQWP85UIxQyedgucclwMKsmlWgT+nriNmeW65TaoG0jSZuDwK5G7j7QX2Ny
         iVRymiIX6LoWG2QEa8fZc4YjhMJ+K0x1JHM4EQiwRC1xjO14Wuof4VsTdSuIhbXsR7Zf
         wu0g==
X-Forwarded-Encrypted: i=1; AJvYcCU4IYuA5INk1+oLGy6srQhawcyTtkjf9NLNMegjz6K8ro9VPqKdyQ5GhlaR/GHWj7QBjZSSI4ou+2o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx+EOVrCsXy5m0FKLfV6QmKzANBKcCABLVdf4VZEvT+1Sv/mYE9
	alg70N+N3DOEzaK+tT0GyvURQAjZy1xpKh+kwRS3tW0adKraCbVOW+6VqqmYQM8RS6kkZL96tJk
	ZHnXByvMVHQPzMCekP7McmV2mtacm2oNNgsnehw==
X-Gm-Gg: ASbGncs308msOygwfuRylOaLF9cXAL6U4YYDIzY7Lr0CqXF2L1/1eDINmXRzSGkxREu
	fRCzDs8kaKKvVfs+TI3V5PMP4rLsF1fFb93FD3eorcdN740T7PELDnG2xgKv+qmF1YyD0eZd0KC
	qySoen2J7VNrUxCfb3RYfXZWQ=
X-Google-Smtp-Source: AGHT+IHkuSV9WWiptfV1+JLNlwyQpBDQ9ntefH//TmvccOnL8/kgGlvOrnPoilnagJ777Pf3DM61Z4TIONFY08mQvrQ=
X-Received: by 2002:a05:6808:2199:b0:3fb:49cd:6bf5 with SMTP id
 5614622812f47-3febf7944bemr370781b6e.32.1742501466821; Thu, 20 Mar 2025
 13:11:06 -0700 (PDT)
MIME-Version: 1.0
References: <20250217162659.151232-1-frediano.ziglio@cloud.com>
 <Z7jf_YojU9tQ1Or7@mail-itl> <CACHz=Zierjby+_Q93dFeO5mjMG1aiSpyHvDshRK6=ZHY5bH-6A@mail.gmail.com>
 <Z7xxQHVdSGwig4hb@mail-itl> <CACHz=ZgHxvCJQyJe_NJFh3YYcuW0sey+qcOEv0O-XxC8daTo+A@mail.gmail.com>
 <Z79jhZ_BGEC6DYl4@mail-itl> <086f7e05-2cab-4a53-8ecb-dff7421e38bc@suse.com>
 <CACHz=ZjtjMyv5OmUT8dNHAzqrw5c7ij58quo1SuDc2ZBSjQRmw@mail.gmail.com>
 <CACHz=ZjLq8vVLtLL40DjcLV5wwxyatLdy4g3rq1ifSVcnATr8g@mail.gmail.com> <cd29d79c-fa6a-48a7-aefe-7e8abba9bf95@suse.com>
In-Reply-To: <cd29d79c-fa6a-48a7-aefe-7e8abba9bf95@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 20 Mar 2025 20:10:55 +0000
X-Gm-Features: AQ5f1Jry2BbyfeIlVuRgfKU_Lt1Gln-sYmhs0VmRs-TZZA-xpen31-Ct-KK2kkc
Message-ID: <CACHz=ZjW8_sbHUAZtPXeG+Nc3CdKFgESkg2n3r7MWTqPBcWWBA@mail.gmail.com>
Subject: Re: [PATCH v6] Avoid crash calling PrintErrMesg from efi_multiboot2
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 20, 2025 at 3:15=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 20.03.2025 15:33, Frediano Ziglio wrote:
> > On Thu, Mar 6, 2025 at 3:02=E2=80=AFPM Frediano Ziglio
> > <frediano.ziglio@cloud.com> wrote:
> >>
> >> On Thu, Mar 6, 2025 at 2:26=E2=80=AFPM Jan Beulich <jbeulich@suse.com>=
 wrote:
> >>>
> >>> On 26.02.2025 19:54, Marek Marczykowski-G=C3=B3recki wrote:
> >>>> On Mon, Feb 24, 2025 at 02:31:00PM +0000, Frediano Ziglio wrote:
> >>>>> On Mon, Feb 24, 2025 at 1:16=E2=80=AFPM Marek Marczykowski-G=C3=B3r=
ecki
> >>>>> <marmarek@invisiblethingslab.com> wrote:
> >>>>>>
> >>>>>> On Mon, Feb 24, 2025 at 12:57:13PM +0000, Frediano Ziglio wrote:
> >>>>>>> On Fri, Feb 21, 2025 at 8:20=E2=80=AFPM Marek Marczykowski-G=C3=
=B3recki
> >>>>>>> <marmarek@invisiblethingslab.com> wrote:
> >>>>>>>>
> >>>>>>>> On Mon, Feb 17, 2025 at 04:26:59PM +0000, Frediano Ziglio wrote:
> >>>>>>>>> Although code is compiled with -fpic option data is not positio=
n
> >>>>>>>>> independent. This causes data pointer to become invalid if
> >>>>>>>>> code is not relocated properly which is what happens for
> >>>>>>>>> efi_multiboot2 which is called by multiboot entry code.
> >>>>>>>>>
> >>>>>>>>> Code tested adding
> >>>>>>>>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
> >>>>>>>>> in efi_multiboot2 before calling efi_arch_edd (this function
> >>>>>>>>> can potentially call PrintErrMesg).
> >>>>>>>>>
> >>>>>>>>> Before the patch (XenServer installation on Qemu, xen replaced
> >>>>>>>>> with vanilla xen.gz):
> >>>>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> >>>>>>>>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault) =
 CPU Apic ID - 00000000 !!!!
> >>>>>>>>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS=
:0 SGX:0
> >>>>>>>>>   RIP  - 000000007EE21E9A, CS  - 0000000000000038, RFLAGS - 000=
0000000210246
> >>>>>>>>>   RAX  - 000000007FF0C1B5, RCX - 0000000000000050, RDX - 000000=
0000000010
> >>>>>>>>>   RBX  - 0000000000000000, RSP - 000000007FF0C180, RBP - 000000=
007FF0C210
> >>>>>>>>>   RSI  - FFFF82D040467CE8, RDI - 0000000000000000
> >>>>>>>>>   R8   - 000000007FF0C1C8, R9  - 000000007FF0C1C0, R10 - 000000=
0000000000
> >>>>>>>>>   R11  - 0000000000001020, R12 - FFFF82D040467CE8, R13 - 000000=
007FF0C1B8
> >>>>>>>>>   R14  - 000000007EA33328, R15 - 000000007EA332D8
> >>>>>>>>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 000000=
0000000030
> >>>>>>>>>   GS   - 0000000000000030, SS  - 0000000000000030
> >>>>>>>>>   CR0  - 0000000080010033, CR2 - FFFF82D040467CE8, CR3 - 000000=
007FC01000
> >>>>>>>>>   CR4  - 0000000000000668, CR8 - 0000000000000000
> >>>>>>>>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 000000=
0000000000
> >>>>>>>>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 000000=
0000000400
> >>>>>>>>>   GDTR - 000000007F9DB000 0000000000000047, LDTR - 000000000000=
0000
> >>>>>>>>>   IDTR - 000000007F48E018 0000000000000FFF,   TR - 000000000000=
0000
> >>>>>>>>>   FXSAVE_STATE - 000000007FF0BDE0
> >>>>>>>>>   !!!! Find image based on IP(0x7EE21E9A) (No PDB)  (ImageBase=
=3D000000007EE20000, EntryPoint=3D000000007EE23935) !!!!
> >>>>>>>>>
> >>>>>>>>> After the patch:
> >>>>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> >>>>>>>>>   Test message: Buffer too small
> >>>>>>>>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-A=
AEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
> >>>>>>>>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-=
AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
> >>>>>>>>>
> >>>>>>>>> This partially rollback commit 00d5d5ce23e6.
> >>>>>>>>>
> >>>>>>>>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for =
EFI platforms")
> >>>>>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> >>>>>>>>
> >>>>>>>> I tried testing this patch, but it seems I cannot reproduce the =
original
> >>>>>>>> failure...
> >>>>>>>>
> >>>>>>>> I did as the commit message suggests here:
> >>>>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commit/ca3d=
6911c448eb886990f33d4380b5646617a982
> >>>>>>>>
> >>>>>>>> With blexit() in PrintErrMesg(), it went back to the bootloader,=
 so I'm
> >>>>>>>> sure this code path was reached. But with blexit() commented out=
, Xen
> >>>>>>>> started correctly both with and without this patch... The branch=
 I used
> >>>>>>>> is here:
> >>>>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commits/aut=
omation-tests?ref_type=3Dheads
> >>>>>>>>
> >>>>>>>> Are there some extra condition to reproduce the issue? Maybe it =
depends
> >>>>>>>> on the compiler version? I guess I can try also on QEMU, but bas=
ed on
> >>>>>>>> the description, I would expect it to crash in any case.
> >>>>>>>>
> >>>>>>>
> >>>>>>> Did you see the correct message in both cases?
> >>>>>>> Did you use Grub or direct EFI?
> >>>>>>>
> >>>>>>> With Grub and without this patch you won't see the message, with =
grub
> >>>>>>> with the patch you see the correct message.
> >>>>>>
> >>>>>> I did use grub, and I didn't see the message indeed.
> >>>>>> But in the case it was supposed to crash (with added PrintErrMesg(=
),
> >>>>>> commented out blexit and without your patch) it did _not_ crashed =
and
> >>>>>> continued to normal boot. Is that #PF non-fatal here?
> >>>>>>
> >>>>>
> >>>>> Hi,
> >>>>>    I tried again with my test environment.
> >>>>> Added the PrintErrMesg line before efi_arch_edd call, I got a #PF, =
in
> >>>>> my case the system hangs. With the fix patch machine is rebooting a=
nd
> >>>>> I can see the message in the logs.
> >>>>> I'm trying with Xen starting inside Qemu, EFI firmware, xen.gz
> >>>>> compiled as ELF file. Host system is an Ubuntu 22.04.5 LTS. Gcc is
> >>>>> version 11.4.
> >>>>
> >>>> My test was wrong, commenting out blexit made "mesg" variable unused=
.
> >>>> After fixing that, I can reproduce it on both QEMU and real hardware=
:
> >>>> without your patch it crashes and with your patch it works just fine=
.
> >>>> While there may be more places with similar issue, this patch clearl=
y
> >>>> improves the situation, so:
> >>>>
> >>>> Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsl=
ab.com>
> >>>
> >>> This had to be reverted, for breaking the build with old Clang. See t=
he
> >>> respective Matrix conversation.
> >>
> >> To sum up the failure is:
> >>
> >>     clang: error: unknown argument: '-fno-jump-tables'
> >
> > Now that the minimum clang version supports this option, can this
> > change be applied?
>
> Not sure. I for one would expect that we actively reject building with
> too old tool chains then, which is yet to be carried out. Plus I think
> you'd want to re-submit, with all tags dropped. The change was wrong to
> go in at that earlier point, and hence any such tags weren't quite
> accurate.
>
> Jan

Hi,
  not sure what you intend with "tags" in the above sentence. Git tags ?
Not sure we need to carry on using old tool chains if we decide to
bump the minimal versions.

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 20:17:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 20:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923147.1326806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvMKg-0000w2-Q1; Thu, 20 Mar 2025 20:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923147.1326806; Thu, 20 Mar 2025 20:17: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 1tvMKg-0000vv-Na; Thu, 20 Mar 2025 20:17:38 +0000
Received: by outflank-mailman (input) for mailman id 923147;
 Thu, 20 Mar 2025 20: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=vaXX=WH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvMKf-0000vp-FV
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 20:17:37 +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 5c751740-05c8-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 21:17:35 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cfe574976so7658515e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 13:17:35 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9ef1f7sm453052f8f.82.2025.03.20.13.17.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 20 Mar 2025 13:17: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: 5c751740-05c8-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742501854; x=1743106654; 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=xYN9cj5fVuzzDFxUsBIlSBpe5mpFWhjf5+kj7AWzhAk=;
        b=ZU3nOfB6+gZq6OkPZbbuHANegpym7gGSxzoXqvXTFdBuZVpiDSbA9nPXOQFnpmJ6PF
         yJsK2GBa+Rk0UrC9cwnGPJESws/eN7A+spnEy6gTuHwmEmNJwrd6z26I95H041FP9c4S
         WYQEuagH0at7E3m+kiwi7Q8CGbzXfhqrNw/5c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742501854; x=1743106654;
        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=xYN9cj5fVuzzDFxUsBIlSBpe5mpFWhjf5+kj7AWzhAk=;
        b=GswcYRwObyJ455AJX+LXnR97ZXbgNOy/mLruspxr8vBwIMX6wPRlNqwf2TwLS6rXKw
         U3uQB2OorsSfD2rMwQppZMHChA+qC9/3SD91QzP+K33mbVjrerNa6JPTbSPfo65+LQda
         f5VpOOcAA9zWIPv9P1FZPrrfOeL7VX7rrH012CkrizEwy8lFmOAp82QxJMJoM59DQ20L
         PDrXn+uxagRrpesuPyLbgmV9fK8GPd6y2y5S0XhIlRuKMDkEfzW6CQQW2UXDsTHTLcqm
         BpM235U6vLC5Bn+3D2Enk+X0jPuh/7Hz0S30WL9HLWQXxzqf2Rlw92XrNHDoI6h/7+uR
         mhJw==
X-Gm-Message-State: AOJu0YwVmg7Yq0/S740KSAp3GcBgx5N9KQnoPuzpQN5DNkhlZqs0gkNj
	mf0wAhHYC2Zo1mNdnf0YQcH9PnWI3KzYq0FEROCyZfYVjlWvoHb6MF09wOzdK9tlU/TunY/wRVX
	+
X-Gm-Gg: ASbGncv0zAMdvMWPSwnChUeC8dODXbv62KKjq3bh1r5q0SX+Qq9ESWg0xzDWd3MaFXH
	5/Q5L77cqInV7tj3D2/dbgP6vCSwTBFDn9U/GHkjJ+nguOtgGadz9nuicv+Ywv7BOS2PPDzB3p/
	rEsb0m/RcUHU4MhAK86hztB6khhuRSYzAn/S3Mh610KWlK0g5/C8fvMylBs5ei8zh1u3EdgADjV
	JXkXOPH6onLzVQEGpUKT5Ut4wXyKTe4Yf87TEokAqU18ofDEN91XKvJDgTs5Of8Cpf1RszLCTv/
	/p/VFmynj71Na7LgZzzM3XX1WbBjRttqYOjnIX/KEzsvJ7cb2i14OpV4W0C6KDEESCp5myqmkTc
	+9TpQ2LJKLsDex5Apzw==
X-Google-Smtp-Source: AGHT+IHsEk2Qzb98us/ELKyt+QyWO8kpUAywZMlThwo0AASIJbxmEcgzDs/ZaU9xFNA/q4xTOxwI6w==
X-Received: by 2002:a05:600c:470f:b0:43c:fe15:41e1 with SMTP id 5b1f17b1804b1-43d509e190fmr4089785e9.4.1742501854340;
        Thu, 20 Mar 2025 13:17:34 -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/4] x86/traps: Introduce early_traps_init() and simplify setup
Date: Thu, 20 Mar 2025 20:17:32 +0000
Message-Id: <20250320201732.84094-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250317192023.568432-5-andrew.cooper3@citrix.com>
References: <20250317192023.568432-5-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Something I overlooked when last cleaning up exception handling is that a TSS
is not necessary if IST isn't configured, and IST isn't necessary until we're
running guest code.

Introduce early_traps_init(), and rearrange the existing logic between this
and traps_init() later on boot, to allow defering TSS and IST setup.

In early_traps_init(), load the IDT and invalidate TR/LDTR; this sufficient
system-table setup to make exception handling work.  The setup of the BSPs
per-cpu variables stay early too; they're used on certain error paths.

Move load_system_tables() later into traps_init().  Note that it already
contains enable_each_ist(), so the call is simply dropped.

This removes some complexity prior to having exception support, and lays the
groundwork to not even allocate a TSS when using FRED.

No practical change.

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

v2:
 * Keep this_cpu(idt) early.
---
 xen/arch/x86/include/asm/system.h |  1 -
 xen/arch/x86/include/asm/traps.h  |  1 +
 xen/arch/x86/setup.c              |  5 ++---
 xen/arch/x86/traps-setup.c        | 32 +++++++++++++++++++++++++++++++
 xen/arch/x86/traps.c              | 13 -------------
 5 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/include/asm/system.h b/xen/arch/x86/include/asm/system.h
index 1bf6bd026852..8ceaaf45d1a0 100644
--- a/xen/arch/x86/include/asm/system.h
+++ b/xen/arch/x86/include/asm/system.h
@@ -263,7 +263,6 @@ static inline int local_irq_is_enabled(void)
 #define BROKEN_ACPI_Sx          0x0001
 #define BROKEN_INIT_AFTER_S1    0x0002
 
-void init_idt_traps(void);
 void load_system_tables(void);
 void subarch_percpu_traps_init(void);
 
diff --git a/xen/arch/x86/include/asm/traps.h b/xen/arch/x86/include/asm/traps.h
index 3d30aa6738d4..72c33a33e283 100644
--- a/xen/arch/x86/include/asm/traps.h
+++ b/xen/arch/x86/include/asm/traps.h
@@ -7,6 +7,7 @@
 #ifndef ASM_TRAP_H
 #define ASM_TRAP_H
 
+void early_traps_init(void);
 void traps_init(void);
 void percpu_traps_init(void);
 
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 993a6202a398..7d6e52a55f2f 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1087,14 +1087,13 @@ void asmlinkage __init noreturn __start_xen(void)
     };
     const char *hypervisor_name;
 
-    /* Critical region without IDT or TSS.  Any fault is deadly! */
+    /* Critical region without exception handling.  Any fault is deadly! */
 
     init_shadow_spec_ctrl_state();
 
     percpu_init_areas();
 
-    init_idt_traps();
-    load_system_tables();
+    early_traps_init();
 
     smp_prepare_boot_cpu();
     sort_exception_tables();
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index 1a7b42c14bf2..a8385b26ae9b 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -55,6 +55,36 @@ static void __init init_ler(void)
     setup_force_cpu_cap(X86_FEATURE_XEN_LBR);
 }
 
+/*
+ * Configure basic exception handling.  This is prior to parsing the command
+ * line or configuring a console, and needs to be as simple as possible.
+ *
+ * boot_gdt is already loaded, and bsp_idt[] is constructed without IST
+ * settings, so we don't need a TSS configured yet.
+ */
+void __init early_traps_init(void)
+{
+    const struct desc_ptr idtr = {
+        .base = (unsigned long)bsp_idt,
+        .limit = sizeof(bsp_idt) - 1,
+    };
+
+    lidt(&idtr);
+
+    /* Invalidate TR/LDTR as they're not set up yet. */
+    _set_tssldt_desc(boot_gdt + TSS_ENTRY - FIRST_RESERVED_GDT_ENTRY,
+                     0, 0, SYS_DESC_tss_avail);
+
+    ltr(TSS_SELECTOR);
+    lldt(0);
+
+    /* Set up the BSPs per-cpu references. */
+    this_cpu(idt) = bsp_idt;
+    this_cpu(gdt) = boot_gdt;
+    if ( IS_ENABLED(CONFIG_PV32) )
+        this_cpu(compat_gdt) = boot_compat_gdt;
+}
+
 /*
  * Configure complete exception, interrupt and syscall handling.
  */
@@ -63,6 +93,8 @@ void __init traps_init(void)
     /* Replace early pagefault with real pagefault handler. */
     _update_gate_addr_lower(&bsp_idt[X86_EXC_PF], entry_PF);
 
+    load_system_tables();
+
     init_ler();
 
     /* Cache {,compat_}gdt_l1e now that physically relocation is done. */
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 79d92f21acf5..25e0d5777e6e 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1858,19 +1858,6 @@ void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
     panic("CONTROL-FLOW PROTECTION FAULT: #CP[%04x] %s\n", ec, err);
 }
 
-void __init init_idt_traps(void)
-{
-    /* Specify dedicated interrupt stacks for NMI, #DF, and #MC. */
-    enable_each_ist(bsp_idt);
-
-    /* CPU0 uses the master IDT. */
-    this_cpu(idt) = bsp_idt;
-
-    this_cpu(gdt) = boot_gdt;
-    if ( IS_ENABLED(CONFIG_PV32) )
-        this_cpu(compat_gdt) = boot_compat_gdt;
-}
-
 void asm_domain_crash_synchronous(unsigned long addr)
 {
     /*

base-commit: 6e5fed7cb67c9f84653cdbd3924b8a119ef653be
prerequisite-patch-id: 832a3f5dd12d56454ae74d4ae08d1893c672733e
prerequisite-patch-id: 2f5a1dc0cf663d27c66076f809063764e7a99e61
prerequisite-patch-id: 1f25c130d5a1ee15884dfebad9f5d2a4e69f673a
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 20 21:07:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 21:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923173.1326817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvN6X-0002gh-EA; Thu, 20 Mar 2025 21:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923173.1326817; Thu, 20 Mar 2025 21: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 1tvN6X-0002ga-9J; Thu, 20 Mar 2025 21:07:05 +0000
Received: by outflank-mailman (input) for mailman id 923173;
 Thu, 20 Mar 2025 21:07: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=v6xy=WH=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1tvN6V-0002gU-Vv
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 21:07:04 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43d3ec14-05cf-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 22:07:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 746AE5C632C;
 Thu, 20 Mar 2025 21:04:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02E3DC4CEDD;
 Thu, 20 Mar 2025 21:06:58 +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: 43d3ec14-05cf-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742504819;
	bh=HJwmsuBl4GXsCQaTwFacbejN4+pW0Ti4oR/v22e/4ZY=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=cf3sZD96OvC1io70X3978viKdgFIwJoj1vBnbZvWwXaz+Q3yxvcE4qwgMPEA9tqwA
	 NwX14JIWitf/STv86rzIW2Y4ulqHCAIJoysCRoaNq7GZwcMoxoxR8PPdEqLstK9g5p
	 tgzHfymTSJZ9K0mddPgC731UpiRo212EkyMtnKAHXJmF6RWHzUqWmHAMaxCALWY/KB
	 SgW4Bjdk3W2zN7Pw72+bl/0B887JFrYKqOHmpWum7CNflwj0hFPItGJckd9I1So/oX
	 NU6vEMSFRQWqujdjFvbi/0+hXONOdkul2aLYo6XSafsmyWfwb+W6dVcS3dnpuO6txk
	 kJ6HN4vUTJLyQ==
Date: Thu, 20 Mar 2025 16:06:57 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org,
	Nirmal Patel <nirmal.patel@linux.intel.com>,
	Jonathan Derrick <jonathan.derrick@linux.dev>,
	Lorenzo Pieralisi <lpieralisi@kernel.org>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
	Rob Herring <robh@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: [PATCH v3 2/3] PCI: vmd: Disable MSI remapping bypass under Xen
Message-ID: <20250320210657.GA1099656@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250219092059.90850-3-roger.pau@citrix.com>

On Wed, Feb 19, 2025 at 10:20:56AM +0100, Roger Pau Monne wrote:
> MSI remapping bypass (directly configuring MSI entries for devices on the
> VMD bus) won't work under Xen, as Xen is not aware of devices in such bus,
> and hence cannot configure the entries using the pIRQ interface in the PV
> case, and in the PVH case traps won't be setup for MSI entries for such
> devices.
> 
> Until Xen is aware of devices in the VMD bus prevent the
> VMD_FEAT_CAN_BYPASS_MSI_REMAP capability from being used when running as
> any kind of Xen guest.
> 
> The MSI remapping bypass is an optional feature of VMD bridges, and hence
> when running under Xen it will be masked and devices will be forced to
> redirect its interrupts from the VMD bridge.  That mode of operation must
> always be supported by VMD bridges and works when Xen is not aware of
> devices behind the VMD bridge.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

> ---
> Changes since v2:
>  - Adjust patch subject.
>  - Adjust code comment.
> 
> Changes since v1:
>  - Add xen header.
>  - Expand comment.
> ---
>  drivers/pci/controller/vmd.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
> index 9d9596947350..e619accca49d 100644
> --- a/drivers/pci/controller/vmd.c
> +++ b/drivers/pci/controller/vmd.c
> @@ -17,6 +17,8 @@
>  #include <linux/rculist.h>
>  #include <linux/rcupdate.h>
>  
> +#include <xen/xen.h>
> +
>  #include <asm/irqdomain.h>
>  
>  #define VMD_CFGBAR	0
> @@ -970,6 +972,24 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
>  	struct vmd_dev *vmd;
>  	int err;
>  
> +	if (xen_domain()) {
> +		/*
> +		 * Xen doesn't have knowledge about devices in the VMD bus
> +		 * because the config space of devices behind the VMD bridge is
> +		 * not known to Xen, and hence Xen cannot discover or configure
> +		 * them in any way.
> +		 *
> +		 * Bypass of MSI remapping won't work in that case as direct
> +		 * write by Linux to the MSI entries won't result in functional
> +		 * interrupts, as Xen is the entity that manages the host
> +		 * interrupt controller and must configure interrupts.  However
> +		 * multiplexing of interrupts by the VMD bridge will work under
> +		 * Xen, so force the usage of that mode which must always be
> +		 * supported by VMD bridges.
> +		 */
> +		features &= ~VMD_FEAT_CAN_BYPASS_MSI_REMAP;
> +	}
> +
>  	if (resource_size(&dev->resource[VMD_CFGBAR]) < (1 << 20))
>  		return -ENOMEM;
>  
> -- 
> 2.46.0
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 21:07:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 21:07:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923184.1326827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvN7D-0003AI-KN; Thu, 20 Mar 2025 21:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923184.1326827; Thu, 20 Mar 2025 21:07: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 1tvN7D-0003AB-HQ; Thu, 20 Mar 2025 21:07:47 +0000
Received: by outflank-mailman (input) for mailman id 923184;
 Thu, 20 Mar 2025 21:07: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=v6xy=WH=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1tvN7C-00030s-MY
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 21:07:46 +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 5de2412a-05cf-11f0-9ea0-5ba50f476ded;
 Thu, 20 Mar 2025 22:07:45 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id BE7E44498F;
 Thu, 20 Mar 2025 21:07:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E75D7C4CEDD;
 Thu, 20 Mar 2025 21:07: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: 5de2412a-05cf-11f0-9ea0-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742504863;
	bh=v7wcyw9rqZ7FU5j+lNAT5Amx/qAm9xGjFmzsiAtT9y4=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=TpAc2m+ivCJpGi6vqoswsYUiSo31PQDBe/s/ugZ0TJPY8KkGsXdqeK9VXKlNvDsCM
	 64+OA8/jbD7PeF178I0i4Q1drybW7tN60oUpIh58dTexYz8z32r6AT9tIliLJMF3Ez
	 8316CpjFPiFs8d+gJ5u9RK7lSWBDrhj10feHHmSfrfC29ddw5dkr2PGpb2LIwKF9Dx
	 4GwSlSnFYBeHGExbazA+XYo+ioM5fWTJRCttEEjAWuWKGPCym/ngjjevQqWYlek/6+
	 DUKXkGEXKxQrkQbIJQLzfB5/zucptJ3Dh3r4kGKWmabuKgmyo01PPPr6+VSMOmybYc
	 SVsXaiTL83WyA==
Date: Thu, 20 Mar 2025 16:07:41 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Juergen Gross <jgross@suse.com>,
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <20250320210741.GA1099701@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250219092059.90850-4-roger.pau@citrix.com>

On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for both
> MSI and MSI-X entries globally, regardless of the IRQ chip they are using.
> Only Xen sets the pci_msi_ignore_mask when routing physical interrupts over
> event channels, to prevent PCI code from attempting to toggle the maskbit,
> as it's Xen that controls the bit.
> 
> However, the pci_msi_ignore_mask being global will affect devices that use
> MSI interrupts but are not routing those interrupts over event channels
> (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> bridge configure the MSI entries using indexes into the VMD bridge MSI
> table.  The VMD bridge then demultiplexes such interrupts and delivers to
> the destination device(s).  Having pci_msi_ignore_mask set in that scenario
> prevents (un)masking of MSI entries for devices behind the VMD bridge.
> 
> Move the signaling of no entry masking into the MSI domain flags, as that
> allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> that uses the pIRQ chip, while leaving it unset for the rest of the
> cases.
> 
> Remove pci_msi_ignore_mask at once, since it was only used by Xen code, and
> with Xen dropping usage the variable is unneeded.
> 
> This fixes using devices behind a VMD bridge on Xen PV hardware domains.
> 
> Albeit Devices behind a VMD bridge are not known to Xen, that doesn't mean
> Linux cannot use them.  By inhibiting the usage of
> VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mask
> bodge devices behind a VMD bridge do work fine when use from a Linux Xen
> hardware domain.  That's the whole point of the series.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> Acked-by: Juergen Gross <jgross@suse.com>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

I assume you'll merge this series via the Xen tree.  Let me know if
otherwise.

> ---
> Changes since v2:
>  - Fix subject line.
> 
> Changes since v1:
>  - Fix build.
>  - Expand commit message.
> ---
>  arch/x86/pci/xen.c    |  8 ++------
>  drivers/pci/msi/msi.c | 37 +++++++++++++++++++++----------------
>  include/linux/msi.h   |  3 ++-
>  kernel/irq/msi.c      |  2 +-
>  4 files changed, 26 insertions(+), 24 deletions(-)
> 
> diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
> index 0f2fe524f60d..b8755cde2419 100644
> --- a/arch/x86/pci/xen.c
> +++ b/arch/x86/pci/xen.c
> @@ -436,7 +436,8 @@ static struct msi_domain_ops xen_pci_msi_domain_ops = {
>  };
>  
>  static struct msi_domain_info xen_pci_msi_domain_info = {
> -	.flags			= MSI_FLAG_PCI_MSIX | MSI_FLAG_FREE_MSI_DESCS | MSI_FLAG_DEV_SYSFS,
> +	.flags			= MSI_FLAG_PCI_MSIX | MSI_FLAG_FREE_MSI_DESCS |
> +				  MSI_FLAG_DEV_SYSFS | MSI_FLAG_NO_MASK,
>  	.ops			= &xen_pci_msi_domain_ops,
>  };
>  
> @@ -484,11 +485,6 @@ static __init void xen_setup_pci_msi(void)
>  	 * in allocating the native domain and never use it.
>  	 */
>  	x86_init.irqs.create_pci_msi_domain = xen_create_pci_msi_domain;
> -	/*
> -	 * With XEN PIRQ/Eventchannels in use PCI/MSI[-X] masking is solely
> -	 * controlled by the hypervisor.
> -	 */
> -	pci_msi_ignore_mask = 1;
>  }
>  
>  #else /* CONFIG_PCI_MSI */
> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index 2f647cac4cae..4c8c2b57b5f6 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -10,12 +10,12 @@
>  #include <linux/err.h>
>  #include <linux/export.h>
>  #include <linux/irq.h>
> +#include <linux/irqdomain.h>
>  
>  #include "../pci.h"
>  #include "msi.h"
>  
>  int pci_msi_enable = 1;
> -int pci_msi_ignore_mask;
>  
>  /**
>   * pci_msi_supported - check whether MSI may be enabled on a device
> @@ -285,6 +285,8 @@ static void pci_msi_set_enable(struct pci_dev *dev, int enable)
>  static int msi_setup_msi_desc(struct pci_dev *dev, int nvec,
>  			      struct irq_affinity_desc *masks)
>  {
> +	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> +	const struct msi_domain_info *info = d->host_data;
>  	struct msi_desc desc;
>  	u16 control;
>  
> @@ -295,8 +297,7 @@ static int msi_setup_msi_desc(struct pci_dev *dev, int nvec,
>  	/* Lies, damned lies, and MSIs */
>  	if (dev->dev_flags & PCI_DEV_FLAGS_HAS_MSI_MASKING)
>  		control |= PCI_MSI_FLAGS_MASKBIT;
> -	/* Respect XEN's mask disabling */
> -	if (pci_msi_ignore_mask)
> +	if (info->flags & MSI_FLAG_NO_MASK)
>  		control &= ~PCI_MSI_FLAGS_MASKBIT;
>  
>  	desc.nvec_used			= nvec;
> @@ -604,12 +605,15 @@ static void __iomem *msix_map_region(struct pci_dev *dev,
>   */
>  void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
>  {
> +	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> +	const struct msi_domain_info *info = d->host_data;
> +
>  	desc->nvec_used				= 1;
>  	desc->pci.msi_attrib.is_msix		= 1;
>  	desc->pci.msi_attrib.is_64		= 1;
>  	desc->pci.msi_attrib.default_irq	= dev->irq;
>  	desc->pci.mask_base			= dev->msix_base;
> -	desc->pci.msi_attrib.can_mask		= !pci_msi_ignore_mask &&
> +	desc->pci.msi_attrib.can_mask		= !(info->flags & MSI_FLAG_NO_MASK) &&
>  						  !desc->pci.msi_attrib.is_virtual;
>  
>  	if (desc->pci.msi_attrib.can_mask) {
> @@ -659,9 +663,6 @@ static void msix_mask_all(void __iomem *base, int tsize)
>  	u32 ctrl = PCI_MSIX_ENTRY_CTRL_MASKBIT;
>  	int i;
>  
> -	if (pci_msi_ignore_mask)
> -		return;
> -
>  	for (i = 0; i < tsize; i++, base += PCI_MSIX_ENTRY_SIZE)
>  		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
>  }
> @@ -714,6 +715,8 @@ static int msix_setup_interrupts(struct pci_dev *dev, struct msix_entry *entries
>  static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
>  				int nvec, struct irq_affinity *affd)
>  {
> +	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> +	const struct msi_domain_info *info = d->host_data;
>  	int ret, tsize;
>  	u16 control;
>  
> @@ -744,15 +747,17 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
>  	/* Disable INTX */
>  	pci_intx_for_msi(dev, 0);
>  
> -	/*
> -	 * Ensure that all table entries are masked to prevent
> -	 * stale entries from firing in a crash kernel.
> -	 *
> -	 * Done late to deal with a broken Marvell NVME device
> -	 * which takes the MSI-X mask bits into account even
> -	 * when MSI-X is disabled, which prevents MSI delivery.
> -	 */
> -	msix_mask_all(dev->msix_base, tsize);
> +	if (!(info->flags & MSI_FLAG_NO_MASK)) {
> +		/*
> +		 * Ensure that all table entries are masked to prevent
> +		 * stale entries from firing in a crash kernel.
> +		 *
> +		 * Done late to deal with a broken Marvell NVME device
> +		 * which takes the MSI-X mask bits into account even
> +		 * when MSI-X is disabled, which prevents MSI delivery.
> +		 */
> +		msix_mask_all(dev->msix_base, tsize);
> +	}
>  	pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL, 0);
>  
>  	pcibios_free_irq(dev);
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index b10093c4d00e..59a421fc42bf 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -73,7 +73,6 @@ struct msi_msg {
>  	};
>  };
>  
> -extern int pci_msi_ignore_mask;
>  /* Helper functions */
>  struct msi_desc;
>  struct pci_dev;
> @@ -556,6 +555,8 @@ enum {
>  	MSI_FLAG_PCI_MSIX_ALLOC_DYN	= (1 << 20),
>  	/* PCI MSIs cannot be steered separately to CPU cores */
>  	MSI_FLAG_NO_AFFINITY		= (1 << 21),
> +	/* Inhibit usage of entry masking */
> +	MSI_FLAG_NO_MASK		= (1 << 22),
>  };
>  
>  /**
> diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
> index 396a067a8a56..7682c36cbccc 100644
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -1143,7 +1143,7 @@ static bool msi_check_reservation_mode(struct irq_domain *domain,
>  	if (!(info->flags & MSI_FLAG_MUST_REACTIVATE))
>  		return false;
>  
> -	if (IS_ENABLED(CONFIG_PCI_MSI) && pci_msi_ignore_mask)
> +	if (info->flags & MSI_FLAG_NO_MASK)
>  		return false;
>  
>  	/*
> -- 
> 2.46.0
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 21:55:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 21:55:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923206.1326836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvNqk-00056f-Th; Thu, 20 Mar 2025 21:54:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923206.1326836; Thu, 20 Mar 2025 21: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 1tvNqk-00056Y-Qy; Thu, 20 Mar 2025 21:54:50 +0000
Received: by outflank-mailman (input) for mailman id 923206;
 Thu, 20 Mar 2025 21:54: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=p7JB=WH=boeing.com=Anderson.Choi@srs-se1.protection.inumbo.net>)
 id 1tvNqj-00056S-AF
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 21:54:49 +0000
Received: from ewa-mbsout-01.mbs.boeing.net (ewa-mbsout-01.mbs.boeing.net
 [130.76.20.194]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee891e1f-05d5-11f0-9ffa-bf95429c2676;
 Thu, 20 Mar 2025 22:54:46 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by ewa-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52KLsfCx023145; Thu, 20 Mar 2025 14:54:43 -0700
Received: from XCH16-03-01.nos.boeing.com (xch16-03-01.nos.boeing.com
 [137.137.111.10])
 by ewa-mbsout-01.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52KLsadP023116
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Thu, 20 Mar 2025 14:54:37 -0700
Received: from XCH16-09-06.nos.boeing.com (137.137.111.51) by
 XCH16-03-01.nos.boeing.com (137.137.111.10) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Thu, 20 Mar 2025 14:54:36 -0700
Received: from XCH19-EDGE-Q02.nos.boeing.com (130.76.23.14) by
 XCH16-09-06.nos.boeing.com (137.137.111.51) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44 via Frontend Transport; Thu, 20 Mar 2025 14:54:35 -0700
Received: from USG02-CY1-obe.outbound.protection.office365.us (23.103.199.182)
 by boeing.com (130.76.23.14) with Microsoft SMTP Server
 (version=TLS1_2, 
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 20 Mar
 2025 14:54:33 -0700
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:19b::17)
 by BN0P110MB1883.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:1a2::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.32; Thu, 20 Mar
 2025 21:54:32 +0000
Received: from BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d]) by BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
 ([fe80::394b:7a34:da07:485d%4]) with mapi id 15.20.8511.032; Thu, 20 Mar 2025
 21:54: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: ee891e1f-05d5-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1742507683;
	bh=lUKxEa8icImYZjgIznuWJPeVYke4fgjKIYUS5wDBhOs=;
	h=From:To:CC:Subject:Date:References:In-Reply-To:From;
	b=VwQzkRMWx1bn/aGYJbvRFrmDI4q/VyJ1Tsa2tcIG0yTZTKFivq0so0NWM1kdu6JyZ
	 Mu9xcuenI8BYtcwso5VYkkhmrw+H3aIuriBeF7Phf71uHdDXpo7j8aYMpEc9KMlJEs
	 11IM58lBo5pJeQG7PuICfGs7jr7UIsTtilk9nvc11+Zm6yMJK/HPcOerZVUHCFPcrB
	 doubOvKz9DiQeFnJj60+QtsrVTNwyPgYuWb1ug1YWvuHYI76RMPZbsG2DqwBn6AJO0
	 DUyknvzKbJbG/6tWYoW0aI9mRB6hLbgYiIEfteHWhxcby1d+Bpzcwwxd9SNNwh+rhO
	 Gc53uffN2BEJQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=hdpbeq/yVbephc/OzbhClMfurFzr+x2YpaZuBgEFy2ZXxGpRLxqxAAi0f6ImdXnTqsEpVhhy5YDDZ4JcYesxE4Uviqz5N8wBEbV/5X0HrgfG1YVD5pTiPPnHWN5I947rG5mpyOgW/xHqJZAN/fTIMtZF7eaOnxipjJrmSu7nd8aa30iFbSpIQuAIcxsNqWNcUCCUXzb3zMkS6K4wfZ/TQrjNUcOGZWd45/tfd6PwW5dL9157J1CJrec6co+ZDmD1C0EnoyWIB7Hffuz3qBJFKhxfD8Cl83bEH5M6JWwAFPggs/FBpMBIs8aE7EDajz2pcyEVCD+UbTh7XphGW33uBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lUKxEa8icImYZjgIznuWJPeVYke4fgjKIYUS5wDBhOs=;
 b=NVSF+P2ck0vQEUs6qAmEPFFgYPF6OYzThmqP5YvjOODyhagCMYugTvN6CkJ1iEQoni6Q1SsEwAQRc34XjlTmezcWVM74eMyehy2d7t0XlvwPJzNrHjVMfY/PBzpGSIjIWcYep6FHSRVTPY3cgbLeh7pZbjInyheJg2WjXRowdhXkAkk7pyaV5dBcmYMY5DLs7N75TKhUkchWfhBSs4YwzYqH61l29OQ/wLQbIMklUPFzBs97V2FlOi7BLaSfttrxPB0DQrcjmZ4XbZG/Ji9kOLW3lKpPeBFMqZbHJUSWq/S8HXtKKWDkZ8lbdE3Dlw0lQP+3mWFqsZPXFKNGoTTyOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=boeing.com; dmarc=pass action=none header.from=boeing.com;
 dkim=pass header.d=boeing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=boeing.onmicrosoft.com; s=selector1-boeing-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lUKxEa8icImYZjgIznuWJPeVYke4fgjKIYUS5wDBhOs=;
 b=N3fYyLeUYUJ5QfwXKAJkP7ZAszMbAB6TpndhVax6xsx/DJcl3xtmoi8IDCYcgoYGV4kjH7XoWfq5X0tcadmCtMWEMOm0kGSdRWdxZID4//QEugwxmQsm47v8YqorVR8nOVPvcjl3J6H+4S30kdt16iam+o+fMSzSV9fjvJ8jLmU=
From: "Choi, Anderson" <Anderson.Choi@boeing.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "nathan.studer@dornerworks.com" <nathan.studer@dornerworks.com>,
        "stewart@stew.dk" <stewart@stew.dk>,
        "Weber (US), Matthew L"
	<matthew.l.weber3@boeing.com>,
        "Whitehead (US), Joshua C"
	<joshua.c.whitehead@boeing.com>,
        Juergen Gross <jgross@suse.com>
Subject: Re: Discussion on unexpected behavior of ARINC653 scheduler
Thread-Topic: Discussion on unexpected behavior of ARINC653 scheduler
Thread-Index: AQHbmeKplrDBusQqVUa1MWzskssAYA==
Date: Thu, 20 Mar 2025 21:54:32 +0000
Message-ID: <BN0P110MB2148C8B4E101776B52721CF290D8A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
References: <BN0P110MB214836659525A1FEB86C407C90D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <714d1f40-d627-4d70-b8a6-5e9a13025c32@suse.com>
 <BN0P110MB214848C4FE9474A6C050A7C090D3A@BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM>
 <0158ee4f-635b-4183-a2c8-edc5d3189b27@citrix.com>
In-Reply-To: <0158ee4f-635b-4183-a2c8-edc5d3189b27@citrix.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=boeing.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB2148:EE_|BN0P110MB1883:EE_
x-ms-office365-filtering-correlation-id: 80e67fce-282c-4d67-2683-08dd67f9cc0f
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?di9QY2VKTnlSZXhacXVYenR3UytZdmE4a3NGMFNLZ0xQSWh2emduMkR6VVRL?=
 =?utf-8?B?U01lQVc0cE5QSndZdzVwWEhNMWZPb29obUZUR3BVSTBGejBZZnRoQlZ6V2Nn?=
 =?utf-8?B?YXNqcTRoTklmRzc5WGxWK0phK3U1K2R1U1ppbWJrVHExcUlPME4zQVM4YWRB?=
 =?utf-8?B?Y0VzNEZqNlA3S29WTS9hSFFhRjJKM3l3RUhNcWJYVmQxVysxelYwRG5aMDdn?=
 =?utf-8?B?azMxM0pVUFFpcHpNN3lCM1pxWnJ3dStjZHRPZ3gvbFMrM0hsUGpJNGt4cTBv?=
 =?utf-8?B?cE1iQVFWR2x2U0tZSXhDa1gzY3VsN04rUmgyYnpSRkZsbnR1OUg0MFJqVWNF?=
 =?utf-8?B?dVFpa3Z1YS9zRWxtN3JUS28vSS9XaXU3b0NvRU9JcU5Ob3ZtTzM0Q20zWGd4?=
 =?utf-8?B?aW1sT3pHL3FDOXMrekpKdzZHWnlGRTVKZTJpdHN2OGM5ZmYrbkpPSldibFpx?=
 =?utf-8?B?NEFCcFlTZlh5RnhwWEJkUzVJRXl0ZUgrTDhXdWlPZmJxYWZYUUJJc3kvUCtr?=
 =?utf-8?B?WVMzUEIwa0M4VFJKaVBaZk80NXkyVVRWN3piNEpxQk5MM2Z6aE5CaHhFaHVP?=
 =?utf-8?B?b3Z2Y2ZyUEJrWWN3TGxJaW5ENm1Qbmd4NGpmYm9yaitNM0pHV2FRRk9sWVJr?=
 =?utf-8?B?bnJ6QUx2ekFzSTJzS0NBd1BKdnFVck5JTWY4WHhsNWE3bUFTR0wxOFVBTXRn?=
 =?utf-8?B?YUk3N1VFaGFoVVJ3WklOdk10Z3R2ZWNGNG1NckRxZUFlN3huWjJNR0kyM0VD?=
 =?utf-8?B?UVYvdVhBTUtNTTJkWGFOOVMwQnR6S0k4KzBRZGtqSU1xUmVBejNJNkFmaHo3?=
 =?utf-8?B?UGY2L215TVZRL2tYN29EVDJBUzVMZWd0ZU5jT0wxU3hBUUZwV2owbnVYcVli?=
 =?utf-8?B?Nyt1U1pwbnhWajVLYjhhRktHWWVDWDJ0Um5qTEhweFFvZVA0NEpocng5cUg0?=
 =?utf-8?B?Sk1pb0wvcllzTUhHQTAzeHBxTmk2QzhMVHo4M0lZQmQvNVE1VGtvQ0xLUkVP?=
 =?utf-8?B?ZnZLUmtIUzNWL1FJdnR5bkJxdzg5RUZMa2Z2bEMwcWlETFdsZGg1b2xVZXE4?=
 =?utf-8?B?L1EzWkwrY1RtYnRNV1BiVVFPZm15MWxWWVQ2UnlxL1hHeU1TNHEvY0Vkazk2?=
 =?utf-8?B?YnhBQUpkcXNrZW9YZDhQZkZxZHkxR3g3VU5jWDhmVDlHZGhmcTU3NkNCMVd4?=
 =?utf-8?B?SW5PYzNEdUYxdENudXl6WnVBMnZBZ0FScFdQODNPZXpERWkrUForZTk4OGRs?=
 =?utf-8?B?ZFlMWEMrSHhBWlNXUnJJMUEyTWRmTXpXU2QzYkFDenNYR0ZWakxtcmZmUi96?=
 =?utf-8?B?bENrSDI1YzVkRm1rYzhiWEtEa0pNemNpMDNSRzdmZGcxMURNWmdzUUNiaGVH?=
 =?utf-8?B?TWx1L3R1M24rZUZVeEduNVU4S2pxcWl1QldDdmI2K1BqUzZsRjhoU1JqaWt2?=
 =?utf-8?B?SWRlUCsrZ0ViNEozSjI4N2lZcDQ5bS9GOGQvZEFPWkVlRmZlR0xJVGZwdzJC?=
 =?utf-8?B?N3B4Zm1KaDRIemMvVnRDdzNYWmFZcTAyUHR1bUR1TkJuN0xLOWFKT2laUkhO?=
 =?utf-8?B?VFBUQmVVWHRBZk9xSGhsUVVveFhLaG5GdGlJdWlReks0NTI5aGdIekRPYk1K?=
 =?utf-8?B?YlJjdjhQWjMzMW5vTjBFMFBHTXplQVNmSkVBNnhUcXFOVEZvc25pdEtrR0x4?=
 =?utf-8?B?RXNmN0xnOVI0OUtwM2NmaGxOMnRoMUQxTm1Gb1ZGc25PSmZRQmJVRFk1djhw?=
 =?utf-8?B?TUp4QnZuK0pESGRGQkJzVi9rT1haYS9acmlEd1ZnVmhiS013clRoT0kwLzdX?=
 =?utf-8?B?YVVzNm5sSjBJYUlUbldPblhKdjhib3lJMkJMb3AvWktGU1dOZ0JLVTZxRm16?=
 =?utf-8?B?S0o3M1YxaGUvUDRnOC9uaDIzTWxNYXdVUzJmei9LYUhOZDNJZHVLTGlUWWFK?=
 =?utf-8?Q?wPV0vAlQkm9xtBOjbKqg9TkETD1lb4AF?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QTU0UnRKMnRxSEM2RGIrVE1rTmIzSCtGRk01aXE4cXl1dTE3T1R4UkpjczBu?=
 =?utf-8?B?YWY0MWpQNnRPYTlyYUIwY0Z6MU1HQnZ0MVViSkZJTXlyZHgrUDJNNzB2Zm53?=
 =?utf-8?B?T3F3US94TTFyUU9GMFNicUpWZmYyVTZ4UFByQUs4NmFaSFI5R1RJZjdWNXRR?=
 =?utf-8?B?RGpMOHNQaWxRaTVabjdnZU1hWS83ai9LbVpBUm1xZjdpMzRxNjRMbzlSNVpp?=
 =?utf-8?B?Q3NBK1ozdzVwY1lBTDlFNEduLytBOHRQM0YxeWVHWGZRS0tmWndGYXRma0xl?=
 =?utf-8?B?WWkvNkhvQ0lZamhTL2laTjNBdmZnL2ZRU0VrUklWRjVHMk91TjZhdzlsWnlU?=
 =?utf-8?B?RngxYUwwR1VlbU1IL2M4cHpDeGpyOUhwNmtGekdtcXd3QU10MHU1elJwS3Jn?=
 =?utf-8?B?SktoaW5EalVlNmFBclFuWEhwUDBtZTJvcTU0RTBZU0p1MmZEd2MxbGJRYUVD?=
 =?utf-8?B?WXdqa0FRa0FqUVpORHZXREVYWW5yYmVaSlNodzZFUW5IN3QrMUxyTko1MVFV?=
 =?utf-8?B?YmVxZ1FnMHdIdVVoeFNQRG53T3FsUWZhOVBzMkg2U2tZcmtHbkNXTUZUK2Nm?=
 =?utf-8?B?TlNQZnE5ampVMDF6bmNmNld1SFRYMGVHVHFzRDFMQjNkU2d5aUZ4amVCL2py?=
 =?utf-8?B?c0dCQWFQK01yS0pLSzB3Yk5pRk5DditiUWdJeUkycC9oS0I2dVFDS1JpcVdz?=
 =?utf-8?B?UlR2anpYK3paOHlvcVVRSXYydVE5MzlGNi9qSjlvbVV5c0JEQXpZa3dPWTB4?=
 =?utf-8?B?cXNDaU1ZWFRobXlIV1JOUlZ3V3l6MGlKZzB1ZGp6N1pHdEZIMWg4bzRZZWt6?=
 =?utf-8?B?dkpCdFBueWF3ZlpPVjZTN2NrUVdDTGtreGhsUG43OG45OXhobzdKanp2bzQv?=
 =?utf-8?B?NlBDVjZjL3JhUUtRdzFnYmRyVzdyeHU5azFJWE02OVArUTdkSk9nd090d21C?=
 =?utf-8?B?enB0dlR5NVFFS3BXbGUyU3NicXRsYUZTQ2xRZndQU21SRmpaTjg5aVQyeFNW?=
 =?utf-8?B?V2pobnBFdVpUY29WRkVqMGN5UGtMZi9WRHFKWnNZTHdoeFVnakZBdTlOcGxt?=
 =?utf-8?B?REZxOUVRTmpNaFIxVGxkOEJMS3B6ZWw0MWxtVzRNUXl0clhiMyt0NGUvR0Jp?=
 =?utf-8?B?VUtGdEZLNlNZWU1qU2VGNXZkK3h0VXMrSm9ZMUV5empueEtnK2xhYjBtN1cz?=
 =?utf-8?B?azRXLzVaeEhlZ2ljTnJhWTMvS1hYc1FOUFlNQjhlWGMrS01LN1lPQWdCM011?=
 =?utf-8?B?U0lqMzhGMU44WDFTZm5ZNGJ0ZCtzbTY4WTEzTlhKcXlwMlpOWW9UZXJRaVds?=
 =?utf-8?B?WU5jRXBjc09wZUpMWVB1RmE1cWE3WWNlODF4WmFIUXBUQktNYktYanZ6Yldr?=
 =?utf-8?B?WFpqbmEwYkIvN3pXRmN6SHJhTXhuVEUvSEN5VmlRN2VCVG0yK1FHNDJpYnBD?=
 =?utf-8?B?ZlVkdzRGSXNzTXB4ZTFEQmluUnpIK3BkYmZpQ0R6U2RidUUrOExZNkNqUU10?=
 =?utf-8?B?U1pNbFdOb1d0WEQ5aWd1UUVoWkhSLzBiSXNmMUZ5c0tCUXdNeGV2cm1hcmZN?=
 =?utf-8?B?dGpUTTNUOWJSUnFoM1BQeVBzaHVLVGJjcVVQbUorVjVQQUc4NFBEa0dIZHJw?=
 =?utf-8?B?TEtrRlIzSUlJTWhKR0I1WVV0eVhybTd6ZktTOHNZTk1zYmFhMkZJSXJocXl0?=
 =?utf-8?B?TVc0c1pRRXJYQ2x4S2d6RmR1bkE4NWJ4SGs0dDFEd3B5d2w5OVpsT3JBYTlS?=
 =?utf-8?B?S1FLTmxrSW5DemN1cDRMMkJjZVFIUjFwNE90MU56N0ZXdVBwYU9vYW9mK3Ba?=
 =?utf-8?B?aEx2RUJqT01mOWl3TzluMXhlSEd4Uzl4OGpwY0Q2R2VyZ3pFeTRvQ3Uyell2?=
 =?utf-8?B?eHFxY0h6WVEwenZoakdha1N1QkE3cTliMGRva2pnazM0dWJ0QW9kTnd5UnQ0?=
 =?utf-8?B?eWRUMHVoZGp3eEg2eU1LdzV5TkVnNlZkaUJjQktJOERqTnlYWGRELzJpbWQr?=
 =?utf-8?B?YTNBOUQzQjBpNkM4L09uWTBDWlNsclJkSGcwUkUrUW5JK1VYcDZ5RTA2TXJs?=
 =?utf-8?Q?v77aIT?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB2148.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 80e67fce-282c-4d67-2683-08dd67f9cc0f
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2025 21:54:32.4050
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bcf48bba-4d6f-4dee-a0d2-7df59cc36629
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1883
X-OriginatorOrg: boeing.com
X-TM-AS-GCONF: 00

QW5kcmV3LA0KDQo+IEVYVCBlbWFpbDogYmUgbWluZGZ1bCBvZiBsaW5rcy9hdHRhY2htZW50cy4N
Cj4gDQo+IE9uIDEzLzAzLzIwMjUgOToyNyBhbSwgQ2hvaSwgQW5kZXJzb24gd3JvdGU6DQo+PiBN
YXkgSSBrbm93IHdoZW4geW91IHRoaW5rIGl0IHdvdWxkIGJlIG1haW5saW5lZD8gQW5kIHdpbGwg
aXQgYmUgYXBwbGllZCB0bw0KPiBhbGwgYnJhbmNoZXMsIGxpa2UgNC4xOSBhbmQgNC4yMD8NCj4g
DQo+IEZZSSwgYmFja3BvcnRzIG9mIHRoaXMgYW5kIHRoZSB4ZnJlZSgpIGJ1ZyBoYXZlIGp1c3Qg
aGFwcGVuZWQsIGJhY2sgdG8gNC4xOC4NCj4gDQo+IH5BbmRyZXcNCg0KVGhhbmtzIGEgbG90IGZv
ciBoZWxwaW5nIHRoaXMgb3V0LiBJIGNhbiBzZWUgdGhlbSBwcm9wYWdhdGVkIHRvIDQuMTkgYW5k
IDQuMjAgYXMgd2VsbC4NCg0KUmVnYXJkcywNCkFuZGVyc29uDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 20 23:05:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Mar 2025 23:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923238.1326846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvOxJ-00020q-PZ; Thu, 20 Mar 2025 23:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923238.1326846; Thu, 20 Mar 2025 23: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 1tvOxJ-00020j-Mw; Thu, 20 Mar 2025 23:05:41 +0000
Received: by outflank-mailman (input) for mailman id 923238;
 Thu, 20 Mar 2025 23:05: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=AcMq=WH=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tvOxG-00020d-RO
 for xen-devel@lists.xenproject.org; Thu, 20 Mar 2025 23:05:39 +0000
Received: from mail-24418.protonmail.ch (mail-24418.protonmail.ch
 [109.224.244.18]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d52c2b59-05df-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 00:05:36 +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: d52c2b59-05df-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742511934; x=1742771134;
	bh=piURTHdYEjsZmKUI1bxaHk3j94VW4TYJsXGfUuvwE5c=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=hmO8lKOjg3WcgWAfJLojPauu6yQ0w+68NgePUOOKoTkd0ujSqOK8/USmGKRg7DbvA
	 EPl/WZyujYG6HlaPYg80MoUO46lOtIO7lI73uevCAIA4J8zRnSUxgn298EJmBXEu+U
	 P7PWyBUi4YkqnjiDdq4tOehjjP8DMoyvyHf7gjrkvAPxl0H2pcDTcp/RNezgc1nTzF
	 BQzBCrfGXsaP1Z2uKE5Qdtjc4aHQf4Q4sA+JTSfcfM0nq3Ss3FkcMCcwMi9vebulON
	 DDz/ID9ivu1LQejnPIsJNe8b7ROQTCzGLfKCLWnfKY8B7wQPF140zCQitTpUMgvRvX
	 Mw3l8UZrMGtjA==
Date: Thu, 20 Mar 2025 23:05:29 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
Message-ID: <20250320230339.3897874-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 3f5e60507213429bded9eba9c675cdc652f398fd
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
range as per [1]. This macro replaces hardcoded checks against the
open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
the code a bit.

[1] Intel SDM volume 3A
    Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
    Section "Valid Interrupt Vectors"

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes v1->v2:
- update APIC_VECTOR_VALID to a macro w/ parameter
- CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/1727330=
658
- Link to v1: https://lore.kernel.org/xen-devel/20250315010033.2917197-4-dm=
ukhin@ford.com/
---
 xen/arch/x86/cpu/mcheck/mce_intel.c |  3 +--
 xen/arch/x86/hvm/vlapic.c           | 10 +++++-----
 xen/arch/x86/include/asm/apicdef.h  |  1 +
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/=
mce_intel.c
index 07b50f8793..1e52b1ac25 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -135,8 +135,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *c)
      * BIOS has programmed on AP based on BSP's info we saved (since BIOS
      * is required to set the same value for all threads/cores).
      */
-    if ( (val & APIC_DM_MASK) !=3D APIC_DM_FIXED
-         || (val & APIC_VECTOR_MASK) > 0xf )
+    if ( (val & APIC_DM_MASK) !=3D APIC_DM_FIXED || APIC_VECTOR_VALID(val)=
 )
         apic_write(APIC_LVTTHMR, val);
=20
     if ( (msr_content & (1ULL<<3))
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 065b2aab5b..993e972cd7 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -123,7 +123,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigne=
d int err_bit)
              * will end up back here.  Break the cycle by only injecting L=
VTERR
              * if it will succeed, and folding in RECVILL otherwise.
              */
-            if ( (lvterr & APIC_VECTOR_MASK) >=3D 16 )
+            if ( APIC_VECTOR_VALID(lvterr) )
                 inj =3D true;
             else
                 set_bit(ilog2(APIC_ESR_RECVILL), &vlapic->hw.pending_esr);
@@ -136,7 +136,7 @@ static void vlapic_error(struct vlapic *vlapic, unsigne=
d int err_bit)
=20
 bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec)
 {
-    if ( unlikely(vec < 16) )
+    if ( unlikely(!APIC_VECTOR_VALID(vec)) )
         return false;
=20
     if ( hvm_funcs.test_pir &&
@@ -150,7 +150,7 @@ void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec,=
 uint8_t trig)
 {
     struct vcpu *target =3D vlapic_vcpu(vlapic);
=20
-    if ( unlikely(vec < 16) )
+    if ( unlikely(!APIC_VECTOR_VALID(vec)) )
     {
         vlapic_error(vlapic, ilog2(APIC_ESR_RECVILL));
         return;
@@ -523,7 +523,7 @@ void vlapic_ipi(
         struct vlapic *target =3D vlapic_lowest_prio(
             vlapic_domain(vlapic), vlapic, short_hand, dest, dest_mode);
=20
-        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
+        if ( unlikely(!APIC_VECTOR_VALID(icr_low)) )
             vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
         else if ( target )
             vlapic_accept_irq(vlapic_vcpu(target), icr_low);
@@ -531,7 +531,7 @@ void vlapic_ipi(
     }
=20
     case APIC_DM_FIXED:
-        if ( unlikely((icr_low & APIC_VECTOR_MASK) < 16) )
+        if ( unlikely(!APIC_VECTOR_VALID(icr_low)) )
         {
             vlapic_error(vlapic, ilog2(APIC_ESR_SENDILL));
             break;
diff --git a/xen/arch/x86/include/asm/apicdef.h b/xen/arch/x86/include/asm/=
apicdef.h
index 49e29ec801..7b431190d2 100644
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -78,6 +78,7 @@
 #define=09=09=09APIC_DM_STARTUP=09=090x00600
 #define=09=09=09APIC_DM_EXTINT=09=090x00700
 #define=09=09=09APIC_VECTOR_MASK=090x000FF
+#define=09=09=09APIC_VECTOR_VALID(x)=09(((x) & APIC_VECTOR_MASK) >=3D 16)
 #define=09=09APIC_ICR2=090x310
 #define=09=09=09GET_xAPIC_DEST_FIELD(x)=09(((x)>>24)&0xFF)
 #define=09=09=09SET_xAPIC_DEST_FIELD(x)=09((x)<<24)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Fri Mar 21 06:48:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 06:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923337.1326873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvWAl-0005Cv-8b; Fri, 21 Mar 2025 06:48:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923337.1326873; Fri, 21 Mar 2025 06: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 1tvWAl-0005Co-4t; Fri, 21 Mar 2025 06:48:03 +0000
Received: by outflank-mailman (input) for mailman id 923337;
 Fri, 21 Mar 2025 06:48: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvWAj-0005CU-41
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 06:48:01 +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 6de326ee-0620-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 07:48:00 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso10792195e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 23: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-43d440ed786sm68119455e9.38.2025.03.20.23.47.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 23:47: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: 6de326ee-0620-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742539680; x=1743144480; 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=qSpNGjUIZOKJHeo46MPPnnJw/URyrGIiw+c3ioSYQo8=;
        b=V2Lacqg2OSU9rCfCFKXnkizyQ09PjJqh63vMluwdFrx5F9PRRCL0fzG+cKtdTWSG+5
         muk56x6wfXoh5ksBKotuCbP6kb4qLN+3mcn3OhFazIBjk0mhgrk0OoIQTBFwbPiLySq2
         CtgEZ1dLhDZvDJVdgs3uo4DlRidax4d5be0dAxzlxKMfhpflNAeqzV9XTsKS4xuXRWbu
         oC0QVyxOm9m/xabt5D5rfk959Vhan4l877j1ze4mDvPBbyV0yAakTs4AW7KzZcT96B0g
         A0S6oGxJfEfx/xhNe62hrKvDYvJXuQk0Q6aL0H8tqZqamMuZHVCQX6acTFPyaxTG6gzF
         1zBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742539680; x=1743144480;
        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=qSpNGjUIZOKJHeo46MPPnnJw/URyrGIiw+c3ioSYQo8=;
        b=RDRPtmiR68k0ZzbZhd1+r+C4rxOZe86KlGFHs+grjcbUFLp2GfiDARz6xbU92IezDK
         LuStvdCHKWGUxFQwOdlMMP8LvS4vrfQcj5FuxbVpF2O73FD218MDV/I2FpAW9oiDr0Pm
         SIv6+MvWLEXW10ZMxWj4u2zWSgKacPAderoYtn87wOVMppf5ocommdFfRJ1rEbeDn1uG
         nKdAK9tSkgnF/mxAbwykkSj6SHnSBBxq1wQ8etDNVkdGe68kPR4gLnIiFzWnXVGVObYO
         t3jcRiUFOmks9EebKIxQDYDKpR4SOUn+TMgkNm5EXC4xBXt4IZn71Ww7e3dAX5oOSg4I
         t9Lw==
X-Forwarded-Encrypted: i=1; AJvYcCVC4R8LHi7xO4hr7npRkGKukaxyr5R8tmoIxExsVbiQ+slKFgKocv8sa0xawc4Hw96pQER854v4ogw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzuoCD1nSlcCTHp9u2raGAnPbCSTN1l7RJf7T9uGvs1zUKcJ5XO
	UINPOGrf/lJGDBtNQSjDbYmGvCnMPHOka1kC1nWja/JGxJ6Xd/z6fWW6iLQkWA==
X-Gm-Gg: ASbGncvcf/TZmb7YBKRKzmuS1ORIVvDmFIxOPlk/J9ImmxbpjLT8SoAxE7XxKl937cD
	Siz03MNlS2rDhqGR/MT+0+RMPmnSWyHNuaqj0KWYERyNnOFu1U60GlcX5WJX9WJvSGaW+J5OQdt
	qjhSfToDCWSWrxjfkBLmnnDonAKc6YYY3gu4ngQqVT2G8GTgQchnz0pBClWyXRN8QyywxsoCF+u
	7Lxbc73Jeyl7q06abSnGYV209WUoyxD+YkjpQwTbxdkagIdwlw97t2XUlUkinMA87NqiuXiDYMd
	o242xXzU21oUhLx4D3wFc3Yi/Ww2is6ujMVBIL73TxURF21XSdGU+xbMKpSIESxsjrpu0BNv74S
	X9g7tCC25tXz1Md2AzeAEul/PNzv3qQ==
X-Google-Smtp-Source: AGHT+IH9T7/+vI7NqalVDK0rSPzQFwRpZ1zNOdt9NyXrR/Sx405tpkF26gLLWbDKe/86B+Mck07VzQ==
X-Received: by 2002:a05:600c:83cf:b0:43c:f8fc:f69a with SMTP id 5b1f17b1804b1-43d509e6492mr16793275e9.4.1742539679480;
        Thu, 20 Mar 2025 23:47:59 -0700 (PDT)
Message-ID: <56e777aa-ab48-4f3f-bfae-5ef6dcba7486@suse.com>
Date: Fri, 21 Mar 2025 07:47:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6] Avoid crash calling PrintErrMesg from efi_multiboot2
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20250217162659.151232-1-frediano.ziglio@cloud.com>
 <Z7jf_YojU9tQ1Or7@mail-itl>
 <CACHz=Zierjby+_Q93dFeO5mjMG1aiSpyHvDshRK6=ZHY5bH-6A@mail.gmail.com>
 <Z7xxQHVdSGwig4hb@mail-itl>
 <CACHz=ZgHxvCJQyJe_NJFh3YYcuW0sey+qcOEv0O-XxC8daTo+A@mail.gmail.com>
 <Z79jhZ_BGEC6DYl4@mail-itl> <086f7e05-2cab-4a53-8ecb-dff7421e38bc@suse.com>
 <CACHz=ZjtjMyv5OmUT8dNHAzqrw5c7ij58quo1SuDc2ZBSjQRmw@mail.gmail.com>
 <CACHz=ZjLq8vVLtLL40DjcLV5wwxyatLdy4g3rq1ifSVcnATr8g@mail.gmail.com>
 <cd29d79c-fa6a-48a7-aefe-7e8abba9bf95@suse.com>
 <CACHz=ZjW8_sbHUAZtPXeG+Nc3CdKFgESkg2n3r7MWTqPBcWWBA@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: <CACHz=ZjW8_sbHUAZtPXeG+Nc3CdKFgESkg2n3r7MWTqPBcWWBA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 21:10, Frediano Ziglio wrote:
> On Thu, Mar 20, 2025 at 3:15âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 20.03.2025 15:33, Frediano Ziglio wrote:
>>> On Thu, Mar 6, 2025 at 3:02âŻPM Frediano Ziglio
>>> <frediano.ziglio@cloud.com> wrote:
>>>>
>>>> On Thu, Mar 6, 2025 at 2:26âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>>>>
>>>>> On 26.02.2025 19:54, Marek Marczykowski-GĂłrecki wrote:
>>>>>> On Mon, Feb 24, 2025 at 02:31:00PM +0000, Frediano Ziglio wrote:
>>>>>>> On Mon, Feb 24, 2025 at 1:16âŻPM Marek Marczykowski-GĂłrecki
>>>>>>> <marmarek@invisiblethingslab.com> wrote:
>>>>>>>>
>>>>>>>> On Mon, Feb 24, 2025 at 12:57:13PM +0000, Frediano Ziglio wrote:
>>>>>>>>> On Fri, Feb 21, 2025 at 8:20âŻPM Marek Marczykowski-GĂłrecki
>>>>>>>>> <marmarek@invisiblethingslab.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On Mon, Feb 17, 2025 at 04:26:59PM +0000, Frediano Ziglio wrote:
>>>>>>>>>>> Although code is compiled with -fpic option data is not position
>>>>>>>>>>> independent. This causes data pointer to become invalid if
>>>>>>>>>>> code is not relocated properly which is what happens for
>>>>>>>>>>> efi_multiboot2 which is called by multiboot entry code.
>>>>>>>>>>>
>>>>>>>>>>> Code tested adding
>>>>>>>>>>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
>>>>>>>>>>> in efi_multiboot2 before calling efi_arch_edd (this function
>>>>>>>>>>> can potentially call PrintErrMesg).
>>>>>>>>>>>
>>>>>>>>>>> Before the patch (XenServer installation on Qemu, xen replaced
>>>>>>>>>>> with vanilla xen.gz):
>>>>>>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>>>>>>>>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Apic ID - 00000000 !!!!
>>>>>>>>>>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
>>>>>>>>>>>   RIP  - 000000007EE21E9A, CS  - 0000000000000038, RFLAGS - 0000000000210246
>>>>>>>>>>>   RAX  - 000000007FF0C1B5, RCX - 0000000000000050, RDX - 0000000000000010
>>>>>>>>>>>   RBX  - 0000000000000000, RSP - 000000007FF0C180, RBP - 000000007FF0C210
>>>>>>>>>>>   RSI  - FFFF82D040467CE8, RDI - 0000000000000000
>>>>>>>>>>>   R8   - 000000007FF0C1C8, R9  - 000000007FF0C1C0, R10 - 0000000000000000
>>>>>>>>>>>   R11  - 0000000000001020, R12 - FFFF82D040467CE8, R13 - 000000007FF0C1B8
>>>>>>>>>>>   R14  - 000000007EA33328, R15 - 000000007EA332D8
>>>>>>>>>>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
>>>>>>>>>>>   GS   - 0000000000000030, SS  - 0000000000000030
>>>>>>>>>>>   CR0  - 0000000080010033, CR2 - FFFF82D040467CE8, CR3 - 000000007FC01000
>>>>>>>>>>>   CR4  - 0000000000000668, CR8 - 0000000000000000
>>>>>>>>>>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
>>>>>>>>>>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
>>>>>>>>>>>   GDTR - 000000007F9DB000 0000000000000047, LDTR - 0000000000000000
>>>>>>>>>>>   IDTR - 000000007F48E018 0000000000000FFF,   TR - 0000000000000000
>>>>>>>>>>>   FXSAVE_STATE - 000000007FF0BDE0
>>>>>>>>>>>   !!!! Find image based on IP(0x7EE21E9A) (No PDB)  (ImageBase=000000007EE20000, EntryPoint=000000007EE23935) !!!!
>>>>>>>>>>>
>>>>>>>>>>> After the patch:
>>>>>>>>>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>>>>>>>>>   Test message: Buffer too small
>>>>>>>>>>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>>>>>>>>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>>>>>>>>>
>>>>>>>>>>> This partially rollback commit 00d5d5ce23e6.
>>>>>>>>>>>
>>>>>>>>>>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI platforms")
>>>>>>>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>>>>>>>>
>>>>>>>>>> I tried testing this patch, but it seems I cannot reproduce the original
>>>>>>>>>> failure...
>>>>>>>>>>
>>>>>>>>>> I did as the commit message suggests here:
>>>>>>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commit/ca3d6911c448eb886990f33d4380b5646617a982
>>>>>>>>>>
>>>>>>>>>> With blexit() in PrintErrMesg(), it went back to the bootloader, so I'm
>>>>>>>>>> sure this code path was reached. But with blexit() commented out, Xen
>>>>>>>>>> started correctly both with and without this patch... The branch I used
>>>>>>>>>> is here:
>>>>>>>>>> https://gitlab.com/xen-project/people/marmarek/xen/-/commits/automation-tests?ref_type=heads
>>>>>>>>>>
>>>>>>>>>> Are there some extra condition to reproduce the issue? Maybe it depends
>>>>>>>>>> on the compiler version? I guess I can try also on QEMU, but based on
>>>>>>>>>> the description, I would expect it to crash in any case.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Did you see the correct message in both cases?
>>>>>>>>> Did you use Grub or direct EFI?
>>>>>>>>>
>>>>>>>>> With Grub and without this patch you won't see the message, with grub
>>>>>>>>> with the patch you see the correct message.
>>>>>>>>
>>>>>>>> I did use grub, and I didn't see the message indeed.
>>>>>>>> But in the case it was supposed to crash (with added PrintErrMesg(),
>>>>>>>> commented out blexit and without your patch) it did _not_ crashed and
>>>>>>>> continued to normal boot. Is that #PF non-fatal here?
>>>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>>    I tried again with my test environment.
>>>>>>> Added the PrintErrMesg line before efi_arch_edd call, I got a #PF, in
>>>>>>> my case the system hangs. With the fix patch machine is rebooting and
>>>>>>> I can see the message in the logs.
>>>>>>> I'm trying with Xen starting inside Qemu, EFI firmware, xen.gz
>>>>>>> compiled as ELF file. Host system is an Ubuntu 22.04.5 LTS. Gcc is
>>>>>>> version 11.4.
>>>>>>
>>>>>> My test was wrong, commenting out blexit made "mesg" variable unused.
>>>>>> After fixing that, I can reproduce it on both QEMU and real hardware:
>>>>>> without your patch it crashes and with your patch it works just fine.
>>>>>> While there may be more places with similar issue, this patch clearly
>>>>>> improves the situation, so:
>>>>>>
>>>>>> Acked-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>>>>>
>>>>> This had to be reverted, for breaking the build with old Clang. See the
>>>>> respective Matrix conversation.
>>>>
>>>> To sum up the failure is:
>>>>
>>>>     clang: error: unknown argument: '-fno-jump-tables'
>>>
>>> Now that the minimum clang version supports this option, can this
>>> change be applied?
>>
>> Not sure. I for one would expect that we actively reject building with
>> too old tool chains then, which is yet to be carried out. Plus I think
>> you'd want to re-submit, with all tags dropped. The change was wrong to
>> go in at that earlier point, and hence any such tags weren't quite
>> accurate.
> 
>   not sure what you intend with "tags" in the above sentence. Git tags ?

Acks and R-b-s.

> Not sure we need to carry on using old tool chains if we decide to
> bump the minimal versions.

I fear I don't understand this remark in this context. In any event,
Andrew meanwhile has sent a patch to the effect of what my comment was
saying.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 06:52:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 06:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923348.1326882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvWF7-0007WG-Ny; Fri, 21 Mar 2025 06:52:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923348.1326882; Fri, 21 Mar 2025 06: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 1tvWF7-0007W9-Ki; Fri, 21 Mar 2025 06:52:33 +0000
Received: by outflank-mailman (input) for mailman id 923348;
 Fri, 21 Mar 2025 06: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvWF6-0007W0-Gz
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 06:52:32 +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 0f927b8d-0621-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 07:52:31 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-38a25d4b9d4so768512f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 20 Mar 2025 23:52: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-3997f9a31a7sm1534605f8f.23.2025.03.20.23.52.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 20 Mar 2025 23:52: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: 0f927b8d-0621-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742539951; x=1743144751; 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=oFBVHx9ww6oNU9A9k2GSmApwKYbwXdRL1usCo8RhrhQ=;
        b=F+/iDquKqZqjz03UvbZV8tR97ps8GAnVdSsLyQnx/9h9YCZAtldB6iDczw886QlnxK
         mvSFfQICQyDoM9xtqJmW9jY6Ks7nNJOqE8HZFOnbKBPgv2yIuBrmt9AQpdyd/Sfcr7vN
         Kx19bcyv+sfMR2TxvLU87Xx7bjjVkC6SJNGCjACIOE4SrSg8TPZz090XsdrC/7vku9ZG
         KXjoP+plN1KCZvxw2A8dwn347oZr0RHRLyYoEz7Dxs6eTyJzjby+JAsDZTv430LOTrGV
         Ms+EtMEMsE6VPgfuI2x96noNN5Od8hiJa16nfP9/KQvo3XH4w3/sldT/NwsLaJ2mBC+Y
         lbrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742539951; x=1743144751;
        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=oFBVHx9ww6oNU9A9k2GSmApwKYbwXdRL1usCo8RhrhQ=;
        b=Cbl11oWfcwXfJZJ30Bfjm/p/gwi+VB9KB/czlf/QBi+uuR75jqJq2uQLxsHhA3gQy4
         OFSrz362JlCC9khkAthVPSsbwzmu0r9EY/gRplYXx+fWucU+pYXO3PI699PSWjz1stbU
         K2HKKSdsvcJkcP4ajgqcZlpkOLaG5Zn/7TYCX5OVr4/s6AvvP9xU7AN3q9Ob9KLgQjdg
         LK/3sQsYRsqcUdB3wOgHCMERUZUadaN9Gx3olIm8t70NgZG+yyaRK3GpnPyBMX5mGGEP
         IfovzuwhZqUamfk/eBDyT0gniTjG6jBGy0VmvqniZjrifUdlmBYPm9HzVYLYsvyA2k45
         LXAA==
X-Forwarded-Encrypted: i=1; AJvYcCWYmgxqXwn74hA4TzLxMzL2V2fDL7w39vsbA04To4mlsl45qpNBJ9LyVHGpR89c8P6K/IlP6lVEwvM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYyCvk+21uyIP+kF5+4Pos83fl9AHOEqw2B4lIpB6ibGsBC3qS
	DXf8C5Jidlh8oJsVcLvzYin7YtTSJaGp9bldyjNWKxTq/vX9mnFalWWssmj/Eg==
X-Gm-Gg: ASbGnct57Uu8WeGxygt9KnsAPLOmzDo5b7LBMg3tG1npwYjVKCFoVszcNOncFnNs2Qt
	a60oA+kLZh8NCzeRUL3OGvsirD1GGkBSvOCvkKrapSvM/gGRhp+xo+bz+N7QG5y7OpI9u/Gx7fb
	jxBacnDXrgFFp04KYjecple4Jciln1WJegVF9jdDPO0HpRXlBBibpBDqVvsbKamH94sTvdVA4Tk
	ztseHpFufr4DnD3XhMq83Bzc+TvvSOkcINqf7OepfycXNiT1IP9DTEbfx2haDCkxSEiKaGcztXx
	5nF3gDvVfmCyVqUaBb1vK/avERlgq8rmT3oeceg3GN5BEsda2AkgFUd0DzQ6mwlWdbbU4SrEflL
	2ghJQmNJSpa3qEwzyARkAqTdb9Pdacg==
X-Google-Smtp-Source: AGHT+IEat8PQc+HKfLEcTs9pgU3vrU60xjZgWybvO3nZuAL+vmFJK3LoOhncKLJA0dDevspYNXPf0g==
X-Received: by 2002:a05:6000:42c8:b0:391:4873:7943 with SMTP id ffacd0b85a97d-3997f92901emr1338767f8f.32.1742539950916;
        Thu, 20 Mar 2025 23:52:30 -0700 (PDT)
Message-ID: <c2923773-ae95-4baa-a441-6bedc25be32f@suse.com>
Date: Fri, 21 Mar 2025 07:52:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/traps: Introduce early_traps_init() and simplify
 setup
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-5-andrew.cooper3@citrix.com>
 <801007e0-2c02-48f8-856d-8f06eb698fb5@suse.com>
 <29d645e3-f8ae-4f55-8371-aa67da295ff8@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: <29d645e3-f8ae-4f55-8371-aa67da295ff8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2025 18:56, Andrew Cooper wrote:
> On 18/03/2025 3:26 pm, Jan Beulich wrote:
>> The sole dependency is percpu_init_areas(),
>> which runs - as even visible from patch context here - ahead of
>> early_traps_init().
> 
> percpu_init_areas() isn't even a dependency.Â  Notice how it only starts
> from CPU1.Â  CPU0 (which is what this_cpu() refers to in both of these
> functions) is correct (i.e. 0) at build time.

Oh, right.

> I still intend to remove percpu_init_areas().Â  It's all build-time
> constant; it just needs doing by the assembler, rather than the
> compiler, as (-(long)__per_cpu_start) is not an integer constant expression.

Except that this value also cannot be expressed by a relocation, afaict,
so the assembler would choke when trying to write the object file. (Same
for x86'es alternative initializer.)

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 07:32:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 07:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923360.1326893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvWrg-0007FE-Lt; Fri, 21 Mar 2025 07:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923360.1326893; Fri, 21 Mar 2025 07: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 1tvWrg-0007F7-Ib; Fri, 21 Mar 2025 07:32:24 +0000
Received: by outflank-mailman (input) for mailman id 923360;
 Fri, 21 Mar 2025 07:32: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvWrg-0007F1-0N
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 07:32:24 +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 a04aec5d-0626-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 08:32:21 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-390e3b3d3f4so962849f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 00:32: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-3997f9e6450sm1614814f8f.70.2025.03.21.00.32.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 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: a04aec5d-0626-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742542341; x=1743147141; 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=ydoh6TK36mdQb4Y362sVcQIU7fJb2rErrQh0V8h4DX8=;
        b=FfkI6hVA8iKH61od9JkCFNmSlNUhhu0fAR6E582LS1A20jOKQB7C50M3aPSuT8m9z8
         yGylXeXNgY809JbqqGi6MCEPw2pBtuGMgqHrWKPNXOpxfVtBvQdUQpdK1vuaQwdlWOz8
         eW9u+dfR+Eo2/mlMX9+pN9wxCjlS5MeU9VSFqOxJRbBNHvgNBhk/gJJ/OPPFDC3GIMXM
         Sk2V0RO1Wi5il9EDD31ZSFHeXMSOdh6XSWTuOps+Dqd5AfgHC62gt9pDKBpS5U5vjib5
         zUMnRsR4rmqw0eB+SeIJ1jRq3lsFxnEZtz2gl2x43bIOVlDQwLO/X3hyJSrKMr6o/ll7
         owSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742542341; x=1743147141;
        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=ydoh6TK36mdQb4Y362sVcQIU7fJb2rErrQh0V8h4DX8=;
        b=JFkUayuNApJwPTTgOWQT/63elM1xCU55o1vj/aPX7MPEKPXvtZLj0UNNqeaLfJecOt
         0bfjZID/dJpTqeIU4GHGRCfsUMyoNyDGSoiqZPTsTR+2xF5hBskzSMb9TS+T6bb2lCcz
         P/NE0bweRklzkGIggKNvx462chpNqNFFm0a+AAEF7jJBjjWpK94meWmyC+heW9OcCjFX
         G0iwh/CRznnbQofafE41xnvDUWbOpT3BThCucJP6kOtH1QKlAatZR+DTMribmQCFFqod
         LnJPdxsAtKrEDiDG3CZuBlXIhwXvHIrcgWjfPbvFRU8JrDDWUu5XtsJn7L8HUCBySCfA
         QkVw==
X-Forwarded-Encrypted: i=1; AJvYcCXzyCKtmG0pt8FV+fq1MJdi4i62JGc8giz/IP1Vnb4Lwn9XjQ6vNGgzsWbvg05R+xaBRTr505X+e7s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwF2bTT3tG4BQZrHio6xlqUPMbezTYSV4ZOxjlKitlwu/ExdhBQ
	EAt75Jv5DEFnNlZyAtmL7of2T6TRe/pKoLJmwZzioKwfaamyPY4EK8BoXQ9ZUg==
X-Gm-Gg: ASbGncvt19JBTlZPuSjUFo7rxZkM7BPT5sKUpMDDcISvOvVjdWSM8Tfufj+LhiQFFBO
	CCBG/8/d9vHhuTpJ1EIMBxGajY2x62tP5oaK58oQCUJTSQy2Ea3Flj6gRA8Z2puiaeA+8AZA5CC
	cLvXVuEmg++x9ZtJB9UPsXIreSzmGIFiGV9Jw0sIFLqYTCGZBhyfge0mY07gZJSaaiUi8s+NtrV
	z5c7pvf6AbxxwRHDhIhPloXPzPfsHcDBqDZkb2tww474EEuD8mKjg/ESaZijKvFPsNngcqcXDQQ
	IdKG/Rlv4BsBwXV8T3fsU8coGyVT1cpjZQ80PXol3F0rEc4rAO2oS2QSsl7273eARYkrzUUmgtg
	mo/LOy/VZRYXW5lepUTwqCBOMBZ642Q==
X-Google-Smtp-Source: AGHT+IGfNK0dwYmICAGa9QKqAncQ1ULOnwm2nisMX2bQeiN7d9cc+MlJL9UhDKwSLmIoBMYkJbF8Vw==
X-Received: by 2002:a05:6000:178c:b0:391:48f7:bd8a with SMTP id ffacd0b85a97d-3997f908c46mr1482357f8f.30.1742542341212;
        Fri, 21 Mar 2025 00:32:21 -0700 (PDT)
Message-ID: <f1222c54-5a21-4266-bff1-292d12154b2d@suse.com>
Date: Fri, 21 Mar 2025 08:32:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] x86/traps: Introduce early_traps_init() and
 simplify setup
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: <20250317192023.568432-5-andrew.cooper3@citrix.com>
 <20250320201732.84094-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: <20250320201732.84094-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.03.2025 21:17, Andrew Cooper wrote:
> Something I overlooked when last cleaning up exception handling is that a TSS
> is not necessary if IST isn't configured, and IST isn't necessary until we're
> running guest code.
> 
> Introduce early_traps_init(), and rearrange the existing logic between this
> and traps_init() later on boot, to allow defering TSS and IST setup.
> 
> In early_traps_init(), load the IDT and invalidate TR/LDTR; this sufficient
> system-table setup to make exception handling work.  The setup of the BSPs
> per-cpu variables stay early too; they're used on certain error paths.
> 
> Move load_system_tables() later into traps_init().  Note that it already
> contains enable_each_ist(), so the call is simply dropped.
> 
> This removes some complexity prior to having exception support, and lays the
> groundwork to not even allocate a TSS when using FRED.
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Mar 21 08:00:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 08:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923375.1326903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvXIb-0004cj-RW; Fri, 21 Mar 2025 08:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923375.1326903; Fri, 21 Mar 2025 08:00: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 1tvXIb-0004cc-Nd; Fri, 21 Mar 2025 08:00:13 +0000
Received: by outflank-mailman (input) for mailman id 923375;
 Fri, 21 Mar 2025 08:00: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvXIa-0004cV-N6
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 08:00:12 +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 8387d6ac-062a-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 09:00:11 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-ac3eb3fdd2eso113709866b.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 01:00:11 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebcd0c74b9sm873693a12.62.2025.03.21.01.00.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 01:00: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: 8387d6ac-062a-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742544011; x=1743148811; 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=vjjhz+0BKJZc+PM8VAF41DpdlFYjkYGT1L08hZsgtuI=;
        b=TUn4wVF5RqwDv1/MTn14B2aOMjGbfC1n1uu27v1C6NRSOB4StMWXpZ/1l9cjDbZGmn
         EeQADTQI08QrC2cuy68cv0N6FL1zewSqe3rNuHhjB4TEd2uTE2J6mPh4FT5mJXZH15xT
         AXzkQ3FiUNTNX7Ix5TpkeLBC+xH/093Z3PW00m+6bY857vuG+HPlIa20dgRS2JjMDBQr
         jZI66KFMmflg43RupYBt8NryxmSBeYYiFS5c78Gznql2BO+oXFu2pZvm/W1+tNesTnTx
         JCnPVnL9xdr+pF+hjXMXm/cACMxwX9ijYwRSGTx6AcM95bYlL7uCbv7C4h5RfIy1pe4D
         D0vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742544011; x=1743148811;
        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=vjjhz+0BKJZc+PM8VAF41DpdlFYjkYGT1L08hZsgtuI=;
        b=qYEf7A6MMrNabO1BkmXta9Y4SoW8LS4BY9z1W4c80LPbhbLZtAXY0tWgm6gAX2hQGk
         2J0hPlloWNNBFlbi3hJjkJYsZvoiK+ii/icLJHK8qPwqtNrVxdblDFse7mv2x2QmY6Ha
         U3c56kyJzsQ3QebylsfvbczpqF1enDpELeCPkIV/O31u+FgtrklAqRxIiwWGhaXw2qOP
         xhAt6X7oM/gCf09SI1UBfScCeYq0b45er/ffokV/ifmow7ee2G8YJp/7xmSbH9QTI9S7
         gWKvkHYdxqdNreS6vF0nCjVZAQ+4OWv3aBtMCWPGbu/cicOYx9GnAtlYPxB+lYMcafvv
         1F3A==
X-Forwarded-Encrypted: i=1; AJvYcCXZm7Uf/fEdbl8md4kWFJnEYdYYuRVfY06y/c17WcdoDVCA/YeHiGyhs3rjNLbKOQfFX/6fgOZfyFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxRzmBJMOw7Vi6BUZSa0q9UsmCwy95POWNEkjlOLLCzAwtiT6jH
	FnFobStFY+pKZs76UpDQ+HG4jaW2HKw0n08mcGpBZ72R8PKFDOJQUpkqCE6TZY0=
X-Gm-Gg: ASbGncuwSyp6MGQgqCTcri3E4MBDpQ47/rtLJYwpcxi+/5OUsIl+yNOiiQhg12PZHwR
	mDRL3Bbf+KZuit3tzQXXjQW7saEaR17U2ARSoUUCbrEtRTL3614uB0uVsYBFwbzzXzKHxYGozRN
	lYk0LGqCUDvvT1rvKY7xgbYwog5OuA0VpnF3DdK1Gy/QlnxTpzGzrAyYfBA5CpiZ0w+CgK+dR2/
	qY21no2Qs2C6zRBNPk0dDHS45ZXLwvlF0n0nS1dO93vFjcQW65uR4ao7EyxlpXnfYTXoqLlEu0W
	0uuNUMwhw/3fmeqfr7baIALRws2tm7cTP2nJZxldgbJ8XrwFVGdx5XNYScNcLweflo+A6+6eoyt
	SUBy2xyguZBgXAQFeDueK2bWrqc5U18+/KZmbD8ftyQolyK9rZstR5QGcHNaJ5JpeH6yu5w==
X-Google-Smtp-Source: AGHT+IEyhXmYb6FAeAQpssphlgI5bCA/1n9XQl25hiFt+bIE0R/awEMtlQr5iS/96IVIgN9jxBoHbg==
X-Received: by 2002:a17:907:3e8b:b0:ac3:d0e4:3a9e with SMTP id a640c23a62f3a-ac3f251f1fbmr200217166b.43.1742544010725;
        Fri, 21 Mar 2025 01:00:10 -0700 (PDT)
Message-ID: <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
Date: Fri, 21 Mar 2025 09:00:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
To: Bjorn Helgaas <helgaas@kernel.org>, Roger Pau Monne <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Bjorn Helgaas <bhelgaas@google.com>, 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>
References: <20250320210741.GA1099701@bhelgaas>
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: <20250320210741.GA1099701@bhelgaas>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------W0xkH04NA68e5Z3Jr2U2a3uN"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------W0xkH04NA68e5Z3Jr2U2a3uN
Content-Type: multipart/mixed; boundary="------------e8uEugkV0n8TkbLUq7aeRrvm";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Bjorn Helgaas <helgaas@kernel.org>, Roger Pau Monne <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
 Bjorn Helgaas <bhelgaas@google.com>, 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>
Message-ID: <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
References: <20250320210741.GA1099701@bhelgaas>
In-Reply-To: <20250320210741.GA1099701@bhelgaas>

--------------e8uEugkV0n8TkbLUq7aeRrvm
Content-Type: multipart/mixed; boundary="------------DcVMOhtx0fYQGrcD75hxrseI"

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

T24gMjAuMDMuMjUgMjI6MDcsIEJqb3JuIEhlbGdhYXMgd3JvdGU6DQo+IE9uIFdlZCwgRmVi
IDE5LCAyMDI1IGF0IDEwOjIwOjU3QU0gKzAxMDAsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToN
Cj4+IFNldHRpbmcgcGNpX21zaV9pZ25vcmVfbWFzayBpbmhpYml0cyB0aGUgdG9nZ2xpbmcg
b2YgdGhlIG1hc2sgYml0IGZvciBib3RoDQo+PiBNU0kgYW5kIE1TSS1YIGVudHJpZXMgZ2xv
YmFsbHksIHJlZ2FyZGxlc3Mgb2YgdGhlIElSUSBjaGlwIHRoZXkgYXJlIHVzaW5nLg0KPj4g
T25seSBYZW4gc2V0cyB0aGUgcGNpX21zaV9pZ25vcmVfbWFzayB3aGVuIHJvdXRpbmcgcGh5
c2ljYWwgaW50ZXJydXB0cyBvdmVyDQo+PiBldmVudCBjaGFubmVscywgdG8gcHJldmVudCBQ
Q0kgY29kZSBmcm9tIGF0dGVtcHRpbmcgdG8gdG9nZ2xlIHRoZSBtYXNrYml0LA0KPj4gYXMg
aXQncyBYZW4gdGhhdCBjb250cm9scyB0aGUgYml0Lg0KPj4NCj4+IEhvd2V2ZXIsIHRoZSBw
Y2lfbXNpX2lnbm9yZV9tYXNrIGJlaW5nIGdsb2JhbCB3aWxsIGFmZmVjdCBkZXZpY2VzIHRo
YXQgdXNlDQo+PiBNU0kgaW50ZXJydXB0cyBidXQgYXJlIG5vdCByb3V0aW5nIHRob3NlIGlu
dGVycnVwdHMgb3ZlciBldmVudCBjaGFubmVscw0KPj4gKG5vdCB1c2luZyB0aGUgWGVuIHBJ
UlEgY2hpcCkuICBPbmUgZXhhbXBsZSBpcyBkZXZpY2VzIGJlaGluZCBhIFZNRCBQQ0kNCj4+
IGJyaWRnZS4gIEluIHRoYXQgc2NlbmFyaW8gdGhlIFZNRCBicmlkZ2UgY29uZmlndXJlcyBN
U0koLVgpIHVzaW5nIHRoZQ0KPj4gbm9ybWFsIElSUSBjaGlwICh0aGUgcElSUSBvbmUgaW4g
dGhlIFhlbiBjYXNlKSwgYW5kIGRldmljZXMgYmVoaW5kIHRoZQ0KPj4gYnJpZGdlIGNvbmZp
Z3VyZSB0aGUgTVNJIGVudHJpZXMgdXNpbmcgaW5kZXhlcyBpbnRvIHRoZSBWTUQgYnJpZGdl
IE1TSQ0KPj4gdGFibGUuICBUaGUgVk1EIGJyaWRnZSB0aGVuIGRlbXVsdGlwbGV4ZXMgc3Vj
aCBpbnRlcnJ1cHRzIGFuZCBkZWxpdmVycyB0bw0KPj4gdGhlIGRlc3RpbmF0aW9uIGRldmlj
ZShzKS4gIEhhdmluZyBwY2lfbXNpX2lnbm9yZV9tYXNrIHNldCBpbiB0aGF0IHNjZW5hcmlv
DQo+PiBwcmV2ZW50cyAodW4pbWFza2luZyBvZiBNU0kgZW50cmllcyBmb3IgZGV2aWNlcyBi
ZWhpbmQgdGhlIFZNRCBicmlkZ2UuDQo+Pg0KPj4gTW92ZSB0aGUgc2lnbmFsaW5nIG9mIG5v
IGVudHJ5IG1hc2tpbmcgaW50byB0aGUgTVNJIGRvbWFpbiBmbGFncywgYXMgdGhhdA0KPj4g
YWxsb3dzIHNldHRpbmcgaXQgb24gYSBwZXItZG9tYWluIGJhc2lzLiAgU2V0IGl0IGZvciB0
aGUgWGVuIE1TSSBkb21haW4NCj4+IHRoYXQgdXNlcyB0aGUgcElSUSBjaGlwLCB3aGlsZSBs
ZWF2aW5nIGl0IHVuc2V0IGZvciB0aGUgcmVzdCBvZiB0aGUNCj4+IGNhc2VzLg0KPj4NCj4+
IFJlbW92ZSBwY2lfbXNpX2lnbm9yZV9tYXNrIGF0IG9uY2UsIHNpbmNlIGl0IHdhcyBvbmx5
IHVzZWQgYnkgWGVuIGNvZGUsIGFuZA0KPj4gd2l0aCBYZW4gZHJvcHBpbmcgdXNhZ2UgdGhl
IHZhcmlhYmxlIGlzIHVubmVlZGVkLg0KPj4NCj4+IFRoaXMgZml4ZXMgdXNpbmcgZGV2aWNl
cyBiZWhpbmQgYSBWTUQgYnJpZGdlIG9uIFhlbiBQViBoYXJkd2FyZSBkb21haW5zLg0KPj4N
Cj4+IEFsYmVpdCBEZXZpY2VzIGJlaGluZCBhIFZNRCBicmlkZ2UgYXJlIG5vdCBrbm93biB0
byBYZW4sIHRoYXQgZG9lc24ndCBtZWFuDQo+PiBMaW51eCBjYW5ub3QgdXNlIHRoZW0uICBC
eSBpbmhpYml0aW5nIHRoZSB1c2FnZSBvZg0KPj4gVk1EX0ZFQVRfQ0FOX0JZUEFTU19NU0lf
UkVNQVAgYW5kIHRoZSByZW1vdmFsIG9mIHRoZSBwY2lfbXNpX2lnbm9yZV9tYXNrDQo+PiBi
b2RnZSBkZXZpY2VzIGJlaGluZCBhIFZNRCBicmlkZ2UgZG8gd29yayBmaW5lIHdoZW4gdXNl
IGZyb20gYSBMaW51eCBYZW4NCj4+IGhhcmR3YXJlIGRvbWFpbi4gIFRoYXQncyB0aGUgd2hv
bGUgcG9pbnQgb2YgdGhlIHNlcmllcy4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ
YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCj4+IFJldmlld2VkLWJ5OiBUaG9t
YXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4NCj4+IEFja2VkLWJ5OiBKdWVyZ2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBBY2tlZC1ieTogQmpvcm4gSGVsZ2Fh
cyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4NCj4gDQo+IEkgYXNzdW1lIHlvdSdsbCBtZXJnZSB0
aGlzIHNlcmllcyB2aWEgdGhlIFhlbiB0cmVlLiAgTGV0IG1lIGtub3cgaWYNCj4gb3RoZXJ3
aXNlLg0KDQpJJ3ZlIHB1c2hlZCB0aGUgc2VyaWVzIHRvIHRoZSBsaW51eC1uZXh0IGJyYW5j
aCBvZiB0aGUgWGVuIHRyZWUuDQoNCg0KSnVlcmdlbg0K
--------------DcVMOhtx0fYQGrcD75hxrseI
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-----

--------------DcVMOhtx0fYQGrcD75hxrseI--

--------------e8uEugkV0n8TkbLUq7aeRrvm--

--------------W0xkH04NA68e5Z3Jr2U2a3uN
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/Ey8FAmfdHIkFAwAAAAAACgkQsN6d1ii/Ey/b
BQf/Q2PqhCQ0qvYW9+nRKZRkjb4qRgweKxGektgR3BrRBCNlfxZXaS+jZk3VVRoCcl5Aw2qibsMP
SM5IPAqZvksgA7PiI3+Ph+N9RPdyH7zoSbk5Q4FjqB/TWVv78P+vyXtpGjB7xo78y4e/62ybzI99
Z+aF1vy7NHwPH4y0ouk2Vy+zZj7O0YnnGikXyKuGcSzKV6xxhNuaoYsbO7lyWzfEwMCO9nY3SjFk
z+6wbwuOuty9FDMv8g4DthgeyEhs9+dFQEUljoLYjJdtksSkDQcvx4htHK93K1ONklw9/Zdni/x6
dCsL+BiOhdtPQ3N4l/+EQnLBDGT0dKBpoTvitTd5pQ==
=Ep0A
-----END PGP SIGNATURE-----

--------------W0xkH04NA68e5Z3Jr2U2a3uN--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 08:56:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 08:56:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923417.1326925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYAc-0007XQ-41; Fri, 21 Mar 2025 08:56:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923417.1326925; Fri, 21 Mar 2025 08: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 1tvYAc-0007XJ-1E; Fri, 21 Mar 2025 08:56:02 +0000
Received: by outflank-mailman (input) for mailman id 923417;
 Fri, 21 Mar 2025 08:56: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=IQbR=WI=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tvYAb-0007XD-58
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 08:56:01 +0000
Received: from mail-oa1-x2f.google.com (mail-oa1-x2f.google.com
 [2001:4860:4864:20::2f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e3873e8-0632-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 09:55:58 +0100 (CET)
Received: by mail-oa1-x2f.google.com with SMTP id
 586e51a60fabf-2c6ed7efb1dso939631fac.2
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 01:55: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: 4e3873e8-0632-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742547357; x=1743152157; 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=1pyqt6S63RWin5WeaS7K51Eb0Cv40rK9Rso5MXHrhs0=;
        b=c2LlHEJzQYnTTvjefaZhbk5rH3CLtVh+EG8fupWAidt5K4XBZ2Mi8qWxLMMEUNdi+6
         00oi+vrMynto+ve1x5OziAv8ZY47PV85c+R11/mdY4kk5t5rqKLlEG5pYsan+g9b1G8d
         Z944iAXkm8auSIkszTfC8cnu7PVTfDg8qRXkVY0TNdHQD2f5uedaWooauXdSmDAtPzRc
         PS+ZD6Rii5Z4OgTYR+MBeqNfIOWTi3+8fDg0AyhmrgTQ6VyDQm9BKpczZenMnfagZRh1
         tD5TbBOSF1A/vf7jkkIEHQ0ZIf68tXzwE9YGkul0WqrCSpFRK0SprcF8I6rW7VpH7orX
         qtmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742547357; x=1743152157;
        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=1pyqt6S63RWin5WeaS7K51Eb0Cv40rK9Rso5MXHrhs0=;
        b=Ke2vFHnhPSl35g2yHJVAhW+eE6UYUUnO3lPcjGiP8z6VF+U07a93T/wIwHzEnVl0kh
         YmRgIhFc3GlCdKyJLQmh/MEnLuLtwn8NFRwV/yFvrTBS+YliClyJyufJPXbinLwqhuoP
         d+ge3G7+5aQDdDa/s28p2D3zKK4GgYV86aOfHV5fQk7gp5YQqB10KBtVki/WpEGkjY4N
         spUZtkagKJOE21QQOy1eCBY+bFIgSiuLRrQ6sRzSZl/ujB9AuQ3hf9qLRMH08+33Tuib
         rhzC6+xUjjJ6Yg9D4hfjhSLslMS3OTKiI/xmZCatKChO5MSIIpDtPdGdd1kjNaXZg5zp
         vp3Q==
X-Gm-Message-State: AOJu0YxS7QII6Hgh6YO4f/p9Rw1oOmfoeJ2tmDRmtqzy/bs6kKdYMVX9
	4bdEHvSTmhG66UDaCKn2aHaBpAG65ELzpvAhKW7hfS+yPwOHNY0F22i1AGbcVhvSXjFdaPcPiwG
	x/8IkTqdKr9hWJoDwl8L11twJkaAFYgUpdGKdP+G/PWTy14xy6Yw=
X-Gm-Gg: ASbGncvRyAsyS7etsqKTXanaG0b49raxGUwBi6nySMGrd749d4G8lcM78Ol9iMVKOK7
	28kwiIfodSg3ozDLEWPbxqTZdztKpOGWNWHQz3zibSTMRL9OOMPM/ybJ8qQB00kt4horDCnryQ5
	PqECXht+OdBgNJ0fEQbfk12MqlFqg=
X-Google-Smtp-Source: AGHT+IETnsSq7Ef+McD/tnLxUDqmvs8D758aoR7y2AqUI3p1xjhkj7Q80CwU+GxaJk7fobW0TildSi32lybrkhab574=
X-Received: by 2002:a05:6871:2002:b0:29e:499d:1d33 with SMTP id
 586e51a60fabf-2c78028d856mr1783828fac.14.1742547357282; Fri, 21 Mar 2025
 01:55:57 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741617888.git.bertrand.marquis@arm.com> <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
In-Reply-To: <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 21 Mar 2025 09:55:46 +0100
X-Gm-Features: AQ5f1Jp8BEVq1fbyu6BVG4HkQ2arbWw5nJ2QnRCcJAnTMky9s1YILzCHEdMJVIk
Message-ID: <CAHUa44FW02v4_6pTiGqcWrFMLqdayuUF5pXM8cfKusOXHC7Jyw@mail.gmail.com>
Subject: Re: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 10, 2025 at 3:51=E2=80=AFPM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> When VM to VM support is activated and there is no suitable FF-A support
> in the firmware, enable FF-A support for VMs to allow using it for VM to
> VM communications.
> If there is Optee running in the secure world and using the non FF-A

It's spelled OP-TEE in text, and optee or OPTEE in identifiers.

> communication system, having CONFIG_FFA_VM_TO_VM could be non functional
> (if optee is probed first) or Optee could be non functional (if FF-A is
> probed first) so it is not recommended to activate the configuration
> option for such systems.
>
> To make buffer full notification work between VMs when there is not

s/not/no/

> firmware, rework the notification handling and modify the global flag to
> only be used as check for firmware notification support instead.
>
> Modify part_info_get to return the list of VMs when there is no firmware
> support.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v2:
> - replace ifdef with IS_ENABLED when possible
> ---
>  xen/arch/arm/tee/ffa.c          |  12 +++-
>  xen/arch/arm/tee/ffa_notif.c    | 114 ++++++++++++++++----------------
>  xen/arch/arm/tee/ffa_partinfo.c |   3 +-
>  3 files changed, 69 insertions(+), 60 deletions(-)
>
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 3bbdd7168a6b..f6582d2e855a 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -324,8 +324,9 @@ static int ffa_domain_init(struct domain *d)
>      struct ffa_ctx *ctx;
>      int ret;
>
> -    if ( !ffa_fw_version )
> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !ffa_fw_version )
>          return -ENODEV;
> +
>      /*
>       * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A ID =
0 is
>       * reserved for the hypervisor and we only support secure endpoints =
using
> @@ -549,6 +550,15 @@ err_no_fw:
>      bitmap_zero(ffa_fw_abi_supported, FFA_ABI_BITMAP_SIZE);
>      printk(XENLOG_WARNING "ARM FF-A No firmware support\n");
>
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        INIT_LIST_HEAD(&ffa_teardown_head);
> +        init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NUL=
L, 0);
> +
> +        printk(XENLOG_INFO "ARM FF-A only available between VMs\n");
> +        return true;
> +    }
> +
>      return false;
>  }
>
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> index d19aa5c5bef6..0673e53a9def 100644
> --- a/xen/arch/arm/tee/ffa_notif.c
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -16,7 +16,7 @@
>
>  #include "ffa_private.h"
>
> -static bool __ro_after_init notif_enabled;
> +static bool __ro_after_init fw_notif_enabled;
>  static unsigned int __ro_after_init notif_sri_irq;
>
>  int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> @@ -27,21 +27,17 @@ int ffa_handle_notification_bind(struct cpu_user_regs=
 *regs)
>      uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>      uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>
> -    if ( !notif_enabled )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
>          return FFA_RET_INVALID_PARAMETERS;
>
>      if ( flags )    /* Only global notifications are supported */
>          return FFA_RET_DENIED;
>
> -    /*
> -     * We only support notifications from SP so no need to check the sen=
der
> -     * endpoint ID, the SPMC will take care of that for us.
> -     */
> -    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap=
_lo,
> -                           bitmap_hi);
> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )

Please add space before and after '>>', here and in the function below
in this patch.

> +        return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags,
> +                               bitmap_lo, bitmap_hi);
> +
> +    return FFA_RET_NOT_SUPPORTED;
>  }
>
>  int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> @@ -51,32 +47,34 @@ int ffa_handle_notification_unbind(struct cpu_user_re=
gs *regs)
>      uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>      uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>
> -    if ( !notif_enabled )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
>          return FFA_RET_INVALID_PARAMETERS;
>
> -    /*
> -     * We only support notifications from SP so no need to check the
> -     * destination endpoint ID, the SPMC will take care of that for us.
> -     */
> -    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_=
lo,
> -                            bitmap_hi);
> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> +        return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bit=
map_lo,
> +                                bitmap_hi);
> +
> +    return FFA_RET_NOT_SUPPORTED;
>  }
>
>  void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
>  {
>      struct domain *d =3D current->domain;
>      struct ffa_ctx *ctx =3D d->arch.tee;
> +    bool notif_pending =3D false;
>
> -    if ( !notif_enabled )
> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
>      {
>          ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>          return;
>      }
>
> -    if ( test_and_clear_bool(ctx->notif.secure_pending) )
> +    notif_pending =3D ctx->notif.secure_pending;
> +#ifdef CONFIG_FFA_VM_TO_VM
> +    notif_pending |=3D ctx->notif.buff_full_pending;
> +#endif

Shouldn't ctx->notif.secure_pending and ctx->notif.secure_pending be
cleared also, like:
notif_pending =3D test_and_clear_bool(ctx->notif.secure_pending) ||
                test_and_clear_bool(ctx->notif.buff_full_pending);

> +
> +    if ( notif_pending )
>      {
>          /* A pending global notification for the guest */
>          ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> @@ -103,7 +101,7 @@ void ffa_handle_notification_get(struct cpu_user_regs=
 *regs)
>      uint32_t w6 =3D 0;
>      uint32_t w7 =3D 0;
>
> -    if ( !notif_enabled )
> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
>      {
>          ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>          return;
> @@ -115,7 +113,8 @@ void ffa_handle_notification_get(struct cpu_user_regs=
 *regs)
>          return;
>      }
>
> -    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM =
) )
> +    if ( fw_notif_enabled && (flags & ( FFA_NOTIF_FLAG_BITMAP_SP
> +                                        | FFA_NOTIF_FLAG_BITMAP_SPM )) )

Please end the previous line with the '|' operator.

>      {
>          struct arm_smccc_1_2_regs arg =3D {
>              .a0 =3D FFA_NOTIFICATION_GET,
> @@ -170,15 +169,14 @@ int ffa_handle_notification_set(struct cpu_user_reg=
s *regs)
>      uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>      uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>
> -    if ( !notif_enabled )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
>          return FFA_RET_INVALID_PARAMETERS;
>
> -    /* Let the SPMC check the destination of the notification */
> -    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_=
lo,
> -                           bitmap_hi);
> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> +        return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bit=
map_lo,
> +                               bitmap_hi);
> +
> +    return FFA_RET_NOT_SUPPORTED;
>  }
>
>  #ifdef CONFIG_FFA_VM_TO_VM
> @@ -190,7 +188,7 @@ void ffa_raise_rx_buffer_full(struct domain *d)
>          return;
>
>      if ( !test_and_set_bool(ctx->notif.buff_full_pending) )
> -        vgic_inject_irq(d, d->vcpu[0], notif_sri_irq, true);
> +        vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID, tru=
e);

Please move this to the patch "xen/arm: ffa: Add buffer full
notification support"

>  }
>  #endif
>
> @@ -363,7 +361,7 @@ void ffa_notif_init_interrupt(void)
>  {
>      int ret;
>
> -    if ( notif_enabled && notif_sri_irq < NR_GIC_SGI )
> +    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
>      {
>          /*
>           * An error here is unlikely since the primary CPU has already
> @@ -394,41 +392,41 @@ void ffa_notif_init(void)
>      int ret;
>
>      /* Only enable fw notification if all ABIs we need are supported */
> -    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> -           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> -           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> -           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
> -        return;
> -
> -    arm_smccc_1_2_smc(&arg, &resp);
> -    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> -        return;
> -
> -    irq =3D resp.a2;
> -    notif_sri_irq =3D irq;
> -    if ( irq >=3D NR_GIC_SGI )
> -        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> -    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
> -    if ( ret )
> +    if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> +         ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> +         ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> +         ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64) )
>      {
> -        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
> -               irq, ret);
> -        return;
> -    }
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        if ( resp.a0 !=3D FFA_SUCCESS_32 )
> +            return;
>
> -    notif_enabled =3D true;
> +        irq =3D resp.a2;
> +        notif_sri_irq =3D irq;
> +        if ( irq >=3D NR_GIC_SGI )
> +            irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> +        ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NUL=
L);
> +        if ( ret )
> +        {
> +            printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\=
n",
> +                   irq, ret);
> +            return;
> +        }
> +        fw_notif_enabled =3D true;
> +    }
>  }
>
>  int ffa_notif_domain_init(struct domain *d)
>  {
>      int32_t res;
>
> -    if ( !notif_enabled )
> -        return 0;
> +    if ( fw_notif_enabled )
> +    {
>
> -    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpu=
s);
> -    if ( res )
> -        return -ENOMEM;
> +        res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_=
vcpus);
> +        if ( res )
> +            return -ENOMEM;
> +    }
>
>      return 0;
>  }
> @@ -439,6 +437,6 @@ void ffa_notif_domain_destroy(struct domain *d)
>       * Call bitmap_destroy even if bitmap create failed as the SPMC will
>       * return a DENIED error that we will ignore.
>       */
> -    if ( notif_enabled )
> +    if ( fw_notif_enabled )
>          ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
>  }
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_parti=
nfo.c
> index 7af1eca2d0c4..291396c8f635 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -130,7 +130,8 @@ void ffa_handle_partition_info_get(struct cpu_user_re=
gs *regs)
>          goto out;
>      }
>
> -    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) &&

Doesn't this belong in the patch "xen/arm: ffa: Introduce VM to VM support"=
?
And wouldn't ffa_vm_count make more sense?

Cheers,
Jens

> +         !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>      {
>          /* Just give an empty partition list to the caller */
>          ret =3D FFA_RET_OK;
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:25:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:25:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923430.1326935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYcb-0005OL-Bs; Fri, 21 Mar 2025 09:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923430.1326935; Fri, 21 Mar 2025 09:24: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 1tvYcb-0005OE-7r; Fri, 21 Mar 2025 09:24:57 +0000
Received: by outflank-mailman (input) for mailman id 923430;
 Fri, 21 Mar 2025 09:24: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYca-0005O8-Df
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:24:56 +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 594acb44-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:24:54 +0100 (CET)
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 F00C11FB6B;
 Fri, 21 Mar 2025 09:24: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 C5638139AA;
 Fri, 21 Mar 2025 09:24: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 YhyqLmUw3Wf4GAAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:24: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: 594acb44-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549094; 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=I16Jcmi/tPhnqXbhhvCxsdDEoRl/IPTWj8eh5kJrCns=;
	b=YerRSN8d/CHlugjy5AfDYQXUyc42ugQfyWlYVwXntkeIdeajs6IgY1kVdWIeiSPBDl0JK0
	GbL3VyjIzfAyDOnZVxk3aAAVxR9ByPpxnRzIzrzy+Bx3PrnHIzvAPAwMt5IaIOK1X82Zlh
	CQF6bRW0j7c5C3Dy/DjYz/5St4yaJlo=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=YerRSN8d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549094; 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=I16Jcmi/tPhnqXbhhvCxsdDEoRl/IPTWj8eh5kJrCns=;
	b=YerRSN8d/CHlugjy5AfDYQXUyc42ugQfyWlYVwXntkeIdeajs6IgY1kVdWIeiSPBDl0JK0
	GbL3VyjIzfAyDOnZVxk3aAAVxR9ByPpxnRzIzrzy+Bx3PrnHIzvAPAwMt5IaIOK1X82Zlh
	CQF6bRW0j7c5C3Dy/DjYz/5St4yaJlo=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 00/12] kexec: add kexec support to Mini-OS
Date: Fri, 21 Mar 2025 10:24:39 +0100
Message-ID: <20250321092451.17309-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: F00C11FB6B
X-Spam-Score: -3.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Add basic kexec support to Mini-OS for running in x86 PVH mode.

With this series applied it is possible to activate another kernel
from within Mini-OS.

Right now no Xen related teardown is done (so no reset of grant table,
event channels, PV devices). These should be added via kexec callbacks
which are added as a framework.

This is a major building block for support of Xenstore-stubdom live
update (in fact I've tested the kexec path to work using the PVH
variant of Xenstore-stubdom).

Juergen Gross (12):
  add kexec framework
  Mini-OS: add final kexec stage
  mini-os: add elf.h
  mini-os: analyze new kernel for kexec
  mini-os: kexec: finalize parameter location and size
  mini-os: reserve memory below boundary
  mini-os: kexec: build parameters for new kernel
  mini-os: kexec: move used pages away for new kernel
  Mini-OS: mm: change set_readonly() to change_readonly()
  Mini-OS: kexec: switch read-only area to be writable again
  mini-os: kexec: add kexec callback functionality
  mini-os: kexec: do the final kexec step

 Config.mk                  |   1 +
 Makefile                   |   1 +
 arch/x86/kexec.c           | 273 +++++++++++++++++++++++++++++
 arch/x86/minios-x86.lds.S  |  16 ++
 arch/x86/mm.c              | 238 ++++++++++++++++++++------
 arch/x86/testbuild/all-no  |   1 +
 arch/x86/testbuild/all-yes |   2 +
 arch/x86/testbuild/kexec   |   4 +
 arch/x86/x86_hvm.S         |  46 +++++
 include/elf.h              | 340 +++++++++++++++++++++++++++++++++++++
 include/kexec.h            |  63 +++++++
 include/mm.h               |   8 +
 include/x86/os.h           |   5 +
 kexec.c                    | 253 +++++++++++++++++++++++++++
 mm.c                       |  89 +++++++++-
 15 files changed, 1289 insertions(+), 51 deletions(-)
 create mode 100644 arch/x86/kexec.c
 create mode 100644 arch/x86/testbuild/kexec
 create mode 100644 include/elf.h
 create mode 100644 include/kexec.h
 create mode 100644 kexec.c

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:25:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:25:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923432.1326949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYcg-0005eW-KB; Fri, 21 Mar 2025 09:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923432.1326949; Fri, 21 Mar 2025 09:25: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 1tvYcg-0005eP-H9; Fri, 21 Mar 2025 09:25:02 +0000
Received: by outflank-mailman (input) for mailman id 923432;
 Fri, 21 Mar 2025 09:25: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYcf-0005O8-69
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:01 +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 5c76291f-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:00 +0100 (CET)
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 814EA1FB6B;
 Fri, 21 Mar 2025 09:24:59 +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 5908B139AA;
 Fri, 21 Mar 2025 09:24:59 +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 W4RFFGsw3WcCGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:24: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: 5c76291f-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549099; 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=+e7f0wzeCQOLRDHTneQRUR5WaCuGPdNCIRfUubr6zrU=;
	b=APm4rU8EaHwEes9ifhAjt3TksotKCcmzPMSx4HSisyWi5zcqzlTuNpHWiXb0H38MH+poPf
	Cj4awaIkVx7i8sHTTt9dDbxuVDQRz+XzBLl6/GnwapMjkIq+Ahfwjdbr6Xatk1+7NZ5GgZ
	yf8Ap4dZlAkmzjQzRqpGRIjSM051SC8=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549099; 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=+e7f0wzeCQOLRDHTneQRUR5WaCuGPdNCIRfUubr6zrU=;
	b=APm4rU8EaHwEes9ifhAjt3TksotKCcmzPMSx4HSisyWi5zcqzlTuNpHWiXb0H38MH+poPf
	Cj4awaIkVx7i8sHTTt9dDbxuVDQRz+XzBLl6/GnwapMjkIq+Ahfwjdbr6Xatk1+7NZ5GgZ
	yf8Ap4dZlAkmzjQzRqpGRIjSM051SC8=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 01/12] kexec: add kexec framework
Date: Fri, 21 Mar 2025 10:24:40 +0100
Message-ID: <20250321092451.17309-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Add a new config option CONFIG_KEXEC for support of kexec-ing into a
new mini-os kernel. Add a related kexec.c source and a kexec.h header.

For now allow CONFIG_KEXEC to be set only for PVH variant of mini-os.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk                  |  1 +
 Makefile                   |  1 +
 arch/x86/testbuild/all-no  |  1 +
 arch/x86/testbuild/all-yes |  2 ++
 arch/x86/testbuild/kexec   |  4 +++
 include/kexec.h            |  7 +++++
 kexec.c                    | 62 ++++++++++++++++++++++++++++++++++++++
 7 files changed, 78 insertions(+)
 create mode 100644 arch/x86/testbuild/kexec
 create mode 100644 include/kexec.h
 create mode 100644 kexec.c

diff --git a/Config.mk b/Config.mk
index e493533a..e2afb1b4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -204,6 +204,7 @@ CONFIG-n += CONFIG_LIBXENGUEST
 CONFIG-n += CONFIG_LIBXENTOOLCORE
 CONFIG-n += CONFIG_LIBXENTOOLLOG
 CONFIG-n += CONFIG_LIBXENMANAGE
+CONFIG-n += CONFIG_KEXEC
 # Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
 # console apart of standard dom0 handled console.
 CONFIG-n += CONFIG_USE_XEN_CONSOLE
diff --git a/Makefile b/Makefile
index d094858a..a64913ad 100644
--- a/Makefile
+++ b/Makefile
@@ -51,6 +51,7 @@ src-y += gntmap.c
 src-y += gnttab.c
 src-y += hypervisor.c
 src-y += kernel.c
+src-$(CONFIG_KEXEC) += kexec.c
 src-y += lock.c
 src-y += main.c
 src-y += mm.c
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index 5b3e99ed..b2ee5ce8 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -18,3 +18,4 @@ CONFIG_LIBXS = n
 CONFIG_LWIP = n
 CONFIG_BALLOON = n
 CONFIG_USE_XEN_CONSOLE = n
+CONFIG_KEXEC = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index 8ae489a4..99ba75dd 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -19,3 +19,5 @@ CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
 CONFIG_LWIP = n
+# KEXEC only without PARAVIRT
+CONFIG_KEXEC = n
diff --git a/arch/x86/testbuild/kexec b/arch/x86/testbuild/kexec
new file mode 100644
index 00000000..ea17b4d9
--- /dev/null
+++ b/arch/x86/testbuild/kexec
@@ -0,0 +1,4 @@
+CONFIG_PARAVIRT = n
+CONFIG_BALLOON = y
+CONFIG_USE_XEN_CONSOLE = y
+CONFIG_KEXEC = y
diff --git a/include/kexec.h b/include/kexec.h
new file mode 100644
index 00000000..6fd96774
--- /dev/null
+++ b/include/kexec.h
@@ -0,0 +1,7 @@
+#ifndef _KEXEC_H
+#define _KEXEC_H
+
+int kexec(void *kernel, unsigned long kernel_size,
+          const char *cmdline);
+
+#endif /* _KEXEC_H */
diff --git a/kexec.c b/kexec.c
new file mode 100644
index 00000000..53528169
--- /dev/null
+++ b/kexec.c
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * kexec.c
+ *
+ * Support of kexec (reboot locally into new mini-os kernel).
+ *
+ * Copyright (c) 2024, Juergen Gross, SUSE Linux GmbH
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifdef CONFIG_PARAVIRT
+#error "kexec support not implemented in PV variant"
+#endif
+
+#include <errno.h>
+#include <mini-os/os.h>
+#include <mini-os/lib.h>
+#include <mini-os/kexec.h>
+
+/*
+ * General approach for kexec support (PVH only) is as follows:
+ *
+ * - New kernel needs to be in memory in form of a ELF file in a virtual
+ *   memory region.
+ * - A new start_info structure is constructed in memory with the final
+ *   memory locations included.
+ * - All memory areas needed for kexec execution are being finalized.
+ * - From here on a graceful failure is no longer possible.
+ * - Grants and event channels are torn down.
+ * - A temporary set of page tables is constructed at a location where it
+ *   doesn't conflict with old and new kernel or start_info.
+ * - The final kexec execution stage is copied to a memory area below 4G which
+ *   doesn't conflict with the target areas of kernel etc.
+ * - Cr3 is switched to the new set of page tables.
+ * - Execution continues in the final execution stage.
+ * - All data is copied to its final addresses.
+ * - Processing is switched to 32-bit mode without address translation.
+ * - The new kernel is activated.
+ */
+
+int kexec(void *kernel, unsigned long kernel_size,
+          const char *cmdline)
+{
+    return ENOSYS;
+}
+EXPORT_SYMBOL(kexec);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:25:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923436.1326968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYco-00061B-7E; Fri, 21 Mar 2025 09:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923436.1326968; Fri, 21 Mar 2025 09:25: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 1tvYco-00060c-0e; Fri, 21 Mar 2025 09:25:10 +0000
Received: by outflank-mailman (input) for mailman id 923436;
 Fri, 21 Mar 2025 09: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=QZeu=WI=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tvYcm-0005O8-64
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2614::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6032b6ad-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:06 +0100 (CET)
Received: from DB8PR04CA0026.eurprd04.prod.outlook.com (2603:10a6:10:110::36)
 by DU5PR08MB10399.eurprd08.prod.outlook.com (2603:10a6:10:520::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Fri, 21 Mar
 2025 09:25:01 +0000
Received: from DB1PEPF000509F1.eurprd03.prod.outlook.com
 (2603:10a6:10:110:cafe::1c) by DB8PR04CA0026.outlook.office365.com
 (2603:10a6:10:110::36) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Fri,
 21 Mar 2025 09:25:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509F1.mail.protection.outlook.com (10.167.242.75) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Fri, 21 Mar 2025 09:24:59 +0000
Received: ("Tessian outbound 5b84e532c19a:v597");
 Fri, 21 Mar 2025 09:24:59 +0000
Received: from Lcd5249fb34a4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F94EF536-EAC0-49D1-83FA-22A7B44E1F06.1; 
 Fri, 21 Mar 2025 09:24:52 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lcd5249fb34a4.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 21 Mar 2025 09:24:52 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by GV2PR08MB8415.eurprd08.prod.outlook.com (2603:10a6:150:ba::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Fri, 21 Mar
 2025 09:24:48 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.036; Fri, 21 Mar 2025
 09:24: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: 6032b6ad-0636-11f0-9ea1-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=xGvFT8senL4pnmW6/zCETCamJFKINcyt5Q3oNyh6SiRpxDGzuZZWth5jFgwQoP7xYqNZAe3kr1KOPxicuqQljfKNDSxlVyGcPAFDC1QV9gP8+t8gmlG52xaJEwmtCYQbar0YiicHJo+TKSKgM5hTF8JlR4WDomZhWvayXryozHq+ur0PZsAONZhc9nGAO3ilulAHXhdkcAguVV2Btm2vMMolBmi1BrLHspBKNapOHNPpHMraApTOFb578p17D7EjRQQzeEoZ2N3ENCF1g2sbKTBYjcGSFFMFD/4x4/sYhF6Mqww8nW+zQmDPp5xIuL+l9SRbVglxiIXWDldesdj/LA==
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=uJDk9iMhHIfWAxfGb4UmJff0X6lwV69ph0p5zU41ses=;
 b=SVkrAGxhNS07pv9g30//I8FpKqBm48B9s0kMCHuBfcyMxgCL7ZLQMBG79BjWwCn2XBbq8RXvEujCQ40fp2sxDPxhrpGUL7UNaIOJvpyq0JNGAFnyomN9ACtoVqyyqF/QxeXQHhQYNtP5qknmSX1bYn1GYWkKbfvBz35fLLYXIb0fwvrZhhSPh11ZgtCX3ZW3jabPX3g+uPWrThUq//JmhBxHVd4uiIuvKtmk70k7k9CSuJoxvzZ8+RRZqdWOWUcw2478Y4IigZ/Yvsw9BZ44pcysJrN6ryPGo2r8n1EYL3hsfchQ4E07jko8pO31uECVMjR7JdanezhhvxZbhPoDqg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=uJDk9iMhHIfWAxfGb4UmJff0X6lwV69ph0p5zU41ses=;
 b=AJ339ocQVVQ3b1carjhA86wV7B0rgni+Xj4QhRWVmRm71uRuJDxJpLEw4qKNTOhxu27Cjm2ghR9HqbqL40Q9uRN4WZGZSu8G/KqN38rjbOTI+gT9oU84M9lWd9il6iUmphZHloTy2ePk4+oi0FWWL622RvcwfvOrl6UAcKD38jU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7f6262fd59df8685
X-TessianGatewayMetadata: j7tis3AIIbBE7wopyiXFgTEi5Fez+4BXhh05t9Czanc17cbmdXvZdUhcX5Fj/KgC8bxNZaA0uheXQCjjdSPbGQP7nvOu96UffGNP7w9IrrAOWQ3laaFdiiKKZtUQHbkYiauhaA8Mt9YS0wK6qoMq9z3j3E3fff9hjUevuwVTVrM=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pLoaaVs03TWL5GCba3xUkDFJU319Ae01BGFQroWZjNNBJWh2UuMQAbzAiLfwJAXFDDF8m8lcccglYlwJxSrBM1iid6IARpvNNcIs/ApkUlDolvck+dMbiXtWbsjXNzk4KvAzlIs28QuxN+qrXGdOg868vXCuCgEuBrD99fbaIjX3bWVbZ428D8nfVUOiEYvpFHxU/HDwQrt0Le3p2yaK00g9SY2c8Iwky5pUKJf2hmu8pDhVp3FwQ7OrJpkAhldChV+WkIuuXDFA7WNTLj/vLluL4Gk2DRbQR12ZXfJb6YHC/Q083E2I6kovnIUKPu8xEEeiawVT+XdfBy/66FyArQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uJDk9iMhHIfWAxfGb4UmJff0X6lwV69ph0p5zU41ses=;
 b=WNfsjUIH0R30FisR/uPcZ7+CGtYIeYEQNCuM1Kwhsyq6FWNL+KLcijraAnS2Rcbah+MlPehOgdFNVHRdrTL/FjVwbBu7V+sBKdgGQTZADpbBA4/5w72Tqe6dxNxtpJvZjL6l8Fm/LTXVf95tyTPhU9+v10cieSr9nw244/ojH9zZdSBMsTDWczIxslzKBj9xBgK2S3fIcTyxEpR8kwUbpT1U0L0KOTiyU0gWeNKW1JHj8vu7+cuqbC0lJ8OdAb/xFsWRgur62h4R/MbPgwH7ZQcyKcpuWSMJbx8Xi6L858qiMoVLQhOTGxfuOmVU36qFWbkj1jSkGiBiRlG2mHMmMQ==
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=uJDk9iMhHIfWAxfGb4UmJff0X6lwV69ph0p5zU41ses=;
 b=AJ339ocQVVQ3b1carjhA86wV7B0rgni+Xj4QhRWVmRm71uRuJDxJpLEw4qKNTOhxu27Cjm2ghR9HqbqL40Q9uRN4WZGZSu8G/KqN38rjbOTI+gT9oU84M9lWd9il6iUmphZHloTy2ePk4+oi0FWWL622RvcwfvOrl6UAcKD38jU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Topic: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Index: AQHbkcvqUcfBAkFPRke6B/ThQimwz7N9WnkAgAAIEIA=
Date: Fri, 21 Mar 2025 09:24:48 +0000
Message-ID: <7B45963D-8908-420C-89ED-15769357779C@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FW02v4_6pTiGqcWrFMLqdayuUF5pXM8cfKusOXHC7Jyw@mail.gmail.com>
In-Reply-To:
 <CAHUa44FW02v4_6pTiGqcWrFMLqdayuUF5pXM8cfKusOXHC7Jyw@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|GV2PR08MB8415:EE_|DB1PEPF000509F1:EE_|DU5PR08MB10399:EE_
X-MS-Office365-Filtering-Correlation-Id: 73dead6b-2310-4cd7-7401-08dd685a40b0
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|10070799003|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Z01UR2s0a09JUk5uNUd0TGcxYTh4MXhzemIrU2NEWm5mNGRFb3pOc215a0hw?=
 =?utf-8?B?dVpDZjNLZG5kdVRvVHFXOGdSMy9LaTQ1ZmhpQTdHV1lwdm9pNjFXWHZoQjhQ?=
 =?utf-8?B?NzR3aGNaV3FzSU5MbnpKQnNqaHBNMFdwUjVQNUNGT2dUZ2FscTUzQVBvME5H?=
 =?utf-8?B?YUkxVmF3bmk0KzRKVHJFVlhrMDZtRkt6Z01uSTJUMDVJRlVOMjFwdEo4dHNw?=
 =?utf-8?B?bzJPM3ZWMy9PRUxLMDZtcmdFNGUvMHJrVE44VHRZVFNTaExiSVlJWDEvY3ZF?=
 =?utf-8?B?QVJTL1BkZjdrOERXcmxrVHlvaGtNL3VMczVSU2tVd0ltVjVUelhGMzRjWXZu?=
 =?utf-8?B?WEU0alRIUWZicEpTQzJyR1dPbTV1Z28yR1hob3NldlNXNnF5TkJDOW5VeUd0?=
 =?utf-8?B?U2RmTU11RmZkYSs3aWVoK2JVb0VnZk94VWJydE9SSVlCa2JMTmJRL0FzVitG?=
 =?utf-8?B?L1hveU5RWlBVRG1KL3NRSDY5WlZka0w1OS9WRC85clgrOGRESEt5WFoxRU5Q?=
 =?utf-8?B?NExPNFI5UVNCbnhtKzFrUFBwRlgvVENCL1hLNy9yM2ZlbjhTcWZSVnBVS0ZJ?=
 =?utf-8?B?WHJURG9KbExBcnJ4MjgvSXY0ZkN6OXp1WEVBNzQ0NHA2WDdsMTJnSXRkVXp3?=
 =?utf-8?B?dXlwVmVKTjJPdGZPZDFZYU1ZV3d2N1VXWmpLUUJHU3dkeHV4SXArUWZvRzR0?=
 =?utf-8?B?UjVTY0dsMmNmVnVSdG81enNiQlIxUEdpdkNhWXluaTFhSEZZcHg1TGVKdE5Y?=
 =?utf-8?B?b1ArMFVpLzFhQTFjRnNTWUJYOEM0ekQwQ1Q5elkvNllsamczZmh2U2JBTm1w?=
 =?utf-8?B?M0M0MlRQSXVjYnZsQU1LY2NDdlhGTmtHNTRZWlpFK29USGxFYWhieDlyK0pw?=
 =?utf-8?B?dUlMQXVyd2R2UlBDZzJNZ1U3NHJkNVQxdWxMdWVub3VvYm5hRkpteW1RdjBu?=
 =?utf-8?B?VmFLbnlHcUYwK1M0RGdFTHg3QjczenJTVFVCcDhRZVZyK0NvY1RPYm45VjEx?=
 =?utf-8?B?bzA2bU4zd0VsRVdHbzd6STAvem1HNVE0QmJpVllNd3dsdGNoOGpnclpUTlN0?=
 =?utf-8?B?MTJKa0tDZEhPZmFwL2phQWIrM0I0Y3VPYzdndVpTTk9Ma0pmelF0TnZ4SEps?=
 =?utf-8?B?WmpsbkFMS1dDdEpRdThLNG1Qdy9zOVNXbDNmWm9iSncyVndobStWYWVBWGdr?=
 =?utf-8?B?UEttUTlzQTNqOGN2OGpjUnBkMFEzZW1FMCtaZHRjMElTdFpCa0Z0QmxmelBV?=
 =?utf-8?B?clZGTitKczB6Si9EcXBwdnJLVVBrZUtkdjM4NVl6aHlXZEN2azAwaG5OaGpE?=
 =?utf-8?B?OXZGcEtQelNCdlNJQUd4ZUcySU9ZTDRQRXk0YXVXa0NUbGtQSWpDTEVGZUU5?=
 =?utf-8?B?TGkwR0lzSm5zM1c2K1loRXBnSE84TFBrUWtiRy9NeW1mUFZ3eFlUK3NneHk0?=
 =?utf-8?B?NWt5QklYRmxhWS9lM21sQ0FQT0dpNUVBZjNjb0dOS3JOYzYyU1pIV3B1cklC?=
 =?utf-8?B?dVlJMHJJR0pYcHJybVhscG56SU9DK1J4bFpscHh6Uk1jTjdNUVBxMDhLNkFh?=
 =?utf-8?B?ZHF6cm9sK2F5bktDcEFHdHpNdXpVSFlFVG5LMVoraWIvUG1QYlYwdTRvajUy?=
 =?utf-8?B?SHR0TXFVWlpZdk9XZjJLVWd6Z1ZWNHR6Y2YrKzkvaFF6VUJOY25tbWdQbElj?=
 =?utf-8?B?R0xGTTlsOFBxa1RxbUk3Lzkxbjc4Q2NqMXdWRXV5VFF0ZHZqVFdQZmRuUVBr?=
 =?utf-8?B?dVVxUUVSTmlTWXY3K1g4UTNvRU8vcTNBRXFaRjU0KzhSbTJOVjdOdEZmcUw1?=
 =?utf-8?B?aUxwSUxsRTY3b0E2d1ZNQTJtZ1FROGQyd1FqcSt4R090UldHSGtvNndVWUw0?=
 =?utf-8?B?QUd0Nk5CNWRFTW5pd3RYUGhSc01IOWNoVURYTlFUbXlpc08rSGZjeWYvckl6?=
 =?utf-8?Q?Lx8kbexImyR5DKqknsMV4uSJm9f5j9C1?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(10070799003)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <4072823958F3E84E9445077B63183281@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8415
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509F1.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	60369390-37c4-4976-4062-08dd685a39fe
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|35042699022|82310400026|376014|1800799024|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NFk3R2xZaXQyR2JLNStDcDVyR1lyR1EyY1grUnpUN3N0K2Nad3FhdzJoLy9P?=
 =?utf-8?B?WWJTRWcwWW91dkZvQ0dnby8vZktFRzgrQTM5aVdNNWpBVlpYQTgvamcxbXhp?=
 =?utf-8?B?YmNjbFdYSEVGSVRkeFNXWGQwa0JmUVNkcGszZzlmTlVpQVR6VGZRUW42QUtQ?=
 =?utf-8?B?amRMc3B1dCsxYjluYU1rWVpuN2t1dlo3cUxIK1E2R1JtbGR5S1RFdWo0YTdy?=
 =?utf-8?B?aDJrRERMdmJuZk54ek16aks4TDhTaXk5ZXZxRVN1RFpxWmdzbGxwc2lXbFNT?=
 =?utf-8?B?ZlpDNEkxMHdaRDBYZGRjQ093bHJQNU56eHBlRXVyTlFmVjhVUDlrSjgwWVdz?=
 =?utf-8?B?R0JqYlF1dy9nazZHWmY1dUJKMFVSdWN1STViRUswY3Q2QTdKM2s1U0lybjkz?=
 =?utf-8?B?SjRFWkdtSWRzTFJEZ3dVbW9RUDJIbE9CcXBNRmlnWjdQbG9aVVdYQkNiREtY?=
 =?utf-8?B?MitPa3FDSkQ2NUIrc2RqZnAwZHJVbGdQY1J6UnVVZElUaXQ0cldLekFwMkpI?=
 =?utf-8?B?T3VPQ21jelV5ZHZGUGoyaHhNa1pVTUtoZUR2RmxxNWQvcFZZbytieVpVTkgw?=
 =?utf-8?B?MklGUCsvQkV6anpmdksyOGJiVnFFTzZpZmFIMVBBRytzdDV3d2tDeG9CMXI3?=
 =?utf-8?B?TGZEcW5rbmNZZUhGenVJWUNDQ3hXdHFXR0JBcTZVSVhuTUQxamRIcFk5dFNs?=
 =?utf-8?B?dEFKcmhDLzQ0RkFieFZUZ3BCZUlyU3NDM3YyRlhnRzd6a1dBb0ZiSHZpWGg3?=
 =?utf-8?B?WVZnTTFIQ2JFaFJJY09YOW14VzVNcEFoSm5aTU9nbEtHTHlFZmsycXpqSlRz?=
 =?utf-8?B?YlFPVDB5MFgxNFlZaVBHVXBlTFRMeExCZ3NOeUYrckhtVjRlbkhnUEZHdHZp?=
 =?utf-8?B?bFd0UlBYRUZUTG94em1LRmdSR2taN0hXY1BFVVE4eXBqMnM1eHRLQ0M2TEJm?=
 =?utf-8?B?bTMwM3diWEp0eFZtellUL2pKWkFvSmFuOGpXbUt5eXBLZi9ZaWpFOEVhaVgv?=
 =?utf-8?B?QkVzeUwvVEI3RFV4Y0JJSkpSNWF6aTU4ZDdJc1VObUZlQk9lY2o3S0hTK1Ja?=
 =?utf-8?B?TCsrUHh3R1llcWVuZ2RLaEVNdUYzMUEzQ05VL1RjWDBidWlOV202emx6ZWsr?=
 =?utf-8?B?QStwVG9lT25FVkMxTlV5c1dZSFlxdHZSbGpVSDlOemQ2aTFBaEN2akE3bWVh?=
 =?utf-8?B?SXBTRUlKNDNURFc4R0tzVEZqWUorb2lkZWpwTk8xWCtLTkZ2UjJBNFE1djZS?=
 =?utf-8?B?MXc1dTUrc1JrT2NqKzNETXBLZ083K2pITzVlYWlwaTRwckZ5VjcvN2lmcEZJ?=
 =?utf-8?B?NVgwbEw4elRUT2VzM1JWWWhlSlhCOVQ1dnRWSHlhVi9lSklEK1ROak5oMVVi?=
 =?utf-8?B?ZXl4dklIbFhtbGNUMFdPd0ROQzFEOGc5dDhvRGlBUW9DU2krUTlWaEwzOFhr?=
 =?utf-8?B?VWJTaFE3MzFaZnR3Slhmam0wOTRZWDVCdU5OWVJxNEhsMmw3NWJzRGxuUE0y?=
 =?utf-8?B?aytPeVNLR1ZGVXFmdDdGYXAxRyt1R2h0ZWpqTDFpSitsZTFHZGdTZ1FBUzkw?=
 =?utf-8?B?emRSVzNFWldQbjhqTEwrd2d2MmdkMVJ1SkdHMFpzZWpxbDlCYTZZNmJKNHJ1?=
 =?utf-8?B?QWdkSWtRYS9zaFNGc2Ixa1VyMTByVG9mRnorSG0vSHcwNEpvUHpSZ2d4WWVH?=
 =?utf-8?B?dmszdXlkL3ZFM2I3OWRHWnBpOXZmQmY3Tkd0dmdXa0dMaEErQTNQcjV2M0x5?=
 =?utf-8?B?dmVsZEhxSmo3MEU2TjdVbzNYTXBkc0pWYTRjblZLaTV5VWtMcE53OVBsalda?=
 =?utf-8?B?RXo2TkRIRGJkUks4c2MzTkhOTzNUYUxuWTkvV0o0S0ZJZXJtSmk1aUNSdU15?=
 =?utf-8?B?S1dBVnJ6a3pTeHlRL1huMHhKQk5HR1pTalN2SEYremJvanJpelpXa2E4R0VX?=
 =?utf-8?B?NFdaem5XTDVOZjdwTVU0QUo3elA5azlmVC9VNm0xMkpZcVlCQTY3SGVDeksr?=
 =?utf-8?Q?ScUIPe7MIgTxLqoXItwjlADdHYgrMw=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(36860700013)(35042699022)(82310400026)(376014)(1800799024)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2025 09:24:59.8129
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 73dead6b-2310-4cd7-7401-08dd685a40b0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509F1.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10399

SGkgSmVucywNCg0KPiBPbiAyMSBNYXIgMjAyNSwgYXQgMDk6NTUsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gTW9uLCBNYXIgMTAsIDIwMjUgYXQgMzo1MeKAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4g
PGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IFdoZW4gVk0gdG8gVk0g
c3VwcG9ydCBpcyBhY3RpdmF0ZWQgYW5kIHRoZXJlIGlzIG5vIHN1aXRhYmxlIEZGLUEgc3VwcG9y
dA0KPj4gaW4gdGhlIGZpcm13YXJlLCBlbmFibGUgRkYtQSBzdXBwb3J0IGZvciBWTXMgdG8gYWxs
b3cgdXNpbmcgaXQgZm9yIFZNIHRvDQo+PiBWTSBjb21tdW5pY2F0aW9ucy4NCj4+IElmIHRoZXJl
IGlzIE9wdGVlIHJ1bm5pbmcgaW4gdGhlIHNlY3VyZSB3b3JsZCBhbmQgdXNpbmcgdGhlIG5vbiBG
Ri1BDQo+IA0KPiBJdCdzIHNwZWxsZWQgT1AtVEVFIGluIHRleHQsIGFuZCBvcHRlZSBvciBPUFRF
RSBpbiBpZGVudGlmaWVycy4NCg0KYWNrDQoNCj4gDQo+PiBjb21tdW5pY2F0aW9uIHN5c3RlbSwg
aGF2aW5nIENPTkZJR19GRkFfVk1fVE9fVk0gY291bGQgYmUgbm9uIGZ1bmN0aW9uYWwNCj4+IChp
ZiBvcHRlZSBpcyBwcm9iZWQgZmlyc3QpIG9yIE9wdGVlIGNvdWxkIGJlIG5vbiBmdW5jdGlvbmFs
IChpZiBGRi1BIGlzDQo+PiBwcm9iZWQgZmlyc3QpIHNvIGl0IGlzIG5vdCByZWNvbW1lbmRlZCB0
byBhY3RpdmF0ZSB0aGUgY29uZmlndXJhdGlvbg0KPj4gb3B0aW9uIGZvciBzdWNoIHN5c3RlbXMu
DQo+PiANCj4+IFRvIG1ha2UgYnVmZmVyIGZ1bGwgbm90aWZpY2F0aW9uIHdvcmsgYmV0d2VlbiBW
TXMgd2hlbiB0aGVyZSBpcyBub3QNCj4gDQo+IHMvbm90L25vLw0KDQphY2sNCg0KPiANCj4+IGZp
cm13YXJlLCByZXdvcmsgdGhlIG5vdGlmaWNhdGlvbiBoYW5kbGluZyBhbmQgbW9kaWZ5IHRoZSBn
bG9iYWwgZmxhZyB0bw0KPj4gb25seSBiZSB1c2VkIGFzIGNoZWNrIGZvciBmaXJtd2FyZSBub3Rp
ZmljYXRpb24gc3VwcG9ydCBpbnN0ZWFkLg0KPj4gDQo+PiBNb2RpZnkgcGFydF9pbmZvX2dldCB0
byByZXR1cm4gdGhlIGxpc3Qgb2YgVk1zIHdoZW4gdGhlcmUgaXMgbm8gZmlybXdhcmUNCj4+IHN1
cHBvcnQuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IEJlcnRyYW5kIE1hcnF1aXMgPGJlcnRyYW5k
Lm1hcnF1aXNAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gQ2hhbmdlcyBpbiB2MjoNCj4+IC0gcmVwbGFj
ZSBpZmRlZiB3aXRoIElTX0VOQUJMRUQgd2hlbiBwb3NzaWJsZQ0KPj4gLS0tDQo+PiB4ZW4vYXJj
aC9hcm0vdGVlL2ZmYS5jICAgICAgICAgIHwgIDEyICsrKy0NCj4+IHhlbi9hcmNoL2FybS90ZWUv
ZmZhX25vdGlmLmMgICAgfCAxMTQgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4+
IHhlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMgfCAgIDMgKy0NCj4+IDMgZmlsZXMgY2hh
bmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgNjAgZGVsZXRpb25zKC0pDQo+PiANCj4+IGRpZmYgLS1n
aXQgYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jIGIveGVuL2FyY2gvYXJtL3RlZS9mZmEuYw0KPj4g
aW5kZXggM2JiZGQ3MTY4YTZiLi5mNjU4MmQyZTg1NWEgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJj
aC9hcm0vdGVlL2ZmYS5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+PiBAQCAt
MzI0LDggKzMyNCw5IEBAIHN0YXRpYyBpbnQgZmZhX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4g
KmQpDQo+PiAgICAgc3RydWN0IGZmYV9jdHggKmN0eDsNCj4+ICAgICBpbnQgcmV0Ow0KPj4gDQo+
PiAtICAgIGlmICggIWZmYV9md192ZXJzaW9uICkNCj4+ICsgICAgaWYgKCAhSVNfRU5BQkxFRChD
T05GSUdfRkZBX1ZNX1RPX1ZNKSAmJiAhZmZhX2Z3X3ZlcnNpb24gKQ0KPj4gICAgICAgICByZXR1
cm4gLUVOT0RFVjsNCj4+ICsNCj4+ICAgICAvKg0KPj4gICAgICAqIFdlIGFyZSB1c2luZyB0aGUg
ZG9tYWluX2lkICsgMSBhcyB0aGUgRkYtQSBJRCBmb3IgVk1zIGFzIEZGLUEgSUQgMCBpcw0KPj4g
ICAgICAqIHJlc2VydmVkIGZvciB0aGUgaHlwZXJ2aXNvciBhbmQgd2Ugb25seSBzdXBwb3J0IHNl
Y3VyZSBlbmRwb2ludHMgdXNpbmcNCj4+IEBAIC01NDksNiArNTUwLDE1IEBAIGVycl9ub19mdzoN
Cj4+ICAgICBiaXRtYXBfemVybyhmZmFfZndfYWJpX3N1cHBvcnRlZCwgRkZBX0FCSV9CSVRNQVBf
U0laRSk7DQo+PiAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJBUk0gRkYtQSBObyBmaXJtd2Fy
ZSBzdXBwb3J0XG4iKTsNCj4+IA0KPj4gKyAgICBpZiAoIElTX0VOQUJMRUQoQ09ORklHX0ZGQV9W
TV9UT19WTSkgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBJTklUX0xJU1RfSEVBRCgmZmZhX3Rl
YXJkb3duX2hlYWQpOw0KPj4gKyAgICAgICAgaW5pdF90aW1lcigmZmZhX3RlYXJkb3duX3RpbWVy
LCBmZmFfdGVhcmRvd25fdGltZXJfY2FsbGJhY2ssIE5VTEwsIDApOw0KPj4gKw0KPj4gKyAgICAg
ICAgcHJpbnRrKFhFTkxPR19JTkZPICJBUk0gRkYtQSBvbmx5IGF2YWlsYWJsZSBiZXR3ZWVuIFZN
c1xuIik7DQo+PiArICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gICAg
IHJldHVybiBmYWxzZTsNCj4+IH0NCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90
ZWUvZmZhX25vdGlmLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3RpZi5jDQo+PiBpbmRleCBk
MTlhYTVjNWJlZjYuLjA2NzNlNTNhOWRlZiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS90
ZWUvZmZhX25vdGlmLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlmLmMNCj4+
IEBAIC0xNiw3ICsxNiw3IEBADQo+PiANCj4+ICNpbmNsdWRlICJmZmFfcHJpdmF0ZS5oIg0KPj4g
DQo+PiAtc3RhdGljIGJvb2wgX19yb19hZnRlcl9pbml0IG5vdGlmX2VuYWJsZWQ7DQo+PiArc3Rh
dGljIGJvb2wgX19yb19hZnRlcl9pbml0IGZ3X25vdGlmX2VuYWJsZWQ7DQo+PiBzdGF0aWMgdW5z
aWduZWQgaW50IF9fcm9fYWZ0ZXJfaW5pdCBub3RpZl9zcmlfaXJxOw0KPj4gDQo+PiBpbnQgZmZh
X2hhbmRsZV9ub3RpZmljYXRpb25fYmluZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+
IEBAIC0yNywyMSArMjcsMTcgQEAgaW50IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2JpbmQoc3Ry
dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgdWludDMyX3QgYml0bWFwX2xvID0gZ2V0
X3VzZXJfcmVnKHJlZ3MsIDMpOw0KPj4gICAgIHVpbnQzMl90IGJpdG1hcF9oaSA9IGdldF91c2Vy
X3JlZyhyZWdzLCA0KTsNCj4+IA0KPj4gLSAgICBpZiAoICFub3RpZl9lbmFibGVkICkNCj4+IC0g
ICAgICAgIHJldHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+PiAtDQo+PiAgICAgaWYgKCAo
c3JjX2RzdCAmIDB4RkZGRlUpICE9IGZmYV9nZXRfdm1faWQoZCkgKQ0KPj4gICAgICAgICByZXR1
cm4gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+PiANCj4+ICAgICBpZiAoIGZsYWdzICkg
ICAgLyogT25seSBnbG9iYWwgbm90aWZpY2F0aW9ucyBhcmUgc3VwcG9ydGVkICovDQo+PiAgICAg
ICAgIHJldHVybiBGRkFfUkVUX0RFTklFRDsNCj4+IA0KPj4gLSAgICAvKg0KPj4gLSAgICAgKiBX
ZSBvbmx5IHN1cHBvcnQgbm90aWZpY2F0aW9ucyBmcm9tIFNQIHNvIG5vIG5lZWQgdG8gY2hlY2sg
dGhlIHNlbmRlcg0KPj4gLSAgICAgKiBlbmRwb2ludCBJRCwgdGhlIFNQTUMgd2lsbCB0YWtlIGNh
cmUgb2YgdGhhdCBmb3IgdXMuDQo+PiAtICAgICAqLw0KPj4gLSAgICByZXR1cm4gZmZhX3NpbXBs
ZV9jYWxsKEZGQV9OT1RJRklDQVRJT05fQklORCwgc3JjX2RzdCwgZmxhZ3MsIGJpdG1hcF9sbywN
Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBfaGkpOw0KPj4gKyAgICBpZiAo
IEZGQV9JRF9JU19TRUNVUkUoc3JjX2RzdD4+MTYpICYmIGZ3X25vdGlmX2VuYWJsZWQgKQ0KPiAN
Cj4gUGxlYXNlIGFkZCBzcGFjZSBiZWZvcmUgYW5kIGFmdGVyICc+PicsIGhlcmUgYW5kIGluIHRo
ZSBmdW5jdGlvbiBiZWxvdw0KPiBpbiB0aGlzIHBhdGNoLg0KDQphY2sNCg0KPiANCj4+ICsgICAg
ICAgIHJldHVybiBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNBVElPTl9CSU5ELCBzcmNfZHN0
LCBmbGFncywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX2xvLCBi
aXRtYXBfaGkpOw0KPj4gKw0KPj4gKyAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0K
Pj4gfQ0KPj4gDQo+PiBpbnQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fdW5iaW5kKHN0cnVjdCBj
cHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gQEAgLTUxLDMyICs0NywzNCBAQCBpbnQgZmZhX2hhbmRs
ZV9ub3RpZmljYXRpb25fdW5iaW5kKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gICAg
IHVpbnQzMl90IGJpdG1hcF9sbyA9IGdldF91c2VyX3JlZyhyZWdzLCAzKTsNCj4+ICAgICB1aW50
MzJfdCBiaXRtYXBfaGkgPSBnZXRfdXNlcl9yZWcocmVncywgNCk7DQo+PiANCj4+IC0gICAgaWYg
KCAhbm90aWZfZW5hYmxlZCApDQo+PiAtICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9S
VEVEOw0KPj4gLQ0KPj4gICAgIGlmICggKHNyY19kc3QgJiAweEZGRkZVKSAhPSBmZmFfZ2V0X3Zt
X2lkKGQpICkNCj4+ICAgICAgICAgcmV0dXJuIEZGQV9SRVRfSU5WQUxJRF9QQVJBTUVURVJTOw0K
Pj4gDQo+PiAtICAgIC8qDQo+PiAtICAgICAqIFdlIG9ubHkgc3VwcG9ydCBub3RpZmljYXRpb25z
IGZyb20gU1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUNCj4+IC0gICAgICogZGVzdGluYXRpb24g
ZW5kcG9pbnQgSUQsIHRoZSBTUE1DIHdpbGwgdGFrZSBjYXJlIG9mIHRoYXQgZm9yIHVzLg0KPj4g
LSAgICAgKi8NCj4+IC0gICAgcmV0dXJuICBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNBVElP
Tl9VTkJJTkQsIHNyY19kc3QsIDAsIGJpdG1hcF9sbywNCj4+IC0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYml0bWFwX2hpKTsNCj4+ICsgICAgaWYgKCBGRkFfSURfSVNfU0VDVVJFKHNyY19k
c3Q+PjE2KSAmJiBmd19ub3RpZl9lbmFibGVkICkNCj4+ICsgICAgICAgIHJldHVybiAgZmZhX3Np
bXBsZV9jYWxsKEZGQV9OT1RJRklDQVRJT05fVU5CSU5ELCBzcmNfZHN0LCAwLCBiaXRtYXBfbG8s
DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBfaGkpOw0KPj4gKw0K
Pj4gKyAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4gfQ0KPj4gDQo+PiB2b2lk
IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2luZm9fZ2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy
ZWdzKQ0KPj4gew0KPj4gICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+
PiAgICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4gKyAgICBib29sIG5v
dGlmX3BlbmRpbmcgPSBmYWxzZTsNCj4+IA0KPj4gLSAgICBpZiAoICFub3RpZl9lbmFibGVkICkN
Cj4+ICsgICAgaWYgKCAhSVNfRU5BQkxFRChDT05GSUdfRkZBX1ZNX1RPX1ZNKSAmJiAhZndfbm90
aWZfZW5hYmxlZCApDQo+PiAgICAgew0KPj4gICAgICAgICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVn
cywgRkZBX1JFVF9OT1RfU1VQUE9SVEVEKTsNCj4+ICAgICAgICAgcmV0dXJuOw0KPj4gICAgIH0N
Cj4+IA0KPj4gLSAgICBpZiAoIHRlc3RfYW5kX2NsZWFyX2Jvb2woY3R4LT5ub3RpZi5zZWN1cmVf
cGVuZGluZykgKQ0KPj4gKyAgICBub3RpZl9wZW5kaW5nID0gY3R4LT5ub3RpZi5zZWN1cmVfcGVu
ZGluZzsNCj4+ICsjaWZkZWYgQ09ORklHX0ZGQV9WTV9UT19WTQ0KPj4gKyAgICBub3RpZl9wZW5k
aW5nIHw9IGN0eC0+bm90aWYuYnVmZl9mdWxsX3BlbmRpbmc7DQo+PiArI2VuZGlmDQo+IA0KPiBT
aG91bGRuJ3QgY3R4LT5ub3RpZi5zZWN1cmVfcGVuZGluZyBhbmQgY3R4LT5ub3RpZi5zZWN1cmVf
cGVuZGluZyBiZQ0KPiBjbGVhcmVkIGFsc28sIGxpa2U6DQo+IG5vdGlmX3BlbmRpbmcgPSB0ZXN0
X2FuZF9jbGVhcl9ib29sKGN0eC0+bm90aWYuc2VjdXJlX3BlbmRpbmcpIHx8DQo+ICAgICAgICAg
ICAgICAgIHRlc3RfYW5kX2NsZWFyX2Jvb2woY3R4LT5ub3RpZi5idWZmX2Z1bGxfcGVuZGluZyk7
DQoNCk5vdGlmaWNhdGlvbiBpbmZvIGdldCBpcyByZXR1cm5pbmcgd2hvIGhhcyBwZW5kaW5nIG5v
dGlmaWNhdGlvbiBidXQgb25seQ0Kbm90aWZpY2F0aW9uIGdldCBzaG91bGQgZXJhc2UgcGVuZGlu
ZyBub3RpZmljYXRpb25zLg0KDQo+IA0KPj4gKw0KPj4gKyAgICBpZiAoIG5vdGlmX3BlbmRpbmcg
KQ0KPj4gICAgIHsNCj4+ICAgICAgICAgLyogQSBwZW5kaW5nIGdsb2JhbCBub3RpZmljYXRpb24g
Zm9yIHRoZSBndWVzdCAqLw0KPj4gICAgICAgICBmZmFfc2V0X3JlZ3MocmVncywgRkZBX1NVQ0NF
U1NfNjQsIDAsDQo+PiBAQCAtMTAzLDcgKzEwMSw3IEBAIHZvaWQgZmZhX2hhbmRsZV9ub3RpZmlj
YXRpb25fZ2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gICAgIHVpbnQzMl90IHc2
ID0gMDsNCj4+ICAgICB1aW50MzJfdCB3NyA9IDA7DQo+PiANCj4+IC0gICAgaWYgKCAhbm90aWZf
ZW5hYmxlZCApDQo+PiArICAgIGlmICggIUlTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkg
JiYgIWZ3X25vdGlmX2VuYWJsZWQgKQ0KPj4gICAgIHsNCj4+ICAgICAgICAgZmZhX3NldF9yZWdz
X2Vycm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+PiAgICAgICAgIHJldHVybjsN
Cj4+IEBAIC0xMTUsNyArMTEzLDggQEAgdm9pZCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9nZXQo
c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgICAgIHJldHVybjsNCj4+ICAgICB9
DQo+PiANCj4+IC0gICAgaWYgKCBmbGFncyAmICggRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQIHwg
RkZBX05PVElGX0ZMQUdfQklUTUFQX1NQTSApICkNCj4+ICsgICAgaWYgKCBmd19ub3RpZl9lbmFi
bGVkICYmIChmbGFncyAmICggRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQDQo+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQ
TSApKSApDQo+IA0KPiBQbGVhc2UgZW5kIHRoZSBwcmV2aW91cyBsaW5lIHdpdGggdGhlICd8JyBv
cGVyYXRvci4NCg0KYWNrDQoNCj4gDQo+PiAgICAgew0KPj4gICAgICAgICBzdHJ1Y3QgYXJtX3Nt
Y2NjXzFfMl9yZWdzIGFyZyA9IHsNCj4+ICAgICAgICAgICAgIC5hMCA9IEZGQV9OT1RJRklDQVRJ
T05fR0VULA0KPj4gQEAgLTE3MCwxNSArMTY5LDE0IEBAIGludCBmZmFfaGFuZGxlX25vdGlmaWNh
dGlvbl9zZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgdWludDMyX3QgYml0
bWFwX2xvID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpOw0KPj4gICAgIHVpbnQzMl90IGJpdG1hcF9o
aSA9IGdldF91c2VyX3JlZyhyZWdzLCA0KTsNCj4+IA0KPj4gLSAgICBpZiAoICFub3RpZl9lbmFi
bGVkICkNCj4+IC0gICAgICAgIHJldHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+PiAtDQo+
PiAgICAgaWYgKCAoc3JjX2RzdCA+PiAxNikgIT0gZmZhX2dldF92bV9pZChkKSApDQo+PiAgICAg
ICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+IA0KPj4gLSAgICAvKiBM
ZXQgdGhlIFNQTUMgY2hlY2sgdGhlIGRlc3RpbmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gKi8N
Cj4+IC0gICAgcmV0dXJuIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9USUZJQ0FUSU9OX1NFVCwgc3Jj
X2RzdCwgZmxhZ3MsIGJpdG1hcF9sbywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICBi
aXRtYXBfaGkpOw0KPj4gKyAgICBpZiAoIEZGQV9JRF9JU19TRUNVUkUoc3JjX2RzdD4+MTYpICYm
IGZ3X25vdGlmX2VuYWJsZWQgKQ0KPj4gKyAgICAgICAgcmV0dXJuIGZmYV9zaW1wbGVfY2FsbChG
RkFfTk9USUZJQ0FUSU9OX1NFVCwgc3JjX2RzdCwgZmxhZ3MsIGJpdG1hcF9sbywNCj4+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX2hpKTsNCj4+ICsNCj4+ICsgICAgcmV0
dXJuIEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+IH0NCj4+IA0KPj4gI2lmZGVmIENPTkZJR19G
RkFfVk1fVE9fVk0NCj4+IEBAIC0xOTAsNyArMTg4LDcgQEAgdm9pZCBmZmFfcmFpc2VfcnhfYnVm
ZmVyX2Z1bGwoc3RydWN0IGRvbWFpbiAqZCkNCj4+ICAgICAgICAgcmV0dXJuOw0KPj4gDQo+PiAg
ICAgaWYgKCAhdGVzdF9hbmRfc2V0X2Jvb2woY3R4LT5ub3RpZi5idWZmX2Z1bGxfcGVuZGluZykg
KQ0KPj4gLSAgICAgICAgdmdpY19pbmplY3RfaXJxKGQsIGQtPnZjcHVbMF0sIG5vdGlmX3NyaV9p
cnEsIHRydWUpOw0KPj4gKyAgICAgICAgdmdpY19pbmplY3RfaXJxKGQsIGQtPnZjcHVbMF0sIEdV
RVNUX0ZGQV9OT1RJRl9QRU5EX0lOVFJfSUQsIHRydWUpOw0KPiANCj4gUGxlYXNlIG1vdmUgdGhp
cyB0byB0aGUgcGF0Y2ggInhlbi9hcm06IGZmYTogQWRkIGJ1ZmZlciBmdWxsDQo+IG5vdGlmaWNh
dGlvbiBzdXBwb3J0Ig0KDQpBY2sNCg0KPiANCj4+IH0NCj4+ICNlbmRpZg0KPj4gDQo+PiBAQCAt
MzYzLDcgKzM2MSw3IEBAIHZvaWQgZmZhX25vdGlmX2luaXRfaW50ZXJydXB0KHZvaWQpDQo+PiB7
DQo+PiAgICAgaW50IHJldDsNCj4+IA0KPj4gLSAgICBpZiAoIG5vdGlmX2VuYWJsZWQgJiYgbm90
aWZfc3JpX2lycSA8IE5SX0dJQ19TR0kgKQ0KPj4gKyAgICBpZiAoIGZ3X25vdGlmX2VuYWJsZWQg
JiYgbm90aWZfc3JpX2lycSA8IE5SX0dJQ19TR0kgKQ0KPj4gICAgIHsNCj4+ICAgICAgICAgLyoN
Cj4+ICAgICAgICAgICogQW4gZXJyb3IgaGVyZSBpcyB1bmxpa2VseSBzaW5jZSB0aGUgcHJpbWFy
eSBDUFUgaGFzIGFscmVhZHkNCj4+IEBAIC0zOTQsNDEgKzM5Miw0MSBAQCB2b2lkIGZmYV9ub3Rp
Zl9pbml0KHZvaWQpDQo+PiAgICAgaW50IHJldDsNCj4+IA0KPj4gICAgIC8qIE9ubHkgZW5hYmxl
IGZ3IG5vdGlmaWNhdGlvbiBpZiBhbGwgQUJJcyB3ZSBuZWVkIGFyZSBzdXBwb3J0ZWQgKi8NCj4+
IC0gICAgaWYgKCAhKGZmYV9md19zdXBwb3J0c19maWQoRkZBX05PVElGSUNBVElPTl9CSVRNQVBf
Q1JFQVRFKSAmJg0KPj4gLSAgICAgICAgICAgZmZhX2Z3X3N1cHBvcnRzX2ZpZChGRkFfTk9USUZJ
Q0FUSU9OX0JJVE1BUF9ERVNUUk9ZKSAmJg0KPj4gLSAgICAgICAgICAgZmZhX2Z3X3N1cHBvcnRz
X2ZpZChGRkFfTk9USUZJQ0FUSU9OX0dFVCkgJiYNCj4+IC0gICAgICAgICAgIGZmYV9md19zdXBw
b3J0c19maWQoRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCkpICkNCj4+IC0gICAgICAgIHJl
dHVybjsNCj4+IC0NCj4+IC0gICAgYXJtX3NtY2NjXzFfMl9zbWMoJmFyZywgJnJlc3ApOw0KPj4g
LSAgICBpZiAoIHJlc3AuYTAgIT0gRkZBX1NVQ0NFU1NfMzIgKQ0KPj4gLSAgICAgICAgcmV0dXJu
Ow0KPj4gLQ0KPj4gLSAgICBpcnEgPSByZXNwLmEyOw0KPj4gLSAgICBub3RpZl9zcmlfaXJxID0g
aXJxOw0KPj4gLSAgICBpZiAoIGlycSA+PSBOUl9HSUNfU0dJICkNCj4+IC0gICAgICAgIGlycV9z
ZXRfdHlwZShpcnEsIElSUV9UWVBFX0VER0VfUklTSU5HKTsNCj4+IC0gICAgcmV0ID0gcmVxdWVz
dF9pcnEoaXJxLCAwLCBub3RpZl9pcnFfaGFuZGxlciwgIkZGLUEgbm90aWYiLCBOVUxMKTsNCj4+
IC0gICAgaWYgKCByZXQgKQ0KPj4gKyAgICBpZiAoIGZmYV9md19zdXBwb3J0c19maWQoRkZBX05P
VElGSUNBVElPTl9CSVRNQVBfQ1JFQVRFKSAmJg0KPj4gKyAgICAgICAgIGZmYV9md19zdXBwb3J0
c19maWQoRkZBX05PVElGSUNBVElPTl9CSVRNQVBfREVTVFJPWSkgJiYNCj4+ICsgICAgICAgICBm
ZmFfZndfc3VwcG9ydHNfZmlkKEZGQV9OT1RJRklDQVRJT05fR0VUKSAmJg0KPj4gKyAgICAgICAg
IGZmYV9md19zdXBwb3J0c19maWQoRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCkgKQ0KPj4g
ICAgIHsNCj4+IC0gICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJmZmE6IHJlcXVlc3RfaXJxIGly
cSAldSBmYWlsZWQ6IGVycm9yICVkXG4iLA0KPj4gLSAgICAgICAgICAgICAgIGlycSwgcmV0KTsN
Cj4+IC0gICAgICAgIHJldHVybjsNCj4+IC0gICAgfQ0KPj4gKyAgICAgICAgYXJtX3NtY2NjXzFf
Ml9zbWMoJmFyZywgJnJlc3ApOw0KPj4gKyAgICAgICAgaWYgKCByZXNwLmEwICE9IEZGQV9TVUND
RVNTXzMyICkNCj4+ICsgICAgICAgICAgICByZXR1cm47DQo+PiANCj4+IC0gICAgbm90aWZfZW5h
YmxlZCA9IHRydWU7DQo+PiArICAgICAgICBpcnEgPSByZXNwLmEyOw0KPj4gKyAgICAgICAgbm90
aWZfc3JpX2lycSA9IGlycTsNCj4+ICsgICAgICAgIGlmICggaXJxID49IE5SX0dJQ19TR0kgKQ0K
Pj4gKyAgICAgICAgICAgIGlycV9zZXRfdHlwZShpcnEsIElSUV9UWVBFX0VER0VfUklTSU5HKTsN
Cj4+ICsgICAgICAgIHJldCA9IHJlcXVlc3RfaXJxKGlycSwgMCwgbm90aWZfaXJxX2hhbmRsZXIs
ICJGRi1BIG5vdGlmIiwgTlVMTCk7DQo+PiArICAgICAgICBpZiAoIHJldCApDQo+PiArICAgICAg
ICB7DQo+PiArICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgImZmYTogcmVxdWVzdF9pcnEg
aXJxICV1IGZhaWxlZDogZXJyb3IgJWRcbiIsDQo+PiArICAgICAgICAgICAgICAgICAgIGlycSwg
cmV0KTsNCj4+ICsgICAgICAgICAgICByZXR1cm47DQo+PiArICAgICAgICB9DQo+PiArICAgICAg
ICBmd19ub3RpZl9lbmFibGVkID0gdHJ1ZTsNCj4+ICsgICAgfQ0KPj4gfQ0KPj4gDQo+PiBpbnQg
ZmZhX25vdGlmX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpDQo+PiB7DQo+PiAgICAgaW50
MzJfdCByZXM7DQo+PiANCj4+IC0gICAgaWYgKCAhbm90aWZfZW5hYmxlZCApDQo+PiAtICAgICAg
ICByZXR1cm4gMDsNCj4+ICsgICAgaWYgKCBmd19ub3RpZl9lbmFibGVkICkNCj4+ICsgICAgew0K
Pj4gDQo+PiAtICAgIHJlcyA9IGZmYV9ub3RpZmljYXRpb25fYml0bWFwX2NyZWF0ZShmZmFfZ2V0
X3ZtX2lkKGQpLCBkLT5tYXhfdmNwdXMpOw0KPj4gLSAgICBpZiAoIHJlcyApDQo+PiAtICAgICAg
ICByZXR1cm4gLUVOT01FTTsNCj4+ICsgICAgICAgIHJlcyA9IGZmYV9ub3RpZmljYXRpb25fYml0
bWFwX2NyZWF0ZShmZmFfZ2V0X3ZtX2lkKGQpLCBkLT5tYXhfdmNwdXMpOw0KPj4gKyAgICAgICAg
aWYgKCByZXMgKQ0KPj4gKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4gKyAgICB9DQo+
PiANCj4+ICAgICByZXR1cm4gMDsNCj4+IH0NCj4+IEBAIC00MzksNiArNDM3LDYgQEAgdm9pZCBm
ZmFfbm90aWZfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkNCj4+ICAgICAgKiBDYWxs
IGJpdG1hcF9kZXN0cm95IGV2ZW4gaWYgYml0bWFwIGNyZWF0ZSBmYWlsZWQgYXMgdGhlIFNQTUMg
d2lsbA0KPj4gICAgICAqIHJldHVybiBhIERFTklFRCBlcnJvciB0aGF0IHdlIHdpbGwgaWdub3Jl
Lg0KPj4gICAgICAqLw0KPj4gLSAgICBpZiAoIG5vdGlmX2VuYWJsZWQgKQ0KPj4gKyAgICBpZiAo
IGZ3X25vdGlmX2VuYWJsZWQgKQ0KPj4gICAgICAgICBmZmFfbm90aWZpY2F0aW9uX2JpdG1hcF9k
ZXN0cm95KGZmYV9nZXRfdm1faWQoZCkpOw0KPj4gfQ0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L2FybS90ZWUvZmZhX3BhcnRpbmZvLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5j
DQo+PiBpbmRleCA3YWYxZWNhMmQwYzQuLjI5MTM5NmM4ZjYzNSAxMDA2NDQNCj4+IC0tLSBhL3hl
bi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUv
ZmZhX3BhcnRpbmZvLmMNCj4+IEBAIC0xMzAsNyArMTMwLDggQEAgdm9pZCBmZmFfaGFuZGxlX3Bh
cnRpdGlvbl9pbmZvX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICAgICAgICAg
Z290byBvdXQ7DQo+PiAgICAgfQ0KPj4gDQo+PiAtICAgIGlmICggIWZmYV9md19zdXBwb3J0c19m
aWQoRkZBX1BBUlRJVElPTl9JTkZPX0dFVCkgKQ0KPj4gKyAgICBpZiAoICFJU19FTkFCTEVEKENP
TkZJR19GRkFfVk1fVE9fVk0pICYmDQo+IA0KPiBEb2Vzbid0IHRoaXMgYmVsb25nIGluIHRoZSBw
YXRjaCAieGVuL2FybTogZmZhOiBJbnRyb2R1Y2UgVk0gdG8gVk0gc3VwcG9ydCI/DQo+IEFuZCB3
b3VsZG4ndCBmZmFfdm1fY291bnQgbWFrZSBtb3JlIHNlbnNlPw0KDQphY2suIEkgd2lsbCBtb2Rp
ZnkgdGhhdCBhbmQgZm9sZCBpdCBpbnRvIHRoZSBWTSB0byBWTSBzdXBwb3J0IHBhdGNoLg0KDQpD
aGVlcnMNCkJlcnRyYW5kDQoNCj4gDQo+IENoZWVycywNCj4gSmVucw0KPiANCj4+ICsgICAgICAg
ICAhZmZhX2Z3X3N1cHBvcnRzX2ZpZChGRkFfUEFSVElUSU9OX0lORk9fR0VUKSApDQo+PiAgICAg
ew0KPj4gICAgICAgICAvKiBKdXN0IGdpdmUgYW4gZW1wdHkgcGFydGl0aW9uIGxpc3QgdG8gdGhl
IGNhbGxlciAqLw0KPj4gICAgICAgICByZXQgPSBGRkFfUkVUX09LOw0KPj4gLS0NCj4+IDIuNDcu
MQ0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:25:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923437.1326973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYco-00068u-Lu; Fri, 21 Mar 2025 09:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923437.1326973; Fri, 21 Mar 2025 09:25: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 1tvYco-00066x-HJ; Fri, 21 Mar 2025 09:25:10 +0000
Received: by outflank-mailman (input) for mailman id 923437;
 Fri, 21 Mar 2025 09:25: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYcn-0005O8-5y
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:09 +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 607882c9-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:06 +0100 (CET)
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 16C0B1FB6B;
 Fri, 21 Mar 2025 09:25:05 +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 E256F139AA;
 Fri, 21 Mar 2025 09:25:04 +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 uPntNXAw3WcMGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 607882c9-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549106; 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=6IP6J3kfl4TGG5FGABs3QGnbBU7DiqQjA7lmH2hLfXY=;
	b=H7XhyrjUW6MgnSryG8LlzLEjDns0ddCUJ118psc3nwGjmUVHwbi8/2VeKyOfDmv6uk2e95
	xi4Unk3gJ1x6r/wqMyQBHThqJByR+vUthgF1BVbOTgO3Lb08wis4td8RfeJSlIW5SOvl3p
	tG/5nDWbtHJm7wNvgzMRApyvw0AJj5U=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=Do63NN3p
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549105; 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=6IP6J3kfl4TGG5FGABs3QGnbBU7DiqQjA7lmH2hLfXY=;
	b=Do63NN3ph9qYPCwxUmOXrG4JfruyEBDHCMH/V7AR1eyijTj4+QrStvaSp/kRySjKVID4Y+
	oxxZ2rrQurGslxkp+s5rs4qTWcuAlhpRMzpgOMyCgBm7CE9iC9qASX8s8dmTmfQ/KrwR1f
	TICHl4TMrOPkzFQHbkaS+5m07NV4YGw=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 02/12] kexec: add final kexec stage
Date: Fri, 21 Mar 2025 10:24:41 +0100
Message-ID: <20250321092451.17309-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 16C0B1FB6B
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:email,suse.com:dkim,suse.com:mid];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

Add the code and data definitions of the final kexec stage.

Put the code and related data into a dedicated section in order to be
able to copy it to another location. For this reason there must be no
absolute relocations being used in the code or data.

Being functionally related, add a function for adding a final kexec
action.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c          | 109 ++++++++++++++++++++++++++++++++++++++
 arch/x86/minios-x86.lds.S |   8 +++
 arch/x86/x86_hvm.S        |  46 ++++++++++++++++
 include/kexec.h           |  27 ++++++++++
 include/x86/os.h          |   5 ++
 kexec.c                   |  22 ++++++++
 6 files changed, 217 insertions(+)
 create mode 100644 arch/x86/kexec.c

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
new file mode 100644
index 00000000..bf247797
--- /dev/null
+++ b/arch/x86/kexec.c
@@ -0,0 +1,109 @@
+/******************************************************************************
+ * kexec.c
+ *
+ * Support of kexec (reboot locally into new mini-os kernel).
+ *
+ * Copyright (c) 2024, Juergen Gross, SUSE Linux GmbH
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifdef CONFIG_KEXEC
+
+#include <mini-os/os.h>
+#include <mini-os/lib.h>
+#include <mini-os/kexec.h>
+
+/*
+ * Final stage of kexec. Copies all data to the final destinations, zeroes
+ * .bss and activates new kernel.
+ * Must be called with interrupts off. Stack, code and data must be
+ * accessible via identity mapped virtual addresses (virt == phys). Copying
+ * and zeroing is done using virtual addresses.
+ * No relocations inside the function are allowed, as it is copied to an
+ * allocated page before being executed.
+ */
+static void __attribute__((__section__(".text.kexec")))
+    kexec_final(struct kexec_action *actions, unsigned long real)
+{
+    char *src, *dest;
+    unsigned int a, cnt;
+
+    for ( a = 0; ; a++ )
+    {
+        switch ( actions[a].action )
+        {
+        case KEXEC_COPY:
+            dest = actions[a].dest;
+            src = actions[a].src;
+            for ( cnt = 0; cnt < actions[a].len; cnt++ )
+                *dest++ = *src++;
+            break;
+
+        case KEXEC_ZERO:
+            dest = actions[a].dest;
+            for ( cnt = 0; cnt < actions[a].len; cnt++ )
+                *dest++ = 0;
+            break;
+
+        case KEXEC_CALL:
+            asm("movl %0, %%ebx\n\t"
+                "movl %1, %%edi\n\t"
+                "jmp *%2"
+                :"=m" (actions[a].src), "=m" (actions[a].dest)
+                :"m" (real));
+            break;
+        }
+    }
+}
+
+#define KEXEC_STACK_LONGS  8
+static unsigned long __attribute__((__section__(".data.kexec")))
+    kexec_stack[KEXEC_STACK_LONGS];
+
+static unsigned long get_kexec_addr(void *kexec_page, void *addr)
+{
+    unsigned long off = (unsigned long)addr - (unsigned long)_kexec_start;
+
+    return (unsigned long)kexec_page + off;
+}
+
+void do_kexec(void *kexec_page)
+{
+    unsigned long actions;
+    unsigned long stack;
+    unsigned long final;
+    unsigned long phys;
+
+    actions = get_kexec_addr(kexec_page, kexec_actions);
+    stack = get_kexec_addr(kexec_page, kexec_stack + KEXEC_STACK_LONGS);
+    final = get_kexec_addr(kexec_page, kexec_final);
+    phys = get_kexec_addr(kexec_page, kexec_phys);
+
+    memcpy(kexec_page, _kexec_start, KEXEC_SECSIZE);
+    asm("cli\n\t"
+        "mov %0, %%"ASM_SP"\n\t"
+        "mov %1, %%"ASM_ARG1"\n\t"
+        "mov %2, %%"ASM_ARG2"\n\t"
+        "jmp *%3"
+        :"=m" (stack), "=m" (actions), "=m" (phys)
+        :"m" (final));
+}
+
+#endif /* CONFIG_KEXEC */
diff --git a/arch/x86/minios-x86.lds.S b/arch/x86/minios-x86.lds.S
index 8aae2fd6..83ec41ce 100644
--- a/arch/x86/minios-x86.lds.S
+++ b/arch/x86/minios-x86.lds.S
@@ -87,6 +87,14 @@ SECTIONS
 
         _edata = .;			/* End of data section */
 
+        . = ALIGN(8);
+        _kexec_start = .;		/* Kexec relocatable code/data */
+        .kexec : {
+                *(.text.kexec)
+                *(.data.kexec)
+        }
+        _kexec_end = .;
+
         __bss_start = .;		/* BSS */
         .bss : {
                 *(.bss)
diff --git a/arch/x86/x86_hvm.S b/arch/x86/x86_hvm.S
index 42a5f02e..e2f82e96 100644
--- a/arch/x86/x86_hvm.S
+++ b/arch/x86/x86_hvm.S
@@ -85,4 +85,50 @@ page_table_l2:
 #endif
         .align __PAGE_SIZE, 0
 
+#ifdef CONFIG_KEXEC
+.section .text.kexec, "ax", @progbits
+
+/*
+ * Switch off paging and call new OS for kexec.
+ * %ebx holds the physical address of the start_info structure
+ * %edi holds the physical address of the entry point to call
+ */
+.globl kexec_phys
+kexec_phys:
+        /* Set DS, ES, SS to 0...ffffffff. */
+        mov $(GDTE_DS32_DPL0 * 8), %eax
+        mov %eax, %ds
+        mov %eax, %es
+        mov %eax, %ss
+
+#ifdef __x86_64__
+        /* Switch to 32-bit mode. */
+        pushq $(GDTE_CS32_DPL0 * 8)
+        lea cs32_switch(%rip),%edx
+        push %rdx
+        lretq
+
+        .code32
+cs32_switch:
+#endif
+        /* Set %cr0 and %cr4 (disables paging). */
+        mov $X86_CR0_PE, %eax
+        mov %eax, %cr0
+        mov $0, %eax
+        mov %eax, %cr4
+#ifdef __x86_64__
+        /* Disable 64-bit mode. */
+        mov $MSR_EFER, %ecx
+        rdmsr
+        btr $_EFER_LME, %eax
+        wrmsr
+#endif
+
+        jmp *%edi
+
+#ifdef __x86_64__
+        .code64
+#endif
+#endif /* CONFIG_KEXEC */
+
 .text
diff --git a/include/kexec.h b/include/kexec.h
index 6fd96774..722be456 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -1,7 +1,34 @@
 #ifndef _KEXEC_H
 #define _KEXEC_H
 
+/* One element of kexec actions (last element must have action KEXEC_CALL): */
+struct kexec_action {
+    enum {
+        KEXEC_COPY,   /* Copy len bytes from src to dest. */
+        KEXEC_ZERO,   /* Zero len bytes at dest. */
+        KEXEC_CALL    /* Call dest with paging turned off, param is src. */
+    } action;
+    unsigned int len;
+    void *dest;
+    void *src;
+};
+
+#define KEXEC_MAX_ACTIONS  16
+
+extern char _kexec_start[], _kexec_end[];
+extern struct kexec_action kexec_actions[KEXEC_MAX_ACTIONS];
+
+int kexec_add_action(int action, void *dest, void *src, unsigned int len);
+
+#define KEXEC_SECSIZE ((unsigned long)_kexec_end - (unsigned long)_kexec_start)
+
 int kexec(void *kernel, unsigned long kernel_size,
           const char *cmdline);
 
+/* Initiate final kexec stage. */
+void do_kexec(void *kexec_page);
+
+/* Assembler code for switching off paging and passing execution to new OS. */
+void kexec_phys(void);
+
 #endif /* _KEXEC_H */
diff --git a/include/x86/os.h b/include/x86/os.h
index 0095be13..8a057d81 100644
--- a/include/x86/os.h
+++ b/include/x86/os.h
@@ -27,6 +27,7 @@
 #define MSR_EFER          0xc0000080
 #define _EFER_LME         8             /* Long mode enable */
 
+#define X86_CR0_PE        0x00000001    /* Protected mode enable */
 #define X86_CR0_WP        0x00010000    /* Write protect */
 #define X86_CR0_PG        0x80000000    /* Paging */
 #define X86_CR4_PAE       0x00000020    /* enable physical address extensions */
@@ -64,9 +65,13 @@
 #if defined(__i386__)
 #define __SZ    "l"
 #define __REG   "e"
+#define ASM_ARG1 "eax"
+#define ASM_ARG2 "edx"
 #else
 #define __SZ    "q"
 #define __REG   "r"
+#define ASM_ARG1 "rdi"
+#define ASM_ARG2 "rsi"
 #endif
 
 #define ASM_SP  __REG"sp"
diff --git a/kexec.c b/kexec.c
index 53528169..849a98e4 100644
--- a/kexec.c
+++ b/kexec.c
@@ -60,3 +60,25 @@ int kexec(void *kernel, unsigned long kernel_size,
     return ENOSYS;
 }
 EXPORT_SYMBOL(kexec);
+
+struct kexec_action __attribute__((__section__(".data.kexec")))
+    kexec_actions[KEXEC_MAX_ACTIONS];
+static unsigned int act_idx;
+
+int kexec_add_action(int action, void *dest, void *src, unsigned int len)
+{
+    struct kexec_action *act;
+
+    if ( act_idx == KEXEC_MAX_ACTIONS )
+        return -ENOSPC;
+
+    act = kexec_actions + act_idx;
+    act_idx++;
+
+    act->action = action;
+    act->len = len;
+    act->dest = dest;
+    act->src = src;
+
+    return 0;
+}
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:25:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923442.1326991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYct-0006eM-2j; Fri, 21 Mar 2025 09:25:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923442.1326991; Fri, 21 Mar 2025 09:25: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 1tvYcs-0006e4-UL; Fri, 21 Mar 2025 09:25:14 +0000
Received: by outflank-mailman (input) for mailman id 923442;
 Fri, 21 Mar 2025 09:25: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYcr-0005O8-6Z
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:13 +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 6320e932-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:11 +0100 (CET)
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 9FBF321CBC;
 Fri, 21 Mar 2025 09:25: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 76C10139AA;
 Fri, 21 Mar 2025 09:25:10 +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 E4WYG3Yw3WcYGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 6320e932-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549110; 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=iMWRBt5CGXERaPO06Vbkq8ejeIXBFGe0ATkvAiDSWpM=;
	b=LUIwIFlc/illNUWSIYY2hdD17DWH+AeZXRbkNFdiKaj5kS9nntqRnAzhy/8QG06VJe4tE0
	1ceWb+fNBeXQ2WdwRwdjX+OWJHnMcAgMgspdvyrdzf4Y0k4tKNo/zHAY9z+3HVoCtGL5xZ
	D6CKiZaPY2n+Sd//d0HPJ7lCNSVIyug=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=LUIwIFlc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549110; 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=iMWRBt5CGXERaPO06Vbkq8ejeIXBFGe0ATkvAiDSWpM=;
	b=LUIwIFlc/illNUWSIYY2hdD17DWH+AeZXRbkNFdiKaj5kS9nntqRnAzhy/8QG06VJe4tE0
	1ceWb+fNBeXQ2WdwRwdjX+OWJHnMcAgMgspdvyrdzf4Y0k4tKNo/zHAY9z+3HVoCtGL5xZ
	D6CKiZaPY2n+Sd//d0HPJ7lCNSVIyug=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 03/12] add elf.h
Date: Fri, 21 Mar 2025 10:24:42 +0100
Message-ID: <20250321092451.17309-4-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 9FBF321CBC
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

Add some definitions for accessing an ELF file. Only the file header
and the program header are needed.

The main source for those are elfstructs.h and libelf.h from the Xen
tree. The license boiler plate of those files is being kept in the
resulting header file.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/elf.h | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 340 insertions(+)
 create mode 100644 include/elf.h

diff --git a/include/elf.h b/include/elf.h
new file mode 100644
index 00000000..35a9c9fe
--- /dev/null
+++ b/include/elf.h
@@ -0,0 +1,340 @@
+#ifndef __ELF_H__
+#define __ELF_H__
+/*
+ * Copyright (c) 1995, 1996 Erik Theisen.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdbool.h>
+#include <mini-os/types.h>
+
+typedef uint32_t    Elf32_Addr;  /* Unsigned program address */
+typedef uint32_t    Elf32_Off;   /* Unsigned file offset */
+typedef uint16_t    Elf32_Half;  /* Unsigned medium integer */
+typedef uint32_t    Elf32_Word;  /* Unsigned large integer */
+
+typedef uint64_t    Elf64_Addr;
+typedef uint64_t    Elf64_Off;
+typedef uint16_t    Elf64_Half;
+typedef uint32_t    Elf64_Word;
+typedef uint64_t    Elf64_Xword;
+
+/* Unique build id string format when using --build-id. */
+#define NT_GNU_BUILD_ID 3
+
+/*
+ * e_ident[] identification indexes
+ * See http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html
+ */
+#define EI_MAG0        0         /* file ID */
+#define EI_MAG1        1         /* file ID */
+#define EI_MAG2        2         /* file ID */
+#define EI_MAG3        3         /* file ID */
+#define EI_CLASS       4         /* file class */
+#define EI_DATA        5         /* data encoding */
+#define EI_VERSION     6         /* ELF header version */
+#define EI_OSABI       7         /* OS/ABI ID */
+#define EI_ABIVERSION  8         /* ABI version */
+#define EI_PAD         9         /* start of pad bytes */
+#define EI_NIDENT     16         /* Size of e_ident[] */
+
+/* e_ident[] magic number */
+#define ELFMAG0        0x7f      /* e_ident[EI_MAG0] */
+#define ELFMAG1        'E'       /* e_ident[EI_MAG1] */
+#define ELFMAG2        'L'       /* e_ident[EI_MAG2] */
+#define ELFMAG3        'F'       /* e_ident[EI_MAG3] */
+#define ELFMAG         "\177ELF" /* magic */
+#define SELFMAG        4         /* size of magic */
+
+/* e_ident[] file class */
+#define ELFCLASSNONE   0         /* invalid */
+#define ELFCLASS32     1         /* 32-bit objs */
+#define ELFCLASS64     2         /* 64-bit objs */
+#define ELFCLASSNUM    3         /* number of classes */
+
+/* e_ident[] data encoding */
+#define ELFDATANONE    0         /* invalid */
+#define ELFDATA2LSB    1         /* Little-Endian */
+#define ELFDATA2MSB    2         /* Big-Endian */
+#define ELFDATANUM     3         /* number of data encode defines */
+
+/* e_ident[] Operating System/ABI */
+#define ELFOSABI_SYSV         0  /* UNIX System V ABI */
+#define ELFOSABI_NONE         0  /* Same as ELFOSABI_SYSV */
+#define ELFOSABI_HPUX         1  /* HP-UX operating system */
+#define ELFOSABI_NETBSD       2  /* NetBSD */
+#define ELFOSABI_LINUX        3  /* GNU/Linux */
+#define ELFOSABI_HURD         4  /* GNU/Hurd */
+#define ELFOSABI_86OPEN       5  /* 86Open common IA32 ABI */
+#define ELFOSABI_SOLARIS      6  /* Solaris */
+#define ELFOSABI_MONTEREY     7  /* Monterey */
+#define ELFOSABI_IRIX         8  /* IRIX */
+#define ELFOSABI_FREEBSD      9  /* FreeBSD */
+#define ELFOSABI_TRU64       10  /* TRU64 UNIX */
+#define ELFOSABI_MODESTO     11  /* Novell Modesto */
+#define ELFOSABI_OPENBSD     12  /* OpenBSD */
+#define ELFOSABI_ARM         97  /* ARM */
+#define ELFOSABI_STANDALONE 255  /* Standalone (embedded) application */
+
+/* e_ident */
+#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \
+                      (ehdr).e_ident[EI_MAG1] == ELFMAG1 && \
+                      (ehdr).e_ident[EI_MAG2] == ELFMAG2 && \
+                      (ehdr).e_ident[EI_MAG3] == ELFMAG3)
+
+/* e_flags */
+#define EF_ARM_EABI_MASK    0xff000000
+#define EF_ARM_EABI_UNKNOWN 0x00000000
+#define EF_ARM_EABI_VER1    0x01000000
+#define EF_ARM_EABI_VER2    0x02000000
+#define EF_ARM_EABI_VER3    0x03000000
+#define EF_ARM_EABI_VER4    0x04000000
+#define EF_ARM_EABI_VER5    0x05000000
+
+/* ELF Header */
+typedef struct {
+    unsigned char e_ident[EI_NIDENT]; /* ELF Identification */
+    Elf32_Half    e_type;        /* object file type */
+    Elf32_Half    e_machine;     /* machine */
+    Elf32_Word    e_version;     /* object file version */
+    Elf32_Addr    e_entry;       /* virtual entry point */
+    Elf32_Off     e_phoff;       /* program header table offset */
+    Elf32_Off     e_shoff;       /* section header table offset */
+    Elf32_Word    e_flags;       /* processor-specific flags */
+    Elf32_Half    e_ehsize;      /* ELF header size */
+    Elf32_Half    e_phentsize;   /* program header entry size */
+    Elf32_Half    e_phnum;       /* number of program header entries */
+    Elf32_Half    e_shentsize;   /* section header entry size */
+    Elf32_Half    e_shnum;       /* number of section header entries */
+    Elf32_Half    e_shstrndx;    /* section header table's "section
+                                    header string table" entry offset */
+} Elf32_Ehdr;
+
+typedef struct {
+    unsigned char e_ident[EI_NIDENT]; /* Id bytes */
+    Elf64_Half    e_type;        /* file type */
+    Elf64_Half    e_machine;     /* machine type */
+    Elf64_Word    e_version;     /* version number */
+    Elf64_Addr    e_entry;       /* entry point */
+    Elf64_Off     e_phoff;       /* Program hdr offset */
+    Elf64_Off     e_shoff;       /* Section hdr offset */
+    Elf64_Word    e_flags;       /* Processor flags */
+    Elf64_Half    e_ehsize;      /* sizeof ehdr */
+    Elf64_Half    e_phentsize;   /* Program header entry size */
+    Elf64_Half    e_phnum;       /* Number of program headers */
+    Elf64_Half    e_shentsize;   /* Section header entry size */
+    Elf64_Half    e_shnum;       /* Number of section headers */
+    Elf64_Half    e_shstrndx;    /* String table index */
+} Elf64_Ehdr;
+
+/* e_type */
+#define ET_NONE      0           /* No file type */
+#define ET_REL       1           /* relocatable file */
+#define ET_EXEC      2           /* executable file */
+#define ET_DYN       3           /* shared object file */
+#define ET_CORE      4           /* core file */
+#define ET_NUM       5           /* number of types */
+#define ET_LOPROC    0xff00      /* reserved range for processor */
+#define ET_HIPROC    0xffff      /*   specific e_type */
+
+/* e_machine */
+#define EM_NONE      0           /* No Machine */
+#define EM_M32       1           /* AT&T WE 32100 */
+#define EM_SPARC     2           /* SPARC */
+#define EM_386       3           /* Intel 80386 */
+#define EM_68K       4           /* Motorola 68000 */
+#define EM_88K       5           /* Motorola 88000 */
+#define EM_486       6           /* Intel 80486 - unused? */
+#define EM_860       7           /* Intel 80860 */
+#define EM_MIPS      8           /* MIPS R3000 Big-Endian only */
+/*
+ * Don't know if EM_MIPS_RS4_BE,
+ * EM_SPARC64, EM_PARISC,
+ * or EM_PPC are ABI compliant
+ */
+#define EM_MIPS_RS4_BE 10        /* MIPS R4000 Big-Endian */
+#define EM_SPARC64     11        /* SPARC v9 64-bit unoffical */
+#define EM_PARISC      15        /* HPPA */
+#define EM_SPARC32PLUS 18        /* Enhanced instruction set SPARC */
+#define EM_PPC         20        /* PowerPC */
+#define EM_PPC64       21        /* PowerPC 64-bit */
+#define EM_ARM         40        /* Advanced RISC Machines ARM */
+#define EM_ALPHA       41        /* DEC ALPHA */
+#define EM_SPARCV9     43        /* SPARC version 9 */
+#define EM_ALPHA_EXP   0x9026    /* DEC ALPHA */
+#define EM_IA_64       50        /* Intel Merced */
+#define EM_X86_64      62        /* AMD x86-64 architecture */
+#define EM_VAX         75        /* DEC VAX */
+#define EM_AARCH64    183        /* ARM 64-bit */
+
+/* Version */
+#define EV_NONE      0           /* Invalid */
+#define EV_CURRENT   1           /* Current */
+#define EV_NUM       2           /* number of versions */
+
+/* Program Header */
+typedef struct {
+    Elf32_Word    p_type;        /* segment type */
+    Elf32_Off     p_offset;      /* segment offset */
+    Elf32_Addr    p_vaddr;       /* virtual address of segment */
+    Elf32_Addr    p_paddr;       /* physical address - ignored? */
+    Elf32_Word    p_filesz;      /* number of bytes in file for seg. */
+    Elf32_Word    p_memsz;       /* number of bytes in mem. for seg. */
+    Elf32_Word    p_flags;       /* flags */
+    Elf32_Word    p_align;       /* memory alignment */
+} Elf32_Phdr;
+
+typedef struct {
+    Elf64_Word    p_type;        /* entry type */
+    Elf64_Word    p_flags;       /* flags */
+    Elf64_Off     p_offset;      /* offset */
+    Elf64_Addr    p_vaddr;       /* virtual address */
+    Elf64_Addr    p_paddr;       /* physical address */
+    Elf64_Xword   p_filesz;      /* file size */
+    Elf64_Xword   p_memsz;       /* memory size */
+    Elf64_Xword   p_align;       /* memory & file alignment */
+} Elf64_Phdr;
+
+/* Segment types - p_type */
+#define PT_NULL      0           /* unused */
+#define PT_LOAD      1           /* loadable segment */
+#define PT_DYNAMIC   2           /* dynamic linking section */
+#define PT_INTERP    3           /* the RTLD */
+#define PT_NOTE      4           /* auxiliary information */
+#define PT_SHLIB     5           /* reserved - purpose undefined */
+#define PT_PHDR      6           /* program header */
+#define PT_NUM       7           /* Number of segment types */
+#define PT_LOPROC    0x70000000  /* reserved range for processor */
+#define PT_HIPROC    0x7fffffff  /*  specific segment types */
+
+/* Segment flags - p_flags */
+#define PF_X         0x1        /* Executable */
+#define PF_W         0x2        /* Writable */
+#define PF_R         0x4        /* Readable */
+#define PF_MASKPROC  0xf0000000 /* reserved bits for processor */
+                                /*  specific segment flags */
+
+/* Section Header */
+typedef struct {
+    Elf32_Word    sh_name;      /* name - index into section header
+                                   string table section */
+    Elf32_Word    sh_type;      /* type */
+    Elf32_Word    sh_flags;     /* flags */
+    Elf32_Addr    sh_addr;      /* address */
+    Elf32_Off     sh_offset;    /* file offset */
+    Elf32_Word    sh_size;      /* section size */
+    Elf32_Word    sh_link;      /* section header table index link */
+    Elf32_Word    sh_info;      /* extra information */
+    Elf32_Word    sh_addralign; /* address alignment */
+    Elf32_Word    sh_entsize;   /* section entry size */
+} Elf32_Shdr;
+
+typedef struct {
+    Elf64_Word    sh_name;      /* section name */
+    Elf64_Word    sh_type;      /* section type */
+    Elf64_Xword   sh_flags;     /* section flags */
+    Elf64_Addr    sh_addr;      /* virtual address */
+    Elf64_Off     sh_offset;    /* file offset */
+    Elf64_Xword   sh_size;      /* section size */
+    Elf64_Word    sh_link;      /* link to another */
+    Elf64_Word    sh_info;      /* misc info */
+    Elf64_Xword   sh_addralign; /* memory alignment */
+    Elf64_Xword   sh_entsize;   /* table entry size */
+} Elf64_Shdr;
+
+/* sh_type */
+#define SHT_NULL        0       /* inactive */
+#define SHT_PROGBITS    1       /* program defined information */
+#define SHT_SYMTAB      2       /* symbol table section */
+#define SHT_STRTAB      3       /* string table section */
+#define SHT_RELA        4       /* relocation section with addends*/
+#define SHT_HASH        5       /* symbol hash table section */
+#define SHT_DYNAMIC     6       /* dynamic section */
+#define SHT_NOTE        7       /* note section */
+#define SHT_NOBITS      8       /* no space section */
+#define SHT_REL         9       /* relation section without addends */
+#define SHT_SHLIB      10       /* reserved - purpose unknown */
+#define SHT_DYNSYM     11       /* dynamic symbol table section */
+#define SHT_NUM        12       /* number of section types */
+
+/* Note definitions */
+typedef struct {
+    Elf32_Word namesz;
+    Elf32_Word descsz;
+    Elf32_Word type;
+    char data[];
+} Elf32_Note;
+
+typedef struct {
+    Elf64_Word namesz;
+    Elf64_Word descsz;
+    Elf64_Word type;
+    char data[];
+} Elf64_Note;
+
+/* Abstraction layer for handling 32- and 64-bit ELF files. */
+
+typedef union {
+    Elf32_Ehdr e32;
+    Elf64_Ehdr e64;
+} elf_ehdr;
+
+static inline bool elf_is_32bit(elf_ehdr *ehdr)
+{
+    return ehdr->e32.e_ident[EI_CLASS] == ELFCLASS32;
+}
+
+static inline bool elf_is_64bit(elf_ehdr *ehdr)
+{
+    return ehdr->e32.e_ident[EI_CLASS] == ELFCLASS64;
+}
+
+#define ehdr_val(ehdr, elem) (elf_is_32bit(ehdr) ? (ehdr)->e32.elem : (ehdr)->e64.elem)
+
+typedef union {
+    Elf32_Phdr e32;
+    Elf64_Phdr e64;
+} elf_phdr;
+
+#define phdr_val(ehdr, phdr, elem) (elf_is_32bit(ehdr) ? (phdr)->e32.elem : (phdr)->e64.elem)
+
+typedef union {
+    Elf32_Shdr e32;
+    Elf64_Shdr e64;
+} elf_shdr;
+
+#define shdr_val(ehdr, shdr, elem) (elf_is_32bit(ehdr) ? (shdr)->e32.elem : (shdr)->e64.elem)
+
+typedef union {
+    Elf32_Note e32;
+    Elf64_Note e64;
+} elf_note;
+
+#define note_val(ehdr, note, elem) (elf_is_32bit(ehdr) ? (note)->e32.elem : (note)->e64.elem)
+
+static inline void *elf_ptr_add(void *ptr, unsigned long add)
+{
+    return (char *)ptr + add;
+}
+#endif /* __ELF_H__ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:25:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:25:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923457.1327005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYd2-0007NJ-LI; Fri, 21 Mar 2025 09:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923457.1327005; Fri, 21 Mar 2025 09:25: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 1tvYd2-0007N8-Hu; Fri, 21 Mar 2025 09:25:24 +0000
Received: by outflank-mailman (input) for mailman id 923457;
 Fri, 21 Mar 2025 09:25: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYd1-0005bg-Hv
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:23 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69b0fd85-0636-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:25:22 +0100 (CET)
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 CD99C1FB6B;
 Fri, 21 Mar 2025 09:25:21 +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 9E025139AA;
 Fri, 21 Mar 2025 09:25:21 +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 3J3kJIEw3WcmGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 69b0fd85-0636-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549121; 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=az01uiRxZtSFbNJFwjD4ZM6qRoCac3SGJkFv8ewEX5o=;
	b=eTNNX0m1tYtAi5BKKmCwBN2rP24FpQKgSrmuEPgs6l5tTOSqsceo5LrQL2fOTHfRlM7Bu6
	3KTILh3e01B2TODpq+H7GMxFBTy5HuDzHFSRQ3VQ7EF1OwJ/uPCTmGQnwHEYSPUg4/f2UE
	uk5XR0ybcqN8VWHIK/FHFSWbx2JtP8c=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549121; 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=az01uiRxZtSFbNJFwjD4ZM6qRoCac3SGJkFv8ewEX5o=;
	b=eTNNX0m1tYtAi5BKKmCwBN2rP24FpQKgSrmuEPgs6l5tTOSqsceo5LrQL2fOTHfRlM7Bu6
	3KTILh3e01B2TODpq+H7GMxFBTy5HuDzHFSRQ3VQ7EF1OwJ/uPCTmGQnwHEYSPUg4/f2UE
	uk5XR0ybcqN8VWHIK/FHFSWbx2JtP8c=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 05/12] kexec: finalize parameter location and size
Date: Fri, 21 Mar 2025 10:24:44 +0100
Message-ID: <20250321092451.17309-6-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Finalize the location and the size of the parameters for the new
kernel. This is needed in order to avoid allocating new memory in the
area occupied by the new kernel and parameters.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c | 15 +++++++++++++++
 include/kexec.h  |  3 +++
 kexec.c          |  2 ++
 3 files changed, 20 insertions(+)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index 2069f3c6..98a478d3 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -197,4 +197,19 @@ bool kexec_arch_need_analyze_shdrs(void)
 {
     return kernel_entry == ~0UL;
 }
+
+static unsigned long kexec_param_loc;
+static unsigned int kexec_param_size;
+
+void kexec_set_param_loc(const char *cmdline)
+{
+    kexec_param_size = sizeof(struct hvm_start_info);
+    kexec_param_size += e820_entries * sizeof(struct hvm_memmap_table_entry);
+    kexec_param_size += strlen(cmdline) + 1;
+
+    kexec_last_addr = (kexec_last_addr + 7) & ~7UL;
+    kexec_param_loc = kexec_last_addr;
+    kexec_last_addr += kexec_param_size;
+    kexec_last_addr = round_pgup(kexec_last_addr);
+}
 #endif /* CONFIG_KEXEC */
diff --git a/include/kexec.h b/include/kexec.h
index f54cbb90..8a2b552f 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -42,4 +42,7 @@ int kexec_arch_analyze_phdr(elf_ehdr *ehdr, elf_phdr *phdr);
 int kexec_arch_analyze_shdr(elf_ehdr *ehdr, elf_shdr *shdr);
 bool kexec_arch_need_analyze_shdrs(void);
 
+/* Finalize parameter location and size. */
+void kexec_set_param_loc(const char *cmdline);
+
 #endif /* _KEXEC_H */
diff --git a/kexec.c b/kexec.c
index 3ff4ea07..7e559994 100644
--- a/kexec.c
+++ b/kexec.c
@@ -173,6 +173,8 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
     if ( ret )
         return ret;
 
+    kexec_set_param_loc(cmdline);
+
     return ENOSYS;
 }
 EXPORT_SYMBOL(kexec);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:30:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923513.1327047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYi6-0002Ld-7e; Fri, 21 Mar 2025 09:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923513.1327047; Fri, 21 Mar 2025 09:30: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 1tvYi6-0002Jg-26; Fri, 21 Mar 2025 09:30:38 +0000
Received: by outflank-mailman (input) for mailman id 923513;
 Fri, 21 Mar 2025 09:30: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYdU-0005bg-It
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:52 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a6d88b2-0636-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:25:50 +0100 (CET)
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 CEBA621B2C;
 Fri, 21 Mar 2025 09:25:49 +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 A30A0139AA;
 Fri, 21 Mar 2025 09:25:49 +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 MTRaJp0w3WdYGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 7a6d88b2-0636-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549149; 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=jRl2WQrPM47yD+AI8wwwhvNT+l4iLc6RLY7/18FmBWM=;
	b=g7ldaqdNgS8V2/ZT0oYPT4jSVMYntY2X/qr2JYWIKjeT7roT8nKxrA2oNV9ir6E5pGIZLU
	66flxxbSsyJyQVnvRVUnUqIEAmy2e9IjziIE1ah77FuCrQAz9mp9eoA8AWU85618gIMGcy
	UcvWtvZTTde+MaQ/GGsBfrFg+DKDB5E=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=g7ldaqdN
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549149; 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=jRl2WQrPM47yD+AI8wwwhvNT+l4iLc6RLY7/18FmBWM=;
	b=g7ldaqdNgS8V2/ZT0oYPT4jSVMYntY2X/qr2JYWIKjeT7roT8nKxrA2oNV9ir6E5pGIZLU
	66flxxbSsyJyQVnvRVUnUqIEAmy2e9IjziIE1ah77FuCrQAz9mp9eoA8AWU85618gIMGcy
	UcvWtvZTTde+MaQ/GGsBfrFg+DKDB5E=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 10/12] kexec: switch read-only area to be writable again
Date: Fri, 21 Mar 2025 10:24:49 +0100
Message-ID: <20250321092451.17309-11-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: CEBA621B2C
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

In order to allow writing the new kernel, make the readonly area
covering current kernel text writable again.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 kexec.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kexec.c b/kexec.c
index 16a0030a..2992f58f 100644
--- a/kexec.c
+++ b/kexec.c
@@ -184,6 +184,8 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
         goto err;
     }
 
+    change_readonly(false);
+
     ret = kexec_move_used_pages(kexec_last_addr, (unsigned long)kernel,
                                 kernel_size);
     if ( ret )
@@ -193,6 +195,7 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
     ret = ENOSYS;
 
  err:
+    change_readonly(true);
     unreserve_memory_below();
     kexec_move_used_pages_undo();
     kexec_get_entry_undo();
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:30:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923511.1327043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYi5-0002GJ-Ru; Fri, 21 Mar 2025 09:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923511.1327043; Fri, 21 Mar 2025 09:30: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 1tvYi5-0002EA-NY; Fri, 21 Mar 2025 09:30:37 +0000
Received: by outflank-mailman (input) for mailman id 923511;
 Fri, 21 Mar 2025 09:30: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYdG-0005bg-87
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:38 +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 7064a262-0636-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:25:33 +0100 (CET)
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 0B6241FB6B;
 Fri, 21 Mar 2025 09:25:33 +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 D09D6139AA;
 Fri, 21 Mar 2025 09:25:32 +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 L3M3MYww3WcvGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 7064a262-0636-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549133; 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=s0cAXUGvY2JO8hs7cJ+YxtNj8pT0pZocSXr5L9ANRiA=;
	b=QtBribMyufGB5ILmwzr6caAIVoFJ8uifU4I8dk5hYcJ+b5HF1AbZ1gNeKOvmfgnXIVh+pi
	bi4Fv7jSzJ6L8BMTQIac01o9mZi9obMdQmEexOfhSNhW2DDWAwxat/q3wOsTyQ5HIGlZ/O
	c/NDQDexEZMk7sPqfRLAgcH/7ayr2PA=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=QtBribMy
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549133; 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=s0cAXUGvY2JO8hs7cJ+YxtNj8pT0pZocSXr5L9ANRiA=;
	b=QtBribMyufGB5ILmwzr6caAIVoFJ8uifU4I8dk5hYcJ+b5HF1AbZ1gNeKOvmfgnXIVh+pi
	bi4Fv7jSzJ6L8BMTQIac01o9mZi9obMdQmEexOfhSNhW2DDWAwxat/q3wOsTyQ5HIGlZ/O
	c/NDQDexEZMk7sPqfRLAgcH/7ayr2PA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 07/12] kexec: build parameters for new kernel
Date: Fri, 21 Mar 2025 10:24:46 +0100
Message-ID: <20250321092451.17309-8-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 0B6241FB6B
X-Spam-Score: -3.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(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];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Build the parameters for the new kernel, consisting of the
hvm_start_info struct, the memory map and the command line.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++
 include/kexec.h  |  4 ++++
 kexec.c          | 13 ++++++++++-
 3 files changed, 74 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index 98a478d3..6fc7d02d 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -200,6 +200,7 @@ bool kexec_arch_need_analyze_shdrs(void)
 
 static unsigned long kexec_param_loc;
 static unsigned int kexec_param_size;
+static unsigned long kexec_param_mem;
 
 void kexec_set_param_loc(const char *cmdline)
 {
@@ -212,4 +213,61 @@ void kexec_set_param_loc(const char *cmdline)
     kexec_last_addr += kexec_param_size;
     kexec_last_addr = round_pgup(kexec_last_addr);
 }
+
+int kexec_get_entry(const char *cmdline)
+{
+    struct hvm_start_info *info;
+    struct hvm_memmap_table_entry *mmap;
+    unsigned int order;
+    unsigned int i;
+
+    if ( kernel_entry == ~0UL )
+        return ENOEXEC;
+
+    order = get_order(kexec_param_size);
+
+    kexec_param_mem = alloc_pages(order);
+    if ( !kexec_param_mem )
+        return ENOMEM;
+
+    info = (struct hvm_start_info *)kexec_param_mem;
+    memset(info, 0, sizeof(*info));
+    info->magic = XEN_HVM_START_MAGIC_VALUE;
+    info->version = 1;
+    info->cmdline_paddr = kexec_param_mem + sizeof(*info) +
+                          e820_entries * sizeof(struct hvm_memmap_table_entry);
+    info->memmap_paddr = kexec_param_mem + sizeof(*info);
+    info->memmap_entries = e820_entries;
+
+    mmap = (struct hvm_memmap_table_entry *)(info + 1);
+    for ( i = 0; i < e820_entries; i++ )
+    {
+        mmap->addr = e820_map[i].addr;
+        mmap->size = e820_map[i].size;
+        mmap->type = e820_map[i].type;
+        mmap++;
+    }
+
+    strcpy((char *)mmap, cmdline);
+
+    if ( kexec_add_action(KEXEC_COPY, to_virt(kexec_param_loc), info,
+                          kexec_param_size) )
+        return ENOSPC;
+
+    /* The call of the new kernel happens via the physical address! */
+    if ( kexec_add_action(KEXEC_CALL, (void *)kernel_entry,
+                          (void *)kexec_param_loc, 0) )
+        return ENOSPC;
+
+    return 0;
+}
+
+void kexec_get_entry_undo(void)
+{
+    if ( kexec_param_mem )
+    {
+        free_pages((void *)kexec_param_mem, get_order(kexec_param_size));
+        kexec_param_mem = 0;
+    }
+}
 #endif /* CONFIG_KEXEC */
diff --git a/include/kexec.h b/include/kexec.h
index 8a2b552f..7b103dea 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -45,4 +45,8 @@ bool kexec_arch_need_analyze_shdrs(void);
 /* Finalize parameter location and size. */
 void kexec_set_param_loc(const char *cmdline);
 
+/* Get entry point and parameter of new kernel. */
+int kexec_get_entry(const char *cmdline);
+void kexec_get_entry_undo(void);
+
 #endif /* _KEXEC_H */
diff --git a/kexec.c b/kexec.c
index 68457711..0ef8eb35 100644
--- a/kexec.c
+++ b/kexec.c
@@ -177,10 +177,21 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
 
     reserve_memory_below(kexec_last_addr);
 
+    ret = kexec_get_entry(cmdline);
+    if ( ret )
+    {
+        printk("kexec: ELF file of new kernel has no valid entry point\n");
+        goto err;
+    }
+
     /* Error exit. */
+    ret = ENOSYS;
+
+ err:
     unreserve_memory_below();
+    kexec_get_entry_undo();
 
-    return ENOSYS;
+    return ret;
 }
 EXPORT_SYMBOL(kexec);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:30:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923516.1327055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYi6-0002UQ-O1; Fri, 21 Mar 2025 09:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923516.1327055; Fri, 21 Mar 2025 09:30: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 1tvYi6-0002SQ-II; Fri, 21 Mar 2025 09:30:38 +0000
Received: by outflank-mailman (input) for mailman id 923516;
 Fri, 21 Mar 2025 09:30: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=T84i=WI=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1tvYeH-0005bg-N3
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:26:41 +0000
Received: from fforwardh-a4-smtp.messagingengine.com
 (fforwardh-a4-smtp.messagingengine.com [103.168.172.199])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 978a9adb-0636-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:26:39 +0100 (CET)
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfforwardh.phl.internal (Postfix) with ESMTP id 60CA92920461;
 Fri, 21 Mar 2025 05:26:38 -0400 (EDT)
Received: from phl-frontend-02 ([10.202.2.161])
 by phl-compute-12.internal (MEProxy); Fri, 21 Mar 2025 05:26:38 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 21 Mar 2025 05:26:37 -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: 978a9adb-0636-11f0-9ffa-bf95429c2676
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=fm1; t=
	1742549198; x=1742635598; bh=hO7IRmLDcYkvvmp6ohPmSYI/1jBCpI+cMwA
	XGITLp2o=; b=y3kKORQROBxUgtQWY1WgelJbkge19MFansDVx3gl/LW5T5L1DL2
	y576CvmnGygfkDsliJh95f51p3t3S6rIWHrvec36YilqPTzUM0lj64+9P2Xl7QUO
	sZjCShykC4cXynmZNGzfVFcFGcra1UrJ8znIBT1ju90iMtv6HEGjNGUE+tb+djE8
	yBkEJMHCMOwiqyK+JzCVZxuurXLBp5nyaCjiRmLGvbbkJu+SuxlceEVebBoWRFYi
	BemZvphFr/PFzJsD7nvLU146LXjx0lDxqPA/LpLgyRNVY9ZqQORrlDFBNzHPso3L
	f4Vkaoz/XNYAqBx7eYxtxBOTYoUmV/btLaw==
X-ME-Sender: <xms:zTDdZ5QD5wtIwYIzIedmVuEtpdb21mXJDP_-VygKqyc0o3U2t_YMBA>
    <xme:zTDdZyya-YoBTXCCg3mHMvQ1JCO52yPK1OQHNUtzZiqHpZmteFVfpclWDxSyTL8Tg
    aHnhOs7HR0BvdPRkpA>
X-ME-Received: <xmr:zTDdZ-2Euqzg5oDkzJjrWiJd2VAoxqb05OmXaY7F_3jda8HuBBuxFFV6tQcL36t8BKzuyYUeni0wUVWHopd6emYytZAj52JokpD8Y6Bl5qufaA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduhedtjeefucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgggfestdekredtredttden
    ucfhrhhomhepufgvrhhgihihucfmihgsrhhikhcuoefuvghrghhihigpmfhisghrihhkse
    gvphgrmhdrtghomheqnecuggftrfgrthhtvghrnhepffffvdeifeeijefhheefuedvvedt
    heffjeeiveehgfettedvgedujefgudejgedvnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepshgrkhhisgesuggrrhhkshhtrghrrdhsihhtvgdp
    nhgspghrtghpthhtohepjedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgigvnh
    dquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohep
    shgvrhhgihihpghkihgsrhhikhesvghprghmrdgtohhmpdhrtghpthhtoheprghnughrvg
    ifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdprhgtphhtthhopehrohhgvghrrdhp
    rghusegtihhtrhhigidrtghomhdprhgtphhtthhopehsshhtrggsvghllhhinhhisehkvg
    hrnhgvlhdrohhrghdprhgtphhtthhopegrlhgvjhgrnhgurhhordhvrghllhgvjhhosegt
    lhhouhgurdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomh
X-ME-Proxy: <xmx:zTDdZxDzNnSGGd25JSDb2ASXhg0snkv3PFw-8ejQ40uAGZWMWnrQMg>
    <xmx:zTDdZyiiyQhYHZSYECJXRQw5pnQNF4ZXodi6o6pw1VrLjGq4RTqQOQ>
    <xmx:zTDdZ1qXUJNCDcpy89w15rEAALQj6Dd5cVbiT5n-ue8ieeOb2U1q2A>
    <xmx:zTDdZ9je4CbbbVreUEghsze5UIrd8V1d5T44AwxjgOluPpr-7Y-wMA>
    <xmx:zTDdZ9S-xV33KfDHJnSPG1kME-BbSbRG9pw2RmAaXUOfUpdZRaTm4A>
    <xmx:zjDdZ9V1LJ5yQZd73Rjx8B2hPXeV1iRQffsgHB6T3HPvG6TLt8b0AEeGbxsO>
Feedback-ID: id5ffd314:Fastmail
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86: make Viridian support optional
Date: Fri, 21 Mar 2025 11:26:33 +0200
Message-Id: <20250321092633.3982645-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add config option HVM_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.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
CC: Jan Beulich <jbeulich@suse.com>
---
changes in v2:
 - changed title in Kconfig & add help text
 - moved Kconfig changes to arch/x86/hvm/Kconfig
 - address review comments
---
 xen/arch/x86/hvm/Kconfig              | 10 ++++++++++
 xen/arch/x86/hvm/Makefile             |  2 +-
 xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
 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 ++
 7 files changed, 42 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index 2def0f98e2..9cdcc0d3cd 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -63,6 +63,16 @@ config ALTP2M
 
 	  If unsure, stay with defaults.
 
+config HVM_VIRIDIAN
+	bool "Hyper-V enlighnments 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.
+
+	  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 4c1fa5c6c2..6cc2e74fc4 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_HVM_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 5950f3160f..529068e80c 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -695,9 +695,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;
+    }
 
     rc = alternative_call(hvm_funcs.domain_initialise, d);
     if ( rc != 0 )
@@ -733,7 +736,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);
 
@@ -1637,9 +1641,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 )
@@ -1669,13 +1676,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/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 065b2aab5b..3d76ce3f0d 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -426,7 +426,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * priority vector and then recurse to handle the lower priority
      * vector.
      */
-    bool missed_eoi = viridian_apic_assist_completed(v);
+    bool missed_eoi = has_viridian_apic_assist(v->domain) &&
+                      viridian_apic_assist_completed(v);
     int vector;
 
  again:
@@ -442,7 +443,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);
 
     vlapic_clear_vector(vector, &vlapic->regs->data[APIC_ISR]);
@@ -1360,7 +1361,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);
 
     isr = vlapic_find_highest_isr(vlapic);
@@ -1373,7 +1375,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( isr >= 0 &&
          (irr & 0xf0) <= (isr & 0xf0) )
     {
-        viridian_apic_assist_clear(v);
+        if ( has_viridian_apic_assist(v->domain) )
+            viridian_apic_assist_clear(v);
         return -1;
     }
 
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 333501d5f2..07eec231f0 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;
 
+#ifdef CONFIG_HVM_VIRIDIAN
     struct viridian_domain *viridian;
+#endif
 
     /*
      * 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 963e820113..a836b2f4de 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -507,7 +507,8 @@ hvm_get_cpl(struct vcpu *v)
     (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
 
 #define is_viridian_domain(d) \
-    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
+    (IS_ENABLED(CONFIG_HVM_VIRIDIAN) && \
+    is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
 
 #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 196fed6d5d..4c5a76a707 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -172,7 +172,9 @@ struct hvm_vcpu {
     /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
     struct x86_event     inject_event;
 
+#ifdef CONFIG_HVM_VIRIDIAN
     struct viridian_vcpu *viridian;
+#endif
 };
 
 #endif /* __ASM_X86_HVM_VCPU_H__ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:30:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923507.1327023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYi4-0001ka-Du; Fri, 21 Mar 2025 09:30:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923507.1327023; Fri, 21 Mar 2025 09: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 1tvYi4-0001k3-8t; Fri, 21 Mar 2025 09:30:36 +0000
Received: by outflank-mailman (input) for mailman id 923507;
 Fri, 21 Mar 2025 09:30: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYcw-0005O8-7z
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25: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 6661f0e4-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:16 +0100 (CET)
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 3720221CE7;
 Fri, 21 Mar 2025 09:25: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 0D1C2139AA;
 Fri, 21 Mar 2025 09:25: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 pmjNAXww3WcdGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 6661f0e4-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549116; 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=0vBbPFLMY7oD9agHffp6bnrvaZ2naPaltAc0NWccekA=;
	b=etwLehUUcpE9K+mimpI9086gTMKc1HMThW/afVC+M7vBlWtnSj/LpAcHQ/qmFAdcTjx/qE
	efyp09ZynVcQts6F11j2JP0CFUzhqy9vGqtT/bI+YA2lKHPfYPPgbWHod6IdFItZQ0HG0z
	Y3ebBwohzBore2u/Wedy95qu3lSQwNE=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549116; 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=0vBbPFLMY7oD9agHffp6bnrvaZ2naPaltAc0NWccekA=;
	b=etwLehUUcpE9K+mimpI9086gTMKc1HMThW/afVC+M7vBlWtnSj/LpAcHQ/qmFAdcTjx/qE
	efyp09ZynVcQts6F11j2JP0CFUzhqy9vGqtT/bI+YA2lKHPfYPPgbWHod6IdFItZQ0HG0z
	Y3ebBwohzBore2u/Wedy95qu3lSQwNE=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 04/12] kexec: analyze new kernel for kexec
Date: Fri, 21 Mar 2025 10:24:43 +0100
Message-ID: <20250321092451.17309-5-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Analyze the properties of the new kernel to be loaded by kexec. The
data needed is:

- upper boundary in final location
- copy and memory clear operations
- entry point and entry parameter

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c |  91 +++++++++++++++++++++++++++++++++++
 include/kexec.h  |  11 +++++
 kexec.c          | 120 ++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 220 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index bf247797..2069f3c6 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -28,8 +28,15 @@
 
 #include <mini-os/os.h>
 #include <mini-os/lib.h>
+#include <mini-os/e820.h>
+#include <mini-os/err.h>
 #include <mini-os/kexec.h>
 
+#include <xen/elfnote.h>
+#include <xen/arch-x86/hvm/start_info.h>
+
+static unsigned long kernel_entry = ~0UL;
+
 /*
  * Final stage of kexec. Copies all data to the final destinations, zeroes
  * .bss and activates new kernel.
@@ -106,4 +113,88 @@ void do_kexec(void *kexec_page)
         :"m" (final));
 }
 
+bool kexec_chk_arch(elf_ehdr *ehdr)
+{
+    return ehdr->e32.e_machine == EM_386 || ehdr->e32.e_machine == EM_X86_64;
+}
+
+static unsigned int note_data_sz(unsigned int sz)
+{
+    return (sz + 3) & ~3;
+}
+
+static void check_notes_entry(elf_ehdr *ehdr, void *start, unsigned int len)
+{
+    elf_note *note = start;
+    unsigned int off, note_len, namesz, descsz;
+    char *val;
+
+    for ( off = 0; off < len; off += note_len )
+    {
+        namesz = note_data_sz(note_val(ehdr, note, namesz));
+        descsz = note_data_sz(note_val(ehdr, note, descsz));
+        val = note_val(ehdr, note, data);
+        note_len = val - (char *)note + namesz + descsz;
+
+        if ( !strncmp(val, "Xen", namesz) &&
+             note_val(ehdr, note, type) == XEN_ELFNOTE_PHYS32_ENTRY )
+        {
+            val += namesz;
+            switch ( note_val(ehdr, note, descsz) )
+            {
+            case 1:
+                kernel_entry = *(uint8_t *)val;
+                return;
+            case 2:
+                kernel_entry = *(uint16_t *)val;
+                return;
+            case 4:
+                kernel_entry = *(uint32_t *)val;
+                return;
+            case 8:
+                kernel_entry = *(uint64_t *)val;
+                return;
+            default:
+                break;
+            }
+        }
+
+        note = elf_ptr_add(note, note_len);
+    }
+}
+
+int kexec_arch_analyze_phdr(elf_ehdr *ehdr, elf_phdr *phdr)
+{
+    void *notes_start;
+    unsigned int notes_len;
+
+    if ( phdr_val(ehdr, phdr, p_type) != PT_NOTE || kernel_entry != ~0UL )
+        return 0;
+
+    notes_start = elf_ptr_add(ehdr, phdr_val(ehdr, phdr, p_offset));
+    notes_len = phdr_val(ehdr, phdr, p_filesz);
+    check_notes_entry(ehdr, notes_start, notes_len);
+
+    return 0;
+}
+
+int kexec_arch_analyze_shdr(elf_ehdr *ehdr, elf_shdr *shdr)
+{
+    void *notes_start;
+    unsigned int notes_len;
+
+    if ( shdr_val(ehdr, shdr, sh_type) != SHT_NOTE || kernel_entry != ~0UL )
+        return 0;
+
+    notes_start = elf_ptr_add(ehdr, shdr_val(ehdr, shdr, sh_offset));
+    notes_len = shdr_val(ehdr, shdr, sh_size);
+    check_notes_entry(ehdr, notes_start, notes_len);
+
+    return 0;
+}
+
+bool kexec_arch_need_analyze_shdrs(void)
+{
+    return kernel_entry == ~0UL;
+}
 #endif /* CONFIG_KEXEC */
diff --git a/include/kexec.h b/include/kexec.h
index 722be456..f54cbb90 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -1,5 +1,6 @@
 #ifndef _KEXEC_H
 #define _KEXEC_H
+#include <mini-os/elf.h>
 
 /* One element of kexec actions (last element must have action KEXEC_CALL): */
 struct kexec_action {
@@ -18,6 +19,8 @@ struct kexec_action {
 extern char _kexec_start[], _kexec_end[];
 extern struct kexec_action kexec_actions[KEXEC_MAX_ACTIONS];
 
+extern unsigned long kexec_last_addr;
+
 int kexec_add_action(int action, void *dest, void *src, unsigned int len);
 
 #define KEXEC_SECSIZE ((unsigned long)_kexec_end - (unsigned long)_kexec_start)
@@ -31,4 +34,12 @@ void do_kexec(void *kexec_page);
 /* Assembler code for switching off paging and passing execution to new OS. */
 void kexec_phys(void);
 
+/* Check kernel to match current architecture. */
+bool kexec_chk_arch(elf_ehdr *ehdr);
+
+/* Architecture specific ELF handling functions. */
+int kexec_arch_analyze_phdr(elf_ehdr *ehdr, elf_phdr *phdr);
+int kexec_arch_analyze_shdr(elf_ehdr *ehdr, elf_shdr *shdr);
+bool kexec_arch_need_analyze_shdrs(void);
+
 #endif /* _KEXEC_H */
diff --git a/kexec.c b/kexec.c
index 849a98e4..3ff4ea07 100644
--- a/kexec.c
+++ b/kexec.c
@@ -31,6 +31,9 @@
 #include <errno.h>
 #include <mini-os/os.h>
 #include <mini-os/lib.h>
+#include <mini-os/console.h>
+#include <mini-os/elf.h>
+#include <mini-os/err.h>
 #include <mini-os/kexec.h>
 
 /*
@@ -54,9 +57,122 @@
  * - The new kernel is activated.
  */
 
-int kexec(void *kernel, unsigned long kernel_size,
-          const char *cmdline)
+unsigned long kexec_last_addr;
+
+static int analyze_phdrs(elf_ehdr *ehdr)
+{
+    elf_phdr *phdr;
+    unsigned int n_hdr, i;
+    unsigned long paddr, offset, filesz, memsz;
+    int ret;
+
+    phdr = elf_ptr_add(ehdr, ehdr_val(ehdr, e_phoff));
+    n_hdr = ehdr_val(ehdr, e_phnum);
+    for ( i = 0; i < n_hdr; i++ )
+    {
+        ret = kexec_arch_analyze_phdr(ehdr, phdr);
+        if ( ret )
+            return ret;
+
+        if ( phdr_val(ehdr, phdr, p_type) == PT_LOAD &&
+             (phdr_val(ehdr, phdr, p_flags) & (PF_X | PF_W | PF_R)) )
+        {
+            paddr = phdr_val(ehdr, phdr, p_paddr);
+            offset = phdr_val(ehdr, phdr, p_offset);
+            filesz = phdr_val(ehdr, phdr, p_filesz);
+            memsz = phdr_val(ehdr, phdr, p_memsz);
+            if ( filesz > 0 )
+            {
+                ret = kexec_add_action(KEXEC_COPY, to_virt(paddr),
+                                       (char *)ehdr + offset, filesz);
+                if ( ret )
+                    return ret;
+            }
+            if ( memsz > filesz )
+            {
+                ret = kexec_add_action(KEXEC_ZERO, to_virt(paddr + filesz),
+                                       NULL, memsz - filesz);
+                if ( ret )
+                    return ret;
+            }
+            if ( paddr + memsz > kexec_last_addr )
+                kexec_last_addr = paddr + memsz;
+        }
+
+        phdr = elf_ptr_add(phdr, ehdr_val(ehdr, e_phentsize));
+    }
+
+    return 0;
+}
+
+static int analyze_shdrs(elf_ehdr *ehdr)
 {
+    elf_shdr *shdr;
+    unsigned int n_hdr, i;
+    int ret;
+
+    if ( !kexec_arch_need_analyze_shdrs() )
+        return 0;
+
+    shdr = elf_ptr_add(ehdr, ehdr_val(ehdr, e_shoff));
+    n_hdr = ehdr_val(ehdr, e_shnum);
+    for ( i = 0; i < n_hdr; i++ )
+    {
+        ret = kexec_arch_analyze_shdr(ehdr, shdr);
+        if ( ret )
+            return ret;
+
+        shdr = elf_ptr_add(shdr, ehdr_val(ehdr, e_shentsize));
+    }
+
+    return 0;
+}
+
+static int analyze_kernel(void *kernel, unsigned long size)
+{
+    elf_ehdr *ehdr = kernel;
+    int ret;
+
+    if ( !IS_ELF(ehdr->e32) )
+    {
+        printk("kexec: new kernel not an ELF file\n");
+        return ENOEXEC;
+    }
+    if ( ehdr->e32.e_ident[EI_DATA] != ELFDATA2LSB )
+    {
+        printk("kexec: ELF file of new kernel is big endian\n");
+        return ENOEXEC;
+    }
+    if ( !elf_is_32bit(ehdr) && !elf_is_64bit(ehdr) )
+    {
+        printk("kexec: ELF file of new kernel is neither 32 nor 64 bit\n");
+        return ENOEXEC;
+    }
+    if ( !kexec_chk_arch(ehdr) )
+    {
+        printk("kexec: ELF file of new kernel is not compatible with arch\n");
+        return ENOEXEC;
+    }
+
+    ret = analyze_phdrs(ehdr);
+    if ( ret )
+        return ret;
+
+    ret = analyze_shdrs(ehdr);
+    if ( ret )
+        return ret;
+
+    return 0;
+}
+
+int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
+{
+    int ret;
+
+    ret = analyze_kernel(kernel, kernel_size);
+    if ( ret )
+        return ret;
+
     return ENOSYS;
 }
 EXPORT_SYMBOL(kexec);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:30:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923508.1327027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYi4-0001nO-Kb; Fri, 21 Mar 2025 09:30:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923508.1327027; Fri, 21 Mar 2025 09: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 1tvYi4-0001mA-Fw; Fri, 21 Mar 2025 09:30:36 +0000
Received: by outflank-mailman (input) for mailman id 923508;
 Fri, 21 Mar 2025 09: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYdL-0005bg-8p
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:43 +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 73ca7320-0636-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:25:39 +0100 (CET)
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 9980E1FB6D;
 Fri, 21 Mar 2025 09:25:38 +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 71747139AA;
 Fri, 21 Mar 2025 09:25:38 +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 zVw7GpIw3WdHGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 73ca7320-0636-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549138; 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=Tll1MlN0K/PdIjHkU/c7azaHqaqB0dNTwcC3GeOaxx4=;
	b=jN/VqmWmxiDz7s9auX1iDheqDw71OvKlPxSIjsEk3qYOnK2cqbNGFEcpve6sIJ38kFLLZo
	ilvnyToRz2LBVsIQplXIAEuZ948/4JCKRkoMYp/2WGJWZWTUBxqForZYUwROq6ZSCKcqxO
	LPlm1TD1hnyDYppdLkkVL/2uLX9W014=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549138; 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=Tll1MlN0K/PdIjHkU/c7azaHqaqB0dNTwcC3GeOaxx4=;
	b=jN/VqmWmxiDz7s9auX1iDheqDw71OvKlPxSIjsEk3qYOnK2cqbNGFEcpve6sIJ38kFLLZo
	ilvnyToRz2LBVsIQplXIAEuZ948/4JCKRkoMYp/2WGJWZWTUBxqForZYUwROq6ZSCKcqxO
	LPlm1TD1hnyDYppdLkkVL/2uLX9W014=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 08/12] kexec: move used pages away for new kernel
Date: Fri, 21 Mar 2025 10:24:47 +0100
Message-ID: <20250321092451.17309-9-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Copying the new kexec kernel must not overwrite any pages still needed
during this process. Those are especially the GDT, IDT and page tables.

Move those to new allocated pages and update any related pointers.

In case the kexec process is cancelled later, don't undo any page table
moves, as the system can just be used with the new layout. By freeing
the original pages there is no memory leaking.

GDT and IDT should be reverted to their original locations, as their
original memory can't be freed due to not being whole pages.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/mm.c   | 126 ++++++++++++++++++++++++++++++++++++++++++++++++
 include/kexec.h |   5 ++
 kexec.c         |   6 +++
 3 files changed, 137 insertions(+)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index 3ba6d917..a71eb192 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -42,6 +42,7 @@
 #include <mini-os/paravirt.h>
 #include <mini-os/types.h>
 #include <mini-os/lib.h>
+#include <mini-os/kexec.h>
 #include <mini-os/xmalloc.h>
 #include <mini-os/e820.h>
 #include <xen/memory.h>
@@ -923,3 +924,128 @@ unsigned long map_frame_virt(unsigned long mfn)
     return addr;
 }
 EXPORT_SYMBOL(map_frame_virt);
+
+#ifdef CONFIG_KEXEC
+static unsigned long kexec_gdt;
+static unsigned long kexec_idt;
+
+static int move_pt(unsigned long va, unsigned int lvl, bool is_leaf,
+                   pgentry_t *pte, void *par)
+{
+    unsigned long boundary_pfn = *(unsigned long *)par;
+    unsigned long pfn;
+    void *old_pg, *new_pg;
+
+    if ( is_leaf )
+        return 0;
+
+    pfn = (lvl == PAGETABLE_LEVELS + 1) ? PHYS_PFN(*(unsigned long *)pte)
+                                        : pte_to_mfn(*pte);
+    if ( pfn >= boundary_pfn )
+        return 0;
+
+    new_pg = (void *)alloc_page();
+    if ( !new_pg )
+        return ENOMEM;
+    old_pg = pfn_to_virt(pfn);
+    memcpy(new_pg, old_pg, PAGE_SIZE);
+    if ( lvl == PAGETABLE_LEVELS + 1 )
+        *(pgentry_t **)pte = new_pg;
+    else
+        *pte = ((unsigned long)new_pg & PAGE_MASK) | ptdata[lvl].prot;
+
+    tlb_flush();
+
+    free_page(old_pg);
+
+    return 0;
+}
+
+static int move_leaf(unsigned long va, unsigned int lvl, bool is_leaf,
+                     pgentry_t *pte, void *par)
+{
+    unsigned long boundary_pfn = *(unsigned long *)par;
+    unsigned long pfn;
+    void *old_pg, *new_pg;
+
+    if ( !is_leaf )
+        return 0;
+
+    /* No large page support, all pages must be valid. */
+    if ( (*pte & _PAGE_PSE) || !(*pte & _PAGE_PRESENT) )
+        return EINVAL;
+
+    pfn = pte_to_mfn(*pte);
+    if ( pfn >= boundary_pfn )
+        return 0;
+
+    new_pg = (void *)alloc_page();
+    if ( !new_pg )
+        return ENOMEM;
+    old_pg = pfn_to_virt(pfn);
+    memcpy(new_pg, old_pg, PAGE_SIZE);
+    *pte = ((unsigned long)new_pg & PAGE_MASK) | ptdata[lvl].prot;
+
+    invlpg(va);
+
+    free_page(old_pg);
+
+    return 0;
+}
+
+int kexec_move_used_pages(unsigned long boundary, unsigned long kernel,
+                          unsigned long kernel_size)
+{
+    int ret;
+    unsigned long boundary_pfn = PHYS_PFN(boundary);
+
+    kexec_gdt = alloc_page();
+    if ( !kexec_gdt )
+        return ENOMEM;
+    memcpy((char *)kexec_gdt, &gdt, sizeof(gdt));
+    gdt_ptr.base = kexec_gdt;
+    asm volatile("lgdt %0" : : "m" (gdt_ptr));
+
+    kexec_idt = alloc_page();
+    if ( !kexec_idt )
+        return ENOMEM;
+    memcpy((char *)kexec_idt, &idt, sizeof(idt));
+    idt_ptr.base = kexec_idt;
+    asm volatile("lidt %0" : : "m" (idt_ptr));
+
+    /* Top level page table needs special handling. */
+    ret = move_pt(0, PAGETABLE_LEVELS + 1, false, (pgentry_t *)(&pt_base),
+                  &boundary_pfn);
+    if ( ret )
+        return ret;
+    ret = walk_pt(0, ~0UL, move_pt, &boundary_pfn);
+    if ( ret )
+        return ret;
+
+    /* Move new kernel image pages. */
+    ret = walk_pt(kernel, kernel + kernel_size - 1, move_leaf, &boundary_pfn);
+    if ( ret )
+        return ret;
+
+    return 0;
+}
+
+void kexec_move_used_pages_undo(void)
+{
+    if ( kexec_gdt )
+    {
+        gdt_ptr.base = (unsigned long)&gdt;
+        asm volatile("lgdt %0" : : "m" (gdt_ptr));
+        free_page((void *)kexec_gdt);
+        kexec_gdt = 0;
+    }
+
+    if ( kexec_idt )
+    {
+        idt_ptr.base = (unsigned long)&idt;
+        asm volatile("lidt %0" : : "m" (idt_ptr));
+        free_page((void *)kexec_idt);
+        kexec_idt = 0;
+    }
+}
+#endif
diff --git a/include/kexec.h b/include/kexec.h
index 7b103dea..411fa013 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -49,4 +49,9 @@ void kexec_set_param_loc(const char *cmdline);
 int kexec_get_entry(const char *cmdline);
 void kexec_get_entry_undo(void);
 
+/* Move used pages away from new kernel area. */
+int kexec_move_used_pages(unsigned long boundary, unsigned long kernel,
+                          unsigned long kernel_size);
+void kexec_move_used_pages_undo(void);
+
 #endif /* _KEXEC_H */
diff --git a/kexec.c b/kexec.c
index 0ef8eb35..16a0030a 100644
--- a/kexec.c
+++ b/kexec.c
@@ -184,11 +184,17 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
         goto err;
     }
 
+    ret = kexec_move_used_pages(kexec_last_addr, (unsigned long)kernel,
+                                kernel_size);
+    if ( ret )
+        goto err;
+
     /* Error exit. */
     ret = ENOSYS;
 
  err:
     unreserve_memory_below();
+    kexec_move_used_pages_undo();
     kexec_get_entry_undo();
 
     return ret;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:31:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923589.1327084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYin-00052o-6d; Fri, 21 Mar 2025 09:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923589.1327084; Fri, 21 Mar 2025 09: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 1tvYin-00052h-3X; Fri, 21 Mar 2025 09:31:21 +0000
Received: by outflank-mailman (input) for mailman id 923589;
 Fri, 21 Mar 2025 09: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYdN-0005O8-AB
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:45 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7716d137-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:44 +0100 (CET)
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 4A04421D71;
 Fri, 21 Mar 2025 09:25:44 +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 10EE3139AA;
 Fri, 21 Mar 2025 09:25:44 +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 LdmYApgw3WdQGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 7716d137-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549144; 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=Uw6HD4PFeDL/Du0d7ozu2XDJH6Lx8FoCcaVCEavvgsw=;
	b=T8bNVE7BC+niMVLplTgoyt2dkyN3fAdaEfAlpfAl/HojQhGS/LVzEO4bKYXydfEvftUhYO
	4k8pXP4fHkll6f8mOucqCJx4CP+I2SmVc8Mb8oDSExJHiY/hf9PyS6ZHzuI2rsOM0GeBgj
	JGIm570vSzUO++jiolhm92AXIio8haM=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549144; 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=Uw6HD4PFeDL/Du0d7ozu2XDJH6Lx8FoCcaVCEavvgsw=;
	b=T8bNVE7BC+niMVLplTgoyt2dkyN3fAdaEfAlpfAl/HojQhGS/LVzEO4bKYXydfEvftUhYO
	4k8pXP4fHkll6f8mOucqCJx4CP+I2SmVc8Mb8oDSExJHiY/hf9PyS6ZHzuI2rsOM0GeBgj
	JGIm570vSzUO++jiolhm92AXIio8haM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 09/12] mm: change set_readonly() to change_readonly()
Date: Fri, 21 Mar 2025 10:24:48 +0100
Message-ID: <20250321092451.17309-10-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-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)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Rename set_readonly() to change_readonly() and add a parameter
specifying whether it should set the kernel to readonly or to writable.
At the same time move the boundary setting from the only caller into
the function itself, avoiding the need to use the same boundaries in
future, when it will be called to set the kernel to writable again.
Make the function globally visible in order to allow calling it from
kexec coding later.

Merge clear_bootstrap() into change_readonly() and undo its setting of
page 0 to invalid when setting the kernel writable.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/mm.c | 111 +++++++++++++++++++++++++++-----------------------
 include/mm.h  |   3 ++
 2 files changed, 64 insertions(+), 50 deletions(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index a71eb192..f4419d95 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -405,17 +405,19 @@ static void build_pagetable(unsigned long *start_pfn, unsigned long *max_pfn)
  */
 extern struct shared_info shared_info;
 
-struct set_readonly_par {
+struct change_readonly_par {
     unsigned long etext;
 #ifdef CONFIG_PARAVIRT
     unsigned int count;
 #endif
+    bool readonly;
 };
 
-static int set_readonly_func(unsigned long va, unsigned int lvl, bool is_leaf,
-                             pgentry_t *pte, void *par)
+static int change_readonly_func(unsigned long va, unsigned int lvl,
+                                bool is_leaf, pgentry_t *pte, void *par)
 {
-    struct set_readonly_par *ro = par;
+    struct change_readonly_par *ro = par;
+    pgentry_t newval;
 
     if ( !is_leaf )
         return 0;
@@ -429,9 +431,11 @@ static int set_readonly_func(unsigned long va, unsigned int lvl, bool is_leaf,
         return 0;
     }
 
+    newval = ro->readonly ? (*pte & ~_PAGE_RW) : (*pte | _PAGE_RW);
+
 #ifdef CONFIG_PARAVIRT
     mmu_updates[ro->count].ptr = virt_to_mach(pte);
-    mmu_updates[ro->count].val = *pte & ~_PAGE_RW;
+    mmu_updates[ro->count].val = newval;
     ro->count++;
 
     if ( ro->count == L1_PAGETABLE_ENTRIES )
@@ -442,7 +446,7 @@ static int set_readonly_func(unsigned long va, unsigned int lvl, bool is_leaf,
          ro->count = 0;
     }
 #else
-    *pte &= ~_PAGE_RW;
+    *pte = newval;
 #endif
 
     return 0;
@@ -463,23 +467,6 @@ static void tlb_flush(void)
 }
 #endif
 
-static void set_readonly(void *text, void *etext)
-{
-    struct set_readonly_par setro = { .etext = (unsigned long)etext };
-    unsigned long start_address = PAGE_ALIGN((unsigned long)text);
-
-    printk("setting %p-%p readonly\n", text, etext);
-    walk_pt(start_address, setro.etext, set_readonly_func, &setro);
-
-#ifdef CONFIG_PARAVIRT
-    if ( setro.count &&
-         HYPERVISOR_mmu_update(mmu_updates, setro.count, NULL, DOMID_SELF) < 0)
-        BUG();
-#endif
-
-    tlb_flush();
-}
-
 /*
  * get the PTE for virtual address va if it exists. Otherwise NULL.
  */
@@ -508,6 +495,51 @@ static pgentry_t *get_pgt(unsigned long va)
     return tab;
 }
 
+void change_readonly(bool readonly)
+{
+    struct change_readonly_par ro = {
+        .etext = (unsigned long)&_erodata,
+        .readonly = readonly,
+    };
+    unsigned long start_address = PAGE_ALIGN((unsigned long)&_text);
+#ifdef CONFIG_PARAVIRT
+    pte_t nullpte = { };
+    int rc;
+#else
+    pgentry_t *pgt = get_pgt((unsigned long)&_text);
+#endif
+
+    if ( readonly )
+    {
+#ifdef CONFIG_PARAVIRT
+        if ( (rc = HYPERVISOR_update_va_mapping(0, nullpte, UVMF_INVLPG)) )
+            printk("Unable to unmap NULL page. rc=%d\n", rc);
+#else
+        *pgt = 0;
+        invlpg((unsigned long)&_text);
+#endif
+    }
+    else
+    {
+#ifdef CONFIG_PARAVIRT
+        /* No kexec support with PARAVIRT. */
+        BUG();
+#else
+        *pgt = L1_PROT;
+#endif
+    }
+
+    printk("setting %p-%p readonly\n", &_text, &_erodata);
+    walk_pt(start_address, ro.etext, change_readonly_func, &ro);
+
+#ifdef CONFIG_PARAVIRT
+    if ( ro.count &&
+         HYPERVISOR_mmu_update(mmu_updates, ro.count, NULL, DOMID_SELF) < 0)
+        BUG();
+#endif
+
+    tlb_flush();
+}
 
 /*
  * return a valid PTE for a given virtual address. If PTE does not exist,
@@ -789,31 +821,6 @@ int unmap_frames(unsigned long va, unsigned long num_frames)
 }
 EXPORT_SYMBOL(unmap_frames);
 
-/*
- * Clear some of the bootstrap memory
- */
-static void clear_bootstrap(void)
-{
-#ifdef CONFIG_PARAVIRT
-    pte_t nullpte = { };
-    int rc;
-#else
-    pgentry_t *pgt;
-#endif
-
-    /* Use first page as the CoW zero page */
-    memset(&_text, 0, PAGE_SIZE);
-    mfn_zero = virt_to_mfn((unsigned long) &_text);
-#ifdef CONFIG_PARAVIRT
-    if ( (rc = HYPERVISOR_update_va_mapping(0, nullpte, UVMF_INVLPG)) )
-        printk("Unable to unmap NULL page. rc=%d\n", rc);
-#else
-    pgt = get_pgt((unsigned long)&_text);
-    *pgt = 0;
-    invlpg((unsigned long)&_text);
-#endif
-}
-
 #ifdef CONFIG_PARAVIRT
 void p2m_chk_pfn(unsigned long pfn)
 {
@@ -884,8 +891,12 @@ void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p)
     printk("    max_pfn: %lx\n", max_pfn);
 
     build_pagetable(&start_pfn, &max_pfn);
-    clear_bootstrap();
-    set_readonly(&_text, &_erodata);
+
+    /* Prepare page 0 as CoW page. */
+    memset(&_text, 0, PAGE_SIZE);
+    mfn_zero = virt_to_mfn((unsigned long)&_text);
+
+    change_readonly(true);
 
     *start_pfn_p = start_pfn;
     *max_pfn_p = max_pfn;
diff --git a/include/mm.h b/include/mm.h
index 5775c3e1..0a16d56c 100644
--- a/include/mm.h
+++ b/include/mm.h
@@ -25,6 +25,7 @@
 #ifndef _MM_H_
 #define _MM_H_
 
+#include <stdbool.h>
 #if defined(__i386__)
 #include <xen/arch-x86_32.h>
 #elif defined(__x86_64__)
@@ -92,4 +93,6 @@ extern unsigned long heap, brk, heap_mapped, heap_end;
 int free_physical_pages(xen_pfn_t *mfns, int n);
 void fini_mm(void);
 
+void change_readonly(bool readonly);
+
 #endif /* _MM_H_ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:31:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923593.1327090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYin-00054m-He; Fri, 21 Mar 2025 09:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923593.1327090; Fri, 21 Mar 2025 09: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 1tvYin-00054E-BU; Fri, 21 Mar 2025 09:31:21 +0000
Received: by outflank-mailman (input) for mailman id 923593;
 Fri, 21 Mar 2025 09:31: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYde-0005bg-No
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:26:02 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8108a1a8-0636-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:26:01 +0100 (CET)
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 EAAA721D79;
 Fri, 21 Mar 2025 09:26:00 +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 C18DF139AA;
 Fri, 21 Mar 2025 09:26:00 +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 6dHYLagw3WdpGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:26: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: 8108a1a8-0636-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549161; 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=r/E0X4kSUTS2znnNR4n/sGL9TrcJRaZCvVETFzkF9nM=;
	b=B9L4X8b0LyO+EsipPNlntdT73kCehyLOksZWhkXn2oV7P0F+Ved1AuISyTTvnPNcGtyWjG
	8XlL+RXUSya0e5McIEbkE4PW3GrS5sJrP/asVGdHmreh428P0qqcwpiILMGhYRw6cSEf1u
	0+BBYX1DtoyacMRW0LuCzS0HBjP1ghg=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=PYWAJsv9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549160; 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=r/E0X4kSUTS2znnNR4n/sGL9TrcJRaZCvVETFzkF9nM=;
	b=PYWAJsv9HFIHul3JqVAaDZ1tmb5ZgFhgRrgUYP2DuA6/twlMt+En73LQytp0UgOGc6Mzxc
	LtT4+HIzyCyzFix3Ejf73UZ82Qj/Reu/G/fumaSqvhhEzQuTPXWkBk6rktYD9NWuKgkLRj
	UVfkiTgNh/NBiRdXICFFtp8hYFF+m74=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 12/12] kexec: do the final kexec step
Date: Fri, 21 Mar 2025 10:24:51 +0100
Message-ID: <20250321092451.17309-13-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: EAAA721D79
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

With all kexec preparations done, activate the new kernel.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 kexec.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/kexec.c b/kexec.c
index 2db876e8..85b09959 100644
--- a/kexec.c
+++ b/kexec.c
@@ -169,6 +169,7 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
 {
     int ret;
     unsigned long *func;
+    void *kexec_page;
 
     ret = analyze_kernel(kernel, kernel_size);
     if ( ret )
@@ -192,6 +193,13 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
     if ( ret )
         goto err;
 
+    kexec_page = (void *)alloc_page();
+    if ( !kexec_page )
+    {
+        ret = ENOMEM;
+        goto err;
+    }
+
     for ( func = __kexec_array_start; func < __kexec_array_end; func++ )
     {
         ret = ((kexeccall_t)(*func))(false);
@@ -204,10 +212,15 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
         }
     }
 
-    /* Error exit. */
-    ret = ENOSYS;
+    /* Activate the new kernel. */
+    do_kexec(kexec_page);
+
+    /* do_kexec() shouldn't return, crash. */
+    BUG();
 
  err:
+    if ( kexec_page )
+        free_page(kexec_page);
     change_readonly(true);
     unreserve_memory_below();
     kexec_move_used_pages_undo();
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:31:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923601.1327112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYit-0005op-US; Fri, 21 Mar 2025 09:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923601.1327112; Fri, 21 Mar 2025 09:31: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 1tvYit-0005oe-RT; Fri, 21 Mar 2025 09:31:27 +0000
Received: by outflank-mailman (input) for mailman id 923601;
 Fri, 21 Mar 2025 09:31: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYd6-0005O8-KR
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:28 +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 6d0ecaf8-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:27 +0100 (CET)
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 6B06B1FB6B;
 Fri, 21 Mar 2025 09:25:27 +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 3F8B4139AA;
 Fri, 21 Mar 2025 09:25:27 +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 /TMLDocw3WcrGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 6d0ecaf8-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549127; 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=nAlkrmGl4CD2FgQ6p1TiH9XT/Lw2GB/CTlhJ+Z/qIes=;
	b=ucu+XUwaJKwhDdvrXJ1uGJw2Z7/vvxmQpFIshVqrXsnV/u/CZfeo67OOHOmzUf1NJmFqjX
	1ZT7sxHhlAnimSgU6qt8yNML8QR15/piuNAQmO68+bpSWO9InahZWxr9MkELS4yWchdFcS
	RLkrJcegzN7Hu85iCPqhveVtE+rDaQU=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=ucu+XUwa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549127; 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=nAlkrmGl4CD2FgQ6p1TiH9XT/Lw2GB/CTlhJ+Z/qIes=;
	b=ucu+XUwaJKwhDdvrXJ1uGJw2Z7/vvxmQpFIshVqrXsnV/u/CZfeo67OOHOmzUf1NJmFqjX
	1ZT7sxHhlAnimSgU6qt8yNML8QR15/piuNAQmO68+bpSWO9InahZWxr9MkELS4yWchdFcS
	RLkrJcegzN7Hu85iCPqhveVtE+rDaQU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 06/12] kexec: reserve memory below boundary
Date: Fri, 21 Mar 2025 10:24:45 +0100
Message-ID: <20250321092451.17309-7-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 6B06B1FB6B
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

In order to support kexec any memory used during copying the new
kernel to its final destination must not overlap with the destination
area.

In order to achieve that add a new interface allowing to mark all
allocatable memory below a specific physical address as not available.

This is done by walking through all chunks of the buddy allocator and
removing the chunks (or chunk parts) below the boundary. The removed
chunks are put into a list in order to be able to undo the operation
in case kexec is failing before doing any unrecoverable system
modifications.

Any pages freed located below the boundary need to go directly into
the list of reserved pages instead of the free pool.

Call the new function from kexec code.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/mm.h |  5 +++
 kexec.c      |  5 +++
 mm.c         | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 98 insertions(+), 1 deletion(-)

diff --git a/include/mm.h b/include/mm.h
index 4fc364ff..5775c3e1 100644
--- a/include/mm.h
+++ b/include/mm.h
@@ -57,6 +57,11 @@ unsigned long alloc_pages(int order);
 void free_pages(void *pointer, int order);
 #define free_page(p)    free_pages(p, 0)
 
+#ifdef CONFIG_KEXEC
+void reserve_memory_below(unsigned long boundary);
+void unreserve_memory_below(void);
+#endif
+
 static __inline__ int get_order(unsigned long size)
 {
     int order;
diff --git a/kexec.c b/kexec.c
index 7e559994..68457711 100644
--- a/kexec.c
+++ b/kexec.c
@@ -175,6 +175,11 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
 
     kexec_set_param_loc(cmdline);
 
+    reserve_memory_below(kexec_last_addr);
+
+    /* Error exit. */
+    unreserve_memory_below();
+
     return ENOSYS;
 }
 EXPORT_SYMBOL(kexec);
diff --git a/mm.c b/mm.c
index a5d3f5e5..9236db58 100644
--- a/mm.c
+++ b/mm.c
@@ -230,6 +230,84 @@ static void init_page_allocator(unsigned long min, unsigned long max)
     mm_alloc_bitmap_remap();
 }
 
+#ifdef CONFIG_KEXEC
+static chunk_head_t *reserved_chunks;
+static unsigned long boundary_pfn;
+
+static void free_pages_below(void *pointer, unsigned int order)
+{
+    unsigned long pfn_s, pfn;
+    chunk_head_t *ch = pointer;
+
+    pfn_s = virt_to_pfn(ch);
+
+    if ( pfn_s + (1UL << order) <= boundary_pfn )
+    {
+        /* Put complete chunk into reserved list. */
+        ch->level = order;
+        ch->next = reserved_chunks;
+        reserved_chunks = ch;
+    }
+    else
+    {
+        /* Put pages below boundary into reserved list. */
+        for ( pfn = pfn_s; pfn < boundary_pfn; pfn++ )
+        {
+            chunk_head_t *ch_res = pfn_to_virt(pfn);
+
+            ch_res->level = 0;
+            ch_res->next = reserved_chunks;
+            reserved_chunks = ch_res;
+        }
+
+        /* Return pages above boundary to free pool again. */
+        for ( ; pfn < pfn_s + (1UL << order); pfn++ )
+            free_pages(pfn_to_virt(pfn), 0);
+    }
+}
+
+void reserve_memory_below(unsigned long boundary)
+{
+    unsigned long pfn;
+    unsigned int order;
+    chunk_head_t *ch;
+
+    ASSERT(!boundary_pfn);
+    boundary_pfn = PHYS_PFN(boundary);
+
+    for ( order = 0; order < FREELIST_SIZE; order++ )
+    {
+        for ( ch = free_list[order].next; !FREELIST_EMPTY(ch); ch = ch->next )
+        {
+            pfn = virt_to_pfn(ch);
+            if ( pfn >= boundary_pfn )
+                continue;
+
+            /* Dequeue from this level, at least parts will be reserved. */
+            dequeue_elem(ch);
+            /* Mark all as allocated, pieces above boundary will be returned. */
+            map_alloc(pfn, 1UL << ch->level);
+
+            free_pages_below(ch, ch->level);
+        }
+    }
+}
+
+void unreserve_memory_below(void)
+{
+    chunk_head_t *ch;
+
+    boundary_pfn = 0;
+
+    while ( reserved_chunks )
+    {
+        ch = reserved_chunks;
+        reserved_chunks = ch->next;
+        free_pages(ch, ch->level);
+    }
+}
+#endif /* CONFIG_KEXEC */
+
 /* Allocate 2^@order contiguous pages. Returns a VIRTUAL address. */
 unsigned long alloc_pages(int order)
 {
@@ -279,10 +357,19 @@ EXPORT_SYMBOL(alloc_pages);
 void free_pages(void *pointer, int order)
 {
     chunk_head_t *freed_ch, *to_merge_ch;
+    unsigned long pfn = virt_to_pfn(pointer);
     unsigned long mask;
 
+#ifdef CONFIG_KEXEC
+    if ( pfn < boundary_pfn )
+    {
+        free_pages_below(pointer, order);
+        return;
+    }
+#endif
+
     /* First free the chunk */
-    map_free(virt_to_pfn(pointer), 1UL << order);
+    map_free(pfn, 1UL << order);
 
     /* Create free chunk */
     freed_ch = (chunk_head_t *)pointer;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:31:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923633.1327126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYjO-0007EW-9t; Fri, 21 Mar 2025 09:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923633.1327126; Fri, 21 Mar 2025 09:31: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 1tvYjO-0007EP-6r; Fri, 21 Mar 2025 09:31:58 +0000
Received: by outflank-mailman (input) for mailman id 923633;
 Fri, 21 Mar 2025 09:31: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYdY-0005O8-C6
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:25:56 +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 7dc910a9-0636-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:25:55 +0100 (CET)
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 6464821D73;
 Fri, 21 Mar 2025 09:25:55 +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 3A62B139AA;
 Fri, 21 Mar 2025 09:25:55 +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 hQrTDKMw3WdiGQAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:25: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: 7dc910a9-0636-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549155; 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=HQe3NFl9NcYNQIAbCkFgkSlVK4W9Vi1C+SAHqrE0njI=;
	b=rVMNk08qj8xr248VPAaqoUDnb3UN031wvyAVRy62mdY6oL37SgxFKyxcUmYmDAY9GZkwL4
	UfoosWMhcQN4IeM7ERad686Tg8/QjFpJTEIEHZbD2XgI+4IMeh644EX5ilgUe7+1H6Ch/W
	YHJDLawq5zEnu3VCyqOLBcMApjkbyN0=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=rVMNk08q
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549155; 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=HQe3NFl9NcYNQIAbCkFgkSlVK4W9Vi1C+SAHqrE0njI=;
	b=rVMNk08qj8xr248VPAaqoUDnb3UN031wvyAVRy62mdY6oL37SgxFKyxcUmYmDAY9GZkwL4
	UfoosWMhcQN4IeM7ERad686Tg8/QjFpJTEIEHZbD2XgI+4IMeh644EX5ilgUe7+1H6Ch/W
	YHJDLawq5zEnu3VCyqOLBcMApjkbyN0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 11/12] kexec: add kexec callback functionality
Date: Fri, 21 Mar 2025 10:24:50 +0100
Message-ID: <20250321092451.17309-12-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 6464821D73
X-Spam-Score: -3.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(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];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Add a kexec_call() macro which will provide the capability to register
a function for being called when doing a kexec() call. The called
functions will be called with a boolean parameter "undo" indicating
whether a previous call needs to be undone due to a failure during
kexec().

The related loop to call all callbacks is added to kexec().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/minios-x86.lds.S |  8 ++++++++
 arch/x86/mm.c             |  3 ++-
 include/kexec.h           |  6 ++++++
 kexec.c                   | 13 +++++++++++++
 4 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/arch/x86/minios-x86.lds.S b/arch/x86/minios-x86.lds.S
index 83ec41ce..35356b34 100644
--- a/arch/x86/minios-x86.lds.S
+++ b/arch/x86/minios-x86.lds.S
@@ -58,6 +58,14 @@ SECTIONS
         }
         PROVIDE (__fini_array_end = .);
 
+#if defined(CONFIG_KEXEC)
+        PROVIDE (__kexec_array_start = .);
+        .kexec_array : {
+                *(.kexec_array)
+        }
+        PROVIDE (__kexec_array_end = .);
+#endif
+
         .ctors : {
                 __CTOR_LIST__ = .;
                 *(.ctors)
diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index f4419d95..26ede6f4 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -529,7 +529,8 @@ void change_readonly(bool readonly)
 #endif
     }
 
-    printk("setting %p-%p readonly\n", &_text, &_erodata);
+    printk("setting %p-%p %s\n", &_text, &_erodata,
+           readonly ? "readonly" : "writable");
     walk_pt(start_address, ro.etext, change_readonly_func, &ro);
 
 #ifdef CONFIG_PARAVIRT
diff --git a/include/kexec.h b/include/kexec.h
index 411fa013..b89c3000 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -18,6 +18,12 @@ struct kexec_action {
 
 extern char _kexec_start[], _kexec_end[];
 extern struct kexec_action kexec_actions[KEXEC_MAX_ACTIONS];
+extern unsigned long __kexec_array_start[], __kexec_array_end[];
+
+typedef int(*kexeccall_t)(bool undo);
+#define kexec_call(func)                                                   \
+    static kexeccall_t __kexeccall_##func __attribute__((__used__))        \
+                       __attribute__((__section__(".kexec_array"))) = func
 
 extern unsigned long kexec_last_addr;
 
diff --git a/kexec.c b/kexec.c
index 2992f58f..2db876e8 100644
--- a/kexec.c
+++ b/kexec.c
@@ -168,6 +168,7 @@ static int analyze_kernel(void *kernel, unsigned long size)
 int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
 {
     int ret;
+    unsigned long *func;
 
     ret = analyze_kernel(kernel, kernel_size);
     if ( ret )
@@ -191,6 +192,18 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
     if ( ret )
         goto err;
 
+    for ( func = __kexec_array_start; func < __kexec_array_end; func++ )
+    {
+        ret = ((kexeccall_t)(*func))(false);
+        if ( ret )
+        {
+            for ( func--; func >= __kexec_array_start; func-- )
+                ((kexeccall_t)(*func))(true);
+
+            goto err;
+        }
+    }
+
     /* Error exit. */
     ret = ENOSYS;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:41:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:41:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923696.1327155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYsP-00024C-Fb; Fri, 21 Mar 2025 09:41:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923696.1327155; Fri, 21 Mar 2025 09:41: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 1tvYsP-000245-CN; Fri, 21 Mar 2025 09:41:17 +0000
Received: by outflank-mailman (input) for mailman id 923696;
 Fri, 21 Mar 2025 09:41: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYjR-000356-Km
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:32:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56f39bae-0637-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:32:00 +0100 (CET)
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 C2DB321D86;
 Fri, 21 Mar 2025 09:31:59 +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 88C62139AA;
 Fri, 21 Mar 2025 09:31:59 +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 I5MMIA8y3WdhGwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:31: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: 56f39bae-0637-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549519; 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=4BpHAguWxlsmt8Ud6JDitYmvVQmBcsNG/Ch0rgSbdso=;
	b=OqPlJU8F4c0C330u9Hsn9Yvosf8dzfLHgTLimxmL++mnNla64dNaz46hrNkc0DeKc2SRh2
	3tcb7m3eC2sX0+9gHkxED3FrX/S+upqcRQbCT+imI9FuTM4yEFhAf0hqlXNKUD8rF2z3kx
	q+GXRx0UFrHaawge42lz8IipdG/E6iA=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549519; 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=4BpHAguWxlsmt8Ud6JDitYmvVQmBcsNG/Ch0rgSbdso=;
	b=OqPlJU8F4c0C330u9Hsn9Yvosf8dzfLHgTLimxmL++mnNla64dNaz46hrNkc0DeKc2SRh2
	3tcb7m3eC2sX0+9gHkxED3FrX/S+upqcRQbCT+imI9FuTM4yEFhAf0hqlXNKUD8rF2z3kx
	q+GXRx0UFrHaawge42lz8IipdG/E6iA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 2/2] 9pfs: add lseek file operation hook
Date: Fri, 21 Mar 2025 10:31:45 +0100
Message-ID: <20250321093145.17882-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321093145.17882-1-jgross@suse.com>
References: <20250321093145.17882-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -6.80
X-Spamd-Result: default: False [-6.80 / 50.00];
	REPLY(-4.00)[];
	BAYES_HAM(-3.00)[99.99%];
	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];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo]
X-Spam-Flag: NO
X-Spam-Level: 

Add a file operations lseek hook to the 9pfs frontend. Just use the
lseek_default() implementation.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 9pfront.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/9pfront.c b/9pfront.c
index 7257a07e..8bf3a91e 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -1325,6 +1325,7 @@ static const struct file_ops ops_9pfs = {
     .write = write_9pfs,
     .close = close_9pfs,
     .fstat = fstat_9pfs,
+    .lseek = lseek_default,
 };
 
 __attribute__((constructor))
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:41:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:41:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923691.1327144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYsL-0001kK-7x; Fri, 21 Mar 2025 09:41:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923691.1327144; Fri, 21 Mar 2025 09:41: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 1tvYsL-0001kD-5F; Fri, 21 Mar 2025 09:41:13 +0000
Received: by outflank-mailman (input) for mailman id 923691;
 Fri, 21 Mar 2025 09:41: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYjM-00033C-2R
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:31:56 +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 539eff68-0637-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:31:54 +0100 (CET)
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 2E21D21C59;
 Fri, 21 Mar 2025 09:31:54 +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 F3949139AA;
 Fri, 21 Mar 2025 09:31: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 CuQCOgky3WdaGwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:31: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: 539eff68-0637-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549514; 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=w41cQJdYbcNGHG3cF8bDLMo1yZi7in/akXd7iDnt7OY=;
	b=BovOjo2YehkiVA2nJhh3+0LzxX51+jeHs44jv7sSuOuo1ch7kOdYpouLds5CA7wssg3IbD
	UEjuIbBRwX5ajG/4OUMUBLXbe6pvdbwMqzFwgiYMkd6VZ9qcqPA/cDZ8XxkErXVFf4UdDX
	ra4yX7rhwg7wqPx+LWH1d5wj4w1W7PM=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549514; 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=w41cQJdYbcNGHG3cF8bDLMo1yZi7in/akXd7iDnt7OY=;
	b=BovOjo2YehkiVA2nJhh3+0LzxX51+jeHs44jv7sSuOuo1ch7kOdYpouLds5CA7wssg3IbD
	UEjuIbBRwX5ajG/4OUMUBLXbe6pvdbwMqzFwgiYMkd6VZ9qcqPA/cDZ8XxkErXVFf4UdDX
	ra4yX7rhwg7wqPx+LWH1d5wj4w1W7PM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
Date: Fri, 21 Mar 2025 10:31:44 +0100
Message-ID: <20250321093145.17882-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250321093145.17882-1-jgross@suse.com>
References: <20250321093145.17882-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -6.80
X-Spamd-Result: default: False [-6.80 / 50.00];
	REPLY(-4.00)[];
	BAYES_HAM(-3.00)[99.99%];
	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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Add a file operations fstat hook to the 9pfs frontend.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
V2:
- or file access mode into st_mode (Jason Andryuk)
---
 9pfront.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/9pfront.c b/9pfront.c
index 1741d600..7257a07e 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -85,6 +85,8 @@ struct file_9pfs {
 
 #define P9_QID_SIZE    13
 
+#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
+
 struct p9_header {
     uint32_t size;
     uint8_t cmd;
@@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
     return ret;
 }
 
+static int fstat_9pfs(struct file *file, struct stat *buf)
+{
+    struct file_9pfs *f9pfs = file->filedata;
+    struct p9_stat stat;
+    int ret;
+
+    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
+    if ( ret )
+    {
+        errno = EIO;
+        return -1;
+    }
+
+    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
+    buf->st_mode |= stat.mode & 0777;
+    buf->st_atime = stat.atime;
+    buf->st_mtime = stat.mtime;
+    buf->st_size = stat.length;
+    buf->st_uid = stat.n_uid;
+    buf->st_gid = stat.n_gid;
+
+    free_stat(&stat);
+
+    return 0;
+}
+
 static int close_9pfs(struct file *file)
 {
     struct file_9pfs *f9pfs = file->filedata;
@@ -1296,6 +1324,7 @@ static const struct file_ops ops_9pfs = {
     .read = read_9pfs,
     .write = write_9pfs,
     .close = close_9pfs,
+    .fstat = fstat_9pfs,
 };
 
 __attribute__((constructor))
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:41:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:41:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923751.1327168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYsp-0003Ud-Oz; Fri, 21 Mar 2025 09:41:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923751.1327168; Fri, 21 Mar 2025 09:41: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 1tvYsp-0003UW-ML; Fri, 21 Mar 2025 09:41:43 +0000
Received: by outflank-mailman (input) for mailman id 923751;
 Fri, 21 Mar 2025 09:41: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvYjG-00033C-4Z
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:31: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 50b43586-0637-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:31:49 +0100 (CET)
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 A41C721D84;
 Fri, 21 Mar 2025 09:31: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 61F6C139AA;
 Fri, 21 Mar 2025 09:31: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 ej9tFgQy3WdUGwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 21 Mar 2025 09:31: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: 50b43586-0637-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549508; 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=rI2ieuGEA6udzp8fMeYy10hSLLdHyPPXbjrCTmqils8=;
	b=YtFzqt/iQ7fECJZMX4n5dQLvSCjaMyKihRjazv1Jg642rAru2yf+OwAHv0TqOOYHO9rK1e
	+FswF0SmeVEdu0EqUrQrIA67dALheZOBnPO2I5PiCklIKCzH1BsRIW4G2nBNMQu9bwoJ0P
	X8AY9S6u10QZSTU9Bgc2dErnZBEgxK0=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742549508; 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=rI2ieuGEA6udzp8fMeYy10hSLLdHyPPXbjrCTmqils8=;
	b=YtFzqt/iQ7fECJZMX4n5dQLvSCjaMyKihRjazv1Jg642rAru2yf+OwAHv0TqOOYHO9rK1e
	+FswF0SmeVEdu0EqUrQrIA67dALheZOBnPO2I5PiCklIKCzH1BsRIW4G2nBNMQu9bwoJ0P
	X8AY9S6u10QZSTU9Bgc2dErnZBEgxK0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v2 0/2] 9pfs: add some file operation hooks
Date: Fri, 21 Mar 2025 10:31:43 +0100
Message-ID: <20250321093145.17882-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.77 / 50.00];
	BAYES_HAM(-2.97)[99.88%];
	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];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	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]
X-Spam-Score: -2.77
X-Spam-Flag: NO

For being able to store the Xenstore state in preparation of a live
update operation, 9pfront is needing support for fstat and lseek.

Changes in V2:
- addressed comment for patch 1

Juergen Gross (2):
  9pfs: add fstat file operation hook
  9pfs: add lseek file operation hook

 9pfront.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:48:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:48:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923772.1327180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYzg-0004Ib-Kv; Fri, 21 Mar 2025 09:48:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923772.1327180; Fri, 21 Mar 2025 09:48: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 1tvYzg-0004IU-GO; Fri, 21 Mar 2025 09:48:48 +0000
Received: by outflank-mailman (input) for mailman id 923772;
 Fri, 21 Mar 2025 09:48: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=9U11=WI=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvYze-0004IO-Vr
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:48:47 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae78ebba-0639-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:48:45 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5499e3ec54dso2046663e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 02:48: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: ae78ebba-0639-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742550525; x=1743155325; 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=Npr+K3G5sCP0RnkM0bB91kczB72IKzW7A+bNoeVZjRY=;
        b=AgNlkhQ9G3CbbaEPzK71QkBM6IJEdzh/+/t0luB7bcWlTlN44mWCX3P61cfAWsYzPf
         3nCylws3PqQldUtC6e5yojHXlvzWvuvvQKrjlgfD4ICSTdvs4+k1t4iblZA02Cn2JBoe
         9bSQg5XC+wApce+8NGi3HthHeKSCM5RiHBV2mdaencxU9TwuDo6LyOcxMvFJqLdiTaxw
         D3FctDKFJa5pN03un2oMu6hveIbklXoZQ42J4QHNIPRBvZ5Vurs6vU1NCvIhObgNNB8H
         ccJtJ8bKTD2fiX2q/76Rfx5RepsUG6m/Fjl/Xc0PJ/eKu+EdsgBQvmaiXSRVA1kZOr07
         2hzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742550525; x=1743155325;
        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=Npr+K3G5sCP0RnkM0bB91kczB72IKzW7A+bNoeVZjRY=;
        b=bOexvyDOeTG+I1lLi3ZLqrmgPuXsSbQeBfR5rndaA7rhoWdFt1XxSvL+FGpoH8t1mI
         o9ixUGEOgK7li1uAGUTI9XOc0aaig0bbNqUPcmhSC65b2Jf97ji6CCJeG7X6ih8bZb7i
         eq5I/TROj+J6ersSKaIn7O9twE9KtYBBUGT0hSLTGp/EPsSD0gXTKkv2IE8YGOYEr9u2
         qsboh8rw1Dp3o4m88NQK8PeBL9mrBuYUMkLmgIqyVpKsLo2GVCvRk/ReQbsOUm6JMbcX
         ED2MIFzjBUigPCMkSFmHi4IzjRu4oacqXH5gtIy7QuvPwr81bPr/g+UZzjMUqZXrh3Pa
         LlEA==
X-Forwarded-Encrypted: i=1; AJvYcCVgEL8Dq122fN07v9BwRaJq2cC6AYnbvLR9JvFD/w/wT3L4ElHT4uXwg7TroyE+mIqawvgdlTPtSBY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEMFSj2AfeB356DcSTmQHx9kAfXKZ/nTAi8LVDCDbTWHvxUAhE
	WBTP9qodn/a2LTRYXxVfID3SX6WKQp7v5PaS4A6WhWw2zhJSRmHMYi3QqmT4wSobFN4UBD2oLv1
	rQ/mtrKFa8y9U9SuIc5ZKFafv0rk=
X-Gm-Gg: ASbGncvfje/mik312v61G1i9wsLCBzd6zUxfH7aaA2tZWz9se2TSxrrVXh9Tr/QcASp
	+F1bg+GxmWbuL41vOGyWEBn5DhtGv4CajiaDYzdEzAXM1FFHoTmsDZD0k0tIoC9iILQeMc6t9pB
	x1xpeLM7ezlwlbG/scBajSWrSM
X-Google-Smtp-Source: AGHT+IEc51kZC242gudtyHt46nCY/IpKl6F4pLHLDgOjGgHIjuv8HT+jaMG+JuJePr3fYjmY9JGUDLCG0mA3JV2dw3g=
X-Received: by 2002:a05:6512:31d1:b0:549:887b:253f with SMTP id
 2adb3069b0e04-54ad64f9118mr866467e87.51.1742550524657; Fri, 21 Mar 2025
 02:48:44 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <e6cc20510acf49d90c08007a2308ef3dcaccc368.1741164138.git.xakep.amatop@gmail.com>
 <30681b52-0d81-47d9-959f-90238863b88e@xen.org> <0976c68e-f847-43ba-bb0c-53e2627e1d05@suse.com>
In-Reply-To: <0976c68e-f847-43ba-bb0c-53e2627e1d05@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 21 Mar 2025 11:48:32 +0200
X-Gm-Features: AQ5f1JpE-ZHYoh_-Ku4cTLz1WsA6GxqU628VgTfDYYJjM_HdDzvVg4HHZ8SWXWU
Message-ID: <CAGeoDV-MceE4c8vDJ=cr_OH3x=pTUUgLr0HOqkDNh-_6rT5P+w@mail.gmail.com>
Subject: Re: [PATCH 04/16] xen/cpu: prevent disable_nonboot_cpus crash on ARM64
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, 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>, Mykola Kvach <mykola_kvach@epam.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 13, 2025 at 5:43=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 11.03.2025 21:47, Julien Grall wrote:
> > Hi Mykola,
> >
> > On 05/03/2025 09:11, Mykola Kvach wrote:
> >> If we call disable_nonboot_cpus on ARM64 with system_state set
> >> to SYS_STATE_suspend, the following assertion will be triggered:
> >>
> >> ```
> >> (XEN) [   25.582712] Disabling non-boot CPUs ...
> >> (XEN) [   25.587032] Assertion '!in_irq() && (local_irq_is_enabled() |=
| num_online_cpus() <=3D 1)' failed at common/xmalloc_tlsf.c:714
> >> [...]
> >> (XEN) [   25.975069] Xen call trace:
> >> (XEN) [   25.978353]    [<00000a000022e098>] xfree+0x130/0x1a4 (PC)
> >> (XEN) [   25.984314]    [<00000a000022e08c>] xfree+0x124/0x1a4 (LR)
> >> (XEN) [   25.990276]    [<00000a00002747d4>] release_irq+0xe4/0xe8
> >> (XEN) [   25.996152]    [<00000a0000278588>] time.c#cpu_time_callback+=
0x44/0x60
> >> (XEN) [   26.003150]    [<00000a000021d678>] notifier_call_chain+0x7c/=
0xa0
> >> (XEN) [   26.009717]    [<00000a00002018e0>] cpu.c#cpu_notifier_call_c=
hain+0x24/0x48
> >> (XEN) [   26.017148]    [<00000a000020192c>] cpu.c#_take_cpu_down+0x28=
/0x34
> >> (XEN) [   26.023801]    [<00000a0000201944>] cpu.c#take_cpu_down+0xc/0=
x18
> >> (XEN) [   26.030281]    [<00000a0000225c5c>] stop_machine.c#stopmachin=
e_action+0xbc/0xe4
> >> (XEN) [   26.038057]    [<00000a00002264bc>] tasklet.c#do_tasklet_work=
+0xb8/0x100
> >> (XEN) [   26.045229]    [<00000a00002268a4>] do_tasklet+0x68/0xb0
> >> (XEN) [   26.051018]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0=
x194
> >> (XEN) [   26.057585]    [<00000a0000277e30>] start_secondary+0x21c/0x2=
20
> >> (XEN) [   26.063978]    [<00000a0000361258>] 00000a0000361258
> >> ```
> >>
> >> This happens because before invoking take_cpu_down via the stop_machin=
e_run
> >> function on the target CPU, stop_machine_run requests
> >> the STOPMACHINE_DISABLE_IRQ state on that CPU. Releasing memory in
> >> the release_irq function then triggers the assertion:
> >>
> >> /*
> >>   * Heap allocations may need TLB flushes which may require IRQs to be
> >>   * enabled (except when only 1 PCPU is online).
> >>   */
> >> #define ASSERT_ALLOC_CONTEXT()
> >>
> >> This patch introduces a new tasklet to perform the CPU_DYING call chai=
n for
> >> a particular CPU. However, we cannot call take_cpu_down from the taskl=
et
> >> because the __cpu_disable function disables local IRQs, causing the sy=
stem
> >> to crash inside spin_lock_irq, which is called after the tasklet funct=
ion
> >> invocation inside do_tasklet_work:
> >>
> >> void _spin_lock_irq(spinlock_t *lock)
> >> {
> >>      ASSERT(local_irq_is_enabled());
> >>
> >> To resolve this, take_cpu_down is split into two parts. The first part=
 triggers
> >> the CPU_DYING call chain, while the second part, __cpu_disable, is inv=
oked from
> >> stop_machine_run.
> >
> > Rather than modifying common code, have you considered allocating from
> > the IRQ action from the percpu area? This would also reduce the number
> > of possible failure when bringup up a pCPU.
>
> I'd go further and question whether release_irq() really wants calling wh=
en
> suspending. At least on x86, a requirement is that upon resume the same
> number and kinds of CPUs will come back up. Hence the system will look th=
e
> same, including all the interrupts that are in use. Plus resume will be
> faster if things are left set up during suspend.

I tried that approach and encountered another issue.
 - in the case of the hardware domain, it triggered a domain watchdog;
 - in the case of domU, it caused a crash inside the Linux kernel due
to an RCU stall.

Both scenarios suggest that something is wrong with IRQ delivery to the gue=
st.
It might be necessary to revisit the entire logic related to GIC
resume/suspend instead.

>
> Jan

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:49:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923775.1327190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvYzv-0004dN-Re; Fri, 21 Mar 2025 09:49:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923775.1327190; Fri, 21 Mar 2025 09:49: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 1tvYzv-0004dG-ND; Fri, 21 Mar 2025 09:49:03 +0000
Received: by outflank-mailman (input) for mailman id 923775;
 Fri, 21 Mar 2025 09:49: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=9U11=WI=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvYzu-0004YZ-EM
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:49:02 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b76504ef-0639-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:49:00 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5499e3ec54dso2046872e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 02:49: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: b76504ef-0639-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742550540; x=1743155340; 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=hVbou/KzCebiI4gwX/HMLSGwhhwxzS3AZlFq1Jurstg=;
        b=MOf4CCmpp44pQXD5rUl/6CB6Og+GQ31vwg8mgOwnz/uy4NA7PfMYI8eRUM3qwU420r
         S85URgnfEPHGSFF2ZL/s5Jhg+Jq029M8cREFDqNDUQ5rkSWxHY1jKV2t9YnpncfUwNVK
         v7lz9lLAEYN4ihCHtnk5e3tYOBQu+fZls75uxMeY5dUxgMNUwphsfxBbLJFZnUUctIgx
         E/xTmj/6I3Es41mMWYNofEOfzM1UhqUyKwxiqpmMc4miu4n/u+am4PItTPWWdh8blRV7
         BxgCx7oi6UuNoti/JS/yoc+AIrOVMM6Joua++J3HWAzHmwx4IECSHpC1Br2ZLT/XnEeM
         5ZYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742550540; x=1743155340;
        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=hVbou/KzCebiI4gwX/HMLSGwhhwxzS3AZlFq1Jurstg=;
        b=X0ayqg1i5TYn05q32UFg5/3s6+BieabksusdE7qcBb1IXhNh0KnYf8qEybI6aFPu9+
         eNlvj6D3/BmkcSriAfI6d6LyzAnpWWJ7uocVxiKbnymcg9mN6aOYFT1nXQ1vs9547dyP
         ZYp/WaVFgSnah39i12aBHr0buqnD9S9PpoLc8Sfpepxu5FNO8t/Bp64n9Ieqj/KD2EFJ
         oGu6DXg5DdQAWMSjlnMq3xtOrZQdnWpfiTZAvpfFKwwFczwokt/cxGhaGMfhDIzJHFg7
         0LOZDw8wSWuttZaTdLPvw4cbMAYk/wFmMyaxrGUSgOwNbhI1jvph5Ki4fYs5u2iLf2+/
         hwng==
X-Forwarded-Encrypted: i=1; AJvYcCXdyoCjLPxT6QEg00bsIxivMBIe7n+oGd/ED6lVihneSd/hCxqNt4tNbIhxpgEXWYTHAF6EyXExLPE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwjAHCN8GvjE/6cL6Tg64ep1fgBgmCWOtpagA+2oEB+Jq7vUS3l
	QVxCqZOAIc2dFDAlse4aBxhCcenGDi7Z9JtZip2b2PbvErfJXucaNtCAY/+Q9LOM4h2T1SlvcV/
	FW9v7N9ZFndyP3bLcncBZa8Y87T6V92tL
X-Gm-Gg: ASbGnctGzEce8+k6q67x9Di7XxWBXKKhAHrWw5ZNNCzUH/wQiTv+uZTUUo1tXDHr9Az
	02nFMxOnv1aIcCgoasGLuJkho2MSmF88/PszluCH2h9kzfwH4AXXBVnMKnqNkB2GcH/vahbpmyZ
	u0tmoPoYU92v7GcV+CuBBObKm9Xhn7Nk9vqXc=
X-Google-Smtp-Source: AGHT+IE4gGPwAlntvuGmQMc9KSqiqwJ6ZZv5wXT91b0NND+lzZzEHD48b7g1GaQDYy5UcXpqTqaRLQmQRKyPurNmbXM=
X-Received: by 2002:a05:6512:32c1:b0:549:6451:7e6b with SMTP id
 2adb3069b0e04-54ad647ea56mr1091219e87.15.1742550540061; Fri, 21 Mar 2025
 02:49:00 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
 <c5ccb703-45eb-4fb1-842c-75317354afad@xen.org> <e8ddc992-a092-46d8-8c87-6b3c516fe464@suse.com>
 <32989e14-4754-427d-8347-73fc83a8bd62@suse.com> <08cf29e4-8029-4c3b-bb32-f84bcb6d3678@suse.com>
In-Reply-To: <08cf29e4-8029-4c3b-bb32-f84bcb6d3678@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 21 Mar 2025 11:48:48 +0200
X-Gm-Features: AQ5f1JqjzGC_OUGB-q2G3UzoS0Pz9cePvDU03ZUvcTGSCXz4HYoDCHl_HCsewio
Message-ID: <CAGeoDV_sq-BuYF0fp8KByzit6CySgn_1X3VnL2jXBdoGDnNsDA@mail.gmail.com>
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Mykyta Poturai <mykyta_poturai@epam.com>, 
	Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org, 
	=?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, 
	Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Mar 13, 2025 at 6:20=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 13.03.2025 17:05, J=C3=BCrgen Gro=C3=9F wrote:
> > On 13.03.25 16:54, Jan Beulich wrote:
> >> On 11.03.2025 21:59, Julien Grall wrote:
> >>> On 05/03/2025 09:11, Mykola Kvach wrote:
> >>>> Invocation of the CPU_UP_PREPARE notification
> >>>> on ARM64 during resume causes a crash:
> >>>>
> >>>> (XEN) [  315.807606] Error bringing CPU1 up: -16
> >>>> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
> >>>> [...]
> >>>> (XEN) [  316.142765] Xen call trace:
> >>>> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x1=
28/0x1ac (PC)
> >>>> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x1=
20/0x1ac (LR)
> >>>> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspen=
d+0x4c/0x1a0
> >>>> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hyper=
call_tasklet_handler+0x54/0xd0
> >>>> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_wo=
rk+0xb8/0x100
> >>>> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
> >>>> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c=
/0x194
> >>>> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cp=
u+0/0x14
> >>>> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
> >>>>
> >>>> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU=
_AREA
> >>>> only occur when !park_offline_cpus and system_state is not SYS_STATE=
_suspend.
> >>>> On ARM64, park_offline_cpus is always false, so setting __per_cpu_of=
fset to
> >>>> INVALID_PERCPU_AREA depends solely on the system state.
> >>>>
> >>>> If the system is suspended, this area is not freed, and during resum=
e, an error
> >>>> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_A=
REA is not
> >>>> set and park_offline_cpus remains 0:
> >>>>
> >>>>       if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA )
> >>>>           return park_offline_cpus ? 0 : -EBUSY;
> >>>>
> >>>> It appears that the same crash can occur on x86 if park_offline_cpus=
 is set
> >>>> to 0 during Xen suspend.
> >>>
> >>> I am rather confused. Looking at the x86 code, it seems
> >>> park_offline_cpus is cleared for AMD platforms. So are you saying the
> >>> suspend/resume doesn't work on AMD?
> >>
> >> Right now I can't see how it would work there. I've asked Marek for cl=
arification
> >> as to their users using S3 only on Intel hardware.
> >
> > Seems as if this issue has been introduced with commit f75780d26b2f
> > ("xen: move per-cpu area management into common code"). Before that
> > on x86 there was just:
> >
> >      if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA )
> >          return 0;
> >
> > in init_percpu_area().
>
> Ah yes. Mykola, can you then please address this by adjusting init_percpu=
_area(),

Do I understand correctly that I should move the system_state check
inside init_percpu_area?

> adding a Fixes: tag to reference the commit above?

Sure! Should I send it as a separate patch to speed up its merging?

>
> Looking at the tags of the patch, please also make sure you clarify who's=
 the
> original author of the patch. Your S-o-b isn't first, but there's also no=
 From:.

ok

>
> Jan

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:49:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:49:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923779.1327199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZ05-0004y0-1U; Fri, 21 Mar 2025 09:49:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923779.1327199; Fri, 21 Mar 2025 09:49: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 1tvZ04-0004xt-Tt; Fri, 21 Mar 2025 09:49:12 +0000
Received: by outflank-mailman (input) for mailman id 923779;
 Fri, 21 Mar 2025 09:49: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=9U11=WI=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvZ04-0004IO-EQ
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:49:12 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be04a8f4-0639-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:49:12 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-30761be8fa8so18155501fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 02:49: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: be04a8f4-0639-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742550551; x=1743155351; 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=0uT5ysCcxIKwBiRvojCME7s4lzXhMGLWNOOZwbAthCM=;
        b=M5YyFNPOBxi0F4CpAvyHknIWmSKuL/1DCfstlH4BBAECs5TERUi023tqnIBWb3/kGG
         b3RaabWMHqZVK+7CPm07ktyQNlep6TJro1tZPeNz4r4V/9UxGEc7aqcIRlWHSN2ZAGsN
         zywdBZRLKdhW3zn4MlOx08j/CheaMSZoO67YtRupjIeOrOdMnXtmdPP6ya6zFtFKPLTz
         ZT/a/XpFutAiPnTOWsPJzubP8v+cHzjPmZjapakHmXlnJU8XRtzcEUqQ9JyNR/whnqAt
         Xnhtc5Qdof/ZN2/gUI7VFZE3fxEPObUC3TXq+KDE555mseSiFSlTgaRlkzGlqh8aBEbA
         Pf8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742550551; x=1743155351;
        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=0uT5ysCcxIKwBiRvojCME7s4lzXhMGLWNOOZwbAthCM=;
        b=YSeShg8F8RqideEgSdDWXx5Si5N47Pmy5p+foChwHDzHNhMorFoItz7VvBlLZ5OcHI
         JFpBJu/Gml6VPYmstk2IEFg2zZ+9iLR/lks0O2RLJ9xskepWHMAPzLMXBKpVNvH3Z3CT
         RZbFuAcdjVp29yLyi2w0QvekqZe1nWBG3buu9ve1JsvwKniTVuV73Nt7r1m35YCPRvQt
         GrdIZiIbFG9NYCF32PV+M2pEFYXj5L43I2QJRRogwIEIzgzOuV91mE9RDZK7wHNygFwe
         72MBWwiOCJw3McGWMZVIOQUPwtnhX+uq2SYAAvy8qaCGrrZFWM//jLO/923lLsPiu01p
         fJpA==
X-Gm-Message-State: AOJu0YwqE3qDhkWip1L3f3MgphxhpPsCCfX2z8vVnwuZLQYWZV+MzXK/
	Ar4RijBy7t7vPX+9Pg/lC4FMGAunwahom/SR5LZY0m8ZYXnlxBDqENv1UfUbYcVVS5gxfrkE93j
	El3vp4Tz7loB+cjbPXguKUs/4sPc=
X-Gm-Gg: ASbGncs6KNx/+mhXVlZ3oBv39ph9NuKyM2J6P1oaecxR4R/QSQDcs6of9vroaMJCbza
	JN/Pzsa7B29jmwYtjayw9h4XZ0G84CFqKul/yKOU2J8lReaWfryknrcbOuik2xNl6JTLXT9x3E+
	RZCc/zNmzx3RHmNqJxSQ0P7rnH
X-Google-Smtp-Source: AGHT+IEww1+DZGs5zCeGvxMmhzjaDqwNhuFLTbFPfrajC/HLLJ/Otu83+JlUjzSv3UlSCHeJQFjZZjIBthJEL4ADcMk=
X-Received: by 2002:a05:6512:2311:b0:549:b10b:1efe with SMTP id
 2adb3069b0e04-54ad64f586fmr905096e87.32.1742550551303; Fri, 21 Mar 2025
 02:49:11 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
 <849e6163-141d-4c8a-a57f-e589a38dd38d@xen.org>
In-Reply-To: <849e6163-141d-4c8a-a57f-e589a38dd38d@xen.org>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 21 Mar 2025 11:48:59 +0200
X-Gm-Features: AQ5f1JpAWHejSQsmoj0FA-ChaSOZEGDDhJU6M1kc--RHqcRKxFZxjkIQg7Nwmt0
Message-ID: <CAGeoDV9Ey9gnR=AGe13y0HtQ4UwoBOeD=LuY4KJud7jXuJ-h9g@mail.gmail.com>
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Mykola Kvach <mykola_kvach@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Wed, Mar 12, 2025 at 12:29=E2=80=AFAM Julien Grall <julien@xen.org> wrot=
e:
>
> Hi,
>
> On 05/03/2025 09:11, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > This option enables the system suspend support. This is the
> > mechanism that allows the system to be suspended to RAM and
> > later resumed.
> >
> > Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> >   xen/arch/arm/Kconfig | 11 +++++++++++
> >   1 file changed, 11 insertions(+)
> >
> > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > index a26d3e1182..5834af16ab 100644
> > --- a/xen/arch/arm/Kconfig
> > +++ b/xen/arch/arm/Kconfig
> > @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
> >   config ARM32_HARDEN_BRANCH_PREDICTOR
> >       def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
> >
> > +config SYSTEM_SUSPEND
> > +     bool "System suspend support"
> > +     default y
>
> The default should likely be no until everything is working.

got it!

>
> > +     depends on ARM_64
>
> I think this also needs to depends on !LLC_COLORING (unless you
> confirmed cache coloring is working) and UNSUPPORTED.

Sure! I'll add the dependency.

>
> > +     help
> > +       This option enables the system suspend support. This is the
> > +       mechanism that allows the system to be suspended to RAM and
> > +       later resumed.
>
> You seem to also tie guest suspend/resunme to this option. Is it intended=
?

>From the guest's perspective, it is a system suspend. However, it looks lik=
e the
description should be enhanced. Thank you for pointing that out.

>
> Cheers,
>
> --
> Julien Grall
>

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:49:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923784.1327209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZ0C-0005Le-8y; Fri, 21 Mar 2025 09:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923784.1327209; Fri, 21 Mar 2025 09:49: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 1tvZ0C-0005LX-5C; Fri, 21 Mar 2025 09:49:20 +0000
Received: by outflank-mailman (input) for mailman id 923784;
 Fri, 21 Mar 2025 09:49: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=9U11=WI=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvZ0B-0004IO-NA
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:49:19 +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 c243c315-0639-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:49:19 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-547bcef2f96so2077114e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 02:49: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: c243c315-0639-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742550559; x=1743155359; 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=8ACupALywUseBsHeF2Hq+Ivua14XRGKMAwqZyX42JX8=;
        b=Z3VaurWzkXul3Dx/UCLZE2Yr9aSNx/ETpsNAkVcDqBhqehlw73qox4tjXD0oaMnUPR
         kPTi9Fyecv/CtU8GkskuvvzH/cOylLbJ3jgcsWHX8F6a5P0q8BZdw6ag1Wo7ge+wMyuV
         dFyQFXRqFR5syNCv8wcSiZepFIDXhF8dyR/OQEzrQU8mQdiUVHVi1FlkqtfTQiniq1yz
         Sv6ifmqO0VnCyUmU9zuK6G5111JIkmSaMU98k4puE9+OWkue8MgO2B3rrDbkH9Dl0N3Q
         Pfmb+S63rLXY1wsdbjy3vJwtHVA6J/dRtL4bAzc/L/de7fnnwww0spzZOvmnUjGakpRv
         DLgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742550559; x=1743155359;
        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=8ACupALywUseBsHeF2Hq+Ivua14XRGKMAwqZyX42JX8=;
        b=lj/POK3V+b48YUw+8eJNO2gyrqA84MP3qUAU7vjzwHDuN8YXfd2Ke2CtwKNQhK0g6u
         jSAfeaDUZ3koD47cXH4a0KMe0PI+2UcHR41QoNP3SimC8p71993z+Gi4BthDtO2FaOWA
         0oZwFsijO9aGmmyEcNXIZDxP7fU14Iv1eY/Ah/HqMTRgkXn1lYVJU/WVnHYFbgqE7U5f
         oUMkv/HDz+qq8fYzt/oeLRgm2nAsgMsi5mEnsNg9jY0G2pPt9WlsXjJOtcX0JyV+p3MB
         KWi4qmlttmj3m0YmUnHC2xj8GJuEy2GFFxZAt1dH2HqBULTYuJoQDmlL9pZI6Fzb2Sar
         yylg==
X-Forwarded-Encrypted: i=1; AJvYcCUd2OpK24MxZd4Ji/bId7pA8FpmnkRY9aD390A6JmAV3VWtsLypzDv2j/SEZgytAoQi61VaOteh4fE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzImceZSpZRAcj0XcdgZ62JIWVUGqU7FWDifpmEHvplnnpW163J
	sLNCKEWlFcJnjptpYYvG5VcTknJcLFRJdKRu97YO4e7JqbVXEetPjcB9Mjmnx9WOvS10soBlnIo
	ss5y2OsGMcpv/pg+3HwpX36cH7EU=
X-Gm-Gg: ASbGncu4ngS31Pd/IP1zqSGm296J438HS2yTZP16M/1qtCQrPwM6549L3pDTNkinzT/
	/lKZBrXm//+3f8lYyWorf26TvcxQx+rdJs/4nesKD0sgssW3xRwHp04F6/E1srLYusZyYYHzEpn
	TEjJJdAV2RHTRXe5ovonTkrKwteVeOP0TpHSg=
X-Google-Smtp-Source: AGHT+IFdhkKssNLXt3E846jLG95AlXw/K3rdPVfhDdgQPYRkzjWh/1rHBK2VJUzFRNgUUgJMm/scWC55fP6d2lsrjwI=
X-Received: by 2002:a05:6512:158e:b0:545:2a69:b1f4 with SMTP id
 2adb3069b0e04-54ad64a6d55mr789930e87.29.1742550558264; Fri, 21 Mar 2025
 02:49:18 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
 <6eddbd26-88ca-4d0c-b56a-4e7abcc3933b@suse.com>
In-Reply-To: <6eddbd26-88ca-4d0c-b56a-4e7abcc3933b@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 21 Mar 2025 11:49:06 +0200
X-Gm-Features: AQ5f1JpzE7ahBrWsSPWAPfw_QfVgyUgIdxLnIMpXbUFmQcrslcT_foJOmfL3vwY
Message-ID: <CAGeoDV_AU+UhkH6Pb4UhM-j+Z-VSbaoGDAg6gZqVjSAUSGURUQ@mail.gmail.com>
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
To: Jan Beulich <jbeulich@suse.com>
Cc: Mykola Kvach <mykola_kvach@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>, 
	Mykyta Poturai <mykyta_poturai@epam.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Mar 13, 2025 at 5:37=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 05.03.2025 10:11, Mykola Kvach wrote:
> > --- a/xen/arch/arm/Kconfig
> > +++ b/xen/arch/arm/Kconfig
> > @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
> >  config ARM32_HARDEN_BRANCH_PREDICTOR
> >      def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
> >
> > +config SYSTEM_SUSPEND
> > +     bool "System suspend support"
> > +     default y
> > +     depends on ARM_64
> > +     help
> > +       This option enables the system suspend support. This is the
> > +       mechanism that allows the system to be suspended to RAM and
> > +       later resumed.
> > +
> > +       If unsure, say Y.
>
> I wonder if something like this makes sense to place in an arch-specific

Maybe it makes sense, but only if we are not planning to cover
suspend/resume related code for x86 as well.

> Kconfig. It's also not becoming clear here why only Arm64 would permit it=
.

If I understand your comment correctly, you=E2=80=99re suggesting that we
could use this for x86 as well. However, in that case, we would need
to make a lot of changes in other places that are not related to this
patch series, which is specifically focused on adding suspend/resume
support for Arm64. I believe that is outside the scope of this patch
series. However, this config was requested in one of the previous
patch series. The primary reason for adding this config was to reduce
the binary size for platforms where it isn=E2=80=99t used. I also think it =
can
be useful for debugging purposes, such as for identifying regressions.

As for Arm32, it=E2=80=99s not supported at the moment, but I hope support
will be added in the future.

>
> Jan

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:50:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923809.1327220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZ1K-0007H1-LH; Fri, 21 Mar 2025 09:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923809.1327220; Fri, 21 Mar 2025 09:50: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 1tvZ1K-0007Gu-Fb; Fri, 21 Mar 2025 09:50:30 +0000
Received: by outflank-mailman (input) for mailman id 923809;
 Fri, 21 Mar 2025 09:50: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=9U11=WI=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvZ1I-0007Gm-Va
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:50:28 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eac05127-0639-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:50:27 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-30bfd4d4c63so17594371fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 02: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: eac05127-0639-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742550626; x=1743155426; 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=JbJVYRBqRAw/j1OSOElAjGXQC8jctn0QdIhX22AJgxU=;
        b=CoERTXM+tDFX3xOcTuTJq1LGkfmgv75/i/Ge0hsg3NQvsFb4NLO/yzTw87BFbZ1o0t
         0b4iyveu9AXBTQlxuS7JksTXej4X+kfuYGHhBnfXsMcK9EQwQDH1s7R+eoLnv/YZ7wA6
         U8qR9AtzMUvAZRf/th1mVmKFiSNyxrq+SXbmITdJ0mmkAdcfw/cWigl0xDjn0n+qOiF3
         0/foTysPH8/aYmaQufXwdY/IFnU3/z28GdR1qEsBRnN0R+iGAyseTTp5ZYSqDmkSKui0
         6fRSuj3yq91mhY6ob2pkUTTs1IP5aa5tBkRc2kMUEduU6HEjGzF9cs4oNTVz3cQaFKZc
         qtzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742550626; x=1743155426;
        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=JbJVYRBqRAw/j1OSOElAjGXQC8jctn0QdIhX22AJgxU=;
        b=IGWovmgLvgqFoyxVpWg+CXckP+qc5ly3rXwB+YwnyV8hqKAo2oJg4SqnWAggLVLNdA
         u5TOH7nvRT3lKnwqoAp29FbW2HfEjBpGShjTdERSibKMx3HUl9ik5RlJ1SPfQBZdNWSl
         ILW++bq3FeSKYsKniDkBusW7MaM4LpBGH65ROc1Oy42eZFsQ87HrlNsAY62tJllPOxL8
         QAF3j2nPQtjvgEixHUB5LeZLvZLg9AKT9GM602Q8ouQ65BVIwoxXW5o2SmQWO3qapZ69
         I6elxDp6NqzDYbrtocfbKI6DFlqlSPfHwjYSuoy8RKvAmZD+2itbaA5AYApQnVwWAihw
         5CGw==
X-Forwarded-Encrypted: i=1; AJvYcCXp7F5RginJjGHFKPI6xgYrLcoHKysR4dQ4HvgGgOWUJ0aWvlA08isMxdxNzu7Dup8HoMDIvBlye/s=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4axUGwVoku7yVVrZcIi5UgydSZL5IjQn/1sOuv+eRueWx6KEn
	VLXQWK4/0fqHLAVT+o2ZRcacv6LS84aE+P0YeKql8yVOILoJxDE/s3rGfXkbJ64W5a7WBVdgLr7
	GCFvdVjux6kaozcL20WGxoItGJA8=
X-Gm-Gg: ASbGncuW//18PPLgpbTj5u5yly59UUa47aUAPYz0ZFd5EqFP1/PNygEY5LOkmHAJouS
	/wHx7GgsVzwwMyKiaIsu4lGK+YoSiq4SSfkTNrnJyt6d0PQe0azQn3t54V+bkLHUvYjFz6IcRoT
	dIXawmTifgqheDbs10EN2cAfu7
X-Google-Smtp-Source: AGHT+IGAU/rW7E9oiLyuX3R1BaEX5HtiDH6vbmE+ME+CZ007tvrn8fIFVSoutUYdfvSR1egHXB0ahQQfT/wWaHZ8g3s=
X-Received: by 2002:a2e:bc0f:0:b0:30b:ecfc:78bf with SMTP id
 38308e7fff4ca-30d7e206777mr8541641fa.5.1742550626376; Fri, 21 Mar 2025
 02:50:26 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
 <428f538a-0761-4d06-9c4f-ba74cf441b0d@suse.com>
In-Reply-To: <428f538a-0761-4d06-9c4f-ba74cf441b0d@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 21 Mar 2025 11:50:15 +0200
X-Gm-Features: AQ5f1JpJJD7Y1NZ3XQhN7gB3MJjualgWc30sEiD3m0FEkyqv8BvK4W4OeMY9Rpo
Message-ID: <CAGeoDV9Tgd1MhVutbKhWRJkMMMix5yFVRcA6vX=fP=fzqFdV1w@mail.gmail.com>
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
To: Jan Beulich <jbeulich@suse.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Dario Faggioli <dfaggioli@suse.com>, 
	Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.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>, 
	Stefano Stabellini <sstabellini@kernel.org>, Mirela Simonovic <mirela.simonovic@aggios.com>, 
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>, Mykyta Poturai <mykyta_poturai@epam.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Mar 13, 2025 at 5:34=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 05.03.2025 10:11, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > This patch implements suspend/resume helpers for the watchdog.
> > While a domain is suspended its watchdogs must be paused. Otherwise,
> > if the domain stays in the suspend state for a longer period of time
> > compared to the watchdog period, the domain would be shutdown on resume=
.
> > Proper solution to this problem is to stop (suspend) the watchdog timer=
s
> > after the domain suspends and to restart (resume) the watchdog timers
> > before the domain resumes. The suspend/resume of watchdog timers is don=
e
> > in Xen and is invisible to the guests.
> >
> > Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
>
> From: !=3D first S-o-b: is always raising the question of who's the origi=
nal
> author of a patch.

I'll try to change the From field if possible. Thank you for pointing that =
out.

>
> > --- a/xen/common/sched/core.c
> > +++ b/xen/common/sched/core.c
> > @@ -1605,6 +1605,45 @@ void watchdog_domain_destroy(struct domain *d)
> >          kill_timer(&d->watchdog_timer[i].timer);
> >  }
> >
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +
> > +void watchdog_domain_suspend(struct domain *d)
> > +{
> > +    unsigned int i;
> > +
> > +    spin_lock(&d->watchdog_lock);
> > +
> > +    for ( i =3D 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> > +    {
> > +        if ( test_bit(i, &d->watchdog_inuse_map) )
> > +        {
> > +            stop_timer(&d->watchdog_timer[i].timer);
> > +        }
>
> We generally prefer to omit the braces if the body of an if() (or
> whatever it is) is a single statement / line.

will change

>
> > +    }
> > +
> > +    spin_unlock(&d->watchdog_lock);
> > +}
> > +
> > +void watchdog_domain_resume(struct domain *d)
> > +{
> > +    unsigned int i;
> > +
> > +    spin_lock(&d->watchdog_lock);
> > +
> > +    for ( i =3D 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> > +    {
> > +        if ( test_bit(i, &d->watchdog_inuse_map) )
> > +        {
> > +            set_timer(&d->watchdog_timer[i].timer,
> > +                      NOW() + SECONDS(d->watchdog_timer[i].timeout));
>
> The timeout may have almost expired before suspending; restoring to the
> full original period feels wrong. At the very least, if that's indeed
> intended behavior, imo this needs spelling out explicitly.

It takes some time to wake up the domain, but the watchdog timeout is
reset by a userspace daemon. As a result, we can easily encounter a
watchdog trigger during the  resume process. It looks like we should
stop the watchdog timer from the guest, and in that case, we can drop
all changes related to the watchdog in this patch series.
In any case, in this patch, we restore the default timeout instead of
using the real remaining time, so the behavior won't change. However,
I'm not sure exactly how much effort this would require. We can
enable/disable the watchdog using the Linux kernel driver and the Xen
watchdog daemon, but the Linux kernel already handles suspend/resume
of the Xen watchdog timer.

>
> > --- a/xen/include/xen/sched.h
> > +++ b/xen/include/xen/sched.h
> > @@ -1109,6 +1109,15 @@ void scheduler_disable(void);
> >  void watchdog_domain_init(struct domain *d);
> >  void watchdog_domain_destroy(struct domain *d);
> >
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +/*
> > + * Suspend/resume watchdogs of domain (while the domain is suspended i=
ts
> > + * watchdogs should be on pause)
> > + */
> > +void watchdog_domain_suspend(struct domain *d);
> > +void watchdog_domain_resume(struct domain *d);
> > +#endif /* CONFIG_SYSTEM_SUSPEND */
>
> I don't think the #ifdef is strictly needed here?

ok, I'll drop it

>
> Jan

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:51:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:51:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923820.1327228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZ1w-00085y-00; Fri, 21 Mar 2025 09:51:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923820.1327228; Fri, 21 Mar 2025 09:51: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 1tvZ1v-00085r-T5; Fri, 21 Mar 2025 09:51:07 +0000
Received: by outflank-mailman (input) for mailman id 923820;
 Fri, 21 Mar 2025 09:51: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=9U11=WI=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvZ1u-0007di-AO
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:51:06 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01d37759-063a-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 10:51:05 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-30bfca745c7so17798791fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 02:51: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: 01d37759-063a-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742550665; x=1743155465; 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=TmS/lrjEXrFtZExQS/WwhL0lFt1f5u/PLpXgR8yoCqI=;
        b=lIxM+0GUUo1eaWMciteIhztovoOIkKB8Wf1gJRCq0NMpax2H/l+uV5TZ/BxxzrRn8w
         PbzWVyhpARFY9Ig3a2TXj+4sZMqhfg9gJ15UBH6Trli7FAR13RfC+Br2Kg768ARn0IXp
         rg7Lpi/JB1rPKBbrMXleXO4h9l6lYxfLnzvw8YNrVSuetz5+AZR/6LDZmDlgkPPRd765
         nL0gZpGqsYtkcvrbMrqmu/BKyMGPFRocCLiZ15nrjWf5KzUN51v5EKoJRhK+kTHINNRm
         F7zf4CGh3K5/l0fukYbmYHWcQlGMfOc30FF0PWaV6aPNkdXINip+DjqQjQ3gJBVpyRvr
         VlZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742550665; x=1743155465;
        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=TmS/lrjEXrFtZExQS/WwhL0lFt1f5u/PLpXgR8yoCqI=;
        b=FvFRkfXRHjc0e1VMu/i5jggwQo5HMFJZk9BH7rS189r5BF3jvydnCW65soPd5Lse63
         wLCGLhqFMN72dcDyzuv+kF7+z6b6VOs1YbK/T4nWLUh7YqeX2ggX2FH40qxGIxABmc1Y
         tqRyjwQ5WAd4aMbzAIekJWTEBL5zLrwpc3APRNx16Ophafi25AQkk2E/gl+g6ETufRyB
         lU/8CLO43rgfMzKwgpu48z6JcUMHAhdKJVzEe/fBR0n6iOz40HB+fP+FsqgIxEIL7zMd
         r98jCUg3H3J0W1JdMYXsw4fp0XxIHbxcf7ioKfBZPrx4A30dFAibWbN1BET+C5CGj6sm
         wh7A==
X-Gm-Message-State: AOJu0YysyO8tCVFTz7WzSd9xOEubV3exjV/O7E5kvnrIKFpdsdBf4XrX
	F3subBWWblQdqUzVXAitNljisvGi6m8wcsFhGfuzG2o0kjq1uYh3GG/ZdXO6BpXyJ4K5FaHROJ+
	TG7a03nA0k70phrc3ST1XThYL7I8=
X-Gm-Gg: ASbGncv/eEB41kFJAcP91h3bo5ILx4bJS64WH11aO+YiCB0PlG3y/YH5QaYPWJ1RQOr
	bWOTcTtCQjhx+hF86h04qXgoznUM07Ct3SzdLylzEPhmNLQQ3704evczrUpfRa+82KkNPQZg4EB
	wSqfeCO0BxHk3Hg9iu8toGeLM4
X-Google-Smtp-Source: AGHT+IH0BX8lII3iuygD+O0LBwrx6sdgohZSwQ5HcbjCxjjd4XhPSmQ2c66NelD0LbJpgHVzq6X+JCPiidSDRX/rfC8=
X-Received: by 2002:a05:651c:c3:b0:30c:c8d:ba3c with SMTP id
 38308e7fff4ca-30d7e23396cmr8413281fa.17.1742550665088; Fri, 21 Mar 2025
 02:51:05 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
 <a0f4bb7b-d560-4017-af0a-1544623abd50@epam.com>
In-Reply-To: <a0f4bb7b-d560-4017-af0a-1544623abd50@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 21 Mar 2025 11:50:52 +0200
X-Gm-Features: AQ5f1JpMSAvkk9ipQVS6HSpMt4YHoBifeeVYPz9d4fNVOq2n9fOWlbqR1qbqfxo
Message-ID: <CAGeoDV8b2s8KhSAjdw4PeUSKTr69fCTf_D5nLyZeLaXcrd++5w@mail.gmail.com>
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: xen-devel@lists.xenproject.org, Mykola Kvach <mykola_kvach@epam.com>, 
	Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap <gwd@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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Mirela Simonovic <mirela.simonovic@aggios.com>, 
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>, Mykyta Poturai <mykyta_poturai@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Mar 20, 2025 at 1:25=E2=80=AFPM Grygorii Strashko
<grygorii_strashko@epam.com> wrote:
>
>
>
> On 05.03.25 11:11, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > This patch implements suspend/resume helpers for the watchdog.
> > While a domain is suspended its watchdogs must be paused. Otherwise,
> > if the domain stays in the suspend state for a longer period of time
> > compared to the watchdog period, the domain would be shutdown on resume=
.
> > Proper solution to this problem is to stop (suspend) the watchdog timer=
s
> > after the domain suspends and to restart (resume) the watchdog timers
> > before the domain resumes. The suspend/resume of watchdog timers is don=
e
> > in Xen and is invisible to the guests.
> >
> > Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> > Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> > Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in v3:
> > - cover the code with CONFIG_SYSTEM_SUSPEND
> >
> > Changes in v2:
> > - drop suspended field from timer structure
> > - drop the call of watchdog_domain_resume from ctxt_switch_to
> > ---
> >   xen/common/sched/core.c | 39 +++++++++++++++++++++++++++++++++++++++
> >   xen/include/xen/sched.h |  9 +++++++++
> >   2 files changed, 48 insertions(+)
> >
> > diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> > index b1c6b6b9fa..6c2231826a 100644
> > --- a/xen/common/sched/core.c
> > +++ b/xen/common/sched/core.c
> > @@ -1605,6 +1605,45 @@ void watchdog_domain_destroy(struct domain *d)
> >           kill_timer(&d->watchdog_timer[i].timer);
> >   }
> >
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +
> > +void watchdog_domain_suspend(struct domain *d)
> > +{
> > +    unsigned int i;
> > +
> > +    spin_lock(&d->watchdog_lock);
> > +
> > +    for ( i =3D 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> > +    {
> > +        if ( test_bit(i, &d->watchdog_inuse_map) )
> > +        {
> > +            stop_timer(&d->watchdog_timer[i].timer);
> > +        }
> > +    }
> > +
> > +    spin_unlock(&d->watchdog_lock);
> > +}
> > +
> > +void watchdog_domain_resume(struct domain *d)
> > +{
> > +    unsigned int i;
> > +
> > +    spin_lock(&d->watchdog_lock);
> > +
> > +    for ( i =3D 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> > +    {
> > +        if ( test_bit(i, &d->watchdog_inuse_map) )
> > +        {
> > +            set_timer(&d->watchdog_timer[i].timer,
> > +                      NOW() + SECONDS(d->watchdog_timer[i].timeout));
> > +        }
> > +    }
> > +
> > +    spin_unlock(&d->watchdog_lock);
> > +}
> > +
> > +#endif /* CONFIG_SYSTEM_SUSPEND */
>
> My understanding is that domain's watchdogs support are not mandatory req=
uirement
> for enabling basic System suspend2ram feature, as they are not enabled au=
tomatically.
> So, domain's watchdog patches can be separated and posted after basic fun=
ctionality
> is in place.

AFAIK, the hardware domain always has the watchdog enabled, at least for no=
w.

>
> [...]
>
> --
> Best regards,
> -grygorii

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 09:54:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 09:54:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923845.1327239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZ5A-0001xG-Dj; Fri, 21 Mar 2025 09:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923845.1327239; Fri, 21 Mar 2025 09:54: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 1tvZ5A-0001x9-Ac; Fri, 21 Mar 2025 09:54:28 +0000
Received: by outflank-mailman (input) for mailman id 923845;
 Fri, 21 Mar 2025 09:54: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=9U11=WI=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1tvZ0T-0004YZ-Ej
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 09:49:37 +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 cbcc7a3d-0639-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 10:49:35 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-54ac9d57173so3116486e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 02:49: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: cbcc7a3d-0639-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742550575; x=1743155375; 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=KAb00lVAUIpbhjfudIc6w3Mle7wzLkEOsmQou+kyTjo=;
        b=MFAMb6HacP+GxgDViWLBMVR/nWrh/ktGHCcMWQH1FL3kYu0h3IqHfS0Gu0Rkf/Q3Wb
         YNwrnj+soEH5C5/oqicKSjb7kV+XheIz3XHDNM3MMxdXVFMGBm/mE/j7zyUSLkj3AvDM
         TE3YoLUGaA9B2l30EyrirPDCjlWLv1gbpN5Mk/zZAUcYFbF+vJ2ynZ9pUQT+sGeDIhe1
         mwqUp5a+2uhVJ+1kf0cBlHYa1VmsW6CgJIEHATH5HOebNXuXvSqwT9119v0LKDEUo4gj
         sUrErcU2jtrl3TL/zv098SOKBxNkER0yM4yO4lv7RF3sDQd/GhqZYPoPn49bk8esr7xV
         JKpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742550575; x=1743155375;
        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=KAb00lVAUIpbhjfudIc6w3Mle7wzLkEOsmQou+kyTjo=;
        b=viXIBESY+P7nARPZA3bZTXXbR4umRyOfKRp8IYZ5pszB0KOTmdZf/VyPOdCDcIfAZb
         pim0H7UPWSw8rEXnHaT277DisgFxsbHZt+ECHbB1QqQmkcS0LgTiJCnApO1IDfG9aPEV
         KY9mLXR5mCT9tEVJNKKTQSwyt656fAJYfTpQJ7Ko3S94k4TLr5OeRN/cSx701OP5eeZp
         WFjpK+uesetMVgwKRjfWOazdXpkapB8Voif6s0GTn+S6dFg347qIOa8/YsRw7kv6RQj1
         IikPM6IIrx0Seq84h4V1M71gT8RI4MTQe2kv3sivGo3GteuRMNZYuRfFRuyaGxPhPNF/
         CdDg==
X-Gm-Message-State: AOJu0Yxjm2exucaVqWMbmosoN+doXa+Ill8E6AiAxnFalkKvFJ0sZKRS
	JBlnN9RYQb/SFYP00TH20ca839U8yLe44jAUhodcO4XN1aUW48Zdl0Mr15xBcE59FdcTfOOcHQx
	qfWW/pAJLCA2/VHoK64N9dQrQJU8=
X-Gm-Gg: ASbGncshP7/4F8FXEr3JQLF5SMdYWMqh5luC+3cH/8StgXLUrSCCjy1eapMGMI19Gqc
	x2qjn/PRDeWhH3j9JWNrbmJih4imopmi7e+scogRqyH640/vQkgDZG5K2AO5Vu4YqWGXDZrYLG/
	Nu+UVFP+R043zrnKHU4EZnGMCv
X-Google-Smtp-Source: AGHT+IHrX/ypJWoI9A2I/dh6XAFHpCagJ3YlLzoOX1y4yiIN6D2eWUMzNFXCTznL5zPigHYCRSGj14vnCkfTNUNIX68=
X-Received: by 2002:a05:6512:3d8b:b0:545:a70:74c5 with SMTP id
 2adb3069b0e04-54ad604dba2mr843487e87.13.1742550574401; Fri, 21 Mar 2025
 02:49:34 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <503edd5fb277699aaeb87507bb39fbb52e81f168.1741164138.git.xakep.amatop@gmail.com>
 <13ed6492-9677-40b7-a4ac-e6516f7ed130@epam.com>
In-Reply-To: <13ed6492-9677-40b7-a4ac-e6516f7ed130@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 21 Mar 2025 11:49:22 +0200
X-Gm-Features: AQ5f1JqciW-yHl8af4Ph3mQIjmwWabx3Zq3Ep29-NgqsavZOghgW0mZTs7Dw_KA
Message-ID: <CAGeoDV_gQsxnqRcC9F4wR7TMm7oD8Hgs8T3dD-incz-6QEtwPQ@mail.gmail.com>
Subject: Re: [PATCH 07/16] xen/char: implement suspend/resume calls for SCIF driver
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: xen-devel@lists.xenproject.org, Mykola Kvach <mykola_kvach@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>, 
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Wed, Mar 19, 2025 at 7:21=E2=80=AFPM Grygorii Strashko
<grygorii_strashko@epam.com> wrote:
>
>
>
> On 05.03.25 11:11, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > The changes have been tested only on the Renesas R-Car-H3 Starter Kit b=
oard.
> >
> > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> > Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.co=
m>
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> >   xen/drivers/char/scif-uart.c | 31 ++++++++++++++++++++++++++++++-
> >   1 file changed, 30 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.=
c
> > index 757793ca45..e166fb0f36 100644
> > --- a/xen/drivers/char/scif-uart.c
> > +++ b/xen/drivers/char/scif-uart.c
> > @@ -139,7 +139,7 @@ static void scif_uart_interrupt(int irq, void *data=
)
> >       }
> >   }
> >
> > -static void __init scif_uart_init_preirq(struct serial_port *port)
> > +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;
> > @@ -271,6 +271,33 @@ static void scif_uart_stop_tx(struct serial_port *=
port)
> >       scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) & ~SCS=
CR_TIE);
> >   }
> >
>
> I assume you want ifdef CONFIG_SYSTEM_SUSPEND here also

I was thinking about it and decided that since we have the
suspend/resume fields uncovered for uart_driver,
I'll leave the functions uncovered as well.

I'll add coverage in the next patch series.
It=E2=80=99s probably needed to cover the suspend/resume fields too, but th=
at
will require additional changes for other UART drivers.
Thank you for pointing that out.

>
>
> > +static void scif_uart_suspend(struct serial_port *port)
> > +{
> > +    struct scif_uart *uart =3D port->uart;
> > +
> > +    scif_uart_stop_tx(port);
> > +
> > +    /* Wait until last bit has been transmitted. */
> > +    while ( !(scif_readw(uart, SCIF_SCFSR) & SCFSR_TEND) );
> > +
> > +    /* Disable TX/RX parts and all interrupts */
> > +    scif_writew(uart, SCIF_SCSCR, 0);
> > +
> > +    /* Reset TX/RX FIFOs */
> > +    scif_writew(uart, SCIF_SCFCR, SCFCR_RFRST | SCFCR_TFRST);
> > +}
> > +
> > +static void scif_uart_resume(struct serial_port *port)
> > +{
> > +    struct scif_uart *uart =3D port->uart;
> > +
> > +    scif_uart_init_preirq(port);
> > +
> > +    /* Enable TX/RX and Error Interrupts  */
> > +    scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) |
> > +                SCSCR_TIE | SCSCR_RIE | SCSCR_REIE);
> > +}
> > +
> >   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 +308,8 @@ static struct uart_driver __read_mostly scif_uart_d=
river =3D {
> >       .start_tx     =3D scif_uart_start_tx,
> >       .stop_tx      =3D scif_uart_stop_tx,
> >       .vuart_info   =3D scif_vuart_info,
> > +    .suspend      =3D scif_uart_suspend,
> > +    .resume       =3D scif_uart_resume,
> >   };
> >
> >   static const struct dt_device_match scif_uart_dt_match[] __initconst =
=3D
>
> --
> Best regards,
> -grygorii

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 10:09:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 10:09:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923856.1327250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZJk-0005d5-Lh; Fri, 21 Mar 2025 10:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923856.1327250; Fri, 21 Mar 2025 10:09: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 1tvZJk-0005cy-Hb; Fri, 21 Mar 2025 10:09:32 +0000
Received: by outflank-mailman (input) for mailman id 923856;
 Fri, 21 Mar 2025 10:09: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=IQbR=WI=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tvZJj-0005cq-23
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 10:09:31 +0000
Received: from mail-oa1-x34.google.com (mail-oa1-x34.google.com
 [2001:4860:4864:20::34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 92d19f3b-063c-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 11:09:28 +0100 (CET)
Received: by mail-oa1-x34.google.com with SMTP id
 586e51a60fabf-2c2504fa876so457031fac.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 03:09: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: 92d19f3b-063c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742551767; x=1743156567; 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=k3k6NJua43cQSXE4tgZjOlNKYWsReREj/xZSQ3Lj4Po=;
        b=Neb42/hz3b9VJq0SHVLGsvLYBfKY3zHjvB83fWOo1ayRriWgKHSnwEb0MWNjPcCwPz
         2aySPpo6K7Kc/GwAtfCwprRsqlZygxtfEKERnkOIpgoJy8bKTvMOtD466NJeAMS9uzdu
         i+AdlH2ySfYg0wpz04CEtM1BL1s7J35JuDVexjPdpBllt6dZnMaISDHMSeJ7pmURHjy+
         7T79xGuVEE22ifD4jR5pywK7rQh/5MCckYw+Ee+8zOhbUlGWDBMejxb7MhHDRlKh2lDi
         Qj9g3RD7ykfjl3luYVwWv4TmDHlD4pB1rIAvyV0gX4t6/5Cg2so1wXjvlDZuD3ijJ4ua
         uZpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742551767; x=1743156567;
        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=k3k6NJua43cQSXE4tgZjOlNKYWsReREj/xZSQ3Lj4Po=;
        b=lzlgS4fKYGQkGJZxN86uhusiQUadK3h3OMO/8/To+kMtMsN9st1DoGrs72RJbRXW4K
         u5+CH3laPko8PRHkb1s4VlfTItIfLO+MOM8yhZ2SMZRKBHOFGiqu1irQ7I5YeqAUob+w
         npLASxpuSbtjVbeh2Q6LR5TObgAQnHWx7UcwAzhKLtzgJnRP2Z8WwNwD4Jl2qcBYD4v0
         2aJKrVQEiISwAqMbM3O0/0ZzpML6F/O62Hb11sFUTv1dCKiiJLc+fas436X0cRRocdeV
         6n65BBnCCFLOrpY8sAbZaYy0SSHKlbbeOPFR15/YgMYcGsej9EYHiTqG62VDuxrsVHuS
         b3NA==
X-Gm-Message-State: AOJu0YwtETPHf6WiXYnjr7WpfU3+UOglsMxSW/LEG3KQpJb0EDKRpEfb
	+NLVhRk+4HVXweoq1g8KGC8K6+k3+668V8saqmv4MNAzeuEGY1ATxixORunwDR368VWfibY1nHD
	FuKmgSqhV5+cFJO0qROfEbizVkVzhDUBHQjcBVA==
X-Gm-Gg: ASbGncs3bGezfzQgHzYA021Fx6w3kLPpF2m7B4Sz3jbBckBs5ZDaJG3zP2wY1s4Os8h
	hwQcEnjLtfWJJceGnqURA8VfZSPYwZGL5t7HMljyCmHaYQ77VuOLQH+2BZGOKGL/o3Lg1+XMDfs
	oL7/KT5Ybwe2YvGWOROc90p9boAa0=
X-Google-Smtp-Source: AGHT+IGIRoCpBtqWi7OdhWZrXhEfQvAos4NWwhdlmbzU+pTn232OCPGE4GTHN7TSh4110w/a/3RGcjCt39NPR+LY/t4=
X-Received: by 2002:a05:6870:498a:b0:297:c04:9191 with SMTP id
 586e51a60fabf-2c780202280mr1769778fac.3.1742551767018; Fri, 21 Mar 2025
 03:09:27 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FW02v4_6pTiGqcWrFMLqdayuUF5pXM8cfKusOXHC7Jyw@mail.gmail.com> <7B45963D-8908-420C-89ED-15769357779C@arm.com>
In-Reply-To: <7B45963D-8908-420C-89ED-15769357779C@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 21 Mar 2025 11:09:15 +0100
X-Gm-Features: AQ5f1JpI10vpuiYYM6ERvFWF9gxNJAvkB-erkp6XbAm8DOkt04pJ9NY4yrgScNE
Message-ID: <CAHUa44HumXeMR66Pu4xMODHms4PiM7+ANmPB1tG+UO9BpGDpLQ@mail.gmail.com>
Subject: Re: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Fri, Mar 21, 2025 at 10:25=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 21 Mar 2025, at 09:55, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Hi Bertrand,
> >
> > On Mon, Mar 10, 2025 at 3:51=E2=80=AFPM Bertrand Marquis
> > <bertrand.marquis@arm.com> wrote:
> >>
> >> When VM to VM support is activated and there is no suitable FF-A suppo=
rt
> >> in the firmware, enable FF-A support for VMs to allow using it for VM =
to
> >> VM communications.
> >> If there is Optee running in the secure world and using the non FF-A
> >
> > It's spelled OP-TEE in text, and optee or OPTEE in identifiers.
>
> ack
>
> >
> >> communication system, having CONFIG_FFA_VM_TO_VM could be non function=
al
> >> (if optee is probed first) or Optee could be non functional (if FF-A i=
s
> >> probed first) so it is not recommended to activate the configuration
> >> option for such systems.
> >>
> >> To make buffer full notification work between VMs when there is not
> >
> > s/not/no/
>
> ack
>
> >
> >> firmware, rework the notification handling and modify the global flag =
to
> >> only be used as check for firmware notification support instead.
> >>
> >> Modify part_info_get to return the list of VMs when there is no firmwa=
re
> >> support.
> >>
> >> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> >> ---
> >> Changes in v2:
> >> - replace ifdef with IS_ENABLED when possible
> >> ---
> >> xen/arch/arm/tee/ffa.c          |  12 +++-
> >> xen/arch/arm/tee/ffa_notif.c    | 114 ++++++++++++++++----------------
> >> xen/arch/arm/tee/ffa_partinfo.c |   3 +-
> >> 3 files changed, 69 insertions(+), 60 deletions(-)
> >>
> >> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >> index 3bbdd7168a6b..f6582d2e855a 100644
> >> --- a/xen/arch/arm/tee/ffa.c
> >> +++ b/xen/arch/arm/tee/ffa.c
> >> @@ -324,8 +324,9 @@ static int ffa_domain_init(struct domain *d)
> >>     struct ffa_ctx *ctx;
> >>     int ret;
> >>
> >> -    if ( !ffa_fw_version )
> >> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !ffa_fw_version )
> >>         return -ENODEV;
> >> +
> >>     /*
> >>      * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A I=
D 0 is
> >>      * reserved for the hypervisor and we only support secure endpoint=
s using
> >> @@ -549,6 +550,15 @@ err_no_fw:
> >>     bitmap_zero(ffa_fw_abi_supported, FFA_ABI_BITMAP_SIZE);
> >>     printk(XENLOG_WARNING "ARM FF-A No firmware support\n");
> >>
> >> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> >> +    {
> >> +        INIT_LIST_HEAD(&ffa_teardown_head);
> >> +        init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, =
NULL, 0);
> >> +
> >> +        printk(XENLOG_INFO "ARM FF-A only available between VMs\n");
> >> +        return true;
> >> +    }
> >> +
> >>     return false;
> >> }
> >>
> >> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif=
.c
> >> index d19aa5c5bef6..0673e53a9def 100644
> >> --- a/xen/arch/arm/tee/ffa_notif.c
> >> +++ b/xen/arch/arm/tee/ffa_notif.c
> >> @@ -16,7 +16,7 @@
> >>
> >> #include "ffa_private.h"
> >>
> >> -static bool __ro_after_init notif_enabled;
> >> +static bool __ro_after_init fw_notif_enabled;
> >> static unsigned int __ro_after_init notif_sri_irq;
> >>
> >> int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> >> @@ -27,21 +27,17 @@ int ffa_handle_notification_bind(struct cpu_user_r=
egs *regs)
> >>     uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> >>     uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> >>
> >> -    if ( !notif_enabled )
> >> -        return FFA_RET_NOT_SUPPORTED;
> >> -
> >>     if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> >>         return FFA_RET_INVALID_PARAMETERS;
> >>
> >>     if ( flags )    /* Only global notifications are supported */
> >>         return FFA_RET_DENIED;
> >>
> >> -    /*
> >> -     * We only support notifications from SP so no need to check the =
sender
> >> -     * endpoint ID, the SPMC will take care of that for us.
> >> -     */
> >> -    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bit=
map_lo,
> >> -                           bitmap_hi);
> >> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> >
> > Please add space before and after '>>', here and in the function below
> > in this patch.
>
> ack
>
> >
> >> +        return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags,
> >> +                               bitmap_lo, bitmap_hi);
> >> +
> >> +    return FFA_RET_NOT_SUPPORTED;
> >> }
> >>
> >> int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> >> @@ -51,32 +47,34 @@ int ffa_handle_notification_unbind(struct cpu_user=
_regs *regs)
> >>     uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> >>     uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> >>
> >> -    if ( !notif_enabled )
> >> -        return FFA_RET_NOT_SUPPORTED;
> >> -
> >>     if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> >>         return FFA_RET_INVALID_PARAMETERS;
> >>
> >> -    /*
> >> -     * We only support notifications from SP so no need to check the
> >> -     * destination endpoint ID, the SPMC will take care of that for u=
s.
> >> -     */
> >> -    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitm=
ap_lo,
> >> -                            bitmap_hi);
> >> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> >> +        return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, =
bitmap_lo,
> >> +                                bitmap_hi);
> >> +
> >> +    return FFA_RET_NOT_SUPPORTED;
> >> }
> >>
> >> void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> >> {
> >>     struct domain *d =3D current->domain;
> >>     struct ffa_ctx *ctx =3D d->arch.tee;
> >> +    bool notif_pending =3D false;
> >>
> >> -    if ( !notif_enabled )
> >> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
> >>     {
> >>         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>         return;
> >>     }
> >>
> >> -    if ( test_and_clear_bool(ctx->notif.secure_pending) )
> >> +    notif_pending =3D ctx->notif.secure_pending;
> >> +#ifdef CONFIG_FFA_VM_TO_VM
> >> +    notif_pending |=3D ctx->notif.buff_full_pending;
> >> +#endif
> >
> > Shouldn't ctx->notif.secure_pending and ctx->notif.secure_pending be
> > cleared also, like:
> > notif_pending =3D test_and_clear_bool(ctx->notif.secure_pending) ||
> >                test_and_clear_bool(ctx->notif.buff_full_pending);
>
> Notification info get is returning who has pending notification but only
> notification get should erase pending notifications.

FFA_NOTIFICATION_INFO_GET can return a "More pending notifications
flag" in w2/x2 to inform the caller that it should call
FFA_NOTIFICATION_INFO_GET again to get the remaining receiver
endpoints. How can the ABI know where to resume the next time if the
previous pending receivers aren't cleared?

The more pending notifications flag will not be needed here as we're
dealing with a single endpoint at a time so it might be more of a
philosophical question. I don't think it causes problems for the guest
to keep secure_pending unchanged for FFA_NOTIFICATION_INFO_GET, but we
should mention the changed behaviour in the commit message.

Cheers,
Jens

>
> >
> >> +
> >> +    if ( notif_pending )
> >>     {
> >>         /* A pending global notification for the guest */
> >>         ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> >> @@ -103,7 +101,7 @@ void ffa_handle_notification_get(struct cpu_user_r=
egs *regs)
> >>     uint32_t w6 =3D 0;
> >>     uint32_t w7 =3D 0;
> >>
> >> -    if ( !notif_enabled )
> >> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
> >>     {
> >>         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>         return;
> >> @@ -115,7 +113,8 @@ void ffa_handle_notification_get(struct cpu_user_r=
egs *regs)
> >>         return;
> >>     }
> >>
> >> -    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_S=
PM ) )
> >> +    if ( fw_notif_enabled && (flags & ( FFA_NOTIF_FLAG_BITMAP_SP
> >> +                                        | FFA_NOTIF_FLAG_BITMAP_SPM )=
) )
> >
> > Please end the previous line with the '|' operator.
>
> ack
>
> >
> >>     {
> >>         struct arm_smccc_1_2_regs arg =3D {
> >>             .a0 =3D FFA_NOTIFICATION_GET,
> >> @@ -170,15 +169,14 @@ int ffa_handle_notification_set(struct cpu_user_=
regs *regs)
> >>     uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> >>     uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> >>
> >> -    if ( !notif_enabled )
> >> -        return FFA_RET_NOT_SUPPORTED;
> >> -
> >>     if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> >>         return FFA_RET_INVALID_PARAMETERS;
> >>
> >> -    /* Let the SPMC check the destination of the notification */
> >> -    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitm=
ap_lo,
> >> -                           bitmap_hi);
> >> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> >> +        return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, =
bitmap_lo,
> >> +                               bitmap_hi);
> >> +
> >> +    return FFA_RET_NOT_SUPPORTED;
> >> }
> >>
> >> #ifdef CONFIG_FFA_VM_TO_VM
> >> @@ -190,7 +188,7 @@ void ffa_raise_rx_buffer_full(struct domain *d)
> >>         return;
> >>
> >>     if ( !test_and_set_bool(ctx->notif.buff_full_pending) )
> >> -        vgic_inject_irq(d, d->vcpu[0], notif_sri_irq, true);
> >> +        vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID, =
true);
> >
> > Please move this to the patch "xen/arm: ffa: Add buffer full
> > notification support"
>
> Ack
>
> >
> >> }
> >> #endif
> >>
> >> @@ -363,7 +361,7 @@ void ffa_notif_init_interrupt(void)
> >> {
> >>     int ret;
> >>
> >> -    if ( notif_enabled && notif_sri_irq < NR_GIC_SGI )
> >> +    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
> >>     {
> >>         /*
> >>          * An error here is unlikely since the primary CPU has already
> >> @@ -394,41 +392,41 @@ void ffa_notif_init(void)
> >>     int ret;
> >>
> >>     /* Only enable fw notification if all ABIs we need are supported *=
/
> >> -    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> >> -           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> >> -           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> >> -           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
> >> -        return;
> >> -
> >> -    arm_smccc_1_2_smc(&arg, &resp);
> >> -    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> >> -        return;
> >> -
> >> -    irq =3D resp.a2;
> >> -    notif_sri_irq =3D irq;
> >> -    if ( irq >=3D NR_GIC_SGI )
> >> -        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> >> -    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL=
);
> >> -    if ( ret )
> >> +    if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> >> +         ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> >> +         ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> >> +         ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64) )
> >>     {
> >> -        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n=
",
> >> -               irq, ret);
> >> -        return;
> >> -    }
> >> +        arm_smccc_1_2_smc(&arg, &resp);
> >> +        if ( resp.a0 !=3D FFA_SUCCESS_32 )
> >> +            return;
> >>
> >> -    notif_enabled =3D true;
> >> +        irq =3D resp.a2;
> >> +        notif_sri_irq =3D irq;
> >> +        if ( irq >=3D NR_GIC_SGI )
> >> +            irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> >> +        ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", =
NULL);
> >> +        if ( ret )
> >> +        {
> >> +            printk(XENLOG_ERR "ffa: request_irq irq %u failed: error =
%d\n",
> >> +                   irq, ret);
> >> +            return;
> >> +        }
> >> +        fw_notif_enabled =3D true;
> >> +    }
> >> }
> >>
> >> int ffa_notif_domain_init(struct domain *d)
> >> {
> >>     int32_t res;
> >>
> >> -    if ( !notif_enabled )
> >> -        return 0;
> >> +    if ( fw_notif_enabled )
> >> +    {
> >>
> >> -    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_v=
cpus);
> >> -    if ( res )
> >> -        return -ENOMEM;
> >> +        res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->m=
ax_vcpus);
> >> +        if ( res )
> >> +            return -ENOMEM;
> >> +    }
> >>
> >>     return 0;
> >> }
> >> @@ -439,6 +437,6 @@ void ffa_notif_domain_destroy(struct domain *d)
> >>      * Call bitmap_destroy even if bitmap create failed as the SPMC wi=
ll
> >>      * return a DENIED error that we will ignore.
> >>      */
> >> -    if ( notif_enabled )
> >> +    if ( fw_notif_enabled )
> >>         ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
> >> }
> >> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_pa=
rtinfo.c
> >> index 7af1eca2d0c4..291396c8f635 100644
> >> --- a/xen/arch/arm/tee/ffa_partinfo.c
> >> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> >> @@ -130,7 +130,8 @@ void ffa_handle_partition_info_get(struct cpu_user=
_regs *regs)
> >>         goto out;
> >>     }
> >>
> >> -    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> >> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) &&
> >
> > Doesn't this belong in the patch "xen/arm: ffa: Introduce VM to VM supp=
ort"?
> > And wouldn't ffa_vm_count make more sense?
>
> ack. I will modify that and fold it into the VM to VM support patch.
>
> Cheers
> Bertrand
>
> >
> > Cheers,
> > Jens
> >
> >> +         !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> >>     {
> >>         /* Just give an empty partition list to the caller */
> >>         ret =3D FFA_RET_OK;
> >> --
> >> 2.47.1
>
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 10:33:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 10:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923876.1327259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZgf-0005MJ-GR; Fri, 21 Mar 2025 10:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923876.1327259; Fri, 21 Mar 2025 10:33: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 1tvZgf-0005MC-DA; Fri, 21 Mar 2025 10:33:13 +0000
Received: by outflank-mailman (input) for mailman id 923876;
 Fri, 21 Mar 2025 10:33: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=eQBi=WI=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1tvZge-0005M6-3X
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 10:33:12 +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 e2ed5376-063f-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 11:33:11 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so955000f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 03:33:11 -0700 (PDT)
Received: from localhost.localdomain (172.74.6.51.dyn.plus.net. [51.6.74.172])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f99540bsm1974477f8f.2.2025.03.21.03.33.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 21 Mar 2025 03:33: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: e2ed5376-063f-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742553190; x=1743157990; 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=R1d4V/U0d0LLs6AOMxSAHlCx6VjugkBgivvzziy+VgU=;
        b=cTEiqR6iGOXmFVRz3sqCHUdT5WvQe8RPA0HK6TxG5iZtSqUNUcAjYbsCfoAXq2nN/5
         D4ivC02lC3YIaRRoBn8q/YD5t6gMx2X3HtBZHxoCdIWt9xZXHLivJx0OsXG26engOxkR
         NR5/t1FEug9eFWsAc9CrtlsE/TLRB1nGEYbxY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742553190; x=1743157990;
        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=R1d4V/U0d0LLs6AOMxSAHlCx6VjugkBgivvzziy+VgU=;
        b=YHvB/89M4/uYvE8InDOJqkuQADbf+NQUn2X1BYOl5nU/d20rSWTLGjsuxd8mN1TJfy
         SCWahomjNJIDkUqSLGqE6IplsPzGpCP+WDA4DNVeVcT01wh/79CovRPSdzeN/IV7bFNN
         0x7VnKT3izzumh4L2OVhCuPVDxdfrkqLy+DqtH+r68ebIGJxSivgQLPcDozwA4R54J9G
         ZgaCaF9p+G0EYhdYIQtzsAA41vg/50+Gi4DKXMublBZfvNCknK+zoPzEcLdXFr0B3yrI
         /ENbyQyM+8qaK04nJqCjevvHcYvhlA0C5Shb0n0CPvIm+pGl4EduHtvRpjURV82gJJ8F
         3uvw==
X-Gm-Message-State: AOJu0YynXorqA/hwbH2i6rt1y0lgvwxdDJjF/Ca+OuKUMYNcS93YQj7Z
	93LeVnB8Dr6aaSvsQwmiIzLzHhaftskZNO8tDQ1wtEfuPRFncCvqWIuQc3NmlL0Npgcg/oWQ45T
	w
X-Gm-Gg: ASbGncsUkw4zOweieYoG4L1pl2jGwpTYRomQJvuyr4a9EHMWHKPZbecOWqRrDCXgGcg
	9B4+Jngp3KSVB7CcOgkEGcfLBKYyDlwY60rqbd+v4ficYfzGBs/tO0lotUferv00Q06tyULz+Y+
	SaawccotrOl0ypplUOCZT2FteyZNa4g/47Gzjugk4qYxUY/XbAkFGmIJOZ9YRJc4p516Ya2JMUn
	FVr3qG3YK7/8HEtxPj0gpnY6gP7pdH/hz4ODOr5aLrk7OiCrR5lY0iwBEURy2R8Gk/OokR0So8M
	IKmZqqGttdhTBWIJuaGCsDOoEbkQutSw5AFGQZRU/JZBk8rdjv3Tz3iZgAEXXQVwgrnFDYqWfSR
	ylFwAzP662w==
X-Google-Smtp-Source: AGHT+IH+0LDstO6mEbGjqCIvBA/9Wqy0xn4kADNfl1OGzY4tAEnk9p5gASMQe0Ybif2VzRQ1H8KgHA==
X-Received: by 2002:a5d:6483:0:b0:399:71d4:a2 with SMTP id ffacd0b85a97d-3997f8fa242mr2782286f8f.14.1742553189987;
        Fri, 21 Mar 2025 03:33:09 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v7] Avoid crash calling PrintErrMesg from efi_multiboot2
Date: Fri, 21 Mar 2025 10:32:58 +0000
Message-ID: <20250321103258.37425-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Although code is compiled with -fpic option data is not position
independent. This causes data pointer to become invalid if
code is not relocated properly which is what happens for
efi_multiboot2 which is called by multiboot entry code.

Code tested adding
   PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
in efi_multiboot2 before calling efi_arch_edd (this function
can potentially call PrintErrMesg).

Before the patch (XenServer installation on Qemu, xen replaced
with vanilla xen.gz):
  Booting `XenServer (Serial)'Booting `XenServer (Serial)'
  Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Apic ID - 00000000 !!!!
  ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
  RIP  - 000000007EE21E9A, CS  - 0000000000000038, RFLAGS - 0000000000210246
  RAX  - 000000007FF0C1B5, RCX - 0000000000000050, RDX - 0000000000000010
  RBX  - 0000000000000000, RSP - 000000007FF0C180, RBP - 000000007FF0C210
  RSI  - FFFF82D040467CE8, RDI - 0000000000000000
  R8   - 000000007FF0C1C8, R9  - 000000007FF0C1C0, R10 - 0000000000000000
  R11  - 0000000000001020, R12 - FFFF82D040467CE8, R13 - 000000007FF0C1B8
  R14  - 000000007EA33328, R15 - 000000007EA332D8
  DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
  GS   - 0000000000000030, SS  - 0000000000000030
  CR0  - 0000000080010033, CR2 - FFFF82D040467CE8, CR3 - 000000007FC01000
  CR4  - 0000000000000668, CR8 - 0000000000000000
  DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
  DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
  GDTR - 000000007F9DB000 0000000000000047, LDTR - 0000000000000000
  IDTR - 000000007F48E018 0000000000000FFF,   TR - 0000000000000000
  FXSAVE_STATE - 000000007FF0BDE0
  !!!! Find image based on IP(0x7EE21E9A) (No PDB)  (ImageBase=000000007EE20000, EntryPoint=000000007EE23935) !!!!

After the patch:
  Booting `XenServer (Serial)'Booting `XenServer (Serial)'
  Test message: Buffer too small
  BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
  BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)

This partially rollback commit 00d5d5ce23e6.

Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI platforms")
Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- added "Fixes:" tag;
- fixed cast style change.

Changes since v2:
- wrap long line.

Changes since v3:
- fixed "Fixes:" tag.

Changes since v4:
- use switch instead of tables.

Changes since v5:
- added -fno-jump-tables option.

Changes since v6:
- rebased.
---
 xen/common/efi/boot.c        | 58 ++++++++++++++++++++++++------------
 xen/common/efi/efi-common.mk |  1 +
 2 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index efbec00af9..143b5681ba 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -287,33 +287,53 @@ static bool __init match_guid(const EFI_GUID *guid1, const EFI_GUID *guid2)
 /* generic routine for printing error messages */
 static void __init PrintErrMesg(const CHAR16 *mesg, EFI_STATUS ErrCode)
 {
-    static const CHAR16* const ErrCodeToStr[] __initconstrel = {
-        [~EFI_ERROR_MASK & EFI_NOT_FOUND]           = L"Not found",
-        [~EFI_ERROR_MASK & EFI_NO_MEDIA]            = L"The device has no media",
-        [~EFI_ERROR_MASK & EFI_MEDIA_CHANGED]       = L"Media changed",
-        [~EFI_ERROR_MASK & EFI_DEVICE_ERROR]        = L"Device error",
-        [~EFI_ERROR_MASK & EFI_VOLUME_CORRUPTED]    = L"Volume corrupted",
-        [~EFI_ERROR_MASK & EFI_ACCESS_DENIED]       = L"Access denied",
-        [~EFI_ERROR_MASK & EFI_OUT_OF_RESOURCES]    = L"Out of resources",
-        [~EFI_ERROR_MASK & EFI_VOLUME_FULL]         = L"Volume is full",
-        [~EFI_ERROR_MASK & EFI_SECURITY_VIOLATION]  = L"Security violation",
-        [~EFI_ERROR_MASK & EFI_CRC_ERROR]           = L"CRC error",
-        [~EFI_ERROR_MASK & EFI_COMPROMISED_DATA]    = L"Compromised data",
-        [~EFI_ERROR_MASK & EFI_BUFFER_TOO_SMALL]    = L"Buffer too small",
-    };
-    EFI_STATUS ErrIdx = ErrCode & ~EFI_ERROR_MASK;
-
     StdOut = StdErr;
     PrintErr(mesg);
     PrintErr(L": ");
 
-    if( (ErrIdx < ARRAY_SIZE(ErrCodeToStr)) && ErrCodeToStr[ErrIdx] )
-        mesg = ErrCodeToStr[ErrIdx];
-    else
+    switch (ErrCode)
     {
+    case EFI_NOT_FOUND:
+        mesg = L"Not found";
+        break;
+    case EFI_NO_MEDIA:
+        mesg = L"The device has no media";
+        break;
+    case EFI_MEDIA_CHANGED:
+        mesg = L"Media changed";
+        break;
+    case EFI_DEVICE_ERROR:
+        mesg = L"Device error";
+        break;
+    case EFI_VOLUME_CORRUPTED:
+        mesg = L"Volume corrupted";
+        break;
+    case EFI_ACCESS_DENIED:
+        mesg = L"Access denied";
+        break;
+    case EFI_OUT_OF_RESOURCES:
+        mesg = L"Out of resources";
+        break;
+    case EFI_VOLUME_FULL:
+        mesg = L"Volume is full";
+        break;
+    case EFI_SECURITY_VIOLATION:
+        mesg = L"Security violation";
+        break;
+    case EFI_CRC_ERROR:
+        mesg = L"CRC error";
+        break;
+    case EFI_COMPROMISED_DATA:
+        mesg = L"Compromised data";
+        break;
+    case EFI_BUFFER_TOO_SMALL:
+        mesg = L"Buffer too small";
+        break;
+    default:
         PrintErr(L"ErrCode: ");
         DisplayUint(ErrCode, 0);
         mesg = NULL;
+        break;
     }
     blexit(mesg);
 }
diff --git a/xen/common/efi/efi-common.mk b/xen/common/efi/efi-common.mk
index 23cafcf20c..06b1c19674 100644
--- a/xen/common/efi/efi-common.mk
+++ b/xen/common/efi/efi-common.mk
@@ -2,6 +2,7 @@ EFIOBJ-y := boot.init.o pe.init.o ebmalloc.o runtime.o
 EFIOBJ-$(CONFIG_COMPAT) += compat.o
 
 CFLAGS-y += -fshort-wchar
+CFLAGS-y += -fno-jump-tables
 CFLAGS-y += -iquote $(srctree)/common/efi
 CFLAGS-y += -iquote $(srcdir)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 10:49:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 10:49:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923891.1327276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvZwf-0008QF-Rz; Fri, 21 Mar 2025 10:49:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923891.1327276; Fri, 21 Mar 2025 10:49: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 1tvZwf-0008Q8-PQ; Fri, 21 Mar 2025 10:49:45 +0000
Received: by outflank-mailman (input) for mailman id 923891;
 Fri, 21 Mar 2025 10:49: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=QZeu=WI=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tvZwd-0008Q2-Sn
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 10:49:44 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2606::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31d05333-0642-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 11:49:42 +0100 (CET)
Received: from DUZPR01CA0209.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b6::22) by AS8PR08MB6504.eurprd08.prod.outlook.com
 (2603:10a6:20b:336::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Fri, 21 Mar
 2025 10:49:38 +0000
Received: from DB1PEPF00039234.eurprd03.prod.outlook.com
 (2603:10a6:10:4b6:cafe::58) by DUZPR01CA0209.outlook.office365.com
 (2603:10a6:10:4b6::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Fri,
 21 Mar 2025 10:49:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039234.mail.protection.outlook.com (10.167.8.107) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Fri, 21 Mar 2025 10:49:37 +0000
Received: ("Tessian outbound 550e499e67df:v597");
 Fri, 21 Mar 2025 10:49:37 +0000
Received: from Lfe9218ea4ba6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EE1F54D2-431F-4572-9431-7D351989F4C9.1; 
 Fri, 21 Mar 2025 10:49:31 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lfe9218ea4ba6.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 21 Mar 2025 10:49:31 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by VI0PR08MB10684.eurprd08.prod.outlook.com (2603:10a6:800:212::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.35; Fri, 21 Mar
 2025 10:49:25 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.036; Fri, 21 Mar 2025
 10:49: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: 31d05333-0642-11f0-9ea1-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=CZnvtKyrUI2fiDWvwNlWx79/NWIUbCykzVH7heseWk69HJnrOOWmZQvbHzn7lHpraOhzyGGMQyXoyoF89s+Ld0nBygyZ+3gHH2gG0GviW8vQYY8TxKeAbmZiN//ihB0a3uonuigAbTc/FtYlc9m+waBac4sF1/UzVjc4FRymEmArGrBMbvYmEMurTsVCsSYtzOR1iSVgDmz2P5NmmfW0zPdiiW/KC+QpMjxsVk/7jvsYT0CuMrAFU9ZUSBtFKYjqI0GjbC6fnK0Gkuyp2yXybQJ8+SgXNYm54z0LekpmPBtRGMxNDQlwpYQqAWAWtVJsdNhYazqDLLT5usTctjBmxQ==
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=yfl2xdhhcndrdxdZvi4/nY+RMNmGhlZfiGVOm+YXzZE=;
 b=ESNzYNUlEDg3MFRMSrRHsexSz78WxS+vvMulxmlfg4F3oIKgFNx8tUY2vvHaIpU1CrA+HyFAGZ993X2oZf3/b58OtRLFJQjXQxkAEQO7sYRMd24a7S1ccA7B8MZ1ghSqSormiAy+Aqe9ibaH27VuVooSqjifnQfWJ37FyvHHK/mjYtnEVYThoeQDndBgU57GGD0X0YBz+tRyR/XjvEspEs4tS/t+1MUo1hMbEdYVEMdAJT+2Q1/V19Z9pYYRPP8qVt8klE8pcQrbnc3ObHPRUTg9QT8CcRWq4Sck9QFrzA004ziJJRIng6qgHTixoextJz4+pbmYopKybKeL9ARjYQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=yfl2xdhhcndrdxdZvi4/nY+RMNmGhlZfiGVOm+YXzZE=;
 b=VTFd5hk3aHPZ9Huts21hu5xokuOKZXSc6/NI/qgloAIcqK3CqhRQYeC9B6aAS4IQBJIJwfQoVUBVI4r6zvPJ+A2r1YyEm7FzSwXg6BIcDcR4dU0+srJOGYUjXE1moMTA0tNhY8lHS8gMuzbNR4UkDAwB/cNsEVy/NMxnQgiilcc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0d5383332cbf0412
X-TessianGatewayMetadata: OnEDlE1KE+XXddq9F/MT59hsYAVo1BbfW8d2GwFJw/96tjFyFNt6xEmYXcLDXG0y7qh0+Dged61e8O86vnTixS3yXBAMVlPAQnZepcyFz1YVu8ULSFVRxTLNcSOh60czos2Zk2H+hJFvbREXfGl70yzFrv7xRZyWcSdUWdL4x4A=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XxweLR0dO2RnLd8hblO+zZpcCrTCeQQKkgLEKRQhrxsq0jYDp9jCBH5Yx3vri8EWmQinYUoDetJArAtu7l0/tvN4TrW3aiciPpiJ1RCI5YKd+IiD60oSlfnEJMlI7WOGhM2F6YxI7axocKDED9+WqVc7oCUdPzLOx80if873UUKAqD035JK6KrXCOBY6kjsH8JmUEMA6dEATnw+pX+Lw3vm/GBP6XVpNOUX47wACHSfsdtUl//Z6Y8fDGe86ZDfxxIL538uMwciHoJ/wYUvDu9YeOOFdbXe4Ajgqtki17iI1oeO5bLtMTWfc6qwuGT0sAYbBQ3Q9QWPcwxzvAMOYCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yfl2xdhhcndrdxdZvi4/nY+RMNmGhlZfiGVOm+YXzZE=;
 b=U7V+sKuiF2qy9xZjQwqS+aI3dlFGa7r4i6mZIv+Z5NiJwz01hS4a+Ze1S2HHYtV7SWV12w7CPxQ79BoQaXUKIVCUuDd39srfhEG2rgCDEyrA1CMgOduFp6JKDavhbwLsGIyW7rhRg9AFVxgUPl0ZwkeEbf2Y4+GWSCne1UoAZdQ3GbHS3VDPkQwJmGDJvXTuAyaLJIfC3I4ZVlzkT8h2IXNihhvBb91eyfl9c0OI1zFVjMqzQ3UIYXVd2L+MmcWu0If75naOkBI/RYZ6FiU9g3pyvy9u0HautsXxswCgsLzKvBPiSlTXXxrfO147mPQC+wWCnKlJEZWoavs2nRZyIQ==
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=yfl2xdhhcndrdxdZvi4/nY+RMNmGhlZfiGVOm+YXzZE=;
 b=VTFd5hk3aHPZ9Huts21hu5xokuOKZXSc6/NI/qgloAIcqK3CqhRQYeC9B6aAS4IQBJIJwfQoVUBVI4r6zvPJ+A2r1YyEm7FzSwXg6BIcDcR4dU0+srJOGYUjXE1moMTA0tNhY8lHS8gMuzbNR4UkDAwB/cNsEVy/NMxnQgiilcc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v2 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Topic: [PATCH v2 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Index: AQHbkcvnxcOyM/RSC0GESnnv40poW7N8IsKAgAAYUYCAABYjgIABKPcA
Date: Fri, 21 Mar 2025 10:49:24 +0000
Message-ID: <8797B28F-D3E3-4E18-BEA4-AF5D4CE8ABE2@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <75ffd7378e75fb1a07584c1b178600bbfb348425.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FhHz25oHB6bv+NJrf+21N-8HFvMW7JR04NM9JkpKLabg@mail.gmail.com>
 <794A37F9-9F8A-45D3-9D27-D2C536BADC4F@arm.com>
 <CAHUa44E6Sw5zmXtik8bCgD_WFQkcDsfKa7vDV2bXBRHp8c70_w@mail.gmail.com>
In-Reply-To:
 <CAHUa44E6Sw5zmXtik8bCgD_WFQkcDsfKa7vDV2bXBRHp8c70_w@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|VI0PR08MB10684:EE_|DB1PEPF00039234:EE_|AS8PR08MB6504:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d7f84cc-6ed2-407f-b04e-08dd68661357
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|10070799003|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Z2dXSnA0dEZPUjdjWmk3c2IraTZwKzNkRTVjbVE2T29uYVNTMTJPRGhBSngw?=
 =?utf-8?B?Q1pjME4zYUNjZ1VzbC82TjVERzFyc3pBU1RyaWxhVlc2bUxsOFdHMm1NaG5R?=
 =?utf-8?B?UFNYY3JHQTBkc1liakM1dkhhMER5dmtrYy9pZHNMU2lwL05GY0lFaTVYUUd3?=
 =?utf-8?B?UGVNQmszdFQ4dDFvdEJUbmhKVEFTQ1kzOHB6N3NjYWc3bXBPVGRtU0g1aE1O?=
 =?utf-8?B?a2RQVzlOOEdPemVLVjRxZVJnSFdEdE1ocWNCS3AxbzM1RzZlTzRvL29waWVt?=
 =?utf-8?B?cVRaZDhJYlh2aFVvODRua3BjZUlFcFRJRFBubVUxOGdtUVcyT1orb25ScVUz?=
 =?utf-8?B?V3BwV0ZKeVlvdEUwNExCMkVKV2h5cGIzNUpGNmk0aDBnb1JoM0hGZk52eXZx?=
 =?utf-8?B?UnVGWk9pSXp4TWttOWRDbFJraUI1ZFJxdGNrRGo5cEVjRWRGQUdLTTdlQ21q?=
 =?utf-8?B?UkdVc1MzeHhVZytNZExTZDRDZTcxTURGbDVrSHYxdCtHbDEvb1RjMjczd2NP?=
 =?utf-8?B?eFJiT1Qvcmlld3IzMEF6Z0JvYzhFSElkWGwxb1pVR1dyUjRxOU1lSEZZV1hN?=
 =?utf-8?B?Y2JDdnMxbTdpc05VOFBKaFNyTjRpaldhVFNJRGpyY2tFcU4zZ3hQbXhHUzc2?=
 =?utf-8?B?N0c2TWtYVG5GQzJPd3I4TGU3RVRIVW1wcHU3OE9aUG83eFkwSzNMWCtBS1FC?=
 =?utf-8?B?ZEttcnBleTdycWlJKzFybDBnbGlLbmlOY2VSQmUrUWl4cUlYYU96TmRadmd4?=
 =?utf-8?B?dzgrQUZwY2t0Z3g2Tlo1UkpiZ1RQU3BGU2kxbTUzUC9wZTR1NkZBZGUvNEdC?=
 =?utf-8?B?Vk9qdDlNN3M5V1hGblNsa1FuS2pCQi9iUmFqSnNuUWJiclgvbk1uWjNTaDFs?=
 =?utf-8?B?TGRKckJrSEhjODEvOUl2ODUwTER0b3pPbWdmT09BT2tnNFNnMjFPNTdtMnFR?=
 =?utf-8?B?cE9aeXRrNFJ4aXFXa3YrVlFqRStya1N0WGRJWU9iQzBzeG5Jbm5YaWVScTdO?=
 =?utf-8?B?aElxczBHMlhzOWNmU2V3ZFI3dzQ1cWVnc1dRN3pXdXF4eGJYQlE3M2RGVDFj?=
 =?utf-8?B?amZjN0lBU1dVdUpaTnF2QmxDNEYxb3ViYU8rd0c5VzFBTHlUcm1BWkRGVC9L?=
 =?utf-8?B?dU83VjlIMElrV1hWazZ1VUNySVFxRWt1U2dhQ2xuQXdZY0E1dkgxbVpEVGMy?=
 =?utf-8?B?NzBoa0EvRk1JS09Yc2dOUHQzakZqZzJPSTMvZzc1UnRCMFZENERwQ0REbDYv?=
 =?utf-8?B?Tm44Q3UrdzAraGNVRlAxelJadHRqdmtPcldURFhTN0xrWEVaNzJkUkNuWmVw?=
 =?utf-8?B?TkcvZ1N3RjNRVWxIRGtud3NqWlNFUjJGMlJ3bXFiTitwK2hSbW01Y3NlZzMz?=
 =?utf-8?B?UDd0bW9xUFplVWx2VlB3RDl1V3duemZCdUdmd2JFSW1UL3lWUkl0OHhYUS8w?=
 =?utf-8?B?QTdjNUI5SGxVQ1BXWkxsK2p1Qit1VVdCTlJBelhNaHMrdGJTK0ZkYTJiUHpa?=
 =?utf-8?B?RjR6enVGSkszSDlrOHRpYlRmQWxxYjczdUVWc2dudGZGQXNMMjlrNTM4Qzhl?=
 =?utf-8?B?cFNjQlZpUkRvQ08rQlFIWHlZalVYTWZLenI1MjJpMDZOQUZFb3NudWVta0sz?=
 =?utf-8?B?dE14S3JTWVovSlJOU0ZubTlGOWJ2RmUvMmQ3dG9GOXg2ZzBISHdKTnNNbGRV?=
 =?utf-8?B?SFpCNVNlTjNXd05JMlF0SmFEM01ML0NrckVqajRwRXFzS0FuTFB5dTZ4Y292?=
 =?utf-8?B?UHdUZFIrYi9CUlJ3bWcrK1RPa2J6UkNURWk5K0NOK2p0MmI4OFdxTlRsbmhz?=
 =?utf-8?B?TEJIUG9TQzhVWXg5d3p3NGxuQm1YeGR6c3htYVFQeFdoSXhpczVKVUR1eGxz?=
 =?utf-8?B?OUE5VlBSeXhRMm4rVGl4b25kS1cvclgrWnlQcWlKeHJiQzZVc3NhZzFYbW1V?=
 =?utf-8?Q?tqIoGGOaxOcI4Y3yA9XnqK8sFWsqBYSU?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <945C34E10B11844CB35D4B9C0A9F1B07@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10684
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF00039234.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3e6fd909-9998-4354-0776-08dd68660bb8
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|35042699022|36860700013|1800799024|376014|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QmE5dVNRNm1ZOXFXN3BkdGl2UVVjc2Qycy9KdVc5QjNDQmRCQ2haMzUvSzhT?=
 =?utf-8?B?Mzd2UjM3Mm9WQzFMMEU5Y2N5RTdQbEQ5Sk84dE8wa2k3aTZLLzhOL3lMRUlM?=
 =?utf-8?B?VEdpa1BxRWNXRTVlbi9vVjFVWEhpeEk2Ri9ZeE1SR0VPblBzc0lnaDFXM0d4?=
 =?utf-8?B?Z1hGbVRiN0pwTjgrZm1WcVdNSENZY2VmNVFyVVVoNTBzRVVOc2VCYndVVGwz?=
 =?utf-8?B?c0tJQXh5WUVvVk54bG45KzZFOSsyWlNRbUpnUytCVS9FN0hYVHBIMTlCL0lH?=
 =?utf-8?B?dkpoODltTXJRcnNSOWl3K20zZ0tBRWMzRThVS2doMUcxYkwvNWhiVjdkTlpG?=
 =?utf-8?B?elBVTDBGODhpUEtHeGtUTTZlVHorMlpzc2VPNnZYNVRkWUFWbXQ1czE0ZnBD?=
 =?utf-8?B?QVp1UWNpRjRaTVFlejZwVHZ2U29kOWNJNTBudDV6eExOcDZ3RFk0SDFiVkNz?=
 =?utf-8?B?ZDZBbTJJUWpWckp5UCtHMnpMMlRXekI4MTlDMnJIeVlac0tROGcyOEVDekdk?=
 =?utf-8?B?RnJvdlpsWDFLVEhoaDRCNTNSRHZ3YjhnWUFtdVl2cFIxZEl2WjJ0eC91aHNv?=
 =?utf-8?B?bDBadXNoRmZYVWd4RElweG16M1lkM1FDRTVYRzUxMWhiNFVHTGRTOWg1Z3RW?=
 =?utf-8?B?ZjFpV0Y4ZlB4WGIwb2ZZSDkrdnZOZTBkRTVvTGpaWW1tcnF3NWlZNnRYWENG?=
 =?utf-8?B?TGthN2xsU1o1TXFoS1IwS3pFb3dES00rbE4wRWtVeW5IbS8xNk9Wb20rUldq?=
 =?utf-8?B?TkhhN3gwSGsxRDVVd1VmN0tNcGNOQmRKR0hTV21GRmNib245L2hWNWQ1MjhW?=
 =?utf-8?B?eFo3YWJ1Z2krUm9EVkNkUFZMWXhmazlLZWNpZmVRZWl5d3ZjcXBobUxrcUFz?=
 =?utf-8?B?aWM0SHlBL3lVWUVJd0Q1Sk9zMm5wemhLeUtHQWFJM0JoUnROYTdYRzMwS3dO?=
 =?utf-8?B?aE9tVXdJVys1SThDQzRCNE5iM1Q1QkNjMUlnMFlTV1ZMMzdiM1pJb0pGVWJm?=
 =?utf-8?B?WXMwUXBPN0xPUXV0ZFpkUFpXVzVQMkZ2NjBQZ3NGUjVhT1RLdkdJSTJpd0th?=
 =?utf-8?B?RDMxTmVUK2xiN3NyeGNoeWJsQUl6M0xmTWZRSVFyRmNDTVBJV2ViNVczQXRu?=
 =?utf-8?B?THl0QUg1bTNDZFpPNktVd04yVmRuRm5WKzZNV1lNS05wYzBpQjdOakVlMG9n?=
 =?utf-8?B?b1h5dWpCeHFkNTR1S1FmdE5PbjVXU0lNZ3A3NUs3cmk1ZUZOVTRUOWgxRUIv?=
 =?utf-8?B?cVlDaFc5VTdmbm90bTVmdURXRWVhdHNzaUlLNkZSeEJhWC9lRVp2NVYrWXN6?=
 =?utf-8?B?dFAzNG1leHU2NUg4b2UwOGxEMDFRUTFDWTFwSjIrT0YwNTl4WGdYeGZZb3pz?=
 =?utf-8?B?d3pnejkyR1lURW9jTHRMNEVha3gvayswR0hFOHZQWTQvSGVNMDFyak9rY1hz?=
 =?utf-8?B?Z0VBT0c0b1hUbVBTNjBkLzZReFBlTHZpWkxiTTdGaktrQWU0LzA2K1F1dHBG?=
 =?utf-8?B?dGdTM3ZYbU1nbkxydWlSZ1NpcXBtYVZrNmdNR09TRVgwNDZJeVM1a3I0MzUx?=
 =?utf-8?B?dkNISThTdFA0ZjhWZ0ZrbWxlUmpITHRqWE01REtGTXdOK3B0ZFo0Tm5TRlBS?=
 =?utf-8?B?dk9WTFhnTWIyek5DVVNNZ1VVWjVsZU5lMW5jVmJjOVE5aXZhWTBxMGVoNmpZ?=
 =?utf-8?B?ZGZLa0M0NUJQZFg3SEpJYnh6L3I5anRheDdhcDBOczdmQVlwWitzdy9XNnVy?=
 =?utf-8?B?RE5FSDQxN2VISndrQ1U0NDBROFJKc3NrUEVITTJTZUxUeTVPcTRza3p3T1da?=
 =?utf-8?B?K1RqV2NVVXRJdndTOXN4dDlHelFCWFFkL3dDOW84Nno0Q25RQVRNNzVjNVRy?=
 =?utf-8?B?dkxPS2s1UHpHTHkxNjJPeGZoeG5NZTlVY1E5NHVqUVBOWSsvZHRFcGk5RTA3?=
 =?utf-8?B?Vlo1YktiWlRjRHZMazUxM2JmZGtpSE54aWQ3bVFoUkFSZHkra0UvTW4waWZo?=
 =?utf-8?Q?RUGnuzKVt7eVXKERngYG2ckVpJE5UU=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(36860700013)(1800799024)(376014)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2025 10:49:37.6788
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d7f84cc-6ed2-407f-b04e-08dd68661357
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF00039234.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6504

SGkgSmVucywNCg0KPiBPbiAyMCBNYXIgMjAyNSwgYXQgMTg6MDYsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gT24gVGh1
LCBNYXIgMjAsIDIwMjUgYXQgNDo0N+KAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4gPEJlcnRyYW5k
Lk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpIEplbnMsDQo+PiANCj4+IFRoYW5r
cyBhIGxvdCBmb3IgdGhlIHJldmlldy4NCj4+IA0KPj4+IE9uIDIwIE1hciAyMDI1LCBhdCAxNToy
MCwgSmVucyBXaWtsYW5kZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+IHdyb3RlOg0KPj4+
IA0KPj4+IEhpIEJlcnRyYW5kLA0KPj4+IA0KPj4+IE9uIE1vbiwgTWFyIDEwLCAyMDI1IGF0IDM6
NTHigK9QTSBCZXJ0cmFuZCBNYXJxdWlzDQo+Pj4gPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4g
d3JvdGU6DQo+Pj4+IA0KPj4+PiBDcmVhdGUgYSBDT05GSUdfRkZBX1ZNX1RPX1ZNIHBhcmFtZXRl
ciB0byBhY3RpdmF0ZSBGRkEgY29tbXVuaWNhdGlvbg0KPj4+PiBiZXR3ZWVuIFZNcy4NCj4+Pj4g
V2hlbiBhY3RpdmF0ZWQgbGlzdCBWTXMgaW4gdGhlIHN5c3RlbSB3aXRoIEZGLUEgc3VwcG9ydCBp
biBwYXJ0X2luZm9fZ2V0Lg0KPj4+PiANCj4+Pj4gV0FSTklORzogVGhlcmUgaXMgbm8gZmlsdGVy
aW5nIGZvciBub3cgYW5kIGFsbCBWTXMgYXJlIGxpc3RlZCAhIQ0KPj4+PiANCj4+Pj4gU2lnbmVk
LW9mZi1ieTogQmVydHJhbmQgTWFycXVpcyA8YmVydHJhbmQubWFycXVpc0Bhcm0uY29tPg0KPj4+
PiAtLS0NCj4+Pj4gQ2hhbmdlcyBpbiB2MjoNCj4+Pj4gLSBTd2l0Y2ggaWZkZWYgdG8gSVNfRU5B
QkxFRA0KPj4+PiAtIGRvbSB3YXMgbm90IHN3aXRjaGVkIHRvIGQgYXMgcmVxdWVzdGVkIGJ5IEph
biBiZWNhdXNlIHRoZXJlIGlzIGFscmVhZHkNCj4+Pj4gYSB2YXJpYWJsZSBkIHBvaW50aW5nIHRv
IHRoZSBjdXJyZW50IGRvbWFpbiBhbmQgaXQgbXVzdCBub3QgYmUNCj4+Pj4gc2hhZG93ZWQuDQo+
Pj4+IC0tLQ0KPj4+PiB4ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcgICAgICAgIHwgIDExICsrKw0K
Pj4+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5jIHwgMTQ0ICsrKysrKysrKysrKysr
KysrKysrKysrKystLS0tLS0tDQo+Pj4+IHhlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaCAg
fCAgMTIgKysrDQo+Pj4+IDMgZmlsZXMgY2hhbmdlZCwgMTM3IGluc2VydGlvbnMoKyksIDMwIGRl
bGV0aW9ucygtKQ0KPj4+PiANCj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvS2Nv
bmZpZyBiL3hlbi9hcmNoL2FybS90ZWUvS2NvbmZpZw0KPj4+PiBpbmRleCBjNWIwZjg4ZDc1MjIu
Ljg4YTRjNGM5OTE1NCAxMDA2NDQNCj4+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9LY29uZmln
DQo+Pj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvS2NvbmZpZw0KPj4+PiBAQCAtMjgsNSArMjgs
MTYgQEAgY29uZmlnIEZGQQ0KPj4+PiANCj4+Pj4gICAgICAgICBbMV0gaHR0cHM6Ly9kZXZlbG9w
ZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwNzcvbGF0ZXN0DQo+Pj4+IA0KPj4+PiArY29u
ZmlnIEZGQV9WTV9UT19WTQ0KPj4+PiArICAgIGJvb2wgIkVuYWJsZSBGRi1BIGJldHdlZW4gVk1z
IChVTlNVUFBPUlRFRCkiIGlmIFVOU1VQUE9SVEVEDQo+Pj4+ICsgICAgZGVmYXVsdCBuDQo+Pj4+
ICsgICAgZGVwZW5kcyBvbiBGRkENCj4+Pj4gKyAgICBoZWxwDQo+Pj4+ICsgICAgICBUaGlzIG9w
dGlvbiBlbmFibGVzIHRvIHVzZSBGRi1BIGJldHdlZW4gVk1zLg0KPj4+PiArICAgICAgVGhpcyBp
cyBleHBlcmltZW50YWwgYW5kIHRoZXJlIGlzIG5vIGFjY2VzcyBjb250cm9sIHNvIGFueQ0KPj4+
PiArICAgICAgZ3Vlc3QgY2FuIGNvbW11bmljYXRlIHdpdGggYW55IG90aGVyIGd1ZXN0Lg0KPj4+
PiArDQo+Pj4+ICsgICAgICBJZiB1bnN1cmUsIHNheSBOLg0KPj4+PiArDQo+Pj4+IGVuZG1lbnUN
Cj4+Pj4gDQo+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5j
IGIveGVuL2FyY2gvYXJtL3RlZS9mZmFfcGFydGluZm8uYw0KPj4+PiBpbmRleCBjMDUxMGNlYjgz
MzguLjdhZjFlY2EyZDBjNCAxMDA2NDQNCj4+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9mZmFf
cGFydGluZm8uYw0KPj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5jDQo+
Pj4+IEBAIC03Nyw3ICs3NywyMyBAQCB2b2lkIGZmYV9oYW5kbGVfcGFydGl0aW9uX2luZm9fZ2V0
KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4+PiAgICB9Ow0KPj4+PiAgICB1aW50MzJf
dCBzcmNfc2l6ZSwgZHN0X3NpemU7DQo+Pj4+ICAgIHZvaWQgKmRzdF9idWY7DQo+Pj4+IC0gICAg
dWludDMyX3QgZmZhX3NwX2NvdW50ID0gMDsNCj4+Pj4gKyAgICB1aW50MzJfdCBmZmFfdm1fY291
bnQgPSAwLCBmZmFfc3BfY291bnQgPSAwOw0KPj4+PiArDQo+Pj4gDQo+Pj4gVGhpcyBmdW5jdGlv
biBpcyBnZXR0aW5nIHF1aXRlIGxhcmdlIGFuZCBpdCdzIGhhcmQgdG8gZm9sbG93IHRoZQ0KPj4+
IGRpZmZlcmVudCBsb2NrIHN0YXRlcy4gSG93IGFib3V0IHNwbGl0dGluZyBpdCBpbnRvIHZhcmlv
dXMgaGVscGVyDQo+Pj4gZnVuY3Rpb25zPw0KPj4gDQo+PiBZZXMgSSBhZ3JlZS4NCj4+IEkgd2ls
bCB0cnkgdG8gZmluZCBhIGdvb2Qgd2F5IHRvIHNwbGl0IHRoaXMgaW4gc21hbGxlciBjaHVua3Mu
DQo+PiANCj4+PiANCj4+Pj4gKyAgICBpZiAoIElTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19W
TSkgKQ0KPj4+PiArICAgIHsNCj4+Pj4gKyAgICAgICAgc3RydWN0IGRvbWFpbiAqZG9tOw0KPj4+
PiArDQo+Pj4+ICsgICAgICAgIC8qIENvdW50IHRoZSBudW1iZXIgb2YgVk0gd2l0aCBGRi1BIHN1
cHBvcnQgKi8NCj4+PiANCj4+PiBXaHkgZG8gd2UgbmVlZCB0aGlzIG5vdz8gSXNuJ3QgaXQgZW5v
dWdoIHRvIGNvdW50IHRoZW0gYmVsb3cgd2hlbiB3ZQ0KPj4+IGZpbGwgaW4gZHN0X2J1Zj8NCj4+
IA0KPj4gV2UgbmVlZCBpdCBpbiAzIHBsYWNlcyBpbiB0aGUgY29kZSBhZnRlcjoNCj4+IC0gdG8g
cmV0dXJuIHRoZSBudW1iZXIgb2YgZW5kcG9pbnQgaW4gY2FzZSB0aGUgZmxhZyBpcyBzZXQgKHNl
ZSBmaW5hbCByZXR1cm4pDQo+PiAtIHRvIGNoZWNrIHRoYXQgdGhlcmUgaXMgZW5vdWdoIHNwYWNl
IGluIHRoZSBSWCBidWZmZXINCj4+IC0gdG8gcHJldmVudCBnb2luZyB0aHJvdWdoIHRoZSBsaXN0
IG9mIGRvbWFpbnMgaWYgbm9uZSBpcyB0byBiZSBsaXN0ZWQgYW55d2F5DQo+IA0KPiBHb3QgaXQs
IHRoYW5rcy4gVGhlIGZpcnN0IHBvaW50IGlzIGltcG9ydGFudCwgdGhlIG90aGVycyBhcmUNCj4g
ZXNzZW50aWFsbHkgb3B0aW1pemF0aW9ucy4NCg0KV2l0aCB5b3VyIHByZXZpb3VzIHBvaW50IGFu
ZCBtZSBzcGxpdHRpbmcgdGhpbmdzIHRoaXMgd2lsbCBub3QgYmUgdGhlIGNhc2UgYW55bW9yZS4N
Cg0KPiANCj4+IA0KPj4+IA0KPj4+PiArICAgICAgICByY3VfcmVhZF9sb2NrKCZkb21saXN0X3Jl
YWRfbG9jayk7DQo+Pj4+ICsgICAgICAgIGZvcl9lYWNoX2RvbWFpbiggZG9tICkNCj4+Pj4gKyAg
ICAgICAgew0KPj4+PiArICAgICAgICAgICAgc3RydWN0IGZmYV9jdHggKnZtID0gZG9tLT5hcmNo
LnRlZTsNCj4+Pj4gKw0KPj4+PiArICAgICAgICAgICAgaWYgKGRvbSAhPSBkICYmIHZtICE9IE5V
TEwgJiYgdm0tPmd1ZXN0X3ZlcnMgIT0gMCkNCj4+Pj4gKyAgICAgICAgICAgICAgICBmZmFfdm1f
Y291bnQrKzsNCj4+Pj4gKyAgICAgICAgfQ0KPj4+PiArICAgICAgICByY3VfcmVhZF91bmxvY2so
JmRvbWxpc3RfcmVhZF9sb2NrKTsNCj4+Pj4gKyAgICB9DQo+Pj4+IA0KPj4+PiAgICAvKg0KPj4+
PiAgICAgKiBJZiB0aGUgZ3Vlc3QgaXMgdjEuMCwgaGUgZG9lcyBub3QgZ2V0IGJhY2sgdGhlIGVu
dHJ5IHNpemUgc28gd2UgbXVzdA0KPj4+PiBAQCAtMTI3LDMzICsxNDMsMzggQEAgdm9pZCBmZmFf
aGFuZGxlX3BhcnRpdGlvbl9pbmZvX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+
Pj4gDQo+Pj4+ICAgIGRzdF9idWYgPSBjdHgtPnJ4Ow0KPj4+PiANCj4+Pj4gLSAgICBpZiAoICFm
ZmFfcnggKQ0KPj4+PiArICAgIC8qIElmIG5vdCBzdXBwb3J0ZWQsIHdlIGhhdmUgZmZhX3NwX2Nv
dW50PTAgKi8NCj4+Pj4gKyAgICBpZiAoIGZmYV9md19zdXBwb3J0c19maWQoRkZBX1BBUlRJVElP
Tl9JTkZPX0dFVCkgKQ0KPj4+PiAgICB7DQo+Pj4+IC0gICAgICAgIHJldCA9IEZGQV9SRVRfREVO
SUVEOw0KPj4+PiAtICAgICAgICBnb3RvIG91dF9yeF9yZWxlYXNlOw0KPj4+PiAtICAgIH0NCj4+
Pj4gKyAgICAgICAgaWYgKCAhZmZhX3J4ICkNCj4+Pj4gKyAgICAgICAgew0KPj4+PiArICAgICAg
ICAgICAgcmV0ID0gRkZBX1JFVF9ERU5JRUQ7DQo+Pj4+ICsgICAgICAgICAgICBnb3RvIG91dF9y
eF9yZWxlYXNlOw0KPj4+PiArICAgICAgICB9DQo+Pj4+IA0KPj4+PiAtICAgIHNwaW5fbG9jaygm
ZmZhX3J4X2J1ZmZlcl9sb2NrKTsNCj4+Pj4gKyAgICAgICAgc3Bpbl9sb2NrKCZmZmFfcnhfYnVm
ZmVyX2xvY2spOw0KPj4+PiANCj4+Pj4gLSAgICByZXQgPSBmZmFfcGFydGl0aW9uX2luZm9fZ2V0
KHV1aWQsIDAsICZmZmFfc3BfY291bnQsICZzcmNfc2l6ZSk7DQo+Pj4+ICsgICAgICAgIHJldCA9
IGZmYV9wYXJ0aXRpb25faW5mb19nZXQodXVpZCwgMCwgJmZmYV9zcF9jb3VudCwgJnNyY19zaXpl
KTsNCj4+Pj4gDQo+Pj4+IC0gICAgaWYgKCByZXQgKQ0KPj4+PiAtICAgICAgICBnb3RvIG91dF9y
eF9oeXBfdW5sb2NrOw0KPj4+PiArICAgICAgICBpZiAoIHJldCApDQo+Pj4+ICsgICAgICAgICAg
ICBnb3RvIG91dF9yeF9oeXBfdW5sb2NrOw0KPj4+PiANCj4+Pj4gLSAgICAvKg0KPj4+PiAtICAg
ICAqIGZmYV9wYXJ0aXRpb25faW5mb19nZXQoKSBzdWNjZWVkZWQgc28gd2Ugbm93IG93biB0aGUg
UlggYnVmZmVyIHdlDQo+Pj4+IC0gICAgICogc2hhcmUgd2l0aCB0aGUgU1BNQy4gV2UgbXVzdCBn
aXZlIGl0IGJhY2sgdXNpbmcgZmZhX2h5cF9yeF9yZWxlYXNlKCkNCj4+Pj4gLSAgICAgKiBvbmNl
IHdlJ3ZlIGNvcGllZCB0aGUgY29udGVudC4NCj4+Pj4gLSAgICAgKi8NCj4+Pj4gKyAgICAgICAg
LyoNCj4+Pj4gKyAgICAgICAgICogZmZhX3BhcnRpdGlvbl9pbmZvX2dldCgpIHN1Y2NlZWRlZCBz
byB3ZSBub3cgb3duIHRoZSBSWCBidWZmZXIgd2UNCj4+Pj4gKyAgICAgICAgICogc2hhcmUgd2l0
aCB0aGUgU1BNQy4gV2UgbXVzdCBnaXZlIGl0IGJhY2sgdXNpbmcgZmZhX2h5cF9yeF9yZWxlYXNl
KCkNCj4+Pj4gKyAgICAgICAgICogb25jZSB3ZSd2ZSBjb3BpZWQgdGhlIGNvbnRlbnQuDQo+Pj4+
ICsgICAgICAgICAqLw0KPj4+PiANCj4+Pj4gLSAgICAvKiB3ZSBjYW5ub3QgaGF2ZSBhIHNpemUg
c21hbGxlciB0aGFuIDEuMCBzdHJ1Y3R1cmUgKi8NCj4+Pj4gLSAgICBpZiAoIHNyY19zaXplIDwg
c2l6ZW9mKHN0cnVjdCBmZmFfcGFydGl0aW9uX2luZm9fMV8wKSApDQo+Pj4+IC0gICAgew0KPj4+
PiAtICAgICAgICByZXQgPSBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+Pj4+IC0gICAgICAgIGdv
dG8gb3V0X3J4X2h5cF9yZWxlYXNlOw0KPj4+PiArICAgICAgICAvKiB3ZSBjYW5ub3QgaGF2ZSBh
IHNpemUgc21hbGxlciB0aGFuIDEuMCBzdHJ1Y3R1cmUgKi8NCj4+Pj4gKyAgICAgICAgaWYgKCBz
cmNfc2l6ZSA8IHNpemVvZihzdHJ1Y3QgZmZhX3BhcnRpdGlvbl9pbmZvXzFfMCkgKQ0KPj4+PiAr
ICAgICAgICB7DQo+Pj4+ICsgICAgICAgICAgICByZXQgPSBGRkFfUkVUX05PVF9TVVBQT1JURUQ7
DQo+Pj4+ICsgICAgICAgICAgICBnb3RvIG91dF9yeF9oeXBfcmVsZWFzZTsNCj4+Pj4gKyAgICAg
ICAgfQ0KPj4+PiAgICB9DQo+Pj4+IA0KPj4+PiAtICAgIGlmICggY3R4LT5wYWdlX2NvdW50ICog
RkZBX1BBR0VfU0laRSA8IGZmYV9zcF9jb3VudCAqIGRzdF9zaXplICkNCj4+Pj4gKyAgICBpZiAo
IGN0eC0+cGFnZV9jb3VudCAqIEZGQV9QQUdFX1NJWkUgPA0KPj4+PiArICAgICAgICAgKGZmYV9z
cF9jb3VudCArIGZmYV92bV9jb3VudCkgKiBkc3Rfc2l6ZSApDQo+Pj4+ICAgIHsNCj4+Pj4gICAg
ICAgIHJldCA9IEZGQV9SRVRfTk9fTUVNT1JZOw0KPj4+PiAgICAgICAgZ290byBvdXRfcnhfaHlw
X3JlbGVhc2U7DQo+Pj4+IEBAIC0xODIsMjUgKzIwMyw4OCBAQCB2b2lkIGZmYV9oYW5kbGVfcGFy
dGl0aW9uX2luZm9fZ2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4+PiAgICAgICAg
fQ0KPj4+PiAgICB9DQo+Pj4+IA0KPj4+PiArICAgIGlmICggZmZhX2Z3X3N1cHBvcnRzX2ZpZChG
RkFfUEFSVElUSU9OX0lORk9fR0VUKSApDQo+Pj4+ICsgICAgew0KPj4+PiArICAgICAgICBmZmFf
aHlwX3J4X3JlbGVhc2UoKTsNCj4+Pj4gKyAgICAgICAgc3Bpbl91bmxvY2soJmZmYV9yeF9idWZm
ZXJfbG9jayk7DQo+Pj4+ICsgICAgfQ0KPj4+PiArDQo+Pj4+ICsgICAgaWYgKCBJU19FTkFCTEVE
KENPTkZJR19GRkFfVk1fVE9fVk0pICYmIGZmYV92bV9jb3VudCApDQo+Pj4+ICsgICAgew0KPj4+
PiArICAgICAgICBzdHJ1Y3QgZG9tYWluICpkb207DQo+Pj4+ICsgICAgICAgIHVpbnQzMl90IGN1
cnIgPSAwOw0KPj4+PiArDQo+Pj4+ICsgICAgICAgIC8qIGFkZCB0aGUgVk0gaW5mb3JtYXRpb25z
IGlmIGFueSAqLw0KPj4+PiArICAgICAgICByY3VfcmVhZF9sb2NrKCZkb21saXN0X3JlYWRfbG9j
ayk7DQo+Pj4+ICsgICAgICAgIGZvcl9lYWNoX2RvbWFpbiggZG9tICkNCj4+Pj4gKyAgICAgICAg
ew0KPj4+PiArICAgICAgICAgICAgc3RydWN0IGZmYV9jdHggKnZtID0gZG9tLT5hcmNoLnRlZTsN
Cj4+Pj4gKw0KPj4+PiArICAgICAgICAgICAgLyoNCj4+Pj4gKyAgICAgICAgICAgICAqIHdlIGRv
IG5vdCBhZGQgdGhlIFZNIGNhbGxpbmcgdG8gdGhlIGxpc3QgYW5kIG9ubHkgVk1zIHdpdGgNCj4+
Pj4gKyAgICAgICAgICAgICAqIEZGLUEgc3VwcG9ydA0KPj4+PiArICAgICAgICAgICAgICovDQo+
Pj4+ICsgICAgICAgICAgICBpZiAoZG9tICE9IGQgJiYgdm0gIT0gTlVMTCAmJiB2bS0+Z3Vlc3Rf
dmVycyAhPSAwKQ0KPj4+PiArICAgICAgICAgICAgew0KPj4+PiArICAgICAgICAgICAgICAgIC8q
DQo+Pj4+ICsgICAgICAgICAgICAgICAgICogV2UgZG8gbm90IGhhdmUgVVVJRCBpbmZvIGZvciBW
TXMgc28gdXNlDQo+Pj4+ICsgICAgICAgICAgICAgICAgICogdGhlIDEuMCBzdHJ1Y3R1cmUgc28g
dGhhdCB3ZSBzZXQgVVVJRHMgdG8NCj4+Pj4gKyAgICAgICAgICAgICAgICAgKiB6ZXJvIHVzaW5n
IG1lbXNldA0KPj4+PiArICAgICAgICAgICAgICAgICAqLw0KPj4+PiArICAgICAgICAgICAgICAg
IHN0cnVjdCBmZmFfcGFydGl0aW9uX2luZm9fMV8wIHNyY3ZtOw0KPj4+PiArDQo+Pj4+ICsgICAg
ICAgICAgICAgICAgaWYgKCBjdXJyID09IGZmYV92bV9jb3VudCApDQo+Pj4+ICsgICAgICAgICAg
ICAgICAgew0KPj4+PiArICAgICAgICAgICAgICAgICAgICAvKg0KPj4+PiArICAgICAgICAgICAg
ICAgICAgICAgKiBUaGUgbnVtYmVyIG9mIGRvbWFpbnMgY2hhbmdlZCBzaW5jZSB3ZSBjb3VudGVk
IHRoZW0sIHdlDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAqIGNhbiBhZGQgbmV3IG9uZXMg
aWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGluIHRoZQ0KPj4+PiArICAgICAgICAgICAgICAgICAg
ICAgKiBkZXN0aW5hdGlvbiBidWZmZXIgc28gY2hlY2sgaXQgb3IgZ28gb3V0IHdpdGggYW4gZXJy
b3IuDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAqLw0KPj4+IA0KPj4+IFdoeSBkbyB3ZSBj
YXJlIGlmIHRoZSBudW1iZXIgaGFzIGNoYW5nZWQ/IElmIGl0IGZpdHMsIGFsbCBpcyBnb29kDQo+
Pj4gYW55d2F5IGFuZCB3ZSdyZSBhbHNvIHVwZGF0aW5nIGZmYV92bV9jb3VudCB3aXRoIGN1cnIg
YWZ0ZXIgdGhlIGxvb3AuDQo+PiANCj4+IFdlbGwgdGhpcyBpcyBleGFjdGx5IHRoZSBwb2ludCBo
ZXJlLCB3ZSBjaGVjayBpZiB3ZSBoYXZlIGVub3VnaCBzcGFjZSB0bw0KPj4gcmV0dXJuIHRoZSBk
YXRhIHdpdGggdGhlIG5ldyBkb21haW5zIGFuZCBpZiBub3Qgd2UgcmV0dXJuIGFuIGVycm9yLg0K
Pj4gDQo+PiBUaGUgcG9pbnQgaGVyZSBpcyB0byBtYWtlIHN1cmUgdGhhdCBpZiB0aGVyZSBhcmUg
bW9yZSBkb21haW5zIHRoYW4gd2hlbg0KPj4gd2UgY291bnRlZCBmaXJzdCB3ZSBjaGVjayB0aGF0
IHdlIGhhdmUgZW5vdWdoIHNpemUgYW5kIHRoZSB1cGRhdGUgYXQgdGhlDQo+PiBlbmQgaXMgdG8g
aGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGhhdmUgYWN0dWFsbHkgbGVzcyBkb21haW5zIHRoYW4g
d2hlbg0KPj4gd2UgY291bnRlZCBmaXJzdC4NCj4+IA0KPj4gSWYgdGhlIG51bWJlciBoYXMgY2hh
bmdlZCB3ZSBvbmx5IGNhcmUgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZQ0KPj4gd2UgaGF2
ZSBlbm91Z2ggc3BhY2UgYW5kIGJlY2F1c2Ugd2UgbmVlZCB0byByZXR1cm4gdGhlIHJpZ2h0IG51
bWJlcg0KPj4gdG8gdGhlIGNhbGxlci4NCj4+IA0KPj4gUGxlYXNlIHRlbGwgbWUgaG93IHlvdSB3
b3VsZCBsaWtlIG1lIHRvIGNoYW5nZSB0aGlzIGJlY2F1c2UgSSBkbyBub3QNCj4+IHVuZGVyc3Rh
bmQgd2hhdCBJIHNob3VsZCBtb2RpZnkgaGVyZS4NCj4gDQo+IEkgd2FzIHRoaW5raW5nIHNvbWV0
aGluZyBsaWtlOg0KPiAgICAgICAgZm9yX2VhY2hfZG9tYWluKCBkb20gKQ0KPiAgICAgICAgew0K
PiAgICAgICAgICAgIHN0cnVjdCBmZmFfY3R4ICp2bSA9IGRvbS0+YXJjaC50ZWU7DQo+IA0KPiAg
ICAgICAgICAgIGlmIChkb20gIT0gZCAmJiB2bSAhPSBOVUxMICYmIHZtLT5ndWVzdF92ZXJzICE9
IDApDQo+ICAgICAgICAgICAgew0KPiAgICAgICAgICAgICAgICAuLi4NCj4gICAgICAgICAgICAg
ICAgZmZhX3ZtX2NvdW50Kys7DQo+ICAgICAgICAgICAgICAgIGlmICggY3R4LT5wYWdlX2NvdW50
ICogRkZBX1BBR0VfU0laRSA8DQo+ICAgICAgICAgICAgICAgICAgICAgKGZmYV9zcF9jb3VudCAr
IGZmYV92bV9jb3VudCkgKiBkc3Rfc2l6ZSApDQo+ICAgICAgICAgICAgICAgICAgICAuLi4gZXJy
b3Igb3V0DQo+IA0KPiAgICAgICAgICAgICAgICAuLi4gY29weSBkYXRhDQo+ICAgICAgICAgICAg
ICAgIGRzdF9idWYgKz0gZHN0X3NpemU7DQo+ICAgICAgICAgICAgfQ0KPiAgICAgICAgfQ0KDQpP
ayBnb3QgeW91Lg0KSSB3aWxsIG1vZGlmeSB0aGluZ3MgdG8gc2ltcGxpZnkgYW5kIGp1c3QgY2hl
Y2sgYWxvbmcgdGhlIHdheSBpZiB0aGVyZQ0KaXMgZW5vdWdoIHNwYWNlIHRvIGFkZCBhbiBleHRy
YSBlbnRyeSBpbnN0ZWFkIG9mIHRyeWluZyB0byBoYW5kbGUNCmEgY29ybmVyIGNhc2Ugd2hlcmUg
dGhlIG51bWJlciBjaGFuZ2VzIGluIHRoZSBtaWRkbGUgdGhhdCB3aWxsDQptYWtlIHRoaW5ncyBz
aW1wbGVyLg0KU3RheSB0dW5lZCBmb3IgdjMgOy0pDQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiAN
Cj4gQ2hlZXJzLA0KPiBKZW5zDQo+IA0KPj4gDQo+PiBDaGVlcnMNCj4+IEJlcnRyYW5kDQo+PiAN
Cj4+PiANCj4+PiBDaGVlcnMsDQo+Pj4gSmVucw0KPj4+IA0KPj4+PiArICAgICAgICAgICAgICAg
ICAgICBmZmFfdm1fY291bnQrKzsNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgaWYgKCBjdHgt
PnBhZ2VfY291bnQgKiBGRkFfUEFHRV9TSVpFIDwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAoZmZhX3NwX2NvdW50ICsgZmZhX3ZtX2NvdW50KSAqIGRzdF9zaXplICkNCj4+Pj4gKyAg
ICAgICAgICAgICAgICAgICAgew0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0g
RkZBX1JFVF9OT19NRU1PUlk7DQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICByY3VfcmVh
ZF91bmxvY2soJmRvbWxpc3RfcmVhZF9sb2NrKTsNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gb3V0X3J4X3JlbGVhc2U7DQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgIH0NCj4+
Pj4gKyAgICAgICAgICAgICAgICB9DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAgICAgICAgICBzcmN2
bS5pZCA9IGZmYV9nZXRfdm1faWQoZG9tKTsNCj4+Pj4gKyAgICAgICAgICAgICAgICBzcmN2bS5l
eGVjdXRpb25fY29udGV4dCA9IGRvbS0+bWF4X3ZjcHVzOw0KPj4+PiArICAgICAgICAgICAgICAg
IHNyY3ZtLnBhcnRpdGlvbl9wcm9wZXJ0aWVzID0gRkZBX1BBUlRfVk1fUFJPUDsNCj4+Pj4gKyAg
ICAgICAgICAgICAgICBpZiAoIGlzXzY0Yml0X2RvbWFpbihkb20pICkNCj4+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgc3Jjdm0ucGFydGl0aW9uX3Byb3BlcnRpZXMgfD0gRkZBX1BBUlRfUFJPUF9B
QVJDSDY0X1NUQVRFOw0KPj4+PiArDQo+Pj4+ICsgICAgICAgICAgICAgICAgbWVtY3B5KGRzdF9i
dWYsICZzcmN2bSwgTUlOKHNpemVvZihzcmN2bSksIGRzdF9zaXplKSk7DQo+Pj4+ICsNCj4+Pj4g
KyAgICAgICAgICAgICAgICBpZiAoIGRzdF9zaXplID4gc2l6ZW9mKHNyY3ZtKSApDQo+Pj4+ICsg
ICAgICAgICAgICAgICAgICAgIG1lbXNldChkc3RfYnVmICsgc2l6ZW9mKHNyY3ZtKSwgMCwNCj4+
Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9zaXplIC0gc2l6ZW9mKHNyY3ZtKSk7
DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAgICAgICAgICBkc3RfYnVmICs9IGRzdF9zaXplOw0KPj4+
PiArICAgICAgICAgICAgICAgIGN1cnIrKzsNCj4+Pj4gKyAgICAgICAgICAgIH0NCj4+Pj4gKyAg
ICAgICAgfQ0KPj4+PiArICAgICAgICByY3VfcmVhZF91bmxvY2soJmRvbWxpc3RfcmVhZF9sb2Nr
KTsNCj4+Pj4gKw0KPj4+PiArICAgICAgICAvKiB0aGUgbnVtYmVyIG9mIGRvbWFpbnMgY291bGQg
aGF2ZSByZWR1Y2Ugc2luY2UgdGhlIGluaXRpYWwgY291bnQgKi8NCj4+Pj4gKyAgICAgICAgZmZh
X3ZtX2NvdW50ID0gY3VycjsNCj4+Pj4gKyAgICB9DQo+Pj4+ICsNCj4+Pj4gKyAgICBnb3RvIG91
dDsNCj4+Pj4gKw0KPj4+PiBvdXRfcnhfaHlwX3JlbGVhc2U6DQo+Pj4+ICAgIGZmYV9oeXBfcnhf
cmVsZWFzZSgpOw0KPj4+PiBvdXRfcnhfaHlwX3VubG9jazoNCj4+Pj4gICAgc3Bpbl91bmxvY2so
JmZmYV9yeF9idWZmZXJfbG9jayk7DQo+Pj4+IG91dF9yeF9yZWxlYXNlOg0KPj4+PiAtICAgIC8q
DQo+Pj4+IC0gICAgICogVGhlIGNhbGxpbmcgVk0gUlggYnVmZmVyIG9ubHkgY29udGFpbnMgZGF0
YSB0byBiZSB1c2VkIGJ5IHRoZSBWTSBpZiB0aGUNCj4+Pj4gLSAgICAgKiBjYWxsIHdhcyBzdWNj
ZXNzZnVsLCBpbiB3aGljaCBjYXNlIHRoZSBWTSBoYXMgdG8gcmVsZWFzZSB0aGUgYnVmZmVyDQo+
Pj4+IC0gICAgICogb25jZSBpdCBoYXMgdXNlZCB0aGUgZGF0YS4NCj4+Pj4gLSAgICAgKiBJZiBz
b21ldGhpbmcgd2VudCB3cm9uZyBkdXJpbmcgdGhlIGNhbGwsIHdlIGhhdmUgdG8gcmVsZWFzZSB0
aGUgUlgNCj4+Pj4gLSAgICAgKiBidWZmZXIgYmFjayB0byB0aGUgU1BNQyBhcyB0aGUgVk0gd2ls
bCBub3QgZG8gaXQuDQo+Pj4+IC0gICAgICovDQo+Pj4+IC0gICAgaWYgKCByZXQgIT0gRkZBX1JF
VF9PSyApDQo+Pj4+IC0gICAgICAgIGZmYV9yeF9yZWxlYXNlKGQpOw0KPj4+PiArICAgIGZmYV9y
eF9yZWxlYXNlKGQpOw0KPj4+PiBvdXQ6DQo+Pj4+ICAgIGlmICggcmV0ICkNCj4+Pj4gICAgICAg
IGZmYV9zZXRfcmVnc19lcnJvcihyZWdzLCByZXQpOw0KPj4+PiAgICBlbHNlDQo+Pj4+IC0gICAg
ICAgIGZmYV9zZXRfcmVnc19zdWNjZXNzKHJlZ3MsIGZmYV9zcF9jb3VudCwgZHN0X3NpemUpOw0K
Pj4+PiArICAgICAgICBmZmFfc2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCBmZmFfc3BfY291bnQgKyBm
ZmFfdm1fY291bnQsIGRzdF9zaXplKTsNCj4+Pj4gfQ0KPj4+PiANCj4+Pj4gc3RhdGljIGludDMy
X3QgZmZhX2RpcmVjdF9yZXFfc2VuZF92bSh1aW50MTZfdCBzcF9pZCwgdWludDE2X3Qgdm1faWQs
DQo+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRlLmggYi94ZW4v
YXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRlLmgNCj4+Pj4gaW5kZXggYzRjZDY1NTM4OTA4Li5iZDY4
NzdkOGM2MzIgMTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUu
aA0KPj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRlLmgNCj4+Pj4gQEAgLTE4
Nyw2ICsxODcsMTggQEANCj4+Pj4gKi8NCj4+Pj4gI2RlZmluZSBGRkFfUEFSVElUSU9OX0lORk9f
R0VUX0NPVU5UX0ZMQUcgQklUKDAsIFUpDQo+Pj4+IA0KPj4+PiArLyoNCj4+Pj4gKyAqIFBhcnRp
dGlvbiBwcm9wZXJ0aWVzIHdlIGdpdmUgZm9yIGEgbm9ybWFsIHdvcmxkIFZNOg0KPj4+PiArICog
LSBjYW4gc2VuZCBkaXJlY3QgbWVzc2FnZSBidXQgbm90IHJlY2VpdmUgdGhlbQ0KPj4+PiArICog
LSBjYW4gaGFuZGxlIGluZGlyZWN0IG1lc3NhZ2VzDQo+Pj4+ICsgKiAtIGNhbiByZWNlaXZlIG5v
dGlmaWNhdGlvbnMNCj4+Pj4gKyAqIDMyLzY0IGJpdCBmbGFnIGlzIHNldCBkZXBlbmRpbmcgb24g
dGhlIFZNDQo+Pj4+ICsgKi8NCj4+Pj4gKyNkZWZpbmUgRkZBX1BBUlRfVk1fUFJPUCAgICAoRkZB
X1BBUlRfUFJPUF9ESVJFQ1RfUkVRX1NFTkQgfCBcDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEZGQV9QQVJUX1BST1BfSU5ESVJFQ1RfTVNHUyB8IFwNCj4+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRkZBX1BBUlRfUFJPUF9SRUNWX05PVElGIHwgXA0KPj4+PiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGRkFfUEFSVF9QUk9QX0lTX1BFX0lEKQ0KPj4+
PiArDQo+Pj4+IC8qIEZsYWdzIHVzZWQgaW4gY2FsbHMgdG8gRkZBX05PVElGSUNBVElPTl9HRVQg
aW50ZXJmYWNlICAqLw0KPj4+PiAjZGVmaW5lIEZGQV9OT1RJRl9GTEFHX0JJVE1BUF9TUCAgICAg
ICAgQklUKDAsIFUpDQo+Pj4+ICNkZWZpbmUgRkZBX05PVElGX0ZMQUdfQklUTUFQX1ZNICAgICAg
ICBCSVQoMSwgVSkNCj4+Pj4gLS0NCj4+Pj4gMi40Ny4xDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 10:56:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 10:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923914.1327287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tva2z-0002m8-LQ; Fri, 21 Mar 2025 10:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923914.1327287; Fri, 21 Mar 2025 10:56: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 1tva2z-0002m1-Hq; Fri, 21 Mar 2025 10:56:17 +0000
Received: by outflank-mailman (input) for mailman id 923914;
 Fri, 21 Mar 2025 10:56: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=n2Zf=WI=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tva2y-0002lv-0c
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 10:56:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20621.outbound.protection.outlook.com
 [2a01:111:f403:2613::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1bb8a7cd-0643-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 11:56:15 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by FRWPR03MB10982.eurprd03.prod.outlook.com
 (2603:10a6:d10:174::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Fri, 21 Mar
 2025 10:56:12 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.034; Fri, 21 Mar 2025
 10:56: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: 1bb8a7cd-0643-11f0-9ea1-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XTiNJvQm2NZjrANkM1u1twua2Peloi8dcs8Wx0DCjCr2BYXwlJTqkpJFeM8EPnDNth8W/CO87KwUiWH+U/PJcip/wVxkmfErcm8Q6xh2Ak7ezfh6/sMvZxorKqus7SaWbnNB4Rsjvu3EP0MWiaxMIi5uKSnq8Kp9AXBiC/URRGiZWCuLF95h5kQSU25Y5rSst2HZV7TYjgNDrLHUjEmb2u3RD9Qa6JDm63La0yYZ5tcSPm+MB8amf/bN3Irax0BNmxtDeVBd86pXe3ZwLEj6i+xzVQ76Ph2a2f41nbt218+mGuyW+P27Vu1o+Tp38wtfowj1eRQ/d3kVIb33HW0YCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i5p8QdxBq3MDh4TfkxMPwRexXvfqB7M2cfkpfLYgTOw=;
 b=bfFKLzCbElLPGV5Whmb5ljrR2rHe+jRA6tOjzu6RNAemgjf6+tkncC+keGpkUw7suJr/RtICCc6vACqNTRg+cXcV+EDZkopYCyHWKQpD5wyMdvSf43Dqn2M+Xa20xLixF0VwdrHcUXs7D1zDRJqs/xoLsHqqHNErW7i9X1VkymSxMGJXwLGIrGBzdfssXQ7fCj2oBXQo23fBToMn8jW6s+YPkjH7rK4TBxFmQ92wdyIvQWqtCGbuqPiaku6PzdgmQ9QWKwOgZ62+pxd6LP+uGPd0kVH6AuukbHdR+gJgqGnECMj9qeONv7UA8bidZydlkXZR3qTm4WF5rqyeYDTuTw==
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=i5p8QdxBq3MDh4TfkxMPwRexXvfqB7M2cfkpfLYgTOw=;
 b=HFgZZfhXk/E7YkrSvqGm2Siil8+S8yBu1SY2VMn0gNblQxU+NmdqSQXPDdLCFjryN2AsTnpUAoDOgOFN56/+w01ajjLluzldP6a62mRC2y6G/kXx0F9bLhbVnNUYEFtv7T9LXZUiX7e4nOd3w4x4OWakP9oCway1siSZvSIojbmPAJO6tfxjgL6B6t0VBJSk89+WdFN9rYC6NTqNe9b8dPL4GRtYkIF3Hm+kbUJtRIkHQYdLV0iNBUmNDNzgv8VtrPXOREbDVjg1GZAyFOZ3zEFw/NqzgReH3r3cfR8Tau/63ZXgz980mafG4Rg0qCRWDZVFJKFCwc2BalOrG7Lg8A==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Jan Beulich <jbeulich@suse.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?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
Thread-Topic: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
Thread-Index: AQHblOXdxbIbbkNtn0WSg/9tW2OJ47N3cuWAgAYDBYA=
Date: Fri, 21 Mar 2025 10:56:12 +0000
Message-ID: <dbc57c17-867f-49c4-be61-186b5562eff1@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
 <132afbca390edd6e9fd7b1ffacf6c5aff0d29aa7.1741958647.git.mykyta_poturai@epam.com>
 <7fa0bde7-3aa9-48f4-a0ed-d03216edcc4e@suse.com>
In-Reply-To: <7fa0bde7-3aa9-48f4-a0ed-d03216edcc4e@suse.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_|FRWPR03MB10982:EE_
x-ms-office365-filtering-correlation-id: 42130344-9c6c-49b7-7a30-08dd6866fe84
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|366016|1800799024|376014|7416014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?MUUydzNkcUNKZGQ2aW9iM0lvRVZuNXZaS25mYThrOFBVOHBmWm5LQXByOFBJ?=
 =?utf-8?B?c3pMcGNwZk5INnJDdFZkQ21xdURnTnMvdlZTdVVITjJoWnZidzhkUWE5RkJB?=
 =?utf-8?B?UFlyN0g3V2g2RHg0WW8reW5WYjBoNFdyYVBIbCtKTkhJdHloZ2p2Q0lKUUk4?=
 =?utf-8?B?YWdOTEdNeGs4Y1dheE1wT0pYS1lZemp1bThJZ0pBMllNTVdjT1RNQ09QSk5G?=
 =?utf-8?B?dW9DVXNIQVNFS0VuZjFYS29PMFpTTVpzRHpwS0V1YzJmQkg0Q2JucHZ3ZzNs?=
 =?utf-8?B?MnZSL3UxK3cvWnRQNStvRUdROXM3UGRZa0JOVGtZeFVyN1IxNWdNZHY1d0sw?=
 =?utf-8?B?Q0FiNnFRL2VyQ0JqWWZwd2MyWmhnaWdXY05rdXg2TkNuUG1OWXBZNDh0ZzNG?=
 =?utf-8?B?WUMyWWdvMEl6VTY1WmpNWG5XeER1ZW11bXZOVUxkejNFRDlUdngxbUhMWEdi?=
 =?utf-8?B?bFJjVFlvNFU2cWNkRVI0YVk1eTdWN0JmU1hWR1dwWnpQcEZYODVtakN4Umhu?=
 =?utf-8?B?SzI4aDcraGlCdW1nZ1ZEYVNpUUhERzNsVGoyNGtVM0tNejJaZXJnalg0dzd5?=
 =?utf-8?B?WUI0Kzhrc0R5YkpVZ3QxT2NMUVF1VU9vMUpMR0p4YzRUQU5oR2VDQUxJLzRG?=
 =?utf-8?B?cG0yTi8zUFovUXRxdW9BMzIzVWJvQ0NJcWpXclNrVmtrbTNMM2pqalNTMW45?=
 =?utf-8?B?clZaT0Nha2xCTmhPZjBsaHI4STlVRGV2SG1yRko0WVJpVkdaQjhLWVk2bXBr?=
 =?utf-8?B?bHRBSkRjL1dmVVJGMlhZS1QwMmw0aDJGNHk5WkN0ZDV4djU5aDdPeWp2cXJj?=
 =?utf-8?B?WHhodzBCbUNNVGVkaHJpbnZNN28xaEc3QzNva1RDam1Pdkx6eFFlZDFLejQy?=
 =?utf-8?B?YjV3aG5jNkVRdjFRQTArNlBDVW00bExmUG9LY0VVTlV2U1daaEtreC9BcnZN?=
 =?utf-8?B?V2hpLzJYK01iWjhudXRVell0WUQ4ZndjMFNrVTIxbFYyUkhZTlVBcEJMZ2Yw?=
 =?utf-8?B?UC9pbEJhcG16aCtkNlVPTkZnWWVvZno1eFBxdmVUY29iT3UxM0JpMUVzT0Fq?=
 =?utf-8?B?c29wcUErZEQ5QVdRbjcrbG5zMmNkSkt0T2VRVkc0L1JZVUhNenh6TDNOcHJx?=
 =?utf-8?B?ZGVmd1VPRXE1cXBoSUtlczBJc3VBK1Z0RTBDWlluZzlDSUZLRWk0Z3h2OFNH?=
 =?utf-8?B?MDEwN1ZIQ1BzMjd2WGZRTm02RlBNRmNnT01rLzNneW56V1h2KzBpSXFBMDN2?=
 =?utf-8?B?UXM4eUJLdkVMMDYwdDh0UE91c3pVejFYejRPSDA1eksyRk5ZYWZZY2VQVEVa?=
 =?utf-8?B?anYyM2NsTHRNRjFlZUdMU2xKMjZqbkRmQ2lBRnJsZzBLMlh2ejZtd1BWUU1C?=
 =?utf-8?B?MW9DK3BQUWZ4YVE2Vkp1U1JUeDFUZWp2ODc0QmVsYzMyTjQ0RjkzZ24wN3Vn?=
 =?utf-8?B?N0VjTmh6czlqYTNJTjI0T3B5SjNwbDErQzRkazNodkthQytUR0VEQWFPbUJX?=
 =?utf-8?B?cGhJNGl2UnlSSGdxYXpSMXZLNUpJbjJnTk93VzNNdkEvRExBeWo3NXR3UDNr?=
 =?utf-8?B?TUxnaVhkdnN3RmdBRTJ0UlJaa3Y5TGtZL3hlQ0VxVGNIdHJTZWZtbExobGlR?=
 =?utf-8?B?UVJLeTBHWGVXMnNKMGZZTm9MeVA1Nk1xQis5UEg1aFc1MnVSQkdWMGM0M1FS?=
 =?utf-8?B?SUFWUGQ3eG5JbE9mb0JGUWVLRVJIZ1BxSm8vQm51ZVJ5c2JkclkxMHQ3TnVY?=
 =?utf-8?B?YWtad000WTBRN1luQVJtRE1PYlhhTXl2NUFBMi95OUxLajUvM3RBVHhRNG5n?=
 =?utf-8?B?blF4dnFpbnFoSk5JQmhwVWprR2dFNTE1YXMxSlRNNFNzc2RXNS9pTzJpU0tk?=
 =?utf-8?Q?SVxousnbcpgIo?=
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)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?c1dmbGhhcFRvbEI4OTdiM2pkMEQ4WmxOd3FCRGNrL1NzbFJPeCtoOGR0aXB0?=
 =?utf-8?B?S0NvNmdxK0h1TnVXNWY1Uk5POU1rODc4MGxMUlpkZDZiQXpQdXQ4eFIwU0Ji?=
 =?utf-8?B?dTJCZWJTV3ZyUnRBWkxsZHBNTGN4aDdTanhQSE02ZnVlZEY5UWRxUC9QTERu?=
 =?utf-8?B?NWo4aDRlTEs5MVJMSWloNzZPNjJKbzJxcHJCc2NmWFpRNEMvdkk0L2Z1bUdy?=
 =?utf-8?B?TEdSNU9uRVRsT0xwUUhQSXJacUNhdFZROHlOSFhzNnFXM2RtalpMcm5JYmYr?=
 =?utf-8?B?WHhTdTFzSkVmcVNyN2dhaXdTU01DaHVlTmtSVXE5Q3VCQ211RDVWRjkxcENY?=
 =?utf-8?B?enIrbXh1Tk14QzNvU3F2TVdZOUNsVDc0WHRWbEo5TFBaNGxjakdLUzhMT2Zz?=
 =?utf-8?B?eUNWb002Y1hVUk5wMXJ5TGtFZnhTS1RSVUlSbGNGUXlUTDVPT3A1VGJISU1o?=
 =?utf-8?B?Y2w5UkF5b3Z0SGlyTXNneVdPMGhpY0VGOVQ1SjdwQlVaZnZ1UCtYZS8zdzRP?=
 =?utf-8?B?S0lPTEJRajlWQlMrM1cvcEhRN05yNm9ZbzB3OXdYZW9mUktzS1VrU0RNRGQz?=
 =?utf-8?B?Q0VNNWoxMDZScytqUThMRzF3ZVIrQzBkWXQ2Um5JT3o3T0NSalM0eVUyU2or?=
 =?utf-8?B?c1lQUWFjamo2NVpvamxYS2FMTmNpYTgzc242allpY0tQa0xiT2x2dkEzbEhn?=
 =?utf-8?B?T0JjL0x4eVB5b0N2Rm9GVk53WXFkL3FBWDU3R1NQTDJrS0FDZGRKUytna0JR?=
 =?utf-8?B?akhYN0pWR1VrRVdrR3ptbTZUNko3WCtSUVNOaVJvVUptNlZPQ1RvZGw1b2JE?=
 =?utf-8?B?eVo2Q3RENlFTeVVLN3Via3B4QTNMNnNJZmdvckUzcmRCMGYrdXduRWNudjQ0?=
 =?utf-8?B?dWE1b1Zza2hEcnhpMUJIMFpEL3NVWWNkTkFCSzU2aFoyVWNMam9XZkphUEhR?=
 =?utf-8?B?WEFZK1I0NmZhWU9GOFBIK0JQbmVYOHB2N2tnaEFDcTFMbGl6c1ovN1hjTG9q?=
 =?utf-8?B?LzlJejBCMlROaytwTnFIYWtLa2dxczg3dkJTbWV5KzU1VUtNbjJMOGVZL1Iw?=
 =?utf-8?B?N0NERVNBclFmMDQrNU4rT3VNdkdMMmY5R0JQNVhVajdwNm5zcFg2aU80MXRE?=
 =?utf-8?B?ekk4MUYwN3dMbWpyRVBJeWZkWDQ5UmU5c2tpMnZEMDJRUi9WWWt0ZGNVTnJW?=
 =?utf-8?B?aGEvaGw4SHBqdHY5OThMZE1kYlMxaXNidFc3Rzg3Y3c4aTVaR3JucGJkelFo?=
 =?utf-8?B?S2dSY0lGUHZOSTRwWXZGQkNOeUE0QjBaSjRRemZWU1Zialc1MXVOL3B2YnRu?=
 =?utf-8?B?bENzTVNrR29menFvM25zTVhOSHd2Q2NEQU1EYjNmYXZKamFkcEVId1NIZW53?=
 =?utf-8?B?SVlxaVVWbkR3YnVoTVFBOEorSFJwSGdyREtCTGpncHJOSDhobVE0L3pGZkYy?=
 =?utf-8?B?cEFpem81VXRuSzBNWGhxNjRsVTU1Z1JXNmNUK1d2NnR4RThOT3pzWk9kZElD?=
 =?utf-8?B?SGFDVThDYTVnSGVQTEptbzRzMDdwN25udUN6Ym0rUy9DRll0czQ3dFFMZTgw?=
 =?utf-8?B?MU9XQ3RCWXJETnZMbFQrdXhuRjhRS3lQbjJzeGRsNWRkZU13ZzN2bFgxWE9o?=
 =?utf-8?B?VmcwZVJjSVBPeWlRVVR6VlRsRVVzTmw2cVN0bTdhM1ZPSDdDc0V5TzJ0NlM2?=
 =?utf-8?B?WnhhcUFGR3AyVS9vbG84YUNMQTU4amJRYlRwbjVmTk9qMllrNEVuRGpkSlpT?=
 =?utf-8?B?cjhMRUVNbm9lcjFnWDhlSFV1dXNzV2JSQktqQmJGOGZkS1YwdDFJZmhxU0JD?=
 =?utf-8?B?Vy9tWXI4dkFUVDBGT1UxMUhXZlc1VkM0V0tYYWhiQy9PWnlsZjdjK1AvUU9P?=
 =?utf-8?B?bVg5enhkYkxJdUlHK2hsazllYzVZOHF2L3dYWVRlV3BaWVp1UlovMWZiZzBQ?=
 =?utf-8?B?dk5LNFpYZUN6NnFpRU9HQWk2WHMvTGlGT2lRMHpmKytrbEIxYzdXN0JpRnpZ?=
 =?utf-8?B?dUptTWcwZHJFMElDK0hVenMvYVNUYXl3clg5L3daRkVPakh3S2phRnUyY2pR?=
 =?utf-8?B?enZpNjlEZGhQQnJSVStQanZsSzZHMnhIa2FyeTZkc09aQjN5L1BlU1ZqREJQ?=
 =?utf-8?B?b2NJUHpORDljYmxqeFJaUGZkai9LbVVON2hvWEM5dDI0cXRmQVBNRFNnK0ov?=
 =?utf-8?B?RVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <AE9AFAD15C4FF9459C91B7E0F4598DE9@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: 42130344-9c6c-49b7-7a30-08dd6866fe84
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2025 10:56:12.2465
 (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: KMjyZIk0LXzOB73uC6q8Y3dN32T4VOsNKCRgMVyGJ1Tc3CXTE35b6a5cVIeKPGHaQ0P/zHuUP7gGEwrRB15/aQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRWPR03MB10982

T24gMTcuMDMuMjUgMTc6MDcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNC4wMy4yMDI1IDE0
OjM0LCBNeWt5dGEgUG90dXJhaSB3cm90ZToNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9wY2kvcGNp
LmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9wY2kvcGNpLmMNCj4+IEBAIC0xNiw5ICsxNiwxOCBA
QA0KPj4gICAjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+DQo+PiAgICNpbmNsdWRlIDx4ZW4v
ZXJybm8uaD4NCj4+ICAgI2luY2x1ZGUgPHhlbi9pbml0Lmg+DQo+PiArI2luY2x1ZGUgPHhlbi9p
b21tdS5oPg0KPj4gICAjaW5jbHVkZSA8eGVuL3BhcmFtLmg+DQo+PiAgICNpbmNsdWRlIDx4ZW4v
cGNpLmg+DQo+PiAgIA0KPj4gK2Jvb2wgaXNfcGNpX3Bhc3N0aHJvdWdoX2VuYWJsZWQoYm9vbCBk
b20wKQ0KPj4gK3sNCj4+ICsgICAgaWYgKCBkb20wICkNCj4+ICsgICAgICAgIHJldHVybiBwY2lf
cGFzc3Rocm91Z2hfZW5hYmxlZCB8fCBpb21tdV9lbmFibGVkOw0KPiANCj4gQXMgSSB0aGluayBJ
IHNhaWQgYmVmb3JlIC0gdGhlIGZ1bmN0aW9uJ3MgbmFtZSBub3cgbm8gbG9uZ2VyIGV4cHJlc3Nl
cw0KPiB3aGF0IGl0IHJlYWxseSBjaGVja3MuIFRoYXQgKGltbyBoZWF2aWx5KSBtaXNsZWFkaW5n
IGF0IHRoZSB1c2Ugc2l0ZXMNCj4gb2YgdGhpcyBmdW5jdGlvbi4NCg0KSSBhbSBhZnJhaWQgSSBk
b24ndCB1bmRlcnN0YW5kIHlvdXIgY29uY2Vybi4gSXQgc3RpbGwgY2hlY2tzIGlmIFBDSSANCnBh
c3N0aHJvdWdoIGlzIGVuYWJsZWQuIFdpdGgganVzdCB0aGUgY2hhbmdlIHRoYXQgQVJNIG5lZWRz
IHNvbWUgZXh0cmEgDQpsb2dpYyBmb3IgRG9tMCBQQ0kgdG8gd29yayBwcm9wZXJseS4gTWF5YmUg
Y2hhbmdlIHRoZSBwYXJhbWV0ZXIgbmFtZSB0byANCnNvbWV0aGluZyBsaWtlICJmb3JfcGNpX2h3
ZG9tIj8NCg0KPj4gKyAgICByZXR1cm4gcGNpX3Bhc3N0aHJvdWdoX2VuYWJsZWQ7DQo+PiArfQ0K
PiANCj4gUGVyc29uYWxseSBJIGFsc28gdmlldyBpdCBhcyB1bmRlc2lyYWJsZSB0aGF0IHRoZSBn
bG9iYWwNCj4gcGNpX3Bhc3N0aHJvdWdoX2VuYWJsZWQgaXMgZXZhbHVhdGVkIHR3aWNlIGluIHRo
aXMgZnVuY3Rpb24uIEJldHRlcg0KPiBtaWdodCBiZSBlLmcuDQo+IA0KPiBib29sIGlzX3BjaV9w
YXNzdGhyb3VnaF9lbmFibGVkKGJvb2wgZG9tMCkNCj4gew0KPiAgICAgIGlmICggcGNpX3Bhc3N0
aHJvdWdoX2VuYWJsZWQgKQ0KPiAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gDQo+ICAgICAgcmV0
dXJuIGRvbTAgJiYgaW9tbXVfZW5hYmxlZDsNCj4gfQ0KPiANCj4gWWV0IHRoZW4gSSdtIG5vdCBh
IG1haW50YWluZXIgb2YgdGhpcyBjb2RlLg0KPiANCg0KQWdyZWUsIHdpbGwgY2hhbmdlIGluIHRo
ZSBuZXh0IHZlcnNpb24uDQoNCj4+IEBAIC04NSw3ICs5NCw3IEBAIHN0YXRpYyBpbnQgX19pbml0
IHBjaV9pbml0KHZvaWQpDQo+PiAgICAgICAgKiBFbmFibGUgUENJIHBhc3N0aHJvdWdoIHdoZW4g
aGFzIGJlZW4gZW5hYmxlZCBleHBsaWNpdGx5DQo+PiAgICAgICAgKiAocGNpLXBhc3N0aHJvdWdo
PW9uKS4NCj4+ICAgICAgICAqLw0KPj4gLSAgICBpZiAoICFwY2lfcGFzc3Rocm91Z2hfZW5hYmxl
ZCApDQo+PiArICAgIGlmICggIWlzX3BjaV9wYXNzdGhyb3VnaF9lbmFibGVkKHRydWUpICkNCj4g
DQo+IFRoZXJlJ3Mgbm8gRG9tMCBpbiBzaWdodCBhbnl3aGVyZSBoZXJlLCBpcyB0aGVyZT8gSG93
IGNhbiB5b3UgcGFzcyB0cnVlDQo+IGFzIGFyZ3VtZW50IGZvciB0aGUgImRvbTAiIHBhcmFtZXRl
cj8NCj4gDQoNClRoaXMgc2hvdWxkIGJlIHJlYWQgYXMgImlzIHBjaSBwYXNzdGhyb3VnaCBlbmFi
bGVkIGZvciBEb20wPyIgYW5kIGlmIGl0IA0KaXMgd2UgZGVmaW5pdGVseSBuZWVkIHRvIGRvIGEg
UENJIGluaXQuDQoNCkkndmUgYWxzbyBkb25lIHNvbWUgaW52ZXN0aWdhdGlvbnMgb24gcG9zc2li
bGUgd2F5cyB0byByZW1vdmUgdGhlIA0KRG9tMC9vdGhlciBkb21haW5zIGRpc3RpbmN0aW9uLCBi
dXQgSSdtIGFmcmFpZCB0aGlzIGlzIHRoZSBtb3N0IA0KcmVhc29uYWJsZSB3YXkgdG8gbWFrZSBQ
Q0kgZnVuY3Rpb25hbCBvbiBEb20wIHdpdGhvdXQgZXhwbGljaXRseSANCmVuYWJsaW5nIFBDSSBw
YXNzdGhyb3VnaC4NCg0KU01NVSBpcyBjb25maWd1cmVkIHRvIHRyaWdnZXIgYSBmYXVsdCBvbiBh
bGwgdHJhbnNhY3Rpb25zIGJ5IGRlZmF1bHQgYW5kIA0Kd2UgY2FuJ3Qgc3RhdGljYWxseSBtYXAg
UENJIGRldmljZXMgdG8gRG9tMCwgc28gdGhlIG9ubHkgb3RoZXIgd2F5IGlzIHRvIA0KcHV0IFBD
SSBpbiBmdWxsIHBhc3N0aHJvdWdoIG1vZGUsIHdoaWNoIEkgdGhpbmsgaXMgbm90IHNhZmUgZW5v
dWdoLg0KQW5kIHdlIGFsc28gY2FuJ3QgZHJvcCB0aGlzIHBhdGNoIGFzIGl0IHdhcyBkaXJlY3Rs
eSByZXF1ZXN0ZWQgYnkgSnVsaWVuIA0KaGVyZSBbMV0uDQoNCj4+IC0tLSBhL3hlbi9hcmNoL3g4
Ni9pbmNsdWRlL2FzbS9wY2kuaA0KPj4gKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Bj
aS5oDQo+PiBAQCAtNTAsNyArNTAsNyBAQCBleHRlcm4gaW50IHBjaV9tbWNmZ19jb25maWdfbnVt
Ow0KPj4gICBleHRlcm4gc3RydWN0IGFjcGlfbWNmZ19hbGxvY2F0aW9uICpwY2lfbW1jZmdfY29u
ZmlnOw0KPj4gICANCj4+ICAgLyogVW5saWtlIEFSTSwgUENJIHBhc3N0aHJvdWdoIGlzIGFsd2F5
cyBlbmFibGVkIGZvciB4ODYuICovDQo+PiAtc3RhdGljIGFsd2F5c19pbmxpbmUgYm9vbCBpc19w
Y2lfcGFzc3Rocm91Z2hfZW5hYmxlZCh2b2lkKQ0KPj4gK3N0YXRpYyBhbHdheXNfaW5saW5lIGJv
b2wgaXNfcGNpX3Bhc3N0aHJvdWdoX2VuYWJsZWQoX19tYXliZV91bnVzZWQgYm9vbCBkb20wKQ0K
PiANCj4gRnVuY3Rpb24gcGFybWV0ZXJzIGRvbid0IG5lZWQgc3VjaCBhbm5vdGF0aW9uLg0KPiAN
Cg0KR290IGl0Lg0KDQo+PiAtLS0gYS94ZW4vZHJpdmVycy9wY2kvcGh5c2Rldi5jDQo+PiArKysg
Yi94ZW4vZHJpdmVycy9wY2kvcGh5c2Rldi5jDQo+PiBAQCAtMTksNyArMTksNyBAQCByZXRfdCBw
Y2lfcGh5c2Rldl9vcChpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykN
Cj4+ICAgICAgICAgICBzdHJ1Y3QgcGNpX2Rldl9pbmZvIHBkZXZfaW5mbzsNCj4+ICAgICAgICAg
ICBub2RlaWRfdCBub2RlID0gTlVNQV9OT19OT0RFOw0KPj4gICANCj4+IC0gICAgICAgIGlmICgg
IWlzX3BjaV9wYXNzdGhyb3VnaF9lbmFibGVkKCkgKQ0KPj4gKyAgICAgICAgaWYgKCAhaXNfcGNp
X3Bhc3N0aHJvdWdoX2VuYWJsZWQodHJ1ZSkgKQ0KPj4gICAgICAgICAgICAgICByZXR1cm4gLUVP
UE5PVFNVUFA7DQo+IA0KPiBTZWVpbmcgdGhlIGZ1bmN0aW9uJ3MgcGFyYW1ldGVyIG5hbWUsIGhv
dyBkbyB5b3Uga25vdyBpdCdzIERvbTAgY2FsbGluZw0KPiBoZXJlPw0KPiANCj4gSmFuDQoNCklz
IHRoaXMgYSBmdW5jdGlvbmFsIG9yIG5hbWluZyBjb25jZXJuPyBJZiBpdCBpcyBhYm91dCBuYW1p
bmcgdGhlbiBjYW4gDQppdCBhbHNvIGJlIHNvbHZlZCBieSByZW5hbWluZyB0aGUgcGFyYW1ldGVy
Pw0KDQpSZWdhcmRpbmcgZnVuY3Rpb25hbCBpc3N1ZXMsIEkgaGF2ZSBhc3N1bWVkIHRoYXQgb25s
eSBod2RvbSBjYW4gbWFrZSANCnBoeXNkZXYgb3BlcmF0aW9ucywgYnV0IGFmdGVyIGNoZWNraW5n
IGl0LCB0aGlzIGFzc3VtcHRpb24gc2VlbXMgdG8gYmUgDQpjb3JyZWN0IG9uIHg4NiBidXQgd3Jv
bmcgb24gQXJtLg0KSSBleHBlY3RlZCB0aGVyZSB3b3VsZCBiZSBhIGNoZWNrIGluIGRvX2FybV9w
aHlzZGV2X29wKCkgb3Igc29tZXdoZXJlIA0KbmVhciBpdCwgc2ltaWxhciB0byBob3cgaXQgaXMg
ZG9uZSBpbiB4ODYsIGJ1dCB0aGVyZSBhcmUgbm9uZS4gSSdtIG5vdCANCnN1cmUgaWYgaXQgaXMg
aW50ZW50aW9uYWwgb3IgYnkgbWlzdGFrZSwgSSB0aGluayBpdCBuZWVkcyBzb21lIA0KY2xhcmlm
aWNhdGlvbiBieSBBcm0gZm9sa3MuDQoNClsxXSANCmh0dHBzOi8vcGF0Y2hldy5vcmcvWGVuLzIw
MjMwNjA3MDMwMjIwLjIyNjk4LTEtc3Rld2FydC5oaWxkZWJyYW5kQGFtZC5jb20vIzI3MzFiMDZk
LTRhNTQtZjUxYy0yMjg1LWVhMmNmMWZhYzNiYUB4ZW4ub3JnDQotLSANCk15a3l0YQ==


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 11:25:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 11:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923933.1327296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvaVP-00014O-R9; Fri, 21 Mar 2025 11:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923933.1327296; Fri, 21 Mar 2025 11:25: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 1tvaVP-00014H-OX; Fri, 21 Mar 2025 11:25:39 +0000
Received: by outflank-mailman (input) for mailman id 923933;
 Fri, 21 Mar 2025 11:25: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=YWv/=WI=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tvaVO-00013o-Oa
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 11:25:38 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20628.outbound.protection.outlook.com
 [2a01:111:f403:2612::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3610e5b5-0647-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 12:25:37 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU2PR03MB7847.eurprd03.prod.outlook.com (2603:10a6:10:2d2::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.35; Fri, 21 Mar
 2025 11:25:33 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.034; Fri, 21 Mar 2025
 11:25: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: 3610e5b5-0647-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IQoZJUJKKh/cpnAt0NxqTuW2I5Jz/Q5cdfZVWqE2dkpVBktC1+8TztebKtUUgT+4K5k/tk7AUPAeKGR7WHGTz198EtK2fagfdiBVtuit1rVeA8pOBeKXLN5mnnbyruyZ4dbBOmOEqI3Gh/b95jbEmnmM/4LKJ7lUET+vC9FEs3r3m2NM4rtm0U+dNjc2PkQ3H79iG5zYk245OphpcQF14caWW8UseCvyni3Q0IevvzyhG3iAL3D0gQ3cNf8x/gpUiRQsWH1wPs3AKGIAt34EGg43otmbHIfbF6X7/hqs1BTmT+HuEASd9mpltLmEqzcfz6Zf5MvENN6cpB3TxfcHDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gpfQrP6l+Q85UPdbQuzF8S7ooiSCIleN8TE3gXflWY4=;
 b=bxz7fChAxqa6zea14D014u6LrmyH7SHLC//nDeNHFZgcOMKt0WwPV9Xthtm0bJyK7LWVluJD9wMlEpK9uNPJr7/KlvN8TTTvqonCTOpUfhSsZSjAooxpaX0zWhBTbcqlVf0zdOnxZitF6QgIc9JocOilJReSiZoZdbg/k+gffEHoaRNkB90ovfEnTY29kfuAtk1JWdBPcqOywAeVskr3stI7jPHdnUcDKaGzh5bBmpVPIwyodx44HT4O83+O1ca/ybJs+VGpazRPBcu+9TdpCV0ppBhXkRxPYP2n5BkDmYyEMAANzwJQ2w9Rmn83yjSOLUrLRmwaqUduL+M07wd3oQ==
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=gpfQrP6l+Q85UPdbQuzF8S7ooiSCIleN8TE3gXflWY4=;
 b=NkJaL+iihKYnJJXduUwCNP7dfMC5xumWRUPuRs62MZeVgVV2y0yJc+6fsWrFCLjFfym5l4WhyAnfrKTvnJWL/0jCCkrQbQ39+QoW75b+vwnM2gzU65DSvhjZghSupwOZRcXkXsMq1TiMh8vE39uqeXNyi50ITvjHGNpUmgYErmnW1ZyeDf2E1OhNMpBIQOZbD2ySQ20v86V9qf1Ed+k+HViQjD6yf0z8eOk3GgDQVmrJSyU2qqgOL+5EdFF3lqU4fXHAwsMXi60CG2xOy+cgKKD06X1p2ADrxz/3XFK+lh7ZNeVZ2/TC8lZIA2TLYhk7kycMpbkzLiCHZHE+plNMvQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <d12a3bea-6b2b-4753-89c2-35b96a48eff6@epam.com>
Date: Fri, 21 Mar 2025 13:25:31 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 0/7] xen/arm: scmi: introduce SCI SCMI SMC
 multi-agent support
To: Grygorii Strashko <gragst.linux@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross <jgross@suse.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <20250311111618.1850927-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0184.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::7) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU2PR03MB7847:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b3a3194-a7de-4642-e6d2-08dd686b1814
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:
	=?utf-8?B?R1FvRFc2bTlTdUpVZTdnMkcxOFFqRXRXRkRXVmdxUFpqTXV6K2MybS8xYWVX?=
 =?utf-8?B?Nks4NGI1YWh2ZHZqa0t3dmRnL0x4Z3o1Z0NsVHMxMHRKeXFIK0tjdStvSmkw?=
 =?utf-8?B?cCtRbFZTOXN2bW1TUXIralNVZ1ZRSHVmclkxQkxvUExyclJ2bU1TSU5SSTA2?=
 =?utf-8?B?SEN0ekNzbzVJL1hnQlRKMVRpYWZBYkcyVWtlMEpxWVh2UU94MUZaZ3g2OVpp?=
 =?utf-8?B?YTFSY09QMHk4aGM2SWZrdUxUOEs4bmRtZWd0TS8ycG5PM3kzcmNkdkN3Ujd3?=
 =?utf-8?B?NVo2UVEvTHIwZXEvVmd3WWk0Wk1JQjB6MDc3TFZ5NUlBTlF1UDREL2RvU0JE?=
 =?utf-8?B?UTVjczlRa2tTd1I1QTE5Z0RycElBamhSTVBtbkpCVGhYbE5vdkxYOXBLY0JS?=
 =?utf-8?B?WU1QSFUxVnluVEo2QWhHRzB5OHFsVXo5eW9EZFoxYjFoYnIwYmx4Z3I5YXFj?=
 =?utf-8?B?WHdpd1dVSWxaWFVTTmNvQjZYUThJdWh6NGgyNkNpUGhkZDQ3OXRSTFM0YmFr?=
 =?utf-8?B?UCtnRUNxci9tQkdEMndKS09USEpFdXBsdUZpUGdTZHdVQXZqZEk0T2tiaW1k?=
 =?utf-8?B?Mi95S3ZydlBST3o0U3Bud0tFM2RtMk9IQ2IwY21yd2xWWkpaYkUzSnprd2Ni?=
 =?utf-8?B?aUh1aGY0TkpHNHVVb3VJOExrVTNvNVcyUTV5QUEyWnFHTkVBTENMNksrNUY5?=
 =?utf-8?B?MlcyZmo2QkZVVGlHb0ZFU3hUbTNvMDRYUUxkMjR5RHFQUHNXcVZxSG11emlR?=
 =?utf-8?B?SThVdjhuQjRLWUlDczhWNFdMelB5L0xFOWtHWW1hbjBONzBtbFp6UXVYSDE5?=
 =?utf-8?B?KzhyY2RkdWxxYU54MUVOQUhubzRnaGwyMXFEdjF6VlN4bVphTURYSEtKWm5V?=
 =?utf-8?B?RFhKZVhxRHdJdUloV0lmQjhwaDM2VG9UYmt3MEs2RVMwbG0xRHM2cjZFQzFj?=
 =?utf-8?B?Q1d4MlY0Y3dKOXEyWEYrUFVnTzFVbDFlMEJZWTY3bS9sYTRlU2pRMmQ5RXVK?=
 =?utf-8?B?OWk1OEpNM2k2M3F6cjI0K2JSbVBXRWVDU0lEb2RBd0kxRXkrT2ZOMndkaFdT?=
 =?utf-8?B?YVRpWUtGWjh2T25SMVJIa0U1V2tBSFVOWC9XNUtod2NYdklpNkdVK2hwTk90?=
 =?utf-8?B?Ull5ZmZTVDVPNzNmMGRHUTh1UG5YOU1uZkJiaURLSVVNZWhxSll4QjlCNG1T?=
 =?utf-8?B?NWp3cDBpNnhBRENtQnQzWm5CMzRLaEI0Vytxdm1OeE5MOXhrUEJaY01QU3FX?=
 =?utf-8?B?V21MWEgyZ2RPV0VFdit0ZnFtS0ViRktZV3pkVVRZYm9oZFJNVDdZQ0lzZU1S?=
 =?utf-8?B?NnZkRXBGR0JUUkxyOCtLQnhhNVJseVloNlFwOWZwdHc1QUpXWUtmVTBBNEI1?=
 =?utf-8?B?U3ZoMUlBUVRLbUNGRGhjMDVIdmg0M2JEYjBaNWFNQW1QSGFCSFc0Q3VYMGVP?=
 =?utf-8?B?biswaTI5V2txVGpubzVnKy9mQ0VMaUV1T3NNWWt1eVlYS1FDK3V5UXFDcnND?=
 =?utf-8?B?SWhwdW1GNTA0TkNYazJCQ0pzQ2N2K0Y2THdOcFRTUDh5by8wMmVEU2lGUStK?=
 =?utf-8?B?VHYyVHhSSTA1Z3hwT2pKcUVOZ0poTXJXeUxlRHdYdUVzQk9jbk03bVpWdUxR?=
 =?utf-8?B?Y01xNlVRM0g3a3NIQjI4M2tmSXRWZzVnbVloTWNVYngyR1o5eExadEZkMjNL?=
 =?utf-8?B?QzA4ekMwN2ZkZWlrWjBOd2F2eVljSFIwdDVkYzlvamFDMlZ5d2xRazI3elRo?=
 =?utf-8?B?RFZpWXk3K2d6cU1kN2dnd2U1Sk4wcVp4YVU5clZ1NklUczBQNzZvazVVRCtx?=
 =?utf-8?B?dnVjWjhXSGVITUk4Umh2aG1PeVU3R3ZzTzN6dkVOUDM3L1hTS2VEalh6V0NP?=
 =?utf-8?Q?Se+rZdZmEg9BU?=
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);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QWpLVUhGNW84RTRMTVV5cStHb09HTDlTTjMwM0lWem0rUnJYUncrOXdaUTdI?=
 =?utf-8?B?ME9GNGdOSGdVSXZJMWI0Y0tQSWFmSnpKSklOYURtdm11L1J5cmk0VGZNUm9B?=
 =?utf-8?B?a1B4Tm85NlJQVmxjZHFsZXh2Uk1RZE9PRUx1ODllQm96N0Mzb0hpWWdhK3Vx?=
 =?utf-8?B?bTU0YTVhYnJVY2VnWmFoOVVDaEplUEFsNVVkdFVIZSs4MDlkSzYvSDI1VDU4?=
 =?utf-8?B?SnNITldxSXgwU2ZzbHZmeHRFUE5iQjV4bWEzSUt1N1RkLzVqTUliNzJ4QlJj?=
 =?utf-8?B?RmlLNmJ3aXYvYjhqTWhPd0tMTWNKSGYxdXhKRW5WU09PczVHNGJLZWpPZDdx?=
 =?utf-8?B?TzNSeThiR1drYklzVHdXME1Lc2hJbmRwU1k5SndLSWJCbnpKZUNCc1N0MVBJ?=
 =?utf-8?B?NnVQL3I4ZndKaGpPK2dUK2l5YWlidmdWRXlLSisvanQrL25nbEJUYU5qcE5w?=
 =?utf-8?B?QWo3TURQMHFmUmwxVkFGT2llNWx5bDlJZnJTeHVVcXFBY0JHRmNJcUdFdmZO?=
 =?utf-8?B?R05BMTU1ZWJFTkIyY3g1bkE4cEVycURMTlRzMjQrRW1LS3NKKzZVL1d6aGFV?=
 =?utf-8?B?ZHNOZGhvSXJlb3ZHK1IzWGF5VXlJeDVVdjdXQmUyMXhGcHpMaExWaVlsdXAw?=
 =?utf-8?B?Z0tYcUxKTjNKKzQwREVxZ1EwOWVJYWEzU0FFZzhZK2s3RDN2V01zeDh1Smx3?=
 =?utf-8?B?MW5xblZRUWJSMG9MQ0xNOURPSVYyRUNCc3hKc3gzcHVpUCtyb1FPRHcxYUt2?=
 =?utf-8?B?aG9xZWpzUkxEWUcwTEVla3J4eFJkZFc3MnFiYVhZY29WVTZjcktPWTdsejJE?=
 =?utf-8?B?V0FYcmIzbDJLZXNkK1VKVDZhMGNQVlBqbWFvNzhxbUVUL1B6SHlNc1U3Qkpa?=
 =?utf-8?B?bVFWN0l4WUhZV1o2U0JRbnZsZzA4VkRaT29vQURoQlRGNTNvNVpDaFFMTDJ5?=
 =?utf-8?B?T2NOQUw3UlByUThTQlcxWklSMmw3blpNdmR2c1d4YUxoV1JKMUdROGZxa1NB?=
 =?utf-8?B?ckpHUlF3d1dGMjViODdlZGQ0cWhkOWQxYWdSTTBnWXpTdjJ3T3lUNHV2djhX?=
 =?utf-8?B?NTRyOExkemE5VWNRSEVEL2tOU0IxTTRISG9pMHBpZmhHM2lmTXBjL3ozVzlo?=
 =?utf-8?B?ajNQT0VhM1phQy9vYU5QUDI2WXBYYjNhWVJpUVR4WjVPZkF0TmdKQnNjT1Ba?=
 =?utf-8?B?S3RYUDdOd1g4MUZqZjVLeGl0YVV4aGQ2TGNjUjRCeGlzTDloZHBvSDQwdndT?=
 =?utf-8?B?a3djUkpPVkZWLzVDVWdWQTV3cDAxSXNzMG1GenVOVXBSY09YNlNYUzZocFRy?=
 =?utf-8?B?MWRndVNOQVFLdVpGNU05WFRSd3UvdTZoSTBMVEJISXhJdklFNFlhMmFTZDV2?=
 =?utf-8?B?dFBVdUw0cTdISGRVK0JRaXVkR080UXJZdmZsd1BBZ003Z2hqTi9nbXRBUWtW?=
 =?utf-8?B?WEhTTVFsMDZqbkZMMjZDa0tPQjVjMHRFK1Mvajk3VC9EMEFIbkJwUG13cVBU?=
 =?utf-8?B?djJMbHcvVWIwTjNKY3hVeEthaERtcUh4QkNITXJFa3BIL3dsdEE4aWkvZTJv?=
 =?utf-8?B?MTdBdlJ1SXVhblFOUFlGcFkreDJ1azEwVEdWRXdNcngzaHNaY2p2d0hIQ2dU?=
 =?utf-8?B?Vk92b1A3QXhhWmczQ0xoSldFSGVqbFlVVUVPR20yTFBZTW13emFoazAyNlhs?=
 =?utf-8?B?dVphN1pnZ1I4VEJUYURzTWV6NS9vSkhVN090NnI0OXVoVGw4MVdYb28vSHFz?=
 =?utf-8?B?LzRycmZMTWRTeTNVSmM2Rm4xRTE1aXFjUGkyN3RDT1lqQi9XUC9rKzRpbmNW?=
 =?utf-8?B?RXJrT2k3dE9xa0VRVlVCMmYyYzRzQnMrUjd2Ukpmd0ptbXVjakVvaWFzZlpu?=
 =?utf-8?B?MDYzRXlaZnVPK1o3VW9pQUQ0TkMyUlZYU0ppUVY1Y0NLSkRGdDRGL1d4SnV3?=
 =?utf-8?B?WXQ3SHh5cnh2NS9SRkhWQTJFSnpUUUlHSFIwYU05dC96cVlwbE5ndHVqVnFU?=
 =?utf-8?B?SVQ3amorWHFMVHRlbW8reEg5WkRUYjA5V1U0aEh1bU1nQVh2NHQrY2JQOHBU?=
 =?utf-8?B?QWx4Unh3cFYxSG43YU80aVlYUXhjRTRZaWl2aW15U0ZDWGVGeWJDUzFLTERP?=
 =?utf-8?B?QlFsckZ4NDRNUVY0OC9obnNNVlh3c0xLYUtMQmlJMTNPaXFuUlZJVENxZG5L?=
 =?utf-8?B?NWc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b3a3194-a7de-4642-e6d2-08dd686b1814
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2025 11:25:33.3512
 (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: zpyQkqCkusYtfetGtir60ckrD40XjYsKtnoAMY+B2z6o0MgbXGGmYLW5i78vTd9Tsk4y7gLFbzx1kSXEdzS+tYWoWgFrJOHjMwycl9c2heo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB7847

Hi All, Jan, Anthony, Stefano,

On 11.03.25 13:16, Grygorii Strashko wrote:
> Hi,
> 
> This is respin of RFCv2 series from Oleksii Moisieiev [1] which was send pretty long time ago (2022),
> with the main intention is to resume this discussion in public and gather more opinions.
> 
> Hence the code was previously sent long time ago there are pretty high number of changes,
> including rebase on newer Xen version 4.20.0-rc2, which already contains some basic SCMI SMC driver
> introduced by Andrei Cherechesu, commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls
> handling layer").
> 
> Patch 1 "xen/arm: add generic SCI subsystem"
> - rebased and refactored
> - introduced DEVICE_ARM_SCI DT device class and used for SCI drivers probing instead of custom,
>    linker sections based implementation.
> - added SCI API for Dom0 DT handling, instead of manipulating with ARM arch dom0 code directly.
> - TODO: RFC changes in XEN_DOMCTL_assign_device OP processing
> 
> Patch 2 "xen/arm: scmi-smc: update to be used under sci subsystem"
> - update driver introduced by commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls
> handling layer") be used under sci subsystem.
> - no functional changes in general
> 
> Patch 3 "xen/arm: scmi-smc: passthrough SCMI SMC to guest domain
> This is new change which allows passthrough SCMI SMC, single agent interface to guest domain
> cover use case "thin Dom0 with guest domain, which serves as Driver domain".
> See patch commit message for full description.
> 
> Patch 4 - xen/arm: scmi: introduce SCI SCMI SMC multi-agent driver
> - added "xen,scmi-secondary-agents" property in "chosen" to inform SCI SCMI multi-agent driver
>    about available agents and their configuration. It defines <agent_id> to <smc-id,scmi_shm> map.
>    This option is Xen specific as Xen is the only one entry in the system which need to know
>    about SCMI multi-agent support and configuration.
> - each guest using SCMI should be configured with SCMI agent_id, so SCMI
>    FW can implement Agent-specific permission policy.
>    -- dom0: dom0_scmi_agent_id=<agent_id> in Xen command line option
>    -- toolstack: arm_sci = "type=scmi_smc_multiagent,agent_id=<agent_id>"
>    -- dom0less: todo: "xen,sci_type", "xen,sci_agent_id" properties in "xen,domain" nodes.
> - factored out SCMI generic definitions (re-usable)
> - factored out SCMI shmem code (re-usable)
> - the SCMI passthrough configuration for guest domains is similar to any other HW passthrough cfg.
> 
> Patches 5-7
> - no major changes, except to follow rebase and changes in previous patches
> 
> Regarding patches 5-7 I'd like to rise a question and I, personally, feel very skeptical doing any
> kind of SCMI DT nodes generation as from toolstack as from Xen.
> 1) SCMI is no differ as any other HW MFD device, and HW passthrough configuration works for it in
>     the same way.
> 2) if toolstack generates DT then dom0less case might need it also, but this means more code in Xen,
>     so, with certification in mind, it means more overhead requirements, docs and testing.
>     In my opinion if something can be done outside "kernel" - it should.
>     So better invest in tools (imagebuilder, lopper, etc.) instead.
> 3) Hence SCMI DT bindings are pretty complex the corresponding guest DT nodes can't be generated
>     from scratch - the user still need to add scmi node, protocols and protocols subnodes in the
>     partial device tree, at least empty. But stop, not exactly empty - the properties like
>     "#clock-cells" need to be added to avoid DTC warnings. Such behavior is rather confusing than
>     helpful.
> 4) Exposing the Host Device tree in Dom0 is another questionable thing for toolstack SCMI DT
>     generation. It consumes 128K of memory on Renesas r8a779g0-whitehawk.
> 5) No needs for additional public API (XEN_DOMCTL_get_sci_info, GUEST_SCI_SHMEM_BASE..) if dropped
> 


Thanks a lot for your time, review and valuable comments.
Most of comments are clear enough and will be addressed.

Those, required clarification, I'll reply separately.

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 12:23:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 12:23:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923962.1327315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvbOr-00050j-CV; Fri, 21 Mar 2025 12:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923962.1327315; Fri, 21 Mar 2025 12:22: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 1tvbOr-00050c-8x; Fri, 21 Mar 2025 12:22:57 +0000
Received: by outflank-mailman (input) for mailman id 923962;
 Fri, 21 Mar 2025 12:22: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=1tcq=WI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvbOp-00050U-Pu
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 12:22:55 +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 3669c3be-064f-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 13:22:53 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so12991385e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 05:22:53 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43fdeba1sm76174345e9.32.2025.03.21.05.22.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 05:22: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: 3669c3be-064f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742559773; x=1743164573; 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=tSQGGj7lIYEKxhddVGQ2NybS7mGRNuDmurLAfwFYhW0=;
        b=FG+kVYmPP7sE0AZXTiYNZG07vcIrtdAM2rJa7t7c3e+V0Ov0OBEYSHFF3X0OsyiTKo
         TDsHj3+ydXMl0rdPvIv8T1YLdZq/dg2V559VYQDuQxlkVMDXY9rVklwwHprCL2cMfOYm
         hQjK+mI6y9VfK/Sv3PuVO20hUBnq0WxdTtcHE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742559773; x=1743164573;
        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=tSQGGj7lIYEKxhddVGQ2NybS7mGRNuDmurLAfwFYhW0=;
        b=VvnlM+VZpYTE7up4wPFXoWyaRV0UdBVeYu6Nl7G7DyA/a8pPnZcfyp3VgczrsM43R4
         c9R7lJkEDp8DYyhm8+dL6i6N19dpJGMrKrrAIoIVOGfyE7F3sL5YFO+0wHXHmIx52tEx
         Sr5H4ld2+bINiTBd77MeIsKQMb8M95SHLEFKDAkLqhetbvUrd6tnQbgGutrkNPOWRRaU
         wsKNj8l/VJbl9KRrDpfMpu6sas1qV65fM0pgDkotGeigvKcUnIOgNTGWPXQiWqyFiN2V
         kMhi6v2buvUruYN0lsAG2DIvJHIbXUQg+/Cqy3izTKVwr+h9ls02LzbGBFa3SihWx7F9
         xoPA==
X-Forwarded-Encrypted: i=1; AJvYcCWkgEePsnf0dDz6yUrIMqHTopqRwLULLY9w1fKrK+WP/+PA3G4L1QAu9mdvI/Yist7moRF8AxkHrc4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwLgaptZ0ML0SBIbzjprqZpotIFKufTD0uHaDrYnKzzn+anuKPP
	lMdwIT0nhM9zZ+S745JvVvHNqMn9ggJbFHAFX0H+YpXqjzPItuNFL4Na+sV4j6s=
X-Gm-Gg: ASbGncsDf2r91zX6r6UfZgelqYp+41HOf8uU15sEujvzFdoS66Kfbov0z6EC85nUlpl
	SZJhWnIZQhpePE5BeOAHD4x+X7r36RVBSoUU/0oG66RbGW8ArozxQENE3NzIVQWPA5XcW29xLgP
	sHRcdItl5bithcD+biuX1/qCUUBZDVqOjfuuEsk0nF1tv3mWtAiOYERIxtN/P82iQT8E0eQ98Fy
	zJh5En5gdk4drPvY9W6QJlgh6CP5HC0icB32pnBRNDBlJm8vu3DpMDy6U2UFT37gAbXnXhQJ2Td
	7Z502InE9C5rwTEuKXYzFCNPSgJFl9ZwXT7LFQQob3WEnJiVwS7Rz63yDDlaS3rYwTgFTwsRjdU
	3NhKkvqx9kg==
X-Google-Smtp-Source: AGHT+IETRHSkk3aGU+tv62LIN98IxxMiJzJALn6Q2lT3v0L3EcXANtz8wzVk5s+6Oc9ANUE3kQUFKQ==
X-Received: by 2002:a05:600c:3ca5:b0:43c:fceb:91a with SMTP id 5b1f17b1804b1-43d509ec5a9mr27312785e9.11.1742559772791;
        Fri, 21 Mar 2025 05:22:52 -0700 (PDT)
Message-ID: <d60dcca1-f6eb-4f81-bba4-0f5ca447c9a5@citrix.com>
Date: Fri, 21 Mar 2025 12:22:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/traps: Introduce early_traps_init() and simplify
 setup
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: <20250317192023.568432-1-andrew.cooper3@citrix.com>
 <20250317192023.568432-5-andrew.cooper3@citrix.com>
 <801007e0-2c02-48f8-856d-8f06eb698fb5@suse.com>
 <29d645e3-f8ae-4f55-8371-aa67da295ff8@citrix.com>
 <c2923773-ae95-4baa-a441-6bedc25be32f@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: <c2923773-ae95-4baa-a441-6bedc25be32f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/03/2025 6:52 am, Jan Beulich wrote:
> On 20.03.2025 18:56, Andrew Cooper wrote:
>> On 18/03/2025 3:26 pm, Jan Beulich wrote:
>>> The sole dependency is percpu_init_areas(),
>>> which runs - as even visible from patch context here - ahead of
>>> early_traps_init().
>> percpu_init_areas() isn't even a dependency.Â  Notice how it only starts
>> from CPU1.Â  CPU0 (which is what this_cpu() refers to in both of these
>> functions) is correct (i.e. 0) at build time.
> Oh, right.
>
>> I still intend to remove percpu_init_areas().Â  It's all build-time
>> constant; it just needs doing by the assembler, rather than the
>> compiler, as (-(long)__per_cpu_start) is not an integer constant expression.
> Except that this value also cannot be expressed by a relocation, afaict,
> so the assembler would choke when trying to write the object file. (Same
> for x86'es alternative initializer.)

Yeah, I found that while experimenting.

However, the PROVIDE_HIDDEN() trick I used for IDT autogen does work.

There are a couple of nasty thing.Â  While we have ASM_INT() now, we
don't have ASM_PTR() or equivalent, which is needed because this is a
common file and we can't just use .quad.

Also, because this is an asm() block in a C file, we can't use any of
linkage.h; opencoding it isn't too bad, but it also appears that
__read_mostly doesn't honour -fdata-sections.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 13:42:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 13:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.923993.1327348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvcdQ-00045o-4e; Fri, 21 Mar 2025 13:42:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 923993.1327348; Fri, 21 Mar 2025 13: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 1tvcdQ-00045h-1E; Fri, 21 Mar 2025 13:42:04 +0000
Received: by outflank-mailman (input) for mailman id 923993;
 Fri, 21 Mar 2025 13: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvcdP-00045b-5j
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 13:42:03 +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 44147bea-065a-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 14:42:00 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-39127512371so1345987f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 06: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
 ffacd0b85a97d-3997f995789sm2450064f8f.17.2025.03.21.06.41.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 06: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: 44147bea-065a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742564520; x=1743169320; 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=bKgWvdF+/GTmeEImkbmAOR0AtiSkDy1IlyRzOKotBrQ=;
        b=Q5BIPBxwMZDM0rVrOjrX7hIHPDlc/e+UNfG1KlK3oBGADENTo0gd5Z5ApS7xne4TJb
         DpjgdYfCN51M+IPDcObBftr7T2JUQD32UcjJ/PZrPSbuPVPprTJR81WV4/UCidWjsX4A
         L+ukqpgPwd+va15kUACjsUQDGikm/yzhoRMNKqn6HZS0iEx4f6vfSjmOu/ohI7MtOZ88
         4GLjNJQkSdqNQBvKUcooWdzj1Goz51Ay95j8dTxah1HBmQUSJpuTeffEX/NeIp3lMtMd
         1hDzpNjzbV7zMyArDG90JQHSVRYzYRiCmgn26BBfmuzOqBlTpQEfXx+LfYmlr1oobrRL
         YR0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742564520; x=1743169320;
        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=bKgWvdF+/GTmeEImkbmAOR0AtiSkDy1IlyRzOKotBrQ=;
        b=DhGEzuc894alTYf8Et+K6iWKFIMn2C/9sd6Yk45GFSfvmLHRo0oX7HJjGqqsC6s8NB
         Orci2OMRnB+HqoM1BB0M2NxKsDTNNs7iVcp8r+hM+x7SIOaj21TJblOeh9l78gSbYJO5
         2iHoeesSQNaevkfcoVeQoncxbwNAKUIhAiOP3bIM7kzblywl6/ejQ6uMHfAoZdRFyYcF
         15uVMNXOiMuVL38bZIz6fjPSCBcp5yIQTZBg7MnLtboN4ZwaobL59FJWXp0uLuStD766
         PiqDV1lELPKaYAA7A4hjEElouzFjmKT4hmG5H3bnavUxHWsxu33bsx/F6rdRlxoHIJPW
         BUrA==
X-Forwarded-Encrypted: i=1; AJvYcCWV5EBa1kHsckNJgYL7XKnPJHHE74zObRbOl8ofyyFdlgdwnNf0ui/ugDPjvD9MioS7g+6aUPWvuUw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzC2HzCOP/lpJSMo95Hb+ZwWJcPV+YCZGNZ+c1ldGb2pW7SvmNI
	NcmQoynxqTwtGnSJZabA3WbUY5Xr0C8sEgrCr7lLc9GLSbpOfGUcOOUGSXH0Bw==
X-Gm-Gg: ASbGncvUVIdYqcWF5M22F1xSqCyvUDWQYO1OEtD0vSk9+bMoXDxWxkbCnsNV3kBLG9w
	qFdOqTMBRlZxysXa3HHAsdLI8+u4iSHlpQKY9IW4piv51z7JCdw/yrBjCIKeJxbz3qsU3Gp0YlT
	D7ipCAECqtYqx5N6Rg1TJOLvcoJZRQpwcFqumOYhkNx0WpatjH2qKLPtEt6I4tjuXNp+wT0t6wS
	NABY1mL0ukOJpp4jJTYVafq/RVMNGoBET1jkS7TsAoLywaMSXvw+N8kRv39YzjyIopNk35YrRw6
	c0YNYY6ZOAvo56dfLpbS1CTo7hbQVHWmQcGwlroFq+tXHqw13iFIJaslPSqyCLMdRcOgGVZgBh8
	ccp6J3OBYv4JZF1lc+coPL8bcEpjdpQ==
X-Google-Smtp-Source: AGHT+IHsC8ZkXS8Kk0n5UN2S9WkeOqXKzBhCrZEe2cMXIUu6WjaPyoCXThU7eMwSrkNEx/sdcXsg3A==
X-Received: by 2002:a5d:64e5:0:b0:38f:2b77:a9f3 with SMTP id ffacd0b85a97d-3997f932cc8mr3685366f8f.43.1742564520236;
        Fri, 21 Mar 2025 06:42:00 -0700 (PDT)
Message-ID: <f90b5092-1522-414a-b57a-7a9d116a1f43@suse.com>
Date: Fri, 21 Mar 2025 14:41:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
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.1741958647.git.mykyta_poturai@epam.com>
 <132afbca390edd6e9fd7b1ffacf6c5aff0d29aa7.1741958647.git.mykyta_poturai@epam.com>
 <7fa0bde7-3aa9-48f4-a0ed-d03216edcc4e@suse.com>
 <dbc57c17-867f-49c4-be61-186b5562eff1@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: <dbc57c17-867f-49c4-be61-186b5562eff1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 11:56, Mykyta Poturai wrote:
> On 17.03.25 17:07, Jan Beulich wrote:
>> On 14.03.2025 14:34, Mykyta Poturai wrote:
>>> --- a/xen/arch/arm/pci/pci.c
>>> +++ b/xen/arch/arm/pci/pci.c
>>> @@ -16,9 +16,18 @@
>>>   #include <xen/device_tree.h>
>>>   #include <xen/errno.h>
>>>   #include <xen/init.h>
>>> +#include <xen/iommu.h>
>>>   #include <xen/param.h>
>>>   #include <xen/pci.h>
>>>   
>>> +bool is_pci_passthrough_enabled(bool dom0)
>>> +{
>>> +    if ( dom0 )
>>> +        return pci_passthrough_enabled || iommu_enabled;
>>
>> As I think I said before - the function's name now no longer expresses
>> what it really checks. That (imo heavily) misleading at the use sites
>> of this function.
> 
> I am afraid I don't understand your concern. It still checks if PCI 
> passthrough is enabled. With just the change that ARM needs some extra 
> logic for Dom0 PCI to work properly.

Conceptually there's no such thing as "pass through" for Dom0. Hence the
name of the function itself isn't correctly reflecting what it's checking
for. iommu_enabled is a prereq for pass-through to be enabled, but it
doesn't imply that's necessarily the case.

> Maybe change the parameter name to 
> something like "for_pci_hwdom"?

That may help below, yes. But not here.

> >>> @@ -85,7 +94,7 @@ static int __init pci_init(void)
>>>        * Enable PCI passthrough when has been enabled explicitly
>>>        * (pci-passthrough=on).
>>>        */
>>> -    if ( !pci_passthrough_enabled )
>>> +    if ( !is_pci_passthrough_enabled(true) )
>>
>> There's no Dom0 in sight anywhere here, is there? How can you pass true
>> as argument for the "dom0" parameter?
> 
> This should be read as "is pci passthrough enabled for Dom0?" and if it 
> is we definitely need to do a PCI init.
> 
> I've also done some investigations on possible ways to remove the 
> Dom0/other domains distinction, but I'm afraid this is the most 
> reasonable way to make PCI functional on Dom0 without explicitly 
> enabling PCI passthrough.
> 
> SMMU is configured to trigger a fault on all transactions by default and 
> we can't statically map PCI devices to Dom0, so the only other way is to 
> put PCI in full passthrough mode, which I think is not safe enough.
> And we also can't drop this patch as it was directly requested by Julien 
> here [1].
> 
>>> --- a/xen/drivers/pci/physdev.c
>>> +++ b/xen/drivers/pci/physdev.c
>>> @@ -19,7 +19,7 @@ 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 ( !is_pci_passthrough_enabled() )
>>> +        if ( !is_pci_passthrough_enabled(true) )
>>>               return -EOPNOTSUPP;
>>
>> Seeing the function's parameter name, how do you know it's Dom0 calling
>> here?
> 
> Is this a functional or naming concern? If it is about naming then can 
> it also be solved by renaming the parameter?

The renaming suggested above would resolve this, yes. Whether "for_pci_hwdom"
or anything alike is a good parameter name is a different question.

> Regarding functional issues, I have assumed that only hwdom can make 
> physdev operations, but after checking it, this assumption seems to be 
> correct on x86 but wrong on Arm.
> I expected there would be a check in do_arm_physdev_op() or somewhere 
> near it, similar to how it is done in x86, but there are none. I'm not 
> sure if it is intentional or by mistake, I think it needs some 
> clarification by Arm folks.

Hmm, looking at x86'es do_physdev_op() I fear I can't see such a check there
either. And indeed there are certain PHYSDEVOP_* which DomU-s may also make
use of.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 13:47:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 13:47:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924005.1327359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvcio-0004gZ-OQ; Fri, 21 Mar 2025 13:47:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924005.1327359; Fri, 21 Mar 2025 13:47: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 1tvcio-0004gS-Kq; Fri, 21 Mar 2025 13:47:38 +0000
Received: by outflank-mailman (input) for mailman id 924005;
 Fri, 21 Mar 2025 13:47: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=QZeu=WI=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tvcim-0004gM-GW
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 13:47:36 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20631.outbound.protection.outlook.com
 [2a01:111:f403:2606::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b880c93-065b-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 14:47:35 +0100 (CET)
Received: from DU7PR01CA0021.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:50f::9) by GV1PR08MB7803.eurprd08.prod.outlook.com
 (2603:10a6:150:5a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Fri, 21 Mar
 2025 13:47:27 +0000
Received: from DB5PEPF00014B8D.eurprd02.prod.outlook.com
 (2603:10a6:10:50f:cafe::7f) by DU7PR01CA0021.outlook.office365.com
 (2603:10a6:10:50f::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Fri,
 21 Mar 2025 13:47:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B8D.mail.protection.outlook.com (10.167.8.201) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Fri, 21 Mar 2025 13:47:26 +0000
Received: ("Tessian outbound f3153901b1f1:v597");
 Fri, 21 Mar 2025 13:47:26 +0000
Received: from Lfde5673ded3a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 738784CB-2DF3-48F8-8630-63CE027A192B.1; 
 Fri, 21 Mar 2025 13:47:19 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lfde5673ded3a.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 21 Mar 2025 13:47:19 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB9703.eurprd08.prod.outlook.com (2603:10a6:10:445::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Fri, 21 Mar
 2025 13:47:17 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.036; Fri, 21 Mar 2025
 13:47: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: 0b880c93-065b-11f0-9ea1-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=W5QLAcBTVdbnwzJjC45vNmXyfxZEES5SdeSmqGlc/rMwgHT4P/6QqP1aSHUNzykLoMEwXSLm3ypzs25sedinlAnZEDrf0zh0dz6doNcwSdj+3tXogor94kVQiuYGngAjzWYS4JLuI0i19SYjvb/q9c1LHEdSkDMks6DdDXsHkhzpt5J+ZRNUSJmVV4rE1DXxXCyY1YgEF2eCO+UhRn/r994Nhl+Lv5buSoSOFFSO8YvsPRZxF7kUDRnlFacSOKuPTCRonzPCFhJqzsf72OnKCUxQixowndeTgFltNeGJo0bn9lISjfffD9bK9cOCZtXEBhS04Zdxr+1xh8UYoTJYug==
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=uNmJQhqsYqgN5GLo2B4aMoOrCV9N9upvZiR+a+97ZYA=;
 b=a+eJtYiLtvSk5c1FyzIuD4dxsd80JEOkC4W4rKGAhdVd4Fp9QUa6GLwIjiMBT/2AdTL5I4QZxcyRI5zWQ9CSLOCxdhkTpMwPf4ryRSo8ZL27eEG4m1mb28VXIJUzxe3mwZ3V5NPC7EGz4sz6hbnTPLDoeKFHzsKjvDNC/67+CvYWMtuYkgO1FrBG6LB0cHFFcvVKTTtZL7mKX12aSONmEdumugnln7p+CVOU+CSqG8evpiv3wTzMGKkp3xy+KCVU5sQKF+bSrcc7bs9Ww2t+qacv3Us/d5djYglrAHCy6gZbmhPCvfFd57BXGRESK3y2YQCTup/Pj3PAGB9xhO+VZw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=uNmJQhqsYqgN5GLo2B4aMoOrCV9N9upvZiR+a+97ZYA=;
 b=DD8oB6AkUEJPKiVxQ+35t77aP35fE4LodnAb9LCtCJdcGbgPSjk32y6acQhqrJBdoxwQPXbWtKIjNnAiFH3MUJUKFI3F/NzVnDOyi7AeiXQ72J+RFj9HzLxNUeWf/g8lyo0jpafMKIj7S8TB12jn1rszI6s4v35sXb+77DZNivI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: a0a722090588d951
X-TessianGatewayMetadata: 5IELsPTq4tchacMCe4Ku2F0rlY65dvCTMZZ00wxFkMVX9enTKP9J+jvSut3NbgZfUulM+p5gUefaEM/fUk4+Hm0JBThL01LpeZOjbVawpO72l/K3Jebxx7km2qNX4MV0gjxjR1hU+Lid1bom/I1p+eNfrzSfpFPlDJho6tRFRzU=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yYHHcjWPOlOPU9ADc/fEQADsmCdCHmeV52Ce4TTY5UENfMsWxgHPxlo5XiLVt/u6b6N1IwalcDVpSeIp4Qn9mCBJNYsgmNN2vLPOVaifS7gUQkxRUV8DjZFVP6W9DQDq417NTGwmCc6C0g8lu6Gt+1mLQM+SoEud89u7kQqlgu2uE5yoO48Hz6brizMYcs0mm3As7dnOePGIaiekbsI8MexYuI3eVZ8iA+prROPChA6YhUnCYK7fpL0aFUIL+4lvjqFyhtfK0hmyb/Or82wli6Yh8aZwK7UT6In3n2RvKgDEtCWyVSaB5cF/THYFBplnBP+8kmCh88ka4kE+MflF+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=uNmJQhqsYqgN5GLo2B4aMoOrCV9N9upvZiR+a+97ZYA=;
 b=XGqDqIV/RKj2Af9el8pwQQIfntvCbi33TdtBhhSt294+46QwpW3X33Pz3P9vx1UhK407ualG/6GgMLgv6tjOn/ioOu4MNLwFfnmsoke8buGkl9CUoGoZtXrgywj7YxPQaCpW7mUREnpSwK2EG+AZOPUN4+bPNiT4WfAZoGIZeuKGz1H0EnCEMd0RYBG/7TlMBxnPjz5BjaDK7WkQDwpwKuDluTmwGVV1OTUPv0Ie2ArTj9ZxU8XLmZGzBQ3Iiail2yP7CJLmKgotdpeSrKUOIf/M1OHM1m3ZNwYc9OG3r4SzOPWMQreZroU+ilRBNeDSL5dW1/XkXHuCx+BqAE5Nyw==
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=uNmJQhqsYqgN5GLo2B4aMoOrCV9N9upvZiR+a+97ZYA=;
 b=DD8oB6AkUEJPKiVxQ+35t77aP35fE4LodnAb9LCtCJdcGbgPSjk32y6acQhqrJBdoxwQPXbWtKIjNnAiFH3MUJUKFI3F/NzVnDOyi7AeiXQ72J+RFj9HzLxNUeWf/g8lyo0jpafMKIj7S8TB12jn1rszI6s4v35sXb+77DZNivI=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Topic: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Index: AQHbkcvqUcfBAkFPRke6B/ThQimwz7N9WnkAgAAIEICAAAx4gIAAPN+A
Date: Fri, 21 Mar 2025 13:47:17 +0000
Message-ID: <783A9243-EBA6-40CC-A0A7-4DD9E8AFE57F@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FW02v4_6pTiGqcWrFMLqdayuUF5pXM8cfKusOXHC7Jyw@mail.gmail.com>
 <7B45963D-8908-420C-89ED-15769357779C@arm.com>
 <CAHUa44HumXeMR66Pu4xMODHms4PiM7+ANmPB1tG+UO9BpGDpLQ@mail.gmail.com>
In-Reply-To:
 <CAHUa44HumXeMR66Pu4xMODHms4PiM7+ANmPB1tG+UO9BpGDpLQ@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB9703:EE_|DB5PEPF00014B8D:EE_|GV1PR08MB7803:EE_
X-MS-Office365-Filtering-Correlation-Id: 833cefe6-b9dc-4f97-0d9f-08dd687eea61
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|10070799003|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Szh5dWVhZ2JyUVdJMjNqZTNlNlVyOExGbE03LzFtbnAvK0FxTU9mSmxVSDVZ?=
 =?utf-8?B?M21paTVEaFo1b0YrQ0N1WHN0eUMxQ21iMDFMbmVpWW1ZNitGT1VTeTlyMjBw?=
 =?utf-8?B?SEpjbitYUzRrcjZUY0laTVMyblBhZU0rUkZLbVo3VFE0OHFhU3RXaWQwaURZ?=
 =?utf-8?B?TEs0RnpvUnlPNTFHUDAxdzR1WGQxVmQwU05qR3FxVDJleXNnOVhpbmJpNUpu?=
 =?utf-8?B?dUFwUXVMMlVDWVlCa3NUQVFGZHRiY01pSmFPK3QzMU5naGlNN3pEeTVkK3NF?=
 =?utf-8?B?TERidmhEYzVwajNMZldsZnNBU0pBMlRIQXZCcWtUSkEvNVdSNnRlZVRDdUdz?=
 =?utf-8?B?clkwbU52STIxbm5SVnBUd2FEQWRkbjFSSFFRNVg5ZEd0M002Um1TWnlFVW9U?=
 =?utf-8?B?czNEbjBpOEhZY3ZKM3UwSUlrQzlBczEwVXZCaFZHTVFTS2RvQ0FzeXJPNnZw?=
 =?utf-8?B?MFdMd1dySDJYUDhMek9ybE5hL3BOYjdPbXZHelhCc1hLZnUyUlR1QVFrUUVw?=
 =?utf-8?B?R0lBRnYrK0xLbzQ5OVZtR2ZEVm9td3BjSUthZktEc2hWeEhIYVltVitpUEY3?=
 =?utf-8?B?dTZDOFhLOVFZQXoxNXhwVTFRSjlXNFdlNHpabzdIN2x6cEk3c1ZTUlc2Y3ha?=
 =?utf-8?B?OXdTd3JwSXRreUJmam1tcHdQUXNlZDRPb1ovblpraTdrSEE2ZXVyc2hzQTJF?=
 =?utf-8?B?TEZEaGNPaHR3NFYvb1ZHY1ZtUHN1azcwcnh4SUxjbWo5YnFrc2h0d3RoNDh5?=
 =?utf-8?B?V0ViU21qWkEzemc2NTZvdVFrSnEvWXpRTklRcXJYQU83N3MzTVlhWTFKTlg0?=
 =?utf-8?B?RmpmdjBma3hWaEE4MGlOVkZZdjJvS2Rraloyenk5b25WNzBkc2JVQ0Erc1A2?=
 =?utf-8?B?clJFcmtFUEw2NjgwSmJTdGhDa3FwU3lOZzVqMnQyQXlJaWpQSXdLcUN1bUxL?=
 =?utf-8?B?QTNRU2d3NS9pTVYzbjRHMXhzR1FZTFRVbnVvODYvM3pFTVNUQ2FSVUpMTW1M?=
 =?utf-8?B?NmhqdGkrSVRpMEhQZ3VBU0phbzkzaGFtaWdCSkYrRTRLSTFidXJlL1hzaTBW?=
 =?utf-8?B?a2dGZ2RqV3ZZUFJnR2dFR0hESFpWT2JUbk5EaWJrOUlSaXc1MFdheEhaQTNh?=
 =?utf-8?B?NFI1cVd1U3E3ZGZlMzRUOEpIZ0M0Z016SFArWUs4Y2NEZ1JxTWRuWmpSc0Ru?=
 =?utf-8?B?NFpqSEZ1eWlaQ3YrS295SkhiZmNVaTM5RElxaStjWVUzaHZmeVJjV3Rvbk1W?=
 =?utf-8?B?ejdLUFVkdndmR3hRbnZEZWdPWHBpZXNtcWxPQ1ZMSGVMSVFnbkdlMzBQZjJH?=
 =?utf-8?B?SnZ6OEMzUU0xMzJKSUdMNjhWUW42T2pWZHJ1cXFqRW1aaThjMHluYTFlWU1s?=
 =?utf-8?B?SHJDc2JmRG1nUS9tMU4xWlFKZkJOUXNqZXU4VHJrWmNXTVNlVHFFK2o1Smxw?=
 =?utf-8?B?K3VpN3VuYXRMcnRwb1pDNTNnVTVLK1VsUG8zT1pmWVdicE5TMVppaEV3Qzdz?=
 =?utf-8?B?K1U1K0FycHYyOGt6KzYwVWNaamNrZkpuVlZqUWJQWFRUWFIySytWalMrbDFi?=
 =?utf-8?B?NWt2WnllRXhKYWxyUXlOeG9ZQ1NyZUlMQVMvOWV3SGhGclZ6UXRiOS8yMEZN?=
 =?utf-8?B?ZkdETW90ZGpCaDNkRmY4bndDRDF6STRhWHRKekhQUTRQM2wwTjJZZWtJNWMx?=
 =?utf-8?B?NHlva2xpbitYcmxjMG5aTURrWitXay9pTGM3bTNyd0swdzhpdEZRS3IyWXJx?=
 =?utf-8?B?SlBxWjNmUnAyRGI0M1hRaHNyQW1QVmZTa012KzJHa0g1dktMd2xnNXBNQmVk?=
 =?utf-8?B?VUkzM3FYSEc5YVd6aDdPaGRMY3VBeVZGcGhpNVMrR01yN0Q4UzZXM2JpUEsr?=
 =?utf-8?B?SjNQUjZLUE51QnRpUFVCbFgwZFM4OVhIWXhUbnczb0Y0QkRIYnhUa05NN0R4?=
 =?utf-8?Q?YOYFCGFikJ3ljnZT9D5fNn8/7+HXijAt?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <EE9B93F19AFD1A43BD1EDEAE2E0A679B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9703
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B8D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5e46ab9b-bbb2-4921-a8a4-08dd687ee50b
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|376014|82310400026|35042699022|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Q0tHZFh2NnVGakJ0UWxQd1o2ZjlzMmtQQkxuemhUNFRrUDVHWHJyRmIwUkVJ?=
 =?utf-8?B?dW5zc0JyVklTcy9FblNYUHlacmg0RWRydUVGc0Vxa2g0cW9leFk2OUhFdGhG?=
 =?utf-8?B?NUsyVDN2Z0JTQTNpb1lCTGpYVS8rSG5mV0RjQ0p2TWkxbnVDMzV0VTNpalFK?=
 =?utf-8?B?Y2RTNTU5c3I4V01aRmdwbVoxVTJmMVZkYWhqdmU3Rm9RMjJORVJ5c3BkRnJa?=
 =?utf-8?B?NFFzRzhjYmhHMEcybyt6K2M0R2kyaU5sR1dsalN0ckxrWTQyUGhCVVkyL2Nm?=
 =?utf-8?B?SGVnVTdNRWhSdGFhdzFhOG5GcXgxdHRKZVFtYWw0V25ldk4xQ2FtdjhtRFlX?=
 =?utf-8?B?Nmg2dWtqb25GYUNtN3BtcmhSTzludStCSVhseEg5NEVxS05WRFJIRlhDKzBM?=
 =?utf-8?B?UHdtMml4WDlIZnRVVlRXT1lURUtqK2t3eGlHV1F5R2c4QWcwTHJucTZOanZG?=
 =?utf-8?B?OFFrTVVNSGVibWdpVnJzOWRhSWkwN2k4WUxNV3lkQjdZY1I3TFN6UHpiZkc0?=
 =?utf-8?B?WGpFeTIrN25wMTd0WGFvQzM5TzRkY3FCV1VjZVpYQjFYeW1kczdPbFpRMkM1?=
 =?utf-8?B?V2hHVjZ5eENzTHRKTUg5VGRSaWlqcW1qZlVJeDFKazRiVHJqZktjaDNGUitD?=
 =?utf-8?B?a2YwVTF1QVBxY2ZWcDlndlRXNUJTaXpZdXhYL2RZNitqNnB3VjdsWjJNN1Ru?=
 =?utf-8?B?TGVMUTQ5NkE3YjBjcXhJZmpVVys0dEtYQ3NQaVVFQ3B3enlTdzNMM2IxZXJw?=
 =?utf-8?B?UUpKMGw4bE9HQXNGTmhMcTNyS29MUThjUENiQ3NZS3NNMVh6ZFpPYUhEeEZ6?=
 =?utf-8?B?STdZMXZLUDNHSnRPaHYrWmw0OW0vT1g2NEJuWTVNU2FqUnRtbFRTZGJVNjN3?=
 =?utf-8?B?TFBudm5OWC9KYzlERWkwME5rK1p4NnNHQjMxemxldkRPL2lPU3pEV3ZNb1Q0?=
 =?utf-8?B?QU9hWEp6aHFiOTNsNzhtNG9oM2F1TjF3SkZxVTRYT3RVN3JLS1VzZ1ZpL2Y5?=
 =?utf-8?B?ejVvbDlKQVY5RmIxQ2tzM0dIWUgzdFdGOFBDWFBmOURXTllTOEo0RE01ckNi?=
 =?utf-8?B?VjNodXYwbHRIaGoyRGdiRDZkejcyeTV0NVlZV215SFlVSkZUQzlDdUdTZC92?=
 =?utf-8?B?aWY3Y3JVRS93ZU9BbnQzaG0zK1J2ZG91L2QwVWdXaVZMdFd6aGZGekg1Ukk2?=
 =?utf-8?B?KzJ6eXZHclFYOUk4U3cweXc0RXJ3SmpBbGVXRUNpYzYvYVJJTVVPV2dEOFIz?=
 =?utf-8?B?VWZjNXRYTkVaMk5PTmkxNjY0V1VMdlZYTzNldThVWEJXcVczV25BMCthRjFC?=
 =?utf-8?B?Vkk0d1M4aVhZSW9yQkIzSFl1S3c4aTNWdGxXQWpGajkvWUtsdU1OWmJ2NmhR?=
 =?utf-8?B?ajlrSTNFUWRzTTJVeHNUYjJvd3NmR3p5UkFHRFBZUmNlZnF5dmJFems5THAr?=
 =?utf-8?B?STFQYkpvSTdkZENFbWFQd1VPeFQwY2syaUNQYlRudUR4Si9WenF1eHAxT2hP?=
 =?utf-8?B?TDNaT0N2cHJDZGFMd0NTOEl1OGVsOGtEa254cmFsYmtDZmNjbHlDOUFoU0kz?=
 =?utf-8?B?Qm1ORCtUU2VmdXRXdHYrUnBtalR1MmhHa1FhOFVWUEhnTlhoSDlLeTI4QTJ6?=
 =?utf-8?B?UnRXZjZadXMvMmVEWCs5VzVkRU9uKzhtTU9kdFV2cWpZL3BOaklwalhoMFRE?=
 =?utf-8?B?cHdUc1Y2ZXovZUlZeTQxRllQcTh1OFhXVE9EZEV6SmZpangyOXZ5OTcwUXht?=
 =?utf-8?B?dDk4RlhMclJKdlNFZmxERGM1SHpGdTRuKzVtKzV6a0JQL2lvOWFQaXpCOGpL?=
 =?utf-8?B?YUpnUEl2Lzd6WDZhcG9CbzloNnV4ZGpSKythZDdvM3MrNE40OGJnbVhRV292?=
 =?utf-8?B?b1Z0WE9uMmhma3ZOV2xoRVlNd0RUaDRqbytBbUF1NCtQc2hmS3NKTTRDUlFk?=
 =?utf-8?B?SFNjYkJrVjJGdit1TGkxdG1lMEh4V1MvbUZUcjlZZXpybUwwakJFaTkwTU84?=
 =?utf-8?Q?jATXa278Ml9bvjDEnZz3C/0+Slk5ZM=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(376014)(82310400026)(35042699022)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2025 13:47:26.3875
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 833cefe6-b9dc-4f97-0d9f-08dd687eea61
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5PEPF00014B8D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7803

SGkgSmVucywNCg0KPiBPbiAyMSBNYXIgMjAyNSwgYXQgMTE6MDksIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gT24gRnJp
LCBNYXIgMjEsIDIwMjUgYXQgMTA6MjXigK9BTSBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxCZXJ0cmFu
ZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIaSBKZW5zLA0KPj4gDQo+Pj4gT24g
MjEgTWFyIDIwMjUsIGF0IDA5OjU1LCBKZW5zIFdpa2xhbmRlciA8amVucy53aWtsYW5kZXJAbGlu
YXJvLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gSGkgQmVydHJhbmQsDQo+Pj4gDQo+Pj4gT24gTW9u
LCBNYXIgMTAsIDIwMjUgYXQgMzo1MeKAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4+PiA8YmVydHJh
bmQubWFycXVpc0Bhcm0uY29tPiB3cm90ZToNCj4+Pj4gDQo+Pj4+IFdoZW4gVk0gdG8gVk0gc3Vw
cG9ydCBpcyBhY3RpdmF0ZWQgYW5kIHRoZXJlIGlzIG5vIHN1aXRhYmxlIEZGLUEgc3VwcG9ydA0K
Pj4+PiBpbiB0aGUgZmlybXdhcmUsIGVuYWJsZSBGRi1BIHN1cHBvcnQgZm9yIFZNcyB0byBhbGxv
dyB1c2luZyBpdCBmb3IgVk0gdG8NCj4+Pj4gVk0gY29tbXVuaWNhdGlvbnMuDQo+Pj4+IElmIHRo
ZXJlIGlzIE9wdGVlIHJ1bm5pbmcgaW4gdGhlIHNlY3VyZSB3b3JsZCBhbmQgdXNpbmcgdGhlIG5v
biBGRi1BDQo+Pj4gDQo+Pj4gSXQncyBzcGVsbGVkIE9QLVRFRSBpbiB0ZXh0LCBhbmQgb3B0ZWUg
b3IgT1BURUUgaW4gaWRlbnRpZmllcnMuDQo+PiANCj4+IGFjaw0KPj4gDQo+Pj4gDQo+Pj4+IGNv
bW11bmljYXRpb24gc3lzdGVtLCBoYXZpbmcgQ09ORklHX0ZGQV9WTV9UT19WTSBjb3VsZCBiZSBu
b24gZnVuY3Rpb25hbA0KPj4+PiAoaWYgb3B0ZWUgaXMgcHJvYmVkIGZpcnN0KSBvciBPcHRlZSBj
b3VsZCBiZSBub24gZnVuY3Rpb25hbCAoaWYgRkYtQSBpcw0KPj4+PiBwcm9iZWQgZmlyc3QpIHNv
IGl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBhY3RpdmF0ZSB0aGUgY29uZmlndXJhdGlvbg0KPj4+
PiBvcHRpb24gZm9yIHN1Y2ggc3lzdGVtcy4NCj4+Pj4gDQo+Pj4+IFRvIG1ha2UgYnVmZmVyIGZ1
bGwgbm90aWZpY2F0aW9uIHdvcmsgYmV0d2VlbiBWTXMgd2hlbiB0aGVyZSBpcyBub3QNCj4+PiAN
Cj4+PiBzL25vdC9uby8NCj4+IA0KPj4gYWNrDQo+PiANCj4+PiANCj4+Pj4gZmlybXdhcmUsIHJl
d29yayB0aGUgbm90aWZpY2F0aW9uIGhhbmRsaW5nIGFuZCBtb2RpZnkgdGhlIGdsb2JhbCBmbGFn
IHRvDQo+Pj4+IG9ubHkgYmUgdXNlZCBhcyBjaGVjayBmb3IgZmlybXdhcmUgbm90aWZpY2F0aW9u
IHN1cHBvcnQgaW5zdGVhZC4NCj4+Pj4gDQo+Pj4+IE1vZGlmeSBwYXJ0X2luZm9fZ2V0IHRvIHJl
dHVybiB0aGUgbGlzdCBvZiBWTXMgd2hlbiB0aGVyZSBpcyBubyBmaXJtd2FyZQ0KPj4+PiBzdXBw
b3J0Lg0KPj4+PiANCj4+Pj4gU2lnbmVkLW9mZi1ieTogQmVydHJhbmQgTWFycXVpcyA8YmVydHJh
bmQubWFycXVpc0Bhcm0uY29tPg0KPj4+PiAtLS0NCj4+Pj4gQ2hhbmdlcyBpbiB2MjoNCj4+Pj4g
LSByZXBsYWNlIGlmZGVmIHdpdGggSVNfRU5BQkxFRCB3aGVuIHBvc3NpYmxlDQo+Pj4+IC0tLQ0K
Pj4+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jICAgICAgICAgIHwgIDEyICsrKy0NCj4+Pj4geGVu
L2FyY2gvYXJtL3RlZS9mZmFfbm90aWYuYyAgICB8IDExNCArKysrKysrKysrKysrKysrLS0tLS0t
LS0tLS0tLS0tLQ0KPj4+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5jIHwgICAzICst
DQo+Pj4+IDMgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgNjAgZGVsZXRpb25zKC0p
DQo+Pj4+IA0KPj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmEuYyBiL3hlbi9h
cmNoL2FybS90ZWUvZmZhLmMNCj4+Pj4gaW5kZXggM2JiZGQ3MTY4YTZiLi5mNjU4MmQyZTg1NWEg
MTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+Pj4gKysrIGIveGVu
L2FyY2gvYXJtL3RlZS9mZmEuYw0KPj4+PiBAQCAtMzI0LDggKzMyNCw5IEBAIHN0YXRpYyBpbnQg
ZmZhX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpDQo+Pj4+ICAgIHN0cnVjdCBmZmFfY3R4
ICpjdHg7DQo+Pj4+ICAgIGludCByZXQ7DQo+Pj4+IA0KPj4+PiAtICAgIGlmICggIWZmYV9md192
ZXJzaW9uICkNCj4+Pj4gKyAgICBpZiAoICFJU19FTkFCTEVEKENPTkZJR19GRkFfVk1fVE9fVk0p
ICYmICFmZmFfZndfdmVyc2lvbiApDQo+Pj4+ICAgICAgICByZXR1cm4gLUVOT0RFVjsNCj4+Pj4g
Kw0KPj4+PiAgICAvKg0KPj4+PiAgICAgKiBXZSBhcmUgdXNpbmcgdGhlIGRvbWFpbl9pZCArIDEg
YXMgdGhlIEZGLUEgSUQgZm9yIFZNcyBhcyBGRi1BIElEIDAgaXMNCj4+Pj4gICAgICogcmVzZXJ2
ZWQgZm9yIHRoZSBoeXBlcnZpc29yIGFuZCB3ZSBvbmx5IHN1cHBvcnQgc2VjdXJlIGVuZHBvaW50
cyB1c2luZw0KPj4+PiBAQCAtNTQ5LDYgKzU1MCwxNSBAQCBlcnJfbm9fZnc6DQo+Pj4+ICAgIGJp
dG1hcF96ZXJvKGZmYV9md19hYmlfc3VwcG9ydGVkLCBGRkFfQUJJX0JJVE1BUF9TSVpFKTsNCj4+
Pj4gICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJBUk0gRkYtQSBObyBmaXJtd2FyZSBzdXBwb3J0
XG4iKTsNCj4+Pj4gDQo+Pj4+ICsgICAgaWYgKCBJU19FTkFCTEVEKENPTkZJR19GRkFfVk1fVE9f
Vk0pICkNCj4+Pj4gKyAgICB7DQo+Pj4+ICsgICAgICAgIElOSVRfTElTVF9IRUFEKCZmZmFfdGVh
cmRvd25faGVhZCk7DQo+Pj4+ICsgICAgICAgIGluaXRfdGltZXIoJmZmYV90ZWFyZG93bl90aW1l
ciwgZmZhX3RlYXJkb3duX3RpbWVyX2NhbGxiYWNrLCBOVUxMLCAwKTsNCj4+Pj4gKw0KPj4+PiAr
ICAgICAgICBwcmludGsoWEVOTE9HX0lORk8gIkFSTSBGRi1BIG9ubHkgYXZhaWxhYmxlIGJldHdl
ZW4gVk1zXG4iKTsNCj4+Pj4gKyAgICAgICAgcmV0dXJuIHRydWU7DQo+Pj4+ICsgICAgfQ0KPj4+
PiArDQo+Pj4+ICAgIHJldHVybiBmYWxzZTsNCj4+Pj4gfQ0KPj4+PiANCj4+Pj4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlmLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9u
b3RpZi5jDQo+Pj4+IGluZGV4IGQxOWFhNWM1YmVmNi4uMDY3M2U1M2E5ZGVmIDEwMDY0NA0KPj4+
PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3RpZi5jDQo+Pj4+ICsrKyBiL3hlbi9hcmNo
L2FybS90ZWUvZmZhX25vdGlmLmMNCj4+Pj4gQEAgLTE2LDcgKzE2LDcgQEANCj4+Pj4gDQo+Pj4+
ICNpbmNsdWRlICJmZmFfcHJpdmF0ZS5oIg0KPj4+PiANCj4+Pj4gLXN0YXRpYyBib29sIF9fcm9f
YWZ0ZXJfaW5pdCBub3RpZl9lbmFibGVkOw0KPj4+PiArc3RhdGljIGJvb2wgX19yb19hZnRlcl9p
bml0IGZ3X25vdGlmX2VuYWJsZWQ7DQo+Pj4+IHN0YXRpYyB1bnNpZ25lZCBpbnQgX19yb19hZnRl
cl9pbml0IG5vdGlmX3NyaV9pcnE7DQo+Pj4+IA0KPj4+PiBpbnQgZmZhX2hhbmRsZV9ub3RpZmlj
YXRpb25fYmluZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+Pj4gQEAgLTI3LDIxICsy
NywxNyBAQCBpbnQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fYmluZChzdHJ1Y3QgY3B1X3VzZXJf
cmVncyAqcmVncykNCj4+Pj4gICAgdWludDMyX3QgYml0bWFwX2xvID0gZ2V0X3VzZXJfcmVnKHJl
Z3MsIDMpOw0KPj4+PiAgICB1aW50MzJfdCBiaXRtYXBfaGkgPSBnZXRfdXNlcl9yZWcocmVncywg
NCk7DQo+Pj4+IA0KPj4+PiAtICAgIGlmICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+PiAtICAgICAg
ICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+PiAtDQo+Pj4+ICAgIGlmICggKHNy
Y19kc3QgJiAweEZGRkZVKSAhPSBmZmFfZ2V0X3ZtX2lkKGQpICkNCj4+Pj4gICAgICAgIHJldHVy
biBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+Pj4gDQo+Pj4+ICAgIGlmICggZmxhZ3Mg
KSAgICAvKiBPbmx5IGdsb2JhbCBub3RpZmljYXRpb25zIGFyZSBzdXBwb3J0ZWQgKi8NCj4+Pj4g
ICAgICAgIHJldHVybiBGRkFfUkVUX0RFTklFRDsNCj4+Pj4gDQo+Pj4+IC0gICAgLyoNCj4+Pj4g
LSAgICAgKiBXZSBvbmx5IHN1cHBvcnQgbm90aWZpY2F0aW9ucyBmcm9tIFNQIHNvIG5vIG5lZWQg
dG8gY2hlY2sgdGhlIHNlbmRlcg0KPj4+PiAtICAgICAqIGVuZHBvaW50IElELCB0aGUgU1BNQyB3
aWxsIHRha2UgY2FyZSBvZiB0aGF0IGZvciB1cy4NCj4+Pj4gLSAgICAgKi8NCj4+Pj4gLSAgICBy
ZXR1cm4gZmZhX3NpbXBsZV9jYWxsKEZGQV9OT1RJRklDQVRJT05fQklORCwgc3JjX2RzdCwgZmxh
Z3MsIGJpdG1hcF9sbywNCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9o
aSk7DQo+Pj4+ICsgICAgaWYgKCBGRkFfSURfSVNfU0VDVVJFKHNyY19kc3Q+PjE2KSAmJiBmd19u
b3RpZl9lbmFibGVkICkNCj4+PiANCj4+PiBQbGVhc2UgYWRkIHNwYWNlIGJlZm9yZSBhbmQgYWZ0
ZXIgJz4+JywgaGVyZSBhbmQgaW4gdGhlIGZ1bmN0aW9uIGJlbG93DQo+Pj4gaW4gdGhpcyBwYXRj
aC4NCj4+IA0KPj4gYWNrDQo+PiANCj4+PiANCj4+Pj4gKyAgICAgICAgcmV0dXJuIGZmYV9zaW1w
bGVfY2FsbChGRkFfTk9USUZJQ0FUSU9OX0JJTkQsIHNyY19kc3QsIGZsYWdzLA0KPj4+PiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9sbywgYml0bWFwX2hpKTsNCj4+Pj4g
Kw0KPj4+PiArICAgIHJldHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+Pj4+IH0NCj4+Pj4g
DQo+Pj4+IGludCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl91bmJpbmQoc3RydWN0IGNwdV91c2Vy
X3JlZ3MgKnJlZ3MpDQo+Pj4+IEBAIC01MSwzMiArNDcsMzQgQEAgaW50IGZmYV9oYW5kbGVfbm90
aWZpY2F0aW9uX3VuYmluZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+Pj4gICAgdWlu
dDMyX3QgYml0bWFwX2xvID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpOw0KPj4+PiAgICB1aW50MzJf
dCBiaXRtYXBfaGkgPSBnZXRfdXNlcl9yZWcocmVncywgNCk7DQo+Pj4+IA0KPj4+PiAtICAgIGlm
ICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+PiAtICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQ
UE9SVEVEOw0KPj4+PiAtDQo+Pj4+ICAgIGlmICggKHNyY19kc3QgJiAweEZGRkZVKSAhPSBmZmFf
Z2V0X3ZtX2lkKGQpICkNCj4+Pj4gICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1F
VEVSUzsNCj4+Pj4gDQo+Pj4+IC0gICAgLyoNCj4+Pj4gLSAgICAgKiBXZSBvbmx5IHN1cHBvcnQg
bm90aWZpY2F0aW9ucyBmcm9tIFNQIHNvIG5vIG5lZWQgdG8gY2hlY2sgdGhlDQo+Pj4+IC0gICAg
ICogZGVzdGluYXRpb24gZW5kcG9pbnQgSUQsIHRoZSBTUE1DIHdpbGwgdGFrZSBjYXJlIG9mIHRo
YXQgZm9yIHVzLg0KPj4+PiAtICAgICAqLw0KPj4+PiAtICAgIHJldHVybiAgZmZhX3NpbXBsZV9j
YWxsKEZGQV9OT1RJRklDQVRJT05fVU5CSU5ELCBzcmNfZHN0LCAwLCBiaXRtYXBfbG8sDQo+Pj4+
IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX2hpKTsNCj4+Pj4gKyAgICBpZiAo
IEZGQV9JRF9JU19TRUNVUkUoc3JjX2RzdD4+MTYpICYmIGZ3X25vdGlmX2VuYWJsZWQgKQ0KPj4+
PiArICAgICAgICByZXR1cm4gIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9USUZJQ0FUSU9OX1VOQklO
RCwgc3JjX2RzdCwgMCwgYml0bWFwX2xvLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBiaXRtYXBfaGkpOw0KPj4+PiArDQo+Pj4+ICsgICAgcmV0dXJuIEZGQV9SRVRfTk9U
X1NVUFBPUlRFRDsNCj4+Pj4gfQ0KPj4+PiANCj4+Pj4gdm9pZCBmZmFfaGFuZGxlX25vdGlmaWNh
dGlvbl9pbmZvX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+Pj4gew0KPj4+PiAg
ICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4+PiAgICBzdHJ1Y3QgZmZh
X2N0eCAqY3R4ID0gZC0+YXJjaC50ZWU7DQo+Pj4+ICsgICAgYm9vbCBub3RpZl9wZW5kaW5nID0g
ZmFsc2U7DQo+Pj4+IA0KPj4+PiAtICAgIGlmICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+PiArICAg
IGlmICggIUlTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgJiYgIWZ3X25vdGlmX2VuYWJs
ZWQgKQ0KPj4+PiAgICB7DQo+Pj4+ICAgICAgICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVncywgRkZB
X1JFVF9OT1RfU1VQUE9SVEVEKTsNCj4+Pj4gICAgICAgIHJldHVybjsNCj4+Pj4gICAgfQ0KPj4+
PiANCj4+Pj4gLSAgICBpZiAoIHRlc3RfYW5kX2NsZWFyX2Jvb2woY3R4LT5ub3RpZi5zZWN1cmVf
cGVuZGluZykgKQ0KPj4+PiArICAgIG5vdGlmX3BlbmRpbmcgPSBjdHgtPm5vdGlmLnNlY3VyZV9w
ZW5kaW5nOw0KPj4+PiArI2lmZGVmIENPTkZJR19GRkFfVk1fVE9fVk0NCj4+Pj4gKyAgICBub3Rp
Zl9wZW5kaW5nIHw9IGN0eC0+bm90aWYuYnVmZl9mdWxsX3BlbmRpbmc7DQo+Pj4+ICsjZW5kaWYN
Cj4+PiANCj4+PiBTaG91bGRuJ3QgY3R4LT5ub3RpZi5zZWN1cmVfcGVuZGluZyBhbmQgY3R4LT5u
b3RpZi5zZWN1cmVfcGVuZGluZyBiZQ0KPj4+IGNsZWFyZWQgYWxzbywgbGlrZToNCj4+PiBub3Rp
Zl9wZW5kaW5nID0gdGVzdF9hbmRfY2xlYXJfYm9vbChjdHgtPm5vdGlmLnNlY3VyZV9wZW5kaW5n
KSB8fA0KPj4+ICAgICAgICAgICAgICAgdGVzdF9hbmRfY2xlYXJfYm9vbChjdHgtPm5vdGlmLmJ1
ZmZfZnVsbF9wZW5kaW5nKTsNCj4+IA0KPj4gTm90aWZpY2F0aW9uIGluZm8gZ2V0IGlzIHJldHVy
bmluZyB3aG8gaGFzIHBlbmRpbmcgbm90aWZpY2F0aW9uIGJ1dCBvbmx5DQo+PiBub3RpZmljYXRp
b24gZ2V0IHNob3VsZCBlcmFzZSBwZW5kaW5nIG5vdGlmaWNhdGlvbnMuDQo+IA0KPiBGRkFfTk9U
SUZJQ0FUSU9OX0lORk9fR0VUIGNhbiByZXR1cm4gYSAiTW9yZSBwZW5kaW5nIG5vdGlmaWNhdGlv
bnMNCj4gZmxhZyIgaW4gdzIveDIgdG8gaW5mb3JtIHRoZSBjYWxsZXIgdGhhdCBpdCBzaG91bGQg
Y2FsbA0KPiBGRkFfTk9USUZJQ0FUSU9OX0lORk9fR0VUIGFnYWluIHRvIGdldCB0aGUgcmVtYWlu
aW5nIHJlY2VpdmVyDQo+IGVuZHBvaW50cy4gSG93IGNhbiB0aGUgQUJJIGtub3cgd2hlcmUgdG8g
cmVzdW1lIHRoZSBuZXh0IHRpbWUgaWYgdGhlDQo+IHByZXZpb3VzIHBlbmRpbmcgcmVjZWl2ZXJz
IGFyZW4ndCBjbGVhcmVkPw0KDQpJIGp1c3QgY2hlY2tlZCB0aGUgc3BlY2lmaWNhdGlvbiBhbmQg
eW91IGFyZSByaWdodC4NCkl0IGlzIGV4cGxpY2l0bHkgc2F5aW5nIHRoYXQgIkluZm9ybWF0aW9u
IGFib3V0IHBlbmRpbmcgbm90aWZpY2F0aW9ucyBpcw0KcmV0dXJuZWQgb25seSBvbmNlIi4NCg0K
PiANCj4gVGhlIG1vcmUgcGVuZGluZyBub3RpZmljYXRpb25zIGZsYWcgd2lsbCBub3QgYmUgbmVl
ZGVkIGhlcmUgYXMgd2UncmUNCj4gZGVhbGluZyB3aXRoIGEgc2luZ2xlIGVuZHBvaW50IGF0IGEg
dGltZSBzbyBpdCBtaWdodCBiZSBtb3JlIG9mIGENCj4gcGhpbG9zb3BoaWNhbCBxdWVzdGlvbi4g
SSBkb24ndCB0aGluayBpdCBjYXVzZXMgcHJvYmxlbXMgZm9yIHRoZSBndWVzdA0KPiB0byBrZWVw
IHNlY3VyZV9wZW5kaW5nIHVuY2hhbmdlZCBmb3IgRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVCwg
YnV0IHdlDQo+IHNob3VsZCBtZW50aW9uIHRoZSBjaGFuZ2VkIGJlaGF2aW91ciBpbiB0aGUgY29t
bWl0IG1lc3NhZ2UuDQo+IA0KDQpJIGFncmVlIEkgc2hvdWxkIGRpc2NhcmQgdGhlIHNlY3VyZV9w
ZW5kaW5nIGZsYWcgaW4gdGhlIGltcGxlbWVudGF0aW9uIGJ1dA0KSSBuZWVkIHRvIGZpbmQgYSBz
b2x1dGlvbiBmb3IgdGhlIGJ1ZmZlciBmdWxsIG5vdGlmaWNhdGlvbiBhcyBJIHN0aWxsIG5lZWQg
dG8gc2lnbmFsDQppdCBpbiBub3RpZmljYXRpb24gZ2V0IGV2ZW4gaWYgbm90aWZpY2F0aW9uIGlu
Zm8gZ2V0IHdhcyBjYWxsZWQuDQoNCkkgd2lsbCBkbyB0aGUgZm9sbG93aW5nOg0KLSBjaGFuZ2Ug
c2VjdXJlX3BlbmRpbmcgaW50byBwZW5kaW5nX25vdGlmLg0KLSBzZXQgcGVuZGluZ19ub3RpZiB3
aGVuIGN1cnJlbnQgc2VjdXJlX3BlbmRpbmcgaXMgc2V0DQotIHNldCBwZW5kaW5nX25vdGlmIGFu
ZCBidWZmX2Z1bGxfcGVuZGluZyBvbiBpbmRpcmVjdCBtZXNzYWdlDQotIGNsZWFuIHBlbmRpbmdf
bm90aWYgaW4gbm90aWZfaW5mb19nZXQNCi0gY2xlYW4gcGVuZGluZ19ub3RpZiBhbmQgYnVmZl9m
dWxsIGluIG5vdGlmX2dldA0KDQpEbyB5b3UgYWdyZWUgdGhpcyBpcyB0aGUgcmlnaHQgcGF0aCA/
DQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiBDaGVlcnMsDQo+IEplbnMNCj4gDQo+PiANCj4+PiAN
Cj4+Pj4gKw0KPj4+PiArICAgIGlmICggbm90aWZfcGVuZGluZyApDQo+Pj4+ICAgIHsNCj4+Pj4g
ICAgICAgIC8qIEEgcGVuZGluZyBnbG9iYWwgbm90aWZpY2F0aW9uIGZvciB0aGUgZ3Vlc3QgKi8N
Cj4+Pj4gICAgICAgIGZmYV9zZXRfcmVncyhyZWdzLCBGRkFfU1VDQ0VTU182NCwgMCwNCj4+Pj4g
QEAgLTEwMyw3ICsxMDEsNyBAQCB2b2lkIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2dldChzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+Pj4gICAgdWludDMyX3QgdzYgPSAwOw0KPj4+PiAg
ICB1aW50MzJfdCB3NyA9IDA7DQo+Pj4+IA0KPj4+PiAtICAgIGlmICggIW5vdGlmX2VuYWJsZWQg
KQ0KPj4+PiArICAgIGlmICggIUlTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgJiYgIWZ3
X25vdGlmX2VuYWJsZWQgKQ0KPj4+PiAgICB7DQo+Pj4+ICAgICAgICBmZmFfc2V0X3JlZ3NfZXJy
b3IocmVncywgRkZBX1JFVF9OT1RfU1VQUE9SVEVEKTsNCj4+Pj4gICAgICAgIHJldHVybjsNCj4+
Pj4gQEAgLTExNSw3ICsxMTMsOCBAQCB2b2lkIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2dldChz
dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+Pj4gICAgICAgIHJldHVybjsNCj4+Pj4gICAg
fQ0KPj4+PiANCj4+Pj4gLSAgICBpZiAoIGZsYWdzICYgKCBGRkFfTk9USUZfRkxBR19CSVRNQVBf
U1AgfCBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1BNICkgKQ0KPj4+PiArICAgIGlmICggZndfbm90
aWZfZW5hYmxlZCAmJiAoZmxhZ3MgJiAoIEZGQV9OT1RJRl9GTEFHX0JJVE1BUF9TUA0KPj4+PiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRkZBX05PVElGX0ZMQUdf
QklUTUFQX1NQTSApKSApDQo+Pj4gDQo+Pj4gUGxlYXNlIGVuZCB0aGUgcHJldmlvdXMgbGluZSB3
aXRoIHRoZSAnfCcgb3BlcmF0b3IuDQo+PiANCj4+IGFjaw0KPj4gDQo+Pj4gDQo+Pj4+ICAgIHsN
Cj4+Pj4gICAgICAgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgYXJnID0gew0KPj4+PiAgICAg
ICAgICAgIC5hMCA9IEZGQV9OT1RJRklDQVRJT05fR0VULA0KPj4+PiBAQCAtMTcwLDE1ICsxNjks
MTQgQEAgaW50IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX3NldChzdHJ1Y3QgY3B1X3VzZXJfcmVn
cyAqcmVncykNCj4+Pj4gICAgdWludDMyX3QgYml0bWFwX2xvID0gZ2V0X3VzZXJfcmVnKHJlZ3Ms
IDMpOw0KPj4+PiAgICB1aW50MzJfdCBiaXRtYXBfaGkgPSBnZXRfdXNlcl9yZWcocmVncywgNCk7
DQo+Pj4+IA0KPj4+PiAtICAgIGlmICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+PiAtICAgICAgICBy
ZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+PiAtDQo+Pj4+ICAgIGlmICggKHNyY19k
c3QgPj4gMTYpICE9IGZmYV9nZXRfdm1faWQoZCkgKQ0KPj4+PiAgICAgICAgcmV0dXJuIEZGQV9S
RVRfSU5WQUxJRF9QQVJBTUVURVJTOw0KPj4+PiANCj4+Pj4gLSAgICAvKiBMZXQgdGhlIFNQTUMg
Y2hlY2sgdGhlIGRlc3RpbmF0aW9uIG9mIHRoZSBub3RpZmljYXRpb24gKi8NCj4+Pj4gLSAgICBy
ZXR1cm4gZmZhX3NpbXBsZV9jYWxsKEZGQV9OT1RJRklDQVRJT05fU0VULCBzcmNfZHN0LCBmbGFn
cywgYml0bWFwX2xvLA0KPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX2hp
KTsNCj4+Pj4gKyAgICBpZiAoIEZGQV9JRF9JU19TRUNVUkUoc3JjX2RzdD4+MTYpICYmIGZ3X25v
dGlmX2VuYWJsZWQgKQ0KPj4+PiArICAgICAgICByZXR1cm4gZmZhX3NpbXBsZV9jYWxsKEZGQV9O
T1RJRklDQVRJT05fU0VULCBzcmNfZHN0LCBmbGFncywgYml0bWFwX2xvLA0KPj4+PiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9oaSk7DQo+Pj4+ICsNCj4+Pj4gKyAgICBy
ZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+PiB9DQo+Pj4+IA0KPj4+PiAjaWZkZWYg
Q09ORklHX0ZGQV9WTV9UT19WTQ0KPj4+PiBAQCAtMTkwLDcgKzE4OCw3IEBAIHZvaWQgZmZhX3Jh
aXNlX3J4X2J1ZmZlcl9mdWxsKHN0cnVjdCBkb21haW4gKmQpDQo+Pj4+ICAgICAgICByZXR1cm47
DQo+Pj4+IA0KPj4+PiAgICBpZiAoICF0ZXN0X2FuZF9zZXRfYm9vbChjdHgtPm5vdGlmLmJ1ZmZf
ZnVsbF9wZW5kaW5nKSApDQo+Pj4+IC0gICAgICAgIHZnaWNfaW5qZWN0X2lycShkLCBkLT52Y3B1
WzBdLCBub3RpZl9zcmlfaXJxLCB0cnVlKTsNCj4+Pj4gKyAgICAgICAgdmdpY19pbmplY3RfaXJx
KGQsIGQtPnZjcHVbMF0sIEdVRVNUX0ZGQV9OT1RJRl9QRU5EX0lOVFJfSUQsIHRydWUpOw0KPj4+
IA0KPj4+IFBsZWFzZSBtb3ZlIHRoaXMgdG8gdGhlIHBhdGNoICJ4ZW4vYXJtOiBmZmE6IEFkZCBi
dWZmZXIgZnVsbA0KPj4+IG5vdGlmaWNhdGlvbiBzdXBwb3J0Ig0KPj4gDQo+PiBBY2sNCj4+IA0K
Pj4+IA0KPj4+PiB9DQo+Pj4+ICNlbmRpZg0KPj4+PiANCj4+Pj4gQEAgLTM2Myw3ICszNjEsNyBA
QCB2b2lkIGZmYV9ub3RpZl9pbml0X2ludGVycnVwdCh2b2lkKQ0KPj4+PiB7DQo+Pj4+ICAgIGlu
dCByZXQ7DQo+Pj4+IA0KPj4+PiAtICAgIGlmICggbm90aWZfZW5hYmxlZCAmJiBub3RpZl9zcmlf
aXJxIDwgTlJfR0lDX1NHSSApDQo+Pj4+ICsgICAgaWYgKCBmd19ub3RpZl9lbmFibGVkICYmIG5v
dGlmX3NyaV9pcnEgPCBOUl9HSUNfU0dJICkNCj4+Pj4gICAgew0KPj4+PiAgICAgICAgLyoNCj4+
Pj4gICAgICAgICAqIEFuIGVycm9yIGhlcmUgaXMgdW5saWtlbHkgc2luY2UgdGhlIHByaW1hcnkg
Q1BVIGhhcyBhbHJlYWR5DQo+Pj4+IEBAIC0zOTQsNDEgKzM5Miw0MSBAQCB2b2lkIGZmYV9ub3Rp
Zl9pbml0KHZvaWQpDQo+Pj4+ICAgIGludCByZXQ7DQo+Pj4+IA0KPj4+PiAgICAvKiBPbmx5IGVu
YWJsZSBmdyBub3RpZmljYXRpb24gaWYgYWxsIEFCSXMgd2UgbmVlZCBhcmUgc3VwcG9ydGVkICov
DQo+Pj4+IC0gICAgaWYgKCAhKGZmYV9md19zdXBwb3J0c19maWQoRkZBX05PVElGSUNBVElPTl9C
SVRNQVBfQ1JFQVRFKSAmJg0KPj4+PiAtICAgICAgICAgICBmZmFfZndfc3VwcG9ydHNfZmlkKEZG
QV9OT1RJRklDQVRJT05fQklUTUFQX0RFU1RST1kpICYmDQo+Pj4+IC0gICAgICAgICAgIGZmYV9m
d19zdXBwb3J0c19maWQoRkZBX05PVElGSUNBVElPTl9HRVQpICYmDQo+Pj4+IC0gICAgICAgICAg
IGZmYV9md19zdXBwb3J0c19maWQoRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCkpICkNCj4+
Pj4gLSAgICAgICAgcmV0dXJuOw0KPj4+PiAtDQo+Pj4+IC0gICAgYXJtX3NtY2NjXzFfMl9zbWMo
JmFyZywgJnJlc3ApOw0KPj4+PiAtICAgIGlmICggcmVzcC5hMCAhPSBGRkFfU1VDQ0VTU18zMiAp
DQo+Pj4+IC0gICAgICAgIHJldHVybjsNCj4+Pj4gLQ0KPj4+PiAtICAgIGlycSA9IHJlc3AuYTI7
DQo+Pj4+IC0gICAgbm90aWZfc3JpX2lycSA9IGlycTsNCj4+Pj4gLSAgICBpZiAoIGlycSA+PSBO
Ul9HSUNfU0dJICkNCj4+Pj4gLSAgICAgICAgaXJxX3NldF90eXBlKGlycSwgSVJRX1RZUEVfRURH
RV9SSVNJTkcpOw0KPj4+PiAtICAgIHJldCA9IHJlcXVlc3RfaXJxKGlycSwgMCwgbm90aWZfaXJx
X2hhbmRsZXIsICJGRi1BIG5vdGlmIiwgTlVMTCk7DQo+Pj4+IC0gICAgaWYgKCByZXQgKQ0KPj4+
PiArICAgIGlmICggZmZhX2Z3X3N1cHBvcnRzX2ZpZChGRkFfTk9USUZJQ0FUSU9OX0JJVE1BUF9D
UkVBVEUpICYmDQo+Pj4+ICsgICAgICAgICBmZmFfZndfc3VwcG9ydHNfZmlkKEZGQV9OT1RJRklD
QVRJT05fQklUTUFQX0RFU1RST1kpICYmDQo+Pj4+ICsgICAgICAgICBmZmFfZndfc3VwcG9ydHNf
ZmlkKEZGQV9OT1RJRklDQVRJT05fR0VUKSAmJg0KPj4+PiArICAgICAgICAgZmZhX2Z3X3N1cHBv
cnRzX2ZpZChGRkFfTk9USUZJQ0FUSU9OX0lORk9fR0VUXzY0KSApDQo+Pj4+ICAgIHsNCj4+Pj4g
LSAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgImZmYTogcmVxdWVzdF9pcnEgaXJxICV1IGZhaWxl
ZDogZXJyb3IgJWRcbiIsDQo+Pj4+IC0gICAgICAgICAgICAgICBpcnEsIHJldCk7DQo+Pj4+IC0g
ICAgICAgIHJldHVybjsNCj4+Pj4gLSAgICB9DQo+Pj4+ICsgICAgICAgIGFybV9zbWNjY18xXzJf
c21jKCZhcmcsICZyZXNwKTsNCj4+Pj4gKyAgICAgICAgaWYgKCByZXNwLmEwICE9IEZGQV9TVUND
RVNTXzMyICkNCj4+Pj4gKyAgICAgICAgICAgIHJldHVybjsNCj4+Pj4gDQo+Pj4+IC0gICAgbm90
aWZfZW5hYmxlZCA9IHRydWU7DQo+Pj4+ICsgICAgICAgIGlycSA9IHJlc3AuYTI7DQo+Pj4+ICsg
ICAgICAgIG5vdGlmX3NyaV9pcnEgPSBpcnE7DQo+Pj4+ICsgICAgICAgIGlmICggaXJxID49IE5S
X0dJQ19TR0kgKQ0KPj4+PiArICAgICAgICAgICAgaXJxX3NldF90eXBlKGlycSwgSVJRX1RZUEVf
RURHRV9SSVNJTkcpOw0KPj4+PiArICAgICAgICByZXQgPSByZXF1ZXN0X2lycShpcnEsIDAsIG5v
dGlmX2lycV9oYW5kbGVyLCAiRkYtQSBub3RpZiIsIE5VTEwpOw0KPj4+PiArICAgICAgICBpZiAo
IHJldCApDQo+Pj4+ICsgICAgICAgIHsNCj4+Pj4gKyAgICAgICAgICAgIHByaW50ayhYRU5MT0df
RVJSICJmZmE6IHJlcXVlc3RfaXJxIGlycSAldSBmYWlsZWQ6IGVycm9yICVkXG4iLA0KPj4+PiAr
ICAgICAgICAgICAgICAgICAgIGlycSwgcmV0KTsNCj4+Pj4gKyAgICAgICAgICAgIHJldHVybjsN
Cj4+Pj4gKyAgICAgICAgfQ0KPj4+PiArICAgICAgICBmd19ub3RpZl9lbmFibGVkID0gdHJ1ZTsN
Cj4+Pj4gKyAgICB9DQo+Pj4+IH0NCj4+Pj4gDQo+Pj4+IGludCBmZmFfbm90aWZfZG9tYWluX2lu
aXQoc3RydWN0IGRvbWFpbiAqZCkNCj4+Pj4gew0KPj4+PiAgICBpbnQzMl90IHJlczsNCj4+Pj4g
DQo+Pj4+IC0gICAgaWYgKCAhbm90aWZfZW5hYmxlZCApDQo+Pj4+IC0gICAgICAgIHJldHVybiAw
Ow0KPj4+PiArICAgIGlmICggZndfbm90aWZfZW5hYmxlZCApDQo+Pj4+ICsgICAgew0KPj4+PiAN
Cj4+Pj4gLSAgICByZXMgPSBmZmFfbm90aWZpY2F0aW9uX2JpdG1hcF9jcmVhdGUoZmZhX2dldF92
bV9pZChkKSwgZC0+bWF4X3ZjcHVzKTsNCj4+Pj4gLSAgICBpZiAoIHJlcyApDQo+Pj4+IC0gICAg
ICAgIHJldHVybiAtRU5PTUVNOw0KPj4+PiArICAgICAgICByZXMgPSBmZmFfbm90aWZpY2F0aW9u
X2JpdG1hcF9jcmVhdGUoZmZhX2dldF92bV9pZChkKSwgZC0+bWF4X3ZjcHVzKTsNCj4+Pj4gKyAg
ICAgICAgaWYgKCByZXMgKQ0KPj4+PiArICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+Pj4+
ICsgICAgfQ0KPj4+PiANCj4+Pj4gICAgcmV0dXJuIDA7DQo+Pj4+IH0NCj4+Pj4gQEAgLTQzOSw2
ICs0MzcsNiBAQCB2b2lkIGZmYV9ub3RpZl9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpk
KQ0KPj4+PiAgICAgKiBDYWxsIGJpdG1hcF9kZXN0cm95IGV2ZW4gaWYgYml0bWFwIGNyZWF0ZSBm
YWlsZWQgYXMgdGhlIFNQTUMgd2lsbA0KPj4+PiAgICAgKiByZXR1cm4gYSBERU5JRUQgZXJyb3Ig
dGhhdCB3ZSB3aWxsIGlnbm9yZS4NCj4+Pj4gICAgICovDQo+Pj4+IC0gICAgaWYgKCBub3RpZl9l
bmFibGVkICkNCj4+Pj4gKyAgICBpZiAoIGZ3X25vdGlmX2VuYWJsZWQgKQ0KPj4+PiAgICAgICAg
ZmZhX25vdGlmaWNhdGlvbl9iaXRtYXBfZGVzdHJveShmZmFfZ2V0X3ZtX2lkKGQpKTsNCj4+Pj4g
fQ0KPj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfcGFydGluZm8uYyBiL3hl
bi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMNCj4+Pj4gaW5kZXggN2FmMWVjYTJkMGM0Li4y
OTEzOTZjOGY2MzUgMTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRp
bmZvLmMNCj4+Pj4gKysrIGIveGVuL2FyY2gvYXJtL3RlZS9mZmFfcGFydGluZm8uYw0KPj4+PiBA
QCAtMTMwLDcgKzEzMCw4IEBAIHZvaWQgZmZhX2hhbmRsZV9wYXJ0aXRpb25faW5mb19nZXQoc3Ry
dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4+ICAgICAgICBnb3RvIG91dDsNCj4+Pj4gICAg
fQ0KPj4+PiANCj4+Pj4gLSAgICBpZiAoICFmZmFfZndfc3VwcG9ydHNfZmlkKEZGQV9QQVJUSVRJ
T05fSU5GT19HRVQpICkNCj4+Pj4gKyAgICBpZiAoICFJU19FTkFCTEVEKENPTkZJR19GRkFfVk1f
VE9fVk0pICYmDQo+Pj4gDQo+Pj4gRG9lc24ndCB0aGlzIGJlbG9uZyBpbiB0aGUgcGF0Y2ggInhl
bi9hcm06IGZmYTogSW50cm9kdWNlIFZNIHRvIFZNIHN1cHBvcnQiPw0KPj4+IEFuZCB3b3VsZG4n
dCBmZmFfdm1fY291bnQgbWFrZSBtb3JlIHNlbnNlPw0KPj4gDQo+PiBhY2suIEkgd2lsbCBtb2Rp
ZnkgdGhhdCBhbmQgZm9sZCBpdCBpbnRvIHRoZSBWTSB0byBWTSBzdXBwb3J0IHBhdGNoLg0KPj4g
DQo+PiBDaGVlcnMNCj4+IEJlcnRyYW5kDQo+PiANCj4+PiANCj4+PiBDaGVlcnMsDQo+Pj4gSmVu
cw0KPj4+IA0KPj4+PiArICAgICAgICAgIWZmYV9md19zdXBwb3J0c19maWQoRkZBX1BBUlRJVElP
Tl9JTkZPX0dFVCkgKQ0KPj4+PiAgICB7DQo+Pj4+ICAgICAgICAvKiBKdXN0IGdpdmUgYW4gZW1w
dHkgcGFydGl0aW9uIGxpc3QgdG8gdGhlIGNhbGxlciAqLw0KPj4+PiAgICAgICAgcmV0ID0gRkZB
X1JFVF9PSzsNCj4+Pj4gLS0NCj4+Pj4gMi40Ny4xDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 13:52:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 13:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924018.1327368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvcn2-00077s-BH; Fri, 21 Mar 2025 13:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924018.1327368; Fri, 21 Mar 2025 13:52: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 1tvcn2-00077l-8g; Fri, 21 Mar 2025 13:52:00 +0000
Received: by outflank-mailman (input) for mailman id 924018;
 Fri, 21 Mar 2025 13:51: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvcn0-00077a-GL
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 13:51:58 +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 a7634917-065b-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 14:51:57 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0c18e84eso9614935e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 06:51: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-43d4fdbd348sm27340395e9.39.2025.03.21.06.51.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 06:51: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: a7634917-065b-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742565116; x=1743169916; 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=qv0VQ+NUrVd0gQgaN8Z4ekYOSShVij+HdMBj/Qw1Kz0=;
        b=XjRpNiukUqZsV+Q2yiGN3Z1ViqjDQ2hAv32gwE934C6hO2AWoiw1zDYo0mmPURA2AZ
         oz7iCxMB54MuyNBtsiTDavpazYMzH+m1i+Yj/YqJDE93X09PaD0jjK5In84EbuzMkj6z
         XFXNEo4sbvmyoiiXfZksExcUWJOUMkmfL4I0gBH4Js92SDNrJkY7EUFR09vbMXXnaGaz
         x/3YRwyW6xck/32NKQzyvTSZihtTYkP8Ris8aj3mwY0pX3zJKZgpdiFYTwnPgq69Lu3Y
         gpKPwzk/SMypOTlTaZJudtnuAhCUiVBy1RIJAyP6zOyuT61McPdRlyRli4bkGnUD8ZKD
         EfKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742565116; x=1743169916;
        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=qv0VQ+NUrVd0gQgaN8Z4ekYOSShVij+HdMBj/Qw1Kz0=;
        b=ZWym3hUs3baTXgIV4ajSDpIjJCi5FGmBHW0I7etSApHmvLQHtFQCBOg3dDruVS12yl
         XyrUP1/9t6tu0rumXVDG5KhFDs/rs/7Iek8jG9nz0nP2P6ysdrZMvuNRFP+tCi5vj2P2
         NG9db2q3e3w8j8gF/hi5D6jFN74j32/LZh1S5KeJgjd/REoVohSt8NsDED988znZJGkS
         7rzrAiC81ijFUhxVzVDpZmeXm+zAkN+Jk4BCHi7t9BVCMw7oenNkGhzdyVhX33gfdL/m
         TqhELpWHDMQaAw05/hTJbCUE2hwyPTVzrP/dj0b3VUN1AaaveOkxUOxYFd51Pd3PiuTT
         epGg==
X-Forwarded-Encrypted: i=1; AJvYcCVrUVxgGdbDy6zzOEDjff2ac6HNgx5luOmG6fL5Q71jAZKIxSO6Kcy9n6a1CqWkYJ9KYtR/llJD1i8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXb5Sj+B+9iseKXn271JlSkvYBPkSl8N2ehEcISY2LxP8D7o5z
	sdA6XgXCu/DgXi0vOiya2VxAwrmpY6NTlBDpyZSYM0dAG0qDSZgGAGGeYmsFM0RvdE8gGnYxaLI
	=
X-Gm-Gg: ASbGncsXNJvLeTa1xvNz9wmm9gLfnjVBwNsmGG1a2m02Agm/O5r0IpcNV0UykFdvnpJ
	T9g5akrYoYm5jQFr8Yxz25+J26yy/A0CxV27svglUILsI586PL5gmKBZZoYuqdhi4E6Nl9bt/Jx
	Iv1V6QPDfr4QWCCGCEJABtf/w929iXH+sJyCJ3RDSGKffqTnn5OvKkXQnKz04OLG0htU6VKhN93
	pHzzIy7Rr+KkY3RPJFLA4jJnkJ1EWByiwqB3AsarqLyUCR/1KfymXSHK9wS7D76KuMMrZXbGhqR
	i33HfAkMV7+w4MFtAS1ML4NmhAmq/xKlN055aPVdavBF9rdAEN9bMqH28hnUEVtrBbnYaPCOvW1
	lLm0NgYiHog4j3z8mkQWsphRZJy3lTw==
X-Google-Smtp-Source: AGHT+IGwJffDMk+z7JvUdeRZoNZ59XP81EO+sdu/u5/S5aDDUPhtnVThTTbOkHKxcDKxzEDF2b0Gew==
X-Received: by 2002:a05:600c:1989:b0:43c:fc04:6d34 with SMTP id 5b1f17b1804b1-43d50a318aamr28553245e9.20.1742565116109;
        Fri, 21 Mar 2025 06:51:56 -0700 (PDT)
Message-ID: <e616cf59-bcb6-478d-87b5-f35a51ce1dda@suse.com>
Date: Fri, 21 Mar 2025 14:51:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 03/12] add elf.h
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250321092451.17309-1-jgross@suse.com>
 <20250321092451.17309-4-jgross@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: <20250321092451.17309-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 10:24, Juergen Gross wrote:
> Add some definitions for accessing an ELF file. Only the file header
> and the program header are needed.
> 
> The main source for those are elfstructs.h and libelf.h from the Xen
> tree. The license boiler plate of those files is being kept in the
> resulting header file.

Maybe the copying was a bit too literal.

> --- /dev/null
> +++ b/include/elf.h
> @@ -0,0 +1,340 @@
> +#ifndef __ELF_H__
> +#define __ELF_H__
> +/*
> + * Copyright (c) 1995, 1996 Erik Theisen.  All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *    notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + *    notice, this list of conditions and the following disclaimer in the
> + *    documentation and/or other materials provided with the distribution.
> + * 3. The name of the author may not be used to endorse or promote products
> + *    derived from this software without specific prior written permission
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
> + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
> + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
> + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
> + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +#include <stdbool.h>
> +#include <mini-os/types.h>
> +
> +typedef uint32_t    Elf32_Addr;  /* Unsigned program address */
> +typedef uint32_t    Elf32_Off;   /* Unsigned file offset */
> +typedef uint16_t    Elf32_Half;  /* Unsigned medium integer */
> +typedef uint32_t    Elf32_Word;  /* Unsigned large integer */
> +
> +typedef uint64_t    Elf64_Addr;
> +typedef uint64_t    Elf64_Off;
> +typedef uint16_t    Elf64_Half;
> +typedef uint32_t    Elf64_Word;
> +typedef uint64_t    Elf64_Xword;
> +
> +/* Unique build id string format when using --build-id. */
> +#define NT_GNU_BUILD_ID 3
> +
> +/*
> + * e_ident[] identification indexes
> + * See http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html
> + */
> +#define EI_MAG0        0         /* file ID */
> +#define EI_MAG1        1         /* file ID */
> +#define EI_MAG2        2         /* file ID */
> +#define EI_MAG3        3         /* file ID */
> +#define EI_CLASS       4         /* file class */
> +#define EI_DATA        5         /* data encoding */
> +#define EI_VERSION     6         /* ELF header version */
> +#define EI_OSABI       7         /* OS/ABI ID */
> +#define EI_ABIVERSION  8         /* ABI version */
> +#define EI_PAD         9         /* start of pad bytes */
> +#define EI_NIDENT     16         /* Size of e_ident[] */
> +
> +/* e_ident[] magic number */
> +#define ELFMAG0        0x7f      /* e_ident[EI_MAG0] */
> +#define ELFMAG1        'E'       /* e_ident[EI_MAG1] */
> +#define ELFMAG2        'L'       /* e_ident[EI_MAG2] */
> +#define ELFMAG3        'F'       /* e_ident[EI_MAG3] */
> +#define ELFMAG         "\177ELF" /* magic */
> +#define SELFMAG        4         /* size of magic */
> +
> +/* e_ident[] file class */
> +#define ELFCLASSNONE   0         /* invalid */
> +#define ELFCLASS32     1         /* 32-bit objs */
> +#define ELFCLASS64     2         /* 64-bit objs */
> +#define ELFCLASSNUM    3         /* number of classes */
> +
> +/* e_ident[] data encoding */
> +#define ELFDATANONE    0         /* invalid */
> +#define ELFDATA2LSB    1         /* Little-Endian */
> +#define ELFDATA2MSB    2         /* Big-Endian */
> +#define ELFDATANUM     3         /* number of data encode defines */
> +
> +/* e_ident[] Operating System/ABI */
> +#define ELFOSABI_SYSV         0  /* UNIX System V ABI */
> +#define ELFOSABI_NONE         0  /* Same as ELFOSABI_SYSV */
> +#define ELFOSABI_HPUX         1  /* HP-UX operating system */
> +#define ELFOSABI_NETBSD       2  /* NetBSD */
> +#define ELFOSABI_LINUX        3  /* GNU/Linux */
> +#define ELFOSABI_HURD         4  /* GNU/Hurd */
> +#define ELFOSABI_86OPEN       5  /* 86Open common IA32 ABI */
> +#define ELFOSABI_SOLARIS      6  /* Solaris */
> +#define ELFOSABI_MONTEREY     7  /* Monterey */
> +#define ELFOSABI_IRIX         8  /* IRIX */
> +#define ELFOSABI_FREEBSD      9  /* FreeBSD */
> +#define ELFOSABI_TRU64       10  /* TRU64 UNIX */
> +#define ELFOSABI_MODESTO     11  /* Novell Modesto */
> +#define ELFOSABI_OPENBSD     12  /* OpenBSD */
> +#define ELFOSABI_ARM         97  /* ARM */
> +#define ELFOSABI_STANDALONE 255  /* Standalone (embedded) application */

While I'm happy to see Modesto mentioned in yet another places, I don't
think you need the majority of these?

> +/* e_ident */
> +#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \
> +                      (ehdr).e_ident[EI_MAG1] == ELFMAG1 && \
> +                      (ehdr).e_ident[EI_MAG2] == ELFMAG2 && \
> +                      (ehdr).e_ident[EI_MAG3] == ELFMAG3)
> +
> +/* e_flags */
> +#define EF_ARM_EABI_MASK    0xff000000
> +#define EF_ARM_EABI_UNKNOWN 0x00000000
> +#define EF_ARM_EABI_VER1    0x01000000
> +#define EF_ARM_EABI_VER2    0x02000000
> +#define EF_ARM_EABI_VER3    0x03000000
> +#define EF_ARM_EABI_VER4    0x04000000
> +#define EF_ARM_EABI_VER5    0x05000000
> +
> +/* ELF Header */
> +typedef struct {
> +    unsigned char e_ident[EI_NIDENT]; /* ELF Identification */
> +    Elf32_Half    e_type;        /* object file type */
> +    Elf32_Half    e_machine;     /* machine */
> +    Elf32_Word    e_version;     /* object file version */
> +    Elf32_Addr    e_entry;       /* virtual entry point */
> +    Elf32_Off     e_phoff;       /* program header table offset */
> +    Elf32_Off     e_shoff;       /* section header table offset */
> +    Elf32_Word    e_flags;       /* processor-specific flags */
> +    Elf32_Half    e_ehsize;      /* ELF header size */
> +    Elf32_Half    e_phentsize;   /* program header entry size */
> +    Elf32_Half    e_phnum;       /* number of program header entries */
> +    Elf32_Half    e_shentsize;   /* section header entry size */
> +    Elf32_Half    e_shnum;       /* number of section header entries */
> +    Elf32_Half    e_shstrndx;    /* section header table's "section
> +                                    header string table" entry offset */
> +} Elf32_Ehdr;
> +
> +typedef struct {
> +    unsigned char e_ident[EI_NIDENT]; /* Id bytes */
> +    Elf64_Half    e_type;        /* file type */
> +    Elf64_Half    e_machine;     /* machine type */
> +    Elf64_Word    e_version;     /* version number */
> +    Elf64_Addr    e_entry;       /* entry point */
> +    Elf64_Off     e_phoff;       /* Program hdr offset */
> +    Elf64_Off     e_shoff;       /* Section hdr offset */
> +    Elf64_Word    e_flags;       /* Processor flags */
> +    Elf64_Half    e_ehsize;      /* sizeof ehdr */
> +    Elf64_Half    e_phentsize;   /* Program header entry size */
> +    Elf64_Half    e_phnum;       /* Number of program headers */
> +    Elf64_Half    e_shentsize;   /* Section header entry size */
> +    Elf64_Half    e_shnum;       /* Number of section headers */
> +    Elf64_Half    e_shstrndx;    /* String table index */
> +} Elf64_Ehdr;
> +
> +/* e_type */
> +#define ET_NONE      0           /* No file type */
> +#define ET_REL       1           /* relocatable file */
> +#define ET_EXEC      2           /* executable file */
> +#define ET_DYN       3           /* shared object file */
> +#define ET_CORE      4           /* core file */
> +#define ET_NUM       5           /* number of types */
> +#define ET_LOPROC    0xff00      /* reserved range for processor */
> +#define ET_HIPROC    0xffff      /*   specific e_type */
> +
> +/* e_machine */
> +#define EM_NONE      0           /* No Machine */
> +#define EM_M32       1           /* AT&T WE 32100 */
> +#define EM_SPARC     2           /* SPARC */
> +#define EM_386       3           /* Intel 80386 */
> +#define EM_68K       4           /* Motorola 68000 */
> +#define EM_88K       5           /* Motorola 88000 */
> +#define EM_486       6           /* Intel 80486 - unused? */
> +#define EM_860       7           /* Intel 80860 */
> +#define EM_MIPS      8           /* MIPS R3000 Big-Endian only */
> +/*
> + * Don't know if EM_MIPS_RS4_BE,
> + * EM_SPARC64, EM_PARISC,
> + * or EM_PPC are ABI compliant
> + */
> +#define EM_MIPS_RS4_BE 10        /* MIPS R4000 Big-Endian */
> +#define EM_SPARC64     11        /* SPARC v9 64-bit unoffical */
> +#define EM_PARISC      15        /* HPPA */
> +#define EM_SPARC32PLUS 18        /* Enhanced instruction set SPARC */
> +#define EM_PPC         20        /* PowerPC */
> +#define EM_PPC64       21        /* PowerPC 64-bit */
> +#define EM_ARM         40        /* Advanced RISC Machines ARM */
> +#define EM_ALPHA       41        /* DEC ALPHA */
> +#define EM_SPARCV9     43        /* SPARC version 9 */
> +#define EM_ALPHA_EXP   0x9026    /* DEC ALPHA */
> +#define EM_IA_64       50        /* Intel Merced */
> +#define EM_X86_64      62        /* AMD x86-64 architecture */
> +#define EM_VAX         75        /* DEC VAX */
> +#define EM_AARCH64    183        /* ARM 64-bit */

Here I similarly think some stripping down might help. Doing so would then
also permit to leave out the comment in the middle.

> +/* Version */
> +#define EV_NONE      0           /* Invalid */
> +#define EV_CURRENT   1           /* Current */
> +#define EV_NUM       2           /* number of versions */
> +
> +/* Program Header */
> +typedef struct {
> +    Elf32_Word    p_type;        /* segment type */
> +    Elf32_Off     p_offset;      /* segment offset */
> +    Elf32_Addr    p_vaddr;       /* virtual address of segment */
> +    Elf32_Addr    p_paddr;       /* physical address - ignored? */
> +    Elf32_Word    p_filesz;      /* number of bytes in file for seg. */
> +    Elf32_Word    p_memsz;       /* number of bytes in mem. for seg. */
> +    Elf32_Word    p_flags;       /* flags */
> +    Elf32_Word    p_align;       /* memory alignment */
> +} Elf32_Phdr;
> +
> +typedef struct {
> +    Elf64_Word    p_type;        /* entry type */
> +    Elf64_Word    p_flags;       /* flags */
> +    Elf64_Off     p_offset;      /* offset */
> +    Elf64_Addr    p_vaddr;       /* virtual address */
> +    Elf64_Addr    p_paddr;       /* physical address */
> +    Elf64_Xword   p_filesz;      /* file size */
> +    Elf64_Xword   p_memsz;       /* memory size */
> +    Elf64_Xword   p_align;       /* memory & file alignment */
> +} Elf64_Phdr;
> +
> +/* Segment types - p_type */
> +#define PT_NULL      0           /* unused */
> +#define PT_LOAD      1           /* loadable segment */
> +#define PT_DYNAMIC   2           /* dynamic linking section */
> +#define PT_INTERP    3           /* the RTLD */
> +#define PT_NOTE      4           /* auxiliary information */
> +#define PT_SHLIB     5           /* reserved - purpose undefined */
> +#define PT_PHDR      6           /* program header */
> +#define PT_NUM       7           /* Number of segment types */
> +#define PT_LOPROC    0x70000000  /* reserved range for processor */
> +#define PT_HIPROC    0x7fffffff  /*  specific segment types */
> +
> +/* Segment flags - p_flags */
> +#define PF_X         0x1        /* Executable */
> +#define PF_W         0x2        /* Writable */
> +#define PF_R         0x4        /* Readable */
> +#define PF_MASKPROC  0xf0000000 /* reserved bits for processor */
> +                                /*  specific segment flags */
> +
> +/* Section Header */
> +typedef struct {
> +    Elf32_Word    sh_name;      /* name - index into section header
> +                                   string table section */
> +    Elf32_Word    sh_type;      /* type */
> +    Elf32_Word    sh_flags;     /* flags */
> +    Elf32_Addr    sh_addr;      /* address */
> +    Elf32_Off     sh_offset;    /* file offset */
> +    Elf32_Word    sh_size;      /* section size */
> +    Elf32_Word    sh_link;      /* section header table index link */
> +    Elf32_Word    sh_info;      /* extra information */
> +    Elf32_Word    sh_addralign; /* address alignment */
> +    Elf32_Word    sh_entsize;   /* section entry size */
> +} Elf32_Shdr;
> +
> +typedef struct {
> +    Elf64_Word    sh_name;      /* section name */
> +    Elf64_Word    sh_type;      /* section type */
> +    Elf64_Xword   sh_flags;     /* section flags */
> +    Elf64_Addr    sh_addr;      /* virtual address */
> +    Elf64_Off     sh_offset;    /* file offset */
> +    Elf64_Xword   sh_size;      /* section size */
> +    Elf64_Word    sh_link;      /* link to another */
> +    Elf64_Word    sh_info;      /* misc info */
> +    Elf64_Xword   sh_addralign; /* memory alignment */
> +    Elf64_Xword   sh_entsize;   /* table entry size */
> +} Elf64_Shdr;
> +
> +/* sh_type */
> +#define SHT_NULL        0       /* inactive */
> +#define SHT_PROGBITS    1       /* program defined information */
> +#define SHT_SYMTAB      2       /* symbol table section */
> +#define SHT_STRTAB      3       /* string table section */
> +#define SHT_RELA        4       /* relocation section with addends*/
> +#define SHT_HASH        5       /* symbol hash table section */
> +#define SHT_DYNAMIC     6       /* dynamic section */
> +#define SHT_NOTE        7       /* note section */
> +#define SHT_NOBITS      8       /* no space section */
> +#define SHT_REL         9       /* relation section without addends */
> +#define SHT_SHLIB      10       /* reserved - purpose unknown */
> +#define SHT_DYNSYM     11       /* dynamic symbol table section */
> +#define SHT_NUM        12       /* number of section types */
> +
> +/* Note definitions */
> +typedef struct {
> +    Elf32_Word namesz;
> +    Elf32_Word descsz;
> +    Elf32_Word type;
> +    char data[];
> +} Elf32_Note;
> +
> +typedef struct {
> +    Elf64_Word namesz;
> +    Elf64_Word descsz;
> +    Elf64_Word type;
> +    char data[];
> +} Elf64_Note;
> +
> +/* Abstraction layer for handling 32- and 64-bit ELF files. */
> +
> +typedef union {
> +    Elf32_Ehdr e32;
> +    Elf64_Ehdr e64;
> +} elf_ehdr;
> +
> +static inline bool elf_is_32bit(elf_ehdr *ehdr)
> +{
> +    return ehdr->e32.e_ident[EI_CLASS] == ELFCLASS32;
> +}
> +
> +static inline bool elf_is_64bit(elf_ehdr *ehdr)
> +{
> +    return ehdr->e32.e_ident[EI_CLASS] == ELFCLASS64;
> +}
> +
> +#define ehdr_val(ehdr, elem) (elf_is_32bit(ehdr) ? (ehdr)->e32.elem : (ehdr)->e64.elem)
> +
> +typedef union {
> +    Elf32_Phdr e32;
> +    Elf64_Phdr e64;
> +} elf_phdr;
> +
> +#define phdr_val(ehdr, phdr, elem) (elf_is_32bit(ehdr) ? (phdr)->e32.elem : (phdr)->e64.elem)
> +
> +typedef union {
> +    Elf32_Shdr e32;
> +    Elf64_Shdr e64;
> +} elf_shdr;
> +
> +#define shdr_val(ehdr, shdr, elem) (elf_is_32bit(ehdr) ? (shdr)->e32.elem : (shdr)->e64.elem)
> +
> +typedef union {
> +    Elf32_Note e32;
> +    Elf64_Note e64;
> +} elf_note;
> +
> +#define note_val(ehdr, note, elem) (elf_is_32bit(ehdr) ? (note)->e32.elem : (note)->e64.elem)
> +
> +static inline void *elf_ptr_add(void *ptr, unsigned long add)
> +{
> +    return (char *)ptr + add;

You can omit the cast here, can't you?

You're the maintainer, so you'll know how many of the comments you want to
address. Either way:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 13:54:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 13:54:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924034.1327382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvcpW-0007lg-Or; Fri, 21 Mar 2025 13:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924034.1327382; Fri, 21 Mar 2025 13:54: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 1tvcpW-0007lZ-MJ; Fri, 21 Mar 2025 13:54:34 +0000
Received: by outflank-mailman (input) for mailman id 924034;
 Fri, 21 Mar 2025 13:54: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvcpV-0007lK-Dl
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 13:54:33 +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 036bc144-065c-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 14:54:31 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3996af42857so2045272f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 06:54: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-3997f9b4ce9sm2472443f8f.53.2025.03.21.06.54.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 06:54: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: 036bc144-065c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742565271; x=1743170071; 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=s0dHYabbBCmUA+FL5/nGfB/zmKf8mJVb9iNPYow5cxY=;
        b=fIi4mXYZorM6lMWTuqiBAOs64SWlp6gLB4p978LrFA1lVXtOT8L4rMmXbrX97fuBEz
         3I7/mEDXh7TUPCzxCQxtf4pvTZpuxKpFBrZGaL/vz0+Fs4wzYfbst9QHdGHctvZTj+fc
         Hdid4Ok8U7vFSvXVEQhn5vG5Tb2PnNZdd9UYmPDcEy930MrKD/D2MTBmAObCdDWnFBfs
         4E+rD9bbvY6MQXFG7JZUfB7ntoRSom72JBCnQjbgrdReP6XduERVNISTZtHBXdUIV7uP
         I3NeUBLa6DSkL0avWsrtuQpBk5OShvSMV4IaltYQ1u0VwpoL5nsDiswD9N5RcTfWLBoi
         uz/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742565271; x=1743170071;
        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=s0dHYabbBCmUA+FL5/nGfB/zmKf8mJVb9iNPYow5cxY=;
        b=R2m46Mk8s0IaTjIFa9QAk3g7Ems6Ts3N2NDEsjGF581w03EYbKxAl2mF1k9Em3r+dC
         6Ars7g/yz8RGhta6GbvbE5wEy44L0VOAf4kXg0PXObsdGel7+UiGOSRIXw668Sg07+CQ
         8zACZxT1CSHqio3XWcJxBKgos5wPC5V02GeQfCVfNAL/m/MCVxa2lG8md5yvCcHTAD7E
         TcIcK1Rv81d9myihzOY6EPZ0IeQyJCgMyNLFC+LGsRL5SwOb+WnJ043CuQlryINdmdPw
         h6Hmt7OHLj8UYJjakWZmgyfTvC3dASg1/rlynllq8TmY6rvUehQiNFFr2JPrUH8gynCV
         NWcg==
X-Forwarded-Encrypted: i=1; AJvYcCUhvrx28wbKj1Ib5ZLDSLxTusSjkREa0fReJLUZ/tNgj6Y4kI8/oMRtVAXrWZpB/12la83LGUt7Os0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw5AapUMQ70LqO0pMX6Ul9GL8mroJGYNgMJERMcXbvJhnuWkKnB
	9xrHIqzIuRBICQ9w8m+m0KV+LspCzl47ezLOWOJilLUJgM20zI4WxYj9mHyAGQ==
X-Gm-Gg: ASbGncvZlns/r6OhZoVDQu8URYNU3WSu7SQx5NepB/dXgJX322UgZzkr49rb70xj+qH
	ll/4dgTIS/9tWMhci+tXlcfqtmyeXeHT78nOIgddBMPWSQ8HkZQnaoLnfCDT7AjPSOCCyCkFRmi
	pc/VMKYR+nSiw6k9ZoFgiIme6JtPMc7taHCeXv2TTKP77KyWh2Iivu9ckltwoA13lBwdEaRWzY0
	7UjkAGEmEdpWlLGrPfbYd9EMV/cxmLqimlUL0qoFEtji+bm6Gg2j3JnCk/JbeIQGqIH4kti7RWu
	pTXKWychEvlqegpdpAJp5fxdR+CuZCjief767S+GO+nZH3nOYBDyumj+n68sBaybp0K7JTA8APR
	FN5q1ZU3Emp8PO27Mt2zlSZ+BomeJQg==
X-Google-Smtp-Source: AGHT+IE6h0VU10/V+Gxi6bm1JgQkr0uySubfImjRGlRbej+QrSDFXrdbheZ3BwK05fUrOLmhKVMP4w==
X-Received: by 2002:a5d:6c63:0:b0:390:f116:d220 with SMTP id ffacd0b85a97d-3997f9103dcmr2541431f8f.17.1742565270657;
        Fri, 21 Mar 2025 06:54:30 -0700 (PDT)
Message-ID: <6f8b385a-447e-42c3-b942-ba4e9271de11@suse.com>
Date: Fri, 21 Mar 2025 14:54:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/16] xen/percpu: don't initialize percpu on resume
To: Mykola Kvach <xakep.amatop@gmail.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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org,
 =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <e44b56f18fe5e1c7f1d6cd9d33ba84cf0e26b440.1741164138.git.xakep.amatop@gmail.com>
 <c5ccb703-45eb-4fb1-842c-75317354afad@xen.org>
 <e8ddc992-a092-46d8-8c87-6b3c516fe464@suse.com>
 <32989e14-4754-427d-8347-73fc83a8bd62@suse.com>
 <08cf29e4-8029-4c3b-bb32-f84bcb6d3678@suse.com>
 <CAGeoDV_sq-BuYF0fp8KByzit6CySgn_1X3VnL2jXBdoGDnNsDA@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: <CAGeoDV_sq-BuYF0fp8KByzit6CySgn_1X3VnL2jXBdoGDnNsDA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.03.2025 10:48, Mykola Kvach wrote:
> Hi,
> 
> On Thu, Mar 13, 2025 at 6:20âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 13.03.2025 17:05, JĂźrgen GroĂ wrote:
>>> On 13.03.25 16:54, Jan Beulich wrote:
>>>> On 11.03.2025 21:59, Julien Grall wrote:
>>>>> On 05/03/2025 09:11, Mykola Kvach wrote:
>>>>>> Invocation of the CPU_UP_PREPARE notification
>>>>>> on ARM64 during resume causes a crash:
>>>>>>
>>>>>> (XEN) [  315.807606] Error bringing CPU1 up: -16
>>>>>> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
>>>>>> [...]
>>>>>> (XEN) [  316.142765] Xen call trace:
>>>>>> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
>>>>>> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
>>>>>> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
>>>>>> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
>>>>>> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
>>>>>> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
>>>>>> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
>>>>>> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
>>>>>> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
>>>>>>
>>>>>> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
>>>>>> only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
>>>>>> On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
>>>>>> INVALID_PERCPU_AREA depends solely on the system state.
>>>>>>
>>>>>> If the system is suspended, this area is not freed, and during resume, an error
>>>>>> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
>>>>>> set and park_offline_cpus remains 0:
>>>>>>
>>>>>>       if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>>>>>>           return park_offline_cpus ? 0 : -EBUSY;
>>>>>>
>>>>>> It appears that the same crash can occur on x86 if park_offline_cpus is set
>>>>>> to 0 during Xen suspend.
>>>>>
>>>>> I am rather confused. Looking at the x86 code, it seems
>>>>> park_offline_cpus is cleared for AMD platforms. So are you saying the
>>>>> suspend/resume doesn't work on AMD?
>>>>
>>>> Right now I can't see how it would work there. I've asked Marek for clarification
>>>> as to their users using S3 only on Intel hardware.
>>>
>>> Seems as if this issue has been introduced with commit f75780d26b2f
>>> ("xen: move per-cpu area management into common code"). Before that
>>> on x86 there was just:
>>>
>>>      if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>>>          return 0;
>>>
>>> in init_percpu_area().
>>
>> Ah yes. Mykola, can you then please address this by adjusting init_percpu_area(),
> 
> Do I understand correctly that I should move the system_state check
> inside init_percpu_area?

Well, I can only say as much as: To me this looks like it's the best thing you
can do, given how the code is structured right now.

>> adding a Fixes: tag to reference the commit above?
> 
> Sure! Should I send it as a separate patch to speed up its merging?

Doing so may indeed help.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 14:00:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 14:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924050.1327393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvcuz-0000yj-Gj; Fri, 21 Mar 2025 14:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924050.1327393; Fri, 21 Mar 2025 14:00: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 1tvcuz-0000yc-Dv; Fri, 21 Mar 2025 14:00:13 +0000
Received: by outflank-mailman (input) for mailman id 924050;
 Fri, 21 Mar 2025 14:00: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvcuy-0000yW-3A
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 14:00:12 +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 cd3e765e-065c-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 15:00:10 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-abf3d64849dso353516566b.3
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 07:00: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
 a640c23a62f3a-ac3efd8f2bdsm157130866b.176.2025.03.21.07.00.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 07:00: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: cd3e765e-065c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742565609; x=1743170409; 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=lLvYNPQA9azFT/6Vo3mW7SBCkS4bIANKdIYsnSATkGo=;
        b=DpbZFpKQc5ldgHTsulbfDUfOs0j5+9QrpyWCrHLvvBoyXwMxOtVbQk50VM3kHgrhiR
         d1+Ay1Ia+ZB8DwRamrhFqVIe2WzC5LX5OS6+ZO6B80jv5PH2FZL/zwY8AFMdMQ1S4Vwm
         AKzrZgAGnUFt3vagTKyk7LAVj7Ow34VR73opK0JfFY2+9uzDS/+yV5hLdLHFGCQWj7Mw
         SoGBgy0hBmk96JqQCP9e6lRCo8bjVhF3jRVgwBsiT4mnKvYilpxZ1qmsF2imv4RM06rP
         uDL6JaiJFWffvlIaQ5kCnCw5kKPk1lKJ9YkEFm85nTxeWGMYMHAH2gpwmE+df5cDluWl
         DNQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742565609; x=1743170409;
        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=lLvYNPQA9azFT/6Vo3mW7SBCkS4bIANKdIYsnSATkGo=;
        b=TKNBDdPeBQtLyKFCRnSUu3UniSl7qQsVI3a9v2MgUrXY45277IWHWlfOLYFKE3l9t0
         TvSx3ltP2uK6szJ9mTonlZbeZ+i53taZjxU54m3hRHWMF7kimmekA7w3GPw+m7X7BE34
         1MrWm4ou/1LhOuLQ+BXBgj0gzAHPGawqVz2WdGBmA0VUdkZKzjbEHs6puuPOH+xgqax4
         nLYQQQQFF9xbOkn6kuh/uhfBIjNfCWTnaRAS/g3Sbjwrn3rZ7MKUHGMbA4ASAhiWRvBD
         qVtEJe12Pe4lQN/+X+dbm8mUr54kHzrwiDWgo3MdD0CfZVBk4eswhccBpSNmwVj2op+P
         xzWA==
X-Forwarded-Encrypted: i=1; AJvYcCXDCxjAYw6UY73r9o5lT8TKb0pxCMiYeb4QbMXWosZ1JpZwOXAcj28FTSAecVw9hJ1gGDxfCEFHYFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIJYv1FTONep0q61Rg/zt7G+Fuc+HONQmsUAK+WLnm1Dk0HkR1
	+aao4Rvn4VnPhzeuFt7Gs8IEvmkWAw8atzH0+YhS621tyJwwAa1xpXBmAa97LQ==
X-Gm-Gg: ASbGncu/dxZruOGrjnFDK9jzTY4WWpYAsCA7Su041HrAODxu+vO4JXWQe9xsbA/w7i/
	Nl+gk3q9/KPmO+hZS52Ye3mtxGQybHCJ0CEVswN57OdmwHmPQYtDVNaKfPIPJ+rgTsfIie/VK7/
	XhK4uUE8KXf0wywJ+JeecGjYdnyTHK8AvE8okESK1Vxter+MDkfDute9lPyPaGgguFuXQ/BKiVS
	yT7C7wq6wvNIea8Zq4Uq3MWknifFK96VXGZ4cnmHfum0TYVkGJ0bXtsMoZUjXmX+a27UwF3V5PX
	N9QMjPeU/AbBEo8qSo9HcHWN19JxFNI/1loflNXEna6LnPBRQtt2e8A7hw1hVxwqtdi0a/r9GeY
	Y9Tfx+42KM8mLomHJOtuJvdNPswNTqw==
X-Google-Smtp-Source: AGHT+IER8Ab8A9rZogN5my0VmUvWks7kuzX9W47aIIvi3E81ZKSZY4a5l0QhoH7BBx8/GhCcvV2tgw==
X-Received: by 2002:a17:907:7f8c:b0:ac3:cad2:9e53 with SMTP id a640c23a62f3a-ac3f28053b3mr387428166b.55.1742565609295;
        Fri, 21 Mar 2025 07:00:09 -0700 (PDT)
Message-ID: <f214bbcc-6cac-4623-9027-ab77351dc2a9@suse.com>
Date: Fri, 21 Mar 2025 15:00:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@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>,
 Mykyta Poturai <mykyta_poturai@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
 <6eddbd26-88ca-4d0c-b56a-4e7abcc3933b@suse.com>
 <CAGeoDV_AU+UhkH6Pb4UhM-j+Z-VSbaoGDAg6gZqVjSAUSGURUQ@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: <CAGeoDV_AU+UhkH6Pb4UhM-j+Z-VSbaoGDAg6gZqVjSAUSGURUQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.03.2025 10:49, Mykola Kvach wrote:
> Hi,
> 
> On Thu, Mar 13, 2025 at 5:37âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 05.03.2025 10:11, Mykola Kvach wrote:
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>>>  config ARM32_HARDEN_BRANCH_PREDICTOR
>>>      def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>>>
>>> +config SYSTEM_SUSPEND
>>> +     bool "System suspend support"
>>> +     default y
>>> +     depends on ARM_64
>>> +     help
>>> +       This option enables the system suspend support. This is the
>>> +       mechanism that allows the system to be suspended to RAM and
>>> +       later resumed.
>>> +
>>> +       If unsure, say Y.
>>
>> I wonder if something like this makes sense to place in an arch-specific
> 
> Maybe it makes sense, but only if we are not planning to cover
> suspend/resume related code for x86 as well.
> 
>> Kconfig. It's also not becoming clear here why only Arm64 would permit it.
> 
> If I understand your comment correctly, youâre suggesting that we
> could use this for x86 as well.

Or PPC / RISC-V once they progress enough.

> However, in that case, we would need
> to make a lot of changes in other places that are not related to this
> patch series, which is specifically focused on adding suspend/resume
> support for Arm64. I believe that is outside the scope of this patch
> series.

Considering that - give or take bugs - S3 is working on x86, I'm not
sure what lots of changes you're thinking of. In fact ...

> However, this config was requested in one of the previous
> patch series. The primary reason for adding this config was to reduce
> the binary size for platforms where it isnât used. I also think it can
> be useful for debugging purposes, such as for identifying regressions.

... that's what I'd see as a (future) option on x86 as well. 

> As for Arm32, itâs not supported at the moment, but I hope support
> will be added in the future.

Which is another data point towards this wanting to move to common
code, with a per-arch-selected HAVE_* as dependency. To cover that it's
always-on for x86, an ..._ALWAYS_ON setting may want introducing as
well (or some shorthand approach to limit [future] churn).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 14:00:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 14:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924052.1327403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvcvB-0001GN-Ni; Fri, 21 Mar 2025 14:00:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924052.1327403; Fri, 21 Mar 2025 14:00: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 1tvcvB-0001GC-Kl; Fri, 21 Mar 2025 14:00:25 +0000
Received: by outflank-mailman (input) for mailman id 924052;
 Fri, 21 Mar 2025 14:00: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=IQbR=WI=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tvcvA-0001FD-4w
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 14:00:24 +0000
Received: from mail-oo1-xc2e.google.com (mail-oo1-xc2e.google.com
 [2607:f8b0:4864:20::c2e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4378e87-065c-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 15:00:22 +0100 (CET)
Received: by mail-oo1-xc2e.google.com with SMTP id
 006d021491bc7-601ad30bc0cso1843425eaf.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 07:00: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: d4378e87-065c-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742565621; x=1743170421; 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=mZ9ixmm422uNLNbAJGx1/wGmNvySrezgfzzhP9Jlnck=;
        b=JXZ0NXLXrUjRFdX773omNPj25b7s9FCQcr0HwoiTM7OcTfU65A8Evx7ja5/y6wYRyr
         hrsa+kHTa0pH+D7C8dhkOqvwOS89+KJC08WP30rzzftY+/WtPOi5xul2WqnJs+4kz/Ki
         84F9R8sZq/ghiZAL+Fry1vVQh5CHxJ3FHkNUBh41HXUXchAvZiMYwt8w1ar5TDtuf6vE
         XuVchTMnDNYZEs60JZcpmm43CDpBrAB4+TPGTpOmgOQs6rTm8AkXqWYEgAU9FZZJmjgg
         pia+9fWmKaPQVQvz2GZQ/AOZXOiBcMIV2ofa1wYwQpkxmJJS0LFCLdX6/6uLDY2tqFEZ
         iASg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742565621; x=1743170421;
        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=mZ9ixmm422uNLNbAJGx1/wGmNvySrezgfzzhP9Jlnck=;
        b=pbKLE/K49z2EsdXp727FhYMwIWcBVMzIQb2LWhLCmrxZL3yDRmC0MdoMigOwf94AW4
         KiOEfnY67Hve4zpiko4N6UbLKqlMkezpSlJ7lf6McbZaEe9DD+eB1c+ADpRkOpy/LfcZ
         Ne194CwJAbPcbaalJ+Npb/ikkDA1kEfosRgUlXl2QsorKDpaPsq9lb1G5/Rd7WfXUOno
         uFhp11Nqs3x/ea1oBptG0m7ZM7ZZixcbutPzpCluMq0724TIyFdijcxA+jsoDVQ5dYVe
         A5/HasFwdOBP5Eu3jW4x5ELzt8hwtipFFXl8ChP6NZekDNMXckxRET49nsQXfBjWlReR
         pnXA==
X-Gm-Message-State: AOJu0YwvGML/kDdsJWFgHI3VgbKoe75AhnpsenFKZzFfDSrY4FO81QHc
	n3n+nxAyQpBUust1QWx0q8fkwosVwg8ps2iS74tncD+9YaJUtNTvjA20R6uhkKN7COaq5dlx+Ca
	5/w+T3YDIGjT6W3TOAapCdZYSbe9htW8Uv9WGBA==
X-Gm-Gg: ASbGnct9yvQED5KtMr+whunwnQnMopOhyK0H00MdHxjiBDM8AzoTv1pA9P+VEsJMjRt
	aqb1azVp2kg6QLuV/XFCMNrpSmDmF+0IDicpt45fX3LSmUS/cy8gSkS1eZSLH7y9yFPiqol6pio
	Z7Vu+79HeV5dpn+L/s4DOy8mf6tLMWYJ6CWkv0NQ==
X-Google-Smtp-Source: AGHT+IFvSaewo/HjJPRyQ8yhkEjbXlPSKtQ41VgxPXf2KmbYbj3jRE0onHGZusvJLHjby5duQs3Ff7hTgmUcpqlpr1U=
X-Received: by 2002:a05:6870:8307:b0:297:683:8b5b with SMTP id
 586e51a60fabf-2c760b98905mr5321315fac.10.1742565620617; Fri, 21 Mar 2025
 07:00:20 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FW02v4_6pTiGqcWrFMLqdayuUF5pXM8cfKusOXHC7Jyw@mail.gmail.com>
 <7B45963D-8908-420C-89ED-15769357779C@arm.com> <CAHUa44HumXeMR66Pu4xMODHms4PiM7+ANmPB1tG+UO9BpGDpLQ@mail.gmail.com>
 <783A9243-EBA6-40CC-A0A7-4DD9E8AFE57F@arm.com>
In-Reply-To: <783A9243-EBA6-40CC-A0A7-4DD9E8AFE57F@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 21 Mar 2025 15:00:08 +0100
X-Gm-Features: AQ5f1JqRC9vkcO2xJQqo5GpBscOz9aRyEcMQ1LsQJ6SDNQ3xLmoKFIp9UEHAzV8
Message-ID: <CAHUa44Hm3Uv31LEEruBu-APCkkD2wwQew4UcUcqqgk+4_Tug9w@mail.gmail.com>
Subject: Re: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Fri, Mar 21, 2025 at 2:47=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 21 Mar 2025, at 11:09, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Hi,
> >
> > On Fri, Mar 21, 2025 at 10:25=E2=80=AFAM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 21 Mar 2025, at 09:55, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
> >>>
> >>> Hi Bertrand,
> >>>
> >>> On Mon, Mar 10, 2025 at 3:51=E2=80=AFPM Bertrand Marquis
> >>> <bertrand.marquis@arm.com> wrote:
> >>>>
> >>>> When VM to VM support is activated and there is no suitable FF-A sup=
port
> >>>> in the firmware, enable FF-A support for VMs to allow using it for V=
M to
> >>>> VM communications.
> >>>> If there is Optee running in the secure world and using the non FF-A
> >>>
> >>> It's spelled OP-TEE in text, and optee or OPTEE in identifiers.
> >>
> >> ack
> >>
> >>>
> >>>> communication system, having CONFIG_FFA_VM_TO_VM could be non functi=
onal
> >>>> (if optee is probed first) or Optee could be non functional (if FF-A=
 is
> >>>> probed first) so it is not recommended to activate the configuration
> >>>> option for such systems.
> >>>>
> >>>> To make buffer full notification work between VMs when there is not
> >>>
> >>> s/not/no/
> >>
> >> ack
> >>
> >>>
> >>>> firmware, rework the notification handling and modify the global fla=
g to
> >>>> only be used as check for firmware notification support instead.
> >>>>
> >>>> Modify part_info_get to return the list of VMs when there is no firm=
ware
> >>>> support.
> >>>>
> >>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> >>>> ---
> >>>> Changes in v2:
> >>>> - replace ifdef with IS_ENABLED when possible
> >>>> ---
> >>>> xen/arch/arm/tee/ffa.c          |  12 +++-
> >>>> xen/arch/arm/tee/ffa_notif.c    | 114 ++++++++++++++++--------------=
--
> >>>> xen/arch/arm/tee/ffa_partinfo.c |   3 +-
> >>>> 3 files changed, 69 insertions(+), 60 deletions(-)
> >>>>
> >>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>>> index 3bbdd7168a6b..f6582d2e855a 100644
> >>>> --- a/xen/arch/arm/tee/ffa.c
> >>>> +++ b/xen/arch/arm/tee/ffa.c
> >>>> @@ -324,8 +324,9 @@ static int ffa_domain_init(struct domain *d)
> >>>>    struct ffa_ctx *ctx;
> >>>>    int ret;
> >>>>
> >>>> -    if ( !ffa_fw_version )
> >>>> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !ffa_fw_version )
> >>>>        return -ENODEV;
> >>>> +
> >>>>    /*
> >>>>     * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A =
ID 0 is
> >>>>     * reserved for the hypervisor and we only support secure endpoin=
ts using
> >>>> @@ -549,6 +550,15 @@ err_no_fw:
> >>>>    bitmap_zero(ffa_fw_abi_supported, FFA_ABI_BITMAP_SIZE);
> >>>>    printk(XENLOG_WARNING "ARM FF-A No firmware support\n");
> >>>>
> >>>> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> >>>> +    {
> >>>> +        INIT_LIST_HEAD(&ffa_teardown_head);
> >>>> +        init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback=
, NULL, 0);
> >>>> +
> >>>> +        printk(XENLOG_INFO "ARM FF-A only available between VMs\n")=
;
> >>>> +        return true;
> >>>> +    }
> >>>> +
> >>>>    return false;
> >>>> }
> >>>>
> >>>> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_not=
if.c
> >>>> index d19aa5c5bef6..0673e53a9def 100644
> >>>> --- a/xen/arch/arm/tee/ffa_notif.c
> >>>> +++ b/xen/arch/arm/tee/ffa_notif.c
> >>>> @@ -16,7 +16,7 @@
> >>>>
> >>>> #include "ffa_private.h"
> >>>>
> >>>> -static bool __ro_after_init notif_enabled;
> >>>> +static bool __ro_after_init fw_notif_enabled;
> >>>> static unsigned int __ro_after_init notif_sri_irq;
> >>>>
> >>>> int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> >>>> @@ -27,21 +27,17 @@ int ffa_handle_notification_bind(struct cpu_user=
_regs *regs)
> >>>>    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> >>>>    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> >>>>
> >>>> -    if ( !notif_enabled )
> >>>> -        return FFA_RET_NOT_SUPPORTED;
> >>>> -
> >>>>    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> >>>>        return FFA_RET_INVALID_PARAMETERS;
> >>>>
> >>>>    if ( flags )    /* Only global notifications are supported */
> >>>>        return FFA_RET_DENIED;
> >>>>
> >>>> -    /*
> >>>> -     * We only support notifications from SP so no need to check th=
e sender
> >>>> -     * endpoint ID, the SPMC will take care of that for us.
> >>>> -     */
> >>>> -    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, b=
itmap_lo,
> >>>> -                           bitmap_hi);
> >>>> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> >>>
> >>> Please add space before and after '>>', here and in the function belo=
w
> >>> in this patch.
> >>
> >> ack
> >>
> >>>
> >>>> +        return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flag=
s,
> >>>> +                               bitmap_lo, bitmap_hi);
> >>>> +
> >>>> +    return FFA_RET_NOT_SUPPORTED;
> >>>> }
> >>>>
> >>>> int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> >>>> @@ -51,32 +47,34 @@ int ffa_handle_notification_unbind(struct cpu_us=
er_regs *regs)
> >>>>    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> >>>>    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> >>>>
> >>>> -    if ( !notif_enabled )
> >>>> -        return FFA_RET_NOT_SUPPORTED;
> >>>> -
> >>>>    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> >>>>        return FFA_RET_INVALID_PARAMETERS;
> >>>>
> >>>> -    /*
> >>>> -     * We only support notifications from SP so no need to check th=
e
> >>>> -     * destination endpoint ID, the SPMC will take care of that for=
 us.
> >>>> -     */
> >>>> -    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bi=
tmap_lo,
> >>>> -                            bitmap_hi);
> >>>> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> >>>> +        return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0=
, bitmap_lo,
> >>>> +                                bitmap_hi);
> >>>> +
> >>>> +    return FFA_RET_NOT_SUPPORTED;
> >>>> }
> >>>>
> >>>> void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> >>>> {
> >>>>    struct domain *d =3D current->domain;
> >>>>    struct ffa_ctx *ctx =3D d->arch.tee;
> >>>> +    bool notif_pending =3D false;
> >>>>
> >>>> -    if ( !notif_enabled )
> >>>> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
> >>>>    {
> >>>>        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>>>        return;
> >>>>    }
> >>>>
> >>>> -    if ( test_and_clear_bool(ctx->notif.secure_pending) )
> >>>> +    notif_pending =3D ctx->notif.secure_pending;
> >>>> +#ifdef CONFIG_FFA_VM_TO_VM
> >>>> +    notif_pending |=3D ctx->notif.buff_full_pending;
> >>>> +#endif
> >>>
> >>> Shouldn't ctx->notif.secure_pending and ctx->notif.secure_pending be
> >>> cleared also, like:
> >>> notif_pending =3D test_and_clear_bool(ctx->notif.secure_pending) ||
> >>>               test_and_clear_bool(ctx->notif.buff_full_pending);
> >>
> >> Notification info get is returning who has pending notification but on=
ly
> >> notification get should erase pending notifications.
> >
> > FFA_NOTIFICATION_INFO_GET can return a "More pending notifications
> > flag" in w2/x2 to inform the caller that it should call
> > FFA_NOTIFICATION_INFO_GET again to get the remaining receiver
> > endpoints. How can the ABI know where to resume the next time if the
> > previous pending receivers aren't cleared?
>
> I just checked the specification and you are right.
> It is explicitly saying that "Information about pending notifications is
> returned only once".
>
> >
> > The more pending notifications flag will not be needed here as we're
> > dealing with a single endpoint at a time so it might be more of a
> > philosophical question. I don't think it causes problems for the guest
> > to keep secure_pending unchanged for FFA_NOTIFICATION_INFO_GET, but we
> > should mention the changed behaviour in the commit message.
> >
>
> I agree I should discard the secure_pending flag in the implementation bu=
t
> I need to find a solution for the buffer full notification as I still nee=
d to signal
> it in notification get even if notification info get was called.
>
> I will do the following:
> - change secure_pending into pending_notif.
> - set pending_notif when current secure_pending is set
> - set pending_notif and buff_full_pending on indirect message
> - clean pending_notif in notif_info_get
> - clean pending_notif and buff_full in notif_get
>
> Do you agree this is the right path ?

Yes, this is the way. :-)

Cheers,
Jens

>
> Cheers
> Bertrand
>
> > Cheers,
> > Jens
> >
> >>
> >>>
> >>>> +
> >>>> +    if ( notif_pending )
> >>>>    {
> >>>>        /* A pending global notification for the guest */
> >>>>        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> >>>> @@ -103,7 +101,7 @@ void ffa_handle_notification_get(struct cpu_user=
_regs *regs)
> >>>>    uint32_t w6 =3D 0;
> >>>>    uint32_t w7 =3D 0;
> >>>>
> >>>> -    if ( !notif_enabled )
> >>>> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
> >>>>    {
> >>>>        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>>>        return;
> >>>> @@ -115,7 +113,8 @@ void ffa_handle_notification_get(struct cpu_user=
_regs *regs)
> >>>>        return;
> >>>>    }
> >>>>
> >>>> -    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP=
_SPM ) )
> >>>> +    if ( fw_notif_enabled && (flags & ( FFA_NOTIF_FLAG_BITMAP_SP
> >>>> +                                        | FFA_NOTIF_FLAG_BITMAP_SPM=
 )) )
> >>>
> >>> Please end the previous line with the '|' operator.
> >>
> >> ack
> >>
> >>>
> >>>>    {
> >>>>        struct arm_smccc_1_2_regs arg =3D {
> >>>>            .a0 =3D FFA_NOTIFICATION_GET,
> >>>> @@ -170,15 +169,14 @@ int ffa_handle_notification_set(struct cpu_use=
r_regs *regs)
> >>>>    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> >>>>    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> >>>>
> >>>> -    if ( !notif_enabled )
> >>>> -        return FFA_RET_NOT_SUPPORTED;
> >>>> -
> >>>>    if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> >>>>        return FFA_RET_INVALID_PARAMETERS;
> >>>>
> >>>> -    /* Let the SPMC check the destination of the notification */
> >>>> -    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bi=
tmap_lo,
> >>>> -                           bitmap_hi);
> >>>> +    if ( FFA_ID_IS_SECURE(src_dst>>16) && fw_notif_enabled )
> >>>> +        return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags=
, bitmap_lo,
> >>>> +                               bitmap_hi);
> >>>> +
> >>>> +    return FFA_RET_NOT_SUPPORTED;
> >>>> }
> >>>>
> >>>> #ifdef CONFIG_FFA_VM_TO_VM
> >>>> @@ -190,7 +188,7 @@ void ffa_raise_rx_buffer_full(struct domain *d)
> >>>>        return;
> >>>>
> >>>>    if ( !test_and_set_bool(ctx->notif.buff_full_pending) )
> >>>> -        vgic_inject_irq(d, d->vcpu[0], notif_sri_irq, true);
> >>>> +        vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID=
, true);
> >>>
> >>> Please move this to the patch "xen/arm: ffa: Add buffer full
> >>> notification support"
> >>
> >> Ack
> >>
> >>>
> >>>> }
> >>>> #endif
> >>>>
> >>>> @@ -363,7 +361,7 @@ void ffa_notif_init_interrupt(void)
> >>>> {
> >>>>    int ret;
> >>>>
> >>>> -    if ( notif_enabled && notif_sri_irq < NR_GIC_SGI )
> >>>> +    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
> >>>>    {
> >>>>        /*
> >>>>         * An error here is unlikely since the primary CPU has alread=
y
> >>>> @@ -394,41 +392,41 @@ void ffa_notif_init(void)
> >>>>    int ret;
> >>>>
> >>>>    /* Only enable fw notification if all ABIs we need are supported =
*/
> >>>> -    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> >>>> -           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> >>>> -           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> >>>> -           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
> >>>> -        return;
> >>>> -
> >>>> -    arm_smccc_1_2_smc(&arg, &resp);
> >>>> -    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> >>>> -        return;
> >>>> -
> >>>> -    irq =3D resp.a2;
> >>>> -    notif_sri_irq =3D irq;
> >>>> -    if ( irq >=3D NR_GIC_SGI )
> >>>> -        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> >>>> -    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NU=
LL);
> >>>> -    if ( ret )
> >>>> +    if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> >>>> +         ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> >>>> +         ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> >>>> +         ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64) )
> >>>>    {
> >>>> -        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d=
\n",
> >>>> -               irq, ret);
> >>>> -        return;
> >>>> -    }
> >>>> +        arm_smccc_1_2_smc(&arg, &resp);
> >>>> +        if ( resp.a0 !=3D FFA_SUCCESS_32 )
> >>>> +            return;
> >>>>
> >>>> -    notif_enabled =3D true;
> >>>> +        irq =3D resp.a2;
> >>>> +        notif_sri_irq =3D irq;
> >>>> +        if ( irq >=3D NR_GIC_SGI )
> >>>> +            irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> >>>> +        ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif"=
, NULL);
> >>>> +        if ( ret )
> >>>> +        {
> >>>> +            printk(XENLOG_ERR "ffa: request_irq irq %u failed: erro=
r %d\n",
> >>>> +                   irq, ret);
> >>>> +            return;
> >>>> +        }
> >>>> +        fw_notif_enabled =3D true;
> >>>> +    }
> >>>> }
> >>>>
> >>>> int ffa_notif_domain_init(struct domain *d)
> >>>> {
> >>>>    int32_t res;
> >>>>
> >>>> -    if ( !notif_enabled )
> >>>> -        return 0;
> >>>> +    if ( fw_notif_enabled )
> >>>> +    {
> >>>>
> >>>> -    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max=
_vcpus);
> >>>> -    if ( res )
> >>>> -        return -ENOMEM;
> >>>> +        res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d-=
>max_vcpus);
> >>>> +        if ( res )
> >>>> +            return -ENOMEM;
> >>>> +    }
> >>>>
> >>>>    return 0;
> >>>> }
> >>>> @@ -439,6 +437,6 @@ void ffa_notif_domain_destroy(struct domain *d)
> >>>>     * Call bitmap_destroy even if bitmap create failed as the SPMC w=
ill
> >>>>     * return a DENIED error that we will ignore.
> >>>>     */
> >>>> -    if ( notif_enabled )
> >>>> +    if ( fw_notif_enabled )
> >>>>        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
> >>>> }
> >>>> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_=
partinfo.c
> >>>> index 7af1eca2d0c4..291396c8f635 100644
> >>>> --- a/xen/arch/arm/tee/ffa_partinfo.c
> >>>> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> >>>> @@ -130,7 +130,8 @@ void ffa_handle_partition_info_get(struct cpu_us=
er_regs *regs)
> >>>>        goto out;
> >>>>    }
> >>>>
> >>>> -    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> >>>> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) &&
> >>>
> >>> Doesn't this belong in the patch "xen/arm: ffa: Introduce VM to VM su=
pport"?
> >>> And wouldn't ffa_vm_count make more sense?
> >>
> >> ack. I will modify that and fold it into the VM to VM support patch.
> >>
> >> Cheers
> >> Bertrand
> >>
> >>>
> >>> Cheers,
> >>> Jens
> >>>
> >>>> +         !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> >>>>    {
> >>>>        /* Just give an empty partition list to the caller */
> >>>>        ret =3D FFA_RET_OK;
> >>>> --
> >>>> 2.47.1
>
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 14:04:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 14:04:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924073.1327412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvcyr-0003B5-6O; Fri, 21 Mar 2025 14:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924073.1327412; Fri, 21 Mar 2025 14:04: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 1tvcyr-0003Ay-3t; Fri, 21 Mar 2025 14:04:13 +0000
Received: by outflank-mailman (input) for mailman id 924073;
 Fri, 21 Mar 2025 14:04: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvcyp-0003Aq-G7
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 14:04:11 +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 5c9c7d5d-065d-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 15:04:10 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ab771575040so612737766b.1
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 07:04: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
 a640c23a62f3a-ac3efd47d66sm161264866b.166.2025.03.21.07.04.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 07: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: 5c9c7d5d-065d-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742565850; x=1743170650; 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=cFgsKfb7eU6whCFsbM3+jzNbRKWxHxqxUKxiMAPIgGE=;
        b=SsyLftvbq69howr4gjfuMuB7ocnaFRrBLL34qev1s9nnkVR6efU9fVqg7tXbFdlN9t
         WoMfkzZdU/JSm5XFdXF5gSRtQCob6p5HaLtl7IyQ9UY4vNCOEeq9OYLWmVYDXwmUoqlq
         02HwVbeT5AEoqor8fRtothfDE1GHpccLuHZMrYWZUoNKqQ+4T/PPN4XonbD9Dz8yqm86
         asPH4ZhrwqR2kGlCJRGHR2CATfupAAlTjbYsSRYQp/U3WOX5ClvJH+lNs8QVn6sljxOM
         cQHBJIcZ2AseLXbiyBEOd+gsIFjo64d25EzGm3XF8bGywoCw77oU3ugQ7Ts5YKXC8Au/
         08lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742565850; x=1743170650;
        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=cFgsKfb7eU6whCFsbM3+jzNbRKWxHxqxUKxiMAPIgGE=;
        b=Vr+plCL4NkwkrmYWfJ5YZu3vb4UwkcpS3hMndv44Bd5E2aezB2xtxuec7q6+T7qAd+
         4WAvd4PmaRP68UW0yZ6AXBnWBY4kplXXfbHcMH3xFJ/cfBzHcdW4t0we0dRQIZEp68Bz
         KLhloy8Fdqncm96Du59yoZfLB6CfxjTiMdFrqEm4fdDtmp+YvRID4um4/XdTpHeHVKhV
         2W5ODBo4o/3r5yuMkr+o+84f0u4OnRajdg99FII7HH25ZGisirMcn1rqw603CatkUwei
         /6kpt9M5oQvaLSFPas6oxsVLlVbLJLrVmbrwf5Nec5vVpkMTo1/04x51l2j8rB8hirLL
         v+uw==
X-Forwarded-Encrypted: i=1; AJvYcCUkyR9W4SpgoIkoJWFQsP/Yj1DTb6DGyhkmNy0zavL9zS3SddS0CkMWsvYWMxkbXrq6J1972E+CWGg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCIrR44wEj0lnvEM6b3pNy4RyAT/rRwphSVObEG3otsow6ng/3
	Od8PuPBUw1G5wZH2hOlvq7gJUprXAXGR1mqspX/MOVAeKDjkIA+UK4Zs4qayIQ==
X-Gm-Gg: ASbGncv8niDg2LXXjIuN2rDjDvvsbhVWVG46PHv8bdhqi0b2h3vMgjL0p4sUcB6GGRC
	Ix+P5nYpR8BM9tJBMpMuAzlcesrl0wz5KkRHcJhB5slYlAm8fs76qUFBigeCx8odfcQhwQKX0+U
	PE7bVEpFwx+MJ8joiv4fICvRN4r4W3A07QVvPP6XJXV7zrMAd9jD9w+wVkB5p2uxAOHckI8nRji
	qQ322N7z77m30Dhj5lbBSeYP43JZ9+RI+1PScKrcMBahXH9nOEViIzfoybCpTVkavosNAMmqtFV
	twVO7wj0Pzl+EBJiUnIRKZ9Cu5MQJ7f96qkIgkfxxE1ejOY5X8UIvhgPALjfMWM5SfFWo6mQzhw
	zul9pqPg7iMEraeEsrz2TjI1xCUy33O1emzOZdWAl
X-Google-Smtp-Source: AGHT+IE4E6g1hcmUfK3w/HRHZSBnq5heVz6U52h66WmLptvC9ZkvezvHS5qVFzPX1nMyePRszKglAw==
X-Received: by 2002:a17:907:3da1:b0:ac1:ecb0:ca98 with SMTP id a640c23a62f3a-ac3cdfc746dmr788745266b.26.1742565849845;
        Fri, 21 Mar 2025 07:04:09 -0700 (PDT)
Message-ID: <da301d1e-a6c7-49e1-be57-db844915ef09@suse.com>
Date: Fri, 21 Mar 2025 15:04:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Dario Faggioli
 <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Mirela Simonovic <mirela.simonovic@aggios.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
 <428f538a-0761-4d06-9c4f-ba74cf441b0d@suse.com>
 <CAGeoDV9Tgd1MhVutbKhWRJkMMMix5yFVRcA6vX=fP=fzqFdV1w@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: <CAGeoDV9Tgd1MhVutbKhWRJkMMMix5yFVRcA6vX=fP=fzqFdV1w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.03.2025 10:50, Mykola Kvach wrote:
> On Thu, Mar 13, 2025 at 5:34âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>> On 05.03.2025 10:11, Mykola Kvach wrote:
>>> +void watchdog_domain_resume(struct domain *d)
>>> +{
>>> +    unsigned int i;
>>> +
>>> +    spin_lock(&d->watchdog_lock);
>>> +
>>> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
>>> +    {
>>> +        if ( test_bit(i, &d->watchdog_inuse_map) )
>>> +        {
>>> +            set_timer(&d->watchdog_timer[i].timer,
>>> +                      NOW() + SECONDS(d->watchdog_timer[i].timeout));
>>
>> The timeout may have almost expired before suspending; restoring to the
>> full original period feels wrong. At the very least, if that's indeed
>> intended behavior, imo this needs spelling out explicitly.
> 
> It takes some time to wake up the domain, but the watchdog timeout is
> reset by a userspace daemon. As a result, we can easily encounter a
> watchdog trigger during the  resume process.

Which may mean the restoring is done too early, or needs doing in two
phases.

> It looks like we should
> stop the watchdog timer from the guest, and in that case, we can drop
> all changes related to the watchdog in this patch series.

Except that then you require a guest to be aware of host suspend. Which
may not be desirable.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 14:10:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 14:10:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924087.1327422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvd5H-0005Cw-VE; Fri, 21 Mar 2025 14:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924087.1327422; Fri, 21 Mar 2025 14: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 1tvd5H-0005Cp-Sb; Fri, 21 Mar 2025 14:10:51 +0000
Received: by outflank-mailman (input) for mailman id 924087;
 Fri, 21 Mar 2025 14:10: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=QZeu=WI=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1tvd5G-0005Cj-Bd
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 14:10:50 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20625.outbound.protection.outlook.com
 [2a01:111:f403:2612::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 491d1eb2-065e-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 15:10:47 +0100 (CET)
Received: from DU2PR04CA0281.eurprd04.prod.outlook.com (2603:10a6:10:28c::16)
 by PA4PR08MB6175.eurprd08.prod.outlook.com (2603:10a6:102:eb::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Fri, 21 Mar
 2025 14:10:45 +0000
Received: from DU2PEPF00028D03.eurprd03.prod.outlook.com
 (2603:10a6:10:28c:cafe::79) by DU2PR04CA0281.outlook.office365.com
 (2603:10a6:10:28c::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Fri,
 21 Mar 2025 14:10:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D03.mail.protection.outlook.com (10.167.242.187) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Fri, 21 Mar 2025 14:10:45 +0000
Received: ("Tessian outbound 9f6e20ec4b41:v597");
 Fri, 21 Mar 2025 14:10:44 +0000
Received: from L06f4bc508187.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2E7C1A03-1596-4941-B00C-31C27D8F7B93.1; 
 Fri, 21 Mar 2025 14:10:35 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L06f4bc508187.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 21 Mar 2025 14:10:35 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by VE1PR08MB5822.eurprd08.prod.outlook.com (2603:10a6:800:1a7::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.37; Fri, 21 Mar
 2025 14:10:34 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.036; Fri, 21 Mar 2025
 14:10: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: 491d1eb2-065e-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=X3r8Vz9yyTud7AslPzrmf7oNx6cdocW8dcUjNkPiW70pE6mMN29F0++fMQVzHFZ5qhDOqZrnYDb+hqoo8TpBCi2+JksOElNXe6R2KulNFQZafRJT86WCDWTrO8cq2XDmLJ/v31mRVCXlGu/3Uq57pfybgyB2GV8Ye3VMWCa9Dk/ImU+NXgEfB142Xm7Lj/7c/+b0YKmJxF3wxTLuNzSVwDjCj2dGFBHC9V1O1YfYqDgDtnag0BZEjZGpZlrLkYG/uEXylzxBMUlaX8YPcUabHkofFOJpN2NYVR0bBfmDN9+AoS0Ab6gKbzWDEvscj6ndvE8FeN4ryXYuJ4CIV6HvVw==
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=oF2ux00rlnmLE5mWvYw/tbw7rOF3AScU/yhrKyfeNp0=;
 b=Ew3P7wXA92Yf4ZhLHuvP2/XiaVJ6ol7ketwkmaes40dn+Q/ajgvckDsSebw0T3BB/z+6FXanA/sLzuIGh118U1HbhFc+4Bx2nRaU3VIAlQ6/GXC2sX9Ft1MkIKLuTUMpwrN9Oko4S25tnXBGUGnZG9pA02cC+qRhy8PzR7DVPLSl0ArKwK9npo84ih3XH9vVGU9bDps/XWZVw3g7Jpok//eLnycZ69PCFgGf0UryR68WFkb5KIsxUzbIyMInxOVo2KbbcSbx4PVykU5psMoNT0n0pI1XNL+x/YZICzNDynTqKa04AFDGajUAwtj9V5RMbaTilJ9jLaAooVjAvqsCAg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=oF2ux00rlnmLE5mWvYw/tbw7rOF3AScU/yhrKyfeNp0=;
 b=TUq1drGH+6ySj2y8Lwx0RaA1vVoMh8B/6RKbSTKfaIDWlzUs9Wh1sK6BLJgO/tJKBB2MJXL9UqP2UQhMahlbvoXPBf9lKJvYRj4GNCjXL8B2nsJQPcrztDF2SoK+b6vQ7WFSaqykeSruipZvEOffqG2d+3cuSIxve8QTxc83fNk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d95fbb6261b48749
X-TessianGatewayMetadata: JOLqp3QHAAgrwNPM4DJPG857xPp6EN45/OUrku4QgXVCCIME8jfqVeO6/X3f8sENiYx8L5puk4vw7nNklrleqD03nWKSKwo1v0+tnRss0j9maeFapMbaUULJQuXHhEMk3MhtgjO4AxHAqGfbyutnR8FwhHbvTSfhyGu6QL6bVzs=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gzjd9V82YeZcEdzJ/R4XhiCAt/2fZhRKVSkkFscLp4U1GCXd9BxiPajTLXdNsokhZ5r3U6rAA5PhSQ6AQWLJGG8rndMuJBz+SGbl04al/b+fK8AjCDo0PmJP7jJKBGp14c5+HUFaz77caLfgwiPySKeZKtASFpWwTJ3TDn0Kw4f8Tgrfp7mfkAdKiU9xpuGGwb03Ei5BpN/emdfyZs3nhXdlNql/uwnZA2+Q8hX5ebnJOSff3DryKf8po0fh6FSjQaeIA7d5HXLMjdWrzTYxezi6+4ZDwZXkccOpWQ2lyroPHSagMzSutsUYUKp8SvBT7fBX53NQ1NB1CxgJvAF3Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oF2ux00rlnmLE5mWvYw/tbw7rOF3AScU/yhrKyfeNp0=;
 b=IJAAgyYoP1mF6E3kQYWG137oHX+39EWMGD1Xnvh94F3qK4jlOotA/dDHfRtPll9Kb4UZ10awn1uiYvkrbWYi2JfM0k0+U3YNPwClD4aPsk18Jv5QTNj2Eh9r5g8nxVqs2jhWT1AA4jaGp0w9BfPKvYaDEuXDVuwV4AY7m0k6v+c5tuoBvtciqSVXpqiw7ydCfMM2mtP1cwspZ8K16nBnqDQmB6BVgsporJlK1zw8ScGQc6gX7RNLye1/JVXx+yDPa1UtIP4fiEJFB7KaoECXoUefSfK71PCJc6PrF8CnI55OZ5rsAYbSxYck+m2FotoeZTA2Ac3yqsM+6ZdfXNl6UQ==
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=oF2ux00rlnmLE5mWvYw/tbw7rOF3AScU/yhrKyfeNp0=;
 b=TUq1drGH+6ySj2y8Lwx0RaA1vVoMh8B/6RKbSTKfaIDWlzUs9Wh1sK6BLJgO/tJKBB2MJXL9UqP2UQhMahlbvoXPBf9lKJvYRj4GNCjXL8B2nsJQPcrztDF2SoK+b6vQ7WFSaqykeSruipZvEOffqG2d+3cuSIxve8QTxc83fNk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Topic: [PATCH v2 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Index:
 AQHbkcvqUcfBAkFPRke6B/ThQimwz7N9WnkAgAAIEICAAAx4gIAAPN+AgAADowCAAALegA==
Date: Fri, 21 Mar 2025 14:10:33 +0000
Message-ID: <C6F9E733-14FE-45CB-9C97-60C4BA87386D@arm.com>
References: <cover.1741617888.git.bertrand.marquis@arm.com>
 <400fdd82de6e61e8e7598a120bb0bbe2c354ab72.1741617888.git.bertrand.marquis@arm.com>
 <CAHUa44FW02v4_6pTiGqcWrFMLqdayuUF5pXM8cfKusOXHC7Jyw@mail.gmail.com>
 <7B45963D-8908-420C-89ED-15769357779C@arm.com>
 <CAHUa44HumXeMR66Pu4xMODHms4PiM7+ANmPB1tG+UO9BpGDpLQ@mail.gmail.com>
 <783A9243-EBA6-40CC-A0A7-4DD9E8AFE57F@arm.com>
 <CAHUa44Hm3Uv31LEEruBu-APCkkD2wwQew4UcUcqqgk+4_Tug9w@mail.gmail.com>
In-Reply-To:
 <CAHUa44Hm3Uv31LEEruBu-APCkkD2wwQew4UcUcqqgk+4_Tug9w@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|VE1PR08MB5822:EE_|DU2PEPF00028D03:EE_|PA4PR08MB6175:EE_
X-MS-Office365-Filtering-Correlation-Id: f5dc33d5-d507-4cd8-02f6-08dd68822c2c
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|10070799003|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?aUNvSm5jOERzL0xsbHFsNWdlWXN2NCs2ZkJlQjRLOW9MT0E5dGIraGRNdXFQ?=
 =?utf-8?B?d3ZyZTRreUR2alZwNTlja0FhT0tDRWQ3emszZkhDSGFJZy9RNXRhVHZZSHVY?=
 =?utf-8?B?dDhOYkZZQVhlc0tWTzNCeTFVRFZIQzArUVRXLzR1b09VTzc4QWdBZUh1WDh5?=
 =?utf-8?B?SU5Ud0k4Z0srNjJnSGd3RTB3eUMvRmhQejk4R1ZzT1hXUkY2Mi9vRVBoc0VN?=
 =?utf-8?B?UXRjL3dySy9KL2JYM2VDam5HaEs0SnpnNUU2THlyQVVVK2RoVmhnUkYyOGlU?=
 =?utf-8?B?RGdMT0hJRzIxRDZwR3FkejZUSmZiWTdNZ2ZnNEhLU0dveDlMVE9wcVNmK2pn?=
 =?utf-8?B?Z3RQZmpsL01YcFFwNjJNcDZ2SWczNi81a0tuYUd4SkpkRWFlRE5lcHI4aWR5?=
 =?utf-8?B?RjJoM0wxVVJaQWNZNEhTYzdSclJZTDZDS25rT21QRWZzbTRLQU9LbTdXb1hD?=
 =?utf-8?B?QjlXbXVSZ09mS0UwNUFsdU9DY0xEdzBERXVTUXVMWjRUV01oRWcrbU9QUFNZ?=
 =?utf-8?B?Y1RrMGZnK3JxWVd3S1VOTGRFTGp4M3B5QnZjVms2Y0NPRlRTdVczLzRBN0dl?=
 =?utf-8?B?Ti9vTFhqV3M5YXRlcXE3c3VZSUIwUUwwRGhDMGpWWjVIU29nU0c3SVBLV01V?=
 =?utf-8?B?OXROSkd3RngxSzdGdndidGY5amExVnZObDVXa1ZPb2FUQ2tVVWUrZEpXbElK?=
 =?utf-8?B?UncxM3lkbkRERnVDam1za1NFdVRiZXhQYVpoM3hKSjJObWJUQmlkOFF0dWdT?=
 =?utf-8?B?WUR4djM1YWxvaWZCYldoZmpuUDdsQnlnMnFMMWdFS2pycGlsNDBqSmVyeXNX?=
 =?utf-8?B?WkJwclFpa2FXakR1SnY5MWo4SkhlQjJYV2YxUEpWbC9MazIzQmI3RUpFOUow?=
 =?utf-8?B?THlNY0hsK01YeHFNdWNVenZwTUcveUlzVjl5S2ZtTUZVZlBtMnI4ZVY0Z0ht?=
 =?utf-8?B?ckFmWEN5SkF6bS9jQ3ZzalVkdXp4VnJkc2gySEswWndrcndXRGYybWlueTl2?=
 =?utf-8?B?Y3NUTm9wQjBRb3Q5Zk9vQllVREJoZW5VTTNCQjNNRGFRTCtlNkdmOHpUOGVU?=
 =?utf-8?B?MnVrVmRia0VOLzdGTXh6QitQWnptQmJiSTBNQitDdS9iVGV3blcwM2lVTkda?=
 =?utf-8?B?N05uMTR0bHlqM1BHTnE2Y2Q1b0k3VTUzTzNMMlY5NCtiRm5qQ3ZzWjdxamZY?=
 =?utf-8?B?bmo4UWd1a1NQc3VydFlvb0hBYnZjekplUUF2K1NERFJPMmxSeW9QWDF5R2xu?=
 =?utf-8?B?WkVFSDRJYUNOTUZRejBHMkJGZzBGL1MxRUxWMFo2R2pBald3QVFBYmM0MjhS?=
 =?utf-8?B?UVpIc0R5TG00NUNGdHByWEZCcHRpN2szZ21EL01SV3VTcTZVajhjTUtjbCs5?=
 =?utf-8?B?MWkyMXBna0JKbU5LbndWUlp2UDl0dUNVRURCQ3AvWjlNMk1rbis2Z3QzOG85?=
 =?utf-8?B?Slc5NWlXNmZoM1R2dlhUVHVCTlR4WFczS3ArTjlCRGgyK0NlMUlZR1M1UFlK?=
 =?utf-8?B?SU9lMHVoa1hlRkpKWmpKajlMdGRsK3c4SU54ZWdSYWNwS0xuUUd3ZUhhTXR5?=
 =?utf-8?B?eFlOczQxYUQxYjQ4MnNEMThnTE5ETitidDd2ZVl4U3RycVJobHM3c1FJOTNj?=
 =?utf-8?B?M3N5ZThaM0dORmJ2N1IvYnRjY05YVVQ2MmtEamYxVFBXY3JoV29vcFg0aVp0?=
 =?utf-8?B?ZzRXUElQaE9SMWpRMC9FNmh1WlVRaGZOazlXS2p2NTNhcTBtUEtuS3FranNO?=
 =?utf-8?B?ckxZQkRQdStOMFNtY21JY2RZb0xUZmdBUEJPSnNDR1FzdkRwdFRoT1V5dkc3?=
 =?utf-8?B?QWc0eHd5YmdoaFUzdU1uNjkrQ1FlRHB4cERNN2E4YmRSb29SY0NDL3NKd20r?=
 =?utf-8?B?QVhWVisxNk9uRFVNYVVBNjNFdUpQeU4xSHhPWitkeTY1czZQSDVlbWxUallR?=
 =?utf-8?Q?iaTjR0xG6/CFHH/QQNNtKLUhxFeeth5O?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(10070799003)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8C43FFC74DD5204BAF2CDA8219501E9E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5822
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D03.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4cbea522-d209-4384-9016-08dd68822568
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|14060799003|36860700013|376014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YWx6WTZWNlE0SzlQMlpPenUzeHdQK3ZpcElyL0R0ZjBnbTJ1K1ZUNlNFTzBC?=
 =?utf-8?B?N0ZMdjdzOXhVbXEvZW5Nb0MwcjU4R2dvZzM2QjJ5cGJKTGQwaHBxMXdOc1Mr?=
 =?utf-8?B?ZGptRlp3aXh0OGhYYnZuMzlWYzkyMEwzQXp5N1ZsaUNMUmkzMUJzcEpiTXFk?=
 =?utf-8?B?cGE2OGxIK2crK1JaT3NaN3dvWTRSYzBkUEp0bXY0QW55KzNJYm1jL0xQdUJB?=
 =?utf-8?B?VE1GZUUvWTlhTUF4czVuVTBCcU1wU0JiZUJHd2dxU29acnlaQ3p1emgvTW11?=
 =?utf-8?B?c2ZqNFBoNmIrSTZ3akRoTzdqdkhWdUVqWHNiV3dUUERNYzg2bGxpRk1sODVq?=
 =?utf-8?B?S0N1QlRaRE9xeTNRdGt6b2ZvbXJLZzE3TldVNXptRUgybk9PWDcvRHkvMGM5?=
 =?utf-8?B?R1FkSGwvSFVEdVhSVzJkY1kySmZpeWxoQlcxZHlITlM3WUVwMGsvbi8wMk9I?=
 =?utf-8?B?aTkySmN0YlBpQ0RqVFlnZGlCbjh1VlcveHZKYzg4dVc4ay9ZNEpMcDduTCs1?=
 =?utf-8?B?cVU0WmQxblZZeXhGendJRlNmVjk1cnMzbkExV2ZUWjl4YmJhRmR4ZE03VGcy?=
 =?utf-8?B?V2VwQm0zdXB6L0VjSmtSWk5Tb2Y5NnNVWEFJRityYXRDMzFqUFluYnFZYk5l?=
 =?utf-8?B?cHhhZ2FSS20vdXhjMnUvZWV6Sy9nL2YxN3NpRFFNbVJvWE5QUjJQVW1TYTNS?=
 =?utf-8?B?VG9RdnlidzJkaVM4WVB6c2NnZWVZekdQQXgrbGg5TFgxRVIxMEZITVBpRUl5?=
 =?utf-8?B?bHNaMjQwSG9LcGYxeGsyS082OXA2T3RvVzA4d29pSVlmQlVGSnBWTVhtRWZz?=
 =?utf-8?B?dnVPNjhZYSs4Zy90ZXZvbVgvWGNhQ2ttcW5rRmkyb3BSTTJtVkpNdG00QnJG?=
 =?utf-8?B?NnNTT2N0SG9aMTIxY3R0OHRQNGh1QktKUjBWYVNTUWR4WHQ4TlJwODQ1NzVy?=
 =?utf-8?B?ek1iSUcxblh2TnZ0OEs5QWYrUk9wS05QZExlTi9EU1pjbzgxR3dkMUhBM3dl?=
 =?utf-8?B?b2pFKzBSYVRBSGFXTWJyZlZ2cllva1VmS2I0Vzc5Rk9Nd0Y0VVNwN0REUWJt?=
 =?utf-8?B?b003ak5FdTBKUjJHd0dlamU2VllOVHVaVzcyN1A1eHFPS1FRZGxBZjI0Rnkz?=
 =?utf-8?B?OTNSZ1RCUjB5cVA0R3lZTEZjTzF3Q29JNjRsU3hqR2xjY2w2QmJGL0p3VndP?=
 =?utf-8?B?dSt3MG9QczJ6Q2RXbTdmazd6eGMxbW14L3pPT3JCUkpzUC80UVgrUmlGYjJw?=
 =?utf-8?B?MENsa2hDWk9NTHlicVVBM0I2dk5SMUR1Qnl6aDRZTHd1dTd0ZUdpZ3prWHJu?=
 =?utf-8?B?TlBFRmp0YjE3UzFqYUJUbGhmbmhYWVlWbWM0Qnd6amFBNnUxY2IrRW5KamxR?=
 =?utf-8?B?R3ZKa2FncjlDS3R6SW5MK0ZnQUljQ3F1RG9RWHlUcGh0Q2xhL05vNkZZb25O?=
 =?utf-8?B?OEpZOWtmc25MVzJWVStYdjR1NGYxRHc4a0Z4THpjS05VQjZmcXR0b01adnBE?=
 =?utf-8?B?MEJTS1JYSFNzaFFaL3ZUYXN1azlQZGI5d2NHWnpwMWM0TUYwV0ZGeVk0dkF4?=
 =?utf-8?B?UU1rNnhuQU1oNFBYbDAzdG82SnZaRWl0OXJqbTBzaGk2VmJNMDN6c2twTE5j?=
 =?utf-8?B?U1RrTFV4a3ZTd0RLQ0dUajg2UW9HWWp0dVFCc1RjZ0hOdmc0Rkp6SWxHbW5Q?=
 =?utf-8?B?WDEzNnlCTHhJY1FYenh1Y05OUGFQem8wRzdLd3hoSEdaSmpOUmZZK3p0b0cx?=
 =?utf-8?B?bXlXbzFSaytyaytpdG8vemFpMTk5cmRtb0dneGxURmZRdDF0REhDM1FpY3dj?=
 =?utf-8?B?L3R1NkRnUnlMTUFPcktOMGtWdFdMaTNad1NqQUhTUEp1THd5U1MxdkV0K3dI?=
 =?utf-8?B?bWdxbzdZWVJYMmRzWWFvbTE1T1g5a0FaZUJIZWpiWk1MWmNva3RTVi8yMmVL?=
 =?utf-8?B?aU1MT0RHd2lIeFRwckI3eGN1bmQ1T0l2QkpsSk5vSGVpdXpXQlVTU2RWbHJF?=
 =?utf-8?Q?Jd6VYCBH7mNFIQ2IB4Xfg3WkzL21Ww=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(14060799003)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2025 14:10:45.2597
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f5dc33d5-d507-4cd8-02f6-08dd68822c2c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D03.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6175

SGkgSmVucywNCg0KPiBPbiAyMSBNYXIgMjAyNSwgYXQgMTU6MDAsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gRnJpLCBNYXIgMjEsIDIwMjUgYXQgMjo0N+KAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4g
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpIEplbnMsDQo+PiAN
Cj4+PiBPbiAyMSBNYXIgMjAyNSwgYXQgMTE6MDksIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xh
bmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4+PiANCj4+PiBIaSwNCj4+PiANCj4+PiBPbiBGcmks
IE1hciAyMSwgMjAyNSBhdCAxMDoyNeKAr0FNIEJlcnRyYW5kIE1hcnF1aXMNCj4+PiA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPiB3cm90ZToNCj4+Pj4gDQo+Pj4+IEhpIEplbnMsDQo+Pj4+IA0K
Pj4+Pj4gT24gMjEgTWFyIDIwMjUsIGF0IDA5OjU1LCBKZW5zIFdpa2xhbmRlciA8amVucy53aWts
YW5kZXJAbGluYXJvLm9yZz4gd3JvdGU6DQo+Pj4+PiANCj4+Pj4+IEhpIEJlcnRyYW5kLA0KPj4+
Pj4gDQo+Pj4+PiBPbiBNb24sIE1hciAxMCwgMjAyNSBhdCAzOjUx4oCvUE0gQmVydHJhbmQgTWFy
cXVpcw0KPj4+Pj4gPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+Pj4+Pj4gDQo+
Pj4+Pj4gV2hlbiBWTSB0byBWTSBzdXBwb3J0IGlzIGFjdGl2YXRlZCBhbmQgdGhlcmUgaXMgbm8g
c3VpdGFibGUgRkYtQSBzdXBwb3J0DQo+Pj4+Pj4gaW4gdGhlIGZpcm13YXJlLCBlbmFibGUgRkYt
QSBzdXBwb3J0IGZvciBWTXMgdG8gYWxsb3cgdXNpbmcgaXQgZm9yIFZNIHRvDQo+Pj4+Pj4gVk0g
Y29tbXVuaWNhdGlvbnMuDQo+Pj4+Pj4gSWYgdGhlcmUgaXMgT3B0ZWUgcnVubmluZyBpbiB0aGUg
c2VjdXJlIHdvcmxkIGFuZCB1c2luZyB0aGUgbm9uIEZGLUENCj4+Pj4+IA0KPj4+Pj4gSXQncyBz
cGVsbGVkIE9QLVRFRSBpbiB0ZXh0LCBhbmQgb3B0ZWUgb3IgT1BURUUgaW4gaWRlbnRpZmllcnMu
DQo+Pj4+IA0KPj4+PiBhY2sNCj4+Pj4gDQo+Pj4+PiANCj4+Pj4+PiBjb21tdW5pY2F0aW9uIHN5
c3RlbSwgaGF2aW5nIENPTkZJR19GRkFfVk1fVE9fVk0gY291bGQgYmUgbm9uIGZ1bmN0aW9uYWwN
Cj4+Pj4+PiAoaWYgb3B0ZWUgaXMgcHJvYmVkIGZpcnN0KSBvciBPcHRlZSBjb3VsZCBiZSBub24g
ZnVuY3Rpb25hbCAoaWYgRkYtQSBpcw0KPj4+Pj4+IHByb2JlZCBmaXJzdCkgc28gaXQgaXMgbm90
IHJlY29tbWVuZGVkIHRvIGFjdGl2YXRlIHRoZSBjb25maWd1cmF0aW9uDQo+Pj4+Pj4gb3B0aW9u
IGZvciBzdWNoIHN5c3RlbXMuDQo+Pj4+Pj4gDQo+Pj4+Pj4gVG8gbWFrZSBidWZmZXIgZnVsbCBu
b3RpZmljYXRpb24gd29yayBiZXR3ZWVuIFZNcyB3aGVuIHRoZXJlIGlzIG5vdA0KPj4+Pj4gDQo+
Pj4+PiBzL25vdC9uby8NCj4+Pj4gDQo+Pj4+IGFjaw0KPj4+PiANCj4+Pj4+IA0KPj4+Pj4+IGZp
cm13YXJlLCByZXdvcmsgdGhlIG5vdGlmaWNhdGlvbiBoYW5kbGluZyBhbmQgbW9kaWZ5IHRoZSBn
bG9iYWwgZmxhZyB0bw0KPj4+Pj4+IG9ubHkgYmUgdXNlZCBhcyBjaGVjayBmb3IgZmlybXdhcmUg
bm90aWZpY2F0aW9uIHN1cHBvcnQgaW5zdGVhZC4NCj4+Pj4+PiANCj4+Pj4+PiBNb2RpZnkgcGFy
dF9pbmZvX2dldCB0byByZXR1cm4gdGhlIGxpc3Qgb2YgVk1zIHdoZW4gdGhlcmUgaXMgbm8gZmly
bXdhcmUNCj4+Pj4+PiBzdXBwb3J0Lg0KPj4+Pj4+IA0KPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEJl
cnRyYW5kIE1hcnF1aXMgPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4NCj4+Pj4+PiAtLS0NCj4+
Pj4+PiBDaGFuZ2VzIGluIHYyOg0KPj4+Pj4+IC0gcmVwbGFjZSBpZmRlZiB3aXRoIElTX0VOQUJM
RUQgd2hlbiBwb3NzaWJsZQ0KPj4+Pj4+IC0tLQ0KPj4+Pj4+IHhlbi9hcmNoL2FybS90ZWUvZmZh
LmMgICAgICAgICAgfCAgMTIgKysrLQ0KPj4+Pj4+IHhlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlm
LmMgICAgfCAxMTQgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4+PiB4ZW4v
YXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5jIHwgICAzICstDQo+Pj4+Pj4gMyBmaWxlcyBjaGFu
Z2VkLCA2OSBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkNCj4+Pj4+PiANCj4+Pj4+PiBk
aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmEuYyBiL3hlbi9hcmNoL2FybS90ZWUvZmZh
LmMNCj4+Pj4+PiBpbmRleCAzYmJkZDcxNjhhNmIuLmY2NTgyZDJlODU1YSAxMDA2NDQNCj4+Pj4+
PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+Pj4+Pj4gKysrIGIveGVuL2FyY2gvYXJt
L3RlZS9mZmEuYw0KPj4+Pj4+IEBAIC0zMjQsOCArMzI0LDkgQEAgc3RhdGljIGludCBmZmFfZG9t
YWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkNCj4+Pj4+PiAgIHN0cnVjdCBmZmFfY3R4ICpjdHg7
DQo+Pj4+Pj4gICBpbnQgcmV0Ow0KPj4+Pj4+IA0KPj4+Pj4+IC0gICAgaWYgKCAhZmZhX2Z3X3Zl
cnNpb24gKQ0KPj4+Pj4+ICsgICAgaWYgKCAhSVNfRU5BQkxFRChDT05GSUdfRkZBX1ZNX1RPX1ZN
KSAmJiAhZmZhX2Z3X3ZlcnNpb24gKQ0KPj4+Pj4+ICAgICAgIHJldHVybiAtRU5PREVWOw0KPj4+
Pj4+ICsNCj4+Pj4+PiAgIC8qDQo+Pj4+Pj4gICAgKiBXZSBhcmUgdXNpbmcgdGhlIGRvbWFpbl9p
ZCArIDEgYXMgdGhlIEZGLUEgSUQgZm9yIFZNcyBhcyBGRi1BIElEIDAgaXMNCj4+Pj4+PiAgICAq
IHJlc2VydmVkIGZvciB0aGUgaHlwZXJ2aXNvciBhbmQgd2Ugb25seSBzdXBwb3J0IHNlY3VyZSBl
bmRwb2ludHMgdXNpbmcNCj4+Pj4+PiBAQCAtNTQ5LDYgKzU1MCwxNSBAQCBlcnJfbm9fZnc6DQo+
Pj4+Pj4gICBiaXRtYXBfemVybyhmZmFfZndfYWJpX3N1cHBvcnRlZCwgRkZBX0FCSV9CSVRNQVBf
U0laRSk7DQo+Pj4+Pj4gICBwcmludGsoWEVOTE9HX1dBUk5JTkcgIkFSTSBGRi1BIE5vIGZpcm13
YXJlIHN1cHBvcnRcbiIpOw0KPj4+Pj4+IA0KPj4+Pj4+ICsgICAgaWYgKCBJU19FTkFCTEVEKENP
TkZJR19GRkFfVk1fVE9fVk0pICkNCj4+Pj4+PiArICAgIHsNCj4+Pj4+PiArICAgICAgICBJTklU
X0xJU1RfSEVBRCgmZmZhX3RlYXJkb3duX2hlYWQpOw0KPj4+Pj4+ICsgICAgICAgIGluaXRfdGlt
ZXIoJmZmYV90ZWFyZG93bl90aW1lciwgZmZhX3RlYXJkb3duX3RpbWVyX2NhbGxiYWNrLCBOVUxM
LCAwKTsNCj4+Pj4+PiArDQo+Pj4+Pj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPICJBUk0g
RkYtQSBvbmx5IGF2YWlsYWJsZSBiZXR3ZWVuIFZNc1xuIik7DQo+Pj4+Pj4gKyAgICAgICAgcmV0
dXJuIHRydWU7DQo+Pj4+Pj4gKyAgICB9DQo+Pj4+Pj4gKw0KPj4+Pj4+ICAgcmV0dXJuIGZhbHNl
Ow0KPj4+Pj4+IH0NCj4+Pj4+PiANCj4+Pj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3Rl
ZS9mZmFfbm90aWYuYyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlmLmMNCj4+Pj4+PiBpbmRl
eCBkMTlhYTVjNWJlZjYuLjA2NzNlNTNhOWRlZiAxMDA2NDQNCj4+Pj4+PiAtLS0gYS94ZW4vYXJj
aC9hcm0vdGVlL2ZmYV9ub3RpZi5jDQo+Pj4+Pj4gKysrIGIveGVuL2FyY2gvYXJtL3RlZS9mZmFf
bm90aWYuYw0KPj4+Pj4+IEBAIC0xNiw3ICsxNiw3IEBADQo+Pj4+Pj4gDQo+Pj4+Pj4gI2luY2x1
ZGUgImZmYV9wcml2YXRlLmgiDQo+Pj4+Pj4gDQo+Pj4+Pj4gLXN0YXRpYyBib29sIF9fcm9fYWZ0
ZXJfaW5pdCBub3RpZl9lbmFibGVkOw0KPj4+Pj4+ICtzdGF0aWMgYm9vbCBfX3JvX2FmdGVyX2lu
aXQgZndfbm90aWZfZW5hYmxlZDsNCj4+Pj4+PiBzdGF0aWMgdW5zaWduZWQgaW50IF9fcm9fYWZ0
ZXJfaW5pdCBub3RpZl9zcmlfaXJxOw0KPj4+Pj4+IA0KPj4+Pj4+IGludCBmZmFfaGFuZGxlX25v
dGlmaWNhdGlvbl9iaW5kKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4+Pj4+IEBAIC0y
NywyMSArMjcsMTcgQEAgaW50IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2JpbmQoc3RydWN0IGNw
dV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4+Pj4gICB1aW50MzJfdCBiaXRtYXBfbG8gPSBnZXRfdXNl
cl9yZWcocmVncywgMyk7DQo+Pj4+Pj4gICB1aW50MzJfdCBiaXRtYXBfaGkgPSBnZXRfdXNlcl9y
ZWcocmVncywgNCk7DQo+Pj4+Pj4gDQo+Pj4+Pj4gLSAgICBpZiAoICFub3RpZl9lbmFibGVkICkN
Cj4+Pj4+PiAtICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+Pj4+IC0N
Cj4+Pj4+PiAgIGlmICggKHNyY19kc3QgJiAweEZGRkZVKSAhPSBmZmFfZ2V0X3ZtX2lkKGQpICkN
Cj4+Pj4+PiAgICAgICByZXR1cm4gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4+Pj4g
DQo+Pj4+Pj4gICBpZiAoIGZsYWdzICkgICAgLyogT25seSBnbG9iYWwgbm90aWZpY2F0aW9ucyBh
cmUgc3VwcG9ydGVkICovDQo+Pj4+Pj4gICAgICAgcmV0dXJuIEZGQV9SRVRfREVOSUVEOw0KPj4+
Pj4+IA0KPj4+Pj4+IC0gICAgLyoNCj4+Pj4+PiAtICAgICAqIFdlIG9ubHkgc3VwcG9ydCBub3Rp
ZmljYXRpb25zIGZyb20gU1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUgc2VuZGVyDQo+Pj4+Pj4g
LSAgICAgKiBlbmRwb2ludCBJRCwgdGhlIFNQTUMgd2lsbCB0YWtlIGNhcmUgb2YgdGhhdCBmb3Ig
dXMuDQo+Pj4+Pj4gLSAgICAgKi8NCj4+Pj4+PiAtICAgIHJldHVybiBmZmFfc2ltcGxlX2NhbGwo
RkZBX05PVElGSUNBVElPTl9CSU5ELCBzcmNfZHN0LCBmbGFncywgYml0bWFwX2xvLA0KPj4+Pj4+
IC0gICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBfaGkpOw0KPj4+Pj4+ICsgICAgaWYg
KCBGRkFfSURfSVNfU0VDVVJFKHNyY19kc3Q+PjE2KSAmJiBmd19ub3RpZl9lbmFibGVkICkNCj4+
Pj4+IA0KPj4+Pj4gUGxlYXNlIGFkZCBzcGFjZSBiZWZvcmUgYW5kIGFmdGVyICc+PicsIGhlcmUg
YW5kIGluIHRoZSBmdW5jdGlvbiBiZWxvdw0KPj4+Pj4gaW4gdGhpcyBwYXRjaC4NCj4+Pj4gDQo+
Pj4+IGFjaw0KPj4+PiANCj4+Pj4+IA0KPj4+Pj4+ICsgICAgICAgIHJldHVybiBmZmFfc2ltcGxl
X2NhbGwoRkZBX05PVElGSUNBVElPTl9CSU5ELCBzcmNfZHN0LCBmbGFncywNCj4+Pj4+PiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9sbywgYml0bWFwX2hpKTsNCj4+Pj4+
PiArDQo+Pj4+Pj4gKyAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+Pj4+IH0N
Cj4+Pj4+PiANCj4+Pj4+PiBpbnQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fdW5iaW5kKHN0cnVj
dCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4+Pj4+IEBAIC01MSwzMiArNDcsMzQgQEAgaW50IGZm
YV9oYW5kbGVfbm90aWZpY2F0aW9uX3VuYmluZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykN
Cj4+Pj4+PiAgIHVpbnQzMl90IGJpdG1hcF9sbyA9IGdldF91c2VyX3JlZyhyZWdzLCAzKTsNCj4+
Pj4+PiAgIHVpbnQzMl90IGJpdG1hcF9oaSA9IGdldF91c2VyX3JlZyhyZWdzLCA0KTsNCj4+Pj4+
PiANCj4+Pj4+PiAtICAgIGlmICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+Pj4+IC0gICAgICAgIHJl
dHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+Pj4+Pj4gLQ0KPj4+Pj4+ICAgaWYgKCAoc3Jj
X2RzdCAmIDB4RkZGRlUpICE9IGZmYV9nZXRfdm1faWQoZCkgKQ0KPj4+Pj4+ICAgICAgIHJldHVy
biBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+Pj4+PiANCj4+Pj4+PiAtICAgIC8qDQo+
Pj4+Pj4gLSAgICAgKiBXZSBvbmx5IHN1cHBvcnQgbm90aWZpY2F0aW9ucyBmcm9tIFNQIHNvIG5v
IG5lZWQgdG8gY2hlY2sgdGhlDQo+Pj4+Pj4gLSAgICAgKiBkZXN0aW5hdGlvbiBlbmRwb2ludCBJ
RCwgdGhlIFNQTUMgd2lsbCB0YWtlIGNhcmUgb2YgdGhhdCBmb3IgdXMuDQo+Pj4+Pj4gLSAgICAg
Ki8NCj4+Pj4+PiAtICAgIHJldHVybiAgZmZhX3NpbXBsZV9jYWxsKEZGQV9OT1RJRklDQVRJT05f
VU5CSU5ELCBzcmNfZHN0LCAwLCBiaXRtYXBfbG8sDQo+Pj4+Pj4gLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiaXRtYXBfaGkpOw0KPj4+Pj4+ICsgICAgaWYgKCBGRkFfSURfSVNfU0VDVVJF
KHNyY19kc3Q+PjE2KSAmJiBmd19ub3RpZl9lbmFibGVkICkNCj4+Pj4+PiArICAgICAgICByZXR1
cm4gIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9USUZJQ0FUSU9OX1VOQklORCwgc3JjX2RzdCwgMCwg
Yml0bWFwX2xvLA0KPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1h
cF9oaSk7DQo+Pj4+Pj4gKw0KPj4+Pj4+ICsgICAgcmV0dXJuIEZGQV9SRVRfTk9UX1NVUFBPUlRF
RDsNCj4+Pj4+PiB9DQo+Pj4+Pj4gDQo+Pj4+Pj4gdm9pZCBmZmFfaGFuZGxlX25vdGlmaWNhdGlv
bl9pbmZvX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+Pj4+PiB7DQo+Pj4+Pj4g
ICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4+Pj4+ICAgc3RydWN0IGZm
YV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+Pj4+ICsgICAgYm9vbCBub3RpZl9wZW5kaW5n
ID0gZmFsc2U7DQo+Pj4+Pj4gDQo+Pj4+Pj4gLSAgICBpZiAoICFub3RpZl9lbmFibGVkICkNCj4+
Pj4+PiArICAgIGlmICggIUlTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgJiYgIWZ3X25v
dGlmX2VuYWJsZWQgKQ0KPj4+Pj4+ICAgew0KPj4+Pj4+ICAgICAgIGZmYV9zZXRfcmVnc19lcnJv
cihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQpOw0KPj4+Pj4+ICAgICAgIHJldHVybjsNCj4+
Pj4+PiAgIH0NCj4+Pj4+PiANCj4+Pj4+PiAtICAgIGlmICggdGVzdF9hbmRfY2xlYXJfYm9vbChj
dHgtPm5vdGlmLnNlY3VyZV9wZW5kaW5nKSApDQo+Pj4+Pj4gKyAgICBub3RpZl9wZW5kaW5nID0g
Y3R4LT5ub3RpZi5zZWN1cmVfcGVuZGluZzsNCj4+Pj4+PiArI2lmZGVmIENPTkZJR19GRkFfVk1f
VE9fVk0NCj4+Pj4+PiArICAgIG5vdGlmX3BlbmRpbmcgfD0gY3R4LT5ub3RpZi5idWZmX2Z1bGxf
cGVuZGluZzsNCj4+Pj4+PiArI2VuZGlmDQo+Pj4+PiANCj4+Pj4+IFNob3VsZG4ndCBjdHgtPm5v
dGlmLnNlY3VyZV9wZW5kaW5nIGFuZCBjdHgtPm5vdGlmLnNlY3VyZV9wZW5kaW5nIGJlDQo+Pj4+
PiBjbGVhcmVkIGFsc28sIGxpa2U6DQo+Pj4+PiBub3RpZl9wZW5kaW5nID0gdGVzdF9hbmRfY2xl
YXJfYm9vbChjdHgtPm5vdGlmLnNlY3VyZV9wZW5kaW5nKSB8fA0KPj4+Pj4gICAgICAgICAgICAg
IHRlc3RfYW5kX2NsZWFyX2Jvb2woY3R4LT5ub3RpZi5idWZmX2Z1bGxfcGVuZGluZyk7DQo+Pj4+
IA0KPj4+PiBOb3RpZmljYXRpb24gaW5mbyBnZXQgaXMgcmV0dXJuaW5nIHdobyBoYXMgcGVuZGlu
ZyBub3RpZmljYXRpb24gYnV0IG9ubHkNCj4+Pj4gbm90aWZpY2F0aW9uIGdldCBzaG91bGQgZXJh
c2UgcGVuZGluZyBub3RpZmljYXRpb25zLg0KPj4+IA0KPj4+IEZGQV9OT1RJRklDQVRJT05fSU5G
T19HRVQgY2FuIHJldHVybiBhICJNb3JlIHBlbmRpbmcgbm90aWZpY2F0aW9ucw0KPj4+IGZsYWci
IGluIHcyL3gyIHRvIGluZm9ybSB0aGUgY2FsbGVyIHRoYXQgaXQgc2hvdWxkIGNhbGwNCj4+PiBG
RkFfTk9USUZJQ0FUSU9OX0lORk9fR0VUIGFnYWluIHRvIGdldCB0aGUgcmVtYWluaW5nIHJlY2Vp
dmVyDQo+Pj4gZW5kcG9pbnRzLiBIb3cgY2FuIHRoZSBBQkkga25vdyB3aGVyZSB0byByZXN1bWUg
dGhlIG5leHQgdGltZSBpZiB0aGUNCj4+PiBwcmV2aW91cyBwZW5kaW5nIHJlY2VpdmVycyBhcmVu
J3QgY2xlYXJlZD8NCj4+IA0KPj4gSSBqdXN0IGNoZWNrZWQgdGhlIHNwZWNpZmljYXRpb24gYW5k
IHlvdSBhcmUgcmlnaHQuDQo+PiBJdCBpcyBleHBsaWNpdGx5IHNheWluZyB0aGF0ICJJbmZvcm1h
dGlvbiBhYm91dCBwZW5kaW5nIG5vdGlmaWNhdGlvbnMgaXMNCj4+IHJldHVybmVkIG9ubHkgb25j
ZSIuDQo+PiANCj4+PiANCj4+PiBUaGUgbW9yZSBwZW5kaW5nIG5vdGlmaWNhdGlvbnMgZmxhZyB3
aWxsIG5vdCBiZSBuZWVkZWQgaGVyZSBhcyB3ZSdyZQ0KPj4+IGRlYWxpbmcgd2l0aCBhIHNpbmds
ZSBlbmRwb2ludCBhdCBhIHRpbWUgc28gaXQgbWlnaHQgYmUgbW9yZSBvZiBhDQo+Pj4gcGhpbG9z
b3BoaWNhbCBxdWVzdGlvbi4gSSBkb24ndCB0aGluayBpdCBjYXVzZXMgcHJvYmxlbXMgZm9yIHRo
ZSBndWVzdA0KPj4+IHRvIGtlZXAgc2VjdXJlX3BlbmRpbmcgdW5jaGFuZ2VkIGZvciBGRkFfTk9U
SUZJQ0FUSU9OX0lORk9fR0VULCBidXQgd2UNCj4+PiBzaG91bGQgbWVudGlvbiB0aGUgY2hhbmdl
ZCBiZWhhdmlvdXIgaW4gdGhlIGNvbW1pdCBtZXNzYWdlLg0KPj4+IA0KPj4gDQo+PiBJIGFncmVl
IEkgc2hvdWxkIGRpc2NhcmQgdGhlIHNlY3VyZV9wZW5kaW5nIGZsYWcgaW4gdGhlIGltcGxlbWVu
dGF0aW9uIGJ1dA0KPj4gSSBuZWVkIHRvIGZpbmQgYSBzb2x1dGlvbiBmb3IgdGhlIGJ1ZmZlciBm
dWxsIG5vdGlmaWNhdGlvbiBhcyBJIHN0aWxsIG5lZWQgdG8gc2lnbmFsDQo+PiBpdCBpbiBub3Rp
ZmljYXRpb24gZ2V0IGV2ZW4gaWYgbm90aWZpY2F0aW9uIGluZm8gZ2V0IHdhcyBjYWxsZWQuDQo+
PiANCj4+IEkgd2lsbCBkbyB0aGUgZm9sbG93aW5nOg0KPj4gLSBjaGFuZ2Ugc2VjdXJlX3BlbmRp
bmcgaW50byBwZW5kaW5nX25vdGlmLg0KPj4gLSBzZXQgcGVuZGluZ19ub3RpZiB3aGVuIGN1cnJl
bnQgc2VjdXJlX3BlbmRpbmcgaXMgc2V0DQo+PiAtIHNldCBwZW5kaW5nX25vdGlmIGFuZCBidWZm
X2Z1bGxfcGVuZGluZyBvbiBpbmRpcmVjdCBtZXNzYWdlDQo+PiAtIGNsZWFuIHBlbmRpbmdfbm90
aWYgaW4gbm90aWZfaW5mb19nZXQNCj4+IC0gY2xlYW4gcGVuZGluZ19ub3RpZiBhbmQgYnVmZl9m
dWxsIGluIG5vdGlmX2dldA0KPj4gDQo+PiBEbyB5b3UgYWdyZWUgdGhpcyBpcyB0aGUgcmlnaHQg
cGF0aCA/DQo+IA0KPiBZZXMsIHRoaXMgaXMgdGhlIHdheS4gOi0pDQoNCldlbGwgaW4gZmFjdCB0
aGVyZSBpcyBhIG1pc3Rha2UgaW4gdGhpcyB3YXkgYW5kIEkgaGFkIHRvIGRvIHNvbWV0aGluZw0K
YSBiaXQgZGlmZmVyZW50Lg0KDQpXaGVuIHdlIGhhdmUgYSBub3RpZmljYXRpb24gZ2V0LCB3ZSBj
YW4gb25seSBjbGVhciBzZWN1cmVfcGVuZGluZw0KaWYgRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQ
KE0pIGFyZSBwYXNzZWQuDQoNClNvIGkgdGhpbmsgaSBoYXZlIHRvIGRvIHRoZSBmb2xsb3dpbmc6
DQotIHNlY3VyZV9wZW5kaW5nOiBzZXQgYW5kIGNsZWFuIGFzIHRoZXkgYXJlIG5vdw0KLSB2bV9w
ZW5kaW5nOiBzZXQgd2hlbiByYWlzaW5nIGJ1ZiBmdWxsIGFuZCBjbGVhbiBpbiBpbmZvX2dldCBv
ciBnZXQNCiAgd2l0aCBGRkFfTk9USUZfRkxBR19CSVRNQVBfSFlQIHNldA0KLSBidWZmX2Z1bGxf
cGVuZGluZyBvbmx5IGNsZWFuZWQgaW4gZ2V0IHdpdGggDQogIEZGQV9OT1RJRl9GTEFHX0JJVE1B
UF9IWVAgc2V0DQoNClRoaXMgd2F5IGluZm9fZ2V0IHdvdWxkIHN0aWxsIHJldHVybiBzb21ldGhp
bmcgaWYgYSBnZXQgaXMgZG9uZSBidXQgd2l0aA0Kb25seSBmbGFncyB0byByZXRyaWV2ZSBzZWN1
cmUgYW5kIHRoZXJlIGlzIGEgYnVmZiBmdWxsIG5vdGlmIHBlbmRpbmcgb3Igd2l0aA0Kb25seSBI
WVAgYW5kIHNlY3VyZSBvbmVzIHBlbmRpbmcuDQoNCkdpdmluZyBzb21ldGhpbmcgbGlrZSB0aGF0
Og0KDQotLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3RpZi5jDQorKysgYi94ZW4vYXJjaC9h
cm0vdGVlL2ZmYV9ub3RpZi5jDQpAQCAtNjksNiArNjksNyBAQCB2b2lkIGZmYV9oYW5kbGVfbm90
aWZpY2F0aW9uX2luZm9fZ2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KIHsNCiAgICAg
c3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFpbjsNCiAgICAgc3RydWN0IGZmYV9jdHgg
KmN0eCA9IGQtPmFyY2gudGVlOw0KKyAgICBib29sIG5vdGlmX3BlbmRpbmc7DQoNCiAgICAgaWYg
KCAhbm90aWZfZW5hYmxlZCApDQogICAgIHsNCkBAIC03Niw3ICs3NywxMSBAQCB2b2lkIGZmYV9o
YW5kbGVfbm90aWZpY2F0aW9uX2luZm9fZ2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0K
ICAgICAgICAgcmV0dXJuOw0KICAgICB9DQoNCi0gICAgaWYgKCB0ZXN0X2FuZF9jbGVhcl9ib29s
KGN0eC0+bm90aWYuc2VjdXJlX3BlbmRpbmcpICkNCisgICAgbm90aWZfcGVuZGluZyA9IHRlc3Rf
YW5kX2NsZWFyX2Jvb2woY3R4LT5ub3RpZi5zZWN1cmVfcGVuZGluZyk7DQorICAgIGlmICggSVNf
RU5BQkxFRChDT05GSUdfRkZBX1ZNX1RPX1ZNKSApDQorICAgICAgICBub3RpZl9wZW5kaW5nIHw9
IHRlc3RfYW5kX2NsZWFyX2Jvb2woY3R4LT5ub3RpZi52bV9wZW5kaW5nKQ0KKw0KKyAgICBpZiAo
IG5vdGlmX3BlbmRpbmcgKQ0KICAgICB7DQogICAgICAgICAvKiBBIHBlbmRpbmcgZ2xvYmFsIG5v
dGlmaWNhdGlvbiBmb3IgdGhlIGd1ZXN0ICovDQogICAgICAgICBmZmFfc2V0X3JlZ3MocmVncywg
RkZBX1NVQ0NFU1NfNjQsIDAsDQpAQCAtMTUzLDExICsxNTgsMTMgQEAgdm9pZCBmZmFfaGFuZGxl
X25vdGlmaWNhdGlvbl9nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQogICAgICAgICAg
ICAgdzYgPSByZXNwLmE2Ow0KICAgICB9DQoNCi0jaWZkZWYgQ09ORklHX0ZGQV9WTV9UT19WTQ0K
LSAgICBpZiAoIGZsYWdzICYgRkZBX05PVElGX0ZMQUdfQklUTUFQX0hZUCAmJg0KKyAgICBpZiAo
IElTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgJiYNCisgICAgICAgICAgZmxhZ3MgJiBG
RkFfTk9USUZfRkxBR19CSVRNQVBfSFlQICYmDQogICAgICAgICAgIHRlc3RfYW5kX2NsZWFyX2Jv
b2woY3R4LT5ub3RpZi5idWZmX2Z1bGxfcGVuZGluZykgKQ0KKyAgICB7DQorICAgICAgICBBQ0NF
U1NfT05DRShjdHgtPm5vdGlmLnZtX3BlbmRpbmcpID0gZmFsc2U7DQogICAgICAgICB3NyA9IEZG
QV9OT1RJRl9SWF9CVUZGRVJfRlVMTDsNCi0jZW5kaWYNCisgICAgfQ0KDQogICAgIGZmYV9zZXRf
cmVncyhyZWdzLCBGRkFfU1VDQ0VTU18zMiwgMCwgdzIsIHczLCB3NCwgdzUsIHc2LCB3Nyk7DQog
fQ0KQEAgLTE4OSw3ICsxOTYsOCBAQCB2b2lkIGZmYV9yYWlzZV9yeF9idWZmZXJfZnVsbChzdHJ1
Y3QgZG9tYWluICpkKQ0KICAgICBpZiAoICFjdHggKQ0KICAgICAgICAgcmV0dXJuOw0KDQotICAg
IGlmICggIXRlc3RfYW5kX3NldF9ib29sKGN0eC0+bm90aWYuYnVmZl9mdWxsX3BlbmRpbmcpICkN
CisgICAgQUNDRVNTX09OQ0UoY3R4LT5ub3RpZi5idWZmX2Z1bGxfcGVuZGluZykgPSB0cnVlDQor
ICAgIGlmICggIXRlc3RfYW5kX3NldF9ib29sKGN0eC0+bm90aWYudm1fcGVuZGluZykgKQ0KICAg
ICAgICAgdmdpY19pbmplY3RfaXJxKGQsIGQtPnZjcHVbMF0sIG5vdGlmX3NyaV9pcnEsIHRydWUp
Ow0KIH0NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 14:47:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 14:47:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924119.1327457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvdeH-0004gI-1D; Fri, 21 Mar 2025 14:47:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924119.1327457; Fri, 21 Mar 2025 14:47: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 1tvdeG-0004gB-UX; Fri, 21 Mar 2025 14:47:00 +0000
Received: by outflank-mailman (input) for mailman id 924119;
 Fri, 21 Mar 2025 14:46: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=YWv/=WI=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tvdeF-0004g5-Lm
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 14:46:59 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061d.outbound.protection.outlook.com
 [2a01:111:f403:260e::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56f9d9eb-0663-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 15:46:58 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV2PR03MB8728.eurprd03.prod.outlook.com (2603:10a6:150:7c::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Fri, 21 Mar
 2025 14:46: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%4]) with mapi id 15.20.8534.034; Fri, 21 Mar 2025
 14:46: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: 56f9d9eb-0663-11f0-9ea1-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bEdCoXU1X4EPYIJPmVY75P4G1xzY9woOmxRVb/FgVWVaq5WK77068b7BEA2X5ft+cRpph9kUWHEYyJ9YVwS5/iWYeUsVzwOka1eh1et9Pt0prOwsy45+db54qMdB3Jhr2YRjKRP9JFqEppbvjcSnGwXhj5KtxUGOrp9++qAC9KkNrIm0P1IDt2gvEf+MgnKfqGyZVK1stEhoCY6FJsoa4Jx7+4A2+wRg9fMRsvIHB6qfJew6hqAOif9x1l+cf9+HPC6BMYBu66t4e6TW+UsyIaP4bJVjpg4TjX07EGrcNliyN0remZU8fSwM95dLOqKtt+BjALiPLWVpIPq3Py5hWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ao5jplHr/16EZLRN/tTjgLLC/6oDzQFGFPiXju5oWo4=;
 b=IvUb18iIxCJ4hT0VblZngeBsv7UDaFqiHI3R+5+xq9zgUiv1LgpVKfNWlzmGVYtQ+a8kaCrtdfA+OJM4EkOM2rEMNTzp3+HIgNJhYNcTiVXWeLWQIOjD+1O5jjqYEJYtSTw6prsgP10OmxiGrYNaL1FpN0OAhZEcCZXcVv7OhkCfXl1emRU8OzxeNGLQi12JOldD21LsdGdPFXdWigO8jd9wkGCHQuz092IH3PXvAFSyOXk29MpsqrMmKISmYXE69vuJXnGUqilPbMnsrC08tL7WZgXWhX/1OYcYTrtO0u+XiMDcekRH8q+yElcT4bkDfmzc/jtjbTeMgVIUivTJUQ==
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=Ao5jplHr/16EZLRN/tTjgLLC/6oDzQFGFPiXju5oWo4=;
 b=LHtU3LjaOV8UbuxPRbyGCA85Yz+IyIpo3H4W8JYQL/BC3tGLCrhT8xV5ep+nMt0Vi4dyTTE0f4f2L8Acile9d6WM83CzVmfqdbOeEcovCKbTA8rYdjzEH8XlFG+K5bATFtDKLcV3RDcCPEZF39lnkmNLSF/gDKYJ6WPf7ML770y8brFNjbj5uqlFswW18gMh208sUwZBr6bkg6iCmHpc19c219OOPHWCllzenxwJwNfQmrtSNcbkvK1IigaRDELgR7DElPJzuQ+cC38xenniaP3w8wSE9RvI+ukp5HqRpe6bty5JSoApVXT85xQHMLkoRPPRdi5X4Yoo9THCnkiYcA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <20b22a61-dbd4-4957-8b01-1cedd3f55a37@epam.com>
Date: Fri, 21 Mar 2025 16:46:50 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/16] xen/arm: Implement PSCI system suspend
To: Mykola Kvach <xakep.amatop@gmail.com>, 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>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <b80f0559048638bfe1a934f2d256331db733ed3e.1741164138.git.xakep.amatop@gmail.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <b80f0559048638bfe1a934f2d256331db733ed3e.1741164138.git.xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0250.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f5::8) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|GV2PR03MB8728:EE_
X-MS-Office365-Filtering-Correlation-Id: ab662e20-841f-4b25-f2c0-08dd68873811
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?a0dtRnhsSmY2emtTbGJyMCtLa0ZnSnJDVXFSdlg4bUhXUHAxTHdlZXplejNV?=
 =?utf-8?B?ckJLMjlhVkI2c3VxT2ZmbWxhSDFaSm5LMDZjcEJPNWhoeldlamNkZjBsVmVL?=
 =?utf-8?B?OEpUSXo0VyswY3M2dmFzS29BY3JwUE5kT2xXbGtxcksrS1Nvb0hIYk1kbDlV?=
 =?utf-8?B?d0xHeGJKY3pSTU0xeS84dXdteTB5dkdhUHFyTG5BTTBucmNaT0FTYUNtdStr?=
 =?utf-8?B?bTBEZlVyQUQ1OGQ3aEhqYngzSHRxbld2T2NQdTZzV20vWk8vMEkvUzZHRWZO?=
 =?utf-8?B?N1pHS1FrWTRTbWtKdUpLeWRPMjdJTFJaUENmbWdlZTNlY2JPVlEvakdnV2JR?=
 =?utf-8?B?SlgyUVY5MjBZSk1JcHJOY2s2VHA2OFR2TmY1Y0JRaFczWW52d2RaRzNUblAx?=
 =?utf-8?B?V2Q5ZTlRVHMxVWlSd3lqVlk1UThGdDg2cnV3aXgzQ3pYQWxDeFd5Z1VOdElN?=
 =?utf-8?B?NkMwVmNaa2VMZktLeVZ1Y003Y0xwcU12TTNUUlZ1ZWpjZmJZMDMxY3RSS0h5?=
 =?utf-8?B?amdUZElYSGdIWVdhL2V4SGpsczVsZnJGZSt2ZTc4b01uUEpIL0wzL2FxKy9S?=
 =?utf-8?B?cW9MMkIxS0twcGdGY211bUFJV2ZnWitMQlFCbDV4ZjM4bDBmdEsyY1hGOE5q?=
 =?utf-8?B?MDA5U2ZYNURkcmtmNnUrY1JCbGYzTzlXOUQ4cU11YUV6ekdFVWM0Vkgvakx0?=
 =?utf-8?B?V1BBdFBzQWQzaUZ5LzU2SS9XREJxaFhyQ1hXNTJ0dEJoYXlpN1pxaUhYUGNP?=
 =?utf-8?B?Y09UTEh2Q25aR04yVnJuU2EzVnNWditsMWtiNFBuUWtaT0VqV1E4OEVrbmU3?=
 =?utf-8?B?bWdQOVJMejBjVFFKVzE5NG9UbDV4NEdXUStzWHp2VVFKUmRuZ09BaFZFR3Z0?=
 =?utf-8?B?MjdmUDZPSlVYY3Q5anNldmcxUlJrbXYvcU03b0lTQWwvblpjTGQ5T1RGUGVX?=
 =?utf-8?B?K0hKeTVtVEFQamVmM1pMMGRCUFQ1YnM5eGhqS0drMStGVTRFQWQ0WXRDVGFK?=
 =?utf-8?B?eUwzN1QzRkdXTWxPLzhwYVBRTDJRa1FHcXFCVnoyTm9IYmxmbzhEZ1IwZW1S?=
 =?utf-8?B?ZVkyR3kwMERiWFlDTW5zNWRRVXJWZ2xMS1FQdlByUzVxS1c3VGJOQzRCK2dV?=
 =?utf-8?B?Vjc4by9oRElHRTV5RitKS1VsMktIbGxuTmxsa0wvL01NVG9ZSmxIRDh1WFVF?=
 =?utf-8?B?b1hMeW5CWG9yY2VJVTU3ZTh2TE40S0ZFUVNTenRzUFZTSjMzOGR1bXZibUI5?=
 =?utf-8?B?VjFmYWliR2lDR3NTVWpBK3dJVmYyZlNCWXJMRTVKRG15ZW1rVHpxaFRYdnFX?=
 =?utf-8?B?bEVtd3FlbkczRGMxYlA0b0VzUHMrS1VLblJ2dCswR0NMWDYwZWUzSEMvemkv?=
 =?utf-8?B?RndGdUV2V28rMDFoTzV5TzhRa28rYkZyT1BOM05COWV2RllUTWpGbDl2N04r?=
 =?utf-8?B?UGRsTERRTVR2Smp2V01jdW40eHN5Qjl5S29NVlY4VXpVQmE4RmtrLzNsdEdn?=
 =?utf-8?B?czVmM3BmUTJCVTkvYy81RU5hUmdGUDZIWUw5b3hUSzFNd1A1andERHNlMjVx?=
 =?utf-8?B?VzdsWDF2STdjODhSUjBkcTM1SHBQd1FkVDkrd3VPdkZYaUpDTkFqakdLaEFR?=
 =?utf-8?B?T0JxZTI3QS9ra3A1UHBKcm9FTGhISkd3emRYZFQ1d1h0ODRRSFhva0twY2lB?=
 =?utf-8?B?b2wyNk42OVBXTkJMSFRxSEliYXJZYVNvaktBVll4czRRVWxodDVsa1VqZnlC?=
 =?utf-8?B?LzJjN0JUTG4rV2tCeDR2czhOOVFzc1BZelVSeE5nbWJyZTAvOGJOcDg1YWNx?=
 =?utf-8?B?dHo1R2VIbFpNTTI3NWR4bTR1RTM0c1pJdU5yNGxJQkNsRGhKRGlWcTV5cnR3?=
 =?utf-8?Q?bE1ndGasEJTXk?=
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?UjJXVExJMXZlUVRaRHZTdzd6eUZiU1doVmlxV3FWTEhRSU85SkJjK0FoVDhx?=
 =?utf-8?B?ZENjYURlVGZlRGRZdXdYcnJORVdURGZmOVhla0ZMNnBmUFhndU43azNSR09W?=
 =?utf-8?B?TU1UY1FEYlRXNW5ESFA4K3NLam1kSkh1cmZ2cHVIUlRKbmwrQnZZNUJqRjJp?=
 =?utf-8?B?WmplM3BBSkxYODU3YVFDTlB1VU9zUGs0eTlKQXFEdTlrQVk2RlpzUDNPR1VE?=
 =?utf-8?B?Y2pyY1FjckxLb21HWm9DOWx5VTdUT3JFbFljY282a2lOOW13WjdlL0Z2dVMw?=
 =?utf-8?B?NEQ1dHlkMHJ3d094RDUvZDc0T25zM0UyMC9BeGJIMDNjL0pqS0ExTDRyaUhV?=
 =?utf-8?B?TitiaExLZUt4MXM1K2FnbGFFQkRKN1d2c1hWYlp3ZDlxYUVtQ0lqMWJudWw0?=
 =?utf-8?B?QzNUc3kwRW9UZzdEWXZ1SGxKaDdiSW9KeEx2Zk04ejdQMHlJbFIxSCtQZXRz?=
 =?utf-8?B?VXNzQjB2akNIbk0wTkxXS0NsV09ZNmJmNmRuRHl5ZlRGR0RDYjJCQU9US2Ux?=
 =?utf-8?B?VEZDajB3R1Q0N2kvTm1HSUtrbDc4a3A3eHFwdUpWM1AyZXdJdk1hSFFRVXQv?=
 =?utf-8?B?S3VvSTY5OHFsQnNCQnNLaHFpb0tSMzM1bkhMWS9SNWRQY2Jld3F0bnB4VHpY?=
 =?utf-8?B?YmVUSUpSQmpSamJ6NmtXakZmTWRyZmk3TDlORHFDYkxkTkNOdzZCUHhKOTds?=
 =?utf-8?B?MXZHaXY0ZTVONGg2Q0dFbTRSLzdMMjdROFcyK2tCM1l5eWRKZ0U3KzVIeWxr?=
 =?utf-8?B?WDcrcVF2WFpXMW9aMGxhc2k2ZVM3YTVQcGd1azJ6R3dHbFdQZ2o3UHNFMG1w?=
 =?utf-8?B?akptT2Y4bklWRmdkSWtjcFhuVUtpaHAwVllpRTBQWDRjUVRHZkdKRjc4Q0Jy?=
 =?utf-8?B?cGJ3M1RlUDNNOEM3MzZ3RklSdnhrNHdNWm1lS0FHRGhvRG8ybjN5Vy9ka3V6?=
 =?utf-8?B?WGd1QThpM0MyTFE5MTFxczdzbmV0ZFFSeXJRanNkK2Uzb0NiYVdaaWdNWVdl?=
 =?utf-8?B?WFBRYitqWlZFVXpnOWhHWWlUbGdRbDdJc1UrTEhrOTVsckNNZjFVMGNQQ3VB?=
 =?utf-8?B?aUIvRTZWYjVvRkdHWGp1NTlyblRuSjc3cDVyanJKUy9EM3hJSGdrZzAxRDBn?=
 =?utf-8?B?Q2RTY3FxWGRRN3RGemFOK2pld0ZKU21BWE5tQ3I3a3I4dDFzUlY3bVd0TEJY?=
 =?utf-8?B?SFg2cHlzeVJpaUJQVWxEczFFWXF1UVRGWE5iWjAycHJKeFZaVkNQUDczY3hZ?=
 =?utf-8?B?OEhwa0hPaWJxMXVEd0tISHJzUURLNVZmSU9vM2IvTUpLT0djNkRxbDlLMDR6?=
 =?utf-8?B?SzRoVWE4Y3ZWWXVHdW9DWGhITmhuWXNHT3A5TmJpdzJ4RncwRXlLYXdJbEdy?=
 =?utf-8?B?eW5Md0daSndaSGxLd29YTVRlbEN5aUozczA1cTIyRjRkNnphSFFRM2tmRUls?=
 =?utf-8?B?OEFOOVZIeGdvSThBZ2JiOWJQMGpLNmU5cVRnZ2ZmWlMySHFCS0cweHluWU1Q?=
 =?utf-8?B?Vi9oMnplbWdtaTIrUmFuS1Ruc3M4djNGYzFJYjV2UWE5NHN5V001aytLaWFj?=
 =?utf-8?B?cUZCbXFlcnl3Mk9ob1A3U1NQbkx1WXhqZExXaFNNdzhKQmNzWFZQbEdMNlZV?=
 =?utf-8?B?OXRqZTdCaGlVT3piVkFzQ3lnaHBBQU1CTTlrSVlTT3J3UE1MT3FDWndlT3BM?=
 =?utf-8?B?U3I0VDNTMW1OaG1SUm5FTHF6Y1RpK0FjVkZlMk1rWHVJTEx6TWl5TUZjKzdz?=
 =?utf-8?B?amU5SUk2Yjl1NXJRYXprRlU1SEwzVjZsU0dFVU9maWZzQUlUaUw2K2RDMTda?=
 =?utf-8?B?ayt1bVJyTjQ5Zis4V3BOZEt4emMzSjZpZ3ZjT3VYOVBJdUcxQ0hRYjluSXdz?=
 =?utf-8?B?RERDbkx0eUtoRXlUQ211Rll0V0lnTWdTRncxNWdkcDBPTzliN0JGdGlOaDMy?=
 =?utf-8?B?R25vcDJZenV4NmdjWkF0cUhuMFZOclJKclZXMURuQ1daWHhXQlBvekVzYndD?=
 =?utf-8?B?U3hab3dHUWQ5ZFpJREJNWFNhdEw3WlRVM3RIYTdlRTl4dThTSUpSbmJKamdE?=
 =?utf-8?B?QU95NFpLOUF3bStOK1lCVE9BMEh1MzA0OU5wU0xFNmtSQm43TWJ5UVdtTGtk?=
 =?utf-8?B?cTIrc085ZlZoL1Y1ME1kUm1jR0hkK2xYQ2kzRHo2WDA2aDZOK1Fock1JbDRV?=
 =?utf-8?B?UXc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab662e20-841f-4b25-f2c0-08dd68873811
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2025 14:46:52.8790
 (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: X6utt6xF1pNmE28LJOqVwzdbnFHkGpT6OLKo1vmEaL+W0l+jMTU3HcfDPLhBgUHSo+hg/123vV1Fl3370bdslpv0clcrK/ACiYxyaOznkC8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR03MB8728

Hi Mykola,

On 05.03.25 11:11, Mykola Kvach wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> The implementation consists of:
> -Adding PSCI system suspend call as new PSCI function
> -Trapping PSCI system_suspend HVC
> -Implementing PSCI system suspend call (virtual interface that allows
>   guests to suspend themselves), but currently it is only partially
>   implemented, so suspend/resume will correctly work only for dom0
> 
> The PSCI system suspend should be called by a guest from its boot
> VCPU. Non-boot VCPUs of the guest should be hot-unplugged using PSCI
> CPU_OFF call prior to issuing PSCI system suspend. Interrupts that
> are left enabled by the guest are assumed to be its wake-up interrupts.
> Therefore, a wake-up interrupt triggers the resume of the guest.

> Guest
> should resume regardless of the state of Xen (suspended or not).

This is strange statement - nothing can be resumed unles Xen itself is
resumed.

> 
> When a guest calls PSCI system suspend the respective domain will be
> suspended if the following conditions are met:
> 1) Given resume entry point is not invalid

I think, you meant here - "is valid"

> 2) Other (if any) VCPUs of the calling guest are hot-unplugged

> 
> If the conditions above are met the calling domain is labeled as
> suspended and the calling VCPU is blocked. If nothing else wouldn't
> be done the suspended domain would resume from the place where it
> called PSCI system suspend. This is expected if processing of the PSCI
> system suspend call fails. 

Could you clarify my understanding here pls about implementation?
Note - below is related only to Linux Arm64 mostly

1) this patch alone, actually enables Suspend2ram of the quest domains, but not
a Xen System suspend2ram.
2) with this patch domain can actually enter suspend, but
    - only from it's own console by issuing "echo mem > /sys/power/state"
    -- guest end up in Xen by issuing vPSCI PSCI_1_0_FN64_SYSTEM_SUSPEND HVC
       (psci is considered standard suspend mechanism for arm64)
    -- Xen blocks last guest vcpu and suspend considered done
3) at this point guest is suspended, but no way to resume it.
4) Xen remote/external "control" interface is not available, so neither
    suspend/neither resume can't be triggered from control domain using
    "xl suspend/resume".

5) Xen System suspend can happens only from HWDOM when HWDOM is iteslf suspended.
    The Xen system suspend process end up issuing PSCI SYSTEM_SUSPEND to EL3 FW.

    There is a prerequisite requirement that all guests, except HWDOM, have been suspended already.

6) No wakeup-source abstraction is not defined for guests, so they can be resumed only manually

...

> However, in the case of success the calling
> guest should resume (continue execution after the wake-up) from the entry
> point which is given as the first argument of the PSCI system suspend
> call.
> In addition to the entry point, the guest expects to start within
> the environment whose state matches the state after reset. 
> This means
> that the guest should find reset register values, MMU disabled, etc.
> Thereby, the context of VCPU should be 'reset' (as if the system is
> comming out of reset), the program counter should contain entry point,
> which is 1st argument, and r0/x0 should contain context ID which is 2nd
> argument of PSCI system suspend call.

I'm not sure that above is really needed in case of Xen guest domains, because:
- RAM state is retained
- Xen quest is running on virt CPU, interrupt-controller and timer, neither of them
   will lose context comparing to the real HW.

As result, just ublocking vCPU(boot) will cause proper resume of the quest and it will
continue execution from the point of issuing  vPSCI SYSTEM_SUSPEND HVC.


Actually I've tried:
- applied only patches 6 and 11
- applied test diff below
- triggered suspend in quest and then resume it by sending Xen "q" cmd

Guest can wake up.
(and no manipulations with vCPU state)

====
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -361,6 +361,7 @@ static void cf_check dump_domains(unsigned char key)
              printk("Notifying guest %d:%d (virq %d, port %d)\n",
                     d->domain_id, v->vcpu_id,
                     VIRQ_DEBUG, v->virq_to_evtchn[VIRQ_DEBUG]);
+            vcpu_unblock(v);
              send_guest_vcpu_virq(v, VIRQ_DEBUG);
          }
      }

Above should work nicely for Xen anaware guest, but Xen aware guest, specifically Linux,
need to be updated as drivers/xen/manage.c code doesn't support standard Suspend-2-ram
sequence properly - it's tied to hibernation.

It seems "xl suspend/resume" can't be used as is for ARM64, but many parts can be reused, probably.
I could be mistaken here - still studying interaction between control domain, remote domain and Xen.

One thing, I worry in case of Linux, is that changing System PM state
triggered by writing into some xenstore property and this happens inside Kernel,
while Linux, by design, expect changing System PM state only from User space,
at least it's true for suspend2ram which can be triggered only by:
- writing to /sys/power/state
- by auto-suspend + wakelocks.

> The context of VCPU is set
> accordingly when the PSCI system suspend is processed, so that nothing
> needs to be done on resume/wake-up path.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in V3:
> Dropped all domain flags and related code (which touched common functions like
> vcpu_unblock), keeping only the necessary changes for Xen suspend/resume, i.e.
> suspend/resume is now fully supported only for the hardware domain.
> Proper support for domU suspend/resume will be added in a future patch.
> This patch does not yet include VCPU context reset or domain context
> restoration in VCPU.
> ---
>   xen/arch/arm/Makefile                 |  1 +
>   xen/arch/arm/include/asm/domain.h     |  3 ++
>   xen/arch/arm/include/asm/perfc_defn.h |  1 +
>   xen/arch/arm/include/asm/psci.h       |  2 +
>   xen/arch/arm/include/asm/suspend.h    | 18 +++++++
>   xen/arch/arm/suspend.c                | 67 +++++++++++++++++++++++++++
>   xen/arch/arm/vpsci.c                  | 32 +++++++++++++
>   7 files changed, 124 insertions(+)
>   create mode 100644 xen/arch/arm/include/asm/suspend.h
>   create mode 100644 xen/arch/arm/suspend.c
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 43ab5e8f25..70d4b5daf8 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -53,6 +53,7 @@ obj-y += smpboot.o
>   obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
>   obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
>   obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
> +obj-$(CONFIG_SYSTEM_SUSPEND) += suspend.o
>   obj-y += sysctl.o
>   obj-y += time.o
>   obj-y += traps.o
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index 50b6a4b009..8b1bdf3d74 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -233,6 +233,9 @@ struct arch_vcpu
>       struct vtimer virt_timer;
>       bool   vtimer_initialized;
>   
> +    register_t suspend_ep;
> +    register_t suspend_cid;
> +
>       /*
>        * The full P2M may require some cleaning (e.g when emulation
>        * set/way). As the action can take a long time, it requires
> diff --git a/xen/arch/arm/include/asm/perfc_defn.h b/xen/arch/arm/include/asm/perfc_defn.h
> index 3ab0391175..5049563718 100644
> --- a/xen/arch/arm/include/asm/perfc_defn.h
> +++ b/xen/arch/arm/include/asm/perfc_defn.h
> @@ -33,6 +33,7 @@ PERFCOUNTER(vpsci_system_reset,        "vpsci: system_reset")
>   PERFCOUNTER(vpsci_cpu_suspend,         "vpsci: cpu_suspend")
>   PERFCOUNTER(vpsci_cpu_affinity_info,   "vpsci: cpu_affinity_info")
>   PERFCOUNTER(vpsci_features,            "vpsci: features")
> +PERFCOUNTER(vpsci_system_suspend,      "vpsci: system_suspend")
>   
>   PERFCOUNTER(vcpu_kick,                 "vcpu: notify other vcpu")
>   
> diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psci.h
> index 4780972621..48a93e6b79 100644
> --- a/xen/arch/arm/include/asm/psci.h
> +++ b/xen/arch/arm/include/asm/psci.h
> @@ -47,10 +47,12 @@ void call_psci_system_reset(void);
>   #define PSCI_0_2_FN32_SYSTEM_OFF          PSCI_0_2_FN32(8)
>   #define PSCI_0_2_FN32_SYSTEM_RESET        PSCI_0_2_FN32(9)
>   #define PSCI_1_0_FN32_PSCI_FEATURES       PSCI_0_2_FN32(10)
> +#define PSCI_1_0_FN32_SYSTEM_SUSPEND      PSCI_0_2_FN32(14)
>   
>   #define PSCI_0_2_FN64_CPU_SUSPEND         PSCI_0_2_FN64(1)
>   #define PSCI_0_2_FN64_CPU_ON              PSCI_0_2_FN64(3)
>   #define PSCI_0_2_FN64_AFFINITY_INFO       PSCI_0_2_FN64(4)
> +#define PSCI_1_0_FN64_SYSTEM_SUSPEND      PSCI_0_2_FN64(14)
>   
>   /* PSCI v0.2 affinity level state returned by AFFINITY_INFO */
>   #define PSCI_0_2_AFFINITY_LEVEL_ON      0
> diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
> new file mode 100644
> index 0000000000..745377dbcf
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/suspend.h
> @@ -0,0 +1,18 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_ARM_SUSPEND_H__
> +#define __ASM_ARM_SUSPEND_H__
> +
> +int32_t domain_suspend(register_t epoint, register_t cid);
> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> new file mode 100644
> index 0000000000..27fab8c999
> --- /dev/null
> +++ b/xen/arch/arm/suspend.c
> @@ -0,0 +1,67 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/sched.h>
> +#include <asm/cpufeature.h>
> +#include <asm/event.h>
> +#include <asm/psci.h>
> +#include <asm/suspend.h>
> +#include <asm/platform.h>
> +#include <public/sched.h>
> +
> +static void vcpu_suspend_prepare(register_t epoint, register_t cid)
> +{
> +    struct vcpu *v = current;
> +
> +    v->arch.suspend_ep = epoint;
> +    v->arch.suspend_cid = cid;
> +}
> +
> +int32_t domain_suspend(register_t epoint, register_t cid)
> +{
> +    struct vcpu *v;
> +    struct domain *d = current->domain;
> +    bool is_thumb = epoint & 1;
> +
> +    dprintk(XENLOG_DEBUG,
> +            "Dom%d suspend: epoint=0x%"PRIregister", cid=0x%"PRIregister"\n",
> +            d->domain_id, epoint, cid);
> +
> +    /* THUMB set is not allowed with 64-bit domain */
> +    if ( is_64bit_domain(d) && is_thumb )
> +        return PSCI_INVALID_ADDRESS;
> +
> +    /* TODO: care about locking here */
> +    /* Ensure that all CPUs other than the calling one are offline */
> +    for_each_vcpu ( d, v )
> +    {
> +        if ( v != current && is_vcpu_online(v) )
> +            return PSCI_DENIED;
> +    }
> +
> +    /*
> +     * Prepare the calling VCPU for suspend (save entry point into pc and
> +     * context ID into r0/x0 as specified by PSCI SYSTEM_SUSPEND)
> +     */
> +    vcpu_suspend_prepare(epoint, cid);
> +
> +    /* Disable watchdogs of this domain */
> +    watchdog_domain_suspend(d);
> +
> +    /*
> +     * The calling domain is suspended by blocking its last running VCPU. If an
> +     * event is pending the domain will resume right away (VCPU will not block,
> +     * but when scheduled in it will resume from the given entry point).
> +     */
> +    vcpu_block_unless_event_pending(current);
> +
> +    return PSCI_SUCCESS;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
> index d1615be8a6..96eef06c18 100644
> --- a/xen/arch/arm/vpsci.c
> +++ b/xen/arch/arm/vpsci.c
> @@ -7,6 +7,7 @@
>   #include <asm/vgic.h>
>   #include <asm/vpsci.h>
>   #include <asm/event.h>
> +#include <asm/suspend.h>
>   
>   #include <public/sched.h>
>   
> @@ -197,6 +198,15 @@ static void do_psci_0_2_system_reset(void)
>       domain_shutdown(d,SHUTDOWN_reboot);
>   }
>   
> +static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
> +{
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +    return domain_suspend(epoint, cid);
> +#else
> +    return PSCI_NOT_SUPPORTED;
> +#endif
> +}
> +
>   static int32_t do_psci_1_0_features(uint32_t psci_func_id)
>   {
>       /* /!\ Ordered by function ID and not name */
> @@ -214,6 +224,8 @@ static int32_t do_psci_1_0_features(uint32_t psci_func_id)
>       case PSCI_0_2_FN32_SYSTEM_OFF:
>       case PSCI_0_2_FN32_SYSTEM_RESET:
>       case PSCI_1_0_FN32_PSCI_FEATURES:
> +    case PSCI_1_0_FN32_SYSTEM_SUSPEND:
> +    case PSCI_1_0_FN64_SYSTEM_SUSPEND:
>       case ARM_SMCCC_VERSION_FID:
>           return 0;
>       default:
> @@ -344,6 +356,26 @@ bool do_vpsci_0_2_call(struct cpu_user_regs *regs, uint32_t fid)
>           return true;
>       }
>   
> +    case PSCI_1_0_FN32_SYSTEM_SUSPEND:
> +    case PSCI_1_0_FN64_SYSTEM_SUSPEND:
> +    {
> +        register_t epoint = PSCI_ARG(regs,1);
> +        register_t cid = PSCI_ARG(regs,2);
> +        register_t ret;
> +
> +        perfc_incr(vpsci_system_suspend);
> +        /* Set the result to PSCI_SUCCESS if the call fails.
> +         * Otherwise preserve the context_id in x0. For now
> +         * we don't support the case where the system is suspended
> +         * to a shallower level and PSCI_SUCCESS is returned to the
> +         * caller.
> +         */
> +        ret = do_psci_1_0_system_suspend(epoint, cid);
> +        if ( ret != PSCI_SUCCESS )
> +            PSCI_SET_RESULT(regs, ret);
> +        return true;
> +    }
> +
>       default:
>           return false;
>       }

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 14:51:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 14:51:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924129.1327467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvdiE-00079m-HJ; Fri, 21 Mar 2025 14:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924129.1327467; Fri, 21 Mar 2025 14:51: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 1tvdiE-00079f-DH; Fri, 21 Mar 2025 14:51:06 +0000
Received: by outflank-mailman (input) for mailman id 924129;
 Fri, 21 Mar 2025 14:51: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=n2Zf=WI=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tvdiC-00079Z-Rj
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 14:51:04 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20603.outbound.protection.outlook.com
 [2a01:111:f403:2614::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8f2a11a-0663-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 15:51:03 +0100 (CET)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by GV1PR03MB10315.eurprd03.prod.outlook.com
 (2603:10a6:150:165::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Fri, 21 Mar
 2025 14:51:00 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.034; Fri, 21 Mar 2025
 14:51: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: e8f2a11a-0663-11f0-9ea1-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xnbQ4BbbNxFtQlmurab+yEduXnDFeocz8jeqlW/ccwRFZzOzWCvkWUpRJDUHsCr4bimPKWFaxutFk/lHxEt0B5jv7A8QeIwMEuBihVH3Zjq5ZPWrRMtFqF5f9iL2r/izue6SKSuN/cSZ2azACajz3emI2UKW0AgjvsbwfkwFg0O8aF/Bc9LcG5c72OxDam+zFs6vGL1MGDK/MP4bggS2R65eu6vw5mbUcW67W6uXj6Qwpt3jRA3yf2kbGYTBWg47Z9g+NKO4kqxl/vV+TeSVVD/cp8tus8PYvuykmd0an9o4gJtWr0RUeRB/qPK37ZDbg+KluArChMRb02FaJQARZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AnKdBgDj+T1LL4SWEpdz6QiIEAf6JheUdCqsio+5LYA=;
 b=wbW1TxzfmHDsWsNdvz4CkewACBZuXdZcD0ZHZ197fwISwq1lrhV6PL5SI2WLrh9YajFMmfT1fbeG4+XYyObzGgRgv2J0hLE8NoMeMjpqAVO1J4C4nYucUnUS7IWzW0/R8xMhJttveqzNQ3TfhpjcVMsxJ3g52C7f1FH6S5Q9Q8NMa5RuVoDjeUBNZupbBGUqlogOehjHBn+6WrGkSDYY3TSr/mFJAdI+cgNvSo6hCE0RUXHnAQg4Y5AZoW9wzEysHgYRO/sa8OC+Mw6UH607jaByY6JAKz4gkSWqfDkbQla+AR9SGZ7BT+h2mpj70bwEY2aYDteJiHezy+8nugOygw==
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=AnKdBgDj+T1LL4SWEpdz6QiIEAf6JheUdCqsio+5LYA=;
 b=U38ASFmsJZ37bEvhasYc7PzOSFi0Has6gvJp+jJfSNWdG7C+etu3kP2mZjqJwnVCtNeeZCHAncbuHLeIzg9PvFgknRAlfYWl7LQCDW4mS+adfjMwCGasuDvqBUnwpsEvBu66aMd5X1Dy3xPrsSV3Bs2YQ+PvAJBjIy3q4N96G/wJlk2v9X6XEDwAXrseToOYkTnLzRHVToeuysLUXTr3Np51hYHJLLCnq1MWRt5rC2l0YxR1ZmQkQLpE3ZQqNpPYtaz7+YhS50wzcjYzSToPkmgkY3gy3bCsmwpfJmvAK222J7s7ouiEKXHElvpBN/4Sst6aiUN8jda/O++uicB8SQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Jan Beulich <jbeulich@suse.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?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
Thread-Topic: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
Thread-Index: AQHblOXdxbIbbkNtn0WSg/9tW2OJ47N3cuWAgAYDBYCAAC5SAIAAE0cA
Date: Fri, 21 Mar 2025 14:50:59 +0000
Message-ID: <d79e9fe2-0239-4360-8b13-06498ce2c205@epam.com>
References: <cover.1741958647.git.mykyta_poturai@epam.com>
 <132afbca390edd6e9fd7b1ffacf6c5aff0d29aa7.1741958647.git.mykyta_poturai@epam.com>
 <7fa0bde7-3aa9-48f4-a0ed-d03216edcc4e@suse.com>
 <dbc57c17-867f-49c4-be61-186b5562eff1@epam.com>
 <f90b5092-1522-414a-b57a-7a9d116a1f43@suse.com>
In-Reply-To: <f90b5092-1522-414a-b57a-7a9d116a1f43@suse.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_|GV1PR03MB10315:EE_
x-ms-office365-filtering-correlation-id: 64053484-b0c7-4e79-552e-08dd6887cb80
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|366016|7416014|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?VnY2dFA0djlVNUVXTTlsWjdNR21qcExpdkpPL1hTQmh3cW51MkNQalR2SGxE?=
 =?utf-8?B?VVQxWHpLWmlpeDRaZXY4dUFzcUpzZWo0aERzRkN1RFFqT2gvR2xJOEptbjRH?=
 =?utf-8?B?UE9IYktGeWtHWWxHSGZpakU5MTZHY3V3djVnUTkxV29GSzVXcDRNMFpDMHJy?=
 =?utf-8?B?MzhkR1lYZEg1NnhZMHQvN0pUMThtY0hvbVlQclBtNytOb3RqN0xzcnJSdGZB?=
 =?utf-8?B?VmV6ZGhFR3ptSmJDRmpuZXlEOWZmdU9Pbjl4YVBqQ1dYRDlobkMwek1ZMnZJ?=
 =?utf-8?B?dEJLNFB1WmtiY1Z1WG1KN25ZKzVnMEZHV0V3TXlHaXIzRnBQVkpVYjJ1V2tH?=
 =?utf-8?B?N29jYkpWenBTUXhQZUpCSHZjZldCOFR0Q0N3eHRFSkhFc1dUeGxsYlR0K1lC?=
 =?utf-8?B?SGlUa0FnSlFwWStOdW41NGkxT3F4M3k4TTlXUnowSGx6WElwVUVtK3JUdUVp?=
 =?utf-8?B?Zy93UkZkNTdMaGc2eVpEMW1nRDdBaTVybnc3c3hDR0taMWszQzFkSU5vNlEz?=
 =?utf-8?B?Tm1UNm8xWEF2NFJYYVFqZ1lQdDRDVktBUWRpbnFHeFJCdFE5OFdoNDJ4UkFM?=
 =?utf-8?B?eDd6YitKdktpK3p2QVhuTUc2ZjltVTduUVFZNnRqTkFOdTFZQ2NLWFMxMnhs?=
 =?utf-8?B?Z1loSTNlVkY0dHBpVzY5RzNxeHNUbGtqTHFObEI0TEFGNG5RU0pOU0JlREla?=
 =?utf-8?B?REdKeVJ1VmRnTkRJdjlIdTBIN3NwOTlRQVU0VUZ2M1VkNngyVlNXRzI1RVdt?=
 =?utf-8?B?U1R4dDBhZEx1V3pXOGxFOUFGTVh1K2RWemEwUVZQYktTOVdCd3ljTnFDeWE4?=
 =?utf-8?B?UEtsczhhNFYvYms1S0p4VlZLS0hZcHVBNG95ZmpFbnlnR0J5RXFqTnRmOUsz?=
 =?utf-8?B?ZXdPdDZUOHFyVVl1dTRNUHh2VmM2Y1p1dkhIUHBPZ0k5bjZPTmhadW9HQzU1?=
 =?utf-8?B?N2Y4UUdheVdZVm1xa2wydDBTSjJ1aGV2STB1VlRFWXJPTUovTEpTSm1UOERi?=
 =?utf-8?B?ZEdQQ29BSXQ4TTMzYlZYeWRyUXhFVDBTdTNscTNDNUFjRUdxbEkrZmpsR2pS?=
 =?utf-8?B?NHNWejBjTy9UekRqVTBOSGN5Y3VpcEltenhnZFR0dEdubHhESysrSXp6RWtv?=
 =?utf-8?B?SkFuWmtDMmJqSFNnYjI3NW9CanJVMWZCYkxuVVFNcjE4SjB4ZHNOL3owTjdX?=
 =?utf-8?B?M2FjSTd2bnFhWWJHSlc2bHN4YnVmQi8rZm13THJ6b0R4em9xaDVnUUR5SHhz?=
 =?utf-8?B?eCtUWC9GR0J3MXBVU0ovL0NYdDZpS1BnSE5rWEQrTTcveWdkMFBMQ01LMk14?=
 =?utf-8?B?b3g2NTlWcXlIQ3NRZWJVYjZMVDlRb05zVy9yYll5bTBOeWFPOUpuMFA4d1hq?=
 =?utf-8?B?VEFWczJtRHRMWTVqMkY5MGFsNW5ZSkNMdGZqS3FKbVJCVXljWXBCYnNaSEU5?=
 =?utf-8?B?UTJ2K0NhNTRvdm5DUXRBYkNaNWExMWpXVDRIa1Zhb3ZOQjVUazMyMGdxVTdT?=
 =?utf-8?B?ZzJ5QW5FbUJtaGFJNUpxRWMrSk0zcHJoS2U5OThialBhOFloajRBTDJaR051?=
 =?utf-8?B?RHNiSHNZdE9BaTk3cEpnUGJMZ0lsS3ZNQWc2UEo1TXdqSE1oWnZkL0orZGRz?=
 =?utf-8?B?a3lxNG1CMDY1b09iek8vYStJd2tualVPSTd3Z0RYUFJxTHU5Q2J3Q0JGbkpC?=
 =?utf-8?B?MEViTVIySzdCbzNNZzF3QU5FNFJ6dUlrYko0V01PdWpNSmIrRXRRb3RpcHpT?=
 =?utf-8?B?NHZmMUJaQVFVWW5NbjRyYldFempFeTdJMC9LZmpjdjcyWmZDSHVKRlNGNXow?=
 =?utf-8?B?WmlCcXFmR0loaDhKdjdLbU9zQWpFUHlJZjNqN2VFT1lFdXZIVHZSTDJxa0sz?=
 =?utf-8?B?S0srZTVaaC9BR1FZMGlrSGd2WWQvQWF6YzVyRGlmdjVUdVFBSGQ1czhVb1lh?=
 =?utf-8?Q?1OJ5QFfbN3aJUIr3SnowGk9tCMduY74o?=
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)(1800799024)(366016)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZXFaZ2xEK0JMaFJ0V2RxMkJWUldlNXd0WVUrc3k1cFRoZ3gyak5iQ3RqczZ1?=
 =?utf-8?B?cUhiZG82S1d0UGVCL2tqNVBqeXM3cDJSd04weUxNWG9tTmZ1eDB6S3orSThS?=
 =?utf-8?B?TTVHZ2tJdDFDVlhSeVl6ME5vckpVS2JUWGVLc0dMMW12ejJGWE4wZUJ5TUo2?=
 =?utf-8?B?ZFFwc09iTmdXeXY5bUs1QllTWE1oWTBsTzNHam5GUlpJVHdYeHVNdTlIdVR6?=
 =?utf-8?B?cGdIQ0pPclZRZGpicGduN0RiR2s5UFA4KzZ4cno3WUR5N1ErT1RNOGhIRnVx?=
 =?utf-8?B?eUNZOEZNd2hFaEVPdG9VZmZ6RklkcWQ0U09hK1Zrdld5bm5TNE1NaFQ3QTRP?=
 =?utf-8?B?QUk2MVlJb1puMFNHdENqenNHOTE1bkVNdVAvMUdGajVYN2wvUjB0K0kxdDBk?=
 =?utf-8?B?Tmt2NTBvZ1ZMR1BxUnh4V0UrWE5DRC9DYWRYZVVaQjM2ZndTSkVnOVFPdFlI?=
 =?utf-8?B?NXpCM1g0Z1VDcHdOSFkzNDExUzRtNVJYMjVWTllCVnl4V3hCdy9nSU9NdVY4?=
 =?utf-8?B?QU5vK1NJR2lVQVU2TVh4SFliK1ZCVUdpM1NUV1pOazJTQUFTMzJpVXBudTYz?=
 =?utf-8?B?bE5KZ0dkY0ZVd2EvSk9kaklHRTRMUmx3SThnVmd2SVpRSVE3dHZmRXhiYVhz?=
 =?utf-8?B?bXlPWm93RzYxd3lWMm50MXVTbHFYRE1sQ1B3R2NPWm5zSEEyWHJDQ3orSVI4?=
 =?utf-8?B?Y3JNTWNudGovNUFBVDRlSFVhQXhOUFZoMkZlZDBMV21SaGVuZE9LRW1MdExx?=
 =?utf-8?B?UVhKTWY1OVFkU241NmtxOWRrTHJST0hZR2t0cDFOeStmK1gxNzVZa1pObHpi?=
 =?utf-8?B?MzVCd2VNbG5vRXFsN3ZGamJOeDJlSm55OWtJcmhkcGs3L2tNRjY3cjJINWJG?=
 =?utf-8?B?VHFiRmxZQmpDS0NzaHRRWUgwR1g5OG1rcU9VbDRyL04vajV5bk9ldWlUMmJk?=
 =?utf-8?B?T0c2RDVYVml1NHVoU3FMdnpPMDR3SFBESU1zZWFBMWxyL2F1enBweW9hSDNv?=
 =?utf-8?B?RFRqUEdWVW9hYjk2UUJZMksrT0p5TmJ4Z2FhMGlRRTBBWDdsVWJFK3RRblBi?=
 =?utf-8?B?TmdBS0hTNUZFMER3OWVGV1FPUXZLOHBrSWw4dCtDdzM5bmJ1c0NYQTJBb0VE?=
 =?utf-8?B?cTFmM2JmMVNmbG5oeG5ZUC82THZmZGNxaHp0dkZ4Z1RxWkdHcTJOd2thTHU5?=
 =?utf-8?B?WWhSWkltZGlSZHYwZXcrM1g3dU9RaHBWdUpQZC9hRmljbkdsMENCKzNqM2lq?=
 =?utf-8?B?eS96clFHSENncTVWM3phZnZML3JiTkk1NXZrWGF4VFFKcmZVMGxsSFdhb0R4?=
 =?utf-8?B?WDV1cVpwY3liNU56R0w2NWNEa2p5cVZlSUFnM3JYTTlJZjliTE5hNE5VOGFk?=
 =?utf-8?B?MnIxQmNKR1RudE5OSDgyRkdQU3Q5VW5jVnV0d0NTOU1aVVpPS09aaXdwQnFL?=
 =?utf-8?B?WkxDWFVBSlBDZlNpNUF3bWFTb29JMVIrM2pmNHJpZFlKK1FtWUpVRnRZekdw?=
 =?utf-8?B?WjRDbFpCQlVFTHVwZHVQd1o1MUE3SElPd29IS0w3SmNhMkpKaU5sMEp0QW5W?=
 =?utf-8?B?Z1BnNGpuWlRTYkdXNG1xR21XYVlFZnVNcVVGRXIxRjRORmZIcG5uRCtCeTIv?=
 =?utf-8?B?TDhrNm1MdUZobXV4U1NLd3lKRmFtaXNDUUlHeUliUFhaODZmZlAwNnZsRGtm?=
 =?utf-8?B?NDFIUkVzempVVmVsK3AvNlZsRlcrOURMVXJXd09VTE5idy9hVWIrWEQwNVV0?=
 =?utf-8?B?RTNBaXY2bUFDYW1HeHhEYklyTlNHL0ZzWjdtWnNsQ1pnVHZsQkhhMGJVMk9t?=
 =?utf-8?B?Y0hjRjRmK3doRHVxeXo5STZEbGFhYTlMdlFHblBCcjJNRTNtcjRvb1hkZWhI?=
 =?utf-8?B?a094eTBlUjh0OWpwVHNlc3had2xPWnBCK1RSRk01OHljeTFlTkxXblRjWjVH?=
 =?utf-8?B?b2lqdFRsSWhVaEZZdGd3V2ZXOU1XOXMrRU8yTUk1bm1zKzBTL2NCeW5rVXBY?=
 =?utf-8?B?NitzSzJDOFlHZXVCblByOUJWVytoUTQrR3h5cExrV2c2V095Y3dsTDdUMzhZ?=
 =?utf-8?B?UTVWak9zMzJFYThpS1RGZ1ZYbUFWYVcxU2tnM2RsY1NOcHAvUDJOR1NtK09Z?=
 =?utf-8?B?UFFrMmpmdGNNM1J6NHBtYVEzWWFJNU54MEQ0elNaYWhNNXFZeE4rWjlxZkN1?=
 =?utf-8?B?b1E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7B09D210A1C2A84D9785EFAD281C2038@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: 64053484-b0c7-4e79-552e-08dd6887cb80
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2025 14:51:00.0136
 (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: 9g1iQF5XPO6mfwuqVtu9Ls6Q0AeM1bgDESH/LI33HCut2YUpoMsy9ba88OCEc6dIf+vHbc3vCdZrvU/7INHcyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB10315

T24gMjEuMDMuMjUgMTU6NDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMS4wMy4yMDI1IDEx
OjU2LCBNeWt5dGEgUG90dXJhaSB3cm90ZToNCj4+IE9uIDE3LjAzLjI1IDE3OjA3LCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+PiBPbiAxNC4wMy4yMDI1IDE0OjM0LCBNeWt5dGEgUG90dXJhaSB3cm90
ZToNCj4+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL3BjaS9wY2kuYw0KPj4+PiArKysgYi94ZW4vYXJj
aC9hcm0vcGNpL3BjaS5jDQo+Pj4+IEBAIC0xNiw5ICsxNiwxOCBAQA0KPj4+PiAgICAjaW5jbHVk
ZSA8eGVuL2RldmljZV90cmVlLmg+DQo+Pj4+ICAgICNpbmNsdWRlIDx4ZW4vZXJybm8uaD4NCj4+
Pj4gICAgI2luY2x1ZGUgPHhlbi9pbml0Lmg+DQo+Pj4+ICsjaW5jbHVkZSA8eGVuL2lvbW11Lmg+
DQo+Pj4+ICAgICNpbmNsdWRlIDx4ZW4vcGFyYW0uaD4NCj4+Pj4gICAgI2luY2x1ZGUgPHhlbi9w
Y2kuaD4NCj4+Pj4gICAgDQo+Pj4+ICtib29sIGlzX3BjaV9wYXNzdGhyb3VnaF9lbmFibGVkKGJv
b2wgZG9tMCkNCj4+Pj4gK3sNCj4+Pj4gKyAgICBpZiAoIGRvbTAgKQ0KPj4+PiArICAgICAgICBy
ZXR1cm4gcGNpX3Bhc3N0aHJvdWdoX2VuYWJsZWQgfHwgaW9tbXVfZW5hYmxlZDsNCj4+Pg0KPj4+
IEFzIEkgdGhpbmsgSSBzYWlkIGJlZm9yZSAtIHRoZSBmdW5jdGlvbidzIG5hbWUgbm93IG5vIGxv
bmdlciBleHByZXNzZXMNCj4+PiB3aGF0IGl0IHJlYWxseSBjaGVja3MuIFRoYXQgKGltbyBoZWF2
aWx5KSBtaXNsZWFkaW5nIGF0IHRoZSB1c2Ugc2l0ZXMNCj4+PiBvZiB0aGlzIGZ1bmN0aW9uLg0K
Pj4NCj4+IEkgYW0gYWZyYWlkIEkgZG9uJ3QgdW5kZXJzdGFuZCB5b3VyIGNvbmNlcm4uIEl0IHN0
aWxsIGNoZWNrcyBpZiBQQ0kNCj4+IHBhc3N0aHJvdWdoIGlzIGVuYWJsZWQuIFdpdGgganVzdCB0
aGUgY2hhbmdlIHRoYXQgQVJNIG5lZWRzIHNvbWUgZXh0cmENCj4+IGxvZ2ljIGZvciBEb20wIFBD
SSB0byB3b3JrIHByb3Blcmx5Lg0KPiANCj4gQ29uY2VwdHVhbGx5IHRoZXJlJ3Mgbm8gc3VjaCB0
aGluZyBhcyAicGFzcyB0aHJvdWdoIiBmb3IgRG9tMC4gSGVuY2UgdGhlDQo+IG5hbWUgb2YgdGhl
IGZ1bmN0aW9uIGl0c2VsZiBpc24ndCBjb3JyZWN0bHkgcmVmbGVjdGluZyB3aGF0IGl0J3MgY2hl
Y2tpbmcNCj4gZm9yLiBpb21tdV9lbmFibGVkIGlzIGEgcHJlcmVxIGZvciBwYXNzLXRocm91Z2gg
dG8gYmUgZW5hYmxlZCwgYnV0IGl0DQo+IGRvZXNuJ3QgaW1wbHkgdGhhdCdzIG5lY2Vzc2FyaWx5
IHRoZSBjYXNlLg0KDQpPa2F5LCBub3cgSSB0aGluayBJIGdldCBpdC4gWWVzIGZyb20gdGhhdCBw
b2ludCBvZiB2aWV3IGl0IHNlZW1zIGtpbmQgb2YgDQp3cm9uZy4gTWF5YmUgdXNlIGEgc2VwYXJh
dGUgZnVuY3Rpb24gdGhlbiwgc29tZXRoaW5nIGxpa2UgImh3ZG9tX2hhc192cGNpIj8NCg0KPj4g
TWF5YmUgY2hhbmdlIHRoZSBwYXJhbWV0ZXIgbmFtZSB0bw0KPj4gc29tZXRoaW5nIGxpa2UgImZv
cl9wY2lfaHdkb20iPw0KPiANCj4gVGhhdCBtYXkgaGVscCBiZWxvdywgeWVzLiBCdXQgbm90IGhl
cmUuDQo+IA0KPj4+Pj4gQEAgLTg1LDcgKzk0LDcgQEAgc3RhdGljIGludCBfX2luaXQgcGNpX2lu
aXQodm9pZCkNCj4+Pj4gICAgICAgICAqIEVuYWJsZSBQQ0kgcGFzc3Rocm91Z2ggd2hlbiBoYXMg
YmVlbiBlbmFibGVkIGV4cGxpY2l0bHkNCj4+Pj4gICAgICAgICAqIChwY2ktcGFzc3Rocm91Z2g9
b24pLg0KPj4+PiAgICAgICAgICovDQo+Pj4+IC0gICAgaWYgKCAhcGNpX3Bhc3N0aHJvdWdoX2Vu
YWJsZWQgKQ0KPj4+PiArICAgIGlmICggIWlzX3BjaV9wYXNzdGhyb3VnaF9lbmFibGVkKHRydWUp
ICkNCj4+Pg0KPj4+IFRoZXJlJ3Mgbm8gRG9tMCBpbiBzaWdodCBhbnl3aGVyZSBoZXJlLCBpcyB0
aGVyZT8gSG93IGNhbiB5b3UgcGFzcyB0cnVlDQo+Pj4gYXMgYXJndW1lbnQgZm9yIHRoZSAiZG9t
MCIgcGFyYW1ldGVyPw0KPj4NCj4+IFRoaXMgc2hvdWxkIGJlIHJlYWQgYXMgImlzIHBjaSBwYXNz
dGhyb3VnaCBlbmFibGVkIGZvciBEb20wPyIgYW5kIGlmIGl0DQo+PiBpcyB3ZSBkZWZpbml0ZWx5
IG5lZWQgdG8gZG8gYSBQQ0kgaW5pdC4NCj4+DQo+PiBJJ3ZlIGFsc28gZG9uZSBzb21lIGludmVz
dGlnYXRpb25zIG9uIHBvc3NpYmxlIHdheXMgdG8gcmVtb3ZlIHRoZQ0KPj4gRG9tMC9vdGhlciBk
b21haW5zIGRpc3RpbmN0aW9uLCBidXQgSSdtIGFmcmFpZCB0aGlzIGlzIHRoZSBtb3N0DQo+PiBy
ZWFzb25hYmxlIHdheSB0byBtYWtlIFBDSSBmdW5jdGlvbmFsIG9uIERvbTAgd2l0aG91dCBleHBs
aWNpdGx5DQo+PiBlbmFibGluZyBQQ0kgcGFzc3Rocm91Z2guDQo+Pg0KPj4gU01NVSBpcyBjb25m
aWd1cmVkIHRvIHRyaWdnZXIgYSBmYXVsdCBvbiBhbGwgdHJhbnNhY3Rpb25zIGJ5IGRlZmF1bHQg
YW5kDQo+PiB3ZSBjYW4ndCBzdGF0aWNhbGx5IG1hcCBQQ0kgZGV2aWNlcyB0byBEb20wLCBzbyB0
aGUgb25seSBvdGhlciB3YXkgaXMgdG8NCj4+IHB1dCBQQ0kgaW4gZnVsbCBwYXNzdGhyb3VnaCBt
b2RlLCB3aGljaCBJIHRoaW5rIGlzIG5vdCBzYWZlIGVub3VnaC4NCj4+IEFuZCB3ZSBhbHNvIGNh
bid0IGRyb3AgdGhpcyBwYXRjaCBhcyBpdCB3YXMgZGlyZWN0bHkgcmVxdWVzdGVkIGJ5IEp1bGll
bg0KPj4gaGVyZSBbMV0uDQo+Pg0KPj4+PiAtLS0gYS94ZW4vZHJpdmVycy9wY2kvcGh5c2Rldi5j
DQo+Pj4+ICsrKyBiL3hlbi9kcml2ZXJzL3BjaS9waHlzZGV2LmMNCj4+Pj4gQEAgLTE5LDcgKzE5
LDcgQEAgcmV0X3QgcGNpX3BoeXNkZXZfb3AoaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJB
TSh2b2lkKSBhcmcpDQo+Pj4+ICAgICAgICAgICAgc3RydWN0IHBjaV9kZXZfaW5mbyBwZGV2X2lu
Zm87DQo+Pj4+ICAgICAgICAgICAgbm9kZWlkX3Qgbm9kZSA9IE5VTUFfTk9fTk9ERTsNCj4+Pj4g
ICAgDQo+Pj4+IC0gICAgICAgIGlmICggIWlzX3BjaV9wYXNzdGhyb3VnaF9lbmFibGVkKCkgKQ0K
Pj4+PiArICAgICAgICBpZiAoICFpc19wY2lfcGFzc3Rocm91Z2hfZW5hYmxlZCh0cnVlKSApDQo+
Pj4+ICAgICAgICAgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsNCj4+Pg0KPj4+IFNlZWluZyB0
aGUgZnVuY3Rpb24ncyBwYXJhbWV0ZXIgbmFtZSwgaG93IGRvIHlvdSBrbm93IGl0J3MgRG9tMCBj
YWxsaW5nDQo+Pj4gaGVyZT8NCj4+DQo+PiBJcyB0aGlzIGEgZnVuY3Rpb25hbCBvciBuYW1pbmcg
Y29uY2Vybj8gSWYgaXQgaXMgYWJvdXQgbmFtaW5nIHRoZW4gY2FuDQo+PiBpdCBhbHNvIGJlIHNv
bHZlZCBieSByZW5hbWluZyB0aGUgcGFyYW1ldGVyPw0KPiANCj4gVGhlIHJlbmFtaW5nIHN1Z2dl
c3RlZCBhYm92ZSB3b3VsZCByZXNvbHZlIHRoaXMsIHllcy4gV2hldGhlciAiZm9yX3BjaV9od2Rv
bSINCj4gb3IgYW55dGhpbmcgYWxpa2UgaXMgYSBnb29kIHBhcmFtZXRlciBuYW1lIGlzIGEgZGlm
ZmVyZW50IHF1ZXN0aW9uLg0KPiANCj4+IFJlZ2FyZGluZyBmdW5jdGlvbmFsIGlzc3VlcywgSSBo
YXZlIGFzc3VtZWQgdGhhdCBvbmx5IGh3ZG9tIGNhbiBtYWtlDQo+PiBwaHlzZGV2IG9wZXJhdGlv
bnMsIGJ1dCBhZnRlciBjaGVja2luZyBpdCwgdGhpcyBhc3N1bXB0aW9uIHNlZW1zIHRvIGJlDQo+
PiBjb3JyZWN0IG9uIHg4NiBidXQgd3Jvbmcgb24gQXJtLg0KPj4gSSBleHBlY3RlZCB0aGVyZSB3
b3VsZCBiZSBhIGNoZWNrIGluIGRvX2FybV9waHlzZGV2X29wKCkgb3Igc29tZXdoZXJlDQo+PiBu
ZWFyIGl0LCBzaW1pbGFyIHRvIGhvdyBpdCBpcyBkb25lIGluIHg4NiwgYnV0IHRoZXJlIGFyZSBu
b25lLiBJJ20gbm90DQo+PiBzdXJlIGlmIGl0IGlzIGludGVudGlvbmFsIG9yIGJ5IG1pc3Rha2Us
IEkgdGhpbmsgaXQgbmVlZHMgc29tZQ0KPj4gY2xhcmlmaWNhdGlvbiBieSBBcm0gZm9sa3MuDQo+
IA0KPiBIbW0sIGxvb2tpbmcgYXQgeDg2J2VzIGRvX3BoeXNkZXZfb3AoKSBJIGZlYXIgSSBjYW4n
dCBzZWUgc3VjaCBhIGNoZWNrIHRoZXJlDQo+IGVpdGhlci4gQW5kIGluZGVlZCB0aGVyZSBhcmUg
Y2VydGFpbiBQSFlTREVWT1BfKiB3aGljaCBEb21VLXMgbWF5IGFsc28gbWFrZQ0KPiB1c2Ugb2Yu
DQo+IA0KPiBKYW4NCg0KSXQgaXMgb25lIGxldmVsIGFib3ZlIGluIGh2bV9waHlzZGV2X29wKCkN
Cg0KICAgICBjYXNlIFBIWVNERVZPUF9zZXR1cF9nc2k6DQogICAgIGNhc2UgUEhZU0RFVk9QX3Bj
aV9tbWNmZ19yZXNlcnZlZDoNCiAgICAgY2FzZSBQSFlTREVWT1BfcGNpX2RldmljZV9hZGQ6DQog
ICAgIGNhc2UgUEhZU0RFVk9QX3BjaV9kZXZpY2VfcmVtb3ZlOg0KICAgICBjYXNlIFBIWVNERVZP
UF9wY2lfZGV2aWNlX3Jlc2V0Og0KICAgICBjYXNlIFBIWVNERVZPUF9kYmdwX29wOg0KICAgICAg
ICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJkKSApDQogICAgICAgICAgICAgcmV0dXJu
IC1FTk9TWVM7DQogICAgICAgICBicmVhazsNCg0KLS0gDQpNeWt5dGE=


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 14:58:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 14:58:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924149.1327477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvdpC-0007pj-A3; Fri, 21 Mar 2025 14:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924149.1327477; Fri, 21 Mar 2025 14:58: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 1tvdpC-0007pc-72; Fri, 21 Mar 2025 14:58:18 +0000
Received: by outflank-mailman (input) for mailman id 924149;
 Fri, 21 Mar 2025 14: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=YWv/=WI=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1tvdpA-0007pW-A0
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 14:58:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20606.outbound.protection.outlook.com
 [2a01:111:f403:2614::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea783a3e-0664-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 15:58:15 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV2PR03MB8607.eurprd03.prod.outlook.com (2603:10a6:150:77::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Fri, 21 Mar
 2025 14:58:12 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.034; Fri, 21 Mar 2025
 14:58: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: ea783a3e-0664-11f0-9ea1-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sRvcBHr2B7AlXa7wwwzP7cNVva2AVJ6TTEB7YWkk+69YGn0xOLFdysMbfLWR7fPpewnlkGOXaG5UHR2WjKkqm2/0dauK43pUn55B+JeByuEd2rG7EmP/ASRUkyyEDCRfXEuo9nmlA71frYI9SYuQTHN/wasRyfZLcf9gwYUInIy/HbJ+MjuvnB/VGPtT/Ioa2JhINghI/OPomIkf7BWTGYDs1vNJJi4p86KoqY8E7YasejQS4O1lx7kZ94W3omDCx5oU5HygYhJELHed10sydnvKi6y8SRV7e2HNChVkeCNXoEB1GLqdeQ7awY3XXppXkGYIDm1rZUpi0Ug/3YijQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4fL02CPPC+ReMQnElTXUam8KEi+iC8iHcAIwmx4keyw=;
 b=aFYj84vqY2at6hB5Dgq2HUSMSACURHIcS8yMeY24uyCuoj9L2XyXF8Vfs63m9hfox4zE6bRulWHSDg/JupB+CthzW9hZqjZELH3ecCNFvfvW4UCrvjtXhoYFXEqsNB7p4En1f3nIX3pmYXzs3FGw4IVOWOMZjCJECtz4iTvzpeumUr69+9Lm3f1G3yz5Ee2aEjbB6aBrmxZTgpSB9KXxBtHLuhFKySq7ps7ci+ZFxF8G58slk25f6yvw4N+SfrXSY/BQOdeSFQWaLJxRI54+NuFaEdvTiS53A6LiU+BwmuP/NEumfqR0hgWTbvWmnC5jcVBg5vA3C8m+bQxPQnY+PQ==
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=4fL02CPPC+ReMQnElTXUam8KEi+iC8iHcAIwmx4keyw=;
 b=P0ZeXXeQCUx0eM48qZHLX3LllZJUr4GFphQb136CGl+2MuakMZDXa4brhPlrjwcyt3i3ot39eyoQgzdKBeRYBVVbH7t3YM1x3DP85szaPKNrpDogKOLH8MXXoU5REx00vEAnqF2OvZxlAcPeyI+DBgC0UmCt5H3zEfK6HYiiqSrPQLz5H9MS3VYmnhqXoUltZh12XmB98qs5Dd9ojJNFtCPYV7tMoREkDAFw2usrXuIP/p+6OY7budyttWmqF9/Sln3owazOMoHEiOrRLuXEmOZr/SV7PHG7MHCJF8sO37Td+eae0zqFONZtGjRSlg5TPsWlU6kJuN1Zod51i3dXtA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <db6426f2-76be-4ec1-bd01-4553ebdf63f1@epam.com>
Date: Fri, 21 Mar 2025 16:58:09 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
To: Mykola Kvach <xakep.amatop@gmail.com>, Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Mykola Kvach <mykola_kvach@epam.com>,
 Stefano Stabellini <sstabellini@kernel.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>
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
 <849e6163-141d-4c8a-a57f-e589a38dd38d@xen.org>
 <CAGeoDV9Ey9gnR=AGe13y0HtQ4UwoBOeD=LuY4KJud7jXuJ-h9g@mail.gmail.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <CAGeoDV9Ey9gnR=AGe13y0HtQ4UwoBOeD=LuY4KJud7jXuJ-h9g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::23) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|GV2PR03MB8607:EE_
X-MS-Office365-Filtering-Correlation-Id: 24dc7498-b29b-43af-1c4c-08dd6888cd19
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?Rlh0REtRaTdDYSt2dlE1SWM1ZGl6MUFOeUVaa3V3cGw1cWJvTFlTVzFYa1Rn?=
 =?utf-8?B?SUh2bk1TcWNFNExwdy9maW8rdlJBbnp4RzdWMlJnRS9OSEg5cmh0eitDTU91?=
 =?utf-8?B?Ymx5Ym51R2RXNkdaWmtWNFg1UCtld3Z0ckwraU9FMnRpQUErMk4xaFI4K1hm?=
 =?utf-8?B?RUtaaC9vTVpXREhqMVM0NWM1QmVPMWR6V3VTRExTamh2eEpvYnVtUkFJVDRG?=
 =?utf-8?B?VkNQTUlBUklKOEs0Vk42cjB2ZzBXZThaanBXbWI2dk01SFBiUGZJdjk2OUhk?=
 =?utf-8?B?dDFlU0FycUVjYVJya01VT25GeG4ya0hCdmlOTHpyeWpYaGR3T3BCcUNEcEFN?=
 =?utf-8?B?bU5iMktYMVZkeDdvd2FycFlXWDVxS1I2WU8zeVdNSTR0NjBaQWJ3SmIvTXZ5?=
 =?utf-8?B?dDVkNGtJeWNzNUwwZ1lPWDkrSUxGSTl6YnBNdDhrRU5ERFR2ZzJXdVBEcEha?=
 =?utf-8?B?L3psVDZyWGJReVdmcWZBd0pYMnNNT0NKYUNqaGtFMWRPeXlYcXJ4ckFzSzBZ?=
 =?utf-8?B?VjMyUWJOaHlkV0dBNFNwM0JVRE4wSmpyV25Dc1RUMDZ6TGpjVUpITlpJV2ZM?=
 =?utf-8?B?TGgvaERUY1VzU2pQK3dMRDFIaHFzNW9wVnZPWVhRdnNSQkYzVC9zWURCSE5t?=
 =?utf-8?B?WHdBdE5YVGtZUSs1eEh2dGh2ZVUxMVkza05KeE8yY1NIamhpNFo2OWVyano0?=
 =?utf-8?B?WXBuUEpORmtVR0FqZFBPT2Y3NFBTN2ZaU0pPNUxYLzBwYTIyRkJPcGRBYzZT?=
 =?utf-8?B?U3h4M0wrQnc1NlUrMTg2VmErZGh6UWxjYzBpc1J4KytSallkb3lXaUVnN2ZO?=
 =?utf-8?B?Y3Z5RkNUbHhTUnRydjQwenRiNkZoTWgxR2JiRW1aejlIVDErZ3ZSQmV4Slg2?=
 =?utf-8?B?RnZLd3FralR0TnpBSjU0MytOM21QakFNblVQcWRrbDN5ZkJNWnJNLzdUcWFv?=
 =?utf-8?B?SGtwOGpUVEI5cnd2cjNlUDZlN255R28vTGlYaUxFUWxKR2wycW0zY1pyek50?=
 =?utf-8?B?WmJHWkRrUk5FdjBUNTBIZkFHVm1iWFRrNVpqQzhMZ3RhQW5ueUNab3RRcGEw?=
 =?utf-8?B?NTFOcncwcDhKOUNFc3hlcEpBZnUxTlRZZ2xYMGpjY3BXRmpXZkM3SVJMSVVz?=
 =?utf-8?B?NElwZE9POGxmSEN6MHZ2dzF6V20xdXRjREM0cjBkeUU0cjlRazlOajhpaFNu?=
 =?utf-8?B?YXU2N252QkdhYVIwQXc2Q2FmaXM2dHVEWWlURkZtK3dsRlI4dVZwZjcyekxl?=
 =?utf-8?B?TzJsYXgwb0pibUl5eFVwN1FmM0J5LzI1bU9Mbmd5S2hvNjhPZEJ3cE5BeDk1?=
 =?utf-8?B?b1IyRUptVFdrUFQ2dXJZOEx6NmU4VS96TzZYUDNBcUFUaHRMZTErZ1BoQ2Iy?=
 =?utf-8?B?RlNmbDBrSWh1b25sV1NnQVpvSGQ5ajBjTEpzWngzMGQwaVEwcFVraWtZelNh?=
 =?utf-8?B?aVpjYytrUGZJb0V4NHNZa1phTDdRVlUrc3F5MWlTMytkdnBSZVZqVXJtSW1j?=
 =?utf-8?B?N3pyczRqdnYrQnR1WkR5TDdIYVcvbjNESjNjWVkxbUZLL3ZCV2xWdFhXang2?=
 =?utf-8?B?WGZPbzZ3MW1KZWxUY3JvWS9EL3N5aS9lbDBjR3VNUHhQb3QyVXhjNHh5bGZU?=
 =?utf-8?B?WWFtUEFvdGkwSjBwTklBVDRNRi91NlZQc0x1TW9za2tQeWVGMUJpZVZnamdm?=
 =?utf-8?B?T1RES05GSnU5eStldWJXWWJIcEsrU21GQWJ0YkdJTjdiMSs1UjRQQ3FuaWRC?=
 =?utf-8?B?WVNURmx0Y1E5eUg0RFF2N0FIR1k5d3pUTXpmVnNkV2t0WEZPWFFMbmExS0k1?=
 =?utf-8?B?Rm44L0MxQ2R0dm9iVDVEZ1lxTTRvSDZZRzlXZVc1SXJ2TGMrUmNZRXZ0SkNH?=
 =?utf-8?Q?JwS8VIB1J9Y26?=
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?NGxObFJEbk9GdTBla2JCTWRkNm9ObjFTcUtMT21kdmtuZUVNOUxvOU1pUTRD?=
 =?utf-8?B?aDdWQ1hBZVRlTEpjVUtBeFAvMS9ybytzVVZZaUlqcTZsL1NRSlljbEM3OHE0?=
 =?utf-8?B?Vlp6enk4TEt2eFFKb3F5cjZaUHdqQkFCdlZsclUrNE4zdlhDREkxemw0VlVu?=
 =?utf-8?B?MW5HdDZUVlU2Ti84dEc2eDRLNnVCTHBNYUFvNzQvWkdrNHZnTlpVZDFCWUFR?=
 =?utf-8?B?SzVZRkZjRUk3M2ZDOFRYeEpud05KZGY5K0JoRGN0c29PdFVDNUVUbWMzMzdO?=
 =?utf-8?B?YVcySFlqcnZESlRsRFJjY0hRUFBaRHdmOThFOTB0WW92TURjYjFlTUY5MjNG?=
 =?utf-8?B?ZFhNeTROdTNTNXFkellEczVXVERxb0k2c1Q5eExzV1hkOVF2c2JhSmJGSlB4?=
 =?utf-8?B?RDlqVVEwMVlrcnVQWU9WRkJvVlBBWDRmRk5CazNWc1hOdTk2ZXdhN29JcUJL?=
 =?utf-8?B?eVdra2F4SmdDM0Y2amxBMXFvZE1IaGxPRmhEeUVKL0U0bVorOCs4ZnYrVEt0?=
 =?utf-8?B?aFZBM2JwWEZPSUZxYmEyZUxyMHBxMVNXcjI3ZDZRRjJLSk5TbnN5K3FRRHBK?=
 =?utf-8?B?V290ZEhoU2JPUzBMblZ2UVUyUEZsNGJ5RlpJOHZSSXpWdkt2bXVYUjJzOGR4?=
 =?utf-8?B?TFpaSmw0aGZHRzdiT1JneGN2Q0JEcDg1QlprK2VPRTBkcThZUjJXYjViakwx?=
 =?utf-8?B?UjYyMnpKbHlBSlJ3WDMzRWNJU2R6WDJhMUxnNlZrZlMzS0FJRmVGRTZ4V2hm?=
 =?utf-8?B?WS9zTis2UFB4OWpjRk54MUVPWUhYbUpGa0FJZUZBTXBuT01LNitIeGZrd1hu?=
 =?utf-8?B?dDB6TG9SN1pMRUN5NjBqK0FVRVFvR0JFUnJDZnB0cU5IN0t3VFdETVFmZ2hi?=
 =?utf-8?B?Zm9Dd2hPYjdWeXNJMUF0RUc5MkNONVNzcVlVbDNHa1FlV29DbW5PZEhFWk41?=
 =?utf-8?B?Q2VMMlZ1QkdqVTVLUC9sYjR0clZ2YytMSFhvQ2xxMUo2Z09FUVpadFV4Q1E1?=
 =?utf-8?B?Ni8zSk1rOFdTVVhHZHBFMFlxemMrSmtYZUdXcTFEUitSN1Y0eGN1M2RQSTNE?=
 =?utf-8?B?Y3B0dGtaWUs5amxjbm5PUXA1SXFVNjY2cGFaclJaRE1QRm81Q1NNNkR2SFd5?=
 =?utf-8?B?QnhzT29Jc0RDUjY4N2xHcXNIdEdYUTNUOTcvSGluVndIUDVadXZ1OWk5aDUx?=
 =?utf-8?B?bEZzZ2ExY2FBNUdsM2ZiNTh2K2pQT0V6ZDJhcjhsQkJOTVpKZFZYWEpFcGkx?=
 =?utf-8?B?cysrbEVCR3hlT0kwdStWM1J0TmtjZUltRm4wTW0wZ2w5Q1FETUZrQXV4Z0hW?=
 =?utf-8?B?REJtZG03Z2hkWkFXZExpOVhlK2pScHpaVkxDcXRpOHBmcFZxZ1VhcG5zSmNO?=
 =?utf-8?B?OVFoOXJMK3FtNC9nZUM4R05JeWM2ZnpBNTc1TkZZMUY3U2lxUFZUaFhVa0ph?=
 =?utf-8?B?VGFCUXJjZTlOLys5ZEJHT3JJd2tSc0Z0ZDJPTU1YOE9JWHRRVjEzeWwvQVo3?=
 =?utf-8?B?SExiWTFWRnVFQmNTTGNFT1Y4VkVuME0zVHFmSXdQVWdtR0RBS0s5Q0pmVlBR?=
 =?utf-8?B?S1E0a1ZLUUl6dnhmMnhvRG0wUDFBNHQybEVDaHByditUWWRJR2xGY3d0MFIv?=
 =?utf-8?B?a2VoY0cwalZqcjhDeXVzSGY4N2NFMzNVM3ZGZkNQaVBPZnpsbk5saTA2L0xw?=
 =?utf-8?B?V1dLeXZGeFF2MGtaa3p5eURoOUQ0MWJlbVBvcWVpYzFqTk5BOW1jUjVTQkhr?=
 =?utf-8?B?NWJIUmZjSi9oNUlNSTFxdENWMndzYUd5ekRpL2Q0MFArVWMvTWdGVGMxVTFD?=
 =?utf-8?B?QXptSUdKUXVUOExmRkJUWnF4SXpGMzd5aVNGTFJjclVrU2dCa0N1dnF1YW93?=
 =?utf-8?B?bHJsZmRvVHhJLzVNYk1NQ1VVYVh2MHNIVzlPejNXaGdSNmVMZkt6ZEJ5SmRL?=
 =?utf-8?B?amJyaWE2L2FhQlZpK0Z2Z3pPYkRqL2hveGsydnJGQTBzR1YwMmxPZldLTzdI?=
 =?utf-8?B?cVpCVjVrclZRTktIZ2dPYnB5ZzZXK2tIcUEyQXNyUUd3cytFcnphYnlCajRQ?=
 =?utf-8?B?VzBkbHp5b0d6aVZkS3RCLzhJUWZCVUdBQzhyU3pqMlh2VUl3YkZvWTVpb1du?=
 =?utf-8?B?YjdPb3NCVU5XYlhiTEhlaWF0dFFVSVhIOHpPbUJKNVZzbVhVWnhvSEhKWDBT?=
 =?utf-8?B?OUE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24dc7498-b29b-43af-1c4c-08dd6888cd19
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2025 14:58:12.3469
 (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: Bl9H4lybREpJa0Id4hE7XcqaJn/fMXaqZPtm2ayAjSbWIuAAh8uRjh1sa/9GkRVXNidI24e9bYWwplC8VOrB2HfU1tnzCchhkcuxbpVchZA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR03MB8607



On 21.03.25 11:48, Mykola Kvach wrote:
> Hi,
> 
> On Wed, Mar 12, 2025 at 12:29âŻAM Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 05/03/2025 09:11, Mykola Kvach wrote:
>>> From: Mykola Kvach <mykola_kvach@epam.com>
>>>
>>> This option enables the system suspend support. This is the
>>> mechanism that allows the system to be suspended to RAM and
>>> later resumed.
>>>
>>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>>> ---
>>>    xen/arch/arm/Kconfig | 11 +++++++++++
>>>    1 file changed, 11 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>> index a26d3e1182..5834af16ab 100644
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>>>    config ARM32_HARDEN_BRANCH_PREDICTOR
>>>        def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>>>
>>> +config SYSTEM_SUSPEND
>>> +     bool "System suspend support"
>>> +     default y
>>
>> The default should likely be no until everything is working.
> 
> got it!
> 
>>
>>> +     depends on ARM_64
>>
>> I think this also needs to depends on !LLC_COLORING (unless you
>> confirmed cache coloring is working) and UNSUPPORTED.
> 
> Sure! I'll add the dependency.
> 
>>
>>> +     help
>>> +       This option enables the system suspend support. This is the
>>> +       mechanism that allows the system to be suspended to RAM and
>>> +       later resumed.
>>
>> You seem to also tie guest suspend/resunme to this option. Is it intended?
> 
>  From the guest's perspective, it is a system suspend. However, it looks like the
> description should be enhanced. Thank you for pointing that out.

s2r = "suspend to ram"

You definitely need consider and clarify ARM64 Guest System s2r and
XEN system s2r. First can be supported without second, while the XEN system s2r
depends on Guests System s2r support and required guests to be properly suspended
before allowing XEN to enter system s2r.

You can't call freeze_domains() and blindly pause some domain, because if it's not
suspend and has passed through HW which is in the middle of transaction -> DEADBEEF.

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 15:03:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 15:03:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924163.1327486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvduR-00020a-Rl; Fri, 21 Mar 2025 15:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924163.1327486; Fri, 21 Mar 2025 15:03: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 1tvduR-00020T-Ou; Fri, 21 Mar 2025 15:03:43 +0000
Received: by outflank-mailman (input) for mailman id 924163;
 Fri, 21 Mar 2025 15:03: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=Z6G0=WI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tvduR-00020N-BS
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 15:03:43 +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 ace837b0-0665-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 16:03:41 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso14643725e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 08:03: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-43d4fd2704bsm29041815e9.18.2025.03.21.08.03.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 08:03: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: ace837b0-0665-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742569421; x=1743174221; 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=2hvrEzhHatopb1MMOcUKnFpAOwD2cfPklfcg/bR9Zn4=;
        b=Uz26VMj6AUC2O7ZYYwtpYZDyaOs4FsupBXQ02eaZmWPqr3pt9JawmpzKm1Dvuud8PY
         Dr2CnDpjhsu1KcWdZhe+GW7zVz/WeiAYTFY2fDEck6fxrhIy4shKYnvCzsVKPV8Hz7Dm
         NalAArO7BUmvTCZZOYm53CZp6okCOaW/0g8o5qPMUtL2ekRb69KDYbXMgTxJaY+osF4V
         /EEFaULABavpfLQjpAKgaPQc49KDcVOVA7/bDUwAz7wmilPX4t9fwktDi0/TADgUgUOI
         F2syO85RbjkMLBiEuZRiAPmCQu0kHAzcNEMOjuBOfRoR95Lbzs5pXQUl+R3ZY/T9treK
         G7uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742569421; x=1743174221;
        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=2hvrEzhHatopb1MMOcUKnFpAOwD2cfPklfcg/bR9Zn4=;
        b=rhqb0uofr5S3hpPsO/tMtnzvSXCSfOVQtHJjG5baws9W8jU6Ca8tS/SVGQlLw4TKMp
         ixwQocYmpXimWK0r7uZNamRJ53HBn+dxZTk/jMtZmnXmqvGj7qHqlSE8cChn6WjtZ/5M
         TYmLl51jIYknXZG15BKhDoFqthtbq6V+bf1O6iiPRAv05oekNTYuzLRhefbATovDOsz4
         lu71MhSN2bi1B5KxctARZiNxCNT360MdPB+p8yWqYAHq2mg553xL1EuR7LRstONH4osU
         Nhx6wN4Ua2VouRbSQWGxZmdyOGEo8D/cnIKF+fYbdQTD7mmdYdWy1Oexlsp4e4ePCwi8
         e9jQ==
X-Forwarded-Encrypted: i=1; AJvYcCV1wHLMgeLWnOEkkggp3QH522UQ3aXFkSTal0bIM2cmdeYyFvu1J2L08PRPDgRsEiclBx2vDAXsbSk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmxyMNUiDBFvXcaoAmYmchODetABB6ebli3ZYWJAql12xtTA5w
	vvIZ87OHQA3YSp3uZr8pfW5GumdD6x5raloekqiNYQIaak6rHYor33yukcEx2Q==
X-Gm-Gg: ASbGncsoHYtJH7Utdm+7kcnYFwSPbAT+hkw+tiSvpoAjy2NzcaUi+SxxaIO8zG+WeoI
	L6ayBDvEz9d9zHEApFfrhicP03SDgfomyO/b1/BguuB+/ihxR6Gu5TjTweYn7OxnfEWe1nK0hvx
	7H2Ycx8TMnqUIcpimMV9n/FKQKgdJ346vyO5gI7H2LpEZEsOOFsIpUbSJRXu/AV9Ae42uVCzNS3
	LUSMKMHhRAiLf+eH5fnqVUM6jTRvOS3uzDq0fgjJPwtj7sI4fZLzVyvrP0AZgSPbepswOEbRkbL
	NOtP/qhkBNG+AdaswHxKZtNHElu8zPfWr32JolXnFupHRSIQ6aIaK5qpahZtFdKgS4Z3kEMo1y9
	4YR/NGHnSs6qmZcY/aj2SHzdA4QVQhg==
X-Google-Smtp-Source: AGHT+IHirXH0Vsmfq9IIjZjbNTE377Y965JfElOiRb1/LDC1DZeZDiCpfZ7bhj6RKf64sIFu5up+OA==
X-Received: by 2002:a05:600c:83cf:b0:439:91dd:cf9c with SMTP id 5b1f17b1804b1-43d509ec70cmr43187665e9.10.1742569420512;
        Fri, 21 Mar 2025 08:03:40 -0700 (PDT)
Message-ID: <25fe073a-21b8-4ca7-8edd-03e0a3489245@suse.com>
Date: Fri, 21 Mar 2025 16:03:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 7/8] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
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.1741958647.git.mykyta_poturai@epam.com>
 <132afbca390edd6e9fd7b1ffacf6c5aff0d29aa7.1741958647.git.mykyta_poturai@epam.com>
 <7fa0bde7-3aa9-48f4-a0ed-d03216edcc4e@suse.com>
 <dbc57c17-867f-49c4-be61-186b5562eff1@epam.com>
 <f90b5092-1522-414a-b57a-7a9d116a1f43@suse.com>
 <d79e9fe2-0239-4360-8b13-06498ce2c205@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: <d79e9fe2-0239-4360-8b13-06498ce2c205@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 15:50, Mykyta Poturai wrote:
> On 21.03.25 15:41, Jan Beulich wrote:
>> On 21.03.2025 11:56, Mykyta Poturai wrote:
>>> On 17.03.25 17:07, Jan Beulich wrote:
>>>> On 14.03.2025 14:34, Mykyta Poturai wrote:
>>>>> --- a/xen/drivers/pci/physdev.c
>>>>> +++ b/xen/drivers/pci/physdev.c
>>>>> @@ -19,7 +19,7 @@ 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 ( !is_pci_passthrough_enabled() )
>>>>> +        if ( !is_pci_passthrough_enabled(true) )
>>>>>                return -EOPNOTSUPP;
>>>>
>>>> Seeing the function's parameter name, how do you know it's Dom0 calling
>>>> here?
>>>
>>> Is this a functional or naming concern? If it is about naming then can
>>> it also be solved by renaming the parameter?
>>
>> The renaming suggested above would resolve this, yes. Whether "for_pci_hwdom"
>> or anything alike is a good parameter name is a different question.
>>
>>> Regarding functional issues, I have assumed that only hwdom can make
>>> physdev operations, but after checking it, this assumption seems to be
>>> correct on x86 but wrong on Arm.
>>> I expected there would be a check in do_arm_physdev_op() or somewhere
>>> near it, similar to how it is done in x86, but there are none. I'm not
>>> sure if it is intentional or by mistake, I think it needs some
>>> clarification by Arm folks.
>>
>> Hmm, looking at x86'es do_physdev_op() I fear I can't see such a check there
>> either. And indeed there are certain PHYSDEVOP_* which DomU-s may also make
>> use of.
> 
> It is one level above in hvm_physdev_op()
> 
>      case PHYSDEVOP_setup_gsi:
>      case PHYSDEVOP_pci_mmcfg_reserved:
>      case PHYSDEVOP_pci_device_add:
>      case PHYSDEVOP_pci_device_remove:
>      case PHYSDEVOP_pci_device_reset:
>      case PHYSDEVOP_dbgp_op:
>          if ( !is_hardware_domain(currd) )
>              return -ENOSYS;
>          break;

But that's for just HVM guests, and only a functional restriction, not a
security one.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 15:11:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 15:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924175.1327497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tve1b-0004NO-Is; Fri, 21 Mar 2025 15:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924175.1327497; Fri, 21 Mar 2025 15:11: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 1tve1b-0004NH-Ep; Fri, 21 Mar 2025 15:11:07 +0000
Received: by outflank-mailman (input) for mailman id 924175;
 Fri, 21 Mar 2025 15:11: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=1tcq=WI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tve1Z-0004Gn-VR
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 15:11:06 +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 b56624bc-0666-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 16:11:05 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so1146997f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 08:11:05 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9eff79sm2610955f8f.95.2025.03.21.08.11.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 08:11: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: b56624bc-0666-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742569864; x=1743174664; 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=tofR+EzlLBERbXMDgebHl5oSm5e1SaQKVDubItKsMck=;
        b=tg6HBsnW65F4OfHPNuJ19VDrMWJnTNoSn3sSEUMEUgaaT3CjqInAOxqHFFDD16FojX
         S0sBeYrlZQ9qG3JBDip+MAu4CdcF+R8h4sEuQc145Ib5AqAKpcuDrT7GvsH+tCjm6KrQ
         UHhScDeqRu/GZULU5848pxAPVIWScJrwnbgTk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742569864; x=1743174664;
        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=tofR+EzlLBERbXMDgebHl5oSm5e1SaQKVDubItKsMck=;
        b=rBPuZyxLyCsj+AbkdZxgid8OQQiiEKLstLjiw+pPO3aWUVHPIND90RNj/BbRq46hZ3
         SnMinPS+vSAGOoAmjXSjpVq6suCFq/UB5q1VitdQImhtu/lWS864p5/tRYoRZNQnP3IS
         XBrwfW1IvkFX6mIcQg7bmWik2ZmWFwqP1aiJHwEmA3mfwUvKNjSzR2Aa7hNDkiqzeZ+v
         pEZXsxGnCwlEAJzstcEKMKrV3l8dZXLcMUcE9kVAmQifKJ7NRX0JW1lGQwXPlfVL5TFH
         Sgoc7ZuJ14IVdUI0jGmFgMhy5/pPbGa6NPFGYh6HWglheRACYs3mIUdLhzgBEuf2ufgN
         FJmw==
X-Forwarded-Encrypted: i=1; AJvYcCUqa2MYseAktrEIractwuhQlrXNGVVilw2RZYB4gki0DeoijafiV9jyF9BYuc48CZ83SG3jJUMrFZc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwJJjgp1BvFdE31vm4zbE2jmmMkXGD+nORE9lNzs7eArtbqg4Bx
	t/vlbtcp3OBxfn3yXMX/b9SzfaP3K9+bYzYLDwgiQKD1IlCwDoidxeqsFzeRdCM=
X-Gm-Gg: ASbGncsbrcyXHxJxFkN2xXqJTPHj0vKHPoTYNAr1NArp3DFkWOJmYjHA52bDb9eKQFu
	vSlVdq1Yl92wyHZs8FexPeujXUa2fvHh8ksC6/FdJL5RR9TQeZXW9qU7kWQcj44OeCSMpjGvCxl
	mEGDIBmLzvsH459Y0lDPisHYlCDrMW1/LDJG7IXykDOz8SV8wZc9GDfX0T8zPMytmFo9CcwK0nt
	hqzm6l9RCD2X+yIJooEtw5px1Q9+yQDCo/jTk4aDvMLoWTEjif2MNfeBTUI3OttWFKbXqQlEkBW
	+9TTTF/OTxdIcApBCBOyAA/vjLaybnCp3T/QG3IjUcJtuMZDyXMop6RnJuMvpJEefzqh/cdK9my
	ulcBb0ZiF+A==
X-Google-Smtp-Source: AGHT+IFtz85B20a+gxf2q1l3Dkt+gnZevaCv0a93wZ/JaK9txY7RQYFa+R/2AMboFwN5V2rpnsoJJw==
X-Received: by 2002:a05:6000:4012:b0:391:4674:b10f with SMTP id ffacd0b85a97d-3997f92d312mr3503752f8f.36.1742569863970;
        Fri, 21 Mar 2025 08:11:03 -0700 (PDT)
Message-ID: <eaaf2aef-129a-45ce-b5e7-ae884c2385f3@citrix.com>
Date: Fri, 21 Mar 2025 15:11:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/8] x86/public: Split the struct cpu_user_regs type
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-8-andrew.cooper3@citrix.com>
 <8edba542-9844-409e-bbf0-5ff1c9287a10@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: <8edba542-9844-409e-bbf0-5ff1c9287a10@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 12:15 pm, Jan Beulich wrote:
> On 11.03.2025 22:10, Andrew Cooper wrote:
>> In order to support FRED, we're going to have to remove the {ds..gs} fields
>> from struct cpu_user_regs, meaning that it is going to have to become a
>> different type to the structure embedded in vcpu_guest_context_u.
>>
>> struct cpu_user_regs is a name used in common Xen code (i.e. needs to stay
>> using this name), so renaming the public struct to be guest_user_regs in Xen's
>> view only.
>>
>> Introduce a brand hew cpu-user-regs.h, currently containing a duplicate
>> structure.  This removes the need for current.h to include public/xen.h, and
>> highlights a case where the emulator was picking up cpu_user_regs
>> transitively.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>> cpu_user_regs_t and the guest handle don't seem to be used anywhere.  I'm
>> tempted to exclude them from Xen builds.
> I concur. We can always re-expose them should they be needed somewhere.

It's actually a little ugly to do.

#ifdef __XEN__
#undef cpu_user_regs
#else
typedef struct cpu_user_regs cpu_user_regs_t;
DEFINE_XEN_GUEST_HANDLE(cpu_user_regs_t);
#endif

and I don't particularly like it, given the complexity of #ifdef-ary
around it.Â  Thoughts?

>
>> --- /dev/null
>> +++ b/xen/arch/x86/include/asm/cpu-user-regs.h
>> @@ -0,0 +1,69 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#ifndef X86_CPU_USER_REGS_H
>> +#define X86_CPU_USER_REGS_H
>> +
>> +#define DECL_REG_LOHI(which) union { \
>> +    uint64_t r ## which ## x; \
>> +    uint32_t e ## which ## x; \
>> +    uint16_t which ## x; \
>> +    struct { \
>> +        uint8_t which ## l; \
>> +        uint8_t which ## h; \
>> +    }; \
>> +}
>> +#define DECL_REG_LO8(name) union { \
>> +    uint64_t r ## name; \
>> +    uint32_t e ## name; \
>> +    uint16_t name; \
>> +    uint8_t name ## l; \
>> +}
>> +#define DECL_REG_LO16(name) union { \
>> +    uint64_t r ## name; \
>> +    uint32_t e ## name; \
>> +    uint16_t name; \
>> +}
>> +#define DECL_REG_HI(num) union { \
>> +    uint64_t r ## num; \
>> +    uint32_t r ## num ## d; \
>> +    uint16_t r ## num ## w; \
>> +    uint8_t r ## num ## b; \
>> +}
> Can we try to avoid repeating these here? The #undef-s in the public header are
> to keep external consumers' namespaces reasonably tidy. In Xen, since we don't
> otherwise use identifiers of these names, can't we simply #ifdef-out those
> #undef-s, and then not re-introduce the same (less the two underscores) here?
> Granted we then need to include the public header here, but I think that's a
> fair price to pay to avoid the redundancy.

Breaking the connection between asm/current.h and public/xen.h is very
important IMO.Â  Right now, the public interface/types/defines are in
every TU, and they absolutely shouldn't be.

Sadly, the compiler isn't happy when including public/xen.h after
asm/current.h, hence the dropping of the underscores.

I did have half a mind to expand them fully.Â  I find them unintuitive,
but I also didn't think I'd successfully argue that change in.

I'm not terribly fussed how we do this, but I really do want to reduce
the header tangle.

>
>> +struct cpu_user_regs
>> +{
>> +    DECL_REG_HI(15);
>> +    DECL_REG_HI(14);
>> +    DECL_REG_HI(13);
>> +    DECL_REG_HI(12);
>> +    DECL_REG_LO8(bp);
>> +    DECL_REG_LOHI(b);
>> +    DECL_REG_HI(11);
>> +    DECL_REG_HI(10);
>> +    DECL_REG_HI(9);
>> +    DECL_REG_HI(8);
>> +    DECL_REG_LOHI(a);
>> +    DECL_REG_LOHI(c);
>> +    DECL_REG_LOHI(d);
>> +    DECL_REG_LO8(si);
>> +    DECL_REG_LO8(di);
>> +    uint32_t error_code;
>> +    uint32_t entry_vector;
>> +    DECL_REG_LO16(ip);
>> +    uint16_t cs, _pad0[1];
>> +    uint8_t  saved_upcall_mask;
>> +    uint8_t  _pad1[3];
>> +    DECL_REG_LO16(flags); /* rflags.IF == !saved_upcall_mask */
>> +    DECL_REG_LO8(sp);
>> +    uint16_t ss, _pad2[3];
>> +    uint16_t es, _pad3[3];
>> +    uint16_t ds, _pad4[3];
>> +    uint16_t fs, _pad5[3];
>> +    uint16_t gs, _pad6[3];
> I had to peek ahead at the last patch to figure why you introduce these 4 fields
> (plus their padding) here, just to remove them again. Personally I think it would
> be neater if both were folded; nevertheless I'd like to leave this entirely to
> you.

While both patches are reasonably small, I think it's important for
bisection to keep them separate.Â  They're both complex in separate ways.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 15:38:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 15:38:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924207.1327506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tveSI-00018D-OL; Fri, 21 Mar 2025 15:38:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924207.1327506; Fri, 21 Mar 2025 15:38: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 1tveSI-000186-Ls; Fri, 21 Mar 2025 15:38:42 +0000
Received: by outflank-mailman (input) for mailman id 924207;
 Fri, 21 Mar 2025 15:38: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=jx71=WI=desiato.srs.infradead.org=BATV+37f7f3dffb3293675570+7880+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tveSG-00016w-B7
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 15:38:40 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e418e1e-066a-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 16:38:37 +0100 (CET)
Received: from [172.31.31.145] (helo=u09cd745991455d.ant.amazon.com)
 by desiato.infradead.org with esmtpsa (Exim 4.98 #2 (Red Hat Linux))
 id 1tveRn-00000004RSj-0sdp; Fri, 21 Mar 2025 15:38: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: 8e418e1e-066a-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; 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=Hur8klx0pto+bVUCorbe/IOiYL8Zq5fllI2zEDHUVww=; b=GJ+56TiPzAKgxjiUsu7mauybOy
	n24fB07NZDlX1YLn/Tm3/N4fCjcNUQ9q0RU0sWYbKxHDHcjS49KGgsk2x5WIo4STNXFjF72GtZZpm
	SmI61QXnTy2B0XeRn/xEReTWMAQ/b/53pzI5qCM0c8RBpEruAa+8A6+Ix6kvZ6n+TAq3+1cxhSwfM
	O5/74zfEWktOgo18tPoPahIDx4gSX2d0mNRyW6SYmt5eFF1bCXEpsggXvv6AGz9qdAS7bCY5KNges
	9SM9ftchBzqBmx35e5D9/mlfno/oC1Xu2k+dxzZDQ8u1EeE8nkQaMzN0i65R/q1YQ0ZVhXIQV2uwm
	ISYDgY0g==;
Message-ID: <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
Subject: Using Restricted DMA for virtio-pci
From: David Woodhouse <dwmw2@infradead.org>
To: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>, 
 mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>, Will Deacon
 <will@kernel.org>,  Frank Rowand <frowand.list@gmail.com>, Konrad Rzeszutek
 Wilk <konrad.wilk@oracle.com>,  boris.ostrovsky@oracle.com,
 jgross@suse.com, Christoph Hellwig <hch@lst.de>,  Marek Szyprowski
 <m.szyprowski@samsung.com>
Cc: heikki.krogerus@linux.intel.com, peterz@infradead.org, 
 benh@kernel.crashing.org, grant.likely@arm.com, paulus@samba.org,
 mingo@kernel.org,  sstabellini@kernel.org, Saravana Kannan
 <saravanak@google.com>,  xypron.glpk@gmx.de, "Rafael J . Wysocki"
 <rafael.j.wysocki@intel.com>,  Bartosz Golaszewski
 <bgolaszewski@baylibre.com>, xen-devel@lists.xenproject.org, Thierry Reding
 <treding@nvidia.com>,  linux-devicetree <devicetree@vger.kernel.org>,
 linuxppc-dev@lists.ozlabs.org, Nicolas Boichat <drinkcat@chromium.org>, 
 Dan Williams <dan.j.williams@intel.com>, Andy Shevchenko
 <andriy.shevchenko@linux.intel.com>, Greg KH <gregkh@linuxfoundation.org>,
 Randy Dunlap <rdunlap@infradead.org>, lkml <linux-kernel@vger.kernel.org>,
 "list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>, Jim
 Quinlan <james.quinlan@broadcom.com>,  Robin Murphy <robin.murphy@arm.com>,
 hch@infradead.org, "Michael S. Tsirkin" <mst@redhat.com>, Jason Wang
 <jasowang@redhat.com>, Xuan Zhuo <xuanzhuo@linux.alibaba.com>, Eugenio
 =?ISO-8859-1?Q?P=E9rez?= <eperezma@redhat.com>,
 virtualization@lists.linux.dev, graf@amazon.de
Date: Fri, 21 Mar 2025 15:38:10 +0000
In-Reply-To: <20210209062131.2300005-1-tientzu@chromium.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-juy7yf7MhQovyScjrs78"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-Bad-Reply: References and In-Reply-To but no 'Re:' in Subject.
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2021-02-09 at 14:21 +0800, Claire Chang wrote:
> This series implements mitigations for lack of DMA access control on
> systems without an IOMMU, which could result in the DMA accessing the
> system memory at unexpected times and/or unexpected addresses, possibly
> leading to data leakage or corruption.

Replying to an ancient (2021) thread which has already been merged...

I'd like to be able to use this facility for virtio devices.

Virtio already has a complicated relationship with the DMA API, because
there were a bunch of early VMM bugs where the virtio devices where
magically exempted from IOMMU protection, but the VMM lied to the guest
and claimed they weren't.

With the advent of confidential computing, and the VMM (or whatever's
emulating the virtio device) not being *allowed* to arbitrarily access
all of the guest's memory, the DMA API becomes necessary again.

Either a virtual IOMMU needs to determine which guest memory the VMM
may access, or the DMA API is wrappers around operations which
share/unshare (or unencrypt/encrypt) the memory in question.

All of which is complicated and slow, if we're looking at a minimal
privileged hypervisor stub like pKVM which enforces the lack of guest
memory access from VMM.

I'm thinking of defining a new type of virtio-pci device which cannot
do DMA to arbitrary system memory. Instead it has an additional memory
BAR which is used as a SWIOTLB for bounce buffering.

The driver for it would look much like the existing virtio-pci device
except that it would register the restricted-dma region first (and thus
the swiotlb dma_ops), and then just go through the rest of the setup
like any other virtio device.

That seems like it ought to be fairly simple, and seems like a
reasonable way to allow an untrusted VMM to provide virtio devices with
restricted DMA access.

While I start actually doing the typing... does anyone want to start
yelling at me now? Christoph? mst? :)

--=-juy7yf7MhQovyScjrs78
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDMyMTE1Mzgx
MFowLwYJKoZIhvcNAQkEMSIEIMzvwGuFYEJKRSxHmKkMCVguzCHBQvnALBRSFyGrJ+lSMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIABPLb9Ua6E+xF
1PrDaifxo/h6OjqZLGpZw733yaNekHxYptLTBxvHls/2AgI8UHAHHvKQZdd6ynqTN+qpeCIexM9D
MIH4YePRqfwhrxjhFXYyyih3mjPUAxCaIYYx4jsU8D7AE/Ygt+aBhfeASwf4+rmAkQDEUNkSbhg6
WVTbtlv86IkRo75QTEVXj4SmDKmcm9ttI466rqronnKP98XviA7id3g4Y1pOJZifQbWHAPCdmfk9
qXJzqVdTHGkdr2a7ls5FprsYwVNWYFz1UBEJO2Na/8OV6OiCamx8TdkiLmOFPVlJVgQp7q7SgETd
zjjO0hrnURu0NzmSAY7bsFyyYvCOSNIvm8CokF4Cw/7HGZMrPtc6IMWw4SC/qMdsP2ElOe0HBuud
VbR5Rwi4Uym01UjlPFKgr3a/lIOHoBqWzVHjc3ofkF42mK3RPJxLH6opdzRsOs5Rf5ES/fsIrRHl
g4Yosbn8bbqHIcL2ptkQrLz3LITDLgjj2XoZG+8n6rZOIgOTWN8+3q/gVNSRfzdG4xb+Rk17bOZT
f5HMxL6CBKtzXFfc0q1+4sn7/8CylM6H8d1IyryNX/TJ/uaMR3U2sTi0ip+m6Ml+oeGT++3vBxoP
YBVLthLg02Sc2fz52dRY9pYdxNHe7xOSRvtiO0q/wGsOzVPbkd8zKt4VW5T9bq8AAAAAAAA=


--=-juy7yf7MhQovyScjrs78--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 15:42:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 15:42:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924220.1327517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tveWL-0003dN-9B; Fri, 21 Mar 2025 15:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924220.1327517; Fri, 21 Mar 2025 15:42: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 1tveWL-0003dG-6Z; Fri, 21 Mar 2025 15:42:53 +0000
Received: by outflank-mailman (input) for mailman id 924220;
 Fri, 21 Mar 2025 15:42: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=8bxS=WI=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tveWJ-0003dA-II
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 15:42:51 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25447b30-066b-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 16:42:50 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e5e0caa151so3811670a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 08:42:50 -0700 (PDT)
Received: from localhost ([46.149.103.9]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebccfb4471sm1551224a12.47.2025.03.21.08.42.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 08:42: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: 25447b30-066b-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742571770; x=1743176570; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lQvIRktyYN6oVJCsrYOSH6lUWnRK6aeopscc7p29yME=;
        b=gP43JAp52wfiYk4eMhqUDk7uUI3bN075E1jjjtw5QL5mDbV2ibaIuQzfLdzMZNSYQU
         ZJnrH9vEDot04xEhmsmk1NLjqNsnB4Q0KV7Mq2n+G0nDNoygp6F05obs4FCQICUcEtzr
         xxHRexmHei+dD3cw6Y+QnhwEnz0TONbMa+Ht0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742571770; x=1743176570;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=lQvIRktyYN6oVJCsrYOSH6lUWnRK6aeopscc7p29yME=;
        b=mbaqZQN4M4NUgMVac2Xh72TyG0ra7S5vUgRBIGn8ajOARDWgkdGnJDxjiDE+g32Yw8
         2tHZlPKwExdaPMkDM4w1ukckM4zFgX4RHRu1LQqw3lgqtvTNK9rn0+B1LExcvK7Ofomv
         d/fDwyploMs8TXmA4I9HYpJTVA3vqnmZ0OYpETgLrnpJAerwazLmeRKucAToFDuvmNh9
         dZcaeVy2otoN4QQVSl0NSELErQBEueeUhflf9q7FXmZEM8W+wtn6tj1wFJlq0zWSSHwi
         GIJmAqaYaAXyxWLdjtMt1QvYzrAsS6kL6p2whikrYfZDECHhyRRyF+9vxHJoEf/IMWzp
         GEtw==
X-Forwarded-Encrypted: i=1; AJvYcCUazLwslY24KyARe7GtjzH6Dle4sZRM8oRZRpjZN/CI+tk64OUx0i46YRyIuOInNPyHUqVRK7VPAGk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy54RAK252eO5Z3Df33/WSwJqqJNAAD6hwP5QWPYl6A/78Jz1ls
	z2gVCr6GpXSVzx/JXUoHNQmgKL3NN0evGXOYZseg8tEmsi6bkBI49GI7hId8dxI=
X-Gm-Gg: ASbGncuBEjJbqNA3JImevF+zWfPEqBo313kInn6GEf9JQ0/03TYzHozA4wwjk4P7g6T
	a8S3qlZieXvFsePDPO62RO3/o9chYD0MWUT3LdmKZDDLwftfVBGsoEl84Gt3/fUogXjJeB948DK
	fixF5t6ZiqNIOM3cJ+N4Ei0ymGbyi9uO/tczBK0ZIjM0GSu/eFvDPfKeNjW0lrRASJu3kj7/aN2
	rEGz6APzXNYikvHear3XklLBRm9AFDtb+ONp3KI5B1MAdEi5Bu8tekuapAXKfcs9H5eB4zcRvpL
	6YgXEfxa/gjkHyjcoofwVV3UVSkbwMHTCXY6t0xwu4OKgOnMvQ==
X-Google-Smtp-Source: AGHT+IE3LssJUi3eBMUbpDVwoxineXRzMe85h4Sq7JEjQg4BCU6PkDneddy/aEufk2AljjTXgGD1mw==
X-Received: by 2002:a05:6402:84c:b0:5e7:b02b:381f with SMTP id 4fb4d7f45d1cf-5ebcd51c877mr3495417a12.30.1742571769955;
        Fri, 21 Mar 2025 08:42:49 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 21 Mar 2025 15:42:48 +0000
Message-Id: <D8M24Z6JQHJ1.3R31PJELOWSG6@cloud.com>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>,
 =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, "Jan Beulich" <jbeulich@suse.com>
Subject: Re: [PATCH v2] x86: make Viridian support optional
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Sergiy Kibrik" <Sergiy_Kibrik@epam.com>,
 <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20250321092633.3982645-1-Sergiy_Kibrik@epam.com>
In-Reply-To: <20250321092633.3982645-1-Sergiy_Kibrik@epam.com>

On Fri Mar 21, 2025 at 9:26 AM GMT, Sergiy Kibrik wrote:
> Add config option HVM_VIRIDIAN that covers viridian code within HVM.
> Calls to viridian functions guarded by is_viridian_domain() and related m=
acros.
> Having this option may be beneficial by reducing code footprint for syste=
ms
> that are not using Hyper-V.
>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> CC: Jan Beulich <jbeulich@suse.com>
> ---
> changes in v2:
>  - changed title in Kconfig & add help text
>  - moved Kconfig changes to arch/x86/hvm/Kconfig
>  - address review comments
> ---
>  xen/arch/x86/hvm/Kconfig              | 10 ++++++++++
>  xen/arch/x86/hvm/Makefile             |  2 +-
>  xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
>  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 ++
>  7 files changed, 42 insertions(+), 15 deletions(-)

LGTM

  Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 15:54:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 15:54:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924231.1327527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvegw-0006Dd-6k; Fri, 21 Mar 2025 15:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924231.1327527; Fri, 21 Mar 2025 15: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 1tvegw-0006DW-4C; Fri, 21 Mar 2025 15:53:50 +0000
Received: by outflank-mailman (input) for mailman id 924231;
 Fri, 21 Mar 2025 15: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=1wue=WI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tvegu-0006DL-EE
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 15: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 abef7888-066c-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 16:53:46 +0100 (CET)
Received: by mail-wr1-x443.google.com with SMTP id
 ffacd0b85a97d-39129fc51f8so1778648f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 08:53:46 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9b409fsm2740209f8f.50.2025.03.21.08.53.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 08: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: abef7888-066c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742572425; x=1743177225; 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=UPqBALtdYBPFd6409rVuvEZ0Xj3B6Y1OraAP5PwDC+4=;
        b=YSY79xGKYcIviFV5TFH/6xZNoOF4pGJ2V946rPOetopSes8lK8YITtxFdMxdtKCGab
         8HpT9iSJ1lG3mazmJG/XZ5r6Wd/mcrYq2cyPN4jAjL6kXpHzMpIvm01ulk8Jrm2Qsjm9
         vop9iF8REz3r9aZZv/9rBjmtg/BK0EShC4jKHqX1MH80IlHViJQM9RSmIwlQtohwmbzk
         siRTYNmlQg6+YMAB/cxPd4cFY6pIHC1/X1hk37ApwQ0XAa6F2AfPD5mIJ7npPhrlQqEn
         zNemnAvFjSyJS40Hf818WlPzIGr8QCt6O8Xby41NGFW27X2kVrTtEe07pNLSkDXRRCbV
         9+Mw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742572425; x=1743177225;
        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=UPqBALtdYBPFd6409rVuvEZ0Xj3B6Y1OraAP5PwDC+4=;
        b=YasRMe3A9dUkzRJo721pB/k3XIc6jhyGFY6JQhj8FC9MuTyl/fDKQIdnKfhK9MkDMa
         yyxLYCaucyjwq34vf9rG5VQ35sA1hG8pRaPrJgEKsPuM2FvfqmOaa9NfiXUBU6aeAJf6
         /Q1RyYYFea5MtCJ5njXXTfoFJSQZl7KWn4BmTu1PHnoU1T6dh+BM2UyxzpqfOz8T+OVX
         2HUXzP8OQwsFo3UDkPIlI2BppAA00bgqMAh5d4vzN/biTev6BP7PlQE+rQfzOTW3VTTi
         bTnvexod/W8LxJtt1pTWUhH+wP1V11SMjA+6GuXd5Qz1yJ7gSwepeZogw30rPqZCGP2O
         jFxA==
X-Forwarded-Encrypted: i=1; AJvYcCX8kJcjmefxBrG56XEROPfJC2taZqJtnJQN4j16IUfOus04xfvKaBZWHWdkAxP88r3pdD2CeE/IFKM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwhdjpF3Vd9QA+XC91PPIunjC/Ilek4TTNpRqpOdgjaTrQIu+WZ
	3FTlG8vVGYXB+yiImjBH9fVMARHkVScEReZ6m7MohZSJQDJDBRVsRchuEUkoitA=
X-Gm-Gg: ASbGncsOFxZKWlI6Frl5NjRZdxBLKDjDXtLKJqysUuQPMHfAEZsRJhAuU+1xSqAf1kL
	hCeAoNRIJmqZjTjAewJTulBMHoMYqJXf392/menodzBGkEzDPLkis9ndPpUSCD2rnJ1X3BrOZWL
	x5vsrug03my+Hk4d41I/Qk7XobyyW5JdMi6642GpfQmx0vYDhbi9zIwm6vfKnyZW6go3OR93qbL
	mWtTnLI9g2QWHFxBS21x9ToXy0KvOAz8pO5+GHhBoWAgXRc225K1VOJwTI+RzUQtHeGXKTEVF2y
	83H6FN7q0Cr/NOuL/uNP8lfULOUDr5RgzV1yYD35Xke6eR/kH3Tf6sxzQsx9c0+v3wBXGDN7122
	3veJYtkvQaEiX4DbpDIKYskDE/u4J+oRmvrEhQ0olY4R1eMro48lmGcdi/vn6A3MNsnI3VnjEaC
	szje2q
X-Google-Smtp-Source: AGHT+IGotsHb9g5mg1re2RZVlWv3xrpaOlIX0cE+x0uVlMMTU7VFiUHhSvxTg+BYrtciZEIF12Jlvw==
X-Received: by 2002:a05:6000:18a2:b0:391:466f:314e with SMTP id ffacd0b85a97d-3997f9015damr4637188f8f.16.1742572425243;
        Fri, 21 Mar 2025 08:53:45 -0700 (PDT)
Message-ID: <84fa74ee-70e4-4318-9aff-12dcb8db50c1@suse.com>
Date: Fri, 21 Mar 2025 16:53:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 03/12] add elf.h
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250321092451.17309-1-jgross@suse.com>
 <20250321092451.17309-4-jgross@suse.com>
 <e616cf59-bcb6-478d-87b5-f35a51ce1dda@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: <e616cf59-bcb6-478d-87b5-f35a51ce1dda@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------4mym860wkajExf7xG0LLNz4z"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------4mym860wkajExf7xG0LLNz4z
Content-Type: multipart/mixed; boundary="------------T7pinG8hwD2jDjdXt9HYWyzj";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Message-ID: <84fa74ee-70e4-4318-9aff-12dcb8db50c1@suse.com>
Subject: Re: [MINI-OS PATCH 03/12] add elf.h
References: <20250321092451.17309-1-jgross@suse.com>
 <20250321092451.17309-4-jgross@suse.com>
 <e616cf59-bcb6-478d-87b5-f35a51ce1dda@suse.com>
In-Reply-To: <e616cf59-bcb6-478d-87b5-f35a51ce1dda@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=

--------------T7pinG8hwD2jDjdXt9HYWyzj
Content-Type: multipart/mixed; boundary="------------KYKQyzVdEh9tA87b7XwOR8P7"

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

T24gMjEuMDMuMjUgMTQ6NTEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMS4wMy4yMDI1
IDEwOjI0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQWRkIHNvbWUgZGVmaW5pdGlvbnMg
Zm9yIGFjY2Vzc2luZyBhbiBFTEYgZmlsZS4gT25seSB0aGUgZmlsZSBoZWFkZXINCj4+IGFu
ZCB0aGUgcHJvZ3JhbSBoZWFkZXIgYXJlIG5lZWRlZC4NCj4+DQo+PiBUaGUgbWFpbiBzb3Vy
Y2UgZm9yIHRob3NlIGFyZSBlbGZzdHJ1Y3RzLmggYW5kIGxpYmVsZi5oIGZyb20gdGhlIFhl
bg0KPj4gdHJlZS4gVGhlIGxpY2Vuc2UgYm9pbGVyIHBsYXRlIG9mIHRob3NlIGZpbGVzIGlz
IGJlaW5nIGtlcHQgaW4gdGhlDQo+PiByZXN1bHRpbmcgaGVhZGVyIGZpbGUuDQo+IA0KPiBN
YXliZSB0aGUgY29weWluZyB3YXMgYSBiaXQgdG9vIGxpdGVyYWwuDQo+IA0KPj4gLS0tIC9k
ZXYvbnVsbA0KPj4gKysrIGIvaW5jbHVkZS9lbGYuaA0KPj4gQEAgLTAsMCArMSwzNDAgQEAN
Cj4+ICsjaWZuZGVmIF9fRUxGX0hfXw0KPj4gKyNkZWZpbmUgX19FTEZfSF9fDQo+PiArLyoN
Cj4+ICsgKiBDb3B5cmlnaHQgKGMpIDE5OTUsIDE5OTYgRXJpayBUaGVpc2VuLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4NCj4+ICsgKg0KPj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KPj4gKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucw0KPj4gKyAqIGFyZSBtZXQ6DQo+PiArICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4+ICsg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuDQo+PiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4+ICsgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlDQo+PiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCj4+ICsgKiAzLiBUaGUgbmFtZSBv
ZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMNCj4+ICsgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbg0KPj4gKyAqDQo+PiArICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVY
UFJFU1MgT1INCj4+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTDQo+PiArICogT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4NCj4+ICsgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsDQo+PiArICogSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
DQo+PiArICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLA0KPj4gKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQ0K
Pj4gKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQNCj4+ICsgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YNCj4+ICsg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLg0KPj4gKyAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlIDxzdGRib29sLmg+
DQo+PiArI2luY2x1ZGUgPG1pbmktb3MvdHlwZXMuaD4NCj4+ICsNCj4+ICt0eXBlZGVmIHVp
bnQzMl90ICAgIEVsZjMyX0FkZHI7ICAvKiBVbnNpZ25lZCBwcm9ncmFtIGFkZHJlc3MgKi8N
Cj4+ICt0eXBlZGVmIHVpbnQzMl90ICAgIEVsZjMyX09mZjsgICAvKiBVbnNpZ25lZCBmaWxl
IG9mZnNldCAqLw0KPj4gK3R5cGVkZWYgdWludDE2X3QgICAgRWxmMzJfSGFsZjsgIC8qIFVu
c2lnbmVkIG1lZGl1bSBpbnRlZ2VyICovDQo+PiArdHlwZWRlZiB1aW50MzJfdCAgICBFbGYz
Ml9Xb3JkOyAgLyogVW5zaWduZWQgbGFyZ2UgaW50ZWdlciAqLw0KPj4gKw0KPj4gK3R5cGVk
ZWYgdWludDY0X3QgICAgRWxmNjRfQWRkcjsNCj4+ICt0eXBlZGVmIHVpbnQ2NF90ICAgIEVs
ZjY0X09mZjsNCj4+ICt0eXBlZGVmIHVpbnQxNl90ICAgIEVsZjY0X0hhbGY7DQo+PiArdHlw
ZWRlZiB1aW50MzJfdCAgICBFbGY2NF9Xb3JkOw0KPj4gK3R5cGVkZWYgdWludDY0X3QgICAg
RWxmNjRfWHdvcmQ7DQo+PiArDQo+PiArLyogVW5pcXVlIGJ1aWxkIGlkIHN0cmluZyBmb3Jt
YXQgd2hlbiB1c2luZyAtLWJ1aWxkLWlkLiAqLw0KPj4gKyNkZWZpbmUgTlRfR05VX0JVSUxE
X0lEIDMNCj4+ICsNCj4+ICsvKg0KPj4gKyAqIGVfaWRlbnRbXSBpZGVudGlmaWNhdGlvbiBp
bmRleGVzDQo+PiArICogU2VlIGh0dHA6Ly93d3cuY2FsZGVyYS5jb20vZGV2ZWxvcGVycy9n
YWJpLzIwMDAtMDctMTcvY2g0LmVoZWFkZXIuaHRtbA0KPj4gKyAqLw0KPj4gKyNkZWZpbmUg
RUlfTUFHMCAgICAgICAgMCAgICAgICAgIC8qIGZpbGUgSUQgKi8NCj4+ICsjZGVmaW5lIEVJ
X01BRzEgICAgICAgIDEgICAgICAgICAvKiBmaWxlIElEICovDQo+PiArI2RlZmluZSBFSV9N
QUcyICAgICAgICAyICAgICAgICAgLyogZmlsZSBJRCAqLw0KPj4gKyNkZWZpbmUgRUlfTUFH
MyAgICAgICAgMyAgICAgICAgIC8qIGZpbGUgSUQgKi8NCj4+ICsjZGVmaW5lIEVJX0NMQVNT
ICAgICAgIDQgICAgICAgICAvKiBmaWxlIGNsYXNzICovDQo+PiArI2RlZmluZSBFSV9EQVRB
ICAgICAgICA1ICAgICAgICAgLyogZGF0YSBlbmNvZGluZyAqLw0KPj4gKyNkZWZpbmUgRUlf
VkVSU0lPTiAgICAgNiAgICAgICAgIC8qIEVMRiBoZWFkZXIgdmVyc2lvbiAqLw0KPj4gKyNk
ZWZpbmUgRUlfT1NBQkkgICAgICAgNyAgICAgICAgIC8qIE9TL0FCSSBJRCAqLw0KPj4gKyNk
ZWZpbmUgRUlfQUJJVkVSU0lPTiAgOCAgICAgICAgIC8qIEFCSSB2ZXJzaW9uICovDQo+PiAr
I2RlZmluZSBFSV9QQUQgICAgICAgICA5ICAgICAgICAgLyogc3RhcnQgb2YgcGFkIGJ5dGVz
ICovDQo+PiArI2RlZmluZSBFSV9OSURFTlQgICAgIDE2ICAgICAgICAgLyogU2l6ZSBvZiBl
X2lkZW50W10gKi8NCj4+ICsNCj4+ICsvKiBlX2lkZW50W10gbWFnaWMgbnVtYmVyICovDQo+
PiArI2RlZmluZSBFTEZNQUcwICAgICAgICAweDdmICAgICAgLyogZV9pZGVudFtFSV9NQUcw
XSAqLw0KPj4gKyNkZWZpbmUgRUxGTUFHMSAgICAgICAgJ0UnICAgICAgIC8qIGVfaWRlbnRb
RUlfTUFHMV0gKi8NCj4+ICsjZGVmaW5lIEVMRk1BRzIgICAgICAgICdMJyAgICAgICAvKiBl
X2lkZW50W0VJX01BRzJdICovDQo+PiArI2RlZmluZSBFTEZNQUczICAgICAgICAnRicgICAg
ICAgLyogZV9pZGVudFtFSV9NQUczXSAqLw0KPj4gKyNkZWZpbmUgRUxGTUFHICAgICAgICAg
IlwxNzdFTEYiIC8qIG1hZ2ljICovDQo+PiArI2RlZmluZSBTRUxGTUFHICAgICAgICA0ICAg
ICAgICAgLyogc2l6ZSBvZiBtYWdpYyAqLw0KPj4gKw0KPj4gKy8qIGVfaWRlbnRbXSBmaWxl
IGNsYXNzICovDQo+PiArI2RlZmluZSBFTEZDTEFTU05PTkUgICAwICAgICAgICAgLyogaW52
YWxpZCAqLw0KPj4gKyNkZWZpbmUgRUxGQ0xBU1MzMiAgICAgMSAgICAgICAgIC8qIDMyLWJp
dCBvYmpzICovDQo+PiArI2RlZmluZSBFTEZDTEFTUzY0ICAgICAyICAgICAgICAgLyogNjQt
Yml0IG9ianMgKi8NCj4+ICsjZGVmaW5lIEVMRkNMQVNTTlVNICAgIDMgICAgICAgICAvKiBu
dW1iZXIgb2YgY2xhc3NlcyAqLw0KPj4gKw0KPj4gKy8qIGVfaWRlbnRbXSBkYXRhIGVuY29k
aW5nICovDQo+PiArI2RlZmluZSBFTEZEQVRBTk9ORSAgICAwICAgICAgICAgLyogaW52YWxp
ZCAqLw0KPj4gKyNkZWZpbmUgRUxGREFUQTJMU0IgICAgMSAgICAgICAgIC8qIExpdHRsZS1F
bmRpYW4gKi8NCj4+ICsjZGVmaW5lIEVMRkRBVEEyTVNCICAgIDIgICAgICAgICAvKiBCaWct
RW5kaWFuICovDQo+PiArI2RlZmluZSBFTEZEQVRBTlVNICAgICAzICAgICAgICAgLyogbnVt
YmVyIG9mIGRhdGEgZW5jb2RlIGRlZmluZXMgKi8NCj4+ICsNCj4+ICsvKiBlX2lkZW50W10g
T3BlcmF0aW5nIFN5c3RlbS9BQkkgKi8NCj4+ICsjZGVmaW5lIEVMRk9TQUJJX1NZU1YgICAg
ICAgICAwICAvKiBVTklYIFN5c3RlbSBWIEFCSSAqLw0KPj4gKyNkZWZpbmUgRUxGT1NBQklf
Tk9ORSAgICAgICAgIDAgIC8qIFNhbWUgYXMgRUxGT1NBQklfU1lTViAqLw0KPj4gKyNkZWZp
bmUgRUxGT1NBQklfSFBVWCAgICAgICAgIDEgIC8qIEhQLVVYIG9wZXJhdGluZyBzeXN0ZW0g
Ki8NCj4+ICsjZGVmaW5lIEVMRk9TQUJJX05FVEJTRCAgICAgICAyICAvKiBOZXRCU0QgKi8N
Cj4+ICsjZGVmaW5lIEVMRk9TQUJJX0xJTlVYICAgICAgICAzICAvKiBHTlUvTGludXggKi8N
Cj4+ICsjZGVmaW5lIEVMRk9TQUJJX0hVUkQgICAgICAgICA0ICAvKiBHTlUvSHVyZCAqLw0K
Pj4gKyNkZWZpbmUgRUxGT1NBQklfODZPUEVOICAgICAgIDUgIC8qIDg2T3BlbiBjb21tb24g
SUEzMiBBQkkgKi8NCj4+ICsjZGVmaW5lIEVMRk9TQUJJX1NPTEFSSVMgICAgICA2ICAvKiBT
b2xhcmlzICovDQo+PiArI2RlZmluZSBFTEZPU0FCSV9NT05URVJFWSAgICAgNyAgLyogTW9u
dGVyZXkgKi8NCj4+ICsjZGVmaW5lIEVMRk9TQUJJX0lSSVggICAgICAgICA4ICAvKiBJUklY
ICovDQo+PiArI2RlZmluZSBFTEZPU0FCSV9GUkVFQlNEICAgICAgOSAgLyogRnJlZUJTRCAq
Lw0KPj4gKyNkZWZpbmUgRUxGT1NBQklfVFJVNjQgICAgICAgMTAgIC8qIFRSVTY0IFVOSVgg
Ki8NCj4+ICsjZGVmaW5lIEVMRk9TQUJJX01PREVTVE8gICAgIDExICAvKiBOb3ZlbGwgTW9k
ZXN0byAqLw0KPj4gKyNkZWZpbmUgRUxGT1NBQklfT1BFTkJTRCAgICAgMTIgIC8qIE9wZW5C
U0QgKi8NCj4+ICsjZGVmaW5lIEVMRk9TQUJJX0FSTSAgICAgICAgIDk3ICAvKiBBUk0gKi8N
Cj4+ICsjZGVmaW5lIEVMRk9TQUJJX1NUQU5EQUxPTkUgMjU1ICAvKiBTdGFuZGFsb25lIChl
bWJlZGRlZCkgYXBwbGljYXRpb24gKi8NCj4gDQo+IFdoaWxlIEknbSBoYXBweSB0byBzZWUg
TW9kZXN0byBtZW50aW9uZWQgaW4geWV0IGFub3RoZXIgcGxhY2VzLCBJIGRvbid0DQo+IHRo
aW5rIHlvdSBuZWVkIHRoZSBtYWpvcml0eSBvZiB0aGVzZT8NCg0KSG1tLCB0cnVlLiBJbiB0
aGUgZW5kIEkgZG9uJ3QgbmVlZCBhbnkgb2YgdGhvc2UsIGFzIHRoZSBoYW5kbGVkIGJpbmFy
eQ0Kd29uJ3QgaGF2ZSBhbnkgZXh0ZXJuYWwgQUJJIHdoaWNoIHRoZSBydW5uaW5nIGtlcm5l
bCB3b3VsZCBuZWVkIHRvIGtub3cNCihhcGFydCBmcm9tIHRoZSBQVkggYm9vdCBpbnRlcmZh
Y2UsIHdoaWNoIGlzbid0IE9TIGRlcGVuZGVudCkuDQoNCj4gDQo+PiArLyogZV9pZGVudCAq
Lw0KPj4gKyNkZWZpbmUgSVNfRUxGKGVoZHIpICgoZWhkcikuZV9pZGVudFtFSV9NQUcwXSA9
PSBFTEZNQUcwICYmIFwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgKGVoZHIpLmVfaWRl
bnRbRUlfTUFHMV0gPT0gRUxGTUFHMSAmJiBcDQo+PiArICAgICAgICAgICAgICAgICAgICAg
IChlaGRyKS5lX2lkZW50W0VJX01BRzJdID09IEVMRk1BRzIgJiYgXA0KPj4gKyAgICAgICAg
ICAgICAgICAgICAgICAoZWhkcikuZV9pZGVudFtFSV9NQUczXSA9PSBFTEZNQUczKQ0KPj4g
Kw0KPj4gKy8qIGVfZmxhZ3MgKi8NCj4+ICsjZGVmaW5lIEVGX0FSTV9FQUJJX01BU0sgICAg
MHhmZjAwMDAwMA0KPj4gKyNkZWZpbmUgRUZfQVJNX0VBQklfVU5LTk9XTiAweDAwMDAwMDAw
DQo+PiArI2RlZmluZSBFRl9BUk1fRUFCSV9WRVIxICAgIDB4MDEwMDAwMDANCj4+ICsjZGVm
aW5lIEVGX0FSTV9FQUJJX1ZFUjIgICAgMHgwMjAwMDAwMA0KPj4gKyNkZWZpbmUgRUZfQVJN
X0VBQklfVkVSMyAgICAweDAzMDAwMDAwDQo+PiArI2RlZmluZSBFRl9BUk1fRUFCSV9WRVI0
ICAgIDB4MDQwMDAwMDANCj4+ICsjZGVmaW5lIEVGX0FSTV9FQUJJX1ZFUjUgICAgMHgwNTAw
MDAwMA0KPj4gKw0KPj4gKy8qIEVMRiBIZWFkZXIgKi8NCj4+ICt0eXBlZGVmIHN0cnVjdCB7
DQo+PiArICAgIHVuc2lnbmVkIGNoYXIgZV9pZGVudFtFSV9OSURFTlRdOyAvKiBFTEYgSWRl
bnRpZmljYXRpb24gKi8NCj4+ICsgICAgRWxmMzJfSGFsZiAgICBlX3R5cGU7ICAgICAgICAv
KiBvYmplY3QgZmlsZSB0eXBlICovDQo+PiArICAgIEVsZjMyX0hhbGYgICAgZV9tYWNoaW5l
OyAgICAgLyogbWFjaGluZSAqLw0KPj4gKyAgICBFbGYzMl9Xb3JkICAgIGVfdmVyc2lvbjsg
ICAgIC8qIG9iamVjdCBmaWxlIHZlcnNpb24gKi8NCj4+ICsgICAgRWxmMzJfQWRkciAgICBl
X2VudHJ5OyAgICAgICAvKiB2aXJ0dWFsIGVudHJ5IHBvaW50ICovDQo+PiArICAgIEVsZjMy
X09mZiAgICAgZV9waG9mZjsgICAgICAgLyogcHJvZ3JhbSBoZWFkZXIgdGFibGUgb2Zmc2V0
ICovDQo+PiArICAgIEVsZjMyX09mZiAgICAgZV9zaG9mZjsgICAgICAgLyogc2VjdGlvbiBo
ZWFkZXIgdGFibGUgb2Zmc2V0ICovDQo+PiArICAgIEVsZjMyX1dvcmQgICAgZV9mbGFnczsg
ICAgICAgLyogcHJvY2Vzc29yLXNwZWNpZmljIGZsYWdzICovDQo+PiArICAgIEVsZjMyX0hh
bGYgICAgZV9laHNpemU7ICAgICAgLyogRUxGIGhlYWRlciBzaXplICovDQo+PiArICAgIEVs
ZjMyX0hhbGYgICAgZV9waGVudHNpemU7ICAgLyogcHJvZ3JhbSBoZWFkZXIgZW50cnkgc2l6
ZSAqLw0KPj4gKyAgICBFbGYzMl9IYWxmICAgIGVfcGhudW07ICAgICAgIC8qIG51bWJlciBv
ZiBwcm9ncmFtIGhlYWRlciBlbnRyaWVzICovDQo+PiArICAgIEVsZjMyX0hhbGYgICAgZV9z
aGVudHNpemU7ICAgLyogc2VjdGlvbiBoZWFkZXIgZW50cnkgc2l6ZSAqLw0KPj4gKyAgICBF
bGYzMl9IYWxmICAgIGVfc2hudW07ICAgICAgIC8qIG51bWJlciBvZiBzZWN0aW9uIGhlYWRl
ciBlbnRyaWVzICovDQo+PiArICAgIEVsZjMyX0hhbGYgICAgZV9zaHN0cm5keDsgICAgLyog
c2VjdGlvbiBoZWFkZXIgdGFibGUncyAic2VjdGlvbg0KPj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlYWRlciBzdHJpbmcgdGFibGUiIGVudHJ5IG9mZnNldCAq
Lw0KPj4gK30gRWxmMzJfRWhkcjsNCj4+ICsNCj4+ICt0eXBlZGVmIHN0cnVjdCB7DQo+PiAr
ICAgIHVuc2lnbmVkIGNoYXIgZV9pZGVudFtFSV9OSURFTlRdOyAvKiBJZCBieXRlcyAqLw0K
Pj4gKyAgICBFbGY2NF9IYWxmICAgIGVfdHlwZTsgICAgICAgIC8qIGZpbGUgdHlwZSAqLw0K
Pj4gKyAgICBFbGY2NF9IYWxmICAgIGVfbWFjaGluZTsgICAgIC8qIG1hY2hpbmUgdHlwZSAq
Lw0KPj4gKyAgICBFbGY2NF9Xb3JkICAgIGVfdmVyc2lvbjsgICAgIC8qIHZlcnNpb24gbnVt
YmVyICovDQo+PiArICAgIEVsZjY0X0FkZHIgICAgZV9lbnRyeTsgICAgICAgLyogZW50cnkg
cG9pbnQgKi8NCj4+ICsgICAgRWxmNjRfT2ZmICAgICBlX3Bob2ZmOyAgICAgICAvKiBQcm9n
cmFtIGhkciBvZmZzZXQgKi8NCj4+ICsgICAgRWxmNjRfT2ZmICAgICBlX3Nob2ZmOyAgICAg
ICAvKiBTZWN0aW9uIGhkciBvZmZzZXQgKi8NCj4+ICsgICAgRWxmNjRfV29yZCAgICBlX2Zs
YWdzOyAgICAgICAvKiBQcm9jZXNzb3IgZmxhZ3MgKi8NCj4+ICsgICAgRWxmNjRfSGFsZiAg
ICBlX2Voc2l6ZTsgICAgICAvKiBzaXplb2YgZWhkciAqLw0KPj4gKyAgICBFbGY2NF9IYWxm
ICAgIGVfcGhlbnRzaXplOyAgIC8qIFByb2dyYW0gaGVhZGVyIGVudHJ5IHNpemUgKi8NCj4+
ICsgICAgRWxmNjRfSGFsZiAgICBlX3BobnVtOyAgICAgICAvKiBOdW1iZXIgb2YgcHJvZ3Jh
bSBoZWFkZXJzICovDQo+PiArICAgIEVsZjY0X0hhbGYgICAgZV9zaGVudHNpemU7ICAgLyog
U2VjdGlvbiBoZWFkZXIgZW50cnkgc2l6ZSAqLw0KPj4gKyAgICBFbGY2NF9IYWxmICAgIGVf
c2hudW07ICAgICAgIC8qIE51bWJlciBvZiBzZWN0aW9uIGhlYWRlcnMgKi8NCj4+ICsgICAg
RWxmNjRfSGFsZiAgICBlX3Noc3RybmR4OyAgICAvKiBTdHJpbmcgdGFibGUgaW5kZXggKi8N
Cj4+ICt9IEVsZjY0X0VoZHI7DQo+PiArDQo+PiArLyogZV90eXBlICovDQo+PiArI2RlZmlu
ZSBFVF9OT05FICAgICAgMCAgICAgICAgICAgLyogTm8gZmlsZSB0eXBlICovDQo+PiArI2Rl
ZmluZSBFVF9SRUwgICAgICAgMSAgICAgICAgICAgLyogcmVsb2NhdGFibGUgZmlsZSAqLw0K
Pj4gKyNkZWZpbmUgRVRfRVhFQyAgICAgIDIgICAgICAgICAgIC8qIGV4ZWN1dGFibGUgZmls
ZSAqLw0KPj4gKyNkZWZpbmUgRVRfRFlOICAgICAgIDMgICAgICAgICAgIC8qIHNoYXJlZCBv
YmplY3QgZmlsZSAqLw0KPj4gKyNkZWZpbmUgRVRfQ09SRSAgICAgIDQgICAgICAgICAgIC8q
IGNvcmUgZmlsZSAqLw0KPj4gKyNkZWZpbmUgRVRfTlVNICAgICAgIDUgICAgICAgICAgIC8q
IG51bWJlciBvZiB0eXBlcyAqLw0KPj4gKyNkZWZpbmUgRVRfTE9QUk9DICAgIDB4ZmYwMCAg
ICAgIC8qIHJlc2VydmVkIHJhbmdlIGZvciBwcm9jZXNzb3IgKi8NCj4+ICsjZGVmaW5lIEVU
X0hJUFJPQyAgICAweGZmZmYgICAgICAvKiAgIHNwZWNpZmljIGVfdHlwZSAqLw0KPj4gKw0K
Pj4gKy8qIGVfbWFjaGluZSAqLw0KPj4gKyNkZWZpbmUgRU1fTk9ORSAgICAgIDAgICAgICAg
ICAgIC8qIE5vIE1hY2hpbmUgKi8NCj4+ICsjZGVmaW5lIEVNX00zMiAgICAgICAxICAgICAg
ICAgICAvKiBBVCZUIFdFIDMyMTAwICovDQo+PiArI2RlZmluZSBFTV9TUEFSQyAgICAgMiAg
ICAgICAgICAgLyogU1BBUkMgKi8NCj4+ICsjZGVmaW5lIEVNXzM4NiAgICAgICAzICAgICAg
ICAgICAvKiBJbnRlbCA4MDM4NiAqLw0KPj4gKyNkZWZpbmUgRU1fNjhLICAgICAgIDQgICAg
ICAgICAgIC8qIE1vdG9yb2xhIDY4MDAwICovDQo+PiArI2RlZmluZSBFTV84OEsgICAgICAg
NSAgICAgICAgICAgLyogTW90b3JvbGEgODgwMDAgKi8NCj4+ICsjZGVmaW5lIEVNXzQ4NiAg
ICAgICA2ICAgICAgICAgICAvKiBJbnRlbCA4MDQ4NiAtIHVudXNlZD8gKi8NCj4+ICsjZGVm
aW5lIEVNXzg2MCAgICAgICA3ICAgICAgICAgICAvKiBJbnRlbCA4MDg2MCAqLw0KPj4gKyNk
ZWZpbmUgRU1fTUlQUyAgICAgIDggICAgICAgICAgIC8qIE1JUFMgUjMwMDAgQmlnLUVuZGlh
biBvbmx5ICovDQo+PiArLyoNCj4+ICsgKiBEb24ndCBrbm93IGlmIEVNX01JUFNfUlM0X0JF
LA0KPj4gKyAqIEVNX1NQQVJDNjQsIEVNX1BBUklTQywNCj4+ICsgKiBvciBFTV9QUEMgYXJl
IEFCSSBjb21wbGlhbnQNCj4+ICsgKi8NCj4+ICsjZGVmaW5lIEVNX01JUFNfUlM0X0JFIDEw
ICAgICAgICAvKiBNSVBTIFI0MDAwIEJpZy1FbmRpYW4gKi8NCj4+ICsjZGVmaW5lIEVNX1NQ
QVJDNjQgICAgIDExICAgICAgICAvKiBTUEFSQyB2OSA2NC1iaXQgdW5vZmZpY2FsICovDQo+
PiArI2RlZmluZSBFTV9QQVJJU0MgICAgICAxNSAgICAgICAgLyogSFBQQSAqLw0KPj4gKyNk
ZWZpbmUgRU1fU1BBUkMzMlBMVVMgMTggICAgICAgIC8qIEVuaGFuY2VkIGluc3RydWN0aW9u
IHNldCBTUEFSQyAqLw0KPj4gKyNkZWZpbmUgRU1fUFBDICAgICAgICAgMjAgICAgICAgIC8q
IFBvd2VyUEMgKi8NCj4+ICsjZGVmaW5lIEVNX1BQQzY0ICAgICAgIDIxICAgICAgICAvKiBQ
b3dlclBDIDY0LWJpdCAqLw0KPj4gKyNkZWZpbmUgRU1fQVJNICAgICAgICAgNDAgICAgICAg
IC8qIEFkdmFuY2VkIFJJU0MgTWFjaGluZXMgQVJNICovDQo+PiArI2RlZmluZSBFTV9BTFBI
QSAgICAgICA0MSAgICAgICAgLyogREVDIEFMUEhBICovDQo+PiArI2RlZmluZSBFTV9TUEFS
Q1Y5ICAgICA0MyAgICAgICAgLyogU1BBUkMgdmVyc2lvbiA5ICovDQo+PiArI2RlZmluZSBF
TV9BTFBIQV9FWFAgICAweDkwMjYgICAgLyogREVDIEFMUEhBICovDQo+PiArI2RlZmluZSBF
TV9JQV82NCAgICAgICA1MCAgICAgICAgLyogSW50ZWwgTWVyY2VkICovDQo+PiArI2RlZmlu
ZSBFTV9YODZfNjQgICAgICA2MiAgICAgICAgLyogQU1EIHg4Ni02NCBhcmNoaXRlY3R1cmUg
Ki8NCj4+ICsjZGVmaW5lIEVNX1ZBWCAgICAgICAgIDc1ICAgICAgICAvKiBERUMgVkFYICov
DQo+PiArI2RlZmluZSBFTV9BQVJDSDY0ICAgIDE4MyAgICAgICAgLyogQVJNIDY0LWJpdCAq
Lw0KPiANCj4gSGVyZSBJIHNpbWlsYXJseSB0aGluayBzb21lIHN0cmlwcGluZyBkb3duIG1p
Z2h0IGhlbHAuIERvaW5nIHNvIHdvdWxkIHRoZW4NCj4gYWxzbyBwZXJtaXQgdG8gbGVhdmUg
b3V0IHRoZSBjb21tZW50IGluIHRoZSBtaWRkbGUuDQoNCkhlcmUgSSdtIGEgbGl0dGxlIGJp
dCBtb3JlIG9uIHRoZSBlZGdlLiBTb21lIGhpc3RvcmljYWwgZW50cmllcyBjYW4NCnByb2Jh
Ymx5IGJlIGRyb3BwZWQsIGJ1dCB3aGljaCBvbmVzIHdvdWxkIHdhbnQgdG8gc3RheT8NCg0K
PiANCj4+ICsvKiBWZXJzaW9uICovDQo+PiArI2RlZmluZSBFVl9OT05FICAgICAgMCAgICAg
ICAgICAgLyogSW52YWxpZCAqLw0KPj4gKyNkZWZpbmUgRVZfQ1VSUkVOVCAgIDEgICAgICAg
ICAgIC8qIEN1cnJlbnQgKi8NCj4+ICsjZGVmaW5lIEVWX05VTSAgICAgICAyICAgICAgICAg
ICAvKiBudW1iZXIgb2YgdmVyc2lvbnMgKi8NCj4+ICsNCj4+ICsvKiBQcm9ncmFtIEhlYWRl
ciAqLw0KPj4gK3R5cGVkZWYgc3RydWN0IHsNCj4+ICsgICAgRWxmMzJfV29yZCAgICBwX3R5
cGU7ICAgICAgICAvKiBzZWdtZW50IHR5cGUgKi8NCj4+ICsgICAgRWxmMzJfT2ZmICAgICBw
X29mZnNldDsgICAgICAvKiBzZWdtZW50IG9mZnNldCAqLw0KPj4gKyAgICBFbGYzMl9BZGRy
ICAgIHBfdmFkZHI7ICAgICAgIC8qIHZpcnR1YWwgYWRkcmVzcyBvZiBzZWdtZW50ICovDQo+
PiArICAgIEVsZjMyX0FkZHIgICAgcF9wYWRkcjsgICAgICAgLyogcGh5c2ljYWwgYWRkcmVz
cyAtIGlnbm9yZWQ/ICovDQo+PiArICAgIEVsZjMyX1dvcmQgICAgcF9maWxlc3o7ICAgICAg
LyogbnVtYmVyIG9mIGJ5dGVzIGluIGZpbGUgZm9yIHNlZy4gKi8NCj4+ICsgICAgRWxmMzJf
V29yZCAgICBwX21lbXN6OyAgICAgICAvKiBudW1iZXIgb2YgYnl0ZXMgaW4gbWVtLiBmb3Ig
c2VnLiAqLw0KPj4gKyAgICBFbGYzMl9Xb3JkICAgIHBfZmxhZ3M7ICAgICAgIC8qIGZsYWdz
ICovDQo+PiArICAgIEVsZjMyX1dvcmQgICAgcF9hbGlnbjsgICAgICAgLyogbWVtb3J5IGFs
aWdubWVudCAqLw0KPj4gK30gRWxmMzJfUGhkcjsNCj4+ICsNCj4+ICt0eXBlZGVmIHN0cnVj
dCB7DQo+PiArICAgIEVsZjY0X1dvcmQgICAgcF90eXBlOyAgICAgICAgLyogZW50cnkgdHlw
ZSAqLw0KPj4gKyAgICBFbGY2NF9Xb3JkICAgIHBfZmxhZ3M7ICAgICAgIC8qIGZsYWdzICov
DQo+PiArICAgIEVsZjY0X09mZiAgICAgcF9vZmZzZXQ7ICAgICAgLyogb2Zmc2V0ICovDQo+
PiArICAgIEVsZjY0X0FkZHIgICAgcF92YWRkcjsgICAgICAgLyogdmlydHVhbCBhZGRyZXNz
ICovDQo+PiArICAgIEVsZjY0X0FkZHIgICAgcF9wYWRkcjsgICAgICAgLyogcGh5c2ljYWwg
YWRkcmVzcyAqLw0KPj4gKyAgICBFbGY2NF9Yd29yZCAgIHBfZmlsZXN6OyAgICAgIC8qIGZp
bGUgc2l6ZSAqLw0KPj4gKyAgICBFbGY2NF9Yd29yZCAgIHBfbWVtc3o7ICAgICAgIC8qIG1l
bW9yeSBzaXplICovDQo+PiArICAgIEVsZjY0X1h3b3JkICAgcF9hbGlnbjsgICAgICAgLyog
bWVtb3J5ICYgZmlsZSBhbGlnbm1lbnQgKi8NCj4+ICt9IEVsZjY0X1BoZHI7DQo+PiArDQo+
PiArLyogU2VnbWVudCB0eXBlcyAtIHBfdHlwZSAqLw0KPj4gKyNkZWZpbmUgUFRfTlVMTCAg
ICAgIDAgICAgICAgICAgIC8qIHVudXNlZCAqLw0KPj4gKyNkZWZpbmUgUFRfTE9BRCAgICAg
IDEgICAgICAgICAgIC8qIGxvYWRhYmxlIHNlZ21lbnQgKi8NCj4+ICsjZGVmaW5lIFBUX0RZ
TkFNSUMgICAyICAgICAgICAgICAvKiBkeW5hbWljIGxpbmtpbmcgc2VjdGlvbiAqLw0KPj4g
KyNkZWZpbmUgUFRfSU5URVJQICAgIDMgICAgICAgICAgIC8qIHRoZSBSVExEICovDQo+PiAr
I2RlZmluZSBQVF9OT1RFICAgICAgNCAgICAgICAgICAgLyogYXV4aWxpYXJ5IGluZm9ybWF0
aW9uICovDQo+PiArI2RlZmluZSBQVF9TSExJQiAgICAgNSAgICAgICAgICAgLyogcmVzZXJ2
ZWQgLSBwdXJwb3NlIHVuZGVmaW5lZCAqLw0KPj4gKyNkZWZpbmUgUFRfUEhEUiAgICAgIDYg
ICAgICAgICAgIC8qIHByb2dyYW0gaGVhZGVyICovDQo+PiArI2RlZmluZSBQVF9OVU0gICAg
ICAgNyAgICAgICAgICAgLyogTnVtYmVyIG9mIHNlZ21lbnQgdHlwZXMgKi8NCj4+ICsjZGVm
aW5lIFBUX0xPUFJPQyAgICAweDcwMDAwMDAwICAvKiByZXNlcnZlZCByYW5nZSBmb3IgcHJv
Y2Vzc29yICovDQo+PiArI2RlZmluZSBQVF9ISVBST0MgICAgMHg3ZmZmZmZmZiAgLyogIHNw
ZWNpZmljIHNlZ21lbnQgdHlwZXMgKi8NCj4+ICsNCj4+ICsvKiBTZWdtZW50IGZsYWdzIC0g
cF9mbGFncyAqLw0KPj4gKyNkZWZpbmUgUEZfWCAgICAgICAgIDB4MSAgICAgICAgLyogRXhl
Y3V0YWJsZSAqLw0KPj4gKyNkZWZpbmUgUEZfVyAgICAgICAgIDB4MiAgICAgICAgLyogV3Jp
dGFibGUgKi8NCj4+ICsjZGVmaW5lIFBGX1IgICAgICAgICAweDQgICAgICAgIC8qIFJlYWRh
YmxlICovDQo+PiArI2RlZmluZSBQRl9NQVNLUFJPQyAgMHhmMDAwMDAwMCAvKiByZXNlcnZl
ZCBiaXRzIGZvciBwcm9jZXNzb3IgKi8NCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8qICBzcGVjaWZpYyBzZWdtZW50IGZsYWdzICovDQo+PiArDQo+PiArLyogU2Vj
dGlvbiBIZWFkZXIgKi8NCj4+ICt0eXBlZGVmIHN0cnVjdCB7DQo+PiArICAgIEVsZjMyX1dv
cmQgICAgc2hfbmFtZTsgICAgICAvKiBuYW1lIC0gaW5kZXggaW50byBzZWN0aW9uIGhlYWRl
cg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIHRhYmxl
IHNlY3Rpb24gKi8NCj4+ICsgICAgRWxmMzJfV29yZCAgICBzaF90eXBlOyAgICAgIC8qIHR5
cGUgKi8NCj4+ICsgICAgRWxmMzJfV29yZCAgICBzaF9mbGFnczsgICAgIC8qIGZsYWdzICov
DQo+PiArICAgIEVsZjMyX0FkZHIgICAgc2hfYWRkcjsgICAgICAvKiBhZGRyZXNzICovDQo+
PiArICAgIEVsZjMyX09mZiAgICAgc2hfb2Zmc2V0OyAgICAvKiBmaWxlIG9mZnNldCAqLw0K
Pj4gKyAgICBFbGYzMl9Xb3JkICAgIHNoX3NpemU7ICAgICAgLyogc2VjdGlvbiBzaXplICov
DQo+PiArICAgIEVsZjMyX1dvcmQgICAgc2hfbGluazsgICAgICAvKiBzZWN0aW9uIGhlYWRl
ciB0YWJsZSBpbmRleCBsaW5rICovDQo+PiArICAgIEVsZjMyX1dvcmQgICAgc2hfaW5mbzsg
ICAgICAvKiBleHRyYSBpbmZvcm1hdGlvbiAqLw0KPj4gKyAgICBFbGYzMl9Xb3JkICAgIHNo
X2FkZHJhbGlnbjsgLyogYWRkcmVzcyBhbGlnbm1lbnQgKi8NCj4+ICsgICAgRWxmMzJfV29y
ZCAgICBzaF9lbnRzaXplOyAgIC8qIHNlY3Rpb24gZW50cnkgc2l6ZSAqLw0KPj4gK30gRWxm
MzJfU2hkcjsNCj4+ICsNCj4+ICt0eXBlZGVmIHN0cnVjdCB7DQo+PiArICAgIEVsZjY0X1dv
cmQgICAgc2hfbmFtZTsgICAgICAvKiBzZWN0aW9uIG5hbWUgKi8NCj4+ICsgICAgRWxmNjRf
V29yZCAgICBzaF90eXBlOyAgICAgIC8qIHNlY3Rpb24gdHlwZSAqLw0KPj4gKyAgICBFbGY2
NF9Yd29yZCAgIHNoX2ZsYWdzOyAgICAgLyogc2VjdGlvbiBmbGFncyAqLw0KPj4gKyAgICBF
bGY2NF9BZGRyICAgIHNoX2FkZHI7ICAgICAgLyogdmlydHVhbCBhZGRyZXNzICovDQo+PiAr
ICAgIEVsZjY0X09mZiAgICAgc2hfb2Zmc2V0OyAgICAvKiBmaWxlIG9mZnNldCAqLw0KPj4g
KyAgICBFbGY2NF9Yd29yZCAgIHNoX3NpemU7ICAgICAgLyogc2VjdGlvbiBzaXplICovDQo+
PiArICAgIEVsZjY0X1dvcmQgICAgc2hfbGluazsgICAgICAvKiBsaW5rIHRvIGFub3RoZXIg
Ki8NCj4+ICsgICAgRWxmNjRfV29yZCAgICBzaF9pbmZvOyAgICAgIC8qIG1pc2MgaW5mbyAq
Lw0KPj4gKyAgICBFbGY2NF9Yd29yZCAgIHNoX2FkZHJhbGlnbjsgLyogbWVtb3J5IGFsaWdu
bWVudCAqLw0KPj4gKyAgICBFbGY2NF9Yd29yZCAgIHNoX2VudHNpemU7ICAgLyogdGFibGUg
ZW50cnkgc2l6ZSAqLw0KPj4gK30gRWxmNjRfU2hkcjsNCj4+ICsNCj4+ICsvKiBzaF90eXBl
ICovDQo+PiArI2RlZmluZSBTSFRfTlVMTCAgICAgICAgMCAgICAgICAvKiBpbmFjdGl2ZSAq
Lw0KPj4gKyNkZWZpbmUgU0hUX1BST0dCSVRTICAgIDEgICAgICAgLyogcHJvZ3JhbSBkZWZp
bmVkIGluZm9ybWF0aW9uICovDQo+PiArI2RlZmluZSBTSFRfU1lNVEFCICAgICAgMiAgICAg
ICAvKiBzeW1ib2wgdGFibGUgc2VjdGlvbiAqLw0KPj4gKyNkZWZpbmUgU0hUX1NUUlRBQiAg
ICAgIDMgICAgICAgLyogc3RyaW5nIHRhYmxlIHNlY3Rpb24gKi8NCj4+ICsjZGVmaW5lIFNI
VF9SRUxBICAgICAgICA0ICAgICAgIC8qIHJlbG9jYXRpb24gc2VjdGlvbiB3aXRoIGFkZGVu
ZHMqLw0KPj4gKyNkZWZpbmUgU0hUX0hBU0ggICAgICAgIDUgICAgICAgLyogc3ltYm9sIGhh
c2ggdGFibGUgc2VjdGlvbiAqLw0KPj4gKyNkZWZpbmUgU0hUX0RZTkFNSUMgICAgIDYgICAg
ICAgLyogZHluYW1pYyBzZWN0aW9uICovDQo+PiArI2RlZmluZSBTSFRfTk9URSAgICAgICAg
NyAgICAgICAvKiBub3RlIHNlY3Rpb24gKi8NCj4+ICsjZGVmaW5lIFNIVF9OT0JJVFMgICAg
ICA4ICAgICAgIC8qIG5vIHNwYWNlIHNlY3Rpb24gKi8NCj4+ICsjZGVmaW5lIFNIVF9SRUwg
ICAgICAgICA5ICAgICAgIC8qIHJlbGF0aW9uIHNlY3Rpb24gd2l0aG91dCBhZGRlbmRzICov
DQo+PiArI2RlZmluZSBTSFRfU0hMSUIgICAgICAxMCAgICAgICAvKiByZXNlcnZlZCAtIHB1
cnBvc2UgdW5rbm93biAqLw0KPj4gKyNkZWZpbmUgU0hUX0RZTlNZTSAgICAgMTEgICAgICAg
LyogZHluYW1pYyBzeW1ib2wgdGFibGUgc2VjdGlvbiAqLw0KPj4gKyNkZWZpbmUgU0hUX05V
TSAgICAgICAgMTIgICAgICAgLyogbnVtYmVyIG9mIHNlY3Rpb24gdHlwZXMgKi8NCj4+ICsN
Cj4+ICsvKiBOb3RlIGRlZmluaXRpb25zICovDQo+PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPj4g
KyAgICBFbGYzMl9Xb3JkIG5hbWVzejsNCj4+ICsgICAgRWxmMzJfV29yZCBkZXNjc3o7DQo+
PiArICAgIEVsZjMyX1dvcmQgdHlwZTsNCj4+ICsgICAgY2hhciBkYXRhW107DQo+PiArfSBF
bGYzMl9Ob3RlOw0KPj4gKw0KPj4gK3R5cGVkZWYgc3RydWN0IHsNCj4+ICsgICAgRWxmNjRf
V29yZCBuYW1lc3o7DQo+PiArICAgIEVsZjY0X1dvcmQgZGVzY3N6Ow0KPj4gKyAgICBFbGY2
NF9Xb3JkIHR5cGU7DQo+PiArICAgIGNoYXIgZGF0YVtdOw0KPj4gK30gRWxmNjRfTm90ZTsN
Cj4+ICsNCj4+ICsvKiBBYnN0cmFjdGlvbiBsYXllciBmb3IgaGFuZGxpbmcgMzItIGFuZCA2
NC1iaXQgRUxGIGZpbGVzLiAqLw0KPj4gKw0KPj4gK3R5cGVkZWYgdW5pb24gew0KPj4gKyAg
ICBFbGYzMl9FaGRyIGUzMjsNCj4+ICsgICAgRWxmNjRfRWhkciBlNjQ7DQo+PiArfSBlbGZf
ZWhkcjsNCj4+ICsNCj4+ICtzdGF0aWMgaW5saW5lIGJvb2wgZWxmX2lzXzMyYml0KGVsZl9l
aGRyICplaGRyKQ0KPj4gK3sNCj4+ICsgICAgcmV0dXJuIGVoZHItPmUzMi5lX2lkZW50W0VJ
X0NMQVNTXSA9PSBFTEZDTEFTUzMyOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgaW5saW5l
IGJvb2wgZWxmX2lzXzY0Yml0KGVsZl9laGRyICplaGRyKQ0KPj4gK3sNCj4+ICsgICAgcmV0
dXJuIGVoZHItPmUzMi5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZDTEFTUzY0Ow0KPj4gK30N
Cj4+ICsNCj4+ICsjZGVmaW5lIGVoZHJfdmFsKGVoZHIsIGVsZW0pIChlbGZfaXNfMzJiaXQo
ZWhkcikgPyAoZWhkciktPmUzMi5lbGVtIDogKGVoZHIpLT5lNjQuZWxlbSkNCj4+ICsNCj4+
ICt0eXBlZGVmIHVuaW9uIHsNCj4+ICsgICAgRWxmMzJfUGhkciBlMzI7DQo+PiArICAgIEVs
ZjY0X1BoZHIgZTY0Ow0KPj4gK30gZWxmX3BoZHI7DQo+PiArDQo+PiArI2RlZmluZSBwaGRy
X3ZhbChlaGRyLCBwaGRyLCBlbGVtKSAoZWxmX2lzXzMyYml0KGVoZHIpID8gKHBoZHIpLT5l
MzIuZWxlbSA6IChwaGRyKS0+ZTY0LmVsZW0pDQo+PiArDQo+PiArdHlwZWRlZiB1bmlvbiB7
DQo+PiArICAgIEVsZjMyX1NoZHIgZTMyOw0KPj4gKyAgICBFbGY2NF9TaGRyIGU2NDsNCj4+
ICt9IGVsZl9zaGRyOw0KPj4gKw0KPj4gKyNkZWZpbmUgc2hkcl92YWwoZWhkciwgc2hkciwg
ZWxlbSkgKGVsZl9pc18zMmJpdChlaGRyKSA/IChzaGRyKS0+ZTMyLmVsZW0gOiAoc2hkcikt
PmU2NC5lbGVtKQ0KPj4gKw0KPj4gK3R5cGVkZWYgdW5pb24gew0KPj4gKyAgICBFbGYzMl9O
b3RlIGUzMjsNCj4+ICsgICAgRWxmNjRfTm90ZSBlNjQ7DQo+PiArfSBlbGZfbm90ZTsNCj4+
ICsNCj4+ICsjZGVmaW5lIG5vdGVfdmFsKGVoZHIsIG5vdGUsIGVsZW0pIChlbGZfaXNfMzJi
aXQoZWhkcikgPyAobm90ZSktPmUzMi5lbGVtIDogKG5vdGUpLT5lNjQuZWxlbSkNCj4+ICsN
Cj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgKmVsZl9wdHJfYWRkKHZvaWQgKnB0ciwgdW5zaWdu
ZWQgbG9uZyBhZGQpDQo+PiArew0KPj4gKyAgICByZXR1cm4gKGNoYXIgKilwdHIgKyBhZGQ7
DQo+IA0KPiBZb3UgY2FuIG9taXQgdGhlIGNhc3QgaGVyZSwgY2FuJ3QgeW91Pw0KDQpZZXMu
DQoNCj4gDQo+IFlvdSdyZSB0aGUgbWFpbnRhaW5lciwgc28geW91J2xsIGtub3cgaG93IG1h
bnkgb2YgdGhlIGNvbW1lbnRzIHlvdSB3YW50IHRvDQo+IGFkZHJlc3MuIEVpdGhlciB3YXk6
DQo+IFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClRo
YW5rcywNCg0KDQpKdWVyZ2VuDQo=
--------------KYKQyzVdEh9tA87b7XwOR8P7
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-----

--------------KYKQyzVdEh9tA87b7XwOR8P7--

--------------T7pinG8hwD2jDjdXt9HYWyzj--

--------------4mym860wkajExf7xG0LLNz4z
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/Ey8FAmfdi4gFAwAAAAAACgkQsN6d1ii/Ey+m
9wf/YLk5odsT9glCFofY6DaRUw19nLn3Sz/EHZXPLlknqi0h1QpVKbaYyBO9yNpMAXCg5x3QwglB
w+SKikJkfvtvRLXz+iOZlrNQEEKN8Culnq9uaiH7F4ecfFhRP8VmcKBtlLZY5043yjWoqxjnVuV3
H6lAx1TFZAg1c4HABgtiuXO1bNKcMWPrbMdn1pToT5Il0wdKOduO9U7yedqGaIewbPJHZmLopobV
TJxlVLb+7GAA0j1r1hk9T0X5Z6B5EwuRq3mu3LWJmVkwdcXnXjKBLln0CRlKdIy7BQXC2Mu+LOzW
ckptLe8xVF1LYdXXm1WR+KJU9GPBkySzBgvg3ZHqEQ==
=FX/H
-----END PGP SIGNATURE-----

--------------4mym860wkajExf7xG0LLNz4z--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 16:01:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 16:01:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924254.1327540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tveof-00012F-7O; Fri, 21 Mar 2025 16:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924254.1327540; Fri, 21 Mar 2025 16: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 1tveof-000128-4R; Fri, 21 Mar 2025 16:01:49 +0000
Received: by outflank-mailman (input) for mailman id 924254;
 Fri, 21 Mar 2025 16:01: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=1tcq=WI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tveoe-000122-7z
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 16:01:48 +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 cac5146a-066d-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 17:01:47 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-39727fe912cso837395f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 09:01:47 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f995423sm2684464f8f.20.2025.03.21.09.01.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 09:01: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: cac5146a-066d-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742572907; x=1743177707; 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=cysste13bfccSTnoc0kpZHpSKLeW95jO3mqyfHCpIS8=;
        b=jk+75KDYxGZelIrCQJcMof5bVtJNTmO9iXn3qyFa2wzoY5EK6VAP14Hhh5bnp85O2s
         zh79zr91nLaO3jqZxtxKtu5+6PlNKiLfaggTF0W6yD9QLx9nLSSv7Pqj/ovH1QJyvZMk
         wqI+XPVxvvFm4NExF2NKtd/kFvY5/EnYzf4X8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742572907; x=1743177707;
        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=cysste13bfccSTnoc0kpZHpSKLeW95jO3mqyfHCpIS8=;
        b=rx8fKez1PLKuPY7szVsXNvBzGsHp+VqNxAHi3eTBcFxdrUCeWsGnJEBLkFhbdimlYp
         naNs+ak/yLhNELNbVX/jx/+eaxdZQ8P9s9CZSx2FU1+fG3531eGOI49ice6r/zvabyiS
         ues5v6x9MVqcE5Dj4XNXXHaNTMtf1zkbz2Vth5Lcx5jh4Y0E8nTalSqmPgJnUiMfxl/q
         JIgatduFSujCvHil2xuMmo7hnHJ2+x+qcOm8o4aq5vAfwxh42hIXbVzV7rSu0vblHoi9
         O489x+mlf9lay1l8j0r76HS2uPM9UCQzpWPxUqSMJLvr9Qku+HEsvl69SetVU4X6axBD
         SdeQ==
X-Forwarded-Encrypted: i=1; AJvYcCU/ODbBnfdS/V2cpSQD8/QM4I0oCCnTAOsKHZF2zo+8XX0oLgBLL77xgvKJOnx1PuGMpv96AlefzeY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy17BwJ5e7nt80uEtORlXHz20XwH1VjKjSO4Ebq0YeWrsumj7xR
	jWxB6A1qn2t3K+1xjJ54fhoIUSV4pAbqPeLkhqPwdUs49TF1tuVJf0Qf5rtJe6T0nNOSQ7dFQnc
	r
X-Gm-Gg: ASbGnct3NIsfLb0Vweh7RDq50LtvQc08ehWRiPDYycSeJQrZjdXRZAvm8/MFmQCUqnK
	/pX1s0pFV7SbofteGdekuqw0ZSbj+F3lHBDaNTI25tR1tI86h85hIMv/7ZZEc6s2DRC1tCM+sPO
	GoNiTtmC1uun2B+nvgKuk50gvTkAFy+oVrvKIH+TsLJQJ4k3Vx+cxcXDDQ6KeU3c/AWAOC6sfoN
	RTU127KmTdOCMjpC2j0ZoEatsb8yy14BOZ9IxWoIhmO7v2p3prZsoU1x4VKcXSRYQv1Zq930s+8
	DuH9ukqwAE6Mz4W89ZpYTrG1uW0o6mzx1mexDqG/oUNIbLejsZoBAWmwJlOJ8JUIPyfQhRLtwPR
	0DIoAX04tJA==
X-Google-Smtp-Source: AGHT+IEmx39GD6Xel0I+OOsZHaLeKTzjt6unvx8EW4gA6ruw+Ac+y2kgC1Ft+8pO/u57C0e0GLObkA==
X-Received: by 2002:a5d:64e3:0:b0:391:3f64:ed00 with SMTP id ffacd0b85a97d-3997f903a7fmr3358235f8f.26.1742572906408;
        Fri, 21 Mar 2025 09:01:46 -0700 (PDT)
Message-ID: <9385c155-eb01-4247-8bf5-6e0758f79749@citrix.com>
Date: Fri, 21 Mar 2025 16:01:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] x86/domctl: Stop using XLAT_cpu_user_regs()
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-6-andrew.cooper3@citrix.com>
 <703471bf-d5e7-4f97-b17e-61dffdcb828d@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: <703471bf-d5e7-4f97-b17e-61dffdcb828d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 11:38 am, Jan Beulich wrote:
> On 11.03.2025 22:10, Andrew Cooper wrote:
>> In order to support FRED, we're going to have to remove the {ds..gs} fields
>> from struct cpu_user_regs, meaning that it is going to have to become a
>> different type to the structure embedded in vcpu_guest_context_u.
>>
>> In both arch_{get,set}_info_guest(), expand the memcpy()/XLAT_cpu_user_regs()
>> to copy the fields individually.  This will allow us to eventually make them
>> different types.
>>
>> No practical change.  The compat cases are identical, while the non-compat
>> cases no longer copy _pad fields.
> That's fine for "set", but potentially not for "get": Someone simply doing
> memcmp() on two pieces of output might then break.

It's not a fastpath, and I'm not looking to not break things, but I was
expecting it to be safe.

The pad fields for cs (inc saved_upcall_mask) and ss get lost on the
first exit-from-guest, and the pad fields for the data segment get lost
on the first schedule.

So while there is a change here, I don't think it's anything that
current code could plausibly be relying on.

Furthermore, when we get rid of the vm86 fields, we don't even store the
pad fields anywhere in Xen, so they're going, one way or another, by the
end of the series.

Finally, disaggregation or not, this is an unstable interface so we do
have some wiggle room.

I guess I should discuss this more in the commit message?

>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>
>> Should we really be copying error_code/entry_vector?  They're already listed
>> as explicitly private fields, and I don't think anything good can come of
>> providing/consuming them.
> I don't see a reason why we'd need to copy them in arch_set_info_guest();
> arch_set_info_hvm_guest() doesn't copy them either. For
> arch_get_info_guest() it's less clear - toolstack components may have
> grown a dependency on them (e.g. introspection?), so I'd err on the side
> of retaining prior behavior. (Of course there's then the corner case of
> someone calling "get" right after "set", expecting the two fields to come
> back unchanged.)

Introspection doesn't use this interface.Â  Regs are sent in the ring,
and don't contain these fields either.

Also, for HVM guests, we set the vmexit rsp to &error_code so we only
push the GPRs, without the IRET frame above it.

These fields, (inc saved_upcall_mask) have different behaviours under
FRED.Â  I don't think we can get away without them changing, and for
these at least, they were clearly marked as internal.

>
>> @@ -1204,7 +1223,26 @@ int arch_set_info_guest(
>>  #ifdef CONFIG_COMPAT
>>      else
>>      {
>> -        XLAT_cpu_user_regs(&v->arch.user_regs, &c.cmp->user_regs);
>> +        v->arch.user_regs.ebx               = c.cmp->user_regs.ebx;
>> +        v->arch.user_regs.ecx               = c.cmp->user_regs.ecx;
>> +        v->arch.user_regs.edx               = c.cmp->user_regs.edx;
>> +        v->arch.user_regs.esi               = c.cmp->user_regs.esi;
>> +        v->arch.user_regs.edi               = c.cmp->user_regs.edi;
>> +        v->arch.user_regs.ebp               = c.cmp->user_regs.ebp;
>> +        v->arch.user_regs.eax               = c.cmp->user_regs.eax;
>> +        v->arch.user_regs.error_code        = c.cmp->user_regs.error_code;
>> +        v->arch.user_regs.entry_vector      = c.cmp->user_regs.entry_vector;
>> +        v->arch.user_regs.eip               = c.cmp->user_regs.eip;
>> +        v->arch.user_regs.cs                = c.cmp->user_regs.cs;
>> +        v->arch.user_regs.saved_upcall_mask = c.cmp->user_regs.saved_upcall_mask;
>> +        v->arch.user_regs.eflags            = c.cmp->user_regs.eflags;
>> +        v->arch.user_regs.esp               = c.cmp->user_regs.esp;
>> +        v->arch.user_regs.ss                = c.cmp->user_regs.ss;
>> +        v->arch.user_regs.es                = c.cmp->user_regs.es;
>> +        v->arch.user_regs.ds                = c.cmp->user_regs.ds;
>> +        v->arch.user_regs.fs                = c.cmp->user_regs.fs;
>> +        v->arch.user_regs.gs                = c.cmp->user_regs.gs;
> Just to mention it (there's no change in behavior here afaict): Us writing
> only half of the register fields looks like a latent (but perhaps only
> theoretical) problem to me. A dis-aggregated toolstack may set 64-bit PV
> context, then toggle address size, then set 32-bit context. That'll leave
> the high halves of respective fields non-zero. I didn't check whether any
> badness could result from that, as for the time being
> XEN_DOMCTL_set_address_size isn't marked dis-aggregation-safe, and hence
> this at least isn't of immediate concern.

Hmm, gnarly.Â  The naive way to do 64-bit set, toggle, 32-bit set doesn't
work, because set of either bitness involves:

Â Â Â  cr3_page = get_page_from_mfn(cr3_mfn, d);

while toggle requires no memory in the domain, owing to the different
typeref rules.

But, because the hypercall isn't atomic, you can make a 64-bit set which
intentionally fails later (e.g. bad vm_assist setting), at which point
the switch will work too.

Breaking the switch vs no-memory limitation has been on my wishlist
(probably never going to happen), to break the a-priori dependency which
prevents pvgrub64 from booting a 32bit guest, which in turn is the major
reason why pygrub is still the incumbent.

Stale high bits will be lost when we schedule the vCPU, because of how
RESTORE_ALL currently works, although I still intend to switch to plain
pop's because that is a fastpath.


Either way, I think it would be prudent to zero v->arch.user_regs in a
prep patch and backport that.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 16:18:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 16:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924275.1327551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvf4M-0003iY-Hf; Fri, 21 Mar 2025 16:18:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924275.1327551; Fri, 21 Mar 2025 16:18: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 1tvf4M-0003iR-Dx; Fri, 21 Mar 2025 16:18:02 +0000
Received: by outflank-mailman (input) for mailman id 924275;
 Fri, 21 Mar 2025 16:18: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=lMoj=WI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tvf4L-0003iL-I8
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 16:18:01 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f62aff11-066f-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 17:17:19 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5e6f4b3ebe5so3727508a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 09:17:19 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebccfb4471sm1596006a12.47.2025.03.21.09.17.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 21 Mar 2025 09:17: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: f62aff11-066f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742573838; x=1743178638; 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=SZzyajWiW/Z/3tgYFJ64xmugqH4ILb34Uv95ykdmDZA=;
        b=FmG/jzqwQRD+EGqHVALAvEvhLr8RIDWfGX1z1x/Ca5Es0BLiSDQqZ5S2hi2tU3/weo
         QB42/V665dCKYCvdIrjukBsgXtXk8jFMTQ8VQwlEtlBfnrja4ZE3sanwqMLKmPqtXIMF
         MNgD/DWI0+JJaKKfQ6huUFsjWBW80Rw5k7GVmGjSavPSGm0BXu+ZtX1csbmsupqbWCI2
         6WApGLy0uCc76XX7cF8CbZcztBRzcKhzhiRNtD1niPXN0CUUXbj+hAgNHGhL6NHzYsIT
         kiAkv0mR2Bcqb9HnJ3clflyx8+a05uzqWw8JO6FaZKWkYIcsf50rP438AVQc/3TMn33d
         irVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742573838; x=1743178638;
        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=SZzyajWiW/Z/3tgYFJ64xmugqH4ILb34Uv95ykdmDZA=;
        b=E/Ja0yQGZBrUGILSd54l5z4bqU2QxBESm1WnSSSwdPu0GXqvF20wwZymkzJ3wGzQOu
         2YQq8d9TX5uI/V7abnC/1EMVGONb+/8txExoLg/kLNLUOEq9QkchGP6UzXqvH7wIhcXo
         mMjEVs95uJF7JwOD+wbPbRYNsh7yxG/8NRCPDcnXq2hmPbuXodMG9ziyIfRLkfJrvESz
         uzuZUCP8JfyqzFpNe1C13OmnPh9l2Ej+QTnYVebtsHwE5RUlFXREdfK9ESwK9xcKufof
         Ifqsx6dnDfyML51ultAsPRiBzVLMLYmR27isE3/EeefSVwkoTfdU0VaAtFnxEUXZ9ARv
         M7sg==
X-Gm-Message-State: AOJu0YzJmZo0M+QIW8EwxAUKqYdtiycOR2U4H0BSUB5toXatKRGuB6Mr
	e9lYYl3INEGSWfomzPExJ6pKSibCYbIRUPnG9YTCfkpSFV1y2m4lzeCr4Q==
X-Gm-Gg: ASbGncvwqD2CvQDNBuiASnebelBcfJ5PPeFnNY3gNZElz2b6W/Le8Kfzs/Vn4ELa/KE
	/eeLLpfRkUIoQ0ZbPQNpVBNosguON3vmewUxptbQbIN55+304jFM0kQtECcAUaM/6Q9SLXkz5fS
	XSHQNO0DrK1KRJJjRlPsYcf5eObxd6Gks0mEnmDgnMiWh8bEScPuGOfuE4j1RSOj5z8gvf40wIc
	segGiam6pJglWjRWSG1zbynu3FYHgHHeaR/BmLuYbSjiN1sfW30KpLzbjv1I1oqTjfWaqQnblUV
	YcmGs+okBL+41BjG+4bn62629ITgST616UPxGZvhFQkf+p4QQg5n4h4Nw1u+heBcbxxFYebAyki
	Cv2ppokz/duPow1Qjf+orlRJO
X-Google-Smtp-Source: AGHT+IFrXfezooAuRdb8t6XIiQhwniKeEYXtqShxtBBudT5xqNcQ0D5dk+xycWqKI7n+SAqQXl/Low==
X-Received: by 2002:a05:6402:3584:b0:5e8:bf2b:a5ab with SMTP id 4fb4d7f45d1cf-5ebcd4f3852mr3605725a12.25.1742573837878;
        Fri, 21 Mar 2025 09:17:17 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Milan Djokic <milandjokic1995@gmail.com>,
	Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
Subject: [PATCH v2] xen/riscv: add H extenstion to -march
Date: Fri, 21 Mar 2025 17:17:14 +0100
Message-ID: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

H provides additional instructions and CSRs that control the new stage of
address translation and support hosting a guest OS in virtual S-mode
(VS-mode).

According to the Unprivileged Architecture (version 20240411) specification:
```
Table 74 summarizes the standardized extension names. The table also defines
the canonical order in which extension names must appear in the name string,
with top-to-bottom in table indicating first-to-last in the name string, e.g.,
RV32IMACV is legal, whereas RV32IMAVC is not.
```
According to Table 74, the h extension is placed last in the one-letter
extensions name part of the ISA string.

`h` is a standalone extension based on the patch [1] but it wasn't so
before.
As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
and for that version it will be needed to encode H extensions instructions
explicitly by checking if __risv_h is defined.

[1] https://github.com/gcc-mirror/gcc/commit/0cd11d301013af50a3fae0694c909952e94e20d5#diff-d6f7db0db31bfb339b01bec450f1b905381eb4730cc5ab2b2794971e34647d64R148

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v2:
 - Update the commit message.
 - Use check-extension macros to verify that 'H' extension is available.
   
   Also it works for clang.
   I verified this by compiling Xen with Clang-17 (the minimal necessary
   version for Xen, as RISC-V64 support for Clang starts from 17.0.0:
   f873029386("[BOLT] Add minimal RISC-V 64-bit support")).
   The changes can be found here:
   https://paste.vates.tech/?015af79b1e7413e6#3fsRb4QbjYDPseK7FU8wbaCWbsuu8xhANUmuChCfDoFD
---
 docs/misc/riscv/booting.txt | 4 ++++
 xen/arch/riscv/arch.mk      | 6 ++++--
 xen/arch/riscv/cpufeature.c | 1 +
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/docs/misc/riscv/booting.txt b/docs/misc/riscv/booting.txt
index cb4d79f12c..3a8474a27d 100644
--- a/docs/misc/riscv/booting.txt
+++ b/docs/misc/riscv/booting.txt
@@ -3,6 +3,10 @@ System requirements
 
 The following extensions are expected to be supported by a system on which
 Xen is run:
+- H:
+  Provides additional instructions and CSRs that control the new stage of
+  address translation and support hosting a guest OS in virtual S-mode
+  (VS-mode).
 - Zbb:
   RISC-V doesn't have a CLZ instruction in the base ISA.
   As a consequence, __builtin_ffs() emits a library call to ffs() on GCC,
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 236ea7c8a6..f29ad332c1 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -9,7 +9,6 @@ riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
 riscv-march-$(CONFIG_RISCV_64) := rv64
 riscv-march-y += ima
 riscv-march-$(CONFIG_RISCV_ISA_C) += c
-riscv-march-y += _zicsr_zifencei_zbb
 
 riscv-generic-flags := $(riscv-abi-y) -march=$(subst $(space),,$(riscv-march-y))
 
@@ -25,10 +24,13 @@ $(eval $(1) := \
 	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
 endef
 
+h-insn := "hfence.gvma"
+$(call check-extension,h)
+
 zihintpause-insn := "pause"
 $(call check-extension,zihintpause)
 
-extensions := $(zihintpause)
+extensions := $(h) $(zihintpause) _zicsr_zifencei_zbb
 
 extensions := $(subst $(space),,$(extensions))
 
diff --git a/xen/arch/riscv/cpufeature.c b/xen/arch/riscv/cpufeature.c
index bf09aa1170..5aafab0f49 100644
--- a/xen/arch/riscv/cpufeature.c
+++ b/xen/arch/riscv/cpufeature.c
@@ -146,6 +146,7 @@ static const struct riscv_isa_ext_data __initconst required_extensions[] = {
 #ifdef CONFIG_RISCV_ISA_C
     RISCV_ISA_EXT_DATA(c),
 #endif
+    RISCV_ISA_EXT_DATA(h),
     RISCV_ISA_EXT_DATA(zicsr),
     RISCV_ISA_EXT_DATA(zifencei),
     RISCV_ISA_EXT_DATA(zihintpause),
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 16:20:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 16:20:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924286.1327560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvf6z-0006Aj-Qt; Fri, 21 Mar 2025 16:20:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924286.1327560; Fri, 21 Mar 2025 16:20: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 1tvf6z-0006Ac-Nu; Fri, 21 Mar 2025 16:20:45 +0000
Received: by outflank-mailman (input) for mailman id 924286;
 Fri, 21 Mar 2025 16:20: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=lMoj=WI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tvf6y-0006AW-5j
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 16:20:44 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ee78acc-0670-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 17:20:43 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-ac28e66c0e1so333450966b.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 09:20:41 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb6483fsm178055366b.112.2025.03.21.09.20.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 09:20: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: 6ee78acc-0670-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742574041; x=1743178841; 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=3N8BHOXtSgZFGOoLKVMk6q1cjSMenxrnzi9YbHAVyro=;
        b=MXGPUH0vNhpDoNLhcSUQhTRkmvifYuD1RpNAG5P9kCiXshM1XgQZe+IgXYNt4+2Oa6
         hWC7E/YHnEpIf4W6N/IgHbSPc7gqSlQdXpOu8g85v22cykyMxRbtYzvvo3/AWrb7vRep
         JEHd4fGpxUkli5BS2fbG5HmYL8uFxUw5Zd30q8QFiAKmuBuQ5zTlXDzVf9hLMHNp1eoO
         c44y6prOfOU4HzbOEkqJX2XUuwLit7lrrXohz3RphzsoBpFsgPt5Bdvjv5A++S6nbY+q
         3MNq9O+y4Tz8JZgrkriedW4MTxUUnykdJmEGPdFUDhA8Mf69RmomybCbxCSqjtgeMptc
         f4Vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742574041; x=1743178841;
        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=3N8BHOXtSgZFGOoLKVMk6q1cjSMenxrnzi9YbHAVyro=;
        b=rfKm60yA3cQTvExR1/1VauQUiDKiPrUY+PQs9tvW7+AYyUEfnN5FrGH38g+28Aio0b
         b7oK8xstou74cLxyu3/V0gDVCmnOKHIXM2oM0uRDKnLZdDNxHBYN8Wbc2hjcG10oQVCL
         oEeLjuy3yIkYg1r/DDyObpMjx32lm6GRITRqnGngBh4+kjOYCVMiyj0RVn9xFkhS+s7x
         Fv9xPTgGx7PSVWYXJtcuputFcRxs+CRM0qr7ujafIrIinQGVsvm+VSPwaplarrYJRx0u
         XdGPL2dpAvO5rNPxSBiIYL0mHMbpbpD/cfutmo8owhiSLgEQ6z3hbDZnEUQGapC8zYIH
         /9yw==
X-Forwarded-Encrypted: i=1; AJvYcCUVK625c4p5X+9xHIhBjzZStwZObAs1G9agy8JeRUUZuMkxiLwQvwcJ5OO4M4PwZopb3v1ENfzYVBY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzyN9TbRp7HbKMa4e4jiRpIsE63PzbCRhMNb4QhRk0Yp6+3h5BF
	rgLwDhf6vDUFMCS1ZUY/SfjFAp8IfdmKVM+MByW0RX2HEbYDjzGB
X-Gm-Gg: ASbGncsUeyCNJzIJA6DBWLCBwW3nko8feP/XURB9E2wcSF8lXyJMrwpr4iIU1xKiCz4
	wU6oemcnVWGJD68mZ/bN+bk+PUjYvmDq0EJap/ZrGWBNighyxjigNS3UpOwDvRBpQqsYZ8JNBcz
	w5HL9/J13wDeiSrRY6JZ90FhJtW+78NMDI7K/AKwkKIVo3z2TrpP8X13gePlV0vEKwAOF4ALhap
	kTz+Kgqk5PzU0Rp0u4Yub39AkAkUUbAlpraGOHn2L/53sijpWF0iVGHx1HSOov3O5jKJQ6W/T/w
	3WBtdF7Cwt2bLK6wblDhbMVNBMdUbJN9NaHtrERz6fV6kBkKgqYnq975f9h55Mzfrul1X34AF9i
	t40z8QC0So7zWvzKDXTec
X-Google-Smtp-Source: AGHT+IGjZEWpVywPGgDP/69Vp73vCs7JnDpiv0WsNs8fSpmH6t76Zuqf/WUsJ2qQsdEoG71EQnz1CA==
X-Received: by 2002:a17:907:968b:b0:ac2:912d:5a80 with SMTP id a640c23a62f3a-ac3f20b6561mr368276766b.5.1742574040060;
        Fri, 21 Mar 2025 09:20:40 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------sqElReutriTsddI4K9AZ2cHo"
Message-ID: <ebe15fc1-e3e0-44f7-a5b7-6546df272c50@gmail.com>
Date: Fri, 21 Mar 2025 17:20:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
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: <20250320153241.43809-1-andrew.cooper3@citrix.com>
 <20250320153241.43809-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250320153241.43809-4-andrew.cooper3@citrix.com>

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


On 3/20/25 4:32 PM, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> ---
>   CHANGELOG.md | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 9a5919585d43..4e333e608a96 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>   
>   ### Changed
> + - The minimum toolchain requirements have been increased to either:
> +   - GCC 5.1 and Binutils 2.25, or
> +   - Clang/LLVM 11

I think we have to specify here for which architectures as RISC-V support different minimal versions.


>   
>   ### Added
>    - On x86:
--------------sqElReutriTsddI4K9AZ2cHo
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 3/20/25 4:32 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250320153241.43809-4-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">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: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
CC: Michal Orzel <a class="moz-txt-link-rfc2396E" href="mailto:michal.orzel@amd.com">&lt;michal.orzel@amd.com&gt;</a>
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
CC: Julien Grall <a class="moz-txt-link-rfc2396E" href="mailto:julien@xen.org">&lt;julien@xen.org&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: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a5919585d43..4e333e608a96 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ 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>)
 ## [4.21.0 UNRELEASED](<a class="moz-txt-link-freetext" href="https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging">https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging</a>) - TBD
 
 ### Changed
+ - The minimum toolchain requirements have been increased to either:
+   - GCC 5.1 and Binutils 2.25, or
+   - Clang/LLVM 11</pre>
    </blockquote>
    <pre>I think we have to specify here for which architectures as RISC-V support different minimal versions.</pre>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:20250320153241.43809-4-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">
 
 ### Added
  - On x86:
</pre>
    </blockquote>
  </body>
</html>

--------------sqElReutriTsddI4K9AZ2cHo--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 16:25:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 16:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924301.1327570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvfB3-0006pc-EF; Fri, 21 Mar 2025 16:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924301.1327570; Fri, 21 Mar 2025 16:24: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 1tvfB3-0006pV-B3; Fri, 21 Mar 2025 16:24:57 +0000
Received: by outflank-mailman (input) for mailman id 924301;
 Fri, 21 Mar 2025 16:24: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=lMoj=WI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tvfB2-0006pP-5F
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 16:24:56 +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 0568f5c5-0671-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 17:24:54 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e5c9662131so3302218a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 09:24:54 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebcd0df994sm1548828a12.70.2025.03.21.09.24.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 09:24: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: 0568f5c5-0671-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742574293; x=1743179093; 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=+OQEvtD/NMliw+TTK29g8C9huW7Rn6jdGBTLDZsNsaw=;
        b=cNLfagM8wKiHu8+vWwE+7Pz88yWuTNZnzEIKK6SwnxzitIVsTcrRQgcYBbcnGFyhW5
         fvcPG3yacB+nwM1aok6tTrXaHIAQPOcfFcHmdCz17NHkRFmOd4KKF8WggUuI/Q8/yRe3
         UqO/fvDT7oTNFzO2J9DZM+cYuwk3hGNLl1c1TDzqpx8K8cmSvBvVv1Ko6gZziIxco9DM
         Yzq9NcbNGowZxaWnKvO9oVewBPiFZz+aKqhHHcKT+xeZmUGQAIzpxWp2UXtclmo/hJHk
         Yh4Sl9KwKf2i3sPQhq5uBQC/0VB8BQRsA7mjSMV8AQaOzBYBbAnXzOeQIAsfXa+9lkQa
         eqjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742574293; x=1743179093;
        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=+OQEvtD/NMliw+TTK29g8C9huW7Rn6jdGBTLDZsNsaw=;
        b=m7Y9VCdE1Llldg0qF9c3dwjRDZ9nZo6gRYz9FCeEE1WR0ddDS99VwRDFHcjxpxBRLa
         kM2FeE2EFqcwJG5DOGJhaCwbQjPvr99M6czRNWAE4g1D/CBpZLBSTRDU/ueC7abIQRvm
         rALzbsWZQPtLtTh0qozeV9/QEidVgPuPl3gIV9CwAYpd3OlqwNnovwM+xdWyRgTbAGzN
         YgpcOhb+pYf7eEpU8gBecazTcbLbcqZEqueNShyBI/yy+pn+X1Yb0H8+I5SD/sl2+pT/
         XJOO6A03+18/qbcTzZxB/nfE9jNgAaCJI/AIDc6U6Y8GV1+ASjYTvlmDhHDTxMSKbQ6U
         MONQ==
X-Forwarded-Encrypted: i=1; AJvYcCXvfy1tDjWsVe/5DkXvFNolcw/PIGD6GDFenYfk9joZlShX2RUxRqr3kuh86yhjlRg0QD6+LeMXU+0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9uNA1l8pDag5BRKEa/tTL0SwUSZpve8s7SxyEkMtREqItyRJc
	38QE0V/9iMdCKioNqcIyz1Ziw78TZ7t3MNOEKGyFdHsBDUlIIzUd
X-Gm-Gg: ASbGncsH1mRaBRvmU23U6VtsaWhTQshEtk+DDk4IeIkf+kkOYoegyEjS5JaN3995Kdz
	MwAWZMrSlmgWSYxq/I0DXkMNvGPsJhZp7MCuDDL13bBpwNFoD6ywQIah6+SH1IvOi3G2Q98y6O7
	nRH904DZbr9mueswUShPr+rrTMhBCNzw9lP5+VdP6BoDBRiPO5UUwaOEfStYXZojRxbCcKP8PX3
	6/lPz1kwR/3N+NxHbhofVGjwQTlBtbA0wuPAGlQIrDGJVAj6Rt4P22VD4t5L71qFeHb8vKc9gGp
	8YzmALR3xcZxALGQujpsBL5duMWLoGJwckhtjwZQeQBmTVMg2eewO7FQOWU5UEV+lvaLF0PY7aj
	RMkXNqOw2KypTSyf9UJZZ
X-Google-Smtp-Source: AGHT+IHEeG7re/vgBuNG/VPOTU+SAuYGkz10lZWaZtjzDL6J9BaKBliSOPkya3ixQUO0lGJxYEVSZA==
X-Received: by 2002:a17:906:dc89:b0:ac3:eb29:2aed with SMTP id a640c23a62f3a-ac3f210904emr378724566b.16.1742574293051;
        Fri, 21 Mar 2025 09:24:53 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------5F638A8gnnTXrNuVrdp0epDN"
Message-ID: <c901f573-97dc-4ad0-9974-847fc58a0d44@gmail.com>
Date: Fri, 21 Mar 2025 17:24:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
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: <20250320155908.43885-1-andrew.cooper3@citrix.com>
 <20250320155908.43885-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250320155908.43885-4-andrew.cooper3@citrix.com>

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


On 3/20/25 4:59 PM, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> ---
>   CHANGELOG.md | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 9a5919585d43..4e333e608a96 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>   
>   ### Changed
> + - The minimum toolchain requirements have been increased to either:
> +   - GCC 5.1 and Binutils 2.25, or
> +   - Clang/LLVM 11

I think we want here to specify for which architectures it was done as RISC-V, for example, uses
different versions:
  - GCC 12.2 or later
  - GNU Binutils 2.39 or later
And for clang the version will be 17 as:
   f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
   $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
     llvmorg-17.0.0
   ...
I have some patch to build Xen RISC-V using clang-17 but I haven't sent to upstream yet as I am not
really sure that if we need (or why we need) clang support just from the start.

~ Oleksii

--------------5F638A8gnnTXrNuVrdp0epDN
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 3/20/25 4:59 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250320155908.43885-4-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">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: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
CC: Michal Orzel <a class="moz-txt-link-rfc2396E" href="mailto:michal.orzel@amd.com">&lt;michal.orzel@amd.com&gt;</a>
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
CC: Julien Grall <a class="moz-txt-link-rfc2396E" href="mailto:julien@xen.org">&lt;julien@xen.org&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: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a5919585d43..4e333e608a96 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ 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>)
 ## [4.21.0 UNRELEASED](<a class="moz-txt-link-freetext" href="https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging">https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging</a>) - TBD
 
 ### Changed
+ - The minimum toolchain requirements have been increased to either:
+   - GCC 5.1 and Binutils 2.25, or
+   - Clang/LLVM 11</pre>
    </blockquote>
    <pre>I think we want here to specify for which architectures it was done as RISC-V, for example, uses
different versions:
 - GCC 12.2 or later
 - GNU Binutils 2.39 or later
And for clang the version will be 17 as:
  f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
  $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
    llvmorg-17.0.0
  ...
I have some patch to build Xen RISC-V using clang-17 but I haven't sent to upstream yet as I am not
really sure that if we need (or why we need) clang support just from the start.
</pre>
    <pre>~ Oleksii</pre>
  </body>
</html>

--------------5F638A8gnnTXrNuVrdp0epDN--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 16:28:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 16:28:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924312.1327582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvfEV-0007Ox-UZ; Fri, 21 Mar 2025 16:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924312.1327582; Fri, 21 Mar 2025 16: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 1tvfEV-0007Oq-Q9; Fri, 21 Mar 2025 16:28:31 +0000
Received: by outflank-mailman (input) for mailman id 924312;
 Fri, 21 Mar 2025 16:28: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=lMoj=WI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tvfEU-0007Ok-Eb
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 16:28:30 +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 858309f8-0671-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 17:28:29 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5e673822f76so3550828a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 09:28:29 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebcd0cefdcsm1586358a12.58.2025.03.21.09.28.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 09:28: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: 858309f8-0671-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742574508; x=1743179308; 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=EQVWrsgHFakcCxfbElvHPfVm4H97p6wNtLwEGYOXOac=;
        b=PPvD1/pY2oAjzQMwJauV4WG8TG3IpDhg6nasNbS/ddgKt//AiIX8mf8e4iqhcRi8s7
         3mIbwxOaeT/7g5sheIUhedkiojoMMQZFHwfxnqeZZbNYAD4GgQmd436qXa7QIOtY7GQZ
         H5kAbLoUuvmzCnMMVYlzdIQNfi1iCOyeza13IyBlR5hi9tOQg2vB2UAayiRJiNSfQWe4
         p8GvELZg4nHevYigIThUBDbDTD1h5z0wY0dpWLQFcAyIP7PJPtwzeZL49v0jI5TEKl73
         yGoRq5mq2eivOPy1UD+LPdx7UZw95OQE9ebAqWJWPy9+yyniHVaRCkHeRPYsXxrY8ErQ
         jz1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742574508; x=1743179308;
        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=EQVWrsgHFakcCxfbElvHPfVm4H97p6wNtLwEGYOXOac=;
        b=D54Bibv95rKGd225Lw8Z+I670/+j5gv4yEtnVtJeWYbH9BlWpKXWtjgviDXCnkaY3l
         EWjuAGJAx6WsGq3e08EpLPRedVmljs8daQkxNhLgQthkR66LLDdQo89PQOV7s8xaElLu
         EuX0GQMkukNIeIVfkGiHoLZQh1yTWm4JnU9c6d9y9RvbC/WvktniIkACRWwZNw2cVioH
         kOst8S3gDoBoCUaX/HGDC+FbknobYwohgmoTTY/cI0809yBm3cg0DLIkE1W1LKigcF/Y
         /2X+IyOAKeomY81bVL3XA/k5d8aQwwftN7Ar3jxCQoVXpIVV/0p/3sbbfVgNeDN9Q02w
         3Ezg==
X-Forwarded-Encrypted: i=1; AJvYcCUYK6Fg0KGoP5tW9mM3g93YoGO1IxCmWxbO2KWUqskIYovoRB1bqtG3cbuKHEVR1EPHjzpXhtS5Qsc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwnFBm9Maa8S84WhvOh/K7kOsIhcpO2Y8d14vjDgA/EKyyQ1nAx
	c1NuOJjISuTms9kncO2Nj5rJtVdpVu4Xv9sBM/oqAWtx3vXFaK9M
X-Gm-Gg: ASbGncsD53jhnAf8EFMIsDTjVIDsgFKL0gkSuIS8m3/wXcw7Mull3/NpOQgvy8ryVNc
	OknkEHee12IlDrXcTBnB4+PQ+wINwiNc2O7j36Acde6KO9SeBM0evz9o9Q8afOikqD7cU31kQTE
	TDTdwkOWGetUvuIXa6VNq5AEYMDw/KkQcmjck5SGgn93Dv2cE7qH31kHv3ilk7/NSvf0r4qQTj5
	ITO2DpJcbzOSqeK6b3PtI7iYBymSBiNrskjbByhIL7TTSSPiqUakFhK6ElPp7CEMEISh1s8ydG4
	kmZ11TYrJSMMPJ9LPc1ZTsBak1T7luPwg+UI8Hak8KsES13c3qrjB6nd7QvVrD81xSZQqc6Ilzp
	LWkJjRvvluTjM5+9aeJCB
X-Google-Smtp-Source: AGHT+IGvub3MNvbsnlPd52yDi5syBO5c1Kn6IOqufsUvNuO0ujGvTXHwi/pbmwKtb2xK/2yw603jUw==
X-Received: by 2002:a05:6402:234e:b0:5e7:b092:3114 with SMTP id 4fb4d7f45d1cf-5ebcd4337e2mr3784492a12.9.1742574508188;
        Fri, 21 Mar 2025 09:28:28 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------7NuG1c9dBtYdsZQgG2a7P1vp"
Message-ID: <9558d87f-582f-4e0f-ad2b-bb78e6e53f1e@gmail.com>
Date: Fri, 21 Mar 2025 17:28:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] xen: remove -N from the linker command line
To: Roger Pau Monne <roger.pau@citrix.com>, 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>,
 Shawn Anastasio <sanastasio@raptorengineering.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>
References: <20250318173547.59475-1-roger.pau@citrix.com>
 <20250318173547.59475-4-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250318173547.59475-4-roger.pau@citrix.com>

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


On 3/18/25 6:35 PM, Roger Pau Monne wrote:
> It's unclear why -N is being used in the first place.  It was added by
> commit 40828c657dd0c back in 2004 without any justification.
>
> When building a PE image it's actually detrimental to forcefully set the
> .text section as writable.  The GNU LD man page contains the following
> warning regarding the -N option:
>
>> Note: Although a writable text section is allowed for PE-COFF targets, it
>> does not conform to the format specification published by Microsoft.
> Remove the usage of -N uniformly on all architectures, assuming that the
> addition was simply done as a copy and paste of the original x86 linking
> rune.
>
> Signed-off-by: Roger Pau MonnĂŠ<roger.pau@citrix.com>
> ---
>   xen/arch/arm/Makefile   |  6 +++---
>   xen/arch/ppc/Makefile   |  6 +++---
>   xen/arch/riscv/Makefile |  6 +++---

I think it is enough Jan's Reviewed-by, but just in case:
  Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>   xen/arch/x86/Makefile   | 12 ++++++------
>   4 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 4837ad467a06..129a109d6ec5 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -97,19 +97,19 @@ ifeq ($(CONFIG_ARM_64),y)
>   endif
>   
>   $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
>   	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
>   	$(NM) -pa --format=sysv $(dot-target).0 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).0.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).0.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
>   	    $(dot-target).0.o -o $(dot-target).1
>   	$(NM) -pa --format=sysv $(dot-target).1 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).1.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).1.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
>   	    $(dot-target).1.o -o $@
>   	$(NM) -pa --format=sysv $@ \
>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
> index 655d212f6687..cf27bcebb25a 100644
> --- a/xen/arch/ppc/Makefile
> +++ b/xen/arch/ppc/Makefile
> @@ -12,19 +12,19 @@ $(TARGET): $(TARGET)-syms
>   	cp -f $< $@
>   
>   $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
>   	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
>   	$(NM) -pa --format=sysv $(dot-target).0 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).0.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).0.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
>   	    $(dot-target).0.o -o $(dot-target).1
>   	$(NM) -pa --format=sysv $(dot-target).1 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).1.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).1.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
>   	    $(dot-target).1.o -o $@
>   	$(NM) -pa --format=sysv $@ \
>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index b0c8270a9947..516f5d505ca8 100644
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -16,19 +16,19 @@ $(TARGET): $(TARGET)-syms
>   	$(OBJCOPY) -O binary -S $< $@
>   
>   $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
>   	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
>   	$(NM) -pa --format=sysv $(dot-target).0 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).0.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).0.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
>   	    $(dot-target).0.o -o $(dot-target).1
>   	$(NM) -pa --format=sysv $(dot-target).1 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).1.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).1.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
>   	    $(dot-target).1.o -o $@
>   	$(NM) -pa --format=sysv $@ \
>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index f59c9665fdd0..c2f1dcf301d6 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -139,19 +139,19 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
>   CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
>   
>   $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
>   	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
>   	$(NM) -pa --format=sysv $(dot-target).0 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).0.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).0.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
>   	    $(dot-target).0.o -o $(dot-target).1
>   	$(NM) -pa --format=sysv $(dot-target).1 \
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
>   		> $(dot-target).1.S
>   	$(MAKE) $(build)=$(@D) $(dot-target).1.o
> -	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
>   	    $(orphan-handling-y) $(dot-target).1.o -o $@
>   	$(NM) -pa --format=sysv $@ \
>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> @@ -212,7 +212,7 @@ ifeq ($(CONFIG_DEBUG_INFO),y)
>   	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
>   endif
>   	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
> -	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< $(relocs-dummy) \
> +	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< $(relocs-dummy) \
>   	                $(objtree)/common/symbols-dummy.o $(note_file_option) \
>   	                -o $(dot-target).$(base).0 &&) :
>   	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
> @@ -222,7 +222,7 @@ endif
>   		> $(dot-target).0s.S
>   	$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
>   	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
> -	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< \
> +	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< \
>   	                $(dot-target).0r.o $(dot-target).0s.o $(note_file_option) \
>   	                -o $(dot-target).$(base).1 &&) :
>   	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).1) \
> @@ -231,7 +231,7 @@ endif
>   		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
>   		> $(dot-target).1s.S
>   	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
> -	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds -N $< \
> +	$(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 $@ \
--------------7NuG1c9dBtYdsZQgG2a7P1vp
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 3/18/25 6:35 PM, Roger Pau Monne
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250318173547.59475-4-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">It's unclear why -N is being used in the first place.  It was added by
commit 40828c657dd0c back in 2004 without any justification.

When building a PE image it's actually detrimental to forcefully set the
.text section as writable.  The GNU LD man page contains the following
warning regarding the -N option:

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Note: Although a writable text section is allowed for PE-COFF targets, it
does not conform to the format specification published by Microsoft.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Remove the usage of -N uniformly on all architectures, assuming that the
addition was simply done as a copy and paste of the original x86 linking
rune.

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>
---
 xen/arch/arm/Makefile   |  6 +++---
 xen/arch/ppc/Makefile   |  6 +++---
 xen/arch/riscv/Makefile |  6 +++---</pre>
    </blockquote>
    <pre>I think it is enough Jan's Reviewed-by, but just in case:
 Reviewed-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:20250318173547.59475-4-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">
 xen/arch/x86/Makefile   | 12 ++++++------
 4 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 4837ad467a06..129a109d6ec5 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -97,19 +97,19 @@ ifeq ($(CONFIG_ARM_64),y)
 endif
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; $(build_id_linker) \
 	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 655d212f6687..cf27bcebb25a 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -12,19 +12,19 @@ $(TARGET): $(TARGET)-syms
 	cp -f $&lt; $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; $(build_id_linker) \
 	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index b0c8270a9947..516f5d505ca8 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -16,19 +16,19 @@ $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $&lt; $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; $(build_id_linker) \
 	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f59c9665fdd0..c2f1dcf301d6 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -139,19 +139,19 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; $(build_id_linker) \
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).0.S
 	$(MAKE) $(build)=$(@D) $(dot-target).0.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; $(build_id_linker) \
 	    $(dot-target).0.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
 		&gt; $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $&lt; $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $&lt; $(build_id_linker) \
 	    $(orphan-handling-y) $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
@@ -212,7 +212,7 @@ ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
-	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $&lt; $(relocs-dummy) \
+	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $&lt; $(relocs-dummy) \
 	                $(objtree)/common/symbols-dummy.o $(note_file_option) \
 	                -o $(dot-target).$(base).0 &amp;&amp;) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
@@ -222,7 +222,7 @@ endif
 		&gt; $(dot-target).0s.S
 	$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
-	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $&lt; \
+	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $&lt; \
 	                $(dot-target).0r.o $(dot-target).0s.o $(note_file_option) \
 	                -o $(dot-target).$(base).1 &amp;&amp;) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).1) \
@@ -231,7 +231,7 @@ endif
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		&gt; $(dot-target).1s.S
 	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
-	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds -N $&lt; \
+	$(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 $@ \
</pre>
    </blockquote>
  </body>
</html>

--------------7NuG1c9dBtYdsZQgG2a7P1vp--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 17:14:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 17:14:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924336.1327591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvfwa-0001H4-8J; Fri, 21 Mar 2025 17:14:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924336.1327591; Fri, 21 Mar 2025 17:14: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 1tvfwa-0001Gx-53; Fri, 21 Mar 2025 17:14:04 +0000
Received: by outflank-mailman (input) for mailman id 924336;
 Fri, 21 Mar 2025 17:14: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=1tcq=WI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tvfwY-0001Gr-W1
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 17:14:03 +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 e0ad373b-0677-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 18:13:59 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-391342fc0b5so1926893f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 10:13:59 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9e6445sm2867009f8f.71.2025.03.21.10.13.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 21 Mar 2025 10:13: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: e0ad373b-0677-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742577238; x=1743182038; 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=vk6O7ozv1aYzizJ5s07kHhP05YRSGM/PxJJVxFluRZg=;
        b=Lnj3o+zSwAdy4Z4GeqOtbdoPjATAGTFltfrqmiYUtOjSGIO9KNepe6u6guuDZnnjkb
         uubf81X/J/j725GsmZ2Oy/faU63sDv+Wm6pKk+XvCjkt1EBtDKCAG2BRKsYyPYaMpP1P
         7j5kap80Ghjp/hOu5YfLXQzsK+G03XczG3QrQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742577238; x=1743182038;
        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=vk6O7ozv1aYzizJ5s07kHhP05YRSGM/PxJJVxFluRZg=;
        b=IF2gRs3J4tufbEdmls1YM8EVR7rp7gX373YrtwOiWEwT+zH7ZIw9iu9XpaqPU5RzHS
         Qk9e52RTnoldb5qNDce5Wsqi5d0HF1PJsegCdgVggyNNRRBPnHv3+4MkD+5mv/s06lTR
         wD+dfiVNnGY9LjBw0nNpkPge2nyVXTTMiNpRYeJr1VDvCmceUgwQ6tPkk0Lnd62ZQpLU
         rhs9G+fRAWgCKoOR8jUcxMHDKTvfMxlHHFYOA8PdAga3/g2eBvNUwyGhAN44gq7S23zT
         MCYOAzQlXC5JW1uw/iq1cIgaZn7pjnX3QgZ0Qo/sxjMS1AZ7h+Q7YH2oxCspKxreM3kK
         isyw==
X-Forwarded-Encrypted: i=1; AJvYcCUgSthnlL9Wdj3nmq5+yTN2WrHOFftUpJNihTihr5x7olUqBRVycKTzuoVyW0NBvp+cZ4+9jB5SXK0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxD/HKBi2j/qEWOly0avXn74GmOlo0StyrP5itPKHJE4W8tgENz
	uF+AlINeVycL7XweAtUXASpxPJHuyJtPxyUqNL3FOCZ8TQuBomPqJHZdNjM+hdOlSG3rrqba48j
	G
X-Gm-Gg: ASbGncu0RSlUQDWJzRx1ILhA1OhtWb8D6myJo2nXaSGCyH0B0oD93JrkRLKqi/S7AMm
	NuIGhuMZI/LB5P3BnzG3QCkp+LiicZKjjFzN1NHl8l4rCadPJud7NGSYqeEd3jLV4x+MnjMnJ6o
	GjmvxjzmxMKeapNzMVv8MriwsNZTGVPbpE8H6vDE4uitO1uSXQu32atpV66qOl1eLKV9ssVAVxE
	uKvAk2MviBLzUNoYKavFkGVwRogEBE9nF0DswEL/9QZXm0PEil5H4JweN/rhk/e4HPLGX4hCcFH
	C5EeMwZqCyDupxwkNM6aISXf73ci+lLAYFym+e5xQ8Km3M7UAQKKLtzo1641o2g4GWUBjGbQxLJ
	WmTw5jY3qvQ==
X-Google-Smtp-Source: AGHT+IGmEVkfVRfdcUU2D5zBX/SWwz3pvIeU7A3B7N2Y7ikX2E3PNwaUXX5GHmucS/FGQ0OZ/P0Uag==
X-Received: by 2002:a5d:6483:0:b0:399:6dd9:9f40 with SMTP id ffacd0b85a97d-3997f8f8c67mr4302104f8f.9.1742577238408;
        Fri, 21 Mar 2025 10:13:58 -0700 (PDT)
Message-ID: <4777d8e9-b4d9-45d2-82be-beb1af82283f@citrix.com>
Date: Fri, 21 Mar 2025 17:13:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] x86/domctl: Stop using XLAT_cpu_user_regs()
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-6-andrew.cooper3@citrix.com>
 <1cd10c63-4e86-45fa-b4b3-cb750ad9f39b@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: <1cd10c63-4e86-45fa-b4b3-cb750ad9f39b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/03/2025 11:42 am, Jan Beulich wrote:
> On 11.03.2025 22:10, Andrew Cooper wrote:
>> --- a/xen/include/xlat.lst
>> +++ b/xen/include/xlat.lst
>> @@ -34,8 +34,6 @@
>>  ?	pmu_intel_ctxt			arch-x86/pmu.h
>>  ?	pmu_regs			arch-x86/pmu.h
>>  
>> -!	cpu_user_regs			arch-x86/xen-@arch@.h
> Maybe worthwhile to keep the line, just switching ! to #, in order to
> indicate the type isn't accidentally missing here?

Is it really worth it?Â  That's a new semantic to an opaque
domain-specific-language, and this file only ever gets looked at when
something is broken.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 18:32:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 18:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924375.1327600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvhAi-0000Lm-Lx; Fri, 21 Mar 2025 18:32:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924375.1327600; Fri, 21 Mar 2025 18:32: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 1tvhAi-0000Lf-Iz; Fri, 21 Mar 2025 18:32:44 +0000
Received: by outflank-mailman (input) for mailman id 924375;
 Fri, 21 Mar 2025 18:32: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=2CaU=WI=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tvhAh-0000Km-2k
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 18:32:43 +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 de3066b6-0682-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 19:32:40 +0100 (CET)
Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com
 [209.85.214.197]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-342-oxMLxNEKOAOUat-bxS_r3Q-1; Fri, 21 Mar 2025 14:32:36 -0400
Received: by mail-pl1-f197.google.com with SMTP id
 d9443c01a7336-2265a09dbfcso57935775ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 11:32:35 -0700 (PDT)
Received: from redhat.com ([195.133.138.172]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-7390618e08esm2305706b3a.169.2025.03.21.11.32.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 21 Mar 2025 11:32: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: de3066b6-0682-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1742581959;
	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=x6Pr4yNEy0Ee63hyTGb7eb9xdvxKn8eEKjzFLCkdY+o=;
	b=cqtKHcL0PW4P4bDHZj5OiSm7JNbeNB6MWAwmK6GpRxCkpIMrIBM3eJi7EMXcmlPzo/oAUK
	us372Kahttso9hSoZ7Tz7jLwrzANeoiBVgwQFhFkBQRTrKcbUyQE5uK4JIvz2b5f49WU2T
	eMciUF7mEi1w4jQg1bM19nFqRis7Stw=
X-MC-Unique: oxMLxNEKOAOUat-bxS_r3Q-1
X-Mimecast-MFC-AGG-ID: oxMLxNEKOAOUat-bxS_r3Q_1742581955
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742581955; x=1743186755;
        h=in-reply-to: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=x6Pr4yNEy0Ee63hyTGb7eb9xdvxKn8eEKjzFLCkdY+o=;
        b=vbJcE5/E+EPvoSnMW+6cgzjzjybKu1UJRHVV7pFgK9iWRNlcxIU+lGQ4Xjyy1iy5Cc
         bHyD46OWi/Q4fi+UZMmhyl4NK/8h/s+hjUmwKP90+qhxKBVM7fg3ikLvJ9TYFDdOSnp7
         Xd1dBNRqq1S/HqsxCm/r61TnZ2s/rnDCmCdcEHRJBZtznVpVUtE5of+W3KX6lRoqDzm8
         scdvgO0mTj/SkzioHMNIDhGadm4po2b9SvKYl4oddPEugD8y7Jlno0OKkvBXPSfp91yl
         cAgC6/KUYneBv7R85XMKz5Y1S2vtgnyOapg/VR88PibSkuWes/+Ay6amBDLcXFuZCQSw
         6lfg==
X-Forwarded-Encrypted: i=1; AJvYcCXwcbF8PA0H0167FW18wQCoYxhc6ij/w8BCt3WOzE4HvMyjzV9T8o91HrYk3IzahK2TXF1+ziDyCcs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxE9rMjLmzSBPbJG77XkVQ0WLWMVrzFmFZjxatvmX8UXdtOsOpB
	WcW5NgMN2fKcM8yH5BBpX7ZPPijiVV2pBahhwRsjuSs9gFkT/Tza2xytbHoLLKHJHEHPNW8xX/q
	VpocwOFd15k6bsUYIMqzFmhScAsvDdwscNpOFiCx5CE4vKHP/0s/kMpRkgESdX19P
X-Gm-Gg: ASbGncsFPG984D6tfRVUJw/3gPim7lo7IKorEmkEX+7dNVzSqCugwC/nBUYuOSTpWF2
	f0Iqrpq+mobTTJ/U6n5wSfOZULp2ToE4UJmfi9ZhrhHHuLrLKkHKKoxn/64UeL+dr9TkxVB/b4r
	OlLSf/b1B4mDIpoV93zPX2cDCmMYcK/MOisSZrhQSGVoPqdqdaFBV0U58/nwhL6vvHOcRx4i6cM
	7NaDRD4/xBYwWZmqVCt4EuOkPmoHBI9cU73wzCddCx1rrL0bZ3M+9l4/BHortBstrQ9CWa7sWv4
	+3CPmwjm
X-Received: by 2002:a05:6a00:3d49:b0:736:592e:795f with SMTP id d2e1a72fcca58-7390598e637mr6094586b3a.9.1742581954600;
        Fri, 21 Mar 2025 11:32:34 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHgvI4Fq7PhyVG2/6UfPhY7tEePZCtkHS/CCaoQm+lEN40XhsJxvkXhRtIdT7ONaz8I8Nvvbw==
X-Received: by 2002:a05:6a00:3d49:b0:736:592e:795f with SMTP id d2e1a72fcca58-7390598e637mr6094532b3a.9.1742581953971;
        Fri, 21 Mar 2025 11:32:33 -0700 (PDT)
Date: Fri, 21 Mar 2025 14:32:24 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>,
	mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	boris.ostrovsky@oracle.com, jgross@suse.com,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	heikki.krogerus@linux.intel.com, peterz@infradead.org,
	benh@kernel.crashing.org, grant.likely@arm.com, paulus@samba.org,
	mingo@kernel.org, sstabellini@kernel.org,
	Saravana Kannan <saravanak@google.com>, xypron.glpk@gmx.de,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	xen-devel@lists.xenproject.org, Thierry Reding <treding@nvidia.com>,
	linux-devicetree <devicetree@vger.kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	lkml <linux-kernel@vger.kernel.org>,
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
	Jim Quinlan <james.quinlan@broadcom.com>,
	Robin Murphy <robin.murphy@arm.com>, hch@infradead.org,
	Jason Wang <jasowang@redhat.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Eugenio =?iso-8859-1?Q?P=E9rez?= <eperezma@redhat.com>,
	virtualization@lists.linux.dev, graf@amazon.de
Subject: Re: Using Restricted DMA for virtio-pci
Message-ID: <20250321142947-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
MIME-Version: 1.0
In-Reply-To: <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: W85IP__Q0jVmKvZzH9c1MNE_TfJQQIOmxkIf1XbENZo_1742581955
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Fri, Mar 21, 2025 at 03:38:10PM +0000, David Woodhouse wrote:
> On Tue, 2021-02-09 at 14:21 +0800, Claire Chang wrote:
> > This series implements mitigations for lack of DMA access control on
> > systems without an IOMMU, which could result in the DMA accessing the
> > system memory at unexpected times and/or unexpected addresses, possibly
> > leading to data leakage or corruption.
> 
> Replying to an ancient (2021) thread which has already been merged...
> 
> I'd like to be able to use this facility for virtio devices.
> 
> Virtio already has a complicated relationship with the DMA API, because
> there were a bunch of early VMM bugs where the virtio devices where
> magically exempted from IOMMU protection, but the VMM lied to the guest
> and claimed they weren't.
> 
> With the advent of confidential computing, and the VMM (or whatever's
> emulating the virtio device) not being *allowed* to arbitrarily access
> all of the guest's memory, the DMA API becomes necessary again.
> 
> Either a virtual IOMMU needs to determine which guest memory the VMM
> may access, or the DMA API is wrappers around operations which
> share/unshare (or unencrypt/encrypt) the memory in question.
> 
> All of which is complicated and slow, if we're looking at a minimal
> privileged hypervisor stub like pKVM which enforces the lack of guest
> memory access from VMM.
> 
> I'm thinking of defining a new type of virtio-pci device which cannot
> do DMA to arbitrary system memory. Instead it has an additional memory
> BAR which is used as a SWIOTLB for bounce buffering.
> 
> The driver for it would look much like the existing virtio-pci device
> except that it would register the restricted-dma region first (and thus
> the swiotlb dma_ops), and then just go through the rest of the setup
> like any other virtio device.
> 
> That seems like it ought to be fairly simple, and seems like a
> reasonable way to allow an untrusted VMM to provide virtio devices with
> restricted DMA access.
> 
> While I start actually doing the typing... does anyone want to start
> yelling at me now? Christoph? mst? :)


I don't mind as such (though I don't understand completely), but since
this is changing the device anyway, I am a bit confused why you can't
just set the VIRTIO_F_ACCESS_PLATFORM feature bit?  This forces DMA API
which will DTRT for you, will it not?

-- 
MST



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 18:42:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 18:42:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924387.1327610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvhKX-0002mf-Ip; Fri, 21 Mar 2025 18:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924387.1327610; Fri, 21 Mar 2025 18:42: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 1tvhKX-0002mY-Fx; Fri, 21 Mar 2025 18:42:53 +0000
Received: by outflank-mailman (input) for mailman id 924387;
 Fri, 21 Mar 2025 18:42: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=jx71=WI=desiato.srs.infradead.org=BATV+37f7f3dffb3293675570+7880+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tvhKT-0002mS-RS
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 18:42:51 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 488d758d-0684-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 19:42:47 +0100 (CET)
Received: from [172.31.31.145] (helo=u09cd745991455d.ant.amazon.com)
 by desiato.infradead.org with esmtpsa (Exim 4.98 #2 (Red Hat Linux))
 id 1tvhK0-00000004VRm-4BjR; Fri, 21 Mar 2025 18:42: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: 488d758d-0684-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; 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=6p9/xCFwuiZLdlnx3CHna7SmFJBXvkdGfKbhrFQIG0k=; b=ZM2XwXtAnlCfsKo0XNxstP2jSG
	U865vPXju9/sBv+RnSL1oLUhFaTt2GFwko2fe13ZTxN5XgbKStRgAAR78S0c8riUBjLDHxGGFTN5Q
	IQA4Yi+4+rZ1VNApBOPqo7TyG2AJozAp9crvsFlBasJmN1P5+A7mtenETUUxqwfBL+zH+cZmbIYLr
	z7cSt9GR1dDsUHs+EJK9M+UxkQ6+mlITOdRL0A3LxKgHPzuJ5TZVQYJ/rn2uCfWHQp3OCwzyzp8bt
	Ww29Q/jlsLm3WtWuqretBM4DoH7lfYgqvIceQ+Kh7p6DoVlSSAYtY5sYDJJFhZ6ik+JXg10G+yCzE
	Wt0j8Uxw==;
Message-ID: <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
Subject: Re: Using Restricted DMA for virtio-pci
From: David Woodhouse <dwmw2@infradead.org>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>, 
 mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>, Will Deacon
 <will@kernel.org>,  Frank Rowand <frowand.list@gmail.com>, Konrad Rzeszutek
 Wilk <konrad.wilk@oracle.com>,  boris.ostrovsky@oracle.com,
 jgross@suse.com, Christoph Hellwig <hch@lst.de>,  Marek Szyprowski
 <m.szyprowski@samsung.com>, heikki.krogerus@linux.intel.com,
 peterz@infradead.org,  benh@kernel.crashing.org, grant.likely@arm.com,
 paulus@samba.org, mingo@kernel.org,  sstabellini@kernel.org, Saravana
 Kannan <saravanak@google.com>,  xypron.glpk@gmx.de, "Rafael J . Wysocki"
 <rafael.j.wysocki@intel.com>,  Bartosz Golaszewski
 <bgolaszewski@baylibre.com>, xen-devel@lists.xenproject.org, Thierry Reding
 <treding@nvidia.com>,  linux-devicetree <devicetree@vger.kernel.org>,
 linuxppc-dev@lists.ozlabs.org, Nicolas Boichat <drinkcat@chromium.org>, 
 Dan Williams <dan.j.williams@intel.com>, Andy Shevchenko
 <andriy.shevchenko@linux.intel.com>, Greg KH <gregkh@linuxfoundation.org>,
 Randy Dunlap <rdunlap@infradead.org>, lkml <linux-kernel@vger.kernel.org>,
 "list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>, Jim
 Quinlan <james.quinlan@broadcom.com>,  Robin Murphy <robin.murphy@arm.com>,
 hch@infradead.org, Jason Wang <jasowang@redhat.com>, Xuan Zhuo
 <xuanzhuo@linux.alibaba.com>, Eugenio =?ISO-8859-1?Q?P=E9rez?=
 <eperezma@redhat.com>, virtualization@lists.linux.dev, graf@amazon.de
Date: Fri, 21 Mar 2025 18:42:20 +0000
In-Reply-To: <20250321142947-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
	 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
	 <20250321142947-mutt-send-email-mst@kernel.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-9um69C3QOUe8WBwkTdXa"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2025-03-21 at 14:32 -0400, Michael S. Tsirkin wrote:
> On Fri, Mar 21, 2025 at 03:38:10PM +0000, David Woodhouse wrote:
> > On Tue, 2021-02-09 at 14:21 +0800, Claire Chang wrote:
> > > This series implements mitigations for lack of DMA access control on
> > > systems without an IOMMU, which could result in the DMA accessing the
> > > system memory at unexpected times and/or unexpected addresses, possib=
ly
> > > leading to data leakage or corruption.
> >=20
> > Replying to an ancient (2021) thread which has already been merged...
> >=20
> > I'd like to be able to use this facility for virtio devices.
> >=20
> > Virtio already has a complicated relationship with the DMA API, because
> > there were a bunch of early VMM bugs where the virtio devices where
> > magically exempted from IOMMU protection, but the VMM lied to the guest
> > and claimed they weren't.
> >=20
> > With the advent of confidential computing, and the VMM (or whatever's
> > emulating the virtio device) not being *allowed* to arbitrarily access
> > all of the guest's memory, the DMA API becomes necessary again.
> >=20
> > Either a virtual IOMMU needs to determine which guest memory the VMM
> > may access, or the DMA API is wrappers around operations which
> > share/unshare (or unencrypt/encrypt) the memory in question.
> >=20
> > All of which is complicated and slow, if we're looking at a minimal
> > privileged hypervisor stub like pKVM which enforces the lack of guest
> > memory access from VMM.
> >=20
> > I'm thinking of defining a new type of virtio-pci device which cannot
> > do DMA to arbitrary system memory. Instead it has an additional memory
> > BAR which is used as a SWIOTLB for bounce buffering.
> >=20
> > The driver for it would look much like the existing virtio-pci device
> > except that it would register the restricted-dma region first (and thus
> > the swiotlb dma_ops), and then just go through the rest of the setup
> > like any other virtio device.
> >=20
> > That seems like it ought to be fairly simple, and seems like a
> > reasonable way to allow an untrusted VMM to provide virtio devices with
> > restricted DMA access.
> >=20
> > While I start actually doing the typing... does anyone want to start
> > yelling at me now? Christoph? mst? :)
>=20
>=20
> I don't mind as such (though I don't understand completely), but since
> this is changing the device anyway, I am a bit confused why you can't
> just set the VIRTIO_F_ACCESS_PLATFORM feature bit?=C2=A0 This forces DMA =
API
> which will DTRT for you, will it not?

That would be necessary but not sufficient. The question is *what* does
the DMA API do?

For a real passthrough PCI device, perhaps we'd have a vIOMMU exposed
to the guest so that it can do real protection with two-stage page
tables (IOVA=E2=86=92GPA under control of the guest, GPA=E2=86=92HPA under =
control of
the hypervisor). For that to work in the pKVM model though, you'd need
pKVM to be talking the guest's stage1 I/O page tables to see if a given
access from the VMM ought to be permitted?

Or for confidential guests there could be DMA ops which are an
'enlightenment'; a hypercall into pKVM to share/unshare pages so that
the VMM can actually access them, or SEV-SNP guests might mark pages
unencrypted to have the same effect with hardware protection.

Doing any of those dynamically to allow the VMM to access buffers in
arbitrary guest memory (when it wouldn't normally have access to
arbitrary guest memory) is complex and doesn't perform very well. And
exposes a full 4KiB page for any byte that needs to be made available.

Thus the idea of having a fixed range of memory to use for a SWIOTLB,
which is fairly much what the restricted DMA setup is all about.

We're just proposing that we build it in to a virtio-pci device model,
which automatically uses the extra memory BAR instead of the
restricted-dma-pool DT node.

It's basically just allowing us to expose through PCI, what I believe
we can already do for virtio in DT.

--=-9um69C3QOUe8WBwkTdXa
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDMyMTE4NDIy
MFowLwYJKoZIhvcNAQkEMSIEIGcyYTz0b1vuiH1kWWxvYDxf5DNV/dQ7A75n0iBOd8eNMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIARn19baiF2SH2
Qb9UeIoovp68Lz+c9QM1LVM2qfpB5Vd0Mo6gccUM+8DiDyJMxYXZYd+Ib/AHhooSjCJ7Vd+x1jd/
eE2BveuRvzQsn0gH191zw8awf3fPMrbOk3llDZYRVLcacd7BN4nPbidbrJoba0bd+Jae2M/3XhTl
3HaAW+ipsj4grnoF8FHOYmjFh1S1ck7PIW6ktorhKEm172YFUTt2cX/R6v+CBBdCOxLtolCNEAFW
hXXC+4TAFIm4oOHe739VwqO5ZmeggeWlRL9obSOFMKFoSKP0oE/Uad1ix97JVg0Q1rtKNONJOr5B
XSKJ94cbE6IidFlzqYP+yCv4MnkcV5FAI3Rqbsn4lHPBQDkE455yrBp0B4p0D4pVh2if7/EDc1rm
UBXYoQaZCOeKwmmI6oP1OSRG1NVAy6ocmiVmdMoSERlcn4xl91AdRWa4VYi8zku3lBXBMc+P3015
DJUkXfrC+CPC+xcubKPvGF8gEOm0eQquHCBVzBnkp+BFkoAYyjAwZ44Qj2OCSacwvkEnqVmFO3BZ
HopfPoXAIL3bQEYPdQMQ0xN945VVQvkv0cAfQShC7INrjhQSVFFN5FkLEXhcdDDEYdajiVk4KP3I
Q3tytvpDIY7DQy7Ps1tS5IPFaTquT8yBCWN7DBonmrigS/kpax+uh53Ph5AVDcQAAAAAAAA=


--=-9um69C3QOUe8WBwkTdXa--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 21:15:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 21:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924470.1327636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvjhl-00084q-DZ; Fri, 21 Mar 2025 21:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924470.1327636; Fri, 21 Mar 2025 21:15: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 1tvjhl-00084j-Ay; Fri, 21 Mar 2025 21:15:01 +0000
Received: by outflank-mailman (input) for mailman id 924470;
 Fri, 21 Mar 2025 21:15: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvjhk-00084d-I4
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 21:15:00 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88f42ad1-0699-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 22:14:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id D78C55C2C81;
 Fri, 21 Mar 2025 21:12:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C4D33C4CEE3;
 Fri, 21 Mar 2025 21:14:52 +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: 88f42ad1-0699-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742591693;
	bh=nry6RGOj3t+aA0Ynv6iUcP6rOyy3pCCnM3x8AElWick=;
	h=Date:From:To:cc:Subject:From;
	b=OLD3B88CRZea6+z8T2IFhLbWFV3C/LHAY4nNYpuhUMl+BAmU64nEwYPZXjl9LfsMH
	 N4ooz8D5lJbTx1HrsoIyUyhb8xKOXCCbJEAj+bGFD/ym/JzKCJ4DC28k+EIP6QGdfL
	 cy1aWO82UK4i53oy3dhw2zeaNeO8CFFegBxnWEILtKuQikzlDlW2K1ANAtdGAJMOqO
	 /1BR0pBBtphPhgUKfy4orvxrhs0AHh/M6zsso9BpL9h+S6PcS23fTN+STVM4UTlyu1
	 H0LjyJ8FM4c+B7oeLQqNovw6usWrw13hbRLvIW81hU/12awTzEYyQ/3XT3dvr7JsjP
	 K69FzfjWxHj7Q==
Date: Fri, 21 Mar 2025 14:14:51 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: 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/efi: merge neighboring banks
Message-ID: <alpine.DEB.2.22.394.2503211403040.2325679@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

When booting from U-Boot bootefi, there can be a high number of
neighboring RAM banks. See for example:

(XEN) RAM: 0000000000000000 - 0000000000bfffff
(XEN) RAM: 0000000000c00000 - 0000000000c00fff
(XEN) RAM: 0000000000c01000 - 0000000000dfffff
(XEN) RAM: 0000000000e00000 - 000000000279dfff
(XEN) RAM: 000000000279e000 - 00000000029fffff
(XEN) RAM: 0000000002a00000 - 0000000008379fff
(XEN) RAM: 000000000837a000 - 00000000083fffff
(XEN) RAM: 0000000008400000 - 0000000008518fff
(XEN) RAM: 0000000008519000 - 00000000085fffff
(XEN) RAM: 0000000008600000 - 0000000008613fff
(XEN) RAM: 0000000008614000 - 00000000097fffff
(XEN) RAM: 0000000009800000 - 00000000098a7fff
(XEN) RAM: 00000000098a8000 - 0000000009dfffff
(XEN) RAM: 0000000009e00000 - 0000000009ea7fff
(XEN) RAM: 0000000009ea8000 - 000000001fffffff
(XEN) RAM: 0000000020000000 - 000000002007ffff
(XEN) RAM: 0000000020080000 - 0000000077b17fff
(XEN) RAM: 0000000077b19000 - 0000000077b2bfff
(XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
(XEN) RAM: 0000000077c8e000 - 0000000077c91fff
(XEN) RAM: 0000000077ca7000 - 0000000077caafff
(XEN) RAM: 0000000077cac000 - 0000000077caefff
(XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
(XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
(XEN) RAM: 0000000077cd8000 - 000000007bd07fff
(XEN) RAM: 000000007bd09000 - 000000007fd5ffff
(XEN) RAM: 000000007fd70000 - 000000007fefffff
(XEN) RAM: 0000000800000000 - 000000087fffffff

It is undesirable to keep them separate, as this approach consumes more
resources.

Additionally, Xen does not currently support boot modules that span
multiple banks: at least one of the regions get freed twice. The first
time from setup_mm->populate_boot_allocator, then again from
discard_initial_modules->fw_unreserved_regions. With a high number of
banks, it can be difficult to arrange the boot modules in a way that
avoids spanning across multiple banks.

This small patch merges neighboring regions, to make dealing with them
more efficient, and to make it easier to load boot modules. The patch
also takes the opportunity to check and discard duplicates.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index a80a5a7ab3..f6f23ed5b2 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -163,6 +163,20 @@ static bool __init meminfo_add_bank(struct membanks *mem,
     struct membank *bank;
     paddr_t start = desc->PhysicalStart;
     paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
+    int j;
+
+    for ( j = 0; j < mem->nr_banks; j++ )
+    {
+        if ( mem->bank[j].start == start && mem->bank[j].size == size )
+        {
+            return true;
+        }
+        else if ( mem->bank[j].start + mem->bank[j].size == start )
+        {
+            mem->bank[j].size += size;
+            return true;
+        }
+    }
 
     if ( mem->nr_banks >= mem->max_banks )
         return false;


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 21:30:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 21:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924482.1327646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvjwa-00038U-LY; Fri, 21 Mar 2025 21:30:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924482.1327646; Fri, 21 Mar 2025 21:30: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 1tvjwa-00038N-J2; Fri, 21 Mar 2025 21:30:20 +0000
Received: by outflank-mailman (input) for mailman id 924482;
 Fri, 21 Mar 2025 21:30: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvjwY-00038H-TZ
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 21:30:18 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ade95860-069b-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 22:30:16 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id DAC845C60F9;
 Fri, 21 Mar 2025 21:27:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64694C4CEE3;
 Fri, 21 Mar 2025 21:30:13 +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: ade95860-069b-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742592614;
	bh=tJgY9P75t6In3qTqoWRUAmb9g3c291mpcCz/c3f8oBs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qThT3BxTMuO5uRF1AwnJ6ZKuVFT+m0u4qmR+Wh3tN4PNIqTY9PlJ6xtqrQzv/ZbKC
	 ezBaBfwlHfvSFNpAoWY3gfxmUq2Hj8ZlqUyTmYIOTO1IZ3AZ1hqpr2yhBFkF4/YnpG
	 R50ovDg/Ud7rhGV+5zqWawDkxVXSpzhDRprbtwXCwV9YhhxaX7EE30hASBVU9Aqhwv
	 Wg8Rr4I1/g3K41FwcjEWmP4wWpeMs785swFroJRhjWIo5plW4rZLTIpp5uDnh6TwkE
	 +dnirFusfLKChjFkaayn3aHJgYpe0Tf2LInJu8kHPmGg1SG/co0LTVOsre3E1uXcnE
	 j0I+TVUo5Jnyw==
Date: Fri, 21 Mar 2025 14:30:12 -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 <sstabellini@kernel.org>, andrew.cooper3@citrix.com, 
    michal.orzel@amd.com, julien@xen.org, roger.pau@citrix.com, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: add kconfig for event_fifo
In-Reply-To: <646ad800-c01d-4971-ad89-842745a21f2f@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503211425250.2325679@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2503181637100.2000798@ubuntu-linux-20-04-desktop> <646ad800-c01d-4971-ad89-842745a21f2f@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 20 Mar 2025, Jan Beulich wrote:
> On 19.03.2025 00:40, Stefano Stabellini wrote:
> > Evtchn fifos are not needed on smaller systems; the older interface is
> > lightweight and sufficient. Make it possible to disable evtchn fifo.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Let me ask a more general question, before considering whether to ack:
> When kconfig was introduced into Xen, the expectation was (iirc) that
> we wouldn't grow its use to the fine grained granularity that it has
> been having in Linux. The more build-time controls we have, the harder
> it is to know whether a certain piece of code was actually included in
> a build someone, say, reports a problem with. Are we knowingly moving
> away from that earlier position? evtchn_fifo.c isn't actually that
> much code to exclude, after all ...


I think we need to be more flexible with build-time controls. The extent
to which we should be flexible is an interesting discussion to have.

However, this patch is not for code size. This code causes unnecessary
runtime anonymous memory allocations, which are highly undesirable. In
fact, it is the primary source of such allocations. Additionally, it
exposes an extra interface to the guest, which is also undesirable
unless necessary.

In other words, the issue is not the size of the code, but its impact.


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:10:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:10:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924526.1327673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvkZ8-00047r-Su; Fri, 21 Mar 2025 22:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924526.1327673; Fri, 21 Mar 2025 22: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 1tvkZ8-00047k-PO; Fri, 21 Mar 2025 22:10:10 +0000
Received: by outflank-mailman (input) for mailman id 924526;
 Fri, 21 Mar 2025 22:10: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvkZ7-00047Y-IC
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:10:09 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f575880-06a1-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 23:10:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 4493A5C6713;
 Fri, 21 Mar 2025 22:07:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C9ADDC4CEE3;
 Fri, 21 Mar 2025 22:10:04 +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: 3f575880-06a1-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742595005;
	bh=cPMkIvRM2PSLzGj0ZEqOHawj+Ez9mRQLGJkv/s0wCmE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kIrpVBv5Vd0qpVBN+Csr+/opoGu6yVeCvlhrDfQCH0OtYealyaaQG3t8Ce8keMoaA
	 OKdGdHrW/qtTSqGKO2TfeSj7gUMd9W4ANSAoLHiTd6mI02eIWeb6l87fFSiSZwsqoY
	 HyPPrGdtes3J8t7/7ha6nURnYxZ0K3bPl0OzHqbGWVc2SUmtfHd6Nbriz8IEpsCRcE
	 H7ZbkyTLgdCZwZa1Q61E5oAlzpxcTe6fCtg7vje05FU5OkXihUXIDSrOUYfcUCI+bg
	 02iqthKs5fjUmWzeKn+kpiXjzTBmsb+T1w9ofoY4/kWWpwZi2YiiiqVe6dQv6nNiZx
	 4XnylH7VW1omA==
Date: Fri, 21 Mar 2025 15:10:03 -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>, 
    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>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 2/3] Xen: Update compiler checks
In-Reply-To: <20250320155908.43885-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503211509491.2325679@ubuntu-linux-20-04-desktop>
References: <20250320155908.43885-1-andrew.cooper3@citrix.com> <20250320155908.43885-3-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-363378920-1742595005=:2325679"

  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-363378920-1742595005=:2325679
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 20 Mar 2025, Andrew Cooper wrote:
> We didn't really have a Clang check before, so add one while adjusting the GCC
> check.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> ---
> 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>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/include/xen/compiler.h | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
> index b118e4ba62eb..cc955be32664 100644
> --- a/xen/include/xen/compiler.h
> +++ b/xen/include/xen/compiler.h
> @@ -1,18 +1,10 @@
>  #ifndef __LINUX_COMPILER_H
>  #define __LINUX_COMPILER_H
>  
> -#if !defined(__GNUC__) || (__GNUC__ < 4)
> -#error Sorry, your compiler is too old/not recognized.
> -#elif CONFIG_CC_IS_GCC
> -# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
> -#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
> -# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
> -/*
> - * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
> - * https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
> - */
> -#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
> -# endif
> +#if CONFIG_CC_IS_GCC && CONFIG_GCC_VERSION < 50100
> +# error Sorry, your version of GCC is too old - please use 5.1 or newer
> +#elif CONFIG_CC_IS_CLANG && CONFIG_CLANG_VERSION < 110000
> +# error Sorry, your version of Clang is too old - please use 11 or newer
>  #endif
>  
>  #define barrier()     __asm__ __volatile__("": : :"memory")
> -- 
> 2.39.5
> 
--8323329-363378920-1742595005=:2325679--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:12:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924552.1327683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvkbk-0005fY-81; Fri, 21 Mar 2025 22:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924552.1327683; Fri, 21 Mar 2025 22:12: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 1tvkbk-0005fR-5P; Fri, 21 Mar 2025 22:12:52 +0000
Received: by outflank-mailman (input) for mailman id 924552;
 Fri, 21 Mar 2025 22:12: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvkbi-0005fL-Ka
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:12:50 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f791812-06a1-11f0-9ea1-5ba50f476ded;
 Fri, 21 Mar 2025 23:12:49 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 107D85C0285;
 Fri, 21 Mar 2025 22:10:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3634C4CEE3;
 Fri, 21 Mar 2025 22:12: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: 9f791812-06a1-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742595167;
	bh=b5wxEeGtNWN3tfdcpmVduxhL32dMjUR1mZpaX15nS+U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fq1jQ4cranFfj8lnPudwNH5lDC0qk/FvO6fYOLWlczK+/lXTUGp7GLalstWot8EMF
	 96c8JyMSZaqGBlErWYTStL7Rc8sh8vYj2QWDYp5+Lk68BW5gSQFGlqxXd58WoI2k1C
	 4K0oXNSHceDnIiDbarSrISuZbyX52N/dThuGKoOEQs5AP1bLK79o0tiiqD1TfFA9Jj
	 RBUw3FBrOEf6UvOE4U3YKPVbDiE8KP/9mMeCzKwf+ujqsAG8y0OPaxeeouxFX4D3BN
	 vZikH6FS+0qZ7ljE6HSbzuDe5vk1xABtli1/GRIxaEWQvsagYpvH83UeILxxUSrAnz
	 XD3KSMAV2Fk7g==
Date: Fri, 21 Mar 2025 15:12:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH v2 1/4] automation/cirrus-ci: use matrix keyword to
 generate per-version build tasks
In-Reply-To: <20250320152020.88526-2-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503211512360.2325679@ubuntu-linux-20-04-desktop>
References: <20250320152020.88526-1-roger.pau@citrix.com> <20250320152020.88526-2-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-247471004-1742595167=:2325679"

  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-247471004-1742595167=:2325679
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 20 Mar 2025, Roger Pau Monne wrote:
> Move the current logic to use the matrix keyword to generate a task for
> each version of FreeBSD we want to build Xen on.  The matrix keyword
> however cannot be used in YAML aliases, so it needs to be explicitly used
> inside of each task, which creates a bit of duplication.  At least abstract
> the FreeBSD minor version numbers to avoid repetition of image names.
> 
> Note that the full build uses matrix over an env variable instead of using
> it directly in image_family.  This is so that the alias can also be set
> based on the FreeBSD version, in preparation for adding further tasks that
> will depend on the full build having finished.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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


> ---
> Changes since v1:
>  - Use FreeBSD_{LEGACY,PRODUCTION,CURRENT} to refer to development release,
>    current release, and current release - 1.
> ---
>  .cirrus.yml | 78 +++++++++++++++++++++++++----------------------------
>  1 file changed, 37 insertions(+), 41 deletions(-)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 490f214f0460..95d2d2d3db2e 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -1,13 +1,9 @@
>  # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
> -freebsd_13: &FREEBSD_13
> -  freebsd_instance:
> -    image_family: freebsd-13-5
> -freebsd_14: &FREEBSD_14
> -  freebsd_instance:
> -    image_family: freebsd-14-2
> -freebsd_15: &FREEBSD_15
> -  freebsd_instance:
> -    image_family: freebsd-15-0-snap
> +freebsd_versions: &FREEBSD_VERSIONS
> +  env:
> +    FREEBSD_LEGACY:     freebsd-13-5
> +    FREEBSD_PRODUCTION: freebsd-14-2
> +    FREEBSD_CURRENT:    freebsd-15-0-snap
>  
>  freebsd_template: &FREEBSD_ENV
>    environment:
> @@ -24,7 +20,24 @@ freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
>        path: xen-config
>        type: text/plain
>  
> -freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
> +task:
> +  name: 'FreeBSD: full build'
> +
> +  # It's not possible to use the matrix keyword in YAML aliases, as they
> +  # keyword usage is restricted to task, docker_builder or pipe.  Attempting to
> +  # use a YAML alias with the duplicated keys doesn't work either. Use an env
> +  # variable so the version can also be appended to the task alias.
> +  << : *FREEBSD_VERSIONS
> +  env:
> +    matrix:
> +      FREEBSD_VERSION: $FREEBSD_LEGACY
> +      FREEBSD_VERSION: $FREEBSD_PRODUCTION
> +      FREEBSD_VERSION: $FREEBSD_CURRENT
> +
> +  alias: freebsd_full_$FREEBSD_VERSION
> +  freebsd_instance:
> +    image_family: $FREEBSD_VERSION
> +
>    << : *FREEBSD_ENV
>  
>    install_script: pkg install -y seabios gmake ninja bash
> @@ -42,7 +55,20 @@ freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
>    build_script:
>      - gmake -j`sysctl -n hw.ncpu` clang=y
>  
> -freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
> +task:
> +  name: 'FreeBSD: randconfig build'
> +
> +  # It's not possible to use the matrix keyword in YAML aliases, as they
> +  # keyword usage is restricted to task, docker_builder or pipe.  Attempting to
> +  # use a YAML alias with the duplicated `image_family` keys doesn't work
> +  # either. Abstract the version numbers at least.
> +  << : *FREEBSD_VERSIONS
> +  freebsd_instance:
> +    matrix:
> +      image_family: $FREEBSD_LEGACY
> +      image_family: $FREEBSD_PRODUCTION
> +      image_family: $FREEBSD_CURRENT
> +
>    << : *FREEBSD_ENV
>  
>    install_script: pkg install -y gmake python3 bison
> @@ -56,33 +82,3 @@ freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
>  
>    build_script:
>      - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
> -
> -task:
> -  name: 'FreeBSD 13: full build'
> -  << : *FREEBSD_13
> -  << : *FREEBSD_FULL_BUILD_TEMPLATE
> -
> -task:
> -  name: 'FreeBSD 14: full build'
> -  << : *FREEBSD_14
> -  << : *FREEBSD_FULL_BUILD_TEMPLATE
> -
> -task:
> -  name: 'FreeBSD 15: full build'
> -  << : *FREEBSD_15
> -  << : *FREEBSD_FULL_BUILD_TEMPLATE
> -
> -task:
> -  name: 'FreeBSD 13: randconfig'
> -  << : *FREEBSD_13
> -  << : *FREEBSD_RANDCONFIG_TEMPLATE
> -
> -task:
> -  name: 'FreeBSD 14: randconfig'
> -  << : *FREEBSD_14
> -  << : *FREEBSD_RANDCONFIG_TEMPLATE
> -
> -task:
> -  name: 'FreeBSD 15: randconfig'
> -  << : *FREEBSD_15
> -  << : *FREEBSD_RANDCONFIG_TEMPLATE
> -- 
> 2.48.1
> 
--8323329-247471004-1742595167=:2325679--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:13:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:13:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924562.1327692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvkcF-000697-Fm; Fri, 21 Mar 2025 22:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924562.1327692; Fri, 21 Mar 2025 22: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 1tvkcF-000690-D6; Fri, 21 Mar 2025 22:13:23 +0000
Received: by outflank-mailman (input) for mailman id 924562;
 Fri, 21 Mar 2025 22:13: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvkcD-00066d-SS
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:13:21 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b215e75c-06a1-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 23:13:20 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id BC96EA496A6;
 Fri, 21 Mar 2025 22:07:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8D1FC4CEE3;
 Fri, 21 Mar 2025 22:13: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: b215e75c-06a1-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742595198;
	bh=eXWcI/Qwt6nIJfbp6MHdeEDoSZYeN+qnHu7/2K/E2Lg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=efpZr8FbKL5WmTr8/IoAi51Rn7yk2zD2VvUqP+fXEEKNhNGkK5F4vtGjZbmz50Z7t
	 Wj9VUP6HD7z/znRZCfj7SC1/o21SBSvpmXPwhsFmIyxbJL5TGtJVHcmZArJV7lKGZu
	 cj77Pw4avEePF2lU0SdbwM/A7zrK7lAfs1kP8lILUo4wuJbKY+RDD4/tGEE11FQsEU
	 VkT4vSj9g6yz6Jqn8ZOV6wjcKE+Gndw1ku/ENG3GI67WZRMnoSZefDxvZx4tXXHIW5
	 Il+uVu/04zmqKxcgcFNUzhC0jTvBYIVMAa6l4TjQz0aAq8J+1/TwcEhv/3fT+dnAR/
	 6gUeBKAaFPRrg==
Date: Fri, 21 Mar 2025 15:13:16 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>
Subject: Re: [PATCH v2 2/4] automation/cirrus-ci: build XTF
In-Reply-To: <20250320152020.88526-3-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503211513110.2325679@ubuntu-linux-20-04-desktop>
References: <20250320152020.88526-1-roger.pau@citrix.com> <20250320152020.88526-3-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1332075721-1742595198=:2325679"

  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-1332075721-1742595198=:2325679
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 20 Mar 2025, Roger Pau Monne wrote:
> In preparation for using the XTF selftests to smoke test the FreeBSD based
> Xen builds.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

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

> ---
> Changes since v1:
>  - Use production version.
> ---
>  .cirrus.yml | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 95d2d2d3db2e..a6e4a5d0308b 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -12,6 +12,12 @@ freebsd_template: &FREEBSD_ENV
>      CIRRUS_CLONE_DEPTH: 1
>      CIRRUS_LOG_TIMESTAMP: true
>  
> +freebsd_template_latest: &FREEBSD_ENV_PRODUCTION
> +  << : *FREEBSD_VERSIONS
> +  freebsd_instance:
> +    image_family: $FREEBSD_PRODUCTION
> +  << : *FREEBSD_ENV
> +
>  freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
>    always:
>      rename_script:
> @@ -82,3 +88,21 @@ task:
>  
>    build_script:
>      - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
> +
> +task:
> +  name: 'FreeBSD: XTF build'
> +  alias: xtf
> +
> +  << : *FREEBSD_ENV_PRODUCTION
> +
> +  clone_script:
> +    - pkg install -y git
> +    - git clone --depth 1 https://xenbits.xen.org/git-http/xtf.git
> +
> +  install_script: pkg install -y gmake
> +
> +  build_script:
> +    - cd xtf
> +    - cc --version
> +    - git rev-parse HEAD
> +    - gmake -j`sysctl -n hw.ncpu` LLVM=y
> -- 
> 2.48.1
> 
--8323329-1332075721-1742595198=:2325679--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:14:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924572.1327702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvkdb-0006jW-Oe; Fri, 21 Mar 2025 22:14:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924572.1327702; Fri, 21 Mar 2025 22:14: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 1tvkdb-0006jP-M5; Fri, 21 Mar 2025 22:14:47 +0000
Received: by outflank-mailman (input) for mailman id 924572;
 Fri, 21 Mar 2025 22:14: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvkdZ-0006j7-PF
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:14:45 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3f91bf5-06a1-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 23:14:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id BEFFCA49476;
 Fri, 21 Mar 2025 22:09:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7281BC4CEE3;
 Fri, 21 Mar 2025 22:14:41 +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: e3f91bf5-06a1-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742595282;
	bh=HrcGxRPowa2EJTY8L9FIFGW9EHYy6la35A3Ou5hkL3s=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Zxj8jY9N9O+8QMr/RNXW/K7igisXO9Ob25jG0iS8QQiOdQ18s+pOyXD3a18kEQcln
	 bnlhAN6zP4TJH6Dhqjs2UnXDd/uNcNJpKt9p+qaTbU7JAbEodaLL8nvFW/NnoJPbrE
	 k+GIKIh81dV+DTfSgbfiwI+XnZ4vEnAzIputAWl8CO3Os0Sh+q1ltpRO3/+QHfUu2+
	 dl4dP1bgmV60nONbZfNBHNeWUEK3xieM21md5Xnb5B9DxJI+GrsNpyiBFRpv8RYao8
	 AEBtviFkbaFj5x6duoOGZHKnMabw9sgKpaVBvxu1QjuFB8pPJ+fi0NMdFvqhKYP4SB
	 wsZo5N1l5QfgQ==
Date: Fri, 21 Mar 2025 15:14:40 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <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>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Community Manager <community.manager@xenproject.org>
Subject: Re: [PATCH v2 4/4] automation/cirrus-ci: add smoke tests for the
 FreeBSD builds
In-Reply-To: <20250320152020.88526-5-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503211514230.2325679@ubuntu-linux-20-04-desktop>
References: <20250320152020.88526-1-roger.pau@citrix.com> <20250320152020.88526-5-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-229660605-1742595282=:2325679"

  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-229660605-1742595282=:2325679
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 20 Mar 2025, Roger Pau Monne wrote:
> Introduce a basic set of smoke tests using the XTF selftest image, and run
> them on QEMU.  Use the matrix keyword to create a different task for each
> XTF flavor on each FreeBSD build.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

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

> ---
> Changes since v1:
>  - Use production version of FreeBSD to run tests.
> ---
>  .cirrus.yml  | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  CHANGELOG.md |  1 +
>  2 files changed, 55 insertions(+)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 38b654f75cf2..3163ab8f11d8 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -5,6 +5,8 @@ freebsd_versions: &FREEBSD_VERSIONS
>      FREEBSD_PRODUCTION: freebsd-14-2
>      FREEBSD_CURRENT:    freebsd-15-0-snap
>  
> +# Build jobs
> +
>  freebsd_template: &FREEBSD_ENV
>    environment:
>      APPEND_LIB: /usr/local/lib
> @@ -118,3 +120,55 @@ task:
>    xtf_artifacts:
>      path: xtf/tests/selftest/test-*-selftest
>      type: application/octet-stream
> +
> +# Test jobs
> +
> +task:
> +  name: 'FreeBSD: XTF selftest'
> +
> +  << : *FREEBSD_ENV_PRODUCTION
> +
> +  env:
> +    matrix:
> +      FREEBSD_BUILD: $FREEBSD_LEGACY
> +      FREEBSD_BUILD: $FREEBSD_PRODUCTION
> +      FREEBSD_BUILD: $FREEBSD_CURRENT
> +
> +  depends_on:
> +    - freebsd_full_$FREEBSD_BUILD
> +    - xtf
> +
> +  install_script: pkg install -y qemu-nox11 expect
> +
> +  env:
> +    matrix:
> +      XTF_ARCH: hvm32
> +      XTF_ARCH: hvm32pae
> +      XTF_ARCH: hvm32pse
> +      XTF_ARCH: hvm64
> +      XTF_ARCH: pv64
> +
> +  fetch_script:
> +    - fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/xtf/xtf.zip
> +    - fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/freebsd_full_$FREEBSD_BUILD/xen.zip
> +    - unzip xtf.zip
> +    - unzip xen.zip
> +
> +  test_script: |
> +    case "$XTF_ARCH" in \
> +      *hvm*) \
> +        XEN_EXTRA_CMD="dom0=pvh dom0-iommu=none" \
> +        ;; \
> +    esac
> +    export TEST_CMD="qemu-system-x86_64 -kernel xen/xen -initrd xtf/tests/selftest/test-${XTF_ARCH}-selftest \
> +                                        -append \"loglvl=all console=com1 noreboot console_timestamps=boot dom0=verbose ${XEN_EXTRA_CMD}\" \
> +                                        -m 512 -nographic -monitor none -serial stdio"
> +    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\+$//'
> +
> +  always:
> +    serial_artifacts:
> +      path: serial-*.txt
> +      type: text/plain
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 9a5919585d43..35ab6749241c 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>     - Resizable BARs is supported for PVH dom0.
>     - Support PCI passthrough for HVM domUs when dom0 is PVH (note SR-IOV
>       capability usage is not yet supported on PVH dom0).
> +   - Smoke tests for the FreeBSD Xen builds in Cirrus CI.
>  
>  ### Removed
>  
> -- 
> 2.48.1
> 
--8323329-229660605-1742595282=:2325679--


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:22:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924588.1327713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvkkj-0000xR-Io; Fri, 21 Mar 2025 22:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924588.1327713; Fri, 21 Mar 2025 22:22: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 1tvkkj-0000xK-Fw; Fri, 21 Mar 2025 22:22:09 +0000
Received: by outflank-mailman (input) for mailman id 924588;
 Fri, 21 Mar 2025 22:22:09 +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 1tvkkj-0000xE-50
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:22:09 +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 1tvkkj-00HGYa-0E;
 Fri, 21 Mar 2025 22:22:08 +0000
Received: from [2a02:8012:3a1:0:d473:3eed:4e56:a8b]
 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 1tvkki-00FINr-28;
 Fri, 21 Mar 2025 22:22: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=tOWNMhqqvn67i0zc0nEQn2RdHmZaB0ak9FRa9GP4yN0=; b=wnPF+yICICO/CTsOUpRSkWHAt7
	obiZoQ0uHb5L77cSQhvh2/yknj2g5htUCX7CmJTKx333YgKty1DW9HQXuWHc8uKgqHAXkBNRUhELi
	Hygs/FbuP0x3Jk9dk34TM84pwZOGWflhfx9UnT8OB/ye2kbYov8BdimjJxeQHvc0ySoo=;
Message-ID: <85ac456a-ae11-4a04-8d73-dfafba04de98@xen.org>
Date: Fri, 21 Mar 2025 22:22:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm/efi: merge neighboring banks
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <alpine.DEB.2.22.394.2503211403040.2325679@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2503211403040.2325679@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 21/03/2025 21:14, Stefano Stabellini wrote:
> When booting from U-Boot bootefi, there can be a high number of
> neighboring RAM banks. See for example:
> 
> (XEN) RAM: 0000000000000000 - 0000000000bfffff
> (XEN) RAM: 0000000000c00000 - 0000000000c00fff
> (XEN) RAM: 0000000000c01000 - 0000000000dfffff
> (XEN) RAM: 0000000000e00000 - 000000000279dfff
> (XEN) RAM: 000000000279e000 - 00000000029fffff
> (XEN) RAM: 0000000002a00000 - 0000000008379fff
> (XEN) RAM: 000000000837a000 - 00000000083fffff
> (XEN) RAM: 0000000008400000 - 0000000008518fff
> (XEN) RAM: 0000000008519000 - 00000000085fffff
> (XEN) RAM: 0000000008600000 - 0000000008613fff
> (XEN) RAM: 0000000008614000 - 00000000097fffff
> (XEN) RAM: 0000000009800000 - 00000000098a7fff
> (XEN) RAM: 00000000098a8000 - 0000000009dfffff
> (XEN) RAM: 0000000009e00000 - 0000000009ea7fff
> (XEN) RAM: 0000000009ea8000 - 000000001fffffff
> (XEN) RAM: 0000000020000000 - 000000002007ffff
> (XEN) RAM: 0000000020080000 - 0000000077b17fff
> (XEN) RAM: 0000000077b19000 - 0000000077b2bfff
> (XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
> (XEN) RAM: 0000000077c8e000 - 0000000077c91fff
> (XEN) RAM: 0000000077ca7000 - 0000000077caafff
> (XEN) RAM: 0000000077cac000 - 0000000077caefff
> (XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
> (XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
> (XEN) RAM: 0000000077cd8000 - 000000007bd07fff
> (XEN) RAM: 000000007bd09000 - 000000007fd5ffff
> (XEN) RAM: 000000007fd70000 - 000000007fefffff
> (XEN) RAM: 0000000800000000 - 000000087fffffff
> 
> It is undesirable to keep them separate, as this approach consumes more
> resources.

What resources? This is pre-allocated static array in the binary. They 
are also dropped after init. The more interesting argument is...

> 
> Additionally, Xen does not currently support boot modules that span
> multiple banks: at least one of the regions get freed twice. The first
> time from setup_mm->populate_boot_allocator, then again from
> discard_initial_modules->fw_unreserved_regions. With a high number of
> banks, it can be difficult to arrange the boot modules in a way that
> avoids spanning across multiple banks.

... this one. Although, I find weird that U-boot would create tons of 
banks. Have you considered to ask them what's going on?

Also, what about the cases where U-boot is not booting Xen without UEFI? 
Why is this not a problem? Asking just in case the merge should happen 
in code common rather than in UEFI.

> 
> This small patch merges neighboring regions, to make dealing with them
> more efficient, and to make it easier to load boot modules.

While I understand the value for this, I ...

> The patch
> also takes the opportunity to check and discard duplicates.

don't understand why we need to check for duplicates. This also doesn't 
properly work for a few reasons:
   * This doesn't cover partial overlap
   * This would not work if an entry was merged with another previously

So I think the code to check duplicates should be removed. If you are 
concerned about overlap, then it would be better to enable 
check_reserved  just drop the code. If you are concerned about to detect 
and warn/panic.


> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index a80a5a7ab3..f6f23ed5b2 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -163,6 +163,20 @@ static bool __init meminfo_add_bank(struct membanks *mem,
>       struct membank *bank;
>       paddr_t start = desc->PhysicalStart;
>       paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
> +    int j;

nr_banks is an "unsigned int". So this should be the same type.

> +
> +    for ( j = 0; j < mem->nr_banks; j++ )
> +    {
> +        if ( mem->bank[j].start == start && mem->bank[j].size == size )
> +        {
> +            return true;
> +        }
> +        else if ( mem->bank[j].start + mem->bank[j].size == start )

Please add some parentheses to make it more obvious that you checking (a 
+ b) == size.

> +        {
> +            mem->bank[j].size += size;
> +            return true;
> +        }
> +    }
>   
>       if ( mem->nr_banks >= mem->max_banks )
>           return false;

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:29:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:29:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924600.1327723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvks7-0001am-8c; Fri, 21 Mar 2025 22:29:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924600.1327723; Fri, 21 Mar 2025 22:29: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 1tvks7-0001af-5q; Fri, 21 Mar 2025 22:29:47 +0000
Received: by outflank-mailman (input) for mailman id 924600;
 Fri, 21 Mar 2025 22:29:46 +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 1tvks6-0001aZ-2l
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:29:46 +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 1tvks6-00HGhL-01;
 Fri, 21 Mar 2025 22:29:45 +0000
Received: from [2a02:8012:3a1:0:d473:3eed:4e56:a8b]
 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 1tvks5-00FIja-1w;
 Fri, 21 Mar 2025 22:29: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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=Zt9ubl7uDBma7HfJv2VLK3JIyEWacKkKO0y4q0StrXY=; b=yCzekkQUWdc3W5tNhZ2teRRVUM
	psnJL0EqdUu5vj4YTaJEn6wPqudtwKMzjeeckwAoIIHiihdSTCjqWJQIeTQe/9enHy8qp0qNAjrlq
	kgQv59lUtG3sSFETtvrNHvPTiMWXjwEpxySF2ohfd06pixpIC/druuBUf3EP2wh26eN8=;
Message-ID: <db10c2e3-2791-4945-af62-b6901d5f8f5d@xen.org>
Date: Fri, 21 Mar 2025 22:29:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm/efi: merge neighboring banks
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <alpine.DEB.2.22.394.2503211403040.2325679@ubuntu-linux-20-04-desktop>
 <85ac456a-ae11-4a04-8d73-dfafba04de98@xen.org>
In-Reply-To: <85ac456a-ae11-4a04-8d73-dfafba04de98@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 21/03/2025 22:22, Julien Grall wrote:
> Hi Stefano,
> 
> On 21/03/2025 21:14, Stefano Stabellini wrote:
>> When booting from U-Boot bootefi, there can be a high number of
>> neighboring RAM banks. See for example:
>>
>> (XEN) RAM: 0000000000000000 - 0000000000bfffff
>> (XEN) RAM: 0000000000c00000 - 0000000000c00fff
>> (XEN) RAM: 0000000000c01000 - 0000000000dfffff
>> (XEN) RAM: 0000000000e00000 - 000000000279dfff
>> (XEN) RAM: 000000000279e000 - 00000000029fffff
>> (XEN) RAM: 0000000002a00000 - 0000000008379fff
>> (XEN) RAM: 000000000837a000 - 00000000083fffff
>> (XEN) RAM: 0000000008400000 - 0000000008518fff
>> (XEN) RAM: 0000000008519000 - 00000000085fffff
>> (XEN) RAM: 0000000008600000 - 0000000008613fff
>> (XEN) RAM: 0000000008614000 - 00000000097fffff
>> (XEN) RAM: 0000000009800000 - 00000000098a7fff
>> (XEN) RAM: 00000000098a8000 - 0000000009dfffff
>> (XEN) RAM: 0000000009e00000 - 0000000009ea7fff
>> (XEN) RAM: 0000000009ea8000 - 000000001fffffff
>> (XEN) RAM: 0000000020000000 - 000000002007ffff
>> (XEN) RAM: 0000000020080000 - 0000000077b17fff
>> (XEN) RAM: 0000000077b19000 - 0000000077b2bfff
>> (XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
>> (XEN) RAM: 0000000077c8e000 - 0000000077c91fff
>> (XEN) RAM: 0000000077ca7000 - 0000000077caafff
>> (XEN) RAM: 0000000077cac000 - 0000000077caefff
>> (XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
>> (XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
>> (XEN) RAM: 0000000077cd8000 - 000000007bd07fff
>> (XEN) RAM: 000000007bd09000 - 000000007fd5ffff
>> (XEN) RAM: 000000007fd70000 - 000000007fefffff
>> (XEN) RAM: 0000000800000000 - 000000087fffffff
>>
>> It is undesirable to keep them separate, as this approach consumes more
>> resources.
> 
> What resources? This is pre-allocated static array in the binary. They 
> are also dropped after init. The more interesting argument is...
> 
>>
>> Additionally, Xen does not currently support boot modules that span
>> multiple banks: at least one of the regions get freed twice. The first
>> time from setup_mm->populate_boot_allocator, then again from
>> discard_initial_modules->fw_unreserved_regions. With a high number of
>> banks, it can be difficult to arrange the boot modules in a way that
>> avoids spanning across multiple banks.
> 
> ... this one. Although, I find weird that U-boot would create tons of 
> banks. Have you considered to ask them what's going on?
> 
> Also, what about the cases where U-boot is not booting Xen without UEFI? 
> Why is this not a problem? Asking just in case the merge should happen 
> in code common rather than in UEFI.
> 
>>
>> This small patch merges neighboring regions, to make dealing with them
>> more efficient, and to make it easier to load boot modules.
> 
> While I understand the value for this, I ...
> 
>> The patch
>> also takes the opportunity to check and discard duplicates.
> 
> don't understand why we need to check for duplicates. This also doesn't 
> properly work for a few reasons:
>  Â  * This doesn't cover partial overlap
>  Â  * This would not work if an entry was merged with another previously
> 
> So I think the code to check duplicates should be removed. If you are 
> concerned about overlap, then it would be better to enable 
> check_reservedÂ  just drop the code. If you are concerned about to detect 
> and warn/panic.

What I wrote is a bit mangled. I meant that if you are concern about 
duplicates then it would be better to check if there is an overlap and
either warn or panic.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:32:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:32:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924610.1327733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvkux-00049Y-LQ; Fri, 21 Mar 2025 22:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924610.1327733; Fri, 21 Mar 2025 22:32: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 1tvkux-00049R-Ic; Fri, 21 Mar 2025 22:32:43 +0000
Received: by outflank-mailman (input) for mailman id 924610;
 Fri, 21 Mar 2025 22:32: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvkuw-00049L-AH
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:32:42 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 653f8c9b-06a4-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 23:32:39 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 3EBCFA436D9;
 Fri, 21 Mar 2025 22:27:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9121FC4CEE3;
 Fri, 21 Mar 2025 22:32: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: 653f8c9b-06a4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742596358;
	bh=b/hUnXNcu+FikMzWo7ndMyL4JEuY5P1Hy1cGHyGMFIM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hAYqnSmAVSqC/USUsm6gQkfOBgfO1ULZ9Wz3MPvb4xXUyd06vlgIIECFgEC8kiNbH
	 Wr4LGbKAx2lKFpp9M4voDj8x7+WEE428IeFWQrlSNH8o03BmxMFiwdJ3W0BmkXNWqr
	 En/xdCf7ONVRUZGiuramTeXvr1JR0Vt6kpQsALBIJkE8daK/FqPsoVx+3cohzaQwyX
	 te0X76kjfONbKoCL+sW8UH0gznvvStbnj3xgpWCU1hBYbxi63PZgB5JQd2JHEJHaoX
	 +UgyT0n8ZVE1nDypoVMVhNCxd9UEMx6onKRGALsQTHXhm67RPwCtCJyA0PCQzCDVFX
	 qIDbT7/mtBdAQ==
Date: Fri, 21 Mar 2025 15:32:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: "xen-devel@lists.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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, 
    George Dunlap <gwd@xenproject.org>
Subject: Re: [RFC PATCH v2] xen: add libafl-qemu fuzzer support
In-Reply-To: <20250315003544.1101488-1-volodymyr_babchuk@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503211517130.2325679@ubuntu-linux-20-04-desktop>
References: <20250315003544.1101488-1-volodymyr_babchuk@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 15 Mar 2025, Volodymyr Babchuk wrote:
> LibAFL, which is a part of AFL++ project is a instrument that allows
> us to perform fuzzing on beremetal code (Xen hypervisor in this case)
> using QEMU as an emulator. It employs QEMU's ability to create
> snapshots to run many tests relatively quickly: system state is saved
> right before executing a new test and restored after the test is
> finished.
> 
> This patch adds all necessary plumbing to run aarch64 build of Xen
> inside that LibAFL-QEMU fuzzer. From the Xen perspective we need to
> do following things:
> 
> 1. Able to communicate with LibAFL-QEMU fuzzer. This is done by
> executing special opcodes, that only LibAFL-QEMU can handle.
> 
> 2. Use interface from p.1 to tell the fuzzer about code Xen section,
> so fuzzer know which part of code to track and gather coverage data.
> 
> 3. Report fuzzer about crash. This is done in panic() function.
> 
> 4. Prevent test harness from shooting itself in knee.
> 
> Right now test harness is an external component, because we want to
> test external Xen interfaces, but it is possible to fuzz internal code
> if we want to.
> 
> Test harness is implemented XTF-based test-case(s). As test harness
> can issue hypercall that shuts itself down, KConfig option
> CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING was added. It basically tells
> fuzzer that test was completed successfully if Dom0 tries to shut
> itself (or the whole machine) down.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

I would appreciate if you could add a gitlab test for this. While I
realize that fuzzers are meant to run overnight and that's not something
we might be able to do with gitlab it would make it a lot easier to run
by anyone and it would also serve as documentation itself.

I think initially you can use your git branches you listed below but we
can create repositories under gitlab.com/xen-project when we commit this
patch to xen.


> ---
> 
> I tried to fuzz the vGIC emulator and hypercall interface. While vGIC
> fuzzing didn't yield any interesting results, hypercall fuzzing found a
> way to crash the hypervisor from Dom0 on aarch64, using
> "XEN_SYSCTL_page_offline_op" with "sysctl_query_page_offline" sub-op,
> because it leads to page_is_ram_type() call which is marked
> UNREACHABLE on ARM.
> 
> In v2:
> 
>  - Moved to XTF-based test harness
>  - Severely reworked the fuzzer itself. Now it has user-friendly
>    command-line interface and is capable of running in CI, as it now
>    returns an appropriate error code if any faults were found
>  - Also I found, debugged and fixed a nasty bug in LibAFL-QEMU fork,
>    which crashed the whole fuzzer.
> 
> Right now the fuzzer is lockated at Xen Troops repo:
> 
> https://github.com/xen-troops/xen-fuzzer-rs
> 
> But I believe that it is ready to be included into
> gitlab.com/xen-project/
> 
> XTF-based harness is at
> 
> https://gitlab.com/vlad.babchuk/xtf/-/tree/mr_libafl
> 
> and there is corresponding MR for including it into
> 
> https://gitlab.com/xen-project/fusa/xtf/-/tree/xtf-arm
> 
> So, to sum up. All components are basically ready for initial
> inclusion. There will be smaller, integration-related changes
> later. For example - we will need to update URLs for various
> components after they are moved to correct places.
> ---
>  docs/hypervisor-guide/fuzzing.rst           |  90 ++++++++++++
>  xen/arch/arm/Kconfig.debug                  |  26 ++++
>  xen/arch/arm/Makefile                       |   1 +
>  xen/arch/arm/include/asm/libafl_qemu.h      |  54 +++++++
>  xen/arch/arm/include/asm/libafl_qemu_defs.h |  37 +++++
>  xen/arch/arm/libafl_qemu.c                  | 152 ++++++++++++++++++++
>  xen/arch/arm/psci.c                         |  13 ++
>  xen/common/sched/core.c                     |  17 +++
>  xen/common/shutdown.c                       |   7 +
>  xen/drivers/char/console.c                  |   8 ++
>  10 files changed, 405 insertions(+)
>  create mode 100644 docs/hypervisor-guide/fuzzing.rst
>  create mode 100644 xen/arch/arm/include/asm/libafl_qemu.h
>  create mode 100644 xen/arch/arm/include/asm/libafl_qemu_defs.h
>  create mode 100644 xen/arch/arm/libafl_qemu.c
> 
> diff --git a/docs/hypervisor-guide/fuzzing.rst b/docs/hypervisor-guide/fuzzing.rst
> new file mode 100644
> index 0000000000..a5de71dd25
> --- /dev/null
> +++ b/docs/hypervisor-guide/fuzzing.rst
> @@ -0,0 +1,90 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Fuzzing
> +=======
> +
> +It is possible to use LibAFL-QEMU for fuzzing hypervisor. Right now
> +only aarch64 is supported and only hypercall fuzzing is enabled in the
> +test harness, but there are plans to add vGIC interface fuzzing, PSCI
> +fuzzing and vPL011 fuzzing as well.
> +
> +
> +Principle of operation
> +----------------------
> +
> +LibAFL-QEMU is a part of American Fuzzy lop plus plus (AKA AFL++)
> +project. It uses special build of QEMU, that allows to fuzz baremetal
> +software like Xen hypervisor or Linux kernel. Basic idea is that we
> +have software under test (Xen hypervisor in our case) and a test
> +harness application. Test harness uses special protocol to communicate
> +with LibAFL outside of QEMU to get input data and report test
> +result. LibAFL monitors which branches are taken by Xen and mutates
> +input data in attempt to discover new code paths that eventually can
> +lead to a crash or other unintended behavior.
> +
> +LibAFL uses QEMU's `snapshot` feature to run multiple test without
> +restarting the whole system every time. This speeds up fuzzing process
> +greatly.
> +
> +So, to try Xen fuzzing we need three components: LibAFL-based fuzzer,
> +test harness and Xen itself.
> +
> +Building Xen for fuzzing
> +------------------------
> +
> +Xen hypervisor should be built with these two options::
> +
> + CONFIG_LIBAFL_QEMU_FUZZER=y
> + CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING=y
> +
> +Building LibAFL-QEMU based fuzzer
> +---------------------------------
> +
> +Fuzzer is written in Rust, so you need Rust toolchain and `cargo` tool
> +in your system. Please refer to your distro documentation on how to
> +obtain them.
> +
> +Once Rust is ready, fetch and build the fuzzer::
> +
> +  # git clone https://github.com/xen-troops/xen-fuzzer-rs
> +  # cd xen-fuzzer-rs
> +  # cargo build
> +
> +Building test harness
> +---------------------
> +
> +We need to make low-level actions, like issuing random hypercalls, so
> +for test harness we use special build of Zephyr application. We use

You mean a special build of an XTF application?


> +XTF as a test harness. You can build XTF manually, or let fuzzer to do this::
> +
> +  # cargo make build_xtf
> +
> +This fill download and build XTF for ARM.
> +
> +Running the fuzzer
> +------------------
> +
> +Please refer to README.md that comes with the fuzzer, but the most
> +versatile way is to run it like this::
> +
> +  # target/debug/xen_fuzzer -t 3600 /path/to/xen \
> +      target/xtf/tests/arm-vgic-fuzzer/test-mmu64le-arm-vgic-fuzzer
> +
> +(assuming that you built XTF with `cargo make build_xtf`)
> +
> +Any inputs that led to crashes will be found in `crashes` directory.
> +
> +You can replay a crash with `-r` option::
> +
> +  # target/debug/xen_fuzzer -r crashes/0195e4fc65828c17 run \
> +      /path/to/xen \
> +      /path/to/harness
> +
> +
> +Fuzzer will return non-zero error code if it encountered any crashes.
> +
> +TODOs
> +-----
> +
> + - Add x86 support.
> + - Implement fuzzing of other external hypervisor interfaces.
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index 5a03b220ac..3b00c77d3a 100644
> --- a/xen/arch/arm/Kconfig.debug
> +++ b/xen/arch/arm/Kconfig.debug
> @@ -190,3 +190,29 @@ config EARLY_PRINTK_INC
>  	default "debug-mvebu.inc" if EARLY_UART_MVEBU
>  	default "debug-pl011.inc" if EARLY_UART_PL011
>  	default "debug-scif.inc" if EARLY_UART_SCIF
> +
> +config LIBAFL_QEMU_FUZZER
> +	bool "Enable LibAFL-QEMU calls"
> +	help
> +	  This option enables support for LibAFL-QEMU calls. Enable this
> +	  only when you are going to run hypervisor inside LibAFL-QEMU.
> +	  Xen will report code section to LibAFL and will report about
> +	  crash when it panics.
> +
> +	  Do not try to run Xen built on this option on any real hardware
> +	  or plain QEMU, because it will just crash during startup.
> +
> +config LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +	depends on LIBAFL_QEMU_FUZZER
> +	bool "LibAFL: Report any attempt to suspend/destroy a domain as a success"
> +	help
> +	  When fuzzing hypercalls, fuzzer sometimes will issue an hypercall that
> +	  leads to a domain shutdown, or machine shutdown, or vCPU being
> +	  blocked, or something similar. In this case test harness will not be
> +	  able to report about successfully handled call to the fuzzer. Fuzzer
> +	  will report timeout and mark this as a crash, which is not true. So,
> +	  in such cases we need to report about successfully test case from the
> +	  hypervisor itself.
> +
> +          Enable this option only if fuzzing attempt can lead to a correct
> +	  stoppage, like when fuzzing hypercalls or PSCI.
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index fb0948f067..7b4eaab680 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -12,6 +12,7 @@ obj-$(CONFIG_TEE) += tee/
>  obj-$(CONFIG_HAS_VPCI) += vpci.o
>  
>  obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
> +obj-${CONFIG_LIBAFL_QEMU_FUZZER} += libafl_qemu.o
>  obj-y += cpuerrata.o
>  obj-y += cpufeature.o
>  obj-y += decode.o
> diff --git a/xen/arch/arm/include/asm/libafl_qemu.h b/xen/arch/arm/include/asm/libafl_qemu.h
> new file mode 100644
> index 0000000000..b90cf48b9a
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/libafl_qemu.h
> @@ -0,0 +1,54 @@
> +#ifndef LIBAFL_QEMU_H
> +#define LIBAFL_QEMU_H
> +
> +#include <xen/stdint.h>
> +#include "libafl_qemu_defs.h"
> +#define LIBAFL_QEMU_PRINTF_MAX_SIZE 4096
> +
> +typedef uint64_t libafl_word;
> +
> +/**
> + * LibAFL QEMU header file.
> + *
> + * This file is a portable header file used to build target harnesses more
> + * conveniently. Its main purpose is to generate ready-to-use calls to
> + * communicate with the fuzzer. The list of commands is available at the bottom
> + * of this file. The rest mostly consists of macros generating the code used by
> + * the commands.
> + */
> +
> +enum LibaflQemuEndStatus {
> +  LIBAFL_QEMU_END_UNKNOWN = 0,
> +  LIBAFL_QEMU_END_OK = 1,
> +  LIBAFL_QEMU_END_CRASH = 2,
> +};
> +
> +libafl_word libafl_qemu_start_virt(void *buf_vaddr, libafl_word max_len);
> +
> +libafl_word libafl_qemu_start_phys(void *buf_paddr, libafl_word max_len);
> +
> +libafl_word libafl_qemu_input_virt(void *buf_vaddr, libafl_word max_len);
> +
> +libafl_word libafl_qemu_input_phys(void *buf_paddr, libafl_word max_len);
> +
> +void libafl_qemu_end(enum LibaflQemuEndStatus status);
> +
> +void libafl_qemu_save(void);
> +
> +void libafl_qemu_load(void);
> +
> +libafl_word libafl_qemu_version(void);
> +
> +void libafl_qemu_page_current_allow(void);
> +
> +void libafl_qemu_internal_error(void);
> +
> +void __attribute__((format(printf, 1, 2))) lqprintf(const char *fmt, ...);
> +
> +void libafl_qemu_test(void);
> +
> +void libafl_qemu_trace_vaddr_range(libafl_word start, libafl_word end);
> +
> +void libafl_qemu_trace_vaddr_size(libafl_word start, libafl_word size);
> +
> +#endif
> diff --git a/xen/arch/arm/include/asm/libafl_qemu_defs.h b/xen/arch/arm/include/asm/libafl_qemu_defs.h
> new file mode 100644
> index 0000000000..2866cadaac
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/libafl_qemu_defs.h
> @@ -0,0 +1,37 @@
> +#ifndef LIBAFL_QEMU_DEFS
> +#define LIBAFL_QEMU_DEFS
> +
> +#define LIBAFL_STRINGIFY(s) #s
> +#define XSTRINGIFY(s) LIBAFL_STRINGIFY(s)
> +
> +#if __STDC_VERSION__ >= 201112L
> +  #define STATIC_CHECKS                                   \
> +    _Static_assert(sizeof(void *) <= sizeof(libafl_word), \
> +                   "pointer type should not be larger and libafl_word");
> +#else
> +  #define STATIC_CHECKS
> +#endif

I think this could be a BUILD_BUG_ON ?


> +#define LIBAFL_SYNC_EXIT_OPCODE 0x66f23a0f
> +#define LIBAFL_BACKDOOR_OPCODE 0x44f23a0f
> +
> +#define LIBAFL_QEMU_TEST_VALUE 0xcafebabe
> +
> +#define LIBAFL_QEMU_HDR_VERSION_NUMBER 0111  // TODO: find a nice way to set it.
> +
> +typedef enum LibaflQemuCommand {
> +  LIBAFL_QEMU_COMMAND_START_VIRT = 0,
> +  LIBAFL_QEMU_COMMAND_START_PHYS = 1,
> +  LIBAFL_QEMU_COMMAND_INPUT_VIRT = 2,
> +  LIBAFL_QEMU_COMMAND_INPUT_PHYS = 3,
> +  LIBAFL_QEMU_COMMAND_END = 4,
> +  LIBAFL_QEMU_COMMAND_SAVE = 5,
> +  LIBAFL_QEMU_COMMAND_LOAD = 6,
> +  LIBAFL_QEMU_COMMAND_VERSION = 7,
> +  LIBAFL_QEMU_COMMAND_VADDR_FILTER_ALLOW = 8,
> +  LIBAFL_QEMU_COMMAND_INTERNAL_ERROR = 9,
> +  LIBAFL_QEMU_COMMAND_LQPRINTF = 10,
> +  LIBAFL_QEMU_COMMAND_TEST = 11,
> +} LibaflExit;
> +
> +#endif
> diff --git a/xen/arch/arm/libafl_qemu.c b/xen/arch/arm/libafl_qemu.c
> new file mode 100644
> index 0000000000..58924ce6c6
> --- /dev/null
> +++ b/xen/arch/arm/libafl_qemu.c
> @@ -0,0 +1,152 @@
> +/* SPDX-License-Identifier: Apache-2.0 */
> +/*
> +   This file is based on libafl_qemu_impl.h and libafl_qemu_qemu_arch.h
> +   from LibAFL project.
> +*/
> +#include <xen/lib.h>
> +#include <xen/init.h>
> +#include <xen/kernel.h>
> +#include <asm/libafl_qemu.h>
> +
> +#define LIBAFL_DEFINE_FUNCTIONS(name, opcode)				\
> +	libafl_word _libafl_##name##_call0(	\
> +		libafl_word action) {					\
> +		libafl_word ret;					\
> +		__asm__ volatile (					\
> +			"mov x0, %1\n"					\
> +			".word " XSTRINGIFY(opcode) "\n"		\
> +			"mov %0, x0\n"					\
> +			: "=r"(ret)					\
> +			: "r"(action)					\
> +			: "x0"						\
> +			);						\
> +		return ret;						\
> +	}								\
> +									\
> +	libafl_word _libafl_##name##_call1(	\
> +		libafl_word action, libafl_word arg1) {			\
> +		libafl_word ret;					\
> +		__asm__ volatile (					\
> +			"mov x0, %1\n"					\
> +			"mov x1, %2\n"					\
> +			".word " XSTRINGIFY(opcode) "\n"		\
> +			"mov %0, x0\n"					\
> +			: "=r"(ret)					\
> +			: "r"(action), "r"(arg1)			\
> +			: "x0", "x1"					\
> +			);						\
> +		return ret;						\
> +	}								\
> +									\
> +	libafl_word _libafl_##name##_call2(	\
> +		libafl_word action, libafl_word arg1, libafl_word arg2) { \
> +		libafl_word ret;					\
> +		__asm__ volatile (					\
> +			"mov x0, %1\n"					\
> +			"mov x1, %2\n"					\
> +			"mov x2, %3\n"					\
> +			".word " XSTRINGIFY(opcode) "\n"		\
> +			"mov %0, x0\n"					\
> +			: "=r"(ret)					\
> +			: "r"(action), "r"(arg1), "r"(arg2)		\
> +			: "x0", "x1", "x2"				\
> +			);						\
> +		return ret;						\
> +	}
> +
> +// Generates sync exit functions
> +LIBAFL_DEFINE_FUNCTIONS(sync_exit, LIBAFL_SYNC_EXIT_OPCODE)
> +
> +// Generates backdoor functions
> +LIBAFL_DEFINE_FUNCTIONS(backdoor, LIBAFL_BACKDOOR_OPCODE)
> +
> +static char _lqprintf_buffer[LIBAFL_QEMU_PRINTF_MAX_SIZE] = {0};
> +
> +libafl_word libafl_qemu_start_virt(void       *buf_vaddr,
> +                                            libafl_word max_len) {
> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_START_VIRT,
> +                                 (libafl_word)buf_vaddr, max_len);
> +}
> +
> +libafl_word libafl_qemu_start_phys(void       *buf_paddr,
> +                                            libafl_word max_len) {
> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_START_PHYS,
> +                                 (libafl_word)buf_paddr, max_len);
> +}
> +
> +libafl_word libafl_qemu_input_virt(void       *buf_vaddr,
> +                                            libafl_word max_len) {
> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_INPUT_VIRT,
> +                                 (libafl_word)buf_vaddr, max_len);
> +}
> +
> +libafl_word libafl_qemu_input_phys(void       *buf_paddr,
> +                                            libafl_word max_len) {
> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_INPUT_PHYS,
> +                                 (libafl_word)buf_paddr, max_len);
> +}
> +
> +void libafl_qemu_end(enum LibaflQemuEndStatus status) {
> +  _libafl_sync_exit_call1(LIBAFL_QEMU_COMMAND_END, status);
> +}
> +
> +void libafl_qemu_save(void) {
> +  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_SAVE);
> +}
> +
> +void libafl_qemu_load(void) {
> +  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_LOAD);
> +}
> +
> +libafl_word libafl_qemu_version(void) {
> +  return _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_VERSION);
> +}
> +
> +void libafl_qemu_internal_error(void) {
> +  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_INTERNAL_ERROR);
> +}
> +
> +void lqprintf(const char *fmt, ...) {
> +  va_list args;
> +  int res;
> +  va_start(args, fmt);
> +  res = vsnprintf(_lqprintf_buffer, LIBAFL_QEMU_PRINTF_MAX_SIZE, fmt, args);
> +  va_end(args);
> +
> +  if (res >= LIBAFL_QEMU_PRINTF_MAX_SIZE) {
> +    // buffer is not big enough, either recompile the target with more
> +    // space or print less things
> +    libafl_qemu_internal_error();
> +  }
> +
> +  _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_LQPRINTF,
> +                          (libafl_word)_lqprintf_buffer, res);
> +}
> +
> +void libafl_qemu_test(void) {
> +  _libafl_sync_exit_call1(LIBAFL_QEMU_COMMAND_TEST, LIBAFL_QEMU_TEST_VALUE);
> +}
> +
> +void libafl_qemu_trace_vaddr_range(libafl_word start,
> +                                            libafl_word end) {
> +  _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_VADDR_FILTER_ALLOW, start, end);
> +}
> +
> +void libafl_qemu_trace_vaddr_size(libafl_word start,
> +                                           libafl_word size) {
> +  libafl_qemu_trace_vaddr_range(start, start + size);
> +}
> +
> +static int init_afl(void)
> +{
> +	vaddr_t xen_text_start = (vaddr_t)_stext;
> +	vaddr_t xen_text_end = (vaddr_t)_etext;
> +
> +	lqprintf("Telling AFL about code section: %lx - %lx\n", xen_text_start, xen_text_end);
> +
> +	libafl_qemu_trace_vaddr_range(xen_text_start, xen_text_end);
> +
> +	return 0;
> +}
> +
> +__initcall(init_afl);
> diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
> index b6860a7760..c7a51a1144 100644
> --- a/xen/arch/arm/psci.c
> +++ b/xen/arch/arm/psci.c
> @@ -17,6 +17,7 @@
>  #include <asm/cpufeature.h>
>  #include <asm/psci.h>
>  #include <asm/acpi.h>
> +#include <asm/libafl_qemu.h>
>  
>  /*
>   * While a 64-bit OS can make calls with SMC32 calling conventions, for
> @@ -49,6 +50,10 @@ int call_psci_cpu_on(int cpu)
>  
>  void call_psci_cpu_off(void)
>  {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif

As discussed, please add a wrapper with an empty implementation in the
regular case and the call to libafl_qemu_end when the fuzzer is enabled.
So that here it becomes just something like:

  fuzzer_success();

Other than that, the code changes to Xen look OK to me


> +
>      if ( psci_ver > PSCI_VERSION(0, 1) )
>      {
>          struct arm_smccc_res res;
> @@ -62,12 +67,20 @@ void call_psci_cpu_off(void)
>  
>  void call_psci_system_off(void)
>  {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
> +
>      if ( psci_ver > PSCI_VERSION(0, 1) )
>          arm_smccc_smc(PSCI_0_2_FN32_SYSTEM_OFF, NULL);
>  }
>  
>  void call_psci_system_reset(void)
>  {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
> +
>      if ( psci_ver > PSCI_VERSION(0, 1) )
>          arm_smccc_smc(PSCI_0_2_FN32_SYSTEM_RESET, NULL);
>  }
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index 9043414290..55eb132568 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -47,6 +47,10 @@
>  #define pv_shim false
>  #endif
>  
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER
> +#include <asm/libafl_qemu.h>
> +#endif
> +
>  /* opt_sched: scheduler - default to configured value */
>  static char __initdata opt_sched[10] = CONFIG_SCHED_DEFAULT;
>  string_param("sched", opt_sched);
> @@ -1452,6 +1456,10 @@ static long do_poll(const struct sched_poll *sched_poll)
>      if ( !guest_handle_okay(sched_poll->ports, sched_poll->nr_ports) )
>          return -EFAULT;
>  
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
> +
>      set_bit(_VPF_blocked, &v->pause_flags);
>      v->poll_evtchn = -1;
>      set_bit(v->vcpu_id, d->poll_mask);
> @@ -1904,12 +1912,18 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      {
>      case SCHEDOP_yield:
>      {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +        libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
>          ret = vcpu_yield();
>          break;
>      }
>  
>      case SCHEDOP_block:
>      {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +        libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
>          vcpu_block_enable_events();
>          break;
>      }
> @@ -1924,6 +1938,9 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  
>          TRACE_TIME(TRC_SCHED_SHUTDOWN, current->domain->domain_id,
>                     current->vcpu_id, sched_shutdown.reason);
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +        libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
>          ret = domain_shutdown(current->domain, (u8)sched_shutdown.reason);
>  
>          break;
> diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
> index c47341b977..1340f4b606 100644
> --- a/xen/common/shutdown.c
> +++ b/xen/common/shutdown.c
> @@ -11,6 +11,10 @@
>  #include <xen/kexec.h>
>  #include <public/sched.h>
>  
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER
> +#include <asm/libafl_qemu.h>
> +#endif
> +
>  /* opt_noreboot: If true, machine will need manual reset on error. */
>  bool __ro_after_init opt_noreboot;
>  boolean_param("noreboot", opt_noreboot);
> @@ -32,6 +36,9 @@ static void noreturn reboot_or_halt(void)
>  
>  void hwdom_shutdown(unsigned char reason)
>  {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
>      switch ( reason )
>      {
>      case SHUTDOWN_poweroff:
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index ba428199d2..55d33fa744 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -40,6 +40,9 @@
>  #ifdef CONFIG_SBSA_VUART_CONSOLE
>  #include <asm/vpl011.h>
>  #endif
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER
> +#include <asm/libafl_qemu.h>
> +#endif
>  
>  /* console: comma-separated list of console outputs. */
>  static char __initdata opt_console[30] = OPT_CONSOLE_STR;
> @@ -1289,6 +1292,11 @@ void panic(const char *fmt, ...)
>  
>      kexec_crash(CRASHREASON_PANIC);
>  
> +    #ifdef CONFIG_LIBAFL_QEMU_FUZZER
> +    /* Tell the fuzzer that we crashed */
> +    libafl_qemu_end(LIBAFL_QEMU_END_CRASH);
> +    #endif
> +
>      if ( opt_noreboot )
>          machine_halt();
>      else
> -- 
> 2.48.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 22:57:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 22:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924628.1327743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvlJ0-0000jG-Ko; Fri, 21 Mar 2025 22:57:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924628.1327743; Fri, 21 Mar 2025 22:57: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 1tvlJ0-0000j9-Ho; Fri, 21 Mar 2025 22:57:34 +0000
Received: by outflank-mailman (input) for mailman id 924628;
 Fri, 21 Mar 2025 22:57: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 1tvlIy-0000j3-Sv
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 22:57: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 1tvlIu-00HHLe-1j;
 Fri, 21 Mar 2025 22:57:28 +0000
Received: from [2a02:8012:3a1:0:d473:3eed:4e56:a8b]
 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 1tvlIu-00FKav-0G;
 Fri, 21 Mar 2025 22:57: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>
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=Mbe5/muYVoZIYjVpjb4z6k0z8D9I/XAaYCkKhGQxO8c=; b=zzWK/8/EM9uBln3kQVFhoVB30l
	jalavIdFajqb67mOOAm96jZ6QUFPGVLYO7QigRH0V3JqwMkogxEbtofzOpvKCJB7arO5lX8iL4+UT
	KAAWIr9jpKz3x29XP1hkG7Si7ogIfMnEfWb3IchJZaBV8hIz72pkwsdJCkX3o349U2HQ=;
Message-ID: <b79b8ab9-def7-4ac1-b51d-82e9566f9134@xen.org>
Date: Fri, 21 Mar 2025 22:57:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2] xen: add libafl-qemu fuzzer support
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <20250315003544.1101488-1-volodymyr_babchuk@epam.com>
 <alpine.DEB.2.22.394.2503211517130.2325679@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2503211517130.2325679@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano, Volodymyr,

On 21/03/2025 22:32, Stefano Stabellini wrote:
>> diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
>> index b6860a7760..c7a51a1144 100644
>> --- a/xen/arch/arm/psci.c
>> +++ b/xen/arch/arm/psci.c
>> @@ -17,6 +17,7 @@
>>   #include <asm/cpufeature.h>
>>   #include <asm/psci.h>
>>   #include <asm/acpi.h>
>> +#include <asm/libafl_qemu.h>
>>   
>>   /*
>>    * While a 64-bit OS can make calls with SMC32 calling conventions, for
>> @@ -49,6 +50,10 @@ int call_psci_cpu_on(int cpu)
>>   
>>   void call_psci_cpu_off(void)
>>   {
>> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
>> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
>> +#endif
> 
> As discussed, please add a wrapper with an empty implementation in the
> regular case and the call to libafl_qemu_end when the fuzzer is enabled.
> So that here it becomes just something like:
> 
>    fuzzer_success();
> 
> Other than that, the code changes to Xen look OK to me

I am a bit surprised this was resent without addressing the licensing 
issue pointed out by Andrew [1] (I don't see a reply). And if there is 
no issue, then I would have a least expected a mention in the commit 
message why this is ok.

Cheers,

[1] https://lore.kernel.org/ae2dbe98-57cf-4aba-bc48-6d7212cfc859@citrix.com

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 23:09:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 23:09:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924643.1327752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvlUk-0003Ry-ML; Fri, 21 Mar 2025 23:09:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924643.1327752; Fri, 21 Mar 2025 23: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 1tvlUk-0003Rr-Iu; Fri, 21 Mar 2025 23:09:42 +0000
Received: by outflank-mailman (input) for mailman id 924643;
 Fri, 21 Mar 2025 23:09: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvlUj-0003Qy-B1
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 23:09:41 +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 8707150f-06a9-11f0-9ffa-bf95429c2676;
 Sat, 22 Mar 2025 00:09:24 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 3296360008;
 Fri, 21 Mar 2025 23:09:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3348C4CEE3;
 Fri, 21 Mar 2025 23:09:20 +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: 8707150f-06a9-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742598562;
	bh=tOk3JdmqnS+4cgf2DjM3JEYyKK6c0sGOfN6pcwpKGLI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TYzPIgVdM/UBpyEHaLbesLZZz5jOGFa4cZxqQiiuqf0bNzRV5rRXqA+z49b4x0Lta
	 JDTi4/+7KYSgWbsk6QmOr1w0P2ZLfJsCmHsIORS5sxrM1ZIzylzGoS08R51adcqZIL
	 Xkt1UXVEXaK1clD74rnn0UUjZrVaii/ZtYNIaj5D0JRR+udabfz/6OlsQzgjvm3hFJ
	 SOjIWdw9tAfipo6TkaqwF7PhN6iTqGS/PwQq9NJI2yt+5Tl65lxFf537mbM3SNVJrX
	 uiMA+nD6PXzFw0oeGC/So0Ci002TEs+JwtyNFos9hNv2IcsV9mxlT28JT+M9Jjx7SI
	 HpKYAIZW+MJHg==
Date: Fri, 21 Mar 2025 16:09:19 -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 <sstabellini@kernel.org>, andrew.cooper3@citrix.com, 
    michal.orzel@amd.com, julien@xen.org, roger.pau@citrix.com, 
    bertrand.marquis@arm.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
In-Reply-To: <8297406e-b281-4783-9238-d6326db3fa15@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503211607200.2325679@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2503182002160.2000798@ubuntu-linux-20-04-desktop> <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com> <alpine.DEB.2.22.394.2503191754480.2325679@ubuntu-linux-20-04-desktop> <8297406e-b281-4783-9238-d6326db3fa15@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 20 Mar 2025, Jan Beulich wrote:
> On 20.03.2025 01:57, Stefano Stabellini wrote:
> > On Wed, 19 Mar 2025, Jan Beulich wrote:
> >> What about xenctl_bitmap_to_bitmap()?
> >  
> > Let me see first if I managed to handle bitmap_to_xenctl_bitmap well.
> 
> Well, the code looks correct to me, but the description now has gone
> stale. I also wonder whether with that extra restriction the optimization
> is then actually worth it. Just one further nit:

Hi Jan, you make a good point. I tried to come up with a better
approach. What do you think of this?


diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index 3da63a32a6..2f448693c3 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
 	unsigned int remainder = nbits % 8;
 
 	if (remainder)
-		bp[nbits/8] &= (1U << remainder) - 1;
+		*bp &= (1U << remainder) - 1;
 }
 
 int __bitmap_empty(const unsigned long *bitmap, unsigned int bits)
@@ -338,7 +338,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
 			nbits -= 8;
 		}
 	}
-	clamp_last_byte(bp, nbits);
 }
 
 static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
@@ -363,7 +362,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
 				unsigned int nbits)
 {
 	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
-	clamp_last_byte(bp, nbits);
 }
 
 static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
@@ -384,21 +382,40 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
     uint8_t zero = 0;
     int err = 0;
     unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
-    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
-
-    if ( !bytemap )
-        return -ENOMEM;
+    uint8_t last;
 
     guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
     copy_bytes  = min(guest_bytes, xen_bytes);
 
-    bitmap_long_to_byte(bytemap, bitmap, nbits);
+    if ( IS_ENABLED(__BIG_ENDIAN) )
+    {
+        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
 
-    if ( copy_bytes &&
-         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
-        err = -EFAULT;
+        if ( !bytemap )
+            return -ENOMEM;
 
-    xfree(bytemap);
+        bitmap_long_to_byte(bytemap, bitmap, nbits);
+        last = bytemap[nbits/8];
+
+        if ( copy_bytes &&
+             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
+            err = -EFAULT;
+
+        xfree(bytemap);
+    }
+    else
+    {
+        const uint8_t *bytemap = (const uint8_t *)bitmap;
+        last = bytemap[nbits/8];
+
+        if ( copy_bytes &&
+             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
+            err = -EFAULT;
+    }
+
+    clamp_last_byte(&last, nbits);
+    if ( copy_to_guest_offset(xenctl_bitmap->bitmap, copy_bytes - 1, &last, 1) )
+        err = -EFAULT;
 
     for ( i = copy_bytes; !err && i < guest_bytes; i++ )
         if ( copy_to_guest_offset(xenctl_bitmap->bitmap, i, &zero, 1) )


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 23:11:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 23:11:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924653.1327762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvlWG-0005wL-Ux; Fri, 21 Mar 2025 23:11:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924653.1327762; Fri, 21 Mar 2025 23:11: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 1tvlWG-0005wE-ST; Fri, 21 Mar 2025 23:11:16 +0000
Received: by outflank-mailman (input) for mailman id 924653;
 Fri, 21 Mar 2025 23:11: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=1L9V=WI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tvlWG-0005w8-J4
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 23:11:16 +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 c88606d3-06a9-11f0-9ea1-5ba50f476ded;
 Sat, 22 Mar 2025 00:11:14 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 0907943714;
 Fri, 21 Mar 2025 23:11:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81336C4CEE3;
 Fri, 21 Mar 2025 23:11: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: c88606d3-06a9-11f0-9ea1-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742598672;
	bh=eRqlSF19rjPGtKr1//9xbqHuS6iz6gGS+OvkMo708sg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CP4T2tJEryLG8ECZzMzsNGFOlZQoliRrh9G/NYNsXfQLQ8TWLIk3rhg97lK5VtovB
	 u6wtWKH73g3eNrc3/u3yMnY2HIpLxgjDAY8MPvpxcuK2Lb1zj6aHsCksrWxGgNHCvK
	 EGG3jQlGFjQ78eNW5dQEz7glyOlDE8GSzaxpyHaY+1FYG0hWxuozErtjYrMN8Mu2JG
	 BaJF1I3+ITDX/Cl1nrFYaFqsODGT0Z/PsRIoxEio6rS2bk2PxA589Oev4hQqC3ZdeG
	 rEkmH7JYu6HQlIYAN+AnwzWRqJskcgUa3ZoaSfWP4NhfVXU0gxS3mKFHBE6KxUXkxn
	 tbWMRjDMOBu6A==
Date: Fri, 21 Mar 2025 16:11:10 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm/efi: merge neighboring banks
In-Reply-To: <85ac456a-ae11-4a04-8d73-dfafba04de98@xen.org>
Message-ID: <alpine.DEB.2.22.394.2503211534080.2325679@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2503211403040.2325679@ubuntu-linux-20-04-desktop> <85ac456a-ae11-4a04-8d73-dfafba04de98@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 21 Mar 2025, Julien Grall wrote:
> Hi Stefano,
> 
> On 21/03/2025 21:14, Stefano Stabellini wrote:
> > When booting from U-Boot bootefi, there can be a high number of
> > neighboring RAM banks. See for example:
> > 
> > (XEN) RAM: 0000000000000000 - 0000000000bfffff
> > (XEN) RAM: 0000000000c00000 - 0000000000c00fff
> > (XEN) RAM: 0000000000c01000 - 0000000000dfffff
> > (XEN) RAM: 0000000000e00000 - 000000000279dfff
> > (XEN) RAM: 000000000279e000 - 00000000029fffff
> > (XEN) RAM: 0000000002a00000 - 0000000008379fff
> > (XEN) RAM: 000000000837a000 - 00000000083fffff
> > (XEN) RAM: 0000000008400000 - 0000000008518fff
> > (XEN) RAM: 0000000008519000 - 00000000085fffff
> > (XEN) RAM: 0000000008600000 - 0000000008613fff
> > (XEN) RAM: 0000000008614000 - 00000000097fffff
> > (XEN) RAM: 0000000009800000 - 00000000098a7fff
> > (XEN) RAM: 00000000098a8000 - 0000000009dfffff
> > (XEN) RAM: 0000000009e00000 - 0000000009ea7fff
> > (XEN) RAM: 0000000009ea8000 - 000000001fffffff
> > (XEN) RAM: 0000000020000000 - 000000002007ffff
> > (XEN) RAM: 0000000020080000 - 0000000077b17fff
> > (XEN) RAM: 0000000077b19000 - 0000000077b2bfff
> > (XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
> > (XEN) RAM: 0000000077c8e000 - 0000000077c91fff
> > (XEN) RAM: 0000000077ca7000 - 0000000077caafff
> > (XEN) RAM: 0000000077cac000 - 0000000077caefff
> > (XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
> > (XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
> > (XEN) RAM: 0000000077cd8000 - 000000007bd07fff
> > (XEN) RAM: 000000007bd09000 - 000000007fd5ffff
> > (XEN) RAM: 000000007fd70000 - 000000007fefffff
> > (XEN) RAM: 0000000800000000 - 000000087fffffff
> > 
> > It is undesirable to keep them separate, as this approach consumes more
> > resources.
> 
> What resources? This is pre-allocated static array in the binary. They are
> also dropped after init. The more interesting argument is...
> 
> > 
> > Additionally, Xen does not currently support boot modules that span
> > multiple banks: at least one of the regions get freed twice. The first
> > time from setup_mm->populate_boot_allocator, then again from
> > discard_initial_modules->fw_unreserved_regions. With a high number of
> > banks, it can be difficult to arrange the boot modules in a way that
> > avoids spanning across multiple banks.
> 
> ... this one. Although, I find weird that U-boot would create tons of banks.
> Have you considered to ask them what's going on?
> 
> Also, what about the cases where U-boot is not booting Xen without UEFI? Why
> is this not a problem? Asking just in case the merge should happen in code
> common rather than in UEFI.

I was also curious so I printed all the Types (desc->Type) for each EFI
region, see below the results.

DEBUG start=0x0 type=0x7 
DEBUG start=0xc00000 type=0x4 
DEBUG start=0xc01000 type=0x7 
DEBUG start=0xe00000 type=0x4 
DEBUG start=0x279e000 type=0x7 
DEBUG start=0x2a00000 type=0x4 
DEBUG start=0x837a000 type=0x7 
DEBUG start=0x8400000 type=0x4 
DEBUG start=0x8519000 type=0x7 
DEBUG start=0x8600000 type=0x4 
DEBUG start=0x8614000 type=0x7 
DEBUG start=0x9800000 type=0x4 
DEBUG start=0x98a8000 type=0x7 
DEBUG start=0x9e00000 type=0x4 
DEBUG start=0x9ea8000 type=0x7 
DEBUG start=0x20000000 type=0x4 
DEBUG start=0x20080000 type=0x7 
DEBUG start=0x77b19000 type=0x2 
DEBUG start=0x77b2c000 type=0x1 
DEBUG start=0x77c8e000 type=0x4 
DEBUG start=0x77ca7000 type=0x4 
DEBUG start=0x77cac000 type=0x4 
DEBUG start=0x77cd0000 type=0x4 
DEBUG start=0x77cd4000 type=0x4 
DEBUG start=0x77cd8000 type=0x3 
DEBUG start=0x7bd09000 type=0x3 
DEBUG start=0x7fd70000 type=0x3 
DEBUG start=0x800000000 type=0x4 

Looking at EFI_MEMORY_TYPE, 0x4 should be EfiBootServicesData and 0x7
should be EfiConventionalMemory. So the reason why there are so many
neighboring regions is that they are of different EFI types. There are
very many EfiBootServicesData regions, and by the time interesting Xen
code runs, BootServices are not available anymore, so they can be
reused. But they are still counted separately from the EFI point of
view. This cannot happen with the non-EFI boot as there are no
EfiBootServicesData regions.

 
> > This small patch merges neighboring regions, to make dealing with them
> > more efficient, and to make it easier to load boot modules.
> 
> While I understand the value for this, I ...
> 
> > The patch
> > also takes the opportunity to check and discard duplicates.
> 
> don't understand why we need to check for duplicates. This also doesn't
> properly work for a few reasons:
>   * This doesn't cover partial overlap
>   * This would not work if an entry was merged with another previously
> 
> So I think the code to check duplicates should be removed. If you are
> concerned about overlap, then it would be better to enable check_reserved
> just drop the code. If you are concerned about to detect and warn/panic.

Thanks Julien. No, I am not concerned about duplicates, I thought I
would add check since I was at it. I am totally fine removing it.

 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> > index a80a5a7ab3..f6f23ed5b2 100644
> > --- a/xen/arch/arm/efi/efi-boot.h
> > +++ b/xen/arch/arm/efi/efi-boot.h
> > @@ -163,6 +163,20 @@ static bool __init meminfo_add_bank(struct membanks
> > *mem,
> >       struct membank *bank;
> >       paddr_t start = desc->PhysicalStart;
> >       paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
> > +    int j;
> 
> nr_banks is an "unsigned int". So this should be the same type.

Thank you, good point

> > +
> > +    for ( j = 0; j < mem->nr_banks; j++ )
> > +    {
> > +        if ( mem->bank[j].start == start && mem->bank[j].size == size )
> > +        {
> > +            return true;
> > +        }
> > +        else if ( mem->bank[j].start + mem->bank[j].size == start )
> 
> Please add some parentheses to make it more obvious that you checking (a + b)
> == size.

Sure I can do that


> > +        {
> > +            mem->bank[j].size += size;
> > +            return true;
> > +        }
> > +    }
> >         if ( mem->nr_banks >= mem->max_banks )
> >           return false;
> 
> Cheers,
> 
> -- 
> Julien Grall
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 21 23:31:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 23:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924665.1327772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvlpr-0002Cd-HW; Fri, 21 Mar 2025 23:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924665.1327772; Fri, 21 Mar 2025 23:31: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 1tvlpr-0002CW-Ec; Fri, 21 Mar 2025 23:31:31 +0000
Received: by outflank-mailman (input) for mailman id 924665;
 Fri, 21 Mar 2025 23:31:30 +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 1tvlpq-0002CA-S7
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 23:31:30 +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 1tvlpn-00HI4j-2A;
 Fri, 21 Mar 2025 23:31:27 +0000
Received: from [2a02:8012:3a1:0:d473:3eed:4e56:a8b]
 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 1tvlpn-00FMw5-0K;
 Fri, 21 Mar 2025 23:31: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=npC1m6wXTjGWEjiR/cRcB3ogVL17yIF4FyZWnyUxW5s=; b=1lKp7nyqE8ga8erKJBdyGV+Vjh
	ZUUfsoR0m/G14uuJdM5Do2DAmZeNJMRZONNvNIXJ4WHWLTrwX3eE3Nb3of47d0+l3MWV2Y1L+7Ehp
	OhClzalLx8G6g6m4Wwkfw1n/VOe+A+8YklemvrrBVytEbivDeNcqGSPaNNSbVwgdWgqE=;
Message-ID: <5d519ffd-8747-4367-b92f-01c20a483e72@xen.org>
Date: Fri, 21 Mar 2025 23:31:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2] xen: add libafl-qemu fuzzer support
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <20250315003544.1101488-1-volodymyr_babchuk@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250315003544.1101488-1-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 15/03/2025 00:36, Volodymyr Babchuk wrote:
> LibAFL, which is a part of AFL++ project is a instrument that allows
> us to perform fuzzing on beremetal code (Xen hypervisor in this case)
> using QEMU as an emulator. It employs QEMU's ability to create
> snapshots to run many tests relatively quickly: system state is saved
> right before executing a new test and restored after the test is
> finished.
> 
> This patch adds all necessary plumbing to run aarch64 build of Xen
> inside that LibAFL-QEMU fuzzer. From the Xen perspective we need to
> do following things:
> 
> 1. Able to communicate with LibAFL-QEMU fuzzer. This is done by
> executing special opcodes, that only LibAFL-QEMU can handle.
> 
> 2. Use interface from p.1 to tell the fuzzer about code Xen section,
> so fuzzer know which part of code to track and gather coverage data.
> 
> 3. Report fuzzer about crash. This is done in panic() function.
> 
> 4. Prevent test harness from shooting itself in knee.
> 
> Right now test harness is an external component, because we want to
> test external Xen interfaces, but it is possible to fuzz internal code
> if we want to.
> 
> Test harness is implemented XTF-based test-case(s). As test harness
> can issue hypercall that shuts itself down, KConfig option
> CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING was added. It basically tells
> fuzzer that test was completed successfully if Dom0 tries to shut
> itself (or the whole machine) down.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> I tried to fuzz the vGIC emulator and hypercall interface. While vGIC
> fuzzing didn't yield any interesting results, hypercall fuzzing found a
> way to crash the hypervisor from Dom0 on aarch64, using
> "XEN_SYSCTL_page_offline_op" with "sysctl_query_page_offline" sub-op,
> because it leads to page_is_ram_type() call which is marked
> UNREACHABLE on ARM.
> 
> In v2:
> 
>   - Moved to XTF-based test harness
>   - Severely reworked the fuzzer itself. Now it has user-friendly
>     command-line interface and is capable of running in CI, as it now
>     returns an appropriate error code if any faults were found
>   - Also I found, debugged and fixed a nasty bug in LibAFL-QEMU fork,
>     which crashed the whole fuzzer.
> 
> Right now the fuzzer is lockated at Xen Troops repo:
> 
> https://github.com/xen-troops/xen-fuzzer-rs
> 
> But I believe that it is ready to be included into
> gitlab.com/xen-project/
> 
> XTF-based harness is at
> 
> https://gitlab.com/vlad.babchuk/xtf/-/tree/mr_libafl
> 
> and there is corresponding MR for including it into
> 
> https://gitlab.com/xen-project/fusa/xtf/-/tree/xtf-arm
> 
> So, to sum up. All components are basically ready for initial
> inclusion. There will be smaller, integration-related changes
> later. For example - we will need to update URLs for various
> components after they are moved to correct places.
> ---
>   docs/hypervisor-guide/fuzzing.rst           |  90 ++++++++++++
>   xen/arch/arm/Kconfig.debug                  |  26 ++++
>   xen/arch/arm/Makefile                       |   1 +
>   xen/arch/arm/include/asm/libafl_qemu.h      |  54 +++++++
>   xen/arch/arm/include/asm/libafl_qemu_defs.h |  37 +++++
>   xen/arch/arm/libafl_qemu.c                  | 152 ++++++++++++++++++++
>   xen/arch/arm/psci.c                         |  13 ++
>   xen/common/sched/core.c                     |  17 +++
>   xen/common/shutdown.c                       |   7 +
>   xen/drivers/char/console.c                  |   8 ++
>   10 files changed, 405 insertions(+)
>   create mode 100644 docs/hypervisor-guide/fuzzing.rst
>   create mode 100644 xen/arch/arm/include/asm/libafl_qemu.h
>   create mode 100644 xen/arch/arm/include/asm/libafl_qemu_defs.h
>   create mode 100644 xen/arch/arm/libafl_qemu.c
> 
> diff --git a/docs/hypervisor-guide/fuzzing.rst b/docs/hypervisor-guide/fuzzing.rst
> new file mode 100644
> index 0000000000..a5de71dd25
> --- /dev/null
> +++ b/docs/hypervisor-guide/fuzzing.rst
> @@ -0,0 +1,90 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Fuzzing
> +=======
> +
> +It is possible to use LibAFL-QEMU for fuzzing hypervisor. Right now
> +only aarch64 is supported and only hypercall fuzzing is enabled in the
> +test harness, but there are plans to add vGIC interface fuzzing, PSCI
> +fuzzing and vPL011 fuzzing as well.
> +
> +
> +Principle of operation
> +----------------------
> +
> +LibAFL-QEMU is a part of American Fuzzy lop plus plus (AKA AFL++)
> +project. It uses special build of QEMU, that allows to fuzz baremetal
> +software like Xen hypervisor or Linux kernel. Basic idea is that we
> +have software under test (Xen hypervisor in our case) and a test
> +harness application. Test harness uses special protocol to communicate
> +with LibAFL outside of QEMU to get input data and report test
> +result. LibAFL monitors which branches are taken by Xen and mutates
> +input data in attempt to discover new code paths that eventually can
> +lead to a crash or other unintended behavior.
> +
> +LibAFL uses QEMU's `snapshot` feature to run multiple test without
> +restarting the whole system every time. This speeds up fuzzing process
> +greatly.
> +
> +So, to try Xen fuzzing we need three components: LibAFL-based fuzzer,
> +test harness and Xen itself.
> +
> +Building Xen for fuzzing
> +------------------------
> +
> +Xen hypervisor should be built with these two options::
> +
> + CONFIG_LIBAFL_QEMU_FUZZER=y
> + CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING=y
> +
> +Building LibAFL-QEMU based fuzzer
> +---------------------------------
> +
> +Fuzzer is written in Rust, so you need Rust toolchain and `cargo` tool
> +in your system. Please refer to your distro documentation on how to
> +obtain them.
> +
> +Once Rust is ready, fetch and build the fuzzer::
> +
> +  # git clone https://github.com/xen-troops/xen-fuzzer-rs
> +  # cd xen-fuzzer-rs
> +  # cargo build
> +
> +Building test harness
> +---------------------
> +
> +We need to make low-level actions, like issuing random hypercalls, so
> +for test harness we use special build of Zephyr application. We use
> +XTF as a test harness. You can build XTF manually, or let fuzzer to do this::
> +
> +  # cargo make build_xtf
> +
> +This fill download and build XTF for ARM.
> +
> +Running the fuzzer
> +------------------
> +
> +Please refer to README.md that comes with the fuzzer, but the most
> +versatile way is to run it like this::
> +
> +  # target/debug/xen_fuzzer -t 3600 /path/to/xen \
> +      target/xtf/tests/arm-vgic-fuzzer/test-mmu64le-arm-vgic-fuzzer
> +
> +(assuming that you built XTF with `cargo make build_xtf`)
> +
> +Any inputs that led to crashes will be found in `crashes` directory.
> +
> +You can replay a crash with `-r` option::
> +
> +  # target/debug/xen_fuzzer -r crashes/0195e4fc65828c17 run \
> +      /path/to/xen \
> +      /path/to/harness
> +
> +
> +Fuzzer will return non-zero error code if it encountered any crashes.
> +
> +TODOs
> +-----
> +
> + - Add x86 support.
> + - Implement fuzzing of other external hypervisor interfaces.
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index 5a03b220ac..3b00c77d3a 100644
> --- a/xen/arch/arm/Kconfig.debug
> +++ b/xen/arch/arm/Kconfig.debug
> @@ -190,3 +190,29 @@ config EARLY_PRINTK_INC
>   	default "debug-mvebu.inc" if EARLY_UART_MVEBU
>   	default "debug-pl011.inc" if EARLY_UART_PL011
>   	default "debug-scif.inc" if EARLY_UART_SCIF
> +
> +config LIBAFL_QEMU_FUZZER
> +	bool "Enable LibAFL-QEMU calls"

Looking at the code below, I kind of doubt this is working on arm32. Can 
you confirm? If it doesn't work, then this needs to be "depends on".

> +	help
> +	  This option enables support for LibAFL-QEMU calls. Enable this
> +	  only when you are going to run hypervisor inside LibAFL-QEMU.
> +	  Xen will report code section to LibAFL and will report about
> +	  crash when it panics.
> +
> +	  Do not try to run Xen built on this option on any real hardware
> +	  or plain QEMU, because it will just crash during startup.
> +
> +config LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +	depends on LIBAFL_QEMU_FUZZER
> +	bool "LibAFL: Report any attempt to suspend/destroy a domain as a success"
> +	help
> +	  When fuzzing hypercalls, fuzzer sometimes will issue an hypercall that
> +	  leads to a domain shutdown, or machine shutdown, or vCPU being
> +	  blocked, or something similar. In this case test harness will not be
> +	  able to report about successfully handled call to the fuzzer. Fuzzer
> +	  will report timeout and mark this as a crash, which is not true. So,
> +	  in such cases we need to report about successfully test case from the
> +	  hypervisor itself.
> +
> +          Enable this option only if fuzzing attempt can lead to a correct
> +	  stoppage, like when fuzzing hypercalls or PSCI.
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index fb0948f067..7b4eaab680 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -12,6 +12,7 @@ obj-$(CONFIG_TEE) += tee/
>   obj-$(CONFIG_HAS_VPCI) += vpci.o
>   
>   obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
> +obj-${CONFIG_LIBAFL_QEMU_FUZZER} += libafl_qemu.o
>   obj-y += cpuerrata.o
>   obj-y += cpufeature.o
>   obj-y += decode.o
> diff --git a/xen/arch/arm/include/asm/libafl_qemu.h b/xen/arch/arm/include/asm/libafl_qemu.h
> new file mode 100644
> index 0000000000..b90cf48b9a
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/libafl_qemu.h
> @@ -0,0 +1,54 @@
> +#ifndef LIBAFL_QEMU_H
> +#define LIBAFL_QEMU_H
> +
> +#include <xen/stdint.h>
> +#include "libafl_qemu_defs.h"
> +#define LIBAFL_QEMU_PRINTF_MAX_SIZE 4096

Is this defined by libafl or an internal decision?

[...]

> diff --git a/xen/arch/arm/include/asm/libafl_qemu_defs.h b/xen/arch/arm/include/asm/libafl_qemu_defs.h
> new file mode 100644
> index 0000000000..2866cadaac
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/libafl_qemu_defs.h
> @@ -0,0 +1,37 @@

Missing license. Also, is this file taken from somewhere?

> +#ifndef LIBAFL_QEMU_DEFS
> +#define LIBAFL_QEMU_DEFS
> +
> +#define LIBAFL_STRINGIFY(s) #s
> +#define XSTRINGIFY(s) LIBAFL_STRINGIFY(s)
> +
> +#if __STDC_VERSION__ >= 201112L
> +  #define STATIC_CHECKS                                   \
> +    _Static_assert(sizeof(void *) <= sizeof(libafl_word), \
> +                   "pointer type should not be larger and libafl_word");
> +#else
> +  #define STATIC_CHECKS
> +#endif

No-one seems to use STATIC_CHECKS? Is this intended?

> +
> +#define LIBAFL_SYNC_EXIT_OPCODE 0x66f23a0f
 > +#define LIBAFL_BACKDOOR_OPCODE 0x44f23a0f

Are the opcode valid for arm32? If not, they should be protected with 
#ifdef CONFIG_ARM_64.

> +
> +#define LIBAFL_QEMU_TEST_VALUE 0xcafebabe
 > +> +#define LIBAFL_QEMU_HDR_VERSION_NUMBER 0111  // TODO: find a nice 
way to set it.
> +
> +typedef enum LibaflQemuCommand {
> +  LIBAFL_QEMU_COMMAND_START_VIRT = 0,
> +  LIBAFL_QEMU_COMMAND_START_PHYS = 1,
> +  LIBAFL_QEMU_COMMAND_INPUT_VIRT = 2,
> +  LIBAFL_QEMU_COMMAND_INPUT_PHYS = 3,
> +  LIBAFL_QEMU_COMMAND_END = 4,
> +  LIBAFL_QEMU_COMMAND_SAVE = 5,
> +  LIBAFL_QEMU_COMMAND_LOAD = 6,
> +  LIBAFL_QEMU_COMMAND_VERSION = 7,
> +  LIBAFL_QEMU_COMMAND_VADDR_FILTER_ALLOW = 8,
> +  LIBAFL_QEMU_COMMAND_INTERNAL_ERROR = 9,
> +  LIBAFL_QEMU_COMMAND_LQPRINTF = 10,
> +  LIBAFL_QEMU_COMMAND_TEST = 11,
> +} LibaflExit;
> +
> +#endif

Missing emacs magic.

> diff --git a/xen/arch/arm/libafl_qemu.c b/xen/arch/arm/libafl_qemu.c
> new file mode 100644
> index 0000000000..58924ce6c6
> --- /dev/null
> +++ b/xen/arch/arm/libafl_qemu.c
> @@ -0,0 +1,152 @@
> +/* SPDX-License-Identifier: Apache-2.0 */

See my other reply about the license. I think this need to be resolved 
before sending a new version.

> +/*
> +   This file is based on libafl_qemu_impl.h and libafl_qemu_qemu_arch.h
> +   from LibAFL project.
> +*/
> +#include <xen/lib.h>
> +#include <xen/init.h>
> +#include <xen/kernel.h>
> +#include <asm/libafl_qemu.h>
> +
> +#define LIBAFL_DEFINE_FUNCTIONS(name, opcode)				\
> +	libafl_word _libafl_##name##_call0(	\
> +		libafl_word action) {					\
> +		libafl_word ret;					\
> +		__asm__ volatile (					\
> +			"mov x0, %1\n"					\
> +			".word " XSTRINGIFY(opcode) "\n"		\
> +			"mov %0, x0\n"					\
> +			: "=r"(ret)					\
> +			: "r"(action)					\
> +			: "x0"						\

Can we store the action directly in x0 (same for the other argunments 
below)? This would avoid to clobber two registers (See smccc.h as an 
example).

> +			);						\
> +		return ret;						\
> +	}								\
> +									\
> +	libafl_word _libafl_##name##_call1(	\
> +		libafl_word action, libafl_word arg1) {			\
> +		libafl_word ret;					\
> +		__asm__ volatile (					\
> +			"mov x0, %1\n"					\
> +			"mov x1, %2\n"					\
> +			".word " XSTRINGIFY(opcode) "\n"		\
> +			"mov %0, x0\n"					\
> +			: "=r"(ret)					\
> +			: "r"(action), "r"(arg1)			\
> +			: "x0", "x1"					\
> +			);						\
> +		return ret;						\
> +	}								\
> +									\
> +	libafl_word _libafl_##name##_call2(	\
> +		libafl_word action, libafl_word arg1, libafl_word arg2) { \
> +		libafl_word ret;					\
> +		__asm__ volatile (					\
> +			"mov x0, %1\n"					\
> +			"mov x1, %2\n"					\
> +			"mov x2, %3\n"					\
> +			".word " XSTRINGIFY(opcode) "\n"		\
> +			"mov %0, x0\n"					\
> +			: "=r"(ret)					\
> +			: "r"(action), "r"(arg1), "r"(arg2)		\
> +			: "x0", "x1", "x2"				\
> +			);						\
> +		return ret;						\
> +	}
> +
> +// Generates sync exit functions
> +LIBAFL_DEFINE_FUNCTIONS(sync_exit, LIBAFL_SYNC_EXIT_OPCODE)
> +
> +// Generates backdoor functions
> +LIBAFL_DEFINE_FUNCTIONS(backdoor, LIBAFL_BACKDOOR_OPCODE)
> +
> +static char _lqprintf_buffer[LIBAFL_QEMU_PRINTF_MAX_SIZE] = {0};

AFAICT, this buffer is only used by lqprintf(). So it would be better to 
move it in lqprintf(). Also, you don't need {0}.

> +
> +libafl_word libafl_qemu_start_virt(void       *buf_vaddr,
> +                                            libafl_word max_len) {

What coding style is this file meant to use?

> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_START_VIRT,
> +                                 (libafl_word)buf_vaddr, max_len);
> +}
> +
> +libafl_word libafl_qemu_start_phys(void       *buf_paddr,
> +                                            libafl_word max_len) {
> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_START_PHYS,
> +                                 (libafl_word)buf_paddr, max_len);
> +}
> +
> +libafl_word libafl_qemu_input_virt(void       *buf_vaddr,
> +                                            libafl_word max_len) {
> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_INPUT_VIRT,
> +                                 (libafl_word)buf_vaddr, max_len);
> +}
> +
> +libafl_word libafl_qemu_input_phys(void       *buf_paddr,
> +                                            libafl_word max_len) {
> +  return _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_INPUT_PHYS,
> +                                 (libafl_word)buf_paddr, max_len);
> +}
> +
> +void libafl_qemu_end(enum LibaflQemuEndStatus status) {
> +  _libafl_sync_exit_call1(LIBAFL_QEMU_COMMAND_END, status);
> +}
> +
> +void libafl_qemu_save(void) {
> +  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_SAVE);
> +}
> +
> +void libafl_qemu_load(void) {
> +  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_LOAD);
> +}
> +
> +libafl_word libafl_qemu_version(void) {
> +  return _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_VERSION);
> +}
> +
> +void libafl_qemu_internal_error(void) {
> +  _libafl_sync_exit_call0(LIBAFL_QEMU_COMMAND_INTERNAL_ERROR);
> +}
> +
> +void lqprintf(const char *fmt, ...) {

I am not sure I understand the value of lqprinf(). Why can't we use the 
console? When is this meant to be used?

> +  va_list args;
> +  int res;
> +  va_start(args, fmt);
> +  res = vsnprintf(_lqprintf_buffer, LIBAFL_QEMU_PRINTF_MAX_SIZE, fmt, args);
 > +  va_end(args);

What if lqprintf() is called concurrently?

> +
> +  if (res >= LIBAFL_QEMU_PRINTF_MAX_SIZE) {
> +    // buffer is not big enough, either recompile the target with more
> +    // space or print less things
> +    libafl_qemu_internal_error();
> +  }
> +
> +  _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_LQPRINTF,
> +                          (libafl_word)_lqprintf_buffer, res);
> +}
> +
> +void libafl_qemu_test(void) {
> +  _libafl_sync_exit_call1(LIBAFL_QEMU_COMMAND_TEST, LIBAFL_QEMU_TEST_VALUE);
> +}
> +
> +void libafl_qemu_trace_vaddr_range(libafl_word start,
> +                                            libafl_word end) {
> +  _libafl_sync_exit_call2(LIBAFL_QEMU_COMMAND_VADDR_FILTER_ALLOW, start, end);
> +}
> +
> +void libafl_qemu_trace_vaddr_size(libafl_word start,
> +                                           libafl_word size) {
> +  libafl_qemu_trace_vaddr_range(start, start + size);
> +}
> +
> +static int init_afl(void)
> +{
> +	vaddr_t xen_text_start = (vaddr_t)_stext;
> +	vaddr_t xen_text_end = (vaddr_t)_etext;
> +
> +	lqprintf("Telling AFL about code section: %lx - %lx\n", xen_text_start, xen_text_end);
 > +> +	libafl_qemu_trace_vaddr_range(xen_text_start, xen_text_end);
 > +> +	return 0;
> +}
> +
> +__initcall(init_afl);
> diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
> index b6860a7760..c7a51a1144 100644
> --- a/xen/arch/arm/psci.c
> +++ b/xen/arch/arm/psci.c
> @@ -17,6 +17,7 @@
>   #include <asm/cpufeature.h>
>   #include <asm/psci.h>
>   #include <asm/acpi.h>
> +#include <asm/libafl_qemu.h>
>   
>   /*
>    * While a 64-bit OS can make calls with SMC32 calling conventions, for
> @@ -49,6 +50,10 @@ int call_psci_cpu_on(int cpu)
>   
>   void call_psci_cpu_off(void)
>   {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif

I am a bit confused with this call. For a first, this cannot be reached 
from a VM (or even dom0). Then, even if it is reached, shouldn't we 
allow the test continue while other pCPUs are running?

That said, the call to QEMU is not PSCI related. So shouldn't this be 
called from the callers (same applies to all the changes in PSCI)?

> +
>       if ( psci_ver > PSCI_VERSION(0, 1) )
>       {
>           struct arm_smccc_res res;
> @@ -62,12 +67,20 @@ void call_psci_cpu_off(void)
>   
>   void call_psci_system_off(void)
>   {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
> +
>       if ( psci_ver > PSCI_VERSION(0, 1) )
>           arm_smccc_smc(PSCI_0_2_FN32_SYSTEM_OFF, NULL);
>   }
>   
>   void call_psci_system_reset(void)
>   {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
> +
>       if ( psci_ver > PSCI_VERSION(0, 1) )
>           arm_smccc_smc(PSCI_0_2_FN32_SYSTEM_RESET, NULL);
>   }
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index 9043414290..55eb132568 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -47,6 +47,10 @@
>   #define pv_shim false
>   #endif
>   
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER

This Kconfig is only defined on Arm but you are using in common code. 
Even if this can't be supported right now, shouldn't this be defined in 
common code?

> +#include <asm/libafl_qemu.h>
> +#endif
> +
>   /* opt_sched: scheduler - default to configured value */
>   static char __initdata opt_sched[10] = CONFIG_SCHED_DEFAULT;
>   string_param("sched", opt_sched);
> @@ -1452,6 +1456,10 @@ static long do_poll(const struct sched_poll *sched_poll)
>       if ( !guest_handle_okay(sched_poll->ports, sched_poll->nr_ports) )
>           return -EFAULT;
>   
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif

I think this and all the changes in sched/core need a comment explaning 
why we want to stop the fuzzing. For instance, this one sort of makes 
sense but...

> +
>       set_bit(_VPF_blocked, &v->pause_flags);
>       v->poll_evtchn = -1;
>       set_bit(v->vcpu_id, d->poll_mask);
> @@ -1904,12 +1912,18 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>       {
>       case SCHEDOP_yield:
>       {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +        libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif

... this doesn't not. It is just a yield, there is no blocking operations.

>           ret = vcpu_yield();
>           break;
>       }
>   
>       case SCHEDOP_block:
>       {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +        libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif
>           vcpu_block_enable_events();
>           break;
>       }
> @@ -1924,6 +1938,9 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>   
>           TRACE_TIME(TRC_SCHED_SHUTDOWN, current->domain->domain_id,
>                      current->vcpu_id, sched_shutdown.reason);
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +        libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif

Shouldn't this be called from domain_shutdown() to cover all the 
possible shutdown case? I am mainly thinking about domain_crash() which 
you don't seem to handle.

>           ret = domain_shutdown(current->domain, (u8)sched_shutdown.reason);
>   
>           break;
> diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
> index c47341b977..1340f4b606 100644
> --- a/xen/common/shutdown.c
> +++ b/xen/common/shutdown.c
> @@ -11,6 +11,10 @@
>   #include <xen/kexec.h>
>   #include <public/sched.h>
>   
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER
> +#include <asm/libafl_qemu.h>
> +#endif
> +
>   /* opt_noreboot: If true, machine will need manual reset on error. */
>   bool __ro_after_init opt_noreboot;
>   boolean_param("noreboot", opt_noreboot);
> @@ -32,6 +36,9 @@ static void noreturn reboot_or_halt(void)
>   
>   void hwdom_shutdown(unsigned char reason)
>   {
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER_PASS_BLOCKING
> +    libafl_qemu_end(LIBAFL_QEMU_END_OK);
> +#endif

If you call libalf_qemu_end() from domain_shutdown(), then you shouldn't 
need a special case for the hardware domain.

>       switch ( reason )
>       {
>       case SHUTDOWN_poweroff:
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index ba428199d2..55d33fa744 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -40,6 +40,9 @@
>   #ifdef CONFIG_SBSA_VUART_CONSOLE
>   #include <asm/vpl011.h>
>   #endif
> +#ifdef CONFIG_LIBAFL_QEMU_FUZZER
> +#include <asm/libafl_qemu.h>
> +#endif
>   
>   /* console: comma-separated list of console outputs. */
>   static char __initdata opt_console[30] = OPT_CONSOLE_STR;
> @@ -1289,6 +1292,11 @@ void panic(const char *fmt, ...)
>   
>       kexec_crash(CRASHREASON_PANIC);
>   
> +    #ifdef CONFIG_LIBAFL_QEMU_FUZZER
> +    /* Tell the fuzzer that we crashed */
> +    libafl_qemu_end(LIBAFL_QEMU_END_CRASH);
> +    #endif
> +
>       if ( opt_noreboot )
>           machine_halt();
>       else

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 21 23:34:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Mar 2025 23:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924678.1327782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvlsX-0002mo-24; Fri, 21 Mar 2025 23:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924678.1327782; Fri, 21 Mar 2025 23:34: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 1tvlsW-0002mh-V6; Fri, 21 Mar 2025 23:34:16 +0000
Received: by outflank-mailman (input) for mailman id 924678;
 Fri, 21 Mar 2025 23:34:15 +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 1tvlsV-0002mb-5w
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 23:34:15 +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 1tvlsS-00HIAP-0w;
 Fri, 21 Mar 2025 23:34:12 +0000
Received: from [2a02:8012:3a1:0:d473:3eed:4e56:a8b]
 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 1tvlsR-00FN6c-2p;
 Fri, 21 Mar 2025 23:34: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>
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=eeMEf3p/slSL7nc0B+FICe+pSUqyAIkq8B5EyRFziYc=; b=VFrjJaMeZ7tsTwocHKG5vgqZoL
	bwD/83xjIiPYQJQbsCyVZeJY7VEWUFX/WuUBUFO5uHm7iry0Il0SmQhC3XbSjCdEkFPvb+uhE8uLA
	WU+dyeSmHryKJBetRtinvP8Cv+aF2HMFvwMskDMRVNzGmU4VEr4R2nuIedFScgG4zIS0=;
Message-ID: <1a27885a-ec07-4716-8e62-9c4bb25ca1cb@xen.org>
Date: Fri, 21 Mar 2025 23:34:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2] xen: add libafl-qemu fuzzer support
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <20250315003544.1101488-1-volodymyr_babchuk@epam.com>
 <alpine.DEB.2.22.394.2503211517130.2325679@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2503211517130.2325679@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 21/03/2025 22:32, Stefano Stabellini wrote:
> As discussed, please add a wrapper with an empty implementation in the
> regular case and the call to libafl_qemu_end when the fuzzer is enabled.
> So that here it becomes just something like:
> 
>    fuzzer_success();

I was thinking the same when reviewing the code. It would make the code 
a bit more readable. We would also want fuzzer_failure(). Both would 
need to be implemented in a common header.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sat Mar 22 12:51:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Mar 2025 12:51:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924403.1327792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tvyJN-00041t-9H; Sat, 22 Mar 2025 12:50:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924403.1327792; Sat, 22 Mar 2025 12:50: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 1tvyJN-00041m-68; Sat, 22 Mar 2025 12:50:49 +0000
Received: by outflank-mailman (input) for mailman id 924403;
 Fri, 21 Mar 2025 19:10: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=su4e=WI=srs.euronap.de=SRS1=HXwZ=home.tangomaris.de==DDDU=WI=sl.nospam.tangomaris.de=xen-mailinglist@srs-se1.protection.inumbo.net>)
 id 1tvhl5-0008Qe-CI
 for xen-devel@lists.xenproject.org; Fri, 21 Mar 2025 19:10:19 +0000
Received: from mail.euronap.de (mail.euronap.de [84.38.78.210])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1fd8b465-0688-11f0-9ffa-bf95429c2676;
 Fri, 21 Mar 2025 20:10:17 +0100 (CET)
Received: from home.tangomaris.de
 (ip-130-180-058-238.um40.pools.vodafone-ip.de [130.180.58.238])
 (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 mail.euronap.de (Postfix) with ESMTPSA id 4ZKBpw0lrVz6tcS
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 20:10:16 +0100 (CET)
Received: from [192.168.222.26] (ip-109-091-129-157.um37.pools.vodafone-ip.de
 [109.91.129.157])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by gw.tangomaris.de (Postfix) with ESMTPSA id 4ZKBpv1NKsz3wrR
 for <xen-devel@lists.xenproject.org>; Fri, 21 Mar 2025 20:10:15 +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: 1fd8b465-0688-11f0-9ffa-bf95429c2676
Message-ID: <f06ad622-4bb7-4a7d-9d11-a3c1456a4aa1@sl.nospam.tangomaris.de>
Date: Fri, 21 Mar 2025 20:10:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: xen-devel@lists.xenproject.org
Content-Language: de-CH
From: Shen Long <xen-mailinglist@sl.nospam.tangomaris.de>
Subject: VIF network definition does not work with backend=domnet
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello,

I use XEN on a gentoo home-lab/home-network server. I installed the Dom0 
with gentoo with a dedicated network card. I gave a spare network card 
on the machine to a dedicated network driver domain which also runs gentoo.

Now i discovered an issue with the VIF spec for new domUs.

Following problem. If i start a domu with a vif spec to connect to a 
backend domu it does fail with an error.
If i omit the vif spec, create the domu and immediately attach a network 
card with xl network-attach backend=netbackend it works.

Here's the netbackend.cfg, if i may forgot something:

 > name = "netbackend"
 > builder = "hvm"
 > vcpus = 4
 > memory = 4096
 > pci = [ '03:00.0' ]
 > disk = [ 'phy:/dev/mapper/xenhost-netbackend,xvda,w' ]
 > netif="yes"
 > usbdevice = [ "tablet" ]
 > serial = "pty"
 > on_poweroff = "destroy"
 > on_reboot = "restart"
 > on_crash = "restart"

My backend have several bridge-networks configured with associated 
network-vlans on my physical interface.
- home
- dmz
- foo
- infra

Here the test.cfg domu which "works":

name = "test"
builder = "hvm"
vcpus = 1
memory = 4096
#vif = [ 'backend=netbackend,bridge=dmz' ]
disk = [ 'file:/isos/systemrescue-11.03-amd64.iso,hda:cdrom,r' ]
usbdevice = [ "tablet" ]
serial = "pty"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"

It does not have a proper disk yet, because testing.
The Problem is, if i remove the hash from the vif spec, i get this error 
on `xl create test.cfg`:

# xl create /etc/xen/domuconfig/test.cnf
Parsing config from /etc/xen/domuconfig/test.cnf
libxl: error: libxl_dm.c:3157:device_model_spawn_outcome: Domain 
89:domain 89 device model: spawn failed (rc=-3)
libxl: error: libxl_dm.c:3377:device_model_postconfig_done: Domain 
89:Post DM startup configs failed, rc=-3
libxl: error: libxl_create.c:1937:domcreate_devmodel_started: Domain 
89:device model did not start: -3
libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model 
already exited
libxl: error: libxl_xshelp.c:206:libxl__xs_read_mandatory: xenstore read 
failed: `/libxl/89/type': No such file or directory
libxl: warning: libxl_dom.c:49:libxl__domain_type: unable to get domain 
type for domid=89, assuming HVM
libxl: error: libxl_domain.c:1616:domain_destroy_domid_cb: Domain 
89:xc_domain_destroy failed: No such process
libxl: error: libxl_domain.c:1133:domain_destroy_callback: Domain 
89:Unable to destroy guest
libxl: error: libxl_domain.c:1060:domain_destroy_cb: Domain 
89:Destruction of domain failed

As mentioned, i can comment out the vif spec and attach a network card 
with `xl network-attach test bridge=dmz backend=netbackend` which works 
perfectly fine. But i dont want to do it manually but instead use the 
auto feature to start my netbackend and have a little wait function in 
my xendomains init which does wait for netbackend to become available. 
To autostart all the systems when something failed.

Do i have an error in my setup or overlooked something?
Do you need more information to help here?
Do we have a proper bug in this scenario?
Or is it not implemented in that way, a missing feature or do i overlook 
something?

Best regards
Shen Long


From xen-devel-bounces@lists.xenproject.org Sat Mar 22 23:54:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Mar 2025 23:54:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924824.1327807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tw8fO-0005Z4-TW; Sat, 22 Mar 2025 23:54:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924824.1327807; Sat, 22 Mar 2025 23: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 1tw8fO-0005Yt-Ng; Sat, 22 Mar 2025 23:54:14 +0000
Received: by outflank-mailman (input) for mailman id 924824;
 Sat, 22 Mar 2025 23: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=PFde=WJ=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1tw8fM-0005X4-So
 for xen-devel@lists.xenproject.org; Sat, 22 Mar 2025 23:54:12 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f10864fd-0778-11f0-9ffa-bf95429c2676;
 Sun, 23 Mar 2025 00:54:07 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id DCFAFA1D52;
 Sun, 23 Mar 2025 00:54:06 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Gyg923ibEq6p; Sun, 23 Mar 2025 00:54:06 +0100 (CET)
Received: from begin (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr
 [83.192.199.48])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id A5796A1C52;
 Sun, 23 Mar 2025 00:54:06 +0100 (CET)
Received: from samy by begin with local (Exim 4.98)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1tw8fG-0000000FFWH-0vFQ; Sun, 23 Mar 2025 00:54:06 +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: f10864fd-0778-11f0-9ffa-bf95429c2676
Date: Sun, 23 Mar 2025 00:54:06 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Subject: Re: [MINI-OS PATCH 00/12] kexec: add kexec support to Mini-OS
Message-ID: <Z99NnhfppCVOP_7C@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
References: <20250321092451.17309-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250321092451.17309-1-jgross@suse.com>
Organization: I am not organized

Hello,

Juergen Gross, le ven. 21 mars 2025 10:24:39 +0100, a ecrit:
> Add basic kexec support to Mini-OS for running in x86 PVH mode.

I am wondering if you had considered using libxc to implement this?
The original pv-grub1 is doing it (xen/stubdom/grub/kexec.c)

Samuel


From xen-devel-bounces@lists.xenproject.org Sun Mar 23 00:01:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Mar 2025 00:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924839.1327817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tw8mY-00008p-HH; Sun, 23 Mar 2025 00:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924839.1327817; Sun, 23 Mar 2025 00: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 1tw8mY-00008i-ET; Sun, 23 Mar 2025 00:01:38 +0000
Received: by outflank-mailman (input) for mailman id 924839;
 Sun, 23 Mar 2025 00:01: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=CaZ1=WK=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1tw8mW-00008X-9n
 for xen-devel@lists.xenproject.org; Sun, 23 Mar 2025 00:01:36 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb45f8ca-0779-11f0-9ea2-5ba50f476ded;
 Sun, 23 Mar 2025 01:01:34 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 89B14A1D52;
 Sun, 23 Mar 2025 01:01:33 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id dv0Voq7M6IJx; Sun, 23 Mar 2025 01:01:33 +0100 (CET)
Received: from begin (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr
 [83.192.199.48])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 69BF5A1C52;
 Sun, 23 Mar 2025 01:01:33 +0100 (CET)
Received: from samy by begin with local (Exim 4.98)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1tw8mS-0000000FFr1-44Um; Sun, 23 Mar 2025 01:01:32 +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: fb45f8ca-0779-11f0-9ea2-5ba50f476ded
Date: Sun, 23 Mar 2025 01:01:32 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
Message-ID: <Z99PXOXocyuZtf_X@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250321093145.17882-2-jgross@suse.com>
Organization: I am not organized

Juergen Gross, le ven. 21 mars 2025 10:31:44 +0100, a ecrit:
> Add a file operations fstat hook to the 9pfs frontend.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> V2:
> - or file access mode into st_mode (Jason Andryuk)
> ---
>  9pfront.c | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/9pfront.c b/9pfront.c
> index 1741d600..7257a07e 100644
> --- a/9pfront.c
> +++ b/9pfront.c
> @@ -85,6 +85,8 @@ struct file_9pfs {
>  
>  #define P9_QID_SIZE    13
>  
> +#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
> +
>  struct p9_header {
>      uint32_t size;
>      uint8_t cmd;
> @@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
>      return ret;
>  }
>  
> +static int fstat_9pfs(struct file *file, struct stat *buf)
> +{
> +    struct file_9pfs *f9pfs = file->filedata;
> +    struct p9_stat stat;
> +    int ret;
> +
> +    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
> +    if ( ret )
> +    {
> +        errno = EIO;
> +        return -1;
> +    }
> +
> +    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
> +    buf->st_mode |= stat.mode & 0777;
> +    buf->st_atime = stat.atime;
> +    buf->st_mtime = stat.mtime;

Should we perhaps also fill st_ctime? Leaving it at 0 could surprise
other software layers.

> +    buf->st_size = stat.length;
> +    buf->st_uid = stat.n_uid;
> +    buf->st_gid = stat.n_gid;
> +
> +    free_stat(&stat);
> +
> +    return 0;
> +}
> +
>  static int close_9pfs(struct file *file)
>  {
>      struct file_9pfs *f9pfs = file->filedata;
> @@ -1296,6 +1324,7 @@ static const struct file_ops ops_9pfs = {
>      .read = read_9pfs,
>      .write = write_9pfs,
>      .close = close_9pfs,
> +    .fstat = fstat_9pfs,
>  };
>  
>  __attribute__((constructor))
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Sun Mar 23 00:02:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Mar 2025 00:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924854.1327834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tw8nm-0000lO-Sy; Sun, 23 Mar 2025 00:02:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924854.1327834; Sun, 23 Mar 2025 00:02: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 1tw8nm-0000lH-QT; Sun, 23 Mar 2025 00:02:54 +0000
Received: by outflank-mailman (input) for mailman id 924854;
 Sun, 23 Mar 2025 00:02: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=CaZ1=WK=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1tw8nl-0000jC-N5
 for xen-devel@lists.xenproject.org; Sun, 23 Mar 2025 00:02:53 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29e13cc7-077a-11f0-9ea2-5ba50f476ded;
 Sun, 23 Mar 2025 01:02:52 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id C9280A1D52;
 Sun, 23 Mar 2025 01:02:51 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id lcE_MNkmn2Us; Sun, 23 Mar 2025 01:02:51 +0100 (CET)
Received: from begin (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr
 [83.192.199.48])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id A7169A1C52;
 Sun, 23 Mar 2025 01:02:51 +0100 (CET)
Received: from samy by begin with local (Exim 4.98)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1tw8nj-0000000FFus-0wdp; Sun, 23 Mar 2025 01:02:51 +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: 29e13cc7-077a-11f0-9ea2-5ba50f476ded
Date: Sun, 23 Mar 2025 01:02:51 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH v2 2/2] 9pfs: add lseek file operation hook
Message-ID: <Z99PqxXpRnYCupoD@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250321093145.17882-3-jgross@suse.com>
Organization: I am not organized

Juergen Gross, le ven. 21 mars 2025 10:31:45 +0100, a ecrit:
> Add a file operations lseek hook to the 9pfs frontend. Just use the
> lseek_default() implementation.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  9pfront.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/9pfront.c b/9pfront.c
> index 7257a07e..8bf3a91e 100644
> --- a/9pfront.c
> +++ b/9pfront.c
> @@ -1325,6 +1325,7 @@ static const struct file_ops ops_9pfs = {
>      .write = write_9pfs,
>      .close = close_9pfs,
>      .fstat = fstat_9pfs,
> +    .lseek = lseek_default,
>  };
>  
>  __attribute__((constructor))
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Sun Mar 23 07:01:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Mar 2025 07:01:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924887.1327848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twFKg-0004cH-8U; Sun, 23 Mar 2025 07:01:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924887.1327848; Sun, 23 Mar 2025 07:01: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 1twFKg-0004cA-5t; Sun, 23 Mar 2025 07:01:18 +0000
Received: by outflank-mailman (input) for mailman id 924887;
 Sun, 23 Mar 2025 07:01: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=VYxF=WK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1twFKf-0004aL-3P
 for xen-devel@lists.xenproject.org; Sun, 23 Mar 2025 07:01:17 +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 9aee14a1-07b4-11f0-9ffa-bf95429c2676;
 Sun, 23 Mar 2025 08:01:12 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac2aeada833so628363266b.0
 for <xen-devel@lists.xenproject.org>; Sun, 23 Mar 2025 00:01:12 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efda474bsm467657066b.183.2025.03.23.00.01.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 23 Mar 2025 00:01: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: 9aee14a1-07b4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742713272; x=1743318072; 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=SHylGmy1hZq8oyAxYKWbcNc4NdU3bjaXgkTsVQDhfq8=;
        b=HfnqOn5B+bF+kILoxCcrmxf+oEijlWro1KasaMxHjZKtzRf3/s07zV2/MrL6I6fN5J
         CIQW6Lm1jb07S/wwa4LQeAo9T08ixw3D6sbff8YcrKZQ0lAk7W2lTjx/9JqCDW5FMDKT
         MNo+fLEUv3hMZyfVBtsP3ckvcPjHUxuFaHhbhStnAyOwQ2mKzmj3WqP8UVoj9+Gu/aE4
         lVXK5aED74f7Xo9jsVyXzY6mhwE9J/MZpPLkmEfD6wbPoRlKYPRBLSZaXtciYmYABwOb
         GtYTemJ2WrrigYVDkUNgy6UPukM4av1habmJ41yll0g89N2qXAgauV3spRi3o7roebOq
         xkoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742713272; x=1743318072;
        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=SHylGmy1hZq8oyAxYKWbcNc4NdU3bjaXgkTsVQDhfq8=;
        b=oJa4absSAL4ly6IMkHVNBPrCtALz+850hHBqDVySEaY4XcUa8yj/682D6YoMgmg8Mk
         ctlU4jJNvHBQZxi3TP0rlQ5RAcoKVrOF6vCFcIzww6grD4zxlC7GaQaJeqzk4kvHQBuv
         SRc0nSql8Bghs6KfOODO6Xv12iZAfS91Y8eB0QZ7ZcT9l9wtBpxdv60v8McN5dE99KUP
         c5L9/pxWc0iKdeuFpVoHoafJMLNyUQ1efhSGEB4DeH0w5pptfOkhVS3l7MxhaKyzj+66
         GLAKhIIMW5MPM/NR3sPtzCGhy8a//+dfxshDWb/wgh1ekKV/+chP1k1aqEoWFMxLRE0Z
         jRQw==
X-Forwarded-Encrypted: i=1; AJvYcCX8IKKxyGa+Q3q1mIxMF2eIPwJCGjbO8SR24MdR0sz1o13gbUTBs20XwOiaIGeLKXV9jlU5906HA90=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyN4eMs0DFF7oU163GzjTpna/drqVz7zdOmAgSpIYkQpCejnIu8
	VbPrKpbVkl0tHpvMTGWpQnOv2cfhMBHVN40j7drMf6ZWUF8wg9Fi26U44hoiVH+TU7QvgbTWYlj
	rZwayXQ==
X-Gm-Gg: ASbGncvYot6Fm8NUi2bVr9XLzws+6k2PZXjLyhyMTXiAS9Tu7A98XjLy8BKK0tCC52b
	3MHKPETlezDjOlQNm3nN/2yCKrPfeFExwi4T18+QC69ZECEaTVZ2G0LFzuLpWGSXi5pXtBc22pC
	K/Rru8LJWwJGMTXZW/eIIVKyKQ/3cwhRY+wNgOq+m4FGQKdH5VPHBVpGeFzgHoOi5WaZUgJn9LY
	pB59e4CAzN3i/p9c8b9R6wPBc0yRU45KLHkefj5bJVS7jnpJm/xJ87I/BYFfy9wnzmVA4HZPRRT
	6CwUgPeGq4XeR3MMcnq7QvY7SpVkg39J+8ku3si9qQ79VUQXnh+nWPHZHooIq3z6YfKS1OWC4xc
	/WFtW0yFyVnS+8kbjWXmFrQiBUe9l1zf8ZGL+QTZvXCC0eWUSHu5sS0Lp577Eape4wioCnQ==
X-Google-Smtp-Source: AGHT+IHUQEOJgV47eh6ImeTE51P0FTy0iVFK0PtLgfjhj68ojCO1ChABigECnLZdyYPHsDVrTSKbhA==
X-Received: by 2002:a17:907:958a:b0:ac1:e45f:9c71 with SMTP id a640c23a62f3a-ac3f00b7260mr821885366b.1.1742713271779;
        Sun, 23 Mar 2025 00:01:11 -0700 (PDT)
Message-ID: <98f92f1f-c1e9-4955-9d04-e31b7e99be29@suse.com>
Date: Sun, 23 Mar 2025 08:01:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 00/12] kexec: add kexec support to Mini-OS
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
References: <20250321092451.17309-1-jgross@suse.com> <Z99NnhfppCVOP_7C@begin>
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: <Z99NnhfppCVOP_7C@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Ov7BKYoL1OR330RAoMbHOmhN"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Ov7BKYoL1OR330RAoMbHOmhN
Content-Type: multipart/mixed; boundary="------------50GtZsWh6kbaI8e8RsWzcchH";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Message-ID: <98f92f1f-c1e9-4955-9d04-e31b7e99be29@suse.com>
Subject: Re: [MINI-OS PATCH 00/12] kexec: add kexec support to Mini-OS
References: <20250321092451.17309-1-jgross@suse.com> <Z99NnhfppCVOP_7C@begin>
In-Reply-To: <Z99NnhfppCVOP_7C@begin>

--------------50GtZsWh6kbaI8e8RsWzcchH
Content-Type: multipart/mixed; boundary="------------k5vYLtH0Ws1Zw0X044ySPUip"

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

T24gMjMuMDMuMjUgMDA6NTQsIFNhbXVlbCBUaGliYXVsdCB3cm90ZToNCj4gSGVsbG8sDQo+
IA0KPiBKdWVyZ2VuIEdyb3NzLCBsZSB2ZW4uIDIxIG1hcnMgMjAyNSAxMDoyNDozOSArMDEw
MCwgYSBlY3JpdDoNCj4+IEFkZCBiYXNpYyBrZXhlYyBzdXBwb3J0IHRvIE1pbmktT1MgZm9y
IHJ1bm5pbmcgaW4geDg2IFBWSCBtb2RlLg0KPiANCj4gSSBhbSB3b25kZXJpbmcgaWYgeW91
IGhhZCBjb25zaWRlcmVkIHVzaW5nIGxpYnhjIHRvIGltcGxlbWVudCB0aGlzPw0KPiBUaGUg
b3JpZ2luYWwgcHYtZ3J1YjEgaXMgZG9pbmcgaXQgKHhlbi9zdHViZG9tL2dydWIva2V4ZWMu
YykNCg0KVGhlIGxpYnhjIChvciBtb3JlIHByZWNpc2U6IGxpYnhlbmd1ZXN0KSB1c2FnZSBp
cyBuZWVkZWQgdGhlcmUgb25seSBmb3INCmNvbnN0cnVjdGlvbiBvZiB0aGUgUFYgc3BlY2lm
aWMgcGFydHMgbGlrZSB0aGUgaW5pdGlhbCBwYWdlIHRhYmxlcyBhbmQNCnRoZSBwMm0gbWFw
LiBUaGUgbWFpbiBrZXhlYyBmdW5jdGlvbmFsaXR5IGFzIEkgbmVlZCBpdCBmb3IgUFZIIHN0
dWJkb20NCmlzIGluIGdydWIgaXRzZWxmLg0KDQpBZGRpdGlvbmFsbHkgSSd2ZSB3b3JrZWQg
aGFyZCB0byBnZXQgcmlkIG9mIG5vbi1zdGFibGUgWGVuIGxpYnJhcmllcyBpbg0KWGVuc3Rv
cmUtc3R1YmRvbS4gQWRkaW5nIHRoZW0gYWdhaW4ganVzdCBhZnRlciByZW1vdmFsIHdvdWxk
IGJlIHdlaXJkLg0KDQoNCkp1ZXJnZW4NCg==
--------------k5vYLtH0Ws1Zw0X044ySPUip
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-----

--------------k5vYLtH0Ws1Zw0X044ySPUip--

--------------50GtZsWh6kbaI8e8RsWzcchH--

--------------Ov7BKYoL1OR330RAoMbHOmhN
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/Ey8FAmffsbYFAwAAAAAACgkQsN6d1ii/Ey/N
hgf+M+Fq3eNeWSvmD8p4/hGDu97CFmlbeo3I80ntpjsjFkFO9pGcQquP/PtNhHkgjgHakNJueBIs
OaMCIN8eh3KsxduAX09ySfUVvfnfcgArXV8uIh73pQyzYjU9MF5I9LbtTrGH3qtlfYLL3PYolVSJ
YXK4Vfn82HxGwUOvC+3UTl2AXBYvM7KombhLeKPu1CkX8tsfZWgpqFG5n1HUDaJroWqWIxi400F7
zqP1AEVelYkrf/cj3Qa/mxGvwber1WWxOY+B8G6rC6hA2yuMZ3yIwgpd0j4PjxHuiSoH/k/s6z4w
RiMlKsVjexA7bPW1+YUs98PGDfLA+iWPNVLilog7qQ==
=2HmH
-----END PGP SIGNATURE-----

--------------Ov7BKYoL1OR330RAoMbHOmhN--


From xen-devel-bounces@lists.xenproject.org Sun Mar 23 10:26:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Mar 2025 10:26:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.924953.1327874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twIXE-0002Q6-Ou; Sun, 23 Mar 2025 10:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 924953.1327874; Sun, 23 Mar 2025 10:26: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 1twIXE-0002Pz-ML; Sun, 23 Mar 2025 10:26:28 +0000
Received: by outflank-mailman (input) for mailman id 924953;
 Sun, 23 Mar 2025 10:26: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=VYxF=WK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1twIXC-0002Pt-VZ
 for xen-devel@lists.xenproject.org; Sun, 23 Mar 2025 10:26: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 428040ad-07d1-11f0-9ffa-bf95429c2676;
 Sun, 23 Mar 2025 11:26:19 +0100 (CET)
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 E797B1F394;
 Sun, 23 Mar 2025 10:26:18 +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 B65391339F;
 Sun, 23 Mar 2025 10:26:18 +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 gG2OKsrh32fKCAAAD6G6ig
 (envelope-from <jgross@suse.com>); Sun, 23 Mar 2025 10:26: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: 428040ad-07d1-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742725579; 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=vuTT4KLfDEEyriyjSo0++a0zL0aCOp328WDIfaFymuM=;
	b=BATVp5K/TS4P4BkKJnzj5fklOiaxJMxn7rpS8+Q0MhLgmdfe/epJCOSp16WVBXJ5CoFYnk
	fkR3CtaRNxeVsOhVh5igW+GKBxPoW7n5KRNmrQh/2I1nShJtmwtzcSr9BgxxRjiGl6U1pi
	jkz9+++xEdfbJ8xJ/1WnNM2mJbayfZo=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=Hb0C4ZDT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742725578; 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=vuTT4KLfDEEyriyjSo0++a0zL0aCOp328WDIfaFymuM=;
	b=Hb0C4ZDTx3dmF0arj0pSP0JMDDCv86578ocSgC9IgNcKPPStmknSu2TIjtBZA9F8Ayj1ku
	wEN7Myn2KMwjiQFuyPKGV1O2uP5bJFvTqzH9+SrypKKbRwmbU/aKO8r8IVnUTxQHK8dUQc
	um+Wi1uSjqm82o8LPXQzwHxRiZ1fYnQ=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.15-rc1
Date: Sun, 23 Mar 2025 11:26:18 +0100
Message-ID: <20250323102618.29516-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: E797B1F394
X-Spam-Score: -3.01
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.01 / 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)[];
	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)[];
	TO_DN_NONE(0.00)[];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	MIME_TRACE(0.00)[0:+];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.15-rc1-tag

xen: branch for v6.15-rc1

It contains:

- A cleanup patch removing an used function.

- A patch adding support for a XenServer specific virtual PCI device.

- A patch fixing the handling of a sparse Xen hypervisor symbol table.

- A patch avoiding warnings when building the kernel with gcc 15.

- A series fixing usage of devices behind a VMD bridge when running as
  a Xen PV dom0.


Thanks.

Juergen

 arch/x86/pci/xen.c                 |  8 ++------
 drivers/pci/controller/vmd.c       | 20 ++++++++++++++++++++
 drivers/pci/msi/msi.c              | 37 +++++++++++++++++++++----------------
 drivers/xen/pci.c                  | 32 ++++++++++++++++++++++++++++++++
 drivers/xen/platform-pci.c         |  4 ++++
 drivers/xen/xen-pciback/pci_stub.c | 20 --------------------
 drivers/xen/xen-pciback/pciback.h  |  2 --
 drivers/xen/xenfs/xensyms.c        |  4 ++--
 include/linux/msi.h                |  3 ++-
 include/xen/interface/xen-mca.h    |  2 +-
 kernel/irq/msi.c                   |  2 +-
 11 files changed, 85 insertions(+), 49 deletions(-)

Dr. David Alan Gilbert (1):
      xen/pciback: Remove unused pcistub_get_pci_dev

Frediano Ziglio (1):
      xen: Add support for XenServer 6.1 platform device

Jan Beulich (1):
      xenfs/xensyms: respect hypervisor's "next" indication

Kees Cook (1):
      xen/mcelog: Add __nonstring annotations for unterminated strings

Roger Pau Monne (3):
      xen/pci: Do not register devices with segments >= 0x10000
      PCI: vmd: Disable MSI remapping bypass under Xen
      PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag


From xen-devel-bounces@lists.xenproject.org Sun Mar 23 14:57:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Mar 2025 14:57:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925019.1327901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twMkz-0004ji-Vk; Sun, 23 Mar 2025 14:56:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925019.1327901; Sun, 23 Mar 2025 14:56: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 1twMkz-0004jb-Rh; Sun, 23 Mar 2025 14:56:57 +0000
Received: by outflank-mailman (input) for mailman id 925019;
 Sun, 23 Mar 2025 14:56: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=b6FT=WK=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1twMky-0004jC-NY
 for xen-devel@lists.xenproject.org; Sun, 23 Mar 2025 14:56:56 +0000
Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com
 [2607:f8b0:4864:20::b36])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0de23d4f-07f7-11f0-9ffa-bf95429c2676;
 Sun, 23 Mar 2025 15:56:52 +0100 (CET)
Received: by mail-yb1-xb36.google.com with SMTP id
 3f1490d57ef6-e5dc299deb4so3217375276.1
 for <xen-devel@lists.xenproject.org>; Sun, 23 Mar 2025 07:56: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: 0de23d4f-07f7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742741811; x=1743346611; 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=U8DKcStIvaxLyy9Yz9mrc7ut/cxNfr85Fb8dAkds4bM=;
        b=VPK8ZvvWwg/8MNheGC5ze3qggWZko5m2Qc5evakZlDs8hh16saG82ctaNYCYDWpqxp
         F5RyEyuDh9aj5qoLyiTrGWKnzmeH6hpmSGLPxdsExygfR+hE858sAEZNr+TdMj4KkAP3
         AbWSGKmc9UghNk/fhxIppl5CSJBh1cFM9wS8ogShqdZSD7BJvmkPYXDrHsVCqYC7182X
         qcOgnIKdejovQxaMk6DAET4ZaqxapIAVxiokf7oe8wLMiC3hIsTbSSgCtwcTgaalvnl8
         8tPXwJgjTub9sK/kxlhzhOAxloYJRtOg4PEfH7j5fFFdcmopJBjfEjhF+T4d+09OwMXU
         kMJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742741811; x=1743346611;
        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=U8DKcStIvaxLyy9Yz9mrc7ut/cxNfr85Fb8dAkds4bM=;
        b=oijE95SvLDs3AQcjH3sQ7E8DO++P5bJSKNQH6Iw2y3B2IlUtkjESyRLD8ctWKFwJVn
         EGYQbOTfBnVnrYTClnDa4TgEwrwm7vTbchQDB0nuPkFg6B59tZaNVbqYE2MPmu5i4a/t
         4U87hLZ1kgGEKiNpZqC+wJZNOr6weHoSmy0DateBgH/bWJZQShas8+ZEpNFG64LUpSuO
         a2kO5sBYZGT70XQRqwNSI8S/c8dxFCXDIVCS7PoavElfC2nyJa1eGlbVFTIMKVHIt4VS
         CYKhL+6A9gR6TKGdgIwlbrzu9+nDHGDMOtUEkgHeRXwsf640CKr4L47OJHmlpmSm9akp
         Wmgw==
X-Gm-Message-State: AOJu0YzYrT04ZiW5kLvll19QUgodLokYFrqmrWDiM8Wen2I5F0n/ZUKR
	7FZxJgw3k7kGAUc8trtisVj8N/gnuZkAIHPowq8W6Pd/T+83hyNH7yT0vm062Gk9rvYjC4gj3nF
	s8YRP9ibbSrM+HnHC7xq1WyXypatUvSk6
X-Gm-Gg: ASbGncshqaGmL58zJ+A4a4ENSrzM9R7s2xX1Y/dBg1qx7zcX1L0yrme3ssjYYhTTrvO
	ggJWA4hn0LJARSe1wz7+o1NaYAQplo8ND6kapXdDbZbPlDo7sCEhxZCviKdUUF4IRx/7leGamYY
	mF84/dORjJtMrV5Mq3IfFeEkE=
X-Google-Smtp-Source: AGHT+IGR+mKCdRNvJ+NVjaFqlhFkz3i1X6s+djSQ5yTsu2pqDQH/9yXHybIQic9OOl1FGniPhbObBXHofyvI7gwi7x4=
X-Received: by 2002:a05:6902:228f:b0:e63:ebc9:656 with SMTP id
 3f1490d57ef6-e66a4fa21e2mr11152540276.35.1742741811373; Sun, 23 Mar 2025
 07:56:51 -0700 (PDT)
MIME-Version: 1.0
References: <f06ad622-4bb7-4a7d-9d11-a3c1456a4aa1@sl.nospam.tangomaris.de>
In-Reply-To: <f06ad622-4bb7-4a7d-9d11-a3c1456a4aa1@sl.nospam.tangomaris.de>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Sun, 23 Mar 2025 10:56:40 -0400
X-Gm-Features: AQ5f1Jq55d6g3bXO4qccMqA50zeqozVu2Rq-9DEYUBZzHwVoMgPGkycU2VCnu90
Message-ID: <CAKf6xptiqnwcsc8q8nFk_XBGjP392o4kvLjc3_GzgaO_XpyJoA@mail.gmail.com>
Subject: Re: VIF network definition does not work with backend=domnet
To: Shen Long <xen-mailinglist@sl.nospam.tangomaris.de>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 22, 2025 at 8:51=E2=80=AFAM Shen Long
<xen-mailinglist@sl.nospam.tangomaris.de> wrote:
>
> Hello,

Hi Shen,

> Here the test.cfg domu which "works":
>
> name =3D "test"
> builder =3D "hvm"
> vcpus =3D 1
> memory =3D 4096
> #vif =3D [ 'backend=3Dnetbackend,bridge=3Ddmz' ]

Try:
vif =3D [ 'backend=3Dnetbackend,bridge=3Ddmz,type=3Dvif' ]

This will give "test" just a PV nic (and not an emulated nic).

> disk =3D [ 'file:/isos/systemrescue-11.03-amd64.iso,hda:cdrom,r' ]
> usbdevice =3D [ "tablet" ]
> serial =3D "pty"
> on_poweroff =3D "destroy"
> on_reboot =3D "restart"
> on_crash =3D "restart"
>
> It does not have a proper disk yet, because testing.
> The Problem is, if i remove the hash from the vif spec, i get this error
> on `xl create test.cfg`:
>
> # xl create /etc/xen/domuconfig/test.cnf
> Parsing config from /etc/xen/domuconfig/test.cnf
> libxl: error: libxl_dm.c:3157:device_model_spawn_outcome: Domain
> 89:domain 89 device model: spawn failed (rc=3D-3)

/var/log/xen/qemu-dm-test.log probably reports an error about bridge
dmz not existing.

qemu runs in dom0, but your bridge "dmz" is in the driver domain,
"netbackend".  By using type=3Dvif, xl skips creating the emulated nic
with qemu.  I think `xl network-attach` uses type=3Dvif by default,
which also avoids the emulated nic issue.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Sun Mar 23 14:57:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Mar 2025 14:57:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925026.1327915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twMlR-0005A0-8J; Sun, 23 Mar 2025 14:57:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925026.1327915; Sun, 23 Mar 2025 14:57: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 1twMlR-00059t-5J; Sun, 23 Mar 2025 14:57:25 +0000
Received: by outflank-mailman (input) for mailman id 925026;
 Sun, 23 Mar 2025 14:57: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=VYxF=WK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1twMlP-0004jC-RX
 for xen-devel@lists.xenproject.org; Sun, 23 Mar 2025 14:57:23 +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 1df1503f-07f7-11f0-9ffa-bf95429c2676;
 Sun, 23 Mar 2025 15:57:19 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-ac25520a289so645446766b.3
 for <xen-devel@lists.xenproject.org>; Sun, 23 Mar 2025 07:57:19 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef86e514sm513243666b.35.2025.03.23.07.57.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 23 Mar 2025 07:57: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: 1df1503f-07f7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742741838; x=1743346638; 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=WdH+n5ZsFZ1e9SDqOoXbXvRhwi+aE9DjDljJHnPMIBk=;
        b=b94af7xInozHVY2++xkCRZGK3SN1DKjLDrWNg0U0vFcwY6gEAX0NfCt/YZl2iFCogH
         PBfyNcBgUCobTrRNuE0XwhM0R53JMVN0RMey0DGEo3PHOP750nkFz6tGX1fSt72ypQdz
         9cDuFl/lEYJ8kUfKlQ+tumCLOiEehTVqEeX96QWRMv6PyX4q8rKZVPWhk/z2dqjD4RvI
         I8j7poEtsdrIEtIkEm1vZO9jo9W1IK2yNxFLLzbUBGISETgWoClHhXmRiQR24SBLOXcA
         4SToEUOir2aupgEHud9Zr+EekulDfwkYxu+1u/lw4dPHGchyO3ZWV1YBTgnp1jWaPAsP
         Jo5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742741838; x=1743346638;
        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=WdH+n5ZsFZ1e9SDqOoXbXvRhwi+aE9DjDljJHnPMIBk=;
        b=Ol4kWF0Z1DkDHXhP0HIk3fk76egunHFp0ius6H+Qdi9JcEeCDHRAFvOWqZiQxvs5vO
         MRR/0BBCSurLH2UZVJ4GRjJzql9RYFhkWIxR3aZCNTetBnwXozQjYALce5hsipMJu+8I
         qDW0FPFralDaJKiyjKa9YETwSe46jXZiUmqfE56+/F7gIY7+J2VTpON3Ln06q/oYmWXj
         APXyU6ecv7x/p+XMQ9lg0fYPkEnNg0eMWKacmO2TzXA5dZHVWomTGDmVovA+TXOYBTho
         +BwdVqLw1enYXVqodIuXEerB4h6uL9u14CBko8cYrN/jzbeWcTLGx4RIz0O8NSF6xx4X
         3k+Q==
X-Forwarded-Encrypted: i=1; AJvYcCVhueh9pM0rdelbf3bxsq7bKQ1nmSh9YxMZgbUuwuuhgVLcgCl1nD38eQNegjur1cgHhJsmHEltyi4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyEgn5LmG/cyuEJLcaFxGs9HSGOEdoMCMXUdldFY44NIv6wb/Wi
	iwSG4aOUQoifPm8oI4S1BhJhzDXnOh2FSzcnj2qf1wxLw8CKq+9Nk3gXlsRinc4=
X-Gm-Gg: ASbGncsoN7ztxLVjj/eI7yaqj+dFawCYvx/xQxTFZaZY4AIfP004jE3A7Uu39YOi7Gz
	HOHsMYXRTPt3n9KCSdpzQT+k3z/6sZmQ1udgHU59JFGvQcHaEOU4xOwL9Bxkmp5HMEG/LoA8ZCm
	dvjWt+nne0QHQBwA2Xinvyx5ABjHMyVmT6x9ObG8+5hmdlH4G3fL0o/KYOt3Bplabvh8GU+CASp
	+35sDyGNNy51gEGNvt0ge4/b/w+aMfkI1SAdvs6tQ6vuFFT3Zc4+5YkDmuPiCUwySmBOL14umlY
	/wHsaJKtK3Y+HRv44DgJtIJXnmFZOw13UKiKkPFz6luClpg02TbjVnzlNW3FIHXPiWJcZ5kYMAN
	WHvcSJafVkyUgKt6+/kKTruXcbmwyYu1GqYXaGYeVmQ2OpyYlfDHcIl+YsymJ1mJN6NAIjg==
X-Google-Smtp-Source: AGHT+IFfOE0BqQOHwwya9xngkInjobQNlGNE/78WGhVZPMZkiJX8j3THxJkwC3RAZUJja32O3HxEkQ==
X-Received: by 2002:a17:907:2d08:b0:ac2:e748:9f1c with SMTP id a640c23a62f3a-ac3f2267455mr927404566b.33.1742741838381;
        Sun, 23 Mar 2025 07:57:18 -0700 (PDT)
Message-ID: <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
Date: Sun, 23 Mar 2025 15:57:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 Jason Andryuk <jason.andryuk@amd.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com> <Z99PXOXocyuZtf_X@begin>
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: <Z99PXOXocyuZtf_X@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Q0X04zf4o7oMkpAI85Y62xI6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Q0X04zf4o7oMkpAI85Y62xI6
Content-Type: multipart/mixed; boundary="------------40dumUshyvbmw6vMBLOWyoO3";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 Jason Andryuk <jason.andryuk@amd.com>
Message-ID: <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com> <Z99PXOXocyuZtf_X@begin>
In-Reply-To: <Z99PXOXocyuZtf_X@begin>

--------------40dumUshyvbmw6vMBLOWyoO3
Content-Type: multipart/mixed; boundary="------------dDQE02dV7F0sVrhUNbepYu91"

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

T24gMjMuMDMuMjUgMDE6MDEsIFNhbXVlbCBUaGliYXVsdCB3cm90ZToNCj4gSnVlcmdlbiBH
cm9zcywgbGUgdmVuLiAyMSBtYXJzIDIwMjUgMTA6MzE6NDQgKzAxMDAsIGEgZWNyaXQ6DQo+
PiBBZGQgYSBmaWxlIG9wZXJhdGlvbnMgZnN0YXQgaG9vayB0byB0aGUgOXBmcyBmcm9udGVu
ZC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5j
b20+DQo+PiBSZXZpZXdlZC1ieTogSmFzb24gQW5kcnl1ayA8amFzb24uYW5kcnl1a0BhbWQu
Y29tPg0KPj4gLS0tDQo+PiBWMjoNCj4+IC0gb3IgZmlsZSBhY2Nlc3MgbW9kZSBpbnRvIHN0
X21vZGUgKEphc29uIEFuZHJ5dWspDQo+PiAtLS0NCj4+ICAgOXBmcm9udC5jIHwgMjkgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDI5IGlu
c2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvOXBmcm9udC5jIGIvOXBmcm9udC5j
DQo+PiBpbmRleCAxNzQxZDYwMC4uNzI1N2EwN2UgMTAwNjQ0DQo+PiAtLS0gYS85cGZyb250
LmMNCj4+ICsrKyBiLzlwZnJvbnQuYw0KPj4gQEAgLTg1LDYgKzg1LDggQEAgc3RydWN0IGZp
bGVfOXBmcyB7DQo+PiAgIA0KPj4gICAjZGVmaW5lIFA5X1FJRF9TSVpFICAgIDEzDQo+PiAg
IA0KPj4gKyNkZWZpbmUgUUlEX1RZUEVfRElSICAgMHg4MCAgICAgLyogQXBwbGllcyB0byBx
aWRbMF0uICovDQo+PiArDQo+PiAgIHN0cnVjdCBwOV9oZWFkZXIgew0KPj4gICAgICAgdWlu
dDMyX3Qgc2l6ZTsNCj4+ICAgICAgIHVpbnQ4X3QgY21kOw0KPj4gQEAgLTk1MCw2ICs5NTIs
MzIgQEAgc3RhdGljIGludCB3cml0ZV85cGZzKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCB2
b2lkICpidWYsIHNpemVfdCBuYnl0ZXMpDQo+PiAgICAgICByZXR1cm4gcmV0Ow0KPj4gICB9
DQo+PiAgIA0KPj4gK3N0YXRpYyBpbnQgZnN0YXRfOXBmcyhzdHJ1Y3QgZmlsZSAqZmlsZSwg
c3RydWN0IHN0YXQgKmJ1ZikNCj4+ICt7DQo+PiArICAgIHN0cnVjdCBmaWxlXzlwZnMgKmY5
cGZzID0gZmlsZS0+ZmlsZWRhdGE7DQo+PiArICAgIHN0cnVjdCBwOV9zdGF0IHN0YXQ7DQo+
PiArICAgIGludCByZXQ7DQo+PiArDQo+PiArICAgIHJldCA9IHA5X3N0YXQoZjlwZnMtPmRl
diwgZjlwZnMtPmZpZCwgJnN0YXQpOw0KPj4gKyAgICBpZiAoIHJldCApDQo+PiArICAgIHsN
Cj4+ICsgICAgICAgIGVycm5vID0gRUlPOw0KPj4gKyAgICAgICAgcmV0dXJuIC0xOw0KPj4g
KyAgICB9DQo+PiArDQo+PiArICAgIGJ1Zi0+c3RfbW9kZSA9IChzdGF0LnFpZFswXSA9PSBR
SURfVFlQRV9ESVIpID8gU19JRkRJUiA6IFNfSUZSRUc7DQo+PiArICAgIGJ1Zi0+c3RfbW9k
ZSB8PSBzdGF0Lm1vZGUgJiAwNzc3Ow0KPj4gKyAgICBidWYtPnN0X2F0aW1lID0gc3RhdC5h
dGltZTsNCj4+ICsgICAgYnVmLT5zdF9tdGltZSA9IHN0YXQubXRpbWU7DQo+IA0KPiBTaG91
bGQgd2UgcGVyaGFwcyBhbHNvIGZpbGwgc3RfY3RpbWU/IExlYXZpbmcgaXQgYXQgMCBjb3Vs
ZCBzdXJwcmlzZQ0KPiBvdGhlciBzb2Z0d2FyZSBsYXllcnMuDQoNCkkgY2FuIHNldCBpdCB0
byB0aGUgc2FtZSB2YWx1ZSBhcyBzdF9tdGltZS4gSSBkb24ndCB0aGluayB0aGVyZSBpcyBh
IHdheQ0KdG8gZ2V0IHRoZSAicmVhbCIgY3RpbWUgdmFsdWUgdmlhIHRoZSA5cCBwcm90b2Nv
bC4NCg0KDQpKdWVyZ2VuDQo=
--------------dDQE02dV7F0sVrhUNbepYu91
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-----

--------------dDQE02dV7F0sVrhUNbepYu91--

--------------40dumUshyvbmw6vMBLOWyoO3--

--------------Q0X04zf4o7oMkpAI85Y62xI6
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/Ey8FAmfgIU0FAwAAAAAACgkQsN6d1ii/Ey9R
fwf/Y1yj6p786U/PIL0zY4D1syNOiZjmKXpGITCping8aoZz9wX8afrGBdF4zwVzoaf9+oejctP+
qA/iu9mgzwUp/sBZkGeterqWeUbADwAPFJN4AW8YJLNruOYGMedWTwThfZGnof0z34hW2H2iwUaG
7/zddhu/2gvB4JOyq73sHd+yt3crAzzsn53f7bObIn4rZnZvDFA/sLzRfOv/fToDNPXAtLr2YOVU
6p3SkDuhceBI5GkmC4frs9EhCHzS2olhMiwu/FLWcB6cS8ezn83YsR8EdCsEaWG5wbf2LCMDboMU
1EDIvBs812MLHx6iZY8pP7yh4hF9D/AahXsJeIGmHg==
=ozOc
-----END PGP SIGNATURE-----

--------------Q0X04zf4o7oMkpAI85Y62xI6--


From xen-devel-bounces@lists.xenproject.org Sun Mar 23 14:58:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Mar 2025 14:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925037.1327925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twMmP-0005jm-IO; Sun, 23 Mar 2025 14:58:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925037.1327925; Sun, 23 Mar 2025 14: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 1twMmP-0005jf-FE; Sun, 23 Mar 2025 14:58:25 +0000
Received: by outflank-mailman (input) for mailman id 925037;
 Sun, 23 Mar 2025 14: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=CaZ1=WK=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1twMmO-0005jR-4b
 for xen-devel@lists.xenproject.org; Sun, 23 Mar 2025 14:58:24 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40dd8031-07f7-11f0-9ffa-bf95429c2676;
 Sun, 23 Mar 2025 15:58:17 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 55FFDA47B9;
 Sun, 23 Mar 2025 15:58:17 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gc5BGBd5RWQq; Sun, 23 Mar 2025 15:58:17 +0100 (CET)
Received: from begin (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr
 [83.192.199.48])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 1A7A3A20EC;
 Sun, 23 Mar 2025 15:58:17 +0100 (CET)
Received: from samy by begin with local (Exim 4.98)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1twMmG-0000000Gng4-2HjL; Sun, 23 Mar 2025 15:58:16 +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: 40dd8031-07f7-11f0-9ffa-bf95429c2676
Date: Sun, 23 Mar 2025 15:58:16 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
Message-ID: <Z-AhiCM8j--cbLBV@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com>
 <Z99PXOXocyuZtf_X@begin>
 <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
Organization: I am not organized

JĂźrgen GroĂ, le dim. 23 mars 2025 15:57:16 +0100, a ecrit:
> On 23.03.25 01:01, Samuel Thibault wrote:
> > Juergen Gross, le ven. 21 mars 2025 10:31:44 +0100, a ecrit:
> > > Add a file operations fstat hook to the 9pfs frontend.
> > > 
> > > Signed-off-by: Juergen Gross <jgross@suse.com>
> > > Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> > > ---
> > > V2:
> > > - or file access mode into st_mode (Jason Andryuk)
> > > ---
> > >   9pfront.c | 29 +++++++++++++++++++++++++++++
> > >   1 file changed, 29 insertions(+)
> > > 
> > > diff --git a/9pfront.c b/9pfront.c
> > > index 1741d600..7257a07e 100644
> > > --- a/9pfront.c
> > > +++ b/9pfront.c
> > > @@ -85,6 +85,8 @@ struct file_9pfs {
> > >   #define P9_QID_SIZE    13
> > > +#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
> > > +
> > >   struct p9_header {
> > >       uint32_t size;
> > >       uint8_t cmd;
> > > @@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
> > >       return ret;
> > >   }
> > > +static int fstat_9pfs(struct file *file, struct stat *buf)
> > > +{
> > > +    struct file_9pfs *f9pfs = file->filedata;
> > > +    struct p9_stat stat;
> > > +    int ret;
> > > +
> > > +    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
> > > +    if ( ret )
> > > +    {
> > > +        errno = EIO;
> > > +        return -1;
> > > +    }
> > > +
> > > +    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
> > > +    buf->st_mode |= stat.mode & 0777;
> > > +    buf->st_atime = stat.atime;
> > > +    buf->st_mtime = stat.mtime;
> > 
> > Should we perhaps also fill st_ctime? Leaving it at 0 could surprise
> > other software layers.
> 
> I can set it to the same value as st_mtime.

That'd be preferrable, yes.

With that,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Thanks!
Samuel


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 06:11:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 06:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925064.1327939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twb25-0005Ss-KB; Mon, 24 Mar 2025 06:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925064.1327939; Mon, 24 Mar 2025 06:11: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 1twb25-0005Sa-EI; Mon, 24 Mar 2025 06:11:33 +0000
Received: by outflank-mailman (input) for mailman id 925064;
 Mon, 24 Mar 2025 06:11: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=zPYW=WL=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1twb24-0005SU-Be
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 06:11:32 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20620.outbound.protection.outlook.com
 [2a01:111:f403:200a::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d275faa3-0876-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 07:11:29 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 SJ2PR12MB8033.namprd12.prod.outlook.com (2603:10b6:a03:4c7::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 06:11:24 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 06:11: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: d275faa3-0876-11f0-9ea2-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xa521I5NK1N0qYqXCwv9FhExxCn2sl75ZOv09qG3L5fAGFTmcC/04cxec5AdNpwjm9qbLeHhGViKt9sweiFAkPzXpKug8pZMTb03EMVwNSY0/AZi9N0on8pHxhCTL3is5E4MqQuHKuizeh83re5KQfhUohZ99mSR8+oS+kx9keff9RMrCTcbVLnJpY7RbAOVJVkSPWdpXfXam4xf3PO8fz+b+/smy4hOEKUkorLSGOy3zAuE0XLShv7MluGX088ZJbcIz2QOBzTgeCCeisYLTF195hSU8sg1kQy5RjHtGaJfjdPJLpdugQf7R0lMY0ta+cTe8U8blGiEhsXX1AizIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YoCPXFFy/VixYeu/vSfSXD92+fcsmIVtvt6FZKwoOSA=;
 b=aNvJcvMpNazHBiBiq8dNNe5N5Qtzs/mru1UYQVRRcO3vmFn0rDSupdVOBJZuTmhDpQVnFehwZxHVWcF/c7tblT8lkvVoUYm+Yz/414beN50YMOfbzuCEKgnxlr8gfzgKjh8AIEhIV1/brJx3LJJMKYeweIP/PaGr67M7azXW/cW32nc6KSdI5ad9R26FGo/CiPQ7Kekpn5hbOZomqdI6QZ71bOR1R00UCZobbs00b3dEYc9M5xqHip09wCEyp3ygiNGJGCj/Gp9uR9hLcNOWIOtVQ7F7L1CLXysz+c5WRX74+x0YWTOWV4Eo9QrvlbSBLFVmsO+aCNF3C8SGg25qyQ==
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=YoCPXFFy/VixYeu/vSfSXD92+fcsmIVtvt6FZKwoOSA=;
 b=jCFdTIIeI/10CJMG9thQlVG4T+WRHhmoP0zrxo+sstBlDNrlySR8cbPJnD94gO0mZYPYxmclhJbyUi4zo9H7oRwG3m5CQbXme9dFfns11XQHrm+B4Sx0zZUKuSdhFaaHDTy+smbGQwqUIyDiA6NnplHd7lH8yRbVAjLuvOjn1Pg=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Huang, Ray" <Ray.Huang@amd.com>, "Stabellini, Stefano"
	<stefano.stabellini@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>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v1 19/19] xen/sysctl: wrap around sysctl hypercall
Thread-Topic: [PATCH v1 19/19] xen/sysctl: wrap around sysctl hypercall
Thread-Index: AQHbkwRXyEkrSerVt0iFQGteEr0L77NyYIYAgA9/XQA=
Date: Mon, 24 Mar 2025 06:11:23 +0000
Message-ID:
 <DM4PR12MB84511A7BDC5CA67B4C5CB7D1E1A42@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-20-Penny.Zheng@amd.com>
 <b8e760b1-df5a-414e-862a-34fd66f957c3@suse.com>
In-Reply-To: <b8e760b1-df5a-414e-862a-34fd66f957c3@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_ActionId=e9a7af12-7811-42f3-b2a2-533f3402a854;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-24T06:11:12Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|SJ2PR12MB8033:EE_
x-ms-office365-filtering-correlation-id: 21df49d8-84ee-4119-a652-08dd6a9ab44d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?dTVhWDNJKzZwbGRVOWRmSCtvdm1iK2RXdEhuN3JLQXA5RXFEa1pwWUEva3hL?=
 =?utf-8?B?WTJhOTdlV1hFa0NpMWRCUzdWc2tZZE81c2grbFhjTGRmaVcvZWlrdC9SOE9G?=
 =?utf-8?B?c2R2SFJUbjBudG54NVE1Wi9samUydGRvb1JXY2xmU3A0V2lJb3ZYZjg0L0Ft?=
 =?utf-8?B?d1hZUFdNVHBIaG1CMm11aXQ3elZEbDR0S014VU9WT0ZaWFdqUG56M2xIRTBr?=
 =?utf-8?B?QUlCeTQ5ZUlYTFlkQkQ4bmFKTlhPWGd3ejV5YXAzQXlKVm0yRVMvdVFDUDJL?=
 =?utf-8?B?ZlNGbHhBQ1RiWHZIU1Q4dld1ZEJMaTgweTM5YWswTHdxRXNkS2lrYTJSRFIz?=
 =?utf-8?B?ZTlhSHNLOVJzVEMrS3pFcG9MaDFzSzNvNFZBK0h5NzVnU2JYYkpLaWdyMXlW?=
 =?utf-8?B?S1FyRkpnV0lJYlpUaU5yMnlwUFBCS1ovWHc3ZnNjdnFXcjhlR2pUTGRvL0xz?=
 =?utf-8?B?d1BtV3NjUUI1Y1FldktVemZwK25vekNLUG5MYjZFVUVlK0Y4U3c0WmlYY3JL?=
 =?utf-8?B?YVU4cFloWXBIN0Y0UzJpdkpkTUxiMlpHaXhFa1huVkpEdlE3ZlpMSmdqcHJ1?=
 =?utf-8?B?U0ptSlV1cEQ4Q3JwRUM0MzhuakJrWEpQR3RVK2pXV2dOY2lHZHl5bEw3STRV?=
 =?utf-8?B?dHNXMFRvNm9FWHpadUtGdVNyY2pOcGl0MUc3L0FNOGRYcXdGU2JZdFU1SzFv?=
 =?utf-8?B?YkpnMXY2dnV3bEtJdEpXYkxyT1hCRXBjcHJwSU5wejBBcmRwVnlXLzBQY0N0?=
 =?utf-8?B?UEJjY0s2Yk5jV0RnNUZRb0syZEdjWGdVMGlnTVBXR25wY3ZlK0dQLzVUZmhW?=
 =?utf-8?B?RTlCeTE4RTRDSmpNQWpwMXdGdm5hSmppajdNZnl5QVdXUk9TN1pOWWZVY1JL?=
 =?utf-8?B?Mkhma3BBR1pxeUVLODN3TmdHWE5GUVhvZkFORzZScGkxa0VDV0dvaVF6c05Y?=
 =?utf-8?B?cGZKZXNjT0NzSnNyNTlNaTl2Mnh0TmN3SjN6ZnR3UTFzdzkyNEdjc3FRRnRJ?=
 =?utf-8?B?WU0rUzczZ0dTYW1KNFNLVVFJMnloWENHRzl4bWg5L3o0WmVwa1ZVTkJZSHZO?=
 =?utf-8?B?TExjNUl1bDQ2Nys1NjdES2hSUEpnVmRmazBYdTZxeUZ3TG5lenZnVTB3cU04?=
 =?utf-8?B?ejU1VWJxS1dXYUdPcUI4aEx0VEVPcFV2ZUZjbGJhQTRjbTNoMDF5N2RHcmY3?=
 =?utf-8?B?TmVZVnNUMEZGZk9HbTk5VWlLWnVJeHc2YnR2eFVGQmRWc0R4K2x1bGdYY25Z?=
 =?utf-8?B?QWRQbVVybC9NTFpheXVlQlJPS0ZsanVncTN0TENOVFgrMHk2emh5QzIxWnJN?=
 =?utf-8?B?Tk9CZWNYN0NhQkx5VmZvbTJxV3J3RXBmNDB5TEpWcWYrSHVVYnE1OG1EMHFj?=
 =?utf-8?B?aTUxTUZ2ZHlxdU4wdU1tN2dnZWpIU00zYms5czh1WGFEOFQ4dU1Bd2wvWWZE?=
 =?utf-8?B?aXJCVnEva3RBdjJTR2FDVUx1ODdtUWlkS2pCejNzeC95ZnJDanJKWnNJd0Fq?=
 =?utf-8?B?dTROdDZCQit0eHFSK09zKzczbE5wYlpMYyt0eHhxZDN2Y0hkTDNhMFE4bElD?=
 =?utf-8?B?ZWV4ZkRXSFNlNnhzbG5DWDZkc2Nqa3lEa1NIM2NFZWFNdDRIeHdTeWs4VHda?=
 =?utf-8?B?eHNJYW9hWk8wbVQwU2o2blgvSU54RFZKNnJzQmhteEhBNWIyMnNsTk56dmk0?=
 =?utf-8?B?dFp4MHBVQkU1R25VaDBsT0dJUmNKWHIwQURueXJPTVgxNDY5cHNOc3hwMUc4?=
 =?utf-8?B?bU00ZTd4ZEIwQVo5VHFXUHpRcGN5Zml0K2FHdXE2YW1wTnZtbU9EUTlZKzEr?=
 =?utf-8?B?U0dOeXVCcll3SkRrSFo3WmVUVW8vRGlNZE16V3dDYjFvS0ZXMTVJWStGTUE4?=
 =?utf-8?B?eitwUnplSEdwM3phbFh3STVmaU1mSjNWT2gwQ3NEQ2RiRTRldlF3R0kyWktF?=
 =?utf-8?Q?ZSTXz4f+eO9sflc7kdAO4QRmuuYpjS8K?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MSthOVNjcHFvRk84b2dGMklYTVpkYkowUEljQUlNRVRPNkVyand6dGhtaGF0?=
 =?utf-8?B?cGN6QkRMV2wwWGRpV3NCeENiZWRISmdWV3BvTm5LQ1I3cThITVcvVVdCRGdn?=
 =?utf-8?B?OVl5aEF5eDJGN0JZMFNBenlQU3djRndRY2dZU3NJSVVQWXJSUnozSFZ6NXdV?=
 =?utf-8?B?WWczYWw5S1VwVW1udTBtc3ZidXlVNk9BQlQ5SHJkcmQ2MWtBRjZqTy9KWkZq?=
 =?utf-8?B?ZE1Hd0lVR1ZZY2cyU2hGZHhPbThKakRBK2t6eUdZcFhUQWdnR011VVFMZWgv?=
 =?utf-8?B?TllIQU44ZnB2eERLcDRuenJVQmtub0dvVVdKRlFzQ3AyT0R1dGwwU0puNnJ0?=
 =?utf-8?B?bER0MVhRbW91dzk5NklHRnRqeVYzMXVzcDUyWFZrTDNiY016MnpHUUxReGoy?=
 =?utf-8?B?Und1SFl1b2l0TW9yRHBwQWo2Q2Jhb2J5b2FFelR2NjZoVGdWRjlnWlA0KzlL?=
 =?utf-8?B?dFI0Y2RUc3lKbk5qZ0hhbkZyU0VIN3M1NHlpSWdGYTRhYzRzWW1UWTZTQzdG?=
 =?utf-8?B?K1M2SjUxNzJRNWpMQ1FKZzVreDY3K3FBYVNJbytDYzY0dmtXN2N4a0tibTYr?=
 =?utf-8?B?SnRDVXcreGZWYWJCWGtTMW1hTUVxenl1V0o3WDJrVDNJc044R3dtdWZscDhV?=
 =?utf-8?B?TEJzcEZ4Sld2VkE3a0lJYkt6N1N3OVVtYW42ZnBFRFExVml5WndqV2V3d0t5?=
 =?utf-8?B?SXdhU0xnZzBZQjRQODVkTmpSemZ3NFhwV3k3dUlvRUlyZUJlTUltYzUrY0Fi?=
 =?utf-8?B?TnYvcWZjbmY0WGFqZC9IMHhORjRFNkdnaW9OakdpRXc5WmxmUUhsc1FUUzIw?=
 =?utf-8?B?ajBjQkQ3cnFwV0NLV25IMjUrUTBSc2NVM3g3ZTYrQm1RNVVTcGRZR0tqUUE1?=
 =?utf-8?B?azU1MFF2QW9kQW5lV25yREhWZW5jUllHcTIyUmJJNVJSdmd5YVFNalpnOUZJ?=
 =?utf-8?B?Y3ViQ2ExZnNmY3ZFemlzbklHSkd6S1JuMWVONFVRMGU5MWMwMFdnRldabjJv?=
 =?utf-8?B?aTlQWXpMaVk4b3FRcG8wS0R5bWRkU3haQjRpQ2tySWwwVHZGY2lTUmhBTzNo?=
 =?utf-8?B?Q1Bmck5WbllIeVRXVHZhTFV5bU9Ka1NpRktIeG52K1hjMlRKb0ltSWliSVFL?=
 =?utf-8?B?ZHAyZXhnSTdFN0dTeGZDSjBYZlMzR0xzb0JhcDgxemE0NzVFQVpKLzUrWjVB?=
 =?utf-8?B?LytmZ0lhMzBuUFpUSTdsRThXdTFVa1RnU3FQNHdHbWh5ZjFmNTBmZytUTGY3?=
 =?utf-8?B?UGhjSlBFM3RER1JTMmZ2ZXBpZ2lYZ0xkRzBzdlRTRjMvNUFMODRSM0RBclow?=
 =?utf-8?B?cGJyVkFNNktWT0dReTRMTE9sOHlWOVFxL3ErYU1aeTZyV2tiRnlzOUhuWDNC?=
 =?utf-8?B?Q1JGMHQ5Ni94RHlMSElRR3VENktPZVB1MXhvMko5bVJCS3EzL3J5clhxMHRo?=
 =?utf-8?B?ZTZ6Wmt0VnpTYk9ySnlPSVhtNkE0T3ByRDFHRnFiNlpaL2srMlJIejVDZURw?=
 =?utf-8?B?NGtFVnZlRDBBQU1zcXN5ajdaOVdhU0pUdENDbmtVbVI4Njd2WS9uaEY0b3or?=
 =?utf-8?B?K01JaVF3K1NMZENHb3h3Rkg4TGR3TWVtVEtuOCsxNmp3Mm5IbkY4MlJGak52?=
 =?utf-8?B?VThmS3lUMER2US9rWWMwVm9qTWl6KzQ5M1l5THVsdFhib09XMlVvRHBOUzVh?=
 =?utf-8?B?K2FqMU9xUDhOVjMwcDkrSjFJM0RvM2tXN2VFd0dRWFdYK0dqOFhyN1M3Qzd1?=
 =?utf-8?B?cjArc2lta1FSamd5bzNxZlE0dzJkT0NkRnpFUGVtVWpjdFo3YnNBT3pyZHBy?=
 =?utf-8?B?WnpIdDhMRmJnRlRCQzBNSkdvUTVYelArNGtibEhRMnJscWRQZU9nYysxekpF?=
 =?utf-8?B?bnR0enZWa2FPRmdZbUQyQ0RCTi9KVXhaVFZiOUNNVzAzdzdTNnJSVEtXQWZN?=
 =?utf-8?B?NG16TGVOWGY1aCttVWo0RXM0c1NkbGE3TGhaVm5RS204cUJCdkUrSXIySS9w?=
 =?utf-8?B?dGEvdnBFdHR1QVRYUktKRnhuUEVvTFpYWlg2K1lpVGpYRjBUS2g3R2h5a3Nm?=
 =?utf-8?B?a1NkTi9sL3lzckxyZ1EvU3QyYXd5THMxcnNtTGN3cXNTaUk3cFQvVTJOcExM?=
 =?utf-8?Q?i5sc=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: 21df49d8-84ee-4119-a652-08dd6a9ab44d
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2025 06:11:23.8509
 (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: CKHV8DZHmNmORTfLbbfeLz6FnYUY1F7m6O0asabtu9azMo0ePVobnDYxUhP7Qj5tD04KLw84foVSqXlgzbIRYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8033

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBGcmlkYXksIE1hcmNoIDE0
LCAyMDI1IDU6MjcgUE0NCj4gVG86IFBlbm55LCBaaGVuZyA8cGVubnkuemhlbmdAYW1kLmNvbT4N
Cj4gQ2M6IEh1YW5nLCBSYXkgPFJheS5IdWFuZ0BhbWQuY29tPjsgU3RhYmVsbGluaSwgU3RlZmFu
bw0KPiA8c3RlZmFuby5zdGFiZWxsaW5pQGFtZC5jb20+OyBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu
Y29vcGVyM0BjaXRyaXguY29tPjsNCj4gQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQHZh
dGVzLnRlY2g+OyBPcnplbCwgTWljaGFsDQo+IDxNaWNoYWwuT3J6ZWxAYW1kLmNvbT47IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBSb2dlciBQYXUgTW9ubsOpDQo+IDxyb2dlci5wYXVA
Y2l0cml4LmNvbT47IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47
IFNlcmdpeSBLaWJyaWsNCj4gPFNlcmdpeV9LaWJyaWtAZXBhbS5jb20+OyB4ZW4tZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MSAxOS8xOV0geGVuL3N5
c2N0bDogd3JhcCBhcm91bmQgc3lzY3RsIGh5cGVyY2FsbA0KPg0KPiBPbiAxMi4wMy4yMDI1IDA1
OjA2LCBQZW5ueSBaaGVuZyB3cm90ZToNCj4gPiAtLS0gYS94ZW4vY29tbW9uL01ha2VmaWxlDQo+
ID4gKysrIGIveGVuL2NvbW1vbi9NYWtlZmlsZQ0KPiA+IEBAIC02OSw3ICs2OSw3IEBAIG9iai0k
KENPTkZJR19DT01QQVQpICs9ICQoYWRkcHJlZml4DQo+IGNvbXBhdC8sZG9tYWluLm8NCj4gPiBt
ZW1vcnkubyBtdWx0aWNhbGwubyB4bGF0Lm8gIGlmbmVxICgkKENPTkZJR19QVl9TSElNX0VYQ0xV
U0lWRSkseSkNCj4gPiBvYmoteSArPSBkb21jdGwubyAgb2JqLXkgKz0gbW9uaXRvci5vIC1vYmot
eSArPSBzeXNjdGwubw0KPiA+ICtvYmotJChDT05GSUdfU1lTQ1RMKSArPSBzeXNjdGwubw0KPg0K
PiBUaGlzIHdhbnRzIHRvIG1vdmUgYmFjayB1cCB0aGVuLCBpbnRvIHRoZSBtYWluIChhbHBoYWJl
dGljYWxseSBzb3J0ZWQpIGxpc3Qgb2YNCj4gb2JqZWN0cy4NCj4NCj4gPiAtLS0gYS94ZW4vaW5j
bHVkZS9oeXBlcmNhbGwtZGVmcy5jDQo+ID4gKysrIGIveGVuL2luY2x1ZGUvaHlwZXJjYWxsLWRl
ZnMuYw0KPiA+IEBAIC0xOTUsNyArMTk1LDkgQEAga2V4ZWNfb3AodW5zaWduZWQgbG9uZyBvcCwg
dm9pZCAqdWFyZykNCj4gPiBkbV9vcChkb21pZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgbnJfYnVm
cywgeGVuX2RtX29wX2J1Zl90ICpidWZzKQ0KPiA+ICNlbmRpZiAgI2lmbmRlZiBDT05GSUdfUFZf
U0hJTV9FWENMVVNJVkUNCj4gPiArI2lmZGVmIENPTkZJR19TWVNDVEwNCj4gPiAgc3lzY3RsKHhl
bl9zeXNjdGxfdCAqdV9zeXNjdGwpDQo+ID4gKyNlbmRpZg0KPiA+ICBkb21jdGwoeGVuX2RvbWN0
bF90ICp1X2RvbWN0bCkNCj4gPiAgcGFnaW5nX2RvbWN0bF9jb250KHhlbl9kb21jdGxfdCAqdV9k
b21jdGwpDQo+ID4gcGxhdGZvcm1fb3AoeGVuX3BsYXRmb3JtX29wX3QgKnVfeGVucGZfb3ApDQo+
ID4gQEAgLTI3NCw3ICsyNzYsOSBAQCBwaHlzZGV2X29wICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbXBhdCAgIGRvICAgICAgIGh2bSAgICAgIGh2bQ0KPiBkb19hcm0NCj4gPiAgaHZtX29wICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkbyAgICAgICBkbyAgICAgICBkbyAgICAgICBkbyAg
ICAgICBkbw0KPiA+ICAjZW5kaWYNCj4gPiAgI2lmbmRlZiBDT05GSUdfUFZfU0hJTV9FWENMVVNJ
VkUNCj4gPiArI2lmZGVmIENPTkZJR19TWVNDVEwNCj4gPiAgc3lzY3RsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkbyAgICAgICBkbyAgICAgICBkbyAgICAgICBkbyAgICAgICBkbw0KPiA+
ICsjZW5kaWYNCj4gPiAgZG9tY3RsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyAgICAg
ICBkbyAgICAgICBkbyAgICAgICBkbyAgICAgICBkbw0KPiA+ICAjZW5kaWYNCj4gPiAgI2lmZGVm
IENPTkZJR19LRVhFQw0KPg0KPiBBcyBpbmRpY2F0ZWQgZWFybGllciBvbiwgUFZfU0hJTV9FWENM
VVNJVkUgbGlrZWx5IHdhbnRzIC8gbmVlZHMgc29ydGluZyBhcyBhDQo+IHByZXJlcSBhbnl3YXku
IE90aGVyd2lzZSBJIHRoaW5rIHRoZSBuZXcgI2lmZGVmLXMgYmV0dGVyIHdvdWxkbid0IGVuZCB1
cCBpbnNpZGUgdGhlDQo+IFBWX1NISU1fRVhDTFVTSVZFIG9uZXMuDQo+DQoNCk1heSBJIGFzaywg
aWYgd2UgZHJvcHBlZCB0aGUgZWFybGllciBjb21taXQsIG5vdCByZXBsYWNpbmcgYWxsIHRoZSAh
UFZfU0hJTV9FWENMVVNJVkUgd2l0aCBVTlJFU1RSSUNURUQsDQp3aGF0aGF0IGlzIHRoZSBuZXh0
IHBsYW4gZm9yIGl0ID8NCg0KPiBKYW4NCg==


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 07:59:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 07:59:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925079.1327949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twciV-0008C9-88; Mon, 24 Mar 2025 07:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925079.1327949; Mon, 24 Mar 2025 07:59: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 1twciV-0008C2-54; Mon, 24 Mar 2025 07:59:27 +0000
Received: by outflank-mailman (input) for mailman id 925079;
 Mon, 24 Mar 2025 07:59: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=zPYW=WL=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1twciU-0008Br-6S
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 07:59:26 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2413::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4c7c0c9-0885-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 08:59:22 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 IA1PR12MB8407.namprd12.prod.outlook.com (2603:10b6:208:3d9::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 07:59:18 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 07:59: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: e4c7c0c9-0885-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tPQRrEjnpyrQSovXtOelSi83a2TjKK9PnOWJEBjhbXZcDXOynl/tJHphloGc6/9XvhFyeoEQFf+OlNlNTYb8yCJ7eRXFfLV2b3oyRn4htKSCaIj73M/TZzI1KgtXVZPCVTKGwdhrDbZeBxbz8Ta2K6qerQIN2qJ3/Kr1sKK4/TG9/6kl5SHXkeRwt7BnYm83Hb91qGMzDhyALqapI88kldf1XxttUa8VnkVtrMIXDLtVJ+A8EytHbNYX6slTHkC7bUvhMb/yFT6d3GbV9FpdfFAarY7/URQ5c64+emFldBthSYoGy9vuvbhdUBEH+9/kDgpk8A3FNfJgnTBMeabEKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NwxPaEozaESBEW1iVkA/K3I3sTL2YRw+5pk+wbE0/cw=;
 b=xf2DZUsNcwCIlTtNIWU8KtObcEVL1npYX4lgL+dqIz/WMwZ+zUbvILbO2aCjdjY4og+xU+CYCvv2aylFZEGjCOtGxkRmFowsguF9dgj7v8B+u4tVp+wTvQSap3PdDqOS0c1KbBk5r/Xwu5FgXMebobvc17oiIV+NOtH6RbxgDtuOOJdY9KMlM1Y21xGmY68J2gKGLjQ7DWwPuNBOfl9anZbcwaNoB3kQ9lXVISd7dVqXJYdWNslYFmtd2GWBnY/5DNAINywOlgVPMsALT2OD8LkyvgeCWUnXJOAs7rFOGKq7+h097sAJZ59PnReo0YFEjugUqo+73udT2jwV04dnHw==
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=NwxPaEozaESBEW1iVkA/K3I3sTL2YRw+5pk+wbE0/cw=;
 b=qpOyMiAiIF1do6RJ4auwnzu7LQsCxvaecxYdK9QZjeVFZw7qro68S9ERoJ5hM2OdLk+VMOKvm16+WE5ThfzZvrV/jgy723sOuzpFekGDWDc/TCh2L7Tu3H/AynnMl57t7SjxylFcFdcCqxzVTS3MAP0iecoHeLvxUarzk1C7ojE=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Huang, Ray" <Ray.Huang@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, "Orzel, Michal" <Michal.Orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Alistair Francis
	<alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, Sergiy Kibrik
	<Sergiy_Kibrik@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
Thread-Topic: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
Thread-Index: AQHbkwRVqqEOllQJtEeRzJGK6AnihrNxRScAgBC2aMA=
Date: Mon, 24 Mar 2025 07:59:17 +0000
Message-ID:
 <DM4PR12MB8451A85D3C1E9CAE59DE5924E1A42@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-19-Penny.Zheng@amd.com>
 <18983fc2-08e7-40eb-b5d7-738e36a2a271@suse.com>
In-Reply-To: <18983fc2-08e7-40eb-b5d7-738e36a2a271@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_ActionId=38e40917-7f76-4008-b47a-3aa2517e97fa;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-24T07:58:59Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|IA1PR12MB8407:EE_
x-ms-office365-filtering-correlation-id: b1f60b5c-0237-4196-b8f3-08dd6aa9c713
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?N09McTJUZGozOExRekNNRm9md2c0aWxZb1BsSDAwZk1CWHIzYmZJMVlpUTJF?=
 =?utf-8?B?YWxiTW4rZkI4QXErbTRQMW5aVE4yS0d2VkZFN0J4QUUxb25zaUowYm0ydXNa?=
 =?utf-8?B?THp3c0t0MFVzSTllSHU4a3A2ank2OGdSTUw1bkRnZGFaUU9NeDhWV2JFVWsx?=
 =?utf-8?B?eExiMXA0c3pwY1JsOGJDUkE0cHNrOWRNL1FHOEVhUFNEdXI1K21jQ0ZaTXo3?=
 =?utf-8?B?V2pwV25yUjZNdDVETTlHYXBxRHJ1RllESXJrbmh2OFBxT3A4UE9lUFEwcFJX?=
 =?utf-8?B?WWF0QldJUFdLRUk3aDQvcXZQc0hYY29EQTc5VFhsbXJOUTIyd3R5N2lUUS8z?=
 =?utf-8?B?NUJiejhIYXhqS3F6UHE4Y2RBamNOOFMyQXNTSVZ5bDZyRE9vTWY4MFRlbUI3?=
 =?utf-8?B?VTV6ZE5jOFArV2xUdDdKMkhHcW5EaGFRWS9VbjBOOThsZGNGUHZVUzBaU1pJ?=
 =?utf-8?B?bk5LUGM2QWVHOU96ajZUaGw2Q1RzWlZwQTJVWThjTGljMXpKc1lsemlRdVFE?=
 =?utf-8?B?b0h3K3hhMGFxUHovWkRnRUtaV2U2ak52MjFya3oxRnVMblFvaWNsZlFVblJy?=
 =?utf-8?B?djd2bXpDRitZZjZCM0J0bERyS0krTVNEWEhnTTlnSlVaaW1zR25HVjV2S1dp?=
 =?utf-8?B?U2xMQlE2TVVXbVlndXhVcjBZek1QS29uK2FoQTdFUFlVNUl0TlBzZEpWZEtC?=
 =?utf-8?B?Z3MzQllOdTMvQWUwZVMzSURvbzVHVVhwMkE5aGxFU3pUdzlHQWM5bmZXUUFl?=
 =?utf-8?B?V2N6eFFGUDRvdjBkOHRwYUtHa2RSN2hkT0g2RlJPdWNtVmROSDJIR1NibC9t?=
 =?utf-8?B?TzNXdjlZSFNiY0JNdXlyQjlQU0RiZ2FScklPaWIzZjBMRHI4a3BSTXQvOVJ6?=
 =?utf-8?B?VncvMXR2aUVReXpXcXlJSnEvTjN4S01XV21GdTdmYVMwQ3AxVXlyTStra2x4?=
 =?utf-8?B?V0s5Y0F4TCtsTnRzaVh3cHVycHdvYnNZMkdnYmVnNHRVSzVmUGNRMy9XWkVi?=
 =?utf-8?B?SnFGWlFtak15YWZnRVQ4L1JGMzFtbHVydm5jTmJkbzJzKzhzaWFudHkvc2Vp?=
 =?utf-8?B?TzRkUHZhNTVpTEhoOW5RdDBLWXZwdjFKZHEwTmo1QnFKZEcwblphcVk4ZlBv?=
 =?utf-8?B?WkE3NE1XRTlCOVpiSit2NllUeDg5WWdvcTA4bzRGZnN3N1RiM1lESVJwVG4z?=
 =?utf-8?B?MnBNTmpsOXFjQ0xHYXBTclhuOVN2NC95SytPOXJLM0R6L3dDcDNjajJlenN1?=
 =?utf-8?B?WnZvUW9QWmY2MmJTOE5OUFg3ZG9pajBDUmg0ekw3dEw3K2c0ak5tM2VleFFR?=
 =?utf-8?B?K2s2VGZEeGluL3BsYWhmY045WVVzdE5nTmEyUHZLczJaQ3oxMlRlWi94aTlw?=
 =?utf-8?B?THUrSitFd3RHWlJhYjYyQkJuR3k1MWdFMXBpZWM4dnBPNm1HQ29ncXRYalIy?=
 =?utf-8?B?Z1loWnRjMmp2K3h5ck9CNEJZZEZXTVhzMXV5YkNBTDRmYnNLcTBnREVha016?=
 =?utf-8?B?UWRPWDdiOWRiL29OMzN0UGVueFNhY1VGbTh5SnlWS29sdThWb0ZMc2NwU0ZB?=
 =?utf-8?B?bUtpOE9hZVdvQkRHdW50SzVQUnVubm9sVzhBcXJBSWR0U25SWVQyc3NhQzR2?=
 =?utf-8?B?MjJaM2dOcjZGcXVBZmllSUptNXhEWEk4QloxQUtWQmU0cWIyazdkeE4zV3gr?=
 =?utf-8?B?d0xrY0x1UlBzQ3N4SEVyNTA5Z0V3NG9UKys3Q29JeHJTUHkraXZ5ZXZJWGdW?=
 =?utf-8?B?L2FiazRqVDh4c2p2UlR0TE8rUjFLRUU0dkZTaWNYdjJPODc4WUxkK2FMemxv?=
 =?utf-8?B?RnNuSDNHM2tzc1duQ2V1UlJpMkY1V0N5T0w5VU0wQTRMMDh0R2hKRFZDNWZU?=
 =?utf-8?B?ZkxEVmZ0QlJld05HaXI5d1UzeVdhNEhUQ1RBRndjTWhTcGIxbjBSanBOMUlR?=
 =?utf-8?Q?yjBnHrvAS8JhTz69AJXXYpnzWh3CdfSc?=
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)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZUV6UjlCS0VUQ0FkTXlZeTVqUWkwcnEwK3B5S2sxa1JsWS9RaHZHbmQyejln?=
 =?utf-8?B?eDdnTFZkaGFMY1JabWV1ZGlZbS9FUFBRQlI5YjZ2WDlZeWpPSGt5R0xBdUFw?=
 =?utf-8?B?SVYrUmVvZ2o3ZHVrTWlyd0VSbHNoVDZPWGc0WDEzdmREK1EzR2NQUTQwSVFx?=
 =?utf-8?B?NnE3VGdzZUgydDh3RFVHUHJhb2FNUkxiUDA3VHdnbXdnc05weG9PSWRKTlVO?=
 =?utf-8?B?UXVzWDlLSldXY2ZTS3hldGxXdVJEYW4xK3hEOTNWd2YyMXRzREZPYmhGNWpp?=
 =?utf-8?B?WVJCNmFKWWE3R2wzdDRsVmN4S2JXeW9aSk1WNnJXdDlnT1l2M3BsUkh1dXBK?=
 =?utf-8?B?d3M1TkFZN2VENkVjZmxxUUdHa1VXOTRtV05HVmJkaGhEZ3p5a3hBTThDTW9u?=
 =?utf-8?B?N1VHaW15YWZpN1F6WXB4WTh6ZEpGS3huUCtma3VvVDRkN1NnOUxWZGRreFJ5?=
 =?utf-8?B?WXFjbFpBeXoybnJPcW1qc3hWTlBlenBLS0tnVXAxeDVEdVhUT3BraC8rYkxD?=
 =?utf-8?B?R3N5djlxbXkvZ1hYYUpiSGFLWUtYbDVCQ0cwelFVYnU1eHZwNC83NDlRWGcw?=
 =?utf-8?B?cytZejhaWVlocXk0QmdYbDZKWGQwV3FOcTFocUFTQ09pd1NoOGJPcnNiTCsx?=
 =?utf-8?B?VHdMMk5VMktnS1kwN1ErVmUvSzhMVmlFcHBxeWVxNXQwLzkzNDVwRmprYVdY?=
 =?utf-8?B?M1hvTyt1T0pMdTRKUEVhSFZVRU5JYlQ2eXhJT2FnU2pPOTE2L1FEL0V4QnZR?=
 =?utf-8?B?c3BQVSt3Q0ZDUEJMZVpaWnRXckVHbE8reWxFM3dRODQyVUh0aWlsakZhcXBW?=
 =?utf-8?B?QjRGbzN5ZWdlZzNSWnZJYm1qQ2d0dXRBcUVuL2tsTWNvaS9CSGZSQXVLcHpV?=
 =?utf-8?B?Lzg3YlhUQ3JlK09IRlk0aTdTVVZVN3pJWGZMazd5aVJEQUF3ZUo4SitMVjJY?=
 =?utf-8?B?KzdSNzNnUkpzRzhuZ2ZsSUdMNDNWREtnaFN5d3JzQXNwS2JBQ2FhN01OMW9z?=
 =?utf-8?B?RkpiMk0rNFFINEtwTTBIZmZtNXd6RmtWbDc0MFVkVmFHNW9CTmNJS1Q3RUlL?=
 =?utf-8?B?WTgvcHE2S2ZZSG92RDZRQklLZGJodkQ5bmd6ckhNVVpvMUNJTmNlSldhU053?=
 =?utf-8?B?QmtWUlFaVGJWZGxCSXkwZEM0SE5QV3ZlcWlnRDhyU3Z6RmVhSzJHRURZL2t1?=
 =?utf-8?B?LzB0UnYxV3dJMGUrWE1DOUU4bStENHNxeG1LdzI1b3VPQ1JMQWp3OWF2WXlQ?=
 =?utf-8?B?VnFNbTA1a016emJKZHNzQk55ZUF2RE52YzdaazJZeE1WdHhqdm5RaDFZNmhi?=
 =?utf-8?B?b1plNFBDVElzUVRRMDBMeUU5TVQzK3E5Umt5REg4QXUyZU54N28wR24xeFl4?=
 =?utf-8?B?VHlBWHVCOG93Ly9GSjVCeHNnUTB0N01ZcmFkaCtXdC9Wa0tWUGJ0Z1ZYZFJa?=
 =?utf-8?B?ZXlpSGluUzRNcXJyeExwVUFGNzhodHdKbEJKRFFYRUhsZHVrOVY1cE82VU9a?=
 =?utf-8?B?ZktWWjFXN3k1a2lMWDZvUjB2M1V2Smx5S0RwQW55NWZKL0k1VHAzYm15bTZH?=
 =?utf-8?B?VU83U3VabXVDRXU4LzJIS2dxMExzQkpPcjVpeE5kSnplMzJlTU5RdURSdEIv?=
 =?utf-8?B?Q3I3bHJBTTM0Vzdadzcxc1loRjBVYWNkdGM0WkxadmZjT3ZuL3VDMFdXQ3hk?=
 =?utf-8?B?RFlsS2s1WGwzcDkvRS93RHdzejlTcnpBa2pObFFDZ0c3empuUnJ1YkpZRTRm?=
 =?utf-8?B?UU9hZVFPQUpZdlhVTFRmYXI1NVJxVzNzOEVIejQ3emRZYzRrbGk0TC9BeGd3?=
 =?utf-8?B?ejhSdnNNSnlDd2Jnb2Q5OHZKSnc1QVhUaDZTOUdDdUtqeStPVkVDWmpERWMx?=
 =?utf-8?B?SCtMQVFsMXpyWmQ2MzViT2g2UUtDSHY2eGw3bGRmdVZsL0hiczhaWW9WUExE?=
 =?utf-8?B?Ly9pNEZvV2ZxWS9KZ1ZoWEdHb2g2MURHZXQxTEhJbUNmRW1uN0srUnI3RjlR?=
 =?utf-8?B?TFpVVGhXSHljL1BnbGRDeFhZaWdIay9VdGNaRlJrUVg1T1B2UXRhY0ZlTHdE?=
 =?utf-8?B?MGx0b0FhVGpXZTBFNXpxZjZoZ1E1ZXVZZE9PN3lZUWxEY3kxSjNnWFVIOVhh?=
 =?utf-8?Q?8I0Y=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: b1f60b5c-0237-4196-b8f3-08dd6aa9c713
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2025 07:59:17.7936
 (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: +wMcJCbTXMJbk2B6Uiq+zrHvGcuXdXU+grnhx+4B21SWwzLcnXEH2fPuMe8ea+SOJIWXApev8fdPuzIvDflrog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8407

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBGcmlkYXksIE1hcmNoIDE0
LCAyMDI1IDEyOjMzIEFNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IFN0ZWZhbm8gU3RhYmVsbGlu
aQ0KPiA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+OyBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+OyBPcnpl
bCwgTWljaGFsIDxNaWNoYWwuT3J6ZWxAYW1kLmNvbT47DQo+IFZvbG9keW15ciBCYWJjaHVrIDxW
b2xvZHlteXJfQmFiY2h1a0BlcGFtLmNvbT47IEFuZHJldyBDb29wZXINCj4gPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+OyBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAdmF0ZXMudGVj
aD47DQo+IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPjsgQWxpc3RhaXIg
RnJhbmNpcw0KPiA8YWxpc3RhaXIuZnJhbmNpc0B3ZGMuY29tPjsgQm9iIEVzaGxlbWFuIDxib2Ji
eWVzaGxlbWFuQGdtYWlsLmNvbT47DQo+IENvbm5vciBEYXZpcyA8Y29ubm9qZGF2aXNAZ21haWwu
Y29tPjsgT2xla3NpaSBLdXJvY2hrbw0KPiA8b2xla3NpaS5rdXJvY2hrb0BnbWFpbC5jb20+OyBT
dGFiZWxsaW5pLCBTdGVmYW5vIDxzdGVmYW5vLnN0YWJlbGxpbmlAYW1kLmNvbT47DQo+IFNlcmdp
eSBLaWJyaWsgPFNlcmdpeV9LaWJyaWtAZXBhbS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MSAxOC8xOV0geGVuL3N5c2N0bDogd3Jh
cCBhcm91bmQgYXJjaC1zcGVjaWZpYw0KPiBhcmNoX2RvX3N5c2N0bA0KPg0KPiBPbiAxMi4wMy4y
MDI1IDA1OjA2LCBQZW5ueSBaaGVuZyB3cm90ZToNCj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvcHNy
LmMNCj4gPiArKysgYi94ZW4vYXJjaC94ODYvcHNyLmMNCj4gPiBAQCAtMTMzLDkgKzEzMywxMSBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IGZlYXRfcHJvcHMgew0KPiA+ICAgICAgICovDQo+ID4gICAg
ICBlbnVtIHBzcl90eXBlIGFsdF90eXBlOw0KPiA+DQo+ID4gKyNpZmRlZiBDT05GSUdfU1lTQ1RM
DQo+ID4gICAgICAvKiBnZXRfZmVhdF9pbmZvIGlzIHVzZWQgdG8gcmV0dXJuIGZlYXR1cmUgSFcg
aW5mbyB0aHJvdWdoIHN5c2N0bC4gKi8NCj4gPiAgICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShj
b25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbik7DQo+ID4gKyNlbmRp
Zg0KPiA+DQo+ID4gICAgICAvKiB3cml0ZV9tc3IgaXMgdXNlZCB0byB3cml0ZSBvdXQgZmVhdHVy
ZSBNU1IgcmVnaXN0ZXIuICovDQo+ID4gICAgICB2b2lkICgqd3JpdGVfbXNyKSh1bnNpZ25lZCBp
bnQgY29zLCB1aW50MzJfdCB2YWwsIGVudW0gcHNyX3R5cGUNCj4gPiB0eXBlKTsgQEAgLTQxOCw2
ICs0MjAsNyBAQCBzdGF0aWMgYm9vbCBtYmFfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdA0KPiBj
cHVpZF9sZWFmICpyZWdzLA0KPiA+ICAgICAgcmV0dXJuIHRydWU7DQo+ID4gIH0NCj4gPg0KPiA+
ICsjaWZkZWYgQ09ORklHX1NZU0NUTA0KPiA+ICBzdGF0aWMgYm9vbCBjZl9jaGVjayBjYXRfZ2V0
X2ZlYXRfaW5mbygNCj4gPiAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVpbnQz
Ml90IGRhdGFbXSwgdW5zaWduZWQgaW50DQo+ID4gYXJyYXlfbGVuKSAgeyBAQCAtNDMwLDYgKzQz
Myw3IEBAIHN0YXRpYyBib29sIGNmX2NoZWNrDQo+ID4gY2F0X2dldF9mZWF0X2luZm8oDQo+ID4N
Cj4gPiAgICAgIHJldHVybiB0cnVlOw0KPiA+ICB9DQo+ID4gKyNlbmRpZg0KPiA+DQo+ID4gIC8q
IEwzIENBVCBwcm9wcyAqLw0KPiA+ICBzdGF0aWMgdm9pZCBjZl9jaGVjayBsM19jYXRfd3JpdGVf
bXNyKCBAQCAtNDQyLDExICs0NDYsMTQgQEAgc3RhdGljDQo+ID4gY29uc3Qgc3RydWN0IGZlYXRf
cHJvcHMgbDNfY2F0X3Byb3BzID0gew0KPiA+ICAgICAgLmNvc19udW0gPSAxLA0KPiA+ICAgICAg
LnR5cGVbMF0gPSBQU1JfVFlQRV9MM19DQk0sDQo+ID4gICAgICAuYWx0X3R5cGUgPSBQU1JfVFlQ
RV9VTktOT1dOLA0KPiA+ICsjaWZkZWYgQ09ORklHX1NZU0NUTA0KPiA+ICAgICAgLmdldF9mZWF0
X2luZm8gPSBjYXRfZ2V0X2ZlYXRfaW5mbywNCj4gPiArI2VuZGlmDQo+ID4gICAgICAud3JpdGVf
bXNyID0gbDNfY2F0X3dyaXRlX21zciwNCj4gPiAgICAgIC5zYW5pdGl6ZSA9IGNhdF9jaGVja19j
Ym0sDQo+ID4gIH07DQo+ID4NCj4gPiArI2lmZGVmIENPTkZJR19TWVNDVEwNCj4gPiAgLyogTDMg
Q0RQIHByb3BzICovDQo+ID4gIHN0YXRpYyBib29sIGNmX2NoZWNrIGwzX2NkcF9nZXRfZmVhdF9p
bmZvKA0KPiA+ICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwgdWludDMyX3QgZGF0
YVtdLCB1aW50MzJfdA0KPiA+IGFycmF5X2xlbikgQEAgLTQ1OCw2ICs0NjUsNyBAQCBzdGF0aWMg
Ym9vbCBjZl9jaGVjaw0KPiA+IGwzX2NkcF9nZXRfZmVhdF9pbmZvKA0KPiA+DQo+ID4gICAgICBy
ZXR1cm4gdHJ1ZTsNCj4gPiAgfQ0KPiA+ICsjZW5kaWYNCj4gPg0KPiA+ICBzdGF0aWMgdm9pZCBj
Zl9jaGVjayBsM19jZHBfd3JpdGVfbXNyKA0KPiA+ICAgICAgdW5zaWduZWQgaW50IGNvcywgdWlu
dDMyX3QgdmFsLCBlbnVtIHBzcl90eXBlIHR5cGUpIEBAIC00NzMsNw0KPiA+ICs0ODEsOSBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IGZlYXRfcHJvcHMgbDNfY2RwX3Byb3BzID0gew0KPiA+ICAgICAg
LnR5cGVbMF0gPSBQU1JfVFlQRV9MM19EQVRBLA0KPiA+ICAgICAgLnR5cGVbMV0gPSBQU1JfVFlQ
RV9MM19DT0RFLA0KPiA+ICAgICAgLmFsdF90eXBlID0gUFNSX1RZUEVfTDNfQ0JNLA0KPiA+ICsj
aWZkZWYgQ09ORklHX1NZU0NUTA0KPiA+ICAgICAgLmdldF9mZWF0X2luZm8gPSBsM19jZHBfZ2V0
X2ZlYXRfaW5mbywNCj4gPiArI2VuZGlmDQo+ID4gICAgICAud3JpdGVfbXNyID0gbDNfY2RwX3dy
aXRlX21zciwNCj4gPiAgICAgIC5zYW5pdGl6ZSA9IGNhdF9jaGVja19jYm0sDQo+ID4gIH07DQo+
ID4gQEAgLTQ4OSwxMSArNDk5LDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyBs
Ml9jYXRfcHJvcHMgPSB7DQo+ID4gICAgICAuY29zX251bSA9IDEsDQo+ID4gICAgICAudHlwZVsw
XSA9IFBTUl9UWVBFX0wyX0NCTSwNCj4gPiAgICAgIC5hbHRfdHlwZSA9IFBTUl9UWVBFX1VOS05P
V04sDQo+ID4gKyNpZmRlZiBDT05GSUdfU1lTQ1RMDQo+ID4gICAgICAuZ2V0X2ZlYXRfaW5mbyA9
IGNhdF9nZXRfZmVhdF9pbmZvLA0KPiA+ICsjZW5kaWYNCj4gPiAgICAgIC53cml0ZV9tc3IgPSBs
Ml9jYXRfd3JpdGVfbXNyLA0KPiA+ICAgICAgLnNhbml0aXplID0gY2F0X2NoZWNrX2NibSwNCj4g
PiAgfTsNCj4gPg0KPiA+ICsjaWZkZWYgQ09ORklHX1NZU0NUTA0KPiA+ICAvKiBNQkEgcHJvcHMg
Ki8NCj4gPiAgc3RhdGljIGJvb2wgY2ZfY2hlY2sgbWJhX2dldF9mZWF0X2luZm8oDQo+ID4gICAg
ICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LCB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVk
IGludA0KPiA+IGFycmF5X2xlbikgQEAgLTUwOCw2ICs1MjEsNyBAQCBzdGF0aWMgYm9vbCBjZl9j
aGVjayBtYmFfZ2V0X2ZlYXRfaW5mbygNCj4gPg0KPiA+ICAgICAgcmV0dXJuIHRydWU7DQo+ID4g
IH0NCj4gPiArI2VuZGlmDQo+ID4NCj4gPiAgc3RhdGljIHZvaWQgY2ZfY2hlY2sgbWJhX3dyaXRl
X21zcigNCj4gPiAgICAgIHVuc2lnbmVkIGludCBjb3MsIHVpbnQzMl90IHZhbCwgZW51bSBwc3Jf
dHlwZSB0eXBlKSBAQCAtNTQ1LDcNCj4gPiArNTU5LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBm
ZWF0X3Byb3BzIG1iYV9wcm9wcyA9IHsNCj4gPiAgICAgIC5jb3NfbnVtID0gMSwNCj4gPiAgICAg
IC50eXBlWzBdID0gUFNSX1RZUEVfTUJBX1RIUlRMLA0KPiA+ICAgICAgLmFsdF90eXBlID0gUFNS
X1RZUEVfVU5LTk9XTiwNCj4gPiArI2lmZGVmIENPTkZJR19TWVNDVEwNCj4gPiAgICAgIC5nZXRf
ZmVhdF9pbmZvID0gbWJhX2dldF9mZWF0X2luZm8sDQo+ID4gKyNlbmRpZg0KPiA+ICAgICAgLndy
aXRlX21zciA9IG1iYV93cml0ZV9tc3IsDQo+ID4gICAgICAuc2FuaXRpemUgPSBtYmFfc2FuaXRp
emVfdGhydGwsDQo+ID4gIH07DQo+ID4gQEAgLTgwOCw2ICs4MjQsNyBAQCBzdGF0aWMgc3RydWN0
IHBzcl9zb2NrZXRfaW5mbyAqZ2V0X3NvY2tldF9pbmZvKHVuc2lnbmVkDQo+IGludCBzb2NrZXQp
DQo+ID4gICAgICByZXR1cm4gc29ja2V0X2luZm8gKyBzb2NrZXQ7DQo+ID4gIH0NCj4gPg0KPiA+
ICsjaWZkZWYgQ09ORklHX1NZU0NUTA0KPiA+ICBpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGlu
dCBzb2NrZXQsIGVudW0gcHNyX3R5cGUgdHlwZSwNCj4gPiAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pICB7IEBADQo+ID4gLTgzOSw2ICs4
NTYsNyBAQCBpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gcHNyX3R5
cGUNCj4gPiB0eXBlLA0KPiA+DQo+ID4gICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiAgfQ0KPiA+
ICsjZW5kaWYgLyogQ09ORklHX1NZU0NUTCAqLw0KPiA+DQo+ID4gIGludCBwc3JfZ2V0X3ZhbChz
dHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LA0KPiA+ICAgICAgICAgICAgICAg
ICAgdWludDMyX3QgKnZhbCwgZW51bSBwc3JfdHlwZSB0eXBlKQ0KPg0KPiBUaGF0J3MgcXVpdGUg
YSBsb3Qgb2YgI2lmZGVmLWFyeSBoZXJlLiBJIHdvbmRlciBpZiB3ZSBjYW4ndCBkbyBhbnkgYmV0
dGVyLg0KPg0KDQp4bC1wc3IgaGFsZiByZWxpZXMgb24gc3lzY3RsIG9wLCBhbmQgaGFsZiByZWxp
ZXMgb24gZG9tY3RsLiBTbyBJJ20gbm90IHN1cmUgZm9yDQpDT05GSUdfWDg2X1BTUiwgd2hldGhl
ciB3ZSBzaGFsbCBtYWtlIGl0IGRlcGVuZGVudCBvbiBDT05GSUdfU1lTQ1RMDQoNCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 08:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 08:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925089.1327959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdaI-00040r-7M; Mon, 24 Mar 2025 08:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925089.1327959; Mon, 24 Mar 2025 08: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 1twdaI-00040k-3M; Mon, 24 Mar 2025 08:55:02 +0000
Received: by outflank-mailman (input) for mailman id 925089;
 Mon, 24 Mar 2025 08:55: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=t537=WL=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1twdaG-00040e-Eq
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 08:55:00 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20611.outbound.protection.outlook.com
 [2a01:111:f403:2408::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8df699c-088d-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 09:54:57 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by IA1PR12MB6019.namprd12.prod.outlook.com (2603:10b6:208:3d5::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 08:54:54 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 08: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: a8df699c-088d-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IZQMVvDMaDT2qP8yuP/YTde01p00tlLAtLsXs8FKpFwlbDPUoA5nrwBdplC3XC0s89p3FXw4NhoP4iQ1PR1AseD3MulAwUi4zHep42AjTMkdW+tXa2R5aW91dJQhfpH1rSyY9B8KvvMw2bCDtx7eiG69Zrypye5Qps98gP5nrhkKXCdYQfDu9mg4dXsUjE41Om/gSLYT5cjY30gE4wa8Ljz0z+0bBoz0sMjR1rOR48MjT+p3VLPqpwsXQsyRZs676vEoNlQ2ZwOD1Aa3hRTQc/A7GepLvL9B8TYI1nzQkFHFlRZ2WAcPFWW9CL6/uMGfZaLULHPtiidjD/VZOEL7OA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LeYnyl5HoKJCGH0AX66P9UbGs4UBU43/q7iCBbJmfMI=;
 b=vHRVUEKdB7WgKp1O5yoxPZZu5exM3Wdc/8adAexe3zOs6hmS91xcDpwbjWK6cAO668UZkL9gbXBvjV4Dszgc1rY4KwiNooB5d8+iviQ59Z2VX2ICoNW0L+oJqo5de9AceSTEQgEUxcw+qNdz1SOr4igvjhJBGBbIY8SIIYPKogWv0C5oHiLvJlDuAm1/ll3N7niQuYc1f3CopKrv+c1fNO0CcureVQ/eqL1CUxvzqfFwX7mtAkOHxDoo/fCwUfeqY6P8gzHmGUiQycpazwtf6hsh9DR+wDbDJg6GEV2TyM4MFJheaN3bmA47EdDA8dxalBTH1F866hHlGZnw2Np/AA==
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=LeYnyl5HoKJCGH0AX66P9UbGs4UBU43/q7iCBbJmfMI=;
 b=yKWlBAzdwL5S1iJO1Hcz+Eqz+VsPvTuC5j0MoSIRyuj1tCbJbmKyn0ILN+1jZha21l1KUjYT4kX5eCSdjRc+dCRzQ2WmODc9EYG+skt0y/rvSm35M1noQFl8p85OBS5Z8yJ0eHbh4r7PJFOEMu2duo7UZGzTcQxs6KykD36c3Ug=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <231ac68b-d5ba-41a5-944e-4c644d527d07@amd.com>
Date: Mon, 24 Mar 2025 09:54:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
 Luca Fancellu <luca.fancellu@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <Z9xGbTYJG6s6Wvl0@l14>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <Z9xGbTYJG6s6Wvl0@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0294.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e7::15) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|IA1PR12MB6019:EE_
X-MS-Office365-Filtering-Correlation-Id: 1626f787-8ba5-4753-13ef-08dd6ab18b72
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?eUQySzZaWWtLaDBWN0tHamZVNUU3R3dlbjJWRk4xNWdZK1R1ZEdiaGl6Z0xz?=
 =?utf-8?B?dllramR0djUzRVZ6dlJ0ZFdabXp0ZFRJMDZwS0trOHNJYm5FUHNhc2Z2S2lH?=
 =?utf-8?B?YTQvVnZJSjdNL284eS80LzRxL3FSd3huRVdlNS9JWUpQbENFMkJEdnhBbDdT?=
 =?utf-8?B?SXdtbnlUcFpRaCtvMVNGS0NyWUNkcjZIU1IxbFVGZUdJY0pwVWE1dmhTRnJm?=
 =?utf-8?B?SXAzWVhjYmhjNWlNUmFFdzFZOHJ1bm9FOUNSaGZTVTNObmdQNm16cVFPeTRG?=
 =?utf-8?B?clVGZUtpOTBsd0lQanhyU1ZMU043dmdZRzUwNFpQbjlDS2RnaDlzN21OZEJq?=
 =?utf-8?B?L0V1QkN4UFZyaElaWStFeldTRTcwclhxM0d6Z3pFSloyRjBwdjBvNUVNZTU3?=
 =?utf-8?B?WUU1RzFrY3lWbHhLMFF0bGhEMUNHKzZtL3RhZkxwWThCVDZVNkp4a2s1UG9I?=
 =?utf-8?B?blMwd1ltM200QWpqcmRPQVU5V3EraWlMUzhHUXl5TzdGbjlDcE83ZjVuOTZI?=
 =?utf-8?B?VEsyNkxpT0E2VURPVHZ3b21RU2FCWGpIZWdMc08vMFBsUlUrVVh5aU9IZUxP?=
 =?utf-8?B?MGo4dmdMUDVtTXNXTnhrUVBNTDUvMjhIM0JVMjRocHBlQktsbGxOeExFTkFH?=
 =?utf-8?B?Uk13bkU2bThFUWVWNitFd01WTm1Ccy94QTczdUdIcDNuOExQWDNDbkdQeTFC?=
 =?utf-8?B?Vlc5V0N1UHc3ckdPbmRFNjJVWnh6V3JjLzRnKy9nYW81c3ExOEZaT1c1U0E4?=
 =?utf-8?B?OWwzMlM4cCtjclg5MlJsc2EwVHV3YVVzb3UxREdBZ2dGZFNibkpOQ0VicFky?=
 =?utf-8?B?N1ZhZzB1dnIwaXMwR2tTcjB0N0w5T2htL04yVHZEZFV5N1A1N1labzRvKzBR?=
 =?utf-8?B?Mmc5aTlTaE4wRFNYdjQrR3pQNm1ZNUJnN2tEVzBoV3FqdFNXOXJKczFoVEpa?=
 =?utf-8?B?bnphZFpVYm5jZWZ6aXFTd29Ud0lHazV0OE5wWlZlMUxxVFo0eHc5Y3Z1KzR3?=
 =?utf-8?B?Y05lTmRFNCtWMXY5b3M2ZjAzMHh2Q2ZVbUpUdGwxNmdJbGZScUhwbnh4bmNl?=
 =?utf-8?B?VkkvYnptdEswT01CenpWUk92Z1F3d2QvbGFoMWoxUWJ6RUtWamhDT0h6YmJl?=
 =?utf-8?B?SXFzd1ZSUTM2N25SdllhMmd2S3FhcWk4REdJVnZhV2dxR202THJyN0VQTmI2?=
 =?utf-8?B?TXhjMktEckFIejNwYTN1c3pnWWdhTGFCYVZlTUplNmF3NUg0dHJCN3ZBUzVH?=
 =?utf-8?B?TFhUVWVIZTdYcGdaL1A0K3NMMGp3OUJHKzdpU0F2UXpvK3dGY1lXTldnY0cr?=
 =?utf-8?B?WkdPTXRJd3pHVVFlZG9MakNwRFhSc3VYWGxMWmtnMTFOTCtoZUlNYlg1dklM?=
 =?utf-8?B?c1BqckQyWkdxVGJKNWNhYTI2KzIyVk9XRWMyWTFVUDNKbFM1eDZseDBmVUtr?=
 =?utf-8?B?em5EM2pZSjdwTHhrZDRHRWo0VmpjejZUZ3lxSThENnczNnVKUC9XaFRFYlFS?=
 =?utf-8?B?ZHJLc1NqRC94MzEvOTA2RWprbmtpUEdjNGlCbStRbXJPaCtKeDFGUDlzcHha?=
 =?utf-8?B?aWs3U3ZOZEhrTlZ1a2RNTFc5RHZPeUJZQmRlK2c4QlA0dW84bTJ6bmdsdWdw?=
 =?utf-8?B?SHlZNGJUUHUwMEJPaUpkaUVEd0dWVm9ralZZSHlOL3JXR3ovZjU1anpsRnNh?=
 =?utf-8?B?MC8zU1ZIcmphUGtWV3h4UVpKYTlHZFdWT0tOQ3JEOWtKZnVEU0xEOTJRYjRF?=
 =?utf-8?B?d2xCNzZ6Y0JaaWJGNzdOVk1BOGFJRm1tWXF2bEExKytuZktqMjVxaENtYVND?=
 =?utf-8?B?QTdpTFRJeFZQMFdSNnF1dEpGNzVVMm9XZDlxaGdQYWVSV0Rwb1N4Y3NwNFZN?=
 =?utf-8?Q?Vq4dDMyHQvtWP?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?TUpZbVJHcVh5M2xUbVhPNGJjN1p3TjFhSSt3RnczYTJFb2lCUm8rZE1PaS9N?=
 =?utf-8?B?aVA4ZWhYRFIrOFpsQmNHUXZZU21BV1l0T1VNV3pJVjVZM0xJbThVN3pzSC9S?=
 =?utf-8?B?MDk1L2ZIZm1tVnVveno2ZGNaYUs1K0x3cUJxclR6b1RkcE1SRzdidEhoNDNx?=
 =?utf-8?B?OFMzelRBeFFaeDV6V1lIK2VlZHY3VVlSV2xiRHUxS2l5T3BMeVdyM2JuZHU2?=
 =?utf-8?B?SUZqQWtQT2d0dkVLMkdvdm9vN2dhN2ZnOXF6clorMmQrbzMybUVtQUlLMjVn?=
 =?utf-8?B?QkovZ1Y3VG1OQ0Z4YlNnNy90RVFidFh5OS9vQkNCRncwN1YwNlo3VkxqbSt4?=
 =?utf-8?B?VHhLeGo5YUJwK3kyYXlPM0JCNlVqT1hNQ0NIbFNYcmtSOVZOOGc2cnh6bVgr?=
 =?utf-8?B?UVdJYjFUVDd5c1pWQnJNSUI2VWozVlpTT1lNTm4rSDlzdVQ5Vk1iRzVSd3Nj?=
 =?utf-8?B?TDhRTWR1TmUzOGt3c3h3bWR4K1lYR1BLQWd4c3FvSUFsL2paQzAxL3E5S0Vw?=
 =?utf-8?B?aXN2KzlGUjhpNERsSnlrbmF2RXB1c3JFWTdqaE1rU3ZSTTdjaDZqVW1lQW5t?=
 =?utf-8?B?MjRnM1h4YlJFbjJqeGx5aU8zRGVIR1VwVkR0eUdSZWVsZ1ZmZ2dVQVl5ZVRp?=
 =?utf-8?B?eGNMTGJyRnYyelQ1QXVLL0UyaTk3V2dpc0JDWVBZTDNyeExKWjRyQmxPUzdB?=
 =?utf-8?B?cVJZV2tjQ1ZEeFJqRGFoSHpBZDZML1VvZUlvNEJUQlZKekcvb3F4cldKV3ND?=
 =?utf-8?B?S0dHYWJnc21ndk9ETFpSa1YxMmloUG0wYjlnUGE2K3ZwSGl0VGhRTEdYbnFF?=
 =?utf-8?B?aG84WlpiVFFieWRZN2RRZnNVeElEYXUrcXZGMXI2SXdpLzVmMk80WDdnTjY2?=
 =?utf-8?B?VEhVaWpCSFlqRXVULzl4MzlHUU55cDRYbFBacUxaT20rckVveWhXR3lPeWJi?=
 =?utf-8?B?dkZ6MVdCVkhQSllDV1JuMU5GQVVqV3F2KzFyZTNIeVRhYkg4UDk3aGE1alBo?=
 =?utf-8?B?VG45bnBYS3hYS01JTXhLR2h2aXlmRUd3WmlPbU9OeFFDbXJYWHJ0UDd4dnVZ?=
 =?utf-8?B?RHlLekZaOWVmZnR1WGxrb3pjSHZwZnpzc1M2OHNFZlZPQUtHc2tOTFpBL1h4?=
 =?utf-8?B?YVRsVzI4OHhNUkJwd0FCTWQvNzdZb0YzZitVTnNUTS9VdmpSMURTZ0poT09Z?=
 =?utf-8?B?T2NUR0hDeGU1OUdmNEtOTTE5SEp5aCtxMkRVSjRmWTVKUkNlSituOXdhdTNv?=
 =?utf-8?B?SC9pUk5Lc2hJenAvTXlzTXpMSWZqUXJLYmtGakpsMlNWa0h6VFg2VkpzeDVq?=
 =?utf-8?B?d2FydmU0eEtMcWNmNExraW5jUWplc0lkTHIrTGdsekZIVmVqSzdNNmgyN2RM?=
 =?utf-8?B?L2dHSTdlNllWTzNGcm05QjhvaG1PVkk0U21JSzlWeDlTandVMHNEQ0lyQ3Vk?=
 =?utf-8?B?U29vK2FaSGlDeGY1ZnRmZFJCUnNpQmh4RlZDS0pLZmNSdGx4M2FYcWZ5VlNz?=
 =?utf-8?B?d0Zmb09sK0grdWxzWWpMeTNOcFBBb2dvTGhtZFk3M3FPbC90Q1JJdHk3clR3?=
 =?utf-8?B?cFg4UnVsRUliU3kvN2w2M251VlkybFFlSDRCRzdDcGd5dnk1WWxzcG9VNDA2?=
 =?utf-8?B?aEc1K0pmOUZsU3RoUmV5THdScEdDNC92UHI3S2ZiWWd1WlljOHRxZlpHSkVX?=
 =?utf-8?B?TjdiR01pZ2hKWHJ3N1dmb2xxMXplMkowVG1UblZocHZKNmE5Ykdkb2h6dGNt?=
 =?utf-8?B?VzlITVVCRklCVUFZSWw0U3RKbmFMdy9QY1pIUGtlMUhHa2dtM3UxcVduRzVI?=
 =?utf-8?B?V2VzOCtLbGxHTndTOFcrVWcvUEx5RWVsZUpSYXhZV29pdlM4NUdleWxxT2w1?=
 =?utf-8?B?MFVxQUlIVHJmYndZRWhra2ZFUVd4blBmQUVhblFPbEpRMWUwU01TMjVNWXdr?=
 =?utf-8?B?S1FVMzhmbGM2Rk52eUZabWlyNmpkVjdjREh2cFVrWG85TDZUZjFWaTJYYmpB?=
 =?utf-8?B?UzNBVk8zV0YyQlJoUmE3SGZXSENwbFgvVktDcXhUbXVGVjhSa3lmaXEraVFi?=
 =?utf-8?B?c0lIa0Z3WVdPbTZ1aExmSlAyMTlsc3BmYkk5YzhIMFE0QVRTcXlVQ01scFA2?=
 =?utf-8?Q?01OJDNl6hu3+exZDS/D+LsTUr?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1626f787-8ba5-4753-13ef-08dd6ab18b72
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 08:54:54.0337
 (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: 7V0mPgqAkuIE/MudzVp5OHzd1pJFvRFnAC/9mcQYBSClpvr6VlD4LDpKgm0ALUFy
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6019



On 20/03/2025 17:46, Anthony PERARD wrote:
> 
> 
> On Tue, Mar 18, 2025 at 10:00:13AM +0100, Michal Orzel wrote:
>> We are missing a way to detect whether a user provided a value for
>> nr_spis equal to 0 or did not provide any value (default is also 0) which
>> can cause issues when calculated nr_spis is > 0 and the value from domain
>> config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
>> (max supported nr of SPIs is 960 anyway).
>>
>> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_spis value")
>> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  tools/libs/light/libxl_arm.c     | 7 ++++---
>>  tools/libs/light/libxl_types.idl | 2 +-
>>  2 files changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
>> index 2d895408cac3..5bb5bac61def 100644
>> --- a/tools/libs/light/libxl_arm.c
>> +++ b/tools/libs/light/libxl_arm.c
>> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>                                        libxl_domain_config *d_config,
>>                                        struct xen_domctl_createdomain *config)
>>  {
>> -    uint32_t nr_spis = 0;
>> +    uint32_t nr_spis = 0, cfg_nr_spis = d_config->b_info.arch_arm.nr_spis;
>>      unsigned int i;
>>      uint32_t vuart_irq, virtio_irq = 0;
>>      bool vuart_enabled = false, virtio_enabled = false;
>> @@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>
>>      LOG(DEBUG, "Configure the domain");
>>
>> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
>> +    /* We use UINT32_MAX to denote if a user provided a value or not */
>> +    if ((cfg_nr_spis != UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
>>          LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
>>              nr_spis);
>>          return ERROR_FAIL;
>>      }
>>
>> -    config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
>> +    config->arch.nr_spis = (cfg_nr_spis != UINT32_MAX) ? cfg_nr_spis : nr_spis;
> 
> Could you try to check only once if there is a user provided value for
> nr_spis?
Sure, but that's one extra variable or more if/else blocks.

> 
>>      LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
>>
>>      switch (d_config->b_info.arch_arm.gic_version) {
>> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
>> index bd4b8721ff19..129c00ce929c 100644
>> --- a/tools/libs/light/libxl_types.idl
>> +++ b/tools/libs/light/libxl_types.idl
>> @@ -723,7 +723,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>>                                 ("vuart", libxl_vuart_type),
>>                                 ("sve_vl", libxl_sve_type),
>> -                               ("nr_spis", uint32),
>> +                               ("nr_spis", uint32, {'init_val': 'UINT32_MAX'}),
> 
> Could you introduce something like LIBXL_NR_SPIS_DEFAULT in libxl.h
> instead? (Like we have LIBXL_MAX_GRANT_DEFAULT or LIBXL_MEMKB_DEFAULT)
Sure, no problem.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:00:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:00:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925101.1327968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdfL-0005b1-QZ; Mon, 24 Mar 2025 09:00:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925101.1327968; Mon, 24 Mar 2025 09: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 1twdfL-0005at-Ny; Mon, 24 Mar 2025 09:00:15 +0000
Received: by outflank-mailman (input) for mailman id 925101;
 Mon, 24 Mar 2025 09:00: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=dvQq=WL=epam.com=Oleksii_Moisieiev@srs-se1.protection.inumbo.net>)
 id 1twdfL-0005am-43
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:00:15 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20608.outbound.protection.outlook.com
 [2a01:111:f403:2608::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 647512d6-088e-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 10:00:11 +0100 (CET)
Received: from PAVPR03MB8946.eurprd03.prod.outlook.com (2603:10a6:102:32e::21)
 by AS8PR03MB6856.eurprd03.prod.outlook.com (2603:10a6:20b:29f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 09:00:09 +0000
Received: from PAVPR03MB8946.eurprd03.prod.outlook.com
 ([fe80::f12d:7394:bbe3:dfc]) by PAVPR03MB8946.eurprd03.prod.outlook.com
 ([fe80::f12d:7394:bbe3:dfc%6]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 09: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: 647512d6-088e-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nKJxHA7DYR4chjUsDiF+wCovfCntSH2tsVnYbjlzcBKEtZMxBEspRxK9PRfkUhl4xgf1V6Fg/yE+75K+61qs1ltaQeaQOkg4CIDx8v+s6bn8UjlMloAyuWREEOVZivs9f1h1w+kigta/WubBcdJW7H5Lx1EgPGet112u9J9bh3E97EEY+uUiT9a6Ub/cdHCh1bNfj4Z9ePD4vQJl9BMXQqYkzwMf+Vkje6tETMuoHLL1MLmjxdpED962EJyWZz+VbrFfFDkACX1GrpnI+18aelIAj9fKJXjPDQd2WqPlrCN8gjv4XBuqPDLwNWbFt6X61NjKEGyLYNCuI+f97ClWdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=80stQLBiN5QiJJ0lXbBVgPSxMFkYOSWVxy9NS7XJBwg=;
 b=IKE7KMVA1Yc/Bb55Ipz6x8brOj4RXOQ8k93vcCScsnx7x5nl+yMZU45oinddW8UEQdPPrA0zUdNqFXPwmXBd71+VfMMcjo0Yz04+IAXHBP5MDMqP3T1FWBX8Pq2Xzoj39MRFQuyfskTDMxIvIlpNzixY3uOlTAM5sL6HuuBd3VoNdLB2Yh5hEj2YjwQZ4WS0w6vUhltCE6Z47P7msEg7xy4RlLyRLl1u6oVObTJ8kjEBaHGoU67EokKn0s66B225MvGNVmd0EjdWiMdQ25RqG/09jaGYN88cg2Daq5xSa5nr19pkrBVs2/C72s0FZ+XCIycafVOS6QqAa89f9WnIBA==
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=80stQLBiN5QiJJ0lXbBVgPSxMFkYOSWVxy9NS7XJBwg=;
 b=qQnpzK/znW7/2lQobdk1BUGmy9qwxuU4N+iGhpX15RuG0dToWpOQOnf8iE401YAjlvQ3A6owPoPyCWL/hXk9ho9dw3DTrJu78Q+8vnrpDxzlXQ+0MmBqpzfPgweGLpLVCip8Rdzifnwg8i+Zz2847FwRCYJKZhWwNdk2Em//6NGyeKluseogXvL7qKTazYGTv38ttbHD3wYUkk6oGXfARe9HAnNIkjyQUpjLJVpmYzqtAPzxm2HIOyc96yXmZP+cMU9njmeVe9SRzC8GuPDH4ZDG5bcCyqk0tT4QP/6SZpae7x3d7QLPX0MGFLmqST4+tOKalhgiHOn0sWFgfRXQgw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Jan Beulich <jbeulich@suse.com>, Grygorii Strashko
	<gragst.linux@gmail.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>, Michal Orzel
	<michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>, Anthony
 PERARD <anthony.perard@vates.tech>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>, Grygorii Strashko
	<grygorii_strashko@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
Thread-Topic: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
Thread-Index: AQHbkncOeD3VtJHazEm60TGwzYlR9LNt0I6AgBRAzAA=
Date: Mon, 24 Mar 2025 09:00:09 +0000
Message-ID: <5190f71c-4a93-4f66-91d0-aec43a97ddab@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
In-Reply-To: <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.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: PAVPR03MB8946:EE_|AS8PR03MB6856:EE_
x-ms-office365-filtering-correlation-id: 229dbfb0-2786-4c47-c923-08dd6ab247a9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?b25ydmE4TkdER2dPZjdoRXdQb293L2JYbE5lOGpOMDBwUVYvWm96QXozRE9k?=
 =?utf-8?B?U2JKVCtqZ1g3Mk00VEpUNUxnb1NnOHFBUlZyV1lvNE1qUXlsRXZEVk5XOEtr?=
 =?utf-8?B?YVJZbXpVZ0xiVlA5cGJhOVRxaG56OXZDWXpHRWl3SmlkLytVeEIzbmcyNjIx?=
 =?utf-8?B?TjhZTEVWd0RSMHovWE41cll1dWpoNENieUF6cVBqSGhIUGhOMStsTG4vQUpL?=
 =?utf-8?B?WGVzb3hqV1d2UFh3WlFMY2NMeDc1dlNPWC82ZE82dmtIUWttT2s2OGtrS29P?=
 =?utf-8?B?RmRKSFdHYmEraEp5S1gzZGFHeHNmSW1Rc3VtaGxvTm02MStxUGljWVRaZlZl?=
 =?utf-8?B?eFpDSGwyYkREa3ZJcUFiQnNsMGJTeTlHNWhoZ2pKWjJORVB0c1BMYk8wQmlp?=
 =?utf-8?B?YUd3Qk1xMG0yR0J1UUpoV0toSFlLd2ppZ05PSm9CR0tzeFF0d3dtYitTVEZH?=
 =?utf-8?B?dDY1ZkRqT0R4a0hXVWJnbUdYNFNySXRTVkdHQml6ZFI5bmpoZUN0RWZjR2NC?=
 =?utf-8?B?cVVDMm9aQkx0Y2JOOTBxV0RPL1pqcGtPcDRsRmtoLzl4cjRvazJoUUM1YzIy?=
 =?utf-8?B?V1dCeC91ZEhTaEdUMnNjMmtndUNQdGh6aHY2dCtJMkxITDNKNXBya1I5V2ht?=
 =?utf-8?B?VVBBS3ROWDJjSWNuRGUyQ0JOaklNL3YxcGNxYlFmMDZ0MGtzblg5YUVOZDBz?=
 =?utf-8?B?dzh6WDZPKzQ3SXVWU1U4ampYNXEvS05lOGxtem5ubkJQVWFDckt5cGJsRDVk?=
 =?utf-8?B?R216Q1d4WWs1dDNaRnJGckI2dFVKVU1tNk1PQmp1QzBQV1NCZmZYTzdzS1h4?=
 =?utf-8?B?aEUrOTUwajdGcWhRMFgxdlFpMHNqTEE2TC9UUll5TkRIbHI2a3ZPWEZXTEda?=
 =?utf-8?B?ajR6Mld2Vm82VE1QemZNRE5MbmM0a2w0K21xdEF2SG1nWkEwNmlBbXlFRk56?=
 =?utf-8?B?d0hjamQ4QWpvcHQ1eTJwVEIrUGtoTDRnTGZCUzQvWGZReGNWODVCZFppcW9E?=
 =?utf-8?B?V0UvYnhvSVljTUdYK08rWmxDM0tPMmR6T2w5RWZrcjAyck9mR1dPdDk3cE1n?=
 =?utf-8?B?NGRsM3dBVXM4eEEvR1JWODBrY3BqT2RQNm9LV1AxZStpby9vMGpTOXh5Ym5o?=
 =?utf-8?B?eGc2WitHMHVNck5NZXpXWjZMSXNhTCtNNGtWNHN5T2RhQTFBTGJZMWN0TlIr?=
 =?utf-8?B?Rmg4ZzJEenV6L2Fqa2dLWlJFc1dWbjhsQmdZV2VzUHlkQzE2VWxQa1hOelZP?=
 =?utf-8?B?bDNONlcxWGF4NEw0UDFSOVpTOGpWWVlENVNvYldncmt1clZLSDhibHI4WEJt?=
 =?utf-8?B?Q1R5NWl0MCtaK00rT2x2ZkRmdVlTalBFQlZ1eXgrK2hRUUdwZVc1Um5qdVVV?=
 =?utf-8?B?dUlFd0dLNE40U1ppNmVHbkVWSmlEQ3pTWE9DK2NOWk5UMTB6bzJZNzZHTlBM?=
 =?utf-8?B?VHJtTW1VZmdGVGVKTDJjM2lwaW5nVUQ5bk9Qa3FrOGRaUE9jUmFMalEvc1kv?=
 =?utf-8?B?V1JBMFhvN2FmRW1FM2tIWVc4bVBQMTV0UnJJbHJLZ2RueXQyRklWbWdNRkM0?=
 =?utf-8?B?Mm10WFBtK3FyK2VqTTdxbGZ5S3A2bHRyMkdRNHRTWHFpRDI2d1JsU011TkFi?=
 =?utf-8?B?b2NHems5Ung5aytDekw1TTlMakNpbnhtVFVnMFhZMzFYcnBpb0xDc3A3T09R?=
 =?utf-8?B?b3RheFp3NjNIaXpKKzcybmtNN0F2K3NnUTFWbnpScFVOdDlWbmkwZnoxcHNM?=
 =?utf-8?B?Z0NuaUVDUnNRSnh2cGJPVEVBaE9kMm5QVmVoaGt2aGdJYVlaN3pUWVBaVW4w?=
 =?utf-8?B?OEI2bkJlS0Y4WjRCZ1EwaXowODNDYmJhdG1kMFRGVXo0Wk9qelROOUxrMU5j?=
 =?utf-8?B?ZmdBZU5idkRPamo2VDgwM1hUMHo5cndWajZ1Zzgycy9FaW0wSDFpalBzcWhy?=
 =?utf-8?Q?EnKAz7LdbW9UT+HabripiPwBHUlL9cRb?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB8946.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MTRwZmVXK2VIbmtuUW1XUlBYT2I4eWczV3dEMmJWUWZIZnYyRHo0Z3ovdk94?=
 =?utf-8?B?MzRLNjZDZk1BMzNCSzRacDVwazdsbWcvSlF2ODQwcW96VUgzdnNndG9mQ0sy?=
 =?utf-8?B?MFQ2bjhrcm9Ba055TjdoVldCcFB2WWZoc2RmMGhtZ2pCanJERlBqM2V4OE84?=
 =?utf-8?B?U3hQWC9GTDV0S3J1VnJsN1hhUFR2dmIzRzk4MzhDdXdOdk05NmdybUV0WXZK?=
 =?utf-8?B?czNpNmVBR01wdWcwN0p0T2gwL0VOWFk1MWpBN2xSbXV4OHBCYndrZURTc0ZT?=
 =?utf-8?B?VnZ2NDU3NHhCQjA5M0h5RllWUWFuaithcTYxQnVMSTEwV1g5SDIrc21DQUtY?=
 =?utf-8?B?ZElBMlNRQkNhOXJPaTlIMUc3amhBUzlId0REajNPRi95MURPenlIaXZqdlRK?=
 =?utf-8?B?Qk84bEx1WmJOcXpWV3UraDBzSHFxbHhhMDNRR1BQSXErcm5Ib2xaMTFNMGwv?=
 =?utf-8?B?cHY2SktwaUdESDEzNnNIcGlKTjV6eElYQ0JSbFJNWXdUdEJURGZHNnhSS2V4?=
 =?utf-8?B?dU92bEdoYlFFbUx2djIva1lVOHZPQS9ZMWtDYUx6Zno2bk9sT3R4QTRXVGk1?=
 =?utf-8?B?UTZVQzhMcmNCSytOUGtMVUFKUVNhN1pBNGxjYjl6YkhFZU1BQng5bEZ2L2VQ?=
 =?utf-8?B?bEVXay9oRnN4eG50YkFmckM2OWp2bFU2b2k5OTY2OW42UHlXR3IxRkowbjJN?=
 =?utf-8?B?OTZOYUgrZVNZZG5zYTBBQm5QZ2RVYmRZZVFwK3VLZElxbzRkaFNYYWMwWThP?=
 =?utf-8?B?VjUxb1NpM1d5OTUraHhSQnN6Y0Z5Ykl0aXZaKzl5YXVUdVQ4bVJJV0c1a1Ay?=
 =?utf-8?B?WW1xSkR0SlpTZE5HeHhPMG1ZV2ZZNUcxbFUwNkk4eS96RExmUythbXp0ZTQv?=
 =?utf-8?B?Zkk1dUwzdEhBbDRDOVo0d1pnTWcxUUhIS3dWaVBlRW9JTHgvdTVhMFB5blAx?=
 =?utf-8?B?RDBNMHpvODUwajE3QkIyNWg2WmpCVmE0a3VlV3lZMGFkdEVYNG1aalVXbHFQ?=
 =?utf-8?B?eVhlaWR6M2lkWndvTTBaYW8ydFdRWXFMU0VuK2VQQkRCOGNKZThndU0vV0tV?=
 =?utf-8?B?bk1QYjQzdGdzNjRUaEpIZ282d2ZabXNJVlFaT3hoU3BrT3ZvQjU4SjcxWkw1?=
 =?utf-8?B?NHZmWDBMamxNdjdWMHgxTDZxYWE1RnpCK2lFdWJpUjNYamxiVmhUTzBmZUli?=
 =?utf-8?B?UCtxQ2Q1am5YOWVicnlTblROYUdXUzJ5V2dodXRQSzVPTElacVZMbS9lTU16?=
 =?utf-8?B?N05pZDZmTGFwa1hSSXc1NXRBKzJaZGo4ZytRZldyZ2xoSkwzZGlxOFhMZFVo?=
 =?utf-8?B?ZUZhTjhBWmdMQWdNbk4xbmxjcnF0SzhrR1F2M2lycWlDdEtFdzNwa1hWcThQ?=
 =?utf-8?B?bFR2NGUxdTdidzNUMzZyRlkrNm9XNVhIbWkwWnc2cGwvdG56dmlYZnRJZERU?=
 =?utf-8?B?TFJ3S0JQcng4SCs3M3ZkdFBsSGE5VzJCcEZXcUl3OWJCNmVFbE80MzYrWm9M?=
 =?utf-8?B?cjdtdFJuQmJhb2ZxYmhXNjN3R0dqZkF5eFhZUkJDVHZDcWsxK2dkY3ZtaGJG?=
 =?utf-8?B?cE1RbWVCTnBZc0pWbkRBRk00ZklvTVdMb2g3V2tGM3VkdTZaaWNqU3NGa2Q3?=
 =?utf-8?B?bjM0N01TS3RPRUJ6OFBOaktJRXlFZ1lKbkE2S0w2U3Jqby9DQjFzS2R4d1BW?=
 =?utf-8?B?SmRDUzdoWmtVbXhleFphTmROZ2hsbUE2YmtuSjMvOXNxU21MeUN3UDArT1dG?=
 =?utf-8?B?VTRtY3pKQUNKUXJTOWRlNzYrUytrY1lqS3g4TG9PNnRTdUtseUZBKy9WRytq?=
 =?utf-8?B?SXJKcWJMa0VIaTFwSWxwQUVqR3Znajhha2FZV3ZmZlA5TSszSjVwQys2SzBH?=
 =?utf-8?B?emp6cXI3SUhFL2VKRDY4aG5tYktRSXBWSi9YMjA5dUxGNCtlOXJMUGROdDdI?=
 =?utf-8?B?d2IzMjFKUytkb1EwTFR5WDZldmYzQUFQZjlDRFpiNWNudXJVOHM0Ly9ISlBt?=
 =?utf-8?B?emRNZktNN1R1K290Um4yZmh3UTd2UlNrWFNEajdpOGhsWUZEYWpiajJ3NFNh?=
 =?utf-8?B?K1dscnFnR283aDhDUVJTck9qaGEzVk1MSHU3S1N6THpwcGNmMUo0U1JiaEl4?=
 =?utf-8?B?OHJlaXByZXRlcU9uWk5rclI5bmpCc3psMUhvcHpTaEw3L1J4elgrU0JmWXhN?=
 =?utf-8?B?Y1E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <26C482B051FAAC4FBE061E970D46E1CB@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: PAVPR03MB8946.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 229dbfb0-2786-4c47-c923-08dd6ab247a9
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2025 09:00:09.5049
 (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: QvsgdCG3NcDLAoQm/gyeFSc/NMoQLx0UDcB4KE7oi1Yfg5dHPmlz8t7NIAb5+Rq+bKVfOwaHuryQL6jy9hpp2yHtaHUI7QKkIoUoWHRvIgE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6856

SGkgSmFuLA0KDQpMZXQgbWUgYW5zd2VyIG9uZSBvZiB5b3VyIGNvbW1lbnQuIFBsZWFzZSBzZWUg
YmVsb3c6DQoNCk9uIDExLzAzLzIwMjUgMTM6NDMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAx
MS4wMy4yMDI1IDEyOjE2LCBHcnlnb3JpaSBTdHJhc2hrbyB3cm90ZToNCj4+IC0tLSBhL01BSU5U
QUlORVJTDQo+PiArKysgYi9NQUlOVEFJTkVSUw0KPj4gQEAgLTUyNiw2ICs1MjYsMTIgQEAgUzoJ
U3VwcG9ydGVkDQo+PiAgIEY6CXhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS90ZWUvDQpbc25pcF0N
Cj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oDQo+PiArKysgYi94ZW4vaW5j
bHVkZS9wdWJsaWMvYXJjaC1hcm0uaA0KPj4gQEAgLTMyNyw2ICszMjcsOCBAQCBERUZJTkVfWEVO
X0dVRVNUX0hBTkRMRSh2Y3B1X2d1ZXN0X2NvbnRleHRfdCk7DQo+PiAgICNkZWZpbmUgWEVOX0RP
TUNUTF9DT05GSUdfVEVFX09QVEVFICAgICAxDQo+PiAgICNkZWZpbmUgWEVOX0RPTUNUTF9DT05G
SUdfVEVFX0ZGQSAgICAgICAyDQo+PiAgIA0KPj4gKyNkZWZpbmUgWEVOX0RPTUNUTF9DT05GSUdf
QVJNX1NDSV9OT05FICAgICAgMA0KPj4gKw0KPj4gICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29u
ZmlnIHsNCj4+ICAgICAgIC8qIElOL09VVCAqLw0KPj4gICAgICAgdWludDhfdCBnaWNfdmVyc2lv
bjsNCj4+IEBAIC0zNTAsNiArMzUyLDggQEAgc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZpZyB7
DQo+PiAgICAgICAgKg0KPj4gICAgICAgICovDQo+PiAgICAgICB1aW50MzJfdCBjbG9ja19mcmVx
dWVuY3k7DQo+PiArICAgIC8qIElOICovDQo+PiArICAgIHVpbnQ4X3QgYXJtX3NjaV90eXBlOw0K
Pj4gICB9Ow0KPiBZb3UncmUgbm90IHJlLXVzaW5nIGEgcHJlLWV4aXN0aW5nIHBhZGRpbmcgZmll
bGQsIHNvIEkgZG9uJ3Qgc2VlIGhvdyB5b3UNCj4gY2FuIGdldCBhd2F5IHdpdGhvdXQgYnVtcGlu
ZyBYRU5fRE9NQ1RMX0lOVEVSRkFDRV9WRVJTSU9OLg0KPg0KPiBKYW4NCg0KDQpXZSBhcmUgcmV1
c2luZyBhbiBleGlzdGluZyBwYWRkaW5nIGZpZWxkIGluIHhlbl9kb21jdGwsIHdoaWNoIGlzIGRl
ZmluZWQgDQphcyBwYWRbMTI4XS4NCg0KVGhlIHhlbl9hcmNoX2RvbWFpbmNvbmZpZyBzdHJ1Y3R1
cmUgaXMgYSBwYXJ0IG9mIHRoZSBmb2xsb3dpbmcgZG9tY3RsIA0Kc3RydWN0dXJlczoNCg0KLSB4
ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbg0KDQotIHhlbl9kb21jdGxfZ2V0ZG9tYWluaW5mbw0KDQpU
aGVzZSBzdHJ1Y3R1cmVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgdW5pb24gd2l0aGluIHhlbl9kb21j
dGwsIHdoaWNoIA0KZGVmaW5lcyBwYWRbMTI4XSBmb3IgcGFkZGluZy4NCg0KSW4gdGhlIGZvbGxv
d2luZyBleGFtcGxlLCBJIHVzZWQgdGhlIHBhaG9sZSB0b29sIHRvIGluc3BlY3QgdGhlIGN1cnJl
bnQgDQpzdHJ1Y3R1cmUgc2l6ZXMgZm9yIHRoZQ0KDQp4ZW5fZG9tY3RsIHN0cnVjdHVyZToNCg0K
ID4gcGFob2xlIHhlbi1zeW1zIC1DIHhlbl9kb21jdGwNCg0KVGhlIHJlc3VsdCBpcyBhcyBmb2xs
b3dzOg0KDQogwqDCoMKgIHN0cnVjdCB4ZW5fZG9tY3RsIHsNCiDCoMKgwqAgwqDCoCDCoCDCoMKg
IHVpbnQzMl90wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNtZDsgLyrCoMKg
wqDCoCAwwqDCoMKgwqAgNCAqLw0KIMKgwqDCoMKgwqDCoMKgIMKgwqDCoCB1aW50MzJfdMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnRlcmZhY2VfdmVyc2lvbjsgLyrCoMKg
wqDCoCA0wqDCoMKgwqAgDQo0ICovDQogwqDCoMKgwqDCoMKgwqAgwqDCoMKgIGRvbWlkX3TCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkb21haW47IC8qwqDCoMKgwqAgOMKg
wqDCoMKgIDIgKi8NCiDCoMKgwqDCoMKgwqDCoCDCoMKgwqAgdWludDE2X3TCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3BhZFszXTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAvKiAxMMKgwqDCoMKgIA0KNiAqLw0KIMKgwqDCoMKgwqDCoMKgIMKgwqDCoCB1bmlvbiB7DQog
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCDCoMKgIMKgIMKgwqAgc3RydWN0IHhlbl9kb21jdGxfY3Jl
YXRlZG9tYWluIGNyZWF0ZWRvbWFpbjsgLyrCoMKgwqAgDQoxNsKgwqDCoCA3NiAqLw0KIMKgwqAg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHhlbl9kb21jdGxfZ2V0ZG9t
YWluaW5mbyBnZXRkb21haW5pbmZvIA0KX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oOCkpKTsg
LyrCoMKgwqAgMTbCoMKgIDEyMCAqLw0KIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg
wqAgLi4uDQoNCiDCoMKgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50OF90wqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBwYWRbMTI4XTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyog
MTbCoMKgIDEyOCAqLw0KDQogwqDCoMKgIMKgwqDCoCDCoMKgwqAgfTsNCg0KQm90aCBzdHJ1Y3R1
cmVzLCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiBhbmQgeGVuX2RvbWN0bF9nZXRkb21haW5pbmZv
LCANCmRvIG5vdCBleGNlZWQgdGhlIHNpemUgb2YgdGhlIDEyOC1ieXRlIHBhZGRpbmcuDQoNCldC
UiwNCg0KT2xla3NpaS4NCg==


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:15:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925110.1327979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdtd-0000ZZ-0r; Mon, 24 Mar 2025 09:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925110.1327979; Mon, 24 Mar 2025 09:15: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 1twdtc-0000ZS-UT; Mon, 24 Mar 2025 09:15:00 +0000
Received: by outflank-mailman (input) for mailman id 925110;
 Mon, 24 Mar 2025 09:15: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twdtc-0000ZM-Ep
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:15:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 75463dba-0890-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 10:14:58 +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 7036D1A2D;
 Mon, 24 Mar 2025 02:15:04 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.81.213])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CA23B3F63F;
 Mon, 24 Mar 2025 02:14: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: 75463dba-0890-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [PATCH v3 0/5] FF-A VM to VM support
Date: Mon, 24 Mar 2025 10:14:31 +0100
Message-ID: <cover.1742570590.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch serie adds support to use FF-A between VM for communications
using indirect messages.

It adds a Kconfig parameter to enable this feature and marks it as
experimental as for now there is no system to restrict communication
rights between VM using this system.

It also adds support to use VM to VM communications using FF-A even if
there is no firmware support for FF-A. As this feature enables FF-A
support in all cases, we also introduce a new command line parameter to
allow the user to force which tee is to be used between FF-A and Optee
to have a solution to enable optee support if FF-A VM to VM is enabled.

Changes since v2:
- Rework partition_info_get implementation
- Taint Xen and display a message when VM to VM is enabled
- Various fixes explained in each patch

Changes since v1 (rfc):
- add a tee command line parameter
- use IS_ENABLED instead of ifdef when possible
- rebase on latest staging


Bertrand Marquis (5):
  xen/arm: Create tee command line parameter
  xen/arm: ffa: Introduce VM to VM support
  xen/arm: ffa: Add buffer full notification support
  xen/arm: ffa: Add indirect message between VM
  xen/arm: ffa: Enable VM to VM without firmware

 docs/misc/xen-command-line.pandoc  |  14 ++
 xen/arch/arm/include/asm/tee/tee.h |   4 +
 xen/arch/arm/tee/Kconfig           |  11 ++
 xen/arch/arm/tee/ffa.c             |  24 ++-
 xen/arch/arm/tee/ffa_msg.c         |  96 +++++++++-
 xen/arch/arm/tee/ffa_notif.c       | 140 ++++++++-------
 xen/arch/arm/tee/ffa_partinfo.c    | 270 +++++++++++++++++++----------
 xen/arch/arm/tee/ffa_private.h     |  35 +++-
 xen/arch/arm/tee/tee.c             |  31 ++++
 9 files changed, 462 insertions(+), 163 deletions(-)

-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:15:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925114.1327989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdtu-0000we-7l; Mon, 24 Mar 2025 09:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925114.1327989; Mon, 24 Mar 2025 09:15: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 1twdtu-0000wX-57; Mon, 24 Mar 2025 09:15:18 +0000
Received: by outflank-mailman (input) for mailman id 925114;
 Mon, 24 Mar 2025 09:15: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twdts-0000ZM-L1
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:15:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7fa64b73-0890-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 10:15:16 +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 E3CB71A2D;
 Mon, 24 Mar 2025 02:15:21 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.81.213])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3145B3F63F;
 Mon, 24 Mar 2025 02:15: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: 7fa64b73-0890-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [PATCH v3 1/5] xen/arm: Create tee command line parameter
Date: Mon, 24 Mar 2025 10:14:32 +0100
Message-ID: <e8e930e8de1524f04d9e46139742cc9b27c91d6d.1742570590.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742570590.git.bertrand.marquis@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a new command line parameter "tee=" to be used to explicitly select
what tee mediator is to be used by Xen and fail if it does not exist
or the probe function for it failed.

Without specifying which tee is to be used, Xen will use the first one
for which the probe function succeeds which depends on the order of the
mediator list which depends on the compiler.
Using the command line argument, it is now possible to explicit request
a specific TEE mediator and panic on boot if it is not available.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3:
- Properly classify tee as arm specific (Jan)
Changes in v2:
- Patch introduced to add a command line selection of the TEE
---
 docs/misc/xen-command-line.pandoc  | 14 ++++++++++++++
 xen/arch/arm/include/asm/tee/tee.h |  4 ++++
 xen/arch/arm/tee/tee.c             | 31 ++++++++++++++++++++++++++++++
 3 files changed, 49 insertions(+)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 89db6e83be66..0c2ff542a138 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
 
 Flag to enable TSC deadline as the APIC timer mode.
 
+### tee (arm)
+> `= <string>`
+
+Specify the TEE mediator to be probed and use.
+
+The default behaviour is to probe all supported TEEs supported by Xen and use
+the first one successfully probed. When this parameter is passed, Xen will
+probe only the TEE mediator passed as argument and boot will fail if this
+mediator is not properly probed or if the requested TEE is not supported by
+Xen.
+
+This parameter can be set to `optee` of `ffa` if the corresponding mediators
+are compiled in.
+
 ### tevt_mask
 > `= <integer>`
 
diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/asm/tee/tee.h
index 0169fd746bcd..15d664e28dce 100644
--- a/xen/arch/arm/include/asm/tee/tee.h
+++ b/xen/arch/arm/include/asm/tee/tee.h
@@ -55,6 +55,9 @@ struct tee_mediator_desc {
     /* Printable name of the TEE. */
     const char *name;
 
+    /* Command line name of the TEE (to be used with tee= cmdline option) */
+    const char *cmdline_name;
+
     /* Mediator callbacks as described above. */
     const struct tee_mediator_ops *ops;
 
@@ -77,6 +80,7 @@ void tee_free_domain_ctx(struct domain *d);
 static const struct tee_mediator_desc __tee_desc_##_name __used     \
 __section(".teemediator.info") = {                                  \
     .name = _namestr,                                               \
+    .cmdline_name = #_name,                                         \
     .ops = _ops,                                                    \
     .tee_type = _type                                               \
 }
diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
index 3f65e45a7892..066b5ba40f9d 100644
--- a/xen/arch/arm/tee/tee.c
+++ b/xen/arch/arm/tee/tee.c
@@ -19,12 +19,17 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/types.h>
+#include <xen/param.h>
 
 #include <asm/tee/tee.h>
 
 extern const struct tee_mediator_desc _steemediator[], _eteemediator[];
 static const struct tee_mediator_desc __read_mostly *cur_mediator;
 
+/* Select the TEE mediator using a name on command line. */
+static char __initdata opt_mediator[16] = "";
+string_param("tee", opt_mediator);
+
 /*
  * TODO: Add function to alter Dom0 DTB, so we can properly describe
  * present TEE.
@@ -81,14 +86,40 @@ static int __init tee_init(void)
 {
     const struct tee_mediator_desc *desc;
 
+    if ( strcmp(opt_mediator, "") )
+        printk(XENLOG_INFO "TEE Mediator %s selected from command line\n",
+               opt_mediator);
+
+    /*
+     * When a specific TEE is selected using the 'tee=' command line
+     * argument, we panic if the probe fails or if the requested TEE is not
+     * supported.
+     */
     for ( desc = _steemediator; desc != _eteemediator; desc++ )
     {
+        if ( strcmp(opt_mediator, "") &&
+             strncmp(opt_mediator, desc->cmdline_name, sizeof(opt_mediator)) )
+            continue;
+
         if ( desc->ops->probe() )
         {
             printk(XENLOG_INFO "Using TEE mediator for %s\n", desc->name);
             cur_mediator = desc;
             return 0;
         }
+        else if ( strcmp(opt_mediator, "") )
+        {
+            panic("TEE mediator %s from command line probe failed\n",
+                  opt_mediator);
+            return -EFAULT;
+        }
+    }
+
+    if ( strcmp(opt_mediator, "") )
+    {
+        panic("TEE Mediator %s from command line not supported\n",
+              opt_mediator);
+        return -EINVAL;
     }
 
     return 0;
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:15:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:15:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925116.1327999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdu0-0001Et-G4; Mon, 24 Mar 2025 09:15:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925116.1327999; Mon, 24 Mar 2025 09:15: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 1twdu0-0001Em-Cj; Mon, 24 Mar 2025 09:15:24 +0000
Received: by outflank-mailman (input) for mailman id 925116;
 Mon, 24 Mar 2025 09:15: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twdty-0000ZM-N7
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:15:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 833fe8a0-0890-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 10:15:22 +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 E37861CDD;
 Mon, 24 Mar 2025 02:15:27 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.81.213])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0A4453F63F;
 Mon, 24 Mar 2025 02:15: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: 833fe8a0-0890-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3 4/5] xen/arm: ffa: Add indirect message between VM
Date: Mon, 24 Mar 2025 10:14:35 +0100
Message-ID: <4a9867855093453eaad4f548df8e92162176eed9.1742570590.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742570590.git.bertrand.marquis@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for indirect messages between VMs.
This is only enabled if CONFIG_FFA_VM_TO_VM is selected.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3:
- Move vm to vm indirect message handling in a sub function to simplify
  lock handling and make implementation easier to read
Changes in v2:
- Switch ifdef to IS_ENABLED
---
 xen/arch/arm/tee/ffa_msg.c | 96 ++++++++++++++++++++++++++++++++++----
 1 file changed, 88 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
index ee594e737fc7..c21083b5e68f 100644
--- a/xen/arch/arm/tee/ffa_msg.c
+++ b/xen/arch/arm/tee/ffa_msg.c
@@ -88,6 +88,72 @@ out:
                  resp.a7 & mask);
 }
 
+static int32_t ffa_msg_send2_vm(uint16_t dst_id,
+                                const struct ffa_part_msg_rxtx *src_msg)
+{
+    struct domain *dst_d;
+    struct ffa_ctx *dst_ctx;
+    struct ffa_part_msg_rxtx *dst_msg;
+    int err;
+    int32_t ret;
+
+    if ( dst_id == 0 )
+        /* FF-A ID 0 is the hypervisor, this is not valid */
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /* This is also checking that dest is not src */
+    err = rcu_lock_live_remote_domain_by_id(dst_id - 1, &dst_d);
+    if ( err )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    if ( dst_d->arch.tee == NULL )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock;
+    }
+
+    dst_ctx = dst_d->arch.tee;
+    if ( !dst_ctx->guest_vers )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock;
+    }
+
+    /* we need to have enough space in the destination buffer */
+    if ( dst_ctx->page_count * FFA_PAGE_SIZE <
+            (sizeof(struct ffa_part_msg_rxtx) + src_msg->msg_size) )
+    {
+        ret = FFA_RET_NO_MEMORY;
+        goto out_unlock;
+    }
+
+    /* This also checks that destination has set a Rx buffer */
+    ret = ffa_rx_acquire(dst_d);
+    if ( ret )
+        goto out_unlock;
+
+    dst_msg = dst_ctx->rx;
+
+    /* prepare destination header */
+    dst_msg->flags = 0;
+    dst_msg->reserved = 0;
+    dst_msg->msg_offset = sizeof(struct ffa_part_msg_rxtx);
+    dst_msg->send_recv_id = src_msg->send_recv_id;
+    dst_msg->msg_size = src_msg->msg_size;
+
+    memcpy(dst_ctx->rx + sizeof(struct ffa_part_msg_rxtx),
+           ((void *)src_msg) + src_msg->msg_offset, src_msg->msg_size);
+
+    /* receiver rx buffer will be released by the receiver*/
+
+out_unlock:
+    rcu_unlock_domain(dst_d);
+    if ( !ret )
+        ffa_raise_rx_buffer_full(dst_d);
+
+    return ret;
+}
+
 int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
 {
     struct domain *src_d = current->domain;
@@ -96,9 +162,6 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
     uint16_t dst_id, src_id;
     int32_t ret;
 
-    if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( !spin_trylock(&src_ctx->tx_lock) )
         return FFA_RET_BUSY;
 
@@ -106,10 +169,10 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
     src_id = src_msg->send_recv_id >> 16;
     dst_id = src_msg->send_recv_id & GENMASK(15,0);
 
-    if ( src_id != ffa_get_vm_id(src_d) || !FFA_ID_IS_SECURE(dst_id) )
+    if ( src_id != ffa_get_vm_id(src_d) )
     {
         ret = FFA_RET_INVALID_PARAMETERS;
-        goto out_unlock_tx;
+        goto out;
     }
 
     /* check source message fits in buffer */
@@ -118,13 +181,30 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
          src_msg->msg_offset < sizeof(struct ffa_part_msg_rxtx) )
     {
         ret = FFA_RET_INVALID_PARAMETERS;
-        goto out_unlock_tx;
+        goto out;
     }
 
-    ret = ffa_simple_call(FFA_MSG_SEND2,
+    if ( FFA_ID_IS_SECURE(dst_id) )
+    {
+        /* Message for a secure partition */
+        if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
+        {
+            ret = FFA_RET_NOT_SUPPORTED;
+            goto out;
+        }
+
+        ret = ffa_simple_call(FFA_MSG_SEND2,
                           ((uint32_t)ffa_get_vm_id(src_d)) << 16, 0, 0, 0);
+    }
+    else if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        /* Message for a VM */
+        ret = ffa_msg_send2_vm(dst_id, src_msg);
+    }
+    else
+        ret = FFA_RET_INVALID_PARAMETERS;
 
-out_unlock_tx:
+out:
     spin_unlock(&src_ctx->tx_lock);
     return ret;
 }
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:15:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925118.1328009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdu1-0001V2-U6; Mon, 24 Mar 2025 09:15:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925118.1328009; Mon, 24 Mar 2025 09:15: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 1twdu1-0001Up-QV; Mon, 24 Mar 2025 09:15:25 +0000
Received: by outflank-mailman (input) for mailman id 925118;
 Mon, 24 Mar 2025 09:15: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twdu0-0000tJ-6W
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:15:24 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 80d9f487-0890-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 10:15: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 D914A1C14;
 Mon, 24 Mar 2025 02:15:23 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.81.213])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 13EC03F63F;
 Mon, 24 Mar 2025 02:15: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: 80d9f487-0890-11f0-9ffa-bf95429c2676
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3 2/5] xen/arm: ffa: Introduce VM to VM support
Date: Mon, 24 Mar 2025 10:14:33 +0100
Message-ID: <5fbf7b0e48a652bfe1f7cd041105cb4992924990.1742570590.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742570590.git.bertrand.marquis@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
between VMs.
When activated list VMs in the system with FF-A support in part_info_get.

When VM to VM is activated, Xen will be tainted as Insecure and a
message is displayed to the user during the boot as there is no
filtering of VMs in FF-A so any VM can communicate or see any other VM
in the system.

WARNING: There is no filtering for now and all VMs are listed !!

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3:
- break partinfo_get in several sub functions to make the implementation
  easier to understand and lock handling easier
- rework implementation to check size along the way and prevent previous
  implementation limits which had to check that the number of VMs or SPs
  did not change
- taint Xen as INSECURE when VM to VM is enabled
Changes in v2:
- Switch ifdef to IS_ENABLED
- dom was not switched to d as requested by Jan because there is already
  a variable d pointing to the current domain and it must not be
  shadowed.
---
 xen/arch/arm/tee/Kconfig        |  11 ++
 xen/arch/arm/tee/ffa.c          |  12 ++
 xen/arch/arm/tee/ffa_partinfo.c | 270 +++++++++++++++++++++-----------
 xen/arch/arm/tee/ffa_private.h  |  12 ++
 4 files changed, 214 insertions(+), 91 deletions(-)

diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
index c5b0f88d7522..88a4c4c99154 100644
--- a/xen/arch/arm/tee/Kconfig
+++ b/xen/arch/arm/tee/Kconfig
@@ -28,5 +28,16 @@ config FFA
 
 	  [1] https://developer.arm.com/documentation/den0077/latest
 
+config FFA_VM_TO_VM
+    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
+    default n
+    depends on FFA
+    help
+      This option enables to use FF-A between VMs.
+      This is experimental and there is no access control so any
+      guest can communicate with any other guest.
+
+      If unsure, say N.
+
 endmenu
 
diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 3bbdd7168a6b..e41ab5f8ada6 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -464,6 +464,18 @@ static bool ffa_probe(void)
     printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
            FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
 
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        /*
+         * When FFA VM to VM is enabled, the current implementation does not
+         * offer any way to limit which VM can communicate with which VM using
+         * FF-A.
+         * Signal this in the xen console and taint the system as insecure.
+         * TODO: Introduce a solution to limit what a VM can do through FFA.
+         */
+        printk(XENLOG_ERR "ffa: VM to VM is enabled, system is insecure !!\n");
+        add_taint(TAINT_MACHINE_INSECURE);
+    }
     /*
      * psci_init_smccc() updates this value with what's reported by EL-3
      * or secure world.
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index c0510ceb8338..93847b36cf2f 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -63,9 +63,152 @@ static int32_t ffa_partition_info_get(uint32_t *uuid, uint32_t flags,
     return ret;
 }
 
-void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
+static int32_t ffa_get_sp_count(uint32_t *uuid, uint32_t *sp_count)
+{
+    uint32_t src_size;
+
+    return ffa_partition_info_get(uuid, FFA_PARTITION_INFO_GET_COUNT_FLAG,
+                                  sp_count, &src_size);
+}
+
+static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
+                                   void *dst_buf, void *end_buf,
+                                   uint32_t dst_size)
 {
     int32_t ret;
+    uint32_t src_size, real_sp_count;
+    void *src_buf = ffa_rx;
+
+    *sp_count = 0;
+
+    /* Do we have a RX buffer with the SPMC */
+    if ( !ffa_rx )
+        return FFA_RET_DENIED;
+
+    /* We need to use the RX buffer to receive the list */
+    spin_lock(&ffa_rx_buffer_lock);
+
+    ret = ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size);
+    if ( ret )
+        goto out;
+
+    /* We now own the RX buffer */
+
+    /* We only support a 1.1 firmware version */
+    if ( src_size != sizeof(struct ffa_partition_info_1_1) )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_release;
+    }
+
+    for ( uint32_t sp_num = 0; sp_num < real_sp_count; sp_num++ )
+    {
+        struct ffa_partition_info_1_1 *fpi = src_buf;
+
+        /* filter out SP not following bit 15 convention if any */
+        if ( FFA_ID_IS_SECURE(fpi->id) )
+        {
+            if ( dst_buf + dst_size > end_buf )
+            {
+                ret = FFA_RET_NO_MEMORY;
+                goto out_release;
+            }
+
+            memcpy(dst_buf, src_buf, dst_size);
+            dst_buf += dst_size;
+            *sp_count += 1;
+        }
+
+        src_buf += src_size;
+    }
+
+out_release:
+    ffa_hyp_rx_release();
+out:
+    spin_unlock(&ffa_rx_buffer_lock);
+    return ret;
+}
+
+static uint32_t ffa_get_vm_count(void)
+{
+    struct domain *d = current->domain;
+    struct domain *dom;
+    uint32_t vm_count = 0;
+
+    /* Count the number of VM with FF-A support */
+    rcu_read_lock(&domlist_read_lock);
+    for_each_domain( dom )
+    {
+        struct ffa_ctx *vm = dom->arch.tee;
+
+        if (dom != d && vm != NULL && vm->guest_vers != 0)
+            vm_count++;
+    }
+    rcu_read_unlock(&domlist_read_lock);
+
+    return vm_count;
+}
+
+static int32_t ffa_get_vm_partinfo(uint32_t *vm_count, void *dst_buf,
+                                   void *end_buf, uint32_t dst_size)
+{
+    struct domain *d = current->domain;
+    struct domain *dom;
+    int32_t ret = FFA_RET_OK;
+
+    *vm_count = 0;
+
+    rcu_read_lock(&domlist_read_lock);
+    for_each_domain( dom )
+    {
+        struct ffa_ctx *vm = dom->arch.tee;
+
+        /*
+         * we do not add the VM calling to the list and only VMs with
+         * FF-A support
+         */
+        if ( dom != d && vm != NULL && vm->guest_vers != 0 )
+        {
+            /*
+             * We do not have UUID info for VMs so use
+             * the 1.0 structure so that we set UUIDs to
+             * zero using memset
+             */
+            struct ffa_partition_info_1_0 srcvm;
+
+            if  ( dst_buf + dst_size > end_buf )
+            {
+                ret = FFA_RET_NO_MEMORY;
+                goto out;
+            }
+
+            srcvm.id = ffa_get_vm_id(dom);
+            srcvm.execution_context = dom->max_vcpus;
+            srcvm.partition_properties = FFA_PART_VM_PROP;
+            if ( is_64bit_domain(dom) )
+                srcvm.partition_properties |= FFA_PART_PROP_AARCH64_STATE;
+
+            memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size));
+
+            if ( dst_size > sizeof(srcvm) )
+                memset(dst_buf + sizeof(srcvm), 0,
+                       dst_size - sizeof(srcvm));
+
+            dst_buf += dst_size;
+            *vm_count += 1;
+        }
+    }
+
+out:
+    rcu_read_unlock(&domlist_read_lock);
+
+    return ret;
+}
+
+
+void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
+{
+    int32_t ret = FFA_RET_OK;
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
     uint32_t flags = get_user_reg(regs, 5);
@@ -75,9 +218,9 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
         get_user_reg(regs, 3),
         get_user_reg(regs, 4),
     };
-    uint32_t src_size, dst_size;
-    void *dst_buf;
-    uint32_t ffa_sp_count = 0;
+    uint32_t dst_size = 0;
+    void *dst_buf, *end_buf;
+    uint32_t ffa_vm_count = 0, ffa_sp_count = 0;
 
     /*
      * If the guest is v1.0, he does not get back the entry size so we must
@@ -89,118 +232,63 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
     else
         dst_size = sizeof(struct ffa_partition_info_1_1);
 
-    /*
-     * FF-A v1.0 has w5 MBZ while v1.1 allows
-     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
-     *
-     * FFA_PARTITION_INFO_GET_COUNT is only using registers and not the
-     * rxtx buffer so do the partition_info_get directly.
-     */
-    if ( flags == FFA_PARTITION_INFO_GET_COUNT_FLAG &&
-         ctx->guest_vers == FFA_VERSION_1_1 )
+    /* Only count requested */
+    if ( flags )
     {
+        /*
+         * FF-A v1.0 has w5 MBZ while v1.1 allows
+         * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
+         */
+        if ( ctx->guest_vers == FFA_VERSION_1_0 ||
+                flags != FFA_PARTITION_INFO_GET_COUNT_FLAG )
+        {
+            ret = FFA_RET_INVALID_PARAMETERS;
+            goto out;
+        }
+
         if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
-            ret = ffa_partition_info_get(uuid, flags, &ffa_sp_count,
-                                        &src_size);
-        else
-            ret = FFA_RET_OK;
+        {
+            ret = ffa_get_sp_count(uuid, &ffa_sp_count);
+            if ( ret )
+                goto out;
+        }
 
-        goto out;
-    }
+        if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+            ffa_vm_count = ffa_get_vm_count();
 
-    if ( flags )
-    {
-        ret = FFA_RET_INVALID_PARAMETERS;
-        goto out;
-    }
-
-    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
-    {
-        /* Just give an empty partition list to the caller */
-        ret = FFA_RET_OK;
         goto out;
     }
 
+    /* Get the RX buffer to write the list of partitions */
     ret = ffa_rx_acquire(d);
     if ( ret != FFA_RET_OK )
         goto out;
 
     dst_buf = ctx->rx;
+    end_buf = ctx->rx + ctx->page_count * FFA_PAGE_SIZE;
 
-    if ( !ffa_rx )
+    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
     {
-        ret = FFA_RET_DENIED;
-        goto out_rx_release;
-    }
-
-    spin_lock(&ffa_rx_buffer_lock);
-
-    ret = ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
+        ret = ffa_get_sp_partinfo(uuid, &ffa_sp_count, dst_buf, end_buf,
+                                  dst_size);
 
-    if ( ret )
-        goto out_rx_hyp_unlock;
+        if ( ret )
+            goto out_rx_release;
 
-    /*
-     * ffa_partition_info_get() succeeded so we now own the RX buffer we
-     * share with the SPMC. We must give it back using ffa_hyp_rx_release()
-     * once we've copied the content.
-     */
-
-    /* we cannot have a size smaller than 1.0 structure */
-    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
-    {
-        ret = FFA_RET_NOT_SUPPORTED;
-        goto out_rx_hyp_release;
-    }
-
-    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
-    {
-        ret = FFA_RET_NO_MEMORY;
-        goto out_rx_hyp_release;
+        dst_buf += ffa_sp_count * dst_size;
     }
 
-    if ( ffa_sp_count > 0 )
-    {
-        uint32_t n, n_limit = ffa_sp_count;
-        void *src_buf = ffa_rx;
-
-        /* copy the secure partitions info */
-        for ( n = 0; n < n_limit; n++ )
-        {
-            struct ffa_partition_info_1_1 *fpi = src_buf;
-
-            /* filter out SP not following bit 15 convention if any */
-            if ( FFA_ID_IS_SECURE(fpi->id) )
-            {
-                memcpy(dst_buf, src_buf, dst_size);
-                dst_buf += dst_size;
-            }
-            else
-                ffa_sp_count--;
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+        ret = ffa_get_vm_partinfo(&ffa_vm_count, dst_buf, end_buf, dst_size);
 
-            src_buf += src_size;
-        }
-    }
-
-out_rx_hyp_release:
-    ffa_hyp_rx_release();
-out_rx_hyp_unlock:
-    spin_unlock(&ffa_rx_buffer_lock);
 out_rx_release:
-    /*
-     * The calling VM RX buffer only contains data to be used by the VM if the
-     * call was successful, in which case the VM has to release the buffer
-     * once it has used the data.
-     * If something went wrong during the call, we have to release the RX
-     * buffer back to the SPMC as the VM will not do it.
-     */
-    if ( ret != FFA_RET_OK )
+    if ( ret )
         ffa_rx_release(d);
 out:
     if ( ret )
         ffa_set_regs_error(regs, ret);
     else
-        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
+        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_size);
 }
 
 static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index c4cd65538908..bd6877d8c632 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -187,6 +187,18 @@
  */
 #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
 
+/*
+ * Partition properties we give for a normal world VM:
+ * - can send direct message but not receive them
+ * - can handle indirect messages
+ * - can receive notifications
+ * 32/64 bit flag is set depending on the VM
+ */
+#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
+                             FFA_PART_PROP_INDIRECT_MSGS | \
+                             FFA_PART_PROP_RECV_NOTIF | \
+                             FFA_PART_PROP_IS_PE_ID)
+
 /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
 #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
 #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:15:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925119.1328014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdu2-0001Yr-Bt; Mon, 24 Mar 2025 09:15:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925119.1328014; Mon, 24 Mar 2025 09:15: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 1twdu2-0001YR-2z; Mon, 24 Mar 2025 09:15:26 +0000
Received: by outflank-mailman (input) for mailman id 925119;
 Mon, 24 Mar 2025 09:15: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twdu1-0000tJ-6V
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:15:25 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 820e78aa-0890-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 10:15:20 +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 E4A7A1A2D;
 Mon, 24 Mar 2025 02:15:25 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.81.213])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DAB423F63F;
 Mon, 24 Mar 2025 02:15: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: 820e78aa-0890-11f0-9ffa-bf95429c2676
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3 3/5] xen/arm: ffa: Add buffer full notification support
Date: Mon, 24 Mar 2025 10:14:34 +0100
Message-ID: <3aceccbc7d006b87bfe20a9a4f660eb831185dbb.1742570590.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742570590.git.bertrand.marquis@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support to raise a Rx buffer full notification to a VM.
This function will be used for indirect message support between VM and
is only activated if CONFIG_FFA_VM_TO_VM is selected.

Even if there are 32 framework notifications possible, right now only
one is defined so the implementation is simplified to only handle the
buffer full notification using a boolean. If other framework
notifications have to be supported one day, the design will have to be
modified to handle it properly.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3:
- introduce a vm_pending boolean to track if VM notifications are
  pending and allow to decorelate pending secure notifications from
  pending vm ones
- remove ifdef around boolean entries for notifications and make use of
  IS_ENABLED instead of ifdefs when possible
- Fix notification number signaled to VMs for buffer full to use the
  proper GUEST_FFA_NOTIF_PEND_INTR_ID instead of the identifier received
  from the SPMC.
- Move back into this patch ffa_private.h part which was wrongly in the
  patch for indirect messages between VM
Changes in v2:
- Switch ifdef to IS_ENABLED when possible
---
 xen/arch/arm/tee/ffa_notif.c   | 36 ++++++++++++++++++++++++++++------
 xen/arch/arm/tee/ffa_private.h | 23 +++++++++++++++++++++-
 2 files changed, 52 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index 00efaf8f7353..f6df2f15bb00 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -69,6 +69,7 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
+    bool notif_pending;
 
     if ( !notif_enabled )
     {
@@ -76,7 +77,11 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( test_and_clear_bool(ctx->notif.secure_pending) )
+    notif_pending = test_and_clear_bool(ctx->notif.secure_pending);
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+        notif_pending |= test_and_clear_bool(ctx->notif.vm_pending);
+
+    if ( notif_pending )
     {
         /* A pending global notification for the guest */
         ffa_set_regs(regs, FFA_SUCCESS_64, 0,
@@ -93,6 +98,7 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
 void ffa_handle_notification_get(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.tee;
     uint32_t recv = get_user_reg(regs, 1);
     uint32_t flags = get_user_reg(regs, 2);
     uint32_t w2 = 0;
@@ -132,11 +138,7 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
          */
         if ( ( flags  & FFA_NOTIF_FLAG_BITMAP_SP ) &&
              ( flags & FFA_NOTIF_FLAG_BITMAP_SPM ) )
-        {
-                struct ffa_ctx *ctx = d->arch.tee;
-
-                ACCESS_ONCE(ctx->notif.secure_pending) = false;
-        }
+            ACCESS_ONCE(ctx->notif.secure_pending) = false;
 
         arm_smccc_1_2_smc(&arg, &resp);
         e = ffa_get_ret_code(&resp);
@@ -156,6 +158,14 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
             w6 = resp.a6;
     }
 
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) &&
+          flags & FFA_NOTIF_FLAG_BITMAP_HYP &&
+          test_and_clear_bool(ctx->notif.buff_full_pending) )
+    {
+        ACCESS_ONCE(ctx->notif.vm_pending) = false;
+        w7 = FFA_NOTIF_RX_BUFFER_FULL;
+    }
+
     ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
 }
 
@@ -178,6 +188,20 @@ int ffa_handle_notification_set(struct cpu_user_regs *regs)
                            bitmap_hi);
 }
 
+#ifdef CONFIG_FFA_VM_TO_VM
+void ffa_raise_rx_buffer_full(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.tee;
+
+    if ( !ctx )
+        return;
+
+    ACCESS_ONCE(ctx->notif.buff_full_pending) = true;
+    if ( !test_and_set_bool(ctx->notif.vm_pending) )
+        vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID, true);
+}
+#endif
+
 /*
  * Extract a 16-bit ID (index n) from the successful return value from
  * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index bd6877d8c632..878af2d76e0e 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -210,6 +210,8 @@
 #define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
 #define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
 
+#define FFA_NOTIF_RX_BUFFER_FULL        BIT(0, U)
+
 /* Feature IDs used with FFA_FEATURES */
 #define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
 #define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
@@ -295,9 +297,20 @@ struct ffa_mem_region {
 struct ffa_ctx_notif {
     /*
      * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
-     * pending global notifications.
+     * pending notifications from the secure world.
      */
     bool secure_pending;
+
+    /*
+     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
+     * pending notifications from VMs (including framework ones).
+     */
+    bool vm_pending;
+
+    /*
+     * True if domain has buffer full notification pending
+     */
+    bool buff_full_pending;
 };
 
 struct ffa_ctx {
@@ -369,6 +382,14 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs);
 void ffa_handle_notification_get(struct cpu_user_regs *regs);
 int ffa_handle_notification_set(struct cpu_user_regs *regs);
 
+#ifdef CONFIG_FFA_VM_TO_VM
+void ffa_raise_rx_buffer_full(struct domain *d);
+#else
+static inline void ffa_raise_rx_buffer_full(struct domain *d)
+{
+}
+#endif
+
 void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid);
 int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs);
 
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:15:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925121.1328028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twdu3-0001vp-JD; Mon, 24 Mar 2025 09:15:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925121.1328028; Mon, 24 Mar 2025 09:15: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 1twdu3-0001uQ-DT; Mon, 24 Mar 2025 09:15:27 +0000
Received: by outflank-mailman (input) for mailman id 925121;
 Mon, 24 Mar 2025 09:15: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twdu2-0000tJ-6c
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:15:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 845281c0-0890-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 10:15: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 AE8A31D14;
 Mon, 24 Mar 2025 02:15:29 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.81.213])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DE2913F63F;
 Mon, 24 Mar 2025 02:15: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: 845281c0-0890-11f0-9ffa-bf95429c2676
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3 5/5] xen/arm: ffa: Enable VM to VM without firmware
Date: Mon, 24 Mar 2025 10:14:36 +0100
Message-ID: <f3886649f23845932dd322eb45ad8f980e53ded1.1742570590.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742570590.git.bertrand.marquis@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When VM to VM support is activated and there is no suitable FF-A support
in the firmware, enable FF-A support for VMs to allow using it for VM to
VM communications.
If there is OP-TEE running in the secure world and using the non FF-A
communication system, having CONFIG_FFA_VM_TO_VM could be non functional
(if optee is probed first) or Optee could be non functional (if FF-A is
probed first) so it is not recommended to activate the configuration
option for such systems.

To make buffer full notification work between VMs when there is no
firmware, rework the notification handling and modify the global flag to
only be used as check for firmware notification support instead.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3:
- fix typos in commit message
- add spaces around <<
- move notification id fix back into buffer full patch
- fix | position in if
Changes in v2:
- replace ifdef with IS_ENABLED when possible
---
 xen/arch/arm/tee/ffa.c       |  12 +++-
 xen/arch/arm/tee/ffa_notif.c | 104 ++++++++++++++++-------------------
 2 files changed, 59 insertions(+), 57 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index e41ab5f8ada6..0627625efe60 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -324,8 +324,9 @@ static int ffa_domain_init(struct domain *d)
     struct ffa_ctx *ctx;
     int ret;
 
-    if ( !ffa_fw_version )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !ffa_fw_version )
         return -ENODEV;
+
     /*
      * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A ID 0 is
      * reserved for the hypervisor and we only support secure endpoints using
@@ -561,6 +562,15 @@ err_no_fw:
     bitmap_zero(ffa_fw_abi_supported, FFA_ABI_BITMAP_SIZE);
     printk(XENLOG_WARNING "ARM FF-A No firmware support\n");
 
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        INIT_LIST_HEAD(&ffa_teardown_head);
+        init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
+
+        printk(XENLOG_INFO "ARM FF-A only available between VMs\n");
+        return true;
+    }
+
     return false;
 }
 
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index f6df2f15bb00..86bef6b3b2ab 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -16,7 +16,7 @@
 
 #include "ffa_private.h"
 
-static bool __ro_after_init notif_enabled;
+static bool __ro_after_init fw_notif_enabled;
 static unsigned int __ro_after_init notif_sri_irq;
 
 int ffa_handle_notification_bind(struct cpu_user_regs *regs)
@@ -27,21 +27,17 @@ int ffa_handle_notification_bind(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
     if ( flags )    /* Only global notifications are supported */
         return FFA_RET_DENIED;
 
-    /*
-     * We only support notifications from SP so no need to check the sender
-     * endpoint ID, the SPMC will take care of that for us.
-     */
-    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_lo,
-                           bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
+        return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags,
+                               bitmap_lo, bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
@@ -51,18 +47,14 @@ int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
-    /*
-     * We only support notifications from SP so no need to check the
-     * destination endpoint ID, the SPMC will take care of that for us.
-     */
-    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo,
-                            bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
+        return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo,
+                                bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
@@ -71,7 +63,7 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
     struct ffa_ctx *ctx = d->arch.tee;
     bool notif_pending;
 
-    if ( !notif_enabled )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
     {
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return;
@@ -108,7 +100,7 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
     uint32_t w6 = 0;
     uint32_t w7 = 0;
 
-    if ( !notif_enabled )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
     {
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return;
@@ -120,7 +112,8 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM ) )
+    if ( fw_notif_enabled && (flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
+                                        FFA_NOTIF_FLAG_BITMAP_SPM )) )
     {
         struct arm_smccc_1_2_regs arg = {
             .a0 = FFA_NOTIFICATION_GET,
@@ -177,15 +170,14 @@ int ffa_handle_notification_set(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst >> 16) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
-    /* Let the SPMC check the destination of the notification */
-    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
-                           bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
+        return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
+                               bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 #ifdef CONFIG_FFA_VM_TO_VM
@@ -371,7 +363,7 @@ void ffa_notif_init_interrupt(void)
 {
     int ret;
 
-    if ( notif_enabled && notif_sri_irq < NR_GIC_SGI )
+    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
     {
         /*
          * An error here is unlikely since the primary CPU has already
@@ -402,41 +394,41 @@ void ffa_notif_init(void)
     int ret;
 
     /* Only enable fw notification if all ABIs we need are supported */
-    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
-        return;
-
-    arm_smccc_1_2_smc(&arg, &resp);
-    if ( resp.a0 != FFA_SUCCESS_32 )
-        return;
-
-    irq = resp.a2;
-    notif_sri_irq = irq;
-    if ( irq >= NR_GIC_SGI )
-        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
-    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
-    if ( ret )
+    if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64) )
     {
-        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
-               irq, ret);
-        return;
-    }
+        arm_smccc_1_2_smc(&arg, &resp);
+        if ( resp.a0 != FFA_SUCCESS_32 )
+            return;
 
-    notif_enabled = true;
+        irq = resp.a2;
+        notif_sri_irq = irq;
+        if ( irq >= NR_GIC_SGI )
+            irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
+        ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
+        if ( ret )
+        {
+            printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
+                   irq, ret);
+            return;
+        }
+        fw_notif_enabled = true;
+    }
 }
 
 int ffa_notif_domain_init(struct domain *d)
 {
     int32_t res;
 
-    if ( !notif_enabled )
-        return 0;
+    if ( fw_notif_enabled )
+    {
 
-    res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
-    if ( res )
-        return -ENOMEM;
+        res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
+        if ( res )
+            return -ENOMEM;
+    }
 
     return 0;
 }
@@ -447,6 +439,6 @@ void ffa_notif_domain_destroy(struct domain *d)
      * Call bitmap_destroy even if bitmap create failed as the SPMC will
      * return a DENIED error that we will ignore.
      */
-    if ( notif_enabled )
+    if ( fw_notif_enabled )
         ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
 }
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:25:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925170.1328039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twe3S-0005jI-NZ; Mon, 24 Mar 2025 09:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925170.1328039; Mon, 24 Mar 2025 09:25: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 1twe3S-0005jB-Jd; Mon, 24 Mar 2025 09:25:10 +0000
Received: by outflank-mailman (input) for mailman id 925170;
 Mon, 24 Mar 2025 09:25: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twe3Q-0005ik-W4
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:25:09 +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 de385b48-0891-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 10:25:04 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-399749152b4so1212124f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 02:25:04 -0700 (PDT)
Received: from [10.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-43d43f43e35sm165757685e9.14.2025.03.24.02.25.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 02:25: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: de385b48-0891-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742808303; x=1743413103; 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=EHZi3PeeiNk1F7JMhHvro11yFMWwmoHFX4Dhm0I83T0=;
        b=CvTKi727KyahO/31CXoyly1GYuIF1uG7i65tv7J/NCHuMBz92fEFhdskylx8C9txo+
         qS/XMNQ7IbNOhzUduEAnGPmWm0AUU52PIN+PJNroGUTI3oKqRJhtiPPbfxBFu3OTx1VP
         0wKbk7pLfgOp8V4boQt0WabbAbUiGiVPoNuSZOQ2QoNvYUFBp6AAHlgYW6S/MvQqbibY
         8Xpchl8NPcM/fjEFnD/ubB2bQwe23pM5dLW/l//n/ZyGxbQuJ6Gf9eqOpqNeDnJiTEbH
         vRKTXIDOu15U4UyQdgAQ5hfYV9rfUHz1nCv7jaFzCa9D6oz/3ikDitJ/i15IbtD1y8Cq
         kppA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742808303; x=1743413103;
        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=EHZi3PeeiNk1F7JMhHvro11yFMWwmoHFX4Dhm0I83T0=;
        b=saQVMJaxlneiALyhE4ZFYyyY4zvSI3vwuCtAIuOil3YuttTAVcgPYmiuuEVOg9MImE
         yAYH+DLdJCq5MfSHB4GzQOE3HOKcZgWMGM9PLMw4mH0U0HpIFsmud/8CvdHyf2Y3uhKL
         BoLJTs3w4TNDaLDelvhsW7hE6F1IL4ZmsKHxIL/vBiedbi/tqcJf0AHw9CyWnbI7sJyw
         mXXtK+/ruOLTEBfuF802NP56FJkCnOmkpZ5jhrwW5nfV4/iz5/27AIueTf53V9qZjSc5
         5QagQVnr6NVBr+651AhzSOzqnD0z12MPmuQOYzTiOmSbYBCIeQJpblaXdCEQ03Ud4EJN
         6n9g==
X-Forwarded-Encrypted: i=1; AJvYcCVDaCHVUSWSBqbYQPMTUb6QFWZspc2+ihhkBotJPDEmDwgzT3/IAH0rPLip62Raw+DAyiMrV9vSONc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyjo/sWM9l3aI48SGUsdb4t54VwiOJ3cjNPyATxtbQHz1ll0cXn
	NC3uRkNDJreS+uCcJ5Fux53M4kTRoHx5RcoZQvMk28n1lJZUAOec3EU6JVxAYQ==
X-Gm-Gg: ASbGncsqOMztpKuIfu/wDTzvHmUvDE8R6/bl5iGUnHK2v3dJOZlJeTegHILkm7Bh7U2
	3kSi5Nu9dSxJXU40vQXoMAiABZrnB0kew77eZDIAovLniMcQH8Tt9QV8bQ1MTPwh6NhKlXgpro8
	A/FiAP4EmqexhqYOY5aRbX0xPjy0cVDNKL6gXhxEImsbFQ3tEd5K9pFhZBhRX22cKD9QSTpZiix
	bdz0s7IlJgCL6Umoiox5RySyVYpLOBGxWJFUi0hGaMm6tzfOIGymshSvDyiVbEYM+oLrkKJ5Udf
	V0ISuCy/vmFTGKiPh+lrNI5JX5TlwhDZlCEJCFL2k0W+aKZ85ZxL1ta7LITiBWNsMsut5WhSjFp
	NBLZ1D6D/ErnR+XMuSSn/XMUJHwmNBQ==
X-Google-Smtp-Source: AGHT+IFbbsFGCjyG3t72PV8ct0mM5c+W7Tk6feIZABFxSYtjQXaJ4FNIeUO74msGQ/D2jDOOslXh0g==
X-Received: by 2002:a5d:47c6:0:b0:391:2e31:c7e8 with SMTP id ffacd0b85a97d-3997f8f607emr11024176f8f.2.1742808303508;
        Mon, 24 Mar 2025 02:25:03 -0700 (PDT)
Message-ID: <678026b3-c794-4b60-83e6-ff2a54384171@suse.com>
Date: Mon, 24 Mar 2025 10:25:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 03/12] add elf.h
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250321092451.17309-1-jgross@suse.com>
 <20250321092451.17309-4-jgross@suse.com>
 <e616cf59-bcb6-478d-87b5-f35a51ce1dda@suse.com>
 <84fa74ee-70e4-4318-9aff-12dcb8db50c1@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: <84fa74ee-70e4-4318-9aff-12dcb8db50c1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.03.2025 16:53, JĂźrgen GroĂ wrote:
> On 21.03.25 14:51, Jan Beulich wrote:
>> On 21.03.2025 10:24, Juergen Gross wrote:
>>> +/* e_type */
>>> +#define ET_NONE      0           /* No file type */
>>> +#define ET_REL       1           /* relocatable file */
>>> +#define ET_EXEC      2           /* executable file */
>>> +#define ET_DYN       3           /* shared object file */
>>> +#define ET_CORE      4           /* core file */
>>> +#define ET_NUM       5           /* number of types */
>>> +#define ET_LOPROC    0xff00      /* reserved range for processor */
>>> +#define ET_HIPROC    0xffff      /*   specific e_type */
>>> +
>>> +/* e_machine */
>>> +#define EM_NONE      0           /* No Machine */
>>> +#define EM_M32       1           /* AT&T WE 32100 */
>>> +#define EM_SPARC     2           /* SPARC */
>>> +#define EM_386       3           /* Intel 80386 */
>>> +#define EM_68K       4           /* Motorola 68000 */
>>> +#define EM_88K       5           /* Motorola 88000 */
>>> +#define EM_486       6           /* Intel 80486 - unused? */
>>> +#define EM_860       7           /* Intel 80860 */
>>> +#define EM_MIPS      8           /* MIPS R3000 Big-Endian only */
>>> +/*
>>> + * Don't know if EM_MIPS_RS4_BE,
>>> + * EM_SPARC64, EM_PARISC,
>>> + * or EM_PPC are ABI compliant
>>> + */
>>> +#define EM_MIPS_RS4_BE 10        /* MIPS R4000 Big-Endian */
>>> +#define EM_SPARC64     11        /* SPARC v9 64-bit unoffical */
>>> +#define EM_PARISC      15        /* HPPA */
>>> +#define EM_SPARC32PLUS 18        /* Enhanced instruction set SPARC */
>>> +#define EM_PPC         20        /* PowerPC */
>>> +#define EM_PPC64       21        /* PowerPC 64-bit */
>>> +#define EM_ARM         40        /* Advanced RISC Machines ARM */
>>> +#define EM_ALPHA       41        /* DEC ALPHA */
>>> +#define EM_SPARCV9     43        /* SPARC version 9 */
>>> +#define EM_ALPHA_EXP   0x9026    /* DEC ALPHA */
>>> +#define EM_IA_64       50        /* Intel Merced */
>>> +#define EM_X86_64      62        /* AMD x86-64 architecture */
>>> +#define EM_VAX         75        /* DEC VAX */
>>> +#define EM_AARCH64    183        /* ARM 64-bit */
>>
>> Here I similarly think some stripping down might help. Doing so would then
>> also permit to leave out the comment in the middle.
> 
> Here I'm a little bit more on the edge. Some historical entries can
> probably be dropped, but which ones would want to stay?

The ones we presently need for any of the architectures we have (partial)
ports for in the hypervisor, or that the hypervisor targets for compatibility.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:26:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:26:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925183.1328054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twe4O-0006HE-2i; Mon, 24 Mar 2025 09:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925183.1328054; Mon, 24 Mar 2025 09: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 1twe4N-0006H7-Tp; Mon, 24 Mar 2025 09:26:07 +0000
Received: by outflank-mailman (input) for mailman id 925183;
 Mon, 24 Mar 2025 09:26: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twe4M-00062w-OD
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:26:06 +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 0203892d-0892-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 10:26:04 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so43899655e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 02:26:04 -0700 (PDT)
Received: from [10.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-3997f9a3b4bsm10281733f8f.25.2025.03.24.02.26.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 02:26: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: 0203892d-0892-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742808363; x=1743413163; 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=BbCfx943c5jgMGsrK1iMAwYyLhhr+8Syt3nZlvHD8pM=;
        b=Jc8aR2dTXqKYCQ+9z7/vEpGXgiSke0pqLhi2R05z+gC+89Zr2owi3P8C+GU/PCbaDN
         xX7CLr+M2Bkpiw+kGRtaarrRKei5D7aupSQfkxlkRYJ5jgssqw4c+B8dcGd3TcrPF4HE
         tmrm01vi68vl+xCdLq5ObGi2cdUpJOU2/UAfjBWiqRelSidr2hhAOOpl5RidFyRXx/zl
         cb1tQoGILvDXgM7PYwUJkRBbk+rRpw1rTELr4Dy/AjdRUSon5j5JKSJim13IJMTdnScj
         s/dhpl/DjyQB5vh5uQUaRbThyhBAOLY3BeYrqKlm8a7ZaatO1ffFkYA8p//wvH/665FO
         lDNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742808363; x=1743413163;
        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=BbCfx943c5jgMGsrK1iMAwYyLhhr+8Syt3nZlvHD8pM=;
        b=SnUAh0H2vvm03h9th6o3XBangMDrzEtRmyJ6TrWzsMtIuuBvR7Uj/M8KbcDBc6dgn4
         ASN/sPu9hkOdybqv9GHnVxFNlyL4PMthh9h3xSv6KxjCdpxyOGAVnt0XDWVk+g0fpTnf
         aKLTV0u73z/TIobnJTvqaWKOlufa+22FgEAkYzQHCUtzLJrlNPFjaLNFqSal4h4y1klm
         /ke7HyQczIi7c8Ga3F+jH3u1/7uUU7P6J51iQ54Btsw8kjojdxPmLECiNIKSAJ1kypuI
         v/Kn4peE3ybyA57fWY6E8HOWBfcFmoNPaTXAsGHcJvva+CD+izTrmeDD1xAmSnRuTQcr
         h3Hw==
X-Forwarded-Encrypted: i=1; AJvYcCUOAj1F2dms3YADHtuchFu9ghE4Xi52Jr57ay0xYBI7jpuNmNEuu/r/Mnjtk2Oft9R7URfJB4heHy4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxQsdH07kWiShuih3W3CleKo5dZOXIYHNkdP7Jm+jY/M+2n2qHT
	u87W8WsH90NCnloBJBRQQLSXP/GDWDEMnzIkmHMmiErNjJCwCPyvYtmgFQu37Q==
X-Gm-Gg: ASbGncviYpQu8wMxBG0linC14+rQ1jFzdnZMlH8Boe85cA19ynqXtQ7ARTjpWf2m+kR
	rWBucC8+JB3OKJQ6/FrG8Xm7n3vwqf+NV4UoUlCW18uHX5btJiPx29FvFd1VcAqaoAwVYb6L9ao
	WCJx3WOIUgsW0E2QhhuIHZzOT48/r2BUUmdFpIrcAqUT2/G7s8+Aul5Tc8zud0KKQ2i2sZZrDdL
	6s9H1QHPD4Yz5pCny8oUEJ/g8iBeHxmcVWEN+EvgK2GqE060mcMOluvOFUIX/o1RLIn5Xoh9pXk
	jzZt5mN5MFCh22mBEHHxblFmB2L0Z9hMyofdWGuv2TcXPtvHRNnCTc6Sh5IV1eV4xqiZPO/1TGF
	nBKA+xPxNJDrmI6FpTKgNCGyZ+1ld/g==
X-Google-Smtp-Source: AGHT+IHsGt0Q8kUJdi1P1asmnKQ/wjeTjXptc3LjbCMfem6YSnfPMOqPBqjiNlKEDUWD1wGSOu4/Eg==
X-Received: by 2002:a05:600c:4e4a:b0:43d:2313:7b54 with SMTP id 5b1f17b1804b1-43d509e0d14mr123763205e9.3.1742808363481;
        Mon, 24 Mar 2025 02:26:03 -0700 (PDT)
Message-ID: <21c4087e-22ab-497e-b570-4c6521415b91@suse.com>
Date: Mon, 24 Mar 2025 10:26:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: add kconfig for event_fifo
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, michal.orzel@amd.com, julien@xen.org,
 roger.pau@citrix.com, Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2503181637100.2000798@ubuntu-linux-20-04-desktop>
 <646ad800-c01d-4971-ad89-842745a21f2f@suse.com>
 <alpine.DEB.2.22.394.2503211425250.2325679@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.2503211425250.2325679@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 22:30, Stefano Stabellini wrote:
> On Thu, 20 Mar 2025, Jan Beulich wrote:
>> On 19.03.2025 00:40, Stefano Stabellini wrote:
>>> Evtchn fifos are not needed on smaller systems; the older interface is
>>> lightweight and sufficient. Make it possible to disable evtchn fifo.
>>>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>
>> Let me ask a more general question, before considering whether to ack:
>> When kconfig was introduced into Xen, the expectation was (iirc) that
>> we wouldn't grow its use to the fine grained granularity that it has
>> been having in Linux. The more build-time controls we have, the harder
>> it is to know whether a certain piece of code was actually included in
>> a build someone, say, reports a problem with. Are we knowingly moving
>> away from that earlier position? evtchn_fifo.c isn't actually that
>> much code to exclude, after all ...
> 
> 
> I think we need to be more flexible with build-time controls. The extent
> to which we should be flexible is an interesting discussion to have.
> 
> However, this patch is not for code size. This code causes unnecessary
> runtime anonymous memory allocations, which are highly undesirable. In
> fact, it is the primary source of such allocations. Additionally, it
> exposes an extra interface to the guest, which is also undesirable
> unless necessary.
> 
> In other words, the issue is not the size of the code, but its impact.

This may help if it was said in the description.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:35:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925193.1328062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tweD2-0000Qa-Q6; Mon, 24 Mar 2025 09:35:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925193.1328062; Mon, 24 Mar 2025 09:35: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 1tweD2-0000QT-Nd; Mon, 24 Mar 2025 09:35:04 +0000
Received: by outflank-mailman (input) for mailman id 925193;
 Mon, 24 Mar 2025 09:35: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tweD1-0000QN-PR
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:35:03 +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 4262535e-0893-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 10:35:01 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so3472444f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 02:35: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
 ffacd0b85a97d-3997f9a345fsm10286040f8f.24.2025.03.24.02.35.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 02:35: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: 4262535e-0893-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742808901; x=1743413701; 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=dbVI0X70i4oDNJjK6zaSI2pSBXpL2weMFJnXvcyV4XY=;
        b=VRrT5Rs9aek1tXlyoA4xG73p0ogWpbu6tUDjT9W2v2jGZHEsJEIpg/W5SNyEoVfyZ0
         zcU3Lxn1jonCOkAqCd0fB3E4ItsLGd5C1OBdUDjtL/reBdTMcjfT9QRqSiBdA7DC+yUP
         s9uYgj9/K0azKbE3UdMCGrfyzhjTIau0mfFH3+tzeZY/oqVSnS6EKEs4cxTbk16ujxDU
         rNvVqU5uHpIpojCPKQ1sd1MPQL2PgVwmf6YLgJPnuEY52RMPa7NF0atQikEOCDSkNmYD
         dKe7Xmsn6ZKxf2zs1ddowlhGbllxDzgcZPzZMu+EEL9BdHPjd4PtTW+2zCbKtYoA89cD
         araA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742808901; x=1743413701;
        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=dbVI0X70i4oDNJjK6zaSI2pSBXpL2weMFJnXvcyV4XY=;
        b=oJGIUKUcbpihZbrqFAYnIQMkBbO3DhpyRYbI4CKHyIdmzzmwdMPpoKMisxDTv1Q+Uh
         umvCEVJOVwBGA8kVcVoXPNb/ygVEn1GMKIs76d0PdkF7g5Vp70TqNoPwSIl0BS9vbCGz
         GeYRAHzH4LLi6iFIADOECKmGdXEiUDHYkVUuvn9oUi6NV0oT7koDRLw6w9BjphAS/Rfb
         bTWcyVChF+IgbywW+bSsJS43NDp/cRP6lapVnfkei8A1LlSfW38pz3Ygtl/RDEV4O9NB
         qWY1MniC7pPYH65X4jQ583V54DRUVPENIwGQzL+Z1EcLTa90jDyO0yRdYyTZ5wDj1awe
         zKKA==
X-Forwarded-Encrypted: i=1; AJvYcCUxv1WfQqkTBksyn5XajV2/WIQWy0I0M++714/ZsehQKtVQ7VtqfBmjuAx/zHM8mARYlLhG6cINVOM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVBu5f7vWvEmXUwdT+ksLKBrUzfORYXB6LeR6+B9WzIWqOqIFn
	95FRnlqfuRSt6jqiSiZwGTcB9yvytD8RwDCdAc8AIaotSlUsMMTG6Frb/7xcig==
X-Gm-Gg: ASbGncv4z64Unl9yqhXCdczgBM1bVxWEoOh4oyZpb9GIqLCrBLve7oZ90mzDpXQCBuN
	0W1tZ7ltngDffv9+CrUncsrBAhgDg4kLNxBJsgVkaZQyjGs1T+ZKmmup1Bd0VdIq+WefpE0bfQD
	UwyLnmbG+tVpRFU1wCdt/rhtu9IPtEDAXfRXo7ZmMfVhiynTvoSBYTMYR71wqE1Nimaq4eU2GUX
	gDo1hoSPVNzIh8ZGSKETKEH3I0IWWvxIxl544uZ6A7R7D4IIPfgVDyUU7qAcWQ9sNBSiPoVUhCd
	Ot+mpf840vNKPFCmcbrropy8deyLI5lz4TRwVlh8WBMRTm0XhU23wq4Pn33exyv5LOFFj0V86Fb
	fpfWTUPf9y1DIKTj9EP7MyEOYmvuvRw==
X-Google-Smtp-Source: AGHT+IGsGTJaaUs5qghVP1/OgMH/OfFA+F/d24WvyPW9lpskWEbLWc6b42rw1soDyy6UAw+b0FJ7pw==
X-Received: by 2002:a05:6000:2cf:b0:38b:d7d2:12f6 with SMTP id ffacd0b85a97d-3997f8f789emr9342982f8f.2.1742808901006;
        Mon, 24 Mar 2025 02:35:01 -0700 (PDT)
Message-ID: <59cdc84c-6e5a-4752-b09a-945d05badd91@suse.com>
Date: Mon, 24 Mar 2025 10:35:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little endian
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, michal.orzel@amd.com, julien@xen.org,
 roger.pau@citrix.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2503182002160.2000798@ubuntu-linux-20-04-desktop>
 <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com>
 <alpine.DEB.2.22.394.2503191754480.2325679@ubuntu-linux-20-04-desktop>
 <8297406e-b281-4783-9238-d6326db3fa15@suse.com>
 <alpine.DEB.2.22.394.2503211607200.2325679@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.2503211607200.2325679@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.03.2025 00:09, Stefano Stabellini wrote:
> On Thu, 20 Mar 2025, Jan Beulich wrote:
>> On 20.03.2025 01:57, Stefano Stabellini wrote:
>>> On Wed, 19 Mar 2025, Jan Beulich wrote:
>>>> What about xenctl_bitmap_to_bitmap()?
>>>  
>>> Let me see first if I managed to handle bitmap_to_xenctl_bitmap well.
>>
>> Well, the code looks correct to me, but the description now has gone
>> stale. I also wonder whether with that extra restriction the optimization
>> is then actually worth it. Just one further nit:
> 
> Hi Jan, you make a good point. I tried to come up with a better
> approach. What do you think of this?
> 
> 
> diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
> index 3da63a32a6..2f448693c3 100644
> --- a/xen/common/bitmap.c
> +++ b/xen/common/bitmap.c
> @@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
>  	unsigned int remainder = nbits % 8;
>  
>  	if (remainder)
> -		bp[nbits/8] &= (1U << remainder) - 1;
> +		*bp &= (1U << remainder) - 1;
>  }
>  
>  int __bitmap_empty(const unsigned long *bitmap, unsigned int bits)
> @@ -338,7 +338,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
>  			nbits -= 8;
>  		}
>  	}
> -	clamp_last_byte(bp, nbits);
>  }
>  
>  static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
> @@ -363,7 +362,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
>  				unsigned int nbits)
>  {
>  	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
> -	clamp_last_byte(bp, nbits);
>  }
>  
>  static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
> @@ -384,21 +382,40 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
>      uint8_t zero = 0;
>      int err = 0;
>      unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
> -    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> -
> -    if ( !bytemap )
> -        return -ENOMEM;
> +    uint8_t last;
>  
>      guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
>      copy_bytes  = min(guest_bytes, xen_bytes);
>  
> -    bitmap_long_to_byte(bytemap, bitmap, nbits);
> +    if ( IS_ENABLED(__BIG_ENDIAN) )
> +    {
> +        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
>  
> -    if ( copy_bytes &&
> -         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
> -        err = -EFAULT;
> +        if ( !bytemap )
> +            return -ENOMEM;
>  
> -    xfree(bytemap);
> +        bitmap_long_to_byte(bytemap, bitmap, nbits);
> +        last = bytemap[nbits/8];

Same style nit as before.

> +        if ( copy_bytes &&

copy_bytes > 1

> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> +            err = -EFAULT;
> +
> +        xfree(bytemap);
> +    }
> +    else
> +    {
> +        const uint8_t *bytemap = (const uint8_t *)bitmap;
> +        last = bytemap[nbits/8];
> +
> +        if ( copy_bytes &&
> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> +            err = -EFAULT;

The two identical instances would imo better stay common, even if this may
require another function-scope variable (to invoke xfree() on after the
copy-out).

> +    }
> +
> +    clamp_last_byte(&last, nbits);
> +    if ( copy_to_guest_offset(xenctl_bitmap->bitmap, copy_bytes - 1, &last, 1) )
> +        err = -EFAULT;

Careful here in particular when copy_bytes == 0.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:47:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:47:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925202.1328073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tweP7-0002zr-Sv; Mon, 24 Mar 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 925202.1328073; Mon, 24 Mar 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 1tweP7-0002zk-Ph; Mon, 24 Mar 2025 09:47:33 +0000
Received: by outflank-mailman (input) for mailman id 925202;
 Mon, 24 Mar 2025 09:47: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tweP7-0002ze-12
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:47: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 00d14cc6-0895-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 10:47:30 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso34761555e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 02:47: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-43d4fceafb7sm117663685e9.1.2025.03.24.02.47.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 02:47: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: 00d14cc6-0895-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742809650; x=1743414450; 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=eP2rFkH0VqSJEG5SKtL8l4OL0xSxnIb7jOADq52p4Qk=;
        b=AbcR26UuoDB1UIz/7378OhHH68iQlWRM/eZcB26erohc65eidfzNnqTqNgJe/3Xhmw
         e36zgejeTmd8QnopY1C+xHPXkpTN7+vXZAXYUR/B5xN12qBacsCZnIgs+5yn9fEUMz/L
         M3a+C7WCR/VUR6rGy9R+bRwQZS/kH9BBVPLvJ/KbpLZ+16Op/tmAn+ZMYumUjvPfKgNJ
         3wUSLDvhMN/2eQDEbOD3S2O3WbrpXieGgx/KwrpktOcuY0smCpRx/YHEodCS0gzA+Z30
         dsibt69k/chhYaYn5yCTXBj6WDi9XqvlmBapQ2rms9SsAfFf5ee8On3QB2TCV7Z5zhb2
         fqIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742809650; x=1743414450;
        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=eP2rFkH0VqSJEG5SKtL8l4OL0xSxnIb7jOADq52p4Qk=;
        b=sjcRJpRIT8lYVwjZ84xPYGCbgWbPWsJ1h+vE1+9AAJQ+0Ery3o7pvr+yabWfTLZ6d7
         9uaMnO0mE9P+kHCoLQN/H91rLFC7FR0g/aXn5H+CLkFOR9gcNwHfscf+EHaeQTceOsrs
         IINcp4X3TtaxtJ4G4Jq3BpS4IvW768Sf5zqwLrqRu1E1BoVQNkO9OIdAsj86tv6oiUv5
         u4cNk+/C5MqX55qISO7tAvjn6kEkdf0UTrl+1ohVqxjEkMwE9bKJt7Tp3TQVwkkDHac4
         3zWf0356cqvpLZTA7wtoB5/FOOKw4IfMCkR3PPvud+rWvIZjjU4ZkkzvYq64YFz9FgKg
         NsdA==
X-Gm-Message-State: AOJu0YzwuZqjD3HjdU5w8+jzlRaO8QEl+EWCLZiMGBl+hEOmOBKNAF4N
	tlRSFu0IEZSO0tqHXRDeN2xlIUQutmG7TGpRiUtf4jaLTqyyVI6mtS+QZXsvLA==
X-Gm-Gg: ASbGnctSfU3oB16pR8x+5IR1Af8Hj5qRd2Rt4nohrsxCbJH/U2a28H72Kgztb1v6e7B
	yVZEBaTO80Rzb8ycwVmwhkfVgAQhB+Up4XoYUvSsbnKqEUFtf5y/wFfxa4s/Jc9AFHZhXLtOe2I
	DpGB8AbUYD1La8ZrDTCVYbd/NBLHBcSrUXmnMUMWU5wAmlNP6hWL1FqhdJyT0FXBiGGM+QW3/fM
	xjK2JNZWYxRxbLWVsQRsao7/E7TOUI3Ki+ZDVEVntKJ7t0PjYrrPJQQtXznnTJyRPQGHmy+NVHZ
	kyP4RCD4agKIKRtBydyyf27ptKhA8E5R6NqqjScBIRbLbG7F/JjPy1RYcpZ23bO0W7R73CLGFbr
	BvS3bps4SLcvq85OfoqMMsyLPpRWC1Q==
X-Google-Smtp-Source: AGHT+IFkqvBFhYQsIjF6IYX4xUrjNaoNgwzQl44VzeTnUXGjajFImZ9CovyEycxjrjs7EuHAiF/FZQ==
X-Received: by 2002:a05:600c:4e56:b0:43d:fa:1f9a with SMTP id 5b1f17b1804b1-43d50a36910mr113269365e9.30.1742809649971;
        Mon, 24 Mar 2025 02:47:29 -0700 (PDT)
Message-ID: <fdbb0485-ec42-41c2-8fa5-d0560e0a10a4@suse.com>
Date: Mon, 24 Mar 2025 10:47:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/8] x86/public: Split the struct cpu_user_regs type
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>
References: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-8-andrew.cooper3@citrix.com>
 <8edba542-9844-409e-bbf0-5ff1c9287a10@suse.com>
 <eaaf2aef-129a-45ce-b5e7-ae884c2385f3@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: <eaaf2aef-129a-45ce-b5e7-ae884c2385f3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.03.2025 16:11, Andrew Cooper wrote:
> On 17/03/2025 12:15 pm, Jan Beulich wrote:
>> On 11.03.2025 22:10, Andrew Cooper wrote:
>>> In order to support FRED, we're going to have to remove the {ds..gs} fields
>>> from struct cpu_user_regs, meaning that it is going to have to become a
>>> different type to the structure embedded in vcpu_guest_context_u.
>>>
>>> struct cpu_user_regs is a name used in common Xen code (i.e. needs to stay
>>> using this name), so renaming the public struct to be guest_user_regs in Xen's
>>> view only.
>>>
>>> Introduce a brand hew cpu-user-regs.h, currently containing a duplicate
>>> structure.  This removes the need for current.h to include public/xen.h, and
>>> highlights a case where the emulator was picking up cpu_user_regs
>>> transitively.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks.
> 
>>> cpu_user_regs_t and the guest handle don't seem to be used anywhere.  I'm
>>> tempted to exclude them from Xen builds.
>> I concur. We can always re-expose them should they be needed somewhere.
> 
> It's actually a little ugly to do.
> 
> #ifdef __XEN__
> #undef cpu_user_regs
> #else
> typedef struct cpu_user_regs cpu_user_regs_t;
> DEFINE_XEN_GUEST_HANDLE(cpu_user_regs_t);
> #endif
> 
> and I don't particularly like it, given the complexity of #ifdef-ary
> around it.Â  Thoughts?

It's not really pretty, but I'd be okay with this.

>>> --- /dev/null
>>> +++ b/xen/arch/x86/include/asm/cpu-user-regs.h
>>> @@ -0,0 +1,69 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>> +#ifndef X86_CPU_USER_REGS_H
>>> +#define X86_CPU_USER_REGS_H
>>> +
>>> +#define DECL_REG_LOHI(which) union { \
>>> +    uint64_t r ## which ## x; \
>>> +    uint32_t e ## which ## x; \
>>> +    uint16_t which ## x; \
>>> +    struct { \
>>> +        uint8_t which ## l; \
>>> +        uint8_t which ## h; \
>>> +    }; \
>>> +}
>>> +#define DECL_REG_LO8(name) union { \
>>> +    uint64_t r ## name; \
>>> +    uint32_t e ## name; \
>>> +    uint16_t name; \
>>> +    uint8_t name ## l; \
>>> +}
>>> +#define DECL_REG_LO16(name) union { \
>>> +    uint64_t r ## name; \
>>> +    uint32_t e ## name; \
>>> +    uint16_t name; \
>>> +}
>>> +#define DECL_REG_HI(num) union { \
>>> +    uint64_t r ## num; \
>>> +    uint32_t r ## num ## d; \
>>> +    uint16_t r ## num ## w; \
>>> +    uint8_t r ## num ## b; \
>>> +}
>> Can we try to avoid repeating these here? The #undef-s in the public header are
>> to keep external consumers' namespaces reasonably tidy. In Xen, since we don't
>> otherwise use identifiers of these names, can't we simply #ifdef-out those
>> #undef-s, and then not re-introduce the same (less the two underscores) here?
>> Granted we then need to include the public header here, but I think that's a
>> fair price to pay to avoid the redundancy.
> 
> Breaking the connection between asm/current.h and public/xen.h is very
> important IMO.Â  Right now, the public interface/types/defines are in
> every TU, and they absolutely shouldn't be.

Hmm, that's a good point. Nevertheless I wonder if we still couldn't avoid the
unhelpful redundancy. E.g. by introducing a separate, small public header with
just these. Which we'd then pull in here as well.

> Sadly, the compiler isn't happy when including public/xen.h after
> asm/current.h, hence the dropping of the underscores.

Even if the ones here are #undef-ed after use?

> I did have half a mind to expand them fully.Â  I find them unintuitive,
> but I also didn't think I'd successfully argue that change in.

Roger - do you have an opinion here? I like these wrappers, yet then I also
understand this is code that's pretty unlikely to ever change again. Hence
fully expanding them is an option.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 09:53:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 09:53:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925214.1328083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tweUs-0005XB-J8; Mon, 24 Mar 2025 09:53:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925214.1328083; Mon, 24 Mar 2025 09:53: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 1tweUs-0005X4-G0; Mon, 24 Mar 2025 09:53:30 +0000
Received: by outflank-mailman (input) for mailman id 925214;
 Mon, 24 Mar 2025 09:53: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tweUr-0005Ww-CL
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 09:53:29 +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 d5fa22d8-0895-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 10:53:28 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so37813695e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 02:53: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-43d43f3328bsm165679375e9.1.2025.03.24.02.53.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 02:53: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: d5fa22d8-0895-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742810008; x=1743414808; 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=USW37UorfVaQ4MHJmy0qUR9R6V4zM42MPM0ZTcWvUfM=;
        b=dVF3gwp1PIe+ygaSPSnFGvjqjqx+Wz7Ir4g1whnFIxowzJevG0tFC6aQATlpfAp6I5
         KqXDvmkYHhjzjvtOzuPsKi+rvMH3QtHrhG43y8gmHxI0IYiZ7AQQgjTohgIYQwZHmhGn
         qilktIE62yLTuxFl0y2GbhhL8ZIN21e7mqQqZKEj9ReEw/FQVs4Hs2fMSC1H7GJKLiW4
         9keGTCLvVT1dhrQ/dJC3HTHOYIJ8zLtAokWQHeXmnRsqH3vokQAQhmFLMZtPAAq66KBY
         CcQGa/51o2le6/YoPZF1SEHkcv829TOY3hxAqU33XbKwDDNEBIRIBGcHRkK7sJyrcADq
         9oQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742810008; x=1743414808;
        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=USW37UorfVaQ4MHJmy0qUR9R6V4zM42MPM0ZTcWvUfM=;
        b=Yyp826SwBYQ/xwT73e77ar2OZpTSLL+Bi61/9fxjtXK2juz3QRoxqEPYLJXOhcke40
         QqcdthA4y/TrNGD8+zLq9SzfFCI9/j8Oh/w6gM9bMfuSXgHx/MU+GNiDTyHEYNsbbpbL
         yA1N5H5p9wyHwnfoMqDbxmfML+lxafMnUEieG7hCSX/pvEos5H0ACbEKoRBeuieeWJeL
         zBcSdDuqM4nTBBGNkdlpCLo67n0tAsT0RV5ScDZhBYSfGdJmQ7+4bPB9tjHLTZFgI2af
         Vf1IsoZLp9jHPQOM69u3dKSa3eHnRacjOBzP6oLLGYLgAl1lTcvLvDMQ6JrDK0wtBafd
         mGJQ==
X-Forwarded-Encrypted: i=1; AJvYcCXuWjI6LnFu2D21mQdBAF+JdvI7TfZjaTAXBOwrewN+5N5NlvIhVBjSOlvSCw0n8UxI+49Z/Mml12A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZcNbRLML/0ODpeqUsjl9arawE9+jBdT5LwEuNAYtyce9TdIbi
	MyVCtnLgTGyAb2pDZ/HUhQjyc6QYfEzGA3Xv14ZNUjzjGyRknyu+/I6FPxF/Mw==
X-Gm-Gg: ASbGncvmhB3pFke9yNjXHB88ia3/nSmeeyyHrUw+nwKLNzhLz46j/ThPGjwLghoYZaW
	ms5enLZeVu2DWU+jILkJly9X3dFsFF5ZOnMCu0PwUo05QfR1t/w9odAn8zcPKdJ1t3K3GJ1WazX
	JXCj1Xz1dKaWNFNRxjbuRycpQdH3gcfFBu0CvrpjkQjAKotC094s0UVLxE5uERGe+EtgJxFbPdW
	G47RXzIMGhjPRfF2ezq5dlrWPiU4/yaDpArJfWJkhNgKjgV7ETnSJ5jecxbaJ6As4yrXIi42MAZ
	Reo/7ky+MHW6awso2K9ytfNbd0i83OcRU9PtGQOAigvvGumkT8UjEaGoSlGT5sA5L/CJLiun03N
	xmBH0MvFiB4XVvrF0e1FAfmAYLXHHNQ==
X-Google-Smtp-Source: AGHT+IHLiu+ey3sv2T3DwCaQz6L1XNIV5+QrpbiCB7d/UmETnLsV41pZZnn3o03zQ2NyrZ2Nk+Rbdg==
X-Received: by 2002:a05:600c:3550:b0:43d:1b74:e89a with SMTP id 5b1f17b1804b1-43d566d1ce9mr89539425e9.9.1742810007608;
        Mon, 24 Mar 2025 02:53:27 -0700 (PDT)
Message-ID: <3438cfe6-72c9-4c0d-b9a2-c46a8a8b9794@suse.com>
Date: Mon, 24 Mar 2025 10:53:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] x86/domctl: Stop using XLAT_cpu_user_regs()
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-6-andrew.cooper3@citrix.com>
 <1cd10c63-4e86-45fa-b4b3-cb750ad9f39b@suse.com>
 <4777d8e9-b4d9-45d2-82be-beb1af82283f@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: <4777d8e9-b4d9-45d2-82be-beb1af82283f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.03.2025 18:13, Andrew Cooper wrote:
> On 17/03/2025 11:42 am, Jan Beulich wrote:
>> On 11.03.2025 22:10, Andrew Cooper wrote:
>>> --- a/xen/include/xlat.lst
>>> +++ b/xen/include/xlat.lst
>>> @@ -34,8 +34,6 @@
>>>  ?	pmu_intel_ctxt			arch-x86/pmu.h
>>>  ?	pmu_regs			arch-x86/pmu.h
>>>  
>>> -!	cpu_user_regs			arch-x86/xen-@arch@.h
>> Maybe worthwhile to keep the line, just switching ! to #, in order to
>> indicate the type isn't accidentally missing here?
> 
> Is it really worth it?Â  That's a new semantic to an opaque
> domain-specific-language, and this file only ever gets looked at when
> something is broken.

True. Yet how else would we distinguish accidentally missing from deliberately
omitted?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:01:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925222.1328092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twecK-00086T-A4; Mon, 24 Mar 2025 10:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925222.1328092; Mon, 24 Mar 2025 10:01: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 1twecK-00086M-7Q; Mon, 24 Mar 2025 10:01:12 +0000
Received: by outflank-mailman (input) for mailman id 925222;
 Mon, 24 Mar 2025 10:01: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twecI-00086G-Sx
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:01:10 +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 e8774381-0896-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:01:08 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39ac56756f6so323231f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:01: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-39ac3ce3dd1sm1998912f8f.88.2025.03.24.03.01.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 03:01: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: e8774381-0896-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742810468; x=1743415268; 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=GFpdikgwLmY0D/jjnJ6ueShRTFb72hZmDZqDiGCR3cg=;
        b=RQBVWkWyxspzyUhuafnnG8mjqc+0b7oLDj9WXHUjqFw1D0QPmxxI+OS4dD3mrX5Cl0
         lmCzBj6oGEhSpgjHsvKb5US6sKqoMvk1jWB8W0HJ/l5rLuXwIsgf0wKRVRd+UnffSTzA
         DJVA/H2c3FFDERjw6IN2nebfZswSC7cOGN3woaHH7UT2O+yhLE05NytjZiG7Wu43oFhe
         FwFXT9QTTXXWkic5OimpUJ5/xvKGnFp9kYSaQJD+UgpoTTREAQnZjNTMXgA+/RT4+9fu
         XFjoABNJzR44Xdm8FdcY9ywu7/J1CV8F+84ievAcRxqfo73rBDFQsSo9tK8j9k1hqxyS
         M0qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742810468; x=1743415268;
        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=GFpdikgwLmY0D/jjnJ6ueShRTFb72hZmDZqDiGCR3cg=;
        b=KqNca3rOMtKBNVp4sh9Z7Uo4SACgBevBJRq+qhf9gdUkC3uvKaUi+GzRzYqGFXF+5d
         n5avdnlmdp22DkPl82bFmde06JwW87WIu+WWm9I7EwgSy0kHCwalRtNo/mkdmlJPvj5N
         tHdrL3gL2dC1T+x3MotGldIz6wY3Epke6qspfi6Ne9wKrMqEuKtiYkT2fPrIVFEyawUM
         8UC8Zih479T5mGsU86Ps63pqTnH8O3sf+mp/eP+l4sLGP4w9stOvxOYO9tyEkXpHGAeE
         /OxyDUTi2eVvQGEMjKERRLvBCWr7mk3JoGeE6f8SyH4Nv7Mls/gKUiPxg6JTk36W2eZH
         b0sQ==
X-Forwarded-Encrypted: i=1; AJvYcCVLPVHvGXW4j0riiYEBt/AWCmqsNnWLftRP4kT1mm96fngZ0oCiVke0lCawnJvFcdl8fRDSZ2jX/Cw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxM/BWY75NcTpEk6eEqEoeKN6Nc/jSeaXLbWxdzb6lEc6pnYpdf
	Jl8rMG66XybiGbl0MdJZ/pr6RcoA5oz//aiiui6aHaWcVrkz7T/YIyVw+BmtjA==
X-Gm-Gg: ASbGncsirVMt/1a0DbTtkryMjX7lQk3lDApmOdBEbiXx/io2Z89WT2s31w0w+V9aoJs
	8TYm2xhWnp/S4KEmE3YWTXkK90/eg47BgKeV2PwehnCh+nkfHzAR0UODmw17aLDWXYnqcxuN4sy
	Bc4OwzU6EzfesvRwtaARj6CE2fwDKH7N2CvuzTRlXWv2EjR9MW27fG2oqifD77Rm3BjeHyTB8Qi
	aJUtiP4oktZuJ7A9g18qAVZVfOn8b9Xp8YWr1BNl4+8wLKa9GiKvHHaVwMAtj3XTAiz8+A0u9Qr
	RNyRI70WLmHbOwvXZ+WPgorq2YzzjRnQEoBPjk/Peto4KYPvl0YpknB8F1B1xpJhPuxtOfZ/xnx
	WM7t6oAU0Nas2a1qVZgYGy21qU/kjOA==
X-Google-Smtp-Source: AGHT+IHzvZInTwLg4wRJ+Vh7yzYmIulJNvivPy+ypqPeivhvWnYqjL6y4ABDnr1/okEzK8WbFO5BSw==
X-Received: by 2002:a05:6000:4108:b0:38c:3f12:64be with SMTP id ffacd0b85a97d-3997f9366c7mr11092964f8f.35.1742810468130;
        Mon, 24 Mar 2025 03:01:08 -0700 (PDT)
Message-ID: <cd63949e-841c-4ed8-8dda-9160f759afa3@suse.com>
Date: Mon, 24 Mar 2025 11:01:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/8] x86/domctl: Stop using XLAT_cpu_user_regs()
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: <20250311211043.3629696-1-andrew.cooper3@citrix.com>
 <20250311211043.3629696-6-andrew.cooper3@citrix.com>
 <703471bf-d5e7-4f97-b17e-61dffdcb828d@suse.com>
 <9385c155-eb01-4247-8bf5-6e0758f79749@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: <9385c155-eb01-4247-8bf5-6e0758f79749@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.03.2025 17:01, Andrew Cooper wrote:
> On 17/03/2025 11:38 am, Jan Beulich wrote:
>> On 11.03.2025 22:10, Andrew Cooper wrote:
>>> In order to support FRED, we're going to have to remove the {ds..gs} fields
>>> from struct cpu_user_regs, meaning that it is going to have to become a
>>> different type to the structure embedded in vcpu_guest_context_u.
>>>
>>> In both arch_{get,set}_info_guest(), expand the memcpy()/XLAT_cpu_user_regs()
>>> to copy the fields individually.  This will allow us to eventually make them
>>> different types.
>>>
>>> No practical change.  The compat cases are identical, while the non-compat
>>> cases no longer copy _pad fields.
>> That's fine for "set", but potentially not for "get": Someone simply doing
>> memcmp() on two pieces of output might then break.
> 
> It's not a fastpath, and I'm not looking to not break things, but I was
> expecting it to be safe.
> 
> The pad fields for cs (inc saved_upcall_mask) and ss get lost on the
> first exit-from-guest, and the pad fields for the data segment get lost
> on the first schedule.

Are they? If these fields on the stack are only every written with zero
(which aiui they are), all vCPU-s would properly observe zero in the
padding fields.

> So while there is a change here, I don't think it's anything that
> current code could plausibly be relying on.
> 
> Furthermore, when we get rid of the vm86 fields, we don't even store the
> pad fields anywhere in Xen, so they're going, one way or another, by the
> end of the series.
> 
> Finally, disaggregation or not, this is an unstable interface so we do
> have some wiggle room.
> 
> I guess I should discuss this more in the commit message?

Yes, if you continue to be convinced that dropping of their copying is
fine, the justification of that would be very desirable to have in the
description.

>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Jan Beulich <JBeulich@suse.com>
>>> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>>
>>> Should we really be copying error_code/entry_vector?  They're already listed
>>> as explicitly private fields, and I don't think anything good can come of
>>> providing/consuming them.
>> I don't see a reason why we'd need to copy them in arch_set_info_guest();
>> arch_set_info_hvm_guest() doesn't copy them either. For
>> arch_get_info_guest() it's less clear - toolstack components may have
>> grown a dependency on them (e.g. introspection?), so I'd err on the side
>> of retaining prior behavior. (Of course there's then the corner case of
>> someone calling "get" right after "set", expecting the two fields to come
>> back unchanged.)
> 
> Introspection doesn't use this interface.Â  Regs are sent in the ring,
> and don't contain these fields either.
> 
> Also, for HVM guests, we set the vmexit rsp to &error_code so we only
> push the GPRs, without the IRET frame above it.
> 
> These fields, (inc saved_upcall_mask) have different behaviours under
> FRED.Â  I don't think we can get away without them changing, and for
> these at least, they were clearly marked as internal.

And you're reasonably convinced that in a tool like xenctx it couldn't
make sense to dump such simply for informational purposes?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:05:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:05:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925230.1328102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twegg-0000E5-Ss; Mon, 24 Mar 2025 10:05:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925230.1328102; Mon, 24 Mar 2025 10:05: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 1twegg-0000Dt-Pd; Mon, 24 Mar 2025 10:05:42 +0000
Received: by outflank-mailman (input) for mailman id 925230;
 Mon, 24 Mar 2025 10:05: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twegf-0000Dn-Dy
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:05:41 +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 8a60022d-0897-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:05:40 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43948021a45so33894825e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:05: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-39abe4971b0sm5435434f8f.26.2025.03.24.03.05.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 03: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: 8a60022d-0897-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742810740; x=1743415540; 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=+T1CBCpEzt7baE3PVBi+epotLIQuQty1Zn29FAgx9so=;
        b=bH6gJUfZiC/ZWd/x/PT+bQchTFKAKlJGXOQyqsGEQlkK9lLWtoSFdC+WdzrHm9C4oM
         UyLQl4HAtzYrcD6WgxJwpVIk4FMuJj4DnrC6iltWe39W08nH3xtGe4iXBoS2ZtiwOql0
         Ko5jPf3PVvP9yzFa/Xf/qu+nfB5EALSbxfOqX3kfPq977d3qAxRB9KGU//RclQIoqwJN
         NNAkLh73r0mk8MVkhKLfOz6hbHuMnxYKxfpwCUCS9QWpIkWvvfkIua4QzWlGBQzK2MIK
         9mx5kwaN713FXiFVxmcSmdD6M5/W+DCSCmrAcJjtrgwhoMMhfTOQMLeY701DB/zA4y5H
         he2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742810740; x=1743415540;
        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=+T1CBCpEzt7baE3PVBi+epotLIQuQty1Zn29FAgx9so=;
        b=mYgjxMnBHEk2+pyEbNAwL/FUiSjgB20Pvltl7m51qHY0M2s5HN7/PQCco6KAPESsFc
         n1mB4KXpv3HGOWBzN81lKN9scBediiH+/oakOK/RWE6lq1GYEeNO9DyvBoswBPdlfCVT
         Pu+FMgyvL5QYmEx8MgHqlTHgm+6voA2wmlgweGaSQZKFRpmobm/4YPvZ0wHwRPgkREQR
         /KnMdUoiDoVpcpHtDVc8e8bYDiTB6NX8UffBSST5ypUxrbGuh1IidaUvbfaG7PlR42gd
         Sg1+Z5uSZqx9IEwVtklzBnRWYt/l0xTR3OhmeJui7UktFysLGRCGcVpck6yvB/bAs7Kl
         dQqg==
X-Forwarded-Encrypted: i=1; AJvYcCVTksjrsn7sliYGbemSqCL7W12FMdwYYKux4bmt084u3a58Vx0ya1nvAQfx6zwbC2uEbESJ3/xj32U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/wXAGa3mEk0BjlWi+eJ6E0nfIx+/6cUwvpoJKVMT7FAg7BuKN
	gd5DmGb5032pew9EWaaiW//Qfwo8lXrJb+5xbpBoOwhim9UE1W0YmcVflg719w==
X-Gm-Gg: ASbGncvKDYbJbPZSWRmPJKZp7d/v3SQiwAWRhYQ81l3Gu5b7GNEYkw1oAFzHuCT8n7v
	pfdkYuQRejEUnV8Og+RD+x6F4BsoEALiYuYLqIxhV8Hs+p3kr4iMwhZ9GpACBIKXvIDU5/7478g
	m+iksrQSBtXIS/pei89e9MyBDbACedRHzlZlIz8mDvj0e4AZJBgW5C04rVLkERphaJNsFbVwdEj
	Q77WVBss7EmDwfj5abNxaxToFlRtqcneTpK3Iyr5u57FJXTUiaactc8lffHOaliVL4vj9q7ghut
	HYj8OA28RAt7c8kJxfN/7cI86OK9IPE565+dyYgtyqpvTk/5V5OybVmWqAzl9ZVlKunq7HeyCj3
	WA4TLkari+9tw3aKBTal0nooFmVvgtQ==
X-Google-Smtp-Source: AGHT+IEMtxsesm5bKZq94y9c1CZnqKeM47GZYNKhy98LWfhSj+6bN+w26fdu/cOucy2x9E/dO59+Wg==
X-Received: by 2002:a05:600c:1989:b0:43c:ebc4:36a5 with SMTP id 5b1f17b1804b1-43d509e9dd0mr104557845e9.7.1742810739805;
        Mon, 24 Mar 2025 03:05:39 -0700 (PDT)
Message-ID: <15bea88c-8294-4164-83df-7ccdb61f9697@suse.com>
Date: Mon, 24 Mar 2025 11:05:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Grygorii Strashko <gragst.linux@gmail.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
 <5190f71c-4a93-4f66-91d0-aec43a97ddab@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: <5190f71c-4a93-4f66-91d0-aec43a97ddab@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.03.2025 10:00, Oleksii Moisieiev wrote:
> Hi Jan,
> 
> Let me answer one of your comment. Please see below:
> 
> On 11/03/2025 13:43, Jan Beulich wrote:
>> On 11.03.2025 12:16, Grygorii Strashko wrote:
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -526,6 +526,12 @@ S:	Supported
>>>   F:	xen/arch/arm/include/asm/tee/
> [snip]
>>> --- a/xen/include/public/arch-arm.h
>>> +++ b/xen/include/public/arch-arm.h
>>> @@ -327,6 +327,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>>>   #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>>>   #define XEN_DOMCTL_CONFIG_TEE_FFA       2
>>>   
>>> +#define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
>>> +
>>>   struct xen_arch_domainconfig {
>>>       /* IN/OUT */
>>>       uint8_t gic_version;
>>> @@ -350,6 +352,8 @@ struct xen_arch_domainconfig {
>>>        *
>>>        */
>>>       uint32_t clock_frequency;
>>> +    /* IN */
>>> +    uint8_t arm_sci_type;
>>>   };
>> You're not re-using a pre-existing padding field, so I don't see how you
>> can get away without bumping XEN_DOMCTL_INTERFACE_VERSION.
> 
> We are reusing an existing padding field in xen_domctl, which is defined 
> as pad[128].
> 
> The xen_arch_domainconfig structure is a part of the following domctl 
> structures:
> 
> - xen_domctl_createdomain
> 
> - xen_domctl_getdomaininfo
> 
> These structures are included in the union within xen_domctl, which 
> defines pad[128] for padding.

Except that "an existing padding field" means a field which isn't just
there in space, but is also checked to be zero right now. That is, new
code setting the field to non-zero needs to properly get an error
indicator back from an older hypervisor.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:09:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:09:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925240.1328113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twek6-0000oG-AN; Mon, 24 Mar 2025 10:09:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925240.1328113; Mon, 24 Mar 2025 10:09: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 1twek6-0000o9-7N; Mon, 24 Mar 2025 10:09:14 +0000
Received: by outflank-mailman (input) for mailman id 925240;
 Mon, 24 Mar 2025 10:09: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twek4-0000o3-RB
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:09:12 +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 079a089c-0898-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 11:09:10 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so27209195e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:09: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-43d4fd185c5sm115255595e9.15.2025.03.24.03.09.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 03:09: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: 079a089c-0898-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742810950; x=1743415750; 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=qFhwhbFs9CDBJnLyvZgac6JqmwAWzOgx6WyBqtexvrI=;
        b=NFZ6IKxoIWckrk9jozjzBTweZceKWYnYcff5QZGX61navhR4Cwm61FKlMqNrGq6JJJ
         hezU6hg0LiOS0C0JSnDcHWRUAfGg/uMQOdqqej3e91zU/9zAjI6EXVGJmW0e4Z8evEKD
         PVE11lAWS1FmtjtzleUoc056pmLEK9NjJUqZdziVJ4hPXlhKmzdDopIG4XgtHVvgsXkd
         OHrS1+CLRG1JkQlpjIyhLAD2VPrPgly+tZ1RTgy+W+XBvqONunrZlxRoEhDNxX5cAwIE
         oJIxVTv7G2YO0mQZG3tIzITuS2EqsmyVjETAG7Vyzrv9psPDrCAF41T6eWApWrBzTYtp
         Z17A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742810950; x=1743415750;
        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=qFhwhbFs9CDBJnLyvZgac6JqmwAWzOgx6WyBqtexvrI=;
        b=ZhVkHPjVNs/00QS1WX1CKLNwbW34b9SO1fVgvbee9cKQFLmqnB4h3IoGZZdH0WxhSU
         2xGM3zE4aLVOkOPAmuMT7yOpukEK/CwQlQVaSxqqFkNxAbDgW+vZ77AoggjMrJr83OO+
         4UUHwbVAMcSRR3cCQpbzoz6jWuA17Jl2vw7m3JwdwXVlg96B1ELkFGWhb37PTTpSUzqt
         fXlX9c2UFv1Ie8zwEPjaowLEtaZeAzAo7oEaSJq+xqKZU2uUTkvPsHLgV5BlF8JBRlOj
         2ohdHWMNkPUIjoRm+e0lyLgclzzHWoBuUa0qZN8VjrWCpchfZmiNaxPuGGOU1/scdmdi
         rYZw==
X-Forwarded-Encrypted: i=1; AJvYcCXVsTMWDwKQU+ay7+x7eG0UiFN1mf4zoKjqlU5ljran+8a25IpMjV9OGKVgQbHyr1SLPVgPSYG9C9I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxqdK+yOZsNnmtfxHhTVNYakLDPcn+iy0PB99JfJTRUepXZ/br3
	GCFfPD8Wp3fKIjwC325yuvMoC8+6hcn3noF+uHZ+7/RHlgIMNhXF3dBZEOtDVQ==
X-Gm-Gg: ASbGncsc4+3Uz2SzPP0iuDj3CWg0lI8NhSdHeAn1nJzV22GO10+bk9H9KNXruCX3D04
	p5dJz7TXxclz23uJVOVo86t0qDHdbv155+iZLAjS1bqY0RS812m3Bz20G5Uj7WJ2Ap5zUafdDE4
	GHpo6Ip1jUKH7NzhjGZ8KJdbA7/JmfUHQzRE0nPjkAwj4Q95HVrdbKkYG/SwiKL+JLpODfnjvev
	S+nJpu+JFlHd2eVK/h8KU6lLT++6FSASb1p5+JaMyy0zQcnvTui4qjvWI0/1vJdNbATfZ3Cmx6t
	BbrA/Ad5/zCoovbxIeWVSoBPW4Fb/24U4IhL8eDtZhOLPaulbziJs53q3cPrTNYzmiT9zVLRQjQ
	ke4jjxqjTFb2VK6+CyYZVd0h3tQTycQ==
X-Google-Smtp-Source: AGHT+IEwlgf8DEHlttVIXqZ22fCFAoy+t33rn1bYpV7zO19zWg4PuY95kLGjGDidmD7vdhBkvmyqZg==
X-Received: by 2002:a05:600c:4512:b0:43b:c878:144c with SMTP id 5b1f17b1804b1-43d509ee50amr115318895e9.12.1742810949833;
        Mon, 24 Mar 2025 03:09:09 -0700 (PDT)
Message-ID: <119cc90b-16fa-43f8-913f-8edf7371bbc5@suse.com>
Date: Mon, 24 Mar 2025 11:09:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
To: "Penny, Zheng" <penny.zheng@amd.com>
Cc: "Huang, Ray" <Ray.Huang@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 "Orzel, Michal" <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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-19-Penny.Zheng@amd.com>
 <18983fc2-08e7-40eb-b5d7-738e36a2a271@suse.com>
 <DM4PR12MB8451A85D3C1E9CAE59DE5924E1A42@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: <DM4PR12MB8451A85D3C1E9CAE59DE5924E1A42@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.03.2025 08:59, Penny, Zheng wrote:
> [Public]
> 
> Hi,
> 
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Friday, March 14, 2025 12:33 AM
>> To: Penny, Zheng <penny.zheng@amd.com>
>> Cc: Huang, Ray <Ray.Huang@amd.com>; Stefano Stabellini
>> <sstabellini@kernel.org>; Julien Grall <julien@xen.org>; Bertrand Marquis
>> <bertrand.marquis@arm.com>; Orzel, Michal <Michal.Orzel@amd.com>;
>> Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>; Andrew Cooper
>> <andrew.cooper3@citrix.com>; Anthony PERARD <anthony.perard@vates.tech>;
>> Roger Pau MonnĂŠ <roger.pau@citrix.com>; Alistair Francis
>> <alistair.francis@wdc.com>; Bob Eshleman <bobbyeshleman@gmail.com>;
>> Connor Davis <connojdavis@gmail.com>; Oleksii Kurochko
>> <oleksii.kurochko@gmail.com>; Stabellini, Stefano <stefano.stabellini@amd.com>;
>> Sergiy Kibrik <Sergiy_Kibrik@epam.com>; xen-devel@lists.xenproject.org
>> Subject: Re: [PATCH v1 18/19] xen/sysctl: wrap around arch-specific
>> arch_do_sysctl
>>
>> On 12.03.2025 05:06, Penny Zheng wrote:
>>> --- a/xen/arch/x86/psr.c
>>> +++ b/xen/arch/x86/psr.c
>>> @@ -133,9 +133,11 @@ static const struct feat_props {
>>>       */
>>>      enum psr_type alt_type;
>>>
>>> +#ifdef CONFIG_SYSCTL
>>>      /* 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); @@ -418,6 +420,7 @@ static bool mba_init_feature(const struct
>> cpuid_leaf *regs,
>>>      return true;
>>>  }
>>>
>>> +#ifdef CONFIG_SYSCTL
>>>  static bool cf_check cat_get_feat_info(
>>>      const struct feat_node *feat, uint32_t data[], unsigned int
>>> array_len)  { @@ -430,6 +433,7 @@ static bool cf_check
>>> cat_get_feat_info(
>>>
>>>      return true;
>>>  }
>>> +#endif
>>>
>>>  /* L3 CAT props */
>>>  static void cf_check l3_cat_write_msr( @@ -442,11 +446,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
>>>      .get_feat_info = cat_get_feat_info,
>>> +#endif
>>>      .write_msr = l3_cat_write_msr,
>>>      .sanitize = cat_check_cbm,
>>>  };
>>>
>>> +#ifdef CONFIG_SYSCTL
>>>  /* L3 CDP props */
>>>  static bool cf_check l3_cdp_get_feat_info(
>>>      const struct feat_node *feat, uint32_t data[], uint32_t
>>> array_len) @@ -458,6 +465,7 @@ static bool cf_check
>>> l3_cdp_get_feat_info(
>>>
>>>      return true;
>>>  }
>>> +#endif
>>>
>>>  static void cf_check l3_cdp_write_msr(
>>>      unsigned int cos, uint32_t val, enum psr_type type) @@ -473,7
>>> +481,9 @@ 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
>>>      .get_feat_info = l3_cdp_get_feat_info,
>>> +#endif
>>>      .write_msr = l3_cdp_write_msr,
>>>      .sanitize = cat_check_cbm,
>>>  };
>>> @@ -489,11 +499,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
>>>      .get_feat_info = cat_get_feat_info,
>>> +#endif
>>>      .write_msr = l2_cat_write_msr,
>>>      .sanitize = cat_check_cbm,
>>>  };
>>>
>>> +#ifdef CONFIG_SYSCTL
>>>  /* MBA props */
>>>  static bool cf_check mba_get_feat_info(
>>>      const struct feat_node *feat, uint32_t data[], unsigned int
>>> array_len) @@ -508,6 +521,7 @@ static bool cf_check mba_get_feat_info(
>>>
>>>      return true;
>>>  }
>>> +#endif
>>>
>>>  static void cf_check mba_write_msr(
>>>      unsigned int cos, uint32_t val, enum psr_type type) @@ -545,7
>>> +559,9 @@ static const struct feat_props mba_props = {
>>>      .cos_num = 1,
>>>      .type[0] = PSR_TYPE_MBA_THRTL,
>>>      .alt_type = PSR_TYPE_UNKNOWN,
>>> +#ifdef CONFIG_SYSCTL
>>>      .get_feat_info = mba_get_feat_info,
>>> +#endif
>>>      .write_msr = mba_write_msr,
>>>      .sanitize = mba_sanitize_thrtl,
>>>  };
>>> @@ -808,6 +824,7 @@ static struct psr_socket_info *get_socket_info(unsigned
>> int socket)
>>>      return socket_info + socket;
>>>  }
>>>
>>> +#ifdef CONFIG_SYSCTL
>>>  int psr_get_info(unsigned int socket, enum psr_type type,
>>>                   uint32_t data[], unsigned int array_len)  { @@
>>> -839,6 +856,7 @@ int psr_get_info(unsigned int socket, enum psr_type
>>> type,
>>>
>>>      return -EINVAL;
>>>  }
>>> +#endif /* CONFIG_SYSCTL */
>>>
>>>  int psr_get_val(struct domain *d, unsigned int socket,
>>>                  uint32_t *val, enum psr_type type)
>>
>> That's quite a lot of #ifdef-ary here. I wonder if we can't do any better.
>>
> 
> xl-psr half relies on sysctl op, and half relies on domctl. So I'm not sure for
> CONFIG_X86_PSR, whether we shall make it dependent on CONFIG_SYSCTL

And indeed I don't think you can. That also wasn't what I had in mind (or else I
would have said so explicitly); I kept my reply vague because I didn't have any
concrete suggestion (yet).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:12:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:12:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925252.1328123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twenE-0003Q6-R4; Mon, 24 Mar 2025 10:12:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925252.1328123; Mon, 24 Mar 2025 10:12: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 1twenE-0003Pz-O2; Mon, 24 Mar 2025 10:12:28 +0000
Received: by outflank-mailman (input) for mailman id 925252;
 Mon, 24 Mar 2025 10:12: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twenD-0003Ps-Gc
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:12:27 +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 7c780035-0898-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:12:26 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-38f2f391864so2364547f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:12: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-3997f9e6676sm10591040f8f.62.2025.03.24.03.12.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 03:12: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: 7c780035-0898-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742811146; x=1743415946; 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=oRi8XtcCk7V32tPWkDURtWWw9TfjKFl48YcScfmaC7Q=;
        b=dk+cSuFOVxIL45FS6IGEgaH5TNs9GIozQfbufLwQK/1Twq/0l+7DSW0NFqPCbYiO/d
         hUd5+9ZkW6y6OfyXBOBH+yok2tm7bl220iz4PMqDP3tAqdJbQk3AQLgdFbQg+g0bSoFB
         zghAB/HBAu5uDLA8dcWSpC7uSLAPskWg/AXJXZN4fhkdQ+h4tDdkp7vQGYNofROl+qn/
         wgceeSzg+uiXiw8dxKgpHgltUHd07Rii5ipuum/k58LXDVbolh3qeJaZxJgK6RlXIckc
         iHVu/MehFXW+RbLJWefgoc0bfbQE/FNDlcDvS1z7YiNO0IBaclgxkU/814Uvl1W4sKox
         l3+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742811146; x=1743415946;
        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=oRi8XtcCk7V32tPWkDURtWWw9TfjKFl48YcScfmaC7Q=;
        b=aPN3/t5TBbVfWeYOphmPOgY4vYirn4F36G8gthA01I2ZqSH7ypN5R35K4W+mR0WqCs
         IQrzBUktX0PzUpsa1tJlE4wupoqbZrPeSh1sxEfbezZwbjCNeoLpYNCKuAin1GlLPmrV
         0J/WIF9MhQgVoKnpVLSGACA91PBYJC7J9T0CYPXgErCdXOOIegITnN8UEt4S65x615oI
         sY6/A97RyJv9WimRNP0VvnGbvauJYYvkHZ7L4BqGbOfWhAG0qiFTlIHIJm3Sy65p965T
         M3WOxKCwQNbbMjzTPbJ5zcLL84jcQJLmjB6fupE8sR7V8xNKeZ28eQGwFHy3dGB8yOVz
         ygSA==
X-Forwarded-Encrypted: i=1; AJvYcCWPP0cAZgldAr0pyLoRqvoUcth5f9hXZvkwY7/36rB2rX8dZ+MA9Qi/hwIi0KgC3XPkZ6j7g8CFOtA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyvQWtEB4gWgI5vgsXVp4umHJaVJ7fzlJXsGFFHqam3/UyOCifz
	qCn1/YSb1ZltTxNadYud2J4iJovDdBnUgKytkbcKokKGQ0lrSwlFR6Xo+RUrSw==
X-Gm-Gg: ASbGncugFuzO7up2Das00NCKTHGTdbWzK8DFl3KlHzp/bMcyAhFtoCbQqXUc5i729MU
	ScRVSmT2IIH44hPEqirTDNl1BGCyBckIgvhJCtMcps5lIH5zO3Uzx3bgsonSRRHx3V8+6MO/2F7
	wmSDF+IgYKM0debMlBaiqiR/xvCCeW3ps2Zmg5M3TuDoxWa+0uV4ww8S+1XmBwm4DnyHL6O4u8E
	uRA9UCI8zDkImAN0JMfmf7d8lFrpdGp+Q0Bwk6TuRG/Hr+pxfAziAvujf7fG/vpyp84QJ8u69D3
	Z8hcwrqn+Q1f8Z0Fodg4hcioCjJZhd/rS3ZlNwAZuLTVOUeJE6DXoSA+k6SChfRUvYYQ7bCXlpX
	AdQ1NKHb2yNq8S3I8GA2O/HoWuP6CIw==
X-Google-Smtp-Source: AGHT+IG8kPhbW2nPdImu3vzw/K5dO6Yq1GMSBXKGICs3mI66yZuI4UPYYGCiu+GQwg3xCaIQARFlCQ==
X-Received: by 2002:a5d:5f85:0:b0:390:d6b0:b89 with SMTP id ffacd0b85a97d-3997f93c41fmr10078491f8f.50.1742811145999;
        Mon, 24 Mar 2025 03:12:25 -0700 (PDT)
Message-ID: <bba6a148-dcf5-49f5-9c8f-3564e5d5a15b@suse.com>
Date: Mon, 24 Mar 2025 11:12:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 19/19] xen/sysctl: wrap around sysctl hypercall
To: "Penny, Zheng" <penny.zheng@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: "Huang, Ray" <Ray.Huang@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@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>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250312040632.2853485-1-Penny.Zheng@amd.com>
 <20250312040632.2853485-20-Penny.Zheng@amd.com>
 <b8e760b1-df5a-414e-862a-34fd66f957c3@suse.com>
 <DM4PR12MB84511A7BDC5CA67B4C5CB7D1E1A42@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: <DM4PR12MB84511A7BDC5CA67B4C5CB7D1E1A42@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.03.2025 07:11, Penny, Zheng wrote:
> [Public]
> 
> Hi,
> 
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Friday, March 14, 2025 5:27 PM
>> To: Penny, Zheng <penny.zheng@amd.com>
>> Cc: Huang, Ray <Ray.Huang@amd.com>; Stabellini, Stefano
>> <stefano.stabellini@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>; Roger Pau MonnĂŠ
>> <roger.pau@citrix.com>; Stefano Stabellini <sstabellini@kernel.org>; Sergiy Kibrik
>> <Sergiy_Kibrik@epam.com>; xen-devel@lists.xenproject.org
>> Subject: Re: [PATCH v1 19/19] xen/sysctl: wrap around sysctl hypercall
>>
>> On 12.03.2025 05:06, Penny Zheng wrote:
>>> --- a/xen/common/Makefile
>>> +++ b/xen/common/Makefile
>>> @@ -69,7 +69,7 @@ obj-$(CONFIG_COMPAT) += $(addprefix
>> compat/,domain.o
>>> memory.o multicall.o xlat.o  ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
>>> obj-y += domctl.o  obj-y += monitor.o -obj-y += sysctl.o
>>> +obj-$(CONFIG_SYSCTL) += sysctl.o
>>
>> This wants to move back up then, into the main (alphabetically sorted) list of
>> objects.
>>
>>> --- a/xen/include/hypercall-defs.c
>>> +++ b/xen/include/hypercall-defs.c
>>> @@ -195,7 +195,9 @@ kexec_op(unsigned long op, void *uarg)
>>> dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
>>> #endif  #ifndef CONFIG_PV_SHIM_EXCLUSIVE
>>> +#ifdef CONFIG_SYSCTL
>>>  sysctl(xen_sysctl_t *u_sysctl)
>>> +#endif
>>>  domctl(xen_domctl_t *u_domctl)
>>>  paging_domctl_cont(xen_domctl_t *u_domctl)
>>> platform_op(xen_platform_op_t *u_xenpf_op)
>>> @@ -274,7 +276,9 @@ physdev_op                         compat   do       hvm      hvm
>> do_arm
>>>  hvm_op                             do       do       do       do       do
>>>  #endif
>>>  #ifndef CONFIG_PV_SHIM_EXCLUSIVE
>>> +#ifdef CONFIG_SYSCTL
>>>  sysctl                             do       do       do       do       do
>>> +#endif
>>>  domctl                             do       do       do       do       do
>>>  #endif
>>>  #ifdef CONFIG_KEXEC
>>
>> As indicated earlier on, PV_SHIM_EXCLUSIVE likely wants / needs sorting as a
>> prereq anyway. Otherwise I think the new #ifdef-s better wouldn't end up inside the
>> PV_SHIM_EXCLUSIVE ones.
> 
> May I ask, if we dropped the earlier commit, not replacing all the !PV_SHIM_EXCLUSIVE with UNRESTRICTED,
> whathat is the next plan for it ?

Didn't I mention this in enough detail in [1]? Stefano said he'd have someone
in mind to carry out that work. Stefano - any more concrete indications?

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2025-03/msg00783.html


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:18:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:18:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925261.1328133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twetK-00040N-EU; Mon, 24 Mar 2025 10:18:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925261.1328133; Mon, 24 Mar 2025 10:18: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 1twetK-00040G-Bf; Mon, 24 Mar 2025 10:18:46 +0000
Received: by outflank-mailman (input) for mailman id 925261;
 Mon, 24 Mar 2025 10:18: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=g89S=WL=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1twetJ-00040A-3X
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:18:45 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cf111dd-0899-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 11:18:43 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5499614d3d2so4800697e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:18: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: 5cf111dd-0899-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742811522; x=1743416322; 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=T4Gd5+WK++lCd5shaivnNVbRyV5DWLV5RGhlZthHvD4=;
        b=Sqc6YjodaFuzF+fu8ZH8ZHQVHkIiZH32ZzL1EWHOCPesEMDNU+ynrf2DtU7eukuqBS
         0XtShxiSr4HHnyD3gigsNMuoGItP6C3M7y5MNbJYDp/PtRMjqCDlXVgd3uuuOOGYrNly
         595+FMykQGDAN078ZsHh+CvIxKmaYxBVS9sd40GLgnBUSjCcGOzsM9HExOIZW3XbPFoU
         VrzI91xwFM4YjXfCHL02Zf3DQ7SzLZDqpMvj5vCz2vjotQgSiIh8xSOfPORT2KCkfRvf
         llVmaJvM11Sy8o8Vhtmiw+7XWdcPAI82qjEfff5S+V/kMkxOZ4G6iEMkWYLKNGVrg8Kr
         1V1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742811522; x=1743416322;
        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=T4Gd5+WK++lCd5shaivnNVbRyV5DWLV5RGhlZthHvD4=;
        b=vslkp/h0NCMgyhaRtZJ+j6caObrOtAOl7+zCznkve55VCxKIxrDxF41QL0YeCZiSF6
         odbKmVp/ML+baE9BLDuEQGhIrWGmv05nh6D2katGlQ+N9tLqSIIoA9Dyx1UOTTfcqA3u
         fmJP6NMbw2SMoep3j1Oeui6TU97EFEabEufx9Kumkn3uzZ74Jd9x2TQFat8IQ9W5D6Ex
         lMlvv85cMGeEoyb418Q7SMb8bcrPCh5JqNG03M6JsClaamgtQ6TmFIf97xEVUuRAM67O
         1Nktl8NU51JCghCYgfIx5A6j3uQG5ILVNFvBOwU3nOkjR7G+kri00n2NPbKCORewwg5n
         kbyw==
X-Forwarded-Encrypted: i=1; AJvYcCWljkf7g5vONdZOKkZPICxO635XbdXwIwDZwGaSMDCdHtyymqchl+M8WYl3uV4zYHYuIkQ57RuZKgA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywtzvfo7a34Iu+MbFB1Vfllcjn451pBxR8Nv2e9uE5eV/+VoNzG
	xXXCx33KXjAczkQmDnS0AZHE9N6BLDoW4XC6+71TC+9quJMUz/AVmoO5kO1wikq4hAWixJJLRf5
	u3ju8+pXkeKUCEemsQgfvalsB5OI=
X-Gm-Gg: ASbGncuT+0r1SltvlubUJMdWu6ry6ZkV6//oSMCgPn1QK30n4XGlYzygmQuqX6XOI1b
	PVSh7gXs4QEkcV0e46TyxVFAnTMQBfBmv6t59XlGKVN34mtnzURP6P7KCTwaTgAL7LhNG6aFJKR
	x+h8FmN0Xhf2wLDKe+fpoMNUojKGoSzq3d84lr
X-Google-Smtp-Source: AGHT+IHY6xJzvzu5wz0EHmZlqLH5rvOinUH/xP6fiP/5cGXbEFyVYlz0aXHEhv0laFaEgoH+e45mILioTJq5ul73mE4=
X-Received: by 2002:a05:6512:acf:b0:549:70ea:27a1 with SMTP id
 2adb3069b0e04-54ad6492df3mr4862630e87.23.1742811522216; Mon, 24 Mar 2025
 03:18:42 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <28da91c2859e0226585951ea3d6e7017b402ec0b.1741164138.git.xakep.amatop@gmail.com>
 <849e6163-141d-4c8a-a57f-e589a38dd38d@xen.org> <CAGeoDV9Ey9gnR=AGe13y0HtQ4UwoBOeD=LuY4KJud7jXuJ-h9g@mail.gmail.com>
 <db6426f2-76be-4ec1-bd01-4553ebdf63f1@epam.com>
In-Reply-To: <db6426f2-76be-4ec1-bd01-4553ebdf63f1@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Mon, 24 Mar 2025 12:18:30 +0200
X-Gm-Features: AQ5f1JpRmOsXh7SRnl2nzV5TvfJNOuXW1z4GcLRLuE1OabK1MwxNsg4TLfYBkeQ
Message-ID: <CAGeoDV-2wQDRSmo0Ae0HyrCD1qg45HJ9dViiaOL7YUUXw6n1oQ@mail.gmail.com>
Subject: Re: [PATCH 06/16] xen/arm: Introduce system suspend config option
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, 
	Mykola Kvach <mykola_kvach@epam.com>, Stefano Stabellini <sstabellini@kernel.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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

HI,

On Fri, Mar 21, 2025 at 4:58=E2=80=AFPM Grygorii Strashko
<grygorii_strashko@epam.com> wrote:
>
>
>
> On 21.03.25 11:48, Mykola Kvach wrote:
> > Hi,
> >
> > On Wed, Mar 12, 2025 at 12:29=E2=80=AFAM Julien Grall <julien@xen.org> =
wrote:
> >>
> >> Hi,
> >>
> >> On 05/03/2025 09:11, Mykola Kvach wrote:
> >>> From: Mykola Kvach <mykola_kvach@epam.com>
> >>>
> >>> This option enables the system suspend support. This is the
> >>> mechanism that allows the system to be suspended to RAM and
> >>> later resumed.
> >>>
> >>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> >>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> >>> ---
> >>>    xen/arch/arm/Kconfig | 11 +++++++++++
> >>>    1 file changed, 11 insertions(+)
> >>>
> >>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> >>> index a26d3e1182..5834af16ab 100644
> >>> --- a/xen/arch/arm/Kconfig
> >>> +++ b/xen/arch/arm/Kconfig
> >>> @@ -475,6 +475,17 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
> >>>    config ARM32_HARDEN_BRANCH_PREDICTOR
> >>>        def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
> >>>
> >>> +config SYSTEM_SUSPEND
> >>> +     bool "System suspend support"
> >>> +     default y
> >>
> >> The default should likely be no until everything is working.
> >
> > got it!
> >
> >>
> >>> +     depends on ARM_64
> >>
> >> I think this also needs to depends on !LLC_COLORING (unless you
> >> confirmed cache coloring is working) and UNSUPPORTED.
> >
> > Sure! I'll add the dependency.
> >
> >>
> >>> +     help
> >>> +       This option enables the system suspend support. This is the
> >>> +       mechanism that allows the system to be suspended to RAM and
> >>> +       later resumed.
> >>
> >> You seem to also tie guest suspend/resunme to this option. Is it inten=
ded?
> >
> >  From the guest's perspective, it is a system suspend. However, it look=
s like the
> > description should be enhanced. Thank you for pointing that out.
>
> s2r =3D "suspend to ram"
>
> You definitely need consider and clarify ARM64 Guest System s2r and
> XEN system s2r. First can be supported without second, while the XEN syst=
em s2r
> depends on Guests System s2r support and required guests to be properly s=
uspended
> before allowing XEN to enter system s2r.
>

This is exactly what...

> You can't call freeze_domains() and blindly pause some domain, because if=
 it's not
> suspend and has passed through HW which is in the middle of transaction -=
> DEADBEEF.

... should happen. x86 works in the same way=E2=80=94we call domain_pause w=
hen
performing system suspend. All domains are paused except the one that
is eligible to request system suspend.

>
> --
> Best regards,
> -grygorii

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:21:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:21:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925270.1328142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twewK-0006XB-Rb; Mon, 24 Mar 2025 10:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925270.1328142; Mon, 24 Mar 2025 10:21: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 1twewK-0006X4-Oi; Mon, 24 Mar 2025 10:21:52 +0000
Received: by outflank-mailman (input) for mailman id 925270;
 Mon, 24 Mar 2025 10:21: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twewJ-0006Ws-Ca
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:21:51 +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 cc70b43d-0899-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:21:50 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3912c09be7dso2699864f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:21: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-39ac3ce3dd1sm2050424f8f.88.2025.03.24.03.21.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 03:21: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: cc70b43d-0899-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742811710; x=1743416510; 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=RRFVJfT6Xr5zCYwrOJ8qr+T0oepcd/arFvDtve0y1Is=;
        b=cl1AWW7Z6UMQ3T5mrPPu/AjtdVpdaksnFocO5zByCYtlk1Hy0g6ob7aeQRkYXUI7QU
         AK4tsJ3C81bUVXy79heBmLXFQ8o1wjgbRlUSQvGdnSjq7eEbGAM1tNKG2YgO1HIdjf+F
         52Y49dIX7mSm4AFSCcBOOsnVphL+PZBMoVhhjmd1EBUhftmfh5m+VjZLt/RZqQ/JDCjK
         KJ1JdOrtpdxu2oXMHdJBU40GGQnkc1lx6mk+OhALjuwGRpJez3s2/tgCQM0llrubXk6Z
         8Zm68nRv1dkxx3vfhfKDj+bOiXvhBT/mkelexEpxY8YMHketMC7dwpVCZye6Tq0FTLyM
         jXIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742811710; x=1743416510;
        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=RRFVJfT6Xr5zCYwrOJ8qr+T0oepcd/arFvDtve0y1Is=;
        b=cc0LQ2E6RUJUGBWOaFND4kOfUdJGnzNKYOBWDX0NH1FSgCNUyrRHciUaJK7HflvZlm
         U7mX4bvXDzSn73YhsxwsKubNUU+ZFsRVkQMhSoDDPnB/KxhIdwcaqraKNEY8TtkDLiXK
         qVOw556gmYfil29r/dVvZBW8f9KfuwpNhDHbxflEjS9s/g55VhnchUXMSeQiV8xGze2O
         Q0i/ChjcwtynyW7DvLKI+A1bn4vXiAT7jZJfeSI6vJxq1I5ayUl5IesldldGTLmHg2QU
         2mjRLQ2bG6Q8OAj05sHrLcQcu4u02PlTE+sgrKRz3X+zg7+uNQikwJmDvv988hcfUSgt
         CNrg==
X-Forwarded-Encrypted: i=1; AJvYcCXEEsJLHQR0BcPPDGiEJRWwB0/MlFy+UpNXQ7QRaEvUhDydHrFWDBopXgYtBYnOTTe2eqqXANj91wU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLc7hAF0UrD+R4XnXs4vrGdj/7wQlqxDoVAyACp0+2WDCZ/utN
	/HV6/swIzhbHgTG+CyWeVPLwMbPe/5eP05N3vTQzWwANJzdbU25ECWz+Rv6uyw==
X-Gm-Gg: ASbGncv62EoQLM6fEbKiTT6FFaNV85kmIJo10v0/91ml/ZTPSb0nIupipcTMuQ4gv38
	skxTC6tqBhzUpI6eeN9j/yJq5ynnl7/0n5i7P0XL5R11MlMRGIPBDzIoGu7IInW01Xgmm2wL7oR
	gzoLcqSYuBtpiAxqwOiHszvo9t4tj12NWq3JIfvSWI8LAfQ18tfkAYDg0VriylkHHg2yZ43oDsP
	bIXFm9HJrIUQj7rnQQmZh0Z/fgrRcyeMNgaogWqI9QjlYaJMx5GbPrZXoVrZOtsc9nWXA2wqWP3
	MeDUsJ+CUXRHJucz5jXM+K3xNCHzuioAr6yPe/mrD9P5XIzIAZkJnuT6vbcz2TOpcg7RLa+qw/5
	sIiBGO7m+HMkNogBMv8EYQJ1QOflN9Q==
X-Google-Smtp-Source: AGHT+IGrK/WQi0YItI7dNyyyOhL9/8Easu+g0kbe2h8NxSZ7S2slu67rDAigqzcHVj+wkXhp04emPg==
X-Received: by 2002:a05:6000:1a8d:b0:391:3207:2e6f with SMTP id ffacd0b85a97d-3997f932d2fmr8817154f8f.42.1742811709609;
        Mon, 24 Mar 2025 03:21:49 -0700 (PDT)
Message-ID: <abce7ac0-21bd-409c-bc4c-f08d04a5a5d1@suse.com>
Date: Mon, 24 Mar 2025 11:21:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com> <Z99PXOXocyuZtf_X@begin>
 <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
Content-Language: en-US
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 Jason Andryuk <jason.andryuk@amd.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: <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.03.2025 15:57, JĂźrgen GroĂ wrote:
> On 23.03.25 01:01, Samuel Thibault wrote:
>> Juergen Gross, le ven. 21 mars 2025 10:31:44 +0100, a ecrit:
>>> Add a file operations fstat hook to the 9pfs frontend.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
>>> ---
>>> V2:
>>> - or file access mode into st_mode (Jason Andryuk)
>>> ---
>>>   9pfront.c | 29 +++++++++++++++++++++++++++++
>>>   1 file changed, 29 insertions(+)
>>>
>>> diff --git a/9pfront.c b/9pfront.c
>>> index 1741d600..7257a07e 100644
>>> --- a/9pfront.c
>>> +++ b/9pfront.c
>>> @@ -85,6 +85,8 @@ struct file_9pfs {
>>>   
>>>   #define P9_QID_SIZE    13
>>>   
>>> +#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
>>> +
>>>   struct p9_header {
>>>       uint32_t size;
>>>       uint8_t cmd;
>>> @@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
>>>       return ret;
>>>   }
>>>   
>>> +static int fstat_9pfs(struct file *file, struct stat *buf)
>>> +{
>>> +    struct file_9pfs *f9pfs = file->filedata;
>>> +    struct p9_stat stat;
>>> +    int ret;
>>> +
>>> +    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
>>> +    if ( ret )
>>> +    {
>>> +        errno = EIO;
>>> +        return -1;
>>> +    }
>>> +
>>> +    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
>>> +    buf->st_mode |= stat.mode & 0777;
>>> +    buf->st_atime = stat.atime;
>>> +    buf->st_mtime = stat.mtime;
>>
>> Should we perhaps also fill st_ctime? Leaving it at 0 could surprise
>> other software layers.
> 
> I can set it to the same value as st_mtime.

Maybe the smaller of atime and mtime?

Jan

> I don't think there is a way
> to get the "real" ctime value via the 9p protocol.
> 
> 
> Juergen



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:24:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925286.1328157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tweyy-00078x-BA; Mon, 24 Mar 2025 10:24:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925286.1328157; Mon, 24 Mar 2025 10: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 1tweyy-00078q-7z; Mon, 24 Mar 2025 10:24:36 +0000
Received: by outflank-mailman (input) for mailman id 925286;
 Mon, 24 Mar 2025 10:24: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=J9GC=WL=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1tweyw-00078i-WC
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:24:35 +0000
Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com
 [2607:f8b0:4864:20::22e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d22935a-089a-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:24:33 +0100 (CET)
Received: by mail-oi1-x22e.google.com with SMTP id
 5614622812f47-3f556b90790so1325958b6e.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:24: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: 2d22935a-089a-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742811872; x=1743416672; 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=B/pUKODn2+hwGi+4N2ezSS6ELThbK7tnU1hURWL5eeo=;
        b=zvkEae6GkOPhm10+wec0rmLiRrtkLtYOYUV3T+GXcpCGw65fdCR5vwnNBM2yAuMUlx
         j1Z9MnpBSGMXM4SSdyOgaZn90BjQGMm7ipZ2Hw7nd1ZjlPcrS2xJpjT3+psmEU8oANva
         WdqeyCShm5PBfBbJbNvBOlaWeF3q6TmHdsd5YveDyWmfbKsxYsKN+McjIC5/xNNWpQZ5
         1ZRzp7vgXIYmErrTuJDt7DkbbmFX26AhogCWUiQ1Nb7Vh2IRzQxCugxAo3OVrwIEraDY
         syvq3Q2wrbztNxj4boRo5ruliz4HAp6n7f1XZ2bDKND/irbEyXEfqBJ6yoNizTQ9Ku1e
         frwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742811872; x=1743416672;
        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=B/pUKODn2+hwGi+4N2ezSS6ELThbK7tnU1hURWL5eeo=;
        b=vyBqCXdPuvfCbCLmVhfHPhCvtoOPfxp2lulDsJwR8tzGQFT4d1QNE2yMTB+MaMoICy
         3M+d4MSzrFnhHsgjovgq5/0wxEJshGlsYJdIbvMkaz8AXKa4RUDI7k87Hu5v6hl1Yi5E
         qg0aMXiXMMbKfHXfuPR2m11LlsrhRULKermYem+4TQ80WBnPxQzbRZt3gOJ4PZ6GNCJy
         KOI14eMxKqNX+vlFTs4pKZ30jczToMib8/JrLwv9G3fDtCKggrsvs2f5w55GxxFiyr7t
         EBvbBIUL7ILCXt9SJvAU6coGl4meqFoJLVYzFUdB+bC06po4NaR8MQRqrfDmOLoVP9cc
         gVug==
X-Gm-Message-State: AOJu0Yx0/C2M0rvcpxXlhBCuNxidRr69KwrFEMj4iejvtjFHrWBTMR9F
	fBRB6iesxOyQ86h3WckjNilG52pYP5oTTFXt2Af+a72N8Q2vVNOaGfC+o5yiWAymQuPw0GJnIjb
	ctTy0xmwfkwtvMNaTcntiOqD8deobVuE5CwljHQ==
X-Gm-Gg: ASbGncucJ70nxioKhemyfhi0+YwuMA+VRzofaUd+H7l4JHBMr5/TOdVUhm+hDVyHLwO
	Fc2wEUIHue6oQA9Gb1K42oOd64/XxF2kFOApRdD1RzaePU3V2E8sTv4V35GrLQ8M+U3uUoQ6Xkn
	28fn9Y+MQSWEZwkkissChrzbvpoZs=
X-Google-Smtp-Source: AGHT+IHhHFezeD9YppmiEul82Nb/VWyXCGgiJvtneu1NTpd6rQmm8OjnwORy+XwWC2XObCPQbKtHqaFd/weDtX9PaNc=
X-Received: by 2002:a05:6808:e89:b0:3f8:889e:c13c with SMTP id
 5614622812f47-3febf6f0d39mr8812101b6e.1.1742811871547; Mon, 24 Mar 2025
 03:24:31 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1742570590.git.bertrand.marquis@arm.com> <5fbf7b0e48a652bfe1f7cd041105cb4992924990.1742570590.git.bertrand.marquis@arm.com>
In-Reply-To: <5fbf7b0e48a652bfe1f7cd041105cb4992924990.1742570590.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 24 Mar 2025 11:24:20 +0100
X-Gm-Features: AQ5f1JrpFAfrc9uQcuuxYP0VAxqyg3gEPNV-6K8kONx-KJ8aUxaZX0skXqo8gYY
Message-ID: <CAHUa44HNZ7V4sLj78zzdaK5AfYhC1-9S6uN5yfUB3kSPTmnbTA@mail.gmail.com>
Subject: Re: [PATCH v3 2/5] xen/arm: ffa: Introduce VM to VM support
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Mar 24, 2025 at 10:15=E2=80=AFAM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
> between VMs.
> When activated list VMs in the system with FF-A support in part_info_get.
>
> When VM to VM is activated, Xen will be tainted as Insecure and a
> message is displayed to the user during the boot as there is no
> filtering of VMs in FF-A so any VM can communicate or see any other VM
> in the system.
>
> WARNING: There is no filtering for now and all VMs are listed !!
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v3:
> - break partinfo_get in several sub functions to make the implementation
>   easier to understand and lock handling easier
> - rework implementation to check size along the way and prevent previous
>   implementation limits which had to check that the number of VMs or SPs
>   did not change
> - taint Xen as INSECURE when VM to VM is enabled
> Changes in v2:
> - Switch ifdef to IS_ENABLED
> - dom was not switched to d as requested by Jan because there is already
>   a variable d pointing to the current domain and it must not be
>   shadowed.
> ---
>  xen/arch/arm/tee/Kconfig        |  11 ++
>  xen/arch/arm/tee/ffa.c          |  12 ++
>  xen/arch/arm/tee/ffa_partinfo.c | 270 +++++++++++++++++++++-----------
>  xen/arch/arm/tee/ffa_private.h  |  12 ++
>  4 files changed, 214 insertions(+), 91 deletions(-)
>
> diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
> index c5b0f88d7522..88a4c4c99154 100644
> --- a/xen/arch/arm/tee/Kconfig
> +++ b/xen/arch/arm/tee/Kconfig
> @@ -28,5 +28,16 @@ config FFA
>
>           [1] https://developer.arm.com/documentation/den0077/latest
>
> +config FFA_VM_TO_VM
> +    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
> +    default n
> +    depends on FFA
> +    help
> +      This option enables to use FF-A between VMs.
> +      This is experimental and there is no access control so any
> +      guest can communicate with any other guest.
> +
> +      If unsure, say N.
> +
>  endmenu
>
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 3bbdd7168a6b..e41ab5f8ada6 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -464,6 +464,18 @@ static bool ffa_probe(void)
>      printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>             FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        /*
> +         * When FFA VM to VM is enabled, the current implementation does=
 not
> +         * offer any way to limit which VM can communicate with which VM=
 using
> +         * FF-A.
> +         * Signal this in the xen console and taint the system as insecu=
re.
> +         * TODO: Introduce a solution to limit what a VM can do through =
FFA.
> +         */
> +        printk(XENLOG_ERR "ffa: VM to VM is enabled, system is insecure =
!!\n");
> +        add_taint(TAINT_MACHINE_INSECURE);
> +    }
>      /*
>       * psci_init_smccc() updates this value with what's reported by EL-3
>       * or secure world.
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_parti=
nfo.c
> index c0510ceb8338..93847b36cf2f 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -63,9 +63,152 @@ static int32_t ffa_partition_info_get(uint32_t *uuid,=
 uint32_t flags,
>      return ret;
>  }
>
> -void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
> +static int32_t ffa_get_sp_count(uint32_t *uuid, uint32_t *sp_count)
> +{
> +    uint32_t src_size;
> +
> +    return ffa_partition_info_get(uuid, FFA_PARTITION_INFO_GET_COUNT_FLA=
G,
> +                                  sp_count, &src_size);
> +}
> +
> +static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
> +                                   void *dst_buf, void *end_buf,
> +                                   uint32_t dst_size)
>  {
>      int32_t ret;
> +    uint32_t src_size, real_sp_count;
> +    void *src_buf =3D ffa_rx;
> +
> +    *sp_count =3D 0;
> +
> +    /* Do we have a RX buffer with the SPMC */
> +    if ( !ffa_rx )
> +        return FFA_RET_DENIED;
> +
> +    /* We need to use the RX buffer to receive the list */
> +    spin_lock(&ffa_rx_buffer_lock);
> +
> +    ret =3D ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size);
> +    if ( ret )
> +        goto out;
> +
> +    /* We now own the RX buffer */
> +
> +    /* We only support a 1.1 firmware version */
> +    if ( src_size !=3D sizeof(struct ffa_partition_info_1_1) )

Before this change, we supported firmware version 1.0. It looks like
the code below should work with "src_size < sizeof(struct
ffa_partition_info_1_0)" as we had before.

> +    {
> +        ret =3D FFA_RET_NOT_SUPPORTED;
> +        goto out_release;
> +    }
> +
> +    for ( uint32_t sp_num =3D 0; sp_num < real_sp_count; sp_num++ )
> +    {
> +        struct ffa_partition_info_1_1 *fpi =3D src_buf;
> +
> +        /* filter out SP not following bit 15 convention if any */
> +        if ( FFA_ID_IS_SECURE(fpi->id) )
> +        {
> +            if ( dst_buf + dst_size > end_buf )
> +            {
> +                ret =3D FFA_RET_NO_MEMORY;
> +                goto out_release;
> +            }
> +
> +            memcpy(dst_buf, src_buf, dst_size);
> +            dst_buf +=3D dst_size;
> +            *sp_count +=3D 1;

This is subtle and easily misunderstood. Normally you'd use the ++
operator when incrementing by one, but that doesn't work as intended
unless written as (*sp_count)++. I prefer using a local variable and
updating *sp_count with a normal assignment when the loop is done. If
you agree, please update ffa_get_vm_partinfo() too since it has the
same pattern.

Cheers,
Jens

> +        }
> +
> +        src_buf +=3D src_size;
> +    }
> +
> +out_release:
> +    ffa_hyp_rx_release();
> +out:
> +    spin_unlock(&ffa_rx_buffer_lock);
> +    return ret;
> +}
> +
> +static uint32_t ffa_get_vm_count(void)
> +{
> +    struct domain *d =3D current->domain;
> +    struct domain *dom;
> +    uint32_t vm_count =3D 0;
> +
> +    /* Count the number of VM with FF-A support */
> +    rcu_read_lock(&domlist_read_lock);
> +    for_each_domain( dom )
> +    {
> +        struct ffa_ctx *vm =3D dom->arch.tee;
> +
> +        if (dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0)
> +            vm_count++;
> +    }
> +    rcu_read_unlock(&domlist_read_lock);
> +
> +    return vm_count;
> +}
> +
> +static int32_t ffa_get_vm_partinfo(uint32_t *vm_count, void *dst_buf,
> +                                   void *end_buf, uint32_t dst_size)
> +{
> +    struct domain *d =3D current->domain;
> +    struct domain *dom;
> +    int32_t ret =3D FFA_RET_OK;
> +
> +    *vm_count =3D 0;
> +
> +    rcu_read_lock(&domlist_read_lock);
> +    for_each_domain( dom )
> +    {
> +        struct ffa_ctx *vm =3D dom->arch.tee;
> +
> +        /*
> +         * we do not add the VM calling to the list and only VMs with
> +         * FF-A support
> +         */
> +        if ( dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0 )
> +        {
> +            /*
> +             * We do not have UUID info for VMs so use
> +             * the 1.0 structure so that we set UUIDs to
> +             * zero using memset
> +             */
> +            struct ffa_partition_info_1_0 srcvm;
> +
> +            if  ( dst_buf + dst_size > end_buf )
> +            {
> +                ret =3D FFA_RET_NO_MEMORY;
> +                goto out;
> +            }
> +
> +            srcvm.id =3D ffa_get_vm_id(dom);
> +            srcvm.execution_context =3D dom->max_vcpus;
> +            srcvm.partition_properties =3D FFA_PART_VM_PROP;
> +            if ( is_64bit_domain(dom) )
> +                srcvm.partition_properties |=3D FFA_PART_PROP_AARCH64_ST=
ATE;
> +
> +            memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size));
> +
> +            if ( dst_size > sizeof(srcvm) )
> +                memset(dst_buf + sizeof(srcvm), 0,
> +                       dst_size - sizeof(srcvm));
> +
> +            dst_buf +=3D dst_size;
> +            *vm_count +=3D 1;
> +        }
> +    }
> +
> +out:
> +    rcu_read_unlock(&domlist_read_lock);
> +
> +    return ret;
> +}
> +
> +
> +void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
> +{
> +    int32_t ret =3D FFA_RET_OK;
>      struct domain *d =3D current->domain;
>      struct ffa_ctx *ctx =3D d->arch.tee;
>      uint32_t flags =3D get_user_reg(regs, 5);
> @@ -75,9 +218,9 @@ void ffa_handle_partition_info_get(struct cpu_user_reg=
s *regs)
>          get_user_reg(regs, 3),
>          get_user_reg(regs, 4),
>      };
> -    uint32_t src_size, dst_size;
> -    void *dst_buf;
> -    uint32_t ffa_sp_count =3D 0;
> +    uint32_t dst_size =3D 0;
> +    void *dst_buf, *end_buf;
> +    uint32_t ffa_vm_count =3D 0, ffa_sp_count =3D 0;
>
>      /*
>       * If the guest is v1.0, he does not get back the entry size so we m=
ust
> @@ -89,118 +232,63 @@ void ffa_handle_partition_info_get(struct cpu_user_=
regs *regs)
>      else
>          dst_size =3D sizeof(struct ffa_partition_info_1_1);
>
> -    /*
> -     * FF-A v1.0 has w5 MBZ while v1.1 allows
> -     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> -     *
> -     * FFA_PARTITION_INFO_GET_COUNT is only using registers and not the
> -     * rxtx buffer so do the partition_info_get directly.
> -     */
> -    if ( flags =3D=3D FFA_PARTITION_INFO_GET_COUNT_FLAG &&
> -         ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
> +    /* Only count requested */
> +    if ( flags )
>      {
> +        /*
> +         * FF-A v1.0 has w5 MBZ while v1.1 allows
> +         * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> +         */
> +        if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 ||
> +                flags !=3D FFA_PARTITION_INFO_GET_COUNT_FLAG )
> +        {
> +            ret =3D FFA_RET_INVALID_PARAMETERS;
> +            goto out;
> +        }
> +
>          if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> -            ret =3D ffa_partition_info_get(uuid, flags, &ffa_sp_count,
> -                                        &src_size);
> -        else
> -            ret =3D FFA_RET_OK;
> +        {
> +            ret =3D ffa_get_sp_count(uuid, &ffa_sp_count);
> +            if ( ret )
> +                goto out;
> +        }
>
> -        goto out;
> -    }
> +        if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +            ffa_vm_count =3D ffa_get_vm_count();
>
> -    if ( flags )
> -    {
> -        ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out;
> -    }
> -
> -    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> -    {
> -        /* Just give an empty partition list to the caller */
> -        ret =3D FFA_RET_OK;
>          goto out;
>      }
>
> +    /* Get the RX buffer to write the list of partitions */
>      ret =3D ffa_rx_acquire(d);
>      if ( ret !=3D FFA_RET_OK )
>          goto out;
>
>      dst_buf =3D ctx->rx;
> +    end_buf =3D ctx->rx + ctx->page_count * FFA_PAGE_SIZE;
>
> -    if ( !ffa_rx )
> +    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>      {
> -        ret =3D FFA_RET_DENIED;
> -        goto out_rx_release;
> -    }
> -
> -    spin_lock(&ffa_rx_buffer_lock);
> -
> -    ret =3D ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
> +        ret =3D ffa_get_sp_partinfo(uuid, &ffa_sp_count, dst_buf, end_bu=
f,
> +                                  dst_size);
>
> -    if ( ret )
> -        goto out_rx_hyp_unlock;
> +        if ( ret )
> +            goto out_rx_release;
>
> -    /*
> -     * ffa_partition_info_get() succeeded so we now own the RX buffer we
> -     * share with the SPMC. We must give it back using ffa_hyp_rx_releas=
e()
> -     * once we've copied the content.
> -     */
> -
> -    /* we cannot have a size smaller than 1.0 structure */
> -    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
> -    {
> -        ret =3D FFA_RET_NOT_SUPPORTED;
> -        goto out_rx_hyp_release;
> -    }
> -
> -    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
> -    {
> -        ret =3D FFA_RET_NO_MEMORY;
> -        goto out_rx_hyp_release;
> +        dst_buf +=3D ffa_sp_count * dst_size;
>      }
>
> -    if ( ffa_sp_count > 0 )
> -    {
> -        uint32_t n, n_limit =3D ffa_sp_count;
> -        void *src_buf =3D ffa_rx;
> -
> -        /* copy the secure partitions info */
> -        for ( n =3D 0; n < n_limit; n++ )
> -        {
> -            struct ffa_partition_info_1_1 *fpi =3D src_buf;
> -
> -            /* filter out SP not following bit 15 convention if any */
> -            if ( FFA_ID_IS_SECURE(fpi->id) )
> -            {
> -                memcpy(dst_buf, src_buf, dst_size);
> -                dst_buf +=3D dst_size;
> -            }
> -            else
> -                ffa_sp_count--;
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +        ret =3D ffa_get_vm_partinfo(&ffa_vm_count, dst_buf, end_buf, dst=
_size);
>
> -            src_buf +=3D src_size;
> -        }
> -    }
> -
> -out_rx_hyp_release:
> -    ffa_hyp_rx_release();
> -out_rx_hyp_unlock:
> -    spin_unlock(&ffa_rx_buffer_lock);
>  out_rx_release:
> -    /*
> -     * The calling VM RX buffer only contains data to be used by the VM =
if the
> -     * call was successful, in which case the VM has to release the buff=
er
> -     * once it has used the data.
> -     * If something went wrong during the call, we have to release the R=
X
> -     * buffer back to the SPMC as the VM will not do it.
> -     */
> -    if ( ret !=3D FFA_RET_OK )
> +    if ( ret )
>          ffa_rx_release(d);
>  out:
>      if ( ret )
>          ffa_set_regs_error(regs, ret);
>      else
> -        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
> +        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_size=
);
>  }
>
>  static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index c4cd65538908..bd6877d8c632 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -187,6 +187,18 @@
>   */
>  #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
>
> +/*
> + * Partition properties we give for a normal world VM:
> + * - can send direct message but not receive them
> + * - can handle indirect messages
> + * - can receive notifications
> + * 32/64 bit flag is set depending on the VM
> + */
> +#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
> +                             FFA_PART_PROP_INDIRECT_MSGS | \
> +                             FFA_PART_PROP_RECV_NOTIF | \
> +                             FFA_PART_PROP_IS_PE_ID)
> +
>  /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
>  #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
>  #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:30:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:30:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925298.1328167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twf4s-0000NN-2f; Mon, 24 Mar 2025 10:30:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925298.1328167; Mon, 24 Mar 2025 10:30: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 1twf4r-0000NG-W0; Mon, 24 Mar 2025 10:30:41 +0000
Received: by outflank-mailman (input) for mailman id 925298;
 Mon, 24 Mar 2025 10:30: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=J9GC=WL=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1twf4q-0000Jw-W2
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:30:41 +0000
Received: from mail-oa1-x34.google.com (mail-oa1-x34.google.com
 [2001:4860:4864:20::34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07a0f057-089b-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:30:39 +0100 (CET)
Received: by mail-oa1-x34.google.com with SMTP id
 586e51a60fabf-2c764f2c223so723585fac.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:30: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: 07a0f057-089b-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742812238; x=1743417038; 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=PnnuznTROqhNC6V5e6RJf/h2kLGr1cTf2YviI1hKph0=;
        b=Bf0ncP+vzx25Qr3PFuHmjR/hoZG58FayjxDYaWv+e01b1E4WDz7tFWF1oj+s0qBx1l
         Ogw8XNUwV/t+W+RV4fSsc3wyhP8usWT8u2G0DWS18EYUotjyqXW2YkUISMHEVg9XDH+r
         wL3GlZUXIxToTTnT6Q7S0y231H03yb5tKUT3rV3+SQLCwu1XZY2OXAe1mnrWH5xw/wax
         X+SNr16ef+s00w3kD7LVbsZ38Y8B7SbOsJzciQ77E4OdI6OUkMhzmY50WtsWpbjyUT/c
         fT6LEHE+6OsU9ceifeqa/+Nz5T1rDvZLDYkU7iTUTd02dOGdJ4P59dQfFDuoX3CZuVx8
         hEZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742812238; x=1743417038;
        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=PnnuznTROqhNC6V5e6RJf/h2kLGr1cTf2YviI1hKph0=;
        b=l8Dnd1Uab+f/MNMed+jXdfQ265DYhS3lm2gPo5sYDHN8eFAf/Ut9jD7m0nlZEfy4si
         MGSpKx4QVHHPjz/+6hWse5v4qCQWbV73gNQoG0d4n5Vg3kYPdJ8YersTbmt70J+1+EwE
         H+wBitAcg3eTCvRLpinucvYzuRlQzrZh8yTUtufMSUSPHMYt/45tswieIsrjLxQuv+60
         FhzSc0peqQ/kxfiDgvuMTUybi8JjrSzon5jPkL9MQnMSLLYQ6dD9oNgLihBL1xW3Yzos
         vJ/JH9MfbQzr20SXT7D9FbjGPJvV7LTmkKWQiRf8Mu2QYpmHZwtDm9hj9C2qrCyqh7Md
         2qBw==
X-Gm-Message-State: AOJu0YzruBp4NmBb4AcJLehHXEj0/6JUGGgKETYubjPUTaPSUR6Y+GZF
	aWpknrwEFt7NNZHwSjcfvEQxK8a9QjE9Y+wP+jmddR7C4VyxJcTuHdBc1BKHWqLP7XTtSKpJp+G
	iXr5g/soD5UG97RKSWWLYnJKLK1yjo+NHo42GXw==
X-Gm-Gg: ASbGncsmyUW/lO0fsWmbViSLxefE0iXrUoTRGloJouDiLMfTu/EdqsdJQvC7jucmh4y
	OxZGfqMbLVBa8sDGTnKFWH0tmBkmg1snWMNNVudzKPb3OP65TamwLPAClngWgl7gZgWpFYqeJbk
	uSz4bhNDUhyxqBy5occBQGGmQLnoMmnAKAv8qnNQ==
X-Google-Smtp-Source: AGHT+IEvd6n3SuFPL5Fk+iCkYpqjVJtmoWsUg3oiAtNlQX/pRBNNvAeUqe9V1Z9AnvwGNs5pTGNWailkGBS9cjDXFR4=
X-Received: by 2002:a05:6871:289e:b0:2c2:3d33:836f with SMTP id
 586e51a60fabf-2c78054ab10mr7745938fac.27.1742812238196; Mon, 24 Mar 2025
 03:30:38 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1742570590.git.bertrand.marquis@arm.com> <3aceccbc7d006b87bfe20a9a4f660eb831185dbb.1742570590.git.bertrand.marquis@arm.com>
In-Reply-To: <3aceccbc7d006b87bfe20a9a4f660eb831185dbb.1742570590.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 24 Mar 2025 11:30:25 +0100
X-Gm-Features: AQ5f1JrVWoeq8eW2rvmlUB6tYkDlJWzFFuRTsrUf7c7OfuGUHUsL5WLIz93xsbo
Message-ID: <CAHUa44FFuo4=UBd2tqips6sfEDd+C5e7i8RzG-cLQTt4gmhZag@mail.gmail.com>
Subject: Re: [PATCH v3 3/5] xen/arm: ffa: Add buffer full notification support
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 24, 2025 at 10:15=E2=80=AFAM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Add support to raise a Rx buffer full notification to a VM.
> This function will be used for indirect message support between VM and
> is only activated if CONFIG_FFA_VM_TO_VM is selected.
>
> Even if there are 32 framework notifications possible, right now only
> one is defined so the implementation is simplified to only handle the
> buffer full notification using a boolean. If other framework
> notifications have to be supported one day, the design will have to be
> modified to handle it properly.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v3:
> - introduce a vm_pending boolean to track if VM notifications are
>   pending and allow to decorelate pending secure notifications from
>   pending vm ones
> - remove ifdef around boolean entries for notifications and make use of
>   IS_ENABLED instead of ifdefs when possible
> - Fix notification number signaled to VMs for buffer full to use the
>   proper GUEST_FFA_NOTIF_PEND_INTR_ID instead of the identifier received
>   from the SPMC.
> - Move back into this patch ffa_private.h part which was wrongly in the
>   patch for indirect messages between VM
> Changes in v2:
> - Switch ifdef to IS_ENABLED when possible
> ---
>  xen/arch/arm/tee/ffa_notif.c   | 36 ++++++++++++++++++++++++++++------
>  xen/arch/arm/tee/ffa_private.h | 23 +++++++++++++++++++++-
>  2 files changed, 52 insertions(+), 7 deletions(-)

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

Cheers,
Jens

>
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> index 00efaf8f7353..f6df2f15bb00 100644
> --- a/xen/arch/arm/tee/ffa_notif.c
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -69,6 +69,7 @@ void ffa_handle_notification_info_get(struct cpu_user_r=
egs *regs)
>  {
>      struct domain *d =3D current->domain;
>      struct ffa_ctx *ctx =3D d->arch.tee;
> +    bool notif_pending;
>
>      if ( !notif_enabled )
>      {
> @@ -76,7 +77,11 @@ void ffa_handle_notification_info_get(struct cpu_user_=
regs *regs)
>          return;
>      }
>
> -    if ( test_and_clear_bool(ctx->notif.secure_pending) )
> +    notif_pending =3D test_and_clear_bool(ctx->notif.secure_pending);
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +        notif_pending |=3D test_and_clear_bool(ctx->notif.vm_pending);
> +
> +    if ( notif_pending )
>      {
>          /* A pending global notification for the guest */
>          ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> @@ -93,6 +98,7 @@ void ffa_handle_notification_info_get(struct cpu_user_r=
egs *regs)
>  void ffa_handle_notification_get(struct cpu_user_regs *regs)
>  {
>      struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
>      uint32_t recv =3D get_user_reg(regs, 1);
>      uint32_t flags =3D get_user_reg(regs, 2);
>      uint32_t w2 =3D 0;
> @@ -132,11 +138,7 @@ void ffa_handle_notification_get(struct cpu_user_reg=
s *regs)
>           */
>          if ( ( flags  & FFA_NOTIF_FLAG_BITMAP_SP ) &&
>               ( flags & FFA_NOTIF_FLAG_BITMAP_SPM ) )
> -        {
> -                struct ffa_ctx *ctx =3D d->arch.tee;
> -
> -                ACCESS_ONCE(ctx->notif.secure_pending) =3D false;
> -        }
> +            ACCESS_ONCE(ctx->notif.secure_pending) =3D false;
>
>          arm_smccc_1_2_smc(&arg, &resp);
>          e =3D ffa_get_ret_code(&resp);
> @@ -156,6 +158,14 @@ void ffa_handle_notification_get(struct cpu_user_reg=
s *regs)
>              w6 =3D resp.a6;
>      }
>
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) &&
> +          flags & FFA_NOTIF_FLAG_BITMAP_HYP &&
> +          test_and_clear_bool(ctx->notif.buff_full_pending) )
> +    {
> +        ACCESS_ONCE(ctx->notif.vm_pending) =3D false;
> +        w7 =3D FFA_NOTIF_RX_BUFFER_FULL;
> +    }
> +
>      ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
>  }
>
> @@ -178,6 +188,20 @@ int ffa_handle_notification_set(struct cpu_user_regs=
 *regs)
>                             bitmap_hi);
>  }
>
> +#ifdef CONFIG_FFA_VM_TO_VM
> +void ffa_raise_rx_buffer_full(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    if ( !ctx )
> +        return;
> +
> +    ACCESS_ONCE(ctx->notif.buff_full_pending) =3D true;
> +    if ( !test_and_set_bool(ctx->notif.vm_pending) )
> +        vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID, tru=
e);
> +}
> +#endif
> +
>  /*
>   * Extract a 16-bit ID (index n) from the successful return value from
>   * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index bd6877d8c632..878af2d76e0e 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -210,6 +210,8 @@
>  #define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
>  #define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
>
> +#define FFA_NOTIF_RX_BUFFER_FULL        BIT(0, U)
> +
>  /* Feature IDs used with FFA_FEATURES */
>  #define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
>  #define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
> @@ -295,9 +297,20 @@ struct ffa_mem_region {
>  struct ffa_ctx_notif {
>      /*
>       * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> -     * pending global notifications.
> +     * pending notifications from the secure world.
>       */
>      bool secure_pending;
> +
> +    /*
> +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> +     * pending notifications from VMs (including framework ones).
> +     */
> +    bool vm_pending;
> +
> +    /*
> +     * True if domain has buffer full notification pending
> +     */
> +    bool buff_full_pending;
>  };
>
>  struct ffa_ctx {
> @@ -369,6 +382,14 @@ void ffa_handle_notification_info_get(struct cpu_use=
r_regs *regs);
>  void ffa_handle_notification_get(struct cpu_user_regs *regs);
>  int ffa_handle_notification_set(struct cpu_user_regs *regs);
>
> +#ifdef CONFIG_FFA_VM_TO_VM
> +void ffa_raise_rx_buffer_full(struct domain *d);
> +#else
> +static inline void ffa_raise_rx_buffer_full(struct domain *d)
> +{
> +}
> +#endif
> +
>  void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t=
 fid);
>  int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs);
>
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:30:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:30:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925306.1328181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twf4w-0000j8-Cu; Mon, 24 Mar 2025 10:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925306.1328181; Mon, 24 Mar 2025 10:30: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 1twf4w-0000iu-7f; Mon, 24 Mar 2025 10:30:46 +0000
Received: by outflank-mailman (input) for mailman id 925306;
 Mon, 24 Mar 2025 10:30: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=XGTf=WL=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1twf4v-0000cl-Bf
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:30:45 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 072795e4-089b-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 11:30:38 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 00E54A0215;
 Mon, 24 Mar 2025 11:30:38 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id coyK-WkaRptV; Mon, 24 Mar 2025 11:30:37 +0100 (CET)
Received: from begin (nat-inria-interne-52-gw-01-bso.bordeaux.inria.fr
 [194.199.1.52])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id B94B3A01A9;
 Mon, 24 Mar 2025 11:30:37 +0100 (CET)
Received: from samy by begin with local (Exim 4.98)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1twf4n-0000000A8Du-29Je; Mon, 24 Mar 2025 11:30:37 +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: 072795e4-089b-11f0-9ffa-bf95429c2676
Date: Mon, 24 Mar 2025 11:30:37 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
Message-ID: <Z-E0TUu_LWkXt-wI@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com>
 <Z99PXOXocyuZtf_X@begin>
 <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
 <abce7ac0-21bd-409c-bc4c-f08d04a5a5d1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <abce7ac0-21bd-409c-bc4c-f08d04a5a5d1@suse.com>
Organization: I am not organized

Jan Beulich, le lun. 24 mars 2025 11:21:48 +0100, a ecrit:
> On 23.03.2025 15:57, JĂźrgen GroĂ wrote:
> > On 23.03.25 01:01, Samuel Thibault wrote:
> >> Juergen Gross, le ven. 21 mars 2025 10:31:44 +0100, a ecrit:
> >>> Add a file operations fstat hook to the 9pfs frontend.
> >>>
> >>> Signed-off-by: Juergen Gross <jgross@suse.com>
> >>> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> >>> ---
> >>> V2:
> >>> - or file access mode into st_mode (Jason Andryuk)
> >>> ---
> >>>   9pfront.c | 29 +++++++++++++++++++++++++++++
> >>>   1 file changed, 29 insertions(+)
> >>>
> >>> diff --git a/9pfront.c b/9pfront.c
> >>> index 1741d600..7257a07e 100644
> >>> --- a/9pfront.c
> >>> +++ b/9pfront.c
> >>> @@ -85,6 +85,8 @@ struct file_9pfs {
> >>>   
> >>>   #define P9_QID_SIZE    13
> >>>   
> >>> +#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
> >>> +
> >>>   struct p9_header {
> >>>       uint32_t size;
> >>>       uint8_t cmd;
> >>> @@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
> >>>       return ret;
> >>>   }
> >>>   
> >>> +static int fstat_9pfs(struct file *file, struct stat *buf)
> >>> +{
> >>> +    struct file_9pfs *f9pfs = file->filedata;
> >>> +    struct p9_stat stat;
> >>> +    int ret;
> >>> +
> >>> +    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
> >>> +    if ( ret )
> >>> +    {
> >>> +        errno = EIO;
> >>> +        return -1;
> >>> +    }
> >>> +
> >>> +    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
> >>> +    buf->st_mode |= stat.mode & 0777;
> >>> +    buf->st_atime = stat.atime;
> >>> +    buf->st_mtime = stat.mtime;
> >>
> >> Should we perhaps also fill st_ctime? Leaving it at 0 could surprise
> >> other software layers.
> > 
> > I can set it to the same value as st_mtime.
> 
> Maybe the smaller of atime and mtime?

That'd be better, yes.

Samuel


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:42:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:42:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925328.1328191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfFz-0004oi-Bb; Mon, 24 Mar 2025 10:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925328.1328191; Mon, 24 Mar 2025 10:42: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 1twfFz-0004ob-8I; Mon, 24 Mar 2025 10:42:11 +0000
Received: by outflank-mailman (input) for mailman id 925328;
 Mon, 24 Mar 2025 10: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=J9GC=WL=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1twfFy-0004oF-1n
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:42:10 +0000
Received: from mail-oa1-x29.google.com (mail-oa1-x29.google.com
 [2001:4860:4864:20::29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2417356-089c-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:42:08 +0100 (CET)
Received: by mail-oa1-x29.google.com with SMTP id
 586e51a60fabf-2adc2b6837eso1024079fac.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:42: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: a2417356-089c-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742812927; x=1743417727; 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=JQ4q4074r9N7N+KeWQsKsXNKevOL2lXKXzm6y2vP/P0=;
        b=tRUR4ZJkUzQ4Gn5eYu/eNx6cV2YQoQtxxl43jWL5xbLm4KToaD7qnaMKu8q0A1AT1Z
         KaQq14edKkd98F2ndpHZgTX+x0JFuMTw7IGM/z/as/J6AblbVKiHg4TbrcVDtRHGx9iA
         xX0IeE1DDeTJGg0BDvb5+rf3HfCXoYxfGHctFQvIHLbsEHZj7vktl4vsM0KLhKmgMlMo
         wE6f/cFC/MyApgq5C3Fho0VCp1nB7ahXmaH5CbtGRy8FEzzQX4JVY5WepWRu5YUbEM+F
         j1v/tEkQDAvO/BdLX4LGHSCHeVNtp+iXT1etGEcjv1WXfEsROlNvKjYv1IJLLUXXEtLB
         sobA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742812927; x=1743417727;
        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=JQ4q4074r9N7N+KeWQsKsXNKevOL2lXKXzm6y2vP/P0=;
        b=ll3i+CWDDnUXzjETZi4EEYSWc8CWxPY/eIlr2b/W8+VN5w5vylaP7OXblm+YBmMtBf
         UCunHB19Za87widJd2cEgXB6InYa82lvGvy9wtLCe4fuH+U0GSDnEXTRzIoj4WQLpHJo
         Z4BdN1R5CCvc7uOo4wMu9Jy8jVpuZYW/b9vLgmWp7ZjRBhxkixQ/7U6wO2Vb4NhlHCSj
         J0AvOhIDBlAxNRllRdkz8h4pTM6Pa64B+mzTGlRWyYJJhq0OccICKei1N76kAxEbVubd
         vfTLm/uX7s53f9j3wSa6SUyuFA8OKvMKuWZhBrs0UNSjPIrc88AdppECDzsNfx3N1kXH
         n7vg==
X-Gm-Message-State: AOJu0Yw9+tOMPmEhGecOhB2+UrZNbSWjPa11WewyDvuWoR8reRHKjSTB
	0tFtbkaianz+N4WnxVXLW4uz3++dtRoSjS9ACSdpM8D6N9SdWQLI+pN5Pr2BBdlkoqnadJLymTs
	VMvzSFNpnagRwJAjwGpuasB4qo7kzrbGOtbeUrA==
X-Gm-Gg: ASbGncs2OP0YxW2TciCWkNd405jg2MHONIymYQ09ikhOVMFm+K3B2aQCwkm2aRNVoIP
	m2wpRtWrhBVWwZQkPCZPuv6B61pGUARfSDUe1dPwBchK++geZ8k4XVFWvLdsFMbUc/KFyPUpAHn
	Aa8Mgcsex84z8ZO+Xm0uRb+RGgTDDLBkHeWZqUUw==
X-Google-Smtp-Source: AGHT+IGq37XpymwLFZDWfPjMYnvCWZqGHdYymyvqDOBzjfZDF3qjZCVy7W7UQW+Y4izca4q5VplrtRn459nywITLPCs=
X-Received: by 2002:a05:6871:7a14:b0:2c2:174b:c82a with SMTP id
 586e51a60fabf-2c78026eab8mr8231638fac.6.1742812922282; Mon, 24 Mar 2025
 03:42:02 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1742570590.git.bertrand.marquis@arm.com> <4a9867855093453eaad4f548df8e92162176eed9.1742570590.git.bertrand.marquis@arm.com>
In-Reply-To: <4a9867855093453eaad4f548df8e92162176eed9.1742570590.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 24 Mar 2025 11:41:50 +0100
X-Gm-Features: AQ5f1Jq2HrKwiU3HqA4SPYqRAEmQtOl3In0da61hlm6twNaGtyMZiFoh542QHQI
Message-ID: <CAHUa44HZ6rDL3t3p+SwJLencKLks5XfV6krHnKohL7owzaMBUw@mail.gmail.com>
Subject: Re: [PATCH v3 4/5] xen/arm: ffa: Add indirect message between VM
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 24, 2025 at 10:15=E2=80=AFAM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Add support for indirect messages between VMs.
> This is only enabled if CONFIG_FFA_VM_TO_VM is selected.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v3:
> - Move vm to vm indirect message handling in a sub function to simplify
>   lock handling and make implementation easier to read
> Changes in v2:
> - Switch ifdef to IS_ENABLED
> ---
>  xen/arch/arm/tee/ffa_msg.c | 96 ++++++++++++++++++++++++++++++++++----
>  1 file changed, 88 insertions(+), 8 deletions(-)
>
> diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
> index ee594e737fc7..c21083b5e68f 100644
> --- a/xen/arch/arm/tee/ffa_msg.c
> +++ b/xen/arch/arm/tee/ffa_msg.c
> @@ -88,6 +88,72 @@ out:
>                   resp.a7 & mask);
>  }
>
> +static int32_t ffa_msg_send2_vm(uint16_t dst_id,
> +                                const struct ffa_part_msg_rxtx *src_msg)
> +{
> +    struct domain *dst_d;
> +    struct ffa_ctx *dst_ctx;
> +    struct ffa_part_msg_rxtx *dst_msg;
> +    int err;
> +    int32_t ret;
> +
> +    if ( dst_id =3D=3D 0 )
> +        /* FF-A ID 0 is the hypervisor, this is not valid */
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /* This is also checking that dest is not src */
> +    err =3D rcu_lock_live_remote_domain_by_id(dst_id - 1, &dst_d);
> +    if ( err )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    if ( dst_d->arch.tee =3D=3D NULL )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out_unlock;
> +    }
> +
> +    dst_ctx =3D dst_d->arch.tee;
> +    if ( !dst_ctx->guest_vers )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out_unlock;
> +    }
> +
> +    /* we need to have enough space in the destination buffer */
> +    if ( dst_ctx->page_count * FFA_PAGE_SIZE <
> +            (sizeof(struct ffa_part_msg_rxtx) + src_msg->msg_size) )
> +    {
> +        ret =3D FFA_RET_NO_MEMORY;
> +        goto out_unlock;
> +    }
> +
> +    /* This also checks that destination has set a Rx buffer */
> +    ret =3D ffa_rx_acquire(dst_d);
> +    if ( ret )
> +        goto out_unlock;
> +
> +    dst_msg =3D dst_ctx->rx;
> +
> +    /* prepare destination header */
> +    dst_msg->flags =3D 0;
> +    dst_msg->reserved =3D 0;
> +    dst_msg->msg_offset =3D sizeof(struct ffa_part_msg_rxtx);
> +    dst_msg->send_recv_id =3D src_msg->send_recv_id;
> +    dst_msg->msg_size =3D src_msg->msg_size;
> +
> +    memcpy(dst_ctx->rx + sizeof(struct ffa_part_msg_rxtx),
> +           ((void *)src_msg) + src_msg->msg_offset, src_msg->msg_size);

Is it possible for another core in the VM to modify
src_msg->msg_offset or src_msg->msg_size after we check them but
before we use them here (TOC/TOU)?

Cheers,
Jens

> +
> +    /* receiver rx buffer will be released by the receiver*/
> +
> +out_unlock:
> +    rcu_unlock_domain(dst_d);
> +    if ( !ret )
> +        ffa_raise_rx_buffer_full(dst_d);
> +
> +    return ret;
> +}
> +
>  int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
>  {
>      struct domain *src_d =3D current->domain;
> @@ -96,9 +162,6 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *reg=
s)
>      uint16_t dst_id, src_id;
>      int32_t ret;
>
> -    if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( !spin_trylock(&src_ctx->tx_lock) )
>          return FFA_RET_BUSY;
>
> @@ -106,10 +169,10 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *=
regs)
>      src_id =3D src_msg->send_recv_id >> 16;
>      dst_id =3D src_msg->send_recv_id & GENMASK(15,0);
>
> -    if ( src_id !=3D ffa_get_vm_id(src_d) || !FFA_ID_IS_SECURE(dst_id) )
> +    if ( src_id !=3D ffa_get_vm_id(src_d) )
>      {
>          ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out_unlock_tx;
> +        goto out;
>      }
>
>      /* check source message fits in buffer */
> @@ -118,13 +181,30 @@ int32_t ffa_handle_msg_send2(struct cpu_user_regs *=
regs)
>           src_msg->msg_offset < sizeof(struct ffa_part_msg_rxtx) )
>      {
>          ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out_unlock_tx;
> +        goto out;
>      }
>
> -    ret =3D ffa_simple_call(FFA_MSG_SEND2,
> +    if ( FFA_ID_IS_SECURE(dst_id) )
> +    {
> +        /* Message for a secure partition */
> +        if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
> +        {
> +            ret =3D FFA_RET_NOT_SUPPORTED;
> +            goto out;
> +        }
> +
> +        ret =3D ffa_simple_call(FFA_MSG_SEND2,
>                            ((uint32_t)ffa_get_vm_id(src_d)) << 16, 0, 0, =
0);
> +    }
> +    else if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        /* Message for a VM */
> +        ret =3D ffa_msg_send2_vm(dst_id, src_msg);
> +    }
> +    else
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
>
> -out_unlock_tx:
> +out:
>      spin_unlock(&src_ctx->tx_lock);
>      return ret;
>  }
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 10:48:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 10:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925337.1328200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfLv-0005PO-TK; Mon, 24 Mar 2025 10:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925337.1328200; Mon, 24 Mar 2025 10:48: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 1twfLv-0005PH-Qb; Mon, 24 Mar 2025 10:48:19 +0000
Received: by outflank-mailman (input) for mailman id 925337;
 Mon, 24 Mar 2025 10: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=J9GC=WL=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1twfLt-0005P7-Vo
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 10:48:18 +0000
Received: from mail-oa1-x32.google.com (mail-oa1-x32.google.com
 [2001:4860:4864:20::32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d8538ce-089d-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 11:48:16 +0100 (CET)
Received: by mail-oa1-x32.google.com with SMTP id
 586e51a60fabf-2c7e5fb8c38so403564fac.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 03:48: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: 7d8538ce-089d-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742813295; x=1743418095; 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=7Nic27HkApsR1bpwTj6NURV/f9UK6s5voPUyXu0IfHg=;
        b=sbLNe9w9sWaCy105ZklFmo7XLvMbL2AMXIr8m5h+5oHPmGui4oYlNv+OQYTojZ+HM7
         874dWQ5vOQAHJPqgvtdSinHq0u+yYWzIXvGbj9ivx1687h5JTbdV0BgB6N8Bi3bb3Ddy
         i/hdsQUvotWSk7ofeJhbEcWq2iWDY0Ksz4m65QXp1CQig3iup0at63mTSN+cJNPrO71V
         4TkrBZRAG3BsMFWAlQhlMt+TBRidz1cPztmIr5YOMZBSpCtnHiXd7jmW1RjD/hecBEVX
         v2BHni1T9Z+fUjy+1WqKZcT0nqj+w1cwWPEbz5mKW9FmJ243+FMzC9Y2kOMpZMx5K5bq
         MSGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742813295; x=1743418095;
        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=7Nic27HkApsR1bpwTj6NURV/f9UK6s5voPUyXu0IfHg=;
        b=nP5Tg4GPkdynNJxkXWebekbFI+FcvkQLB/dyuyfEk45r9hTwnoeuSeCAMHf/JedsV/
         0qHEn0c7BvimFjhXqeLyyHs6nfrFBHihqjAV5y8pWifSksYMaDf1eoLcgCvOaGyKWQx/
         JRXwOKtjI8yWSI+8KD6pNlPgacDyceBnIforgIcnc+qlJivK4hJnOjfbMJoKzRZPsmRw
         a4nr2wzaExp7thMHB0l8eI7BUSNRLQtUtZODOkjYznXie29GASoTI1f0GDC8edyGKC2o
         gaEnBKm+dFGAQrxgN5NEthTVk3fhGHlD8nZ1GxtXZGTGO6iKuTOkAcvdUBP7O+5w2zvF
         j/4A==
X-Gm-Message-State: AOJu0Ywuf+oJ0QJcfRmJLeEJZphWOqWpakD1nSFCsH5gCV+thfeKp1/y
	x+1PvQ2P4TTqA3hPHCq/zqYvfLuE8210mQDm2OV/ewo5pMZUvx1yftuYEIDMSdMwJLp6Pb5kH1U
	405ZhCgUb9S6XLjSSgPUF7gtZuDuzss9KckfzjQ==
X-Gm-Gg: ASbGncuxQkETXe8rlgWu+NN7TOwaMs7WvM04r/NVdcCk8jYEqXuY/q73jEOx7H6/1gP
	rRTu4QZhY1PKJyvTx6B/R3VXzyPi+kWz4ueznY4gUJW0FIL8XxYSQ/K1HOZbr+TsA9KXgcQi308
	0NR1Kxeqt5fcBFDLIZq7LBfyLwdCo=
X-Google-Smtp-Source: AGHT+IGWcjvODchrsi2yQ8GtYmtznraSNAizuKFt6+gaIgfWeMuvAwS835IZK/WEJ/OdJJDZPbnpmJLLqtUcBMiua/E=
X-Received: by 2002:a05:6870:1d11:b0:2b7:bd7f:f4d6 with SMTP id
 586e51a60fabf-2c78051611amr7581228fac.37.1742813294943; Mon, 24 Mar 2025
 03:48:14 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1742570590.git.bertrand.marquis@arm.com> <f3886649f23845932dd322eb45ad8f980e53ded1.1742570590.git.bertrand.marquis@arm.com>
In-Reply-To: <f3886649f23845932dd322eb45ad8f980e53ded1.1742570590.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 24 Mar 2025 11:48:02 +0100
X-Gm-Features: AQ5f1Jo_kegjotNITD8a8jD1Jq6b_UMVRU55mdcu-2Ilr4BG4zYFTpZ5NU2yvt0
Message-ID: <CAHUa44GPniTZxtaUU3WeL_oU+oGYoz0nTBA=1QaE0Py=+bZQ8A@mail.gmail.com>
Subject: Re: [PATCH v3 5/5] xen/arm: ffa: Enable VM to VM without firmware
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 24, 2025 at 10:15=E2=80=AFAM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> When VM to VM support is activated and there is no suitable FF-A support
> in the firmware, enable FF-A support for VMs to allow using it for VM to
> VM communications.
> If there is OP-TEE running in the secure world and using the non FF-A
> communication system, having CONFIG_FFA_VM_TO_VM could be non functional
> (if optee is probed first) or Optee could be non functional (if FF-A is

Prefer OP-TEE

> probed first) so it is not recommended to activate the configuration
> option for such systems.
>
> To make buffer full notification work between VMs when there is no
> firmware, rework the notification handling and modify the global flag to
> only be used as check for firmware notification support instead.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v3:
> - fix typos in commit message
> - add spaces around <<
> - move notification id fix back into buffer full patch
> - fix | position in if
> Changes in v2:
> - replace ifdef with IS_ENABLED when possible
> ---
>  xen/arch/arm/tee/ffa.c       |  12 +++-
>  xen/arch/arm/tee/ffa_notif.c | 104 ++++++++++++++++-------------------
>  2 files changed, 59 insertions(+), 57 deletions(-)

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

Cheers,
Jens

>
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index e41ab5f8ada6..0627625efe60 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -324,8 +324,9 @@ static int ffa_domain_init(struct domain *d)
>      struct ffa_ctx *ctx;
>      int ret;
>
> -    if ( !ffa_fw_version )
> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !ffa_fw_version )
>          return -ENODEV;
> +
>      /*
>       * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A ID =
0 is
>       * reserved for the hypervisor and we only support secure endpoints =
using
> @@ -561,6 +562,15 @@ err_no_fw:
>      bitmap_zero(ffa_fw_abi_supported, FFA_ABI_BITMAP_SIZE);
>      printk(XENLOG_WARNING "ARM FF-A No firmware support\n");
>
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        INIT_LIST_HEAD(&ffa_teardown_head);
> +        init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NUL=
L, 0);
> +
> +        printk(XENLOG_INFO "ARM FF-A only available between VMs\n");
> +        return true;
> +    }
> +
>      return false;
>  }
>
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> index f6df2f15bb00..86bef6b3b2ab 100644
> --- a/xen/arch/arm/tee/ffa_notif.c
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -16,7 +16,7 @@
>
>  #include "ffa_private.h"
>
> -static bool __ro_after_init notif_enabled;
> +static bool __ro_after_init fw_notif_enabled;
>  static unsigned int __ro_after_init notif_sri_irq;
>
>  int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> @@ -27,21 +27,17 @@ int ffa_handle_notification_bind(struct cpu_user_regs=
 *regs)
>      uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>      uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>
> -    if ( !notif_enabled )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
>          return FFA_RET_INVALID_PARAMETERS;
>
>      if ( flags )    /* Only global notifications are supported */
>          return FFA_RET_DENIED;
>
> -    /*
> -     * We only support notifications from SP so no need to check the sen=
der
> -     * endpoint ID, the SPMC will take care of that for us.
> -     */
> -    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap=
_lo,
> -                           bitmap_hi);
> +    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
> +        return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags,
> +                               bitmap_lo, bitmap_hi);
> +
> +    return FFA_RET_NOT_SUPPORTED;
>  }
>
>  int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> @@ -51,18 +47,14 @@ int ffa_handle_notification_unbind(struct cpu_user_re=
gs *regs)
>      uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>      uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>
> -    if ( !notif_enabled )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
>          return FFA_RET_INVALID_PARAMETERS;
>
> -    /*
> -     * We only support notifications from SP so no need to check the
> -     * destination endpoint ID, the SPMC will take care of that for us.
> -     */
> -    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_=
lo,
> -                            bitmap_hi);
> +    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
> +        return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bit=
map_lo,
> +                                bitmap_hi);
> +
> +    return FFA_RET_NOT_SUPPORTED;
>  }
>
>  void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> @@ -71,7 +63,7 @@ void ffa_handle_notification_info_get(struct cpu_user_r=
egs *regs)
>      struct ffa_ctx *ctx =3D d->arch.tee;
>      bool notif_pending;
>
> -    if ( !notif_enabled )
> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
>      {
>          ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>          return;
> @@ -108,7 +100,7 @@ void ffa_handle_notification_get(struct cpu_user_regs=
 *regs)
>      uint32_t w6 =3D 0;
>      uint32_t w7 =3D 0;
>
> -    if ( !notif_enabled )
> +    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
>      {
>          ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>          return;
> @@ -120,7 +112,8 @@ void ffa_handle_notification_get(struct cpu_user_regs=
 *regs)
>          return;
>      }
>
> -    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM =
) )
> +    if ( fw_notif_enabled && (flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
> +                                        FFA_NOTIF_FLAG_BITMAP_SPM )) )
>      {
>          struct arm_smccc_1_2_regs arg =3D {
>              .a0 =3D FFA_NOTIFICATION_GET,
> @@ -177,15 +170,14 @@ int ffa_handle_notification_set(struct cpu_user_reg=
s *regs)
>      uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>      uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>
> -    if ( !notif_enabled )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
>          return FFA_RET_INVALID_PARAMETERS;
>
> -    /* Let the SPMC check the destination of the notification */
> -    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_=
lo,
> -                           bitmap_hi);
> +    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
> +        return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bit=
map_lo,
> +                               bitmap_hi);
> +
> +    return FFA_RET_NOT_SUPPORTED;
>  }
>
>  #ifdef CONFIG_FFA_VM_TO_VM
> @@ -371,7 +363,7 @@ void ffa_notif_init_interrupt(void)
>  {
>      int ret;
>
> -    if ( notif_enabled && notif_sri_irq < NR_GIC_SGI )
> +    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
>      {
>          /*
>           * An error here is unlikely since the primary CPU has already
> @@ -402,41 +394,41 @@ void ffa_notif_init(void)
>      int ret;
>
>      /* Only enable fw notification if all ABIs we need are supported */
> -    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> -           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> -           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> -           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
> -        return;
> -
> -    arm_smccc_1_2_smc(&arg, &resp);
> -    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> -        return;
> -
> -    irq =3D resp.a2;
> -    notif_sri_irq =3D irq;
> -    if ( irq >=3D NR_GIC_SGI )
> -        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> -    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
> -    if ( ret )
> +    if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> +         ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> +         ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> +         ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64) )
>      {
> -        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
> -               irq, ret);
> -        return;
> -    }
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        if ( resp.a0 !=3D FFA_SUCCESS_32 )
> +            return;
>
> -    notif_enabled =3D true;
> +        irq =3D resp.a2;
> +        notif_sri_irq =3D irq;
> +        if ( irq >=3D NR_GIC_SGI )
> +            irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> +        ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NUL=
L);
> +        if ( ret )
> +        {
> +            printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\=
n",
> +                   irq, ret);
> +            return;
> +        }
> +        fw_notif_enabled =3D true;
> +    }
>  }
>
>  int ffa_notif_domain_init(struct domain *d)
>  {
>      int32_t res;
>
> -    if ( !notif_enabled )
> -        return 0;
> +    if ( fw_notif_enabled )
> +    {
>
> -    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpu=
s);
> -    if ( res )
> -        return -ENOMEM;
> +        res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_=
vcpus);
> +        if ( res )
> +            return -ENOMEM;
> +    }
>
>      return 0;
>  }
> @@ -447,6 +439,6 @@ void ffa_notif_domain_destroy(struct domain *d)
>       * Call bitmap_destroy even if bitmap create failed as the SPMC will
>       * return a DENIED error that we will ignore.
>       */
> -    if ( notif_enabled )
> +    if ( fw_notif_enabled )
>          ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
>  }
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 11:00:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 11:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925349.1328212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfXf-0000fT-2s; Mon, 24 Mar 2025 11:00:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925349.1328212; Mon, 24 Mar 2025 11:00:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfXe-0000fM-Ub; Mon, 24 Mar 2025 11:00:26 +0000
Received: by outflank-mailman (input) for mailman id 925349;
 Mon, 24 Mar 2025 11:00: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=g89S=WL=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1twfXe-0000fG-0D
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 11:00:26 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30027b1c-089f-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 12:00:24 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-549967c72bcso4976854e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 04:00: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: 30027b1c-089f-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742814024; x=1743418824; 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=gQcF2vHVnM0PyuipsWnc8UCgridVdo/qqWI6XlBnT+c=;
        b=azUt0B5unbuReCWVaEvMS0u4Dgf6tGodxt3SKkbTdrVbv9uQCODRM0+3tFsvOXnE6K
         /vaXxTUd3p+mQjfc5nM0dFWHl8t6MLppLIteJCF3ITv+PZxaRWNTiLo1hQIelq+KxUrh
         q63O3LqNZY190HGXOUAsAq2SsCVKYanOH4X1dyI9e98uhTwj5/Fip3oqUOCI/k9WKRfA
         oeY8EixJePuM78sPMKNxNUwdb+aEtNCFeKFlHRaheFK0P0Gl2jhPFf5s0ORQ2Jrl0CYL
         49bKHxR5EI/0uXJCxIBWjAOA2qbaIOGTPvdmRslxwLC4rz/gMp2wgPVOGzMXhayCOVOB
         PsSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742814024; x=1743418824;
        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=gQcF2vHVnM0PyuipsWnc8UCgridVdo/qqWI6XlBnT+c=;
        b=bWdU40+dFNL0gr2pbOh82eRbpRvVtXi3YZSsOVYYlJ+FEPCMWu4toszDSkjNvfGdi6
         jCE8w34VDPjmqrIbLUBs99pH1zxlG0KeIovdcYWnrergcghuuhpU6owsh50Nnxc5Pooe
         OiNZdnKa46x1qL/wjO6hL88na9unq29Xlf+Sl9ZHh0g4W7iIAbYNaobGN/Nt+El9RubH
         xrSkIvpKXCxAeDqF4IJABctAh1Kfi7Qo/liFnZGBcx5zZTAItG11zc8PH6mV6qsccxvH
         mx/mFAEDDBJXgaQk+5IRBkRzMhDjoNSmKzXaLhShZmaCDSznm/IvTNA3TAjTgNSgvU0B
         clmg==
X-Forwarded-Encrypted: i=1; AJvYcCUjvnrohwTRdElkKf+acZngW/sYvqyPUhoXOk3NYZtGDowZebigUmwMc5gYji0vD8688ITVVEegLXw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAm8K53NVBpnlA/hTBGT4QVOs6tFnqOPLYPFb/OwSRcsMF+mE4
	4Gk6DKLuFzR/7quv3dFjHMibLpMAvqmA4lXK20AMfFIvi7+QwIhLakNdB5xxgc3ppKfTIDYSXER
	KWBdLU3vg0lxO0vSWpNnmM/O5eqo=
X-Gm-Gg: ASbGncvlltq+9YqrEBouVrHAcB0RUb1xoiTDMDvL1IoJrTHwSB4mOW0DgUEVUZhFvgc
	0IpAHDCp2xLayPPeKpI4mPZlLjL5WT8KfUy7DsstqEaeQ5R3nesYSfbkG/19GdNtwqK/bhZCrc1
	7sxbeYOWE7MLYkQYDjP91AlLgWaw==
X-Google-Smtp-Source: AGHT+IFgaMS1lKiOLZTsAxU6Ga0d4BBGszAAFHmHOdvAHfkQxEJ6ktZBs73Adl9NsjF2XIbgnlKGnsbydGB0B3hq9bA=
X-Received: by 2002:a05:6512:239e:b0:545:d27:e367 with SMTP id
 2adb3069b0e04-54ad64f82e1mr3785816e87.42.1742814023808; Mon, 24 Mar 2025
 04:00:23 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1741164138.git.xakep.amatop@gmail.com> <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
 <428f538a-0761-4d06-9c4f-ba74cf441b0d@suse.com> <CAGeoDV9Tgd1MhVutbKhWRJkMMMix5yFVRcA6vX=fP=fzqFdV1w@mail.gmail.com>
 <da301d1e-a6c7-49e1-be57-db844915ef09@suse.com>
In-Reply-To: <da301d1e-a6c7-49e1-be57-db844915ef09@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Mon, 24 Mar 2025 13:00:12 +0200
X-Gm-Features: AQ5f1JqkSdh80bdn7QRoNIKSWc1YhPP6A9I77U3LWdYRMbOWdNQ7oPpZUjGsUD4
Message-ID: <CAGeoDV-2cHiLSXSZLd+Fz7G+Fw6N9Uh5u9v3Emb1ZT8U_1pdxQ@mail.gmail.com>
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
To: Jan Beulich <jbeulich@suse.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Dario Faggioli <dfaggioli@suse.com>, 
	Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.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>, 
	Stefano Stabellini <sstabellini@kernel.org>, Mirela Simonovic <mirela.simonovic@aggios.com>, 
	Saeed Nowshadi <saeed.nowshadi@xilinx.com>, Mykyta Poturai <mykyta_poturai@epam.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 21, 2025 at 4:04=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 21.03.2025 10:50, Mykola Kvach wrote:
> > On Thu, Mar 13, 2025 at 5:34=E2=80=AFPM Jan Beulich <jbeulich@suse.com>=
 wrote:
> >> On 05.03.2025 10:11, Mykola Kvach wrote:
> >>> +void watchdog_domain_resume(struct domain *d)
> >>> +{
> >>> +    unsigned int i;
> >>> +
> >>> +    spin_lock(&d->watchdog_lock);
> >>> +
> >>> +    for ( i =3D 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
> >>> +    {
> >>> +        if ( test_bit(i, &d->watchdog_inuse_map) )
> >>> +        {
> >>> +            set_timer(&d->watchdog_timer[i].timer,
> >>> +                      NOW() + SECONDS(d->watchdog_timer[i].timeout))=
;
> >>
> >> The timeout may have almost expired before suspending; restoring to th=
e
> >> full original period feels wrong. At the very least, if that's indeed
> >> intended behavior, imo this needs spelling out explicitly.
> >
> > It takes some time to wake up the domain, but the watchdog timeout is
> > reset by a userspace daemon. As a result, we can easily encounter a
> > watchdog trigger during the  resume process.
>
> Which may mean the restoring is done too early, or needs doing in two
> phases.
>
> > It looks like we should
> > stop the watchdog timer from the guest, and in that case, we can drop
> > all changes related to the watchdog in this patch series.
>
> Except that then you require a guest to be aware of host suspend. Which
> may not be desirable.

I think this is not a problem; at least, I don't see how the guest
could be aware of the host suspend.

For now, we have three cases:

1) The guest is suspended (actually paused) because the system
suspends, and we pause all non-hardware domains.
2) The guest is suspended via the `xl` tool (x86 only, at least for now).
3) The guest requests S2R via `echo mem > /sys/power/state` or
`systemctl suspend`.

Let's review all these cases:

1) There is no action required here; it should be handled correctly by
domain pause. However, I think it is not handled properly right
now=E2=80=94but that is not an issue with the current patch series.
2) There are potential problems here. We should either notify the
domain that it will be suspended (which is hard to implement and the
guest will be aware of the host suspending) or suspend watchdog
directly during the execution of `xl` commands (more preferable).
3) As far as I know, if `watchdogd` is running, we can simply add an
action to it on suspend/resume events (need to review not Linux kernel
cases). In the case of the Linux kernel driver, it already handles
suspending/resuming the Xen watchdog correctly.

So, if I am not mistaken, we can drop all patches related to watchdog
suspend in Xen until `xl suspend/resume` for ARM64 is implemented. For
other cases, we should handle suspend/resume of the watchdog via the
`watchdogd` service.

Note: As far as I know, only the control domain has `watchdogd`
(though we could potentially set it up for other domains). DomUs can
only use the Xen watchdog Linux kernel driver.

>
> Jan

~Mykola


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 11:13:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 11:13:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925358.1328221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfkG-0004Rg-4L; Mon, 24 Mar 2025 11:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925358.1328221; Mon, 24 Mar 2025 11:13: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 1twfkG-0004RZ-1f; Mon, 24 Mar 2025 11:13:28 +0000
Received: by outflank-mailman (input) for mailman id 925358;
 Mon, 24 Mar 2025 11:13: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twfkF-0004RT-9u
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 11:13:27 +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 00ecd397-08a1-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 12:13:24 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso27653825e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 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
 ffacd0b85a97d-3997f9b260fsm10484684f8f.43.2025.03.24.04.13.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 04:13: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: 00ecd397-08a1-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742814804; x=1743419604; 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=NZDS24/aSeOVFEIRPeJ/rQUQ4NsPW0uilj/68iYsb4E=;
        b=aQOi/prZBKt5LyMNrznyIWhCWzttNt4o39dU/UGpV0xhIOZZ5toU+1aqm/4Kgc0Qob
         VT0oyU6LgvyilZ80n42cMoBmly10GV9Vf4oKUage71/e5rahsq5CB3E5cvQa44MdSQ/O
         Me+IKSav/AX0o2nD7diVHGk576Efxect0BgqeLyvOZXplzh1IwknYlmdHCOcIL4hKFD9
         jgiUn4MdP8rP+x+7S0SiO5gYgoyQilYV+pkNRcbc9Cifs0sYaq1N00csD0dU4HROC5wJ
         +nCcrNzPt8jRZe1xqNYGO3LWCOqTpWR1P+enFGuEw55imJuCJ+zu+LiF2i6CX1vUKeE/
         t3SA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742814804; x=1743419604;
        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=NZDS24/aSeOVFEIRPeJ/rQUQ4NsPW0uilj/68iYsb4E=;
        b=JrvGYWDBZxpODz5W1MJXEbPKkaQw0MnSCHRgpoSmSNQHxP/tNA6ip1rxkut9m+w7yU
         AQabCOJfKOyS50HSmL9d640IF7bGmWljWeI8KMxSX84N7u4X8gJpxIa4oFZSJOFJtaI2
         n9hTIHNTy0JbaArflobrcHK92keNiOSBt7ah1B/8YjoYk/8i7j10XUX8IqOBX+pI7deT
         DL/rayn8mdeItGUq3V04UL0Y2tvdyfzLHcpgw7IDGh1dp5KYpCeMX4n0AdIbi0yryEDO
         PyDHOHLzpNiV7q+HcchOvYpyIbo3krLnKBUjD5NwUPkjRwal4hhczaRry5RZept2sHh+
         VsTw==
X-Forwarded-Encrypted: i=1; AJvYcCWQANS3HMv0rG7TKMDv8QQWRgylC9hDfZASxH0obrli3tqPPdsQlUlSZwqPi587f3E3RnigoFiNVTI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxx0bRNLPKjpvCKNttr+yfmvefILFSzGdgXE7px5LCk/ib5u/K5
	h6k6Ax9YeMJ2wwosg98jQ72RkXKgA8262E20sTQWr3Il6QHHuzKRG9+Lpc6d0A==
X-Gm-Gg: ASbGncuVv92VnGkgMMASEqGPKQPCjaU4Cu49Sd/x9ECd5e2Ng395eGDXctxyCL/aeya
	aMNnpGNdNi4F3NkqoRysP1gU0ACxQctUjGtIks4FbOPjPVDKAIN6VTKPp4lEjstI33SZ3mmti1P
	Bo6uHSm+We7XgS/8Zp0kUirjFWo5mIofAzJ1pYnCvKsYcd0FWvv2ubF37Dt0m6NcRg5MYuitK+b
	EpCR/zf9i5hybX5I79tb2zAk3IHD2lgLUqN5pAb20aVaJNIPXv9RqMdSrif5TQ1TT7WH4TJjFF1
	bU98ZdDrTpemPNNYml05r+S9ZRUyTG/Nl2SrC9ekKh9R8tBQH28BFo2Xxq2OP1baGVRkyNHmpdP
	yfsQrw1FD7pHtAQzKLQscPooJOjENNA==
X-Google-Smtp-Source: AGHT+IHICZAAFIBJIUp23U8erl9kMgKQUGN9DEfE1pCiJazCerX/UmMmWmiD0pffm825M1UID00e/Q==
X-Received: by 2002:a05:600c:1d9f:b0:43d:47e:3205 with SMTP id 5b1f17b1804b1-43d509ec4b1mr135132575e9.11.1742814804293;
        Mon, 24 Mar 2025 04:13:24 -0700 (PDT)
Message-ID: <d7954b37-d97f-444b-ba9f-4a3425b5ad4a@suse.com>
Date: Mon, 24 Mar 2025 12:13:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/16] xen/arm: add watchdog domain suspend/resume helpers
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Dario Faggioli
 <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Mirela Simonovic <mirela.simonovic@aggios.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>,
 Mykyta Poturai <mykyta_poturai@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1741164138.git.xakep.amatop@gmail.com>
 <15604985aae5333670467a84cccbaaa403a10000.1741164138.git.xakep.amatop@gmail.com>
 <428f538a-0761-4d06-9c4f-ba74cf441b0d@suse.com>
 <CAGeoDV9Tgd1MhVutbKhWRJkMMMix5yFVRcA6vX=fP=fzqFdV1w@mail.gmail.com>
 <da301d1e-a6c7-49e1-be57-db844915ef09@suse.com>
 <CAGeoDV-2cHiLSXSZLd+Fz7G+Fw6N9Uh5u9v3Emb1ZT8U_1pdxQ@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: <CAGeoDV-2cHiLSXSZLd+Fz7G+Fw6N9Uh5u9v3Emb1ZT8U_1pdxQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.03.2025 12:00, Mykola Kvach wrote:
> On Fri, Mar 21, 2025 at 4:04âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 21.03.2025 10:50, Mykola Kvach wrote:
>>> On Thu, Mar 13, 2025 at 5:34âŻPM Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 05.03.2025 10:11, Mykola Kvach wrote:
>>>>> +void watchdog_domain_resume(struct domain *d)
>>>>> +{
>>>>> +    unsigned int i;
>>>>> +
>>>>> +    spin_lock(&d->watchdog_lock);
>>>>> +
>>>>> +    for ( i = 0; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
>>>>> +    {
>>>>> +        if ( test_bit(i, &d->watchdog_inuse_map) )
>>>>> +        {
>>>>> +            set_timer(&d->watchdog_timer[i].timer,
>>>>> +                      NOW() + SECONDS(d->watchdog_timer[i].timeout));
>>>>
>>>> The timeout may have almost expired before suspending; restoring to the
>>>> full original period feels wrong. At the very least, if that's indeed
>>>> intended behavior, imo this needs spelling out explicitly.
>>>
>>> It takes some time to wake up the domain, but the watchdog timeout is
>>> reset by a userspace daemon. As a result, we can easily encounter a
>>> watchdog trigger during the  resume process.
>>
>> Which may mean the restoring is done too early, or needs doing in two
>> phases.
>>
>>> It looks like we should
>>> stop the watchdog timer from the guest, and in that case, we can drop
>>> all changes related to the watchdog in this patch series.

Noting this, ...

>> Except that then you require a guest to be aware of host suspend. Which
>> may not be desirable.
> 
> I think this is not a problem; at least, I don't see how the guest
> could be aware of the host suspend.

... perhaps it is me who is confused, but: With an unaware guest, how can
the stopping be done from the guest? I.e. ..

> For now, we have three cases:
> 
> 1) The guest is suspended (actually paused) because the system
> suspends, and we pause all non-hardware domains.

... in this case in particular, which this series is about aiui.

Jan

> 2) The guest is suspended via the `xl` tool (x86 only, at least for now).
> 3) The guest requests S2R via `echo mem > /sys/power/state` or
> `systemctl suspend`.
> 
> Let's review all these cases:
> 
> 1) There is no action required here; it should be handled correctly by
> domain pause. However, I think it is not handled properly right
> nowâbut that is not an issue with the current patch series.
> 2) There are potential problems here. We should either notify the
> domain that it will be suspended (which is hard to implement and the
> guest will be aware of the host suspending) or suspend watchdog
> directly during the execution of `xl` commands (more preferable).
> 3) As far as I know, if `watchdogd` is running, we can simply add an
> action to it on suspend/resume events (need to review not Linux kernel
> cases). In the case of the Linux kernel driver, it already handles
> suspending/resuming the Xen watchdog correctly.
> 
> So, if I am not mistaken, we can drop all patches related to watchdog
> suspend in Xen until `xl suspend/resume` for ARM64 is implemented. For
> other cases, we should handle suspend/resume of the watchdog via the
> `watchdogd` service.
> 
> Note: As far as I know, only the control domain has `watchdogd`
> (though we could potentially set it up for other domains). DomUs can
> only use the Xen watchdog Linux kernel driver.
> 
> ~Mykola



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 11:18:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 11:18:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925367.1328230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfp2-00052p-LO; Mon, 24 Mar 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 925367.1328230; Mon, 24 Mar 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 1twfp2-00052i-Im; Mon, 24 Mar 2025 11:18:24 +0000
Received: by outflank-mailman (input) for mailman id 925367;
 Mon, 24 Mar 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=mc85=WL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1twfp0-00052W-Sk
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 11:18:22 +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 b12b9e96-08a1-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 12:18:20 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-abf3d64849dso701611766b.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 04:18:20 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef8675a9sm657615266b.28.2025.03.24.04.18.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 04:18: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: b12b9e96-08a1-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742815100; x=1743419900; 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=M/aD0jqqsiGXVDg4jgzyO6tncFjvnQC7Tk3Evr0Dzxs=;
        b=Fvr28KxD4ITlkw3Fj04lAupbn8LMVId043Eepf4WjBiE/hOxLc+PJFfYfYRbWxHs1X
         gJnOxnDKwE1WCBitYOiUlggioTzqmTck65ngO5RU0u+hcDTBrc2PiL9M2Cl5Wc5e3cY8
         jhkT8pW7r6FZ6hIv4/Y7HYW6D3xT0zvfLSBUaMeCF5cik0N6nqNdNE7u3Mv9XczLjTp9
         P14tzrhZ5Gc3w65ykMGKOa0Vyn+9TaCuuxzeMYshz14tmZTubpcsIuI8TG8IkKcLth/z
         ahORfeT1hFYwJNyLrPSwnhDylZ49nU46gM/7bHSWwFYrRJHIqF0biNj94xKNM1LFg0QG
         8FDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742815100; x=1743419900;
        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=M/aD0jqqsiGXVDg4jgzyO6tncFjvnQC7Tk3Evr0Dzxs=;
        b=S6gAn0CJwZWHLNM6JjOoT0CCXkjA37uZ3aZe9VbXB0LYgkd/ip98pugrVZxRy4LKTM
         j2lRJIy1Q3107vKF9M35CxMr56ifvOfWZ9q/H1wMgp9EwxJaGXZ7s4SXova3jk3FdU8H
         XxF4qjyyhvSWxAJ3x/NucJn8nLW/mqE/YLdB0BAeg3gq6Nw3ZzTqY2H82HC2CPMgCfdf
         p9vrcVRrOdfm579dzQIFQn12dt7q2ydt9+Yxf/myvwM+m1vYNvCxqJbcUWHgABWE+4mi
         5Hq39KRxkDLKxTV1C5dtPF0l+3eGGylf4VINQH5EwJoAjUHWzfNlercb3byqusye1xuv
         CdqA==
X-Forwarded-Encrypted: i=1; AJvYcCWnWOVbI0ztxBdPn9Y+pb/COMnDCfwt0zHmQYS5VcRgT2NaftP1nGeH1aHhVLAR0LSBh5l4MDSqlGw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxnk1b5kjTT7KVXwMi8/1P7erp/uCX9unwbN1C96iSD/Z6bz516
	ZFJl7sQsqYW5sL6gjmMIDXGJ2tKexk1KGqsYpleOzGfDO6TY2h0NWRnhtxE7AWU=
X-Gm-Gg: ASbGncvRIHl99ebHum/FOaV0KATW5p+m8c6MYFZ2wfqEFmiCd8evtkOv+WdEPSkjc6a
	+cxYb6EfreW+9QtLxWMYZDlVcqsWleQAyh9T4CTLdQPYb+slOj1fUkkMVXjMlLKsnr4GDMvSvea
	JwLjJUexdwKu3G2PiWLk9zVdIQ3eAJ8Z17to8elwDy6UjvIRnfBY9c/8S4oMBfAtLdAkfyan3Gn
	+L6NzO6ELlRUYKzG3x6xxzOHHp261q2os6mIQi74rYepRfzDS6TmJh5mWuOZOKH96Qm+XVEDNsa
	EiSmnH2dsR0gR+scdgdvBB8XQcn+Fj3yu7vDQk63qDZbkat1rxJl7IfpHN5rjgvOwXzKYrW1bbH
	SlysEYDtG6emD192m3DLaL4tAULhDAW9oz0brrPdf92u9xNjCq0YptHAxaEZE9FErNs9l4A==
X-Google-Smtp-Source: AGHT+IGQqLX9WqN5pq9/5m9ht3nL/oNNGecIcBTfHjbistTUweg0GSoFCLbMCLeIyUdL9BLqJ2vV5w==
X-Received: by 2002:a17:907:bc8b:b0:ac4:4cd:c26c with SMTP id a640c23a62f3a-ac404cdc6eamr915901666b.35.1742815099829;
        Mon, 24 Mar 2025 04:18:19 -0700 (PDT)
Message-ID: <2fa05dd3-c5ae-4e72-b42d-260433590187@suse.com>
Date: Mon, 24 Mar 2025 12:18:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Jan Beulich <jbeulich@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org, Jason Andryuk <jason.andryuk@amd.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com> <Z99PXOXocyuZtf_X@begin>
 <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
 <abce7ac0-21bd-409c-bc4c-f08d04a5a5d1@suse.com> <Z-E0TUu_LWkXt-wI@begin>
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: <Z-E0TUu_LWkXt-wI@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------93VhOJVDM4Aui2kdG0uWoMhH"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------93VhOJVDM4Aui2kdG0uWoMhH
Content-Type: multipart/mixed; boundary="------------sWzNZouI0XYebMzUCklyKNWW";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Jan Beulich <jbeulich@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org, Jason Andryuk <jason.andryuk@amd.com>
Message-ID: <2fa05dd3-c5ae-4e72-b42d-260433590187@suse.com>
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com> <Z99PXOXocyuZtf_X@begin>
 <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
 <abce7ac0-21bd-409c-bc4c-f08d04a5a5d1@suse.com> <Z-E0TUu_LWkXt-wI@begin>
In-Reply-To: <Z-E0TUu_LWkXt-wI@begin>
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=

--------------sWzNZouI0XYebMzUCklyKNWW
Content-Type: multipart/mixed; boundary="------------x2sEk6Xx3DBccBIYmmETXiO5"

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

T24gMjQuMDMuMjUgMTE6MzAsIFNhbXVlbCBUaGliYXVsdCB3cm90ZToNCj4gSmFuIEJldWxp
Y2gsIGxlIGx1bi4gMjQgbWFycyAyMDI1IDExOjIxOjQ4ICswMTAwLCBhIGVjcml0Og0KPj4g
T24gMjMuMDMuMjAyNSAxNTo1NywgSsO8cmdlbiBHcm/DnyB3cm90ZToNCj4+PiBPbiAyMy4w
My4yNSAwMTowMSwgU2FtdWVsIFRoaWJhdWx0IHdyb3RlOg0KPj4+PiBKdWVyZ2VuIEdyb3Nz
LCBsZSB2ZW4uIDIxIG1hcnMgMjAyNSAxMDozMTo0NCArMDEwMCwgYSBlY3JpdDoNCj4+Pj4+
IEFkZCBhIGZpbGUgb3BlcmF0aW9ucyBmc3RhdCBob29rIHRvIHRoZSA5cGZzIGZyb250ZW5k
Lg0KPj4+Pj4NCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0Bz
dXNlLmNvbT4NCj4+Pj4+IFJldmlld2VkLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYXNvbi5hbmRy
eXVrQGFtZC5jb20+DQo+Pj4+PiAtLS0NCj4+Pj4+IFYyOg0KPj4+Pj4gLSBvciBmaWxlIGFj
Y2VzcyBtb2RlIGludG8gc3RfbW9kZSAoSmFzb24gQW5kcnl1aykNCj4+Pj4+IC0tLQ0KPj4+
Pj4gICAgOXBmcm9udC5jIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+
Pj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspDQo+Pj4+Pg0KPj4+Pj4g
ZGlmZiAtLWdpdCBhLzlwZnJvbnQuYyBiLzlwZnJvbnQuYw0KPj4+Pj4gaW5kZXggMTc0MWQ2
MDAuLjcyNTdhMDdlIDEwMDY0NA0KPj4+Pj4gLS0tIGEvOXBmcm9udC5jDQo+Pj4+PiArKysg
Yi85cGZyb250LmMNCj4+Pj4+IEBAIC04NSw2ICs4NSw4IEBAIHN0cnVjdCBmaWxlXzlwZnMg
ew0KPj4+Pj4gICAgDQo+Pj4+PiAgICAjZGVmaW5lIFA5X1FJRF9TSVpFICAgIDEzDQo+Pj4+
PiAgICANCj4+Pj4+ICsjZGVmaW5lIFFJRF9UWVBFX0RJUiAgIDB4ODAgICAgIC8qIEFwcGxp
ZXMgdG8gcWlkWzBdLiAqLw0KPj4+Pj4gKw0KPj4+Pj4gICAgc3RydWN0IHA5X2hlYWRlciB7
DQo+Pj4+PiAgICAgICAgdWludDMyX3Qgc2l6ZTsNCj4+Pj4+ICAgICAgICB1aW50OF90IGNt
ZDsNCj4+Pj4+IEBAIC05NTAsNiArOTUyLDMyIEBAIHN0YXRpYyBpbnQgd3JpdGVfOXBmcyhz
dHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbmJ5dGVzKQ0KPj4+
Pj4gICAgICAgIHJldHVybiByZXQ7DQo+Pj4+PiAgICB9DQo+Pj4+PiAgICANCj4+Pj4+ICtz
dGF0aWMgaW50IGZzdGF0XzlwZnMoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBzdGF0ICpi
dWYpDQo+Pj4+PiArew0KPj4+Pj4gKyAgICBzdHJ1Y3QgZmlsZV85cGZzICpmOXBmcyA9IGZp
bGUtPmZpbGVkYXRhOw0KPj4+Pj4gKyAgICBzdHJ1Y3QgcDlfc3RhdCBzdGF0Ow0KPj4+Pj4g
KyAgICBpbnQgcmV0Ow0KPj4+Pj4gKw0KPj4+Pj4gKyAgICByZXQgPSBwOV9zdGF0KGY5cGZz
LT5kZXYsIGY5cGZzLT5maWQsICZzdGF0KTsNCj4+Pj4+ICsgICAgaWYgKCByZXQgKQ0KPj4+
Pj4gKyAgICB7DQo+Pj4+PiArICAgICAgICBlcnJubyA9IEVJTzsNCj4+Pj4+ICsgICAgICAg
IHJldHVybiAtMTsNCj4+Pj4+ICsgICAgfQ0KPj4+Pj4gKw0KPj4+Pj4gKyAgICBidWYtPnN0
X21vZGUgPSAoc3RhdC5xaWRbMF0gPT0gUUlEX1RZUEVfRElSKSA/IFNfSUZESVIgOiBTX0lG
UkVHOw0KPj4+Pj4gKyAgICBidWYtPnN0X21vZGUgfD0gc3RhdC5tb2RlICYgMDc3NzsNCj4+
Pj4+ICsgICAgYnVmLT5zdF9hdGltZSA9IHN0YXQuYXRpbWU7DQo+Pj4+PiArICAgIGJ1Zi0+
c3RfbXRpbWUgPSBzdGF0Lm10aW1lOw0KPj4+Pg0KPj4+PiBTaG91bGQgd2UgcGVyaGFwcyBh
bHNvIGZpbGwgc3RfY3RpbWU/IExlYXZpbmcgaXQgYXQgMCBjb3VsZCBzdXJwcmlzZQ0KPj4+
PiBvdGhlciBzb2Z0d2FyZSBsYXllcnMuDQo+Pj4NCj4+PiBJIGNhbiBzZXQgaXQgdG8gdGhl
IHNhbWUgdmFsdWUgYXMgc3RfbXRpbWUuDQo+Pg0KPj4gTWF5YmUgdGhlIHNtYWxsZXIgb2Yg
YXRpbWUgYW5kIG10aW1lPw0KPiANCj4gVGhhdCdkIGJlIGJldHRlciwgeWVzLg0KDQpBY2Nv
cmRpbmcgdG8gdGhlIHJlZmVyZW5jZXMgSSBjb3VsZCBmaW5kIGN0aW1lIGlzIGNoYW5nZWQg
d2hlbmV2ZXINCmVpdGhlciBmaWxlIGNvbnRlbnRzIE9SIGZpbGUgc3RhdHVzICh1aWQsIGdp
ZCwgcGVybWlzc2lvbnMpIGFyZQ0KbW9kaWZpZWQuIFNvIHVzaW5nIHRoZSBzYW1lIHZhbHVl
IGFzIG10aW1lIHNlZW1zIGFwcHJvcHJpYXRlLg0KDQoNCkp1ZXJnZW4NCg==
--------------x2sEk6Xx3DBccBIYmmETXiO5
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-----

--------------x2sEk6Xx3DBccBIYmmETXiO5--

--------------sWzNZouI0XYebMzUCklyKNWW--

--------------93VhOJVDM4Aui2kdG0uWoMhH
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/Ey8FAmfhP3oFAwAAAAAACgkQsN6d1ii/Ey/n
hQf+OO6Q3UPo9Z+MUOHsC0v80drmqVbHddPOdqSjQJKzoVnqxLhBcLi2oy8p2GQU/A/wvWIS3XP0
cQ0s4cRzacoOwLq6SGQlI/ms0OUF93mdGD4KjWy9MsSkoDvWOuMQp3du6qK9m3U90gkm85C3PI2N
QE2W2WLokobgz0CaM48D+ozYjfNzdoYllwaJQTYOsz6aSy6WNIHi/yBnrLB+Aa6cs367guuAHA+t
QR6u9Ev/dyZO2+6L5bIdrsNum1u3VIybHboSa5UiTHSM/OvJREZXyk3Uz38OewlQD+yTiUnsu6Cf
a/oF8f1fSv/PiIhbR/loWmNxcz/sEo8AEUlJIOj//w==
=DpCV
-----END PGP SIGNATURE-----

--------------93VhOJVDM4Aui2kdG0uWoMhH--


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 11:25:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 11:25:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925384.1328245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfwI-0007qf-Gl; Mon, 24 Mar 2025 11:25:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925384.1328245; Mon, 24 Mar 2025 11:25: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 1twfwI-0007qY-D2; Mon, 24 Mar 2025 11:25:54 +0000
Received: by outflank-mailman (input) for mailman id 925384;
 Mon, 24 Mar 2025 11:25: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 1twfwG-0007qS-B2
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 11:25: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 1twfwG-005XB5-0i;
 Mon, 24 Mar 2025 11:25:51 +0000
Received: from [2a02:8012:3a1:0:c427:8b54:5bca:1d39]
 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 1twfwF-00BA6H-2H;
 Mon, 24 Mar 2025 11:25: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>
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=M8ObZlBiiodlTZMN7j15ifaTDduw5QtJVVLX+572fEM=; b=pKpxLoP3NWEdf2JSaVMApT4Pii
	dZ1Lrsg/eLODzUr1sjNMINidrxBb7QtD5uzJRIb87KfKhzWpdNeCbexq+7xoeIl/1CnD8Alyri+hg
	x5kCfaIUuYE59/VOsQGT3RfUg80swlphfcQlUOdKe0M1TF7rwCW9PYCQ3EQRB8sdYsaY=;
Message-ID: <d7469d5a-080f-44b3-81c8-9d79cab58c7a@xen.org>
Date: Mon, 24 Mar 2025 11:25:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm/efi: merge neighboring banks
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <alpine.DEB.2.22.394.2503211403040.2325679@ubuntu-linux-20-04-desktop>
 <85ac456a-ae11-4a04-8d73-dfafba04de98@xen.org>
 <alpine.DEB.2.22.394.2503211534080.2325679@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2503211534080.2325679@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 21/03/2025 23:11, Stefano Stabellini wrote:
> On Fri, 21 Mar 2025, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 21/03/2025 21:14, Stefano Stabellini wrote:
>>> When booting from U-Boot bootefi, there can be a high number of
>>> neighboring RAM banks. See for example:
>>>
>>> (XEN) RAM: 0000000000000000 - 0000000000bfffff
>>> (XEN) RAM: 0000000000c00000 - 0000000000c00fff
>>> (XEN) RAM: 0000000000c01000 - 0000000000dfffff
>>> (XEN) RAM: 0000000000e00000 - 000000000279dfff
>>> (XEN) RAM: 000000000279e000 - 00000000029fffff
>>> (XEN) RAM: 0000000002a00000 - 0000000008379fff
>>> (XEN) RAM: 000000000837a000 - 00000000083fffff
>>> (XEN) RAM: 0000000008400000 - 0000000008518fff
>>> (XEN) RAM: 0000000008519000 - 00000000085fffff
>>> (XEN) RAM: 0000000008600000 - 0000000008613fff
>>> (XEN) RAM: 0000000008614000 - 00000000097fffff
>>> (XEN) RAM: 0000000009800000 - 00000000098a7fff
>>> (XEN) RAM: 00000000098a8000 - 0000000009dfffff
>>> (XEN) RAM: 0000000009e00000 - 0000000009ea7fff
>>> (XEN) RAM: 0000000009ea8000 - 000000001fffffff
>>> (XEN) RAM: 0000000020000000 - 000000002007ffff
>>> (XEN) RAM: 0000000020080000 - 0000000077b17fff
>>> (XEN) RAM: 0000000077b19000 - 0000000077b2bfff
>>> (XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
>>> (XEN) RAM: 0000000077c8e000 - 0000000077c91fff
>>> (XEN) RAM: 0000000077ca7000 - 0000000077caafff
>>> (XEN) RAM: 0000000077cac000 - 0000000077caefff
>>> (XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
>>> (XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
>>> (XEN) RAM: 0000000077cd8000 - 000000007bd07fff
>>> (XEN) RAM: 000000007bd09000 - 000000007fd5ffff
>>> (XEN) RAM: 000000007fd70000 - 000000007fefffff
>>> (XEN) RAM: 0000000800000000 - 000000087fffffff
>>>
>>> It is undesirable to keep them separate, as this approach consumes more
>>> resources.
>>
>> What resources? This is pre-allocated static array in the binary. They are
>> also dropped after init. The more interesting argument is...
>>
>>>
>>> Additionally, Xen does not currently support boot modules that span
>>> multiple banks: at least one of the regions get freed twice. The first
>>> time from setup_mm->populate_boot_allocator, then again from
>>> discard_initial_modules->fw_unreserved_regions. With a high number of
>>> banks, it can be difficult to arrange the boot modules in a way that
>>> avoids spanning across multiple banks.
>>
>> ... this one. Although, I find weird that U-boot would create tons of banks.
>> Have you considered to ask them what's going on?
>>
>> Also, what about the cases where U-boot is not booting Xen without UEFI? Why
>> is this not a problem? Asking just in case the merge should happen in code
>> common rather than in UEFI.
> 
> I was also curious so I printed all the Types (desc->Type) for each EFI
> region, see below the results.
> 
> DEBUG start=0x0 type=0x7
> DEBUG start=0xc00000 type=0x4
> DEBUG start=0xc01000 type=0x7
> DEBUG start=0xe00000 type=0x4
> DEBUG start=0x279e000 type=0x7
> DEBUG start=0x2a00000 type=0x4
> DEBUG start=0x837a000 type=0x7
> DEBUG start=0x8400000 type=0x4
> DEBUG start=0x8519000 type=0x7
> DEBUG start=0x8600000 type=0x4
> DEBUG start=0x8614000 type=0x7
> DEBUG start=0x9800000 type=0x4
> DEBUG start=0x98a8000 type=0x7
> DEBUG start=0x9e00000 type=0x4
> DEBUG start=0x9ea8000 type=0x7
> DEBUG start=0x20000000 type=0x4
> DEBUG start=0x20080000 type=0x7
> DEBUG start=0x77b19000 type=0x2
> DEBUG start=0x77b2c000 type=0x1
> DEBUG start=0x77c8e000 type=0x4
> DEBUG start=0x77ca7000 type=0x4
> DEBUG start=0x77cac000 type=0x4
> DEBUG start=0x77cd0000 type=0x4
> DEBUG start=0x77cd4000 type=0x4
> DEBUG start=0x77cd8000 type=0x3
> DEBUG start=0x7bd09000 type=0x3
> DEBUG start=0x7fd70000 type=0x3
> DEBUG start=0x800000000 type=0x4
> 
> Looking at EFI_MEMORY_TYPE, 0x4 should be EfiBootServicesData and 0x7
> should be EfiConventionalMemory. So the reason why there are so many
> neighboring regions is that they are of different EFI types. There are
> very many EfiBootServicesData regions, and by the time interesting Xen
> code runs, BootServices are not available anymore, so they can be
> reused. But they are still counted separately from the EFI point of
> view. This cannot happen with the non-EFI boot as there are no
> EfiBootServicesData regions.

Thnks for checking. In which case, I am fine with the current placement 
of the check.

> 
>   
>>> This small patch merges neighboring regions, to make dealing with them
>>> more efficient, and to make it easier to load boot modules.
>>
>> While I understand the value for this, I ...
>>
>>> The patch
>>> also takes the opportunity to check and discard duplicates.
>>
>> don't understand why we need to check for duplicates. This also doesn't
>> properly work for a few reasons:
>>    * This doesn't cover partial overlap
>>    * This would not work if an entry was merged with another previously
>>
>> So I think the code to check duplicates should be removed. If you are
>> concerned about overlap, then it would be better to enable check_reserved
>> just drop the code. If you are concerned about to detect and warn/panic.
> 
> Thanks Julien. No, I am not concerned about duplicates, I thought I
> would add check since I was at it. I am totally fine removing it.
> 
>   
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>>
>>> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
>>> index a80a5a7ab3..f6f23ed5b2 100644
>>> --- a/xen/arch/arm/efi/efi-boot.h
>>> +++ b/xen/arch/arm/efi/efi-boot.h
>>> @@ -163,6 +163,20 @@ static bool __init meminfo_add_bank(struct membanks
>>> *mem,
>>>        struct membank *bank;
>>>        paddr_t start = desc->PhysicalStart;
>>>        paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
>>> +    int j;
>>
>> nr_banks is an "unsigned int". So this should be the same type.
> 
> Thank you, good point
> 
>>> +
>>> +    for ( j = 0; j < mem->nr_banks; j++ )
>>> +    {
>>> +        if ( mem->bank[j].start == start && mem->bank[j].size == size )
>>> +        {
>>> +            return true;
>>> +        }
>>> +        else if ( mem->bank[j].start + mem->bank[j].size == start )
>>
>> Please add some parentheses to make it more obvious that you checking (a + b)
>> == size.
> 
> Sure I can do that
> 
> 
>>> +        {
>>> +            mem->bank[j].size += size;
>>> +            return true;
>>> +        }
>>> +    }
>>>          if ( mem->nr_banks >= mem->max_banks )
>>>            return false;
>>
>> Cheers,
>>
>> -- 
>> Julien Grall
>>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 11:26:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 11:26:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925392.1328259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twfwp-0008Kw-Pw; Mon, 24 Mar 2025 11:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925392.1328259; Mon, 24 Mar 2025 11:26: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 1twfwp-0008Kl-N9; Mon, 24 Mar 2025 11:26:27 +0000
Received: by outflank-mailman (input) for mailman id 925392;
 Mon, 24 Mar 2025 11:26: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twfwo-00086T-PH
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 11:26:26 +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 d1ca1cba-08a2-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 12:26:24 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so34019635e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 04:26: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-43d440ed4d9sm169361705e9.33.2025.03.24.04.26.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 04:26: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: d1ca1cba-08a2-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742815584; x=1743420384; 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=IL+D97LwqZy6NUkik4VWtwwtkvEltgXEbuNKczi+Dqs=;
        b=KYOfmJAC0BtKoDTfEkXcsrQjk4sEkvob0coW8sRNN5O1mFWUWMKPXFik2MmYzyHaWR
         9sx+bhrvtC7t3qeo3B8QJ9APtFz2k2gXS8Tn9mqZ/7uYbxpZQ+ATDismv9AWJaDiRQVS
         0ex2my9eC14h7y9nmHKOlRbMZ7OuSUhpo8cReF46l+K/Fkk2jt1pdMIbqZ3d/RHLj+/F
         WwKY6k3XHEXSQcjwIldhOI0D80QvztxhmQSgbrfjlJPSL0JDyIubJQH1XaGZD+JSTngA
         hTSDhYfamA7mT1g59ikaSfioqg2Ysn3vluyTbmJkiMqLJ/S63m4gZDMvcAuQldqA18vR
         gMqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742815584; x=1743420384;
        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=IL+D97LwqZy6NUkik4VWtwwtkvEltgXEbuNKczi+Dqs=;
        b=S7fAnBGizYtQqaXrS6/yjAMyIYW8fw2uxQ7UU5TKaUgA2k6y+DMABuZ17TVPbSIGx1
         693EoZUcKLwj7SZGT/t3ZTq+wNED7X3SgVlRgwR4ug7RFrEH7KB8D0BwpL4hYnB9j/o0
         LPf76L2+gnfcZ0fi4XbwYYVbH2FYb/MKrMi6ipzpB3ujzERU2iHYWB2KJc6bsJzNp4de
         OjxOPDozahbU7oLyJkr0owSltmi5zw/YLfHRKDucR+1Yg8oMBK56K2952TySzCe6IT5B
         otwPobRJfA1IEmZ7H+4efbswbVtUG2NvgNlwtf1t5WpVRdtGJUqlhj+d43CtN0Z30Vgj
         0MGA==
X-Forwarded-Encrypted: i=1; AJvYcCWDowO2kIFqRIs985o3KCjbqNcBn34fNciCdLeJU7z4nQkYj2twIBtpikECilOeEUGNSfRY3cvyYGs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzpxwOkEcdyaAc92HWUSPmG1Uq/vF2LhYO/K77ZzKFACfjn3qQZ
	BA0zhjFgC1pA4nTjGv9Cjo7bqyNO/7Xdp/eSwAs7i2AlPPpYndPUsGeaeanR7A==
X-Gm-Gg: ASbGnctu/36/UtVK+Ye5w1RlXK9T/9gf1cdoRnMM9t6Uh9i3GwDa2d+wYY9ZmGGmWgH
	pMXdNxS4CroCTSp/vYGO+DmHdGbPFyUK6666jx9JcedMemqfTmhtQv5EAVu6y5XHNyuUGCYm35E
	1yid0UPbtHsjieijB7CR14ymo0ak7GKl/5OlOQKSLHU8E9+1d1HRuskbK+LG+yGel/rS7OfNF0O
	DuaNSRqJjbISxEOfZWuha3f0YDySwL5M50QTt3Qh7iPh+l7PJUAAVKhoVLVapT35d/9TB3UzsUb
	bmRJMXAiGxjs4XTI1shR6RGlGpXnCwxzJAti3g1ycs3x2ivGGaJWrhiPkuiFizP8gJuPogA87ir
	zdFg4SHuBgremUxUQwcBnEBmZavmuzw==
X-Google-Smtp-Source: AGHT+IHAtT277OXKvAGGh+haK75uTP/GgvDWP4wBXrPc3QDY18CpD1rovHV4ERw49cqpk/qXrbOQOw==
X-Received: by 2002:a05:600c:1ca4:b0:43c:fbbf:7bf1 with SMTP id 5b1f17b1804b1-43d50a3a75bmr122470185e9.30.1742815583998;
        Mon, 24 Mar 2025 04:26:23 -0700 (PDT)
Message-ID: <28e23122-6cfd-464d-99f4-4ac45b8b79d0@suse.com>
Date: Mon, 24 Mar 2025 12:26:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 1/2] 9pfs: add fstat file operation hook
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
References: <20250321093145.17882-1-jgross@suse.com>
 <20250321093145.17882-2-jgross@suse.com> <Z99PXOXocyuZtf_X@begin>
 <79a51a80-7723-4f58-b0ea-25f73d4fd796@suse.com>
 <abce7ac0-21bd-409c-bc4c-f08d04a5a5d1@suse.com> <Z-E0TUu_LWkXt-wI@begin>
 <2fa05dd3-c5ae-4e72-b42d-260433590187@suse.com>
Content-Language: en-US
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 Jason Andryuk <jason.andryuk@amd.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: <2fa05dd3-c5ae-4e72-b42d-260433590187@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.03.2025 12:18, JĂźrgen GroĂ wrote:
> On 24.03.25 11:30, Samuel Thibault wrote:
>> Jan Beulich, le lun. 24 mars 2025 11:21:48 +0100, a ecrit:
>>> On 23.03.2025 15:57, JĂźrgen GroĂ wrote:
>>>> On 23.03.25 01:01, Samuel Thibault wrote:
>>>>> Juergen Gross, le ven. 21 mars 2025 10:31:44 +0100, a ecrit:
>>>>>> Add a file operations fstat hook to the 9pfs frontend.
>>>>>>
>>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>>> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
>>>>>> ---
>>>>>> V2:
>>>>>> - or file access mode into st_mode (Jason Andryuk)
>>>>>> ---
>>>>>>    9pfront.c | 29 +++++++++++++++++++++++++++++
>>>>>>    1 file changed, 29 insertions(+)
>>>>>>
>>>>>> diff --git a/9pfront.c b/9pfront.c
>>>>>> index 1741d600..7257a07e 100644
>>>>>> --- a/9pfront.c
>>>>>> +++ b/9pfront.c
>>>>>> @@ -85,6 +85,8 @@ struct file_9pfs {
>>>>>>    
>>>>>>    #define P9_QID_SIZE    13
>>>>>>    
>>>>>> +#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
>>>>>> +
>>>>>>    struct p9_header {
>>>>>>        uint32_t size;
>>>>>>        uint8_t cmd;
>>>>>> @@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
>>>>>>        return ret;
>>>>>>    }
>>>>>>    
>>>>>> +static int fstat_9pfs(struct file *file, struct stat *buf)
>>>>>> +{
>>>>>> +    struct file_9pfs *f9pfs = file->filedata;
>>>>>> +    struct p9_stat stat;
>>>>>> +    int ret;
>>>>>> +
>>>>>> +    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
>>>>>> +    if ( ret )
>>>>>> +    {
>>>>>> +        errno = EIO;
>>>>>> +        return -1;
>>>>>> +    }
>>>>>> +
>>>>>> +    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
>>>>>> +    buf->st_mode |= stat.mode & 0777;
>>>>>> +    buf->st_atime = stat.atime;
>>>>>> +    buf->st_mtime = stat.mtime;
>>>>>
>>>>> Should we perhaps also fill st_ctime? Leaving it at 0 could surprise
>>>>> other software layers.
>>>>
>>>> I can set it to the same value as st_mtime.
>>>
>>> Maybe the smaller of atime and mtime?
>>
>> That'd be better, yes.
> 
> According to the references I could find ctime is changed whenever
> either file contents OR file status (uid, gid, permissions) are
> modified. So using the same value as mtime seems appropriate.

Hmm, yes, one always learns something new. Having come from the DOS/Windows
world originally, 'c' in the name to me only ever could stand for "create".
When really, as you say, it's "change". I'm sorry for introducing confusion
here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 11:52:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 11:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925409.1328269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twgM1-0007CE-Qo; Mon, 24 Mar 2025 11:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925409.1328269; Mon, 24 Mar 2025 11:52: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 1twgM1-0007C7-NK; Mon, 24 Mar 2025 11:52:29 +0000
Received: by outflank-mailman (input) for mailman id 925409;
 Mon, 24 Mar 2025 11:52: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twgM0-0007C0-NY
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 11:52:28 +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 748f0c2d-08a6-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 12:52:26 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-38a25d4b9d4so2253168f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 04:52: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-3997f9956b4sm10672553f8f.7.2025.03.24.04.52.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 04:52: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: 748f0c2d-08a6-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742817146; x=1743421946; 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=K+khXC4DZhNYN5D1bIj/akz9YGOYUUX0IhWq9rqeBbg=;
        b=fuDvJrh/JsLrkvvxf1mvQeDGcuZZyFD32aXalE/DT3JdTCLpEO4KA8p7A59OXOw3Yc
         bIC2iXx5XVW24oOu6kFQtZIW1wKlTszLs2E3bUg+HWQAC2PtRX61EdR8qpfjOf3NK8xZ
         0mZspnP5ohawqhWq6lZbtu+24gVCtcTiYkyQZv+DkcZMndDxhK6k8hqrV6MH5bEVz41o
         YCOmkE/c2ql2KdiMjTLETpeFN9viU1zXSIjKlQvVijm0oYW7ZTqpljikfscmm02f1daO
         RQuAbwhAgmWB9raPWdaStm2V9TWItcPyx37UDNuf+d4dV2uF6FS1lWkna3pZBVKCpiGh
         ogAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742817146; x=1743421946;
        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=K+khXC4DZhNYN5D1bIj/akz9YGOYUUX0IhWq9rqeBbg=;
        b=dt8fuBBeHa6a4yXJisMG7oMGQx0LSEvKLergsOKESU0nGbShL36cr8I14KzDO4AsJm
         9E34/8ZDbOx6v1kZbvpN8a5nGOhy6VImo4S3UbilJ29Mw/ztmZb5k8ngZtP4NYGUPVpM
         gjDb+v6aIvUzt+QAVWitG28RpxfY6INxbxK5pbExzna800TUcCJ2n0Aff1C/5bXDE4/G
         CzeIwRCaITfB8t9l0aSmmoxcQpdiR1ynB78zcI5GvcxdIPv3zZyaoSbxp+5NkNGxrg5n
         prRHyi5PmxZRrxmc7RJ1Wfuu/sFC9JU8861KM2D1jh0mck1h6Cy51T61ToupuFAnIjbt
         dJmg==
X-Forwarded-Encrypted: i=1; AJvYcCWhXlJ+pMMw2qtzikitYeh824CDI1PkbB7V/yp+wMACzC5QG7OKWugOQrviDEveJmti4LE3mHlc4WU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYRE7InXD3FJKM+OSuh06WL1CRY+vXHAzOCxq91UuxnmnYERkw
	6cObOwlI5ET/tfrF9FzhQaFPJ3Cb3Kt0TrrXOt7XQDH/rosQ7IeOcbBsKkwEUQ==
X-Gm-Gg: ASbGncuCIN467qJvWEcZis3bt+9QMkgE2KamrDoJdYRsTnuxTix4K8nX/e5nICPX/WR
	gzWPBe7i+qwwJU2aPyXZs89ZUqQXkv0tikisBX/eLOv1qxZy7iA4/d13NrsEkFWwacvBPTcKqvr
	q6/SyrO8AM9Y4ur0kd47UGC9n2u/H81ryhFbzrpm6G4/sDQJc9MwLBXMc8785ZtmEP+BHT0mbD1
	JhMWh9nmr3N7x9RJh6xd0YdBv2hK9IGRt+/ldTq0XnMIed8L5PLRoKZOaUldmHlVpdE+YTHuyio
	C9uMUVgvQ8yoI0MgNiOeu7a6pl5rG86ZFYYpbNjIu0Wd+/u6dNqzMT9jVoyeA4DgffbHTpOYFM/
	AWuQPeVVctU4cfUPOQkrFu2aNtf7NBg==
X-Google-Smtp-Source: AGHT+IHy3FkcGEm+U2gQnDBTa5rTR/TuMczIX2jictzauxDeFwAtcboHnCqPNHjnI6AfECiARBY1eQ==
X-Received: by 2002:a5d:5885:0:b0:391:23e7:968d with SMTP id ffacd0b85a97d-3997f959582mr11574142f8f.47.1742817145611;
        Mon, 24 Mar 2025 04:52:25 -0700 (PDT)
Message-ID: <c188d46e-d600-4ab2-91e2-0bb27430c4f5@suse.com>
Date: Mon, 24 Mar 2025 12:52:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86: make Viridian support optional
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
References: <20250321092633.3982645-1-Sergiy_Kibrik@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: <20250321092633.3982645-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 10:26, Sergiy Kibrik wrote:
> Add config option HVM_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.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> CC: Jan Beulich <jbeulich@suse.com>
> ---
> changes in v2:
>  - changed title in Kconfig & add help text
>  - moved Kconfig changes to arch/x86/hvm/Kconfig
>  - address review comments
> ---
>  xen/arch/x86/hvm/Kconfig              | 10 ++++++++++
>  xen/arch/x86/hvm/Makefile             |  2 +-
>  xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
>  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 ++
>  7 files changed, 42 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> index 2def0f98e2..9cdcc0d3cd 100644
> --- a/xen/arch/x86/hvm/Kconfig
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -63,6 +63,16 @@ config ALTP2M
>  
>  	  If unsure, stay with defaults.
>  
> +config HVM_VIRIDIAN
> +	bool "Hyper-V enlighnments for guests" if EXPERT

Nit: "enlightenments"

> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -507,7 +507,8 @@ hvm_get_cpl(struct vcpu *v)
>      (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
>  
>  #define is_viridian_domain(d) \
> -    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
> +    (IS_ENABLED(CONFIG_HVM_VIRIDIAN) && \
> +    is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))

Nit: Missing an indenting blank on the latter line.

Will adjust while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 12:03:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 12:03:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925421.1328278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twgWo-0001Zf-SW; Mon, 24 Mar 2025 12:03:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925421.1328278; Mon, 24 Mar 2025 12:03: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 1twgWo-0001ZY-Pm; Mon, 24 Mar 2025 12:03:38 +0000
Received: by outflank-mailman (input) for mailman id 925421;
 Mon, 24 Mar 2025 12:03: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twgWn-0001ZQ-Gm
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 12:03:37 +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 04038069-08a8-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 13:03:36 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso22516115e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 05:03: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-43d43f55c99sm170125865e9.24.2025.03.24.05.03.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 05:03: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: 04038069-08a8-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742817816; x=1743422616; 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=eyOGreXbOlA3WaFOtjdWCycg+RWAWFkGmtPBXbu/83Q=;
        b=gnRhCIyZaEe5Tq86FcjcO12b3oRnerzOisCmWS08JWlR9Sr0pKJclObeOpdIZqK4GH
         QjsoEnoGBrjW4OybgShm1CQwQqsYbe3+eeG64ydef2py4hWIK4NSwa+Ln55c8o09WHUf
         onqO997VN80ZbvLyR7/fSmPgPir/0fj423RTrurbhN/6dXpSGPQ1abgw3BuC8ANWvt3K
         nBlNuYYdf43nWmtY8G1kTmcXNN2gMDRQwtTEFBlO3TNGaqvxMDuXuimmCG3KY+w2ZFzW
         mIN0INPC4tGeyRQEqmcwba+LROEwKQddJoRHeBDMUvRe8/HV1SEwyLvjwENGdfqCMWnH
         HLxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742817816; x=1743422616;
        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=eyOGreXbOlA3WaFOtjdWCycg+RWAWFkGmtPBXbu/83Q=;
        b=ZDsvfMPUmOJrF3+Km4E/EwdGDOAAhEpNrinFM2T90AZnG78u6AO+SjuWNRiZT1Acav
         WPLkWOf1O0ugCikCjFeZMGZjjKSTr8schbfc6RzlpMPckdNJCCGGexw/qDRkP6NBPUMV
         MHQmTYMYQzbDDc6RJawQxvC64YUDbQwozDOTUS9hkFDVl7Yk4SCW0Zlv3uPChf+iBtdl
         jgKVraOhAqVeFQ5Nm3LOHnJoQlyT1aszo/PeKXH2mxmqOSp0q+nfXwKOOGtmy8ui41XX
         egubCwpTgLOSPPCQYjRj5bnRZgZwWvdMXyVPErS4eFA8wQKZuFZpOzo45uLdSqhYehcD
         x2Ng==
X-Gm-Message-State: AOJu0YxoxI2029narMfu4SIZnlwbAUjNIfiJnTRGWJKEA6ajkB5NMyXe
	MNGS0mb7GZL/CCFIEmoAVv1g8izMstPmq54gKuAJQPcZMHw48BPSGGN9X/tiC56OsVRi7LMK3EY
	=
X-Gm-Gg: ASbGncv/9Z8/FruErsnN1JZuo36V84JH+Y0latF6OIvVjiFeosIhbrSkdEEAX3zqtEr
	p9yz+JtVKeGDcjH079GWCjYVJV8AKglcbmtDqKn6A2Eq/wqE0rKrTOe2CG48aMGFHEYCzwHYQwo
	HKXIE/03N/YkQInMLiQR7gU4WbiJEQAnda3R5/tuVgee+8U8WOla2jlm3pbgi69D7avTakEJxt1
	4Glqk3gTEtPs/FvGDKyQe2zXY6X2V80g1x9JqjHB+zmLRME/lRNm7VHvuB0RgJVSDVyB9wkqThV
	ydzPA+aVa8NKLmgKLXgx23RYEJoBOh/0ELGf1aErcZi3KHfTPEPOBIiS+DHsp+7c+263hf3Mfok
	63Bz3DuTRGkIZRPoxr8f5NEPe4tTCYA==
X-Google-Smtp-Source: AGHT+IE7qBlUBcsZyUe1RQrPieQ75oR6FRiZPo2hpVbL7aFB5viC+DlSYVbJDB/kqvkCvp1Rj/KoUA==
X-Received: by 2002:a05:600c:ac6:b0:43c:fa24:8721 with SMTP id 5b1f17b1804b1-43d5677bbabmr80766385e9.17.1742817815809;
        Mon, 24 Mar 2025 05:03:35 -0700 (PDT)
Message-ID: <110f0966-0b89-48d6-b1b3-abae93802c19@suse.com>
Date: Mon, 24 Mar 2025 13:03:34 +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>,
 Jason Andryuk <jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] x86/PVH: account for module command line length
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

As per observation in practice, initrd->cmdline_pa is not normally zero.
Hence so far we always appended at least one byte. That alone may
already render insufficient the "allocation" made by find_memory().
Things would be worse when there's actually a (perhaps long) command
line.

Skip setup when the command line is empty. Amend the "allocation" size
by padding and actual size of module command line. Along these lines
also skip initrd setup when the initrd is zero size.

Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Permit empty initrd with non-empty module command line again.
v2: Use elf_round_up(). Introduce initrd_cmdline local. Re-base.

--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -652,9 +652,10 @@ static int __init pvh_load_kernel(
     unsigned long image_len = image->size;
     unsigned long initrd_len = initrd ? initrd->size : 0;
     const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
+    const char *initrd_cmdline = NULL;
     struct elf_binary elf;
     struct elf_dom_parms parms;
-    size_t extra_space;
+    size_t extra_space = 0;
     paddr_t last_addr;
     struct hvm_start_info start_info = { 0 };
     struct hvm_modlist_entry mod = { 0 };
@@ -712,10 +713,26 @@ static int __init pvh_load_kernel(
      * split into smaller allocations, done as a single region in order to
      * simplify it.
      */
-    extra_space = sizeof(start_info);
-
     if ( initrd )
-        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
+    {
+        extra_space = elf_round_up(&elf, initrd_len);
+
+        if ( initrd->cmdline_pa )
+        {
+            initrd_cmdline = __va(initrd->cmdline_pa);
+            if ( !*initrd_cmdline )
+                initrd_cmdline = NULL;
+        }
+        if ( initrd_cmdline )
+            extra_space += strlen(initrd_cmdline) + 1;
+
+        if ( extra_space )
+            extra_space = ROUNDUP(extra_space, PAGE_SIZE) + sizeof(mod);
+        else
+            initrd = NULL;
+    }
+
+    extra_space += sizeof(start_info);
 
     if ( cmdline )
         extra_space += elf_round_up(&elf, strlen(cmdline) + 1);
@@ -740,12 +757,11 @@ static int __init pvh_load_kernel(
         mod.paddr = last_addr;
         mod.size = initrd_len;
         last_addr += elf_round_up(&elf, initrd_len);
-        if ( initrd->cmdline_pa )
+        if ( initrd_cmdline )
         {
-            char *str = __va(initrd->cmdline_pa);
-            size_t len = strlen(str) + 1;
+            size_t len = strlen(initrd_cmdline) + 1;
 
-            rc = hvm_copy_to_guest_phys(last_addr, str, len, v);
+            rc = hvm_copy_to_guest_phys(last_addr, initrd_cmdline, len, v);
             if ( rc )
             {
                 printk("Unable to copy module command line\n");


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 12:31:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 12:31:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925434.1328306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twgxW-0008P2-4f; Mon, 24 Mar 2025 12:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925434.1328306; Mon, 24 Mar 2025 12:31: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 1twgxW-0008Ov-0s; Mon, 24 Mar 2025 12:31:14 +0000
Received: by outflank-mailman (input) for mailman id 925434;
 Mon, 24 Mar 2025 12:31: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twgxU-00089E-QL
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 12:31:12 +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 dcb8da1e-08ab-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 13:31:08 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso43254015e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 05:31: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-43d43f556basm168839265e9.17.2025.03.24.05.31.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 05:31: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: dcb8da1e-08ab-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742819468; x=1743424268; 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=MmRtv56kJhQ2WUp98xo/bq1KVgQgxz4c+qV8GZhf0c0=;
        b=QSUHLDVY1HDNPrge/JZbKPOrTbq6pDozgr30Bd52uy9yfIkLO5CYAB4AdyL0O9OPua
         nL0Em5XPjb7xtxy0PtGLMYWZBFhTVgV1UX7w47F2lPgb/S91QaTU650M+6uwluZr6+2Z
         TZlRFFy7yWC2SYNcq4OT92GZX9vQv992YJxKzxrQVX8297jIHdcHGDJu5g3X4rautxn2
         LA5JVu95XVPM4gGzDPptYmDxNvNswNGM9IB7A3DKO3CvMfh/Uh6mgLOncZ1R8FFOTvkT
         7fHNaf8Ch3B9MIpZpxjsUD0nqz9zJIO52rD1Z2TRV9wWb0W/tngO1CkW50XAVBN/KEtI
         qlLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742819468; x=1743424268;
        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=MmRtv56kJhQ2WUp98xo/bq1KVgQgxz4c+qV8GZhf0c0=;
        b=mWsTCJntOfuKmS8rGNrZBiBMKgmsuLkw8RYsPRVkQpfsOTko2RpHYY+8JKQIwJbpD4
         YStABVsrql2GmxBoHSlk0+GKLTmxNMFRPIqxw3vS7eIJALNHdOHzaaq0fldVGxvEpxvL
         H+cJIACWJ6AtS0D1L0cytPgjjHL/6lPuM9tL4ldR4beBGQ0MM9/Rx7U5+xzyafAJm9y8
         mOOIuwR3cIgcTpm+EvyfVe/OM2wXy8+CX0NkI82LLaASJRD1MKuJyeAOCkmkfuDAFUo9
         fFHGLMv7uonHZVUyvxq74PiR5SfYcDBl2YIV5QMBtbRU1NYqZ8P0QVZwPPKdVm1Xbj93
         tE2Q==
X-Forwarded-Encrypted: i=1; AJvYcCXpiNATHbtkUD0vDoI75yK+kYxRbyVFi6WnQt9X/cj2bUMrURhDCnQfQmYVUsr1yhbiQH0KKXyjeTw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyal03gr3fFMXCu1vUpVaYjyDyou1fUGbI1aZxNaT7dN3gpvTVe
	BocoMRDPx2q//7XSnQRzcxYEhD1L14JURY45z9eWYAL3q/m3SU/lWxrWazTdWQ==
X-Gm-Gg: ASbGncsolKA7qVHs7210rUpZ107+7fZ7EM5LU/HGiwOpaYI5mzeC71nJV0hziMJ8Wd5
	j4AlFrAHZdZCKxKtS1eqru45BWRIxF1qd6Arn4zD+VL8zzyHiW7qf+8ghxUFM8zj8BsYFZlKna8
	Tc4RhwXfqZDN/oT1kYrBmT5m8HEETGbAHzDacFXwMiWPNcGdidUZAEPkkwubqWJ7O+0L6dVFkgq
	DYV7bEc1zo3N00xq+pXoLKUhi3H9TT7zRuw/1ij/I/VaeFWcNB5kQEWiQc7dA+fFljuwDyrK6mB
	F6zls7P+Vf0cuZ20EhVrClj6M5Hbzb2eZPxTrOCB3X4meCWHY2oDE9F2xBa+C0+qY+E82WpTOOn
	GBOjzy8knXVdZkd+yNb9bavo9eF21BqfO8y1gxAqX
X-Google-Smtp-Source: AGHT+IHOTfwfDTRkF9QMdqUL3RVYin4VlyrTOae9QT9KK8WX+P24OmHq52u7hr1UemNAOpncHKLAgg==
X-Received: by 2002:a05:600c:1548:b0:43c:fb5b:84d8 with SMTP id 5b1f17b1804b1-43d509f2ebemr125900505e9.16.1742819462804;
        Mon, 24 Mar 2025 05:31:02 -0700 (PDT)
Message-ID: <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
Date: Mon, 24 Mar 2025 13:31:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
To: 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@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: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 17:17, Oleksii Kurochko wrote:
> H provides additional instructions and CSRs that control the new stage of
> address translation and support hosting a guest OS in virtual S-mode
> (VS-mode).
> 
> According to the Unprivileged Architecture (version 20240411) specification:
> ```
> Table 74 summarizes the standardized extension names. The table also defines
> the canonical order in which extension names must appear in the name string,
> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
> RV32IMACV is legal, whereas RV32IMAVC is not.
> ```
> According to Table 74, the h extension is placed last in the one-letter
> extensions name part of the ISA string.
> 
> `h` is a standalone extension based on the patch [1] but it wasn't so
> before.
> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
> and for that version it will be needed to encode H extensions instructions
> explicitly by checking if __risv_h is defined.

Leaving aside the typo, what is this about? There's no use of __riscv_h in
the patch here, and ...

> @@ -25,10 +24,13 @@ $(eval $(1) := \
>  	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>  endef
>  
> +h-insn := "hfence.gvma"
> +$(call check-extension,h)

... this, if it fails, will not have any effect on the build right now
afaics.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 12:36:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 12:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925443.1328315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twh2l-0000dB-L3; Mon, 24 Mar 2025 12:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925443.1328315; Mon, 24 Mar 2025 12:36: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 1twh2l-0000d4-I3; Mon, 24 Mar 2025 12:36:39 +0000
Received: by outflank-mailman (input) for mailman id 925443;
 Mon, 24 Mar 2025 12:36: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twh2k-0000cy-OI
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 12:36:38 +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 a0b0cfb4-08ac-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 13:36:37 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so20583125e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 05:36: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-3997f995611sm11026558f8f.15.2025.03.24.05.36.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 05:36: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: a0b0cfb4-08ac-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742819797; x=1743424597; 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=i2QPEFEj8na11C7CiVUp1zsnwI7vmYPI81WeNKe9qAc=;
        b=bEN2tZ5xjlnfP6RDM2nmqYeg2TsAun21nwTk+wLZPBtJwI6eOMKo0B9TRV9u9+y837
         KtE/xAOrP1XkeyJZUfFE1dH8Z0NdrHzsn00rkC3ICg4F1FlrKzFmCDL9ta3Kk4sQgBoG
         h5Qe6AUqQFjOyYalXQiHipEhQ5qfysqsJP3sZGa1V5ZfmrlmMhjMXuRlLjgDHjye+Tz9
         5G9AmRhmB6FzX2+om4Od4UV5UOQokNziOD4KsAMuR6l5OE2fRFEzW/ReVe6DxibTduVl
         4bZJx8vrYBXtK4kgGAzuq8sO4Zvrt66rPYtQRoCR5fvVRyctC5mFufl80mTrjtHWUa9y
         39Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742819797; x=1743424597;
        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=i2QPEFEj8na11C7CiVUp1zsnwI7vmYPI81WeNKe9qAc=;
        b=liozHPEnUDeFntHh1zddUqdBhbAKmwodzKfZh9sXm6bD9hKqKQvXNooynrLHLE4xtV
         DEQ4vFhd1F3oOTqk3Iy6p8krH/6bn3bWhSG5hGNfuZW1Mtxxr5Hhre3ofZESHDQo7dtM
         7AxgPI/EpJmzbFNgYHous6jy6V38HtwswV4D2IG5fJt3A843ZJCnBMuduUhCMtGFRTmo
         iyDSsZUFFWQ8dHJZVT4y+2bW+ZTXeDrF1SmGq0sg8Ll3kzLsGiG5NIT3UFvfGJOup0ef
         GUo1l5PfE2fWIBB2+MtINAEPxHI18r99k3MA1tztDVnVLw4y7OLG/2XmT54una0IjJtf
         K/4w==
X-Forwarded-Encrypted: i=1; AJvYcCW0LFD/U0W8EFgnr5Bwupau/4J6nA+KgPEc5ugvihFsapuTOj0TK8dZVWgBipvKxN6THlkOoUm/YKU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOdwObaEmJfZ1O17FZe5aiGJZeGkakzk+H1iylkFQfTiv+BgH7
	u9pvtKQsE4qsfC7wre+XN5J3vmqSrpMLAmwIQ2LYOv31KE1FACmj7+RzmAUZnQ==
X-Gm-Gg: ASbGncuxIY6UVrWGkza3d5RIVzKdq9/biiqbdcAD7JV3pe1tzgboAqkFsVX4Uu653I1
	Okfv3O1Lud7vYdAW/CUQRfpQTxl84UzB+m6lmbfP0ewj18ganNs1/xiXZFqkOja6w82dDrTrasJ
	9+rWN8KVEQnRWfc39B+RuMP8uiua9c6nbG6gWJVTkMlOQvas1hLrRyZP/XqBACyD7Jg9i+BSUIs
	3ie7zIhosWvQreyEeTEXQvx9q46kB4VfVr5E3p0xEY6YsEj7ctk1SHSxTNaW242gp7uHA3HRhLU
	+UXopAQg4uEs0NFS4IBfF8DOfBk7Ay9h6ScW5MNFvjwU/UeYXbbVj9AwjkFTJrfNzk1CULaOs9X
	v5CZnZ4FrmZ8JfJ0p5vcYZyYmk+7d7g==
X-Google-Smtp-Source: AGHT+IFKDtkClCWzXrSjVLXdxdoV/LwefxqvZSITCYgWSGwRraZYtkvIh01GJU3FNThxCd88SYxkSg==
X-Received: by 2002:a05:6000:156f:b0:391:ffc:2413 with SMTP id ffacd0b85a97d-3997f92d5ccmr14406322f8f.40.1742819796487;
        Mon, 24 Mar 2025 05:36:36 -0700 (PDT)
Message-ID: <e24ec8f4-3320-4978-8deb-cefc3380a0ed@suse.com>
Date: Mon, 24 Mar 2025 13:36:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250320230339.3897874-1-dmukhin@ford.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: <20250320230339.3897874-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 00:05, dmkhn@proton.me wrote:
> Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
> range as per [1]. This macro replaces hardcoded checks against the
> open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
> the code a bit.
> 
> [1] Intel SDM volume 3A
>     Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
>     Section "Valid Interrupt Vectors"
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with ...

> --- a/xen/arch/x86/include/asm/apicdef.h
> +++ b/xen/arch/x86/include/asm/apicdef.h
> @@ -78,6 +78,7 @@
>  #define			APIC_DM_STARTUP		0x00600
>  #define			APIC_DM_EXTINT		0x00700
>  #define			APIC_VECTOR_MASK	0x000FF
> +#define			APIC_VECTOR_VALID(x)	(((x) & APIC_VECTOR_MASK) >= 16)

... line length restrictions respected here. I'll see about taking care of
this while committing, provided other x86 maintainers wouldn't prefer this
to not go in in the first place (so I'll also give it another day or two).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 12:50:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 12:50:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925452.1328325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twhGH-0004JM-QP; Mon, 24 Mar 2025 12:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925452.1328325; Mon, 24 Mar 2025 12: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 1twhGH-0004JF-N2; Mon, 24 Mar 2025 12:50:37 +0000
Received: by outflank-mailman (input) for mailman id 925452;
 Mon, 24 Mar 2025 12:50: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twhGG-0004J9-WA
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 12:50: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 9338115c-08ae-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 13:50:34 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso29747525e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 05:50: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-43d4fd9eb21sm119885595e9.32.2025.03.24.05.50.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 05:50: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: 9338115c-08ae-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742820633; x=1743425433; 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=B9Zg7WBDczl8ZHbP4kS7eA4HJj/dtwCJhNUgZVS4T7Y=;
        b=Xw9SLp6O4j4hGXJY3c/JISae22Gyay5tPM6cdG9XH2r8hezK7ERF2qbKBZnwVIeejM
         WMoZk35/1R06GhgCv8f1mb0PvIIikqLKn2NEWqP5+yZV7gsLoCrnLaeV2RmfGahYOtZR
         Z+DigbQSuXEuElLUT+FKu33ciaLO2ovG9Ob6YHPc7mglCZZ4uTbktzfg6e6GO2TliucT
         x7k04C+UrpLvAbiUIjy3sepiEEM949ZTwSPMajfO7l6zhfJdlt+JxVPWuXoGf+PAve5D
         fzCiZy7jClMlXmu53tHSqivvrw1sw11Cp3+pn2Qc5k9Z42x8/7mfGotexGfOC9AAYxU2
         hNLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742820633; x=1743425433;
        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=B9Zg7WBDczl8ZHbP4kS7eA4HJj/dtwCJhNUgZVS4T7Y=;
        b=QlF7wRPzlnMBtavoZSf3Bi/fIIMZHVHUTi8ZTP5dhBU8loTH4rd9Ov5ErF8at5Y82+
         g356lj75OZy89IeS0FqERgxpPoSDJ9tC/8x351y5Rh/DH3AAXgMEtP602yOfmNEOQsKQ
         6floD2h2iaO54D1X8wAsCZZ2wPfbNH3t9zp6Wh3AD+j9aUKg2jBCuZM/qE9itVFtKsjl
         QW+MKLN+JKrgclbyg8agfuJPyv3uu4b5+vS4IX4s3AIZLofXJYLn5/HCL8cFRFLnjgZj
         LqI6rndTHUDDQ+selRN8tUEnY3DR2IHtbpiMO/MtWBaZfGmsqwyqymfXNuUIEZU1JtrP
         TVdg==
X-Forwarded-Encrypted: i=1; AJvYcCWqMuZwFcxSI0Ykyuh4bKDylZnRnHmvUPeNJWfxLt5rEE48+fIanQxoijVXjTYFQS0m3rbwskxKD+I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDw9c5v/LmI/7FSqtwB5fWNwWxYinmb3yC4wySnZH29Ykp9PU4
	6SNjelbo6kDTJh0o/hwnoY+qvL+bAcNXU9fwZj5+46Fh+7PgI8EcHl/vBeUsJA==
X-Gm-Gg: ASbGncsMdTrm71Tp1OCxZJ/KQNmMZMfjaC59PmmgAv7vHjyeh7RklbqBOp0P0ZXIs1o
	bKs41B+4ImI7UbPh+kiXSbrdjc8jGEV7Hnev9dnLKUX9VQ0kSUDZSwM5V6Yl95tyogKxoCwHLg4
	f0GEWGf8R65X9i2nxbZ0I/VzLsIPR9fPS9AM9jDSJhhmAvENk3dzlbdBoU46BDqaL8kbo0mntgn
	puM8thbOntB2P1mnM//8IEs9it5N7bq3VFBTTq1x6DOfrykZSwb3o/V1/GCg1GaBJUiIsRTCUEe
	vAHcS057cWyODS6CNoTk179nBeDiVls/p1f47mD5PCySDpmX8Q8FPi1tyMFIbUIRYuyUnoiY2BB
	MrkNTplyTMV0bONEMV2CFmResdVZfVA==
X-Google-Smtp-Source: AGHT+IFQ3/Mk59edNv0dfuBcv/iHehyJ4nhAkXFNlF9fB6Q8RSXa7DDbMwa8utSM7jVqqPXgGgVIpg==
X-Received: by 2002:a05:600c:3516:b0:43c:f3e4:d6f6 with SMTP id 5b1f17b1804b1-43d50a52671mr121961135e9.31.1742820633011;
        Mon, 24 Mar 2025 05:50:33 -0700 (PDT)
Message-ID: <a4231eb6-b195-4ce0-b9ca-bdf928a21fbd@suse.com>
Date: Mon, 24 Mar 2025 13:50:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/3] xen: common: add ability to enable stack protector
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
 <20250318023234.1210659-2-volodymyr_babchuk@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: <20250318023234.1210659-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.03.2025 03:34, Volodymyr Babchuk wrote:
> Both GCC and Clang support -fstack-protector feature, which add stack
> canaries to functions where stack corruption is possible. This patch
> makes general preparations to enable this feature on different
> supported architectures:
> 
>  - Added CONFIG_HAS_STACK_PROTECTOR option so each architecture
>    can enable this feature individually
>  - Added user-selectable CONFIG_STACK_PROTECTOR option
>  - Implemented code that sets up random stack canary and a basic
>    handler for stack protector failures
> 
> Stack guard value is initialized in two phases:
> 
> 1. Pre-defined randomly-selected value.
> 
> 2. Own implementation linear congruent random number generator. It
> relies on get_cycles() being available very early. If get_cycles()
> returns zero, it would leave pre-defined value from the previous
> step.
> 
> boot_stack_chk_guard_setup() is declared as inline, so it can be

It's an always-inline function, and that is so important that it should
be got right in the description as well.

> --- /dev/null
> +++ b/xen/common/stack-protector.c
> @@ -0,0 +1,21 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#include <xen/init.h>
> +#include <xen/lib.h>
> +#include <xen/random.h>
> +#include <xen/time.h>
> +
> +/*
> + * Initial value is chosen by a fair dice roll.
> + * It will be updated during boot process.
> + */
> +#if BITS_PER_LONG == 32
> +unsigned long __ro_after_init __stack_chk_guard = 0xdd2cc927UL;
> +#else
> +unsigned long __ro_after_init __stack_chk_guard = 0x2d853605a4d9a09cUL;
> +#endif
> +
> +void asmlinkage __stack_chk_fail(void)

The use of asmlinkage here comes close to an abuse: The Misra deviation is
about C code called from assembly code only. This isn't the case here; instead
it's a function that the compiler generates calls to without source code
explicitly saying so.

This imo wants approving from the Misra side as well, and even if approved
likely requires a justifying code comment.

> --- /dev/null
> +++ b/xen/include/xen/stack-protector.h
> @@ -0,0 +1,39 @@
> +#ifndef __XEN_STACK_PROTECTOR_H__
> +#define __XEN_STACK_PROTECTOR_H__
> +
> +extern unsigned long __stack_chk_guard;
> +
> +/*
> + * This function should be called from a C function that escapes stack
> + * canary tracking (by calling reset_stack_and_jump() for example).
> + */
> +static always_inline void boot_stack_chk_guard_setup(void)
> +{
> +#ifdef CONFIG_STACK_PROTECTOR
> +
> +	/*

Nit: Hard tab slipped in.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:05:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925466.1328335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twhUl-0007np-6O; Mon, 24 Mar 2025 13:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925466.1328335; Mon, 24 Mar 2025 13:05: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 1twhUl-0007ni-2E; Mon, 24 Mar 2025 13:05:35 +0000
Received: by outflank-mailman (input) for mailman id 925466;
 Mon, 24 Mar 2025 13:05: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=xDgH=WL=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1twhUj-0007nc-NK
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:05:34 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20617.outbound.protection.outlook.com
 [2a01:111:f403:2608::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8a3dc66-08b0-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 14:05:30 +0100 (CET)
Received: from DUZP191CA0064.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4fa::17)
 by DB9PR08MB10377.eurprd08.prod.outlook.com (2603:10a6:10:3db::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:05:24 +0000
Received: from DU2PEPF00028D06.eurprd03.prod.outlook.com
 (2603:10a6:10:4fa:cafe::d1) by DUZP191CA0064.outlook.office365.com
 (2603:10a6:10:4fa::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Mon,
 24 Mar 2025 13:05:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D06.mail.protection.outlook.com (10.167.242.166) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Mon, 24 Mar 2025 13:05:23 +0000
Received: ("Tessian outbound 24542e2cd8fc:v601");
 Mon, 24 Mar 2025 13:05:23 +0000
Received: from Ld397e1da2071.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E983798D-96EE-41C7-A8D3-FAFEFD565FFA.1; 
 Mon, 24 Mar 2025 13:05:16 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ld397e1da2071.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 24 Mar 2025 13:05:16 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAXPR08MB6351.eurprd08.prod.outlook.com (2603:10a6:102:df::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:05:14 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 13:05: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: a8a3dc66-08b0-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=h0wYdQohhdwlOvqTrMb4p5J14ZKvoT/SRtglp2MlJ/Wx+l/EZQcnVmlj18UmesZwoGymOo8CF1lowbhE8FBOfPgE4fA20JkAVH/zt09Y+QdAEsNEnNou8vAeZXuxER/mott9cBdbFlA327uMlg9N3lEQbd1CYzqyK/U3zK9VcLo5yjqA1398PnDEuCNPdHV+JlGkmazZudmAVDWiBqV6Qxwsx9Y+QKJ+nN9y3P7/Ag7zW5ddWoEMndDF+n4M+HBnHJ6U+B0hShlYnhz5Lx8FFVuJ2o39+pzmwQ6C2IqHVuzt7Asx4cTot+rMtekExBGDiy54iXgjZ62KVNgUt88mXA==
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=mzs+A5xrpTbstTSa2q/Wh6TYvrPAvMnpSApukQmO5Wo=;
 b=PgEbfQiwkijNXVoaeEX5hv9oCkx3j8ILZdzvrjxpwMUZS/xrMwQGE+NIMjWiFvieJGxHgtqSPOcPZwIBq83WI431w5y7hcskchzhvjuhl7rW0Kjp9aZafMssD7xsIhVS93r1ymKNN1LfDO/VuIcqDaz/HRdBbDk71gTYlmEIWWWTr1y2wBwj7IccdKbCW18lmtbJBrxbdFusQNxaQ5ijYwVtJyzpvCoc8nCiTKpqoF7Mq0JRvF0dsC2XG3NDIAyhx/xBUz3odDsRkyXF8ZF+DY1nIZBv3HRlvwaclzTbcMmHjpZEUlMhWr+DnFlePJpYe1NFIPo+m4b768fbncncJw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=mzs+A5xrpTbstTSa2q/Wh6TYvrPAvMnpSApukQmO5Wo=;
 b=KBemNSrq0blADZT8IBiuQsFelJWvpsBXHRId0YdrRCaiLINNjTVO9RDeHLKxljifm5yc7LssD6Fu/U/D4k03I4wQQ9wwC6dgcNOyPRomgPwNhrfAsOgot0vmyxcBnu3HRlOfFTiw4W0Ukz9qGnaHa+i2lD1fkbI8wQPpZOvYOa0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c30ad2c7aa045f5d
X-TessianGatewayMetadata: blMzAvfuHlkmXijqKjaP0UomR/68545sjcurpoBpngjgL9Jfos99eOHxTa6MSROaovL95YYGsMtcczvc16dkAienzX4dVbSpmzZSIFRpw/QKtzOWnX1fFw4KSR7zNn3BCcXu0qqlJJ48MkS1b4hBCrZMcKYygpMLCxOmzPHd9pU=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PMoX4NFFG2rKsgM6f2zgCPixQ7G9ZUDN/HYjvzmBZSjSo8fTmdYp37XupeBXw4pHZ1AOOuXfxJ5mDfcQfnxO0EZiVqhZ/UQXvbHTexPI5b3IZvPhBUlsess/eyycWdtKW4Ab7gtcPWXRc/1W4fVXKRubaf5F3VKWe4EqaB5soPBWi5sbMy0A7/9AM7YR4FAFdBzaAaqCqqIqwtOnKSUj9nAfW5k1vzoH1IO6TuxlNmQCF4xVf7BPIcCm984u9cbLRBIJM3ODrHr6PaeV7DnEqucr1n+iCZkr8FD0LQfLbB7TaJEBsYO/axSlvOfCj/X29DvefQExCoxRRk480Rlgsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mzs+A5xrpTbstTSa2q/Wh6TYvrPAvMnpSApukQmO5Wo=;
 b=XkjN9Ei7+cwlxC1SMAAwJjsbzwDtEZJU/LMIgtUUgcfn4PKF9r9iBQSMCHdpwev5+41rUNeVqAh5meXZJ+X8FDH9HQH3IqE29MfEOcRpxgzJtHNjWRxeQLr70tw3ODPlForNfsDY0uFNEc9iny3VhSkFLGTjUInlSI6H1wgJk/lHivGs3+xYT7ssDYzQ5u8+UngX7BYyT00nddjoV+LZjPy1EfPU5XFZVmxP+j+C8GbhUP2vgyUF+18yh971WlYww2WySgDtQoGoKUJIu8zbGw3BkggWfZxF9f0IvRCvyPnb5CSCRhDL6r363OXNk1mHqGXFaWsUmDzClppB5Knq9Q==
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=mzs+A5xrpTbstTSa2q/Wh6TYvrPAvMnpSApukQmO5Wo=;
 b=KBemNSrq0blADZT8IBiuQsFelJWvpsBXHRId0YdrRCaiLINNjTVO9RDeHLKxljifm5yc7LssD6Fu/U/D4k03I4wQQ9wwC6dgcNOyPRomgPwNhrfAsOgot0vmyxcBnu3HRlOfFTiw4W0Ukz9qGnaHa+i2lD1fkbI8wQPpZOvYOa0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v3 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Topic: [PATCH v3 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Index: AQHbnJ1PykHjp424LkCTJgMM8LiR4rOCFJQAgAAs7IA=
Date: Mon, 24 Mar 2025 13:05:14 +0000
Message-ID: <8C4E713A-E500-4B65-80B7-B42AF82FFF00@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
 <5fbf7b0e48a652bfe1f7cd041105cb4992924990.1742570590.git.bertrand.marquis@arm.com>
 <CAHUa44HNZ7V4sLj78zzdaK5AfYhC1-9S6uN5yfUB3kSPTmnbTA@mail.gmail.com>
In-Reply-To:
 <CAHUa44HNZ7V4sLj78zzdaK5AfYhC1-9S6uN5yfUB3kSPTmnbTA@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAXPR08MB6351:EE_|DU2PEPF00028D06:EE_|DB9PR08MB10377:EE_
X-MS-Office365-Filtering-Correlation-Id: e5d3d13a-707c-4e56-13cd-08dd6ad489b9
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|366016|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?bzdqUWZLSmxOUERoeG0wNkt2VmpGbmx4bHNmL25EbHM0aTVmTlVaOXJuYnJU?=
 =?utf-8?B?cW05allydzFwU294ZzNvbHl4aVhOaXVFbXVKbldvbnZkbDQ5YVE5a0U2ZkRk?=
 =?utf-8?B?ZFU5aXd4cE9mZkpRYWdheFZBYllnYXdncm9zdXAxRis2SXRuSHl4MmRMbU9o?=
 =?utf-8?B?bG03bmpTd3h5V1Jta0NOODdOOWg3cTQyQ1Q1WEhxMDZrZVVGUFlMYzc5R0RI?=
 =?utf-8?B?K2QySW9oRnFOSnREL0ZzSXBYdVE4cnlLakpKUnZ2aUhzSDV0bXpVNUpwcTEx?=
 =?utf-8?B?TmhTa2VhTFVkZ3VOaUtTQmZGenlESFhQY3JFbU4vMW9wVC8zS3p5TllVZE44?=
 =?utf-8?B?Sk9EMEtkNFhNNHhsOUJ0aFdtY1hlczBaK3BNeS9wLyt4UThZOVpiNitUVlVn?=
 =?utf-8?B?dGM4ZDdsQkFkb0pwZWpzSXM4eW1zbGpNNG9hVFExT0JFYjN1TXVOYXZWQnpw?=
 =?utf-8?B?RUsvaHovb1VEYWM2a25JY1dRalJwRFMwWkVkNERPY3ZnS2w3c0tUSEZUSHhY?=
 =?utf-8?B?b1NSakMxaFNJU2pidktmMWEwLzJHTkpSTEVxQkdHbFdWQi80THBmZWFVbGVT?=
 =?utf-8?B?V25yQU1WLy90VDNjVGRhdXYzbEpxMWh2WHlTUmJQRDhIa29DekxIcUNEMVcw?=
 =?utf-8?B?eERqYzFSVmlRUGdwUTB1dnBsWm9YSmxOZVNwMGZyV0xpTW52eFRWS00vcnBj?=
 =?utf-8?B?YjNXcUx3TU84Zm5mMzJCK2VRRE9xRGVWSFZHUE80WEZ0SkU5MmRvdlFpeVpy?=
 =?utf-8?B?SFRVY0hwdWVUejNkUDdiUTd4cmprWFZNOFBYT3JROVZ5MGYvQnJpaG9QM2JB?=
 =?utf-8?B?bkFoeW5QVEQwL1JqL3ByZlU3bUg0UWFmUFJiai9XM1NFVGNiNERQRVJ6YkVk?=
 =?utf-8?B?bE5TbjhIUThJUWYwM045aG1ReFM2eDFTWUNJQXhqbnRFWWZieXpocmFHaUxU?=
 =?utf-8?B?NG1FeDN6alRHNWFnQnRpd1BhWjg2OERDSy9sd2lwZmRMWUkvbG9leCtzSDho?=
 =?utf-8?B?ZXdpOWxQZHVQdHpDL2dPWW5LM3c3bWVSSjBHMFFQNjlIZGJ2VXNpTG1uMGox?=
 =?utf-8?B?azZmWktJd05pN2hzbUZ3VW5xak1OWi91MlcxSS9YOGFFSVl3S0tOb1ZNMHp2?=
 =?utf-8?B?ZEpONE9mRFByUVhoNlpGUWpWRCs3TnF6dDdFTmtRRGM5YzFhYURXZTZ4dmZK?=
 =?utf-8?B?eTYxaVRGVkpld2IzV3RDalhsVWJlcmhWL2RwaFI1VS9HaXFXTGluZ2JPL1ZJ?=
 =?utf-8?B?ZFNwSWhCOXhDaUtBRWpmRG1uNlh3QzhsUkFLUU5CbzFQNjk3U2xFNWpWOTAx?=
 =?utf-8?B?eW1NUjBuUFBDYTMzdG0vVWhXSjZteVRROUdEWlpCUlZrN3hJOSthSE56bFhu?=
 =?utf-8?B?YS9XVUtpQlQwaU9COUJJODM4SWxqQm9WTHVKU1BXS1NjajI4RXMxTWQ2TVVz?=
 =?utf-8?B?SlNzL3BQeFlsVksvR3lPVERDSFZmd0c1STVCclhBWTA2Q3RwVWlkdGFTaW54?=
 =?utf-8?B?VklIVFR4eWY3Rmo0OHk2aEEwcHkrZVpSWHZFVHltbkE1V0J2WnY0NnVoMjY5?=
 =?utf-8?B?UGs5bmRnNWJwb3IrT1dpcUhjeWVwQjZGaXJTdzdpVTArblpwcGxWbjlpZFAy?=
 =?utf-8?B?dFBRNTBob05wdFg1N2krQ29rQ1V0QTRwNnA4L2FZbDM3bjRrb0hIb3hvek13?=
 =?utf-8?B?SE8vSnFkMTVTeHNQTmRUaUtqemdaV2EvSmE3eXN0dnNMa1NMNzN2S1Y5SHUv?=
 =?utf-8?B?dDZjNm05VWhBdXh5K3ZwZmtxM3B6U0hLRGZFS1Q4ZnVieTZqQVJiSFIwK1FT?=
 =?utf-8?B?Z3hTOGFSalZMTFBQS2E2SGdHRTVjcVR2NTRueVl1SkFZcHl4YWNCM2c2NW1X?=
 =?utf-8?B?dmVNRGZHKzlIMlYyTnFJQUc5QVdlcllFdFR6QmN0WVRSamVEM1pwditzaDFM?=
 =?utf-8?Q?6wDbOMweXDPAOmG61eAjUhH4kcO05aT+?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <30C1100D8AA38A4E859A0AC8C7CE8281@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6351
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D06.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b225bb0f-1cd0-47fb-9705-08dd6ad4846e
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|35042699022|14060799003|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UmpVK2ttRjM1NHY4ejF5UmszZnE1ZjE5cC9JcGE4amhhdW42TW9NaWVtZjI2?=
 =?utf-8?B?Y2xHc2lRZnlPOXRETVFxVEJQTmo1UmFicnIrV1d3SUVmVDMwUksrYWM0NnBR?=
 =?utf-8?B?dUlxSVpJSW5JOGpjS3BKTVdZak44R0dWUkZhbUg5eXBHUWZJMzJuc0REckNL?=
 =?utf-8?B?Z05nRklLQXF3OUs5dmIyY2JXT09Wc1NsZ2YyLzRZZXhpNHNRTXlmcEZJSzNI?=
 =?utf-8?B?eUIxVXY4MUEwcWJtUUc2UnBhRjdpV3dkMThzM0VCN2RGOUFPZ3RrUFh1TkRC?=
 =?utf-8?B?NnVPL2daUnMyUVNaT2lpVDYxakR4RDRlQVRHT2ZEVGd1RFRGRlQvejByTm92?=
 =?utf-8?B?MFBHZzU5QjRnSUQ3eCtJTXVPRzRPUkJBdEppUW9BZDlwU0tuU0ZyZ3VJcDdL?=
 =?utf-8?B?VHV2YzJ1aFEvSUQ1cEtCQzVMYVRHdkZMZTVpLzUyaHNNcVhRZUtxYmpzcnN4?=
 =?utf-8?B?K3k0eUZwS3l2TW9qRDNIQ3I4RkZMTmdjSlE5aytGS3VXMHYweEJpUUtRZEVB?=
 =?utf-8?B?amU3MjJMYlV3L1F3V3NpZENuVzljbDNicjc5V0E5ZUt4cUN4SldZbWZLMEk0?=
 =?utf-8?B?UHZmWGt6YzlNZGhKa2R2Qm4rZHcwSXE3ODkxSTZlT1YvSFZvZ1FVbGl1Slly?=
 =?utf-8?B?QkFrQXBVTmN4b1VGb0IwZ28yQVpXK1ZlY1h6R1FHeTBCRVRaY1VPakEyVXpL?=
 =?utf-8?B?clJLMnJFNE45NjJqZEdFTk5EemdaaFRWck03U2d1WEZNVzI3anZGSGxZYzVK?=
 =?utf-8?B?QktuQTYvb1lYN0xPdUF0a2RyQXMyN3o4VHcveHd1VDd2ZS9KY3hxUTdLL3Mx?=
 =?utf-8?B?Q0s4cE9lMTJ0c09wUGUvMFM4WVpkaXhjdUxjV1dZSURlWTNQNlN6Rjdqa1h3?=
 =?utf-8?B?eXF3K0l2VHhnbm00YTVPTDBJa0F4Szh0NlA5QTFjZmlsaUJnM0VFZUZnRXhW?=
 =?utf-8?B?Y0M3RFZOM2kvQy9wM2pIay9SSUo1MGMrKy9SZHdpaWg1ajlNZXVLMWRkZ3NV?=
 =?utf-8?B?cFdwZ0xOQjVtdUsrYWtLQXh4MTZRaU5rSUF2TFhFbHNDY05ZUENXL3JibWJV?=
 =?utf-8?B?eUkvUTg3VTlwRVEwYVhobm5CQ003WVN0Skd4SmIvN3FsdSs0SjF5Z2VEbk9B?=
 =?utf-8?B?UVhWajBIYjRIWnRNUFhaY2k2NjM1N0ZsekhKVkJyUEJaazJ3YUN6dG82c2pn?=
 =?utf-8?B?Y1hFUjkzZjlIeEpjSXdDVjU2TWtUa1NGdy81UW4zTzE5dlh2YU91YzRYelht?=
 =?utf-8?B?MlFtMnFyOXhqVlhhKzB1STRDdkRnY0Qvb1FYd1ZVWVIzbEtLVEs2WDlHVUFE?=
 =?utf-8?B?SE42OFA1WGdiSStSMTVsNmRWSTA4Z0gwNDhaM21TUng2OXpnOVhJV1BBRFM0?=
 =?utf-8?B?VGFKdG8xeEQyUUFycjl1RzkvZjFMc2dHdTBKYU15VEgvMGhrMnlkMmF6QTR5?=
 =?utf-8?B?WW9ibnpiQnlJZnR6OUdWelh2cFB4UVhxeVpEbzQzSmhxL01yZ3FLdW1rRkRP?=
 =?utf-8?B?emVOM2pzOUd2WThNRXFNMkFGb0hNQlBQQW1KL0EzWVVRZy9uK3BCMDhWVllo?=
 =?utf-8?B?VGtRdVFXaHUrWDZabVExVTJsUUxJQUJLZ2tvSEtXL0IxVHo1Z0FDMFpPcmdt?=
 =?utf-8?B?RUZIQXRncVpCbDNHaHFONWJMSWc5NGxLMXFya2d0M3FhcW1NRTZmcFkwcjgr?=
 =?utf-8?B?WDI4RFVJRUdHa2dDQTNDM3lmUldmZVZyaXpjNllueE05RndGSXhPT1h0eFQz?=
 =?utf-8?B?Mm5ISEIya0R6WDhjbmhiV05yOWxxcmppLzJDNysraGN0VVUwNmJHVkE0S0FT?=
 =?utf-8?B?Vm1ONWNXQ1NycHg5b1RCaXFQV3JGNGkrMTltK3FIK09CWFlBak5NVCtGQ1Bj?=
 =?utf-8?B?SUczOWpyN3hSVFhJMGo5TDVETmpyVTBzYVRPUjJLalR3MWZhd0FFVmliVVd5?=
 =?utf-8?B?ajA2Uld3SFNOZVUxUTgwbjdGTHM4NzFYTUJCbDdseUo0c0ZUQ3YvSHUwR0ZY?=
 =?utf-8?Q?KCPZYwKZnNluFGtxrw54h0/tuYtyBw=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(14060799003)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 13:05:23.2541
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5d3d13a-707c-4e56-13cd-08dd6ad489b9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D06.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB10377

SGkgSmVucywNCg0KPiBPbiAyNCBNYXIgMjAyNSwgYXQgMTE6MjQsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IE9uIE1vbiwgTWFyIDI0LCAy
MDI1IGF0IDEwOjE14oCvQU0gQmVydHJhbmQgTWFycXVpcw0KPiA8YmVydHJhbmQubWFycXVpc0Bh
cm0uY29tPiB3cm90ZToNCj4+IA0KPj4gQ3JlYXRlIGEgQ09ORklHX0ZGQV9WTV9UT19WTSBwYXJh
bWV0ZXIgdG8gYWN0aXZhdGUgRkZBIGNvbW11bmljYXRpb24NCj4+IGJldHdlZW4gVk1zLg0KPj4g
V2hlbiBhY3RpdmF0ZWQgbGlzdCBWTXMgaW4gdGhlIHN5c3RlbSB3aXRoIEZGLUEgc3VwcG9ydCBp
biBwYXJ0X2luZm9fZ2V0Lg0KPj4gDQo+PiBXaGVuIFZNIHRvIFZNIGlzIGFjdGl2YXRlZCwgWGVu
IHdpbGwgYmUgdGFpbnRlZCBhcyBJbnNlY3VyZSBhbmQgYQ0KPj4gbWVzc2FnZSBpcyBkaXNwbGF5
ZWQgdG8gdGhlIHVzZXIgZHVyaW5nIHRoZSBib290IGFzIHRoZXJlIGlzIG5vDQo+PiBmaWx0ZXJp
bmcgb2YgVk1zIGluIEZGLUEgc28gYW55IFZNIGNhbiBjb21tdW5pY2F0ZSBvciBzZWUgYW55IG90
aGVyIFZNDQo+PiBpbiB0aGUgc3lzdGVtLg0KPj4gDQo+PiBXQVJOSU5HOiBUaGVyZSBpcyBubyBm
aWx0ZXJpbmcgZm9yIG5vdyBhbmQgYWxsIFZNcyBhcmUgbGlzdGVkICEhDQo+PiANCj4+IFNpZ25l
ZC1vZmYtYnk6IEJlcnRyYW5kIE1hcnF1aXMgPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4NCj4+
IC0tLQ0KPj4gQ2hhbmdlcyBpbiB2MzoNCj4+IC0gYnJlYWsgcGFydGluZm9fZ2V0IGluIHNldmVy
YWwgc3ViIGZ1bmN0aW9ucyB0byBtYWtlIHRoZSBpbXBsZW1lbnRhdGlvbg0KPj4gIGVhc2llciB0
byB1bmRlcnN0YW5kIGFuZCBsb2NrIGhhbmRsaW5nIGVhc2llcg0KPj4gLSByZXdvcmsgaW1wbGVt
ZW50YXRpb24gdG8gY2hlY2sgc2l6ZSBhbG9uZyB0aGUgd2F5IGFuZCBwcmV2ZW50IHByZXZpb3Vz
DQo+PiAgaW1wbGVtZW50YXRpb24gbGltaXRzIHdoaWNoIGhhZCB0byBjaGVjayB0aGF0IHRoZSBu
dW1iZXIgb2YgVk1zIG9yIFNQcw0KPj4gIGRpZCBub3QgY2hhbmdlDQo+PiAtIHRhaW50IFhlbiBh
cyBJTlNFQ1VSRSB3aGVuIFZNIHRvIFZNIGlzIGVuYWJsZWQNCj4+IENoYW5nZXMgaW4gdjI6DQo+
PiAtIFN3aXRjaCBpZmRlZiB0byBJU19FTkFCTEVEDQo+PiAtIGRvbSB3YXMgbm90IHN3aXRjaGVk
IHRvIGQgYXMgcmVxdWVzdGVkIGJ5IEphbiBiZWNhdXNlIHRoZXJlIGlzIGFscmVhZHkNCj4+ICBh
IHZhcmlhYmxlIGQgcG9pbnRpbmcgdG8gdGhlIGN1cnJlbnQgZG9tYWluIGFuZCBpdCBtdXN0IG5v
dCBiZQ0KPj4gIHNoYWRvd2VkLg0KPj4gLS0tDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcg
ICAgICAgIHwgIDExICsrDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jICAgICAgICAgIHwgIDEy
ICsrDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5jIHwgMjcwICsrKysrKysrKysr
KysrKysrKysrKy0tLS0tLS0tLS0tDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRlLmgg
IHwgIDEyICsrDQo+PiA0IGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRpb25zKCspLCA5MSBkZWxl
dGlvbnMoLSkNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvS2NvbmZpZyBi
L3hlbi9hcmNoL2FybS90ZWUvS2NvbmZpZw0KPj4gaW5kZXggYzViMGY4OGQ3NTIyLi44OGE0YzRj
OTkxNTQgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL0tjb25maWcNCj4+ICsrKyBi
L3hlbi9hcmNoL2FybS90ZWUvS2NvbmZpZw0KPj4gQEAgLTI4LDUgKzI4LDE2IEBAIGNvbmZpZyBG
RkENCj4+IA0KPj4gICAgICAgICAgWzFdIGh0dHBzOi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1l
bnRhdGlvbi9kZW4wMDc3L2xhdGVzdA0KPj4gDQo+PiArY29uZmlnIEZGQV9WTV9UT19WTQ0KPj4g
KyAgICBib29sICJFbmFibGUgRkYtQSBiZXR3ZWVuIFZNcyAoVU5TVVBQT1JURUQpIiBpZiBVTlNV
UFBPUlRFRA0KPj4gKyAgICBkZWZhdWx0IG4NCj4+ICsgICAgZGVwZW5kcyBvbiBGRkENCj4+ICsg
ICAgaGVscA0KPj4gKyAgICAgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdG8gdXNlIEZGLUEgYmV0d2Vl
biBWTXMuDQo+PiArICAgICAgVGhpcyBpcyBleHBlcmltZW50YWwgYW5kIHRoZXJlIGlzIG5vIGFj
Y2VzcyBjb250cm9sIHNvIGFueQ0KPj4gKyAgICAgIGd1ZXN0IGNhbiBjb21tdW5pY2F0ZSB3aXRo
IGFueSBvdGhlciBndWVzdC4NCj4+ICsNCj4+ICsgICAgICBJZiB1bnN1cmUsIHNheSBOLg0KPj4g
Kw0KPj4gZW5kbWVudQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmEu
YyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+IGluZGV4IDNiYmRkNzE2OGE2Yi4uZTQxYWI1
ZjhhZGE2IDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9mZmEuYw0KPj4gKysrIGIv
eGVuL2FyY2gvYXJtL3RlZS9mZmEuYw0KPj4gQEAgLTQ2NCw2ICs0NjQsMTggQEAgc3RhdGljIGJv
b2wgZmZhX3Byb2JlKHZvaWQpDQo+PiAgICAgcHJpbnRrKFhFTkxPR19JTkZPICJBUk0gRkYtQSBN
ZWRpYXRvciB2ZXJzaW9uICV1LiV1XG4iLA0KPj4gICAgICAgICAgICBGRkFfTVlfVkVSU0lPTl9N
QUpPUiwgRkZBX01ZX1ZFUlNJT05fTUlOT1IpOw0KPj4gDQo+PiArICAgIGlmICggSVNfRU5BQkxF
RChDT05GSUdfRkZBX1ZNX1RPX1ZNKSApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIC8qDQo+PiAr
ICAgICAgICAgKiBXaGVuIEZGQSBWTSB0byBWTSBpcyBlbmFibGVkLCB0aGUgY3VycmVudCBpbXBs
ZW1lbnRhdGlvbiBkb2VzIG5vdA0KPj4gKyAgICAgICAgICogb2ZmZXIgYW55IHdheSB0byBsaW1p
dCB3aGljaCBWTSBjYW4gY29tbXVuaWNhdGUgd2l0aCB3aGljaCBWTSB1c2luZw0KPj4gKyAgICAg
ICAgICogRkYtQS4NCj4+ICsgICAgICAgICAqIFNpZ25hbCB0aGlzIGluIHRoZSB4ZW4gY29uc29s
ZSBhbmQgdGFpbnQgdGhlIHN5c3RlbSBhcyBpbnNlY3VyZS4NCj4+ICsgICAgICAgICAqIFRPRE86
IEludHJvZHVjZSBhIHNvbHV0aW9uIHRvIGxpbWl0IHdoYXQgYSBWTSBjYW4gZG8gdGhyb3VnaCBG
RkEuDQo+PiArICAgICAgICAgKi8NCj4+ICsgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJmZmE6
IFZNIHRvIFZNIGlzIGVuYWJsZWQsIHN5c3RlbSBpcyBpbnNlY3VyZSAhIVxuIik7DQo+PiArICAg
ICAgICBhZGRfdGFpbnQoVEFJTlRfTUFDSElORV9JTlNFQ1VSRSk7DQo+PiArICAgIH0NCj4+ICAg
ICAvKg0KPj4gICAgICAqIHBzY2lfaW5pdF9zbWNjYygpIHVwZGF0ZXMgdGhpcyB2YWx1ZSB3aXRo
IHdoYXQncyByZXBvcnRlZCBieSBFTC0zDQo+PiAgICAgICogb3Igc2VjdXJlIHdvcmxkLg0KPj4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMgYi94ZW4vYXJjaC9h
cm0vdGVlL2ZmYV9wYXJ0aW5mby5jDQo+PiBpbmRleCBjMDUxMGNlYjgzMzguLjkzODQ3YjM2Y2Yy
ZiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMNCj4+ICsr
KyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMNCj4+IEBAIC02Myw5ICs2MywxNTIg
QEAgc3RhdGljIGludDMyX3QgZmZhX3BhcnRpdGlvbl9pbmZvX2dldCh1aW50MzJfdCAqdXVpZCwg
dWludDMyX3QgZmxhZ3MsDQo+PiAgICAgcmV0dXJuIHJldDsNCj4+IH0NCj4+IA0KPj4gLXZvaWQg
ZmZhX2hhbmRsZV9wYXJ0aXRpb25faW5mb19nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp
DQo+PiArc3RhdGljIGludDMyX3QgZmZhX2dldF9zcF9jb3VudCh1aW50MzJfdCAqdXVpZCwgdWlu
dDMyX3QgKnNwX2NvdW50KQ0KPj4gK3sNCj4+ICsgICAgdWludDMyX3Qgc3JjX3NpemU7DQo+PiAr
DQo+PiArICAgIHJldHVybiBmZmFfcGFydGl0aW9uX2luZm9fZ2V0KHV1aWQsIEZGQV9QQVJUSVRJ
T05fSU5GT19HRVRfQ09VTlRfRkxBRywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3BfY291bnQsICZzcmNfc2l6ZSk7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQz
Ml90IGZmYV9nZXRfc3BfcGFydGluZm8odWludDMyX3QgKnV1aWQsIHVpbnQzMl90ICpzcF9jb3Vu
dCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRzdF9idWYs
IHZvaWQgKmVuZF9idWYsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBkc3Rfc2l6ZSkNCj4+IHsNCj4+ICAgICBpbnQzMl90IHJldDsNCj4+ICsgICAgdWlu
dDMyX3Qgc3JjX3NpemUsIHJlYWxfc3BfY291bnQ7DQo+PiArICAgIHZvaWQgKnNyY19idWYgPSBm
ZmFfcng7DQo+PiArDQo+PiArICAgICpzcF9jb3VudCA9IDA7DQo+PiArDQo+PiArICAgIC8qIERv
IHdlIGhhdmUgYSBSWCBidWZmZXIgd2l0aCB0aGUgU1BNQyAqLw0KPj4gKyAgICBpZiAoICFmZmFf
cnggKQ0KPj4gKyAgICAgICAgcmV0dXJuIEZGQV9SRVRfREVOSUVEOw0KPj4gKw0KPj4gKyAgICAv
KiBXZSBuZWVkIHRvIHVzZSB0aGUgUlggYnVmZmVyIHRvIHJlY2VpdmUgdGhlIGxpc3QgKi8NCj4+
ICsgICAgc3Bpbl9sb2NrKCZmZmFfcnhfYnVmZmVyX2xvY2spOw0KPj4gKw0KPj4gKyAgICByZXQg
PSBmZmFfcGFydGl0aW9uX2luZm9fZ2V0KHV1aWQsIDAsICZyZWFsX3NwX2NvdW50LCAmc3JjX3Np
emUpOw0KPj4gKyAgICBpZiAoIHJldCApDQo+PiArICAgICAgICBnb3RvIG91dDsNCj4+ICsNCj4+
ICsgICAgLyogV2Ugbm93IG93biB0aGUgUlggYnVmZmVyICovDQo+PiArDQo+PiArICAgIC8qIFdl
IG9ubHkgc3VwcG9ydCBhIDEuMSBmaXJtd2FyZSB2ZXJzaW9uICovDQo+PiArICAgIGlmICggc3Jj
X3NpemUgIT0gc2l6ZW9mKHN0cnVjdCBmZmFfcGFydGl0aW9uX2luZm9fMV8xKSApDQo+IA0KPiBC
ZWZvcmUgdGhpcyBjaGFuZ2UsIHdlIHN1cHBvcnRlZCBmaXJtd2FyZSB2ZXJzaW9uIDEuMC4gSXQg
bG9va3MgbGlrZQ0KPiB0aGUgY29kZSBiZWxvdyBzaG91bGQgd29yayB3aXRoICJzcmNfc2l6ZSA8
IHNpemVvZihzdHJ1Y3QNCj4gZmZhX3BhcnRpdGlvbl9pbmZvXzFfMCkiIGFzIHdlIGhhZCBiZWZv
cmUuDQoNCllvdSBhcmUgcmlnaHQgdGhpcyBzaG91bGQgbm90IGJlIGhlcmUuDQoNCnYxLjAgc3Ry
dWN0dXJlIHNpemUgc2hvdWxkIGJlIG9rLCBpIHdpbGwganVzdCBuZWVkIHRvIG1lbXNldCB0byAw
IHRoZSBVVUlEDQpwYXJ0IGlmIGRlc3RpbmF0aW9uIHNpemUgaXMgYmlnZ2VyLg0KDQpJIHdpbGwg
Zml4IHRoYXQuDQoNCj4gDQo+PiArICAgIHsNCj4+ICsgICAgICAgIHJldCA9IEZGQV9SRVRfTk9U
X1NVUFBPUlRFRDsNCj4+ICsgICAgICAgIGdvdG8gb3V0X3JlbGVhc2U7DQo+PiArICAgIH0NCj4+
ICsNCj4+ICsgICAgZm9yICggdWludDMyX3Qgc3BfbnVtID0gMDsgc3BfbnVtIDwgcmVhbF9zcF9j
b3VudDsgc3BfbnVtKysgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBzdHJ1Y3QgZmZhX3BhcnRp
dGlvbl9pbmZvXzFfMSAqZnBpID0gc3JjX2J1ZjsNCj4+ICsNCj4+ICsgICAgICAgIC8qIGZpbHRl
ciBvdXQgU1Agbm90IGZvbGxvd2luZyBiaXQgMTUgY29udmVudGlvbiBpZiBhbnkgKi8NCj4+ICsg
ICAgICAgIGlmICggRkZBX0lEX0lTX1NFQ1VSRShmcGktPmlkKSApDQo+PiArICAgICAgICB7DQo+
PiArICAgICAgICAgICAgaWYgKCBkc3RfYnVmICsgZHN0X3NpemUgPiBlbmRfYnVmICkNCj4+ICsg
ICAgICAgICAgICB7DQo+PiArICAgICAgICAgICAgICAgIHJldCA9IEZGQV9SRVRfTk9fTUVNT1JZ
Ow0KPj4gKyAgICAgICAgICAgICAgICBnb3RvIG91dF9yZWxlYXNlOw0KPj4gKyAgICAgICAgICAg
IH0NCj4+ICsNCj4+ICsgICAgICAgICAgICBtZW1jcHkoZHN0X2J1Ziwgc3JjX2J1ZiwgZHN0X3Np
emUpOw0KPj4gKyAgICAgICAgICAgIGRzdF9idWYgKz0gZHN0X3NpemU7DQo+PiArICAgICAgICAg
ICAgKnNwX2NvdW50ICs9IDE7DQo+IA0KPiBUaGlzIGlzIHN1YnRsZSBhbmQgZWFzaWx5IG1pc3Vu
ZGVyc3Rvb2QuIE5vcm1hbGx5IHlvdSdkIHVzZSB0aGUgKysNCj4gb3BlcmF0b3Igd2hlbiBpbmNy
ZW1lbnRpbmcgYnkgb25lLCBidXQgdGhhdCBkb2Vzbid0IHdvcmsgYXMgaW50ZW5kZWQNCj4gdW5s
ZXNzIHdyaXR0ZW4gYXMgKCpzcF9jb3VudCkrKy4gSSBwcmVmZXIgdXNpbmcgYSBsb2NhbCB2YXJp
YWJsZSBhbmQNCj4gdXBkYXRpbmcgKnNwX2NvdW50IHdpdGggYSBub3JtYWwgYXNzaWdubWVudCB3
aGVuIHRoZSBsb29wIGlzIGRvbmUuIElmDQo+IHlvdSBhZ3JlZSwgcGxlYXNlIHVwZGF0ZSBmZmFf
Z2V0X3ZtX3BhcnRpbmZvKCkgdG9vIHNpbmNlIGl0IGhhcyB0aGUNCj4gc2FtZSBwYXR0ZXJuLg0K
DQpUaGlzIGlzIHdoeSBpIGRpZCBub3QgdXNlIHRoZSArKyBmb3JtLg0KDQpJIHdpbGwgc3dpdGNo
IHRvIGEgbG9jYWwgdmFyaWFibGUgaWYgeW91IHRoaW5rIHRoaXMgaXMgYmV0dGVyLg0KDQpDaGVl
cnMNCkJlcnRyYW5kDQoNCg0KPiANCj4gQ2hlZXJzLA0KPiBKZW5zDQo+IA0KPj4gKyAgICAgICAg
fQ0KPj4gKw0KPj4gKyAgICAgICAgc3JjX2J1ZiArPSBzcmNfc2l6ZTsNCj4+ICsgICAgfQ0KPj4g
Kw0KPj4gK291dF9yZWxlYXNlOg0KPj4gKyAgICBmZmFfaHlwX3J4X3JlbGVhc2UoKTsNCj4+ICtv
dXQ6DQo+PiArICAgIHNwaW5fdW5sb2NrKCZmZmFfcnhfYnVmZmVyX2xvY2spOw0KPj4gKyAgICBy
ZXR1cm4gcmV0Ow0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdWludDMyX3QgZmZhX2dldF92bV9j
b3VudCh2b2lkKQ0KPj4gK3sNCj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRv
bWFpbjsNCj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZG9tOw0KPj4gKyAgICB1aW50MzJfdCB2bV9j
b3VudCA9IDA7DQo+PiArDQo+PiArICAgIC8qIENvdW50IHRoZSBudW1iZXIgb2YgVk0gd2l0aCBG
Ri1BIHN1cHBvcnQgKi8NCj4+ICsgICAgcmN1X3JlYWRfbG9jaygmZG9tbGlzdF9yZWFkX2xvY2sp
Ow0KPj4gKyAgICBmb3JfZWFjaF9kb21haW4oIGRvbSApDQo+PiArICAgIHsNCj4+ICsgICAgICAg
IHN0cnVjdCBmZmFfY3R4ICp2bSA9IGRvbS0+YXJjaC50ZWU7DQo+PiArDQo+PiArICAgICAgICBp
ZiAoZG9tICE9IGQgJiYgdm0gIT0gTlVMTCAmJiB2bS0+Z3Vlc3RfdmVycyAhPSAwKQ0KPj4gKyAg
ICAgICAgICAgIHZtX2NvdW50Kys7DQo+PiArICAgIH0NCj4+ICsgICAgcmN1X3JlYWRfdW5sb2Nr
KCZkb21saXN0X3JlYWRfbG9jayk7DQo+PiArDQo+PiArICAgIHJldHVybiB2bV9jb3VudDsNCj4+
ICt9DQo+PiArDQo+PiArc3RhdGljIGludDMyX3QgZmZhX2dldF92bV9wYXJ0aW5mbyh1aW50MzJf
dCAqdm1fY291bnQsIHZvaWQgKmRzdF9idWYsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2b2lkICplbmRfYnVmLCB1aW50MzJfdCBkc3Rfc2l6ZSkNCj4+ICt7DQo+PiAr
ICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+PiArICAgIHN0cnVjdCBk
b21haW4gKmRvbTsNCj4+ICsgICAgaW50MzJfdCByZXQgPSBGRkFfUkVUX09LOw0KPj4gKw0KPj4g
KyAgICAqdm1fY291bnQgPSAwOw0KPj4gKw0KPj4gKyAgICByY3VfcmVhZF9sb2NrKCZkb21saXN0
X3JlYWRfbG9jayk7DQo+PiArICAgIGZvcl9lYWNoX2RvbWFpbiggZG9tICkNCj4+ICsgICAgew0K
Pj4gKyAgICAgICAgc3RydWN0IGZmYV9jdHggKnZtID0gZG9tLT5hcmNoLnRlZTsNCj4+ICsNCj4+
ICsgICAgICAgIC8qDQo+PiArICAgICAgICAgKiB3ZSBkbyBub3QgYWRkIHRoZSBWTSBjYWxsaW5n
IHRvIHRoZSBsaXN0IGFuZCBvbmx5IFZNcyB3aXRoDQo+PiArICAgICAgICAgKiBGRi1BIHN1cHBv
cnQNCj4+ICsgICAgICAgICAqLw0KPj4gKyAgICAgICAgaWYgKCBkb20gIT0gZCAmJiB2bSAhPSBO
VUxMICYmIHZtLT5ndWVzdF92ZXJzICE9IDAgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAgICAg
ICAgIC8qDQo+PiArICAgICAgICAgICAgICogV2UgZG8gbm90IGhhdmUgVVVJRCBpbmZvIGZvciBW
TXMgc28gdXNlDQo+PiArICAgICAgICAgICAgICogdGhlIDEuMCBzdHJ1Y3R1cmUgc28gdGhhdCB3
ZSBzZXQgVVVJRHMgdG8NCj4+ICsgICAgICAgICAgICAgKiB6ZXJvIHVzaW5nIG1lbXNldA0KPj4g
KyAgICAgICAgICAgICAqLw0KPj4gKyAgICAgICAgICAgIHN0cnVjdCBmZmFfcGFydGl0aW9uX2lu
Zm9fMV8wIHNyY3ZtOw0KPj4gKw0KPj4gKyAgICAgICAgICAgIGlmICAoIGRzdF9idWYgKyBkc3Rf
c2l6ZSA+IGVuZF9idWYgKQ0KPj4gKyAgICAgICAgICAgIHsNCj4+ICsgICAgICAgICAgICAgICAg
cmV0ID0gRkZBX1JFVF9OT19NRU1PUlk7DQo+PiArICAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0K
Pj4gKyAgICAgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgICAgICBzcmN2bS5pZCA9IGZmYV9n
ZXRfdm1faWQoZG9tKTsNCj4+ICsgICAgICAgICAgICBzcmN2bS5leGVjdXRpb25fY29udGV4dCA9
IGRvbS0+bWF4X3ZjcHVzOw0KPj4gKyAgICAgICAgICAgIHNyY3ZtLnBhcnRpdGlvbl9wcm9wZXJ0
aWVzID0gRkZBX1BBUlRfVk1fUFJPUDsNCj4+ICsgICAgICAgICAgICBpZiAoIGlzXzY0Yml0X2Rv
bWFpbihkb20pICkNCj4+ICsgICAgICAgICAgICAgICAgc3Jjdm0ucGFydGl0aW9uX3Byb3BlcnRp
ZXMgfD0gRkZBX1BBUlRfUFJPUF9BQVJDSDY0X1NUQVRFOw0KPj4gKw0KPj4gKyAgICAgICAgICAg
IG1lbWNweShkc3RfYnVmLCAmc3Jjdm0sIE1JTihzaXplb2Yoc3Jjdm0pLCBkc3Rfc2l6ZSkpOw0K
Pj4gKw0KPj4gKyAgICAgICAgICAgIGlmICggZHN0X3NpemUgPiBzaXplb2Yoc3Jjdm0pICkNCj4+
ICsgICAgICAgICAgICAgICAgbWVtc2V0KGRzdF9idWYgKyBzaXplb2Yoc3Jjdm0pLCAwLA0KPj4g
KyAgICAgICAgICAgICAgICAgICAgICAgZHN0X3NpemUgLSBzaXplb2Yoc3Jjdm0pKTsNCj4+ICsN
Cj4+ICsgICAgICAgICAgICBkc3RfYnVmICs9IGRzdF9zaXplOw0KPj4gKyAgICAgICAgICAgICp2
bV9jb3VudCArPSAxOw0KPj4gKyAgICAgICAgfQ0KPj4gKyAgICB9DQo+PiArDQo+PiArb3V0Og0K
Pj4gKyAgICByY3VfcmVhZF91bmxvY2soJmRvbWxpc3RfcmVhZF9sb2NrKTsNCj4+ICsNCj4+ICsg
ICAgcmV0dXJuIHJldDsNCj4+ICt9DQo+PiArDQo+PiArDQo+PiArdm9pZCBmZmFfaGFuZGxlX3Bh
cnRpdGlvbl9pbmZvX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICt7DQo+PiAr
ICAgIGludDMyX3QgcmV0ID0gRkZBX1JFVF9PSzsNCj4+ICAgICBzdHJ1Y3QgZG9tYWluICpkID0g
Y3VycmVudC0+ZG9tYWluOw0KPj4gICAgIHN0cnVjdCBmZmFfY3R4ICpjdHggPSBkLT5hcmNoLnRl
ZTsNCj4+ICAgICB1aW50MzJfdCBmbGFncyA9IGdldF91c2VyX3JlZyhyZWdzLCA1KTsNCj4+IEBA
IC03NSw5ICsyMTgsOSBAQCB2b2lkIGZmYV9oYW5kbGVfcGFydGl0aW9uX2luZm9fZ2V0KHN0cnVj
dCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gICAgICAgICBnZXRfdXNlcl9yZWcocmVncywgMyks
DQo+PiAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCA0KSwNCj4+ICAgICB9Ow0KPj4gLSAgICB1
aW50MzJfdCBzcmNfc2l6ZSwgZHN0X3NpemU7DQo+PiAtICAgIHZvaWQgKmRzdF9idWY7DQo+PiAt
ICAgIHVpbnQzMl90IGZmYV9zcF9jb3VudCA9IDA7DQo+PiArICAgIHVpbnQzMl90IGRzdF9zaXpl
ID0gMDsNCj4+ICsgICAgdm9pZCAqZHN0X2J1ZiwgKmVuZF9idWY7DQo+PiArICAgIHVpbnQzMl90
IGZmYV92bV9jb3VudCA9IDAsIGZmYV9zcF9jb3VudCA9IDA7DQo+PiANCj4+ICAgICAvKg0KPj4g
ICAgICAqIElmIHRoZSBndWVzdCBpcyB2MS4wLCBoZSBkb2VzIG5vdCBnZXQgYmFjayB0aGUgZW50
cnkgc2l6ZSBzbyB3ZSBtdXN0DQo+PiBAQCAtODksMTE4ICsyMzIsNjMgQEAgdm9pZCBmZmFfaGFu
ZGxlX3BhcnRpdGlvbl9pbmZvX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICAg
ICBlbHNlDQo+PiAgICAgICAgIGRzdF9zaXplID0gc2l6ZW9mKHN0cnVjdCBmZmFfcGFydGl0aW9u
X2luZm9fMV8xKTsNCj4+IA0KPj4gLSAgICAvKg0KPj4gLSAgICAgKiBGRi1BIHYxLjAgaGFzIHc1
IE1CWiB3aGlsZSB2MS4xIGFsbG93cw0KPj4gLSAgICAgKiBGRkFfUEFSVElUSU9OX0lORk9fR0VU
X0NPVU5UX0ZMQUcgdG8gYmUgbm9uLXplcm8uDQo+PiAtICAgICAqDQo+PiAtICAgICAqIEZGQV9Q
QVJUSVRJT05fSU5GT19HRVRfQ09VTlQgaXMgb25seSB1c2luZyByZWdpc3RlcnMgYW5kIG5vdCB0
aGUNCj4+IC0gICAgICogcnh0eCBidWZmZXIgc28gZG8gdGhlIHBhcnRpdGlvbl9pbmZvX2dldCBk
aXJlY3RseS4NCj4+IC0gICAgICovDQo+PiAtICAgIGlmICggZmxhZ3MgPT0gRkZBX1BBUlRJVElP
Tl9JTkZPX0dFVF9DT1VOVF9GTEFHICYmDQo+PiAtICAgICAgICAgY3R4LT5ndWVzdF92ZXJzID09
IEZGQV9WRVJTSU9OXzFfMSApDQo+PiArICAgIC8qIE9ubHkgY291bnQgcmVxdWVzdGVkICovDQo+
PiArICAgIGlmICggZmxhZ3MgKQ0KPj4gICAgIHsNCj4+ICsgICAgICAgIC8qDQo+PiArICAgICAg
ICAgKiBGRi1BIHYxLjAgaGFzIHc1IE1CWiB3aGlsZSB2MS4xIGFsbG93cw0KPj4gKyAgICAgICAg
ICogRkZBX1BBUlRJVElPTl9JTkZPX0dFVF9DT1VOVF9GTEFHIHRvIGJlIG5vbi16ZXJvLg0KPj4g
KyAgICAgICAgICovDQo+PiArICAgICAgICBpZiAoIGN0eC0+Z3Vlc3RfdmVycyA9PSBGRkFfVkVS
U0lPTl8xXzAgfHwNCj4+ICsgICAgICAgICAgICAgICAgZmxhZ3MgIT0gRkZBX1BBUlRJVElPTl9J
TkZPX0dFVF9DT1VOVF9GTEFHICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAgICAgICByZXQg
PSBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+ICsgICAgICAgICAgICBnb3RvIG91dDsN
Cj4+ICsgICAgICAgIH0NCj4+ICsNCj4+ICAgICAgICAgaWYgKCBmZmFfZndfc3VwcG9ydHNfZmlk
KEZGQV9QQVJUSVRJT05fSU5GT19HRVQpICkNCj4+IC0gICAgICAgICAgICByZXQgPSBmZmFfcGFy
dGl0aW9uX2luZm9fZ2V0KHV1aWQsIGZsYWdzLCAmZmZhX3NwX2NvdW50LA0KPj4gLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3JjX3NpemUpOw0KPj4gLSAgICAgICAg
ZWxzZQ0KPj4gLSAgICAgICAgICAgIHJldCA9IEZGQV9SRVRfT0s7DQo+PiArICAgICAgICB7DQo+
PiArICAgICAgICAgICAgcmV0ID0gZmZhX2dldF9zcF9jb3VudCh1dWlkLCAmZmZhX3NwX2NvdW50
KTsNCj4+ICsgICAgICAgICAgICBpZiAoIHJldCApDQo+PiArICAgICAgICAgICAgICAgIGdvdG8g
b3V0Ow0KPj4gKyAgICAgICAgfQ0KPj4gDQo+PiAtICAgICAgICBnb3RvIG91dDsNCj4+IC0gICAg
fQ0KPj4gKyAgICAgICAgaWYgKCBJU19FTkFCTEVEKENPTkZJR19GRkFfVk1fVE9fVk0pICkNCj4+
ICsgICAgICAgICAgICBmZmFfdm1fY291bnQgPSBmZmFfZ2V0X3ZtX2NvdW50KCk7DQo+PiANCj4+
IC0gICAgaWYgKCBmbGFncyApDQo+PiAtICAgIHsNCj4+IC0gICAgICAgIHJldCA9IEZGQV9SRVRf
SU5WQUxJRF9QQVJBTUVURVJTOw0KPj4gLSAgICAgICAgZ290byBvdXQ7DQo+PiAtICAgIH0NCj4+
IC0NCj4+IC0gICAgaWYgKCAhZmZhX2Z3X3N1cHBvcnRzX2ZpZChGRkFfUEFSVElUSU9OX0lORk9f
R0VUKSApDQo+PiAtICAgIHsNCj4+IC0gICAgICAgIC8qIEp1c3QgZ2l2ZSBhbiBlbXB0eSBwYXJ0
aXRpb24gbGlzdCB0byB0aGUgY2FsbGVyICovDQo+PiAtICAgICAgICByZXQgPSBGRkFfUkVUX09L
Ow0KPj4gICAgICAgICBnb3RvIG91dDsNCj4+ICAgICB9DQo+PiANCj4+ICsgICAgLyogR2V0IHRo
ZSBSWCBidWZmZXIgdG8gd3JpdGUgdGhlIGxpc3Qgb2YgcGFydGl0aW9ucyAqLw0KPj4gICAgIHJl
dCA9IGZmYV9yeF9hY3F1aXJlKGQpOw0KPj4gICAgIGlmICggcmV0ICE9IEZGQV9SRVRfT0sgKQ0K
Pj4gICAgICAgICBnb3RvIG91dDsNCj4+IA0KPj4gICAgIGRzdF9idWYgPSBjdHgtPnJ4Ow0KPj4g
KyAgICBlbmRfYnVmID0gY3R4LT5yeCArIGN0eC0+cGFnZV9jb3VudCAqIEZGQV9QQUdFX1NJWkU7
DQo+PiANCj4+IC0gICAgaWYgKCAhZmZhX3J4ICkNCj4+ICsgICAgaWYgKCBmZmFfZndfc3VwcG9y
dHNfZmlkKEZGQV9QQVJUSVRJT05fSU5GT19HRVQpICkNCj4+ICAgICB7DQo+PiAtICAgICAgICBy
ZXQgPSBGRkFfUkVUX0RFTklFRDsNCj4+IC0gICAgICAgIGdvdG8gb3V0X3J4X3JlbGVhc2U7DQo+
PiAtICAgIH0NCj4+IC0NCj4+IC0gICAgc3Bpbl9sb2NrKCZmZmFfcnhfYnVmZmVyX2xvY2spOw0K
Pj4gLQ0KPj4gLSAgICByZXQgPSBmZmFfcGFydGl0aW9uX2luZm9fZ2V0KHV1aWQsIDAsICZmZmFf
c3BfY291bnQsICZzcmNfc2l6ZSk7DQo+PiArICAgICAgICByZXQgPSBmZmFfZ2V0X3NwX3BhcnRp
bmZvKHV1aWQsICZmZmFfc3BfY291bnQsIGRzdF9idWYsIGVuZF9idWYsDQo+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9zaXplKTsNCj4+IA0KPj4gLSAgICBpZiAoIHJl
dCApDQo+PiAtICAgICAgICBnb3RvIG91dF9yeF9oeXBfdW5sb2NrOw0KPj4gKyAgICAgICAgaWYg
KCByZXQgKQ0KPj4gKyAgICAgICAgICAgIGdvdG8gb3V0X3J4X3JlbGVhc2U7DQo+PiANCj4+IC0g
ICAgLyoNCj4+IC0gICAgICogZmZhX3BhcnRpdGlvbl9pbmZvX2dldCgpIHN1Y2NlZWRlZCBzbyB3
ZSBub3cgb3duIHRoZSBSWCBidWZmZXIgd2UNCj4+IC0gICAgICogc2hhcmUgd2l0aCB0aGUgU1BN
Qy4gV2UgbXVzdCBnaXZlIGl0IGJhY2sgdXNpbmcgZmZhX2h5cF9yeF9yZWxlYXNlKCkNCj4+IC0g
ICAgICogb25jZSB3ZSd2ZSBjb3BpZWQgdGhlIGNvbnRlbnQuDQo+PiAtICAgICAqLw0KPj4gLQ0K
Pj4gLSAgICAvKiB3ZSBjYW5ub3QgaGF2ZSBhIHNpemUgc21hbGxlciB0aGFuIDEuMCBzdHJ1Y3R1
cmUgKi8NCj4+IC0gICAgaWYgKCBzcmNfc2l6ZSA8IHNpemVvZihzdHJ1Y3QgZmZhX3BhcnRpdGlv
bl9pbmZvXzFfMCkgKQ0KPj4gLSAgICB7DQo+PiAtICAgICAgICByZXQgPSBGRkFfUkVUX05PVF9T
VVBQT1JURUQ7DQo+PiAtICAgICAgICBnb3RvIG91dF9yeF9oeXBfcmVsZWFzZTsNCj4+IC0gICAg
fQ0KPj4gLQ0KPj4gLSAgICBpZiAoIGN0eC0+cGFnZV9jb3VudCAqIEZGQV9QQUdFX1NJWkUgPCBm
ZmFfc3BfY291bnQgKiBkc3Rfc2l6ZSApDQo+PiAtICAgIHsNCj4+IC0gICAgICAgIHJldCA9IEZG
QV9SRVRfTk9fTUVNT1JZOw0KPj4gLSAgICAgICAgZ290byBvdXRfcnhfaHlwX3JlbGVhc2U7DQo+
PiArICAgICAgICBkc3RfYnVmICs9IGZmYV9zcF9jb3VudCAqIGRzdF9zaXplOw0KPj4gICAgIH0N
Cj4+IA0KPj4gLSAgICBpZiAoIGZmYV9zcF9jb3VudCA+IDAgKQ0KPj4gLSAgICB7DQo+PiAtICAg
ICAgICB1aW50MzJfdCBuLCBuX2xpbWl0ID0gZmZhX3NwX2NvdW50Ow0KPj4gLSAgICAgICAgdm9p
ZCAqc3JjX2J1ZiA9IGZmYV9yeDsNCj4+IC0NCj4+IC0gICAgICAgIC8qIGNvcHkgdGhlIHNlY3Vy
ZSBwYXJ0aXRpb25zIGluZm8gKi8NCj4+IC0gICAgICAgIGZvciAoIG4gPSAwOyBuIDwgbl9saW1p
dDsgbisrICkNCj4+IC0gICAgICAgIHsNCj4+IC0gICAgICAgICAgICBzdHJ1Y3QgZmZhX3BhcnRp
dGlvbl9pbmZvXzFfMSAqZnBpID0gc3JjX2J1ZjsNCj4+IC0NCj4+IC0gICAgICAgICAgICAvKiBm
aWx0ZXIgb3V0IFNQIG5vdCBmb2xsb3dpbmcgYml0IDE1IGNvbnZlbnRpb24gaWYgYW55ICovDQo+
PiAtICAgICAgICAgICAgaWYgKCBGRkFfSURfSVNfU0VDVVJFKGZwaS0+aWQpICkNCj4+IC0gICAg
ICAgICAgICB7DQo+PiAtICAgICAgICAgICAgICAgIG1lbWNweShkc3RfYnVmLCBzcmNfYnVmLCBk
c3Rfc2l6ZSk7DQo+PiAtICAgICAgICAgICAgICAgIGRzdF9idWYgKz0gZHN0X3NpemU7DQo+PiAt
ICAgICAgICAgICAgfQ0KPj4gLSAgICAgICAgICAgIGVsc2UNCj4+IC0gICAgICAgICAgICAgICAg
ZmZhX3NwX2NvdW50LS07DQo+PiArICAgIGlmICggSVNfRU5BQkxFRChDT05GSUdfRkZBX1ZNX1RP
X1ZNKSApDQo+PiArICAgICAgICByZXQgPSBmZmFfZ2V0X3ZtX3BhcnRpbmZvKCZmZmFfdm1fY291
bnQsIGRzdF9idWYsIGVuZF9idWYsIGRzdF9zaXplKTsNCj4+IA0KPj4gLSAgICAgICAgICAgIHNy
Y19idWYgKz0gc3JjX3NpemU7DQo+PiAtICAgICAgICB9DQo+PiAtICAgIH0NCj4+IC0NCj4+IC1v
dXRfcnhfaHlwX3JlbGVhc2U6DQo+PiAtICAgIGZmYV9oeXBfcnhfcmVsZWFzZSgpOw0KPj4gLW91
dF9yeF9oeXBfdW5sb2NrOg0KPj4gLSAgICBzcGluX3VubG9jaygmZmZhX3J4X2J1ZmZlcl9sb2Nr
KTsNCj4+IG91dF9yeF9yZWxlYXNlOg0KPj4gLSAgICAvKg0KPj4gLSAgICAgKiBUaGUgY2FsbGlu
ZyBWTSBSWCBidWZmZXIgb25seSBjb250YWlucyBkYXRhIHRvIGJlIHVzZWQgYnkgdGhlIFZNIGlm
IHRoZQ0KPj4gLSAgICAgKiBjYWxsIHdhcyBzdWNjZXNzZnVsLCBpbiB3aGljaCBjYXNlIHRoZSBW
TSBoYXMgdG8gcmVsZWFzZSB0aGUgYnVmZmVyDQo+PiAtICAgICAqIG9uY2UgaXQgaGFzIHVzZWQg
dGhlIGRhdGEuDQo+PiAtICAgICAqIElmIHNvbWV0aGluZyB3ZW50IHdyb25nIGR1cmluZyB0aGUg
Y2FsbCwgd2UgaGF2ZSB0byByZWxlYXNlIHRoZSBSWA0KPj4gLSAgICAgKiBidWZmZXIgYmFjayB0
byB0aGUgU1BNQyBhcyB0aGUgVk0gd2lsbCBub3QgZG8gaXQuDQo+PiAtICAgICAqLw0KPj4gLSAg
ICBpZiAoIHJldCAhPSBGRkFfUkVUX09LICkNCj4+ICsgICAgaWYgKCByZXQgKQ0KPj4gICAgICAg
ICBmZmFfcnhfcmVsZWFzZShkKTsNCj4+IG91dDoNCj4+ICAgICBpZiAoIHJldCApDQo+PiAgICAg
ICAgIGZmYV9zZXRfcmVnc19lcnJvcihyZWdzLCByZXQpOw0KPj4gICAgIGVsc2UNCj4+IC0gICAg
ICAgIGZmYV9zZXRfcmVnc19zdWNjZXNzKHJlZ3MsIGZmYV9zcF9jb3VudCwgZHN0X3NpemUpOw0K
Pj4gKyAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVncywgZmZhX3NwX2NvdW50ICsgZmZh
X3ZtX2NvdW50LCBkc3Rfc2l6ZSk7DQo+PiB9DQo+PiANCj4+IHN0YXRpYyBpbnQzMl90IGZmYV9k
aXJlY3RfcmVxX3NlbmRfdm0odWludDE2X3Qgc3BfaWQsIHVpbnQxNl90IHZtX2lkLA0KPj4gZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaCBiL3hlbi9hcmNoL2FybS90
ZWUvZmZhX3ByaXZhdGUuaA0KPj4gaW5kZXggYzRjZDY1NTM4OTA4Li5iZDY4NzdkOGM2MzIgMTAw
NjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRlLmgNCj4+ICsrKyBiL3hl
bi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaA0KPj4gQEAgLTE4Nyw2ICsxODcsMTggQEANCj4+
ICAqLw0KPj4gI2RlZmluZSBGRkFfUEFSVElUSU9OX0lORk9fR0VUX0NPVU5UX0ZMQUcgQklUKDAs
IFUpDQo+PiANCj4+ICsvKg0KPj4gKyAqIFBhcnRpdGlvbiBwcm9wZXJ0aWVzIHdlIGdpdmUgZm9y
IGEgbm9ybWFsIHdvcmxkIFZNOg0KPj4gKyAqIC0gY2FuIHNlbmQgZGlyZWN0IG1lc3NhZ2UgYnV0
IG5vdCByZWNlaXZlIHRoZW0NCj4+ICsgKiAtIGNhbiBoYW5kbGUgaW5kaXJlY3QgbWVzc2FnZXMN
Cj4+ICsgKiAtIGNhbiByZWNlaXZlIG5vdGlmaWNhdGlvbnMNCj4+ICsgKiAzMi82NCBiaXQgZmxh
ZyBpcyBzZXQgZGVwZW5kaW5nIG9uIHRoZSBWTQ0KPj4gKyAqLw0KPj4gKyNkZWZpbmUgRkZBX1BB
UlRfVk1fUFJPUCAgICAoRkZBX1BBUlRfUFJPUF9ESVJFQ1RfUkVRX1NFTkQgfCBcDQo+PiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGRkFfUEFSVF9QUk9QX0lORElSRUNUX01TR1MgfCBc
DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGRkFfUEFSVF9QUk9QX1JFQ1ZfTk9U
SUYgfCBcDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGRkFfUEFSVF9QUk9QX0lT
X1BFX0lEKQ0KPj4gKw0KPj4gLyogRmxhZ3MgdXNlZCBpbiBjYWxscyB0byBGRkFfTk9USUZJQ0FU
SU9OX0dFVCBpbnRlcmZhY2UgICovDQo+PiAjZGVmaW5lIEZGQV9OT1RJRl9GTEFHX0JJVE1BUF9T
UCAgICAgICAgQklUKDAsIFUpDQo+PiAjZGVmaW5lIEZGQV9OT1RJRl9GTEFHX0JJVE1BUF9WTSAg
ICAgICAgQklUKDEsIFUpDQo+PiAtLQ0KPj4gMi40Ny4xDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:06:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925476.1328345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twhVc-0008Kv-IC; Mon, 24 Mar 2025 13:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925476.1328345; Mon, 24 Mar 2025 13: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 1twhVc-0008Ko-FC; Mon, 24 Mar 2025 13:06:28 +0000
Received: by outflank-mailman (input) for mailman id 925476;
 Mon, 24 Mar 2025 13:06: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=xDgH=WL=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1twhVb-000892-0p
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:06:27 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca93292f-08b0-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:06:25 +0100 (CET)
Received: from AM4PR0302CA0024.eurprd03.prod.outlook.com (2603:10a6:205:2::37)
 by DU0PR08MB9632.eurprd08.prod.outlook.com (2603:10a6:10:447::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:06:23 +0000
Received: from AMS0EPF000001AE.eurprd05.prod.outlook.com
 (2603:10a6:205:2:cafe::b1) by AM4PR0302CA0024.outlook.office365.com
 (2603:10a6:205:2::37) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Mon,
 24 Mar 2025 13:06:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001AE.mail.protection.outlook.com (10.167.16.154) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Mon, 24 Mar 2025 13:06:21 +0000
Received: ("Tessian outbound 24542e2cd8fc:v601");
 Mon, 24 Mar 2025 13:06:21 +0000
Received: from Lf77ac7e9b439.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 083FE6CA-B6D4-4638-A72D-E0C0E89AC9DE.1; 
 Mon, 24 Mar 2025 13:06:15 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lf77ac7e9b439.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 24 Mar 2025 13:06:15 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAXPR08MB6351.eurprd08.prod.outlook.com (2603:10a6:102:df::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:06:13 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 13:06: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: ca93292f-08b0-11f0-9ea2-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=SDDHbR72k7lDtorM8cJ3XAPitgI+ITVNHIH5/UdT2d7boc1YJryXbhq+aEIUiRxLW3F2BcaO/MpY3asFuj6R5SIc7DKdG9UyEDPHFgDjBhy6voC3xArzKcx/hhXZQul4uscmHyNu5Kxt/t/Wu/u8SkAbMv+n0qgfzK8nK7aHBzG+Sic6nzV0oqta1MUcZ1FzqMoJtIjSwL2Vcci6sw6PO9+NHbKxHYb9d88RVN7UikfZhD1Ur/JukVNL/38VCFN1/TGvJZW5e/M9ci9Ip5/ur20t9M4lmoQFX9hXeeix0WDmyb/NWxkiMn6qwWVY6fVk2rAWRYJmAnenPYwSCmEYYg==
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=FRbY7W6nBDQ/BsFocM18S6UTOukzomdPJfz7upo31T8=;
 b=Fd/1r/sqKbD4y3cf2Y8Cpey9RT0hVLqajESeDtQEBokqZvsprP8XSJiwfx9VfZRs5739NzS8eHY5OqLsktJ2TxFlymi2blMd9vLMQT6A44wo0ZjKanNZ8/sT3lugOJ3e4g/U4JWZiVZGcmwZdGrSqBXRxPWjxW2fYgqCrSO5bujILoAq8MViYDj0NJWGBmnGocKzeyY1tz8ifUDhNMH0oUNEj274W9jsh8jBgZwRT5S4kMyJTqwNaD9EMQbd7Uz3Mqj8wI3sZyhb3qkrMc42rGNaLC9LAunN0rJWM0ypKnz93tIDAejltP4qyLxWOxgVz6GeV24WDob+yTgJo9wI4A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=FRbY7W6nBDQ/BsFocM18S6UTOukzomdPJfz7upo31T8=;
 b=IBCryQ9SOWsuebBDmAALpfgPBQD+kJz62l/zgGvFFylkLTVeinAatglIuHy6Xoi6eXSH8qX+UyTAvBbPgm/jsvyb19Ugfy7cEzZ7pdlsHdG+NYPj96CJWFtwsvUaYHG2F/fWmMl/o8HEYVWQAAIaeRm6gZ0WpJcwqKlnAoz0ZVc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 31db31af8a15b78e
X-TessianGatewayMetadata: 4WIRV7BcSb7P5aNT1FysEvmlLjPAli8iSfi/aSZ88jJfZqdBjmE8A7ZqBWec6Yha/bGZKuvzSuq7q9dPztOAP6D3IsWOqprZlueK4KIq2TreO7ONIgo5XeOCYwP5AjIrjweVcSTpL4vvk8an7xO0mndDgUJj+wi88k+7fFyE0ZU=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wqoeJpvFxVFT48KU2SU3dVM9TVLYaE1fYcHMOoy39fBIk2euyi6ptvUjSfYj/A0Ox4tgt3iap/ww2q3BH3ox/Mb1XRQgZrrzC+89uUQUgkf5gZytUrjIlYjzYKhyquaolIEgL/7MxDrV34PnIEYQMxPKmMjz2yCBEzHN0k1ak5aw5zINotZuMD15feqNl8ASfypaMFt/eGD7BnJh4GFBgFHNYmNiWQVTGljy5EXDbd/VNtLZ9Hy7wJvVjnb+wji6ISrqJ8OZ2/03MzLHdRvyFad+CBvV8EGunpASVTQ0mhPfx+HDu4c6JhWTn6ZZ5beuDxP1qD0482bkB6X0EkzW0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FRbY7W6nBDQ/BsFocM18S6UTOukzomdPJfz7upo31T8=;
 b=hp/KPZ53uXkHmHOy2yuMkSokpqm6RLz9g0Mho3EmYIfINKYT1fj2x+RoHKIpZHdsgFF3EOU1wi7JFzGqu7N/9YlcE4vJcN7NN5jq+kfOQCiZH3noFe4+6DnuAVJTKEZ+R1UuYJgbD0P1z5nu1FWp+ZrJIE3qU7oW9Bcp766PMrIjEDM+RGLHjaQQ0dn6aC4dj5StP6RcqSWSJM2P2WVdosC5Ozs0+Zf+rh/pP0zLAKPa6AErIAi2bP7CZwP0nfbOGgLJxJqyGOiYnV/7FJqYT0gZcDVnN0/c0L3fusFv9NtyfI6nN446zb2eycsfNzDC0srRzTG7IXqiRkJFkQjCzw==
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=FRbY7W6nBDQ/BsFocM18S6UTOukzomdPJfz7upo31T8=;
 b=IBCryQ9SOWsuebBDmAALpfgPBQD+kJz62l/zgGvFFylkLTVeinAatglIuHy6Xoi6eXSH8qX+UyTAvBbPgm/jsvyb19Ugfy7cEzZ7pdlsHdG+NYPj96CJWFtwsvUaYHG2F/fWmMl/o8HEYVWQAAIaeRm6gZ0WpJcwqKlnAoz0ZVc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v3 4/5] xen/arm: ffa: Add indirect message between VM
Thread-Topic: [PATCH v3 4/5] xen/arm: ffa: Add indirect message between VM
Thread-Index: AQHbnJ1O44fIyxP5wE6DoPXuGC0lfrOCGXgAgAAoSgA=
Date: Mon, 24 Mar 2025 13:06:12 +0000
Message-ID: <2DC4DC8F-D484-4380-AE5D-A030E3DA8515@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
 <4a9867855093453eaad4f548df8e92162176eed9.1742570590.git.bertrand.marquis@arm.com>
 <CAHUa44HZ6rDL3t3p+SwJLencKLks5XfV6krHnKohL7owzaMBUw@mail.gmail.com>
In-Reply-To:
 <CAHUa44HZ6rDL3t3p+SwJLencKLks5XfV6krHnKohL7owzaMBUw@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAXPR08MB6351:EE_|AMS0EPF000001AE:EE_|DU0PR08MB9632:EE_
X-MS-Office365-Filtering-Correlation-Id: 56ffc4c1-9bf8-48ae-8e30-08dd6ad4acb5
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|366016|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?amw5L2pxbFVrTnFpTUpOL3VEc3V4THF5Z25lNzN3YU0rNzhSRmNFTUtHU1pD?=
 =?utf-8?B?dW5OY0c3ZUZmOVRqbGZOVGpmNDY2NHdHdHFHUnRZTExzNHpySTZVbDJCc3Zi?=
 =?utf-8?B?TVV4cElodEw1NHdIUlpUaHhYVGlVQTZNWGt6b0gyanJVL3R3LytXRjNYRmRQ?=
 =?utf-8?B?a3JtMmxBR211Qm0wT1o0Szk0MjdCM2o1dHIzdkZZL2VOSkNGUC80U0l1VmVl?=
 =?utf-8?B?ZENua3Fta09vT1VOMWsvOXJJZXpFZW0vVFRVeENaRW5xUit6bXViNWY4UTFW?=
 =?utf-8?B?VXloMU41Y3g1b3NHT3ZHQ0FrbUJwOGw4WUp1UVBvVm0yMG9yZzVIOWFLN09T?=
 =?utf-8?B?dXRnOGxveGJCWWcvRUI2aUxEOTJvbG1hZDFYdTlITWs4N3NZMDI3KzBweGJI?=
 =?utf-8?B?RTBNdUFGWmE1MkdObzdKS2Q5NmFzTlhsOXFxaGlLeVk0dUtjV3BrTGZIQVpq?=
 =?utf-8?B?TkRKNDZ4SW41d3plOGFWWi9XOWJIcEhJcGtYZzA2K0E3dVdtUGRqRGhEOUl4?=
 =?utf-8?B?UmRyczUxUGluSTdGMnArSEVjT3Yvb0JvaVpUUGYrYWRLK094UkVGelcxWVhT?=
 =?utf-8?B?WFhWUGtFcGw4WFhZVVREeHVHWUNiQ3dmMGJWTk5Za0pIaWwzTWRyUmhvcFl5?=
 =?utf-8?B?eWhudjJDajNSYmVSZVBsV2g5c2hORXFJNE5LNklaUERzK09PV2dTeVpubjhX?=
 =?utf-8?B?ZmJyZHRqWDRxWXUyV2M3UVorN1VDK0VZSUdpMG5oUjBlL0QxU0xlbkhpUjN1?=
 =?utf-8?B?SitsS1Fxc1gvYW8vSU1pSlhWcWIyRTJKTUZTSzZPQmxRMTdXZmJLdGM5cmxm?=
 =?utf-8?B?Smx1elRXR0lsbTl5RXNKdzNXODhKYW1KRVRjaS9PSHZWN3RPWS9nMjRId3U4?=
 =?utf-8?B?WjVvSTZsL2hRaUxWMUhxUGhtMHBoVStQUUR3TU9NbXdVSndNWTdFajc0Q2xJ?=
 =?utf-8?B?b1djK09Mby9LMi9GUEdUblJUTEh2RFo5QUFuZVkxejYvNlBIUHJ4em90ak1j?=
 =?utf-8?B?QkFYMExlQmUrTTFTU0FNQU5ZVUJHd0FYTlVQdFpCVGFJemwzTEdubVBQYURE?=
 =?utf-8?B?akpiR0RPVUZWQS80bDU0QU81WFJPSmo2bkFzazRzWDlobkhqWEYxR3VNeHRW?=
 =?utf-8?B?N2xGT2pmZS96Vm5pcWVKMG9CQklzYnh3OTFIVnFFQlVjc0VkZnA1VEVINVZU?=
 =?utf-8?B?L3ZjY1pGa0lMMWFPZG5FcWdYd3hEZTJlVUI5bStxTGZaZWxMRHlUUTdpL3lh?=
 =?utf-8?B?L3dmYzcxYUxjbTJlaU9sQ1dzODM0UHpzeFR0dEdMcXZWazZtNm9EMHFmT0hv?=
 =?utf-8?B?S2RiWE9EMENPdDc3QU1Uc2hIYkhFcGhMcFhKeUJvZHhtN0tzNzZFQzFSM1Zu?=
 =?utf-8?B?b29uMHZwb25QeHhjb2Q3b01ndm02ZXdiS083OUx1QmJsR1luSWExZ1NtT0pH?=
 =?utf-8?B?M1p1ZTZLNytGTU8rOEhoTjI1UU44bmREdEV3NGJrdGRPdHhVb1FBU2VYemUr?=
 =?utf-8?B?SVRySUpqMTBERGUreHJaTkpTZVFLUUd0WUc2aDZHeVorVTg4eUFxdnpJYU90?=
 =?utf-8?B?S0ZaTldTdDdCMFJOV3BDTGpDSXE3Rk9FbHBhd3JKWnRhZ3dNenlFM0dqTmpk?=
 =?utf-8?B?cDhDb2VVSldWbTVHZ01ic1E4VXJQNEVSYjFlV05OUElaRHZscVJ6MTJHVjQ4?=
 =?utf-8?B?dnNIWmJOZXZzb0dubVhSVGVnc2Y2dWFKQXNybDJXR1VneFlHZDQyRGxSejFv?=
 =?utf-8?B?Vk0zZFhDTFBTOXBZQnMrcUp6WHEvclJZcGhHakRYa05lby9oeHkxWHpOVTR3?=
 =?utf-8?B?M3RIRmo2WVVpMDZoeDd2UllOTjFiMjlTNmVWd3lxSktTUkc0NjJEanozMXpN?=
 =?utf-8?B?VEZpVG1HeWpXY0RnYk1aVEplN0FzUjZmRlNhZlBUYStTSTQ0NjZ3RVd0VnV2?=
 =?utf-8?Q?RnqO0P0er4yHyGFf6jTP6/LR7lG5PPPM?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C9C75D5AB66CA44A8E7A21267871BF06@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6351
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001AE.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9c209130-8c02-4bf4-8cbc-08dd6ad4a741
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|35042699022|36860700013|376014|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Mi95SGplMisvWloxaTh1Qi9VNE9lT2ZKYUJ0cmhrenVpV3EvWWh2MXI4amVY?=
 =?utf-8?B?N2dydTVuU3ZRN1BMMFVFQ0pJVkZyeGxyME1ZSzhKckp6UG9PRlhMYmZLcVBu?=
 =?utf-8?B?ekZwc0l6RE14Q0lTSXBMR2JQb01xWkdRT0JnUm8zMmowSnpqZ0g3RjZoWTRG?=
 =?utf-8?B?U2k4ZFY5U2lwL0h2VFRnT1NDa3ZXMFNiNVJmZU85Ti8wZ01mU3BFa2VtRitH?=
 =?utf-8?B?dEljdlFNMDA4SXNkT2hZUlhTdEtkakZVZkhTb2MyR3ZzZmZhVGtFYlk1Uzli?=
 =?utf-8?B?a0VSOXI3SWttQkQ4UzdqOENHWHg0TnFLR1JkQk5HYnBxcWZUVVdBc1pZWkxB?=
 =?utf-8?B?OXhodTFQRm5acHBrd2VqeHlQVmRaWTVmV1Z4Mkt5TUJjNS9KSFZ3K0NIRkpu?=
 =?utf-8?B?cVpHTFl2clkyWGFOaXJhcVpmZDdwNmYvTExMWjZKZUJObEVxRlhGdmNFalpL?=
 =?utf-8?B?QyttZXNyQ1FObndBNlNleThpYW1qblFYRmptVEhqWFhFaW9QdDBoMWxFakZN?=
 =?utf-8?B?RlZCaUlqaE1IUE9nV2NObCsraVZxNzkvZmY3WVRtaHd0NlZmMVpRMUxTUllr?=
 =?utf-8?B?NHRER3ZKV1gxRDNCdnVMUzh4WEhWcEFIMWtxMCtwVU0vamhOTkZJUy9IZis5?=
 =?utf-8?B?YkpPbDArbklxVStLbEovZ0ZiNGFJUjFqYnRZdFB6Mzgyc1pEcVJUVmJwcGpm?=
 =?utf-8?B?RGN0ZUxRLzIzMEpiWXpENFAzQUZray9aajB5L3E3SUNaZERLTEFaalE0aGUx?=
 =?utf-8?B?bklDNCtydXVaSjgzclluZTlDMUhRSG5qNkNVelhXb3Y0Rk5MWkNiNWtPcUlY?=
 =?utf-8?B?YmFzbEFoQ2ZPNlB5TFJ1OHd4anpER1RhbjhSc3Y5UHBjR1lLQk5DMFl4QkVk?=
 =?utf-8?B?cTMvbENFUktyM1ovSUx2UXFKU0FZTzBDRC8wb0Q0RCt5L204VGJJa0J0Wi8z?=
 =?utf-8?B?MTY1T3VWSVJvWmRGckNFUmpCNG56Mm9YMkpLKzh1eHNjTVdSTFo1L00yUUQ4?=
 =?utf-8?B?L09BdlduTDNXVHhVUC9rdE5lMXN1MGdrY0UvSkg1QVl0L2FFR05NM0c3bEUr?=
 =?utf-8?B?NG1MOFVmc1FaZEcvSUw4bGVLYTcvVngyYnlMU3QxeFdsdWpRWnVGTDhuWDdD?=
 =?utf-8?B?R0hucVFOTTNLeTRYOFNCVVo4OXA0c0lqMHdxN1BLTkxnYVJWRzYxcks0OGdx?=
 =?utf-8?B?QTRvT3JNeFJjRnlPbU1SSmtzbmthL2hHZWszZUx0RWtmbVZ0Nk1wK1Uxa09O?=
 =?utf-8?B?Q3JUMlViZ3V4bUJFT0JHOUg3SVdwV1gyYUVqd1NjT0lQSXFjT3F3anp5VHFG?=
 =?utf-8?B?WXlNRGJEU0hKVGRzcWlydUFHdEdLZmJrMDQxeDNoa0R6WnF5VVNmdDczOTBr?=
 =?utf-8?B?aUpDTkcwS3Z3NDVOeWNKZFk4dmxiY2ZyL1lpZFYwRnJ2M0R0R2dUd2hTckk3?=
 =?utf-8?B?dmVYN0x2RDR5KytmUzQ0cmNmQnNqSll6RUxtckdlUjdmOHpVVlgvd2ZYNEty?=
 =?utf-8?B?MGI0OFczUkQ2VUpzaFFUdWZqeXNvSGwxUVJOVDNMajBwVXR1TlhjMmlBUDMv?=
 =?utf-8?B?VkFtbzlzbncrSmxsMHJoc0pvWjNBd2E4QlR0dHYzOWUvWExkNnlRcnh1VFAy?=
 =?utf-8?B?LzR3YXd4M2w0amVsWk9rWFRaM3diVFgwcVJIcy80ckxVOFBKMkU5TTJXYW11?=
 =?utf-8?B?dTRQZlYyRVQ4dlRLM3FXMWk5Z2hudW0ySjBteFBCQklKd0JGV2xSRTRNT1BN?=
 =?utf-8?B?RGd1c3g3U2FSMy96TlpiY2MyL1RqOUdyc09wQjAyam9jb0ZYbEp2cUtnWFRV?=
 =?utf-8?B?NkpJOWcwNkNzMHBTdzJtY3RhMkhNdCtOd3hzZ2hnS2pmWUlBVWdBdEJqWjBi?=
 =?utf-8?B?anFHMWFQRGJiQ3ljdEp5bTFTYS9xZC81SGg1Q21QRks0QnJFS2k0aHA4SEt1?=
 =?utf-8?B?ZUM5azVuSWlGRzQxd2RpeXB1dTd1clhEMGU0UU5IVGkwVTBjR3N5ZGVkc3pG?=
 =?utf-8?B?bnVzVjQ3Mmkva0Y2eS93b3NqZE9yZDdFaktVaXhmcDlWMUtOUHN2bER3aFZs?=
 =?utf-8?Q?FuRNyS?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(35042699022)(36860700013)(376014)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 13:06:21.9044
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 56ffc4c1-9bf8-48ae-8e30-08dd6ad4acb5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001AE.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9632

SGkgSmVucywNCg0KPiBPbiAyNCBNYXIgMjAyNSwgYXQgMTE6NDEsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gTW9uLCBNYXIgMjQsIDIwMjUgYXQgMTA6MTXigK9BTSBCZXJ0cmFuZCBNYXJxdWlzDQo+
IDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4gDQo+PiBBZGQgc3VwcG9ydCBm
b3IgaW5kaXJlY3QgbWVzc2FnZXMgYmV0d2VlbiBWTXMuDQo+PiBUaGlzIGlzIG9ubHkgZW5hYmxl
ZCBpZiBDT05GSUdfRkZBX1ZNX1RPX1ZNIGlzIHNlbGVjdGVkLg0KPj4gDQo+PiBTaWduZWQtb2Zm
LWJ5OiBCZXJ0cmFuZCBNYXJxdWlzIDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+DQo+PiAtLS0N
Cj4+IENoYW5nZXMgaW4gdjM6DQo+PiAtIE1vdmUgdm0gdG8gdm0gaW5kaXJlY3QgbWVzc2FnZSBo
YW5kbGluZyBpbiBhIHN1YiBmdW5jdGlvbiB0byBzaW1wbGlmeQ0KPj4gIGxvY2sgaGFuZGxpbmcg
YW5kIG1ha2UgaW1wbGVtZW50YXRpb24gZWFzaWVyIHRvIHJlYWQNCj4+IENoYW5nZXMgaW4gdjI6
DQo+PiAtIFN3aXRjaCBpZmRlZiB0byBJU19FTkFCTEVEDQo+PiAtLS0NCj4+IHhlbi9hcmNoL2Fy
bS90ZWUvZmZhX21zZy5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t
LS0NCj4+IDEgZmlsZSBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQ0K
Pj4gDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfbXNnLmMgYi94ZW4vYXJj
aC9hcm0vdGVlL2ZmYV9tc2cuYw0KPj4gaW5kZXggZWU1OTRlNzM3ZmM3Li5jMjEwODNiNWU2OGYg
MTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9tc2cuYw0KPj4gKysrIGIveGVu
L2FyY2gvYXJtL3RlZS9mZmFfbXNnLmMNCj4+IEBAIC04OCw2ICs4OCw3MiBAQCBvdXQ6DQo+PiAg
ICAgICAgICAgICAgICAgIHJlc3AuYTcgJiBtYXNrKTsNCj4+IH0NCj4+IA0KPj4gK3N0YXRpYyBp
bnQzMl90IGZmYV9tc2dfc2VuZDJfdm0odWludDE2X3QgZHN0X2lkLA0KPj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZmYV9wYXJ0X21zZ19yeHR4ICpzcmNf
bXNnKQ0KPj4gK3sNCj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZHN0X2Q7DQo+PiArICAgIHN0cnVj
dCBmZmFfY3R4ICpkc3RfY3R4Ow0KPj4gKyAgICBzdHJ1Y3QgZmZhX3BhcnRfbXNnX3J4dHggKmRz
dF9tc2c7DQo+PiArICAgIGludCBlcnI7DQo+PiArICAgIGludDMyX3QgcmV0Ow0KPj4gKw0KPj4g
KyAgICBpZiAoIGRzdF9pZCA9PSAwICkNCj4+ICsgICAgICAgIC8qIEZGLUEgSUQgMCBpcyB0aGUg
aHlwZXJ2aXNvciwgdGhpcyBpcyBub3QgdmFsaWQgKi8NCj4+ICsgICAgICAgIHJldHVybiBGRkFf
UkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+ICsNCj4+ICsgICAgLyogVGhpcyBpcyBhbHNvIGNo
ZWNraW5nIHRoYXQgZGVzdCBpcyBub3Qgc3JjICovDQo+PiArICAgIGVyciA9IHJjdV9sb2NrX2xp
dmVfcmVtb3RlX2RvbWFpbl9ieV9pZChkc3RfaWQgLSAxLCAmZHN0X2QpOw0KPj4gKyAgICBpZiAo
IGVyciApDQo+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+
PiArDQo+PiArICAgIGlmICggZHN0X2QtPmFyY2gudGVlID09IE5VTEwgKQ0KPj4gKyAgICB7DQo+
PiArICAgICAgICByZXQgPSBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+ICsgICAgICAg
IGdvdG8gb3V0X3VubG9jazsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBkc3RfY3R4ID0gZHN0
X2QtPmFyY2gudGVlOw0KPj4gKyAgICBpZiAoICFkc3RfY3R4LT5ndWVzdF92ZXJzICkNCj4+ICsg
ICAgew0KPj4gKyAgICAgICAgcmV0ID0gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+PiAr
ICAgICAgICBnb3RvIG91dF91bmxvY2s7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgLyogd2Ug
bmVlZCB0byBoYXZlIGVub3VnaCBzcGFjZSBpbiB0aGUgZGVzdGluYXRpb24gYnVmZmVyICovDQo+
PiArICAgIGlmICggZHN0X2N0eC0+cGFnZV9jb3VudCAqIEZGQV9QQUdFX1NJWkUgPA0KPj4gKyAg
ICAgICAgICAgIChzaXplb2Yoc3RydWN0IGZmYV9wYXJ0X21zZ19yeHR4KSArIHNyY19tc2ctPm1z
Z19zaXplKSApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIHJldCA9IEZGQV9SRVRfTk9fTUVNT1JZ
Ow0KPj4gKyAgICAgICAgZ290byBvdXRfdW5sb2NrOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAg
IC8qIFRoaXMgYWxzbyBjaGVja3MgdGhhdCBkZXN0aW5hdGlvbiBoYXMgc2V0IGEgUnggYnVmZmVy
ICovDQo+PiArICAgIHJldCA9IGZmYV9yeF9hY3F1aXJlKGRzdF9kKTsNCj4+ICsgICAgaWYgKCBy
ZXQgKQ0KPj4gKyAgICAgICAgZ290byBvdXRfdW5sb2NrOw0KPj4gKw0KPj4gKyAgICBkc3RfbXNn
ID0gZHN0X2N0eC0+cng7DQo+PiArDQo+PiArICAgIC8qIHByZXBhcmUgZGVzdGluYXRpb24gaGVh
ZGVyICovDQo+PiArICAgIGRzdF9tc2ctPmZsYWdzID0gMDsNCj4+ICsgICAgZHN0X21zZy0+cmVz
ZXJ2ZWQgPSAwOw0KPj4gKyAgICBkc3RfbXNnLT5tc2dfb2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBm
ZmFfcGFydF9tc2dfcnh0eCk7DQo+PiArICAgIGRzdF9tc2ctPnNlbmRfcmVjdl9pZCA9IHNyY19t
c2ctPnNlbmRfcmVjdl9pZDsNCj4+ICsgICAgZHN0X21zZy0+bXNnX3NpemUgPSBzcmNfbXNnLT5t
c2dfc2l6ZTsNCj4+ICsNCj4+ICsgICAgbWVtY3B5KGRzdF9jdHgtPnJ4ICsgc2l6ZW9mKHN0cnVj
dCBmZmFfcGFydF9tc2dfcnh0eCksDQo+PiArICAgICAgICAgICAoKHZvaWQgKilzcmNfbXNnKSAr
IHNyY19tc2ctPm1zZ19vZmZzZXQsIHNyY19tc2ctPm1zZ19zaXplKTsNCj4gDQo+IElzIGl0IHBv
c3NpYmxlIGZvciBhbm90aGVyIGNvcmUgaW4gdGhlIFZNIHRvIG1vZGlmeQ0KPiBzcmNfbXNnLT5t
c2dfb2Zmc2V0IG9yIHNyY19tc2ctPm1zZ19zaXplIGFmdGVyIHdlIGNoZWNrIHRoZW0gYnV0DQo+
IGJlZm9yZSB3ZSB1c2UgdGhlbSBoZXJlIChUT0MvVE9VKT8NCg0KWWVzIHRoZXJlIGNvdWxkIGJl
IGEgcG9zc2liaWxpdHkuDQpJIHdpbGwgc3dpdGNoIHRvIGEgbG9jYWwgY29weSBvZiB0aGUgaGVh
ZGVyIHRvIHByZXZlbnQgdGhpcy4NCg0KTmljZSBmaW5kaW5nLg0KDQpDaGVlcnMNCkJlcnRyYW5k
DQoNCj4gDQo+IENoZWVycywNCj4gSmVucw0KPiANCj4+ICsNCj4+ICsgICAgLyogcmVjZWl2ZXIg
cnggYnVmZmVyIHdpbGwgYmUgcmVsZWFzZWQgYnkgdGhlIHJlY2VpdmVyKi8NCj4+ICsNCj4+ICtv
dXRfdW5sb2NrOg0KPj4gKyAgICByY3VfdW5sb2NrX2RvbWFpbihkc3RfZCk7DQo+PiArICAgIGlm
ICggIXJldCApDQo+PiArICAgICAgICBmZmFfcmFpc2VfcnhfYnVmZmVyX2Z1bGwoZHN0X2QpOw0K
Pj4gKw0KPj4gKyAgICByZXR1cm4gcmV0Ow0KPj4gK30NCj4+ICsNCj4+IGludDMyX3QgZmZhX2hh
bmRsZV9tc2dfc2VuZDIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiB7DQo+PiAgICAg
c3RydWN0IGRvbWFpbiAqc3JjX2QgPSBjdXJyZW50LT5kb21haW47DQo+PiBAQCAtOTYsOSArMTYy
LDYgQEAgaW50MzJfdCBmZmFfaGFuZGxlX21zZ19zZW5kMihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq
cmVncykNCj4+ICAgICB1aW50MTZfdCBkc3RfaWQsIHNyY19pZDsNCj4+ICAgICBpbnQzMl90IHJl
dDsNCj4+IA0KPj4gLSAgICBpZiAoICFmZmFfZndfc3VwcG9ydHNfZmlkKEZGQV9NU0dfU0VORDIp
ICkNCj4+IC0gICAgICAgIHJldHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+PiAtDQo+PiAg
ICAgaWYgKCAhc3Bpbl90cnlsb2NrKCZzcmNfY3R4LT50eF9sb2NrKSApDQo+PiAgICAgICAgIHJl
dHVybiBGRkFfUkVUX0JVU1k7DQo+PiANCj4+IEBAIC0xMDYsMTAgKzE2OSwxMCBAQCBpbnQzMl90
IGZmYV9oYW5kbGVfbXNnX3NlbmQyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gICAg
IHNyY19pZCA9IHNyY19tc2ctPnNlbmRfcmVjdl9pZCA+PiAxNjsNCj4+ICAgICBkc3RfaWQgPSBz
cmNfbXNnLT5zZW5kX3JlY3ZfaWQgJiBHRU5NQVNLKDE1LDApOw0KPj4gDQo+PiAtICAgIGlmICgg
c3JjX2lkICE9IGZmYV9nZXRfdm1faWQoc3JjX2QpIHx8ICFGRkFfSURfSVNfU0VDVVJFKGRzdF9p
ZCkgKQ0KPj4gKyAgICBpZiAoIHNyY19pZCAhPSBmZmFfZ2V0X3ZtX2lkKHNyY19kKSApDQo+PiAg
ICAgew0KPj4gICAgICAgICByZXQgPSBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+IC0g
ICAgICAgIGdvdG8gb3V0X3VubG9ja190eDsNCj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4gICAg
IH0NCj4+IA0KPj4gICAgIC8qIGNoZWNrIHNvdXJjZSBtZXNzYWdlIGZpdHMgaW4gYnVmZmVyICov
DQo+PiBAQCAtMTE4LDEzICsxODEsMzAgQEAgaW50MzJfdCBmZmFfaGFuZGxlX21zZ19zZW5kMihz
dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICAgICAgICAgIHNyY19tc2ctPm1zZ19vZmZz
ZXQgPCBzaXplb2Yoc3RydWN0IGZmYV9wYXJ0X21zZ19yeHR4KSApDQo+PiAgICAgew0KPj4gICAg
ICAgICByZXQgPSBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+IC0gICAgICAgIGdvdG8g
b3V0X3VubG9ja190eDsNCj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4gICAgIH0NCj4+IA0KPj4g
LSAgICByZXQgPSBmZmFfc2ltcGxlX2NhbGwoRkZBX01TR19TRU5EMiwNCj4+ICsgICAgaWYgKCBG
RkFfSURfSVNfU0VDVVJFKGRzdF9pZCkgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICAvKiBNZXNz
YWdlIGZvciBhIHNlY3VyZSBwYXJ0aXRpb24gKi8NCj4+ICsgICAgICAgIGlmICggIWZmYV9md19z
dXBwb3J0c19maWQoRkZBX01TR19TRU5EMikgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAgICAg
ICAgIHJldCA9IEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+ICsgICAgICAgICAgICBnb3RvIG91
dDsNCj4+ICsgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgIHJldCA9IGZmYV9zaW1wbGVfY2Fs
bChGRkFfTVNHX1NFTkQyLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90
KWZmYV9nZXRfdm1faWQoc3JjX2QpKSA8PCAxNiwgMCwgMCwgMCk7DQo+PiArICAgIH0NCj4+ICsg
ICAgZWxzZSBpZiAoIElTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgKQ0KPj4gKyAgICB7
DQo+PiArICAgICAgICAvKiBNZXNzYWdlIGZvciBhIFZNICovDQo+PiArICAgICAgICByZXQgPSBm
ZmFfbXNnX3NlbmQyX3ZtKGRzdF9pZCwgc3JjX21zZyk7DQo+PiArICAgIH0NCj4+ICsgICAgZWxz
ZQ0KPj4gKyAgICAgICAgcmV0ID0gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+PiANCj4+
IC1vdXRfdW5sb2NrX3R4Og0KPj4gK291dDoNCj4+ICAgICBzcGluX3VubG9jaygmc3JjX2N0eC0+
dHhfbG9jayk7DQo+PiAgICAgcmV0dXJuIHJldDsNCj4+IH0NCj4+IC0tDQo+PiAyLjQ3LjENCg0K
DQo=


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:07:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925484.1328354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twhWJ-0000QE-QJ; Mon, 24 Mar 2025 13:07:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925484.1328354; Mon, 24 Mar 2025 13:07: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 1twhWJ-0000Q5-Nc; Mon, 24 Mar 2025 13:07:11 +0000
Received: by outflank-mailman (input) for mailman id 925484;
 Mon, 24 Mar 2025 13:07: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=xDgH=WL=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1twhWJ-000892-9e
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:07:11 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4acaf0c-08b0-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:07:10 +0100 (CET)
Received: from AM8P191CA0022.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::27)
 by PAWPR08MB9638.eurprd08.prod.outlook.com (2603:10a6:102:2e0::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:07:07 +0000
Received: from AMS0EPF00000194.eurprd05.prod.outlook.com
 (2603:10a6:20b:21a:cafe::5f) by AM8P191CA0022.outlook.office365.com
 (2603:10a6:20b:21a::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Mon,
 24 Mar 2025 13:07:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000194.mail.protection.outlook.com (10.167.16.214) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Mon, 24 Mar 2025 13:07:06 +0000
Received: ("Tessian outbound d078c748a3d6:v601");
 Mon, 24 Mar 2025 13:07:05 +0000
Received: from Lb37729a73290.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 751A21FF-0726-432D-B690-DB87D51154BD.1; 
 Mon, 24 Mar 2025 13:06:59 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lb37729a73290.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 24 Mar 2025 13:06:59 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAXPR08MB6351.eurprd08.prod.outlook.com (2603:10a6:102:df::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:06:56 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 13:06: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: e4acaf0c-08b0-11f0-9ea2-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=pQa9vRb8SnCoQZ3dm1/F5eMrNhohMDlDpKhqGP1+Q49cdikKtiakWxp2muPHeZK+RE7v77jPq1xgoxJkGjupcrI0AgBXbPkiYgx42SBJBLJFIq/VXOcN9zmRsRBvqGHgmkhbtPKnofObCcaUoUlgSXyyBsQComujmMkB8/EzgFTjadyvHGHF7Z5lt5PPDGYaqmrqg/kBHw2zdBjQ55Nbr3lUP86c7xWD24jOX/tp8DksSaotjWG4Eodp3i8bogEnHMSrGQXSLZTy42/zvAzEwcPTHiW3JfYYrlDnbWkB4r8vmFlduRg9ZYVBj9j6CdM+03UohaAJ/UQjkLagLJ7/Xg==
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=KiIaM187TRCxqeo1kPMjwQeuuwvWBXXGXPGVEBLaDsE=;
 b=N4ANWwWdknCGfjeTl22AbbVzwo+1pO0603duaOeNi51nG65eYLFPBA/wgHckJmcTG4KV8osCt/+OjVMrvsRVJc76q+1a/z2aaIaNjVUsAVd00eD9EIrIoNUgh3Yq7yXRUZNbhayjOb2bGumj0lU28cZacAkKqIpVlT+XBtQzv4p+DIGqxaenEGq0WXuyQ1TCyQOeKwR4vMkX2dH/mT4aWq3aqxj3VHTnA02+K6S1OURu5Y34ayQfJpb2W3YTpjsJ/qfja2IpIK+tBst0wQl0BcBnf3tWwEIRz3rTOnWVS+j8M25DPKVhxDAfEdiSGtPHQMcBM0jXlS/WrB2tuW8YVA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=KiIaM187TRCxqeo1kPMjwQeuuwvWBXXGXPGVEBLaDsE=;
 b=Fmmk7VjW0ITJ+iS3oEzjaDGHGTaGTgT/YBYJIOVHyKqeL2HvXAr/JQYTRLTwRbguwXmgscSH0x1ePqL9tSmK31z7M6COd+Srmr+0CQfdtv69nxfCEc1pu2ahYbHjbqnr/co8K4j0fZsydAXAsrZ5lAy7yorYDXk2MUNs+GQ23jI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c8ebbf333fbb02f3
X-TessianGatewayMetadata: V4uabKF5SfNTIl/fV39Qfb5jYax42liJweakFzylPeHqk4a02G2oBgXjEBJDM68BMh8Nt+gW3UB/6m6SZTs5LOuVu2RtxtxDu5F8oi9xxGkqC6kreGiNLAD/qb211jSfl41qCd+rfbDbebcDHbe/t6XyvBt8L6iZZyp64b+W8Gk=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tBCRHLmPVECtm0sVMqH/SEa+RlrvuXS44G0fOftLm72aeXJs7Q0FJSgYc0arvm+JetuUfXphfOFSZyCY2YL2+ia+6YOj6/dn5P0ga8bJiHSwbxyGTamzcnfexkOiZvwYAToRricFnGyNUerf2HmufJSIiNXL2KsIwBKoSxP9J63eJBeI1EDTxT2rlHk1YxKQTLcroUmD1DTcS8x4J3ehe6yNEmEE1Sh0rbbn+Xrnv0LKjNQgQh0SFRX84FaM47nXbXZRUrirmInSptg4O6tuneWJLMAKWbWOoZWBiUVteVNw14UqYg8By9EqNRyO77ASOD06ZxkZDqplvUd0eQbVfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KiIaM187TRCxqeo1kPMjwQeuuwvWBXXGXPGVEBLaDsE=;
 b=SKJ0tS7CSKPs4z7Mqm+kp1lOfwQ4Y1jqdmCMTHFoM+CKwqNFYdu4m9bBJ7xz5VTCVV8F3/6FLgDmncrGR2n75Gd+HtvKryG+LlbuW8tNg7sJhu15fHQof2LcfuRN/4+SEhMNUC9eErGUUgQAUQIZUBjCpVCeK63e9NvVgqjqwYsW8Tv//Qj5gpiCM2DXv5APhYiUGix7i9cOCMMWR0Zn60ZTkoKcVn9sAbnQOs1ruvEmra8g/gOe0t2hW4mIP0jh6kkkXUAg6NfQpQEBo8MukTEK3JsrEYsNa0/ClRQv1sin+v7iPR6Lu2F992r4JEXo4ZMz/BUVns73PiXE1D2FIQ==
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=KiIaM187TRCxqeo1kPMjwQeuuwvWBXXGXPGVEBLaDsE=;
 b=Fmmk7VjW0ITJ+iS3oEzjaDGHGTaGTgT/YBYJIOVHyKqeL2HvXAr/JQYTRLTwRbguwXmgscSH0x1ePqL9tSmK31z7M6COd+Srmr+0CQfdtv69nxfCEc1pu2ahYbHjbqnr/co8K4j0fZsydAXAsrZ5lAy7yorYDXk2MUNs+GQ23jI=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: [PATCH v3 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Topic: [PATCH v3 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Index: AQHbnJ1P36ESPN6dS0aOqSpHOpyt2LOCGzMAgAAmwwA=
Date: Mon, 24 Mar 2025 13:06:56 +0000
Message-ID: <0873A9B9-8B31-4F02-A926-A832FE0F50B7@arm.com>
References: <cover.1742570590.git.bertrand.marquis@arm.com>
 <f3886649f23845932dd322eb45ad8f980e53ded1.1742570590.git.bertrand.marquis@arm.com>
 <CAHUa44GPniTZxtaUU3WeL_oU+oGYoz0nTBA=1QaE0Py=+bZQ8A@mail.gmail.com>
In-Reply-To:
 <CAHUa44GPniTZxtaUU3WeL_oU+oGYoz0nTBA=1QaE0Py=+bZQ8A@mail.gmail.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAXPR08MB6351:EE_|AMS0EPF00000194:EE_|PAWPR08MB9638:EE_
X-MS-Office365-Filtering-Correlation-Id: aa049fc3-9eaa-483f-6b92-08dd6ad4c722
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|366016|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?N2Q5aUx6cTBkQ2p3UElIbjgxZG1qUHZwQVlIOElpWmRaMXJ1Mms5Mi9Iclg4?=
 =?utf-8?B?M2FNNXQ3OHZZQlJxeU1PSzlrbHhUZVNNQ2JQakhWTWN1NEpnVkJ1NCthZVAz?=
 =?utf-8?B?TnV1c3R5eDl3S1ZPVmM3TzR3VWUxbW9uNlpSSWhKbDFEWVZIdmJIaTZVcjEr?=
 =?utf-8?B?VGRsbWZnazdYcDBLYnVIc3lmNnlFQ2kvWWVUVWVVSFNwaVJ5ZDJIME5odVVK?=
 =?utf-8?B?WjVUajJxdzduN1d6aGNBNDc4QkJuSkUvS2FxUGtqN1lyU1EwRWRQcTQ2ckVL?=
 =?utf-8?B?QlNhejJCcTZ1ZXNoUExsQWh2M0x2bUpLVnZxbmhUbEE3ZnBFcHZtRlNMdWV6?=
 =?utf-8?B?Z0tLNHE4N3J2bmJBVDhVS1NTTlFWNThFVkFuNzRrVzNpb3kyb3lDaXFKT0pR?=
 =?utf-8?B?SUI4WFJ2WHhmOGkwRGlvRit5UWlJN1BqWnMrOUYvUUUrY1RBODdJaG5yL1Qv?=
 =?utf-8?B?eUNyNU9BcnY4VU5Xc29wdnlicG1wZEpzY1ZzZmt3WDhuVVZ1cGdCYTgyaE84?=
 =?utf-8?B?V2JYSkRTa2todHFDeUxEd0JRUEdyazlMUkN4ZG9IckRaWXNJMHdaTzdpbFZP?=
 =?utf-8?B?alc0LytPRmR2cmVCMnVYRHIyLzJaM1d6ZjZkbjJBWXhaWktDMG0yOTc4QTJL?=
 =?utf-8?B?OU9nOWR5dnFRNVJQU3JlcUk2d1VEbmttN2hmSGpmUnRxQktlMjJkaEZydVVH?=
 =?utf-8?B?K3hxbFA0TjdCc1RnR2pHWGRMZWEwczExREdBTjNqaVZKVnMxMnBoM2xRaHBG?=
 =?utf-8?B?NEZUcXBMY0ZCSnp4dlhJOEpzWXlTSjFmQnJJek5mZU1KU2cwQkRybGtRNjBo?=
 =?utf-8?B?OEpWQnJ1cGVEa2RzaHUwaUFvNzluZXc3V1laZmhxREpEbUhPazg3MGs1L1Ni?=
 =?utf-8?B?VUNBSWYxNHhEVEpONGp0a0JVcG5lVEZFaXRma3BHd3QybnBnR1d0VDZOSVdY?=
 =?utf-8?B?WW9oY25jWDhLUUxzOGhwQTFRZFUxVTBkS2FIQm5aK3BpRzhDcFhYWjkzTTBn?=
 =?utf-8?B?eHI0RlMzaHBEbUpFVnBpM05WTnhBUEU2TTJpSlFtVDhuQlA0Yjl2Z1p6L1kr?=
 =?utf-8?B?WnlRbmpaRC9qQ2FaTHZoVm01aDFpN242bVllakU2alhpeUxjcUVqQ1VnUEUw?=
 =?utf-8?B?WUN3RUdqNmVMMU95eUQwczhLcjY3ek44NVYvWlhIUHRNdUJTNXZ3RHp5anh0?=
 =?utf-8?B?UmZ6dnBTekJORVdvem1GUUhJbS9vUGh3dVpzWWRYS2lxWERUblFyZDFqZ0Yy?=
 =?utf-8?B?TXF0V2tBSmdCb1ZuNmZGd0RadE5jd3VUN2FteFJKb2R0NEVDcWVLaDV0WlAw?=
 =?utf-8?B?MDNpVW9VU0wyYnVNU3pFZWwxVVRwaWN1VThVVlRsbEtVWDUvaTh2emlRMXFV?=
 =?utf-8?B?cTcxbStSbEw0cEZVZWVwU3ZNRk92aDVMZjhBemJZVVdwTjZsZHVVQlFOTEs1?=
 =?utf-8?B?K0ExUlQzL3JuUTB5K1o3YmM1dllvK0MvNEwzcjhIREVRR2M2cHo4c3hIam9G?=
 =?utf-8?B?SUhLYU1oK3M5QWExODZrRFZVNUVUK01pdC9oYi9DdlBubjZmOFlPTi91dU5a?=
 =?utf-8?B?bzF6Y25oNDdYSGR5TWVucXFYcGxTcEYrMzRuNXRpM090ckJ2ejhuOHpTTE5T?=
 =?utf-8?B?UW0yVG9jMFZiL1lLWWhXbWZqeFFvaVVMRjd3VUowd3pzQTEyVnVsMG4vYnZN?=
 =?utf-8?B?Znk2T1lObldKSmREdFpzK3NwL1NFMTZRbVZyVkUvOU5YcGZSU09GMWVKbC8z?=
 =?utf-8?B?RDVQcXJTb3Q0WTBncTFqZTF0S2YrT1VGRmlNdkw3S2FwMlNNd1RKa1N1OGVq?=
 =?utf-8?B?bGthVExSMEMxajRBNFBMRFJ3NVhoVy85UGtMOE9BTXplZHhPUURmN2E4VlJE?=
 =?utf-8?B?Z0lBNy8rYTlVYkJ4d2ltRlkzWG9zL203bFY1bUFIeHMycmtPd20zRnVJL3RM?=
 =?utf-8?Q?X9+ly2CiDqq++9nsn5/A+vPsCjcMJrt6?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <3A7E6C85BBE0D74184B56C32E3E915E2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6351
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF00000194.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a55a5333-b73d-4863-9fe8-08dd6ad4c136
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|35042699022|14060799003|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?T0NhelJtWVlyTGhhdXZxeTNyY3l2dE92ZG9iYU5sREUvMW12cy85R0hZMDR4?=
 =?utf-8?B?cGFoMlBIK3QzVEtGTHFVaERtSkRsU3hVd0l3K1dGUUFZeGZROUFFZ1NWUFoy?=
 =?utf-8?B?bGdTMHUwWkdvMjBFNWs3TUdzS091VmEvSER2NjBwbFhvUVgyK0IvMmEzdXdz?=
 =?utf-8?B?RE4wcG16R0UzZ3lwWitZait5RFRKWWFOOGc4YUo2U0l4YWRPdCtkSEpiRHl2?=
 =?utf-8?B?UTEraHFOK3hkcVRVcHIyNWFEdFlUdUFKSE1xN0xjV25nQ1MyWmFFLzJSZzNL?=
 =?utf-8?B?eGR6N1hRWDZ3OUVzc1lFbVVuMkxYR2IxSGp3ZitmUUo1RHMvTVNGeEo4bW5h?=
 =?utf-8?B?Z2VONmZqWE9OSDZFNzBEZG5PMHU3NC9XbnpEQ2lwRlk0Tm0yV2lwVHdFTDJS?=
 =?utf-8?B?dTZraVVMZDF0bEV4VlNIYTFORURqRUlVSGxDZHFKVDVjRUQ3Y2VlWFltTXVM?=
 =?utf-8?B?VnlLM05HTXh3cWxRZnVrZGN1anU1ZHBuUTdBNVpzczVMdDlxSnJIejdNWnhY?=
 =?utf-8?B?bWdCTFI5bERxNEc0cHJ6Y1RySzZlcmZ3Q1FLNGdLSEN5Rm42UjVsMzNkQXF0?=
 =?utf-8?B?NHhWQk5QOWJOYUgwc1VvVFdvSzRzV3dsUU1nS3lSM1B4MnhQcWlZa1NwczlN?=
 =?utf-8?B?Vmw2azNaQllEZE9uenRzUGk0QVNVNllnamlmK3owcnNmdWJESVkzMlorTGRq?=
 =?utf-8?B?R3RSWEYwVWlPQW1yN01tTVFDMTZOVnlZVWs5UUMvRitGajJyK2hWSXZQVkti?=
 =?utf-8?B?aFNTNEd6ZExnNW1GSitLdjFTV2dLdzRkVTMzRm1ISWhnWmlrd3JTU0JsRkdU?=
 =?utf-8?B?cFlXUFdaSEY1M0xWcGtJTjd4TnpEYk41N0tyTWdvSUU5b3M4bjRZQUVNSTBS?=
 =?utf-8?B?MzJONHVOVEdmSUNDWWRjV2hacnJ3OHRoUC9VNTdxSWJLOVpHZzMvUEJSUXA1?=
 =?utf-8?B?b3JWZkJQWG5Fb3JoN0ZrZWo1U1FLZWI0ei9xZ1M4MEErZy94S3NqUE56OThk?=
 =?utf-8?B?L3JtMTBjTWxoUTF0ZXBNU1RkME96ZnlsWDZuaUdjMGdycy9nTWtqa21Pc2lK?=
 =?utf-8?B?M2x1bnBBcU5zbnc1NTBpVVJhRDE3S2RGMWgrTU9FblpXaUdJajBoejJCQlY4?=
 =?utf-8?B?ZWU5YnR1YUdEUG02bXByWjIwUndaeWlOZTZhY091b0dicVIrTDY4Q053S2Vy?=
 =?utf-8?B?NlMzVUJQY3REU1czZkFKMU8xSnZ3VjJRVVlmMUlMVlR6dENGTnc4cVlkR1c2?=
 =?utf-8?B?eFNJRlcwYTlnQ3J1V09OWnZIYmdETzF3dDdNaHVocWpNaGh0cmRvdWEwMGFo?=
 =?utf-8?B?MXFXQkNPNnVRdm0wQVh4VHQ2RW1uZU5QcTJ2bnJ3ejJHZ1cwOGVQaExodHVq?=
 =?utf-8?B?OHZmUHdIYVptS3E3RGd5TkFhM29tcHVqRXN3c3BTVnJiUWpiVU56Y1YyTzB1?=
 =?utf-8?B?Z0xWb2Z6M2NJbURZNXhhYkpsWWcvYTJpeXNNUXl3TEJiR2JkUXdNYVh0NTJ3?=
 =?utf-8?B?S21oTGpQalNoS1N3NGVPcVc1MVFDUGpsdEdIdjRiZitTOUdQcGp3SUJqOFZn?=
 =?utf-8?B?L29JRHFGWmdQdy9oNmJiUTBob1lvdDFUc0xNRWhTdE52Nk9yYkh4TEdRaHUx?=
 =?utf-8?B?RzFucEIvUDBKLzYrWTdJTTVpRDRUZmlRTGw2MzFialVHbGRHMGUwTlZBVE5H?=
 =?utf-8?B?YjhCb0lMbFZKcDJveWJWd1NaT1ZJM1Bad0w1NWt5S1dMN3ZuSmljdkxpVEZ4?=
 =?utf-8?B?S3NqUmMwcUw2MU5ZempQcVZNK3U3Q0RnQldRUy83aEhvbWJONllwd25CWGov?=
 =?utf-8?B?TDVxVFNnRGkxQlVuNjBsVXZ1UnJxNjdzTEYvdTB1QjlCM1pSdWhCbEVMUHQ3?=
 =?utf-8?B?bHEwYUhhMTBGci8zWnlVY2huZzlUWG5JTmNXbHhaUEQyTnJHWSttc3l1M2RD?=
 =?utf-8?B?a3Y2SFBxZmd5NmpmaW9FS1lMQktQSWgvZTd1UVdwS2dxTDFNMjRJb2FxdnQ2?=
 =?utf-8?Q?UhvC4bmymKJPlrRRAsfBlFRS7hUUEA=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(14060799003)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 13:07:06.2386
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa049fc3-9eaa-483f-6b92-08dd6ad4c722
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF00000194.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9638

SGkgSmVucywNCg0KPiBPbiAyNCBNYXIgMjAyNSwgYXQgMTE6NDgsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gTW9uLCBNYXIgMjQsIDIwMjUgYXQgMTA6MTXigK9BTSBCZXJ0cmFuZCBNYXJxdWlzDQo+
IDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4gDQo+PiBXaGVuIFZNIHRvIFZN
IHN1cHBvcnQgaXMgYWN0aXZhdGVkIGFuZCB0aGVyZSBpcyBubyBzdWl0YWJsZSBGRi1BIHN1cHBv
cnQNCj4+IGluIHRoZSBmaXJtd2FyZSwgZW5hYmxlIEZGLUEgc3VwcG9ydCBmb3IgVk1zIHRvIGFs
bG93IHVzaW5nIGl0IGZvciBWTSB0bw0KPj4gVk0gY29tbXVuaWNhdGlvbnMuDQo+PiBJZiB0aGVy
ZSBpcyBPUC1URUUgcnVubmluZyBpbiB0aGUgc2VjdXJlIHdvcmxkIGFuZCB1c2luZyB0aGUgbm9u
IEZGLUENCj4+IGNvbW11bmljYXRpb24gc3lzdGVtLCBoYXZpbmcgQ09ORklHX0ZGQV9WTV9UT19W
TSBjb3VsZCBiZSBub24gZnVuY3Rpb25hbA0KPj4gKGlmIG9wdGVlIGlzIHByb2JlZCBmaXJzdCkg
b3IgT3B0ZWUgY291bGQgYmUgbm9uIGZ1bmN0aW9uYWwgKGlmIEZGLUEgaXMNCj4gDQo+IFByZWZl
ciBPUC1URUUNCg0KUmlnaHQgaSBmaXhlZCB0aGUgZmlyc3QgaW5zdGFuY2UgYnV0IG5vdCB0aGUg
c2Vjb25kIG9uZS4NCldpbGwgZml4IGluIHRoZSBuZXh0IHZlcnNpb24uDQoNCj4gDQo+PiBwcm9i
ZWQgZmlyc3QpIHNvIGl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBhY3RpdmF0ZSB0aGUgY29uZmln
dXJhdGlvbg0KPj4gb3B0aW9uIGZvciBzdWNoIHN5c3RlbXMuDQo+PiANCj4+IFRvIG1ha2UgYnVm
ZmVyIGZ1bGwgbm90aWZpY2F0aW9uIHdvcmsgYmV0d2VlbiBWTXMgd2hlbiB0aGVyZSBpcyBubw0K
Pj4gZmlybXdhcmUsIHJld29yayB0aGUgbm90aWZpY2F0aW9uIGhhbmRsaW5nIGFuZCBtb2RpZnkg
dGhlIGdsb2JhbCBmbGFnIHRvDQo+PiBvbmx5IGJlIHVzZWQgYXMgY2hlY2sgZm9yIGZpcm13YXJl
IG5vdGlmaWNhdGlvbiBzdXBwb3J0IGluc3RlYWQuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IEJl
cnRyYW5kIE1hcnF1aXMgPGJlcnRyYW5kLm1hcnF1aXNAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gQ2hh
bmdlcyBpbiB2MzoNCj4+IC0gZml4IHR5cG9zIGluIGNvbW1pdCBtZXNzYWdlDQo+PiAtIGFkZCBz
cGFjZXMgYXJvdW5kIDw8DQo+PiAtIG1vdmUgbm90aWZpY2F0aW9uIGlkIGZpeCBiYWNrIGludG8g
YnVmZmVyIGZ1bGwgcGF0Y2gNCj4+IC0gZml4IHwgcG9zaXRpb24gaW4gaWYNCj4+IENoYW5nZXMg
aW4gdjI6DQo+PiAtIHJlcGxhY2UgaWZkZWYgd2l0aCBJU19FTkFCTEVEIHdoZW4gcG9zc2libGUN
Cj4+IC0tLQ0KPj4geGVuL2FyY2gvYXJtL3RlZS9mZmEuYyAgICAgICB8ICAxMiArKystDQo+PiB4
ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3RpZi5jIHwgMTA0ICsrKysrKysrKysrKysrKystLS0tLS0t
LS0tLS0tLS0tLS0tDQo+PiAyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDU3IGRl
bGV0aW9ucygtKQ0KPiANCj4gUmV2aWV3ZWQtYnk6IEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xh
bmRlckBsaW5hcm8ub3JnPg0KDQpUaGFua3MNCkJlcnRyYW5kDQoNCj4gDQo+IENoZWVycywNCj4g
SmVucw0KPiANCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMgYi94
ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+PiBpbmRleCBlNDFhYjVmOGFkYTYuLjA2Mjc2MjVlZmU2
MCAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+ICsrKyBiL3hlbi9h
cmNoL2FybS90ZWUvZmZhLmMNCj4+IEBAIC0zMjQsOCArMzI0LDkgQEAgc3RhdGljIGludCBmZmFf
ZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkNCj4+ICAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4
Ow0KPj4gICAgIGludCByZXQ7DQo+PiANCj4+IC0gICAgaWYgKCAhZmZhX2Z3X3ZlcnNpb24gKQ0K
Pj4gKyAgICBpZiAoICFJU19FTkFCTEVEKENPTkZJR19GRkFfVk1fVE9fVk0pICYmICFmZmFfZndf
dmVyc2lvbiApDQo+PiAgICAgICAgIHJldHVybiAtRU5PREVWOw0KPj4gKw0KPj4gICAgIC8qDQo+
PiAgICAgICogV2UgYXJlIHVzaW5nIHRoZSBkb21haW5faWQgKyAxIGFzIHRoZSBGRi1BIElEIGZv
ciBWTXMgYXMgRkYtQSBJRCAwIGlzDQo+PiAgICAgICogcmVzZXJ2ZWQgZm9yIHRoZSBoeXBlcnZp
c29yIGFuZCB3ZSBvbmx5IHN1cHBvcnQgc2VjdXJlIGVuZHBvaW50cyB1c2luZw0KPj4gQEAgLTU2
MSw2ICs1NjIsMTUgQEAgZXJyX25vX2Z3Og0KPj4gICAgIGJpdG1hcF96ZXJvKGZmYV9md19hYmlf
c3VwcG9ydGVkLCBGRkFfQUJJX0JJVE1BUF9TSVpFKTsNCj4+ICAgICBwcmludGsoWEVOTE9HX1dB
Uk5JTkcgIkFSTSBGRi1BIE5vIGZpcm13YXJlIHN1cHBvcnRcbiIpOw0KPj4gDQo+PiArICAgIGlm
ICggSVNfRU5BQkxFRChDT05GSUdfRkZBX1ZNX1RPX1ZNKSApDQo+PiArICAgIHsNCj4+ICsgICAg
ICAgIElOSVRfTElTVF9IRUFEKCZmZmFfdGVhcmRvd25faGVhZCk7DQo+PiArICAgICAgICBpbml0
X3RpbWVyKCZmZmFfdGVhcmRvd25fdGltZXIsIGZmYV90ZWFyZG93bl90aW1lcl9jYWxsYmFjaywg
TlVMTCwgMCk7DQo+PiArDQo+PiArICAgICAgICBwcmludGsoWEVOTE9HX0lORk8gIkFSTSBGRi1B
IG9ubHkgYXZhaWxhYmxlIGJldHdlZW4gVk1zXG4iKTsNCj4+ICsgICAgICAgIHJldHVybiB0cnVl
Ow0KPj4gKyAgICB9DQo+PiArDQo+PiAgICAgcmV0dXJuIGZhbHNlOw0KPj4gfQ0KPj4gDQo+PiBk
aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfbm90aWYuYyBiL3hlbi9hcmNoL2FybS90
ZWUvZmZhX25vdGlmLmMNCj4+IGluZGV4IGY2ZGYyZjE1YmIwMC4uODZiZWY2YjNiMmFiIDEwMDY0
NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfbm90aWYuYw0KPj4gKysrIGIveGVuL2Fy
Y2gvYXJtL3RlZS9mZmFfbm90aWYuYw0KPj4gQEAgLTE2LDcgKzE2LDcgQEANCj4+IA0KPj4gI2lu
Y2x1ZGUgImZmYV9wcml2YXRlLmgiDQo+PiANCj4+IC1zdGF0aWMgYm9vbCBfX3JvX2FmdGVyX2lu
aXQgbm90aWZfZW5hYmxlZDsNCj4+ICtzdGF0aWMgYm9vbCBfX3JvX2FmdGVyX2luaXQgZndfbm90
aWZfZW5hYmxlZDsNCj4+IHN0YXRpYyB1bnNpZ25lZCBpbnQgX19yb19hZnRlcl9pbml0IG5vdGlm
X3NyaV9pcnE7DQo+PiANCj4+IGludCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9iaW5kKHN0cnVj
dCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gQEAgLTI3LDIxICsyNywxNyBAQCBpbnQgZmZhX2hh
bmRsZV9ub3RpZmljYXRpb25fYmluZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICAg
ICB1aW50MzJfdCBiaXRtYXBfbG8gPSBnZXRfdXNlcl9yZWcocmVncywgMyk7DQo+PiAgICAgdWlu
dDMyX3QgYml0bWFwX2hpID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDQpOw0KPj4gDQo+PiAtICAgIGlm
ICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4gLSAgICAgICAgcmV0dXJuIEZGQV9SRVRfTk9UX1NVUFBP
UlRFRDsNCj4+IC0NCj4+ICAgICBpZiAoIChzcmNfZHN0ICYgMHhGRkZGVSkgIT0gZmZhX2dldF92
bV9pZChkKSApDQo+PiAgICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsN
Cj4+IA0KPj4gICAgIGlmICggZmxhZ3MgKSAgICAvKiBPbmx5IGdsb2JhbCBub3RpZmljYXRpb25z
IGFyZSBzdXBwb3J0ZWQgKi8NCj4+ICAgICAgICAgcmV0dXJuIEZGQV9SRVRfREVOSUVEOw0KPj4g
DQo+PiAtICAgIC8qDQo+PiAtICAgICAqIFdlIG9ubHkgc3VwcG9ydCBub3RpZmljYXRpb25zIGZy
b20gU1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUgc2VuZGVyDQo+PiAtICAgICAqIGVuZHBvaW50
IElELCB0aGUgU1BNQyB3aWxsIHRha2UgY2FyZSBvZiB0aGF0IGZvciB1cy4NCj4+IC0gICAgICov
DQo+PiAtICAgIHJldHVybiBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNBVElPTl9CSU5ELCBz
cmNfZHN0LCBmbGFncywgYml0bWFwX2xvLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJpdG1hcF9oaSk7DQo+PiArICAgIGlmICggRkZBX0lEX0lTX1NFQ1VSRShzcmNfZHN0ID4+IDE2
KSAmJiBmd19ub3RpZl9lbmFibGVkICkNCj4+ICsgICAgICAgIHJldHVybiBmZmFfc2ltcGxlX2Nh
bGwoRkZBX05PVElGSUNBVElPTl9CSU5ELCBzcmNfZHN0LCBmbGFncywNCj4+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYml0bWFwX2xvLCBiaXRtYXBfaGkpOw0KPj4gKw0KPj4gKyAg
ICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4gfQ0KPj4gDQo+PiBpbnQgZmZhX2hh
bmRsZV9ub3RpZmljYXRpb25fdW5iaW5kKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4g
QEAgLTUxLDE4ICs0NywxNCBAQCBpbnQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fdW5iaW5kKHN0
cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gICAgIHVpbnQzMl90IGJpdG1hcF9sbyA9IGdl
dF91c2VyX3JlZyhyZWdzLCAzKTsNCj4+ICAgICB1aW50MzJfdCBiaXRtYXBfaGkgPSBnZXRfdXNl
cl9yZWcocmVncywgNCk7DQo+PiANCj4+IC0gICAgaWYgKCAhbm90aWZfZW5hYmxlZCApDQo+PiAt
ICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4gLQ0KPj4gICAgIGlmICgg
KHNyY19kc3QgJiAweEZGRkZVKSAhPSBmZmFfZ2V0X3ZtX2lkKGQpICkNCj4+ICAgICAgICAgcmV0
dXJuIEZGQV9SRVRfSU5WQUxJRF9QQVJBTUVURVJTOw0KPj4gDQo+PiAtICAgIC8qDQo+PiAtICAg
ICAqIFdlIG9ubHkgc3VwcG9ydCBub3RpZmljYXRpb25zIGZyb20gU1Agc28gbm8gbmVlZCB0byBj
aGVjayB0aGUNCj4+IC0gICAgICogZGVzdGluYXRpb24gZW5kcG9pbnQgSUQsIHRoZSBTUE1DIHdp
bGwgdGFrZSBjYXJlIG9mIHRoYXQgZm9yIHVzLg0KPj4gLSAgICAgKi8NCj4+IC0gICAgcmV0dXJu
ICBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNBVElPTl9VTkJJTkQsIHNyY19kc3QsIDAsIGJp
dG1hcF9sbywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX2hpKTsNCj4+
ICsgICAgaWYgKCBGRkFfSURfSVNfU0VDVVJFKHNyY19kc3QgPj4gMTYpICYmIGZ3X25vdGlmX2Vu
YWJsZWQgKQ0KPj4gKyAgICAgICAgcmV0dXJuICBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNB
VElPTl9VTkJJTkQsIHNyY19kc3QsIDAsIGJpdG1hcF9sbywNCj4+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJpdG1hcF9oaSk7DQo+PiArDQo+PiArICAgIHJldHVybiBGRkFfUkVU
X05PVF9TVVBQT1JURUQ7DQo+PiB9DQo+PiANCj4+IHZvaWQgZmZhX2hhbmRsZV9ub3RpZmljYXRp
b25faW5mb19nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiBAQCAtNzEsNyArNjMs
NyBAQCB2b2lkIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2luZm9fZ2V0KHN0cnVjdCBjcHVfdXNl
cl9yZWdzICpyZWdzKQ0KPj4gICAgIHN0cnVjdCBmZmFfY3R4ICpjdHggPSBkLT5hcmNoLnRlZTsN
Cj4+ICAgICBib29sIG5vdGlmX3BlbmRpbmc7DQo+PiANCj4+IC0gICAgaWYgKCAhbm90aWZfZW5h
YmxlZCApDQo+PiArICAgIGlmICggIUlTX0VOQUJMRUQoQ09ORklHX0ZGQV9WTV9UT19WTSkgJiYg
IWZ3X25vdGlmX2VuYWJsZWQgKQ0KPj4gICAgIHsNCj4+ICAgICAgICAgZmZhX3NldF9yZWdzX2Vy
cm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+PiAgICAgICAgIHJldHVybjsNCj4+
IEBAIC0xMDgsNyArMTAwLDcgQEAgdm9pZCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9nZXQoc3Ry
dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgdWludDMyX3QgdzYgPSAwOw0KPj4gICAg
IHVpbnQzMl90IHc3ID0gMDsNCj4+IA0KPj4gLSAgICBpZiAoICFub3RpZl9lbmFibGVkICkNCj4+
ICsgICAgaWYgKCAhSVNfRU5BQkxFRChDT05GSUdfRkZBX1ZNX1RPX1ZNKSAmJiAhZndfbm90aWZf
ZW5hYmxlZCApDQo+PiAgICAgew0KPj4gICAgICAgICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVncywg
RkZBX1JFVF9OT1RfU1VQUE9SVEVEKTsNCj4+ICAgICAgICAgcmV0dXJuOw0KPj4gQEAgLTEyMCw3
ICsxMTIsOCBAQCB2b2lkIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2dldChzdHJ1Y3QgY3B1X3Vz
ZXJfcmVncyAqcmVncykNCj4+ICAgICAgICAgcmV0dXJuOw0KPj4gICAgIH0NCj4+IA0KPj4gLSAg
ICBpZiAoIGZsYWdzICYgKCBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1AgfCBGRkFfTk9USUZfRkxB
R19CSVRNQVBfU1BNICkgKQ0KPj4gKyAgICBpZiAoIGZ3X25vdGlmX2VuYWJsZWQgJiYgKGZsYWdz
ICYgKCBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1AgfA0KPj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1BNICkpICkNCj4+ICAg
ICB7DQo+PiAgICAgICAgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgYXJnID0gew0KPj4gICAg
ICAgICAgICAgLmEwID0gRkZBX05PVElGSUNBVElPTl9HRVQsDQo+PiBAQCAtMTc3LDE1ICsxNzAs
MTQgQEAgaW50IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX3NldChzdHJ1Y3QgY3B1X3VzZXJfcmVn
cyAqcmVncykNCj4+ICAgICB1aW50MzJfdCBiaXRtYXBfbG8gPSBnZXRfdXNlcl9yZWcocmVncywg
Myk7DQo+PiAgICAgdWludDMyX3QgYml0bWFwX2hpID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDQpOw0K
Pj4gDQo+PiAtICAgIGlmICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4gLSAgICAgICAgcmV0dXJuIEZG
QV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+IC0NCj4+ICAgICBpZiAoIChzcmNfZHN0ID4+IDE2KSAh
PSBmZmFfZ2V0X3ZtX2lkKGQpICkNCj4+ICAgICAgICAgcmV0dXJuIEZGQV9SRVRfSU5WQUxJRF9Q
QVJBTUVURVJTOw0KPj4gDQo+PiAtICAgIC8qIExldCB0aGUgU1BNQyBjaGVjayB0aGUgZGVzdGlu
YXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiAqLw0KPj4gLSAgICByZXR1cm4gZmZhX3NpbXBsZV9j
YWxsKEZGQV9OT1RJRklDQVRJT05fU0VULCBzcmNfZHN0LCBmbGFncywgYml0bWFwX2xvLA0KPj4g
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9oaSk7DQo+PiArICAgIGlmICggRkZB
X0lEX0lTX1NFQ1VSRShzcmNfZHN0ID4+IDE2KSAmJiBmd19ub3RpZl9lbmFibGVkICkNCj4+ICsg
ICAgICAgIHJldHVybiBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNBVElPTl9TRVQsIHNyY19k
c3QsIGZsYWdzLCBiaXRtYXBfbG8sDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJpdG1hcF9oaSk7DQo+PiArDQo+PiArICAgIHJldHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7
DQo+PiB9DQo+PiANCj4+ICNpZmRlZiBDT05GSUdfRkZBX1ZNX1RPX1ZNDQo+PiBAQCAtMzcxLDcg
KzM2Myw3IEBAIHZvaWQgZmZhX25vdGlmX2luaXRfaW50ZXJydXB0KHZvaWQpDQo+PiB7DQo+PiAg
ICAgaW50IHJldDsNCj4+IA0KPj4gLSAgICBpZiAoIG5vdGlmX2VuYWJsZWQgJiYgbm90aWZfc3Jp
X2lycSA8IE5SX0dJQ19TR0kgKQ0KPj4gKyAgICBpZiAoIGZ3X25vdGlmX2VuYWJsZWQgJiYgbm90
aWZfc3JpX2lycSA8IE5SX0dJQ19TR0kgKQ0KPj4gICAgIHsNCj4+ICAgICAgICAgLyoNCj4+ICAg
ICAgICAgICogQW4gZXJyb3IgaGVyZSBpcyB1bmxpa2VseSBzaW5jZSB0aGUgcHJpbWFyeSBDUFUg
aGFzIGFscmVhZHkNCj4+IEBAIC00MDIsNDEgKzM5NCw0MSBAQCB2b2lkIGZmYV9ub3RpZl9pbml0
KHZvaWQpDQo+PiAgICAgaW50IHJldDsNCj4+IA0KPj4gICAgIC8qIE9ubHkgZW5hYmxlIGZ3IG5v
dGlmaWNhdGlvbiBpZiBhbGwgQUJJcyB3ZSBuZWVkIGFyZSBzdXBwb3J0ZWQgKi8NCj4+IC0gICAg
aWYgKCAhKGZmYV9md19zdXBwb3J0c19maWQoRkZBX05PVElGSUNBVElPTl9CSVRNQVBfQ1JFQVRF
KSAmJg0KPj4gLSAgICAgICAgICAgZmZhX2Z3X3N1cHBvcnRzX2ZpZChGRkFfTk9USUZJQ0FUSU9O
X0JJVE1BUF9ERVNUUk9ZKSAmJg0KPj4gLSAgICAgICAgICAgZmZhX2Z3X3N1cHBvcnRzX2ZpZChG
RkFfTk9USUZJQ0FUSU9OX0dFVCkgJiYNCj4+IC0gICAgICAgICAgIGZmYV9md19zdXBwb3J0c19m
aWQoRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCkpICkNCj4+IC0gICAgICAgIHJldHVybjsN
Cj4+IC0NCj4+IC0gICAgYXJtX3NtY2NjXzFfMl9zbWMoJmFyZywgJnJlc3ApOw0KPj4gLSAgICBp
ZiAoIHJlc3AuYTAgIT0gRkZBX1NVQ0NFU1NfMzIgKQ0KPj4gLSAgICAgICAgcmV0dXJuOw0KPj4g
LQ0KPj4gLSAgICBpcnEgPSByZXNwLmEyOw0KPj4gLSAgICBub3RpZl9zcmlfaXJxID0gaXJxOw0K
Pj4gLSAgICBpZiAoIGlycSA+PSBOUl9HSUNfU0dJICkNCj4+IC0gICAgICAgIGlycV9zZXRfdHlw
ZShpcnEsIElSUV9UWVBFX0VER0VfUklTSU5HKTsNCj4+IC0gICAgcmV0ID0gcmVxdWVzdF9pcnEo
aXJxLCAwLCBub3RpZl9pcnFfaGFuZGxlciwgIkZGLUEgbm90aWYiLCBOVUxMKTsNCj4+IC0gICAg
aWYgKCByZXQgKQ0KPj4gKyAgICBpZiAoIGZmYV9md19zdXBwb3J0c19maWQoRkZBX05PVElGSUNB
VElPTl9CSVRNQVBfQ1JFQVRFKSAmJg0KPj4gKyAgICAgICAgIGZmYV9md19zdXBwb3J0c19maWQo
RkZBX05PVElGSUNBVElPTl9CSVRNQVBfREVTVFJPWSkgJiYNCj4+ICsgICAgICAgICBmZmFfZndf
c3VwcG9ydHNfZmlkKEZGQV9OT1RJRklDQVRJT05fR0VUKSAmJg0KPj4gKyAgICAgICAgIGZmYV9m
d19zdXBwb3J0c19maWQoRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCkgKQ0KPj4gICAgIHsN
Cj4+IC0gICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJmZmE6IHJlcXVlc3RfaXJxIGlycSAldSBm
YWlsZWQ6IGVycm9yICVkXG4iLA0KPj4gLSAgICAgICAgICAgICAgIGlycSwgcmV0KTsNCj4+IC0g
ICAgICAgIHJldHVybjsNCj4+IC0gICAgfQ0KPj4gKyAgICAgICAgYXJtX3NtY2NjXzFfMl9zbWMo
JmFyZywgJnJlc3ApOw0KPj4gKyAgICAgICAgaWYgKCByZXNwLmEwICE9IEZGQV9TVUNDRVNTXzMy
ICkNCj4+ICsgICAgICAgICAgICByZXR1cm47DQo+PiANCj4+IC0gICAgbm90aWZfZW5hYmxlZCA9
IHRydWU7DQo+PiArICAgICAgICBpcnEgPSByZXNwLmEyOw0KPj4gKyAgICAgICAgbm90aWZfc3Jp
X2lycSA9IGlycTsNCj4+ICsgICAgICAgIGlmICggaXJxID49IE5SX0dJQ19TR0kgKQ0KPj4gKyAg
ICAgICAgICAgIGlycV9zZXRfdHlwZShpcnEsIElSUV9UWVBFX0VER0VfUklTSU5HKTsNCj4+ICsg
ICAgICAgIHJldCA9IHJlcXVlc3RfaXJxKGlycSwgMCwgbm90aWZfaXJxX2hhbmRsZXIsICJGRi1B
IG5vdGlmIiwgTlVMTCk7DQo+PiArICAgICAgICBpZiAoIHJldCApDQo+PiArICAgICAgICB7DQo+
PiArICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgImZmYTogcmVxdWVzdF9pcnEgaXJxICV1
IGZhaWxlZDogZXJyb3IgJWRcbiIsDQo+PiArICAgICAgICAgICAgICAgICAgIGlycSwgcmV0KTsN
Cj4+ICsgICAgICAgICAgICByZXR1cm47DQo+PiArICAgICAgICB9DQo+PiArICAgICAgICBmd19u
b3RpZl9lbmFibGVkID0gdHJ1ZTsNCj4+ICsgICAgfQ0KPj4gfQ0KPj4gDQo+PiBpbnQgZmZhX25v
dGlmX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpDQo+PiB7DQo+PiAgICAgaW50MzJfdCBy
ZXM7DQo+PiANCj4+IC0gICAgaWYgKCAhbm90aWZfZW5hYmxlZCApDQo+PiAtICAgICAgICByZXR1
cm4gMDsNCj4+ICsgICAgaWYgKCBmd19ub3RpZl9lbmFibGVkICkNCj4+ICsgICAgew0KPj4gDQo+
PiAtICAgIHJlcyA9IGZmYV9ub3RpZmljYXRpb25fYml0bWFwX2NyZWF0ZShmZmFfZ2V0X3ZtX2lk
KGQpLCBkLT5tYXhfdmNwdXMpOw0KPj4gLSAgICBpZiAoIHJlcyApDQo+PiAtICAgICAgICByZXR1
cm4gLUVOT01FTTsNCj4+ICsgICAgICAgIHJlcyA9IGZmYV9ub3RpZmljYXRpb25fYml0bWFwX2Ny
ZWF0ZShmZmFfZ2V0X3ZtX2lkKGQpLCBkLT5tYXhfdmNwdXMpOw0KPj4gKyAgICAgICAgaWYgKCBy
ZXMgKQ0KPj4gKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4gKyAgICB9DQo+PiANCj4+
ICAgICByZXR1cm4gMDsNCj4+IH0NCj4+IEBAIC00NDcsNiArNDM5LDYgQEAgdm9pZCBmZmFfbm90
aWZfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkNCj4+ICAgICAgKiBDYWxsIGJpdG1h
cF9kZXN0cm95IGV2ZW4gaWYgYml0bWFwIGNyZWF0ZSBmYWlsZWQgYXMgdGhlIFNQTUMgd2lsbA0K
Pj4gICAgICAqIHJldHVybiBhIERFTklFRCBlcnJvciB0aGF0IHdlIHdpbGwgaWdub3JlLg0KPj4g
ICAgICAqLw0KPj4gLSAgICBpZiAoIG5vdGlmX2VuYWJsZWQgKQ0KPj4gKyAgICBpZiAoIGZ3X25v
dGlmX2VuYWJsZWQgKQ0KPj4gICAgICAgICBmZmFfbm90aWZpY2F0aW9uX2JpdG1hcF9kZXN0cm95
KGZmYV9nZXRfdm1faWQoZCkpOw0KPj4gfQ0KPj4gLS0NCj4+IDIuNDcuMQ0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:08:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925493.1328365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twhXS-00012r-6s; Mon, 24 Mar 2025 13:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925493.1328365; Mon, 24 Mar 2025 13:08: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 1twhXS-00012k-3O; Mon, 24 Mar 2025 13:08:22 +0000
Received: by outflank-mailman (input) for mailman id 925493;
 Mon, 24 Mar 2025 13:08: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=t537=WL=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1twhXQ-00012c-QK
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:08:21 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2412::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0cede0f6-08b1-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 14:08:18 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CH3PR12MB8933.namprd12.prod.outlook.com (2603:10b6:610:17a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:08:14 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 13:08: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: 0cede0f6-08b1-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A1sYiAN3foOskASPauoQ1hWFGLj0j4hMoG4EClbGHuYFq0ozX13Or6xl//VnV9A57OpQFlPoS3Tp2g9j54qSBjomS8ArmcHXcjDazho2LFUhBXoTrFKw2OMgfPUFp7Myifg1LEnsLD+xVowYyxt6L8V9PiUqTeCYtC5NSjJs6S+wI+JZcxbagqrEqLd4N4TX3IAVRskbi7FHC3+wMWEPAvJ4aTSPZ43iiOizACEXa3TOwLqpYbWxBTJq7vkETMaNAIlleTPOnvmGVTFF/Fb7H/xNAiBytj0hqnLYq6ALvWiisfkLJ4a/c30T986KMPy+90uaRLyTIdTdNjUrWDVc1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EXc6orBNkhZcnAy16THafOsuMvnW/PRO1pBpbcDUpAU=;
 b=BrPw5wF0xgxxyQoQk/C4HC25pgZxDSJzSs2718cEmmhMEl6jsk0wJISGNEsJ7TqwkmwAWOi5pPFV9hqohp1eLJb8Bh1qmwje9sj+3O6g/767nugbYB0m4qfCPW1DJ5J32GBDS8l69zvH5841WZic4Zfdjlj1/Ek3WiV4NjAJnyb/vQ87CR5z/ivBl46fyxF1XwSAQQMA00tSVxVgV8KIN2hMQqLcDZRRGZRRZMgroA3z/wzs5rvQ//PfG9HnSy7a+VH6HNZrR895Ev3a7S4acHLj+eTVGCpQS8PGhqz5Qxb6kBoSH0ELf3VveceSXBHhBbQSQVe/S6ihe9hY833Ckw==
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=EXc6orBNkhZcnAy16THafOsuMvnW/PRO1pBpbcDUpAU=;
 b=N9ZwKpiTJHlkwFKHiGA8XgJ3HHdHmV/MBDfamE4C4mbUmoEK2OhuWuw27K1r3t0Euq+tjYWiPKU8zbuVmGo02TE2X3iVXg2VLLD23bsPtuiCmkQOM/UK0CqbVMB7DBFsnNjof9+Ag4F2SswTftdl6UGOV16aVIqTSAEoWTvqHks=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <17608388-b900-45d2-bb74-8eec04ab1f76@amd.com>
Date: Mon, 24 Mar 2025 14:08:10 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Luca Fancellu <luca.fancellu@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0071.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::10) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CH3PR12MB8933:EE_
X-MS-Office365-Filtering-Correlation-Id: f878fdb5-6760-48bf-af2f-08dd6ad4efcf
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?TmpnTHZ1RGx4dDBUb1FRNmhKR1ZuTWxKZEJoWGFxNzlCTHlwYTFmaEoxNnJ6?=
 =?utf-8?B?MENWT0tZeHAraWUxemIvcldvbnU0K0k1bTdCS3lRaVNOei9VVTczYnFLWDF5?=
 =?utf-8?B?QVNrUE1DdXR2RmlYNFBCUVBWRmFGcnBvMzlRSWwxOExPV1kvNVo5OThPRE5t?=
 =?utf-8?B?NjVZVWR5WGt5Zk1NRTFGUDhOQjlhYWhnRDFFQ2tKMXZDeThuQWxkZzVsVjJy?=
 =?utf-8?B?eFdUVTY5T2xaRTNhSlZCZlBWQS91Q3FPT3F6cGFZL3U0RkR4bUEvVUkyNXpB?=
 =?utf-8?B?Q2lyWFE0RmR4cnBIazNBY0xKU2NHZG9TUnlXdC9jZys4bzYzeXFmNnQwRnFD?=
 =?utf-8?B?QnpCd2dBMnRhYkxsNFllR1laV3BSdmxzRE1sSy9TV3hXS0VWb21PTGRrc3NF?=
 =?utf-8?B?cm9SWFpnWjFMdGhNMzNmRjlCdE9QQ3M3cDI1dmNXTUpYWE16VzExcXRlOU1Y?=
 =?utf-8?B?RC91eHFIakY1b0VQMzhOZkJrWXpVOU1ScUxYNWpvOWppcjVhU0t6TVhDRmZj?=
 =?utf-8?B?VTQvbk1URkFZcUF6OUIzT2dtU3pMNnI4NHM1MU5KNzAyZ3lTcW81cnBwYmpi?=
 =?utf-8?B?L3dZLzUxSUZpaGYxNzM4STllanVHTEN5QmMrRktOUDd1dzdiNG1hTlJNZTVs?=
 =?utf-8?B?RSt4dkR0YWlmQkJDY05oc3ZNUlowVFBZSXRCRldVcWkvOXp1TDZod25TQ3cy?=
 =?utf-8?B?VmpVbHBmdjNGNkNvYmV5MzAzRFloVkwyV2NIN1VpMDk2S0RBUXBFeDd1WkxH?=
 =?utf-8?B?aGE5OFNsRmJRQ0NEM2x6bU5aVCtnMUZheEVGbEVaeGMzYjUxTmVFeHBRZExD?=
 =?utf-8?B?a1BiMzVqTzNwMWp4Y0hKUlg4WUpZcFlQMks3SVVYakRrTlFtWENRQktlN0Jp?=
 =?utf-8?B?VThwMm8rR29zNUdTcFJwQ1ZUa2s2N1dQeUFWVnRXZkdzdDJ2TUVDR0RXZUdC?=
 =?utf-8?B?VyttZExpOHI4SW1ISnhtbFhNVy9Xd0RsV3duVVorVlZRVlp0dTRpRnl0OU5L?=
 =?utf-8?B?eStjUjFPR210TEc2N0QzWi9WcytxakFERXg3alZVNjNzcGx5YmEzdE5OYjh1?=
 =?utf-8?B?YVNzMTBrYkQySHlHTlI0N3hiOC80cklNTnVLU3pQKzAwcGNjdzh0cWxsS3hu?=
 =?utf-8?B?TGR0bVplcEtpQ3BoSkNEbmJTU0ZvUExScTVKL2haU3NiOVNWME1MaE1IVW5P?=
 =?utf-8?B?dDFNek9OdXRNdTRBTS9XdGRjamNOaTBWbFF0b1V6OEd6aUJWWStaTGl3bzZz?=
 =?utf-8?B?MmlOMkpMcnBSL21HdjBTUTJndTF1dkFLd0x1cGFlYW1mNVYxL1J5OHZKNDVr?=
 =?utf-8?B?My9ZMnFYTFh6amk3b1JEN2dXVy9Ub3lGd0hzR3prOTRSNUp1OUVzWWNPQ25X?=
 =?utf-8?B?NVEreHBHQW9LclFFSFRRYjFNcm1STlVaOWE5UTRvYUVwSSszZldVNWo0SzZv?=
 =?utf-8?B?T1I5MXlyWWdZTkFQRFRvRlZEa0ZWOE5ZTkdrY0N5blFFaVp3cjNNNlZRdmFw?=
 =?utf-8?B?c2J4Tmd2V2hMN3l3VmR0N2o0cnJYY0U4YW5GdWhHTHllSFhUOUduSzNSWjlX?=
 =?utf-8?B?WmEvSERiemlzOTJkZytKOUYwZGhYRXgvb0Z1dWR4SnZWQ3ZITWZiL09vMElw?=
 =?utf-8?B?M1ZsZHY2ZTNvV29ETjl0SEtDL3pzR0xiTVlhdzZEc1doVHNHdDRwT3NsZzFX?=
 =?utf-8?B?a1dOT3hHQ0UwTkR1V29iSFJ6OG9xRkQrUGVCclFjQ3IwRDVKL0VGaWd0czc4?=
 =?utf-8?B?RG5EZXJoY2hRK3pTQVdsazNYTndNbm9OTy95OGJpZTVYQkZEc1kzNi8yUGlI?=
 =?utf-8?B?bGlNQTdPVUdxYk9UdHFSc0pzS1dzL2JHejRBMGcwS2p1Mm5tazkycDduSWI0?=
 =?utf-8?Q?qVCGIxzjAL8Zt?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?dUZpMWlMOGZna1BtZWlEM1FKR1hTSDVNcTdUQnJPclVGYTJWR3FPLzlUNHVw?=
 =?utf-8?B?ck05SW1WZkhtN2ZCK0JheXhSdWM0cDEwVUFueWVIZWVtSUpodFJOUUYrY2xZ?=
 =?utf-8?B?aUl0QVNuY3JNVnB6U2RoNUxlMzJ1NnpncGNGd1dhdGNmN3dwQXk4ZzBINThZ?=
 =?utf-8?B?aUdTdWtyRlJtOUVkQWcyTDNUVnFLT0xtaHFlMjRSTkRKZmVBQjVvUWtBNGYz?=
 =?utf-8?B?QUFQcmg0ZGlPUW91S3BMSEJGbkZPMyt1cHpTUnVobDlhZ3BSMkJlQ1lRK1Nz?=
 =?utf-8?B?QlpBNkU0N0pTUmk2d0ZjRXprRThVdXdlRGxFVFlCd2dEOUNYQXVVT0FJaG45?=
 =?utf-8?B?bjRmdk9SK0FmMjVQTzJPaVF6R1UzbGcxWlNxOHNxSk54cjJzM1JkYzVWSlh1?=
 =?utf-8?B?ejQ2WkxqRE9YdllhR2thZmptbldoRURFZWk1NFJLemhYU3NMSE9mRmVDckh4?=
 =?utf-8?B?SGtIdEI2M3p0RnZkWGdCdldPR0dqNUw4eVNPdW9oakRSb0RMTXBEclpXT2Ri?=
 =?utf-8?B?T3lCcVdYWFZlQXpIQnliZDR2bUs5LzlLYnRQVFk4ZmlWV1BlUitXTWdDOHh3?=
 =?utf-8?B?ZVM5bVV1T1ZPV0RUZnFpaXJBMlBVMG9ydHRQN3FYQm80SHZGS3lNeEZDZUpR?=
 =?utf-8?B?cm9ZdkNNOHZnRnpnWHdkd3JTNzFEQzJEb3dsUExVVFNacjN4UUorc0E1Q3ox?=
 =?utf-8?B?cXRkd2E0Y2NyTjRIMHltbXM3d1RVMzVQV0lOTSttMDUreUdTTGJlY3JoeDJQ?=
 =?utf-8?B?T0sxckN2MWptN3BHemRwL3EzRUYrK2xwRmV3ZzQ2L1lETklMZ0NJRTBJRWR6?=
 =?utf-8?B?dGJocE0vSzZENWd1bzQ1MHZ4QThwRzE2VzRLcWN1ZTFJYWljemtEU1djQXNP?=
 =?utf-8?B?eEtBaDlzS0pFUEpPRHFiRW9BYUdzNXk3d3JicjE2RWpOa3E3amg3NXJVK0ow?=
 =?utf-8?B?WUJYaDJhdUM5cXZOTFo1aWx3ZGdKY1hDdDExUVRvZTcwRThzQXc2ampCWUNT?=
 =?utf-8?B?ZmZmRDhjTlFSN1VRUkxhdVk4UE9jSUdHZytpbFRsaU9Pb0Y4bnVzS3BVWHJS?=
 =?utf-8?B?VDY3RC9kaDVsbWVpZTF0YjdUd3hFNWwvZXUvZmt3a2dGdWxzZVhudytBS3JO?=
 =?utf-8?B?WkcrYVBON1Z6SFVDcGowV0VVN3JsS0ZVWTlZMStBUGI5VWNGOHlKSi9rQmRq?=
 =?utf-8?B?SW1zN29nS3lzVzYzMjVRN0FQWUxqMStISzBRS2JMLytqUmVOT0Y2V0o3Q2Jo?=
 =?utf-8?B?MnAxYlZBbDNwdTRIR3dQa1N5bnUrdTdlVDlIdlpTRi9SZFJLR0dXTk9VNzYz?=
 =?utf-8?B?MDVqTmN3NEtneENGdFRSeVhZOHgvMTR1NjBVVEo4bVBuVFBUR2IrMDFkc1lj?=
 =?utf-8?B?Rjh5V3RBY0V2NXJWOGplTHRhVGdGeFBQQUdmVXgrUldQVnpQQTBFWGI1MHNa?=
 =?utf-8?B?OFZJTmNUaDRtbnlTb3hORXRXajlGRUVldmtjRGRRVkFyT211eVcyZkFOSGFT?=
 =?utf-8?B?UE05UkQzbWZHVzczODNRZHNSQXNIdVZUZFRYaGNyUlRtRnJxUjZad2hTZzB5?=
 =?utf-8?B?MEpzVkUxV2M3cXpCak9GcmpTaHI3czVxNVpIaEV3b29oVTVOVERBRElxcUhi?=
 =?utf-8?B?TDNTaGhFK3AzMGp2bEtLaDM2V09kTjcrZGJSQ1NXaVJQRWoybkpBWWdYdVN2?=
 =?utf-8?B?aEtNVy90NnlHMmt4bzhDbHVPNHhETmdqVUNpUnl0bzVGZGxvRTNpbzFJUXdq?=
 =?utf-8?B?NTZSa0dPcHJNSkJ3N0RZRkhJajZvKzluY3NqSG5JRVc4RHg4WXJZQjYzbjZM?=
 =?utf-8?B?ZDFsK2o4ZXpRS0VmQmF2eTlxNjdIOXlzMURXUjNNL2hMYmZuRWNpazdZRzd2?=
 =?utf-8?B?QW9MamJTZWdWNzczbXdzcUhVS0h6UHF6ZGdoRmRUYkFESVJmZUpKOE96RHk3?=
 =?utf-8?B?R1RTZDJuRTJDeXR1UmxxcVVZOFlTUm9rcDlKMCtzNlhpaTdCS2xmZ29XeDR5?=
 =?utf-8?B?QUhndSt0K3ZvTkpEU0VtMHJENXB2MVVkalR1ZVZjWDJEN2dHd0hHbE1TcHFz?=
 =?utf-8?B?d04vRVgrTmFyelRxZEpoZzNxdHFxdzl1eDg2UGNTQ0Z5MDhicmpOMXhrVFV4?=
 =?utf-8?Q?zFDA=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f878fdb5-6760-48bf-af2f-08dd6ad4efcf
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 13:08:14.8084
 (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: PASzjdcHqa2SySDlH0EIwdTeFE9/BjLbeVWrhzvmeUzHukBg67NMQqBK+XGi0BVZ
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8933



On 19/03/2025 15:01, Alejandro Vallejo wrote:
> 
> 
> On Tue Mar 18, 2025 at 9:00 AM GMT, Michal Orzel wrote:
>> We are missing a way to detect whether a user provided a value for
>> nr_spis equal to 0 or did not provide any value (default is also 0) which
>> can cause issues when calculated nr_spis is > 0 and the value from domain
>> config is 0. Fix it by setting default value for nr_spis to UINT32_MAX
>> (max supported nr of SPIs is 960 anyway).
>>
>> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_spis value")
>> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  tools/libs/light/libxl_arm.c     | 7 ++++---
>>  tools/libs/light/libxl_types.idl | 2 +-
>>  2 files changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
>> index 2d895408cac3..5bb5bac61def 100644
>> --- a/tools/libs/light/libxl_arm.c
>> +++ b/tools/libs/light/libxl_arm.c
>> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>                                        libxl_domain_config *d_config,
>>                                        struct xen_domctl_createdomain *config)
>>  {
>> -    uint32_t nr_spis = 0;
>> +    uint32_t nr_spis = 0, cfg_nr_spis = d_config->b_info.arch_arm.nr_spis;
>>      unsigned int i;
>>      uint32_t vuart_irq, virtio_irq = 0;
>>      bool vuart_enabled = false, virtio_enabled = false;
>> @@ -181,13 +181,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>
>>      LOG(DEBUG, "Configure the domain");
>>
>> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
>> +    /* We use UINT32_MAX to denote if a user provided a value or not */
>> +    if ((cfg_nr_spis != UINT32_MAX) && (nr_spis > cfg_nr_spis)) {
>>          LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
>>              nr_spis);
>>          return ERROR_FAIL;
>>      }
>>
>> -    config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
>> +    config->arch.nr_spis = (cfg_nr_spis != UINT32_MAX) ? cfg_nr_spis : nr_spis;
>>      LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
>>
>>      switch (d_config->b_info.arch_arm.gic_version) {
>> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
>> index bd4b8721ff19..129c00ce929c 100644
>> --- a/tools/libs/light/libxl_types.idl
>> +++ b/tools/libs/light/libxl_types.idl
>> @@ -723,7 +723,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>>                                 ("vuart", libxl_vuart_type),
>>                                 ("sve_vl", libxl_sve_type),
>> -                               ("nr_spis", uint32),
>> +                               ("nr_spis", uint32, {'init_val': 'UINT32_MAX'}),
>>                                ])),
>>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>>                                ])),
> 
> Doesn't this regenerate the golang bindings?
FYI, it does not. The bindings are already there for NrSpis and default value is
does not result in a change (for verification I checked max_grant_frames that
uses LIBXL_MAX_GRANT_DEFAULT).

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:11:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:11:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925508.1328375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twhaE-0003Lf-KA; Mon, 24 Mar 2025 13:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925508.1328375; Mon, 24 Mar 2025 13:11: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 1twhaE-0003LY-GF; Mon, 24 Mar 2025 13:11:14 +0000
Received: by outflank-mailman (input) for mailman id 925508;
 Mon, 24 Mar 2025 13:11: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=dvQq=WL=epam.com=Oleksii_Moisieiev@srs-se1.protection.inumbo.net>)
 id 1twhaD-0003LS-G6
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:11:13 +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 73d83e7a-08b1-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 14:11:09 +0100 (CET)
Received: from PAVPR03MB8946.eurprd03.prod.outlook.com (2603:10a6:102:32e::21)
 by PA4PR03MB7198.eurprd03.prod.outlook.com (2603:10a6:102:107::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:11:07 +0000
Received: from PAVPR03MB8946.eurprd03.prod.outlook.com
 ([fe80::f12d:7394:bbe3:dfc]) by PAVPR03MB8946.eurprd03.prod.outlook.com
 ([fe80::f12d:7394:bbe3:dfc%6]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 13:11: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: 73d83e7a-08b1-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CAenr9ddtQ4p7c1M2rN/8ZpZZUrSqeoWWUxXhwaipDDtHacyb24boFHFMxzjR4XNBzZagDMC0Vj7VRYSY9+wWzEjNSmrwHnU/N18keJXYMBEV9EgtVE4toZCnHOZARilSxSUohArk1PV//fS1jLc7Gf/otUjOqNbXimCO1bW7eYdeF16yyUX265/Pi8twOZgbBYfPiI9ovf4pHcw2PD2yX0ilH2NlFPKbdM7Y1k8t+A/1KvM0q4LCKC3+Y+ooPajfGBiH5nJkc/T5V9PF5vCqYAgrvttWK/JipCvzZcJerF2CJASY9qldS2O/4ri9yypY5zMPnUKdX4XHCbRyvn1jA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CvDGwbdZo8ARdx0B9NdsufmR/vzlAwwKZLi4lHYNGYQ=;
 b=HBJqmyv5rXa4/FeypJ+FTDyCoJB+ZX3FhrNiIe4yJgbPvrZGADu23tdJLOVa2zv7TWPq+FCDi5StRo6+iv/HFyeBLW7iVoDzo8oAOlx+Uj0f4vKBPBKezqej1jrEQru76Op2KwhLGdwhRvI/kIcmME1+sCoKsWyY3pD2S6fvwxV7tSWKwgdNbvXeuB6NHRvX13Bbu6e9n8q+2jjOtmgURnYn54xoxDljuylYKEpp/4T85I3RrDGVE59ulINx22UF9LH50iA+RHvpKSecWa7/Odd3g8BGDiNJWckEdJJSM+MywXnadHFp0n3CrT9oDhxVBEUPXT7IzHrvHAruXjLvJg==
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=CvDGwbdZo8ARdx0B9NdsufmR/vzlAwwKZLi4lHYNGYQ=;
 b=JMME0hPV26zOo/bXdqf2dFkfTm1rQHrrVQFQjnAtjfs0Ij9gyPlavlWZ0pxE3mbtC3JxH8LpWyfmLNYivO3m3YNa4hRGxsOKjqKzisnMEqQZJcz1Lc9WhXSbaLHpZMiDta6Nm78+dd4g+7mhQjQRRrVX9B8c6PMuM9aYCBl2MtlAzeeILgDTy3/UNpigHZaLhl8f4LiXZ1k+89e/VnoMVOP1PKIy8wowoWQxvccNukU9kl2nLfkhqpGs1bUgj8/ST1IjX90Px0+N63aRtd9wQafQjB2BlBcOkxSPjpSIaIjPrKTwFMNBaQiYUR4TWNY+hJObLBvwpFBXRIynkHGGcw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>, Michal Orzel
	<michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>, Anthony
 PERARD <anthony.perard@vates.tech>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Juergen Gross <jgross@suse.com>, Grygorii Strashko
	<grygorii_strashko@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Grygorii Strashko <gragst.linux@gmail.com>
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
Thread-Topic: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
Thread-Index: AQHbkncOeD3VtJHazEm60TGwzYlR9LNt0I6AgBRAzACAABJNAIAAM9CA
Date: Mon, 24 Mar 2025 13:11:06 +0000
Message-ID: <b1593e57-bb34-4aa4-b282-0f2de001c598@epam.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
 <5190f71c-4a93-4f66-91d0-aec43a97ddab@epam.com>
 <15bea88c-8294-4164-83df-7ccdb61f9697@suse.com>
In-Reply-To: <15bea88c-8294-4164-83df-7ccdb61f9697@suse.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: PAVPR03MB8946:EE_|PA4PR03MB7198:EE_
x-ms-office365-filtering-correlation-id: 20de80ee-9999-4fc8-efd0-08dd6ad55695
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|1800799024|376014|7416014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?ejE4S2NQS0xGZ2xSaDRrVTZHVituWGpoREw1ZnlRV0VxUzdJN1VWVkZMSXZX?=
 =?utf-8?B?bldFeERZdmpLY01YV3Z5djNvbUNaNnUxQ2pWdmVQR0VBdlI5Slg2bWpycGlG?=
 =?utf-8?B?UXVBdVFyc0FjeWMzTmY5ZXIzVFFuREdJMGJLekVneGQwd1F6WTVFY2NwV3h5?=
 =?utf-8?B?cXROZ1FFQW5iYThqMWpnVmlEVC9iK2pRSWhhS0RqQ3VVZkJ6dkFjWk0rWmEy?=
 =?utf-8?B?RGxKY1RSU3ZIK0xuS3JZaW5QUzBRdFU3YzlHcER4T1BjbkZSZUNMS0pqR2hW?=
 =?utf-8?B?N1VacVlnRFJ0NXNiQ213Rmx6Vmx1a0xIQ2NIc2NHajlvMmQ5WEptS0RVN01Z?=
 =?utf-8?B?a1UrbHJ2YXU3ZnRjN1ROOVI3MG02S21XRnRKUWNWS3Z4aUpEN0ZNLzZ6dzF4?=
 =?utf-8?B?T1dCMmlVQk9GRzYyWW1PZmhIUGNGejJBOVlFeWRPLzlJaCt3WXowd1ROc2hY?=
 =?utf-8?B?RTAzUDh0L0dGemNMMXg1cDVIbkI3Zlp3ZUYySzZLdkp2TzFycGtUblBhbXp0?=
 =?utf-8?B?ZTBqeDRuNUhFZ0d3TGN4ZUtoSEc4T1NxRjdkdFRMZjN5eC9pYXo0TWk0TEJF?=
 =?utf-8?B?ZlhSNEZyemlhOXVZTW1DRjFhVkYzTnp1YzA3VE01dUJtWnZhVDhRUlJjRkU2?=
 =?utf-8?B?UndRbTFKVlF2c1BTYk5lWGIyNGJnMWx5UU9rWWRCSU82T3RvblFCMGdMRWJ6?=
 =?utf-8?B?S09udVFFcEVTanFPZzNacnBMWlNKdlVYUXBkQSs2RisvM2NGdGc2MThGMEFZ?=
 =?utf-8?B?Tk51UmlhSHJhekE5MVN5aWFSMmcvd0V3MHg3cC94aHp3ZnFRR3dZeXN1THEv?=
 =?utf-8?B?WmNZYUFoaUVJNkFsNXZURkNRQjVJdTFoMGpTeHJEeTRlbndOeklmOW53UmR4?=
 =?utf-8?B?b3YzTHNIMnZQZDVjRXdpdFpveStxdnRKQlZKeEcyTW4xdzZ6R0YyRXhlV1hZ?=
 =?utf-8?B?NTZWNEdESzBMOUtxbkVLYk5rTjNwRWZpQ1hEaUNrR1FrTUh3cm5RT0k1L2pm?=
 =?utf-8?B?Ukk0L0lBYnJTNktEaUthK2dIaDh1S1JsSUg2TDdmK2dSVzlmdDdZVWRRZyt4?=
 =?utf-8?B?NlYvYk0vTmE2Yk0yMFVYamsySDhPR3M5QjJkYzh1NjVpZTE3Y2NpRUlNelVO?=
 =?utf-8?B?NXVlcUdaVzh4aFpvaUt0S0dkR1FRQmN5OG53elpTeVVLTGR5REp0NWNnaUhj?=
 =?utf-8?B?elBjUDIwbHNBMGFPU2FSaDVtVGxvWUE3VldtVWd5VGdyU0NvcjhMRFhJQzhY?=
 =?utf-8?B?TUVNY0N2Y1BNeC9wUVJLbk9NK1FhMmsvcTFReWJnS0h3VmRBVjg1enUxMFlm?=
 =?utf-8?B?Zk5EY2hTcTBkYXVlcGJyQ3FVdEZOVlE1c1J1eUZ6dDlWa012eGhCb1JjdEdM?=
 =?utf-8?B?M0dQQWw1YzFMTEZ6d1BiOVFBcTFIL09FSXZTQ0JHYWs0SmNWc3RnWEZ3UVFI?=
 =?utf-8?B?c1ZXUTEzRlMwazR3MHNwZXdzdkorRitwTmExblNLSlo2dXJnaVZvR0lNSFpq?=
 =?utf-8?B?Tk1wUkU2anppRFRqOG9QYnJUVDZnTDQ2UDVjL2k4Ny8wRXVJM3Rya1BhTzRQ?=
 =?utf-8?B?YklTMzZBblJtSkdvaGxNMVVFeFhOZHhNV1FyZGc2bGx4Q3JPSXhBcmRMZ0xN?=
 =?utf-8?B?ZzhQa3VZVlZMa0dqa2ZXS0dlWjVycFFTSE9ySk5yd2JzUkRSMi9IMTlsalhV?=
 =?utf-8?B?Qm15M25TRGhPTkVHUVM5dWQ5L3UzekJYSnBwaStRL1YxUE9NRktaWkovdUlp?=
 =?utf-8?B?Q2I2ZlN1NDNseHJFczdOQ2VMYjlLa0kydllEZURVOFZSbzRJQ0JtRFJVQWdL?=
 =?utf-8?B?eE1Wdmhvd3o0elpvZTJvZ3l5Ty8rVThGTzR3b0dXbGp1MCtWZnNCeGFXZ0Vz?=
 =?utf-8?B?YWUyem1tMUZFaG5JMHdNbDBBU0dMR1NENHBEWEd6SkJKM3V5ajRHYm80bkFC?=
 =?utf-8?B?bDIwcnBaNnRDQURBZUZsUDAycFJLNzl2dVlQNW8rUkwrUnNwTzByWitWL0NG?=
 =?utf-8?B?RnIrRzExOEJnPT0=?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB8946.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dFFIdFA5WjRoc0p2OFp3WDBhOW81N09wRlQxcW4xUTRMNmRHWS95K1BVcFd6?=
 =?utf-8?B?VHNoMU5GeUpTR1FmdFBsQ0p3UzFidDVJYm4vK3kzS0hYN2d5dkUyZmJtWHVP?=
 =?utf-8?B?bjBaVURLKzUzbkU4YTBuQU5yWjNrZVdONk1kbGZybkV6b3doaktxUG1JMlFT?=
 =?utf-8?B?ZjI3ci9WdVlWMG5EKzNYVzlsMHpxVkV0WWFvWjJxbHFKVEFiRG9xUTJFWDlh?=
 =?utf-8?B?ajk5Z2NHLy9KTDVRU0NOWnYyempqTTF2bzlzUzlGdFZvUlRkRG1yRFhsSVk1?=
 =?utf-8?B?OTBmUy9zcWttQnQwT3FRV1JKOFBTVTBVNUhqeDVLQmlZUW51ZUMwZllDckV0?=
 =?utf-8?B?RXdOUDRyUXZyYkU4a1YyN1h2RW51QmIrTGliR0ZSd004YW5vS0hRUjJTUWx5?=
 =?utf-8?B?OEdCRVluaUYxTFlvdTlkNVoxVDgvb1NXR3dxQ1dYWTJzNi9uQzhLMlhTQWpL?=
 =?utf-8?B?Z2luUVV4aXVYWFUyeTZqVlFUNmJKTEUvTC93S090VzNqQnBBMGIwa25pTFRN?=
 =?utf-8?B?dURKNFlFQ2s3b2FsanBhS2lTTTFYZnVJVUkrRFR5bnJoVnN0bzFPbmI4dmc0?=
 =?utf-8?B?UElXaU8xVXBLazZUd0dVQ1hRQ3lEZVhvNmgxdzZhM3BUeldtWmdFb1dwU0RK?=
 =?utf-8?B?d1pDRTc3aEY4SnJScnQyRzkyb3FtM2Y5MFNGanZ2RDFpU1pTS2MxSkRTazFp?=
 =?utf-8?B?ZG9aTUQ3Z29tcG5xOGdwQ2hud1VSbm96K2NrSWc2UTViWkJBZVUwWGNRcW5Z?=
 =?utf-8?B?N0pzYzh5VjdvWXVGWjQ2YkJJRFE0WDBoT3NXck9JV0VqQklMK2Y1clBkVk1q?=
 =?utf-8?B?MHJiOFcreG44SjZENzZFT0VaSVRWSGRZOTY2MTRwWXVSOFBNZFVNRW9BdjQ2?=
 =?utf-8?B?ODUwbVNpK3lJbzdPM0tGZTZOOU9oYnVSVnBuc2hrV1VXRUxQRjhUY1RZUGlG?=
 =?utf-8?B?R1NNTldTVTk1OTlPNjYzUkFMWkJKbHdSODZwcE5USG9mU3o4YzRkV0JDeGRh?=
 =?utf-8?B?dGhFK1dxejR0cUVBcGJISEZTWlVlSnhURHQ1SG5ZTVhPOEhxQlhNZ0hXY2lY?=
 =?utf-8?B?K21FTEVvbG5HUnFRYmFKK0J0VDhYaGFWclBzNnR4VEtqSEtTaWxHbGNENjFh?=
 =?utf-8?B?VE5NeWs0Wk1OVmhUWUI0MTQxaUZZUHBiUitQeUJKQWFXY010SHd2NXp5RG1l?=
 =?utf-8?B?WWZDVkhCbnpldE9GTnpjRHNQTUhyRjFQcVNHUmQ2TStFRnB1VWVkaHlCRXJx?=
 =?utf-8?B?YW1ETDc5b09peDh0L2RVR0RlSkFpbDZLMUc4RlpVWi9taDhiRkRkVGRTL1ZN?=
 =?utf-8?B?eXZ0eDU0V3pvUkx6Sm9sc3Z6RWZiQ1J4ckZlRmpQWVo1M0FrUEt0bUs0dW5N?=
 =?utf-8?B?Zml1R1lsazRoTGtpOWthTExNU3dmNjJoazdHdkljUnY0aG9DcEx4UkVVby9i?=
 =?utf-8?B?bVBJTDRlTXlQcGptVXZiSnFkNXl0eDlKS2syZ21KNDVEY2NpRzZ3TzVRYnlh?=
 =?utf-8?B?S0RHTzErbHdNa01BbUhveG1MZnp3OEE2OWhOekxqaEpxdm5vanNiUFpERGJ0?=
 =?utf-8?B?NTJpQ0drUDdZNjYzKzBqdVRMSHNCZ3BOMGpiRlFiUnVqMlMrWncyUW5OMkdh?=
 =?utf-8?B?K0FNbWxxSUdNREFWaEZkOXlzRU8yeW9rZHh3bG45NjBCUjVWOFJYLzk2b05p?=
 =?utf-8?B?RURkTEJsU2dWZ0ZTMVlqVGphaDN4RjhLQmxjZ2FLSzVRZGpSV0dITEtnKzNX?=
 =?utf-8?B?L3ZTTElobFlFVTAzOFJaNnBIK2ZWc05LT2dZbTZpZ2EzQ3NpOWVITlhuNmky?=
 =?utf-8?B?UmVTdCtWMGtkK24zcnVHVUpHSFNmc3VJcGNTbnBkRUx3TmtHL2U3SDRTRDRi?=
 =?utf-8?B?NzhVRWJQeFY4czQ3RE5iUjN2NG1penlVSmE5QXVEMENRSW1INElWckhKQmFz?=
 =?utf-8?B?QWRqb3NOT2FGK1dydkhDTllxaDZMOW14WXN4K3NFQ0ZTSVhXQTdJeUJOQUFS?=
 =?utf-8?B?dnF1aGc1cWxwVUZ5MEJDYTh4SzJGYkdER29XUWZIRjJ1bk1Mdk5LemVpcVky?=
 =?utf-8?B?L0FoTDBYbHJsTkN6S2dqTTQxRjZwUG9qTzc0amM5RFA3UytBRE5GNUZaKytz?=
 =?utf-8?B?TmJwNTVSeHArKzkwWHBDSlZPaHZGTWVEZWNYeFJvMlowYUJCeC9WVEduMXFp?=
 =?utf-8?B?cUE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <22B85D7776D8524DA04035A099845D98@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: PAVPR03MB8946.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20de80ee-9999-4fc8-efd0-08dd6ad55695
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2025 13:11:06.9217
 (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: K1/OIYWwktX8/SteTtfgbWuAZqVkwYueYHj0W2PY3Ekk0+PnHNvijRXTp49SQ4qt2q+zQDfBIMn0p4dxTYuQksZrSlAO/8k7q3Xp3P5vy2c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7198

SGkgSmFuLA0KDQpPbiAyNC8wMy8yMDI1IDEyOjA1LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24g
MjQuMDMuMjAyNSAxMDowMCwgT2xla3NpaSBNb2lzaWVpZXYgd3JvdGU6DQo+PiBIaSBKYW4sDQo+
Pg0KPj4gTGV0IG1lIGFuc3dlciBvbmUgb2YgeW91ciBjb21tZW50LiBQbGVhc2Ugc2VlIGJlbG93
Og0KPj4NCj4+IE9uIDExLzAzLzIwMjUgMTM6NDMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+IE9u
IDExLjAzLjIwMjUgMTI6MTYsIEdyeWdvcmlpIFN0cmFzaGtvIHdyb3RlOg0KPj4+PiAtLS0gYS9N
QUlOVEFJTkVSUw0KPj4+PiArKysgYi9NQUlOVEFJTkVSUw0KPj4+PiBAQCAtNTI2LDYgKzUyNiwx
MiBAQCBTOglTdXBwb3J0ZWQNCj4+Pj4gICAgRjoJeGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Rl
ZS8NCj4+IFtzbmlwXQ0KPj4+PiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaA0K
Pj4+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaA0KPj4+PiBAQCAtMzI3LDYg
KzMyNyw4IEBAIERFRklORV9YRU5fR1VFU1RfSEFORExFKHZjcHVfZ3Vlc3RfY29udGV4dF90KTsN
Cj4+Pj4gICAgI2RlZmluZSBYRU5fRE9NQ1RMX0NPTkZJR19URUVfT1BURUUgICAgIDENCj4+Pj4g
ICAgI2RlZmluZSBYRU5fRE9NQ1RMX0NPTkZJR19URUVfRkZBICAgICAgIDINCj4+Pj4gICAgDQo+
Pj4+ICsjZGVmaW5lIFhFTl9ET01DVExfQ09ORklHX0FSTV9TQ0lfTk9ORSAgICAgIDANCj4+Pj4g
Kw0KPj4+PiAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29uZmlnIHsNCj4+Pj4gICAgICAgIC8q
IElOL09VVCAqLw0KPj4+PiAgICAgICAgdWludDhfdCBnaWNfdmVyc2lvbjsNCj4+Pj4gQEAgLTM1
MCw2ICszNTIsOCBAQCBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29uZmlnIHsNCj4+Pj4gICAgICAg
ICAqDQo+Pj4+ICAgICAgICAgKi8NCj4+Pj4gICAgICAgIHVpbnQzMl90IGNsb2NrX2ZyZXF1ZW5j
eTsNCj4+Pj4gKyAgICAvKiBJTiAqLw0KPj4+PiArICAgIHVpbnQ4X3QgYXJtX3NjaV90eXBlOw0K
Pj4+PiAgICB9Ow0KPj4+IFlvdSdyZSBub3QgcmUtdXNpbmcgYSBwcmUtZXhpc3RpbmcgcGFkZGlu
ZyBmaWVsZCwgc28gSSBkb24ndCBzZWUgaG93IHlvdQ0KPj4+IGNhbiBnZXQgYXdheSB3aXRob3V0
IGJ1bXBpbmcgWEVOX0RPTUNUTF9JTlRFUkZBQ0VfVkVSU0lPTi4NCj4+IFdlIGFyZSByZXVzaW5n
IGFuIGV4aXN0aW5nIHBhZGRpbmcgZmllbGQgaW4geGVuX2RvbWN0bCwgd2hpY2ggaXMgZGVmaW5l
ZA0KPj4gYXMgcGFkWzEyOF0uDQo+Pg0KPj4gVGhlIHhlbl9hcmNoX2RvbWFpbmNvbmZpZyBzdHJ1
Y3R1cmUgaXMgYSBwYXJ0IG9mIHRoZSBmb2xsb3dpbmcgZG9tY3RsDQo+PiBzdHJ1Y3R1cmVzOg0K
Pj4NCj4+IC0geGVuX2RvbWN0bF9jcmVhdGVkb21haW4NCj4+DQo+PiAtIHhlbl9kb21jdGxfZ2V0
ZG9tYWluaW5mbw0KPj4NCj4+IFRoZXNlIHN0cnVjdHVyZXMgYXJlIGluY2x1ZGVkIGluIHRoZSB1
bmlvbiB3aXRoaW4geGVuX2RvbWN0bCwgd2hpY2gNCj4+IGRlZmluZXMgcGFkWzEyOF0gZm9yIHBh
ZGRpbmcuDQo+IEV4Y2VwdCB0aGF0ICJhbiBleGlzdGluZyBwYWRkaW5nIGZpZWxkIiBtZWFucyBh
IGZpZWxkIHdoaWNoIGlzbid0IGp1c3QNCj4gdGhlcmUgaW4gc3BhY2UsIGJ1dCBpcyBhbHNvIGNo
ZWNrZWQgdG8gYmUgemVybyByaWdodCBub3cuIFRoYXQgaXMsIG5ldw0KPiBjb2RlIHNldHRpbmcg
dGhlIGZpZWxkIHRvIG5vbi16ZXJvIG5lZWRzIHRvIHByb3Blcmx5IGdldCBhbiBlcnJvcg0KPiBp
bmRpY2F0b3IgYmFjayBmcm9tIGFuIG9sZGVyIGh5cGVydmlzb3IuDQoNCkkgY29tcGxldGVseSBh
Z3JlZSB3aXRoIHlvdSB0aGF0IFhFTl9ET01DVExfSU5URVJGQUNFX1ZFUlNJT04gc2hvdWxkIGJl
IA0KaW5jcmVtZW50ZWQNCg0KYmVmb3JlIHRoZSBjaGFuZ2VzIGFyZSBtZXJnZWQuIEkganVzdCB3
YW50ZWQgdG8gcG9pbnQgb3V0IHRoYXQgd2UgZG8gbm90IA0KZXhjZWVkIHRoZSBzaXplIG9mIHRo
ZSB4ZW5fZG9tY3RsIHBhZGRpbmcuIElmIHlvdSBhcmUgb2theSB3aXRoIHRoZSANCmZpZWxkcyB3
ZSBoYXZlIGFkZGVkLCB0aGVuIFhFTl9ET01DVExfSU5URVJGQUNFX1ZFUlNJT04gd2lsbCBiZSB1
cGRhdGVkIA0KaW4gdGhlIG5leHQgcGF0Y2ggc2VyaWVzLg0KDQo+IGJ1dCBpcyBhbHNvIGNoZWNr
ZWQgdG8gYmUgemVybyByaWdodCBub3cuDQoNCkp1c3Qgb3V0IG9mIGN1cmlvc2l0eSwgSSBoYXZl
IG9uZSBtb3JlIHF1ZXN0aW9uOiBJIGNvdWxkbid0IGZpbmQgdGhlIA0KY2hlY2sgeW91J3ZlIG1l
bnRpb25lZC4gQ291bGQgeW91IHBvaW50IG1lIHRvIHdoZXJlIFhlbiBvcg0KDQp0aGUgdG9vbHN0
YWNrIGNoZWNrcyB0aGUgZG9tY3RsIHN0cnVjdHVyZSBmb3IgMD8gSSB3b3VsZCBncmVhdGx5IA0K
YXBwcmVjaWF0ZSBpdCBpZiB5b3UgY291bGQgc2hvdyBtZS4NCg0KDQpXQlIsDQoNCk9sZWtzaWku
DQo=


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:37:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:37:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925520.1328384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twhzm-0000Kg-EZ; Mon, 24 Mar 2025 13:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925520.1328384; Mon, 24 Mar 2025 13:37: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 1twhzm-0000KZ-Bz; Mon, 24 Mar 2025 13:37:38 +0000
Received: by outflank-mailman (input) for mailman id 925520;
 Mon, 24 Mar 2025 13:37: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twhzl-0000KT-BD
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:37:37 +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 24f7011a-08b5-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:37:35 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3913d129c1aso3123750f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 06:37: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-3997f9efd61sm11124721f8f.91.2025.03.24.06.37.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 06:37: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: 24f7011a-08b5-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742823454; x=1743428254; 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=LZJD84PE7qVnTgB5ljtg9G7WfvxWLy4hlzna5iyNKkM=;
        b=el6EOWCNV+b7yXH07d+6IYaOo91dWenVwTyhPWAvqDTA0PfEeK35zDib8zvYutuC56
         mAGCzlz/ytzyf2eYlB/prmtfMcVFtMr21ZzRbXji0AbX+Jt52mRe5i0AjvpLsyxaiWyO
         ZPZp7BZGyZSu5f4KLH9EXVxYPtJGiSfUlWH39AM70byxTRbpKXVBZYbEje+bArM1XN+X
         YqjKp8SDtogyZzZPVUjUkP+VNUJP2nLM+MpXCF+VAXPWnQyleBTxtT4V7EZF7LpnVPWK
         GrWsXr246id3DW0metb0pZX5uYPUUpSgOQE+uW/XPIun2h8wputTn3gpS8CdKhbbOpj9
         58LA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742823454; x=1743428254;
        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=LZJD84PE7qVnTgB5ljtg9G7WfvxWLy4hlzna5iyNKkM=;
        b=OBwC6GXIuaGgue1s2qOeeg8CTRnyDl3aCbmbjqRRLblfvXd3H2YMegMTPH157cw4k8
         slwFW8RzUTKwtr4YNxTH00O1WnEcyoBOzt2/n3bIwaKXWHHIRdb+JSTRbRElcQtXpE+S
         DBm8haaBrfz0zNrzNwEtgDdgu7Ye6Dazq3iMSHxDMQ9I3avsBPSl1JKA0ZJE9bUN0L/Y
         cq0+gwYIvbsicIcdZ50Z5dBXO1pM4LrEvfuTRFBOxSne7SR2ixxdWBNz+2ZCei1mACZl
         5xqLvONAmWCfAgtwCLy/5j5DVCX/NlACfhT+PTDC/QeUVAHBchDkMgYeiMiio/mmf31k
         nA0Q==
X-Forwarded-Encrypted: i=1; AJvYcCWUIAnxRgx8015s7dFj56wwSQwWH6fh3Mpu5fjzBCx5iVIph1QyDCJoS7RojMYL9NniLm1tIYWLsRg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy+htUdG+hqV53WcJtCNMWtJAtioRKBwE1pBeXEzGjCRYNgWdiB
	rI3Erv/3Ru00etn8pAMHH71ndLu83h1s/kIIylyScYLQ+YP854UdYvkn5guRqw==
X-Gm-Gg: ASbGncsPDsTsW9R/c9QE36krmzI5okhp87xJEfkgHftZ0gbi77+aUih/TcQvk6NPPuH
	hDj4v8kdg5+TVymoONJb0SL1qXTJ2sYlZ8q309+h9HCyM67N0yW6agxAXHdqpqllqZ79VkJ+/ee
	z/zjhcVxUnpbjCBJQPONvCF6qdZ5zKTr43pRPLqrFmSqWdjw2dgTlZviEtlFNjjQSMAFXfv2aME
	ilxukH2d+N3+YznE5YMtTrulefoKiKkUEKO79FgXS8zyXeyUEuizCn9S4G9mS/ZlmOQbRJkku3d
	WtTdjdCyHKaCQ2QfUdZHxqa8T8yjOX7se3KACgMVKojqIK3RBKUaNS//6EeOEznvfPbBQAF4cu9
	err33zxoS6bhwLMRva7byoDaESkYS4A==
X-Google-Smtp-Source: AGHT+IHDih0+a6aVbVdWfi1o1KeLF3jMScMP0+if78bSywjHXtNOcMv0c7LJOwV5ShG7h9W0E6RL3w==
X-Received: by 2002:a5d:6daa:0:b0:38d:ae1e:2f3c with SMTP id ffacd0b85a97d-3997f93c45dmr11588338f8f.25.1742823454516;
        Mon, 24 Mar 2025 06:37:34 -0700 (PDT)
Message-ID: <85162f47-421f-4980-965e-b156f56b8de0@suse.com>
Date: Mon, 24 Mar 2025 14:37:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86: make Viridian support optional
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
References: <20250321092633.3982645-1-Sergiy_Kibrik@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: <20250321092633.3982645-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.03.2025 10:26, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -695,9 +695,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;
> +    }

It is, aiui, this conditional initialization which causes

(XEN) [    9.136463] UBSAN: Undefined behaviour in arch/x86/hvm/viridian/viridian.c:1118:43
(XEN) [    9.136465] member access within null pointer of type 'const struct viridian_domain'
(XEN) [    9.136471] ----[ Xen-4.21-unstable  x86_64  debug=y ubsan=y  Not tainted ]----
(XEN) [    9.136473] CPU:    14
(XEN) [    9.136475] RIP:    e008:[<ffff82d04032e8a8>] common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd9
(XEN) [    9.136480] RFLAGS: 0000000000010096   CONTEXT: hypervisor (d0v6)
(XEN) [    9.136484] rax: 0000000000000000   rbx: ffff8304761afb40   rcx: 0000000000000868
(XEN) [    9.136486] rdx: ffff8304761affd0   rsi: 0000000000000004   rdi: ffff8304761afb40
(XEN) [    9.136488] rbp: ffff8304761afb30   rsp: ffff8304761afb20   r8:  0000000000000006
(XEN) [    9.136490] r9:  00000000ffffffff   r10: 0000000000000000   r11: 0000000000000000
(XEN) [    9.136493] r12: ffff82d040913d22   r13: 0000000000000003   r14: ffff82d040b237a0
(XEN) [    9.136495] r15: 000000000000000f   cr0: 0000000080050033   cr4: 0000000000b526e0
(XEN) [    9.136497] cr3: 0000000308528000   cr2: 00007f24a0c9de28
(XEN) [    9.136499] fsb: 00007f24a3fd6b48   gsb: ffff8881b9b80000   gss: 0000000000000000
(XEN) [    9.136501] ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) [    9.136505] Xen code around <ffff82d04032e8a8> (common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd9):
(XEN) [    9.136507]  89 e5 41 54 53 48 89 fb <0f> 0b 48 8d 3d ff 92 37 00 e8 9d 99 00 00 48 85
(XEN) [    9.136572] Xen stack trace from rsp=ffff8304761afb20:
(XEN) [    9.136574]    0000000000000003 ffff82d040913d22 ffff8304761afb70 ffff82d04032ef58
(XEN) [    9.136578]    0000000000000202 ffff82d040911100 0000000000000000 0000000000000000
(XEN) [    9.136581]    ffff82d040b237a0 000000000000000f ffff8304761afbd0 ffff82d04032f3af
(XEN) [    9.136585]    ffff82d0406b8900 0000002b8000045e ffff82d040913d1e 0000000000000001
(XEN) [    9.136588]    ffff82d040b23703 000000000000000f ffff8304761afbc0 ffff830405d65000
(XEN) [    9.136592]    ffff8304761afd00 0000000000000000 ffff8304761afc18 ffff82d040418b9c
(XEN) [    9.136595]    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN) [    9.136598]    ffff82d040b23a88 00000000000002e8 ffff830401d6cfe0 ffff8304761afc98
(XEN) [    9.136602]    ffff82d04045fc14 00000000000002c0 ffff82d040b23a58 ffff8304761afd00
(XEN) [    9.136605]    ffff82d040418a0a ffff830405d65000 ffff82d040b23a88 0000000154381286
(XEN) [    9.136609]    0000000000000000 00383ffe00090672 0000000000001c78 fffffffffffffff4
(XEN) [    9.136612]    ffff830476161000 ffff8304761afdb0 ffff830405d65000 ffff8304761afd50
(XEN) [    9.136616]    ffff82d040630690 800000030847e127 0000000000000206 000000000000000e
(XEN) [    9.136619]    ffff82d040a00b44 ffff82d040a00b40 ffff82d040a00b44 ffff83047618f000
(XEN) [    9.136622]    00007f24a3c7a010 ffff8304761afef8 ffff8304761afef8 ffff8304761b5088
(XEN) [    9.136626]    00001c7800000580 ffff830483a24000 0000000000000001 00007f24a3c7a010
(XEN) [    9.136629]    0000000000000001 ffff830405d65000 00007f24a3c7a010 0000000000000001
(XEN) [    9.136633]    0000000000000021 0000000000000000 ffff8304761afe68 ffff82d0402c662f
(XEN) [    9.136636]    ffff8304761afd80 ffff82d0405a0fbb ffff830476161000 ffff8881b9b80000
(XEN) [    9.136640]    ffff8304761afdb8 ffff82d04052fdef ffff830476161000 ffff8881b9b80000
(XEN) [    9.136643] Xen call trace:
(XEN) [    9.136646]    [<ffff82d04032e8a8>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd9
(XEN) [    9.136648]    [<ffff82d04032ef58>] F __ubsan_handle_type_mismatch+0x135/0x48e
(XEN) [    9.136651]    [<ffff82d04032f3af>] F __ubsan_handle_type_mismatch_v1+0xfe/0x100
(XEN) [    9.136655]    [<ffff82d040418b9c>] F arch/x86/hvm/viridian/viridian.c#viridian_save_domain_ctxt+0x192/0x204
(XEN) [    9.136658]    [<ffff82d04045fc14>] F hvm_save+0x4d1/0x5c6
(XEN) [    9.136661]    [<ffff82d040630690>] F arch_do_domctl+0x2f8/0x51aa
(XEN) [    9.136664]    [<ffff82d0402c662f>] F do_domctl+0xc91/0x460d
(XEN) [    9.136667]    [<ffff82d04053ab70>] F pv_hypercall+0x6d6/0x834
(XEN) [    9.136669]    [<ffff82d0402012d3>] F lstar_enter+0x143/0x150
(XEN) [    9.136671] 
(XEN) [    9.136673] ================================================================================
(XEN) [    9.622282] 
(XEN) [    9.624469] ****************************************
(XEN) [    9.630471] Panic on CPU 14:
(XEN) [    9.634182] UBSAN failure detected
(XEN) [    9.638469] ****************************************

throughout tests on actual hardware in CI. And really I don't think it's just UB, but
rather a real NULL deref:

    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,
    };

and only then

    if ( !is_viridian_domain(d) )
        return 0;

Makes me wonder if this change was actually tested ... In any event I'm about to revert
it.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:38:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:38:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925531.1328396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twi0z-0000sl-S0; Mon, 24 Mar 2025 13:38:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925531.1328396; Mon, 24 Mar 2025 13:38: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 1twi0z-0000se-O2; Mon, 24 Mar 2025 13:38:53 +0000
Received: by outflank-mailman (input) for mailman id 925531;
 Mon, 24 Mar 2025 13:38: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=R/zo=WL=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1twi0y-0000KT-3s
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:38:52 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 522a7f9c-08b5-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:38:51 +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 3ED244EF5CF4;
 Mon, 24 Mar 2025 14:38:50 +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: 522a7f9c-08b5-11f0-9ea2-5ba50f476ded
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=1742823530;
	b=J+8s0KGKMzoLwGIRx1bf4t/QuiWX01e5HRlHwIbAlJF6APGtgicpZiFq7ATE1zHi1EbJ
	 Lgr41xkQ/LQ3MWT4Oc+uqX+aMOCXsXIqeGt19P5D1XOAqDzotekgz5vJ73q5Egvhk34Hg
	 QclhVldc0QLS0Ml0XOTMnyAHtg7d3WkMl12uN/c4nwketYYlqrItQIHhb/MNqG49Wnz42
	 4r3h3Lalwt5QS4hdpuFmqp096RJHTaDYFoqCYhGprJMS+/VKVjB3a8bU35t1MVHcnrj5w
	 Jnz9AvK1zePwEXuA28tu0098k7zXcMCiqAk+izpLrJgtWbyrZ+P4tgWyzT6Bz6zPclQGb
	 OxwOvV+I4MZGzCiY87gZLTe4UF7DBPFZGM+A/rkjuTbzHqzgVFUUHrlzTbNinK1cTzhpn
	 3Ca7rruYoDeSJaCXRfRJFbPB4ybqyWjpw5cWxhlDXcBVFUf4C+GN+nHZUWdI5GBxjcmKF
	 7vp1AvPVmpS0LAOK/B5g0rYG5dUuUNXfFosdM92Jp63N8ajHzCwbNcbN5vWk6ar6au/ci
	 NgrKgRYB/l7sfJfzJpMMtVGF9To4SYetDLdSiog5/ZrXo1fu9XGXlnMaa5v+C3hDAB25A
	 zTvYR3DYSkUZ73qZtcoVxBeByT5tI1662U9AdGlEemWoJxKPS1heWRMksfN50UE=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1742823530;
	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=fg4AdSp/4w4ePwGukNfy4BDqKs2+tU4sYzE8mqw+324=;
	b=ZIj4/E8hQwFKQUXMqJ7GP7f9P0yjvm/DyBvKVHiWxPQ77E/xxletkbZ4SiEEdiIXpa8V
	 TBNNQs/Z2awcSyVvtStRv3ghf8dtFPRIN4iJ1bLuGouONix1/wHFJUK5ZAEACIforBaMp
	 MFJEiY9ZmZ4Nyn7OW/AYxYWjQpyYyWbLdio59SQ18J8om8Q2KPWTA12p1hNtQZ8BK30pd
	 /BxitcXAZ6tWTD61PNWnaox5jpwCjp6+CVhA7pk178PL0bGO0zj5VZlR2cIoGLhWKtZml
	 9CPcGI6187xLFkhQhQHlwoIHWG+svfDzlkxUou83+rpGMIIB2bcDt9McuoP/KNgXkka5A
	 XRcxChxaz7ImYbQ/rRvN5wjVvaefIpen3sPkZh3kk6EvMikHP4F2beUsiJQqSLdlZJJdR
	 UkaeKJKRnX/y4WiNLKnjLM3vtK9xMZcEdQqiroImU4IyMXhAXTrJsLuFMX2AxQRMma1Cp
	 cs/nc8TtgLkxZiLiwKXpG3lnzlxbMOescVuFLd2G96IUpMFZB/SaJcxEx7OQYPUkIIoXe
	 IBWvv2szCMqszp7xdNHYSGsIADyPx0gqeolL6fMW4l/DpElTBia4c7T1GGo+EeDiUChuR
	 VqvVeYThvuCeRWEV1CV7HmFfx57Ri8SDpkOQepHROSufKp1ZDMCysdBr2dBKYyI=
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=1742823530; bh=EbThDq6ZA63KLKd23KuwjaDqoXdROo2VWFj8zyzRKxU=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=Y3d/6y06X9K8NeedmHGfHeJOxYEdtJFouDnI0KwIBFSiLNg3W0RM4U5FEBaEZw2Rd
	 ZHEBzrvUqcAt7UqhgnA1YEdqo9sOvUHlHEcRVj1agucqX4AByDjL9h/7xu0CeS/vuP
	 h07oR+oTKPcql1f/WpYO0GagL/rsw3ComIliIyqocTWH+Lu5BcoUaXJltFA1jkr6Dg
	 cvtdiSiWaNq897+qjEUdR2psuUCK5H/12O5xDzIxLHr5+hPEvv2yyW3Qzho7JZyWx3
	 LZXdYqqcM0eNr0juQLqV/fElrJDjBvX8Hnjqq8o/fm1WIpPUTlvh99WQqrijfDCBGO
	 USBz28F8+teyg==
MIME-Version: 1.0
Date: Mon, 24 Mar 2025 14:38:50 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>
Cc: 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 v7 1/3] xen: common: add ability to enable stack protector
In-Reply-To: <a4231eb6-b195-4ce0-b9ca-bdf928a21fbd@suse.com>
References: <20250318023234.1210659-1-volodymyr_babchuk@epam.com>
 <20250318023234.1210659-2-volodymyr_babchuk@epam.com>
 <a4231eb6-b195-4ce0-b9ca-bdf928a21fbd@suse.com>
Message-ID: <f2c3de2c6fff3f9d7e5186c06cd4f31a@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-03-24 13:50, Jan Beulich wrote:
> On 18.03.2025 03:34, Volodymyr Babchuk wrote:
>> Both GCC and Clang support -fstack-protector feature, which add stack
>> canaries to functions where stack corruption is possible. This patch
>> makes general preparations to enable this feature on different
>> supported architectures:
>> 
>>  - Added CONFIG_HAS_STACK_PROTECTOR option so each architecture
>>    can enable this feature individually
>>  - Added user-selectable CONFIG_STACK_PROTECTOR option
>>  - Implemented code that sets up random stack canary and a basic
>>    handler for stack protector failures
>> 
>> Stack guard value is initialized in two phases:
>> 
>> 1. Pre-defined randomly-selected value.
>> 
>> 2. Own implementation linear congruent random number generator. It
>> relies on get_cycles() being available very early. If get_cycles()
>> returns zero, it would leave pre-defined value from the previous
>> step.

[...]

>> +void asmlinkage __stack_chk_fail(void)
> 
> The use of asmlinkage here comes close to an abuse: The Misra deviation 
> is
> about C code called from assembly code only. This isn't the case here; 
> instead
> it's a function that the compiler generates calls to without source 
> code
> explicitly saying so.
> 
> This imo wants approving from the Misra side as well, and even if 
> approved
> likely requires a justifying code comment.
> 

Here my suggestion would be an explicit deviation via a code comment, as 
described in [1], to describe the motivation of introducing such 
definition without a declaration. Moreover, asmlinkage is only relevant 
for the missing declaration, but is not effective for other rules. It is 
probably appropriate to mark the function "noreturn" as well, given its 
purpose.

[1] 
https://gitlab.com/xen-project/xen/-/blob/staging/docs/misra/documenting-violations.rst

>> --- /dev/null
>> +++ b/xen/include/xen/stack-protector.h
>> @@ -0,0 +1,39 @@
>> +#ifndef __XEN_STACK_PROTECTOR_H__
>> +#define __XEN_STACK_PROTECTOR_H__
>> +
>> +extern unsigned long __stack_chk_guard;
>> +
>> +/*
>> + * This function should be called from a C function that escapes 
>> stack
>> + * canary tracking (by calling reset_stack_and_jump() for example).
>> + */
>> +static always_inline void boot_stack_chk_guard_setup(void)
>> +{
>> +#ifdef CONFIG_STACK_PROTECTOR
>> +
>> +	/*
> 
> Nit: Hard tab slipped in.
> 
> Jan

-- 
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 Mon Mar 24 13:43:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:43:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925541.1328404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twi57-0003h9-9X; Mon, 24 Mar 2025 13:43:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925541.1328404; Mon, 24 Mar 2025 13:43: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 1twi57-0003h2-6l; Mon, 24 Mar 2025 13:43:09 +0000
Received: by outflank-mailman (input) for mailman id 925541;
 Mon, 24 Mar 2025 13:43: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twi55-0003gq-TW
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:43:07 +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 eaac303b-08b5-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:43:06 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso47614625e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 06:43: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-43d43fdaca8sm174465445e9.28.2025.03.24.06.43.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 06:43: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: eaac303b-08b5-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742823786; x=1743428586; 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=G4DNB1dx5ifmTN1sxouxw1mh0EjUJheHnd10f2QIf6w=;
        b=FUIlKnTLkDIMZaOjg+aE3mGO12UAX5fTaliolLf5CJwwGQs6RBWM64GNY4LrahmKyZ
         Gy2zk0q+uNgL4W2p0Xf/fuLMnwDH4i1aLJ2zrA8L8I8k8t6QO1iFJUBkz2XD1oRFH0yF
         +PLJV0PrqCpSw6vDV9djEOjIsamcOa1EeGaEg+EO7ixPbrZPCie1PQbdLC0LMNk6f+NE
         J0kGx+jxlLdQG70t9CGfTWSOI1JZKmQY6OOewb96hGA9avUZ76pBCRThWG6ZiZR6ZX3U
         6JK+w2KbHhRrTsWytSgm1pdu45l2WC5tOZ7Nb8NbFLyamsmL+3mRrBnPi55Bn+TeqDvA
         Yc+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742823786; x=1743428586;
        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=G4DNB1dx5ifmTN1sxouxw1mh0EjUJheHnd10f2QIf6w=;
        b=RKLR9LebyCKK1wFMQeQk7fTTx7JJRhI9GofdDEvINMwMptYEYc/o+sc0WjMznozyr1
         eh3L4gVe+Q+UKyH11tmSjjC5Km/8/CH6QDavvILgX+g9RjdBGJMUo0tOKYPvL3T26/wK
         qKPD4/d1Zj2OGPOqEkXUulVL3Wzj/5dkLRAr0CaYqN91DBsueRNsvhmdRI1Oh6wmAcqu
         xbXucNQVVguGUdSAazpfZuMV6Cy6Dh++Jrx3oMlgwQUQ+JoWNa361Cq9zpoNll/befdI
         u1OxkWVzDDf1Z7j3dhvC7yNIakOqTEG5/fY7ygLzvaq2OfQ2fL4TslLkF6/CK5Isdjhq
         qgOw==
X-Forwarded-Encrypted: i=1; AJvYcCXBIWdJ22LRJY2YgKxaaD07bevbfdgugQ5eXByBrmgw7Ll0tMBRjdUq5Wg0EYg4t/Rq9wvoK/isnss=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzofhSE0Y0veKqC5ClMJ4NVTQ+xVFc++0q/5Crowp0d5cqmF12z
	PN13w+aV6fxZZ9GoP/lyruDaP33Z4Sl8t90a6tAVCF3F1aYqF/96f4kWaXqr6A==
X-Gm-Gg: ASbGncub5qAjzrZ4qr6dINjJ3GEa4mG0ES6g2J9AFwqCRW7YLmLSkTqO4lGcrZGSqpQ
	1HjTyGJwgsz5XcmC30mqi0BMIandlWn+aQIXR6IeTao+FGL974OK39nko4xuFKCvfcHk2aF+SUu
	0hF44uyXWrvYJbBoXgqyabX2kPo63/vqap1iszdszMdf2dOJR1/JSRullBbyz1cbFiXkW6ImWaN
	NIEuBZHD5iTsm84b9PBt4EQtetwzsKVQ2hjVJ5DKPVfBuuPduZXACNPOlUPY78C4mvJRDzuwcH8
	K+JntunWne5sGE9cnLfWvdjSOuZbavuxSh1HrqNQ7IvYERFeHlLfbdvIRu2XpzW9Ga7KBF/xmNy
	E3WA/4WcF01pDptoMsWM2d7CgHp7aKA==
X-Google-Smtp-Source: AGHT+IEssfSEl8076fXpSwmMPHs7d9uCssoqUygGifnGP/f+i3wfjJGQBy2ZkftfJkuDmVYB8yjJvQ==
X-Received: by 2002:a05:600c:5021:b0:43c:ea1a:720c with SMTP id 5b1f17b1804b1-43d509f6307mr139336885e9.18.1742823786206;
        Mon, 24 Mar 2025 06:43:06 -0700 (PDT)
Message-ID: <3e2b42fa-a685-4f16-9fd9-094060b1c60d@suse.com>
Date: Mon, 24 Mar 2025 14:43:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Grygorii Strashko <gragst.linux@gmail.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
 <5190f71c-4a93-4f66-91d0-aec43a97ddab@epam.com>
 <15bea88c-8294-4164-83df-7ccdb61f9697@suse.com>
 <b1593e57-bb34-4aa4-b282-0f2de001c598@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: <b1593e57-bb34-4aa4-b282-0f2de001c598@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.03.2025 14:11, Oleksii Moisieiev wrote:
> Hi Jan,
> 
> On 24/03/2025 12:05, Jan Beulich wrote:
>> On 24.03.2025 10:00, Oleksii Moisieiev wrote:
>>> Hi Jan,
>>>
>>> Let me answer one of your comment. Please see below:
>>>
>>> On 11/03/2025 13:43, Jan Beulich wrote:
>>>> On 11.03.2025 12:16, Grygorii Strashko wrote:
>>>>> --- a/MAINTAINERS
>>>>> +++ b/MAINTAINERS
>>>>> @@ -526,6 +526,12 @@ S:	Supported
>>>>>    F:	xen/arch/arm/include/asm/tee/
>>> [snip]
>>>>> --- a/xen/include/public/arch-arm.h
>>>>> +++ b/xen/include/public/arch-arm.h
>>>>> @@ -327,6 +327,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>>>>>    #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>>>>>    #define XEN_DOMCTL_CONFIG_TEE_FFA       2
>>>>>    
>>>>> +#define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
>>>>> +
>>>>>    struct xen_arch_domainconfig {
>>>>>        /* IN/OUT */
>>>>>        uint8_t gic_version;
>>>>> @@ -350,6 +352,8 @@ struct xen_arch_domainconfig {
>>>>>         *
>>>>>         */
>>>>>        uint32_t clock_frequency;
>>>>> +    /* IN */
>>>>> +    uint8_t arm_sci_type;
>>>>>    };
>>>> You're not re-using a pre-existing padding field, so I don't see how you
>>>> can get away without bumping XEN_DOMCTL_INTERFACE_VERSION.
>>> We are reusing an existing padding field in xen_domctl, which is defined
>>> as pad[128].
>>>
>>> The xen_arch_domainconfig structure is a part of the following domctl
>>> structures:
>>>
>>> - xen_domctl_createdomain
>>>
>>> - xen_domctl_getdomaininfo
>>>
>>> These structures are included in the union within xen_domctl, which
>>> defines pad[128] for padding.
>> Except that "an existing padding field" means a field which isn't just
>> there in space, but is also checked to be zero right now. That is, new
>> code setting the field to non-zero needs to properly get an error
>> indicator back from an older hypervisor.
> 
> I completely agree with you that XEN_DOMCTL_INTERFACE_VERSION should be 
> incremented
> 
> before the changes are merged. I just wanted to point out that we do not 
> exceed the size of the xen_domctl padding. If you are okay with the 
> fields we have added, then XEN_DOMCTL_INTERFACE_VERSION will be updated 
> in the next patch series.
> 
>> but is also checked to be zero right now.
> 
> Just out of curiosity, I have one more question: I couldn't find the 
> check you've mentioned. Could you point me to where Xen or
> the toolstack checks the domctl structure for 0? I would greatly 
> appreciate it if you could show me.

There's no such check here (as far as I'm aware), hence why the interface
version bump is necessary. There are _other_ padding fields which do have
appropriate checks, and hence could be assigned purpose without bumping
the interface version.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:45:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:45:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925550.1328419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twi7G-0004Gm-Mw; Mon, 24 Mar 2025 13:45:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925550.1328419; Mon, 24 Mar 2025 13:45: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 1twi7G-0004Gf-Ix; Mon, 24 Mar 2025 13:45:22 +0000
Received: by outflank-mailman (input) for mailman id 925550;
 Mon, 24 Mar 2025 13:45: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=jtpT=WL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1twi7F-0004GZ-KH
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:45:21 +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 37e25872-08b6-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 14:45:16 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5e60cfef9cfso6531578a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 06:45:16 -0700 (PDT)
Received: from [10.81.43.157] ([46.149.103.9])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebccf84600sm6145321a12.19.2025.03.24.06.45.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 06:45: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: 37e25872-08b6-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742823916; x=1743428716; 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=v2enonT82uVNOGfs34M/ppoFtj7JbgfWttnegJ+WRzY=;
        b=Ngi7AIkzTAIJqLn7XkZGlSCXT+pOnwgasiPFtTxniOURO8PX2j+UjJduBmjD8/95Y0
         7lalCVCKFSoZYeEULrxAym4BGGknlqMvwx/F/gixmgZGNI7IB9YB4DiZqHWXIRGGyFXJ
         8YD1gPrj33rzLwx80Hdb8yqy4+u9pQZCsghmE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742823916; x=1743428716;
        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=v2enonT82uVNOGfs34M/ppoFtj7JbgfWttnegJ+WRzY=;
        b=X5VhGYaErVEEIga6ZSwPGz5ihXAH4NYJVOEKs86XhNgH4U94X8yJ17vqdVviO0bzsp
         gqnhUNNV7FRSJNfFmaCk9Hs8cYn0goYmlOZeJy063gAkefGW9cs+dKCEDeHX/QAahWS8
         SGW2Dw7ZraNzocfp8sbDg8vF2NVLefR7U6ws7aJWAju/DuDoL+vH/cLOFnhHnAfzpCAU
         VjFijcSr6iYnKeXjdwlPoEHyeh9Rkui1uwLXtVrQewxpu7GJVX/bH+iUOfoK2v1LIw7N
         HX6Hv7LKUXkqf978tbG2z1DaxyGF3ciILb7PbWvUaTcE1RYS+NAedgts94d2dgtn3S1d
         Om4g==
X-Forwarded-Encrypted: i=1; AJvYcCV1v0o5YUfmSUle16LVrcNmctI5PNjEfb1eUWk2p/yGcmT3dQMPVAxOB0iR4Dg4AJC1Ze4mduaIrq8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzElOexYiwrD040AT0SbsRIr6jGEtjhuxwiC6IJUUFqR2W96JQP
	2hZMTw1HciIaDBhFyfCKPOeClpDnnTcorhkVvQfQjJBJo7I/uzjV/KXURPnHhqcb/wRw0esWhvk
	HrjA=
X-Gm-Gg: ASbGnctQz2in0XSeQikpNByE/KPKi0QTBZfgCkeV9PwfXEBW50wD1j/UkgRnQIk3YQc
	0KVXt012ghf8e+8SDyAo8T4U3xBQWrgXr5KSMcb0eMsHiCk5lZ4tbC14iqkSy4Uogxq1NAgooZU
	ZqH6xYd5v4s3owoMkvik09P2Zb68Z5nNUaYLr7BOQdaXZ8EWZo+59v9k5xSqdP1I1rRngRip5Jf
	KnlJWgELcGZnNuEXc9QVtotrGUlKrCDCKIwJN07cFhCM+S5Sik2tLW2g7w46M1hupO5uDbYvfya
	ptGX/xobh3CfQTp18pu7PKnBoensYzmdYjiKu+YP20wbJj1K5xkj+3y075Dw/tak
X-Google-Smtp-Source: AGHT+IH1mgwRXola4Q7mlptlDpQH0sMXMXMaVxSp9PyZ1BsK+kxa2ckGVFT5aemqupdr6A7HPR360Q==
X-Received: by 2002:a05:6402:2805:b0:5e7:8be5:d1b1 with SMTP id 4fb4d7f45d1cf-5ebcd46a666mr12694530a12.19.1742823915760;
        Mon, 24 Mar 2025 06:45:15 -0700 (PDT)
Message-ID: <ed7cfe64-4f38-4628-a4bc-aaaa708c97a2@citrix.com>
Date: Mon, 24 Mar 2025 13:45:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86: make Viridian support optional
To: Jan Beulich <jbeulich@suse.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
References: <20250321092633.3982645-1-Sergiy_Kibrik@epam.com>
 <85162f47-421f-4980-965e-b156f56b8de0@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: <85162f47-421f-4980-965e-b156f56b8de0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/03/2025 1:37 pm, Jan Beulich wrote:
> On 21.03.2025 10:26, Sergiy Kibrik wrote:
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -695,9 +695,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;
>> +    }
> It is, aiui, this conditional initialization which causes
>
> (XEN) [    9.136463] UBSAN: Undefined behaviour in arch/x86/hvm/viridian/viridian.c:1118:43
> (XEN) [    9.136465] member access within null pointer of type 'const struct viridian_domain'
> (XEN) [    9.136471] ----[ Xen-4.21-unstable  x86_64  debug=y ubsan=y  Not tainted ]----
> (XEN) [    9.136473] CPU:    14
> (XEN) [    9.136475] RIP:    e008:[<ffff82d04032e8a8>] common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd9
> (XEN) [    9.136480] RFLAGS: 0000000000010096   CONTEXT: hypervisor (d0v6)
> (XEN) [    9.136484] rax: 0000000000000000   rbx: ffff8304761afb40   rcx: 0000000000000868
> (XEN) [    9.136486] rdx: ffff8304761affd0   rsi: 0000000000000004   rdi: ffff8304761afb40
> (XEN) [    9.136488] rbp: ffff8304761afb30   rsp: ffff8304761afb20   r8:  0000000000000006
> (XEN) [    9.136490] r9:  00000000ffffffff   r10: 0000000000000000   r11: 0000000000000000
> (XEN) [    9.136493] r12: ffff82d040913d22   r13: 0000000000000003   r14: ffff82d040b237a0
> (XEN) [    9.136495] r15: 000000000000000f   cr0: 0000000080050033   cr4: 0000000000b526e0
> (XEN) [    9.136497] cr3: 0000000308528000   cr2: 00007f24a0c9de28
> (XEN) [    9.136499] fsb: 00007f24a3fd6b48   gsb: ffff8881b9b80000   gss: 0000000000000000
> (XEN) [    9.136501] ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) [    9.136505] Xen code around <ffff82d04032e8a8> (common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd9):
> (XEN) [    9.136507]  89 e5 41 54 53 48 89 fb <0f> 0b 48 8d 3d ff 92 37 00 e8 9d 99 00 00 48 85
> (XEN) [    9.136572] Xen stack trace from rsp=ffff8304761afb20:
> (XEN) [    9.136574]    0000000000000003 ffff82d040913d22 ffff8304761afb70 ffff82d04032ef58
> (XEN) [    9.136578]    0000000000000202 ffff82d040911100 0000000000000000 0000000000000000
> (XEN) [    9.136581]    ffff82d040b237a0 000000000000000f ffff8304761afbd0 ffff82d04032f3af
> (XEN) [    9.136585]    ffff82d0406b8900 0000002b8000045e ffff82d040913d1e 0000000000000001
> (XEN) [    9.136588]    ffff82d040b23703 000000000000000f ffff8304761afbc0 ffff830405d65000
> (XEN) [    9.136592]    ffff8304761afd00 0000000000000000 ffff8304761afc18 ffff82d040418b9c
> (XEN) [    9.136595]    0000000000000000 0000000000000000 0000000000000000 0000000000000000
> (XEN) [    9.136598]    ffff82d040b23a88 00000000000002e8 ffff830401d6cfe0 ffff8304761afc98
> (XEN) [    9.136602]    ffff82d04045fc14 00000000000002c0 ffff82d040b23a58 ffff8304761afd00
> (XEN) [    9.136605]    ffff82d040418a0a ffff830405d65000 ffff82d040b23a88 0000000154381286
> (XEN) [    9.136609]    0000000000000000 00383ffe00090672 0000000000001c78 fffffffffffffff4
> (XEN) [    9.136612]    ffff830476161000 ffff8304761afdb0 ffff830405d65000 ffff8304761afd50
> (XEN) [    9.136616]    ffff82d040630690 800000030847e127 0000000000000206 000000000000000e
> (XEN) [    9.136619]    ffff82d040a00b44 ffff82d040a00b40 ffff82d040a00b44 ffff83047618f000
> (XEN) [    9.136622]    00007f24a3c7a010 ffff8304761afef8 ffff8304761afef8 ffff8304761b5088
> (XEN) [    9.136626]    00001c7800000580 ffff830483a24000 0000000000000001 00007f24a3c7a010
> (XEN) [    9.136629]    0000000000000001 ffff830405d65000 00007f24a3c7a010 0000000000000001
> (XEN) [    9.136633]    0000000000000021 0000000000000000 ffff8304761afe68 ffff82d0402c662f
> (XEN) [    9.136636]    ffff8304761afd80 ffff82d0405a0fbb ffff830476161000 ffff8881b9b80000
> (XEN) [    9.136640]    ffff8304761afdb8 ffff82d04052fdef ffff830476161000 ffff8881b9b80000
> (XEN) [    9.136643] Xen call trace:
> (XEN) [    9.136646]    [<ffff82d04032e8a8>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd9
> (XEN) [    9.136648]    [<ffff82d04032ef58>] F __ubsan_handle_type_mismatch+0x135/0x48e
> (XEN) [    9.136651]    [<ffff82d04032f3af>] F __ubsan_handle_type_mismatch_v1+0xfe/0x100
> (XEN) [    9.136655]    [<ffff82d040418b9c>] F arch/x86/hvm/viridian/viridian.c#viridian_save_domain_ctxt+0x192/0x204
> (XEN) [    9.136658]    [<ffff82d04045fc14>] F hvm_save+0x4d1/0x5c6
> (XEN) [    9.136661]    [<ffff82d040630690>] F arch_do_domctl+0x2f8/0x51aa
> (XEN) [    9.136664]    [<ffff82d0402c662f>] F do_domctl+0xc91/0x460d
> (XEN) [    9.136667]    [<ffff82d04053ab70>] F pv_hypercall+0x6d6/0x834
> (XEN) [    9.136669]    [<ffff82d0402012d3>] F lstar_enter+0x143/0x150
> (XEN) [    9.136671] 
> (XEN) [    9.136673] ================================================================================
> (XEN) [    9.622282] 
> (XEN) [    9.624469] ****************************************
> (XEN) [    9.630471] Panic on CPU 14:
> (XEN) [    9.634182] UBSAN failure detected
> (XEN) [    9.638469] ****************************************
>
> throughout tests on actual hardware in CI. And really I don't think it's just UB, but
> rather a real NULL deref:

This is a consequence of us turning on UBSAN generally in GitlabCI, and
will be the norm moving forward.

Nevertheless, "member access within null pointer of type $X" is very
clear cut.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:47:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:47:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925562.1328428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twi9a-0004tH-6b; Mon, 24 Mar 2025 13:47:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925562.1328428; Mon, 24 Mar 2025 13:47: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 1twi9a-0004tA-3s; Mon, 24 Mar 2025 13:47:46 +0000
Received: by outflank-mailman (input) for mailman id 925562;
 Mon, 24 Mar 2025 13:47: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=jtpT=WL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1twi9Y-0004t4-RL
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:47:44 +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 8f99153f-08b6-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:47:43 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-ac34257295dso918615866b.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 06:47:43 -0700 (PDT)
Received: from [10.81.43.157] ([46.149.103.11])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef868748sm682036366b.12.2025.03.24.06.47.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 06:47: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: 8f99153f-08b6-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742824063; x=1743428863; 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=PYWhK+Ex47SMavhFpp9SRe6/vGCrKC7CP5C3EwJn098=;
        b=tGIxKJQki7lFK3SaZmtpp1PcnhUt4m+38VU+OWjyA833PWUM3Q0lRqOB5MZ3l0ZXIb
         VEYSK/+pJ2VVUUZF4irlqpaPQMDX0wCb6Q5kvbeuX0GuGi89O/WkWs6jqRUw9Qazc/uY
         rDbUiODFkDwi2khxOzMz4w0BjN4MzDmJ0z0GA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742824063; x=1743428863;
        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=PYWhK+Ex47SMavhFpp9SRe6/vGCrKC7CP5C3EwJn098=;
        b=Nx3PLX2u00OlkLDXaH216s8UmFoAMkj8QSf5ka6RdzQEIBQifAlrf1AbShnDEknzMe
         AksWXMa4QmuyqlhLAGyHvinyIfEZwYnMR2OkN+GWExZ4lxUnjcbpHfr1QYMvcO55wyGY
         So0tHtdCRF/f7zbbEUQGMbZpVhI1Yge+JPeX9JrQAKYzlBfNFAmAtizXCdECpxdVGWYG
         CpKdsy73iYTN5dByHiLsV3ChWlp9KDMcIJRAmATQgDr5c8nuTiSH4Z68EBcBdGlQFET1
         byrKXkU+kLFaIIe/jNl/9HEVpmLf67u85fTHsnIwKp8RwCpyAzPFSjn111owihWNL0yq
         AP0A==
X-Forwarded-Encrypted: i=1; AJvYcCVRkeT2i4GVXsuF9A+85GyajXCHVSYL+Yll1Es/sLIPEvVV6D1uLATJW0t9aqgJ1btZbHlmOIgdZBc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3wMmjFambJ6Ra2DdNkRavRa79JpRG2+i0V+V5fxmIncXalQMb
	aX1eeA9SBwnV8KeyFVA9qIKdHCb2tCdfd/kFfGkJfQIL+8lcRq7GJrkxPTAWO4w=
X-Gm-Gg: ASbGncv6sxG4UzBsOA8A5hXYYrdB+Skvh2BvSVos3PesjxNrqSk5Z5hI1ksZABS7FEX
	qWVsPocy3Co+phnPlemvMHcS2c2swvfEVfLJmw6DjClqFfUSu4FkUshQE+i0YO0IqVitFtp6zRz
	UeRAhy7CzVxYRNZ57Ipw3zTypSONociWkYpKa9bpyUbDTcHHblKdKCO28YpN1ZFYEVsiID5t5k/
	Qz8fHDR6XHWPZY9NytW+A26+wWdAwDulVu/0BnZHb4F1gQXGPmINW44MLTho0+TDpVXPY1V35mw
	BdclLjPiA5Smf/cg/o4I8xdns3SQhr5BPgTYV0BBNqE/Bo1f5IGmLms=
X-Google-Smtp-Source: AGHT+IGUl0xRjqL8zvc0uKfAn6rj4BEV2Ub+fmwIpt5dlvs/u4qz6AwK5wzrBQ1aD1jtI9qDWHc7ww==
X-Received: by 2002:a17:907:1c21:b0:abf:6389:6d19 with SMTP id a640c23a62f3a-ac3f226757amr1015698466b.15.1742824062971;
        Mon, 24 Mar 2025 06:47:42 -0700 (PDT)
Message-ID: <38d2e43d-8dd6-4e9b-9126-8eee5fefbe26@citrix.com>
Date: Mon, 24 Mar 2025 13:47:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
To: Jan Beulich <jbeulich@suse.com>, dmkhn@proton.me
Cc: anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com,
 xen-devel@lists.xenproject.org
References: <20250320230339.3897874-1-dmukhin@ford.com>
 <e24ec8f4-3320-4978-8deb-cefc3380a0ed@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: <e24ec8f4-3320-4978-8deb-cefc3380a0ed@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/03/2025 12:36 pm, Jan Beulich wrote:
> On 21.03.2025 00:05, dmkhn@proton.me wrote:
>> Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
>> range as per [1]. This macro replaces hardcoded checks against the
>> open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
>> the code a bit.
>>
>> [1] Intel SDM volume 3A
>>     Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
>>     Section "Valid Interrupt Vectors"
>>
>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> with ...
>
>> --- a/xen/arch/x86/include/asm/apicdef.h
>> +++ b/xen/arch/x86/include/asm/apicdef.h
>> @@ -78,6 +78,7 @@
>>  #define			APIC_DM_STARTUP		0x00600
>>  #define			APIC_DM_EXTINT		0x00700
>>  #define			APIC_VECTOR_MASK	0x000FF
>> +#define			APIC_VECTOR_VALID(x)	(((x) & APIC_VECTOR_MASK) >= 16)
> ... line length restrictions respected here. I'll see about taking care of
> this while committing, provided other x86 maintainers wouldn't prefer this
> to not go in in the first place (so I'll also give it another day or two).

I'm ok with this change.Â  Unlike v1, it's meaningful in context.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:51:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:51:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925572.1328439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiD7-0006nf-LS; Mon, 24 Mar 2025 13:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925572.1328439; Mon, 24 Mar 2025 13: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 1twiD7-0006nY-IF; Mon, 24 Mar 2025 13:51:25 +0000
Received: by outflank-mailman (input) for mailman id 925572;
 Mon, 24 Mar 2025 13:51: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=jtpT=WL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1twiD5-0006nR-SW
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:51:23 +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 11c0a6f5-08b7-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 14:51:22 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ac3fcf5ab0dso423128866b.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 06:51:22 -0700 (PDT)
Received: from [10.81.43.157] ([46.149.103.13])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb64895sm675311166b.113.2025.03.24.06.51.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 06:51: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: 11c0a6f5-08b7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742824281; x=1743429081; 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=jnJLIrKjfDEdu6JvAt5qo9/EkSvuY2OFElmNaSvA5go=;
        b=sBd7RElBEAFcCZtHPc3H+yNQwynuQcY8ExL1+1flFxbBljm/Kd/mAZVbJ+7bhqy7ZI
         HdsomhfkY3qfbyhU9gHkxize6Gnhs/FfOIstx1RG2f2ZJAq1/OS8axhNEuktZrkl+UYk
         08L3RfKkVjfg2s28c/flAdT5wKOsYW/Ox9bMw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742824281; x=1743429081;
        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=jnJLIrKjfDEdu6JvAt5qo9/EkSvuY2OFElmNaSvA5go=;
        b=WEQZGdKxB7m+t5AsqzrKemdpMeDwXJRLWF6JpoifQlL+qKwBqWB89AtCUQzFc1O20H
         CyxBefLNSZeveDxEhBgSpmAD8ttCGUwToj/1E7n8dQRicgqZyFFVsjWiavd16AO2nNSn
         oajoFpXEPYZp8wQk78+ftVsfWo1iSsxxJYwG5S+JHW4WVEv2v1iHJU+QbpA6MDDr3lJo
         MByoRwf8Kxf6gpmZpfEgBCyfAm8oNxfACn4Ab6qthWiPiuFbK6MD4YmzDr3zRhB7Sq8l
         mXEK7lOXIHPQ/mnZsU5mkO8l+jrjdbVC8nMmQbUhA5VcuZlz6VmfJ5IvG9Il2YrW34qO
         +58w==
X-Gm-Message-State: AOJu0Yxw0TFjVrm25ru5nTL7RpxfA3EUdQy+JOWM5WOsGLGBI9L44MPn
	iuo3OnMXSIe8nt7qYvHy2t2IT/yba3PgtTldsFksU2fJcHs+Zs9I0eDRj0XEMkckVOd48fGbpXR
	ApaY=
X-Gm-Gg: ASbGnctJgBVYa4g5vo26eMSXEWUE4uTmPSqKoBQvzhDAubrtzbXQ/nVD+V6lE6Oq/Ed
	fvHDjwG+UkQhW4u6rTJ3ClaQdgUEET8bPSl3nhJa6LcnmBuefdCpOlyCcBXlsiuRU/9tH+ajIpz
	9TbuIgzd74UfpC5VeetiqIHZEPqBqmwfSfsiey95XAwxhGHqClqF60v2tvItNqGPFncxvwcK1r3
	uswsgJI/+qm6jKfCx3osPJGgA3QJBzGdVFLsIubH0+P2/oylCRqmNKV83X4sdbfFB8nSPLA8ek/
	vDeFbMnbFZE5H2yeV7PgW6qISGUnWCGo0BLgpBt30RWTtvxAfyXFBT4=
X-Google-Smtp-Source: AGHT+IEQdMjmVBE/jvJcqEQQFnt8b9Gj0MiQrtVdnZ54jyocGIji8p+kC5LZN1ParemKsjq5gl4kGw==
X-Received: by 2002:a17:906:f59d:b0:ac1:daba:c6c with SMTP id a640c23a62f3a-ac3f22a0c6amr1225624466b.24.1742824281033;
        Mon, 24 Mar 2025 06:51:21 -0700 (PDT)
Message-ID: <7b16c87d-f2af-451e-a58f-36461a697ad7@citrix.com>
Date: Mon, 24 Mar 2025 13:51:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
To: xen-devel@lists.xenproject.org, dmkhn@proton.me
Cc: anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com
References: <20250320230339.3897874-1-dmukhin@ford.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: <20250320230339.3897874-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/03/2025 11:05 pm, dmkhn@proton.me wrote:
> Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
> range as per [1]. This macro replaces hardcoded checks against the
> open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
> the code a bit.
>
> [1] Intel SDM volume 3A
>     Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
>     Section "Valid Interrupt Vectors"
>
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

Would it be possible to adjust your git configuration so committer is
set to Denis Mukhin <dmukhin@ford.com> ?

Right now, it takes manual fixup to prevent your commits going in as
authored by dmkhn@proton.me, and one already slipped through.Â 
https://xenbits.xen.org/gitweb/?p=xen.git&a=search&h=refs%2Fheads%2Fstaging&st=author&s=dmkhn%40proton.me

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:53:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:53:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925580.1328449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiEx-0008Ha-Vz; Mon, 24 Mar 2025 13:53:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925580.1328449; Mon, 24 Mar 2025 13:53: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 1twiEx-0008HT-Sj; Mon, 24 Mar 2025 13:53:19 +0000
Received: by outflank-mailman (input) for mailman id 925580;
 Mon, 24 Mar 2025 13:53: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twiEw-0008HJ-Ib
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:53:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 563fb632-08b7-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:53:17 +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 9C43B16F3;
 Mon, 24 Mar 2025 06:53:22 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.86.79])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 17C823F58B;
 Mon, 24 Mar 2025 06:53: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: 563fb632-08b7-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [PATCH v4 0/5] FF-A VM to VM support
Date: Mon, 24 Mar 2025 14:52:58 +0100
Message-ID: <cover.1742824138.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch serie adds support to use FF-A between VM for communications
using indirect messages.

It adds a Kconfig parameter to enable this feature and marks it as
experimental as for now there is no system to restrict communication
rights between VM using this system.

It also adds support to use VM to VM communications using FF-A even if
there is no firmware support for FF-A. As this feature enables FF-A
support in all cases, we also introduce a new command line parameter to
allow the user to force which tee is to be used between FF-A and Optee
to have a solution to enable optee support if FF-A VM to VM is enabled.

Changes since v3:
- reintroduce firmare v1.0 support in partinfo
- fix a possible TOC/TOU issue in indirect message handling
- typos and small fixes

Changes since v2:
- Rework partition_info_get implementation
- Taint Xen and display a message when VM to VM is enabled
- Various fixes explained in each patch

Changes since v1 (rfc):
- add a tee command line parameter
- use IS_ENABLED instead of ifdef when possible
- rebase on latest staging

Bertrand Marquis (5):
  xen/arm: Create tee command line parameter
  xen/arm: ffa: Introduce VM to VM support
  xen/arm: ffa: Add buffer full notification support
  xen/arm: ffa: Add indirect message between VM
  xen/arm: ffa: Enable VM to VM without firmware

 docs/misc/xen-command-line.pandoc  |  14 ++
 xen/arch/arm/include/asm/tee/tee.h |   4 +
 xen/arch/arm/tee/Kconfig           |  11 ++
 xen/arch/arm/tee/ffa.c             |  24 ++-
 xen/arch/arm/tee/ffa_msg.c         | 110 ++++++++++--
 xen/arch/arm/tee/ffa_notif.c       | 140 ++++++++-------
 xen/arch/arm/tee/ffa_partinfo.c    | 274 +++++++++++++++++++----------
 xen/arch/arm/tee/ffa_private.h     |  35 +++-
 xen/arch/arm/tee/tee.c             |  31 ++++
 9 files changed, 474 insertions(+), 169 deletions(-)

-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:53:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925581.1328459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiF4-000065-6F; Mon, 24 Mar 2025 13:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925581.1328459; Mon, 24 Mar 2025 13: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 1twiF4-00005u-2p; Mon, 24 Mar 2025 13:53:26 +0000
Received: by outflank-mailman (input) for mailman id 925581;
 Mon, 24 Mar 2025 13:53: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twiF2-000052-Tl
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:53:24 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5993f547-08b7-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 14:53:22 +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 4E18C16F3;
 Mon, 24 Mar 2025 06:53:28 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.86.79])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B5EB73F58B;
 Mon, 24 Mar 2025 06:53: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: 5993f547-08b7-11f0-9ffa-bf95429c2676
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: [PATCH v4 1/5] xen/arm: Create tee command line parameter
Date: Mon, 24 Mar 2025 14:52:59 +0100
Message-ID: <a22e5375df48d16cb4c0b3d80dde8593522b3ddd.1742824138.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742824138.git.bertrand.marquis@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a new command line parameter "tee=" to be used to explicitly select
what tee mediator is to be used by Xen and fail if it does not exist
or the probe function for it failed.

Without specifying which tee is to be used, Xen will use the first one
for which the probe function succeeds which depends on the order of the
mediator list which depends on the compiler.
Using the command line argument, it is now possible to explicit request
a specific TEE mediator and panic on boot if it is not available.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v4:
- None
Changes in v3:
- Properly classify tee as arm specific (Jan)
Changes in v2:
- Patch introduced to add a command line selection of the TEE
---
 docs/misc/xen-command-line.pandoc  | 14 ++++++++++++++
 xen/arch/arm/include/asm/tee/tee.h |  4 ++++
 xen/arch/arm/tee/tee.c             | 31 ++++++++++++++++++++++++++++++
 3 files changed, 49 insertions(+)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 89db6e83be66..0c2ff542a138 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
 
 Flag to enable TSC deadline as the APIC timer mode.
 
+### tee (arm)
+> `= <string>`
+
+Specify the TEE mediator to be probed and use.
+
+The default behaviour is to probe all supported TEEs supported by Xen and use
+the first one successfully probed. When this parameter is passed, Xen will
+probe only the TEE mediator passed as argument and boot will fail if this
+mediator is not properly probed or if the requested TEE is not supported by
+Xen.
+
+This parameter can be set to `optee` of `ffa` if the corresponding mediators
+are compiled in.
+
 ### tevt_mask
 > `= <integer>`
 
diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/asm/tee/tee.h
index 0169fd746bcd..15d664e28dce 100644
--- a/xen/arch/arm/include/asm/tee/tee.h
+++ b/xen/arch/arm/include/asm/tee/tee.h
@@ -55,6 +55,9 @@ struct tee_mediator_desc {
     /* Printable name of the TEE. */
     const char *name;
 
+    /* Command line name of the TEE (to be used with tee= cmdline option) */
+    const char *cmdline_name;
+
     /* Mediator callbacks as described above. */
     const struct tee_mediator_ops *ops;
 
@@ -77,6 +80,7 @@ void tee_free_domain_ctx(struct domain *d);
 static const struct tee_mediator_desc __tee_desc_##_name __used     \
 __section(".teemediator.info") = {                                  \
     .name = _namestr,                                               \
+    .cmdline_name = #_name,                                         \
     .ops = _ops,                                                    \
     .tee_type = _type                                               \
 }
diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
index 3f65e45a7892..066b5ba40f9d 100644
--- a/xen/arch/arm/tee/tee.c
+++ b/xen/arch/arm/tee/tee.c
@@ -19,12 +19,17 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/types.h>
+#include <xen/param.h>
 
 #include <asm/tee/tee.h>
 
 extern const struct tee_mediator_desc _steemediator[], _eteemediator[];
 static const struct tee_mediator_desc __read_mostly *cur_mediator;
 
+/* Select the TEE mediator using a name on command line. */
+static char __initdata opt_mediator[16] = "";
+string_param("tee", opt_mediator);
+
 /*
  * TODO: Add function to alter Dom0 DTB, so we can properly describe
  * present TEE.
@@ -81,14 +86,40 @@ static int __init tee_init(void)
 {
     const struct tee_mediator_desc *desc;
 
+    if ( strcmp(opt_mediator, "") )
+        printk(XENLOG_INFO "TEE Mediator %s selected from command line\n",
+               opt_mediator);
+
+    /*
+     * When a specific TEE is selected using the 'tee=' command line
+     * argument, we panic if the probe fails or if the requested TEE is not
+     * supported.
+     */
     for ( desc = _steemediator; desc != _eteemediator; desc++ )
     {
+        if ( strcmp(opt_mediator, "") &&
+             strncmp(opt_mediator, desc->cmdline_name, sizeof(opt_mediator)) )
+            continue;
+
         if ( desc->ops->probe() )
         {
             printk(XENLOG_INFO "Using TEE mediator for %s\n", desc->name);
             cur_mediator = desc;
             return 0;
         }
+        else if ( strcmp(opt_mediator, "") )
+        {
+            panic("TEE mediator %s from command line probe failed\n",
+                  opt_mediator);
+            return -EFAULT;
+        }
+    }
+
+    if ( strcmp(opt_mediator, "") )
+    {
+        panic("TEE Mediator %s from command line not supported\n",
+              opt_mediator);
+        return -EINVAL;
     }
 
     return 0;
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:53:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925582.1328464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiF4-00008U-FI; Mon, 24 Mar 2025 13:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925582.1328464; Mon, 24 Mar 2025 13: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 1twiF4-00007l-A2; Mon, 24 Mar 2025 13:53:26 +0000
Received: by outflank-mailman (input) for mailman id 925582;
 Mon, 24 Mar 2025 13: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twiF3-0008HJ-0q
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:53:25 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5aacbaec-08b7-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:53:24 +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 2FBB21C14;
 Mon, 24 Mar 2025 06:53:30 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.86.79])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 70BE33F58B;
 Mon, 24 Mar 2025 06: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: 5aacbaec-08b7-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
Date: Mon, 24 Mar 2025 14:53:00 +0100
Message-ID: <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742824138.git.bertrand.marquis@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
between VMs.
When activated list VMs in the system with FF-A support in part_info_get.

When VM to VM is activated, Xen will be tainted as Insecure and a
message is displayed to the user during the boot as there is no
filtering of VMs in FF-A so any VM can communicate or see any other VM
in the system.

WARNING: There is no filtering for now and all VMs are listed !!

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v4:
- properly handle SPMC version 1.0 header size case in partinfo_get
- switch to local counting variables instead of *pointer += 1 form
- coding style issue with missing spaces in if ()
Changes in v3:
- break partinfo_get in several sub functions to make the implementation
  easier to understand and lock handling easier
- rework implementation to check size along the way and prevent previous
  implementation limits which had to check that the number of VMs or SPs
  did not change
- taint Xen as INSECURE when VM to VM is enabled
Changes in v2:
- Switch ifdef to IS_ENABLED
- dom was not switched to d as requested by Jan because there is already
  a variable d pointing to the current domain and it must not be
  shadowed.
---
 xen/arch/arm/tee/Kconfig        |  11 ++
 xen/arch/arm/tee/ffa.c          |  12 ++
 xen/arch/arm/tee/ffa_partinfo.c | 274 +++++++++++++++++++++-----------
 xen/arch/arm/tee/ffa_private.h  |  12 ++
 4 files changed, 218 insertions(+), 91 deletions(-)

diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
index c5b0f88d7522..88a4c4c99154 100644
--- a/xen/arch/arm/tee/Kconfig
+++ b/xen/arch/arm/tee/Kconfig
@@ -28,5 +28,16 @@ config FFA
 
 	  [1] https://developer.arm.com/documentation/den0077/latest
 
+config FFA_VM_TO_VM
+    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
+    default n
+    depends on FFA
+    help
+      This option enables to use FF-A between VMs.
+      This is experimental and there is no access control so any
+      guest can communicate with any other guest.
+
+      If unsure, say N.
+
 endmenu
 
diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 3bbdd7168a6b..e41ab5f8ada6 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -464,6 +464,18 @@ static bool ffa_probe(void)
     printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
            FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
 
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        /*
+         * When FFA VM to VM is enabled, the current implementation does not
+         * offer any way to limit which VM can communicate with which VM using
+         * FF-A.
+         * Signal this in the xen console and taint the system as insecure.
+         * TODO: Introduce a solution to limit what a VM can do through FFA.
+         */
+        printk(XENLOG_ERR "ffa: VM to VM is enabled, system is insecure !!\n");
+        add_taint(TAINT_MACHINE_INSECURE);
+    }
     /*
      * psci_init_smccc() updates this value with what's reported by EL-3
      * or secure world.
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index c0510ceb8338..406c57b95f77 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -63,9 +63,156 @@ static int32_t ffa_partition_info_get(uint32_t *uuid, uint32_t flags,
     return ret;
 }
 
-void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
+static int32_t ffa_get_sp_count(uint32_t *uuid, uint32_t *sp_count)
+{
+    uint32_t src_size;
+
+    return ffa_partition_info_get(uuid, FFA_PARTITION_INFO_GET_COUNT_FLAG,
+                                  sp_count, &src_size);
+}
+
+static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
+                                   void *dst_buf, void *end_buf,
+                                   uint32_t dst_size)
 {
     int32_t ret;
+    uint32_t src_size, real_sp_count;
+    void *src_buf = ffa_rx;
+    uint32_t count = 0;
+
+    /* Do we have a RX buffer with the SPMC */
+    if ( !ffa_rx )
+        return FFA_RET_DENIED;
+
+    /* We need to use the RX buffer to receive the list */
+    spin_lock(&ffa_rx_buffer_lock);
+
+    ret = ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size);
+    if ( ret )
+        goto out;
+
+    /* We now own the RX buffer */
+
+    /* We only support a 1.1 firmware version */
+    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_release;
+    }
+
+    for ( uint32_t sp_num = 0; sp_num < real_sp_count; sp_num++ )
+    {
+        struct ffa_partition_info_1_1 *fpi = src_buf;
+
+        /* filter out SP not following bit 15 convention if any */
+        if ( FFA_ID_IS_SECURE(fpi->id) )
+        {
+            if ( dst_buf + dst_size > end_buf )
+            {
+                ret = FFA_RET_NO_MEMORY;
+                goto out_release;
+            }
+
+            memcpy(dst_buf, src_buf, MIN(src_size, dst_size));
+            if ( dst_size > src_size )
+                memset(dst_buf + src_size, 0, dst_size - src_size);
+
+            dst_buf += dst_size;
+            count++;
+        }
+
+        src_buf += src_size;
+    }
+
+    *sp_count = count;
+
+out_release:
+    ffa_hyp_rx_release();
+out:
+    spin_unlock(&ffa_rx_buffer_lock);
+    return ret;
+}
+
+static uint32_t ffa_get_vm_count(void)
+{
+    struct domain *d = current->domain;
+    struct domain *dom;
+    uint32_t vm_count = 0;
+
+    /* Count the number of VM with FF-A support */
+    rcu_read_lock(&domlist_read_lock);
+    for_each_domain( dom )
+    {
+        struct ffa_ctx *vm = dom->arch.tee;
+
+        if ( dom != d && vm != NULL && vm->guest_vers != 0 )
+            vm_count++;
+    }
+    rcu_read_unlock(&domlist_read_lock);
+
+    return vm_count;
+}
+
+static int32_t ffa_get_vm_partinfo(uint32_t *vm_count, void *dst_buf,
+                                   void *end_buf, uint32_t dst_size)
+{
+    struct domain *d = current->domain;
+    struct domain *dom;
+    int32_t ret = FFA_RET_OK;
+    uint32_t count = 0;
+
+    rcu_read_lock(&domlist_read_lock);
+    for_each_domain( dom )
+    {
+        struct ffa_ctx *vm = dom->arch.tee;
+
+        /*
+         * we do not add the VM calling to the list and only VMs with
+         * FF-A support
+         */
+        if ( dom != d && vm != NULL && vm->guest_vers != 0 )
+        {
+            /*
+             * We do not have UUID info for VMs so use
+             * the 1.0 structure so that we set UUIDs to
+             * zero using memset
+             */
+            struct ffa_partition_info_1_0 srcvm;
+
+            if  ( dst_buf + dst_size > end_buf )
+            {
+                ret = FFA_RET_NO_MEMORY;
+                goto out;
+            }
+
+            srcvm.id = ffa_get_vm_id(dom);
+            srcvm.execution_context = dom->max_vcpus;
+            srcvm.partition_properties = FFA_PART_VM_PROP;
+            if ( is_64bit_domain(dom) )
+                srcvm.partition_properties |= FFA_PART_PROP_AARCH64_STATE;
+
+            memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size));
+
+            if ( dst_size > sizeof(srcvm) )
+                memset(dst_buf + sizeof(srcvm), 0,
+                       dst_size - sizeof(srcvm));
+
+            dst_buf += dst_size;
+            count++;
+        }
+    }
+    *vm_count = count;
+
+out:
+    rcu_read_unlock(&domlist_read_lock);
+
+    return ret;
+}
+
+
+void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
+{
+    int32_t ret = FFA_RET_OK;
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
     uint32_t flags = get_user_reg(regs, 5);
@@ -75,9 +222,9 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
         get_user_reg(regs, 3),
         get_user_reg(regs, 4),
     };
-    uint32_t src_size, dst_size;
-    void *dst_buf;
-    uint32_t ffa_sp_count = 0;
+    uint32_t dst_size = 0;
+    void *dst_buf, *end_buf;
+    uint32_t ffa_vm_count = 0, ffa_sp_count = 0;
 
     /*
      * If the guest is v1.0, he does not get back the entry size so we must
@@ -89,118 +236,63 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
     else
         dst_size = sizeof(struct ffa_partition_info_1_1);
 
-    /*
-     * FF-A v1.0 has w5 MBZ while v1.1 allows
-     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
-     *
-     * FFA_PARTITION_INFO_GET_COUNT is only using registers and not the
-     * rxtx buffer so do the partition_info_get directly.
-     */
-    if ( flags == FFA_PARTITION_INFO_GET_COUNT_FLAG &&
-         ctx->guest_vers == FFA_VERSION_1_1 )
+    /* Only count requested */
+    if ( flags )
     {
-        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
-            ret = ffa_partition_info_get(uuid, flags, &ffa_sp_count,
-                                        &src_size);
-        else
-            ret = FFA_RET_OK;
+        /*
+         * FF-A v1.0 has w5 MBZ while v1.1 allows
+         * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
+         */
+        if ( ctx->guest_vers == FFA_VERSION_1_0 ||
+                flags != FFA_PARTITION_INFO_GET_COUNT_FLAG )
+        {
+            ret = FFA_RET_INVALID_PARAMETERS;
+            goto out;
+        }
 
-        goto out;
-    }
+        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
+        {
+            ret = ffa_get_sp_count(uuid, &ffa_sp_count);
+            if ( ret )
+                goto out;
+        }
 
-    if ( flags )
-    {
-        ret = FFA_RET_INVALID_PARAMETERS;
-        goto out;
-    }
+        if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+            ffa_vm_count = ffa_get_vm_count();
 
-    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
-    {
-        /* Just give an empty partition list to the caller */
-        ret = FFA_RET_OK;
         goto out;
     }
 
+    /* Get the RX buffer to write the list of partitions */
     ret = ffa_rx_acquire(d);
     if ( ret != FFA_RET_OK )
         goto out;
 
     dst_buf = ctx->rx;
+    end_buf = ctx->rx + ctx->page_count * FFA_PAGE_SIZE;
 
-    if ( !ffa_rx )
+    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
     {
-        ret = FFA_RET_DENIED;
-        goto out_rx_release;
-    }
-
-    spin_lock(&ffa_rx_buffer_lock);
-
-    ret = ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
-
-    if ( ret )
-        goto out_rx_hyp_unlock;
+        ret = ffa_get_sp_partinfo(uuid, &ffa_sp_count, dst_buf, end_buf,
+                                  dst_size);
 
-    /*
-     * ffa_partition_info_get() succeeded so we now own the RX buffer we
-     * share with the SPMC. We must give it back using ffa_hyp_rx_release()
-     * once we've copied the content.
-     */
+        if ( ret )
+            goto out_rx_release;
 
-    /* we cannot have a size smaller than 1.0 structure */
-    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
-    {
-        ret = FFA_RET_NOT_SUPPORTED;
-        goto out_rx_hyp_release;
+        dst_buf += ffa_sp_count * dst_size;
     }
 
-    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
-    {
-        ret = FFA_RET_NO_MEMORY;
-        goto out_rx_hyp_release;
-    }
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+        ret = ffa_get_vm_partinfo(&ffa_vm_count, dst_buf, end_buf, dst_size);
 
-    if ( ffa_sp_count > 0 )
-    {
-        uint32_t n, n_limit = ffa_sp_count;
-        void *src_buf = ffa_rx;
-
-        /* copy the secure partitions info */
-        for ( n = 0; n < n_limit; n++ )
-        {
-            struct ffa_partition_info_1_1 *fpi = src_buf;
-
-            /* filter out SP not following bit 15 convention if any */
-            if ( FFA_ID_IS_SECURE(fpi->id) )
-            {
-                memcpy(dst_buf, src_buf, dst_size);
-                dst_buf += dst_size;
-            }
-            else
-                ffa_sp_count--;
-
-            src_buf += src_size;
-        }
-    }
-
-out_rx_hyp_release:
-    ffa_hyp_rx_release();
-out_rx_hyp_unlock:
-    spin_unlock(&ffa_rx_buffer_lock);
 out_rx_release:
-    /*
-     * The calling VM RX buffer only contains data to be used by the VM if the
-     * call was successful, in which case the VM has to release the buffer
-     * once it has used the data.
-     * If something went wrong during the call, we have to release the RX
-     * buffer back to the SPMC as the VM will not do it.
-     */
-    if ( ret != FFA_RET_OK )
+    if ( ret )
         ffa_rx_release(d);
 out:
     if ( ret )
         ffa_set_regs_error(regs, ret);
     else
-        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
+        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_size);
 }
 
 static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index c4cd65538908..bd6877d8c632 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -187,6 +187,18 @@
  */
 #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
 
+/*
+ * Partition properties we give for a normal world VM:
+ * - can send direct message but not receive them
+ * - can handle indirect messages
+ * - can receive notifications
+ * 32/64 bit flag is set depending on the VM
+ */
+#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
+                             FFA_PART_PROP_INDIRECT_MSGS | \
+                             FFA_PART_PROP_RECV_NOTIF | \
+                             FFA_PART_PROP_IS_PE_ID)
+
 /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
 #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
 #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:53:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:53:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925584.1328479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiF5-0000b6-TI; Mon, 24 Mar 2025 13:53:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925584.1328479; Mon, 24 Mar 2025 13: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 1twiF5-0000az-Pl; Mon, 24 Mar 2025 13:53:27 +0000
Received: by outflank-mailman (input) for mailman id 925584;
 Mon, 24 Mar 2025 13:53: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twiF4-0008HJ-PM
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:53:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5bbb003a-08b7-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:53:26 +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 E4B3816F3;
 Mon, 24 Mar 2025 06:53:31 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.86.79])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3CCC03F58B;
 Mon, 24 Mar 2025 06:53: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: 5bbb003a-08b7-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v4 3/5] xen/arm: ffa: Add buffer full notification support
Date: Mon, 24 Mar 2025 14:53:01 +0100
Message-ID: <b997d567513d32d251fb9d6fa6794f2621029415.1742824138.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742824138.git.bertrand.marquis@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support to raise a Rx buffer full notification to a VM.
This function will be used for indirect message support between VM and
is only activated if CONFIG_FFA_VM_TO_VM is selected.

Even if there are 32 framework notifications possible, right now only
one is defined so the implementation is simplified to only handle the
buffer full notification using a boolean. If other framework
notifications have to be supported one day, the design will have to be
modified to handle it properly.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
---
Changes in v4:
- Add Jens R-b
Changes in v3:
- introduce a vm_pending boolean to track if VM notifications are
  pending and allow to decorelate pending secure notifications from
  pending vm ones
- remove ifdef around boolean entries for notifications and make use of
  IS_ENABLED instead of ifdefs when possible
- Fix notification number signaled to VMs for buffer full to use the
  proper GUEST_FFA_NOTIF_PEND_INTR_ID instead of the identifier received
  from the SPMC.
- Move back into this patch ffa_private.h part which was wrongly in the
  patch for indirect messages between VM
Changes in v2:
- Switch ifdef to IS_ENABLED when possible
---
 xen/arch/arm/tee/ffa_notif.c   | 36 ++++++++++++++++++++++++++++------
 xen/arch/arm/tee/ffa_private.h | 23 +++++++++++++++++++++-
 2 files changed, 52 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index 00efaf8f7353..f6df2f15bb00 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -69,6 +69,7 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
+    bool notif_pending;
 
     if ( !notif_enabled )
     {
@@ -76,7 +77,11 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( test_and_clear_bool(ctx->notif.secure_pending) )
+    notif_pending = test_and_clear_bool(ctx->notif.secure_pending);
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+        notif_pending |= test_and_clear_bool(ctx->notif.vm_pending);
+
+    if ( notif_pending )
     {
         /* A pending global notification for the guest */
         ffa_set_regs(regs, FFA_SUCCESS_64, 0,
@@ -93,6 +98,7 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
 void ffa_handle_notification_get(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.tee;
     uint32_t recv = get_user_reg(regs, 1);
     uint32_t flags = get_user_reg(regs, 2);
     uint32_t w2 = 0;
@@ -132,11 +138,7 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
          */
         if ( ( flags  & FFA_NOTIF_FLAG_BITMAP_SP ) &&
              ( flags & FFA_NOTIF_FLAG_BITMAP_SPM ) )
-        {
-                struct ffa_ctx *ctx = d->arch.tee;
-
-                ACCESS_ONCE(ctx->notif.secure_pending) = false;
-        }
+            ACCESS_ONCE(ctx->notif.secure_pending) = false;
 
         arm_smccc_1_2_smc(&arg, &resp);
         e = ffa_get_ret_code(&resp);
@@ -156,6 +158,14 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
             w6 = resp.a6;
     }
 
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) &&
+          flags & FFA_NOTIF_FLAG_BITMAP_HYP &&
+          test_and_clear_bool(ctx->notif.buff_full_pending) )
+    {
+        ACCESS_ONCE(ctx->notif.vm_pending) = false;
+        w7 = FFA_NOTIF_RX_BUFFER_FULL;
+    }
+
     ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
 }
 
@@ -178,6 +188,20 @@ int ffa_handle_notification_set(struct cpu_user_regs *regs)
                            bitmap_hi);
 }
 
+#ifdef CONFIG_FFA_VM_TO_VM
+void ffa_raise_rx_buffer_full(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.tee;
+
+    if ( !ctx )
+        return;
+
+    ACCESS_ONCE(ctx->notif.buff_full_pending) = true;
+    if ( !test_and_set_bool(ctx->notif.vm_pending) )
+        vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID, true);
+}
+#endif
+
 /*
  * Extract a 16-bit ID (index n) from the successful return value from
  * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index bd6877d8c632..878af2d76e0e 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -210,6 +210,8 @@
 #define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
 #define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
 
+#define FFA_NOTIF_RX_BUFFER_FULL        BIT(0, U)
+
 /* Feature IDs used with FFA_FEATURES */
 #define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
 #define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
@@ -295,9 +297,20 @@ struct ffa_mem_region {
 struct ffa_ctx_notif {
     /*
      * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
-     * pending global notifications.
+     * pending notifications from the secure world.
      */
     bool secure_pending;
+
+    /*
+     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
+     * pending notifications from VMs (including framework ones).
+     */
+    bool vm_pending;
+
+    /*
+     * True if domain has buffer full notification pending
+     */
+    bool buff_full_pending;
 };
 
 struct ffa_ctx {
@@ -369,6 +382,14 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs);
 void ffa_handle_notification_get(struct cpu_user_regs *regs);
 int ffa_handle_notification_set(struct cpu_user_regs *regs);
 
+#ifdef CONFIG_FFA_VM_TO_VM
+void ffa_raise_rx_buffer_full(struct domain *d);
+#else
+static inline void ffa_raise_rx_buffer_full(struct domain *d)
+{
+}
+#endif
+
 void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid);
 int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs);
 
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:53:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:53:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925585.1328489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiF8-0000sy-5w; Mon, 24 Mar 2025 13:53:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925585.1328489; Mon, 24 Mar 2025 13:53: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 1twiF8-0000sk-2s; Mon, 24 Mar 2025 13:53:30 +0000
Received: by outflank-mailman (input) for mailman id 925585;
 Mon, 24 Mar 2025 13:53: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twiF6-0008HJ-MR
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:53:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5cdf23f1-08b7-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:53:28 +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 B9A501C14;
 Mon, 24 Mar 2025 06:53:33 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.86.79])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0B2FC3F58B;
 Mon, 24 Mar 2025 06: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: 5cdf23f1-08b7-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v4 4/5] xen/arm: ffa: Add indirect message between VM
Date: Mon, 24 Mar 2025 14:53:02 +0100
Message-ID: <719dad25719a0834dc0e52da715aca989a3c20fb.1742824138.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742824138.git.bertrand.marquis@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for indirect messages between VMs.
This is only enabled if CONFIG_FFA_VM_TO_VM is selected.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v4:
- Use a local copy of the message header to prevent a TOC/TOU possible
  issue when using the payload size
Changes in v3:
- Move vm to vm indirect message handling in a sub function to simplify
  lock handling and make implementation easier to read
Changes in v2:
- Switch ifdef to IS_ENABLED
---
 xen/arch/arm/tee/ffa_msg.c | 110 ++++++++++++++++++++++++++++++++-----
 1 file changed, 96 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
index ee594e737fc7..7c36e3aac47c 100644
--- a/xen/arch/arm/tee/ffa_msg.c
+++ b/xen/arch/arm/tee/ffa_msg.c
@@ -88,43 +88,125 @@ out:
                  resp.a7 & mask);
 }
 
+static int32_t ffa_msg_send2_vm(uint16_t dst_id,
+                                struct ffa_part_msg_rxtx *src_msg)
+{
+    struct domain *dst_d;
+    struct ffa_ctx *dst_ctx;
+    struct ffa_part_msg_rxtx *dst_msg;
+    int err;
+    int32_t ret;
+
+    if ( dst_id == 0 )
+        /* FF-A ID 0 is the hypervisor, this is not valid */
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /* This is also checking that dest is not src */
+    err = rcu_lock_live_remote_domain_by_id(dst_id - 1, &dst_d);
+    if ( err )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    if ( dst_d->arch.tee == NULL )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock;
+    }
+
+    dst_ctx = dst_d->arch.tee;
+    if ( !dst_ctx->guest_vers )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock;
+    }
+
+    /* we need to have enough space in the destination buffer */
+    if ( dst_ctx->page_count * FFA_PAGE_SIZE <
+            (sizeof(struct ffa_part_msg_rxtx) + src_msg->msg_size) )
+    {
+        ret = FFA_RET_NO_MEMORY;
+        goto out_unlock;
+    }
+
+    /* This also checks that destination has set a Rx buffer */
+    ret = ffa_rx_acquire(dst_d);
+    if ( ret )
+        goto out_unlock;
+
+    dst_msg = dst_ctx->rx;
+
+    /* prepare destination header */
+    dst_msg->flags = 0;
+    dst_msg->reserved = 0;
+    dst_msg->msg_offset = sizeof(struct ffa_part_msg_rxtx);
+    dst_msg->send_recv_id = src_msg->send_recv_id;
+    dst_msg->msg_size = src_msg->msg_size;
+
+    memcpy(dst_ctx->rx + sizeof(struct ffa_part_msg_rxtx),
+           ((void *)src_msg) + src_msg->msg_offset, src_msg->msg_size);
+
+    /* receiver rx buffer will be released by the receiver*/
+
+out_unlock:
+    rcu_unlock_domain(dst_d);
+    if ( !ret )
+        ffa_raise_rx_buffer_full(dst_d);
+
+    return ret;
+}
+
 int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
 {
     struct domain *src_d = current->domain;
     struct ffa_ctx *src_ctx = src_d->arch.tee;
-    const struct ffa_part_msg_rxtx *src_msg;
+    struct ffa_part_msg_rxtx src_msg;
     uint16_t dst_id, src_id;
     int32_t ret;
 
-    if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( !spin_trylock(&src_ctx->tx_lock) )
         return FFA_RET_BUSY;
 
-    src_msg = src_ctx->tx;
-    src_id = src_msg->send_recv_id >> 16;
-    dst_id = src_msg->send_recv_id & GENMASK(15,0);
+    /* create a copy of the message header */
+    memcpy(&src_msg, src_ctx->tx, sizeof(src_msg));
+
+    src_id = src_msg.send_recv_id >> 16;
+    dst_id = src_msg.send_recv_id & GENMASK(15,0);
 
-    if ( src_id != ffa_get_vm_id(src_d) || !FFA_ID_IS_SECURE(dst_id) )
+    if ( src_id != ffa_get_vm_id(src_d) )
     {
         ret = FFA_RET_INVALID_PARAMETERS;
-        goto out_unlock_tx;
+        goto out;
     }
 
     /* check source message fits in buffer */
     if ( src_ctx->page_count * FFA_PAGE_SIZE <
-         src_msg->msg_offset + src_msg->msg_size ||
-         src_msg->msg_offset < sizeof(struct ffa_part_msg_rxtx) )
+         src_msg.msg_offset + src_msg.msg_size ||
+         src_msg.msg_offset < sizeof(struct ffa_part_msg_rxtx) )
     {
         ret = FFA_RET_INVALID_PARAMETERS;
-        goto out_unlock_tx;
+        goto out;
     }
 
-    ret = ffa_simple_call(FFA_MSG_SEND2,
+    if ( FFA_ID_IS_SECURE(dst_id) )
+    {
+        /* Message for a secure partition */
+        if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
+        {
+            ret = FFA_RET_NOT_SUPPORTED;
+            goto out;
+        }
+
+        ret = ffa_simple_call(FFA_MSG_SEND2,
                           ((uint32_t)ffa_get_vm_id(src_d)) << 16, 0, 0, 0);
+    }
+    else if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        /* Message for a VM */
+        ret = ffa_msg_send2_vm(dst_id, &src_msg);
+    }
+    else
+        ret = FFA_RET_INVALID_PARAMETERS;
 
-out_unlock_tx:
+out:
     spin_unlock(&src_ctx->tx_lock);
     return ret;
 }
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:53:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925587.1328499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiFA-0001CD-EC; Mon, 24 Mar 2025 13:53:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925587.1328499; Mon, 24 Mar 2025 13:53: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 1twiFA-0001C2-AO; Mon, 24 Mar 2025 13:53:32 +0000
Received: by outflank-mailman (input) for mailman id 925587;
 Mon, 24 Mar 2025 13:53: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=xDgH=WL=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1twiF8-0008HJ-CU
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:53:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5dd96d1e-08b7-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:53: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 7D53E16F3;
 Mon, 24 Mar 2025 06:53:35 -0700 (PDT)
Received: from C3HXLD123V.arm.com (unknown [10.57.86.79])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C6BA13F58B;
 Mon, 24 Mar 2025 06:53: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: 5dd96d1e-08b7-11f0-9ea2-5ba50f476ded
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v4 5/5] xen/arm: ffa: Enable VM to VM without firmware
Date: Mon, 24 Mar 2025 14:53:03 +0100
Message-ID: <0f5cf498c3c511ed192e8b7b7d0f4987e00e5c0d.1742824138.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <cover.1742824138.git.bertrand.marquis@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When VM to VM support is activated and there is no suitable FF-A support
in the firmware, enable FF-A support for VMs to allow using it for VM to
VM communications.
If there is OP-TEE running in the secure world and using the non FF-A
communication system, having CONFIG_FFA_VM_TO_VM could be non functional
(if optee is probed first) or OP-TEE could be non functional (if FF-A is
probed first) so it is not recommended to activate the configuration
option for such systems.

To make buffer full notification work between VMs when there is no
firmware, rework the notification handling and modify the global flag to
only be used as check for firmware notification support instead.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
---
Changes in v4:
- Fix Optee to OP-TEE in commit message
- Add Jens R-b
Changes in v3:
- fix typos in commit message
- add spaces around <<
- move notification id fix back into buffer full patch
- fix | position in if
Changes in v2:
- replace ifdef with IS_ENABLED when possible
---
 xen/arch/arm/tee/ffa.c       |  12 +++-
 xen/arch/arm/tee/ffa_notif.c | 104 ++++++++++++++++-------------------
 2 files changed, 59 insertions(+), 57 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index e41ab5f8ada6..0627625efe60 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -324,8 +324,9 @@ static int ffa_domain_init(struct domain *d)
     struct ffa_ctx *ctx;
     int ret;
 
-    if ( !ffa_fw_version )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !ffa_fw_version )
         return -ENODEV;
+
     /*
      * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A ID 0 is
      * reserved for the hypervisor and we only support secure endpoints using
@@ -561,6 +562,15 @@ err_no_fw:
     bitmap_zero(ffa_fw_abi_supported, FFA_ABI_BITMAP_SIZE);
     printk(XENLOG_WARNING "ARM FF-A No firmware support\n");
 
+    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
+    {
+        INIT_LIST_HEAD(&ffa_teardown_head);
+        init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
+
+        printk(XENLOG_INFO "ARM FF-A only available between VMs\n");
+        return true;
+    }
+
     return false;
 }
 
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index f6df2f15bb00..86bef6b3b2ab 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -16,7 +16,7 @@
 
 #include "ffa_private.h"
 
-static bool __ro_after_init notif_enabled;
+static bool __ro_after_init fw_notif_enabled;
 static unsigned int __ro_after_init notif_sri_irq;
 
 int ffa_handle_notification_bind(struct cpu_user_regs *regs)
@@ -27,21 +27,17 @@ int ffa_handle_notification_bind(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
     if ( flags )    /* Only global notifications are supported */
         return FFA_RET_DENIED;
 
-    /*
-     * We only support notifications from SP so no need to check the sender
-     * endpoint ID, the SPMC will take care of that for us.
-     */
-    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_lo,
-                           bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
+        return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags,
+                               bitmap_lo, bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
@@ -51,18 +47,14 @@ int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
-    /*
-     * We only support notifications from SP so no need to check the
-     * destination endpoint ID, the SPMC will take care of that for us.
-     */
-    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo,
-                            bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
+        return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo,
+                                bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
@@ -71,7 +63,7 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
     struct ffa_ctx *ctx = d->arch.tee;
     bool notif_pending;
 
-    if ( !notif_enabled )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
     {
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return;
@@ -108,7 +100,7 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
     uint32_t w6 = 0;
     uint32_t w7 = 0;
 
-    if ( !notif_enabled )
+    if ( !IS_ENABLED(CONFIG_FFA_VM_TO_VM) && !fw_notif_enabled )
     {
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return;
@@ -120,7 +112,8 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM ) )
+    if ( fw_notif_enabled && (flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
+                                        FFA_NOTIF_FLAG_BITMAP_SPM )) )
     {
         struct arm_smccc_1_2_regs arg = {
             .a0 = FFA_NOTIFICATION_GET,
@@ -177,15 +170,14 @@ int ffa_handle_notification_set(struct cpu_user_regs *regs)
     uint32_t bitmap_lo = get_user_reg(regs, 3);
     uint32_t bitmap_hi = get_user_reg(regs, 4);
 
-    if ( !notif_enabled )
-        return FFA_RET_NOT_SUPPORTED;
-
     if ( (src_dst >> 16) != ffa_get_vm_id(d) )
         return FFA_RET_INVALID_PARAMETERS;
 
-    /* Let the SPMC check the destination of the notification */
-    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
-                           bitmap_hi);
+    if ( FFA_ID_IS_SECURE(src_dst >> 16) && fw_notif_enabled )
+        return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
+                               bitmap_hi);
+
+    return FFA_RET_NOT_SUPPORTED;
 }
 
 #ifdef CONFIG_FFA_VM_TO_VM
@@ -371,7 +363,7 @@ void ffa_notif_init_interrupt(void)
 {
     int ret;
 
-    if ( notif_enabled && notif_sri_irq < NR_GIC_SGI )
+    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
     {
         /*
          * An error here is unlikely since the primary CPU has already
@@ -402,41 +394,41 @@ void ffa_notif_init(void)
     int ret;
 
     /* Only enable fw notification if all ABIs we need are supported */
-    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
-           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
-        return;
-
-    arm_smccc_1_2_smc(&arg, &resp);
-    if ( resp.a0 != FFA_SUCCESS_32 )
-        return;
-
-    irq = resp.a2;
-    notif_sri_irq = irq;
-    if ( irq >= NR_GIC_SGI )
-        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
-    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
-    if ( ret )
+    if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
+         ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64) )
     {
-        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
-               irq, ret);
-        return;
-    }
+        arm_smccc_1_2_smc(&arg, &resp);
+        if ( resp.a0 != FFA_SUCCESS_32 )
+            return;
 
-    notif_enabled = true;
+        irq = resp.a2;
+        notif_sri_irq = irq;
+        if ( irq >= NR_GIC_SGI )
+            irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
+        ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
+        if ( ret )
+        {
+            printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
+                   irq, ret);
+            return;
+        }
+        fw_notif_enabled = true;
+    }
 }
 
 int ffa_notif_domain_init(struct domain *d)
 {
     int32_t res;
 
-    if ( !notif_enabled )
-        return 0;
+    if ( fw_notif_enabled )
+    {
 
-    res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
-    if ( res )
-        return -ENOMEM;
+        res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
+        if ( res )
+            return -ENOMEM;
+    }
 
     return 0;
 }
@@ -447,6 +439,6 @@ void ffa_notif_domain_destroy(struct domain *d)
      * Call bitmap_destroy even if bitmap create failed as the SPMC will
      * return a DENIED error that we will ignore.
      */
-    if ( notif_enabled )
+    if ( fw_notif_enabled )
         ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
 }
-- 
2.47.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 13:59:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 13:59:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925619.1328508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiKR-00034X-W8; Mon, 24 Mar 2025 13:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925619.1328508; Mon, 24 Mar 2025 13: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 1twiKR-00034Q-TU; Mon, 24 Mar 2025 13:58:59 +0000
Received: by outflank-mailman (input) for mailman id 925619;
 Mon, 24 Mar 2025 13:58: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=xDgH=WL=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1twiKQ-00034K-UT
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 13:58:59 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061f.outbound.protection.outlook.com
 [2a01:111:f403:260e::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2185e291-08b8-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 14:58:58 +0100 (CET)
Received: from AS9PR06CA0753.eurprd06.prod.outlook.com (2603:10a6:20b:484::9)
 by PAWPR08MB10306.eurprd08.prod.outlook.com (2603:10a6:102:358::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:58:53 +0000
Received: from AM3PEPF0000A795.eurprd04.prod.outlook.com
 (2603:10a6:20b:484:cafe::3e) by AS9PR06CA0753.outlook.office365.com
 (2603:10a6:20b:484::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Mon,
 24 Mar 2025 13:58:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A795.mail.protection.outlook.com (10.167.16.100) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Mon, 24 Mar 2025 13:58:52 +0000
Received: ("Tessian outbound 42ac64abf51c:v601");
 Mon, 24 Mar 2025 13:58:52 +0000
Received: from Lcc8d8dfb42d4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 77E924DC-FB4B-4528-B416-582DECA8B7E2.1; 
 Mon, 24 Mar 2025 13:58:46 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lcc8d8dfb42d4.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 24 Mar 2025 13:58:46 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB7919.eurprd08.prod.outlook.com (2603:10a6:20b:53a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 13:58:39 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 13: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: 2185e291-08b8-11f0-9ea2-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=KI5PAuSD/GKpXvpS3BL4X8oUcUWKETj4Xpg6PjMEoGvJAB1f5F2vJd0Rh7QEapafE8N686/8DnOIvTnscqTvMjixYiDZMKddX2fwRRKQbud/Zj29e67sQi8OqR2YhBLgrjfHLOL8kCcAAYN/ug6etcAglPRvahG1pOWQ9FULpgCjkL5x6uY7bj8fuw7qqw94FVij4uDnH90X9HJWvcbB7nvEqse+hPmV4xlyDMfntaKLYnlyGJ60ztZhPQmyGLRwVZ60z3LmUv+lhrCjHReUK7213WBGsK/JIcSz3MKkx9j3s+Iw9zK6m3HUMCWqyly5g6iSKStJn/RlD8Xs9N3mRw==
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=MIhbcHI9JZDchcX+DEYk/gpB4DoxlNB+H+U4laZ6O6I=;
 b=f7B8yHYAbcNaJgbCOiMXd4hozTYKSu0xzjTvJoZKCPWBMywcdiyOvlMK9dYhQt4LGGkaCF2q0Xrf5Nb9cg/zGlShk1IeaAwItwA3o0pbHqGr1Df8EnB2Jgjm48+m5L7C+mKfXNTf5AazF/rqDScAT2GlnF66JKOx/4NIwV29843jNkNsI9E8VkESQ+zSbza0AxiEknCTtTOhKN9yXhE7pF3/92LJUFM5XUNjrmecjr8xGeiv+VG9LVBSzt++BC0eIQZzmDIR6wYpNxmEIa/AyV+G3f1ecMoJg7g2rd8Ko3heYBCwU2FGVODGHaQnA5CIOX/VSHFoldyaN1empduUhQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=MIhbcHI9JZDchcX+DEYk/gpB4DoxlNB+H+U4laZ6O6I=;
 b=sO9GujMau/rS6MMRKBN3S0jzoJiyKIrU2SwS+SdDrvOPOHVQlbxPZA8H/RxxTYttoN3+JNwHorM86cQC36Z1QEQWZoZik6dkW4ldZbiGe6mELxZZPLqZX6mppFk/3nFLT5fVtiiKufJWxRWumOYrAsRTc1+Mi7we7cUVfKLg5vk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f7dfcee01754b076
X-TessianGatewayMetadata: ey3zCXCbtdkolNCn/HP0Td75vzD4m7hmz6GXoPDq6LY+GpbZt+pQ71fCpUumYoigCNTfpBL7Yc+YB0g9aWkhXGF5tSbWc4eGP/SJe7BeJjeGF3gHpDMl2CBvO204GjIdDl/QsmCs5G3y0tZlc8cZXRmMrzcUS0SCc21xETiR7k4=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WmuJaM7ywbJ9z9GCwOgr4iEOh9WGdzBC7IYAeq+/67gcnIcBhnZLxulCZmiqIxka8x8PBcIgmOfM913/for21l8Tob4AdrSf1sek74rM13aJc96cRtT1Vqfg2Ir6Zl3YKGC3BB2fAjcBfysoBH+RqYAmzYfPJoftUC1rAnf470sucMfPUcbbmYu4+EY1RrcmoFF1UP3dsxzOI8cDktfjtVsrY+SkpQqRS0tztc08PK1IG+bsg3qDrob4A6gS1saR+BVIWM4QsouUBF8nyIKe4JhEHEpkfu+Et9l4hz0xXDui98EMbbYS8q+AR3j1Ijst5VtRqL5FgvHd7uCyZD0vkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MIhbcHI9JZDchcX+DEYk/gpB4DoxlNB+H+U4laZ6O6I=;
 b=ZmM1Q4a1eJHgNUu/REh45i+iAM0QpETR+azDhmQUX8w/lZqMbidX48QANUwZfacvbFFDQOY3iXrxJgyU0d3E0OoOJSDe95VhVugqPyQ4CYVfwy6Zmp+JhpZ9rH5bXtzjFDDyqS/DFi8T00qxgvMipplyTXWqdo63nVNay5+qG04JKDkf1ZjINm3wtQWmRBuJwG3y0KlUh1UkV33JH7z8vAY68cfONjSvVy4nS+lWqRgbUg0OoEsHGY1PuGdmHLHLbtqotrpUvdNPGGIlfXsogsT8671I/1md//i3DVtzgFYi5Uw9fHdRh29DJv4C3OMd8XoQz0TrnLvQ9yHsZMUEcQ==
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=MIhbcHI9JZDchcX+DEYk/gpB4DoxlNB+H+U4laZ6O6I=;
 b=sO9GujMau/rS6MMRKBN3S0jzoJiyKIrU2SwS+SdDrvOPOHVQlbxPZA8H/RxxTYttoN3+JNwHorM86cQC36Z1QEQWZoZik6dkW4ldZbiGe6mELxZZPLqZX6mppFk/3nFLT5fVtiiKufJWxRWumOYrAsRTc1+Mi7we7cUVfKLg5vk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "jens.wiklander@linaro.org" <jens.wiklander@linaro.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Topic: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Index: AQHbnMQnVQCSJAleWkGtVlVLXLrx+bOCUBoA
Date: Mon, 24 Mar 2025 13:58:39 +0000
Message-ID: <A5ADD7FD-5FBD-4BE5-9428-A69719A2ACBE@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@arm.com>
In-Reply-To:
 <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB7919:EE_|AM3PEPF0000A795:EE_|PAWPR08MB10306:EE_
X-MS-Office365-Filtering-Correlation-Id: 69278c6b-f413-4490-928f-08dd6adc02cf
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?cc5Md3AJFsoq/1ojfZkArwPM4O9d87dsebtMCnX/4S1R2G4zKCG7QGMgq6X1?=
 =?us-ascii?Q?2ZSeWvH5rem3gs1BMYHRrflEuT4laYGyBCeykmAr7ZDNVSv+8iQ1tM5ildcQ?=
 =?us-ascii?Q?IID/X+ObDw7R9TSVhCKwN2Cn5OP2ds1uMDTpdo+TLWSHXzwI49I6y/AaCu7m?=
 =?us-ascii?Q?YoO/6/SeGMajOos9wSpOGDmonpzIFT/ZjRaOaTKECHMwoEdbnHgvX0W610OM?=
 =?us-ascii?Q?VLCSKMsTZDyYoi3atQ2na+nZV+JsNk8EuizIlOnJCIpapDXPuXPLRZTz2ZJT?=
 =?us-ascii?Q?+RWsCwxD1vyq2sy4ub2oh06NFlXqfL3Pyk93fmM1PfIrFqOrBNnPRW2blwOg?=
 =?us-ascii?Q?jz1rt7dmkbzhsaGBFGgm3sNxZX/An5uOZXwM32WV2m/wVdeJVzH4tfr7mDyF?=
 =?us-ascii?Q?Y0JwOv5DEfwZlpFmEas59jBAIJLigyzBil985/RdPdm+vTOfXkwvgzKpWBoj?=
 =?us-ascii?Q?7RFbYvUeGbpKs346dXGm3iAz6M2fEi18B/ZGaaCzxW6DxQLeEwpsovloGiV6?=
 =?us-ascii?Q?VkMS5yQnyA7kOtOapUGuh8HQWG9v5R0816OhlrbkNhNL6KT+32hA2MIqSjee?=
 =?us-ascii?Q?chPY9HC0SFPEUsZNwvqXeT0kfT+cqtmdB3L55RLGetiyFTwqDSTQiSVdYO75?=
 =?us-ascii?Q?xURd+57BywOkcHJedy8o+Lx+6UJBdjcdbf3iPsfWOA6da/NiEvJmgRVYIv7b?=
 =?us-ascii?Q?3X1OFhvHJU0D2CbIS2X5eOnNLu0Bor7eV+bVfTQdMUU0rUxcsYPLG3pco56w?=
 =?us-ascii?Q?mNQ2UZVRNspd4gUyJKl5ElMe1BD4qkyTgqafrBCATMIJoinU+wEPcuWdZSG0?=
 =?us-ascii?Q?BfGHsJ7LXW5vUR/uwMDP1EH7nP+pesEsyfUs1Rq/rcY+l5goYiL3BXXvLPFe?=
 =?us-ascii?Q?nueS/M0ML3IL5dO1QbaSrKucK4F4paL3sPY3+CY7xkvFdoBR7UhF+CNn1H/5?=
 =?us-ascii?Q?R8qYajo/x2yQyflPGQpdvAiHhJGszyYj0XDxJlvB1P6envbrOElT2/mjJzo7?=
 =?us-ascii?Q?lOVkODhlx8WnA9SUS4DyUGb3zX/cMXvo4bJWb7WM/INvX8ueuah6wzsxXprG?=
 =?us-ascii?Q?8vQK0IGx6wCKPhulY2GCMe+R28B49bkuIjUDG46bQ6HplYopEtHGqbvJ6M6L?=
 =?us-ascii?Q?ScZDLYScU1w2meMHCoP/JB6OIv1jFOC276ChPRkRyvwyp1L75Ir/1ejVSUkP?=
 =?us-ascii?Q?KgtZOY0/SSUMvyLMfdcppJt8cHQhcL50HnRBxqzVtw7BBdTxy2kMdOk0M5xS?=
 =?us-ascii?Q?HEhBizacoj+wJSz2d9v+rRIAFFVbScTmdvsGw4jNVwVVgWjyIhLBDD8Cxr+b?=
 =?us-ascii?Q?5KxIqik3j4qOuZMxZP7bWS2LM7Hoxy3g4MZh3Pl/6mVPcREoD44VLhSBtfNu?=
 =?us-ascii?Q?HRh28POg5Q7eS7iQarcrCBNGJvewnI6JEmxOgxAC+9NOuvwVHfCSWKVlAS0r?=
 =?us-ascii?Q?2K4KIYeXrGgb8sCHk7gGa+qPm1zRnA5w?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <48112FB32C0A1F4EA636CAC87ADF773A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7919
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A795.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d2e0a399-2414-48aa-5e53-08dd6adbfaa8
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|14060799003|1800799024|82310400026|36860700013|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?daNN1gsEfq+5jERILr9LysjmoUt6bA5xzj2TzKkHLrCyn+HOASoFr6fIUapO?=
 =?us-ascii?Q?BsccW4S0+ICsYP63b1xNj1PS9vgdsfrMxU+U3myVVREMgecxcl5htqq4AZzO?=
 =?us-ascii?Q?MtCLgYcZq8XJ3mpCfQvjdczYzUNqzzADFK7AzNLsVxMhhMz7lW8RQZ8kCsrE?=
 =?us-ascii?Q?uGlmXEZWazDvetZcz4c0KIvpPiUf5NE2Kk2InSoyyNoKNPOaBsW/wyiT/6T0?=
 =?us-ascii?Q?qe9Mir3b8yDx51zpKY0ikyikrCvVNxBWEqFZl/zr0VjOvBCCwsI5M+3hoEm3?=
 =?us-ascii?Q?KB5A+tvUDFAPDKYG8c6WqP7Nz0pUDgi8vuV+8zJY0KBX1BSJGciD5EUEeLfX?=
 =?us-ascii?Q?/Z5uQ8OchYCpBosX4nuLReVGkNkzax5RisMAP6fxgA1Q1gyYbOU5cYPhXsaU?=
 =?us-ascii?Q?EnSxoFt+BLWl7+iu2ouX8ehpG2ipWF7o6BNgJsVDMsPjesQZBEA7iLaKJl7U?=
 =?us-ascii?Q?5Z4fCLiViysuTr12+QMA8KATBbDbWOfROEcgkqwTQ5yy7qQtFAM41Qv3sbwT?=
 =?us-ascii?Q?6M3GaegQ3GebzkdoJahpNF4LNOeJgDHz1hvMKVnMxjlmeBR3+IomLneIC4et?=
 =?us-ascii?Q?aiDQpg+lGHFUtVp4F8ONUD9KvhK5+fAFmteytR5N8IdBgjSasmA560B8WPxn?=
 =?us-ascii?Q?vsjnuRyMTPsSci+6m0v2kym5qP25XoLWD23jTaqIPzQU4QFgKue+W3ak7Rfa?=
 =?us-ascii?Q?f66ejVKjwfu6l5tYjXlzmPTmIlLKp+n0YvAQ0rPppOQPdwT6wBAqR2hSZIlf?=
 =?us-ascii?Q?3KBpGqOaWfvsxVNeepyijtJ9s3CLlmAsYhP99jdXga9bg9IuZz2gajgg45xh?=
 =?us-ascii?Q?N8FrzGr64S2hcGarR58ZWBbNdiZfFOMN2YAtxaNuJJJSPfNJrwlbT95Lq7UE?=
 =?us-ascii?Q?NP62RpZNlvKR1wxU0mSse69eyCj9erSU/uPbAv6s0AGuqKbZHAugwJgIo/lo?=
 =?us-ascii?Q?/ryZTK1fBYw2HggINYXn5mDw2jTl/v7RmjH6//24jst6NsqZDyXKD1Gg+veW?=
 =?us-ascii?Q?eAX286mrkuP8YCWtKxdwYnWdQ5CoGdyEx3JKebACRmZFrXUpg7qC6wIuzeHo?=
 =?us-ascii?Q?d1Uv741taxsyNsIdczsdqRXxRl22uBOG3C6m3pBrcjUdTHBZVrUg9h25d3rZ?=
 =?us-ascii?Q?PZb8WZTAyq2OtV9mrakfZwYBN3uUYp/uXsnDgVR6qGuYbcf6crm86oX6YQ4F?=
 =?us-ascii?Q?VnePLd880a/lr98455X2tKfgBse1GOKK2xWyLXri3ZcUOORnWq20s8xCc6IM?=
 =?us-ascii?Q?ld9IurMDTBCwjKjcXlhmmnyIgNrb8CUtDi0O9edJIi41f10FUaatyx2sBIct?=
 =?us-ascii?Q?jKygAY4iFEkineX6kzR9EmrpeN/yf1msoYLNVGoKJuz85/Q6XB0JHZKQZy7t?=
 =?us-ascii?Q?BBxR+CLCj2jeT/gL5epEAam/xIgAwaUZTxeGmpMMGp7mdgQykU+00l02E2r7?=
 =?us-ascii?Q?lsUrDuMR1feqV0BZ2eYqIKglP6MLh4bkkY8q2YPEIJ2xwrpzTZC96zU0Mn+5?=
 =?us-ascii?Q?NZyMlTFo6FD4iok=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(376014)(14060799003)(1800799024)(82310400026)(36860700013)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 13:58:52.8360
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 69278c6b-f413-4490-928f-08dd6adc02cf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A795.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10306

Hi,

> On 24 Mar 2025, at 14:53, Bertrand Marquis <Bertrand.Marquis@arm.com> wro=
te:
>=20
> Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
> between VMs.
> When activated list VMs in the system with FF-A support in part_info_get.
>=20
> When VM to VM is activated, Xen will be tainted as Insecure and a
> message is displayed to the user during the boot as there is no
> filtering of VMs in FF-A so any VM can communicate or see any other VM
> in the system.
>=20
> WARNING: There is no filtering for now and all VMs are listed !!
>=20
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v4:
> - properly handle SPMC version 1.0 header size case in partinfo_get
> - switch to local counting variables instead of *pointer +=3D 1 form
> - coding style issue with missing spaces in if ()
> Changes in v3:
> - break partinfo_get in several sub functions to make the implementation
>  easier to understand and lock handling easier
> - rework implementation to check size along the way and prevent previous
>  implementation limits which had to check that the number of VMs or SPs
>  did not change
> - taint Xen as INSECURE when VM to VM is enabled
> Changes in v2:
> - Switch ifdef to IS_ENABLED
> - dom was not switched to d as requested by Jan because there is already
>  a variable d pointing to the current domain and it must not be
>  shadowed.
> ---
> xen/arch/arm/tee/Kconfig        |  11 ++
> xen/arch/arm/tee/ffa.c          |  12 ++
> xen/arch/arm/tee/ffa_partinfo.c | 274 +++++++++++++++++++++-----------
> xen/arch/arm/tee/ffa_private.h  |  12 ++
> 4 files changed, 218 insertions(+), 91 deletions(-)
>=20
> diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
> index c5b0f88d7522..88a4c4c99154 100644
> --- a/xen/arch/arm/tee/Kconfig
> +++ b/xen/arch/arm/tee/Kconfig
> @@ -28,5 +28,16 @@ config FFA
>=20
>  [1] https://developer.arm.com/documentation/den0077/latest
>=20
> +config FFA_VM_TO_VM
> +    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
> +    default n
> +    depends on FFA
> +    help
> +      This option enables to use FF-A between VMs.
> +      This is experimental and there is no access control so any
> +      guest can communicate with any other guest.
> +
> +      If unsure, say N.
> +
> endmenu
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 3bbdd7168a6b..e41ab5f8ada6 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -464,6 +464,18 @@ static bool ffa_probe(void)
>     printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>            FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>=20
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        /*
> +         * When FFA VM to VM is enabled, the current implementation does=
 not
> +         * offer any way to limit which VM can communicate with which VM=
 using
> +         * FF-A.
> +         * Signal this in the xen console and taint the system as insecu=
re.
> +         * TODO: Introduce a solution to limit what a VM can do through =
FFA.
> +         */
> +        printk(XENLOG_ERR "ffa: VM to VM is enabled, system is insecure =
!!\n");
> +        add_taint(TAINT_MACHINE_INSECURE);
> +    }
>     /*
>      * psci_init_smccc() updates this value with what's reported by EL-3
>      * or secure world.
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_parti=
nfo.c
> index c0510ceb8338..406c57b95f77 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -63,9 +63,156 @@ static int32_t ffa_partition_info_get(uint32_t *uuid,=
 uint32_t flags,
>     return ret;
> }
>=20
> -void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
> +static int32_t ffa_get_sp_count(uint32_t *uuid, uint32_t *sp_count)
> +{
> +    uint32_t src_size;
> +
> +    return ffa_partition_info_get(uuid, FFA_PARTITION_INFO_GET_COUNT_FLA=
G,
> +                                  sp_count, &src_size);
> +}
> +
> +static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
> +                                   void *dst_buf, void *end_buf,
> +                                   uint32_t dst_size)
> {
>     int32_t ret;
> +    uint32_t src_size, real_sp_count;
> +    void *src_buf =3D ffa_rx;
> +    uint32_t count =3D 0;
> +
> +    /* Do we have a RX buffer with the SPMC */
> +    if ( !ffa_rx )
> +        return FFA_RET_DENIED;
> +
> +    /* We need to use the RX buffer to receive the list */
> +    spin_lock(&ffa_rx_buffer_lock);
> +
> +    ret =3D ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size);
> +    if ( ret )
> +        goto out;
> +
> +    /* We now own the RX buffer */
> +
> +    /* We only support a 1.1 firmware version */

This comment should have been removed.
I will fix it on next version of might be possible to do on commit
if there are no further comments here.

Cheers
Bertrand



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 14:08:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 14:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925650.1328518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiTm-0006Bq-To; Mon, 24 Mar 2025 14:08:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925650.1328518; Mon, 24 Mar 2025 14:08: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 1twiTm-0006Bj-RF; Mon, 24 Mar 2025 14:08:38 +0000
Received: by outflank-mailman (input) for mailman id 925650;
 Mon, 24 Mar 2025 14:08: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twiTl-0006Bd-Mq
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:08:37 +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 7a8450ec-08b9-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 15:08:36 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-394780e98easo2611608f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 07:08: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-3997f9955fbsm10997544f8f.5.2025.03.24.07.08.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 07:08: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: 7a8450ec-08b9-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742825316; x=1743430116; 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=RgYD/+2IgXusKjq+RR1d28NFTAfCwxnvZnLYJkWekIQ=;
        b=OEhe9JU13VxYYlf/4tj7kRdZgYLpm9GsD6FHPFFhNJREVgFLW0H3dOTILszZI3sN8Z
         EQOwtJXuGmnHUSNzyDnzZuEniLViCWnoPQVAEIOSwcirtz0noMEitfzBbwd/hm52wKc0
         ZkHic6OZyAZ48/ah6ptkX3SCc3TYEBEAErTuqfQXCsUqYuOKipnIlkpqUfIcyfG+/g73
         L/+h8JqzvU5tWP6EV7MtVUpFZgV/KBnfMvRjD2r2QjoA9gg8pIqSiv1b/ZZSJXOr00pQ
         XrZV9nEB2RLSYhOzl38ql8iIqvTitCkWC9smv41YHveJrt5C6hl+zYdWNj7An1wAktHA
         WQsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742825316; x=1743430116;
        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=RgYD/+2IgXusKjq+RR1d28NFTAfCwxnvZnLYJkWekIQ=;
        b=ACCbZ2UthpuiMrW10VvOZCdknJHXCPlVmhPyIGLrvuzIehPe0wp3AG18yZD9Z2VA9C
         XjJEmq65SM4471qrIUTPum5M+1NwO1MQn4O+gVIx48OfISx6No3eLGCieT3CLfBynxA1
         bXJwjbqwnuLI0Lqo14pDtY6bhQFJFii/FYpZNcfhmHKrsfV8lJ4j9slqnjcHpHHYDtGJ
         26ORehspEdxksqpXwDV0MaE2DhUeMUkYADTnJMaR67B0CrWRg8zfkna7mI41CTAlAGK+
         0hVZM5bDZV3UZiIDdekqOC5FIPuFPgCREwOdya/jGqt1yLYV/ZnnBuObCS5+H7zfXKnr
         jjFQ==
X-Forwarded-Encrypted: i=1; AJvYcCVqhn61u8BnqbI3+aUFqH1IOdyRGxUX+s85jkmq3s1vLSDhqvmoLBjiKXy8UDeHnI0UXiRXztTlF4A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yypz+Jc7hCzZFXZoEnR8dqctB5QuqtKbL01nTY9W2QWq3mlmuMb
	O4RkHlgboS+tVDz2JN6OF4yf9v06bSZEX5gCmj+GUc12xIF8liCzCwjZPDYUOQ==
X-Gm-Gg: ASbGncubS6wX1LihYo4OY5XlwUAnWLfs+CC33IO2yJnHlL4F88vB1pYNg98idOKLriQ
	kNrhvU2vFlO8ICZqPZuoinJLmRN56aP/T+3XzAEWvIvXmt+JLoXs51zbi7ifyjwSJtUhNFffkv8
	pZlD1LvkCtmKC1bwgR52q9/uzEb/Vm8wAXZhBK49ncj0geTHlSH6TYW2z3HeI+EEDUwy6p/HxrS
	f3y2+yX/v3b7v0sVGhlzKVyw7FJOXGaLV30kK/tLenTCVfiriYWkSN1j7QExEGBp2jz3oZALb5Q
	607VPZqcYy6f4dRIbV9hW0YkFuC0fdEq2baUPV7C4aqIrmds3/Qfu39ZIKKZZO20W17PYb81Cgg
	gGuSKfozAelhW/XTh1B+fCjDV2FJpCw==
X-Google-Smtp-Source: AGHT+IGbQi/JYVH0RFt2VSiZX3iz+6/95V9gY1q7UCj+n13icSx8sQ5Mk6HEygZxwtghzKEZ8WHCyQ==
X-Received: by 2002:a5d:64e4:0:b0:391:412b:e23f with SMTP id ffacd0b85a97d-3997f8f9d24mr12545890f8f.15.1742825316070;
        Mon, 24 Mar 2025 07:08:36 -0700 (PDT)
Message-ID: <8f0efe3b-296e-4f1b-9501-8431f299e90c@suse.com>
Date: Mon, 24 Mar 2025 15:08:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 01/15] xen/cpufreq: introduces XEN_PM_PSD for solely
 delivery of _PSD
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-2-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> --- a/xen/include/public/platform.h
> +++ b/xen/include/public/platform.h
> @@ -363,12 +363,12 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_getidletime_t);
>  #define XEN_PM_PX   1
>  #define XEN_PM_TX   2
>  #define XEN_PM_PDC  3
> +#define XEN_PM_PSD  4
>  
>  /* Px sub info type */
>  #define XEN_PX_PCT   1
>  #define XEN_PX_PSS   2
>  #define XEN_PX_PPC   4
> -#define XEN_PX_PSD   8
>  
>  struct xen_power_register {
>      uint32_t     space_id;
> @@ -439,6 +439,7 @@ struct xen_psd_package {
>      uint64_t coord_type;
>      uint64_t num_processors;
>  };
> +typedef struct xen_psd_package xen_psd_package_t;
>  
>  struct xen_processor_performance {
>      uint32_t flags;     /* flag for Px sub info type */
> @@ -447,12 +448,6 @@ struct xen_processor_performance {
>      struct xen_pct_register status_register;
>      uint32_t state_count;     /* total available performance states */
>      XEN_GUEST_HANDLE(xen_processor_px_t) states;
> -    struct xen_psd_package domain_info;
> -    /* Coordination type of this processor */
> -#define XEN_CPUPERF_SHARED_TYPE_HW   1 /* HW does needed coordination */
> -#define XEN_CPUPERF_SHARED_TYPE_ALL  2 /* All dependent CPUs should set freq */
> -#define XEN_CPUPERF_SHARED_TYPE_ANY  3 /* Freq can be set from any dependent CPU */
> -    uint32_t shared_type;
>  };
>  typedef struct xen_processor_performance xen_processor_performance_t;
>  DEFINE_XEN_GUEST_HANDLE(xen_processor_performance_t);
> @@ -463,9 +458,15 @@ struct xenpf_set_processor_pminfo {
>      uint32_t type;  /* {XEN_PM_CX, XEN_PM_PX} */
>      union {
>          struct xen_processor_power          power;/* Cx: _CST/_CSD */
> -        struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS/_PSD */
> +        xen_psd_package_t                   domain_info; /* _PSD */
> +        struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS/ */
>          XEN_GUEST_HANDLE(uint32)            pdc;  /* _PDC */
>      } u;
> +    /* Coordination type of this processor */
> +#define XEN_CPUPERF_SHARED_TYPE_HW   1 /* HW does needed coordination */
> +#define XEN_CPUPERF_SHARED_TYPE_ALL  2 /* All dependent CPUs should set freq */
> +#define XEN_CPUPERF_SHARED_TYPE_ANY  3 /* Freq can be set from any dependent CPU */
> +    uint32_t shared_type;
>  };
>  typedef struct xenpf_set_processor_pminfo xenpf_set_processor_pminfo_t;
>  DEFINE_XEN_GUEST_HANDLE(xenpf_set_processor_pminfo_t);

With this change to stable hypercall structures, how is an older Dom0 kernel
going to be able to properly upload the necessary data? IOW: No, you can't
alter existing stable hypercall structures like this.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 14:15:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 14:15:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925659.1328529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiaE-0000dM-JJ; Mon, 24 Mar 2025 14:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925659.1328529; Mon, 24 Mar 2025 14:15: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 1twiaE-0000dF-GZ; Mon, 24 Mar 2025 14:15:18 +0000
Received: by outflank-mailman (input) for mailman id 925659;
 Mon, 24 Mar 2025 14:15: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=AQO9=WL=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1twiaC-0000d9-Kh
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:15:16 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2417::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 672e64d1-08ba-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 15:15:14 +0100 (CET)
Received: from SA0PR11CA0203.namprd11.prod.outlook.com (2603:10b6:806:1bc::28)
 by LV8PR12MB9689.namprd12.prod.outlook.com (2603:10b6:408:296::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 14:15:11 +0000
Received: from SA2PEPF00003F66.namprd04.prod.outlook.com
 (2603:10b6:806:1bc:cafe::f8) by SA0PR11CA0203.outlook.office365.com
 (2603:10b6:806:1bc::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Mon,
 24 Mar 2025 14:15:11 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00003F66.mail.protection.outlook.com (10.167.248.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Mon, 24 Mar 2025 14:15:11 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 24 Mar
 2025 09:15:11 -0500
Received: from [172.22.20.237] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 24 Mar 2025 09:15:10 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 672e64d1-08ba-11f0-9ea2-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Esng83yaWLo6uJZFQqoTG6vd6f5b8wrG7/6H5JsLxivxczgSSyoKJYnfMj3gP8ng771KafBqaSYmFZQE6uw+bTTKxHzbDbfqV2CJ960JbifY2SWVz0gP6vx6y0B2Mdy4jAKDEdgBEsNc63MWTDrDSpBO6MB1AXEIGdcQf40EbuWVx26TqjYkkXE+IagpjcZzsbpLKfEIjjfULuJocE12iQnSwmA9rkNQUeZSUSAMJkdfy/dxAQgAh95NbgXWPEMSheH/Xj9lhmmbFCKuiIdz+ht6rUIrRl/QoJVhPoEvNHmLLNzviseFkFgcVq+aG68cKD96Ni1xLbN6f8mVDJhkVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D5z2Jk8pS0sdY+XAJoGCiLloKydFAn1jSHUoLCMMg0E=;
 b=Pls3hPK1ZMb4fsOHxl+mgxEXfYQCAnsU1/YZYEEeOLlA4Cm733OlAiLU82T/uZh6Y6Un/jhJOEBfjdB8BT9rvr4vVC1mGot9zdrCLsw268OAMcxrIwwrEsNztU9FNBq9v+O15acRX8dB+J++6HSDFUf1CKObugSxlVk3zeBw+mjvPACCSj5ZPuyQWTZYltSwJLCfMqA1QqJ0Ll2bI1DU6OK1jZ8Ta6owkaRTduUaS/XWXdPUuMss1U0PKUasDbWGV6aw9EmXa9cfPidE+WnGkoH14Sowk4KacCwOuka96Re10xzvz8SGf5y0Qst9mJvvKaP9bGsaaB9cKpV6FugJsA==
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=D5z2Jk8pS0sdY+XAJoGCiLloKydFAn1jSHUoLCMMg0E=;
 b=5bPGpWXdk7MdomlRwEx6XRVBPHGnFzQcLfMg+CG29TDmHpH8YzulAUzIO+ZDo2cNQyKJxvckoi0HW9WFBxnJS0ODWqm06bxr6rQ/tEreQEWf95R+KkaRJGE+qeJ1OwIT6Cgeksd7XU+uk3E8xkbg46P5i//3YR2m3RRw2j7Issg=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <1cc07b74-6222-4c1c-8e57-e710fedf7ff7@amd.com>
Date: Mon, 24 Mar 2025 10:15:02 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/PVH: account for module command line length
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
	<jandryuk@gmail.com>
References: <110f0966-0b89-48d6-b1b3-abae93802c19@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <110f0966-0b89-48d6-b1b3-abae93802c19@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: SA2PEPF00003F66:EE_|LV8PR12MB9689:EE_
X-MS-Office365-Filtering-Correlation-Id: 5548b8dd-a9ef-4f87-2fbd-08dd6ade4a3e
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?bGlyalhWVTlKQ09VbWdZWHZwWURHUmZhUVdjdkFwUndUSW83dzZyRUZqckQ3?=
 =?utf-8?B?WWYyS09JZVNKNVloUGoyOHpjdWtxQlh3VzJtNkRIQzVCZlc0TTBNVno0WUZx?=
 =?utf-8?B?N0UvbHJIMFZyY29iSWI4MkNSVmpXazZVQm04TXF0d3BnRVN1R0hBNVhnL0Ev?=
 =?utf-8?B?N0RPZ28yUXdTWG54WGlRZG9UazJWcC9UVkdlbHk3N2tONHc4R2xTYzVEM0RM?=
 =?utf-8?B?RzAxakdFUm5pbXpSM2JzM2lQQ0xPM0p4TCtxQ1FncVZZVUFTQ0dVaWtBNGgr?=
 =?utf-8?B?YVBwNVl6MkRKRS94bU9NajdsYjRyQnhHKzB0NmRRa0tXUUt3L0IzNDVlZElZ?=
 =?utf-8?B?bmlHZWs2ZHlmVU9GSGRONWVYR2RsWWNpK05wMis2VU5NSmFJRlBiUGwvSWpI?=
 =?utf-8?B?MXNTM29WV2gwNjRDNEpVQWFncnhlNUNIQkRzQXE1VFNEL09UQXk3NFVJdnh4?=
 =?utf-8?B?dHhlT2oyYW5aNloyaGdaN2NQMnhQNUExS1BqSGdlK0N1S21yOWtaN1JyN2d1?=
 =?utf-8?B?SnlvZE9SbUxodEljUmJ4YXRKUkUzMlNWNjgwQVVibHlNSjBadXhSQWlUQ1Iy?=
 =?utf-8?B?VUg2L2g4bmdMZGN0dGtYUTZRazBZSzdLYlViZmhmdjJTMjV0aHpLS0RaOGhG?=
 =?utf-8?B?d3NCclhSTFNnUk9XcmhWNEJKL0RqNXZ3Z3JjaHJMVFdycjNMSGJrQ3BtQUhl?=
 =?utf-8?B?bm5KSHNCNTJscWU3UEp1a0ZjUlJMV085ejJGZHlLL0RSeUF0N09oYWZzQXl0?=
 =?utf-8?B?K3FsbmF2dnk4U2VNc2t3a0hONFo4QXhBQStXM3luWFFRaFJ6cVpBT21Jelpw?=
 =?utf-8?B?UnYxZm8wSkozZUVBN3FqY3RHREhxQXFnbUNuSEYzWWdSQ1dUM3FZU1AwbllT?=
 =?utf-8?B?UnVGYXJ5TEtjcGkrVklxQTMwaVB1UDFweE9XS1RQY2pHSTNaT0p1NUNsNlJl?=
 =?utf-8?B?aW00K1FXZERqUGs2c21rdWZIa3ZISVVLTWxIRmtnMVNrcDVRTDJoejBoYzgx?=
 =?utf-8?B?WXM1Q3BiVThKbjJ0SytNM1FZUERpVGI5aWNLZU5GbnVrWHlUL21iUVhKc2Ni?=
 =?utf-8?B?OVF1dmFmK2NPQVlYejRmNmE5NGpoWXVQMXJjR3J2ZW9SdmFXb3hsWld4ZjFP?=
 =?utf-8?B?TWtWa3FkQmExRm80WjQ0Ly9XOEVaVmgvdkpwZ0JWalY0NnhrYTBnd2Y4bGt6?=
 =?utf-8?B?TmJ3ako3RmthQWswZWRMVzNhamNESE13Q2YvUlkzck1TWCt4dGdHTUhtNUND?=
 =?utf-8?B?OXVhdzdWaXlmREduTVplTDRmWXA5aUU0dnkvbGgraFlwTkR5c2lQdlF4amJl?=
 =?utf-8?B?SkxYWmlYdHVtU3lwSUtqTWNXdUFYTytEOHpXeTZUaTZ3L3NGR1BwSW5VeW5G?=
 =?utf-8?B?a2JtWXFsY0E4dXlJK1lxM014L1A1VFN5cktpQURjMjZQb1B4S3NFcWNXRUJl?=
 =?utf-8?B?QWxjZnlXMDZvdUdtRmZxaHY1Y0xwYXJRMkJJa2pPamRDSnUzeGhyT1FidzlE?=
 =?utf-8?B?cnY3K3VoSThmdVMyUUh1SnllcmlOeTVDamVCeWhjek40c3k0WGlBbnBydXhJ?=
 =?utf-8?B?QXRvSHpwdmxOSmhRalpvRHNTMTlpRnJoK2FQRGxnU0NQaVNqNzMvckg1MUNo?=
 =?utf-8?B?SS9Iemh0VHVLRW40WTljWmNueUZiS2xidFZBSnNObzRkR2pndDJWcDZURFFY?=
 =?utf-8?B?T0tyRlEwYnNndzBFeGZMWTAwZzZqdlZjVGJqdVVHQk5wWG43eUtrbTUxci90?=
 =?utf-8?B?aW81WlQ5N2hvZkU5RFFST0s2eTlRYTlRdEtkWjFFSXJlNEZZNXJpUzAvbHpI?=
 =?utf-8?B?OEFyOTVTalpkSkNBSWJSSmFIcVJSSDZpWDVYZEhNcUlLRVZsZTRJM2o1RTJl?=
 =?utf-8?B?bWJDMVJrZXd3L2JsSnBiOGxMYU0zMmxqM2pNUE9sQzF3M3ZtaTlMeDhDYTlU?=
 =?utf-8?B?cmVsKy95eWdmVng5SWN0S0VVY2wyUnd0MmFlRHNlZE5FT3dreDJXNXFoRWE2?=
 =?utf-8?Q?gD13+2A/Jm9tpNl1rphsN50ltCps80=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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 Mar 2025 14:15:11.6726
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5548b8dd-a9ef-4f87-2fbd-08dd6ade4a3e
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003F66.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9689

On 2025-03-24 08:03, Jan Beulich wrote:
> As per observation in practice, initrd->cmdline_pa is not normally zero.
> Hence so far we always appended at least one byte. That alone may
> already render insufficient the "allocation" made by find_memory().
> Things would be worse when there's actually a (perhaps long) command
> line.
> 
> Skip setup when the command line is empty. Amend the "allocation" size
> by padding and actual size of module command line. Along these lines
> also skip initrd setup when the initrd is zero size.
> 
> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 14:25:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 14:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925668.1328539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twikE-0003RM-Gt; Mon, 24 Mar 2025 14:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925668.1328539; Mon, 24 Mar 2025 14: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 1twikE-0003RF-Df; Mon, 24 Mar 2025 14:25:38 +0000
Received: by outflank-mailman (input) for mailman id 925668;
 Mon, 24 Mar 2025 14:25: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=r2bg=WL=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1twikC-0003R9-MC
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:25:36 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20608.outbound.protection.outlook.com
 [2a01:111:f403:2606::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9031161-08bb-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 15:25:34 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI0PR03MB10614.eurprd03.prod.outlook.com (2603:10a6:800:269::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 14:25: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%4]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 14:25: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: d9031161-08bb-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J12mpLc43AYRLCLos+5xhcpESW4Cxy9FgQN4E1GSjerihuEvWBI+oVPgH55jg4Vh8FCy4P0nu5Hc9Wnq5utrNr5SeGoSlhfyf7Xju4nfyrYYN82EV7pv0ZoLpITRuvxw+X0liaxKblnn3zYaUhYFw/TyvBSYmwOgDrLtCfhsXyPS14QkuxRQGt0zLDkI0kxk2yQ3fw7b+cH5TuUqtrbm0Afh0N2ljWWjcLUpxwU1Zne6Fkg//gSY9Poj7mjxzdifgQPG8YJvRMqPN2ubh0iQf2E75pfCvdxvfAOv667zpakV6Cd4R8ioVb8bVE1N1i+UlN0fp5JcjFVUBdlsMECB+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=BcCoAHYQ5JafEmtZK6LpQgE7WrMUtPnG+SB+M9l0CmQ=;
 b=pEze5qUMaPaDsbPM0S/CMXw7L9hMLlh18ceeyVZLbA4rxzOFNwvd1tBlJwYJnWt2mLC4wefndgRy2qNXf2scIua8Y5Cfpt+qAxrOb5cHgdT2bcqZDh8Oq5b0JQbL1QeSN1L463wMhbUneWY0YrwK4lG+uoxJ7LirbMhWfbg7WUcnj/1JCmpo3nmcP0DfRL4D8FPcNViK4qeE/XHFW8ALWRbwjUEA1wuO5LLL6Wjr7ad9jK3WkZZUDCEDqAjqxHlrRCVLWvNaBYxySRw37o+TGNRjkrhJV/xOWLbFfF9GnOzIL8r1aB4L8WLk1wxnxERFsD6QATt/4YtA1P7EN/pO4g==
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=BcCoAHYQ5JafEmtZK6LpQgE7WrMUtPnG+SB+M9l0CmQ=;
 b=QxCcaX5gwFPveiIq4MtNz3RWx/kNem/7fJV+Rud+n26Jv1y2dm9DMQ/+PpDr6OA6BMS1sLkM0JkbN+vsGPTT4hR/zxBBiFFmvvDHKEMwok2yPhicmIO85+m2cn0yFj8e2usKI+uAo/wLLLOJGcxDeohot1fbWz7ooc2qbnxiFL5uhYxtsNV8GIokcSLSSDU+UxtIntn33+O/sM5fRC8Y1dxHD8Bf+F8HuHZ54gu3zLPK/ZNV4fwH9fr9TLu2/aSD9ztuH4NHfFGlgStT2BsDwB/06UBPPt8HrR1Z3XvNcplx0GaQqRjpd9JABA2+yCm/f2dL4JwtbzJLtPsW2jwpgg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <53758670-ca39-4df2-93be-5dc417231f1d@epam.com>
Date: Mon, 24 Mar 2025 16:25:29 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
To: Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0181.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::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_|VI0PR03MB10614:EE_
X-MS-Office365-Filtering-Correlation-Id: e16e8b95-4d9f-48ed-d56c-08dd6adfbc18
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VGhSUTlScHVDOWpRWUlXbDFNdU5JNHVJbkNXd1dKMWtVeitpcWFWdllmczZh?=
 =?utf-8?B?NmxhTURyRjVSLzB3NWdGRGFkdlczRWxndzIzajZIbEdJZFNFRC9EWWV0THJL?=
 =?utf-8?B?NGR6ZzArTWQxRG9ldWd6cklWVXlpMVhpbU9ZeTZPQmxVVWtkSjhick10T1Vn?=
 =?utf-8?B?bFR6LzhLdzVMcW4yVFNNTWcrdzhpSktZY0g0eVJVSHA5OSs5dzF2d0dWZ1Vy?=
 =?utf-8?B?TXJTTzB6d0diaUhDUVJQSUlGeS8wY3dYa1V5c092bGsrUUFMcVNJSWZrVklr?=
 =?utf-8?B?ZGtSSnNjbk9tTktDcklCZVptRjl3OGQ3ckJYcFM0akRlMEhiR2U2SEtydGpt?=
 =?utf-8?B?WmZtK2ZtVTdmam9nS0hIWWYvRWpVZDE2bE0zYlJVNnE1K1Z4dUlLT29MZVRX?=
 =?utf-8?B?Uk8xMTRPZnV4aTVmKzFnVUNSRC8xWURFOFAza1ZKNmkxelpLb0IrRE40bzBn?=
 =?utf-8?B?M1l3cmpkSk1Jamw2OXFvSTRYeGZQMzRRYWdXRE4xZHlmQVAyMWxWb1VCeGtO?=
 =?utf-8?B?LzFPSDNmNGk0a083TTZpWTZUcmxocGpnelM2SW5SdWVuOVM5cUNBeUFUOXB5?=
 =?utf-8?B?b0FzdXZDT1JoYldOUjlNV1RnVERvSWxJb3lUNGRvUmt0cy9yZDI4WHpXSFVG?=
 =?utf-8?B?T3VZaCtpUWJHMkxJbWd3M21pU2ZHYlFCR0w2TVJNdGYwUTdsZis4U3ZaSVY3?=
 =?utf-8?B?dGdxa0lPY1J4aURYd2tnMWZkUGFsd0dMd3ZqV3gwdWVqdWdPS1dyUXFXOG1j?=
 =?utf-8?B?VkVtWVBWb1llQWVYSlRUc0lPMlpCMU9mTHdqNGtpM0Z2aXRCelVNSkVzWXBY?=
 =?utf-8?B?dG41R1BmbEZTTE1KR2NMR09xRHNkUWlNd084MFhNN1lVb2d4aVFWd0xucmYr?=
 =?utf-8?B?OTEvalFmUVFjMGxHZHo1NWNFWU9hR1E2bjB3T2pBZStONDJDazB3bHd5cmRo?=
 =?utf-8?B?SzE5Q1ArTFdxSU91VDIxbGNxdHVvMTlwbVA5cmNqTGtBMEwzMzVsaW5MdFVD?=
 =?utf-8?B?VUtFeTljRGxBWEYyTVY2c2QxK1Bab2JtU3NVM0NMWHRSQmlhTUpWUG9FSGdw?=
 =?utf-8?B?cTVwb1BJUFAyS2RJRVByL25yb2NHYmdzblRPb0taVnVkZHU0QUtiQ2xQVkhh?=
 =?utf-8?B?K1FKdUZLQjVFYXVZWk5qYnBoZlN6STVvSnNGeW9XUDJNV0EycWNaaklKdS9k?=
 =?utf-8?B?MUN5amRKWEo5Y2Q5QTFLUzcxOXlPQXJVb1JRYVhZTXRsM011aVZId3dncFMx?=
 =?utf-8?B?YUFnNDdqeHJKbXhvNjk4a1M5bmF2QlI1VldTdTJvWkZFZFA4OHF3OVQwREk4?=
 =?utf-8?B?UHNQWHJ6YVA1TFRYVE02a2ViOGdxRjdxYkJiU2MrejNSRGpCNWpJdU4vNGVr?=
 =?utf-8?B?elcxa2ZSUTdGREpEcVBpOVpKQUFBTFVZSUFxVXZnTk4xMnowT0pzZUFONFNs?=
 =?utf-8?B?ODJhZmFZUk1FL01KNUlIcm11OXJobEZIQVZBd2FQQTVsWkdlZHVEQXFoSTBH?=
 =?utf-8?B?KzdTdDZOR0NySDBKM0xnZmVHMkpkeVlwdlpMZ1RwTUZwUmZIbmtGZjYxRTdV?=
 =?utf-8?B?aXo5dEZYSTFPYnpscEpnc0VlNEIwWkV2a2gzZkcxSlJJYndsOWhhdnZZNmxY?=
 =?utf-8?B?MjJyRWt2NENnbUxZMDJIUzNxanF2cncvTE9TZEtsbTV3S21YeGYwNkFQQlNm?=
 =?utf-8?B?RDRkVXZQLzJEWnM1blBscjE0QUw4eEowQVVDSUN4VVBNYVRXblJBbEtFeFcw?=
 =?utf-8?B?SUpUeTQxL3RVSllieDVEampnM1pCdENIbnJ6VzlOZUZZc2gzMitnd1FNQ2U5?=
 =?utf-8?B?MS9udjhPWGxGb2tMQXhGNTIvU1FhOUU1Q2VIU1dDRGRGc2FVb1pqSGY2QVZM?=
 =?utf-8?Q?G/M5K34tmpANd?=
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)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXZtcUZJUnU3TDVuaGtpUjl4MjhLQmZUK1AzZnhmQ0hXdEZMMkdKOCsrSFBy?=
 =?utf-8?B?S0M4VmVjQVlRWEJrR21ib0JuQ0YyTTZkclJWODkyOE1CV1RuV1FYOUFPOEEw?=
 =?utf-8?B?aFFNTkdnV2Z2NVhxM2U2YUlvTFpHUVJ3ekVrYXY4VEp4MGRwWkk0NnZvZnFt?=
 =?utf-8?B?MVZ6ZHFnNmNhby9DWVhXMjJueCs2N29zVVU4NlpVb1NGN01Ga0MvaHNSTVJk?=
 =?utf-8?B?MmV6VnRMczd4UkRta1JzUFI2UjdQNXVKbDBkaWUwL1czTmZ5dEpybmpYTVNm?=
 =?utf-8?B?WjhoRkI4eU1uMUp0Si9kY1JZaE5wSXB4NFhlWm4zWVM2TDltN1YwdkM3UnNu?=
 =?utf-8?B?d1MxTUZ6eExjMFVOdGxLVzR4N3BYZ3poTittRjg2TVpxTis4SkZ1OHlUUmFY?=
 =?utf-8?B?dnc5bHhhelVmSUlJK1NRY1UzQWVRRTNoM2pBSXVvTG1jU0pkRTc4dHl3RWs3?=
 =?utf-8?B?OTB5UnZzVU1Oc3pML2Z5M0dnblIzb3lOaGhuMnNMR2pGVlFBYTJOcDNEZWxv?=
 =?utf-8?B?MmJCNVN5cVpvL1pJMkZIUno1ZkpUN0l3WTRuNnhmVWFxanFCeFBvSnJFZDA5?=
 =?utf-8?B?THJub202S1ZIVE5MUXNwbEJBYkJhVnJQV2Mvb3NtVkJlSERuR2dnMkZhTDBN?=
 =?utf-8?B?NnVGbTNGUkVuZG5LaE1pVDhMZFo0L3loSUFheFUrTzRNd3lnWXBiTVFKWXNG?=
 =?utf-8?B?R0hoYkF3Wlh3TGc3T1dqTG5ubW0vNElCcWNvQzUwRjZqY29nQWswMFM2c3po?=
 =?utf-8?B?aWZSZ2x2ZUJmNFZURVB2aXNnUUx0S3QvWFI1ZGJJazdOVEJKMnRoQ1RlZzUv?=
 =?utf-8?B?SGtTblRseVZEOHZHa3hLVUNXcW45aWdFV2ZhRU1oSHFpOGZGK0YwT2FZTW9r?=
 =?utf-8?B?aytNalQ2cFVaZTJZSGtvL2tuTk5zYVM2cGxuUWpSc1lIZVI0eWdvTDM3cHhF?=
 =?utf-8?B?aFJ1U0JhTURnVTVjaFBVVnQ4L1A4UlZkOW9Zc3RGaytWQ24vWEVxbVVzbFhC?=
 =?utf-8?B?UEdyY0RROEl2U05tUnNPY25MSGpyc0x0K1JSWHk1RU1NWC9xS2svZHgyMCtY?=
 =?utf-8?B?UWtCOTlJSHZwZGFiTlJLTHE5TmZlU2pTTWQwVEdEYmp3OUJmNXFFZlNvNXlm?=
 =?utf-8?B?aE5IRVlrdy9ZU2d1L3JTVDNjeFNaeEo4VU1qUFFRanJKSHR0T3JPWDBrcXli?=
 =?utf-8?B?QmRZOTlkelBEWHpMZ1JsK1JCSkFGTmZRK2xrYzVjTHZlNTNGV3I3TmptY0dq?=
 =?utf-8?B?TFlmdzk3Y2EyY0RHU2ZCb2haNEZpU25GUlplckxPditaQ3dOVjkvZDhBOWJ3?=
 =?utf-8?B?eURVdExIZXhGU3VUUzRpU3lxS2JwRVd2S0l2aEc0TndhT2c5MEZGbWpOUXIr?=
 =?utf-8?B?S3VlZy8wMWhDeXdMUkZGa011QkkvZHJvWkdCVGduUmgxOVEzTXNXUEYzekwv?=
 =?utf-8?B?eVRVdnd2UmFKSitoOThVaFNHQUFmazlSdEFmRURhbC9XempVU0VnNUZad1I2?=
 =?utf-8?B?U0ZmdmFQRnkwWlBiZGllVENBTlowT2g1TXJ2Q29rR0xtUndoMFNnREd3ZWQz?=
 =?utf-8?B?MEZRSjczK3MvV281b0U0TklhREdlOUpvTUlpK2J0ZyttVmZuWVRVQTczUWVo?=
 =?utf-8?B?Wk8xMjNMeHBRVG1lUFlra3VmN04wM1Y5OFZWT2JNUGxsOHlHWTl5SHYvMk56?=
 =?utf-8?B?Q0dYZkllNktmeEluRnFwNytCSkl4SllWODZ5MHBLcXJjN3AyNUp2ZDd6SHA0?=
 =?utf-8?B?R25PRzI0MDRiMlIvWUlscHhPcmpVL0pLUWs2V2p2aStjMWt6T0xOaHFPR2hu?=
 =?utf-8?B?bmpOMTAwM3M0Nm91UUI1V09XOGNOSFMzMEplaVhPejA0eXNrZmpkbzJVMnVX?=
 =?utf-8?B?cmF3N0RGVWY0RnlRTnNNK1U4ckhabFgydmFaZWJHT0JubnI4YTZ2emZPY2xn?=
 =?utf-8?B?YzZkeGRnZVJVTjV1VEY2d1NWTUJEaDhKaHlxMksxanVrVk9BcEVHMC9aVVor?=
 =?utf-8?B?SjNwSkpicUpsMW1ja05ldXJ3Rm94cXk0M1NvcWo0YW1iYTdXc2VPNEJweXVY?=
 =?utf-8?B?KzR5MHZFWWIwR1R3SmprVEJGOVl1NDFqMi9KbVVWeVo5ZjNubUVmMUpNaHdx?=
 =?utf-8?B?VXUydXBnT3R4YTZ0UW55SHgzN2Y0bER2bkxRa1JuaWd0ZDlpSWo5N2JtbGRD?=
 =?utf-8?B?TVE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e16e8b95-4d9f-48ed-d56c-08dd6adfbc18
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 14:25:32.4062
 (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: NG1ZDSV4HCHYiq/b1RpgAwv7EHoFa/e2YYSkAY5JhSP8IdCLfM3s/HoQq8ZvOlwFy4AgUANgts1LhrVDF3TNiEVmv0Zi519/Ot1UZip4nXs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10614

Hi Jan,

Thank you for your comments.

On 11.03.25 13:43, Jan Beulich wrote:> On 11.03.2025 12:16, Grygorii Strashko wrote:
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -526,6 +526,12 @@ S:	Supported
>>   F:	xen/arch/arm/include/asm/tee/
>>   F:	xen/arch/arm/tee/
>>   
>> +SCI MEDIATORS
>> +M:	Oleksii Moisieiev <oleksii_moisieiev@epam.com>
>> +S:	Supported
>> +F:	xen/arch/arm/sci
>> +F:	xen/include/asm-arm/sci
>> +
>>   TOOLSTACK
>>   M:	Anthony PERARD <anthony.perard@vates.tech>
>>   S:	Supported
> 
> Please can you respect alphabetical sorting in this file?
> 
>> @@ -851,6 +852,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>       case XEN_DOMCTL_deassign_device:
>>       case XEN_DOMCTL_get_device_group:
>>           ret = iommu_do_domctl(op, d, u_domctl);
>> +
>> +        if ( ret >= 0 || (ret == -EOPNOTSUPP) || (ret == -ENODEV) )
>> +        {
>> +            /*
>> +             * TODO: RFC
>> +             * This change will allow to pass DT nodes/devices to
>> +             * XEN_DOMCTL_assign_device OP using xl.cfg:"dtdev" property even
>> +             * if those DT nodes/devices even are not behind IOMMU (or IOMMU
>> +             * is disabled) without failure.
>> +             */
>> +            ret = sci_do_domctl(op, d, u_domctl);
>> +        }
>>           break;
> 
> Despite the comment I fear I don't understand what you're trying to do here.

It enables in toolstack "Device specific access control" function, which is implemented in SCI FW.
SCI FW has privileged management interface assigned to Xen,
and non-privileged interfaces assigned to guest (VM) and identified by agent_id.

SCI FW manages access to HW resources clocks, resets, etc, which considered shared and
which can't be accessed from multiple domains due to HW limitations.
SCI FW can also manage safety specific resources like HW firewalls for example.

Each device identified by device_id and can have HW resources assigned to it
device_id_res = {clk_1, clk_2, reset_1, pd_1 } - FW implementation specific.

Device can be assigned:
1) to any VM, but only to one - dynamic configuration;
2) only one, specific VM identified by agent_id - static configuration.
The policy is FW implementation specific.

Here and below the case (1) is considered, while in the case (2) - nothing need to be done.
To enable VMx access to device_id (and its resources) the special request need
to be sent to the FW management interface to get device_id accessible from VMx.

In case of SCMI, ARM System Control and Management Interface (SCMI)
specification (DEN0056E) - functionality defined in sections
4.2.1.1 Device specific access control
4.2.2.11 BASE_SET_DEVICE_PERMISSIONS

The HW configuration described in device tree, like in the below example
(abstract, not related to any specific FW, but principle is generic)

Host DT:
/sci_fw {
	#access-controller-cells = <1>;
	#reset-cells = <1>;
	#clock-cells = <1>;
	#power-domain-cells = <1>;
}

/soc/deviceA {
	clocks = <&sci_fw 1>, <&sci_fw 2>;
	power-domains = <&sci_fw 1>;
	resets = <&sci_fw 1>;
	access-controllers = <&sci_fw 0>;
}

To trigger SCI FW it required to pass Host DT device path "/soc/deviceA" down
to the corresponding SCI FW driver during domain creation by toolstack.
And it has to be done as for devices behind IOMMU, as for devices
not protected by IOMMU.

To achieve above xl.cfg:"dtdev" property was selected to be used due to:
- xen doc says
"
Specifies the host device tree nodes to pass through to this guest.
Each DTDEV_PATH is an absolute path in the device tree.
"
- toolstack triggers XEN_DOMCTL_assign_device(XEN_DOMCTL_DEV_DT) hypercall
nothing from above says it's strictly limited to IOMMU-protected devices only.

But now ARM XEN_DOMCTL_assign_device actually limited to IOMMU-protected devices
and will return to toolstack:
-EOPNOTSUPP if iommu is not enabled
-EINVAL if DT device is not IOMMU-protected

in both cases toolstack will fail.

Idea behind this change (and change in iommu_do_dt_domctl()) is to enable
XEN_DOMCTL_assign_device(XEN_DOMCTL_DEV_DT) and so xl.cfg:"dtdev"
for DT devices which
- IOMMU-protected only (has "iommus" property)
- require device access control (has "access-controllers" property)
- both


> In any event you may not clobber the original "ret", if all you do is some
> "add-on".

I'll check and rework return code handling.

>> --- a/xen/include/asm-generic/device.h
>> +++ b/xen/include/asm-generic/device.h
>> @@ -18,6 +18,7 @@ enum device_class
>>       DEVICE_IOMMU,
>>       DEVICE_INTERRUPT_CONTROLLER,
>>       DEVICE_PCI_HOSTBRIDGE,
>> +    DEVICE_ARM_SCI,
>>       /* Use for error */
>>       DEVICE_UNKNOWN,
> 
> This is a generic header - I don't see how anything arch-specific could
> validly end up here.

Huh. Not a long time ago it was ARM specific only.

I could rename it to DEVICE_SCI, or may be to even more generic one DEVICE_FIRMWARE.


[...]

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 14:26:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 14:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925675.1328549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twikl-0003wf-Sx; Mon, 24 Mar 2025 14:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925675.1328549; Mon, 24 Mar 2025 14:26: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 1twikl-0003wX-Pj; Mon, 24 Mar 2025 14:26:11 +0000
Received: by outflank-mailman (input) for mailman id 925675;
 Mon, 24 Mar 2025 14:26: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=r2bg=WL=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1twikl-0003R9-D1
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:26:11 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2608::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edd122eb-08bb-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 15:26:09 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI0PR03MB10614.eurprd03.prod.outlook.com (2603:10a6:800:269::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 14:26: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%4]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 14:26: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: edd122eb-08bb-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qsgvGmyGnvnW6Y+C3OLioLo/+MH8YTstEZi+wJlA+mby0GVNbvXDv+jEV2sKijLgdQYRTwJMaHXbzL0XOcdC7tgyWvNw6Ipt+YeLqQ1mGfsc9Xu+pGjF3CsmmDxGnVBDNRkk7ftPfhYfeg11T2tzbDooi4CEUg8JjiJkdzaVek/RT+dM3yz+0Mfi+B7QmMMFL+ZwNo1FPu7r+4uDsO0FJChtM1PQC1MMDyH91yc2UE/38SF0nRITaMhWNK1hno2rja1T26KbmRWMq/BsJFDCoSnhYsIFQlbX0jmJP2BZlKcwACIxdWkdnBGqbMnG9wWPhzpUsnHLTlSAJTMgin1CSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ev5Yrp6IKkRDOHqOBu41JDi2dZduy87umjASo109ChU=;
 b=ZWhwI3ibwbhD4y5Jo371rYTJEz909LkuXGQ78tkHsh3ATUSk4uLzyh3qGorjPhoWO3mA02l3GHul/rwG+Kx4c61RSCLexY8LRPnK0X44XPY7g85b03AoP+LMeEW+ZtS81JSW/RhEXwTmNUFT7Z379kVWu95FSMFnYcRGaJSQNVb3ANAQBl928GgCAnLhk6D6ab15wQFEaX2dvuHKd5N3x6laUzkwHif5KpGxa0q/ouX9n4zg6rlb6CgaJAMYw+P+hzLW/7SE7a0TnNZsrXZ2ZUg0Kn10a5FNnWjbWKjTb3/geHPY/9C9Yg/bBV+B4kE5WgmEPg9cv9tD5qYrrt5zZw==
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=ev5Yrp6IKkRDOHqOBu41JDi2dZduy87umjASo109ChU=;
 b=OUEc/yNePecS9ihH7a46l0AWowIfqn07ZAIxUzDuC5ykc6YhKC2OI8Y9x/umI5isNuEprDRyZX3RC88u+uUb32Bae1l0rDYycHoXvDQbi1IBtMgAGCRgutaMQ6kvbfvJOjWA03EMrypJSWt6cp1/q4g+CRgBoDQa2+dO8J8DDfs7x2uneJ0onQSIE2o0TeDNfQwwgIMu7ZSVrfjOHpFdzqt8LjHz6IOM+MSN+zUnwGrB7GBl+tWyiHrVxIq7SslRSI5zF4XGtALod6xawFs+23wpW8mseTYjweUknal5jkXjvGqkv7Javnw5kh1I8b15kumMRXpnUKrCQE84Sp59bg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <0067c253-77c4-495e-b671-b5423fec3346@epam.com>
Date: Mon, 24 Mar 2025 16:26:05 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
To: Stefano Stabellini <sstabellini@kernel.org>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross <jgross@suse.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <alpine.DEB.2.22.394.2503131525460.3477110@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <alpine.DEB.2.22.394.2503131525460.3477110@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::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_|VI0PR03MB10614:EE_
X-MS-Office365-Filtering-Correlation-Id: dbf3f999-7eaf-4669-c846-08dd6adfd0f1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dWtZY09tcG0rRUNmdHAzWnk4WjB2OW5ZVUM1STdjbTF1b1lHZTIrSWo1SE0z?=
 =?utf-8?B?U1gzaDlNeFdjdUx4M2ZQbWRwSUlybklKK0ZaTk1GV0t3WTNIWFArWEpZdGVt?=
 =?utf-8?B?bjlidzlxRDkyMW1KRjZCYmVFWUtQVlQ2UlpDSGJuUUN1ZDQrSmFTZHJjbndC?=
 =?utf-8?B?M05mc3VnRGtJdDU3bjNuT3BRZ1QyN05tZXBxd3BXdnJ4aUlBZWZTVHVoM3pu?=
 =?utf-8?B?ZnZ1cTR3L3VJcU1YWng2cXVQdVJObWw3dVJEdjc3a3o0MlhOYVlMZWM3SmZN?=
 =?utf-8?B?ZWpKWTgxb2tVZlFtdnVPQ3FyU3g3bU1qNGNaV2YwS0luMURaKzQzS21QVGtq?=
 =?utf-8?B?RSt3VnhjdnlhTFkvNGxVQnBQNTJNczd1NmJWVlJMajRmWXF5eU1KOGNjNThH?=
 =?utf-8?B?VlE4UUlwWlpTS20wKzRENCtyM0xpQlR5MHdYdCtFVW54c25rRkFBN1pyREp5?=
 =?utf-8?B?M2UzbzlMRjdXVjg3SWswU2JEMVJaNHVxUDdCQlNmMHAwK3JUdEFMN0RUNmNk?=
 =?utf-8?B?TDdYQTdhYTRONHVkcUF5SFoybTdzM1QvRzNTTHgyZzZaakx2RklZZ0VPeDIy?=
 =?utf-8?B?a0trbmlIUnRod3UycHp3ekFMVUMrTFl0VXJ2MTg0QTUvRkx4UytqWm9pWmtt?=
 =?utf-8?B?N2dyV0dIVzhhR0pScE4zbUVRSUVRZXdpNVJxL3ZqS0ZQOEQ1QTczejUzTW01?=
 =?utf-8?B?eTBWd1pyV1htRnRRbUR3S29aSTlzOGwvNjk2NE1UMTY0MjVLZnovY290Zlh4?=
 =?utf-8?B?TzVMR1RkVEVjdkFVVEJiOTVEb1MzeUhJNXJlOTU0NDFpd1B6OXFGTnlFODF0?=
 =?utf-8?B?amcvbFo2SmZrbkxCcWdKbFdMMjdzZjVoeWZ5cHlhelRCNDFtTHhWaWxCYklp?=
 =?utf-8?B?VGtlbWpHNm5KVHdMbWxvR2xTUlcxWFlRdVZkL2c3djNmWXh5dHZQbGVoOXJk?=
 =?utf-8?B?OTVNSVYzSVF5YXJQWXNETVNlNlUwblozNHhKdHBOckRQc3o2YnZlVG1WZFVG?=
 =?utf-8?B?MWZmaG5HV0ErSjRTcTdER1VHUk40amF2bFpWNWhUWHNTVndSdFBJdVp6bzBx?=
 =?utf-8?B?d1B3S0pPaGRxc0hlRGNHTTBoRHZ5MEJUWjNvM1Y5UFAzZW9iMVR1bllzSUVn?=
 =?utf-8?B?RCtRdVg2YVR4dTVJV2hmM3pFUUZrZ2ErVjJhbzJQSnd0MXBaQVg2cHk5OGJW?=
 =?utf-8?B?UHM0ekxPQitUcTRvcDlpaTA1dEt5eUxHcFJPMXlYRThUZzBVM05hMjM0cnUx?=
 =?utf-8?B?anp4MVVqMTJDWEV6U0UxbDdLRldoRHI4dlBhZkZ0QVBmdmo2Wm1jL1h0MDNF?=
 =?utf-8?B?TzlyRlNoMlBJKzZEb3RXcnZCRi9yUVIvYUR2WnJLaFBhOENqNlhvbGR2WndY?=
 =?utf-8?B?MnpDcXZuOVc2aktPcTAvZHFzWTBPOEFrU054WVNDTnFlajF5UVQzWGtFckty?=
 =?utf-8?B?bGNaZGQ1TkVkeHlFTHgwUmFqRjFoeXZxbWUrM2djNlE3MkltYmNpZlFmUUhE?=
 =?utf-8?B?alFGNHhpRzBQMUs5S3dSK0xkOWlzb0laUDZGTGUzZm9pcEJXMlRMVnBZTlBJ?=
 =?utf-8?B?UndSMkNjSzAyVEpFZGU0YzhLNmlNS0dUYTVtUlFBMWxoK0ZPaTZoRC9iMXVl?=
 =?utf-8?B?NjZUUE9MeE5ETlpLY1o5aGQvQXlSY0p3WXZXR0w0TUE4Wi85ZUV5a3U1aXh0?=
 =?utf-8?B?aHpiYUNQZU9xcVlBSEpEVmo1WStSZjF2ak1ucUVxTndvdGlQN1RVbVB5Smhh?=
 =?utf-8?B?T0hUNlJiY2pHTFB5ZG9FSzh3VnRmQVF1QnQrd0ZydURpaFJvd3NyMHcrcUQ5?=
 =?utf-8?B?cGptS2J0RFpVUDRyYjhJajNSOWFFRVhPdFo0dFBtN3BQZHl3VkhZcklBeGkz?=
 =?utf-8?Q?tHnEQEuGo9auL?=
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)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RDQyNXo1VG9xME85VnpKYi9kSHpPaXh2ekhVVHdNZTNmekJmZ0t2QTlsdkR3?=
 =?utf-8?B?czIzc1BwSnhBN0tFZHl2UnIvUlAwQlRPbXI4WUZ0NVRQVW4wSUtRYjhUNS9w?=
 =?utf-8?B?eGkzRHJyOW50dEVZbVlnMDYyUnFSUlZsZ08xaWY1S3VpZFNQTFRUckVJaGVS?=
 =?utf-8?B?a0kvNFcxWUdqcVNwS0tENmRXK1JscDUyQ2w3MGZwWmlGYmNCREczSkR6U0tz?=
 =?utf-8?B?TzlsV2NoMUZPekRLb21RUkpZSlZLK2Vpektsc2VZeW9HV1pKVFFNNlZVdTE5?=
 =?utf-8?B?Njh0M2d6Y1FLOGFFcXRmdWZFS0MvUkhjbjhtaXdCRFd2ZytrVmY0T0xCb055?=
 =?utf-8?B?Vm9MbU9meTk1ZTJsWU9xZ2FrNm5LQzVKWmpKaER2aDA5VHBOSGxPRnJxTlkw?=
 =?utf-8?B?OXVZVmhRd2QxK1cydkZlQzVGY0FlUFVMZmQ4SWwwWVVLb1lOUHpoa1B6TXd6?=
 =?utf-8?B?aG5TQ3pra2xxczNlQlRFQksrSHVSeXN3bSt5bEdYc1hjcVJrS2RMeU5kbSs1?=
 =?utf-8?B?L2p2QytZWmNoNytHUktQTEpzcVQvL3dJZC9wSjRxdDgwbnJUeTVpUlpFQW1l?=
 =?utf-8?B?cFFzN09RRTVqaGx6RUkwSGNZVnN1SE8zbGRncm9WNGhtWnYzYWFuY0xLUUZR?=
 =?utf-8?B?aDh5M2dsQU5DVXYzbWNKb1dUWkF3aEZxOFUvaVE3cTBOUUpVVnJKbDI3VTBy?=
 =?utf-8?B?T0J3NHhOMFdHZHNUQStrRjRXMnNDNTRHeHFOSGo0Q0JWL1AvckE5eDZ0QUxn?=
 =?utf-8?B?WVJuak1JNlFLQ2tLbkJGSGJsM0hZdERqYVpldnlhTm1tdFZwNzkvbUxpN2dM?=
 =?utf-8?B?ajNjU24rd2lEb1N5NXZUa0U5WTJjUTQwek41WWJXQ1Vha3BIdVFNYkFlMUlL?=
 =?utf-8?B?NWJvNjUrL0tQcWJiY0V3aHhOOEsxVkwrQVZSaVIrZGRueFlBMXJZU1RONmRX?=
 =?utf-8?B?ZWFHNjFqUmVXTk9zUFNBUThjS0lEWldJa1pmR3RxZ2RnNnVaNnFhUUZxYjN1?=
 =?utf-8?B?OWRzY29ESnZjVWwyQ0dLSXpSQUFGZnhjOFNrQlhObDZaVlphSnlSTWJHVGRP?=
 =?utf-8?B?WmQ1ZDFQZDMrelZiTkovejZOUmE3NStzb1dIYy9scm9uZjRlRXJTS1F1Qklt?=
 =?utf-8?B?VXY3MVhjR3JLOHlUc3IvNmFZSGFTMUFsTDBTNFBYS2RHVkpib0pITnc4OTZJ?=
 =?utf-8?B?S0UyVE1yVk9sdW5KOVgzQytmTlE3V1g0TVlxaVdnT0o1eFZBY3BWQnU3M1dm?=
 =?utf-8?B?NUF5YkRFNnRrZUJKSG9DelhSMzR4WXcyVXl0UVNxNmh2SWZpa01TdDA4K2VP?=
 =?utf-8?B?cXVGN0ZIQXF3dDFOQ25qUlhEV0RkTHF3Rk1MLzZxd0o3UTlJWWN0TUhvUWFN?=
 =?utf-8?B?S054ZkVIKy84SmRZdnBtMEdnSStiS2ZVanNETm1VVENQVGV2RDhieWJRV3JF?=
 =?utf-8?B?S2lzWWN4TjJ2T3d0SFRLRW01U3QrZG5RUzBKSXJTN3VjcGphV014Wi85b2Jo?=
 =?utf-8?B?dXIyMmlURkhvQU1SWlB6amE2d2hnb0JWTzExZ0o1SEFuNEh4REtSc0V6MXRO?=
 =?utf-8?B?cXdaTlJtY1ZVQnBocnlPelh3RTZ3bDRhUWpJbnVOMGJzWWhHRFE3bmd0N0hZ?=
 =?utf-8?B?YnBoVDQ3WTgyMC9OK0IrUGJFWGp0bysvczdvZTR0YVF1TGg3dlpxZkNjZEdq?=
 =?utf-8?B?c21rK09WbVg5eUFua05hOE5xeGhFVyszWDdWbHpKSE9yc2ZYdWozYkNSUTl3?=
 =?utf-8?B?ZUo0allSZmtpRXdkNDJqNzd1c3VEMFExc1dQaXgvSGdjVE44VERUS1c5d3Q0?=
 =?utf-8?B?cHptZ2J3OWlxSUpYZFVMdFFKRFNkODV3c2piZHk3eER4QnhLN01RT3VTVW9K?=
 =?utf-8?B?TWY3L01BbkgvUGNqVlBYYWwraDY2bHJ0S2JHdmQ2bHdFUGlqNHBDUnNHaUFP?=
 =?utf-8?B?YUZzSjFhNmlhN1VGWlZ0ODRkczZmaEpjUDJxTFFsb3ZXSHZpY3BCZHJyZTVx?=
 =?utf-8?B?WUZyTGRNWDNDT28yYWQwZmFRNlJtSjVreUJ0RU12c2lFUWJkMEI2ZWpadmZ1?=
 =?utf-8?B?YXVockh2QlR0dlVZc28wcUYvcmY0djE1Y1VmUkhoOFhXTmtnMXI5RG9aVVcz?=
 =?utf-8?B?OHZiYTR3WU04c3ljNmpiekJSR1ZtdjF5bU81RFJzdTVlY0wyd3NMcUhxYlZZ?=
 =?utf-8?B?Tmc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dbf3f999-7eaf-4669-c846-08dd6adfd0f1
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 14:26:07.3392
 (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: hIg9M28Hz+8PJRb84AEpJ93q/8zYX/tj/rcTjGlu69vK13QupStHJ7Z3kVmo0mtGudeEaF3iqeKmmWneJm9VFGWPU/Qf+o5OKiTsG8CHgRM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10614

Hi Stefano,

Thanks for your comments.

On 14.03.25 01:48, Stefano Stabellini wrote:
> On Tue, 11 Mar 2025, Grygorii Strashko wrote:
>> From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
>>
>> This patch adds the basic framework for ARM SCI mediator. SCI is System
>> Control Interface, which is designed to redirect requests from the Domains
>> to ARM specific Firmware (for example SCMI). This will allow the devices,
>> passed-through to the different Domains, to access to the System resources
>> (such as clocks/resets etc) by sending requests to the firmware.
>>
>> ARM SCI subsystem allows to implement different SCI drivers to handle
>> specific ARM firmware interfaces (like ARM SCMI) and mediate requests
>> between the Domains and the Firmware. Also it allows SCI drivers to perform
>> proper action during Domain creation/destruction which is vital for
>> handling use cases like Domain reboot.
>>
>> This patch introduces new DEVICE_ARM_SCI device subclass for probing SCI
>> drivers basing on device tree, SCI drivers register itself with
>> DT_DEVICE_START/END macro. On init - the SCI drivers should register its
>> SCI ops with sci_register(). Only one SCI driver can be supported.
>>
>> At run-time, the following SCI API calls are introduced:
>>
>> - sci_domain_sanitise_config() called from arch_sanitise_domain_config()
>> - sci_domain_init() called from arch_domain_create()
>> - sci_relinquish_resources() called from domain_relinquish_resources()
>> - sci_domain_destroy() called from arch_domain_destroy()
>> - sci_handle_call() called from vsmccc_handle_call()
>> - sci_dt_handle_node()
>>    sci_dt_finalize() called from handle_node() (Dom0 DT)
>>
>> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
>>   MAINTAINERS                             |   6 +
>>   xen/arch/arm/device.c                   |   5 +
>>   xen/arch/arm/dom0less-build.c           |  13 ++
>>   xen/arch/arm/domain.c                   |  12 +-
>>   xen/arch/arm/domain_build.c             |   8 +
>>   xen/arch/arm/firmware/Kconfig           |   8 +
>>   xen/arch/arm/firmware/Makefile          |   1 +
>>   xen/arch/arm/firmware/sci.c             | 187 +++++++++++++++++++++
>>   xen/arch/arm/include/asm/domain.h       |   5 +
>>   xen/arch/arm/include/asm/firmware/sci.h | 214 ++++++++++++++++++++++++
>>   xen/arch/arm/vsmc.c                     |   3 +
>>   xen/common/domctl.c                     |  13 ++
>>   xen/drivers/passthrough/device_tree.c   |   7 +
>>   xen/include/asm-generic/device.h        |   1 +
>>   xen/include/public/arch-arm.h           |   4 +
>>   15 files changed, 486 insertions(+), 1 deletion(-)
>>   create mode 100644 xen/arch/arm/firmware/sci.c
>>   create mode 100644 xen/arch/arm/include/asm/firmware/sci.h
>>

[...]

>> +/*
>> + * Generic part of the SCI (System Control Interface) subsystem.
>> + *
>> + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
>> + * Copyright (c) 2025 EPAM Systems
>> + */
>> +
>> +#include <xen/acpi.h>
>> +#include <xen/errno.h>
>> +#include <xen/init.h>
>> +#include <xen/sched.h>
>> +#include <xen/types.h>
>> +
>> +#include <asm/firmware/sci.h>
>> +
>> +static const struct sci_mediator_ops __read_mostly *cur_mediator;
>> +
>> +int sci_register(const struct sci_mediator_ops *ops)
>> +{
>> +    if ( cur_mediator )
>> +        return -EEXIST;
>> +
>> +    if ( !ops->domain_init || !ops->domain_destroy || !ops->handle_call )
>> +        return -EINVAL;
>> +
>> +    cur_mediator = ops;
>> +
>> +    return 0;
>> +};
>> +
>> +bool sci_handle_call(struct cpu_user_regs *args)
>> +{
>> +    if ( unlikely(!cur_mediator) )
>> +        return false;
>> +
>> +    return cur_mediator->handle_call(args);
>> +}
>> +
>> +int sci_domain_init(struct domain *d, struct xen_domctl_createdomain *config)
>> +{
>> +    if ( !cur_mediator )
>> +        return 0;
>> +
>> +    return cur_mediator->domain_init(d, config);
>> +}
>> +
>> +int sci_domain_sanitise_config(struct xen_domctl_createdomain *config)
>> +{
>> +    if ( !cur_mediator )
>> +        return 0;
>> +
>> +    if ( !cur_mediator->domain_sanitise_config )
>> +        return 0;
>> +
>> +    return cur_mediator->domain_sanitise_config(config);
>> +}
>> +
>> +void sci_domain_destroy(struct domain *d)
>> +{
>> +    if ( !cur_mediator )
>> +        return;
>> +
>> +    cur_mediator->domain_destroy(d);
>> +}
>> +
>> +int sci_relinquish_resources(struct domain *d)
>> +{
>> +    if ( !cur_mediator )
>> +        return 0;
>> +
>> +    if ( !cur_mediator->relinquish_resources )
>> +        return 0;
>> +
>> +    return cur_mediator->relinquish_resources(d);
>> +}
>> +
>> +bool sci_dt_handle_node(struct domain *d, struct dt_device_node *node)
>> +{
>> +    if ( !cur_mediator )
>> +        return 0;
>> +
>> +    if ( !cur_mediator->dom0_dt_handle_node )
>> +        return 0;
>> +
>> +    return cur_mediator->dom0_dt_handle_node(d, node);
>> +}
>> +
>> +int sci_dt_finalize(struct domain *d, void *fdt)
>> +{
>> +    if ( !cur_mediator )
>> +        return 0;
>> +
>> +    if ( !cur_mediator->dom0_dt_finalize )
>> +        return 0;
>> +
>> +    return cur_mediator->dom0_dt_finalize(d, fdt);
>> +}
>> +
>> +int sci_assign_dt_device(struct domain *d, struct dt_device_node *dev)
>> +{
>> +    struct dt_phandle_args ac_spec;
>> +    int index = 0;
>> +    int ret;
>> +
>> +    if ( !cur_mediator )
>> +        return 0;
>> +
>> +    if ( !cur_mediator->assign_dt_device )
>> +        return 0;
>> +
>> +    while ( !dt_parse_phandle_with_args(dev, "access-controllers",
>> +                                        "#access-controller-cells", index,
>> +                                        &ac_spec) )
>> +    {
>> +        printk(XENLOG_DEBUG "sci: assign device %s to %pd\n",
>> +               dt_node_full_name(dev), d);
>> +
>> +        ret = cur_mediator->assign_dt_device(d, &ac_spec);
>> +        if ( ret )
>> +            return ret;
> 
> I am confused by this: we are passing a reference to the controller
> rather than to the device to be assigned?

At this moment the Host DT is parsed as specified by access controllers bindings

	access-controllers = <&sci_fw [parameters]>;

and "ac_spec" contains
- np : access controller node, which should correspond SCI FW device node if it serves as
   access controller.
- args_count/args : DT device parameters to be passed to access controllers

In case of, SCI SCMI that's enough to perform device assignment - args[0] == device_id


> 
> 
>> +        index++;
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>> +int sci_do_domctl(struct xen_domctl *domctl, struct domain *d,
>> +                  XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>> +{
>> +    struct dt_device_node *dev;
>> +    int ret = 0;
>> +
>> +    switch ( domctl->cmd )
>> +    {
>> +    case XEN_DOMCTL_assign_device:
>> +        if ( domctl->u.assign_device.dev != XEN_DOMCTL_DEV_DT )
>> +        {
>> +            ret = -EINVAL;
>> +            break;
>> +        }
>> +
>> +        ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
>> +                                    domctl->u.assign_device.u.dt.size, &dev);
>> +        if ( ret )
>> +            return ret;
>> +
>> +        ret = sci_assign_dt_device(d, dev);
>> +        if ( ret )
>> +            break;
>> +
>> +        break;
>> +    default:
>> +        /* do not fail here as call is chained with iommu handling */
>> +        break;
>> +    }
>> +
>> +    return ret;
>> +}
>> +
>> +static int __init sci_init(void)
>> +{
>> +    struct dt_device_node *np;
>> +    unsigned int num_sci = 0;
>> +    int rc;
>> +
>> +    dt_for_each_device_node(dt_host, np)
>> +    {
>> +        rc = device_init(np, DEVICE_ARM_SCI, NULL);
>> +        if ( !rc && num_sci )
>> +        {
>> +            printk(XENLOG_ERR
>> +                   "SCMI: Only one SCI controller is supported. found second %s\n",
>> +                   np->name);
>> +            return -EOPNOTSUPP;
>> +        }
>> +        else if ( !rc )
>> +            num_sci++;
>> +        else if ( rc != -EBADF && rc != -ENODEV )
>> +            return rc;
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>> +__initcall(sci_init);
>> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
>> index f1d72c6e48df..fa0898b7cf80 100644
>> --- a/xen/arch/arm/include/asm/domain.h
>> +++ b/xen/arch/arm/include/asm/domain.h
>> @@ -118,6 +118,11 @@ struct arch_domain
>>   #ifdef CONFIG_TEE
>>       void *tee;
>>   #endif
>> +#ifdef CONFIG_ARM_SCI
>> +    bool sci_enabled;
>> +    /* ARM SCI driver's specific data */
>> +    void *sci_data;
>> +#endif
>>   
>>   }  __cacheline_aligned;
>>   

[...]

>> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
>> index 62d8117a120c..51b3c0297314 100644
>> --- a/xen/arch/arm/vsmc.c
>> +++ b/xen/arch/arm/vsmc.c
>> @@ -12,6 +12,7 @@
>>   #include <public/arch-arm/smccc.h>
>>   #include <asm/cpuerrata.h>
>>   #include <asm/cpufeature.h>
>> +#include <asm/firmware/sci.h>
>>   #include <asm/monitor.h>
>>   #include <asm/regs.h>
>>   #include <asm/smccc.h>
>> @@ -300,6 +301,8 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
>>               break;
>>           case ARM_SMCCC_OWNER_SIP:
>>               handled = handle_sip(regs);
>> +            if ( !handled )
>> +                handled = sci_handle_call(regs);
> 
> Isn't there a proper funcid range for SCI calls?

Unfortunately no. The ARM DEN 0028B "SMC CALLING CONVENTION" spec only defines the
range

Table 6-2
0x82000000-0x8200FFFF SMC32: SiP Service Calls
0xC2000000-0xC200FFFF SMC64: SiP Service Calls

And in Linux Kernel mainline I can see:

./arm64/boot/dts/freescale/s32g2.dtsi:		arm,smc-id = <0xc20000fe>;
./arm64/boot/dts/freescale/s32g3.dtsi:		arm,smc-id = <0xc20000fe>;
./arm64/boot/dts/freescale/imx8ulp.dtsi:	arm,smc-id = <0xc20000fe>;
./arm64/boot/dts/amlogic/amlogic-c3.dtsi:	arm,smc-id = <0x820000C1>;
./arm64/boot/dts/st/stm32mp251.dtsi:		arm,smc-id = <0xb200005a>;
./arm64/boot/dts/blaize/blaize-blzp1600.dtsi:	arm,smc-id = <0x82002000>;
./arm64/boot/dts/rockchip/rk356x-base.dtsi:	arm,smc-id = <0x82000010>;
./arm64/boot/dts/rockchip/rk3588-base.dtsi:	arm,smc-id = <0x82000010>;
./arm64/boot/dts/rockchip/rk3576.dtsi:		arm,smc-id = <0x82000010>;


> 
> 
>>               break;
>>           case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
>>           case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
>> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
>> index 05abb581a03d..b48ad20a6e2b 100644
>> --- a/xen/common/domctl.c
>> +++ b/xen/common/domctl.c
>> @@ -27,6 +27,7 @@
>>   #include <xen/vm_event.h>
>>   #include <xen/monitor.h>
>>   #include <asm/current.h>
>> +#include <asm/firmware/sci.h>
>>   #include <asm/irq.h>
>>   #include <asm/page.h>
>>   #include <asm/p2m.h>
>> @@ -851,6 +852,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>       case XEN_DOMCTL_deassign_device:
>>       case XEN_DOMCTL_get_device_group:
>>           ret = iommu_do_domctl(op, d, u_domctl);
>> +
>> +        if ( ret >= 0 || (ret == -EOPNOTSUPP) || (ret == -ENODEV) )
>> +        {
>> +            /*
>> +             * TODO: RFC
>> +             * This change will allow to pass DT nodes/devices to
>> +             * XEN_DOMCTL_assign_device OP using xl.cfg:"dtdev" property even
>> +             * if those DT nodes/devices even are not behind IOMMU (or IOMMU
>> +             * is disabled) without failure.
>> +             */
>> +            ret = sci_do_domctl(op, d, u_domctl);
>> +        }
>>           break;
>>   
>>       case XEN_DOMCTL_get_paging_mempool_size:
>> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
>> index 075fb25a3706..f2ee0a72f541 100644
>> --- a/xen/drivers/passthrough/device_tree.c
>> +++ b/xen/drivers/passthrough/device_tree.c
>> @@ -318,6 +318,13 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>>               break;
>>           }
>>   
>> +        /* TODO: RFC allow assignment of devices without IOMMU protection. */
>> +        if ( !dt_device_is_protected(dev) )
>> +        {
>> +            ret = 0;
>> +            break;
>> +        }
> 
> This should not be needed, there is a similar check at the beginning of
> iommu_assign_dt_device

Unfortunately no, as iommu_assign_dt_device() checks it as

     if ( !dt_device_is_protected(dev) )
         return -EINVAL;

and returns -EINVAL for DT devices which are not IOMMU-protected,
while iommu_add_dt_device() returns 1 in such cases (few lines above).
Therefore this change which in combination with do_domctl() change allows to
pass DT devices in xl.cfg:"dtdev" for processing.

In general, there are three places where DT IOMMU is configured for ARM

1) arch\arm\device.c handle_device() - used for Dom0/hwdom init and dt-overlays
2) arch\arm\dom0less-build.c handle_passthrough_prop() - used for dom0less DT devices pass through
3) drivers/passthrough/device_tree.c iommu_do_dt_domctl() - above

In cases (1) and (2), the code will not fail if DT device is not IOMMU-protected and
there is the following calling pattern:

         res = iommu_add_dt_device(dev);
         if ( res < 0 )
             return res;

// if DT device is not IOMMU-protected res == 1
// and dt_device_is_protected(dev) == false

         if ( !dt_device_is_protected(dev) )
         	return 0;

         res = iommu_assign_dt_device(d, dev);


The case (3), reviewed here, has different calling pattern:
iommu_do_dt_domctl():
         ret = iommu_add_dt_device(dev);
         if ( ret < 0 )
	   return ret;

// if DT device is not IOMMU-protected ret == 1
// and dt_device_is_protected(dev) == false

         ret = iommu_assign_dt_device(d, dev);

and will always fail if DT device is not IOMMU-protected.


  
> 
> 
>>           ret = iommu_assign_dt_device(d, dev);
>>   
>>           if ( ret )

[...]

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 14:28:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 14:28:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925688.1328559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twimy-0004Zm-7W; Mon, 24 Mar 2025 14:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925688.1328559; Mon, 24 Mar 2025 14:28: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 1twimy-0004Zf-4a; Mon, 24 Mar 2025 14:28:28 +0000
Received: by outflank-mailman (input) for mailman id 925688;
 Mon, 24 Mar 2025 14:28: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twimx-0004ZZ-1m
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:28:27 +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 3f2c0bd4-08bc-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 15:28:25 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43d0782d787so31989625e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 07:28: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-43d4fd9eb21sm122482475e9.32.2025.03.24.07.28.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 07:28: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: 3f2c0bd4-08bc-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742826505; x=1743431305; 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=ZsazbfFqDm6VCsw6yYfOWEzzOhQuJJlYcLulmPBqH4k=;
        b=fODIr82fhGZ+UsA83gHSSaV+Xs/41Q1SVzSr4P+58Pp8/sHt/1s/+oopco+3e0VYAA
         cy7tbGI//QOp8ls5zLc6UocfjtN5ZApuMLM9gaHk76wnHubP8uK08143FO8LB2QoDZpS
         zHy1F1LZh5Ev9fwwoR5TbsAkT4vfl8T+8P942YpKzWKrPVBIXIOs7niOWepQz/f8o3qf
         Zn/4I4rNVp/mrFa6JjdNAz+60LpKyAnJBXDiFnNiHn6kC0p7SGD4gkLO1B9/76tqLB18
         9Sy0AWvc5yzMC0oSjlVYyj3HUzDg4ZMHD8my91jU32t/KSsSqHVqZJhUJ/MYHnQ1KCOi
         QfoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742826505; x=1743431305;
        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=ZsazbfFqDm6VCsw6yYfOWEzzOhQuJJlYcLulmPBqH4k=;
        b=Vzr7p+Tm1ejAObxj2Sdck1YhVJGyen18z611MSZOTE0DEZRThonlsLmCkCLZMQPFk9
         NXKqE7B4mnjNVyGIPIx6WskJ7ip+mLWW3yioKibOgIsJ4Y6+wbrNmlKeBDWXMz0SLMKv
         GuyA2YbvUGAwUM6nv7dUHBydJjNPOw1F888vMh1IRNKYK69tkt56yZXie5RsnP6AdPnd
         i+DFFMFMKGWBIx/3xCYOdTxQ1Ri1ugyv/BcL0t2jF/cz31EIwChFRIX8kUXGuSx3lk4s
         9jV1Pdj2QLktiL2j4zqxroZ4+yH8NUxzJ+usI99xQfB4LSHWkNqWw0t0FnVHce9JHlZ3
         jZGg==
X-Forwarded-Encrypted: i=1; AJvYcCX12YqQCBe2mri+TTTKaIgaUQUbHOdWUXz3AXKEt1EfP8gw6qnCwTFEN0fer8CdfT/YEC4qeBAxTvc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJNdrAUMG520VOSMq1t/FlZ1dnPAYgcQMA1vXi/xFOF8SkpTtI
	bsJuMzw3uizt7SQqHHcOSgVS4FS/lxZPtT5dtd6fab9SNHIYRGraVL5vg/E/Pg==
X-Gm-Gg: ASbGncsQ8CRkAcDwS+0YKn15BTcwlhe/HmlHT/1aYLM9lEm7aNpzE3aoDM/nzQjhQtL
	WuhSEUj26eCpzqtuLDOPso1HY5YUai4PWF5/0Xmz2iMqBl2r4hyv6Teye+9ln7LaAe4MEzlZImR
	yH7yNLjSckj6vS5e+a64m+GenTZrMC4W1GPY5YgnwtRTYGbFy1E0FVugrgWEGrDB6s/C/Fh4qP0
	3kDITilligxbGK4GK8IsBjGdBRL6X2VZ4Ho0lc/6MaZrJLz8F2N9XjqRNw6+Ndrvcwv8HHgfshj
	KFQqCzyFvYliTUcZ8B7lL6IqaP3ugy5rNHGhof5uBL7ys8Ev22T6M0RhKPGR0iTWhNoRc/ecwYI
	1W7UGLjSVDWQIwGYHXUFhPuRoCUr0r/6LzgpLGvZy
X-Google-Smtp-Source: AGHT+IFbZKbj1rsqKAp5BTFIXRV+pgpIk/SXlOOaRFb5aHcfUm/HWhde/sFyUv2Ye4AU7wvgcyJPww==
X-Received: by 2002:a05:600c:510f:b0:43d:b32:40aa with SMTP id 5b1f17b1804b1-43d509e3363mr113874255e9.3.1742826505010;
        Mon, 24 Mar 2025 07:28:25 -0700 (PDT)
Message-ID: <19cab53d-3edc-4900-95f1-6d5d81e0ecac@suse.com>
Date: Mon, 24 Mar 2025 15:28:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to
 propagate CPPC data
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-3-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> In order to provide backward compatibility with existing governors
> that represent performance as frequencies, like ondemand, the _CPC
> table can optionally provide processor frequency range values, Lowest
> frequency and Norminal frequency, to let OS use Lowest Frequency/
> Performance and Nominal Frequency/Performance as anchor points to
> create linear mapping of CPPC abstract performance to CPU frequency.
> 
> As Xen is uncapable of parsing the ACPI dynamic table, this commit
> introduces a new sub-hypercall to propagate required CPPC data from
> dom0 kernel.

Nit: Here and ...

> If the platform supports CPPC, the _CPC object must exist under all
> processor objects. That is, Xen is not expected to support mixed mode
> (CPPC & legacy PSS, _PCT, _PPC) operation, either advanced CPPC, or legacy
> P-states.
> 
> This commit also introduces a new flag XEN_PM_CPPC to reflect processor
> initialised in CPPC mode.

... here and elsewhere: Please avoid "this commit", "this patch", or
anything alike in patch descriptions.

Apart from this I'm not sure how useful review here is going to be, as there
apparently is a dependency on the problematic aspect in patch 1. Therefore
I'll give only a few independent comments.

> @@ -606,6 +616,41 @@ int set_psd_pminfo(uint32_t acpi_id, uint32_t shared_type,
>      return ret;
>  }
>  
> +int set_cppc_pminfo(uint32_t acpi_id,
> +                    const struct xen_processor_cppc *cppc_data)
> +{
> +    int ret = 0, cpuid;
> +    struct processor_pminfo *pm_info;
> +
> +    cpuid = get_cpu_id(acpi_id);
> +    if ( cpuid < 0 || !cppc_data )
> +    {
> +        ret = -EINVAL;
> +        goto out;
> +    }
> +    if ( cpufreq_verbose )
> +        printk("Set CPU acpi_id(%d) cpuid(%d) CPPC State info:\n",
> +               acpi_id, cpuid);

Nit: %d isn't appropriate for a variable/parameter of type uint32_t. In turn I
don't think the parameter needs to be of a fixed-width type; unsigned int will
be quite fine there, I expect. See ./CODING_STYLE.

> +    pm_info = processor_pminfo[cpuid];
> +    /* Must already allocated in set_psd_pminfo */
> +    if ( !pm_info )
> +    {
> +        ret = -EINVAL;
> +        goto out;
> +    }
> +    pm_info->cppc_data = *cppc_data;
> +
> +    if ( cpufreq_verbose )
> +        print_CPPC(&pm_info->cppc_data);
> +
> +    pm_info->init = XEN_CPPC_INIT;

That is - whichever Dom0 invoked last will have data recorded, and the other
effectively is discarded? I think a warning (perhaps a one-time one) is minimally
needed to diagnose the case where one type of data replaces the other.

With this it also remains unclear to me how fallback to the legacy driver is
intended to be working. Both taken together are a strong suggestion that important
information on the model that is being implemented is missing from the description.

> @@ -27,8 +28,6 @@ struct processor_performance {
>      struct xen_pct_register status_register;
>      uint32_t state_count;
>      struct xen_processor_px *states;
> -
> -    uint32_t init;
>  };
>  
>  struct processor_pminfo {
> @@ -37,6 +36,9 @@ struct processor_pminfo {
>      struct xen_psd_package domain_info;
>      uint32_t shared_type;
>      struct processor_performance    perf;
> +    struct xen_processor_cppc cppc_data;
> +
> +    uint32_t init;
>  };

This moving of the "init" field and the mechanical changes coming with it
can likely be split out to a separate patch? Provided of course the movement
is still wanted/needed with patch 1 re-worked or dropped.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 14:36:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 14:36:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925705.1328568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twiuW-0007PR-3I; Mon, 24 Mar 2025 14:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925705.1328568; Mon, 24 Mar 2025 14:36: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 1twiuW-0007PK-0c; Mon, 24 Mar 2025 14:36:16 +0000
Received: by outflank-mailman (input) for mailman id 925705;
 Mon, 24 Mar 2025 14:36: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twiuV-0007PE-AX
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:36:15 +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 55a9b06a-08bd-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 15:36:12 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3912e96c8e8so2537818f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 07:36: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-3997f9b4cd3sm11396671f8f.57.2025.03.24.07.36.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 07:36: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: 55a9b06a-08bd-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742826972; x=1743431772; 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=Nz74gVzvTOCcAdzsbe/SGJnolqFg0Dw/X4ex18Ugpi0=;
        b=ccTD5mMIr4ooWIYk38A0JGlLfpewW0oy9H+hlY7hEHlxBt7Xq2dWts6RjKwVnlpZLb
         OHMCIIYpR1V+QAy3tvrdFXxdmjiR5Ps9SYZoqsKI67IKsiU9pXVXVTJ+vVgzQTJkjXlf
         sS16N37o32ISnEy7l1U/4RzUGP+TIhIgsT2I2n/iJt9c6nquy+N/1yn2mayEZxaARJDd
         r0fevDhs68JWyqm455vz2uS6ddO3cfo7XT1dFB0GuviImia8Kqnr9ZlCIRTtIvTYgmXw
         0xlMz7bZMuTxkjQFCokfOclt88BGfzosViqaHMlpW2PmKy4m5qLllvi3cQuyRj7WVebn
         i2bQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742826972; x=1743431772;
        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=Nz74gVzvTOCcAdzsbe/SGJnolqFg0Dw/X4ex18Ugpi0=;
        b=IYwRFFdg8LvhYfsSSZ4VBKUQnRnjDpxX9UJC4dkCyf2iXxFdwUoWLZAxAVH4rKo8jv
         pwdfbcAImhFNKu94OoCgsO7FCxs3U9FuJjOJnlozPghcBxREi/ANGrLQoaXptceTC0qJ
         TQmZDuqQU3hEqqFI6HQo/I+OvD5HPYxYX1n6b7IyS5WJwC2NKQNrs3mjsG2uZ5pKEB/3
         W72jj1gRV/yd/OQmfnPLIeJ23LDzYjXO2k5L87ivITRggMmTnSrR6RxyMgNcuVdii64g
         SL1OReyVWQpxm+u2INA2aXVBd2pWO+VBvASV34vGYOTQssS6F8MKHRAWSr2cxa27JcJX
         LZjQ==
X-Forwarded-Encrypted: i=1; AJvYcCXm4vES8x0wlTi4uOuyZaLwUzv93ORoKNY6FFdXtWvvOvjpm7MuAWApsyvtcLlSvyE0qOa3GJ8SA0o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YynvsH+IfQoW59dkZeJ8PfHRDRK89TbjIpDsjghBlqFtBWC98VX
	O5MUZ3eyN1keH+ZMtlZz+LkZsDovbs/5JTHns3wvuADvYE5IP3n+PHb7kTe1JQ==
X-Gm-Gg: ASbGncv98TKb4mcRFd9oCOb7QUXu5vGnZ/wrhlwpG2bJp/S6JEPuPmQn6L3hIQQXKUz
	tv2H2CWo68FkmyNYg83H4fEQVhuND/0kmYFoWRXAdnSnCrUHZ+2RmwLJHvQfbXyuo69K3EW/sEx
	BxvYg6yD7aa1DUO7Dt9LS+u0C1CrB0LvN/+bEVgta2Gx1DMh9wYhDEgigLPK4ccuNhOzYpC0Zd5
	v3yVmoBf5P5dQZjI9IQc6xJlLkH6X7LTCUIduI6eYQf7K5FmcwVPPZ2I9r0OdvbJiZBxCL4M/My
	Zr8ysQiJ2OqwDqHSCFeVzoitCtu36e0qmf/52wQKYEulYVcq/VsLiaelq7Tyf5mODAflD7vjKSi
	LuXKsWYfZB2Tp0CjHh9LEozx+/cPQPw4Ilzp3cT+L
X-Google-Smtp-Source: AGHT+IGdtuyUMvTXqJOlt3obm45fwXBskhoc+3H5veHjfSrDmYQwn+qkTJjkccvZ71FS0/oOa+Strg==
X-Received: by 2002:a5d:64a2:0:b0:391:31f2:b998 with SMTP id ffacd0b85a97d-3997f8eeb6amr9690516f8f.6.1742826972096;
        Mon, 24 Mar 2025 07:36:12 -0700 (PDT)
Message-ID: <42511843-c6e0-40ae-894a-cad4a73c002c@suse.com>
Date: Mon, 24 Mar 2025 15:36:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
To: Grygorii Strashko <grygorii_strashko@epam.com>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
 <53758670-ca39-4df2-93be-5dc417231f1d@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: <53758670-ca39-4df2-93be-5dc417231f1d@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.03.2025 15:25, Grygorii Strashko wrote:
> On 11.03.25 13:43, Jan Beulich wrote:> On 11.03.2025 12:16, Grygorii Strashko wrote:
>>> @@ -851,6 +852,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>>       case XEN_DOMCTL_deassign_device:
>>>       case XEN_DOMCTL_get_device_group:
>>>           ret = iommu_do_domctl(op, d, u_domctl);
>>> +
>>> +        if ( ret >= 0 || (ret == -EOPNOTSUPP) || (ret == -ENODEV) )
>>> +        {
>>> +            /*
>>> +             * TODO: RFC
>>> +             * This change will allow to pass DT nodes/devices to
>>> +             * XEN_DOMCTL_assign_device OP using xl.cfg:"dtdev" property even
>>> +             * if those DT nodes/devices even are not behind IOMMU (or IOMMU
>>> +             * is disabled) without failure.
>>> +             */
>>> +            ret = sci_do_domctl(op, d, u_domctl);
>>> +        }
>>>           break;
>>
>> Despite the comment I fear I don't understand what you're trying to do here.
> 
> It enables in toolstack "Device specific access control" function, which is implemented in SCI FW.
> SCI FW has privileged management interface assigned to Xen,
> and non-privileged interfaces assigned to guest (VM) and identified by agent_id.
> 
> SCI FW manages access to HW resources clocks, resets, etc, which considered shared and
> which can't be accessed from multiple domains due to HW limitations.
> SCI FW can also manage safety specific resources like HW firewalls for example.
> 
> Each device identified by device_id and can have HW resources assigned to it
> device_id_res = {clk_1, clk_2, reset_1, pd_1 } - FW implementation specific.
> 
> Device can be assigned:
> 1) to any VM, but only to one - dynamic configuration;
> 2) only one, specific VM identified by agent_id - static configuration.
> The policy is FW implementation specific.
> 
> Here and below the case (1) is considered, while in the case (2) - nothing need to be done.
> To enable VMx access to device_id (and its resources) the special request need
> to be sent to the FW management interface to get device_id accessible from VMx.
> 
> In case of SCMI, ARM System Control and Management Interface (SCMI)
> specification (DEN0056E) - functionality defined in sections
> 4.2.1.1 Device specific access control
> 4.2.2.11 BASE_SET_DEVICE_PERMISSIONS
> 
> The HW configuration described in device tree, like in the below example
> (abstract, not related to any specific FW, but principle is generic)
> 
> Host DT:
> /sci_fw {
> 	#access-controller-cells = <1>;
> 	#reset-cells = <1>;
> 	#clock-cells = <1>;
> 	#power-domain-cells = <1>;
> }
> 
> /soc/deviceA {
> 	clocks = <&sci_fw 1>, <&sci_fw 2>;
> 	power-domains = <&sci_fw 1>;
> 	resets = <&sci_fw 1>;
> 	access-controllers = <&sci_fw 0>;
> }
> 
> To trigger SCI FW it required to pass Host DT device path "/soc/deviceA" down
> to the corresponding SCI FW driver during domain creation by toolstack.
> And it has to be done as for devices behind IOMMU, as for devices
> not protected by IOMMU.
> 
> To achieve above xl.cfg:"dtdev" property was selected to be used due to:
> - xen doc says
> "
> Specifies the host device tree nodes to pass through to this guest.
> Each DTDEV_PATH is an absolute path in the device tree.
> "
> - toolstack triggers XEN_DOMCTL_assign_device(XEN_DOMCTL_DEV_DT) hypercall
> nothing from above says it's strictly limited to IOMMU-protected devices only.
> 
> But now ARM XEN_DOMCTL_assign_device actually limited to IOMMU-protected devices
> and will return to toolstack:
> -EOPNOTSUPP if iommu is not enabled
> -EINVAL if DT device is not IOMMU-protected
> 
> in both cases toolstack will fail.
> 
> Idea behind this change (and change in iommu_do_dt_domctl()) is to enable
> XEN_DOMCTL_assign_device(XEN_DOMCTL_DEV_DT) and so xl.cfg:"dtdev"
> for DT devices which
> - IOMMU-protected only (has "iommus" property)
> - require device access control (has "access-controllers" property)
> - both

Thanks for all the details, but I feel overwhelmed. I'd like to see this clarified
in more basic terms. For example the comment says "This change will allow ...".
What's "this change" here? Together with "TODO: RFC" it feels a little as if the
code comment was really meant to live elsewhere (patch description? post-commit-
message area of the submission?), and thus offering little value to an observer
like me. Yet as this is common code, I'd like to have at least a rough, high
level understanding of what's going on here. This doesn't need to go into any Arm
details that I may not fully understand / appreciate anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 14:47:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 14:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925719.1328599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twj5B-0001yF-8V; Mon, 24 Mar 2025 14:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925719.1328599; Mon, 24 Mar 2025 14:47: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 1twj5B-0001y8-54; Mon, 24 Mar 2025 14:47:17 +0000
Received: by outflank-mailman (input) for mailman id 925719;
 Mon, 24 Mar 2025 14:47: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twj59-0001y2-85
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:47:15 +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 df350216-08be-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 15:47:13 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-38a25d4b9d4so2401947f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 07:47: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-3997f9a3a10sm11029428f8f.28.2025.03.24.07.47.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 07:47: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: df350216-08be-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742827632; x=1743432432; 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=IHW3o3KuYRIiSfPlaM/6o4MZpVpg3PF6ZSje8Ur31Ic=;
        b=M9HbzoS6vL0pb0I/e6YaAoU9P8yF0Vdalfev/89+45yOWKd8gRRqVt1BhjG1ve+Ija
         YKuBrTA5UY1KY3fYw5p0eN2xG4FkFhgm+7MxhapTWXPzYarHOADixt6d+2IRdkJiQPw4
         wGdbZqVKzJG+OMh0JFi6CoGehIXWw0ttBSywV3yQZjR06/62ju75J9c3MihxPxHSomYJ
         go1txqtaLdqMGR9U+ggLMX63gH3WaZG/AoxJlm+DGwNDojpWYwcGErXpe2dlGCGzrX9L
         /WfukTLLSbznU01DJABzH35oSIdLPquVmEk5WT0LgBzS099MePnKHXBww0P/DQjBejdV
         W4FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742827632; x=1743432432;
        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=IHW3o3KuYRIiSfPlaM/6o4MZpVpg3PF6ZSje8Ur31Ic=;
        b=HkAdAhlJ4ibSKY8+W1VJoMUyvTaPFevGGmghehmPTsaZXgFaECHAXdixlsPEVjU29C
         vLClAdwsKofi67UXL2hb9pYbBLkD2CvGlwSNsNgulmb3LgP/UtPZo4rBZV5nHaaOgTsR
         2b+LPe/poxt5Q5814ZMthNDjrKKdQEiV7ME7vqnjdk/cDaiwsTlqhholVuD+GWvFGA/o
         CgHzX+LAioT5AqnwPyvE4LiBBBh33/YGPh0eS79g+DaYMXt9jkJqWsa/WYmJitpwr3lM
         fl0ejDl3Tp43B1zaxxixXIXhr454IYKbbGnyDmU0zq6zodqBrkJ05tu9v/PyFM8HdCwv
         +FfQ==
X-Gm-Message-State: AOJu0Yw6Ux+MoChIYRM22CJwj0wSCm5cbaL7F4mNQ+Ud+9HxO9l5zcHe
	FTrhdPZ6ytgFyQWaDQHm36egvU88syiRxBOnum6Dr2Jhcwugx763XjSjsBjqfuZlHfC0E71AypM
	=
X-Gm-Gg: ASbGnctrLdkh/vzJneTYpfuu9YiuMrI0JI8DwVtwIj+1jkbBD0UtOBXu36j49Is5nqX
	T4tf/XTQKPU/KKDus6tq4couTaNsPtmUQRXMA4cZqXKRMlyE+7R1JocUOJHV/q94h/YH/LQ5GzC
	plOfESUnEvYnVoc+PaqZoVTQ1nINmWpAixty7E4ZYguLkHl0uEteoPkkEddD617DfGSYJeul2xe
	cIg14S0HZnjQCF7NUTZyQPhyoFQfeVmWBVr/gdh87HIt9LaWBkh0BwRFyWzLEbp4C4vmpnx1vl+
	dbffEW8KNzfktdKDCJ5pnCeCw+8en90DmTvJf/vtdE/IXN6gzsH8Nw9tvjnNv5TgaXITQ+LY3tt
	MQCsP7VnjubNd5jYWUPBnER6Mq847Eg==
X-Google-Smtp-Source: AGHT+IH0+qpARs/vl/QPKMoR8OULd5lxIU0TjTtc7fLOZ0nCcPb2EXNUp8BCjZVrYYO2OoVJ8EVTqg==
X-Received: by 2002:a05:6000:401f:b0:391:22a9:4427 with SMTP id ffacd0b85a97d-3997f90f413mr11271435f8f.12.1742827632500;
        Mon, 24 Mar 2025 07:47:12 -0700 (PDT)
Message-ID: <b18e523d-89a6-482d-b2ce-a5576578ff58@suse.com>
Date: Mon, 24 Mar 2025 15:47:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] arinc653: move next_switch_time access under lock
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>
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

Even before its recent movement to the scheduler's private data
structure it looks to have been wrong to update the field under lock,
but then read it with the lock no longer held.

Coverity-ID: 1644500
Fixes: 9f0c658baedc ("arinc: add cpu-pool support to scheduler")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The Fixes: tag references where the locking was added; I can't exclude
there was an issue here already before that.
---
v2: Put comment in appropriate place.

--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -580,6 +580,9 @@ a653sched_do_schedule(
      */
     BUG_ON(now >= sched_priv->next_major_frame);
 
+    /* Return the amount of time the next domain has to run. */
+    prev->next_time = sched_priv->next_switch_time - now;
+
     spin_unlock_irqrestore(&sched_priv->lock, flags);
 
     /* Tasklet work (which runs in idle UNIT context) overrides all else. */
@@ -591,11 +594,7 @@ a653sched_do_schedule(
          && (sched_unit_master(new_task) != cpu) )
         new_task = IDLETASK(cpu);
 
-    /*
-     * Return the amount of time the next domain has to run and the address
-     * of the selected task's UNIT structure.
-     */
-    prev->next_time = sched_priv->next_switch_time - now;
+    /* Also return the address of the selected task's UNIT structure. */
     prev->next_task = new_task;
     new_task->migrated = false;
 


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:01:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:01:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925729.1328610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjIQ-0005nl-DM; Mon, 24 Mar 2025 15:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925729.1328610; Mon, 24 Mar 2025 15:00: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 1twjIQ-0005ne-9S; Mon, 24 Mar 2025 15:00:58 +0000
Received: by outflank-mailman (input) for mailman id 925729;
 Mon, 24 Mar 2025 15:00: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twjIO-0005nC-Nh
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:00:56 +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 c9726234-08c0-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 16:00:55 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso3908919f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:00: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-3997f9a325csm11102025f8f.22.2025.03.24.08.00.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:00: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: c9726234-08c0-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742828455; x=1743433255; 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=Mo6fJp0F1IUzlxDssU48NBjXGfBgXt0V9xAp/4jm5ko=;
        b=UCOGc8ambIdbB/doPphwbXxCCpLRDSI5PUHfuuX0FYFgQFy8k68scZESKukbieVf12
         FXnUlKwkAcKgozugDbtF3Po8rEnEIAe3VIEZ5BcfcfWuQ3buWHQobS/Sy/YAio9ltNLp
         H/w6E1ezvyTFx1Rcume4D/Ae5Hh6ufTYMMGAcbTJjBx6xqOR11ELzAYDlnGR0igDFD0b
         ko8XA/cpmR7eT9o+0k4JySNUnJSwIRKI7bxyAejGmlMfzRDipWlagrqeCo1GGaISxKYl
         RzsXOjoN8GaXWOqdQDFbihY18pSICj54Nq9ftgAeIDRIvgZ6liYySC4ZjjHc2mAQrgT2
         BoFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742828455; x=1743433255;
        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=Mo6fJp0F1IUzlxDssU48NBjXGfBgXt0V9xAp/4jm5ko=;
        b=t6w6iAMVwLvle9p3THNPFvgFKNiQDcKvD2BWyCp6GO4bbZt4JqGZ3vtxrFXeiUOleo
         DLlmZB90yQ3ngLxpMHw0St0i4GVcsiZeDdzDpAsbgHtq1qzvPBneuaOUbF5IB3DLeL/G
         4qwV6E34aKb9LJiNDjPwUxJRX1b/cLi5MQmeY8hslKDtxKXdNbTafkV4D4fCCaKgD49t
         rq+9tfpEI5HL44/LGPaofh+hT0t0wcRkOtanvF2vsrmGFdUoH+U0pVc5cr2fYqOHWQVJ
         VIY80Iwp8Lie0WOF6HiJA6ymRaKM2UeDanUy+Unc/pKvYe6njJHsL3dF0LLc5I4efb59
         rG1g==
X-Forwarded-Encrypted: i=1; AJvYcCXne/iK+AMGD3PrtcI+zxEgFEoyNbbW/TY/R2RqgsSi+IO8inMTm1yw5LqS2z8W0HzFCYXbOYG1bEU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxbdLnhpHrfdr/P7QEbhXD9pghvv9mtH0B4gl9Dj+B7xcQ1AvrI
	35aexyAjv7R8fb8FJomuOknP/MU/LygOez7VqA6rJOOdAhXK9p1aB0hIWA3SgQ==
X-Gm-Gg: ASbGncvlWsVI7xM0XT6XKguoChgNNSZe0Gr1nJ4+UEG9cutDbBEBeja33X0OXYMEa8O
	nZl7yUWt6eFH37PSWYYnKB98L7I7q5v+0rRJCVm3mdqxzz3rd0k9Yo0lTX7KwcMzNXnz/+x0Trr
	p5o1lozdOox7Q9kFgv6/QNwamP/vYwxlGEQmwgrJ2hPBeA987eFJplI3q5ONsdarXVFc5d/xfWh
	XcR4bucjz1OpTtNoF9GBoqAXZiF7sI1iMtjrdr/2RTpd6iEO3FuVzoPprIoVmCVWyPjtHK5RIqY
	AseACqn8bqmoZMbrF5HI9IaNDfQgImV1FKrGTo+ONR2H1vlf6747JTSsd1dtPusUvqFEgXBGYuY
	kpTcF4C6lrM9x84k5TZ3nihOCAzyJEGCQwqnvX7tK
X-Google-Smtp-Source: AGHT+IHSqvE5hHTODYEZMXbwzReS0+oeBEjvyujnkoyyOB3JC8ySCMbYz0opUeTvVDjymTpxxQNPUA==
X-Received: by 2002:a5d:5885:0:b0:391:48d4:bd02 with SMTP id ffacd0b85a97d-3997f914a95mr11920743f8f.29.1742828453429;
        Mon, 24 Mar 2025 08:00:53 -0700 (PDT)
Message-ID: <80963bfa-a19e-49a7-8de2-0d8508af450f@suse.com>
Date: Mon, 24 Mar 2025 16:00:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/15] xen/cpufreq: refactor cmdline "cpufreq=xxx"
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-4-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> This commit includes the following modification:
> - Introduce helper function cpufreq_cmdline_parse_xen and
> cpufreq_cmdline_parse_hwp to tidy the different parsing path
> - Add helper cpufreq_opts_contain to ignore user redundant setting,
> like "cpufreq=hwp;hwp;xen"
> - Doc refinement

See my earlier comment as to wording to avoid. In descriptions and comments
it would also be nice if function names could be followed by () (and array
names then be followed by []) to clearly identify the nature of such
identifiers.

> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -535,7 +535,8 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
>    processor to autonomously force physical package components into idle state.
>    The default is enabled, but the option only applies when `hwp` is enabled.
>  
> -There is also support for `;`-separated fallback options:
> +User could use `;`-separated options to support universal options which they
> +would like to try on any agnostic platform, *but* under priority order, like
>  `cpufreq=hwp;xen,verbose`.  This first tries `hwp` and falls back to `xen` if
>  unavailable.  Note: The `verbose` suboption is handled globally.  Setting it
>  for either the primary or fallback option applies to both irrespective of where

What does "support" here mean? I fear I can't even suggest what else to use,
as I don't follow what additional information you mean to add here. Is a
change here really needed?

> --- a/xen/drivers/cpufreq/cpufreq.c
> +++ b/xen/drivers/cpufreq/cpufreq.c
> @@ -71,6 +71,46 @@ unsigned int __initdata cpufreq_xen_cnt = 1;
>  
>  static int __init cpufreq_cmdline_parse(const char *s, const char *e);
>  
> +static bool __init cpufreq_opts_contain(enum cpufreq_xen_opt option)
> +{
> +    unsigned int count = cpufreq_xen_cnt;
> +
> +    while ( count )
> +    {
> +        if ( cpufreq_xen_opts[--count] == option )
> +            return true;
> +    }
> +
> +    return false;
> +}
> +
> +static int __init cpufreq_cmdline_parse_xen(const char *arg, const char *end)
> +{
> +    int ret = 0;
> +
> +    xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
> +    cpufreq_controller = FREQCTL_xen;
> +    cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_xen;
> +    ret = 0;

ret was already set to 0 by the initializer.

> +    if ( arg[0] && arg[1] )
> +        ret = cpufreq_cmdline_parse(arg + 1, end);
> +
> +    return ret;
> +}
> +
> +static int __init cpufreq_cmdline_parse_hwp(const char *arg, const char *end)
> +{
> +    int ret = 0;
> +
> +    xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
> +    cpufreq_controller = FREQCTL_xen;
> +    cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_hwp;
> +    if ( arg[0] && arg[1] )
> +        ret = hwp_cmdline_parse(arg + 1, end);
> +
> +    return ret;
> +}

For both of the helpers may I suggest s/parse/process/ or some such
("handle" might be another possible term to use), as themselves they
don't do any parsing?

In the end I'm also not entirely convinced that we need these two almost
identical helpers (with a 3rd likely appearing in a later patch).

> @@ -112,25 +152,13 @@ static int __init cf_check setup_cpufreq_option(const char *str)
>          if ( cpufreq_xen_cnt == ARRAY_SIZE(cpufreq_xen_opts) )
>              return -E2BIG;
>  
> -        if ( choice > 0 || !cmdline_strcmp(str, "xen") )
> -        {
> -            xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
> -            cpufreq_controller = FREQCTL_xen;
> -            cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_xen;
> -            ret = 0;
> -            if ( arg[0] && arg[1] )
> -                ret = cpufreq_cmdline_parse(arg + 1, end);
> -        }
> +        if ( (choice > 0 || !cmdline_strcmp(str, "xen")) &&
> +             !cpufreq_opts_contain(CPUFREQ_xen) )
> +            ret = cpufreq_cmdline_parse_xen(arg, end);
>          else if ( IS_ENABLED(CONFIG_INTEL) && choice < 0 &&
> -                  !cmdline_strcmp(str, "hwp") )
> -        {
> -            xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
> -            cpufreq_controller = FREQCTL_xen;
> -            cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_hwp;
> -            ret = 0;
> -            if ( arg[0] && arg[1] )
> -                ret = hwp_cmdline_parse(arg + 1, end);
> -        }
> +                  !cmdline_strcmp(str, "hwp") &&
> +                  !cpufreq_opts_contain(CPUFREQ_hwp) )
> +            ret = cpufreq_cmdline_parse_hwp(arg, end);
>          else
>              ret = -EINVAL;

Hmm, if I'm not mistaken the example "cpufreq=hwp;hwp;xen" would lead us
to this -EINVAL then. That's not quite "ignore" as the description says.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:09:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:09:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925741.1328618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjQH-0007VL-7m; Mon, 24 Mar 2025 15:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925741.1328618; Mon, 24 Mar 2025 15:09: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 1twjQH-0007VE-4z; Mon, 24 Mar 2025 15:09:05 +0000
Received: by outflank-mailman (input) for mailman id 925741;
 Mon, 24 Mar 2025 15:09: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=r2bg=WL=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1twjQF-0007V8-U6
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:09:04 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20612.outbound.protection.outlook.com
 [2a01:111:f403:260e::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb1573b1-08c1-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 16:09:01 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AS8PR03MB8345.eurprd03.prod.outlook.com (2603:10a6:20b:509::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 15:08:58 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 15:08: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: eb1573b1-08c1-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KijUCaEoEzQqqj16CnWR3gCl1oeJJd7KLffb8a8r1IVi7f7pvZTsqMbICVvou7BXmN4tEGW0JUei9uXdxqr/tazXLbfbOlOfFJGzPPuF8NpSbL3Kl3A6SqNc7x/lmkpTZWc87sOnTSxfPgxVpD/7vXDsLS936kh2EHpt13/Wa+NGSyOlDv7jqCF40zoj4ExRgHkKkTzdpwsL/qBD2mJEKimVEGACgwFJXaAaHewMKoi2IQqI4Hb7eyQDB1LAOefDpSdJeESQBKsZ1kyyffw9FhY6mhBn4xT1TQrnsPBQcuV21wXo/ntcY7Ud9onl8ML6f+fnyjuLDFMEnPx1cDUqhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cJcZU64s8E+8JKTrBjH9ibM8YLIeg7Sn3n/8HzJVY/o=;
 b=R1jYieDAIm05+bpYsWEllGcpmQ6/ud2Nd7xq0/xcomDLOGoJcrS2f2qq07HfDJGrV9nxMaY9tCYSflU3xcrrzHD7duV7B93IXj/jNWLQB9Nlpfa8qatEn/haf59OudXmXYeS4ChlID37SAXH5bxKXDNTj+eZ7gBnXQk9DgQjBMlSujJ5lDdKCqu6bEgTmYHhJfaHy946vhRSIAWjQjsbyz9KqYGYbRkb1jD+4muBUYBKbF4BMd7vvwrYPWIQ6GkvaitoaspfMaaLzxrp/FkowRUB5W0eDxDmuyZ0B1A2AjtIX7qfEJz1Nz2aNgkQMAp5wlqqvxOI0bQiYvjLyOXelA==
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=cJcZU64s8E+8JKTrBjH9ibM8YLIeg7Sn3n/8HzJVY/o=;
 b=fdNI9eauZU86hU2UMpd5vy3+u1ozqN8+evcT6IaVf47fEbnQo93kXAaKE8m7p0QSbLMvQu1YdTkKz4gDfcGSpa4QiZ+xRt+IDtJwrE6BGeZBG/Sd4lXuGONekgctBUtlhSDxR+3WW1i83lDqO6ofR/YgIjXRZ8Qd1ujsURfcDksa0ofXDwr/C0d5/SCfQFmtuN/tAtaDHBWdnz+gAQvEA0AGztFQ6w83OxX74h7SoqeivwyBn8QIqMcr1IxWNC9O93/zPzcRQBgSagfuNmLX/3CghOf96B4hG7OyKALpHjerN3rnpqEwcI14ubmK/aQwpE3rRPNyiniYR9xgJIQ9Rw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <c55d6b80-89d3-4f2f-873c-e77de10d606b@epam.com>
Date: Mon, 24 Mar 2025 17:08:55 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 2/7] xen/arm: scmi-smc: update to be used under sci
 subsystem
To: Stefano Stabellini <sstabellini@kernel.org>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross <jgross@suse.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-3-grygorii_strashko@epam.com>
 <alpine.DEB.2.22.394.2503131540530.3477110@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <alpine.DEB.2.22.394.2503131540530.3477110@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::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_|AS8PR03MB8345:EE_
X-MS-Office365-Filtering-Correlation-Id: 783cdd59-978f-4841-7305-08dd6ae5cd2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SEphWituOFd2Y0s4aDBRZjhaREFIRUhzcGJiQ1dudFhxNmF1T01EL0xESlJK?=
 =?utf-8?B?NlZCSVRGT1FYQi9JTlYvTENPZ1ZTQWR3cWhuRlZoOVQ2TEdQUGo1VGNEOE9j?=
 =?utf-8?B?bHVhWWpiaUZCSmhiNTkveVBYWEhEU1UxUTVmWHZtTk9naTNMeHVEdnpYWXRr?=
 =?utf-8?B?SW82a2RnMEtSb1pkWWpHVHRFVDZBczBTQW5STnkrbGVyQVYxNm5oeGU4ektT?=
 =?utf-8?B?RThjKzF6N2pveEZxRis0VXlMZ1NpQ20vMFhOaFdrOFNJb2RqM0NydlpJMjB1?=
 =?utf-8?B?Sno2VUVRa0xTNmpveVEvNHoyZ3dSSHJJa3FlUTlnK0ptbWdpT2JOTmo1aGZi?=
 =?utf-8?B?WThSZE1HWXBXYVRPRWVLTW53OWx1YUk2VWtDSUxIWXFXNU1tb0JuRzUwNmZI?=
 =?utf-8?B?VTFka3ZRTFM0Q0RPbDRIQTFGWDZqT21yc3d3cUs5cllIM2JPV2VuYWtoVXBE?=
 =?utf-8?B?UU53Q0hzQTltbjFPbmp1ODJCWTZ3V0xUb3FkL1locFlyWWRpbXdKV05jMis3?=
 =?utf-8?B?c0Z0Vnl1MkplWExUeUlqNksvZHh4S0lISHVrUnFFS01wUWdvNmNXNGYrWlJq?=
 =?utf-8?B?ZDBPS04zSS9tMU1GZmY0czQwbFFobHdqb2VHWUY5bGp4Z3Q2eWdlUjdIdjA3?=
 =?utf-8?B?SmFXOWhIVzZLS21ZOFFKVHh4bm8yZCtNMFhhVlppQnhIci9PVzExTDRuMllx?=
 =?utf-8?B?OUlJZkFieXJSQkFBVzR0TmlSVG5YNUJlMzZtMGgwMDNiT1pOQVVrSFdCRnV5?=
 =?utf-8?B?Nm9ieHlqNEFSdnM5dzR4d3NmTEcrcC8zYlFiM3pIS3pSWUMxWTFjbHhkMlFB?=
 =?utf-8?B?T2Nmb0FQSWZlWUlIZFF2QVhHUFIwc1VMa2gxamh3U3Rwb1dlTjFwK0R4RXhj?=
 =?utf-8?B?UlJQd0wyZENHbEt2c2kvNWNZSlZPSTJFREc5K1dZazNGRG1Ib1JNK2h3alVV?=
 =?utf-8?B?bW5MeE9hRFRYd2EzaktwMWE4bWJPT2JXS1ovRHhZNDBsMnd5dkU5S0dFdW9Z?=
 =?utf-8?B?di9od3kxdEd6N2hEdktmVXlIOTBIbDNmc0dhcTRXcm9NeUZkK1FaVGx4RkQ3?=
 =?utf-8?B?ZHpPeWM0UUpGTlQrRHc4WE5JUG5Jc1FodU1IcU5tdGd1VG1FZ0pqM0NqaVE3?=
 =?utf-8?B?OCtVMzJ5amNvMFhyNzgwOFk3OEpwYW5DTk55WXVsbXBxSzhMOXQ1Q09FWkZZ?=
 =?utf-8?B?bExvNW9jWm9zamg3RzJYSlpBNktrOGZNNkZkdjcrUzVzaE1zQjBhN1JjbW80?=
 =?utf-8?B?a0ljVmI1Mk15S1BJdWJOYm9NdXUvTUZhY3dWU29TM0txQklteTdmUjZuMmdU?=
 =?utf-8?B?LzdFSzY0SkZ2dllDSk1iZHVOc0RvTE1zMzRDMVBKYTkxSlhaVStneUM1SFFD?=
 =?utf-8?B?a0VwcnBkaEVqQ1pGdWcxYmJUbTBLY2IrQTI0aTJENy9TcG50MGw1bDFFN0dG?=
 =?utf-8?B?aTB2VDBzNzFYaktYRW85T3dHbEY2eFBQeFRVbmx3ZEFydHdmNkpueGt2T1dp?=
 =?utf-8?B?b2JQejBILzVJZEk5TGJmemZDRnBhMkZpWjNXYXF2eW9xL2tKY1AwREgrZndD?=
 =?utf-8?B?RkRtQ1VwRTFvNVRxVEhobkY0NG9lck50bWx3QjJKbFJoMU9WLzNpU0tLTnI1?=
 =?utf-8?B?eS9wczJLcnFReXJXZ1p5SnBqTjg4d3kzTGZyOERzWXFVcjNEM0xIQmR5dXVU?=
 =?utf-8?B?Nk5XcXFBRUdvSGVYbEtPMURlWWtVWmMxOXJBemUza3pFdVJPRFdHbkFDWTVG?=
 =?utf-8?B?bFZQVmFBeWpPcmFaWEFROXc5SG52VFRoc3BTWmE2NGlDL0VmSmNkT3h0eUNM?=
 =?utf-8?B?aHI0bkpIZ3d5dlBuMEJFbEpGUFNja3ZCU0o5YzJ4dDB6ZWltWWs5TVhvbmdZ?=
 =?utf-8?Q?t0TzntNjdtJOG?=
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);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UlRHQ3Q0UVN5N1pwRDd2NjllYjlHQ3VLUDRrczg4bXZFZUV0dUwzVERCRG5i?=
 =?utf-8?B?ZWlmRk0vTjVSNU1xN3VPUGtUR1pwdzJ5dlFweDZwQlh2b0VhWWI3MkgrS3dZ?=
 =?utf-8?B?elJIZ0c2N2s3Uld3Um1ad1NCU2o0bVB4Zm9CbWQyNWRmdlF0VFdDQ0JVR2tX?=
 =?utf-8?B?SEZ5eWxLS21qdVN2UHZ3SzhMQXJKbzczbTA2UlR1ZG9QV1RPbElQR3BIZEda?=
 =?utf-8?B?SWdhQ1VKZno3UjhQRlNiNEVocDFYZTFZc3dpQ1h4Z0cxQVpULzJYVzlkQVB2?=
 =?utf-8?B?RkN6Tk83c2RnY3Y3L3dUcVRtTGFQend5dW1PaFZCVGo3eTFSZ00xOWlkQjd6?=
 =?utf-8?B?NGhScWROUGpQMzF5Qk9uRHNyekNvTkNkRnkzUEoxa0NYSkdIZjYrMFpTNFJS?=
 =?utf-8?B?NDJrQVhMMGZJYUZ5YnZyeG5WOTd3bFlYLzNYSWcwbURHSXdYM1FZQVYyTTFm?=
 =?utf-8?B?M2RNeHVkYWpvcVZ0ZnBIbzRKNDVmWXZaUDBSUTRZMlE0eXR4dFNFdVNYLzhE?=
 =?utf-8?B?Vld6dDlNSnhnUUQ5VDRnUDlST1RKUHJpSk1qVjhWamt6K3N2eE8rR3NJNTRM?=
 =?utf-8?B?dERBRllnVHV1b0FxNU0xeFM4bU9IYUlSYmU4VDkzZC9QSUxFcThLcWtKQVpa?=
 =?utf-8?B?dDV5d0lPaFhoeUVSUDdoTGdzQi9BY09ZM0ZJWFhPaVI5cXRtbk5KNkdBblRM?=
 =?utf-8?B?ZVJpS1o4YUdwNER2RkRGL0NqL21UNnNNN1FMU3NINHcyT2paTEhEL0pJR3Vh?=
 =?utf-8?B?dTAvdzE5N2huMU9UdkpsQ2xJM3lOaG9pUE0yMGJmUG1iNDlzbC9XR2FxV0hZ?=
 =?utf-8?B?TFlrWVA3clFCbTdpTVVzZnFuRityYnU3MXdTN3JTaEtIRkZEaWdxeEtodTRM?=
 =?utf-8?B?TjNKM2FPSHV1N1hHYUtKUXQzck41azB2b3IvZUthL2VrREQyUnhmK1Z0SHlz?=
 =?utf-8?B?VHh1MWttcVZSZC9DS2YzbzZVQVVyT0NjZ1daeFdFZnIrTWtvQTQ4RWdQUHJ2?=
 =?utf-8?B?QnQyVkpCb2FIWUtsT2wzdUs4VXVRc2RMVFFQcUsweG4xOVV2b01WM2JEWDhI?=
 =?utf-8?B?N244Wkl0cS9RUXk4cFlRNWJEOGxmUGx5VGtOaFg5UXd5empFMGlsQUpMYVlj?=
 =?utf-8?B?N0ozNVNPRzY1ZnFhK0Y4Y3piUlBSb0JVRG9BNjBHOWQrSGxFb3p2Unh2Q0lw?=
 =?utf-8?B?Nmt0ZFRPTFVPZ1FVWUZSK3o3U0FLTE84ZUMyQlRDdm5wQ2JZandFcWtNMm9Z?=
 =?utf-8?B?VDh4cFdmZ3R3MWExWXI2a3VoeUhqNzZjMmJoY0d5VG55OUx0NHRNRVdJbUJS?=
 =?utf-8?B?aVNRZWZpVTl4K29uUTdGVUtUZmlNS24wc1NFejhCZXRORGk1QUpTbzdJT0RQ?=
 =?utf-8?B?Ym1nbExVL21hK1VDMnVnY3ZKUWRJUld3alRMRGo5VFJOSE5UdmE0OHlCbmZ3?=
 =?utf-8?B?V1pRZ1ExbmtUa3pJQ1lodHNiK3dJSjFOcmlxaTBtWVMxWkR4eWc2L3JpZTVS?=
 =?utf-8?B?SGVndjBkdFFPb2ZYZytXVmZFUlpDdVk2a3NQUnRzUDhkVEp3eGJVMExXVFZ1?=
 =?utf-8?B?MTdBcGliUW1Ld3hXeFB1QUhIVm4xK1dRSDd0bzFxT3pQdmlhbFNpMzRYbTRI?=
 =?utf-8?B?RVMzYUJQL085ZVgvMiszWDF5b1BrOS9ZRlh1RzRBNjdNZEpnNWVCalFNRkU0?=
 =?utf-8?B?aTYwamtveHBCSWYzL0wrelQweGtjUDdnWGdaR2VoTjVlc2x2a3NWdXQzajdG?=
 =?utf-8?B?bDdlbUpnUUpGZEhFUk1DU21UR3ZpbUFDS1RXdU83WmpwajVZS1lVeEdTUVNF?=
 =?utf-8?B?ZUFUS2VRSXM3azdvQlIyTGRtcTRtN1pPdklQSVRQSnJjZW02YVZHZmpoc1Nq?=
 =?utf-8?B?a3JZRmFjV3hFRDJXMy9UQ2hiME9NbHRWMDZ3VitDcUViVXFsa1dGTC9wMHpU?=
 =?utf-8?B?azFkTkdmQ1dwTXBOanU4MUpLSjArRzNWQ0dLdWF5cHlEbWVwR1BKclI5ZkNr?=
 =?utf-8?B?Y21RSFhXMU5YUldrMDA0bTJMT0xsbmVSaldQRFhwRnJqODI2dGJ0Ykg3d2pD?=
 =?utf-8?B?MWtMM00zQlBrU3J5ZmFndkF3czg2SzF0NHB0VkZ4bU5YT3h1VXhKRDNvdm1s?=
 =?utf-8?B?dE9CcUhXYThYaXllbWUyT1R0UlV6N0RvZG5ZbW9pMXdoOVRIQmJnUUNXYTF2?=
 =?utf-8?B?bUE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 783cdd59-978f-4841-7305-08dd6ae5cd2b
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 15:08:58.0383
 (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: WY7ttWbcUgmtrozMM2F+BoV6Q04dUPqpKGKo4nWymHBiaVcKuZBuuDVYidKX3oDaKUsaOEVvqwUdpyVaIzaep8Twz8l1W2PA3tTC9MyzgVU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8345

Hi Stefano,

On 14.03.25 01:48, Stefano Stabellini wrote:
> On Tue, 11 Mar 2025, Grygorii Strashko wrote:
>> The introduced SCI (System Control Interface) subsystem provides unified
>> interface to integrate in Xen SCI drivers which adds support for ARM
>> firmware (EL3, SCP) based software interfaces (like SCMI) that are used in
>> system management. The SCI subsystem allows to add drivers for different FW
>> interfaces or have different drivers for the same FW interface (for example,
>> SCMI with different transports).
>>
>> This patch updates SCMI over SMC calls handling layer, introduced by
>> commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls handling
>> layer"), to be SCI driver:
>> - convert to DT device;
>> - convert to SCI Xen interface.
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
>>   xen/arch/arm/firmware/Kconfig                | 13 ++-
>>   xen/arch/arm/firmware/scmi-smc.c             | 93 +++++++++++---------
>>   xen/arch/arm/include/asm/firmware/scmi-smc.h | 41 ---------
>>   xen/arch/arm/vsmc.c                          |  5 +-
>>   xen/include/public/arch-arm.h                |  1 +
>>   5 files changed, 64 insertions(+), 89 deletions(-)
>>   delete mode 100644 xen/arch/arm/include/asm/firmware/scmi-smc.h
>>
>> diff --git a/xen/arch/arm/firmware/Kconfig b/xen/arch/arm/firmware/Kconfig
>> index fc7918c7fc56..02d7b600317f 100644

[...]

>>   
>>   /*
>>    * Local variables:
>> diff --git a/xen/arch/arm/include/asm/firmware/scmi-smc.h b/xen/arch/arm/include/asm/firmware/scmi-smc.h
>> deleted file mode 100644
>> index 6b1a164a400e..000000000000
>> --- a/xen/arch/arm/include/asm/firmware/scmi-smc.h
>> +++ /dev/null
>> @@ -1,41 +0,0 @@
>> -/* SPDX-License-Identifier: GPL-2.0-only */
>> -/*
>> - * xen/arch/arm/include/asm/firmware/scmi-smc.h
>> - *
>> - * ARM System Control and Management Interface (SCMI) over SMC
>> - * Generic handling layer
>> - *
>> - * Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> - * Copyright 2024 NXP
>> - */
>> -
>> -#ifndef __ASM_SCMI_SMC_H__
>> -#define __ASM_SCMI_SMC_H__
>> -
>> -#include <xen/types.h>
>> -
>> -struct cpu_user_regs;
>> -
>> -#ifdef CONFIG_SCMI_SMC
>> -
>> -bool scmi_handle_smc(struct cpu_user_regs *regs);
>> -
>> -#else
>> -
>> -static inline bool scmi_handle_smc(struct cpu_user_regs *regs)
>> -{
>> -    return false;
>> -}
>> -
>> -#endif /* CONFIG_SCMI_SMC */
>> -
>> -#endif /* __ASM_SCMI_H__ */
>> -
>> -/*
>> - * Local variables:
>> - * mode: C
>> - * c-file-style: "BSD"
>> - * c-basic-offset: 4
>> - * indent-tabs-mode: nil
>> - * End:
>> - */
>> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
>> index 51b3c0297314..b33c69a1c22a 100644
>> --- a/xen/arch/arm/vsmc.c
>> +++ b/xen/arch/arm/vsmc.c
>> @@ -21,7 +21,6 @@
>>   #include <asm/traps.h>
>>   #include <asm/vpsci.h>
>>   #include <asm/platform.h>
>> -#include <asm/firmware/scmi-smc.h>
>>   
>>   /* Number of functions currently supported by Hypervisor Service. */
>>   #define XEN_SMCCC_FUNCTION_COUNT 3
>> @@ -233,7 +232,7 @@ static bool handle_sip(struct cpu_user_regs *regs)
>>       if ( platform_smc(regs) )
>>           return true;
>>   
>> -    return scmi_handle_smc(regs);
>> +    return sci_handle_call(regs);
> 
> Is this change...
> 
> 
>>   }
>>   
>>   /*
>> @@ -301,8 +300,6 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
>>               break;
>>           case ARM_SMCCC_OWNER_SIP:
>>               handled = handle_sip(regs);
>> -            if ( !handled )
>> -                handled = sci_handle_call(regs);
> 
> the one allowing this to be removed? 

Yes, it's just switch from API introduced by commit 3e322bef8bc0 ("xen/arm:
firmware: Add SCMI over SMC calls handling layer") to more generic SCI API.

>Are we sure all possible SCIs are SIPs?

Yes, as I see it, for sure for SCMI.
SCI is platform specific and so SiP.

> 
> 
>>               break;
>>           case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
>>           case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
>> index 55eed9992c9d..095b1a23e30c 100644
>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -328,6 +328,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>>   #define XEN_DOMCTL_CONFIG_TEE_FFA       2
>>   
>>   #define XEN_DOMCTL_CONFIG_ARM_SCI_NONE      0
>> +#define XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC  1
>>   
>>   struct xen_arch_domainconfig {
>>       /* IN/OUT */
>> -- 
>> 2.34.1
>>

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:12:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925752.1328631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjT8-0001ma-Kl; Mon, 24 Mar 2025 15:12:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925752.1328631; Mon, 24 Mar 2025 15:12: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 1twjT8-0001mT-IE; Mon, 24 Mar 2025 15:12:02 +0000
Received: by outflank-mailman (input) for mailman id 925752;
 Mon, 24 Mar 2025 15:12: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twjT7-0001mN-LU
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:12:01 +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 553703d6-08c2-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 16:11:59 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43d04ea9d9aso20429585e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:11: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-43d43f43e35sm175001775e9.14.2025.03.24.08.11.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:11: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: 553703d6-08c2-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742829119; x=1743433919; 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=0efqYD186GXVVYA7T8JcMDY9M1tLJwqz6EvCmU/Tl4c=;
        b=CEM39Kya7CbszSAcOI5MD051leDlm7XT6AnOSV1tdDr2p5MirNS6V1+52NHDWCG8MJ
         rivcNXQJV7aIXK7UW0Z5Ac1R6a/dRJaCBxUZ7JBMd7vTpFKJhQQ0Z4qUZiCQj+4IxdOi
         hooVm2gkwTxKn4f9xIvcHMzu/PKSXM/vLMOF1uqUt2lYnOic3ZIjXkwbhLLuURV/K5+i
         oZBLbzG1g269HK0FDISH4JgUz/Yq6sWVFqfd+OrU6COSnIGbZkJR/FFJIjPbViIkvR3/
         u8Qa+O+C/IbdugXdabPjF8WIBNAaPhquJboTMWtgy/yzato2ShxS5j9St2ExAENHkBx5
         TRoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742829119; x=1743433919;
        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=0efqYD186GXVVYA7T8JcMDY9M1tLJwqz6EvCmU/Tl4c=;
        b=X259HPXBUJDBjPRZWAlVlQuKGdeXD/xpUU08OZbQiNHimUBUUyet/V5pZs0PulGIMy
         lApq8TbMkX0MaB7tQD5drDVHVWajQcUhpaT6vDt6xBrSaT6EM+oqSvJF/o6jiXvpaT5W
         hweAsQctyZd32vIvLtRak6URV3MN9D368RKe7SbejW91umnycxf478fdnhabtSfk9BlU
         nncBRQbBH0pFVxSNEIzOfyys0I5Qi8CkwhkQ3asgTGNeers6Kk5D6/W8+WbftQsnP52x
         O/DM21zmFCPS7rZXB/tqM7zYHX7F6p89ZJMbeGJobKuZAIW/bNH1szpJ3DyiOMhdP6+F
         2Www==
X-Forwarded-Encrypted: i=1; AJvYcCXFdw8E7o1q+ZmSvAFLCoZy/zZDX3a84U/15pr8tIqUYCJ/RaHzxdhGNs5n99n5k0/KPRWVIU5gPCM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx99nOiMEbO/Hs5gZ3mEF58Q8+R9vIco4CGCPQyUsJXsERNnqS/
	2DTzW+lMA8X0wWDiH1i4Mo2NMGOtnpSou7nc8+V1qkY7dE2dPgAP+4n67PA9ZA==
X-Gm-Gg: ASbGncv79f/KZU5ssuCE6Gf+g+ZLzn+xatoiqEdgc3QGW6BJwhY6wx7opYH9jThI/BO
	KtqckpO1HsMkeQA3tjjbImzACu1lEbm4wxxNNXs/52N/xNzhhbOP8Ffb6mZF4H2xUBm9HL9WG09
	7AXyyAEm5HHj4nsCkt/J7ojop5f2LRQQZE+EYdWzcue0kaHVEURqTUmqHHD+4INiAxUVAVmNjNN
	uZFX6fpmxGfchltDEa2Xlm0n4QEKo/8QAUijBg3UZDMU96gG/q20SmjM4rFDv72/Z7ibWc79DHi
	5R2yEH4oE+xoCe5y9Y075Cts6Y6/R6gntG3csgPk+smN0E2mnPW7UbJpnXnFihUm2KwwvKcwgmv
	eXb7HgfAhjWxxTVcHp2PZpFKulI0AHQ==
X-Google-Smtp-Source: AGHT+IEWyQ5FlN5KYZiBYojnkfaGLdN7xn7MIQ9ZfyWLPjnB3cJpkGVMsDwCQ4uWJqZdZT0m88GBFQ==
X-Received: by 2002:a05:600c:1e8f:b0:43c:f597:d584 with SMTP id 5b1f17b1804b1-43d50a3c4d9mr125810875e9.29.1742829118950;
        Mon, 24 Mar 2025 08:11:58 -0700 (PDT)
Message-ID: <a6010274-d7b0-409f-b9a8-d4dfa0e72974@suse.com>
Date: Mon, 24 Mar 2025 16:11:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/15] xen/cpufreq: move XEN_PROCESSOR_PM_xxx to
 internal header
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-5-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: <20250306083949.1503385-5-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> XEN_PROCESSOR_PM_xxx are used to set xen_processor_pmbits only, which is
> a Xen-internal variable only. Although PV Dom0 passed these bits in si->flags,
> they haven't been used anywhere.

Please be careful with "not used anywhere". See e.g.
https://xenbits.xen.org/gitweb/?p=legacy/linux-2.6.18-xen.git;a=blob;f=arch/i386/kernel/acpi/processor_extcntl_xen.c;h=eb6a53e9572c137da505a7d4970b1a5b7e1c522d;hb=HEAD#l193

> So this commit moves XEN_PROCESSOR_PM_xxx back to internal header
> "acpi/cpufreq/processor_perf.h"

Essentially you're again altering the stable public ABI in a way that's not
acceptable.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:19:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:19:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925700.1328642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twja7-0002Od-AT; Mon, 24 Mar 2025 15:19:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925700.1328642; Mon, 24 Mar 2025 15: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 1twja7-0002OW-7c; Mon, 24 Mar 2025 15:19:15 +0000
Received: by outflank-mailman (input) for mailman id 925700;
 Mon, 24 Mar 2025 14:29: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=7Dtg=WL=kernel.org=da.gomez@srs-se1.protection.inumbo.net>)
 id 1twioL-00059L-EF
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 14:29:53 +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 7165b765-08bc-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 15:29:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id D03FF43AD5;
 Mon, 24 Mar 2025 14:29:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 83974C4CEDD;
 Mon, 24 Mar 2025 14:29: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: 7165b765-08bc-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742826589;
	bh=YCl0Xb8LGqIfcEjzkA/NTLRkDnLwd92Deb1BZs32/AY=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=Qys4fsVHHw1FlqG0Qz2G7Vw7QrDXZuoQXgZdcRPLI3U9zqp77nl5KORDkQJIuiLfe
	 Qi7gzUyfWrPhWru22hVqfnUsj+kXy+1BQFE756ixfKuM+trN2YXXQE2pb99NNMwm8x
	 SWij92hGdCaUPz+36wQThm9zANEfrHMvviGv5wDRMok7QLIStZtujBi/qnX1ItxpvY
	 pCeaRFTNmuSLbyOgIwSZ3cEQyyYgNL4VrUA2at+OQdtGQJYmqUJMVB4vi2uDn09hYQ
	 RmcNKopa+W+JoNgRW+CRakpUrOtrqKJjowvGwbIP0GuuWMXlvNwGSdxX++T1hkO3f7
	 HZ9IfUeyk3Duw==
Date: Mon, 24 Mar 2025 15:29:46 +0100
From: Daniel Gomez <da.gomez@kernel.org>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: Bjorn Helgaas <helgaas@kernel.org>, 
	Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>, 
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>


Hi,

On Fri, Mar 21, 2025 at 09:00:09AM +0100, Jürgen Groß wrote:
> On 20.03.25 22:07, Bjorn Helgaas wrote:
> > On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> > > Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for both
> > > MSI and MSI-X entries globally, regardless of the IRQ chip they are using.
> > > Only Xen sets the pci_msi_ignore_mask when routing physical interrupts over
> > > event channels, to prevent PCI code from attempting to toggle the maskbit,
> > > as it's Xen that controls the bit.
> > > 
> > > However, the pci_msi_ignore_mask being global will affect devices that use
> > > MSI interrupts but are not routing those interrupts over event channels
> > > (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> > > bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> > > normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> > > bridge configure the MSI entries using indexes into the VMD bridge MSI
> > > table.  The VMD bridge then demultiplexes such interrupts and delivers to
> > > the destination device(s).  Having pci_msi_ignore_mask set in that scenario
> > > prevents (un)masking of MSI entries for devices behind the VMD bridge.
> > > 
> > > Move the signaling of no entry masking into the MSI domain flags, as that
> > > allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> > > that uses the pIRQ chip, while leaving it unset for the rest of the
> > > cases.
> > > 
> > > Remove pci_msi_ignore_mask at once, since it was only used by Xen code, and
> > > with Xen dropping usage the variable is unneeded.
> > > 
> > > This fixes using devices behind a VMD bridge on Xen PV hardware domains.
> > > 
> > > Albeit Devices behind a VMD bridge are not known to Xen, that doesn't mean
> > > Linux cannot use them.  By inhibiting the usage of
> > > VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mask
> > > bodge devices behind a VMD bridge do work fine when use from a Linux Xen
> > > hardware domain.  That's the whole point of the series.
> > > 
> > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> > > Acked-by: Juergen Gross <jgross@suse.com>
> > 
> > Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> > 
> > I assume you'll merge this series via the Xen tree.  Let me know if
> > otherwise.
> 
> I've pushed the series to the linux-next branch of the Xen tree.
> 
> 
> Juergen

This patch landed in latest next-20250324 tag causing this crash:

[    0.753426] BUG: kernel NULL pointer dereference, address: 0000000000000002
[    0.753921] #PF: supervisor read access in kernel mode
[    0.754286] #PF: error_code(0x0000) - not-present page
[    0.754656] PGD 0 P4D 0
[    0.754842] Oops: Oops: 0000 [#1]
[    0.755080] CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.14.0-rc7-next-20250324 #1 NONE
[    0.755691] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[    0.756349] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
[    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
[    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
[    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
[    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
[    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
[    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
[    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
[    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
[    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
[    0.756390] Call Trace:
[    0.756390]  <TASK>
[    0.756390]  ? __die_body+0x1b/0x60
[    0.756390]  ? page_fault_oops+0x2d0/0x310
[    0.756390]  ? exc_page_fault+0x59/0xc0
[    0.756390]  ? asm_exc_page_fault+0x22/0x30
[    0.756390]  ? msix_prepare_msi_desc+0x39/0x80
[    0.756390]  ? msix_capability_init+0x172/0x2c0
[    0.756390]  ? __pci_enable_msix_range+0x1a8/0x1d0
[    0.756390]  ? pci_alloc_irq_vectors_affinity+0x7c/0xf0
[    0.756390]  ? vp_find_vqs_msix+0x187/0x400
[    0.756390]  ? vp_find_vqs+0x2f/0x250
[    0.756390]  ? snprintf+0x3e/0x50
[    0.756390]  ? vp_modern_find_vqs+0x13/0x60
[    0.756390]  ? init_vq+0x184/0x1e0
[    0.756390]  ? vp_get_status+0x20/0x20
[    0.756390]  ? virtblk_probe+0xeb/0x8d0
[    0.756390]  ? __kernfs_new_node+0x122/0x160
[    0.756390]  ? vp_get_status+0x20/0x20
[    0.756390]  ? virtio_dev_probe+0x171/0x1c0
[    0.756390]  ? really_probe+0xc2/0x240
[    0.756390]  ? driver_probe_device+0x1d/0x70
[    0.756390]  ? __driver_attach+0x96/0xe0
[    0.756390]  ? driver_attach+0x20/0x20
[    0.756390]  ? bus_for_each_dev+0x7b/0xb0
[    0.756390]  ? bus_add_driver+0xe6/0x200
[    0.756390]  ? driver_register+0x5e/0xf0
[    0.756390]  ? virtio_blk_init+0x4d/0x90
[    0.756390]  ? add_boot_memory_block+0x90/0x90
[    0.756390]  ? do_one_initcall+0xe2/0x250
[    0.756390]  ? xas_store+0x4b/0x4b0
[    0.756390]  ? number+0x13b/0x260
[    0.756390]  ? ida_alloc_range+0x36a/0x3b0
[    0.756390]  ? parameq+0x13/0x90
[    0.756390]  ? parse_args+0x10f/0x2a0
[    0.756390]  ? do_initcall_level+0x83/0xb0
[    0.756390]  ? do_initcalls+0x43/0x70
[    0.756390]  ? rest_init+0x80/0x80
[    0.756390]  ? kernel_init_freeable+0x70/0xb0
[    0.756390]  ? kernel_init+0x16/0x110
[    0.756390]  ? ret_from_fork+0x30/0x40
[    0.756390]  ? rest_init+0x80/0x80
[    0.756390]  ? ret_from_fork_asm+0x11/0x20
[    0.756390]  </TASK>
[    0.756390] Modules linked in:
[    0.756390] CR2: 0000000000000002
[    0.756390] ---[ end trace 0000000000000000 ]---
[    0.756390] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
[    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
[    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
[    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
[    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
[    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
[    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
[    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
[    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
[    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
[    0.756390] note: swapper[1] exited with irqs disabled
[    0.782774] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
[    0.783560] Kernel Offset: disabled
[    0.783909] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 ]---


msix_prepare_msi_desc+0x39/0x80:
msix_prepare_msi_desc at drivers/pci/msi/msi.c:616
 611            desc->nvec_used                         = 1;
 612            desc->pci.msi_attrib.is_msix            = 1;
 613            desc->pci.msi_attrib.is_64              = 1;
 614            desc->pci.msi_attrib.default_irq        = dev->irq;
 615            desc->pci.mask_base                     = dev->msix_base;
>616<           desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
 617                                                      !desc->pci.msi_attrib.is_virtual;
 618
 619            if (desc->pci.msi_attrib.can_mask) {
 620                    void __iomem *addr = pci_msix_desc_addr(desc);
 621

Reverting patch 3 fixes the issue.

Daniel


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:23:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:23:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925773.1328651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjdi-00053n-Qg; Mon, 24 Mar 2025 15:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925773.1328651; Mon, 24 Mar 2025 15: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 1twjdi-00053g-O0; Mon, 24 Mar 2025 15:22:58 +0000
Received: by outflank-mailman (input) for mailman id 925773;
 Mon, 24 Mar 2025 15:22: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=BTZL=WL=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1twjdh-00053Z-H2
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:22:57 +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 dc15ee4b-08c3-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 16:22:55 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so3664346f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:22:55 -0700 (PDT)
Received: from localhost (0545937c.skybroadband.com. [5.69.147.124])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9957d9sm11182127f8f.9.2025.03.24.08.22.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:22: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: dc15ee4b-08c3-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742829775; x=1743434575; darn=lists.xenproject.org;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3VEWUjyrDkZUiiqHrR1WsWydWDqhe+XwfFtaz1hrJS8=;
        b=f93wmTXX0+27qa2dFT3AJwh6xL4mi5g5nwOlq9JILiHl7GrAkzchoCFgXR7GYMds1r
         2xy8HjsXmYbqQAbXZnzLxI6SqiiDGaSml/q2VqigqB5PPHRM2IL490c9ziMwkjAmLenQ
         9KscvZNCTKtkIeI8HltkhBsrE4LUuHvUl7CWA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742829775; x=1743434575;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=3VEWUjyrDkZUiiqHrR1WsWydWDqhe+XwfFtaz1hrJS8=;
        b=kUt42AipBiKgUIRJpdLdon59IqQM6NJJr81k+rrXuZiPKc+tFUZW/euffODtYkJ9jn
         Ap3xk6tHjUggwo8An7CuHl0ZvbwxRywMlFNAhs7Bll8Ev1/TNrAzTPMOq/Mm2XLrnVCi
         qtALVeBwH3ph+dP0rbhpPJWlgxpvabb9CggbafxK3fMfTxXBG/VvqGn9ygYo+mE72qSQ
         m4Pk5x3vAhzvO//zMBcJtMoRn3yEuoJkOkv+RFkFf+cZJaCeDVzPg3biUC1HzLnNxD4L
         FEUWTjB6kWVss4OPH6OS0J0zaYDfW8k0MtDDVcD4QCDI+xHZGAfnbuJUw0t7ZjbuZv/7
         j7UQ==
X-Forwarded-Encrypted: i=1; AJvYcCXewvu9RkrkYXL9Sns1FkQD7lTrJwy9dccEbzHI6J0dda+c1m67jp6of/qXPxJIjM1BXCQ6Y0cngoo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxWtLVNwSkipspuNVQAqaQvpkEW7fZ6pYQIhndfaRpehIjBCj1I
	N7Dw6o+jP44K0iFtLdyA7JSfnzaVqDDhlDtAxUQh5r6WCwRb72PhP2WApjg+ZRU=
X-Gm-Gg: ASbGnctcrOfCuS9nb5l0KZxgkUzuogDhDFc4ko9Aq3eiarN9aqo3K40FqFea7mq3X75
	92Eb+cOrgb+y27Mjbp1+Lc2XjYD3yZEkEMrPmebbtjdUyo+6wqnJoV/e8K0fJE4RKBlcQJtR9nZ
	5TiGlSXIKU0GUwDvWeMYIgkYLcYmUSgzb1Pi5or06hjNezLYk6g+rZXDS/hPG4SK18mmWHwFO4p
	3r1kop8wX0DBea7pzY6BugtNdrWV2hdZZHugYZO1tkCQ7BRrouYq3qyyvbkONGBqyaeKvVoZn3U
	F55EPBOK86aBrQL2jV/vYZUyBQdQ4zqVB+zhW14EQ78dRRzNH6VYgC9jLhareSVCW5VrlsVVroY
	=
X-Google-Smtp-Source: AGHT+IFuDv5gKbkgFW3LKVNBP9IeNcu3pY40SmZuc2Ym+OBrdI2rIHLo3vLpQlkGy8KpqcIcXsvzgA==
X-Received: by 2002:a05:6000:1f87:b0:391:2ba9:4c59 with SMTP id ffacd0b85a97d-3997f93988amr12349288f8f.43.1742829774791;
        Mon, 24 Mar 2025 08:22:54 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 24 Mar 2025 15:22:53 +0000
Message-Id: <D8OLLCXYKINR.3HD274I110XCF@cloud.com>
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Orzel, Michal" <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Juergen Gross"
 <jgross@suse.com>, "Luca Fancellu" <luca.fancellu@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>,
 "Bertrand Marquis" <bertrand.marquis@arm.com>
X-Mailer: aerc 0.18.2
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
 <17608388-b900-45d2-bb74-8eec04ab1f76@amd.com>
In-Reply-To: <17608388-b900-45d2-bb74-8eec04ab1f76@amd.com>

On Mon Mar 24, 2025 at 1:08 PM GMT, Michal Orzel wrote:
>
>
> On 19/03/2025 15:01, Alejandro Vallejo wrote:
> >=20
> > Doesn't this regenerate the golang bindings?
> FYI, it does not. The bindings are already there for NrSpis and default v=
alue is
> does not result in a change (for verification I checked max_grant_frames =
that
> uses LIBXL_MAX_GRANT_DEFAULT).
>
> ~Michal

Oh, good then. Though it does raise the (completely separate) question of h=
ow
correct those bindings might be if they ignore the IDL's default values... =
:/

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:26:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:26:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925781.1328661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjh2-0005bu-7j; Mon, 24 Mar 2025 15:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925781.1328661; Mon, 24 Mar 2025 15:26: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 1twjh2-0005bn-4x; Mon, 24 Mar 2025 15:26:24 +0000
Received: by outflank-mailman (input) for mailman id 925781;
 Mon, 24 Mar 2025 15:26: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twjh0-0005bh-9P
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:26:22 +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 56a5b708-08c4-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 16:26:21 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so36590135e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:26: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-43d43fdaca8sm177255605e9.28.2025.03.24.08.26.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:26: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: 56a5b708-08c4-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742829980; x=1743434780; 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=rWdPRhU46orMge+R7VA13roLeqydimtZ2Fd67A06kDI=;
        b=dJ8vwUHC+rYuakf2UtmlkUrRZ17yBOQHWMD5V1hwRXBXOI3No1ig7YlBgYkErVDxWC
         Thoe8cB2NB61/g0dTYvDT2yMuZJRbCSbZ4Dq280HgxHCEYGsXAIhNMavpo7lyoCQmG3+
         4arQ9YUPBmh7GKkO6qFfbeljI+9S+jY9uHLUELxsm2hszdcf4SDI5Ld3ozYPsvlRGaJ6
         aDbJE0dJ62lJRfH4la2VZBNzrTl6q1feoGeESHT3NTEypD63SfvR7BU6wtLF/jDJkqh5
         ZRN6Y2SesK51YVwWjq1VzCIgvLgBhRNhJP3j5rvAce3cB4LpNSFZxy+IAIE+uc95LJ5J
         70fQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742829980; x=1743434780;
        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=rWdPRhU46orMge+R7VA13roLeqydimtZ2Fd67A06kDI=;
        b=WmeosHjZorCM1FJt/8tQxQ0Udda62XlroZFKu1QbfMRvoDiZDLEaPStTMFyuNQ7aR+
         Zoc1BCd8cJ2K/OeL6s4cA5SZNDqMcoQgslVCCdPi9ooObQjMlUabRShHIViJ6QBlx3hF
         dniflq61D7bbg64eAMdFNxvyD6t+mxzwotITrZLOTqbOzHENphd6dsGcMwBnzSCnupu9
         5K8+x7cBwzMvfRAn5FqOX/fW7p37MngMvBXcEe9dhxI4IOdwFPnpVe01WDxON0ak3IpH
         JhDj2VCKO3cIqycaa/YzCiAwromW2rg9WpDeuctwgVozry4EL1ri17fzEfpP/2kpnRDd
         n7mQ==
X-Forwarded-Encrypted: i=1; AJvYcCU9SNzucPikUbDkb+HWKTgTMVtRD/cfxGoQY7H1ORz4qNPnBUL6/IEHMUwlQTGpbX+q3K5jqAgpyvU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwASox/A8+eXHhxzewVt8tfwc05o3sJdy4JOuXLBWZvYNMVRJfi
	S5z3HQlaiczwqu1zeLdq2iqRsNeC5SUW22Fq4A2MNh/HyK6zw3p7fxi0nFyBxg==
X-Gm-Gg: ASbGnctY6nydgf7Zyj25Us9+IB2yO1lZ5bhFuraDI+XvQlDzivhU2WlFwDT4BRu7LWE
	LaptL3oX+fTBdkckIkLdbqY4Br3v0WZYZAT8P7XxKCFmp/EMGfl6fHQgZZC+SCPrGaq2iF9UZw3
	kBFGOfyLqVBdett9JG5ZNrKi8BJvget9oQ6MFlLC+xCvHXRYLpnCbZJ2+2Y4Ckt5ScQCDvqLI7z
	J+k+uBU5B++56kNW7dOhx/+GFoC4B/JLs2uYB4WFI7prXwp2SxqsmWdR6vFbJ0hplEICKx8ZxQB
	nZdcXHxQ/Uzyp6CF8zkhjYfVUHNRlx9cIUMmILUT2NEqyeCv1PajnDXdo5C/TMlo2O4eytwG4JR
	6+z+YDpzy33Qvzbm8nL5PKuMyq36C1w==
X-Google-Smtp-Source: AGHT+IGyMQC31kLHa3kmrL1TIvG+4f6tz2GZPm1V/IDuheE/NMYV5BUXAzgJu1YJ+hKGInga3rrlBg==
X-Received: by 2002:a05:600c:190e:b0:43d:b51:46fb with SMTP id 5b1f17b1804b1-43d509e0514mr123829205e9.2.1742829980383;
        Mon, 24 Mar 2025 08:26:20 -0700 (PDT)
Message-ID: <5498f98e-f3c5-4cb4-9a3d-793239a4339d@suse.com>
Date: Mon, 24 Mar 2025 16:26:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-6-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> @@ -514,5 +515,14 @@ acpi_cpufreq_driver = {
>  
>  int __init acpi_cpufreq_register(void)
>  {
> -    return cpufreq_register_driver(&acpi_cpufreq_driver);
> +    int ret;
> +
> +    ret = cpufreq_register_driver(&acpi_cpufreq_driver);
> +    if ( ret )
> +        return ret;
> +
> +    if ( IS_ENABLED(CONFIG_AMD) )
> +        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_CPPC;

What's the purpose of the if() here?

> @@ -157,7 +161,35 @@ static int __init cf_check cpufreq_driver_init(void)
>  
>          case X86_VENDOR_AMD:
>          case X86_VENDOR_HYGON:
> -            ret = IS_ENABLED(CONFIG_AMD) ? powernow_register_driver() : -ENODEV;
> +            if ( !IS_ENABLED(CONFIG_AMD) )
> +            {
> +                ret = -ENODEV;
> +                break;
> +            }
> +            ret = -ENOENT;
> +
> +            for ( unsigned int i = 0; i < cpufreq_xen_cnt; i++ )
> +            {
> +                switch ( cpufreq_xen_opts[i] )
> +                {
> +                case CPUFREQ_xen:
> +                    ret = powernow_register_driver();
> +                    break;
> +                case CPUFREQ_amd_cppc:
> +                    ret = amd_cppc_register_driver();
> +                    break;
> +                case CPUFREQ_none:
> +                    ret = 0;
> +                    break;
> +                default:
> +                    printk(XENLOG_WARNING
> +                           "Unsupported cpufreq driver for vendor AMD\n");

What about Hygon?

> --- a/xen/include/acpi/cpufreq/cpufreq.h
> +++ b/xen/include/acpi/cpufreq/cpufreq.h
> @@ -28,6 +28,7 @@ enum cpufreq_xen_opt {
>      CPUFREQ_none,
>      CPUFREQ_xen,
>      CPUFREQ_hwp,
> +    CPUFREQ_amd_cppc,
>  };
>  extern enum cpufreq_xen_opt cpufreq_xen_opts[2];

I'm pretty sure I pointed out before that this array needs to grow, now that
you add a 3rd kind of handling.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:29:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:29:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925790.1328671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjjq-0006Am-L9; Mon, 24 Mar 2025 15:29:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925790.1328671; Mon, 24 Mar 2025 15:29: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 1twjjq-0006Af-IQ; Mon, 24 Mar 2025 15:29:18 +0000
Received: by outflank-mailman (input) for mailman id 925790;
 Mon, 24 Mar 2025 15:29: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=r2bg=WL=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1twjjp-0006AY-AY
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:29:17 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20630.outbound.protection.outlook.com
 [2a01:111:f403:2606::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf0cdaab-08c4-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 16:29:16 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI0PR03MB10298.eurprd03.prod.outlook.com (2603:10a6:800:201::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 15:29:12 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 15:29: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: bf0cdaab-08c4-11f0-9ea2-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=B46kkRBBc7O69fOla+idr3kYM41uoEUiYwxb6jUk5VLnkNiiS61ICna9oTDixA3JOG8nV6rogVDLk/soBbJ3845r4KBJ2IG5Kg8jS7IPtKlzI0i/a22ap7x8fVDgdVnR8m4IZsvycraD0HnFbRE0xPeB2m8f09a/PSU1kUlBFPix9HQHAD9fEOq0s7DYRhY1oDPnoGjEvrmptLGsSquMaAz3FDUo3AkxWHw+3/Uwp+GS0VhuH13peMBsMqM7ianaXukVj1LiNvBe2H99v8KUGKP4mjmjYNvxRyzIncX+BAvJIsVdptng7VfNtxTJQLo4o9Eug/5Wf+DZk0gO76lPJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IA0M1wM2hsNbrNNAUE3UPqZm96I2mrOBpeFjpJJiZog=;
 b=Ln6v52+cjBFYT7xzf0P7VQDhHbCOihhk1bWjJZCxqkOzcy6B+HnXB7FI40+TqL/sl/Pil6I3ZCrEuyK20Kvs/SOpthtkaIqsMQcMIqODqJW/rneQ9p+MJqgyth9dLphnbO25AqSutfj3BmxFEQwFcf14M38lBFXUgMmleHczJsO82AOCXQa6S+5DVOxDu/zJXnFNJUajBBO/LKHK9v2GOPynL2HFtcWC1htq0DHmEQybhUdTBBCLuGJQIBrt5/vAs33tqyNaDzi4NSN+Hi4uvpKsV8O5i1izmKoTaSw5f6ysXTQSal7u0lEQevCvbEkoOH70SMdOgWK+vHvGnyU/HA==
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=IA0M1wM2hsNbrNNAUE3UPqZm96I2mrOBpeFjpJJiZog=;
 b=be5huwweorueDjtck1plg5yeL8geJAYZx6k5ya6iV6yhDwl+qcu1hOTkkw4VmCGzDVZUzBEwGfP3FDovUiINqR5FbXlqzACJujHsoLiuOM7gRvyFz2hSaomttYQh6pyQiMX+zs696j+Dl+hamtGcJZnPDDcGORDciXl+8VA/L4GEVC5z2LRiXP+hMSPFqBwlBtyhWwMlsn0Niu6hQ8quNr8VMwrbt9YydsK1I1xfBmfB0pZuGvcskWSuaYa+XXZkuNUWb7Z1WqCkmxHh9BwjwFYYJfmmWSr7s6W7/Op1N1lazUaivZyeMntz1/c6pETiDMxZhD+6aohUM+knbmTSxg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <6f5e22f4-9554-444b-9d88-83c2304161ef@epam.com>
Date: Mon, 24 Mar 2025 17:29:09 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/7] xen/arm: add generic SCI subsystem
To: Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-2-grygorii_strashko@epam.com>
 <6a0a3b3d-9bbd-49da-a37c-eb1cbad94cc1@suse.com>
 <53758670-ca39-4df2-93be-5dc417231f1d@epam.com>
 <42511843-c6e0-40ae-894a-cad4a73c002c@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <42511843-c6e0-40ae-894a-cad4a73c002c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0149.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b8::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_|VI0PR03MB10298:EE_
X-MS-Office365-Filtering-Correlation-Id: f00b953c-80e3-4c2e-7b1a-08dd6ae8a102
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7416014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?U29KSTBVa0NRa1Z0LzV3VVpRL3NCL0d2cWRHM3Q1ait6cUpiUmI0ZGp5VDM0?=
 =?utf-8?B?VnQwZGRFT0FERmJ5eTlBS1FvT3cvZEJNVmcxOXJybDVweW9yWlkvQ3JNTW1U?=
 =?utf-8?B?TzVYcWhTY1JNemd0NkNKMWV3d2VISFVaVitQZzY4T2o5REZZZXVGeGx2NVZS?=
 =?utf-8?B?bEl1c1E3TDh6ZE9xQ0s4NHBNRStXSlJ3a3ZRMjlWRzh5NDc5K2V1VXJPeGZF?=
 =?utf-8?B?Q1IvVlQxR3gvNXRxZmh6c3NkeTNOSm5lNDhjOW9HajRmVTFOaW9kRFNjUmo0?=
 =?utf-8?B?dEtyVDZvUDlidWtrbG9Gb0NtMUp0clgzWWpJNUsybUp1SG9xUlR5MUt2TGtz?=
 =?utf-8?B?QlJaVVZMbkRoOGsxUmVCKy80cWFVT01hZURQT1Y1WDBZZXIrSWgyd0VaemhD?=
 =?utf-8?B?SEFuSG5ocXI4dkp5SVpEbTVIS0NWQ0M2NWM5S3U0U2xkYlhKK3ZoblAzWlhU?=
 =?utf-8?B?NE9vTy9SK2tTbGY4alR5RFhTVCtySm5sTXgzdmdTbTJEbXA5OHVuc25mSVdo?=
 =?utf-8?B?R3JpQWhSOHkwNGV6QzZrVEhydzQvNXl4NlNvOHI2V3UrSDRhM3MyRDhTcE1S?=
 =?utf-8?B?R2NOM2k2MUxVeS9FR2VpWEdHdE93RnNDOFlGYUhyT3NEWTJXNGdtaCtpOTJQ?=
 =?utf-8?B?Myt1MW9US1lIeEtBVWtWeTlmOHdpN01ybC9PWWFrVm03L3k1RThkQy93eTM1?=
 =?utf-8?B?a1cybWd1TlV5MEhrWEZoekE1VzRkNCtnWjdPSmxiZmhSR0VPSHBEbXFjd2Nn?=
 =?utf-8?B?UWE4TzdoNTJMMzRyRkh6MXJ3YS9IUjAwcWt1Sk1hMGxmNkNxNEJxSlJ0RFg2?=
 =?utf-8?B?TnZoenFRb1Jrc2JDa2EwV0l0YjE1RTQxQ3RpdlBibFlJMnhJSHNSdTdEKzJk?=
 =?utf-8?B?UEhLeTMycDZIMEJZek1VcWtiRUdPMlhCYThXSUtWVTNwYnJHV3JNWW8wSmtS?=
 =?utf-8?B?VWl2OEZ1UEljMGtGbDhQVkdEZEhvWiszRUFuUDZaVDEwOTVYWnJCK3NhYWtC?=
 =?utf-8?B?WjFSTlhJUGQxallwamI2QTBPTitnWTIweXZ2V0JGbjdYdmFJODMyN1NkUEFT?=
 =?utf-8?B?M2FOY1FHd0hPVHNuV3lzN1JmSHc4YlJGRDVRMXIvYTFLaG93ZlZhL0Y3T1VZ?=
 =?utf-8?B?bE9vTlZXMWE4MVh0anB3bVZPVW82UmR0WnRYVkZtUDZ5R0hLSlFNK3BqYmJW?=
 =?utf-8?B?ZTVsZU5oMFQrdC9RZW5DSnFVaVhvMVdDSGd5aFo2T1R3K25ZWEU5U2hjL3ZQ?=
 =?utf-8?B?dFM4ZjVZL2xpWFN1bHd0Zlp5bnY4OGI4MGhOQVJjaGNsL1JJQzVWa2Eyakl5?=
 =?utf-8?B?Um4xMG5mdW5IUkdaSWNCRU5VZU1RN2VheHo5M0dpYlB1N002TjJtekxlWHVR?=
 =?utf-8?B?Zkc4bzlvVjlSRTg4ekEwWE1sVGRMVmUvcGhuajVlbTNiS0x1ZE1hVXcwV2l0?=
 =?utf-8?B?OUFaUGdaRmlraWpPeGV0Uy8xUHFYNnU4S2VqZTM3QWdNbDVZMjBjbEc0T0tT?=
 =?utf-8?B?NGxMTXNZNDFyYmhDRXBjakFaTGg4OG8rdnhpcWwxcUU5ZS91dGpKUVpheEkr?=
 =?utf-8?B?SjVYQkdVQTF2ZkRjU1JuNHQxMVFzeU44WmVMYzBMbUhBc2ZlcDJ5UkEzbW9m?=
 =?utf-8?B?SmpjQnRweUFrVS9kNWRUQmI0RDAwT0dDSS9XZHVzWTUzYkhna1g5RzIrY3RU?=
 =?utf-8?B?TUtmY3RONjZoNEZDc2wybkhRc2wyMzhTWFBpRlhCNzlhTzdaSGg4cGVWZkZS?=
 =?utf-8?B?cU0vUXFweHF5c0hHWTBpNE5DRXNuNWRWNWVhUFZhdlZRakM2T3RjYTRjWmxv?=
 =?utf-8?B?RktYYllibGhrZXVPMzB5WWZTenh2TSt3Z1BXNHU3L0RvbTltcWVkSVlxRlda?=
 =?utf-8?Q?h/y0qFPwo3SEI?=
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)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3psRkJKSTliVU9VeWhnNHM3TnlIcnZ3eFNwa0NUZUJSTTNveWxKT0FLRTVr?=
 =?utf-8?B?QkZZMDk5NkIxenVNOUZLNmRMTTJONktKU01WQmxHU25BYXFtRHVzN3FCR0o3?=
 =?utf-8?B?VG5FbllDdENheWc4anBTOFQxdkNMSG91QlBEalZiWHJ6WWVHbkw0L1V0RXh0?=
 =?utf-8?B?SC9PeVNHekpyKysrd0FnR0IwYlpsVlZINVU5QVA3ZWpaaVY3R0FKaEJRSUtT?=
 =?utf-8?B?bGxrTXRQckgyYmpkcERzeEQrOVNzRXpmeWEyMUNzaVZITUtMcFhSQjJTR3My?=
 =?utf-8?B?Qnc1VWpyZ0hqZzltS0lCZFBobmVCbkFBVVNKU2h0Sms0cDZQRTF6d2RTK3hC?=
 =?utf-8?B?cGR3T1ZsQktCT3lzRFBvc3FqRlZSY2MvUFUxZGJBV3RuWUdKNVVoL1hyOCtM?=
 =?utf-8?B?R1IxZndOOUxYUzVpLy9HL2xVek1JTWQ2cXJqQmxOblkwNmc1RGk0b1JHMUEz?=
 =?utf-8?B?bC9HSFFmeFYrU3hGTVpXUkhnNlJjZVRDOEtzd2p4MmJwdC9pQk9ZY3ZlRlJR?=
 =?utf-8?B?VmtMTnVSWXVHdSs5TUk1cndqZHIwSmNla09adHRvcHR1em1UVTE3TFpOTTJD?=
 =?utf-8?B?VW5qME5YMmQxcVo4KzllRVJOMEVtYUFSQ0RPd0toQW1EQ0F2Yit0TUpMa3da?=
 =?utf-8?B?RWdiaTAxQjFiNGNiU3VWU0MveVVtMzZqdnFKWFFFR2NTcnFPNlVNR2c1dmJI?=
 =?utf-8?B?SFQySllyZnMrK21ZNkhhYk9zWUxIRWZQWDF2UFlraml0akRQS0JnVDhtRXZx?=
 =?utf-8?B?YVJxZ05PMEdhS0ZnZU11OUh2MVV2Zy85SHZkUjRQd2dsblZ1SUd3L3h0WkNC?=
 =?utf-8?B?ZExzODVjNG9sWWlnSmFMUitlU1BKNDhCS3BzRlNLN0xoSld2ZnRoOWRvNVYw?=
 =?utf-8?B?L3hScC9GZVg5eUxGUzRpbFBRZEVXZWdlbnJITC9Hc1NubHZGU25qSmZtTzlJ?=
 =?utf-8?B?Q2I0V3EvU3pZODd4Q0lFNmhzdUZLdXR6V3FFUUltdFdIMnJwcUF5Z05MUWJn?=
 =?utf-8?B?c245dVdSZTRETE5qMktNUmIrUk13cHRjUm1hWkE0ZUwvOXdOTXg0K2M0NFcr?=
 =?utf-8?B?RmdqZUVnRnp6N2ZqMmdMNkpLNFhBcU50OTFIL3lNMFVQVGlsNUxWRVphaUVI?=
 =?utf-8?B?SFhicjlEVGJ5UUpUQ2dUeTE1VEhaUXZGUHhhNnpydEtWZ0k3c0c0QkJoZmx4?=
 =?utf-8?B?TzNuNytJVjJ3aURBdVF2emRlbFkwYWQ2U05TdG0wR3J0YWZ3YjVSZFB4T3dM?=
 =?utf-8?B?NjJhWnRFdWZpVlRUemp0TVlFU1ovWWV3bFE1Mkx1VFJ2UkN5Nml2eWNFM0hp?=
 =?utf-8?B?Zklwci90WXJhMWV5SlBPQUdNWkh0OTAyWWhEeGVCeEZ6STNVSnFqYkZKNFgw?=
 =?utf-8?B?SW1tSk8rSDd3b2VOS2hQcytWeVpKUHZxd2I2MFZ0cVpVa01UT0FITlFCZVFH?=
 =?utf-8?B?Z1h4cnNqUFBLakxJVS9wdTdBQytQbkhHem5SQVRvRm9ZV044VmhpYlRQdlVO?=
 =?utf-8?B?dUw1dmpXWEFEa1JPN2N5NjFwQUZiUmdKSWllZVZsWEhIbk9qTGxBVmdlaVVF?=
 =?utf-8?B?ZmhUYnpmVmF3QzI2K3FaQXNhSHVqdDlxMmM3VWlqOWRheWpCSTJjemlVb1Zr?=
 =?utf-8?B?bm5wQTBwbUR2bjhENkRDdVV3aUwwRGt4SGtsSnQvOUdYaTVPRXl5N2c1bVQ3?=
 =?utf-8?B?QXZPZVgzK1hBejRicG55TTNQOFIvUWo2QmRGUTh4cXRXNm0zTE9BcG9QN0hX?=
 =?utf-8?B?a3lwT1FrRTJ1MzJkN0FwT1BCaElUQ1Zrb1d1eFl1elhaSDlJeFh3ZmV0Z2w1?=
 =?utf-8?B?eXBnSUhlS0w1V09vRi9kMWZsUGtocEJJQzJFY3FneWhxUWMxMzFjT2NHUk5H?=
 =?utf-8?B?dWtORTIveVAyMm5OOUFScngzK2IrODZyTWdvYzU0U2orcmwrTUlOdE9qdU1T?=
 =?utf-8?B?azRIU0t2dDdOWXdWS2RoTTFFdkkxVXI2L3ZaY1Y1WlIzblphYTAwcXFtK2lE?=
 =?utf-8?B?UDBtc1YrcnloT0FQTytlb1lUZVpaK05MQ0gzOUNQWFdHL1E5RjlEQjl2RFJ1?=
 =?utf-8?B?WTRLVXJ4cHBXbXJwYlFoVWVvZzRQV1RBRXdLdlRZeG9EZUJadFRHVVExSEI5?=
 =?utf-8?B?QkJRQVNDOTJ1WER3Z2s3OXBTZDU2V3gvYzN1MDd4eS9JWWxmSlU0MjkwbFZS?=
 =?utf-8?B?U2c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f00b953c-80e3-4c2e-7b1a-08dd6ae8a102
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 15:29:12.4988
 (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: xKwwuwbRtzAtOJPmg+mPkbEP0Y3+KBIAApiIYYZBvXTLzO3Q/Ia6hgP0YP6WK6xwZ5JEP8Drc9JIplYwZbFFgHkC6OlpWfJKalB6jC96k/0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10298



On 24.03.25 16:36, Jan Beulich wrote:
> On 24.03.2025 15:25, Grygorii Strashko wrote:
>> On 11.03.25 13:43, Jan Beulich wrote:> On 11.03.2025 12:16, Grygorii Strashko wrote:
>>>> @@ -851,6 +852,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>>>        case XEN_DOMCTL_deassign_device:
>>>>        case XEN_DOMCTL_get_device_group:
>>>>            ret = iommu_do_domctl(op, d, u_domctl);
>>>> +
>>>> +        if ( ret >= 0 || (ret == -EOPNOTSUPP) || (ret == -ENODEV) )
>>>> +        {
>>>> +            /*
>>>> +             * TODO: RFC
>>>> +             * This change will allow to pass DT nodes/devices to
>>>> +             * XEN_DOMCTL_assign_device OP using xl.cfg:"dtdev" property even
>>>> +             * if those DT nodes/devices even are not behind IOMMU (or IOMMU
>>>> +             * is disabled) without failure.
>>>> +             */
>>>> +            ret = sci_do_domctl(op, d, u_domctl);
>>>> +        }
>>>>            break;
>>>
>>> Despite the comment I fear I don't understand what you're trying to do here.
>>
>> It enables in toolstack "Device specific access control" function, which is implemented in SCI FW.
>> SCI FW has privileged management interface assigned to Xen,
>> and non-privileged interfaces assigned to guest (VM) and identified by agent_id.
>>
>> SCI FW manages access to HW resources clocks, resets, etc, which considered shared and
>> which can't be accessed from multiple domains due to HW limitations.
>> SCI FW can also manage safety specific resources like HW firewalls for example.
>>
>> Each device identified by device_id and can have HW resources assigned to it
>> device_id_res = {clk_1, clk_2, reset_1, pd_1 } - FW implementation specific.
>>
>> Device can be assigned:
>> 1) to any VM, but only to one - dynamic configuration;
>> 2) only one, specific VM identified by agent_id - static configuration.
>> The policy is FW implementation specific.
>>
>> Here and below the case (1) is considered, while in the case (2) - nothing need to be done.
>> To enable VMx access to device_id (and its resources) the special request need
>> to be sent to the FW management interface to get device_id accessible from VMx.
>>
>> In case of SCMI, ARM System Control and Management Interface (SCMI)
>> specification (DEN0056E) - functionality defined in sections
>> 4.2.1.1 Device specific access control
>> 4.2.2.11 BASE_SET_DEVICE_PERMISSIONS
>>
>> The HW configuration described in device tree, like in the below example
>> (abstract, not related to any specific FW, but principle is generic)
>>
>> Host DT:
>> /sci_fw {
>> 	#access-controller-cells = <1>;
>> 	#reset-cells = <1>;
>> 	#clock-cells = <1>;
>> 	#power-domain-cells = <1>;
>> }
>>
>> /soc/deviceA {
>> 	clocks = <&sci_fw 1>, <&sci_fw 2>;
>> 	power-domains = <&sci_fw 1>;
>> 	resets = <&sci_fw 1>;
>> 	access-controllers = <&sci_fw 0>;
>> }
>>
>> To trigger SCI FW it required to pass Host DT device path "/soc/deviceA" down
>> to the corresponding SCI FW driver during domain creation by toolstack.
>> And it has to be done as for devices behind IOMMU, as for devices
>> not protected by IOMMU.
>>
>> To achieve above xl.cfg:"dtdev" property was selected to be used due to:
>> - xen doc says
>> "
>> Specifies the host device tree nodes to pass through to this guest.
>> Each DTDEV_PATH is an absolute path in the device tree.
>> "
>> - toolstack triggers XEN_DOMCTL_assign_device(XEN_DOMCTL_DEV_DT) hypercall
>> nothing from above says it's strictly limited to IOMMU-protected devices only.
>>
>> But now ARM XEN_DOMCTL_assign_device actually limited to IOMMU-protected devices
>> and will return to toolstack:
>> -EOPNOTSUPP if iommu is not enabled
>> -EINVAL if DT device is not IOMMU-protected
>>
>> in both cases toolstack will fail.
>>
>> Idea behind this change (and change in iommu_do_dt_domctl()) is to enable
>> XEN_DOMCTL_assign_device(XEN_DOMCTL_DEV_DT) and so xl.cfg:"dtdev"
>> for DT devices which
>> - IOMMU-protected only (has "iommus" property)
>> - require device access control (has "access-controllers" property)
>> - both
> 
> Thanks for all the details, but I feel overwhelmed. I'd like to see this clarified
> in more basic terms. For example the comment says "This change will allow ...".
> What's "this change" here? Together with "TODO: RFC" it feels a little as if the
> code comment was really meant to live elsewhere (patch description? post-commit-
> message area of the submission?), and thus offering little value to an observer
> like me. Yet as this is common code, I'd like to have at least a rough, high
> level understanding of what's going on here. This doesn't need to go into any Arm
> details that I may not fully understand / appreciate anyway.

I'm very sorry for the confusion, I'll move changes in question in separate patch.

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:29:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925797.1328682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjkR-0006dk-SN; Mon, 24 Mar 2025 15:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925797.1328682; Mon, 24 Mar 2025 15:29: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 1twjkR-0006dd-Po; Mon, 24 Mar 2025 15:29:55 +0000
Received: by outflank-mailman (input) for mailman id 925797;
 Mon, 24 Mar 2025 15:29: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=Y5aS=WL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1twjkR-0006Pr-5o
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:29:55 +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 d53acd4a-08c4-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 16:29:53 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-ac2a9a74d9cso916418266b.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:29:53 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efd163cesm686774666b.151.2025.03.24.08.29.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:29: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: d53acd4a-08c4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742830193; x=1743434993; 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=zp0b8xhyimXIfQLnEri6+5YQXuIr7BBBLcS0XipQZCo=;
        b=acdFvnyfs62i2rD9KoQg7lYThTC7EJy7Gy7ozaawgopjxb4TRSmXAe+DN7/BSovo1u
         X3Uyb6N3myx0zQamD9++CvHF5ibJ4omh4d5EPP4z+oriNYQZdQb1qloSALOdyDkEtuVM
         j+rXt0kGL5JvNKGTH5Ywlz4Jea0vZiljwPJVFK97Q1meVF5JFePCA74uOfB5tSQl0aep
         eGOfu2TPoY2bw1dhwlTmZwJkxpJStneoCRZPmrMxUoMzwR5hH09180KjEv+hKVZJqFLP
         BNFk9hgUnO7OJruaN5FMwfI/IKWO3xsXQZwai1GhMY93Uedfy/f23MA4nvCJQvEylNFx
         +0sw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742830193; x=1743434993;
        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=zp0b8xhyimXIfQLnEri6+5YQXuIr7BBBLcS0XipQZCo=;
        b=MB3N6DHeqTip39RnpfrPZr99BSa6tos6gEunuuGLs2Sa232f4P9Zg8y9r/VXaCLIWc
         8DXuv38Up5wAMI/6wSNHuqVsule9HsiGBnxW/1rA+tmYUqhlTEq+6Q8YN1LgNlKNUFbS
         zjoZ3d7arqjmDP6bMauUkp2EeD4qjgvW7bveU04HbEXsB8WbJ+qmwl1n9eeqhBKuBzc7
         iDXnYXSy75XSlPl9cqIHtk6exyO4Q0V/Lg+xqLtj+mbAQgMuzcIDloc35aMZkVwJjpI6
         i2rmbrdGuocgMMlQi7W0p+P7RNtqK0sNaA21vjG7Mup+O+2sxoIRcxcDzgusky3vWupJ
         YBYA==
X-Forwarded-Encrypted: i=1; AJvYcCVLjJVnBcdBvEyTCbmbd7DknhXL70GC1B8ESVj9cSliUSzidgKhzeLPAbJvcC4aR9xXICplV6SZN58=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyXMrNUYuWc9Vp+IYDMgnaqNYmVZ5vcCJ3JnMSBtOTp5wy4qkXv
	W0UbrLs4s7QfQS8dAXIVqgyfhTDPPaNNYeNtVjbHO4cbtGoaUZK4
X-Gm-Gg: ASbGnctFtN4K21YGxzLIGfP7/HnfGe8yD3xnfAhEcz2HpivxeegpNhbpAtQrJa+12wT
	2ZSO/0qxslgDmeKkZr3f5jyCRtJlaWPQih5DSm/TDqn8yfCBNKZYwMMMcncuu71Qm7OYXpp6zUF
	DxsYGQCWGkQWVvVJjytb+DYKAmbyFXRHaWjFHhaCnZ1RiTnjSRFX+i/Un9XOivID1DyTA+Mz3US
	dwPPj3HhQZl9ATAiDq4jSex0vxDT1vtL4jNdJDBFwlYtBlqXuTxP7l9sJbXuex+fdwnkBC3Bb9n
	ZE6sb4P0rn9nsdgXBLI5GJhfehXuFqNzMJw18A5AaW6EiNeYJFGKEWT+ekb9obH/9EBUBn/88vb
	CUeDsoQQUX6fDDdhkV3nh
X-Google-Smtp-Source: AGHT+IHJ2WSjmsGao8qYx+wNMidbXL+tOB4qy+pnF762+B/3Or2TnjWeNJEc37//MbmTcGmI/dKZOA==
X-Received: by 2002:a17:907:a58b:b0:ac4:3d0:8bc9 with SMTP id a640c23a62f3a-ac403d08c9dmr1113501166b.27.1742830192381;
        Mon, 24 Mar 2025 08:29:52 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------7vN12ZGh9y8vA7ZUU0kbsi7m"
Message-ID: <abfbdc78-6620-483a-b9fe-4a100cab04e5@gmail.com>
Date: Mon, 24 Mar 2025 16:29:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>
 <27dc3481-1f48-46c5-a827-e0a44c17686d@gmail.com>
 <630f216a-10fa-4828-a64e-651dd7f70242@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <630f216a-10fa-4828-a64e-651dd7f70242@suse.com>

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


On 3/20/25 8:36 AM, Jan Beulich wrote:
> On 19.03.2025 18:29, Oleksii Kurochko wrote:
>> On 3/17/25 4:24 PM, Jan Beulich wrote:
>>> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>>>> --- /dev/null
>>>> +++ b/xen/arch/riscv/time.c
>>>> @@ -0,0 +1,38 @@
>>>> +#include <xen/device_tree.h>
>>>> +#include <xen/init.h>
>>>> +#include <xen/lib.h>
>>>> +#include <xen/sections.h>
>>>> +
>>>> +unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
>>>> +unsigned long __read_mostly boot_count;
>>> Why not also __ro_after_init? And what is this variable actually needed
>>> for? Common code doesn't use it, so a better name (describing what it
>>> really holds) might be desirable, even if this then means not being in
>>> sync with Arm code.
>> To calculate more accurate amount of time since boot.
> Okay. But how does the name of the variable reflect that? I.e. what it
> is that the count of is being stored? The only meaning I could associate
> to a variable of this name is the number of boot cycles a system went
> through. I.e. nothing that an OS (or hypervisor) would normally count.

But an OS (or hypervisor) doesn't count it, they initialize a variable
once (in my case, it was named as boot_count) and then just subtract it from
get_cycles() to get time relative to this variable (so since Xen boot) and not
since power on as nothing guarantee (at least, I can't find that in the RISC-V spec)
that after power on the value in CSR_TIME will start from 0 what could lead to
some issues, if my understanding is correct, such as if on SoC A timer starts from
let it be 1000 and on SoC B timer value starts from 5000 then all measurements will be
incorrect as Xen will think that for SoC B it was spent more time then for SoC A.

What do you think if boot_count will be renamed to xen_start_time or {initial_}boot_time?

~ Oleksii

>> I think it can be __ro_after_init as it is going to be initialized once.
>>
>>> Furthermore, I can't spot a declaration of this variable. Was it meant
>>> to be static?
>> It is going to be used for vtimer functionality and in repogram_timer()
>> so it can't be static.
>>
>> I will add a declaration to asm/time.h:
>> ```
>>     /* Counter value at boot time */
>>     extern uint64_t boot_count;
>> ```
>>
>> Thanks.
>>
>> ~ Oleksii
>>
--------------7vN12ZGh9y8vA7ZUU0kbsi7m
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 3/20/25 8:36 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:630f216a-10fa-4828-a64e-651dd7f70242@suse.com">
      <pre wrap="" class="moz-quote-pre">On 19.03.2025 18:29, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/17/25 4:24 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 11.03.2025 17:19, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">--- /dev/null
+++ b/xen/arch/riscv/time.c
@@ -0,0 +1,38 @@
+#include &lt;xen/device_tree.h&gt;
+#include &lt;xen/init.h&gt;
+#include &lt;xen/lib.h&gt;
+#include &lt;xen/sections.h&gt;
+
+unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
+unsigned long __read_mostly boot_count;
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Why not also __ro_after_init? And what is this variable actually needed
for? Common code doesn't use it, so a better name (describing what it
really holds) might be desirable, even if this then means not being in
sync with Arm code.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
To calculate more accurate amount of time since boot.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Okay. But how does the name of the variable reflect that? I.e. what it
is that the count of is being stored? The only meaning I could associate
to a variable of this name is the number of boot cycles a system went
through. I.e. nothing that an OS (or hypervisor) would normally count.</pre>
    </blockquote>
    <pre>But an OS (or hypervisor) doesn't count it, they initialize a variable
once (in my case, it was named as boot_count) and then just subtract it from
get_cycles() to get time relative to this variable (so since Xen boot) and not
since power on as nothing guarantee (at least, I can't find that in the RISC-V spec)
that after power on the value in CSR_TIME will start from 0 what could lead to
some issues, if my understanding is correct, such as if on SoC A timer starts from
let it be 1000 and on SoC B timer value starts from 5000 then all measurements will be
incorrect as Xen will think that for SoC B it was spent more time then for SoC A.

What do you think if boot_count will be renamed to xen_start_time or {initial_}boot_time?

~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:630f216a-10fa-4828-a64e-651dd7f70242@suse.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">I think it can be __ro_after_init as it is going to be initialized once.

</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">
Furthermore, I can't spot a declaration of this variable. Was it meant
to be static?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
It is going to be used for vtimer functionality and in repogram_timer()
so it can't be static.

I will add a declaration to asm/time.h:
```
   /* Counter value at boot time */
   extern uint64_t boot_count;
```

Thanks.

~ Oleksii

</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
</pre>
    </blockquote>
  </body>
</html>

--------------7vN12ZGh9y8vA7ZUU0kbsi7m--


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:31:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925809.1328691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjm3-0000oS-A7; Mon, 24 Mar 2025 15:31:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925809.1328691; Mon, 24 Mar 2025 15:31: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 1twjm3-0000oL-6k; Mon, 24 Mar 2025 15:31:35 +0000
Received: by outflank-mailman (input) for mailman id 925809;
 Mon, 24 Mar 2025 15:31: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=t537=WL=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1twjm2-0000jD-9S
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:31:34 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20623.outbound.protection.outlook.com
 [2a01:111:f403:2413::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fab653d-08c5-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 16:31:32 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by LV8PR12MB9112.namprd12.prod.outlook.com (2603:10b6:408:184::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 15:31:29 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 15:31: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: 0fab653d-08c5-11f0-9ea2-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hV6QJwaETjjRhHveuZd2WbO0hzgFizCbe7PihWPbvNBZ3BHhMncRc9xJxZ2Jn+nTvbAaw218j1xsgA0qId9p7W2sAWp9Ckal24hmasK57LjXPZkMAOLxT9iE1U1NV+spAk88bhU671FhT21e1SmqfmBzoy5GnhpmvR52o2a14wRfbpJ2u5C8s/qdK7nqHJRao4qM0AodhsOL5bkxrAkcDt/7kxURstrFZ12FlK+jjisseSlI/2Yvbz6JIxs+XqdToByEAfD393vXiovDcG3OkFApZ0tE3960bPPC26iKR4mpX+QDRmFav/S6TGJyF5pmMzwY/lVzw3XQ43rWSKi84A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ORyfd1SSS5wMIDkMUcni5yE88UaDpRubRWVrd8A+pq8=;
 b=Sxx+JR8JTnhNvVUOsPE+IxJWWyjwb1ojK5MVUNcc5Z+GKQFtvdaAgnAFmusHb53Fj8DB3l/mbzNfsHLAhkhHYjawQr/cIvGr/h0EYkGElLfYAe8RlXVfYdfraC/jSEXlIe0X2sIBEOG9eJeBlRMA8JtgEwZf9ObwEIc1svm5+51qWISMvRIgLS3X4fS2cTsH22peH2Jj/xYAY5PvQfZmlQBF20ZQxsyYPRqKGAynVz+5Qr/XmXq3b5tn9FY+6eh0dHmT7KvFlbcstolwuW6yG6qAKtv8nG49BCHk6GTrPqxUXAwTuBqLqHjTP7CNVPhpCYuuhiRoN30qJLqWlNiNwA==
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=ORyfd1SSS5wMIDkMUcni5yE88UaDpRubRWVrd8A+pq8=;
 b=Mzne9KONIwwOEJWgKEI8RBg3olXA1mZcR+D4M2op0zfms1P82ANROCFKlYROR6+/HTZVpujesTqxBpAqCCP4JqSsO2yg7vT5O2yaLFC5u8kGzjlAEW9GpR1J8T3w9tqzPCkj5BSdgBdOz1X0vh+Jn+RNErImzUyTbuc1fCBJUME=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <66815d0d-9330-468e-b601-cb8aa6be1c36@amd.com>
Date: Mon, 24 Mar 2025 16:31:24 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Luca Fancellu <luca.fancellu@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
 <17608388-b900-45d2-bb74-8eec04ab1f76@amd.com>
 <D8OLLCXYKINR.3HD274I110XCF@cloud.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <D8OLLCXYKINR.3HD274I110XCF@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0163.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::6) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|LV8PR12MB9112:EE_
X-MS-Office365-Filtering-Correlation-Id: 96718840-b510-479f-828f-08dd6ae8f255
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?RER5VFEwajBiUSs3VUJXNDRDOEwyZUJWQUpTWWwvTDh5MUxkSEwrc2hwYXNo?=
 =?utf-8?B?UElIRXZQekc2ZlBzUE1kblhvcVZUZXl0SWVqT3h1KzFwWE9mVnFnWHdyTjA4?=
 =?utf-8?B?UjUvcWhodHZwamhtUmJaSHZ4a2FLWHgxU29ST1BSVmFBb281Nk0zRTZaSW9k?=
 =?utf-8?B?S2xRaWN2OHVxWStYR0laRVo4bGNDbFd2d1B6UFJ5WmppVUxVZVR3RXhqeVpu?=
 =?utf-8?B?R0RHWFRUMXBORzdQclhtV3BJUmIrcFQ2aFBJREpNQThJaDd4Snd2UUJzQWtm?=
 =?utf-8?B?R2U0dDhlTkZWdkR0WE5xQXZIZk04czRMR3pjVkdWQXQvek5sL2lpR0VWYUpy?=
 =?utf-8?B?S2ZONFFzN010b2RwTEFVbmJYdDdLeVprYWg1VzU4VXByZGEyREcza1VaYnN5?=
 =?utf-8?B?cW1uUk42WngxVXVQMUNRZjNRbmNBcXg4a09jWDl5aXhvRjcrcWkzQ2Q2TFlX?=
 =?utf-8?B?R3gyYldXZE9wSkFtOXZlYzhWQmZ5R01sQUQ0MUxRK2VkTGpab3UwTWw4WkN6?=
 =?utf-8?B?Z0x2TlZ2VVoycFZMamM2blAzdUVSZ21TdGlnaGp2ekFlSkJScnI5UmcrZUZY?=
 =?utf-8?B?cXZsMU5UclB2NEtRTko2WlNLN1QxSkZxanVySmIvdEpRVFl6bUUxcThrYTVy?=
 =?utf-8?B?KzYyNFR0anFnbFQ2RVJvV1REOWYvOG9JcCtEZ1NsL3QzalpJbDkxRE0xUHhk?=
 =?utf-8?B?M0J1WlZKQXBrNHcvM21Qa1ZrdXBkVmsvNm9Ld0cvSlVNd2wxdTlxMnFHV0RS?=
 =?utf-8?B?aXZHR0tXaHl3TXA3MzIzTEZBd0ZCZ2dkVnZtLzNVZlFqY0t6WURiVDFQZE5J?=
 =?utf-8?B?SVVpNS96eXgyRzN6WngxNUxGaFFsRXQzSFJqNGU2ZjlCREowM3pvL3NQQVJY?=
 =?utf-8?B?YlZ2OUhuZVV6RUdheVdpYWd4ZGM4Tit6bGJ5WmVvbWJyYkY3ZFJONlRvK2R6?=
 =?utf-8?B?aXltcWR2QzJ6ckQwUjY4WURCOGhlbWpkaFhqRTRGOUwrU0p1aEkrMTNxK2tv?=
 =?utf-8?B?bGJ4TGxVd2E0MGlITm5hbXdJOG52SzErSlZBb1NIN0FnaUlvanFTNWJ6cGVy?=
 =?utf-8?B?NklWenY5VjVnbzVVYVdtRFlyUXRRbHpaQUdPZTk4YjYzWEhZc01MTEwyeUIy?=
 =?utf-8?B?NTBlNEFUemczYmNRekNpNTY0cWlnUXNIVUFaOUNkbDREREZpd1VjQnBzaEtr?=
 =?utf-8?B?ZHo5anJhdUtCcGQzSGVuVDdwZGxkanZxd2NxbzZjUVdMb2llUFNTVXVqVEZS?=
 =?utf-8?B?ZFFVSTJ2M0haaEMvclByVjNab01pVWpyVG0rYlZkMGprV25DWnBDdlBVejZM?=
 =?utf-8?B?bUI4VnhHWFZLS3owZk9EbjdQS0QzUHkzTGhsYiswV3k4MVV1OTJPa0E3YjZz?=
 =?utf-8?B?K0g4UG1FNWp1UE45Yk5UUW42MzNwYmRDbGNCc2o0bTdpaGFhZDlSODdQVXNX?=
 =?utf-8?B?OHYrN1IvZGpkM3RKVUZONTlGQ05xZlJFQzBMVlI1RDJlY1VVamJpdzY0ZDhk?=
 =?utf-8?B?bFloQjZUbTFyYTF4RnNGb29kSEQwTTE5M2ErNEpBTjh2eFBkQTJ1VURGVHNr?=
 =?utf-8?B?RkhYU1Q2dEswdmx4U3k5ZkM2REpUUzJKOHlPMkF4bXdtbnNqd2VJa3B6MFZV?=
 =?utf-8?B?K3UzYzJQZkhVRkJuemlUUjRiMks2dUxtbEdpRnhESzRmNDlYR2JOdjNjSkMv?=
 =?utf-8?B?SVhBZUJJcEJJV3VaOVgrajRlWDRRVGg2YUtidlExVXZhMmdQYmVsRTFDeXRZ?=
 =?utf-8?B?QVJTaEdRa1VVdjZnUnE3VVFtWHFiRFh4U3RaNFJmQXJQaEtFV2lVMWhabERZ?=
 =?utf-8?B?LzhFQ3Z0dGlSRkYxWVJiUzVXbkQyOWp1NVhqQ1lXSVlnRm9HOEsxbjB1TGhh?=
 =?utf-8?Q?RCJGtt884FIOu?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?RlJrYVp1M2hSSVp1Skx6WnFldjVvR1BFcjZ6eVo3OGtnZXNXbmlZS2lDSGk4?=
 =?utf-8?B?MXVxSzM1K3o5bmJ3ZFlqTHR4T1cwVnpXM0pQdTR4Rzhxc0dkNTRScno1V0hP?=
 =?utf-8?B?TUZmNUl2WGZRL1lGYmo0OGR2MC9WbE9rK1lBU0F0dHVTSW50WStyTkMydEtq?=
 =?utf-8?B?d1hSQTlCLzgxeTNVWmFhaHluQkpIQ3F4a0JHdFF1S2lzZG9LK0tDRkpyTGE0?=
 =?utf-8?B?bC9za1NKWnRmNGZjSTJtTjgySmtlR20zTStpTXB0OTdjMmZEUnRXMHg3cGs5?=
 =?utf-8?B?cmNGK1RzMllDeldmbkYwZVdrM3JqRE1GQUFBZFVXUVM1bWRBWGxDYWlLS1RD?=
 =?utf-8?B?VnBaT2prOWtoQmZ4dG02R2RmQWd0bDkvcnkxd1lDWGdBSERtS0NXcnl3V09o?=
 =?utf-8?B?TnRLVVRjREVuZHh6bUYrUGFGajBnT3NFMGs1NGZqVm9xMVZKNElCcDNnQXpQ?=
 =?utf-8?B?VnJOSGhiWlliN0NzMlp4aHdZQjlvZ0cwNTNjVVVCZGdyejZDc1BNc3Z4SDd1?=
 =?utf-8?B?eFYzaUlBRHRqR1M4Y2RmUjRRQ0piVzZza3ZhMGV1S2QraWtjM0hwRVF3alBU?=
 =?utf-8?B?SUFGdlBNOHlMeHl2eW91QnRiaXlkVWtQdGU3VjhxWTZOejJ1MHJHdjBPc1hs?=
 =?utf-8?B?ZUFiei9aSXFZYnlOZDBUaklVZUdsV1hJamNJQzZZdk1YMCtuU3k3cSt2cDln?=
 =?utf-8?B?VnA4OXlFWlBxSVV4aFdxa1BBREY0SUx2UW1RaVZtZTBCbUtab0puY2FFRy9Z?=
 =?utf-8?B?bVN5SURiSnU4bUlhWWpyRkw1UExtTDR2RUZzT1UyMDNreDVSV09RZ2FrWEh6?=
 =?utf-8?B?QUtmbmhBLzRDSkdKNFJmNUpyQmlHN1dJZndjaVZpTnlpVm54MnlwaS9FT29R?=
 =?utf-8?B?V2E1LzZzLzF6WnlZTklHMUJjT24vUEJJWGRjS2tUb2oxeFpURVdsa2xsRlEr?=
 =?utf-8?B?MlA3VWh4QmljUXR0TkZvSFVGTVpqWko2cUxDQlY2WmZ3U1FaMGNseUduQy9a?=
 =?utf-8?B?TklsVTVQTTJOSGwyZVh3b2FQaFR6a3BEa0RsZjYybkNEUXFERWdSYVFqR0Vv?=
 =?utf-8?B?a0pJb3BhQTduWVpVZTJFalU4bStGVFYwVWhqUzJiZDdLeFVuSEZxQTBDNi9z?=
 =?utf-8?B?d1BiTm9SR2MrSWRzeTdvNXg0WFlma1FneGZ3QmsrajNyc0FtbmYzVWJseDh3?=
 =?utf-8?B?NVVwMWpHMWJKT2NCYjZXa0dYM21sV2N3ajQ0MWY1QlgrT0cySDgxWjVtVmlX?=
 =?utf-8?B?QWNHR0Y0ckF0SXpkVXZNRmtzcnB1Z1VkbllRcExadXEwc1IvMzIrWUVZNzZ3?=
 =?utf-8?B?YkFQd3JqUGdXYWt1SGhyeEhBR0c4VVlqYm55QS9OSUpoQXRxT0ZhZlJnbm1L?=
 =?utf-8?B?ODRtZmROeklucFFIVG0raVp3Z0hJZnlXQmZwMXVMSDRTaThhYmNQNy9XM2Jl?=
 =?utf-8?B?ei9JVU5tVmZkczJLS1d4WE5QWm0zMENNZDlUaStsalNLVUlqM29WK2RSc2Jw?=
 =?utf-8?B?elhBczZGN0VSbWhsQzV0NzdPOE1QZklXUEdKeXhxa3ZPN0Y2YXRTMnFJK2p5?=
 =?utf-8?B?dEJRYkhndXBnY3lFS21KUjR5U245REVoYUR4VWt4bXc1K0VRMXdNbUEyVGY1?=
 =?utf-8?B?NTR5NVN2OWtxd2I4QWFZdGxrTVFWYkVocFc3N0FYNmFiRmJHTTBJZ1VZMXhH?=
 =?utf-8?B?STkwYm5oT0UrZzhGUGo3OGVqR29WQ1hDcy9HVzFKblBlbnJYVmcrZlp3NGF5?=
 =?utf-8?B?TmFxand2UWpWbmJZb0x2b0lqQ1dEbFBuYnlRMWFrb09nK0ZGRWgxMGk0TGFw?=
 =?utf-8?B?ZGlIOXp4K0JvME1QWEE4TUpldWN1Q25tdVN6K0ErZDVSa2tRVnJmQ21tVlA1?=
 =?utf-8?B?dW9CYWhMMTgramdRNDNKbWVYQ2JIRDltaFN2NkJwdHM4LytROTlnNlFCWnJM?=
 =?utf-8?B?aUc1dERraGJhdUxLbXRqSmJrRCt3cTQ3MFNRc1pjNUNhaUhPUWZQNkZ0M0o2?=
 =?utf-8?B?cmI1emQvU0dpV1d0K2hHSmRrOU50cjhGUHRpenRXZm9FQTMyWHRuVlJhNFVX?=
 =?utf-8?B?WmRWVlpicVRtNTIwamFvcWJFeVEwRFJtY1V3RjAxNEZ2U3czRFdjL3pxL1Rs?=
 =?utf-8?Q?8oJo=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96718840-b510-479f-828f-08dd6ae8f255
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 15:31:28.9970
 (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: qrZWKEH+cCg24IEAzKr61VPWP/XF526WQ9ddHPk1R4MqxpM4kD3+eYCbDoDWqY+l
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9112



On 24/03/2025 16:22, Alejandro Vallejo wrote:
> 
> 
> On Mon Mar 24, 2025 at 1:08 PM GMT, Michal Orzel wrote:
>>
>>
>> On 19/03/2025 15:01, Alejandro Vallejo wrote:
>>>
>>> Doesn't this regenerate the golang bindings?
>> FYI, it does not. The bindings are already there for NrSpis and default value is
>> does not result in a change (for verification I checked max_grant_frames that
>> uses LIBXL_MAX_GRANT_DEFAULT).
>>
>> ~Michal
> 
> Oh, good then. Though it does raise the (completely separate) question of how
> correct those bindings might be if they ignore the IDL's default values... :/
Why ignore. AFAICS libxl_domain_build_info_init is called there to grab default
values.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:34:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925825.1328702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjoo-0001eu-Os; Mon, 24 Mar 2025 15:34:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925825.1328702; Mon, 24 Mar 2025 15:34: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 1twjoo-0001en-Ka; Mon, 24 Mar 2025 15:34:26 +0000
Received: by outflank-mailman (input) for mailman id 925825;
 Mon, 24 Mar 2025 15:34: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twjon-0001eh-3H
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:34:25 +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 76a539c3-08c5-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 16:34:24 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3913fdd0120so2476401f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:34: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-3997f9e65e0sm11479271f8f.61.2025.03.24.08.34.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:34: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: 76a539c3-08c5-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742830464; x=1743435264; 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=ePWSLeEN01vnuZ+IMz0CBTfg0gV9ne5BLu4pu0tExEY=;
        b=LIPwEaG0/ZKuprAryjhxRGM1eJy0eYy2uqZb/hD6B+PfkeCmwr9bGzdgjVrjWY3bNg
         yctPzyVIESNZq69ZSNPHeeik43tN+yDRjw6hb4VkJj1VTZBorSVsQJ1HddrPU8KPkohj
         xjs4yjwL23qIlzQ/hxB1JthSWBbmohJliOECS30qzk/SnhwGYgwCGNi/IFAzhjy/SSFq
         oyrrYsf99xthJ6NsWjttug4ltt++rzCqJn7eJaYg4DrEdBqHlzIXvx+lLGR2fbtMaP7S
         cq58SpWGETmymXrJWuKfFpmRishSusOXiOc7Ls4+LvuAvFJt6cuu1/m6WhAZD8V8L/+L
         1KqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742830464; x=1743435264;
        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=ePWSLeEN01vnuZ+IMz0CBTfg0gV9ne5BLu4pu0tExEY=;
        b=Gb/LO7kK6nVEUlOjuxR2Mjtz3FDsRnZwdp2XhGZTqwzl5pMQra4YHGs1625TY0IDpl
         JDQkEUXE1hj2+jc6IELdu7DUuQax5yClG40FN0w9OTPlVHJesetLmCsF+9Ytz40Xr5tQ
         rpEJFVN+CegYYRiHDJ8y1xUdtmv8aWrLpCMwLr/uloi5k/EZUWWfh+OZQLLOQMN3XNT4
         86moZz1YvItMeJhdzgnzJ+dXQVU1oYMqfIJVOIx0oQaDezsl+H3W9Y7ir3mhoINVHqTR
         Cl1/JfQoxTkSlKBBU0/7M+4m4gMlDgSAyozkq0Fhj9g+fOyHbhfoQG3BG1X6mFZLygnN
         iKiA==
X-Forwarded-Encrypted: i=1; AJvYcCWuigO8ToJ8EdFaLD58E19y8s0SCc1nWLBXAvj820Ptmx+63h4n3DhcOWw237CpZTd66wLdeQLpga4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwSqO7I2PVz4ZYwr+tVPM9Apqq6umOUAzM7uiRwvADSsNQ9QYrK
	uooYb9HjU6jRvDi3rfD0oPTfBowSa8Ps6B4sASCtpzVJOnAZorXhssxJj+GyhsedT3bHp7hcMQU
	=
X-Gm-Gg: ASbGncs9WwR8BGA5Tb0MbOPc5P7mgKPfmN/vTlKyvNMsnUcPiKRbTiKzUkB0iMj3jqO
	skFNSNVCAavdf25AheY2c12U2SfxiBiBrBz8LxYA0I8ti8biybx8dwIe6CbJkrIiuqk4QMOt+si
	RTy7gS1JfujRCTxlYi3oDbSy0tecQpRgFditz4pNiOglTUfGHr4t4ahfpo1a0fA5QuPIdB2ZwpR
	Cid+Osn61QPSCRK031xx+zWCabqMDF/aiKFfzmIQolseiwBfX0Ew2eCw8F+YEMEfu0gnraM9wi+
	5bqnc20C/y5BToTReKwmGbT1UXuhwYdn7Hh7OyOBwdk1jGZr1iEIgmzUr6lD3cF9d6UY3oTddco
	5RFRhnKv597qKAqq7TkWqgeJcbPnoQQ==
X-Google-Smtp-Source: AGHT+IHzRJNH2B8AOqO9NOuJEfdLjgcLATIF8Okg8eL7JqZNzgD3aMD+4ICEv922TSwY+8jyJCym2g==
X-Received: by 2002:adf:e19c:0:b0:391:2e97:5788 with SMTP id ffacd0b85a97d-3997f94041fmr12161909f8f.55.1742830463531;
        Mon, 24 Mar 2025 08:34:23 -0700 (PDT)
Message-ID: <fecc74d5-3111-4cfd-9c3d-07dbb6a98ac6@suse.com>
Date: Mon, 24 Mar 2025 16:34:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/15] xen/cpufreq: disable px statistic info in
 amd-cppc mode
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, xen-devel@lists.xenproject.org
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-7-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> Bypass cnstruction and deconstruction for px statistic info(
> cpufreq_statistic_init and cpufreq_statistic_exit) in cpufreq
> CPPC mode.

You say what you do, but not why.

> --- a/xen/drivers/cpufreq/utility.c
> +++ b/xen/drivers/cpufreq/utility.c
> @@ -98,6 +98,9 @@ int cpufreq_statistic_init(unsigned int cpu)
>      if ( !pmpt )
>          return -EINVAL;
>  
> +    if ( !(pmpt->init & XEN_PX_INIT) )
> +        return 0;

I understand this is needed if statistics really are of no interest for this
driver (which needs to be clarified in the description). However, ...

> @@ -147,8 +150,12 @@ int cpufreq_statistic_init(unsigned int cpu)
>  void cpufreq_statistic_exit(unsigned int cpu)
>  {
>      struct pm_px *pxpt;
> +    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
>      spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
>  
> +    if ( !(pmpt->init & XEN_PX_INIT) )
> +        return;
> +
>      spin_lock(cpufreq_statistic_lock);
>  
>      pxpt = per_cpu(cpufreq_statistic_data, cpu);

... why's this needed, when below here there already is:

    if (!pxpt) {
        spin_unlock(cpufreq_statistic_lock);
        return;
    }

?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:38:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925835.1328711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twjsn-0002F9-4i; Mon, 24 Mar 2025 15:38:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925835.1328711; Mon, 24 Mar 2025 15:38: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 1twjsn-0002F2-22; Mon, 24 Mar 2025 15:38:33 +0000
Received: by outflank-mailman (input) for mailman id 925835;
 Mon, 24 Mar 2025 15: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=f4s0=WL=dornerworks.com=Nathan.Studer@srs-se1.protection.inumbo.net>)
 id 1twjsl-0002Ew-2Q
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:38:31 +0000
Received: from USG02-CY1-obe.outbound.protection.office365.us
 (mail-cy1usg02on061c.outbound.protection.office365.us
 [2001:489a:2202:d::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06ab85d6-08c6-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 16:38:28 +0100 (CET)
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:195::20)
 by PH1P110MB1700.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:18e::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.31; Mon, 24 Mar
 2025 15:38:21 +0000
Received: from SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea]) by SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
 ([fe80::4c02:35de:2909:2bea%4]) with mapi id 15.20.8511.031; Mon, 24 Mar 2025
 15:38: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: 06ab85d6-08c6-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=VqZtTKpABAIYSleuwmnMHhNMnyIFsbOpfJYC2+XTTtZ4MpxZ+oCXdKcHtwEf7G0MZLuv6mYz/J68XsW6kMW5xlrgwJEbpL/2VUae5RuiAgScmRK8gad7kZnNcNChd/PW/p0iRHA5ZlA6KfydvpwD5ynLjIBxmix0ZOBEJHfsWSvaNbHNq7HzjKyALDIZPP6KEa3chpI+k44RD5Jl+zb+IEJfkJFy2kl8asfUk1QP6PQrJ24Y0k0ES9hckzeKGKrZ9WtAupIs9Lo/2OHSuCP4/7q3p+URG7zFfVhdIvA5ALOcWU0WYavZD90N6/67LBKZibC0fNEtupX+CqxtfAe/NQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vMvSwHJWGCUu+Hy1vhGJbsbE9FBQNQNYLG/OUhrwbqs=;
 b=aCldGLhveis+kiVWK9RN5W5Uh1JNV3Uu1rrcSeuBTGp4B8NgUlfY3oWEzPJvV3bPvxCQu6pr3OK2UZbuKh1EsaqlXSJZ5ii+rLTrjJWV3yzrOReGGQ63mzI70RfDhIf+9kRd9pv3eCf4CQdL0MedABlXGUDYDp75HFmkBzN0ErFKzxHBhrMqoF0n27fcV0XsjMDalPAmL8wLNZCc3+7UkThh4xb7eKoJhMf6AacTUqbkzXFeLrEjkBVhUoBRsynO4XLo/XrSC6abxU9wV33C2td8W3Pwg5x9D1pft31WVj6NP/fGUDJaaBZtdYzxCmdvkHRCjLDJy9heH5OXIuEQLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=dornerworks.com; dmarc=pass action=none
 header.from=dornerworks.com; dkim=pass header.d=dornerworks.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dornerworks.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vMvSwHJWGCUu+Hy1vhGJbsbE9FBQNQNYLG/OUhrwbqs=;
 b=W3t0gQpgiH/cBCuoXcYtFtIMGkfB5Xfppn7fztyJQOxxS2D6FctozoCW24pUx+iqAiOk5T/bJh2XPIIPwuj2NK+pBGO8AFaKSbJG0egHhMROnqPDuLIIKBoQAgWj7uMuFZ9NWMa5Cfl5jW4QMU+m2cvb/RK0UJ5bTBQq+ReOiMuSJli8WrjN+eSVcgPKiWxqM0wAx3YqLSOKqmyw13wmVsV1UGfU3Ltrh+58AhDh4At1mDWqy1FmqZH7MUTTkz1Pw7bM4C2B3gYM+Vp4+4mv7MU1p9Y9DlwdnFi5D8UW//TcEhkiexd4PUNmUEIJV6wQuD/waU7kXNbNpGdyG7SOWw==
From: Nathan Studer <Nathan.Studer@dornerworks.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart@stew.dk>
Subject: RE: [PATCH v2] arinc653: move next_switch_time access under lock
Thread-Topic: [PATCH v2] arinc653: move next_switch_time access under lock
Thread-Index: AQHbnMukIEKfBYQg6ka2nNYRWSyAuLOCay7A
Date: Mon, 24 Mar 2025 15:38:20 +0000
Message-ID:
 <SA1P110MB1629984ED4398B85D2485A8BF4A4A@SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM>
References: <b18e523d-89a6-482d-b2ce-a5576578ff58@suse.com>
In-Reply-To: <b18e523d-89a6-482d-b2ce-a5576578ff58@suse.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=dornerworks.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1P110MB1629:EE_|PH1P110MB1700:EE_
x-ms-office365-filtering-correlation-id: 59570630-b852-412d-2796-08dd6ae9e806
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam:
 BCL:0;ARA:13230040|41320700013|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?V1JtRFNiMm8wZUVwMkZSWkc4TnZyMS8wV2ZzeVZta0EyV3c2YWU5cDdrMVND?=
 =?utf-8?B?bGhiOWhwUmFKbXZXN2xaQnllaXlFR0dFMFh5anZYOERvU3hPVXloKzJhOWxR?=
 =?utf-8?B?dkg0czF4OU1Hd3lkbkJZVE0rdlhwYmtJUFNBZUZac0JGQm90RFZiZXJWam0z?=
 =?utf-8?B?UEs1WVBCSzNwRGtwTlN4SEh4Z3d2K1pIRG5pVW52UUxQZUd6aHpkMW5tN3I3?=
 =?utf-8?B?bVhKSmhQeVJLeHk3QUhoL00rVDRTY2M2Mm54Uk1hcG4vTXgwOThDV0gzbHps?=
 =?utf-8?B?MGt4VS81MVNkUDQyL1VTUmZJYzJmMVdDcFhrekI1ZFZuVGpPTFRjVTcvRGJV?=
 =?utf-8?B?Smt6dnhVSXJOZkhDV2M1Q2xVOE56VkUwWDUyUndOZnQ2eCt3UTNjSmNOSUNU?=
 =?utf-8?B?L0xjOWhhZHk3LzF1ZDNpZkRwRWNEbEtmWVk3SlhZQ0dxckVid21uZkFabEd6?=
 =?utf-8?B?anJQYmQ5eXMrdGZ1anB1YkJWWlV2YTlHS0p4Wmg4bGZiOUU2cTBzNXBLQVEr?=
 =?utf-8?B?NWVyNllnc0JBRnQwMVJjVE9TUHV3TUNzUjBvekQyQnluRXRWZDZGNTVzWW1u?=
 =?utf-8?B?WWJDMmE4ZVE5dkIrbkZWS1BGQkNLSTk3OU12RXpjTDdCWmJnRFhaYk9IZnQr?=
 =?utf-8?B?MHBzWlhpNC9MQ1BndUQ5TEVIQmhqMkxWYWxXZjN3TmJTZll2aThua0cvUGVm?=
 =?utf-8?B?cytySEt5eHR0Q0lRaTRMYVJ2UktsVmZTM2wyZ3Q4U3ZQbHZGNVJoZjlPNWcz?=
 =?utf-8?B?UUhLaWR2ZGc3UFBBSjVhOTc3MjhXS3AvWmZrd040Q2pqMGlpMXNlUU5POUpF?=
 =?utf-8?B?cGFxd2J0RlAvSjY0dWllOVZkTmVHOXhwVnd5YXBzREJETFI2SEd3a1VaUHNM?=
 =?utf-8?B?NkpOZXJ4LzJDRDN0OUQ1cC9Gci9GcTJiV0duY01wWmdTSTVtYW5kYWQ1UXcy?=
 =?utf-8?B?SnZBdThkQ3FSWHcwNmw3TTk2UXI0ZExiYysrT3JVNkZOOXdER3ZDR0NhT1Uy?=
 =?utf-8?B?S3VQQThkZElWaUlWT2lwOHVLYjZuR0hpdkk3THovM3JzTTE0R0JQb0M3Ylh6?=
 =?utf-8?B?blhrbUxSaHJNa1JkMUY0Mm1nNTdBbmN0eXhFWi9RMER0QTdtQk8rbnQ5QjF2?=
 =?utf-8?B?ZnNHSVdoZFR2WGt4U3pNOFJDYnE5RWNYdXU5cExTanYyeURkRWRNWTZsS0I5?=
 =?utf-8?B?bEFqSjFGcWx0TXhEeGVwNElyMjZIb3JCbTJmdG82eExDRDNpVUQzdTlPcDZo?=
 =?utf-8?B?dkZWeC9pMEwrZDFnS3ZiQWxwMDhtL09qM2JmQkdMb01ENnYrbXg0bSt6OXgx?=
 =?utf-8?B?bk9uQnI1eDJaUEJlUWhDYjY1bFlNLy9qQUUyZDFHVlU1Z01HaDdtalp4YS9U?=
 =?utf-8?B?VW9mWEpuUlNVaDVSUFRZNGsvNzhJQ0E4dHpQZmMzMHRHMlNWRG96TzNjcExF?=
 =?utf-8?B?UktnZEMwYUlOT05OVHR5OUdQWXBXM0xZeFVFQmtwZXRHakw2dnlqTEgxN3RW?=
 =?utf-8?B?cjU5WWxUcGR1OWZMY3NSYUFpLzN6UkV5V1NnbjFZNkV6cFcvamQ5N0wyem0v?=
 =?utf-8?B?Q3p5UjhQcGpUU0RJWlVLcG5QZVZoVHFSNGhVMmh5cWRZU2h3dWJnVDdLeGdw?=
 =?utf-8?B?b0tSbFJiM0VDVlU2TU9oeE1FSWRaVk5jKzZ5ZUdtQTRnVWZNc2p6K2dNQStY?=
 =?utf-8?B?YllZQUkwQzNOY1VpdnFaT3dGdjEzcUplRmlKUnFpQTBZZk9INWRKbDY0cllp?=
 =?utf-8?B?bDdOVHJkem1FcjBUS29TT3A4QzJjYmxXbXBXWDVLdUZMR1lFTGRweDV6OG9W?=
 =?utf-8?B?TjVSNVNsQ0ZCNkZqSEN4RGxQcERZZkZQaFRhWVYxR2ZweHQrNFlIUGJEWVFT?=
 =?utf-8?B?UFFUUVNUZDZESUhOei9rdCtSU1plWkNjeWFjUkpBVEl2OFpBanJpUy9sa3pP?=
 =?utf-8?Q?ZgqQpBcHG6sizsCnZtMlPl25aZkPjoZl?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(41320700013)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?KzRNTm4wWVFybzFvcUliQkY0c0RzWHlPcTA2R0dYWU1NWmRrdVVBODdTNlM1?=
 =?utf-8?B?dnFHSm9XdnhUT3F6aDhFc0IzSC9PUjJJRzhhTFVxZXVNdHI1RTc0M3dpUGZn?=
 =?utf-8?B?TUgwZUptQUZ2L1BReWVVL1JhUUdld1lDc09lc2RQRWhidW96VzVGSlA3ajdF?=
 =?utf-8?B?RE9PcFdEQ3YyTHFqTjJMRS9QcEp6KzYvejQ0Zmh5TVRuNXl4bGhNbHFDTE5l?=
 =?utf-8?B?QUhXYnp3eDhNbzBzTkl4dkF1RFJmWEQxa21paVlnUjduYjlsaWJNZzl1K3Ny?=
 =?utf-8?B?N0NtMXhGSDQyd3EwL3RtUTBFdG4va1ZWcHZTSlIyQVZOS1BOS2J2eUd4ZUJT?=
 =?utf-8?B?aVJTU0tqcEZHSWJrQ1NnREhOTk9yZ0FQVEw5T09TNDhOcnJLUVFaTm9CQ29h?=
 =?utf-8?B?MXphV2hjNlgyU2Npd2VJcnZlNEJCNERRYWx1cjBRSDkrQlI2OVhtSG1sWEUr?=
 =?utf-8?B?alNRUEwreE1FN0JsaGVQakNIUDgxcFF4c0orNmxvTjVRbVV3ZGVTU1J0MGpm?=
 =?utf-8?B?M1NCNWE1SHZXWmJUb0VJd1dCa01sSG5KRlJsOThITnQ1aUZpU0hENFpuS0cw?=
 =?utf-8?B?TG1LdGtiWHdCRFhWYjB0WW9NQ3Jnc2JOY2M1V25JS3ZkUnUwYXNvWHU5bXo5?=
 =?utf-8?B?LzFKUGcwd0tBWmtHT2tiUndVVVNYUElaRkphTEtldzFrWVQrckVOL2tkdmlV?=
 =?utf-8?B?YmJnTVFDaDAwNy83NWF6Y1RMQkZVYjlYdmRML0VqOE1QN1IwdWpsZ2pXWFhx?=
 =?utf-8?B?MzBZaHQwNTV5THgzeGlOS21LbUs2NTFURnUvNHo1TUZudFhwM0g2SklUcHd1?=
 =?utf-8?B?NFpRR3VDWEdjMzlEMXhLZ3BWcmY2Vm85QVlueWdVQTllSHIrN3MrOXZGVWhW?=
 =?utf-8?B?ZUd2NVRqM3NndU5qa3JIZjFyVHZ5Nkd6N0tjdU04ZlRyZWREMUdnRWNVQTVk?=
 =?utf-8?B?WERXY24rdWFJM3hEMmlGODVqZkpmVFpLTnUvcGJTOVJsMnRVWGtYM2JnWmRS?=
 =?utf-8?B?K01BYm4xMjBaTjZqWnMxa1h6M094RWZJV0pDZFlOdDVYVnlWUlZJcERoUkxL?=
 =?utf-8?B?aE51U1JYZ2RsL1VQVi9lMXhBd2hJSERlUytVQzUzMFRYVjRnZTVyaC8vT1Vr?=
 =?utf-8?B?TEtEM0gxb3F0T2dTZDJJTGhFUzZVOWs5RjdZa2V1ZEhlam05N0NraTBBaWl4?=
 =?utf-8?B?NnBuTE94UDRpQmJTeGRCZ2lGYSsveVQ0RUFQbWwwUjN2UUhzbDVTcEM4WXRn?=
 =?utf-8?B?KzMreFloWUxNc3doZmxSWWp1bHVRYWRidTYyQ3Y1djhJdHpLUkhraHZzeG5z?=
 =?utf-8?B?VGFVaGpGallCTGxPcjAvT2RkVTFuOVRYQTc1SktKeEc1OUwyemVxMTdqNHFk?=
 =?utf-8?B?SWo0REpxejljZC9ESUFUbFlpYkMwMk1MSFhUMjNQS0x1UnBFM1VDVFE3M0R1?=
 =?utf-8?B?YVBXdlNYLzkyTEFCMXl2NnZxQjY4WC9WS3VGRkpBbFl6ZnlDL2xVVTVzbGNZ?=
 =?utf-8?B?N21oQllyVEVyMExpTlM1NklGNXVhNlNKYlZpVGdtbi9wU0tYcDZUTXNjdWlJ?=
 =?utf-8?B?TWlUNG5SY2hhTWxQNStTai9YOFhKTFE5VjBLWU5Tb21UWm53Y1N4S3hJY1hC?=
 =?utf-8?B?dHRIWFhHNHQ0VFZQMXBELzBJOCtYK3g0V212Qmo0ck1RdytFK0RIc3RKcytn?=
 =?utf-8?B?S1BXVWFFZitQcWprczhVRkhGMlVIY1VvWkc1ZEovcFp5K3Y4ejk5MHhxU09R?=
 =?utf-8?B?S29vNHJ1OHE4L2M4aUdZT2RFWEFDdDZad1NqSVhtZStkVHlrclI4eFA5VCtS?=
 =?utf-8?B?U0lLS3RtdGNyY1VjU1VYWm92T09GYUNUS0E0SnNyUE5xMCt4UDhBNjVoUDNr?=
 =?utf-8?B?aHFBNkN3SnZSU2JYUEJ6SmxnZ011K1JqWE1kc056WjM0Zm1EVW11Uk1MTkc0?=
 =?utf-8?B?d0Z5Q0g5RHZ0OTBnUHU3TXU1L3gwTUN2Mm1aUlZjTG9uQngrN29GQzBhQlJn?=
 =?utf-8?B?dlE4NkN5VjBsMm12TW9VQUpOamV3Y3ZMUFdBUFhFbXdnK0x1NVpBNUluN0po?=
 =?utf-8?Q?R3rj4j?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: dornerworks.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1P110MB1629.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 59570630-b852-412d-2796-08dd6ae9e806
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2025 15:38:20.8740
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 097cf9aa-db69-4b12-aeab-ab5f513dbff9
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH1P110MB1700

T24gMjQvMDMvMjUgMTA6NDcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBFdmVuIGJlZm9yZSBpdHMg
cmVjZW50IG1vdmVtZW50IHRvIHRoZSBzY2hlZHVsZXIncyBwcml2YXRlIGRhdGEgc3RydWN0dXJl
IGl0IGxvb2tzDQo+IHRvIGhhdmUgYmVlbiB3cm9uZyB0byB1cGRhdGUgdGhlIGZpZWxkIHVuZGVy
IGxvY2ssIGJ1dCB0aGVuIHJlYWQgaXQgd2l0aCB0aGUgbG9jaw0KPiBubyBsb25nZXIgaGVsZC4N
Cj4gDQo+IENvdmVyaXR5LUlEOiAxNjQ0NTAwDQo+IEZpeGVzOiA5ZjBjNjU4YmFlZGMgKCJhcmlu
YzogYWRkIGNwdS1wb29sIHN1cHBvcnQgdG8gc2NoZWR1bGVyIikNCj4gU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiAtLS0NCj4gVGhlIEZpeGVzOiB0YWcg
cmVmZXJlbmNlcyB3aGVyZSB0aGUgbG9ja2luZyB3YXMgYWRkZWQ7IEkgY2FuJ3QgZXhjbHVkZSB0
aGVyZSB3YXMNCj4gYW4gaXNzdWUgaGVyZSBhbHJlYWR5IGJlZm9yZSB0aGF0Lg0KPiAtLS0NCj4g
djI6IFB1dCBjb21tZW50IGluIGFwcHJvcHJpYXRlIHBsYWNlLg0KPiANCg0KQWNrZWQtYnk6IE5h
dGhhbiBTdHVkZXIgPG5hdGhhbi5zdHVkZXJAZG9ybmVyd29ya3MuY29tPg0K


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:48:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:48:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925847.1328722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twk1s-0005IK-4D; Mon, 24 Mar 2025 15:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925847.1328722; Mon, 24 Mar 2025 15:47: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 1twk1s-0005ID-1P; Mon, 24 Mar 2025 15:47:56 +0000
Received: by outflank-mailman (input) for mailman id 925847;
 Mon, 24 Mar 2025 15:47: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twk1r-0005I7-6k
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:47: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 556fc8d4-08c7-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 16:47:47 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so2420597f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:47: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
 5b1f17b1804b1-43d3ae04a94sm97695435e9.0.2025.03.24.08.47.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:47: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: 556fc8d4-08c7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742831267; x=1743436067; 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=ofLcFiJye2/fFMKa39X3Mzc9G6Qa6RD4veVQBRgk+4Q=;
        b=XFjhYyMNtCGiREnfYdDmMP6vPqyq+nhKxmZlxdes8NMpSttMtDQTbdLN1QyrEgl2dN
         WjUj0/r4We0nZZLO1xer+dNrs+Jwojp920m8twhmbopiRtoqBAEpSQnz893HTRAPNEjp
         uQosU1Jk1ifprGZv/xP4VXVh5Rl9Pmj5egC3r8ysaic+v2xp4iMQqqNw3XPQ98CMpWQA
         wHGwKhxsgLVrrvsGPv0iqv4qtULoCaZkLDDCHNT00BGqzhxoYGmzUjXqiiMBzPxeTa0w
         Sq+WeE+NBJwoq4epJaRG/6/SUAF9QDAmQ7Dq2IKrv6aPNS46lacigmoeJigNEobB7a0y
         x/xQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742831267; x=1743436067;
        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=ofLcFiJye2/fFMKa39X3Mzc9G6Qa6RD4veVQBRgk+4Q=;
        b=v0uemIUPWAshlPlBuIPPDKaeB6MgTV6140Q5yZooxJ2IsghewDa9i5xA52R4/3DrvM
         k/+KoG0YbmmN34yJYlLNJi5Q5gwkzUWX/1lyJdyjPKyaX6Wfwtx9wNJ8sloU9DyfFJll
         VXIDYQwXU16Tng0WQ9Xr2D5hn8LwL6k6EcgroLUs/vEyKLQGUmf817tJ8VaX8NFS5+LP
         SCP8Ok0WRIBO7dS2xULGkOMZigvTFplnUGRrCrZvmde5IttnrfQtjsJVYEYc1XOoXWHi
         tqsE+tyMT+kpURs08fMxi+5h3CtTlqcWsj6lOycjPnp4GV4dXU4pZWLR0uGOC0VRVJDw
         8bJw==
X-Forwarded-Encrypted: i=1; AJvYcCUdZuFiXtHBlUMknDW7dlRAK6a9dAYs54nL+Re0iunGx/v8JMRRN/yQJfsRSCqCMmfrx57mHPcI/QU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwnOWT1Sqn/zsB5jAVG0ghTBZY2bREnEpiVc6pmz7BzYQ5R5Q/5
	XYjBtSYzJutt0ABmRiVHKX6fZeCsErbRG7ivP6+qC81xD74/CFwaOrKef/NUYw==
X-Gm-Gg: ASbGncv0Mki1WfVjsR0//r4/tftBmojfPrNV/L8jgJE+QfQExY2I7DSewBH+/rhszSE
	rqA59T3OFdjlJ4yXCXycHIXRNB5OsnZAKGeyLZRmScrlTm5oETAWuUyO8+WlJ/tzxhTGSorTK8h
	tWIKEZAMAeUMiAJjxeXsfEcgpMROAAy5OU/zfKUoD1785ZGjw3m6mw/KmUIgDnTyKaPQerG24Nz
	PIZST62Khwu7pRSbRRsn25M2K51ZMrWcdRohHd5KUOqSwqo+txVMPfRBkAEn7sTUDBHKsBdekIv
	SPWvCKXcVcwesb8TlJYJE4L6gW/v2VOpTwqKBzQZ+GbxBWkZdTqDhPYQRXCAhKDZ7iN+onvzHL/
	7BsonE1Wja3NeMaA/8eP78JVWxxwBJQ==
X-Google-Smtp-Source: AGHT+IHMxKBOyQpr/sSOsEKFQtzMEcuzdpKZOD410F+RWyv/WnKs8oK3SQbOo+IVBDE4XC1I8wewBg==
X-Received: by 2002:a5d:47a2:0:b0:391:23de:b1b4 with SMTP id ffacd0b85a97d-3997f9371e5mr12870440f8f.45.1742831266797;
        Mon, 24 Mar 2025 08:47:46 -0700 (PDT)
Message-ID: <0b340303-db4e-4723-b53d-178b2676a36c@suse.com>
Date: Mon, 24 Mar 2025 16:47:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/15] xen/cpufreq: fix core frequency calculation for
 AMD Family 1Ah CPUs
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-8-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> This commit fixes core frequency calculation for AMD Family 1Ah CPUs, due to
> a change in the PStateDef MSR layout in AMD Family 1Ah+.
> In AMD Family 1Ah+, Core current operating frequency in MHz is calculated as
> follows:

Why 1Ah+? In the code you correctly limit to just 1Ah.

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -572,12 +572,24 @@ static void amd_get_topology(struct cpuinfo_x86 *c)
>                                                            : c->cpu_core_id);
>  }
>  
> +static uint64_t amd_parse_freq(const struct cpuinfo_x86 *c, uint64_t value)
> +{
> +	ASSERT(c->x86 <= 0x1A);
> +
> +	if (c->x86 < 0x17)
> +		return (((value & 0x3f) + 0x10) * 100) >> ((value >> 6) & 7);
> +	else if (c->x86 <= 0x19)
> +		return ((value & 0xff) * 25 * 8) / ((value >> 8) & 0x3f);
> +	else
> +		return (value & 0xfff) * 5;
> +}

Could I talk you into omitting the unnecessary "else" in cases like this one?
(This may also make sense to express as switch().)

> @@ -658,19 +670,20 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
>  	if (!(lo >> 63))
>  		return;
>  
> -#define FREQ(v) (c->x86 < 0x17 ? ((((v) & 0x3f) + 0x10) * 100) >> (((v) >> 6) & 7) \
> -		                     : (((v) & 0xff) * 25 * 8) / (((v) >> 8) & 0x3f))
>  	if (idx && idx < h &&
>  	    !rdmsr_safe(0xC0010064 + idx, val) && (val >> 63) &&
>  	    !rdmsr_safe(0xC0010064, hi) && (hi >> 63))
>  		printk("CPU%u: %lu (%lu ... %lu) MHz\n",
> -		       smp_processor_id(), FREQ(val), FREQ(lo), FREQ(hi));
> +		       smp_processor_id(),
> +		       amd_parse_freq(c, val),
> +		       amd_parse_freq(c, lo), amd_parse_freq(c, hi));

I fear Misra won't like multiple function calls to evaluate the parameters
to pass to another function. Iirc smp_process_id() has special exception,
so that's okay here. This may be possible to alleviate by marking the new
helper pure or even const (see gcc doc as to caveats with passing pointers
to const functions). Cc-ing Nicola for possible clarification or correction.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:52:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:52:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925856.1328732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twk61-0008Bw-LR; Mon, 24 Mar 2025 15:52:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925856.1328732; Mon, 24 Mar 2025 15:52: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 1twk61-0008Bp-Hi; Mon, 24 Mar 2025 15:52:13 +0000
Received: by outflank-mailman (input) for mailman id 925856;
 Mon, 24 Mar 2025 15:52: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twk60-0008Aq-Hb
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:52:12 +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 f23bc7ce-08c7-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 16:52:10 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso34547575e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08:52: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-43d3bb2b2ffsm153554465e9.1.2025.03.24.08.52.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08:52: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: f23bc7ce-08c7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742831530; x=1743436330; 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=zzvAt+I2r68GT3pOS05PzDNFELKJwqZweyTVgNvcebI=;
        b=RYdsOhnMAxfgJMjx4QAkwnQQdpoqbNe630WuxGo9yg80+DF52yDRgPa3bK//a6Lw4y
         9ZUnAzujumMtPwMPXuF2uJXgovThFMCVLP/xMClrK6H1895uLhe9g6DerxDdgWAF8q0o
         VJySkaXBUBCZ72WY/d9GaBRT1cfOxOCsNUJw6KFv4PScbke/yD+uxW3vH3rUwOKrFQG0
         i3e1+xCKVrlb0MFVRjro6FgwjesYv1Kzn5vCYYbi0AHa3al62tW2yZGj3ah9dX2mqK59
         Y2QMNTUeZhUnpcyChfXorBW1u5gUx+SuCJsIl1aokEec8R1SX4bysaobISpvKQLvYwZO
         Pm7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742831530; x=1743436330;
        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=zzvAt+I2r68GT3pOS05PzDNFELKJwqZweyTVgNvcebI=;
        b=BePJg+5cROM9HQqpMAWT7wECPHFiKurXze3JgcavNO4NXOjDtMgAYz0R7Zy//U7iiX
         pP6qLeAxc8PvRHAWk5L44jHejINKZOXSf+RPnyGkJ+g7wCGVeDGooq6/LWhrX0Ez6n68
         5dQAYZ3fyUUY6c5QF6Lp0qr7+orrKJnNcMaySSE+ML0TFfXdfkUjVYU1eAEirQAyA0O4
         JQHhUA0DpQfSgIDZoNX7U2HwX68hPfVZrM1eyhKAl62v7Sf0smQO4uRoHuzA+mxc+W4k
         705QH/xj9rmy4vGvO78aqnquNFuebsbIJ24R8sSbvmbou7hGcpydnEx1hHTNKYCcXRwT
         Dz3g==
X-Forwarded-Encrypted: i=1; AJvYcCU3VkXceMA2ArZR75gSDj+b6baEDyt7QRHddCySb5l3VV6sKthXc3b0nytx3qLjGiUGvVtoxNNXaRg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyOvnxYpDz3zmP/Dfk9zv1XH9fv2OZH9zIsiI3IfU2bVK1Ma0o5
	rkkQ7Y7s18wCrStN7tpusU/hf/bpw8j1mM1YEVON9Pb/84TLECeo9G9SjK6WOw==
X-Gm-Gg: ASbGncvZ1UDZu9Lk6HaHpWYSLRH2PthZP5QLQeHG6Ib/P0sI7IUUYYpugBm1J1z5LgT
	UNFzc/pZu9lYMXlaRzEHKOyzSKFcdXpl6/KCJDNIOPAk0q2cVpN4fudYICnpDwyyI6c2m5oMIYb
	LkZ4NtjOpHSkWLim+Bu+4JjOrtTixROIWgRmfjbMcPPafntmCpoGBCzepDCL0bdM01y4TP783nK
	eGJ4Zm4b5FumP3dt4Y0uH7xNheJ8aA6+myzaECfm9uvKD9ahgf669tGsjNWbDWKlIRQQP+gYCfW
	tnX5dxjMaDCPLzeeJY1BHME0qk1oROXaBgFByqbT6NodeDVPkOqKwpJEODN22EMIxkW3J+Ji9ef
	m1ciOQ1Sxi9ps9mvnErpeqxuWlqA7bDN39Kg4kTzX
X-Google-Smtp-Source: AGHT+IG7pDl8t1OjR99/XFBUtWu7BPuPDRkU1bV0Bkxa+BbR3yH/whxJfp4cr8c2ii6Vv7M3NvVyPQ==
X-Received: by 2002:a05:600c:470f:b0:43c:fe15:41e1 with SMTP id 5b1f17b1804b1-43d509e190fmr124159225e9.4.1742831529822;
        Mon, 24 Mar 2025 08:52:09 -0700 (PDT)
Message-ID: <942a11ad-c24c-4079-a0da-339ca548c569@suse.com>
Date: Mon, 24 Mar 2025 16:52:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/15] xen/amd: export processor max frequency value
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-9-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -56,6 +56,8 @@ bool __initdata amd_virt_spec_ctrl;
>  
>  static bool __read_mostly fam17_c6_disabled;
>  
> +DEFINE_PER_CPU_READ_MOSTLY(uint64_t, amd_max_freq_mhz);
> +
>  static inline int rdmsr_amd_safe(unsigned int msr, unsigned int *lo,
>  				 unsigned int *hi)
>  {
> @@ -681,9 +683,15 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
>  		printk("CPU%u: %lu ... %lu MHz\n",
>  		       smp_processor_id(),
>  		       amd_parse_freq(c, lo), amd_parse_freq(c, hi));
> -	else
> +	else {
>  		printk("CPU%u: %lu MHz\n", smp_processor_id(),
>  		       amd_parse_freq(c, lo));
> +		return;
> +	}
> +
> +	/* Store max frequency for amd-cppc cpufreq driver */
> +	if (hi >> 63)
> +		this_cpu(amd_max_freq_mhz) = amd_parse_freq(c, hi);
>  }

As before - typically only the BSP will make it here, due to the conditional
at the top of the function. IOW you'll observe zeros in the per-CPU data for
all other CPUs.

> --- a/xen/arch/x86/include/asm/amd.h
> +++ b/xen/arch/x86/include/asm/amd.h
> @@ -174,4 +174,5 @@ bool amd_setup_legacy_ssbd(void);
>  void amd_set_legacy_ssbd(bool enable);
>  void amd_set_cpuid_user_dis(bool enable);
>  
> +DECLARE_PER_CPU(uint64_t, amd_max_freq_mhz);
>  #endif /* __AMD_H__ */

I'm also pretty sure that I did ask before to maintain a blank line ahead of
the #endif. Please may I ask that you thoroughly address earlier review
comments, before submitting a new version?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 15:56:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 15:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925865.1328742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twk9v-0000JK-3S; Mon, 24 Mar 2025 15:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925865.1328742; Mon, 24 Mar 2025 15: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 1twk9v-0000JD-0l; Mon, 24 Mar 2025 15:56:15 +0000
Received: by outflank-mailman (input) for mailman id 925865;
 Mon, 24 Mar 2025 15:56: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twk9t-0000Ir-J7
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 15:56:13 +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 826bedaa-08c8-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 16:56:12 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39127512371so2992488f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 08: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
 ffacd0b85a97d-3997f9a3af8sm11470772f8f.31.2025.03.24.08.56.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 08: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: 826bedaa-08c8-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742831772; x=1743436572; 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=kvoZi78M+nHQVoz+f/cTGXabC+GTXglJDbvfQM9tS6s=;
        b=ItcVH3/e2Hs7PY9fA55SKhHDwtAXkKpL+ixdixcE5dwfzFEUrVwNSQ792C1FiVKPY5
         tWFRDvBPmqHUrurIIDlfakYya7Pc25fxc0KbCk/5BnvbKi9TzGK5F510SOxc1lVwPrDA
         AtQOj4ARqm81tD1A9Ech2P/AIlITrX7EBaiAQ8JrOQtSf9ZBaM4seETh82L7omZcBPTO
         EIY6h2wzltGfnnd9z1pMd8WGOrMw4ohtYPUgNCUJ59dfP0J3VK7wdh+0Q2TAohTBD7Jp
         c5a/DVUm0SeEzmp5fM/tAXSFTyWD95iPlPctbF+AxbzSGxnBjSBBGI05Wigr0vcQLDsX
         luSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742831772; x=1743436572;
        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=kvoZi78M+nHQVoz+f/cTGXabC+GTXglJDbvfQM9tS6s=;
        b=sahPBEew4tlRKAHSBQ2gVlOZeRF5/f9PogjH3YexEKjwwIeAswPpFLKpRMNCgXhT4P
         /BRCqRDOKSPF2Re5YJqY9ljRCydfK5EAx0aLRUokyVW51OHkBsoVahSQeJK/B6nQzntv
         tR1Hk704JZQi8YoTPssXp7U1Ku+dlF+tbfc2uZSZCCkUm+K/SGdXQPizvJhvra72TQkT
         szCynGEtHRbgWDofFmJYUcqkem9zbH0jxvg3cDsD7/ZrthlRFPWlz+0T2gOxMPowfAxj
         VMr2VtmYFo3BAKTsJDbihqeL+QbN8FPSboEQ65gWa26MBDF5g+qOq+ygG9r5JIqjGokz
         Cwag==
X-Forwarded-Encrypted: i=1; AJvYcCXG/h038Vfp6TJI031kzd1cOTbDxrXjx1V1ARNGLDL1MZJx2ud+bmQ1A/kOxUncO+6DjntNnVI/7Lw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7WwOxUxNqRyUTOQd8jwlNS1yFupYFbrsc0ur/DD6n7nrLnWru
	UjETde1r9e+U9ADNHi6yWG0MyA1f+AucVLvGGdne5iTXVACRad1BTJCgXIH1sg==
X-Gm-Gg: ASbGnctUZ3VihVX2Dw/vJ1QmjfUlIAEpHTnu+WnV/OFYjbC72qCkznl61BEZStH6hNE
	e/Yy1KdpdudcZ5uA4PWDbCrTiaSuFie7VnbvCglBxwJ76PEfxmT4V7OoEMVQlzJXMDnmWe4TjWa
	lq3J/HWQS4Cyupin3S/yB+9FeWfiZrjwVACg0+Phu1aIkDwoT6/LllJGWthl3WRyBJYDYktKv4J
	GoyAX81lXOXepkv4bBSZXpjPLkqSLKaz9at4MlpAnUSy48OoGC3NGhXMLNSzwo9EwgOTVdpE39C
	EOwxEj2F4ChXEuPL1YxIVpoetfexIWVS3U6+ORoaa1rL6ef3+Aov8e7xXNVwIR6NZz2KFCRJsDd
	Tydhy96Li48fh5fThJrNeM5ub5oVBIA==
X-Google-Smtp-Source: AGHT+IGTBB7qmuPf4J7QrHa4hlT+kRFjMEROt/gMWRsUEEIGB2ZRp+ENS6uELd/XTIFKEkeSBbF73A==
X-Received: by 2002:a05:6000:4009:b0:391:300f:749e with SMTP id ffacd0b85a97d-3997f8f5d96mr10404963f8f.11.1742831771690;
        Mon, 24 Mar 2025 08:56:11 -0700 (PDT)
Message-ID: <dca708a0-f3e4-4e8c-8131-3244b7612034@suse.com>
Date: Mon, 24 Mar 2025 16:56:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>
 <27dc3481-1f48-46c5-a827-e0a44c17686d@gmail.com>
 <630f216a-10fa-4828-a64e-651dd7f70242@suse.com>
 <abfbdc78-6620-483a-b9fe-4a100cab04e5@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: <abfbdc78-6620-483a-b9fe-4a100cab04e5@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.03.2025 16:29, Oleksii Kurochko wrote:
> 
> On 3/20/25 8:36 AM, Jan Beulich wrote:
>> On 19.03.2025 18:29, Oleksii Kurochko wrote:
>>> On 3/17/25 4:24 PM, Jan Beulich wrote:
>>>> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>>>>> --- /dev/null
>>>>> +++ b/xen/arch/riscv/time.c
>>>>> @@ -0,0 +1,38 @@
>>>>> +#include <xen/device_tree.h>
>>>>> +#include <xen/init.h>
>>>>> +#include <xen/lib.h>
>>>>> +#include <xen/sections.h>
>>>>> +
>>>>> +unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
>>>>> +unsigned long __read_mostly boot_count;
>>>> Why not also __ro_after_init? And what is this variable actually needed
>>>> for? Common code doesn't use it, so a better name (describing what it
>>>> really holds) might be desirable, even if this then means not being in
>>>> sync with Arm code.
>>> To calculate more accurate amount of time since boot.
>> Okay. But how does the name of the variable reflect that? I.e. what it
>> is that the count of is being stored? The only meaning I could associate
>> to a variable of this name is the number of boot cycles a system went
>> through. I.e. nothing that an OS (or hypervisor) would normally count.
> 
> But an OS (or hypervisor) doesn't count it, they initialize a variable
> once (in my case, it was named as boot_count) and then just subtract it from
> get_cycles() to get time relative to this variable (so since Xen boot) and not
> since power on as nothing guarantee (at least, I can't find that in the RISC-V spec)
> that after power on the value in CSR_TIME will start from 0 what could lead to
> some issues, if my understanding is correct, such as if on SoC A timer starts from
> let it be 1000 and on SoC B timer value starts from 5000 then all measurements will be
> incorrect as Xen will think that for SoC B it was spent more time then for SoC A.
> 
> What do you think if boot_count will be renamed to xen_start_time or {initial_}boot_time?

Something like that, yes. Whether "time" in there is unambiguous enough I'm not
sure. "cycles" or "clock_cycles" or some such may help. I don't really want to
restrict you in what name you choose, just so long as the name reflects the
purpose in good enough a way.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 16:05:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 16:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925874.1328752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twkIu-0003pa-Ut; Mon, 24 Mar 2025 16:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925874.1328752; Mon, 24 Mar 2025 16:05: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 1twkIu-0003pT-RN; Mon, 24 Mar 2025 16:05:32 +0000
Received: by outflank-mailman (input) for mailman id 925874;
 Mon, 24 Mar 2025 16:05: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=r2bg=WL=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1twkIs-0003pN-TR
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 16:05:31 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c201::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c73c940e-08c9-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 17:05:17 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV1PR03MB8864.eurprd03.prod.outlook.com (2603:10a6:150:87::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 16:05:14 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 16:05: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: c73c940e-08c9-11f0-9ea2-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PR5X9gPwtTYAH0W+94LzjChiaicxwqBntLNjsAS+Qsrv1hpPVINj56xaCXd8JgR6woWB4QU8SGBcF7ze9jw8ShgELPBH3B+BpKvUxIOGhxh5tzWmZlhdSGhzYPmBNou2fwO1hSAzlkJ/4CFoRFDbMZJt0nB/RjlrK78OQYfuABbfUfHWzISNJK6uoKoJjKba0WU24SgrKw68/8VPRddm5mZiv3bAIZDJICoTf3BgGg3fztQGS8de7kHRJ7kyABh0ijm3Al9+VrmXt/Ktp8QoMJaRWVq/oGm+f0xcSZkB6QEYiaDIXA+QYCrb781rB5k3oot1lrBsCLzPlrMN5pLChQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C4xkN+n1Jno3kXD96GB+KtduDNHlbGOhZ4JqcSRHlCo=;
 b=mLfB0gqbMUOfF8JgVn9t/lk94HufhN5uy9aEPvQUXVIwH57b5WP/CpKpmMk0D7MWRreUKTzfGnPGBeOiSUT4zVFzPosYKUzcKnNoRnlpF+L2+lKDHZNVgISkMes9zalKfLqW5sMUkigYLad/Zl7mfz7fKru1lvUW+z4BpwGKam1SqKWRdye8CFiPegBIZbwg9EhU897Xw1hOfIYAnoFqDmDpvKex1mzl4eZtU4irD7ls18z5qna7i4jSvBXVdfJiHq2TUYoxyqvzw4or6J3iaI7ED4X+/EzILlMdrYQHeAJbWcO54SmlVTXCkXH99XCyc5Rf1mGMTKblfAc0HxJtSQ==
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=C4xkN+n1Jno3kXD96GB+KtduDNHlbGOhZ4JqcSRHlCo=;
 b=KbjCJJXNjCCsN1nKphAWabK2tOgo1E6YYa28gV5td0XtW0EGAaxOMs3qAS8fNrs7q4ZIjZjc0VJCisSOWUPeE2TwlwLzTmXSWP3OTueRnvgSEEE26i/v/FuzhqahhDcvMk4jU7hZkJw7s0VkAY4cHN446b6FPxAR7n7/NWCwrVyi8q3YwI1VSW9muUlyYl1v+EIjvWHWYr6TdPd1GEGLhMeKUxnrTjQpVSuuv4NEFP14clEwMiZme+KRL1rwomqQC1ZX+nK3TA27f3BBImDl0dUFyVHl0vPUUk2AGM+CM59eA0+yTALboUJGcuiBLXHfViDjkiW80CL+cGmjWSiwMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <e1917eb2-fd64-4d24-81e7-08d8ee111095@epam.com>
Date: Mon, 24 Mar 2025 18:05:11 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 3/7] xen/arm: scmi-smc: passthrough SCMI SMC to
 guest domain
To: Stefano Stabellini <sstabellini@kernel.org>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross <jgross@suse.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-4-grygorii_strashko@epam.com>
 <alpine.DEB.2.22.394.2503131553490.3477110@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <alpine.DEB.2.22.394.2503131553490.3477110@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::19) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|GV1PR03MB8864:EE_
X-MS-Office365-Filtering-Correlation-Id: eb189d7a-4bad-45fb-5d64-08dd6aeda9a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dHdDMzVHTjliWnlFOFBuZnpoWCtBc2tDcTFUSms1Uk4xNlRJVlB5WnlWdUhy?=
 =?utf-8?B?UXg3dHBOcXNRamRXcXY4cDZXUVprZTNRcEo2aE1LVjc3WVU4RFQzZWx2YmJo?=
 =?utf-8?B?ejZnM3pVdlMwRlhUK1VTYWNxWnNCVHFTQ0NlUU5yRmtIN0lUSWhyMldFZG1N?=
 =?utf-8?B?SkxSRjBiQXNxallhMEtJRVh6OWlRbld6cFR1VWhDakFLR3ltbHh4V3B4TWVq?=
 =?utf-8?B?RndtZEdQODRNbW50eS94M3J2T1dUQmJkUDBRVjBPbVZNem9RZjdSKzFTWVZo?=
 =?utf-8?B?VmlyY0ZkNlNiTy9IdE1IN0NNK2p4ZHhBVUZOREdWcmtnaTIzN2Iwand1T1py?=
 =?utf-8?B?R2NHaGZETTB3T0RDWk5TZ0ZYN0owNXlkK01IUEFJRUJNNmIvTjBWMGlWdCtN?=
 =?utf-8?B?NTZ0dzRPdUFnWDBBcmNmdnBxTHhVeWZwcUdjdkNVOWlZajJVanJ4NEZwcisy?=
 =?utf-8?B?VkI1Ujg3cHJTZ0tHeUVZN1RWZERSNk02ZzVRdEdhc3c4ZDJ5S1JZandQNlp4?=
 =?utf-8?B?NGtKVlhGdEorMHA0VHd6djNCOGRkMFpmbDlXYnVtR0lkMFp1aHpkOHIrMGpu?=
 =?utf-8?B?bitrN216US9PVVIrZVdueFRQQVM2K21qN0JSWFZpcjV4L3ZtL1FMUTRld0Mw?=
 =?utf-8?B?NDkrOGFaSXNvOURpRmxKdWgyYnpyUWlibTFwWjVKUTBFRk94d1lxQWhqaURB?=
 =?utf-8?B?ZHBwcW5iQkViNlpUNVpPTlp5R1hnTmNybHJDK3FoYUpXUElRVWVwSTN2SlRP?=
 =?utf-8?B?M3NFbUZ2Sml2YWorQzlScE5lMnF0OFUvMUU0VHBRRU9qdkpuRVRMNkVaUmlO?=
 =?utf-8?B?Vkl6dmxibVhIYmhTZUZTbEwrbVpZTDZUNmdLWXlpNngwRUMvRi9ubllDRjZt?=
 =?utf-8?B?QU1jTjB4LzBjaERBNUpJay9FY29mUlJIemozOHAzNjJxNWRJbDVoQmxDMGVL?=
 =?utf-8?B?WDdVcS9yQ2hUM29jdUVUdnBVbWlDUUJqRExib0lIUjdqM1docExaTFdtTFha?=
 =?utf-8?B?bFlFckdlWGFTd2R2M1gyU0VmZXZZZVJvQVJEQlg4UVcxc2svMExleGh2cFlI?=
 =?utf-8?B?WHJIQzU5dTVkcFRiK2V2U3l0SnF2SE1DZW1Yc0g1b1M0a0hNdGN6T2NIL0NK?=
 =?utf-8?B?YmZIWUo5OC9PLzFCZ2Q0UlhRTWVBdGxZM0JwSThTQVE5cGcvQSt3R0F2NEhi?=
 =?utf-8?B?M3Z0eXFBMDNwUlRDOWZWSitLczRTVFlXeWtKSTlud1BWOEJpU3RVcDBlbEZq?=
 =?utf-8?B?aFN6ZFV0dmw3MUVMUnVxZjhiOEZ0RlBpK0hjbXJoNWNVYjhMZUhTVlFJWnV5?=
 =?utf-8?B?WjQ5UlVackNXTE83YUp4OVhnSE16VzBkYVZtdTYzNWxQRjU0YnJSTXJ3MU5w?=
 =?utf-8?B?ZktnOEJCQWcxc1BEaUwyTi9ZczFyOWUra3NBYzJaU3F4TU1tRm9wVTd2ejdw?=
 =?utf-8?B?cjJ4OEJPK2ExTGNiVWhTTXJDTkVwekZDWkJaRlBBaG55a1E5UkpRdGVEVGJ6?=
 =?utf-8?B?Wmh4dlhScVpmMnMrb0dDS1pvY2tHdnJWMyt0ZzFPZTF3YzZCN2lkYjhLTnN0?=
 =?utf-8?B?K0haVjRlRG9KaldqOWhsT3VDaERpaCtVRys0QnA3Y2tjMGNtOTR4WlprOXJm?=
 =?utf-8?B?dWgwRWhrVVFKQWYzSnd0RE5iYWFLY3J5LzgxaFR0ejNlQ3huakdFOTE2cS91?=
 =?utf-8?B?cm05YnhWZFRVQy9tbjR3dmlnWWM4OHd4UjFuejc0VjAzZG5EQS9USzErcjAx?=
 =?utf-8?B?a2ZjV1R6SHc3OG1NK01CTmRJN2JNYjJrd0kybWlSelp1dGw5MXZCMjVyZ3ZP?=
 =?utf-8?B?c1RrMCtXMDBwdm1hMnZrS0YzRmdlK3dpbXdjNXI3UGhBT2l2K21PMzlVeWU2?=
 =?utf-8?Q?jR7XGdbZ64bRs?=
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)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3lETGVSa0FxTVVXbkFQRXMrWWZYZWhiK2tHNWRHdHBmdmlJQWM1Y2ROcjhP?=
 =?utf-8?B?YVhNRUhOU3VweXBaRktpZXByeWNOZ1NuNXM5QnpKUG9IVk1LN29zTEpoZkxZ?=
 =?utf-8?B?UkJwQTB5c1l2MEFDeUZYWTQ2cjJiRmRlZUNXVWUwM2RwZHZkQUoyVWkwRGlB?=
 =?utf-8?B?N3JUZ21laXZ4cVkzNEVMWEYzYXJIMVA2OXgyVWR2czBGNHh1V1F5ZTJaVXAv?=
 =?utf-8?B?WVRRTW5RbzYrdVp0WUlIdW5sdXhPWlo1M1JoMUUxR3h3bEhXQ2ZvYVFySHVF?=
 =?utf-8?B?U1RkMGRMMElWbVpleTk0S0NxaklxTVZuZEVvd1duTE9XcEtOZ0VwNDhjbkVp?=
 =?utf-8?B?d01zUW13eEdVRW9mbTZraXZWbG5pN2NMbWZvclRDNFhMQ1VaY0dWWldhdHZh?=
 =?utf-8?B?Mksza1BXK0dadDR6b0lSZTlpcDFTSzV2NHh4ZkMvaE96U0hnOG8wMzRNcEY2?=
 =?utf-8?B?MkRHUWZ4Sm43bFpiaVZReklQUkk2MUsvWHZSVzJuTUk0UHhmN3FndUphd1hS?=
 =?utf-8?B?SEdKd3dUaWQ3WjVtaVNRWEVjb1dnUmNHRWppa2owazBBOEU2azdvd1dmQlBQ?=
 =?utf-8?B?UHVMd3FqeU0wTWFCYWJ1TEhqczluNlkzY01XZW9PTFFac2NvaHlubWRGd2pi?=
 =?utf-8?B?dkNVbllHRE1UcEIwRFNRT0lXOUVTeVQwNkZnMmxjRDRhUlpXdnBPdWZ3a0or?=
 =?utf-8?B?QmxPRkxaZnl4S25CNndTVnloTVZqOGtjTTVNdXRndm5MbWdLK0paYzdHYndF?=
 =?utf-8?B?U0czNEJZem9hZGg1RVJRdGZCWXFhL3RhZkloNmQ5UlBuUkVHSWR3L2hHUkZh?=
 =?utf-8?B?ejZIZFZTSDc2QUxHMUpHblZEWGhNejVSZnVVbUNyb1hWRG84N08zZ3FYQ3Ra?=
 =?utf-8?B?K3U3TmNvc2FMRFNVOEl2K1gwWCtqenh0R3dyS3FvZ0s0aldqWVZMckRpSGlO?=
 =?utf-8?B?TE83QXpyK0JlQ3dRSjNyckEyNWE0Snd3YW5OQU11NWtpS1VIWXlKSGlCZDRH?=
 =?utf-8?B?SG9rVDVxcFdwNDBPSDdZSGlxVUt2NnpWanJ6RzVYYkFVQkRwbGRTVnVYWWtw?=
 =?utf-8?B?YU0rMi9kRUcvV1Qvb0V5ZFJKbllnSGxGa0FJT2NSU01YY29xdFM5ek56WnMz?=
 =?utf-8?B?RjBpR1JMZ2xhSEh2VjlaNmNmRzJrZXJ5bVhWanZ5amJSZnZVZGNuNWVDUFpS?=
 =?utf-8?B?Y0gvRFR1eDZxRnBoTnYwVlZhZENmaHVVVXBBWjJlY2poUUpJcE9USnVpWW5K?=
 =?utf-8?B?MHhIckJNUFl3QVRiaW5RZExKRndlRjBIa1UxY04reWdoRGRTcDhGeGMzdGdR?=
 =?utf-8?B?TUFLb3hRRndkdjhTWjR6VC90UkQ4WWh1RFVXUGlaYVo2OXpLWktKbThCbW5T?=
 =?utf-8?B?b2lCK1NyTGNBaDd0RTJFeTc1alRPeUFpNllNejUrUGptWUs1ODVHZFNiUGJk?=
 =?utf-8?B?SUhKaHZaWmU5SWR5ek9zUm0xY0REb0IyeDRrTkVpdThMbm9jbjN6dElnMDRQ?=
 =?utf-8?B?ZGY2QXBEcEgyLysyVmY2WnJnNjNNUGR5MjVWK0VrVkh4Q00zRURzdTdVTG55?=
 =?utf-8?B?b1A3SnpYalJLaUgzLzNOQVdjUS80czlPcE1wZFBYU3dBeloxalUwdG1TUEho?=
 =?utf-8?B?S094ZHRleFNFUGs1Y1o1MzE0dmdJWTNwUG40clIxa2ZKbXhSNDJQZ2p1dVFu?=
 =?utf-8?B?b09IS01tclZOUVV5dzJ4ajN3dzFQWEZtQkMxYStuQ0hDcDdJclc2NmJiUXFZ?=
 =?utf-8?B?L2VIMkYwd016U1BQSkQ0Nzl3b3c1NW5hVVliajl2MUtNeXpxRHJ5V0Y0V1FN?=
 =?utf-8?B?bC9nV0xyb3d2N3ZPSVN6Vmx1VnlhL1pyM21NcVl1SVRsOTBrNjI5U1B1K3Y4?=
 =?utf-8?B?dElaa1NwczRuM2prNzFadDg0a3Q4NnhveTZ1TU5aVHJtNm9TdWh1T29iMzBR?=
 =?utf-8?B?Z1QwQXNsdzNlSi90ZXZZWUNJRDR3bmorWHNNOXE3OWVQT0N1MkJHTEVGSlpF?=
 =?utf-8?B?dk5jWDBVZmdZVFVUVVVZTXV6aFkvckEvUVNBSUtPa01MSEJyK1VnRy9XMmVk?=
 =?utf-8?B?dktPakljNzh4RG5lL21aVzA2bnoya3ZYZFFoOWRSK3QzdmRpQ1hDTks0Mzhi?=
 =?utf-8?B?dkVUTzRMSE1iTTlZSFZTTXNXZFoyV28zY0JjRHVubzFHc2twUnE1L1pORG5K?=
 =?utf-8?B?VFE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb189d7a-4bad-45fb-5d64-08dd6aeda9a7
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 16:05:14.3870
 (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: aqe1pabHEeMlSPn7RIJcUyJJWGCfay8UBmGu1GXpu4KqG71XwHjvjWriCfJAne3JKA2ynRvghVcRUWNsTG/eP10GWBsiaElcFFXShjpJ31w=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8864



On 14.03.25 01:48, Stefano Stabellini wrote:
> On Tue, 11 Mar 2025, Grygorii Strashko wrote:
>> The commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls
>> handling layer") introduces simple driver which forwards SCMI over SMC
>> calls from hwdom/dom0 to EL3 firmware (TF-A) with a single SCMI OSPM agent
>> support. While it working gracefully for hwdom/dom0 use case it doesn't
>> cover "thin Dom0 with guest domain, which serves as Driver domain"
>> use-case. In this case HW need to be enable in Driver domain and dom0 is
>> performing only control functions.
>>
>> The EL3 SCMI firmware (TF-A) with a single SCMI OSPM agent support is
>> pretty generic case for the default vendors SDK and new platforms.
>>
>> This patch enables passthrough of SCMI SMC single agent interface to the
>> Driver domain which can be enabled in the following way:
>>
>>   - dom0: add dom0_scmi_smc_passthrough to the Xen Command Line
>>   - domD: xl.cfg add "arm_sci" option as below
>>
>>     arm_sci = "type=scmi_smc"
>>
>>   - domD: xl.cfg enable access to the "arm,scmi-shmem"
>>
>> iomem = [
>>      "47ff0,1@22001",
>> ]
>>
>>   - domD: add scmi nodes to the Driver domain partial device tree as in the
>>   below example:
>>
>> passthrough {
>>     scmi_shm_0: sram@22001000 {
>>         compatible = "arm,scmi-shmem";
>>         reg = <0x0 0x22001000 0x0 0x1000>;
>>     };
>>
>>     firmware {
>>          compatible = "simple-bus";
>>              scmi: scmi {
>>                  compatible = "arm,scmi-smc";
>>                  shmem = <&scmi_shm_0>;
>>                  ...
>>              }
>>      }
>> }
>>
>> The SCMI SMC single agent interface can be enabled for one and only one
>> domain. In general, the configuration is similar to any other HW
>> passthrough, except explicitly enabling SCMI with "arm_sci" xl.cfg option.
>>
>> Note that SCMI and "arm,scmi-shmem" nodes will be removed from
>> dom0 DT.
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
>>   docs/man/xl.cfg.5.pod.in          | 36 ++++++++++++++
>>   docs/misc/xen-command-line.pandoc |  9 ++++
>>   tools/include/libxl.h             |  5 ++
>>   tools/libs/light/libxl_arm.c      | 13 ++++++
>>   tools/libs/light/libxl_types.idl  | 10 ++++
>>   tools/xl/xl_parse.c               | 66 ++++++++++++++++++++++++++
>>   xen/arch/arm/firmware/Kconfig     |  4 +-
>>   xen/arch/arm/firmware/scmi-smc.c  | 78 +++++++++++++++++++++++++++++--
>>   8 files changed, 217 insertions(+), 4 deletions(-)
>>

[...]

> 
>>   /*
>>    * Check if provided SMC Function Identifier matches the one known by the SCMI
>> @@ -50,7 +56,7 @@ static bool scmi_handle_smc(struct cpu_user_regs *regs)
>>           return false;
>>   
>>       /* Only the hardware domain should use SCMI calls */
>> -    if ( !is_hardware_domain(current->domain) )
>> +    if ( scmi_dom != current->domain )
>>       {
>>           gdprintk(XENLOG_WARNING, "SCMI: Unprivileged access attempt\n");
>>           return false;
>> @@ -78,9 +84,18 @@ static bool scmi_handle_smc(struct cpu_user_regs *regs)
>>   static int scmi_smc_domain_init(struct domain *d,
>>                                   struct xen_domctl_createdomain *config)
>>   {
>> -    if ( !is_hardware_domain(d) )
>> +    if ( !opt_dom0_scmi_smc_passthrough && !is_hardware_domain(d) )
>> +        return 0;
>> +
>> +    if ( opt_dom0_scmi_smc_passthrough &&
>> +         (config->arch.arm_sci_type != XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC ||
> 
> I am confused by the check "config->arch.arm_sci_type !=
> XEN_DOMCTL_CONFIG_ARM_SCI_SCMI_SMC". If the check was true, this
> function should not be called?

I'll tried to hide all SCI specifics inside SCI code, so outside SCi only API calls
are present (Patch 1).

> 
> 
>> +          is_hardware_domain(d)) )
>>           return 0;
>>   
>> +    if ( scmi_dom )
>> +        return -EEXIST;
>> +
>> +    scmi_dom = d;
>>       d->arch.sci_enabled = true;
>>       printk(XENLOG_DEBUG "SCMI: %pd init\n", d);
>>       return 0;
>> @@ -88,12 +103,68 @@ static int scmi_smc_domain_init(struct domain *d,
>>   
>>   static void scmi_smc_domain_destroy(struct domain *d)
>>   {
>> -    if ( !is_hardware_domain(d) )
>> +    if ( scmi_dom && scmi_dom != d )
>>           return;
>>   
>> +    scmi_dom = NULL;
>> +    d->arch.sci_enabled = false;
>>       printk(XENLOG_DEBUG "SCMI: %pd destroy\n", d);
>>   }
>>   
>> +/*
>> + * Handle Dom0 SCMI SMC specific DT nodes
>> + *
>> + * Copy SCMI nodes into Dom0 device tree if dom0_scmi_smc_passthrough=false.
> 
> I am confused by this: shouldn't scmi_smc_dt_handle_node be part of the
> previous patch? Otherwise, how can it work for dom0?

Previous patch doesn't change functionality introduced by original
commit 3e322bef8bc0 ("xen/arm: firmware: Add SCMI over SMC calls handling
layer"). Previous patch just makes it part of SCI subsystem without changing
major functionality.

The original functionality:
- if there is SCMI node in the Host DT then enable it for dom0/hwdom
- SCMI DT node will be copied to Dom0/hwdom in generic way as any other DT devices.


This patch enables coping of SCMI nodes in dom0/hwdom DT only if dom0_scmi_smc_passthrough=false,
otherwise scmi and scmi_shmem modes are removed.

> 
>> + */
>> +static bool scmi_smc_dt_handle_node(struct domain *d,
>> +                                    struct dt_device_node *node)
>> +{
>> +    static const struct dt_device_match shmem_matches[] __initconst = {
>> +        DT_MATCH_COMPATIBLE("arm,scmi-shmem"),
>> +        { /* sentinel */ },
>> +    };
>> +    static const struct dt_device_match scmi_matches[] __initconst = {
>> +        DT_MATCH_PATH("/firmware/scmi"),
>> +        { /* sentinel */ },
>> +    };
>> +
>> +    if ( dt_match_node(shmem_matches, node) && !sci_domain_is_enabled(d) )
>> +    {
>> +        dt_dprintk("  Skip scmi shmem node\n");
>> +        return true;
>> +    }
>> +
>> +    if ( dt_match_node(scmi_matches, node) && !sci_domain_is_enabled(d) )
> 

It is correct...

> This seems wrong: we are allowing access to the shmem region if
> !sci_domain_is_enabled(d). Shouldn't it be:
> 
>    if ( dt_match_node(scmi_matches, node) && sci_domain_is_enabled(d) )
> 
> 
>> +    {
>> +        struct dt_device_node *shmem_node;
>> +        const __be32 *prop;
>> +        u64 paddr, size;
>> +        int ret;
>> +
>> +        dt_dprintk("  Skip scmi node\n");

(this is confusing left over, sorry)

>> +
>> +        prop = dt_get_property(node, "shmem", NULL);
>> +        if ( !prop )
>> +            return true;
>> +
>> +        shmem_node = dt_find_node_by_phandle(be32_to_cpup(prop));
>> +        if ( !shmem_node )
>> +            return true;
>> +
>> +        ret = dt_device_get_address(shmem_node, 0, &paddr, &size);
>> +        if ( ret )
>> +            return true;
>> +
>> +        ret = iomem_permit_access(d, paddr_to_pfn(paddr),
>> +                                  paddr_to_pfn(paddr + size - 1));
>> +

... even if SCMI node removed from dom0/hwdom DT - it's required to add
scmi_shmem IO range to dom0/hwdom to allow scmi_shmem configuration from
xl.cfg for other domain.

>> +        return true;

... and here node removed

>> +    }
>> +
>> +    return false;
>> +}
>> +
>>   static int __init scmi_check_smccc_ver(void)
>>   {
>>       if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
>> @@ -110,6 +181,7 @@ static const struct sci_mediator_ops scmi_smc_ops = {
>>       .handle_call = scmi_handle_smc,
>>       .domain_init = scmi_smc_domain_init,
>>       .domain_destroy = scmi_smc_domain_destroy,
>> +    .dom0_dt_handle_node = scmi_smc_dt_handle_node,
>>   };
>>   
>>   /* Initialize the SCMI layer based on SMCs and Device-tree */
>> -- 
>> 2.34.1
>>

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 16:11:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 16:11:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925885.1328761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twkON-0006S2-LW; Mon, 24 Mar 2025 16:11:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925885.1328761; Mon, 24 Mar 2025 16:11: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 1twkON-0006RT-Is; Mon, 24 Mar 2025 16:11:11 +0000
Received: by outflank-mailman (input) for mailman id 925885;
 Mon, 24 Mar 2025 16:11: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=r2bg=WL=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1twkON-0006OX-4C
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 16:11:11 +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 995f0683-08ca-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 17:11:10 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DB8PR03MB6249.eurprd03.prod.outlook.com (2603:10a6:10:13c::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 16:11:08 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 16:11: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: 995f0683-08ca-11f0-9ea2-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=K4IxPnh5zuzEu1AJhFuRhry48U7Es5HqQUuHpRa7cG42Xf4M0sO6igiHWw19LS8A0bA+MHFnIksNb4WzbV40IM7DPMUq0ZZTdSz738sma6m88l1pjedejmaUJQAbUNNtoiii0dvHhSSEz6XwyLltcn92kQhhnMOL9pnvXs4MWhgNZnmZB9T4c5RSOLkGksfPcJDzD8i734WjmbIXrZrtgA4TWUdXmg5sLHZAsXMlG2DN7x+V7MHmoYoU+zAjhV/ZftN/JIWC2U30NxoGNbMuHebfYXC1wO0OgIYktMqB1yij3kbWP0en/ml260p9xtyaQOlfgDn08n6RqhhTR7h3Tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xikv3VdyLryQHpPQFe50uan+0UPkBKcY92q5TqYarTo=;
 b=QWCeOziflH3Z0MxRheCmag0e7l1R2NdeSwTYO5SYxZY/YDKWVLzhedBbMNGa2fFQpZya7QOWvfguYYlPO+GjHEa0p/cEP8zX2M57DSG2Oz9Bvlx57mU4FQjPR3baQQT/7rrXApW7X8RXyJo84cUJbaulPkmF+IpzW3q3eIrSA5yHJejpEsJ4nh4WncYCDerrN+rorTQa70AuNwX26dWGCbWrvuy3B/MSAlIkN9ziVGXkNE1VIj/JLvntYRlgm+DZo4mbPaMS4XnM5FKCREUS7D8Ie0Yp3p+Eurgt0sfHoQOF3ae0b17OCFV6vnLCp/HR3p+M73uqpvEGDaI3PJHwHQ==
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=Xikv3VdyLryQHpPQFe50uan+0UPkBKcY92q5TqYarTo=;
 b=iibC13okCxM91QJZClS9XKhgcVk4bbiJMHgXkp/s3UZelekagZmJKuk15/8anX5yJGLVn38pVZaZVy+WRf+P+LClfHNK58lsG+7mVXJw2DZG5YdkAJHL852+L2HFvRX8np+OTuCTEXdwjHO+2Fi4HPHF916F3HJ2x6+fHkW/gP6f4riuCVjdMHap6ssdkdvRi9LNnqXjGCrb3XDOvja8DutignxN2cTuqLMuZO3iD83gDyGn9Z26qJHj++nKWbqHwh/18cRf3+zcUJ81klBB3pZbS9tahGvVWjJsKws2BbH6zxWT3DRALmZGIpPZEKdMx3Xt7gQAQJbdpVhsJpOBNA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <4d4baa38-ab14-4565-8e4f-1280fcde9d3d@epam.com>
Date: Mon, 24 Mar 2025 18:11:05 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 3/7] xen/arm: scmi-smc: passthrough SCMI SMC to
 guest domain
To: Anthony PERARD <anthony.perard@vates.tech>,
 Grygorii Strashko <gragst.linux@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross <jgross@suse.com>
References: <20250311111618.1850927-1-grygorii_strashko@epam.com>
 <20250311111618.1850927-4-grygorii_strashko@epam.com> <Z9RYDnUtlzvw_xpI@l14>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <Z9RYDnUtlzvw_xpI@l14>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0167.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::6) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DB8PR03MB6249:EE_
X-MS-Office365-Filtering-Correlation-Id: a54fd73f-8709-46d2-e5d3-08dd6aee7c64
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:
	=?utf-8?B?T3JQeWpDb2VWZzRELzZuamZFQ3VGWmFzYlEwUXRFdmM2S3BHVlEzTGYyOExY?=
 =?utf-8?B?WFVoTzlWeGhZM09oZWx5QmNoSXpweFlTZmxNRHcwZk9qdzJWWk5UNnNmM0Jv?=
 =?utf-8?B?V0xmNGRPMnlaNkNPdTZtd2Y5dE9ieFA2K3pyOU52b3dJWHVOK1pmeUJFNld6?=
 =?utf-8?B?RVFjbEUzUU1QUWhSdWlOL2VVZlZpK0UwZ2ord2NoSFRQNEh3N2htWi9wUllh?=
 =?utf-8?B?eUZmZmtIMnhwOVhmRjJwMG9ROThHeENPTkEwSXpMcHN1NFF3T3FDODRtUklu?=
 =?utf-8?B?Mlk0MFJocGZGamdnN044NkswaGg1MmgrNWVJMkZjZHZKWGdEWitQNDd6VmM4?=
 =?utf-8?B?SEUrdG5nTVk0ejRzaVdjSWl2dHA3bmc4dlBpR1lmY0w3bnhWdGhVWWIrK3h0?=
 =?utf-8?B?Vk1XajRoaDVEa0p4MGtwKzhEVXM4U214a3poYld2Z2RLeFpZMnkvT1BLaE1m?=
 =?utf-8?B?WjhXY0JjWlc1TlhsRjJNVnNNejVFUXoyR0lERTVXTHhKdkNSdnd6L2xHbm40?=
 =?utf-8?B?V21LcVZXNGNQajZlMXM4ell6OGxDcWJXWUxVWXk1dnM0SzhiV2RUOHViKzl6?=
 =?utf-8?B?bXJmM0VuOGpaelNqYlQzK0xlUHZvN3NaeVYwa0JIbEQyU0ZMcW9xNFk5MHZP?=
 =?utf-8?B?OVVxajNsWEpodlBHZlJqNEF5MmJTTjJqVkozR3B0YUJRb1lsSzVrRlJlVFdr?=
 =?utf-8?B?NUFDRHlHeTJWNDBQV3NZSFl4WjYyQW5qYVdiNjVGVkFCL1gxb20rR1NKUUcw?=
 =?utf-8?B?OUJ5Z3k1R2p4K2NLZUJrbGt1VjMxNWliOE5TNkNUY0tTM2p0NjFRM0ZPdXFP?=
 =?utf-8?B?UStMcEgzWkUxKy9lQzU3RldZU3dsMCt1eU8zZkhtRDdQYmp2T1RPL01pYXZR?=
 =?utf-8?B?M0lsRndseFBzZzdaTDE4aHNDaHZZVExpUnJyTFZuZzJ3bTY1TnlVNkI5Z25s?=
 =?utf-8?B?L1dmLzgyZzJCcU1lTGc5WFV2c0x2MWRtYmJzY0g3eFUyMzMyMnBHZEhramJs?=
 =?utf-8?B?ZFNJOUVHbGNiaW9sTFYzSmkyYmFxanJVZUJJUFpjQVg5ZXBUTmV0djBlUldM?=
 =?utf-8?B?NGZBT0puSndjcHcxeXRETHprVzh6cUdFV3FoMklmdTlZNFFxNUdXYlcxcWJi?=
 =?utf-8?B?M1BxTU1FWTdTMFRxV3U2UDNMK1VEYkNHTDl6dHcwWVNLMU5lbjV3a0xBN2xi?=
 =?utf-8?B?elBMZzlHOFVqeXIxK0Q2dllrMkJOb1EwV1RiVmc5QUpXZzRGSG9HNU56UWdu?=
 =?utf-8?B?Z0JoT2txUE1jNWEwekFHcTdtREhYT2t4MG9LNkZBdjNyQlJBRURxT1doVENL?=
 =?utf-8?B?a2VhQjF3a0Z5UUwxZE5iWHlsSzZQQTkwajcvOTFVSTlEelg3cGxwcHF4b096?=
 =?utf-8?B?L2VyY0FtTlRETGY2T1h0bHhUWnkraWZFRWhub0tkUzltSTBoTHlXcVE4UnRC?=
 =?utf-8?B?cjUzK0pVYWN0TStuOTZXeEx0RlcrZUpPcWVCd2hBcXZZbTExMi9uS0dUY0tu?=
 =?utf-8?B?ejV2L2tNRnYydGVaRTg5ZlBHYW9HVlpiK0E1REo0TXpZNWVIT0JrQW1sUFM1?=
 =?utf-8?B?ZEkzdjFpdFNiajByVyt0dHc4aU9UT0dTQnlETHJvanI4bU9vWTlIU3psNmdM?=
 =?utf-8?B?MHhTY1ZKbnJMSjh5M2xiZzdCdVFEWGVDMmVYdFZaekRZNE1QL2FKSVhsaWFQ?=
 =?utf-8?B?TkpPL3VvWDJoMUtmamNIbks5bmtFcE5zUlJ5VmdwOGNWaGpFSUJ2WURlMDdl?=
 =?utf-8?B?SFlSWVZKRUVJMTFMaXltdUNPR2xKT2I0OUdaRUpadkY5b3o4UjhBcmNSa2ZK?=
 =?utf-8?B?RjVpdUI2UnM4YTdGa3JHS0VLdUdiR0VBakt1TGEzUXZ2V244czB4Mi85T01Z?=
 =?utf-8?Q?ObWroBRxnyf//?=
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)(7416014)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c3k1aGJkY1pyRzZ3VzRCbjZXTGhpbXFKcnYyQmRGTEI1TXRGZjNyRWU1WTRj?=
 =?utf-8?B?QnpBcDlWYTBESXhQSnV1cnAwK3RPT0phcFlZSjQ4WHJ4cFJZWXQ2TEhBUlBw?=
 =?utf-8?B?Nnl3aUdJSmZ6RnI5ekE3dVpWWHl3SGU2ZGFrMUhtYUh0ZVVwakVJbElnaHQr?=
 =?utf-8?B?MGFzZHZPU3hpZzVqVWYrNEZVeUI1Y09pZmI0VkkxcndDQkxRRjRTNFh5blNF?=
 =?utf-8?B?MFJleEpPSnA1dmtxWk93bWpYYlN2RDU3UVlQM1lSQWxMaUZ5ZVpyR3FpNWZE?=
 =?utf-8?B?UDFkdEtibGZ1N0E0N01TUExac2Z3ejB0QnF0d0pEeTRBZnVzbi8zKzRZcDlJ?=
 =?utf-8?B?M1k3Z1ZxNzc1T3lWdk1mdnlXV29OeDFKekRPck5OYUo2MDNnbUFLWk5IdTJp?=
 =?utf-8?B?ejE4aHkzQ1h3YUttV1NTM0ZVMm0xb2xiWVYxbE00d3diYkpRdzIvNXF5UEQy?=
 =?utf-8?B?MnVBT0FNc3h0OGR1RWdFU1NXTEEydVpqSHV4eVdYOTRCL2I3bHZZS2dYV0M5?=
 =?utf-8?B?b3VraTk5NzRlQ0hHVXZqb1BkbWV4THhod3VtNUR1aStMaGhjWE5nVzhIOWJC?=
 =?utf-8?B?VnJsTmg5MEdpWUxsdFRCMTd3YXVXOTQ4RmduRFdFT0ZKVTJpTityQWhHRFpu?=
 =?utf-8?B?dUlmd0s5Q01wRWhiV3RaRk5FeFp0K3E4MGpSQ0hkcDBabUJMSnVodkZDVWRl?=
 =?utf-8?B?WVQ2VWQxYUQzREVTdFlzcVh6SGJLRktqSXNNdU1JZ2E2cHdKY0tuQTVWeXJo?=
 =?utf-8?B?VWVPRlRkNEdPa3ZISjlFSVMxQ3o5UW5POUd5MDB6TVJiNjFUK0V5V1Izekpo?=
 =?utf-8?B?QzNWQ2dqalQrUlJjVHl1dlk1RHE1dnQraENySzllbFlMdFhVRUFEQ2xMb2NW?=
 =?utf-8?B?ZTMrS0pDemZlOVY1ejdqaDgrUXV0d1habUZ6NVgvZHpNeHNUU1FLZlYvWksx?=
 =?utf-8?B?VEV6MTAxSUMyYlpacnFSS1hhOEJ0cXdRSVE5Q3hXVTVlclFoQ25JTDYzaEpw?=
 =?utf-8?B?S1RLbDFFNUtGSitpejRWQ0FtbS9ldGVwQUNCT0d2Nk8zeklmUlAzdnUvdk9I?=
 =?utf-8?B?M0Rid2NpMndKaTFwY1ppaXZzamhMRE9Tdnk3cnZrbmFpZnFFSGNlTkFSb0ND?=
 =?utf-8?B?d2dQRDE3UjFDSm56a2pkNDU4RmFJVDFNSnBRVGtvdDBRRFJNUEJFaTQxOUlZ?=
 =?utf-8?B?T1RoY0ZzMll5ZDlXSExCbWJyTUxsdTBYZzBsais5L0JUM2FGWndmMWM4WTdP?=
 =?utf-8?B?bXpmVDliMVRMVUJpdFpMQndqTzBVNWt6bkE2bUFjazJPR1VuVmNOdUdZYUN4?=
 =?utf-8?B?MU1tTXljN0Q5dGljSi9aRERNeDBkVmJUV0lvU2ZHNUFSTWZPUVNHM256bEFT?=
 =?utf-8?B?dUE1ejUwSnYzWHlReWFxRHRJczdXRlpXVkowaUhhUU5sNEdVTllYa2FDODFt?=
 =?utf-8?B?dm1Ldy80Tkw2TWd2SFlxaGVJRGlkVUZRSUI3VmwwWU1LazgrdStQYjY2eE9U?=
 =?utf-8?B?R1FpcFJVbldOQ0kvSzNlaElibzZ1ak1rVHJIWXFMdExlcm1kRUNlTi8zM2Nl?=
 =?utf-8?B?a1dDekNJT0RrbEpTaG51YWxHTi9NbjlDY2lSODc2d0o2eksrNzV0MFZ4NFNx?=
 =?utf-8?B?Q1BMamtOUXQ0Znh4akY4cnBiY0RVL2plMU1ZdU15SVZYOUlLQ2cxM1VhYm5Y?=
 =?utf-8?B?L2lZRGFmZHljRkRlZFNaazl2NnArS0wyNVdZR3NuakV4TDByclhuS1dTSjdj?=
 =?utf-8?B?enNhb0lFVlNEaWJjek1Ybmpjc1N0L2JFWmI3bmFEeE1CZTJQZ1h0ZU1OUGJn?=
 =?utf-8?B?YzNaK3g1Y0Z4U1JaTmNjb1VzTjRsQjdEcHJHaG9LK3U3N0RnM2hKM2MxY0hr?=
 =?utf-8?B?TStzaXc5dGhpb2orSHh2M3RUUXlLVm5xdUFuN2FzTVFUWTNkNCt4bjFUbUsy?=
 =?utf-8?B?SVJtWWJudkdRYzhrc0g4SkFkdzlwOGJUa0gzZGFWcDBCemVKYmUxeWR5bFJI?=
 =?utf-8?B?S0J3a3QwallEdUpER3N2QURyQXdWWTlhZ1JWbGYzWDNVK0JrditsWjlBZXhz?=
 =?utf-8?B?V1J4OGRmSUVycnNyMnNPSFNCbGoya0RLbUFncVZYdlowZVBoQTI0RllJb09y?=
 =?utf-8?B?WVFOaVdwQk5pVXpSOWdZd0tmUTlxMXk5UUR1anRnMklUU2lWb2UzRHFPbXgz?=
 =?utf-8?B?K3c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a54fd73f-8709-46d2-e5d3-08dd6aee7c64
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2025 16:11:08.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: o93k1f7tIaKdO423jbxRKi6CGd4tfFP+ynDOTK5blkAVE0IlaTlYsFIA8dNDiU3mwZGQn+NgJbUtIj0UKb3ERBOSSY8CHxasjzzHV5qoXfg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR03MB6249

Hi Anthony,

Thanks a lot for your comments.

On 14.03.25 18:23, Anthony PERARD wrote:
> On Tue, Mar 11, 2025 at 01:16:14PM +0200, Grygorii Strashko wrote:
>> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
>> index 8e1422104e50..7edf272386e3 100644
>> --- a/docs/man/xl.cfg.5.pod.in
>> +++ b/docs/man/xl.cfg.5.pod.in
>> @@ -3094,6 +3094,42 @@ assigned to the domain.
>>   
>>   =back
>>   
>> +=over 4
> 
> This =over 4 is unnecessary, but you need to move that existing =back to
> the end of the Arm section, just before "=head3 x86" that we can see in
> the context of this patch. (And doing that will fix a compiliation
> failure ;-))
> 
>> +=item B<arm_sci="ARM_SCI_STRING">
>> +
>> +Set ARM_SCI specific options for the guest. ARM SCI is System
>> +Control Protocol allows domain to manage various functions that are provided
>> +by HW platform firmware.
>> +
>> +B<ARM_SCI_STRING> is a comma separated list of C<KEY=VALUE> settings,
>> +from the following list:
>> +
>> +=over 4
>> +
>> +=item B<type=STRING>
>> +
>> +Specifies an ARM SCI type for the guest.
>> +
>> +=over 4
>> +
>> +=item B<none>
>> +
>> +Don't allow guest to use ARM SCI if present on the platform. This is the
>> +default value.
>> +
>> +=item B<scmi_smc>
>> +
>> +Enables ARM SCMI SMC support for the guest by enabling SCMI over SMC calls
>> +forwarding from domain to the EL3 firmware (like Trusted Firmware-A) with a
>> +single SCMI OSPM agent support.
>> +Should be used together with B<dom0_scmi_smc_passthrough> Xen command line
>> +option.
>> +
>> +=back
>> +
>> +=back
>> +
>>   =head3 x86
>>   
>>   =over 4
>> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
>> index f8fe4afd7dca..5fa43637ab76 100644
>> --- a/tools/include/libxl.h
>> +++ b/tools/include/libxl.h
>> @@ -313,6 +313,11 @@
>>    */
>>   #define LIBXL_HAVE_BUILDINFO_ARCH_NR_SPIS 1
>>   
>> +/*
>> + * libxl_domain_build_info has the arch_arm.sci* fields.
> 
> The new field seems to be called `arm_sci`. Did you intend to add `sci`
> in `arch_arm` instead? Also, there's only `type` been added to
> `arm_sci`, with the possibility to add more field in the future, so it
> would be better to say that only "type" exist.
> 
>> + */
>> +#define LIBXL_HAVE_BUILDINFO_ARCH_ARM_SCI 1
>> +
>>   /*
>>    * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
>>    * 'soft reset' for domains and there is 'soft_reset' shutdown reason
>> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
>> index 33c9cfc1a267..ea0d30654cdd 100644
>> --- a/tools/libs/light/libxl_types.idl
>> +++ b/tools/libs/light/libxl_types.idl
>> @@ -551,6 +551,15 @@ libxl_sve_type = Enumeration("sve_type", [
>>       (2048, "2048")
>>       ], init_val = "LIBXL_SVE_TYPE_DISABLED")
>>   
>> +libxl_arm_sci_type = Enumeration("arm_sci_type", [
>> +    (0, "none"),
>> +    (1, "scmi_smc")
>> +    ], init_val = "LIBXL_ARM_SCI_TYPE_NONE")
>> +
>> +libxl_arm_sci = Struct("arm_sci", [
>> +    ("type", libxl_arm_sci_type),
>> +    ])
>> +
>>   libxl_rdm_reserve = Struct("rdm_reserve", [
>>       ("strategy",    libxl_rdm_reserve_strategy),
>>       ("policy",      libxl_rdm_reserve_policy),
>> @@ -639,6 +648,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>>       ("apic",             libxl_defbool),
>>       ("dm_restrict",      libxl_defbool),
>>       ("tee",              libxl_tee_type),
>> +    ("arm_sci",          libxl_arm_sci),
>>       ("u", KeyedUnion(None, libxl_domain_type, "type",
>>                   [("hvm", Struct(None, [("firmware",         string),
>>                                          ("bios",             libxl_bios_type),
>> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
>> index 9a3679c02325..ac9bf0b25c5a 100644
>> --- a/tools/xl/xl_parse.c
>> +++ b/tools/xl/xl_parse.c
>> @@ -1284,6 +1284,63 @@ out:
>>       if (rc) exit(EXIT_FAILURE);
>>   }
>>   
>> +static int parse_arm_sci_config(XLU_Config *cfg, libxl_arm_sci *arm_sci,
>> +                                const char *str)
>> +{
>> +    enum {
>> +        STATE_OPTION,
>> +        STATE_TYPE,
>> +        STATE_TERMINAL,
>> +    };
>> +    int ret, state = STATE_OPTION;
>> +    char *buf2, *tok, *ptr, *end;
>> +
>> +    if (NULL == (buf2 = ptr = strdup(str)))
>> +        return ERROR_NOMEM;
>> +
>> +    for (tok = ptr, end = ptr + strlen(ptr) + 1; ptr < end; ptr++) {
>> +        switch(state) {
>> +        case STATE_OPTION:
>> +            if (*ptr == '=') {
>> +                *ptr = '\0';
>> +                if (!strcmp(tok, "type")) {
>> +                    state = STATE_TYPE;
>> +                } else {
>> +                    fprintf(stderr, "Unknown ARM_SCI option: %s\n", tok);
>> +                    goto parse_error;
>> +                }
>> +                tok = ptr + 1;
>> +            }
>> +            break;
>> +        case STATE_TYPE:
>> +            if (*ptr == '\0' || *ptr == ',') {
>> +                state = *ptr == ',' ? STATE_OPTION : STATE_TERMINAL;
>> +                *ptr = '\0';
>> +                ret = libxl_arm_sci_type_from_string(tok, &arm_sci->type);
>> +                if (ret) {
>> +                    fprintf(stderr, "Unknown ARM_SCI type: %s\n", tok);
>> +                    goto parse_error;
>> +                }
>> +                tok = ptr + 1;
>> +            }
>> +            break;
>> +        default:
>> +            break;
> 
> Instead of rolling your own parsing algo, could you do something similar
> to the code that parse VIRTIO_DEVICE_STRING just above? It's basically a
> loop with strtok() and a bunch of MATCH_OPTION() call (see
> parse_virtio_config(), not the MATCH_OPTION for "type") which seems it
> would be enough for parsing the SCI string. It would make
> parse_arm_sci_config() much smaller and avoid a lot of repetition in the
> code.
> 
>> +        }
>> +    }
>> +
>> +    if (tok != ptr || state != STATE_TERMINAL)
>> +        goto parse_error;
>> +
>> +    free(buf2);
>> +
>> +    return 0;
>> +
>> +parse_error:
>> +    free(buf2);
>> +    return ERROR_INVAL;
>> +}
>> +
>>   void parse_config_data(const char *config_source,
>>                          const char *config_data,
>>                          int config_len,
>> @@ -2981,6 +3038,15 @@ skip_usbdev:
>>       if (!xlu_cfg_get_long (config, "nr_spis", &l, 0))
>>           b_info->arch_arm.nr_spis = l;
>>   
>> +    if (!xlu_cfg_get_string(config, "arm_sci", &buf, 1)) {
>> +        libxl_arm_sci arm_sci = { 0 };
> 
> Please use libxl_arm_sci_init() to initialise `arm_sci` instead. And add
> a call to libxl_arm_sci_dispose() at the end of this context.
> 
>> +        if (!parse_arm_sci_config(config, &arm_sci, buf)) {
>> +            b_info->arm_sci.type = arm_sci.type;
>> +        } else {
>> +            exit(EXIT_FAILURE);
>> +        }
>> +    }
>> +
>>       parse_vkb_list(config, d_config);
>>   
>>       d_config->virtios = NULL;

I think I understood you comments and will update accordingly.

-- 
Best regards,
-grygorii


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 16:32:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 16:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925908.1328772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twkil-0003Hu-Ac; Mon, 24 Mar 2025 16:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925908.1328772; Mon, 24 Mar 2025 16:32: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 1twkil-0003Hn-7n; Mon, 24 Mar 2025 16:32:15 +0000
Received: by outflank-mailman (input) for mailman id 925908;
 Mon, 24 Mar 2025 16:32: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=sMR0=WL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twkij-0003HR-NT
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 16:32:13 +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 89eaeb74-08cd-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 17:32:12 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso40087805e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 09:32: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-3997f9a3a10sm11264955f8f.28.2025.03.24.09.32.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 09:32: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: 89eaeb74-08cd-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742833932; x=1743438732; 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=Q5kaSVk0ST/etckDd+a/tJAqpPMEgS9quh109L3+C6g=;
        b=AO8K9SHU2jZooEbDnf72ear5KYuTlmEzRMh3JYmtq2XiNnjoVRQU8boIyF5LlKSoLD
         AK1OKpES7ipB15ueorbMN5ydsKTyIl+9QFaGwokCcwAlYVfhO/J49ypCb00hljc7CsCI
         YFdaIraIfJr44W68uA/4G7dEeQmHshTpAju/XSgWWvq5M10OXNjKjC1BUTCzzRTMvRzo
         82eFs5kMEm07yWw4cMbuakP4dfxyraQzJk/CnBGMeH8q1OmhBfTYGKo3lfCLSAT25TW7
         HW+ZN9/V8c0Ri64Qs7U2GtE3msixUEWchWyxjM/X7olY/zMBMMyrviHFOV5jwtl2cUtH
         eYlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742833932; x=1743438732;
        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=Q5kaSVk0ST/etckDd+a/tJAqpPMEgS9quh109L3+C6g=;
        b=u45kgJKD7b2rS11sthdf2zO7OUnXPyOme2OkWWc/XHNVrMMeSALU4LMM+FE4b0zUlr
         hDc+8CZuSuVW/TyQWkB/3OxwwN3DxEBmXGrhDz+6De1Uf7c0U9PgKLXOa2V9aFC1l2Jw
         BZgSx0u+vPvoEN83veII/r6lSBwOqtW7cYt8btglOYV11XUW22Jsrzgot694fDd3wp0t
         0zHSJgOdRpnQWns4GaAuyWHDN+t3V+eFEJyCOv9koQWJ08nryrifOf8VxnHSMF8gH5pO
         c1jZT2QJFXRbi3sNr4X4YpL0o+F98I6eXNraMCmbfVkH0U7M/L3+Nah6tt3btEjGuO/J
         R72Q==
X-Forwarded-Encrypted: i=1; AJvYcCVPyGHUqOoHNO6hwFadX80qY1yS35y0dKHbsp4kwqEq8H0mViHUhF6YrPre5aHdAQLD1it+6oLBufE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4T9y+Bt+G1oPGBUNwKy8//psL/VTbQDqiRAiMytbfKbt7v0PT
	Nah6uI9m7NUc0e5fg8MpKS5QvmIJ+ylgcVxzHp6rVIz7Ue5CV1oIW5R5BtCNAQ==
X-Gm-Gg: ASbGncuUTkmHxrxsGhfBKC5n1D5wm07UPWzPairupy2ROKnh5yEojKNrfjnGMfTRBDW
	zBJ7htikNvhV7h+Tv9WVWL2aV5o2vooA4kykvVEZnongn7WWSJleo5qxxEOAmpP9GXIG680fWhu
	nWGJuZWc8vPJ2TwMtnR2J+QU2u/VIIU2KbQXyc37ynDWkwgBscphKQfs0rR7Go9POxwCgjGSwLr
	4yqPdsk6lArnwDdSQekPd6dNv/dwcweMw14aaqPtrzwZ2TqM1Cuyb9PFfaLGgx4rBJA32DphP1+
	FozZZS7FztiXef8bPE6OUiCRPJOQSmr1HXtKK0rVYxqYCEKeHLbae60EgjJzkVW8jbFPAW7lmU2
	Y3x7k20jW4IJtCFzx7UpigsjC949lHg==
X-Google-Smtp-Source: AGHT+IFuidGHX2m0cVnQK417eu3KRqvb93jk9UYiMxHzSl5iEI/hghWYwCMQ/wJgJFBulEg8E14GyA==
X-Received: by 2002:a05:600c:83cf:b0:43d:22d9:4b8e with SMTP id 5b1f17b1804b1-43d509ec3famr153377115e9.10.1742833931869;
        Mon, 24 Mar 2025 09:32:11 -0700 (PDT)
Message-ID: <4aab9ce4-db67-4031-ab13-4d88358917ee@suse.com>
Date: Mon, 24 Mar 2025 17:32:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/15] xen/cpufreq: only set gov NULL when
 cpufreq_driver.setpolicy is NULL
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, xen-devel@lists.xenproject.org
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-11-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: <20250306083949.1503385-11-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> --- a/xen/drivers/cpufreq/cpufreq.c
> +++ b/xen/drivers/cpufreq/cpufreq.c
> @@ -353,7 +353,13 @@ int cpufreq_add_cpu(unsigned int cpu)
>      if (hw_all || (cpumask_weight(cpufreq_dom->map) ==
>                     pmpt->domain_info.num_processors)) {
>          memcpy(&new_policy, policy, sizeof(struct cpufreq_policy));
> -        policy->governor = NULL;
> +
> +       /*
> +        * Only when cpufreq_driver.setpolicy == NULL, we need to deliberately
> +        * set old gov as NULL to trigger the according gov starting.
> +        */
> +       if ( cpufreq_driver.setpolicy == NULL )
> +            policy->governor = NULL;
>  
>          cpufreq_cmdline_common_para(&new_policy);

Indentation looks off-by-1 here.

Also (I may have asked this before, but couldn't find an indication in this
submission, including in the cover letter): Is this independent of all earlier
patches in the series, and could hence go in right away?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 17:26:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 17:26:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925918.1328781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twlYh-0005PM-Sm; Mon, 24 Mar 2025 17:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925918.1328781; Mon, 24 Mar 2025 17:25: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 1twlYh-0005PF-QL; Mon, 24 Mar 2025 17:25:55 +0000
Received: by outflank-mailman (input) for mailman id 925918;
 Mon, 24 Mar 2025 17: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=OLEh=WL=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1twlYf-0005P9-Mn
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 17:25:54 +0000
Received: from mail-24417.protonmail.ch (mail-24417.protonmail.ch
 [109.224.244.17]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 082d8dc1-08d5-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 18:25:51 +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: 082d8dc1-08d5-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1742837149; x=1743096349;
	bh=6/sQ4z82YmEADDWgiMIF9ohYwXJKmtyxA2NrxrDcbCY=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=eTiFjlv/v3FB8DVBRfjQUcZhInBXGZ+JXITJ+0yLPyWDcs/ugaiw7kXYYcHpbDSjh
	 IkC6MfAJBi/+F/SUkZHz2o4p41uf4CTcz9lnryV4/9jL6TVuPlvOmqofPi7tI/dA6U
	 Wg6JXqLUqrU3nMRXW28zczhPkaOshEg+DAX7hW6dLXEYYbzEzdrf+Zif2gkg20v0xF
	 1nv6Vuu5oQlBwMVcSuCfiV6av3T6sr+kBl3nynR8Zx7JAMQMZDHvs+zFzE1ifcD1N4
	 9A7CIfdNK+pbMtVp/71yAre0aepJqBUrGcVoHUDMbGjvaMuSCAgIGEhO6cvWDpoilm
	 ItSkjRh8fqGNQ==
Date: Mon, 24 Mar 2025 17:25:45 +0000
To: Andrew Cooper <andrew.cooper3@citrix.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: xen-devel@lists.xenproject.org, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: Re: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
Message-ID: <S3vHcnDhAQjiX22Mole-rMLN7kVyt0VJlMkbW8xjdR2IA-iisSKw2vpD5-_gZcxu0cn3UmyOgx8xchOuXUNx4SuhfvL5TrcWCyJOr46ueS8=@proton.me>
In-Reply-To: <7b16c87d-f2af-451e-a58f-36461a697ad7@citrix.com>
References: <20250320230339.3897874-1-dmukhin@ford.com> <7b16c87d-f2af-451e-a58f-36461a697ad7@citrix.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 551889f1aa14ab51c5ed2e787bec9bb4f7e7717a
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Monday, March 24th, 2025 at 6:51 AM, Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:

>=20
>=20
> On 20/03/2025 11:05 pm, dmkhn@proton.me wrote:
>=20
> > Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
> > range as per [1]. This macro replaces hardcoded checks against the
> > open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
> > the code a bit.
> >=20
> > [1] Intel SDM volume 3A
> > Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
> > Section "Valid Interrupt Vectors"
> >=20
> > Signed-off-by: Denis Mukhin dmukhin@ford.com
>=20
>=20
> Would it be possible to adjust your git configuration so committer is
> set to Denis Mukhin dmukhin@ford.com ?
>=20
>=20
> Right now, it takes manual fixup to prevent your commits going in as
> authored by dmkhn@proton.me, and one already slipped through.
> https://xenbits.xen.org/gitweb/?p=3Dxen.git&a=3Dsearch&h=3Drefs%2Fheads%2=
Fstaging&st=3Dauthor&s=3Ddmkhn%40proton.me

I will fix my environment, sorry for inconvenience.
Thanks!

>=20
> Thanks,
>=20
> ~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 17:26:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 17:26:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925923.1328792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twlZA-0005oW-5O; Mon, 24 Mar 2025 17:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925923.1328792; Mon, 24 Mar 2025 17:26: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 1twlZA-0005oP-1x; Mon, 24 Mar 2025 17:26:24 +0000
Received: by outflank-mailman (input) for mailman id 925923;
 Mon, 24 Mar 2025 17:26: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=OLEh=WL=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1twlZ9-0005P9-59
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 17:26:23 +0000
Received: from mail-24417.protonmail.ch (mail-24417.protonmail.ch
 [109.224.244.17]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b276167-08d5-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 18:26:22 +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: 1b276167-08d5-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=zktyu76lpzhbxfsxahcfn5qo2a.protonmail; t=1742837182; x=1743096382;
	bh=rmExc1DZJ2+nMHuwZPtsCKQTDLq0BinAvS7f/QkTRpw=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=kSgiGRFQp8CjyIcLapfipQVAjbTtxHAjLSbISLdNryzcUeKlGa3Gdyez+1ZvMfJYQ
	 KmXTqfEputxKQaajCxd4HXZqITCF6ugAhxiPFowdCOX9cCzN7VOug6PjV/2pr4mIw8
	 L94tycCDAsFVn+LvOWkR09H7IPJpAZfRcEsCyWJbt/WEP7+27jH82od04XGBTNlAUz
	 g2n0Te7x3FcF9nJPt8Ljo5BAkh5JN4ieXB7CQM2M+Wm9mqtYkD33Cyh/ODOzwoR3XA
	 gCfyBmrN4aZhJOZ4VSUKHoe9ZKIwW3im3/eDqI8XlTp5l70CMh1s3S3RitVUywS6+H
	 tGlGDULe9PKKA==
Date: Mon, 24 Mar 2025 17:26:16 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
Message-ID: <AJWzttjLNwVoP8lUoDoGYJukQqS65S45ijFB2SiBbQsNcjjqxCnvVnagCzsj7mBQ5YDN14kteRfizkknx7GQF_sKN1uvF9fo07Lq1YvOsEo=@proton.me>
In-Reply-To: <e24ec8f4-3320-4978-8deb-cefc3380a0ed@suse.com>
References: <20250320230339.3897874-1-dmukhin@ford.com> <e24ec8f4-3320-4978-8deb-cefc3380a0ed@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: dfc96b73330a73be7c853a8cf32a1425d855e02d
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Monday, March 24th, 2025 at 5:36 AM, Jan Beulich <jbeulich@suse.com> wro=
te:

>=20
>=20
> On 21.03.2025 00:05, dmkhn@proton.me wrote:
>=20
> > Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
> > range as per [1]. This macro replaces hardcoded checks against the
> > open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
> > the code a bit.
> >=20
> > [1] Intel SDM volume 3A
> > Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
> > Section "Valid Interrupt Vectors"
> >=20
> > Signed-off-by: Denis Mukhin dmukhin@ford.com
>=20
>=20
> Reviewed-by: Jan Beulich jbeulich@suse.com
>=20
> with ...
>=20
> > --- a/xen/arch/x86/include/asm/apicdef.h
> > +++ b/xen/arch/x86/include/asm/apicdef.h
> > @@ -78,6 +78,7 @@
> > #define APIC_DM_STARTUP 0x00600
> > #define APIC_DM_EXTINT 0x00700
> > #define APIC_VECTOR_MASK 0x000FF
> > +#define APIC_VECTOR_VALID(x) (((x) & APIC_VECTOR_MASK) >=3D 16)
>=20
>=20
> ... line length restrictions respected here. I'll see about taking care o=
f
> this while committing, provided other x86 maintainers wouldn't prefer thi=
s
> to not go in in the first place (so I'll also give it another day or two)=
.

Thanks!

>=20
> Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 17:33:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 17:33:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925938.1328802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twlg4-0008N5-0o; Mon, 24 Mar 2025 17:33:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925938.1328802; Mon, 24 Mar 2025 17:33: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 1twlg3-0008My-Tw; Mon, 24 Mar 2025 17:33:31 +0000
Received: by outflank-mailman (input) for mailman id 925938;
 Mon, 24 Mar 2025 17:33: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=22ml=WL=kernel.org=arnd@srs-se1.protection.inumbo.net>)
 id 1twlg2-0008Ms-2N
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 17:33:30 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18df5b82-08d6-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 18:33:28 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 93DA6A4A3EC;
 Mon, 24 Mar 2025 17:27:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 185CDC4CEEA;
 Mon, 24 Mar 2025 17:33:24 +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: 18df5b82-08d6-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742837607;
	bh=DUICbtNd4moyLWNgcOAKqia2Yzzt9DHdF5xhFC0LsPQ=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=fW3Iej4GOZny+kGNyDUKrnsytFeZlGXSkWOoFCLUWGBEBBYedcakA+1VkzaVMWvdj
	 tQXfPtQZR5+NuB/stBouAEosQl5CBnacmcw1hYSwrgOlI0VEzmNoDmEaY9Y3e7Sny9
	 joXGBP3EoaW2tTXSs6lce0wbutlfq5HbPeqe4tsXQqca3byZJlax0PxbKeFFhQttLB
	 efrpQHyZnQBSjQbkZkPFjXonjWApDxlpyaBQNDBdmkdPNlXJa0bExaCKGclhj1bS+P
	 xe2/Klv18WY/jHrxvQFzu41gAb39dYcU9AXqiQuoDx1wBBKOPcYocuDHe7Y2Rdx49n
	 pBoIH78vfgYtw==
From: Arnd Bergmann <arnd@kernel.org>
To: Jeff Johnson <jeff.johnson@oss.qualcomm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-next@vger.kernel.org,
	Arnd Bergmann <arnd@arndb.de>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 05/10] xenbus: add module description
Date: Mon, 24 Mar 2025 18:32:30 +0100
Message-Id: <20250324173242.1501003-5-arnd@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250324173242.1501003-1-arnd@kernel.org>
References: <20250324173242.1501003-1-arnd@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Arnd Bergmann <arnd@arndb.de>

Modules without a description now cause a warning:

WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/xen/xenbus/xenbus_probe_frontend.o

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/xen/xenbus/xenbus_probe_frontend.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c b/drivers/xen/xenbus/xenbus_probe_frontend.c
index fcb335bb7b18..8b75f8234baf 100644
--- a/drivers/xen/xenbus/xenbus_probe_frontend.c
+++ b/drivers/xen/xenbus/xenbus_probe_frontend.c
@@ -513,4 +513,5 @@ static int __init boot_wait_for_devices(void)
 late_initcall(boot_wait_for_devices);
 #endif
 
+MODULE_DESCRIPTION("Frontend for Xen bus probe");
 MODULE_LICENSE("GPL");
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 24 17:52:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 17:52:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925946.1328811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twly3-0004NA-GM; Mon, 24 Mar 2025 17:52:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925946.1328811; Mon, 24 Mar 2025 17:52: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 1twly3-0004N3-Dl; Mon, 24 Mar 2025 17:52:07 +0000
Received: by outflank-mailman (input) for mailman id 925946;
 Mon, 24 Mar 2025 17:52: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=oa5Q=WL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1twly2-0004Mu-9Q
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 17:52:06 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b05a8120-08d8-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 18:52:02 +0100 (CET)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2ff6e91cff5so8093236a91.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 10:52:02 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-3030f806fb9sm8458911a91.45.2025.03.24.10.51.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 24 Mar 2025 10:51: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: b05a8120-08d8-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742838721; x=1743443521; darn=lists.xenproject.org;
        h=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=CNWzWAcgP5osgtlC/YKpdqjJe9Mr06cqx1fXZbFGTuc=;
        b=tR4xhYWz+9AXDLCVGsxIUXkKR5HYdIaUOa78Bw7ny4T9S3dDNpY9Z4Di17xDfQo2T0
         aH3/GbJlJzxFtTWfM7TE5xgIAk5av+jVve/jUKg6dJr2hScgI6wbbZlUWJEBtvb9RnVA
         K6sHEY153WyluZGX/BW0dvhSPCgGuy6GsKk3o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742838721; x=1743443521;
        h=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=CNWzWAcgP5osgtlC/YKpdqjJe9Mr06cqx1fXZbFGTuc=;
        b=dFyioWWgpDW8hgdBS69zLp/BhIRLC3kDtxoEXdSMugXNEs8DDcmL5fdwRBzNJrWXYI
         /ee2b9LDDxWPvU9wMjtgVn5p+kJJxo8Nh6psvHYpu3u6aeSfeMY9I1k1KHZPyoueoKWh
         3rpGuEcvDu3b7V+NFQwCLUOWiGDYUIDPSAY8YuUjaDnzGy0sVeDzn4/MrDLr2SkldHTL
         9MmVM6Hbv6n7bMRGYaZFMKcUguKaDMmAg0HNNlgXkTRNY3LXP0Q5Wh7QbR5Y+UF7nE/y
         K4pq7MEG88gYP5lRqDi94ViPJVGQUgymSNKfpmlBHN40cgAjoQQi4yL7bbsueI3AOb5C
         FFcA==
X-Forwarded-Encrypted: i=1; AJvYcCUa+j8ZYB9jt1Gg4YzEV2QgQ2rs9zcg3rF7HmS7ZRjl6yiWCDqIRz/KojtnTeHUzQwQC2s+WJDWwk8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx3ZOyftV/6+XdKy+i0l3XFjSO/6tFoGrJG/kYcA1Stdc0mKoUI
	WEb+8cOY4ViK7gMeafcBMjgAFDgIjannHNTWWveVW5HvEDBliNu/azZl6q4nCNk=
X-Gm-Gg: ASbGncsVqxWnjksvgQ8vZp0ScF2HoZhZf9MD5g9VU9F9ZqjremaZl9YuDOTgMp8SVyE
	4AXMcDPA9gtRc1CnAdyCSJtCiZ/kcKuBd7VlDTYqwWNIGyB+UKTRKaNZhJhjGaioNcKoQ0Y9C8U
	4UohUeMzXZcW2mTWubMvNqYG8U1PNFBq7wj17dt/N1hCdVsplInmx8StegsTcPHpcDIzGdZ19Ho
	FxUXmpYRLRcI1fuoqjHTVZKUwj4p3zNm3vrp+uJyFAMrT5fumRLKcdVq3taBIlVLYPtU7f7stOA
	1xDdiA7+uOA7f6wkQtQSRctM7CZ50VSN9/C75yGeJ6EU8eYtTbIPe6WkdGFZ
X-Google-Smtp-Source: AGHT+IFyWUJjrXu1IsyCVjHhL289CPz98eVvVSsMjLEg+OjduUCs1rADwPTvWVrkRcJWj9d2Uk4q2g==
X-Received: by 2002:a17:90b:2647:b0:2ee:d7d3:3019 with SMTP id 98e67ed59e1d1-3030fe95343mr26877301a91.12.1742838720394;
        Mon, 24 Mar 2025 10:52:00 -0700 (PDT)
Date: Mon, 24 Mar 2025 18:51:54 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Daniel Gomez <da.gomez@kernel.org>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <Z-GbuiIYEdqVRsHj@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>

On Mon, Mar 24, 2025 at 03:29:46PM +0100, Daniel Gomez wrote:
> 
> Hi,
> 
> On Fri, Mar 21, 2025 at 09:00:09AM +0100, JĂźrgen GroĂ wrote:
> > On 20.03.25 22:07, Bjorn Helgaas wrote:
> > > On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> > > > Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for both
> > > > MSI and MSI-X entries globally, regardless of the IRQ chip they are using.
> > > > Only Xen sets the pci_msi_ignore_mask when routing physical interrupts over
> > > > event channels, to prevent PCI code from attempting to toggle the maskbit,
> > > > as it's Xen that controls the bit.
> > > > 
> > > > However, the pci_msi_ignore_mask being global will affect devices that use
> > > > MSI interrupts but are not routing those interrupts over event channels
> > > > (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> > > > bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> > > > normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> > > > bridge configure the MSI entries using indexes into the VMD bridge MSI
> > > > table.  The VMD bridge then demultiplexes such interrupts and delivers to
> > > > the destination device(s).  Having pci_msi_ignore_mask set in that scenario
> > > > prevents (un)masking of MSI entries for devices behind the VMD bridge.
> > > > 
> > > > Move the signaling of no entry masking into the MSI domain flags, as that
> > > > allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> > > > that uses the pIRQ chip, while leaving it unset for the rest of the
> > > > cases.
> > > > 
> > > > Remove pci_msi_ignore_mask at once, since it was only used by Xen code, and
> > > > with Xen dropping usage the variable is unneeded.
> > > > 
> > > > This fixes using devices behind a VMD bridge on Xen PV hardware domains.
> > > > 
> > > > Albeit Devices behind a VMD bridge are not known to Xen, that doesn't mean
> > > > Linux cannot use them.  By inhibiting the usage of
> > > > VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mask
> > > > bodge devices behind a VMD bridge do work fine when use from a Linux Xen
> > > > hardware domain.  That's the whole point of the series.
> > > > 
> > > > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> > > > Acked-by: Juergen Gross <jgross@suse.com>
> > > 
> > > Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> > > 
> > > I assume you'll merge this series via the Xen tree.  Let me know if
> > > otherwise.
> > 
> > I've pushed the series to the linux-next branch of the Xen tree.
> > 
> > 
> > Juergen
> 
> This patch landed in latest next-20250324 tag causing this crash:
> 
> [    0.753426] BUG: kernel NULL pointer dereference, address: 0000000000000002
> [    0.753921] #PF: supervisor read access in kernel mode
> [    0.754286] #PF: error_code(0x0000) - not-present page
> [    0.754656] PGD 0 P4D 0
> [    0.754842] Oops: Oops: 0000 [#1]
> [    0.755080] CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.14.0-rc7-next-20250324 #1 NONE
> [    0.755691] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
> [    0.756349] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> [    0.756390] Call Trace:
> [    0.756390]  <TASK>
> [    0.756390]  ? __die_body+0x1b/0x60
> [    0.756390]  ? page_fault_oops+0x2d0/0x310
> [    0.756390]  ? exc_page_fault+0x59/0xc0
> [    0.756390]  ? asm_exc_page_fault+0x22/0x30
> [    0.756390]  ? msix_prepare_msi_desc+0x39/0x80
> [    0.756390]  ? msix_capability_init+0x172/0x2c0
> [    0.756390]  ? __pci_enable_msix_range+0x1a8/0x1d0
> [    0.756390]  ? pci_alloc_irq_vectors_affinity+0x7c/0xf0
> [    0.756390]  ? vp_find_vqs_msix+0x187/0x400
> [    0.756390]  ? vp_find_vqs+0x2f/0x250
> [    0.756390]  ? snprintf+0x3e/0x50
> [    0.756390]  ? vp_modern_find_vqs+0x13/0x60
> [    0.756390]  ? init_vq+0x184/0x1e0
> [    0.756390]  ? vp_get_status+0x20/0x20
> [    0.756390]  ? virtblk_probe+0xeb/0x8d0
> [    0.756390]  ? __kernfs_new_node+0x122/0x160
> [    0.756390]  ? vp_get_status+0x20/0x20
> [    0.756390]  ? virtio_dev_probe+0x171/0x1c0
> [    0.756390]  ? really_probe+0xc2/0x240
> [    0.756390]  ? driver_probe_device+0x1d/0x70
> [    0.756390]  ? __driver_attach+0x96/0xe0
> [    0.756390]  ? driver_attach+0x20/0x20
> [    0.756390]  ? bus_for_each_dev+0x7b/0xb0
> [    0.756390]  ? bus_add_driver+0xe6/0x200
> [    0.756390]  ? driver_register+0x5e/0xf0
> [    0.756390]  ? virtio_blk_init+0x4d/0x90
> [    0.756390]  ? add_boot_memory_block+0x90/0x90
> [    0.756390]  ? do_one_initcall+0xe2/0x250
> [    0.756390]  ? xas_store+0x4b/0x4b0
> [    0.756390]  ? number+0x13b/0x260
> [    0.756390]  ? ida_alloc_range+0x36a/0x3b0
> [    0.756390]  ? parameq+0x13/0x90
> [    0.756390]  ? parse_args+0x10f/0x2a0
> [    0.756390]  ? do_initcall_level+0x83/0xb0
> [    0.756390]  ? do_initcalls+0x43/0x70
> [    0.756390]  ? rest_init+0x80/0x80
> [    0.756390]  ? kernel_init_freeable+0x70/0xb0
> [    0.756390]  ? kernel_init+0x16/0x110
> [    0.756390]  ? ret_from_fork+0x30/0x40
> [    0.756390]  ? rest_init+0x80/0x80
> [    0.756390]  ? ret_from_fork_asm+0x11/0x20
> [    0.756390]  </TASK>
> [    0.756390] Modules linked in:
> [    0.756390] CR2: 0000000000000002
> [    0.756390] ---[ end trace 0000000000000000 ]---
> [    0.756390] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> [    0.756390] note: swapper[1] exited with irqs disabled
> [    0.782774] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
> [    0.783560] Kernel Offset: disabled
> [    0.783909] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 ]---
> 
> 
> msix_prepare_msi_desc+0x39/0x80:
> msix_prepare_msi_desc at drivers/pci/msi/msi.c:616
>  611            desc->nvec_used                         = 1;
>  612            desc->pci.msi_attrib.is_msix            = 1;
>  613            desc->pci.msi_attrib.is_64              = 1;
>  614            desc->pci.msi_attrib.default_irq        = dev->irq;
>  615            desc->pci.mask_base                     = dev->msix_base;
> >616<           desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
>  617                                                      !desc->pci.msi_attrib.is_virtual;
>  618
>  619            if (desc->pci.msi_attrib.can_mask) {
>  620                    void __iomem *addr = pci_msix_desc_addr(desc);
>  621
> 
> Reverting patch 3 fixes the issue.

Thanks for the report and sorry for the breakage.  Do you have a QEMU
command line I can use to try to reproduce this locally?

Will work on a patch ASAP.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 18:24:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 18:24:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925955.1328823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twmTX-0002aF-Sn; Mon, 24 Mar 2025 18:24:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925955.1328823; Mon, 24 Mar 2025 18:24: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 1twmTX-0002a8-Ok; Mon, 24 Mar 2025 18:24:39 +0000
Received: by outflank-mailman (input) for mailman id 925955;
 Mon, 24 Mar 2025 18: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=jtpT=WL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1twmTW-0002a0-Cr
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 18:24:38 +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 3df48ca7-08dd-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 19:24:37 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e66407963fso8406280a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 11:24:37 -0700 (PDT)
Received: from [10.81.43.157] ([46.149.103.8])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebcd0dfb33sm6486122a12.68.2025.03.24.11.24.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 24 Mar 2025 11:24: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: 3df48ca7-08dd-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742840676; x=1743445476; 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=fmfTGaU4qWrkMM7zMF85OgI9e1HIGXGAW1TTXQ2BA8s=;
        b=fMKiquI9Im14MCupjBw++8uq5nY4/ezQ2bmosJqdVl2KiaRgOGl0pDXWyj6PsClS2w
         AQgwcPaVHMKTlg6wwPenMj6U3PcrNlylrIsX3M/989clwvv4SKve4z6UI+oFl4C/xRfL
         Y0P0rCNuHhIs9RYCdYHtFVAVGKL2xsNiti7Co=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742840676; x=1743445476;
        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=fmfTGaU4qWrkMM7zMF85OgI9e1HIGXGAW1TTXQ2BA8s=;
        b=tn1VjIxzip/8uvKTEMQ039a8YUwwGwdxo2/7+gzreSUoQ64aUTsC22UX6RVGWN6GUb
         O09qa/bjh7zt4OS5MKcLMVNmz7nDTkbc7Iw+/kXYExKAZDWLypalVqu9VLyDtx5eDgRw
         FbPJpv8vn3nVQeJBeXY26OCLEsFPwBjg+MyyHzyBUqKX6qYSfdhgz8RmVTi+98MaLOQB
         CEEzzx7B/wMNnXRElRJP5lWlfPYLvshElAfrdNiZ8Gk0jD8LzVF4pk0JH/eWg6fGansN
         u2cE7VK1/5tRfvrwbXHSnB59CzFkqSqMMe3yBaxihd/rxl4BwpPuW+eMUqH+Lo5WKF7U
         JZXA==
X-Forwarded-Encrypted: i=1; AJvYcCVgdEX3hMwPuoegNWYEVQdUFRLZl25KF+KtcPrpsuLp46pcUWt0Jo6HeJmRzZqGu5FAo+EwjgUXhzI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzso+NrfQkh1VINx+X+gTJEVr/bGZh4OaBSPe0c1aV2FqIgAWWW
	FEOw5AonTFSdKlnqYqxv2r9519EO/v1voYZNygMh98odghKDTQSPSeTqEWjqN25xVniN4nQi42t
	dXtY=
X-Gm-Gg: ASbGncu/aE/dq3LhurVRcm6piRbhaBJoGWGX07frjhprT3P8suyNOuMPH8u/+H+7Ake
	b5Xy7P+GssdGs6BSb8AQ4HF0LYdYA2HbT2NzUBbvcmQsCbgLRw2zYBLtsSU5mKEUVwPePa+MUby
	ZkJ+CMGGm/XebdTwKQoLdvyCSXuiATrIeIWRQ6CXIwnmEo1p9U5LuS5+g+4orD0y0ldxqFp6rBJ
	KXdTXMKv+d0Gkpv8vAiZCiEexf6Gabz3k2MLfGit5jYXTkqjPsHNB0ZkkLmw0b6NSIxzGTckfSP
	Ggoi708tWwA1uBSNW9TMs5d2cEq1EwpaTJELsMeMFFps5XwPqBbjeg==
X-Google-Smtp-Source: AGHT+IFtHeSvVkCtn71Pltz22+B3XXbVehd9dRSgERAG1nzKmLf6LI5y+e2b+aubXvaM0+d5aZhmiw==
X-Received: by 2002:a05:6402:510b:b0:5e0:82a0:50ab with SMTP id 4fb4d7f45d1cf-5ebcd519938mr12104455a12.27.1742840676351;
        Mon, 24 Mar 2025 11:24:36 -0700 (PDT)
Message-ID: <6a039bc7-429d-4473-8a92-e5693dfd3fd9@citrix.com>
Date: Mon, 24 Mar 2025 18:24:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/PVH: account for module command line length
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 <jandryuk@gmail.com>
References: <110f0966-0b89-48d6-b1b3-abae93802c19@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: <110f0966-0b89-48d6-b1b3-abae93802c19@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/03/2025 12:03 pm, Jan Beulich wrote:
> As per observation in practice, initrd->cmdline_pa is not normally zero.
> Hence so far we always appended at least one byte. That alone may
> already render insufficient the "allocation" made by find_memory().
> Things would be worse when there's actually a (perhaps long) command
> line.
>
> Skip setup when the command line is empty. Amend the "allocation" size
> by padding and actual size of module command line. Along these lines
> also skip initrd setup when the initrd is zero size.
>
> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v3: Permit empty initrd with non-empty module command line again.
> v2: Use elf_round_up(). Introduce initrd_cmdline local. Re-base.

I wasn't making a request to support an empty module with a non-empty
cmdline.

That's a nonsense configuration; it's almost certainly an error
elsewhere, rather than an intended configuration.

I was simply requesting that the implications are considered, and
discussed, rather than silently dropping.

We ought to exclude such cases centrally, rather than locally in the PVH
path.

>
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -652,9 +652,10 @@ static int __init pvh_load_kernel(
>      unsigned long image_len = image->size;
>      unsigned long initrd_len = initrd ? initrd->size : 0;
>      const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
> +    const char *initrd_cmdline = NULL;
>      struct elf_binary elf;
>      struct elf_dom_parms parms;
> -    size_t extra_space;
> +    size_t extra_space = 0;
>      paddr_t last_addr;
>      struct hvm_start_info start_info = { 0 };
>      struct hvm_modlist_entry mod = { 0 };
> @@ -712,10 +713,26 @@ static int __init pvh_load_kernel(
>       * split into smaller allocations, done as a single region in order to
>       * simplify it.
>       */
> -    extra_space = sizeof(start_info);
> -
>      if ( initrd )
> -        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
> +    {
> +        extra_space = elf_round_up(&elf, initrd_len);

I'm going to insist on not doing this.Â  For the sake of anyone (else)
trying to follow this logic.

You're trading increased cognitive complexity of the logic to avoid
using one local variable.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 18:58:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 18:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925964.1328832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twn0B-0000V4-Ci; Mon, 24 Mar 2025 18:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925964.1328832; Mon, 24 Mar 2025 18:58: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 1twn0B-0000Ux-8k; Mon, 24 Mar 2025 18:58:23 +0000
Received: by outflank-mailman (input) for mailman id 925964;
 Mon, 24 Mar 2025 18: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=7Dtg=WL=kernel.org=da.gomez@srs-se1.protection.inumbo.net>)
 id 1twn09-0000Uq-Sh
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 18:58:21 +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 f2df4f73-08e1-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 19:58:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 5C3B643F5C;
 Mon, 24 Mar 2025 18:58:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1276CC4CEDD;
 Mon, 24 Mar 2025 18:58: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: f2df4f73-08e1-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742842697;
	bh=QOQzHPHB0XtBwefDNVY5PkLuraecI8p1uDp99MXJxLw=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=SJI4zR+74n0yOOMlhDR3z+JT+tWsVTbf9epf4GlyONcrfp7eWogrQlZjr917sTYNF
	 GRYKTCsztf/ZPuALz3gXONmQZHWh1Ujjft0bkgfjCdAL27xY2zPqnOryb4UYkxR48U
	 v/aETd7V2rHAnGssVeR3JxdTjy2F3fhObSNQjs4+GGcpheql2z/Y5/riOnIw0Ctm8w
	 4q9wdcaIfq7QNeqKxYBAXP1v5jokmh5V5NC8HgX+d7Of1fLXTFy4LPfm7f3CBBmGVS
	 kZRF6vmPvcguGf8n60SRzpStxo+eiGYRxWHUaTW083+30PEI+SFG13PJUtxElU/OHc
	 obj5WdpmZ/l7g==
Date: Mon, 24 Mar 2025 19:58:14 +0100
From: Daniel Gomez <da.gomez@kernel.org>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, 
	Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>, 
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Z-GbuiIYEdqVRsHj@macbook.local>

On Mon, Mar 24, 2025 at 06:51:54PM +0100, Roger Pau Monné wrote:
> On Mon, Mar 24, 2025 at 03:29:46PM +0100, Daniel Gomez wrote:
> > 
> > Hi,
> > 
> > On Fri, Mar 21, 2025 at 09:00:09AM +0100, Jürgen Groß wrote:
> > > On 20.03.25 22:07, Bjorn Helgaas wrote:
> > > > On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> > > > > Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for both
> > > > > MSI and MSI-X entries globally, regardless of the IRQ chip they are using.
> > > > > Only Xen sets the pci_msi_ignore_mask when routing physical interrupts over
> > > > > event channels, to prevent PCI code from attempting to toggle the maskbit,
> > > > > as it's Xen that controls the bit.
> > > > > 
> > > > > However, the pci_msi_ignore_mask being global will affect devices that use
> > > > > MSI interrupts but are not routing those interrupts over event channels
> > > > > (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> > > > > bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> > > > > normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> > > > > bridge configure the MSI entries using indexes into the VMD bridge MSI
> > > > > table.  The VMD bridge then demultiplexes such interrupts and delivers to
> > > > > the destination device(s).  Having pci_msi_ignore_mask set in that scenario
> > > > > prevents (un)masking of MSI entries for devices behind the VMD bridge.
> > > > > 
> > > > > Move the signaling of no entry masking into the MSI domain flags, as that
> > > > > allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> > > > > that uses the pIRQ chip, while leaving it unset for the rest of the
> > > > > cases.
> > > > > 
> > > > > Remove pci_msi_ignore_mask at once, since it was only used by Xen code, and
> > > > > with Xen dropping usage the variable is unneeded.
> > > > > 
> > > > > This fixes using devices behind a VMD bridge on Xen PV hardware domains.
> > > > > 
> > > > > Albeit Devices behind a VMD bridge are not known to Xen, that doesn't mean
> > > > > Linux cannot use them.  By inhibiting the usage of
> > > > > VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mask
> > > > > bodge devices behind a VMD bridge do work fine when use from a Linux Xen
> > > > > hardware domain.  That's the whole point of the series.
> > > > > 
> > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > > > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> > > > > Acked-by: Juergen Gross <jgross@suse.com>
> > > > 
> > > > Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> > > > 
> > > > I assume you'll merge this series via the Xen tree.  Let me know if
> > > > otherwise.
> > > 
> > > I've pushed the series to the linux-next branch of the Xen tree.
> > > 
> > > 
> > > Juergen
> > 
> > This patch landed in latest next-20250324 tag causing this crash:
> > 
> > [    0.753426] BUG: kernel NULL pointer dereference, address: 0000000000000002
> > [    0.753921] #PF: supervisor read access in kernel mode
> > [    0.754286] #PF: error_code(0x0000) - not-present page
> > [    0.754656] PGD 0 P4D 0
> > [    0.754842] Oops: Oops: 0000 [#1]
> > [    0.755080] CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.14.0-rc7-next-20250324 #1 NONE
> > [    0.755691] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
> > [    0.756349] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> > [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> > [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> > [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> > [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> > [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> > [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> > [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> > [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> > [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> > [    0.756390] Call Trace:
> > [    0.756390]  <TASK>
> > [    0.756390]  ? __die_body+0x1b/0x60
> > [    0.756390]  ? page_fault_oops+0x2d0/0x310
> > [    0.756390]  ? exc_page_fault+0x59/0xc0
> > [    0.756390]  ? asm_exc_page_fault+0x22/0x30
> > [    0.756390]  ? msix_prepare_msi_desc+0x39/0x80
> > [    0.756390]  ? msix_capability_init+0x172/0x2c0
> > [    0.756390]  ? __pci_enable_msix_range+0x1a8/0x1d0
> > [    0.756390]  ? pci_alloc_irq_vectors_affinity+0x7c/0xf0
> > [    0.756390]  ? vp_find_vqs_msix+0x187/0x400
> > [    0.756390]  ? vp_find_vqs+0x2f/0x250
> > [    0.756390]  ? snprintf+0x3e/0x50
> > [    0.756390]  ? vp_modern_find_vqs+0x13/0x60
> > [    0.756390]  ? init_vq+0x184/0x1e0
> > [    0.756390]  ? vp_get_status+0x20/0x20
> > [    0.756390]  ? virtblk_probe+0xeb/0x8d0
> > [    0.756390]  ? __kernfs_new_node+0x122/0x160
> > [    0.756390]  ? vp_get_status+0x20/0x20
> > [    0.756390]  ? virtio_dev_probe+0x171/0x1c0
> > [    0.756390]  ? really_probe+0xc2/0x240
> > [    0.756390]  ? driver_probe_device+0x1d/0x70
> > [    0.756390]  ? __driver_attach+0x96/0xe0
> > [    0.756390]  ? driver_attach+0x20/0x20
> > [    0.756390]  ? bus_for_each_dev+0x7b/0xb0
> > [    0.756390]  ? bus_add_driver+0xe6/0x200
> > [    0.756390]  ? driver_register+0x5e/0xf0
> > [    0.756390]  ? virtio_blk_init+0x4d/0x90
> > [    0.756390]  ? add_boot_memory_block+0x90/0x90
> > [    0.756390]  ? do_one_initcall+0xe2/0x250
> > [    0.756390]  ? xas_store+0x4b/0x4b0
> > [    0.756390]  ? number+0x13b/0x260
> > [    0.756390]  ? ida_alloc_range+0x36a/0x3b0
> > [    0.756390]  ? parameq+0x13/0x90
> > [    0.756390]  ? parse_args+0x10f/0x2a0
> > [    0.756390]  ? do_initcall_level+0x83/0xb0
> > [    0.756390]  ? do_initcalls+0x43/0x70
> > [    0.756390]  ? rest_init+0x80/0x80
> > [    0.756390]  ? kernel_init_freeable+0x70/0xb0
> > [    0.756390]  ? kernel_init+0x16/0x110
> > [    0.756390]  ? ret_from_fork+0x30/0x40
> > [    0.756390]  ? rest_init+0x80/0x80
> > [    0.756390]  ? ret_from_fork_asm+0x11/0x20
> > [    0.756390]  </TASK>
> > [    0.756390] Modules linked in:
> > [    0.756390] CR2: 0000000000000002
> > [    0.756390] ---[ end trace 0000000000000000 ]---
> > [    0.756390] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> > [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> > [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> > [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> > [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> > [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> > [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> > [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> > [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> > [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> > [    0.756390] note: swapper[1] exited with irqs disabled
> > [    0.782774] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
> > [    0.783560] Kernel Offset: disabled
> > [    0.783909] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 ]---
> > 
> > 
> > msix_prepare_msi_desc+0x39/0x80:
> > msix_prepare_msi_desc at drivers/pci/msi/msi.c:616
> >  611            desc->nvec_used                         = 1;
> >  612            desc->pci.msi_attrib.is_msix            = 1;
> >  613            desc->pci.msi_attrib.is_64              = 1;
> >  614            desc->pci.msi_attrib.default_irq        = dev->irq;
> >  615            desc->pci.mask_base                     = dev->msix_base;
> > >616<           desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
> >  617                                                      !desc->pci.msi_attrib.is_virtual;
> >  618
> >  619            if (desc->pci.msi_attrib.can_mask) {
> >  620                    void __iomem *addr = pci_msix_desc_addr(desc);
> >  621
> > 
> > Reverting patch 3 fixes the issue.
> 
> Thanks for the report and sorry for the breakage.  Do you have a QEMU
> command line I can use to try to reproduce this locally?
> 
> Will work on a patch ASAP.

Thanks for the quick reply.

The issue is that info appears to be uninitialized. So, this worked for me:

diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
index dcbb4f9ac578..b76c7ec33602 100644
--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -609,8 +609,10 @@ void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
        desc->pci.msi_attrib.is_64              = 1;
        desc->pci.msi_attrib.default_irq        = dev->irq;
        desc->pci.mask_base                     = dev->msix_base;
-       desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
-                                                 !desc->pci.msi_attrib.is_virtual;
+       desc->pci.msi_attrib.can_mask =
+               info ? !(info->flags & MSI_FLAG_NO_MASK) &&
+                               !desc->pci.msi_attrib.is_virtual :
+                      1;

        if (desc->pci.msi_attrib.can_mask) {
                void __iomem *addr = pci_msix_desc_addr(desc);
@@ -743,7 +745,7 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
        /* Disable INTX */
        pci_intx_for_msi(dev, 0);

-       if (!(info->flags & MSI_FLAG_NO_MASK)) {
+       if (info && !(info->flags & MSI_FLAG_NO_MASK)) {
                /*
                 * Ensure that all table entries are masked to prevent
                 * stale entries from firing in a crash kernel.

I also noticed d (struct irq_domain) can return NULL if CONFIG_GENERIC_MSI_IRQ
is not set and we are not checking that either.

I run QEMU with vmctl [1]. This is my command:

[1] https://github.com/SamsungDS/vmctl

/usr/bin/qemu-system-x86_64 \
  -nodefaults \
  -display "none" \
  -machine "q35,accel=kvm,kernel-irqchip=split" \
  -cpu "host" \
  -smp "4" \
  -m "8G" \
  -device "intel-iommu,intremap=on" \
  -netdev "user,id=net0,hostfwd=tcp::2222-:22" \
  -device "virtio-net-pci,netdev=net0" \
  -device "virtio-rng-pci" \
  -drive "id=boot,file=file.qcow2,format=qcow2,if=virtio,discard=unmap,media=disk,read-only=no" \
  -device "pcie-root-port,id=pcie_root_port0,chassis=1,slot=0" \
  -device "nvme,id=nvme0,serial=deadbeef,bus=pcie_root_port0,mdts=7" \
  -drive "id=nvm,file=~/nvm.img,format=raw,if=none,discard=unmap,media=disk,read-only=no" \
  -device "nvme-ns,id=nvm,drive=nvm,bus=nvme0,nsid=1,logical_block_size=4096,physical_block_size=4096" \
  -pidfile "~/vmctl/confdir/run/nvme/pidfile" \
  -kernel "~/src/kernel/linux/arch/x86_64/boot/bzImage" \
  -append "root=/dev/vda1 console=ttyS0,115200 audit=0" \
  -virtfs "local,path=~/linux,security_model=none,readonly=on,mount_tag=kernel_dir" \
  -serial "mon:stdio" \
  -d "guest_errors" \
  -D "~/vmctl/confdir/log/nvme/qemu.log"

Daniel

> 
> Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 19:18:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 19:18:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925976.1328842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twnJG-000528-2o; Mon, 24 Mar 2025 19:18:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925976.1328842; Mon, 24 Mar 2025 19:18: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 1twnJF-000521-VL; Mon, 24 Mar 2025 19:18:05 +0000
Received: by outflank-mailman (input) for mailman id 925976;
 Mon, 24 Mar 2025 19:18: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=oa5Q=WL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1twnJE-00051v-Li
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 19:18:04 +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 b501fde2-08e4-11f0-9ea2-5ba50f476ded;
 Mon, 24 Mar 2025 20:18:03 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac2bb7ca40bso59379366b.3
 for <xen-devel@lists.xenproject.org>; Mon, 24 Mar 2025 12:18:03 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3ef869fe1sm719332566b.34.2025.03.24.12.18.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 24 Mar 2025 12:18: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: b501fde2-08e4-11f0-9ea2-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742843883; x=1743448683; darn=lists.xenproject.org;
        h=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=tvbIh0AxGdU3mmDA2mdS8Eo1CIDhJiV8apIceESmJ5w=;
        b=osrrgxphuQiGLFrb97DDAWxOT+Dxkn4c+v9OOtv+FJPtVCxsDi7F80mE+Hla5ZyTeZ
         VSUAKPUuBCAcxcD43kf4FT4togjeQVOVbKVOpW931qC4vf9MrxS2GEuJPxhf7Dq5lqPt
         yCoYTu8/dvbkCKRLj64f/8K6RLfH34AT3SCU8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742843883; x=1743448683;
        h=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=tvbIh0AxGdU3mmDA2mdS8Eo1CIDhJiV8apIceESmJ5w=;
        b=DAssm64mVCoCOi+yGCVJc9FNVHMTbdxG2cbuw9HuJqR7jO4Tzn/E5eosACSx77Gi4d
         IdKTFoHyFZFvBSG9YnbCEmbV/ZgbtJcjeLEfP+w61rcghaqNpwnYH0FCPNn0iVpenjCv
         uyhttQNH8jMu9DvylMin9b5l6JFAL+pSuYIV+jePMYd+Ai+647Apcva4gOVKPF+QXrkj
         BihZIUOvrNknRkH1O9EchFF7vqWbtgNQlI2jV0E8Fi1ebDVr25UUO5UjRHCIbCrTC3Ir
         8SpW+fkFsSG3oPrk+5XZ/BNmkV3VBwTajnqGbg79V8iWhwqYhQ4pYgpF98khHrJZcPYA
         Uu6A==
X-Forwarded-Encrypted: i=1; AJvYcCWC1yCaPzR947VrsmFzfV9yY/FmIFFb9Wcx2L5VENxFwrgVmn6mev0h8zROFtqUTbUHMy4aXcTmJ4k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRAd7gtYPG7T3gBHMLqJGPJE/vIRIUDql567uF5D31FebgRcem
	B5taIU8FaITo2qSQaelfidX34urAds8BuF9SNstkDn2+gcXG1NoG4jFB9YecIZY=
X-Gm-Gg: ASbGncvl8O2INcOy8AWyXvpY6OJN4oJcpZOXniWKFuvzpbT4l3PT3IQTM0tkZrzJriN
	W2zEWyzdt6AO7h4dPoMkjjWCWRp7zLSOS8wVnZbaxGpobZUCs95R9Z6mcLNXbbFWjTIrSW/HcOd
	ZzPTBmm44bqr+gtitGqpUOi7uTXaGSiQMlMcJmM6xnbW9jQz6LlqKOOahL5ukpbf1mTSQko1DFU
	CaAO4lyPO2UtPTInWZd9G5KA966VTdovOGaC13IpslyF+fdQAKdRHyCMXN9gmj79aP+GAng8+PG
	zrn1ngXaa3lkrLfTE9jzdHbzm9g1Vk7pAonlUUtKM998lGrDDA==
X-Google-Smtp-Source: AGHT+IFL91WDJFAbclb/w5yF5feg6MLqAKCh1n+j+4ifs60b86BtaN/y6JndYD7djzX8kdRE81LoxA==
X-Received: by 2002:a17:907:2da8:b0:ac3:b372:6d04 with SMTP id a640c23a62f3a-ac3f251f5b9mr1338855366b.44.1742843882494;
        Mon, 24 Mar 2025 12:18:02 -0700 (PDT)
Date: Mon, 24 Mar 2025 20:18:01 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Daniel Gomez <da.gomez@kernel.org>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <Z-Gv6TG9dwKI-fvz@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>

On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
> On Mon, Mar 24, 2025 at 06:51:54PM +0100, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 24, 2025 at 03:29:46PM +0100, Daniel Gomez wrote:
> > > 
> > > Hi,
> > > 
> > > On Fri, Mar 21, 2025 at 09:00:09AM +0100, JĂźrgen GroĂ wrote:
> > > > On 20.03.25 22:07, Bjorn Helgaas wrote:
> > > > > On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> > > > > > Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for both
> > > > > > MSI and MSI-X entries globally, regardless of the IRQ chip they are using.
> > > > > > Only Xen sets the pci_msi_ignore_mask when routing physical interrupts over
> > > > > > event channels, to prevent PCI code from attempting to toggle the maskbit,
> > > > > > as it's Xen that controls the bit.
> > > > > > 
> > > > > > However, the pci_msi_ignore_mask being global will affect devices that use
> > > > > > MSI interrupts but are not routing those interrupts over event channels
> > > > > > (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> > > > > > bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> > > > > > normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> > > > > > bridge configure the MSI entries using indexes into the VMD bridge MSI
> > > > > > table.  The VMD bridge then demultiplexes such interrupts and delivers to
> > > > > > the destination device(s).  Having pci_msi_ignore_mask set in that scenario
> > > > > > prevents (un)masking of MSI entries for devices behind the VMD bridge.
> > > > > > 
> > > > > > Move the signaling of no entry masking into the MSI domain flags, as that
> > > > > > allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> > > > > > that uses the pIRQ chip, while leaving it unset for the rest of the
> > > > > > cases.
> > > > > > 
> > > > > > Remove pci_msi_ignore_mask at once, since it was only used by Xen code, and
> > > > > > with Xen dropping usage the variable is unneeded.
> > > > > > 
> > > > > > This fixes using devices behind a VMD bridge on Xen PV hardware domains.
> > > > > > 
> > > > > > Albeit Devices behind a VMD bridge are not known to Xen, that doesn't mean
> > > > > > Linux cannot use them.  By inhibiting the usage of
> > > > > > VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mask
> > > > > > bodge devices behind a VMD bridge do work fine when use from a Linux Xen
> > > > > > hardware domain.  That's the whole point of the series.
> > > > > > 
> > > > > > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > > > > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> > > > > > Acked-by: Juergen Gross <jgross@suse.com>
> > > > > 
> > > > > Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> > > > > 
> > > > > I assume you'll merge this series via the Xen tree.  Let me know if
> > > > > otherwise.
> > > > 
> > > > I've pushed the series to the linux-next branch of the Xen tree.
> > > > 
> > > > 
> > > > Juergen
> > > 
> > > This patch landed in latest next-20250324 tag causing this crash:
> > > 
> > > [    0.753426] BUG: kernel NULL pointer dereference, address: 0000000000000002
> > > [    0.753921] #PF: supervisor read access in kernel mode
> > > [    0.754286] #PF: error_code(0x0000) - not-present page
> > > [    0.754656] PGD 0 P4D 0
> > > [    0.754842] Oops: Oops: 0000 [#1]
> > > [    0.755080] CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.14.0-rc7-next-20250324 #1 NONE
> > > [    0.755691] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
> > > [    0.756349] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> > > [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> > > [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> > > [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> > > [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> > > [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> > > [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> > > [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> > > [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> > > [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> > > [    0.756390] Call Trace:
> > > [    0.756390]  <TASK>
> > > [    0.756390]  ? __die_body+0x1b/0x60
> > > [    0.756390]  ? page_fault_oops+0x2d0/0x310
> > > [    0.756390]  ? exc_page_fault+0x59/0xc0
> > > [    0.756390]  ? asm_exc_page_fault+0x22/0x30
> > > [    0.756390]  ? msix_prepare_msi_desc+0x39/0x80
> > > [    0.756390]  ? msix_capability_init+0x172/0x2c0
> > > [    0.756390]  ? __pci_enable_msix_range+0x1a8/0x1d0
> > > [    0.756390]  ? pci_alloc_irq_vectors_affinity+0x7c/0xf0
> > > [    0.756390]  ? vp_find_vqs_msix+0x187/0x400
> > > [    0.756390]  ? vp_find_vqs+0x2f/0x250
> > > [    0.756390]  ? snprintf+0x3e/0x50
> > > [    0.756390]  ? vp_modern_find_vqs+0x13/0x60
> > > [    0.756390]  ? init_vq+0x184/0x1e0
> > > [    0.756390]  ? vp_get_status+0x20/0x20
> > > [    0.756390]  ? virtblk_probe+0xeb/0x8d0
> > > [    0.756390]  ? __kernfs_new_node+0x122/0x160
> > > [    0.756390]  ? vp_get_status+0x20/0x20
> > > [    0.756390]  ? virtio_dev_probe+0x171/0x1c0
> > > [    0.756390]  ? really_probe+0xc2/0x240
> > > [    0.756390]  ? driver_probe_device+0x1d/0x70
> > > [    0.756390]  ? __driver_attach+0x96/0xe0
> > > [    0.756390]  ? driver_attach+0x20/0x20
> > > [    0.756390]  ? bus_for_each_dev+0x7b/0xb0
> > > [    0.756390]  ? bus_add_driver+0xe6/0x200
> > > [    0.756390]  ? driver_register+0x5e/0xf0
> > > [    0.756390]  ? virtio_blk_init+0x4d/0x90
> > > [    0.756390]  ? add_boot_memory_block+0x90/0x90
> > > [    0.756390]  ? do_one_initcall+0xe2/0x250
> > > [    0.756390]  ? xas_store+0x4b/0x4b0
> > > [    0.756390]  ? number+0x13b/0x260
> > > [    0.756390]  ? ida_alloc_range+0x36a/0x3b0
> > > [    0.756390]  ? parameq+0x13/0x90
> > > [    0.756390]  ? parse_args+0x10f/0x2a0
> > > [    0.756390]  ? do_initcall_level+0x83/0xb0
> > > [    0.756390]  ? do_initcalls+0x43/0x70
> > > [    0.756390]  ? rest_init+0x80/0x80
> > > [    0.756390]  ? kernel_init_freeable+0x70/0xb0
> > > [    0.756390]  ? kernel_init+0x16/0x110
> > > [    0.756390]  ? ret_from_fork+0x30/0x40
> > > [    0.756390]  ? rest_init+0x80/0x80
> > > [    0.756390]  ? ret_from_fork_asm+0x11/0x20
> > > [    0.756390]  </TASK>
> > > [    0.756390] Modules linked in:
> > > [    0.756390] CR2: 0000000000000002
> > > [    0.756390] ---[ end trace 0000000000000000 ]---
> > > [    0.756390] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> > > [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> > > [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> > > [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> > > [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> > > [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> > > [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> > > [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> > > [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> > > [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> > > [    0.756390] note: swapper[1] exited with irqs disabled
> > > [    0.782774] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
> > > [    0.783560] Kernel Offset: disabled
> > > [    0.783909] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 ]---
> > > 
> > > 
> > > msix_prepare_msi_desc+0x39/0x80:
> > > msix_prepare_msi_desc at drivers/pci/msi/msi.c:616
> > >  611            desc->nvec_used                         = 1;
> > >  612            desc->pci.msi_attrib.is_msix            = 1;
> > >  613            desc->pci.msi_attrib.is_64              = 1;
> > >  614            desc->pci.msi_attrib.default_irq        = dev->irq;
> > >  615            desc->pci.mask_base                     = dev->msix_base;
> > > >616<           desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
> > >  617                                                      !desc->pci.msi_attrib.is_virtual;
> > >  618
> > >  619            if (desc->pci.msi_attrib.can_mask) {
> > >  620                    void __iomem *addr = pci_msix_desc_addr(desc);
> > >  621
> > > 
> > > Reverting patch 3 fixes the issue.
> > 
> > Thanks for the report and sorry for the breakage.  Do you have a QEMU
> > command line I can use to try to reproduce this locally?
> > 
> > Will work on a patch ASAP.
> 
> Thanks for the quick reply.
> 
> The issue is that info appears to be uninitialized. So, this worked for me:

Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
this is x86, I was expecting x86 ot always use
x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
would like to better understand this.

> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index dcbb4f9ac578..b76c7ec33602 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -609,8 +609,10 @@ void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
>         desc->pci.msi_attrib.is_64              = 1;
>         desc->pci.msi_attrib.default_irq        = dev->irq;
>         desc->pci.mask_base                     = dev->msix_base;
> -       desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
> -                                                 !desc->pci.msi_attrib.is_virtual;
> +       desc->pci.msi_attrib.can_mask =
> +               info ? !(info->flags & MSI_FLAG_NO_MASK) &&
> +                               !desc->pci.msi_attrib.is_virtual :
> +                      1;
> 
>         if (desc->pci.msi_attrib.can_mask) {
>                 void __iomem *addr = pci_msix_desc_addr(desc);
> @@ -743,7 +745,7 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
>         /* Disable INTX */
>         pci_intx_for_msi(dev, 0);
> 
> -       if (!(info->flags & MSI_FLAG_NO_MASK)) {
> +       if (info && !(info->flags & MSI_FLAG_NO_MASK)) {

I think this should rather be:

if (!info ||Â !(info->flags & MSI_FLAG_NO_MASK)) {

So that in case of no info the default action is to mask the entries.

>                 /*
>                  * Ensure that all table entries are masked to prevent
>                  * stale entries from firing in a crash kernel.
> 
> I also noticed d (struct irq_domain) can return NULL if CONFIG_GENERIC_MSI_IRQ
> is not set and we are not checking that either.
> 
> I run QEMU with vmctl [1]. This is my command:
> 
> [1] https://github.com/SamsungDS/vmctl
> 
> /usr/bin/qemu-system-x86_64 \
>   -nodefaults \
>   -display "none" \
>   -machine "q35,accel=kvm,kernel-irqchip=split" \
>   -cpu "host" \
>   -smp "4" \
>   -m "8G" \
>   -device "intel-iommu,intremap=on" \
>   -netdev "user,id=net0,hostfwd=tcp::2222-:22" \
>   -device "virtio-net-pci,netdev=net0" \
>   -device "virtio-rng-pci" \
>   -drive "id=boot,file=file.qcow2,format=qcow2,if=virtio,discard=unmap,media=disk,read-only=no" \
>   -device "pcie-root-port,id=pcie_root_port0,chassis=1,slot=0" \
>   -device "nvme,id=nvme0,serial=deadbeef,bus=pcie_root_port0,mdts=7" \
>   -drive "id=nvm,file=~/nvm.img,format=raw,if=none,discard=unmap,media=disk,read-only=no" \
>   -device "nvme-ns,id=nvm,drive=nvm,bus=nvme0,nsid=1,logical_block_size=4096,physical_block_size=4096" \
>   -pidfile "~/vmctl/confdir/run/nvme/pidfile" \
>   -kernel "~/src/kernel/linux/arch/x86_64/boot/bzImage" \
>   -append "root=/dev/vda1 console=ttyS0,115200 audit=0" \
>   -virtfs "local,path=~/linux,security_model=none,readonly=on,mount_tag=kernel_dir" \
>   -serial "mon:stdio" \
>   -d "guest_errors" \
>   -D "~/vmctl/confdir/log/nvme/qemu.log"

Can you narrow down the command line to the minimum required to
reproduce the issue?

Can you attach the Kconfig used to build the crashing kernel?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 20:45:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 20:45:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925986.1328851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twoff-0006Eb-4B; Mon, 24 Mar 2025 20:45:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925986.1328851; Mon, 24 Mar 2025 20:45: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 1twoff-0006EU-1K; Mon, 24 Mar 2025 20:45:19 +0000
Received: by outflank-mailman (input) for mailman id 925986;
 Mon, 24 Mar 2025 20:45: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=7Dtg=WL=kernel.org=da.gomez@srs-se1.protection.inumbo.net>)
 id 1twofd-0006EO-Pg
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 20:45:17 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e23f6cda-08f0-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 21:45:14 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id C5E455C110D;
 Mon, 24 Mar 2025 20:42:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EA3F9C4CEDD;
 Mon, 24 Mar 2025 20:45:10 +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: e23f6cda-08f0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742849111;
	bh=YdHwOhsKQ440jnlnSxH6a52QEgGOji7jm+PnWBD1kLo=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=gET1JnNWGGJdQjQPiQgClBWcaJS2KtbIsfwYkqVnUGJ1nHkV2y47mYgvZR7q2jGyC
	 mMcIJAQA+9xOnvKc7h6hZPWEOBEj/QLZxplGHdp2+FpwInfxSkrqrOcGBRVOfd4ATm
	 QnsHF6vGsFSlJa6evhue2xm3hjHZUmbIW0M++7Qa6diSH3I9yK+DDUD5kd6XVjJGKl
	 54mWNL48CSSmk++mbtwHZ79gtTjJgnubJmrN5xOdWNkWKmlWKdnFp9zN8PLfLfJVOY
	 m+tL8kpOgzJUWd+i/YY4enX22K29PUl60qBsA+cn5b2xRzVIKFbYXuej1Hc73sZ51Z
	 YxyAH5D7LeLPw==
Date: Mon, 24 Mar 2025 21:45:08 +0100
From: Daniel Gomez <da.gomez@kernel.org>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, 
	Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>, 
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <w4oqfhyocmpde74n3k4c5wqqnjjwmma2rd7panjir72or5ub6q@4st4eudtajlp>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Z-Gv6TG9dwKI-fvz@macbook.local>

On Mon, Mar 24, 2025 at 08:18:01PM +0100, Roger Pau Monné wrote:
> On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
> > On Mon, Mar 24, 2025 at 06:51:54PM +0100, Roger Pau Monné wrote:
> > > On Mon, Mar 24, 2025 at 03:29:46PM +0100, Daniel Gomez wrote:
> > > > 
> > > > Hi,
> > > > 
> > > > On Fri, Mar 21, 2025 at 09:00:09AM +0100, Jürgen Groß wrote:
> > > > > On 20.03.25 22:07, Bjorn Helgaas wrote:
> > > > > > On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> > > > > > > Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for both
> > > > > > > MSI and MSI-X entries globally, regardless of the IRQ chip they are using.
> > > > > > > Only Xen sets the pci_msi_ignore_mask when routing physical interrupts over
> > > > > > > event channels, to prevent PCI code from attempting to toggle the maskbit,
> > > > > > > as it's Xen that controls the bit.
> > > > > > > 
> > > > > > > However, the pci_msi_ignore_mask being global will affect devices that use
> > > > > > > MSI interrupts but are not routing those interrupts over event channels
> > > > > > > (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> > > > > > > bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> > > > > > > normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> > > > > > > bridge configure the MSI entries using indexes into the VMD bridge MSI
> > > > > > > table.  The VMD bridge then demultiplexes such interrupts and delivers to
> > > > > > > the destination device(s).  Having pci_msi_ignore_mask set in that scenario
> > > > > > > prevents (un)masking of MSI entries for devices behind the VMD bridge.
> > > > > > > 
> > > > > > > Move the signaling of no entry masking into the MSI domain flags, as that
> > > > > > > allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> > > > > > > that uses the pIRQ chip, while leaving it unset for the rest of the
> > > > > > > cases.
> > > > > > > 
> > > > > > > Remove pci_msi_ignore_mask at once, since it was only used by Xen code, and
> > > > > > > with Xen dropping usage the variable is unneeded.
> > > > > > > 
> > > > > > > This fixes using devices behind a VMD bridge on Xen PV hardware domains.
> > > > > > > 
> > > > > > > Albeit Devices behind a VMD bridge are not known to Xen, that doesn't mean
> > > > > > > Linux cannot use them.  By inhibiting the usage of
> > > > > > > VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mask
> > > > > > > bodge devices behind a VMD bridge do work fine when use from a Linux Xen
> > > > > > > hardware domain.  That's the whole point of the series.
> > > > > > > 
> > > > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > > > > > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> > > > > > > Acked-by: Juergen Gross <jgross@suse.com>
> > > > > > 
> > > > > > Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> > > > > > 
> > > > > > I assume you'll merge this series via the Xen tree.  Let me know if
> > > > > > otherwise.
> > > > > 
> > > > > I've pushed the series to the linux-next branch of the Xen tree.
> > > > > 
> > > > > 
> > > > > Juergen
> > > > 
> > > > This patch landed in latest next-20250324 tag causing this crash:
> > > > 
> > > > [    0.753426] BUG: kernel NULL pointer dereference, address: 0000000000000002
> > > > [    0.753921] #PF: supervisor read access in kernel mode
> > > > [    0.754286] #PF: error_code(0x0000) - not-present page
> > > > [    0.754656] PGD 0 P4D 0
> > > > [    0.754842] Oops: Oops: 0000 [#1]
> > > > [    0.755080] CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.14.0-rc7-next-20250324 #1 NONE
> > > > [    0.755691] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
> > > > [    0.756349] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> > > > [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> > > > [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> > > > [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> > > > [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> > > > [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> > > > [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> > > > [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> > > > [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> > > > [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> > > > [    0.756390] Call Trace:
> > > > [    0.756390]  <TASK>
> > > > [    0.756390]  ? __die_body+0x1b/0x60
> > > > [    0.756390]  ? page_fault_oops+0x2d0/0x310
> > > > [    0.756390]  ? exc_page_fault+0x59/0xc0
> > > > [    0.756390]  ? asm_exc_page_fault+0x22/0x30
> > > > [    0.756390]  ? msix_prepare_msi_desc+0x39/0x80
> > > > [    0.756390]  ? msix_capability_init+0x172/0x2c0
> > > > [    0.756390]  ? __pci_enable_msix_range+0x1a8/0x1d0
> > > > [    0.756390]  ? pci_alloc_irq_vectors_affinity+0x7c/0xf0
> > > > [    0.756390]  ? vp_find_vqs_msix+0x187/0x400
> > > > [    0.756390]  ? vp_find_vqs+0x2f/0x250
> > > > [    0.756390]  ? snprintf+0x3e/0x50
> > > > [    0.756390]  ? vp_modern_find_vqs+0x13/0x60
> > > > [    0.756390]  ? init_vq+0x184/0x1e0
> > > > [    0.756390]  ? vp_get_status+0x20/0x20
> > > > [    0.756390]  ? virtblk_probe+0xeb/0x8d0
> > > > [    0.756390]  ? __kernfs_new_node+0x122/0x160
> > > > [    0.756390]  ? vp_get_status+0x20/0x20
> > > > [    0.756390]  ? virtio_dev_probe+0x171/0x1c0
> > > > [    0.756390]  ? really_probe+0xc2/0x240
> > > > [    0.756390]  ? driver_probe_device+0x1d/0x70
> > > > [    0.756390]  ? __driver_attach+0x96/0xe0
> > > > [    0.756390]  ? driver_attach+0x20/0x20
> > > > [    0.756390]  ? bus_for_each_dev+0x7b/0xb0
> > > > [    0.756390]  ? bus_add_driver+0xe6/0x200
> > > > [    0.756390]  ? driver_register+0x5e/0xf0
> > > > [    0.756390]  ? virtio_blk_init+0x4d/0x90
> > > > [    0.756390]  ? add_boot_memory_block+0x90/0x90
> > > > [    0.756390]  ? do_one_initcall+0xe2/0x250
> > > > [    0.756390]  ? xas_store+0x4b/0x4b0
> > > > [    0.756390]  ? number+0x13b/0x260
> > > > [    0.756390]  ? ida_alloc_range+0x36a/0x3b0
> > > > [    0.756390]  ? parameq+0x13/0x90
> > > > [    0.756390]  ? parse_args+0x10f/0x2a0
> > > > [    0.756390]  ? do_initcall_level+0x83/0xb0
> > > > [    0.756390]  ? do_initcalls+0x43/0x70
> > > > [    0.756390]  ? rest_init+0x80/0x80
> > > > [    0.756390]  ? kernel_init_freeable+0x70/0xb0
> > > > [    0.756390]  ? kernel_init+0x16/0x110
> > > > [    0.756390]  ? ret_from_fork+0x30/0x40
> > > > [    0.756390]  ? rest_init+0x80/0x80
> > > > [    0.756390]  ? ret_from_fork_asm+0x11/0x20
> > > > [    0.756390]  </TASK>
> > > > [    0.756390] Modules linked in:
> > > > [    0.756390] CR2: 0000000000000002
> > > > [    0.756390] ---[ end trace 0000000000000000 ]---
> > > > [    0.756390] RIP: 0010:msix_prepare_msi_desc+0x39/0x80
> > > > [    0.756390] Code: 20 c7 46 04 01 00 00 00 8b 56 4c 89 d0 0d 01 01 00 00 66 89 46 4c 8b 8f 64 02 00 00 89 4e 50 48 8b 8f 70 06 00 00 48 89 4e 58 <41> f6 40 02 40 75 2a c1 ea 02 bf 80 00 00 00 21 fa 25 7f ff ff ff
> > > > [    0.756390] RSP: 0000:ffff8881002a76e0 EFLAGS: 00010202
> > > > [    0.756390] RAX: 0000000000000101 RBX: ffff88810074d000 RCX: ffffc9000002e000
> > > > [    0.756390] RDX: 0000000000000000 RSI: ffff8881002a7710 RDI: ffff88810074d000
> > > > [    0.756390] RBP: ffff8881002a7710 R08: 0000000000000000 R09: ffff8881002a76b4
> > > > [    0.756390] R10: 000000701000c001 R11: ffffffff82a3dc01 R12: 0000000000000000
> > > > [    0.756390] R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000002
> > > > [    0.756390] FS:  0000000000000000(0000) GS:0000000000000000(0000) knlGS:0000000000000000
> > > > [    0.756390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > [    0.756390] CR2: 0000000000000002 CR3: 0000000002a3d001 CR4: 00000000003706b0
> > > > [    0.756390] note: swapper[1] exited with irqs disabled
> > > > [    0.782774] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
> > > > [    0.783560] Kernel Offset: disabled
> > > > [    0.783909] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 ]---
> > > > 
> > > > 
> > > > msix_prepare_msi_desc+0x39/0x80:
> > > > msix_prepare_msi_desc at drivers/pci/msi/msi.c:616
> > > >  611            desc->nvec_used                         = 1;
> > > >  612            desc->pci.msi_attrib.is_msix            = 1;
> > > >  613            desc->pci.msi_attrib.is_64              = 1;
> > > >  614            desc->pci.msi_attrib.default_irq        = dev->irq;
> > > >  615            desc->pci.mask_base                     = dev->msix_base;
> > > > >616<           desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
> > > >  617                                                      !desc->pci.msi_attrib.is_virtual;
> > > >  618
> > > >  619            if (desc->pci.msi_attrib.can_mask) {
> > > >  620                    void __iomem *addr = pci_msix_desc_addr(desc);
> > > >  621
> > > > 
> > > > Reverting patch 3 fixes the issue.
> > > 
> > > Thanks for the report and sorry for the breakage.  Do you have a QEMU
> > > command line I can use to try to reproduce this locally?
> > > 
> > > Will work on a patch ASAP.
> > 
> > Thanks for the quick reply.
> > 
> > The issue is that info appears to be uninitialized. So, this worked for me:
> 
> Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
> this is x86, I was expecting x86 ot always use
> x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
> would like to better understand this.
> 
> > diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> > index dcbb4f9ac578..b76c7ec33602 100644
> > --- a/drivers/pci/msi/msi.c
> > +++ b/drivers/pci/msi/msi.c
> > @@ -609,8 +609,10 @@ void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
> >         desc->pci.msi_attrib.is_64              = 1;
> >         desc->pci.msi_attrib.default_irq        = dev->irq;
> >         desc->pci.mask_base                     = dev->msix_base;
> > -       desc->pci.msi_attrib.can_mask           = !(info->flags & MSI_FLAG_NO_MASK) &&
> > -                                                 !desc->pci.msi_attrib.is_virtual;
> > +       desc->pci.msi_attrib.can_mask =
> > +               info ? !(info->flags & MSI_FLAG_NO_MASK) &&
> > +                               !desc->pci.msi_attrib.is_virtual :
> > +                      1;
> > 
> >         if (desc->pci.msi_attrib.can_mask) {
> >                 void __iomem *addr = pci_msix_desc_addr(desc);
> > @@ -743,7 +745,7 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
> >         /* Disable INTX */
> >         pci_intx_for_msi(dev, 0);
> > 
> > -       if (!(info->flags & MSI_FLAG_NO_MASK)) {
> > +       if (info && !(info->flags & MSI_FLAG_NO_MASK)) {
> 
> I think this should rather be:
> 
> if (!info || !(info->flags & MSI_FLAG_NO_MASK)) {
> 
> So that in case of no info the default action is to mask the entries.
> 
> >                 /*
> >                  * Ensure that all table entries are masked to prevent
> >                  * stale entries from firing in a crash kernel.
> > 
> > I also noticed d (struct irq_domain) can return NULL if CONFIG_GENERIC_MSI_IRQ
> > is not set and we are not checking that either.
> > 
> > I run QEMU with vmctl [1]. This is my command:
> > 
> > [1] https://github.com/SamsungDS/vmctl
> > 
> > /usr/bin/qemu-system-x86_64 \
> >   -nodefaults \
> >   -display "none" \
> >   -machine "q35,accel=kvm,kernel-irqchip=split" \
> >   -cpu "host" \
> >   -smp "4" \
> >   -m "8G" \
> >   -device "intel-iommu,intremap=on" \
> >   -netdev "user,id=net0,hostfwd=tcp::2222-:22" \
> >   -device "virtio-net-pci,netdev=net0" \
> >   -device "virtio-rng-pci" \
> >   -drive "id=boot,file=file.qcow2,format=qcow2,if=virtio,discard=unmap,media=disk,read-only=no" \
> >   -device "pcie-root-port,id=pcie_root_port0,chassis=1,slot=0" \
> >   -device "nvme,id=nvme0,serial=deadbeef,bus=pcie_root_port0,mdts=7" \
> >   -drive "id=nvm,file=~/nvm.img,format=raw,if=none,discard=unmap,media=disk,read-only=no" \
> >   -device "nvme-ns,id=nvm,drive=nvm,bus=nvme0,nsid=1,logical_block_size=4096,physical_block_size=4096" \
> >   -pidfile "~/vmctl/confdir/run/nvme/pidfile" \
> >   -kernel "~/src/kernel/linux/arch/x86_64/boot/bzImage" \
> >   -append "root=/dev/vda1 console=ttyS0,115200 audit=0" \
> >   -virtfs "local,path=~/linux,security_model=none,readonly=on,mount_tag=kernel_dir" \
> >   -serial "mon:stdio" \
> >   -d "guest_errors" \
> >   -D "~/vmctl/confdir/log/nvme/qemu.log"
> 
> Can you narrow down the command line to the minimum required to
> reproduce the issue?

/usr/bin/qemu-system-x86_64 \
  -nodefaults \
  -display "none" \
  -machine "q35,accel=kvm" \
  -cpu "host" \
  -drive "id=boot,file=file.qcow2,format=qcow2,if=virtio,discard=unmap,media=disk,read-only=no" \
  -kernel "~/src/kernel/linux/arch/x86_64/boot/bzImage" \
  -append "root=/dev/vda1 console=ttyS0,115200 audit=0" \
  -serial "mon:stdio"

> 
> Can you attach the Kconfig used to build the crashing kernel?

I'm using these fragments [1]:

tinyconfig kvm_guest.config virtio-fs.config systemd.config distro.config \
storage.config localauto.config

[1] https://github.com/dkruces/linux-config-fragments/

> 
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 21:27:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 21:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.925999.1328862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twpKe-00062k-5h; Mon, 24 Mar 2025 21:27:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 925999.1328862; Mon, 24 Mar 2025 21:27: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 1twpKe-00062d-2M; Mon, 24 Mar 2025 21:27:40 +0000
Received: by outflank-mailman (input) for mailman id 925999;
 Mon, 24 Mar 2025 21:27: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=/zDv=WL=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1twpKc-00062X-9W
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 21:27:38 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20620.outbound.protection.outlook.com
 [2a01:111:f403:2612::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cda2535c-08f6-11f0-9ffa-bf95429c2676;
 Mon, 24 Mar 2025 22:27:36 +0100 (CET)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by DBBPR03MB6841.eurprd03.prod.outlook.com (2603:10a6:10:20f::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar
 2025 21:27:32 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%7]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025
 21:27: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: cda2535c-08f6-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Xln/W8wirnFTvhPQHJ/dNpHcpS2zcW/hHt+Oddt7SGdazb0CtrZxB4m/dCG9IsXZQLQmZEdNvruxsNfAmXkxv+QnIbLeEdcRb7T+N/NiRH1cSGKGdni/xi3idDAIfYtu+3V4lbSjvM9GrsmUiDnl+tfqWK2qitio51zesG66NgUVcuzDDVbbg+lBooe3D+jmpyVeFHRWgdgIuxK8oTAUrkXlfxeikt709K6SSWGFcouBK7KpJU/NlNva7FpECSeC3MjQ9N9GNqD6kmN3LlyJ+8R3JgZaVWcPdQ0KG5jI96cjsWc2sGCM6ppst8EhWyKIgIt73VKA5FC2K7w3E6/5bA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v1xVWBhIyB1zYZ4W4+MNstvj6SC91Kwn/Qzovo6iCtY=;
 b=ypDbXjl0aACgvmMfMoQ4IoBaWP83B0MdW5VxBI4Eg8uxA3JPN3CAO8872we4S/XQsZZfTDdJ3MDvcXMW9/HUQ8YKdIkrBCtd+zeV/WJWMuJ5Se86HjPWb3mOTDlDbMnK7wDSzuJKLJIlpAPHXGp39HW+X4YQbykf6GMsg3oBdrHgkiajsuYmoU7sTWU1Ibff2SifMiAjMu1aOBtpfw7J6PUK7jgQZ2um1ISiQiYCYneSRQidlCSiz6vBpnIEVFtCPwefQ6GD/tTPWknG4SiuuHd2rGKRX+rdJ3kvXhO+bwVmb0wTzBRkWRiulDbu7d8l1BjnbWfeOR4fd2p0+9vT2Q==
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=v1xVWBhIyB1zYZ4W4+MNstvj6SC91Kwn/Qzovo6iCtY=;
 b=eeQGNmfDWzteX96e4yhmyVVhZR9zhuur2eoaR8prJnz8ip0/Mhei7VGb/svLHNV0xq/hzZRDRIAfi2eiuQPR65p8WEVqjxFQx5Zr7MxohXGVBYDDsCKGsP68Lu8Uj7vnxQyM9eNvjHtpSHEEs5wNBP05IlPOQmFStU8icbF1JmcKigAoiy5B9MQEr9W0rmUAGtcnlUK1PugjhaECM9C/lXShjlOe+FPRfkBs1ill7PeNlaDqmiGsUesixCctxKckE+85nyBeQmJmEuOkYLNJMiJA3bwnGEQgDQR/7YMh7QNcQrf2axQIw08YJsVkkuRqrrSuSWuoslwZTe1kXVTzMw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@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>
Subject: [RFC PATCH] xen/device-tree: Switch back to dt_unreserved_regions()
 in boot allocator
Thread-Topic: [RFC PATCH] xen/device-tree: Switch back to
 dt_unreserved_regions() in boot allocator
Thread-Index: AQHbnQONSMLBGwvKMUWMY6fOky1K0A==
Date: Mon, 24 Mar 2025 21:27:32 +0000
Message-ID: <20250324212731.1702255-1-oleksandr_tyshchenko@epam.com>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|DBBPR03MB6841:EE_
x-ms-office365-filtering-correlation-id: 57b1820b-6860-4be0-e7c4-08dd6b1ab01e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?M6smeElmD9wKqH375GZEF1g9bTiT2f+ACo1x7pywdeB9uKp/qkxsrh82cH?=
 =?iso-8859-1?Q?YSNGq3AZr6fQTCbvdRoiMm22rWIkrzrPd8KLxsO1xR/bSwW05PDwpFid9v?=
 =?iso-8859-1?Q?8k20LNyECs0KEIRHRCSbPqRH4qM+AuDHavlkGLiRkuYrUnpGBo4ha1BJnZ?=
 =?iso-8859-1?Q?HEkC5xZVbNFS7rbFalSNF6zXSWE07Q3EuFPU/tLSuUL/DsMm6GflqRn3ye?=
 =?iso-8859-1?Q?EuMQdJUjSMZxNmWU4dvGynEIvtIl5cZ/fQ7phj6nhbR3gA+fwjBCU1jHEI?=
 =?iso-8859-1?Q?/m/mO70bB3tKyioSCueHvuzNID4m8FHn7UsQrIf78GagUd6fn0k8ThsKx7?=
 =?iso-8859-1?Q?G2g6OfoI1RxuPkmaLGxDhlqydmUIeKIDY3BSQU5iC2ilpEIz3Rsp0zgnfA?=
 =?iso-8859-1?Q?I3Lm4SZU1glFt9v8eWeHMd0RvCWJza1RP7Vu/pbPxt8TYgwkIf23ykvIo2?=
 =?iso-8859-1?Q?eLXMqWSJZu+95yuUK8nXfAuEyPENKQHUmDgA1eIrwfILpPJYPl3PMWCIrR?=
 =?iso-8859-1?Q?q3gjsCvqIFEFJCzFzS0mfqqMi6h55Uj75GheJW481VNy24EKYruVFIpiH/?=
 =?iso-8859-1?Q?1g0d4EAukjnUxRExrPRrxEajC7JLVO1d7O6tsHluSibsTx8tfAE9SW7rhy?=
 =?iso-8859-1?Q?YLsTEWeMGV7oAMP629aUTQpARgr1kQMUaU4S9cxO5laLeDUsUr+Gda3R48?=
 =?iso-8859-1?Q?QM5w+muBcGrepfOoz9l9+vTJl9M/ShNt4yF9feTBbzEPpkr87tUszcRT2y?=
 =?iso-8859-1?Q?tmC5ifksFocwwteImc1yDWgjHs2q9fQpcnoWLbuQ7DpYRA5o6aJDzstoGX?=
 =?iso-8859-1?Q?+IN1D9TZy1iGwZ1fZsoljVJolNxuH72qIKGhcqExyBAAS4nT0sRuvdOz2V?=
 =?iso-8859-1?Q?3Ruu4KbMXIA1bBvWNIP6/vvMekYqgyzTsnTxh7rz5lDNQjtkeEGxSgqCIP?=
 =?iso-8859-1?Q?mv4IK1helnqToU2+AnWQzQ5z6uhhAFmmzpZava6EipDD5CEE1MtCTuNmft?=
 =?iso-8859-1?Q?L6yJjIXXz2QE07JJB7WBwYdzb2AWz0bY/asXFsohpuERuEL9kEr1+ESJvJ?=
 =?iso-8859-1?Q?1/1i71SWqV+kOteUlo0vhrx3pWygnweO9zXLVWMTY1i5z26ff3D2uGMbUY?=
 =?iso-8859-1?Q?+UlVfVgFbpJoXEw9dcZnPipr5rOzYQjEBFXjlrUsyOFZfLZw2E1YX4WGeQ?=
 =?iso-8859-1?Q?BbLK7jnyFlsFnPBCPgCBjerNpgUsaqCn7kEflP3p6NPpg87WMhEP1F14HZ?=
 =?iso-8859-1?Q?il9OPif88wZt1mDONdObogk270OKHmTgRdFRA2iuvcocFR3oFfUimludqs?=
 =?iso-8859-1?Q?Pl1Da20kOe/EaLk+/K+PnBn6rWUhJgRSkCpfwLP+9DN8tvPePGz267haTW?=
 =?iso-8859-1?Q?vDg8qmgzlirWC1cV9J6bdXBDYi3CF5wBhlJYZmRmpy2JzirR40QW+yxAQq?=
 =?iso-8859-1?Q?ytYPOaQUrhpSxFpGW5SSEFDu2Zn3JR2vINCAfF0KsIFNB9vW06ynxQH0Y4?=
 =?iso-8859-1?Q?gT4LvQlKwWkacHdXiNs6bX?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?2oTpXYY/lV7uwhWUDTjzDd8ciwACncoj8/nflKzNVZQiFY+N5GVulEA4ym?=
 =?iso-8859-1?Q?8Pp0W7SsqjsWv+6CWJYyVpdYjQebVGZf3dn6YtgBxYZ3v7w/K9ZTAz1eCJ?=
 =?iso-8859-1?Q?SBQEN+oSMGEiG0YNhcTZJtKbuwOi5DrtSBBokD3+1ZILFJvNYtirT4iEFY?=
 =?iso-8859-1?Q?YDdHvCRKzV/PTL+3ZbFCzt2N2qliOwoUWKa+F70TYTCztc6KGmzxkIT53m?=
 =?iso-8859-1?Q?PGsbLxDzu6DmzFXA1UTde6s04WdsQCBizqcJcoaci0OesKCX9/PdBOKG1+?=
 =?iso-8859-1?Q?GelRdXqESepVf8iZe04Hnvtvq6q/d+V/QwbcCtIW96OLg+4IJHW4kDITXK?=
 =?iso-8859-1?Q?NbBDW+CvyCNkyOVL/u6dEJBIaJ5upyNfb3xegeRnII6TYB5/bUrI3YzvWw?=
 =?iso-8859-1?Q?03LWSVXTt6/+foMjHmNON0dqNdzuMfj3S7qdLbBByhbm18I/O0h7kvopdG?=
 =?iso-8859-1?Q?Nt9Z+DeC0wYq9BbGLgOl+eBz7JSHhkbr4PXrMaITC4/HERX8sM4VqfjmJx?=
 =?iso-8859-1?Q?UBzD5Z44tNQ4SolJCFdX9U88ZTLtEvr1MXNtNxSeFoaSJntdsS32OtV2p+?=
 =?iso-8859-1?Q?nKOW91B45s3dsbShy4gVoVHAf9JGcRMA5VYRP7NdJLNEymi7G1N/XTm0FU?=
 =?iso-8859-1?Q?cnkLMMQLXdnfBtmas5hl4RtEPIIL4hQChTQQdr3yQ9ksFQ4YckFwAial+B?=
 =?iso-8859-1?Q?VP5qXmP6uOnS7SHoBD01j2qVbCYSulKHZZVlrVnLjp1/Y2U6DNCBaf7mGT?=
 =?iso-8859-1?Q?hjqlhw9oK+pDURbN1Ce+naoIAO2nDj/caH97m7BCTimzOf7DyFKrnLCVAB?=
 =?iso-8859-1?Q?QZIk5Yi0+Wrl+HukoV6mfUwIJQNc1d/fJCHGcf782iizBqZD2WhMX1z/aC?=
 =?iso-8859-1?Q?jzvvKcLjGa9ID9obrDukLcAqW1B6VM02xAwZCQGseKhrXjnUSw2WlclW6S?=
 =?iso-8859-1?Q?Im1cL1+vhixKSruwRhyOmgAofoMqaVF32vLeUHbkGbpcBBy2tDEtyDXmu1?=
 =?iso-8859-1?Q?kOu3iqr3dA87m2iJw1lv46eO2hCjzTecRCD04qEi1wV9WtzKG3PCci2doE?=
 =?iso-8859-1?Q?wPzjGc76DmWGQZWzZMT7qwCWsP3Xl5nWJV4hTRSKCO9lAigwY0kdplQTqO?=
 =?iso-8859-1?Q?sgtreSWftWNQhwExmiOs0FtcVooDweTFwoU+7mTkUIACr97QX7DjsbyOs8?=
 =?iso-8859-1?Q?EDj0QjO1IJ0B0sz/xuRgFw7DXaDEKcP5i2FwmXoezW1Y/vr82uXLXiXs1k?=
 =?iso-8859-1?Q?Rm9kt0yT+/2l0Cd/4kSiju8jZHkXqO29bC03UvlKFhtYua/8lvmRsRhFvR?=
 =?iso-8859-1?Q?GEe82yuMyc82zmCDr4/7nRoffTpkC769DPfgcrXZk5MBhb2AZ3x7QUofJP?=
 =?iso-8859-1?Q?HB0qlGLYI3lutCYCbXAcrc0F4F/OIGenP6UBOzjrj5fzlh2PBoyFhvGvPZ?=
 =?iso-8859-1?Q?4bGleHmn677viQ2otkIlct/rh9rlIPfbMWYtWqgo4wCY6d64VJlFSWvVb4?=
 =?iso-8859-1?Q?jTA5DCLzvasISjYuHmAB1tTPR9fswriW4FSYldhgQ3kXmsz8J511AzqsEg?=
 =?iso-8859-1?Q?oPhL5kDdMcZm+dtww/P0R7CWYiZJxRDZbFd9bC/oyasIES2sx+krxp5laj?=
 =?iso-8859-1?Q?QxS4Z7b3NO6PeRpsCpwAPNa4IiW4FDgWFk3KGJAglyvkJBv3/kLN9goRAt?=
 =?iso-8859-1?Q?nxfs12iYXoW05u5qYTg=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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57b1820b-6860-4be0-e7c4-08dd6b1ab01e
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2025 21:27:32.4337
 (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: Es1zSVxxXHqie3JplRd+QGIKxxF6lZi9rLzpTa+CQfTiAGG66WUSE8Y3zuTbL+EkmQL6zlCBsO2FPPjADPHlPqPBO2F85JKtboJDaQfJigQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB6841

On the device-tree-based Arm64 system, if Xen is built with
CONFIG_ACPI=3Dy, CONFIG_STATIC_MEMORY=3Dy, and the static memory range
is provided in the host device tree, the BUG is triggered in
common/page_alloc.c during Xen's early boot. The BUG occurs when
the first page from the static range is fed to the domain
sub-allocator and finally ends up in mark_page_free().
The pg->count_info & PGC_state is not in the state that
the code expects to see there.

The problem is that the static range gets mistakenly unreserved
in populate_boot_allocator() and reaches init_boot_pages().
This happens since by the time the populate_boot_allocator()
is executed, the evaluated in fw_unreserved_regions()
an acpi_disabled variable is still false (CONFIG_ACPI=3Dy) and
dt_unreserved_regions() which should simply skip that static range
does not get called. The acpi_disabled will be set to the actual
value later on in acpi_boot_table_init().

To avoid unreserving the whole region (including potential reserved
memory ranges such as static memory) open code fw_unreserved_regions()
and add a comment.

Another solution could be to call acpi_boot_table_init() before
setup_mm() in Arm64's start_xen().

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
The RFC since I am not sure whether the description is precise
and the fix is correct.

Below the dump, w/o and w/ the fix applied. I also added prints
for the processed memory ranges with "OT:" for the visibility:

********************

- UART enabled -
- Boot CPU booting -
- Current EL 0000000000000008 -
- Initialize CPU -
- Turning on paging -
- Paging turned on -
- Zero BSS -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) Checking for "xen,static-mem" in domain node
(XEN) RAM: 0000000040000000 - 00000000bfffffff
(XEN)=20
(XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen        =20
(XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree=20
(XEN) MODULE[2]: 0000000042e00000 - 0000000043111f82 Ramdisk    =20
(XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel     =20
(XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
(XEN)=20
(XEN) CMDLINE[0000000040400000]:domU0 console=3DttyAMA0
(XEN)=20
(XEN) Command line: console=3Ddtuart conswitch=3Dax
(XEN) OT: populate_boot_allocator[475] s 0x40000000 e 0x40400000
(XEN) OT: init_boot_pages[358]         s 0x40000000 e 0x40400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x42d00000 e 0x42e00000
(XEN) OT: init_boot_pages[358]         s 0x42d00000 e 0x42e00000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43111f83 e 0x43200000
(XEN) OT: init_boot_pages[358]         s 0x43111f83 e 0x43200000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43344000 e 0x43400000
(XEN) OT: init_boot_pages[358]         s 0x43344000 e 0x43400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43403000 e 0xc0000000
(XEN) OT: init_boot_pages[358]         s 0x43403000 e 0xc0000000 <<<
(XEN) pg MFN 50000 c=3D0x2180000000000000 o=3D0 v=3D0 t=3D0
(XEN) Xen BUG at common/page_alloc.c:1474
(XEN) ----[ Xen-4.21-unstable  arm64  debug=3Dy  Not tainted ]----
(XEN) CPU:    0
(XEN) PC:     00000a0000222ec0 page_alloc.c#mark_page_free+0xe8/0xf0
(XEN) LR:     00000a0000222ec0
(XEN) SP:     00000a0000307d10
(XEN) CPSR:   00000000600003c9 MODE:64-bit EL2h (Hypervisor, handler)
(XEN)      X0: 00000a0000310040  X1: 0000000000000001  X2: 0000000000000000
(XEN)      X3: 0000000000000000  X4: 0000000000000000  X5: 0000000000000000
(XEN)      X6: 0000000000000000  X7: fefefefefefeff09  X8: 7f7f7f7f7f7f7f7f
(XEN)      X9: 0000000000000080 X10: 7f7f7f7f7f7f7f7f X11: 0101010101010101
(XEN)     X12: 0000000000000008 X13: 0000000000000020 X14: 0000000000000001
(XEN)     X15: 00000a0000a00000 X16: 00000000bff3b8fc X17: 0000000000000000
(XEN)     X18: 00000000beebbdb0 X19: 0000000000050000 X20: 00000a0800380000
(XEN)     X21: 0000000000000010 X22: 00000000000be000 X23: 00000a0800380000
(XEN)     X24: 0000000000000000 X25: 0000000000060000 X26: 0000000000000001
(XEN)     X27: 00000a00002991c8 X28: fffff5f800000000  FP: 00000a0000307d10
(XEN)=20
(XEN)   VTCR_EL2: 0000000000000000
(XEN)  VTTBR_EL2: 0000000000000000
(XEN)=20
(XEN)  SCTLR_EL2: 0000000030cd183d
(XEN)    HCR_EL2: 0000000000000038
(XEN)  TTBR0_EL2: 0000000043321000
(XEN)=20
(XEN)    ESR_EL2: 00000000f2000001
(XEN)  HPFAR_EL2: 0000000000000000
(XEN)    FAR_EL2: 0000000000000000
(XEN)=20
(XEN) Xen stack trace from sp=3D00000a0000307d10:
(XEN)    00000a0000307d20 00000a0000224154 00000a0000307d90 00000a00002261a=
0
(XEN)    0000000000000010 00000a0000312d38 0000000000050000 00000000000be00=
0
(XEN)    000000000007abfd 00000a0000298ca0 00000a0000298000 000000000000001=
2
(XEN)    0000000000000040 0000000000000000 00000a00002a5170 000100000000001=
3
(XEN)    00000a0000307e20 00000a00002ab2c4 00000a00002e5430 00000a00002e53f=
0
(XEN)    00000a0000298ca0 00000a0000299000 00000a0000298000 00000a000029800=
0
(XEN)    00000000bffbb6d0 0000000000000000 00000000bfefeccc 00000000beed7ee=
0
(XEN)    0000000100000014 00000a08000b60a8 0000000000000000 000000000007abf=
d
(XEN)    0000000001ad9f58 00000a0000312d88 00000a0000307e60 00000a00002c62b=
c
(XEN)    0000000043400000 00000a0000c01c28 00000a0000312000 000000000000300=
0
(XEN)    00000a0000a00000 00000000beed7eb8 00000000bedbb730 00000a00002001a=
4
(XEN)    0000000043200000 fffff60043000000 0000000043400000 000000000000000=
3
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000
(XEN) Xen call trace:
(XEN)    [<00000a0000222ec0>] page_alloc.c#mark_page_free+0xe8/0xf0 (PC)
(XEN)    [<00000a0000222ec0>] page_alloc.c#mark_page_free+0xe8/0xf0 (LR)
(XEN)    [<00000a0000224154>] page_alloc.c#free_heap_pages+0x10c/0x528
(XEN)    [<00000a00002261a0>] page_alloc.c#init_heap_pages+0x47c/0x678
(XEN)    [<00000a00002ab2c4>] end_boot_allocator+0x184/0x1b8
(XEN)    [<00000a00002c62bc>] start_xen+0x134/0x9ec
(XEN)    [<00000a00002001a4>] head.o#primary_switched+0x4/0x24
(XEN)=20
(XEN)=20
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Xen BUG at common/page_alloc.c:1474
(XEN) ****************************************
(XEN)=20
(XEN) Reboot in five seconds...


********************

- UART enabled -
- Boot CPU booting -
- Current EL 0000000000000008 -
- Initialize CPU -
- Turning on paging -
- Paging turned on -
- Zero BSS -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) Checking for "xen,static-mem" in domain node
(XEN) RAM: 0000000040000000 - 00000000bfffffff
(XEN)=20
(XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen        =20
(XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree=20
(XEN) MODULE[2]: 0000000042e00000 - 0000000043111f8f Ramdisk    =20
(XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel     =20
(XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
(XEN)=20
(XEN) CMDLINE[0000000040400000]:domU0 console=3DttyAMA0
(XEN)=20
(XEN) Command line: console=3Ddtuart conswitch=3Dax
(XEN) OT: populate_boot_allocator[475] s 0x40000000 e 0x40400000
(XEN) OT: dt_unreserved_regions[50]    s 0x40000000 e 0x40400000
(XEN) OT: init_boot_pages[358]         s 0x40000000 e 0x40400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x42d00000 e 0x42e00000
(XEN) OT: dt_unreserved_regions[50]    s 0x42d00000 e 0x42e00000
(XEN) OT: init_boot_pages[358]         s 0x42d00000 e 0x42e00000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43111f90 e 0x43200000
(XEN) OT: dt_unreserved_regions[50]    s 0x43111f90 e 0x43200000
(XEN) OT: init_boot_pages[358]         s 0x43111f90 e 0x43200000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43344000 e 0x43400000
(XEN) OT: dt_unreserved_regions[50]    s 0x43344000 e 0x43400000
(XEN) OT: init_boot_pages[358]         s 0x43344000 e 0x43400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43403000 e 0xc0000000
(XEN) OT: dt_unreserved_regions[50]    s 0x43403000 e 0xc0000000
(XEN) OT: dt_unreserved_regions[50]    s 0x60000000 e 0xc0000000
(XEN) OT: init_boot_pages[358]         s 0x60000000 e 0xc0000000 <<<
(XEN) OT: dt_unreserved_regions[50]    s 0x43403000 e 0x50000000
(XEN) OT: init_boot_pages[358]         s 0x43403000 e 0x50000000 <<<
(XEN) Domain heap initialised
(XEN) Booting using Device Tree
---
 xen/common/device-tree/bootinfo.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/common/device-tree/bootinfo.c b/xen/common/device-tree/boo=
tinfo.c
index 76d652c0de..e250801d89 100644
--- a/xen/common/device-tree/bootinfo.c
+++ b/xen/common/device-tree/bootinfo.c
@@ -464,7 +464,13 @@ void __init populate_boot_allocator(void)
             }
 #endif
=20
-            fw_unreserved_regions(s, e, init_boot_pages, 0);
+            /*
+             * At this point we do not know yet if we are running on ACPI
+             * system. To avoid unreserving the whole region (including
+             * potential reserved memory ranges such as static memory) ope=
n code
+             * fw_unreserved_regions().
+             */
+            dt_unreserved_regions(s, e, init_boot_pages, 0);
             s =3D n;
         }
     }
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 24 23:32:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Mar 2025 23:32:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926015.1328872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twrHb-0006Ou-Tk; Mon, 24 Mar 2025 23:32:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926015.1328872; Mon, 24 Mar 2025 23:32:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twrHb-0006On-Qs; Mon, 24 Mar 2025 23:32:39 +0000
Received: by outflank-mailman (input) for mailman id 926015;
 Mon, 24 Mar 2025 23:32:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HmHk=WL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1twrHa-0006Oh-RN
 for xen-devel@lists.xenproject.org; Mon, 24 Mar 2025 23:32:38 +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 3b24412c-0908-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 00:32:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id CE95743518;
 Mon, 24 Mar 2025 23:32:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A195DC4CEDD;
 Mon, 24 Mar 2025 23:32: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: 3b24412c-0908-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742859139;
	bh=olrnjE6xYOTj+iHkhouKzIIXaJF85MK+mBjkChc+w20=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DAy4+PMwWunv2vWitBnRJuSYUHQ8yDTaDUhpfqfKVIGk81wDa0FnBEHADjwlayxP8
	 Krm+4hmNWEkBjFHMtZT21IlGtOp1QYBCIfrQn5cIhndG4ht2aQroQyAUpRmin5eJUH
	 WEmrPCwfFoXkNJNR0MYkQgCYFM18clpJK/vVzDhTXPEjfhQbvA3NkEhLaK/EbxTTt4
	 Ti/kD5FM9CVe4bP6XX+z14SE+OpJozyU6ZdhRQUmXWs5mmwWjcautmR29gPgukvx4s
	 JWgvotSAInjfzrKuVmIJqSB3o3D9VfHINdXjzgF5dufmKW+Oq/vyElx6+3LISh4Uuw
	 6g4yjwekd1V2Q==
Date: Mon, 24 Mar 2025 16:32:17 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Denis Mukhin <dmkhn@proton.me>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org, 
    anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, 
    michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, 
    dmukhin@ford.com
Subject: Re: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
In-Reply-To: <S3vHcnDhAQjiX22Mole-rMLN7kVyt0VJlMkbW8xjdR2IA-iisSKw2vpD5-_gZcxu0cn3UmyOgx8xchOuXUNx4SuhfvL5TrcWCyJOr46ueS8=@proton.me>
Message-ID: <alpine.DEB.2.22.394.2503241630590.2325679@ubuntu-linux-20-04-desktop>
References: <20250320230339.3897874-1-dmukhin@ford.com> <7b16c87d-f2af-451e-a58f-36461a697ad7@citrix.com> <S3vHcnDhAQjiX22Mole-rMLN7kVyt0VJlMkbW8xjdR2IA-iisSKw2vpD5-_gZcxu0cn3UmyOgx8xchOuXUNx4SuhfvL5TrcWCyJOr46ueS8=@proton.me>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 24 Mar 2025, Denis Mukhin wrote:
> On Monday, March 24th, 2025 at 6:51 AM, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> 
> > 
> > 
> > On 20/03/2025 11:05 pm, dmkhn@proton.me wrote:
> > 
> > > Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
> > > range as per [1]. This macro replaces hardcoded checks against the
> > > open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
> > > the code a bit.
> > > 
> > > [1] Intel SDM volume 3A
> > > Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
> > > Section "Valid Interrupt Vectors"
> > > 
> > > Signed-off-by: Denis Mukhin dmukhin@ford.com
> > 
> > 
> > Would it be possible to adjust your git configuration so committer is
> > set to Denis Mukhin dmukhin@ford.com ?
> > 
> > 
> > Right now, it takes manual fixup to prevent your commits going in as
> > authored by dmkhn@proton.me, and one already slipped through.
> > https://xenbits.xen.org/gitweb/?p=xen.git&a=search&h=refs%2Fheads%2Fstaging&st=author&s=dmkhn%40proton.me
> 
> I will fix my environment, sorry for inconvenience.
> Thanks!

Hi Denis,

FYI it is suffiecient to add:

From: Denis Mukhin <dmukhin@ford.com>

as part of the body of the email (first line), git will automatically
pick it up for the Author field. You don't necessarily need to change
your email setup.


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 04:13:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 04:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926028.1328882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twvet-0001j5-V7; Tue, 25 Mar 2025 04:12:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926028.1328882; Tue, 25 Mar 2025 04: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 1twvet-0001iu-QQ; Tue, 25 Mar 2025 04:12:59 +0000
Received: by outflank-mailman (input) for mailman id 926028;
 Tue, 25 Mar 2025 04:12: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=jPfX=WM=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1twves-0001in-EB
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 04:12:58 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061a.outbound.protection.outlook.com
 [2a01:111:f403:2415::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67cce8b7-092f-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 05:12:47 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 PH7PR12MB6657.namprd12.prod.outlook.com (2603:10b6:510:1fe::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.42; Tue, 25 Mar 2025 04:12:43 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 04:12: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: 67cce8b7-092f-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kFC1iwh+mqC0N1XTsz4ybmnaCQrWbRCB2EMJIenIegubiuKYs3Ph9/UoXSBJBxoCiXwQE1rVgaJ4LsO1nIM1FfpB0y/SSKBfyXRK4lhg4fJ/zcjBMr+fEOhW9q9l8kXgHQ33lmLbH95a+hVVYGbQx9U0Ri8JhQbEpFcuSvQmzk9CmxLeJH405T0ZVey3/GjMDmf2W9TDOQ+mfN1OcQbCw9v8RLdrLkpkar0tsFkWIk+uyv/3AI/VwpKKmlJIrF7F8SsWz4Li03SGj96LiNnC9TeK8Q++GpyZ2RRtjaDvo4rd3liTSNNu/cALqlrspTgKeErOzQM93vlBeojSg0by+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=pS9Eecvai0patCO1u5P34W5vISWfUZJbOeqFwydXJG0=;
 b=AxH5LjzO3bA/SDLJr6fhvcWI8wQdXD9GtbSvLX3V8HWWKcKpq42ZUUDkx5lFtuEGdNYqPukVV0Ayb/46j+WYm1RXpG9lPoJKT4aPHYkx+fOHEmFPEp0EFQaXo4u49IXaFLlrxOZDYTThcXGTA2NzuEOlNZFyJLHRBweQTfRyaOje28BgaWGfBFw98cgXbVXuPg9OQCheWSxkyFiu+hhbWqnNtUI5jQliJVLK622tl5r19GgEL2yGOFoq2xGLsJfC4egnIeYPz2fPdAc/gOHD63apq4HKVIA8++5/2gGAFRacug0TI5N2XT8nOChoTnETx03ZVddj6zNfwwSiHvP+6w==
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=pS9Eecvai0patCO1u5P34W5vISWfUZJbOeqFwydXJG0=;
 b=mZLPnY+Yw5IrxRN5NCtvdrOV9hEj5pEKkzc7PKXbBLqk3s1waKCYi6vdCgN7UgO24Pu1jYxJuZAuTwxRHXUA7CLeegCX5Oji3LL7QxA7WNmS/nkq2V9L6jRAVt1+7rf8lCxHEYc0hWDxtcYX/KAjquZdBQwNzSXREYTWw9b19/8=
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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Orzel,
 Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to
 propagate CPPC data
Thread-Topic: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to
 propagate CPPC data
Thread-Index: AQHbjnNoHifd0xPBh0uO6pYxtSnz1bOCdRiAgADdX2A=
Date: Tue, 25 Mar 2025 04:12:43 +0000
Message-ID:
 <DM4PR12MB845156C8C25495D7DB396ED9E1A72@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-3-Penny.Zheng@amd.com>
 <19cab53d-3edc-4900-95f1-6d5d81e0ecac@suse.com>
In-Reply-To: <19cab53d-3edc-4900-95f1-6d5d81e0ecac@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_ActionId=5e067145-076b-4c82-bced-00d63b9ba6bf;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-25T04:12:35Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|PH7PR12MB6657:EE_
x-ms-office365-filtering-correlation-id: 169d3606-ae35-4dcb-e212-08dd6b534a71
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?S1hGMlN4VUVkRkNyaGxzbVE3RnFxbytnM3crOW9TeDJNWW1Sbk4yMWl4YjA5?=
 =?utf-8?B?SUVEQXhVS2dKdEx5K2ZBdkljTmczZHRqYThGNllPUDR2MXluMFJxbllsU2ww?=
 =?utf-8?B?NEp4OXdFREV3L2lUcTFaWXY5ajlBRnE1TkhoQTBWTDBsWGF5YXlGanBLQUFW?=
 =?utf-8?B?aDFDekhlUGJQTnFXSHQ3dG9jR3B4c3MvYkNHbWEvbDd3eHV4QlZ3dEZtRkJ1?=
 =?utf-8?B?dm5vTnJ4NmlXOVBTM0ZCTlZSUkVLL0orTkEvRU1MV2plNVJrTmNEdWFSRTIz?=
 =?utf-8?B?ODZUalhOMURkazhJb0hNNU1pZDlZMWhieDNHaGVEOGpwc21HL1JFOWJmOStM?=
 =?utf-8?B?b3kwaGlTd2RadVpLS0o5a1ZZbEVUV01reGhvS3JuUVZhbnQ1M0Y4YlBwTENt?=
 =?utf-8?B?TEEzck9XZ1FZWUZMRXhVeis1OXZ4TUUzaHM5bDR1WjlUVmZyYndKR0psUnQ1?=
 =?utf-8?B?eXBDYllCclYzZll2TG9ZZnZERHhaVHYzZWcxU1V3S2J1dW45NXlvZFpYQ3c1?=
 =?utf-8?B?eHJhcmhwQ01uTzBQVVY1eWZEcWVBOWV1Tmg0QW4yZWptMXF4YUdmRTVQcWdY?=
 =?utf-8?B?MlRIUU94RjhsUkFLUFNGYitveW1ZbkVKWjRIWWxxZDA5TU9pSHJxVEt4cmhR?=
 =?utf-8?B?clNadnRmbEl2dlB2ejl5SDZFUkJMekZSL2lYdUFURTNGeXZ2MmtQS0s4dG5I?=
 =?utf-8?B?RWpMRFZaTkVPMTd6ZWpvZnFBSDY0TFRnQWVrZ1l1ZjEyRHJQMmgxa3IrSita?=
 =?utf-8?B?T0QyTVc3Qm00ZDNyODI0TnJqeTUwSGlTSFFhbUtmbUw5Z1VJZjBnOE5FVmZ4?=
 =?utf-8?B?UnFJckdQcXJLTlVzSHkvQThEdkxFb3RNeHBKbzBDeTlVS1BVT1cxWnBZVS9z?=
 =?utf-8?B?YzU4WkZXOSthbkJjU0Q5ZS94S0RiakJ2M2JPSnpMLytLSWxzNzNzenYxWFM4?=
 =?utf-8?B?cEZlSjBKYnVVeGEvT3hmVnBHTDhnb0czMkhPSHl0R1ZoOWhiRkNiLzdoOEFS?=
 =?utf-8?B?b2pwcHd6SkNkNnpKYUk4OFgrL04wd3owcDhIM2lnZG53SFBTclhlVjMvWnB5?=
 =?utf-8?B?N2FMNGtyUXZRYjRvWGxDQ0J2N2QxUzJ0Njh0bGhwOEhvZElONkhUL3JEa1Fx?=
 =?utf-8?B?SVIzWllpdE9iM1VUQUdPMmxNR3ZhbmlPeFc5SHRzOWdpMWhRMS9hN09jU29P?=
 =?utf-8?B?N3VwWmRxU0kzUVFjM3pwVzZrZkpPOWNLOU1iOFdjVXdra1FpZ096UDdxcXB2?=
 =?utf-8?B?RDQwV3Z0R0NUdXdlc2pXOHNWYTR1KzEwSG1aSUt0UXpLZUVXT1dyanVQNVkz?=
 =?utf-8?B?bkNxZ0ZDaEg4N2MzVm9NTGdjU0lvQXFOdW1pK1BCQ2hkWWRVQjV2Z1BsYVFP?=
 =?utf-8?B?cGxPSTV2NXZ2ZnZFS2o2VVNvZGhKNnJtNVRhY3pWRUkrbCtnOUV5Tkc1Y1hz?=
 =?utf-8?B?QXhiNGEwa1lzdzBzU2lMT2hQaDFDcjF5Rk5KbExwSFlrTEg4cWtvMTExY2pH?=
 =?utf-8?B?Z1d6TG5ENzJyMDdBSGFoSFlYYjNWNkVaRWF4OXRjbUdqODJYVm1DRFJ0aUhG?=
 =?utf-8?B?ejBHd1RyN1NHUnF0MWtPTXZGOXMyUWIwMkVRWGtPTWdTRFJnSTBiRGxBYkNH?=
 =?utf-8?B?bnpJQkVuSmJway8rNlloSDJsSU9GTjJ6RFdPOHQ0V1I0M1NwOEEzK0ZkWDc3?=
 =?utf-8?B?ek5sRzR5WUpibTNjdmcxRDluSnQ2RThmcUJuWmRLRHRFVTdOTkxIUC85bFlD?=
 =?utf-8?B?RkI3SHNrWWNaemhjTmNxd0lSUDBDc3hSVkhIV01kR3ZWd2Rwc3ZJQmFtQzNU?=
 =?utf-8?B?aWxKS0dBVXFHRHAyVU5pRFFkYmltcnFObTBqYmFNaWJjTGVaVFhQbWFLZG0y?=
 =?utf-8?B?cUVSTE9WaEJGeUlzVzlGcDg5T1ZKdFRQTWZHU2tpWW1UZ3BlY3FNSGVlaGZU?=
 =?utf-8?Q?33FjgfPxtUdb/B3MFlTR2gUtrysKPtHg?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UFdCb2xRUnEvNEtSamVvZEtDOVNHU0xxUVpxaSt0Vlk3Q244Z0wzNzZlS2NI?=
 =?utf-8?B?K3cySGpQS2dDVmdlb3h6RzJEQ2ZkUldKTGdYTldmSDRvcFBoclR3UDRhTEJ4?=
 =?utf-8?B?WmRON1FDZmUzOG55cHJYS0F3WS8yTitBUWNzbjFscnJsZ0UwMGk5eFoyWWdG?=
 =?utf-8?B?Q00xWkNzQWVtVG1WcHk5U2MrZXdYY0sxNnVTYVY4SFBKRjZwdFR6YVFKcFBi?=
 =?utf-8?B?dFRUM2I1bjM3V0ZzWkY1UlpqNjcrWkUvUlF3MzNtYWpSdDkySUExaHR0RERq?=
 =?utf-8?B?dnd1UVBuNXN2OUJCbkFrQ0dadDFDSVZTZ1RneU9BdkNndmRqZVF5aDE0SmVB?=
 =?utf-8?B?T3lxc3hkTXZSc1VLY3BKMXVGL3JNQXBaNE1uZXl0R1djdFlLSjBSRzRXRkFw?=
 =?utf-8?B?bW0zay9laWloVCs2aU5YUGE1SlpRaHZDaHhLMC9lVHZ1bVNUSlJPVlE5aG9F?=
 =?utf-8?B?eCtnRFlOQWVSNGhaMk03eXRTVjhwSnpiUzJSM0ZzREJkRkJYNzRkUmpkZkxt?=
 =?utf-8?B?Q0ZsYUppUmlWZC9kL0ZTdEtBd1l4V1hsVStZN1h6ZnRVejRwM2RqcGJYdFRq?=
 =?utf-8?B?OCszUkFZRGRnakRTaFZ1NXJxL2cvK2dudUdmMHpiYVdXRm0wanp6bU14YlYw?=
 =?utf-8?B?Mnk2ZThWaFRZaUsxY0J4NXg0TjVzeW1HL2FuVUJFaEl3ZE9aU3hhaGZyYUFv?=
 =?utf-8?B?N1phdXlZWUtDSkFTa2tZK01DT0xlbHZJUFVxeWxzSFlUdDZHaFRaZXk2bi85?=
 =?utf-8?B?YmxUdXJHNXVyOGwvbmlEb0RJZkxNOFFZYUxBS1NnQ2V0dmVPZUExNUxNdjJ4?=
 =?utf-8?B?TlZqQWIxcWExQUkya3pLS0JFUjdHL3lkREN2eWFrYk9ob3hscCtreU9LVUJs?=
 =?utf-8?B?M1QwQVN6TmYvNnREQkhMcWd1ZDdjYkJLSUhKcWJKUnpiNFhoaWxucDFiMEw2?=
 =?utf-8?B?RHdMNWlZbit3NGtuakJBRmZEOVJiS09QOWJLeFN1eHdrVzI1ZWg3dC9FTUNx?=
 =?utf-8?B?bDZEUzZIQ2ZxZkNUN2ZJS3ZLL2I5RjZZcXlJcmU1d09ROGY5WHUzQnhsTzVD?=
 =?utf-8?B?Yi9aV0YwQ0F4RDlmY2R5L1E3c3VmdWQ1TTl1RjY3TG1wWnZXbG9jMFJld3Zv?=
 =?utf-8?B?dnQvYzhYYUdPaTRCcjJvM0lUblVMdXF4a3VRaTAwd2RkblpLM1FPM3hoQXRT?=
 =?utf-8?B?QXF1RGp3cVlyOEFhcEhRWHEzZzNZVHNpNmVwWjZKSXYyTCs1a3k4dXo4V2Jy?=
 =?utf-8?B?cUFTZE12T2RhYVVIQzR2ZkZMWWdoaE80d3NYZmRubUhjWUhPWkhpc3kyRHRr?=
 =?utf-8?B?MWs4M3dZd0czWUw4WDVQVWU3b0IzdjJzbzMvWkNVaDc0dm1MMk95QkNxejhG?=
 =?utf-8?B?U0FEbGxPdHIrUWVCV1Q4Tjl0V2wvUGVFcmh5THVsYlJxQTZSRTdGYy8rOHdY?=
 =?utf-8?B?VUhKNk9JUTRpYklHYlhnbmJmU3gwN3BMcXoyMjVOaU9UdEs1TjdKT2hMSlJz?=
 =?utf-8?B?R2NURDZDazBlVzVRTGN6THVrNTBNY2d3RlNBajl3c3FjdThLMGRYOHl4Tjdp?=
 =?utf-8?B?NHpkbTl1M0Q2YldtcHl5elozamdaRjN4VjZ5NjgzZ3l5Qy9YTjB2QTRqZWhy?=
 =?utf-8?B?aDZPNjZSeU1ndXZ4dnBsWEc4Mi9kNGp4Uy9kOWVLeHdaSkFXd1IxRGdrdno4?=
 =?utf-8?B?dEdwVXU1NVd6YjBjQzh6V1pXa0ZPVGUwekpVNWpSaEJldVZnWnkxTVQ2Z0RW?=
 =?utf-8?B?VDdvSVhYdmpYNmRuK3pBVlFuNXFSalREaFpaSU1FQ0RnczcvckUzYlZQYVYz?=
 =?utf-8?B?UEdXWWMxLzdrZXVXamc4Vnk2QlJ1TGFxK1Vzb3VOT1hLOVZHVkxHODlMVjVJ?=
 =?utf-8?B?c1pmdVBLbU0vMEw1c3RkUUhJMlVDY3lYaUxUc3EwdWRGMnkzbER2ZjdaVE5I?=
 =?utf-8?B?NGx1WUlCamZLd2VjSWlNbXhSUkZadEVSZkM3U3ZqZG5nOVl5ZFdxNy93b0dS?=
 =?utf-8?B?RTFIUE12ZDNBVVlWT2h0UTJ5WFVnWFhmbDg5Y3RuNk9oNDRyVWtlaHpJVE91?=
 =?utf-8?B?azZkd0pSR296bzRGUTYyckl5UXZMNVNlcHMwc2VlNHRvcEp0NTExanpjckp1?=
 =?utf-8?Q?KgYY=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: 169d3606-ae35-4dcb-e212-08dd6b534a71
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2025 04:12:43.1530
 (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: HGR2wxdYIEqZKi3dlOkfi6rpC8PpIFB5tAwAUVpEz16VVuDMP8uzdHOJyoQl6dp2X2hFJTVIGjMVUpc486iP2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6657

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDI0
LCAyMDI1IDEwOjI4IFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4g
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA
Y2l0cml4LmNvbT47DQo+IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEB2YXRlcy50ZWNo
PjsgT3J6ZWwsIE1pY2hhbA0KPiA8TWljaGFsLk9yemVsQGFtZC5jb20+OyBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+IDxzc3RhYmVsbGluaUBrZXJu
ZWwub3JnPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBb
UEFUQ0ggdjMgMDIvMTVdIHhlbi94ODY6IGludHJvZHVjZSBuZXcgc3ViLWh5cGVyY2FsbCB0byBw
cm9wYWdhdGUNCj4gQ1BQQyBkYXRhDQo+DQo+IE9uIDA2LjAzLjIwMjUgMDk6MzksIFBlbm55IFpo
ZW5nIHdyb3RlOg0KPiA+ICsgICAgcG1faW5mbyA9IHByb2Nlc3Nvcl9wbWluZm9bY3B1aWRdOw0K
PiA+ICsgICAgLyogTXVzdCBhbHJlYWR5IGFsbG9jYXRlZCBpbiBzZXRfcHNkX3BtaW5mbyAqLw0K
PiA+ICsgICAgaWYgKCAhcG1faW5mbyApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgcmV0ID0g
LUVJTlZBTDsNCj4gPiArICAgICAgICBnb3RvIG91dDsNCj4gPiArICAgIH0NCj4gPiArICAgIHBt
X2luZm8tPmNwcGNfZGF0YSA9ICpjcHBjX2RhdGE7DQo+ID4gKw0KPiA+ICsgICAgaWYgKCBjcHVm
cmVxX3ZlcmJvc2UgKQ0KPiA+ICsgICAgICAgIHByaW50X0NQUEMoJnBtX2luZm8tPmNwcGNfZGF0
YSk7DQo+ID4gKw0KPiA+ICsgICAgcG1faW5mby0+aW5pdCA9IFhFTl9DUFBDX0lOSVQ7DQo+DQo+
IFRoYXQgaXMgLSB3aGljaGV2ZXIgRG9tMCBpbnZva2VkIGxhc3Qgd2lsbCBoYXZlIGRhdGEgcmVj
b3JkZWQsIGFuZCB0aGUgb3RoZXINCj4gZWZmZWN0aXZlbHkgaXMgZGlzY2FyZGVkPyBJIHRoaW5r
IGEgd2FybmluZyAocGVyaGFwcyBhIG9uZS10aW1lIG9uZSkgaXMgbWluaW1hbGx5DQo+IG5lZWRl
ZCB0byBkaWFnbm9zZSB0aGUgY2FzZSB3aGVyZSBvbmUgdHlwZSBvZiBkYXRhIHJlcGxhY2VzIHRo
ZSBvdGhlci4NCj4NCg0KSW4gbGFzdCB2MiBkaXNjdXNzaW9uLCB3ZSBhcmUgZGlzY3Vzc2luZyB0
aGF0IGVpdGhlciBzZXRfcHhfcG1pbmZvIG9yIHNldF9jcHBjX3BtaW5mbyBzaGFsbCBiZSBpbnZv
a2VkLA0Kd2hpY2ggbWVhbnMgZWl0aGVyIFBYIGRhdGEgaXMgcmVjb3JkZWQsIG9yIENQUEMgZGF0
YSBpcyByZWNvcmRlZC4NCkN1cnJlbnQgbG9naWMgaXMgdGhhdCwgY3B1ZnJlcSBjbWRsaW5lIGxv
Z2ljIHdpbGwgc2V0IHRoZSBYRU5fUFJPQ0VTU09SX1BNX1BYL0NQUEMNCmZsYWcgdG8gcmVmbGVj
dCB1c2VyIHByZWZlcmVuY2UsIGlmIHVzZXIgZGVmaW5lcyB0aGUgZmFsbGJhY2sgb3B0aW9uLCBs
aWtlICJjcHVmcmVxPWFtZC1jcHBjLHhlbiIsIHdlIHdpbGwgaGF2ZSBib3RoDQogWEVOX1BST0NF
U1NPUl9QTV9QWCB8IFhFTl9QUk9DRVNTT1JfUE1fQ1BQQyBzZXQgaW4gdGhlIGJlZ2lubmluZy4N
CkxhdGVyIGluIGNwdWZyZXEgZHJpdmVyIHJlZ2lzdGVyIGxvZ2ljLCBhcyBvbmx5IG9uZSByZWdp
c3RlciBjb3VsZCBiZSByZWdpc3RlcmVkICwgaWYgYW1kLWNwcGMNCmJlaW5nIHJlZ2lzdGVyZWQg
c3VjY2Vzc2Z1bGx5LCBpdCB3aWxsIGNsZWFyIHRoZSAgWEVOX1BST0NFU1NPUl9QTV9QWCBmbGFn
IGJpdC4NCkJ1dCBpZiBpdCBmYWlscyB0byByZWdpc3RlciwgZmFsbGJhY2sgc2NoZW1lIGtpY2tz
IG9mZiwgd2Ugd2lsbCB0cnkgdGhlIGxlZ2FjeSBQLXN0YXRlcywgaW4gdGhlIG1lYW4gdGltZSwN
CmNsZWFyaW5nIHRoZSBYRU5fUFJPQ0VTU09SX1BNX0NQUEMuDQpXZSBhcmUgdHJ5aW5nIHRvIG1h
a2UgWEVOX1BST0NFU1NPUl9QTV9QWCBhbmQgWEVOX1BST0NFU1NPUl9QTV9DUFBDIGV4Y2x1c2l2
ZQ0KdmFsdWVzIGFmdGVyIGRyaXZlciByZWdpc3RyYXRpb24sIHdoaWNoIHdpbGwgZW5zdXJlIHVz
IHRoYXQgZWl0aGVyIHNldF9weF9wbWluZm8gb3Igc2V0X2NwcGNfcG1pbmZvDQppcyB0YWtlbiBp
biB0aGUgcnVudGltZS4NCg0KPiBXaXRoIHRoaXMgaXQgYWxzbyByZW1haW5zIHVuY2xlYXIgdG8g
bWUgaG93IGZhbGxiYWNrIHRvIHRoZSBsZWdhY3kgZHJpdmVyIGlzIGludGVuZGVkDQo+IHRvIGJl
IHdvcmtpbmcuIEJvdGggdGFrZW4gdG9nZXRoZXIgYXJlIGEgc3Ryb25nIHN1Z2dlc3Rpb24gdGhh
dCBpbXBvcnRhbnQNCj4gaW5mb3JtYXRpb24gb24gdGhlIG1vZGVsIHRoYXQgaXMgYmVpbmcgaW1w
bGVtZW50ZWQgaXMgbWlzc2luZyBmcm9tIHRoZSBkZXNjcmlwdGlvbi4NCj4NCj4gPiBAQCAtMjcs
OCArMjgsNiBAQCBzdHJ1Y3QgcHJvY2Vzc29yX3BlcmZvcm1hbmNlIHsNCj4gPiAgICAgIHN0cnVj
dCB4ZW5fcGN0X3JlZ2lzdGVyIHN0YXR1c19yZWdpc3RlcjsNCj4gPiAgICAgIHVpbnQzMl90IHN0
YXRlX2NvdW50Ow0KPiA+ICAgICAgc3RydWN0IHhlbl9wcm9jZXNzb3JfcHggKnN0YXRlczsNCj4g
PiAtDQo+ID4gLSAgICB1aW50MzJfdCBpbml0Ow0KPiA+ICB9Ow0KPiA+DQo+ID4gIHN0cnVjdCBw
cm9jZXNzb3JfcG1pbmZvIHsNCj4gPiBAQCAtMzcsNiArMzYsOSBAQCBzdHJ1Y3QgcHJvY2Vzc29y
X3BtaW5mbyB7DQo+ID4gICAgICBzdHJ1Y3QgeGVuX3BzZF9wYWNrYWdlIGRvbWFpbl9pbmZvOw0K
PiA+ICAgICAgdWludDMyX3Qgc2hhcmVkX3R5cGU7DQo+ID4gICAgICBzdHJ1Y3QgcHJvY2Vzc29y
X3BlcmZvcm1hbmNlICAgIHBlcmY7DQo+ID4gKyAgICBzdHJ1Y3QgeGVuX3Byb2Nlc3Nvcl9jcHBj
IGNwcGNfZGF0YTsNCj4gPiArDQo+ID4gKyAgICB1aW50MzJfdCBpbml0Ow0KPiA+ICB9Ow0KPg0K
PiBUaGlzIG1vdmluZyBvZiB0aGUgImluaXQiIGZpZWxkIGFuZCB0aGUgbWVjaGFuaWNhbCBjaGFu
Z2VzIGNvbWluZyB3aXRoIGl0IGNhbiBsaWtlbHkNCj4gYmUgc3BsaXQgb3V0IHRvIGEgc2VwYXJh
dGUgcGF0Y2g/IFByb3ZpZGVkIG9mIGNvdXJzZSB0aGUgbW92ZW1lbnQgaXMgc3RpbGwNCj4gd2Fu
dGVkL25lZWRlZCB3aXRoIHBhdGNoIDEgcmUtd29ya2VkIG9yIGRyb3BwZWQuDQo+DQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 07:17:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 07:17:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926044.1328892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twyXD-0003S4-Kc; Tue, 25 Mar 2025 07:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926044.1328892; Tue, 25 Mar 2025 07:17: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 1twyXD-0003Rx-H5; Tue, 25 Mar 2025 07:17:15 +0000
Received: by outflank-mailman (input) for mailman id 926044;
 Tue, 25 Mar 2025 07:17: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twyXC-0003Rr-04
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 07:17:14 +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 289da184-0949-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 08:17:06 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5e60cfef9cfso7829475a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 00:17: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
 a640c23a62f3a-ac3efbdecedsm811809466b.140.2025.03.25.00.17.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 00:17: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: 289da184-0949-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742887026; x=1743491826; 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=mrNWs8DEDKZTnfvrHKbcO5s7JbNIoUh/ZnTwRdW9r5Q=;
        b=Zw3+rw/LivASr8ad2gWvIzQpWrows3+i9+NkGzjxZRrKK8d7jJdvHW6j2Ju9RfKwqj
         v702oDSkvTcogmijfYkYxNnvX9ils/vGxl8GAPgjUVZcgpBHwEQMYk69yyimL8GaBMZy
         7ugnI55TENOKDBOQTLNuQedk0soZ2MqwLlbyVsMJNp5NTMq5Ht1bmZSFziOg1v5+g4Yh
         ySiNKs1RvgJa6d8W8z404FqNpykMm42rQtNgJx6dnyXiwwK6e8w0/HzIhGuVhG89syeK
         qKYJCHQASRTqdWvzG0HubkmScBq6yXMzIg2a1HZxJBvJ1LXZEnSN1jff67CjQ6Dgy5ll
         j4cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742887026; x=1743491826;
        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=mrNWs8DEDKZTnfvrHKbcO5s7JbNIoUh/ZnTwRdW9r5Q=;
        b=GGmq4W5nZ3qM4py/GnvoG/vJpdVNm/pwp87Qihebs7dbgwLRP1ODcau6+pshkjwpCP
         8Rbvi5oCrUHxFbV/2XNYchrYje1Do3Ha1wSDpb70bDi+jEOarOIQCccwVZaEf8DIqMuy
         l7Y2sdNKinMAsmPJ0E2necClexyNfiPnO/o4bBa8Sg051rreBCZSmxNdY6h999o2Cjb1
         BlFsuARj7lt0xSnhqjjndIRJD0tGWVagbwNSeWSMv0r4PttVbEjw11eSTg/Q9LbEbtQe
         RLLMO/2N+frsDE0GbtoBpleE1cdHUTzCSb1bP/2tS9+R49YW8YBAOnfj/fg1qvdw4tsS
         lNaQ==
X-Gm-Message-State: AOJu0YzIEwsn+RWjt/gc0fM8c6VKku5z/8y5J7oy9ak+EE8BPxa7PWOd
	5LNFPGWuooEOULMi1w1XbJeIQnJl9Vtz+m8f5bF8Vum8c7NZ23ndozqYBy4Ti4ixJ/33QCcU1gE
	=
X-Gm-Gg: ASbGncvnSe9g5dtvhVbHJl9i/1+r6bW1j9IHkt36Fv+yorQpEQfxvDQLFSw7h0WBNRY
	3zcoKy3lzMim41Yu1JtEsNEOxvkBDLwmvOzqESi9iLmO/VLvv6PWG0W9V87kH6hlumMfcz6QmMz
	OlEqLwBETyQhjYuIb5mAkSgGCPO9S0vd2ubSAmQAU7tsMZPiVF+UDOrfBALCT5YOmZBcHvZEkOt
	u4hBSP7Jn3H19erwQ+ufmKT5g/dkA/kVdEm1YOlENXQZ6+0ywHJyMkAeaMhHIqODEVW4ZrNvO1o
	+AuaW+lf9yc/THKo5ITfc7TEb918/IQ04pHUMjAhEWpwW1u+UI/jLx/ANCRr7tP85mCBgQERs/p
	C/8cTwx5IDqSs5zNUKIh4+lMyRcobKn2o5T9fwSaW
X-Google-Smtp-Source: AGHT+IEXgJSm1XCe90dyGmboSwglGpk6T6Y46xrO3dCQutFdixpUAPWbE23WzAoF16/RjdqtLg/a1Q==
X-Received: by 2002:a17:907:f50a:b0:ac3:f494:c0a2 with SMTP id a640c23a62f3a-ac3f494c0d0mr1573554966b.13.1742887026195;
        Tue, 25 Mar 2025 00:17:06 -0700 (PDT)
Message-ID: <b590b590-764a-4dfe-9e13-975122790329@suse.com>
Date: Tue, 25 Mar 2025 08:17:04 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Handling of both grants and foreign pages was different between the two
paths.

While permitting access to grants would be desirable, doing so would
require more involved handling; undo that for the time being. In
particular the page reference obtained would prevent the owning domain
from changing e.g. the page's type (after the grantee has released the
last reference of the grant). Instead perhaps another reference on the
grant would need obtaining. Which in turn would require determining
which grant that was.

Foreign pages in any event need permitting on both paths.

Introduce a helper function to be used on both paths, such that
respective checking differs in just the extra "to be unshared" condition
on the fast path.

While there adjust the sanity check for foreign pages: Don't leak the
reference on release builds when on a debug build the assertion would
have triggered. (Thanks to Roger for the suggestion.)

Fixes: 80ea7af17269 ("x86/mm: Introduce get_page_from_gfn()")
Fixes: 50fe6e737059 ("pvh dom0: add and remove foreign pages")
Fixes: cbbca7be4aaa ("x86/p2m: make p2m_get_page_from_gfn() handle grant case correctly")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Have helper take const struct domain *.

--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -328,12 +328,46 @@ void p2m_put_gfn(struct p2m_domain *p2m,
     gfn_unlock(p2m, gfn_x(gfn), 0);
 }
 
+static struct page_info *get_page_from_mfn_and_type(
+    const struct domain *d, mfn_t mfn, p2m_type_t t)
+{
+    struct page_info *page;
+
+    if ( !mfn_valid(mfn) )
+        return NULL;
+
+    page = mfn_to_page(mfn);
+
+    if ( p2m_is_ram(t) )
+    {
+        if ( p2m_is_shared(t) )
+            d = dom_cow;
+
+        if ( get_page(page, d) )
+            return page;
+    }
+    else if ( unlikely(p2m_is_foreign(t)) )
+    {
+        const struct domain *fdom = page_get_owner_and_reference(page);
+
+        if ( fdom )
+        {
+            if ( likely(fdom != d) )
+                return page;
+            ASSERT_UNREACHABLE();
+            put_page(page);
+        }
+    }
+
+    return NULL;
+}
+
 /* Atomically look up a GFN and take a reference count on the backing page. */
 struct page_info *p2m_get_page_from_gfn(
     struct p2m_domain *p2m, gfn_t gfn,
     p2m_type_t *t, p2m_access_t *a, p2m_query_t q)
 {
-    struct page_info *page = NULL;
+    struct page_info *page;
     p2m_access_t _a;
     p2m_type_t _t;
     mfn_t mfn;
@@ -347,26 +381,9 @@ struct page_info *p2m_get_page_from_gfn(
         /* Fast path: look up and get out */
         p2m_read_lock(p2m);
         mfn = p2m_get_gfn_type_access(p2m, gfn, t, a, 0, NULL, 0);
-        if ( p2m_is_any_ram(*t) && mfn_valid(mfn)
-             && !((q & P2M_UNSHARE) && p2m_is_shared(*t)) )
-        {
-            page = mfn_to_page(mfn);
-            if ( unlikely(p2m_is_foreign(*t)) || unlikely(p2m_is_grant(*t)) )
-            {
-                struct domain *fdom = page_get_owner_and_reference(page);
-
-                ASSERT(!p2m_is_foreign(*t) || fdom != p2m->domain);
-                if ( fdom == NULL )
-                    page = NULL;
-            }
-            else
-            {
-                struct domain *d = !p2m_is_shared(*t) ? p2m->domain : dom_cow;
-
-                if ( !get_page(page, d) )
-                    page = NULL;
-            }
-        }
+        page = !(q & P2M_UNSHARE) || !p2m_is_shared(*t)
+               ? get_page_from_mfn_and_type(p2m->domain, mfn, *t)
+               : NULL;
         p2m_read_unlock(p2m);
 
         if ( page )
@@ -380,14 +397,7 @@ struct page_info *p2m_get_page_from_gfn(
 
     /* Slow path: take the write lock and do fixups */
     mfn = get_gfn_type_access(p2m, gfn_x(gfn), t, a, q, NULL);
-    if ( p2m_is_ram(*t) && mfn_valid(mfn) )
-    {
-        struct domain *d = !p2m_is_shared(*t) ? p2m->domain : dom_cow;
-
-        page = mfn_to_page(mfn);
-        if ( !get_page(page, d) )
-            page = NULL;
-    }
+    page = get_page_from_mfn_and_type(p2m->domain, mfn, *t);
     put_gfn(p2m->domain, gfn_x(gfn));
 
     return page;


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 07:18:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 07:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926052.1328902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twyYA-0003w3-TY; Tue, 25 Mar 2025 07:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926052.1328902; Tue, 25 Mar 2025 07: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 1twyYA-0003vt-Pw; Tue, 25 Mar 2025 07:18:14 +0000
Received: by outflank-mailman (input) for mailman id 926052;
 Tue, 25 Mar 2025 07:18: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twyY9-0003oz-L5
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 07:18:13 +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 5011c108-0949-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 08:18:13 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac25d2b2354so874099466b.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 00: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
 4fb4d7f45d1cf-5ebccfae4casm7176205a12.34.2025.03.25.00.18.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 00: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: 5011c108-0949-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742887092; x=1743491892; 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=YzGPiON2y3NiZ52lxi6U1xktGB3tDjpAH9Qs2LgO9NA=;
        b=PTlFyUA6/Vt4R3gq0ZWJ5hsF9XHzvd4DgpNOkCtqmADYXUNT5s2ic+7CE8hrF0DQ7e
         sN7NCT1E7UnnTFgDO+VdXBejDmi6X+xdGWxtuipgMd2to23LzcRuHJJuZO2yuTLAJ/wB
         lDfFcpJEaqDLWbMiJ8qqByZ6phbdmo8NAjL3yNMPC9d+fZAQNBA7cmyhVwr+fJ3L1IDd
         DyU5/nZvHlR9OC5nPsppJd/0r2/WYUorVyBBEdqTEyjultlrwiQhRq4MTNgYjv7cC1L0
         v2LPWQwrp44n5YY1TmxCEKZamDHZazqFPRw+ryxYVfiswOyYA9fkpqgVtRtWJQjm1K4M
         9qCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742887092; x=1743491892;
        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=YzGPiON2y3NiZ52lxi6U1xktGB3tDjpAH9Qs2LgO9NA=;
        b=LtN6h/hMY0GrYpSrvYHyBC56ANtg1hkHQkjLKGZ2caoJLHmJGXezNXY670tgVXdvOT
         wohorJz/af8VeCNN5MeI0LeH8mr0YZ+f9y5UXX4H2bhfJsLbGLZ+61xsmduZ3QGKPDYS
         sVmg69xfuPfse8fGTyBzlEmvRHvPx2xUvZtM1EtinWCilLm29T61CgFMm7l6wIxX/iaz
         m3fFdJp+BrR+LF4zcJ0nlSOF4ah70QjCERFpo1aXsGYdQbDIP2WrzwatSwosZ0qLqUb4
         Hum9b2KxS47dGOCT2/5IGNCJq8+UbKyW10etTOtfjuSzphryERk7hhLMZZnNUYEv7AjL
         u6Rw==
X-Gm-Message-State: AOJu0Yzc3KsmjwV/Auc0HJhk+b+IQ6tpSt23VqUyZqKbAeAU2gv8DpSA
	dmopsXaAlqlKF9V3JYlMjL8Gvm1J/7yfkiIL0mu5dl6dh4E8DqQDT8kCN1Cu9jBvW0hhfKF1R2c
	=
X-Gm-Gg: ASbGncuxdwRFGcR//qJ9DHRqAQFUh8KZvOKJgzIwkNTelNIWNVZh+zor8D3bRtpJSv7
	xMSYhd4tggQuBhX5B4bnK+G92HHIoXBaBtqP+LgYpy51egosj26z4RpjMBIFCROMrU8M2M2S8pX
	LjAxcKLouaxW/I4zR7UZAJVFfYnWZTSWq8ZUWgmxAMRZODAcMpdRYa7JqzmEc0g20gPj1a+Qf8F
	7x14vIMLpPWJ7mYH0tbB1YufVu5RiIzxx9fgoe+1QMEXTaPBG/7O1lXnIpf+Z9xKTPGyPcuj0P2
	EcAGqTOysf8FelMm0Rlr4Y7jOtz63s/ioT9zh87IhHYXBiK9pgfzl4ugIeVPS9sSjnzjsUg4gSQ
	ZpTf6VEaDUnhFYa7oWSmNR0TOvCI5sA==
X-Google-Smtp-Source: AGHT+IEv8s73LJM73w8ATxo5vSKKAoViAtCvuRZEV3R0iOGROJFQjstw3rIzoJhAqFfkaHXnavrxHQ==
X-Received: by 2002:a17:907:97c2:b0:ac6:ba92:79c9 with SMTP id a640c23a62f3a-ac6ba927fdbmr208490266b.18.1742887092412;
        Tue, 25 Mar 2025 00:18:12 -0700 (PDT)
Message-ID: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
Date: Tue, 25 Mar 2025 08:18:11 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/CPU: don't hard-code MTRR availability
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

In particular if we're running virtualized, the underlying hypervisor
(which may be another Xen) may not surface MTRRs, and offer PAT only.

Fixes: 5a281883cdc3 ("Hardcode many cpu features for x86/64 -- we know 64-bit")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -70,7 +70,7 @@ static inline bool boot_cpu_has(unsigned
 #define cpu_has_pse             1
 #define cpu_has_apic            boot_cpu_has(X86_FEATURE_APIC)
 #define cpu_has_sep             boot_cpu_has(X86_FEATURE_SEP)
-#define cpu_has_mtrr            1
+#define cpu_has_mtrr            boot_cpu_has(X86_FEATURE_MTRR)
 #define cpu_has_pge             1
 #define cpu_has_pse36           boot_cpu_has(X86_FEATURE_PSE36)
 #define cpu_has_clflush         boot_cpu_has(X86_FEATURE_CLFLUSH)


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 07:22:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 07:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926062.1328913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twybq-0006Qo-Cc; Tue, 25 Mar 2025 07:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926062.1328913; Tue, 25 Mar 2025 07: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 1twybq-0006Qh-8G; Tue, 25 Mar 2025 07:22:02 +0000
Received: by outflank-mailman (input) for mailman id 926062;
 Tue, 25 Mar 2025 07: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=B0qP=WM=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1twybo-0006Qb-IZ
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 07:22:00 +0000
Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com
 [2607:f8b0:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d69f9774-0949-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 08:21:59 +0100 (CET)
Received: by mail-ot1-x335.google.com with SMTP id
 46e09a7af769-72c14138668so674751a34.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 00:21: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: d69f9774-0949-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742887318; x=1743492118; 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=KiUmbp6CtUte/qgasF3BI8wkEyt3CYP3GiOJePeBhIc=;
        b=xDVpJpSXYbY+8MTAcmH2cK1YpEPiMQiHRrst7SjMRWqFCl/f8pai+F37quv+RWzPn3
         9xVYuMPZjvjDUYaqQprjxJwHYIH2E0WAB/Pm1ntw3B9yuNC3PDcOZNmEi6LQfJKgRqRc
         g9K0SjldVujsEQQp+81NvpJY03Vdt0JaiDAGKLXxIbv23fdnCEOcjhvC8wW/+qTRhQ4U
         W9VPPlXflFZ4B+eUfn3xTrpfi02EZnqV8lGYDJNNSQpMVGh2pN2banAgaD2hZkLRvfT6
         F1XewJ0okDVhQxHUZthpAk5uoKAoNTjOMSCJEpvs4CB6A7YNjhhqWt4wDBRrvHMY2Mk+
         YBlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742887318; x=1743492118;
        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=KiUmbp6CtUte/qgasF3BI8wkEyt3CYP3GiOJePeBhIc=;
        b=auOAJ80FLAcmyARuGUKQo6f+siXb4gCXdgfluioucK7JA1Ne8ImolRL/oRyclqacVz
         FCJCfcd+QNoeWAa5oAgvN98l02NHh/UyGIjxeskrPZfJuevJXJulJc3TGSVLfz4cAZho
         /UBF8qj7bQeU/pxaapBeMmsZc0r/nzrU0S92xCJgLfYCXHQBbmWL0nK/FMFsc7DQS/J2
         qFdXjpsHzvGj7AxcVhs1lGYAzDbxybkpjffe7QozgLSzSJGiMKCq6iaUl41iYfpln5z9
         JKJMYmyONBR80gzU9FJYwlLqMFHwLdZdbxlrvNwxP4rdIM7PJSTUtOaxS9+CP0HEj4Bm
         yM9w==
X-Gm-Message-State: AOJu0Yxu6khAiQ0iFrpNmPAsafEb26rE8MlObScf/8E5BvY1XdONPO3F
	uOkjgaArbQn1MRygZn1OHLp4k/gJtWAFofizgMRbHwxHEeo483AMV4p4pCH/eUbTP5aZSO7ZUp2
	uZQCNpk47aE8zrxD5HhSUtwkBerEvnWN3Zy53gg==
X-Gm-Gg: ASbGnct8hGybdh9clW2S3ZVVGxQLH1xnCEu/4NIr7seWDFrsVW4ooR9DsXTFdRn9Aa8
	Yb6zKOgsxALkwyeZt4DJAZHaw+Qz8QzsYKW+ox5FOj+6yddK70uGwBzgSf9NY+j6UDGQRlmDWGF
	/G2WDW/ikA9DPjQclJJBOR7Jl205ljUgdB4TxgTw==
X-Google-Smtp-Source: AGHT+IGGfche2VvbHJ9J/jIYxnSxl4L8RvckP6nsOMDk3cEXoWSABtsyiOlQtXCFQXu7RBsImAIhsSPGH4LZoEtWjj0=
X-Received: by 2002:a9d:6741:0:b0:72c:320b:f76b with SMTP id
 46e09a7af769-72c320c0028mr2224053a34.1.1742887317949; Tue, 25 Mar 2025
 00:21:57 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1742824138.git.bertrand.marquis@arm.com> <719dad25719a0834dc0e52da715aca989a3c20fb.1742824138.git.bertrand.marquis@arm.com>
In-Reply-To: <719dad25719a0834dc0e52da715aca989a3c20fb.1742824138.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 25 Mar 2025 08:21:46 +0100
X-Gm-Features: AQ5f1Jp4yaZl8NVs_6Ah_jxGWeHmYctAnFecU1-kuG9fXKrc-kutFdEhrFoHp44
Message-ID: <CAHUa44FfP0qrOgubGpdGSMVhDNonQVbWq+cor9NshvYh8S6hqg@mail.gmail.com>
Subject: Re: [PATCH v4 4/5] xen/arm: ffa: Add indirect message between VM
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 24, 2025 at 2:53=E2=80=AFPM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Add support for indirect messages between VMs.
> This is only enabled if CONFIG_FFA_VM_TO_VM is selected.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v4:
> - Use a local copy of the message header to prevent a TOC/TOU possible
>   issue when using the payload size
> Changes in v3:
> - Move vm to vm indirect message handling in a sub function to simplify
>   lock handling and make implementation easier to read
> Changes in v2:
> - Switch ifdef to IS_ENABLED
> ---
>  xen/arch/arm/tee/ffa_msg.c | 110 ++++++++++++++++++++++++++++++++-----
>  1 file changed, 96 insertions(+), 14 deletions(-)

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

Cheers,
Jens

>
> diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
> index ee594e737fc7..7c36e3aac47c 100644
> --- a/xen/arch/arm/tee/ffa_msg.c
> +++ b/xen/arch/arm/tee/ffa_msg.c
> @@ -88,43 +88,125 @@ out:
>                   resp.a7 & mask);
>  }
>
> +static int32_t ffa_msg_send2_vm(uint16_t dst_id,
> +                                struct ffa_part_msg_rxtx *src_msg)
> +{
> +    struct domain *dst_d;
> +    struct ffa_ctx *dst_ctx;
> +    struct ffa_part_msg_rxtx *dst_msg;
> +    int err;
> +    int32_t ret;
> +
> +    if ( dst_id =3D=3D 0 )
> +        /* FF-A ID 0 is the hypervisor, this is not valid */
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /* This is also checking that dest is not src */
> +    err =3D rcu_lock_live_remote_domain_by_id(dst_id - 1, &dst_d);
> +    if ( err )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    if ( dst_d->arch.tee =3D=3D NULL )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out_unlock;
> +    }
> +
> +    dst_ctx =3D dst_d->arch.tee;
> +    if ( !dst_ctx->guest_vers )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out_unlock;
> +    }
> +
> +    /* we need to have enough space in the destination buffer */
> +    if ( dst_ctx->page_count * FFA_PAGE_SIZE <
> +            (sizeof(struct ffa_part_msg_rxtx) + src_msg->msg_size) )
> +    {
> +        ret =3D FFA_RET_NO_MEMORY;
> +        goto out_unlock;
> +    }
> +
> +    /* This also checks that destination has set a Rx buffer */
> +    ret =3D ffa_rx_acquire(dst_d);
> +    if ( ret )
> +        goto out_unlock;
> +
> +    dst_msg =3D dst_ctx->rx;
> +
> +    /* prepare destination header */
> +    dst_msg->flags =3D 0;
> +    dst_msg->reserved =3D 0;
> +    dst_msg->msg_offset =3D sizeof(struct ffa_part_msg_rxtx);
> +    dst_msg->send_recv_id =3D src_msg->send_recv_id;
> +    dst_msg->msg_size =3D src_msg->msg_size;
> +
> +    memcpy(dst_ctx->rx + sizeof(struct ffa_part_msg_rxtx),
> +           ((void *)src_msg) + src_msg->msg_offset, src_msg->msg_size);
> +
> +    /* receiver rx buffer will be released by the receiver*/
> +
> +out_unlock:
> +    rcu_unlock_domain(dst_d);
> +    if ( !ret )
> +        ffa_raise_rx_buffer_full(dst_d);
> +
> +    return ret;
> +}
> +
>  int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
>  {
>      struct domain *src_d =3D current->domain;
>      struct ffa_ctx *src_ctx =3D src_d->arch.tee;
> -    const struct ffa_part_msg_rxtx *src_msg;
> +    struct ffa_part_msg_rxtx src_msg;
>      uint16_t dst_id, src_id;
>      int32_t ret;
>
> -    if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
> -        return FFA_RET_NOT_SUPPORTED;
> -
>      if ( !spin_trylock(&src_ctx->tx_lock) )
>          return FFA_RET_BUSY;
>
> -    src_msg =3D src_ctx->tx;
> -    src_id =3D src_msg->send_recv_id >> 16;
> -    dst_id =3D src_msg->send_recv_id & GENMASK(15,0);
> +    /* create a copy of the message header */
> +    memcpy(&src_msg, src_ctx->tx, sizeof(src_msg));
> +
> +    src_id =3D src_msg.send_recv_id >> 16;
> +    dst_id =3D src_msg.send_recv_id & GENMASK(15,0);
>
> -    if ( src_id !=3D ffa_get_vm_id(src_d) || !FFA_ID_IS_SECURE(dst_id) )
> +    if ( src_id !=3D ffa_get_vm_id(src_d) )
>      {
>          ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out_unlock_tx;
> +        goto out;
>      }
>
>      /* check source message fits in buffer */
>      if ( src_ctx->page_count * FFA_PAGE_SIZE <
> -         src_msg->msg_offset + src_msg->msg_size ||
> -         src_msg->msg_offset < sizeof(struct ffa_part_msg_rxtx) )
> +         src_msg.msg_offset + src_msg.msg_size ||
> +         src_msg.msg_offset < sizeof(struct ffa_part_msg_rxtx) )
>      {
>          ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out_unlock_tx;
> +        goto out;
>      }
>
> -    ret =3D ffa_simple_call(FFA_MSG_SEND2,
> +    if ( FFA_ID_IS_SECURE(dst_id) )
> +    {
> +        /* Message for a secure partition */
> +        if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
> +        {
> +            ret =3D FFA_RET_NOT_SUPPORTED;
> +            goto out;
> +        }
> +
> +        ret =3D ffa_simple_call(FFA_MSG_SEND2,
>                            ((uint32_t)ffa_get_vm_id(src_d)) << 16, 0, 0, =
0);
> +    }
> +    else if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        /* Message for a VM */
> +        ret =3D ffa_msg_send2_vm(dst_id, &src_msg);
> +    }
> +    else
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
>
> -out_unlock_tx:
> +out:
>      spin_unlock(&src_ctx->tx_lock);
>      return ret;
>  }
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 07:30:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 07:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926071.1328921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twyjj-00080p-0y; Tue, 25 Mar 2025 07:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926071.1328921; Tue, 25 Mar 2025 07:30: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 1twyji-00080i-UW; Tue, 25 Mar 2025 07:30:10 +0000
Received: by outflank-mailman (input) for mailman id 926071;
 Tue, 25 Mar 2025 07:30: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=B0qP=WM=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1twyjg-00080c-Ut
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 07:30:08 +0000
Received: from mail-oo1-xc33.google.com (mail-oo1-xc33.google.com
 [2607:f8b0:4864:20::c33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f9b31bb5-094a-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 08:30:07 +0100 (CET)
Received: by mail-oo1-xc33.google.com with SMTP id
 006d021491bc7-601c46a92d1so2959973eaf.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 00:30: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: f9b31bb5-094a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742887806; x=1743492606; 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=L//Q+oqpIJ9qeYZhlPg+Vg7CD7DHOGCkewvzZk+nVTs=;
        b=sKkOcmcpDiZFj3p3/hVknAw3edfbrYqEbzAfRgNltTrS9RTWl5FV7s4VXGJUKvO+8c
         Pfu77FNwZug1c3TrNTleGjMSB2D5VObd01zBojJHbZfTc7adx9fE+7tJZygg5nF2SzX1
         c0/7R6MM7m3xnMhv9jkFQrC7MrbVxdVV/L39g/NpH+vrmV3giZytRXkLYAbILtcwA2yO
         nOubrC/dT6Pyd/vRQbiGYPra2f4VgBGMjqbTmuoGWUWHh6Hi/Vm00AD1M6BuvzgNVZls
         wmAmobAVJotXpP4TPpiBcBR7aaQJgcydnqCjYppICBfLrEyqDAvA8d4F9X+OAuCle0PS
         v92Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742887806; x=1743492606;
        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=L//Q+oqpIJ9qeYZhlPg+Vg7CD7DHOGCkewvzZk+nVTs=;
        b=stiM/PjcmEY5R0oOhRSOt3/HNjnh2r8pj1pgKD+V4XtbW9zQaCSxXAx5i5KLahULlG
         Krc66bh0sRk+2I8qXRuGLQpxBYqhy7zSCL1QhYA9ybEtHTvTjuM6OZVmNkiuijZMISLm
         ujjympx/pMPciwMsEekAdGkG6cMaUZirKRvWTQDaS8RdxmNqz21x6MBd76JksKT4wLsP
         MhAdcBMj93gLSyyJsIPPZ60X6jBugaJbfVwu6kv6A3sXIauau5RgvhWFjiIJp/FcpwHF
         ylE4wqDLoKxEisUXQJ01o1JDA5WJnrYMZlZ2MEnewOXvbIiIR7LoFDvH6o/KN3UOy8MU
         jxCw==
X-Gm-Message-State: AOJu0Yy2BopZsOkN1XrOUtvnwhTHMYoU9I4KIEM9+s7dYLNpezmFQiiQ
	LmgH5GU25KHwhzmP9ZeJiqpCsEI87wjQXw1HzJpGWOLipuYienhLz880W0qJc+fplFGt2J/cVzF
	/kaeoH1mR5Ej/MTCEDZqvmn8IAIsO1u5V1LIYAg==
X-Gm-Gg: ASbGnctdiFwZQ8K0ICL5RWbkEjKfAizld3P3/d+RHXPXLPh541b8W/TJFGqve6y3KhY
	Z1PYebHlh1c/6n0U6MWLpYNoJ3H0xWGPJvxWmo6sVPIfF1CPX7bUW5qM7YE8K9g3s7VoH7gs4dQ
	upibvO836txBJkpqXpCDb4mBJrcXI=
X-Google-Smtp-Source: AGHT+IGpCVc7EEEE0lx5GtjkPPuSez0TMwUDKhLXMMPaxVXPfHzATXU1zVV3v0/dvbg9kHKzJajUjsH+V4mo0UCauZk=
X-Received: by 2002:a05:6870:3e0c:b0:29e:27bd:69ef with SMTP id
 586e51a60fabf-2c7804ce2a0mr10905125fac.30.1742887806234; Tue, 25 Mar 2025
 00:30:06 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@arm.com>
 <A5ADD7FD-5FBD-4BE5-9428-A69719A2ACBE@arm.com>
In-Reply-To: <A5ADD7FD-5FBD-4BE5-9428-A69719A2ACBE@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 25 Mar 2025 08:29:54 +0100
X-Gm-Features: AQ5f1Jryin2RXmYwYSfZSkuoq9q2OQLNNr6jx1ybBslKYbK2eanxM4trkJYQVYI
Message-ID: <CAHUa44Es0DyPU0mLXBZs7hHv_+XGDmR2yaigBf=5TnMQgSFxvg@mail.gmail.com>
Subject: Re: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 24, 2025 at 2:58=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi,
>
> > On 24 Mar 2025, at 14:53, Bertrand Marquis <Bertrand.Marquis@arm.com> w=
rote:
> >
> > Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
> > between VMs.
> > When activated list VMs in the system with FF-A support in part_info_ge=
t.
> >
> > When VM to VM is activated, Xen will be tainted as Insecure and a
> > message is displayed to the user during the boot as there is no
> > filtering of VMs in FF-A so any VM can communicate or see any other VM
> > in the system.
> >
> > WARNING: There is no filtering for now and all VMs are listed !!
> >
> > Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> > ---
> > Changes in v4:
> > - properly handle SPMC version 1.0 header size case in partinfo_get
> > - switch to local counting variables instead of *pointer +=3D 1 form
> > - coding style issue with missing spaces in if ()
> > Changes in v3:
> > - break partinfo_get in several sub functions to make the implementatio=
n
> >  easier to understand and lock handling easier
> > - rework implementation to check size along the way and prevent previou=
s
> >  implementation limits which had to check that the number of VMs or SPs
> >  did not change
> > - taint Xen as INSECURE when VM to VM is enabled
> > Changes in v2:
> > - Switch ifdef to IS_ENABLED
> > - dom was not switched to d as requested by Jan because there is alread=
y
> >  a variable d pointing to the current domain and it must not be
> >  shadowed.
> > ---
> > xen/arch/arm/tee/Kconfig        |  11 ++
> > xen/arch/arm/tee/ffa.c          |  12 ++
> > xen/arch/arm/tee/ffa_partinfo.c | 274 +++++++++++++++++++++-----------
> > xen/arch/arm/tee/ffa_private.h  |  12 ++
> > 4 files changed, 218 insertions(+), 91 deletions(-)

With the comment you mention below fixed, please add:
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

Cheers,
Jens

> >
> > diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
> > index c5b0f88d7522..88a4c4c99154 100644
> > --- a/xen/arch/arm/tee/Kconfig
> > +++ b/xen/arch/arm/tee/Kconfig
> > @@ -28,5 +28,16 @@ config FFA
> >
> >  [1] https://developer.arm.com/documentation/den0077/latest
> >
> > +config FFA_VM_TO_VM
> > +    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
> > +    default n
> > +    depends on FFA
> > +    help
> > +      This option enables to use FF-A between VMs.
> > +      This is experimental and there is no access control so any
> > +      guest can communicate with any other guest.
> > +
> > +      If unsure, say N.
> > +
> > endmenu
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 3bbdd7168a6b..e41ab5f8ada6 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -464,6 +464,18 @@ static bool ffa_probe(void)
> >     printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
> >            FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
> >
> > +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> > +    {
> > +        /*
> > +         * When FFA VM to VM is enabled, the current implementation do=
es not
> > +         * offer any way to limit which VM can communicate with which =
VM using
> > +         * FF-A.
> > +         * Signal this in the xen console and taint the system as inse=
cure.
> > +         * TODO: Introduce a solution to limit what a VM can do throug=
h FFA.
> > +         */
> > +        printk(XENLOG_ERR "ffa: VM to VM is enabled, system is insecur=
e !!\n");
> > +        add_taint(TAINT_MACHINE_INSECURE);
> > +    }
> >     /*
> >      * psci_init_smccc() updates this value with what's reported by EL-=
3
> >      * or secure world.
> > diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_par=
tinfo.c
> > index c0510ceb8338..406c57b95f77 100644
> > --- a/xen/arch/arm/tee/ffa_partinfo.c
> > +++ b/xen/arch/arm/tee/ffa_partinfo.c
> > @@ -63,9 +63,156 @@ static int32_t ffa_partition_info_get(uint32_t *uui=
d, uint32_t flags,
> >     return ret;
> > }
> >
> > -void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
> > +static int32_t ffa_get_sp_count(uint32_t *uuid, uint32_t *sp_count)
> > +{
> > +    uint32_t src_size;
> > +
> > +    return ffa_partition_info_get(uuid, FFA_PARTITION_INFO_GET_COUNT_F=
LAG,
> > +                                  sp_count, &src_size);
> > +}
> > +
> > +static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
> > +                                   void *dst_buf, void *end_buf,
> > +                                   uint32_t dst_size)
> > {
> >     int32_t ret;
> > +    uint32_t src_size, real_sp_count;
> > +    void *src_buf =3D ffa_rx;
> > +    uint32_t count =3D 0;
> > +
> > +    /* Do we have a RX buffer with the SPMC */
> > +    if ( !ffa_rx )
> > +        return FFA_RET_DENIED;
> > +
> > +    /* We need to use the RX buffer to receive the list */
> > +    spin_lock(&ffa_rx_buffer_lock);
> > +
> > +    ret =3D ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size)=
;
> > +    if ( ret )
> > +        goto out;
> > +
> > +    /* We now own the RX buffer */
> > +
> > +    /* We only support a 1.1 firmware version */
>
> This comment should have been removed.
> I will fix it on next version of might be possible to do on commit
> if there are no further comments here.
>
> Cheers
> Bertrand
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 07:39:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 07:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926083.1328932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twysm-0001O1-Ve; Tue, 25 Mar 2025 07:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926083.1328932; Tue, 25 Mar 2025 07:39: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 1twysm-0001Nu-Sm; Tue, 25 Mar 2025 07:39:32 +0000
Received: by outflank-mailman (input) for mailman id 926083;
 Tue, 25 Mar 2025 07:39: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=B0qP=WM=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1twysl-0001No-S1
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 07:39:31 +0000
Received: from mail-oa1-x30.google.com (mail-oa1-x30.google.com
 [2001:4860:4864:20::30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48b2c865-094c-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 08:39:29 +0100 (CET)
Received: by mail-oa1-x30.google.com with SMTP id
 586e51a60fabf-2c6ed7ec0a5so1416053fac.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 00:39: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: 48b2c865-094c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1742888368; x=1743493168; 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=BS81KqZTnFpC3mAOczh6LrpUz0knVwLI1q0tTP9ubWM=;
        b=X4WAxQpAhR9ItZuR5oBN7NJY055QIGwfUD08XSMdC65U2keSdXDbeAj9imwbpEasTb
         BL36OLXsBN+1XsjTdiH7GSYiNOdoCypB4WCsBukMxOrMyfE4MAXZ5VBey+z84wj4RzhN
         MWSpOaKUrs8QWzbA4c0Q3clNNtrOnGI/TXNrUsuVJ/8TaLsTU+ltoAHZZcI6t9Eo0uJX
         qIat4eE27vYIwY74osTL6jRjAQIkzrnIrds/0b/2i8I/iMyux2V4UwFCu1RKPTu2Lc1j
         RqvyIPUvtqWOHL/41SwE+EhYtH7lRx9HiiwWBOx8Jz2kFelt3SLTmh1M0mtlBEoLNwUy
         CAHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742888368; x=1743493168;
        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=BS81KqZTnFpC3mAOczh6LrpUz0knVwLI1q0tTP9ubWM=;
        b=Mi2vH96vJSgQ1EM/DLLKUeciiFfOFwpr0x70x6otuXaepOOXYIJaIezzrNgAMtt5Di
         /tPp1pMywFhWuV9YEr/IJOT0qSgU84Mb7KQKG2OarPlArtj40jENEutULPaHoUnz1Bg1
         cJ1c25uuiS1QaAtvnXiI3m1GJpI7VHKskBAyZRoGgbBg0fm2LZby8zjwCMIFZTeONUNa
         hiXrAjmZVcLVMeAMzZJv5tBoKgqa+AjleGZFtlJzwE7efbh8sDFq3GE24bk//aPcCFHd
         MQ+qZ9Uo7/0/JXYG2koLb0IGCMG7hBBJ/r0gUbA2uxEyuOOINI9PwZKQfg2lDdJOUQB/
         SqJQ==
X-Gm-Message-State: AOJu0YxPilek/C/ndkAhRo8ljuFK13aIsDg6BUumHhnMYi8S9ifIv5e9
	ACKZTigYs7zE//7VTfBvDfTJYSNKptAmGkuXiVA7Q17VxhVvw0h3B+ypD05JxqodYJD4Acd9pKx
	BmC4uKtF+AOUAsyOEfTRTK2iyFcHFXJGH5Kng2g==
X-Gm-Gg: ASbGncuseeLFccZRGpZEvmH42qh0n14kXNOjVNO2KvDIxjFmhvcVjdpEgwodfaOVKBC
	hlYHooHvIbHuoEnzHj1RbDMd0bSxrFbobN/4Vx6KoL5OaJstOBqPSZ1yUOkY9VB+mj1MrHNu0EN
	5dMjaxsbX2wm91qRFNV9U6Kui6wCg=
X-Google-Smtp-Source: AGHT+IG/29TMFnpYD0R7DnujGknqtdj6ngn6wZ2aLjwervq4a07wDCuZ9ESh72dxrP3OMwmtfTSAQ6RN2nGQdiiH/sI=
X-Received: by 2002:a05:6871:ea0f:b0:2c1:51f7:e648 with SMTP id
 586e51a60fabf-2c780544564mr11117966fac.35.1742888368417; Tue, 25 Mar 2025
 00:39:28 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1742824138.git.bertrand.marquis@arm.com> <a22e5375df48d16cb4c0b3d80dde8593522b3ddd.1742824138.git.bertrand.marquis@arm.com>
In-Reply-To: <a22e5375df48d16cb4c0b3d80dde8593522b3ddd.1742824138.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 25 Mar 2025 08:39:16 +0100
X-Gm-Features: AQ5f1JoFc0K0KpvbRQmawvlOHEl6KC0cRepnGBoXbtlaFC604ccK-uVVO2REQO0
Message-ID: <CAHUa44ER8j2_=k0WcSZfSY6M6MLtC+489tKy4MxNLvHa9veJWA@mail.gmail.com>
Subject: Re: [PATCH v4 1/5] xen/arm: Create tee command line parameter
To: Bertrand Marquis <bertrand.marquis@arm.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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 24, 2025 at 2:53=E2=80=AFPM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> Add a new command line parameter "tee=3D" to be used to explicitly select
> what tee mediator is to be used by Xen and fail if it does not exist
> or the probe function for it failed.
>
> Without specifying which tee is to be used, Xen will use the first one
> for which the probe function succeeds which depends on the order of the
> mediator list which depends on the compiler.
> Using the command line argument, it is now possible to explicit request
> a specific TEE mediator and panic on boot if it is not available.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v4:
> - None
> Changes in v3:
> - Properly classify tee as arm specific (Jan)
> Changes in v2:
> - Patch introduced to add a command line selection of the TEE
> ---
>  docs/misc/xen-command-line.pandoc  | 14 ++++++++++++++
>  xen/arch/arm/include/asm/tee/tee.h |  4 ++++
>  xen/arch/arm/tee/tee.c             | 31 ++++++++++++++++++++++++++++++
>  3 files changed, 49 insertions(+)

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

Cheers,
Jens

>
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-li=
ne.pandoc
> index 89db6e83be66..0c2ff542a138 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
>
>  Flag to enable TSC deadline as the APIC timer mode.
>
> +### tee (arm)
> +> `=3D <string>`
> +
> +Specify the TEE mediator to be probed and use.
> +
> +The default behaviour is to probe all supported TEEs supported by Xen an=
d use
> +the first one successfully probed. When this parameter is passed, Xen wi=
ll
> +probe only the TEE mediator passed as argument and boot will fail if thi=
s
> +mediator is not properly probed or if the requested TEE is not supported=
 by
> +Xen.
> +
> +This parameter can be set to `optee` of `ffa` if the corresponding media=
tors
> +are compiled in.
> +
>  ### tevt_mask
>  > `=3D <integer>`
>
> diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/as=
m/tee/tee.h
> index 0169fd746bcd..15d664e28dce 100644
> --- a/xen/arch/arm/include/asm/tee/tee.h
> +++ b/xen/arch/arm/include/asm/tee/tee.h
> @@ -55,6 +55,9 @@ struct tee_mediator_desc {
>      /* Printable name of the TEE. */
>      const char *name;
>
> +    /* Command line name of the TEE (to be used with tee=3D cmdline opti=
on) */
> +    const char *cmdline_name;
> +
>      /* Mediator callbacks as described above. */
>      const struct tee_mediator_ops *ops;
>
> @@ -77,6 +80,7 @@ void tee_free_domain_ctx(struct domain *d);
>  static const struct tee_mediator_desc __tee_desc_##_name __used     \
>  __section(".teemediator.info") =3D {                                  \
>      .name =3D _namestr,                                               \
> +    .cmdline_name =3D #_name,                                         \
>      .ops =3D _ops,                                                    \
>      .tee_type =3D _type                                               \
>  }
> diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
> index 3f65e45a7892..066b5ba40f9d 100644
> --- a/xen/arch/arm/tee/tee.c
> +++ b/xen/arch/arm/tee/tee.c
> @@ -19,12 +19,17 @@
>  #include <xen/errno.h>
>  #include <xen/init.h>
>  #include <xen/types.h>
> +#include <xen/param.h>
>
>  #include <asm/tee/tee.h>
>
>  extern const struct tee_mediator_desc _steemediator[], _eteemediator[];
>  static const struct tee_mediator_desc __read_mostly *cur_mediator;
>
> +/* Select the TEE mediator using a name on command line. */
> +static char __initdata opt_mediator[16] =3D "";
> +string_param("tee", opt_mediator);
> +
>  /*
>   * TODO: Add function to alter Dom0 DTB, so we can properly describe
>   * present TEE.
> @@ -81,14 +86,40 @@ static int __init tee_init(void)
>  {
>      const struct tee_mediator_desc *desc;
>
> +    if ( strcmp(opt_mediator, "") )
> +        printk(XENLOG_INFO "TEE Mediator %s selected from command line\n=
",
> +               opt_mediator);
> +
> +    /*
> +     * When a specific TEE is selected using the 'tee=3D' command line
> +     * argument, we panic if the probe fails or if the requested TEE is =
not
> +     * supported.
> +     */
>      for ( desc =3D _steemediator; desc !=3D _eteemediator; desc++ )
>      {
> +        if ( strcmp(opt_mediator, "") &&
> +             strncmp(opt_mediator, desc->cmdline_name, sizeof(opt_mediat=
or)) )
> +            continue;
> +
>          if ( desc->ops->probe() )
>          {
>              printk(XENLOG_INFO "Using TEE mediator for %s\n", desc->name=
);
>              cur_mediator =3D desc;
>              return 0;
>          }
> +        else if ( strcmp(opt_mediator, "") )
> +        {
> +            panic("TEE mediator %s from command line probe failed\n",
> +                  opt_mediator);
> +            return -EFAULT;
> +        }
> +    }
> +
> +    if ( strcmp(opt_mediator, "") )
> +    {
> +        panic("TEE Mediator %s from command line not supported\n",
> +              opt_mediator);
> +        return -EINVAL;
>      }
>
>      return 0;
> --
> 2.47.1
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 07:46:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 07:46:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926092.1328942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twyzm-0003wn-MC; Tue, 25 Mar 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 926092.1328942; Tue, 25 Mar 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 1twyzm-0003wg-JS; Tue, 25 Mar 2025 07:46:46 +0000
Received: by outflank-mailman (input) for mailman id 926092;
 Tue, 25 Mar 2025 07:46: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twyzl-0003wa-Fm
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 07:46:45 +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 4b70f233-094d-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 08:46:43 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so39367125e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 00:46: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-43d4fceafb7sm146697035e9.1.2025.03.25.00.46.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 00:46: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: 4b70f233-094d-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742888803; x=1743493603; 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=p/tma21W0tagGg9/XqW58uPu+AQaIfuzr2VjmvyOcus=;
        b=JCTBIY9F9gqGd4amb4TvYvCx1qCmqTzKPoflfFnMwLOWB9NGhjMdiOV2BlbFKnH9re
         hvmRNLq4uPHvnNp/90Zk1Ixdb7dqynHBL4rf70ShnUuFoP2SrhrdQKb0fkthimHFe9kp
         vVd1Ae5Ac6mmXR0KPAtXVKhhs8xrn+s07YVGyTndKfnZv+i4LRpjSm0k9wTWhJw9CtYl
         LxQi/wDU0MoaB1zFHt+L++Ip8w1pUE+lDNSPjtMrchezT+q6Fwfi3cdAXsocEawccfaA
         rJn7j3doiOCn/V772O/GkgmPUvjNoaPghz+x2IyWSEHyuj1rOLhDILZuBRZIXnDtChNC
         DyRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742888803; x=1743493603;
        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=p/tma21W0tagGg9/XqW58uPu+AQaIfuzr2VjmvyOcus=;
        b=PWvVcuyhlnLfio+b/KypDB7I+OCj94oAlkjBfMQtzol8CaBxvG703ZZSe+FnVpPsrc
         8ScSpo2mRue9QQ94KIqeu0ARYjTYnh5ZsuBad/B+KDFWIeACIQ5NpoZSzVNtyUAet0+t
         89hPqi6qXHJrU/iG3dsqwTdqbBvz14cCIMXR2Q5CLuZxQ0g4vyuS2oeJ9P8ZjeAMxc6M
         5wKuJXcCNTE7jRf+1YG+/9MLBTe2M3fX8HDgrJD9rHlimPvviiBsVQcRyNtVZXdJK/4S
         ZeIUJATyoXZLGBa7Dxs+Zubf1rLq7XUMiah/HcbXNS/gzW1K6nG2Fds0d+Cm1BpaKeIj
         o26g==
X-Forwarded-Encrypted: i=1; AJvYcCVEvbdBZOKB0rAWiD7KQzKJUPTJzHVPJe7AZ+i3O4oPpuFT2v1bUDZkkod9d1DZVSH2ZSHsTvFRUVo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQ8NTzm7CcO70FkfZIIngtXpNiyqtn+HHHscwCAUaXKX6sMt8J
	YOq/xTCuoR3cn6x6SKQNw/ZgXDymyZmlOmvqzDFuycya2iR/2qpL3a2Mfd0VUQ==
X-Gm-Gg: ASbGncvqT5qH7/Grv/ord6L0rEiD0ZFTgXqZVY0k2k3ZzISY1jrmW0CW5IaAxO7i8Dk
	URRL+/wDWqNCmCS+UXj2aJjh+Yvu5ycd/6h5mAbNlBpkbqIdtFtL+YhtNg15iV7GH06k6LWd0yp
	ZBGjHHrSE8sOv0LHy/lLviDi2dPJBPoMFmB3zNe1a4zESAj7aM84GrFTApAke4woSfFdkv/DLGK
	Dtph/gmUooc1ES6h0d5Qf6RMvREzvQjRbHOZA2R9XZjzJ6YfGXpQwp94iVyp9wgTdZnl9nwxRyt
	0YqrtzZHX+JCiRXF6R8P5B0RJOV5rlaQeCWsKjrrGDTtq3VnnOh8Ic3lIiYYoZWc/EO/jRfHsPD
	zEFKS1TAnOPVLg3+0B0fgb4221PTN4A==
X-Google-Smtp-Source: AGHT+IGsnTJSMGGefzN6hrlg74gPrK06eVxh7WJeR5Ixjg2sHu4S9KDohZNARKVfEleScyAlR2ubDg==
X-Received: by 2002:a05:600c:1da4:b0:43b:ca8c:fca3 with SMTP id 5b1f17b1804b1-43d503516d7mr141523725e9.11.1742888802581;
        Tue, 25 Mar 2025 00:46:42 -0700 (PDT)
Message-ID: <a3659fe7-b98e-41ab-873b-58f494969b3d@suse.com>
Date: Tue, 25 Mar 2025 08:46:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/PVH: account for module command line length
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <110f0966-0b89-48d6-b1b3-abae93802c19@suse.com>
 <6a039bc7-429d-4473-8a92-e5693dfd3fd9@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: <6a039bc7-429d-4473-8a92-e5693dfd3fd9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.03.2025 19:24, Andrew Cooper wrote:
> On 24/03/2025 12:03 pm, Jan Beulich wrote:
>> As per observation in practice, initrd->cmdline_pa is not normally zero.
>> Hence so far we always appended at least one byte. That alone may
>> already render insufficient the "allocation" made by find_memory().
>> Things would be worse when there's actually a (perhaps long) command
>> line.
>>
>> Skip setup when the command line is empty. Amend the "allocation" size
>> by padding and actual size of module command line. Along these lines
>> also skip initrd setup when the initrd is zero size.
>>
>> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> v3: Permit empty initrd with non-empty module command line again.
>> v2: Use elf_round_up(). Introduce initrd_cmdline local. Re-base.
> 
> I wasn't making a request to support an empty module with a non-empty
> cmdline.
> 
> That's a nonsense configuration; it's almost certainly an error
> elsewhere, rather than an intended configuration.

Who are we to judge whether some configuration is nonsense?

>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -652,9 +652,10 @@ static int __init pvh_load_kernel(
>>      unsigned long image_len = image->size;
>>      unsigned long initrd_len = initrd ? initrd->size : 0;
>>      const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
>> +    const char *initrd_cmdline = NULL;
>>      struct elf_binary elf;
>>      struct elf_dom_parms parms;
>> -    size_t extra_space;
>> +    size_t extra_space = 0;
>>      paddr_t last_addr;
>>      struct hvm_start_info start_info = { 0 };
>>      struct hvm_modlist_entry mod = { 0 };
>> @@ -712,10 +713,26 @@ static int __init pvh_load_kernel(
>>       * split into smaller allocations, done as a single region in order to
>>       * simplify it.
>>       */
>> -    extra_space = sizeof(start_info);
>> -
>>      if ( initrd )
>> -        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
>> +    {
>> +        extra_space = elf_round_up(&elf, initrd_len);
> 
> I'm going to insist on not doing this.Â  For the sake of anyone (else)
> trying to follow this logic.
> 
> You're trading increased cognitive complexity of the logic to avoid
> using one local variable.

Well, okay, I'll make a change here then. Your earlier reply didn't sound
like "I'm going to insist", though. Instead I thought I could assume that
my reply there having been left un-responded to would mean you're okay
with the justification I gave.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 07:53:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 07:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926101.1328952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twz6e-0006Zn-CA; Tue, 25 Mar 2025 07:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926101.1328952; Tue, 25 Mar 2025 07: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 1twz6e-0006Zg-92; Tue, 25 Mar 2025 07:53:52 +0000
Received: by outflank-mailman (input) for mailman id 926101;
 Tue, 25 Mar 2025 07: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twz6d-0006Za-AJ
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 07:53:51 +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 49546f23-094e-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 08:53:49 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39ac56756f6so1359195f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 00:53: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-3997f9a6326sm12702899f8f.29.2025.03.25.00.53.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 00: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: 49546f23-094e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742889229; x=1743494029; 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=gaPjOeaS1yKq+UrU7ULLpkvLzc5sxXuO0RcmwuQlI5M=;
        b=LHv6ooFkD8CejHkidSM/ohuzU8A6i5OLd6/rkEPPuP74XoEBGXbGbKM8mSmMjbmTPj
         P6jeJzEC8ALQSMtiyrTbXyKk1zDKksnQ4mcbuswDMkNCFXkMLsFmDlrMVefRDP5cQtlf
         oKYvcj+w0yw2p9V8pkclO0BpC7v2Xf2PaL/ursTrAVsaVJmylikleQ24UfxPYzTyJPF6
         MmOMPTpmNMenbzCWtd+btxTDP3uk2XoS2gAXXH389Bz/SKiks+okvXIyRiJcrvx67s1O
         hzjl7pE+MRs+fAXhO6nJmWVR8Yx1EfXYEYuJblGv9IXN7GxU/QydNmtlq90faLMWvkMu
         xXjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742889229; x=1743494029;
        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=gaPjOeaS1yKq+UrU7ULLpkvLzc5sxXuO0RcmwuQlI5M=;
        b=DQtIO+aDxqsx19bDOqIIIzrb18Vpdvbzv8WVqeBRpvUp5k8bUos0OdGGfb103a2DmZ
         i86sAtMitIEi62nJTvzUw6IDC9XOgHrJarn4K4mbWQX71kg4e7+g5iajrGTBaxvtyAw1
         2kapn6BhMIbArAXa+Scpst8gGvLMUK1mhKLpk0XXiUWCBVE7orbP0kVE1snCqDDjoGZs
         AN1/1hjVbE092TIgNLl3ygpOKvLwo3oc0OE+VQeMgb2cNlMNDaKyMEZ+G1M81waz151h
         I8UFnkxagl4kskpQGhjw0FqvvLJ/60MUHrN1/a05NoU11zlmAK7HVvg+Ev3FqBY5pv2t
         Ck6g==
X-Forwarded-Encrypted: i=1; AJvYcCW2OaMuHsWo7Il5Z4S0R+a88TkZFYAznLDEQQ6a50/vKwYv6NLlQq1E+g4cZk/5CXkvw2Hxnedgcxk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzeNiojkBfJMSJ0LwTirawQUgfaJ0eK10FOjAKyzq81vIyXeiZt
	zdQRakeMbSm/iB906VLLpVUnU92zu5rBFb0lBvSz6UrcXwj6i8K/BlyOuGWmCg==
X-Gm-Gg: ASbGncv+6HeNFbPF64C2dsXzS9Y1tmFW7TiZxZSx/tT3n7HFEA7liqE7W55KXaBIqA1
	1JWBo6TKSAI/vLCMuF/r2sjTJh3gRmaUTAI/GcOz3Snp3ikOhRcuwt7Z+xtwD9Rs1GeJeqCLNxy
	OjR/rAudX3d4FP0wnFenElUhRxgWg87AiykgtKdedDyRwh7XqB8cPKdgHy/7IG/jSQFmq8T27Ma
	UnN5TYVMs+NMWEDh79Cmm6jouVlJrnbSnEtoSHQOzQ4S2ZiuDHDWAZVPhotYC8KeYHTMrgvxkm4
	8wjRmAmykj2GoQ/PklmiSUC+R7/mjRGAdOhI/Rawv8knPK18UBdkNtkIcrcgDpL2byIH5XAtg3Y
	h7ltETUPqhH1aOYvlIGCLNMTM43KauOWNq7sE9AO2
X-Google-Smtp-Source: AGHT+IFzb8SEwGqg3ngvzqV3prWVUUA539MKL/XCcFqwjCSr7r5OoXl4UjgWoZ4z67Jikooj/q+UZw==
X-Received: by 2002:a05:6000:18ab:b0:39a:c6c4:f877 with SMTP id ffacd0b85a97d-39ac6c4fad7mr3059302f8f.20.1742889228650;
        Tue, 25 Mar 2025 00:53:48 -0700 (PDT)
Message-ID: <c46e1b7a-d765-421f-a7a8-9187bfb5b732@suse.com>
Date: Tue, 25 Mar 2025 08:53:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to
 propagate CPPC data
To: "Penny, Zheng" <penny.zheng@amd.com>
Cc: "Huang, Ray" <Ray.Huang@amd.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>,
 "Orzel, Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-3-Penny.Zheng@amd.com>
 <19cab53d-3edc-4900-95f1-6d5d81e0ecac@suse.com>
 <DM4PR12MB845156C8C25495D7DB396ED9E1A72@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: <DM4PR12MB845156C8C25495D7DB396ED9E1A72@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 05:12, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Monday, March 24, 2025 10:28 PM
>>
>> On 06.03.2025 09:39, Penny Zheng wrote:
>>> +    pm_info = processor_pminfo[cpuid];
>>> +    /* Must already allocated in set_psd_pminfo */
>>> +    if ( !pm_info )
>>> +    {
>>> +        ret = -EINVAL;
>>> +        goto out;
>>> +    }
>>> +    pm_info->cppc_data = *cppc_data;
>>> +
>>> +    if ( cpufreq_verbose )
>>> +        print_CPPC(&pm_info->cppc_data);
>>> +
>>> +    pm_info->init = XEN_CPPC_INIT;
>>
>> That is - whichever Dom0 invoked last will have data recorded, and the other
>> effectively is discarded? I think a warning (perhaps a one-time one) is minimally
>> needed to diagnose the case where one type of data replaces the other.
>>
> 
> In last v2 discussion, we are discussing that either set_px_pminfo or set_cppc_pminfo shall be invoked,
> which means either PX data is recorded, or CPPC data is recorded.
> Current logic is that, cpufreq cmdline logic will set the XEN_PROCESSOR_PM_PX/CPPC
> flag to reflect user preference, if user defines the fallback option, like "cpufreq=amd-cppc,xen", we will have both
>  XEN_PROCESSOR_PM_PX | XEN_PROCESSOR_PM_CPPC set in the beginning.
> Later in cpufreq driver register logic, as only one register could be registered , if amd-cppc
> being registered successfully, it will clear the  XEN_PROCESSOR_PM_PX flag bit.
> But if it fails to register, fallback scheme kicks off, we will try the legacy P-states, in the mean time,
> clearing the XEN_PROCESSOR_PM_CPPC.
> We are trying to make XEN_PROCESSOR_PM_PX and XEN_PROCESSOR_PM_CPPC exclusive
> values after driver registration, which will ensure us that either set_px_pminfo or set_cppc_pminfo
> is taken in the runtime.

Yet you realize that this implies Dom0 to know what configuration Xen uses,
in order to know which data to upload. The best approach might be to have
Dom0 upload all data it has, with us merely ignoring what we can't make use
of. The order of uploading (CPPC first or CPPC last) shouldn't matter. Then
(and only then, and - ftaod - only when uploading of the "wrong" kind of
data doesn't result in an error) things can go without warning.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 08:11:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 08:11:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926111.1328962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twzNQ-00037U-P5; Tue, 25 Mar 2025 08:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926111.1328962; Tue, 25 Mar 2025 08:11: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 1twzNQ-00037N-MG; Tue, 25 Mar 2025 08:11:12 +0000
Received: by outflank-mailman (input) for mailman id 926111;
 Tue, 25 Mar 2025 08:11: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=6Gn6=WM=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1twzNP-00037H-Ff
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 08:11:11 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5cca12c-0950-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 09:11:10 +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: b5cca12c-0950-11f0-9ea3-5ba50f476ded
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1742890269;
	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=gBlYuYPxuiW4f/YH3m2JiPO9h8/st5bDHO18kaoaxWU=;
	b=xuu9Wv6psqJzPFfn8nMntVCSCH9iODJd96EJ94rTd8BA3tpxSRI7FC+Z8px+3BfOtKWwz4
	EQNAYMOijbgOFFS7+rH/VfTxOn3FxTl5i4udS+twC9fl5AXSJ702DONji18Nfzufxt3P8k
	hAJMo9n336BIMnf84oX/JXqSA0j0lKk6zhJuprnlWpwoGcrlYJRF1G/qysdW9NOceQ8IWz
	AxC3zXeAMYHxivQJvG3CSp+tbm0DA65C8MoZL07GOeZp7AaIlLeLgXZ217wNE9p4f98eNQ
	FWWjzyRHu5AOK9111zSqok0p+97KrvNlYKC5GAOPqqYwJuqrraND0jAhG6UZfA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1742890269;
	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=gBlYuYPxuiW4f/YH3m2JiPO9h8/st5bDHO18kaoaxWU=;
	b=zawn//iFOlyQCFAWgDgHOmxcNuu0Ak6JkpKA/7TZ4dwphNSIIW3fFEFxxZVI3iFGgo16uU
	kGLzpS+oUoMNZnBg==
To: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>, Daniel Gomez
 <da.gomez@kernel.org>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, Bjorn Helgaas
 <helgaas@kernel.org>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
In-Reply-To: <Z-Gv6TG9dwKI-fvz@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local>
Date: Tue, 25 Mar 2025 09:11:08 +0100
Message-ID: <87y0wtzg0z.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Mon, Mar 24 2025 at 20:18, Roger Pau Monn=C3=A9 wrote:
> On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
>> The issue is that info appears to be uninitialized. So, this worked for =
me:
>
> Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
> this is x86, I was expecting x86 ot always use
> x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
> would like to better understand this.

Indeed. On x86 this should not happen at all. On architectures, which do
not use (hierarchical) interrupt domains, it will return NULL.

So I really want to understand why this happens on x86 before such a
"fix" is deployed.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 08:13:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 08:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926122.1328972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twzPk-000474-8m; Tue, 25 Mar 2025 08:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926122.1328972; Tue, 25 Mar 2025 08: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 1twzPk-00046x-5Q; Tue, 25 Mar 2025 08:13:36 +0000
Received: by outflank-mailman (input) for mailman id 926122;
 Tue, 25 Mar 2025 08:13: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twzPi-00046r-VK
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 08:13:34 +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 0b5aec61-0951-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 09:13:33 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso2827197f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 01:13: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-3997f99540bsm12946388f8f.2.2025.03.25.01.13.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 01:13: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: 0b5aec61-0951-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742890413; x=1743495213; 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=HRMYMwMgetqnIT0/RCtcv9V7w4HqQr5xcBYY/hYcOvY=;
        b=GZEKqyGoYZIrPQgaU3YVUNXn6u6A1U8U+NJ5gGFvU68nguNCyGrHWxQZrOV7rHhTvk
         0BKhbDtvg5pTngaBIv/fK7qEAUNCV5iDOQ3AhqF0BSTADA/PBOcN1HO7hBZriwW2uctQ
         C9b8fXUbeCRV39EZTeBYTyZx4eSAhJAsFdmBEUKPqLFTO9mvgLjGFyFtrzUTk6R6Bavd
         eK9Er0YMn5cDuk+BUHvzE2HzbRhwv/wT4wSlZVOfbr1keJjFnAryTv7hbepkkR1eSnZC
         nAFy6vWnD6vGd7EdGMpd5MdZ+zcQ9QlpfXpIRpL8BDM7PmKjfgK1SEYP0ViZ9JACMmtc
         Oi1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742890413; x=1743495213;
        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=HRMYMwMgetqnIT0/RCtcv9V7w4HqQr5xcBYY/hYcOvY=;
        b=L5UiBJ1ju62Vmy8rITh4d13Vf3kPs+ET6oaMt7W37Ez3da/MfFWgPQk7GOOFXDWyym
         Vx5tP9j47Eje6o71Rne/QU5sgooy78Xpj98u1ohG2ZJtkmJrtsgG8FKG+/bTEJO0tTdU
         bQ3PV3OCpYnXFbCrpXp778KHHqU3g5SsRfMBdunCQY5Y/Yu/Qbxci9dBs9K/87hUysMp
         gcJKoxA4+Er99BoFDTOKiCZKRT6W0XWhWMB94HrYUJpOX9znRbI+MqW5Dlbb3ejrWvE/
         dJcV1+tTqPSAMFtL+OZCg7JHjaiQZJAXZMY21clsDzD7YK2fzrl+MJ6Qyl+CiV+TP5fl
         5xDQ==
X-Gm-Message-State: AOJu0YxETpw5mCyB6a2uZ76GJqyb+H/snmWkK5TPeu4Hu7ccv4wjSM1R
	HZklYNxEhyKaAh7QpEDSYEgRGKnUWHkralH0TUqEVVn/pzksWhzedtOu6kWhMZzLlKrIVqk/ogg
	=
X-Gm-Gg: ASbGnct7CauvkRtCsBUQRjpWpDxuFoAAN+lLsuT8V85VXXam9CGS23h1ekHrq4Pxg2I
	AFwJVNxeZBCF3ez1jRVU4XAv55AX8nMcq9oRZ4zRIlv18fqpIW7ccmJcKSHiG8WdXvPQYtEr5fe
	SX7p/JVW1SlyecPKivfb1k1V+p43Unx4OEcJ5mj5ePZvqeqGcumVSXB1sD8ENendjta0nV9zUlE
	UTk/nHmJFhmNLz2Y7YNvGDCABgxax2tr/EEG2VDhZGAYOO8pwVV9fuNoMcw6E2x6VddNqIR/dcO
	FAeXO3O9Xnq421nwTMXpWODijTIuTqu5SKjrMH+0HoVa7nL9SuHQyXlcgjfaW89sc3L5qwZVJDl
	ck52nr/qixNpRKYTzq+0mrmezT2NR3w==
X-Google-Smtp-Source: AGHT+IG0Y3FjjsrRMQ+/nW88HE7nKDeO0AQcCcQ0SjZTOceheexlYLSnWjGZKAU0DWH0no9PagKlOA==
X-Received: by 2002:a5d:47a2:0:b0:390:f6aa:4e77 with SMTP id ffacd0b85a97d-3997f90ff68mr14872975f8f.15.1742890413183;
        Tue, 25 Mar 2025 01:13:33 -0700 (PDT)
Message-ID: <552377d2-a2f1-40eb-83dc-fa09931cae6d@suse.com>
Date: Tue, 25 Mar 2025 09:13:31 +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>, Ariel Otilibili <Ariel.Otilibili-Anieli@eurecom.fr>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] lib/inflate.c: remove dead code
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

From: Ariel Otilibili <ariel.otilibili-anieli@eurecom.fr>

This is a follow up from a discussion in Xen:

The if-statement tests that `res` is non-zero; meaning the case zero is
never reached.

Link: https://lore.kernel.org/all/7587b503-b2ca-4476-8dc9-e9683d4ca5f0@suse.com/
Link: https://lkml.kernel.org/r/20241219092615.644642-2-ariel.otilibili-anieli@eurecom.fr
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Ariel Otilibili <ariel.otilibili-anieli@eurecom.fr>
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 41c761dede6e
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1164,8 +1164,6 @@ static int __init gunzip(struct gunzip_s
     if ( (res = inflate(s)) )
     {
         switch (res) {
-        case 0:
-            break;
         case 1:
             error("invalid compressed format (err=1)");
             break;


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 08:46:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 08:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926134.1328994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twzvm-0002hb-PR; Tue, 25 Mar 2025 08:46:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926134.1328994; Tue, 25 Mar 2025 08:46: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 1twzvm-0002hU-Ml; Tue, 25 Mar 2025 08:46:42 +0000
Received: by outflank-mailman (input) for mailman id 926134;
 Tue, 25 Mar 2025 08: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=uDid=WM=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1twzvl-0002hO-Ar
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 08:46:41 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20630.outbound.protection.outlook.com
 [2a01:111:f403:2413::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3296685-0955-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 09:46:27 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by LV2PR12MB6015.namprd12.prod.outlook.com (2603:10b6:408:14f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 08:46:24 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 08:46: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: a3296685-0955-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ijJHnegDJrCy38FQsozp91tpdnq1xvTaLc7Tn+d0VDLw8FsTwABAk2UOTp4A+9HzQFpEKuYWzv7KHsEGwk7NjS2jWvsvDymc5bCwI6XxSb43i/aVZFkFgI8GkCUR/aRWVHaQboYo5JpSYj3AGKa8+dZljf6esqYMh93LVkXPJShnmP5yk7N0wzSs3ye/XHd9W5v8uloQS4Pfvc29GoQRv3X0A/Eh5ggME7bzv08yEa2Xm22dHACCwrsqbZTwgSqGd+rXUZzvXN4paq7K6fq7x4IC5ojazkVJzpoBkmcf5ak5G8WFzxbvB/mWbrQSYU4lWOYWnQCpe+MpcXIvODGyLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hjOTkbkYTS02rJHZrk7Jta3DippgZFvHnLCM2yf7V3o=;
 b=sA4f+CGf3sNs1sViHmrcLdWwMUhNzzltKU41b3s2EbRvBZvFpJl5tLnXyoFtVaCaycIL/dGFivPkWwdimAJ+JVd/YISMpsN6pVfEAIRlN5uK/EO7b71eP4z93gbVyU1bUxsLNAKm2i5SX3OYuXhOTgKv/0RLJyYwk0IRnuIGYYWfIN87JxpMQlPa6o4CYaKZUz4Wtmpy7Zd5WEs6nv8gKfQpD7WQcya2Vq+XMOLKOhyeWEsctFKtrIizr7p/BIJqd5hMr64UCK/bwrCRzwl4RLPYXEpW7XzElkFyeR9NYTwm7RHw9pR8hVvOGr4cuziC1U3VUZq1lVE2xKbtJ2ViLA==
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=hjOTkbkYTS02rJHZrk7Jta3DippgZFvHnLCM2yf7V3o=;
 b=e2w/MLLuN8lS4W/j4MDnKENWB3CNL7WJ+6m/Ool22z8n2kM+NTLUtGKvZ30N6AurGrBT6Ok5iaWD31YDT1b8XZpHNRQm8cE1mh3ZxpM5MCmxsYd6jM/xocPRfreCvhHpm3tHkdRMWm9RiOd1DNMGqXpexdlhreVWftCtVVkSB7g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <c944a7b1-480d-4ef5-b489-be220792e3b8@amd.com>
Date: Tue, 25 Mar 2025 09:46:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen/device-tree: Switch back to
 dt_unreserved_regions() in boot allocator
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@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>
References: <20250324212731.1702255-1-oleksandr_tyshchenko@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250324212731.1702255-1-oleksandr_tyshchenko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cc::13) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|LV2PR12MB6015:EE_
X-MS-Office365-Filtering-Correlation-Id: 3703c1d4-631a-430a-4167-08dd6b7985ff
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?c1B6Q0xNcjRHZHFadnRqRWV6aFgwMTNSamE0Q1pDV1Q4RHpEMHp0TUtIcVZV?=
 =?utf-8?B?bzBvQ2VUY3dMOXY1ZEJPYzJsMVMvQnJ5SDNqNHBMa245UjdwcGI2RXpOWDl1?=
 =?utf-8?B?Q0pranR6V3JTdG9BWm5jcWhFL0lieHZoeW9qQ3dJVXYzRGZuTEtKL2YzMkNT?=
 =?utf-8?B?RjVHdElkSEZZZUYxbGIwNjJieFBIN2dXcElxTXFkMVRSMSs3aDJveVBCL0tt?=
 =?utf-8?B?K1NXRW84cHFWVGl0cEhid2NHY0RoZDQ2ZldVUCs2MDJLK2FieHFORHJxVGZm?=
 =?utf-8?B?anRhM011TlpvaEQ4TEZJVDFhTXZiQ3ROZFduL3YrMW9sM29lWFk1UktVWW9E?=
 =?utf-8?B?Y0ZkaGxsLzM3QnYwQVlXUUs1eklJdllNYjZqWGV3clY5V3MzbmtTaFN3M1JI?=
 =?utf-8?B?Y2ZPcWd2dXhoRjB5NUJEVDZkRHZONXp0aEoyMnFLNExhLzlYalVzTFBLUjd5?=
 =?utf-8?B?R01GRkpIajFXd2R2QytwVDNlai8wdnpWMWRkRDl0Um14UGxGRmV5ODg1d0Ur?=
 =?utf-8?B?b0IrK1p3Zm54Y3M2ZUU2eW5XZTBrV3F4cEkyZlo2VEFtMk51dmpFWVJmSTNl?=
 =?utf-8?B?QmhwbFFhcUxFeUJTUnpaN29uTE0vc05MZEpLWlZkUnIrYkl1NVk0NXNrYXkr?=
 =?utf-8?B?RXhvU0R6UkdYMitub3V1WjN3Zkw3SG9hU1hKVWFSaFZ3SE42QjcxcjJPM2Q5?=
 =?utf-8?B?UHp1Qlh6SDdSdGVwZmtjbXgvakd3TVY1OFQyeVluUnlPcFNxVkVJZ3IwcVk2?=
 =?utf-8?B?aWZLNEdnbDJZMmJ6UWhaU0cxSnBsUjAxcVQxb3dRblc3bzNDTHQ4ekhrRzdq?=
 =?utf-8?B?ck5wMkNxUi9VV2dReUJER29CaG5GR2gxV1lLSG5zZC9xZUs0K0hTTFY0WW8y?=
 =?utf-8?B?emZYU2hrVG1yT2pXTXFzZmU0c3JsUmZIcndWbHZOVzVmeXFtcEZ6SGJRVFIw?=
 =?utf-8?B?WFpyRVlwUThmTkRZd081SlZIU05hbjdUQy8veDlQOXhDS2NhUHdUUFNhL1pz?=
 =?utf-8?B?M1N6Z3hxaHg3Q3lmTUVnV0NIREt6Uk5iak5DK09BZlZBWjZPSjE2aHQwdkQr?=
 =?utf-8?B?S1IrTk9VZEZkUU5qOG4zK3dudzJKU0Vrc2RPa1ZXWTBWdk9mcExyVGwwMmM0?=
 =?utf-8?B?SzJHZTJUeTI2LzUrVHB3UXl4K1VFYXRRTjY0eHN2eWVBN0VqR2hNTVVVaVRB?=
 =?utf-8?B?R1VuNzNucjIvOUNsaVVRVy9Da1lvb0ZUMmtUbjVIc2o0Q2hDUkV0TUtHSXFv?=
 =?utf-8?B?V2IvbFE2VzZVd29zTUt0enM5ODVRK1ZURGwzYjJZYk1TUCt1NFJjUW1aZ0Rq?=
 =?utf-8?B?ZCtBMU1weG1hL1BEVXkvRFVqWVUxVEVnVTIzem5GRkVzTkpTOVhPdUNWUXFp?=
 =?utf-8?B?aGR3b0hYNmxJVWQ4eVcyK3lyeDJDMmNINnNKUS9kUTdySzJnVkY1RTFqZjJo?=
 =?utf-8?B?RHR6ZStBMTdpQUNtczB1VEcxQko0N1lFZ21XRVkydjM1S3hPY2l5TUF3ZFZB?=
 =?utf-8?B?RUJYWGdacXNSc09reWl2eXphUEpTQXAvRTJSQWY1UXVFTnFqWExSandxV2ls?=
 =?utf-8?B?SnNsbUN2RDUwYWtuQnFpWDY1SXowYTJsQUNCcUJKNUw4NzVWVVpsNEN1SGs4?=
 =?utf-8?B?OGViUnlwOW9OTU1Bc2dhUWZUa0VZczZuYzVIUG9Rd3VmT295c2U4eWJ2blht?=
 =?utf-8?B?VzVKaXdBK29qMmZ1RVVrMmk2U1FmZjBvT1FaZTlLR2FsOFhCTUJyOE9DM0VJ?=
 =?utf-8?Q?oLf7xJQcV7Qma4MwXhTT0pBhYAcC9dyTkNSQzkX?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?NDVHNTVFbnlhZXkvWHRid2xQVFJYaElZN3l3MXBYQWFCSFFqejNpNEdwaHVP?=
 =?utf-8?B?TkY1dDllTFlWaDFXZFdhRGZHZlJ2cFUxbUMrRTJ6SEpMblE3V2wzcnh6UEZZ?=
 =?utf-8?B?eEdQSjRHNEppYUpxY05INzJyNVFrUUEvdE9iVnFDdDR5STBoeFErd01UTDgw?=
 =?utf-8?B?TUJHdXprQ2ZyTm1jMThjSFVHV254TlpyVDYyMzlZY1hCc0twQXlWL2VveWFY?=
 =?utf-8?B?YjJhL3NEbGFmRzBNUWlrWHBtazdZN3lrUnZmalY4UFpZdElva0JpSXU5Tmt4?=
 =?utf-8?B?WVg0eXlKZmhoV0RZcWdCUU5qT0d4aGoza3VIM0FZYjFuNFRNUk1DWUpWK2hV?=
 =?utf-8?B?TjA2OXJtL3IzbFdCVlBVODdmeUh5endENzBNMlRpZVVxME84UlRyeUwxV0ND?=
 =?utf-8?B?KzVvV0FTWkYrMnhzaGZTbkEvTlVNT2FTM0N0S3hDMlJIQmtSU3d1eldWZkFU?=
 =?utf-8?B?clZCSXpzRnNvcENDUmYxZEJHTlYvZEZqakFaa0FXQTgwTjZtbXlWVDJ1b2dK?=
 =?utf-8?B?VFEvT09GNktRVnNKaVRFa0s2NmgrcWU3a2Z2RHMwUWlERUY0LzJBNWg5eHFL?=
 =?utf-8?B?SHQ4dlhFb0ZxMjhCK2NPR3dFQXA4MWJZVmRIR3YxMUFpQ2k0WUhSWklPYUts?=
 =?utf-8?B?RGc4VDVnSWhYUmEvUVZiczFJRm45VVhKa29wSDJPc21kdWNxczdIZWxENDVB?=
 =?utf-8?B?RStJZ2NlWWlaazRMN3ZBUEp4QmgwckhSSFpOMWtHb1VDc0RuSkhzNnBVUlhX?=
 =?utf-8?B?SHRtRGFRdjBFUGNNbzdJMlMwMkxQYjBjOWZ5Vm9nVTUyQXB4di9SSnNKUERy?=
 =?utf-8?B?T1dtclJIN0hQblVqVExlL3BvTHRnUEtLREtscFhhUWdCOUJ0SDk0bjdrT3FS?=
 =?utf-8?B?WUdJdjdKaHdXR3N6dWVHbU0rNG40VjlrRzc0bzlNVXlRRVJwWEE1d09tZi92?=
 =?utf-8?B?MHNDU1Fic25GWDNIZEV1bEF6VC96Sy96M3lNTUxJQ0o5dTlmajZKaVFLQlRH?=
 =?utf-8?B?MGhFSlpiK0xlbVIwTkpsc29ORDdocFliWDR4Tk1Lak5wVHAxR2x1dUg2MHEr?=
 =?utf-8?B?dUhMbjh2VHlFSkwrWVZoRGNuRUVheHR1Q0VtRlp0MDdmb3lUVGxXTG13RnZa?=
 =?utf-8?B?VVNreko2K1ZqWmxGc0xsMCsyWUJ5aWwyQVh2N09NNW5GNVRUR3hJck1uK2tK?=
 =?utf-8?B?VC9CY3BjZHNoWEx0dUVCR3hkeUNHQTFRVWVGdkNNWE1HTlJxdkdGRjRVbGZE?=
 =?utf-8?B?WUhMcVJMTUdHVFRBdlBXY3ppaGRUTnYxTWlEYlFvazlpeGkwcUo2YXFsZDI4?=
 =?utf-8?B?OElXSGhpWWVtc2dhcFZveUpZenVPZFNQTm9yRUVQY0ZabVIwMFFCQ1lSSlpa?=
 =?utf-8?B?aWluT0M4VEg4VTZSNnVyY25rWi9ZbDd4NjkxeUZKRlpvWUhoTmlSNTBlanRo?=
 =?utf-8?B?NCtEZzBWSzhzMHZDZkZJSXRZbmxUZHRia09LTlNKOGlPVGlxUUwzcW4yWHMr?=
 =?utf-8?B?ZGk3Y3pNTURXK05ETXQyLzBGNDN6L3hOVFIyRlV2TmQ1d2dveXgzWXhiQTF1?=
 =?utf-8?B?U3VFVFVlVzJHc1lDRGhubkRxLzc5N2VsWkYzR0t0bzV6UGJaN0pVRDRROWtY?=
 =?utf-8?B?MEp2TSsvcUpWYTF5VnltWXlKUm03R3Z0NldWTUgwa1FjejA3b1EvZTFQa2Ru?=
 =?utf-8?B?VzgxbkRFQVYvZU91M2NYRWZGTVVTZ3N0QWw5UVp6b1F3MmdSU0h2R2x6c1hj?=
 =?utf-8?B?cEhlRTNSOW5xUTBudHdFc01FeTBFR3ZRaVYzZkl2akFEK1BVR3NhRXVtVWp0?=
 =?utf-8?B?cUYzeWtnOU4vVGpqcXJ2SjZaOG9EaUFnL3V6VzBPaE9aOXR0SExMd25RNHRG?=
 =?utf-8?B?Y1owbTFheFVSMmFhUkxMUGs2dEJ2NmRaVkV6aTdaWjZaeXpqR3lBelRIK0lC?=
 =?utf-8?B?M0wrMWJSOGRoLzg3SDBHT1BsV3hxQ0E1RHpXMTc3NlgwSGVDUmIxSmNsUGor?=
 =?utf-8?B?eHRjNnlFQ3BKOFpPM0Q0cTE1aGs3SlhrRklJYXQvbnRNUkFiZThqWEdjRXZD?=
 =?utf-8?B?NmdhMDhPVkc5YnZCQjMvU0hZSmNOZWhKY1MrU1dWRkNWWWZMWFNRUkZMSGF2?=
 =?utf-8?Q?Vo5z5d6e7Q6VN7p1fOYSndVDs?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3703c1d4-631a-430a-4167-08dd6b7985ff
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2025 08:46:24.2091
 (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: aQpQ/lET1RMByszKkoCzoqy5ec9KkX5YT+CHeARO+IwYpfYnfGu69yixMlylwHnf
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB6015



On 24/03/2025 22:27, Oleksandr Tyshchenko wrote:
> 
> 
> On the device-tree-based Arm64 system, if Xen is built with
> CONFIG_ACPI=y, CONFIG_STATIC_MEMORY=y, and the static memory range
> is provided in the host device tree, the BUG is triggered in
> common/page_alloc.c during Xen's early boot. The BUG occurs when
> the first page from the static range is fed to the domain
> sub-allocator and finally ends up in mark_page_free().
> The pg->count_info & PGC_state is not in the state that
> the code expects to see there.
> 
> The problem is that the static range gets mistakenly unreserved
> in populate_boot_allocator() and reaches init_boot_pages().
> This happens since by the time the populate_boot_allocator()
> is executed, the evaluated in fw_unreserved_regions()
> an acpi_disabled variable is still false (CONFIG_ACPI=y) and
> dt_unreserved_regions() which should simply skip that static range
> does not get called. The acpi_disabled will be set to the actual
> value later on in acpi_boot_table_init().
> 
> To avoid unreserving the whole region (including potential reserved
> memory ranges such as static memory) open code fw_unreserved_regions()
> and add a comment.
> 
> Another solution could be to call acpi_boot_table_init() before
> setup_mm() in Arm64's start_xen().
Interesting issue. However IMO the problem is located somewhere else. At the
moment, with CONFIG_ACPI=n, acpi_disabled is set to true. With CONFIG_ACPI=y,
it's set to false even though entire acpi_boot_table_init() is written with
assumption that ACPI is off by default at the start. That's why
acpi_boot_table_init() calls e.g. disable_acpi() if it finds that user specified
acpi=off on cmdline. Why would it do that if the assumption was that
acpi_disabled is false? There's even a comment:
https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/acpi/boot.c;hb=HEAD#l257
that clearly says that "at this point ACPI is disabled".

Therefore, I think the fix should look as follows:
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index ffcae900d72e..9e94f1a8c761 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -57,7 +57,7 @@
 struct cpuinfo_arm __read_mostly system_cpuinfo;

 #ifdef CONFIG_ACPI
-bool __read_mostly acpi_disabled;
+bool __read_mostly acpi_disabled = true;
 #endif

 domid_t __read_mostly max_init_domid;

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 08:47:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 08:47:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926142.1329004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1twzws-0003D1-3c; Tue, 25 Mar 2025 08:47:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926142.1329004; Tue, 25 Mar 2025 08:47: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 1twzwr-0003Cu-W9; Tue, 25 Mar 2025 08:47:49 +0000
Received: by outflank-mailman (input) for mailman id 926142;
 Tue, 25 Mar 2025 08:47: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1twzwr-0003BT-44
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 08:47:49 +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 d3e2dea0-0955-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 09:47:48 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-391342fc148so3649780f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 01:47: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-3997f99561dsm13322509f8f.12.2025.03.25.01.47.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 01:47: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: d3e2dea0-0955-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742892467; x=1743497267; 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=Yg12JQpbt3xSZii10quMSUNM1Ae6R1UGjJH8iR4jZ4U=;
        b=bqOO504yx26u0VV21ta4brkjIYNO4UxjWEHdw3OWhfdy6sKVN7X2K4/EDjDESHUjy3
         xhRDNk7dORfPaoDQjQkcWObd5oQRk+CquPst1AgAl6WgpMZBpYm2ysjJ2sxab+BkAb28
         bsnrAhYQOnNG8kiiM9Vdx24RVP9K3gb9INHh8O++IsFiKofmkj2rPD1nGBbbjKmJZ7BP
         zefHxQ/BO8QgfQ7YkUZCOUAPtAxq/1kqoF7D8ZroUzw+M0+uQRgZO1YF4C4lTnDY70Ba
         IG3c+LEt5GcPr9piqIpQwnvO5vorvxlTHAO56/bgrOBez2tLdqzIp0o1KPEkWQrUMhet
         Y0bw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742892467; x=1743497267;
        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=Yg12JQpbt3xSZii10quMSUNM1Ae6R1UGjJH8iR4jZ4U=;
        b=D+mnBGJ/E/IYCQW+ftNvVzvbfsXbVbgx8fHbhx26ciTATcgyS1L+aTWvLZTdyLXgOO
         MjLEC08RTAvOwHVYXA7Y2XmKsJ2XbeWNh3WmAToLxVfXk0QlELjFCGA1Sul/7Ao3SFSs
         gg/pvwUkw8FoC77IuezVCNEvglYhLokDK571cXAHWmgN/5/eE6cEd2K7QHg9WYePClOI
         EEFPpbobYjc0FvL8z+6BFXFKaeEtaPArMb2vorZtYPQugeCIyXFzuGDNcCrFKHh160oG
         PUOgtZI+m5++rRo6QTRq5oBNH5Gdl1DZawLTmZTYqzyryo70yyg8uRL5Q0T85AEP+j4X
         bMGg==
X-Gm-Message-State: AOJu0Yx2ruohFH4Ah4cEC5+a6pceqJ1B8pz8HgFEHYCzDvlrEt8Vr02+
	jtwUxSG0RVXzvDQf+AUqonf4uqg9DIJEESmG4PamN0A1mja+vDO8iILR5cw5ZsDfEH7nRLQbFcA
	=
X-Gm-Gg: ASbGnctOsmRfo7k4gxnxKCLmXCkTqh0LvDsBvKBH1Bk+OIyDea/XkdSA0xpW18Ex0WJ
	jpUl40MpEmrbszPHE6K628tTX3wsFseRSBGhcs3tCt9NjasBLDgRSYxbYHuEripDnfI18CTlGyU
	zu3jjTxLyVWWvl28PQtM0nlfhXIIQmqqAbUAGs/cC0bxaIRPj/03o4UxlAdlcnh6h/opL1hxgtd
	80Gs492mccorXzgEc7ZOhp5zHALCYlJDZYCvWaaHb9NuHe+KUkoEIWL6Nhccv6ApOnCItzbVYh8
	kvlnB9T7JglllL3quYpacOF0v/Fz6mCP2dnbIX+jnZvbht8NWmjitS0cQc/skby3Z49a1EqHoMc
	0q7jOaE/xWdqvTsR/lZ/p5D34ghD6Ow==
X-Google-Smtp-Source: AGHT+IEE2txPys+XsdSX06hZvWGqolJ/3k2FKfSlRvhYsJYGeooOzR6LFfel7c8MJBNUvRiVTWmCVA==
X-Received: by 2002:a05:6000:4014:b0:391:6fd:bb65 with SMTP id ffacd0b85a97d-3997f8f5e17mr15514201f8f.9.1742892467598;
        Tue, 25 Mar 2025 01:47:47 -0700 (PDT)
Message-ID: <89d87fb0-88af-4495-92dd-cde28d8c25ff@suse.com>
Date: Tue, 25 Mar 2025 09:47:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4] x86/PVH: account for module command line length
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 <jandryuk@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

As per observation in practice, initrd->cmdline_pa is not normally zero.
Hence so far we always appended at least one byte. That alone may
already render insufficient the "allocation" made by find_memory().
Things would be worse when there's actually a (perhaps long) command
line.

Skip setup when the command line is empty. Amend the "allocation" size
by padding and actual size of module command line. Along these lines
also skip initrd setup when the initrd is zero size.

Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v4: Keep only ever accumulating into extra_space.
v3: Permit empty initrd with non-empty module command line again.
v2: Use elf_round_up(). Introduce initrd_cmdline local. Re-base.

--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -652,6 +652,7 @@ static int __init pvh_load_kernel(
     unsigned long image_len = image->size;
     unsigned long initrd_len = initrd ? initrd->size : 0;
     const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
+    const char *initrd_cmdline = NULL;
     struct elf_binary elf;
     struct elf_dom_parms parms;
     size_t extra_space;
@@ -715,7 +716,23 @@ static int __init pvh_load_kernel(
     extra_space = sizeof(start_info);
 
     if ( initrd )
-        extra_space += sizeof(mod) + ROUNDUP(initrd_len, PAGE_SIZE);
+    {
+        size_t initrd_space = elf_round_up(&elf, initrd_len);
+
+        if ( initrd->cmdline_pa )
+        {
+            initrd_cmdline = __va(initrd->cmdline_pa);
+            if ( !*initrd_cmdline )
+                initrd_cmdline = NULL;
+        }
+        if ( initrd_cmdline )
+            initrd_space += strlen(initrd_cmdline) + 1;
+
+        if ( initrd_space )
+            extra_space += ROUNDUP(initrd_space, PAGE_SIZE) + sizeof(mod);
+        else
+            initrd = NULL;
+    }
 
     if ( cmdline )
         extra_space += elf_round_up(&elf, strlen(cmdline) + 1);
@@ -740,12 +757,11 @@ static int __init pvh_load_kernel(
         mod.paddr = last_addr;
         mod.size = initrd_len;
         last_addr += elf_round_up(&elf, initrd_len);
-        if ( initrd->cmdline_pa )
+        if ( initrd_cmdline )
         {
-            char *str = __va(initrd->cmdline_pa);
-            size_t len = strlen(str) + 1;
+            size_t len = strlen(initrd_cmdline) + 1;
 
-            rc = hvm_copy_to_guest_phys(last_addr, str, len, v);
+            rc = hvm_copy_to_guest_phys(last_addr, initrd_cmdline, len, v);
             if ( rc )
             {
                 printk("Unable to copy module command line\n");


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 09:18:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 09:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926153.1329013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx0Py-0001ie-AS; Tue, 25 Mar 2025 09:17:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926153.1329013; Tue, 25 Mar 2025 09: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 1tx0Py-0001iX-73; Tue, 25 Mar 2025 09:17:54 +0000
Received: by outflank-mailman (input) for mailman id 926153;
 Tue, 25 Mar 2025 09:17: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=DLt0=WM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tx0Pw-0001iR-PF
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 09:17:52 +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 0666eafc-095a-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 10:17:51 +0100 (CET)
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 23D3D1F391;
 Tue, 25 Mar 2025 09:17:50 +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 C3E21137AC;
 Tue, 25 Mar 2025 09:17:49 +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 wkc/Lr104mcdMQAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 25 Mar 2025 09: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: 0666eafc-095a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894270; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=4ohdQZqOQq5GIQAz9o4rR0el+wRDKuajTFKtdu7KNqE=;
	b=REScFLu924Pu2P7CPzZ+BEk71yWbdNKAfXnGoUGE53gYai7uc0mbOXhbPlK4GnNbwvyMwX
	24aVgs7RJpfDBSbu5vT2M75Pt/fHO619kFazeHhcVj1XcrWYMtnLv7/dZky/socL5F9b+3
	YVEdWK9eUQDw6C03U7CDqWQXCEvak5g=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894270; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=4ohdQZqOQq5GIQAz9o4rR0el+wRDKuajTFKtdu7KNqE=;
	b=REScFLu924Pu2P7CPzZ+BEk71yWbdNKAfXnGoUGE53gYai7uc0mbOXhbPlK4GnNbwvyMwX
	24aVgs7RJpfDBSbu5vT2M75Pt/fHO619kFazeHhcVj1XcrWYMtnLv7/dZky/socL5F9b+3
	YVEdWK9eUQDw6C03U7CDqWQXCEvak5g=
Message-ID: <85aa1047-b045-4004-9306-b40e8c5fa6d9@suse.com>
Date: Tue, 25 Mar 2025 10:17:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 1/3] docs: update xenstore migration stream definition
To: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250314121835.1879-1-jgross@suse.com>
 <20250314121835.1879-2-jgross@suse.com>
Content-Language: en-US
From: Juergen Gross <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: <20250314121835.1879-2-jgross@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------2epZfDbXDohnV403F4KVuaCN"
X-Spam-Score: -5.19
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.993];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	RCVD_TLS_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RCPT_COUNT_SEVEN(0.00)[8];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------2epZfDbXDohnV403F4KVuaCN
Content-Type: multipart/mixed; boundary="------------a0l1lpdhWmiiVsiEHOSzlxl3";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <85aa1047-b045-4004-9306-b40e8c5fa6d9@suse.com>
Subject: Re: [PATCH v9 1/3] docs: update xenstore migration stream definition
References: <20250314121835.1879-1-jgross@suse.com>
 <20250314121835.1879-2-jgross@suse.com>
In-Reply-To: <20250314121835.1879-2-jgross@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=

--------------a0l1lpdhWmiiVsiEHOSzlxl3
Content-Type: multipart/mixed; boundary="------------eKcyf4auhfzkHY4ggXjDusQD"

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

T24gMTQuMDMuMjUgMTM6MTgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IEluIG9yZGVyIHRv
IGNsb3NlIGEgcmFjZSB3aW5kb3cgZm9yIFhlbnN0b3JlIGxpdmUgdXBkYXRlIHdoZW4gdXNp
bmcNCj4gdGhlIG5ldyB1bmlxdWVfaWQgb2YgZG9tYWlucywgdGhlIG1pZ3JhdGlvbiBzdHJl
YW0gbmVlZHMgdG8gY29udGFpbg0KPiB0aGlzIHVuaXF1ZV9pZCBmb3IgZWFjaCBkb21haW4g
a25vd24gYnkgWGVuc3RvcmUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3Nz
IDxqZ3Jvc3NAc3VzZS5jb20+DQoNClRoaXMgcGF0Y2ggaXMgc3RpbGwgbWlzc2luZyBhbiBB
Y2suDQoNCkp1bGllbj8NCg0KDQpKdWVyZ2VuDQoNCj4gLS0tDQo+IFY4Og0KPiAtIG5ldyBw
YXRjaA0KPiBWOToNCj4gLSBpbnN0ZWFkIG9mIHVzaW5nIGFuIG9mZnNldCwgdXNlIGEgZmxh
ZyBmb3IgdW5pcXVlX2lkIHByZXNlbmNlDQo+ICAgIChKdWxpZW4gR3JhbGwpDQo+IC0tLQ0K
PiAgIGRvY3MvZGVzaWducy94ZW5zdG9yZS1taWdyYXRpb24ubWQgfCAxOCArKysrKysrKysr
KysrKysrKy0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxl
dGlvbigtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RvY3MvZGVzaWducy94ZW5zdG9yZS1taWdy
YXRpb24ubWQgYi9kb2NzL2Rlc2lnbnMveGVuc3RvcmUtbWlncmF0aW9uLm1kDQo+IGluZGV4
IDA4MjMxNGJmNzIuLmEwYWNkNzZjZTEgMTAwNjQ0DQo+IC0tLSBhL2RvY3MvZGVzaWducy94
ZW5zdG9yZS1taWdyYXRpb24ubWQNCj4gKysrIGIvZG9jcy9kZXNpZ25zL3hlbnN0b3JlLW1p
Z3JhdGlvbi5tZA0KPiBAQCAtMTU2LDcgKzE1Niw3IEBAIHRoZSBkb21haW4gYmVpbmcgbWln
cmF0ZWQuDQo+ICAgYGBgDQo+ICAgICAgIDAgICAgICAgMSAgICAgICAyICAgICAgIDMgICAg
ICAgNCAgICAgICA1ICAgICAgIDYgICAgICAgNyAgICBvY3RldA0KPiAgICstLS0tLS0tKy0t
LS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0r
DQo+IC18IGNvbm4taWQgICAgICAgICAgICAgICAgICAgICAgIHwgY29ubi10eXBlICAgICB8
ICAgICAgICAgICAgICAgfA0KPiArfCBjb25uLWlkICAgICAgICAgICAgICAgICAgICAgICB8
IGNvbm4tdHlwZSAgICAgfCBmaWVsZHMgICAgICAgIHwNCj4gICArLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKw0KPiAg
IHwgY29ubi1zcGVjDQo+ICAgLi4uDQo+IEBAIC0xNjUsNiArMTY1LDkgQEAgdGhlIGRvbWFp
biBiZWluZyBtaWdyYXRlZC4NCj4gICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t
LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiAgIHwgZGF0YQ0KPiAgIC4u
Lg0KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSsNCj4gK3wgdW5pcXVlLWlkICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ICsrLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiAg
IGBgYA0KPiAgIA0KPiAgIA0KPiBAQCAtMTc4LDYgKzE4MSwxNiBAQCB0aGUgZG9tYWluIGJl
aW5nIG1pZ3JhdGVkLg0KPiAgIHwgICAgICAgICAgICAgICAgfCAweDAwMDE6IHNvY2tldCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ICAgfCAgICAgICAgICAgICAgICB8
IDB4MDAwMiAtIDB4RkZGRjogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgICAgIHwNCj4gICB8
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfA0KPiArfCBgZmllbGRzYCAgICAgICB8IEEgY29sbGVjdGlvbiBvZiBmbGFn
cyBpbmRpY2F0aW5nIHByZXNlbmNlICAgIHwNCj4gK3wgICAgICAgICAgICAgICAgfCBvZiBh
ZGRpdGlvbmFsIGZpZWxkcyBhZnRlciB0aGUgdmFyaWFibGUgICAgICB8DQo+ICt8ICAgICAg
ICAgICAgICAgIHwgbGVuZ3RoIGBkYXRhYCBwYXJ0LiBUaGUgYWRkaXRpb25hbCBmaWVsZHMg
ICAgfA0KPiArfCAgICAgICAgICAgICAgICB8IHdpbGwgc3RhcnQgYWZ0ZXIgYSBwb3NzaWJs
ZSBwYWRkaW5nIGZvciAgICAgIHwNCj4gK3wgICAgICAgICAgICAgICAgfCBhbGlnbmluZyB0
byBhIDggb2N0ZXQgYm91bmRhcnkuICAgICAgICAgICAgICB8DQo+ICt8ICAgICAgICAgICAg
ICAgIHwgRGVmaW5lZCBmbGFnIHZhbHVlcyAodG8gYmUgb3ItZWQpOiAgICAgICAgICAgfA0K
PiArfCAgICAgICAgICAgICAgICB8IDB4MDAwMTogYHVuaXF1ZV9pZGAgcHJlc2VudCAob25s
eSBuZWVkZWQgZm9yIHwNCj4gK3wgICAgICAgICAgICAgICAgfCAgICAgICAgIGBzaGFyZWQg
cmluZ2AgY29ubmVjdGlvbiBpbiBsaXZlICAgICB8DQo+ICt8ICAgICAgICAgICAgICAgIHwg
ICAgICAgICB1cGRhdGUgc3RyZWFtcykuICAgICAgICAgICAgICAgICAgICAgfA0KPiArfCAg
ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwNCj4gICB8IGBjb25uLXNwZWNgICAgIHwgU2VlIGJlbG93ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiAgIHwgICAgICAgICAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ICAgfCBgaW4t
ZGF0YS1sZW5gICB8IFRoZSBsZW5ndGggKGluIG9jdGV0cykgb2YgYW55IGRhdGEgcmVhZCAg
ICAgIHwNCj4gQEAgLTE5Myw2ICsyMDYsOSBAQCB0aGUgZG9tYWluIGJlaW5nIG1pZ3JhdGVk
Lg0KPiAgIHwgYGRhdGFgICAgICAgICAgfCBQZW5kaW5nIGRhdGE6IGZpcnN0IGluLWRhdGEt
bGVuIG9jdGV0cyBvZiAgICB8DQo+ICAgfCAgICAgICAgICAgICAgICB8IHJlYWQgZGF0YSwg
dGhlbiBvdXQtZGF0YS1sZW4gb2N0ZXRzIG9mICAgICAgIHwNCj4gICB8ICAgICAgICAgICAg
ICAgIHwgd3JpdHRlbiBkYXRhIChhbnkgb2YgYm90aCBtYXkgYmUgZW1wdHkpICAgICAgfA0K
PiArfCAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwNCj4gK3wgYHVuaXF1ZS1pZGAgICAgfCBVbmlxdWUgaWRlbnRpZmll
ciBvZiBhIGRvbWFpbiAgICAgICAgICAgICAgICB8DQo+ICt8ICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiAgIA0K
PiAgIEluIGNhc2Ugb2YgbGl2ZSB1cGRhdGUgdGhlIGNvbm5lY3Rpb24gcmVjb3JkIGZvciB0
aGUgY29ubmVjdGlvbiB2aWEgd2hpY2gNCj4gICB0aGUgbGl2ZSB1cGRhdGUgY29tbWFuZCB3
YXMgaXNzdWVkIHdpbGwgY29udGFpbiB0aGUgcmVzcG9uc2UgZm9yIHRoZSBsaXZlDQoNCg==

--------------eKcyf4auhfzkHY4ggXjDusQD
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-----

--------------eKcyf4auhfzkHY4ggXjDusQD--

--------------a0l1lpdhWmiiVsiEHOSzlxl3--

--------------2epZfDbXDohnV403F4KVuaCN
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/Ey8FAmfidL0FAwAAAAAACgkQsN6d1ii/Ey+i
Kwf8DA8ZyVPps049wXVRhluBsMl++iMjsWvs/9yr8qbitD4Sbd93JFULhEd+bzJRvMU2qExGNSjZ
v8jDw0fv61aoG9yoJ2+iqTVEtIcC/xbjj/Ev6v6gV7R+1D6J335K+EzdjykmFZNxaoQn9UPse4Dy
XZhNuhnsyx3TZNjh0VlyMSPwJ1LZXaXTNYm37CskX5ZQFf6eCE9QQYdq64lGETzpgz/esz97dJEO
VTZx5GclYyM2dqFxT1DejQVKXTn76OoU+G0c+uY59kmTfnzpHqXCi1BWvPTzGJ41IqxFM/yS/kv0
2Ms4x3kroey0dLmulDr2jqZc3bHFgfMnJIRuhV1Ofw==
=Q16C
-----END PGP SIGNATURE-----

--------------2epZfDbXDohnV403F4KVuaCN--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 09:20:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 09:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926164.1329024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx0Sl-0003ao-Pw; Tue, 25 Mar 2025 09:20:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926164.1329024; Tue, 25 Mar 2025 09:20: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 1tx0Sl-0003ah-Mr; Tue, 25 Mar 2025 09:20:47 +0000
Received: by outflank-mailman (input) for mailman id 926164;
 Tue, 25 Mar 2025 09:20: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=6Gn6=WM=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1tx0Sk-0003ab-GN
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 09:20:46 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e185323-095a-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 10:20:45 +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: 6e185323-095a-11f0-9ea3-5ba50f476ded
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1742894444;
	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=6QvtzpcrlTMKTUsjszgMNWd7fXMOiNd5xLGAalHbQxs=;
	b=QOMdMxBg1H6zgb4zHcPB1haB9iffsGBim2vaQ+wyuLnndP3GSVmNhSBK1BDHNzMC0bw+KH
	bu5oPJgsY+8KP7kuf2E1GEoXz7F177RB1NwKP9oNcMrvbgtNXu8ec86guIvUjV9Pwxfn8T
	MsvOpI/FScQCmlAc6V4eAMrDcMIat+JT875w2Qwv0Di/KbD70St7t6p1Tmas025hQwmYMk
	KP/rx2VRvJulCVkBFlKX+K9ZC577BUecmANqid1qZl8HzahbLxSxiXQXZlS0+Rt0WD7p0D
	mdiyvkFo+Nsqn3UWBaX+PgrlrQKIklwQE1hRo60h9BkEADvDHTV/93Gz+5z3Vg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1742894444;
	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=6QvtzpcrlTMKTUsjszgMNWd7fXMOiNd5xLGAalHbQxs=;
	b=SOSpKoaX7xhFOLAifQ1TBb5ORu4whJgBUD7Q62S3Xx2HgifaxTW+BNkbmo2amiYsibbnEW
	lxyc9UwshXqbQWAQ==
To: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>, Daniel Gomez
 <da.gomez@kernel.org>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, Bjorn Helgaas
 <helgaas@kernel.org>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
In-Reply-To: <87y0wtzg0z.ffs@tglx>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx>
Date: Tue, 25 Mar 2025 10:20:43 +0100
Message-ID: <87v7rxzct0.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 25 2025 at 09:11, Thomas Gleixner wrote:

> On Mon, Mar 24 2025 at 20:18, Roger Pau Monn=C3=A9 wrote:
>> On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
>>> The issue is that info appears to be uninitialized. So, this worked for=
 me:
>>
>> Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
>> this is x86, I was expecting x86 ot always use
>> x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
>> would like to better understand this.
>
> Indeed. On x86 this should not happen at all. On architectures, which do
> not use (hierarchical) interrupt domains, it will return NULL.
>
> So I really want to understand why this happens on x86 before such a
> "fix" is deployed.

So after staring at it some more it's clear. Without XEN, the domain
returned is the MSI parent domain, which is the vector domain in that
setup. That does not have a domain info set. But on legacy architectures
there is not even a domain.

It's really wonderful that we have a gazillion ways to manage the
backends of PCI/MSI....

So none of the suggested pointer checks will cover it correctly. Though
there is already a function which allows to query MSI domain flags
independent of the underlying insanity. Sorry for not catching it in
review.

Untested patch below.

Thanks,

        tglx
---
 drivers/pci/msi/msi.c |   18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -285,8 +285,6 @@ static void pci_msi_set_enable(struct pc
 static int msi_setup_msi_desc(struct pci_dev *dev, int nvec,
 			      struct irq_affinity_desc *masks)
 {
-	const struct irq_domain *d =3D dev_get_msi_domain(&dev->dev);
-	const struct msi_domain_info *info =3D d->host_data;
 	struct msi_desc desc;
 	u16 control;
=20
@@ -297,7 +295,7 @@ static int msi_setup_msi_desc(struct pci
 	/* Lies, damned lies, and MSIs */
 	if (dev->dev_flags & PCI_DEV_FLAGS_HAS_MSI_MASKING)
 		control |=3D PCI_MSI_FLAGS_MASKBIT;
-	if (info->flags & MSI_FLAG_NO_MASK)
+	if (pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY))
 		control &=3D ~PCI_MSI_FLAGS_MASKBIT;
=20
 	desc.nvec_used			=3D nvec;
@@ -605,20 +603,18 @@ static void __iomem *msix_map_region(str
  */
 void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
 {
-	const struct irq_domain *d =3D dev_get_msi_domain(&dev->dev);
-	const struct msi_domain_info *info =3D d->host_data;
-
 	desc->nvec_used				=3D 1;
 	desc->pci.msi_attrib.is_msix		=3D 1;
 	desc->pci.msi_attrib.is_64		=3D 1;
 	desc->pci.msi_attrib.default_irq	=3D dev->irq;
 	desc->pci.mask_base			=3D dev->msix_base;
-	desc->pci.msi_attrib.can_mask		=3D !(info->flags & MSI_FLAG_NO_MASK) &&
-						  !desc->pci.msi_attrib.is_virtual;
=20
-	if (desc->pci.msi_attrib.can_mask) {
+
+	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY) &&
+	    !desc->pci.msi_attrib.is_virtual) {
 		void __iomem *addr =3D pci_msix_desc_addr(desc);
=20
+		desc->pci.msi_attrib.can_mask =3D true;
 		desc->pci.msix_ctrl =3D readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
 	}
 }
@@ -715,8 +711,6 @@ static int msix_setup_interrupts(struct
 static int msix_capability_init(struct pci_dev *dev, struct msix_entry *en=
tries,
 				int nvec, struct irq_affinity *affd)
 {
-	const struct irq_domain *d =3D dev_get_msi_domain(&dev->dev);
-	const struct msi_domain_info *info =3D d->host_data;
 	int ret, tsize;
 	u16 control;
=20
@@ -747,7 +741,7 @@ static int msix_capability_init(struct p
 	/* Disable INTX */
 	pci_intx_for_msi(dev, 0);
=20
-	if (!(info->flags & MSI_FLAG_NO_MASK)) {
+	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY)) {
 		/*
 		 * Ensure that all table entries are masked to prevent
 		 * stale entries from firing in a crash kernel.


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 09:24:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 09:24:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926177.1329034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx0WR-0004se-7Y; Tue, 25 Mar 2025 09:24:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926177.1329034; Tue, 25 Mar 2025 09:24: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 1tx0WR-0004sX-4x; Tue, 25 Mar 2025 09:24:35 +0000
Received: by outflank-mailman (input) for mailman id 926177;
 Tue, 25 Mar 2025 09:24: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=DLt0=WM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tx0WP-0004sM-Lx
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 09:24:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5f9f1e2-095a-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 10:24:32 +0100 (CET)
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 26C5E2116E;
 Tue, 25 Mar 2025 09:24:32 +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 E7FE7137AC;
 Tue, 25 Mar 2025 09:24:31 +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 tBMgN0924mdoMwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 25 Mar 2025 09:24: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: f5f9f1e2-095a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894672; 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=ZTqQ8xUypzZhhhoaST+VUqDY+Lww+7VAFgGiGzWGpW8=;
	b=iH0kQqa9P8iC9IE/rUJE/e1pLc5rdSTjsQULAvL5a0G8xs2aHtkdjws4KMdFX11c25gdJX
	XiI5RTSAOWswSjv367XExgXKdP5nisjEhGj3a9bVU2LWxZ/5N4f6e4z1RpB+eKkKC85Caa
	QbiQ0uABsZRTMgsDDV/7J4j62JkUS44=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=iH0kQqa9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894672; 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=ZTqQ8xUypzZhhhoaST+VUqDY+Lww+7VAFgGiGzWGpW8=;
	b=iH0kQqa9P8iC9IE/rUJE/e1pLc5rdSTjsQULAvL5a0G8xs2aHtkdjws4KMdFX11c25gdJX
	XiI5RTSAOWswSjv367XExgXKdP5nisjEhGj3a9bVU2LWxZ/5N4f6e4z1RpB+eKkKC85Caa
	QbiQ0uABsZRTMgsDDV/7J4j62JkUS44=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v3 0/2] 9pfs: add some file operation hooks
Date: Tue, 25 Mar 2025 10:24:26 +0100
Message-ID: <20250325092428.23040-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 26C5E2116E
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.98%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:dkim,suse.com:mid];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

For being able to store the Xenstore state in preparation of a live
update operation, 9pfront is needing support for fstat and lseek.

Changes in V2:
- addressed comment for patch 1

Changes in V3:
- addressed comment for patch 1

Juergen Gross (2):
  9pfs: add fstat file operation hook
  9pfs: add lseek file operation hook

 9pfront.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 09:24:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 09:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926179.1329049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx0WX-0005Ac-II; Tue, 25 Mar 2025 09:24:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926179.1329049; Tue, 25 Mar 2025 09:24: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 1tx0WX-0005AT-DX; Tue, 25 Mar 2025 09:24:41 +0000
Received: by outflank-mailman (input) for mailman id 926179;
 Tue, 25 Mar 2025 09:24: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=DLt0=WM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tx0WW-00059a-97
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 09:24:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f94b1721-095a-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 10:24:38 +0100 (CET)
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 E505C2116E;
 Tue, 25 Mar 2025 09:24:37 +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 B245F137AC;
 Tue, 25 Mar 2025 09:24:37 +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 BwXGKVV24md8MwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 25 Mar 2025 09:24: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: f94b1721-095a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894678; 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=jP7aTmS4mgfcI53w0C1wXKRp4YRB4henwetMoPS3Xbc=;
	b=BVNa6zYr3Lz9nnkkVEjC1w/f583zGhf/MUZWE4YsdcbfEG3oQPIfkSJmiT14+BGawmzr39
	GgDPchOgUbD3pY+9BQbeqIV/gPobr2WMl6vMSK7vMNzmKMtdrYYPX0aEtWMSse+49qzYEF
	7YmyNi67es01byxrf7mS9s7MhvdTPS0=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894677; 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=jP7aTmS4mgfcI53w0C1wXKRp4YRB4henwetMoPS3Xbc=;
	b=CfXjrCTA/QIbWCgwtvMAQTOS7aGbYI/BACsp/4aNNq8izWoPeOx3Bjho5QVbQJmLoqUsfS
	a/PDKcdP0Nmaxtd+vwRILiofM5jJxuKaX2asjNP0xvVcCE8IYDgsNixlx8rercVkYBsqG6
	WnRo7ccR1DLF9TVqhPNJA9thxBwqU7Q=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v3 1/2] 9pfs: add fstat file operation hook
Date: Tue, 25 Mar 2025 10:24:27 +0100
Message-ID: <20250325092428.23040-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250325092428.23040-1-jgross@suse.com>
References: <20250325092428.23040-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)[99.99%];
	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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Add a file operations fstat hook to the 9pfs frontend.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
V2:
- or file access mode into st_mode (Jason Andryuk)
V3:
- set st_ctime, too (Samuel Thibault)
---
 9pfront.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/9pfront.c b/9pfront.c
index 1741d600..e676da35 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -85,6 +85,8 @@ struct file_9pfs {
 
 #define P9_QID_SIZE    13
 
+#define QID_TYPE_DIR   0x80     /* Applies to qid[0]. */
+
 struct p9_header {
     uint32_t size;
     uint8_t cmd;
@@ -950,6 +952,33 @@ static int write_9pfs(struct file *file, const void *buf, size_t nbytes)
     return ret;
 }
 
+static int fstat_9pfs(struct file *file, struct stat *buf)
+{
+    struct file_9pfs *f9pfs = file->filedata;
+    struct p9_stat stat;
+    int ret;
+
+    ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
+    if ( ret )
+    {
+        errno = EIO;
+        return -1;
+    }
+
+    buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
+    buf->st_mode |= stat.mode & 0777;
+    buf->st_atime = stat.atime;
+    buf->st_mtime = stat.mtime;
+    buf->st_ctime = stat.mtime;   /* Best available estimate. */
+    buf->st_size = stat.length;
+    buf->st_uid = stat.n_uid;
+    buf->st_gid = stat.n_gid;
+
+    free_stat(&stat);
+
+    return 0;
+}
+
 static int close_9pfs(struct file *file)
 {
     struct file_9pfs *f9pfs = file->filedata;
@@ -1296,6 +1325,7 @@ static const struct file_ops ops_9pfs = {
     .read = read_9pfs,
     .write = write_9pfs,
     .close = close_9pfs,
+    .fstat = fstat_9pfs,
 };
 
 __attribute__((constructor))
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 09:24:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 09:24:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926182.1329062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx0Wb-0005Ul-QW; Tue, 25 Mar 2025 09:24:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926182.1329062; Tue, 25 Mar 2025 09:24: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 1tx0Wb-0005Ue-Mr; Tue, 25 Mar 2025 09:24:45 +0000
Received: by outflank-mailman (input) for mailman id 926182;
 Tue, 25 Mar 2025 09:24: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=DLt0=WM=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1tx0Wa-0004sM-FS
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 09:24:44 +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 fc9adeb7-095a-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 10:24:44 +0100 (CET)
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 897D21F391;
 Tue, 25 Mar 2025 09:24:43 +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 50915137AC;
 Tue, 25 Mar 2025 09:24:43 +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 /Bk7Elt24meHMwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 25 Mar 2025 09:24: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: fc9adeb7-095a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894683; 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=HmEfZe35xoFKsWhTqhezGsxyfw0BNdUzc5kZ9BZLcMM=;
	b=Y/ZnsIxMGqnt5F5Cp1fY8W2OV3jNnQ5EoigwZkACeHSCFm0jVVytoSI7dDGcrLL5rJPT/6
	qMkToPoB1c2JcvVPW8bEoudLYna1u82IZb51cyKjathwPsAKXixnw2oprJczURwE6ZDSQP
	9nKkIkV9gM6/MAYDqiG0ZfT3CeVx5yg=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742894683; 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=HmEfZe35xoFKsWhTqhezGsxyfw0BNdUzc5kZ9BZLcMM=;
	b=Y/ZnsIxMGqnt5F5Cp1fY8W2OV3jNnQ5EoigwZkACeHSCFm0jVVytoSI7dDGcrLL5rJPT/6
	qMkToPoB1c2JcvVPW8bEoudLYna1u82IZb51cyKjathwPsAKXixnw2oprJczURwE6ZDSQP
	9nKkIkV9gM6/MAYDqiG0ZfT3CeVx5yg=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v3 2/2] 9pfs: add lseek file operation hook
Date: Tue, 25 Mar 2025 10:24:28 +0100
Message-ID: <20250325092428.23040-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250325092428.23040-1-jgross@suse.com>
References: <20250325092428.23040-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	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];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Add a file operations lseek hook to the 9pfs frontend. Just use the
lseek_default() implementation.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 9pfront.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/9pfront.c b/9pfront.c
index e676da35..895426d1 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -1326,6 +1326,7 @@ static const struct file_ops ops_9pfs = {
     .write = write_9pfs,
     .close = close_9pfs,
     .fstat = fstat_9pfs,
+    .lseek = lseek_default,
 };
 
 __attribute__((constructor))
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 09:47:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 09:47:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926219.1329075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx0sa-0002i3-KO; Tue, 25 Mar 2025 09:47:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926219.1329075; Tue, 25 Mar 2025 09:47: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 1tx0sa-0002hw-HP; Tue, 25 Mar 2025 09:47:28 +0000
Received: by outflank-mailman (input) for mailman id 926219;
 Tue, 25 Mar 2025 09:47: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=7/9K=WM=kernel.org=da.gomez@srs-se1.protection.inumbo.net>)
 id 1tx0sZ-0002hW-7R
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 09:47:27 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2400690a-095e-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 10:47:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 7F14B5C5B93;
 Tue, 25 Mar 2025 09:45:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B36E4C4CEF0;
 Tue, 25 Mar 2025 09:47: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: 2400690a-095e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742896037;
	bh=e/cDwoDYdQaopoXoOusl1jpVk2a3pu7zoD7m7IynecY=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=nSQ8maGzxFhBcSBD98bBUetgXwUzTMQK5kVJCEOKHf7ep4LnNnGQYuruubV+f7i1Q
	 l6JrBXyixWQhqMiq39yAPsXSumlFxCm1dbcue9vG9VNWSSAOnczfDULgIvtxxbuduy
	 ewCCmcSgfYSowrlvcY3cRZFLD2zC4N5heFz4QKFV+XdfkUhyPT6k83KUDQ3WLoskGm
	 KX5BUo7I3FISHLPBazsfflFZ0Q9Bv3YzOY8og3hu+0n/cDvLgNzqEKB2tOLAxR5qLu
	 7eHygN1UplrEtFdLGk7rpmdAZF6WTbWe8WmDBKOPa3hzHVbCfqbQNtqJSHmRWI2+MB
	 +jU5N7rdahzSw==
Date: Tue, 25 Mar 2025 10:47:14 +0100
From: Daniel Gomez <da.gomez@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>, 
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>, 
	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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <gu73hcbm5opv7wpdsbyyrends3dcxkzvran2asoepujlhfeqas@76rncc27opy2>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local>
 <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87v7rxzct0.ffs@tglx>

On Tue, Mar 25, 2025 at 10:20:43AM +0100, Thomas Gleixner wrote:
> On Tue, Mar 25 2025 at 09:11, Thomas Gleixner wrote:
> 
> > On Mon, Mar 24 2025 at 20:18, Roger Pau Monné wrote:
> >> On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
> >>> The issue is that info appears to be uninitialized. So, this worked for me:
> >>
> >> Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
> >> this is x86, I was expecting x86 ot always use
> >> x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
> >> would like to better understand this.
> >
> > Indeed. On x86 this should not happen at all. On architectures, which do
> > not use (hierarchical) interrupt domains, it will return NULL.
> >
> > So I really want to understand why this happens on x86 before such a
> > "fix" is deployed.
> 
> So after staring at it some more it's clear. Without XEN, the domain
> returned is the MSI parent domain, which is the vector domain in that
> setup. That does not have a domain info set. But on legacy architectures
> there is not even a domain.
> 
> It's really wonderful that we have a gazillion ways to manage the
> backends of PCI/MSI....
> 
> So none of the suggested pointer checks will cover it correctly. Though
> there is already a function which allows to query MSI domain flags
> independent of the underlying insanity. Sorry for not catching it in
> review.
> 
> Untested patch below.
> 
> Thanks,
> 
>         tglx
> ---
>  drivers/pci/msi/msi.c |   18 ++++++------------
>  1 file changed, 6 insertions(+), 12 deletions(-)
> 
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -285,8 +285,6 @@ static void pci_msi_set_enable(struct pc
>  static int msi_setup_msi_desc(struct pci_dev *dev, int nvec,
>  			      struct irq_affinity_desc *masks)
>  {
> -	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> -	const struct msi_domain_info *info = d->host_data;
>  	struct msi_desc desc;
>  	u16 control;
>  
> @@ -297,7 +295,7 @@ static int msi_setup_msi_desc(struct pci
>  	/* Lies, damned lies, and MSIs */
>  	if (dev->dev_flags & PCI_DEV_FLAGS_HAS_MSI_MASKING)
>  		control |= PCI_MSI_FLAGS_MASKBIT;
> -	if (info->flags & MSI_FLAG_NO_MASK)
> +	if (pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY))
>  		control &= ~PCI_MSI_FLAGS_MASKBIT;
>  
>  	desc.nvec_used			= nvec;
> @@ -605,20 +603,18 @@ static void __iomem *msix_map_region(str
>   */
>  void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
>  {
> -	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> -	const struct msi_domain_info *info = d->host_data;
> -
>  	desc->nvec_used				= 1;
>  	desc->pci.msi_attrib.is_msix		= 1;
>  	desc->pci.msi_attrib.is_64		= 1;
>  	desc->pci.msi_attrib.default_irq	= dev->irq;
>  	desc->pci.mask_base			= dev->msix_base;
> -	desc->pci.msi_attrib.can_mask		= !(info->flags & MSI_FLAG_NO_MASK) &&
> -						  !desc->pci.msi_attrib.is_virtual;
>  
> -	if (desc->pci.msi_attrib.can_mask) {
> +
> +	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY) &&
> +	    !desc->pci.msi_attrib.is_virtual) {
>  		void __iomem *addr = pci_msix_desc_addr(desc);
>  
> +		desc->pci.msi_attrib.can_mask = true;

can_mask is u8.

>  		desc->pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
>  	}
>  }
> @@ -715,8 +711,6 @@ static int msix_setup_interrupts(struct
>  static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
>  				int nvec, struct irq_affinity *affd)
>  {
> -	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> -	const struct msi_domain_info *info = d->host_data;
>  	int ret, tsize;
>  	u16 control;
>  
> @@ -747,7 +741,7 @@ static int msix_capability_init(struct p
>  	/* Disable INTX */
>  	pci_intx_for_msi(dev, 0);
>  
> -	if (!(info->flags & MSI_FLAG_NO_MASK)) {
> +	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY)) {
>  		/*
>  		 * Ensure that all table entries are masked to prevent
>  		 * stale entries from firing in a crash kernel.

It works, thanks!

For the final patch:

Tested-by: Daniel Gomez <da.gomez@samsung.com>

Daniel


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 09:57:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 09:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926231.1329085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx12R-00059Q-Ke; Tue, 25 Mar 2025 09:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926231.1329085; Tue, 25 Mar 2025 09:57: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 1tx12R-00059J-HT; Tue, 25 Mar 2025 09:57:39 +0000
Received: by outflank-mailman (input) for mailman id 926231;
 Tue, 25 Mar 2025 09:57: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx12P-00059D-IK
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 09:57:37 +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 940810a3-095f-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 10:57:36 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso35610525e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 02:57: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-3997f9e66c7sm13386385f8f.79.2025.03.25.02.57.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 02:57: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: 940810a3-095f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742896655; x=1743501455; 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=CNYcVLsr4z0I9spjQ9GStxwZKnpqNdAt4L56Mi/ZP4I=;
        b=EPKuKoHvzOTSLZUVHaAytVvm/OdSmX/eCbPA4Zf8WLy6HYgov+KO0TnsvW7Th3IgM0
         vr60lNIr2oqVmUDgx3fhichOqDx1dZcP+nQrx4pQaH2Xa8d1i+PKA70xEtSM91EEjUNj
         l0izMhSlsshjqG/PUTRq9+8tV0izxJdUDaby8jBkuvXm8UJ6riPVo9guSkVa+hiF2XJa
         UtwiB0Akage02eBl9Kh5r+/SmvJikyJXABdGdjgnJm3K2QcFXn4Ff1KBWGL8dbPSkpZA
         D60K671QsEkIaMyxOE3XoPJtPyJSALrcJbmH8XjRae3MpYERqBMn8xSyjDmVIRV9rJPp
         3CzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742896655; x=1743501455;
        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=CNYcVLsr4z0I9spjQ9GStxwZKnpqNdAt4L56Mi/ZP4I=;
        b=NJIIh89yqUFUWINpbzkQ8ilmyL9QCYqQ6m8YveYPNeeeuTu11HuSVZbQUq1s98ISCY
         kzGoCAzusz9hqhJ8eC6ZQdnr7SQt6lYgcdrGJ+V3EYCSwgrXOfrCIxbZ1FUHnQt+3s0k
         s7wob3Jngq3V9vgNax0sqqAWPtHmnlV2l2z+lv4bgz6ttpnxRC7GJPKjjSTr7GrNGEBn
         I7UI3e+v0UHDmB66ggt/n4O80bM1N6ZGsAf7dk0S8tQbt8zPkxgwgPYWVh4EEzA19lGc
         9taEoSx8qihuB6lhPpnyWmaAKKMGcAFplna5hOeCCY0BfhoYwBjMK2tM3n8BgUyLouw7
         nNuA==
X-Forwarded-Encrypted: i=1; AJvYcCXsZtqGZAeOj5lqrUahdxaMbJhQIge940+L64wjCbH6NVV9HTCkP5PyVapoGrRn0niI5BMbqjJqkeo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwypMWtH29cJamb/PB631yandpdlmxFVi0jfR0EskEkaUjPMuy0
	ecMFkJsKhHTf3SnLMyQbMmCNZlBCr0zCeC+2zS18jmYEmEAsamic5S8gVElrHS4uEbNQYgsLlrI
	=
X-Gm-Gg: ASbGncux+ufVnY6+FDJtpC6tpKuxm9gef4QHFpae+J3/tHlOWwIXZ+6F6rshXNSXyEU
	Q0l7YXSmPA6+Itvst1GW/cq4ZxGLwRJzmSBnLb0ilERWyUzG7KPhqAKugv4r0tBr0NqSWV/DBQm
	AoA24Dtwo7WeL2cwVvSHAmF1+B57KwsiSn/3CT4XtLD29mX2sAsW3jEkVZW2vu+ORkcykWksh4J
	bI7GMir0EVgMXWbR59FDbBKSqdDViWQRn1Cr4U+SDN4sPCS/CkTHl2SA9qADYvltMwyb9IE2xan
	6FBwMR8f+Bbyl6stAVCNb+zH/TqQcraPWTAP/g2mLhbYnyLV10WdTI07H1nIvJKVdRARZjYqhqd
	ewZXpNc46gJuET68N6Bc8ox461utfsw==
X-Google-Smtp-Source: AGHT+IHXLIgUJJ0ohLuXQ7uckbqrs7PBfwYQO7QfhL9RfoxkdxP4QbNENTFugiwKTgvEYbQGyEpTHQ==
X-Received: by 2002:a5d:64e4:0:b0:38f:3b9b:6f91 with SMTP id ffacd0b85a97d-3997f8fa8f5mr14709326f8f.12.1742896655192;
        Tue, 25 Mar 2025 02:57:35 -0700 (PDT)
Message-ID: <4fe44e49-f55d-4d2a-ac02-538038e9128c@suse.com>
Date: Tue, 25 Mar 2025 10:57:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/15] xen/x86: introduce a new amd cppc driver for
 cpufreq scaling
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-10-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 09:39, Penny Zheng wrote:
> v2 -> v3:
> - Move all MSR-definations to msr-index.h and follow the required style
> - Refactor opening figure braces for struct/union
> - Sort overlong lines throughout the series
> - Make offset/res int covering underflow scenario
> - Error out when amd_max_freq_mhz isn't set

Given the issue with the patch filling amd_max_freq_mhz I wonder how you
successfully tested this patch here.

> - Introduce amd_get_freq(name) macro to decrease redundancy

Hmm, that's not quite what I was hoping for. I'll comment there in more
detail.

> --- a/xen/arch/x86/acpi/cpufreq/amd-cppc.c
> +++ b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
> @@ -14,7 +14,50 @@
>  #include <xen/domain.h>
>  #include <xen/init.h>
>  #include <xen/param.h>
> +#include <xen/percpu.h>
> +#include <xen/xvmalloc.h>
>  #include <acpi/cpufreq/cpufreq.h>
> +#include <asm/amd.h>
> +#include <asm/msr-index.h>
> +
> +#define amd_cppc_err(cpu, fmt, args...)                     \
> +    printk(XENLOG_ERR "AMD_CPPC: CPU%u error: " fmt, cpu, ## args)
> +#define amd_cppc_warn(fmt, args...)                         \
> +    printk(XENLOG_WARNING "AMD_CPPC: CPU%u warning: " fmt, cpu, ## args)
> +#define amd_cppc_verbose(fmt, args...)                      \
> +({                                                          \
> +    if ( cpufreq_verbose )                                  \
> +        printk(XENLOG_DEBUG "AMD_CPPC: " fmt, ## args);     \
> +})

Why would warning and error come with a CPU number at all times, but not
the verbose construct?

> +struct amd_cppc_drv_data
> +{
> +    const struct xen_processor_cppc *cppc_data;
> +    union {
> +        uint64_t raw;
> +        struct {
> +            unsigned int lowest_perf:8;
> +            unsigned int lowest_nonlinear_perf:8;
> +            unsigned int nominal_perf:8;
> +            unsigned int highest_perf:8;
> +            unsigned int :32;
> +        };
> +    } caps;
> +    union {
> +        uint64_t raw;
> +        struct {
> +            unsigned int max_perf:8;
> +            unsigned int min_perf:8;
> +            unsigned int des_perf:8;
> +            unsigned int epp:8;
> +            unsigned int :32;
> +        };
> +    } req;
> +
> +    int err;
> +};
> +
> +static DEFINE_PER_CPU_READ_MOSTLY(struct amd_cppc_drv_data *, amd_cppc_drv_data);

Nit: Line length. I wonder what "Sort overlong lines throughout the series"
is meant to say in the revision log.

> @@ -51,10 +94,337 @@ int __init amd_cppc_cmdline_parse(const char *s, const char *e)
>      return 0;
>  }
>  
> +/*
> + * If CPPC lowest_freq and nominal_freq registers are exposed then we can
> + * use them to convert perf to freq and vice versa. The conversion is
> + * extrapolated as an linear function passing by the 2 points:
> + *  - (Low perf, Low freq)
> + *  - (Nominal perf, Nominal freq)
> + */
> +static int amd_cppc_khz_to_perf(const struct amd_cppc_drv_data *data,
> +                                unsigned int freq, uint8_t *perf)
> +{
> +    const struct xen_processor_cppc *cppc_data = data->cppc_data;
> +    uint64_t mul, div;
> +    int offset = 0, res;
> +
> +    if ( freq == (cppc_data->nominal_mhz * 1000) )
> +    {
> +        *perf = data->caps.nominal_perf;
> +        return 0;
> +    }
> +
> +    if ( freq == (cppc_data->lowest_mhz * 1000) )
> +    {
> +        *perf = data->caps.lowest_perf;
> +        return 0;
> +    }
> +
> +    if ( cppc_data->lowest_mhz && cppc_data->nominal_mhz )
> +    {
> +        mul = data->caps.nominal_perf - data->caps.lowest_perf;
> +        div = cppc_data->nominal_mhz - cppc_data->lowest_mhz;
> +        /*
> +         * We don't need to convert to KHz for computing offset and can

Nit: kHz (i.e. unlike MHz)

> +         * directly use nominal_mhz and lowest_mhz as the division
> +         * will remove the frequency unit.
> +         */
> +        div = div ?: 1;

Imo the cppc_data->lowest_mhz >= cppc_data->nominal_mhz case better
wouldn't make it here, but use the fallback path below. Or special-
case cppc_data->lowest_mhz == cppc_data->nominal_mhz: mul would
(hopefully) be zero (i.e. there would be the expectation that
data->caps.nominal_perf == data->caps.lowest_perf, yet no guarantee
without checking), and hence ...

> +        offset = data->caps.nominal_perf -
> +                 (mul * cppc_data->nominal_mhz) / div;

... offset = data->caps.nominal_perf regardless of "div" (as long
as that's not zero). I.e. the "equal" case may still be fine to take
this path.

Or is there a check somewhere that lowest_mhz <= nominal_mhz and
lowest_perf <= nominal_perf, which I'm simply overlooking?

> +    }
> +    else
> +    {
> +        /* Read Processor Max Speed(mhz) as anchor point */
> +        mul = data->caps.highest_perf;
> +        div = this_cpu(amd_max_freq_mhz);
> +        if ( !div )
> +            return -EINVAL;
> +    }
> +
> +    res = offset + (mul * freq) / (div * 1000);
> +    if ( res > UINT8_MAX )

I can't quite convince myself that res can't end up negative here, in
which case ...

> +    {
> +        printk_once(XENLOG_WARNING
> +                    "Perf value exceeds maximum value 255: %d\n", res);
> +        *perf = 0xff;
> +        return 0;
> +    }
> +    *perf = (uint8_t)res;

... a bogus value would be stored here.

> +    return 0;
> +}
> +
> +#define amd_get_freq(name)                                                  \

The macro parameter is used just ...

> +    static int amd_get_##name##_freq(const struct amd_cppc_drv_data *data,  \

... here, ...

> +                                     unsigned int *freq)                    \
> +    {                                                                       \
> +        const struct xen_processor_cppc *cppc_data = data->cppc_data;       \
> +        uint64_t mul, div, res;                                             \
> +                                                                            \
> +        if ( cppc_data->name##_mhz )                                        \
> +        {                                                                   \
> +            /* Switch to khz */                                             \
> +            *freq = cppc_data->name##_mhz * 1000;                           \

... twice here forthe MHz value, and ...

> +            return 0;                                                       \
> +        }                                                                   \
> +                                                                            \
> +        /* Read Processor Max Speed(mhz) as anchor point */                 \
> +        mul = this_cpu(amd_max_freq_mhz);                                   \
> +        if ( !mul )                                                         \
> +            return -EINVAL;                                                 \
> +        div = data->caps.highest_perf;                                      \
> +        res = (mul * data->caps.name##_perf * 1000) / div;                  \

... here for the respective perf indicator. Why does it take ...

> +        if ( res > UINT_MAX )                                               \
> +        {                                                                   \
> +            printk(XENLOG_ERR                                               \
> +                   "Frequeny exceeds maximum value UINT_MAX: %lu\n", res);  \
> +            return -EINVAL;                                                 \
> +        }                                                                   \
> +        *freq = (unsigned int)res;                                          \
> +                                                                            \
> +        return 0;                                                           \
> +    }                                                                       \
> +
> +amd_get_freq(lowest);
> +amd_get_freq(nominal);

... two almost identical functions, when one (with two extra input parameters)
would suffice?

In amd_cppc_khz_to_perf() you have a check to avoid division by zero. Why
not the same safeguarding here?

> +static int amd_get_max_freq(const struct amd_cppc_drv_data *data,
> +                            unsigned int *max_freq)
> +{
> +    unsigned int nom_freq, boost_ratio;
> +    int res;
> +
> +    res = amd_get_nominal_freq(data, &nom_freq);
> +    if ( res )
> +        return res;
> +
> +    boost_ratio = (unsigned int)(data->caps.highest_perf /
> +                                 data->caps.nominal_perf);

Similarly here - I can't spot what would prevent division by zero.

> +    *max_freq = nom_freq * boost_ratio;

Nor is it clear to me why (with bogus MSR contents) boost_ratio couldn't
end up being zero, and hence we'd report back ...

> +    return 0;

... success with a frequency of 0.

> +}
> +
> +static int cf_check amd_cppc_cpufreq_verify(struct cpufreq_policy *policy)
> +{
> +    cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
> +                                 policy->cpuinfo.max_freq);
> +
> +    return 0;
> +}
> +
> +static void amd_cppc_write_request_msrs(void *info)
> +{
> +    struct amd_cppc_drv_data *data = info;
> +
> +    if ( wrmsr_safe(MSR_AMD_CPPC_REQ, data->req.raw) )
> +    {
> +        data->err = -EINVAL;
> +        return;
> +    }
> +}
> +
> +static int cf_check amd_cppc_write_request(unsigned int cpu, uint8_t min_perf,
> +                                           uint8_t des_perf, uint8_t max_perf)

The cf_check looks to be misplaced here, and rather wants to go to
amd_cppc_write_request_msrs() because of ...

> +{
> +    struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
> +    uint64_t prev = data->req.raw;
> +
> +    data->req.min_perf = min_perf;
> +    data->req.max_perf = max_perf;
> +    data->req.des_perf = des_perf;
> +
> +    if ( prev == data->req.raw )
> +        return 0;
> +
> +    data->err = 0;
> +    on_selected_cpus(cpumask_of(cpu), amd_cppc_write_request_msrs, data, 1);

... this use of a function pointer here.

> +    return data->err;
> +}
> +
> +static int cf_check amd_cppc_cpufreq_target(struct cpufreq_policy *policy,
> +                                            unsigned int target_freq,
> +                                            unsigned int relation)
> +{
> +    unsigned int cpu = policy->cpu;
> +    const struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
> +    uint8_t des_perf;
> +    int res;
> +
> +    if ( unlikely(!target_freq) )
> +        return 0;

Checking other *_cpufreq_target() functions, none would silently ignore
a zero input. (HWP's ignores the input altogether though; Cc-ing Jason
for possible clarification: I would have expected this driver here and
the HWP one to be similar in this regard.)

> +    res = amd_cppc_khz_to_perf(data, target_freq, &des_perf);
> +    if ( res )
> +        return res;
> +
> +    return amd_cppc_write_request(policy->cpu, data->caps.lowest_nonlinear_perf,
> +                                  des_perf, data->caps.highest_perf);

As before: the use of the "non-linear" value here wants to come with a
(perhaps brief) comment.

> +}
> +
> +static void cf_check amd_cppc_init_msrs(void *info)
> +{
> +    struct cpufreq_policy *policy = info;
> +    struct amd_cppc_drv_data *data = this_cpu(amd_cppc_drv_data);
> +    uint64_t val;
> +    unsigned int min_freq, nominal_freq, max_freq;
> +
> +    /* Package level MSR */
> +    if ( rdmsr_safe(MSR_AMD_CPPC_ENABLE, val) )
> +    {
> +        amd_cppc_err(policy->cpu, "rdmsr_safe(MSR_AMD_CPPC_ENABLE)\n");
> +        goto err;
> +    }
> +
> +    /*
> +     * Only when Enable bit is on, the hardware will calculate the processorâs
> +     * performance capabilities and initialize the performance level fields in
> +     * the CPPC capability registers.
> +     */
> +    if ( !(val & AMD_CPPC_ENABLE) )
> +    {
> +        val |= AMD_CPPC_ENABLE;
> +        if ( wrmsr_safe(MSR_AMD_CPPC_ENABLE, val) )
> +        {
> +            amd_cppc_err(policy->cpu,
> +                         "wrmsr_safe(MSR_AMD_CPPC_ENABLE, %lx)\n", val);
> +            goto err;
> +        }
> +    }
> +
> +    if ( rdmsr_safe(MSR_AMD_CPPC_CAP1, data->caps.raw) )
> +    {
> +        amd_cppc_err(policy->cpu, "rdmsr_safe(MSR_AMD_CPPC_CAP1)\n");
> +        goto err;
> +    }
> +
> +    if ( data->caps.highest_perf == 0 || data->caps.lowest_perf == 0 ||
> +         data->caps.nominal_perf == 0 || data->caps.lowest_nonlinear_perf == 0 )
> +    {
> +        amd_cppc_err(policy->cpu,
> +                     "Platform malfunction, read CPPC highest_perf: %u, lowest_perf: %u, nominal_perf: %u, lowest_nonlinear_perf: %u zero value\n",

I don't think the _perf suffixes are overly relevant in the log message.

> +                     data->caps.highest_perf, data->caps.lowest_perf,
> +                     data->caps.nominal_perf, data->caps.lowest_nonlinear_perf);
> +        goto err;
> +    }
> +
> +    data->err = amd_get_lowest_freq(data, &min_freq);
> +    if ( data->err )
> +        return;
> +
> +    data->err = amd_get_nominal_freq(data, &nominal_freq);
> +    if ( data->err )
> +        return;
> +
> +    data->err = amd_get_max_freq(data, &max_freq);
> +    if ( data->err )
> +        return;
> +
> +    if ( min_freq > max_freq || nominal_freq > max_freq ||
> +         nominal_freq < min_freq )
> +    {
> +        amd_cppc_err(policy->cpu,
> +                     "min_freq(%u), or max_freq(%u), or nominal_freq(%u) value is incorrect\n",

Along the lines of the above, while it wants making clear here it's frequencies,
I question the use of identifier names to express that. E.g.
"min (%u), or max (%u), or nominal (%u) freq value is incorrect\n"?

> +                     min_freq, max_freq, nominal_freq);
> +        goto err;
> +    }
> +
> +    policy->min = min_freq;
> +    policy->max = max_freq;
> +
> +    policy->cpuinfo.min_freq = min_freq;
> +    policy->cpuinfo.max_freq = max_freq;
> +    policy->cpuinfo.perf_freq = nominal_freq;
> +    /*
> +     * Set after policy->cpuinfo.perf_freq, as we are taking
> +     * APERF/MPERF average frequency as current frequency.
> +     */
> +    policy->cur = cpufreq_driver_getavg(policy->cpu, GOV_GETAVG);
> +
> +    return;
> +
> + err:
> +    data->err = -EINVAL;

Is we make it here after having set the enable bit, we're hosed (afaict).
We can't fall back to another driver, and we also can't get this driver to
work. I think I did ask before that this be explained in a comment here.
(The only thing the user can do is, aiui, to change the command line option
and reboot.)

Oh, I see you have such a comment at the use site of this function. Please
have a brief comment here then, to refer there.

> +}
> +
> +/*
> + * The new AMD CPPC driver is different than legacy ACPI hardware P-State,

Please omit "new" - that'll be stale rather sooner than later.

> + * which has a finer grain frequency range between the highest and lowest
> + * frequency. And boost frequency is actually the frequency which is mapped on
> + * highest performance ratio. The legacy P0 frequency is actually mapped on
> + * nominal performance ratio.
> + */
> +static void amd_cppc_boost_init(struct cpufreq_policy *policy,
> +                                const struct amd_cppc_drv_data *data)
> +{
> +    if ( data->caps.highest_perf <= data->caps.nominal_perf )
> +        return;
> +
> +    policy->turbo = CPUFREQ_TURBO_ENABLED;
> +}
> +
> +static int cf_check amd_cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy)
> +{
> +    XVFREE(per_cpu(amd_cppc_drv_data, policy->cpu));
> +
> +    return 0;
> +}
> +
> +static int cf_check amd_cppc_cpufreq_cpu_init(struct cpufreq_policy *policy)
> +{
> +    unsigned int cpu = policy->cpu;
> +    struct amd_cppc_drv_data *data;
> +    const struct cpuinfo_x86 *c = cpu_data + cpu;
> +
> +    data = xvzalloc(struct amd_cppc_drv_data);
> +    if ( !data )
> +        return -ENOMEM;
> +
> +    data->cppc_data = &processor_pminfo[cpu]->cppc_data;
> +
> +    per_cpu(amd_cppc_drv_data, cpu) = data;
> +
> +    /* Feature CPPC is firstly introduced on Zen2 */
> +    if ( c->x86 < 0x17 )
> +    {
> +        printk_once("Unsupported cpu family: %x\n", c->x86);
> +        return -EOPNOTSUPP;
> +    }
> +
> +    on_selected_cpus(cpumask_of(cpu), amd_cppc_init_msrs, policy, 1);
> +
> +    /*
> +     * If error path takes effective, not only amd-cppc cpufreq driver fails
> +     * to initialize, but also we could not fall back to legacy P-states
> +     * driver nevertheless we specifies fall back option in cmdline.
> +     */

Nit: I'm not a native speaker, but I don't think "nevertheless" can be used here.
Maybe "... but we also cannot fall back to the legacy driver, irrespective of
the command line specifying a fallback option"?

Plus I think it would help to also explain why here, i.e. that the enable bit is
sticky.

> +    if ( data->err )
> +    {
> +        amd_cppc_err(cpu, "Could not initialize AMD CPPC MSR properly\n");
> +        amd_cppc_cpufreq_cpu_exit(policy);
> +        return -ENODEV;

Why do you not use data->err here?

> --- a/xen/arch/x86/include/asm/msr-index.h
> +++ b/xen/arch/x86/include/asm/msr-index.h
> @@ -238,6 +238,11 @@
>  
>  #define MSR_AMD_CSTATE_CFG                  0xc0010296U
>  
> +#define MSR_AMD_CPPC_CAP1                   0xc00102b0
> +#define MSR_AMD_CPPC_ENABLE                 0xc00102b1
> +#define  AMD_CPPC_ENABLE                    (_AC(1, ULL) <<  0)
> +#define MSR_AMD_CPPC_REQ                    0xc00102b3

As you can see from the pre-existing #define in context, there are U suffixes
missing here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 10:00:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 10:00:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926239.1329096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx153-0006gC-2I; Tue, 25 Mar 2025 10:00:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926239.1329096; Tue, 25 Mar 2025 10: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 1tx152-0006g5-US; Tue, 25 Mar 2025 10:00:20 +0000
Received: by outflank-mailman (input) for mailman id 926239;
 Tue, 25 Mar 2025 10: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx151-0006fz-Sk
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 10:00:19 +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 f48343d9-095f-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 11:00:17 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso37243825e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 03:00: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-3997f9957efsm13496054f8f.14.2025.03.25.03.00.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 03:00: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: f48343d9-095f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742896817; x=1743501617; 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=fCr/03QSEpNhPVtR+nbU8IiJAdYVSyG6owrltyFLkR8=;
        b=bdsgCFUb/4vUfRbvSrA26IDc4UeQ6Cv9s5lUU0ijLDgx7EYjPDh1U7wUVyc1FaiY7r
         o+mTsqpZJSWXWxamWyVDuWEK+SH0tJubHK+cZhSu35AnVlFJSePvbug96JLvluLecuZH
         MkS9THCIroXwFi7/05s5ChTo4PeYWE5xMwVOw+O28/tLKoVYNn282dSb7+obMS4M3OD5
         VmKvNEtMKXxWfBTCklFa1AX6DjvzwqvcsLmw2HkAA9wiAkEvfyEvG6Mc+ZGzJUODiNA1
         Mj9jQ8DleGvZtmsEU+pT8o/PhJofs2xTQQRJ9FvvHANqEdJmiSts3XBGGhUEnURSjQyx
         m0UA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742896817; x=1743501617;
        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=fCr/03QSEpNhPVtR+nbU8IiJAdYVSyG6owrltyFLkR8=;
        b=YtIMx09G1zkr0Z7mAXrvmlUpmmYWljEbYX9ImZcTMoJPiggDQ3dcXHK7tfFkEFllow
         DDO+3tcEjvoa3FM/6rsetGEaOEtg//hqUxLbenXQLBVpXW520CMdgfUHIELq4mP+VuDc
         SddexWo8wWX+zbd8kPEumr5V9OIrcgV++hmh01qED2sT5iwHg3FkkJcL3H6pmQkSfmKz
         nVCZuU84hGPlnRrMViLqvQCLoSn8+tUZCGoIVzSMg+0rlHzRY02luYQNZGpoBQ9zDUA+
         6Z1uzSAu266GOlEe/8NFIEzewueIVLbu6zSLZ1GbC6mUDQUwrUUVuFAIoeUT50pS0EaG
         RAoQ==
X-Forwarded-Encrypted: i=1; AJvYcCWPtcjBKH1VwPTbSdq1sPpPjV7veZ0XsULwoxkMaxFzs9e7T0JriNROa5AtX6MDAnsnXHh5IC03oX0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxqdP0TN2CBrSMAAGwxTLj7zSTGJgoUmodoem731dk4Y9r5bU9
	qvbGXY445eiIr4KA2gJye9/sPS1c3djxcuQS2fwaFhRq5G+ATZ7ZFJ2BvxItpg==
X-Gm-Gg: ASbGncv6QQHpRGy/J44zOKTz+hYAewmhxUrPTaUeTUwonNmDsIQjUmwpILgesdPr+7L
	ICebGunPVkoz3AXdehP5xzKoE121RqmJsmLwm8MBLR+WTNIZJDVDrXWTzLhPGkx+75O5nN4BcEh
	YEC8ppgZx3q09d9gfCt6CeK6AE0hmSrrfnG9aT4/Xi0kasPyFAES3i/+ISvhnrnhWNlcgR6o9br
	2PGBPDJ5TPIiAjLkSteNqQ3Mfb8Ms28O2sq2KcLKctvlT8SlgbthS14PVAKiz4E+NayDrQX9rzH
	AHPdYpA1Ub4PpK+ITnMcppgMko8OVko0tQtCouK46fGg7yjpU1urF3qSirMzn1cAFCzf3gruRLq
	S8OTA8N76nSPjAD3q6yxUI/tp/78pZA==
X-Google-Smtp-Source: AGHT+IH4cZJj2REdoijoGpmu/p/nRN1UitMnSYopZYhunNGvu0YB9EThnq8BeEIGTpfFfQUPM4edBA==
X-Received: by 2002:a05:6000:18a2:b0:391:3915:cfea with SMTP id ffacd0b85a97d-3997f94da24mr15248885f8f.38.1742896817123;
        Tue, 25 Mar 2025 03:00:17 -0700 (PDT)
Message-ID: <426a505f-34b7-456d-91c3-79091f0e24b4@suse.com>
Date: Tue, 25 Mar 2025 11:00:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-6-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> +static const struct cpufreq_driver __initconst_cf_clobber
> +amd_cppc_cpufreq_driver =
> +{
> +    .name   = XEN_AMD_CPPC_DRIVER_NAME,
> +};

Because of the hook pointers not being set right here, ...

> +int __init amd_cppc_register_driver(void)
> +{
> +    int ret;
> +
> +    if ( !cpu_has_cppc )
> +    {
> +        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_CPPC;
> +        return -ENODEV;
> +    }
> +
> +    ret = cpufreq_register_driver(&amd_cppc_cpufreq_driver);
> +    if ( ret )
> +        return ret;

... this - afaict - will fail up until patch 09. This may want mentioning
in the description here. (Initially I thought you'd leave NULL derefs around
for several patches, until I checked cpufreq_register_driver().)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 10:13:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 10:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926254.1329118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx1HN-0002XW-97; Tue, 25 Mar 2025 10:13:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926254.1329118; Tue, 25 Mar 2025 10:13: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 1tx1HN-0002XP-61; Tue, 25 Mar 2025 10:13:05 +0000
Received: by outflank-mailman (input) for mailman id 926254;
 Tue, 25 Mar 2025 10:13: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx1HM-0002XH-4z
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 10:13:04 +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 bc93d99e-0961-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 11:13:03 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-39127512371so3551680f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 03:13: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
 ffacd0b85a97d-3997f9b565bsm13498546f8f.58.2025.03.25.03.13.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 03:13: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: bc93d99e-0961-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742897582; x=1743502382; 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=iLpYgtVIGNlrXmuj4OwC0hAJFtD5zWPqfFUENM96ZfA=;
        b=OAx9Is2lRFl/iiQiDZiQt/fos5LkerqD4zJNldmdxjb82QfIyODReTJ6ppSp5Yvjvz
         YyUx4wgdIcIfOyAOttedLWIPcxFKHmpyEGrKMTHRnWNrtPGct4tnE1uLRjSBxftt9rdL
         uJNihkB6RQAtajom0hktdbHrNbIm9KqetdQ3hFXUioTHUMxjDEYi4rRPSPnVEnmurSRP
         6Hsk0XrToras8U/7h1aQEjkmnRzRMavp1V+5Hm8Z/DGTDUNEwjE3IVpoIIF+QE1WYBRa
         v3vhURrJlBfBEMvgEEIo9PquM2tchqOnr4iirxewtLlMo1pCQ3FNMscY3Ny7syDD2Wt4
         826w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742897582; x=1743502382;
        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=iLpYgtVIGNlrXmuj4OwC0hAJFtD5zWPqfFUENM96ZfA=;
        b=Em+b/Qql3mPUTvzf0yOyuxaeLFkaJjDSLk23Q8uN3iMZtoOK9oh13rVbo2WGt5gzGE
         f4pqnUO25jeJTw+sJRu7ybggXOzyAbURhmYZDvp2GYsmRVW8k3YroCXWeOKwyjnLukuO
         k1OT4aPIMu+psYLEUiOB1pLNUQgntjB+vlMcf83WDqgvVYUucqm3rKhTFcWyjyH0aAN4
         iUs4OkTy8ieF8IaYLb60a6UqRIfS/PN9ZXU8DQ+WvK52TgKEZc2DhSbonQVP8eq5kiP4
         9DL4fq/aXof+ANHiDD7CyuT6kbjHgCSn+uu/yPwXEArsVOuPrCoeYmb7omWkh7qFNHX7
         bMeg==
X-Forwarded-Encrypted: i=1; AJvYcCV00MnLZpjPedBA6YOF4mXFIfSYY5OmTYUP+pqpuIwWrza6ABP4uolfMO0Zgx6518MJVIQ0yF+oktM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWM43/OPJQ/XMiqbeXTFXj4jGM62yE81S+GpbqBLvk3z5/7CjI
	1NgrZRndlL8ox7/4s0EzdtWs8V1KPLnDIKaSrrEAXYdrJLcx35vvo+83x8I8pg==
X-Gm-Gg: ASbGncuW23TFa3YydfjqdnQ+lw+Xl2qjywg6DuMrbmtm2Rhv/RqFt2tzkbqezFG4e3p
	lt5UK8djs/jhDmB5idsyB8fU7BOZLq7Rnpin9ZajqlePSGRfAoaF7j7U9RiYUfTMtUMLcBFI1hb
	QaroqwU9ESaJrZgWcvvBmUzu0YZNuZczRrWOI16oMb+kOGG4UoEKCOR6lh3k+4LpmZImWSxeU9M
	8k/k8T5UjtV5gX5FFnu82TKS54kOcZXlChc9YySo3xwrxFb47qkvnA19ox5AZT1nARPAU68LpHy
	6a5zlbO7CHGa8XtsFsxmMR4EFADquK5qkCelsu0tErOffSzstGrpFMWQZ41b3+HgO6eq+OkROI1
	sfhg3ESILjfBACVDBjQJ2zERzTehTZw==
X-Google-Smtp-Source: AGHT+IEQ9vCptsaJS1SaW6VfjPQ1PqgBO4aWR2a4Wev9aHtdMoMNgNpQz9Dr6ePchkTsxUh0OpvTmg==
X-Received: by 2002:a05:6000:1867:b0:391:2eb9:bdc5 with SMTP id ffacd0b85a97d-3997f90d2bdmr14728240f8f.23.1742897582399;
        Tue, 25 Mar 2025 03:13:02 -0700 (PDT)
Message-ID: <624e002f-208e-4aa2-b60e-9df4700700ae@suse.com>
Date: Tue, 25 Mar 2025 11:13:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/15] xen/cpufreq: abstract Energy Performance
 Preference value
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-12-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: <20250306083949.1503385-12-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> Intel's hwp Energy Performance Preference value is compatible with
> CPPC's Energy Performance Preference value, so this commit abstracts
> the value and re-place it in common header file cpufreq.h, to be
> used not only for hwp in the future.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Hmm, this had gone in already before you sent v3. Why was it nevertheless
included here?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 10:22:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 10:22:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926262.1329127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx1QF-0005I8-3w; Tue, 25 Mar 2025 10:22:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926262.1329127; Tue, 25 Mar 2025 10:22: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 1tx1QF-0005I1-1L; Tue, 25 Mar 2025 10:22:15 +0000
Received: by outflank-mailman (input) for mailman id 926262;
 Tue, 25 Mar 2025 10:22: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=kATq=WM=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tx1QD-0005Hu-Dg
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 10:22:13 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00e38fc4-0963-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 11:22:07 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-224171d6826so32635885ad.3
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 03:22:07 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-227811c0cb8sm86079655ad.122.2025.03.25.03.22.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 03:22: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: 00e38fc4-0963-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742898126; x=1743502926; darn=lists.xenproject.org;
        h=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=gQs2MQ7qVRbNMJHbCM5bWSarB3xGRHf2C0jjYhuIPRM=;
        b=GvYkRfH1emLMAlvZnWNfJO9sQETijnN3kKmbYgDk6+9LDqPMkWzbAX6qBIUPdF7Fjj
         lrIEAuqUAJCE3s4K0ldJuV8Qt3XTHE6niDJbTDo/PDnQ3uPythdvtuEK4+LdGTkBZNjn
         jtXXddB9pzXksIOaFOX7UjKYf2rYtOfHBtW3o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742898126; x=1743502926;
        h=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=gQs2MQ7qVRbNMJHbCM5bWSarB3xGRHf2C0jjYhuIPRM=;
        b=B8yt5ruQ3w0Kyhz0WEWUgF4WrX8Zt0IJ1572hTp5vCtiQPgD9o0e8hfO8bV+LMUYL7
         zX1TFK0UrZLsi74CEwCv20AeHydOEMyjPJLrlAdmkJ1iq6Tb7fLmBfRxppuZpR1FcKf9
         NL/bTk6G97SjRTOU86QTclKTqlC0NeVpcqQ7x7Wo7kMsNEo5WhYjS1KGlvz2BQ/OnYtO
         3uXzZ0LAfxLjvkcTnrvaJ3X0my0nNieGFBcKtviBuYvnmTSPZ+VDST3ARlxaaoF0f8TM
         cCR1YyxWHdadCU18Oi9DGbLTcLTlP2xJ87bUESqvNy/qb1fuvenexRaWBby23ncZXVld
         PVog==
X-Forwarded-Encrypted: i=1; AJvYcCWQZm1ZyIV3cmy4lF0KWsKE3vtp4wsEHqPs94bVeDhF4Tstk1bCS72ETl509wJ8ECR2g2vxWHw4DuE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyv5nPOLttYqgJAbyrEfSgrWurcU8aklejQ5RDf+qVxlazMi08Y
	CrwDRBwulMmGTz6rd0xS81nHp+amPPcNOTAbu1GG3S3jMK6hHFRiUYQKJDtoxlk=
X-Gm-Gg: ASbGnctIBIoAeB7Xsd+DtBHQeL1DVivKtnRMS0F6fEmbnZDZD4cuKqaD00LjMdf3M3A
	a0mNPwnnvnMYr9helQ88/6WqTlZ1MjK+gRmqIXvSmkk4zJWmSx0IxJ34KWlzhs7gPA6wXqLxHb9
	mi1QcjN+4Avm7FKbw4Pze2bpun3iNNbuIASxcIeTtkuMH4/PJ5nSyFNqQk08/LuCxE3DQsDnli9
	Mv8akWYp7hiaOBLyQE4ScX1RaZGs79BCg+xTVTmc7Neh5X6e1nlkbs4awaWqUas/k+aDG6ZKI+Y
	Fa1d2rOfk9zVW9vzOJIGhSNfBesLe4ZF3fVMS58Csol3x+kAzw==
X-Google-Smtp-Source: AGHT+IF85xhWKCrs08RP4P7IKWzeGYUYqC72eXPjEagDGhBRZZgGX/BU+7NeI+5hClPwqyJM9bhKWA==
X-Received: by 2002:a17:902:ef11:b0:224:c46:d166 with SMTP id d9443c01a7336-22780e14e84mr295978445ad.40.1742898126108;
        Tue, 25 Mar 2025 03:22:06 -0700 (PDT)
Date: Tue, 25 Mar 2025 11:22:00 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Gomez <da.gomez@kernel.org>,
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <Z-KDyCzeovpFGiVu@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local>
 <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87v7rxzct0.ffs@tglx>

On Tue, Mar 25, 2025 at 10:20:43AM +0100, Thomas Gleixner wrote:
> On Tue, Mar 25 2025 at 09:11, Thomas Gleixner wrote:
> 
> > On Mon, Mar 24 2025 at 20:18, Roger Pau MonnĂŠ wrote:
> >> On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
> >>> The issue is that info appears to be uninitialized. So, this worked for me:
> >>
> >> Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
> >> this is x86, I was expecting x86 ot always use
> >> x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
> >> would like to better understand this.
> >
> > Indeed. On x86 this should not happen at all. On architectures, which do
> > not use (hierarchical) interrupt domains, it will return NULL.
> >
> > So I really want to understand why this happens on x86 before such a
> > "fix" is deployed.
> 
> So after staring at it some more it's clear. Without XEN, the domain
> returned is the MSI parent domain, which is the vector domain in that
> setup. That does not have a domain info set. But on legacy architectures
> there is not even a domain.
> 
> It's really wonderful that we have a gazillion ways to manage the
> backends of PCI/MSI....

I'm a bit confused by what msi_create_device_irq_domain() does, as it
does allocate an irq_domain with an associated msi_domain_info
structure, however that irq_domain is set in
dev->msi.data->__domains[domid].domain rather than dev->msi.domain,
and doesn't override the default irq_domain set by
pcibios_device_add().

And the default x86 irq_domain (set by pcibios_device_add()) doesn't
have an associated msi_domain_info.

> So none of the suggested pointer checks will cover it correctly. Though
> there is already a function which allows to query MSI domain flags
> independent of the underlying insanity. Sorry for not catching it in
> review.

Oh, that's nice, I didn't know about that helper.

> Untested patch below.

LGTM, but (as you can see) I'm not expert on that area.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 10:28:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 10:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926271.1329137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx1Vj-0005se-Ml; Tue, 25 Mar 2025 10:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926271.1329137; Tue, 25 Mar 2025 10:27: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 1tx1Vj-0005sX-Jx; Tue, 25 Mar 2025 10:27:55 +0000
Received: by outflank-mailman (input) for mailman id 926271;
 Tue, 25 Mar 2025 10:27: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=6Gn6=WM=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1tx1Vi-0005sR-80
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 10:27:54 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cede4a6a-0963-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 11:27:52 +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: cede4a6a-0963-11f0-9ea3-5ba50f476ded
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1742898471;
	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=bvl32OvnPLRYSLXsLJD3K8ubXhDmR8NyKqSawYdGMGU=;
	b=GlB1XmtBcJzrR/EujG1DcxuA7GSuw8ztFlhOAfHTpW18x4tuITiexuxuxWMRjViF59p7Ts
	Q0WJKTzWxNhFOWCGCfvFG8bywkIZyKvEulLAE4j8J+UHdULxVLa+DgAfELJ6iueGaVLEtY
	eHPixsxZ+WEuc4blT5gxAkNd7Pz5prQImkJcqCrdNVZ706TR/Xy4N4/VaG+xf+9Ipqd5xI
	JECGdEvNBe33JEoKh3Femg0RcO6k076a8OfUXFfkKWZXxGXzty9Q1dOGC/kNQL5cI4bzMh
	K9qKiyVv++xK59IaoDxbQbk589UwE0EJ9N3ensrAQAwcRvmBusSLx2kj3Oa9Kg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1742898471;
	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=bvl32OvnPLRYSLXsLJD3K8ubXhDmR8NyKqSawYdGMGU=;
	b=IQtOMNjvK2eZQPfrHHpxBU1R9ZHHsOc49/SwQ6rT6QsZ59ArWrRfX08DcAm7emFuXfy01b
	shG3B2ECVR92IsBA==
To: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Daniel Gomez <da.gomez@kernel.org>, =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?=
 <jgross@suse.com>, Bjorn
 Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org, Bjorn Helgaas
 <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
In-Reply-To: <Z-KDyCzeovpFGiVu@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx> <Z-KDyCzeovpFGiVu@macbook.local>
Date: Tue, 25 Mar 2025 11:27:51 +0100
Message-ID: <87sen1z9p4.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 25 2025 at 11:22, Roger Pau Monn=C3=A9 wrote:
> On Tue, Mar 25, 2025 at 10:20:43AM +0100, Thomas Gleixner wrote:
> I'm a bit confused by what msi_create_device_irq_domain() does, as it
> does allocate an irq_domain with an associated msi_domain_info
> structure, however that irq_domain is set in
> dev->msi.data->__domains[domid].domain rather than dev->msi.domain,
> and doesn't override the default irq_domain set by
> pcibios_device_add().

The default irq domain is a parent domain in that case on top of which
the per device domains are built. And those are private to the device.

The XEN variant uses the original global PCI/MSI domain concept with
this outrageous domain wrapper hack. A crime committed by some tglx
dude.

> And the default x86 irq_domain (set by pcibios_device_add()) doesn't
> have an associated msi_domain_info.

It does not need one.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 10:49:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 10:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926280.1329147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx1qB-0002EB-Aq; Tue, 25 Mar 2025 10:49:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926280.1329147; Tue, 25 Mar 2025 10:49: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 1tx1qB-0002E4-7u; Tue, 25 Mar 2025 10:49:03 +0000
Received: by outflank-mailman (input) for mailman id 926280;
 Tue, 25 Mar 2025 10:49: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx1q9-0002Dy-Vm
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 10:49:01 +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 c11e2818-0966-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 11:48:58 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so49407175e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 03:48: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-43d43f43e50sm195729745e9.12.2025.03.25.03.48.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 03:48: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: c11e2818-0966-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742899737; x=1743504537; 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=Wc4yHwGBNEnzgbC+X38F/I/8kU1nqBxaoqffvRToHog=;
        b=QpzWlvT87kTIWcPqeCNalrB3Rfx6OHKLgNayDTAtmH3j/cBpPbbwzmgGvnQI8Dj1Z8
         UcXBjYMe+odQ0Fc7STMFnReQ7Ms5GM7clhGj0ba0k2YkaIdvELRpFoy5XHY6fjUlNJCa
         CkwVX83nhSj4VRVzMcw/Nx19dUZIbWGmepOjIgo4kx5o7J3OR/srJw7cm1kQrxneuBEZ
         mErFYO90SNw12Q7qlSFW9QKKH1lBrpV3MW93KiKHC0L7cc1/0tNgL0ZC4DBi2/h4bD5t
         SQ1H0O4JVZe1mNeVoKEUPVLy67ANV/PrH8z0e90SHHt8zRJ23d/ysADlJL1FTgSwdUem
         Ihuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742899737; x=1743504537;
        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=Wc4yHwGBNEnzgbC+X38F/I/8kU1nqBxaoqffvRToHog=;
        b=CYbUjedzG56TKAp5Ks7012s9zwRsRAR0T16OG55VXKwmHq/ABSRgIiymukHbUeqd2z
         VMv3N531LxKy+fzzGSytDARp4v7WGnWKkDKpzzFFRfG4Duz2RfFmYet3z8/85H2ZH26F
         SqguSyq4MTBJI7+I+neFap/x6Sjl8uhgPdVvqG/o1evWvGbCp+4nB1dHv9IIa1KynqXj
         7C10Ms5mggF1tkS5CGl/B3S5NImk8eyjrM3HDqmrbLpZP70vVAKtSdXwYu/rOog8ArPJ
         NvPSBvEuXMMm8nXqhGGSJK8FWW/ueAfczpL2Ms3e61rE/N+j9i+e0vq+VREcMWWP0urd
         rrPw==
X-Forwarded-Encrypted: i=1; AJvYcCXyYLJ62fcTcM/ys0xhzcthSq2vhGn22Seu7fhotGQkgosM7vT82nZHCpsmDZLSSHI1ln0Q8k7gVeU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrFMbv/W6CNjNJCq3WEORWwVhl6WQV0VmGRZDbohPpsMtrrZ+O
	f26w2larhsKTPKADERpFC3tYDg7iD4+o5D8oOgVQ1fCGhrCfjylKwgdAcpMdLg==
X-Gm-Gg: ASbGncs1ObmmHoQ/LNf4dgCjL035tkaSo//COzaBpESpABHew9B0jh3BTQ9VpvwUjo3
	LeqaJniPv3V4idKoIFaRmkBMy7iEeg5dCp7hiQIvcfzZoXBShHnuXTVUIM8ZSEBpXS4Exsz9+2O
	RUD/vxxQxTaEkJnzgy4VYO6fGdejFKrG0jmz10fTceQi1iYKaEJbGVKV1MzrovgYWIzudGOLCt+
	r4Wthk1zGKCKgLG4uLbOv66mJxdg184U92R47e1sdFxg4n0aOR3rsI0mcWgb9vXpCUsTHzSty6b
	JrQaAPKsEZlsJGx+LGmNe7qYbjLm0aVOuVl1U+S3muEEq2rc/k3ZVxiXBaYoYLLWGfqZSTq7oAt
	BkYIQ9Iw2lXaaT6g4yTgcSOPIq1+RIQ==
X-Google-Smtp-Source: AGHT+IHHXYaJZjPT25SuIsOojRNsG6sGc9JukfqEoU/QG7deiuIqh7jUYWawe8UKabtXqKRCHm6oMQ==
X-Received: by 2002:a05:6000:18ab:b0:39a:c6c4:f877 with SMTP id ffacd0b85a97d-39ac6c4fad7mr3679964f8f.20.1742899737329;
        Tue, 25 Mar 2025 03:48:57 -0700 (PDT)
Message-ID: <6bcd0903-7406-4105-b471-85b5eb0bccc0@suse.com>
Date: Tue, 25 Mar 2025 11:48:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/15] xen/x86: implement EPP support for the amd-cppc
 driver in active mode
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-13-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> amd-cppc has 2 operation modes: autonomous (active) mode,
> non-autonomous (passive) mode.
> In active mode, platform ignores the requestd done in the Desired
> Performance Target register and takes into account only the values
> set to the minimum, maximum and energy performance preference(EPP)
> registers.
> The EPP is used in the CCLK DPM controller to drive the frequency
> that a core is going to operate during short periods of activity.
> The SOC EPP targets are configured on a scale from 0 to 255 where 0
> represents maximum performance and 255 represents maximum efficiency.

So this is the other way around from "perf" values, where aiui 0xff is
"highest"?

> @@ -537,6 +537,12 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
>  * `amd-cppc` selects ACPI Collaborative Performance and Power Control (CPPC)
>    on supported AMD hardware to provide finer grained frequency control
>    mechanism. The default is disabled.
> +* `active` is to enable amd-cppc driver in active(autonomous) mode. In this
> +  mode, users could write to energy performance preference register to tell
> +  hardware if they want to bias toward performance or energy efficiency. Then
> +  built-in CPPC power algorithm will calculate the runtime workload and adjust
> +  the realtime cores frequency automatically according to the power supply and

What are "the realtime cores"?

> +  thermal, core voltage and some other hardware conditions.

I think there better would be only one "and" in the enumeration of conditions.

> @@ -261,7 +276,20 @@ static int cf_check amd_cppc_cpufreq_target(struct cpufreq_policy *policy,
>          return res;
>  
>      return amd_cppc_write_request(policy->cpu, data->caps.lowest_nonlinear_perf,
> -                                  des_perf, data->caps.highest_perf);
> +                                  des_perf, data->caps.highest_perf,
> +                                  /* Pre-defined BIOS value for passive mode */
> +                                  per_cpu(epp_init, policy->cpu));
> +}
> +
> +static int read_epp_init(void)
> +{
> +    uint64_t val;
> +
> +    if ( rdmsr_safe(MSR_AMD_CPPC_REQ, val) )
> +        return -EINVAL;

I'm unconvinced of using rdmsr_safe() everywhere (i.e. this also goes for earlier
patches). Unless you can give a halfway reasonable scenario under which by the
time we get here there's still a chance that the MSR isn't implemented in the
next lower layer (hardware or another hypervisor, just to explain what's meant,
without me assuming that the driver should come into play in the first place when
we run virtualized ourselves).

Furthermore you call this function unconditionally, i.e. if there was a chance
for the MSR read to fail, CPU init would needlessly fail when in passive mode.

> +    this_cpu(epp_init) = (val >> 24) & 0xFF;

Please can you #define a suitable mask constant in msr-index.h, such that you can
use MASK_EXTR() here?

> @@ -411,12 +441,78 @@ static int cf_check amd_cppc_cpufreq_cpu_init(struct cpufreq_policy *policy)
>  
>      amd_cppc_boost_init(policy, data);
>  
> +    return 0;
> +}
> +
> +static int cf_check amd_cppc_cpufreq_cpu_init(struct cpufreq_policy *policy)
> +{
> +    int ret;
> +
> +    ret = amd_cppc_cpufreq_init_perf(policy);
> +    if ( ret )
> +        return ret;
> +
>      amd_cppc_verbose("CPU %u initialized with amd-cppc passive mode\n",
>                       policy->cpu);
>  
>      return 0;
>  }
>  
> +static int cf_check amd_cppc_epp_cpu_init(struct cpufreq_policy *policy)
> +{
> +    int ret;
> +
> +    ret = amd_cppc_cpufreq_init_perf(policy);
> +    if ( ret )
> +        return ret;
> +
> +    policy->policy = cpufreq_parse_policy(policy->governor);
> +
> +    amd_cppc_verbose("CPU %u initialized with amd-cppc active mode\n", policy->cpu);
> +
> +    return 0;
> +}
> +
> +static int amd_cppc_epp_update_limit(const struct cpufreq_policy *policy)
> +{
> +    const struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data,
> +                                                    policy->cpu);

Nit: Indentation is off by one here.

> +    uint8_t max_perf, min_perf, epp;
> +
> +    /* Initial min/max values for CPPC Performance Controls Register */
> +    /*
> +     * Continuous CPPC performance scale in active mode is [lowest_perf,
> +     * highest_perf]
> +     */
> +    max_perf = data->caps.highest_perf;
> +    min_perf = data->caps.lowest_perf;
> +
> +    epp = per_cpu(epp_init, policy->cpu);
> +    if ( policy->policy == CPUFREQ_POLICY_PERFORMANCE )

This may want to be switch() instead.

> +    {
> +        /* Force the epp value to be zero for performance policy */
> +        epp = CPPC_ENERGY_PERF_MAX_PERFORMANCE;
> +        min_perf = max_perf;
> +    }
> +    else if ( policy->policy == CPUFREQ_POLICY_POWERSAVE )
> +        /* Force the epp value to be 0xff for powersave policy */
> +        /*
> +         * If set max_perf = min_perf = lowest_perf, we are putting
> +         * cpu cores in idle.
> +         */

Nit: Such two successive comments want combining. (Same near the top of the
function, as I notice only now.)

Furthermore I'm in trouble with interpreting this comment: To me "lowest"
doesn't mean "doing nothing" but "doing things as efficiently in terms of
power use as possible". IOW that's not idle. Yet the comment reads as if it
was meant to be an explanation of why we can't set max_perf from min_perf
here. That is, not matter what's meant to be said, I think this needs re-
wording (and possibly using subjunctive mood).

> +        epp = CPPC_ENERGY_PERF_MAX_POWERSAVE;
> +
> +    return amd_cppc_write_request(policy->cpu, min_perf,
> +                                  /* des_perf = 0 for epp mode */
> +                                  0,

The comment could do with putting on the same line as the 0, e.g.
(slightly adjusted)

    return amd_cppc_write_request(policy->cpu, min_perf,
                                  0 /* no des_perf for epp mode */,
                                  max_perf, epp);

> +static int cf_check amd_cppc_epp_set_policy(struct cpufreq_policy *policy)
> +{
> +    return amd_cppc_epp_update_limit(policy);
> +}

So the purpose of this wrapper is solely to have the actual function's
parameter be pointer-to-const? I don't think that's worth it; I also don't
think we do such elsewhere.

> --- a/xen/drivers/cpufreq/utility.c
> +++ b/xen/drivers/cpufreq/utility.c
> @@ -491,3 +491,14 @@ int __cpufreq_set_policy(struct cpufreq_policy *data,
>  
>      return __cpufreq_governor(data, CPUFREQ_GOV_LIMITS);
>  }
> +
> +unsigned int cpufreq_parse_policy(const struct cpufreq_governor *gov)
> +{
> +    if ( !strncasecmp(gov->name, "performance", CPUFREQ_NAME_LEN) )
> +        return CPUFREQ_POLICY_PERFORMANCE;
> +
> +    if ( !strncasecmp(gov->name, "powersave", CPUFREQ_NAME_LEN) )
> +        return CPUFREQ_POLICY_POWERSAVE;
> +
> +    return CPUFREQ_POLICY_UNKNOWN;
> +}

Hmm, this isn't really parsing (in the sense of dealing with e.g. command
line elements). Maybe cpufreq_get_policy() or, more explicitly,
cpufreq_policy_from_governor()? Or something along these lines?

I also don't see why the more expensive case-insensitive comparison
routine needs using here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 10:55:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 10:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926293.1329159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx1w6-0004pk-46; Tue, 25 Mar 2025 10:55:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926293.1329159; Tue, 25 Mar 2025 10:55: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 1tx1w5-0004pd-Vp; Tue, 25 Mar 2025 10:55:09 +0000
Received: by outflank-mailman (input) for mailman id 926293;
 Tue, 25 Mar 2025 10:55: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=kATq=WM=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tx1w5-0004pV-6J
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 10:55:09 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ca12ff2-0967-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 11:55:07 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-22622ddcc35so36271375ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 03:55:07 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-227811f4383sm86448905ad.229.2025.03.25.03.55.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 03:55: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: 9ca12ff2-0967-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742900105; x=1743504905; darn=lists.xenproject.org;
        h=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=4cvwymUL0NvAVQbxd/v5L8Mbhjg/7BbJrcRQgHQwxds=;
        b=SEF6r0i40prYLry4qJEuijCYVUpVjui/RbM78ZckuuFkAv91bf/ujogEkFgDZN8j5R
         8NslAoAbz37wZHPrCyw2ZOdoRoLsp15uu2Qie8DbzNnmNLqd4z6eLcxyrZCeN6kno7pH
         8QpXD9zNYDvLa5tXHZkc2XgVYrHAfMVvE1jBg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742900105; x=1743504905;
        h=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=4cvwymUL0NvAVQbxd/v5L8Mbhjg/7BbJrcRQgHQwxds=;
        b=bV3TOXakNI07WRBpnPe2ElykY0nb4exlKGj1y5kteWKcGG4EN6da1Lb3SKw+b3/CGO
         MyOYsO/BM6Cgqhnnq6qyiWeAIN6uGJ+iT75+8zW4k8I7cdU+nXBQMLhXxS66NQPAqDHa
         Izb/2+F+4yT3RZb+aVInk6b2BfxW5r5u5YTP2S4Uj+IYfzp/yKmkyJWJIAH64G8UvqJS
         bjVtHIkfRy0ncd24AVxh35pbBW/C77/LtLK79VjOUs1G6y4L/lPzKkQds2sr3mUt/e47
         w4RB0el3/hvK1Oyv9pujty+mSgBLXKOavsl6aMWjXxRAHgfLigK+jIjy1Jrhio3F1n7q
         Wg5w==
X-Forwarded-Encrypted: i=1; AJvYcCV9BtOLOGE33oOMLWLvY6EzE6+ry3pL53qTrJJepNYUrU+oSbyYIKOadqygywHJsmsD+D+Lmo+VVFY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQFu+FrX/9X4P+Ymi+Wd4UGqmQbsENZloqlH8rX7jV60dW4Slw
	7aOrvfExQIKmAnW12bnbgneT5JDwKwgmXJPZi+ycwDP0n/nsPHwNU1W+VKS/z9A=
X-Gm-Gg: ASbGncuJ+kwZJpaXVDs8HtF9RhYwnQ1FfuzsdHDt6J5cceCWuZe+bxPvlzRJrpCfkKm
	hn+EEJlCopEqXr8/St2Op3XFRXpfcAhHwh0o79m+BVrzxMB495fMXrC53INqxhcOnF4gZZO2j9+
	msLTRZy0bAUvSSLuz2pHipvIBxna0+ojZDHgeQ+USJxnRSYcRlQH8CTOSuzRVMuOK9KdvwL/CTc
	8Cs5xhBhNwgVE8g9wtSWbuNuTrMVQypEYImBySivnQOhBPA5agTg5ZeLiLvFIvSaSfNWDQhLAEG
	3SEpDxRHpYoulTm4mz+JnAB+4B3BuNqn2ZsgnIiB3J+ughDvRg==
X-Google-Smtp-Source: AGHT+IGgGtIICegH8Sb6BTn8pdS68Ec79sYIcjMu7xJeM2n4kbkhryUYoDxYxkGjBO8+Yres0KmyXA==
X-Received: by 2002:a17:902:d48b:b0:21f:52e:939e with SMTP id d9443c01a7336-22780d8ff5bmr251332765ad.28.1742900105535;
        Tue, 25 Mar 2025 03:55:05 -0700 (PDT)
Date: Tue, 25 Mar 2025 11:55:00 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Gomez <da.gomez@kernel.org>,
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <Z-KLhBHoNBB_lr7y@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local>
 <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx>
 <Z-KDyCzeovpFGiVu@macbook.local>
 <87sen1z9p4.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87sen1z9p4.ffs@tglx>

On Tue, Mar 25, 2025 at 11:27:51AM +0100, Thomas Gleixner wrote:
> On Tue, Mar 25 2025 at 11:22, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 25, 2025 at 10:20:43AM +0100, Thomas Gleixner wrote:
> > I'm a bit confused by what msi_create_device_irq_domain() does, as it
> > does allocate an irq_domain with an associated msi_domain_info
> > structure, however that irq_domain is set in
> > dev->msi.data->__domains[domid].domain rather than dev->msi.domain,
> > and doesn't override the default irq_domain set by
> > pcibios_device_add().
> 
> The default irq domain is a parent domain in that case on top of which
> the per device domains are built. And those are private to the device.

Sorry to ask, but shouldn't dev_get_msi_domain() return the specific
device domain rather than the parent one?  Otherwise I feel the
function should rather be named dev_get_parent_msi_domain().

> The XEN variant uses the original global PCI/MSI domain concept with
> this outrageous domain wrapper hack. A crime committed by some tglx
> dude.

I see.  So the proper way would be for Xen to not override the default
x86 irq_domain in dev->msi.domain (so don't have a Xen PV specific
version of x86_init.irqs.create_pci_msi_domain) and instead do
something similar to what VMD does?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 10:55:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 10:55:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926301.1329167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx1wr-0005Jq-9z; Tue, 25 Mar 2025 10:55:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926301.1329167; Tue, 25 Mar 2025 10:55: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 1tx1wr-0005Jj-7L; Tue, 25 Mar 2025 10:55:57 +0000
Received: by outflank-mailman (input) for mailman id 926301;
 Tue, 25 Mar 2025 10:55: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=EZqO=WM=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1tx1wp-00056Y-EN
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 10:55:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b92e80f3-0967-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 11:55:54 +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 983D94EF4728;
 Tue, 25 Mar 2025 11:55:53 +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: b92e80f3-0967-11f0-9ea3-5ba50f476ded
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=1742900153;
	b=0KMfMjh15yeEB40ZquDFwYyDezjSwtL2pv0uVLRgrMCvbqoZ+IkschhcKUQJei2/MwcI
	 uemFQNaltN6XjqWlzJfzc4CNTc/0k0jIDeZ9EiUxEw90T1K/p50RadYr5+UHhoy0ocH2C
	 eAO8/iu6K6Gw3zeqIhB6aPxxNTGQBm8KRbgZiLXiymLa1FpypXJWGtLHnvI2MpHLATMpm
	 dU5GA3jgtM7pc49aJId2V1SO5PvwPYAQYG4x7vx6pljs2Doq3wamJH9cTGHhOVGGydxCW
	 uy3ccDBj4ctfu/YxcrdbvDm/k2/yUCS9kJB23F+BZbXJbvy80OA6tQ7x/6hP8b5qVOR8P
	 nsc4zMRzGTfMIiAa74+sxa3MCuWwye6ifrJoV9Art5YcrxW3c93q73/C3FkV0AtqhzEaM
	 kZfX5fRsR+X9OdmkNWrZB0YO3nb2hRp2G5kSqRJNqjl3V7lPTRWH8JOgC5RKWiSedTS6K
	 lHib1ezpTeEY5AKzSPcAquHKBIE9qFM1tV4zxHaPCywHRLaLLrKp9EIZvNxMuu9Mqd5ef
	 1t+bHDXyw/QOxGb+KCQrgiBpu7TH4M6lIbwGgm3Sk2f8gLNqBIOJeFQHDScAahCYeNzKb
	 TWnOzeeOMr5AJrmrdsSNOVXTGaIOFaA4Uf8xcs2lrgljnfVwh3S5GLr2/naS2yY=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1742900153;
	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=ilUwjiAGNJcFAdIICWaBjPIXXv2Zd5F+IA2f3npweDU=;
	b=m81zFFE8xG5e7vMr6APnsTNPjHNc7EIJE8JO7MXGsqeOF82xooV9IuRdxnVw96tKmdFb
	 uqeTjvcf7Ch1+7G8GIz9yBtsRBqU8xptoWVmtctDF4RLUi2qXt6jiO34U2DKTceKRcWCN
	 RIZV1cBZrssQeR93faycswzwWSjls1kDejyse/GBBVZODZ2bEKHFCXUlK4ByBzZOxMbpX
	 f+eX6eC/M+xO2iF0iOfwFqxJdW1DMaCsXMM6KNGfsiAorMYobBLo4S+9xOydg3yDU/uO1
	 KW4ldoQbrroYAVVMYcpgjL64ccWJzMgfKat8SUiAI449LOvzVrY9u7QICn2RDDpvCegTV
	 kYKWsPrDiyjJXSP1UNc+P3P3+96jZkxpTEmqyVS+8MbH63XFMeT0a1yWM6Inmt6YRpwDO
	 TC+0r/HJY6XXemNFxu0dZhLq/LSVXEUPCsT2aPtNyxp2aq7ceFhi008FyxUZsSrblKUj1
	 GN0beLKHDDXuWFcvkI3KxCoN1llZ3tm+8hj3H/PHMAvPS0EO7iXoAwHX7J+9deuKhVB0q
	 8qOAfit1ntk99TYXgJBKGn2bXGG2zKprVx4CEu8GFKIBxhbLGg4NveikeftIgcAN48Xuh
	 /FKhmKy/Zt+8MlU7cZDWhPTh+Ql2UVjdKMcPJwKA9HoXyGBgMXDx23cPyyfsOdw=
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=1742900153; bh=H5wclqjetaQbiV4vqle48EoTSE1AL9UwBrhAcfsQXM4=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=KbLdlmWUGZjfixO8Ol8irc8d747Ax1zG4YE0FkfCfCo950ZhmlRMlNAeSWqjb4lLr
	 zf6kOM6KchBo+fN07VzhRHi0dpe/knsvyfBTRV4t9ryMeV+Iil3IMQSVXcb1cpdIF7
	 GscQz15e4lw3NP4T3CPafWKLX7Z2QDKZN28/o4UVeXOcawUgXkxJV7p9F3V8eaHEH0
	 tYLx7Rf4blM2phJLkUMtn/dAnie7sJj5qWU38ZnxtG6YB6QA73LlUNP/tiv7mx77wm
	 VjOu+thr0f/Q/Lll21T9VpMHa3ICkHyuRJJ9wP/1zEhY+7ivh+lwKKq9/ewEFxOfrL
	 jhx6waGnaX5bQ==
MIME-Version: 1.0
Date: Tue, 25 Mar 2025 11:55:53 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Penny Zheng <Penny.Zheng@amd.com>, ray.huang@amd.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 07/15] xen/cpufreq: fix core frequency calculation for
 AMD Family 1Ah CPUs
In-Reply-To: <0b340303-db4e-4723-b53d-178b2676a36c@suse.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-8-Penny.Zheng@amd.com>
 <0b340303-db4e-4723-b53d-178b2676a36c@suse.com>
Message-ID: <d1432802d12ed4fa0ac61c9f7b2cbcc4@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-03-24 16:47, Jan Beulich wrote:
> On 06.03.2025 09:39, Penny Zheng wrote:
>> This commit fixes core frequency calculation for AMD Family 1Ah CPUs, 
>> due to
>> a change in the PStateDef MSR layout in AMD Family 1Ah+.
>> In AMD Family 1Ah+, Core current operating frequency in MHz is 
>> calculated as
>> follows:
> 

[...]

> 
>> @@ -658,19 +670,20 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
>>  	if (!(lo >> 63))
>>  		return;
>> 
>> -#define FREQ(v) (c->x86 < 0x17 ? ((((v) & 0x3f) + 0x10) * 100) >> 
>> (((v) >> 6) & 7) \
>> -		                     : (((v) & 0xff) * 25 * 8) / (((v) >> 8) & 
>> 0x3f))
>>  	if (idx && idx < h &&
>>  	    !rdmsr_safe(0xC0010064 + idx, val) && (val >> 63) &&
>>  	    !rdmsr_safe(0xC0010064, hi) && (hi >> 63))
>>  		printk("CPU%u: %lu (%lu ... %lu) MHz\n",
>> -		       smp_processor_id(), FREQ(val), FREQ(lo), FREQ(hi));
>> +		       smp_processor_id(),
>> +		       amd_parse_freq(c, val),
>> +		       amd_parse_freq(c, lo), amd_parse_freq(c, hi));
> 
> I fear Misra won't like multiple function calls to evaluate the 
> parameters
> to pass to another function. Iirc smp_process_id() has special 
> exception,
> so that's okay here. This may be possible to alleviate by marking the 
> new
> helper pure or even const (see gcc doc as to caveats with passing 
> pointers
> to const functions). Cc-ing Nicola for possible clarification or 
> correction.
> 
> Jan

Yes, it would help. Currently there is only a property for 
smp_processor_id(), though there has been some discussion in the past 
about adding a formal deviation. Not a big problem either way since 
currently the rule is non-blocking, but definitely an attribute would 
help any future work on making that clean.

-- 
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 Mar 25 11:00:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926312.1329178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx21a-0007bP-Qt; Tue, 25 Mar 2025 11:00:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926312.1329178; Tue, 25 Mar 2025 11:00: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 1tx21a-0007ap-NS; Tue, 25 Mar 2025 11:00:50 +0000
Received: by outflank-mailman (input) for mailman id 926312;
 Tue, 25 Mar 2025 11:00: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=uDid=WM=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tx21Y-0007NY-Ur
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:00:49 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2413::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 66d6164f-0968-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 12:00:46 +0100 (CET)
Received: from BL1PR13CA0144.namprd13.prod.outlook.com (2603:10b6:208:2bb::29)
 by SN7PR12MB8604.namprd12.prod.outlook.com (2603:10b6:806:273::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 11:00:43 +0000
Received: from BN2PEPF000044A4.namprd02.prod.outlook.com
 (2603:10b6:208:2bb:cafe::19) by BL1PR13CA0144.outlook.office365.com
 (2603:10b6:208:2bb::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Tue,
 25 Mar 2025 11:00:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF000044A4.mail.protection.outlook.com (10.167.243.155) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 11:00:42 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 25 Mar
 2025 06:00:42 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 25 Mar
 2025 06:00:41 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Tue, 25 Mar 2025 06:00:40 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66d6164f-0968-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NYMa+zE4CUhzlmc3VpbljfbifS5HZN1rjmT6xYYNZkpL49f804lM1Fm8IKVwP5TBklhfScS+Becx6DzBU67UJ7KaivLATej8hRxFF5VL5VQf+eKBO7qpGRHQLLoItj3pIj2aM4qo3HtM9gpkXQzsHKwhY4045EUJgxSlUVBfcAghk78Y60ZHBgANBmf1O7dJakTssIKpmu4IEaKmy/EtFXXoc+APLR4Yu2KtrsZDi8TKOMxAqMlDGEhsLKa0E2GOGGftsw/Gl/rbXH3zoltxq/fdHlph1Gv+CFVxmSxJl4dBmjdvgMUirc8JvaRiaUUjwF04wHf5KgGNpm0iWpf7gA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=86S5Z+WAqe5zgxdXS9u7+1K2h9JvUw/muS+IXA2VOH0=;
 b=Fzy4hodzC8rtooELvmXgEecNtqvG6FMA03yvyKeM9rTsjqwJ1BwEDvG/D1DO4ssVpNgprONY/qawflZ0OMPf7MpXf7Fpxkk9PqiczZJKnzeu7dmDvptOm0IMwQjyMCBhtJhXMxqPsP8pb4WSNIjKbh8TCRD0EVmZbkoi4WvGZgr0aLnYT+izJDrSIni/10+xUWhAIyR1kfPxSIrIQWeBJP+izAVB8Ryi4AGWzTs0I+JgbMl8hHxpYaaD1BGlg4VZWFNL68gLKYtTiHCi7ufJ2LhYt416kyi3bGFGQl+9Ef2LDxWFt6ZUrsAlRdLmHh8LB7ltGXNzyWm/igAcz33ouQ==
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=86S5Z+WAqe5zgxdXS9u7+1K2h9JvUw/muS+IXA2VOH0=;
 b=mCL5iWt+//tg2p1BUIJpKv70eEYYokAw7uzpue3QOXjbo8QGuzVaTS3+IZPfyeM69sQ14zfsFJesdg3OnohLyZNiQbGzlVqIDhQSow7lhvkUXtqgG51+6pi/VaOuFcb1ByG7GORbSDexM4VcNG1x2r2PnwzAfqY7e39IS7DOi0g=
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=SATLEXMB04.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>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v2] tools/arm: Fix nr_spis handling v2
Date: Tue, 25 Mar 2025 12:00:29 +0100
Message-ID: <20250325110029.399838-1-michal.orzel@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: BN2PEPF000044A4:EE_|SN7PR12MB8604:EE_
X-MS-Office365-Filtering-Correlation-Id: 14128406-9bdf-4250-aff5-08dd6b8c494d
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?gZHdd4psI0vNwMMhWLiTn92QUN2FizeFrCwNfiY2y/JO3p4Sqslo5g57EWf4?=
 =?us-ascii?Q?Yylhm8a/iBcwwyNINtqg6V5T8Kj5kQ2PuLMqJ5l8nY1lS36pI2HJiFdPiZR4?=
 =?us-ascii?Q?mJeJM31b5f4Lis4ysNAtCf1CDiGJYZI3okDJzBdiLewDv6QDE4ahee+qwlMD?=
 =?us-ascii?Q?PWQsukBaYDJPxCHmyNHtAi/Ri225U4zQO7XTbuEati1pp23b8tcycP33CCzQ?=
 =?us-ascii?Q?cnnxII4zdPtMCvIMhTkvToZo5q+CqsLWNbtffzcQ5I+Rfb0i/TRQnkZRyzv/?=
 =?us-ascii?Q?ZbwCyd6WqugGWUiZ6cOHF9+3D0eOUssF3USm5ejVA/LO4W0x6cWPPn/eGkfc?=
 =?us-ascii?Q?qfro4Isd8Y2NL3tXaj71Ns4FlAeXq1Ofdg5EaK6dX2b9wKg5ALnHbubdPNqe?=
 =?us-ascii?Q?iXvlLDoucBvegYDpqhvtTMDcUmNXvzDCscamOvOJT4I+QcNF3dJkUFiF3of7?=
 =?us-ascii?Q?dPgB6m+4oWd9gAvkKXj3FMNO1WEoHbDrGDD6sSL/SmkXViBNERSVpchR8VG1?=
 =?us-ascii?Q?FKP9ZW5zChDMxHKlGYGgL4QQB+5Y/cx3JHunKb4M5gyLmiFd8x2ehFWb1wad?=
 =?us-ascii?Q?BkypUBdgZlkbgz47je6qLaCurmE+4Evu4ZV8bAUVA6dGeLJtqufKlMqfPFLh?=
 =?us-ascii?Q?N1l3anJadhPu+Nrg2IWndLI76OAZKqDH+fXWOfHAn7aeyjAS5GPHjyCoTOOU?=
 =?us-ascii?Q?sf/Ytp0614++FjKmBPbx6+INzAOJ+mR4gjeyXFVwqDAraJd0Psfok6rCxY+m?=
 =?us-ascii?Q?k2BCbJMWdtqLSv6xn/XjK9cHSdWgmbw/xAp702PcFfPsAh2VrhZTzXm0792r?=
 =?us-ascii?Q?ZFub/iAiy4BNi+Z8Mt+bply9JHff51q0+FobJ7/qKR1HJdnNtKW67S+kDdwz?=
 =?us-ascii?Q?ngWR07pDF7gatU1ixTejmNWzF8N/LY5YYSSs6AVNTLX423MrfMECA5HGQlc4?=
 =?us-ascii?Q?T22B7NCw+6JyW3ElniJbTJ/jG4c7QuHLlIIHH6BkGlPdbTceSEwWpEeSY4Pv?=
 =?us-ascii?Q?7l/ya2R1P+jIPYnatkO3Gt63xN6GXCPKSdt8y8dyceVkY3TCDzTdTsnStOGQ?=
 =?us-ascii?Q?AwYM5+743Ob1F4Fr8PZy/8zecz7fYAFIkPyleKcUGGtLpO2ADiQ/k/Op9U5F?=
 =?us-ascii?Q?CF5tMq/6/+GMdT/ZwkjxG+Sno6xuBvMFL8+9Cdw9/0Rw4AeozokSSRb27rF9?=
 =?us-ascii?Q?NHB5oH/xso0Z3YiZYRtgbb51OhGT8NnLfpknDeM7/I2LoUKCd1I+jSv5obv2?=
 =?us-ascii?Q?Dr+uVwoLpg05yhM3iQDwhmG3w66s2ed6rqPLRK8pbfIsBB0wzx8418n0eoM1?=
 =?us-ascii?Q?1twEQ9DqFXuK0eW/Pg1nVMbfgDvpPyx8BG8HxSHORqfmifXrq6VIrPQKS8V1?=
 =?us-ascii?Q?yi50/0XcSjrqDMNoJy4jE4utDiUt5wPOcKtkrmYM2v6fbKsgGRHqpeOH9ja2?=
 =?us-ascii?Q?M0JDJA73YYgijBTRX4ZIfP2UpqO46oUsc5yWUfh13eeDXEvSkMlZnpahPC+a?=
 =?us-ascii?Q?cvSmShjOJmiNJLo=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 25 Mar 2025 11:00:42.5587
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 14128406-9bdf-4250-aff5-08dd6b8c494d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000044A4.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8604

We are missing a way to detect whether a user provided a value for
nr_spis equal to 0 or did not provide any value (default is also 0) which
can cause issues when calculated nr_spis is > 0 and the value from domain
config is 0. Fix it by setting default value for nr_spis to newly added
LIBXL_NR_SPIS_DEFAULT i.e. UINT32_MAX (max supported nr of SPIs is 960
anyway).

Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_spis value")
Reported-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - add LIBXL_NR_SPIS_DEFAULT, rearrange checks
---
 tools/include/libxl.h            |  1 +
 tools/libs/light/libxl_arm.c     | 17 +++++++++++------
 tools/libs/light/libxl_types.idl |  2 +-
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index f8fe4afd7dca..b7ad7735ca4c 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1579,6 +1579,7 @@ bool libxl_defbool_val(libxl_defbool db);
 
 const char *libxl_defbool_to_string(libxl_defbool b);
 
+#define LIBXL_NR_SPIS_DEFAULT (~(uint32_t)0)
 #define LIBXL_TIMER_MODE_DEFAULT -1
 #define LIBXL_MEMKB_DEFAULT ~0ULL
 
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 2d895408cac3..0adcaa373b54 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
                                       libxl_domain_config *d_config,
                                       struct xen_domctl_createdomain *config)
 {
-    uint32_t nr_spis = 0;
+    uint32_t nr_spis = 0, cfg_nr_spis = d_config->b_info.arch_arm.nr_spis;
     unsigned int i;
     uint32_t vuart_irq, virtio_irq = 0;
     bool vuart_enabled = false, virtio_enabled = false;
@@ -181,13 +181,18 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 
     LOG(DEBUG, "Configure the domain");
 
-    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
-        LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
-            nr_spis);
-        return ERROR_FAIL;
+    /* Check if a user provided a value or not */
+    if (cfg_nr_spis != LIBXL_NR_SPIS_DEFAULT) {
+        if (nr_spis > cfg_nr_spis) {
+            LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
+                nr_spis);
+            return ERROR_FAIL;
+        }
+        config->arch.nr_spis = cfg_nr_spis;
     }
+    else
+        config->arch.nr_spis = nr_spis;
 
-    config->arch.nr_spis = max(nr_spis, d_config->b_info.arch_arm.nr_spis);
     LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
 
     switch (d_config->b_info.arch_arm.gic_version) {
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index bd4b8721ff19..9bb296993199 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -723,7 +723,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
                                ("sve_vl", libxl_sve_type),
-                               ("nr_spis", uint32),
+                               ("nr_spis", uint32, {'init_val': 'LIBXL_NR_SPIS_DEFAULT'}),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:23:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926343.1329187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2Nq-000482-JH; Tue, 25 Mar 2025 11:23:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926343.1329187; Tue, 25 Mar 2025 11: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 1tx2Nq-00047v-Gl; Tue, 25 Mar 2025 11:23:50 +0000
Received: by outflank-mailman (input) for mailman id 926343;
 Tue, 25 Mar 2025 11:23: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx2No-00047p-Gf
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:23:48 +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 9e736de1-096b-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 12:23:47 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-ab771575040so1256068566b.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 04:23:47 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac6932e843asm420410866b.83.2025.03.25.04.23.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 04:23: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: 9e736de1-096b-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742901827; x=1743506627; 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=peg0EU7I7tp0ADX2CzLT4SbzlFxlYVi4682cqDy2Eqw=;
        b=cvOXvG2g4L3OJQpYtbHFxeIX5Vhowm1dci5ucusLjO7ZsbukimYOp44pQPc6vHfEcB
         BpV15qHDAJ1wSkBGgmpwdQkh0a6MA5rWUT6xu1MN5wmamdVWkbPw+3XVv8YOVeC7cnut
         qwc2js8zgISnIdBjVrVFSpnNFEeqzbUBjd3O0C4PqBqJypZyxIeBs8xqdZYK8dCtMOVh
         fl05UobxYWIWF6541mloxdMh3f/fYbO4eSPhWQ9chB5qKJAssqQ8JwRtbu5Mfb3CzKQc
         lhZXY9TCb10hOpS2ILN+U8lvxkZYfBR48y7pqlbBfkeR3rf2SAWlgPGjkDZYy6iXGKeJ
         OhSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742901827; x=1743506627;
        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=peg0EU7I7tp0ADX2CzLT4SbzlFxlYVi4682cqDy2Eqw=;
        b=qbU0jxFift0LGnR+Jas1df9ovLvwHRWJnkQM01NEFL4bY5T3M6WcRD6k+obvfBE88v
         /+BnDQzq5F8wgm2y0rQGoU/L5rEWSvG/vsdh3qmdXgH5c+qZZzQ/ezEvBNc+jpEEtGDI
         NmcNSS/QEmKy0omo5oMkR+VYSu/wbOBvzaFcqEg0gxgtz2OudrINRR3BwTMj0LCX8QLJ
         wA4dC3gogLwJQcl06XzW7lAvRHe/7NAoNb9RPizEcC75Z7PX+Ge8THmfSdNDdM7YG94d
         hvSqnIoBYPezdyT+PQ/0qjZy05ThGbnLh1qjRuLbuJE1ng65dJ7zAjvNfz1J417Y5H7G
         +tBA==
X-Forwarded-Encrypted: i=1; AJvYcCVCN0NgA4wVlkAP4Ane2GbyOto64d+fy1Xwh6+IUePqz6MsrsY20YQh0dbvTb0mpBaBZTbi4zQ13L4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxng0ZqBHh2rOn0wgAajrnLkGc4ii272bGWckRAqAVSsr2MxMh6
	TxyT5YUm6iQWIhrg3KX5HcJlHwSyPjYECXrmw6dT52iPh22vplX+
X-Gm-Gg: ASbGncvrjFleTo7A754cwH50pDDHJ3R3mbhRzwm8fV4jKprnAl6hsYet4uJBJdzWmWI
	89GqjkzDyLR5HOFxaWYQBGWUBv/tukqeEABQEe48x2d9pI79M9F1817ZKX4Tz7y6ryAMT7v+X8r
	7fhlv1Lokmqr/nmXytvHrH5iNB67C7QVw1YM9463I7toR1byBw9d0CKuRiYgYd6qjfveDbtXM/V
	7OYEXy5spq0IwIRVqCXqx74Joz96L514L08Nyn9yuUirfWTYmb0xszvTvZg5/Mhx88AplQQugvI
	bFShfHBG6xy5qZMX6uKu4uz5l8bSAp3YIwJK6jwzKeRKBU6n+1qaGDxktPkxUe3gr4dmbyiQjeW
	aPpwkWULWjHkop/lLQLXy
X-Google-Smtp-Source: AGHT+IEoIF9Jh7K2nXYti9K5Bx+koJD8MMzJApAMOH2NoIWbKJ9ZkdyyVfsZz8ahpbTR5AUthOOd6Q==
X-Received: by 2002:a17:907:94cb:b0:ac3:92ac:9364 with SMTP id a640c23a62f3a-ac3f011c346mr1345248166b.10.1742901826497;
        Tue, 25 Mar 2025 04:23:46 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------c5t02dRZKQohbSrtIF0w5fkr"
Message-ID: <b0083a5e-2395-4c94-b6b1-8fd8459ad043@gmail.com>
Date: Tue, 25 Mar 2025 12:23:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>

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


On 3/17/25 4:24 PM, Jan Beulich wrote:
> On 11.03.2025 17:19, Oleksii Kurochko wrote:
> +static __initdata struct dt_device_node *timer;
> +
> +/* Set up the timer on the boot CPU (early init function) */
> +static void __init preinit_dt_xen_time(void)
> +{
> +    static const struct dt_device_match  __initconst timer_ids[] =
>
Do we need here __initconstrel too? (the same as we need for
aplic_dt_match[] in patch3)

~ Oleksii

--------------c5t02dRZKQohbSrtIF0w5fkr
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 3/17/25 4:24 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com">
      <pre wrap="" class="moz-quote-pre">On 11.03.2025 17:19, Oleksii Kurochko wrote:
+static __initdata struct dt_device_node *timer;
+
+/* Set up the timer on the boot CPU (early init function) */
+static void __init preinit_dt_xen_time(void)
+{
+    static const struct dt_device_match  __initconst timer_ids[] =

</pre>
    </blockquote>
    <pre>Do we need here __initconstrel too? (the same as we need for 
aplic_dt_match[] in patch3)

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

--------------c5t02dRZKQohbSrtIF0w5fkr--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:26:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:26:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926353.1329199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2QH-0004ic-4M; Tue, 25 Mar 2025 11:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926353.1329199; Tue, 25 Mar 2025 11: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 1tx2QH-0004iV-0B; Tue, 25 Mar 2025 11:26:21 +0000
Received: by outflank-mailman (input) for mailman id 926353;
 Tue, 25 Mar 2025 11:26: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx2QG-0004iP-Id
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:26:20 +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 f44d544d-096b-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 12:26:11 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-390f5f48eafso3013786f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 04:26: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-3997f9a6326sm13182295f8f.29.2025.03.25.04.26.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 04:26: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: f44d544d-096b-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742901971; x=1743506771; 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=3n/0A6DHe08JAM+YkjkdZ4ppo385+DzHaRomhH8+NBc=;
        b=eiM1Yg9bGRQBKHtvuZsnTfhyVndOJaTu35D4pwESrHyMQwFPNpOaHZY6kLNmTPpCOL
         W7ZaUfpErdDccv0xnUrD+qv3nc8ua41IQuarw9Z3fJGf8iA23bE43KUAdQ/YFJiIbHr7
         55z9w1san9f0pi4LA315S92GYckLx5IvEDw71ekO9RxhdJAgXeLTQsd8EmMEaWQUrFKz
         1N85xcCZPIxiDlIxyhy0T0DcyE3JBx5r4obfTZtWMSGw+bc3qplCsopIX4swK/57Omwh
         zK1rA2PkznXvV8r69XDTsCPdkCi2LU+CcJyOaJkTvEDVP/etkGbqQHk13Z71f9r2XEHB
         2K6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742901971; x=1743506771;
        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=3n/0A6DHe08JAM+YkjkdZ4ppo385+DzHaRomhH8+NBc=;
        b=IxYjLjkqnpBqSiaKQJVkZdGu5uHHO4niGFo2vB2xdtNG9q6z7NpYO4TxN1DfdvSGOJ
         cPdSUUOM1FIZe3wvQlEgNliMokiIbZcHGxV+Jns4v96rOsn86auqLPCAHIntFi/EXPtZ
         Kcls2TG6AwyhuTxxiodxFRG+1sxXHijmUvDaJIv3C8ZJchpRKQSF8qqzw9pz6C63HnGl
         xSKPszJnVws1FYBBe5R1h6VIAYhn9PtnW5l1pJ5ZM66esl0dmkzdIzb/FkMBkeZLl5if
         NGC/pdLB5B2uC4nL3yeF4KUdXIIesGxz9L+WntC3RirGN9OTHJWLK6V8UEvEzMfvWlsL
         FKFQ==
X-Forwarded-Encrypted: i=1; AJvYcCVNjo1txhkrb2cksgtxhGq2zr0EQirkeEa/32qKADKOEzmPxD8wE3DaH6J+LP+7OEA37XMwuMeoi1E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVqstcz8dtijwNMCA48/2D5/E+uj7p0ABC9JGejEr+47yvCHkN
	mkWRu6S6L+J3vRmXdxOngt6JOs+s3JtDpUf3A/LZxoJEhN4Sn3BZbrynqldwooyMvyOioKOETo8
	=
X-Gm-Gg: ASbGncu1M2pxAgEXSbCJ6W0c/tpI19dEMsxesEtZPqr0+sQQB8gSIurFAyrMvrJDDbN
	MIqY52+BBd1EliDVdKJWYbg6hTjiow/Rd50qBL+gYVQFnm2hrnqzSsfOxGYBHKoBG0T8ApMIxMj
	K5NYvFsRcNhfNs024V4KRbEfk41CHC4+3ICeXGZ1iGwDJ6l2eoD+4HGC2W+U64yxM73EO9y9LW8
	6XHaU7wv6DbLsHLX0pEwWFwlLj5/2Xv6O0VKm5Mi8Y5N5fFQaX4a5dt4DteDS27hh/HGqoV6SOc
	GSH1uFoQ9sLwhfiW+EiMAVaTf4LstycxZJyitXppiE9mrodqnJB1zKNjQSYNPCennrCTjviaPWe
	Bi50uTTg2BH7zZvUT3sEJpfoRfG0V4A==
X-Google-Smtp-Source: AGHT+IG7ziVF0+CB0kmm2k4CJ+f0QJ2nxbB/GX8MakcNMgc+eBb0lUIumqzeJR3XOwp99Jfk9ldO5g==
X-Received: by 2002:a5d:648b:0:b0:391:4763:2a with SMTP id ffacd0b85a97d-3997f937afbmr15822151f8f.47.1742901970783;
        Tue, 25 Mar 2025 04:26:10 -0700 (PDT)
Message-ID: <6f5a81d7-c650-46d2-b667-6b7c3bc54c41@suse.com>
Date: Tue, 25 Mar 2025 12:26:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 14/15] xen/xenpm: Adapt cpu frequency monitor in xenpm
To: Penny Zheng <Penny.Zheng@amd.com>, Jason Andryuk <jandryuk@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>
Cc: ray.huang@amd.com, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-15-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: <20250306083949.1503385-15-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> Make `xenpm get-cpureq-para/set-cpufreq-para` available in CPPC mode.
> --- a/tools/libs/ctrl/xc_pm.c
> +++ b/tools/libs/ctrl/xc_pm.c
> @@ -214,13 +214,12 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
>  			 user_para->gov_num * CPUFREQ_NAME_LEN * sizeof(char), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
>  
>      bool has_num = user_para->cpu_num &&
> -                     user_para->freq_num &&
>                       user_para->gov_num;
>  
>      if ( has_num )

Something looks wrong here already before your patch: With how has_num is set
and with this conditional, ...

>      {
>          if ( (!user_para->affected_cpus)                    ||
> -             (!user_para->scaling_available_frequencies)    ||
> +             (user_para->freq_num && !user_para->scaling_available_frequencies)    ||
>               (user_para->gov_num && !user_para->scaling_available_governors) )

... this ->gov_num check, ...

>          {
>              errno = EINVAL;
> @@ -228,14 +227,16 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
>          }
>          if ( xc_hypercall_bounce_pre(xch, affected_cpus) )
>              goto unlock_1;
> -        if ( xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
> +        if ( user_para->freq_num &&
> +             xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
>              goto unlock_2;
>          if ( user_para->gov_num &&

... this one, and ...

>               xc_hypercall_bounce_pre(xch, scaling_available_governors) )
>              goto unlock_3;
>  
>          set_xen_guest_handle(sys_para->affected_cpus, affected_cpus);
> -        set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);
> +        if ( user_para->freq_num )
> +            set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);

(Nit: Yet another overly long line. It was too long already before, yes, but
 that's no excuse to make it even longer.  The more that there is better
 formatting right in context below.)

>          if ( user_para->gov_num )

... this one are all dead code. Jason? I expect the has_num variable simply
wants dropping altogether, thus correcting the earlier anomaly and getting
the intended new behavior at the same time.

>              set_xen_guest_handle(sys_para->scaling_available_governors,
>                                   scaling_available_governors);

This is the piece of context I'm referring to in the nit above.

> @@ -301,7 +302,8 @@ unlock_4:
>      if ( user_para->gov_num )
>          xc_hypercall_bounce_post(xch, scaling_available_governors);
>  unlock_3:
> -    xc_hypercall_bounce_post(xch, scaling_available_frequencies);
> +    if ( user_para->freq_num )
> +        xc_hypercall_bounce_post(xch, scaling_available_frequencies);
>  unlock_2:
>      xc_hypercall_bounce_post(xch, affected_cpus);
>  unlock_1:

I'm also puzzled by the function's inconsistent return value - Anthony,
can you explain / spot why things are the way they are?

> --- a/tools/misc/xenpm.c
> +++ b/tools/misc/xenpm.c
> @@ -539,7 +539,7 @@ static void signal_int_handler(int signo)
>                          res / 1000000UL, 100UL * res / (double)sum_px[i]);
>              }
>          }
> -        if ( px_cap && avgfreq[i] )
> +        if ( avgfreq[i] )
>              printf("  Avg freq\t%d\tKHz\n", avgfreq[i]);
>      }

I wonder whether this shouldn't be an independent change (which then
could go in rather sooner).

> @@ -926,7 +926,8 @@ static int show_cpufreq_para_by_cpuid(xc_interface *xc_handle, int cpuid)
>              ret = -ENOMEM;
>              goto out;
>          }
> -        if (!(p_cpufreq->scaling_available_frequencies =
> +        if (p_cpufreq->freq_num &&
> +            !(p_cpufreq->scaling_available_frequencies =
>                malloc(p_cpufreq->freq_num * sizeof(uint32_t))))
>          {
>              fprintf(stderr,

Can someone explain to me how the pre-existing logic here works? All
three ->*_num start out as zero. Hence respective allocations (of zero
size) may conceivably return NULL (the behavior there is implementation
defined after all). Yet then we'd bail from the loop, and hence from the
function. IOW adding a ->freq_num check and also a ->cpu_num one (along
with the ->gov_num one that apparently was added during HWP development)
would once again look like an independent (latent) bugfix to me.

> --- a/xen/drivers/acpi/pmstat.c
> +++ b/xen/drivers/acpi/pmstat.c
> @@ -202,7 +202,7 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
>      pmpt = processor_pminfo[op->cpuid];
>      policy = per_cpu(cpufreq_cpu_policy, op->cpuid);
>  
> -    if ( !pmpt || !pmpt->perf.states ||
> +    if ( !pmpt || ((pmpt->init & XEN_PX_INIT) && !pmpt->perf.states) ||
>           !policy || !policy->governor )
>          return -EINVAL;

Wouldn't this change better belong in the earlier patch, where the code
in context of the last hunk below was adjusted?

> @@ -229,17 +229,20 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
>      if ( ret )
>          return ret;
>  
> -    if ( !(scaling_available_frequencies =
> -           xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
> -        return -ENOMEM;
> -    for ( i = 0; i < op->u.get_para.freq_num; i++ )
> -        scaling_available_frequencies[i] =
> -                        pmpt->perf.states[i].core_frequency * 1000;
> -    ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
> -                   scaling_available_frequencies, op->u.get_para.freq_num);
> -    xfree(scaling_available_frequencies);
> -    if ( ret )
> -        return ret;
> +    if ( op->u.get_para.freq_num )
> +    {
> +        if ( !(scaling_available_frequencies =
> +               xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
> +            return -ENOMEM;
> +        for ( i = 0; i < op->u.get_para.freq_num; i++ )
> +            scaling_available_frequencies[i] =
> +                            pmpt->perf.states[i].core_frequency * 1000;

Nit: Indentation was bogus here and ...

> +        ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
> +                    scaling_available_frequencies, op->u.get_para.freq_num);

... here before, and sadly continues to be bogus now.

> +        xfree(scaling_available_frequencies);
> +        if ( ret )
> +            return ret;
> +    }

While (beyond the nit above) I'm okay with this simple change, I think the
code here would benefit from folding the two allocations into one. There
simply is no reason to pay the price of the allocation overhead twice, when
we need a uint32_t[max(.cpu_num, .freq_num)] array anyway. That way the
churn introduced here would then also be smaller.

> @@ -465,7 +468,8 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
>      switch ( op->cmd & PM_PARA_CATEGORY_MASK )
>      {
>      case CPUFREQ_PARA:
> -        if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_PX) )
> +        if ( !(xen_processor_pmbits & (XEN_PROCESSOR_PM_PX |
> +                                       XEN_PROCESSOR_PM_CPPC)) )
>              return -ENODEV;
>          if ( !pmpt || !(pmpt->init & (XEN_PX_INIT | XEN_CPPC_INIT)) )
>              return -EINVAL;

(This is the hunk I'm referring to further up.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:30:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926365.1329208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2UD-0006DF-KV; Tue, 25 Mar 2025 11:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926365.1329208; Tue, 25 Mar 2025 11:30: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 1tx2UD-0006D8-GY; Tue, 25 Mar 2025 11:30:25 +0000
Received: by outflank-mailman (input) for mailman id 926365;
 Tue, 25 Mar 2025 11:30: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=uFHn=WM=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1tx2UB-0006D2-Sg
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:30:24 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8758cedf-096c-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 12:30:18 +0100 (CET)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by PAXPR03MB7999.eurprd03.prod.outlook.com (2603:10a6:102:21e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 11:30:15 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%7]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 11:30: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: 8758cedf-096c-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CwgJXTdcc3bSJ9Ldk+HQ1SCWXqJ85JIxythW+KqVsgcpPUNeRWBQYg3XPTE/5Wq+sxxHoTJKvwIkiOOuS58Y37Kn27XY0v5VMDFYFQPQupFDcSFx8lZIKHt5FSgZPGGCxSLMJ+f4p/3NytpS3IiW45mH6QEzXrHtVqVJ28xusCtumjYUkpegVozjMRRMIAZff/aN1Vj1QEFlLxqHaJt3Z8G90SyJiom8osEmEyNYGGBdlxtY1q7/Q1k1eJMZ5C3O4kzSSO0Z3PN1nzcrazbJK0GW35kLvXpjCfoYQ67R8QR47HLNj8hHjEWu0fXsQOVJ13h5m6YnYID5mJKpoTPPtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v1xVWBhIyB1zYZ4W4+MNstvj6SC91Kwn/Qzovo6iCtY=;
 b=WKXnPJHz5JanrP5fUwVSNHYX2LqlhVhjhxCJDBfKsGJyXGn7SMRziR7JOUdzeL9nA1Ohd6G03+r2JE6YavV3JIn2J2elaYpuSXwScutDugUEYMSNHxlREk/OL2jr7XnW/0GJDdUotteOPrhsgi6XjDSCfOuehE2VMULuqsyNyphVIASd6ciGXc84bEQ2DMXzl/oGn7c1kM+kiSa5b7AIKRxYpOfr/lANGEA/A/v/PvkpylwHf5FZsv4hor7Ksqj7y4FsjtZsMgRNlFzz9ylXDV/5TOSGwKkdLTciH9vyrJf24EcCz2rYoKceFgos8RYoLYoTxAoY3kFsIY11AajXcg==
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=v1xVWBhIyB1zYZ4W4+MNstvj6SC91Kwn/Qzovo6iCtY=;
 b=WT1Te/WcEquvlVpP4iq68JnL3wcji7NfYpSRolKxtbiTZN9OASth22qkcpmjsNRO7XOXAoDoKLKU6qg1TUmAQxeYtSmvpkiqt6VWrrXrQ9JFxU4YAw4s9lfEvbsFwOuIvC/sM79n94pKlb1CiTJ407RwJ0nonCahLbkpYBNYWXFwE7J55IfBr0j/H6FvVaE0QITg3JacaBCq909SoNbm+8ZD+8ETgzxgzMmDViK8iSd3FTIP+AaV5WinVkcHyPvttuJf2pVYCguMaRfBTE1F0l8U7V1GSlO0tav9DLSmUN9yqS/XwqLGzfBZVdguQJOp82JGc8rmpBv32uUonjspeg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@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>
Subject: [RFC PATCH] xen/device-tree: Switch back to dt_unreserved_regions()
 in boot allocator
Thread-Topic: [RFC PATCH] xen/device-tree: Switch back to
 dt_unreserved_regions() in boot allocator
Thread-Index: AQHbnXlHnsoSPQvjtUi5zku8ytw1yA==
Date: Tue, 25 Mar 2025 11:30:14 +0000
Message-ID: <20250325113014.1945518-1-oleksandr_tyshchenko@epam.com>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|PAXPR03MB7999:EE_
x-ms-office365-filtering-correlation-id: e4a2b349-8d6c-4a53-2e9f-08dd6b9069b3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?UOiIRuqXZO2+v3SKM6WNo8kvklepT1WwwrFah5RQDzwzhlF+2NRyyADEZ/?=
 =?iso-8859-1?Q?z5+4ggC4y3etre2a6qfnpJeE1/MtYRcZ5qIWNE9hNDDoqWjfaoEaRGz2aV?=
 =?iso-8859-1?Q?GDx+WljJsd4MycFMpq3Ij/m6nhcM2xBm/TzAKclf7voABCa/POUVEHrX0Z?=
 =?iso-8859-1?Q?jBfFftuWYy9b/wA9XiZROztHS6i6l6VOQDFKVvybZd20n0/dSzILl4N24t?=
 =?iso-8859-1?Q?UVIHALVPufsZeg1g+/w/F66JR9Q0jg/qgDXaiaHAL8Y2cwjwWuQoOj0luc?=
 =?iso-8859-1?Q?1M8A2cW4cDdbFHffQ1QvNgf+hIS8jc/QSJ2pHsnbb64EH/D9pT1+Vo0rcw?=
 =?iso-8859-1?Q?ch3Eu9Zngz+fD12Zj9xHnTW/l+OUo/FogGt3+DDg5ayPo8b6JJ0kakiWKv?=
 =?iso-8859-1?Q?hkCc1/bEL8lXNRmsOqF6L/Zubs5j+9yl1XaFVvYF8uTF2KRHGeqJ6OdzYy?=
 =?iso-8859-1?Q?XzmOvKJboTVZM0stZJ8QjaPy82ClY3o46XKfAzZU2jXC9AzC2youpLLrpi?=
 =?iso-8859-1?Q?h/ufyw/rSGo9NpqCx954lnfvFG1FTUhvItUoOybrM1TfNxKtd2HyBCv6M2?=
 =?iso-8859-1?Q?BnoGeSoNHZIVvdtfKaP+yEdhCGJjkJ033Rs+D2Y/Wobb34J7XqgR4nJUYU?=
 =?iso-8859-1?Q?CDhz5TRZeLr1hrLy4Z/miCwtHzYH48N2dcfFVVmXXhYONZdhdnzu/Wv72i?=
 =?iso-8859-1?Q?rWaPXWX5syMGAzAkKj/O56oZFpxEuV91nHdYf3jNZCB3G5r/hQBtPwUS/j?=
 =?iso-8859-1?Q?+5sYuoNZpxk6d9GwZ5teNytf9KSzFF548q8eqODQ0ySQvG3CBhhUX3rX4s?=
 =?iso-8859-1?Q?WfnLeFMF/OV/MR4Qv7G/bipiuxHUKabJJibJ11/yIVmH1Dx776Sk+70Iwu?=
 =?iso-8859-1?Q?at/OwbD9iLw8S1/5GIhw+03iqGTX+XPChjgxGKkr3rEkrTjKjcX9fmjoAZ?=
 =?iso-8859-1?Q?JqWVuKB74ngWqfCPBy2jaPn2+8X3EVB4yxzjRqalAIAp9g6VhFSvtOaJ+g?=
 =?iso-8859-1?Q?b7flvHgsK3WeNRtPBddQdQDDOtmRww4CMo43D1+JoAc/Uo0sjnjF2qigaU?=
 =?iso-8859-1?Q?GUpIqDqY1hEsApHNqv9/lsyFUQCAT9KQY0AWluvJukeGSKeUDMb4+RPeY4?=
 =?iso-8859-1?Q?mv2xWXDahvIN0KIr8dG6952hvKaDdpyUWTepMXZxr/qyb6Au1M4yT4hgv7?=
 =?iso-8859-1?Q?V58H7U0V+c69P2NrGNt0oC3wzHaMP0WAvW2Vf2fpFPQEIHA4FPNjjpg0nE?=
 =?iso-8859-1?Q?VeOHOiuscPkpUeiWWb/mcF/kbXaXIm1ZD67TMoy6hUn6ixGYvV7CZhNx6n?=
 =?iso-8859-1?Q?aBatjGPlYcOB7OuGTXwFKMfOUaimA1+5zsbF+SvsUiGQzaq5T0eoD70hGu?=
 =?iso-8859-1?Q?pM0kwQD6BBd67gyKzFyuAJZwAtg40RQrxz3WJjIGbq68W7RcNJts8NZal0?=
 =?iso-8859-1?Q?gWt9UEd602f+W6z1NZHKxAXHdo7MzQA1TTwSboq9T5w5qxrp/6tgbtvGpt?=
 =?iso-8859-1?Q?uDI/H5hpXQfZfs6at3q1dIaV8VgqNZ7g+qUsv3TV+pwe7RYi/F+RM7P2+U?=
 =?iso-8859-1?Q?Otxvvfg=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Y7r6iQ2MBTXdn8THnzUA2X3kRgUwz/cLNW4nJeQ5WWFrZ9nPoPVm7WJKAW?=
 =?iso-8859-1?Q?WPMAVOsfifayWGKqRMBQY/dLTh0xfoXmm0eb4A7pYjVbuHaCnA2uWWY46k?=
 =?iso-8859-1?Q?+gqpeWtt45/JS7F90Jsb+WSASR17/MPL8vvk95959tbIjVHtTQ7t+Na9F8?=
 =?iso-8859-1?Q?hNmGQAAR1RFVLQLRtyG562la2/l+WvZ2fesp4tTDZCocTnj+fmZtgiQ7Eb?=
 =?iso-8859-1?Q?hmj906ra8LiiOBbbViI/r09ooSkHFtXLT61Zxm7r5x7UV1w7l+qXi1xeUK?=
 =?iso-8859-1?Q?5P5yvRpQRYKemmNOJN2VUjUt2VgbLhC6U/3C54ZgI19MANME44c7ETK6Gd?=
 =?iso-8859-1?Q?jn7fAYhN3s07ayNdKUtMLWBWMDw9cFvtoUG1w4uDD/ALM7e9Ip6BlyGDlH?=
 =?iso-8859-1?Q?3p36j2AuGzYpAycK0h6efgTjX3H57MEGa5mEZwW93KHZMEsZadOtrceLLl?=
 =?iso-8859-1?Q?eAh68S1LpuUxlDX+hISK2JmMVsJvE3AACjipm8/0bwAMD5yh8Jgt3RoOMO?=
 =?iso-8859-1?Q?38/wxrYh0F9Rp7TujwzXhAWxgJAm6cBTl4nkrellm2ozcBL9bfUh0AYff/?=
 =?iso-8859-1?Q?baHs1txbbptpj+aXbF/HxiIJ/bCurv0arvht7ucYQdY6U1SbT5eRQ2/D3b?=
 =?iso-8859-1?Q?V6DBHZniWFJn0PMN7RcjOqt8oUp/U8/M6b0L4Z2/2rrBv2ZvzmVOmbYVge?=
 =?iso-8859-1?Q?NNA1bTl80k4s7bXV1KvLUPRaXLeVv2qoOyLG3tvS8s2y5SfKNla2/sXHuh?=
 =?iso-8859-1?Q?AXNo70+A7pbsRIUBrHLoZ4jz0PWX+F6PS57dtZ8X6gbhj+DczjY71mVgYv?=
 =?iso-8859-1?Q?UxMMPTFe51auSd7+rl4BogfnFoJOqHbopoH0tC8TcGbue6eHFyo0Lg5vS7?=
 =?iso-8859-1?Q?kWIPiom+1kPEcRi1CFyBuigNaHOnUhvl5k1oCZpAN4Hr1sFkfnQXEjCsvs?=
 =?iso-8859-1?Q?0GySwPCMuvhgYtuKea3670Oyn5ggOLSToFzrMkruC9IT76ks3dkf+ngJRd?=
 =?iso-8859-1?Q?X7GL0thlU0EeoACdX6aUEbcgmwzcUJN0+7A9g5osgWiVQRrDKGln5tjKnq?=
 =?iso-8859-1?Q?CrIWWPtqvw0plOXyTn+M4csZUNL+aAAslMiReyZnKaFuWnfuHeiNq7Iwuz?=
 =?iso-8859-1?Q?blHm0dlus7kcmxTrZQHUeNoJNnGPb9w+pCGvjquRKYmXjfU/OknVG9On4H?=
 =?iso-8859-1?Q?k4fri+W01G1Pv3unHOU1XE0mZpR5ekre8AkiP/MZUNnrj/4rIHj3eYb3oo?=
 =?iso-8859-1?Q?tlvYjQ+EEpQtPEn8mBNfHSWPg1ahueTzIkK2CW2auG9kNH36Fty6/9v/BU?=
 =?iso-8859-1?Q?nZ/CeyBq1u239jWV71pHSS0wnY1xr40Adt8wZQrWKJrSA1kgUA36WFnc+d?=
 =?iso-8859-1?Q?vQwXAX4rJqFu2tjW2Z2AGuQsC5GCscjEIo13JmgM7EIkmkPMXDcB+SFBfb?=
 =?iso-8859-1?Q?yF4LntFSQrzlsdw4YmTRRryKnKjA/jx61vGXFxx48KNos4j+6DxlpX2pyD?=
 =?iso-8859-1?Q?wy02NmkTCHI7rFI0NcieEOaVnJfYvK8gn3900OIghGie/NigqGqQskxCCY?=
 =?iso-8859-1?Q?+MD4tIn9FoxXZDo8Dk1SjblzvLwlM7L+ulOpNyqasTCd5ngRdGZe270VCB?=
 =?iso-8859-1?Q?N0MS77xwSPvRKfmQSGpqENV3BndU3R2cUCQR9NslhYY3+oADYqlSzJ5Bo/?=
 =?iso-8859-1?Q?exQhCFd2xV2gZ/n8oYs=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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4a2b349-8d6c-4a53-2e9f-08dd6b9069b3
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2025 11:30:14.8740
 (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: 7oksyXl95INCrITkON0GGGiGfaPBYVam9LmLFexoHsyysxLx/d0mrB9FJKyK7Ivs6wcFhh4Mg+e9jDzIkMwGl/zXDz3xH7WfGdtdL//+WgE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7999

On the device-tree-based Arm64 system, if Xen is built with
CONFIG_ACPI=3Dy, CONFIG_STATIC_MEMORY=3Dy, and the static memory range
is provided in the host device tree, the BUG is triggered in
common/page_alloc.c during Xen's early boot. The BUG occurs when
the first page from the static range is fed to the domain
sub-allocator and finally ends up in mark_page_free().
The pg->count_info & PGC_state is not in the state that
the code expects to see there.

The problem is that the static range gets mistakenly unreserved
in populate_boot_allocator() and reaches init_boot_pages().
This happens since by the time the populate_boot_allocator()
is executed, the evaluated in fw_unreserved_regions()
an acpi_disabled variable is still false (CONFIG_ACPI=3Dy) and
dt_unreserved_regions() which should simply skip that static range
does not get called. The acpi_disabled will be set to the actual
value later on in acpi_boot_table_init().

To avoid unreserving the whole region (including potential reserved
memory ranges such as static memory) open code fw_unreserved_regions()
and add a comment.

Another solution could be to call acpi_boot_table_init() before
setup_mm() in Arm64's start_xen().

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
The RFC since I am not sure whether the description is precise
and the fix is correct.

Below the dump, w/o and w/ the fix applied. I also added prints
for the processed memory ranges with "OT:" for the visibility:

********************

- UART enabled -
- Boot CPU booting -
- Current EL 0000000000000008 -
- Initialize CPU -
- Turning on paging -
- Paging turned on -
- Zero BSS -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) Checking for "xen,static-mem" in domain node
(XEN) RAM: 0000000040000000 - 00000000bfffffff
(XEN)=20
(XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen        =20
(XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree=20
(XEN) MODULE[2]: 0000000042e00000 - 0000000043111f82 Ramdisk    =20
(XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel     =20
(XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
(XEN)=20
(XEN) CMDLINE[0000000040400000]:domU0 console=3DttyAMA0
(XEN)=20
(XEN) Command line: console=3Ddtuart conswitch=3Dax
(XEN) OT: populate_boot_allocator[475] s 0x40000000 e 0x40400000
(XEN) OT: init_boot_pages[358]         s 0x40000000 e 0x40400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x42d00000 e 0x42e00000
(XEN) OT: init_boot_pages[358]         s 0x42d00000 e 0x42e00000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43111f83 e 0x43200000
(XEN) OT: init_boot_pages[358]         s 0x43111f83 e 0x43200000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43344000 e 0x43400000
(XEN) OT: init_boot_pages[358]         s 0x43344000 e 0x43400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43403000 e 0xc0000000
(XEN) OT: init_boot_pages[358]         s 0x43403000 e 0xc0000000 <<<
(XEN) pg MFN 50000 c=3D0x2180000000000000 o=3D0 v=3D0 t=3D0
(XEN) Xen BUG at common/page_alloc.c:1474
(XEN) ----[ Xen-4.21-unstable  arm64  debug=3Dy  Not tainted ]----
(XEN) CPU:    0
(XEN) PC:     00000a0000222ec0 page_alloc.c#mark_page_free+0xe8/0xf0
(XEN) LR:     00000a0000222ec0
(XEN) SP:     00000a0000307d10
(XEN) CPSR:   00000000600003c9 MODE:64-bit EL2h (Hypervisor, handler)
(XEN)      X0: 00000a0000310040  X1: 0000000000000001  X2: 0000000000000000
(XEN)      X3: 0000000000000000  X4: 0000000000000000  X5: 0000000000000000
(XEN)      X6: 0000000000000000  X7: fefefefefefeff09  X8: 7f7f7f7f7f7f7f7f
(XEN)      X9: 0000000000000080 X10: 7f7f7f7f7f7f7f7f X11: 0101010101010101
(XEN)     X12: 0000000000000008 X13: 0000000000000020 X14: 0000000000000001
(XEN)     X15: 00000a0000a00000 X16: 00000000bff3b8fc X17: 0000000000000000
(XEN)     X18: 00000000beebbdb0 X19: 0000000000050000 X20: 00000a0800380000
(XEN)     X21: 0000000000000010 X22: 00000000000be000 X23: 00000a0800380000
(XEN)     X24: 0000000000000000 X25: 0000000000060000 X26: 0000000000000001
(XEN)     X27: 00000a00002991c8 X28: fffff5f800000000  FP: 00000a0000307d10
(XEN)=20
(XEN)   VTCR_EL2: 0000000000000000
(XEN)  VTTBR_EL2: 0000000000000000
(XEN)=20
(XEN)  SCTLR_EL2: 0000000030cd183d
(XEN)    HCR_EL2: 0000000000000038
(XEN)  TTBR0_EL2: 0000000043321000
(XEN)=20
(XEN)    ESR_EL2: 00000000f2000001
(XEN)  HPFAR_EL2: 0000000000000000
(XEN)    FAR_EL2: 0000000000000000
(XEN)=20
(XEN) Xen stack trace from sp=3D00000a0000307d10:
(XEN)    00000a0000307d20 00000a0000224154 00000a0000307d90 00000a00002261a=
0
(XEN)    0000000000000010 00000a0000312d38 0000000000050000 00000000000be00=
0
(XEN)    000000000007abfd 00000a0000298ca0 00000a0000298000 000000000000001=
2
(XEN)    0000000000000040 0000000000000000 00000a00002a5170 000100000000001=
3
(XEN)    00000a0000307e20 00000a00002ab2c4 00000a00002e5430 00000a00002e53f=
0
(XEN)    00000a0000298ca0 00000a0000299000 00000a0000298000 00000a000029800=
0
(XEN)    00000000bffbb6d0 0000000000000000 00000000bfefeccc 00000000beed7ee=
0
(XEN)    0000000100000014 00000a08000b60a8 0000000000000000 000000000007abf=
d
(XEN)    0000000001ad9f58 00000a0000312d88 00000a0000307e60 00000a00002c62b=
c
(XEN)    0000000043400000 00000a0000c01c28 00000a0000312000 000000000000300=
0
(XEN)    00000a0000a00000 00000000beed7eb8 00000000bedbb730 00000a00002001a=
4
(XEN)    0000000043200000 fffff60043000000 0000000043400000 000000000000000=
3
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000000000=
0
(XEN)    0000000000000000 0000000000000000
(XEN) Xen call trace:
(XEN)    [<00000a0000222ec0>] page_alloc.c#mark_page_free+0xe8/0xf0 (PC)
(XEN)    [<00000a0000222ec0>] page_alloc.c#mark_page_free+0xe8/0xf0 (LR)
(XEN)    [<00000a0000224154>] page_alloc.c#free_heap_pages+0x10c/0x528
(XEN)    [<00000a00002261a0>] page_alloc.c#init_heap_pages+0x47c/0x678
(XEN)    [<00000a00002ab2c4>] end_boot_allocator+0x184/0x1b8
(XEN)    [<00000a00002c62bc>] start_xen+0x134/0x9ec
(XEN)    [<00000a00002001a4>] head.o#primary_switched+0x4/0x24
(XEN)=20
(XEN)=20
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Xen BUG at common/page_alloc.c:1474
(XEN) ****************************************
(XEN)=20
(XEN) Reboot in five seconds...


********************

- UART enabled -
- Boot CPU booting -
- Current EL 0000000000000008 -
- Initialize CPU -
- Turning on paging -
- Paging turned on -
- Zero BSS -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) Checking for "xen,static-mem" in domain node
(XEN) RAM: 0000000040000000 - 00000000bfffffff
(XEN)=20
(XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen        =20
(XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree=20
(XEN) MODULE[2]: 0000000042e00000 - 0000000043111f8f Ramdisk    =20
(XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel     =20
(XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
(XEN)=20
(XEN) CMDLINE[0000000040400000]:domU0 console=3DttyAMA0
(XEN)=20
(XEN) Command line: console=3Ddtuart conswitch=3Dax
(XEN) OT: populate_boot_allocator[475] s 0x40000000 e 0x40400000
(XEN) OT: dt_unreserved_regions[50]    s 0x40000000 e 0x40400000
(XEN) OT: init_boot_pages[358]         s 0x40000000 e 0x40400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x42d00000 e 0x42e00000
(XEN) OT: dt_unreserved_regions[50]    s 0x42d00000 e 0x42e00000
(XEN) OT: init_boot_pages[358]         s 0x42d00000 e 0x42e00000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43111f90 e 0x43200000
(XEN) OT: dt_unreserved_regions[50]    s 0x43111f90 e 0x43200000
(XEN) OT: init_boot_pages[358]         s 0x43111f90 e 0x43200000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43344000 e 0x43400000
(XEN) OT: dt_unreserved_regions[50]    s 0x43344000 e 0x43400000
(XEN) OT: init_boot_pages[358]         s 0x43344000 e 0x43400000 <<<
(XEN) OT: populate_boot_allocator[475] s 0x43403000 e 0xc0000000
(XEN) OT: dt_unreserved_regions[50]    s 0x43403000 e 0xc0000000
(XEN) OT: dt_unreserved_regions[50]    s 0x60000000 e 0xc0000000
(XEN) OT: init_boot_pages[358]         s 0x60000000 e 0xc0000000 <<<
(XEN) OT: dt_unreserved_regions[50]    s 0x43403000 e 0x50000000
(XEN) OT: init_boot_pages[358]         s 0x43403000 e 0x50000000 <<<
(XEN) Domain heap initialised
(XEN) Booting using Device Tree
---
 xen/common/device-tree/bootinfo.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/common/device-tree/bootinfo.c b/xen/common/device-tree/boo=
tinfo.c
index 76d652c0de..e250801d89 100644
--- a/xen/common/device-tree/bootinfo.c
+++ b/xen/common/device-tree/bootinfo.c
@@ -464,7 +464,13 @@ void __init populate_boot_allocator(void)
             }
 #endif
=20
-            fw_unreserved_regions(s, e, init_boot_pages, 0);
+            /*
+             * At this point we do not know yet if we are running on ACPI
+             * system. To avoid unreserving the whole region (including
+             * potential reserved memory ranges such as static memory) ope=
n code
+             * fw_unreserved_regions().
+             */
+            dt_unreserved_regions(s, e, init_boot_pages, 0);
             s =3D n;
         }
     }
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:35:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926376.1329217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2Ym-0007zH-8K; Tue, 25 Mar 2025 11:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926376.1329217; Tue, 25 Mar 2025 11:35: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 1tx2Ym-0007zA-5g; Tue, 25 Mar 2025 11:35:08 +0000
Received: by outflank-mailman (input) for mailman id 926376;
 Tue, 25 Mar 2025 11:35: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=mlsK=WM=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1tx2Yl-0007z4-8j
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:35:07 +0000
Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com
 [2607:f8b0:4864:20::d29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31e1c93b-096d-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 12:35:04 +0100 (CET)
Received: by mail-io1-xd29.google.com with SMTP id
 ca18e2360f4ac-85dd470597fso159217539f.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 04:35: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: 31e1c93b-096d-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742902503; x=1743507303; 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=58MPaY2Nf3iEmvHNObZjeJQX1QDxcioBJCo8Cm8eKU4=;
        b=bIQTuJ7DhAw8LqcEjSbAPZF//MSMmBCBOyCsJva7wJXmeney948+m4VPdd+fw6kYnR
         GJ66iKr3vJtN4t11pgkoqNS7iktpziiHQNisIXIRJyfsKHdmSLJut1xw4zlXj+2RaMzu
         cMusGrGvBGgfIgidh2h80KMtDp7syackzk8Fc4NbIto9lO3bSA35HbDpiVJCYkf4VFzD
         xki3cRXGu8XiquGhRoRc4xBiOlqBfVO8mfKAoUcZdPU1k0fz6bwB1jYL6q3thgZhbp+S
         4e6nbS3aME+QaLUktmHS3TlpzdoC+ZQZpcs+QtQ+nBxrqmFyBR8jWW7q++JT9u8cqwuP
         XSlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742902503; x=1743507303;
        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=58MPaY2Nf3iEmvHNObZjeJQX1QDxcioBJCo8Cm8eKU4=;
        b=B4RnSOlMA1UaEj2I2kSNYJh7XjDXE24pQf7gMqXtVUB4iTUokLUaS7Gh7rvWwKTmBJ
         VlVp9S0nN0qF0UEtLnYfIGVQ/YY64Bf2aE9MJxcP+LTNouv7NKgVKGQ++XNlalyhpp1C
         Puj5PMMcswmxy6rSUKo41cjnWpOJXFDdG3cCr35WGnb2vXX5Lhdg6SvOKnbkmq2djZ5a
         UTaw5doHxLN9i7/BoumDNkVCGFm3hsqKiMo2WkJzJUy5eSXw1x/kC+qW6Q/K4XSIj7O/
         rnkMTNlYPQYRmcU2ySXtl9r748QIj1fOBFxZqrtMVXZxWg7ggNdMptGtV7oh4vUgannk
         zBLw==
X-Gm-Message-State: AOJu0YwLqfRccKdv2ZwBb8U7pNY9iXQg3vVHmNq+am4ZkGr+K+bHXw6m
	WWDISfvQcWLqySKRLxQ3csQmh4uAIezpgKKjJGR/bLH6DWFFZP6ytOBMUBKaw+UW8ca0sg/EOvn
	twDfcJPPGLztW9enBxwXUNlxtWp9Ipg==
X-Gm-Gg: ASbGncvw7cWyER6TVZ5GFSWphSaYaFVEVICmGmvQmjiIn22NBRlNeh2hqJOnahTqfeK
	P8GGiaWYBR7ZR3m46rqsSRs8iywsUudQHNJFq9QCMuklcSmAnPPco7djDPXT5kTZTDDQAxP0YDc
	bLIXhNVzUcKM62A4EaJn9R+9w6aw==
X-Google-Smtp-Source: AGHT+IEk+Tza1v+6Hx2OGbqtZsWqMgBdkC7lmG1ezv92CrYhrQJ5A4jnjdHIvkPJdDCANYEfMTz+LRR8zBcjW6dRMg8=
X-Received: by 2002:a05:6e02:3047:b0:3d2:b154:49dc with SMTP id
 e9e14a558f8ab-3d5960cd132mr173744455ab.5.1742902503170; Tue, 25 Mar 2025
 04:35:03 -0700 (PDT)
MIME-Version: 1.0
References: <20250325113014.1945518-1-oleksandr_tyshchenko@epam.com>
In-Reply-To: <20250325113014.1945518-1-oleksandr_tyshchenko@epam.com>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
Date: Tue, 25 Mar 2025 13:34:52 +0200
X-Gm-Features: AQ5f1JpNPHN-pl8lSvf7hjhojEIg0CBR_DBZvHbsOMJgDh0lRXgRxRzwXedfW_0
Message-ID: <CAPD2p-n9GGX3_n5O60YTdHE3q-sAoR6M+wkKdUhwnMPs9ZCMhQ@mail.gmail.com>
Subject: Re: [RFC PATCH] xen/device-tree: Switch back to dt_unreserved_regions()
 in boot allocator
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Content-Type: multipart/alternative; boundary="0000000000009470430631291cf5"

--0000000000009470430631291cf5
Content-Type: text/plain; charset="UTF-8"

Hello all.

Please, ignore this second email, it was sent by mistake.

-- 
Regards,

Oleksandr Tyshchenko

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

<div dir=3D"ltr"><div><br></div><div>Hello all.</div><div><br></div><div>Pl=
ease, ignore this second email, it was sent by mistake.</div><div class=3D"=
gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr"><b=
r></div></div><span class=3D"gmail_signature_prefix">-- </span><br><div dir=
=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><=
div><div dir=3D"ltr"><span style=3D"background-color:rgb(255,255,255)"><fon=
t size=3D"2"><span style=3D"color:rgb(51,51,51);font-family:Arial,sans-seri=
f">Regards,</span></font></span></div><div dir=3D"ltr"><br></div><div dir=
=3D"ltr"><div><span style=3D"background-color:rgb(255,255,255)"><font size=
=3D"2">Oleksandr Tyshchenko</font></span></div></div></div></div></div></di=
v></div></div>

--0000000000009470430631291cf5--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:40:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:40:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926385.1329227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2de-00013Z-Q3; Tue, 25 Mar 2025 11:40:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926385.1329227; Tue, 25 Mar 2025 11:40: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 1tx2de-00013S-NU; Tue, 25 Mar 2025 11:40:10 +0000
Received: by outflank-mailman (input) for mailman id 926385;
 Tue, 25 Mar 2025 11:40: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=5k1R=WM=srs.euronap.de=SRS1=eR8k=home.tangomaris.de==Y/rQ=WM=sl.nospam.tangomaris.de=xen-mailinglist@srs-se1.protection.inumbo.net>)
 id 1tx2dd-00013M-7J
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:40:09 +0000
Received: from mail.euronap.de (mail.euronap.de [84.38.78.210])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e48c9e6c-096d-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 12:40:04 +0100 (CET)
Received: from home.tangomaris.de
 (ip-130-180-058-238.um40.pools.vodafone-ip.de [130.180.58.238])
 (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 mail.euronap.de (Postfix) with ESMTPSA id 4ZMSdb0kvrz6tdn
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 12:40:03 +0100 (CET)
Received: from [192.168.222.26] (ip-109-091-129-157.um37.pools.vodafone-ip.de
 [109.91.129.157])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by gw.tangomaris.de (Postfix) with ESMTPSA id 4ZMSdZ1SwRz3wrV
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 12:40:02 +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: e48c9e6c-096d-11f0-9ffa-bf95429c2676
Message-ID: <fd22dff4-0fd4-4e72-8877-ad5532f6b3bf@sl.nospam.tangomaris.de>
Date: Tue, 25 Mar 2025 12:40:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: VIF network definition does not work with backend=domnet
To: xen-devel@lists.xenproject.org
References: <f06ad622-4bb7-4a7d-9d11-a3c1456a4aa1@sl.nospam.tangomaris.de>
 <CAKf6xptiqnwcsc8q8nFk_XBGjP392o4kvLjc3_GzgaO_XpyJoA@mail.gmail.com>
Content-Language: de-CH
From: Shen Long <xen-mailinglist@sl.nospam.tangomaris.de>
In-Reply-To: <CAKf6xptiqnwcsc8q8nFk_XBGjP392o4kvLjc3_GzgaO_XpyJoA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Am 23.03.25 um 15:56 schrieb Jason Andryuk:
> On Sat, Mar 22, 2025 at 8:51âŻAM Shen Long
> <xen-mailinglist@sl.nospam.tangomaris.de> wrote:
>>
>> Hello,
> 
> Hi Shen,

Hi Jason,

> Try:
> vif = [ 'backend=netbackend,bridge=dmz,type=vif' ]
> 
> This will give "test" just a PV nic (and not an emulated nic).

yes, thank you thats it!

Though to be fair, i did cross post on xen-users because i got 
impatient. I tried to post here and didnt get activated on xen-devel but 
also did not get any feedback from the maillinglist server about my 
initial post. So i signed up for xen-users.
Then i found a solution but didnt understand it and posted my findings 
their.

> /var/log/xen/qemu-dm-test.log probably reports an error about bridge
> dmz not existing.

It does report about missing tun interface on dom0, but i missed to look 
at the log-files completely. Interesting the tun interface is not 
necessary on netbackend. But i think it would be, if i have to use the 
emulated type, maybe i need it later.

> qemu runs in dom0, but your bridge "dmz" is in the driver domain,
> "netbackend".  By using type=vif, xl skips creating the emulated nic
> with qemu.  I think `xl network-attach` uses type=vif by default,
> which also avoids the emulated nic issue.

That's the thing, i did see that the type=vif does something different 
in the documentation but i did not understand what the differences are. 
So because i now know something more. It makes sense and thanks for the 
clarification.

> Regards,
> Jason

Best regards,
Shen


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:44:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:44:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926394.1329238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2iB-0002kW-BS; Tue, 25 Mar 2025 11:44:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926394.1329238; Tue, 25 Mar 2025 11:44: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 1tx2iB-0002kP-7k; Tue, 25 Mar 2025 11:44:51 +0000
Received: by outflank-mailman (input) for mailman id 926394;
 Tue, 25 Mar 2025 11:44: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx2i9-0002kJ-7C
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:44:49 +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 8e04be05-096e-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 12:44:48 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso54532825e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 04:44:48 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fd9df6bsm147633095e9.31.2025.03.25.04.44.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 04:44: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: 8e04be05-096e-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742903088; x=1743507888; 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=3VPhdK5EXCLAcPaEgh+hMFWAxKCNu4xAoILNQpbMggw=;
        b=QoqMlWv+q3/yKAMbQqE+QTjgTcLhn0jkd+Xw7xUNieLI4ww5kEb2C4UR3MeK+uGhC0
         VXftY5dR0p18lWbt+L8vfGXP0kk5pNKutXnWPqNEUwHNP62kHUgMUoBEPKonvCTclsMf
         z9STClKVJ9dB8KgjQvvmamN6/hYyhNU/Fqtrw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742903088; x=1743507888;
        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=3VPhdK5EXCLAcPaEgh+hMFWAxKCNu4xAoILNQpbMggw=;
        b=AgaMe83j0W/8lLMGorOWI3r/r6MBCirsNpNOSCFpX4/YrV3VneVv129y7MRvdIudkK
         769UlB8xhlODT+1KGb5P7ETWfDv0yrWrvf5KQt0UaiEzr6tSNoePOJf70amdTOi+UrXB
         jZ543YBoUj2mEXYKJ9LWpYXNwtGo97+fBgX26cG2tz894QZ1BLHBUbmsJVeZ1LWVzmme
         zO1IDqiMDappjmyJOxg7ny8bc0/fameMM9PtT5KZ3/BkNakzNQcf+z1dBxnp0uC/egyN
         GWt5m1K1DX9ZUJGeVC1JjBBBcX58vY+S4OzgStb0vu9K1srmsOFCGtzkUY9O+Xvv375/
         0ldg==
X-Forwarded-Encrypted: i=1; AJvYcCXMQLsudAFC6oIIzsIE2D2AHqyopu2ZtdVuzoW19Akg9aI+flAtyLhRpsCjV/G9lOOVVB0K2fssZfs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKuwEqj7BcZNMnfZGAzUM7E2SW5UhLRhaAQ05JZiTfXuCcS8rV
	An06+SxYzPMSsgRGRCGGYa4zm+UYnBg8q7ZMNcF/vfC5L/kuCJVvgCFylkF0DkQ=
X-Gm-Gg: ASbGncsRtQnvHbiY+CZ9OS/H8kvIPe8yrBo6u/hXa7AWhKpLPL3PL2Hke8zftXierFv
	l4p0V6C0VcmnYC1jmo3RVi7ECbyoTNm4xc0vhmxCYcx/eB5NGH9CEMi9sLP7HRcrNX2AdGm95UQ
	5Ke9JkQos0KKT+7cagjllR1GiQQfbcSitHIr/rC75lvM62+HavV/SCZS9a4MCrGcNBgr9PJYq2d
	sEhtnypqOcW0Cu5Od94GbOv8HIfmqvzhvbu7jXtap7UACxgYZ+pGZRyj4tcNvJOMpHg3l9D6bMx
	qo5aJfQJA67HdxvHG4HR3MjfKFbSJJilJMFJpHnCHTVnTw+3UBSfNWvIbhnLHoXPaHeYsTSHMRh
	fTurWbJQfQQ==
X-Google-Smtp-Source: AGHT+IFF+YlmkmOWsA3qOgbvUbEOpaJkwdFY+8EAtQMlvkG9VYODG8ScBlQI/MS8wx/JhX22hOghGg==
X-Received: by 2002:a05:600c:3c9e:b0:43c:fe15:41cb with SMTP id 5b1f17b1804b1-43d58c9a7cemr116813275e9.15.1742903087687;
        Tue, 25 Mar 2025 04:44:47 -0700 (PDT)
Message-ID: <a143ae21-0639-481d-b016-cffaae9038b6@citrix.com>
Date: Tue, 25 Mar 2025 11:44:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] lib/inflate.c: remove dead code
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>, Ariel Otilibili <Ariel.Otilibili-Anieli@eurecom.fr>
References: <552377d2-a2f1-40eb-83dc-fa09931cae6d@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: <552377d2-a2f1-40eb-83dc-fa09931cae6d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/03/2025 8:13 am, Jan Beulich wrote:
> From: Ariel Otilibili <ariel.otilibili-anieli@eurecom.fr>
>
> This is a follow up from a discussion in Xen:
>
> The if-statement tests that `res` is non-zero; meaning the case zero is
> never reached.
>
> Link: https://lore.kernel.org/all/7587b503-b2ca-4476-8dc9-e9683d4ca5f0@suse.com/
> Link: https://lkml.kernel.org/r/20241219092615.644642-2-ariel.otilibili-anieli@eurecom.fr
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Ariel Otilibili <ariel.otilibili-anieli@eurecom.fr>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 41c761dede6e
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:48:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:48:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926402.1329248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2ls-0003Kg-Pe; Tue, 25 Mar 2025 11:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926402.1329248; Tue, 25 Mar 2025 11: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 1tx2ls-0003KZ-Mk; Tue, 25 Mar 2025 11:48:40 +0000
Received: by outflank-mailman (input) for mailman id 926402;
 Tue, 25 Mar 2025 11:48: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx2lr-0003KT-MT
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:48:39 +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 16cfdd88-096f-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 12:48:37 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-ac339f53df9so4244466b.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 04:48:37 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb65899sm850707866b.104.2025.03.25.04.48.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 04:48: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: 16cfdd88-096f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742903317; x=1743508117; 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=KCEjaPmJgfygbqlK8gLZ8p/r+OFOcMgMZGqGaXcTB4E=;
        b=QsxRV2FjZkkbmwv96aotMYGz04jnNxO2/D2ZSm7fql+ocj/Gcy0CvnWG8Z7TVbG8VY
         sTnVaA7M0kyQ9S8Fr5NGzvR46S3IS+JHcGBN3HpzYf12/4KWfrXCvwS+cFa5xHuXH9rN
         C8iMPSRqhZ61rf7peBsxMQqMI6FAhdkjJOv3mAp98ot9vTmgWjsbr7P/rCPZLvJ3hPjl
         JoQa7Fm0Pszc5HeiwaTL1f/qPws9dJReOx43h5Ix1t1brUiIi1TdegNa7LEr8Zqc9o7I
         njRDAxVpUCqtnL3OLOHBFqlYQx23PjQrxj4aMEFRWHi5MOoTcxQLIfmZxeGhyXhWKHXR
         2LvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742903317; x=1743508117;
        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=KCEjaPmJgfygbqlK8gLZ8p/r+OFOcMgMZGqGaXcTB4E=;
        b=Ff4ILj3YD2oKo2BWQgi4OInwEWxII256hAsv1C5l0+Zz1GZMMoyzqQ05x9LUJEImC/
         AUqIIf2iijv1PkpqZOrH/zlwkdyZ0DHmVhVUeC/zzVbmV52seWGYoW+bhJkYMj8g/mhc
         UNP/XP1c1LE8SbZiCtuSiV739p2o4qvW+ckYYVbvtX0/theaJkx3YkeX7klaqwZvFAjW
         re1OJSZHL2pT+NYJqALZFxl+BG6iQ4lj+XV/nqKIyMZPSNQ2ueGLSQwgf7nAYpMqWV6V
         YFZc41P+U4gq3HeehM+9a+tQNBQONSn55cagg/mn88x6CGTuFjen7dGPEp2Ujy27WuPv
         +rRA==
X-Forwarded-Encrypted: i=1; AJvYcCU0TBSFIGirR5Z6411Nn2OqKEqn3TAx92tN2Wx7k+c56IOm0OPOWQXMjTfnNq76xtVEQEnfF6dc4SQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwvNDbb1TDANiih2WOb3M0abwNkJqTcOprDOTh1PZvl7A8cZT4r
	rMbneCXI+FeKXro0w3mRcfpDyELoZRkt/zpNJdBmziDExzo42B4p
X-Gm-Gg: ASbGncuCtgadZwG2aZxh+ItLaaijRw5CGdjEds1wySN+K/rfiNUJsSq3tdxT3W46c3/
	Sdnph1FcwBKoIVZNAA80J9Ni4EGqyR+3kaz1Rk1QPFKGQpNCW6Eyt9VSwNbv5dTGA7gU/A2iYnr
	fW8Tw39l8mU82AiwLzgaqyJVyQH59GksV7nMncnC8ZfXFW5c8K+u7PIjhIJXhLsHgVfgjIhoggn
	XEDIAmpd9c0A92TO4E4+AwcKk49zFq3Ek8EcVzESa1zRkYhjDQh5topgzHvggUk/u2S3FAuJ1pr
	Tnyl0z+ZIG6k0uFpvoNbv33+wkrpSou9X/SWhFECFJ+GmOqEgeHcCUYx1jXW4Sj21Tw+ezTSMGH
	6MnYatsFidaURGl0j1UWFP+NhGFJoBok=
X-Google-Smtp-Source: AGHT+IFdrq0Lx/zUGKli9rCwwfEu0P/6dpoNB3n9XD82HM0ZuFAi/p80gSlPi4eK+KZ0xz/IZ0/GZw==
X-Received: by 2002:a17:906:4795:b0:ac3:b372:6d10 with SMTP id a640c23a62f3a-ac3f2081eaamr1442110066b.4.1742903316868;
        Tue, 25 Mar 2025 04:48:36 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------N804p3c9equyc5dOMevfQnb5"
Message-ID: <ee8b8e09-9b0b-4757-989c-b7d81721c325@gmail.com>
Date: Tue, 25 Mar 2025 12:48:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
 <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>

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


On 3/24/25 1:31 PM, Jan Beulich wrote:
> On 21.03.2025 17:17, Oleksii Kurochko wrote:
>> H provides additional instructions and CSRs that control the new stage of
>> address translation and support hosting a guest OS in virtual S-mode
>> (VS-mode).
>>
>> According to the Unprivileged Architecture (version 20240411) specification:
>> ```
>> Table 74 summarizes the standardized extension names. The table also defines
>> the canonical order in which extension names must appear in the name string,
>> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
>> RV32IMACV is legal, whereas RV32IMAVC is not.
>> ```
>> According to Table 74, the h extension is placed last in the one-letter
>> extensions name part of the ISA string.
>>
>> `h` is a standalone extension based on the patch [1] but it wasn't so
>> before.
>> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
>> and for that version it will be needed to encode H extensions instructions
>> explicitly by checking if __risv_h is defined.
> Leaving aside the typo, what is this about? There's no use of __riscv_h in
> the patch here, and ...

It is going to be used in future patches:https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32

>> @@ -25,10 +24,13 @@ $(eval $(1) := \
>>   	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>   endef
>>   
>> +h-insn := "hfence.gvma"
>> +$(call check-extension,h)
> ... this, if it fails, will not have any effect on the build right now
> afaics.

No, it won't have any affect now as instruction from H extension isn't used now.
But it will be needed forhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/
and for p2m changes mentioned above.

~ Oleksii

--------------N804p3c9equyc5dOMevfQnb5
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 3/24/25 1:31 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com">
      <pre wrap="" class="moz-quote-pre">On 21.03.2025 17:17, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">H provides additional instructions and CSRs that control the new stage of
address translation and support hosting a guest OS in virtual S-mode
(VS-mode).

According to the Unprivileged Architecture (version 20240411) specification:
```
Table 74 summarizes the standardized extension names. The table also defines
the canonical order in which extension names must appear in the name string,
with top-to-bottom in table indicating first-to-last in the name string, e.g.,
RV32IMACV is legal, whereas RV32IMAVC is not.
```
According to Table 74, the h extension is placed last in the one-letter
extensions name part of the ISA string.

`h` is a standalone extension based on the patch [1] but it wasn't so
before.
As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
and for that version it will be needed to encode H extensions instructions
explicitly by checking if __risv_h is defined.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Leaving aside the typo, what is this about? There's no use of __riscv_h in
the patch here, and ...
</pre>
    </blockquote>
    <pre>It is going to be used in future patches: <a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32">https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32</a>
</pre>
    <blockquote type="cite"
      cite="mid:c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com">
      <pre wrap="" class="moz-quote-pre">
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">@@ -25,10 +24,13 @@ $(eval $(1) := \
 	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
 endef
 
+h-insn := "hfence.gvma"
+$(call check-extension,h)
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... this, if it fails, will not have any effect on the build right now
afaics.</pre>
    </blockquote>
    <pre>No, it won't have any affect now as instruction from H extension isn't used now.
But it will be needed for <a class="moz-txt-link-freetext" href="https://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/">https://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/</a>
and for p2m changes mentioned above.

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

--------------N804p3c9equyc5dOMevfQnb5--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:52:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:52:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926411.1329258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2po-00063k-9P; Tue, 25 Mar 2025 11:52:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926411.1329258; Tue, 25 Mar 2025 11:52: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 1tx2po-00063d-5f; Tue, 25 Mar 2025 11:52:44 +0000
Received: by outflank-mailman (input) for mailman id 926411;
 Tue, 25 Mar 2025 11:52: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx2pn-00063X-IA
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:52:43 +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 a8556ef8-096f-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 12:52:42 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so50884035e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 04:52: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-43d43f331dasm204060155e9.8.2025.03.25.04.52.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 04:52: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: a8556ef8-096f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742903561; x=1743508361; 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=G1cYr8I6qORlTi6dZb7acGai+pNP1pMpg2G61H4vQHY=;
        b=BJsZLmq8AR6L4oa7q4oB7NdA5krGuLV2Bszb4U6N5V20+L4VvrWQ2+7aDdGmLX7SkY
         kB+01AFxOp3m0Jjs7HjGDYHvTFcXtCJHuslH+iszTNEzhR6bv2CbOQmag0LXzL62fthP
         ghNYoqGe/zNHeXP3OZ/IJ1MBrMTODd38AmoIAvYGKrajjcvYqf4XyTu7JxMtdggMoefc
         9KMwbR/TLvAhi7PMRIGRO0M+MYv/BdUbTK3IQG8Gf61TQstzfhMlXLUjpWyKvUxlb8Kd
         K8czeoxKRQHTvyYA5Vi11FebDINPvLIBZ2KY9jEO1zlBCcORBbG1YmY8KyukjLbNh2cH
         xRMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742903561; x=1743508361;
        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=G1cYr8I6qORlTi6dZb7acGai+pNP1pMpg2G61H4vQHY=;
        b=YWMo9pTj11/5/jJxisPqzIUWHs/E/EDNcyNM0WMNZQXVQNxl9ubPN6iy5Z+v1W268k
         R/AImrJCove5pN62bHoPLQi6g7/z4v0wA8dARUQY1jHgwjQX98l5TOFHbhFqOVUKUGPb
         WkbDygcOsdMFSE20qDl/Y31NDKIeQBbDwMyzrvtyKnw9HCHMTBZZ3jajNvtV2jNJzqNM
         fnjgcIDBZY5YhS2cC33x4mEeHsxmmoS3ee0A6FSKR1F39HCZGh6BeCL+PZF3mLkHX7He
         QidH68VbingOkyFKJ9vcWo1qLZ43KM4qON8Id1t8HTqgk4d/eAhQIwEsFyogO0oC3obA
         Lc5Q==
X-Forwarded-Encrypted: i=1; AJvYcCWG6YoVA9bhRdnEmG7w+l2ZTtUc5a/a4CViYjYsefPRq+62ONhRfyvUGfCoPquhcJXzxY1hxZkM0xU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBezGYvGyHxKS38/KQ4Xw60S0PA2sZXcGh6gpWJS93L65Y1VHn
	eaCag6orPBzyA1eIM9NPzp9x0RYQho205fEnWPKJjBgFnbULdznynUIcECeV/Q==
X-Gm-Gg: ASbGncsYFsdNVbCC1XZMr+5H5cUbQ5/o1oGxdX4s206Rn5+qjoILR1BydiIV/MoK/ZN
	Ql/qopn94/dgVrNVckGHS3+zOlz/6ajc9d67OG0RbwRXxrZplMP9YNsULLTL3GbKZsKPJQ4ZW81
	Spn/96RUsjG4Y3tnTvBYmIVNa1jCd9/OgKVHzqk58B2cRfGjhiPA89yf17LdIunUNPWLK2nDuyy
	rLLIGrqW5olG7kVjvI+tQh4zDDRzm/64BR+ob1iK4HCUHGAVHWcj76Z/VCOi6N0HroxZreu/ZQ4
	8dvoLpYsc+wK7viKxTHRSxnm2GfWm5elCDe7zlWZ8OWSwUBtutCo/NBv8FNWRdeto+Zj9y9IrRe
	SkCs7KWU8lautNsmbSUsTh4Z17IMS9A==
X-Google-Smtp-Source: AGHT+IFfK4nfcDoKa0uViZ0lrA4wrNOg1Yr89QIA1zEovnOubrB7XDLXTDpl0oBD7YxM+djABmD/2A==
X-Received: by 2002:a05:600c:3d93:b0:43d:300f:fa4a with SMTP id 5b1f17b1804b1-43d58db553amr98854625e9.12.1742903561439;
        Tue, 25 Mar 2025 04:52:41 -0700 (PDT)
Message-ID: <3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com>
Date: Tue, 25 Mar 2025 12:52:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
To: 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
 <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
 <ee8b8e09-9b0b-4757-989c-b7d81721c325@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: <ee8b8e09-9b0b-4757-989c-b7d81721c325@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 12:48, Oleksii Kurochko wrote:
> 
> On 3/24/25 1:31 PM, Jan Beulich wrote:
>> On 21.03.2025 17:17, Oleksii Kurochko wrote:
>>> H provides additional instructions and CSRs that control the new stage of
>>> address translation and support hosting a guest OS in virtual S-mode
>>> (VS-mode).
>>>
>>> According to the Unprivileged Architecture (version 20240411) specification:
>>> ```
>>> Table 74 summarizes the standardized extension names. The table also defines
>>> the canonical order in which extension names must appear in the name string,
>>> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
>>> RV32IMACV is legal, whereas RV32IMAVC is not.
>>> ```
>>> According to Table 74, the h extension is placed last in the one-letter
>>> extensions name part of the ISA string.
>>>
>>> `h` is a standalone extension based on the patch [1] but it wasn't so
>>> before.
>>> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
>>> and for that version it will be needed to encode H extensions instructions
>>> explicitly by checking if __risv_h is defined.
>> Leaving aside the typo, what is this about? There's no use of __riscv_h in
>> the patch here, and ...
> 
> It is going to be used in future patches:https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32

For this and ...

>>> @@ -25,10 +24,13 @@ $(eval $(1) := \
>>>   	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>>   endef
>>>   
>>> +h-insn := "hfence.gvma"
>>> +$(call check-extension,h)
>> ... this, if it fails, will not have any effect on the build right now
>> afaics.
> 
> No, it won't have any affect now as instruction from H extension isn't used now.
> But it will be needed forhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/
> and for p2m changes mentioned above.

... this both being future work, it might help if it could be made clear
right here how things are going to work (with both gcc12 and up-to-date
gcc).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 11:55:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 11:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926422.1329269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx2s1-0006eR-QP; Tue, 25 Mar 2025 11:55:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926422.1329269; Tue, 25 Mar 2025 11:55: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 1tx2s1-0006eK-M6; Tue, 25 Mar 2025 11:55:01 +0000
Received: by outflank-mailman (input) for mailman id 926422;
 Tue, 25 Mar 2025 11:55: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx2s0-0006eA-3V
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 11:55:00 +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 fa0c7945-096f-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 12:54:59 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3965c995151so2728747f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 04:54: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-3997f9a325csm13435924f8f.22.2025.03.25.04.54.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 04:54: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: fa0c7945-096f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742903698; x=1743508498; 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=mzp1P8cUL8hUt4vgEhmoPngV9dqPWE7W/CpUCeIhpwI=;
        b=ViwoI6mKNjll/vtxNHrtWXTVoM8J7WjNdoZeFKlrGaDHmLitgW6sR3ykSsw6rqok7J
         X3+EuNx3F9nVHYVeWyKQ670L2CdXW3SRgLHWbF/b85sj9Kz8WayWIP6shCEpXw9sd0BE
         hrTrNJb98wW9ESvRyyMbBK9jsTmwmbAjbhWqJYAhrO/7ZHmeQj09K/gJAet5/YXsq2Dy
         YeQXodCrg5Yw0mdwx0iA90bGoLaqCt8hgynyvb6qo/GfCkupl/h9URYEy/3uxhzAxezW
         6qzpTCwj6Psmdekn54JaU9wI2fjZPDf5E60AzIS0lJY8FTi+hoEbAv80uUnaIgcyNWuy
         jqHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742903698; x=1743508498;
        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=mzp1P8cUL8hUt4vgEhmoPngV9dqPWE7W/CpUCeIhpwI=;
        b=PLDRTxjaFaO8BgfWc974SU6wZF0jqNknH/CjTn1NOXMG0MOdW5jFMEngJxoPuPXoJN
         KG8DZHJCZjvhXX4YYigRBX0vYGgjn8iTjeC61BGIxKxkfzp4WeaxEW2Y+Oc9DVKoxijA
         DfocIzGsLaiH66V7fU7MRgqH9y+qIXL4xenpvkWhzTtg1bsPlrUTR3mx6d2SFdEVhrnt
         FH7kTPt1Qc3lMsPqQjG9xJuvAo5KvjaWxgZkgzt5mE4SxYNyOtHiSGvj4Fo0TvyTbgT9
         9ydl1R3abi9Uir/tFt3kyvn00kxdDQ/MrBj/rO0GmHkdrTHVZeW1F/eZGDXF7vicRsPa
         bMHQ==
X-Forwarded-Encrypted: i=1; AJvYcCUhZ3x3wbwnV17iNPwpcKbxdU85OmZqENn2/l+ybHpnlfJb6T1ezxFn0ILQL0OZzfqNRPX1v9Vgfnw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxniXpfLccc6AC6/JWUo+wMX7qlloJ7ZjcFprX4ucMtVM1hGVSt
	Vx+fXm0xK7WpTXtmNQPy1zQTEr8Ai05EGBPjgcpXIBFK2qc0yqkgbi0otYGrrw==
X-Gm-Gg: ASbGncubKD2UffwiR0RcfGbQIyfzRJZuG2GZmK9guFwyos81Sottl6oQqofyHW5qWf8
	7rRSwFli55RmeKoB96LCw2nSa2MYT+nBXYUqRcIwZI77yfp5G/B1Fxpd/J+oX5e5ShGozgrdTb/
	E44iH0s8bXtI6kYylVivg+ht91EtNu0uMi4jtRv3xrjCTjwSimSZA1S4zBqbWF1Yv/ysu+PiY12
	JpUnGRTVnfH8g7ohFqK541sDKCzSRuOrl9NQNShvSxsSCQoZ/rmxh8aVHqnsFBO42QmTC/IQRwZ
	ZVTx6CQJ65ypcnSkXfzeJcv66KaTPcVvQ83+m6qYfwdHPrlpG+OpyBxCGaML0piMVMZ9L6y7So0
	wGj7WslkhkeDWtgrlIR/kOlYZ4iXsXg==
X-Google-Smtp-Source: AGHT+IGsKtlmIAbgpMrKsgWQWTGFLGAkS4I5wSXl5nv/PtqAh+l9kH173y5CnoS6rEdDSUzAWwa/iA==
X-Received: by 2002:a05:6000:42c2:b0:391:4052:a232 with SMTP id ffacd0b85a97d-3997f9424ffmr10384228f8f.55.1742903698416;
        Tue, 25 Mar 2025 04:54:58 -0700 (PDT)
Message-ID: <1285db95-6336-4fad-b084-e941935f2887@suse.com>
Date: Tue, 25 Mar 2025 12:54:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/4] xen/riscv: introduce preinit_xen_time()
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: <3152c755e31367370f3e1d955253a9d4fc095f68.1741709885.git.oleksii.kurochko@gmail.com>
 <f633e10b-2bde-4574-ab87-fec5a2a52b07@suse.com>
 <b0083a5e-2395-4c94-b6b1-8fd8459ad043@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: <b0083a5e-2395-4c94-b6b1-8fd8459ad043@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 12:23, Oleksii Kurochko wrote:
> 
> On 3/17/25 4:24 PM, Jan Beulich wrote:
>> On 11.03.2025 17:19, Oleksii Kurochko wrote:
>> +static __initdata struct dt_device_node *timer;
>> +
>> +/* Set up the timer on the boot CPU (early init function) */
>> +static void __init preinit_dt_xen_time(void)
>> +{
>> +    static const struct dt_device_match  __initconst timer_ids[] =
>>
> Do we need here __initconstrel too? (the same as we need for
> aplic_dt_match[] in patch3)

Probably. (You zapped too much context, so I had to go back to the
original patch submission, yet even there it's not directly clear, as
there are further abstracting constructs in use.)

Jan



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 12:07:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 12:07:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926437.1329279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx34I-0001EF-1X; Tue, 25 Mar 2025 12:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926437.1329279; Tue, 25 Mar 2025 12: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 1tx34H-0001E8-TM; Tue, 25 Mar 2025 12:07:41 +0000
Received: by outflank-mailman (input) for mailman id 926437;
 Tue, 25 Mar 2025 12: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=uFHn=WM=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1tx34G-0001E0-1y
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 12:07:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20604.outbound.protection.outlook.com
 [2a01:111:f403:2613::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7b5b9d2-0971-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 13:07:27 +0100 (CET)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by DB9PR03MB7372.eurprd03.prod.outlook.com (2603:10a6:10:1fc::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 12:07:24 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%7]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 12:07: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: b7b5b9d2-0971-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=px2Qn646IxiFdCNX78zcadfzP8vHeYmka44OqfwonBJXtq9GpZa3T1tH0arCKQbKhyg3naaNDsfhvHurPAQxC7fTdsiyA7xqUGdJehyQjgg6EiSZ6BycvtUNUqR8NOYxad0pc0ezvD+lR1lPHb0zA9y3qG7zIsk/Llf2p/DKjW2oae31VTCfFgr23nfMGGWpYCIBlRevl+bp+BnBW/xBTKtPWIz9euTr07M124GeAhykmJ/CXxPDTeKf3b2AqkETjVWIPt6lmXA5i8qZgaarWYoQnvzw2cODP8SbM8E1ybNEjf0ktHWC3UorKHQpHDphv1Zs8lgVV85HEP9hRfKD+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=NyvVXZWcLNkbO4bIvTecDvpIxMLcLUetak3PCG2Vt/s=;
 b=GJ3aTiqyPKe+PP56rHYPI4L6uXyV12zAgQL3brxdKUj+0hy0NIMDewCRk1Ckcf1gsvAO0ziKV1JcBtekit0IRWoQk/QcsqnjAUclDM6nKFp/mDtoS3gBe4pK4R2WjUwnNNIB3sGy6+TUCQNN1MOvsswyNwMn6KNA1rTfiFjdDhoACeSxpo0UHUVHOxdfftqbUMbj4RxUALzOSM+h67FgW7RK/afhvdsn9YM4mLtInPkWzQaRXcg1H8vfC4l3Z0vxKtq+vemI/C3Q5GlRJBpL5mFyUn08QyHZaJyTiiY34z3x7RpgOBqVue3NwYAROARt7JXEseujmyLQJGfN/5u5Gg==
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=NyvVXZWcLNkbO4bIvTecDvpIxMLcLUetak3PCG2Vt/s=;
 b=PTv8jf49JjRMuALhobcFTo0LUp6IkuVnEyhiLHd9YiYoHggnTizEj4OygRq7XVFkddTBp8QEk/aKSToRLxKWAe+ypmrfS8l7p6MhC9b3ulC4Ok6XY3H3MkH3feEyzm7Bgw1aRAMqiGIn4tFwapMtjjMCUSsA0Qdz4Fitut9BJKvE4U5X0q8aq9kOsQl02RMMfHTl+RzhnWcmtfGbzRxus2nToV4kR4NhCWza8jRMgsG34dMwa7JjbhsEJ6veEr6o/GxQCSKR+PWZa2n/0mZH2wZNUiJRuC3ajLpZ1wxiVClNek7bat3kkMfaZq/xHdaYARCwqa79FY+log5Tmgu2qQ==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: "Orzel, Michal" <michal.orzel@amd.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>
Subject: Re: [RFC PATCH] xen/device-tree: Switch back to
 dt_unreserved_regions() in boot allocator
Thread-Topic: [RFC PATCH] xen/device-tree: Switch back to
 dt_unreserved_regions() in boot allocator
Thread-Index: AQHbnQONSMLBGwvKMUWMY6fOky1K0LODirsAgAA4J4A=
Date: Tue, 25 Mar 2025 12:07:24 +0000
Message-ID: <d84a3a5a-b501-4ac2-8422-7d573444684f@epam.com>
References: <20250324212731.1702255-1-oleksandr_tyshchenko@epam.com>
 <c944a7b1-480d-4ef5-b489-be220792e3b8@amd.com>
In-Reply-To: <c944a7b1-480d-4ef5-b489-be220792e3b8@amd.com>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|DB9PR03MB7372:EE_
x-ms-office365-filtering-correlation-id: 0c249d6b-37aa-459d-88b6-08dd6b959ab8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?OTlyY1lvYkZCTU1Cc2J4SGZBaEpINTBNVmUrbFdxSWpKaGVteXUzZm51Ykhr?=
 =?utf-8?B?R0pIajE5OHB6S1BUZ0JJWERmRDBuai9HUCtQUFZybUlhRTVhNmRlaldlNDZQ?=
 =?utf-8?B?VzBUSmFvUS9JeFc3SUJocFEwb3VSampWQlJndi9iZmRrSFh0UTlCZS9EOFIz?=
 =?utf-8?B?c3lmRFFObDNVM3JYS1g3ei9mWC9mSE1iNlkzRTgxSUYyN0VaTENZNEZKT1cr?=
 =?utf-8?B?YjdRNjJaYUJsb043Ky92dkhRMkF2UTZzOGl3d2l5ZnVFaHZjVFV5VXFJVUdv?=
 =?utf-8?B?ZlBjUXhmaEZxbjg4QU4vREhoMWRLMVRUYnhneFc1YXdZeXFVaCtST1c2MXMr?=
 =?utf-8?B?UlM5U2xNM2ZCUGJEdFpnaDZ4TXUvcUtXejUySi82c3ZQNkY5cGtuQmQ2RWxG?=
 =?utf-8?B?dy9BdE5ibDAxV2hkZGJCME1uY1MxYjRPeFI0OWlnSEQyNXJZc1dHcWFyQzh6?=
 =?utf-8?B?d1dQM2IycnBzeEkvaEkyS1Rrb1Y3UkhtMWRKRFdFUG9uNURRYW5iaWhzeHpI?=
 =?utf-8?B?TUVaSk1jVFZTYnBXRi9maE80amNiRnpQZEZNS1p3UituRnFOS2xKWTFuemtO?=
 =?utf-8?B?Q3BrN0d5clJEK0p0YU9nMFoycE9WU2VhbWhOVEZqdEVjOWM1dCtERjZiNG9a?=
 =?utf-8?B?UWpwalpoSHlsRmFGVnNEcGVVZzR0bXlwck5oN0xKV1NNUGMzQzhtazZxRHph?=
 =?utf-8?B?TWlVTUp4NUJMbldiUHNrVk5xNjBJNDVGN0p3akxpT2grOENETzk3V0tNSkha?=
 =?utf-8?B?OE9WR3NKVnh5RVZxZ1YrZmZOT2R6VDlyTDVyL1VCdGpBaEkvS0MxMFNGdFdS?=
 =?utf-8?B?Q2F2b1hsNnBtcGNBdUpSTmF6YUh0eTFhenZHcHY0N2l5U284aUtUa1FrS3Vk?=
 =?utf-8?B?K09GV1N1Z0R3dDI5a1lVbmxPNmExbmltdjF5UXJ0eEovOG51a3lmM1VxSVBp?=
 =?utf-8?B?V3VhZjNxL00zSWJKRUJkV2E5UUdLWmg3cSsrTnRNQVdRcCtQWnJrN3lJQXlM?=
 =?utf-8?B?TWxDS1Y2QXE0aVdPckdQWmxGTlpHMUZ6cm9wNkg5dGRBSVBFbFM3em1uaUUx?=
 =?utf-8?B?Qk5lRStDdVpzSzNjMUtjelN1Mm9LdXJ4TzJEWSt4RnRRVFZSa2tmYU9oMjQv?=
 =?utf-8?B?dmtDWXpvaWNUbFhoZDlqTGZFSnU3UVY0RXozbURmWXZXZVNxT2lIcFdMeDh2?=
 =?utf-8?B?UldrOTZTY0hRQ0FSdzgvL0xRUHZ5TkJDL2RSY3ZhQTc0dWp2ekJYNVFrVkRa?=
 =?utf-8?B?SjdWWTV6N0lnUFpseE5hR0hrSWZBcnVQVnlUQk1hVXRUWEYxWFJyaCttRWcy?=
 =?utf-8?B?dk5KdmF2WkdsVVBVVVdNdEwyZzJKeWpISytyTFVTclZ5NGpjckdjb1hYMXZo?=
 =?utf-8?B?S2wrcitjSmNmRnhEd3ZTbWlPWlhBbTdCRmNhaldkLytQenVsM1pPUTJiRzBC?=
 =?utf-8?B?ZXZjcWhOZ2ZVWUpPM3RDRDF0TlVOOHNQTjh1VERvY2pDWm1yZzF2VDVhMWFD?=
 =?utf-8?B?aFFWMGtWS1R6WHliYkpnNEtlSGU5ZktKSnk1R2piRjdUM2NwS08rcTNYSDZz?=
 =?utf-8?B?YmJ6RmVrcU9pc1N0RkFsMDBIYWpBak1RV1RwS2Q4TzlqWU42bytRSzVEb3dw?=
 =?utf-8?B?ZXk2NDVXM0ozUnMvNm9RZDkzNW1RaEIvS1ovWk55UTlqQnZXZ3pnRDVjazFu?=
 =?utf-8?B?eU8vNUN1bi9jb3hUZGhRclhqZlhpbVN5ZnZETloyTnd2dEZ3dkM1UVdaQi9p?=
 =?utf-8?B?Q1pCOVZjaHl1d1hmTTVvT2Uza2FPMmpuREF5YjBCbHRZK3RacTJmODZGUzl6?=
 =?utf-8?B?azgxcmd3b1JMeFUyMHIxMnZGNTRNMWZqaFlESjdVUjN6OW1xY01UdmtiaU5Q?=
 =?utf-8?B?SW5jMEEvQjJ5S3VaY05KRE1ybWpoZVVaanJqM1dCaVEreVE9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eVhqSThnekRIK0ZMWW5xSGxLbTQ4OHpnUFNqOUt4cUhQWnZyajhWWURpWHR0?=
 =?utf-8?B?cnhLL3YxWnBQMWhoaHVRTE9Nd21NWk4xbnM1ZFVRT3FrL2xLYVBpcExxUnRE?=
 =?utf-8?B?aEhBOTlYWjk5YWs5WHRMMVlwNlhHWUpxc2NZcDd0bHBpdm43MXRhOHl5R3VY?=
 =?utf-8?B?SGVxbFk2aTNudE1GdU1qSjJtRjh2Z2t5M2xZZkF4Smppbm9Jei9oaFNyT1dr?=
 =?utf-8?B?aG11MWJUY3lEOTArd0s4NVRoZWZQYlIvWkppK1RjRzRWaG95TjkyZXgxczZK?=
 =?utf-8?B?MEpXMjU5bHNOV1JQdC9rMUo5UmtPSGxNd3BWUmVLVXJEY2dvb1JzZ3k5b3hB?=
 =?utf-8?B?cHh2T2xZT3BFZUFYb1U5RW9aN1ErcmJNRHlFWXRLZlhGTmNQWjcvT0Mzcm1C?=
 =?utf-8?B?dnFOcFpxdDNvUU9oVGtUdTI5VlBETjRMWFJJbSt6Mzd6amIyL2ZqKzF2M214?=
 =?utf-8?B?MWFXeHRVbkNHNzlXRm9wUTd5NTBZYW1tQ3pWU0VKTWt4ZUY2bnF3alZDNWw5?=
 =?utf-8?B?bkcweVprTFVkM0psY3c5V1MvSllYSENBK3p6akt6NFdteVlFbHhXMHlDL2Ju?=
 =?utf-8?B?Qkk3aGxUZFdEVm5rNm9EeFdZejRhQk1TTnRLck9sMEZQd0pML0kwNFc0UGdk?=
 =?utf-8?B?bTQyRSsxS0xYVE9GYmtIcTRJWkV5RUhzTmxjZjRpOGovQXhCckk2MkV3STEv?=
 =?utf-8?B?N2pjZWZzWnd2T0NZbWNQRTRvOWtjYTQ2YnRLYWtJNVM1WHhhU1MwWUxSbXdP?=
 =?utf-8?B?RG9zVEh0dWREM0docDQyTVlSRU1WaEFha1NTcGM4SnBuUkVidnhNREhjNTVv?=
 =?utf-8?B?WG9GQ1Y5VGdSSm5RYXhycUxPZFQyWHZvRjZxd2o5QVk0K0ZrQWllL1lWMmh2?=
 =?utf-8?B?ZzhzR1VEejVhRVh5Yk44enBUT3NHRWZ0TUZqV292b09xN01qb1JCQUhKOE03?=
 =?utf-8?B?ZkxoTlIySFJQSzVjeGxxYWZEa3JGRnlBSTE0ODM3SWczdUMwc2JBT2NQZkl2?=
 =?utf-8?B?cnp5VU5NTmx2cHM2Z1A2eEl5dWJtdytWZitiWE0xR3hXejdxamFLTGpXaTdP?=
 =?utf-8?B?MzIyNkdFc2J5VmtHYlVWUDhWVGtHME1YTmlnNVJ4TDgzeWgrb0VGTUZ6SjF1?=
 =?utf-8?B?MzFrNU1NY1ZEVkU3Z01qS3crOE9ad0RYNUZNV1dBaVhwNzB0VlBjSEpwOThY?=
 =?utf-8?B?ZCt6cXFueGV4eHRzNTRuYWJsZDdVbEF4dW1lckdTUE9FWVhsUW1tZmFiUE1v?=
 =?utf-8?B?R1h0MUJiZndEUTVGR29iTVZNZnMyU24ySHBXWlUzOEZuOTVWeS96UC9HZlZQ?=
 =?utf-8?B?NFBxaWFwT1Vyd1M2SUFROXdCN0tTVUNEd1JLZG9SNE11a0pFNGpONkJDSHQz?=
 =?utf-8?B?dkQ2SDZkdWJLS3dMN29HaFFjNHJKaWwyekM1YTdJVVVNZWxBT2M4aCtPMVR4?=
 =?utf-8?B?emxSZHFwYXNnQ1VmbkhwMWhKVWhYT0Q3aFc3aEc5M2dlV0RHMmNQYUx3L2RX?=
 =?utf-8?B?NjhtQ2o4T3lrdExVYWdqb3VCYTZaWlpURkJKSVRCZ1o2azAxVWx5bVVmOFpw?=
 =?utf-8?B?bHpMa05JVTJxWTFwZENXY082MzV4WDV3SmxIQUV5V0IxRDhFMzhYVUxRRlhB?=
 =?utf-8?B?UDRUcmRkK1dsSEp2cEc0b3d5R0RVdEJUU1k3L3VTcEJaVjBDK1kxa0tOOEsr?=
 =?utf-8?B?dmdocE00TnJFN3p0QnJuNHVhd0dkZ2FCOXlqVUJJZ09BNEVLVzBYTjAyMU1h?=
 =?utf-8?B?Z2p0N2NkOGtsYmhhV1c1Y3o5eUF4MmN0aFAyclFIVE82SlFia2Izc20zRHNv?=
 =?utf-8?B?Ymh1bDB1QnF0dFFvVVA1MEZmRDNKRDBPZkxCSjJFMHdKeU9NNm9kc084Smw1?=
 =?utf-8?B?T24xTEFKS0k1aW9IeW9QZlBvdjcrcER2cG1JaHdwV1NVQVZGQ1BjQzIrWTlX?=
 =?utf-8?B?SmZBU3VFOGkrc0QxNHp5ejM5RFpXU2xNTVdWTHlTNVB1RWwxWm1MeE8zWS9x?=
 =?utf-8?B?ZjRXZk1TbU5GTStKZk9UNW1VWVI2TlB3eUowWXBpS0N3MlExZ1pKN3RCdHR1?=
 =?utf-8?B?UVpkQ1AwZytEa2xTbVM1YVJqSytiaTNJaEtTTy9lOE1zTy8yTkM1MC9CTmxQ?=
 =?utf-8?B?NzNQTjRIOVpvcFFjN3pJV2FBdWswVjRzRENMNTFkbWlsbDUrM2hWOU5Fc01h?=
 =?utf-8?Q?R5GdJO7tr9k+CpUs020n1BM=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <02E17FB6470CB042A9ABDBCF25853D51@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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c249d6b-37aa-459d-88b6-08dd6b959ab8
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2025 12:07:24.6182
 (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: m1jC1JLejHYLHRfeWeAQ96mvbyxk2tK92yO+8J/1e7W6BDLcn/Am2RVpIkkBiiWYgZiu+cjV9B8h2BiVknZ2jZNdUoCfmpjN0FsbJ/Sqd6Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7372

DQoNCk9uIDI1LjAzLjI1IDEwOjQ2LCBPcnplbCwgTWljaGFsIHdyb3RlOg0KDQpIZWxsbyBNaWNo
YWwNCg0KDQo+DQo+DQo+IE9uIDI0LzAzLzIwMjUgMjI6MjcsIE9sZWtzYW5kciBUeXNoY2hlbmtv
IHdyb3RlOg0KPj4NCj4+DQo+PiBPbiB0aGUgZGV2aWNlLXRyZWUtYmFzZWQgQXJtNjQgc3lzdGVt
LCBpZiBYZW4gaXMgYnVpbHQgd2l0aA0KPj4gQ09ORklHX0FDUEk9eSwgQ09ORklHX1NUQVRJQ19N
RU1PUlk9eSwgYW5kIHRoZSBzdGF0aWMgbWVtb3J5IHJhbmdlDQo+PiBpcyBwcm92aWRlZCBpbiB0
aGUgaG9zdCBkZXZpY2UgdHJlZSwgdGhlIEJVRyBpcyB0cmlnZ2VyZWQgaW4NCj4+IGNvbW1vbi9w
YWdlX2FsbG9jLmMgZHVyaW5nIFhlbidzIGVhcmx5IGJvb3QuIFRoZSBCVUcgb2NjdXJzIHdoZW4N
Cj4+IHRoZSBmaXJzdCBwYWdlIGZyb20gdGhlIHN0YXRpYyByYW5nZSBpcyBmZWQgdG8gdGhlIGRv
bWFpbg0KPj4gc3ViLWFsbG9jYXRvciBhbmQgZmluYWxseSBlbmRzIHVwIGluIG1hcmtfcGFnZV9m
cmVlKCkuDQo+PiBUaGUgcGctPmNvdW50X2luZm8gJiBQR0Nfc3RhdGUgaXMgbm90IGluIHRoZSBz
dGF0ZSB0aGF0DQo+PiB0aGUgY29kZSBleHBlY3RzIHRvIHNlZSB0aGVyZS4NCj4+DQo+PiBUaGUg
cHJvYmxlbSBpcyB0aGF0IHRoZSBzdGF0aWMgcmFuZ2UgZ2V0cyBtaXN0YWtlbmx5IHVucmVzZXJ2
ZWQNCj4+IGluIHBvcHVsYXRlX2Jvb3RfYWxsb2NhdG9yKCkgYW5kIHJlYWNoZXMgaW5pdF9ib290
X3BhZ2VzKCkuDQo+PiBUaGlzIGhhcHBlbnMgc2luY2UgYnkgdGhlIHRpbWUgdGhlIHBvcHVsYXRl
X2Jvb3RfYWxsb2NhdG9yKCkNCj4+IGlzIGV4ZWN1dGVkLCB0aGUgZXZhbHVhdGVkIGluIGZ3X3Vu
cmVzZXJ2ZWRfcmVnaW9ucygpDQo+PiBhbiBhY3BpX2Rpc2FibGVkIHZhcmlhYmxlIGlzIHN0aWxs
IGZhbHNlIChDT05GSUdfQUNQST15KSBhbmQNCj4+IGR0X3VucmVzZXJ2ZWRfcmVnaW9ucygpIHdo
aWNoIHNob3VsZCBzaW1wbHkgc2tpcCB0aGF0IHN0YXRpYyByYW5nZQ0KPj4gZG9lcyBub3QgZ2V0
IGNhbGxlZC4gVGhlIGFjcGlfZGlzYWJsZWQgd2lsbCBiZSBzZXQgdG8gdGhlIGFjdHVhbA0KPj4g
dmFsdWUgbGF0ZXIgb24gaW4gYWNwaV9ib290X3RhYmxlX2luaXQoKS4NCj4+DQo+PiBUbyBhdm9p
ZCB1bnJlc2VydmluZyB0aGUgd2hvbGUgcmVnaW9uIChpbmNsdWRpbmcgcG90ZW50aWFsIHJlc2Vy
dmVkDQo+PiBtZW1vcnkgcmFuZ2VzIHN1Y2ggYXMgc3RhdGljIG1lbW9yeSkgb3BlbiBjb2RlIGZ3
X3VucmVzZXJ2ZWRfcmVnaW9ucygpDQo+PiBhbmQgYWRkIGEgY29tbWVudC4NCj4+DQo+PiBBbm90
aGVyIHNvbHV0aW9uIGNvdWxkIGJlIHRvIGNhbGwgYWNwaV9ib290X3RhYmxlX2luaXQoKSBiZWZv
cmUNCj4+IHNldHVwX21tKCkgaW4gQXJtNjQncyBzdGFydF94ZW4oKS4NCj4gSW50ZXJlc3Rpbmcg
aXNzdWUuIEhvd2V2ZXIgSU1PIHRoZSBwcm9ibGVtIGlzIGxvY2F0ZWQgc29tZXdoZXJlIGVsc2Uu
IEF0IHRoZQ0KPiBtb21lbnQsIHdpdGggQ09ORklHX0FDUEk9biwgYWNwaV9kaXNhYmxlZCBpcyBz
ZXQgdG8gdHJ1ZS4gV2l0aCBDT05GSUdfQUNQST15LA0KPiBpdCdzIHNldCB0byBmYWxzZSBldmVu
IHRob3VnaCBlbnRpcmUgYWNwaV9ib290X3RhYmxlX2luaXQoKSBpcyB3cml0dGVuIHdpdGgNCj4g
YXNzdW1wdGlvbiB0aGF0IEFDUEkgaXMgb2ZmIGJ5IGRlZmF1bHQgYXQgdGhlIHN0YXJ0LiBUaGF0
J3Mgd2h5DQo+IGFjcGlfYm9vdF90YWJsZV9pbml0KCkgY2FsbHMgZS5nLiBkaXNhYmxlX2FjcGko
KSBpZiBpdCBmaW5kcyB0aGF0IHVzZXIgc3BlY2lmaWVkDQo+IGFjcGk9b2ZmIG9uIGNtZGxpbmUu
IFdoeSB3b3VsZCBpdCBkbyB0aGF0IGlmIHRoZSBhc3N1bXB0aW9uIHdhcyB0aGF0DQo+IGFjcGlf
ZGlzYWJsZWQgaXMgZmFsc2U/IFRoZXJlJ3MgZXZlbiBhIGNvbW1lbnQ6DQo+IGh0dHBzOi8veGVu
Yml0cy54ZW5wcm9qZWN0Lm9yZy9naXR3ZWIvP3A9eGVuLmdpdDthPWJsb2I7Zj14ZW4vYXJjaC9h
cm0vYWNwaS9ib290LmM7aGI9SEVBRCNsMjU3DQo+IHRoYXQgY2xlYXJseSBzYXlzIHRoYXQgImF0
IHRoaXMgcG9pbnQgQUNQSSBpcyBkaXNhYmxlZCIuDQo+DQo+IFRoZXJlZm9yZSwgSSB0aGluayB0
aGUgZml4IHNob3VsZCBsb29rIGFzIGZvbGxvd3M6DQoNCg0KVmVyeSBnb29kLCB0aGFua3MuIFRo
aXMgaXMgbXVjaCBiZXR0ZXIgZml4IGZvciB0aGUgaXNzdWUgd2l0aCBpbmNvcnJlY3QNCnVucmVz
ZXJ2aW5nIHRoYW4gYW55IG9mIHByb3Bvc2VkIGJ5IGN1cnJlbnQgcGF0Y2guIFdpbGwgdXNlIHlv
dXINCnN1Z2dlc3Rpb24gZm9yIFYyLg0KDQoNCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9z
ZXR1cC5jIGIveGVuL2FyY2gvYXJtL3NldHVwLmMNCj4gaW5kZXggZmZjYWU5MDBkNzJlLi45ZTk0
ZjFhOGM3NjEgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jDQo+ICsrKyBiL3hl
bi9hcmNoL2FybS9zZXR1cC5jDQo+IEBAIC01Nyw3ICs1Nyw3IEBADQo+ICAgc3RydWN0IGNwdWlu
Zm9fYXJtIF9fcmVhZF9tb3N0bHkgc3lzdGVtX2NwdWluZm87DQo+DQo+ICAgI2lmZGVmIENPTkZJ
R19BQ1BJDQo+IC1ib29sIF9fcmVhZF9tb3N0bHkgYWNwaV9kaXNhYmxlZDsNCj4gK2Jvb2wgX19y
ZWFkX21vc3RseSBhY3BpX2Rpc2FibGVkID0gdHJ1ZTsNCj4gICAjZW5kaWYNCj4NCj4gICBkb21p
ZF90IF9fcmVhZF9tb3N0bHkgbWF4X2luaXRfZG9taWQ7DQo+DQo+IH5NaWNoYWwNCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 12:50:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 12:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926447.1329288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx3jg-0002pj-5T; Tue, 25 Mar 2025 12:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926447.1329288; Tue, 25 Mar 2025 12: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 1tx3jg-0002pc-2W; Tue, 25 Mar 2025 12:50:28 +0000
Received: by outflank-mailman (input) for mailman id 926447;
 Tue, 25 Mar 2025 12:50: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=Gb8l=WM=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tx3je-0002pG-M2
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 12:50:26 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2412::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b55e27c7-0977-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 13:50:21 +0100 (CET)
Received: from CH0PR04CA0018.namprd04.prod.outlook.com (2603:10b6:610:76::23)
 by CH3PR12MB9395.namprd12.prod.outlook.com (2603:10b6:610:1ce::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 12:50:16 +0000
Received: from DS3PEPF0000C37B.namprd04.prod.outlook.com
 (2603:10b6:610:76:cafe::b0) by CH0PR04CA0018.outlook.office365.com
 (2603:10b6:610:76::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Tue,
 25 Mar 2025 12:50:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF0000C37B.mail.protection.outlook.com (10.167.23.5) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 12:50:16 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 25 Mar
 2025 07:50:15 -0500
Received: from [172.22.20.237] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 07:50:15 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b55e27c7-0977-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bpXodbaRrd8oJbkSMBXk80+UFtJtD7n4KkCwA9J2xsB1At5DIBq3NZIkiH8ypW7RHkJ+lkwDM6Gj2acTka1rLMowD+tGPzZke2PW+EajIPfiYFT852K9jfAVIv/sLP+iX5iHyTqcbE5ELrGk061x4ozwbQ13icesfzocygVpxvNyBpNA/sfbZ6ozJItBQamTYjQYmk3jYhDfLWPyGyVus+iocksY14C+z/P1czCQH8X9WbAM5g5be2NhBUSjFN4dZq7DtQEie92lclOCAm2uhe/JMxRBllAxU/rrGz1rrAbDacdXb5LcfCPyEbdST9tXd2Zv2VEMKkwFMi2WcB3iPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yv8ujZsVBJ7ND122M0FVt/qSVDuWdkBERR2tTgU/snE=;
 b=ftzfr3e+f37HIINIP/V+2kNzv17YWKPzaAZCb+nBQ/j6nfPdP7SQAAz4IIymrZNI9b9nEuWuIT5/7StCepT3sLNcn8Po+yGc55hDJCOTk3izLfqKuvEGeqGCEPSyHf+WkijEC2yXeeFnHjpEF5v8VUST/ZG4PU8o+aQw9upS9QEG9TGAc/b0BapFJapDZdqk9RR8VBZ/75711iFL0bTbVRKMOeobI1NghICnkQjLKQ6Zld92pTJ6ACGqZL43b6fLaLbXC/K7HXidK+FiXgOmYLQ1KLu6pdPzT3U2Sfwo7SaV1oFH4phclcb+Yn5NZxk3QtgaSBYWzaoqJ+7p8vr/Iw==
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=Yv8ujZsVBJ7ND122M0FVt/qSVDuWdkBERR2tTgU/snE=;
 b=KxLMV5muDk1MFix6wCh4jWIZBc2nxTSYDg2QiE3xKQCKMam48vWmPHUnvAp0EOk77er0DMbuQOLZfDe/QX4hcUz2rL9uP9ocdJWarvG7OYTGLOFMtWHfiTm3gmqLTrifcMlcvKWorKKVEf6xB6mOLCEfglfPZvtSGEHh9n5eWDs=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <477085e5-7c0b-424f-ad71-62f6b8ee94ab@amd.com>
Date: Tue, 25 Mar 2025 08:50:12 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] x86/PVH: account for module command line length
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
	<jandryuk@gmail.com>
References: <89d87fb0-88af-4495-92dd-cde28d8c25ff@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <89d87fb0-88af-4495-92dd-cde28d8c25ff@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: DS3PEPF0000C37B:EE_|CH3PR12MB9395:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ae27726-aeba-46d2-6be9-08dd6b9b97a3
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?ZlRwRXBvb05uankzbkw3dkp6Ty9EVHFDeEtFNUpDYVQ0TkRWR0JIVUI4cVFw?=
 =?utf-8?B?by85cElQdnVwRlF3ZFlJM2RDVFh0ejNRQkRDU3NpWTlGRGZscDRUbDhSc2p0?=
 =?utf-8?B?QjJqYytZU1Y1b0FJQ21ocng2dXhVM2tVMXdhcFh4UDA0c0xXc2pHczZFcFR1?=
 =?utf-8?B?d2I0WEZPSCtWeUFsRWRFejN4YUF6eGYvRVkvcFpUK3NyNU9TUGRPVlJqMUVJ?=
 =?utf-8?B?a0dkWlI3R1UwT3NDQkI0YXJtT21Ea3ZHRlcxU09hS1dFSnVGOW90U1pDMktk?=
 =?utf-8?B?eU84cjNHK29uUSszU3ZPeEQyMlA1akRQNDBKcGMzblVYaVNsWmpQVmg5S3Va?=
 =?utf-8?B?SDYrVVlmZDA3SnRVS3FoSUkwY09EeGFzenE3aEZPSUkxK2tPNWUwSld4cWx6?=
 =?utf-8?B?MFZPZXBpLy90NDBtOG9CWEg3S1gwQk84a3o1clluNnExdnhpdUI2a0dsNzRZ?=
 =?utf-8?B?NXNpSmdmYWZIRmdtdXV0bTk4SGFFR0FEcW1ydGV1VXRUcXNRRlk1K2dkdjEw?=
 =?utf-8?B?dkJkTFhJdTlLWWRqVFNqTWN3Y0dyMlhaakhUS0RLTDR5NXU5SFlicXd4VStB?=
 =?utf-8?B?aitMNnl3eEV4Zjh3N1IyQVBCQkdON3k4TlMrZHFwSEVhUlByOXkxZDd5TnZm?=
 =?utf-8?B?YzZOVDFhT3kwSVczNVNKQzM1U3RJNmdnYTUvSGtCYUdSb3ptYmVTV1MzNmIx?=
 =?utf-8?B?d0IzaU8xQjhvdXZqY3JIaUxHcTFpckJQMUxGa0FUMGxyT2NiakY5SkR1akJu?=
 =?utf-8?B?WXJOemNMdXQzQU03bUN5RUhOUXBrU2krVTVva2ZUWnZEemVDa2pQZmRlZjFY?=
 =?utf-8?B?dDFVc2M0Tkd0bUQrNHJvaUFxcEQ3UlI4U1JRaUNrRjFBUnRxRGE5UTlYOVgz?=
 =?utf-8?B?OGFBVTdnbGpmRUdJTzIrUk9LbHh4TXlLeUY0RjNaZG1HTTZndmtYR1pkNy9a?=
 =?utf-8?B?SEp5U2hzTVdzcEF0cGl4S1k1ZmpVVmZHNWhGdXk0MVNKMVM5LzJiSmNJbjFm?=
 =?utf-8?B?UXNBTWtvRk5IMUJyNENNZk1POEZ0ck9VNG5qYzgrR2kyRGlxV2tJcFdhNE04?=
 =?utf-8?B?bzJrUXo0MjVPS2RTWW9HRUt2bnJEZ2VINzRTNmV0T0dmYnM3TGNFblhCbDJ4?=
 =?utf-8?B?Zm9KZHNiNGJjeUptV2NKNGtqTDRDQnBIeW5SM0taV2VyUjFLaWVHWnFsWEhX?=
 =?utf-8?B?cGRTUWxXc3RqMVpuZjJwQUltY1U1V0xHMk1VbW91TkUxSWxkcklSOVZMVzQw?=
 =?utf-8?B?QnNOOUZwT0xWVVNzNk5VZ2FDenRZTnJJT3N1Z3dycnFjekIxekRRUTlmV0Zx?=
 =?utf-8?B?OW5pYXJTMGlLbUp5RmZITWJtTVNZOG1xT0dUaklsWjI2K0pnY0JWZE11MTha?=
 =?utf-8?B?cGxzMEJYRHlQSlBSemZ4eUZFRnFtZ2gxMHRBN29GM1RrdFpCeDQrektacHhp?=
 =?utf-8?B?UEt0V3lMNUJnZkVFK3BxVkVlNTFiZ29rRVFaN3hWYldWdzkzeDZ6SFZBUi9o?=
 =?utf-8?B?dGExNG40MGlNU2RiTFQ2bjNvd0ZENXg3c3VjUjZkWHJxek1mOVhQdzc2NkxZ?=
 =?utf-8?B?NGU2RE85WHFPSlY5N0crRDZDMGkwaGZmN0dwZWZUcXZXRU1DTVA1WStocmZ3?=
 =?utf-8?B?cnMrbHM1UnRBS3p2ekI5cTNPc0ZFN3BYQ0VVeS9Xa2Ivc3hURm1FU2VtaCtI?=
 =?utf-8?B?RE1BMnErQ21MNTYvNkdBMzJvL1cyREZNQllrT3VqbnVqU0VEZ1ZIZDZmV1Fl?=
 =?utf-8?B?OU1TTldzVUlKYlNNQ1dYQkMyN3ZlRXFNVE55NUNiRjFaUjFRRFU0MDNxaFhY?=
 =?utf-8?B?MnltNlNLbXdkWm9nODhYSDg4Z0hlQUVENWVXRHJTQjcwdk4wTEdxaUZ2NXJj?=
 =?utf-8?B?cGxsMU9JT1JRcEM4dHdkYlJmTldjUUliWHZNV2I5K0hPTU9QRE1LTFV1blVj?=
 =?utf-8?B?eE93RkxZUHdGQmhFR2VncGlqeC95V1VyVU51TURFNWxaZHhFN2VXWlpmQy9q?=
 =?utf-8?Q?PoAAse7pWcwrTzv4k5nYKSAexC2OiE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 25 Mar 2025 12:50:16.3869
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ae27726-aeba-46d2-6be9-08dd6b9b97a3
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF0000C37B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9395

On 2025-03-25 04:47, Jan Beulich wrote:
> As per observation in practice, initrd->cmdline_pa is not normally zero.
> Hence so far we always appended at least one byte. That alone may
> already render insufficient the "allocation" made by find_memory().
> Things would be worse when there's actually a (perhaps long) command
> line.
> 
> Skip setup when the command line is empty. Amend the "allocation" size
> by padding and actual size of module command line. Along these lines
> also skip initrd setup when the initrd is zero size.
> 
> Fixes: 0ecb8eb09f9f ("x86/pvh: pass module command line to dom0")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 12:51:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 12:51:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926455.1329298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx3l0-0004Ok-ES; Tue, 25 Mar 2025 12:51:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926455.1329298; Tue, 25 Mar 2025 12:51: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 1tx3l0-0004Od-BB; Tue, 25 Mar 2025 12:51:50 +0000
Received: by outflank-mailman (input) for mailman id 926455;
 Tue, 25 Mar 2025 12:51: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx3kz-0004OR-FT
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 12:51:49 +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 e936d76b-0977-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 13:51:47 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3914a5def6bso3300865f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 05:51: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-3997f9a3f36sm13946521f8f.32.2025.03.25.05.51.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 05:51: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: e936d76b-0977-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742907106; x=1743511906; 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=2UI6kyWj0JfKs1+sNfG/JkSIh/aJ8nF8v50j99RHjYU=;
        b=DNFlB86VefGTE3x1sk2Am8rl1jaAAkJk/ktAuI1nL6SHWxb0/qfOkEmPTuOULVSQqI
         Mq/Q2+CFg9ID7lz/TUsTpVI33uEohxpLfs/CL/FR+GZDLLZi4gUvbfj9N7us3U3N8euT
         /FNdSSazLX7ACdJYd6SJlBNASrNYkUFG4ia0GJo7tg8FHIRgbpgfdaPDy2R7FDdsIkPC
         6EfdDH4d/tCMM19f8P006bEuAHsElFPH6tjW36cc5NKkE8VF/riB2P9ntSuvr2rwCkhF
         G4yVh3le355V20zIvLCEX8VmiTGpLr7ZoiF0YHYzqiUpA2YYdGw9Ei5gCQYnykBQGHh0
         YeyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742907106; x=1743511906;
        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=2UI6kyWj0JfKs1+sNfG/JkSIh/aJ8nF8v50j99RHjYU=;
        b=N0NVDi7TpkU78tKxA0nxIjnLLuMz8de5koy8ZRtLH4xn9EwjPNQp6+atxvtSU+VYS8
         MlQCgItV0mSHnC39cQeiVcTLMn3HyizuW+YJy/wR/D2lurBLTwonr06u4rjrT35YMiJu
         Ryo/F3Osh9TFfnhYUNFR/GZG78NGQRyZZv8zb/uktwQCPp0JJDiXtXtN8/MLHTLmceOe
         XG19bTHz4ieOykB+b5K8ds6si6VK0aMat8oZimOktV8SQGCBOwqaBkBzrUTHKGjbCOIj
         W8Kucdc69uFdq0xqfInWow83+CPdvh7Zlq0dQd+DDJIUsAtDumL/gbZXI553AMWNdSVv
         2JLQ==
X-Gm-Message-State: AOJu0Yy5YHX3g+3gfDfFzUukfHBZWXL0dIvHO7/UzkRK92rwfD/MpxWf
	BcVwnaF5lLHOHRqfsSBD2/ADIfSjcad8oREGXWTaXUQqk26Hr2b/4uzIBa8VFvr1s8UZn+JOCYI
	=
X-Gm-Gg: ASbGncsgg01xzFyjZXveBcU7NzhQLE/5OV6itbTC6DNOz9HtKG6zVKjI6Lixe4tbS8a
	QCAxl8A2aIm3u1YyWw5HOvEVZC//m/5EZfYUy3SN8qhwaQJQ5l2GdEe++84r8vJz40RF35C7EBy
	w+5u+3HEWLgilDQ/je6FNGsTGF2bQZ8N2CeKj8SWo0VyZNWaktsculWN4hgwj+yMzSZYoH2BMYh
	pCqc7Dr4x8rYOkBh5LUBtyjB0VLUtjq+VOzzGGoP2CdYh0Vq5opGGKOhiNtMARcVvbGGO7B/j3C
	5qEkFz0hqGvl3+LD5i2tKZL3LcfLcepngOOiLXrA9OOBDH8+cKwn1JAyKwR457yUm33rws7SmZv
	8Zeer6gx6KaXmunNFnX7WwOULnHW7WA==
X-Google-Smtp-Source: AGHT+IGdqTMKmvDwaCbAMMRkMPPBRBJxD13gUM3aAdpqSFbxFsJL6h+GF3pFg9XVJDDpB1yiQVYBig==
X-Received: by 2002:a05:6000:1849:b0:391:8a3:d964 with SMTP id ffacd0b85a97d-3997f92d0a6mr16586145f8f.41.1742907106128;
        Tue, 25 Mar 2025 05:51:46 -0700 (PDT)
Message-ID: <d1fca705-bfed-4370-a907-ca090dea58e5@suse.com>
Date: Tue, 25 Mar 2025 13:51:44 +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>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jandryuk@gmail.com>, Penny Zheng <Penny.Zheng@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] xenpm: sanitize allocations in show_cpufreq_para_by_cpuid()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

malloc(), when passed zero size, may return NULL (the behavior is
implementation defined). Extend the ->gov_num check to the other two
allocations as well. Don't chance then actually using a NULL in
print_cpufreq_para().

Fixes: 75e06d089d48 ("xenpm: add cpu frequency control interface, through which user can")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -840,8 +840,9 @@ static void print_cpufreq_para(int cpuid
     }
     else
     {
-        printf("scaling_avail_gov    : %s\n",
-               p_cpufreq->scaling_available_governors);
+        if ( p_cpufreq->gov_num )
+            printf("scaling_avail_gov    : %s\n",
+                   p_cpufreq->scaling_available_governors);
 
         printf("current_governor     : %s\n", p_cpufreq->u.s.scaling_governor);
         if ( !strncmp(p_cpufreq->u.s.scaling_governor,
@@ -907,7 +908,8 @@ static int show_cpufreq_para_by_cpuid(xc
         p_cpufreq->scaling_available_frequencies = NULL;
         p_cpufreq->scaling_available_governors = NULL;
 
-        if (!(p_cpufreq->affected_cpus =
+        if (p_cpufreq->cpu_num &&
+            !(p_cpufreq->affected_cpus =
               malloc(p_cpufreq->cpu_num * sizeof(uint32_t))))
         {
             fprintf(stderr,
@@ -916,7 +918,8 @@ static int show_cpufreq_para_by_cpuid(xc
             ret = -ENOMEM;
             goto out;
         }
-        if (!(p_cpufreq->scaling_available_frequencies =
+        if (p_cpufreq->freq_num &&
+            !(p_cpufreq->scaling_available_frequencies =
               malloc(p_cpufreq->freq_num * sizeof(uint32_t))))
         {
             fprintf(stderr,


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 12:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 12:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926467.1329308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx3mh-000527-UG; Tue, 25 Mar 2025 12:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926467.1329308; Tue, 25 Mar 2025 12: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 1tx3mh-00051v-Re; Tue, 25 Mar 2025 12:53:35 +0000
Received: by outflank-mailman (input) for mailman id 926467;
 Tue, 25 Mar 2025 12:53: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx3mg-00051B-Dq
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 12:53:34 +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 28659fb5-0978-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 13:53:32 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cec5cd73bso35403005e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 05:53: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-43d43fdeb79sm201290315e9.25.2025.03.25.05.53.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 05:53: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: 28659fb5-0978-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742907212; x=1743512012; 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=4M2M3fPpC3XGA5w4WkSqlgXfuPFwv3Z2U63mS/wHHbQ=;
        b=Y+Oa1JSndvOkd+gwa3UvlJKjQK/c+ZURPxHkXVr/emSX8XJlj6LHwMZ4ZYnc3jLWyo
         Cj52vXOima0mqjFD17MZGSn6umy6U30L4Nrzw2nLgAKoz172xcmALe/QtXgAuEwoDr8h
         GJbQhcV2VOvgz1gPrJbI52b3WevRyTU4LusoSNvYQJ/ejr7XnztowZJkJsTP4SMi2LMw
         iYNCVHSvDhxwKGdCmAPsZA0BWi7G4TGxOX7WKwNRRbBYKedIcGPTzsPkfYE63H6ijFDW
         5wedQXYOrb9CaShLjVFrjOdyyfOYEnk9aDp9or4GQ4BBlCce34oz75lxIvKbJ3KKeCJ4
         JRLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742907212; x=1743512012;
        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=4M2M3fPpC3XGA5w4WkSqlgXfuPFwv3Z2U63mS/wHHbQ=;
        b=I/N22qwyX8/ByYqCXbmF8xOp7YFAAjruuXVkTqLNjlLzFv4JKwsE314Xe/adR90jze
         WVb/1njony0yN32E2/ewtojUXxwcfRhuFy6G0fwzVuaTvh+XA9DwkTN3ROU8jJoNuSqg
         h/ywFiEMflg9m0y7Q6g2Swr11itr94G+Cb8PmKss07wRhgwxOYYlSUpsOIRbJbH4EtWg
         +DqdpuS/7sLEf8oI7bys1JBVHNCJ1pRHk88jWpa+SwJxUC9eEJnTZqRZeSMnBQQQFhIq
         TekuoJCLfDUlo+vFHNNBT73Tn3xLeViI54HVMD/L49nQtroOWFlSoMl3KsY/IhnfIroz
         Uhvg==
X-Gm-Message-State: AOJu0Yw2FvGZpS+EnpEiIz0PIfNlo1c3VdAJ8+bIpsA9ZmaSecCQYd/v
	qCVA0bfnAH4Mwtqo/nsRVb6GiUGPnJFHjMDED6gBS43FQb2Od3xKFLKpTiL5KqGx5Gyby0ela30
	=
X-Gm-Gg: ASbGnct+dYHlDePBKWJ9FCC/zVav+w7mrch/QAWRjy3d4aHlAi5QZsvfL2iDgy1cl2A
	8jqFHx9ZdVfvD5bHa+bGe5ypJ+XSVR/W/ZII/35dfGqL3KwYcPLlWpG9quWmskm9K2qdhRtKsDQ
	h/zRzdUD/c+Zh6BcrUsfPksYYvoiaE7/d6yDsjB64zhBmJNIqlyjbHjos31QdAqX1Evs0KeHwEp
	+gZBqPYhXjvMFvhxD/CGJDqjyxSeCMTRQsNIltz8+mG8PyjsRTNek15Eu509MEFJfNa+pdfcYQm
	jSWVF0SLG6M0z8uaOO+xfGfCoAWlamYXmmemil1RUAM8KzefbCeWYAJjFs8vMmPvyWaL7najYQd
	Wf12hmgVvVfXZWU6Ve77qzz+VmpTj7Q==
X-Google-Smtp-Source: AGHT+IGpg8Xf1zfeNspgS2q3ag1+5n+BSDWB7VIfm5eQvFPgvfSqMsxKQRKKrxpIh5U8PMwBo8yMwQ==
X-Received: by 2002:a05:600c:83c4:b0:43d:5ec:b2f4 with SMTP id 5b1f17b1804b1-43d509eb097mr190408905e9.10.1742907212080;
        Tue, 25 Mar 2025 05:53:32 -0700 (PDT)
Message-ID: <b2f1d0dc-54b0-4520-b4b6-3a1892662e53@suse.com>
Date: Tue, 25 Mar 2025 13:53:31 +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>,
 Penny Zheng <Penny.Zheng@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/pmstat: fold two allocations in get_cpufreq_para()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

There's little point in allocation two uint32_t[] arrays separately.
We'll need the bigger of the two anyway, and hence we can use that
bigger one also for transiently storing the smaller number of items.

While there also drop j (we can use i twice) and adjust the type of
the remaining two variables on that line.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -193,11 +193,10 @@ static int get_cpufreq_para(struct xen_s
     const struct processor_pminfo *pmpt;
     struct cpufreq_policy *policy;
     uint32_t gov_num = 0;
-    uint32_t *affected_cpus;
-    uint32_t *scaling_available_frequencies;
+    uint32_t *data;
     char     *scaling_available_governors;
     struct list_head *pos;
-    uint32_t cpu, i, j = 0;
+    unsigned int cpu, i = 0;
 
     pmpt = processor_pminfo[op->cpuid];
     policy = per_cpu(cpufreq_cpu_policy, op->cpuid);
@@ -219,25 +218,22 @@ static int get_cpufreq_para(struct xen_s
         return -EAGAIN;
     }
 
-    if ( !(affected_cpus = xzalloc_array(uint32_t, op->u.get_para.cpu_num)) )
+    if ( !(data = xzalloc_array(uint32_t,
+                                max(op->u.get_para.cpu_num,
+                                    op->u.get_para.freq_num))) )
         return -ENOMEM;
+
     for_each_cpu(cpu, policy->cpus)
-        affected_cpus[j++] = cpu;
+        data[i++] = cpu;
     ret = copy_to_guest(op->u.get_para.affected_cpus,
-                       affected_cpus, op->u.get_para.cpu_num);
-    xfree(affected_cpus);
-    if ( ret )
-        return ret;
+                        data, op->u.get_para.cpu_num);
 
-    if ( !(scaling_available_frequencies =
-           xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
-        return -ENOMEM;
     for ( i = 0; i < op->u.get_para.freq_num; i++ )
-        scaling_available_frequencies[i] =
-                        pmpt->perf.states[i].core_frequency * 1000;
+        data[i] = pmpt->perf.states[i].core_frequency * 1000;
     ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
-                   scaling_available_frequencies, op->u.get_para.freq_num);
-    xfree(scaling_available_frequencies);
+                        data, op->u.get_para.freq_num) ?: ret;
+
+    xfree(data);
     if ( ret )
         return ret;
 


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 13:02:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 13:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926478.1329318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx3vO-0007nR-Ov; Tue, 25 Mar 2025 13:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926478.1329318; Tue, 25 Mar 2025 13:02: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 1tx3vO-0007nK-LL; Tue, 25 Mar 2025 13:02:34 +0000
Received: by outflank-mailman (input) for mailman id 926478;
 Tue, 25 Mar 2025 13:02: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx3vM-0007nE-Mw
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 13:02:32 +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 6953f439-0979-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 14:02:31 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5e5e1a38c1aso7327385a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 06:02:31 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef93e0e5sm852356266b.86.2025.03.25.06.02.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 06:02: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: 6953f439-0979-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742907751; x=1743512551; 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=1zmRbtL8RoNuggtFGTA2AuglwecttOEm0IOJpafj3Xo=;
        b=WTzYwMKEa5ybauubA9QeY01zHKInhqgdClUqBkqWgdnRZO0CM+UUssycQ+woFEvVnN
         CjxH8Y+AT3zg0fQN0izxa0oVwkJQ//Gj9HkX2RQc/Tl7wbN0bB/UVJGF8NOXiwBiNM8y
         CrfYrFaVqgEIn5P2SGAYnMCWcYngZM5XrztDEmUBXqDctEXp6nFqlj9sig9aZWQnDtdd
         bph5wwdTIujvTJtNv9VK6kFl8YFFy+v4tKir3mI+tVYKsxACzPJteR08Hp5irMzUPiLG
         Ycjo3HBEWxVtEgu2CJyzwfw+rF1P9eG4KMCageFfRdvHy5WCzElPfj5DyztK4k66r2PH
         oYtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742907751; x=1743512551;
        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=1zmRbtL8RoNuggtFGTA2AuglwecttOEm0IOJpafj3Xo=;
        b=G8IduAhl6RGHdXV9HRY1IGHXCFpyOjQ6m/exMVX+8hV8iubBIeF0seFzAphByeoCoO
         4Rev7R94B25xM4e0npy75Iv2jEPPdLi2H87b996SnQEw98/a8+Nsh9tXWZvnyFyqO5pL
         WulFium10obvMk/TB1vTgKX7gYsNbpnLkvDz2VAbQDmH4v8Jrem/CZWnDH6rXA3BFLKi
         OIMuJi0vEmIZDJoneAwhJbboE9l3cFTItLc/q8P7ZJGjlh6ATDO9Z8IE7aHmktQkIWUp
         nQorgN6ss9ZOyuSvPfE2OFSzZPPxtojCLWshj71bxBWcN2btLJ1Qh4IlON/KgaKpz1T4
         eFzg==
X-Forwarded-Encrypted: i=1; AJvYcCXAtKw75wuJoEWfbMi5tOhC76iN984vKozJTJPmK+gn7uay71s6HODqQAWe/LMq2kLg22QdZM0OkjA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxiqo+6GTcsa5yp1FEB+A6Bn0XpPMjAs1enPp27I4NuAJwH29Zg
	lnJyGZfJCr1ucZBTjKomDidZhcWrnsdiL0KexutvSH4oltZc7cGH
X-Gm-Gg: ASbGncuwSlVGyq9vyHYkGzlNChtYIX/806ISye8RMrZQVj2vnKkPeSMgKdGHRE4SK0I
	3GkSpDhzJes+26pW2rOOLLhPl7ru5Tl/R2lZbOJf/MiHgQw8AxvbKkQ2n8Nuyfnra/4/seNd5pL
	IRPOTWvluahTUEZNROJoEHci2ad6rMgf8OdRqFg6w1QWfEyz7D2FsIljPktqRz5NDq2lN/bAyVF
	mNtIwFDTXMW2o2Wbc0UqbOifTLVGJr8/869Sl1gmRe2emC46fBDj9dZIP0trAnx8oQ+IsUOy1uu
	nQoNgeyGBb+nquGawFLxoGIlAOcDY+Sra4a0gaCpYe6TPA8QMKDs1J47OGK1LNwmeG00ierEo6j
	8AluPbJvrMoRabYefh7eDGaVTNUzuN7g=
X-Google-Smtp-Source: AGHT+IG7X8OEaUQtwEaInKUgyLLCoC0UhoJeBl78I9Dhf+QTbtjtQudMAedFU47LkaWQaXH9Iyde9g==
X-Received: by 2002:a17:907:72c5:b0:ac3:2368:9a12 with SMTP id a640c23a62f3a-ac3f24f6d46mr1678357966b.27.1742907748331;
        Tue, 25 Mar 2025 06:02:28 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------A6j2a03kqSpF5WqD04UpRxiD"
Message-ID: <e6e64e58-a26a-44cc-b708-5bf510b041c8@gmail.com>
Date: Tue, 25 Mar 2025 14:02:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
 <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
 <ee8b8e09-9b0b-4757-989c-b7d81721c325@gmail.com>
 <3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com>

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


On 3/25/25 12:52 PM, Jan Beulich wrote:
> On 25.03.2025 12:48, Oleksii Kurochko wrote:
>> On 3/24/25 1:31 PM, Jan Beulich wrote:
>>> On 21.03.2025 17:17, Oleksii Kurochko wrote:
>>>> H provides additional instructions and CSRs that control the new stage of
>>>> address translation and support hosting a guest OS in virtual S-mode
>>>> (VS-mode).
>>>>
>>>> According to the Unprivileged Architecture (version 20240411) specification:
>>>> ```
>>>> Table 74 summarizes the standardized extension names. The table also defines
>>>> the canonical order in which extension names must appear in the name string,
>>>> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
>>>> RV32IMACV is legal, whereas RV32IMAVC is not.
>>>> ```
>>>> According to Table 74, the h extension is placed last in the one-letter
>>>> extensions name part of the ISA string.
>>>>
>>>> `h` is a standalone extension based on the patch [1] but it wasn't so
>>>> before.
>>>> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
>>>> and for that version it will be needed to encode H extensions instructions
>>>> explicitly by checking if __risv_h is defined.
>>> Leaving aside the typo, what is this about? There's no use of __riscv_h in
>>> the patch here, and ...
>> It is going to be used in future patches:https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32
> For this and ...
>
>>>> @@ -25,10 +24,13 @@ $(eval $(1) := \
>>>>    	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>>>    endef
>>>>    
>>>> +h-insn := "hfence.gvma"
>>>> +$(call check-extension,h)
>>> ... this, if it fails, will not have any effect on the build right now
>>> afaics.
>> No, it won't have any affect now as instruction from H extension isn't used now.
>> But it will be neededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/
>> and for p2m changes mentioned above.
> ... this both being future work, it might help if it could be made clear
> right here how things are going to work (with both gcc12 and up-to-date
> gcc).

I can update the commit message with the following:
```
If 'H' extension is supported by compiler then __riscv_h will be defined by
compiler (for gcc version >= 13.1).
For gcc12 it will be needed to:
#ifdef __riscv_h
  asm volatile ("h extension instruction");
#else
  asm volatile ("|.insn ..."); #endif ``` Or probably it will be easier not to ifdef-ing 
everything with __riscv_h but just return back a workaround with the 
following changes: ``` $ git diff diff --git a/xen/arch/riscv/arch.mk 
b/xen/arch/riscv/arch.mk index f29ad332c1..3bd64e7e51 100644 --- 
a/xen/arch/riscv/arch.mk +++ b/xen/arch/riscv/arch.mk @@ -24,13 +24,17 
@@ $(eval $(1) := \ $(call as-insn,$(CC) 
$(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1))) endef -h-insn := 
"hfence.gvma" -$(call check-extension,h) + 
+h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, 
hh, h) +h-extension-name-$(CONFIG_CC_IS_CLANG) := h + 
+$(h-extension-name-y)-insn := "hfence.gvma" +$(call 
check-extension,$(h-extension-name-y)) zihintpause-insn := "pause" 
$(call check-extension,zihintpause) -extensions := $(h) $(zihintpause) 
_zicsr_zifencei_zbb +extensions := $($(h-extension-name-y)) 
$(zihintpause) _zicsr_zifencei_zbb extensions := $(subst 
$(space),,$(extensions)) ``` I prefer more a little bit the second 
option with having the workaround for GCC version. ~ Oleksii |

--------------A6j2a03kqSpF5WqD04UpRxiD
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 3/25/25 12:52 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com">
      <pre wrap="" class="moz-quote-pre">On 25.03.2025 12:48, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/24/25 1:31 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 21.03.2025 17:17, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">H provides additional instructions and CSRs that control the new stage of
address translation and support hosting a guest OS in virtual S-mode
(VS-mode).

According to the Unprivileged Architecture (version 20240411) specification:
```
Table 74 summarizes the standardized extension names. The table also defines
the canonical order in which extension names must appear in the name string,
with top-to-bottom in table indicating first-to-last in the name string, e.g.,
RV32IMACV is legal, whereas RV32IMAVC is not.
```
According to Table 74, the h extension is placed last in the one-letter
extensions name part of the ISA string.

`h` is a standalone extension based on the patch [1] but it wasn't so
before.
As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
and for that version it will be needed to encode H extensions instructions
explicitly by checking if __risv_h is defined.
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Leaving aside the typo, what is this about? There's no use of __riscv_h in
the patch here, and ...
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
It is going to be used in future patches:<a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32">https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
For this and ...

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">@@ -25,10 +24,13 @@ $(eval $(1) := \
  	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
  endef
  
+h-insn := "hfence.gvma"
+$(call check-extension,h)
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">... this, if it fails, will not have any effect on the build right now
afaics.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
No, it won't have any affect now as instruction from H extension isn't used now.
But it will be needed <a class="moz-txt-link-abbreviated" href="mailto:forhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/">forhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/</a>
and for p2m changes mentioned above.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... this both being future work, it might help if it could be made clear
right here how things are going to work (with both gcc12 and up-to-date
gcc).</pre>
    </blockquote>
    <pre>I can update the commit message with the following:
```
If 'H' extension is supported by compiler then __riscv_h will be defined by
compiler (for gcc version &gt;= 13.1).
For gcc12 it will be needed to:
#ifdef __riscv_h
 asm volatile ("h extension instruction");
#else
 asm volatile ("<code>.insn ...");
#endif
```

Or probably it will be easier not to ifdef-ing everything with __riscv_h but just return back a workaround
with the following changes:
```
$ git diff
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index f29ad332c1..3bd64e7e51 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -24,13 +24,17 @@ $(eval $(1) := \
        $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
 endef
 
-h-insn := "hfence.gvma"
-$(call check-extension,h)
+
+h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, hh, h)
+h-extension-name-$(CONFIG_CC_IS_CLANG) := h
+
+$(h-extension-name-y)-insn := "hfence.gvma"
+$(call check-extension,$(h-extension-name-y))
 
 zihintpause-insn := "pause"
 $(call check-extension,zihintpause)
 
-extensions := $(h) $(zihintpause) _zicsr_zifencei_zbb
+extensions := $($(h-extension-name-y)) $(zihintpause) _zicsr_zifencei_zbb
 
 extensions := $(subst $(space),,$(extensions))
```

I prefer more a little bit the second option with having the workaround for GCC version.

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

--------------A6j2a03kqSpF5WqD04UpRxiD--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 13:47:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 13:47:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926488.1329328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx4cb-0008Es-Vy; Tue, 25 Mar 2025 13:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926488.1329328; Tue, 25 Mar 2025 13: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 1tx4cb-0008El-SG; Tue, 25 Mar 2025 13:47:13 +0000
Received: by outflank-mailman (input) for mailman id 926488;
 Tue, 25 Mar 2025 13:47: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx4cb-0008Ef-48
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 13:47:13 +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 a67b95c0-097f-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 14:47:10 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39ac9aea656so587062f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 06:47: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
 ffacd0b85a97d-3997f9a3c90sm14142334f8f.36.2025.03.25.06.47.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 06:47: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: a67b95c0-097f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742910430; x=1743515230; 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=KwkOEWzuNElyqq+rjr0vs4RYciOAnS/XY4KyuY4voak=;
        b=Kh8BXXoal40zi5kmdVBu5p10k9pGAaxfQNWJLyxXZJQwsRR/ucbI+Ix9HivIKD0TiN
         J4Ys+CxhXoQHfDS7FkXU9WUpxvgk257XJXp++YmPn6Luo3d5vBr2HSOSebighQAYzNRn
         bDNA3FVd8Sy6843ZOUhUkGA4eKJWWas5QswOftxNPx2qeXXGem1KE1CRdNiBzdoCsnrz
         Gjm4FvbiXuKD4SmEVp3A674gxRr+0uPFWSF+PlRwRTH596tYH6lGzjI3bciffP48Da//
         3Ph/mmNJ9kG6ZrOCfc6c2BxMRG117xPQ/T9P5G/aHFF+eeXt0GhWJlt3wyaz9ze6Isvy
         0i8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742910430; x=1743515230;
        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=KwkOEWzuNElyqq+rjr0vs4RYciOAnS/XY4KyuY4voak=;
        b=TNn0xOm0UtS7zDOxB8n2eYAeu5tm3Kh+BeZh2RxVEjnRKrOFhPG6YjNJJCXn1OGdtp
         HQyf+VBie4TffEpaaZ29qI6APIQqX6I09bB8VMuVWkeMaDAMe5grTNNkyx21owlLiSpp
         tp63qdk3zJiuN/Er2FYqpS+kcFsP2T4HJ/mEbHfz0FavVsuheObNHufd8d5y1saXbLl5
         3tAYYrASuBbCpciY8tSZgR/B90kNla3WVqbOupbRNvoKwVggydMEoToYK1Dx2zPRd/6c
         VdFibcNqAbGcRabkfjlMCQtaq55HH1inZ0SuvomkoQV09Q52NdiL+KuqoQ5EvsbMLDcm
         GXnQ==
X-Forwarded-Encrypted: i=1; AJvYcCVL7aYUKUiPhzykLVkxAk8z8xhfMm3iGqwp5+Ju/BObBY+RRYuAJkNqVCUyTHURPxLqvc1eZFPr5S4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZ3BR6INn5bLZfyUXRMDnY7Su7x2mEcuOgm7w+dH+8Q9l6unWS
	6qT5hlbRBcpWYEXNECngGXdPrSDsMG4BKh2CjMIsBpKcHDxCRTM0mnnM9bwm2Q==
X-Gm-Gg: ASbGncu0tOx15fQxz9yO1+ImV7lMhCJLwsdII7pA/Ts45/NAf2GnGfKKgLsE7WMPuCo
	ieDVpWA2S8ta+Kn82qFQrAvUIn8mIZs2kE91Lw3TuGEaOyZqSH0855s3IDk4mEjkngQAbc3NaiZ
	unQ+zlwhJM23n0bfx5YU4K8tqrbwGnR3EAUriTzAMMoXwJOXI49QRJRGEkacYgeP1IhM1YDFH/u
	94FLrm/kgpWQoR9Pi5Um6dv6F8tAW/rznadcszomR4H98wzR77ZirQltV6xNa9ZOFMnyLUHlyob
	7Dlc2ngq19NdsPyAza739kdFVpm44wWQONBm/2GEj0CmyrHUuh+d/FNrk5VwjSvrdu4MtkKR16K
	8H9QGaAnChP0qbDDYm3uzjntASxN/dQ==
X-Google-Smtp-Source: AGHT+IFMC3q4uDMdP+dL7yo4RnDaT/XoKekcb9YjQktz34XE38+UvMbSt1LrhXKNdtYZYaJquWB6Bg==
X-Received: by 2002:a05:6000:1842:b0:391:253b:404a with SMTP id ffacd0b85a97d-3997f8f9ad1mr15190380f8f.8.1742910430046;
        Tue, 25 Mar 2025 06:47:10 -0700 (PDT)
Message-ID: <a6d511ec-38bc-4fad-9e08-462b7c10eac4@suse.com>
Date: Tue, 25 Mar 2025 14:47:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
To: 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
 <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
 <ee8b8e09-9b0b-4757-989c-b7d81721c325@gmail.com>
 <3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com>
 <e6e64e58-a26a-44cc-b708-5bf510b041c8@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: <e6e64e58-a26a-44cc-b708-5bf510b041c8@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 14:02, Oleksii Kurochko wrote:
> 
> On 3/25/25 12:52 PM, Jan Beulich wrote:
>> On 25.03.2025 12:48, Oleksii Kurochko wrote:
>>> On 3/24/25 1:31 PM, Jan Beulich wrote:
>>>> On 21.03.2025 17:17, Oleksii Kurochko wrote:
>>>>> H provides additional instructions and CSRs that control the new stage of
>>>>> address translation and support hosting a guest OS in virtual S-mode
>>>>> (VS-mode).
>>>>>
>>>>> According to the Unprivileged Architecture (version 20240411) specification:
>>>>> ```
>>>>> Table 74 summarizes the standardized extension names. The table also defines
>>>>> the canonical order in which extension names must appear in the name string,
>>>>> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
>>>>> RV32IMACV is legal, whereas RV32IMAVC is not.
>>>>> ```
>>>>> According to Table 74, the h extension is placed last in the one-letter
>>>>> extensions name part of the ISA string.
>>>>>
>>>>> `h` is a standalone extension based on the patch [1] but it wasn't so
>>>>> before.
>>>>> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
>>>>> and for that version it will be needed to encode H extensions instructions
>>>>> explicitly by checking if __risv_h is defined.
>>>> Leaving aside the typo, what is this about? There's no use of __riscv_h in
>>>> the patch here, and ...
>>> It is going to be used in future patches:https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32
>> For this and ...
>>
>>>>> @@ -25,10 +24,13 @@ $(eval $(1) := \
>>>>>    	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>>>>    endef
>>>>>    
>>>>> +h-insn := "hfence.gvma"
>>>>> +$(call check-extension,h)
>>>> ... this, if it fails, will not have any effect on the build right now
>>>> afaics.
>>> No, it won't have any affect now as instruction from H extension isn't used now.
>>> But it will be neededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/
>>> and for p2m changes mentioned above.
>> ... this both being future work, it might help if it could be made clear
>> right here how things are going to work (with both gcc12 and up-to-date
>> gcc).
> 
> I can update the commit message with the following:
> ```
> If 'H' extension is supported by compiler then __riscv_h will be defined by
> compiler (for gcc version >= 13.1).
> For gcc12 it will be needed to:
> #ifdef __riscv_h
>   asm volatile ("h extension instruction");
> #else
>   asm volatile ("|.insn ..."); #endif ```

Okay, that's what I was concerned about. __riscv_h is a compiler indication.
It means nothing about H extension insns being supported by the assembler
(except perhaps for Clang's integrated one). The check-extension thing in
the Makefile will actually check both in one go. Yet then the hfence.* insns
have been in binutils since 2.38, i.e. pre-dating gcc12.

> Or probably it will be easier not to ifdef-ing 
> everything with __riscv_h but just return back a workaround with the 
> following changes: ``` $ git diff diff --git a/xen/arch/riscv/arch.mk 
> b/xen/arch/riscv/arch.mk index f29ad332c1..3bd64e7e51 100644 --- 
> a/xen/arch/riscv/arch.mk +++ b/xen/arch/riscv/arch.mk @@ -24,13 +24,17 
> @@ $(eval $(1) := \ $(call as-insn,$(CC) 
> $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1))) endef -h-insn := 
> "hfence.gvma" -$(call check-extension,h) + 
> +h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, 
> hh, h) +h-extension-name-$(CONFIG_CC_IS_CLANG) := h + 
> +$(h-extension-name-y)-insn := "hfence.gvma" +$(call 
> check-extension,$(h-extension-name-y)) zihintpause-insn := "pause" 
> $(call check-extension,zihintpause) -extensions := $(h) $(zihintpause) 
> _zicsr_zifencei_zbb +extensions := $($(h-extension-name-y)) 
> $(zihintpause) _zicsr_zifencei_zbb extensions := $(subst 
> $(space),,$(extensions)) ``` I prefer more a little bit the second 
> option with having the workaround for GCC version. ~ Oleksii |

I fear this ended up unreadable.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 13:52:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 13:52:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926500.1329338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx4hN-0002Ns-Im; Tue, 25 Mar 2025 13:52:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926500.1329338; Tue, 25 Mar 2025 13:52: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 1tx4hN-0002Nl-G9; Tue, 25 Mar 2025 13:52:09 +0000
Received: by outflank-mailman (input) for mailman id 926500;
 Tue, 25 Mar 2025 13:52: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx4hM-0002Nf-3u
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 13:52: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 54848aff-0980-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 14:52:02 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso37901475e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 06:52:02 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f32fb3sm202812005e9.2.2025.03.25.06.52.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 06:52: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: 54848aff-0980-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742910722; x=1743515522; 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=1sMYtP9QzESt1bs281F2trOPEb4WP60tv3Ry4o/M2/Q=;
        b=ssh5orG2qJf9yJwJMaMFH9qVu2tI4a5WtjehH0W4b4qZeNtXaVRAkDA+f0F9bjNsDU
         5N635512+RngvFwpYvOhIDLmwJLwaE8Jcjig8Yo3S/wKPufT4dE1IPnPmwd+jYLNKP6W
         pl79/aXiZVPXm4RYO+QX+QFc20Vy6d1B60qsI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742910722; x=1743515522;
        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=1sMYtP9QzESt1bs281F2trOPEb4WP60tv3Ry4o/M2/Q=;
        b=h4D+tCgEIjFAcDQIDzYuWIDKgYgSPGEbsvl9Z3Vm+WhdXN6nK4d9LLZ80dAm+bT9L3
         yRldsS9dfAqe5PbpY0cQVDUyWOs8lF7vSZ9s1zc94/wu1Qpd7hDwkf7N0PiL4W9sdmm4
         xrYNrqHkvMkE4daIBXirPLh25ghw8lqjQcNtGlULn86t4gd9Go2aCkwHwkgTpo3inWjk
         zDZo6/l0oEculkSXf7MwtFrOTnIk6OTGwHBVA/JKpILM2c1YzcuP4lpybEom/RE0qftB
         39xSc4Bx/5XsG1Ky6HsbnxRjLbJPW5Ljbm2Kb5K0HSGnPGhYmECgqsO9uZJhhwAjYCeu
         03NQ==
X-Forwarded-Encrypted: i=1; AJvYcCXjzwaYQn4bTnfvR/q6+QkDvDtGm6H7s5dDiihdjttc2ZUeNvAmeZsRJIv0KMNqZL63q8QZxnzoI9c=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzjz0EbnKxEbNwua8X8Wnd/avMLOH9JbKSKxs8AOJK+c5fvvmN/
	u2a4PMpUmmSF0a11GBXTUXhHtaoMRF2MeUw8+/Nq5yq+beutbVC3571l0wOrmhs=
X-Gm-Gg: ASbGncufHZ0wLRlAafWwdKGYIbgWXKXRqf15r63KcAMkwzY6jtfT3XES5+BhH8cjQc/
	q3arKxihotRxRtSt9PniWTto3q2T3qrHRF17yO86tEbvypwL4USSBfGVKBGAk+FyEW1oQ2aIyiZ
	xOnkaxZiy7e1On4etALKi5ysyLL42C2x04zUvzT3dxm4+rkq5ASvtp/AzTuBdxGQU2kv/Fz9JkK
	0/KZqpnhXQsvNxuJygXrk559GtVIgMrDDpNMbFtbRTnpk8bbawirm7WkhPNjD3fj/En1/wMQVGH
	s+fx1PRk46O/VOIg+mBT/Nu6YjP1AEx04JY4b0Azywd5JEO/4I0KlNSO6h6XDSWrOzxQ14ohjXE
	mnMvy6PG66g==
X-Google-Smtp-Source: AGHT+IGFVjiu8OTe2wum4xRIv8e+nFFbju78h4W8UhTu1w5WE/5MPiGk2BEU87GUUhHuElopuCX83A==
X-Received: by 2002:a05:600c:249:b0:43d:cc9:b0a3 with SMTP id 5b1f17b1804b1-43d567a2f59mr94908325e9.22.1742910722187;
        Tue, 25 Mar 2025 06:52:02 -0700 (PDT)
Message-ID: <31635ea1-cac9-4a5e-a4d3-2349d2bfb942@citrix.com>
Date: Tue, 25 Mar 2025 13:52:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/pmstat: fold two allocations in get_cpufreq_para()
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>,
 Penny Zheng <Penny.Zheng@amd.com>
References: <b2f1d0dc-54b0-4520-b4b6-3a1892662e53@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: <b2f1d0dc-54b0-4520-b4b6-3a1892662e53@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/03/2025 12:53 pm, Jan Beulich wrote:
> There's little point in allocation two uint32_t[] arrays separately.
> We'll need the bigger of the two anyway, and hence we can use that
> bigger one also for transiently storing the smaller number of items.
>
> While there also drop j (we can use i twice) and adjust the type of
> the remaining two variables on that line.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Wow this function is a mess.

It is an improvement, so Acked-by: Andrew Cooper
<andrew.cooper3@citrix.com>, but the allocations could be removed
entirely by restructuring the logic some more.

Also, one extra observation.

>
> --- a/xen/drivers/acpi/pmstat.c
> +++ b/xen/drivers/acpi/pmstat.c
> @@ -193,11 +193,10 @@ static int get_cpufreq_para(struct xen_s
>      const struct processor_pminfo *pmpt;
>      struct cpufreq_policy *policy;
>      uint32_t gov_num = 0;
> -    uint32_t *affected_cpus;
> -    uint32_t *scaling_available_frequencies;
> +    uint32_t *data;
>      char     *scaling_available_governors;
>      struct list_head *pos;
> -    uint32_t cpu, i, j = 0;
> +    unsigned int cpu, i = 0;
>  
>      pmpt = processor_pminfo[op->cpuid];
>      policy = per_cpu(cpufreq_cpu_policy, op->cpuid);
> @@ -219,25 +218,22 @@ static int get_cpufreq_para(struct xen_s
>          return -EAGAIN;
>      }
>  
> -    if ( !(affected_cpus = xzalloc_array(uint32_t, op->u.get_para.cpu_num)) )
> +    if ( !(data = xzalloc_array(uint32_t,
> +                                max(op->u.get_para.cpu_num,
> +                                    op->u.get_para.freq_num))) )
>          return -ENOMEM;
> +
>      for_each_cpu(cpu, policy->cpus)
> -        affected_cpus[j++] = cpu;
> +        data[i++] = cpu;
>      ret = copy_to_guest(op->u.get_para.affected_cpus,
> -                       affected_cpus, op->u.get_para.cpu_num);
> -    xfree(affected_cpus);
> -    if ( ret )
> -        return ret;
> +                        data, op->u.get_para.cpu_num);
>  
> -    if ( !(scaling_available_frequencies =
> -           xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
> -        return -ENOMEM;
>      for ( i = 0; i < op->u.get_para.freq_num; i++ )
> -        scaling_available_frequencies[i] =
> -                        pmpt->perf.states[i].core_frequency * 1000;
> +        data[i] = pmpt->perf.states[i].core_frequency * 1000;
>      ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
> -                   scaling_available_frequencies, op->u.get_para.freq_num);
> -    xfree(scaling_available_frequencies);
> +                        data, op->u.get_para.freq_num) ?: ret;
> +
> +    xfree(data);
>      if ( ret )
>          return ret;
>  

Not altered by this patch, but `ret` is bogus here.

It's the number of bytes not copied, and needs transforming into -EFAULT
here and later.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 13:58:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 13:58:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926510.1329347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx4nb-00030X-7O; Tue, 25 Mar 2025 13:58:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926510.1329347; Tue, 25 Mar 2025 13:58: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 1tx4nb-00030Q-4b; Tue, 25 Mar 2025 13:58:35 +0000
Received: by outflank-mailman (input) for mailman id 926510;
 Tue, 25 Mar 2025 13:58: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=Gb8l=WM=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tx4nZ-00030K-8k
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 13:58:33 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20606.outbound.protection.outlook.com
 [2a01:111:f403:2009::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b2bf6fd-0981-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 14:58:30 +0100 (CET)
Received: from BN9P220CA0011.NAMP220.PROD.OUTLOOK.COM (2603:10b6:408:13e::16)
 by IA0PR12MB8085.namprd12.prod.outlook.com (2603:10b6:208:400::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 13:58:25 +0000
Received: from MN1PEPF0000F0E0.namprd04.prod.outlook.com
 (2603:10b6:408:13e:cafe::fd) by BN9P220CA0011.outlook.office365.com
 (2603:10b6:408:13e::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Tue,
 25 Mar 2025 13:58:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000F0E0.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 13:58:24 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 25 Mar
 2025 08:58:24 -0500
Received: from [172.22.20.237] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 08:58:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b2bf6fd-0981-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gk2Pd68if4EDPZ3H/nwDMJh/uIQgeYmgpDfRt071L4LDX9h3nh4syRUlzd3mjOp/wM8o6HymR4HSPw9XeRhnDt7YNVS7QTQ73vO1+0faurDdmnhSBm1r7hWPDJUJ/Uch33d+L2eswqUTrXIlslmNK7GYEnXZYXk+rlehOrzT687ofF6b68h0ZWrCSj740nnz/amJdeDGDMrwKr3pi0Lt+pW08MhJnVwaEOXToFUne7W0154dxAXWFmnyINosBxQGuLawdgzOQBXz3xV6JKIfA6MEPSy4su1svOTbZGd3Uq4lKFNm/5hDCUU5p13iIVEv1eZR0qVzWBGwDNlr+jtqcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eUMPZCTEFXblxCYkyJrC1VgNbVD1w51DI+hmhmSZaH4=;
 b=ePwJ6nNdCBPCHJ+C4tM4K7KEZyWPnMYozX98zDuXBnszVe4PFpYSaNQw31OinJFSGpX3j3+EIUw0pAjsGFY11TguGdPtLB91jMUCcCxyayJAKknn1Q9rHo+3U7wMT19KX/FKdTosFDe2Pq/yCiNBVif7cKQ5c8Fqcbupd0D+MNDcVUfayWuIoSlIpfSZEZmK3LootGiPDmwHAnenADTR9uwAUwo5SlysaGNW2dgMa7jWwhiDuH2teBC/0xHMDu5fR2hApG1U/RMYX08cSi0VYoc9bi0zMN2MIYvGWJZ9dNNzm3rNJRLlTVL1+dK/gu3Yo5dcoxU4nBFpHg5B6fec5Q==
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=eUMPZCTEFXblxCYkyJrC1VgNbVD1w51DI+hmhmSZaH4=;
 b=brM6+/1WU8uxCAN8nKq6cY/d5RHZ8TwnKFRNmGLCcibMiCWxeWmCvR+8a+Dmp2MTOw285EGxgj9QgPST9v9nrgullZfYJyAoYpslM+rMfNGddohUP+1DbvZPCmWJmiUbXZdfg9dcVqlVUgRi/UB6LLhOGTVLOaq8JY78FNTYr1M=
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=SATLEXMB04.amd.com; pr=C
Message-ID: <c0f64c48-7284-4534-a861-4d6f6fa6c61d@amd.com>
Date: Tue, 25 Mar 2025 09:58:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/15] xen/x86: introduce a new amd cppc driver for
 cpufreq scaling
To: Jan Beulich <jbeulich@suse.com>, Penny Zheng <Penny.Zheng@amd.com>
CC: <ray.huang@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>, Jason Andryuk <jandryuk@gmail.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-10-Penny.Zheng@amd.com>
 <4fe44e49-f55d-4d2a-ac02-538038e9128c@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <4fe44e49-f55d-4d2a-ac02-538038e9128c@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: MN1PEPF0000F0E0:EE_|IA0PR12MB8085:EE_
X-MS-Office365-Filtering-Correlation-Id: a974c17c-9964-4fd3-6bf9-08dd6ba51c8f
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?UlVvUmxlZlR5OUZxYm9NajhWU1FWVFRxMTY4dDFmZUgvWUUyZTRwTjNQVTBN?=
 =?utf-8?B?Z2lZdk5VZmJLZS9YM1RodUcwdHUrYjArUVJqTkhmV3psMk9pRGV3djQwMDZL?=
 =?utf-8?B?YUt4SEdvRkpJWm92QmRvbW1BbGNuM1YxTGZ3YUdad3dsNXRHMDFFTWQxRGtP?=
 =?utf-8?B?VXVueW91N2lPWVh4MWlCaHRkY0ZCanRWY0VCeFI0RFpNOTZLUmZPbnYwaXZq?=
 =?utf-8?B?TXhoUSt0aEJRbm85WE1tSE1KUHpxRFRFSUI4QTU5M1RzQU04S052Yk1MUkhY?=
 =?utf-8?B?THFEWnRWK2tyTzNzMmZGMkNnWmxORnNjckw3aXZBU0U2WGtZNGk5NlkvUFk5?=
 =?utf-8?B?Q24yTGlVaUc2SkdndHI4OUlLWTYxR05JQ2hBdXJrWVlnblFWcGhWQ0R6eDgy?=
 =?utf-8?B?R2lHMW1WUVo2K29vMlZVNmhTdVA0cGZLdDVEVGNQNFpRa1JuZnZnOGVFQUEv?=
 =?utf-8?B?R1NhNXBmcmNjUnVudEhBVnFJeGVzKys5VldkMjErR3BKeGwvSTliOTNUUEVM?=
 =?utf-8?B?N0wvSkpzMjUvbGIwT0dKVUg0ZGhsOStjLzNQZ0REdk03UktIazcrNHNQNmxa?=
 =?utf-8?B?dGNRMkdGQlIyVHFYdHJDWE1TaDB2QlgwS1BaUmR4Z2VRUEt2VDdZcVZZRjF4?=
 =?utf-8?B?RFAweFE3enBianl3T09tdVZteVhWUVZlQmF0VDJMQ3g3T3NZek54RVhKV3Fs?=
 =?utf-8?B?WGswQXZ6ajNlelpYcGhRNUJudFFzZlovT3F2YWdVY3p0VUVTVUoyczBCRjFI?=
 =?utf-8?B?bHNDTTRSMUV6amFJaHNadDYvMkdmT1VZQ2hwQng2SnMycVV3WWEyUDNndnBq?=
 =?utf-8?B?Q1R2bkZrY0VzTnpUWFFTZWlzTTBvV3M3M2NmdkRRVThBUGRhMHhxOENvNk5M?=
 =?utf-8?B?RDZKSkFHYVlKSUY2bC9ZaU50aGp2c1F3R0hWRUdjS2hTQ1JXNTZtV2ROYjQw?=
 =?utf-8?B?NklXNlEvS0NjSTZhV3VPc3J5cVFReitvZ2c3VlFrZXJZV3JXeVM1QWE1cGtH?=
 =?utf-8?B?aWlvUnZWMnJxMnphWnJNQ1NKVFNTeUdxcGZhS3JVUWdpTmJqMmFETzZhK1A4?=
 =?utf-8?B?Q2RXV2pBYytlL0lTN1Bvd2k2b2lLN2ovWVNzT3I0Q0EvZ0pxQ0pYQXBUUGJi?=
 =?utf-8?B?d1J5TnIycCthVXhxZ2dVcDYzNW9hdXRoR2VlWmJHYk9mb3I1a0p4R0tGQ3hr?=
 =?utf-8?B?NUovb1lpVEJ3OE5pTk5qKzNNNFdQN2FOZEVPT1lFdVpNSXJLWXU1SnBDWWl5?=
 =?utf-8?B?RWIvSXRNRFY0cUJubjBjYVZuRUllblgxS1NicTdadkxMbUZKYUgxU241UldM?=
 =?utf-8?B?QVNISkdKVWpuTzd0czNVL3pHTTRyNWZDbGhZMFJqSUV6UGtKcnZYZmxaanU0?=
 =?utf-8?B?VGdTbk95S21samVzdkZNWWtIUEwrNHBUbzJFSDYwbDhJZWpQRmVVSkVvVm5l?=
 =?utf-8?B?bWRXbTVRNDFEWEwyS2hYZmtWb0hyM215VkNGeFUrdk1rMlI5ZXY3TzE0blFx?=
 =?utf-8?B?N2M2REcxeEltUUtXelNWTFRSSVFyTFM1K2V0VW1CbldMOUFmQTJ4am1WZ0Ur?=
 =?utf-8?B?bnNoUUd4dTdYWlo4VE45SVJuUFplSGxIdU1PY012OStDTWdnMU16c3dhcVlW?=
 =?utf-8?B?dTFKN3NjTWcxeTd6QnQ0a1N5N0J3SGRwbktJMktBczBwUUd0Q0NQNnJBN3hH?=
 =?utf-8?B?UjZ2ak5COXZXNlBaTTZVSkNPYTBnNXF1ZS9JeUVtbEg3VHRQNkpPaDF0SUs0?=
 =?utf-8?B?RmU1YktGTEtidVVuYnhrWllDTzVGaGtkWG9ScXdVaEVZS21uWnhMYTRXeGJV?=
 =?utf-8?B?UktSVU8razQzZ0dHVXlrSkxqY0tidnpCYlRvdy9YcjNrSjdhcW83c2ppeTUw?=
 =?utf-8?B?STl5MzdNS3FMM3NqWE1YZkd2Wk1Qb1NJWXFKR3JDVC9BaFc1OG5Ja0dSU1RL?=
 =?utf-8?B?cWpZRU0wOGhldklhMnhzWnJWdURqSE9JcCs5TDU4a3NzcEozVTRtcFhlTDlu?=
 =?utf-8?Q?8eVmC9aS0GGxy1QTV3p+EEi3eqaFaQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 25 Mar 2025 13:58:24.8946
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a974c17c-9964-4fd3-6bf9-08dd6ba51c8f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E0.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8085

On 2025-03-25 05:57, Jan Beulich wrote:
> On 06.03.2025 09:39, Penny Zheng wrote:

>> +static int cf_check amd_cppc_cpufreq_target(struct cpufreq_policy *policy,
>> +                                            unsigned int target_freq,
>> +                                            unsigned int relation)
>> +{
>> +    unsigned int cpu = policy->cpu;
>> +    const struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
>> +    uint8_t des_perf;
>> +    int res;
>> +
>> +    if ( unlikely(!target_freq) )
>> +        return 0;
> 
> Checking other *_cpufreq_target() functions, none would silently ignore
> a zero input. (HWP's ignores the input altogether though; Cc-ing Jason
> for possible clarification: I would have expected this driver here and
> the HWP one to be similar in this regard.)

Yes, for HWP, the target and relation are ignored.  All control is done 
by writing MSR_HWP_REQUEST which are "continuous, abstract, unit-less 
performance scale" values.  Those are applied by set_hwp_para() from 
`xenpm set-cpufreq-cppc`.

I think the difference is that this CPPC driver supports both autonomous 
and active mode.  The HWP driver I wrote only supports the equivalent of 
autonomous mode - write the MSR and let the processor figure it out.

I think Penny's implementation also uses the existing governors, whereas 
HWP only uses the dedicated hwp_governor.

Hopefully that gives some context.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 14:00:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 14:00:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926518.1329358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx4pI-0004W3-Is; Tue, 25 Mar 2025 14:00:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926518.1329358; Tue, 25 Mar 2025 14:00: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 1tx4pI-0004Vw-Ft; Tue, 25 Mar 2025 14:00:20 +0000
Received: by outflank-mailman (input) for mailman id 926518;
 Tue, 25 Mar 2025 14:00: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx4pH-0004Vo-Dr
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 14:00:19 +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 7bcaeb76-0981-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 15:00:18 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso38759635e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 07:00: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-3997f995606sm13994650f8f.13.2025.03.25.07.00.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 07:00: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: 7bcaeb76-0981-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742911218; x=1743516018; 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=CqRrUcgdqpa64z35FDwApQhTUpYQYDxMlT5SzQsv32o=;
        b=Qf9OY1OHX0oaFs87c/N3EqGoL6Z89/fA+PDV2TDeL3+1X+f2cZX3StAwyEszZ3LiiS
         VHWLeZ9c5nZEWjO1alqX/GDQANY1LP8QggENH1WAabQEhjIS/y8YC67DpdVpRf7Lf5GF
         Ns4YaJyUOXuxoCGHjFhiosxNLKR7VnJlpFoa9mciZufzfZ7uDcJFTQbrz1sXttzC9kHS
         caSgF0KoTkTzXyd+MZBT/5ixWCydTz4udSmsAC36TtY4Seh40k4J2Ha1y0BPk0kitKaS
         ocHkhcqmBSg5NWYaj5pjtIzPA048NOt/34+y8RtsvEyJMDvERxBaYO7gCxERMYMgw1H3
         El3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742911218; x=1743516018;
        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=CqRrUcgdqpa64z35FDwApQhTUpYQYDxMlT5SzQsv32o=;
        b=Dw0ZeIEFwIo7OTA6qTvj+dnt9EFDNPk9Tm4hojS46aa97cI7y1TtOy6+o8MuXzsMNp
         H/b8+gjgbdiivPVwS6gxj6zobIgxSwAnf53UUb9XZA2saiEM0TLuh4Ftev71qU18lmaK
         G/ezQcSd+tkT1zTiyt0uusahtdpfzqf5vdZZN+tyUpx6qxyGvS+9FJ72ixW5+M2Q++ws
         dJ9TUOOWCJihXoyiIaHc7fmXeStGH2RmHLUVsfoqTpBaAK0DvhzwS48ONEcmhhbJ1eMR
         AycG7DOa+wuJAZjL4CmfoYBTUdxzTsgXBxVw18ZVexuhMhmvd/zZ6BEXnC38RY1CX4i1
         ol0g==
X-Forwarded-Encrypted: i=1; AJvYcCVqTctbZxZXNFVazSdKJ1LJlGq0qZsUw9UsVumnqH/7fdjsKozd1IYOq6IY9AjBs7N6wXvb3jxed0A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxlxS/lUcU6tjVDH1/AFLWqe9HTEJQUI11MD3C6UOjJf1A4SWHB
	eO9EoSE6jM2f4Dj/dJtYFGFFISQX9LzPnBpDXWQtb0yMPoR323pW7I7x7bdZ0Q==
X-Gm-Gg: ASbGncty9ZZzi4FCtCoZwHS6225rXxzIOZ6Ix57xp+ynIXXCJRS4KE2YjGGngW2DHRx
	MvqED7veufebBxwHB8z/jazDaoPTfoqjai3Lx3lld54RJJwUeZwuuF3vsi4K7kPvrRVEz+RX22G
	U52tlo8XUi3PG5/qNJPyaKkP7XlqupWkO0fV64s7GxFZHE8wqq7pdCXAYnHw0D/4nGOdLPjOlmC
	af6hBAJ5qWh87u2K/GlX76gf3PQNhiZW2E1v4sbh2jvUH3xBh0Isykfblho473WrPEBXVnowm9n
	gGGK7vQTjodRqscjAd2dHe4eoTGA815lQ3o8oW34otZp0BFoJxPF43lwzXNN00Zw3dS1sDLGpkx
	ZfOEqvKjAplEIjzf45GGSnKlm+odlxQ==
X-Google-Smtp-Source: AGHT+IGecjWzDYTjaW6CXjNDK6u3VWHzDjaj0LPgpnSD1knSRvqELlvbPlidk12dM6woDXpr2Farig==
X-Received: by 2002:a05:600c:1553:b0:43c:e7a7:1e76 with SMTP id 5b1f17b1804b1-43d509e373fmr139336685e9.1.1742911217504;
        Tue, 25 Mar 2025 07:00:17 -0700 (PDT)
Message-ID: <6e252e58-d589-41ba-87ba-d71ef0b04d73@suse.com>
Date: Tue, 25 Mar 2025 15:00:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/pmstat: fold two allocations in get_cpufreq_para()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Penny Zheng <Penny.Zheng@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b2f1d0dc-54b0-4520-b4b6-3a1892662e53@suse.com>
 <31635ea1-cac9-4a5e-a4d3-2349d2bfb942@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: <31635ea1-cac9-4a5e-a4d3-2349d2bfb942@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 14:52, Andrew Cooper wrote:
> On 25/03/2025 12:53 pm, Jan Beulich wrote:
>> There's little point in allocation two uint32_t[] arrays separately.
>> We'll need the bigger of the two anyway, and hence we can use that
>> bigger one also for transiently storing the smaller number of items.
>>
>> While there also drop j (we can use i twice) and adjust the type of
>> the remaining two variables on that line.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Wow this function is a mess.
> 
> It is an improvement, so Acked-by: Andrew Cooper
> <andrew.cooper3@citrix.com>,

Thanks.

> but the allocations could be removed
> entirely by restructuring the logic some more.

Perhaps.

> Also, one extra observation.
> 
>>
>> --- a/xen/drivers/acpi/pmstat.c
>> +++ b/xen/drivers/acpi/pmstat.c
>> @@ -193,11 +193,10 @@ static int get_cpufreq_para(struct xen_s
>>      const struct processor_pminfo *pmpt;
>>      struct cpufreq_policy *policy;
>>      uint32_t gov_num = 0;
>> -    uint32_t *affected_cpus;
>> -    uint32_t *scaling_available_frequencies;
>> +    uint32_t *data;
>>      char     *scaling_available_governors;
>>      struct list_head *pos;
>> -    uint32_t cpu, i, j = 0;
>> +    unsigned int cpu, i = 0;
>>  
>>      pmpt = processor_pminfo[op->cpuid];
>>      policy = per_cpu(cpufreq_cpu_policy, op->cpuid);
>> @@ -219,25 +218,22 @@ static int get_cpufreq_para(struct xen_s
>>          return -EAGAIN;
>>      }
>>  
>> -    if ( !(affected_cpus = xzalloc_array(uint32_t, op->u.get_para.cpu_num)) )
>> +    if ( !(data = xzalloc_array(uint32_t,
>> +                                max(op->u.get_para.cpu_num,
>> +                                    op->u.get_para.freq_num))) )
>>          return -ENOMEM;
>> +
>>      for_each_cpu(cpu, policy->cpus)
>> -        affected_cpus[j++] = cpu;
>> +        data[i++] = cpu;
>>      ret = copy_to_guest(op->u.get_para.affected_cpus,
>> -                       affected_cpus, op->u.get_para.cpu_num);
>> -    xfree(affected_cpus);
>> -    if ( ret )
>> -        return ret;
>> +                        data, op->u.get_para.cpu_num);
>>  
>> -    if ( !(scaling_available_frequencies =
>> -           xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
>> -        return -ENOMEM;
>>      for ( i = 0; i < op->u.get_para.freq_num; i++ )
>> -        scaling_available_frequencies[i] =
>> -                        pmpt->perf.states[i].core_frequency * 1000;
>> +        data[i] = pmpt->perf.states[i].core_frequency * 1000;
>>      ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
>> -                   scaling_available_frequencies, op->u.get_para.freq_num);
>> -    xfree(scaling_available_frequencies);
>> +                        data, op->u.get_para.freq_num) ?: ret;
>> +
>> +    xfree(data);
>>      if ( ret )
>>          return ret;
>>  
> 
> Not altered by this patch, but `ret` is bogus here.
> 
> It's the number of bytes not copied, and needs transforming into -EFAULT
> here and later.

Oh, right - I noticed this when making the patch, then forgot again. I can
make another patch, unless you have one in the works already.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 14:06:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 14:06:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926532.1329368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx4vL-0006IN-AO; Tue, 25 Mar 2025 14:06:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926532.1329368; Tue, 25 Mar 2025 14:06: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 1tx4vL-0006IG-7O; Tue, 25 Mar 2025 14:06:35 +0000
Received: by outflank-mailman (input) for mailman id 926532;
 Tue, 25 Mar 2025 14:06: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx4vJ-0006I8-MT
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 14:06:33 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5af49aa1-0982-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 15:06:32 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-549644ae382so7064004e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 07:06:32 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d6ddf2974sm15089925e9.0.2025.03.25.07.01.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 07:01: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: 5af49aa1-0982-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742911592; x=1743516392; 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=cC/c6pwFIt9FzZ0w0vk6GdMd9YSlqqiv9sspJFqJhHE=;
        b=HoPXzz6B9kn/T5EFCUSZQGN6EQ9B0REpBKVgguwlcUduu9v1wNdd6sx883XD5Gmf/1
         KWK5KoUEVsHnpp8uZUm8g1Wm8nR7MOSJ91C/Swcv12hxMyUZ7oOfzkv6SXjb/E2lkxD7
         68T3YtJEXsXysnQArcf/nvxHLNiEp9QT5Kc30=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742911592; x=1743516392;
        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=cC/c6pwFIt9FzZ0w0vk6GdMd9YSlqqiv9sspJFqJhHE=;
        b=n0uRTAchCQHsEA2VU2kKzkxf+rfyaOK0Zu7HcGuPH3Xe58UdizC6cYwDA5fEq4oTNp
         4SVBKC54a7ErZeGsEXC+l7Xk5cgOBIpgkbx420lb2vzaM2W3SNEsw+wzJItsnRL9+Eiv
         PAOD3tIfBkTu4hupxewq5DNvx44Zj3mPve68VchG8mG67CXSNSASMDCz2mye+bn6c/NT
         2kW9akLSkhbcqeizFGNQwIOxYM9j7JGrmhb0uIqz5Q17W16VKPPfvjoB6wc3jOvVX7/M
         Zo5tQUPDhZ8WCKDA8AEHL4WYfl13daXlpIRxcscQQbw2/xS4q3XNlBIhmhLwZKClnMxU
         SU3g==
X-Forwarded-Encrypted: i=1; AJvYcCWBaTYA6Afqq7SmKukrwz+4OABS10ficwFnKQvUqWY0NTkmMzV/H7L222h6YQ7MYox12g3qogu/5kA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxtP1G8K8CYxuforKLvH4Jyv4n5dsfyVmWiebHD2Qhf2zOm2eyU
	VEXr+QSFV2BIEvm18q2hk5lPfPhLKwlLs8FJJadPXqX9sk+nuTP10XHEwvaF/1GgGkn172jt+0m
	YHB0=
X-Gm-Gg: ASbGncvTw6lCs49qTfAirtLXVgmviXIyp1dkdu35OyO0pDKHv27tRcQti3WLKER6hK/
	SscFWEpqJkit74CmYJxlIIGl/PdhkYBkeX3CIE+MbaLgC0vJHJKiU6h0TkEiMEYe3BmVM9pcMJj
	Mi0vGOD3OfxdircGgN7R5eZ+DS0BfWicGprpAHfYAuze+oQrz/naGQXNETvrEmT5eRdMb+PZRfW
	HtzIEmtzsgjmpT/TXxgnX6A76sx1QMpeV3yazNYj8LBxHr7Lo1udWwKZ9wGxQy6GGZCRnX+yLPm
	Pt9eqD6hEogfKOldYJm/eHvAkDngsNcOelxevqueRz1e9RMiYM+0fo0x9ygiOKhxlKd7BoQt1r8
	324J0exYKmQ==
X-Google-Smtp-Source: AGHT+IEVK6Pud4/ukel0usRyIb8cOiva6CPSma9jPt7pAWvcg+66J6Mm9h0e7JcIlVOA4InWYFSocA==
X-Received: by 2002:a05:600c:4686:b0:434:fa55:eb56 with SMTP id 5b1f17b1804b1-43d509ee23dmr165651685e9.7.1742911290412;
        Tue, 25 Mar 2025 07:01:30 -0700 (PDT)
Message-ID: <25d90d94-b151-48ef-824a-a72c16a45647@citrix.com>
Date: Tue, 25 Mar 2025 14:01:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/pmstat: fold two allocations in get_cpufreq_para()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Penny Zheng <Penny.Zheng@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b2f1d0dc-54b0-4520-b4b6-3a1892662e53@suse.com>
 <31635ea1-cac9-4a5e-a4d3-2349d2bfb942@citrix.com>
 <6e252e58-d589-41ba-87ba-d71ef0b04d73@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: <6e252e58-d589-41ba-87ba-d71ef0b04d73@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/03/2025 2:00 pm, Jan Beulich wrote:
> On 25.03.2025 14:52, Andrew Cooper wrote:
>> On 25/03/2025 12:53 pm, Jan Beulich wrote:
>>> --- a/xen/drivers/acpi/pmstat.c
>>> +++ b/xen/drivers/acpi/pmstat.c
>>> @@ -219,25 +218,22 @@ static int get_cpufreq_para(struct xen_s
>>>          return -EAGAIN;
>>>      }
>>>  
>>> -    if ( !(affected_cpus = xzalloc_array(uint32_t, op->u.get_para.cpu_num)) )
>>> +    if ( !(data = xzalloc_array(uint32_t,
>>> +                                max(op->u.get_para.cpu_num,
>>> +                                    op->u.get_para.freq_num))) )
>>>          return -ENOMEM;
>>> +
>>>      for_each_cpu(cpu, policy->cpus)
>>> -        affected_cpus[j++] = cpu;
>>> +        data[i++] = cpu;
>>>      ret = copy_to_guest(op->u.get_para.affected_cpus,
>>> -                       affected_cpus, op->u.get_para.cpu_num);
>>> -    xfree(affected_cpus);
>>> -    if ( ret )
>>> -        return ret;
>>> +                        data, op->u.get_para.cpu_num);
>>>  
>>> -    if ( !(scaling_available_frequencies =
>>> -           xzalloc_array(uint32_t, op->u.get_para.freq_num)) )
>>> -        return -ENOMEM;
>>>      for ( i = 0; i < op->u.get_para.freq_num; i++ )
>>> -        scaling_available_frequencies[i] =
>>> -                        pmpt->perf.states[i].core_frequency * 1000;
>>> +        data[i] = pmpt->perf.states[i].core_frequency * 1000;
>>>      ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
>>> -                   scaling_available_frequencies, op->u.get_para.freq_num);
>>> -    xfree(scaling_available_frequencies);
>>> +                        data, op->u.get_para.freq_num) ?: ret;
>>> +
>>> +    xfree(data);
>>>      if ( ret )
>>>          return ret;
>>>  
>> Not altered by this patch, but `ret` is bogus here.
>>
>> It's the number of bytes not copied, and needs transforming into -EFAULT
>> here and later.
> Oh, right - I noticed this when making the patch, then forgot again. I can
> make another patch, unless you have one in the works already.

I've not started one.Â  Please go ahead.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 14:10:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 14:10:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926541.1329378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx4zU-0000Me-RB; Tue, 25 Mar 2025 14:10:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926541.1329378; Tue, 25 Mar 2025 14:10: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 1tx4zU-0000MX-NZ; Tue, 25 Mar 2025 14:10:52 +0000
Received: by outflank-mailman (input) for mailman id 926541;
 Tue, 25 Mar 2025 14:10: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=7VIv=WM=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tx4zT-0000CY-FE
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 14:10:51 +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 f3f77cc9-0982-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 15:10:49 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so758089666b.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 07:10:49 -0700 (PDT)
Received: from localhost ([46.149.103.15]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efd78e0csm871074966b.175.2025.03.25.07.10.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 07:10: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: f3f77cc9-0982-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742911849; x=1743516649; darn=lists.xenproject.org;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WM+wJdnCY8xldekOqKb7GHcXyDh9p4f/i2hWlanZigg=;
        b=X7sQumq0Y7imiheI7Oq8RWLH1T7zHS3cXEN2WNhgLVrMwT/BhL04nPCe19oLzytjVc
         ViXRXUu5JULNt2e2UwZWZ55ESDRKv0YEzik3+c/v8uQyBdqx2Ocg3SYk9JgKC6naGWrt
         3z3g29uZSCoZSzHYW022PkbL6K4y3fwMhYtYM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742911849; x=1743516649;
        h=in-reply-to:references:cc:to:from:subject:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=WM+wJdnCY8xldekOqKb7GHcXyDh9p4f/i2hWlanZigg=;
        b=OA25KMNI/HniPsNa04AFgXvvSqpK0Ba0hEIc6wEO+lgR82IibLpw5sQK0HNWssAijr
         luZEMsj6IjmaxMTl3UcSfgNEdn+euZ0+avztnRqUm6wprxcb+cUU2HMOzxZ2LWW+2tAY
         HgAVQD9rpopcRL2LwKbJIllOxQdD6X07d+8tbGwmjQl3MqngMhKmAg/LPjgQS/VSiNqT
         MmfPk3/caPtZWX9JcGTyNONW6iGk1YNZIHjL7EbYaJkAg0BKX5DVpC5hFUZh58s82HVE
         Q9R+1xZ5YbCwei4GB56eMPmyyI02sOwvMzwkFPcaNILwPA2QewRRpnVtDKacktrrpVOa
         eHyg==
X-Forwarded-Encrypted: i=1; AJvYcCWv61p55Bm30butUVXgWMQ8Ndio+WQzS7vZ0sR/+Ti/GdXj++PKQrVYn5ZCR7AKafG746+mjW+BRlw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXOUcy3gxQbacbc+7Yf6rrKmxlbMRDCniybjWPE4W+P0lor/8o
	eQ574ddN+fIJlUqoJpf9j5iL+jJnF6/jx9vhtUkXtqyTlA9nbexq9ugkk1cKnqw=
X-Gm-Gg: ASbGnct25KOMeIfZLf1EjSYDawmQUgmKahvc0u3GObD0DS2NtHE/3x5jDtOSB28JvpE
	UOCdMY+zZ0/uxl2EcXCr8IFtfUNKCdio68VbbguTT7FApX7+4Y83Ui+lbjbcMjrFcm4yKaO64ns
	ebRxtw/2SRzrDWaJJxZDtEj9ZOSmCF7tZb4lAY8vBvJVKdU1sMYYaxbKtkThRM7ka8a0715waw4
	mLT8SGYUI4zNV5X3ZCVolS39YE+CFoYsmQ3GWbsH8g7oOGnMo4LF2an5AhUCLXVcAj/sX0Qb2au
	bPdvhf8GzReY9GakPyDH8kAwRlmTOTGMfljzH0YIZ1mMr5TRJac=
X-Google-Smtp-Source: AGHT+IGEj6CO7sCIEoN+U0iq7I97j4CkWd4oNA+NxZnJyjS8vShWFlE8/K0yOFeMCzZTeb1SGOzG/w==
X-Received: by 2002:a17:907:86a7:b0:ac2:b1e2:4b85 with SMTP id a640c23a62f3a-ac3f20bbdebmr1810462366b.3.1742911848620;
        Tue, 25 Mar 2025 07:10:48 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Tue, 25 Mar 2025 14:10:46 +0000
Message-Id: <D8PEOOSAHKDM.24T29QJBK3MUN@cloud.com>
Subject: Re: [PATCH] tools/arm: Fix nr_spis handling v2
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Orzel, Michal" <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Juergen Gross"
 <jgross@suse.com>, "Luca Fancellu" <luca.fancellu@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>,
 "Bertrand Marquis" <bertrand.marquis@arm.com>
X-Mailer: aerc 0.18.2
References: <20250318090013.100823-1-michal.orzel@amd.com>
 <D8KAQ3MH52YA.1G12M32NDFRJW@cloud.com>
 <17608388-b900-45d2-bb74-8eec04ab1f76@amd.com>
 <D8OLLCXYKINR.3HD274I110XCF@cloud.com>
 <66815d0d-9330-468e-b601-cb8aa6be1c36@amd.com>
In-Reply-To: <66815d0d-9330-468e-b601-cb8aa6be1c36@amd.com>

On Mon Mar 24, 2025 at 3:31 PM GMT, Michal Orzel wrote:
>
>
> On 24/03/2025 16:22, Alejandro Vallejo wrote:
> >=20
> >=20
> > On Mon Mar 24, 2025 at 1:08 PM GMT, Michal Orzel wrote:
> >>
> >>
> >> On 19/03/2025 15:01, Alejandro Vallejo wrote:
> >>>
> >>> Doesn't this regenerate the golang bindings?
> >> FYI, it does not. The bindings are already there for NrSpis and defaul=
t value is
> >> does not result in a change (for verification I checked max_grant_fram=
es that
> >> uses LIBXL_MAX_GRANT_DEFAULT).
> >>
> >> ~Michal
> >=20
> > Oh, good then. Though it does raise the (completely separate) question =
of how
> > correct those bindings might be if they ignore the IDL's default values=
... :/
> Why ignore. AFAICS libxl_domain_build_info_init is called there to grab d=
efault
> values.
>
> ~Michal

Oh, so the default populator is itself autogenerated C with a golang bindin=
g
rather than native golang. Fair enough. The more you learn.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 14:20:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 14:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926553.1329388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx58h-00021a-LX; Tue, 25 Mar 2025 14:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926553.1329388; Tue, 25 Mar 2025 14:20: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 1tx58h-00021T-IY; Tue, 25 Mar 2025 14:20:23 +0000
Received: by outflank-mailman (input) for mailman id 926553;
 Tue, 25 Mar 2025 14: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx58g-0001Qk-2p
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 14:20:22 +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 492206a5-0984-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 15:20:21 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso4810420f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 07:20:21 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9efc90sm14057266f8f.98.2025.03.25.07.20.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 07:20: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: 492206a5-0984-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742912421; x=1743517221; 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=Vy08LQ5dd4JW1w0mqv3BG4JlS6pHNQpzUUnNIgYKP64=;
        b=FNo9MtkoVzMlh1gg5AeXp67HvqSV2xEPPuXTDjFvk5+jJVb2FGnQH59+eZvaPcFw+K
         t95DxMNczcDHvekj8SXkzGuUiMAg4vfZxKVG+OR2RYzYVoKyScZr6PlykInkxd+jOOKT
         WIEVbQMU4juRORQcw6mXL4PZN93vJ/ypLjmYs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742912421; x=1743517221;
        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=Vy08LQ5dd4JW1w0mqv3BG4JlS6pHNQpzUUnNIgYKP64=;
        b=ELF/KVdaZirN5Ciy/pcJoXVkEMlggjoMmIrexMdlSvr/UtmBXnKdIjCNv9iLJ3zY8N
         PbEneU/VkQkBA0qcse2Qz2+thc5r401e59t8DxdqcD38/GcLiO9myRFG9iMFgZtH8jYr
         HqAMpabfnUoVfPfMnLURF1wm5RND/I1kIULxf2Iq026LC7AagU6G2zXoklYQSRq81IgD
         xjVjV263Oy1KNfSmmNohV7dm66/WIPcToWruSjRmYzcf5LEnDL9AE7wJIqdGjjZf022d
         JNOh2q4V5vOLlfcUKO5mWyoxWmfNY6vPyeK081xSOOOkzHRf57u9/Ttyn0r9GOWO5O1K
         BeXg==
X-Forwarded-Encrypted: i=1; AJvYcCU7qtttApWiDqG2/Nj61WprsvXW+8OzMLDoqA9QVR9Uf6V/J15FSW/MpImkx+BcPKztGn50dVet53M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YysICxb9g/4WgFIok5fURIGEJCZWaN/EgDJvLsQ8HyjqYUPmRLp
	VO8ypLSOALpDXHXf21UIzgsL+85ey+cqvTdqwsAMrbNoY1IIR4dAyvMccuUPbec=
X-Gm-Gg: ASbGncsYVg1bNFzV0jjz74cZIs3Ntrz38qxWGR7fIlk6nA2+Bhc0XqIZ8Q8TyZzoITs
	wXvPj17c07KdVg3le2pnKAHhsbly8Ey9g2l2ngyyuEzk8V3tW+Fi0sbtKegemlXbj59ikQe8pjg
	YP476ny631oBmoN2zB7OHo01zrgStNYMQdHCRLVp9vExe3zDH6ipgHvYVdGpoBJjckC3FAU1h9H
	G9talmswlCR9o0laN3YGt+Y2bsPmNgMrSzweIt6DpDVrC75vwmW2Vbu57lTOgw4Um2TlxssvZwG
	A1ul/EfZz3q5RYqTj1QwwvTG8zmKtjqBkdH9bniCEmDfxXDkiH2k0ns4cjBNnd5H33K2MXdoViB
	Ofv1NKz7O2qaii44XJ7b9
X-Google-Smtp-Source: AGHT+IGNjam863VFTzeJWHYLjSD5RaUDDWfqprBKHaFZN9RzxpwpFIw30uMRXvwjVJ5sD4JwV9VA+w==
X-Received: by 2002:a5d:59a2:0:b0:38f:6287:6474 with SMTP id ffacd0b85a97d-3997f8fc43dmr15485393f8f.15.1742912421119;
        Tue, 25 Mar 2025 07:20:21 -0700 (PDT)
Message-ID: <fdab048e-3738-4e3a-8865-41af3180bf3c@citrix.com>
Date: Tue, 25 Mar 2025 14:20:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenpm: sanitize allocations in
 show_cpufreq_para_by_cpuid()
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>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jandryuk@gmail.com>, Penny Zheng <Penny.Zheng@amd.com>
References: <d1fca705-bfed-4370-a907-ca090dea58e5@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: <d1fca705-bfed-4370-a907-ca090dea58e5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/03/2025 12:51 pm, Jan Beulich wrote:
> malloc(), when passed zero size, may return NULL (the behavior is
> implementation defined).

More importantly, this is the Musl behaviour, so is how ~most of Gitlab
CI behaves.

>  Extend the ->gov_num check to the other two
> allocations as well.

I'm not sure what you mean by this.Â  Only one of these hunks has a
->gov_num check.

>  Don't chance then actually using a NULL in
> print_cpufreq_para().
>
> Fixes: 75e06d089d48 ("xenpm: add cpu frequency control interface, through which user can")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

The code change looks ok, so Acked-by: Andrew Cooper
<andrew.cooper3@citrix.com> but I'd prefer a clarified commit message.


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 14:30:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 14:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926562.1329398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx5Id-0005KI-IZ; Tue, 25 Mar 2025 14:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926562.1329398; Tue, 25 Mar 2025 14: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 1tx5Id-0005KB-Fo; Tue, 25 Mar 2025 14:30:39 +0000
Received: by outflank-mailman (input) for mailman id 926562;
 Tue, 25 Mar 2025 14:30: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx5Ic-0005CO-9g
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 14:30: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 b7e48aa6-0985-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 15:30:37 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso52626195e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 07:30: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-3997f9b4ce9sm14055331f8f.53.2025.03.25.07.30.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 07:30: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: b7e48aa6-0985-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742913036; x=1743517836; 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=4hiG0/x1QNvU/o/hrnR+dFzTICzDdY/BHx+voRbTg+Q=;
        b=OYq/KUibsOEMYIDuVaQZNg2PM/TZXZTaz5Y1kE66hIykGxh4emIJje1MDMcOBpHV/f
         7NgUCLNPnlIwLurlrAV3FOTJpBAyZM114T0PqcOKs/wWzYILhmpLU2HJ7mEeOSQzo7On
         QSMDsRK89bsqzqoOaLM9IRQwWQX0qHa9TJwtQWLO9mLy2lORfTpW6Q6PaA0ouALOtwE6
         6904scljc0dQ0mBCmFBcce52vs4VEh9bqNcYCiUxxNSINJoyDKa5riZBfpVrByADFLU/
         QeXsJYRzo7vrHar+ZuV5F9rgxxNxiZgwL5b5pto5rQphpZAjaTCf2eJtSMUh6pZ5WzjI
         qSwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742913036; x=1743517836;
        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=4hiG0/x1QNvU/o/hrnR+dFzTICzDdY/BHx+voRbTg+Q=;
        b=LrxBJDwpu44zDgMxdDlRZ1++J0r23aKEPi4UF1YPBH098y9IvwQpE5UxSD2scLk3JR
         w4KT1WwSX/hxt26j234kAIkNvyzFLK9rfqtECjf6u1e8+Fe7+/P9jsbVy9HRCeqBvMge
         WSD86BYX6Q9PRV1OckMgH4WknGDKOqjG4dzvOIkJca0R6SJjT0Sws/P0Cu3xdUqHdiDr
         C/BkuUs3FeSDPsW5Sre2MaC90qj24iwt8Nb/ok6Iy6eGgAOlewuNe0w/6ABAaG8Fb3Un
         roo+Pxd7n8tS+PCqDT2uOOz79hlN6SRXlbTLoNe9agQc+6rHIRDQNQ32sy10SniqIiVr
         IkIw==
X-Forwarded-Encrypted: i=1; AJvYcCUZ74SnHthOw1qgvJopVZ27e/dMFekzLtAjBsdFyCxWWFD5+UWTnbgxcZtolV66KkXLBvm5ZWf6ncA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+k1EK5l8jbLwlIfC/ueqzFO9zAT48Vdybtj5ITWCfxVXEjA7N
	uIVJMkXl0I3zOF2RenmeS/3h9bj6EaZark2d2p70KSg/DCXSk/GORUKvHJR6Lg==
X-Gm-Gg: ASbGncuPNL1yl4Dx2FivcEelwy3Eqq6rp2SWW8vWW87C20GEf3jvTG2TVLPvXheSMlO
	qAwMMia2IQ3lm7PsMASxMQvW6z3ISi5L3wlhEzeeNv9c9VgvXCzBsqpzqi3dx+l6mdtO2ZtbLDN
	A948h52v4INztSCHvcKl/JsaV0AsTQZBdcEdgbCAovymL6pvIDzCKZk5tq7LukuTR7sbKZM2Twz
	tepoYNyauLbRi41tPQbwEeg4zXou4Z1ZJOCIjbEPElFe/SxzY3fwFberg4iYuTLuu6xx+G29O06
	v3SIGn+hcAoZirlWlTPeFkIPrNOSurMH21u0u1LZfvwOMNWXP9jaML+8/jEUapCR1wKnW0WQnd3
	9t7g79oKnbyJi06p89/ak4DJUi1veww==
X-Google-Smtp-Source: AGHT+IGF+3NF/99eQR9pYjt11RJfg7+AfDLf0bYHSZYrPoNrvK6QSXw5Vl3zqc4BbZthOMSGabUwYw==
X-Received: by 2002:a05:600c:1ca0:b0:43c:fd72:f039 with SMTP id 5b1f17b1804b1-43d58c9a7b1mr136260545e9.11.1742913036353;
        Tue, 25 Mar 2025 07:30:36 -0700 (PDT)
Message-ID: <a2cbbd03-b91c-4d64-9392-7db46dc582be@suse.com>
Date: Tue, 25 Mar 2025 15:30:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenpm: sanitize allocations in
 show_cpufreq_para_by_cpuid()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jandryuk@gmail.com>, Penny Zheng <Penny.Zheng@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d1fca705-bfed-4370-a907-ca090dea58e5@suse.com>
 <fdab048e-3738-4e3a-8865-41af3180bf3c@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: <fdab048e-3738-4e3a-8865-41af3180bf3c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.03.2025 15:20, Andrew Cooper wrote:
> On 25/03/2025 12:51 pm, Jan Beulich wrote:
>> malloc(), when passed zero size, may return NULL (the behavior is
>> implementation defined).
> 
> More importantly, this is the Musl behaviour, so is how ~most of Gitlab
> CI behaves.
> 
>>  Extend the ->gov_num check to the other two
>> allocations as well.
> 
> I'm not sure what you mean by this.Â  Only one of these hunks has a
> ->gov_num check.

Not sure I see a better way of wording this: What I mean to say is that
the ->gov_num check that there is already is being replicated (with "gov"
replaced accordingly) to the other two places where similar allocations
happen. Maybe simply s/Extend/Mirror" would already help?

>>  Don't chance then actually using a NULL in
>> print_cpufreq_para().
>>
>> Fixes: 75e06d089d48 ("xenpm: add cpu frequency control interface, through which user can")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> The code change looks ok, so Acked-by: Andrew Cooper
> <andrew.cooper3@citrix.com> but I'd prefer a clarified commit message.

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 14:33:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 14:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926576.1329408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx5LB-00072V-2q; Tue, 25 Mar 2025 14:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926576.1329408; Tue, 25 Mar 2025 14: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 1tx5LA-00072O-VF; Tue, 25 Mar 2025 14:33:16 +0000
Received: by outflank-mailman (input) for mailman id 926576;
 Tue, 25 Mar 2025 14:33: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx5L9-000723-BU
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 14:33:15 +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 15c1cdd2-0986-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 15:33:14 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso51699295e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 07:33: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
 5b1f17b1804b1-43d43f55c99sm203795165e9.24.2025.03.25.07.33.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 07:33: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: 15c1cdd2-0986-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742913194; x=1743517994; 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=uNb/UcQUKuUNuqn7UqodJ2unX51sb4j+EH38k+212fE=;
        b=R3FzPnoMClid/cWJWRj4lwtrxQ4wDfTAuyS5Ncks4xiujrzKdJo/EkTQFosh1wMIXf
         Px6CVxkeFPqV3IeMuykqaHDum1Gq/nGxKJ/oVvjIMz4QawDQJbdSEzo+il3GfC+Py/or
         CRGXyj5TM+WCJgKJxVablw+XnKDytEuY5JohKyd7llb8+OxvaDDXd/tKjZ9UyjTKl1Hn
         9tSXx5RWnuukCEFQh1I8Ie+SGGM+yxkztav3mMESxhLLgvI7wbhXDeM445kpsL5Qe5nK
         McIT08wL7FbZWk6EWZZUhFgObH40xN3MmUY7VHqR6xsmybFaS+GAjcTEYSuCo2N9qGTY
         S3ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742913194; x=1743517994;
        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=uNb/UcQUKuUNuqn7UqodJ2unX51sb4j+EH38k+212fE=;
        b=Av5PxNOun8yvBmRq/lFt/QqM4ZtxVuoPNecxmNmkxwGw3oJReI1RNOVIpK/18VJ120
         qJ2lKFevX06rBc4Rt1XeuEDwFkq34jZIolfshV2GBn2szz81GVQS9J5/GQwid2W64gAK
         KspzfvsaRoKe6FkKdLCW/lDpX4LRQ+xFqIbE/tR8ErvFz4YDXnQ2bKGKtZG4lxcAUjXf
         7pG8VZwpSwesFFxZrj5PKjn1JpSPTfodxl3mE1T8pJdOCz6wIQ6aoMl8nCIGp491yAC7
         XEE363a7A66Nsay01Bio7SWNtoprzfVrFb5Uevc/iEnqyeClvpW7p2+wrOmRCKjLiIS8
         ajSw==
X-Forwarded-Encrypted: i=1; AJvYcCX0rloIg6ICWvEFNdG0M7D7GYsa4YfiMfJDaELSK8RcYZEmKJa/fjvNOUP8VBa22tEEjAVXgBIBacM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBzf+rjpW0C9lPnn/AK2MUhqrQhxvm3GhBiP+RVWeNCEygqb8s
	XbwL7GjQYa9qUXeS0qLZfPEBuPooUEAiU2bMc+5qdFIywaVSb/9sWoq6//WV0g==
X-Gm-Gg: ASbGnctecHy+2DJsUl1XZd52drw5RmkNCAR1mgtoaI+BLnrAheFMVPSbwQhY1r6ZlCv
	AHNzemGag5ASo34g57JD+zrSNWaHLWmjCg3OlVYk2zNXzDdqdfHeL3J1QQFUj8eSSjX+dqNyOEV
	QUGNwzpcAdSIs4Az+qTeUTWqEVQwQx0gyjt/b49+V7qoifm5b2dNglmuzFWi0fUHsoIL3Fi8R/K
	7E01+bPmJJQqFHzIBSC7CVzh28cdGkBZw2XpkW7Suc9PkevcxgcmuPrNAmoDZx+Swil8jP3goHc
	dzxuym/je3IL86wZeq/xDmEiGSG0GvPrc3p7RXZ7T+N+bJTB7vfT4q+ByGcFCaUukges5yO1FwQ
	z0X7L8nV7ES41jii9jKkpTwvUln0rwQ==
X-Google-Smtp-Source: AGHT+IG+xpKytnrknf8Bcfsgr2i4Ee6k2I5LXtLvJ16ombDiu0I9VVwURPEq9k1TmyzErxiE8Spkjw==
X-Received: by 2002:a05:600c:3c9e:b0:439:9424:1b70 with SMTP id 5b1f17b1804b1-43d50a4f8camr170412745e9.30.1742913193908;
        Tue, 25 Mar 2025 07:33:13 -0700 (PDT)
Message-ID: <441d92bc-713c-4a7f-9d7d-e17c73080f1a@suse.com>
Date: Tue, 25 Mar 2025 15:33:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenpm: sanitize allocations in
 show_cpufreq_para_by_cpuid()
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>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jandryuk@gmail.com>, Penny Zheng <Penny.Zheng@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d1fca705-bfed-4370-a907-ca090dea58e5@suse.com>
 <fdab048e-3738-4e3a-8865-41af3180bf3c@citrix.com>
 <a2cbbd03-b91c-4d64-9392-7db46dc582be@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: <a2cbbd03-b91c-4d64-9392-7db46dc582be@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.03.2025 15:30, Jan Beulich wrote:
> On 25.03.2025 15:20, Andrew Cooper wrote:
>> On 25/03/2025 12:51 pm, Jan Beulich wrote:
>>> malloc(), when passed zero size, may return NULL (the behavior is
>>> implementation defined).
>>
>> More importantly, this is the Musl behaviour, so is how ~most of Gitlab
>> CI behaves.
>>
>>>  Extend the ->gov_num check to the other two
>>> allocations as well.
>>
>> I'm not sure what you mean by this.Â  Only one of these hunks has a
>> ->gov_num check.
> 
> Not sure I see a better way of wording this: What I mean to say is that
> the ->gov_num check that there is already is being replicated (with "gov"
> replaced accordingly) to the other two places where similar allocations
> happen. Maybe simply s/Extend/Mirror" would already help?

Oh, and to clarify: The ->gov_num check mentioned isn't the one visible
in one of the hunks. It's entirely outside of patch context. It was put
there (for [now] questionable reasons by the HWP work).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 14:46:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 14:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926585.1329418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx5Xn-0001vu-3l; Tue, 25 Mar 2025 14:46:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926585.1329418; Tue, 25 Mar 2025 14:46: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 1tx5Xn-0001vn-0R; Tue, 25 Mar 2025 14:46:19 +0000
Received: by outflank-mailman (input) for mailman id 926585;
 Tue, 25 Mar 2025 14:46: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx5Xm-0001ve-Ab
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 14:46:18 +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 e83a3e70-0987-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 15:46:17 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5e5b56fc863so8415865a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 07:46:17 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efbdecedsm874414366b.140.2025.03.25.07.46.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 07:46: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: e83a3e70-0987-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742913976; x=1743518776; 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=ubfnu9zPadwWKnVhmyyBplAaK3Mwmaf0IF/mk+Bq8lQ=;
        b=a4Gpkk9wUgcQlFlk2Tf+4A70wothydI1fuQuAq3SXotK+4elOfQN343xC/neTk6wgd
         vk0KR/gT9uuNrzvrM07bAuJIWHJAd8kAZJsoZQfHvgJ/g+FqT/05iiQvchF3G1y47ort
         jBRbCkAzNurGPbdhdVwnVhJ5e/AQCcssKE3IXqq1Io7RAPY9wSG2NSzJQByZCH+Xq2eh
         SnryF9t1ohtUkccNOOiMjNQ1bai52CVYY5K/9h+rhODebXRrRmevcCStqeNfVq15Zh8f
         0w/Bg2VkGLUDsTUqXDVZXNCPaQXjBnEqwVDRGE9UqPv7gxwt12alTIXPABcNq4BSj/HA
         2Xuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742913976; x=1743518776;
        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=ubfnu9zPadwWKnVhmyyBplAaK3Mwmaf0IF/mk+Bq8lQ=;
        b=aiLvOLr8RHb6tKALXsZgzOm+f5NaPr4e5uA79vud4Mdkp9bxhBWzzMMcc/y3/Wwdzt
         bG++akoXmf2fYX2Q64+cBW2dLuGHY4k0LBfRYINrwRS05S68eQzheihDhm68bKZzSa5R
         Hjt2pD8c1GkF/FV+uXn6G/CXJhbsGa7Vp0iWSDVMafaFo6lSRPN0SZ/vE1JGQ2zEmEhs
         IEtMRC2BjUov85zPHJ80V6C/RHJsdOUfr5Ngln/RT6nCAzqBk0An8OBiDTfpQcdseMKd
         7ZBK+lkKmy4dIjRSGc3dHt2ellomdlanV59I+PH5cbc9gBW2T0TzX8GwueRj6Orl07Eq
         Y+WA==
X-Forwarded-Encrypted: i=1; AJvYcCUjh3UxgbB18mRmJldDwcqS8n+n3DrXQVbc3MWE7A3SpK8pLUSLP4iRFjNWDQj+krIsKVkXcKr2Bf4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YysM0i55slooExK0a3xGmNVp3Aj3IN09m7pB7K4cfZjiMlf/SXg
	kAbYpLASfbsyyVni3cXUAHq/NsKPIHmizvv5s/V2/fm+JYz1dVQ/
X-Gm-Gg: ASbGncte07Oqx4CEEY/v0aoSKkme6QYOXUBMJeoZpEAPnleuJGLgglVPSRU29Gahich
	l0ZCDsEZoXv70uryuitftpPpAvq1HqTaJXtRlnppRRpuOtaHt3KpT4TLIS9WIgTEOOKgTrGXO+W
	q/qpRU48MXyIqjdWG/YAiB7BMxjIOSogaYKGB3pkSy0vmKu7dbDKWCTU8R7V/XWRgmWJAXnONBB
	Hn+EeZR350Kasqn5RAs3cOtPfEkvqZWh2K1MQMo06CcXEP0ONYbbVoCTEAPyNS+r3ZUZBm0T/5Z
	1QfZfyLUEc0k9gMtOrAUbSPDsBPpv/R8xEcjsIcRKHkwei8DEAhQTM26pJ7RP/XIOaXrBShcTaC
	Nv5/FuMKQwWcTkOLm+LWu
X-Google-Smtp-Source: AGHT+IFIoljogbjmBLwLC2Yyucm4iCx4mjY8P6kVJBdLHhkpiIoEf6sahx7w0kGWsoXzBWItAn1uig==
X-Received: by 2002:a17:906:d542:b0:ac3:ed56:86dc with SMTP id a640c23a62f3a-ac3f22d527fmr1678852866b.31.1742913976099;
        Tue, 25 Mar 2025 07:46:16 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------jzrVTekTF7oCKnyBkz7fX39l"
Message-ID: <238a9b67-a4f3-4f97-9d13-11a35884be0b@gmail.com>
Date: Tue, 25 Mar 2025 15:46:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
 <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
 <ee8b8e09-9b0b-4757-989c-b7d81721c325@gmail.com>
 <3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com>
 <e6e64e58-a26a-44cc-b708-5bf510b041c8@gmail.com>
 <a6d511ec-38bc-4fad-9e08-462b7c10eac4@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <a6d511ec-38bc-4fad-9e08-462b7c10eac4@suse.com>

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


On 3/25/25 2:47 PM, Jan Beulich wrote:
> On 25.03.2025 14:02, Oleksii Kurochko wrote:
>> On 3/25/25 12:52 PM, Jan Beulich wrote:
>>> On 25.03.2025 12:48, Oleksii Kurochko wrote:
>>>> On 3/24/25 1:31 PM, Jan Beulich wrote:
>>>>> On 21.03.2025 17:17, Oleksii Kurochko wrote:
>>>>>> H provides additional instructions and CSRs that control the new stage of
>>>>>> address translation and support hosting a guest OS in virtual S-mode
>>>>>> (VS-mode).
>>>>>>
>>>>>> According to the Unprivileged Architecture (version 20240411) specification:
>>>>>> ```
>>>>>> Table 74 summarizes the standardized extension names. The table also defines
>>>>>> the canonical order in which extension names must appear in the name string,
>>>>>> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
>>>>>> RV32IMACV is legal, whereas RV32IMAVC is not.
>>>>>> ```
>>>>>> According to Table 74, the h extension is placed last in the one-letter
>>>>>> extensions name part of the ISA string.
>>>>>>
>>>>>> `h` is a standalone extension based on the patch [1] but it wasn't so
>>>>>> before.
>>>>>> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
>>>>>> and for that version it will be needed to encode H extensions instructions
>>>>>> explicitly by checking if __risv_h is defined.
>>>>> Leaving aside the typo, what is this about? There's no use of __riscv_h in
>>>>> the patch here, and ...
>>>> It is going to be used in future patches:https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32
>>> For this and ...
>>>
>>>>>> @@ -25,10 +24,13 @@ $(eval $(1) := \
>>>>>>     	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>>>>>     endef
>>>>>>     
>>>>>> +h-insn := "hfence.gvma"
>>>>>> +$(call check-extension,h)
>>>>> ... this, if it fails, will not have any effect on the build right now
>>>>> afaics.
>>>> No, it won't have any affect now as instruction from H extension isn't used now.
>>>> But it will beneededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/
>>>> and for p2m changes mentioned above.
>>> ... this both being future work, it might help if it could be made clear
>>> right here how things are going to work (with both gcc12 and up-to-date
>>> gcc).
>> I can update the commit message with the following:
>> ```
>> If 'H' extension is supported by compiler then __riscv_h will be defined by
>> compiler (for gcc version >= 13.1).
>> For gcc12 it will be needed to:
>> #ifdef __riscv_h
>>    asm volatile ("h extension instruction");
>> #else
>>    asm volatile ("|.insn ..."); #endif ```
> Okay, that's what I was concerned about. __riscv_h is a compiler indication.
> It means nothing about H extension insns being supported by the assembler
> (except perhaps for Clang's integrated one). The check-extension thing in
> the Makefile will actually check both in one go. Yet then the hfence.* insns
> have been in binutils since 2.38, i.e. pre-dating gcc12.

It is still needed to have or #ifdef-ing or workaround mentioned below ...

>
>> Or probably it will be easier not to ifdef-ing
>> everything with __riscv_h but just return back a workaround with the
>> following changes: ``` $ git diff diff --git a/xen/arch/riscv/arch.mk
>> b/xen/arch/riscv/arch.mk index f29ad332c1..3bd64e7e51 100644 ---
>> a/xen/arch/riscv/arch.mk +++ b/xen/arch/riscv/arch.mk @@ -24,13 +24,17
>> @@ $(eval $(1) := \ $(call as-insn,$(CC)
>> $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1))) endef -h-insn :=
>> "hfence.gvma" -$(call check-extension,h) +
>> +h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301,
>> hh, h) +h-extension-name-$(CONFIG_CC_IS_CLANG) := h +
>> +$(h-extension-name-y)-insn := "hfence.gvma" +$(call
>> check-extension,$(h-extension-name-y)) zihintpause-insn := "pause"
>> $(call check-extension,zihintpause) -extensions := $(h) $(zihintpause)
>> _zicsr_zifencei_zbb +extensions := $($(h-extension-name-y))
>> $(zihintpause) _zicsr_zifencei_zbb extensions := $(subst
>> $(space),,$(extensions)) ``` I prefer more a little bit the second
>> option with having the workaround for GCC version. ~ Oleksii |
> I fear this ended up unreadable.

... something happen with formatting:

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index f29ad332c1..3bd64e7e51 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -24,13 +24,17 @@ $(eval $(1) := \
         $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
  endef
  
-h-insn := "hfence.gvma"
-$(call check-extension,h)
+
+h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, hh, h)
+h-extension-name-$(CONFIG_CC_IS_CLANG) := h
+
+$(h-extension-name-y)-insn := "hfence.gvma"
+$(call check-extension,$(h-extension-name-y))
  
  zihintpause-insn := "pause"
  $(call check-extension,zihintpause)
  
-extensions := $(h) $(zihintpause) _zicsr_zifencei_zbb
+extensions := $($(h-extension-name-y)) $(zihintpause) _zicsr_zifencei_zbb
  
  extensions := $(subst $(space),,$(extensions))

~ Oleksii

--------------jzrVTekTF7oCKnyBkz7fX39l
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 3/25/25 2:47 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:a6d511ec-38bc-4fad-9e08-462b7c10eac4@suse.com">
      <pre wrap="" class="moz-quote-pre">On 25.03.2025 14:02, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/25/25 12:52 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 25.03.2025 12:48, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 3/24/25 1:31 PM, Jan Beulich wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">On 21.03.2025 17:17, Oleksii Kurochko wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">H provides additional instructions and CSRs that control the new stage of
address translation and support hosting a guest OS in virtual S-mode
(VS-mode).

According to the Unprivileged Architecture (version 20240411) specification:
```
Table 74 summarizes the standardized extension names. The table also defines
the canonical order in which extension names must appear in the name string,
with top-to-bottom in table indicating first-to-last in the name string, e.g.,
RV32IMACV is legal, whereas RV32IMAVC is not.
```
According to Table 74, the h extension is placed last in the one-letter
extensions name part of the ISA string.

`h` is a standalone extension based on the patch [1] but it wasn't so
before.
As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
and for that version it will be needed to encode H extensions instructions
explicitly by checking if __risv_h is defined.
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">Leaving aside the typo, what is this about? There's no use of __riscv_h in
the patch here, and ...
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">It is going to be used in future patches:<a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32">https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32</a>
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">For this and ...

</pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">@@ -25,10 +24,13 @@ $(eval $(1) := \
   	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
   endef
   
+h-insn := "hfence.gvma"
+$(call check-extension,h)
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">... this, if it fails, will not have any effect on the build right now
afaics.
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">No, it won't have any affect now as instruction from H extension isn't used now.
But it will be <a class="moz-txt-link-abbreviated" href="mailto:neededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/">neededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/</a>
and for p2m changes mentioned above.
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">... this both being future work, it might help if it could be made clear
right here how things are going to work (with both gcc12 and up-to-date
gcc).
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
I can update the commit message with the following:
```
If 'H' extension is supported by compiler then __riscv_h will be defined by
compiler (for gcc version &gt;= 13.1).
For gcc12 it will be needed to:
#ifdef __riscv_h
  asm volatile ("h extension instruction");
#else
  asm volatile ("|.insn ..."); #endif ```
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Okay, that's what I was concerned about. __riscv_h is a compiler indication.
It means nothing about H extension insns being supported by the assembler
(except perhaps for Clang's integrated one). The check-extension thing in
the Makefile will actually check both in one go. Yet then the hfence.* insns
have been in binutils since 2.38, i.e. pre-dating gcc12.</pre>
    </blockquote>
    <pre>It is still needed to have or #ifdef-ing or workaround mentioned below ...
</pre>
    <blockquote type="cite"
      cite="mid:a6d511ec-38bc-4fad-9e08-462b7c10eac4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Or probably it will be easier not to ifdef-ing 
everything with __riscv_h but just return back a workaround with the 
following changes: ``` $ git diff diff --git a/xen/arch/riscv/arch.mk 
b/xen/arch/riscv/arch.mk index f29ad332c1..3bd64e7e51 100644 --- 
a/xen/arch/riscv/arch.mk +++ b/xen/arch/riscv/arch.mk @@ -24,13 +24,17 
@@ $(eval $(1) := \ $(call as-insn,$(CC) 
$(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1))) endef -h-insn := 
"hfence.gvma" -$(call check-extension,h) + 
+h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, 
hh, h) +h-extension-name-$(CONFIG_CC_IS_CLANG) := h + 
+$(h-extension-name-y)-insn := "hfence.gvma" +$(call 
check-extension,$(h-extension-name-y)) zihintpause-insn := "pause" 
$(call check-extension,zihintpause) -extensions := $(h) $(zihintpause) 
_zicsr_zifencei_zbb +extensions := $($(h-extension-name-y)) 
$(zihintpause) _zicsr_zifencei_zbb extensions := $(subst 
$(space),,$(extensions)) ``` I prefer more a little bit the second 
option with having the workaround for GCC version. ~ Oleksii |
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I fear this ended up unreadable.</pre>
    </blockquote>
    <pre>... something happen with formatting:

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index f29ad332c1..3bd64e7e51 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -24,13 +24,17 @@ $(eval $(1) := \
        $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
 endef
 
-h-insn := "hfence.gvma"
-$(call check-extension,h)
+
+h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, hh, h)
+h-extension-name-$(CONFIG_CC_IS_CLANG) := h
+
+$(h-extension-name-y)-insn := "hfence.gvma"
+$(call check-extension,$(h-extension-name-y))
 
 zihintpause-insn := "pause"
 $(call check-extension,zihintpause)
 
-extensions := $(h) $(zihintpause) _zicsr_zifencei_zbb
+extensions := $($(h-extension-name-y)) $(zihintpause) _zicsr_zifencei_zbb
 
 extensions := $(subst $(space),,$(extensions))

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

--------------jzrVTekTF7oCKnyBkz7fX39l--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 15:09:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 15:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926601.1329435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx5tj-0006vr-TM; Tue, 25 Mar 2025 15:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926601.1329435; Tue, 25 Mar 2025 15:08: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 1tx5tj-0006vk-Qq; Tue, 25 Mar 2025 15:08:59 +0000
Received: by outflank-mailman (input) for mailman id 926601;
 Tue, 25 Mar 2025 15:08: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=uFHn=WM=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1tx5ti-0006ve-Pw
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 15:08:58 +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 0b8357b2-098b-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 16:08:44 +0100 (CET)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by DU0PR03MB9256.eurprd03.prod.outlook.com (2603:10a6:10:474::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 15:08:43 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%7]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 15:08: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: 0b8357b2-098b-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=V8E5/t1Fmgtlbrh7x7mm3ly5L1abyM4ThiWK70GQDqP7QXgpHeU6TYgMLv/ManY4F2keOyyVrqsTZHoikMg6L5bMxmaja7Ea9r2y22d/3CnHWzhHsF1Pmpn+kjfhjJWLGIOqCQywR9ia4TrJ9j5urfaS4FolIut+gDlpxN/cbHBBuRaMGBCyOyDPGAjWhdj1AJrlRtlRRX8m+x6Wmea+rhfU3R4oZR5XyDujKvaLchLTQX8tu/vpXRqCewEBek70j1OMuEH+Hk6f40vljHRr5QXQO1JpOB136l9OwS7/61xAy9qem9aOkLNy2ns3RF4+fIa32H4c4sohqaSICHqezA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fZV1Xrp24hzBjC7X/wRRug3+v8GuB2ErTpL9mzqJDug=;
 b=x+YbOPZbjYULl/rpj6pv1khL+P4Dna0rbkoRoSJHw3jPbJHO5B1hXQiNDD7BZbIaGCmPbne8ftZkU8Rh7lJ1llHAnNqCGAoKB8tjC6stGLInEoR7w19m/RcZd2iYPvO4zgK7H38SGtafIEA5cFBE97EAERkxO1pk5gdreugvFFl2ZaIb4dxaohfvnYOQy5PVrGKzs8BLtd0epTwR4g63qErVni95LwZLdeOrU7FXrhjGLChW4WlQW3wDe2tj+oICCmB2cW3xhNwFISfVmV/hgAokcqOQq1Rs0qHszuazzSjSqjZGvSvTH3+P2PwFN4G5mqlzI7RMaRnNCYSJGNvypg==
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=fZV1Xrp24hzBjC7X/wRRug3+v8GuB2ErTpL9mzqJDug=;
 b=A7Xqz+WCoczoYISAxsK7RKP2SydjqIiC0O/XsqI7p3TnXnMWzDpAfameEZDMLw3OQB2KPF9iQpd0lryMU+BO4BgYIm4+MkbSv5i5Hfwrrm/oA5vbxWNIVPE44VvXFcBAUp4yCDmc9VbDuqnamAQnT54InzvW9vmFYRJCPeuKa8df0X8vspCxgiB2qufaccLpZBGlmKuzDAfLFD1HSexDcJ6zXa/XnpfUIVYs8fli9zM/teXKTid5ETqfagl8pS7i/mlIYSFKe1HvdmK1cCWH3/L0iP9/GAo3D00w0TXOfqflkAgrj9FLiy13E150jFbExs2xqPdLBbOu0J3DE1ceaQ==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@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: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Topic: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Index: AQHbnZfMrs+h0o/uEkuTNWO41qxIcA==
Date: Tue, 25 Mar 2025 15:08:42 +0000
Message-ID: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|DU0PR03MB9256:EE_
x-ms-office365-filtering-correlation-id: 230c80f1-f831-4a8c-8a1e-08dd6baeeebb
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?qXm6SISIU7WBgutD2M/lI0cm2JuwEAQ3YkAUB0Sq/O5f/cPPBGCiYTr6r7?=
 =?iso-8859-1?Q?TtP4dF4KWk8lYaz29j5dCtx9e7gLC0VbehkxNSsmlymmGWtDT4s8pmwgJ+?=
 =?iso-8859-1?Q?jm38iScsr7L5mbOFIrf3unhbRhpyi5GYEOc7kGLVNgMpRjYsFDZS1wILIl?=
 =?iso-8859-1?Q?ANwt7IatEKOyHzVhq4kPQcOr1yMLccDY4TJihC0l/E2rdtfb6fh2wwyet6?=
 =?iso-8859-1?Q?eQHg71Xcu9VHJgBJdDxFtWxG4GcIsY7uDcOyLhixroHCiioA7j67ydhT2P?=
 =?iso-8859-1?Q?08IVZ2gaK4DP3mFxr5gJmERf046HEPC/oEn2k9qka7zrkqGzG+NEaLUrGB?=
 =?iso-8859-1?Q?g12tUrvoOurKzOljQRE/Q/IxMgXJtRCLVFRk2x9yV6Z2VdMjZrz6LuGU9m?=
 =?iso-8859-1?Q?7cQ8hNInd2ykkwE1IgIAkAwrKk4q9Fb4DJKmOQMzD3gKXQleJxVXrm6SJ8?=
 =?iso-8859-1?Q?i0ES5bvsBSPXkkyJILgZbGxEY0w8NbBhaYHo3N2mEkNJrBBLL6ytGg5Ibq?=
 =?iso-8859-1?Q?DePHseDq9XYm8Q5H/R5JCJBkES9u+wyN0BUnmoc5yoPtz77I170sEPFTFd?=
 =?iso-8859-1?Q?7y1nd5mzbnABJHqdThnwV0ai5OFQXxAhbCaYEmO/5rjnpTneZ+j6BbT233?=
 =?iso-8859-1?Q?YQgTF6Izc8SNKi3Ry0hTMWhjOpxq9/qSwn2GktpjrqRJDxdL7gnMF4gGNC?=
 =?iso-8859-1?Q?mZOK4DoDKEkkfOCXUtqenFEy72kd6XSd/t6sjxv7YEeOmwdUz4jbTo7vix?=
 =?iso-8859-1?Q?aORSNwPWzj6UfeStLJGmtyW1VYu4JZz+oUJrhNaM9GxeeM8ZPlWcY+tX5w?=
 =?iso-8859-1?Q?B5B5zTMI450Icz5FRtv17qCRIbST9Ww9GkVaHJtt6uoK16mYEqYUtkl3h5?=
 =?iso-8859-1?Q?B14dNB4T8p+r16TW/rPi/ZaKq/LsA0+S+yj7uVdGHd1fTsE0XRaqTweJod?=
 =?iso-8859-1?Q?p8bBRUx/ltYFyAjsMTSdfFUxF00uQ41B6pv5j9lO5NfSfNzjAxbHpAT2FU?=
 =?iso-8859-1?Q?ds09eE4dZTgCkLCBJXWgt/EL05NZFGFUL4mlKpg2M7Qr004lj0tLL6bEtM?=
 =?iso-8859-1?Q?k2MUC3OGkumsxF55HBoAdDRMnnL8SKYH+12LwFuIglTp8vvS7a+ApjJPaK?=
 =?iso-8859-1?Q?LSb+L2+ljXiUY8Usybr3i8Qnv9GiKWESC5h0H0XUMEwwxMh2qhR038TF76?=
 =?iso-8859-1?Q?vwqaiitTZCauQ16Ysq1S3g+Xa42UqEkqvNiNHpun1cE9OlrM6mhSkf8M11?=
 =?iso-8859-1?Q?Vq0iess8JRbYddNXd3MdgHEbufecAWmDsAMhpCnyKREV5TjHIN3p8YroT5?=
 =?iso-8859-1?Q?FVilAKZkaSNCT8Qo8JXeBd6iNOgRYUlGHhutLr3uq/94vHjp61rgsKXC14?=
 =?iso-8859-1?Q?OJgUGGzsSLdTxIBiObndAsdk6vavQhmyugNiZw1Nu/TrJcHckj4+u5Nz2/?=
 =?iso-8859-1?Q?HrYO7Kp3ckqjDBjbW058U6vMDuPA/B0vzsqS6/vgnpAN34c4TYNtos3N+k?=
 =?iso-8859-1?Q?LabWE4m3U4hJ4G81QLC02Q?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?JoJW73SJy8vaMkofFhNqwj1lT/h3zzdln9tPfgxt+DbXq4Kj0wxhIIrWKh?=
 =?iso-8859-1?Q?hXIBi7i4Nv0DShYM957+QBW6hbmZPl8VHIjeoUVtlxWejD8hBHktJ09MQa?=
 =?iso-8859-1?Q?I/wkCfckSe9LRZ+RC4GXX1TWoMZoBk6v+x4KwHVqOVeCtsZMQwW2qH0M9+?=
 =?iso-8859-1?Q?5tMu2rau0Pwl6AyyTWaZPMkvhONXnWqcUE6sh9uGuBcIx+8z5OOv/7Gw0t?=
 =?iso-8859-1?Q?RErgSnvB7JOkRzJy8AJp320Hyfx4PNheNi5F5wqpQNElAwZvoy4sZAjZmu?=
 =?iso-8859-1?Q?Dj3QD2GXZ38gMj3gIRDK/FxnkkdpXymdCj7TAWjJTlSX+TOOqX7dqcXxgu?=
 =?iso-8859-1?Q?p+mj/D9kNYySs6t0jVxwXVR6I0WXmn2dDtZ1APvyx7RSc+oqTVIYlxANlQ?=
 =?iso-8859-1?Q?T9dOgIdYDhZr6yA3pr/6WUCydIVWyvNyM0G6a3mqlQ/dWreDa1W5HtI5bO?=
 =?iso-8859-1?Q?P1JHA3PjyKWtlqk9PTXE8rfDNZ8qy9rC89L01KpKd7zf03iUA7zzSy6S+w?=
 =?iso-8859-1?Q?mOv5MQIrPZCq8YKvg6BK5BZw3Op9VOubSUhb5ELd1ieywRbamdXDG2kjwQ?=
 =?iso-8859-1?Q?H64wahH/jhJ0cutO+t4wLbQUS2+9WHafOGSj1BpwnSkgCl3uS4CatAnQr4?=
 =?iso-8859-1?Q?Utq1mqATEfKd8rfpTkrQ6ZzUtEYh7aoPQdb0J9wd0SnQPGjo43ugacAlH/?=
 =?iso-8859-1?Q?asZzXGPz7gwniFJkotpD499l2snM9QmvVGX4e3I47RI9GsBAr6Oz5f/XoN?=
 =?iso-8859-1?Q?8mrjtn3T4MKjOh/mubLo+RCWiLa8ASZSdCPTPYEyAsJvhKleLe8gnNlQeF?=
 =?iso-8859-1?Q?/gJhVESVRM0vWU9nwaiZQ07NQGboR8fG51+WSIocnvWKZlmdkit0Qp3WkM?=
 =?iso-8859-1?Q?Rfx1D6XESCQBTc3Fmij2yyzSC6vrTSFQ6kNUwCREWu9jRDXHYW6+spMoMU?=
 =?iso-8859-1?Q?tVsdTSSehSUk3AA/xjY4Hz2w1t/mRWyz8is2NAwHlMZo9ZjKhaB72/lyPQ?=
 =?iso-8859-1?Q?KwVzE6R4jCBfbrQJAu8r2m73UXncu7uSQaDicL8aiMtmWbMfCYR+q52KwH?=
 =?iso-8859-1?Q?QXSqsNWrcbwaENW0ZCeF2Bie7a60aq/oMt5Ee0be/HxHiR35BGLBEf5WUw?=
 =?iso-8859-1?Q?KCCLYR+lTY3hUWNagjJlSvfuZxN2PCElpC1NHLn9tXbZPYc11IHqxuV1de?=
 =?iso-8859-1?Q?JiimFR/lBWTvM+WrFehYaOMJCnNoiRkZR8OCGDzJR7Y8hTwCU7NRSC/3WD?=
 =?iso-8859-1?Q?OW4U9+ERRGGJkgWtKgqqBfX8aKrPEIYT95LlChL7jI/bxi/nFW+GH9lFos?=
 =?iso-8859-1?Q?81Zh49CG/+X+KghOAUzSZ7FqUy/yq1d0/iJ+U8HzuaRce+AcvH2RlhSUJq?=
 =?iso-8859-1?Q?cjnaeCtkLmG8cswORJ2O+sFr3Fs0+x028XVu5ivY00mZxWW+azXUxMjUGI?=
 =?iso-8859-1?Q?CxdOMWU5xZbYW0rdvMhRmbdQsf4ZKQIWPhltaEDM/ypOXM7ykhqo8WxWbf?=
 =?iso-8859-1?Q?wUMgkl3KzQxqTtj+F5vmnEyE1Cum+/zdZ2uPjsCjdBMX84Q2SEqAa3UPgp?=
 =?iso-8859-1?Q?R/V8Sqb3/E1UoFY/AJ7TuLsgPp24XSiT0+/5rpc4hpMHIlPedDPLAZbd+7?=
 =?iso-8859-1?Q?G22cszuM16tkAQNqmbfcbid8wQi6y0WiKVhgljfzm9wig3Th513c1cfI4A?=
 =?iso-8859-1?Q?KZnUv5zBZoU/soqAjDM=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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 230c80f1-f831-4a8c-8a1e-08dd6baeeebb
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2025 15:08:42.9816
 (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: zxaZJfGlt+9wjldzm995RfpSRIEkFAmvkAfWq9vSNP+E0+8rU5hda3Izt9lE6X1mv8Rkes3lnscDgEOCIS4qRNEFT85vUOJJZPliRwFmoB0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9256

On the device-tree-based Arm64 system, if Xen is built with
CONFIG_ACPI=3Dy, CONFIG_STATIC_MEMORY=3Dy, and the static memory range
is provided in the host device tree, the BUG is triggered in
common/page_alloc.c during Xen's early boot. The BUG occurs when
the first page from the static range is fed to the domain
sub-allocator and finally ends up in mark_page_free().
The pg->count_info & PGC_state is not in the state that
the code expects to see there.

(XEN) Checking for initrd in /chosen
(XEN) Checking for "xen,static-mem" in domain node
(XEN) RAM: 0000000040000000 - 00000000bfffffff
(XEN)
(XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen
(XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree
(XEN) MODULE[2]: 0000000042e00000 - 0000000043111f82 Ramdisk
(XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel
(XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
(XEN)
(XEN) CMDLINE[0000000040400000]:domU0 console=3DttyAMA0
(XEN)
(XEN) Command line: console=3Ddtuart conswitch=3Dax
(XEN) pg MFN 50000 c=3D0x2180000000000000 o=3D0 v=3D0 t=3D0
(XEN) Xen BUG at common/page_alloc.c:1474
[snip]

The problem is that the static range gets mistakenly unreserved
in populate_boot_allocator() and reaches init_boot_pages().
This happens since by the time the populate_boot_allocator()
is executed, the evaluated in fw_unreserved_regions()
an acpi_disabled variable is still false and as the result
the dt_unreserved_regions() which should simply skip that static range
does not get called. The acpi_disabled will be set to the actual value
(in our case it is true) later on in acpi_boot_table_init().

The important question is why acpi_disabled is false by the time
setup_mm() is executed. With CONFIG_ACPI=3Dn it is a macro that is always
true, but with CONFIG_ACPI=3Dy it is a boolean that is false from the very
beggining, even though the entire acpi_boot_table_init() (which is called
after setup_mm()) is written with the assumption that ACPI is off by defaul=
t
at the start. So, initialize acpi_disabled to true during declaration
if CONFIG_ACPI=3Dy to avoid an issue and match to acpi_boot_table_init().

Suggested-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
  V2:
   - drop post-commit remark
   - use the approach suggested by Michal
   - update commit subject (WAS xen/device-tree: Switch back to dt_unreserv=
ed_regions() in boot allocator)
     and description
---
---
 xen/arch/arm/setup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index ffcae900d7..9e94f1a8c7 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -57,7 +57,7 @@
 struct cpuinfo_arm __read_mostly system_cpuinfo;
=20
 #ifdef CONFIG_ACPI
-bool __read_mostly acpi_disabled;
+bool __read_mostly acpi_disabled =3D true;
 #endif
=20
 domid_t __read_mostly max_init_domid;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 15:23:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 15:23:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926613.1329447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx67m-000311-9x; Tue, 25 Mar 2025 15:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926613.1329447; Tue, 25 Mar 2025 15:23: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 1tx67m-00030u-4w; Tue, 25 Mar 2025 15:23:30 +0000
Received: by outflank-mailman (input) for mailman id 926613;
 Tue, 25 Mar 2025 15:23:29 +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 1tx67l-00030o-Ce
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 15:23:29 +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 1tx67l-007juA-0k;
 Tue, 25 Mar 2025 15:23:29 +0000
Received: from [15.248.2.26] (helo=[10.24.67.162])
 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 1tx67k-00Ehhh-2O;
 Tue, 25 Mar 2025 15:23: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>
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=NedO+IYNq2J8i+6JmOkiuq2oer+7pVHJxTMDOThvsGQ=; b=FmnFInifcb2Qc6BSUcBhnCgjG8
	f+cujoNbirsOuF2WfzymK/AgvFUvVzsnEDryaYWV23QusWHwXLOs+xd5+C/Kove8q9Ztvfz+dMi/3
	I6JDG/SobcycOdZwHjai4/V4fl3MxyF0ii4IZXdYF4NYqaLJfCAtcaGSkORIBamu2fC8=;
Message-ID: <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
Date: Tue, 25 Mar 2025 15:23:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Content-Language: en-GB
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.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: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksandr, Michal,

On 25/03/2025 15:08, Oleksandr Tyshchenko wrote:
> On the device-tree-based Arm64 system, if Xen is built with
> CONFIG_ACPI=y, CONFIG_STATIC_MEMORY=y, and the static memory range
> is provided in the host device tree, the BUG is triggered in
> common/page_alloc.c during Xen's early boot. The BUG occurs when
> the first page from the static range is fed to the domain
> sub-allocator and finally ends up in mark_page_free().
> The pg->count_info & PGC_state is not in the state that
> the code expects to see there.
> 
> (XEN) Checking for initrd in /chosen
> (XEN) Checking for "xen,static-mem" in domain node
> (XEN) RAM: 0000000040000000 - 00000000bfffffff
> (XEN)
> (XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen
> (XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree
> (XEN) MODULE[2]: 0000000042e00000 - 0000000043111f82 Ramdisk
> (XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel
> (XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
> (XEN)
> (XEN) CMDLINE[0000000040400000]:domU0 console=ttyAMA0
> (XEN)
> (XEN) Command line: console=dtuart conswitch=ax
> (XEN) pg MFN 50000 c=0x2180000000000000 o=0 v=0 t=0
> (XEN) Xen BUG at common/page_alloc.c:1474
> [snip]
> 
> The problem is that the static range gets mistakenly unreserved
> in populate_boot_allocator() and reaches init_boot_pages().
> This happens since by the time the populate_boot_allocator()
> is executed, the evaluated in fw_unreserved_regions()
> an acpi_disabled variable is still false and as the result
> the dt_unreserved_regions() which should simply skip that static range
> does not get called. The acpi_disabled will be set to the actual value
> (in our case it is true) later on in acpi_boot_table_init().
 > > The important question is why acpi_disabled is false by the time
> setup_mm() is executed. With CONFIG_ACPI=n it is a macro that is always
> true, but with CONFIG_ACPI=y it is a boolean that is false from the very
> beggining, even though the entire acpi_boot_table_init() (which is called
> after setup_mm()) is written with the assumption that ACPI is off by default
> at the start. So, initialize acpi_disabled to true during declaration
> if CONFIG_ACPI=y to avoid an issue and match to acpi_boot_table_init().

While I agree that acpi_disabled should be false. It feels like a bit of 
a workaround for the issue you are trying to solve here. If 
fw_unreserved_regions() doesn't work with ACPI enabled, then it is still 
a problem after your patch.

Furthermore, what happen if we decide to use ACPI afterwards? Wouldn't 
this mean that the static regions would be reserved even if ACPI doesn't 
use static memory (all the memory is expected to be given to the allocator)?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 15:35:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 15:35:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926622.1329456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx6Jl-0005cC-8C; Tue, 25 Mar 2025 15:35:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926622.1329456; Tue, 25 Mar 2025 15:35: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 1tx6Jl-0005c5-5U; Tue, 25 Mar 2025 15:35:53 +0000
Received: by outflank-mailman (input) for mailman id 926622;
 Tue, 25 Mar 2025 15:35: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=uDid=WM=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tx6Jj-0005by-G8
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 15:35:51 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2418::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d334095f-098e-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 16:35:49 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by MW4PR12MB7263.namprd12.prod.outlook.com (2603:10b6:303:226::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 15:35:44 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%6]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 15:35: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: d334095f-098e-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vw0PCHe/K+BzVl+w4pw3MwAgWHaV69SHhbatpQewAZfcUetpPxwjqR1mjmpW8crC9u7BLK0c9nurK4xaRhKCvYGHHQ76AkWGOe9axg3QWv94YZsg/kU63m1RxzVJpMowqL4q/kP8LLXKBfsHfBzNI9IwMGgjqeK1onrQSQpn4dNUqbxTM5DNGKsuBJRVrt4i6pyy8piOfaJa1Dgl7gitJvCRCfsQYCq+YAYrJwJe+o8Ksk4oGZ0BGSqbYRpoFbKv8/QEnVCWmTYEYYH1LObSDv5ZvQPY1PrbpNbNMRXD7pfTrZP1a6FqeUpVR5pnbphHG480ksQ7aW2vNojnMz3AnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nC1Vn21WNWdvDhr0BOmuRDdfFSgfJjNuavugtAXje1o=;
 b=pDko8wVXIz7ikKaqBXUVX9/icx4+h3UFh4JxVN9Nh/8p61hmsXWGBIa79vLOF/d9GddXnqVmy1aRKB34vLI0G5/kESIv15M/jS+8lnHhgXqf6Y2AwPmxSYC0tjpt4s+rTQEo9ODJ/2gW9l8e3Zy1nRKN7zauOwTfufuBmt5Z1MGPPkujOYLjz7cl87C4glHmKWUUWPW8oX9dAift6HWF81ZQvmh0gHXWG4JNgaZyBMZJOg2ShXZL5u9pJxvmqAxoA4RgfAqZncjTQNXx2Sfb4DxETMAChEfI9dTpVFLRdnnqhyPnDruEb4gvDPIXKPn16uysUpaU+kQiJE+Cmufxgg==
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=nC1Vn21WNWdvDhr0BOmuRDdfFSgfJjNuavugtAXje1o=;
 b=uc9g4Mc8obIR7l7WDhEzxHauYiEv/u+CO7eNu5PO59Ru+pydRhG5wrj/mtheapqhZL1OA6xO7TZqlCfJzzVqdbL1JmtpFIGhbzIoGgDlYNCzDwmtaaHRNYS9t/2Di+v9wppFlpMDk2hLSfon2ru7IaantFwef5RyRKkgRffVxdU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
Date: Tue, 25 Mar 2025 16:35:39 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
To: Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0274.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e6::18) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|MW4PR12MB7263:EE_
X-MS-Office365-Filtering-Correlation-Id: bc730006-9bfb-4b36-1371-08dd6bb2b4cf
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?Y1Vla2hOV1FrcFVhcElONkRJcHg5bHZtdlBOS1ZBbi9xbjlPMnoxdzdOalBX?=
 =?utf-8?B?RzduN0VqTENCOU11RUpGWlVhME5EWlAwczkrdy9TRStaaGlJQXhoblovbTRn?=
 =?utf-8?B?TTdPNEd5ZUJzMGNqbHJrY2k4WnhrZXJCZGVMU1lMS0FDaTBMMTl6OUVJUEN5?=
 =?utf-8?B?QUg3cFpCRTF4S0pCR21xNjhrclM5S3FnL1l3R2hTZFVCUWVVU0RqdVJCYy8y?=
 =?utf-8?B?dHlKb2szVlFISis2NWdjM3BjcWl6U29JZEdaaUxHUmErRU1YWEhLczNCZDZ6?=
 =?utf-8?B?c0JoMmppUnJZLzVyZk4xaUVmeDRjcmJWOFYzOFYyaUxCYWc3NFJVWFlYQkZp?=
 =?utf-8?B?Uzl5UzB0Y1JTYzhvQ0FPY2JkcHk3Q2RGWnl0cllnVXRVVnBnQWlqYU1LTkZ4?=
 =?utf-8?B?N1RIbENkb3dxbEk5OVRsS2NrMXhTZWlScS84bkhNQ2xENFlKWm0ya0QwYlhi?=
 =?utf-8?B?Q3M2cWorK1BrMDgza0pHdTVtbFRieW03V2MwNUJVdWw2UjN0Sndna2RKZzgx?=
 =?utf-8?B?NmtLZ0pVY3lFTUVpTHpmZldQRmxpdHN2bnF4RCtvRnZJcFVXZ3ZkenpFTC83?=
 =?utf-8?B?dENwSTU0eGIzQS9tdHVYVXo0cmV4bXR1T3ZqWE5Rd3JBenJKSkRvZ3daeDZV?=
 =?utf-8?B?M0dYeG1nbkhaTytnYTl3M0p6WmEwRjN5eWVwRXNTRlp1bDRaTlFiT0FXN05o?=
 =?utf-8?B?QzhqallielN4Yk1STGdFSUhxU29pa3AvZ1V6M3VpNU8wcHZBeG1ZRE0zQU5l?=
 =?utf-8?B?MGF6aUNZVE9jRzJMaGdyS2dlSmhlMjFWZ0RzZmloc1pZTHlVT0ducTFTa3dO?=
 =?utf-8?B?RjNSS0xPVzlURk5pbnFVczhvcVFoOGxmV3BBR3RCVDgrUElVcDllMEI3bWda?=
 =?utf-8?B?VFVvR3Fod29yOXQ0NHpURmR2aGc3TmpXbElUMkkyZU1UQzEzbmRBcTViM09q?=
 =?utf-8?B?VUNFRXJuSTBHSy81cWp0ZnVnd3NmeENlNlZ0MHY3T1pUVlhHRGJXMFZHS3gz?=
 =?utf-8?B?YVlPWE8wdUFONTJEZjhRL05hcmNlRVFhZHQrYWdOR2dEdVFjVDJQRmtsVDBk?=
 =?utf-8?B?Tjh1ck1oaWFtaTJpMEVuVnIzTGFmejBOUUo2QlF4aU1KU2IweityUzRrWE5v?=
 =?utf-8?B?WWs5dUJVQlJkd29mMCtaQUN2MzlxSmIvSmF6SERHdnZhbXNkSXlkTG5CZEN0?=
 =?utf-8?B?OFVUMlhYcW50bHlpWlBiSE0xajBEZEU2Sk5tWjB5MzJNUGFUTGF2NFRGTEQx?=
 =?utf-8?B?S2JRb3BPR0w1VldKNDNyVVArb3N0NHc0VjQyZzJkT1cvSGlCYjRmUVE3b0xH?=
 =?utf-8?B?blp2RWFwTmtEMFVCYllwVkJZaGZmbVpiNmNCT3A2eEFaa2lNTUtjKytRL0VR?=
 =?utf-8?B?Q1daRUlHU2hMQTZXTXRTNVNlWk1PYW1UZ08yOVJTL2lwT2l3Y2xuQVpvdXRQ?=
 =?utf-8?B?Rm90RjB0SDVRTjN5Z2M0SGZ3eXptTis0MjRhZWF1cVNnM3gycjEraWRNaDI4?=
 =?utf-8?B?dmhCN1RLTlBVR3ZWRVRyYkVnOGtyVHFyTFNTRDRIcjF1WU1Hb2lGSW8xZDN5?=
 =?utf-8?B?S3BZa3FkTGE2eDVONGswVk1DUjk1Z1dVTU5OYW5YZ3FPQkdlemtVVHo4ejJ3?=
 =?utf-8?B?QThuZlFIdXFhSkRzckRaSnFHWkQ1OHl0REl3Y2dPdjI0MFdVU0pqRUhENzlD?=
 =?utf-8?B?Q3VvVnhWRjQ1Mkt3NDI5S3gybmorSEJkQ2hpQ0tQWmZwSUtlNVhVYnpPWWUv?=
 =?utf-8?B?bDl0dyt2Uk5EdWxOeVFZWnlsK1RCZnU0TlloaVdTVjJFQmd5RVNzdk5tK054?=
 =?utf-8?B?UWRTTnhkQ0l2bWthOEpEOGxrMUZOS1l1Wi8xZGJKTFhyc2swOVI2ek5rOUVX?=
 =?utf-8?B?S3FISWJ5ckNIa3VqY0twMDJrNklJcW1zT3E2SE9oMFJvK2pqWExVeDdtUG1p?=
 =?utf-8?Q?A7KBbM1a02w=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?K3hIdHQzemFKVCt6TzhSeXpUK1FlQ2doTElOTXRBb0lnbW1PbUd5Rk1BYjF6?=
 =?utf-8?B?bEdFMzIvU2ZMRjF3N3ZxczRsYWRpWENiazg1Rkg3Q1E4d2VBaWEzWlg5dklI?=
 =?utf-8?B?S2JORVpUdjdjaXRoTmpCRHJOeHpPVXhrV3pRbmptbjJwd2JSbjlkNElJUGJV?=
 =?utf-8?B?UXAzMUszdU1KRGdaa3UrSzNiYzh0SUFBVWNIQ1FiMVltU3FvUlNuTlk2aDN4?=
 =?utf-8?B?bEtEMk8rbVAvRHE5NUNKSExGTlRFekRhRVV6T3hYbkRiUllVTUdGNmJFcURm?=
 =?utf-8?B?Rlh0UWJ2bTRwNzNYbnlybDgvbXEwYmJDWU1aUEZjc2cwblhaVkE2MjVCRHQ4?=
 =?utf-8?B?WW5KWkZMNTY1aGpUM014eExGYzBTQ1RDWEhIRW8wQjZJSjlnV3NZT2RqSGsy?=
 =?utf-8?B?S2s2d2p6emxVQjVsamVXWEU2R0g1Zm0ybDRQdDI2SWNBOHRjQ0pBUkVuK1RF?=
 =?utf-8?B?VnpqeDJrTVlMeXF3NlBxNGY5MU1MeHJ2RVI5M2I1UGQ0WStnc3g0K0o1S0c4?=
 =?utf-8?B?ZzdLWGNLRUlXd1BQOHdycVlPVW5idDliVXhZNmFYUVhTVDhJU1ZFVHFvZFA4?=
 =?utf-8?B?VXI4ZmRUbXc0Z0JROWdCNmwrU1pXdllSaXhBTGpwUnRRdzJHUzBNRmRlNGhj?=
 =?utf-8?B?TjNNQWtYK2VaeFlXUTNndDVHbTBGV0FlUU9oR2Y2eEFBTUFRSTJJSWhpdkY2?=
 =?utf-8?B?SGw1eUEyb1BsMGJ2MHFZVE5oclVzL0kxdktyZnpwWk13VTZZNTlha1ZiNFBk?=
 =?utf-8?B?OUJHU3o1U25LWXcwTTJ0b3lqOWtnelFwWEMrU1kxWksxWEZSNHl0WnRkSjl3?=
 =?utf-8?B?TVZBeTZYbFpYZWV0bzBiS2VBWi80MXFJZDFpRlRsNzFNTXBNa0VoVXgvQVk2?=
 =?utf-8?B?SCtXbW5qc3pRdGtmSEU3YVZMdHZiUTY5UnJQbXIyekVjZnNUZE1DbGsvaVdv?=
 =?utf-8?B?bDJWYjdGNU1LYjBVeWY0YmZuNG5wQjBkMkhMRFh3Z2VBNzgxZG9UYS9nM3ZV?=
 =?utf-8?B?MFZSckQ5VnVFT2IwSHpGTmlEZUdVTW9EOEdVTnhMdGpGSVU0LzZzQ0pyVVJa?=
 =?utf-8?B?MlZrdHZPb2lEZWpEK0RmcGpuN0VsQ3piZHh6ekdwZ3ZlU3pYd1ZGMFlLcWIy?=
 =?utf-8?B?d0E1RzlDc1NqYVhUNTNDK25uVll0dTFVczN4bkpvV25uSVZsM2poNXBNSzNn?=
 =?utf-8?B?M3J0ZldpR2s3Wkg1ZzVDcm5aaHpFblhtNW13QjJzZ3BGT213TVFmNXJrZngx?=
 =?utf-8?B?S3Z1a0xPNjl6Ly8zRXBuWDNoTS96Z043SE01UkhTM1ZIVnBlN0taaHdnQ0Zi?=
 =?utf-8?B?YW1Ob0xET1p2ZHFmbTZTOURaU0JFVFNOaXJ1Nk9EcmNBdXFibTJsRjlibUxM?=
 =?utf-8?B?ckdsUFk3TEowV3IvQ29laFczYTRwOC9wUGlZUkloaVgxSkF2ZVA1azdBeWlO?=
 =?utf-8?B?c3M0WTZGYzZyNGpvaGw1dDlvRVNWOWY3TTZ6RDJwdUhudDQ0WFpab25aQnU2?=
 =?utf-8?B?NkwyYUw3eENuOVROZVFEQmViRTJWVkQvY292RzBVS2d1YTF6Q2dLTTIrMWZN?=
 =?utf-8?B?QTlXQnd2djFNcnZXSXBFMVIzek5hT1FyZjR4SmlqczUxajVMUXpxK2libzRZ?=
 =?utf-8?B?eW1ERkkrdFJmZ3M1bU1Oc2pvUElvdTZsa05veEZrVEpWUVNiMFVzeTlHZ0FE?=
 =?utf-8?B?eHV4THRpM0JtYURQT1dIY0lVeXFjSUhtR3hOeXcvZ20vMFhsQXNRL1VsdjNM?=
 =?utf-8?B?YWFtYStyaVIzSklWUHN6cUFnc3JodWpKZ01JSGxLZlUvcnJnazVFSnJ1Q1Vj?=
 =?utf-8?B?aGY1RmpCaUErTVVLbnF3bWFPY3ZUaUxoTXQ2SUhURTJlOXdMVmcrTUtZemVw?=
 =?utf-8?B?WEp6TFNaemttV0EraTc2eFRrUlBobHhYVEVoNENtOWdvRExicUNnYUd4aDlO?=
 =?utf-8?B?STlKUFJDakIvTkxmU1ZJeTdpY3h3SHBYRFNVdXg4cVhwS3NvVkZNTWxUeDFD?=
 =?utf-8?B?a1dicmticDNoMWpiWnFHcFhPMWdBOHhRWWUrWHNhRXc1K2djQWtMUGVCL01U?=
 =?utf-8?B?ZTdIQnVYVFpMcEQ2alY0M0hJN1I1eW1rY2czdTZtMUlER293VjNOcDV1OUJU?=
 =?utf-8?Q?c/q4=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc730006-9bfb-4b36-1371-08dd6bb2b4cf
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2025 15:35:44.0495
 (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: EjlZHBv2r68Bc1XPmu/EYswRVWX/MxFhzbqO10HObz1tQkQmC0qQxZJiBqOuraGz
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7263



On 25/03/2025 16:23, Julien Grall wrote:
> 
> 
> Hi Oleksandr, Michal,
> 
> On 25/03/2025 15:08, Oleksandr Tyshchenko wrote:
>> On the device-tree-based Arm64 system, if Xen is built with
>> CONFIG_ACPI=y, CONFIG_STATIC_MEMORY=y, and the static memory range
>> is provided in the host device tree, the BUG is triggered in
>> common/page_alloc.c during Xen's early boot. The BUG occurs when
>> the first page from the static range is fed to the domain
>> sub-allocator and finally ends up in mark_page_free().
>> The pg->count_info & PGC_state is not in the state that
>> the code expects to see there.
>>
>> (XEN) Checking for initrd in /chosen
>> (XEN) Checking for "xen,static-mem" in domain node
>> (XEN) RAM: 0000000040000000 - 00000000bfffffff
>> (XEN)
>> (XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen
>> (XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree
>> (XEN) MODULE[2]: 0000000042e00000 - 0000000043111f82 Ramdisk
>> (XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel
>> (XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
>> (XEN)
>> (XEN) CMDLINE[0000000040400000]:domU0 console=ttyAMA0
>> (XEN)
>> (XEN) Command line: console=dtuart conswitch=ax
>> (XEN) pg MFN 50000 c=0x2180000000000000 o=0 v=0 t=0
>> (XEN) Xen BUG at common/page_alloc.c:1474
>> [snip]
>>
>> The problem is that the static range gets mistakenly unreserved
>> in populate_boot_allocator() and reaches init_boot_pages().
>> This happens since by the time the populate_boot_allocator()
>> is executed, the evaluated in fw_unreserved_regions()
>> an acpi_disabled variable is still false and as the result
>> the dt_unreserved_regions() which should simply skip that static range
>> does not get called. The acpi_disabled will be set to the actual value
>> (in our case it is true) later on in acpi_boot_table_init().
>  > > The important question is why acpi_disabled is false by the time
Simply because it's a static bool variable with no assigned value i.e. gets
defaulted to false. And it stays at default value until acpi_boot_table_init()
call that cannot really be moved before setup_mm().

>> setup_mm() is executed. With CONFIG_ACPI=n it is a macro that is always
>> true, but with CONFIG_ACPI=y it is a boolean that is false from the very
>> beggining, even though the entire acpi_boot_table_init() (which is called
>> after setup_mm()) is written with the assumption that ACPI is off by default
>> at the start. So, initialize acpi_disabled to true during declaration
>> if CONFIG_ACPI=y to avoid an issue and match to acpi_boot_table_init().
> 
> While I agree that acpi_disabled should be false. It feels like a bit of
You meant true (?) i.e. ACPI default off not to make any assumptions whether
it's really on/off which can only be determined in acpi_boot_table_init(). I
think we still need this patch to match the code expectation.

> a workaround for the issue you are trying to solve here. If
> fw_unreserved_regions() doesn't work with ACPI enabled, then it is still
> a problem after your patch.
I don't understand. It does work with ACPI enabled provided that it's indeed
enabled. When booting with ACPI, reserved memory regions are not used - we even
have a comment in struct bootinfo. The issue here is that acpi_disabled is set
to false i.e. incorrectly there is assumption that ACPI is enabled by default
and calling fw_unreserved_regions() prior to acpi_boot_table_init() works as
long as we respect the expected default value.

> 
> Furthermore, what happen if we decide to use ACPI afterwards? Wouldn't
> this mean that the static regions would be reserved even if ACPI doesn't
> use static memory (all the memory is expected to be given to the allocator)?
I don't think such hybrid configuration is valid (booting with ACPI yet
declaring reserved regions in DT). See commit:
9c2bc0f24b2ba7082df408b3c33ec9a86bf20cf0

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 15:46:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 15:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926631.1329466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx6Tw-0008As-6H; Tue, 25 Mar 2025 15:46:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926631.1329466; Tue, 25 Mar 2025 15:46: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 1tx6Tw-0008Al-35; Tue, 25 Mar 2025 15:46:24 +0000
Received: by outflank-mailman (input) for mailman id 926631;
 Tue, 25 Mar 2025 15:46: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=n8Tn=WM=bounce.vates.tech=bounce-md_30504962.67e2cfca.v1-8f9f5b69702444d39048229a2f5de7b5@srs-se1.protection.inumbo.net>)
 id 1tx6Tt-0008Ad-Ul
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 15:46:22 +0000
Received: from mail132-31.atl131.mandrillapp.com
 (mail132-31.atl131.mandrillapp.com [198.2.132.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4b789fef-0990-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 16:46:20 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-31.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4ZMZ5k5Fwyz9K7SNp
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 15:46:18 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 8f9f5b69702444d39048229a2f5de7b5; Tue, 25 Mar 2025 15:46: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: 4b789fef-0990-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742917578; x=1743187578;
	bh=tfrJNZ0Du/qXL8jqA1pOPciSsmU33umD88m5fCFmlt8=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=zSVs60ZsQv+9VEy37VC9bMMSSiwRPVQ5sCvzfZF+gDYLfdhkbvQWb5+yhz/CDZ2tQ
	 wAduc+wI+ji/KFYq5p2U9t4Hv+W2oHwYg5WiuvtKggRMIgrDQvMp5DCzqiOuShNjr7
	 hfYBi4pMYBpahCVJ2bL+hxsrsvz2X6dKv1fAJ4gFP7/BGtmkuMWu0qvhSSPM6TSVxa
	 fLsDXr6eLY5zsyNbLCYwDVZdEwi6T5ccoxug1L4RWvDibxd9xo1nuWHE3D3bfr8OvY
	 FgwLpxQuWvsIRYb3D0oD311ee0YV5KoV5ooXQJZGNh6AP9xedJhedvUxqbjcMJiPLo
	 b6tPigmVBkmyw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742917578; x=1743178078; i=anthony.perard@vates.tech;
	bh=tfrJNZ0Du/qXL8jqA1pOPciSsmU33umD88m5fCFmlt8=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=vBZfavZlE57PIInbgLYPqu8W07JNN1TwmWOfhxEK9Tsx9epES2x6806mKvaqMgZn2
	 95VpFzfSNYLaxk5kiOxGyNHXQAKe3QkGMpqgrowqpft+2LTdXSOZpFwDVs7chKtQYp
	 NYgHibChJ+0L6GkH0RJW1BvpU2+ruuqkzpdKSq9RZOdanhnX4kFSEnx1hYAUxaSHji
	 hwOoYGFJsuX3axGjcICMZtiiI1Fp7Sfh57A72CZuep5uiy/Ol8KXaUW+wrAY9mWR/+
	 ApNwfvA/bR2w8zXSMIc9GlK+l22btxI8SNxRBN50mvDNHxv4YRSdR3JnKjYhaNmxoh
	 gESPrWHKTah3g==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=201/3]=20CI:=20Update=20build=20tests=20based=20on=20new=20minimum=20toolchain=20requirements?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742917576969
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, "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>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>
Message-Id: <Z-LPyLXlcrk1wD6P@l14>
References: <20250320155908.43885-1-andrew.cooper3@citrix.com> <20250320155908.43885-2-andrew.cooper3@citrix.com> <ef8fbae6-e231-4348-843b-bf84eaf0ef52@citrix.com>
In-Reply-To: <ef8fbae6-e231-4348-843b-bf84eaf0ef52@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.8f9f5b69702444d39048229a2f5de7b5?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250325:md
Date: Tue, 25 Mar 2025 15:46:18 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Thu, Mar 20, 2025 at 04:01:36PM +0000, Andrew Cooper wrote:
> On 20/03/2025 3:59 pm, Andrew Cooper wrote:
> > Drop CentOS 7 entirely.  It's way to old now.
> >
> > Ubuntu 22.04 is the oldest Ubuntu with a suitable version of Clang, so swap
> > the 16.04 clang builds for 22.04.
> >
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 15:47:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 15:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926638.1329476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx6Uo-0000DY-FT; Tue, 25 Mar 2025 15:47:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926638.1329476; Tue, 25 Mar 2025 15:47: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 1tx6Uo-0000DP-Ck; Tue, 25 Mar 2025 15:47:18 +0000
Received: by outflank-mailman (input) for mailman id 926638;
 Tue, 25 Mar 2025 15:47:17 +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 1tx6Un-0000C5-Ba
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 15:47:17 +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 1tx6Un-007kkN-0k;
 Tue, 25 Mar 2025 15:47:16 +0000
Received: from [15.248.2.26] (helo=[10.24.67.162])
 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 1tx6Um-00El4h-2K;
 Tue, 25 Mar 2025 15: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>
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=GJ1TR6w1YFN7HzqYKS6fbUObexap6ioa+2nukmM8QnE=; b=gXJJcLZf4OQ3Yj06epBkWclsc2
	scVxObW3aazp2UCTpRI8BkuliT1nUvjAjJscy8Y8BZpWG1kIIOukiAVnGAFT/c269pswX0HPtdxhW
	O/0PA6jjWQ+D+M8oSquo5mRWkvnhjBauZPecr+D7xvbQIJsYYEYqn8X32HrLfxCasjsM=;
Message-ID: <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
Date: Tue, 25 Mar 2025 15:47:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Content-Language: en-GB
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 25/03/2025 15:35, Orzel, Michal wrote:
> 
> 
> On 25/03/2025 16:23, Julien Grall wrote:
>>
>>
>> Hi Oleksandr, Michal,
>>
>> On 25/03/2025 15:08, Oleksandr Tyshchenko wrote:
>>> On the device-tree-based Arm64 system, if Xen is built with
>>> CONFIG_ACPI=y, CONFIG_STATIC_MEMORY=y, and the static memory range
>>> is provided in the host device tree, the BUG is triggered in
>>> common/page_alloc.c during Xen's early boot. The BUG occurs when
>>> the first page from the static range is fed to the domain
>>> sub-allocator and finally ends up in mark_page_free().
>>> The pg->count_info & PGC_state is not in the state that
>>> the code expects to see there.
>>>
>>> (XEN) Checking for initrd in /chosen
>>> (XEN) Checking for "xen,static-mem" in domain node
>>> (XEN) RAM: 0000000040000000 - 00000000bfffffff
>>> (XEN)
>>> (XEN) MODULE[0]: 0000000043200000 - 0000000043343fff Xen
>>> (XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree
>>> (XEN) MODULE[2]: 0000000042e00000 - 0000000043111f82 Ramdisk
>>> (XEN) MODULE[3]: 0000000040400000 - 0000000042cfffff Kernel
>>> (XEN)  RESVD[0]: 0000000050000000 - 000000005fffffff
>>> (XEN)
>>> (XEN) CMDLINE[0000000040400000]:domU0 console=ttyAMA0
>>> (XEN)
>>> (XEN) Command line: console=dtuart conswitch=ax
>>> (XEN) pg MFN 50000 c=0x2180000000000000 o=0 v=0 t=0
>>> (XEN) Xen BUG at common/page_alloc.c:1474
>>> [snip]
>>>
>>> The problem is that the static range gets mistakenly unreserved
>>> in populate_boot_allocator() and reaches init_boot_pages().
>>> This happens since by the time the populate_boot_allocator()
>>> is executed, the evaluated in fw_unreserved_regions()
>>> an acpi_disabled variable is still false and as the result
>>> the dt_unreserved_regions() which should simply skip that static range
>>> does not get called. The acpi_disabled will be set to the actual value
>>> (in our case it is true) later on in acpi_boot_table_init().
>>   > > The important question is why acpi_disabled is false by the time
> Simply because it's a static bool variable with no assigned value i.e. gets
> defaulted to false. And it stays at default value until acpi_boot_table_init()
> call that cannot really be moved before setup_mm().
> 
>>> setup_mm() is executed. With CONFIG_ACPI=n it is a macro that is always
>>> true, but with CONFIG_ACPI=y it is a boolean that is false from the very
>>> beggining, even though the entire acpi_boot_table_init() (which is called
>>> after setup_mm()) is written with the assumption that ACPI is off by default
>>> at the start. So, initialize acpi_disabled to true during declaration
>>> if CONFIG_ACPI=y to avoid an issue and match to acpi_boot_table_init().
>>
>> While I agree that acpi_disabled should be false. It feels like a bit of
> You meant true (?) i.e. ACPI default off not to make any assumptions whether
> it's really on/off which can only be determined in acpi_boot_table_init(). I
> think we still need this patch to match the code expectation.

I agree with that.

> 
>> a workaround for the issue you are trying to solve here. If
>> fw_unreserved_regions() doesn't work with ACPI enabled, then it is still
>> a problem after your patch.
> I don't understand. It does work with ACPI enabled provided that it's indeed
> enabled. When booting with ACPI, reserved memory regions are not used - we even
> have a comment in struct bootinfo.

My concern is that some region may have been reserved and used somewhere 
else. But then a second call to fw_unreserved_regions() would free those 
regions and possibly trigger another BUG...

> The issue here is that acpi_disabled is set
> to false i.e. incorrectly there is assumption that ACPI is enabled by default
> and calling fw_unreserved_regions() prior to acpi_boot_table_init() works as
> long as we respect the expected default value.

This is arguable whether it is a bug or not. The value of acpi_disabled 
is the same as on x86. The assumption is that when CONFIG_ACPI=y, then 
ACPI is used unless it is explicitely turned off afterwards.

> 
>>
>> Furthermore, what happen if we decide to use ACPI afterwards? Wouldn't
>> this mean that the static regions would be reserved even if ACPI doesn't
>> use static memory (all the memory is expected to be given to the allocator)?
> I don't think such hybrid configuration is valid (booting with ACPI yet
> declaring reserved regions in DT). See commit:
> 9c2bc0f24b2ba7082df408b3c33ec9a86bf20cf0

I don't think the commit is preventing hybrid configuration. It is just 
saying that the region (which could be a static region because this is 
not supported) will be unreserved.

IOW, when booting with Device-Tree you may be able to use static memory. 
But if you were booting with ACPI, static memory is not supported and 
therefore the regions should be free for other purpose.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:05:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926652.1329486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx6mE-0005cd-0L; Tue, 25 Mar 2025 16:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926652.1329486; Tue, 25 Mar 2025 16:05: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 1tx6mD-0005cW-Ts; Tue, 25 Mar 2025 16:05:17 +0000
Received: by outflank-mailman (input) for mailman id 926652;
 Tue, 25 Mar 2025 16:05: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=uFHn=WM=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1tx6mC-0005cQ-KK
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:05:16 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2608::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f054a4e4-0992-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 17:05:15 +0100 (CET)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by DB3PR0302MB9133.eurprd03.prod.outlook.com (2603:10a6:10:428::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 16:05:13 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%7]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 16:05: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: f054a4e4-0992-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ity8eBcic7W8R/af0fJ62N+Wp49or8BDBg+NeUUHf2O6bZVxNKHitdEs3Bz/K4GfF8VcIhpyWWU9CYaliYzxJs8s7E3aEK9kHzY372TuU4CS+HGwkHSf+CLtWV2jE10J83AJqNy+55rhCYoe3K2uMtsVdb/YyK9VyGWzsSX4E+i+nGznNyv5J1NE8hRetpSKtGvm8NAJwRA47vXSan5AeiaJNYWHH5rHDNhgWmWsYvp4uaCSFNiiPNqYrhqRlxfrnc/7OnWy8YVWqUk5mKWb/WWO/dWf6bQT1VZYvicv/4kGaq3DpvQv/BiCp3bte+UQxuIduxTExxNn4QgSthqJkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n+xLwXX1S1PCgI2QGprnuobsNb2l5t9uLiOux5CQpg8=;
 b=xbWEw2Ucl76lgijTK8Ex2UGf1esZGoyynx5AmSaBg22jzzptqAwYCPfQTyXsNmnYpbqdqD8G87da0AXVR9fNRZHbboUebGmK/9Om++4E0WyGW7ZxtZ6SSnqjADQWWk7HRii6lV36ugZqaPfh97bvzc0WBWkJAsVMCiRz9CMsl5MaGvEqrPJafVJJAyEsCqkWLXqiYo5M/GWFYbv9RqpF9Abt6ewz2XbNfKXaK3VbAZtq3lKT+QL9Ve5nbgNIdtzPQED+nR6HkyVaz72DMs70JgUC64iI1BV3ip/TM3ivLVQGOox5FGzTbDGd7nK3yPFT2pgTgkIzy74OgCMm3t/uwA==
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=n+xLwXX1S1PCgI2QGprnuobsNb2l5t9uLiOux5CQpg8=;
 b=VQq77x7gX5x+6oTWkqaxCcIeTng5exZU7Ma5oCW/cYTC55Rwh3QINX/fL0MOrYZZI3/pcQuf5f4hN2SPSYoNUYuTks6wpkc1U5zwQ0zdMbshK/Z0j7/v3kC0eawGYQE02cw4ZvIofgrwKJ40xFe7wG0uiyYFa5YWiJuCEY6LsXmGYV8NJVpMBP65RA8rBIyefgzC+VSTnjArfA4zxneUKx0UJPzGKw1ys3/LP12QcH4Uq5fBWR7R4GQ4BROo81SaOAn7/0+SebbBvGazzyR9F6rc0eqovbLlBRtDnGoBfr8IkHYeMbkhZqn/v2Jp/1QuO8XCF6JHnecMxqQfAr6NYA==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Julien Grall <julien@xen.org>, "Orzel, Michal" <michal.orzel@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Topic: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Index: AQHbnZfMrs+h0o/uEkuTNWO41qxIcLOD+IUAgAADaoCAAAM8AIAABQEA
Date: Tue, 25 Mar 2025 16:05:12 +0000
Message-ID: <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
In-Reply-To: <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|DB3PR0302MB9133:EE_
x-ms-office365-filtering-correlation-id: 5d840703-a304-42b3-7d39-08dd6bb6d342
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?SWZSTS9nRGpwTWhjTGVxOWVSSkhyd3NPbzRjL1NWRE1ac0JvcGpIdFNFMHVW?=
 =?utf-8?B?SHRWUVdxc2lrRjRXNUhHVVEvbDY1d25VWlM2bmZ2QXovRW1XS1lYODl3T05r?=
 =?utf-8?B?a0xxMURyV21kZXlQdGlJRWNTejNGQW9pZWt2NSt6SGxiK2x3U1o4T2J0Sy9X?=
 =?utf-8?B?cGdUczZTRXZEWFp1WTEwWlVIaEVheVVMQWRhU29naGRYVk80TGlGQ25NQWdC?=
 =?utf-8?B?bEhUaW1pMDNBeDBHYmloNVZBcGFHTzRRbWlsVkxkWU41VGpaVkkrT1JBZTNh?=
 =?utf-8?B?bG5BUHplVk9TWnliL1VmRlFkK0pOUXprQ1NYZXIvVzBRZHBDUmo1cXd5Qko5?=
 =?utf-8?B?Mnc0WjZrR0hxU0kyOURtU1FETkFJdTh0YnNYSFdTcHJHQnFSTXBMelZLMFRm?=
 =?utf-8?B?bXJVakEyaEJEZU4zU0dKcHJ6Mm5xSjNZa2U3ZHRyK0o4UDAzRTFsOGVWWjNB?=
 =?utf-8?B?SUtkWjVnSkZIa1gxdnVwNmZmaG9PU0pwMWVsMTdaOUZUNkJ1aGlsR3Z0RTQ2?=
 =?utf-8?B?RFlZVkg3cG1pY3ZpNXprNkVXU3dZejgvR0Z2RXRxN3JtUC9YVktRb3B6d0lw?=
 =?utf-8?B?citRU0F5Sjl0TlNLdzZvMStQUXdwT1NYRVFodnBjVzhXWmVERTJad0NXaWl2?=
 =?utf-8?B?cXkzbnFBYnZteWo2K1dVdjJsd0NldFdOTUppeU5VMGNndWRxbVB1d1VxSTJD?=
 =?utf-8?B?R3pkYUVRVlpmd2hQY0g2SHBrU2hrblpvSjBFbFNCTXNkTzVPV0ZySWp2eWtH?=
 =?utf-8?B?a3E1Q0Q0VHpzaHhtSWRFVmlkUSt6TzY2TnQ2ZUp2VDVhSHpHV2FRRHRWUjIy?=
 =?utf-8?B?V3o5SjhJclA5Q3p3azV5c3BSZE9MZkJySGRNSElnaVVRZytiVmdjaGp2ZzlQ?=
 =?utf-8?B?eG9xZmF2Y0xMcHFFSzhjZjRZcXRZYmF5MU1FZG5aTlNjMVJmNkJpRTRsZnpC?=
 =?utf-8?B?Uzl2UVZ6Q2lZSjJVQnV4TWVqR1UzaGdqVC9IeXN2TGFVeXhWK2h4YzY1dmVF?=
 =?utf-8?B?ZUxUdmhJWnpvbkkrZmdGaUJEU0tOQzFwTTZxQ2psT1VpZFU1d0ZyRnplMWY5?=
 =?utf-8?B?L00wK2NBYnVxQXk3cXlybGd0eEFsZ0J6MmVMWmpqdTYzaU56RnBrS0hhTC93?=
 =?utf-8?B?Nmd0QWdyRDVLeU1RNWtVQjJUcjhSVGtvVm1abG1uNTNOWkd1VUxDR0ROdjdE?=
 =?utf-8?B?V3d4aUF1ODFRa2IyTHNmcjJ1a0c2OFM3TDFaeEt6bVcrUStuNkhRbFZnVENQ?=
 =?utf-8?B?OHpRMXdEbkhqakppZktJZXhEaWFEUEJYd2FTQVg3bGoyVUhBQUkyM3hza2or?=
 =?utf-8?B?Q3h2SEdRMjc1cGZNTTVxdVZueGtxdlp2dFdNS1ROVlBFajBVb0hETUlLc3Zh?=
 =?utf-8?B?Qk53NE5qTXVheVNhQXNtTEJUVkUwOHhFSEhVTWgwejlUQW0vS0N1bVJIZUxn?=
 =?utf-8?B?T0lONFU5VDUwWU9GYjN3azFXMW1VeFRpV084OTdjR1ZoZ0Z3cUgwRU13dGFj?=
 =?utf-8?B?Nk11dGpnaS9zaWwwbDZ6eHV4TGwzMWpFd01uY3Z2ajJqOFEzbzRHcllTNWYy?=
 =?utf-8?B?RUpJNDhjZ0VPMXZUeHFMQnU2YVFUMitiMjArOWJlZzcrSVQ2WFVsMzFQZy9y?=
 =?utf-8?B?YmJaV21WVERKa0NDejl3bktzY2RJWWRCU2NkNW9iN3BEZk1lckliZVo5cUpU?=
 =?utf-8?B?RXlyK0FmRkw1TWkzMUVpM2dOM09ySHg5Yy90Tkh4b2Y1bW9FdUNibmR1bUl2?=
 =?utf-8?B?RkJPVWw1eURPblAvUytNQzI5Yk43L2c4Y3hnckt2TkJnZnFYNi81TUlWQzFl?=
 =?utf-8?B?cXdKajJjSmRCQnZ1N2piUFhTWC9UVG5PUDdNVHJQNDlwNkJCZ3NRZG1YZ1Av?=
 =?utf-8?B?d1dEWkRteUdwd3R0VEI1UjI4UHdNV0RhUnZLemdSZVc0V0hhYkcxajRZWGxk?=
 =?utf-8?Q?pmluEgwHzBbvaFwE2GHmCnGlkTjYfUgT?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?S3VWSXhQRXpXQk9OdFdpNWQ1d2hkUFRJR1p6aTllaitEaGFwbEQ3bHM2dzh0?=
 =?utf-8?B?V3hrdjc3dDVoaldoak1vTHU3UnROaWNzTUs0cmpOUDJMekhiZStuRFYyOUpx?=
 =?utf-8?B?U2hPbWFpNnBLSFAwWm56U0Y2V0hsTnUva0RKY3BFVk1CMXI2VU9ZNVV3Mkdl?=
 =?utf-8?B?TFNMQmFhYnZpV2FGelpISlR0WThEQW1pYjVudXJkeEVodzJqcVBNUTFyckk4?=
 =?utf-8?B?bjl6d2hNZXRVWjBKeFRBRVdjZ2U4NTdWSmNCUXFtSDBZckt0Y3M5ekk0SkQ2?=
 =?utf-8?B?NG5ScFo2LzZMenc0N2R2VDV4Mnc4cHZIZi9SYjZDa3FKUkErSEZuZ0hGWDh0?=
 =?utf-8?B?M2VxOGYxZ0FrZFdocXNHUHNSYVA2OFdXMEgwSVpka3FoMVYrVlM2aGJ3cEcz?=
 =?utf-8?B?Vm0rWFdESzZFY1p5Q1RpNDVWSTI3bWNUWkVhK2ZZU3FMYW1uclVvYngvcEhu?=
 =?utf-8?B?MlA5ejZVWDQwaU1ueWFOQVFUT2h0bUxVZEljNE05RTRteG82V3ljY3JQODNJ?=
 =?utf-8?B?eHNxcGN5VHF5MEFyS3h0a25zNGkwZDdBVEJPWVhuRnNuK2lVUTRPYlVHcDhY?=
 =?utf-8?B?QVhYV0MyKy8rb01kbkNib0Rwem5sQzJOQzBwUTRSVHBIQWFYdk9oelBYRFBm?=
 =?utf-8?B?ZlJhcmloQ0lhOUNDMU9zK3kwVGFqb0lLT0VLQ1FVVGU2YmFncHFnU0c5NU9z?=
 =?utf-8?B?bzBwRjZYL1lQeTBSOUptQm5sZHJrcnNJMWxURDBHQ0tJa01mclE1RXJ1STYr?=
 =?utf-8?B?M1F1ZXBCbWxsZTU1Nkg3RkdWa2pSZmpEQXZQSTNudmt2dnE3dXNvb0pLQXJ4?=
 =?utf-8?B?enJSZzRQblFyRlo2ZCtjSnRSS0pxbWpObHo1Z05wTm56MFJxMWhKWkxock10?=
 =?utf-8?B?TloxRDV0ckl6eG1BUnNzc0tsN0VUVkZScVIvMWVlbVZ3TG9QK0krV0JSbUJF?=
 =?utf-8?B?dDQ2S2U3VTZ5Q2toelZSeW8rWEtLYmFSbk9lTEp4ZXFJWGRCR054bWRLNnZS?=
 =?utf-8?B?eDVLelVGZThka3RGTDJnT29WSld5RUVrRVZVdnY0VHFZVnZUSElyY2Rnb1Fz?=
 =?utf-8?B?UGFVNGNqbm5WZlprcERweVFZOVFiclgxaVhaREZZSHp6ald2UlFQOFZzN1V6?=
 =?utf-8?B?Z3Mwamo1Z1FJcExoUlBPRlMwRTRXaWNUSG9vaURjbFVKVGNsMWl6TzhZRzha?=
 =?utf-8?B?a1lCVjdRTFVEd3pvNDRtTmJ2T0FmR0VYUElmbjNLOGgxeWdQUU1BTTBvNkg4?=
 =?utf-8?B?U1Q4MzhpczdXWU9nKzhXUVhlc2ZlM1FudTViT0JadUd4N240Sy82MDQ4bnMv?=
 =?utf-8?B?M0N2Y1pNbnZPL2pObHJaYytkWkVuRG1TWmphcmg3S3RhOUxtamg4SUV6L2JJ?=
 =?utf-8?B?UHZ2cEVxM1hUSE9VV3U4MXdKdEFGeEQ0RkQ5MlgwVmtpUlVmazdXN21BbEht?=
 =?utf-8?B?ZnhEZG5Qd1ZzNlpMc3UzeTFUMlI0L2FVczJTOC9wQ1p1V2RubmJWRStPV1pH?=
 =?utf-8?B?SFRYTGFNWmpWYjVxVmdZNE5iRk56SHNkdHdORzF2K3lHU29ZU0xQcDZlQ21r?=
 =?utf-8?B?NjRseUZ6cHR2SDRIQ0RYbCtZbEd5ZklPUnFpWEd2bXlkcVB3V0ZsM1pmTWpu?=
 =?utf-8?B?azBCSGtxQ1BUWFZGUHBmREtkdzhTa3JTVGtJWFRqSWN4M09TODVKcWZIWk9a?=
 =?utf-8?B?VWlHejUwRHdDNWt3b1JCMTMvTW95WEEyWVFxRldYY0xxRGFtSEtxckxPSmJJ?=
 =?utf-8?B?eVBsWWJ4L0E1alhuUzVkdkk2U3BEc2VHSVpUeVlXWUUzRFVnRHFKd0ZuSjcy?=
 =?utf-8?B?Ym5YcXdSMDlSUjNKSjJxbkVoTGRzaTRnMlZKVVdvWnhudWRQWEVWL1BnMnVZ?=
 =?utf-8?B?a2xEUkZIMVJQVk1sY1ZtbXhtMzUzdGVtZDVjUElrKzFORjdMUXoyQkJ5KzFE?=
 =?utf-8?B?amtPcDZ4Y1pFY1p0UlhDbG9QWXEybURBd00rLzRBQ1pZZHVKTFFOamg3Nzh4?=
 =?utf-8?B?aWh0ZVBVdXd3MkpGeEJOMzlFQkE1VngrQ21aQ0dvalUvaGY3QXhkQzRhWUpF?=
 =?utf-8?B?aklmdTdldU9NaitFTHUxYy9yUXhaUm80dzBkR0RwbzV4ZHkrV3crSGZudDcz?=
 =?utf-8?B?VWZhRERWK0lNQWxCNnFIakZoNGk3emdtYlljUWpOSlhvTHEzUzNjWkE2c20x?=
 =?utf-8?Q?zTsCa3GYQxjkqLUIGiZxJaw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <56096ED5814E934E8BA843AF08334C2A@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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d840703-a304-42b3-7d39-08dd6bb6d342
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2025 16:05:12.8561
 (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: V5Q6ah74L3P5S6LIi5hTRi2CuyKNsMCqaL8uWYFjmkKZEWb7mLgcsNeh6r1RTsVHITgMTQzvy/m91jq/TUTTjWSkjeuqPw2MAHkCUGi89nw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9133

DQoNCk9uIDI1LjAzLjI1IDE3OjQ3LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQoNCkhlbGxvIEp1bGll
biwgTWljaGFsLg0KDQoNCj4gSGkgTWljaGFsLA0KPiANCj4gT24gMjUvMDMvMjAyNSAxNTozNSwg
T3J6ZWwsIE1pY2hhbCB3cm90ZToNCj4+DQo+Pg0KPj4gT24gMjUvMDMvMjAyNSAxNjoyMywgSnVs
aWVuIEdyYWxsIHdyb3RlOg0KPj4+DQo+Pj4NCj4+PiBIaSBPbGVrc2FuZHIsIE1pY2hhbCwNCj4+
Pg0KPj4+IE9uIDI1LzAzLzIwMjUgMTU6MDgsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0K
Pj4+PiBPbiB0aGUgZGV2aWNlLXRyZWUtYmFzZWQgQXJtNjQgc3lzdGVtLCBpZiBYZW4gaXMgYnVp
bHQgd2l0aA0KPj4+PiBDT05GSUdfQUNQST15LCBDT05GSUdfU1RBVElDX01FTU9SWT15LCBhbmQg
dGhlIHN0YXRpYyBtZW1vcnkgcmFuZ2UNCj4+Pj4gaXMgcHJvdmlkZWQgaW4gdGhlIGhvc3QgZGV2
aWNlIHRyZWUsIHRoZSBCVUcgaXMgdHJpZ2dlcmVkIGluDQo+Pj4+IGNvbW1vbi9wYWdlX2FsbG9j
LmMgZHVyaW5nIFhlbidzIGVhcmx5IGJvb3QuIFRoZSBCVUcgb2NjdXJzIHdoZW4NCj4+Pj4gdGhl
IGZpcnN0IHBhZ2UgZnJvbSB0aGUgc3RhdGljIHJhbmdlIGlzIGZlZCB0byB0aGUgZG9tYWluDQo+
Pj4+IHN1Yi1hbGxvY2F0b3IgYW5kIGZpbmFsbHkgZW5kcyB1cCBpbiBtYXJrX3BhZ2VfZnJlZSgp
Lg0KPj4+PiBUaGUgcGctPmNvdW50X2luZm8gJiBQR0Nfc3RhdGUgaXMgbm90IGluIHRoZSBzdGF0
ZSB0aGF0DQo+Pj4+IHRoZSBjb2RlIGV4cGVjdHMgdG8gc2VlIHRoZXJlLg0KPj4+Pg0KPj4+PiAo
WEVOKSBDaGVja2luZyBmb3IgaW5pdHJkIGluIC9jaG9zZW4NCj4+Pj4gKFhFTikgQ2hlY2tpbmcg
Zm9yICJ4ZW4sc3RhdGljLW1lbSIgaW4gZG9tYWluIG5vZGUNCj4+Pj4gKFhFTikgUkFNOiAwMDAw
MDAwMDQwMDAwMDAwIC0gMDAwMDAwMDBiZmZmZmZmZg0KPj4+PiAoWEVOKQ0KPj4+PiAoWEVOKSBN
T0RVTEVbMF06IDAwMDAwMDAwNDMyMDAwMDAgLSAwMDAwMDAwMDQzMzQzZmZmIFhlbg0KPj4+PiAo
WEVOKSBNT0RVTEVbMV06IDAwMDAwMDAwNDM0MDAwMDAgLSAwMDAwMDAwMDQzNDAyZmZmIERldmlj
ZSBUcmVlDQo+Pj4+IChYRU4pIE1PRFVMRVsyXTogMDAwMDAwMDA0MmUwMDAwMCAtIDAwMDAwMDAw
NDMxMTFmODIgUmFtZGlzaw0KPj4+PiAoWEVOKSBNT0RVTEVbM106IDAwMDAwMDAwNDA0MDAwMDAg
LSAwMDAwMDAwMDQyY2ZmZmZmIEtlcm5lbA0KPj4+PiAoWEVOKcKgIFJFU1ZEWzBdOiAwMDAwMDAw
MDUwMDAwMDAwIC0gMDAwMDAwMDA1ZmZmZmZmZg0KPj4+PiAoWEVOKQ0KPj4+PiAoWEVOKSBDTURM
SU5FWzAwMDAwMDAwNDA0MDAwMDBdOmRvbVUwIGNvbnNvbGU9dHR5QU1BMA0KPj4+PiAoWEVOKQ0K
Pj4+PiAoWEVOKSBDb21tYW5kIGxpbmU6IGNvbnNvbGU9ZHR1YXJ0IGNvbnN3aXRjaD1heA0KPj4+
PiAoWEVOKSBwZyBNRk4gNTAwMDAgYz0weDIxODAwMDAwMDAwMDAwMDAgbz0wIHY9MCB0PTANCj4+
Pj4gKFhFTikgWGVuIEJVRyBhdCBjb21tb24vcGFnZV9hbGxvYy5jOjE0NzQNCj4+Pj4gW3NuaXBd
DQo+Pj4+DQo+Pj4+IFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIHN0YXRpYyByYW5nZSBnZXRzIG1p
c3Rha2VubHkgdW5yZXNlcnZlZA0KPj4+PiBpbiBwb3B1bGF0ZV9ib290X2FsbG9jYXRvcigpIGFu
ZCByZWFjaGVzIGluaXRfYm9vdF9wYWdlcygpLg0KPj4+PiBUaGlzIGhhcHBlbnMgc2luY2UgYnkg
dGhlIHRpbWUgdGhlIHBvcHVsYXRlX2Jvb3RfYWxsb2NhdG9yKCkNCj4+Pj4gaXMgZXhlY3V0ZWQs
IHRoZSBldmFsdWF0ZWQgaW4gZndfdW5yZXNlcnZlZF9yZWdpb25zKCkNCj4+Pj4gYW4gYWNwaV9k
aXNhYmxlZCB2YXJpYWJsZSBpcyBzdGlsbCBmYWxzZSBhbmQgYXMgdGhlIHJlc3VsdA0KPj4+PiB0
aGUgZHRfdW5yZXNlcnZlZF9yZWdpb25zKCkgd2hpY2ggc2hvdWxkIHNpbXBseSBza2lwIHRoYXQg
c3RhdGljIHJhbmdlDQo+Pj4+IGRvZXMgbm90IGdldCBjYWxsZWQuIFRoZSBhY3BpX2Rpc2FibGVk
IHdpbGwgYmUgc2V0IHRvIHRoZSBhY3R1YWwgdmFsdWUNCj4+Pj4gKGluIG91ciBjYXNlIGl0IGlz
IHRydWUpIGxhdGVyIG9uIGluIGFjcGlfYm9vdF90YWJsZV9pbml0KCkuDQo+Pj4gwqAgPiA+IFRo
ZSBpbXBvcnRhbnQgcXVlc3Rpb24gaXMgd2h5IGFjcGlfZGlzYWJsZWQgaXMgZmFsc2UgYnkgdGhl
IHRpbWUNCj4+IFNpbXBseSBiZWNhdXNlIGl0J3MgYSBzdGF0aWMgYm9vbCB2YXJpYWJsZSB3aXRo
IG5vIGFzc2lnbmVkIHZhbHVlIGkuZS4gDQo+PiBnZXRzDQo+PiBkZWZhdWx0ZWQgdG8gZmFsc2Uu
IEFuZCBpdCBzdGF5cyBhdCBkZWZhdWx0IHZhbHVlIHVudGlsIA0KPj4gYWNwaV9ib290X3RhYmxl
X2luaXQoKQ0KPj4gY2FsbCB0aGF0IGNhbm5vdCByZWFsbHkgYmUgbW92ZWQgYmVmb3JlIHNldHVw
X21tKCkuDQo+Pg0KPj4+PiBzZXR1cF9tbSgpIGlzIGV4ZWN1dGVkLiBXaXRoIENPTkZJR19BQ1BJ
PW4gaXQgaXMgYSBtYWNybyB0aGF0IGlzIGFsd2F5cw0KPj4+PiB0cnVlLCBidXQgd2l0aCBDT05G
SUdfQUNQST15IGl0IGlzIGEgYm9vbGVhbiB0aGF0IGlzIGZhbHNlIGZyb20gdGhlIA0KPj4+PiB2
ZXJ5DQo+Pj4+IGJlZ2dpbmluZywgZXZlbiB0aG91Z2ggdGhlIGVudGlyZSBhY3BpX2Jvb3RfdGFi
bGVfaW5pdCgpICh3aGljaCBpcyANCj4+Pj4gY2FsbGVkDQo+Pj4+IGFmdGVyIHNldHVwX21tKCkp
IGlzIHdyaXR0ZW4gd2l0aCB0aGUgYXNzdW1wdGlvbiB0aGF0IEFDUEkgaXMgb2ZmIGJ5IA0KPj4+
PiBkZWZhdWx0DQo+Pj4+IGF0IHRoZSBzdGFydC4gU28sIGluaXRpYWxpemUgYWNwaV9kaXNhYmxl
ZCB0byB0cnVlIGR1cmluZyBkZWNsYXJhdGlvbg0KPj4+PiBpZiBDT05GSUdfQUNQST15IHRvIGF2
b2lkIGFuIGlzc3VlIGFuZCBtYXRjaCB0byBhY3BpX2Jvb3RfdGFibGVfaW5pdCgpLg0KPj4+DQo+
Pj4gV2hpbGUgSSBhZ3JlZSB0aGF0IGFjcGlfZGlzYWJsZWQgc2hvdWxkIGJlIGZhbHNlLiBJdCBm
ZWVscyBsaWtlIGEgYml0IG9mDQo+PiBZb3UgbWVhbnQgdHJ1ZSAoPykgaS5lLiBBQ1BJIGRlZmF1
bHQgb2ZmIG5vdCB0byBtYWtlIGFueSBhc3N1bXB0aW9ucyANCj4+IHdoZXRoZXINCj4+IGl0J3Mg
cmVhbGx5IG9uL29mZiB3aGljaCBjYW4gb25seSBiZSBkZXRlcm1pbmVkIGluIA0KPj4gYWNwaV9i
b290X3RhYmxlX2luaXQoKS4gSQ0KPj4gdGhpbmsgd2Ugc3RpbGwgbmVlZCB0aGlzIHBhdGNoIHRv
IG1hdGNoIHRoZSBjb2RlIGV4cGVjdGF0aW9uLg0KPiANCj4gSSBhZ3JlZSB3aXRoIHRoYXQuDQo+
IA0KPj4NCj4+PiBhIHdvcmthcm91bmQgZm9yIHRoZSBpc3N1ZSB5b3UgYXJlIHRyeWluZyB0byBz
b2x2ZSBoZXJlLiBJZg0KPj4+IGZ3X3VucmVzZXJ2ZWRfcmVnaW9ucygpIGRvZXNuJ3Qgd29yayB3
aXRoIEFDUEkgZW5hYmxlZCwgdGhlbiBpdCBpcyBzdGlsbA0KPj4+IGEgcHJvYmxlbSBhZnRlciB5
b3VyIHBhdGNoLg0KPj4gSSBkb24ndCB1bmRlcnN0YW5kLiBJdCBkb2VzIHdvcmsgd2l0aCBBQ1BJ
IGVuYWJsZWQgcHJvdmlkZWQgdGhhdCBpdCdzIA0KPj4gaW5kZWVkDQo+PiBlbmFibGVkLiBXaGVu
IGJvb3Rpbmcgd2l0aCBBQ1BJLCByZXNlcnZlZCBtZW1vcnkgcmVnaW9ucyBhcmUgbm90IHVzZWQg
DQo+PiAtIHdlIGV2ZW4NCj4+IGhhdmUgYSBjb21tZW50IGluIHN0cnVjdCBib290aW5mby4NCj4g
DQo+IE15IGNvbmNlcm4gaXMgdGhhdCBzb21lIHJlZ2lvbiBtYXkgaGF2ZSBiZWVuIHJlc2VydmVk
IGFuZCB1c2VkIHNvbWV3aGVyZSANCj4gZWxzZS4gQnV0IHRoZW4gYSBzZWNvbmQgY2FsbCB0byBm
d191bnJlc2VydmVkX3JlZ2lvbnMoKSB3b3VsZCBmcmVlIHRob3NlIA0KPiByZWdpb25zIGFuZCBw
b3NzaWJseSB0cmlnZ2VyIGFub3RoZXIgQlVHLi4uDQo+IA0KPj4gVGhlIGlzc3VlIGhlcmUgaXMg
dGhhdCBhY3BpX2Rpc2FibGVkIGlzIHNldA0KPj4gdG8gZmFsc2UgaS5lLiBpbmNvcnJlY3RseSB0
aGVyZSBpcyBhc3N1bXB0aW9uIHRoYXQgQUNQSSBpcyBlbmFibGVkIGJ5IA0KPj4gZGVmYXVsdA0K
Pj4gYW5kIGNhbGxpbmcgZndfdW5yZXNlcnZlZF9yZWdpb25zKCkgcHJpb3IgdG8gYWNwaV9ib290
X3RhYmxlX2luaXQoKSANCj4+IHdvcmtzIGFzDQo+PiBsb25nIGFzIHdlIHJlc3BlY3QgdGhlIGV4
cGVjdGVkIGRlZmF1bHQgdmFsdWUuDQo+IA0KPiBUaGlzIGlzIGFyZ3VhYmxlIHdoZXRoZXIgaXQg
aXMgYSBidWcgb3Igbm90LiBUaGUgdmFsdWUgb2YgYWNwaV9kaXNhYmxlZCANCj4gaXMgdGhlIHNh
bWUgYXMgb24geDg2LiBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0IHdoZW4gQ09ORklHX0FDUEk9eSwg
dGhlbiANCj4gQUNQSSBpcyB1c2VkIHVubGVzcyBpdCBpcyBleHBsaWNpdGVseSB0dXJuZWQgb2Zm
IGFmdGVyd2FyZHMuDQo+IA0KPj4NCj4+Pg0KPj4+IEZ1cnRoZXJtb3JlLCB3aGF0IGhhcHBlbiBp
ZiB3ZSBkZWNpZGUgdG8gdXNlIEFDUEkgYWZ0ZXJ3YXJkcz8gV291bGRuJ3QNCj4+PiB0aGlzIG1l
YW4gdGhhdCB0aGUgc3RhdGljIHJlZ2lvbnMgd291bGQgYmUgcmVzZXJ2ZWQgZXZlbiBpZiBBQ1BJ
IGRvZXNuJ3QNCj4+PiB1c2Ugc3RhdGljIG1lbW9yeSAoYWxsIHRoZSBtZW1vcnkgaXMgZXhwZWN0
ZWQgdG8gYmUgZ2l2ZW4gdG8gdGhlIA0KPj4+IGFsbG9jYXRvcik/DQo+PiBJIGRvbid0IHRoaW5r
IHN1Y2ggaHlicmlkIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWQgKGJvb3Rpbmcgd2l0aCBBQ1BJIHll
dA0KPj4gZGVjbGFyaW5nIHJlc2VydmVkIHJlZ2lvbnMgaW4gRFQpLiBTZWUgY29tbWl0Og0KPj4g
OWMyYmMwZjI0YjJiYTcwODJkZjQwOGIzYzMzZWM5YTg2YmYyMGNmMA0KPiANCj4gSSBkb24ndCB0
aGluayB0aGUgY29tbWl0IGlzIHByZXZlbnRpbmcgaHlicmlkIGNvbmZpZ3VyYXRpb24uIEl0IGlz
IGp1c3QgDQo+IHNheWluZyB0aGF0IHRoZSByZWdpb24gKHdoaWNoIGNvdWxkIGJlIGEgc3RhdGlj
IHJlZ2lvbiBiZWNhdXNlIHRoaXMgaXMgDQo+IG5vdCBzdXBwb3J0ZWQpIHdpbGwgYmUgdW5yZXNl
cnZlZC4NCj4gDQo+IElPVywgd2hlbiBib290aW5nIHdpdGggRGV2aWNlLVRyZWUgeW91IG1heSBi
ZSBhYmxlIHRvIHVzZSBzdGF0aWMgbWVtb3J5LiANCj4gQnV0IGlmIHlvdSB3ZXJlIGJvb3Rpbmcg
d2l0aCBBQ1BJLCBzdGF0aWMgbWVtb3J5IGlzIG5vdCBzdXBwb3J0ZWQgYW5kIA0KPiB0aGVyZWZv
cmUgdGhlIHJlZ2lvbnMgc2hvdWxkIGJlIGZyZWUgZm9yIG90aGVyIHB1cnBvc2UuDQoNCg0KSnVs
aWVuLCBJIHNlZSB5b3VyIHBvaW50cywgYnV0IHRoZSBjdXJyZW50IHBhdGNoIGRvZXMgbm90IGF0
dGVtcHQgdG8gDQptYWtlIHN0YXRpYyAocmVzZXJ2ZWQpIG1lbW9yeSBwcm9wZXJseSB3b3JrIG9u
IEFDUEktYmFzZWQgc3lzdGVtIChpZiBpdCANCmlzIGF2YWlsYWJsZSB0aGVyZSksIGN1cnJlbnQg
cGF0Y2ggdHJpZXMgdG8gc29sdmUgdGhlIHJlYWwgaXNzdWUgb24gDQpkZXZpY2UtdHJlZS1iYXNl
ZCBzeXN0ZW0gd2l0aCBYZW4gY29tcGlsZWQgd2l0aCBDT05GSUdfQUNQST15IChhdCBsZWFzdCAN
CnVuaW50ZW50aW9uYWxseSkuIEhvd2V2ZXIsIEkgd29uZGVyLCB3aHkgaXQgaGFzIG5vdCBiZWVu
IG5vdGljZWQgc28gZmFyLg0KDQpJdCB0b29rIHNvbWUgdGltZSB0byB1bmRlcnN0YW5kIHdoeSBq
dXN0IGVuYWJsaW5nIENPTkZJR19TVEFUSUNfTUVNT1JZPXkNCnRyaWdnZXJlZCBhIEJVRyBpbiBj
b21tb24gY29kZS4gQW5kIGl0IHR1cm5lZCBvdXQgdGhhdCBpdCB3YXMgDQpDT05GSUdfQUNQST15
IGluIG15IFhlbidzIC5jb25maWcgdGhhdCBjYXVzZWQgdGhhdCBjb25zZXF1ZW5jZSAoSSANCnNw
ZWNpYWxseSB3cm90ZSBzbyBsb25nIGRlc2NyaXB0aW9uIHRvIHByb3ZpZGUgZnVsbCBjb250ZXh0
KS4NCg0KDQoNCj4gDQo+IENoZWVycywNCj4g


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:09:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:09:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926661.1329496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx6q0-0006CY-Fo; Tue, 25 Mar 2025 16:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926661.1329496; Tue, 25 Mar 2025 16:09: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 1tx6q0-0006CR-DB; Tue, 25 Mar 2025 16:09:12 +0000
Received: by outflank-mailman (input) for mailman id 926661;
 Tue, 25 Mar 2025 16:09:10 +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 1tx6py-0006CL-M3
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:09:10 +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 1tx6py-007loX-1j;
 Tue, 25 Mar 2025 16:09:10 +0000
Received: from [15.248.2.26] (helo=[10.24.67.162])
 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 1tx6py-00Ensi-0I;
 Tue, 25 Mar 2025 16:09: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>
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=bJ4j46HN7qzpTqg9a8dRjGOk2MOybzhJfDE3VSJtcY0=; b=f/yb/F30qDteUP1qu/vvoh9G8M
	Artixa0QSfrpdHWX8kAfU7S9EunDAFdrVKs43xcRqpKrR6Dp1R6TnjR8nJcG6GVOf2TETRfIhDa5H
	asHHA5Pr7dUuwYpn+svGpinABhz0HDI0cHNKrneMg+By3i4+v1V/kc4Mj55EwkXGog+4=;
Message-ID: <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
Date: Tue, 25 Mar 2025 16:09:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Content-Language: en-GB
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "Orzel, Michal" <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

On 25/03/2025 16:05, Oleksandr Tyshchenko wrote:
>>>> Furthermore, what happen if we decide to use ACPI afterwards? Wouldn't
>>>> this mean that the static regions would be reserved even if ACPI doesn't
>>>> use static memory (all the memory is expected to be given to the
>>>> allocator)?
>>> I don't think such hybrid configuration is valid (booting with ACPI yet
>>> declaring reserved regions in DT). See commit:
>>> 9c2bc0f24b2ba7082df408b3c33ec9a86bf20cf0
>>
>> I don't think the commit is preventing hybrid configuration. It is just
>> saying that the region (which could be a static region because this is
>> not supported) will be unreserved.
>>
>> IOW, when booting with Device-Tree you may be able to use static memory.
>> But if you were booting with ACPI, static memory is not supported and
>> therefore the regions should be free for other purpose.
> 
> 
> Julien, I see your points, but the current patch does not attempt to
> make static (reserved) memory properly work on ACPI-based system (if it
> is available there), current patch tries to solve the real issue on
> device-tree-based system with Xen compiled with CONFIG_ACPI=y (at least
> unintentionally). 

I am not asking to make ACPI work with static memory. I am asking to not 
break ACPI if the Device-Tree is specifying static memory region.

> However, I wonder, why it has not been noticed so far.

ACPI is not a supported feature and gated by UNSUPPORTED. So the 
implication is you have enabled UNSUPPORTED and anything can happen 
really ;).

> 
> It took some time to understand why just enabling CONFIG_STATIC_MEMORY=y
> triggered a BUG in common code. And it turned out that it was
> CONFIG_ACPI=y in my Xen's .config that caused that consequence (I
> specially wrote so long description to provide full context).

As I wrote above, the only thing I am asking is that memory for static 
regions should be unreserved when ACPI is enabled like it is already the 
case today.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:17:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926671.1329505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx6xh-0000OO-8m; Tue, 25 Mar 2025 16:17:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926671.1329505; Tue, 25 Mar 2025 16:17: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 1tx6xh-0000OH-59; Tue, 25 Mar 2025 16:17:09 +0000
Received: by outflank-mailman (input) for mailman id 926671;
 Tue, 25 Mar 2025 16:17: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx6xf-0000O8-S4
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:17:07 +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 97ebba27-0994-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 17:17:05 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so3136804f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 09:17: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
 ffacd0b85a97d-3997f9ef23esm14023550f8f.81.2025.03.25.09.17.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 09: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: 97ebba27-0994-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742919425; x=1743524225; 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=Nzom9g4Ka5TevUtw1wU09d/0vW6yFxavyu5lSqFcITk=;
        b=VDOwYuXvSvUoJzdzs1Zbt68UAL4vI9Mo0ZRV9ETB5nekb9VIi8e1b8gUK+dyiPoLnk
         /dHTu9HV8mEUQS3HHVTwVW7JSWMffuZ/YCutW2PZMZO+zlzNBxCb6B62uFzWfng81Os6
         aa3hQ7S38G3Zi/Qz3kyp1UijINOpb5kgbwCAfSi+Du4DNeIZWYD6YOKCT7i1Hjucu1VK
         PpCyxCJRXWpzAMS5slSwTyGNhnie0OY9CL5CmGdkS5LTobZLQit/z33oQ0KVt6/Lfgbz
         cozyYkgcSjCs/aKEdmkqALZUBar1Eu/WGPBf8t4jaNbfC1xle0tfWZj0frQ2FJejnFpD
         tCaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742919425; x=1743524225;
        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=Nzom9g4Ka5TevUtw1wU09d/0vW6yFxavyu5lSqFcITk=;
        b=az4o5hiUQw0fmRBY6XC2orLxX3MvsgFGpQiMyDC6e8RVQ0Bv/I1QJ08we0hI3hqhj1
         iHFqqBJCicgpYaXJJxUJgUlKcIvp+K7qEB1dQqqHhaAyiLpq2B3N/mGVodnpMSD4B58u
         ILNGkrOL1umXYXJejUOJG9yhaRPxfPv93nZMGK2Hp0hN3X7HpvFsVXCK22Nw0LahZAlV
         1aZu8qPVDNB5ezozxgpGIJBYrN4tIneJf+6abbsbO1StLAy3+sAjqGg4SP+N+xjIQYRD
         qCdHGnAZHzeviApTaQdg4CxRAFXelezQr+ZIDxjMNpmnJjJnmJJqUx2D5UH+4nwfYM5u
         gNcw==
X-Forwarded-Encrypted: i=1; AJvYcCXS5Mtr8gv47ffC4NiH6xGfvUexHCo9Mk4Mu4BUZbmoYUVAhrv0EU+NnRjxg0YFbGTaYIds45qqNag=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz61VMVQjIFo6mWGklSOQz7GMyaEj9fPQt6DSILHjTJr8mj8YSW
	78q8xtYG57L/Hq8sJAl6jqYHI6qVE6uadUDbK7Um2yogyRKULSO3SuK50V1ZFA==
X-Gm-Gg: ASbGnctGdt9NoZOrqo7fsuVgg5orW4nV0/RWCDUYBWfxmrKcfWMeE0BmLmQEIk5CnMP
	Xxc0tb+obonfXOzbsLdaAXdzL0MP0sn+numIkNoinJyfrUVAltR8EslxxZnNdbCOlLUK3jwbPnS
	jyvHsmkI6Yu1TiJ5wTh8C4UR+oUNAgporaHNjIGcbbz8er3IOgcEJ73PcRs6YftMZU17AEh/LTp
	gy05mccQNbd/VxJi8eD83J1RVHUkZrlF2h9+Ze4h5ygBo0vA/A5dWA6IQcIcjldztybD6clzIKr
	vdQsmukyYrKi3rBsCOp3tWNPZ+TkIAfDDYQaKrOXDL8pr0LdVxjQzi6UUfIXWFJpNrm/dsonSp0
	7l/S7LO1EBMLH69TSqMZkQ0C9v1AdEY6OsZcUC8IB
X-Google-Smtp-Source: AGHT+IFAMF5I9YU7m8Jb60Oer9qE9T5DhfVykQZ4NtX7buysg8XRTsEGTIIKCjRzTnfRw1k9AA5epA==
X-Received: by 2002:a5d:5982:0:b0:391:2b11:657 with SMTP id ffacd0b85a97d-3997f92d423mr18749416f8f.38.1742919425210;
        Tue, 25 Mar 2025 09:17:05 -0700 (PDT)
Message-ID: <45640c36-0b7d-4502-bf4d-df1c1d17d528@suse.com>
Date: Tue, 25 Mar 2025 17:17:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen/acpi: upload power and performance related
 data from a PVH dom0
To: Penny Zheng <Penny.Zheng@amd.com>, Roger Pau Monne <roger.pau@citrix.com>
Cc: Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
 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>
References: <20250306110824.1506699-1-Penny.Zheng@amd.com>
 <20250306110824.1506699-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: <20250306110824.1506699-2-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.03.2025 12:08, Penny Zheng wrote:
> From: Roger Pau Monne <roger.pau@citrix.com>
> 
> When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
> report the correct numbers of vCPUs that dom0 has, so the host MADT is
> not provided to dom0.  This creates issues when parsing the power and
> performance related data from ACPI dynamic tables, as the ACPI
> Processor UIDs found on the dynamic code are likely to not match the
> ones crafted by Xen in the dom0 MADT.
> 
> Xen would rely on Linux having filled at least the power and
> performance related data of the vCPUs on the system, and would clone
> that information in order to setup the remaining pCPUs on the system
> if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
> that none of dom0 CPUs will have the power and performance data
> filled, and hence the Xen ACPI Processor driver needs to fetch that
> information by itself.
> 
> In order to do so correctly, introduce a new helper to fetch the _CST
> data without taking into account the system capabilities from the
> CPUID output, as the capabilities reported to dom0 in CPUID might be
> different from the ones on the host.
> 
> Note that the newly introduced code will only fetch the _CST, _PSS,
> _PPC and _PCT from a single CPU, and clone that information for all the
> other Processors.  This won't work on an heterogeneous system with
> Processors having different power and performance related data between
> them.
> 
> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
>  drivers/xen/pcpu.c               |   3 +-
>  drivers/xen/xen-acpi-processor.c | 232 ++++++++++++++++++++++++++++---
>  include/xen/xen.h                |   2 +-
>  3 files changed, 216 insertions(+), 21 deletions(-)

No dependency on another patch is mentioned anywhere (the cover letter
only says the series is based on the very patch here), yet the bulk of
the changes here (to drivers/xen/xen-acpi-processor.c) are meaningless
for a PVH Dom0, because of

config XEN_ACPI_PROCESSOR
	tristate "Xen ACPI processor"
	depends on XEN && XEN_PV_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ

(note the XEN_PV_DOM0 in there). Is the patch here perhaps missing an
adjustment to the above, to use XEN_DOM0 instead?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:26:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926683.1329515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx76o-00039G-6U; Tue, 25 Mar 2025 16:26:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926683.1329515; Tue, 25 Mar 2025 16:26: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 1tx76o-000399-41; Tue, 25 Mar 2025 16:26:34 +0000
Received: by outflank-mailman (input) for mailman id 926683;
 Tue, 25 Mar 2025 16: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx76n-000393-L0
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:26:33 +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 e72f2ed4-0995-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 17:26:28 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39149bccb69so5159641f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 09:26: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
 ffacd0b85a97d-3997f9f682bsm14035370f8f.101.2025.03.25.09.26.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 09:26: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: e72f2ed4-0995-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742919988; x=1743524788; 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=aomz1MzpaWOPvW7CCQj1qPGB9OY7E6EgTrGj3yfvO18=;
        b=AasJZ24SRA03ak5U36nSJbUcT+XyPquGdViTW3xAseYXhJSiItpi+jq5ZOuF4uprN5
         GBqalbawuj+gFN9HWfptMqeF2ihcwtGFpvKDUKSveq5Q+BDDbZWVPvFUOQv+Lpct9SxJ
         miz6/TZNkQa/xP2MRl28Rc2c32VJlERXAdQTMRxKoM3tINOqOOYRIC+xg3aCV0kkrkCv
         wd8wowJzzu/PncppiJaEirm5HZrnaDmV7j6ClQXXAE2aUBC5YaJabmH2J4IL9mlhboNq
         I8qCWAnmcq4SnN/8la2ULMXYrvSB34ehSJpcunJ8Ybe2gz8W4KZjCWTu54/TjGTXbdG0
         ObsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742919988; x=1743524788;
        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=aomz1MzpaWOPvW7CCQj1qPGB9OY7E6EgTrGj3yfvO18=;
        b=pp+rZO/f4tscmDHO4j66jMAP+pHwVSgaA/vjTqCMOU0m7xbGRtDUWjjjLuyZYDi/ni
         pqnpF64EU/7f4OZbdA556eHwp495E6coBSKxhlKdzE1F5YKOZcUKAyyoXJ/jjrHCyVAc
         kOSj8Bzoh7C71Ijee2ZZGPKUmzGSR2fH7QsER99B1DO77dTQVXq2OnSK3ZzFHR63ijB8
         JKGtyBfq7n4YVFr41Usi7Xk0HK7LoUn0HY+01JCiODAsuOYWSu3GANdCFWIsHCjBrFSv
         F8NzUp1jpBLIHEIKn3xts+Njhdi7VsW7NfJOThrL9WwVY2n8R7XOQCD2mWq1324y8R0N
         v7Tg==
X-Forwarded-Encrypted: i=1; AJvYcCVpgyaXNnYJ2yR2xl+o0i6xzz2G54eQ06K/lWMfl+uJ35rqr7T4xBwtDbr1XvbnkzVePi3zdHlKh00=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyhpKbOTvhTJ87Pb3d0G8vry3DiBX9iOWyP4507uXnt4i1w1TIg
	JRD6ck4JbXLzea/kaXFCbSh5z5KvqNuoToWsfMA1v5Clh8tL9J0RtYF43qYFsA==
X-Gm-Gg: ASbGncuwO+Z+iyr3AfOOrtqJjsXhG4e9sI81Xmp6Y+FWWlAHZ7DoTeP1WjCn0s/5wpD
	Yh/MqYg770xt9WZ2TLKfjGt21npFKsY9bUKdcrBZk1qaWiDcwx7EeKPB6X1VTvmHWWK+/u5DmbN
	rf413EnpxS1FwcXkpfZ5lGDdUgv4JxgR0IR+50wnFZjzVfLu1KF85AdKRVyyY8Nc5wH6ONwyat7
	Rbf7TNbQB7y2qWlke+FQO/ODg0Ps8TY6sCUcWDpfrVhUT1lCeWq4v73UiW1gXxKmM02UR+gbgh5
	/zed6CDC6waBZ00VFgkpOkNtlv+IliKkv6xyetyZAyOdHwF0FFdyxfGoP7BTLsTJVk04uW4pp5a
	I/m1fFDdOkFxA1J3W14fLLZ+RaZ9dLQ==
X-Google-Smtp-Source: AGHT+IFpTsH2Uozah9LwgJ/BYXJMUjj7Mlwn/BXOJYSyNKQC9Q5yyGrY8j4e+9R7Hvu2jKiu/Spa1Q==
X-Received: by 2002:a05:6000:1f87:b0:391:2ba9:4c59 with SMTP id ffacd0b85a97d-3997f93988amr16734608f8f.43.1742919987704;
        Tue, 25 Mar 2025 09:26:27 -0700 (PDT)
Message-ID: <5a0e1f5f-c08b-4045-98df-dec73ece028c@suse.com>
Date: Tue, 25 Mar 2025 17:26:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
To: 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
 <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
 <ee8b8e09-9b0b-4757-989c-b7d81721c325@gmail.com>
 <3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com>
 <e6e64e58-a26a-44cc-b708-5bf510b041c8@gmail.com>
 <a6d511ec-38bc-4fad-9e08-462b7c10eac4@suse.com>
 <238a9b67-a4f3-4f97-9d13-11a35884be0b@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: <238a9b67-a4f3-4f97-9d13-11a35884be0b@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 15:46, Oleksii Kurochko wrote:
> 
> On 3/25/25 2:47 PM, Jan Beulich wrote:
>> On 25.03.2025 14:02, Oleksii Kurochko wrote:
>>> On 3/25/25 12:52 PM, Jan Beulich wrote:
>>>> On 25.03.2025 12:48, Oleksii Kurochko wrote:
>>>>> On 3/24/25 1:31 PM, Jan Beulich wrote:
>>>>>> On 21.03.2025 17:17, Oleksii Kurochko wrote:
>>>>>>> H provides additional instructions and CSRs that control the new stage of
>>>>>>> address translation and support hosting a guest OS in virtual S-mode
>>>>>>> (VS-mode).
>>>>>>>
>>>>>>> According to the Unprivileged Architecture (version 20240411) specification:
>>>>>>> ```
>>>>>>> Table 74 summarizes the standardized extension names. The table also defines
>>>>>>> the canonical order in which extension names must appear in the name string,
>>>>>>> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
>>>>>>> RV32IMACV is legal, whereas RV32IMAVC is not.
>>>>>>> ```
>>>>>>> According to Table 74, the h extension is placed last in the one-letter
>>>>>>> extensions name part of the ISA string.
>>>>>>>
>>>>>>> `h` is a standalone extension based on the patch [1] but it wasn't so
>>>>>>> before.
>>>>>>> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
>>>>>>> and for that version it will be needed to encode H extensions instructions
>>>>>>> explicitly by checking if __risv_h is defined.
>>>>>> Leaving aside the typo, what is this about? There's no use of __riscv_h in
>>>>>> the patch here, and ...
>>>>> It is going to be used in future patches:https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32
>>>> For this and ...
>>>>
>>>>>>> @@ -25,10 +24,13 @@ $(eval $(1) := \
>>>>>>>     	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>>>>>>     endef
>>>>>>>     
>>>>>>> +h-insn := "hfence.gvma"
>>>>>>> +$(call check-extension,h)
>>>>>> ... this, if it fails, will not have any effect on the build right now
>>>>>> afaics.
>>>>> No, it won't have any affect now as instruction from H extension isn't used now.
>>>>> But it will beneededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/
>>>>> and for p2m changes mentioned above.
>>>> ... this both being future work, it might help if it could be made clear
>>>> right here how things are going to work (with both gcc12 and up-to-date
>>>> gcc).
>>> I can update the commit message with the following:
>>> ```
>>> If 'H' extension is supported by compiler then __riscv_h will be defined by
>>> compiler (for gcc version >= 13.1).
>>> For gcc12 it will be needed to:
>>> #ifdef __riscv_h
>>>    asm volatile ("h extension instruction");
>>> #else
>>>    asm volatile ("|.insn ..."); #endif ```
>> Okay, that's what I was concerned about. __riscv_h is a compiler indication.
>> It means nothing about H extension insns being supported by the assembler
>> (except perhaps for Clang's integrated one). The check-extension thing in
>> the Makefile will actually check both in one go. Yet then the hfence.* insns
>> have been in binutils since 2.38, i.e. pre-dating gcc12.
> 
> It is still needed to have or #ifdef-ing or workaround mentioned below ...
> 
>>
>>> Or probably it will be easier not to ifdef-ing
>>> everything with __riscv_h but just return back a workaround with the
>>> following changes: ``` $ git diff diff --git a/xen/arch/riscv/arch.mk
>>> b/xen/arch/riscv/arch.mk index f29ad332c1..3bd64e7e51 100644 ---
>>> a/xen/arch/riscv/arch.mk +++ b/xen/arch/riscv/arch.mk @@ -24,13 +24,17
>>> @@ $(eval $(1) := \ $(call as-insn,$(CC)
>>> $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1))) endef -h-insn :=
>>> "hfence.gvma" -$(call check-extension,h) +
>>> +h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301,
>>> hh, h) +h-extension-name-$(CONFIG_CC_IS_CLANG) := h +
>>> +$(h-extension-name-y)-insn := "hfence.gvma" +$(call
>>> check-extension,$(h-extension-name-y)) zihintpause-insn := "pause"
>>> $(call check-extension,zihintpause) -extensions := $(h) $(zihintpause)
>>> _zicsr_zifencei_zbb +extensions := $($(h-extension-name-y))
>>> $(zihintpause) _zicsr_zifencei_zbb extensions := $(subst
>>> $(space),,$(extensions)) ``` I prefer more a little bit the second
>>> option with having the workaround for GCC version. ~ Oleksii |
>> I fear this ended up unreadable.
> 
> ... something happen with formatting:
> 
> diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> index f29ad332c1..3bd64e7e51 100644
> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -24,13 +24,17 @@ $(eval $(1) := \
>          $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>   endef
>   
> -h-insn := "hfence.gvma"
> -$(call check-extension,h)
> +
> +h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, hh, h)

It all else fails, that's an option. The downside is that such version checks
break if someone backports the respective change to an older version. Probing
support for the actual command line option would be better. Why would

$(call check-extension,hh)
$(call check-extension,h)

not work, btw? (Of course, if the above was an option, something slightly
smarter may still want using, so that e.g. we avoid probing both in the more
common case [going forward] that "h" is what is supported.)

Jan

> +h-extension-name-$(CONFIG_CC_IS_CLANG) := h
> +
> +$(h-extension-name-y)-insn := "hfence.gvma"
> +$(call check-extension,$(h-extension-name-y))
>   
>   zihintpause-insn := "pause"
>   $(call check-extension,zihintpause)
>   
> -extensions := $(h) $(zihintpause) _zicsr_zifencei_zbb
> +extensions := $($(h-extension-name-y)) $(zihintpause) _zicsr_zifencei_zbb
>   
>   extensions := $(subst $(space),,$(extensions))
> 
> ~ Oleksii
> 



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:35:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:35:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926692.1329526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7Fp-0005sC-1c; Tue, 25 Mar 2025 16:35:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926692.1329526; Tue, 25 Mar 2025 16:35: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 1tx7Fo-0005s5-Ut; Tue, 25 Mar 2025 16:35:52 +0000
Received: by outflank-mailman (input) for mailman id 926692;
 Tue, 25 Mar 2025 16:35: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx7Fn-0005rx-HC
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:35:51 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3626ec78-0997-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 17:35:50 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-abec8b750ebso1066280766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 09:35:50 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efbd3d25sm875226066b.125.2025.03.25.09.35.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 09:35: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: 3626ec78-0997-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742920550; x=1743525350; 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=nwmCkfioYO61w5s0JKfSQqcxqsT4neLWRjigXwzHRAk=;
        b=kr/I69/7E6LU131eRT6ewK9nHLXh+rFgxE/U8eme7MgQv4E2ehQ6kTqCshI7ZIV0sI
         Mhv1YHlvMVQliW1RBEcJBFo75AjzxbKnUvUEZizStdytquQdmXfLmwB/ATzKprLU/Ggp
         JQDgDSEAQUq3jXgjNmRXhGhPNxDIEtXBYzPFEFMHw5WzHlzvHCP3De5QBVyjbkwgamlx
         l2+Po9ntGVWMO/Vf2iuEB6GNxFvQTLXPqUkAHiHCDDQA+Nm2AlY7/8WREAzSuY6v8n8/
         Xva1JV5YFTObwD62Yp9CjOsF/Mx0Akk5wkLGMImglx7oN9mxAbpDPLI9fE9Hp4QhYOu5
         KtKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742920550; x=1743525350;
        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=nwmCkfioYO61w5s0JKfSQqcxqsT4neLWRjigXwzHRAk=;
        b=OmELHmlqMi0IuEs/cCefcaMRdR3keDvkxaDDnclWGRxIow2BHLyaBFGY3p6gdWTZGk
         J4IQQlciM1QMpphXbooQNtxEPVe8ItZOOuxAApWTX3GhV2Qu+y3jsJsdTbYpVEteT7rr
         RcsDkO+5POvpDCraYPDe50VCmowqJ7G656moSrEjM083Oe5MSx5WdwJf7iUPstbiI8ti
         klG7GrQv8VzE+Fb6ZkmIBfanX8dplCF0/loePftWBMYUI79nHJvt9rjsibYyZJfj1Mbh
         L9EaVu8KEZAditKMK/OYvnhQpBBcEBFRiFZ/8KDNrdESggVY9G4WkA6RVw8poJ9wZvTp
         uDEg==
X-Gm-Message-State: AOJu0YzZ8pNjPnNxNo6gLmL8MxhBRpp4HT9rKkkH8WuBmuTp6GZ8b6Df
	fPRJ0EUQoEVp8GRLXSu3L1wnmg2ltmlYNVez7qWx7EvXqOCUoMa9
X-Gm-Gg: ASbGncscD/Ltr4vqa4wLvRFXkzqJ/8Em/IugUdhFlMk1T2iF50+P4zhhNG1XGkOgDia
	qDDw0hmEUtWh236n3UPp+4uPQdvqfLaCIE03FJ9OGbmjb9u+ujuFIXW8fRIRfA2ZIEmDNQOYFNn
	6HgkV2UbHVeVn2w0c7fHwTaVyBDIJm9n7P0w8yqo4stVD+MrZ9RKBjLVbRFoiuKx0aw3+PtYBxx
	3wpDwd3CcXyqwL21yvVYUEl92ZO2eJSjpo466l3hJBliSWk6/MKZuf/nIAZWB4pyVt18WdB3JXk
	BublnUnouwnQs8H6Bbnz7v50LRvuNhauy+KB16t0VPcpS3ILHGhUEZv1TcaGxqYRz03jrGbcLVl
	I3++ZOVnDYn2Zj4nMfzSm
X-Google-Smtp-Source: AGHT+IEnM5aOMnZmXYgKj777+1uY49F00+Q83G5ewHbtqQ3Eg7QlWn7ivKrshCtawW50p2BmJhABJA==
X-Received: by 2002:a17:907:2ce3:b0:ac3:17bb:34fc with SMTP id a640c23a62f3a-ac3f2530bb2mr1641258566b.52.1742920549329;
        Tue, 25 Mar 2025 09:35:49 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------E4gwTEZHR9vy0Dee7ApGWh04"
Message-ID: <7cfbd773-de4b-459f-8fa9-7c6ed19fe0ad@gmail.com>
Date: Tue, 25 Mar 2025 17:35:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
 <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
 <927264c2-0b99-4d60-97f8-31bcd0d64aa6@suse.com>
 <a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com>

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


On 3/7/25 1:12 PM, Andrew Cooper wrote:
> On 07/03/2025 12:01 pm, Jan Beulich wrote:
>> On 07.03.2025 12:50, Oleksii Kurochko wrote:
>>> On 3/6/25 9:19 PM, Andrew Cooper wrote:
>>>> On 05/03/2025 7:34 am, Jan Beulich wrote:
>>>>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>>>>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>>>>> retain a shorthand of that name, if so desired, but I see no reason why
>>>>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
>>>> The concern is legibility and clarity.
>>>>
>>>> This:
>>>>
>>>>   Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>>>>
>>>> is a clear expression in a way that this:
>>>>
>>>>   Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>>>>
>>>> is not.Â  The problem is the extra binary expression, and this:
>>>>
>>>>   Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>>>>
>>>> is still clear, because the reader doesn't have to perform a multiply to
>>>> just to figure out what's going on.
>>>>
>>>>
>>>> It is definitely stupid to have each architecture provide their own
>>>> BITS_PER_*.Â  The compiler is in a superior position to provide those
>>>> details, and it should be in a common location.
>>>>
>>>> I don't particularly mind how those constants are derived, but one key
>>>> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
>>> What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)
>>>
>>> #define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
>>> #define BITS_PER_INTÂ  (BYTES_PER_INT << 3)
>>>
>>> #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
>>> #define BITS_PER_LONG (BYTES_PER_LONG << 3)
>>> #define BITS_PER_BYTE 8
> The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
> straight up, and this will simplify quite a lot of preprocessing.

Could we really drop *_BYTEORDER?

For example, LONG_BYTEORDER for Arm could be either 2 or 3 depends on Arm32 or Arm64 is used.

>
>>> Also, it seems like the follwoing could be moved there too:
>>>
>>> #define POINTER_ALIGN  BYTES_PER_LONG
>> This one is likely fine to move.
>>
>>> #define BITS_PER_LLONG 64
>> This one is only fine to move imo when converted to
>>
>> #define BITS_PER_LONG (BYTES_PER_LLONG << 3)
> Erm?Â  That's mixing long and long long types.Â  Presuming that's an
> errant L, then sure.
>
>>> #define BITS_PER_BYTE 8
>> Personally I'd rather leave this per-arch. The others can truly be derived;
>> this one can't be. If we centralize, imo we should also convert the " << 3"
>> to " * BITS_PER_BYTE".
> It is highly unlikely that Xen will ever run on a system where CHAR_BIT
> isn't 8.
>
> So I suggest it stays central to reduce complexity.Â  If an arch ever
> needs to change it, the complexity can be added then.

Does it make sense to ifdef that? Or, at least, before defintion of BITS_PER_BYTE something like:
#if CHAR_BIT != 8
#error "CHAR_BIT isn't 8"
#endif

~ Oleksii

--------------E4gwTEZHR9vy0Dee7ApGWh04
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 3/7/25 1:12 PM, Andrew Cooper wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com">
      <pre wrap="" class="moz-quote-pre">On 07/03/2025 12:01 pm, Jan Beulich wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 07.03.2025 12:50, Oleksii Kurochko wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 3/6/25 9:19 PM, Andrew Cooper wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 05/03/2025 7:34 am, Jan Beulich wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
retain a shorthand of that name, if so desired, but I see no reason why
each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">The concern is legibility and clarity.

This:

 Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)

is a clear expression in a way that this:

 Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)

is not.Â  The problem is the extra binary expression, and this:

 Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)

is still clear, because the reader doesn't have to perform a multiply to
just to figure out what's going on.


It is definitely stupid to have each architecture provide their own
BITS_PER_*.Â  The compiler is in a superior position to provide those
details, and it should be in a common location.

I don't particularly mind how those constants are derived, but one key
thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)

#define BYTES_PER_INTÂ  (1 &lt;&lt; INT_BYTEORDER)
#define BITS_PER_INTÂ  (BYTES_PER_INT &lt;&lt; 3)

#define BYTES_PER_LONG (1 &lt;&lt; LONG_BYTEORDER)
#define BITS_PER_LONG (BYTES_PER_LONG &lt;&lt; 3)
#define BITS_PER_BYTE 8
</pre>
        </blockquote>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
straight up, and this will simplify quite a lot of preprocessing.</pre>
    </blockquote>
    <pre>Could we really drop *_BYTEORDER?

For example, LONG_BYTEORDER for Arm could be either 2 or 3 depends on Arm32 or Arm64 is used.

</pre>
    <blockquote type="cite"
      cite="mid:a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">
Also, it seems like the follwoing could be moved there too:

#define POINTER_ALIGN  BYTES_PER_LONG
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">This one is likely fine to move.

</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">#define BITS_PER_LLONG 64
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">This one is only fine to move imo when converted to

#define BITS_PER_LONG (BYTES_PER_LLONG &lt;&lt; 3)
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Erm?Â  That's mixing long and long long types.Â  Presuming that's an
errant L, then sure.

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">#define BITS_PER_BYTE 8
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">Personally I'd rather leave this per-arch. The others can truly be derived;
this one can't be. If we centralize, imo we should also convert the " &lt;&lt; 3"
to " * BITS_PER_BYTE".
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
It is highly unlikely that Xen will ever run on a system where CHAR_BIT
isn't 8.

So I suggest it stays central to reduce complexity.Â  If an arch ever
needs to change it, the complexity can be added then.</pre>
    </blockquote>
    <pre>Does it make sense to ifdef that? Or, at least, before defintion of BITS_PER_BYTE something like:
#if CHAR_BIT != 8
#error "CHAR_BIT isn't 8"
#endif

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

--------------E4gwTEZHR9vy0Dee7ApGWh04--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:37:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:37:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926700.1329535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7Hc-0006Pl-CU; Tue, 25 Mar 2025 16:37:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926700.1329535; Tue, 25 Mar 2025 16: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 1tx7Hc-0006Pe-9n; Tue, 25 Mar 2025 16:37:44 +0000
Received: by outflank-mailman (input) for mailman id 926700;
 Tue, 25 Mar 2025 16:37: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=Gb8l=WM=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tx7Hb-0006PW-3N
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:37:43 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062c.outbound.protection.outlook.com
 [2a01:111:f403:200a::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 777069be-0997-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 17:37:41 +0100 (CET)
Received: from DS7PR05CA0070.namprd05.prod.outlook.com (2603:10b6:8:57::28) by
 CH3PR12MB8460.namprd12.prod.outlook.com (2603:10b6:610:156::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 16:37:34 +0000
Received: from DS1PEPF00017099.namprd05.prod.outlook.com
 (2603:10b6:8:57:cafe::9) by DS7PR05CA0070.outlook.office365.com
 (2603:10b6:8:57::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Tue,
 25 Mar 2025 16:37:34 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF00017099.mail.protection.outlook.com (10.167.18.103) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 16:37:34 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 25 Mar
 2025 11:37:33 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 25 Mar
 2025 11:37:33 -0500
Received: from [172.22.20.237] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 11:37:32 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 777069be-0997-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oc2l98v99r9yWY4teGDH1J2VsL0x7YDTIwYrNgYbvb+Wwd4+reVU4Bgv5IPn5lL85Mzv4PSZOvQzUMc3rUo0Jzrbn+q7x20c4zHJgTpvBxtOkYb61x4AmBNx0gO0VVqtJCpaYwXl7/9BZsj3kLuOS/7yh1WvB7C4WsNIhI82lPcoZHi1Tk5N7pNBL1og3mbLAtB/bofzUGO92xYo/hAkw4PdbXCi8v6fzuo/BlkE+0LHYMUTlvFX5aSxGj1HLLACKa2b+ixiR232kQNnNe+Q7D6nMyutKI/rvpbZRDSzsjh2H02nraPPV496+tLvJ+oGLMczsDVfla30ZQSMwB/F6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vBMrt+AILPCIvhl8gFDMn6YmrPFPBBczacbOkXP2Rpw=;
 b=MAhB8w3EidgTBylvzR5JSixvQQ3bIortpYfbhUloYSbuJk7/4iWW7HWTE7dsedmVUj9le1U2Bp2pR0F9iEtn1JHRQN291oNf4L67/JCvCpvDJ1J/dyM64ObZ5NW+xAyPtGv/TNiyG+Oa7ISrZ9j5B1JFGuRFxOIDuHsGZgmCokPT6rFMC92DgBPg4eg+w9flDXmh3tjzEclXmJAQfHN+c0SaTPXqHwvKZTPittw/Iko95ZWsY6WfCo+mqwyYr7bo3bA3jhCX2EHJZGw6Kg2UABXt9LXdiE6X43Y/i6EI/1rEVTsvgvx5r4A5bTt+7sgfEpi4u4QN/orF+1I/r5QDXg==
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=vBMrt+AILPCIvhl8gFDMn6YmrPFPBBczacbOkXP2Rpw=;
 b=LNW7Ehv0uGHiq+CHnEghoq3D5NK2g7LufCCnsh2XeSQUqoRDoGjI8+ae19YOOJb7AvS5U3FkSF6lpBBlV/12hSJ3vn2nqG8CNyhsLCLiiTbE1RCcBuljWLOUrxU9sU47pOwwkEULYl0ITR1x5ocnDaMg5211mp5OGPkWYxWA6f4=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <490094f1-001a-436f-a9a8-dc982235b2ae@amd.com>
Date: Tue, 25 Mar 2025 12:37:35 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 14/15] xen/xenpm: Adapt cpu frequency monitor in xenpm
To: Jan Beulich <jbeulich@suse.com>, Penny Zheng <Penny.Zheng@amd.com>, "Jason
 Andryuk" <jandryuk@gmail.com>, Anthony PERARD <anthony.perard@vates.tech>
CC: <ray.huang@amd.com>, Juergen Gross <jgross@suse.com>,
	<xen-devel@lists.xenproject.org>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-15-Penny.Zheng@amd.com>
 <6f5a81d7-c650-46d2-b667-6b7c3bc54c41@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <6f5a81d7-c650-46d2-b667-6b7c3bc54c41@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: DS1PEPF00017099:EE_|CH3PR12MB8460:EE_
X-MS-Office365-Filtering-Correlation-Id: 7acdd718-2e04-418d-b025-08dd6bbb586d
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?OXg2bkp3ODEwelZNdzYvTkdxZ0RDQzI2L3Jtb2FNS0t6RHhsQVZ1K2NSUVFk?=
 =?utf-8?B?RGgzMWpscGZQRTNnNkc0Tnc5SmIrTldaR2dRd21VUDlrRFNVR0JDMXRTQ3VI?=
 =?utf-8?B?dGVUak9XbW1uMGxReUIyY1ZtL0VXUGtnMEZmdGVTam0vazZrNHBHRlpLWFhX?=
 =?utf-8?B?SEF6dllaL3dwNG5BN0c5cXB4YjJSbStodmgvenZkQjJsUGtVZitDNkJpRFVQ?=
 =?utf-8?B?ckFKdGFjWUFwMVlGNnF6dnJPckNEOGNOV3FrcnhWdjhmRTBBV3E3M0Y4WnZS?=
 =?utf-8?B?ZVREcTVNRGxsa2dZYlpGdHMrSHFSZkRRd05xc1ZDUE5vREJuek5raFFleDNZ?=
 =?utf-8?B?NFdrK1Q4amNMNHduaUg0aWZiYXVqZHJURnN2WUpxa2NzRzdabStuWXlQa1cz?=
 =?utf-8?B?TzFGeC84dHd2S2hPWUlocjZtUVlCV2J6VHlYTHY1S2xPTmRnWjJvZm9pWWdK?=
 =?utf-8?B?aTFoVTZ5S2pmQzBRU2t1czdkQ3N5Qjk5UGFaSHlRa0ppYTBmTnBuRlJjVm96?=
 =?utf-8?B?QkNhRVVXWS9paGFzNWJjR3dsWHdBdEt5T0RUVnVKenV6M3VwWEYvZHJiaFFK?=
 =?utf-8?B?T2VlZnlNbHRVVXlIczFOdk5aMjVwendReU53WVpuSUVsbWtYVHFsNThwWnJj?=
 =?utf-8?B?cmYzUGJ3aERWbWttcUhmcTZ3a2REclU1UEJZWlFlNlJqWm5YeTF1Zi9kOExX?=
 =?utf-8?B?UVlUTWUyZkZJMUFEMWl1emxRaGl3QUladDhpaDZwNFhsQUtoZUM5SEhUQjBs?=
 =?utf-8?B?SFVoODRUTnVCZC9DTzFXTlBZaTJzc2U4bmhXNHpSNEQrbFUrVFh3cWttWDho?=
 =?utf-8?B?aFhzbFZyWkJJTXMyS3BSMS9tNXVmWmN0anplMmFrajh4MjYyMGRpclNZUXhZ?=
 =?utf-8?B?MjJRdlhnVU8xZHFxa29uZ2liOGx3R3hMT01LVHRRcVFxTVBkbGJBUktVZmVK?=
 =?utf-8?B?ZlRRUlRhQTh1UG9WS0g1WkxwbW5MUmtYcjJ3NkIzaXcrdGQ0LzBDR0ZuQUxs?=
 =?utf-8?B?SVFqSmZUaE1TaUJlSFpGU29YMU8wWXFyVlpaZ0FuNGpGUzFJbE9ibE5ST3V0?=
 =?utf-8?B?dTVERUdCSFJrVGZYdkkvUU5qUDM1bVRRMzRFR3VhaHdZaU1lRkFoVFBJR3g3?=
 =?utf-8?B?UGJwMWIyM1Q1UE9UQStJTlE1RjdwYVppTWh1L0U2b1kyY2JrYWlXc2xNQVJG?=
 =?utf-8?B?bFJMcGt4RzVGbWx5Q1JGbUZtOHZlQ0Y1S3hQS1kxcUdLMlYwUHB6OFpOZWpF?=
 =?utf-8?B?QzcwRHMyd1h2MkUrVUg2RUVhUXBHazZRVHJobGJ3QXR1YjdqaWFPa1VpQ2Y3?=
 =?utf-8?B?WTI4ZktxUXY4cEJjV0ZCQVVTODZPbGFIbGE3R2U1d3hzUHVLMUF5VmpaNWFh?=
 =?utf-8?B?Y0t5V0VuQkpoZ0U0cTJ0U2VQOTVydFpLbVZOYXVPN3kycU5CdWV0ZTl1Y05V?=
 =?utf-8?B?RlFyYmxSSWR6QVdvRHd1dlE1Vkx3QTlPRVp2dnh6T0d2c1B4OXE5MitlWFBG?=
 =?utf-8?B?S1lvRUdiWmxTVkJ5bFFUNXRIVjRVZHpqb082TDhjRXJCQlppRm9nYWxaNlE2?=
 =?utf-8?B?QXA1dHh0WjRXbUp5MHJ4aFVSRjlIb0FQK2tGL2pNYW9USGtqWXExK3dyTmJL?=
 =?utf-8?B?bCtiQnhPdlRLODlUb2J2YUFwUFBlbUwzcHl2a1M5TkNpUWd1SlBLUTRxL0VK?=
 =?utf-8?B?MWFjM3NRcTV3RDV1Z1FHb1owUXJMN0ZkaXNhTklyZHpLVEJPU2xtM1haUTRH?=
 =?utf-8?B?WWQyRkNBMXFlZjdWWnBaM1FzYUNraytUTU1JVXJkcHZrRVNkR2NPUk93eXZC?=
 =?utf-8?B?WU9xaDdsRUlTQjdPdTRveFZEUGFMTEFEM00wdDR1bzRZVjY0cFBKRnVpZFl1?=
 =?utf-8?B?WHdSSGFja3VSWFhjWkM3Y2ZGcmlLTUlId3pSY3gzNHM1T1NjVDRMNloxS3ZQ?=
 =?utf-8?B?SFA3dDhKWW5WbHl6TlVZWC93NlhDWkFMZEt0WnZuaW9lendJc3Y3ZGR1eDRN?=
 =?utf-8?Q?bi2kc61HBWq1q8xt8NDKWA8rF9Kikk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 25 Mar 2025 16:37:34.2180
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7acdd718-2e04-418d-b025-08dd6bbb586d
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF00017099.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8460

On 2025-03-25 07:26, Jan Beulich wrote:
> On 06.03.2025 09:39, Penny Zheng wrote:
>> Make `xenpm get-cpureq-para/set-cpufreq-para` available in CPPC mode.
>> --- a/tools/libs/ctrl/xc_pm.c
>> +++ b/tools/libs/ctrl/xc_pm.c
>> @@ -214,13 +214,12 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
>>   			 user_para->gov_num * CPUFREQ_NAME_LEN * sizeof(char), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
>>   
>>       bool has_num = user_para->cpu_num &&
>> -                     user_para->freq_num &&
>>                        user_para->gov_num;
>>   
>>       if ( has_num )
> 
> Something looks wrong here already before your patch: With how has_num is set
> and with this conditional, ...
> 
>>       {
>>           if ( (!user_para->affected_cpus)                    ||
>> -             (!user_para->scaling_available_frequencies)    ||
>> +             (user_para->freq_num && !user_para->scaling_available_frequencies)    ||
>>                (user_para->gov_num && !user_para->scaling_available_governors) )
> 
> ... this ->gov_num check, ...>>           {
>>               errno = EINVAL;
>> @@ -228,14 +227,16 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
>>           }
>>           if ( xc_hypercall_bounce_pre(xch, affected_cpus) )
>>               goto unlock_1;
>> -        if ( xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
>> +        if ( user_para->freq_num &&
>> +             xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
>>               goto unlock_2;
>>           if ( user_para->gov_num &&
> 
> ... this one, and ...
> 
>>                xc_hypercall_bounce_pre(xch, scaling_available_governors) )
>>               goto unlock_3;
>>   
>>           set_xen_guest_handle(sys_para->affected_cpus, affected_cpus);
>> -        set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);
>> +        if ( user_para->freq_num )
>> +            set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);
> 
> (Nit: Yet another overly long line. It was too long already before, yes, but
>   that's no excuse to make it even longer.  The more that there is better
>   formatting right in context below.)
> 
>>           if ( user_para->gov_num )
> 
> ... this one are all dead code. Jason? I expect the has_num variable simply
> wants dropping altogether, thus correcting the earlier anomaly and getting
> the intended new behavior at the same time.

Hmmm.  The sysctl is executed twice - first to query the assorted *_num 
values and a second time to retrieve the results with sized arrays.

get_hwp_para() does not populate scaling_available_governors, so the 
intention was to be able to skip allocating the buffer for it.

     pmstat&xenpm: Re-arrage for cpufreq union

     Rearrange code now that xen_sysctl_pm_op's get_para fields has the
     nested union and struct.  In particular, the scaling governor
     information like scaling_available_governors is inside the union, so it
     is not always available.  Move those fields (op->u.get_para.u.s.u.*)
     together as well as the common fields (ones outside the union like
     op->u.get_para.turbo_enabled).

     With that, gov_num may be 0, so bounce buffer handling needs
     to be modified.

     scaling_governor and other fields inside op->u.get_para.u.s.u.* 
won't be
     used for hwp, so this will simplify the change when hwp support is
     introduced and re-indents these lines all together.

I noted that gov_num may be 0.  But that may have been before hwp had 
its own internal governor.  But, yes, the has_num handling looks wrong 
for gov_num == 0.  I don't have a machine with hwp to verify.


>> @@ -926,7 +926,8 @@ static int show_cpufreq_para_by_cpuid(xc_interface *xc_handle, int cpuid)
>>               ret = -ENOMEM;
>>               goto out;
>>           }
>> -        if (!(p_cpufreq->scaling_available_frequencies =
>> +        if (p_cpufreq->freq_num &&
>> +            !(p_cpufreq->scaling_available_frequencies =
>>                 malloc(p_cpufreq->freq_num * sizeof(uint32_t))))
>>           {
>>               fprintf(stderr,
> 
> Can someone explain to me how the pre-existing logic here works? All
> three ->*_num start out as zero. Hence respective allocations (of zero
> size) may conceivably return NULL (the behavior there is implementation
> defined after all). Yet then we'd bail from the loop, and hence from the
> function. IOW adding a ->freq_num check and also a ->cpu_num one (along
> with the ->gov_num one that apparently was added during HWP development)
> would once again look like an independent (latent) bugfix to me.

I guess we rely on glibc providing non-NULL?  But also they are ignored 
for the initial query of *_num values.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:42:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:42:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926714.1329546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7Ll-0000k3-Vo; Tue, 25 Mar 2025 16:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926714.1329546; Tue, 25 Mar 2025 16:42: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 1tx7Ll-0000jw-TD; Tue, 25 Mar 2025 16:42:01 +0000
Received: by outflank-mailman (input) for mailman id 926714;
 Tue, 25 Mar 2025 16:42: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx7Lk-0000jq-80
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:42:00 +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 0d1f81f0-0998-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 17:41:51 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ac2bfcd2a70so823826966b.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 09:41:51 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efbdc78esm890019066b.134.2025.03.25.09.41.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 09:41: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: 0d1f81f0-0998-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742920910; x=1743525710; 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=A0g96jhRPHha2UGiRt5bcCyitwiDAKf4aRv26RwN8Wo=;
        b=GA8mW4jEg7rdBU3ux3I1YtonCU9vPDEeOiYFNd1ujdVApyApy0z2dlLs3PetQQdBWk
         gUvmWU3dBYCJ/3Kwzb/oWXb9d13kMZ4rvScw8qwxbFooajQMl0N08Sm2I/9GYPYfyMNV
         qBjKdDrJvgMNrxX4WyhR6GUMFKD037R67ck/PLQLeZx68VNPBve+I8TP5W43S4k1O2+D
         kuz/FQ2KAYYHEcYxrbrr7osTduqnJbH6vq/iGzJITRRHc0M3v/o+oTi4e4plS7MTzBOl
         V8G2CSS9mfFxY9et4qyOk0KgRHfPhts5nbxokfVLmWOESfPeldP69srty+OLn9Ef9mAl
         x7EA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742920910; x=1743525710;
        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=A0g96jhRPHha2UGiRt5bcCyitwiDAKf4aRv26RwN8Wo=;
        b=UGJeaUSZ/ph+7B7oHao1rIuLYwwRYs2f4NaRR4eLwUivwSASWAToFgJc4XHVjRs4jF
         06Du5N/ZLSsb6RheTWN7PXPj0EN578iXYJc06J3P8pqDlD/4W6pEwd1L6xqhaDdVXOcu
         fwpGUhWFTJkACFdfLOO1sjpvinfYp7RW3d5NbvqU9xpPkLMWwA0mixVQlf6B9H+pBekw
         jWYGYCJBso9zSeCRZUT25BFMJWqndh1vPYlP4/zKX8Cl6AbOTKIlR6GozxmLIMmF+mRF
         4MoeiBs6eAvAo4kmwru9DDIpMWv5J65KksYuQy9cutXu8mvJOWCJY3U7mDn6cjedzsr0
         IQcQ==
X-Forwarded-Encrypted: i=1; AJvYcCXxecuefm4U5Y3EJJsQ4E7qLdN8c+1wNWFqfqSjN4fyslUl/h+zkKsN6fDB4O7vBWbrU5V/z2VaMok=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykplF/JDzFsEMyohvy2CCIbj11CuhtpnpTiKnZ0YzNN4+Umhqg
	bG7kLWA4wQWiopGPLVTQGLEmvloe7zb7QDlN+VcXYn5hEvVln8jF
X-Gm-Gg: ASbGncve4isbtS7ccNqhtpYP4myWzbGGmsRl6Pl+43NEgHdFkFNQxso4mcZ0UhDGA27
	oCpB7D/pvoBicUZRoQbKmJGIRyd/VRDKdzChvU30IzEu4n6ZstEt7/LfUgvZJ3m/PNUmwB4PUDT
	RO9w7NdBlniDeto/x7Q5CqIusbTqx368i3pj19/DcBtrhl9FbEtSJ+VmrBLdjS91Ht5mIV/a72W
	LoQsZb8OZa3/nRAoiIphwnt+MHWvxn38Cl6e/nI0eJCzbMJqNa1pte/q1YslN3PUn/Ige5RZtkR
	tarh8f0ScZS/kNcfUZnDP8PaWxt6Ip/G0RYjPUQGtujUqouxIsEgGiHReUfDRcTm0wr2v0NJJl8
	VjGYeqWoFDxcqqhmf7tvF
X-Google-Smtp-Source: AGHT+IE9M0YVeQmyneOjDz+BxNnoSVaPFohSfr7x/4GYQwuiELltO1sn1OorDHF5s9x/wMnRSAREug==
X-Received: by 2002:a17:907:a58c:b0:ac1:e332:b1e7 with SMTP id a640c23a62f3a-ac3f24164e1mr1915745366b.4.1742920909970;
        Tue, 25 Mar 2025 09:41:49 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------0thxU0AzXDdkkcV7U2K9pCEn"
Message-ID: <9c37f0d7-f26a-4a53-b9a3-84cad82d6cef@gmail.com>
Date: Tue, 25 Mar 2025 17:41:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/riscv: add H extenstion to -march
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <0a072ab36b54ea7c4f9a6f94465fb7b79f9f49b2.1742573085.git.oleksii.kurochko@gmail.com>
 <c9c7c8e2-d441-4a1a-a658-98dfe0a98ed8@suse.com>
 <ee8b8e09-9b0b-4757-989c-b7d81721c325@gmail.com>
 <3d9e8e8c-2e09-43d6-a254-2f081c9e5eb1@suse.com>
 <e6e64e58-a26a-44cc-b708-5bf510b041c8@gmail.com>
 <a6d511ec-38bc-4fad-9e08-462b7c10eac4@suse.com>
 <238a9b67-a4f3-4f97-9d13-11a35884be0b@gmail.com>
 <5a0e1f5f-c08b-4045-98df-dec73ece028c@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <5a0e1f5f-c08b-4045-98df-dec73ece028c@suse.com>

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


On 3/25/25 5:26 PM, Jan Beulich wrote:
> On 25.03.2025 15:46, Oleksii Kurochko wrote:
>> On 3/25/25 2:47 PM, Jan Beulich wrote:
>>> On 25.03.2025 14:02, Oleksii Kurochko wrote:
>>>> On 3/25/25 12:52 PM, Jan Beulich wrote:
>>>>> On 25.03.2025 12:48, Oleksii Kurochko wrote:
>>>>>> On 3/24/25 1:31 PM, Jan Beulich wrote:
>>>>>>> On 21.03.2025 17:17, Oleksii Kurochko wrote:
>>>>>>>> H provides additional instructions and CSRs that control the new stage of
>>>>>>>> address translation and support hosting a guest OS in virtual S-mode
>>>>>>>> (VS-mode).
>>>>>>>>
>>>>>>>> According to the Unprivileged Architecture (version 20240411) specification:
>>>>>>>> ```
>>>>>>>> Table 74 summarizes the standardized extension names. The table also defines
>>>>>>>> the canonical order in which extension names must appear in the name string,
>>>>>>>> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
>>>>>>>> RV32IMACV is legal, whereas RV32IMAVC is not.
>>>>>>>> ```
>>>>>>>> According to Table 74, the h extension is placed last in the one-letter
>>>>>>>> extensions name part of the ISA string.
>>>>>>>>
>>>>>>>> `h` is a standalone extension based on the patch [1] but it wasn't so
>>>>>>>> before.
>>>>>>>> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
>>>>>>>> and for that version it will be needed to encode H extensions instructions
>>>>>>>> explicitly by checking if __risv_h is defined.
>>>>>>> Leaving aside the typo, what is this about? There's no use of __riscv_h in
>>>>>>> the patch here, and ...
>>>>>> It is going to be used in future patches:https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32
>>>>> For this and ...
>>>>>
>>>>>>>> @@ -25,10 +24,13 @@ $(eval $(1) := \
>>>>>>>>      	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>>>>>>>      endef
>>>>>>>>      
>>>>>>>> +h-insn := "hfence.gvma"
>>>>>>>> +$(call check-extension,h)
>>>>>>> ... this, if it fails, will not have any effect on the build right now
>>>>>>> afaics.
>>>>>> No, it won't have any affect now as instruction from H extension isn't used now.
>>>>>> But it willbeneededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/
>>>>>> and for p2m changes mentioned above.
>>>>> ... this both being future work, it might help if it could be made clear
>>>>> right here how things are going to work (with both gcc12 and up-to-date
>>>>> gcc).
>>>> I can update the commit message with the following:
>>>> ```
>>>> If 'H' extension is supported by compiler then __riscv_h will be defined by
>>>> compiler (for gcc version >= 13.1).
>>>> For gcc12 it will be needed to:
>>>> #ifdef __riscv_h
>>>>     asm volatile ("h extension instruction");
>>>> #else
>>>>     asm volatile ("|.insn ..."); #endif ```
>>> Okay, that's what I was concerned about. __riscv_h is a compiler indication.
>>> It means nothing about H extension insns being supported by the assembler
>>> (except perhaps for Clang's integrated one). The check-extension thing in
>>> the Makefile will actually check both in one go. Yet then the hfence.* insns
>>> have been in binutils since 2.38, i.e. pre-dating gcc12.
>> It is still needed to have or #ifdef-ing or workaround mentioned below ...
>>
>>>> Or probably it will be easier not to ifdef-ing
>>>> everything with __riscv_h but just return back a workaround with the
>>>> following changes: ``` $ git diff diff --git a/xen/arch/riscv/arch.mk
>>>> b/xen/arch/riscv/arch.mk index f29ad332c1..3bd64e7e51 100644 ---
>>>> a/xen/arch/riscv/arch.mk +++ b/xen/arch/riscv/arch.mk @@ -24,13 +24,17
>>>> @@ $(eval $(1) := \ $(call as-insn,$(CC)
>>>> $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1))) endef -h-insn :=
>>>> "hfence.gvma" -$(call check-extension,h) +
>>>> +h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301,
>>>> hh, h) +h-extension-name-$(CONFIG_CC_IS_CLANG) := h +
>>>> +$(h-extension-name-y)-insn := "hfence.gvma" +$(call
>>>> check-extension,$(h-extension-name-y)) zihintpause-insn := "pause"
>>>> $(call check-extension,zihintpause) -extensions := $(h) $(zihintpause)
>>>> _zicsr_zifencei_zbb +extensions := $($(h-extension-name-y))
>>>> $(zihintpause) _zicsr_zifencei_zbb extensions := $(subst
>>>> $(space),,$(extensions)) ``` I prefer more a little bit the second
>>>> option with having the workaround for GCC version. ~ Oleksii |
>>> I fear this ended up unreadable.
>> ... something happen with formatting:
>>
>> diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
>> index f29ad332c1..3bd64e7e51 100644
>> --- a/xen/arch/riscv/arch.mk
>> +++ b/xen/arch/riscv/arch.mk
>> @@ -24,13 +24,17 @@ $(eval $(1) := \
>>           $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
>>    endef
>>    
>> -h-insn := "hfence.gvma"
>> -$(call check-extension,h)
>> +
>> +h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, hh, h)
> It all else fails, that's an option. The downside is that such version checks
> break if someone backports the respective change to an older version. Probing
> support for the actual command line option would be better. Why would
>
> $(call check-extension,hh)
> $(call check-extension,h)
>
> not work, btw? (Of course, if the above was an option, something slightly
> smarter may still want using, so that e.g. we avoid probing both in the more
> common case [going forward] that "h" is what is supported.)

It will work, I just decided to do in the way mentioned above because clang doesn't have this issue with having single 'h' at all
so for clang it isn't needed to have $(call check-extension, hh) at all.

I have similar patch somewhere. I will re-apply it.

Thanks.

~ Oleksii

>> +h-extension-name-$(CONFIG_CC_IS_CLANG) := h
>> +
>> +$(h-extension-name-y)-insn := "hfence.gvma"
>> +$(call check-extension,$(h-extension-name-y))
>>    
>>    zihintpause-insn := "pause"
>>    $(call check-extension,zihintpause)
>>    
>> -extensions := $(h) $(zihintpause) _zicsr_zifencei_zbb
>> +extensions := $($(h-extension-name-y)) $(zihintpause) _zicsr_zifencei_zbb
>>    
>>    extensions := $(subst $(space),,$(extensions))
>>
>> ~ Oleksii
>>
--------------0thxU0AzXDdkkcV7U2K9pCEn
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 3/25/25 5:26 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:5a0e1f5f-c08b-4045-98df-dec73ece028c@suse.com">
      <pre wrap="" class="moz-quote-pre">On 25.03.2025 15:46, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/25/25 2:47 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 25.03.2025 14:02, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 3/25/25 12:52 PM, Jan Beulich wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">On 25.03.2025 12:48, Oleksii Kurochko wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">On 3/24/25 1:31 PM, Jan Beulich wrote:
</pre>
                <blockquote type="cite">
                  <pre wrap="" class="moz-quote-pre">On 21.03.2025 17:17, Oleksii Kurochko wrote:
</pre>
                  <blockquote type="cite">
                    <pre wrap="" class="moz-quote-pre">H provides additional instructions and CSRs that control the new stage of
address translation and support hosting a guest OS in virtual S-mode
(VS-mode).

According to the Unprivileged Architecture (version 20240411) specification:
```
Table 74 summarizes the standardized extension names. The table also defines
the canonical order in which extension names must appear in the name string,
with top-to-bottom in table indicating first-to-last in the name string, e.g.,
RV32IMACV is legal, whereas RV32IMAVC is not.
```
According to Table 74, the h extension is placed last in the one-letter
extensions name part of the ISA string.

`h` is a standalone extension based on the patch [1] but it wasn't so
before.
As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
and for that version it will be needed to encode H extensions instructions
explicitly by checking if __risv_h is defined.
</pre>
                  </blockquote>
                  <pre wrap="" class="moz-quote-pre">Leaving aside the typo, what is this about? There's no use of __riscv_h in
the patch here, and ...
</pre>
                </blockquote>
                <pre wrap="" class="moz-quote-pre">It is going to be used in future patches:<a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32">https://gitlab.com/xen-project/people/olkur/xen/-/blob/riscv-next-upstreaming/xen/arch/riscv/p2m.c?ref_type=heads#L32</a>
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">For this and ...

</pre>
              <blockquote type="cite">
                <blockquote type="cite">
                  <blockquote type="cite">
                    <pre wrap="" class="moz-quote-pre">@@ -25,10 +24,13 @@ $(eval $(1) := \
    	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
    endef
    
+h-insn := "hfence.gvma"
+$(call check-extension,h)
</pre>
                  </blockquote>
                  <pre wrap="" class="moz-quote-pre">... this, if it fails, will not have any effect on the build right now
afaics.
</pre>
                </blockquote>
                <pre wrap="" class="moz-quote-pre">No, it won't have any affect now as instruction from H extension isn't used now.
But it will <a class="moz-txt-link-abbreviated" href="mailto:beneededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/">beneededforhttps://lore.kernel.org/xen-devel/dae753618491b2a6e42f7ed3f24190d0dc13fe3f.1740754166.git.Slavisa.Petrovic@rt-rk.com/</a>
and for p2m changes mentioned above.
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">... this both being future work, it might help if it could be made clear
right here how things are going to work (with both gcc12 and up-to-date
gcc).
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">I can update the commit message with the following:
```
If 'H' extension is supported by compiler then __riscv_h will be defined by
compiler (for gcc version &gt;= 13.1).
For gcc12 it will be needed to:
#ifdef __riscv_h
   asm volatile ("h extension instruction");
#else
   asm volatile ("|.insn ..."); #endif ```
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Okay, that's what I was concerned about. __riscv_h is a compiler indication.
It means nothing about H extension insns being supported by the assembler
(except perhaps for Clang's integrated one). The check-extension thing in
the Makefile will actually check both in one go. Yet then the hfence.* insns
have been in binutils since 2.38, i.e. pre-dating gcc12.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
It is still needed to have or #ifdef-ing or workaround mentioned below ...

</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">Or probably it will be easier not to ifdef-ing
everything with __riscv_h but just return back a workaround with the
following changes: ``` $ git diff diff --git a/xen/arch/riscv/arch.mk
b/xen/arch/riscv/arch.mk index f29ad332c1..3bd64e7e51 100644 ---
a/xen/arch/riscv/arch.mk +++ b/xen/arch/riscv/arch.mk @@ -24,13 +24,17
@@ $(eval $(1) := \ $(call as-insn,$(CC)
$(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1))) endef -h-insn :=
"hfence.gvma" -$(call check-extension,h) +
+h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301,
hh, h) +h-extension-name-$(CONFIG_CC_IS_CLANG) := h +
+$(h-extension-name-y)-insn := "hfence.gvma" +$(call
check-extension,$(h-extension-name-y)) zihintpause-insn := "pause"
$(call check-extension,zihintpause) -extensions := $(h) $(zihintpause)
_zicsr_zifencei_zbb +extensions := $($(h-extension-name-y))
$(zihintpause) _zicsr_zifencei_zbb extensions := $(subst
$(space),,$(extensions)) ``` I prefer more a little bit the second
option with having the workaround for GCC version. ~ Oleksii |
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">I fear this ended up unreadable.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
... something happen with formatting:

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index f29ad332c1..3bd64e7e51 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -24,13 +24,17 @@ $(eval $(1) := \
         $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
  endef
  
-h-insn := "hfence.gvma"
-$(call check-extension,h)
+
+h-extension-name-$(CONFIG_CC_IS_GCC) := $(call cc-ifversion,-lt,1301, hh, h)
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
It all else fails, that's an option. The downside is that such version checks
break if someone backports the respective change to an older version. Probing
support for the actual command line option would be better. Why would

$(call check-extension,hh)
$(call check-extension,h)

not work, btw? (Of course, if the above was an option, something slightly
smarter may still want using, so that e.g. we avoid probing both in the more
common case [going forward] that "h" is what is supported.)</pre>
    </blockquote>
    <pre>It will work, I just decided to do in the way mentioned above because clang doesn't have this issue with having single 'h' at all
so for clang it isn't needed to have $(call check-extension, hh) at all.

I have similar patch somewhere. I will re-apply it.

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:5a0e1f5f-c08b-4045-98df-dec73ece028c@suse.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+h-extension-name-$(CONFIG_CC_IS_CLANG) := h
+
+$(h-extension-name-y)-insn := "hfence.gvma"
+$(call check-extension,$(h-extension-name-y))
  
  zihintpause-insn := "pause"
  $(call check-extension,zihintpause)
  
-extensions := $(h) $(zihintpause) _zicsr_zifencei_zbb
+extensions := $($(h-extension-name-y)) $(zihintpause) _zicsr_zifencei_zbb
  
  extensions := $(subst $(space),,$(extensions))

~ Oleksii

</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
</pre>
    </blockquote>
  </body>
</html>

--------------0thxU0AzXDdkkcV7U2K9pCEn--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:46:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:46:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926723.1329556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7Q8-0001KE-Gg; Tue, 25 Mar 2025 16:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926723.1329556; Tue, 25 Mar 2025 16:46: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 1tx7Q8-0001K7-D4; Tue, 25 Mar 2025 16:46:32 +0000
Received: by outflank-mailman (input) for mailman id 926723;
 Tue, 25 Mar 2025 16:46: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx7Q7-0001Jz-3n
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:46:31 +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 b33383d7-0998-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 17:46:30 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39ac56756f6so1905376f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 09:46: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-43d43fdeb6esm205543215e9.31.2025.03.25.09.46.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 09:46: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: b33383d7-0998-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742921189; x=1743525989; 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=aiukUuVbNWN1E8woYFQ1KwSKF7YW+oMpjW8b0NLO96w=;
        b=MUvaBClrgrmW6mVEObwBd7h4boh3dk7d+Uswc9VqGYUS1Bx2Dqi810FPXxueGFIJEH
         5S6QpHYSwPmytpkvdQVHGURkXUIqBvfIaJ+0P1w0S4uzhwzXnplV9zHtn5y0DuWSvaSd
         +fVnzcWHUZh6ocHaI2/oUGnaekKcDDEFifkhliCZwY64dfVaKNZ/3bmJpQW4m1uRXJlf
         DtYmsITxAvXLb6FUnC+23bcGJ5XG8V/tHdKZNvMNa5L+wrrrp2rSI9PTjBDeNpZkhZ62
         cyS2V6Ca+VnzdnHvcVtne47phUumYY4WgvgxwnUXw5F9J6He3/eJPwuLEi7G7EgwTQAz
         rEMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742921189; x=1743525989;
        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=aiukUuVbNWN1E8woYFQ1KwSKF7YW+oMpjW8b0NLO96w=;
        b=Uq8c1cdsuXJdZn9u3cayjP5jpAx574yvoEEVjHPwzWigtdwToYuPASZOeZdHw5Jbvc
         ryZw3YxGdXTXGk64aXptRk104Eu9Ivl5BVmJWue1/ynwnzYSelLp69a0XkjXuCBRc9wF
         F8Vj3PXEkHiOIOSEzpjAKE9724z7EHo1mgILeDLLj7u6rwkrrvuPobbwBeB0m0v52ygw
         hcWKbQ5M+PGrDDZt7OFfrEWVZjFlgJic7obWea1VPTRyoLcSN24IB8GuBU18YqKHX6lA
         62S5FVIiw1bXd7Ayai9nnWxc6lMWTvlWREwxLXHt0z4qZN9Trgi3OJ9f3Ewe6bXbD+2I
         nDoA==
X-Gm-Message-State: AOJu0YwaKem/pAwFIdFkA2e7yo2xNaWNlvezP2YpjcB0v9fRHlwqC5vj
	Qq9Kr8jc1GcCrulwt9yWpCV/0NlnDkf5z4mJgFIl4TpuPedju6wvhFtHG1FnCeqBhOFgWy5Tiso
	=
X-Gm-Gg: ASbGncuhZh54Lh5VGBZ7yVKAAhsfCnfyexCyj001KAg4NlpxGwAWBNakrKtSsoIL44D
	lc4h9YbMvcrf8WgA1aqwTbfJikyW6nA65nMhcwOlfyuuUs6J+L9jOgZGZjaOTPTr6trx+YDLgfu
	NqIfbTiP1LNNPDYj+p89AYr9a74QCzd6IwnkO6Z3jSJAXgKlCWydjs80td/eQWIA/Igzqnn/xxb
	7gMHEJYkbE65XsFY0EaPDKLoeUlu6zlfAEKdssQbFnILM1YlIGywvPUPuFVJkjWQCU1LIZh054K
	A496FpnzGBu1+CkOKWJFPe6vyfFVIJ2MG4X3PBnCFKcqyLxm1AvldH1F/DVblTGQOKu8r28aZff
	st/sNk7IxUha3rIdTn6gjddz0lHk6MSawUqF+782U
X-Google-Smtp-Source: AGHT+IHAzY795PWdAYeu5uejpT84u62Fvk4ZLP7i1eLyhcIGJAp7IpBC8thfC7eRXHuGzRHDfyXoqQ==
X-Received: by 2002:a05:6000:178b:b0:390:de33:b0ef with SMTP id ffacd0b85a97d-3997f911ec1mr14452537f8f.30.1742921188873;
        Tue, 25 Mar 2025 09:46:28 -0700 (PDT)
Message-ID: <52bd483a-c5bf-4eba-867f-3476b1b86550@suse.com>
Date: Tue, 25 Mar 2025 17:46:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
 <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
 <927264c2-0b99-4d60-97f8-31bcd0d64aa6@suse.com>
 <a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com>
 <7cfbd773-de4b-459f-8fa9-7c6ed19fe0ad@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: <7cfbd773-de4b-459f-8fa9-7c6ed19fe0ad@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.03.2025 17:35, Oleksii Kurochko wrote:
> 
> On 3/7/25 1:12 PM, Andrew Cooper wrote:
>> On 07/03/2025 12:01 pm, Jan Beulich wrote:
>>> On 07.03.2025 12:50, Oleksii Kurochko wrote:
>>>> On 3/6/25 9:19 PM, Andrew Cooper wrote:
>>>>> On 05/03/2025 7:34 am, Jan Beulich wrote:
>>>>>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>>>>>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>>>>>> retain a shorthand of that name, if so desired, but I see no reason why
>>>>>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
>>>>> The concern is legibility and clarity.
>>>>>
>>>>> This:
>>>>>
>>>>>   Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>>>>>
>>>>> is a clear expression in a way that this:
>>>>>
>>>>>   Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>>>>>
>>>>> is not.Â  The problem is the extra binary expression, and this:
>>>>>
>>>>>   Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>>>>>
>>>>> is still clear, because the reader doesn't have to perform a multiply to
>>>>> just to figure out what's going on.
>>>>>
>>>>>
>>>>> It is definitely stupid to have each architecture provide their own
>>>>> BITS_PER_*.Â  The compiler is in a superior position to provide those
>>>>> details, and it should be in a common location.
>>>>>
>>>>> I don't particularly mind how those constants are derived, but one key
>>>>> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
>>>> What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)
>>>>
>>>> #define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
>>>> #define BITS_PER_INTÂ  (BYTES_PER_INT << 3)
>>>>
>>>> #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
>>>> #define BITS_PER_LONG (BYTES_PER_LONG << 3)
>>>> #define BITS_PER_BYTE 8
>> The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
>> straight up, and this will simplify quite a lot of preprocessing.
> 
> Could we really drop *_BYTEORDER?
> 
> For example, LONG_BYTEORDER for Arm could be either 2 or 3 depends on Arm32 or Arm64 is used.

The can still #define BITS_PER_LONG to 32 or 64 respectively, can't they?

>>>> Also, it seems like the follwoing could be moved there too:
>>>>
>>>> #define POINTER_ALIGN  BYTES_PER_LONG
>>> This one is likely fine to move.
>>>
>>>> #define BITS_PER_LLONG 64
>>> This one is only fine to move imo when converted to
>>>
>>> #define BITS_PER_LONG (BYTES_PER_LLONG << 3)
>> Erm?Â  That's mixing long and long long types.Â  Presuming that's an
>> errant L, then sure.
>>
>>>> #define BITS_PER_BYTE 8
>>> Personally I'd rather leave this per-arch. The others can truly be derived;
>>> this one can't be. If we centralize, imo we should also convert the " << 3"
>>> to " * BITS_PER_BYTE".
>> It is highly unlikely that Xen will ever run on a system where CHAR_BIT
>> isn't 8.
>>
>> So I suggest it stays central to reduce complexity.Â  If an arch ever
>> needs to change it, the complexity can be added then.
> 
> Does it make sense to ifdef that? Or, at least, before defintion of BITS_PER_BYTE something like:
> #if CHAR_BIT != 8
> #error "CHAR_BIT isn't 8"
> #endif

Where would CHAR_BIT come from? Oh, perhaps you mean __CHAR_BIT__? If all
compilers we can build with supply that value, we could indeed centrally
use either

#define BITS_PER_BYTE __CHAR_BIT__

or

#define BITS_PER_BYTE 8
#if BITS_PER_BYTE != __CHAR_BIT__
# error "..."
#endif

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:49:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926736.1329566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7T9-0001wG-15; Tue, 25 Mar 2025 16:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926736.1329566; Tue, 25 Mar 2025 16:49: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 1tx7T8-0001w9-UE; Tue, 25 Mar 2025 16:49:38 +0000
Received: by outflank-mailman (input) for mailman id 926736;
 Tue, 25 Mar 2025 16: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=Gb8l=WM=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tx7T8-0001w1-1X
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:49:38 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2407::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2021d7b8-0999-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 17:49:32 +0100 (CET)
Received: from SJ0PR03CA0165.namprd03.prod.outlook.com (2603:10b6:a03:338::20)
 by DM4PR12MB6541.namprd12.prod.outlook.com (2603:10b6:8:88::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 16:49:29 +0000
Received: from SJ1PEPF0000231B.namprd03.prod.outlook.com
 (2603:10b6:a03:338:cafe::d6) by SJ0PR03CA0165.outlook.office365.com
 (2603:10b6:a03:338::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Tue,
 25 Mar 2025 16:49:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF0000231B.mail.protection.outlook.com (10.167.242.232) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 16:49:28 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 25 Mar
 2025 11:49:27 -0500
Received: from [172.22.20.237] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 11:49:27 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2021d7b8-0999-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Rt6mXzRAx86fIskw1kzGJqweQOwaBfCywK3FjUE8mTi8UJ7JD+PGQxfVgAd1hcUAQHq/0sHzc9VyAlG11D6yVyPA3/HucgbPQyNd/GaLQU/LIG5VYOGZn867hXgR2aId77tT+QRmAdc3eqedjJLTOJen1RdRpScus3EzBzP/3lmazFz6R8rhYox4/a6iaA/MmmiXMw75xCKf/hcZjZKt/GkbgNuDjujClzW/phjNd58hTM5AUTW5wTWRhMoKaM6Q1fD5h7Vz1dewBIMYdfnPwTvGuZLnpMIlB3UQOAuznVtTlT/LHaxgGnaum0kLEXXT0lW948LvReYtjWUgeJboug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HycmxVDEqqZCPf74R2+PCdRep2uYwvSEg3Z9pvxEVqI=;
 b=vQwIXVzNmKLUCAh8sDXs5015NXGBFcuWTFu3oErdNeWO0ZUpWMYKssy/2FTkUYtqQLyCZdLcJFoKA6uIavB/VmwRsFCbh8p1B/HyCiN3p+757SCn0LC9NLal7m/k15pTwdZypizIrX+9x1eSSp0TNEHp+PPjZ6oMMZZu8HiuJh4et3L+I6vzkW8kVtXgVV0q5NrjwEzcQMdVhiQwJjqrpk6aRrs8sEuA/4QVEnHcVYBLAbRD8G5Hndf35PtOCayU/CjUjQVXcu8AAHRZ0wX3E7bnlvtqY4sE+GqEKfxXkOvbYxlCwu/t9G9Cw3QihKdvlUdNMJ6lzTVPjBaTym13ww==
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=HycmxVDEqqZCPf74R2+PCdRep2uYwvSEg3Z9pvxEVqI=;
 b=w57yMdihKB9C51SMbd652dZIaTVuIqW1/RC5kX1iAh7FtXYNh4KQVDCJlbZv3EP4m7Pes6LN/uQW1cXSpNDEJbeKNbxCQu950A9TdupOKubvvaHMVvwib21NL/SzwKqC5+MlFsflmP2dVYdyWxgr4ka2HWiITsU9i5I6/k0lUVE=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <92b5c3ae-716c-4ea1-95f5-65150fccf39f@amd.com>
Date: Tue, 25 Mar 2025 12:49:29 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen/acpi: upload power and performance related
 data from a PVH dom0
To: Jan Beulich <jbeulich@suse.com>, Penny Zheng <Penny.Zheng@amd.com>, "Roger
 Pau Monne" <roger.pau@citrix.com>
CC: Ray Huang <Ray.Huang@amd.com>, <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>
References: <20250306110824.1506699-1-Penny.Zheng@amd.com>
 <20250306110824.1506699-2-Penny.Zheng@amd.com>
 <45640c36-0b7d-4502-bf4d-df1c1d17d528@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <45640c36-0b7d-4502-bf4d-df1c1d17d528@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF0000231B:EE_|DM4PR12MB6541:EE_
X-MS-Office365-Filtering-Correlation-Id: 93598dc3-16a6-42e3-6944-08dd6bbd025a
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?VEc0UFBZMWx2RjRuQzV2VFFGMmQ4UFFKZldBc01sNDdDYW94WXNyWGNDUlQ5?=
 =?utf-8?B?TTVGL0toSVBJMHFsNm95NWVmd2d3ZTdwWTFRRFhHcW1NTTVhaW82MDR4TmtK?=
 =?utf-8?B?b3d4eENjbjd6OG9hSXNQdE0wTkdTNVM1RE4rbnpHeVVwcEtyWDNXRks4QVdQ?=
 =?utf-8?B?SnF5NzdneTZQZUFzb3BJWGoyRmovMjR3MldkQmUvZlh0dnErR2RhM1FBbXFE?=
 =?utf-8?B?Zkp5Y1VMTWxIaHF4aytBcFRaU3ZqZytkRTJydHZTWlVPL3BsRmFIbHVuTnBY?=
 =?utf-8?B?Y3h2ZHRnU3QwZ3FYQzgrOTZ4YncvYytHc2dmUXZmdWlzV1dNM040MGNQdEUr?=
 =?utf-8?B?bHBJbkRhK0twWTlGaUpYb0kxNnJDendTNG1VZkl6MFN2TjVUT3N4UHM0VHZT?=
 =?utf-8?B?K256QklSMXhEd3R3THFSWVk5TTBkeGMxZHpwNExEVVhTRnZaUG5EWCtQcXlv?=
 =?utf-8?B?cFNaNVlMUnB5RzRzQXFWV09oQ1h5NkxHL0FQQXpIU1dxTzN3MjQvSk4zaDQy?=
 =?utf-8?B?bjN5aTNyM2Nidkp0b1RRaVZXSUdTUExuYmgvMVpQYUpjV0pTL0tDY01xcDlr?=
 =?utf-8?B?NXMzMWlTY0ZsMkMyaFpJZHg4aktxM2xHR2dIZVE5V2RhSlorUEJ6dGNYM2Zs?=
 =?utf-8?B?aG1MVWF3U045RzJ5L1drMU9hMGNla0p2bEpocm9IYjFQdDl5OXYybi9nTGVP?=
 =?utf-8?B?dTlHbm1rcnFjUjBxQlIrdmJCWHJmQ1c4YUlSMkMxdG1uL2xjYVVub3RoZU5l?=
 =?utf-8?B?OGlZUUM3ZnVXYXRPMTFEajlMMnN4NkJESDZBaXd1QTdTcjNCYWovRTVZSWJs?=
 =?utf-8?B?VER2TWptUjRkSzJnK2Z6TFlHUCs0QXJhdkM0SkRqa2tUV0U2dHAvYWZ6WUpK?=
 =?utf-8?B?YXY1T0dpZDdoU29DVFZqajRYeUdGaGp5dEJNYjhxMGRJcWtBc0V5UGVmZzNK?=
 =?utf-8?B?UFUzaklqUGFTSFNWUDdxNEJVd0pkaGNsSU91dlhEUUUzVSs4OVZCcElaQkdE?=
 =?utf-8?B?Q1BlY080dUVNd1lJeEgydUN0Vzk2TmRNbWN2NytRTFF0eWhDV0xXNnVrdm5Z?=
 =?utf-8?B?dHFzRk5md1FUSVpiMkdwdEJ2bWw5NEtuWEF2MFRyM3lZYXl6cDFWS3BwNThU?=
 =?utf-8?B?Sk05Qmtodjc4cSszdTBycFlhL3lLNEgzbCtyMXdCbXhrcW03NkZQZXNmRXgr?=
 =?utf-8?B?OWJqZytSYzZXWENaMHliTHFKUWdDdXVxWGk2a0tsU0lCUXd2dkxTTXVHajFE?=
 =?utf-8?B?T0hxenB4RUd6ZnNsRk1wcVdXVys4ZkUyZ0o5b0tYMXRyelhuMEtpOFlXYmc0?=
 =?utf-8?B?cHNiR01LSi8rakVUbklkQTIwUk1mYVJLQTkzMy9aejNvaFBsaUJIZU04dzBN?=
 =?utf-8?B?SEVBRm9IWWtLY1VTUXNNTUFJUHJwTjdrR2VmWjB3OFRReSthMC9ReWlQeXZt?=
 =?utf-8?B?aU13U3FpWmMrQlJnNndzajRnNHJEZDk4TVZ1K1Iwd0JaSFpxNWxYZDdocXVM?=
 =?utf-8?B?WmN2ekw4UUJQd2ViUEVBNTZJV3R2c3FKMFdSbEcrck1TVHNtUENuM3M1YktX?=
 =?utf-8?B?QW9RYnFjWU8yVkdFdnJvKzAzTWdndGZhVWR6dUVQTzdNc1QxQTY3eEZEN29w?=
 =?utf-8?B?c2wyU0xybmtONndVbDVIS0ZvSWozTmNyb0NSanhoMnlPWHdRaWJUZEhOOGp3?=
 =?utf-8?B?UE9PQ01BTGJOc0RnZWMwb0tjWnBkbWo2ajh0dUY2L2pCWXJaQTgvWWtPLzRX?=
 =?utf-8?B?aW1vdE1hbVN3d2xMaUszU0FvQ1IzYS9WaFQ4Vm5sMUdUV2xleVdKZCttM2hF?=
 =?utf-8?B?Rm9kbjNtRVJSOEFYbVJuN2ZKSlFVMG5PMHVFNkM4TzZLZUtBN3cxK3c4a1lN?=
 =?utf-8?B?dmg4OFFlNlNGaGRSdldJNk1tdzdqWW10QWUxb2hOTTErK2Zoeng0ZTQxeElX?=
 =?utf-8?B?anROWHlna3hlQjd4bE05Z3NsY1dRUVBqZ1ErRUhXR2wwV1VCaXdDU0tobHBG?=
 =?utf-8?Q?QuYQAbMP2GOf/q0gYY8aoUleAcPjGg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 25 Mar 2025 16:49:28.7386
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93598dc3-16a6-42e3-6944-08dd6bbd025a
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF0000231B.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6541

On 2025-03-25 12:17, Jan Beulich wrote:
> On 06.03.2025 12:08, Penny Zheng wrote:
>> From: Roger Pau Monne <roger.pau@citrix.com>
>>
>> When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
>> report the correct numbers of vCPUs that dom0 has, so the host MADT is
>> not provided to dom0.  This creates issues when parsing the power and
>> performance related data from ACPI dynamic tables, as the ACPI
>> Processor UIDs found on the dynamic code are likely to not match the
>> ones crafted by Xen in the dom0 MADT.
>>
>> Xen would rely on Linux having filled at least the power and
>> performance related data of the vCPUs on the system, and would clone
>> that information in order to setup the remaining pCPUs on the system
>> if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
>> that none of dom0 CPUs will have the power and performance data
>> filled, and hence the Xen ACPI Processor driver needs to fetch that
>> information by itself.
>>
>> In order to do so correctly, introduce a new helper to fetch the _CST
>> data without taking into account the system capabilities from the
>> CPUID output, as the capabilities reported to dom0 in CPUID might be
>> different from the ones on the host.
>>
>> Note that the newly introduced code will only fetch the _CST, _PSS,
>> _PPC and _PCT from a single CPU, and clone that information for all the
>> other Processors.  This won't work on an heterogeneous system with
>> Processors having different power and performance related data between
>> them.
>>
>> Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>>   drivers/xen/pcpu.c               |   3 +-
>>   drivers/xen/xen-acpi-processor.c | 232 ++++++++++++++++++++++++++++---
>>   include/xen/xen.h                |   2 +-
>>   3 files changed, 216 insertions(+), 21 deletions(-)
> 
> No dependency on another patch is mentioned anywhere (the cover letter
> only says the series is based on the very patch here), yet the bulk of
> the changes here (to drivers/xen/xen-acpi-processor.c) are meaningless
> for a PVH Dom0, because of
> 
> config XEN_ACPI_PROCESSOR
> 	tristate "Xen ACPI processor"
> 	depends on XEN && XEN_PV_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ
> 
> (note the XEN_PV_DOM0 in there). Is the patch here perhaps missing an
> adjustment to the above, to use XEN_DOM0 instead?

Wow, I'm surprised you found that :)  Yes, that is a build-time 
dependency, but the runtime dependency is only on xen_initial_domain(). 
Yes, it deserves updating.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:54:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:54:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926746.1329576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7Xj-0004lu-Hj; Tue, 25 Mar 2025 16:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926746.1329576; Tue, 25 Mar 2025 16:54: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 1tx7Xj-0004ln-F4; Tue, 25 Mar 2025 16:54:23 +0000
Received: by outflank-mailman (input) for mailman id 926746;
 Tue, 25 Mar 2025 16:54: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=uFHn=WM=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1tx7Xh-0004lh-Vu
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:54:22 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7e76370-0999-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 17:54:13 +0100 (CET)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by DB9PR03MB8448.eurprd03.prod.outlook.com (2603:10a6:10:39b::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.35; Tue, 25 Mar
 2025 16:54:10 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%7]) with mapi id 15.20.8534.040; Tue, 25 Mar 2025
 16: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: c7e76370-0999-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=g5p84DGApjTGkeA5Ml0tnwKQB34th77zECFFylgRILCRitsJWDOnoa7m+QmyPlPKhb+KBog/vg4UepLybnzCpXP73kOZ5AFbtZJt+kv5wIlpxxNzB2Pzu77El6iQhbvO+2+1+E4l5Pdk6Lz4GE1Fz29g/SMldIzCzUYkvT7Ke2sZl0deFlE3DUk7LVpHhl5JtP8sRUyl5HWUS3KPo7e9mBsHgo9mAjMrJaizE2rbTYwbaKjv1Gr2RMmorTXDVFYs0u2ldYuhAdYahTsDrJO2utzrHaaEWTUPwrYZBBSNL5xkgxKt27WdG0xir3fZwt/v1d6W6aO2kdWO2m5Xa/MIgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wG8UckL0gHwhuH44rb5YCdCnMwuueWPNkaDZBreM5lE=;
 b=er/hktCx2tG1QdCJfXpdpff8Z11EOakKyh1ucSkAPgLYaXKOXftIQudosEvu0PR5A+bz4pXrfRR9D3rAwvRr0vflp+rOsdL4ePKF6pK/zI4HBFiDIfQMdId5llzoE2YYsTvC8AmM1epHBE0IedgYXliLJlr6dfOIzYOhpQMr2TAa0JqkSwRQx6w8i8bQXgkdclRJ+vZMUBCmvTQro8NMy+5d+kFqSr8jUo9GwGJS3Z4nH/KQP9f8vHNMJ61rnYs2IY2uZrJ353b1IsXQ67togsKyPM0pOmWQmPNhXW003/e6JY/x2UeLYDjOhTHgklwBmbm/1MrAjvd0L79QjieV/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=wG8UckL0gHwhuH44rb5YCdCnMwuueWPNkaDZBreM5lE=;
 b=RGA5obSpOfNrHnQvw+p2lOk/jVviZXIzSipR+2vn4es7yOZrb1qDAPQSXCZljrwJq0WKmS1ploVeDgiHb1s0p7Ooc8epxejooTDVZa4D5tyGQbozCMYlMywJtK6uGkMPNZUKJuUNVmnYZBH9eCjZdYLty29OUc/nJM9gSKgdqBKFE8sTpRag+2Q6h92BDhi7HF2kZ13imAALunyTPm+tS0sqhE9P0ESxP2JGwqVPldwUx/I4HST407ZA4nd60Iwj7H5zobtN4NgkoyEgNcJV8Wox8yCLcetUAerT5089YWn+9LaYDAesCAyvcERJzx+vSUeqxf0QA6juJtjOjEENWg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Orzel, Michal"
	<michal.orzel@amd.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Topic: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Index:
 AQHbnZfMrs+h0o/uEkuTNWO41qxIcLOD+IUAgAADaoCAAAM8AIAABQEAgAABHgCAAAyVAA==
Date: Tue, 25 Mar 2025 16:54:10 +0000
Message-ID: <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
 <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
In-Reply-To: <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|DB9PR03MB8448:EE_
x-ms-office365-filtering-correlation-id: 4d32b566-2f53-4f7f-d1e1-08dd6bbdaa2e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?cmJ2WkdFMW05VlB5VDRaMDFsQURYMkJRSVg5M2kyZ1lqd2s1RnJPS2xVS1Nn?=
 =?utf-8?B?V3VpYmhSdGNrbEtCRGtBRXgxcWR5ZHBoWFd0UEJqeUpTZW9vN3JKbDd0VE9l?=
 =?utf-8?B?cCt4MURXbGYxV3pSdDVqSHNyOE5CVUNOREdtV3VhYXZMRGVHVmtsL3ppT1lJ?=
 =?utf-8?B?dC9mRkxISXUvT2hmNVpPZFE0M1cvM2JZZkZobWpnbXkwTE5JTEQvVDVjQXJi?=
 =?utf-8?B?VXh5Sm5IMXdhYVJNcUltT21MVWswMENiTmNYalVjS0JqVEhueDB5OGllYmJt?=
 =?utf-8?B?dVErSEQ1L2NONzYyVmtTSXJ4WXBqVnp6cXFneW84WC9iTHNZQVJhaURSTVdz?=
 =?utf-8?B?eVNvN0dEMzV5TTJpcGdBVGI1MTFva2I1bzBVWGJLZmhiWkc0UFlGT0FzVjRD?=
 =?utf-8?B?eUxWRHpHdnUvMU04OUtUR1ljYUNWaTNxYlVyNG9mOGR1MDBDRzl2a1VSQU1N?=
 =?utf-8?B?eGN4em05b1c1U0ZLUGpaM2hBMTF0OEZOb0xOZlZNWHZ1K00rTi8ySytLMmZI?=
 =?utf-8?B?N0I2a3dSZHRlczVUZFFXdjU3Qk9sWlVrOEUybGZFTXJJY3dnNkJ5b2ZLVW55?=
 =?utf-8?B?ay9pMlFXazBST25YcHJNaVZXRVN4ZlVkYThBb3dRS2JlNk5BQ0ovU3pTKzJy?=
 =?utf-8?B?TVZ1azdSYmlBdTNQdzlPeVVCY25UelgvU2hjTEdGeWh1RDRrb2s0U05wK0Ni?=
 =?utf-8?B?VUZIOE1jVmhpY2N0dHVORUVIVmEwQ1h3U1B5NTNTZURnd2tqekxackhVcVdp?=
 =?utf-8?B?ZUtSaTZuRUxqZ0ZYaU1TWHVDcm1zdnZIUElmSjFjKzU4QTYwaDdYcFZ2dGdI?=
 =?utf-8?B?MFU0ZXFBMzBDUlVHNlpTSXFmUW80SndKK2VQb3ZQZW1OeDRiVWw4VS9BdU1l?=
 =?utf-8?B?Z3VWbHczamY5clphekxDaXhPRDkzRnAyT2tpM1F6c1FBMldFdFVmKzN4TExa?=
 =?utf-8?B?U0wvOVBlaHhJeUZoMmNTMnYya2k3Yk53VWNJZnltVmhHaFg1VnpId1hnUXpV?=
 =?utf-8?B?RGgveHdtclhFNy9pUWlmNCs3dkp3TFUrS293THlpeWJQQW10bGhIVmhPMWJ6?=
 =?utf-8?B?UVozejFxSEdzVS9qYlNzZFVlN05HUHRyYUtTNlYvRkdTc0x4V3Y4RFg3TlY4?=
 =?utf-8?B?VVJtUk5BTTBQMk9rMWI2ZUdvdVFPYUlZeU1TT3Q1ZDJqRTNYQWNHRTNFRXBi?=
 =?utf-8?B?dXMya21McnF0bkNLU240bzJwUXlLZWRtc2FObC9qc0hwSjdNTHEwRzlZdFNW?=
 =?utf-8?B?UWRZWHF6NlJsSzF4VG1aV1Z6MDZMNVlTSkExSUpKejl6R0pPcVhRNWtPbXkz?=
 =?utf-8?B?Nk5QcC9seGdyRXZPaXBFUzFVQ1FaaFptSmwvSmxYOGpOVHloTkhwakNNSU1O?=
 =?utf-8?B?WFVWVWMyd0VxTVJ1VS93QmNiVDlrZUJWWUJHTjNVTkJCZ0QrMGw1ekwyQWJG?=
 =?utf-8?B?ZUVPcnBJTWd4b2hOTGg5ZlN1U2V6MlB6ZU1hK2UyRlpVOWdkWlRWdEU0MGpN?=
 =?utf-8?B?NUpPYUJnSzh3a0NtYlNWNURyVVI0U1ZEU2NwNm8rMTNraU53S3F1bUdTRlBx?=
 =?utf-8?B?NG1XQUs3ZVFodG1HYVd3L3BiNGVXQkJmZGltUW1pdjF4d3VNYUZlbmRBVnk3?=
 =?utf-8?B?UlQ5Y2c5aFNzeFg2WmtuUnI3dTB6bnpxbXVObUduaWVpQ0V3TVRVR1pndEg2?=
 =?utf-8?B?eHNZTFZ1aE1lVkxDSVVNSTV4MkdZT05MU09WYVk1UVduZEw0OWJoektuTTJV?=
 =?utf-8?B?RTdwalBEOFYvajFTTWtWVFBIWDRCMXZLNlJEZzU1TUVMMWNEQm5rWC93ZHRM?=
 =?utf-8?B?SWtvQXdDZWRpMXo1T1kxaE1pZDREcTVGcWl4cXpNTkpPaFkyZDk2aHo3QXJ6?=
 =?utf-8?B?cE55RXEzT2I3YWlDU2k1azQ0RmNkNEtBUk51SkpGK04xZjF3a0l2c2o3Y3NP?=
 =?utf-8?Q?p+FNWdNK+EWrY4izMQqS5x45qrlQyQMO?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?N2tsenA5NWo4VHU2SUhXRGtVaE5RZW5wUnZmbEtvcytQVFZSMGlHMnNMamFn?=
 =?utf-8?B?NFArR0F4T2ZFRDZiL1RIYUIwNXh0VSt2ZVVrMzF4T2NRemxIVUNyeEttWHNG?=
 =?utf-8?B?K2RSN3JYMDdidkZoMmw2a1dnS2Z5c0lEd0pvVTNtbjM4WHhLN1R0Sm5CeU1n?=
 =?utf-8?B?NjFVdXhENkhXMldoQnFvMTcxNXErRGhPejZKQVZnWGpVQkZFYkdIMVh3YlYr?=
 =?utf-8?B?SFhsU2Fzc1BCWXpSbWo2WFhpVlhYSUcrN1JJaHBUdWhUNHhXcGRSUHJUbGhL?=
 =?utf-8?B?T1RYYy9FMVcrTFB0cjBwWWlYSjI3TG5WN0FveTBjcGNZVDRUNEw2WmJKNzZ5?=
 =?utf-8?B?citSMTBBQU83R3ZCbnA3TFBldjZNVzNVeDAwbzRMVFZYSFREZHJxZzdlYVdx?=
 =?utf-8?B?aXJlMUFlSk51cDNwampWNEQvbThBM2E2KzBjci80R0tIN25veFVGb0V6cmNR?=
 =?utf-8?B?YXpCRndCb24wYkQvakJ3bkFGWE56dElZZERYSkh1eGowdDhrakF6YnkvS2lX?=
 =?utf-8?B?Y0ZjeXZIRHZRaHJmTWwvR25TZ0V5Q3hXWnhhajVHd21ONUNIMFU0bHMvSUx6?=
 =?utf-8?B?MUxTZGR5VGVEM0F6VjhkOERLR0ladnpmdCt4VVI5RmZPZi9YR1l3NzJTWXlM?=
 =?utf-8?B?TEVMTlg4dy94RnRWblRqREJBRFJkK3owTnJYSHZYeFFKNytqRmFBWHVqNlVk?=
 =?utf-8?B?Mk1TWkZCQ1V1WEp5ejZCN3RMdnpXMC9tdENkUnNpSjNuQkMzbTNRd1FZWmcv?=
 =?utf-8?B?MXF0UUgrYkVFOHFwcG94ODhnWFRKQzZWSHkvbEt1eUQzVzZEZGVBMTVOek9S?=
 =?utf-8?B?OFh3QVNNcnNtVG1FVmdTSjV6d0syOGhSZTY0L1h6M2ZLRE9HNUlxeWk0TlNV?=
 =?utf-8?B?b1lZVlh5d3pKbWg2c0FYeVV0TUtpSzVQeXc0UmdxWXFIckVMV2s2SmhLbGt2?=
 =?utf-8?B?OTFkZDQ3TFJtYUdvbWkxRXRFMTRYeUJjSFcxZzlpZG91ems5eE95OElLWlFF?=
 =?utf-8?B?NmkwdGdCUitBek1yczAvNjQ4ODRYanFxaWRnZFlzeVVSVTNkNk9RbEZNQmJD?=
 =?utf-8?B?K0dWazlJUldwVmM4bDFXS1FvN21NTlNkV3p5RjR4dVhsb3RTc2NMZGJXd2N1?=
 =?utf-8?B?TENVZy9ERXRhcVdjaGE0cS91TE5VNnRpbi8zWHp5aUk2Qm5GTHJnM3pHWDA5?=
 =?utf-8?B?WHJOZWZXcytWUm9kWUlta3draENXczZqZEZENzdRUHROSFIrYkpVOHhOR2Rp?=
 =?utf-8?B?SXZFQ0lKQThEL3JzZlBzbGltK3NCMDhmTzN6T3RPb0F2akZudjk4THlyY1NX?=
 =?utf-8?B?R3RpZldWbGt6UnJLNFFaSUtscVFHZ1lSQzlkYmNaL2JSdm90T243TU1LK2Rz?=
 =?utf-8?B?VUh3R1VDM0xrMWNuaTlvNWx2a0V5L1dIL0N5VG1mOHI0bEx3SUdqQkp1cDg2?=
 =?utf-8?B?ZTNRNEpKRkZua2Z6Zm1CQ1NGTXVaWEdOY2txSnJHS3NzN0VZS3J5am9jWXVi?=
 =?utf-8?B?RTU2cTNQN25kZlMrdFA1NUgxVFBCMjlBMS9DQUV4YWQyOWE0MWE1TGNOa2Y3?=
 =?utf-8?B?MTBlQVY0OEF5M2d5bDBFSjFqREh0TEkyNURCWGczNkErMndxVVAyV2JxV3Rp?=
 =?utf-8?B?T3J2VkQrOEtsQ1k2TjV3dTFJUHBXQ3dpZTUvSWtnd1pDaFR3dUlXNnA2d2Iy?=
 =?utf-8?B?Yks2WXJIa3pPa1ZiY3JqbjFHYk1vVEdWODB3Tk1lcUd6cU5ma3U4NEpXa0VI?=
 =?utf-8?B?WHpZbkVKb012eFBxRWtFeHFQMlNhNVJ0cm1OMzNaZjRjM0tqSkI2M1dabDVZ?=
 =?utf-8?B?R3haM3gzOXVtdENVVENwS0lweVBKN2VjK1JlMEtLeUtXNldoMzBRZEY2NUl6?=
 =?utf-8?B?b0xUd2JqNkV1czQ3R0VGRlg4bWlnaHBYYnRTN0krU1lNMnlYTHQ2cEllaWkv?=
 =?utf-8?B?TkRwV0JwTGhRRU9ZemN3NXArVVd5T29qdVFBMDdKZStyQkUvWkVrckdMaFFx?=
 =?utf-8?B?RXFhWS95b1lYUXh2cVVBNHgvRzRKNFQyK2g1QWVlc0ZsVnpIMFFEcnVYRDdv?=
 =?utf-8?B?blMwMHQvdW1ZSVlWMHlHcjQ0UGRhcXBrMUZZQWhzS3U3dE1Tc01zdC9xYmxT?=
 =?utf-8?B?anV0VWZ3MGQzNXVnNi9tcGhma090M0ovbFRpaGRzdXBRbzdjc3FEK2RDUjlH?=
 =?utf-8?Q?w5vFJmKioZUfLeQmvqEAK4I=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E08B633F61897C41A70FE13ECAA697E7@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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d32b566-2f53-4f7f-d1e1-08dd6bbdaa2e
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2025 16:54:10.4353
 (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: 81naxjS9pYMy1IslIQcEFkyBZP7rY0rjB/PiFK30jfb3wt5yqNcGQ7hGoLiAM0Y9Gp9EzxNTbuloQna+tTr2uMlcGe2gcZ55Muz86gMsOYo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB8448

DQoNCk9uIDI1LjAzLjI1IDE4OjA5LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQoNCg0KPiBIaSBPbGVr
c2FuZHIsDQoNCkhlbGxvIEp1bGllbg0KDQo+IA0KPiBPbiAyNS8wMy8yMDI1IDE2OjA1LCBPbGVr
c2FuZHIgVHlzaGNoZW5rbyB3cm90ZToNCj4+Pj4+IEZ1cnRoZXJtb3JlLCB3aGF0IGhhcHBlbiBp
ZiB3ZSBkZWNpZGUgdG8gdXNlIEFDUEkgYWZ0ZXJ3YXJkcz8gV291bGRuJ3QNCj4+Pj4+IHRoaXMg
bWVhbiB0aGF0IHRoZSBzdGF0aWMgcmVnaW9ucyB3b3VsZCBiZSByZXNlcnZlZCBldmVuIGlmIEFD
UEkgDQo+Pj4+PiBkb2Vzbid0DQo+Pj4+PiB1c2Ugc3RhdGljIG1lbW9yeSAoYWxsIHRoZSBtZW1v
cnkgaXMgZXhwZWN0ZWQgdG8gYmUgZ2l2ZW4gdG8gdGhlDQo+Pj4+PiBhbGxvY2F0b3IpPw0KPj4+
PiBJIGRvbid0IHRoaW5rIHN1Y2ggaHlicmlkIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWQgKGJvb3Rp
bmcgd2l0aCBBQ1BJIHlldA0KPj4+PiBkZWNsYXJpbmcgcmVzZXJ2ZWQgcmVnaW9ucyBpbiBEVCku
IFNlZSBjb21taXQ6DQo+Pj4+IDljMmJjMGYyNGIyYmE3MDgyZGY0MDhiM2MzM2VjOWE4NmJmMjBj
ZjANCj4+Pg0KPj4+IEkgZG9uJ3QgdGhpbmsgdGhlIGNvbW1pdCBpcyBwcmV2ZW50aW5nIGh5YnJp
ZCBjb25maWd1cmF0aW9uLiBJdCBpcyBqdXN0DQo+Pj4gc2F5aW5nIHRoYXQgdGhlIHJlZ2lvbiAo
d2hpY2ggY291bGQgYmUgYSBzdGF0aWMgcmVnaW9uIGJlY2F1c2UgdGhpcyBpcw0KPj4+IG5vdCBz
dXBwb3J0ZWQpIHdpbGwgYmUgdW5yZXNlcnZlZC4NCj4+Pg0KPj4+IElPVywgd2hlbiBib290aW5n
IHdpdGggRGV2aWNlLVRyZWUgeW91IG1heSBiZSBhYmxlIHRvIHVzZSBzdGF0aWMgbWVtb3J5Lg0K
Pj4+IEJ1dCBpZiB5b3Ugd2VyZSBib290aW5nIHdpdGggQUNQSSwgc3RhdGljIG1lbW9yeSBpcyBu
b3Qgc3VwcG9ydGVkIGFuZA0KPj4+IHRoZXJlZm9yZSB0aGUgcmVnaW9ucyBzaG91bGQgYmUgZnJl
ZSBmb3Igb3RoZXIgcHVycG9zZS4NCj4+DQo+Pg0KPj4gSnVsaWVuLCBJIHNlZSB5b3VyIHBvaW50
cywgYnV0IHRoZSBjdXJyZW50IHBhdGNoIGRvZXMgbm90IGF0dGVtcHQgdG8NCj4+IG1ha2Ugc3Rh
dGljIChyZXNlcnZlZCkgbWVtb3J5IHByb3Blcmx5IHdvcmsgb24gQUNQSS1iYXNlZCBzeXN0ZW0g
KGlmIGl0DQo+PiBpcyBhdmFpbGFibGUgdGhlcmUpLCBjdXJyZW50IHBhdGNoIHRyaWVzIHRvIHNv
bHZlIHRoZSByZWFsIGlzc3VlIG9uDQo+PiBkZXZpY2UtdHJlZS1iYXNlZCBzeXN0ZW0gd2l0aCBY
ZW4gY29tcGlsZWQgd2l0aCBDT05GSUdfQUNQST15IChhdCBsZWFzdA0KPj4gdW5pbnRlbnRpb25h
bGx5KS4gDQo+IA0KPiBJIGFtIG5vdCBhc2tpbmcgdG8gbWFrZSBBQ1BJIHdvcmsgd2l0aCBzdGF0
aWMgbWVtb3J5LiBJIGFtIGFza2luZyB0byBub3QgDQo+IGJyZWFrIEFDUEkgaWYgdGhlIERldmlj
ZS1UcmVlIGlzIHNwZWNpZnlpbmcgc3RhdGljIG1lbW9yeSByZWdpb24uDQo+IA0KPj4gSG93ZXZl
ciwgSSB3b25kZXIsIHdoeSBpdCBoYXMgbm90IGJlZW4gbm90aWNlZCBzbyBmYXIuDQo+IA0KPiBB
Q1BJIGlzIG5vdCBhIHN1cHBvcnRlZCBmZWF0dXJlIGFuZCBnYXRlZCBieSBVTlNVUFBPUlRFRC4g
U28gdGhlIA0KPiBpbXBsaWNhdGlvbiBpcyB5b3UgaGF2ZSBlbmFibGVkIFVOU1VQUE9SVEVEIGFu
ZCBhbnl0aGluZyBjYW4gaGFwcGVuIA0KPiByZWFsbHkgOykuDQoNCkluZGVlZCwgdGhpcyBhbnN3
ZXJzIHRoZSBxdWVzdGlvbi4NCg0KDQo+IA0KPj4NCj4+IEl0IHRvb2sgc29tZSB0aW1lIHRvIHVu
ZGVyc3RhbmQgd2h5IGp1c3QgZW5hYmxpbmcgQ09ORklHX1NUQVRJQ19NRU1PUlk9eQ0KPj4gdHJp
Z2dlcmVkIGEgQlVHIGluIGNvbW1vbiBjb2RlLiBBbmQgaXQgdHVybmVkIG91dCB0aGF0IGl0IHdh
cw0KPj4gQ09ORklHX0FDUEk9eSBpbiBteSBYZW4ncyAuY29uZmlnIHRoYXQgY2F1c2VkIHRoYXQg
Y29uc2VxdWVuY2UgKEkNCj4+IHNwZWNpYWxseSB3cm90ZSBzbyBsb25nIGRlc2NyaXB0aW9uIHRv
IHByb3ZpZGUgZnVsbCBjb250ZXh0KS4NCj4gDQo+IEFzIEkgd3JvdGUgYWJvdmUsIHRoZSBvbmx5
IHRoaW5nIEkgYW0gYXNraW5nIGlzIHRoYXQgbWVtb3J5IGZvciBzdGF0aWMgDQo+IHJlZ2lvbnMg
c2hvdWxkIGJlIHVucmVzZXJ2ZWQgd2hlbiBBQ1BJIGlzIGVuYWJsZWQgbGlrZSBpdCBpcyBhbHJl
YWR5IHRoZSANCj4gY2FzZSB0b2RheS4NCg0KU28gdGhlIGNvbmNlcm4gaXMgdGhhdCBub3QgcmVz
ZXJ2aW5nIHByb3ZpZGVkIGJ5IHRoZSBkZXZpY2UgdHJlZSBzdGF0aWMgDQptZW1vcnkgcmVnaW9u
IGlzIGdvaW5nIHRvIGJlIGEgcG90ZW50aWFsIHdhc3RlIG9mIHRoZSBtZW1vcnkgb24gdGhlIHJl
YWwgDQpBQ1BJIHN5c3RlbT8gT3IgSSBtaXNzZWQgc29tZXRoaW5nPw0KDQpJIHNlZSB0d28gb3B0
aW9ucyB3aXRoIHVucmVzZXJ2aW5nIHRoZSBzdGF0aWMgbWVtb3J5IHJlZ2lvbnMgb24gdGhlIHJl
YWwgDQpBQ1BJIHN5c3RlbS4gSSBhc3N1bWUsIHRoYXQgd2Ugc2hvdWxkIHVucmVzZXJ2ZSBvbmx5
IGFmdGVyIHdlIGRlZmluaXRlbHkgDQprbm93IHRoYXQgd2UgYXJlIHJ1bm5pbmcgd2l0aCBBQ1BJ
IChpLmUuIGFmdGVyIGFjcGlfYm9vdF90YWJsZV9pbml0KCkgDQpjb21wbGV0ZXMgYW5kIGFjcGlf
ZGlzYWJsZWQgcmVmbGVjdHMgdGhlIHJlYWwgc3RhdGUgb2YgdGhpbmdzKSwgcmlnaHQ/DQoNCjEu
IGVpdGhlciBjYWxsIGFjcGlfYm9vdF90YWJsZV9pbml0KCkgYmVmb3JlIHNldHVwX21tKCkgaW4g
QXJtNjQncyANCnN0YXJ0X3hlbigpLg0KMi4gb3IgZ28gdGhyb3VnaCByZXNlcnZlZF9tZW0tPm5y
X2JhbmtzIGFuZCB1bnJlc2VydmUgZXZlcnl0aGluZyBtYXJrZWQgDQp3aXRoIE1FTUJBTktfU1RB
VElDX0RPTUFJTiBhZnRlciBhY3BpX2Jvb3RfdGFibGVfaW5pdCgpIGNvbXBsZXRlcw0KDQpXaGF0
IGRvIHlvdSB0aGluaz8NCg0KVW5mb3J0dW5hdGVseSwgSSBkbyBub3QgaGF2ZSBzdWNoIGVudmly
b25tZW50IGluIGhhbmQgKEFDUEktYmFzZWQgDQooZG9tMGxlc3M/KSBzeXN0ZW0gYnV0IHN0aWxs
IHByb3ZpZGluZyBkZXZpY2UtdHJlZSB3aXRoIHN0YXRpYyBtZW1vcnkpIA0KZm9yIHRoZSByZWFs
IHRlc3RpbmcuDQoNCj4gDQo+IENoZWVycywNCj4g


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 16:59:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 16:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926755.1329585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7cX-0005LZ-3D; Tue, 25 Mar 2025 16:59:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926755.1329585; Tue, 25 Mar 2025 16:59: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 1tx7cX-0005LS-0Z; Tue, 25 Mar 2025 16:59:21 +0000
Received: by outflank-mailman (input) for mailman id 926755;
 Tue, 25 Mar 2025 16:59: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=RPpQ=WM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tx7cV-0005LM-UA
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 16:59:19 +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 7dad4c6d-099a-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 17:59:18 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso40692005e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 09:59: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
 5b1f17b1804b1-43d43f43ecbsm204785705e9.10.2025.03.25.09.59.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 09:59: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: 7dad4c6d-099a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742921958; x=1743526758; 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=FVkMY9t4X8uuqmCFVO+znnnCLkEsUIYHJwu1DhgFM88=;
        b=VF3B4cYaWzQBrJRYm/Yc9sPBrMM9o3Q0nMzEHGX3xj2aPpvOrhJqHhc8ZNGXs10YnJ
         T21GoqJxfQphFLBG5ciDafYQ4V0qT5rSylXEXo1XMqZlCshILyjsiBJ8AS9im38JWcy4
         GzGN7/qY6pny98uz7XACRGcHsQwNIcPHyjqhEshJhiXx28nSoTE+oY+MV/p4euQ2+mDQ
         +DXPEfy1QdU0qokCWwp579GZMsMhEPGFKewE/MPsjl01xVnuinKI92QAT/LyWGAZxgzB
         IT88wMz9gyzWiSkf0T7HPYekuynzFGx0hm8FvUnO5uEOYBscG20KXZlp8o8qUKxpP53h
         4VkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742921958; x=1743526758;
        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=FVkMY9t4X8uuqmCFVO+znnnCLkEsUIYHJwu1DhgFM88=;
        b=JWuJGvihVvmRDO8unShqTMy8czxw798pMmfuWttqD+ZIILQSRb5KeOZ4sUDfGd0VQ9
         BDL1iciUTdwDEXFixHF0MTuTrA3WpBucHt9WCnFpvGxlXvlAyWT+3OIEaGVrpTdyyfkR
         2xPCr0tv5UeT4W4nk6W1Rux11UVUfFyespvNf2WcSa3p7kBHBYOEKg5eierYOQQaFc6k
         ToFvyNqJeH9rHppOBXEqiRWk3mZajsBCOqoury+k+KVHNypvgmpe7CVi5MUD6lYPnGkj
         CqzL2J6hSvARzAGewwUDgddVphe3wKQ56DqrZjWI8tFRi4d2Ja/QrGTMYQcfEDP3pf6n
         xQQw==
X-Forwarded-Encrypted: i=1; AJvYcCU3aWYQZBxPxop9nNFySCNDL9qAws93o3UkWzmWQc4zYCQBGGfP0+kIe8V8z2pwqzGoag544ldElSE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxN2yYnbeQNdb0+92X1vgdAy1brKTvUC+AO2hq1U8wiavjtjCV2
	CPUmcy5DOWAePNv404fkC8EQX6Ts+a7+N6Mp4yMf7y4+B9VCruTqG15O4EVEHw==
X-Gm-Gg: ASbGncthgE1RXgEbhvNLV2tAIQLJHxXcaPsd8R6QrxFUYgt/xNxFKJ8ILwA4E5JzXXB
	H0X5/xPX680Qkp+lblXBjJMzvdFya9jjxVbn3rDY0CxiaVouoBWhVKaHJ5zjj/8xsa0So7wjg4D
	IzNtnHW81oAoIcX2PQFWXMCGE9EpBhhHqRLJV7Eu73fTM75Orhm6dkQVkYVLna952JF/9GGKrh9
	3gp42jTnwaS09Z1Fjmz7iOtYy6v4+gofyHmvpicFdZLD5f2fbU372O0LwA1CiQrACsVX9Qb65Zy
	zoaTMnAB9OdO1rBJxOrmLkAMGdxZo9DeoUNvHYqXC4TtSlVwBZzaRqqsAnbiepkVytMCkAOaisH
	LAzAW/NT/D03U+9LVKsZMfS2oSaTKZA==
X-Google-Smtp-Source: AGHT+IGv3XGNVMFgbVufmMsbuvCFGnsvcm5rXevQfCtNHQOt9uvyD590aXLiDNDjqdwPfnypgzaL6w==
X-Received: by 2002:a05:600c:1ca4:b0:43d:b3:fb1 with SMTP id 5b1f17b1804b1-43d50a3c12amr125783195e9.27.1742921958042;
        Tue, 25 Mar 2025 09:59:18 -0700 (PDT)
Message-ID: <85d2bde5-b078-4c04-87e6-263b3e218cf9@suse.com>
Date: Tue, 25 Mar 2025 17:59:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 15/15] xen/cpufreq: Adapt SET/GET_CPUFREQ_CPPC
 xen_sysctl_pm_op for amd-cppc driver
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-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: <20250306083949.1503385-16-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.03.2025 09:39, Penny Zheng wrote:
> Introduce helper set_amd_cppc_para and get_amd_cppc_para to
> SET/GET CPPC-related para for amd-cppc/amd-cppc-epp driver.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - Give the variable des_perf an initializer of 0
> - Use the strncmp()s directly in the if()
> ---
>  xen/arch/x86/acpi/cpufreq/amd-cppc.c | 124 +++++++++++++++++++++++++++
>  xen/drivers/acpi/pmstat.c            |  20 ++++-
>  xen/include/acpi/cpufreq/cpufreq.h   |   5 ++
>  3 files changed, 145 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/x86/acpi/cpufreq/amd-cppc.c b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
> index 606bb648b3..28c13b09c8 100644
> --- a/xen/arch/x86/acpi/cpufreq/amd-cppc.c
> +++ b/xen/arch/x86/acpi/cpufreq/amd-cppc.c
> @@ -32,6 +32,7 @@
>  
>  static bool __ro_after_init opt_active_mode;
>  static DEFINE_PER_CPU_READ_MOSTLY(uint8_t, epp_init);
> +static bool __ro_after_init amd_cppc_in_use;
>  
>  struct amd_cppc_drv_data
>  {
> @@ -513,6 +514,123 @@ static int cf_check amd_cppc_epp_set_policy(struct cpufreq_policy *policy)
>      return amd_cppc_epp_update_limit(policy);
>  }
>  
> +int get_amd_cppc_para(unsigned int cpu,
> +                      struct xen_cppc_para *cppc_para)
> +{
> +    const struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
> +
> +    if ( data == NULL )
> +        return -ENODATA;
> +
> +    cppc_para->features         = 0;
> +    cppc_para->lowest           = data->caps.lowest_perf;
> +    cppc_para->lowest_nonlinear = data->caps.lowest_nonlinear_perf;
> +    cppc_para->nominal          = data->caps.nominal_perf;
> +    cppc_para->highest          = data->caps.highest_perf;
> +    cppc_para->minimum          = data->req.min_perf;
> +    cppc_para->maximum          = data->req.max_perf;
> +    cppc_para->desired          = data->req.des_perf;
> +    cppc_para->energy_perf      = data->req.epp;
> +
> +    return 0;
> +}
> +
> +int set_amd_cppc_para(const struct cpufreq_policy *policy,
> +                      const struct xen_set_cppc_para *set_cppc)
> +{
> +    unsigned int cpu = policy->cpu;
> +    struct amd_cppc_drv_data *data = per_cpu(amd_cppc_drv_data, cpu);
> +    uint8_t max_perf, min_perf, des_perf = 0, epp;
> +
> +    if ( data == NULL )
> +        return -ENOENT;
> +
> +    /* Validate all parameters - Disallow reserved bits. */
> +    if ( set_cppc->minimum > UINT8_MAX || set_cppc->maximum > UINT8_MAX ||
> +         set_cppc->desired > UINT8_MAX || set_cppc->energy_perf > UINT8_MAX )
> +        return -EINVAL;
> +
> +    /* Only allow values if params bit is set. */
> +    if ( (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED) &&
> +          set_cppc->desired) ||
> +         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MINIMUM) &&
> +          set_cppc->minimum) ||
> +         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MAXIMUM) &&
> +          set_cppc->maximum) ||
> +         (!(set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ENERGY_PERF) &&
> +          set_cppc->energy_perf) )
> +        return -EINVAL;
> +
> +    /* Activity window not supported in MSR */
> +    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ACT_WINDOW )
> +        return -EOPNOTSUPP;
> +
> +    /* Return if there is nothing to do. */
> +    if ( set_cppc->set_params == 0 )
> +        return 0;
> +
> +    epp = per_cpu(epp_init, cpu);
> +    /* Apply presets */
> +    /*
> +     * XEN_SYSCTL_CPPC_SET_PRESET_POWERSAVE/PERFORMANCE/BALANCE are
> +     * for amd-cppc in active mode, min_perf could be set with lowest_perf
> +     * representing the T-state range of performance levels, while
> +     * XEN_SYSCTL_CPPC_SET_PRESET_NONE is for amd-cppc in passive mode, it
> +     * depends on governor to do performance scaling, setting with
> +     * lowest_nonlinear_perf to ensures performance in P-state range.
> +     */

Nit: There are again two consecutive comments here.

The active / passive mode distinction mentioned in the comment isn't
reflected anywhere in the code. It's the XEN_SYSCTL_CPPC_SET_DESIRED
which distinguishes them, yet that flag isn't mentioned in the comment.

> +    switch ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_PRESET_MASK )
> +    {
> +    case XEN_SYSCTL_CPPC_SET_PRESET_POWERSAVE:
> +        if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
> +            return -EINVAL;
> +        min_perf = data->caps.lowest_perf;
> +        max_perf = data->caps.highest_perf;

These are still not not both ".lowest_perf", and I still don't understand
- due to the lack of a comment - why that is.

> +        epp = CPPC_ENERGY_PERF_MAX_POWERSAVE;
> +        break;
> +
> +    case XEN_SYSCTL_CPPC_SET_PRESET_PERFORMANCE:
> +        if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
> +            return -EINVAL;
> +        min_perf = data->caps.highest_perf;
> +        max_perf = data->caps.highest_perf;
> +        epp = CPPC_ENERGY_PERF_MAX_PERFORMANCE;
> +        break;
> +
> +    case XEN_SYSCTL_CPPC_SET_PRESET_BALANCE:
> +        if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
> +            return -EINVAL;
> +        min_perf = data->caps.lowest_perf;
> +        max_perf = data->caps.highest_perf;
> +        epp = CPPC_ENERGY_PERF_BALANCE;
> +        break;
> +
> +    case XEN_SYSCTL_CPPC_SET_PRESET_NONE:
> +        min_perf = data->caps.lowest_nonlinear_perf;
> +        max_perf = data->caps.highest_perf;
> +        break;
> +
> +    default:
> +        return -EINVAL;
> +    }
> +
> +    /* Further customize presets if needed */
> +    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MINIMUM )
> +        min_perf = set_cppc->minimum;
> +
> +    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_MAXIMUM )
> +        max_perf = set_cppc->maximum;
> +
> +    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ENERGY_PERF )
> +        epp = set_cppc->energy_perf;
> +
> +    if ( set_cppc->set_params & XEN_SYSCTL_CPPC_SET_DESIRED )
> +        des_perf = set_cppc->desired;

Considering these I even less understand what the comment further up is
about.

> +    return amd_cppc_write_request(cpu, min_perf, des_perf, max_perf, epp);
> +}
> +
> +

Nit (not for the first time, I think): No double blank lines please.

> @@ -533,6 +651,11 @@ amd_cppc_epp_driver =
>      .exit       = amd_cppc_cpufreq_cpu_exit,
>  };
>  
> +bool amd_cppc_active(void)
> +{
> +    return amd_cppc_in_use;
> +}
> +
>  int __init amd_cppc_register_driver(void)
>  {
>      int ret;
> @@ -552,6 +675,7 @@ int __init amd_cppc_register_driver(void)
>  
>      /* Remove possible fallback option */
>      xen_processor_pmbits &= ~XEN_PROCESSOR_PM_PX;
> +    amd_cppc_in_use = true;

Is this separate flag really needed? Can't you go from xen_processor_pmbits?

> --- a/xen/drivers/acpi/pmstat.c
> +++ b/xen/drivers/acpi/pmstat.c
> @@ -261,7 +261,16 @@ static int get_cpufreq_para(struct xen_sysctl_pm_op *op)
>           !strncmp(op->u.get_para.scaling_driver, XEN_HWP_DRIVER_NAME,
>                    CPUFREQ_NAME_LEN) )
>          ret = get_hwp_para(policy->cpu, &op->u.get_para.u.cppc_para);
> -    else
> +    else if ( !strncmp(op->u.get_para.scaling_driver, XEN_AMD_CPPC_DRIVER_NAME,
> +                       CPUFREQ_NAME_LEN) ||
> +              !strncmp(op->u.get_para.scaling_driver, XEN_AMD_CPPC_EPP_DRIVER_NAME,

Overlong line again.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:04:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:04:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926767.1329596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7hJ-0008Ae-Om; Tue, 25 Mar 2025 17:04:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926767.1329596; Tue, 25 Mar 2025 17:04: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 1tx7hJ-0008AX-Ks; Tue, 25 Mar 2025 17:04:17 +0000
Received: by outflank-mailman (input) for mailman id 926767;
 Tue, 25 Mar 2025 17:04: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx7hH-0008AR-Lb
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:04:15 +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 2d68a7fc-099b-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 18:04:13 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e5e0caa151so10516437a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:04:13 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebccf89240sm7942193a12.31.2025.03.25.10.04.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Mar 2025 10:04: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: 2d68a7fc-099b-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742922253; x=1743527053; 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=DsTq9LYeqZRm0Y/urEFIhygv9dSmRUM5rmlSWejk8yA=;
        b=LROKq10Nu0B6K2zhNcBhJ0SdkjkEdMWbf5DeNoibsnqsMz7YufDJ4ikLuAL3posXYk
         Us1JkW99ilCecz53i0uwDMnHJur4c+IuyENEiVcZwTxCNnMYQIBERpiRcH+8LZpZWhta
         9JLZoJbYUPh7yiIPQaMgUQuK8JBPkJdQOABqLp2qjGFkcIYCtlk7nKZdAoTZy95LgskD
         ihAs7qR2pzMOBpDdfkrIxRFuuveq97ZdOvRHdQE2tc3Uw420SUUN1hrqfKVxcHrCDg9w
         fh2PXrEMJa7hGtHX2sLZtb0ipHo3R9IQ/guBvDFyjUjrqXVqqk8IO0FIbhQewPsbJNIm
         eBUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742922253; x=1743527053;
        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=DsTq9LYeqZRm0Y/urEFIhygv9dSmRUM5rmlSWejk8yA=;
        b=ks4djsr2+pcitLlur0VnI/mMEM8B59pr/sV6LQlCrP1UmS3hsTbywycDDRL2HD8gzK
         spMvvMzO57EnMg/UxcrJbcntuds5YYB6dUIUhSUygR3zXWcat+lze//26/NQGDSRIkTn
         +L23I+S5PUsmkegLY9Q1GE/ERDwWNze9G8rpcwWknWmVD490yENtEi+vz9DB4y1qLITS
         1xVhu74XVtUSa/ASP1PlG4xmzAan6btKRJF7j88Sa7AqiByxSGSFiXC4t7eDe4u5vqoT
         tLh4Z/KkND/EIixo5IJGOHZ8udF6712Bzr+Y0oofzDnE152orPDTytjoPRzw742XIWcY
         v15w==
X-Gm-Message-State: AOJu0Yyp27olhzpzjn/WY3qejbDQ1Y0iayTqyVp+hrLfknuOXGaR9h9N
	mnDU2FX+MPEBo16/N4qkdyhBqfhBq0GZ9fIBNALaYPVrj+mDyrdx
X-Gm-Gg: ASbGncvO11HkYAhF9PTwYd2+/2c/WN2jh1NpfcDkKJU+tML7n4xJsX87PeQGgngMhNl
	eArZ2k4/vB0g/fwye2O4CfjGnbobSy+5jgqUFi+RT8U210jgbTLBWRYqkgcm+CWVD3aoWERZNdi
	N/yRNA7qqwgw6+7NrSlcWsGwxQFr73yPkpyW0Nzxc1utN/fWj9m04QkQBZr5GWQ5wEYblgs12tn
	h8DEcf0HmoUvpACAb/psTD55u5GZTkU2da+6Mne1xRM1k5oahrHSXUpJ0alcQ+QOohtC45yhGPz
	v5r5GjA2QeBhk8r3EY+DwJHpdfW8JQUboZj0Ghypi1sCWKF+yzddExoLNHJFfchBfy3F+cg+ssy
	iLDEtQpUFko+6rE8Hvveg
X-Google-Smtp-Source: AGHT+IHlxpUP4bP4UiR+h/4GZGtq/W0LaatklngHqb8k6O3g0elrBxmSW8mkO7Et+vFi0u4SRNv+ZQ==
X-Received: by 2002:a05:6402:2399:b0:5ec:c982:7efe with SMTP id 4fb4d7f45d1cf-5ecc9827f70mr4980201a12.14.1742922252583;
        Tue, 25 Mar 2025 10:04:12 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------VCEwCpqhbsUxNQCoGCDzsb03"
Message-ID: <a852cb38-79fc-4b9d-b0a0-b69e277c2b82@gmail.com>
Date: Tue, 25 Mar 2025 18:04:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
 <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
 <927264c2-0b99-4d60-97f8-31bcd0d64aa6@suse.com>
 <a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com>
 <7cfbd773-de4b-459f-8fa9-7c6ed19fe0ad@gmail.com>
 <52bd483a-c5bf-4eba-867f-3476b1b86550@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <52bd483a-c5bf-4eba-867f-3476b1b86550@suse.com>

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


On 3/25/25 5:46 PM, Jan Beulich wrote:
> On 25.03.2025 17:35, Oleksii Kurochko wrote:
>> On 3/7/25 1:12 PM, Andrew Cooper wrote:
>>> On 07/03/2025 12:01 pm, Jan Beulich wrote:
>>>> On 07.03.2025 12:50, Oleksii Kurochko wrote:
>>>>> On 3/6/25 9:19 PM, Andrew Cooper wrote:
>>>>>> On 05/03/2025 7:34 am, Jan Beulich wrote:
>>>>>>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>>>>>>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>>>>>>> retain a shorthand of that name, if so desired, but I see no reason why
>>>>>>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
>>>>>> The concern is legibility and clarity.
>>>>>>
>>>>>> This:
>>>>>>
>>>>>>    Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>>>>>>
>>>>>> is a clear expression in a way that this:
>>>>>>
>>>>>>    Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>>>>>>
>>>>>> is not.Â  The problem is the extra binary expression, and this:
>>>>>>
>>>>>>    Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>>>>>>
>>>>>> is still clear, because the reader doesn't have to perform a multiply to
>>>>>> just to figure out what's going on.
>>>>>>
>>>>>>
>>>>>> It is definitely stupid to have each architecture provide their own
>>>>>> BITS_PER_*.Â  The compiler is in a superior position to provide those
>>>>>> details, and it should be in a common location.
>>>>>>
>>>>>> I don't particularly mind how those constants are derived, but one key
>>>>>> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
>>>>> What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)
>>>>>
>>>>> #define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
>>>>> #define BITS_PER_INTÂ  (BYTES_PER_INT << 3)
>>>>>
>>>>> #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
>>>>> #define BITS_PER_LONG (BYTES_PER_LONG << 3)
>>>>> #define BITS_PER_BYTE 8
>>> The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
>>> straight up, and this will simplify quite a lot of preprocessing.
>> Could we really drop *_BYTEORDER?
>>
>> For example, LONG_BYTEORDER for Arm could be either 2 or 3 depends on Arm32 or Arm64 is used.
> The can still #define BITS_PER_LONG to 32 or 64 respectively, can't they?

Yes, but then if we want to move it to xen/config.h then it will be needed to:
in Arm's asm/config.h to have something like:
   #ifdef CONFIG_ARM_32
       #define BITS_PER_LONG 32
   #endif

and then in xen/config.h
   #ifndef BITS_PER_LONG
       #define BITS_PER_LONG 64
   #endif

But I wanted to not have #ifndef BITS_PER_LONG in xen/config.h. (or using CONFIG_ARM_32 in xen/config.h)

If it is okay to have this #ifndef in xen/config.h then we can do in that way.

>
>>>>> Also, it seems like the follwoing could be moved there too:
>>>>>
>>>>> #define POINTER_ALIGN  BYTES_PER_LONG
>>>> This one is likely fine to move.
>>>>
>>>>> #define BITS_PER_LLONG 64
>>>> This one is only fine to move imo when converted to
>>>>
>>>> #define BITS_PER_LONG (BYTES_PER_LLONG << 3)
>>> Erm?Â  That's mixing long and long long types.Â  Presuming that's an
>>> errant L, then sure.
>>>
>>>>> #define BITS_PER_BYTE 8
>>>> Personally I'd rather leave this per-arch. The others can truly be derived;
>>>> this one can't be. If we centralize, imo we should also convert the " << 3"
>>>> to " * BITS_PER_BYTE".
>>> It is highly unlikely that Xen will ever run on a system where CHAR_BIT
>>> isn't 8.
>>>
>>> So I suggest it stays central to reduce complexity.Â  If an arch ever
>>> needs to change it, the complexity can be added then.
>> Does it make sense to ifdef that? Or, at least, before defintion of BITS_PER_BYTE something like:
>> #if CHAR_BIT != 8
>> #error "CHAR_BIT isn't 8"
>> #endif
> Where would CHAR_BIT come from? Oh, perhaps you mean __CHAR_BIT__? If all
> compilers we can build with supply that value, we could indeed centrally
> use either
>
> #define BITS_PER_BYTE __CHAR_BIT__
>
> or
>
> #define BITS_PER_BYTE 8
> #if BITS_PER_BYTE != __CHAR_BIT__
> # error "..."
> #endif

Sorry, I meant __CHAR_BIT__.

Thanks.

~ Oleksii

--------------VCEwCpqhbsUxNQCoGCDzsb03
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 3/25/25 5:46 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:52bd483a-c5bf-4eba-867f-3476b1b86550@suse.com">
      <pre wrap="" class="moz-quote-pre">On 25.03.2025 17:35, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/7/25 1:12 PM, Andrew Cooper wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 07/03/2025 12:01 pm, Jan Beulich wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 07.03.2025 12:50, Oleksii Kurochko wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">On 3/6/25 9:19 PM, Andrew Cooper wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">On 05/03/2025 7:34 am, Jan Beulich wrote:
</pre>
                <blockquote type="cite">
                  <pre wrap="" class="moz-quote-pre">I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
retain a shorthand of that name, if so desired, but I see no reason why
each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
</pre>
                </blockquote>
                <pre wrap="" class="moz-quote-pre">The concern is legibility and clarity.

This:

  Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)

is a clear expression in a way that this:

  Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)

is not.Â  The problem is the extra binary expression, and this:

  Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)

is still clear, because the reader doesn't have to perform a multiply to
just to figure out what's going on.


It is definitely stupid to have each architecture provide their own
BITS_PER_*.Â  The compiler is in a superior position to provide those
details, and it should be in a common location.

I don't particularly mind how those constants are derived, but one key
thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)

#define BYTES_PER_INTÂ  (1 &lt;&lt; INT_BYTEORDER)
#define BITS_PER_INTÂ  (BYTES_PER_INT &lt;&lt; 3)

#define BYTES_PER_LONG (1 &lt;&lt; LONG_BYTEORDER)
#define BITS_PER_LONG (BYTES_PER_LONG &lt;&lt; 3)
#define BITS_PER_BYTE 8
</pre>
            </blockquote>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
straight up, and this will simplify quite a lot of preprocessing.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Could we really drop *_BYTEORDER?

For example, LONG_BYTEORDER for Arm could be either 2 or 3 depends on Arm32 or Arm64 is used.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
The can still #define BITS_PER_LONG to 32 or 64 respectively, can't they?</pre>
    </blockquote>
    <pre>Yes, but then if we want to move it to xen/config.h then it will be needed to:
in Arm's asm/config.h to have something like:
  #ifdef CONFIG_ARM_32
      #define BITS_PER_LONG 32
  #endif

and then in xen/config.h
  #ifndef BITS_PER_LONG
      #define BITS_PER_LONG 64
  #endif

But I wanted to not have #ifndef BITS_PER_LONG in xen/config.h. (or using CONFIG_ARM_32 in xen/config.h)

If it is okay to have this #ifndef in xen/config.h then we can do in that way.

</pre>
    <blockquote type="cite"
      cite="mid:52bd483a-c5bf-4eba-867f-3476b1b86550@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">Also, it seems like the follwoing could be moved there too:

#define POINTER_ALIGN  BYTES_PER_LONG
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">This one is likely fine to move.

</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">#define BITS_PER_LLONG 64
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">This one is only fine to move imo when converted to

#define BITS_PER_LONG (BYTES_PER_LLONG &lt;&lt; 3)
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Erm?Â  That's mixing long and long long types.Â  Presuming that's an
errant L, then sure.

</pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">#define BITS_PER_BYTE 8
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">Personally I'd rather leave this per-arch. The others can truly be derived;
this one can't be. If we centralize, imo we should also convert the " &lt;&lt; 3"
to " * BITS_PER_BYTE".
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">It is highly unlikely that Xen will ever run on a system where CHAR_BIT
isn't 8.

So I suggest it stays central to reduce complexity.Â  If an arch ever
needs to change it, the complexity can be added then.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Does it make sense to ifdef that? Or, at least, before defintion of BITS_PER_BYTE something like:
#if CHAR_BIT != 8
#error "CHAR_BIT isn't 8"
#endif
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Where would CHAR_BIT come from? Oh, perhaps you mean __CHAR_BIT__? If all
compilers we can build with supply that value, we could indeed centrally
use either

#define BITS_PER_BYTE __CHAR_BIT__

or

#define BITS_PER_BYTE 8
#if BITS_PER_BYTE != __CHAR_BIT__
# error "..."
#endif</pre>
    </blockquote>
    <pre>Sorry, I meant __CHAR_BIT__.

Thanks.

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

--------------VCEwCpqhbsUxNQCoGCDzsb03--


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:12:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926776.1329606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx7pM-0002Qn-G1; Tue, 25 Mar 2025 17:12:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926776.1329606; Tue, 25 Mar 2025 17:12: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 1tx7pM-0002Qg-CB; Tue, 25 Mar 2025 17:12:36 +0000
Received: by outflank-mailman (input) for mailman id 926776;
 Tue, 25 Mar 2025 17:12: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=Gb8l=WM=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tx7pK-0002Qa-Hq
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:12:34 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2409::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56efe125-099c-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:12:32 +0100 (CET)
Received: from SA1PR04CA0016.namprd04.prod.outlook.com (2603:10b6:806:2ce::21)
 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.8534.42; Tue, 25 Mar
 2025 17:12:27 +0000
Received: from SN1PEPF00036F41.namprd05.prod.outlook.com
 (2603:10b6:806:2ce:cafe::58) by SA1PR04CA0016.outlook.office365.com
 (2603:10b6:806:2ce::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Tue,
 25 Mar 2025 17:12:27 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF00036F41.mail.protection.outlook.com (10.167.248.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 17:12:27 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 25 Mar
 2025 12:12:26 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 25 Mar
 2025 12:12:26 -0500
Received: from [172.22.20.237] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 12:12:25 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56efe125-099c-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=T+3dPd6Yshdorx7EThQlEBsFJwDZHsL047NzrUuZF8QBu7fDmQ1qAd1N6M4jrkCA6Xbz8Y6heedzXEu8DjPQ+/H+kyz7WQS+SSTCmIGswLW0gl4qQcmrza/tMU2NlUsaHVGRbWPswvEcyLWIwRAe/V93/fCwCc5l5em0XSBBk621D3XBbPcUAW1TjIUyj08nM7hgroWhmRehpfv2e1If1CoNennXqCbC67oxYtWKVQ3A+jWLsbTMPGk63w+odAlJYiMD6TOhgSxdFdtoWEwb9dKeMCVC8C7uHHWHIyfEi2/rFG3FHbWT8KByd0elCGIxZsnfRIJkCGYhaj0cptFLVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mvPC5b/ZXX5yhI5ir4m1yjdZju8YX9AEOvQGPoXNHeo=;
 b=juHl/0jfiv8f7Umz1eFL7EUAGnQLkiMUftNm9GOVuentkU/mA3WC5BggmDaQ/khM4rvFhktCLi2NSfSNK7ZbE9W+vHzjeWi03eBhg7BFs8elU8tskgaEP6eUB52Cmm/ptyrTkB2XDw03egCszaKap+Gj2b0gvMvQLpB/jbNCc0SD43Uh+njEveo//vow3n6+PlxTuYvykgsWve+3zGQFesKJNmvsHkmncbwv7IXB2RMzdJXtrmtgjGvStYqvg5hk3ntcTGjN1mhOHF5kBuXBsCvWqeY0deIQh+2rC8OajMoJ5Wz2s3zhLeQn168Kv90bVxijDW8JNh/07LEXhYbfVQ==
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=mvPC5b/ZXX5yhI5ir4m1yjdZju8YX9AEOvQGPoXNHeo=;
 b=v56WMgB3sqviK2ZEOk7XMSeDrd/I5b95YsZJ+aGIKe3fD4w4MUotaGdqpNIiELCWdjMR3xrMq9W1moYBmA0kF8uUCDJl7Jg9cKiQXGZjNmU9+p5rg8hSsCr2lNOLF1CKIyqhA6Oy+RRJReuULNWuvZXJ/INmH67MW1WClwzZE8o=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <690ec4aa-626d-4418-befe-863642c51b1f@amd.com>
Date: Tue, 25 Mar 2025 13:12:22 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenpm: sanitize allocations in
 show_cpufreq_para_by_cpuid()
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>, Anthony PERARD
	<anthony.perard@vates.tech>, Jason Andryuk <jandryuk@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
References: <d1fca705-bfed-4370-a907-ca090dea58e5@suse.com>
 <fdab048e-3738-4e3a-8865-41af3180bf3c@citrix.com>
 <a2cbbd03-b91c-4d64-9392-7db46dc582be@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <a2cbbd03-b91c-4d64-9392-7db46dc582be@suse.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: SN1PEPF00036F41:EE_|MN2PR12MB4190:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d16ce82-4c16-4fec-a010-08dd6bc037ea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|30052699003|82310400026|376014|1800799024|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VWdyd3Z4MVM1UWZxRGNpOTJ0RHFYN2VDNkdXalc1L1hHMWJSWERSeFFHaXRn?=
 =?utf-8?B?OEpaTWt3OWpmcngrQWxZMGtzMzZNNjNFb3Qrak5tNHU0K0IxdzdSaXg2a1dI?=
 =?utf-8?B?TzgzemhPR01TQytBNHp0OTF4alZjelBRaXJTeDBtenpaVUNPaHE5ZUplWjZK?=
 =?utf-8?B?ZjZsK0JJam9XMjUwTlpmT3ptUUFZaVVFUEF0VHB3R092UEJOUUJUV09XbUoy?=
 =?utf-8?B?dVhYMUJiTS9pU2ZPdm45cUZWU3dwN3U3Tm9PQzlObjhrK1poUkdBSndIWnhu?=
 =?utf-8?B?VzJVYUxOeE1BNnBVRU9McEFjVDZ4Q3JLUUxHeitEYUsvcTB5d2RZc2tocWhw?=
 =?utf-8?B?anNTWUphSGlHbnRvZSttQVpML1krbzZXUTZ3OFRGS1JqMXpyNncvOXpvQTBN?=
 =?utf-8?B?Y2dHT1BtdFdQd3lTSDY0RHFiN25VcTZsQTdWT2J3UjliYTZ5YnRiMEEvenRT?=
 =?utf-8?B?MUVUSUk2clZwM2pKaXZid3hIaWN5RS9WNERLR0VnelJzVGZmTGptVXovbEt6?=
 =?utf-8?B?dkl4ZHpQSC9jOU1VLy9DQmZqbWtNei9PZUZyTnFyNE1VNXBXQlhqV3FWZEVB?=
 =?utf-8?B?S3lmNDZjOCtFZnY4UDFhWUNzMVBPdklwT01qenpJRGR5VzZZV00xbkVZTmZ3?=
 =?utf-8?B?NEJ0L1dIejdaSE1qbFFZdmx5djlkUjREVUlQMU9YT01MTURONFV1NFlXNWhM?=
 =?utf-8?B?NVFBMDdTeGZMMFBZVGQzRnJOVHN1RjVpYkh3VnF3eEZ3blBodFAvZ1RrV29C?=
 =?utf-8?B?eUFpWVROZGcwdGpOVzcvUjBITmFPS2NjaVdLVHZKdTJCVlRCemNsK05KbGtq?=
 =?utf-8?B?K1NZMC9OWTZnS0hMc2Z6U2xycmk3eTRGQ08rMCtjcFBxUUM0TExRWVZSeXVq?=
 =?utf-8?B?SzZYOEpVUHoyeXloWWF3amZ3WmNnUTd2dnExSzA3T3B6WW9nUjBTYmV2c2Rt?=
 =?utf-8?B?KzlkVDRaWFJnb0FUeTg5a2RieFFZWGcrNXFBY0R1a2cwdkhVS1M0M3ZOY2Rs?=
 =?utf-8?B?anI1Mk45cVBteDM1RDJsOEFkY2UvaVFoaW5Lem9pUmxiR29wdldJWFpVTldY?=
 =?utf-8?B?eE1rQkR0aTZKZmN0N1V6c1RGK1g2QXJZOUJ0SEV3ZGJDNHVmT0NxdWhOWS9s?=
 =?utf-8?B?TXA2VWdURTRPL1ZMaE1uc2hqMDZ5TmJHRGVXWUgrSUtkUTcvUXRMTmc0aU1o?=
 =?utf-8?B?ZFMyaWVPQXlKVE5rNDBTUkxrL001QnlnU0ltUTBXUFNGOVY1OG1qUjlHTUJY?=
 =?utf-8?B?S0tXS0dadTdONS9jNHpiS1dGYUtJM0FiMTcrK3pUdWsranJ6VmhmL2dCbFdr?=
 =?utf-8?B?SFNOZnF0RkxZR1BIdGMwenk3UlExajQxaWJNUnZuSEN2WnMzYlJkT2RZUnQy?=
 =?utf-8?B?aTlSUEZ3VVhwRUNiQ3hiTkNTVmVySXo4MnI2NGMyMjVSU3d6TnZGL1AyRm92?=
 =?utf-8?B?Kzd0NHQ1THRtMnJ2M0pyWXk0Y1RQTUZsQjJCSzdWeTdDQ01pTE56ZlJiWlUy?=
 =?utf-8?B?WkFabVNwK25kNFcwcEJLYkhBWWpkMjJjeFBOZkg0OGlWcnFDK0oyTVY0NGtZ?=
 =?utf-8?B?RzdVZUdWZ0pDVzNxUVRRZ0NzaXU1ODlFWFFtbHU5aWtlU001NndoTWh0a1BJ?=
 =?utf-8?B?a2Y0N1ExU0EzOWlwWnVER3hMWmcwUGk0UGlnN3NPTmVRREE2Y3hCRmphUlNk?=
 =?utf-8?B?T1hDMTd1R0tyVFNqSm9SeGZUdUJGWWs3T1UyUDM2M3ZXazA0aDdjME5ZUHdo?=
 =?utf-8?B?cXRTVUhQa3JkSTAwMm9tMExPdTFwUUwvSTBYTXdwOUg3WisvVkhLb2hnMzZv?=
 =?utf-8?B?aFdqbCsyUjZVVU92L2QxZ1hmd01RNHdiTmo3M2NmcXowYXJFalo4ZC9PN0Zs?=
 =?utf-8?B?TXNrVVUwMXRtV2gycHRseFQxU3JhdW9DdHA5WVFZbWx3WDMwcTQ1dlJ6YlFN?=
 =?utf-8?B?ZWZzRjhqUzNLVWx3UFFhNjB5QmJFeGI0eUVLNXZXdUJxZ01aZCtKUHdVR3ZV?=
 =?utf-8?B?dGpJdDRwOFl3PT0=?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(30052699003)(82310400026)(376014)(1800799024)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2025 17:12:27.1713
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d16ce82-4c16-4fec-a010-08dd6bc037ea
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF00036F41.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4190

On 2025-03-25 10:30, Jan Beulich wrote:
> On 25.03.2025 15:20, Andrew Cooper wrote:
>> On 25/03/2025 12:51 pm, Jan Beulich wrote:
>>> malloc(), when passed zero size, may return NULL (the behavior is
>>> implementation defined).
>>
>> More importantly, this is the Musl behaviour, so is how ~most of Gitlab
>> CI behaves.
>>
>>>   Extend the ->gov_num check to the other two
>>> allocations as well.
>>
>> I'm not sure what you mean by this.Â  Only one of these hunks has a
>> ->gov_num check.
> 
> Not sure I see a better way of wording this: What I mean to say is that
> the ->gov_num check that there is already is being replicated (with "gov"
> replaced accordingly) to the other two places where similar allocations
> happen. Maybe simply s/Extend/Mirror" would already help?

Yes, "Mirror" is better.

>>>   Don't chance then actually using a NULL in
>>> print_cpufreq_para().
>>>
>>> Fixes: 75e06d089d48 ("xenpm: add cpu frequency control interface, through which user can")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> The code change looks ok, so Acked-by: Andrew Cooper
>> <andrew.cooper3@citrix.com> but I'd prefer a clarified commit message.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:27:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:27:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926785.1329616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx83y-00057L-NQ; Tue, 25 Mar 2025 17:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926785.1329616; Tue, 25 Mar 2025 17: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 1tx83y-00057E-K3; Tue, 25 Mar 2025 17:27:42 +0000
Received: by outflank-mailman (input) for mailman id 926785;
 Tue, 25 Mar 2025 17:27: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=Xav3=WM=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tx83x-000578-Jx
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:27:41 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20603.outbound.protection.outlook.com
 [2a01:111:f403:2412::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71f74afd-099e-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:27:39 +0100 (CET)
Received: from BN9PR03CA0345.namprd03.prod.outlook.com (2603:10b6:408:f6::20)
 by SA1PR12MB7410.namprd12.prod.outlook.com (2603:10b6:806:2b4::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 17:27:32 +0000
Received: from BL02EPF0001A104.namprd05.prod.outlook.com
 (2603:10b6:408:f6:cafe::95) by BN9PR03CA0345.outlook.office365.com
 (2603:10b6:408:f6::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Tue,
 25 Mar 2025 17:27:32 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A104.mail.protection.outlook.com (10.167.241.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 17:27:32 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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, 25 Mar
 2025 12:27:30 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 25 Mar
 2025 12:27:30 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 12:27:28 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71f74afd-099e-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GSg0anlI2M6MpQ/+bt90C8JoyKOPnIP8a/rUVls1pbDV6KFuXlH+8ERAtxYGohfQeORusAbu+Nue7yZZKaNvz/JOVOwvx69GiJtSV5lldDa+alIB0IzB/98D6s9Ad8zPdG6hkku1hp0mWA8gzdghzGylkx5ah9GFf/M/XIlDKLNzL66BIJg+sZN7NbRnJe/Azc8/CITtOO1yCkbD9Jzy1jgVH8gRTAa1T1EryxfTls6TpnhvmmSjH5iSHIZkEj4O4s3sBWLU73ID9eZdJXgvIC2HO7Un0WgGmwPwRCKVs/Yk5Z1uMM+tPIJkgnffQQdWmkz+bUJ+NNkGhaanotgw/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=0RWTOnmH6tz6U6U1DeErdYi6QrRu1YE9l9Bn84wJP0Q=;
 b=UyFT6P+dONq+oqfmfd3McRQuF2JQ91qGAccB0dJcRbMvRztHDYEDOY8w1ezYlyOlj3hZlLIVgcVAZiFr413EwUl3Fe6ag82dTzVboJOuQY3uOz44wqF3C/4yvbpxVpdjHwV2/LpWfq86PyZnoubcUNWBubOUFHyLF7dGZLoDJUwIbAz+OYrbxl3JqnUPKZ/4Rh7raX9YfG/H7FnLF1zc5qrQTK2U099h+9AprH2R1LOFeFHd2ztQkfG8Qm5cFalzvejLqiUQS3g4KsLsRaNbB1tWO5CtznONzfYGAsuoA1mLlSLb7zl6kBVgsOCOMhArMIdC2O+SCMDGdsblRq9Lpw==
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=0RWTOnmH6tz6U6U1DeErdYi6QrRu1YE9l9Bn84wJP0Q=;
 b=M5Jn+biJnUQExSV5ur7ngwlmjJy6xE9QPA+KrqXeS8NJM3pS3qIDmYogsErQfZ/4tYzoJlVTinzxgeJWO59puiJlSMrlkbKjvudV6b97BM9rLdQptIlZiLd1O0uEu48hZ8Zu6K9nWIiRUtPHqQTNumOZ7PAzog6VBWlSx6lrVKg=
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=SATLEXMB04.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, 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>, Jiqian Chen <Jiqian.Chen@amd.com>, "Mykyta
 Poturai" <Mykyta_Poturai@epam.com>
Subject: [PATCH v18 0/2] PCI devices passthrough on Arm, part 3
Date: Tue, 25 Mar 2025 13:27:24 -0400
Message-ID: <20250325172727.600716-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
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: BL02EPF0001A104:EE_|SA1PR12MB7410:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ba8e1ee-4309-4806-ef5c-08dd6bc25362
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?Tm0xY1lQTkFDNW5Ld2x3OGFEVTVJMGNxWEI1THM2NlZIbnN3L2JObmExZGFz?=
 =?utf-8?B?M0pvYk00WG50aHp0SWJrVU05SENadGwrUG9FZTljak5SZnNDZ3h0Q2d0Y0VK?=
 =?utf-8?B?a3RpZXZuckUwMDVnUFFmR3dUTDhWb292RTk4OTJYc1g0OFhyZHJEK2RBNEph?=
 =?utf-8?B?SWNWc0VYcUNJcm9GV0U5dklOaEVCU1F5TlhlN1NRVG9wOTFNUGhpemJ2TTAr?=
 =?utf-8?B?ZHFsdE5QV05OS0gzaVdPVGw2dU96NVFMcFp6dlY1b1NjbnVKcmxvZEU4d2Mz?=
 =?utf-8?B?MXhvNWdFeXN2U01SQzFEb1UxRk1vOTRUZ1kwQWZIOW1yc2RLT3Y4VlQ5cG8w?=
 =?utf-8?B?ZHkvV0hGdDZLMlFMWUd1MERuUkpKKzFxbzF1NTdBNCsrTzgzek9nRUJzam51?=
 =?utf-8?B?a0RhKzVlWmQrOUlNUlVWd2hjejdkQWNQSXFlYVZUMFhzZjR2Wnp1Uk9LUjVm?=
 =?utf-8?B?dnVjMjd3ZkRCVWxnbmVpTUFGTlZrYVdtUjdRemhiZHg5S28vdC9WTVJaZGdE?=
 =?utf-8?B?MnByTmhkL1AvZGZacmVNZTlSYXZJQzVjcStiVmxqcTZPa1JYVW1oNjVQMEd0?=
 =?utf-8?B?SnZReVVmNXFjaHNvTG4zTlpienc5QmFuNEw5c2srTzFSbkFlSXBuWDljT1F5?=
 =?utf-8?B?eVdKa0hEWWlyVCtHZUtYWmdXU1NsRGM0Uzg0OVZqT0hZSFl4djRKZ3lwbVRj?=
 =?utf-8?B?SXFHZUl4VjRscVJTRHVHUmR3b3pnSkxvNVBjM3UwWjRHUDJSV1d4NnFsZFYx?=
 =?utf-8?B?NmJDYmFVdm5rRDdYS1NPV0IvU1pyRkZlT0xSMlZFOE9CMlJYeDhIeXkwSGtE?=
 =?utf-8?B?OGpBTDVXaTdoWEQyVERjY2tQRU5UNUJ6T2JIck1hTFFpU3NkMGY1eXpHNGF0?=
 =?utf-8?B?K25pdzBnQythWmcxWVUvcDQvVkJ4Y1FkZGJZUitVQkJCWTZWYksxMmpjUEcy?=
 =?utf-8?B?WGlKNWJUVXV1VndzMXlsU0M3dTFpQ1MzclNobkVnK3QxR3VRWjVNUy9pRHpH?=
 =?utf-8?B?cW1FWnJFekh0SFVSaEM1Z0gzM3NPVjlSY1dkNmJpTWZQRGVpOU5lREZ4aEhr?=
 =?utf-8?B?dm15RGZxckJieXRaNEJEcDRRLzZsTGovN3Z2UlRwMXc3SWR5dGYyVHV5NEhw?=
 =?utf-8?B?bVcwd3hQNzdJZDQ0Z3lqeVZGem00dUhLUGNnSXN3MWpxRnBwVGRGUkJoZ1lu?=
 =?utf-8?B?QmNIZ3pMTXMxZmw1cDNZN2gwYVo5dTFhWnJwUk1zVkNaRjZJN081UEZGc1pV?=
 =?utf-8?B?SldybkFxZXg4MDlxZHBTMzJab0VkSE4yTWhEZEhuQlIwZWRuNlFlRnI3WEdI?=
 =?utf-8?B?KzE0bk9xOXpTSDBnRTNRZGU0UmFoNGdPeVpQakF1K0ZlTHl2Z21FcTVaSFYx?=
 =?utf-8?B?SmpvV3cxVzAwNEE2S2JLQVVYNHZBUG5TYUN4TGU3VEx0TWNhckprMlRSdzQw?=
 =?utf-8?B?YXliMko0K2Y3UmdWcGtERnBReW8zVW40ODFzRi9kWUpaL1N5YUQ2OXA4ajZk?=
 =?utf-8?B?aC9pcWpzTEh2ZDFueHpHcVZjbkFiTitabmZFNEoyenRZVG5XeWc3d2tPTG5Q?=
 =?utf-8?B?NWdrS0E4YWRrR0dpK3V3MEpHSGJHSmJHNzhCVk1CeVhxc0krUGQrOU9GYWJH?=
 =?utf-8?B?ZThOaTFuaExtQ2hESW92ZlQ0UzUwckN2dFRNd1krRzVTRHl1WTNGUGR1bDJH?=
 =?utf-8?B?MC83ZDNPTm4xT0sxUlByMkxkcVRUaGhEckZKVnYySFNlVjg4UTZDazJXenU1?=
 =?utf-8?B?ek02VGdqL2UrR0t4dzI3VWtBeTU4UkdYNTh1OFpWSERMQ1VOZkpBZktKeGpw?=
 =?utf-8?B?SzNDbHJ4elVPcUsvTTkyZ3ZONVMvZE9LNU5xa2h5ZGs3bUgzNzdIM1I1ZCtz?=
 =?utf-8?B?VWdYQ08xUDRodUM2S3Jld2J4dWhUa1JLTjZPaWdndFVlU1VpYThqRFBBZnZz?=
 =?utf-8?B?TDROV1pxSkYwdklTeFFIZWRhOStvRzJwbTcrWk8vWEZJaUJnazdNQ2xWUncy?=
 =?utf-8?Q?0XTRyzFE9HduOXL3ByRl1dyrL9mrCw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 25 Mar 2025 17:27:32.2829
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ba8e1ee-4309-4806-ef5c-08dd6bc25362
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A104.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7410

This is next version of vPCI rework. Aim of this series is to prepare
ground for introducing PCI support on ARM platform.

in v18:
 - address warning in vpci test suite

in v17:
 - add ("xen/arm: check read handler behavior")
 - drop ("xen/arm: account IO handlers for emulated PCI MSI-X") as it
   should wait for future work
 - drop committed patches

in v16:
 - minor updates - see individual patches

in v15:
 - reorder so ("arm/vpci: honor access size when returning an error")
   comes first

in v14:
 - drop first 9 patches as they were committed
 - updated ("vpci/header: emulate PCI_COMMAND register for guests")

in v13:
 - drop ("xen/arm: vpci: permit access to guest vpci space") as it was
   unnecessary

in v12:
 - I (Stewart) coordinated with Volodomyr to send this whole series. So,
   add my (Stewart) Signed-off-by to all patches.
 - The biggest change is to re-work the PCI_COMMAND register patch.
   Additional feedback has also been addressed - see individual patches.
 - Drop ("pci: msi: pass pdev to pci_enable_msi() function") and
   ("pci: introduce per-domain PCI rwlock") as they were committed
 - Rename ("rangeset: add rangeset_empty() function")
       to ("rangeset: add rangeset_purge() function")
 - Rename ("vpci/header: rework exit path in init_bars")
       to ("vpci/header: rework exit path in init_header()")

in v11:
 - Added my (Volodymyr) Signed-off-by tag to all patches
 - Patch "vpci/header: emulate PCI_COMMAND register for guests" is in
   intermediate state, because it was agreed to rework it once Stewart's
   series on register handling are in.
 - Addressed comments, please see patch descriptions for details.

in v10:

 - Removed patch ("xen/arm: vpci: check guest range"), proper fix
   for the issue is part of ("vpci/header: emulate PCI_COMMAND
   register for guests")
 - Removed patch ("pci/header: reset the command register when adding
   devices")
 - Added patch ("rangeset: add rangeset_empty() function") because
   this function is needed in ("vpci/header: handle p2m range sets
   per BAR")
 - Added ("vpci/header: handle p2m range sets per BAR") which addressed
   an issue discovered by Andrii Chepurnyi during virtio integration
 - Added ("pci: msi: pass pdev to pci_enable_msi() function"), which is
   prereq for ("pci: introduce per-domain PCI rwlock")
 - Fixed "Since v9/v8/... " comments in changelogs to reduce confusion.
   I left "Since" entries for older versions, because they were added
   by original author of the patches.

in v9:

v9 includes addressed commentes from a previous one. Also it
introduces a couple patches from Stewart. This patches are related to
vPCI use on ARM. Patch "vpci/header: rework exit path in init_bars"
was factored-out from "vpci/header: handle p2m range sets per BAR".

in v8:

The biggest change from previous, mistakenly named, v7 series is how
locking is implemented. Instead of d->vpci_rwlock we introduce
d->pci_lock which has broader scope, as it protects not only domain's
vpci state, but domain's list of PCI devices as well.

As we discussed in IRC with Roger, it is not feasible to rework all
the existing code to use the new lock right away. It was agreed that
any write access to d->pdev_list will be protected by **both**
d->pci_lock in write mode and pcidevs_lock(). Read access on other
hand should be protected by either d->pci_lock in read mode or
pcidevs_lock(). It is expected that existing code will use
pcidevs_lock() and new users will use new rw lock. Of course, this
does not mean that new users shall not use pcidevs_lock() when it is
appropriate.

Changes from previous versions are described in each separate patch.

Oleksandr Andrushchenko (1):
  xen/arm: translate virtual PCI bus topology for guests

Stewart Hildebrand (1):
  xen/arm: check read handler behavior

 tools/tests/vpci/emul.h |  7 ++++---
 xen/arch/arm/io.c       |  2 ++
 xen/arch/arm/vpci.c     | 43 +++++++++++++++++++++++++++++++----------
 xen/drivers/vpci/vpci.c | 26 +++++++++++++++++++++++++
 xen/include/xen/vpci.h  | 12 ++++++++++++
 5 files changed, 77 insertions(+), 13 deletions(-)


base-commit: 28fa31d6bb7835be530c2855dd6cf4e77438ae12
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:27:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:27:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926786.1329626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx845-0005MY-2u; Tue, 25 Mar 2025 17:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926786.1329626; Tue, 25 Mar 2025 17: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 1tx844-0005MR-VJ; Tue, 25 Mar 2025 17:27:48 +0000
Received: by outflank-mailman (input) for mailman id 926786;
 Tue, 25 Mar 2025 17:27: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=Xav3=WM=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tx843-000578-SW
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:27:47 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20616.outbound.protection.outlook.com
 [2a01:111:f403:2405::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7722bf33-099e-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:27:47 +0100 (CET)
Received: from CH2PR14CA0051.namprd14.prod.outlook.com (2603:10b6:610:56::31)
 by SN7PR12MB7884.namprd12.prod.outlook.com (2603:10b6:806:343::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 17:27:40 +0000
Received: from DS3PEPF000099E0.namprd04.prod.outlook.com
 (2603:10b6:610:56:cafe::5e) by CH2PR14CA0051.outlook.office365.com
 (2603:10b6:610:56::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.43 via Frontend Transport; Tue,
 25 Mar 2025 17:27:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099E0.mail.protection.outlook.com (10.167.17.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 17:27:40 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 25 Mar
 2025 12:27:39 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 25 Mar
 2025 12:27:39 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 12:27:32 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7722bf33-099e-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=otb3+u8U9KaGRwl04oSqrTzv7WWHD9ur2lxg/J+Izb7TDDwngHU7NhQdtGy5RTB3b623GwDYPz2R/SyVxv/xGgcU7eOlhXxuudoLw4hNRkplHEoRM0qL++Ck/SZ9IjyJ2osJGXmNXzkBYrpNRYW7EiiW+ECByoIU2N7hdRHf1FWgv38NrDfOMCKQVNw+zX4O+CVeZIq7NdNxD2z9kLGpOPf9LHSHXkTGwkiSYgh+TF33qE0EJxoWBPxm3kYi+G51QVtnyPUtRw8rsw8nkpTHTEBVELQNlrolBJ75enqCzgCH+4WHHOnDOYBkTYYDl2XC8T3pxS5TioYXcRS3zZX0Lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=34mTAiaY/rp001fMBbXUBF2y5vLxusZIhCSEMu6MyQM=;
 b=yftJvPTAJpKdx3wg/9ktGb58k/4LTiEAovbZlmsmIncnCg4urstiYtJ6HDH8haHWmzi6ZxJwA658Y5bB3H0jB2FrAFAxzWNGXzIitfc0XKu+iB7SraCpylOzWZM7FVg7UTGVbkwP83vk4fZlgUH9lGOk962P53jVrhFOvrZcuWAO3m70bWUPaUrPh7xwuAzItUyVVtMCTX+QgkX5vFOTOQZ8ldyDXXSBqQfqCPZzUyJrgP0sZxZibEJQU63szTYqY3/IWqbzA24fTFuqgB48Aug0OXW6NDJ/nRTMlmlaWo0di3W0R1LFTEMBSHJuOz4asmvTrj8gBz+b3iaP/Ux+yQ==
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=34mTAiaY/rp001fMBbXUBF2y5vLxusZIhCSEMu6MyQM=;
 b=EyBEO2guLaU2Lt6Flmjfo4+NQU1Z4jPBfQyxrfn6LvJ5bT8l3mRmxshJrnp6bRwZUjrvTnmz6P65fw4JexUtoTm7osVT+Me6yUBmWQbBgiibXRD3eJTGujPNXB7qnQhmxBtOe1z16BKtJACv1p5HCmyV7DrYgOrmmgi63Tu3U9I=
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=SATLEXMB03.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stewart
 Hildebrand" <stewart.hildebrand@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>, 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>, Jiqian Chen <Jiqian.Chen@amd.com>, "Mykyta
 Poturai" <Mykyta_Poturai@epam.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>
Subject: [PATCH v18 1/2] xen/arm: translate virtual PCI bus topology for guests
Date: Tue, 25 Mar 2025 13:27:25 -0400
Message-ID: <20250325172727.600716-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250325172727.600716-1-stewart.hildebrand@amd.com>
References: <20250325172727.600716-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099E0:EE_|SN7PR12MB7884:EE_
X-MS-Office365-Filtering-Correlation-Id: cd62a921-8bbc-4cd4-06df-08dd6bc2581c
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:
	=?us-ascii?Q?nj3O0imlx9E44Kp6iQrSusdCLFvA5gJ2jWzKVa3n4sI5+M+xmgj9sMB5WvAE?=
 =?us-ascii?Q?H8Z/nc/f8Me3a4vGMF7q07YOzGMagQ1yhezj1OHvx/R8uLUwcKtgCm89O+E5?=
 =?us-ascii?Q?pFljaEiw4vkaClBTQ0UX0b7AmD80hQ0vXJUOPqsNI0aUVTK/2fMgIw0F6fQA?=
 =?us-ascii?Q?SOMmGYiKcxCpPYAzyM/JSlwNHyZ2b2Z3eSDvwfezytuSzvoB5afto6u992YZ?=
 =?us-ascii?Q?/YUJRu/Fk1UuiuHVeWEhC8Gurqh1MCD3qtn0pYXt7bXmdH8nWiDEPsfFumUx?=
 =?us-ascii?Q?F/vl5AZv02vRWwnsj/Zlu7LLG0a43dp0kNHftH7qDr06P6SCUjyPh9A9niyX?=
 =?us-ascii?Q?kG1jcXRy8Zsd9jdw5HaWhsCJvny2UEsbPZHpZ4zLwK8cDXDk/SQS6pwGdExj?=
 =?us-ascii?Q?jCd2YcdaEqvu0OtG0QYmx/FvbCHVErrGoLXrTvYT+tcYu/+X9YGa2JmrAHEa?=
 =?us-ascii?Q?LWyO10FQEaok13MzVJTawS4QOMSbc3aZXnQNSaKU+NeIZOtvOylGdoAWlBfP?=
 =?us-ascii?Q?16CNEox60MlPP5aOme8TY4PmXqfyvxeU6Zblk5OK56tNitp2m5BPpQlna36b?=
 =?us-ascii?Q?KcoAYj7q5zMraYPu5u8b7NfjZPnoO7dhf/zR/4cY1wwH4nQpHzSeMCkOMzrr?=
 =?us-ascii?Q?qbNIc3K8HhT+GD1an5zs/jjiR2vUE7fnhgOwv2rVwA+LD68swlehLH6G9jPJ?=
 =?us-ascii?Q?aqeD8FopIGbPq9Y8gAudFZgf+vNIC1iWZzlSQ7JlDZsWwpsufshhjabe4V12?=
 =?us-ascii?Q?mH8ntHNOyB1lrvK4w94XOrTCc37UtB/ye2Cw3oDkZp7NAjfJnyhNq+ShFD3o?=
 =?us-ascii?Q?xm58Aom9sWwl2QzERIHLPRkHPECkQoH5+X/Y6guG3ubxm4+XKUP08dYp1VtY?=
 =?us-ascii?Q?TlV3ieVgdPUYLUXwSEr8qB6QCiFKA2VOTKaXx45Y+x+6QFVQOhxL2zexMr1v?=
 =?us-ascii?Q?nLCn2UZORsjqV+ozPdO021nHWy2UaKHGp6VQCB3fuRdxtd2BFWvBefAj5/Uy?=
 =?us-ascii?Q?V2gt8QG6TJRsblB5H9tuLN6F7AM5DsEGo1lAd85kModTi4KBQPbTW9nj2OVh?=
 =?us-ascii?Q?nvtuCvkpcbwyCznUgdhsexC0GpXeVVqxLMP0DzbisxaC8vM/v+KhBA3/5Ud0?=
 =?us-ascii?Q?DqchputrixfIxE1om1YIolHbJMbBs/uCbycpPwkU94yEeOOgEguRH2993hfZ?=
 =?us-ascii?Q?WXJsKIwKrQ0BbvmYJpwtsl7vDT2UE0pKW9GKE0Yl4OnNO90fujx2x2btPhEk?=
 =?us-ascii?Q?0HOUua+axEPaBxrhlH9s8FiUZ7sc+A6g96KXT+4bkugT+l/GizfVebX5HQsY?=
 =?us-ascii?Q?EL2ir4io2s/LvrIKIdigGL+50oqbU0AHp3vPUZakFFShMJHvYDAEj+TuG9/C?=
 =?us-ascii?Q?6lKRkvmXWPuIJOP3ok3zhlIW2O4GHYwrh2/Eq0wAidFKhoX71XWA+7FhXZLU?=
 =?us-ascii?Q?5Pe+cqAGoXLip9oGo1prVIBM8DC7v0mOf04Slg7J8qNLzgFO9qAzAFORS63y?=
 =?us-ascii?Q?C4kE0KlNNUEBMp8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 25 Mar 2025 17:27:40.1600
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd62a921-8bbc-4cd4-06df-08dd6bc2581c
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099E0.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7884

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

There are three originators for the PCI configuration space access:
1. The domain that owns physical host bridge: MMIO handlers are
there so we can update vPCI register handlers with the values
written by the hardware domain, e.g. physical view of the registers
vs guest's view on the configuration space.
2. Guest access to the passed through PCI devices: we need to properly
map virtual bus topology to the physical one, e.g. pass the configuration
space access to the corresponding physical devices.
3. Emulated host PCI bridge access. It doesn't exist in the physical
topology, e.g. it can't be mapped to some physical host bridge.
So, all access to the host bridge itself needs to be trapped and
emulated.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
In v18:
* address warning in vpci test suite
In v17:
* move lock to inside vpci_translate_virtual_device()
* acks were previously given for Arm [0] and vPCI [1], but since it was
  two releases ago and the patch has changed, I didn't pick them up

[0] https://lore.kernel.org/xen-devel/4afe33f2-72e6-4755-98ce-d7f9da374e90@xen.org/
[1] https://lore.kernel.org/xen-devel/Zk70udmiriruMt0r@macbook/

In v15:
- base on top of ("arm/vpci: honor access size when returning an error")
In v11:
- Fixed format issues
- Added ASSERT_UNREACHABLE() to the dummy implementation of
vpci_translate_virtual_device()
- Moved variable in vpci_sbdf_from_gpa(), now it is easier to follow
the logic in the function
Since v9:
- Commend about required lock replaced with ASSERT()
- Style fixes
- call to vpci_translate_virtual_device folded into vpci_sbdf_from_gpa
Since v8:
- locks moved out of vpci_translate_virtual_device()
Since v6:
- add pcidevs locking to vpci_translate_virtual_device
- update wrt to the new locking scheme
Since v5:
- add vpci_translate_virtual_device for #ifndef CONFIG_HAS_VPCI_GUEST_SUPPORT
  case to simplify ifdefery
- add ASSERT(!is_hardware_domain(d)); to vpci_translate_virtual_device
- reset output register on failed virtual SBDF translation
Since v4:
- indentation fixes
- constify struct domain
- updated commit message
- updates to the new locking scheme (pdev->vpci_lock)
Since v3:
- revisit locking
- move code to vpci.c
Since v2:
 - pass struct domain instead of struct vcpu
 - constify arguments where possible
 - gate relevant code with CONFIG_HAS_VPCI_GUEST_SUPPORT
New in v2
---
 tools/tests/vpci/emul.h |  7 ++++---
 xen/arch/arm/vpci.c     | 43 +++++++++++++++++++++++++++++++----------
 xen/drivers/vpci/vpci.c | 26 +++++++++++++++++++++++++
 xen/include/xen/vpci.h  | 12 ++++++++++++
 4 files changed, 75 insertions(+), 13 deletions(-)

diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index da446bba86b4..d3b8978f948c 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -85,6 +85,10 @@ typedef union {
 } pci_sbdf_t;
 
 #define CONFIG_HAS_VPCI
+
+#define BUG() assert(0)
+#define ASSERT_UNREACHABLE() assert(0)
+
 #include "vpci.h"
 
 #define __hwdom_init
@@ -112,9 +116,6 @@ typedef union {
 
 #define PCI_CFG_SPACE_EXP_SIZE 4096
 
-#define BUG() assert(0)
-#define ASSERT_UNREACHABLE() assert(0)
-
 #endif
 
 /*
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index b63a356bb4a8..5719821cad67 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -7,33 +7,51 @@
 
 #include <asm/mmio.h>
 
-static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_host_bridge *bridge,
-                                     paddr_t gpa)
+static bool vpci_sbdf_from_gpa(struct domain *d,
+                               const struct pci_host_bridge *bridge,
+                               paddr_t gpa, pci_sbdf_t *sbdf)
 {
-    pci_sbdf_t sbdf;
+    bool translated = true;
+
+    ASSERT(sbdf);
 
     if ( bridge )
     {
-        sbdf.sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
-        sbdf.seg = bridge->segment;
-        sbdf.bus += bridge->cfg->busn_start;
+        sbdf->sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
+        sbdf->seg = bridge->segment;
+        sbdf->bus += bridge->cfg->busn_start;
     }
     else
-        sbdf.sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
+    {
+        /*
+         * For the passed through devices we need to map their virtual SBDF
+         * to the physical PCI device being passed through.
+         */
+        sbdf->sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
+        translated = vpci_translate_virtual_device(d, sbdf);
+    }
 
-    return sbdf;
+    return translated;
 }
 
 static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
                           register_t *r, void *p)
 {
     struct pci_host_bridge *bridge = p;
-    pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa);
+    pci_sbdf_t sbdf;
     const unsigned int access_size = (1U << info->dabt.size) * 8;
     const register_t invalid = GENMASK_ULL(access_size - 1, 0);
     /* data is needed to prevent a pointer cast on 32bit */
     unsigned long data;
 
+    ASSERT(!bridge == !is_hardware_domain(v->domain));
+
+    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
+    {
+        *r = invalid;
+        return 1;
+    }
+
     if ( vpci_ecam_read(sbdf, ECAM_REG_OFFSET(info->gpa),
                         1U << info->dabt.size, &data) )
     {
@@ -50,7 +68,12 @@ static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
                            register_t r, void *p)
 {
     struct pci_host_bridge *bridge = p;
-    pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa);
+    pci_sbdf_t sbdf;
+
+    ASSERT(!bridge == !is_hardware_domain(v->domain));
+
+    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
+        return 1;
 
     return vpci_ecam_write(sbdf, ECAM_REG_OFFSET(info->gpa),
                            1U << info->dabt.size, r);
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 1e6aa5d799b9..49c9444195d7 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -81,6 +81,32 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
     return 0;
 }
 
+/*
+ * Find the physical device which is mapped to the virtual device
+ * and translate virtual SBDF to the physical one.
+ */
+bool vpci_translate_virtual_device(struct domain *d, pci_sbdf_t *sbdf)
+{
+    const struct pci_dev *pdev;
+
+    ASSERT(!is_hardware_domain(d));
+    read_lock(&d->pci_lock);
+
+    for_each_pdev ( d, pdev )
+    {
+        if ( pdev->vpci && (pdev->vpci->guest_sbdf.sbdf == sbdf->sbdf) )
+        {
+            /* Replace guest SBDF with the physical one. */
+            *sbdf = pdev->sbdf;
+            read_unlock(&d->pci_lock);
+            return true;
+        }
+    }
+
+    read_unlock(&d->pci_lock);
+    return false;
+}
+
 #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
 
 void vpci_deassign_device(struct pci_dev *pdev)
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 807401b2eaa2..e355329913ef 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -311,6 +311,18 @@ static inline int __must_check vpci_reset_device(struct pci_dev *pdev)
     return vpci_assign_device(pdev);
 }
 
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+bool vpci_translate_virtual_device(struct domain *d, pci_sbdf_t *sbdf);
+#else
+static inline bool vpci_translate_virtual_device(struct domain *d,
+                                                 pci_sbdf_t *sbdf)
+{
+    ASSERT_UNREACHABLE();
+
+    return false;
+}
+#endif
+
 #endif
 
 /*
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:27:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926788.1329635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx849-0005dk-9m; Tue, 25 Mar 2025 17:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926788.1329635; Tue, 25 Mar 2025 17:27: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 1tx849-0005dd-6l; Tue, 25 Mar 2025 17:27:53 +0000
Received: by outflank-mailman (input) for mailman id 926788;
 Tue, 25 Mar 2025 17:27: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=Xav3=WM=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1tx847-000578-W6
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:27:51 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20609.outbound.protection.outlook.com
 [2a01:111:f403:2415::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79d18ccd-099e-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:27:51 +0100 (CET)
Received: from MN2PR18CA0017.namprd18.prod.outlook.com (2603:10b6:208:23c::22)
 by PH8PR12MB6842.namprd12.prod.outlook.com (2603:10b6:510:1c9::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Tue, 25 Mar
 2025 17:27:45 +0000
Received: from BL02EPF0001A102.namprd05.prod.outlook.com
 (2603:10b6:208:23c:cafe::7d) by MN2PR18CA0017.outlook.office365.com
 (2603:10b6:208:23c::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Tue,
 25 Mar 2025 17:27:45 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A102.mail.protection.outlook.com (10.167.241.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 25 Mar 2025 17:27:45 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 25 Mar
 2025 12:27:44 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 25 Mar 2025 12:27:43 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79d18ccd-099e-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hRhU2CYPoPfGmsqQRbwGPcQGbFL5Po+P8n6WqmJuXoU826fUJXYRGC9H10cIjIGJIwxImkzA0cZ4lPzVcZwITUVaYPAUUxPEA0m2FAYDo66JAC8+rPUTUTW5lfuijVcOXTMBS5fTdwhfAV+YVtUBcgFRSx1V2sQXjSMh2FO2hOJGfSgC4sB76P6SjVKwLiBnhn1au8y2ZBTlHVaqM3j0AymcelP1jMeNTdIGrldfkY68U1ZI7GJQf/v8y4CFl2hvS/RDqCWjm/PpwiaprxYV6SBrteb69afxoAt1ZMDvR6DJDYQZmJMR7YRJNIOh61Sll+GWG7IrjSLqs0h0y87l9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J9DOB8WC9KWKSLTBEGC4wKPk/MvEmQT8Ry5fkhruHXQ=;
 b=ptwdiZk/vVAMpd+avE8R43Tm3LZoF/fZXWygN5vH+/EYjQGS7yBu2NQsTCuGEDHgzslgDv8h85I5Ks4IWxGaCXNsihGsrJGfciHWvSMosMZ+Dodh/BejIdxmJwQWtnf3agPgpjZrwsRUiqgu2nAbBh1fr1D5CS8ZtgfKNMPs1sEkP7S9H8tHwMgei/d8giTO4GI39w6v1wp1Eppf71dtIf+mEnCjP/XutSnSCdllGtHPb7FHjpSIJ2PbT3TYTyJxy/vRd5m8abBDmXivasOvrEeWdRxgIFJe8j15nSmMUpVbi4sM1gbVRLVVcVQEtzp0bFAqOMTsWsw45UbJRK7Rjg==
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=J9DOB8WC9KWKSLTBEGC4wKPk/MvEmQT8Ry5fkhruHXQ=;
 b=gfzQfHaBv0WyK+CGim8uSy7AxOkQsUA4DULaYxFEiogFTFIG1md2VWNBYfUCm+Mk4xBp6/GbHHtmWO4LFElb06MZc0vxCAbNADrVpvWsaBPMO5eKuTBEtVSTxrIhw0Hwb/DGsVq9VPt5+gXW7CvKRdDTPGUmEpfaBFsfrcn4z+k=
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=SATLEXMB04.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v18 2/2] xen/arm: check read handler behavior
Date: Tue, 25 Mar 2025 13:27:26 -0400
Message-ID: <20250325172727.600716-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250325172727.600716-1-stewart.hildebrand@amd.com>
References: <20250325172727.600716-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
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: BL02EPF0001A102:EE_|PH8PR12MB6842:EE_
X-MS-Office365-Filtering-Correlation-Id: 3a056a46-cb60-489e-f8b1-08dd6bc25afb
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?TkRqTWIxM3dBNDZyeDltOUREOTZGZzVBaGI0NWlSekJ1RnloeUc1bWsxbktR?=
 =?utf-8?B?eWZEdlF3MzZZcG1FamRySXZlTGNYVDFhSzB1VDlma0RCK1pRQ2hZVEVNY2dp?=
 =?utf-8?B?STZVcWxDYUIvYU5lNzNJekRNVVgyMFpYN25CbWIxTlhDVzVqa2g0Y2tpNUxG?=
 =?utf-8?B?T2N5djFNTjkxM1A5VUpkd2ZlNk5FL1pYOG50MVhDeGxmYjl6NCtUU2FNdUN3?=
 =?utf-8?B?NHBJV0hkSGNFaitCVkZ5eEZjYk1tUGFCUDdDTW0rWXMwWlVIRkdIWUhYYkg0?=
 =?utf-8?B?L25VZ3l3M3FWdnMyc0dOKzMyYWlUejZwK2hmZ1FiLzhxMnV6d3JxQ1ArbFNs?=
 =?utf-8?B?SmVlR25ZckNueUMwa1paL0JJdVlKNjhXZVNnNGpSWHFVSUN0ZkFOWmttcTU3?=
 =?utf-8?B?TVF0ckxLcUN6K04raXJKVWdWKyt3RkpPSm1XTW9pMkpyU2FRSmNiUFBVVFBw?=
 =?utf-8?B?Q09YTDI4Mk50T1hqUUI0Y1NNbC9xTHcvYk9OdzdFNE5kL1R0Vm9VZUpZMDJa?=
 =?utf-8?B?M0o1VDh6bFBvUEQ3cDJHSXIrSzBNWXR4Q0podkFsM2RLV3pRWVFTNVBCQkNn?=
 =?utf-8?B?Z2lzTHh3UEVqL2tURWs0aldzNVJtSGFscEppTjJOSTEyOGM1WTFLWnk0S0hF?=
 =?utf-8?B?VmlZT1JFLzdVSCtMamZRTXY2OEV2NjMrS25CWjdOTHFUVmRsZzJLaGRmS29X?=
 =?utf-8?B?OXd6aXRBQmg2cjJjaWJCZUpHZDBHbHNvM3RiU0FMVEdPRWdXSmZub3NxNVNH?=
 =?utf-8?B?bURrYVBIUTFlNzU3TDFiRzJTUnVUdDV6QW1GQ21vdzQxREU1RDNReEFHZHlk?=
 =?utf-8?B?Y01iaUJ6ZHdYODRibm00N3J4RWw4aXlSQnUwMXlSSi9id1MvRXpvZXErOGtJ?=
 =?utf-8?B?cHhQTDlCMnZjaG9uYTZHRmNyUlBKOUVKeHQ3YTFQZDhOSTlMcmZ1TEI1YVhz?=
 =?utf-8?B?VGtoRDlkSm53QmRiWEhEYlRkY0llNVR4SlJvTGlrS1QwSHF4N0Zvc3dTeWd0?=
 =?utf-8?B?NDlyMldTVlVKY2F4MXZ0bm0zTnJ4Uk1jSkZybmhOWVoyUCtjNGhLa0F4a2pB?=
 =?utf-8?B?R3NQbisxcmlwb3lSTGw3Z0FsK2lYUWZYWXlCUUV5cTlWVkVnQUtxSitReVZM?=
 =?utf-8?B?YmpzZ0cyWlJVNGc4NG40S3JQUVpQaERIbDdMRTNjZjlPWHE2MDc4Mit2RDcr?=
 =?utf-8?B?MWMzdFhlTGtsSXQ4WHQwUGxHcVlhSTE2TFZFbUwxY3N6S0VwdFVNUVVld2RJ?=
 =?utf-8?B?eWFnUDdxdm9GK0hRMk1BZkdkeFhtdTd2RUJsYmRqV0g2S29iRS9SQWNaemdk?=
 =?utf-8?B?Ykw5MkVtRkF0aHFjUlhoMTAyK0FKeDE4L1Y2ZDRXNHNlU0tyNlZQbkZROUVW?=
 =?utf-8?B?UkVyL0NtUG96QzhFR1UvRW9VeW5BRmpUYTJ3Q0hyOHlXNnJuRUZ6M1hVeHFQ?=
 =?utf-8?B?M2VKNmNTMzlPVXhFYjNJT3BFdEJ3bTdkYmc5eSs3MXNtbzR0bUM2Ti8wbEpZ?=
 =?utf-8?B?eFlHVUVNbSt1SVRpVVRTRkxuKzhkbTZ0QzZvM2ZGVkkyRUl3ZWV1aUMyekUx?=
 =?utf-8?B?MjhTY3ZtTWpUcUt0R0xIN1B0ek9ncm52SGFNdTZmQVRieVZtVFB6RGNGelFZ?=
 =?utf-8?B?SHBuOThiZTRSVXVIWVp6YlRudGpPbjU4SnIrZEUvcTJ0ekVzVHBBc2gzT240?=
 =?utf-8?B?d0dZMjQ5TUpxdWt2cDcrZjdLamt2NDVDNGhFbzJZSVEvd3ZneFIwdmh5STVH?=
 =?utf-8?B?TWJ2aWFvQW1mZTU5T1VyWm1nU1dCMGdhK0E0aU14TXB0YWlaWUo0aHlEb2pU?=
 =?utf-8?B?SkFUY2FzeUtNL3FPdXZhdnhzdTlFRVY4U2hPczNRL0lEdmpRYmtDVGZTK0NX?=
 =?utf-8?B?WFl2VWVleGxtMitkYUd6WGU2S3RuelltclZ3L0d3dG9mODV4dFUrRlpjeXRD?=
 =?utf-8?B?Y3ZmT3RNUW41Y2tqdlIyR1luQ1hXMEFQZmxLWFRuOWRlZUZIY0doWm5KaVI1?=
 =?utf-8?Q?P1tbFEsp4JoSxV3JuVoZLuwXb7lCmA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 25 Mar 2025 17:27:45.0299
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a056a46-cb60-489e-f8b1-08dd6bc25afb
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A102.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6842

We expect mmio read handlers to leave the bits above the access size
zeroed. Add an ASSERT to check this aspect of read handler behavior.

Suggested-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v17->v18:
* no change

v16->v17:
* new patch

See https://lore.kernel.org/xen-devel/bc6660ef-59f1-4514-9792-067d987e3fbc@xen.org/

Also see 7db7bd0f319f ("arm/vpci: honor access size when returning an error")

Also see xen/arch/arm/ioreq.c:handle_ioserv()
---
 xen/arch/arm/io.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 653428e16c1f..68b5dca70026 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -37,6 +37,8 @@ static enum io_state handle_read(const struct mmio_handler *handler,
     if ( !handler->ops->read(v, info, &r, handler->priv) )
         return IO_ABORT;
 
+    ASSERT((r & ~GENMASK_ULL((1U << info->dabt.size) * 8 - 1, 0)) == 0);
+
     r = sign_extend(dabt, r);
 
     set_user_reg(regs, dabt.reg, r);
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:37:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926818.1329676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8D8-00017f-2d; Tue, 25 Mar 2025 17:37:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926818.1329676; Tue, 25 Mar 2025 17:37: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 1tx8D7-00016Z-VD; Tue, 25 Mar 2025 17:37:09 +0000
Received: by outflank-mailman (input) for mailman id 926818;
 Tue, 25 Mar 2025 17:37: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx8D6-0000Qy-4n
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:37:08 +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 c543f8cf-099f-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 18:37:06 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-ac345bd8e13so1042391766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:37:06 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb65871sm897012066b.96.2025.03.25.10.37.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10: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: c543f8cf-099f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742924225; x=1743529025; 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=krQovhxk411eqTxcXA3IPuwT9zjyGSDPwZ17OUSlKYo=;
        b=TVOpIaJeQgbbWL6MxNh1norLaVU3+ThQ9ZTsOXCstfGqOC0e6y9tJ6jZCB+adro5HU
         nHLj71OHXPLcGxUYiLh+UuW2Wtg+eekE2LQd19a/6dh4vEkg+fOYRE4Mz+ibmpAKKGCB
         fuhXAbOkwSQzRbWqjSC2HGfGuCq+Fgb3UlPnXvquk7z8y2piiEvRGT0BlsbJMuBlfsQP
         kbE78T8hT3gRjXyiOPFuIeov6TBjmpxtdkDUTISZ0UV/IhRIk4B9LkVDY3LjQcFDr30d
         XQ1up2576vrMTgxk4M4y/Iv83fJAVOmPpFJCHk3/1PlrAXiA9BOp3p8AaR0qDZS/vl/p
         oUCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924225; x=1743529025;
        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=krQovhxk411eqTxcXA3IPuwT9zjyGSDPwZ17OUSlKYo=;
        b=ofXG1ADJLjUg/bLvMHiSZNKg8gZvpCKAUliCf5IeykYB7fgG9ssJmH/m08sSfqHVrz
         qoABji8XPk1bTGLV7gZ5fWkk7AbleCjy3Ps5RwHSOPFGbNTRiQExGs4yBKiDuP5++9p2
         +yNQM/c5CgIMF84VTxs1XPHpRv8p9vndk9krGKFrFjM9jvbmXeHUxC22MaFykJjvPcr7
         DRldESR9fP51XYnANzUjJSNFVN4o8zd1dBI+0MLbrmhoGvMru0jjZbgJw6VjLMPN2jKf
         l/q8EMkTkbFYuFaCAjOt0eYvJppxyZiY7B0JPbNrNvkDGeYv7RTBtWP21RWoAqWJK1if
         MR1Q==
X-Gm-Message-State: AOJu0YwJfcJ6lTK64JrrHIHwrCDKOqMmOyDxb/8R8Qb5Hee1XMCUp2Qs
	zrnOYSm/hMJysFvF8GsINPFcRN6WyCxhD4bK7dp4k+G0fOr9u2CV+OKjZQ==
X-Gm-Gg: ASbGncsJ6WcplYXs+7sowgW6iVp85KrJUlJ+TXk09A99f3hO3fJytfLMEzy1nCbYicc
	dLdFz9oLPjg9CrzqruuEDBbDc0pFjW/WPX9F8K7j6LKyjxc7SkBxAuP8S0QsKI7ZyqMp+EV4ETP
	CM/d+wj1eWbxMELpWQx3W7C3Sznr3CDzX0s2Xr5s/Bazgs9YTB97o1qOPLT6IWRpoXKki7n8frK
	MIbUqiUa8ZkbDiKeTBsYU953JQlXqLpE0YdcUMVMZkqEWDbQ5asQq5znShbAuZQvRyDJ4desyKx
	uUVY6Xgu2j5qXB5GkzgOF8Ky+nWnOBCoX8ROj8EpDBySeji39cMZx0VSBwX+2htBjaa55QhX4+z
	IX6CeYxqeZXZj5Q==
X-Google-Smtp-Source: AGHT+IFvY8ECpKVlMbxJC1uQh7F4bkUnqiFXj1VbwutSi04A4e2o9fxEnR68dPJMhyESxK8tLIWJtw==
X-Received: by 2002:a17:907:e84c:b0:ac4:751:5f16 with SMTP id a640c23a62f3a-ac407515fefmr1489853266b.30.1742924225373;
        Tue, 25 Mar 2025 10:37:05 -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>,
	Romain Caritey <Romain.Caritey@microchip.com>
Subject: [PATCH v2 3/4] xen/riscv: implement basic aplic_preinit()
Date: Tue, 25 Mar 2025 18:36:59 +0100
Message-ID: <f0945e3a41e911b5dfd005a8d15aa0d668d8e3cf.1742918184.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
References: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
Interrupt Controller (APLIC) in Xen:
 - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
   ensuring that only one APLIC instance is supported in S mode.
 - Initialize APLIC's correspoinding DT node.
 - Declaring the DT device match table for APLIC.
 - Setting `aplic_info.hw_version` during its declaration.
 - Declaring an APLIC device.

Since Microchip originally developed aplic.c [1], an internal discussion
with them led to the decision to use the MIT license instead of the default
GPL-2.0-only.

[1] https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d

Signed-off-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v2:
 - drop initialization of .node member to NULL of aplic_info.
 - s/initcont/initconstrel for aplic_dt_match and put initconstrel between
   type and identifier.
 - Update identation for DT_DEVICE_START(aplic, ...).
 - Update the commit message.
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/aplic.c            | 49 +++++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/intc.h | 20 +++++++++++++
 3 files changed, 70 insertions(+)
 create mode 100644 xen/arch/riscv/aplic.c
 create mode 100644 xen/arch/riscv/include/asm/intc.h

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 82016a957a..dd5fd25c7d 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,3 +1,4 @@
+obj-y += aplic.o
 obj-y += cpufeature.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
new file mode 100644
index 0000000000..856b3bf84f
--- /dev/null
+++ b/xen/arch/riscv/aplic.c
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * xen/arch/riscv/aplic.c
+ *
+ * RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) 2023-2024 Microchip.
+ * Copyright (c) 2024-2025 Vates
+ */
+
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/types.h>
+
+#include <asm/device.h>
+#include <asm/intc.h>
+
+static struct intc_info aplic_info = {
+    .hw_version = INTC_APLIC
+};
+
+static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
+{
+    if ( aplic_info.node )
+    {
+        printk("XEN doesn't support more than one S mode APLIC\n");
+        return -ENODEV;
+    }
+
+    /* don't process if APLIC node is not for S mode */
+    if ( dt_get_property(node, "riscv,children", NULL) )
+        return -ENODEV;
+
+    aplic_info.node = node;
+
+    return 0;
+}
+
+static const struct dt_device_match __initconstrel aplic_dt_match[] =
+{
+    DT_MATCH_COMPATIBLE("riscv,aplic"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(aplic, "APLIC", DEVICE_INTERRUPT_CONTROLLER)
+    .dt_match = aplic_dt_match,
+    .init = aplic_preinit,
+DT_DEVICE_END
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
new file mode 100644
index 0000000000..ff9bb33896
--- /dev/null
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * (c) 2023-2024 Microchip Technology Inc.
+ * (c) 2024 Vates
+ */
+
+#ifndef ASM__RISCV__INTERRUPT_CONTOLLER_H
+#define ASM__RISCV__INTERRUPT_CONTOLLER_H
+
+enum intc_version {
+    INTC_APLIC,
+};
+
+struct intc_info {
+    enum intc_version hw_version;
+    const struct dt_device_node *node;
+};
+
+#endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:37:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926816.1329651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8D6-0000Ui-EW; Tue, 25 Mar 2025 17:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926816.1329651; Tue, 25 Mar 2025 17:37: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 1tx8D6-0000TF-9B; Tue, 25 Mar 2025 17:37:08 +0000
Received: by outflank-mailman (input) for mailman id 926816;
 Tue, 25 Mar 2025 17:37: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx8D4-0000Qy-Jv
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:37:06 +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 c437c017-099f-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 18:37:04 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ab78e6edb99so827638466b.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:37:04 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb65871sm897012066b.96.2025.03.25.10.37.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10:37: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: c437c017-099f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742924224; x=1743529024; 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=QR7+GAKTCGt2cIHaB5tu0WA4vzMonRrbNIvlE9oHS8Q=;
        b=Gp6vH+P1idT6uIc2E/6+6PzWW5hRizHcMJ3I2iDUJ7RlonTJ5MINh2qbzkkK13pNDa
         8Y76BJHIc8BRo1mxeun7IOHeTzKj/wMxN0XN7S+ie4qD7tSCh5BAnNuk0/YceWv7Uzit
         8pEwirSyEyV/fdK5daAQ4eKzaSxauojH1NVwZaQVnuUdxwTImN5yY7/t6WrA7T3YctlJ
         haz5RFy6u5QP8spQd3oxWxhwNMWpgX+TtL6sUpOsHuHVkariRGdYwAVydlI/RP+xuXM8
         mjhx7qZMBVOYtMF8svRNMZPvUwDUcrfBN4T2P4qBNT5mmvJFvtSM4M5xO9kCbcR7G3QJ
         G6lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924224; x=1743529024;
        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=QR7+GAKTCGt2cIHaB5tu0WA4vzMonRrbNIvlE9oHS8Q=;
        b=oofa2FOzGZxq/xWSySzQ2aRVL//s9Rw0YN4SZLeIX90YcP/usv3V0W/hNjc41YZuCH
         U0HU3Ke7S8ADI6OLNQnv2JaIUyQNLJh7nIU02GMa085guxKhMKdCOlMBUanaXiHu+n2c
         ABkrtA3T1Agwisvei2RTIqwNiH8mx1ZXwHuS6NYsmrzehkyLkykwsY0ej2sYyndkmAWL
         x9QY5kCYD59Urgx+kgsEnj/ULgoioNtBh+FZpTPIjuifznQTdeySP9Vcsb/TO69QZfp+
         r4Wz7M8pTKWKcKWBpyCdswzsQ3bhuR22vi4B5hNgQeGOG/VBFHk63PeD66vS0LSIUjKe
         MLbw==
X-Gm-Message-State: AOJu0YxKUAG2CL4U4anRQ9v6EH69XUVbIfOkzP8iF49sKfqGHR/BVxKX
	WQJCRSCEuamFBpdR9HN8MZZrVeqtt7lUwxQ5Wsb/Gs861EJ9PoL0kAEYdA==
X-Gm-Gg: ASbGncvWNqt/+O4Z2tWjzJLXWvdszdDLu39C9MQC5BVLtZP313W2/+bJdy4nz9brAyO
	WZGclrQEXhlAUUaGF7LS7RcoN1qHaYSNRCr3aFp8+/aFvVJ7T0UaPAbSdVYM2g5EJHCtc3m22LP
	iFzISWWwGeodsseeuEStawUGNQR636oKGwJz48738QPrtL13XmfyqBeGw9QHCTbzYHOjxtNtn8Q
	2CHBB8b+UYZNfVc19kei+42G6mXPJ0WDIHQKtTRZUrvaCgG4Iot+eQwTtnLASbKcD7CX4bver2s
	M0lfH57dCboHsVOoy+5Nh03MUJ1Lw/kpKJ9Kps2DuhugpYm9r25fNCrpi/64Z0lPu84AxdMDSTz
	jXey5pzYv1a5JpA==
X-Google-Smtp-Source: AGHT+IFrWi2J62SBU4NhjXKaVMyZEbFAZF4IjReGH1PkjB08zPaGIyFznpofCfAziu3+uuf3ln3qgg==
X-Received: by 2002:a17:907:6e87:b0:abf:4708:8644 with SMTP id a640c23a62f3a-ac3f2458dc1mr1637252466b.43.1742924223535;
        Tue, 25 Mar 2025 10:37:03 -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: [PATCH v2 1/4] xen/riscv: introduce preinit_xen_time()
Date: Tue, 25 Mar 2025 18:36:57 +0100
Message-ID: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

preinit_xen_time() does two things:
1. Parse timebase-frequency properpy of /cpus node to initialize
   cpu_khz variable.
2. Initialize xen_start_clock_cycles with the current time counter
   value.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v2:
 - Update SPDX tag for time.c
 - s/read_mostly/__ro_after_init for boot_count variable.
 - Add declaration of boot_count to asm/time.h.
 - Rename boot_count to xen_start_clock_cycles.
 - Stray double blank in the defintion of timer_ids.
 - s/u32/uint32_t.
 - Drop full stop.
 - Update the commit message.
 - s/__initconst/__initconstrel for timer_ids[].
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/include/asm/time.h |  5 ++++
 xen/arch/riscv/setup.c            |  2 ++
 xen/arch/riscv/stubs.c            |  2 --
 xen/arch/riscv/time.c             | 39 +++++++++++++++++++++++++++++++
 5 files changed, 47 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/riscv/time.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index b0c8270a99..82016a957a 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -9,6 +9,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += stubs.o
+obj-y += time.o
 obj-y += traps.o
 obj-y += vm_event.o
 
diff --git a/xen/arch/riscv/include/asm/time.h b/xen/arch/riscv/include/asm/time.h
index fc1572e9b4..c24745508b 100644
--- a/xen/arch/riscv/include/asm/time.h
+++ b/xen/arch/riscv/include/asm/time.h
@@ -5,6 +5,9 @@
 #include <xen/bug.h>
 #include <asm/csr.h>
 
+/* Clock cycles count at Xen startup */
+extern unsigned long xen_start_clock_cycles;
+
 struct vcpu;
 
 static inline void force_update_vcpu_system_time(struct vcpu *v)
@@ -19,6 +22,8 @@ static inline cycles_t get_cycles(void)
     return csr_read(CSR_TIME);
 }
 
+void preinit_xen_time(void);
+
 #endif /* ASM__RISCV__TIME_H */
 
 /*
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index b0e587678e..836ad16fed 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -126,6 +126,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     riscv_fill_hwcap();
 
+    preinit_xen_time();
+
     printk("All set up\n");
 
     machine_halt();
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..caa133de84 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -27,8 +27,6 @@ nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
 /* time.c */
 
-unsigned long __ro_after_init cpu_khz;  /* CPU clock frequency in kHz. */
-
 s_time_t get_s_time(void)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/time.c b/xen/arch/riscv/time.c
new file mode 100644
index 0000000000..ae8efa3c59
--- /dev/null
+++ b/xen/arch/riscv/time.c
@@ -0,0 +1,39 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/sections.h>
+
+unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
+unsigned long __ro_after_init xen_start_clock_cycles;
+
+static __initdata struct dt_device_node *timer;
+
+/* Set up the timer on the boot CPU (early init function) */
+static void __init preinit_dt_xen_time(void)
+{
+    static const struct dt_device_match __initconstrel timer_ids[] =
+    {
+        DT_MATCH_PATH("/cpus"),
+        { /* sentinel */ },
+    };
+    uint32_t rate;
+
+    timer = dt_find_matching_node(NULL, timer_ids);
+    if ( !timer )
+        panic("Unable to find a compatible timer in the device tree\n");
+
+    dt_device_set_used_by(timer, DOMID_XEN);
+
+    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
+        panic("Unable to find clock frequency\n");
+
+    cpu_khz = rate / 1000;
+}
+
+void __init preinit_xen_time(void)
+{
+    preinit_dt_xen_time();
+
+    xen_start_clock_cycles = get_cycles();
+}
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:37:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926817.1329658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8D6-0000ew-RL; Tue, 25 Mar 2025 17:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926817.1329658; Tue, 25 Mar 2025 17:37: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 1tx8D6-0000dh-NV; Tue, 25 Mar 2025 17:37:08 +0000
Received: by outflank-mailman (input) for mailman id 926817;
 Tue, 25 Mar 2025 17: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx8D5-0000Qx-VR
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:37:07 +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 c5ea9d0c-099f-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:37:07 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac297cbe017so13710766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:37:07 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb65871sm897012066b.96.2025.03.25.10.37.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10:37: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: c5ea9d0c-099f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742924227; x=1743529027; 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=rULmv9ycnH1A0yzpu+OMW8L+kKFgN+RXzTeCgFhTv8U=;
        b=WvC4DrTM9zG+2N7j0bQPadYTLtvfSIEZ21tNvVt346bqY50ZZjSVmc/I2Ywu2mNm7c
         dQ+KGz5/b7mbbo7IPmq1Le5OkCJ4BcsAvIc3TBv+LTh6cLSiSH2aW6oTjWXip5SE1bwK
         EBHpWkzDXO4rAu7ecILWSLmQ1GUCj0+5dzGInBedZJ99DSYjmHKsBuf8FdCQ2pWE8HCa
         uosScMl5Sgta8yuDq7lB76q0TJjH46zUKZ17+qSbyHVnf/4TWoKPhAZpLVq549EOq/mB
         5FhQ0KM5mvUg1fBZcX6M2xeshFPRJPjNuF7SH7HQnKQdb5RmL/P+IFchBYz3JyyKan2y
         72cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924227; x=1743529027;
        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=rULmv9ycnH1A0yzpu+OMW8L+kKFgN+RXzTeCgFhTv8U=;
        b=CyX4wWckX89kDI3K7gqomkPoWRUvWMyBJJDtHqVW9UwNDUyE3kbExWVDuZA3gOrKce
         ljAMdNsndB3s3zTOUQ031D1YiSS7onysVLOCevBoglc+aS6K1T0h7gdAs/qcSJNg44v4
         HEk2aW4sNZnGp1wMXG5JD0K/6M3rXQqFY0HJnSqvwz3zfnbStE3ymvZ3m4aDH7DWlk3U
         A65HB/XL9BsHAG792db4zretwCZGfQAQJcxd2sMCx2PtrdMk7mWn95A3z/C9uS7cmBbR
         qonbcd5jtUeJ+SWDyU66qahZJumTR66uAfuVCuGCoNpFnnz3O/X3rJeJNFMpfz8H4tSC
         oyYQ==
X-Gm-Message-State: AOJu0YxxKFJNrRpw07vlto6gOKSe6J8NecwrliHIdE1nW9dgqr7cP7Eo
	o38gokAtE9FuCz9aCBt35AV1guOmSdW4i1vacOKCxVQflfPuIsuOadHQ6A==
X-Gm-Gg: ASbGncuOf6KMkWlu0tgqZiX5IIODuLb7Z86xITIkPLlXgFxvhVvkaee/XPSbPZEnpM/
	SjO3DFYOSv/QRJHkU1QxxggNW0Qeb0Iz5pB2wi+3+W3ffoFl0UWPm8Xy2o4WaD5FmrA9pEHt3Eh
	J5zoJKzbDLnG1NOVQFknqsu75BRI0vAJRZ2UD33Jur2CJZSUTqAbJzF5vIhFWTrnKnuJ/RCq2H4
	s89lOD+SzmBMKqRTOjyLMTSKGybp9D9Apvml3mQtCbU9MOqfE83tBvxcyrfVHJGwJxDNue75akD
	NQiY94zj8yw58F4kGZjX4v5mSlb3VUqW18CIUeOInb2XJIKdO10PNJRFtXO+1LEXJjKRkRDvfcX
	wEcQlF2/Ndw2bCA==
X-Google-Smtp-Source: AGHT+IGzfaRCnzLnTAgLUcqXTkYf64vr0phicvjXgIyFK6kSvdSKl4A48jO+rc6JsIs9JfGEkXrmaQ==
X-Received: by 2002:a17:907:7212:b0:ac2:d5d3:2b77 with SMTP id a640c23a62f3a-ac6e0a25ad2mr68355266b.8.1742924226447;
        Tue, 25 Mar 2025 10:37:06 -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: [PATCH v2 4/4] xen/riscv: introduce intc_preinit()
Date: Tue, 25 Mar 2025 18:37:00 +0100
Message-ID: <eedcc238a88ca10e9d1733443d8ec07832e4e33e.1742918184.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
References: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, only the device tree method is available to locate and perform
pre-initialization steps for the interrupt controller (at the moment, only
one interrupt controller is going to be supported). When `acpi_disabled`
is true, the system will scan for a node with the "interrupt-controller"
property and then call `device_init()` to validate if it is an expected
interrupt controller and if yes then save this node for further usage.

If `acpi_disabled` is false, the system will panic, as ACPI support is not
yet implemented for RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v2:
 - Update the commit message.
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/include/asm/intc.h |  2 ++
 xen/arch/riscv/intc.c             | 14 ++++++++++++++
 xen/arch/riscv/setup.c            |  3 +++
 4 files changed, 20 insertions(+)
 create mode 100644 xen/arch/riscv/intc.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index dd5fd25c7d..0c6c4a38a3 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -2,6 +2,7 @@ obj-y += aplic.o
 obj-y += cpufeature.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
+obj-y += intc.o
 obj-y += mm.o
 obj-y += pt.o
 obj-$(CONFIG_RISCV_64) += riscv64/
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index ff9bb33896..52ba196d87 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -17,4 +17,6 @@ struct intc_info {
     const struct dt_device_node *node;
 };
 
+void intc_preinit(void);
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
new file mode 100644
index 0000000000..4061a3c457
--- /dev/null
+++ b/xen/arch/riscv/intc.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/acpi.h>
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+
+void __init intc_preinit(void)
+{
+    if ( acpi_disabled )
+        intc_dt_preinit();
+    else
+        panic("ACPI interrupt controller preinit() isn't implemented\n");
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 836ad16fed..4e416f6e44 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -16,6 +16,7 @@
 #include <asm/cpufeature.h>
 #include <asm/early_printk.h>
 #include <asm/fixmap.h>
+#include <asm/intc.h>
 #include <asm/sbi.h>
 #include <asm/setup.h>
 #include <asm/smp.h>
@@ -128,6 +129,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     preinit_xen_time();
 
+    intc_preinit();
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:37:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926815.1329646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8D6-0000RN-5q; Tue, 25 Mar 2025 17:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926815.1329646; Tue, 25 Mar 2025 17:37: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 1tx8D6-0000RG-28; Tue, 25 Mar 2025 17:37:08 +0000
Received: by outflank-mailman (input) for mailman id 926815;
 Tue, 25 Mar 2025 17:37: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=ogJ6=WM=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tx8D4-0000Qx-8u
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:37:06 +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 c4a6873d-099f-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:37:05 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-ab771575040so11426666b.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:37:05 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb65871sm897012066b.96.2025.03.25.10.37.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10:37: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: c4a6873d-099f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742924224; x=1743529024; 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=3gOQ8U3cpa7RAOGnJUwoO2nwCYBfxpYAKHyGklE8Ip4=;
        b=aLiWBSLnrsHISMhIq0osqsP7U6f8A5Cmf/Ady0QGf25GRa6e9oF7zEmoEbZzoBRRza
         sjTkBLaWCFdDA5mgGdHNvUxswEXrE1K36PglrcHFK2KxPZHKMRG3HW7HPThAijrwkPR4
         RoeNiiXq3e7pxt5zbP4nODUb5ej5uyo3cwBP2kXEXg35eoQCV5RkqBepDwrwSydzt9bt
         8WQdY1YjLEneWrkMLqEzc63oLwR5LVbWWcHoK1FrFTrVWg0F3gk3PS+1IdHCstnk9UH3
         Pfv9MUblV1o3OpdQCIdtpJQvxfYoK14sfBF33WsgYwdhoer1wEunrgVKilspYbHcRRu1
         JYww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924224; x=1743529024;
        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=3gOQ8U3cpa7RAOGnJUwoO2nwCYBfxpYAKHyGklE8Ip4=;
        b=sBswTeHSjwotxKfticvhBN+9OchwV1TVlWrIXpgW73qsE9G7qm+9/BL7XHnzVrM4f/
         nfM012ClmvK/GML+/Qn4xFWBRUgaUWCNd8cDnfjr1QPI8n0kqqZ/diiA61d1q7Yp+Wbw
         bFTTkV+ESqXaqf2trqg3xPmxXoX6GOfen9mgThhT0lfA6rZBsUqR9K4PRYjj09cHVj0W
         +ZGmtI8Lf5x/qpY8kgtn/t6l6xc6pPDeY+MSAKolPdo+HySoTCggNY5wR9oaK1sTE0XB
         HgUlugHb6vIMWGj82hKNOPwubx06CMRA2j8dTT+brOBaX1YKirRb+iv23MRd+hyim3rr
         guFw==
X-Gm-Message-State: AOJu0YwTAS7gGAt0ToiS6GNbL2hGsq9w2TmV2WWfa1wl9iT4S1SbeaQL
	JH7oWRGU9vfww+xXtLMh1/SBpS/8g/7gWqlkUN9MMTHkeKyYWcrwLSxYXA==
X-Gm-Gg: ASbGncsEqlas/zX8pf83KkIS7u9mL6k6msDwQr3/DObNcn/VQG+u6tgno8Ai3pb7EDb
	9LJoYyN2Gf37SYn48+yGK+ws6mas8HYmhgR49r1jW/vR7u8N+3RrWd3jx7rqOe6gjymS4vGxIhK
	CmG0sSXx0RhbklfzUvUBU0j7iUAgcV0ISJFM4jbVcW2Og6D3l5lRPHmZjz+MQP3J+JNt+97SO5h
	JpQBnjxB0dKlghg1gtV8Xf9I/ma1HQdZyqCCjXDHRdvlPE8HrEefQMU6ONS5uYIx0HnswiCgBbO
	Cqr6VVnsWkp8WnVdVVEgWSGUnhz14f3xK1NxicvyNGSuxMWBbwK6IzoQ+WqyulXZ0CM789nLPHl
	FtqIsC0Nj/BKDBQ==
X-Google-Smtp-Source: AGHT+IGSNMLfyWyHsdvuXtC0d/YEBZrwaj+iwhePtkAh3ElgyY76m3+nDlVpHDJic/oA99k50+JABg==
X-Received: by 2002:a17:907:724a:b0:ac6:b80b:2331 with SMTP id a640c23a62f3a-ac6e08f984cmr59383866b.4.1742924224234;
        Tue, 25 Mar 2025 10:37:04 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v2 2/4] automation: select APLIC and IMSIC to handle both wired interrupts and MSIs
Date: Tue, 25 Mar 2025 18:36:58 +0100
Message-ID: <f809b23b55c073997feac22665abb66a83633faa.1742918184.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
References: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

By default, the `aia` option is set to "none" which selects the SiFive PLIC for
handling wired interrupts. However, since PLIC is now considered obsolete and
will not be supported by Xen now, APLIC and IMSIC are selected instead to manage
both wired interrupts and MSIs.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---

Tests results:
  https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1734636979

Based on the source code of Qemu the support of AIA should be present from 7.0.0:
   28d8c281200f ("hw/riscv: virt: Add optional AIA IMSIC support to virt machine")

```
$ git tag --contains 28d8c281200f20a060c456c81fd1564f3d119fda
staging-mjt-test
trivial-patches-pull-request
v7.0.0
v7.0.0-rc0
v7.0.0-rc1
v7.0.0-rc2
v7.0.0-rc3
v7.0.0-rc4
v7.1.0
...
```

And in Xen's GitLab CI it is used 7.2.11:
```
$ CONTAINER_NO_PULL=1 CONTAINER=bookworm-riscv64 ./automation/scripts/containerize 
*** Launching container ...   
user@6a1d1f0077fe:/build$ qemu-system-riscv64 --version
QEMU emulator version 7.2.11 (Debian 1:7.2+dfsg-7+deb12u6)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
```

---
Changes in v2:
 - Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 automation/scripts/qemu-smoke-riscv64.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/qemu-smoke-riscv64.sh b/automation/scripts/qemu-smoke-riscv64.sh
index 8f755d0a6a..b2e112c942 100755
--- a/automation/scripts/qemu-smoke-riscv64.sh
+++ b/automation/scripts/qemu-smoke-riscv64.sh
@@ -6,7 +6,7 @@ set -ex -o pipefail
 rm -f smoke.serial
 
 export TEST_CMD="qemu-system-riscv64 \
-    -M virt \
+    -M virt,aia=aplic-imsic \
     -smp 1 \
     -nographic \
     -m 2g \
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:41:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:41:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926851.1329691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8H5-0004HV-QM; Tue, 25 Mar 2025 17:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926851.1329691; Tue, 25 Mar 2025 17:41: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 1tx8H5-0004Gn-MO; Tue, 25 Mar 2025 17:41:15 +0000
Received: by outflank-mailman (input) for mailman id 926851;
 Tue, 25 Mar 2025 17:41: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx8H4-00045y-Aj
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:41:14 +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 58ce70f9-09a0-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:41:13 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so62128485e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:41:13 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fdbd0a9sm158386185e9.38.2025.03.25.10.41.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10:41: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: 58ce70f9-09a0-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742924473; x=1743529273; 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=39zuQsNX+5s9i10elnMfxeTcLe1AG54UNFOTJvkzFeQ=;
        b=jDm1GHfuQGstW/K4HYt68g2TJFwvM4PWt7EMgzQWk5w/80EVKcmtrrmfVOoglq6AUe
         FG4TVGB5qifj8lEG5J+clTrTLEOvJ95VImjk6bYUtREkPL/wo/LZxtrkzagy6Qq3tGe3
         uR6f86GpmQbadcs1w3LAX1IiWkSfc/LCYE3g0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924473; x=1743529273;
        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=39zuQsNX+5s9i10elnMfxeTcLe1AG54UNFOTJvkzFeQ=;
        b=i+GI/axR/i5EPIk55+Tn0FBkls4mpEp/8qOJijwBqRttLD5td0sFT0GTMEFDh9sdGC
         v8A9FmtcZyphEkmUBJsOCrO+OcQZy9x95BU9LpM+EbFrpK02wrun2jblPSIxp16WjUrT
         gO7pVDnjsUfM7osr7dE1Gt/zAIiBeZ5tfsLgS1aZSoXkkgkG8wr1vUH9/mJ5ivfeRvwr
         jt/NPFN5abdUJQnhZCzyOINMkLxZgYOsW7xcMm8u3BAEEs8e9viA2jfhLJZBy/yQ2pPO
         HF3Sqqck37/TgVSSymqTSIQfhY4X532xH8QJQ2AkaIyPChg9hrIK+Q1mmH21K4IoJnQW
         a9OA==
X-Gm-Message-State: AOJu0YwnLYiIE2/zJmu10D0d4ZFRqwXqxwWkHcS565+HkdvTetYiskGH
	MuUn/Z44oIdN9F9op4zGQmRCiDm5DwIIK+vQxb2uwkVPQigkxHFZHSrpeIAHD2FP/lzw4avHV89
	cQbQ=
X-Gm-Gg: ASbGnctnLGjn54pwjiEl876isY4szBFllePrhdjm1Tx3p7dQ96p7ROueGlW4mUKShPz
	6AUbcEIMf/c7D3viWaA6IHbIYTBmFpUgr1r9SGjdPZ1gDSiX2AOlSRHRJy80/siAfgC4rWp7w78
	//wLm/em8RFJVMlUxQ+nEI5EAM/QOwxURAkktJNmJ98QxKLvERhvXppZE82mJo1CfPPrtnP7PRH
	Aufan8ViTTUuPz1NTS+4gKHBf2xK+sAEAIqCGaOHbTPHHbkYfxg+jQei75xKPUiJmYmS9D036H1
	HKd/26DJNGnaMNFAeFuxN2seuOFvV5lVHA/vcuhJeZSpbXIjDVwu5s5Lyi4fn62kLsIz3cMcgs9
	I3ybRb38yjFOVw57RZw==
X-Google-Smtp-Source: AGHT+IEcr5Ypu2eA71qKcEz4MS9slSJvj8G8O1faoSHHalixmW5/AiBaSDWbwNspqBwt7JbzAdaqJw==
X-Received: by 2002:a05:600c:8488:b0:43c:f5fe:5c26 with SMTP id 5b1f17b1804b1-43d6dc2e933mr38171095e9.4.1742924473028;
        Tue, 25 Mar 2025 10:41: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>,
	=?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>
Subject: [PATCH 1/2] x86/hvm: Rearrange the logic in hvmemul_{read,write}_cr()
Date: Tue, 25 Mar 2025 17:41:08 +0000
Message-Id: <20250325174109.267974-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250325174109.267974-1-andrew.cooper3@citrix.com>
References: <20250325174109.267974-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In hvmemul_read_cr(), make the TRACE()/X86EMUL_OKAY path common in preparation
for adding a %cr8 case.  Use a local 'val' variable instead of always
operating on a deferenced pointer.

In both, calculate curr once.

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>
CC: Petr BeneĹĄ <w1benny@gmail.com>

v2:
 * New
---
 xen/arch/x86/hvm/emulate.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index dbf6b5543adf..172ed55bd5e7 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2273,23 +2273,30 @@ static int cf_check hvmemul_write_io(
 
 static int cf_check hvmemul_read_cr(
     unsigned int reg,
-    unsigned long *val,
+    unsigned long *_val,
     struct x86_emulate_ctxt *ctxt)
 {
+    struct vcpu *curr = current;
+    unsigned long val;
+
     switch ( reg )
     {
     case 0:
     case 2:
     case 3:
     case 4:
-        *val = current->arch.hvm.guest_cr[reg];
-        TRACE(TRC_HVM_CR_READ64, reg, *val, *val >> 32);
-        return X86EMUL_OKAY;
-    default:
+        val = curr->arch.hvm.guest_cr[reg];
         break;
+
+    default:
+        return X86EMUL_UNHANDLEABLE;
     }
 
-    return X86EMUL_UNHANDLEABLE;
+    TRACE(TRC_HVM_CR_READ64, reg, val, val >> 32);
+
+    *_val = val;
+
+    return X86EMUL_OKAY;
 }
 
 static int cf_check hvmemul_write_cr(
@@ -2297,6 +2304,7 @@ static int cf_check hvmemul_write_cr(
     unsigned long val,
     struct x86_emulate_ctxt *ctxt)
 {
+    struct vcpu *curr = current;
     int rc;
 
     TRACE(TRC_HVM_CR_WRITE64, reg, val, val >> 32);
@@ -2307,13 +2315,13 @@ static int cf_check hvmemul_write_cr(
         break;
 
     case 2:
-        current->arch.hvm.guest_cr[2] = val;
+        curr->arch.hvm.guest_cr[2] = val;
         rc = X86EMUL_OKAY;
         break;
 
     case 3:
     {
-        bool noflush = hvm_pcid_enabled(current) && (val & X86_CR3_NOFLUSH);
+        bool noflush = hvm_pcid_enabled(curr) && (val & X86_CR3_NOFLUSH);
 
         if ( noflush )
             val &= ~X86_CR3_NOFLUSH;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:41:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:41:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926850.1329686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8H5-0004Ef-Ii; Tue, 25 Mar 2025 17:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926850.1329686; Tue, 25 Mar 2025 17:41: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 1tx8H5-0004EY-G9; Tue, 25 Mar 2025 17:41:15 +0000
Received: by outflank-mailman (input) for mailman id 926850;
 Tue, 25 Mar 2025 17:41: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx8H3-00045y-L9
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:41:13 +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 57fb1843-09a0-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:41:12 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so57125125e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:41:12 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fdbd0a9sm158386185e9.38.2025.03.25.10.41.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10:41: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: 57fb1843-09a0-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742924472; x=1743529272; 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=tLAZyO/hfkBVvaNdLjamkv3ilsyR49xjpF30ZgT1n/8=;
        b=tg9PHeW0MldzVKfve53UYOq0C9GRTgYADcVExPWVyW/L4NkKzlAOUTnITRxQSrtkFz
         Hy5oaK3Y9A14tL8Sn/2RNuEHftopeOIYPRRUHizn4zKsvs5yAXtai9Xn8x5CIPLDkPwS
         s0cMYXNVZJe/WkPLpFiht7gUFmqn9oJv0IzSc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924472; x=1743529272;
        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=tLAZyO/hfkBVvaNdLjamkv3ilsyR49xjpF30ZgT1n/8=;
        b=lKrjPDBV7U8NAtT3aHnIbWYetEqN2VkTjI3oIYL1ib/hJ6rAUbKpnfWVdmpTNuQ8Ut
         SbN3Bjo8CAynLxjYTB0tB/Jk7q5aVCHOyU4MmOoSrw9IG1Kko8GYv23obeWu/DD9UZoZ
         M9t/SvKCZMSvGAkhCQiEejZJ8fGML3VBUwM7kxrLtWSesjio+758ZXNcb2AXnw5WzTmT
         1EE+RjkGQbJ72WYiUJFfFa7j3VODCXyzJzLKbqIwRnaoSaJrSvsyqXUVGXVgKjRWk5l2
         71nBnxpUz+K9c4saaFQYBGFEnnCelMtVwxhKlm70/1iwtMSyJx4eqPj+dekdJO+ZWT9k
         gkZQ==
X-Gm-Message-State: AOJu0Yz3QBRXotVNVEBg+QahdIur+2hXdLmcSIe0VaMjVLrHGnRpV1Z2
	8YL8x+rnZbOrm0EdjQz3MAOsNsltGMTNveBUf0y1i14I/tHfSveB6FKl6NqMzuhM4n0mw/o1jjO
	Jfmg=
X-Gm-Gg: ASbGnctU4gfYc83W3t2jhDZnuiZM4vbTm9sTjETggTA8B7w0awF4aFBGRa9s2xu0FQk
	vqNNmkrRK8RauOd+Dt/imC86S61E6ErnWj0yllJhQXnFY3/ZspSSPhLkHb2Ei9sRVbHWVDdyjNQ
	pPRttnxWWYZuyNUWREbNLjmwpAgJTKd7wd9L9S3kiJkS1Dryq5IQlz2/0dSc9wbejOH/Yl6ZtrG
	bK4MRmUcmG/Ce8+9JrBPftr0tZcQGEYk7EL94RHMhJACah9iy5QZxDpmzKQvl7BvwKCe8dR11IA
	v9IHOVUjecoIOlG64pOmecqt9BoDxAeayBhEBJvAbZ94qi7Qqc3YHEe0xdzyxZcNCVyepooan3O
	jkEeQXminwvwlL9kFlg==
X-Google-Smtp-Source: AGHT+IEx75ae7xs7AIx78XldAkrS0yvoZ7/PwVSg5T8a1U1fapBS//Oerh/cu+TWPaxW0qG1+nVi0A==
X-Received: by 2002:a05:600c:c0d:b0:43d:738:4a9 with SMTP id 5b1f17b1804b1-43d50a33d03mr134380365e9.27.1742924471648;
        Tue, 25 Mar 2025 10:41: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>
Subject: [PATCH 0/2] x86/emul: Emulate %cr8 accesses
Date: Tue, 25 Mar 2025 17:41:07 +0000
Message-Id: <20250325174109.267974-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 very quickly turned into a rats nest.  I don't have time to fix %cr8
handling, so stay with a stopgap mitigation for introspection puporses, and
leave some notes for later.

Andrew Cooper (2):
  x86/hvm: Rearrange the logic in hvmemul_{read,write}_cr()
  x86/emul: Emulate %cr8 accesses

 xen/arch/x86/hvm/emulate.c           | 39 ++++++++++++++++++++++------
 xen/arch/x86/include/asm/x86-defns.h |  2 ++
 2 files changed, 33 insertions(+), 8 deletions(-)

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:41:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:41:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926852.1329706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8H7-0004h9-64; Tue, 25 Mar 2025 17:41:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926852.1329706; Tue, 25 Mar 2025 17:41: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 1tx8H7-0004h2-2j; Tue, 25 Mar 2025 17:41:17 +0000
Received: by outflank-mailman (input) for mailman id 926852;
 Tue, 25 Mar 2025 17:41: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx8H5-00045y-PP
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:41:15 +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 59b17cf4-09a0-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:41:15 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39127512371so3993715f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:41:15 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fdbd0a9sm158386185e9.38.2025.03.25.10.41.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10:41: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: 59b17cf4-09a0-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742924474; x=1743529274; 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=5pcwLJmB1yC+r9MBb3YQ0Qzf5TTJGwAw3sPrq/2+5tw=;
        b=FdWJrVMCr0DYaSCiSET4fXp3z1WCio8trnCy84gsOCMuiOwoQIZvDiMsIEzh0du0dV
         u8KfztBPRc0T3zBoA1S4CpXhj0jsd97/JE1Jm4XOZWaxFQui7knpisUbJyzUkHqWjo44
         bjO5UU5u5/gBeBeeralf9bHFZMnaUL3cgn6Q0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924474; x=1743529274;
        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=5pcwLJmB1yC+r9MBb3YQ0Qzf5TTJGwAw3sPrq/2+5tw=;
        b=QxBJ1UfKNsnTld1+x6z8qolxlxKadWsoOdgtAihbZX2r0x+p/NofIcHf4sWIlXC6yT
         b+X8g3zXBq4kbS+8AIWRyLx2jLBEQLSb+mEO7Wh33Xc8c0+0D3oBeBd0jSWv1l/uRVdO
         8hWiyjFLpLLiHEX9FOI5BcMAMccvwXcyQWhXGXjIEcp7V0JyFd3awv63Xtpm9e2T79Yg
         eV1+bh99EDknz6VfO81Ny8Qpkb0Dxzo562ysfGpQhxOUW5l7QZQeUcC8FN+TRQdsyhkx
         PiWwaJwOti3/Bt4wZk7f7SbGkxvt9RAefkaAtbEMBL2ei7eB4oQMHBuOmUJqNET6dASV
         aWIA==
X-Gm-Message-State: AOJu0YwLrFTNwislOPBg74xjtzg8zvI0P7hzp0EGkSgYCVDOhY3Oq1oE
	dDacx7oCy2rC5YG0ymGgy2R8eu7lRMQfOD5hKZe422Dr7Na5ivAn9r4FwEAkXRZjB/9OD2Byyfd
	iVoE=
X-Gm-Gg: ASbGnctJcSvJ8PmQD1wyvw5GQWadZzNqHeAtnAtveQH7KZy3QxRifXBT53kjThEF9aN
	S1zGiPtoifseIHck0e6lxSNgblEpurornkW3x1myqIhutZo0boU/FpFyissA+c9slfGl9mSKnkU
	7ReOASBPU0kSyDYq2msLjZw0d1HvFXYujOmLZP7XQTO4HrRGN8HI8K5aFu2N6Tiy4qbqJG1yUQK
	om9O5Ybi+LibNv0CuWH5oXGl9bfGfBhey5bi6e6lDvKNPT+6XNlxzh6ktrtfGCCkBN6UuR4Xu7C
	lZJi9jxIme9H+cP+/nIOC+/Vysd3o62rcUsqlWGPjA6eWiqSeQ3hNm0jtDTU0qUrBfNmSrJyUMr
	a7s+Zd2Ty1QkKvUoTrOE0SUMSRadb
X-Google-Smtp-Source: AGHT+IGnA1nhRYU/s0KClBcfRPcWZiRte8COkIcLEjxWQDpxV0xFR5pLYXSeSmb88ByK93Z4Ot2Atg==
X-Received: by 2002:a05:6000:2b08:b0:391:13ef:1b1b with SMTP id ffacd0b85a97d-3997f90ecd8mr10847032f8f.30.1742924474538;
        Tue, 25 Mar 2025 10:41:14 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 2/2] x86/emul: Emulate %cr8 accesses
Date: Tue, 25 Mar 2025 17:41:09 +0000
Message-Id: <20250325174109.267974-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250325174109.267974-1-andrew.cooper3@citrix.com>
References: <20250325174109.267974-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Petr reports:

  (XEN) MMIO emulation failed (1): d12v1 64bit @ 0010:fffff8057ba7dfbf -> 45 0f 20 c2 ...

during introspection.

This is MOV %cr8, which is wired up for hvm_mov_{to,from}_cr(); the VMExit
fastpaths, but not for the full emulation slowpaths.

Xen's handling of %cr8 turns out to be quite wrong.  At a minimum, we need
storage for %cr8 separate to APIC_TPR, and to alter intercepts based on
whether the vLAPIC is enabled or not.  But that's more work than there is time
for in the short term, so make a stopgap fix.

Extend hvmemul_{read,write}_cr() with %cr8 cases.  Unlike hvm_mov_to_cr(),
hardware hasn't filtered out invalid values (#GP checks are ahead of
intercepts), so introduce X86_CR8_VALID_MASK.

Reported-by: Petr BeneĹĄ <w1benny@gmail.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
CC: Petr BeneĹĄ <w1benny@gmail.com>

v2:
 * Check for reserved bits

In CPUs, CR8 has has 4 bits of storage, and can explicitly get out of sync of
APIC_TPR if the the LAPIC is hardware-disabled in MSR_APIC_BASE.  Writes to
APIC_TPR don't get reflected back into CR8 (according to AMD at least).  Both
Intel and AMD accelerate TPR differently; SVM in the base architecture, and
VT-x as the ~first optional extension.
---
 xen/arch/x86/hvm/emulate.c           | 15 +++++++++++++++
 xen/arch/x86/include/asm/x86-defns.h |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 172ed55bd5e7..61aa356d5736 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2288,6 +2288,10 @@ static int cf_check hvmemul_read_cr(
         val = curr->arch.hvm.guest_cr[reg];
         break;
 
+    case 8:
+        val = (vlapic_get_reg(vcpu_vlapic(curr), APIC_TASKPRI) & 0xf0) >> 4;
+        break;
+
     default:
         return X86EMUL_UNHANDLEABLE;
     }
@@ -2333,6 +2337,17 @@ static int cf_check hvmemul_write_cr(
         rc = hvm_set_cr4(val, true);
         break;
 
+    case 8:
+        if ( val & ~X86_CR8_VALID_MASK )
+        {
+            rc = X86EMUL_EXCEPTION;
+            break;
+        }
+
+        vlapic_set_reg(vcpu_vlapic(curr), APIC_TASKPRI, val << 4);
+        rc = X86EMUL_OKAY;
+        break;
+
     default:
         rc = X86EMUL_UNHANDLEABLE;
         break;
diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index 61b0cea8f37c..23579c471f4a 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -76,6 +76,8 @@
 #define X86_CR4_CET        0x00800000 /* Control-flow Enforcement Technology */
 #define X86_CR4_PKS        0x01000000 /* Protection Key Supervisor */
 
+#define X86_CR8_VALID_MASK 0xf
+
 /*
  * XSTATE component flags in XCR0 | MSR_XSS
  */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:41:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:41:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926869.1329717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8HQ-0005mD-Gi; Tue, 25 Mar 2025 17:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926869.1329717; Tue, 25 Mar 2025 17:41: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 1tx8HQ-0005m6-CA; Tue, 25 Mar 2025 17:41:36 +0000
Received: by outflank-mailman (input) for mailman id 926869;
 Tue, 25 Mar 2025 17:41: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=7VIv=WM=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1tx8HP-00045y-GU
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:41:35 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65691eab-09a0-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 18:41:35 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5dca468c5e4so10370591a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:41:35 -0700 (PDT)
Received: from localhost.localdomain ([46.149.103.11])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efd24e7fsm879592666b.153.2025.03.25.10.41.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10:41: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: 65691eab-09a0-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1742924494; x=1743529294; 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=jf/uamtgEP6+2QqtlUxelY0IMP0jh/xhbrinl99cFQs=;
        b=YILza9z0m7SLv4jstuWB0rJhVqmNTAkzT777b6KT9FlMVNNHJOnfq2aFZeeyAY9hbW
         br0PljB36rL6xiC92qq4fvr3NlyCJ//lwJNwd88C/FE6O6W30HSm00V53c2+pF5boPgf
         dOz7+NIKj58LD9/CCcjM6p418mAPYSG5KJaQQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742924494; x=1743529294;
        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=jf/uamtgEP6+2QqtlUxelY0IMP0jh/xhbrinl99cFQs=;
        b=L6clwqekZVFc5m9wvznPPo7TRKLksvWL7NkxZ1tZHtyYQlEKxZWy/WKEah7QhTZ/yY
         SEiLKir4wCtMVG6cHOCzjwJYy/1XuZY8+Jmx40EZjJjgPzkA3S0PL6Gn7Dhw9SyYCCMT
         7PsECQKS1+Gcu665+K9D2I3Ewp/dSX5Pqs3LaSNPBSXeGQ4uvadnv1fYUg/5F3RNUbQ+
         ZwCVJsaGa/7sw2I5xwKvAfmk1W7EBvSGNCMTpEj83oJwvQ+hlZkUoy0CkTaffSB+H5yG
         io2giEX0f4W0+p2dF4lBMWzwnfIRix+jjXF8g56m6vvOGLbPFBynaLxou9Kx9E8BSw0y
         ruag==
X-Gm-Message-State: AOJu0YwsqBUlcx6n6wbByGCgt5jxSVxGLdHmw8KBlUFDFSwOglMSoZ0q
	ORZsKColc4uimCLk+8AASdBCl/XiofmX9sVd3UAIlXiZTP0UtJbLvgXw0sYffZWaGvSE9k36Q5Q
	q
X-Gm-Gg: ASbGncsuwZUJMrsr3r7pPLCNGVFfC/6Tq9kxAzBhfYtkEKXeGo0Op+Q8rsReIExngVR
	UGSXN3pxmARgzxoMNtXKxmZqDa6UcCraEw4nPHGQI7pZi3WOCxGE/sU3KlnyVNhCIRuAxaVFiVm
	XaiEkYfUxu6y8G5P0tqubLaNhSV7e0k+MP5gHIoESAhjWA82cdClWOPJ+IAdDH1/jRpkqphQmob
	wRHhxo/EG7Fa5QEkKQcxiNy//9wQYam7eWFrIDAWtoHNAZqxTepIKcTp55+ynP699wqx0MA4lOY
	WQOybRnC7F+/UUP2+g5z63O9/h6zQjUj/qEeCAgSg/xLWFZ74BJ30mSLa+MY8Jm8eyU=
X-Google-Smtp-Source: AGHT+IG7IiCq8HbPovNoY9QfTli24Vg9VcQ5x1xudp9ZCzIKIYVdI+ROAE8KuMpQ0Z/JpZOQN/fIRg==
X-Received: by 2002:a17:907:6095:b0:ac3:4138:6ae5 with SMTP id a640c23a62f3a-ac3f24c852dmr1781665666b.46.1742924493820;
        Tue, 25 Mar 2025 10:41:33 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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] tools: Remove support for qemu-trad's battery reporting
Date: Tue, 25 Mar 2025 17:41:10 +0000
Message-ID: <20250325174110.467-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The way this undocumented feature works is via qemu-trad (who nobody
uses anymore), by intercepting 3 magic PIOs. 0x88 is one of them, and
it's probed by hvmloader as a means of detecting support for this (so,
on qemu-upstream this check always fails). If hvmloader detects the
feature, it appends an SSDT with AML inherited from some laptop ~20y
ago. QEMU then communicates with a userspace daemon (xenpmd) via an
undocumented xenstore key ("refreshbatterystatus") in order to report
battery levels.

Seeing how no one uses, mantains or cares about qemu-trad anymore, rip
it all out. The hvmloader check, the SSDT generation logic and xenpmd.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
If this feature is truly wanted, it must be implemented in
qemu-upstream. Ideally in a MUCH less roundabout way. And definitely
without involving xenstore.
---
 .gitignore                      |   1 -
 tools/Makefile                  |   1 -
 tools/firmware/hvmloader/util.c |   7 -
 tools/libacpi/Makefile          |   2 +-
 tools/libacpi/build.c           |   9 -
 tools/libacpi/libacpi.h         |   2 +-
 tools/libacpi/ssdt_pm.asl       | 409 -------------------------
 tools/xenpmd/Makefile           |  30 --
 tools/xenpmd/xenpmd.c           | 525 --------------------------------
 9 files changed, 2 insertions(+), 984 deletions(-)
 delete mode 100644 tools/libacpi/ssdt_pm.asl
 delete mode 100644 tools/xenpmd/Makefile
 delete mode 100644 tools/xenpmd/xenpmd.c

diff --git a/.gitignore b/.gitignore
index 53f5df000383..ea716b6dd7e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -186,7 +186,6 @@ tools/xcutils/readnotes
 tools/xenmon/xentrace_setmask
 tools/xenmon/xenbaked
 tools/xenpaging/xenpaging
-tools/xenpmd/xenpmd
 tools/xentop/xentop
 tools/xentrace/xentrace_setsize
 tools/xentrace/tbctl
diff --git a/tools/Makefile b/tools/Makefile
index e9e1cda3053f..935ba3936dd9 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -28,7 +28,6 @@ SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
 SUBDIRS-$(CONFIG_QEMU_XEN) += qemu-xen-dir
 endif
 
-SUBDIRS-y += xenpmd
 SUBDIRS-$(CONFIG_GOLANG) += golang
 SUBDIRS-y += xl
 SUBDIRS-y += helpers
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 2d07ce129013..0e6457994595 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -776,11 +776,6 @@ int hpet_exists(unsigned long hpet_base)
     return ((hpet_id >> 16) == 0x8086);
 }
 
-static uint8_t battery_port_exists(void)
-{
-    return (inb(0x88) == 0x1F);
-}
-
 static unsigned long acpi_v2p(struct acpi_ctxt *ctxt, void *v)
 {
     return virt_to_phys(v);
@@ -900,8 +895,6 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
             config->pt.length = strtoll(s, NULL, 0);
     }
 
-    if ( battery_port_exists() )
-        config->table_flags |= ACPI_HAS_SSDT_PM;
     if ( !strncmp(xenstore_read("platform/acpi_s3", "1"), "1", 1)  )
         config->table_flags |= ACPI_HAS_SSDT_S3;
     if ( !strncmp(xenstore_read("platform/acpi_s4", "1"), "1", 1)  )
diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
index b21a64c6b441..e57873b361f4 100644
--- a/tools/libacpi/Makefile
+++ b/tools/libacpi/Makefile
@@ -15,7 +15,7 @@ C_SRC-$(CONFIG_X86) = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c dsdt_pvh
 C_SRC-$(CONFIG_ARM_64) = dsdt_anycpu_arm.c
 DSDT_FILES ?= $(C_SRC-y)
 C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, $(DSDT_FILES))
-H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h)
+H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h)
 H_SRC += $(addprefix $(ACPI_BUILD_DIR)/, ssdt_tpm.h ssdt_tpm2.h ssdt_laptop_slate.h)
 
 MKDSDT_CFLAGS-$(CONFIG_ARM_64) = -DCONFIG_ARM_64
diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c
index 2f29863db154..f91b9a22e95e 100644
--- a/tools/libacpi/build.c
+++ b/tools/libacpi/build.c
@@ -11,7 +11,6 @@
 #include "ssdt_s4.h"
 #include "ssdt_tpm.h"
 #include "ssdt_tpm2.h"
-#include "ssdt_pm.h"
 #include "ssdt_laptop_slate.h"
 #include <xen/hvm/hvm_info_table.h>
 #include <xen/hvm/hvm_xs_strings.h>
@@ -371,14 +370,6 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
         table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, waet);
     }
 
-    if ( config->table_flags & ACPI_HAS_SSDT_PM )
-    {
-        ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_pm), 16);
-        if (!ssdt) return -1;
-        memcpy(ssdt, ssdt_pm, sizeof(ssdt_pm));
-        table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
-    }
-
     if ( config->table_flags & ACPI_HAS_SSDT_S3 )
     {
         ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_s3), 16);
diff --git a/tools/libacpi/libacpi.h b/tools/libacpi/libacpi.h
index deda39e5dbc4..79298beccf9e 100644
--- a/tools/libacpi/libacpi.h
+++ b/tools/libacpi/libacpi.h
@@ -15,7 +15,7 @@
 #define ACPI_HAS_COM2              (1<<1)
 #define ACPI_HAS_LPT1              (1<<2)
 #define ACPI_HAS_HPET              (1<<3)
-#define ACPI_HAS_SSDT_PM           (1<<4)
+/* (1<<4) deprecated */
 #define ACPI_HAS_SSDT_S3           (1<<5)
 #define ACPI_HAS_SSDT_S4           (1<<6)
 #define ACPI_HAS_TPM               (1<<7)
diff --git a/tools/libacpi/ssdt_pm.asl b/tools/libacpi/ssdt_pm.asl
deleted file mode 100644
index db578d10ac3e..000000000000
--- a/tools/libacpi/ssdt_pm.asl
+++ /dev/null
@@ -1,409 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-only */
-/*
- * ssdt_pm.asl
- *
- * Copyright (c) 2008  Kamala Narasimhan
- * Copyright (c) 2008  Citrix Systems, Inc.
- */
-
-/*
- * SSDT for extended power management within HVM guest. Power management beyond
- * S3, S4, S5 is handled by this vACPI layer.  
- *
- * Battery Management Implementation -
- * Xen vACPI layer exposes battery information to guest using CMBattery
- * interface. This virtual firmware CMBattery implementation is very similar to
- * the actual firmware CMBattery implementation.  In fact, a good part of the
- * below is heavily borrowed from the underlying firmware to support
- * pass-through and non-pass-through battery management approaches using the
- * same CMBattery interface implementation. When pass-through approach is used,
- * the battery ports are directly mapped using xc_domain_ioport_mapping thus
- * not relying on qemu battery port handling to intercept port reads/writes to
- * feed relevant battery information to the guest.
- *
- * Following are the battery ports read/written to in order to implement
- * battery support:
- * Battery command port - 0xb2
- * Batter data port     - 0x86
- * Battery commands (written to port 0xb2) -
- * 0x7b - Battery operation init
- * 0x7c - Type of battery operation
- * 0x79 - Get battery data length
- * 0x7d - Get battery data
- *
- * Also the following ports are used for debugging/logging:
- * 0xB040, 0xB044, 0xB046, 0xB048 
- */
-
-DefinitionBlock ("SSDT_PM.aml", "SSDT", 2, "Xen", "HVM", 0)
-{
-    Scope (\_SB)
-    {
-        OperationRegion (DBGA, SystemIO, 0xB040, 0x01)
-        Field (DBGA, ByteAcc, NoLock, Preserve)
-        {
-            DBG1,   8,
-        }
-
-        OperationRegion (DBGB, SystemIO, 0xB044, 0x01)
-        Field (DBGB, ByteAcc, NoLock, Preserve)
-        {
-            DBG2,   8,
-        }
-
-        OperationRegion (DBGC, SystemIO, 0xB046, 0x01)
-        Field (DBGC, ByteAcc, NoLock, Preserve)
-        {
-            DBG3,   8,
-        }
-
-        OperationRegion (DBGD, SystemIO, 0xB048, 0x01)
-        Field (DBGD, ByteAcc, NoLock, Preserve)
-        {
-            DBG4,   8,
-        }
-
-        OperationRegion (PRT1, SystemIO, 0xB2, 0x02)
-        Field (PRT1, ByteAcc, NoLock, Preserve)
-        {
-            PB2,   8,
-            PB2A,   8
-        }
-
-        OperationRegion (PRT2, SystemIO, 0x86, 0x01)
-        Field (PRT2, ByteAcc, NoLock, Preserve)
-        {
-            P86,   8
-        }
-
-        OperationRegion (PRT3, SystemIO, 0x88, 0x01)
-        Field (PRT3, ByteAcc, NoLock, Preserve)
-        {
-            P88,  8
-        }
-
-
-        Mutex (SYNC, 0x01)
-        Name (BUF0, Buffer (0x0100) {})
-        Name (BUF1, Buffer (0x08) {})
-        CreateWordField (BUF1, 0x00, BUFA)
-        CreateWordField (BUF1, 0x04, BUFB)
-        Method (ACQR, 0, NotSerialized)
-        {
-            Acquire (SYNC, 0xFFFF)
-            Store (0x00, BUFA)
-        }
-
-        /*
-         * Initialize relevant buffer to indicate what type of
-         * information is being queried and by what object (e.g.
-         * by battery device 0 or 1).
-         */
-        Method (INIT, 1, NotSerialized)
-        {
-            Store (BUFA, Local0)
-            Increment (Local0)
-            If (LLessEqual (Local0, SizeOf (BUF0)))
-            {
-                CreateByteField (BUF0, BUFA, TMP1)
-                Store (Arg0, TMP1)
-                Store (Local0, BUFA)
-            }
-        }
-
-        /*
-         * Write to battery port 0xb2 indicating the type of information
-         * to request, initialize battery data port 0x86 and then return 
-         * value provided through data port 0x86.
-         */
-        Method (WPRT, 2, NotSerialized)
-        {
-            Store (Arg1, \_SB.P86)
-            Store (Arg0, \_SB.PB2)
-            Store (Arg0, \_SB.DBG2)
-            Store (Arg1, \_SB.DBG4)
-            Store (\_SB.PB2, Local0)
-            While (LNotEqual (Local0, 0x00))
-            {
-                Store (\_SB.PB2, Local0)
-            }
-
-            Store (\_SB.P86, Local1)
-            Store (Local1, \_SB.DBG3)
-            Return (\_SB.P86)
-        }
-
-        /*
-         * Helper method 1 to write to battery command and data port. 
-         * 0x7c written to port 0xb2 indicating battery info type command.
-         * Value 1 or 2 written to port 0x86.  1 for BIF (batterry info) and 2 
-         * for BST (battery status).
-         */
-        Method (HLP1, 2, NotSerialized)
-        {
-            If (LLess (Arg1, SizeOf (Arg0)))
-            {
-                CreateByteField (Arg0, Arg1, TMP1)
-                WPRT (0x7C, TMP1)
-            }
-        }
-
-        /*
-         * Helper method 2.  Value 0x7b written to battery command port 0xb2
-         * indicating battery info initialization request.  First thing written
-         * to battery port before querying for further information pertaining
-         * to the battery.
-         */
-        Method (HLP2, 0, NotSerialized)
-        {
-            WPRT (0x7B, 0x00)
-            Store (0x00, Local0)
-            While (LLess (Local0, BUFA))
-            {
-                HLP1 (BUF0, Local0)
-                Increment (Local0)
-            }
-        }
-
-        /*
-         * Helper method 3. 0x7d written to battery command port 0xb2
-         * indicating request of battery data returned through battery data
-         * port 0x86.
-         */
-        Method (HLP3, 2, NotSerialized)
-        {
-            If (LLess (Arg1, SizeOf (Arg0)))
-            {
-                CreateByteField (Arg0, Arg1, TMP1)
-                Store (WPRT (0x7D, 0x00), TMP1)
-            }
-        }
-
-        /*
-         * Helper method 4 to indirectly get battery data and store it in a
-         * local buffer.
-         */
-        Method (HLP4, 0, NotSerialized)
-        {
-            Store (0x00, Local0)
-            While (LLess (Local0, BUFB))
-            {
-                Add (BUFA, Local0, Local1)
-                HLP3 (BUF0, Local1)
-                Increment (Local0)
-            }
-        }
-
-        /*
-         * Helper method 5 to indirectly initialize battery port and get
-         * battery data. Also get battery data length by writing 0x79 to
-         * battery command port and receiving battery data length in port 0x86.
-         */
-        Method (HLP5, 0, NotSerialized)
-        {
-            HLP2 ()
-            Store (WPRT (0x79, 0x00), BUFB)
-            Add (BUFA, BUFB, Local0)
-            If (LLess (SizeOf (BUF0), Local0))
-            {
-                Store (SizeOf (BUF0), Local0)
-                Subtract (Local0, BUFA, Local0)
-                Store (Local0, BUFB)
-            }
-
-            HLP4 ()
-        }
-
-        /* Helper method for local buffer housekeeping... */
-        Method (HLP6, 0, NotSerialized)
-        {
-            Store (BUFA, Local0)
-            Increment (Local0)
-            If (LLessEqual (Local0, SizeOf (BUF0)))
-            {
-                CreateByteField (BUF0, BUFA, TMP1)
-                Store (Local0, BUFA)
-                Return (TMP1)
-            }
-
-            Return (0x00)
-        }
-
-        /* Helper methods to help store battery data retrieved through
-         * battery data port 0x86. */
-
-        Method (HLP7, 0, NotSerialized)
-        {
-            Store (BUFA, Local0)
-            Add (Local0, 0x04, Local0)
-            If (LLessEqual (Local0, SizeOf (BUF0)))
-            {
-                CreateDWordField (BUF0, BUFA, SX22)
-                Store (Local0, BUFA)
-                Return (SX22)
-            }
-
-            Return (0x00)
-        }
-
-        Method (HLP8, 2, NotSerialized)
-        {
-            If (LLess (Arg1, SizeOf (Arg0)))
-            {
-                CreateByteField (Arg0, Arg1, TMP1)
-                Store (HLP6 (), TMP1)
-            }
-        }
-
-        Method (HLP9, 2, NotSerialized)
-        {
-            Store (0x00, Local0)
-            While (LLess (Local0, Arg1))
-            {
-                HLP8 (Arg0, Local0)
-                Increment (Local0)
-            }
-            Return (Arg0)
-        }
-
-        Method (HLPA, 0, NotSerialized)
-        {
-            Store (HLP6 (), Local0)
-            Return (HLP9 (Buffer (Local0) {}, Local0))
-        }
-
-        Method (REL, 0, NotSerialized)
-        {
-            Release (SYNC)
-        }
-
-        /* Future patches will extend AC object to better account for
-         * AC to DC transition and more. */
-        Device (AC)
-        {
-            Name (_HID, "ACPI0003")
-            Name (_PCL, Package (0x03)
-            {
-                \_SB,
-                BAT0,
-                BAT1 
-            })
-            Method (_PSR, 0, NotSerialized)
-            {
-                Return (0x0)
-            }
-
-            Method (_STA, 0, NotSerialized)
-            {
-                Return (0x0F)
-            }
-        }
-
-        /* Main battery information helper method. */
-        Name (BIFP, Package (0x0D) {})
-        Method (BIF, 1, NotSerialized)
-        {
-            ACQR ()
-            INIT (0x01)
-            INIT (Arg0)
-            HLP5 ()
-            Store (HLP7 (), Index (BIFP, 0x00))
-            Store (HLP7 (), Index (BIFP, 0x01))
-            Store (HLP7 (), Index (BIFP, 0x02))
-            Store (HLP7 (), Index (BIFP, 0x03))
-            Store (HLP7 (), Index (BIFP, 0x04))
-            Store (HLP7 (), Index (BIFP, 0x05))
-            Store (HLP7 (), Index (BIFP, 0x06))
-            Store (HLP7 (), Index (BIFP, 0x07))
-            Store (HLP7 (), Index (BIFP, 0x08))
-            Store (HLPA (), Index (BIFP, 0x09))
-            Store (HLPA (), Index (BIFP, 0x0A))
-            Store (HLPA (), Index (BIFP, 0x0B))
-            Store (HLPA (), Index (BIFP, 0x0C))
-            REL ()
-            Return (BIFP)
-        }
-
-        /* Battery object 0 - Always exposed as present. */
-        Device (BAT0)
-        {
-            Name (_HID, EisaId ("PNP0C0A"))
-            Name (_UID, 0x01)
-            Name (_PCL, Package (0x01)
-            {
-                \_SB
-            })
-
-            /* Always returns 0x1f indicating battery present. */
-            Method (_STA, 0, NotSerialized)
-            {
-                Store (\_SB.P88, Local0)
-                Return ( Local0 )
-            }
-
-            /* Battery generic info: design capacity, voltage, model # etc. */
-            Method (_BIF, 0, NotSerialized)
-            {
-                //Store (1, \_SB.DBG1)
-                Store(BIF ( 0x01 ), Local0)
-                //Store (2, \_SB.DBG1)
-                Return( Local0 )
-            }
-
-            /* Battery status including battery charging/discharging rate. */
-            Method (_BST, 0, NotSerialized)
-            {
-                Store (1, \_SB.DBG1)
-                ACQR ()
-                INIT (0x02)
-                INIT (0x01)
-                HLP5 ()
-                Store (Package (0x04) {}, Local0)
-                Store (HLP7 (), Index (Local0, 0x00))
-                Store (HLP7 (), Index (Local0, 0x01))
-                Store (HLP7 (), Index (Local0, 0x02))
-                Store (HLP7 (), Index (Local0, 0x03))
-                REL ()
-                Store (2, \_SB.DBG1)
-                Return (Local0)
-            }
-        }
-
-        /* Battery object 1 - Always exposed as not present. */
-        Device (BAT1)
-        {
-            Name (_HID, EisaId ("PNP0C0A"))
-            Name (_UID, 0x02)
-            Name (_PCL, Package (0x01)
-            {
-                \_SB
-            })
-            Method (_STA, 0, NotSerialized)
-            {
-                Return (0x0F)
-            }
-
-            Method (_BIF, 0, NotSerialized)
-            {
-                Store (\_SB.PB2, Local0)
-                Return (BIF (0x02))
-            }
-
-            Method (_BST, 0, NotSerialized)
-            {
-                ACQR ()
-                INIT (0x02)
-                INIT (0x02)
-                HLP5 ()
-                Store (Package (0x04) {}, Local0)
-                Store (HLP7 (), Index (Local0, 0x00))
-                Store (HLP7 (), Index (Local0, 0x01))
-                Store (HLP7 (), Index (Local0, 0x02))
-                Store (HLP7 (), Index (Local0, 0x03))
-                REL ()
-                Return (Local0)
-            }
-        }
-    }
-}
-
diff --git a/tools/xenpmd/Makefile b/tools/xenpmd/Makefile
deleted file mode 100644
index 8da20510b54a..000000000000
--- a/tools/xenpmd/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-XEN_ROOT=$(CURDIR)/../..
-include $(XEN_ROOT)/tools/Rules.mk
-
-CFLAGS += $(CFLAGS_libxenstore)
-
-LDLIBS += $(LDLIBS_libxenstore)
-
-.PHONY: all
-all: xenpmd
-
-.PHONY: install
-install: all
-	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
-	$(INSTALL_PROG) xenpmd $(DESTDIR)$(sbindir)
-
-.PHONY: clean
-clean:
-	$(RM) -f xenpmd xenpmd.o $(DEPS_RM)
-
-.PHONY: distclean
-distclean: clean
-
-.PHONY: uninstall
-uninstall:
-	rm -f $(DESTDIR)$(sbindir)/xenpmd
-
-xenpmd: xenpmd.o Makefile
-	$(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(APPEND_LDFLAGS)
-
--include $(DEPS_INCLUDE)
diff --git a/tools/xenpmd/xenpmd.c b/tools/xenpmd/xenpmd.c
deleted file mode 100644
index 15e6169c449d..000000000000
--- a/tools/xenpmd/xenpmd.c
+++ /dev/null
@@ -1,525 +0,0 @@
-/*
- * xenpmd.c
- *
- * xen power management daemon - Facilitates power management 
- * functionality within xen guests.
- *
- * Copyright (c) 2008  Kamala Narasimhan 
- * Copyright (c) 2008  Citrix Systems, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that 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/>.
- */
-
-/* Xen extended power management support provides HVM guest power management
- * features beyond S3, S4, S5.  For example, it helps expose system level 
- * battery status and battery meter information and in future will be extended
- * to include more power management support.  This extended power management 
- * support is enabled by setting xen_extended_power_mgmt to 1 or 2 in the HVM
- * config file.  When set to 2, non-pass through mode is enabled which heavily
- * relies on this power management daemon to glean battery information from 
- * dom0 and store it xenstore which would then be queries and used by qemu and 
- * passed to the guest when appropriate battery ports are read/written to.
- */
-
-#define _GNU_SOURCE         /* for asprintf() */
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdlib.h>
-#include <dirent.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <xenstore.h>
-#include <assert.h>
-
-/* #define RUN_STANDALONE */
-#define RUN_IN_SIMULATE_MODE
-
-enum BATTERY_INFO_TYPE {
-    BIF, 
-    BST 
-};
-
-enum BATTERY_PRESENT {
-    NO, 
-    YES 
-};
-
-enum BATTERY_TECHNOLOGY {
-    NON_RECHARGEABLE, 
-    RECHARGEABLE 
-};
-
-struct battery_info {
-    enum BATTERY_PRESENT    present;
-    unsigned long           design_capacity;
-    unsigned long           last_full_capacity;
-    enum BATTERY_TECHNOLOGY battery_technology;
-    unsigned long           design_voltage;
-    unsigned long           design_capacity_warning;
-    unsigned long           design_capacity_low;
-    unsigned long           capacity_granularity_1;
-    unsigned long           capacity_granularity_2;
-    char                    model_number[32];
-    char                    serial_number[32];
-    char                    battery_type[32];
-    char                    oem_info[32];
-};
-
-struct battery_status {
-    enum BATTERY_PRESENT    present;
-    unsigned long           state;
-    unsigned long           present_rate;
-    unsigned long           remaining_capacity;
-    unsigned long           present_voltage;
-};
-
-static struct xs_handle *xs;
-
-#ifdef RUN_IN_SIMULATE_MODE
-    #define BATTERY_DIR_PATH "/tmp/battery"
-    #define BATTERY_INFO_FILE_PATH "/tmp/battery/%s/info" 
-    #define BATTERY_STATE_FILE_PATH "/tmp/battery/%s/state"
-#else
-    #define BATTERY_DIR_PATH "/proc/acpi/battery"
-    #define BATTERY_INFO_FILE_PATH "/proc/acpi/battery/%s/info"
-    #define BATTERY_STATE_FILE_PATH "/proc/acpi/battery/%s/state"
-#endif
-
-FILE *get_next_battery_file(DIR *battery_dir, 
-                            enum BATTERY_INFO_TYPE battery_info_type)
-{
-    FILE *file = 0;
-    struct dirent *dir_entries;
-    char *file_name;
-    int ret;
-    
-    do 
-    {
-        dir_entries = readdir(battery_dir);
-        if ( !dir_entries ) 
-            return 0;
-        if ( strlen(dir_entries->d_name) < 4 )
-            continue;
-        if ( battery_info_type == BIF ) 
-            ret = asprintf(&file_name, BATTERY_INFO_FILE_PATH,
-                     dir_entries->d_name);
-        else 
-            ret = asprintf(&file_name, BATTERY_STATE_FILE_PATH,
-                     dir_entries->d_name);
-        /* This should not happen but is needed to pass gcc checks */
-        if (ret < 0)
-            continue;
-        file = fopen(file_name, "r");
-        free(file_name);
-    } while ( !file );
-
-    return file;
-}
-
-void set_attribute_battery_info(char *attrib_name,
-                                char *attrib_value,
-                                struct battery_info *info)
-{
-    if ( strstr(attrib_name, "present") ) 
-    {
-        if ( strstr(attrib_value, "yes") ) 
-            info->present = YES;
-        return;
-    }
-
-    if ( strstr(attrib_name, "design capacity warning") ) 
-    {
-        info->design_capacity_warning = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "design capacity low") ) 
-    {
-        info->design_capacity_low = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "design capacity") ) 
-    { 
-        info->design_capacity = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "last full capacity") ) 
-    {
-        info->last_full_capacity = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "design voltage") ) 
-    {
-        info->design_voltage = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "capacity granularity 1") ) 
-    {
-        info->capacity_granularity_1 = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "capacity granularity 2") ) 
-    {
-        info->capacity_granularity_2 = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "battery technology") ) 
-    {
-        if ( strncmp(attrib_value, "rechargeable",
-                     strlen("rechargeable")) == 0 ) 
-            info->battery_technology = RECHARGEABLE;
-        else 
-            info->battery_technology = NON_RECHARGEABLE;
-        return;
-    }
-
-    if ( strstr(attrib_name, "model number") ) 
-    {
-        strncpy(info->model_number, attrib_value, 31);
-        info->model_number[31] = '\0';
-        return;
-    }
-
-    if ( strstr(attrib_name, "serial number") ) 
-    {
-        strncpy(info->serial_number, attrib_value, 31);
-        info->serial_number[31] = '\0';
-        return;
-    }
-
-    if ( strstr(attrib_name, "battery type") ) 
-    {
-        strncpy(info->battery_type, attrib_value, 31);
-        info->battery_type[31] = '\0';
-        return;
-    }
-
-    if ( strstr(attrib_name, "OEM info") ) 
-    {
-        strncpy(info->oem_info, attrib_value, 31);
-        info->oem_info[31] = '\0';
-        return;
-    }
-
-    return;
-}
-
-void set_attribute_battery_status(char *attrib_name, 
-                                  char *attrib_value,
-                                  struct battery_status *status)
-{
-    if ( strstr(attrib_name, "charging state") ) 
-    {
-        /* Check this, below is half baked */
-        if ( strstr(attrib_value, "charged") ) 
-            status->state = 0;
-        else 
-            status->state = 1;
-        return;
-    }
-
-    if ( strstr(attrib_name, "present rate") ) 
-    {
-        status->present_rate = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "remaining capacity") ) 
-    {
-        status->remaining_capacity = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "present voltage") ) 
-    {
-        status->present_voltage = strtoull(attrib_value, NULL, 10);
-        return;
-    }
-
-    if ( strstr(attrib_name, "present") ) 
-    {
-        if ( strstr(attrib_value, "yes") ) 
-            status->present = YES;
-        return;
-    }
-}
-
-void parse_battery_info_or_status(char *line_info,
-                                  enum BATTERY_INFO_TYPE type,
-                                  void *info_or_status)
-{
-    char attrib_name[128];
-    char attrib_value[64];
-    char *delimiter;
-    unsigned long length;
-
-    length = strlen(line_info);
-    delimiter = (char *) strchr( line_info, ':');
-    if ( (!delimiter) || (delimiter == line_info) ||
-         (delimiter == line_info + length) ) 
-        return;
-
-    strncpy(attrib_name, line_info, delimiter-line_info);
-    while ( *(delimiter+1) == ' ' ) 
-    {
-        delimiter++;
-        if ( delimiter+1 == line_info + length)
-            return;
-    }
-    strncpy(attrib_value, delimiter+1, 
-            (unsigned long)line_info + length -(unsigned long)delimiter); 
-    
-    if ( type == BIF ) 
-        set_attribute_battery_info(attrib_name, attrib_value,
-                                   (struct battery_info *)info_or_status);
-    else 
-        set_attribute_battery_status(attrib_name, attrib_value,
-                                     (struct battery_status *)info_or_status);
-
-    return;
-}
-
-int get_next_battery_info_or_status(DIR *battery_dir,
-                                    enum BATTERY_INFO_TYPE type,
-                                    void *info_or_status)
-{
-    FILE *file;
-    char line_info[256];
-
-    if  ( !info_or_status )
-        return 0;
-
-    if (type == BIF) 
-        memset(info_or_status, 0, sizeof(struct battery_info));
-    else 
-        memset(info_or_status, 0, sizeof(struct battery_status));
-
-    file = get_next_battery_file(battery_dir, type);
-    if ( !file )
-        return 0;
-
-    while ( fgets(line_info, sizeof(line_info), file) != NULL ) 
-        parse_battery_info_or_status(line_info, type, info_or_status);
-
-    fclose(file);
-    return 1;
-}
-
-#ifdef RUN_STANDALONE
-void print_battery_info(struct battery_info *info)
-{
-    printf("present:                %d\n", info->present);
-    printf("design capacity:        %d\n", info->design_capacity);
-    printf("last full capacity:     %d\n", info->last_full_capacity);
-    printf("battery technology:     %d\n", info->battery_technology);
-    printf("design voltage:         %d\n", info->design_voltage);
-    printf("design capacity warning:%d\n", info->design_capacity_warning);
-    printf("design capacity low:    %d\n", info->design_capacity_low);
-    printf("capacity granularity 1: %d\n", info->capacity_granularity_1);
-    printf("capacity granularity 2: %d\n", info->capacity_granularity_2);
-    printf("model number:           %s\n", info->model_number);
-    printf("serial number:          %s\n", info->serial_number);
-    printf("battery type:           %s\n", info->battery_type);
-    printf("OEM info:               %s\n", info->oem_info);
-}
-#endif /*RUN_STANDALONE*/
-
-void write_ulong_lsb_first(char *temp_val, unsigned long val)
-{
-    snprintf(temp_val, 9, "%02x%02x%02x%02x", (unsigned int)val & 0xff, 
-    (unsigned int)(val & 0xff00) >> 8, (unsigned int)(val & 0xff0000) >> 16, 
-    (unsigned int)(val & 0xff000000) >> 24);
-}
-
-void write_battery_info_to_xenstore(struct battery_info *info)
-{
-    char val[1024], string_info[256];
-    unsigned int len;
-
-    xs_mkdir(xs, XBT_NULL, "/pm");
-   
-    memset(val, 0, 1024);
-    memset(string_info, 0, 256);
-    /* write 9 dwords (so 9*4) + length of 4 strings + 4 null terminators */
-    len = 9 * 4 + strlen(info->model_number) + strlen(info->serial_number) +
-          strlen(info->battery_type) + strlen(info->oem_info) + 4;
-    assert(len < 255);
-    snprintf(val, 3, "%02x", len);
-    write_ulong_lsb_first(val+2, info->present);
-    write_ulong_lsb_first(val+10, info->design_capacity);
-    write_ulong_lsb_first(val+18, info->last_full_capacity);
-    write_ulong_lsb_first(val+26, info->battery_technology);
-    write_ulong_lsb_first(val+34, info->design_voltage);
-    write_ulong_lsb_first(val+42, info->design_capacity_warning);
-    write_ulong_lsb_first(val+50, info->design_capacity_low);
-    write_ulong_lsb_first(val+58, info->capacity_granularity_1);
-    write_ulong_lsb_first(val+66, info->capacity_granularity_2);
-
-    snprintf(string_info, 256, "%02x%s%02x%s%02x%s%02x%s", 
-             (unsigned int)strlen(info->model_number), info->model_number,
-             (unsigned int)strlen(info->serial_number), info->serial_number,
-             (unsigned int)strlen(info->battery_type), info->battery_type,
-             (unsigned int)strlen(info->oem_info), info->oem_info);
-    strncat(val+73, string_info, 1024-73-1);
-    xs_write(xs, XBT_NULL, "/pm/bif", 
-             val, 73+8+strlen(info->model_number)+strlen(info->serial_number)+
-             strlen(info->battery_type)+strlen(info->oem_info)+1);
-}
-
-int write_one_time_battery_info(void)
-{
-    DIR *dir;
-    int ret = 0;
-    struct battery_info info;
-    
-    dir = opendir(BATTERY_DIR_PATH);
-    if ( !dir )
-        return 0;
-
-    while ( get_next_battery_info_or_status(dir, BIF, (void *)&info) ) 
-    {
-#ifdef RUN_STANDALONE
-        print_battery_info(&info);
-#endif
-        if ( info.present == YES ) 
-        {
-            write_battery_info_to_xenstore(&info);
-            ret = 1;
-            break; /* rethink this... */
-        }
-    }
-
-    closedir(dir);
-    return ret;
-}
-
-#ifdef RUN_STANDALONE
-void print_battery_status(struct battery_status *status)
-{
-    printf("present:                     %d\n", status->present);
-    printf("Battery state                %d\n", status->state);
-    printf("Battery present rate         %d\n", status->present_rate);
-    printf("Battery remining capacity    %d\n", status->remaining_capacity);
-    printf("Battery present voltage      %d\n", status->present_voltage);
-}
-#endif /*RUN_STANDALONE*/
-
-void write_battery_status_to_xenstore(struct battery_status *status)
-{
-    char val[35];
-
-    xs_mkdir(xs, XBT_NULL, "/pm");
-
-    memset(val, 0, 35);
-    snprintf(val, 3, "%02x", 16);
-    write_ulong_lsb_first(val+2, status->state);
-    write_ulong_lsb_first(val+10, status->present_rate);
-    write_ulong_lsb_first(val+18, status->remaining_capacity);
-    write_ulong_lsb_first(val+26, status->present_voltage);
-
-    xs_write(xs, XBT_NULL, "/pm/bst", val, 35);
-}
-
-int wait_for_and_update_battery_status_request(void)
-{
-    DIR *dir;
-    int ret = 0;
-    unsigned int count;
-    struct battery_status status;
-
-    while ( true )
-    {
-        /* KN:@TODO - It is rather inefficient to not cache the file handle.
-         *  Switch to caching file handle. 
-         */
-        dir = opendir(BATTERY_DIR_PATH);
-        if ( !dir )
-            return 0;
-
-        while ( get_next_battery_info_or_status(dir, BST, (void *)&status) ) 
-        {
-#ifdef RUN_STANDALONE
-            print_battery_status(&status);
-#endif
-            if ( status.present == YES ) 
-            {
-                write_battery_status_to_xenstore(&status);
-                ret = 1;
-                /* rethink this; though I have never seen, there might be
-                 * systems out there with more than one battery device 
-                 * present
-                 */
-                break;
-            }
-        }
-        closedir(dir);
-        xs_watch(xs, "/pm/events", "refreshbatterystatus");
-        xs_read_watch(xs, &count); 
-    }
-
-    return ret;
-}
-
-/* Borrowed daemonize from xenstored - Initially written by Stevens. */
-static void daemonize(void)
-{
-    pid_t pid;
-
-    if ( (pid = fork()) < 0 )
-        exit(1);
-
-    if ( pid != 0 )
-        exit(0);
-
-    setsid();
-
-    if ( (pid = fork()) < 0 )
-        exit(1);
-
-    if ( pid != 0 )
-        exit(0);
-
-    if ( chdir("/") == -1 )
-        exit(1);
-
-    umask(0);
-}
-
-int main(int argc, char *argv[])
-{
-#ifndef RUN_STANDALONE
-    daemonize();
-#endif
-    xs = xs_open(0);
-    if ( xs == NULL ) 
-        return -1;
-
-    if ( write_one_time_battery_info() == 0 ) 
-    {
-        xs_close(xs);
-        return -1;
-    }
-
-    wait_for_and_update_battery_status_request();
-    xs_close(xs);
-    return 0;
-}
-
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 17:52:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 17:52:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926896.1329726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8SJ-0000vq-ID; Tue, 25 Mar 2025 17:52:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926896.1329726; Tue, 25 Mar 2025 17:52: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 1tx8SJ-0000vj-Ff; Tue, 25 Mar 2025 17:52:51 +0000
Received: by outflank-mailman (input) for mailman id 926896;
 Tue, 25 Mar 2025 17:52: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=Ir1M=WM=redhat.com=vschneid@srs-se1.protection.inumbo.net>)
 id 1tx8SH-0000s6-Tv
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 17:52:49 +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 f35648eb-09a1-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 18:52:43 +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-437-oeNRTaUNPOieyw7tli1WOg-1; Tue, 25 Mar 2025 13:52:40 -0400
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-43d51bd9b41so39098545e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 10:52:40 -0700 (PDT)
Received: from vschneid-thinkpadt14sgen2i.remote.csb
 (213-44-141-166.abo.bbox.fr. [213.44.141.166])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9b409fsm14543767f8f.50.2025.03.25.10.52.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 10: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: f35648eb-09a1-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1742925162;
	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=58+r+FAQ5TTby/P3+2e15XArHywgR9oB31F4zzKw58o=;
	b=WVE8Y7SbIy7GCiarkc8Ix1vyXcs5XNsA8UUv/rSjiziPvEvmvjI43Jbgxc24eMjuPe7yrD
	j++JiY9quB55Ucxyr73Y4h6aS9pbxWC4B53xDyPkKwHuHpFFem3tjHdcTa4kDTXeKiGmqH
	Zfg9mE4bTYYoq6N8rtQ7ZS/ExAkDXIs=
X-MC-Unique: oeNRTaUNPOieyw7tli1WOg-1
X-Mimecast-MFC-AGG-ID: oeNRTaUNPOieyw7tli1WOg_1742925159
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742925159; x=1743529959;
        h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
         :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=58+r+FAQ5TTby/P3+2e15XArHywgR9oB31F4zzKw58o=;
        b=v5Y9Jews694lZjefwCQqNcCGm7csshvsFHfZuUV9ZjvmCns4KFMJA1vEHWQqsP3NOH
         Z2tFxCF9pIUhOpriDzDaZ0c2sGDgLzIEHdkgaB151H3FTHwGm+Gbe/VuZqY9m3NU8d2e
         eOxQq7cJimXdIltyHKveB1MGclYe5gH7TbQuzze4gWH7oxUf0U17KJmL19Jcj5oNMdsL
         wq70ksY4HO9xs8DmeznjtJQ5ylKQKoPeysiceoVmuPJZyz6TEmmvm+qYrbP4HFEF9sFv
         k3MItAaRB9ZqcX9nnVjHA2eJ9KSDNa7R2CMG1prKOi6Ne/7ammM4dYPAJlO8HBb1xfF/
         0cEA==
X-Forwarded-Encrypted: i=1; AJvYcCVJTWJsCDoW92B6UKfzv4EZUuHtx/Z8b2BNb3/W/829F2E1QzXA6hnI3IFwvwQG4MHER7k7ahyOovQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypEZFAIplw0itOUx4OWSUUl7rJygnI3zb2El/V5c8V8D7PB0Ef
	k4g5Jdw6GaS591yoK2ADiKKrzJ08w16yjD90tzJzOCCoiJBBiephH/RI32OAG37xkDJ/QsOV3Sl
	e0Y2RZyMMsE386MwrV9djxCYQYDLVlHbYk7ekKI3WkVcFesQBMinuZyCUt/cUkwT3
X-Gm-Gg: ASbGncur1oShElLdZ5OVinMOmmPJv9apHa4LqVWHYX2435pkzj+Ip5iDggJRVKYmNQ2
	awBIsPjKTjD2xgetJP6/GHo5VDjwgWqYrgx4Pu3zEd30Q9HwAsfhoVxw0P2zSBE+lsbA7H1qVCG
	xK3754ImOJ8w0h5sqkbxCoZvF1Yieu38a29gGOK66jL3joSNN/DcWs5yeK9k3hrlo3XiqzE5CT8
	OGeQMqJnkEj+DgI75eOwUNMxX9YcBwYOzM610oq4q1ui3ui3riNLXWMZUtV+uMrUAH3OPEVAwMB
	7u1hwNQUGuPmc7oTbIs7EXyDqqIVdP+47TTlN5EcdMUu2dT0Ez15iOABVePto1TgTHDvw/laCfW
	v
X-Received: by 2002:a05:600c:4584:b0:43c:fe85:e4ba with SMTP id 5b1f17b1804b1-43d509f4b25mr191666365e9.15.1742925159166;
        Tue, 25 Mar 2025 10:52:39 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFE+waNkOHjpFuU78xXxVfBVrthL7+/n2itqapsAHnKkAlkbjOyC6OGUhEtlUEcPF/6kvS3dA==
X-Received: by 2002:a05:600c:4584:b0:43c:fe85:e4ba with SMTP id 5b1f17b1804b1-43d509f4b25mr191665765e9.15.1742925158655;
        Tue, 25 Mar 2025 10:52:38 -0700 (PDT)
From: Valentin Schneider <vschneid@redhat.com>
To: Dave Hansen <dave.hansen@intel.com>, Jann Horn <jannh@google.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
 virtualization@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
 loongarch@lists.linux.dev, linux-riscv@lists.infradead.org,
 linux-perf-users@vger.kernel.org, xen-devel@lists.xenproject.org,
 kvm@vger.kernel.org, linux-arch@vger.kernel.org, rcu@vger.kernel.org,
 linux-hardening@vger.kernel.org, linux-mm@kvack.org,
 linux-kselftest@vger.kernel.org, bpf@vger.kernel.org,
 bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>,
 Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov
 <alexey.amakhalov@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>, Paul
 Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>,
 Albert Ou <aou@eecs.berkeley.edu>, 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>,
 Peter Zijlstra <peterz@infradead.org>, Arnaldo Carvalho de Melo
 <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland
 <mark.rutland@arm.com>, Alexander Shishkin
 <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian
 Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>,
 "Liang, Kan" <kan.liang@linux.intel.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Pawan
 Gupta <pawan.kumar.gupta@linux.intel.com>, Sean Christopherson
 <seanjc@google.com>, Paolo Bonzini <pbonzini@redhat.com>, Andy Lutomirski
 <luto@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Frederic Weisbecker
 <frederic@kernel.org>, "Paul E. McKenney" <paulmck@kernel.org>, Jason
 Baron <jbaron@akamai.com>, Steven Rostedt <rostedt@goodmis.org>, Ard
 Biesheuvel <ardb@kernel.org>, Neeraj Upadhyay
 <neeraj.upadhyay@kernel.org>, Joel Fernandes <joel@joelfernandes.org>,
 Josh Triplett <josh@joshtriplett.org>, Boqun Feng <boqun.feng@gmail.com>,
 Uladzislau Rezki <urezki@gmail.com>, Mathieu Desnoyers
 <mathieu.desnoyers@efficios.com>, Lai Jiangshan <jiangshanlai@gmail.com>,
 Zqiang <qiang.zhang1211@gmail.com>, Juri Lelli <juri.lelli@redhat.com>,
 Clark Williams <williams@redhat.com>, Yair Podemsky <ypodemsk@redhat.com>,
 Tomas Glozar <tglozar@redhat.com>, Vincent Guittot
 <vincent.guittot@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>,
 Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>, Kees Cook
 <kees@kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Christoph
 Hellwig <hch@infradead.org>, Shuah Khan <shuah@kernel.org>, Sami Tolvanen
 <samitolvanen@google.com>, Miguel Ojeda <ojeda@kernel.org>, Alice Ryhl
 <aliceryhl@google.com>, "Mike Rapoport (Microsoft)" <rppt@kernel.org>,
 Samuel Holland <samuel.holland@sifive.com>, Rong Xu <xur@google.com>,
 Nicolas Saenz Julienne <nsaenzju@redhat.com>, Geert Uytterhoeven
 <geert@linux-m68k.org>, Yosry Ahmed <yosryahmed@google.com>, "Kirill A.
 Shutemov" <kirill.shutemov@linux.intel.com>, "Masami Hiramatsu (Google)"
 <mhiramat@kernel.org>, Jinghao Jia <jinghao7@illinois.edu>, Luis
 Chamberlain <mcgrof@kernel.org>, Randy Dunlap <rdunlap@infradead.org>,
 Tiezhu Yang <yangtiezhu@loongson.cn>
Subject: Re: [PATCH v4 29/30] x86/mm, mm/vmalloc: Defer
 flush_tlb_kernel_range() targeting NOHZ_FULL CPUs
In-Reply-To: <408ebd8b-4bfb-4c4f-b118-7fe853c6e897@intel.com>
References: <20250114175143.81438-1-vschneid@redhat.com>
 <20250114175143.81438-30-vschneid@redhat.com>
 <CAG48ez1Mh+DOy0ysOo7Qioxh1W7xWQyK9CLGNU9TGOsLXbg=gQ@mail.gmail.com>
 <xhsmh34hhh37q.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <CAG48ez3H8OVP1GxBLdmFgusvT1gQhwu2SiXbgi8T9uuCYVK52w@mail.gmail.com>
 <xhsmh5xlhk5p2.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <CAG48ez1EAATYcX520Nnw=P8XtUDSr5pe+qGH1YVNk3xN2LE05g@mail.gmail.com>
 <xhsmh34gkk3ls.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <352317e3-c7dc-43b4-b4cb-9644489318d0@intel.com>
 <xhsmhjz9mj2qo.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <d0450bc8-6585-49ca-9cad-49e65934bd5c@intel.com>
 <xhsmhh64qhssj.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <eef09bdc-7546-462b-9ac0-661a44d2ceae@intel.com>
 <xhsmhfrk84k5k.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <408ebd8b-4bfb-4c4f-b118-7fe853c6e897@intel.com>
Date: Tue, 25 Mar 2025 18:52:34 +0100
Message-ID: <xhsmhy0wtngkd.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: vwCf7afNQxefrUIOsTOrnMAhZqT_dBd8H8hEecFo6Mo_1742925159
X-Mimecast-Originator: redhat.com
Content-Type: text/plain

On 20/02/25 09:38, Dave Hansen wrote:
> But, honestly, I'm still not sure this is worth all the trouble. If
> folks want to avoid IPIs for TLB flushes, there are hardware features
> that *DO* that. Just get new hardware instead of adding this complicated
> pile of software that we have to maintain forever. In 10 years, we'll
> still have this software *and* 95% of our hardware has the hardware
> feature too.

Sorry, you're going to have to deal with my ignorance a little bit longer...

Were you thinking x86 hardware specifically, or something else?
AIUI things like arm64's TLBIVMALLE1IS can do what is required without any
IPI:

C5.5.78
"""
The invalidation applies to all PEs in the same Inner Shareable shareability domain as the PE that
executes this System instruction.
"""

But for (at least) these architectures:

  alpha
  x86
  loongarch
  mips
  (non-freescale 8xx) powerpc
  riscv
  xtensa

flush_tlb_kernel_range() has a path with a hardcoded use of on_each_cpu(),
so AFAICT for these the IPIs will be sent no matter the hardware.




From xen-devel-bounces@lists.xenproject.org Tue Mar 25 18:00:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 18:00:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926913.1329736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx8ZP-0002vl-8y; Tue, 25 Mar 2025 18:00:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926913.1329736; Tue, 25 Mar 2025 18:00: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 1tx8ZP-0002ve-5z; Tue, 25 Mar 2025 18:00:11 +0000
Received: by outflank-mailman (input) for mailman id 926913;
 Tue, 25 Mar 2025 18:00: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx8ZO-0002vY-Ca
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 18:00: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 fd0f36be-09a2-11f0-9ffa-bf95429c2676;
 Tue, 25 Mar 2025 19:00:08 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3913cf69784so4689088f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 11:00:08 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f43e50sm205648275e9.12.2025.03.25.11.00.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 11:00: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: fd0f36be-09a2-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742925608; x=1743530408; 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=rcPxL5FrpWPsPyOJ40H3ycbUNBnd7QVyRYrcbnV5MVQ=;
        b=kSbQVv7nPKyX7tN1ItFbGUmODPULLOowkYOXCM89uTAfEOK+65pLE7f0IyyZw597O5
         YBeyLljsHja2jtm3vb9mBnzD9goYLVLZ7UXfdYcQ+c1cl+zdzlTM0qtKQX9UPD9TlWtN
         1khl1KZ50jrpBdyS/s6ZyEJZDsj2dpnxP7GdU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742925608; x=1743530408;
        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=rcPxL5FrpWPsPyOJ40H3ycbUNBnd7QVyRYrcbnV5MVQ=;
        b=qbpADE0RIRHPLsr9mDI1kjL/n8e1AkQikBkiZ9B1WhByYWsXsDtRX4hki51gYKeOwN
         OGQzIV9M5Pyat3ly4eDRisW7YII7GL+XgvTRndKOHvb2YbcILoeFFZ46bqIc6c6wHkzj
         I2z+9Y28/2U7yQheu31rFVzMCTKzyizLfPuFYbnCZTsV9p57/TyBZAnpNl1FIjT6iEIl
         tV2nvFdsc2EABc69yBv293lESCt2ArjkGtkO1VwxH48kYD+EdgnbN0d9wpiy4QXxYF2k
         PfPbDN8yc9S0Dunqy+/gT//H+xJco4Bodw0260+2Y7dF7rrL2iaFfX30SK39TkAaMCzP
         D2dg==
X-Gm-Message-State: AOJu0Yy6CXkpA1CrrYjEl/akwHdPFv+efKetTz6LUWHpKGDgMufje2nl
	Z9anJG0ia3M3gdU/kKIXbfjW47KbvJVbUhsx164inQy7tqk5VT57vBd5ocBrV8Ne3aPXG5XyoRh
	8254=
X-Gm-Gg: ASbGncsDLg708Lq00u72q5esQanJM+rEzZbZJLdYeHPAXpieWE9djnCRM01/ay5vVnh
	d1MlTIcrSN4fNmrdOIGNsu8cEHHzG1STYClOsWca1hYZ3WPAmOZLl+0RsKNa6kScHjRnrEFXnds
	iKJHiuetJraJ10OVC5cccqL+jRoM/IBdOHsiknJn6Vvm57EjeSdwAbJWWS1mH5/emGNYiUgz3ai
	ZTc0A95T7dlM2bpQx3cyTxgXZmkdIG0MxXLUSE8X6hUnJSUqWK9Kg3YFu722hArEgixqpohb0hn
	0z0qWe+AyX2G9gcfuu1s/yHBirRn8z0gXuFd5ov1asy71jp39pngF6XKhupxezSNbdSGYJRVkYU
	HBklkhutV2Uq61wbwkA==
X-Google-Smtp-Source: AGHT+IEmJlvwdnlxeMXuQsNespF892HPwBnB558nqvThqmWLlodjDnIP/tRhbvV/DExcEFNSiKQK5g==
X-Received: by 2002:a5d:6da9:0:b0:391:3915:cffb with SMTP id ffacd0b85a97d-3997f93643dmr16029421f8f.43.1742925607621;
        Tue, 25 Mar 2025 11:00: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] x86/elf: Remove ASM_CALL_CONSTRAINT from elf_core_save_regs()
Date: Tue, 25 Mar 2025 18:00:05 +0000
Message-Id: <20250325180005.275552-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

I was mistaken about when ASM_CALL_CONSTRAINT is applicable.  It is not
applicable for plain pushes/pops, so remove it from the flags logic.

Clarify the description of ASM_CALL_CONSTRAINT to be explicit about unwinding
using framepointers.

Fixes: 0754534b8a38 ("x86/elf: Improve code generation in elf_core_save_regs()")
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/include/asm/asm_defns.h  | 5 +++--
 xen/arch/x86/include/asm/x86_64/elf.h | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index 92b4116a1564..689d1dcbf754 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -28,8 +28,9 @@ asm ( "\t.equ CONFIG_INDIRECT_THUNK, "
 
 /*
  * This output constraint should be used for any inline asm which has a "call"
- * instruction.  Otherwise the asm may be inserted before the frame pointer
- * gets set up by the containing function.
+ * instruction, which forces the stack frame to be set up prior to the asm
+ * block.  This matters when unwinding using framepointers, where the asm's
+ * function can get skipped over.
  */
 #ifdef CONFIG_FRAME_POINTER
 register unsigned long current_stack_pointer asm("rsp");
diff --git a/xen/arch/x86/include/asm/x86_64/elf.h b/xen/arch/x86/include/asm/x86_64/elf.h
index f33be46ddec9..e7bec7327aa2 100644
--- a/xen/arch/x86/include/asm/x86_64/elf.h
+++ b/xen/arch/x86/include/asm/x86_64/elf.h
@@ -56,7 +56,7 @@ static inline void elf_core_save_regs(ELF_Gregset *core_regs,
     /* orig_rax not filled in for now */
     asm ( "lea (%%rip), %0" : "=r" (core_regs->rip) );
     asm ( "mov %%cs, %0" : "=m" (core_regs->cs) );
-    asm ( "pushfq; popq %0" : "=m" (core_regs->rflags) ASM_CALL_CONSTRAINT );
+    asm ( "pushfq; popq %0" : "=m" (core_regs->rflags) );
     asm ( "movq %%rsp, %0" : "=m" (core_regs->rsp) );
     asm ( "mov %%ss, %0" : "=m" (core_regs->ss) );
     rdmsrl(MSR_FS_BASE, core_regs->thread_fs);

base-commit: 28fa31d6bb7835be530c2855dd6cf4e77438ae12
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 18:42:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 18:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926927.1329746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx9EM-0006QW-6v; Tue, 25 Mar 2025 18:42:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926927.1329746; Tue, 25 Mar 2025 18:42: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 1tx9EM-0006QP-3C; Tue, 25 Mar 2025 18:42:30 +0000
Received: by outflank-mailman (input) for mailman id 926927;
 Tue, 25 Mar 2025 18: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=s9MN=WM=google.com=jannh@srs-se1.protection.inumbo.net>)
 id 1tx9EL-0006QJ-0T
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 18:42:29 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6c2bb0f-09a8-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 19:42:28 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5e50bae0f5bso2025a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 11: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: e6c2bb0f-09a8-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1742928147; x=1743532947; 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=ohWbm/UuIc3MDUKHoYt0YitrpdOZotQW09VJZwN6f+A=;
        b=ARfgUWg9h4c9Wt0bPE24HHR/tEcf1RU2pcExLik6DFCICcZy1nYUK3fQZmBl2obuMP
         4dAXD328wvqkt7Sb2muQOAUp1k1Obb3lCot7YyfuLR5IF+Omye2P90zgUwNar1mD5ZPt
         Sb/nYl04EqheTORxGxSgEauHhW/jk3qz1ywfwwQagbYSamP/xEZ5PRnRkYuVuGLyDA4Z
         q50aY0YP5lBr64VN7FfNfFwn6s5uUug/dQivq7ROsdI/Z35evLsnVX/VxC7o6S20VqgQ
         Fm8PYcxIJIkL1fHAOKzLLNlWdVvsomTMVNEdQ1IzGWNN432Fp74+RmUK277UXCLR53kB
         vzVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742928147; x=1743532947;
        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=ohWbm/UuIc3MDUKHoYt0YitrpdOZotQW09VJZwN6f+A=;
        b=i1GmH6jvU3xxRX+FN85yvdnlyJogDZPrdJzuiVCy3KqGSsqhhk4L4x3/4zkLwYwOVH
         cRH/Gd6KSQq3DcSGtLS6TELOGACEDjlqc8b3IJuU4AzvwPd6ammw/WCnqsbTpv18JA7s
         DexS68Od0dg6XSrXi88o8Oy+7NhKtRJdhDj06Tl2V1bF0urDiFGJJsxwQ0MCg+/42etx
         G1pjJoPYs/jZbqpUUvXAt2Y5Vohb03dkLQc8t6hU8L69sA0Rg1FyH0fCV+4ZcjPXFJsk
         6g8xvpKx+ZduszCJ8BkXNX6yqmc5bG+/IDCvE2JhB4nxQbaqWuP64t1vAhDeM5l0o2Qx
         kEpQ==
X-Forwarded-Encrypted: i=1; AJvYcCXhYymPpzXvJh4pkZutg8mknUHf0M6yMXQOZMd7j158xU/05dMVkQHawPWWAA/p9BOf5ggSsmGT74Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyMm5JFGmPStlMK4hgxGWMebVkznwyNsnpmXtqkOQG8XHye0dSs
	DW/s+yG7sOzkwsRN06Fc3eMGwl5ZjJ9U9wltHY92ntQkaFvJQ5rg1OUP+QAxA6orpR3YvoQgQS6
	18Ida1PdwdLf+arbPipvh50K4P5Itd6pz8CZ6
X-Gm-Gg: ASbGnctWG4VfgPdDKYvcDvWVong2U7UBknHpHdKhXxJbO3Ua9Y0J/FQhvCpc6l3e5a/
	JYYPtfJbwLLn3q+Qw+Dcr8FrIoeecjnwTk5lE36rumjPmLYtEs71uN1x7p0VrKYtDQL9HRJIZiJ
	VgoTAEfKZFYkiWi6o8LR5WBOMIfYRJc2Aq9cFIo2/djB5gPxzFg1uQIOJA41QukHY1
X-Google-Smtp-Source: AGHT+IG/oxMHsUwCe/Pv38c6tGHW1E+mjtkA7yC/Fgzn+9xwryPNKquWqjWfGFAmY6c6RcrvuYp4RqLtrV1djsqY7q0=
X-Received: by 2002:a50:ed83:0:b0:5dc:ccb4:cb11 with SMTP id
 4fb4d7f45d1cf-5ed53ee96e9mr10451a12.4.1742928147101; Tue, 25 Mar 2025
 11:42:27 -0700 (PDT)
MIME-Version: 1.0
References: <20250114175143.81438-1-vschneid@redhat.com> <20250114175143.81438-30-vschneid@redhat.com>
 <CAG48ez1Mh+DOy0ysOo7Qioxh1W7xWQyK9CLGNU9TGOsLXbg=gQ@mail.gmail.com>
 <xhsmh34hhh37q.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <CAG48ez3H8OVP1GxBLdmFgusvT1gQhwu2SiXbgi8T9uuCYVK52w@mail.gmail.com>
 <xhsmh5xlhk5p2.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <CAG48ez1EAATYcX520Nnw=P8XtUDSr5pe+qGH1YVNk3xN2LE05g@mail.gmail.com>
 <xhsmh34gkk3ls.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <352317e3-c7dc-43b4-b4cb-9644489318d0@intel.com> <xhsmhjz9mj2qo.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <d0450bc8-6585-49ca-9cad-49e65934bd5c@intel.com> <xhsmhh64qhssj.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <eef09bdc-7546-462b-9ac0-661a44d2ceae@intel.com> <xhsmhfrk84k5k.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <408ebd8b-4bfb-4c4f-b118-7fe853c6e897@intel.com> <xhsmhy0wtngkd.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
In-Reply-To: <xhsmhy0wtngkd.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
From: Jann Horn <jannh@google.com>
Date: Tue, 25 Mar 2025 19:41:49 +0100
X-Gm-Features: AQ5f1Jo2l3CP6X5vd0V2T3oskBTdoXupZsoP0HqqqOWE1sDQ_J5UAMa3wCMvDAw
Message-ID: <CAG48ez2bSh6=J8cXJhqYX=Y8pXcGsFgC05HsGcF0b1sJK2VH7A@mail.gmail.com>
Subject: Re: [PATCH v4 29/30] x86/mm, mm/vmalloc: Defer flush_tlb_kernel_range()
 targeting NOHZ_FULL CPUs
To: Valentin Schneider <vschneid@redhat.com>, Rik van Riel <riel@surriel.com>
Cc: Dave Hansen <dave.hansen@intel.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	virtualization@lists.linux.dev, linux-arm-kernel@lists.infradead.org, 
	loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, 
	linux-perf-users@vger.kernel.org, xen-devel@lists.xenproject.org, 
	kvm@vger.kernel.org, linux-arch@vger.kernel.org, rcu@vger.kernel.org, 
	linux-hardening@vger.kernel.org, linux-mm@kvack.org, 
	linux-kselftest@vger.kernel.org, bpf@vger.kernel.org, 
	bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>, 
	Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.amakhalov@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>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, 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>, 
	Peter Zijlstra <peterz@infradead.org>, Arnaldo Carvalho de Melo <acme@kernel.org>, 
	Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	"Liang, Kan" <kan.liang@linux.intel.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Josh Poimboeuf <jpoimboe@kernel.org>, Pawan Gupta <pawan.kumar.gupta@linux.intel.com>, 
	Sean Christopherson <seanjc@google.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Andy Lutomirski <luto@kernel.org>, Arnd Bergmann <arnd@arndb.de>, 
	Frederic Weisbecker <frederic@kernel.org>, "Paul E. McKenney" <paulmck@kernel.org>, 
	Jason Baron <jbaron@akamai.com>, Steven Rostedt <rostedt@goodmis.org>, 
	Ard Biesheuvel <ardb@kernel.org>, Neeraj Upadhyay <neeraj.upadhyay@kernel.org>, 
	Joel Fernandes <joel@joelfernandes.org>, Josh Triplett <josh@joshtriplett.org>, 
	Boqun Feng <boqun.feng@gmail.com>, Uladzislau Rezki <urezki@gmail.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Lai Jiangshan <jiangshanlai@gmail.com>, 
	Zqiang <qiang.zhang1211@gmail.com>, Juri Lelli <juri.lelli@redhat.com>, 
	Clark Williams <williams@redhat.com>, Yair Podemsky <ypodemsk@redhat.com>, 
	Tomas Glozar <tglozar@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org>, 
	Dietmar Eggemann <dietmar.eggemann@arm.com>, Ben Segall <bsegall@google.com>, 
	Mel Gorman <mgorman@suse.de>, Kees Cook <kees@kernel.org>, 
	Andrew Morton <akpm@linux-foundation.org>, Christoph Hellwig <hch@infradead.org>, 
	Shuah Khan <shuah@kernel.org>, Sami Tolvanen <samitolvanen@google.com>, 
	Miguel Ojeda <ojeda@kernel.org>, Alice Ryhl <aliceryhl@google.com>, 
	"Mike Rapoport (Microsoft)" <rppt@kernel.org>, Samuel Holland <samuel.holland@sifive.com>, Rong Xu <xur@google.com>, 
	Nicolas Saenz Julienne <nsaenzju@redhat.com>, Geert Uytterhoeven <geert@linux-m68k.org>, 
	Yosry Ahmed <yosryahmed@google.com>, 
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>, 
	"Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Jinghao Jia <jinghao7@illinois.edu>, 
	Luis Chamberlain <mcgrof@kernel.org>, Randy Dunlap <rdunlap@infradead.org>, 
	Tiezhu Yang <yangtiezhu@loongson.cn>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 25, 2025 at 6:52=E2=80=AFPM Valentin Schneider <vschneid@redhat=
.com> wrote:
> On 20/02/25 09:38, Dave Hansen wrote:
> > But, honestly, I'm still not sure this is worth all the trouble. If
> > folks want to avoid IPIs for TLB flushes, there are hardware features
> > that *DO* that. Just get new hardware instead of adding this complicate=
d
> > pile of software that we have to maintain forever. In 10 years, we'll
> > still have this software *and* 95% of our hardware has the hardware
> > feature too.
>
> Sorry, you're going to have to deal with my ignorance a little bit longer=
...
>
> Were you thinking x86 hardware specifically, or something else?
> AIUI things like arm64's TLBIVMALLE1IS can do what is required without an=
y
> IPI:
>
> C5.5.78
> """
> The invalidation applies to all PEs in the same Inner Shareable shareabil=
ity domain as the PE that
> executes this System instruction.
> """
>
> But for (at least) these architectures:
>
>   alpha
>   x86
>   loongarch
>   mips
>   (non-freescale 8xx) powerpc
>   riscv
>   xtensa
>
> flush_tlb_kernel_range() has a path with a hardcoded use of on_each_cpu()=
,
> so AFAICT for these the IPIs will be sent no matter the hardware.

On X86, both AMD and Intel have some fairly recently introduced CPU
features that can shoot down TLBs remotely.

The patch series
<https://lore.kernel.org/all/20250226030129.530345-1-riel@surriel.com/>
adds support for the AMD flavor; that series landed in the current
merge window (it's present in the mainline git repository now and should
be part of 6.15). I think support for the Intel flavor has not yet
been implemented, but the linked patch series mentions a plan to look
at the Intel flavor next.


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 18:52:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 18:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926936.1329755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tx9Ny-0000t6-1p; Tue, 25 Mar 2025 18:52:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926936.1329755; Tue, 25 Mar 2025 18:52: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 1tx9Nx-0000sz-VU; Tue, 25 Mar 2025 18:52:25 +0000
Received: by outflank-mailman (input) for mailman id 926936;
 Tue, 25 Mar 2025 18:52: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=+BiV=WM=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tx9Nw-0000s8-Cl
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 18:52:24 +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 49868b4f-09aa-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 19:52:23 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43948021a45so52365875e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 25 Mar 2025 11:52:23 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f43e50sm206824065e9.12.2025.03.25.11.52.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Mar 2025 11:52: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: 49868b4f-09aa-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742928742; x=1743533542; 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=SsmRaKPEIATAjGQw1ayk5oTYnpRRR/3cnZRb904ZOsc=;
        b=AtzybXMTXKh32/3CmtkvfOajX6++0rIfScPt22lR0etaj/vjtwWId97TtWvunTMkHE
         rJLTFLsMZCqh2WGBJOD9XKZSt0X36EdQsz7t+JIGs49xWQ0wqEbm6moLPlq/LFIITFSZ
         6297HsTNN10jEM057Y2wUC6d0CwN7XBDcXsqw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742928742; x=1743533542;
        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=SsmRaKPEIATAjGQw1ayk5oTYnpRRR/3cnZRb904ZOsc=;
        b=fzYs7xv9W0/OwOL60V4rW1ocD8e6VzlBZMz7ISKjXJqYKkcU+Oixar4DcaQ57699Ly
         ljtIP7nw9QrOdqKD06HvNtWyxPSNIg/+2WHoLBgK83vQUCFdWQrs/5BYcAX5hxnxSm70
         UvUH/zRWkBDlKIjxxCJGs+RmkMVdgKrvQj9VMJGdbPVxqYvkcnzeYif3DnYpweEfGy+8
         Htv3po02zWl4DX7Tg/6k/++DBCRSWFPjHoRGO5WLyCZrBbTfdqiBtqIPDr0uLJd5g5K+
         a14c29grTb6JwofeBZCcNo9yCILOotiFtdViZdnYMjeusD68CgcW9+7qpBTR/B0miI8Y
         l3Lw==
X-Gm-Message-State: AOJu0YxyZ2qCFiDhl7v0mNHQN9O4f/yTssuhB595qMif+aHr4J1zUUKM
	dq+MYJDDfP/MTbZ7YuuFmhg+JAwMyRYCRejXnmneXSwYaIlTiy/enK58gwf2cKaqjoCewVwCuvH
	wj5k=
X-Gm-Gg: ASbGncuvNsv+GP1xq33CnoxV9FCNHpgdkWJ2TqLj7JvQxHD0VQoQcDpBdUze25gn/IQ
	sg6BTbS6MAW9Qfk1bkHicwlqAGEknLYPSMf339PBGgRr1+A+W1/bi0T4vZAT6oQJ1s6foeg3d0X
	8fCkx99dIdpfoKGaGKMwFjEvpOzik/S158kD15IoEit7uI9CT2jz2sIw3bLgGS7dRrEqyv7FmLA
	ReKVL7Ot5U8vRuQtVcAXOSptpSUJH8lwtQcautcEtBnvQR3q07L45eG9/W65AVTyTJlSD/5U/ME
	WDEo5bKfU0aXclIg2AufYhQfgJm86y12ByusrSY/MmK7/3QoWS17jMog7ql0rozL0bUdZ2Nn15g
	XGRZaRIlAnqzwTutEbA==
X-Google-Smtp-Source: AGHT+IG3neElunJ2uTnihP6zdGPeb3Vj6lm/jTIIlyVd8l8oBDOr15uQNT0aD5OVLMsQAG3w2OWljg==
X-Received: by 2002:a05:600c:1ca4:b0:43c:fbbf:7bf1 with SMTP id 5b1f17b1804b1-43d50a3a75bmr187527705e9.30.1742928742254;
        Tue, 25 Mar 2025 11:52:22 -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] x86/bitops: Account for POPCNT errata on earlier Intel CPUs
Date: Tue, 25 Mar 2025 18:52:19 +0000
Message-Id: <20250325185219.315319-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

Manually break the false dependency for the benefit of cases such as
bitmap_weight() which is a reasonable hotpath.

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

Not sure if this warrants a fixes or not, but:

Fixes: 6978602334d9 ("x86/bitops: Use the POPCNT instruction when available")

Many examples online suggest a 2x improvement perf improvement on tight loops
by breaking this dependency.  cpumasks in particular make frequent use of this
loop.

Still TODO:

 1) Put a double CS prefix on the CALL instruction to avoid a trailing 2-byte
    NOP, but this depends on x86_decode_lite() in order to work.

 2) Revert a buggy GAS diagnostic:

    ./arch/x86/include/asm/bitops.h: Assembler messages:
    ./arch/x86/include/asm/bitops.h:493: Error: same type of prefix used twice
    ./arch/x86/include/asm/bitops.h:493: Error: same type of prefix used twice

    Multiple prefixes are not an error, and are sometimes the best choice
    available.

It turns out that LZCNT/TZCNT have the same input dependent bug, prior to
Skylake.  There are no instructions in the "cleaned up" part of bitops yet,
and I don't expect any to survive cleaning.
---
 xen/arch/x86/include/asm/bitops.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index bb9d75646023..87eac7782f10 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -488,10 +488,16 @@ static always_inline unsigned int arch_hweightl(unsigned long x)
      *
      * This limits the POPCNT instruction to using the same ABI as a function
      * call (input in %rdi, output in %eax) but that's fine.
+     *
+     * On Intel CPUs prior to Cannon Lake, the POPCNT instruction has a false
+     * input dependency on it's destination register (errata HSD146, SKL029
+     * amongst others), impacting loops such as bitmap_weight().  Insert an
+     * XOR to manually break the dependency.
      */
     alternative_io("call arch_generic_hweightl",
+                   "xor %k[res], %k[res]\n\t"
                    "popcnt %[val], %q[res]", X86_FEATURE_POPCNT,
-                   ASM_OUTPUT2([res] "=a" (r) ASM_CALL_CONSTRAINT),
+                   ASM_OUTPUT2([res] "=&a" (r) ASM_CALL_CONSTRAINT),
                    [val] "D" (x));
 
     return r;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Mar 25 21:12:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 21:12:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926955.1329766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txBZU-0005c0-ML; Tue, 25 Mar 2025 21:12:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926955.1329766; Tue, 25 Mar 2025 21:12: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 1txBZU-0005bs-Ig; Tue, 25 Mar 2025 21:12:28 +0000
Received: by outflank-mailman (input) for mailman id 926955;
 Tue, 25 Mar 2025 21:12: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=81Lx=WM=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1txBZT-0005bm-Hf
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 21:12:27 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8197d2c-09bd-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 22:12:24 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.18.1/8.17.1) with ESMTPS id 52PLBpj4040624
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 25 Mar 2025 17:11:57 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.18.1/8.15.2/Submit) id 52PLBpmb040623;
 Tue, 25 Mar 2025 14:11:51 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8197d2c-09bd-11f0-9ea3-5ba50f476ded
Date: Tue, 25 Mar 2025 14:11:51 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: jbeulich@suse.com, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
        Ray Huang <Ray.Huang@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
        xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
        Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH v3 1/5] xen/acpi: upload power and performance related
 data from a PVH dom0
Message-ID: <Z-McF__J_QVvwnxe@mattapan.m5p.com>
References: <20250306110824.1506699-1-Penny.Zheng@amd.com>
 <20250306110824.1506699-2-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250306110824.1506699-2-Penny.Zheng@amd.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=4.0.1
X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on mattapan.m5p.com

On Thu, Mar 06, 2025 at 07:08:20PM +0800, Penny Zheng wrote:
> From: Roger Pau Monne <roger.pau@citrix.com>
> 
> When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
> report the correct numbers of vCPUs that dom0 has, so the host MADT is
> not provided to dom0.  This creates issues when parsing the power and
> performance related data from ACPI dynamic tables, as the ACPI
> Processor UIDs found on the dynamic code are likely to not match the
> ones crafted by Xen in the dom0 MADT.
> 
> Xen would rely on Linux having filled at least the power and
> performance related data of the vCPUs on the system, and would clone
> that information in order to setup the remaining pCPUs on the system
> if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
> that none of dom0 CPUs will have the power and performance data
> filled, and hence the Xen ACPI Processor driver needs to fetch that
> information by itself.
> 
> In order to do so correctly, introduce a new helper to fetch the _CST
> data without taking into account the system capabilities from the
> CPUID output, as the capabilities reported to dom0 in CPUID might be
> different from the ones on the host.
> 
> Note that the newly introduced code will only fetch the _CST, _PSS,
> _PPC and _PCT from a single CPU, and clone that information for all the
> other Processors.  This won't work on an heterogeneous system with
> Processors having different power and performance related data between
> them.

I'm unsure whether the above description is inaccurate versus what I've
seen being a distinct issue.

This also effects PV domain 0 and isn't limited to AMD processors.  In
particular if domain 0 is PV, C-states will only be uploaded for
processors which domain 0 has a corresponding vCPU.

xen-acpi-processor uploads C/P-states in two passes.  The first pass
being for processors which domain 0 has a vCPU.  The second pass being
for all physical processors.  In a PV domain 0, xen-acpi-processor is
unable to upload C-states during the second pass.

Snippet from pass 1:

xen_acpi_processor: ACPI CPU0 - C-states uploaded.
xen_acpi_processor:      C1: ACPI HLT 1 uS
xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
xen_acpi_processor: ACPI CPU0 - P-states uploaded.
xen_acpi_processor:      *P0: 4500 MHz, 5625 mW, 0 uS
xen_acpi_processor:       P1: 3000 MHz, 2550 mW, 0 uS
xen_acpi_processor: ACPI CPU2 - C-states uploaded.
xen_acpi_processor:      C1: ACPI HLT 1 uS
xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
xen_acpi_processor: ACPI CPU2 - P-states uploaded.
xen_acpi_processor:      *P0: 4500 MHz, 5625 mW, 0 uS
xen_acpi_processor:       P1: 3000 MHz, 2550 mW, 0 uS

Intermediate:
xen_acpi_processor: ACPI CPU0 w/ PBLK:0x0
xen_acpi_processor: ACPI CPU0 w/ PST:coord_type = 254 domain = 0
xen_acpi_processor: ACPI CPU1 w/ PBLK:0x0
xen_acpi_processor: ACPI CPU1 w/ PST:coord_type = 254 domain = 0
xen_acpi_processor: ACPI CPU2 w/ PBLK:0x0
xen_acpi_processor: ACPI CPU2 w/ PST:coord_type = 254 domain = 1
xen_acpi_processor: ACPI CPU3 w/ PBLK:0x0
xen_acpi_processor: ACPI CPU3 w/ PST:coord_type = 254 domain = 1

Snippet from pass 2:
xen_acpi_processor: ACPI CPU1 - P-states uploaded.
xen_acpi_processor:      *P0: 4500 MHz, 5625 mW, 0 uS
xen_acpi_processor:       P1: 3000 MHz, 2550 mW, 0 uS
xen_acpi_processor: ACPI CPU3 - P-states uploaded.
xen_acpi_processor:      *P0: 4500 MHz, 5625 mW, 0 uS
xen_acpi_processor:       P1: 3000 MHz, 2550 mW, 0 uS

Come to think of it, I've been wondering about the mapping between Xen
CPU numbers and ACPI CPU numbers...


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Tue Mar 25 21:54:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 21:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926966.1329776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txCEJ-0005bS-OO; Tue, 25 Mar 2025 21:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926966.1329776; Tue, 25 Mar 2025 21:54: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 1txCEJ-0005bL-Kj; Tue, 25 Mar 2025 21:54:39 +0000
Received: by outflank-mailman (input) for mailman id 926966;
 Tue, 25 Mar 2025 21:54: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=cNE8=WM=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1txCEI-0005bF-Ct
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 21:54:38 +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 bdae3c73-09c3-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 22:54:36 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 7D91943C37;
 Tue, 25 Mar 2025 21:54:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AAAD7C4CEE4;
 Tue, 25 Mar 2025 21:54:34 +0000 (UTC)
Received: from [10.30.226.235] (localhost [IPv6:::1])
 by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id
 33EA2380DBFC; Tue, 25 Mar 2025 21:55:12 +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: bdae3c73-09c3-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1742939674;
	bh=/1HExJHoJNml3mTtvjVeKL/OsCGNQlY8O681pHdx6F4=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=taNddJe+Q8O8lJMOSl+m1+LVKRDvlwyJzfj+AAOaFrLBvzDbQFA1qhhz+myEUedS8
	 zsObomku4xGoTUKDRrEkMIf/LJvZDzpBzKABFL2LCxv3b37+mqRcRtw7Hy+ENcvdRr
	 ygP8Z1J4YO7qtrAJr15WTC/N2uozLTdMqD8biJf0zxgdo4NQ4piJDP3TsahNbuYBG9
	 Hhb3zD6GcB3L5KMbKPGowZU7uMrQtooZRQ6T88D3nPai9rjjYwWCazmVxjQdHV4x8R
	 y46sfQ2bcUwIdwHfhcfdMbF2GptYnBVsHln/FVYKc7wLdNn6Eurr6yHB44LKvikySp
	 tGZofpEmMZLEg==
Subject: Re: [GIT PULL] xen: branch for v6.15-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20250323102618.29516-1-jgross@suse.com>
References: <20250323102618.29516-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20250323102618.29516-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.15-rc1-tag
X-PR-Tracked-Commit-Id: c3164d2e0d181027da8fc94f8179d8607c3d440f
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: dce3ab4c57e662ae019c22e7c2f2aa887617beae
Message-Id: <174293971067.745772.18284213114381644251.pr-tracker-bot@kernel.org>
Date: Tue, 25 Mar 2025 21:55:10 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Sun, 23 Mar 2025 11:26:18 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.15-rc1-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/dce3ab4c57e662ae019c22e7c2f2aa887617beae

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Tue Mar 25 22:03:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Mar 2025 22:03:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.926974.1329785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txCMp-00088Z-Gb; Tue, 25 Mar 2025 22:03:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 926974.1329785; Tue, 25 Mar 2025 22:03: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 1txCMp-00088S-E9; Tue, 25 Mar 2025 22:03:27 +0000
Received: by outflank-mailman (input) for mailman id 926974;
 Tue, 25 Mar 2025 22:03: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=vmVN=WM=canb.auug.org.au=sfr@srs-se1.protection.inumbo.net>)
 id 1txCMm-00088M-Mc
 for xen-devel@lists.xenproject.org; Tue, 25 Mar 2025 22:03:26 +0000
Received: from mail.ozlabs.org (mail.ozlabs.org [2404:9400:2221:ea00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f28243cc-09c4-11f0-9ea3-5ba50f476ded;
 Tue, 25 Mar 2025 23:03:21 +0100 (CET)
Received: from authenticated.ozlabs.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)
 (Client did not present a certificate)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4ZMkSb34QMz4x3S;
 Wed, 26 Mar 2025 09:03:11 +1100 (AEDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f28243cc-09c4-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
	s=201702; t=1742940191;
	bh=38W8upVMOF87Aaqs8SXomZEIZnrWoUhgAIMPG3P4yZM=;
	h=Date:From:To:Cc:Subject:From;
	b=RggYCKbAoCiOHYSJV+bY2Hl3iw6i4MSLGTV5DvNF7h9DNq2h6S2sufhSUSaLXhAHQ
	 qbW3rHyi24rHHrvluWOkTYB0/fyqfqHQ4wUdK2ITeHrgOFEpp0KXD2nGtBZx2c2NPX
	 LZIfQGsXJiwNNV8tFxqw8XAiwASSJ8INdDfykTyDjopnA+kRF71oUSSL9y0dVWIgq3
	 aXvXH6YlQmpjJnfi+wgnYUt3pLWOYstY87gjrFEOSSXY/6fwfLPyLcfgFWyuaPQt5/
	 6pZ/+5l1EcM3BnMCnMKIf0S4/niaX/kjt7pX0PAuKsVLmXrPVlJpEajWOmGm34CSc8
	 8cuYn7MF1DpYw==
Date: Wed, 26 Mar 2025 09:03:10 +1100
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Juergen Gross <jgross@suse.com>, Konrad Rzeszutek Wilk
 <konrad.wilk@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Xen Devel
 <xen-devel@lists.xenproject.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux Next
 Mailing List <linux-next@vger.kernel.org>
Subject: linux-next: duplicate patches in the xen-tip tree
Message-ID: <20250326090310.4f162838@canb.auug.org.au>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/FIk6u8s3DQ3M9mmnBRSUw+D";
 protocol="application/pgp-signature"; micalg=pgp-sha256

--Sig_/FIk6u8s3DQ3M9mmnBRSUw+D
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi all,

The following commits are also in Linus Torvalds' tree as different
commits (but the same patches):

  d9f2164238d8 ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain fla=
g")
  cae5129fccb1 ("PCI: vmd: Disable MSI remapping bypass under Xen")

These are commits

  c3164d2e0d18 ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain fla=
g")
  6c4d5aadf5df ("PCI: vmd: Disable MSI remapping bypass under Xen")

in Linus' tree.

--=20
Cheers,
Stephen Rothwell

--Sig_/FIk6u8s3DQ3M9mmnBRSUw+D
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

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

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmfjKB4ACgkQAVBC80lX
0GwvEQf8Cax0RQJCNfhf8Gk3G999eeL2bfU+Cz1UURF+bFcV8xCQyVjrgqh5iksV
Mod2f+MVSKcsaJ4Ssj4hpuTbU7MJw9rBWuQymBKs7ImPMKFB5XXK/kOg1uhvQZsk
YSygHcbKRTp5aUzf0G7NP29JVQWV1MSL/IK6R85DYnp5ieu9bB/evcXsOs+r/MAh
YdgutM1IaZXBy7wb6StjxGQ+TNtbrEnUS+wUbkvFDt0QwGFOIXV32e95CwyKAXnc
ztgPHPurzAKR7jWqjjdxne9+IopPVwDCyaHE/w0CrV8vhuuAapyuqASNejMuJR5m
quRcnpAzoQOo7S2PECRraGvEdvI6Rw==
=k2y0
-----END PGP SIGNATURE-----

--Sig_/FIk6u8s3DQ3M9mmnBRSUw+D--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927005.1329816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJho-00004q-UK; Wed, 26 Mar 2025 05:53:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927005.1329816; Wed, 26 Mar 2025 05:53: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 1txJho-0008WP-Qv; Wed, 26 Mar 2025 05:53:36 +0000
Received: by outflank-mailman (input) for mailman id 927005;
 Wed, 26 Mar 2025 05:53: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJhn-0008HQ-N5
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:35 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2405::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a26f2ad7-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:26 +0100 (CET)
Received: from MW4P222CA0026.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::31)
 by SA3PR12MB9228.namprd12.prod.outlook.com (2603:10b6:806:39c::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 05:53:22 +0000
Received: from SJ5PEPF000001ED.namprd05.prod.outlook.com
 (2603:10b6:303:114:cafe::c3) by MW4P222CA0026.outlook.office365.com
 (2603:10b6:303:114::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:21 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:21 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:15 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a26f2ad7-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GXluVazyJvRAqtMIy0t5Lvl+xmLHjLRS23BfrGDXSFULqZ9wvY2f8TS5ul0E/P9MrWjNILP3Epswgk1qqTWYFg4gXwE82vLVNI/UiR2r+EajqfkrUlANazSCDEWAfWbix/f+5yMSFpqnio2V4E7HGUHikzqbKlaph8njr67vZW7dIdjMjuevkx7M15Pz4o+tYej/Po6COyjLpxj5xolHslacXqNWo3RNF6+fbRum5eujq9R9MooH1Fb35uNlJbuYC4RJYtn4KNdXuYN0VbmAXC36zljnq8YaiS3VL/Bw9UoabF72V5RmcCZ9lXO2HaAlJa3WbItT92uLs+E+YBF4iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UUJdVnXURuza91rse+oG1ukKv455/uqImpCRJcgHC8w=;
 b=ya3uZ9+cqdDa92HH5PRqD//uMpIxWS8nYVEtmzviPZRwQx93Rpe5IWJsms2S5P7vMucizI+G8a+NnLYZsy9j63mUFaXorfFm6rYNFr8Nwyya7r7BkbexSL203mLsoBaV12NfVRNo6Eqif+C1cg/9+vH4F7dus11QBcxH+fl9R1jufvTJUOwdJx6G6kY6k8u4V7+qTXm/Vlu9y4ICRXdmT1PW2j2zPdoOxptLqqL0aVRBc9qcu1iCmbsgyO7wSz+PxJZRVjpdOf3A/PUZmRo6o4Th0GwH96/5gDh1zEimRRe5PN7DtTJgscj8nb1bGLmeHEerM7Yva8BqdH3BWPWo8g==
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=UUJdVnXURuza91rse+oG1ukKv455/uqImpCRJcgHC8w=;
 b=OM4O8dwL2jZTviBn98cLEr9qHZbsV4oHI8aDyJam2htl5t5lQgPXa8Hlb4fZawHjmy+QB1CZdoCSlGPVyR+Vldwrcj6xHG1CTsXsWsLJtdRDHBF3YPtOer4ZeMlP/j/YioQ5+x6rsCPIqxK+ZH3u6+wvAwc1ERSFAIMp4WkAg/0=
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=SATLEXMB04.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>, 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>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>, Dario Faggioli
	<dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<gwd@xenproject.org>, Nathan Studer <nathan.studer@dornerworks.com>, "Stewart
 Hildebrand" <stewart@stew.dk>, 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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v2 00/19] xen: introduce CONFIG_SYSCTL
Date: Wed, 26 Mar 2025 13:50:34 +0800
Message-ID: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001ED:EE_|SA3PR12MB9228:EE_
X-MS-Office365-Filtering-Correlation-Id: 781e5090-af9c-4c40-e9b4-08dd6c2a83ca
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?pp44K15EBE3N82DFYKUtnFgYqKT5n6AkRU1tnFeDJp8O1d5mQZNWL1qdzLxt?=
 =?us-ascii?Q?Yrvx6aHdF1bLj2hxj333erQeUsbMUtbVsBnRkU2ViR7RagEiKvAddobEdNIA?=
 =?us-ascii?Q?hKOC+t4O19wbGfxCdVB36r34flj0w2R5fO4QrZU97oKjt9Ykek4r+a0vPMAH?=
 =?us-ascii?Q?UFuqVX/fbvmKqJ9SP62uc1XjVR7gJfTst0FidfbzSSrbHYbaOaNxNLLsk7JE?=
 =?us-ascii?Q?WH7PbYCTiPiDjUoTkeOts7OzFoAwqqtGExXPWI2/nPxp9bY23uPO3txdKKU0?=
 =?us-ascii?Q?oYIHrvJsctQfmJBM3u5D3CIoye6a0bywUX6cIki7xOoq9wLSS9GpZoGDIj69?=
 =?us-ascii?Q?rOJF/QGZIUE6VktCo7CGC90HA2ehsHj+W8bi/ocpj1CASzI5tAqI4l20yLxY?=
 =?us-ascii?Q?I6DUA6F3N72vy4lLBm35mGrPJ5g3ucqRcxp3fmop94GjsbVDo5ZB1WzrSqOy?=
 =?us-ascii?Q?hw7vns0X/nRPDoXukXBhFD2inPkym4K66vansk9soV56aB3UXLgKGRSPjLcH?=
 =?us-ascii?Q?2heYJJrzsdnkvHkSgu5GFY0kD0K5LeyemvZLiODTOqZ7EUztCkgQFr+ECv+y?=
 =?us-ascii?Q?yBgQPPhx5qxXFHkLArWpL700GlcXIGt+mxPc+WDndZ+w6wZgv80KdEJ5GsrH?=
 =?us-ascii?Q?tPgmYId5TbKnEzjoBs7t6s91pzZeTwCSVj+XpLwhNThApLJilrZ+HBG0uTyD?=
 =?us-ascii?Q?4Atz2NAlOoN4gehtz0arLEoSZTcBG/RwXyxlxYIAMjKyg2lJjta92fmcQal4?=
 =?us-ascii?Q?TcvfnyVruVTDCHIM9iDA7KzgFBgjoxaktPNYMI77jaod/3/KHjMxV1Vy0dCu?=
 =?us-ascii?Q?tDK0SHT3XFJO7t5d4RTKihHHz4cws070GMcfyT/P9cJvDp8/TmlI9IyDOFSS?=
 =?us-ascii?Q?1/42taP6uaKTVmJrVRAWrBhkt9GQQTFhGfM2OeCSs/HJdDy4p8G7zx7968Yk?=
 =?us-ascii?Q?GQyZuVITOxk7cv741Eu8YUwcMG0aBuArB4LPUjMFaya3VED+eoNXXhPl/qyg?=
 =?us-ascii?Q?T6mFipot1EJtMHwlZiBOPTvJ5nWmlpwiaqA9e/udWZPvmilUXLVTluJbL5Zb?=
 =?us-ascii?Q?ATLEhcnh3fVlhWOjaQkliiw+5iOwsDnnvHnT5GzqdHS+5EvePqW/GRcx7lf0?=
 =?us-ascii?Q?HDEO5nesuqkkbcg82aKlwuJevY2B/3q3NGKmzFmp+/SienbFWuE6hkI/6a7z?=
 =?us-ascii?Q?cUPgnlhQ8XrddPh2Q5W9JubR9Lv8JaMHUqZQX36hWooJb07MzVgMezyZysTn?=
 =?us-ascii?Q?vyZhbYLcRBKoGOykwMKPTeHMoHxYmvo6j/Ur/mcK0XCRgLG+8Y/ZjefxshKl?=
 =?us-ascii?Q?7MaA5XvcmNkRmzvsMhzcQ3TOylcpWEZDRwFILV/hYzFI9xigoUX9XEYN7KZe?=
 =?us-ascii?Q?y5lEbz7+Qc18K243uu5pERrd5O4VIh8Q9YgJO17bH7vJ+FrZTqc2DPQFUpmo?=
 =?us-ascii?Q?QQ3GX0q4alBY16TEeh4MimVQ7kaCpuCb/8Bmx3WZ6MM/gDu/hwb7WqVC/orj?=
 =?us-ascii?Q?QrIWqcxldOpaC4U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 05:53:21.0768
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 781e5090-af9c-4c40-e9b4-08dd6c2a83ca
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=[SATLEXMB04.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: SA3PR12MB9228

It can be beneficial for some dom0less systems to further reduce Xen footprint
and disable some hypercalls handling code, which may not to be used & required
in such systems. Each hypercall has a separate option to keep configuration
flexible.

Options to disable hypercalls:
- sysctl
- domctl
- hvm
- physdev
- platform

This patch serie is only focusing on introducing CONFIG_SYSCTL. Different
options will be covered in different patch serie.

Features, like LIVEPATCH, Overlay DTB, which fully rely on sysctl op, are also
being wrapped with proper CONFIG_SYSCTL, to reduce Xen footprint as much as
possible.

It is based on 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 (17):
  xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
  xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
  xen/sysctl: wrap around XEN_SYSCTL_readconsole
  xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
  xen/sysctl: wrap around XEN_SYSCTL_sched_id
  xen/sysctl: wrap around XEN_SYSCTL_perfc_op
  xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
  xen/pmstat: clean up pmstat.c
  xen/sysctl: introduce CONFIG_PM_STATS
  xen/sysctl: wrap around XEN_SYSCTL_page_offline_op
  xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
  xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
  xen: make avail_domheap_pages() static
  xen/sysctl: wrap around XEN_SYSCTL_physinfo
  xen/sysctl: make CONFIG_COVERAGE depend on CONFIG_SYSCTL
  xen/sysctl: make CONFIG_LIVEPATCH depend on CONFIG_SYSCTL
  xen/sysctl: wrap around arch-specific arch_do_sysctl

Stefano Stabellini (2):
  xen: introduce CONFIG_SYSCTL
  xen/sysctl: wrap around sysctl hypercall

 xen/Kconfig.debug                            |   2 +-
 xen/arch/arm/Kconfig                         |   1 +
 xen/arch/arm/Makefile                        |   2 +-
 xen/arch/riscv/stubs.c                       |   2 +
 xen/arch/x86/Kconfig                         |   6 +-
 xen/arch/x86/Makefile                        |   2 +-
 xen/arch/x86/acpi/cpu_idle.c                 |   2 +
 xen/arch/x86/acpi/cpufreq/hwp.c              |   6 +
 xen/arch/x86/acpi/cpufreq/powernow.c         |   4 +
 xen/arch/x86/hvm/Kconfig                     |   1 -
 xen/arch/x86/psr.c                           |  18 ++
 xen/common/Kconfig                           |  19 +-
 xen/common/Makefile                          |   2 +-
 xen/common/page_alloc.c                      |  55 +++--
 xen/common/perfc.c                           |   2 +
 xen/common/sched/arinc653.c                  |   6 +
 xen/common/sched/core.c                      |   4 +
 xen/common/sched/cpupool.c                   |   8 +
 xen/common/sched/credit.c                    |   4 +
 xen/common/sched/credit2.c                   |   4 +
 xen/common/sched/private.h                   |   4 +
 xen/common/spinlock.c                        |   2 +
 xen/common/sysctl.c                          |   4 +-
 xen/drivers/acpi/Makefile                    |   2 +-
 xen/drivers/acpi/pmstat.c                    | 199 ++++++++++++++++---
 xen/drivers/char/console.c                   |   2 +
 xen/drivers/cpufreq/cpufreq.c                |  31 +++
 xen/drivers/cpufreq/cpufreq_misc_governors.c |   2 +
 xen/drivers/cpufreq/cpufreq_ondemand.c       |   2 +
 xen/drivers/cpufreq/utility.c                | 162 ---------------
 xen/drivers/video/Kconfig                    |   4 +-
 xen/include/acpi/cpufreq/processor_perf.h    |  16 +-
 xen/include/hypercall-defs.c                 |   8 +-
 xen/include/xen/mm.h                         |   1 -
 xen/include/xsm/xsm.h                        |  18 ++
 xen/xsm/dummy.c                              |   6 +
 xen/xsm/flask/hooks.c                        |  14 ++
 37 files changed, 385 insertions(+), 242 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927007.1329836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJhr-0000a3-C1; Wed, 26 Mar 2025 05:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927007.1329836; Wed, 26 Mar 2025 05:53: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 1txJhr-0000Zt-8Y; Wed, 26 Mar 2025 05:53:39 +0000
Received: by outflank-mailman (input) for mailman id 927007;
 Wed, 26 Mar 2025 05:53: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJhp-00083W-JG
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:37 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20615.outbound.protection.outlook.com
 [2a01:111:f403:2414::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a861b6a4-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:53:37 +0100 (CET)
Received: from MW3PR05CA0026.namprd05.prod.outlook.com (2603:10b6:303:2b::31)
 by SA1PR12MB9472.namprd12.prod.outlook.com (2603:10b6:806:45b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:53:31 +0000
Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com
 (2603:10b6:303:2b:cafe::99) by MW3PR05CA0026.outlook.office365.com
 (2603:10b6:303:2b::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:31 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:28 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a861b6a4-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=zMKpHihNs+umcKLkk+pp+haS2rwepO+jUCgHBketiCKXy92hA1Wq6OaanpKz+rKKMLHBStYxyhW/ThXm6Oq2aE8TFiNuDE9ji4yM1NJsMQcKJwDZJwzkApno7kD/fOTnvaXa58x6HBHE9hqt5f9BcPULcxHtmmq3ulk3ldIYjez1nvwFnJpMk6wXxRNwWxXOZ1OI1na67eUJTwIStxx2ykjEjIV/EGs3fwyOWEEOlAo/zfwuXx+rgkPQWiq/YNIyXmLyy9pAuHtZNEeYlGccL5DAipNdR7hObRrjoo9uebdUgMF5I1L+3S+uotcIW8kE+gIhedEu5ZNGwMuBdnrj0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pOBJks5j7PnIe5vuLLY0nvyA4IHUS7BuHQpKqgii/A4=;
 b=ilar5xwiJrtLuGEENlV9+owINndSQlG164ewEqm85Uow6OmU6Sn141+RwUl/PdUsHmlYf7hgLGutoElqZ5Hm4haQKuA9WfGZCnLCHddafdqQ+0+xdIrpb66CYZ4ZTmcxtIIqEg4xJmquGdxJKkcaUopTw2HX9/Y+KfjrVO9laL3CEto7Rwghjdejk/xytlgh/f0qv33IqGLa2B4RPY2HsAPnGfaaOfLCASWNiINlPNrxeMg27KqO7JoZox0RukSzeiyvLbaIT6yVyIm73X+apvffIvKeaWmXgRM4B0kmobbEXuUpdW3rUccWiBVXnS+xixEdu4mg95bqC+MkQqaA3g==
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=pOBJks5j7PnIe5vuLLY0nvyA4IHUS7BuHQpKqgii/A4=;
 b=HxLlFj93fJYWznzGpEMzLFyjFfw1zL6iQiRxJHDuQfgboWmUETF26seSreOjOMyx33qmzyk6kPVLLEmfG+Km09v+PjM6D8xbYfpR1ET3SMrHJ2rcaIYSNYE3pf3gmBGOIwdx/CRNoevoiQfvILQJkFKGDA8nqQmpOomAnqlgtGI=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2 04/19] xen/sysctl: wrap around XEN_SYSCTL_readconsole
Date: Wed, 26 Mar 2025 13:50:38 +0800
Message-ID: <20250326055053.3313146-5-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|SA1PR12MB9472:EE_
X-MS-Office365-Filtering-Correlation-Id: e7afc185-5eaf-44ae-2efd-08dd6c2a89f2
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?EoGkyFBi7B2a0zHrVKaYOZ9VGE7dwlzc2lQC5xrLBuWerXi56aGb4FDa9b3n?=
 =?us-ascii?Q?AVZ/DVRU459oIK5/5wASGSS7zxgJuX1RyIPKDM2fo+X0iv7xumPDRxjQ2my2?=
 =?us-ascii?Q?GlR0wJ6JRdql6ZryyJp9cL/8ue2V+oyuXraDiU7Z3halW/J6R6pu7MH0qjvV?=
 =?us-ascii?Q?SBYYNCYZLp7hhrqHpC83inI/6I7+utVAR9fczdetzd0+CJ7EZ/aD/3l1fa6j?=
 =?us-ascii?Q?z527ZKaevRalD21zG/vBXGNbpCZM7t4plPOIOt3t8Gu0FAEuljWAkuSA7rNf?=
 =?us-ascii?Q?9GI0oxIn1LMsqthrcUfMEk2E/bfJqeNh2Z23w+PaRHkp0qcKqm0MgAtEbZr/?=
 =?us-ascii?Q?BU7zlrIjuNsTHqRNIK1QG0G7GbdFl1uXW9/pReK1KPOoeZH90wwvoVDAxbXb?=
 =?us-ascii?Q?ja/NG46+YBY0wfBqa4ZgpvKIt6Izi+sUxQxk/7EpvzNcqKQ9rImUqLcSxxUL?=
 =?us-ascii?Q?8mGEkq0FygzdsZS50MNaxnsBn9AN16lvxz4ZRaJgeYruXQbmmGXYk7nXYtSs?=
 =?us-ascii?Q?qLUS/2pEvc8GPR7QhuhyiaoLiBXtXNrV3SStQyg8lsXGz6eNb678lfuYQi4l?=
 =?us-ascii?Q?7NmHCc7vyYHsr20yDD+xMm+bW6pHpvYMK9Y7Z2iwDx1btllFlBhKzEFRVHn4?=
 =?us-ascii?Q?7azqOcbLjVbNRgY+dA2UgfZSlHdO4AWa6sZ/N+xZC0lxZZOvIWuF5KRuRGpc?=
 =?us-ascii?Q?CDzs47fJJVsv7a1O98iSnqurAE7KFksLQMwppS8Duv0sD0cdoLodFAYhgUMn?=
 =?us-ascii?Q?4ga8vTcxoQMKJD4BbKweIDZd09zyoyMQgOCRvqhQ/1NnaPuwKEyK1L8RNnen?=
 =?us-ascii?Q?akuUg6U7duO6Z+UKeLb9ZkB46OIu3zU6oyoXACS19kJPW8Utb1Pi0qzoFAPT?=
 =?us-ascii?Q?kRnuK4dZgbuZ5ryD05uHuP87atxRvkS7ImQoLPbl+NrLrijqme0h5+uqz2Ty?=
 =?us-ascii?Q?niWY3Z1/81xjYjdoikvHm/35WNsedN6jRsNrHEvjTnrEBJhNCv7nq+b+vNv4?=
 =?us-ascii?Q?AYPDJW1Cc7+Pbn6aGIKdH3SQE9vwx1DIidvjsEIbsVTkNLHlJM07PM5i5SmL?=
 =?us-ascii?Q?lvnshXFTy+7h4YYIsJSTgEiUSMaNKAwxXFs4kpjdrXlGUfBkl/NuDqGamR0s?=
 =?us-ascii?Q?0V56qtF9SdS2+S3RZB2BJHVWlGtGMSIp1bRr/Ln2dl91Koqv/oRLRd8lREBQ?=
 =?us-ascii?Q?W+h0vZdgLDiDQlpxFV2YglFZ3BWdz+Ft6yMtZRN5/RiJpH6PTj9uYqdSNdU9?=
 =?us-ascii?Q?8aBdtd2dH+DMFbd7zxt65eignjr9Jafv/W2YlsoeQWwawSYuItNNmhCqCk3h?=
 =?us-ascii?Q?z+NWf8UDtqHSHDNrInx/JotG//5fv8b6ZDwukPV0J1fB6Bg5xWXXhVCEwLtS?=
 =?us-ascii?Q?N0kzp4XpqBpZcz4LIyKME+EeII1xwwgBQ6xMYGOEuDKiJ7MhdYe+SIpzJ3sF?=
 =?us-ascii?Q?p0T+7YJpZetdm/Q3mDYI5A9Ym+n0g2ORDBNSM0arEDaYMJOdP+UwIrYWSQ33?=
 =?us-ascii?Q?8IpBRwlitzLo0Y4iO0KcIpykTakadJQAhRvP?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:31.4005
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e7afc185-5eaf-44ae-2efd-08dd6c2a89f2
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9472

The following functions is to deal with XEN_SYSCTL_readconsole sub-op, and
shall be wrapped:
- xsm_readconsole
- read_console_ring

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- remove redundant dummy handle
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/common/sysctl.c        | 2 ++
 xen/drivers/char/console.c | 2 ++
 xen/include/xsm/xsm.h      | 4 ++++
 xen/xsm/dummy.c            | 2 +-
 xen/xsm/flask/hooks.c      | 4 ++--
 5 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index c2d99ae12e..dfc87a2846 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -58,6 +58,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 
     switch ( op->cmd )
     {
+#ifdef CONFIG_SYSCTL
     case XEN_SYSCTL_readconsole:
         ret = xsm_readconsole(XSM_HOOK, op->u.readconsole.clear);
         if ( ret )
@@ -66,6 +67,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = read_console_ring(&op->u.readconsole);
         break;
 
+#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_tbuf_op:
         ret = tb_control(&op->u.tbuf_op);
         break;
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index c3150fbdb7..64f7e146a7 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -336,6 +336,7 @@ static void conring_puts(const char *str, size_t len)
         conringc = conringp - conring_size;
 }
 
+#ifdef CONFIG_SYSCTL
 long read_console_ring(struct xen_sysctl_readconsole *op)
 {
     XEN_GUEST_HANDLE_PARAM(char) str;
@@ -378,6 +379,7 @@ long read_console_ring(struct xen_sysctl_readconsole *op)
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 
 /*
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 22e2429f52..042a99449f 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -270,7 +270,11 @@ static inline int xsm_sysctl(xsm_default_t def, int cmd)
 
 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
 }
 
 static inline int xsm_evtchn_unbound(
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 93a0665ecc..cd0e844fcf 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -24,8 +24,8 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .domctl                        = xsm_domctl,
 #ifdef CONFIG_SYSCTL
     .sysctl                        = xsm_sysctl,
-#endif
     .readconsole                   = xsm_readconsole,
+#endif
 
     .evtchn_unbound                = xsm_evtchn_unbound,
     .evtchn_interdomain            = xsm_evtchn_interdomain,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index befe9336ee..df7e10775b 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -934,7 +934,6 @@ static int cf_check flask_sysctl(int cmd)
         return avc_unknown_permission("sysctl", cmd);
     }
 }
-#endif
 
 static int cf_check flask_readconsole(uint32_t clear)
 {
@@ -945,6 +944,7 @@ static int cf_check flask_readconsole(uint32_t clear)
 
     return domain_has_xen(current->domain, perms);
 }
+#endif /* CONFIG_SYSCTL */
 
 static inline uint32_t resource_to_perm(uint8_t access)
 {
@@ -1888,8 +1888,8 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .domctl = flask_domctl,
 #ifdef CONFIG_SYSCTL
     .sysctl = flask_sysctl,
-#endif
     .readconsole = flask_readconsole,
+#endif
 
     .evtchn_unbound = flask_evtchn_unbound,
     .evtchn_interdomain = flask_evtchn_interdomain,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927003.1329796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJhj-00083k-Ch; Wed, 26 Mar 2025 05:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927003.1329796; Wed, 26 Mar 2025 05:53: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 1txJhj-00083c-7g; Wed, 26 Mar 2025 05:53:31 +0000
Received: by outflank-mailman (input) for mailman id 927003;
 Wed, 26 Mar 2025 05:53: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJhi-00083W-8F
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:30 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20609.outbound.protection.outlook.com
 [2a01:111:f403:2417::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2d20c6e-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:53:27 +0100 (CET)
Received: from MW4PR03CA0319.namprd03.prod.outlook.com (2603:10b6:303:dd::24)
 by SA1PR12MB9003.namprd12.prod.outlook.com (2603:10b6:806:389::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 05:53:24 +0000
Received: from SJ5PEPF000001EE.namprd05.prod.outlook.com
 (2603:10b6:303:dd:cafe::9b) by MW4PR03CA0319.outlook.office365.com
 (2603:10b6:303:dd::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.24 via Frontend Transport; Wed,
 26 Mar 2025 05:53:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EE.mail.protection.outlook.com (10.167.242.202) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:23 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:20 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2d20c6e-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YlNlGhFxyHq+1TKPB/v9OE/kqYS+LdXBSgsGrafM0LfZLDsV+lFgb4i005zzg85PgeATD3Xst/KAD/fzy6oFvj5kWCCRz8lPNMky3wUap0Xe+qTpGt1c11VZuAfnejE3/OdRbVvZTyYEYII6oIyAKRanclEM7ucqsrTSsk4Es0eUAxqlIiyW2MAYIAvSJoWBDnHNohx6lWpCSSCzgiyyuf9Uslea6ThyhK7flKL0hnJxfi/O+QoJd9c+on04wrA4zNp8wbcfINlO2zISYW54TC5Pi7S1TEwjSyvPDJb4Hx01Lpr3Gz6MR+jKP1tASEHsamdhmYGWo4DZG8BFVBsVzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VEUNrZ24fL1X6hFJd6qKufpxkZa+ZPL+BfQnNJ7pegc=;
 b=DM379p/Gd/ofjGG0NnVWIUPI0vTxeTBwLUlee/AYobb9oz+bxdEPDfwsF5faJS4GAoVRj1y2vQYQF5f61VGmCLWw+dHycF5j1t1zkyKis/aFmeWeuwK0s0i/B+f/Mdy6wNZ8WMoi1Cgg5jg/nL5ir39wn1LKMuCbri1Ie/bYieIkkKnJXmh5lR/e88vKj3V9m1wqfHw8is82rbb0A7gih785Wv+GFYHmbIQbK5gPR5Q43UnmEpfswL/VhgC97KHALEVAktboGWxl4rIKTt8Rv1boGa6y7Fp2WQ92RlYAeqLbc7glCuHw0vkBcV0sYDE0k42XZMWZiInM2ki6tgV3+g==
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=VEUNrZ24fL1X6hFJd6qKufpxkZa+ZPL+BfQnNJ7pegc=;
 b=WNKpJWA2XQh/AK0v2NeTsHd/5vivnUCeRImVwHCbzaROFo0vu8jDAoQvXqeU3a7o2hz2lX48SpXZkQUzupMeDHbM0vYLJnq4edvs2MenfGr6ZnItRiPASaK/mI9UZQhiN8rSX385NKnVvyrPajx8bYEx5pgTCZARfXXzWjhVed0=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 01/19] xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
Date: Wed, 26 Mar 2025 13:50:35 +0800
Message-ID: <20250326055053.3313146-2-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EE:EE_|SA1PR12MB9003:EE_
X-MS-Office365-Filtering-Correlation-Id: ec9dbe34-ba53-4195-df8d-08dd6c2a856f
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?iqTELoYUCl12nII7u79c6OFqw5jK7hMRG4XrADzzQtC3oF/xvH+ztTvC++wX?=
 =?us-ascii?Q?ZchI1PS/LzIn+QcvifvDSg+ca0oqkYNXfBF2tCCrzRKWFBc6Pi3BWyuKD2XB?=
 =?us-ascii?Q?Y+yAdJX7f+OKdCVVceqyN/mOx2xQOkdJjIS3vfICKweq8ZIpjT2E+fybfhfp?=
 =?us-ascii?Q?RigB6UP1f8U+luQyY7zgI3zpc0mie7Wx5hyk8WUtVSKmofCxsztpWd1qRg6P?=
 =?us-ascii?Q?4TOGfUg0XnBvtTELB8OUW1RGM3zxFuALDzSvEjCzY7Lssn/oGLUPbtjqK5Go?=
 =?us-ascii?Q?/MBFXXE4nZSS852SeY391cFEjgqklPaBnLPQZzqhTkDA5BYAY1hMns1gWAiM?=
 =?us-ascii?Q?yLFt2gULnG0Zgx4W8wFxbgFfxkwGAbod9ZkEN5/scwd79aZ39bo5Pe7g8spC?=
 =?us-ascii?Q?3iN9+NsztHw3p9u3N5OJ0Rc26bk7k8CqMxNX98BzJSv4kSUbsgy2OvYWGZJj?=
 =?us-ascii?Q?bRuIcbvrwxw8qiIbsfuDxLliEBQD7aq2x9MFIs2cCMCWmHlnoUJuzImfCyGm?=
 =?us-ascii?Q?N8Lxmo5BOz5Zi5JuOpOC9HKIc74/DJoIbyg4ORFwb3xc7FGNAfglMexgBqtj?=
 =?us-ascii?Q?RHwecmlv1nsyn2RheqOeihjwkz2SI3kAq8x1pTiepwxbiUOy1lk4wAaQ2U2O?=
 =?us-ascii?Q?UeZ8RaB7PwEPVtKs29jZotK+nqr9EVFG3lDYwT164lMy2Xa1VjW1g/IFqjsU?=
 =?us-ascii?Q?d4ufa8ze19s4Wy5g03U9VXquSZTpjDVf1dcmSDfYqRYpKG9fjOiafVjdx9nf?=
 =?us-ascii?Q?CDcqpKFFpLaQqeQn+7MO+S38mILAeY433oy0H7dLKErwoxgeKt+YxfO1EZXE?=
 =?us-ascii?Q?78ZM62VxN1QUr72XaATEcJhA9O8I1vyHGIggauby82PO5t1QIVwXjpIqC7TL?=
 =?us-ascii?Q?PKzMTJx6zkfUTIEIixkNaJK0PWDfcy+GDsk187JL13LB1qOCOw8Zd1hx+PLQ?=
 =?us-ascii?Q?kFxvYItGDUMkLYWbT5ToqHZXIatpfyEFaOlayVb50AtEVS6sBxL9C/KFj8UY?=
 =?us-ascii?Q?AjPkkYnVeB3lU9zuM8C94I6WNnXx+dR7a/6NHxWq00uUTOGAfDA0qkTbdkkX?=
 =?us-ascii?Q?7ZuRgYdNXCDZKllSIzmCPTDlvWWrtV5WVgV7um8Ewnq1DanMB0/47lnbDL32?=
 =?us-ascii?Q?A4eBxls7LbMNOjE1+i+8XOw97peoHrE3m0bRLisa3eFgUaLBYGeYvfOb3Vv7?=
 =?us-ascii?Q?U7TsjBEiuv/JbXXNgJ9qCfGwV0SoTvsbWmmYSkreVG2kbvPyqbr6nJ5YdAZX?=
 =?us-ascii?Q?jUXoMBJX9sh7hf/CdYMYD9cdz8avrnjwWZLDuv60cRByiA0ShcfTdXFv9HT+?=
 =?us-ascii?Q?H6JlrrjdPVaUmgacRfXcqb44uQgoUXl0bR3u9IyJ5ub7TxO4Kk/M/C02/6os?=
 =?us-ascii?Q?ey3++/pRowy3zzVQyHVILxCGfgO1QO8P5CjUw5nSuvZf7hwlHdTO+WQogRE5?=
 =?us-ascii?Q?4m5BQa0CHi8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:23.8356
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ec9dbe34-ba53-4195-df8d-08dd6c2a856f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9003

We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the functionally
equivalent "if !...") in Kconfig file, since negative dependancy will badly
affect allyesconfig.
This commit is based on "x86: provide an inverted Kconfig control for
shim-exclusive mode"[1]

[1] https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/arch/x86/Kconfig      | 6 ++----
 xen/arch/x86/hvm/Kconfig  | 1 -
 xen/drivers/video/Kconfig | 4 ++--
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 18efdb2e31..1e5df84b25 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -137,7 +137,6 @@ config XEN_IBT
 
 config SHADOW_PAGING
 	bool "Shadow Paging"
-	default !PV_SHIM_EXCLUSIVE
 	depends on PV || HVM
 	help
 
@@ -169,7 +168,6 @@ config BIGMEM
 config TBOOT
 	bool "Xen tboot support (UNSUPPORTED)"
 	depends on INTEL && UNSUPPORTED
-	default !PV_SHIM_EXCLUSIVE
 	select CRYPTO
 	help
 	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
@@ -279,10 +277,11 @@ config PV_SHIM_EXCLUSIVE
 	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
 	  option is only intended for use when building a dedicated PV Shim
 	  firmware, and will not function correctly in other scenarios.
+	  Features, like tboot, shadow page, VGA, HVM, Hyper-V Guest, etc,
+	  are unavailable in shim-exclusive mode.
 
 	  If unsure, say N.
 
-if !PV_SHIM_EXCLUSIVE
 
 config HYPERV_GUEST
 	bool "Hyper-V Guest"
@@ -292,7 +291,6 @@ config HYPERV_GUEST
 
 	  If unsure, say N.
 
-endif
 
 config REQUIRE_NX
 	bool "Require NX (No eXecute) support"
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index 2def0f98e2..b903764bda 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -1,6 +1,5 @@
 menuconfig HVM
 	bool "HVM support"
-	depends on !PV_SHIM_EXCLUSIVE
 	default !PV_SHIM
 	select COMPAT
 	select IOREQ_SERVER
diff --git a/xen/drivers/video/Kconfig b/xen/drivers/video/Kconfig
index 245030beea..66ee1e7c9c 100644
--- a/xen/drivers/video/Kconfig
+++ b/xen/drivers/video/Kconfig
@@ -3,10 +3,10 @@ config VIDEO
 	bool
 
 config VGA
-	bool "VGA support" if !PV_SHIM_EXCLUSIVE
+	bool "VGA support"
 	select VIDEO
 	depends on X86
-	default y if !PV_SHIM_EXCLUSIVE
+	default y
 	help
 	  Enable VGA output for the Xen hypervisor.
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927006.1329826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJhq-0000L0-4j; Wed, 26 Mar 2025 05:53:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927006.1329826; Wed, 26 Mar 2025 05: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 1txJhq-0000Ki-1G; Wed, 26 Mar 2025 05:53:38 +0000
Received: by outflank-mailman (input) for mailman id 927006;
 Wed, 26 Mar 2025 05:53: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJho-0008HQ-SP
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:36 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20603.outbound.protection.outlook.com
 [2a01:111:f403:2418::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7270994-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:34 +0100 (CET)
Received: from MW3PR05CA0019.namprd05.prod.outlook.com (2603:10b6:303:2b::24)
 by SA0PR12MB4494.namprd12.prod.outlook.com (2603:10b6:806:94::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 05:53:29 +0000
Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com
 (2603:10b6:303:2b:cafe::d9) by MW3PR05CA0019.outlook.office365.com
 (2603:10b6:303:2b::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:29 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:28 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:26 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7270994-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=X6RJkjj80fe9vGlg5fR66z8snJlGldUSrp1oB2As54p1RjLUG2gP3IJQQZWyX0ZT6wvYmY+fxKccZ1CsGJlKjTcqgLt8FGg+XNjIF6rEBIoPgA1mvZW5T13cdPkR7XPDw5LkdJguSOVOVTfzzWTED95WiWxCxqjgZifYBQ9pjrU1o3Hs3KPr0PBmGj5MuH+7sfKNNvJcl/eYvEozFeafG+vvSAmfCxMHA8FWqbuVpBEATCflLhWwU0HoBe+wg2Ji0ouZDYiTUhTOiaCTZ1DljHv6Q99cx6EoHPtJ/mcTu9DDh1TwSEIKlfFnuQE3ZPCxVlE/kMIeJWE6drCMMpY32g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T4xNZXrhTcdkcGwpvYSHOTxYRp0+w+gxCGXPeSW9dQ4=;
 b=Wy+WVr7qpDRxRghEep/7C3Z6wEZikUfIgUmL36QDaLfb6Cl4eP3kMFVJTDQXKnclMURdw3CWAv30X7JjrpAsPYmS/u1pE1BMXW0b1xMx+b3ItDO9iCthPXeSVUiZ0tao5LGnE/E36ukWGYptOlwxDXjeZwF2oVRb9mIjztLC3Vz+UuQrJSGakqq+CXryHQR2RjwH81HtShXayHCXpMLoJF71gM74SbOzUIDlUoN8ViiubCZFZubgH5YpdZVUHI24rmNCv7Vo+Ovon2e9KrdMhKg8aY3k9ETeYR4SwopGr4AB8S5hi3FzwI6AgPtNp0I8MANGOyq8GNroJW0L9JiAvw==
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=T4xNZXrhTcdkcGwpvYSHOTxYRp0+w+gxCGXPeSW9dQ4=;
 b=lYG9ZSw/cvT/OMKIEQ5Om1eH70Epp4ekRpTyrv64Uc62xH9eeEfBLB+QkdVwzMrHWQ49Sx0DT1fhBL5OZUDuurk+WJMAYg5EFh6MHsDiUYQnOIi1P0FdZVjpbhN5KiPVsUfY0pBu3m2IUgT/rQHbnVw4RvNp6/sz+lpy7JNoyLc=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v2 03/19] xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
Date: Wed, 26 Mar 2025 13:50:37 +0800
Message-ID: <20250326055053.3313146-4-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|SA0PR12MB4494:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d222f16-09bb-4271-0542-08dd6c2a8864
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?djRObBKjJJnG/sK/4yp2eXMQmZVmYvNslMEte3tGEFL4svEIUp5R8AbsbzBo?=
 =?us-ascii?Q?OvWJLq2YaXGKHiH9T67OBhAPxCFtU/8ygmbHx7sLaoao6K+5gkNnUtSr3W9M?=
 =?us-ascii?Q?GWfyBFbTnHhXu6sjANwlEU+qI0MXGhj7Pu77lgq5/GPQDGTVux+wzbKCHLsw?=
 =?us-ascii?Q?//QmiCT2UjCwOH9cbNMzfzq1MvgId9fNv/vI9xufdhxm3FWYwZrX8jMe0d1W?=
 =?us-ascii?Q?BPc+wf/X8R4DlWZnyB4rQ2+hWXeZp13nSNefqBpTPSEZaVHk9uDEsI0oiKiR?=
 =?us-ascii?Q?K5+z/VS03Ool+YGuYFdbt/0dQXsDXusS4ma3mTtldzyEwZ/S/1pvDCKOUnNd?=
 =?us-ascii?Q?m6bTqzEkZLHagDc5Fs7dqQNBsVPiJEgyNf+1+W7/HcvJAnyReKqP593ZmQLz?=
 =?us-ascii?Q?99hhkn7H5osVbPq3mtp3FCm7Utg2WWab3QGNw4m4QpYFGvlgn1ao1DFLszFY?=
 =?us-ascii?Q?h8zO89BFJCwEyFdUpvvSE6Unq7bGQUjkFGT4MaoOxBY0X3QyMxiIdXdUm+nv?=
 =?us-ascii?Q?XCot7HmS/gkMR2sBCq8drBklp3AXJ7ToE1B6v8PViEMz63DEIXQlhy4lsK9j?=
 =?us-ascii?Q?BvtFmkHpF95LZDmQlwzgm5B1/MQRTVA+72UL2RNxOYBeDVeS+59QspsmFLid?=
 =?us-ascii?Q?MCW9xfzk1f6oEUqRf3mgq4euJAVd9XDavKTXZjvaTTUXWSv2QjcBDa5Q7NND?=
 =?us-ascii?Q?yQOswex0T4GoTWa4fAE68xiY8qV8cEhd26WFggY7F03WL92+0z+oLT9PAdR3?=
 =?us-ascii?Q?6osrh+RFJbWVbTddy3x+mTvY9k7oWev5YuOu39sdpK7CU3kg5Wni8lOfVH/Q?=
 =?us-ascii?Q?htEYey8pP8iEzQ/qyShmuBCyz8lMmSmmN263amtr6/Y5JdX3oSP/qE9NqC+C?=
 =?us-ascii?Q?9Bzi+2bn71uWVkZ4dBYT7L3SXLOj6yO44bFht9W0xAdzxyY5Dbb/cZRSrHPw?=
 =?us-ascii?Q?hrATUqiP4CynBBqUd2rHY/R8y71/erW7WtwQC6GzXbFimB0/pmHStQw8rA8I?=
 =?us-ascii?Q?/i6GLXstIHyhbJXszouDGb2oW0/KPjKl9pfUXr4pGwNmt7IGJzAeSdn5ce5C?=
 =?us-ascii?Q?2gmEr4AV93JMTaqBWl5c8GP03YVYy+4QbCc8mrfNkkV621zrQYMksZh62Afy?=
 =?us-ascii?Q?1+F9+6SkQu8Kluz3ktf8slJnO6d7CbZZqqi30wJ11AxBxMabWL+Ij9PSy5DL?=
 =?us-ascii?Q?2CyxTp8cjvsSV0eTrzFEY76pm/nCDeu6S7zxdeHF2fAnrGTSNk275Lw7Q3QB?=
 =?us-ascii?Q?IfToc6sA+PkRU/6H1F7gjl5+qZp1N/UwBNdouO6l57fPxMNKXkivDYSVnDKT?=
 =?us-ascii?Q?fXeZqNciCmeRQ4vICcogM/l/Lez9Y7pwadSwanFbFqaevButPWcYBPciHIMa?=
 =?us-ascii?Q?JS+2Rpx0sdaJ9XdddZQ2vwuASfC07RyegMK/y65h8GpXHAmpyMNFmnf4G+6e?=
 =?us-ascii?Q?k3JV3SGjGhYJSbiT7MPYU3qKRQaxYggPpL6/uiU53SM3cAD+uLACmrd7VvuA?=
 =?us-ascii?Q?hUpUvaT+xZH6zSU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:28.7911
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d222f16-09bb-4271-0542-08dd6c2a8864
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4494

As function xsm_sysctl() is solely invoked in sysctl.c, we need to
wrap around it with CONFIG_SYSCTL

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2
- remove unnecessary redundancy in dummy handler
- re-place #ifdef into function body
---
 xen/include/xsm/xsm.h | 4 ++++
 xen/xsm/dummy.c       | 2 ++
 xen/xsm/flask/hooks.c | 4 ++++
 3 files changed, 10 insertions(+)

diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 24acc16125..22e2429f52 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -261,7 +261,11 @@ static inline int xsm_domctl(xsm_default_t def, struct domain *d,
 
 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)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 93fbfc43cc..93a0665ecc 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -22,7 +22,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
     .set_target                    = xsm_set_target,
     .domctl                        = xsm_domctl,
+#ifdef CONFIG_SYSCTL
     .sysctl                        = xsm_sysctl,
+#endif
     .readconsole                   = xsm_readconsole,
 
     .evtchn_unbound                = xsm_evtchn_unbound,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 6a53487ea4..befe9336ee 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -856,6 +856,7 @@ static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
     }
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check flask_sysctl(int cmd)
 {
     switch ( cmd )
@@ -933,6 +934,7 @@ static int cf_check flask_sysctl(int cmd)
         return avc_unknown_permission("sysctl", cmd);
     }
 }
+#endif
 
 static int cf_check flask_readconsole(uint32_t clear)
 {
@@ -1884,7 +1886,9 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
     .set_target = flask_set_target,
     .domctl = flask_domctl,
+#ifdef CONFIG_SYSCTL
     .sysctl = flask_sysctl,
+#endif
     .readconsole = flask_readconsole,
 
     .evtchn_unbound = flask_evtchn_unbound,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927004.1329805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJhn-0008Hn-I9; Wed, 26 Mar 2025 05:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927004.1329805; Wed, 26 Mar 2025 05: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 1txJhn-0008Hg-Ey; Wed, 26 Mar 2025 05:53:35 +0000
Received: by outflank-mailman (input) for mailman id 927004;
 Wed, 26 Mar 2025 05: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJhm-00083W-FR
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:34 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f403:2417::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a66a2e85-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:53:33 +0100 (CET)
Received: from MW3PR05CA0023.namprd05.prod.outlook.com (2603:10b6:303:2b::28)
 by LV8PR12MB9405.namprd12.prod.outlook.com (2603:10b6:408:1fa::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:53:28 +0000
Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com
 (2603:10b6:303:2b:cafe::2c) by MW3PR05CA0023.outlook.office365.com
 (2603:10b6:303:2b::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.43 via Frontend Transport; Wed,
 26 Mar 2025 05:53:27 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:26 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a66a2e85-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Mq93IW0Js2GP/v6SUI8wPS2HIB8M7cztcXCzEV8IK5FpPcwLz6xkkXn7XAiimjyGTCMNIrkIiICTLv2WtOa2vt26JUF+OAegYKda74w4MHNQ6n89OXwqY0NCDj3PuAxbaG/Z0kX1ul22UTJnVlS4Vqs8QhgxqouqG1Fn6CYnD3E2NlmZyk3KK7aJDq99HjPEZEJgZiKdyjRff3psIWwZ1Ae2PJmJiA3b1n323O9oi7cNquQ9lFTUxrolg5LngXTjRKNUc8i0qXzWvc1u3jysvXmySwIR3yiH5+fg4dL7d7q61Gxz47PaFJ9IFL6AlN6ELl95pw6MPPwhBFJLa9qMDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mLLDFRNRP5cAISFRe2RAx0VsIhORNHj/mf9/RMCIKEw=;
 b=MjCIWurIxQpqeVYRiMEYoCm9VA8jx76dth4BpXSgSVsGzykeUjXpVCvsXjLN9iJ6TwweRgfPyMQ2iUo3ytF1DdxvNVbGiVuYOz9q/F+HeGSy4Ak4IUZMmL16wNO2msJEFoHZ0oLMzEJ8HJGcV7z3A8y6qd16Wm0oGw7xKaY3Y507FHG8q9mK3TiccyAPw+1wwzJanEpgmRy4YxyRdm/ZvFqPsxmObntn9iUddBd7pSigvnOACD+P8611pDKSAbM6Y0LUWtTQQZ+7ckzAXFtyOXt2twK/veoT7eLd8kWUgNNm4VN19o9PXmi3mjg6vSU+CF5CXXM3z2ghHdzDX79yhg==
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=mLLDFRNRP5cAISFRe2RAx0VsIhORNHj/mf9/RMCIKEw=;
 b=E3eIacsa9PntR0O/dNDmC7+cit5xt+a/zEgiLFOfY82wMBtFz4i5VyRiAd6qvV79l7YigIoccdCE0fNEz43jUdJaJA90AmNWIjPzRJaGy42IRJrsgFX9eVZmZvU/9wNCpNCGFq3smC4aHjVatqjEM1DCXoIWjQnyVnb5MFjni+o=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Stefano Stabellini <stefano.stabellini@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>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Penny Zheng <Penny.Zheng@amd.com>
Subject: [PATCH v2 02/19] xen: introduce CONFIG_SYSCTL
Date: Wed, 26 Mar 2025 13:50:36 +0800
Message-ID: <20250326055053.3313146-3-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|LV8PR12MB9405:EE_
X-MS-Office365-Filtering-Correlation-Id: 432979c0-2d08-4c4d-1123-08dd6c2a874d
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?bCsVJLPOePDl6sN/K7WOfYbW1j1lWISNnBSoA4TjtIjPveiYyXwMuHKwJlf8?=
 =?us-ascii?Q?jdc9uWfg6jAMu1bCbVWNreKQv3sDeV74rX+EBrXvRPMl/pwiDOF2zjQ4Rv/s?=
 =?us-ascii?Q?UhI0bVuYNCNZopj2SVeA7UxP0cBJusBHyjE80xcf+BM31FT7hGqGODZWYEQU?=
 =?us-ascii?Q?pNLJADX2+NtE/8FMu1uQTXRbnd0sXGKmEXQz0CgsUbFcqV5/er1dEm2PNMn6?=
 =?us-ascii?Q?fsZMGFkgbWTy2DhrFYxinmm7fKwKST3MtCIJ4R1Mn6wtqeDFJMQgDgT3Bq4D?=
 =?us-ascii?Q?4N4zNtN6qtqtytYp5tvYTKm/vTQwR1qyMA7d7w2cDBuym6239+YyKf/w/O2Y?=
 =?us-ascii?Q?PBC7hGfu460EXUTuL1azu/HTAHZuVLm3FgjRsp05oy83RlcYcDnEk3+/CDXV?=
 =?us-ascii?Q?p0P926nx+8NsgHsffNxwW6ocGP8TP3iLlMlDboRpNVZBL14+4I0w5LGmGIre?=
 =?us-ascii?Q?Ypw05uMFPoQaKiQsu8Pug6K7rrR23/L36Ef2G40g88ghG0dtmueEv7MiO4sl?=
 =?us-ascii?Q?r/SQeEe/tTBa1kPCw0uABlXT+s20xP8kdjyCfoNRdUg7GqwcEAJjPkj80vSA?=
 =?us-ascii?Q?MznE2PeD4qq4VPzXdu2aKpEV/6/2M63PGVTohEuWTXuEHw60U/opN4Htf0fR?=
 =?us-ascii?Q?e3BQh2aAU9G+HkIknQFNlvS/OD2Tm6HziX2UIVDKn/D/0q4Yblzp11Gg5JzW?=
 =?us-ascii?Q?QQgDbiZnH/z9UwqYOyrImMFv6p8sfgdEdyrfFrenGxaUYtoSnvsnL1ysxNwc?=
 =?us-ascii?Q?AqZdNkrTUCL1BsGnqn11wQ8Y12hYLbhAbgSvyEbbKO7FQFwN9Iouu6D8WjD+?=
 =?us-ascii?Q?5D4k2B/ZOHB8yWC67zl5ua6BQX2Ib0xPKxd/q032a0bwqGPpcDvXLuN9HdsK?=
 =?us-ascii?Q?Lsl+dw6zCe2LbE4eKfVEjLb0AY42/A2WEMxZD0+xLJRYbDvzmyzQUjepyUZ4?=
 =?us-ascii?Q?wQioE+857hbyDXos02e/BYkuzNKWDK6zZJgQ7myv0znoUds1y+lquJ3yEdU9?=
 =?us-ascii?Q?jSBYtkHAc3QwQmlr4SxbOZkW6by6yWRqqVvQURkYz/4NgJMjxsRMCfZsGrTs?=
 =?us-ascii?Q?BiGF5a55M0u1ui+H8ErlQEXjGr/aVknJxEO4fi0ME1KOjBIPpgFnmcYUN4FE?=
 =?us-ascii?Q?LvkukW+ZF/LQ54WRimYk/AEJIwuDCv2aj6rUtiN7YFZBrl5awYY9OiG+ieWO?=
 =?us-ascii?Q?YmGjqXusrFmS2MEGCOv/ywN8AYAXOuzZt7YANrL+g2tTHjwETa1oqhQeHMV4?=
 =?us-ascii?Q?3MfY4pRWVPUBwCb9i2WebRgZyzE2YGPuU/M+TEw7EywWnTSoRta3u2uSy3kA?=
 =?us-ascii?Q?Z21/noUGR67aN1vmXbbW6jNyXqN9v8gySCtuDSFTf0SKqb4OA6Yy6dQsurcq?=
 =?us-ascii?Q?R0OQEvUZfUzC+dvBCaTgHkd5NsCYBxa9agP7iTUuQ8osiTvj/3Z2tcK8nyBm?=
 =?us-ascii?Q?3C2MeFGjheMpMyLNTo0/TXEAUySzsXN1MZTeVmBtci4gnQFofGTOICNRgJP9?=
 =?us-ascii?Q?L6+10Q/xeyDx7NrEmcopAqeR/o0pkODhd14V?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:26.9629
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 432979c0-2d08-4c4d-1123-08dd6c2a874d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9405

From: Stefano Stabellini <stefano.stabellini@amd.com>

We intend to introduces a new Kconfig CONFIG_SYSCTL, which shall only
be disabled on some dom0less systems, to reduce Xen footprint.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- complement missing commit message
- re-placing the kconfig at the file end
- complement a "help" statement
---
 xen/common/Kconfig | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index a6aa2c5c14..fe9303c7c1 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -545,4 +545,15 @@ config BUDDY_ALLOCATOR_SIZE
 	  Amount of memory reserved for the buddy allocator to serve Xen heap,
 	  working alongside the colored one.
 
+menu "Supported hypercall interfaces"
+	visible if EXPERT
+
+config SYSCTL
+	bool "Enable sysctl hypercall"
+	default y
+	help
+	  This option shall only be disabled on some dom0less systems,
+	  to reduce Xen footprint.
+endmenu
+
 endmenu
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927010.1329845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJhu-0000u3-Q5; Wed, 26 Mar 2025 05:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927010.1329845; Wed, 26 Mar 2025 05:53: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 1txJhu-0000tk-Mi; Wed, 26 Mar 2025 05:53:42 +0000
Received: by outflank-mailman (input) for mailman id 927010;
 Wed, 26 Mar 2025 05:53: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJht-0008HQ-NQ
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:41 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060b.outbound.protection.outlook.com
 [2a01:111:f403:2417::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9ef60bf-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:39 +0100 (CET)
Received: from MW3PR05CA0015.namprd05.prod.outlook.com (2603:10b6:303:2b::20)
 by MN2PR12MB4486.namprd12.prod.outlook.com (2603:10b6:208:263::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:53:35 +0000
Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com
 (2603:10b6:303:2b:cafe::24) by MW3PR05CA0015.outlook.office365.com
 (2603:10b6:303:2b::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:34 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:31 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9ef60bf-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=twYYG8E2QYKASZ6aSpshO09EWXsZynw5IM0eezNil9sTzKhOdfguNyDsXwMoxoRe0DHyDsFtiG+oN7kznuAtABzvpv7Da6y6ZD0EZ5CRtqPmW2oeScE3d0lHb+kmvX+9QXkIhnMcIapMJst5g1S2dZ4pefLggG5MuKI1hnJ3fG9xKA9fybCPajb/m/0/Udxv/o7l6XO9tYpzbvgMzTKD+8bOHQW4xXXQBRkTwwRzXZeT2IG0CAorQ4T68iQ47Dpd2nfymtdSe+CNx/joaF6n2JdoEvy0gnwMsPVFNblQ/Is8ZCEPQQb7Fq0lVBX/QODVQrz9z6KE6iY14kDb1wvOxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TlzaRevyyzgJnBGygvCpqfER1aWr/DT0ER3WY6jD2QA=;
 b=iKLJa4SmtqhTUyt3UwOO2Jzq1z6EozTy1lKXlpZypZ41ohQi4JsF6irTWRA6nravfRR4GTc/BhLFxU+CPrC5xcXAGO9iIHwCTPxLCZEIOsShaDLMqozFYLknpx5M8bVpUBe3Dl+bLb9DoUOicbAH46UQYXZ5UCVVAJ5JqDXX1nt2YDd6yJBvB8+PkeRlsSLr7ODGU8zlPo7/cc+7Vj0nDKdeLHRoUOd7eO/XByzrTWQFMF/n/APnwEV3eYTUpvSrtiyzBYG4zBDDxwIHkR7lgC5imorNZszPNbrahr+3Eo0/wScO6LYEpPLz2hdb+M0b1p/QU5wp0FJJDEZFuH5NMA==
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=TlzaRevyyzgJnBGygvCpqfER1aWr/DT0ER3WY6jD2QA=;
 b=AdH+8Y3yXZzDWb+t1t5d97T0vyDnT4LVDRxZ7z4rPe0qhtjJFWqLR1MZs5fvMafV3Cw0i9BQdvbnHJmFd8P6SN/YzsXo+gbCFOJz0IDd/4MFw0EHn6NfeoK6KmMLr9cdokoaFuPBwm+Oy7Oqn+XueVt6ZMnFkRS1Lo51vuo+7IE=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 05/19] xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
Date: Wed, 26 Mar 2025 13:50:39 +0800
Message-ID: <20250326055053.3313146-6-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|MN2PR12MB4486:EE_
X-MS-Office365-Filtering-Correlation-Id: fe735fc4-de50-4bd1-b5f8-08dd6c2a8bfe
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?xX4PAALO+yqzNyPiDMJiFUaQEU1ydQG6ja9tvRVbQEXqC8L23MchhR7rN/Be?=
 =?us-ascii?Q?8ybIJp6Ar0hPu6xjipORiYNv9PbsrcD6VM4B7ShF7/KkGGuQfSquSJNG+vLM?=
 =?us-ascii?Q?dYRJarIC/2I9e9ACrWb3ZpepW6Uu4Uk40/7ViTrnfftcg/QW0zqmJftSWY9M?=
 =?us-ascii?Q?ODrec9KCYFGasruI7m3GZZjyo8mBNdo3LaI/v+TWnUqz/ipHdom1UFBZcziB?=
 =?us-ascii?Q?wW6wu/nxvAqy0w3GOjtoXbKgIhnU5tR3WlxXKJo4izlOdYuTGon+aM2pdP5G?=
 =?us-ascii?Q?ZpF01i9+8zCxyfUT4PHxIthjCtwjk5RlD8m7pd6MlMVokm7Z+NB+1TUB1LNk?=
 =?us-ascii?Q?Oyt3q0bzuO7u9z+5yQiIyGThwrE5/A46TMGpr6MiT2vODxSJz2jBQzPnmvJU?=
 =?us-ascii?Q?xc7BqRhioWIJONCTdn2pSa0zPlZojvrktiiMyz2xID9Spskrzm2xUeuKSwdd?=
 =?us-ascii?Q?FzALwS0WTP0OyPnU3M0sd0ekmYyjXMpj1YJhXhYKM1bkFvschLms2+lOvgPb?=
 =?us-ascii?Q?7BtXBn1RgbveSZemqyW8CB3+cyTjUGDzXXBiZ0dd9fLHpWOQbE7Xh2kYoF5l?=
 =?us-ascii?Q?pGyr+Uv91+E4Usdg9tAfSfldKrgicGB3z9RdHfOhV+bAu4e6QweCn4lJobo9?=
 =?us-ascii?Q?dKUGENOuy8Qo/3P8mx9HQVERRooB+zyZzo7QFwHo9u7nrR1YuWqxxS+rg2Gr?=
 =?us-ascii?Q?enWWhdOST0Hb/yjP3AdLjwlN+im34Y7Ck5Xkffka6qhzXiJsgBx5MTv/thAl?=
 =?us-ascii?Q?AnkV7EJcpb/WaMJdHcGCT3tX5VPCCWOTWm7CKCmn6YtmhJF19GfnjfNoxSuZ?=
 =?us-ascii?Q?ew8kGa80Y1IL6LiDNHfQZRkiKLpjmj3akOZTj8ytoz7qP34IbrmUEA0D5mAo?=
 =?us-ascii?Q?K16Ai6J/sEoGTDiblLOI41C3Rjd1bvYetVma8eX08RyzIsaxMOKwOaS1DkUt?=
 =?us-ascii?Q?Jc+kiQYq27WJtSPf4ou7h+WzSZbZ299w0UqwTtBTKCcB7eDIudwu/zLBucL5?=
 =?us-ascii?Q?yTYxqdVnVCb+rKPAemfk3vbAA4b77xAHH3osN5WjNk+YwsPLjprwGp5CJlJo?=
 =?us-ascii?Q?dWFcEYCuNdDmiw8cC/bSPhg/7tVCS+93Hps/mC59SznQR49x/TK7kJ0Ibv6p?=
 =?us-ascii?Q?gQYtcJAbCCycJva/qh5MWy/uJ78jK8Ah9hVkJY+XEG6qgNe/WX0WtzG7x1/r?=
 =?us-ascii?Q?8IKW/1jchCMcl+jKXL61HRFpwS3qneVSk4u0WoZAsWd90sqFEv94ru1ts63z?=
 =?us-ascii?Q?t3v3R+SJkFsKRH/RuiZg1sSbYQfC1ENsV0KBIBc/UAn7yW/ccv7aj65WeY3k?=
 =?us-ascii?Q?3J5H8CLmGXGjWc9l0F45EOxkaULgIsd9FaZ1hMKOQfPVpdUTvUn5jdlhK8Ll?=
 =?us-ascii?Q?/qn6oF6hdrOwE7NR2B/raLVVEHEJ97o67LPrh4ly07CJg9EsPcKLOVPuw2Er?=
 =?us-ascii?Q?G7aYaYZmpcPFeIpoaVv/SPACUT59+klpxmEdPugdRJB6SjPr635RcktTTQ0z?=
 =?us-ascii?Q?5IGQu1VaHWX9yQY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:34.8380
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fe735fc4-de50-4bd1-b5f8-08dd6c2a8bfe
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4486

Users could only access trace buffers via hypercal XEN_SYSCTL_tbuf_op,
so this commit makes CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/common/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index fe9303c7c1..5b55ca6eaa 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -513,6 +513,7 @@ config DTB_FILE
 config TRACEBUFFER
 	bool "Enable tracing infrastructure" if EXPERT
 	default y
+	depends on SYSCTL
 	help
 	  Enable tracing infrastructure and pre-defined tracepoints within Xen.
 	  This will allow live information about Xen's execution and performance
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927012.1329856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJhx-0001Cb-6K; Wed, 26 Mar 2025 05:53:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927012.1329856; Wed, 26 Mar 2025 05: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 1txJhw-0001CJ-Vf; Wed, 26 Mar 2025 05:53:44 +0000
Received: by outflank-mailman (input) for mailman id 927012;
 Wed, 26 Mar 2025 05:53: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJhv-0008HQ-Sc
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:43 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2417::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac0ff53c-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:42 +0100 (CET)
Received: from SJ0PR05CA0182.namprd05.prod.outlook.com (2603:10b6:a03:330::7)
 by PH8PR12MB7231.namprd12.prod.outlook.com (2603:10b6:510:225::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 05:53:38 +0000
Received: from SJ5PEPF000001EA.namprd05.prod.outlook.com
 (2603:10b6:a03:330:cafe::13) 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.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EA.mail.protection.outlook.com (10.167.242.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:37 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:33 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac0ff53c-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AgP3jQfmGdZm3e1SMjdtX3qt/GooDXYTpzRwACFE2opwbTlqHumG4ZZ6qKmitiAtEeViwdRzkUrqVCWbaer/IK+whQX/u7aap5sUNmdWOMzWFBOV1ZgeJaXclgyCiYj6qct4fnmjmvT8UPOoFFHqfE4jyleIcicKFabblPwMlKJIzkWNnG3gLsnNrIc5rS1SlqzgWARSmbgF7JFLvXD3cYJI3VKCgnou+RoDhhLbPNw0I1fWqpWhhX3bpPZTh3ufGR7RApWPLb5JiBR5jKJ1lsjfQGT8CC8PmajTCRgLxYkF3KuwviRs8A+NvGtsEzocdVw+HpSprt0pay5HO5F3xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fahbkFRvYWnR+Kb+Lv/kbd/si9rp9S/2unBDtYoWV0A=;
 b=xB7BYrUPbQ5P9StqAK37G7QITlh+6wilB1F96rIWjSQdoTco90YT7w8HxMY6ar90WVFDhoX8HG0V5Q2corORzfJ+YtEcvOQvfcaX7kB7cBwlGCJ/q7L15yC+BSIsgx6utZsO71J5D6tykOC+N98jz96Zr2zbg8YCeQQZOk8nyXe7r1x5zIouiTljkJTeTCMujGRFbajiZzBo+2f1DoLt9Tu8gOV3pl5O7x6bsji2ul4b36yNaMAdnHBxFl851CCjerBsF7y7tO2l67HTHsfKgFrAlbMiEBxIl6kVBljhf/QRFhEEcGy2o6ky3vBGOXRiGWEiMfz/3U/tfuGEW3QRYg==
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=fahbkFRvYWnR+Kb+Lv/kbd/si9rp9S/2unBDtYoWV0A=;
 b=1NYXS5pk1htU7lbD8AdItE7oIOFI/QlCteGP5IgMEcgxILxTWfpWXtILi9KLaP3b28g6UxR3hPRiX/RyLvNsSwdPup8lVqMOxILbjFdSwqe6XT2u1N8JSK7u7PZQ4oIS324ZJzcOZk1IHYBBm2NaY4rEU75lcoPbWe6+B78erzQ=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, Dario Faggioli
	<dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<gwd@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v2 06/19] xen/sysctl: wrap around XEN_SYSCTL_sched_id
Date: Wed, 26 Mar 2025 13:50:40 +0800
Message-ID: <20250326055053.3313146-7-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EA:EE_|PH8PR12MB7231:EE_
X-MS-Office365-Filtering-Correlation-Id: 0698e460-d0c8-4e53-a1f2-08dd6c2a8dac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|7416014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?W+r8FRfO73ZSThMeRSZnMQ29VbsTKmdt/kJzRhZRUnrBdJNU+9xhGmNd3Y23?=
 =?us-ascii?Q?REk6w6VzalQK0BiHv9R42zIYpOKRcVhrwPo/UicAoIPX7ny8CWI70wxoTaZa?=
 =?us-ascii?Q?NrnVBXmPWfoVVgid5nkvitKzZR3K04jvJaUOXUpuWZ1Z7I6ElM9bthUBCnoh?=
 =?us-ascii?Q?2xtZgwjwd661eFJEmKkiacgq32DXx+zKh+AjqMGlHijHo8OI2Ozg0Y8xbl9w?=
 =?us-ascii?Q?uo8mpEFACwgriAHingO3B1o9YyXbAWGYlnTTzLjdB+VPezz552ykEIzcbtfr?=
 =?us-ascii?Q?GcHCPwP+XN9lDcujTBcVb6UhEh9908Nf9S9XbutO7cqLVjMTPY9YnPDw3Zet?=
 =?us-ascii?Q?aU4Dla6qeFvE0jRAQxMbsBgf+8LKg9Nanw18BW9Cdg52RnmNy1zI1+uaGk05?=
 =?us-ascii?Q?7XSKysxAp+CsKTEXwDGmCuoU6GisD3+sAfVnte3rnBkFdQhxyqIYU63pppAl?=
 =?us-ascii?Q?4iwgh3+WATeUX7G3ssUSgHS0iXk5cVnlMwrRyHawPgArpzeT+TCnJ9BCgqaW?=
 =?us-ascii?Q?RSQQAjHzZC5843Y8OHZ0XFq6b/ZhkyzGAS7LNSkxNWXrmcX0OaARAA2/Ht40?=
 =?us-ascii?Q?W7Npd5see8y8UdM+Fmg/eh1VgTCPlBQhBRMr67ERNHbgYawQef3yYQEiPb7a?=
 =?us-ascii?Q?8jHn17fWcWaps6rxjw6iBZToUVUGFYhbzGwl9Ux24/qO/fUP4tH+nM4mKnRC?=
 =?us-ascii?Q?DXbpihM4gOdmYbmtxSQkHSJQ/+25Liia8vkJu3elKALR7J8c2EHZTzrLIjc1?=
 =?us-ascii?Q?QRA8GtF5goXcLcw4GoPaEEJVNb/vYwmqxUEGaWcmY4yp/z/KqR2TupI0y4rS?=
 =?us-ascii?Q?tQYMArbDGfE2DPnyX3SzOVwTrCCc5ADwD0ESUnlItMQ0wjaIJ6evnPCS4Do+?=
 =?us-ascii?Q?We8Yt8hhUdQGua6Ybf9hfJ07DRFP5k1RlVb76G29lat04gd/n9CcT6Y/MH6e?=
 =?us-ascii?Q?shYtUo+UTQdZE15o53Jn1FjhbvMlQFH0QUpycVtgZR0eMLcoiduMhOwheul7?=
 =?us-ascii?Q?W+FKULURbImzHdu87PbpJsjjAqXL8GIyJyWbCpWKbjG8+A5rM8ZUEqj7QqC1?=
 =?us-ascii?Q?MDXj4DzO0rxsw4yK3NvyakOuUT4EDz/4tTtnIc10pvSczs0RCOZqGrg+IBxg?=
 =?us-ascii?Q?8M2RfkBoBRZEYIlxw5oey7ibi0SnHj0JUBmneaAiSw+sBgCCNluSDOpLHtN4?=
 =?us-ascii?Q?lC37LwQSIKJnX8RETH6GlE+gNNHRyej+9u+MSfOeP6Vb/m/WkktQo3aETgX4?=
 =?us-ascii?Q?eRmw0gaj+6vB3X2YFXJYh+pXKOTlBxSoUNe5yVjXLr5unpEXfApQrB3fege9?=
 =?us-ascii?Q?fstd09asnSXdV2hXT6Dj6q26g+tHAsr6NS718kXSRhHgorodpFMQbgN3Na7m?=
 =?us-ascii?Q?jyW2nXOAHY/ZoSyNJLsZJ3ngXF2uz0so5gGjQHJw3hZ0iCYHDM/qgh45eydA?=
 =?us-ascii?Q?sjOwfQJ+UFOnKxoIJGCQTycFeLvkMy3FumiCbNq9N0IQCTXaJuy9wVJxuelc?=
 =?us-ascii?Q?5xejYatc09h57zA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(7416014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 05:53:37.6399
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0698e460-d0c8-4e53-a1f2-08dd6c2a8dac
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7231

The following function shall be wrapped:
- scheduler_id

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/common/sched/core.c | 2 ++
 xen/common/sysctl.c     | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 9043414290..13fdf57e57 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2069,11 +2069,13 @@ long do_set_timer_op(s_time_t timeout)
     return 0;
 }
 
+#ifdef CONFIG_SYSCTL
 /* scheduler_id - fetch ID of current scheduler */
 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)
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index dfc87a2846..c3646517bc 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -72,10 +72,12 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = tb_control(&op->u.tbuf_op);
         break;
 
+#ifdef CONFIG_SYSCTL
     case XEN_SYSCTL_sched_id:
         op->u.sched_id.sched_id = scheduler_id();
         break;
 
+#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_getdomaininfolist:
     { 
         struct domain *d;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 05:53:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 05:53:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927016.1329866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJi0-0001aR-Ej; Wed, 26 Mar 2025 05:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927016.1329866; Wed, 26 Mar 2025 05: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 1txJi0-0001a4-9l; Wed, 26 Mar 2025 05:53:48 +0000
Received: by outflank-mailman (input) for mailman id 927016;
 Wed, 26 Mar 2025 05: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJhy-0008HQ-Cx
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:46 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2412::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id acd59d66-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:44 +0100 (CET)
Received: from SJ0PR05CA0210.namprd05.prod.outlook.com (2603:10b6:a03:330::35)
 by SJ1PR12MB6339.namprd12.prod.outlook.com (2603:10b6:a03:454::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:53:40 +0000
Received: from SJ5PEPF000001EA.namprd05.prod.outlook.com
 (2603:10b6:a03:330:cafe::88) by SJ0PR05CA0210.outlook.office365.com
 (2603:10b6:a03:330::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:40 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EA.mail.protection.outlook.com (10.167.242.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:40 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:37 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acd59d66-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ut/Z9bmOWUdnA6PYlBNV/qD/ugzeUwrG6h+CdJP/J98vXVKk6O7khtXA9qnbcS8gruFfpiNhx9SWL5qUSfxxQpu3G5WekYtOnmwfVFzX768pCKx2f6SS4vxKVaMqDqBNpppL7WsQcgftsN5dEOPi6mH3v8l7JSZqNXZnzjDlB3zVr49qmcIe3aKPBcMGjUNxq9uHYwsGQkqtoAATwNL0DyHbw/ON8utRJ59sPL2IF9HFrqupTeVKq5joqwQzpLvHB7Y4090IKJbPzVCDcQWx2W2KmU8FXy8Vo0XdGiJzHWAhXaGKlQB99G9nKA8rtlyiJN/MokifQbE9jjA6DOkfaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fwQ8BrXH/1fzCxoXpeMoYCH22ialTFdrqt0KWxIUOVs=;
 b=ZujhLumOUi0PRUrkIr6OXPJ3dKQLLSZ5Ufs/dcsfZ0b8BIMuSWNBF//lXqoElik6vzVHYSNK9v91hoVo9Vj4lRwUwuvKuxH1FsBeJzuFCAc5LETwE4vxdImLUN/iTO6FZPHwq1p4la8+nnTI9JMPio4kAfBGS2EGAO6l9qYc3nZsjZBpnHQAA96Gr67VLtN1lDYwGTsEt+rRwIWC5ITg84CNEAp5NBiXOTryW7RhT80w9Uk6xDVvGNaCIQ9ArdzQqv9zAdeR6SW4XA6etmgK3MTeU66DB3Yq31zjZxlmUOC4TwYNJmnFQEK+JZtSH0fjDULycdt9yoXa0xU+zeBTGQ==
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=fwQ8BrXH/1fzCxoXpeMoYCH22ialTFdrqt0KWxIUOVs=;
 b=iyFNX2nfLaqKXpThHT0mCk0cAjqSyWTapuEXHH60T98img7NmsQpMBKoDHktuT3fLOmYxCzRr06n12tdswp7JqLbjD2g133+2Jhazm5Uz1ueM9hXzVbzWZzaY3r4ku8amx+BIEDqhrdgw16nU9Fx/slr04NME4bRzt04hxPqQMA=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 07/19] xen/sysctl: wrap around XEN_SYSCTL_perfc_op
Date: Wed, 26 Mar 2025 13:50:41 +0800
Message-ID: <20250326055053.3313146-8-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EA:EE_|SJ1PR12MB6339:EE_
X-MS-Office365-Filtering-Correlation-Id: e5468436-bd5b-4761-a2d0-08dd6c2a8f52
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?srlMr1+al/wiYy6JAUykLx6/OiuTuCK2Pui3AKLFaDxLrkTXhhE17CmEba9V?=
 =?us-ascii?Q?ZMOFLoF/6N2WiagEeFJZvTSptPoJOCvSX3FjUzM8l9GetvpqQmZjcHJWIhVC?=
 =?us-ascii?Q?oqmFP58tKEd27ptQcM5qIcm+AJwvPz3V8cuFYZDrz46CYs56ZZ+G/B2kVFht?=
 =?us-ascii?Q?I+jpBeyRK4PieoPHJYVlQbjQpdvE4mQvrSqQ8U05dYGN0dO9YEJQuz6sQv/x?=
 =?us-ascii?Q?tcc+VMx0p2kBpUOKLcvQw5yTYA0DmMgdKEs8nexTD3o213GkpNitUMmk5w6Z?=
 =?us-ascii?Q?DAccCqIiYZuCXzudVM98vwlfMCRF3dyARlVMG3yonk9rs9t305MWdJzKcQ5B?=
 =?us-ascii?Q?v40fhGS0LVgMCcadBFOla6S27ZAAJtdNix8CTe9sIqHXrZLxGXcv97Xf0vD4?=
 =?us-ascii?Q?vtHok8mhbMgiGX/p8gBLZRoutm+bxJjyITCvrYPL8kXDdzvu/2oRXFVgn84o?=
 =?us-ascii?Q?aY47bU6PIUgQecGWC4fyw/ohPVrkt3gdnrQPAZc7jeafuiQH8WwUmZ+jrk3P?=
 =?us-ascii?Q?JHMdecimfaQvEpPvnk625P/PkQUoWn9yNeZsQhtl/Dzr4di9/ePDMfsmgqC1?=
 =?us-ascii?Q?V589gWAEmFUidFFVuArs0lihBA/A9M2LW2pPII3P7S98mNglE+/g+1WQfZ87?=
 =?us-ascii?Q?n1HqqczPWGbVB5T1JcQdSnU7+udrHGH7RvAs3l+XBn6HEhmgxMv12tydwXCr?=
 =?us-ascii?Q?s0l/D6mAEPmXZ9xcDv/cVoClG+1f5x23ffxCYvJ4DmmysFzDYXuO6TK9cnO9?=
 =?us-ascii?Q?KpJgr5OWKOP4rcpmSq9vYHPblB0AaaAriwZjtZ5X03XqoBEDturQcy7tBFVf?=
 =?us-ascii?Q?CIMnZ7ik+r+ucUE09Lq/tOSljqRQ+mAEKMQsKJeNawX44QQvmmAgADsyF4K0?=
 =?us-ascii?Q?B5kOKd6DbXbxlQdmUavU8FD7yeEEc5YnhuTBZ7Aqc5TP0kEusStWbPZCTJ3m?=
 =?us-ascii?Q?+qf4al2TtzbyjE8F5d/Fe0VWk6i1/gUmdpi3FQStFVf+3ci4DBBb1ywq5E0m?=
 =?us-ascii?Q?zGJPc0PlzrijW0EzpzcSNqt7vZRljgnhFx/wISO2DFWb9BSfatnNOSdTeQ47?=
 =?us-ascii?Q?OeMPrDt45bCWPAhqSJLyInhip6JQ4Q4jVlDgqI7zcf4jwlp2FXIP7odZgo/C?=
 =?us-ascii?Q?6oNj4pD0YmykwDuN33Hqw/IGtHcZdDHJLqmclAsH6jHR2vQdW6i5yXYcHQgx?=
 =?us-ascii?Q?q6U7IE0JzTqV0pPHopaAkhsz12tKOUOPeGTBN/n/IU2YmjcGEw9Hp18duXww?=
 =?us-ascii?Q?iLVgf5ZbAcH+Xotlf/tAMj3wpoFy02Aht/8fyOTbFmo3a/3bbBdc3UmEXuUS?=
 =?us-ascii?Q?5V3yWFyvZ4bDioJPJItEal35s/Tphm9kKcfXhmSR/ofOmpUte/mXlCaUx4kH?=
 =?us-ascii?Q?lOZUOT04mw+6ZB8b9B+mgoLdYrkI/nhCTfWVXA8cMJOeGGFewk4hVDyCvBF9?=
 =?us-ascii?Q?vRC47OKn1d5KdiMQwiocsW1XVQ+0nsQk4lqtHEb/Flli2Y6Vprev7eOuZUV0?=
 =?us-ascii?Q?xImP2LNyh6FTNP8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:40.4055
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5468436-bd5b-4761-a2d0-08dd6c2a8f52
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6339

perfc_control() and perfc_copy_info() are responsible for providing control
of perf counters via XEN_SYSCTL_perfc_op in DOM0, so they both shall
be wrapped.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/common/perfc.c  | 2 ++
 xen/common/sysctl.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/xen/common/perfc.c b/xen/common/perfc.c
index 8302b7cf6d..0f3b89af2c 100644
--- a/xen/common/perfc.c
+++ b/xen/common/perfc.c
@@ -149,6 +149,7 @@ void cf_check perfc_reset(unsigned char key)
     }
 }
 
+#ifdef CONFIG_SYSCTL
 static struct xen_sysctl_perfc_desc perfc_d[NR_PERFCTRS];
 static xen_sysctl_perfc_val_t *perfc_vals;
 static unsigned int      perfc_nbr_vals;
@@ -265,6 +266,7 @@ int perfc_control(struct xen_sysctl_perfc_op *pc)
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 /*
  * Local variables:
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index c3646517bc..0da82d6e31 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -117,11 +117,13 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
     }
     break;
 
+#ifdef CONFIG_SYSCTL
 #ifdef CONFIG_PERF_COUNTERS
     case XEN_SYSCTL_perfc_op:
         ret = perfc_control(&op->u.perfc_op);
         break;
 #endif
+#endif /* CONFIG_SYSCTL */
 
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
     case XEN_SYSCTL_lockprof_op:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:00:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927049.1329876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJoh-000579-59; Wed, 26 Mar 2025 06:00:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927049.1329876; Wed, 26 Mar 2025 06:00: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 1txJoh-00056t-21; Wed, 26 Mar 2025 06:00:43 +0000
Received: by outflank-mailman (input) for mailman id 927049;
 Wed, 26 Mar 2025 06:00: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiM-00083W-Ec
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:10 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060b.outbound.protection.outlook.com
 [2a01:111:f403:200a::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9e217da-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:54:05 +0100 (CET)
Received: from SJ0PR05CA0203.namprd05.prod.outlook.com (2603:10b6:a03:330::28)
 by SA0PR12MB4366.namprd12.prod.outlook.com (2603:10b6:806:72::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 05:54:01 +0000
Received: from SJ5PEPF000001EA.namprd05.prod.outlook.com
 (2603:10b6:a03:330:cafe::b9) by SJ0PR05CA0203.outlook.office365.com
 (2603:10b6:a03:330::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:54:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EA.mail.protection.outlook.com (10.167.242.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:54:00 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:57 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9e217da-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P3RrVySYwPctmKsVNyJWOk+/2jNezwiciYmUQLDyGMo0xM6FvZdYmse4jkYjA2Ym5LQjEyEAWWcMNe1kNcHFymLiR12rxUAkNNYQdsYwvxPT4a2f6VZpP8iE2Xt+iMKqJt5r16W5wpArvwOgI2I17kMNksUexVe1OkE0YHG2M8cyUT9kWW7aMMDSH1B90QOISaj9U+dA9qFvTmQOa8uYtJ5ZuC1ukJsPRzQn18U8g6UXdtdgfaoy9L9zMm1RmltmA1zsLmddBk0O7GdmAnavRCYX6pUIMzlV3r6Z9UdImyqVvpsrxlu1/IAVXnZbEwomGLx9Up80FSwgpb87SWpuww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n6lVVCPqPmjDnRoRvg36ZKXjCShv1B9Z3cy1kL21MB8=;
 b=hPzHBYi/Ad1TlpX/NrHqCaCd58iS36PhWN+6ub5CseJGkMLsI2YSf3QsMRkzNU5jXIKacf7XZxw68pDd7qYB62LtybUIcXkiIYj5P5F+dB+WN1eO0SOu9NdbAsFK6qibvbThHIXkn45D5sj8MjchhfMmEkhjT0CJLFN6dz+7PFyzkMNovcnt848OttNQXmQrdixugqimf7HOo3aIbPYMv0yhnZwfu90OoAu5anWE+Y+32NCPkqkHMRn/6fjLlMvgv/dBwuuTC477fdM3qdiypXyzUYHJCBVWnBVrzAAVV8tJ06eRVCQMNDDZdS5IPOevEjp6mbWH97nIyfzXnNYy1w==
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=n6lVVCPqPmjDnRoRvg36ZKXjCShv1B9Z3cy1kL21MB8=;
 b=FYKUchdWhUIlMqiSt0RReqHXGpp6YH3TpyI0DxpoEC50fz2gm4CcP4ov9QjdpzRZRHVZHEuBH3HyjYv21LXW1poLFP0Ba+u7a4bfvmnrBw6CkAAVu7IhP1H9qUQRwG9QeSe7fYASwbduxiOr9S14kWjTtCnmbg1nEOq4XDhva1o=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 14/19] xen: make avail_domheap_pages() static
Date: Wed, 26 Mar 2025 13:50:48 +0800
Message-ID: <20250326055053.3313146-15-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EA:EE_|SA0PR12MB4366:EE_
X-MS-Office365-Filtering-Correlation-Id: f6faac74-415a-4d75-b6e8-08dd6c2a9b6b
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:
	=?us-ascii?Q?Cx41IHDXTr8jB/n2/gvyQDNoOfrTTIclAtdk6Y/DKUEUhQXFbfkxn4+bYIYn?=
 =?us-ascii?Q?LOBCf+d2XmZp9TWXgN9iVF82KhCHSgHIXDaEha2QurbBrILMpLgcgBAWpHMd?=
 =?us-ascii?Q?/4bVWjlFnGhbgGPiU4KkO2JcCoTUZ21FsSll3RC9+SR+GNHbl0hob40jXNYL?=
 =?us-ascii?Q?B3YHpnIEnP0QdBLhyxTsvE4FSEbkk0RBHgUH/yGVI6/BTjmFJOp/AGdSvqzg?=
 =?us-ascii?Q?PKQ6IBc3Slow1MgERXmNETg3BuFERCiYw8dG/L/3ogSSA1k76Xkv+CrNwxND?=
 =?us-ascii?Q?9SvByHnELrzdvOrlHUZOfbWPEOrQe8ijNASM4hwmiWUQWEO8U7qqqUhdNRXH?=
 =?us-ascii?Q?hQORbalC7KrNanxitvZ1fJnhx6fpkAlEWgNjw9eiSc0P97cyDAODVQJ6N5qJ?=
 =?us-ascii?Q?39CDs3cYwbRvNWdmxmY2+1S7LRzbsVTRuuwt2N8CHoT5q7MrQCWa6HOr5dBe?=
 =?us-ascii?Q?0nTm1vQc2zfBW/PNjPm/Qqp0dQeCKYzEASCtOU48w3a8R1IKG5O7pk0m1IBt?=
 =?us-ascii?Q?z+SXeP+VYcGeGN7zFmYt2jLo6UAKlasseacZPsRemoxPToUZ7QL1HSOlv5B4?=
 =?us-ascii?Q?6I1JNo54TY+oSi0Ax+mChZWuOFkMQYAt4/c+wSENkmX7JvlGjPnKvXGNTv6q?=
 =?us-ascii?Q?oXHNVb65+JV9hU1l3A0lgA0LmBmYGYNosC45vtSuFFALLING0UAiMOEYWkRz?=
 =?us-ascii?Q?DrY7i9gq/dzhzmib7PGgXKNgxGHjGRey5pFhjWDfvCwkBX/sugDizS55noN7?=
 =?us-ascii?Q?7uLPsPHF1QXxwWPzSTORhKDT2xMnJV9O1im7a4f/+8EDrZ6Qi2/mleWuGzBe?=
 =?us-ascii?Q?f4lLcv7PqGnWImnhjp4DP4qkVIhdiLmcZ1QNGqEb4L9CtOuqULncFtKveMDv?=
 =?us-ascii?Q?nCQfxcFtj1p/VxjWJGU/eUIcb8uX79FQoyQMlZoIGDFfEB4KkI62dtt5xSeP?=
 =?us-ascii?Q?xOtOEKNKm0F2s19hoJR3EeBEr0WTKtwODWbyzwdPw3mSKEzUZoNeNJijIrmg?=
 =?us-ascii?Q?16GnDGICrS+W75gfnwptwjrRmNvmplRBHcGwNzYjLVYqwlm6+pVOCcpqd3zE?=
 =?us-ascii?Q?XNWTNNJEsWkSnG9tnAiFi+qqQfxl04tmOVdxs4hSjVkoy6WPWN4x5raddDWk?=
 =?us-ascii?Q?yDds0ES5VoXlnpMvEuQMx27Fywh5fsuXTLOX4WZ84HJVNljNSi/61fpGCmb8?=
 =?us-ascii?Q?DrZOZw2ZC4rXIxV3+G+sQBfcazQ18ZSIiELb1vIvnnnoao0zKnOoTg+fiwDX?=
 =?us-ascii?Q?xmaEZwK5qJs1jKZmUjrtFwjRcecwafYsePnLfMuzkUENV72pn5Ze6V7Lso2D?=
 =?us-ascii?Q?6bgGSSxjsxf+BPiE7bgOOLs5h93D6ofXsyf9MRcwzdO8xPvTdMG2uTjtvLnP?=
 =?us-ascii?Q?V9TwvqGV0YlRkm3fa8IzhxDLTo1lyJGe+vjNveD+92GcjxoPOQBe+zCmGeoM?=
 =?us-ascii?Q?p3XfhjBBdYytiEXQqMBmt04sZkObiyAChxfIKLsDvsnwhx4ejV5Cfh3rYc3G?=
 =?us-ascii?Q?GMoJIzBtLyu3W80=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:54:00.7182
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f6faac74-415a-4d75-b6e8-08dd6c2a9b6b
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4366

Function avail_domheap_pages() is only invoked by get_outstanding_claims(),
so it could be inlined into its sole caller.
Move up avail_heap_pages() to avoid declaration before
get_outstanding_claims().

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- let avail_domheap_pages() being inlined into its sole caller
- move up avail_heap_pages()
---
 xen/common/page_alloc.c | 51 ++++++++++++++++++-----------------------
 xen/include/xen/mm.h    |  1 -
 2 files changed, 22 insertions(+), 30 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index cc2ad4423a..5803a1ef4e 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -488,6 +488,27 @@ static long total_avail_pages;
 static DEFINE_SPINLOCK(heap_lock);
 static long outstanding_claims; /* total outstanding claims by all domains */
 
+static unsigned long avail_heap_pages(
+    unsigned int zone_lo, unsigned int zone_hi, unsigned int node)
+{
+    unsigned int i, zone;
+    unsigned long free_pages = 0;
+
+    if ( zone_hi >= NR_ZONES )
+        zone_hi = NR_ZONES - 1;
+
+    for_each_online_node(i)
+    {
+        if ( !avail[i] )
+            continue;
+        for ( zone = zone_lo; zone <= zone_hi; zone++ )
+            if ( (node == -1) || (node == i) )
+                free_pages += avail[i][zone];
+    }
+
+    return free_pages;
+}
+
 unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
 {
     ASSERT(rspin_is_locked(&d->page_alloc_lock));
@@ -584,7 +605,7 @@ void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
 {
     spin_lock(&heap_lock);
     *outstanding_pages = outstanding_claims;
-    *free_pages =  avail_domheap_pages();
+    *free_pages = avail_heap_pages(MEMZONE_XEN + 1, NR_ZONES - 1, -1);
     spin_unlock(&heap_lock);
 }
 
@@ -1964,27 +1985,6 @@ static void init_heap_pages(
     }
 }
 
-static unsigned long avail_heap_pages(
-    unsigned int zone_lo, unsigned int zone_hi, unsigned int node)
-{
-    unsigned int i, zone;
-    unsigned long free_pages = 0;
-
-    if ( zone_hi >= NR_ZONES )
-        zone_hi = NR_ZONES - 1;
-
-    for_each_online_node(i)
-    {
-        if ( !avail[i] )
-            continue;
-        for ( zone = zone_lo; zone <= zone_hi; zone++ )
-            if ( (node == -1) || (node == i) )
-                free_pages += avail[i][zone];
-    }
-
-    return free_pages;
-}
-
 /*************************
  * COLORED SIDE-ALLOCATOR
  *
@@ -2795,13 +2795,6 @@ unsigned long avail_domheap_pages_region(
     return avail_heap_pages(zone_lo, zone_hi, node);
 }
 
-unsigned long avail_domheap_pages(void)
-{
-    return avail_heap_pages(MEMZONE_XEN + 1,
-                            NR_ZONES - 1,
-                            -1);
-}
-
 unsigned long avail_node_heap_pages(unsigned int nodeid)
 {
     return avail_heap_pages(MEMZONE_XEN, NR_ZONES -1, nodeid);
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index ae1c48a615..eda57486cf 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -140,7 +140,6 @@ struct page_info *alloc_domheap_pages(
 void free_domheap_pages(struct page_info *pg, unsigned int order);
 unsigned long avail_domheap_pages_region(
     unsigned int node, unsigned int min_width, unsigned int max_width);
-unsigned long avail_domheap_pages(void);
 unsigned long avail_node_heap_pages(unsigned int nodeid);
 #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
 #define free_domheap_page(p)  (free_domheap_pages(p,0))
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:00:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927051.1329882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJoh-0005AW-EC; Wed, 26 Mar 2025 06:00:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927051.1329882; Wed, 26 Mar 2025 06:00: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 1txJoh-00059n-8b; Wed, 26 Mar 2025 06:00:43 +0000
Received: by outflank-mailman (input) for mailman id 927051;
 Wed, 26 Mar 2025 06:00: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJia-0008HQ-Q1
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:24 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20617.outbound.protection.outlook.com
 [2a01:111:f403:240a::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c355996f-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:54:22 +0100 (CET)
Received: from MW3PR05CA0015.namprd05.prod.outlook.com (2603:10b6:303:2b::20)
 by MN0PR12MB5930.namprd12.prod.outlook.com (2603:10b6:208:37d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 05:54:18 +0000
Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com
 (2603:10b6:303:2b:cafe::81) by MW3PR05CA0015.outlook.office365.com
 (2603:10b6:303:2b::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:54:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:54:17 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:54:13 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c355996f-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OCceUlYjnHpbA8W4g01S2OWlFq68u6+fYt5wo2j+wzeX/RbJWBESsJvsdPCnvcIgZLjAwBf7hjazgrpGcqoV/uMV6Wa81bl2VdZo3oUUD5UaZHkNtf/iTcG8QaFTtFt9E1oViF+OPyl6W7LiDtxivWASChGm3H3IdzPEhqpE2Px45OGRD3gIoDZ8VYZQNMGuOOHdu0Ww4QOSQ1Q2pFrs22aKJyPA4I7sNJNe5ZmFm1566WvnSLEi0Hj5fLs666MDATrBGLvalVz70f0WP3kkVZ2KOrQAlr/DaJrEUSqoZnNO2Y1SST/hpESMRBlN7DfQEd9/dtuXXVdqs3S57Kv+zQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/8MPf0x6OdT8+nJ6fBz2zA9OxP0+BJ0rh/tuxbi05co=;
 b=tUpPysRkztT0B68nlg2ZdHb9kGG1+3WxZdx9qcSmX1vxhMoLrH5XL82AeZLW/StdO6lPMPOjYRaFGEJf0Ggj+clWG96c1Nxz0lBrIqRNihTcj5K2woqC1AXhAb+XZAbnkd302eEYUCKJu4/LY7IfxiUdSyXTbgxkVMayw6vmRGZV8z+Pa1+vSuO5T7kTCmOtPj40h0sh1CL6/uZ71gEYbD1Bgk0/KXlv4yImQlfIXRQAPfmfjr9Q4EkahfiyVdfWkcVoOIhC55FIFctEhncM4Kc/GuIMP5Chav7O8Eg1KhZztadLl4KqcoMKfyEK/jpUzscqDJ66tyGI9/H+OVIY/A==
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=/8MPf0x6OdT8+nJ6fBz2zA9OxP0+BJ0rh/tuxbi05co=;
 b=jXovIAjHagOQnw1g0WpA8PniPhINeFQg/GKoLEXm9P7sCH66YNsxV44FvBa6D/uN4EKGkKNIgt4d8urOysOy4zAhJBJoXlpH55WCJVkxTsnC3NP7qnECFIHajMPF/Iu5NvwgbE2F7L9G4P/uEjenYGD9RI/NgnVyJesNxR9pwkA=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Stefano Stabellini <stefano.stabellini@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>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Penny Zheng <Penny.Zheng@amd.com>
Subject: [PATCH v2 19/19] xen/sysctl: wrap around sysctl hypercall
Date: Wed, 26 Mar 2025 13:50:53 +0800
Message-ID: <20250326055053.3313146-20-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|MN0PR12MB5930:EE_
X-MS-Office365-Filtering-Correlation-Id: 244b3b3a-4207-44d6-b0ad-08dd6c2aa55f
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?skzT9pFq23cY9jgQqQD50Uh6z9X2yKH9S7Y2AiZ45+fYfwvUmqbKEZsH31l8?=
 =?us-ascii?Q?RJCBqZuYgZVM3WY++E19p1sg2TuIx80ItD4rKNpT6o49FeisGpuO9C6KWL49?=
 =?us-ascii?Q?Q0kOhj7W3oGZcR1ewnoyDbetzowQTzdUQYHIEQJnSzuEF8MGbf4MpgB5WbQ+?=
 =?us-ascii?Q?jyra4JNbLNAKEevhf6cziTb4KCf3Ueryn8xUJMdsxfiF5rvQ0KfKrB1zkEhe?=
 =?us-ascii?Q?yKqrlS6QdZfhlQJbnpIfZbrruDZeiQAU5xM+/F1ui7Om2NKilVEQpfmxXmu/?=
 =?us-ascii?Q?2TWPtWWqAWZCF+O0OI043/46HHYpJwuxHkqQkB1Ti4soM4FbQATNfuVPkvPt?=
 =?us-ascii?Q?WP1MyyIj6e1Ln3cHsL8qCy/yROmfKb6Nkhnig3/nsrLZ0R2I5YM5jwsVobEC?=
 =?us-ascii?Q?CJ7kOpjz8+erBhUJ+z063QA+lsnmeWufeJMsa2yjT7Zhy5tIsKcTfyNdWU/W?=
 =?us-ascii?Q?cfQCFbU89xq6EfqDxBuGE5PitQC2OGcFQhkCD8D9NS7hW0fL1yf9RhGpVrWE?=
 =?us-ascii?Q?VpEJK/mr2LtcQRLUS533e+vt13W1JEq8NJse6yh/ZocFsbnLGHJ+yDI03JSf?=
 =?us-ascii?Q?VN9l0WvyudT4Vu9nN3gwL2J184yIYjWgM8BwuUezPgcKH1YGURzeUrluq1PW?=
 =?us-ascii?Q?p6ujXabY3pkRXlmrUIISaa0eY3iB2SJPA8wtLPT1WqQDcFIWyJ2uYMtVnBev?=
 =?us-ascii?Q?H7soJBCj/l/rNvJ2ndvUeizumazhgmSW7hY8X/jL3rQ0LprLuGL2MNYFQ6Ap?=
 =?us-ascii?Q?6Z3aSCfAtXpOZWddpN+MjtqreETKitpzLqroCoLuWjIyGWz4fpsZ/MZIO+0e?=
 =?us-ascii?Q?hfo5CDsmNZjANuWHUrcXdiiXhSQVUNNvBjYBP4nWfrMoNWmLGPQ4u+lspFMS?=
 =?us-ascii?Q?JF8Ro7OTvS6px6lpn15SFEt55aW086eMuqBcFY9PlXCkfhkoJDQOJiZjAO2/?=
 =?us-ascii?Q?6+B8u3rp4mQZ1jItifSYO78lPEdsDQ2U/qa9EAPQp5GvbwMCww/RahS4gipB?=
 =?us-ascii?Q?CTvu6BQAEdSUDe5KSAeCHCT826BGPsYsQh7uYwxolpoKwsOdmNdqZmXt3ziO?=
 =?us-ascii?Q?5OLjNCW5CdB6+h2C6W335lcArOXD2HX3tKjSkjIdn+jB+yQXNJsHnCNZ2ghk?=
 =?us-ascii?Q?XfCYWGC2y4bS0nHvnLW6QNsY8qyBycZicvlKMjRksC3h9oHn2l2ZqDbiq+Zr?=
 =?us-ascii?Q?JhqP3HsCCL3OcIK3McstT9NvXMqeFVMzhv2yoLz4BlcWRo1oMeNkYUondjBc?=
 =?us-ascii?Q?UkhHhhAiV3FDguZfSu5bC3jySXFeBF/Yx609BtId5Zk23W0w/x/88H1UBYIY?=
 =?us-ascii?Q?2OfEhaIh/KaVT9HlsYJ5odX8gg7vYL1sFWt02NIHi8j3Oxd99pRm6eQRTjTq?=
 =?us-ascii?Q?Dx0GLpMsZHiQx0wH4SY15rWIp7ZA4PrHwcsKnXldqn8sWNKLyQ8H1i5SUc4Y?=
 =?us-ascii?Q?r54JhgV74JZny4xniaeh57FSkiSgQZq4G8U3CPkNaX4JkDrotqY6qUWWiTwP?=
 =?us-ascii?Q?5awrQI6qzFfJNJ8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:54:17.4010
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 244b3b3a-4207-44d6-b0ad-08dd6c2aa55f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5930

From: Stefano Stabellini <stefano.stabellini@amd.com>

We intend to wrap around sysctl hypercall, and also correct the order
alphabetically
We also need to removes all transient "#ifdef CONFIG_SYSCTL"-s in sysctl.c.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- remove all transient "#ifdef CONFIG_SYSCTL"-s in sysctl.c
---
 xen/common/Makefile          |  2 +-
 xen/common/sysctl.c          | 10 ----------
 xen/include/hypercall-defs.c |  8 ++++++--
 3 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/xen/common/Makefile b/xen/common/Makefile
index ac23120d7d..d45dfeb5b6 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -69,7 +69,7 @@ obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
 obj-$(CONFIG_VM_EVENT) += monitor.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 endif
 
 extra-y := symbols-dummy.o
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index b0e2e43c7e..ba8c5e2266 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -58,7 +58,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 
     switch ( op->cmd )
     {
-#ifdef CONFIG_SYSCTL
     case XEN_SYSCTL_readconsole:
         ret = xsm_readconsole(XSM_HOOK, op->u.readconsole.clear);
         if ( ret )
@@ -67,17 +66,14 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = read_console_ring(&op->u.readconsole);
         break;
 
-#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_tbuf_op:
         ret = tb_control(&op->u.tbuf_op);
         break;
 
-#ifdef CONFIG_SYSCTL
     case XEN_SYSCTL_sched_id:
         op->u.sched_id.sched_id = scheduler_id();
         break;
 
-#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_getdomaininfolist:
     { 
         struct domain *d;
@@ -117,7 +113,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
     }
     break;
 
-#ifdef CONFIG_SYSCTL
 #ifdef CONFIG_PERF_COUNTERS
     case XEN_SYSCTL_perfc_op:
         ret = perfc_control(&op->u.perfc_op);
@@ -129,7 +124,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = spinlock_profile_control(&op->u.lockprof_op);
         break;
 #endif
-#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_debug_keys:
     {
         char c;
@@ -188,7 +182,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         break;
 #endif /* CONFIG_PM_STATS */
 
-#ifdef CONFIG_SYSCTL
     case XEN_SYSCTL_page_offline_op:
     {
         uint32_t *status, *ptr;
@@ -300,7 +293,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
     }
     break;
 
-#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_numainfo:
     {
         unsigned int i, j, num_nodes;
@@ -490,10 +482,8 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         break;
 
     default:
-#ifdef CONFIG_SYSCTL
         ret = arch_do_sysctl(op, u_sysctl);
         copyback = 0;
-#endif
         break;
     }
 
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 7720a29ade..322aa6eb09 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -195,10 +195,12 @@ kexec_op(unsigned long op, void *uarg)
 dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
-sysctl(xen_sysctl_t *u_sysctl)
 domctl(xen_domctl_t *u_domctl)
 paging_domctl_cont(xen_domctl_t *u_domctl)
 platform_op(xen_platform_op_t *u_xenpf_op)
+#ifdef CONFIG_SYSCTL
+sysctl(xen_sysctl_t *u_sysctl)
+#endif
 #endif
 #ifdef CONFIG_HVM
 hvm_op(unsigned long op, void *arg)
@@ -274,8 +276,10 @@ physdev_op                         compat   do       hvm      hvm      do_arm
 hvm_op                             do       do       do       do       do
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
-sysctl                             do       do       do       do       do
 domctl                             do       do       do       do       do
+#ifdef CONFIG_SYSCTL
+sysctl                             do       do       do       do       do
+#endif
 #endif
 #ifdef CONFIG_KEXEC
 kexec_op                           compat   do       -        -        -
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:00:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927065.1329896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJov-00060N-Le; Wed, 26 Mar 2025 06:00:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927065.1329896; Wed, 26 Mar 2025 06:00: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 1txJov-000604-IU; Wed, 26 Mar 2025 06:00:57 +0000
Received: by outflank-mailman (input) for mailman id 927065;
 Wed, 26 Mar 2025 06:00: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJi7-00083W-5n
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:55 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20627.outbound.protection.outlook.com
 [2a01:111:f403:2418::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b299e4d8-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:53:53 +0100 (CET)
Received: from MW4PR02CA0008.namprd02.prod.outlook.com (2603:10b6:303:16d::27)
 by DS5PPF4A654669B.namprd12.prod.outlook.com (2603:10b6:f:fc00::64b)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 05:53:48 +0000
Received: from SJ5PEPF000001EF.namprd05.prod.outlook.com
 (2603:10b6:303:16d:cafe::18) by MW4PR02CA0008.outlook.office365.com
 (2603:10b6:303:16d::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EF.mail.protection.outlook.com (10.167.242.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:47 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:44 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b299e4d8-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qw/2TDlIAmX8vAjNkEUJJg3+l7NxXMbZRppyZngjfQmsmpyr86RTEN1l1/u/2ql3BWvy6LBUJjuAeEspS51Ahi0s11ej+O8mGs7IeMIUHHCAQqPTCvw6q7fJg26tyLG54K4wIyI+xqqjsuZiGjUlLVPqm5JdOH70nY1sy7/31YhcgtRzJA+EaaFFfb8KputwYBuX7iR3NiNv0UDkz6aTg1AphUR34gSN7kwcclf9fiYqcTXZPajgnVbsmbT6qwz+EIsNDGGJEsD3Ih2Othv6e8GSbN41lA7LGSmMVIGOBi8X9yV8P06VNQd/Q2x11GO0brTdoeVX0hTsBGelmCndNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ls8xh2qqh/fyLlnJCiGMP2CfPjJruCFbtQS8G3Ssl28=;
 b=ag5OPIHW3lEjYhubpD0eI5pjgCNTj75D+8BoAU2ttKh6qJ5aVHGIc6Uu6fHNlFCmohuhm4nds+wzJW4XUx1siLQuNOlWBfbjwX8hA8Z3mX1zzAanAWvwwCTj/YgZLzbSQNAqOZvnqSnJz0VypY+OmGLmXK6uscsslofQ1odvm/OA8kNKy+SUQ0ECeEHtBS4rRl5PRzrtu8YLXNGD4ETKBQrl7uxvze4EzJy0NGEyaqzmsAkbEZ3C6uT5TKUowJL2PHn9Hdd3tGCVx6QoH0PuJc6CqK8MmexdOSs5IlTo/a5JP7b2+TJAuX63yLlPboQW5GmutBZTa4WxYLPGYfnqrA==
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=ls8xh2qqh/fyLlnJCiGMP2CfPjJruCFbtQS8G3Ssl28=;
 b=Wj4izfFkHdp5pGv9OmBcJMXqINU027xE8Z1Dsq0ygK1KiS6kZMiwBH9BOyDyZ1tC98awh3efux6gO2SwLNzqQmkGd5VyS5R94lVfxexvYK+ZaVf+GQ2scJvYN7Djp7H37U3T5VCRi9NOqMgG6UTA2vlJrZ1+m8I4w6tgC5o3Zqo=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 10/19] xen/sysctl: introduce CONFIG_PM_STATS
Date: Wed, 26 Mar 2025 13:50:44 +0800
Message-ID: <20250326055053.3313146-11-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EF:EE_|DS5PPF4A654669B:EE_
X-MS-Office365-Filtering-Correlation-Id: ea751f2c-8eb1-4e53-4a1c-08dd6c2a93af
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?kuuBpY8PvlYfsHPP+aSZNzwwKb4oYVGig87GP+yR8wi12WURWs90AbNPYYti?=
 =?us-ascii?Q?Tcw/IesKv3K96tc05ewFIyHPD9XjdqjfMI58poA90CO8y+MylVxu1y6GVZlo?=
 =?us-ascii?Q?JQ2X/LUGsHu0qJuyKD4p4OXUT75+UadAd0MumtLNpui0oD3J9vWtT4junQ+n?=
 =?us-ascii?Q?tz/b6KNSvcIXE+l9sU96FtCZYQfSmYYQQvBz0U5/Bs2pMwB1ZQ94cbdN6eV8?=
 =?us-ascii?Q?t7YGU5DB2lbCctbodjemLQxYjbdnV+ljW3xJuG2QfWMryvvUizxH2aqzKZ9f?=
 =?us-ascii?Q?MHUlBNBYgWphAyFg6gHsshM8bZrxYj8v/Vrj5wUJa7oTY6UwCCjsiRsErBzQ?=
 =?us-ascii?Q?O6AlyQH7EeD9JZ7L4K3FM6KLdTBu18XtmWf1UnOaH0Vxh3t1pQBjNbL3OM+o?=
 =?us-ascii?Q?HctdgpVF4WdWFiW0BreAPssdjxKthWAFLiw+PpS0laIkbJ8/hYURwt6BErmv?=
 =?us-ascii?Q?M6ThYi5Ri5n8I7YSTNI8v2oP/e4VVBoPNKJDaFyfNJuuv42ELamzPjJRo8c4?=
 =?us-ascii?Q?Mgj2yPOaE4bYWmkF5Y0j2AGzWit/Mv+myFFv73b6dbWzvxJMTnhRa4N06Cme?=
 =?us-ascii?Q?eg1/RkqyxXR4lQjxHmJkmjq8K5A4vddmbLXOXaRWJmNOWhofIQZ1dDrmRTuh?=
 =?us-ascii?Q?Q2zFlzsvR1AvX9iWsRt3K9mPeHMXEmWEkgkyPbwJvve+T6+Fqn27u22l4DAL?=
 =?us-ascii?Q?O4HWlsNy6Juf+4ICX2qQG4BDkY5N89NVmWb5nWSDEvA+Q9ZZHX9LsJ/nfnDL?=
 =?us-ascii?Q?iKNYbTJRheDCPuWR+oVSYxPn1AAdF1dRHtM0ROTW9s4KFzbQ4uoahblZmz4E?=
 =?us-ascii?Q?Pq3OSuamx649EW2zaerv6DXOb761tNU/HJ53r0/Nc41uTO6JYwwIXePDvGtu?=
 =?us-ascii?Q?BCdi4iMTUQ78ZmPJ/4ye1AnYyXo0X3c4WIj9fHegpjuZTPr6NfJxzLydPdkK?=
 =?us-ascii?Q?gZhv+gsvcIvBCU+5IU9Ve9VGPcp8Nht8UoS480qy8IXHPGjXy74qOjAduERm?=
 =?us-ascii?Q?JgqE2r8jgSdmv3MnqydW2lmc57ukWwwRM8uRtxnceneIm7PTFm3Jfq+ON+yT?=
 =?us-ascii?Q?hQFsVyluOmL6U6D0YqTXhOlxY6v4xI5Y9ntFjwTByYlwgjOKcaTmtwrVBPLH?=
 =?us-ascii?Q?EQ1FxpsIT8xb3zBHCr6geNxPeIo1lMfIWapu2TRXdqBeooqtZLVrtNK8Xfo/?=
 =?us-ascii?Q?TfVpjhYJTEsrF4X3ZUwk2hDGTAGwcncXe91exfwTcZLvNP9Uofs/DC2/Unp8?=
 =?us-ascii?Q?BehCq4VELDMAv4fFzChlEUgKGbkHR6UsSjnkEi4R3B6bk+XzRtDlIgfF07vy?=
 =?us-ascii?Q?Z4MSoXIA/7xfbXk2olJg85KeAZLsq+LGFrpZWfN5sXRCX/8dNFT0rU51vNWA?=
 =?us-ascii?Q?/PumQhQZTGxZkLTn/i8lAlTv4CDWDuAIw/7iYpbIUUWBSqrtTs3WPwfRn7On?=
 =?us-ascii?Q?9UnBiWpO+2Cl0KguoVGNe1bdTe4wwVtefUcogBZsBXrMKGGycRjOnhVwQgml?=
 =?us-ascii?Q?DDZq6W+YNpSljS0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:47.7080
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ea751f2c-8eb1-4e53-4a1c-08dd6c2a93af
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS5PPF4A654669B

We intend to introduce CONFIG_PM_STATS for wrapping all operations
regarding performance management statistics.
The major codes reside in xen/drivers/acpi/pmstat.c, including two main
pm-related sysctl op: do_get_pm_info() and do_pm_op().
So This commit also makes CONFIG_PM_STATS depend on CONFIG_SYSCTL

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- rename to CONFIG_PM_STATS
- fix indention and stray semicolon
- make code movements into a new commit
- No need to wrap inline functions and declarations
---
 xen/arch/x86/acpi/cpu_idle.c                 |  2 ++
 xen/arch/x86/acpi/cpufreq/hwp.c              |  6 ++++++
 xen/arch/x86/acpi/cpufreq/powernow.c         |  4 ++++
 xen/common/Kconfig                           |  5 +++++
 xen/common/sysctl.c                          |  4 ++--
 xen/drivers/acpi/Makefile                    |  2 +-
 xen/drivers/cpufreq/cpufreq_misc_governors.c |  2 ++
 xen/drivers/cpufreq/cpufreq_ondemand.c       |  2 ++
 xen/include/acpi/cpufreq/processor_perf.h    | 14 ++++++++++++++
 9 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 420198406d..b537ac4cd6 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1487,6 +1487,7 @@ static void amd_cpuidle_init(struct acpi_processor_power *power)
         vendor_override = -1;
 }
 
+#ifdef CONFIG_PM_STATS
 uint32_t pmstat_get_cx_nr(unsigned int cpu)
 {
     return processor_powers[cpu] ? processor_powers[cpu]->count : 0;
@@ -1606,6 +1607,7 @@ int pmstat_reset_cx_stat(unsigned int cpu)
 {
     return 0;
 }
+#endif /* CONFIG_PM_STATS */
 
 void cpuidle_disable_deep_cstate(void)
 {
diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
index d5fa3d47ca..98e9d46890 100644
--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -466,6 +466,7 @@ static int cf_check hwp_cpufreq_cpu_exit(struct cpufreq_policy *policy)
     return 0;
 }
 
+#ifdef CONFIG_PM_STATS
 /*
  * The SDM reads like turbo should be disabled with MSR_IA32_PERF_CTL and
  * PERF_CTL_TURBO_DISENGAGE, but that does not seem to actually work, at least
@@ -508,6 +509,7 @@ static int cf_check hwp_cpufreq_update(unsigned int cpu, struct cpufreq_policy *
 
     return per_cpu(hwp_drv_data, cpu)->ret;
 }
+#endif /* CONFIG_PM_STATS */
 
 static const struct cpufreq_driver __initconst_cf_clobber
 hwp_cpufreq_driver = {
@@ -516,9 +518,12 @@ hwp_cpufreq_driver = {
     .target = hwp_cpufreq_target,
     .init   = hwp_cpufreq_cpu_init,
     .exit   = hwp_cpufreq_cpu_exit,
+#ifdef CONFIG_PM_STATS
     .update = hwp_cpufreq_update,
+#endif
 };
 
+#ifdef CONFIG_PM_STATS
 int get_hwp_para(unsigned int cpu,
                  struct xen_cppc_para *cppc_para)
 {
@@ -639,6 +644,7 @@ int set_hwp_para(struct cpufreq_policy *policy,
 
     return hwp_cpufreq_target(policy, 0, 0);
 }
+#endif /* CONFIG_PM_STATS */
 
 int __init hwp_register_driver(void)
 {
diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c b/xen/arch/x86/acpi/cpufreq/powernow.c
index 69364e1855..08494d0902 100644
--- a/xen/arch/x86/acpi/cpufreq/powernow.c
+++ b/xen/arch/x86/acpi/cpufreq/powernow.c
@@ -49,6 +49,7 @@ static void cf_check transition_pstate(void *pstate)
     wrmsrl(MSR_PSTATE_CTRL, *(unsigned int *)pstate);
 }
 
+#ifdef CONFIG_PM_STATS
 static void cf_check update_cpb(void *data)
 {
     struct cpufreq_policy *policy = data;
@@ -77,6 +78,7 @@ static int cf_check powernow_cpufreq_update(
 
     return 0;
 }
+#endif /* CONFIG_PM_STATS */
 
 static int cf_check powernow_cpufreq_target(
     struct cpufreq_policy *policy,
@@ -324,7 +326,9 @@ powernow_cpufreq_driver = {
     .target = powernow_cpufreq_target,
     .init   = powernow_cpufreq_cpu_init,
     .exit   = powernow_cpufreq_cpu_exit,
+#ifdef CONFIG_PM_STATS
     .update = powernow_cpufreq_update
+#endif
 };
 
 unsigned int __init powernow_register_driver(void)
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5b55ca6eaa..426fa8fcc2 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -557,4 +557,9 @@ config SYSCTL
 	  to reduce Xen footprint.
 endmenu
 
+config PM_STATS
+	bool "Enable Performance Management Statistics"
+	depends on ACPI && HAS_CPUFREQ && SYSCTL
+	default y
+
 endmenu
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 4602d84203..c17f1b3dec 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -176,7 +176,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         op->u.availheap.avail_bytes <<= PAGE_SHIFT;
         break;
 
-#if defined (CONFIG_ACPI) && defined (CONFIG_HAS_CPUFREQ)
+#ifdef CONFIG_PM_STATS
     case XEN_SYSCTL_get_pmstat:
         ret = do_get_pm_info(&op->u.get_pmstat);
         break;
@@ -186,7 +186,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         if ( ret == -EAGAIN )
             copyback = 1;
         break;
-#endif
+#endif /* CONFIG_PM_STATS */
 
     case XEN_SYSCTL_page_offline_op:
     {
diff --git a/xen/drivers/acpi/Makefile b/xen/drivers/acpi/Makefile
index 2fc5230253..a32a505e30 100644
--- a/xen/drivers/acpi/Makefile
+++ b/xen/drivers/acpi/Makefile
@@ -5,7 +5,7 @@ obj-$(CONFIG_X86) += apei/
 obj-bin-y += tables.init.o
 obj-$(CONFIG_ACPI_NUMA) += numa.o
 obj-y += osl.o
-obj-$(CONFIG_HAS_CPUFREQ) += pmstat.o
+obj-$(CONFIG_PM_STATS) += pmstat.o
 
 obj-$(CONFIG_X86) += hwregs.o
 obj-$(CONFIG_X86) += reboot.o
diff --git a/xen/drivers/cpufreq/cpufreq_misc_governors.c b/xen/drivers/cpufreq/cpufreq_misc_governors.c
index 0327fad23b..c3877e9f0a 100644
--- a/xen/drivers/cpufreq/cpufreq_misc_governors.c
+++ b/xen/drivers/cpufreq/cpufreq_misc_governors.c
@@ -64,6 +64,7 @@ static int cf_check cpufreq_governor_userspace(
     return ret;
 }
 
+#ifdef CONFIG_PM_STATS
 int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq)
 {
     struct cpufreq_policy *policy;
@@ -80,6 +81,7 @@ int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq)
 
     return __cpufreq_driver_target(policy, freq, CPUFREQ_RELATION_L);
 }
+#endif /* CONFIG_PM_STATS */
 
 static bool __init cf_check
 cpufreq_userspace_handle_option(const char *name, const char *val)
diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
index 06cfc88d30..de10e03ca4 100644
--- a/xen/drivers/cpufreq/cpufreq_ondemand.c
+++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
@@ -57,6 +57,7 @@ static struct dbs_tuners {
 
 static DEFINE_PER_CPU(struct timer, dbs_timer);
 
+#ifdef CONFIG_PM_STATS
 int write_ondemand_sampling_rate(unsigned int sampling_rate)
 {
     if ( (sampling_rate > MAX_SAMPLING_RATE / MICROSECS(1)) ||
@@ -93,6 +94,7 @@ int get_cpufreq_ondemand_para(uint32_t *sampling_rate_max,
 
     return 0;
 }
+#endif /* CONFIG_PM_STATS */
 
 static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info)
 {
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index 941e177b6d..b4b3ed7964 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -9,9 +9,23 @@
 
 unsigned int powernow_register_driver(void);
 unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
+#ifdef CONFIG_PM_STATS
 void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to);
 int  cpufreq_statistic_init(unsigned int cpu);
 void cpufreq_statistic_exit(unsigned int cpu);
+#else
+static inline void cpufreq_statistic_update(unsigned int cpu, uint8_t from,
+                                            uint8_t to)
+{
+}
+static inline int cpufreq_statistic_init(unsigned int cpu)
+{
+    return 0;
+}
+static inline void cpufreq_statistic_exit(unsigned int cpu)
+{
+}
+#endif /* CONFIG_PM_STATS */
 
 int  cpufreq_limit_change(unsigned int cpu);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:00:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927067.1329901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJov-000639-UM; Wed, 26 Mar 2025 06:00:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927067.1329901; Wed, 26 Mar 2025 06:00: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 1txJov-000611-Pu; Wed, 26 Mar 2025 06:00:57 +0000
Received: by outflank-mailman (input) for mailman id 927067;
 Wed, 26 Mar 2025 06:00: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiE-00083W-DZ
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:02 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20608.outbound.protection.outlook.com
 [2a01:111:f403:2415::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b716e1bf-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:54:00 +0100 (CET)
Received: from SJ0PR03CA0270.namprd03.prod.outlook.com (2603:10b6:a03:3a0::35)
 by MN2PR12MB4208.namprd12.prod.outlook.com (2603:10b6:208:1d0::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:53:57 +0000
Received: from SJ5PEPF000001E9.namprd05.prod.outlook.com
 (2603:10b6:a03:3a0:cafe::e0) by SJ0PR03CA0270.outlook.office365.com
 (2603:10b6:a03:3a0::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:56 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:56 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:50 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b716e1bf-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PPJahobC2csRSvfm2TvYuevpMHlIq1FgOIocvADmpJkjHpvluGzw93nLPsk9bMJ1LH5aPThZAJQ/iG9oUugn8GetINwCg75itCZ5Hiyg6ce7u7IB+jYvzjCtfbZdHhP2RI3R56dTfVZ8ZDZ1GRiqFewCbE8MPgMFxZtjkYl5vLUUGliF8A+DQs5ndrR/6YLLWqjmEddJ+yZv0YsgCjEfABD0UY+AFby7kS8PHHaW3hWEowx5HvaTkT2Eev406lbV5zLmj0WIWJM2uI3SyLo1t3SS+RAnQ0NIrJloYqx7LUlEhdQfxPH0f8gN32SUOUSxlIeTjbDbcNhNUNqZhT3TBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9945qxdUn2PylyjdcYgad8LTv9PlGRGmYGGpFMk/+Dg=;
 b=L8OqcEINXSrML0IpcjsDUEk3TWWXLsvYvPG2cTyovOtf4wZNi/6HrzVwEurEN8kb8N8NHJNeUBu6sOJp9IO9RgifeRUeAiaWSqdmE7z0E8FECYFIaxJA6uIWdiZ4Mn7HijY+bs2RWqKos1BZF2+YKBdFy2mo2qUWqja5ZKyU6HDFf+kyqWM5dXhGOTwTOox5Z8HmssgGxQihLP0Sle1MzrPYkLdkkI3rSMVAFVat9oG96KDTMPNVTh8h3zwNTC2BGsTM2rDMPWQaFu+acngYY7qtripl0Wg1Vaa7NtO3u2MX4+WwIWyTq+zLu+54+S2FcZH9AZrIQ0rRn/cuQuH13A==
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=9945qxdUn2PylyjdcYgad8LTv9PlGRGmYGGpFMk/+Dg=;
 b=Jck5CPST3xaMHKh03U0NY59T0FwzCgMfCjoBXbB2pJ2lHI+dD2bXDa4ZTZVtAxoX7JMCGlqjG7ipwGg0ov1yVCl/k3mKN0bPmK8mY7bCUwm8q7NUcFbGD2y26TMRpBhmi8RgAsAE91CDYjk48k35/YKUvMSk2WX+uMN7+qnZxjg=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, Dario Faggioli
	<dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<gwd@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v2 12/19] xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
Date: Wed, 26 Mar 2025 13:50:46 +0800
Message-ID: <20250326055053.3313146-13-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001E9:EE_|MN2PR12MB4208:EE_
X-MS-Office365-Filtering-Correlation-Id: 967fb730-f830-43a6-2c90-08dd6c2a9912
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Txg2Dslz7AulPh0C1NM0TE4qmsBcvzqQnJiqcDUnKD6NvTFK6R4XngR+MjU2?=
 =?us-ascii?Q?wO6hvCdul/G7AdtEHtUwBMWaHArLVH7YdYZ/g1fEbI8irm2TK7b3DA1PD1OX?=
 =?us-ascii?Q?gNUGl0Hls8eQgf2mIYKja3B56GdFuM4ZObUpQqjIt5gBxQBavJuoNhQKuPjV?=
 =?us-ascii?Q?8JfHRD/Rxz9xRZyJf0vQt6GZhGaAhRIMvKd67W7WBbwbG93uVkz9+qn2gBmo?=
 =?us-ascii?Q?fBqP6xkSCDQmn9/pLtA3vxnDyukkECl2FhRGKxkMR/xa7UdkOT+UWOtoSaFS?=
 =?us-ascii?Q?CeYTNXiPL+nI92fHREWHG0xJr78UPZwDTx9WokTGq5x5qf3FlVznjV0V91wo?=
 =?us-ascii?Q?sEkBJBbeT9aLwdFriE2LWs0N37iYzR5HQ1W5d6PYOrT4YQwXgrRcX8Hxdfwn?=
 =?us-ascii?Q?kQHe4ebZEHz+u+IgWPpJYApjz8WKh/PkP28DR8nWTG4nJqkoDZHHifE/HNgU?=
 =?us-ascii?Q?ZfkqWcxU5FdCrnoacMum/wNSaq5nFshQR8Sxv5IhXmhKHfjdZxPZJHmRDZsu?=
 =?us-ascii?Q?VU9k4RWEbbNj7xG2XWhcXR3aaHX1qQ1Td2Fv/s6AkiXAID+Vy6XCQDFh1Djl?=
 =?us-ascii?Q?H776ZAitxm9FZp8iGPQoY/4md7QEVEFOw8Wh//Mdd37U8Bi2vK+66Uu9+k/F?=
 =?us-ascii?Q?TpH5QkrXxaYWx13o8PzvloEhADUn497ru+T7HBORGsV8qjwJaWdDSrbO+7FW?=
 =?us-ascii?Q?/FsCTSQQJPW2BnXGjEcrhBr5p0RCFpTkVSVqoklVZzSx9S/+ouFN0EOjvDIj?=
 =?us-ascii?Q?RbqmZWVyteBVjyGW3VUTZFsOiBKetugzHflVewjP4Rf43AW/gCfAO8DcYLEq?=
 =?us-ascii?Q?P1V93Xz3q89Zl5oC80K3LnPXjUkM4sznjS45LQvZtoIoErX3609tOb9V0NNo?=
 =?us-ascii?Q?NwcYqR6e6byFjmSXDfjOJuatOBEmXCOhgNhdU67prDgCWtox6vTfJXEi7y+3?=
 =?us-ascii?Q?hbCGu+bqCDgAvIEcYP6mXCy8HumwiF1O6O6R3l3lTPra44klx9AfD329NVH+?=
 =?us-ascii?Q?qtjlJkopRQb1xOUzLQf1KDDUEHz7/9iPbpJoDaYZ6hBzSuRoFjaxeH30Q+Sv?=
 =?us-ascii?Q?y56sJp/j56Fhd/T4WvwAGKOT/TfgD17WvU1OUFyrhsr1vRLSLJ5FeSEw1hu8?=
 =?us-ascii?Q?BIAsrzc55Bh6dzGFeswrA5ZCyPqnS+0WqQmDA1acKI9t3lyDElE6ToxHLAx6?=
 =?us-ascii?Q?0KCTNIeW4nu48O1YJxzZ4NDV3FkqbqjUz7A268v5pfHGlojeZfhBZXImKm9f?=
 =?us-ascii?Q?BTGHGIkqSUe0o2GKr/2ddXt8BsUcvqaWOp9AmbPPvyFrzc81UbF2jvhpCQKP?=
 =?us-ascii?Q?QZXH5ywjluCMRQJRo5A/bIZeybWhSd5ij4smO3fUAtLbcGuYvkaABkc8XJcq?=
 =?us-ascii?Q?E/mpBl70KzhCl9UtYup88qa5def3NIpTFnh2PdOi8oaPTf36bm6aWcz9Eqbp?=
 =?us-ascii?Q?oc9RBpvtNApuBrICPaQaDlYW/gPf0pHzAg6wtICuh4P6SIP7WJ5M3YOA3y10?=
 =?us-ascii?Q?u9w7sITwzSz6G7M=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 05:53:56.7603
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 967fb730-f830-43a6-2c90-08dd6c2a9912
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=[SATLEXMB04.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: MN2PR12MB4208

Function cpupool_do_sysctl is designed for doing cpupool related sysctl
operations, and shall be wrapped.

The following static functions are only called by cpupool_do_sysctl(), then
shall be wrapped too:
- cpupool_get_next_by_id
- cpupool_destroy
- cpupool_unassign_cpu_helper
- cpupool_unassign_cpu

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- no need to wrap declaration
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/common/sched/cpupool.c | 8 ++++++++
 xen/common/sysctl.c        | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 3d02c7b706..f5459c2779 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -241,10 +241,12 @@ struct cpupool *cpupool_get_by_id(unsigned int poolid)
     return __cpupool_get_by_id(poolid, true);
 }
 
+#ifdef CONFIG_SYSCTL
 static struct cpupool *cpupool_get_next_by_id(unsigned int poolid)
 {
     return __cpupool_get_by_id(poolid, false);
 }
+#endif /* CONFIG_SYSCTL */
 
 void cpupool_put(struct cpupool *pool)
 {
@@ -352,6 +354,7 @@ static struct cpupool *cpupool_create(unsigned int poolid,
 
     return ERR_PTR(ret);
 }
+#ifdef CONFIG_SYSCTL
 /*
  * destroys the given cpupool
  * returns 0 on success, 1 else
@@ -379,6 +382,7 @@ static int cpupool_destroy(struct cpupool *c)
     debugtrace_printk("cpupool_destroy(pool=%u)\n", c->cpupool_id);
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 /*
  * Move domain to another cpupool
@@ -568,6 +572,7 @@ static int cpupool_unassign_cpu_start(struct cpupool *c, unsigned int cpu)
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 static long cf_check cpupool_unassign_cpu_helper(void *info)
 {
     struct cpupool *c = info;
@@ -633,6 +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 */
 
 /*
  * add a new domain to a cpupool
@@ -810,6 +816,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu)
     rcu_read_unlock(&sched_res_rculock);
 }
 
+#ifdef CONFIG_SYSCTL
 /*
  * do cpupool related sysctl operations
  */
@@ -975,6 +982,7 @@ int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op)
 
     return ret;
 }
+#endif /* CONFIG_SYSCTL */
 
 unsigned int cpupool_get_id(const struct domain *d)
 {
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 3129fc602d..0292233c7e 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -249,12 +249,12 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         copyback = 0;
     }
     break;
-#endif /* CONFIG_SYSCTL */
 
     case XEN_SYSCTL_cpupool_op:
         ret = cpupool_do_sysctl(&op->u.cpupool_op);
         break;
 
+#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_scheduler_op:
         ret = sched_adjust_global(&op->u.scheduler_op);
         break;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:01:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:01:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927090.1329916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJp1-0006kz-At; Wed, 26 Mar 2025 06:01:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927090.1329916; Wed, 26 Mar 2025 06:01: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 1txJp1-0006kq-78; Wed, 26 Mar 2025 06:01:03 +0000
Received: by outflank-mailman (input) for mailman id 927090;
 Wed, 26 Mar 2025 06:01: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiQ-0008HQ-KQ
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:14 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20621.outbound.protection.outlook.com
 [2a01:111:f403:2412::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd294f7f-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:54:12 +0100 (CET)
Received: from MW4P220CA0027.NAMP220.PROD.OUTLOOK.COM (2603:10b6:303:115::32)
 by CY8PR12MB8363.namprd12.prod.outlook.com (2603:10b6:930:7a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:54:08 +0000
Received: from SJ5PEPF000001EC.namprd05.prod.outlook.com
 (2603:10b6:303:115:cafe::24) by MW4P220CA0027.outlook.office365.com
 (2603:10b6:303:115::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.43 via Frontend Transport; Wed,
 26 Mar 2025 05:54:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EC.mail.protection.outlook.com (10.167.242.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:54:07 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:54:04 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd294f7f-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UHLXg3q/yNGN4jx2CJFDrP4BVSdIYc64w4lJ3979yONSbUb/4rEDcAXgfyVMJsOhgKJuNGDPv0RRTbE0VkMC4Vb0yjYtkFCwzpzyqyT1IUWClh2eaWbBo1qSNeMZw8ii4f2wHbKJufQlf3JA3GaWZB40+OC5Yz3vDuzKiJBOD+8KTO+XPApy9Ik8J0N1yRWcHjo3yLg8jjDqI0+adTE3qEeVH++Opl4f5rxojpQKATlW6WEyOCulZGYWMwfrO3yDtGaYUM1nPiXvOsfz2OuaYKHm9g7M/4/y5PFvitXTVK91f81X7PCwgHPnr18/ucrW01zIYo0XrsIobDCJmVr11Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gqCQBy/NPdR47E/oqD+gJgPZnc9PR5ehQnPBjBa07EM=;
 b=Ebav8g3iqP6K2Z+Ko4/LZtP/SeRe+/TXkgqG6nYArkV/Y5tJ6Ws4AMKHHnfdV62RmMeAwPsw0+5dy9plr7Ka6TNCjgKgUYk5D+/IViBsl2nRa/Reww6/XHOohPOqymCvyjkl7/UfjJjM7cAZT4bffn86I4M2yq7cYuQ8po4pyqf6JKa8oqEP9/4BHe4YE3D2RkEKiJ1xnxTjXjNc2XqyDvFWUMyPUo0p0Dx5QcQ7Gz5Ejmx9YF2vfxERheOpT1fBxH0IVTfPMDTKCL4NT8bjmGe4tA3zZ6liK9A4KBVebBeHcqr+BGWJhfrdfwS3Ag0v2EjxsLsiNG540op/Jfr0SA==
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=gqCQBy/NPdR47E/oqD+gJgPZnc9PR5ehQnPBjBa07EM=;
 b=B4Utn5DFDvs/LO2zpLMb80WZoQmRg95zarxuHGIOTD0nPTRVMAP94Tafd61VSEO7hj7VSUrTrt5lndt4V9UkktN5FYhsh71+Kq4S36RTwzdLpqahsyiP1U2CBivn5dba1YGTZtCbndq+NAOfE+o6PlxS+gpIJoAXIvRYA0fFSyM=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 16/19] xen/sysctl: make CONFIG_COVERAGE depend on CONFIG_SYSCTL
Date: Wed, 26 Mar 2025 13:50:50 +0800
Message-ID: <20250326055053.3313146-17-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EC:EE_|CY8PR12MB8363:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e683c2d-66a2-45c6-a7f8-08dd6c2a9f4e
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?HNHQlFrHA51tKR9JgbDtSu0m45QIJ3TXezgJ9i+ClB5eg9KZuepTfMKo5hwg?=
 =?us-ascii?Q?M+boYcwV4FrhwR8zSzPY/uGpzKLcH+yBkERb6BjMYcQAhonLrMZBWIF7tuOA?=
 =?us-ascii?Q?pO6B82FfK02OZWB+jamaaRwBwvSikGQv8vr3jPIKb2IyEPXzHQ0HGC0bZBTD?=
 =?us-ascii?Q?qWsibGZY8iYjVMbZrQsf86SPSamtLX2XAOjVJFoCh3QXkvMHnZODCx+6MubO?=
 =?us-ascii?Q?D6v7/b2VcANb/M0M4CG9oHRgdw215tMZzPSq6AnM+WgmlCPJnL8CdMBSJyGt?=
 =?us-ascii?Q?8Kiiqu9Zi8dXeMVw02Gfj82FrDVymgEdFVAoisZNbT1J56GMnFwkA4iGRwzy?=
 =?us-ascii?Q?abgndeIJo6GKIEELvPnNKxa0vuj2dqs/fG1B5s9UW2TA7YPvPxOMpxUWyCw7?=
 =?us-ascii?Q?duudVj2y5BhQT/a5ZL0KdohGr3CLlSSvB80KRJw7svxURNEhj2h/oxCim2Nc?=
 =?us-ascii?Q?bqc6+YGGBpw30QImEXMrH1ZxBL+5PChtwNvoibxYu4P2NkFQvHdQsQDDqLnd?=
 =?us-ascii?Q?WSSgZssJtyv51UiP8U6F9ZFI1r4FcAuTniCFK/+fMpVh8W7MyIwKG00yHdpq?=
 =?us-ascii?Q?X5StiJmzzJsn5dAtofaKJbJU9zSPNvb1jNnJAzHHpkth60G1WlRawqLDrFUO?=
 =?us-ascii?Q?23x1pJf1HBQsqM0z28Mn92I75xCFJ9GxCCNl4O4i0vc9V4A6m8rmOCjsh+LZ?=
 =?us-ascii?Q?az9WOqADCTvHo9GoiUyz/grDm36iNcNnyZqomoIhL7MiDGjsG5MHvc9aTzri?=
 =?us-ascii?Q?dOgB3yOPKvtDYvMPx9s/0DeI1sfSG4Aitx3FtfGG3093SfjhLZ7djjzlkush?=
 =?us-ascii?Q?XsGPnPp51emJ/HvgNSfUQEwRiKoVi2ssZd9ZunC7EpsPB8Hqr6bUO5OXV3RQ?=
 =?us-ascii?Q?+X2A/q1iRBcx/54qK4RIYvvn0en6JOCKYGvYaVrwpTaPK+Zeylk/qtsKlG5s?=
 =?us-ascii?Q?ADXpemEpQoXZidVPD1cTKTXlC+Zn6MctBPbz37+SlBzGa6NAsZNIEPS40oSA?=
 =?us-ascii?Q?bByj/jQXmkZGj3l2wzRvKkbGIUWcPAejQiwMaw3vbeE2zOGSza4Osryka6N7?=
 =?us-ascii?Q?o/EEIJa4yNselJqQIQ/b2qpyKWacDWScFsXnqMxcap6oUCsO1wp/M8iDjruJ?=
 =?us-ascii?Q?9cs+LIhytl//niugGIMxSHgtw8Qayfnb3gv8LAg+QK7NK4ledQVfyp2zOD36?=
 =?us-ascii?Q?s6JAvl9roBXbzM8yuAFMw969e7OJ8SYUAsa81dQjlzflm8tb1YfF2Fyco7B0?=
 =?us-ascii?Q?jEzAGXdRLSyjbimq3L/3JLYq7mBZPgUwM7EaqlyEdm7+W3wI5KVgHyg9TeS6?=
 =?us-ascii?Q?417CTvzHbQ2YSQsEe1lEklePz3Mb4KAJLX3L5j+rgr+70x02kEY/mrK1n/ik?=
 =?us-ascii?Q?n5TIR5eCLng/aJwsav9aMUf10E1G6hbMOVAUI5lo0kOpXNVAeZo076ykTq1M?=
 =?us-ascii?Q?im2pAkXfKEO9EAvQRCWCwAjeTskVty7QYYbQ8iXyGtDpARg/sWAXliSqh/2U?=
 =?us-ascii?Q?+GrKo3xARh69p2E=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:54:07.2230
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e683c2d-66a2-45c6-a7f8-08dd6c2a9f4e
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8363

All coverage-related op shall be wrapped around with CONFIG_SYSCTL,
so this commit makes CONFIG_COVERAGE depend on CONFIG_SYSCTL.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- commit message refactor
---
---
 xen/Kconfig.debug | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index f7cc5ffaab..84d26b3f46 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -37,7 +37,7 @@ config SELF_TESTS
 
 config COVERAGE
 	bool "Code coverage support"
-	depends on !LIVEPATCH
+	depends on !LIVEPATCH && SYSCTL
 	select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS if !ENFORCE_UNIQUE_SYMBOLS
 	help
 	  Enable code coverage support.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:01:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927116.1329925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJpM-00081Z-HS; Wed, 26 Mar 2025 06:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927116.1329925; Wed, 26 Mar 2025 06: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 1txJpM-00081S-Eo; Wed, 26 Mar 2025 06:01:24 +0000
Received: by outflank-mailman (input) for mailman id 927116;
 Wed, 26 Mar 2025 06: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiH-00083W-E2
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:05 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20604.outbound.protection.outlook.com
 [2a01:111:f403:2409::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b752411f-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:54:02 +0100 (CET)
Received: from SJ0PR03CA0250.namprd03.prod.outlook.com (2603:10b6:a03:3a0::15)
 by SJ2PR12MB8807.namprd12.prod.outlook.com (2603:10b6:a03:4d0::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:53:57 +0000
Received: from SJ5PEPF000001E9.namprd05.prod.outlook.com
 (2603:10b6:a03:3a0:cafe::60) by SJ0PR03CA0250.outlook.office365.com
 (2603:10b6:a03:3a0::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:57 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:57 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:53 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b752411f-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Z9reRpswixc0cYrpuennlhWqK6B+mn3lsQ0u0HpbxKY5dAkBGz1Bbj1LY5RYTABVfmQIqcO3fqwOWov60lGcciL/Xsov0uOt4fZ78fetzhwxbsK14VEDSliylxNKbXwndVZBQzNI5gVEOBEwPZXFEExUJKhhP6CvQHwA11YtEs1YhejbytmwNCGDx7V1mFRqbdGmvlwAW2BkMLyNAQaRRpl5evtj4AriecmVcxJv1IvAaVgiYfPR3AxnXK/k8tNrwPsYAwVO1ZifOx4es/ZtQzRSIXoizCTYHFvVw/oZPY9VCK2s11ieTzEfnphO+RmBuRo72Oe0SK/ezpsCstzRSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MzC/yz+Ds98yo0OWn9IJxBc4W+0P684qKIJK4XoV/AA=;
 b=SM1MVrb75cvza9UyPq/8+p6IWludXgKsQ+Vtb9Vh8yxP0upDwbd+IIBG5rZFhy5AGM22qL98GH2+i0NU2r/SfTkqJAL7OOfYaPGCqZImE+bEa7yxXzCspBbfvsxQt7/KhUcs0Z5ywqCB0ZWx2WWgIOtJ5xcD2ah0+5EdnCxTL1GQ+784hTvWdls31dhD4015zfS9atRxizBIz0W//IqrCP3MeKnRquZSbzOFXHA5d+8kgTrQqm1qcWzTK6knv71f+hp+A8NRRETa3RB2VPtNSYGU2w3ChmiRKWRCfURVvmfhoZvmhM4yO1/qU/IiH5e//REl77zpRCAN5Wvqp+yMRw==
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=MzC/yz+Ds98yo0OWn9IJxBc4W+0P684qKIJK4XoV/AA=;
 b=AvPjR8i4hy29UyaXFGXeud24arFig53LkB/kRvHuATlgvrjhNgUKg2hmkIhWRwIxaAbbL32L8cwysYNza/DdN2GVIw+OXF4nQPJRD4NFAUS0OubQU5PhiIH9rJ8ilWVyilmyK8EOSbBnrEiuoNWozltbPrbv1Js35V7daqL6d98=
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=SATLEXMB04.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>, 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>, 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>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2 13/19] xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
Date: Wed, 26 Mar 2025 13:50:47 +0800
Message-ID: <20250326055053.3313146-14-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001E9:EE_|SJ2PR12MB8807:EE_
X-MS-Office365-Filtering-Correlation-Id: b7cef2f9-f7a1-402c-9d9d-08dd6c2a9984
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?+rDfqH2yXU0EDUQ7oaUne+sZ91tWuzbAkwculGy9CPoTipPZ1JXQMlkE7pU8?=
 =?us-ascii?Q?SW9UIcflmTG6VwMUEg+M4y+wj3m9EyJMu+17Wm1ECbzG/OCkCV8l+Osg4wYA?=
 =?us-ascii?Q?55JzCgfZ9PoPrMDlvN1cwwkA0Y9vNTGLjDqPc9RKaE//zhXmKf1H3I1Kl1IW?=
 =?us-ascii?Q?VXwi1QclSBa8Rq2rlZUHwaFP6pNluyrvS6+jof2mOEmwqgTmRcE11qhFAhnU?=
 =?us-ascii?Q?ScXjOcKINobjmu0GI8tBGCr/8RkeqdqBj+mQOMZdBxAv9LL3g8J4Q8mWJAAR?=
 =?us-ascii?Q?eX5fr3+bphxSAtz4EKhXpUov3eQWaCV+nYYwHQyfHa+raqnIC/JLt35zRYVk?=
 =?us-ascii?Q?c6iNC4CgQDjWssNYbTuOLqOjfwldQRNGNSAdPhAxnk4wNZQMC6mql6dpK2jn?=
 =?us-ascii?Q?4paW26H9joee6wWumFW+W1J+I3QCtp4r6Ya0z/8RXqS6cvJ9A/lWL9YnLclb?=
 =?us-ascii?Q?BwJhYFB4rtV7TuPh5eOXtdL8DfAnC/7fnfgTcNz0KtaBz71yzAN/1OMXtoSH?=
 =?us-ascii?Q?qmeMrRub/Z8uAmieH1fS0YucWRoObQXAEynq52Lk3QtLhkMZCrQ8n4fnjGWO?=
 =?us-ascii?Q?G3a8xLxYZ7vuz5KF3j5W2bpY4aUq/M/HniduyjSgjfICC14xP09hx0aLltzi?=
 =?us-ascii?Q?5Cw+DjhUSuKJKxFN3AT4H8L+JPdPv4CQYOixm6gPX/Y+BcLiOYmveMKH6wKG?=
 =?us-ascii?Q?9vRdsBsLq0Mu7foMUPQwq1HeRPram20RY2xp9fmIUKp6tKMXKjSYW027vCEU?=
 =?us-ascii?Q?oGEt6DK9th7W41cx+5UbgOONd1eCkIwcbaP91y+sH/+sZ3J3RPiZX+/cbiY1?=
 =?us-ascii?Q?kVCBTREQU4AHbhl2m/iGqNHk1VerPbvDq7Uw18EgHHIdls+20BUii3ZNVKe2?=
 =?us-ascii?Q?/O5Cb4tXSkiLzQGmnAJKa7xxj0q/tQ2aZRkmDHpjcpUDR7sywYzgQv/eaAbJ?=
 =?us-ascii?Q?bzdnPGruVjUDSx1ArSwMvjlhq/n49ay0o4YG8pllFGbnDixLcqznPFymZek0?=
 =?us-ascii?Q?ivQ/CQgG8geJWbTI6VP6E8As0bpM4KZELHEcsK9IM/KQk4c+O4TAB0MWYbvV?=
 =?us-ascii?Q?OdGzI6ZQvi6/zPOuA6wLPHiYWSzTUsm3J7Jc/zQeD8ARjvnmksuAUJbfDYHu?=
 =?us-ascii?Q?EU+lRgOzlKCmz40ywYe+vwa8pIz1YRrfcxYwoDMEeittw0pRMpfX8JvZjx/u?=
 =?us-ascii?Q?OESmbxIYmMAyQepBZ0wFNyWqkuh7vuHmvOysdw1WW9wZnXtZkLHeUGaotZLn?=
 =?us-ascii?Q?tA30499EGKV1+WQoy6cVS/UrLPudW8W85xO6w32kvBM3SX0MAKW3tlGK9SZ7?=
 =?us-ascii?Q?CwI6UWxJv81cwTYjFxN+01eVfFjXkRzw/pHZCGotJl2fkaRvMW/uwufzqhK2?=
 =?us-ascii?Q?5ZD/2xMTHftDZjVMW/IuICg2urmPNUZHY+DZ11WDpr7h2LLbFrJfY74uamvd?=
 =?us-ascii?Q?qaIxxV1fQFbrTHaPUo7v478UnfQtve5oBOfEYYVN7VGWfLOd4m05eMfYqpiD?=
 =?us-ascii?Q?ilxsDeMo5iD5Qtk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:57.5103
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b7cef2f9-f7a1-402c-9d9d-08dd6c2a9984
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=[SATLEXMB04.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: SJ2PR12MB8807

Function sched_adjust_global is designed for XEN_SYSCTL_scheduler_op, so
itself and its calling flow, like .adjust_global, shall all be wrapped.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- no need to wrap declarations
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/common/sched/arinc653.c | 6 ++++++
 xen/common/sched/core.c     | 2 ++
 xen/common/sched/credit.c   | 4 ++++
 xen/common/sched/credit2.c  | 4 ++++
 xen/common/sched/private.h  | 4 ++++
 xen/common/sysctl.c         | 2 +-
 xen/include/xsm/xsm.h       | 4 ++++
 xen/xsm/dummy.c             | 2 ++
 xen/xsm/flask/hooks.c       | 4 ++++
 9 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index 432ccfe662..3c014c9934 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -220,6 +220,7 @@ static void update_schedule_units(const struct scheduler *ops)
                       SCHED_PRIV(ops)->schedule[i].unit_id);
 }
 
+#ifdef CONFIG_SYSCTL
 /**
  * This function is called by the adjust_global scheduler hook to put
  * in place a new ARINC653 schedule.
@@ -334,6 +335,7 @@ arinc653_sched_get(
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 /**************************************************************************
  * Scheduler callback functions                                           *
@@ -653,6 +655,7 @@ a653_switch_sched(struct scheduler *new_ops, unsigned int cpu,
     return &sr->_lock;
 }
 
+#ifdef CONFIG_SYSCTL
 /**
  * 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
@@ -692,6 +695,7 @@ a653sched_adjust_global(const struct scheduler *ops,
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 /**
  * This structure defines our scheduler for Xen.
@@ -726,7 +730,9 @@ static const struct scheduler sched_arinc653_def = {
     .switch_sched   = a653_switch_sched,
 
     .adjust         = NULL,
+#ifdef CONFIG_SYSCTL
     .adjust_global  = a653sched_adjust_global,
+#endif
 
     .dump_settings  = NULL,
     .dump_cpu_state = NULL,
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 13fdf57e57..ea95dea65a 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2112,6 +2112,7 @@ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
 {
     struct cpupool *pool;
@@ -2140,6 +2141,7 @@ long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void vcpu_periodic_timer_work_locked(struct vcpu *v)
 {
diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index a6bb321e7d..6dcf6b2c8b 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -1256,6 +1256,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned int timeslice_ms)
     prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check
 csched_sys_cntl(const struct scheduler *ops,
                         struct xen_sysctl_scheduler_op *sc)
@@ -1298,6 +1299,7 @@ csched_sys_cntl(const struct scheduler *ops,
     out:
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void *cf_check
 csched_alloc_domdata(const struct scheduler *ops, struct domain *dom)
@@ -2288,7 +2290,9 @@ static const struct scheduler sched_credit_def = {
 
     .adjust         = csched_dom_cntl,
     .adjust_affinity= csched_aff_cntl,
+#ifdef CONFIG_SYSCTL
     .adjust_global  = csched_sys_cntl,
+#endif
 
     .pick_resource  = csched_res_pick,
     .do_schedule    = csched_schedule,
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 0a83f23725..0b3b61df57 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -3131,6 +3131,7 @@ csched2_aff_cntl(const struct scheduler *ops, struct sched_unit *unit,
         __clear_bit(__CSFLAG_pinned, &svc->flags);
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check csched2_sys_cntl(
     const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc)
 {
@@ -3162,6 +3163,7 @@ static int cf_check csched2_sys_cntl(
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void *cf_check
 csched2_alloc_domdata(const struct scheduler *ops, struct domain *dom)
@@ -4232,7 +4234,9 @@ static const struct scheduler sched_credit2_def = {
 
     .adjust         = csched2_dom_cntl,
     .adjust_affinity= csched2_aff_cntl,
+#ifdef CONFIG_SYSCTL
     .adjust_global  = csched2_sys_cntl,
+#endif
 
     .pick_resource  = csched2_res_pick,
     .migrate        = csched2_unit_migrate,
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index c0e7c96d24..d6884550cd 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -356,8 +356,10 @@ struct scheduler {
                                     struct sched_unit *unit,
                                     const struct cpumask *hard,
                                     const struct cpumask *soft);
+#ifdef CONFIG_SYSCTL
     int          (*adjust_global)  (const struct scheduler *ops,
                                     struct xen_sysctl_scheduler_op *sc);
+#endif
     void         (*dump_settings)  (const struct scheduler *ops);
     void         (*dump_cpu_state) (const struct scheduler *ops, int cpu);
     void         (*move_timers)    (const struct scheduler *ops,
@@ -510,11 +512,13 @@ 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
 static inline int sched_adjust_cpupool(const struct scheduler *s,
                                        struct xen_sysctl_scheduler_op *op)
 {
     return s->adjust_global ? s->adjust_global(s, op) : 0;
 }
+#endif
 
 static inline void sched_move_timers(const struct scheduler *s,
                                      struct sched_resource *sr)
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 0292233c7e..ccce7fe963 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -254,11 +254,11 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = cpupool_do_sysctl(&op->u.cpupool_op);
         break;
 
-#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_scheduler_op:
         ret = sched_adjust_global(&op->u.scheduler_op);
         break;
 
+#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_physinfo:
     {
         struct xen_sysctl_physinfo *pi = &op->u.physinfo;
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 5ac99904c4..6e1789c314 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -57,7 +57,9 @@ 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
     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);
     int (*sysctl)(int cmd);
@@ -244,10 +246,12 @@ static inline int xsm_domctl_scheduler_op(
     return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
 }
 
+#ifdef CONFIG_SYSCTL
 static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd)
 {
     return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
 }
+#endif
 
 static inline int xsm_set_target(
     xsm_default_t def, struct domain *d, struct domain *e)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index d46413ad8c..8d44f5bfb6 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -19,7 +19,9 @@ 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
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
+#endif
     .set_target                    = xsm_set_target,
     .domctl                        = xsm_domctl,
 #ifdef CONFIG_SYSCTL
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 39f8331207..64c9531346 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -626,6 +626,7 @@ static int cf_check flask_domctl_scheduler_op(struct domain *d, int op)
     }
 }
 
+#ifdef CONFIG_SYSCTL
 static int cf_check flask_sysctl_scheduler_op(int op)
 {
     switch ( op )
@@ -640,6 +641,7 @@ static int cf_check flask_sysctl_scheduler_op(int op)
         return avc_unknown_permission("sysctl_scheduler_op", op);
     }
 }
+#endif
 
 static int cf_check flask_set_target(struct domain *d, struct domain *t)
 {
@@ -1887,7 +1889,9 @@ 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
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
+#endif
     .set_target = flask_set_target,
     .domctl = flask_domctl,
 #ifdef CONFIG_SYSCTL
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:01:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927132.1329936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJpU-0008TH-Pd; Wed, 26 Mar 2025 06:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927132.1329936; Wed, 26 Mar 2025 06:01: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 1txJpU-0008TA-Mr; Wed, 26 Mar 2025 06:01:32 +0000
Received: by outflank-mailman (input) for mailman id 927132;
 Wed, 26 Mar 2025 06:01: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJi3-0008HQ-42
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:51 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2416::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b00e91c6-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:49 +0100 (CET)
Received: from MW4P222CA0003.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::8)
 by MN0PR12MB6175.namprd12.prod.outlook.com (2603:10b6:208:3c4::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.43; Wed, 26 Mar
 2025 05:53:44 +0000
Received: from SJ5PEPF000001ED.namprd05.prod.outlook.com
 (2603:10b6:303:114:cafe::64) by MW4P222CA0003.outlook.office365.com
 (2603:10b6:303:114::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:43 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:43 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:39 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b00e91c6-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wYDLBBKTy7OF9vW/vqXUCw3fmr7nJPc9O47o7fOmfg+/ENsiFzcZxA+rwxeCCaU95BcnAJXlEVsXWkELvG/6TS1el0P0vy9lUXctNkbSAuI6TT3FWLqWtfLTn1rwJAkTL7Bu+MSk+bR5m7DDQ9q08AWujiidIsdot2rsmp9zAFp9ZvEef5EB2FlBJW4AULfGVUySb1m5lv2FQkCA7i0YGflxZNvMJDgzi0rHm8gtoj8qfqONIYe3n/NhVyEVCLRZ/c/3LsZJE/PYDPK1V33LrsWYSnHHeieeOWQx4+4Q1N31GSuKy4fPBCq4YRghgaBTTNvYeBGatL5KNEetH0OvSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DkPzVb9EWJAVFmOTUhFIe6Bwd7eu9nzSdd6u4mcgRpM=;
 b=pIwXy10+/tOlQHqNTMzgbql/EnSPic4JHoe4s9MHcobvBZwc/WK8IWKWHQVTN3wONLGm0hNZmgn14Ff7OYeeMMeyLTpQ6BH7NfoL/f2A+g6phWXDRdrkIlTRisog6IcIFGJbYiP0Vz0IknXVb2d8KUrL78e/noFDj6u+CArtnrqHNSa6XUoGu0g3nP0vUpXGVrLybX+2xCvqA007Sb7G1RSp7DPDLFcV/6F6PX128de64b1X8KfIWMuPEIj3/QKNK0e1XgIt6TrgeoOyDuYd/qhUDPy6sOJx6RZN1Vb06wmcNihrlY3+bL470c3Qt7MQlDRhDKv7zb2ptWcEnX9F0g==
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=DkPzVb9EWJAVFmOTUhFIe6Bwd7eu9nzSdd6u4mcgRpM=;
 b=TDwyIPP4Ou8xARzNIlWIfD1ofqvG3L1gyoz5XDU4hoBJROEBsKhuSIteqrFbO3oFmWzbvoIJtHgl1pY+9yHRzf/27eUA+OlrWhv34V4A68MPH0ThYOvSChUXAEhT8jtiqmV515AyS3xEQcxQ21yRkWV7CEqTfsOKmlSilIDDwrI=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 08/19] xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
Date: Wed, 26 Mar 2025 13:50:42 +0800
Message-ID: <20250326055053.3313146-9-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001ED:EE_|MN0PR12MB6175:EE_
X-MS-Office365-Filtering-Correlation-Id: c6d5431a-95a4-488c-094a-08dd6c2a90ef
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?BRBWHhGKC0ba7ZdMvgrHoYC7TQBRDd+SG573CRs6H3ddwvB7OilZggsB+7Gv?=
 =?us-ascii?Q?vr5DIUy2TWG63ZLYVuDx1fiBdFRYeiBvnwfESz8iHNWdT1SbzsVh+N0kThrI?=
 =?us-ascii?Q?MW9fmzmjpDUgmDDpHBAfKwZEEfrCr84/Xfww5vfDzF63ar63Z2/UN3GryzDB?=
 =?us-ascii?Q?R9bfOF0EJKy/arJEY1+HB0DWQRWxqex1iLnvEdTi8eBlZ+VsuCG1ClZpTz9F?=
 =?us-ascii?Q?n4omhWI0eBdRAEcyL0SE8ams/f2GU+rC8cmml5fALU9ebLGEqXOscc96BHAn?=
 =?us-ascii?Q?YT6G2HYM8VDkT/cX7VCzOyxYW0i0EFWyA2OwEE79dI/r9DDggQ/J/eAi1juY?=
 =?us-ascii?Q?bos25yTH8GNcEaE3si2aupspKhCSrm0911DE2f9G0vkwU9BkoryZSma2+A6U?=
 =?us-ascii?Q?O8IZCTQ4wY3uQbrwkxeaxvkLoQqzk0VSbDz+0hampab1nrEUSsnC50FLTYbA?=
 =?us-ascii?Q?63gXBKzeG64e8mt1l4NOqbEitvyd5C0oKbLBKhjFWcWyAGmz6pOvgdb2saD2?=
 =?us-ascii?Q?d4N48ROttc/uPWcpQsDzo5D6ETQ0jB5F0KLu0Nrsoc1S4o7G19qC3sISinaw?=
 =?us-ascii?Q?2pi7CQiduZvO65Z4A255koCfisqP66FIzbJAiHZEMzPkVzIHd5skpI8KerzP?=
 =?us-ascii?Q?mhkCh9wPfAh3xoZaaEnDHpkhMjpQ9JAZtC9Wjfg/UijdbXiMZM7WTe8eMXK5?=
 =?us-ascii?Q?nMWvNh8qgfTVUxxMFkpSBI767wqgmCp7YKIkaudND3G1sabF96N3C+K41n+m?=
 =?us-ascii?Q?Pq/uH7uejFA+6pckMUys9Mh+24kRUGKSNBzyWNGL9D1HWze4F1MMfNW4zACX?=
 =?us-ascii?Q?PHcREP3DncP7c51g/+jRra2zGw1cL5nzPhnniccLkugZwFyf1MKHQlyAuPWG?=
 =?us-ascii?Q?f/UVe886ThkXXxHGJZYgpMDLu9k5rJNTDDEeVV+21XCq9Qn0tVIjSsB5KoH3?=
 =?us-ascii?Q?zvMUVFRm11n2x0HApXHoRWuW4q7JzXzsmn56Ko50V2FlVqRQb5dHoVkphlmN?=
 =?us-ascii?Q?Fwdpumjbvmk6WO+zB0zISRq7JegpLbw7KjVioKGWtNrIWJd+GU0XIv9eYW0B?=
 =?us-ascii?Q?udr9vsC41aFqG17wbDibvuHr/a7mJNCViQHzhLh1PN6nV4mFGurIGWw+dPCk?=
 =?us-ascii?Q?6n07AQoFslHARmn7+9tyPS0KU1VOC/B6/dYUE0v61agV6Mto89chm5XTwORz?=
 =?us-ascii?Q?2ZyWB4Wb3bEtY3TQRCcz01+iI3B8xL3r0NLdklSjn75P+BwPrikihFnAc+7o?=
 =?us-ascii?Q?9RAmW9WZCGJzb6EOqfy1txBR+pzA8149HtcszEdqIYkzTaJlD6WDzRTSo8A5?=
 =?us-ascii?Q?D8NCLlGTC9n5zOr0XAWjrFOA6XbHDhJH8EG0Hwc1E2IWrc9x+FBzrSa8McPV?=
 =?us-ascii?Q?+T8iBreS3ErPZSuVhI1fuadBR/tHYHSMu1xCch6ITpeWsJKky3EVkBsJKdWo?=
 =?us-ascii?Q?YZGLeLqaWnxKoMdxKtWIR5J/45JJ9KnQd1Gpl+ssq84PYTdHf1KLlS0rCrng?=
 =?us-ascii?Q?pFsD7dx/m6sl1Fg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:43.1239
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c6d5431a-95a4-488c-094a-08dd6c2a90ef
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=[SATLEXMB04.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: MN0PR12MB6175

The following function is only to serve spinlock profiling via
XEN_SYSCTL_lockprof_op, so it shall be wrapped:
- spinlock_profile_control

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/common/spinlock.c | 2 ++
 xen/common/sysctl.c   | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 38caa10a2e..0389293b09 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -690,6 +690,7 @@ void cf_check spinlock_profile_reset(unsigned char key)
     spinlock_profile_iterate(spinlock_profile_reset_elem, NULL);
 }
 
+#ifdef CONFIG_SYSCTL
 typedef struct {
     struct xen_sysctl_lockprof_op *pc;
     int                      rc;
@@ -749,6 +750,7 @@ int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
 
     return rc;
 }
+#endif /* CONFIG_SYSCTL */
 
 void _lock_profile_register_struct(
     int32_t type, struct lock_profile_qhead *qhead, int32_t idx)
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 0da82d6e31..4602d84203 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -123,13 +123,13 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = perfc_control(&op->u.perfc_op);
         break;
 #endif
-#endif /* CONFIG_SYSCTL */
 
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
     case XEN_SYSCTL_lockprof_op:
         ret = spinlock_profile_control(&op->u.lockprof_op);
         break;
 #endif
+#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_debug_keys:
     {
         char c;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:01:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:01:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927136.1329946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJpd-0000bV-6X; Wed, 26 Mar 2025 06:01:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927136.1329946; Wed, 26 Mar 2025 06: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 1txJpd-0000bJ-3V; Wed, 26 Mar 2025 06:01:41 +0000
Received: by outflank-mailman (input) for mailman id 927136;
 Wed, 26 Mar 2025 06:01: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiY-00083W-A0
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:22 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062e.outbound.protection.outlook.com
 [2a01:111:f403:2415::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2a207b8-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:54:21 +0100 (CET)
Received: from MW4P220CA0010.NAMP220.PROD.OUTLOOK.COM (2603:10b6:303:115::15)
 by SJ5PPFC41ACEE7B.namprd12.prod.outlook.com
 (2603:10b6:a0f:fc02::9a0) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:54:10 +0000
Received: from SJ5PEPF000001EC.namprd05.prod.outlook.com
 (2603:10b6:303:115:cafe::49) by MW4P220CA0010.outlook.office365.com
 (2603:10b6:303:115::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:54:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EC.mail.protection.outlook.com (10.167.242.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:54:09 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:54:06 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2a207b8-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JF9QiQBLmAQMQLSVNqMebKMWrRctP8jvGggd3n8R+CU/GXhj+d1UhKPjJLBsuGQhCgqvMy/5qIMnkIP/fJZoZDkJOhH6sV1WA6ZeMt77/lGakZwSBib3Jk+9cPy0elEDE6+l6HQx2vlE5SNIvRTFM2dUlYL4Lfcz5/0DwtIirE/X9spqcspA1bL6002mhsTJ2e8Beu8SodaQwleN6AEwrXBkB8faGkd4WbvdZy1gYyWQ9Vw3/qD6PwzIBSQ5fXKuYEHSFlY4jRXEkan3b6NpQ4bA7vvA5tEl8nOFD8YHySe8aHSVX41bD6oay0eKVIhLBb97UyjdUDz2H3cOiR90Yw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fLupjByiJ57ZhQoY7Kk9prb3LBq+7sgHpLsMgB0Rgx8=;
 b=wAFOEEeaNLtOSp2uT5biQPJwgkoiNPJmHoh4PPmSU34eUGXa8mJQ5bRWjSlCLN9/p/bNta3sMDYZFxbT3djqQiZEXYcIfrCVnfV9SMtJH9jTgNpEZBlhT1rVj/W7hufvi2ngmQL0Dqfo3xft/8kXzu3bQmPVsp8n9WFXTiOYu1w+Zy1jEbbngno+UcOYfORXOD8kFow5ilyzk1dp40kTyzs98Do/+NqcKh2AsCbm30A5ESuVtAIerYHnrzylcyQkSjEGqi1rDfKezZIyJ5rOjrKG72G2U3ehFw7YtPN9JQn2ParqsF3mGlXdfmRpF0n9ekK4w7RLGvczsuqwlsYzmA==
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=fLupjByiJ57ZhQoY7Kk9prb3LBq+7sgHpLsMgB0Rgx8=;
 b=ZkGz9txPaPeNSGrRUBpsGrRMfl3tpnVaX/erjik3mvImmTXnKVQp/3v79W/5dzozooBkrIPMx5sfnSEqmPTmUPGu7eCTv4GZm9M/Ci+0UgDSANIvrJfVqTDPTYvqYKusyE69IYeT9qcLXVErerj7UB4fAd8Qy6DpQ+Wp0oIVyqM=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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 v2 17/19] xen/sysctl: make CONFIG_LIVEPATCH depend on CONFIG_SYSCTL
Date: Wed, 26 Mar 2025 13:50:51 +0800
Message-ID: <20250326055053.3313146-18-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EC:EE_|SJ5PPFC41ACEE7B:EE_
X-MS-Office365-Filtering-Correlation-Id: 440aea4b-ca4a-4751-970d-08dd6c2aa0c2
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?Yc8aN+YD3HR5HnKwu/Jzg756T1PBAbq617QTAQcEwHwlRs+QbfumfbpSvgSA?=
 =?us-ascii?Q?fmNBgPo6GK5wCIWSqvwS3ihdgXhIYbWeaSF4mmS2Agd+Rso+DwYIpHMhINJq?=
 =?us-ascii?Q?rFzAp2XPrySRRjv8CqxzZjj149z41ZaqoUma7N8sqRjmncVgCQotBTqnQv4z?=
 =?us-ascii?Q?okkIW5HNUg4ROmHaDJQnkcm/jYf+9X0pBEEVqX9ocpkmWZt9bsy4JEeyphrL?=
 =?us-ascii?Q?sGnpK3lFjoU8ndLsLke0VUSSvRohmrhx3F0pUfP4jBYm6PehwGrJ8Q4cs7Yp?=
 =?us-ascii?Q?U+VCHY3337V36KqkfluLi3CB6pTqBtRiE7HHNbwwS/DXnfsydqBT+wGxvs3Y?=
 =?us-ascii?Q?5naPdaI0e9IEXHvgFGyjF72E0lVpbs/rDTMqICgXpsZ9O94yuKzufp2Mw8A0?=
 =?us-ascii?Q?crZQUee7WBH7pbjLj6zP9tNA149S5lMIdvzKeual7oVYdTVAd4Y0WygCPqEe?=
 =?us-ascii?Q?0CUqpLaSeCYz6lLiarcERPUhKCvb7B8cOT8HRusMBKrTS5sGfFAs6IeGhjTp?=
 =?us-ascii?Q?g5wwINtglofzh+kf4tBdh+2by3BNWC9Hnp+Sl6RfUWDuhHVOJb7jCb2l/ejN?=
 =?us-ascii?Q?0RptBg24o2rSCTNuj+8/0G96D5qOeZg0KWjJ0SlsFbk6DpuRhjVSgdRFlauy?=
 =?us-ascii?Q?Df4r7Ovk9ujrlA+OSdYeGgk+MlNe1r7EgXxO5Fg1LyrokvRUQ0mdmiQoTV6Q?=
 =?us-ascii?Q?h9XMBgd03vdlLRKM5pbPQNkFtdZuVm8udhGBf20UtJFnOrhDk+xAqbDAjIRH?=
 =?us-ascii?Q?rTo+hxCdlLY6bKTCKrbrco63q6gsGTnYd7pqIs1dMOJ5Lh/vmekyL9QaA9XW?=
 =?us-ascii?Q?sbXGY89/spRn0ZbNIjfMJ5eC7hijcFlZ1Orsy2oAfvOJ/Vl3piv+I9r2p4Hr?=
 =?us-ascii?Q?i2vVjzQZM8RDQq/gYhYv4IOeTlUOMK9uUyWmBzl+ggZcqWnYpubr+vTrxsr9?=
 =?us-ascii?Q?ES9uAkIINugVH1G76kge8EaARHiWQCuzgyHE/OuuZtG3Sl2xRf47Y7sJyBFP?=
 =?us-ascii?Q?nOR6IUqkE7Me4iQ5rNvxrWfM9S2ccQyCRUuShWSRyQ+6a/rARP9tspdHd/IP?=
 =?us-ascii?Q?XA2SUY4djoCush5Plau2V9aISam9ybNWLuE4uS9HYymAvr3xT/l0EIIfiOJi?=
 =?us-ascii?Q?DnkS4AxpodrI6NO30bzEG2PllDw0Lmz9izOqzBkeAdJ5J6H1GCfWSKXxgMXI?=
 =?us-ascii?Q?99wQ067sNC+yJFyKKjqUCYzbmitPiARG0U2RYWtNjAgvT4ZUGX2NVkRImN+L?=
 =?us-ascii?Q?VQ7+Q/tQ7U+Ucpn7tyA6PW2Rva0dvyZtw2LukByDG5NwkgKvsgTWs+9z0D/I?=
 =?us-ascii?Q?KV/ZC66EVWtk3fBQTea/k5eoYhh2ukVFg5Pj1dDeLRqzE4wu3OeXZlepXfqv?=
 =?us-ascii?Q?1jJg9+vHwrBFLG8GJAs5fkenxi7W7U00FJ4/geUQZrJA8c/YpN44pwZ9Ki7P?=
 =?us-ascii?Q?oTvBcOK5o35XTLyN5SQ3hzI2dZYJlXcbge1r3U4tmOIsCIP2WQ8XJy9c6nJd?=
 =?us-ascii?Q?hX6n5D7X7siW4J4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:54:09.6605
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 440aea4b-ca4a-4751-970d-08dd6c2aa0c2
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPFC41ACEE7B

LIVEPATCH mechanism relies on LIVEPATCH_SYSCTL hypercall, so CONFIG_LIVEPATCH
shall depend on CONFIG_SYSCTL

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- commit message refactor
---
 xen/common/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 426fa8fcc2..a7e1147e8a 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -421,7 +421,7 @@ config CRYPTO
 config LIVEPATCH
 	bool "Live patching support"
 	default X86
-	depends on "$(XEN_HAS_BUILD_ID)" = "y"
+	depends on "$(XEN_HAS_BUILD_ID)" = "y" && SYSCTL
 	select CC_SPLIT_SECTIONS
 	help
 	  Allows a running Xen hypervisor to be dynamically patched using
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:01:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927140.1329955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJpe-0000t4-Dn; Wed, 26 Mar 2025 06:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927140.1329955; Wed, 26 Mar 2025 06:01: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 1txJpe-0000sx-Ai; Wed, 26 Mar 2025 06:01:42 +0000
Received: by outflank-mailman (input) for mailman id 927140;
 Wed, 26 Mar 2025 06:01: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiZ-00083W-AA
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:23 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062b.outbound.protection.outlook.com
 [2a01:111:f403:200a::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2ed825c-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:54:22 +0100 (CET)
Received: from MW4PR02CA0007.namprd02.prod.outlook.com (2603:10b6:303:16d::33)
 by CH0PR12MB8463.namprd12.prod.outlook.com (2603:10b6:610:187::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.43; Wed, 26 Mar
 2025 05:54:15 +0000
Received: from SJ5PEPF000001EF.namprd05.prod.outlook.com
 (2603:10b6:303:16d:cafe::67) by MW4PR02CA0007.outlook.office365.com
 (2603:10b6:303:16d::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:54:15 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EF.mail.protection.outlook.com (10.167.242.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:54:15 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:54:09 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2ed825c-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aS5U2wdPHPyqviX7lS3GuMDnxskm3zpwoC7mYVxIv+2LXlBt0nxc5oIX+06jPEUNMKxeYW94OkWvrT49Osrgj4xkn+TVtqxUeMABQl/MONrvUnhBpv+hUjby3L3kBtaBGrOQNq7rwQDuHTaVV9F2WSfnSbv8T7GjdIVRTlNmGcEhJIbmRH+Wr0BFqzD93ZTrCRC4FuEkinLpkWAbEH+u/L9lq7G6imKhUodWJQHGs9YgngWOgEP5O6guB13kYoZPqr6lpmWaeQBhMwNzV0X1/gCznijl69uBGYD81xaZYxDkLXDZPFDHFcFVU1ec0TPbDKZn0/RF9A3NLKIWoXGV0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UhP3wDm2HcbDP/Jr6t5e2kUjv8IqtbnFN3jumgtN+lg=;
 b=cjWNDXtKbsFvpevNtLr+AxXhUxN5Ohw4edLZKthcASXF/qD1ehXdSaEOKsZfla+JW3vBhRbyNjgy6xaK/az5u1JwzmERqFZ/DpVBGyAsx+VFaNGIR26KM5bdltlYXG7F0B27PxVhzWdwE7SkknKb1PEy4F9hbQHB+FkO9Er5+WhvCYVilasYdeUOiDro3BN6qo4tQulqO3vYd8sX6ri0SP7LWag9ee943I1vfnjy5ITpoanem2WbM4gNrSuy8rves6IfqjG4zCH3Y953U50oEX2t1+QhlOOViaeFFjDVIG9ZBjOvaQQrI9jYZWxCSsGSx5g6VBNTJmkZmz5KtgOdMg==
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=UhP3wDm2HcbDP/Jr6t5e2kUjv8IqtbnFN3jumgtN+lg=;
 b=gq+neaWufP8MsFu1dR7qxASYRCx40BCCtq0EAtgxFTNRkGW36Uiz4ROgNIr+c/1ESADfRas0XWBWcsjq8iM7rfu0qBf8yYZa/6aguKurjMiBHNZZ5MO88sgLIHguxfAayXreIJKqb0Ce1on1VTSeIHcR//CPkoIovrBArjMpvoo=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, Alistair Francis <alistair.francis@wdc.com>, "Bob
 Eshleman" <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [PATCH v2 18/19] xen/sysctl: wrap around arch-specific arch_do_sysctl
Date: Wed, 26 Mar 2025 13:50:52 +0800
Message-ID: <20250326055053.3313146-19-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EF:EE_|CH0PR12MB8463:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f984c3f-90f6-49e9-2b77-08dd6c2aa3f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|7416014|1800799024|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?hDYjutqxNuDyUQjNW1MwtYqbzXYz2TTaYUJ7b3FLUKT5n71jZgh93jcxl/qS?=
 =?us-ascii?Q?ccVebM8/i3OXz0PD6ibGLjXjh+3rq1G0gRVVv5enLoDMrr3eWXLlqdgDwayp?=
 =?us-ascii?Q?t9cLa8VmtU9+LYrf69Vhq0MPsRA+051kRLnRWNmq/lFRmBIpSD1sVQkyoYbz?=
 =?us-ascii?Q?wfPDSktill+iRQCMRqy+AZtwjcCcpUbncXf+wViwqe5tZ5xkyTfra0slL35z?=
 =?us-ascii?Q?q7WJnoYO7VjT0P+ayQ+mhp9Y+MUe1aLOJF8/fHbQXItxi/whgZaQ254JOPEG?=
 =?us-ascii?Q?apxAbzF0t6CdwZ9qwe+dDqY8ECDL7LyIAJE+aQPMif1/wX6OH7qgcjC4vd9I?=
 =?us-ascii?Q?9JDqHmWeIG57htStV5EPT1q6AnVouKeaEMtsCalEjlbfVSMgp8aP8mbtJYvh?=
 =?us-ascii?Q?Wp6ZMskfXCD+G1XyY2s/G2WaCEUMWjCAxHcpKWC4sNVjKQcADEyVZKAFV/VD?=
 =?us-ascii?Q?ixmPMZC4VO+uT05CM42iZXd9D4x1zvkEE2UBzdtu7VMk1xHxkF9Vwsh2PpFy?=
 =?us-ascii?Q?6BwucgMvuv8sT4H2pqqcvI4/nd77N325olMLzoHVxFX5wztltVlbvvHoqUGw?=
 =?us-ascii?Q?MBqs2G5PnpacTiKZb8R5Bt6EA3knS9yf00JzmEJKPtPxF89LKS0LgbpGJDXM?=
 =?us-ascii?Q?CTYcgSN05wJe06c6xVR+lzX19tkR6DpQvlL+O3FhwNs1FV9dRhjvnObzXFcS?=
 =?us-ascii?Q?o7B5ZkVnS7eAQqS03qdujdk0cB+A6vStVnxdlvQJFI5XX+/PAcXEdfEWhFUo?=
 =?us-ascii?Q?QDKRqpQRL1JuwTxnuwLm7G/FThek90rD5VgNOQHIayE8QTTf+YA6FHHROwkG?=
 =?us-ascii?Q?ep2IMy2dsd59651rXtwuOBoLMXAHdtbNCoAsbPohYPu8TK8frXZI2mSJxP02?=
 =?us-ascii?Q?VQkW01Y+DyhTQU9r68Rsu9yVlwXHGNlck2uD70wUmtWBl/OeQBQg2Z11CEyr?=
 =?us-ascii?Q?vLMlXxiTcO3zGQ2Q/BzD+hQzaAfZnBevwqyg0mqa+068j8GIOqTDIiTR8b0G?=
 =?us-ascii?Q?Kf39rT3lektc21HW8BuJlT8ccxcGC89IGEY8BuBRmY/+uzX2GxOJHunUrkmu?=
 =?us-ascii?Q?TqWRebXhBHNRnwuw5AUsfs2ryWWlBOqxB8/ta3LOP23U5FNTPCzpt7psiH1H?=
 =?us-ascii?Q?0lBKusjHuAgI/YCw+uvq3ssTIhvdXzGRNN8nxGeAKsKiywPs/YNXHfS4nx1F?=
 =?us-ascii?Q?0BwGEcasud3IwOJFPxWZJisyD0QGqzBC0Gt9wUGDltSlmfUUw7ZU7v4TDb3P?=
 =?us-ascii?Q?1GULNBiEfgpM/8PomHhRtGZfequZ04pEZNc2ffzy8XvCcI9N7VNZAQftpqU6?=
 =?us-ascii?Q?tZEQsRpWrVoTCMZR8phP7rl5Wh8soGZ9i9xwiTX9MKyu5oI8+A09aiI9FM1C?=
 =?us-ascii?Q?EtjClaZ8FT07QPhpy/RnPXRIi/xtsSypxC5VFXfnllhcxL8cKpUrpnK+F0sm?=
 =?us-ascii?Q?FkHjf2rIlpgLySucRht2EKOffqX/+wWb+jgRF3dvH+ikIcPgKuIZI2y0xItM?=
 =?us-ascii?Q?D3cvqTABfUq0L08=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 05:54:15.0514
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f984c3f-90f6-49e9-2b77-08dd6c2aa3f9
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8463

Function arch_do_sysctl is to perform arch-specific sysctl op.
Some functions, like psr_get_info for x86, DTB overlay support for arm,
are solely available through sysctl op, then they all shall be wrapped
with CONFIG_SYSCTL
Also, remove all #ifdef CONFIG_SYSCTL-s in arch-specific sysctl.c, as
we put the guardian in Makefile for the whole file.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
- use "depends on" for config OVERLAY_DTB
- no need to wrap declaration
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/arch/arm/Kconfig   |  1 +
 xen/arch/arm/Makefile  |  2 +-
 xen/arch/arm/sysctl.c  |  2 --
 xen/arch/riscv/stubs.c |  2 +-
 xen/arch/x86/Makefile  |  2 +-
 xen/arch/x86/psr.c     | 18 ++++++++++++++++++
 xen/arch/x86/sysctl.c  |  2 --
 xen/common/sysctl.c    |  2 ++
 8 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ffdff1f0a3..aa1b4a6e6b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -141,6 +141,7 @@ config HAS_ITS
 
 config OVERLAY_DTB
 	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
+	depends on SYSCTL
 	help
 	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 4837ad467a..7c6015b84d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -54,7 +54,7 @@ obj-y += smpboot.o
 obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
 obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
 obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 obj-y += time.o
 obj-y += traps.o
 obj-y += vcpreg.o
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 2d350b700a..32cab4feff 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,7 +15,6 @@
 #include <asm/arm64/sve.h>
 #include <public/sysctl.h>
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -23,7 +22,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 }
-#endif
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 7b3f748886..ae865e1972 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -322,13 +322,13 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from,
 
 /* sysctl.c */
 
+#ifdef CONFIG_SYSCTL
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
     BUG_ON("unimplemented");
 }
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f59c9665fd..837eafcbc0 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -79,7 +79,7 @@ ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
 obj-y += platform_hypercall.o
 obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 endif
 
 extra-y += asm-macros.i
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index 5815a35335..499d320e61 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -133,9 +133,11 @@ static const struct feat_props {
      */
     enum psr_type alt_type;
 
+#ifdef CONFIG_SYSCTL
     /* 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);
@@ -418,6 +420,7 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
     return true;
 }
 
+#ifdef CONFIG_SYSCTL
 static bool cf_check cat_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
 {
@@ -430,6 +433,7 @@ static bool cf_check cat_get_feat_info(
 
     return true;
 }
+#endif /* CONFIG_SYSCTL */
 
 /* L3 CAT props */
 static void cf_check l3_cat_write_msr(
@@ -442,11 +446,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
     .get_feat_info = cat_get_feat_info,
+#endif
     .write_msr = l3_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
+#ifdef CONFIG_SYSCTL
 /* L3 CDP props */
 static bool cf_check l3_cdp_get_feat_info(
     const struct feat_node *feat, uint32_t data[], uint32_t array_len)
@@ -458,6 +465,7 @@ static bool cf_check l3_cdp_get_feat_info(
 
     return true;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void cf_check l3_cdp_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -473,7 +481,9 @@ 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
     .get_feat_info = l3_cdp_get_feat_info,
+#endif
     .write_msr = l3_cdp_write_msr,
     .sanitize = cat_check_cbm,
 };
@@ -489,11 +499,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
     .get_feat_info = cat_get_feat_info,
+#endif
     .write_msr = l2_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
+#ifdef CONFIG_SYSCTL
 /* MBA props */
 static bool cf_check mba_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
@@ -508,6 +521,7 @@ static bool cf_check mba_get_feat_info(
 
     return true;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void cf_check mba_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -545,7 +559,9 @@ static const struct feat_props mba_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_MBA_THRTL,
     .alt_type = PSR_TYPE_UNKNOWN,
+#ifdef CONFIG_SYSCTL
     .get_feat_info = mba_get_feat_info,
+#endif
     .write_msr = mba_write_msr,
     .sanitize = mba_sanitize_thrtl,
 };
@@ -808,6 +824,7 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
     return socket_info + socket;
 }
 
+#ifdef CONFIG_SYSCTL
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len)
 {
@@ -839,6 +856,7 @@ int psr_get_info(unsigned int socket, enum psr_type type,
 
     return -EINVAL;
 }
+#endif /* CONFIG_SYSCTL */
 
 int psr_get_val(struct domain *d, unsigned int socket,
                 uint32_t *val, enum psr_type type)
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index d7da476379..1b04947516 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -91,7 +91,6 @@ static long cf_check smt_up_down_helper(void *data)
     return ret;
 }
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
@@ -105,7 +104,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
         pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
 }
-#endif
 
 long arch_do_sysctl(
     struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 76622503e2..b0e2e43c7e 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -490,8 +490,10 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         break;
 
     default:
+#ifdef CONFIG_SYSCTL
         ret = arch_do_sysctl(op, u_sysctl);
         copyback = 0;
+#endif
         break;
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:01:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927142.1329962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJpe-0000wq-Qs; Wed, 26 Mar 2025 06:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927142.1329962; Wed, 26 Mar 2025 06:01: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 1txJpe-0000w7-KZ; Wed, 26 Mar 2025 06:01:42 +0000
Received: by outflank-mailman (input) for mailman id 927142;
 Wed, 26 Mar 2025 06:01: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJi6-0008HQ-4T
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:54 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20619.outbound.protection.outlook.com
 [2a01:111:f403:2417::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0da1238-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:51 +0100 (CET)
Received: from MW4P222CA0030.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::35)
 by BL3PR12MB6620.namprd12.prod.outlook.com (2603:10b6:208:38f::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.43; Wed, 26 Mar
 2025 05:53:45 +0000
Received: from SJ5PEPF000001ED.namprd05.prod.outlook.com
 (2603:10b6:303:114:cafe::83) by MW4P222CA0030.outlook.office365.com
 (2603:10b6:303:114::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.44 via Frontend Transport; Wed,
 26 Mar 2025 05:53:44 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:44 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:42 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0da1238-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HVq4jH22eiD5k2LMGULZ3Jt+3Nw+ZdTpwBcslzFQVBuUXDHE7swUxPhL6ZnAA3+Asy3HDpjQXP2ESUTtbFJAQRAi0Ieg4DxCZ4fADx4P01sfBKsv7bQgDCwDwR1NFL6XBF7u/tjw977p9jkINNA4AAE8SKPglOekkdHwVvMxJnDm97OcKdiwxe5QmbMBfGvI2YmbdzWOeUpbcNnO+jL2mV8g/m4UQL6eFKI3ogIBrvCoYYLItp21+nWc+MGeycZLRL2DKRtQgO8o6vNkakkQovCvTb9R6rcsyTbCWTpFGKrv3iAqTnEwixTfug+/wBAvFQEUnsPODxIpvOgXp8pv3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kFWP1l3XOmMPNxmorR2CSSHi8RU0P6GHCYUEzhk77Kg=;
 b=wccALuKa+LniAZdDfwO+J5oBrxOlcRARcVEdvZrzMWALOtYIwobbehvB1lDTH7PUp24cI2WKJVJIwPIMw4jzv4y6/5eFhMNwjxv2JnWkK6qK/2B6yudord4Ma/vgdWRWr1A6wIKn4AUwZN8OE3EFOg86BTTflo83GpUMlNN3OiGz7ac8ti8235gKA6uMAyxE/+zL72hrt/BkJiecouStqyfumj5QA1FZOFOx2x9bgPL90rJFyKYdn+U6l6ValHCe9RCmRprf+iQh2BkrghJmRdG7ri2omNrG90lYd4DOyyGidy2trAZeOZK7YA2untF20wklf+vur7kDag5zu5kxug==
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=kFWP1l3XOmMPNxmorR2CSSHi8RU0P6GHCYUEzhk77Kg=;
 b=KZZvaDkvHyP1KQhaLvKjeMJ3nHnR0N8vFWMMMWGaKbkv8VCDZ3HvwkJqVBu9jItxGoZ/ro3m8fRukcgkZonPPj+8K89t+i1PHXvixnueTOYL1slG913be6hsnnszNjXkFLbdk89BN1cwseAcIH43m5LknLpd9U0W25NajyOto/Y=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, Penny Zheng <Penny.Zheng@amd.com>, Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v2 09/19] xen/pmstat: clean up pmstat.c
Date: Wed, 26 Mar 2025 13:50:43 +0800
Message-ID: <20250326055053.3313146-10-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001ED:EE_|BL3PR12MB6620:EE_
X-MS-Office365-Filtering-Correlation-Id: d837f98e-6c56-4104-3b13-08dd6c2a91c3
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?y0XuZYcermZsCggF2pptwVCARI1NIXs340FP/Wx6wUC2LLW+QqZUN9qL9CpO?=
 =?us-ascii?Q?Fer5Yve3H5jSPcEOtr+PeJF3pORgNhqZkLgsfUbqv/cAYCWodQ9qGZIF6493?=
 =?us-ascii?Q?mqCmOYBHEETUHR9w+OZUSeTq9Q+/BIqVfj13e6SWcfH0UKpCWHXLY2gAfEX6?=
 =?us-ascii?Q?Ks7yhszuO6r3efME+bFX3jIyvy8fyezcuMNi2VipLr4UozhHFKHfVMot7rYa?=
 =?us-ascii?Q?wdTyf1je9VAcsTx7TkVOXRit9vnnED/3q1dWwHTRq8U1Qe++4oo37WbwbJze?=
 =?us-ascii?Q?ape/odq2CzndcmUbeT6iJSQ4lSP1g4VZftb6jktoAbgxjeCrrarheT0RHTlr?=
 =?us-ascii?Q?YZ2TbRXDFiIQ0phteptl60YU6FdBGYOY/qbQxkpdENB5wucLJHU93pEPpI0x?=
 =?us-ascii?Q?bYPbWitA5nuk23uDN2AvcrwdHZhwmDQWTSnY9S4kW0XIJgt6cxfXjqldyh23?=
 =?us-ascii?Q?mT2M1/tJy36gkqxqiVqZgmhjWEHlAHcdzUrfXk0hw0oOwWOlHkfytxoUve3B?=
 =?us-ascii?Q?MLS3Pn21Oa3GtAUMuLpmKcQjilpXVu5pQcU/gfLykMy2fB3ulPmixQ1pj2fG?=
 =?us-ascii?Q?+dMX/gEoqWedD72hgeLrIHeC+/xaDl0/bklBwSP1rSFg33ZwwT+mzERSWK+I?=
 =?us-ascii?Q?fiAw10Auvi+wrt0mWJfVsQHeb7T4dTYO1jHoMtyCoZLoFQafx4MWZJw4kb9k?=
 =?us-ascii?Q?qiOIUhQVlc5eq/i03/6vY8vMqjhxi4h6N7pMKRI74LlhFKITFHD21vt/yQhz?=
 =?us-ascii?Q?TbEMvHW3y5v3kULe7GVywkpsVaCtkcxprt7gvmFG5bEU3Boqh+hgUrv/03Jy?=
 =?us-ascii?Q?pjf5veI2CnkB1D3oLLqf2gb3yQsb/2rMKyr+Fc+X/JQHB5ysw/0ku47Af5Sf?=
 =?us-ascii?Q?RDszzAxviWAXXdWWwuJGbCjiqFJC6bFIWpR9W0XRyFppnFXVhLeJ7R1mF0cw?=
 =?us-ascii?Q?WbbmX7SGhKorp3DgterslIyuTWcvyDmwXiM38i+O0dD1qQYOjWH7Ej2U5XMd?=
 =?us-ascii?Q?cuIJKn+Gfxd/bkzb4rQ5KQ/XQ/fNST36p73vkC7OvvME3z8KKnHOtSK+KVhA?=
 =?us-ascii?Q?eTsBVdWyWhIhkBFaGhkhcYmcHBqcfSYIE4Y87NOucTw8xlaG2O0fKLo+GoSM?=
 =?us-ascii?Q?ejE6UJOCEySxunBUZaz7MGD8GRmoJPJWZUWiX9fvs/E2JXUwqcnOT7swSJKs?=
 =?us-ascii?Q?+36XMHSKCz7RWqBh9IkKYUfjhUXPDQhafhBxDOG8SwLUpBIHFhSIWiDGQ+bE?=
 =?us-ascii?Q?P5je++/pnxIl9RaQtHtRQtZzV3/4yRjs0Dya0TaOPe1KKdJWcQLU2kKS+LzI?=
 =?us-ascii?Q?Ejphr44pl3/JGNFpK0WMh80k0OF3vokO08Y6AL/+Dppressk934aziMjh1CH?=
 =?us-ascii?Q?8JzZRRxYQmu8mtqeOWWusGk6kPkk0u14hUEgsdDrn4sIkwdo8bYPbPngStIL?=
 =?us-ascii?Q?k7WJcJD6DasC2fyXBvO5CICGvj+pV0vtzprd5bvQI5CC/6qSgqNSM//t+/IS?=
 =?us-ascii?Q?KxFRh6CItcyjpCMhpFY4wbusyjuVsnYVd9VH?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 26 Mar 2025 05:53:44.5145
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d837f98e-6c56-4104-3b13-08dd6c2a91c3
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=[SATLEXMB04.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: BL3PR12MB6620

We intend to move the following functions into drivers/acpi/pmstat.c, as they
are all designed for performance statistic:
- cpufreq_residency_update
- cpufreq_statistic_reset
- cpufreq_statistic_update
- cpufreq_statistic_init
- cpufreq_statistic_exit
and moving out acpi_set_pdc_bits(), as it is the handler for sub-hypercall
XEN_PM_PDC, and shall stay with the other handlers together in
drivers/cpufreq/cpufreq.c.
This commit also applies various style corrections while moving these
functions

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- new commit
---
 xen/drivers/acpi/pmstat.c                 | 199 ++++++++++++++++++----
 xen/drivers/cpufreq/cpufreq.c             |  31 ++++
 xen/drivers/cpufreq/utility.c             | 162 ------------------
 xen/include/acpi/cpufreq/processor_perf.h |   2 -
 4 files changed, 199 insertions(+), 195 deletions(-)

diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c
index df309e27b4..4e3b76dbf3 100644
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -43,6 +43,174 @@
 
 DEFINE_PER_CPU_READ_MOSTLY(struct pm_px *, cpufreq_statistic_data);
 
+DEFINE_PER_CPU(spinlock_t, cpufreq_statistic_lock);
+
+/*********************************************************************
+ *                    Px STATISTIC INFO                              *
+ *********************************************************************/
+
+static void cpufreq_residency_update(unsigned int cpu, uint8_t state)
+{
+    uint64_t now, total_idle_ns;
+    int64_t delta;
+    struct pm_px *pxpt = per_cpu(cpufreq_statistic_data, cpu);
+
+    total_idle_ns = get_cpu_idle_time(cpu);
+    now = NOW();
+
+    delta = (now - pxpt->prev_state_wall) -
+            (total_idle_ns - pxpt->prev_idle_wall);
+
+    if ( likely(delta >= 0) )
+        pxpt->u.pt[state].residency += delta;
+
+    pxpt->prev_state_wall = now;
+    pxpt->prev_idle_wall = total_idle_ns;
+}
+
+void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to)
+{
+    struct pm_px *pxpt;
+    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
+    spinlock_t *cpufreq_statistic_lock =
+               &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if ( !pxpt || !pmpt ) {
+        spin_unlock(cpufreq_statistic_lock);
+        return;
+    }
+
+    pxpt->u.last = from;
+    pxpt->u.cur = to;
+    pxpt->u.pt[to].count++;
+
+    cpufreq_residency_update(cpu, from);
+
+    (*(pxpt->u.trans_pt + from * pmpt->perf.state_count + to))++;
+
+    spin_unlock(cpufreq_statistic_lock);
+}
+
+int cpufreq_statistic_init(unsigned int cpu)
+{
+    uint32_t i, count;
+    struct pm_px *pxpt;
+    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
+    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock_init(cpufreq_statistic_lock);
+
+    if ( !pmpt )
+        return -EINVAL;
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if ( pxpt )
+    {
+        spin_unlock(cpufreq_statistic_lock);
+        return 0;
+    }
+
+    count = pmpt->perf.state_count;
+
+    pxpt = xzalloc(struct pm_px);
+    if ( !pxpt )
+    {
+        spin_unlock(cpufreq_statistic_lock);
+        return -ENOMEM;
+    }
+    per_cpu(cpufreq_statistic_data, cpu) = pxpt;
+
+    pxpt->u.trans_pt = xzalloc_array(uint64_t, count * count);
+    if ( !pxpt->u.trans_pt )
+    {
+        xfree(pxpt);
+        spin_unlock(cpufreq_statistic_lock);
+        return -ENOMEM;
+    }
+
+    pxpt->u.pt = xzalloc_array(struct pm_px_val, count);
+    if ( !pxpt->u.pt )
+    {
+        xfree(pxpt->u.trans_pt);
+        xfree(pxpt);
+        spin_unlock(cpufreq_statistic_lock);
+        return -ENOMEM;
+    }
+
+    pxpt->u.total = pmpt->perf.state_count;
+    pxpt->u.usable = pmpt->perf.state_count - pmpt->perf.platform_limit;
+
+    for ( i = 0; i < pmpt->perf.state_count; i++ )
+        pxpt->u.pt[i].freq = pmpt->perf.states[i].core_frequency;
+
+    pxpt->prev_state_wall = NOW();
+    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
+
+    spin_unlock(cpufreq_statistic_lock);
+
+    return 0;
+}
+
+void cpufreq_statistic_exit(unsigned int cpu)
+{
+    struct pm_px *pxpt;
+    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if ( !pxpt )
+    {
+        spin_unlock(cpufreq_statistic_lock);
+        return;
+    }
+
+    xfree(pxpt->u.trans_pt);
+    xfree(pxpt->u.pt);
+    xfree(pxpt);
+    per_cpu(cpufreq_statistic_data, cpu) = NULL;
+
+    spin_unlock(cpufreq_statistic_lock);
+}
+
+static void cpufreq_statistic_reset(unsigned int cpu)
+{
+    uint32_t i, j, count;
+    struct pm_px *pxpt;
+    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
+    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
+
+    spin_lock(cpufreq_statistic_lock);
+
+    pxpt = per_cpu(cpufreq_statistic_data, cpu);
+    if ( !pmpt || !pxpt || !pxpt->u.pt || !pxpt->u.trans_pt )
+    {
+        spin_unlock(cpufreq_statistic_lock);
+        return;
+    }
+
+    count = pmpt->perf.state_count;
+
+    for ( i = 0; i < count; i++ )
+    {
+        pxpt->u.pt[i].residency = 0;
+        pxpt->u.pt[i].count = 0;
+
+        for ( j = 0; j < count; j++ )
+            *(pxpt->u.trans_pt + i * count + j) = 0;
+    }
+
+    pxpt->prev_state_wall = NOW();
+    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
+
+    spin_unlock(cpufreq_statistic_lock);
+}
+
 /*
  * Get PM statistic info
  */
@@ -522,34 +690,3 @@ int do_pm_op(struct xen_sysctl_pm_op *op)
 
     return ret;
 }
-
-int acpi_set_pdc_bits(uint32_t acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
-{
-    u32 bits[3];
-    int ret;
-
-    if ( copy_from_guest(bits, pdc, 2) )
-        ret = -EFAULT;
-    else if ( bits[0] != ACPI_PDC_REVISION_ID || !bits[1] )
-        ret = -EINVAL;
-    else if ( copy_from_guest_offset(bits + 2, pdc, 2, 1) )
-        ret = -EFAULT;
-    else
-    {
-        u32 mask = 0;
-
-        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_CX )
-            mask |= ACPI_PDC_C_MASK | ACPI_PDC_SMP_C1PT;
-        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_PX )
-            mask |= ACPI_PDC_P_MASK | ACPI_PDC_SMP_C1PT;
-        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_TX )
-            mask |= ACPI_PDC_T_MASK | ACPI_PDC_SMP_C1PT;
-        bits[2] &= (ACPI_PDC_C_MASK | ACPI_PDC_P_MASK | ACPI_PDC_T_MASK |
-                    ACPI_PDC_SMP_C1PT) & ~mask;
-        ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask);
-    }
-    if ( !ret && __copy_to_guest_offset(pdc, 2, bits + 2, 1) )
-        ret = -EFAULT;
-
-    return ret;
-}
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 4a103c6de9..29fcfbe609 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -582,6 +582,37 @@ out:
     return ret;
 }
 
+int acpi_set_pdc_bits(uint32_t acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
+{
+    u32 bits[3];
+    int ret;
+
+    if ( copy_from_guest(bits, pdc, 2) )
+        ret = -EFAULT;
+    else if ( bits[0] != ACPI_PDC_REVISION_ID || !bits[1] )
+        ret = -EINVAL;
+    else if ( copy_from_guest_offset(bits + 2, pdc, 2, 1) )
+        ret = -EFAULT;
+    else
+    {
+        u32 mask = 0;
+
+        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_CX )
+            mask |= ACPI_PDC_C_MASK | ACPI_PDC_SMP_C1PT;
+        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_PX )
+            mask |= ACPI_PDC_P_MASK | ACPI_PDC_SMP_C1PT;
+        if ( xen_processor_pmbits & XEN_PROCESSOR_PM_TX )
+            mask |= ACPI_PDC_T_MASK | ACPI_PDC_SMP_C1PT;
+        bits[2] &= (ACPI_PDC_C_MASK | ACPI_PDC_P_MASK | ACPI_PDC_T_MASK |
+                    ACPI_PDC_SMP_C1PT) & ~mask;
+        ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask);
+    }
+    if ( !ret && __copy_to_guest_offset(pdc, 2, bits + 2, 1) )
+        ret = -EFAULT;
+
+    return ret;
+}
+
 static void cpufreq_cmdline_common_para(struct cpufreq_policy *new_policy)
 {
     if (usr_max_freq)
diff --git a/xen/drivers/cpufreq/utility.c b/xen/drivers/cpufreq/utility.c
index e690a484f1..723045b240 100644
--- a/xen/drivers/cpufreq/utility.c
+++ b/xen/drivers/cpufreq/utility.c
@@ -35,168 +35,6 @@ struct cpufreq_driver __read_mostly cpufreq_driver;
 struct processor_pminfo *__read_mostly processor_pminfo[NR_CPUS];
 DEFINE_PER_CPU_READ_MOSTLY(struct cpufreq_policy *, cpufreq_cpu_policy);
 
-DEFINE_PER_CPU(spinlock_t, cpufreq_statistic_lock);
-
-/*********************************************************************
- *                    Px STATISTIC INFO                              *
- *********************************************************************/
-
-void cpufreq_residency_update(unsigned int cpu, uint8_t state)
-{
-    uint64_t now, total_idle_ns;
-    int64_t delta;
-    struct pm_px *pxpt = per_cpu(cpufreq_statistic_data, cpu);
-
-    total_idle_ns = get_cpu_idle_time(cpu);
-    now = NOW();
-
-    delta = (now - pxpt->prev_state_wall) - 
-            (total_idle_ns - pxpt->prev_idle_wall);
-
-    if ( likely(delta >= 0) )
-        pxpt->u.pt[state].residency += delta;
-
-    pxpt->prev_state_wall = now;
-    pxpt->prev_idle_wall = total_idle_ns;
-}
-
-void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to)
-{
-    struct pm_px *pxpt;
-    struct processor_pminfo *pmpt = processor_pminfo[cpu];
-    spinlock_t *cpufreq_statistic_lock = 
-               &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if ( !pxpt || !pmpt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return;
-    }
-
-    pxpt->u.last = from;
-    pxpt->u.cur = to;
-    pxpt->u.pt[to].count++;
-
-    cpufreq_residency_update(cpu, from);
-
-    (*(pxpt->u.trans_pt + from * pmpt->perf.state_count + to))++;
-
-    spin_unlock(cpufreq_statistic_lock);
-}
-
-int cpufreq_statistic_init(unsigned int cpu)
-{
-    uint32_t i, count;
-    struct pm_px *pxpt;
-    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
-    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock_init(cpufreq_statistic_lock);
-
-    if ( !pmpt )
-        return -EINVAL;
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if ( pxpt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return 0;
-    }
-
-    count = pmpt->perf.state_count;
-
-    pxpt = xzalloc(struct pm_px);
-    if ( !pxpt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return -ENOMEM;
-    }
-    per_cpu(cpufreq_statistic_data, cpu) = pxpt;
-
-    pxpt->u.trans_pt = xzalloc_array(uint64_t, count * count);
-    if (!pxpt->u.trans_pt) {
-        xfree(pxpt);
-        spin_unlock(cpufreq_statistic_lock);
-        return -ENOMEM;
-    }
-
-    pxpt->u.pt = xzalloc_array(struct pm_px_val, count);
-    if (!pxpt->u.pt) {
-        xfree(pxpt->u.trans_pt);
-        xfree(pxpt);
-        spin_unlock(cpufreq_statistic_lock);
-        return -ENOMEM;
-    }
-
-    pxpt->u.total = pmpt->perf.state_count;
-    pxpt->u.usable = pmpt->perf.state_count - pmpt->perf.platform_limit;
-
-    for (i=0; i < pmpt->perf.state_count; i++)
-        pxpt->u.pt[i].freq = pmpt->perf.states[i].core_frequency;
-
-    pxpt->prev_state_wall = NOW();
-    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
-
-    spin_unlock(cpufreq_statistic_lock);
-
-    return 0;
-}
-
-void cpufreq_statistic_exit(unsigned int cpu)
-{
-    struct pm_px *pxpt;
-    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if (!pxpt) {
-        spin_unlock(cpufreq_statistic_lock);
-        return;
-    }
-
-    xfree(pxpt->u.trans_pt);
-    xfree(pxpt->u.pt);
-    xfree(pxpt);
-    per_cpu(cpufreq_statistic_data, cpu) = NULL;
-
-    spin_unlock(cpufreq_statistic_lock);
-}
-
-void cpufreq_statistic_reset(unsigned int cpu)
-{
-    uint32_t i, j, count;
-    struct pm_px *pxpt;
-    const struct processor_pminfo *pmpt = processor_pminfo[cpu];
-    spinlock_t *cpufreq_statistic_lock = &per_cpu(cpufreq_statistic_lock, cpu);
-
-    spin_lock(cpufreq_statistic_lock);
-
-    pxpt = per_cpu(cpufreq_statistic_data, cpu);
-    if ( !pmpt || !pxpt || !pxpt->u.pt || !pxpt->u.trans_pt ) {
-        spin_unlock(cpufreq_statistic_lock);
-        return;
-    }
-
-    count = pmpt->perf.state_count;
-
-    for (i=0; i < count; i++) {
-        pxpt->u.pt[i].residency = 0;
-        pxpt->u.pt[i].count = 0;
-
-        for (j=0; j < count; j++)
-            *(pxpt->u.trans_pt + i*count + j) = 0;
-    }
-
-    pxpt->prev_state_wall = NOW();
-    pxpt->prev_idle_wall = get_cpu_idle_time(cpu);
-
-    spin_unlock(cpufreq_statistic_lock);
-}
-
-
 /*********************************************************************
  *                   FREQUENCY TABLE HELPERS                         *
  *********************************************************************/
diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h
index 301104e16f..941e177b6d 100644
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -9,11 +9,9 @@
 
 unsigned int powernow_register_driver(void);
 unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
-void cpufreq_residency_update(unsigned int cpu, uint8_t state);
 void cpufreq_statistic_update(unsigned int cpu, uint8_t from, uint8_t to);
 int  cpufreq_statistic_init(unsigned int cpu);
 void cpufreq_statistic_exit(unsigned int cpu);
-void cpufreq_statistic_reset(unsigned int cpu);
 
 int  cpufreq_limit_change(unsigned int cpu);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:01:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927149.1329976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJpr-0001xf-9H; Wed, 26 Mar 2025 06:01:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927149.1329976; Wed, 26 Mar 2025 06:01: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 1txJpr-0001xY-67; Wed, 26 Mar 2025 06:01:55 +0000
Received: by outflank-mailman (input) for mailman id 927149;
 Wed, 26 Mar 2025 06:01: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiR-00083W-F9
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:54:15 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20611.outbound.protection.outlook.com
 [2a01:111:f403:2413::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc1a35c5-0a06-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 06:54:10 +0100 (CET)
Received: from SJ0PR05CA0210.namprd05.prod.outlook.com (2603:10b6:a03:330::35)
 by MN2PR12MB4359.namprd12.prod.outlook.com (2603:10b6:208:265::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:54:06 +0000
Received: from SJ5PEPF000001EA.namprd05.prod.outlook.com
 (2603:10b6:a03:330:cafe::3b) by SJ0PR05CA0210.outlook.office365.com
 (2603:10b6:a03:330::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:54:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001EA.mail.protection.outlook.com (10.167.242.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:54:05 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:54:00 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc1a35c5-0a06-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gtYgkYL7W/kLZx/ih1EH1MRM6G3DO5Aczj8mRdseFfGEHiqI+SytSMB11qBe7h1DjAxrmojrSkymkOoQCzie+IB8BNsYTP/jbF/pS4DKH7wKCS9lIQPARdnSXSlhLYtWdYPRl1giUblxtNyRxmd7bqAmHLEeGOuEkujdUrg/O6MGdk7NZvHBF/6O1B25WGBvg1ecSz897ArwcspfU134C98+yKjg7Mz80kE3r/+nsthPZy8slYMj5OUKwP84HcFvryc0QtW603toYIIWQMEcPGsA4YWHzLX1h0UAXyCklSRED53QiIqvUiNJfkfLlARv1vkAILYumY6akBYpV9mRDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4pExX0EhEq6NQuAUy7n8i+0cd/M0autycU9Pj7ACyk0=;
 b=cUxNTGBd27TrGH3JKu8gbKzVsu9jRBCfkRppTLxHI2HWgn+dodN4GOBrk2yCxzdCxhq4uZze+3jE0uaox5+mbqPrMaacemh6lsaSFxM91ED93g/z8YgtiqkzZhAub+TTH5RcEwyRiVeaqDwHEpR9vLCwvbX4KETa4rhUm3S6Hi2/HXVnuIPNzoPSIHNOXFn8vypjT/E0Ma5FizT1IkqxfrxFXlQ9Lxm2C8f3ve+LJ1/pDKoYP24GE+cn3xmqcUc2SXTTr+YbrHAkH/AjTU9dPLHin7Z/jRMdXUzkMn+osk7mpsBTfntTZBrwdSFG8TFvjsDrF3ur4mDYYvjnDk28xQ==
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=4pExX0EhEq6NQuAUy7n8i+0cd/M0autycU9Pj7ACyk0=;
 b=dYppyjr/IvYUglq3K3BtcLg5IYzbHWP29lmCSuplHYbRHeHpzkGzFL4xi+g1pMUtRfQzMerZn2HWN+rjgntdzL2gQ5l75n0yt5LtPmOmSs9NuSzWpqo7SdFrLnH9iPYsnltLtLa42O5eNH9nEnIjtVLlxrC2xwhW5LyiAxieBJU=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, Alistair Francis <alistair.francis@wdc.com>, "Bob
 Eshleman" <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v2 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
Date: Wed, 26 Mar 2025 13:50:49 +0800
Message-ID: <20250326055053.3313146-16-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EA:EE_|MN2PR12MB4359:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b83f926-ac12-4bca-e438-08dd6c2a9e61
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|7416014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?ykkR//rwaVojzJ+zOHS4wBIfrcFBtXXosqk0ytCe1OKTHCBMf9gAMOWv6fKx?=
 =?us-ascii?Q?S5Wf9aki+ylaMkylVYoxng/B/kJCGspUYl3iFFsNLIzgRXek8GS+hzIzRz4j?=
 =?us-ascii?Q?nIQC88xEZzvNzREuUf52sErqM8HDw005rreCyo0csMTJKlWkCE6js08X9/2U?=
 =?us-ascii?Q?7PAxjR4hj1WLDYA4THpGq0D9pDrL9vxDAACoAiPfdUqe3/lVElWj21TdVEcB?=
 =?us-ascii?Q?eku8ZY5OLz19w5ER2to51bxtnEV9+zDozdc/doKW1THtVME+LTZbieNlrwwu?=
 =?us-ascii?Q?tPIjQCZktkO98j+1vRrDCsscKriUdVr8swDN4aoIUDfSbDUaMCtADfxBYksQ?=
 =?us-ascii?Q?98PlGompA1z0HT0B085WVDQOo7MqFTKL/XK6CAOCcrGiKdHqGhaOFjwMd4jG?=
 =?us-ascii?Q?hu13SLkM4vmtE4ThhC+Qbw84xjO4Mh19JuxMMuKnacBQJRyWX9iPZxICVtJ6?=
 =?us-ascii?Q?d6Bp30Sbj79nd2aG5mSkihAZOd+tS8lk/UM2oPbCGW8HEEW3Y3ZTAq2MJFR8?=
 =?us-ascii?Q?RgsLtVzzwwHBNPQsXCf+AVu6/H0/moIYXPz+1we/1oiwetJZipvnKe44ONlY?=
 =?us-ascii?Q?tptpBF2Vq0XA9f8qLignOJXKkKeth1/7+e6b3uN/NaGOBOfOla4qUAHco17R?=
 =?us-ascii?Q?l+fuOpMvcZTw0Ayp4UM0p50OsCvAt1yyjRwvYdxTjNi7Yj7Ok652XVVOF+V4?=
 =?us-ascii?Q?F94bbVg/+XNVWU7qiBrSQo2YylW/LoONcCWm9xCe7LgzNM4KxfuOgfno8DYR?=
 =?us-ascii?Q?vvDC4dmHk2WJj4ePTgJEhAZq1QyH7W2yhE7yqRfZzG5TJVl+orc2uv97cpfE?=
 =?us-ascii?Q?3pouXnxqgDlXKAQGfSuMj5sbFvuPShCjAy2hIjH+3dmWJVUPPKdQxmbAHmpY?=
 =?us-ascii?Q?Tj36tPXsM7APfr925Av+caR/9kQjlItnlphi8svpDytN9qqf8FzW8ZC38mUa?=
 =?us-ascii?Q?rXdStg5T0aB30YZKlheEgJu4udJ8sn/cEmyTqUxRpXczGp/6BLZ8xfgAqRFE?=
 =?us-ascii?Q?DKbimpjCfpuFqNIA2IiDV0F+1zsPUTYsEocFZuof+OQ33Cz9gYRxMgqP1IU1?=
 =?us-ascii?Q?rTHfhkNO8ffTw2cqdCJeiioH8xdyL3dXxqw8Z+DKvZB/mcty0AeI63aEWr6O?=
 =?us-ascii?Q?cRnjeBHIaRE1h7Di44jQNmNBM7p8G55pnfKyxq1APy6WJt5T8J8SD7DKUfJg?=
 =?us-ascii?Q?xxb/+t63PuaYi0EJvUO2fST7c+E0IcycNj9RHf3f9+8Xzf/Q7Atd/pJiCIEN?=
 =?us-ascii?Q?n3PJQnexfNkQyhKCQlGQ1hfT/+FEtqw26L6Co6j74wPsIqaWKo/ptl/jD5Cb?=
 =?us-ascii?Q?5ZQ3+ic4DzTPY1s9a6dmbC4YxiDBVl6Jw9gznDI0O4zs38qctq80aRxpW6qZ?=
 =?us-ascii?Q?bVZ1r/GSV1QZThQL50+T0/ysh8MCrgHGapw36hNFIj6jXSOMs26ETYpP3CJ7?=
 =?us-ascii?Q?MCRnsnnHQALYFBlGh9si87JH7Pt3jzRTjbuxR38YZYW0YEkl4IbNhyTbmMEp?=
 =?us-ascii?Q?M8pj+RYPyQXcYBE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(7416014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 05:54:05.6714
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b83f926-ac12-4bca-e438-08dd6c2a9e61
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4359

The following functions are only used to deal with XEN_SYSCTL_physinfo,
then they shall be wrapped:
- arch_do_physinfo
- get_outstanding_claims

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- no need to wrap declaration
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/arch/arm/sysctl.c   | 2 ++
 xen/arch/riscv/stubs.c  | 2 ++
 xen/arch/x86/sysctl.c   | 2 ++
 xen/common/page_alloc.c | 2 ++
 xen/common/sysctl.c     | 2 +-
 5 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 32cab4feff..2d350b700a 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,6 +15,7 @@
 #include <asm/arm64/sve.h>
 #include <public/sysctl.h>
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 }
+#endif
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..7b3f748886 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     BUG_ON("unimplemented");
 }
+#endif /* CONFIG_SYSCTL */
 
 /* p2m.c */
 
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 1b04947516..d7da476379 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -91,6 +91,7 @@ static long cf_check smt_up_down_helper(void *data)
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
@@ -104,6 +105,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
         pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
 }
+#endif
 
 long arch_do_sysctl(
     struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 5803a1ef4e..36424a9245 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -601,6 +601,7 @@ out:
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
 {
     spin_lock(&heap_lock);
@@ -608,6 +609,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 */
 
 static bool __read_mostly first_node_initialised;
 #ifndef CONFIG_SEPARATE_XENHEAP
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index ccce7fe963..76622503e2 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -258,7 +258,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = sched_adjust_global(&op->u.scheduler_op);
         break;
 
-#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_physinfo:
     {
         struct xen_sysctl_physinfo *pi = &op->u.physinfo;
@@ -301,6 +300,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
     }
     break;
 
+#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_numainfo:
     {
         unsigned int i, j, num_nodes;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 06:02:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 06:02:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927159.1329987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txJq4-0002wA-Ir; Wed, 26 Mar 2025 06:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927159.1329987; Wed, 26 Mar 2025 06:02: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 1txJq4-0002w3-EN; Wed, 26 Mar 2025 06:02:08 +0000
Received: by outflank-mailman (input) for mailman id 927159;
 Wed, 26 Mar 2025 06:02: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txJiA-0008HQ-Sy
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 05:53:58 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20610.outbound.protection.outlook.com
 [2a01:111:f403:2415::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b44f1c25-0a06-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 06:53:57 +0100 (CET)
Received: from SJ0PR03CA0257.namprd03.prod.outlook.com (2603:10b6:a03:3a0::22)
 by MN2PR12MB4344.namprd12.prod.outlook.com (2603:10b6:208:26e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 05:53:51 +0000
Received: from SJ5PEPF000001E9.namprd05.prod.outlook.com
 (2603:10b6:a03:3a0:cafe::e) by SJ0PR03CA0257.outlook.office365.com
 (2603:10b6:a03:3a0::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Wed,
 26 Mar 2025 05:53:50 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 05:53:50 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) 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, 26 Mar 2025 00:53:47 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b44f1c25-0a06-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yzL5H51ugkfd0DqnEi3nASeBX1ZZrZLH+k6zikdApNawnRnjBSiR9tOBsMMMgUkF7SqeMIWrzNw2Phsf5zyLeAaIltRAHmxEgxO6RtRsn0GSatPQA66e4uAjCHLJpnl1zH2THJZxTmP3Z6lRtdWnM9OmJZcFpHwFl9vg4LuVgh+ENH4UafmGxq84ieDjAvzPw7EqphR6lpFXKi23eY8RnPn4o8FQOCFvskvUUkGpjCJPcmzniKaUU7Im919JOGTibtpIRq8kMa7CkhR6kSMilRyR93zUce03ibQMQL19X4RllzjhgNfxeZU0nBWXaXiJcFyE1WFSHi3qz+wonywCNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1fIp26wTlhi8yw0JGvhk17TYU3fQDeNzQFk5zlY2530=;
 b=duEb0Tvt1+NiyuF+V6NrCz4CtdjaNcDd3iKqvYA/YbRtPvr7fuLt7SSkbO2pbrt0Xs+XJBun24Leac7G4ySFGCYE7Ezv6y1WI60SFdpDaHuHx7yfU/Zl1WZDWyeq6MnZ6TjrMmb8EIc84gts0TXiPnEnlretolWZ9PpzJ6gsLUWnfTJTEwxb+o9ITb5DK6qcoNyrOwZ3jhq3Fin/SHq08hRDekud8HENU25L3S6n0At8A8uhUuGWX2X/NNvP8kDvQSVQva/CTl9SsmD4VtAp9JhxBiRagXJ71MchrUIUfPPU8HDgASKErOspwgDmxV/GmUDQ129OMYOFsv3elJ9AbQ==
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=1fIp26wTlhi8yw0JGvhk17TYU3fQDeNzQFk5zlY2530=;
 b=zPiiR4nXhg9J6GLUvYh2xFDRY3JL9IPJeY6fDquUgLvifWWqXNqrKg5U3IPIEjyJS8OztD6WL9hgPMD/mcE+lK0j/vaECaY6TNZQJzva8XOO3lZqqy3w7jUMlp0jesLBcWIBxF2/et97pH7XDmGGgNa2LG9EweY/gcf501w/KsU=
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=SATLEXMB04.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.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>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2 11/19] xen/sysctl: wrap around XEN_SYSCTL_page_offline_op
Date: Wed, 26 Mar 2025 13:50:45 +0800
Message-ID: <20250326055053.3313146-12-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250326055053.3313146-1-Penny.Zheng@amd.com>
References: <20250326055053.3313146-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001E9:EE_|MN2PR12MB4344:EE_
X-MS-Office365-Filtering-Correlation-Id: 94edfb35-9d8d-4d28-cd02-08dd6c2a9566
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?tTVPO86Irpf4sTkPHo/upuwIpJul47lMKtvlIe1wrGaU5Qv5CYLKExtlALjF?=
 =?us-ascii?Q?8aOStPzCw1fK9FHHpP1HarjLInSsI5tL9s9ModsoBWj4/Ffn51aIN+kzKuIr?=
 =?us-ascii?Q?i6FjmSOGks5a6s9Cf5pePiF4chngYp2PA5I5ugico0JDW/gGAF3FYnBM6CcU?=
 =?us-ascii?Q?xTokfwKpe0JM1u+Y/X45Lv/3HITq6oUJqianaYNNt1m2LMyVuFzAmSFgL0u8?=
 =?us-ascii?Q?eqtq3PoAJaNLuEweTwyvgjA7weMkeCs7Wx1DTYWrZx3O+3zmzskGoIG0sb90?=
 =?us-ascii?Q?fotkTOXA+1YHAncYD+JWndEpPC1cJ+XAj917UhjyYwY8M39CH2HT6QLIoHzr?=
 =?us-ascii?Q?f9cdaq7Tw2ggG76gDVykhA8ZH7YaWJARzTKOLlEWdlrRGGk70QMXuNWeatXR?=
 =?us-ascii?Q?ai0y1tJb61NezHdd1GSRETx+El7snk0vvXEZRUWi6CI/pKaZb7klVaXgQ0Uf?=
 =?us-ascii?Q?DRN2NOyHh0tHpM+t9ii00EfARvCiWhlFi055LrSQFOtQR4aqpWfUsG7TUFOS?=
 =?us-ascii?Q?yyYBIOBcjx14uS/J+lHaGMAqSvjsUhwmBLT3AfUGmMpV4+onpRGNDd0XrE0L?=
 =?us-ascii?Q?cB4y7/YwzpyLWxAE2IRQG97p70I9vNvc9NKabDJMy0GnAA8aNPLXAUxQLCTZ?=
 =?us-ascii?Q?w9BekCBOBghdqqO+8g0EiHI6KksTF10cLNqr09L25NF/5foztscVkitcbBeg?=
 =?us-ascii?Q?CTQoUU13sm/egiXwLifv79yXJZ3gp55a0eZi89lC2ABgvtoMCxEQpGcO7ZOA?=
 =?us-ascii?Q?TWStEc1GbuVAchRonrqkT4DxwaLEmgxmLcPPD0hrFsan65uOM/LNkrmvAHAc?=
 =?us-ascii?Q?4r7Vb9GPayd+JRvL/wQczNSD9foPHt7eYHDzk+5Ybw2pHJLaJ7YA9MPXb/LV?=
 =?us-ascii?Q?EOT3PUUAvzLeAfW55bWExiYA73IkPHYV6S7XqB6XMR4PPci4OT7PphBo3Eoj?=
 =?us-ascii?Q?BihzX4DV0gJQn3rb4FYSFMz+RchtOWc5Wim9gUKU3hAkm1/0ySrxKuuvTdYw?=
 =?us-ascii?Q?BSyn9Fj1Cb8L3P3nfFoSr3SIZWNNoIQSiJRzvuiqw5mviTVSf9kVe51ylU32?=
 =?us-ascii?Q?2S7lX7DXchUC45bwu25opTosXyQsZfIeyv2CI8ODmnXAOSxLqzVLjwnQCRMg?=
 =?us-ascii?Q?/HT68ZaeI0ei8B1nRmDZ4uKJrHaWFYItA8D8SytDd09FMo44kPtcqRN+TwbA?=
 =?us-ascii?Q?HVaNDkEO0EJMxpA9kR/zu7vauxg3woCPS34Amb47NMUEL9HTJBk0ikk38H6A?=
 =?us-ascii?Q?KHgbp7Cr8szq7w1Qd+CURRXoN1yUVFjiNU5gMs4FQA0yj6U1IFYN07CTYf9N?=
 =?us-ascii?Q?Tv54t1BbHZcvuUid4DTHI7+lNHxcqaaEkY8yO6zR+w4XQ9orFYfCAUr9WyWS?=
 =?us-ascii?Q?SEtRS+PJ5s1nqn/NoblxZ3P7hLH4BrtSwtxX9lsjVW2eaWeLB3BWHKS6D9y0?=
 =?us-ascii?Q?6LMYDenkt53YK24cpAwUnPpBYGj2kXsH8W09O22XdlyLTKhQUqOZ7q6ALtLK?=
 =?us-ascii?Q?chsSobqwhqGG9kw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 05:53:50.6197
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 94edfb35-9d8d-4d28-cd02-08dd6c2a9566
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=[SATLEXMB04.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: MN2PR12MB4344

The following functions are only to deal with XEN_SYSCTL_page_offline_op,
then shall be wrapped:
- xsm_page_offline
- online_page
- query_page_offline

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- add transient #ifdef in sysctl.c for correct compilation
- no need to wrap declarations
- place the #ifdef inside the function body to have less redundancy
---
 xen/common/page_alloc.c | 2 ++
 xen/common/sysctl.c     | 2 ++
 xen/include/xsm/xsm.h   | 6 ++++++
 xen/xsm/dummy.c         | 2 ++
 xen/xsm/flask/hooks.c   | 6 ++++++
 5 files changed, 18 insertions(+)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index bd4538c28d..cc2ad4423a 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1758,6 +1758,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
     return 0;
 }
 
+#ifdef CONFIG_SYSCTL
 /*
  * Online the memory.
  *   The caller should make sure end_pfn <= max_page,
@@ -1842,6 +1843,7 @@ int query_page_offline(mfn_t mfn, uint32_t *status)
 
     return 0;
 }
+#endif /* CONFIG_SYSCTL */
 
 /*
  * This function should only be called with valid pages from the same NUMA
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index c17f1b3dec..3129fc602d 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -188,6 +188,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         break;
 #endif /* CONFIG_PM_STATS */
 
+#ifdef CONFIG_SYSCTL
     case XEN_SYSCTL_page_offline_op:
     {
         uint32_t *status, *ptr;
@@ -248,6 +249,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         copyback = 0;
     }
     break;
+#endif /* CONFIG_SYSCTL */
 
     case XEN_SYSCTL_cpupool_op:
         ret = cpupool_do_sysctl(&op->u.cpupool_op);
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 042a99449f..5ac99904c4 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -138,7 +138,9 @@ struct xsm_ops {
     int (*resource_setup_gsi)(int gsi);
     int (*resource_setup_misc)(void);
 
+#ifdef CONFIG_SYSCTL
     int (*page_offline)(uint32_t cmd);
+#endif
     int (*hypfs_op)(void);
 
     long (*do_xsm_op)(XEN_GUEST_HANDLE_PARAM(void) op);
@@ -597,7 +599,11 @@ static inline int xsm_resource_setup_misc(xsm_default_t def)
 
 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
 }
 
 static inline int xsm_hypfs_op(xsm_default_t def)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index cd0e844fcf..d46413ad8c 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -96,7 +96,9 @@ 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
     .page_offline                  = xsm_page_offline,
+#endif
     .hypfs_op                      = xsm_hypfs_op,
     .hvm_param                     = xsm_hvm_param,
     .hvm_param_altp2mhvm           = xsm_hvm_param_altp2mhvm,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index df7e10775b..39f8331207 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1206,10 +1206,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
 static int flask_resource_use_core(void)
 {
     return avc_current_has_perm(SECINITSID_DOMXEN, SECCLASS_RESOURCE, RESOURCE__USE, NULL);
 }
+#endif
 
 static int cf_check flask_resource_plug_pci(uint32_t machine_bdf)
 {
@@ -1274,6 +1276,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
 static inline int cf_check flask_page_offline(uint32_t cmd)
 {
     switch ( cmd )
@@ -1288,6 +1291,7 @@ static inline int cf_check flask_page_offline(uint32_t cmd)
         return avc_unknown_permission("page_offline", cmd);
     }
 }
+#endif
 
 static inline int cf_check flask_hypfs_op(void)
 {
@@ -1948,7 +1952,9 @@ 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
     .page_offline = flask_page_offline,
+#endif
     .hypfs_op = flask_hypfs_op,
     .hvm_param = flask_hvm_param,
     .hvm_param_altp2mhvm = flask_hvm_param_altp2mhvm,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 07:20:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 07:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927235.1329995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txL3s-0008FQ-2S; Wed, 26 Mar 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 927235.1329995; Wed, 26 Mar 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 1txL3r-0008FJ-WB; Wed, 26 Mar 2025 07:20:28 +0000
Received: by outflank-mailman (input) for mailman id 927235;
 Wed, 26 Mar 2025 07:20: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txL3q-0008FD-TT
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 07:20:27 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20607.outbound.protection.outlook.com
 [2a01:111:f403:2418::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8327c7f-0a12-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 08:20:24 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 LV8PR12MB9357.namprd12.prod.outlook.com (2603:10b6:408:1ff::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 07:20:21 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 07:20: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: c8327c7f-0a12-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mRzVY2cSGppaEBq9LL1KxdhrKizGMgw9wXUzoJT2dtJeml9xymk3DxPrdYaekrPBeZriGaymaLWO2CbjVhdi11+EEYenoE58QXBA8srZDWF1WASY2LqoydLHFUXpD/vXwzCIWQDVC7uiQ2Mva3bBnM8AqwXI1iMOqCoiYyGDCpSo/TFg1U9cIIs+slobErxZrn5FK27Mp+gHgEuLwG+tcJlHvvaKZ8cHPxoned6D2fAp5EoOSLfnpjZHznVp8UAU9zR78lQZ/RxdvlCM9FEdFtIod1u/nCohhYB4g8q9/QKVuiOKEQcj323t8xzR0UM35iUajDzVo2jwGRFVi/VQ/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=d0cwQu4/dPKVtrbGHat3sN92/3SGSORK/kDXetrBkk8=;
 b=ce/7CVulLk6wN4Htq7KutzFlxkKHiihXQeZYuQu0zH4PoOFtktC9muHLfGVm4qL5qSWycs837tg4tds2tM0671ED8fforor2Wz31OVCVO1smIlTcaaDK/AmO5KrC84adM78ZzkaIu5QulHgQxN0ZhjzHSodOFPBbyoviVJrJ7TXeVW0GV38apCRb8HspCnMLJVJB/EyG2/TxA41wWe8bByiPifz3XPxjFGC6ktCMm/xG1QZLniX1zJaZedUm7KHpRR2/E/vdqxdnb5zF8ansmyCpLofaDE9xKbC+qsM7OzEjNvtm27PKeDhgm696MGIo2yw6bPJ1uifu0xuZmcLHBw==
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=d0cwQu4/dPKVtrbGHat3sN92/3SGSORK/kDXetrBkk8=;
 b=mnoI1xc1oTpVKpojYE4V+3zLZm174QUUAqw/emNWsGAVuBjHe9XwXBVDlPJwytIVOK2JHjXZvv8FHmbKdQdv5eVbTfqsOq9vL0H+Dta3Ya57Ga1AZm5nbOhgeOJLTX65rwdXkAShm8w7HynQgtWKRWypSoAVW4u0sAXy1I6ubaA=
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>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 03/15] xen/cpufreq: refactor cmdline "cpufreq=xxx"
Thread-Topic: [PATCH v3 03/15] xen/cpufreq: refactor cmdline "cpufreq=xxx"
Thread-Index: AQHbjnNpEkvZJyYnHka7avkYmH1MUrOCfisAgAKWJuA=
Date: Wed, 26 Mar 2025 07:20:20 +0000
Message-ID:
 <DM4PR12MB8451F07287ABC9BB683D7BD3E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-4-Penny.Zheng@amd.com>
 <80963bfa-a19e-49a7-8de2-0d8508af450f@suse.com>
In-Reply-To: <80963bfa-a19e-49a7-8de2-0d8508af450f@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_ActionId=0ebebc57-47ab-4935-8b26-85397151d6b8;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-26T07:19:37Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|LV8PR12MB9357:EE_
x-ms-office365-filtering-correlation-id: 301bee47-83bb-479c-a457-08dd6c36aaf8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?VzZHTUU5ZWJLRDhFbUE3ejhaRzRjZzl6bGh0MjhFblZETzBqMEtCUXAyejRn?=
 =?utf-8?B?Mmx1UFBWeVoxZjNKbGhRd0p1TXM1RjJ4NGlZVlA4TXpzaUUvd3pnOE16cGMx?=
 =?utf-8?B?QVFnTjVDS244L1VHZGhITTZ0MjdpUGV5cGFTWmFMT2o3dS9RK1EyWEZYYm1u?=
 =?utf-8?B?RnRLdUtOUC9OaGZUeE5tWTVtc2NhelQyc3dDcVFCOEtRNG1NYVIvU3pnT3JN?=
 =?utf-8?B?TTNhaUtYS3JUbC9kazBxcGk3a2ROU2tOSGU0RlZxekR6NDlHamJvclZheGRC?=
 =?utf-8?B?SDh6SEpxTkliL09Td3VZWk1hbVMzdEN5c3NFdHZ4bXc4RUJ1M1JuMFR6L1Ry?=
 =?utf-8?B?aHA5d2pnYWpYbHhXeGplV0RBYjFwMzlQekJldWFjWmdvWkN1L0tybFRKZkZM?=
 =?utf-8?B?NXJOdWdaUzN5NWhqWDBZeVRGY1RQUlZDbzhtOWg5RVVWUXMzOEhSYVZmRlBN?=
 =?utf-8?B?OG1hMWI3NWNla3pNc2Qwdm13WDI4MkVRcEo4MS95dG95V25uME9STUZoUjRP?=
 =?utf-8?B?RHNXcDFVbWtjOTFtK2dGUytKVisrQjJ4Uk44MVhTSE44WjU2Nk1DWUQ4MWdD?=
 =?utf-8?B?Uk8rRm9HcmlZb1ZhakpKdlcxaDRiUTNxRnRwTkhpb3BPMS9FRHd5TlZ0aHhQ?=
 =?utf-8?B?M0RvN2VRdHhjNXhnY3l1S0E2UmkwUFR0bHhGSHlsa2N6blRpUXlCbXhXNE9r?=
 =?utf-8?B?Q3ZjQjZXNHlYT000T1l3L1NySGJ1UWpINWVVU2R2YUZLN0Q3Vi9nUmNjWFBm?=
 =?utf-8?B?YVc4NytFb3dYNkNEWVVYeWhvSW1lNFdpTUdZSzR6SUU5bzNERHFpWndOc1Zt?=
 =?utf-8?B?Vk1rb0NUNDBRNml1bllRVWptakVjYlpITUR2TGc0MlhicytiZGgrWTJIb09Y?=
 =?utf-8?B?VStKcDcvUlFPK1R5VGtPbldRK0lHZEsrZjRxUmJhUDk2QWZreVk1SEQvdTQz?=
 =?utf-8?B?RTlVQWE4c2g1b0VrN0JxVDhhek9wSWxoMy8yRFB4eGY0c3J3V2dmaVF1emRo?=
 =?utf-8?B?KzZwWjZnS1YvRW9OYzJHN0JKRGhkZlpLc0prUHM2MTZhZDk4Ly9EU2liMmVU?=
 =?utf-8?B?b1JNZE15b2s0SzMvSFdDMGtRNmtWS3R4VFpka29qTTFEaTMyNVB1akcvMUdp?=
 =?utf-8?B?QlVhZWdRbGkvRGFaNFZidTloVFhCQ2YvaHgxMzBESWY2aTY4TE9SbVZHMFd0?=
 =?utf-8?B?VjU4dTdRYVc0cHkzSnhiYitKeEkxZFhtZkFWUUZqTzdiUm00eEpPMVBWNDJj?=
 =?utf-8?B?UG1ia0hlajFUaGE5Vlo3cXJ3QlF3eVM3SHNjS3RkOEZzUjkxWjl1N0N5Y3Qv?=
 =?utf-8?B?NGJ0SVU5ZFJlVzd3b0Fac2o1bWZCYlFtT1ZQQzBvSlpqREJqZ3dBWGkvMjNn?=
 =?utf-8?B?OHVRa0RBMHdqdnA2RFNISVJvY1RiMDlkME9kekgwZ29lU3hzeUZ1ZytEc3ZO?=
 =?utf-8?B?QzVDcUtHeGY1UGlMSXJvRmhKaFNxTTRnNENJS0MyTDY5UGcxcFJidEplNGxo?=
 =?utf-8?B?WFExNFFBMUtjdUh5aVJGdG5wSkZndDZ3K1Z0c0xFS2ZYLzNQYlRLbmlPa1NO?=
 =?utf-8?B?RFVqZ3lzS01UNjFUOXhob1hQdS9PZ2Q4bG1sT3k3YXl6TFh2Rnd0dEJtbndK?=
 =?utf-8?B?d0xWdlZJZGFLSjJndzFWQ3hNbURwRHRGRW03OFdOTlYvZ2NnNlVLYWFRVkxO?=
 =?utf-8?B?UXdRS1N3Uks5NDlEdmRmeC8vYkFEYXN1clJBZUJjWUMxcS9xczhVQmpsQVhB?=
 =?utf-8?B?WEUwQ0JTcjlHMGkxT1pzUGRYY2lyUm10K25iRURzckYwYVJvYlVycXlFeEF5?=
 =?utf-8?B?L0JwK0RQNU5OSXpmdUJ3bi9VZWRaTVl5L0hkS2t4aDVSUkpWOVcvSnVzbTA1?=
 =?utf-8?B?YTJ3UzF2VjhjZkFtNUlpM0svN0hxWEpVcFRJbmtNUDYzdXFOQVdZVmdlYUtF?=
 =?utf-8?Q?OL0i1p/30KsgW8G/lPBqWqJhVUpmbKbG?=
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)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z0tzY3Rvb2ZnZlhtNHNxaG00NnNSM1ZoMCtOY1J2VnpKdU1YQ0JDV1ZNQUky?=
 =?utf-8?B?U2RXdFQvWnlGTWN3bE1kUkMvWTMyLzV5K0szYkdtYWdrL2s4UFd3N0xRZzdm?=
 =?utf-8?B?NDVRTklQMkwweVd2T2RUVjhta0xsY2NqNTZCK3VheWM5Q1M0U2RFdlRnTzFy?=
 =?utf-8?B?NFNkTUFPa1pPK2s3REQrK0pVSWxUekFQK3plbkJLS0Y5eWFQaWxHWnFNOTV6?=
 =?utf-8?B?MVpkUWEyMXFTc3lwMGdWdy9rZ3Q4VzY3dVRBRW9lcmR0M1F1ZmdTdUlpd1Mr?=
 =?utf-8?B?OWU3TkZKRE5xOHdtY215R3B6TGNNTmVOZkdhU2NVeVVVaVl2dEdoSDlJcjJX?=
 =?utf-8?B?Vkh2RlZ4ZmhwdUVSL01sQURheCt5cUM5OWtQM0h5dzBkekgyemkzTnRBVWti?=
 =?utf-8?B?YVJiWUxyTHg5YnJJekRXc0dZMXJCNHdPQzk4LzArSFE5ckZaK2NaenZiQ042?=
 =?utf-8?B?dFJseWN3NUhsZDJFSWZQRytjUjFnd0lBYklaTk8zWHd6bnlYUzlrZFZmZmRC?=
 =?utf-8?B?YklwdmU1MVVNS0JVQnVmcjB0cUVnb0NVQjBaNXdRc05sYm51QWJtMHpiTGov?=
 =?utf-8?B?ejEzSFh6aWZZa2R0cCs5SWM2eHhjZExQZWplNnJLdndUU3BzUmwrV25hZ0xr?=
 =?utf-8?B?RllQajJYSHF2aDZQMUhPcDFScHp4dHNrNFJpUnBrdG9PVHUrMGpuNFgrZ0JZ?=
 =?utf-8?B?VGd1NDd0d0FwQ3lNRlpWYXdEa3daK0U3YzdabjBzWDNFbUJuRkV6WWNtZGti?=
 =?utf-8?B?dDRLL2xDUlZUVmlNR2dsSUp1MUY4bzNpZWJXSU5hek9YNTNSTnJudmhwWW9G?=
 =?utf-8?B?dWoxVUtJUGptK0xXSHRGNCsvcG1haitzbzJLeHdqazhPblFvRHRBbTd3YmVO?=
 =?utf-8?B?ZkZtQ0RsblJIT2dXS0IrSGNscGs1T01nRTZJWTFOc3B1dHZjdEp3YkJFV1J0?=
 =?utf-8?B?eTk0VzY2Nit6MmlwVU12d2ducHdyRmMxS0xIZThndWhxdjFmV1grY0ljWk9W?=
 =?utf-8?B?Q0FGLzMwc1QxZTl2cUNGbFpyaTlQLzJhL1ZTUkx2NzEvTHpmSVVUNWpoU3NV?=
 =?utf-8?B?SkpkYXVFME4zVWtSN3Rka08rL2tPY0MvUXJtWG5YV0ZpSEJNUHJ4dUN4a3pN?=
 =?utf-8?B?M2orWVdUVEMrVnlNcVkxckNyUXZDUzFHSU1jc1YwNExNNHBmNEh1QkRrTC82?=
 =?utf-8?B?bndUSzQ0bWFpWFFJeUpxejJLT2h2a1ZCOWNCcEd4WFA0Q2czNG9tTnpCaGZG?=
 =?utf-8?B?WXNhTlZVcmJBRThaQms5eVltT3dVamlEY1BqNW9Ed2hSQmFFUWhqdTNPR2ly?=
 =?utf-8?B?N01TVzlIZy9uNnlJaHhhUjBmSStTZmY0dXQ5dCtUSmNDcXhWLzB5NnNiUGxB?=
 =?utf-8?B?QWZ6UzhST2lOOFJZOXBCY1ZtSVIrZEhrZHphUGMzUlBFbFZuM3FYdnZ4MzVE?=
 =?utf-8?B?RVdsTGVTakR5VUFIbXV2a1ovd3ZJNE81T2NQY2F2b204WEdwZVA2NFlKTk5K?=
 =?utf-8?B?YTQ0WmlVUlhvOXdnUlY2aXcxWVYrMGdRSy8wRktzREJlVGVUOXlOVk9PYVgz?=
 =?utf-8?B?TUpVZGNDTHhCSk54UTlMUDBHY0Q1SzNUbGpYd1N6V3lVajloWVpYc0NrWmlz?=
 =?utf-8?B?amdQczIxbXRmU3o3dHQvbnV5eGdYZUhlRCtuUURBZnlyZVVRREcvL0ppUGVi?=
 =?utf-8?B?U3JvNytLa2RFZDlpZnAwdUNEK1R1SmU1dGhNeGpZNFpTc051Mkd4RzE3amtO?=
 =?utf-8?B?bHhWZFgvN25vbk1rWVJqR1RkYVpWMFl5NTBiMndNU1orbXBNaGtFMHJpbkZI?=
 =?utf-8?B?MWJ5VmQvRVA0QVA4WjdldVZ6NlFNYkxkaWlHL1VzS3FPSnZDL2orNHFiN0tK?=
 =?utf-8?B?RS9Fa3lSU0Q2RkkzV2E3T1JoaStzOXZKSWxSTTdWUFdKNjZ3M3g3bXRjRm1k?=
 =?utf-8?B?bVNnbStEZUZyUkFMdVRTZzJsZ3VuTXRqYVlrNnU0TnlMbnROS294RnBRNDdB?=
 =?utf-8?B?dy9raW1RbEJJdkhpSWRjcVVrMEJzbjNvQ1RWWmc4bUdyRlk4eWFrbkdRU0VV?=
 =?utf-8?B?bkRwQ05QTytuU1phc2ZaMG9seTNyOTNHOTZHUk5URGc3dmxJYmNsaDJ0TE56?=
 =?utf-8?Q?Zd0Y=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: 301bee47-83bb-479c-a457-08dd6c36aaf8
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2025 07:20:20.8390
 (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: BsMtVgDOpcqSaCukA5dpxCdl0S7LAvGlzN1t7LrGcOY1ToE4Cafb/fKfivl2QOe3jA3G4vG9lHhCQM3hbemrtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9357

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDI0
LCAyMDI1IDExOjAxIFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4g
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJh
cmRAdmF0ZXMudGVjaD47DQo+IE9yemVsLCBNaWNoYWwgPE1pY2hhbC5PcnplbEBhbWQuY29tPjsg
SnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFJvZ2VyIFBhdQ0KPiBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsgeGVuLQ0KPiBkZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSZTog
W1BBVENIIHYzIDAzLzE1XSB4ZW4vY3B1ZnJlcTogcmVmYWN0b3IgY21kbGluZSAiY3B1ZnJlcT14
eHgiDQo+DQo+IE9uIDA2LjAzLjIwMjUgMDk6MzksIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+IC0t
LSBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYw0KPiA+ICsrKyBiL2RvY3MvbWlz
Yy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYw0KPiA+IEBAIC01MzUsNyArNTM1LDggQEAgY2hvaWNl
IG9mIGBkb20wLWtlcm5lbGAgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHN1cHBvcnRlZA0KPiBieSBh
bGwgRG9tMCBrZXJuZWxzLg0KPiA+ICAgIHByb2Nlc3NvciB0byBhdXRvbm9tb3VzbHkgZm9yY2Ug
cGh5c2ljYWwgcGFja2FnZSBjb21wb25lbnRzIGludG8gaWRsZSBzdGF0ZS4NCj4gPiAgICBUaGUg
ZGVmYXVsdCBpcyBlbmFibGVkLCBidXQgdGhlIG9wdGlvbiBvbmx5IGFwcGxpZXMgd2hlbiBgaHdw
YCBpcyBlbmFibGVkLg0KPiA+DQo+ID4gLVRoZXJlIGlzIGFsc28gc3VwcG9ydCBmb3IgYDtgLXNl
cGFyYXRlZCBmYWxsYmFjayBvcHRpb25zOg0KPiA+ICtVc2VyIGNvdWxkIHVzZSBgO2Atc2VwYXJh
dGVkIG9wdGlvbnMgdG8gc3VwcG9ydCB1bml2ZXJzYWwgb3B0aW9ucw0KPiA+ICt3aGljaCB0aGV5
IHdvdWxkIGxpa2UgdG8gdHJ5IG9uIGFueSBhZ25vc3RpYyBwbGF0Zm9ybSwgKmJ1dCogdW5kZXIN
Cj4gPiArcHJpb3JpdHkgb3JkZXIsIGxpa2UNCj4gPiAgYGNwdWZyZXE9aHdwO3hlbix2ZXJib3Nl
YC4gIFRoaXMgZmlyc3QgdHJpZXMgYGh3cGAgYW5kIGZhbGxzIGJhY2sgdG8NCj4gPiBgeGVuYCBp
ZiAgdW5hdmFpbGFibGUuICBOb3RlOiBUaGUgYHZlcmJvc2VgIHN1Ym9wdGlvbiBpcyBoYW5kbGVk
DQo+ID4gZ2xvYmFsbHkuICBTZXR0aW5nIGl0ICBmb3IgZWl0aGVyIHRoZSBwcmltYXJ5IG9yIGZh
bGxiYWNrIG9wdGlvbg0KPiA+IGFwcGxpZXMgdG8gYm90aCBpcnJlc3BlY3RpdmUgb2Ygd2hlcmUN
Cj4NCj4gV2hhdCBkb2VzICJzdXBwb3J0IiBoZXJlIG1lYW4/IEkgZmVhciBJIGNhbid0IGV2ZW4g
c3VnZ2VzdCB3aGF0IGVsc2UgdG8gdXNlLCBhcyBJDQo+IGRvbid0IGZvbGxvdyB3aGF0IGFkZGl0
aW9uYWwgaW5mb3JtYXRpb24geW91IG1lYW4gdG8gYWRkIGhlcmUuIElzIGEgY2hhbmdlIGhlcmUN
Cj4gcmVhbGx5IG5lZWRlZD8NCj4NCg0KVGhlcmUgYXJlIHR3byBjaGFuZ2VzIEknZCBsaWtlIHRv
IGFkZHJlc3M6DQoxKSAiOyIgaXMgbm90IGRlc2lnbmVkIGZvciBmYWxsYmFjayBvcHRpb25zIGFu
eW1vcmUsIGxpa2Ugd2UgZGlzY3Vzc2VkIGJlZm9yZSwgd2Ugd291bGQNCmxpa2UgdG8gc3VwcG9y
dCBzb21ldGhpbmcgbGlrZSAiY3B1ZnJlcT1od3A7YW1kLWNwcGM7eGVuIiBmb3IgdXNlcnMgdG8g
ZGVmaW5lIGFsbCB1bml2ZXJzYWwgb3B0aW9ucw0KdGhleSB3b3VsZCBsaWtlIHRvIHRyeS4NCjIp
IE11c3QgdW5kZXIgKnByaW9yaXR5KiBvcmRlci4gQXMgaW4gY3B1ZnJlcV9kcml2ZXJfaW5pdCgp
LCB3ZSBhcmUgdXNpbmcgbG9vcCB0byBkZWNpZGUgd2hpY2ggZHJpdmVyIHRvDQp0cnkgZmlyc3Rs
eS4gSWYgdXNlciBkZWZpbmVzICJjcHVmcmVxPXhlbjthbWQtY3BwYyIsIHdoaWNoIGxlYWRzIGxl
Z2FjeSBQLXN0YXRlIHNldCBiZWZvcmUgYW1kLWNwcGMgaW4gY3B1ZnJlcV94ZW5fb3B0c1tdLA0K
dGhlbiBpbiB0aGUgbG9vcCwgd2Ugd2lsbCB0cnkgdG8gcmVnaXN0ZXIgbGVnYWN5IFAtc3RhdGUg
Zmlyc3RseSwgb25jZSBpdCBnZXRzIHJlZ2lzdGVyZWQgc3VjY2Vzc2Z1bGx5LCB3ZSB3aWxsIG5v
dCB0cnkgdG8gcmVnaXN0ZXIgYW1kLWNwcGMgYXQgYWxsLg0KDQo+ID4gLS0tIGEveGVuL2RyaXZl
cnMvY3B1ZnJlcS9jcHVmcmVxLmMNCj4gPiArKysgYi94ZW4vZHJpdmVycy9jcHVmcmVxL2NwdWZy
ZXEuYw0KPiA+ICsgICAgaWYgKCBhcmdbMF0gJiYgYXJnWzFdICkNCj4gPiArICAgICAgICByZXQg
PSBjcHVmcmVxX2NtZGxpbmVfcGFyc2UoYXJnICsgMSwgZW5kKTsNCj4gPiArDQo+ID4gKyAgICBy
ZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IF9faW5pdCBjcHVmcmVx
X2NtZGxpbmVfcGFyc2VfaHdwKGNvbnN0IGNoYXIgKmFyZywgY29uc3QNCj4gPiArY2hhciAqZW5k
KSB7DQo+ID4gKyAgICBpbnQgcmV0ID0gMDsNCj4gPiArDQo+ID4gKyAgICB4ZW5fcHJvY2Vzc29y
X3BtYml0cyB8PSBYRU5fUFJPQ0VTU09SX1BNX1BYOw0KPiA+ICsgICAgY3B1ZnJlcV9jb250cm9s
bGVyID0gRlJFUUNUTF94ZW47DQo+ID4gKyAgICBjcHVmcmVxX3hlbl9vcHRzW2NwdWZyZXFfeGVu
X2NudCsrXSA9IENQVUZSRVFfaHdwOw0KPiA+ICsgICAgaWYgKCBhcmdbMF0gJiYgYXJnWzFdICkN
Cj4gPiArICAgICAgICByZXQgPSBod3BfY21kbGluZV9wYXJzZShhcmcgKyAxLCBlbmQpOw0KPiA+
ICsNCj4gPiArICAgIHJldHVybiByZXQ7DQo+ID4gK30NCj4NCj4gRm9yIGJvdGggb2YgdGhlIGhl
bHBlcnMgbWF5IEkgc3VnZ2VzdCBzL3BhcnNlL3Byb2Nlc3MvIG9yIHNvbWUgc3VjaCAoImhhbmRs
ZSINCj4gbWlnaHQgYmUgYW5vdGhlciBwb3NzaWJsZSB0ZXJtIHRvIHVzZSksIGFzIHRoZW1zZWx2
ZXMgdGhleSBkb24ndCBkbyBhbnkgcGFyc2luZz8NCj4NCg0KTWF5YmUgSSBtaXMtdW5kZXJzdG9v
ZCB0aGUgcHJldmlvdXMgY29tbWVudCB5b3Ugc2FpZA0KYGBgDQogICAgICAgID4gICAgICAgICAg
ZWxzZSBpZiAoIElTX0VOQUJMRUQoQ09ORklHX0lOVEVMKSAmJiBjaG9pY2UgPCAwICYmDQogICAg
ICAgID4gYGBgDQoNCiAgICAgICAgRm9yIHRoZSByZXN0IG9mIHRoaXMsIEkgZ3Vlc3MgSSdkIHBy
ZWZlciB0byBzZWUgdGhpcyBpbiBjb250ZXh0LiBBbHNvIHdpdGgNCiAgICAgICAgcmVnYXJkIHRv
IHRoZSBoZWxwZXIgZnVuY3Rpb24ncyBuYW1lLg0KYGBgDQpJIHRob3VnaHQgeW91IHN1Z2dlc3Rl
ZCB0byBpbnRyb2R1Y2UgaGVscGVyIGZ1bmN0aW9uIHRvIHdyYXAgdGhlIGNvbmRpdGlvbmFsIGNv
ZGVzLi4uDQpPciBtYXkgeW91IHdlcmUgc3VnZ2VzdGluZyBzb21ldGhpbmcgbGlrZToNCmBgYA0K
I2lmZGVmIENPTkZJR19JTlRFTA0KZWxzZSBpZiAoIGNob2ljZSA8IDAgJiYgIWNtZGxpbmVfc3Ry
Y21wKHN0ciwgImh3cCIpICkNCnsNCiAgICB4ZW5fcHJvY2Vzc29yX3BtYml0cyB8PSBYRU5fUFJP
Q0VTDQogICAgLi4uDQp9DQojZW5kaWYNCmBgYA0KDQo+IEluIHRoZSBlbmQgSSdtIGFsc28gbm90
IGVudGlyZWx5IGNvbnZpbmNlZCB0aGF0IHdlIG5lZWQgdGhlc2UgdHdvIGFsbW9zdCBpZGVudGlj
YWwNCj4gaGVscGVycyAod2l0aCBhIDNyZCBsaWtlbHkgYXBwZWFyaW5nIGluIGEgbGF0ZXIgcGF0
Y2gpLg0KPg0KDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 07:48:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 07:48:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927249.1330005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txLUr-0006ES-9h; Wed, 26 Mar 2025 07:48:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927249.1330005; Wed, 26 Mar 2025 07:48: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 1txLUr-0006EL-72; Wed, 26 Mar 2025 07:48:21 +0000
Received: by outflank-mailman (input) for mailman id 927249;
 Wed, 26 Mar 2025 07:48: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txLUq-0006EF-Fx
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 07:48:20 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2409::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ade88d5a-0a16-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 08:48:18 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 CY5PR12MB6454.namprd12.prod.outlook.com (2603:10b6:930:36::22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.44; Wed, 26 Mar 2025 07:48:14 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 07:48: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: ade88d5a-0a16-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vr53OSaIWdcdvTjFTaBdRuXecAGJa36o5YKeyPnWUgwhWmOloFvnSsBVX76v34zDyRP9OwHWMzW0uHp0pqiUMEaOPzdVv0DPz88dw+xdiwPbYc+s839j/Vyi1P2fZoEkP+sDYsP8OcJ+TmIazqp421+jrvUEuVklNnxaC5sKfEzO81qTLa/suoqjdWa+0zFgFLJ1+ddcHR/r1EyMMOkGoCo8+ChCIRPYRafXwlFwWe1E9TWPTG1dDQ0yx0AIUohznr7q4H9n0d6qH7Z2SGmns72EQBf2Z0epZxxUcvDgkb5D1OVy0k5eSUki+VhglnWgF2zEHWAYTahjaHBkUbJcQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zUIaV8u84eSga7JIFVouyNEN6ZOXlRJ6LUWX4Hk4PMs=;
 b=ajnnqvPH1z+0IE14aCIMOftJKMHp6VbwKRcnAzVsqOLi0tLNEytLhKAsVy6JpEMIPg94ySSdH+RVqB50Cvgvtdb04pfbFN9VTG6cMpyi1Cw/YULq7wBuzbBew4CEOi1ymYxvJvacqXIxIcH5GKcvaPiJ0H+bp+znkwTW623GsuBQS0vXbA9Rdxwt6tha2STk4lEne8WSBxSzH7TSx1A1cHE5n3Rpm4bPMix4zCCWKo50pgBZBBzcy/jVRRApEgb23auCcqVOdxAnB7EwPyHYxucTTq8lrf8Bqzcxku5tK+CGWzj5X4sxBAPM2tMFE66Z7Gv0gqb+SV9mz/RvLDrfag==
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=zUIaV8u84eSga7JIFVouyNEN6ZOXlRJ6LUWX4Hk4PMs=;
 b=GX81wRgJY8H8dTqVMIJBQRqztrC00MmdtHmwxA4YuVANIhYjaTxwk3z13FKpOpqCwaFT+f99l/bL0+L1uyx5sD7ZyIvIoBMIquLsxxSsxn/LffMESvrz2ywDEmIGoVcV0Y4478PkJYOUU2JVVLUuf/gGZ2wOjqekDLANW9NQw68=
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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Orzel,
 Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 04/15] xen/cpufreq: move XEN_PROCESSOR_PM_xxx to
 internal header
Thread-Topic: [PATCH v3 04/15] xen/cpufreq: move XEN_PROCESSOR_PM_xxx to
 internal header
Thread-Index: AQHbjnNrR40wXk683EGoKadAmyFYdLOCgUSAgAKmoLA=
Date: Wed, 26 Mar 2025 07:48:14 +0000
Message-ID:
 <DM4PR12MB84515A8127DB19A052ACB228E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-5-Penny.Zheng@amd.com>
 <a6010274-d7b0-409f-b9a8-d4dfa0e72974@suse.com>
In-Reply-To: <a6010274-d7b0-409f-b9a8-d4dfa0e72974@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_ActionId=e8a7f4ce-8224-4fef-aef3-52891d0fbcff;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-26T07:47:18Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|CY5PR12MB6454:EE_
x-ms-office365-filtering-correlation-id: 657ec8ce-8c69-4e38-f19f-08dd6c3a9050
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?U1hvdmlnM0FWcTBDby9mbzdjZGlEZ0VVS0owZmhBdmZBSjBGVkx0WDgrRlFh?=
 =?utf-8?B?aWpqZTQxdHl2SWJqdWZiNUtydXJvc3hYYnoxbFFXQUlla0Z2YXJmY0ZDckZt?=
 =?utf-8?B?N3dFRnNDWGl6cm50UlZ6VXhtaFA4NkpzMGd6enZCbGxpRVpFZVVZMlNWa0FU?=
 =?utf-8?B?dnRuS01KVjJZT3hBcEdNYzZUVStIQ212N2ZBYi9FZm52dXVLM1RrbXE0emNo?=
 =?utf-8?B?MjA1RFEwbG5mMUZMcTZmVXNlT2VvQ2VGanRReGp6Q3A3YkFFTXdsaDBjSms5?=
 =?utf-8?B?ZnNkK3FiWS9WWUFTam5UYmxQVjFiMTVIWjFaYnR0OVFxSlcxSzBOd2EvMGUx?=
 =?utf-8?B?V2FvbmlxYkJUd0JWUjlvR1k3NFVJTGFwUlpMOEU3NGd0WlJJbGxzRFA1dU1V?=
 =?utf-8?B?Q0c2Q05oRWYzWFRTUXZONTNvbFVMai9ncnB4NzdFY0dseWZZSDNwbU5MMFJR?=
 =?utf-8?B?QjloK2YwR3ptSnVQMmFEczVQZ2JaeG9LNnpVbXFxclAwNUY4V052bTFtdFJp?=
 =?utf-8?B?bG5wa1hJam8xVXpLMUlycVkvKzJxWTZmcTlEeHRqYXNObVl4MDJxZ3pLbzRw?=
 =?utf-8?B?Qmkyb1F6c1lZcnQ3Ui8xWVFVYjNxd2lUUWxNQjZ0cTlpcnp0bTVkdng1My9C?=
 =?utf-8?B?SUNOeFlvUGEwZGhBOWJlcEZmQTNqNDk5NTZ3Y1MrUlhVbGJaK3ZBRXpwbGgw?=
 =?utf-8?B?YnFOVWg3bjRBRG90QlRkaG43bmErMXRjYkFvc0dSckhITXJNSjVuV01tZHYv?=
 =?utf-8?B?cjdCUHdWLzRkaSs2dHVrZDhaQUxqQm1kSm1TWHVFbDBDamJxVDZ2N25uL2dN?=
 =?utf-8?B?eTFOSVh5Y0dsNWEvcU91K1Z2UWd3Ukcxcit6eUMzS0dvdWlLZXI3RTZ4RGxL?=
 =?utf-8?B?NGxlN0JmQm1ROU1XR0pwUStIcG9NRjJDWEJDZjFqRU1OMkQ1c1pyV2xkQXRk?=
 =?utf-8?B?Y0pIRzBIR1FDb2kramZCdElRRWFXRS9jNWt4dDZSNnVDS2R4ckJkZnkyeVhm?=
 =?utf-8?B?NzFhRVJrNUpsdjNSZG90VEJBeTZ1c3Q2aE5qQWtiR3gzWURIZ2Y3QlYxaEln?=
 =?utf-8?B?RVh3MXF1b0lKZUhsTkNaaDZqVjZrOGRic29FODYzU1V4cUFiSXlINXI0NmlH?=
 =?utf-8?B?OXZLOWRMM2pPTlJ1djZRZW9ENm1UZnNWQW1YczhaaUJoaHhKWXl1aE5mK2NB?=
 =?utf-8?B?L2RndmlJWXhaVlJUakR0bXJ4bFJ5VjQ3ekN4bGswME1USWg1R1RNSUtwdDVi?=
 =?utf-8?B?a0UrSHBkdHZneWh0aytoZ3VzT2RlLzdFMnRqUUJSUThPK0ovcVk1RlhqRmtV?=
 =?utf-8?B?VE9odTRRRkxkWGtIeXAvZnJLUFVwMnhUVGloaWZLUE1HT3Q2cFBBY3dmaHg0?=
 =?utf-8?B?YWdybkozMURUZGdRSWxLYUZ6dVdQNEVWWGlXclpKUFI1NEpTUXQ5SGxmNGVn?=
 =?utf-8?B?algzU2tSMGdCcnplcHQyZHFNQXFsbEMwZ1hLYUJOQytocUhWeS80ZC95V1dE?=
 =?utf-8?B?RlZNWWIwZWI0MTBJVUk3ZHRkS2RjdzNVSzFRRXhnQlRlRlF5Z2ZOTGtUL0Vk?=
 =?utf-8?B?OHI2Q21McEVrdHE2UmJ4WDdKa2dBWWNtZUdSV3QzdkJHY0JaNGRqN0RsWTdH?=
 =?utf-8?B?aEVXVm5JN0swRTRQV1FJSEQ4aHl3MDlaVkc5V0JmeW5haHdYTGNzSFFVdVVq?=
 =?utf-8?B?ckFPc0ZQMFJZOUxuNWRzUjVJZHV5U0RoZWFQUGQycWU2Z09iWTV1ZkN4YkNH?=
 =?utf-8?B?NkhUQ1BsNWs3SGtkamlGQndWa011b1JCaHI1dHl2OUMrWlZZbEprYWp4cnZC?=
 =?utf-8?B?T3YzQlR1VGppZGZGVjlEMVNNUFMvdG9jazRUTnNBbC9rWEFRUndpMEJGKzAv?=
 =?utf-8?B?bWVvVlZPMzdNUjFiZGJrWUtqZTVOS2luUFdHWlorWGtwRnc9PQ==?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RmFSVUNIWnYxRHVaZ1pzNThkQ0xjUG1lSFUxL2oxT1E4ZHVmdk9FbFRKQzc4?=
 =?utf-8?B?VGR2em9yZmFJTFRVbGxhRndkZUpaUnMxYVZGSGpaUnB0bGUwK29PbmdOc21B?=
 =?utf-8?B?TVYzQTFCcFJ5MEIrcG9NMWc0UUZ2dXR2UVFPLzRPQmxFd1B3K0NHZnc4VUhB?=
 =?utf-8?B?YkM1ZGNYWkRyRSt4djA5aXp0ZS9FTEUzYmFUL0lVeWcvZTZxRmc4Z2VjMWZJ?=
 =?utf-8?B?YlczYmR4aXBhNlM2dFl3elFoSmF2NTFSQUVSOEwzL2J3S2Z6UndGaDJRRC9C?=
 =?utf-8?B?ZFM2d2NXRkxWcy95dzdBSTAwNllMQzFjVmdKeVVEVUE4cTlMNzFDcWxUWUVY?=
 =?utf-8?B?T1ZYMDROaDNqVWpuZng0RkJPeFlkenJobU9peDAwRmdtYVd1MU1hYWk0UXRQ?=
 =?utf-8?B?RHZleDhQcDBwdDZreFMrNFZHRSt0dmxZeEtWNTNES1RiYTVncHZSVXFKRk15?=
 =?utf-8?B?bk1ybHMxL0o0a3lCT3c0UnVRNmgrMVNlZGhRZHFjSmwwWEFReFVnMW54QU4y?=
 =?utf-8?B?L2RNcElYbHhZT0l1WGdCcE9UVUFwTnlVc2QwdTVVeHMweCtiUTIwcHNHUHVt?=
 =?utf-8?B?TmJuNmpDUG4ybFIvRTJ4alNZek50RGZDUUdKN1NIT0xvUnU1QVpveGV4Zy9r?=
 =?utf-8?B?WXo5MzVVK2RicXBJaEpkVkplWlpsOFZXc2ZBcGRpdkJQU2Z5akdpbTRQbVVu?=
 =?utf-8?B?WGMrWHpxKzFSU1EzUnQzdHVxcmxTbnYreFlJZzlZc3VuM3Yzakd2cVJENGdh?=
 =?utf-8?B?MjZiamZDbWVwa1VWYmF0WUlldmRMZHZSWGsxbW94MmhJcVp3ekZCekQzL0VO?=
 =?utf-8?B?Q3hZbzRqVlZvZ3VLSHRudEN0YjJZTzZDNHBqUWFyRzFsWGFQcGFZRk1MOVgx?=
 =?utf-8?B?UWxQMDcvdWJKOHBTOW91WGNtVTRxZ0crbWdXOCtMU0N3UEZSdkNqd3RaMjdw?=
 =?utf-8?B?djVQVkVWTkh4Y3h5a2x6Z3JTWGhwamQ1NjM4NTByd1c4MmJTMmlId2pSN0M5?=
 =?utf-8?B?b0hqMG8vV3l3aExVUXZsek14ZStDRkNnL1hZZFJreTFuenpFTXpLMFA5UzU1?=
 =?utf-8?B?UzFiYXpRVlhjS2Y3V2w2cENEYlF3alhXbWR3bnoyNmJqSWVvUXpFUHBuL1h3?=
 =?utf-8?B?akkrR3ZxVlcvWkwydzNFOXpVN25pNUJzcS81NVlDWWJ0SFZVdzY3UFlBY2o2?=
 =?utf-8?B?YVJDS0VjSW5UckRWMUI1WEZqMkxQeGp5eXVleFh6Y0d0cGIvdlZidVdCUHp1?=
 =?utf-8?B?N2Fya1JPTlBvM2wyNHZhRlhCV3ByYkFVSEVwRDZxYkV6bXhCN1FLdElGWWZM?=
 =?utf-8?B?SnFVOEQyQTJiY0p0VFFDYytld2thVFJZOUI4YUlRemhpZmtQYzlQWHpTbEhD?=
 =?utf-8?B?OWpNSEYxNE5DN0FFZkg2aXNPS29LUTRwYkFwTXNXd1JEa0lzUmVhcEgzbk5H?=
 =?utf-8?B?ODhJZC9Pb3NmRjR1WTNvWG04Zmh6THV4UE1RV0ptZGFLQ01JRGRaM3daZ2pX?=
 =?utf-8?B?K05TalRlRmxXMjlzV1E2UTE2b3pOcytlOHl0M01uQ09veWZkZTcyWVA0L0gv?=
 =?utf-8?B?RzJTSHFxK1VwOEQ1ZWpmL2s4eHkxSnVGdDlJc3ZnZXZ0NkFRNlhZZmIyVU9I?=
 =?utf-8?B?YUl0bzJ6TFRGNWNsWHA0WFFrckJvVEY0bnF3QzhhaDBtZFZNRC9GTWNQeVBR?=
 =?utf-8?B?cDNWRzI2Wmo1M1hOTFdvTTJqVktOTHg4ZzZmZ3daVnpFL0h1NkdYWnV1Vldl?=
 =?utf-8?B?OVZBQmJzWVJsZmk0ZnU3cDhjakVSTDN3UmRVU1pZWlBnaHY4QytyRWZNV1pS?=
 =?utf-8?B?a0tteHE2QTJwbFVkc0hWV29OeStqdUhoSEl6WTYvckVNWE9RYm85NWk2NnNR?=
 =?utf-8?B?eFZIc29ycWpsZWpzbmlqTXJoNzlLRlBtamlDMkw3SC9lOU90M0hmcmE0TWJi?=
 =?utf-8?B?aDBtWmszQzd2T0t2V2hsczFTNE8rZlhXWXA2QlRaa0dWVHYveExaSzUzMk1j?=
 =?utf-8?B?TTQyVmF5QkR1UEFuQ3UzSWZFNU5kZ28rTmJRMlZQVm1ycUZ4QktOdldVN0Zo?=
 =?utf-8?B?UlRhNndCN1ZEUUYyKzQyTURvb2FRS2oxejQrOFpaYkU0dHQ1VndGYi9FNHNk?=
 =?utf-8?Q?6Um0=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: 657ec8ce-8c69-4e38-f19f-08dd6c3a9050
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2025 07:48:14.1318
 (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: WZeXYULW8r6wTujRYkUuW4h/+1Sy7YfPkH5xUTxZpkkZQP2znk93OT6J+8IqMzh8Kh9tg9kF1W2ftAY3u0ycXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6454

W1B1YmxpY10NCg0KSGkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgTWFyY2ggMjQs
IDIwMjUgMTE6MTIgUE0NCj4gVG86IFBlbm55LCBaaGVuZyA8cGVubnkuemhlbmdAYW1kLmNvbT4N
Cj4gQ2M6IEh1YW5nLCBSYXkgPFJheS5IdWFuZ0BhbWQuY29tPjsgQW5kcmV3IENvb3Blcg0KPiA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT47IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPjsNCj4gQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQHZhdGVzLnRlY2g+
OyBPcnplbCwgTWljaGFsDQo+IDxNaWNoYWwuT3J6ZWxAYW1kLmNvbT47IEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+OyBTdGVmYW5vIFN0YWJlbGxpbmkNCj4gPHNzdGFiZWxsaW5pQGtlcm5l
bC5vcmc+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFtQ
QVRDSCB2MyAwNC8xNV0geGVuL2NwdWZyZXE6IG1vdmUgWEVOX1BST0NFU1NPUl9QTV94eHgNCj4g
dG8gaW50ZXJuYWwgaGVhZGVyDQo+DQo+IE9uIDA2LjAzLjIwMjUgMDk6MzksIFBlbm55IFpoZW5n
IHdyb3RlOg0KPiA+IFhFTl9QUk9DRVNTT1JfUE1feHh4IGFyZSB1c2VkIHRvIHNldCB4ZW5fcHJv
Y2Vzc29yX3BtYml0cyBvbmx5LCB3aGljaA0KPiA+IGlzIGEgWGVuLWludGVybmFsIHZhcmlhYmxl
IG9ubHkuIEFsdGhvdWdoIFBWIERvbTAgcGFzc2VkIHRoZXNlIGJpdHMgaW4NCj4gPiBzaS0+Zmxh
Z3MsIHRoZXkgaGF2ZW4ndCBiZWVuIHVzZWQgYW55d2hlcmUuDQo+DQo+IFBsZWFzZSBiZSBjYXJl
ZnVsIHdpdGggIm5vdCB1c2VkIGFueXdoZXJlIi4gU2VlIGUuZy4NCj4gaHR0cHM6Ly94ZW5iaXRz
Lnhlbi5vcmcvZ2l0d2ViLz9wPWxlZ2FjeS9saW51eC0yLjYuMTgtDQo+IHhlbi5naXQ7YT1ibG9i
O2Y9YXJjaC9pMzg2L2tlcm5lbC9hY3BpL3Byb2Nlc3Nvcl9leHRjbnRsX3hlbi5jO2g9ZWI2YTUz
ZTk1NzJjMTMNCj4gN2RhNTA1YTdkNDk3MGIxYTViN2UxYzUyMmQ7aGI9SEVBRCNsMTkzDQo+DQo+
ID4gU28gdGhpcyBjb21taXQgbW92ZXMgWEVOX1BST0NFU1NPUl9QTV94eHggYmFjayB0byBpbnRl
cm5hbCBoZWFkZXINCj4gPiAiYWNwaS9jcHVmcmVxL3Byb2Nlc3Nvcl9wZXJmLmgiDQo+DQo+IEVz
c2VudGlhbGx5IHlvdSdyZSBhZ2FpbiBhbHRlcmluZyB0aGUgc3RhYmxlIHB1YmxpYyBBQkkgaW4g
YSB3YXkgdGhhdCdzIG5vdCBhY2NlcHRhYmxlLg0KPg0KDQpVbmRlcnN0b29kLi4uDQpJIG1pc3Vu
ZGVyc3Rvb2QgdGhlIHByZXZpb3VzIGNvbW1lbnQgYWdhaW4uLi4NCkknbGwgb25seSBtb3ZlICB0
aGUgbmV3IFhFTl9QUk9DRVNTT1JfUE1fQ1BQQyBpbnRvIHRoZSBpbnRlcm5hbCBoZWFkZXINCg0K
PiBKYW4NCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 08:10:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 08:10:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927260.1330015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txLqL-00046Y-38; Wed, 26 Mar 2025 08:10:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927260.1330015; Wed, 26 Mar 2025 08:10: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 1txLqL-00046R-0Q; Wed, 26 Mar 2025 08:10:33 +0000
Received: by outflank-mailman (input) for mailman id 927260;
 Wed, 26 Mar 2025 08:10: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=Mf06=WN=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txLqJ-00046L-6Q
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 08:10:31 +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 c5a39413-0a19-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 09:10:25 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5e61375c108so8544174a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 01:10:25 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5ebccfb0e97sm9080244a12.45.2025.03.26.01.10.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 01:10: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: c5a39413-0a19-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742976625; x=1743581425; darn=lists.xenproject.org;
        h=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=zvoZdGIIh0nptv4x2hyk3srE7837z4cLxs0snnCK7ls=;
        b=r69wm3qpeIQAtFCmphYmhl88DuQDMudIU5AbBhmvgb3mjgSeen0hTVPGMYtJjpdlRY
         BdUw4QLDfoVbYBHdSw61X77N19JBDq6rqH7Mqo/s2psieAnDb1BDtb4YDuirXQr7V6oQ
         fyA4rAdYf1bpsUIajYF199OAEY25lMOYNJeVg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742976625; x=1743581425;
        h=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=zvoZdGIIh0nptv4x2hyk3srE7837z4cLxs0snnCK7ls=;
        b=qp1cy2PGoF7sI1B+pTkk4k3sliWq7Ow3dDRRGtb5TuvLcHJE5aZPtokw7yWEVmGSGh
         FNCayQOX81Ft4dCoYrVbc95EgCw4C5nYuQ2mY7V4XxKacXSesc6nxCAab8CT2YnXAQUn
         +VH0jYdjg36njGJnMeAckpUZWLZvEqakzXIjmuJ2HzB00id5f9k6hawCnwZUO/1eeX5/
         RyFOcvo6nck4ru1oZOQoPp/QzieAOxMBudUzLfs1nTvenzunKCw009YOA7yixOkmD7qR
         dCnNqQ/Ry7q+Ghiekx1GkZTWUrYZCYbBqv+ufgFR1rqBGrQTU4AZD/WcWE/Y6OAOA/+h
         mXdA==
X-Forwarded-Encrypted: i=1; AJvYcCXWM0NHosLcsmfuc6F95KJje9oTL3WZLzGGoa/jsspa7exUIk/WwAE8sGDv0VemO392WowA9+rA7ec=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzb6dP7v8R4LP4hRm7mbWvRtGzFlpJs0T6Zjg9LMkNuj3hNegas
	p43Iz6PQwGX+j79M6t8n28OVFOnlflKHWVi8yQpBfP/G6dc2q9NrC9TZQn88kKU=
X-Gm-Gg: ASbGnctFYI8u8mdHjbLPcrb4/fRXa7a3Xj9qyuI1c0xmta5m/3j7SxOJ/7gFiiiGrtp
	AQ/aGJ28DDK/vMUaKo3Vdn56c6yZPcKfIEHH83HXhqcijBgoMzYPhP1KPkJmFnkgBz0pDIrwOCc
	qDfaTYvNDSyL2vgQrO+jCERTSscNEatSkAMawyLB3KiV+pYyb7d/14PGqaltszu8o59pvZicVUT
	SpPcSssY4Ogt5nsY92PyC4ShG2xGkq0lF0Ys2nRh/EYKbIb9OK9+4qhGmHWPm4b4pfgPEh0MFYd
	8DA9nX/dYi5GCzq7UH3BGLZZvfj3NRaXlP/5aeR/xiBbLPnipA==
X-Google-Smtp-Source: AGHT+IFk/oQ4dEeG6SP1NjnX7dgOQ//K7a8iza3+Ms4rsYBb+Te5rd3AJ8dLKHMNssy8DXdKiQsVgA==
X-Received: by 2002:a05:6402:4306:b0:5dc:c531:e5c0 with SMTP id 4fb4d7f45d1cf-5ebcd519e7fmr18000389a12.27.1742976624991;
        Wed, 26 Mar 2025 01:10:24 -0700 (PDT)
Date: Wed, 26 Mar 2025 09:10:23 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Gomez <da.gomez@kernel.org>,
	=?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <Z-O2bwbYFvOzZw0t@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local>
 <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87v7rxzct0.ffs@tglx>

On Tue, Mar 25, 2025 at 10:20:43AM +0100, Thomas Gleixner wrote:
> On Tue, Mar 25 2025 at 09:11, Thomas Gleixner wrote:
> 
> > On Mon, Mar 24 2025 at 20:18, Roger Pau MonnĂŠ wrote:
> >> On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
> >>> The issue is that info appears to be uninitialized. So, this worked for me:
> >>
> >> Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
> >> this is x86, I was expecting x86 ot always use
> >> x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
> >> would like to better understand this.
> >
> > Indeed. On x86 this should not happen at all. On architectures, which do
> > not use (hierarchical) interrupt domains, it will return NULL.
> >
> > So I really want to understand why this happens on x86 before such a
> > "fix" is deployed.
> 
> So after staring at it some more it's clear. Without XEN, the domain
> returned is the MSI parent domain, which is the vector domain in that
> setup. That does not have a domain info set. But on legacy architectures
> there is not even a domain.
> 
> It's really wonderful that we have a gazillion ways to manage the
> backends of PCI/MSI....
> 
> So none of the suggested pointer checks will cover it correctly. Though
> there is already a function which allows to query MSI domain flags
> independent of the underlying insanity. Sorry for not catching it in
> review.
> 
> Untested patch below.

As I'm getting reports of other people hitting this issue, is there
anything that needs to be done from my side to get the fix into
linux-next?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 08:14:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 08:14:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927269.1330026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txLuG-0005i4-J7; Wed, 26 Mar 2025 08:14:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927269.1330026; Wed, 26 Mar 2025 08:14: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 1txLuG-0005hx-G7; Wed, 26 Mar 2025 08:14:36 +0000
Received: by outflank-mailman (input) for mailman id 927269;
 Wed, 26 Mar 2025 08:14: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=Ly6i=WN=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1txLuF-0005hr-Bb
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 08:14:35 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5889486d-0a1a-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 09:14:32 +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: 5889486d-0a1a-11f0-9ffa-bf95429c2676
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1742976871;
	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=fKcMiwg131TmW5oikumSj99JLfzIDAkNS32OxdtAXEk=;
	b=miqIZvAdfz9A0oXzn4AFAoacHJhs3i5TmQQYeqKcGNg3b3PYTpMfZpCLhq3rcNLtbpFykb
	//mge/g1ERF/HEnyZSx8GFU8S8itHQgOWMiqijBBJm0v5Xb6xN71F5fbH90t+REvgw27nk
	yV0pjXd3ON/XsOI5bAkoJYIUQS0bELPb6rbrIcGOx6eP0ebWCQczSZ7H2v406DUJtSjsqT
	7wpYmQuXBJFtdMjrFzR3w07Kp4KKgHK0JJLh2SHQ9FCKzQjpT6K7/vJZAoRayWt0wNbUpw
	beaaSQiVCkCGljV6iH/MUqAdfCi7CRVpVjtzo2J+SOCaIWKFV7b556ebFiVmww==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1742976871;
	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=fKcMiwg131TmW5oikumSj99JLfzIDAkNS32OxdtAXEk=;
	b=Z74KjXxaq9z8YvoCfDYk+wS2LQPfyuRxNWP5wyKollJxrr/dAX/8yLGcNhPHwsclteOzcJ
	8+DUDm2TmMgPcjBQ==
To: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Daniel Gomez <da.gomez@kernel.org>, =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?=
 <jgross@suse.com>, Bjorn
 Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org, Bjorn Helgaas
 <bhelgaas@google.com>, 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>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
In-Reply-To: <Z-KLhBHoNBB_lr7y@macbook.local>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx> <Z-KDyCzeovpFGiVu@macbook.local>
 <87sen1z9p4.ffs@tglx> <Z-KLhBHoNBB_lr7y@macbook.local>
Date: Wed, 26 Mar 2025 09:14:30 +0100
Message-ID: <87msd8yzrt.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 25 2025 at 11:55, Roger Pau Monn=C3=A9 wrote:
> On Tue, Mar 25, 2025 at 11:27:51AM +0100, Thomas Gleixner wrote:
>> On Tue, Mar 25 2025 at 11:22, Roger Pau Monn=C3=A9 wrote:
>> > On Tue, Mar 25, 2025 at 10:20:43AM +0100, Thomas Gleixner wrote:
>> > I'm a bit confused by what msi_create_device_irq_domain() does, as it
>> > does allocate an irq_domain with an associated msi_domain_info
>> > structure, however that irq_domain is set in
>> > dev->msi.data->__domains[domid].domain rather than dev->msi.domain,
>> > and doesn't override the default irq_domain set by
>> > pcibios_device_add().
>>=20
>> The default irq domain is a parent domain in that case on top of which
>> the per device domains are built. And those are private to the device.
>
> Sorry to ask, but shouldn't dev_get_msi_domain() return the specific
> device domain rather than the parent one?  Otherwise I feel the
> function should rather be named dev_get_parent_msi_domain().

The function returns the MSI domain pointer which is associated to the
device. That can be either a global MSI domain or a parent MSI domain.

The few places which actually care about it have the proper checks in
place and until we consolidate the MSI handling to per device domains,
this will unfortunately remain slightly confusing.

>> The XEN variant uses the original global PCI/MSI domain concept with
>> this outrageous domain wrapper hack. A crime committed by some tglx
>> dude.
>
> I see.  So the proper way would be for Xen to not override the default
> x86 irq_domain in dev->msi.domain (so don't have a Xen PV specific
> version of x86_init.irqs.create_pci_msi_domain) and instead do
> something similar to what VMD does?

No. Xen should override it as it provides the default domain for the
system. VMD is a special case as it provides it's own magic on top.

If XEN would not override it as the global default, then you'd need a
lot of extra hackery to do the override at the end.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 08:35:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 08:35:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927282.1330036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMEW-00021N-65; Wed, 26 Mar 2025 08:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927282.1330036; Wed, 26 Mar 2025 08:35: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 1txMEW-00021G-3Q; Wed, 26 Mar 2025 08:35:32 +0000
Received: by outflank-mailman (input) for mailman id 927282;
 Wed, 26 Mar 2025 08:35: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txMEV-00021A-1z
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 08:35:31 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20619.outbound.protection.outlook.com
 [2a01:111:f403:200a::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43fb583a-0a1d-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 09:35:27 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 SN7PR12MB7204.namprd12.prod.outlook.com (2603:10b6:806:2ab::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.42; Wed, 26 Mar 2025 08:35:23 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 08:35: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: 43fb583a-0a1d-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=V8kQyj9LvmgXzvqcTV+U7lgWC0j4jBhFwc5Qxp01RJE1W/PCHCE1euIBjH2xtzV+Wy1mokTjR6pQEZc1l4+qvIkQBl8ZXfNRNhhlTfzOl/womxaB6pFvSLxmIuIcK9IsJ25V6hGK4/BjOrH/JZNFJVyQXyQ4BEbDKvuwRhy6Dd5RJXPcGfTEFowlbjLKejIPR2p7cchlEOPePcIreajQQh9pfLz4bQBU0iSc9mwzYdzRZZq/IBRoxmgvT0JMNrw22C5t/XrVDmQq18ShlnI/N1cBaGtZ3CIjzmo6dbfEXSMbk1ngiOTgwUMSaZkk1EO2pzbw4S4clbe046imnphnrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r7kdUMyMGkmNQx68SCoyQmxC+avRXFgBXHq1YormSNA=;
 b=hRhWsud0WBIwGHfYAECJ/hGpHG41jPkSmxninr6UmpzN+l6ifVl0aRKCOwJTrn12R5J2KRUr6tBKNqLSNqLiMdRznugMOU3Rw56s7Il6N6ARylqFlMcSsS+XHiX9yuXjUckuLLauxpyTWmL58KZHcDK+0KNvoUltyFcWjIuW4cfCmSW6Z4vhQ0SvxTbM1KZB4ZvyLCegTfZcEhdApKtmG93f131Ww2eAvZQf6NKiZ3G6SBF5IWI/lJH7C2uV7HsfpHgnLxkKOoXzZwgvF3gpEOMcQvJh0rP9vdrP5/wEq8uFuno7gs8tPtoi1h6uCZtf7SbnW08143gB9lVZqqIYeg==
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=r7kdUMyMGkmNQx68SCoyQmxC+avRXFgBXHq1YormSNA=;
 b=WrQkGzeIKInpUqRKJkzPN1XXI+oHibNEQhWWURzGwGjHxvzwfMnya4pT1OQl4dnTmpReng7erdQMoiEX8evTLCEk21fPkeUkTBiw9BIgxgaw7T84O2BYV4XucgzmFwAMe+HElp3nn8/xTJWgMXG6aBKiSbvyQojSYqInHpfhKMM=
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>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
Thread-Topic: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
Thread-Index: AQHbjnNu8gKP+BdRfUqUIswSBCp7ILOChUeAgAKrd/A=
Date: Wed, 26 Mar 2025 08:35:22 +0000
Message-ID:
 <DM4PR12MB84519AF2B72DDDF50CA8BF18E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-6-Penny.Zheng@amd.com>
 <5498f98e-f3c5-4cb4-9a3d-793239a4339d@suse.com>
In-Reply-To: <5498f98e-f3c5-4cb4-9a3d-793239a4339d@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_ActionId=ad648b72-93ae-42b1-90de-791dcf865c1c;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-26T08:35:16Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|SN7PR12MB7204:EE_
x-ms-office365-filtering-correlation-id: 6bd9e954-fb53-406e-fd90-08dd6c412624
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?d1pHYWY3T2ZHb2d6Kzk4QTBFbTNQODNZaTM3b0piazU0ZUxPNWRPSWVTV205?=
 =?utf-8?B?Zm9EWFViRWlsZnJXOFpaUEozaTdpczVHTjFkTUFkWjViVTc4NmVOWlBJdmJH?=
 =?utf-8?B?bFF1aExOdXI2WmgwSlZoSlBsOEF4OWk2b2I5WWF0a2hXSWM4STNKK2dTK1Y4?=
 =?utf-8?B?RUdUZkVxYmlVUUthUi9JcytnSEVtZjdpMG4yYk1aTlJZVnRFd3Z6YXFvWnM3?=
 =?utf-8?B?TkZ0UkR5OGthNzRCeVlUWnJWck51cU45VC94M0Q0R2RTeVh3MSs3bVRUamxQ?=
 =?utf-8?B?aUhMR3ZiN2hHVHdObzE4ZngzU3VPZ0c1MTBISUt0WXRuOVhQSS8xdHFCYk1N?=
 =?utf-8?B?bi9obVhhU0UydjNSVEl6RjJUdkxDSFdjK20vbjZQY3hLZmtIOUlVNmJnY1o0?=
 =?utf-8?B?TkJvdys4cE9ZcDB0cFRYd3BDWUkra2FaUmE1Vk9hRWlsazBzZ1NGdE05c3FB?=
 =?utf-8?B?U3pjUWNUa2pwRmpkeVE1cjlTVkZIbm9LTTdiZGN3SGRsMTZqUTd4dnRDUy9K?=
 =?utf-8?B?SFBQYXFESTZqckRvdmNoMTEveUFVazhJemFUWHRHZFRTcG82Y0htdWdDbm82?=
 =?utf-8?B?aEUxNlE1M01DRCtKbFN6eGJ4K2txeE05S0l3Rm82YVNidlU3bjFPd1lwQVBl?=
 =?utf-8?B?WTN2TVhBeTI5NEFROHQ3UUdwM0dBR0pUTzdtbzlacDlkQXI5bmcwZUJucEdu?=
 =?utf-8?B?clp2U1FpSy9nVVlrYTI3VmNTc1hLZEZBZUlnbGwzSGFOVkhtK3pLUmpxNmRk?=
 =?utf-8?B?UVEvU3hxckpXTExRT25iQ0VZdnFONnBTdldnMnJ6UWllS2k4b2JjWnp6dHpv?=
 =?utf-8?B?cDR2NVJRUTNnT1VEZ242WTJnaS9qSGF1M2lUZitsQlJwK1VoQ3Job1lYeUs1?=
 =?utf-8?B?M3NmZ2NuSStpeVpMUFo4LzNBOHFhZGpFQTdzN0tvbDU5bEZhK0FEVGZBZ3E5?=
 =?utf-8?B?UGVTY3g3MTV6TnFBeWpLbkpxL0dYSlFuTFV3L1NXNnc1QndJUUpuTlVCcVhO?=
 =?utf-8?B?NnJsU2VLeTZoaTN6S3FWcVhadVJhTy8wVjZJWFNoQWtCRE5KTjBJRHh3dHQ3?=
 =?utf-8?B?Z0dLVzJ2cjZKbVFVdCtxcXZpSE0zRHUwTTN2eFovNllmYjFTbDVqcFIrWXZa?=
 =?utf-8?B?cCs0aXRsdFdDSm5OaXUzQ1F2T0hsOUN2YzFQVDc4NTZoMkhYMHBqSTJaVWJ1?=
 =?utf-8?B?NC9TQU9VaUNYR1hvV0hGRGd3aE5yNGpac3VpWWpqT2RaeVp5Vi9UOXNxMFRG?=
 =?utf-8?B?VkE0K1BUQmt6ZytHS3kyc1RMRGZ2V0NtVUdtSnRhK0FKY1pKK0FLRVVtbUcx?=
 =?utf-8?B?TnZ1NGRPTGkrWlFYZXc5QVRnWDZqOFJqUVhvVzVxUDY2S2NIM1dGSkYyU0Jt?=
 =?utf-8?B?Y0RDb1NjVDZTbkNxb0JWb3EzWnhmTHV1cmxCQlNjUFEzdkkzVGwzTXRlMXZJ?=
 =?utf-8?B?SHc2clRIckhyYUhETE1mSmNFa2dxRjNqQlFpbzh5S2g3TklWWDN3WWliZGwr?=
 =?utf-8?B?V29KTHUyb28xNzd4aWxGSWg3SmhrcDBCLzloYlZFY1ZpbS9qeUREYmZQSnZa?=
 =?utf-8?B?bzdHSUhhaDFtQzVlYXlDR0VhUENDd20yUUhuWUp0N3UxMnBaYmltUkFsTTVk?=
 =?utf-8?B?OU5hZVh4T1JNaFU0VHNjK1FBRHN2NmI5TjM4ZTYreG4xeHlYYkVqS242TDRK?=
 =?utf-8?B?Uit1aGdTTXFGaTdraThIUUpqSFR2c21SejdmaGY3UjlhdnExb0pwSUxxNFZJ?=
 =?utf-8?B?di9TV3FPUGdkWmtUVXNITUhLd1Rva2ZyWkxvekh6N2pIemhNeE9zY0wyc214?=
 =?utf-8?B?dXlkM0xoWnJrbjNRWE1qbloxTkRSL0JsSDV0SjdCNGdKcG9UM3VYWEM2NjBC?=
 =?utf-8?B?d1p6OEx0UHEwRm1KVFBZTGNsL09YcDZBVEJydVFMUDcrY1MrT2p0ekxrZU53?=
 =?utf-8?B?TWh2bENQT1QxVHRrSDBnQVQ4d3g5dzVmUE8zY0ZYaU5wZTgwWHRXc1pobkJK?=
 =?utf-8?B?aDF0R2E3MmJBPT0=?=
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)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aGtVVWRrRjZPdjZXc1RyQXlNby9OYmpuOVVpVkhjSUF5UklKQWtISXpERWkx?=
 =?utf-8?B?WnltVURrcG1NZVZuaEZ0YmhveDdaMHBWU2dGTUUwZU90SDRxRVpqNFMwY2Fq?=
 =?utf-8?B?Skt2SG95Zlh0Zjl5aVhpQk1HWktPT2x0dGVmbEQ0S0l3T1lGcGRMOUR5RHA0?=
 =?utf-8?B?NTlFdFdQelZ3S3hDVGtjb1BkS3J5WmJDc2xOSHNMTVRxVzJoU1Z6bE04SHQz?=
 =?utf-8?B?MGIvbzJBZEF1dTljeHJsMDRna1pJcjBNUDVHYWJSNit2SWRta25VeENNNUpR?=
 =?utf-8?B?eUNMSmYrb09MUzY4aEdwY3FrWXQwZEJpQ2gyZ2NUN0o4UlVpakcrclRPUDlu?=
 =?utf-8?B?SG5ncDFSRy90OFRZZDRobXNvb1lSdGdHOTE0RFR5dlNMc1VkbFhBWXROQlZt?=
 =?utf-8?B?aE5NbkJiTmpyS0dYbEJMM21scWVYdUJXbGx6cHNkQUxhMDhReTVWTnlvSEo2?=
 =?utf-8?B?QlNmVEtGMTZxNEpnTkptK3MwT0J6ZFBGbHR3bVFON3pIbGEvSFgwUGFJWmNX?=
 =?utf-8?B?Rmt3K200VFNTUUI0aVZOWHhEZkd6bjR1ZEwzd0QvSCtkQUxFay9TZG80dWpU?=
 =?utf-8?B?Wm9qWDlyN0xYcXRZNTRKc3R5b2xnbkdXWXYxbmp3OWZCZEhLbE11NFc3Mld0?=
 =?utf-8?B?TEpORVVMNS9NVk41bENoSjNqVUtQcFVJUWxtaWhTTy90OHZwZmF1dVhuYWxL?=
 =?utf-8?B?RHpGWU9xQjNhSVROck1VVTcweXE3d3RVY1p5eXMyTStldHhLK1FwRTE5Z0Nx?=
 =?utf-8?B?QXdhaWQ4UG5LOXo4Zmd1YXFNUGJKdldTZHZpdk5JYXZUNHc5ZkRuQkRmYURI?=
 =?utf-8?B?dFdUeXlGOUt2SnJzelFoL3NadlU1SUc4M1loZXlzQ2wyeHY5VjlZd1BkMHdS?=
 =?utf-8?B?MjczY21mbzdWeDB3V2J1Nlc1OGFDcktzdXVaOFM1M2xYelJmRHdEQmFsZ2l4?=
 =?utf-8?B?TFZCSFpETTZoSXRVV05DYXF4ZU94TDYwQ2RmSHl6ZEJTZURFcCtGSkhiSCtU?=
 =?utf-8?B?T094aDRjajhjVmtGN1NFNGdVMlJ4a2Fta2EzcDNieEVMSG05aG9adzN4ZGg5?=
 =?utf-8?B?WUhWdm1pMExxSkRJbTJWWXBBRFJ3UjREbkZkcUp3cXkvVVBiTDdCSm1oWVMw?=
 =?utf-8?B?VWpGbUUrREdtcjF6WFhYUlNGeS9PbkxBZXc3d3A0UUFrazNCejdmSzQrZVUy?=
 =?utf-8?B?TS90eUVWRzdjcXJtY1lXbG9zQVlsODhGazBGTXc5cTJudzhFbS9qa2MwTXBo?=
 =?utf-8?B?ZHdXbitsU3k5VUZVYjkxV0hhekpKeTAxSGJvd3JiZzlvZzhsVzhqVmJYZ3Ar?=
 =?utf-8?B?TVZUaUgyL01qQTFmV3p6c0txUHEvVlp0M2ZzYXJvY0dVaFFlRUFzN0F6SE5C?=
 =?utf-8?B?WlBGYVN2QUZuWXEvR2JEc0tiRWRnbjFwVUs0cEUwU09ESzJKUkdHN1NDMzVC?=
 =?utf-8?B?aUNTbm5ybXVQN0JUSnVWd2N1YXZpc0NKVzZxTVZxTTdKMCtBYUVyR3BXNDg3?=
 =?utf-8?B?eTZnLzJxUi9QMTQ5TytDaWtGSUp6dDF4elNyNG0vdzcrQlpIRE9kdjlBc2hx?=
 =?utf-8?B?QXRqTm4wODYyekswUUlISGpMbk9RdW1lZlBGa2tmR3lhTUVXVDgvbUl6dEpx?=
 =?utf-8?B?ZExDTWV2RjR2cm9KOE5UdFZvVXdvTTJWMnEwdmlnNFBlSzJoMGRKUnhLOHRp?=
 =?utf-8?B?akZyak1RcWJHeDlHMFB3L1pOajl2NEtnYnpmSjlqS3dBMVdiWGxtZ2gwU3kv?=
 =?utf-8?B?eWpqNFFFT01MNm5jaSszNUpxdThQUS9BdEREbG9YQzB0c3doYTJtR0MreGsy?=
 =?utf-8?B?TUtHSmxQdlVkeGoxeFFqOW13bTRTV05GdW9CdytOOStiWWhBaCtxWDhUUWxi?=
 =?utf-8?B?eHRwTEVnQzRXNHRXK2VMenB5WlFzRGthMHFXVmN1RjdBOXlHU2E1SCt4Y2lN?=
 =?utf-8?B?eEhDVHpnSG1ZNDVhd085YkY1NXJQWWlPcHYyRUY0Vk5mRHQxS1RVT1RsYjRl?=
 =?utf-8?B?MnVScFlLQjRYZ1hTclpOTUo4TDRldnFES09oNTNQRHZvcEdvTXA4aWZmNEEx?=
 =?utf-8?B?dC8zb1ZiWEY1bFphTTBVNVBPYUJwMFRwL05kWStheFdSWTNxWjcrREtpR05X?=
 =?utf-8?Q?cBDk=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: 6bd9e954-fb53-406e-fd90-08dd6c412624
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2025 08:35:22.4593
 (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: AoOdq1Sc3Z0s1KTzYjoBeG9QNSiBkLe5l3ACQ/ZPR03F0R2Uuk/Wa3NzS5tUrtcE+orUiuiKZR4D51vEDfdYeQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7204

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDI0
LCAyMDI1IDExOjI2IFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4g
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJh
cmRAdmF0ZXMudGVjaD47DQo+IE9yemVsLCBNaWNoYWwgPE1pY2hhbC5PcnplbEBhbWQuY29tPjsg
SnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFJvZ2VyIFBhdQ0KPiBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsgeGVuLQ0KPiBkZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSZTog
W1BBVENIIHYzIDA1LzE1XSB4ZW4veDg2OiBpbnRyb2R1Y2UgImNwdWZyZXE9YW1kLWNwcGMiIHhl
bg0KPiBjbWRsaW5lDQo+DQo+IE9uIDA2LjAzLjIwMjUgMDk6MzksIFBlbm55IFpoZW5nIHdyb3Rl
Og0KPiA+IEBAIC01MTQsNSArNTE1LDE0IEBAIGFjcGlfY3B1ZnJlcV9kcml2ZXIgPSB7DQo+ID4N
Cj4gPiAgaW50IF9faW5pdCBhY3BpX2NwdWZyZXFfcmVnaXN0ZXIodm9pZCkgIHsNCj4gPiAtICAg
IHJldHVybiBjcHVmcmVxX3JlZ2lzdGVyX2RyaXZlcigmYWNwaV9jcHVmcmVxX2RyaXZlcik7DQo+
ID4gKyAgICBpbnQgcmV0Ow0KPiA+ICsNCj4gPiArICAgIHJldCA9IGNwdWZyZXFfcmVnaXN0ZXJf
ZHJpdmVyKCZhY3BpX2NwdWZyZXFfZHJpdmVyKTsNCj4gPiArICAgIGlmICggcmV0ICkNCj4gPiAr
ICAgICAgICByZXR1cm4gcmV0Ow0KPiA+ICsNCj4gPiArICAgIGlmICggSVNfRU5BQkxFRChDT05G
SUdfQU1EKSApDQo+ID4gKyAgICAgICAgeGVuX3Byb2Nlc3Nvcl9wbWJpdHMgJj0gflhFTl9QUk9D
RVNTT1JfUE1fQ1BQQzsNCj4NCj4gV2hhdCdzIHRoZSBwdXJwb3NlIG9mIHRoZSBpZigpIGhlcmU/
DQoNCkFmdGVyIGNwdWZyZXEgZHJpdmVyIHByb3Blcmx5IHJlZ2lzdGVyZWQsIEknZCBsaWtlIFhF
Tl9QUk9DRVNTT1JfUE1fUFggYW5kIFhFTl9QUk9DRVNTT1JfUE1fQ1BQQw0KYmVpbmcgZXhjbHVz
aXZlIHZhbHVlIHRvIHJlcHJlc2VudCB0aGUgYWN0dWFsIHVuZGVybHlpbmcgcmVnaXN0ZXJlZCBk
cml2ZXIuDQpBcyB1c2VycyBjb3VsZCBkZWZpbmUgc29tZXRoaW5nIGxpa2UgImNwdWZyZXE9YW1k
LWNwcGMseGVuIiwgd2hpY2ggaW1wbGllcyBib3RoIFhFTl9QUk9DRVNTT1JfUE1fUFggYW5kIFhF
Tl9QUk9DRVNTT1JfUE1fQ1BQQw0KZ290IHNldCBpbiBwYXJzaW5nIGxvZ2ljLiBXaXRoIGFtZC1j
cHBjIGZhaWxpbmcgdG8gcmVnaXN0ZXIsIHdlIGFyZSBmYWxsaW5nIGJhY2sgdG8gbGVnYWN5IG9u
ZXMuIFRoZW4gWEVOX1BST0NFU1NPUl9QTV9DUFBDIG5lZWRzIHRvIGNsZWFyLg0KDQo+DQo+ID4g
QEAgLTE1Nyw3ICsxNjEsMzUgQEAgc3RhdGljIGludCBfX2luaXQgY2ZfY2hlY2sNCj4gPiBjcHVm
cmVxX2RyaXZlcl9pbml0KHZvaWQpDQo+ID4NCj4gPiAgICAgICAgICBjYXNlIFg4Nl9WRU5ET1Jf
QU1EOg0KPiA+ICAgICAgICAgIGNhc2UgWDg2X1ZFTkRPUl9IWUdPTjoNCj4gPiAtICAgICAgICAg
ICAgcmV0ID0gSVNfRU5BQkxFRChDT05GSUdfQU1EKSA/IHBvd2Vybm93X3JlZ2lzdGVyX2RyaXZl
cigpIDogLQ0KPiBFTk9ERVY7DQo+ID4gKyAgICAgICAgICAgIGlmICggIUlTX0VOQUJMRUQoQ09O
RklHX0FNRCkgKQ0KPiA+ICsgICAgICAgICAgICB7DQo+ID4gKyAgICAgICAgICAgICAgICByZXQg
PSAtRU5PREVWOw0KPiA+ICsgICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgICAgICAg
IH0NCj4gPiArICAgICAgICAgICAgcmV0ID0gLUVOT0VOVDsNCj4gPiArDQo+ID4gKyAgICAgICAg
ICAgIGZvciAoIHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGNwdWZyZXFfeGVuX2NudDsgaSsrICkN
Cj4gPiArICAgICAgICAgICAgew0KPiA+ICsgICAgICAgICAgICAgICAgc3dpdGNoICggY3B1ZnJl
cV94ZW5fb3B0c1tpXSApDQo+ID4gKyAgICAgICAgICAgICAgICB7DQo+ID4gKyAgICAgICAgICAg
ICAgICBjYXNlIENQVUZSRVFfeGVuOg0KPiA+ICsgICAgICAgICAgICAgICAgICAgIHJldCA9IHBv
d2Vybm93X3JlZ2lzdGVyX2RyaXZlcigpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgIGJyZWFr
Ow0KPiA+ICsgICAgICAgICAgICAgICAgY2FzZSBDUFVGUkVRX2FtZF9jcHBjOg0KPiA+ICsgICAg
ICAgICAgICAgICAgICAgIHJldCA9IGFtZF9jcHBjX3JlZ2lzdGVyX2RyaXZlcigpOw0KPiA+ICsg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICsgICAgICAgICAgICAgICAgY2FzZSBDUFVG
UkVRX25vbmU6DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gMDsNCj4gPiArICAgICAg
ICAgICAgICAgICAgICBicmVhazsNCj4gPiArICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQo+ID4g
KyAgICAgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HDQo+ID4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJVbnN1cHBvcnRlZCBjcHVmcmVxIGRyaXZlciBmb3IgdmVuZG9y
DQo+ID4gKyBBTURcbiIpOw0KPg0KPiBXaGF0IGFib3V0IEh5Z29uPw0KPg0KPiA+IC0tLSBhL3hl
bi9pbmNsdWRlL2FjcGkvY3B1ZnJlcS9jcHVmcmVxLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9h
Y3BpL2NwdWZyZXEvY3B1ZnJlcS5oDQo+ID4gQEAgLTI4LDYgKzI4LDcgQEAgZW51bSBjcHVmcmVx
X3hlbl9vcHQgew0KPiA+ICAgICAgQ1BVRlJFUV9ub25lLA0KPiA+ICAgICAgQ1BVRlJFUV94ZW4s
DQo+ID4gICAgICBDUFVGUkVRX2h3cCwNCj4gPiArICAgIENQVUZSRVFfYW1kX2NwcGMsDQo+ID4g
IH07DQo+ID4gIGV4dGVybiBlbnVtIGNwdWZyZXFfeGVuX29wdCBjcHVmcmVxX3hlbl9vcHRzWzJd
Ow0KPg0KPiBJJ20gcHJldHR5IHN1cmUgSSBwb2ludGVkIG91dCBiZWZvcmUgdGhhdCB0aGlzIGFy
cmF5IG5lZWRzIHRvIGdyb3csIG5vdyB0aGF0IHlvdSBhZGQgYQ0KPiAzcmQga2luZCBvZiBoYW5k
bGluZy4NCj4NCg0KSG1tbSwgYnV0IHRoZSBDUFVGUkVRX2h3cCBhbmQgQ1BVRlJFUV9hbWRfY3Bw
YyBhcmUgaW5jb21wYXRpYmxlIG9wdGlvbnMuDQpJIHRob3VnaHQgY3B1ZnJlcV94ZW5fb3B0c1td
IHNoYWxsIHJlZmxlY3QgYXZhaWxhYmxlIGNob2ljZXMgb24gdGhlaXIgaGFyZHdhcmUuDQpFdmVu
IGlmIHVzZXJzIGRlZmluZSAiY3B1ZnJlcT1od3A7YW1kLWNwcGM7eGVuIiwgaW4gSW50ZWwgcGxh
dGZvcm0sIGNwdWZyZXFfeGVuX29wdHNbXSBzaGFsbA0KY29udGFpbiAgQ1BVRlJFUV9od3AgYW5k
IENQVUZSRVFfeGVuLCB3aGlsZSBpbiBhbWQgcGxhdGZvcm0sIGNwdWZyZXFfeGVuX29wdHNbXSBz
aGFsbA0KY29udGFpbiBDUFVGUkVRX2FtZF9jcHBjIGFuZCBDUFVGUkVRX3hlbg0KDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 08:45:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 08:45:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927294.1330046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMNy-0004fX-3z; Wed, 26 Mar 2025 08:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927294.1330046; Wed, 26 Mar 2025 08:45: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 1txMNy-0004fQ-05; Wed, 26 Mar 2025 08:45:18 +0000
Received: by outflank-mailman (input) for mailman id 927294;
 Wed, 26 Mar 2025 08:45: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txMNw-0004fK-Ko
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 08:45:16 +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 a0dd904b-0a1e-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 09:45:11 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso60079075e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 01:45: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-43d43f43e50sm223821745e9.12.2025.03.26.01.45.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 01:45: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: a0dd904b-0a1e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742978711; x=1743583511; 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=ThFG/mAw83Ey+P00bpzBVT1gQWokGrngj1fNehpPLsk=;
        b=TPs/O/JSkjI8XXTJPOOvxXPp4KhJrpgVBsKL3tO5PFprRGDw9UKNGfzE4y5aIYKGvF
         9FN59gKM5BIleDdFnSd1JKVVcF4a5aCyrRlmPGlSm0oNyaisiOu+8MoVJRSLVg+tBxzm
         OGDG4nnWBJVuKD4MiSbVnPrbqgrWaqrIWJymRHiKhKiMdTf6Pngx/xDVkExMbr/O2llN
         hJB2y6vvWZrCzBhfMXHPBTooI9rKsOsP/xAnZLCilTHb6MT7jYDLn6dZ3JeWdX9CmaCu
         Xtrd28tNtH/RPay8X0eQxUql/EGfnPiI2Xjj1IHAyzSmUK8aK0DWQ2/8EoxvYdLkX5kO
         bXYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742978711; x=1743583511;
        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=ThFG/mAw83Ey+P00bpzBVT1gQWokGrngj1fNehpPLsk=;
        b=vektz8/CeEBdjRX/M4Ji8KqSPd5B6Xhm4I1xofiX06/BG+iD2anmy0ZUdiKIsL7qYJ
         qePmCAF0NfyNXcbQr3y9Qj+PmXayxAmM7Zli4LlccvQq8h6AStWKGz54NjDNvdSJtgdR
         hJYAifnoOMyblA/2ZwsJy7HYZsxAYlctqFnu0XlOYJeREdGfSIE7ZYQ359jEtJ2mUN/h
         pDemTFkXSQapWH/pMe4Bt3YJ+r9Sb8f/Vgs8Q7mtEjAKdBoykCGadqMYkqw/6EWTMLg1
         xImItnasTLPqzpFYwJbyxpT7TJEI1z9Xir81n/+EWWW5jSLr/8CHwVhNUy3snzkFo7t0
         TOjQ==
X-Gm-Message-State: AOJu0YwpbBseYWNUl5n2I7LmWp0eMa6i5jzj8qLSkhOmVaFCAWd5b/JJ
	M3M9S4jb5lcT51tUZ7qTwsTnd7spFFmugzTchJGWba+3yBcWRCdaPPxwNafgkKaV4Nr0m+Mms1A
	=
X-Gm-Gg: ASbGncvb9ZZ4cSHZsTo3BmSqPtac820sUc1LST8QOp9xpmDGfWKkdv7mrBRx7xxIc9E
	+WIuWyadjXz8PlcvbGJu8erisxXbEmEpEpXOqxY+pPqlLkqM7QbjtkouHk9Yd+W7t3pL5wjUQNL
	gxZo8AbMW+dB1p3O1vFLYvY+2alPj/8B/gYpJLfTAPl8NFf2KB7yZVowFORxkNBoYQg1xAXWgB9
	XgVy9uSsgOEgYwv2m05uuOY4zAU/Ez8El/X1t9FQwFVH96y83CMjTlxRBmb2O2b9mkI/W1M3jvF
	3cHjrRneAmUioMVGruYaUWYPmxAms94EIFej70FdICTlrGBVMKUHgCnzvZDiX92UCiQfjRoQye7
	sJSXrNiljR7ha6pioQ/+Xa5pamCZ4UmG0t9OeifAE
X-Google-Smtp-Source: AGHT+IGXclyPgZTc+a160hhj0+0xj9CmWHnuHXKynkMFctv3tPO5i+nxpFiJJ07Cqe7/sikOVoPEUQ==
X-Received: by 2002:a05:600c:3d8c:b0:43c:f3e4:d6f7 with SMTP id 5b1f17b1804b1-43d50a58731mr195883865e9.31.1742978710707;
        Wed, 26 Mar 2025 01:45:10 -0700 (PDT)
Message-ID: <c9365d42-c15d-4d93-acd8-106ca46cb7f3@suse.com>
Date: Wed, 26 Mar 2025 09:45:09 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/PVH: expose OEMx ACPI tables to Dom0
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

What they contain we don't know, but we can't sensibly hide them. On my
Skylake system OEM1 (with a description of "INTEL  CPU EIST") is what
contains all the _PCT, _PPC, and _PSS methods, i.e. about everything
needed for cpufreq. (_PSD interestingly are in an SSDT there.)

Further OEM2 there has a description of "INTEL  CPU  HWP", while OEM4
has "INTEL  CPU  CST". Pretty clearly all three need exposing for
cpufreq and cpuidle to work.

Fixes: 8b1a5268daf0 ("pvh/dom0: whitelist PVH Dom0 ACPI tables")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Sadly the commit above says nothing at all about the criteria used by
which tables would want to be whitelisted. Further tables on said system
which weren't blacklisted prior to that commit, yet which also aren't
whitelisted are DBGP, DBG2, FIDT, LPIT, MIGT, MSCT, NITR, PCCT, RASF,
SVOS, UEFI, WDDT, and WSMT. Even without diving into the details of any
of them it seems pretty clear to me that at least some would want
whitelisting, too.

--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -1010,12 +1010,20 @@ static bool __init pvh_acpi_table_allowe
             return true;
         else
         {
+    skip:
             printk("Skipping table %.4s in non-ACPI non-reserved region\n",
                    sig);
             return false;
         }
     }
 
+    if ( !strncmp(sig, "OEM", 3) )
+    {
+        if ( acpi_memory_banned(address, size) )
+            goto skip;
+        return true;
+    }
+
     return false;
 }
 


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 08:56:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 08:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927304.1330056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMYb-0007IW-0s; Wed, 26 Mar 2025 08:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927304.1330056; Wed, 26 Mar 2025 08: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 1txMYa-0007IP-Tw; Wed, 26 Mar 2025 08:56:16 +0000
Received: by outflank-mailman (input) for mailman id 927304;
 Wed, 26 Mar 2025 08:56: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=YO5L=WN=redhat.com=vschneid@srs-se1.protection.inumbo.net>)
 id 1txMYa-0007IJ-2c
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 08:56:16 +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 2b3841cf-0a20-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 09:56:13 +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-563-5tAdzoicM3OdfuI1vvuPYg-1; Wed, 26 Mar 2025 04:56:11 -0400
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-43d00017e9dso41723845e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 01:56:11 -0700 (PDT)
Received: from vschneid-thinkpadt14sgen2i.remote.csb
 (213-44-141-166.abo.bbox.fr. [213.44.141.166])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39ac67970a2sm5909443f8f.16.2025.03.26.01.56.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 01:56: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: 2b3841cf-0a20-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1742979372;
	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=ctJ2iKS2diL395+WMoYK5u4EcCy52/qwtJ7bficlTlI=;
	b=Yfhi5Fezki67ljs+vfIlE/81Mso6xrv5nuZ7fPeDMK6fu7mYlLHIo9iF3mg3xgQKjY1yk1
	E6/zZwNvVWzbt+iBbMXz3X0SSRHG9FqnZ7aEsdMBo0H9uOLR6LjzHwbOHKoP0fae0k0K2u
	p/gGMSK+IreznDYsmXWDdt3ikTiZlDU=
X-MC-Unique: 5tAdzoicM3OdfuI1vvuPYg-1
X-Mimecast-MFC-AGG-ID: 5tAdzoicM3OdfuI1vvuPYg_1742979370
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742979370; x=1743584170;
        h=content-transfer-encoding:mime-version:message-id:date:references
         :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ctJ2iKS2diL395+WMoYK5u4EcCy52/qwtJ7bficlTlI=;
        b=S3EFF1cq35IIKX0RbeN71raE36hLQrJGawDcwwUfONyxJm76i1KimoZGRZllAK2QY8
         o43Ra29ghuUi9X/wAyrzN1AO3ZeNC9rzlf2E+MPzQi3W0GBweO41A2FSxr02pNWAHqE/
         Dc4NkoWNJdjomRlqzaRhTwTgFmAeiLU2lmr19NOCb7J2KebJ/p2mrZahJQv83AhGUzT/
         MLpYBDZBLbG6xe40yKkp8QFGgw00mw1cYcroLS9YvxitsC2ZUCQRmVBb34tDXUEagrKA
         z2t3QlW72q3UWJASDhBJZp7Rdbh6gaPbtISQzDk5lLTSx+FkE+OxSiWwbOBb2GXYzmCp
         v6JQ==
X-Forwarded-Encrypted: i=1; AJvYcCXct3dfBWBq9qT3zryxTSilUvLHB99wY7A341fOxuDwYOH+ESZnDHTY5CLgoXEglpjlxeYUJ6yN5xc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzF07lghRWfWpfpFcn1K6QNr+qzfWxVi6pkfQTz/DaAzEYWvvlG
	mWaPtiy8JLcwi8AS2VQDv9oXsC+RPFrvadZ/KvUQkpZER8MdVEvAxQmKhKbrI9dLQ3PKQupsj5V
	5V5yhoDaLEYynXQ51vRPgHBMjpTFdiTifl3pSvpKKaBNl5I6NIryqd1YatlTVH9Zn
X-Gm-Gg: ASbGnctO6FtjtfeHj+IBTVmzvsO0aW579AUbIfFrzU/Q2MX4uBbCPDhLlcn3NhEKE0V
	WdwPwwt+y87OpIxNqDpogYgU27T/pRfgMnFLHf7G4M7JPrVR2jbAvalgJp+0A5Gj97uz0qR8cDq
	toNimzYw912xdUtAPn9yVHK2VW6JHfDFjkRDMEQBeVeBfCLhppSR2xIjEkeQxB+7H+CAUqguDhw
	sKxZMMlAWpjhMl8KKTSeSJefkl+7uY0I+fEHnZLjQLxWRzeN/25KxfwdL+/fJ2STyzpEFzXHPCP
	bCFFKg1liJ/v/NLSPuDclxqpsNcIQmepmwLeHLoZ9C6Hoj+KZq2mTOsycLXRNwrieEw3+7ReKxu
	+
X-Received: by 2002:a05:600c:5025:b0:43d:300f:fa51 with SMTP id 5b1f17b1804b1-43d509ea850mr177277985e9.9.1742979369935;
        Wed, 26 Mar 2025 01:56:09 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGmtDcswSiHFvojL/8/X8XbIAG8pFv35YFW9PLdaiNFn4jtJsKwcY6xoArge3H5jo1mJzUGFA==
X-Received: by 2002:a05:600c:5025:b0:43d:300f:fa51 with SMTP id 5b1f17b1804b1-43d509ea850mr177277375e9.9.1742979369446;
        Wed, 26 Mar 2025 01:56:09 -0700 (PDT)
From: Valentin Schneider <vschneid@redhat.com>
To: Jann Horn <jannh@google.com>, Rik van Riel <riel@surriel.com>
Cc: Dave Hansen <dave.hansen@intel.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org, virtualization@lists.linux.dev,
 linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
 linux-riscv@lists.infradead.org, linux-perf-users@vger.kernel.org,
 xen-devel@lists.xenproject.org, kvm@vger.kernel.org,
 linux-arch@vger.kernel.org, rcu@vger.kernel.org,
 linux-hardening@vger.kernel.org, linux-mm@kvack.org,
 linux-kselftest@vger.kernel.org, bpf@vger.kernel.org,
 bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>,
 Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov
 <alexey.amakhalov@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>, Paul
 Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>,
 Albert Ou <aou@eecs.berkeley.edu>, 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>,
 Peter Zijlstra <peterz@infradead.org>, Arnaldo Carvalho de Melo
 <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland
 <mark.rutland@arm.com>, Alexander Shishkin
 <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian
 Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>,
 "Liang, Kan" <kan.liang@linux.intel.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Pawan
 Gupta <pawan.kumar.gupta@linux.intel.com>, Sean Christopherson
 <seanjc@google.com>, Paolo Bonzini <pbonzini@redhat.com>, Andy Lutomirski
 <luto@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Frederic Weisbecker
 <frederic@kernel.org>, "Paul E. McKenney" <paulmck@kernel.org>, Jason
 Baron <jbaron@akamai.com>, Steven Rostedt <rostedt@goodmis.org>, Ard
 Biesheuvel <ardb@kernel.org>, Neeraj Upadhyay
 <neeraj.upadhyay@kernel.org>, Joel Fernandes <joel@joelfernandes.org>,
 Josh Triplett <josh@joshtriplett.org>, Boqun Feng <boqun.feng@gmail.com>,
 Uladzislau Rezki <urezki@gmail.com>, Mathieu Desnoyers
 <mathieu.desnoyers@efficios.com>, Lai Jiangshan <jiangshanlai@gmail.com>,
 Zqiang <qiang.zhang1211@gmail.com>, Juri Lelli <juri.lelli@redhat.com>,
 Clark Williams <williams@redhat.com>, Yair Podemsky <ypodemsk@redhat.com>,
 Tomas Glozar <tglozar@redhat.com>, Vincent Guittot
 <vincent.guittot@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com>,
 Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>, Kees Cook
 <kees@kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Christoph
 Hellwig <hch@infradead.org>, Shuah Khan <shuah@kernel.org>, Sami Tolvanen
 <samitolvanen@google.com>, Miguel Ojeda <ojeda@kernel.org>, Alice Ryhl
 <aliceryhl@google.com>, "Mike Rapoport (Microsoft)" <rppt@kernel.org>,
 Samuel Holland <samuel.holland@sifive.com>, Rong Xu <xur@google.com>,
 Nicolas Saenz Julienne <nsaenzju@redhat.com>, Geert Uytterhoeven
 <geert@linux-m68k.org>, Yosry Ahmed <yosryahmed@google.com>, "Kirill A.
 Shutemov" <kirill.shutemov@linux.intel.com>, "Masami Hiramatsu (Google)"
 <mhiramat@kernel.org>, Jinghao Jia <jinghao7@illinois.edu>, Luis
 Chamberlain <mcgrof@kernel.org>, Randy Dunlap <rdunlap@infradead.org>,
 Tiezhu Yang <yangtiezhu@loongson.cn>
Subject: Re: [PATCH v4 29/30] x86/mm, mm/vmalloc: Defer
 flush_tlb_kernel_range() targeting NOHZ_FULL CPUs
In-Reply-To: <CAG48ez2bSh6=J8cXJhqYX=Y8pXcGsFgC05HsGcF0b1sJK2VH7A@mail.gmail.com>
References: <20250114175143.81438-1-vschneid@redhat.com>
 <20250114175143.81438-30-vschneid@redhat.com>
 <CAG48ez1Mh+DOy0ysOo7Qioxh1W7xWQyK9CLGNU9TGOsLXbg=gQ@mail.gmail.com>
 <xhsmh34hhh37q.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <CAG48ez3H8OVP1GxBLdmFgusvT1gQhwu2SiXbgi8T9uuCYVK52w@mail.gmail.com>
 <xhsmh5xlhk5p2.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <CAG48ez1EAATYcX520Nnw=P8XtUDSr5pe+qGH1YVNk3xN2LE05g@mail.gmail.com>
 <xhsmh34gkk3ls.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <352317e3-c7dc-43b4-b4cb-9644489318d0@intel.com>
 <xhsmhjz9mj2qo.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <d0450bc8-6585-49ca-9cad-49e65934bd5c@intel.com>
 <xhsmhh64qhssj.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <eef09bdc-7546-462b-9ac0-661a44d2ceae@intel.com>
 <xhsmhfrk84k5k.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <408ebd8b-4bfb-4c4f-b118-7fe853c6e897@intel.com>
 <xhsmhy0wtngkd.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
 <CAG48ez2bSh6=J8cXJhqYX=Y8pXcGsFgC05HsGcF0b1sJK2VH7A@mail.gmail.com>
Date: Wed, 26 Mar 2025 09:56:06 +0100
Message-ID: <xhsmhv7rwnpax.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: K2rZ59h2u7-YSLNcUGfb048xgJS5eu6YjfGtFEl_gcg_1742979370
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 25/03/25 19:41, Jann Horn wrote:
> On Tue, Mar 25, 2025 at 6:52=E2=80=AFPM Valentin Schneider <vschneid@redh=
at.com> wrote:
>> On 20/02/25 09:38, Dave Hansen wrote:
>> > But, honestly, I'm still not sure this is worth all the trouble. If
>> > folks want to avoid IPIs for TLB flushes, there are hardware features
>> > that *DO* that. Just get new hardware instead of adding this complicat=
ed
>> > pile of software that we have to maintain forever. In 10 years, we'll
>> > still have this software *and* 95% of our hardware has the hardware
>> > feature too.
>>
>> Sorry, you're going to have to deal with my ignorance a little bit longe=
r...
>>
>> Were you thinking x86 hardware specifically, or something else?
>> AIUI things like arm64's TLBIVMALLE1IS can do what is required without a=
ny
>> IPI:
>>
>> C5.5.78
>> """
>> The invalidation applies to all PEs in the same Inner Shareable shareabi=
lity domain as the PE that
>> executes this System instruction.
>> """
>>
>> But for (at least) these architectures:
>>
>>   alpha
>>   x86
>>   loongarch
>>   mips
>>   (non-freescale 8xx) powerpc
>>   riscv
>>   xtensa
>>
>> flush_tlb_kernel_range() has a path with a hardcoded use of on_each_cpu(=
),
>> so AFAICT for these the IPIs will be sent no matter the hardware.
>
> On X86, both AMD and Intel have some fairly recently introduced CPU
> features that can shoot down TLBs remotely.
>
> The patch series
> <https://lore.kernel.org/all/20250226030129.530345-1-riel@surriel.com/>
> adds support for the AMD flavor; that series landed in the current
> merge window (it's present in the mainline git repository now and should
> be part of 6.15). I think support for the Intel flavor has not yet
> been implemented, but the linked patch series mentions a plan to look
> at the Intel flavor next.

Thanks for the info!



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 08:58:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 08:58:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927312.1330066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMaI-0007pt-C7; Wed, 26 Mar 2025 08:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927312.1330066; Wed, 26 Mar 2025 08:58: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 1txMaI-0007pm-8q; Wed, 26 Mar 2025 08:58:02 +0000
Received: by outflank-mailman (input) for mailman id 927312;
 Wed, 26 Mar 2025 08:58: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=a+/s=WN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1txMaH-0007pc-3y
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 08:58:01 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20630.outbound.protection.outlook.com
 [2a01:111:f403:2009::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 697d7186-0a20-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 09:57:58 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CH2PR12MB9518.namprd12.prod.outlook.com (2603:10b6:610:27e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 08:57:53 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 08:57: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: 697d7186-0a20-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jV1EySX+aBE2Ru+VBXLeU1d2FrgEVXw6aW8cGiXq8lSI2Vc0vm7qGM+S2h0XD6EDtYs7Y8nCEXx3n5yqcoPWLGyRBuiM81ydyqGkHKAEmMx6WWOdWvC9QAeWHEa719KEAV9MLMdAzt7rdj6iJzngIGe6/qFg+mQFFssuKAg6EU3OFRX4zwIc+4dqQu1NsVqqo85MKTPxp9ST9W4pi0od2aUWZB6+2X6+DaRkcfxwDqEGfZLwtckIsynbmGAB0zAmIUg1iCQMF7L90/w6+XisAhuobM4gx6ApYHAyAlLqvMogcFmxo6AG2HTsY1jolHqvD3IhvVWkOD1PSVsJXDQaLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ktBsZlelN5gjemRMVv0ki2io3eG0mY1p/6TdKDsgq+8=;
 b=AFJ/pihDNEpiamgeEy9PHFhu7aIcb5HMZfmKpKQVq8ONJSvVUytFnN1lW3tTeHslcZMe+eHRQXnMVQsE05milUjl2eefnKyyvN9JpXLZsgbo6CweoohoRRB7S/RA5b1jTKs46Wvt+gpMYz6qlKq4Y/1aI/yzCiN2AGXb6u/E4BwITda2pRtBabP6hRHa2yJRI7ZVYg6Bl+1pk5V/r+/lmZlGiTyGbSPCiFT16Y5gLT2pAkDYwjZf5yQj7Q/XOHISSEPP9sZAM9A1yAlwY/LrYdw2SOpB/7jT9MSXbJQjIVUy1625ZiuI+tYwCBdplPtepXdcnfOq1tui94VjTl9LZg==
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=ktBsZlelN5gjemRMVv0ki2io3eG0mY1p/6TdKDsgq+8=;
 b=N+yGEpHx/Tib/H7mUhY4GxXuwjAzWL+O7/qZ9RGLPhnehI1I51M9GqeFROBe7xt9YF2zflZQkO5j8zuiSul25jgapajNpHnN6pr3tbrtK8GXBcOfctDY8+1GfxY3J9EBDfCzyxZVDDqwUFR61tO3hrpEYutWXCoR3ZU2/3ioL7Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
Date: Wed, 26 Mar 2025 09:57:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
 <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
 <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0210.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e5::11) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CH2PR12MB9518:EE_
X-MS-Office365-Filtering-Correlation-Id: dcc1c996-cb56-4448-6846-08dd6c444b09
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?WUJGQjhOSDhuSXNTZ044UCtYMUVnekY1Mm03cnBXMnJtcnFsaHQ4azVIclA5?=
 =?utf-8?B?Qk1uM1JkS3crQ1B0UUpjOVVzNDNRcnJnR2Z2NHZhekZCVmt6Z29VWWpvekdz?=
 =?utf-8?B?T0JlbmJ1a2pRMC9yM0RwU0hKNDFVUlVXZGc2WkwzTjhMaDdxUXcwK05zOUFj?=
 =?utf-8?B?VzYzOVpyajIyVnNYdXVoejVpSFZmS1U4c1VHNUUrN3hBek8vV3J6S0s2clhk?=
 =?utf-8?B?Tlkrd3l6L28xVmNkRFU5Zy9QUk9kS3hobWliNjNYV1EvZEZIbEZKNFdkNU1k?=
 =?utf-8?B?ZmRaN1pBNWp4dnFEbEZVaG5Ia0ZtOTBuZkFyci9yTFZrMEM3Mm9TbXV6RXVH?=
 =?utf-8?B?d3hIUzRQdzRxSU9VeE1MMmZYbkxqcTZSTzlkRHNncnhleTNGaFA0TURqakpY?=
 =?utf-8?B?dXp4V0E4QXI5LzEyWkFWc3ArYUJRanFkOVgzOEk1SHF3akJ1UVFSWmFmRHpQ?=
 =?utf-8?B?TklMNEZNNWVWd1M5emVZRlA2V3pnWDRnRFZoem9vaEx5eTZmVms5OWVOMVVH?=
 =?utf-8?B?S0g2aFdrTWhxeHhVQTV2cS9MZFRhQkZjVjlIRlY4ZFBpUEJZZnBCY1lJdFor?=
 =?utf-8?B?V2ZhV0tSbXA0NStqTFprQzFsMDhBaXhWVHFJM05hQ3pzUlBDV1IvTHJ3S0hO?=
 =?utf-8?B?VHN4SHhsRHlHMUtTWUR6cGpTR2p1WXMrWTQvUXN0Q1VzSno3Z3VoQW11VHRa?=
 =?utf-8?B?bVoyY25Vd0kwVERwWlF3QVpGMnV6azg0cmZxUjhmaGRYWmdGcUJMdHd0YTlB?=
 =?utf-8?B?OENKOG5HVXlNVEVjM3lGQk5oWlBlU290UElKS3FnT3l5dU8zTWJUM2wvRWN0?=
 =?utf-8?B?UGlXK0x3M291TVRiSW55Z2FmQTlrNUFMdENaRHZoenI4akg3NUxJKzU1VDZW?=
 =?utf-8?B?cmc3V2wxM2dOeEx2b09XUWJVUmlYMGMxWDlpemk4bVRncWNUcEhMZXVaeVVU?=
 =?utf-8?B?MDFjRVo5TVdEYURFQTJCa0xRb0I3UFJKS0NlQy9lbjd6V0NGY29FSHVyTThs?=
 =?utf-8?B?eFZUbzBJelR3S2NRTkJtRHpyTjVkQXc5MVdtUm8rSUNnakNQNGJEOFIvOTVa?=
 =?utf-8?B?a3QwZHBuNmZiOHRtQzlNZHdBWkRLY2M0NDcvdkdhSTRDeUVkOTd1OWJLUnlJ?=
 =?utf-8?B?bno3Qzh3SUtGMHNsYStUaTJsYkw1UStHL1JQdU84cE53R1pnQnBBNVd6WnhI?=
 =?utf-8?B?SHduUnQxcnVxeUxyS3I0THRXaTBhMFFYZ0hWNmdqSm1DY2ExWVA1MlYzcVIy?=
 =?utf-8?B?aEhSOTE1VjdXODJlSzI4RjRGSTdpWWhRUHBYWnZ1WjJFcTd2aFFraWdGTlIy?=
 =?utf-8?B?UXdwc01xMTMyNEhtbHUwM0g0d2tnTWVxVVZXWGhZbUJ2eCtOSDVHSjN1N2pP?=
 =?utf-8?B?QlF5Q3JRa3dNMEV1b2V3dUowbmIwdWp2Vi9kWmRib1pFandEc3QvaW1IUGhz?=
 =?utf-8?B?U3dnSzVmMXRWVHhpYWEvSXl3RngxQ3ZJMnV5OFpGcnpPMndld3Y4WDdEMVV6?=
 =?utf-8?B?c2lhNlFabW04RmEyMHBRVmh6Qmhkc2tSZW5qN3R3MjBjeFNXWDNWd3BpUU82?=
 =?utf-8?B?dGYyNXVISUhJNzZUR29NaUowVTRxbmtremRzYnBwTFdkdGhSQmVtYzNuTW9C?=
 =?utf-8?B?eXdrUE5IeDRMREtzbElHNk5wS0pZMXRMZmFwcFVmOGFCTFlxT2lnd1dFVXNa?=
 =?utf-8?B?ZlZtMHNGR24vcDhFM1FSY24vbDlmak1vTklVRmhzT0ZnMkswOGZha1Y5bnFW?=
 =?utf-8?B?dUtSWjVDVWYxa1l6QUQ0MHdXRTdjVlczY0FmQ1FxbE13NWFhblNvQ1QyMFBq?=
 =?utf-8?B?a2NzZWIwNzl0bkFxQjUxY1NrdnlCUTZHSnRPWURVMG5hOThLbGYzR0JTQnA5?=
 =?utf-8?Q?+f+WRIQSEXaac?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?cGJNd1ZuNGEyL2pKM2VwQlpXcW5HUzJ6SHFsVWlkWGRBMisyUnZScU90cmFX?=
 =?utf-8?B?NG5PdjZhcUFIemwwNW43RWRUZ2h1MEcrRWZzVkxOY0N5ODdsWmlCT1FWNnZY?=
 =?utf-8?B?dUZwd1VtbGtJNlV2SFJBQ2tCZ2RpM0FWTmJxSGlpcFNMRTg1bGxQYnl2V2NH?=
 =?utf-8?B?SW15N0FYTXMxVVZqaXRheTU2S1BLNjhrRFU0aVRJQjZPem5QUGRGMG1RRGQ2?=
 =?utf-8?B?b21nc3B5dGIxT2FSd3VLcUgreXl2UHYzUnhKZVBKVVJzSEg5WUJ5N1Q1YjNR?=
 =?utf-8?B?cUJDNUJRNVZUZVZVaWNBN1JGS2twUVIzaUlyOVE2T0xZellIM0x2dnp6LzBS?=
 =?utf-8?B?YmRabTVQcC9tV21rV2VKVWJWVzBBT0l0SGlvVDFHNTZnWFQwWldvcG56dE4v?=
 =?utf-8?B?VU1rTHVablIxS0hMVDR1dldZV2hSdVlybUQ4Uitzc2kySnRrU09jb3ZVRk90?=
 =?utf-8?B?UGJNNDUzTFRnYU9GOUhtdXU1VldJcDRUMHB6TjZYSEdabVBFSHlIYVNtTXNZ?=
 =?utf-8?B?YzhsNXBjUldsR1I2SGxSc2RzN1dJZlJxeHpkbmpHVnNjcEtkam1jZjFuQnls?=
 =?utf-8?B?Y3RhWUdQRXVweHVBL1dBdERTbWhnaE9DaXpUNk5VRUdJTlNxREpZajFCY2Qz?=
 =?utf-8?B?ZEgyY0x4L2tPS2JOVFFyZDVLRkV1R1RhcG5vRVRzRWdVeWZ6UFpnbVJvUVpU?=
 =?utf-8?B?NzMrWkhGZjdkcDJvdUJySmZ5bzJqRXBmVVo0UXBXSjZtWUlnN1hpQ3FFbS80?=
 =?utf-8?B?ZE4wc2RtSWQvanZDOERubzVmU1IrMGt1RG5sdUNTTEFoaUM5eS9mdmJiUHlh?=
 =?utf-8?B?U2pzVGg5SGdyVzRRbnZySXJUM3ZoTDhVU0ZaL1plS1JxRzhWMGI1RWZIbVlP?=
 =?utf-8?B?MmFBanR2aW5WbWZkcmo2QjlEeFR0MTBOYnNSNGlzbERud0kvcjRQcHlnMm5I?=
 =?utf-8?B?WExjUElYb3VXS1VBNjJjRzRGcHBhU1JHSXoxa3JrZ2Q1Wis5QzdtaFhoRnAy?=
 =?utf-8?B?UGtrTFBQcFFySWNFNlZWdmtxVVRjYXBNak5nZWdoWEgrM0licHk2eG9qdXVx?=
 =?utf-8?B?eGVwTXhtK2M4K01QUXB3TG9BMHVYSktkcTI1SUdUSUNMeHk2enN4eFhuYjZR?=
 =?utf-8?B?cXBPNThHNzJST1ZSVnVlVCtuQ3dkbE5vaWpnMHdOM1I0cmE1MC9VSVlZVVVs?=
 =?utf-8?B?ZzFqYXVpZU91Vm5xSzFVM1ZVYjBXRmJHQlB1Mk92cnFiQ2dNdlJxenJSWVpu?=
 =?utf-8?B?VGYrQnFzVEQyLzZoRWJ6a3E5eXN0QWh1SndqRkQ4dG9vWHNNMTU1ODBDU0E1?=
 =?utf-8?B?ZjFFdU9ka2FXdFM3d1J5dzBQcDYyeTUwY0h6WWxQNUJNMkw4dHYyd2xyTnBD?=
 =?utf-8?B?VDE2ZTNmejV5aVJwa0VMaDM0SWZDU1JITDlQdGFheEE3LzJxSlFxR0ZhdUQ5?=
 =?utf-8?B?TmdzSmVTSzl1MUU1WGtiSkt4RmNPaE11USt3djFaR2R6MGJ5NGtxdUFwaitI?=
 =?utf-8?B?WHJDQnpTL2JGT2p0WFJJREh6OU5lTGdrbnh3OXNJRVRVSk1RbEdSUURjSm1q?=
 =?utf-8?B?V2taT3pWb2JGK1d6bGhKcGh3amlLdjRUK2pFVmxvRWhYMzRtN1JBeDhZbDhI?=
 =?utf-8?B?c0o1bFJvZVhZbis0VFBDQWVMdjFqR1c4U2dCRHZHamVLVkdlakhzclhhVkpm?=
 =?utf-8?B?cTZ5NGlLNGhpTC9YK1laZ3hiV05tYy9pOStaNFh2V0VyakhLeUM2Vnk1eDZq?=
 =?utf-8?B?eTJZb0NHUGF6djZxTkVWdndqU3ZVV0dJVlhabHl2SmtSKytMeFpXR3JvajNp?=
 =?utf-8?B?bnNtblY4SFh3YjQ5TVpSMlR1QUlmNnIxNDFhMS9MVDBiN0tMZS8vcFZaM0gx?=
 =?utf-8?B?VUxhZllBU0RoTlBEUGR4V2E4QXJsd0lhUU1mQ3RJekQrK0d2TDdvcDYwL0s5?=
 =?utf-8?B?QVN1ZEJpRVYrNnZid2dLTjF1b1BjQXh3OU9hUFM1N3NKaDVDMDJPWXBlTmpL?=
 =?utf-8?B?UTJnYXdrNm0zWVVCbklnUlJvQnA4UDhkOUpQVmQrU2tMOGxuaHVFTStqeDV1?=
 =?utf-8?B?UnF1enZOSm00OG44N2tHMktaYTMzNVFobDhXUk42b3E4cU1McE9aR1Z4TWVl?=
 =?utf-8?Q?4XC0=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dcc1c996-cb56-4448-6846-08dd6c444b09
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 08:57:53.1616
 (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: Nj7k9v12hdYExoL+1fZ/l46avGILWQm2fQA39ZC3Izvu8y7/6pDDCbJyWN9Ejw9b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB9518



On 25/03/2025 17:54, Oleksandr Tyshchenko wrote:
> 
> 
> On 25.03.25 18:09, Julien Grall wrote:
> 
> 
>> Hi Oleksandr,
> 
> Hello Julien
> 
>>
>> On 25/03/2025 16:05, Oleksandr Tyshchenko wrote:
>>>>>> Furthermore, what happen if we decide to use ACPI afterwards? Wouldn't
>>>>>> this mean that the static regions would be reserved even if ACPI
>>>>>> doesn't
>>>>>> use static memory (all the memory is expected to be given to the
>>>>>> allocator)?
>>>>> I don't think such hybrid configuration is valid (booting with ACPI yet
>>>>> declaring reserved regions in DT). See commit:
>>>>> 9c2bc0f24b2ba7082df408b3c33ec9a86bf20cf0
>>>>
>>>> I don't think the commit is preventing hybrid configuration. It is just
>>>> saying that the region (which could be a static region because this is
>>>> not supported) will be unreserved.
>>>>
>>>> IOW, when booting with Device-Tree you may be able to use static memory.
>>>> But if you were booting with ACPI, static memory is not supported and
>>>> therefore the regions should be free for other purpose.
>>>
>>>
>>> Julien, I see your points, but the current patch does not attempt to
>>> make static (reserved) memory properly work on ACPI-based system (if it
>>> is available there), current patch tries to solve the real issue on
>>> device-tree-based system with Xen compiled with CONFIG_ACPI=y (at least
>>> unintentionally).
>>
>> I am not asking to make ACPI work with static memory. I am asking to not
>> break ACPI if the Device-Tree is specifying static memory region.
>>
>>> However, I wonder, why it has not been noticed so far.
>>
>> ACPI is not a supported feature and gated by UNSUPPORTED. So the
>> implication is you have enabled UNSUPPORTED and anything can happen
>> really ;).
> 
> Indeed, this answers the question.
> 
> 
>>
>>>
>>> It took some time to understand why just enabling CONFIG_STATIC_MEMORY=y
>>> triggered a BUG in common code. And it turned out that it was
>>> CONFIG_ACPI=y in my Xen's .config that caused that consequence (I
>>> specially wrote so long description to provide full context).
>>
>> As I wrote above, the only thing I am asking is that memory for static
>> regions should be unreserved when ACPI is enabled like it is already the
>> case today.
> 
> So the concern is that not reserving provided by the device tree static
> memory region is going to be a potential waste of the memory on the real
> ACPI system? Or I missed something?
> 
> I see two options with unreserving the static memory regions on the real
> ACPI system. I assume, that we should unreserve only after we definitely
> know that we are running with ACPI (i.e. after acpi_boot_table_init()
> completes and acpi_disabled reflects the real state of things), right?
> 
> 1. either call acpi_boot_table_init() before setup_mm() in Arm64's
> start_xen().
This cannot be done. acpi_boot_table_init() calls ACPI functions that make use
of VMAP and alloc_boot_pages, so the boot allocator is expected to be populated
at this point.

> 2. or go through reserved_mem->nr_banks and unreserve everything marked
> with MEMBANK_STATIC_DOMAIN after acpi_boot_table_init() completes
What if we split acpi_boot_table_init() into 2 parts, where first is used to
determine the real "acpi_disabled" value, called before setup_mm and second used
to parse the tables? There's one issue with this approach. Today, even after we
evaluate that we should run with ACPI enabled [*], error in ACPI table parsing
is ignored and ACPI is set to disabled. That's not really in the spirit of our
current methodology, where we should panic if user requested something that does
not work. Example: today, even after specifying "acpi=force", error in table
parsing bails out to DT approach which is not what user wanted.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:00:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:00:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927330.1330076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMd8-0001zQ-1y; Wed, 26 Mar 2025 09:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927330.1330076; Wed, 26 Mar 2025 09:00: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 1txMd7-0001zJ-VM; Wed, 26 Mar 2025 09:00:57 +0000
Received: by outflank-mailman (input) for mailman id 927330;
 Wed, 26 Mar 2025 09:00: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txMd6-0001zB-Mw
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:00:56 +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 d39ed09a-0a20-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:00:55 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3913d129c1aso421261f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:00: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-3997f9957efsm16445245f8f.14.2025.03.26.02.00.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:00: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: d39ed09a-0a20-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742979655; x=1743584455; 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=tjOGdEJFIiIZcm8NSggCb/Xn4Tbp450ix/iGMe74sSQ=;
        b=M8EKxetniRwcFxAJhrR/qryJrJHICgSTVbUfjIud9qqOG1cx58TE/9WcGvk7BacCK+
         +o0N90lf/4s6qxAene+2KHKoniuAiUbnqZjrRl2982Fle189tBCzqpfjqgZKq7kECwis
         ZQwKfmRK5Kb4h6t7M1wkQhdEkBSXGQjLeNWeWxmImU2VSIiT4Au8OnFe884h12v6dG3u
         2XCJWHoG5np+gBozIAw8zQeS7acggDbgVNRAW1ZJLwZq0FMHVaaUw0Hso1bUycVPlzwn
         wJvLjkTCrLZ66o+iOIeJy1OgCIYB6dYxsd5Mg2YE5uPXJwDeidLBn9kHZ/A+3wxG9Fj8
         VPgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742979655; x=1743584455;
        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=tjOGdEJFIiIZcm8NSggCb/Xn4Tbp450ix/iGMe74sSQ=;
        b=ZanIZcmLHZtI7uv+QufHqZlk1tp61EVeaG3i83rBuWQB0sA2u32xYh2AV70lkJkpvF
         AZ/MMbIPnDRnGYYCnzoOYT534750A85LuwCqi5iUs7MCVS8IY61VmQzu/R7kheXOuwCk
         2wVOoYaEWvCvZSDvmU43ol7bNW52eEXoYO3h4/icKSvBus3Zu3yRETPQlwJyw3CJd2nw
         tpzk8oPv4t5aHaKznlY8kzjo3EipkdAUDlezivGo6VhErN9OJaDeSgmz7t0NrjzlJvvI
         ZQojGEb+o1m9kDTL2qAoJ3aEpwTW2HzXCtJ8UZVVb0RKQm8Ko7lry3OlD88rWC72wDo2
         aCmg==
X-Forwarded-Encrypted: i=1; AJvYcCVeJ3PjpE3tMC8t2ufRQdSZQYUsqd+A/b9cYHywI1i1O4lHZmcT9QfZ0GwEzYUd/JLmRRjLpoX+HiI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwaT5uzhSGKLuXTNc/SSip26Jpu29H2dN4R1EK6UWC5mkissE1t
	+x1V6kPK9BpPkey078AoB2yK3AFlrLCjYztwWvNR4FtT9JB+6PqoZ1IrQoQi0A==
X-Gm-Gg: ASbGncsrCyKd7SHmccs6Scc3wJd1QaW9pTFkZ6wsGfkg5L2NW3gRrqUErf/q5Q9CICg
	8Iq/KLHzuDStm8vIjfsxM6AS0mXk2tH2oy64KPyQ8EgQWPw2lHe+saocLop8a/DDLypMK/69bH5
	pJh0ercL6ujlFJGai4AH7/ih84Pb+R6TMzKWfN6wXfbNkEAo30+Q9idGc7+Q3y2/J6tjFuB/uye
	4piTR+8L6nsx82UXcD+MDfGfwRgxareniEtGP4wZZquFykW7U/sd2PzgammimHAJylk8RFyQdSM
	XLqgIXp2xSCtGUerFAkNWyknxXF0xkzGvSSNfP7mfiHiUsdHoLTMaeBnRDbBDDR1ClE66+IYk5L
	w8NH81H0eqk6LCvHP8SkTsFQ38hqiCw==
X-Google-Smtp-Source: AGHT+IHPxOIXsNN+NKXC5fOlJpV46+HtYcXMuo7aH1VDZyNpD7+hf9cWDDZp2wnYIgrxDiUtSOLf4w==
X-Received: by 2002:a5d:6d81:0:b0:390:e9ee:f27a with SMTP id ffacd0b85a97d-39acc48c6d5mr2543945f8f.28.1742979654882;
        Wed, 26 Mar 2025 02:00:54 -0700 (PDT)
Message-ID: <ae306524-bc22-450e-88d6-8c0785003e17@suse.com>
Date: Wed, 26 Mar 2025 10:00:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/elf: Remove ASM_CALL_CONSTRAINT from
 elf_core_save_regs()
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: <20250325180005.275552-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: <20250325180005.275552-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.03.2025 19:00, Andrew Cooper wrote:
> I was mistaken about when ASM_CALL_CONSTRAINT is applicable.  It is not
> applicable for plain pushes/pops, so remove it from the flags logic.
> 
> Clarify the description of ASM_CALL_CONSTRAINT to be explicit about unwinding
> using framepointers.
> 
> Fixes: 0754534b8a38 ("x86/elf: Improve code generation in elf_core_save_regs()")
> 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/include/asm/asm_defns.h  | 5 +++--
>  xen/arch/x86/include/asm/x86_64/elf.h | 2 +-
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
> index 92b4116a1564..689d1dcbf754 100644
> --- a/xen/arch/x86/include/asm/asm_defns.h
> +++ b/xen/arch/x86/include/asm/asm_defns.h
> @@ -28,8 +28,9 @@ asm ( "\t.equ CONFIG_INDIRECT_THUNK, "
>  
>  /*
>   * This output constraint should be used for any inline asm which has a "call"
> - * instruction.  Otherwise the asm may be inserted before the frame pointer
> - * gets set up by the containing function.
> + * instruction, which forces the stack frame to be set up prior to the asm
> + * block.  This matters when unwinding using framepointers, where the asm's
> + * function can get skipped over.

Does "forces the stack frame to be set up" really mean the stack frame, or the
frame pointer (if one is in use)? In the latter case I can see how the asm()
being moved ahead of that point could cause problems. In the former case I
apparently still don't understand (yet) what the issue is that
ASM_CALL_CONSTRAINT ultimately is to help with.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:17:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:17:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927341.1330086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMtT-00052a-Dl; Wed, 26 Mar 2025 09:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927341.1330086; Wed, 26 Mar 2025 09:17: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 1txMtT-00052T-9o; Wed, 26 Mar 2025 09:17:51 +0000
Received: by outflank-mailman (input) for mailman id 927341;
 Wed, 26 Mar 2025 09:17: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txMtR-00051c-N0
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:17:49 +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 2cb19888-0a23-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 10:17:44 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39143200ddaso3768821f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:17:44 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fd277c9sm180668065e9.22.2025.03.26.02.17.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:17: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: 2cb19888-0a23-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742980663; x=1743585463; 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=LM476Dm76nxA3v4/OaxPUP+PmKsDu5gMhGVnrPwuLRU=;
        b=cPzY07GolrrYZvrtykxe+VdbNsoI2pnBTPUC03b6FoKwDPOtytTkzr1+6BwpZ9V5vm
         MCxrI+8jGeSZgj4zx9SXqAI/TuXU/lHUE5Iwjd69Or69+K5T9bsF6UmhwE3pObyVIX/D
         G5fiaO2HI3YIPKsLtjcyD0PbwMmk4wuWroWc8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742980663; x=1743585463;
        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=LM476Dm76nxA3v4/OaxPUP+PmKsDu5gMhGVnrPwuLRU=;
        b=ZXZO95N075LIlTbQVFQrIPuzu4OtcH+Oz2Y4ShNj1YBgTU+e/5aTMVRigOprycEuiS
         JCK6G5yz8TQwHVa32ku7+w62gIDFHow05WSq2uXpE8mnhXkYJzOKsAHwdDuVmZdjugIs
         2bZaGZgLbZkajPePfcvMkf0clxQoxWWJBcm1I//2Kv45p6Rln8gMkpKn9nfHhPmsQYmo
         meItMlL7einvPlSYb8Vr7XsgOuwY4WDCOffTELAgz3xFdlSQjvj6jMwZAljZqqc79IYp
         aSTt5q3GAPep44cc8EK5RLCG7OW8elSpdTJfcelwPSaF9FFNvM3Pfw6zBwwx7BUTzp53
         zD0Q==
X-Forwarded-Encrypted: i=1; AJvYcCU7OMTZufQ7TzS3+2zVwucXDO8Gq/aZFyRIFahg+felQ1a9TwlnYBzupG/QGFiHYe6U9Oe2MrOua2c=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+9VL7Iu5fVy2rN6+JOxkZzLjzDhbypY0t4m2incpRTDn64OAX
	u+N7eWGCGK/AA0NVMLomJQoUwf069OTss4yJKLNtNzzTaISyByH7P/ej02aoWc0=
X-Gm-Gg: ASbGncuD3EqUnvyX4SOTmnAesuALS5wqh8rgWQLXFnyUSWpKIMVHM4d7eRKeUsyw65d
	46XM4fRx5d4+2NHfO5QCk9a+kZAKTASLIROHXzibqANtZHsGB4QImtN90xjuXIIs1CnKR1iuo1j
	frFfcE2sC1OZJyWmEy+XmzKxoy9qYCmknxDFr/9YIKPiOckStGad9mOgulARYorSGvBcAOC4KBH
	lExa5evIRPJNL5HicFj4ST1iUbCiMihRaAunUPVNUNHFMTU/6ekneTI5lPDfVUH6Xq2uhLhI53+
	NoHk4IU7I/VnVGPbhNl1jCgZ8O0ZI/ZZRy4kREXb8rkXP831t39MLMhqvb06ZZu0NxMnVqilhY2
	fy17HSObDow==
X-Google-Smtp-Source: AGHT+IFeJRWl6yZBRxKhIDjchJvFtO2ZBQXNt+v1ConHoMeaz0Hg8cKlkFpCviMpqjD0ayooP7koYg==
X-Received: by 2002:a05:6000:1f8f:b0:391:27f1:fbf8 with SMTP id ffacd0b85a97d-3997f8f5d54mr17511986f8f.4.1742980663326;
        Wed, 26 Mar 2025 02:17:43 -0700 (PDT)
Message-ID: <1a01a590-acb6-4b6e-9fb9-3af4deabb4b5@citrix.com>
Date: Wed, 26 Mar 2025 09:17:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/elf: Remove ASM_CALL_CONSTRAINT from
 elf_core_save_regs()
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: <20250325180005.275552-1-andrew.cooper3@citrix.com>
 <ae306524-bc22-450e-88d6-8c0785003e17@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: <ae306524-bc22-450e-88d6-8c0785003e17@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/03/2025 9:00 am, Jan Beulich wrote:
> On 25.03.2025 19:00, Andrew Cooper wrote:
>> I was mistaken about when ASM_CALL_CONSTRAINT is applicable.  It is not
>> applicable for plain pushes/pops, so remove it from the flags logic.
>>
>> Clarify the description of ASM_CALL_CONSTRAINT to be explicit about unwinding
>> using framepointers.
>>
>> Fixes: 0754534b8a38 ("x86/elf: Improve code generation in elf_core_save_regs()")
>> 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/include/asm/asm_defns.h  | 5 +++--
>>  xen/arch/x86/include/asm/x86_64/elf.h | 2 +-
>>  2 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
>> index 92b4116a1564..689d1dcbf754 100644
>> --- a/xen/arch/x86/include/asm/asm_defns.h
>> +++ b/xen/arch/x86/include/asm/asm_defns.h
>> @@ -28,8 +28,9 @@ asm ( "\t.equ CONFIG_INDIRECT_THUNK, "
>>  
>>  /*
>>   * This output constraint should be used for any inline asm which has a "call"
>> - * instruction.  Otherwise the asm may be inserted before the frame pointer
>> - * gets set up by the containing function.
>> + * instruction, which forces the stack frame to be set up prior to the asm
>> + * block.  This matters when unwinding using framepointers, where the asm's
>> + * function can get skipped over.
> Does "forces the stack frame to be set up" really mean the stack frame, or the
> frame pointer (if one is in use)?

What do you consider to be the difference, given how frame pointers work
in our ABI?

It is the frame pointer which needs setting up, which at a minimum
involves spilling registers to the stack and getting %rsp into it's
eventual position.

>  In the latter case I can see how the asm()
> being moved ahead of that point could cause problems. In the former case I
> apparently still don't understand (yet) what the issue is that
> ASM_CALL_CONSTRAINT ultimately is to help with.

The specific bug is from a sequence of functions a, b and c, where b
uses an asm() to call c.

a() pushes old %rbp sets up new %rbp, b() fails to do so early enough,
and c() pushes a()'s frame pointer, not b()'s.Â  Then unwinding via frame
pointer skips b() in the backtrace.

I don't know what the precise effects of the constraint are.Â  The
compiler maintainers can't agree either, and say it's fragile and can't
be relied upon, but it seems to be the only way to have the desired
effect on emitted code.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:20:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:20:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927349.1330096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMvp-0006Wn-P4; Wed, 26 Mar 2025 09:20:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927349.1330096; Wed, 26 Mar 2025 09:20: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 1txMvp-0006Wg-LI; Wed, 26 Mar 2025 09:20:17 +0000
Received: by outflank-mailman (input) for mailman id 927349;
 Wed, 26 Mar 2025 09:20: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txMvo-0006WV-7Y
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:20:16 +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 86296d31-0a23-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 10:20:14 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3965c995151so3254246f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:20: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-3997f9a3f36sm16581776f8f.32.2025.03.26.02.20.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:20: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: 86296d31-0a23-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742980813; x=1743585613; 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=6x6Xzw17i7W34eT4rjlNmRZic6sk9RWhrWSqzLaKa0s=;
        b=OVUWZgiqQfsQiwElKLCu6VCdlmNIZo06OfWCCxF1NPFKHbpbInfYEANMxFgOOIGVJx
         m6Lj7OLd4xzqkG59GSnuOSq6vvUzCUeMFAHNDoQ98TaV9tWOkpwkfkgEoOtPJdU+4wCY
         HCoE52ljr3fzBo/Clq8/wNixGihRM7YBfG1MZlsJZBE8A9ELuQHaRP7zjWKZCQaBPxQ4
         vlWEIb1V3sV8CwT0PEbSNc6k2TUzQn4Lwl2Sl89naxojAzb+g7tx1yNXbhwQU50Fdu7+
         ILgvkGfdJC05UtVWM1isJtR3rsa68d541OPHrJNTRJc6hXZyTmYYhKSwbOv2eT9ls8CD
         XLtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742980813; x=1743585613;
        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=6x6Xzw17i7W34eT4rjlNmRZic6sk9RWhrWSqzLaKa0s=;
        b=PW9ejhyXXt2GzQsrYWzxqz9qOKvcfvpMjxMEojRi8EvhKEPzyqlNf4FMsYEuxVtzU3
         Ptp0iS73HdhTQBUz+EHKgYg6yZkcGGioaBai3zCP93CM7L+diNKqQ2bAJahS986520ZP
         ivJufHaVKWUUsdrNHSW0ab0faTTdV0UvDVp/LCQa4BQEOdET6FhgHv/WfF0O3kiSE2Og
         /glDWntt3TN4YW5C8qYCzqR3AiSInntsY7yN1bEd6I2FDLzt5Nw2wVKoLqa8DNCLUKm6
         p0mll/3Q1b1X3piiecTUE5PqBFQy5ZtD+G+ESygX0LJiiG0vg2hGuFjNiJipQSms4bdn
         3rRA==
X-Forwarded-Encrypted: i=1; AJvYcCVa9UPgHmuowNt1tyWx+saZ+qDOpmxKOPrhjn/WDRTUCU0w+FCO4ryNsylRtmFqaR9jgzsmR7qhx38=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0l0rxP8qAOr9FlYGrrqAtt1hn3jELSYFLWW7LqzV4VtbMNLbU
	K9qD2y5cHHh7GvfteeSg0SuYij5PcMjc/ikOT6dXGqqgQXzSHnvm/lfDcRgLieFzfGH2BtETGUk
	=
X-Gm-Gg: ASbGncsxwLBudA0ajZMT/08IKlSI59La+BmHi17xa1LaAMw2mv02pMvBD567oiRlrLM
	RAd27IImnteVBuqKYGo5EwnRZYTwo4QmWu33tQhfjmEN2tg3UvV190SvajK0OGsqg5MyRBn2Lg2
	eDz/jpO4WkNHGPtl2FHqYfJ9G1FdfE0gX6RCyhiB0IQl2i3H+/H/mFDOdCT67Kjp+G0WD9ulNFP
	agRrpjILxQnX9s3k9kuQbvT/9uDemj9hXrtBnkkbiLVNMjjlu8bc3KqFTeMdVeDfEcIZnAZSfK3
	ZspHEiW8bZiR37K2dDWoJ8UlKcbZkOvCIOI62eAydNyD+64xGQmRBvkV+08OwRxod/DwY3wj5xV
	ztXaXZkYIwfRwpWhrimqbfD1z/y+oYOWKz7myyTCt
X-Google-Smtp-Source: AGHT+IGtf5AfBXOSlt1QHOhpthcwkp5Pe5p+a0xztQIoLYyNB+mk93IWCkcoaDYUMk9Le20XO86/Ng==
X-Received: by 2002:a05:6000:1ac7:b0:39a:ca59:a61d with SMTP id ffacd0b85a97d-39aca59a89amr4027133f8f.47.1742980813450;
        Wed, 26 Mar 2025 02:20:13 -0700 (PDT)
Message-ID: <56fbd614-2b46-4cc2-88f3-e244aedd5479@suse.com>
Date: Wed, 26 Mar 2025 10:20:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/bitops: Account for POPCNT errata on earlier Intel
 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: <20250325185219.315319-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: <20250325185219.315319-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.03.2025 19:52, Andrew Cooper wrote:
> Manually break the false dependency for the benefit of cases such as
> bitmap_weight() which is a reasonable hotpath.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Not sure if this warrants a fixes or not, but:
> 
> Fixes: 6978602334d9 ("x86/bitops: Use the POPCNT instruction when available")
> 
> Many examples online suggest a 2x improvement perf improvement on tight loops
> by breaking this dependency.  cpumasks in particular make frequent use of this
> loop.
> 
> Still TODO:
> 
>  1) Put a double CS prefix on the CALL instruction to avoid a trailing 2-byte
>     NOP, but this depends on x86_decode_lite() in order to work.
> 
>  2) Revert a buggy GAS diagnostic:
> 
>     ./arch/x86/include/asm/bitops.h: Assembler messages:
>     ./arch/x86/include/asm/bitops.h:493: Error: same type of prefix used twice
>     ./arch/x86/include/asm/bitops.h:493: Error: same type of prefix used twice
> 
>     Multiple prefixes are not an error, and are sometimes the best choice
>     available.

Well. Sane insns have every kind of prefix at most once. The assembler
has (effectively) boolean markers for that. Thing is that multiple
different prefixes of the same kind are ambiguous to encode: Which order
should they be emitted in? One programmer may think "first wins" while
another may expect "last wins". It may be possible to special case "same
prefix", by converting the boolean-ness to a count. Yet I expect more
often than not multiple prefixes of the same type are a mistake. Hence
we probably would then still want to warn about that, requiring a new
way to silence that warning.

However, imo it is better to leave the assembler unaltered, and continue
to require people who want such unusual encodings to specify the prefixes
they want as separate kind-of-insns. Such unusual encodings are likely to
also mean certain positioning of those prefixes relative to other possible
ones; there's no prescribed order the assembler would emit prefixes of
different kinds (REX and REX2 always coming last of course) when they're
part of a real insn.

> It turns out that LZCNT/TZCNT have the same input dependent bug, prior to
> Skylake.

These two do, but BSF/BSR don't? Pretty odd.

> --- a/xen/arch/x86/include/asm/bitops.h
> +++ b/xen/arch/x86/include/asm/bitops.h
> @@ -488,10 +488,16 @@ static always_inline unsigned int arch_hweightl(unsigned long x)
>       *
>       * This limits the POPCNT instruction to using the same ABI as a function
>       * call (input in %rdi, output in %eax) but that's fine.
> +     *
> +     * On Intel CPUs prior to Cannon Lake, the POPCNT instruction has a false
> +     * input dependency on it's destination register (errata HSD146, SKL029
> +     * amongst others), impacting loops such as bitmap_weight().  Insert an
> +     * XOR to manually break the dependency.
>       */

With this being an Intel-only issue, wouldn't we better ...

>      alternative_io("call arch_generic_hweightl",
> +                   "xor %k[res], %k[res]\n\t"

... put this line in #ifdef CONFIG_INTEL then? The extra overhead is small, but
I see no reason not to avoid it if we can. (I realize that's not quite as
straightforward as it reads, for alternative_io() being a macro.)

Jan

>                     "popcnt %[val], %q[res]", X86_FEATURE_POPCNT,
> -                   ASM_OUTPUT2([res] "=a" (r) ASM_CALL_CONSTRAINT),
> +                   ASM_OUTPUT2([res] "=&a" (r) ASM_CALL_CONSTRAINT),
>                     [val] "D" (x));
>  
>      return r;



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:21:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927358.1330106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txMxG-0007ti-1h; Wed, 26 Mar 2025 09:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927358.1330106; Wed, 26 Mar 2025 09: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 1txMxF-0007tb-VF; Wed, 26 Mar 2025 09:21:45 +0000
Received: by outflank-mailman (input) for mailman id 927358;
 Wed, 26 Mar 2025 09:21: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=Mf06=WN=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txMxE-0007tV-LS
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:21:44 +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 bbb6283e-0a23-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:21:43 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac2c663a3daso491360966b.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:21:43 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3efb52bffsm974294866b.89.2025.03.26.02.21.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 02:21: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: bbb6283e-0a23-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742980903; x=1743585703; darn=lists.xenproject.org;
        h=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=WMyyBKFVbbQ7OWzLqoqytRgnlb6Py9GZmeFnMpyWgqI=;
        b=sjZMpInBs9zbcaogjHS0rQ09golEjJMQrq4l9P+cWlQLTD1sKQ9Jv6iIh5xyjnyU3+
         xFWrzF4RPXr1F7q9G/vb2Gan8/qW3anfbrjmsrINWO1tFf6m7VOKnm9z1ommaZtnecey
         q1TGuhCglNq4+QN5H8j9u7rPouOp1YBkiIb/o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742980903; x=1743585703;
        h=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=WMyyBKFVbbQ7OWzLqoqytRgnlb6Py9GZmeFnMpyWgqI=;
        b=J3MmJ5a7C4fsgvVu8LhV46OPdnX0bEaLEU9vVX8V4Bpq0IqReBKo/XZzK7TIwOBepO
         v23Gy0CZrRRVO6MPlX5IMfDxzBOrrxZGhaJx3b0gMi4IJiizYfGeES/K4EqfmNf/MhT2
         7dLjxIX39mpdFxNZWDw0y7KQcwGXFrqui+yaLtE+Jih8fluhlcZsmvW7QqxkUAmHbY9P
         NftWh0WkOQh8mzV4STuIR5PXwoB3a8EkF5JVHXrqdLs83hcaio0TrKrCfQevv7tmCTG+
         ppc4XOmJ4WpgVRbzYAftyX22kozh2G4qd1vkrpDbKlBt3SxcQ01qKvk7DCRImKY5b5UM
         /EAQ==
X-Gm-Message-State: AOJu0YybS73SPM0LF8MI1B7sI+fzN6wQHP7jJYbA12B8wxRHyEOS8Z3G
	+g8V92V7S61uc3jy8dRUTpjfeOdzCADPx174eFNSPM3dBDrbC+4oh6uIfc0JF1w=
X-Gm-Gg: ASbGncvh6dxEpvROKz7lP7LsH/WzfhvRCdO6/0aqd328j8EmGmrFfG86JMdE5ZZeuNL
	DlxxEQWfVPRijLukyq2hWthQ5C8xa2uP+zq0EpFv8lxjNKc/GPElCKHiPn1/FT22xkJPtbSNVBD
	qu1xV2u7Foik+UqdcdPs90E8wwLbpUjfet4EUj/nMjgeKeA9vpATafE+ifadWzGUy7AboV7ElnO
	RMSsHDEVhk0ftT3ljc9rWNLxZYTjH6KCHu2y/AiYhmV4PzO071YZRVmuOEMkBHXTNWCi3umDfhL
	BOd5AF2nIta3SJFKD5F8MjBtl6PJNFqmuW+i3Ke20SiCZEJmjA==
X-Google-Smtp-Source: AGHT+IG8tE1mDvh/jNXUq39RbkqI8jyE0X+0F5WyrJq2L0/XE5ELIrUu/kEObGuqxpYOwlTvkKNGAw==
X-Received: by 2002:a17:907:d1c:b0:ac2:723a:670f with SMTP id a640c23a62f3a-ac3f2237bf5mr2008208466b.24.1742980903268;
        Wed, 26 Mar 2025 02:21:43 -0700 (PDT)
Date: Wed, 26 Mar 2025 10:21:42 +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>
Subject: Re: [PATCH] x86/PVH: expose OEMx ACPI tables to Dom0
Message-ID: <Z-PHJk8GT-y1NnHl@macbook.local>
References: <c9365d42-c15d-4d93-acd8-106ca46cb7f3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c9365d42-c15d-4d93-acd8-106ca46cb7f3@suse.com>

On Wed, Mar 26, 2025 at 09:45:09AM +0100, Jan Beulich wrote:
> What they contain we don't know, but we can't sensibly hide them. On my
> Skylake system OEM1 (with a description of "INTEL  CPU EIST") is what
> contains all the _PCT, _PPC, and _PSS methods, i.e. about everything
> needed for cpufreq. (_PSD interestingly are in an SSDT there.)
> 
> Further OEM2 there has a description of "INTEL  CPU  HWP", while OEM4
> has "INTEL  CPU  CST". Pretty clearly all three need exposing for
> cpufreq and cpuidle to work.
> 
> Fixes: 8b1a5268daf0 ("pvh/dom0: whitelist PVH Dom0 ACPI tables")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

> ---
> Sadly the commit above says nothing at all about the criteria used by
> which tables would want to be whitelisted.

I think at that point it was mostly an allow list that enabled me to
boot PVH on the systems I was testing.  I don't think it was intended
to be complete, but rather something that we would expand as needed.
There where many and bigger missing pieces of PVH dom0 when that was
committed.

> Further tables on said system
> which weren't blacklisted prior to that commit, yet which also aren't
> whitelisted are DBGP, DBG2, FIDT, LPIT, MIGT, MSCT, NITR, PCCT, RASF,
> SVOS, UEFI, WDDT, and WSMT. Even without diving into the details of any
> of them it seems pretty clear to me that at least some would want
> whitelisting, too.

I cannot find any reference about: FIDT, MIGT, NITR, SVOS and WDDT in
the ACPI spec.

The MSCT I think we don't want to expose, as it's related to topology
data.

Regarding RASF I would be slightly worried about the patrol scrub
feature.  The memory map exposed to dom0 will be different from the
native one, and there's also the interposed p2m.

The rest are likely fine to expose.

> 
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -1010,12 +1010,20 @@ static bool __init pvh_acpi_table_allowe
>              return true;
>          else
>          {
> +    skip:
>              printk("Skipping table %.4s in non-ACPI non-reserved region\n",
>                     sig);
>              return false;
>          }
>      }
>  
> +    if ( !strncmp(sig, "OEM", 3) )
> +    {
> +        if ( acpi_memory_banned(address, size) )
> +            goto skip;
> +        return true;
> +    }

I may have put this ahead of the loop, so that the goto label doesn't
go backwards (which always feels weird to me).

> +

I wonder if additionally we should print tables filtered to dom0 here:

if ( opt_dom0_verbose )
    printk("Hidden ACPI Table %.4s\n", sig);

So that it's more obvious which tables are not exposed.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:28:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927373.1330115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txN45-0000hg-Pr; Wed, 26 Mar 2025 09:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927373.1330115; Wed, 26 Mar 2025 09:28: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 1txN45-0000hZ-NE; Wed, 26 Mar 2025 09:28:49 +0000
Received: by outflank-mailman (input) for mailman id 927373;
 Wed, 26 Mar 2025 09:28: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txN43-0000hT-NF
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:28:47 +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 b7661999-0a24-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:28:46 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4393dc02b78so47086365e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:28: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
 5b1f17b1804b1-43d4fd9ec29sm175493175e9.30.2025.03.26.02.28.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:28: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: b7661999-0a24-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742981325; x=1743586125; 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=lLezJDfb6wlt+VE8qyc+JEwTLurnNBYVVv4E9BTkDE8=;
        b=PFXrHJ6K7UfGrokjC3LPJSv0259P1xkl27ZlpsNt8rxneS1yXSwNEY2HG9mqxF59QY
         LUCX/PYEpUYE6IEOhLTXjVQa763Gd/BFpGEdsvywyWxzdO1a8x9aeFF06p5lxrgUwoPD
         DQrFmPzMUu8g6YGPDm0HK+NbRtfgS52ejvVEfff6Bkm2jg/Id1V5TrvGs73eVAs15fab
         G9sWxbydi0hbp41Et3x73CQJ1t7WoeoOvK9mv5HN1W/Dj+/owX0Yv+6SgdkHKDTFILvk
         VjfpAdooTtmQYoAjDa3XQ/q7GBwFQZlOPlt0tZqcMPWMTzHZU5E2FrQHV/nHMaUsu95e
         KyfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742981325; x=1743586125;
        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=lLezJDfb6wlt+VE8qyc+JEwTLurnNBYVVv4E9BTkDE8=;
        b=JjE6DUpINQk9uOg2bF/a0A2HR3KrFbSDu4ZoV8ATAN048Aam0yjsYBzDCTCSmp0ylx
         yjwyNNk7bRe7Q3lnNmVx4r+TJovcEEaEo6f8trChkgo9gN1xmBS2BCHP0e0vxLM3bajO
         j9Lbpc10cd4QGinRXd7CDZtbZ3JuvNvdeWq6NQ/g3EJuwFnFLOU7yqNXihkCQ9X9jAEQ
         iKhBQMJzlHlaCnUlewkG41m5JRiN8KSgRCWsJHn+yZ4FaxkwBOoENmvAyZ+pUj1UJA31
         1NuyHmA3QOQlvKkFPMCThSqpAPKjtL/wRrLE6jLMN/46jPu3P2g0wBAQMpiWZw8gpQDv
         b9mQ==
X-Forwarded-Encrypted: i=1; AJvYcCUwzRYuUgk+DIHIOxG6AMmLqOtn9H9QYpYuY9jaLrWbNQXAvvQCr8C1tOHGTLX7jyrNKoPbBBwHEfM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyS6ky3a6a0sqMu2FARlLZxPJMiRCvLpUKzsiQF5gPx4x4EPjc1
	TtHSUGRysYc9Kp3uuAE2vxlU4THd4WAbUbu6t63G9tw6IpDuPv7P6iFU6fKvjA==
X-Gm-Gg: ASbGncvoG3A5EUC5ldXCVQZEn1DcEiOYv4kr3BWW89pMfv2JsVaARKHGZwykZaqDZJM
	OJ9m28iNJFzWKI4edicXE6ljkVTsqrK1TtWmvT2fdEAL+8noeHlgo4arrXEIrXLaLcBGu856OQc
	Wuw0010gh5J9QmApKPXOb8ptnojWvymV50Nda9ad848MCX5Xbnvg6aHoHazf63enh0UH4c3Xwdj
	EhzYHdLPQXuaA+/X0gjr6o3f7uQNatkqdsCtL2RP3dM2/z4sBBpRIc3HufrjZZf5/dIMIQKfnqT
	l8G3CVthGpXM1VEdE17hL7UGinOvl89ieLtxZ1/iUnO8mTpJYK9ZgwJdcFboyB83ml14nsHFOSk
	eYlMTQkjHHkPAwYMc3PcI4wndLnSRdA==
X-Google-Smtp-Source: AGHT+IEgAE2EDb2/urRVuy6zKDqX3FNmt+oWa6d8dIx/5jMqt7A8p5wsDuEZElsXKYWaWFtpDeY05w==
X-Received: by 2002:a05:6000:2103:b0:391:2954:de27 with SMTP id ffacd0b85a97d-3997f93c2b0mr14045035f8f.45.1742981325528;
        Wed, 26 Mar 2025 02:28:45 -0700 (PDT)
Message-ID: <45ddac7d-a8cd-4bf0-91ee-83d266628cca@suse.com>
Date: Wed, 26 Mar 2025 10:28:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/elf: Remove ASM_CALL_CONSTRAINT from
 elf_core_save_regs()
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: <20250325180005.275552-1-andrew.cooper3@citrix.com>
 <ae306524-bc22-450e-88d6-8c0785003e17@suse.com>
 <1a01a590-acb6-4b6e-9fb9-3af4deabb4b5@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: <1a01a590-acb6-4b6e-9fb9-3af4deabb4b5@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.03.2025 10:17, Andrew Cooper wrote:
> On 26/03/2025 9:00 am, Jan Beulich wrote:
>> On 25.03.2025 19:00, Andrew Cooper wrote:
>>> I was mistaken about when ASM_CALL_CONSTRAINT is applicable.  It is not
>>> applicable for plain pushes/pops, so remove it from the flags logic.
>>>
>>> Clarify the description of ASM_CALL_CONSTRAINT to be explicit about unwinding
>>> using framepointers.
>>>
>>> Fixes: 0754534b8a38 ("x86/elf: Improve code generation in elf_core_save_regs()")
>>> 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/include/asm/asm_defns.h  | 5 +++--
>>>  xen/arch/x86/include/asm/x86_64/elf.h | 2 +-
>>>  2 files changed, 4 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
>>> index 92b4116a1564..689d1dcbf754 100644
>>> --- a/xen/arch/x86/include/asm/asm_defns.h
>>> +++ b/xen/arch/x86/include/asm/asm_defns.h
>>> @@ -28,8 +28,9 @@ asm ( "\t.equ CONFIG_INDIRECT_THUNK, "
>>>  
>>>  /*
>>>   * This output constraint should be used for any inline asm which has a "call"
>>> - * instruction.  Otherwise the asm may be inserted before the frame pointer
>>> - * gets set up by the containing function.
>>> + * instruction, which forces the stack frame to be set up prior to the asm
>>> + * block.  This matters when unwinding using framepointers, where the asm's
>>> + * function can get skipped over.
>> Does "forces the stack frame to be set up" really mean the stack frame, or the
>> frame pointer (if one is in use)?
> 
> What do you consider to be the difference, given how frame pointers work
> in our ABI?

My point is that frame pointers are an optional part. Sufficiently high
optimization levels omit them by default, iirc. And depending on
CONFIG_FRAME_POINTER we may explicitly pass -fno-omit-frame-pointer. Even
in that case there is a stack frame that the compiler is setting up. Yet
in that case the effect of ASM_CALL_CONSTRAINT is not relevant. Hence
also why the construct expands to nothing in that case. The comment,
however, is placed outside if the #ifdef, and hence applies to both forms
(according to the way I read such, at least).

> It is the frame pointer which needs setting up, which at a minimum
> involves spilling registers to the stack and getting %rsp into it's
> eventual position.

Right, and all I'm effectively asking for is s/stack frame/frame pointer/
in the new comment text. Then:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Alternatively part or all of the comment could be moved inside the #ifdef.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:34:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927382.1330125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txN9s-0003gd-Dq; Wed, 26 Mar 2025 09:34:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927382.1330125; Wed, 26 Mar 2025 09:34: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 1txN9s-0003gW-BG; Wed, 26 Mar 2025 09:34:48 +0000
Received: by outflank-mailman (input) for mailman id 927382;
 Wed, 26 Mar 2025 09:34: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txN9r-0003gQ-Hf
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:34:47 +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 8e5b4792-0a25-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:34:46 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso50055965e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:34:46 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f556a4sm227515815e9.22.2025.03.26.02.34.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:34: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: 8e5b4792-0a25-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742981686; x=1743586486; 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=nwcfmviDfc9HYBYFyoF0Thsj//TBc1EObkoKzxW+X70=;
        b=ldloEQzyAB5zHPHTPWXncm77nHtzN20t+7SGZ53Gh+JJYha2/quHZo8y5RkI5e1XCq
         tRIQRTcyILvAeUOqQ6mQ+sbtASALX16UCxJDx7EA5QcJGA/gOZNVr7+ymiYDDcoJbE+k
         s+fSKMZnJ/DU31vnoGBdDHKhF1Q340xYiW1yA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742981686; x=1743586486;
        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=nwcfmviDfc9HYBYFyoF0Thsj//TBc1EObkoKzxW+X70=;
        b=bx8l4eJQevw0tRFYz6AqM0/iDd2UFiKzUEJMJ31XybWn3znGjD7v53XO/h5wnw/exC
         lf72NKj3YW7GZZbLummyVmYW/42KdEJHKoss/JqrEFTKrJn7Xr7jiVUn3YMDOCDPz4vb
         KQucLvRxAVUvhKmMMUuuDp8yHHjhP2gBDGPjht+xS5WC1j13BKr76LNTDTOav4+5JRa5
         JREdFqM1kW3qlm7bhZDM9QvG2Q4Eb0O/VMQNbOizQ60a8sMvEp3uOT9NCeMVlqW4K7e1
         eoJT5ItGty93YGdTFvfRAgxJDK0XkelvcEGhto4ZvnmQU4K13TmDP9TxqSoHYSuTWLvv
         xyfA==
X-Forwarded-Encrypted: i=1; AJvYcCU71HYrk0PJtVe1ITJg1XjHVpZXKoBmc66n4Vqdzjrlzvu5zQ08PewdHD4CmEX6JTdbqUTPOOsf21g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkTDvZ18mCKTLIi0i9vqqk06X/KN/3xmq+Lqf+0I9yK+dYvzd7
	tR1GzBK5uLeIrqOFbGYM5kX+gJ+uRsBrFbirENLU60WmmPLP4z8PGR/Y01KYOK4=
X-Gm-Gg: ASbGncuezX/hXz3j4B+0/gKQKLKlPQstVEZVpSsFRx6g7bo8ioDxuvQChCz14wnkuyS
	J2XXuMgWQ72E3AUgRFcDeNJ0JioAvq0FybwBovUbcjfFWmgNEjcl49bl9TYb/6+7fN97mAwZYvj
	WL781NdhroDOl4mxKxm/OWBoDYjRWvZKoD81IBdeTwsJTP05QXtxaPZbvFnu6072onbjfXPoOYR
	YCCzVqBA+1KWKgLj2fJDutTkY9Q/2EQuEvqryFO0UktIYXxLFO1lC+rmCpA+3LEMGlpxkgO4hr+
	ADffsBob1fs1u/2ZOxYd4xO+k7mHN0ELXDyPoAX9swJFWXaDIFHZcRsalLoqyD9Z4q4+g/m7Ax8
	ifg/Nejel3w==
X-Google-Smtp-Source: AGHT+IEGxOsLkuKpWZAx7NzTXS9XUQiUd+UK/tTMpfTBIzDZwHxySQxKAcZWTO04x44xUF/ZcVZOBw==
X-Received: by 2002:a05:600c:1d8f:b0:43b:ca39:6c75 with SMTP id 5b1f17b1804b1-43d509f44f2mr212746085e9.16.1742981686086;
        Wed, 26 Mar 2025 02:34:46 -0700 (PDT)
Message-ID: <a57c2ae0-2c9f-4fac-9ebb-a570f0f2cabc@citrix.com>
Date: Wed, 26 Mar 2025 09:34:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/bitops: Account for POPCNT errata on earlier Intel
 CPUs
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: <20250325185219.315319-1-andrew.cooper3@citrix.com>
 <56fbd614-2b46-4cc2-88f3-e244aedd5479@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: <56fbd614-2b46-4cc2-88f3-e244aedd5479@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/03/2025 9:20 am, Jan Beulich wrote:
> On 25.03.2025 19:52, Andrew Cooper wrote:
>> It turns out that LZCNT/TZCNT have the same input dependent bug, prior to
>> Skylake.
> These two do, but BSF/BSR don't? Pretty odd.

BSF/BSR have true input dependencies.Â  They both have cases where the
destination register is left unmodified.

>
>> --- a/xen/arch/x86/include/asm/bitops.h
>> +++ b/xen/arch/x86/include/asm/bitops.h
>> @@ -488,10 +488,16 @@ static always_inline unsigned int arch_hweightl(unsigned long x)
>>       *
>>       * This limits the POPCNT instruction to using the same ABI as a function
>>       * call (input in %rdi, output in %eax) but that's fine.
>> +     *
>> +     * On Intel CPUs prior to Cannon Lake, the POPCNT instruction has a false
>> +     * input dependency on it's destination register (errata HSD146, SKL029
>> +     * amongst others), impacting loops such as bitmap_weight().  Insert an
>> +     * XOR to manually break the dependency.
>>       */
> With this being an Intel-only issue, wouldn't we better ...
>
>>      alternative_io("call arch_generic_hweightl",
>> +                   "xor %k[res], %k[res]\n\t"
> ... put this line in #ifdef CONFIG_INTEL then? The extra overhead is small, but
> I see no reason not to avoid it if we can. (I realize that's not quite as
> straightforward as it reads, for alternative_io() being a macro.)

For an XOR, no; not worth the complexity.

Besides, this gets used a whole 5 locations in the hypervisor, after I
cleaned up the paths which shouldn't have been using hweight() in the
first place.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:39:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:39:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927391.1330136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNEC-0004Fz-V0; Wed, 26 Mar 2025 09:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927391.1330136; Wed, 26 Mar 2025 09:39: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 1txNEC-0004Fs-Rp; Wed, 26 Mar 2025 09:39:16 +0000
Received: by outflank-mailman (input) for mailman id 927391;
 Wed, 26 Mar 2025 09:39: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=a+/s=WN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1txNEC-0004Fm-6S
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:39:16 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062e.outbound.protection.outlook.com
 [2a01:111:f403:2415::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a611d94-0a26-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 10:39:09 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by SA1PR12MB8163.namprd12.prod.outlook.com (2603:10b6:806:332::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 09:39:06 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 09: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: 2a611d94-0a26-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XQLqiFx0cFtP6ur5HPuV8x6VtrxdIPo21+QdE2IdiQTHJsNEcXYy0xnXk/MxDSiluFc8uer29ejX1t2e9xB1g0xM51tek1OR1uhzIVXL2fc1uvDZJ3uvoB8M2b9SxOeJUmbA/Cq8q2IOLKGsO4KsOH2r6Yeo8sUPVQbsTLp83qOMFPcxIQS7MQ6G9fHCOrxu7XSpMCKNGddhsIReQkg+9bp9vBbpb4N2qD3i7+ViyQ9IuaNG3uU9mCf5Lfw8uRLv5BoxKDWOJWvZR3UyKvGx0K02ceTsT0XCJmQTO1i/+FjXtugil3WiTkFc6CO0SOrW+dCGUPLSznrc1us+izCr+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=7DstXOYdcYX0FnEIar3Xz4RK1/wuv11/KK9CpY6UzZ8=;
 b=wcSWtjFhy37yg9IT2V44PS0PTW7oGUPUwymZEYsQgRijuJStAcNAdma7Kj/i/RZr/rebP+zirSfV410myCbA9OMA2peoJ6RYGWj26BCl9HbdCSlqKFQ47a1Plsk7ASL+opXa/tjxB4d5m+nixGiGbJqpA5zksUPB4g7/d8s8IMK+lJtWyYAGqd1sheqXTX5ioWxtlZdlLHduc4ykICFjbyjgb5RFxNAK8KnV1hWIicPByG9zQ05709KGqNZyB/oY/5gjj0LXT/8zP5mPvZG57G5qTh6zPDENWjrTZPvj9c9uU1Cl8wUS94m7yy3Vctw19/7QMwBiPFLWP9BA33N4qw==
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=7DstXOYdcYX0FnEIar3Xz4RK1/wuv11/KK9CpY6UzZ8=;
 b=woq9Z2WQpNr78DK4g7uW6UuylOUDImmWkpgwgCw2qfm6nzKvNGQyP7I0dw3n+pYG0O97+rTfQ6vPp7IEZ9lXhrczQnEkn7Av/t9bSCxyTlbVJ+xlIZlvtdruy+Ez/jM2ZiM5KJeNQxeSTQ50XMqJbP2O/RNed9rgwDa60LE/KzI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com>
Date: Wed, 26 Mar 2025 10:39:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
 <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0396.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cf::10) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SA1PR12MB8163:EE_
X-MS-Office365-Filtering-Correlation-Id: a9279b46-997e-49df-1a2d-08dd6c4a0d30
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:
	=?utf-8?B?UHQ2dGxRNkFwaHJ4Uy9BVHVldEhCb3Bud3Q0T3JzQU53cDNiclVIZWI1dFMw?=
 =?utf-8?B?WXcvdGFFTTlia1gybTZjeFEwc3RITnFneUhoNFlESG05MjBLOFd5V3l2OWRw?=
 =?utf-8?B?Mldac1hndTJVSWszNU05YW02aE5pYmNhYUpLZnZxOXBQMERNdjY1bHhsWGpC?=
 =?utf-8?B?ZHM3c1JmbFBJMEJvOW43dTBkRzJrOUxXb1FhK2FZZHN3QzVDcFEyZUk3M21j?=
 =?utf-8?B?Rk43WHlrRFJuZ2s5LzZlMkJuY0IvMDRPZy91OWtJU1RScCtYZFhuRnc1dk9E?=
 =?utf-8?B?Kys0MGdLOHBON0g0ZHBOSi9SSW1vMDF5M3RQN21Oem1ITGdJdlFzQjZyT1N6?=
 =?utf-8?B?a2JLODZMTUZJaURHanJNckZEelQ0SEtEclBpUThDY0ZLVDJDYXp6NFZXdnBr?=
 =?utf-8?B?ZE02bjNNbUE5SjZPSXJhdndIVVBBR3dtanNndWhNZTNUbDMrZ1lnWWh2dHJ0?=
 =?utf-8?B?dEVyeUZLMS90UnVjQ2owcVl6MnZGclhMR0JIdHkzSDRnMEs5RDg4b25PNFJK?=
 =?utf-8?B?Y0N1MHduZEZpSHRlakkybHhjTkJZQm50Y083MldESFNQM0puUDZOc0o5dUVx?=
 =?utf-8?B?SWtTaEptRWJDN1NyejljRGY4TnJ5TWdDSU5UMFh0VUtMakx4dHl3Q1VwNWJZ?=
 =?utf-8?B?RFB0eFlpZlBvRWlaYWtNbEhzY1h1Y3hJUzFSZUd0dEV6TnhCY29KajY3bWdQ?=
 =?utf-8?B?blk3Mi9LYUN0dWRHQkhrb1BpVnk2TzIzOXpxU0xkbGQ3djdmYmZ3WVRMbnNQ?=
 =?utf-8?B?WmttTjBHZmh6aXRTY3RLMTk0ejZKaktjK2l1NjhmMC9UY3FZdEpTK1ZBQU00?=
 =?utf-8?B?UStCTHlhc2FTdWRnMFpNajdzTVlrMU8ySUJrTXhnU2VKSE5aVlU2TVdxKy9E?=
 =?utf-8?B?L1UwRDEzQW1oR1NEMnRDZTE4VmtEdE9uYzNDOHBuR01POEtjT1RvZnFUTWl6?=
 =?utf-8?B?aS9zcG02Zml0TE1RWVBBbXlQZ0lqSnNxdVMvRzRWcTBtS3dqNW5OSS9qbTdE?=
 =?utf-8?B?MmtkV2xXRm01SjA0bXQzb0FSUnBJN3RIYkptS0lpMU9JM3BvR21HR0JmSWNR?=
 =?utf-8?B?dGxaN2NHUW93UUpldFpCdzJJelFhc3h3R1dySkV3SE5kYlpiRE02ZisxejhM?=
 =?utf-8?B?YVlLejVRcmpqLytPZmM1NVNkMVczckRNMEpIQTlybkRVSC8yMTUxVE5OOVZn?=
 =?utf-8?B?SnZFYklNZHBrZWw4WTJ2azNwNDN6Q01VQkY0cmZTbkZEdHQwaEN1V0VUT2Nj?=
 =?utf-8?B?c1FidVJoSUpvelExK3FpcFoyTjNWRjFvU2pOaGYvSDlPVU94MCt0Q1F5MUV0?=
 =?utf-8?B?KzFhaDI4dEgxSG9SbGIyUEwwajNSM1djZmJ5Sit1cDFLRW9zZnI4VTRPQUI1?=
 =?utf-8?B?bzdGODc4VUNZQnFvYkZ4RXpxMW94SGRObVh2enl3WWhCTU16Qmk0VDc1OENG?=
 =?utf-8?B?MERtYkZja0diMFJyVlVaV2xMSm4rQjFGWHNMS0w2eDVRWHpRaUEyT25IU1oy?=
 =?utf-8?B?Rm04Y1JMZEFVVjR5dEpNUWw1Z1ZkM2ZxdnNLK3FyTHZaMkVqODhWSUVDU0xM?=
 =?utf-8?B?YzBSd3FQZ1NxQjdvZjY3VE8wMU1aV0EvbEJ5VXp2R25XVXZ0UHVEQ3JKaHBW?=
 =?utf-8?B?QThYWCszMXFoZTV3Q3ZrcjB1a2l2SzRRamt1Snl3bXBHNXdQdC9uMHczN2xI?=
 =?utf-8?B?N2pmclc4VnpoWDB0RTNONEFCT0lyUU40bExHSWJIU1ZndCtzRWF2eTRuYTY2?=
 =?utf-8?B?SUxjSDZtMXo1dUdLanZReXRlbmlBWDlYTlVzMDBhVGRuZjQxenFYbGdYaCty?=
 =?utf-8?B?L3l4VzRzUmxMaVVjMk9TVHQ5MnFXYWlZTW41RlV4c1dYL2FJeG5NN2xDZklw?=
 =?utf-8?Q?XhzJqPIWcL022?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.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:
	=?utf-8?B?UjlIOXlKRWRHakR3MlkxTi9aYW9MMTYzOXR4U2U4ZUQzNjZ3Y01Majh6K0Yw?=
 =?utf-8?B?VGpXK2o4UmhFZE9oejBlVHJSN2N0ZEZ2aDJmVFQrVXUySFpOdDE1M21IWlIv?=
 =?utf-8?B?dEdvZ0xLOTJmakJpZkNhbmRuV210eHVoTW1Hc2Rzbm5yelJHelNSK2NPdmwz?=
 =?utf-8?B?ZUNYN0Y3NXhEK0tsUXljS25UbGgrcHFnUmxEUk1IVXJXZks3QkNtYXVYZExX?=
 =?utf-8?B?RGpNUnhvWitCdkxBQTNBNmVLOXAvam0xaFNOYUFodXpZRVcxS1QwUnRvNTJ6?=
 =?utf-8?B?Tkx6V25tUVhyeGc3ejE5WGxER2Q1aGU2UFA4dnlPVWRqTWdac3F2Q0pkUUEv?=
 =?utf-8?B?QzRIYzVCUStwOFJmR1hxZFNreHdiUVJ0eVg4ei9OSnNnWXBTTW5HZE11TFZK?=
 =?utf-8?B?c2hUeldtSUczUm9MNlFUREZOQ3Y2c3RrQ3Q0eDdYeENCcFVJQXpQdmp1RXQ3?=
 =?utf-8?B?blVrbGhVVGpDbkxLMzNEdk0wTktUT1QzNndGbkNzRlVXak1FcFVtaFUveEp5?=
 =?utf-8?B?bVBkcDk5MnN0VFBSUm9ubHlqL3oyQjFTckxPT09zdTRkOEk5Nk1PbWdXU0Q5?=
 =?utf-8?B?NDN2Vk9UTVFqTTZvWDVES2pHUnA0R3ljVHZsSGdITUJaTGp4RFVtMGNoSmZj?=
 =?utf-8?B?cTRpYWVpUWFQL1Z5YmJtUjgyTDJLdFVsbzRjd1h3aVl3Zk5oLzR3QW92Zk1w?=
 =?utf-8?B?eVdwNkttMjZzYTRXeG5MK0FublhITzhVR3ZuOFBQUWdSbzRzYzk1UTA4TFdv?=
 =?utf-8?B?d2EzS1crUmRFRUUwSnhmME5sbFRjTjZaQU1zeEFLbGlqSDlrSERtSlA2R0k1?=
 =?utf-8?B?VHZYMk9DUnJvMDZDL2ErUkEvSWNoeDJVZmdTQmZ5cFF1TERLVURxbU9aZi9u?=
 =?utf-8?B?UHVhYjBqa0huNGxDOW83bjM1WklsdG9hNFZlU2h6S243bVBjT2V5TWZLcGoy?=
 =?utf-8?B?NTUvY1NZMERhNSthVjIvb2UrWk9CMGhINEozWDZZT09Nem9nMm5ROUtYa25Y?=
 =?utf-8?B?dG5pZ3lpcFNUZ2JJcFI4KzJHL0dKUmVqdCt2VUo3K2lkNUVZRXMzUTVYTGg5?=
 =?utf-8?B?NFVQUjU4MzdOSlg1K3cyTXE5RmRmcnk0SXBDdldvSUh1V3hHajBwaXQrOC9L?=
 =?utf-8?B?TWNUMTgzVzE5Qjh4QTlZVkdOQVQzUWQyTEdzb01uOTZKa29HM0JRM2R1YlVY?=
 =?utf-8?B?em05Vkt1a3pKdnhGV3ZHN3I3YldIMUdTN0xGS2xVZ1p4STRwYmtmRUpsVjcx?=
 =?utf-8?B?cDhGeHRhT3M3TFNkVXNjOStBeUdQbWJuYzM2c0ttalNWZmlNUFlvMzFKVWt6?=
 =?utf-8?B?MkJhcEZQREk4MHVHNmpBY29MMk9rZFJkNXVKamJPQmJsdWFZUkdCSVM0Umxy?=
 =?utf-8?B?bVF3eEpiVXkrYkExSjI3dUlMaFVqMWg1N3ZQWEpnK2Y5OHVFbEU0dWw4K3gr?=
 =?utf-8?B?VnBxeEFHRGlRQ3QwamJHcU9id3dxT1Zid2dTZ0VPSDlqeW96VnpwdmdOMU9C?=
 =?utf-8?B?d3IvY1loQzdSeWxlQWEvOHI1eEVPRC9UN0RrUmdhbldxTkpvNHFHUEZqNjdi?=
 =?utf-8?B?N1ovdERiT280cU56dDZQUlh0R1Q3Q0JTaXdVMEt6eUxXRmdnWjBENmNtbGdy?=
 =?utf-8?B?THM1cjJTRlZDZmdrbmdWWHJ0ZkkrTUFwY2FVT1VCV2ZsRFprbWJsckYxYWxs?=
 =?utf-8?B?RDZnbGdmL09LcjhTZkVYSEFNT3BreTlRMW9qb0NXRXA3Nm5CeFBUanF4R1dI?=
 =?utf-8?B?bENOdDllVTgxSnNrZklGU2VEUCtzQ09SQU5QcEJLSGRrS2pLZ2ZGTXdPU3kz?=
 =?utf-8?B?UWNCbFdPMS9pM3N6YmQvYm5WNUNWb0NWQSt4eXNOd1lTcjZnQkQrNk45RmdT?=
 =?utf-8?B?RC8yZDlYQjBFTklGMWp6SWNPYW5QTG01YUVYbVphS3E5UXh6YUU4QnV2QktL?=
 =?utf-8?B?YXhuYmYxYXpjZFNZbXhzSXVIa1VWMDJDUzBQa1V2WjJadjBWQ05nR29hZWNh?=
 =?utf-8?B?T2lvdFpGYWNiVTNqcVloSmhTL1lnd3A3UlJKVnYwdmVVVTUyUkZaek04RHRm?=
 =?utf-8?B?Szk0dDEyL0dQVDRsWThQVFdMT0ttSEdTbXJ1emdrZFl0U2RjOGhuOC9MN0xx?=
 =?utf-8?Q?O7B+/QcgU5/PdbLQNM9plYdrH?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a9279b46-997e-49df-1a2d-08dd6c4a0d30
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 09:39:06.3560
 (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: W/E8avTuCtT7amZLnpluehUWYu/rEwhyIcPAtCegiKdDvOIYCY8jDI5cW73o6nmb
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8163



On 20/03/2025 08:32, Jan Beulich wrote:
> 
> 
> On 19.03.2025 17:31, Oleksii Kurochko wrote:
>>
>> On 3/19/25 12:35 PM, Jan Beulich wrote:
>>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>>>
>>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>>> mapping table at most takes only one 4KB page, which is enough to
>>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>>> translation and EL1 stage 2 translation.
>>>>>
>>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>>> MMU systems, x86 and RISC-V.
>>>>>
>>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>>> the former function with #ifdefs and improve readability
>>>>>
>>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>>> with !ARCH_PAGING_MEMPOOL.
>>>>>
>>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>>> field is not required.
>>>>>
>>>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>>>> ---
>>>>> v3 changes:
>>>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>>> v2 changes:
>>>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>>>    - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>>>    - do not define p2m_teardown{_allocation} in this patch
>>>>>    - change commit message
>>>>> ---
>>>>>    xen/arch/arm/Kconfig              |  1 +
>>>>>    xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>>>    xen/arch/riscv/Kconfig            |  1 +
>>>>>    xen/arch/x86/Kconfig              |  1 +
>>>>>    xen/common/Kconfig                |  3 ++
>>>>>    xen/include/xen/domain.h          | 17 +++++++
>>>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>>>> For RISC-V:
>>>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>>> were added to address some build issue, not because they are actively
>>> meaningful?
>>
>> Only because we have stubs and not to have redefinition compilation
>> error. And, yes, they are not actively meaningful now, at least. I am
>> okay with not enabling of this config for RISC-V but then seems to me we
>> have to drop stubs in riscv/stubs.c. ~ Oleksii
> 
> Well, I don't think it's "have to", but I agree that dropping them would
> make sense then (and be desirable).
@Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
question does not seem to be answered)? Other patches in the series are ready to
be merged.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:45:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:45:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927402.1330145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNK7-0007Mg-LX; Wed, 26 Mar 2025 09:45:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927402.1330145; Wed, 26 Mar 2025 09:45: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 1txNK7-0007MZ-Iv; Wed, 26 Mar 2025 09:45:23 +0000
Received: by outflank-mailman (input) for mailman id 927402;
 Wed, 26 Mar 2025 09:45: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txNK6-0007MT-7u
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:45:22 +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 083ecf58-0a27-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:45:21 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so3500112f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:45: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-3997f9955fbsm16168155f8f.5.2025.03.26.02.45.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:45: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: 083ecf58-0a27-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742982320; x=1743587120; 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=YFHCbk4beyjRveupEah0jIYxfPLznuiZK5A/86Hhkfc=;
        b=eMp4U9hW0aaOJUF5+lRIsjt074p1qiQirGT8VLxoNG/RETPTEqRgu+193HiTiVb14q
         LdWz35kNBKUYrvrhnK2gHNJwl4JskgcN+yt4egmmjxLb5d2fZDR5CzedTcSHdNzLWr/J
         E+JlakwjSdqW92DOGrPCe5Vv+2ZlYD3cg8ZDS85SfklQjJBlaSCYqxa/hk3AS4JPN/zX
         DejkbGrDvyD6qoWcAzQALii4wrMCV2VBvmtGtzRj256dT98vB6Q4AqE29dufH+HspWzW
         mUcRM8CyruXpCwUuhOme5hiyUDu4U+DMk4ZNh4YNRqU6XG0TCA/cXaWCdOQzdRGT1veU
         F4SQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742982320; x=1743587120;
        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=YFHCbk4beyjRveupEah0jIYxfPLznuiZK5A/86Hhkfc=;
        b=HFk4bMTzwC5djBnr99Rx79YgYnM0NdJlXyqyM7LmKr5H4xtkFhJhI+4rKmM5Ir1K+i
         U1DdobrK6inWNwrq8hOImoSy/tmidDv+fRQgXOkI9JxfIvXEcxGltwjJQQWFELTvR5DX
         hTSd3RJUNkGFp6rQU2BBHa5CqmwtYC5nCReh4fDk+SclZN+fpolY1qCE2aKel7bOq+zl
         0LFwWeiAam/1g0rhNFd06Enr7zoRdNedx9i7T/f2ILHSNv0jJ9ws/KEGhhftyX3RIALp
         KY8Dw38jfVg4solUCjlAk5iVNHruZIRHTGdGxmNK+uN242MqqbQLLdrtOoKYw7dKutWa
         EWtw==
X-Gm-Message-State: AOJu0YxXHvnJt12ha+mZbWR2OeoY7QQgHoKcbA5tv9xOaKBtxoOk7rVG
	fmQ34E8VfBfJ+tCJGEWtH53WV2CeeJ/PefMDQkcBOyrDwQrVCJPCcahzQemDYA==
X-Gm-Gg: ASbGnctTfQfUua4iDd1Eb6+g/NaTNRYMCcqewAQ0ysTQPG9J3OFfLAI7fDdpHa6PG+5
	MLP9jtvk860mZf6NtWm8UD5q3+RGWvjs5u8b7ckEvt4mqRhERMF9MLyyPg7jB9fgP3OJ2VhcwAM
	p/isra7smM2Th36KtFDw9s72Q0QHJgne08a9J+o7Cm+E3zJ01TMajqXG2p9zpkWP8pumpMg/Nua
	pRtNBmgh4SipC/uC/Ld3QmjslsyR9oYy/Avv7yXpS7I1mjpr75zGiM5Yz7ttWCTD8FdwDuVI5pV
	O8j/bfm2u5t6xJkPbCIUFr0HAL6y/uFnFzlgWIub0ialNcpaaV1byMAca5ubL9cy9crd5XcePob
	FXhotCFdcdF/seeUInQnaYg234Yn1gD/fb9viNQnz
X-Google-Smtp-Source: AGHT+IExyjGivCnmQcKfZm/Af4J1LwEgEhABnxzbK1PmlGq59TEeTQT7rf24W94Sw1UxSEQkJSp+Xg==
X-Received: by 2002:a5d:6d08:0:b0:391:3261:ff48 with SMTP id ffacd0b85a97d-3997f92d06dmr20316139f8f.35.1742982320133;
        Wed, 26 Mar 2025 02:45:20 -0700 (PDT)
Message-ID: <59685c88-44c6-43fe-9f6e-1121d51fd76f@suse.com>
Date: Wed, 26 Mar 2025 10:45:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PVH: expose OEMx ACPI tables to Dom0
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>
References: <c9365d42-c15d-4d93-acd8-106ca46cb7f3@suse.com>
 <Z-PHJk8GT-y1NnHl@macbook.local>
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: <Z-PHJk8GT-y1NnHl@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.03.2025 10:21, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 26, 2025 at 09:45:09AM +0100, Jan Beulich wrote:
>> What they contain we don't know, but we can't sensibly hide them. On my
>> Skylake system OEM1 (with a description of "INTEL  CPU EIST") is what
>> contains all the _PCT, _PPC, and _PSS methods, i.e. about everything
>> needed for cpufreq. (_PSD interestingly are in an SSDT there.)
>>
>> Further OEM2 there has a description of "INTEL  CPU  HWP", while OEM4
>> has "INTEL  CPU  CST". Pretty clearly all three need exposing for
>> cpufreq and cpuidle to work.
>>
>> Fixes: 8b1a5268daf0 ("pvh/dom0: whitelist PVH Dom0 ACPI tables")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks.

>> ---
>> Sadly the commit above says nothing at all about the criteria used by
>> which tables would want to be whitelisted.
> 
> I think at that point it was mostly an allow list that enabled me to
> boot PVH on the systems I was testing.  I don't think it was intended
> to be complete, but rather something that we would expand as needed.
> There where many and bigger missing pieces of PVH dom0 when that was
> committed.

To be frank, with that it was premature to declare PVH Dom0 fully supported.
This aspect also isn't mentioned in the caveats in SUPPORT.md.

>> Further tables on said system
>> which weren't blacklisted prior to that commit, yet which also aren't
>> whitelisted are DBGP, DBG2, FIDT, LPIT, MIGT, MSCT, NITR, PCCT, RASF,
>> SVOS, UEFI, WDDT, and WSMT. Even without diving into the details of any
>> of them it seems pretty clear to me that at least some would want
>> whitelisting, too.
> 
> I cannot find any reference about: FIDT, MIGT, NITR, SVOS and WDDT in
> the ACPI spec.

WDDT - Watchdog Descriptor Table (Table 5.6 in spec version 6.5)

> The MSCT I think we don't want to expose, as it's related to topology
> data.
> 
> Regarding RASF I would be slightly worried about the patrol scrub
> feature.  The memory map exposed to dom0 will be different from the
> native one, and there's also the interposed p2m.

Thing is - either kind of Dom0 needs to have a sufficient level of insight
into the host memory map to support memory-related RAS features. Which may
mean that RASF may only be exposed if the Dom0 kernel declares itself as
aware of the need to consider data there to refer to a separate address
space.

>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -1010,12 +1010,20 @@ static bool __init pvh_acpi_table_allowe
>>              return true;
>>          else
>>          {
>> +    skip:
>>              printk("Skipping table %.4s in non-ACPI non-reserved region\n",
>>                     sig);
>>              return false;
>>          }
>>      }
>>  
>> +    if ( !strncmp(sig, "OEM", 3) )
>> +    {
>> +        if ( acpi_memory_banned(address, size) )
>> +            goto skip;
>> +        return true;
>> +    }
> 
> I may have put this ahead of the loop, so that the goto label doesn't
> go backwards (which always feels weird to me).

It felt odd to me to put it first; I'm almost always hesitant to add stuff
to the front of something that's already there, due to the possible
implication of "what I add is more important than what was there before".

As to label vs goto placement: It's the other way around for me. C wants
everything else declared before use. Hence I prefer to have labels appear
before their use. I'm actually puzzled by Misra not sharing that view,
and instead having Rule 15.2 (which we haven't adopted yet afaics) to
demand the opposite (and assuming Rule 15.1 is being violated in the
first place).

>> +
> 
> I wonder if additionally we should print tables filtered to dom0 here:
> 
> if ( opt_dom0_verbose )
>     printk("Hidden ACPI Table %.4s\n", sig);
> 
> So that it's more obvious which tables are not exposed.

I, too, thought about that, but assumed it may not have been done before
for a reason. Plus it would want to be a separate change anyway, imo.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:46:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:46:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927410.1330157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNL4-0007rM-VR; Wed, 26 Mar 2025 09:46:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927410.1330157; Wed, 26 Mar 2025 09: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 1txNL4-0007rF-R7; Wed, 26 Mar 2025 09:46:22 +0000
Received: by outflank-mailman (input) for mailman id 927410;
 Wed, 26 Mar 2025 09:46: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=k+Jq=WN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txNL3-0007r3-Fj
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:46:21 +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 2bcc2dab-0a27-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:46:20 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-ac3eb3fdd2eso1101612466b.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:46:20 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac6932e843asm581380866b.83.2025.03.26.02.46.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:46: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: 2bcc2dab-0a27-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742982380; x=1743587180; 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=VKtAF4Sn4MGkhBMDCi6lQ3hpL91KxMQ7xTKUQPP3h9c=;
        b=ZmSOogulft6G+ddFAUxKYnTwxJDcsansnt/lkGbZvPIvDh6rCQwbq5414rTPA5zByr
         E3FHC+K6unSVdPM0A2jpa9OKLJhWoHzynHPRDyjACyOkkPEUuSPcX8eprLNVX1pMH+3H
         ygShcrmnZjn8Y65F5gIscECAWBFmFedaTOr1fs69nIwSbotcqlszseMYzWKHgBxF9n/5
         YGn61darlynrm6QDe7S2pi6+wLI7fANh7FRMjRpwN446kytJOWBmTIxCIpfdmaYxgcqO
         INTRjAfyL+zVSk7Vmj/+iuZtsEs0OishA7FJ/D1zpXn+2gtpkdGvcLGoqoWbOhRyJ9bt
         SP8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742982380; x=1743587180;
        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=VKtAF4Sn4MGkhBMDCi6lQ3hpL91KxMQ7xTKUQPP3h9c=;
        b=B16YBqYteZ8m6ltwUDplF+ZS+2JHM/HOTlL0lonajWaS68HTUBwa3OXgyFvVaSCQFb
         Y3HLAmGFpKs4bXaPeSgH4HMMNWKo51QFlPA2uAAbtCT5mSFKMp0S/c1pQ+CdbfxTNOoT
         h9HZJ1ibivvtVZYCowcYYbi75X8NHAoEWUH6iCanGUJF0KZBCa9lKMp3sFh2l1409WBt
         9RXcTgXEEVAe1jJ3pb3L/1gzhQ4SxXZbnaQq/CraJtRfc0PEAt3x6ry+CuGouhZNerTV
         NDwiy6IvxwrQjBqkTacSXlb4eaxrz0VuJJVSxh1ln8iyfUOXZYbv6a8mHxSIVaPhJggn
         zZbA==
X-Forwarded-Encrypted: i=1; AJvYcCVMuH/ytOvUUkqi+HAbgJVVr/Po6oEu4ilvjffBXeow+sV2oZ1kjHvBr3TnTRZagRYa8OX5g0Rq7Jo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEQME1dv+F9T8DbXFnaRoInwrvTayCjh5PeilOswUCRv+3MM5X
	Dm0yOOaVfcoTJ3EFsYIxJXPkwQB2iJq04LhQf/g4GP1MHwIRrHpw
X-Gm-Gg: ASbGncuV5Zk3alxuZZVbLPP4MgGiLUy0YbfD8pT8LSTtOh56WtlopVGaoCkb7qj97th
	0sUXlMq81Hkamn8F/VH63ZNteq7tq+bcSEcj1YnoDmn2h0cud1wKaqJ+THdzULVderZkAC+6ZoN
	I26m5qG0IS9jTrXP+Wt1PyIlRlDFWtQg8Ti+2FfNyjl8w7nzRpkMHx2bigDnYFdLPYlkKSxDooy
	UpPrssJoB3A2NdZMchueiSQ2NZCqKSpg6ABvyuZI5VwYYyTz9jeqUJszlwKCJsHYhn1OdDWi+Nj
	FidOc99KmUg+zXIwFHvPwYpe4kmuMPJFksozh8/aVj4+aM8OBNX+JIjYOD32fITzAmnX/h/Ks9g
	vFfAtoc1nJfOVBnOWmI0Z
X-Google-Smtp-Source: AGHT+IHeekuqGizZnyty1U6Tv5JzCn5ILs+r4Ex0G80DvsO9kh7mFzqCdX+xP3p8CFNvdmKztOHCTA==
X-Received: by 2002:a17:906:d7cc:b0:abf:73ba:fd60 with SMTP id a640c23a62f3a-ac3f22b8b4bmr2098518266b.29.1742982379492;
        Wed, 26 Mar 2025 02:46:19 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------tJSC0cM6NTZK6SeyIwhchS0Q"
Message-ID: <763b3dc7-68c9-4984-9e55-7bd57c356bd7@gmail.com>
Date: Wed, 26 Mar 2025 10:46:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: "Orzel, Michal" <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Luca Fancellu <luca.fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
 <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
 <0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com>

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


On 3/26/25 10:39 AM, Orzel, Michal wrote:
>
> On 20/03/2025 08:32, Jan Beulich wrote:
>>
>> On 19.03.2025 17:31, Oleksii Kurochko wrote:
>>> On 3/19/25 12:35 PM, Jan Beulich wrote:
>>>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>>>>
>>>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>>>> mapping table at most takes only one 4KB page, which is enough to
>>>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>>>> translation and EL1 stage 2 translation.
>>>>>>
>>>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>>>> MMU systems, x86 and RISC-V.
>>>>>>
>>>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>>>> the former function with #ifdefs and improve readability
>>>>>>
>>>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>>>> with !ARCH_PAGING_MEMPOOL.
>>>>>>
>>>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>>>> field is not required.
>>>>>>
>>>>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>>>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>>>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>>>>> ---
>>>>>> v3 changes:
>>>>>>     - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>>>> v2 changes:
>>>>>>     - make Kconfig HAS_PAGING_MEMPOOL common
>>>>>>     - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>>>>     - do not define p2m_teardown{_allocation} in this patch
>>>>>>     - change commit message
>>>>>> ---
>>>>>>     xen/arch/arm/Kconfig              |  1 +
>>>>>>     xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>>>>     xen/arch/arm/include/asm/domain.h |  2 +
>>>>>>     xen/arch/riscv/Kconfig            |  1 +
>>>>>>     xen/arch/x86/Kconfig              |  1 +
>>>>>>     xen/common/Kconfig                |  3 ++
>>>>>>     xen/include/xen/domain.h          | 17 +++++++
>>>>>>     7 files changed, 73 insertions(+), 26 deletions(-)
>>>>> For RISC-V:
>>>>>     Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>>>> were added to address some build issue, not because they are actively
>>>> meaningful?
>>> Only because we have stubs and not to have redefinition compilation
>>> error. And, yes, they are not actively meaningful now, at least. I am
>>> okay with not enabling of this config for RISC-V but then seems to me we
>>> have to drop stubs in riscv/stubs.c. ~ Oleksii
>> Well, I don't think it's "have to", but I agree that dropping them would
>> make sense then (and be desirable).
> @Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
> question does not seem to be answered)? Other patches in the series are ready to
> be merged.

I think the change in xen/arch/riscv/Kconfig should be dropped with dropping
arch_{get,set}_paging_mempool_size() in riscv/stubs.c as they are defined in
xen/domain.h for the case when CONFIG_ARCH_PAGING_MEMPOOL=n.

~ Oleksii

--------------tJSC0cM6NTZK6SeyIwhchS0Q
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 3/26/25 10:39 AM, Orzel, Michal
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com">
      <pre wrap="" class="moz-quote-pre">

On 20/03/2025 08:32, Jan Beulich wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">

On 19.03.2025 17:31, Oleksii Kurochko wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">
On 3/19/25 12:35 PM, Jan Beulich wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 18.03.2025 14:05, Oleksii Kurochko wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">On 3/17/25 9:07 PM, Luca Fancellu wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">From: Penny Zheng<a class="moz-txt-link-rfc2396E" href="mailto:Penny.Zheng@arm.com">&lt;Penny.Zheng@arm.com&gt;</a>

ARM MPU system doesn't need to use paging memory pool, as MPU memory
mapping table at most takes only one 4KB page, which is enough to
manage the maximum 255 MPU memory regions, for all EL2 stage 1
translation and EL1 stage 2 translation.

Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
MMU systems, x86 and RISC-V.

Wrap the code inside 'construct_domU' that deal with p2m paging
allocation in a new function 'domain_p2m_set_allocation', protected
by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
the former function with #ifdefs and improve readability

Introduce arch_{get,set}_paging_mempool_size stubs for architecture
with !ARCH_PAGING_MEMPOOL.

Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
field is not required.

Signed-off-by: Penny Zheng<a class="moz-txt-link-rfc2396E" href="mailto:penny.zheng@arm.com">&lt;penny.zheng@arm.com&gt;</a>
Signed-off-by: Wei Chen<a class="moz-txt-link-rfc2396E" href="mailto:wei.chen@arm.com">&lt;wei.chen@arm.com&gt;</a>
Signed-off-by: Luca Fancellu<a class="moz-txt-link-rfc2396E" href="mailto:luca.fancellu@arm.com">&lt;luca.fancellu@arm.com&gt;</a>
---
v3 changes:
   - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
v2 changes:
   - make Kconfig HAS_PAGING_MEMPOOL common
   - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
   - do not define p2m_teardown{_allocation} in this patch
   - change commit message
---
   xen/arch/arm/Kconfig              |  1 +
   xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
   xen/arch/arm/include/asm/domain.h |  2 +
   xen/arch/riscv/Kconfig            |  1 +
   xen/arch/x86/Kconfig              |  1 +
   xen/common/Kconfig                |  3 ++
   xen/include/xen/domain.h          | 17 +++++++
   7 files changed, 73 insertions(+), 26 deletions(-)
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">For RISC-V:
   Reviewed-by: Oleksii Kurochko<a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">Mind me asking then why RISC-V needs this at this point? The stubs surely
were added to address some build issue, not because they are actively
meaningful?
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">
Only because we have stubs and not to have redefinition compilation
error. And, yes, they are not actively meaningful now, at least. I am
okay with not enabling of this config for RISC-V but then seems to me we
have to drop stubs in riscv/stubs.c. ~ Oleksii
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Well, I don't think it's "have to", but I agree that dropping them would
make sense then (and be desirable).
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">@Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
question does not seem to be answered)? Other patches in the series are ready to
be merged.</pre>
    </blockquote>
    <pre>I think the change in xen/arch/riscv/Kconfig should be dropped with dropping
arch_{get,set}_paging_mempool_size() in riscv/stubs.c as they are defined in
xen/domain.h for the case when CONFIG_ARCH_PAGING_MEMPOOL=n.

~ Oleksii

</pre>
  </body>
</html>

--------------tJSC0cM6NTZK6SeyIwhchS0Q--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:47:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:47:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927419.1330166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNMB-0008O0-7P; Wed, 26 Mar 2025 09:47:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927419.1330166; Wed, 26 Mar 2025 09:47: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 1txNMB-0008Nr-4e; Wed, 26 Mar 2025 09:47:31 +0000
Received: by outflank-mailman (input) for mailman id 927419;
 Wed, 26 Mar 2025 09:47: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txNM9-0008Nj-UR
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:47:29 +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 54aa41e1-0a27-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:47:29 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso70104635e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:47: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-43d4fd18621sm179868805e9.12.2025.03.26.02.47.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:47: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: 54aa41e1-0a27-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742982448; x=1743587248; 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=mV5C4+0dRv4ArKxLNujf5R/eRhn1nBAhdAsmACl3CaQ=;
        b=J0rK+UcQSMwvMmdxb+hA5IFCR7Z9WRJWpOcUmrZqcbysWVLgtBnYoMEEAV67cg2e4H
         zDtpQ7PjU2DcTiEyXlOimZeZVS0JCnUPXWn1T0OruWJFqi7BpmUfAWwTFDUat20WtxkP
         cvQT1FTic3huwc8yLaQjHwwfEpt87BD26r5A0fTQl0/CngmPEOHGC9miyh1Dquo5E5y2
         IEvxaqxjOWeAgVlZJ+LqnbBRtEAJikLqge9G53KLi5VsXlstBln86yF0bNu30HC5c5eV
         vYUMtzpbaGBOrH24yN7RNEvxGLa7lHCqBp25mW/o38RG4RR4I7/O4sNF4ycv/Aitfk8h
         Vxrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742982448; x=1743587248;
        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=mV5C4+0dRv4ArKxLNujf5R/eRhn1nBAhdAsmACl3CaQ=;
        b=tO+iQ1HeecKsbbCBqNL5s3+r5IOqXXfEu534gvz82TlfwzFcPlFGUl2XF8r46oS869
         Gx8D1z+xSJkhQxUD6yP7FNWfxM68Jr3oJ+vUkMoyao41FdjFXuTG+OBNWhiiFFaSz9io
         /MHhQOWPznucANGqL66zE9A5W/qa6MDnb0PB0zFqEqG0wL2w3b27/d0RcebyQe18e2OA
         +vEzJiCym91kS/CEwx2D4DV2o8PACJAKTn9pNsXATtMUY6Wd7wvJBOV52/XebdR2VVRO
         lEk2um4wsrydFtl0b4eS4/NtktSryTDA3R82Yubk4cOJB1Jihi65JG9Si86wMrpZ+uN+
         3PIg==
X-Forwarded-Encrypted: i=1; AJvYcCVfYPkyDJyACut12TbhehCShaXxbxG1/OstxzXfbE3AoVRTV51aMjUtN4EWxdiZz75XzEEcnsGrOgc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwfkNQg3zF6zAh5eC3UQQ2juTf7yBvrVDxyDcD1SDKagU8GyN9c
	RiHj8QHTcZnMRQRrIUSfLXpgGtag9rbPZpLo5RAbI5XL4DW8U5eg5cQCGdsgCQ==
X-Gm-Gg: ASbGncvBcCismtHmuwas1sRdGhnXCujLjgIXpzpZe2CgQWS6Ruqpneyc0jUhnfwlyYr
	Rp6/kxWYLe7IBMgnj9KUokMOFJW8bOm9if15UJG8QleYA8HiY6S2XUOjDpmt+dBmAxhKGknDKLL
	LX2aWAD7wJYngcPsudpytb1CaOSSO3CcN+5nPQ3+RQKysSeX68PZk/vDiVn6nCbP/CAdmhEDSsb
	uaIQkpYq15h1DkA5wZsu6HvLV9TLS9b5EQ2IPWwwm7noGpMdThGqfjaOVT6TxTmvZRYjLvbd3+t
	eIwkMIHX2j1nwLC0a2dUNkoEUTEtGvq04oBl/WQLXqQod0wPlMDNaY94FyniskFStuMoRD+vakX
	K5T1dX44cZwLMOr+oKGAiSR09jSBxgA==
X-Google-Smtp-Source: AGHT+IEI6qy+mS0hXKqZg1s8aTlpPrNmh5Het2mcDqJnPS0j8/XpYLLE4swYrrsNLNvSwgL7OETmjg==
X-Received: by 2002:a05:600c:cce:b0:43c:eec7:eab7 with SMTP id 5b1f17b1804b1-43d509ed65amr215289725e9.11.1742982448296;
        Wed, 26 Mar 2025 02:47:28 -0700 (PDT)
Message-ID: <2778d532-15b2-46ae-ac54-5e4aba877727@suse.com>
Date: Wed, 26 Mar 2025 10:47:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/bitops: Account for POPCNT errata on earlier Intel
 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: <20250325185219.315319-1-andrew.cooper3@citrix.com>
 <56fbd614-2b46-4cc2-88f3-e244aedd5479@suse.com>
 <a57c2ae0-2c9f-4fac-9ebb-a570f0f2cabc@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: <a57c2ae0-2c9f-4fac-9ebb-a570f0f2cabc@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 10:34, Andrew Cooper wrote:
> On 26/03/2025 9:20 am, Jan Beulich wrote:
>> On 25.03.2025 19:52, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/include/asm/bitops.h
>>> +++ b/xen/arch/x86/include/asm/bitops.h
>>> @@ -488,10 +488,16 @@ static always_inline unsigned int arch_hweightl(unsigned long x)
>>>       *
>>>       * This limits the POPCNT instruction to using the same ABI as a function
>>>       * call (input in %rdi, output in %eax) but that's fine.
>>> +     *
>>> +     * On Intel CPUs prior to Cannon Lake, the POPCNT instruction has a false
>>> +     * input dependency on it's destination register (errata HSD146, SKL029
>>> +     * amongst others), impacting loops such as bitmap_weight().  Insert an
>>> +     * XOR to manually break the dependency.
>>>       */
>> With this being an Intel-only issue, wouldn't we better ...
>>
>>>      alternative_io("call arch_generic_hweightl",
>>> +                   "xor %k[res], %k[res]\n\t"
>> ... put this line in #ifdef CONFIG_INTEL then? The extra overhead is small, but
>> I see no reason not to avoid it if we can. (I realize that's not quite as
>> straightforward as it reads, for alternative_io() being a macro.)
> 
> For an XOR, no; not worth the complexity.
> 
> Besides, this gets used a whole 5 locations in the hypervisor, after I
> cleaned up the paths which shouldn't have been using hweight() in the
> first place.

Well, okay with me then:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:53:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:53:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927432.1330176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNRr-00038Q-U7; Wed, 26 Mar 2025 09:53:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927432.1330176; Wed, 26 Mar 2025 09:53: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 1txNRr-00038J-QL; Wed, 26 Mar 2025 09:53:23 +0000
Received: by outflank-mailman (input) for mailman id 927432;
 Wed, 26 Mar 2025 09:53: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=a+/s=WN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1txNRq-000358-On
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:53:22 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20610.outbound.protection.outlook.com
 [2a01:111:f403:2413::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25af2c71-0a28-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:53:21 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DM6PR12MB4169.namprd12.prod.outlook.com (2603:10b6:5:215::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 09:53:17 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 09:53: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: 25af2c71-0a28-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OH7u18YXeTZGPFU5sJZqc4iY9rXlqbl7N5RlWsYp2e1ZG3emSvFcuOuNFQPwHGbp73s4IrRlCXY3y84kNlCzei74Tq2ZgPM9RrLFyG5lnx2ltHAI20Z4tdGPlHyJgEt3FkLcM8cbGIuzy8cWILI/Mr+j4inQFxtNBH3lpTQTNmCr2xpr0vxRA3LRMF5JvZhxOA65jqs1H0kKXjmAEHgEUDnkwwW7FMngap6uXs9abhAgJ5qQZWsx7yT22bcRx2W28GOJuKbuBJxqxnmniwnXzbim6W+Lfg8+dNqNSH+ytZLWvHW/EHInCCHIaceeqrTeyWghjeZvEcq2dAaQhwTkCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8ww1C03i96xlOESi9lAh0G7AQCygX+oICVAn5P4Go9o=;
 b=zVBaSyXfsd3YJ5QzE30vbnLUHZ9UKxv9FQzF4zRL1w8s7p0ovxMtOT/3MNvQ336y3tNcPHBhkh8OrLYBzbAkeCUNsE9lduITdbjdRnCVALKf+hi4AD5dpIxDgRju4TQ4O6CnxDxu4Yhuwnbv+vE5hHoeXuP/6boRYzECapjzI6FW8m2IAboSInxm3U+XnCeSosqjlKDr5JwgmBzONq0dd5g388h9z8i3rqm9Q8ZQdRNMWDs+SJcZqZnyxFKoI52OPAlHal4JEytHNDVQMk1Mxv3HTUbp4emzwHBk3rA/ofpGtTkjI8C8oHQG+IB0rboKPmILXlCG9m7uqTdKiZIjpA==
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=8ww1C03i96xlOESi9lAh0G7AQCygX+oICVAn5P4Go9o=;
 b=FOeXXTO2vF8kzXs8WSxR0TZ69Nub0Jehy0bgCNHy3Uc7xuxfI9aiL2uM9SWBNLlO9BlvR6o8mMpsUv242467Xkv6bToOnnXfAlwa2Ir0q6RGrRYwhT0ETYzvvcQfIXytOaERM5w4oe1wulUxxI0nD/GIVjNyrDPRB3fH3lV8taE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <7071bb45-8a01-451b-90eb-5350c05da215@amd.com>
Date: Wed, 26 Mar 2025 10:53:11 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <jbeulich@suse.com>, Luca Fancellu <luca.fancellu@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
 <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
 <0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com>
 <763b3dc7-68c9-4984-9e55-7bd57c356bd7@gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <763b3dc7-68c9-4984-9e55-7bd57c356bd7@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::13) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DM6PR12MB4169:EE_
X-MS-Office365-Filtering-Correlation-Id: e2af990f-f8d9-40db-38eb-08dd6c4c0879
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?VFFMaEtzMG1KT1BEeHJnaTdDVWZFdktKTDMzajZ6Zkdqb2RnTGhHL3dJNDNi?=
 =?utf-8?B?ZWhZZUV2YU1uNXVIMEJmK0FoOGwweWtPb2tKYVNTc080dHpsSDFxcnJWMjZZ?=
 =?utf-8?B?N3F4N2kvck85RExNMS9OZXpoQWpUUDRmYVU5NmV4aHVxOGI2TWJXYVNqUUpl?=
 =?utf-8?B?MGpEN2ZlNDMvNng4dEt1SmtuM3NxcEJzYXA0SlcvdWlsNVpBZ1ErclltZDRG?=
 =?utf-8?B?bUlROVZVU1A5TGFZdWNKMFFJcjlKOUw5Q09QWGh6bHo3enVoS0h0QjQxRnF0?=
 =?utf-8?B?SmF6OURvZlZ2R3B2aDNCd2duSUNpclVGRGJBRzY0b284d2dFQ1hXSXR6MHpz?=
 =?utf-8?B?eUJXcGtFRFZ5Tlo0L1dxVzRSQkR3NGdQNmlodWFkem9QK3lxdkZjR2tuTTNX?=
 =?utf-8?B?akpaWlFZK05UbVR5T29Sek45OTdHU1Ntcmd2d1NadVRvMUpLZUhlRjlqV2V1?=
 =?utf-8?B?UWlyUHpmemo5Wjh2Qks1T1JSVTE1VVdBbktEeVdDSzgrMW9WcUsxR3M4N1JP?=
 =?utf-8?B?WVNrK0RTUnNZWXlYc0hwdHB0MlZ1MWZzdndSWkExQkFDM1hWY0xNSmExUUxV?=
 =?utf-8?B?MkM2N3F2NVdqRCt4UElKM0RNVHN2S0FGTlJ5d3FrZ1FJYVpuQnlxdVJ6WGVv?=
 =?utf-8?B?UDhKR1BQQ1cxbUlkMC9RK1pDSTlRYWJTWUd5YnRiQUlYeWJ6UHc3S0huM3Vv?=
 =?utf-8?B?aDh5M0hEdGlXbDlBc050VkZMOFdXNWJKT3k5ZUdXWVBMQndFZXBuY25ycXRj?=
 =?utf-8?B?RGhHdHBNSVJTMHB5NEhLTCtsc3Uzb3hTNWJKSTI2MVYyVU1jVFF6YWZ0V25J?=
 =?utf-8?B?WjJZbHdUMXVyKy9MTVZFZTZqTjZHK0tUYjdNWTFOMm9CZjk0UG9yZWxHOG1s?=
 =?utf-8?B?TSsxZWtSK0h2aVBGWnN4blVESmsxNzl6OTF1dEpMMVU1MkRpT3NOU3p6bERI?=
 =?utf-8?B?TVVMUDY3bHhQaDZQL0NQYmlzZytBQTZiMjdPc2xWNW5LbGVEcVV6SmVkMVNu?=
 =?utf-8?B?T1R6cGJWUlBJbmEvOUFiZk91dElnWjhESEozb1VCdnlVeVZzMTQyYTVRM2oy?=
 =?utf-8?B?ZU5TaktaS3I0alB4bzh6VVFhejBISDZrL1FlZVVQMVRBSzArSklZVXV3RFJ1?=
 =?utf-8?B?dHZ6UmVuUUNYRDF5UFRpQWpMVUd4TVIyQWVYdmthM1cxaDBPaFo0QmxjNUVj?=
 =?utf-8?B?TW5yRmk5L3NqR0lmMXFpdDZ6ajV3dFZtcFhnV1JzYmpKNzREY1ljQndMZ3gz?=
 =?utf-8?B?dGFBVWdjUmErQlhKaXZSWVA4cEJBV2JnSVVkNHFFc1BTQWFJbXRISDZ5V09U?=
 =?utf-8?B?QkQzSkd0RW9TSHMzdmxPZ01qcnIyTVRyWG1MK3h5b3JBa3BIQVpxeS9YVUJk?=
 =?utf-8?B?MzQ0RmE3ZXFwdW92akx4bmFHOVBwZjMwenQ0Ky9RRzhoWVlHaU5RRGd1SERS?=
 =?utf-8?B?VnAzenpoU09RQzdCNU5idWhnYXRreE5zNi8vNHZ0YXByTXJFMmhZT3o3SlQz?=
 =?utf-8?B?b2FhWlg5cFpudjc1SkRXck5hc2U4NWhjQm8yL2psZXZpTUljalFTVEMwVW9U?=
 =?utf-8?B?M09CZUZVSGZ0aHRla2p4LzZZNjVBSU85anQ4ZXBnTGNWNElnN0VoZ3JYL1Rh?=
 =?utf-8?B?am1IYnBCMnVEbno3Y2NLUFpvZ3h4M2pVM0lWQVNadmoxMzU0TVJmNGN1aFBL?=
 =?utf-8?B?bkhieE9lS0FiVmJqM3hZNUt6QW5vM0U3RE1Va2Ixd0trMkN5OFg4bWdSeWp4?=
 =?utf-8?B?NVdpbkhjRVZiM0V4TkZFTk55aSthME0zeHFHNVBFRkwzYmN6UzNOZndDNEdY?=
 =?utf-8?B?OEI5MUcxY2hFcS9PWFNkUDVDNzY1SnNjMVIxUHpiVjNYYm1SNDVBN0JxL3No?=
 =?utf-8?B?YlpZR2QzeWlsZEtHVXcyTlpydGVCdjc0TEFqOERxRHFvdURYQXJoeVBrTjRT?=
 =?utf-8?Q?9JoVW32Pjhk=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.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:
	=?utf-8?B?UXNrNjkzY1RCSXVHTThLaHhrRUpRSUY2RXpURGczMkc0ZjZaZGRVNy8xNHNQ?=
 =?utf-8?B?VzNoSm4yVWZmRVJYaXZJUFNhQmt2SDBuSXBmOThuRi9NMzhUdjhkOWpteTFo?=
 =?utf-8?B?dkt3NjlMZGRrUHI4WEhlZFYyTkdWVFZJSXdhU0ZIdjgwVGFQeGJjb1NVVmNF?=
 =?utf-8?B?dTduMU5kc0d3RWZPUGFsV2wrbEZDRWFaOGFSZnNCVE9uU1E1VHVYSHZBY3Rk?=
 =?utf-8?B?c3Q1VERlazNJYUxrS1lCdXNkblN4R0Y2L294SlI2ZURCaEl6QWVJSEF6VjJO?=
 =?utf-8?B?ZFFzMUs1NmRvVHR4UzdMa1EzaHYxM0ZqQmhrS0ljOWQzTGVlMlJXeWZJMXlC?=
 =?utf-8?B?R1lmalZwakdDQWYvZE9NbFZNNnI5V2hGWDVpdHdQZ1ZTVUJoRi9qY0RsOFUv?=
 =?utf-8?B?b1BZWW5UZTRIZDlSQmtTNk44Uy9UZFgydE1GY0ZzVEV6cHJFZDJScjlRQWFr?=
 =?utf-8?B?UWlQKzV3ZXoxaFp6ejhaVm5qY1RWb0NkM3BjTkgwM3NCeUFlT1ZJSUVRWG5S?=
 =?utf-8?B?NmNqOFladm1pME9NRElaMGdML1pXeWJvWDI3RVhJRXYvN3E2VXAwSmFaSVgy?=
 =?utf-8?B?akE1TkgzaFdRbUt2bUttWUhZa0FZY054eHQrS2R3TU1WMVQzYm5hbE1tenZa?=
 =?utf-8?B?b2NSRHdneG1vdE00VC9XWVZ3bjhjclZVanV4aGttNlJ0ZjkyNzlhWmdYNzVR?=
 =?utf-8?B?UVNKVHRodG9HVUl4Z1c5MjRvZWlTUXdoczM0WUt2a0owLy95YkRqaHpsVm9p?=
 =?utf-8?B?d0FZUHdIQlhpcEtHclM2YUNmeURhUGM4dXFIY0h0N1gvOVEvYUEwRmtKRnV0?=
 =?utf-8?B?WVhEU3N2Ym0wV0xHNjlOM1NmcVZIdDBCaHI4K1NaMTRScXBCNmgrb2JjNDM1?=
 =?utf-8?B?WW1BUWVKcWhQaHF6TE9sZHJ2SXVMQkppNTZjNitxdzFXcGtMeU5vL2VJMW9k?=
 =?utf-8?B?WVdhYnU2R1JZTGxnU3poVVJmK016K3V5RWZBQUZQMURUL2lPa3YvejVLYlV3?=
 =?utf-8?B?YzE4OW5YSENDQU9vaUxYRnFjUTBYN1krV0tEZjJDTWlVNTQvbjBydGhtYkFH?=
 =?utf-8?B?YzgzWjRnaDdwZWoxSVhLU1QrQ2szeml1Q0ljOTBjTUVqb2FMWWJFNGFuTWV2?=
 =?utf-8?B?M1V4L0FYZnpHRHF1S29CTDVSNWREQnZQZm0vQWhiUjFMZDZuN2p2L1kxYTRv?=
 =?utf-8?B?VlV2QVplK1F0N0xGUEhpWEFQR1dEcExuM1lJRjkxSTQ4T0p6VFFnUkQxMEE3?=
 =?utf-8?B?Z041VktabGNVOE5IbzE2SlloTGdOamV2OVljQkZzcjZtSmZ4WmY3bU12alJH?=
 =?utf-8?B?THNSNnJKU2Y2dUlZSEFUV1F4VExiYUhZcWRjUjllTURkWXVVRDBHUWYxNnkr?=
 =?utf-8?B?RGxwRkw5WGROY29ZQmJRL3VOYjNCNFRoRjkxTkhVWEp4TkVmQXo1cWJNZGhR?=
 =?utf-8?B?N2N3Y1NwdTltZEJLcktCellVWWhmQllsTlNvQTF0enpwTEw4OGE2dXBUK3A3?=
 =?utf-8?B?YmI5QkM4c3VHeGpMWUcvVituVElHKzN2MkpQNGlqT0R2SGVBQzZLN29ZN2pH?=
 =?utf-8?B?TXMzZ05IUEtVSzRDQkEvVEhHckFXSDlEWW83NkxvbmNud3JCM0ZmcU9Qd1lH?=
 =?utf-8?B?akZoR1BaT3dCL3E3V0NuMjRJMlloMVN6NGx4UGlmZWVubDZWRFl1eHhvMENa?=
 =?utf-8?B?Z3FoZ29TZDhEcXVnWjBYSFV6UkdBYXlMR2dHS3pOQ1B5TFhlLzJBZXdXWFh5?=
 =?utf-8?B?cXF1VmxRdDR6L1ZZMzZoU2V5RnhaZEpJNFdqVTBnMHFwU1NseGdXU0tXaXZJ?=
 =?utf-8?B?WkJFeDRvY29nazdwUWt3d0U4OUZicXZ4b25VQ2J6VFhXZHNSM1lvVWpoa1RT?=
 =?utf-8?B?V2h4ZTJobXFUalU4eEdYUXp2MGlUUWdpV3RENHpOZ0lLeGlLT1pBSTFJa01F?=
 =?utf-8?B?U1I1eXQyMHkxeHdUdXVsVkVxdzhtSXVCY01uVkR2ODNqdmF4YThUamhodkJM?=
 =?utf-8?B?SVlFWEp2ai9DMnlqak11KzFkY1o5OFc2bjZOeVFLOXl1TjV2UWZKcnNpd2Uv?=
 =?utf-8?B?UmwxVERnRlpCeitBT0hGZEFld0wrSzJzNTdWM0RNTW9NVzNJTWNkRCtvVXhZ?=
 =?utf-8?Q?N+dLVFw/M87sJfPBloqYnqxvm?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2af990f-f8d9-40db-38eb-08dd6c4c0879
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 09:53:17.3701
 (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: KoeS4cyIeR21IJ3gxsK08+ybWhjo4APANuU//0RbyCjlHGJwKAx4+cqYQpa3iWM/
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4169



On 26/03/2025 10:46, Oleksii Kurochko wrote:
> 	
> 
> 
> 
> On 3/26/25 10:39 AM, Orzel, Michal wrote:
>> On 20/03/2025 08:32, Jan Beulich wrote:
>>> On 19.03.2025 17:31, Oleksii Kurochko wrote:
>>>> On 3/19/25 12:35 PM, Jan Beulich wrote:
>>>>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>>>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>>>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>>>>>
>>>>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>>>>> mapping table at most takes only one 4KB page, which is enough to
>>>>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>>>>> translation and EL1 stage 2 translation.
>>>>>>>
>>>>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>>>>> MMU systems, x86 and RISC-V.
>>>>>>>
>>>>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>>>>> the former function with #ifdefs and improve readability
>>>>>>>
>>>>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>>>>> with !ARCH_PAGING_MEMPOOL.
>>>>>>>
>>>>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>>>>> field is not required.
>>>>>>>
>>>>>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>>>>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>>>>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>>>>>> ---
>>>>>>> v3 changes:
>>>>>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>>>>> v2 changes:
>>>>>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>>>>>    - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>>>>>    - do not define p2m_teardown{_allocation} in this patch
>>>>>>>    - change commit message
>>>>>>> ---
>>>>>>>    xen/arch/arm/Kconfig              |  1 +
>>>>>>>    xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>>>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>>>>>    xen/arch/riscv/Kconfig            |  1 +
>>>>>>>    xen/arch/x86/Kconfig              |  1 +
>>>>>>>    xen/common/Kconfig                |  3 ++
>>>>>>>    xen/include/xen/domain.h          | 17 +++++++
>>>>>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>>>>>> For RISC-V:
>>>>>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>>>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>>>>> were added to address some build issue, not because they are actively
>>>>> meaningful?
>>>> Only because we have stubs and not to have redefinition compilation
>>>> error. And, yes, they are not actively meaningful now, at least. I am
>>>> okay with not enabling of this config for RISC-V but then seems to me we
>>>> have to drop stubs in riscv/stubs.c. ~ Oleksii
>>> Well, I don't think it's "have to", but I agree that dropping them would
>>> make sense then (and be desirable).
>> @Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
>> question does not seem to be answered)? Other patches in the series are ready to
>> be merged.
> I think the change in xen/arch/riscv/Kconfig should be dropped with dropping
> arch_{get,set}_paging_mempool_size() in riscv/stubs.c as they are defined in
> xen/domain.h for the case when CONFIG_ARCH_PAGING_MEMPOOL=n.
Ok, thanks for clarification. @Luca, please resend the series with this change.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:54:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927444.1330186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNSu-0003jq-5q; Wed, 26 Mar 2025 09:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927444.1330186; Wed, 26 Mar 2025 09:54: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 1txNSu-0003ji-3A; Wed, 26 Mar 2025 09:54:28 +0000
Received: by outflank-mailman (input) for mailman id 927444;
 Wed, 26 Mar 2025 09:54: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=hi9g=WN=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txNSt-0003jO-7I
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:54:27 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20609.outbound.protection.outlook.com
 [2a01:111:f403:2414::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b18ba91-0a28-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 10:54:24 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 MN0PR12MB6246.namprd12.prod.outlook.com (2603:10b6:208:3c2::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.42; Wed, 26 Mar 2025 09:54:19 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 09:54: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: 4b18ba91-0a28-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jQbvyjjHlyNF5EqFizODhL2jr4D9k5I2MuAEL153TnP45belntNoufXE9QZZ+baj9vo2gG0W29UrPznUPnJftj3XWkn6TV5z9S+fQJWffSOt6CVuKQsNhH2Z4Gseqss6lOwF3UM3htavtJcXBmLLIBo03IdD4sgSM803zqYDuoIQqPFCOrR7tc+hNIoHbYPTffmWJPLe+C6H9VVjcoM6HkA1BdjV5JjdIl9DwnNsOeCwG0BqsSEFdUgpgQpPPsJLvUPIoQ0MaS5OVsKTqldre1fWNt6USvD7/BvVZQllDC6/ZFSp+qzpTtrxnKnjPy4lYBL6vOoD0zNv71iegGnOwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1USe14N+eQYu2sJmZmGek94D5jZfVO7DX/TLoDzNXdo=;
 b=xDQzsz/Mbc7xGR2p6cYbylIHuG+g+HgdzERbMYaGS9dL1JBV2h9p6N9vnOyY4CTtXJwXGk+LoVVtI7Y4b7uBJniUy3Dnfh0syYRWXgW/zzDd7IJG9ycmstlS6kty36C6w6hv2W+IXExEDkGe0lCOqRVHYOJbOw7JpXqw7ZwjnD+CX9dw7jUigF0baLRT+zfmFs4JfLGUmVOquLC8GYCoGXMEqCBFXVWrRuRkexAz2m2K3qNNw+0G5z+jdA1HQDLFZk9bsxya7pjN5025XzkXVJL1sfekM6DUeotjWXkjEY1Dq5Ncs7orFJipGgBPShuFKhNlQScEIVU8OTP1kH7faQ==
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=1USe14N+eQYu2sJmZmGek94D5jZfVO7DX/TLoDzNXdo=;
 b=bn71k20X+a/kQkYtMRtCEXivYAppyiADKJzF3vHw9m7ec5aNHBkemaZsXHYFaes2KqIOsow8oNocDuWW10FS8Vwi0J/MtksTq41sBGn2nel2PGTFLFU9iXXPisnSbtWesngpQYufQ0cONcgoiGfx/UQIlz6fQecRb6EfwcMkeDM=
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>, =?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 07/15] xen/cpufreq: fix core frequency calculation for
 AMD Family 1Ah CPUs
Thread-Topic: [PATCH v3 07/15] xen/cpufreq: fix core frequency calculation for
 AMD Family 1Ah CPUs
Thread-Index: AQHbjnNvmMkhQOT4QEqCqJEcRIbe17OCi0SAgAK+gSA=
Date: Wed, 26 Mar 2025 09:54:19 +0000
Message-ID:
 <DM4PR12MB84515BDB3E64C4AEA561B266E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-8-Penny.Zheng@amd.com>
 <0b340303-db4e-4723-b53d-178b2676a36c@suse.com>
In-Reply-To: <0b340303-db4e-4723-b53d-178b2676a36c@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_ActionId=4fa8022c-96d6-4d92-975e-825418f8735a;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-26T09:53:39Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|MN0PR12MB6246:EE_
x-ms-office365-filtering-correlation-id: 86fbc9c0-e598-49d6-141e-08dd6c4c2dd0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?MForL2I0eFJPWGswV0dKekJHUDR5THF0VWxaTUFXeEVsdDF2THJVV1NoWFRo?=
 =?utf-8?B?TmtmWHY1OUxxN3pqbTdRaXpLMGYvSUNoMnU0d2QvaWhEVVpiR2h4aW9CMzRP?=
 =?utf-8?B?SFNCYUhFWlhoVVhWejEyVGsrZ0xWMVVqVzkvenFqWU94ZlFjdkR4M2dYL3Iz?=
 =?utf-8?B?b3J6b1k0QXpKSUF4cXh2U0JZOFk1WitVZlJhYWJxV0wwOWlQYVZ3UUtlSTZw?=
 =?utf-8?B?VnBod0xqMzFrVVZsZFBuaFNWZ1hEczdGSVhnZmFjc09BdFFOWmVtdmZaTG5L?=
 =?utf-8?B?aERFanUrMnkxcHRYODNNZzVCZ1lmTXNYelVYdUpZbzBOMVRFODdncWNxV0E3?=
 =?utf-8?B?RFFXSWF3Qjh6THFTVjdwNDFIQ1dwY1dHbElWVTBCLzJRQitYbEhlZGdJZDVZ?=
 =?utf-8?B?UW1oMEl6cjlaVVdhdUNsREF2RjBQZ1FZWTExek5kb3JwSVQydDl5RFU0Nnpj?=
 =?utf-8?B?cFY0cllGc3FnYkRNb2pHK01FSlN0SHlHSExSN2tJc0lKa0RlUStKcTdrMVRj?=
 =?utf-8?B?MFlDUmFTeFgvQUpZdHNORkQvTzZPQUMrTjhBalU3cXNPSFRxMFNSTTRDeGtS?=
 =?utf-8?B?SXZQOG9TV21pb2JLMGhXRlRkVWNPYmNVYm9MWGVGUXJiNFQ5aTVHRDAyUDNU?=
 =?utf-8?B?VUJkRVZxWm5FQ0thTCtiWlNvV1NlZitrcjNzYmNXR0NKZkR1VENiZWREUG1F?=
 =?utf-8?B?aXRMdGo4eEV4UHRXaWc0WEFBV2VxdWhqeHRKVnMrQWJGaVZGS2VBMmFFbUxL?=
 =?utf-8?B?enNxRVRobWhNd1ZvUGMxcFEyTzBTZkk2UkJRUmE0N0oyLzAxM3JWOTgvOTVo?=
 =?utf-8?B?N29TdkNWWWliSjFMSkI1dDQrWmVNTWVnaVc2Ykc4eHlXdkM1bmFKb2VXdE0v?=
 =?utf-8?B?bUpXMVBPby9XVkMxQk83RFIvdFZSNzRtSnBPU1owK3NMTnRrdmxwMGtqQkE0?=
 =?utf-8?B?VUNxWWJGcFRHRGN6WjcxUVg0WmN4L3FmaVVGYmw5OGZQUlBId0dXaHRJbTRY?=
 =?utf-8?B?MklqTmIyamFRSGNHYVNiaUxrWnRaaU9kOUtlaTVJdzhmM0xmbENLWlE2Z1p1?=
 =?utf-8?B?WUR5d1VGcUxFQXMrbDFqZVQvQm1MbDBhakNvTkZOUFhTbXNWNWRIOFlsSkxP?=
 =?utf-8?B?K1NwekRLdkp0TXZUMldyTEZyVDNiWVNTNnhuT2h0b0p4S0tLKzJtSHJhTFlR?=
 =?utf-8?B?ejZmYmFydEVRTEZlM2FzV1ZYd3FNV3p1Vk9ucG5sUWRSWEkybG5BUjVyZkhL?=
 =?utf-8?B?cXBFQ1VTWkVMa09COEdGU3lHY05QVmJTTkkrK0NSVmlULytYcWd2RzFMNGR2?=
 =?utf-8?B?bHN5WlZ3dnd4a2pKVzg2UmJvS0dJSzcwUkpXTHFndG5uZEFRQWRpalpwUk45?=
 =?utf-8?B?THJ3MCt5OHNvUzMzWDhjNEZlWE9iU3hUcU9kbHR4TnZJVnNFNlZiRVBPTlE3?=
 =?utf-8?B?TEV0V3NlMGZPUEtJMTN3YUF1MkJtRGZPakF6Tm9LZThGdmJlVlRGQk56MUZj?=
 =?utf-8?B?NGdtLytkSnE1MXBSY0Frbm1kaG9aR1pGQmtMQTlzcWg5ZjJyS3pJVHFENkts?=
 =?utf-8?B?enY2ZWdxbmdyU29aRzNxMTBWN3g1YzR4NUhaZWNrbE5wQXdyRXRrUU5EQjlv?=
 =?utf-8?B?MGQxM1F1Vlp4THlSaElQcXBFbURDdm9KNEpaZVhWRklkWWFXMndmWTJpSHdT?=
 =?utf-8?B?Vk1KQS9rblhMSy9tcFRUa294cnhlYVlIeml1bk5xN2dJSzFZNEI5WVBJY1No?=
 =?utf-8?B?OGttRzVYL2FWaGZsRmJFUkM3SFU0RWhJVGFuTjhwQTdBMS9SZzA3SW94eHVV?=
 =?utf-8?B?Z1BCWEsrTXM1bXdwclJMUU9pN2pvT29sVlUyb2p3UFpoNzhLdE9ReUQ5WHg5?=
 =?utf-8?B?MXdlVTlnOWx0a2RkSlB5b1I2LzBiV3dhQ3FibGN1SDFXMjdESFd0S2c1ZnN3?=
 =?utf-8?Q?+mVKI8GMVGiPYFXPkBCedoTuvR++sHve?=
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)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bVhVeUZNRkk5YWZvcTVNN2dHRVBHTkwvd0gxZkMwbGRxSHk4am1MMjF5NXdH?=
 =?utf-8?B?NVQxL0ZFM1d0RzBFOEMyaURSSDhtUllFQ2R0VmkzdkhOQXk4SU14cHRNMU93?=
 =?utf-8?B?NXJIT3oyYlYydnhEbEEwdWplNHBtK2o0Sll1NFMzK1VESDluaS9KaW1JNHQ0?=
 =?utf-8?B?Z0ptR3NLcmYrb2ZES1NVWGFmVndSVnd0ampoUzVnd0h4SEsrT0ZHdzJsOTBG?=
 =?utf-8?B?OXlHT0c2Ty96eFRSK0FJem9GNENOZ3ViVm9FLzVFM0pENWdxVzEwc2pLRjhi?=
 =?utf-8?B?N2VvdjNEVkNkRnhRbXB6Vjg0VGgyM05ZQm9MZi8wSkVSbnZPRDYycGJEbUR4?=
 =?utf-8?B?UjA3TmNuRHFKMG1XQWZYYmtSSFRxQ2UyT2grV25sMXJqbnFtVS9PN3NBZ21a?=
 =?utf-8?B?Qlk5TFBWSVErYkJBeTFkN3dwRVBqOWxPM0wrOFJMSStETmNFVVNYSERqMytD?=
 =?utf-8?B?UWhRY1Z1cEU0NWFaOE1OVEVhSDNJUk5lSGNiWnNxbE9Uck94U2xGMWNJRnBV?=
 =?utf-8?B?UXB3WWp4MDRHN0Q0N3laRGVZNTdReGJCSWZrUmVGK0V2MFVUcHBPUi9uV09j?=
 =?utf-8?B?Nkt4RlMrRmRqSnlENW1RWUFkUWRYbE1ldDY5UEttSEIyRFo4WUNGNWJtQW1u?=
 =?utf-8?B?dncreDYxTVJOakFPUnJWOC9rblduSDA1RlpybDB1dGwwWVc3eUlCM3d1d05E?=
 =?utf-8?B?QlZSSFZHdFdzWDNRNi9Nd3lBWlh5RzlPaWl0Mno1RStKZ1JNQTdEdzVCcW0r?=
 =?utf-8?B?MVlzREZoRUZ0VmEvSmtNSGdFL0h1d1NmU004UW12YjhTc0NmekhidXRPc1lN?=
 =?utf-8?B?WkdSOVgwWHRPL1o1QmZ3MG9YNDNORXlYM1RzWDF1UHJWNFYrbVRMQ0diTzZr?=
 =?utf-8?B?ektuZDN4QllkRG1JYkoxNnN0cklTMHhVcGRjYzNMbER3bGhmYVQ4MnpIdnlH?=
 =?utf-8?B?TzN1SmUvY0Z1bEVWaFRHUmVYd3A4OFN0aTFpZjBQNFZGcG43ZHEvVGlmVm52?=
 =?utf-8?B?akdHbkpjVUxBUWpPQnZtUEY5Vkk5M0NsdnNUTmI4TGZhZEVMZSt3cnU3REhp?=
 =?utf-8?B?TXhHaDFQaGdpU2xQWmJVTEZxeGZOenhodEdQQzRIV0I0Yk1ITnkwU1F4V2Zs?=
 =?utf-8?B?TW5Od1ZsSzBJMGF3dUc0a0xRb2hBODFMTEFYUytCaUh0Nnp3alRmYjJEUThj?=
 =?utf-8?B?Zjc2eTNscjNNdzM1dE9oUXRpNkpIanV1VmhUZkhKZ3ErcjJVa3Z5MzNMclg5?=
 =?utf-8?B?RVMyTHl2WHFYNVJCQk1HK3lHcWQ0eWNUMXFpT0Y0RmtqRGVlcjZhMFIyTW9E?=
 =?utf-8?B?UXRrYjlWMkQyRFdtdWY4ZXpmRXB2ZTVRVTJTMTlGNVlTbDFMUGdPZm5kVllj?=
 =?utf-8?B?YnJpYTF5SDVlMG1wWXorSXV2alExR0dzNjRHeUR0L21DcHIrRmFuY0tjTE5M?=
 =?utf-8?B?ZjZpNW5VTjl1bDE4Tmp3TVlpVVJyVkdlV1lNTGYxYjVZYkxnZmxkRmcwSlBj?=
 =?utf-8?B?R0dMU21KR0JTa05PL0NydDlrQWRFazZ6UEpIdFdzYndWQmdVQ3NTTGd0QUVG?=
 =?utf-8?B?MEhJRFVEZlQyL0pyL1R2UGJuckpyOGw2MXRENEd6RFp3QStOSEMyVzBETWZ4?=
 =?utf-8?B?M2RTQ2tOMXNtUWpwYTBiNEdxN1o2TGovazB4eHkzVVNIbVJYbG5lL1JBVWVl?=
 =?utf-8?B?Sk9aSGNpZGp1WEZuaWpGQUp3RzdGclczWDdvSEdxRmJ1NDZwNEVuZXVJV3NS?=
 =?utf-8?B?eWhwdXBESkRSOFM0bDlUaVVTc2VZT091SnNwd1BqNnpJaUdURWJhbVE2QnZo?=
 =?utf-8?B?MmFQOGZsYUNZNjJuRUwvTGo5R3JTQk1MWS95TXVrZFM3dHo1Z0VIKytQNkc3?=
 =?utf-8?B?alFxS04veWRDOVBLMG9CNVpjdmxtZ1JjZnRkRm13TkZpS1VoTUp5dm5MRHQ1?=
 =?utf-8?B?UEZzb0pkUlhxTG55ZEpkc0RjcEtqWit5NjlMUjlFVmJZeHZVcHVKSlcrV3hp?=
 =?utf-8?B?R2szRzBjT0tubGZ1aUlUMEs1VVpBQUM0TEk5SmZVRDFOa2NHTFhJU1ZING9Z?=
 =?utf-8?B?M2NKdGYvVHBKQkZjQnk1U0d5TlFJdDZWOGJad292KzRhTFZIbkg1dkduVmNM?=
 =?utf-8?Q?6Eeg=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: 86fbc9c0-e598-49d6-141e-08dd6c4c2dd0
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2025 09:54:19.8207
 (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: 0t5m5RXVUtZ9R1z/r8Df1m74OZcLjf/Kc8WHPEgMQ2Qoa75j0LgHtbDwhuXnr5QMErKW+33CVIkCpyRi8lwPbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6246

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDI0
LCAyMDI1IDExOjQ4IFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4g
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA
Y2l0cml4LmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IE5pY29sYSBW
ZXRyaW5pIDxuaWNvbGEudmV0cmluaUBidWdzZW5nLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRD
SCB2MyAwNy8xNV0geGVuL2NwdWZyZXE6IGZpeCBjb3JlIGZyZXF1ZW5jeSBjYWxjdWxhdGlvbiBm
b3IgQU1EDQo+IEZhbWlseSAxQWggQ1BVcw0KPg0KPiBPbiAwNi4wMy4yMDI1IDA5OjM5LCBQZW5u
eSBaaGVuZyB3cm90ZToNCj4gPiBUaGlzIGNvbW1pdCBmaXhlcyBjb3JlIGZyZXF1ZW5jeSBjYWxj
dWxhdGlvbiBmb3IgQU1EIEZhbWlseSAxQWggQ1BVcywNCj4gPiBkdWUgdG8gYSBjaGFuZ2UgaW4g
dGhlIFBTdGF0ZURlZiBNU1IgbGF5b3V0IGluIEFNRCBGYW1pbHkgMUFoKy4NCj4gPiBJbiBBTUQg
RmFtaWx5IDFBaCssIENvcmUgY3VycmVudCBvcGVyYXRpbmcgZnJlcXVlbmN5IGluIE1IeiBpcw0K
PiA+IGNhbGN1bGF0ZWQgYXMNCj4gPiBmb2xsb3dzOg0KPg0KPiBXaHkgMUFoKz8gSW4gdGhlIGNv
ZGUgeW91IGNvcnJlY3RseSBsaW1pdCB0byBqdXN0IDFBaC4NCj4NCj4gPiAtLS0gYS94ZW4vYXJj
aC94ODYvY3B1L2FtZC5jDQo+ID4gKysrIGIveGVuL2FyY2gveDg2L2NwdS9hbWQuYw0KPiA+IEBA
IC01NzIsMTIgKzU3MiwyNCBAQCBzdGF0aWMgdm9pZCBhbWRfZ2V0X3RvcG9sb2d5KHN0cnVjdCBj
cHVpbmZvX3g4NiAqYykNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDoNCj4gPiBjLT5jcHVfY29yZV9pZCk7ICB9DQo+ID4NCj4g
PiArc3RhdGljIHVpbnQ2NF90IGFtZF9wYXJzZV9mcmVxKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4
NiAqYywgdWludDY0X3QNCj4gPiArdmFsdWUpIHsNCj4gPiArICAgQVNTRVJUKGMtPng4NiA8PSAw
eDFBKTsNCj4gPiArDQo+ID4gKyAgIGlmIChjLT54ODYgPCAweDE3KQ0KPiA+ICsgICAgICAgICAg
IHJldHVybiAoKCh2YWx1ZSAmIDB4M2YpICsgMHgxMCkgKiAxMDApID4+ICgodmFsdWUgPj4gNikg
JiA3KTsNCj4gPiArICAgZWxzZSBpZiAoYy0+eDg2IDw9IDB4MTkpDQo+ID4gKyAgICAgICAgICAg
cmV0dXJuICgodmFsdWUgJiAweGZmKSAqIDI1ICogOCkgLyAoKHZhbHVlID4+IDgpICYgMHgzZik7
DQo+ID4gKyAgIGVsc2UNCj4gPiArICAgICAgICAgICByZXR1cm4gKHZhbHVlICYgMHhmZmYpICog
NTsNCj4gPiArfQ0KPg0KPiBDb3VsZCBJIHRhbGsgeW91IGludG8gb21pdHRpbmcgdGhlIHVubmVj
ZXNzYXJ5ICJlbHNlIiBpbiBjYXNlcyBsaWtlIHRoaXMgb25lPw0KPiAoVGhpcyBtYXkgYWxzbyBt
YWtlIHNlbnNlIHRvIGV4cHJlc3MgYXMgc3dpdGNoKCkuKQ0KPg0KDQpTb3JyeSwgYmFkIGhhYml0
Li4uIHdpbGwgY2hhbmdlIGl0IHRvIHN3aXRjaA0KDQo+ID4gQEAgLTY1OCwxOSArNjcwLDIwIEBA
IHZvaWQgYW1kX2xvZ19mcmVxKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykNCj4gPiAgICAg
aWYgKCEobG8gPj4gNjMpKQ0KPiA+ICAgICAgICAgICAgIHJldHVybjsNCj4gPg0KPiA+IC0jZGVm
aW5lIEZSRVEodikgKGMtPng4NiA8IDB4MTcgPyAoKCgodikgJiAweDNmKSArIDB4MTApICogMTAw
KSA+PiAoKCh2KSA+PiA2KSAmDQo+IDcpIFwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6ICgoKHYpICYgMHhmZikgKiAyNSAqIDgpIC8gKCgodikgPj4gOCkgJiAweDNmKSkN
Cj4gPiAgICAgaWYgKGlkeCAmJiBpZHggPCBoICYmDQo+ID4gICAgICAgICAhcmRtc3Jfc2FmZSgw
eEMwMDEwMDY0ICsgaWR4LCB2YWwpICYmICh2YWwgPj4gNjMpICYmDQo+ID4gICAgICAgICAhcmRt
c3Jfc2FmZSgweEMwMDEwMDY0LCBoaSkgJiYgKGhpID4+IDYzKSkNCj4gPiAgICAgICAgICAgICBw
cmludGsoIkNQVSV1OiAlbHUgKCVsdSAuLi4gJWx1KSBNSHpcbiIsDQo+ID4gLSAgICAgICAgICAg
ICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSwgRlJFUSh2YWwpLCBGUkVRKGxvKSwgRlJFUShoaSkp
Ow0KPiA+ICsgICAgICAgICAgICAgICAgICBzbXBfcHJvY2Vzc29yX2lkKCksDQo+ID4gKyAgICAg
ICAgICAgICAgICAgIGFtZF9wYXJzZV9mcmVxKGMsIHZhbCksDQo+ID4gKyAgICAgICAgICAgICAg
ICAgIGFtZF9wYXJzZV9mcmVxKGMsIGxvKSwgYW1kX3BhcnNlX2ZyZXEoYywgaGkpKTsNCj4NCj4g
SSBmZWFyIE1pc3JhIHdvbid0IGxpa2UgbXVsdGlwbGUgZnVuY3Rpb24gY2FsbHMgdG8gZXZhbHVh
dGUgdGhlIHBhcmFtZXRlcnMgdG8gcGFzcyB0bw0KPiBhbm90aGVyIGZ1bmN0aW9uLiBJaXJjIHNt
cF9wcm9jZXNzX2lkKCkgaGFzIHNwZWNpYWwgZXhjZXB0aW9uLCBzbyB0aGF0J3Mgb2theSBoZXJl
Lg0KPiBUaGlzIG1heSBiZSBwb3NzaWJsZSB0byBhbGxldmlhdGUgYnkgbWFya2luZyB0aGUgbmV3
IGhlbHBlciBwdXJlIG9yIGV2ZW4gY29uc3QNCj4gKHNlZSBnY2MgZG9jIGFzIHRvIGNhdmVhdHMg
d2l0aCBwYXNzaW5nIHBvaW50ZXJzIHRvIGNvbnN0IGZ1bmN0aW9ucykuIENjLWluZyBOaWNvbGEN
Cj4gZm9yIHBvc3NpYmxlIGNsYXJpZmljYXRpb24gb3IgY29ycmVjdGlvbi4NCj4NCg0KTWF5YmUg
d2Ugc2hhbGwgZGVjbGFyZSB0aGUgZnVuY3Rpb24gX19wdXJlLiBIYXZpbmcgY2hlY2tlZCB0aGUg
Z2NjIGRvYywNCmBgDQphIGZ1bmN0aW9uIHRoYXQgaGFzIHBvaW50ZXIgYXJndW1lbnRzIG11c3Qg
bm90IGJlIGRlY2xhcmVkIGNvbnN0DQpgYA0KT3RoZXJ3aXNlIHdlIHN0b3JlIHRoZSAiYy0+eDg2
IiB2YWx1ZSB0byBhdm9pZCB1c2luZyB0aGUgcG9pbnRlcg0KDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 09:54:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 09:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927447.1330196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNT9-00046p-HN; Wed, 26 Mar 2025 09:54:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927447.1330196; Wed, 26 Mar 2025 09:54: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 1txNT9-00046i-Ei; Wed, 26 Mar 2025 09:54:43 +0000
Received: by outflank-mailman (input) for mailman id 927447;
 Wed, 26 Mar 2025 09:54: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txNT8-0003yw-7z
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:54:42 +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 56835e9d-0a28-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 10:54:41 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so68878225e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 02:54: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-43d4fcea400sm178803215e9.2.2025.03.26.02.54.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 02:54: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: 56835e9d-0a28-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742982881; x=1743587681; 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=EXus/nKSU901hG7n4zUiYodgGn9Wc8k2AuhZETXrFqo=;
        b=aJ+BhnupCqAxQ54K14WNfkoNsnIZMfaCVxeeM771rGmg8UCEopn8gqLpo3sdhc06oJ
         kqNJZ5nfJk1gA/UZXSOEELNj53zk3D0zD5sJrpl7/aT9LWsCZPxJSq9yPFgYiC8q0748
         c2Cjx3hDGvgym/itdrCzp4CxVh43h646j5ZQFU3aUlyMIMibBcASbzsq0GMaLpUFl7gN
         9FzSK7SePYj9Jka9g7K6QPDKoVGZPveor+/aW0RqxNeFvHcHqK19QgBaqnpSRahpwAph
         oPCLsZ9Zuw+lj4ZDSmemkRWuAe5rEemc8NBK8CVDLP7njb9puuosE1MlG1Ma1wGaIahY
         xe3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742982881; x=1743587681;
        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=EXus/nKSU901hG7n4zUiYodgGn9Wc8k2AuhZETXrFqo=;
        b=lJWfL+4M/OaFkHpiQDzBpfWGyC0WIJz0ZrXLdWVE5NxGyFnmxFe2UBv8/Vbg4TTqrs
         z+8rnciMvei9x+p/nDH2ds6QHHozTkOki5PWhBzUxrwJiP90FxXkN7E6/TAMMOULNlzr
         hYi/WDbjvu/3Xxntz0q43MFHtv1IDOiIzJKivDjDpXfoJ2ekqLY/ddYcCg5hjC5KdoNE
         A6z/Nt0P4xmwVd7B1KmU40M5tyOo1DxFpfvxt2ev0vnFj5VHzgnNCXGDN3Pl4Bt+Xdl3
         PYDrX8qPQixdgxgEy3HdZnTd+uOluIjlkVh5dWJP41z3watOmqykLBWqE50IqC+29BOu
         cYHA==
X-Forwarded-Encrypted: i=1; AJvYcCVOAp8nKqpYzHF432MDKuCL4rwlf+UKc7MWDpy+8OwkFVc2+xsREU+pItcHEfdGJ6n9muu3Sny2t/A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHk5YtNSEHSAb3nZjcaKz5KBzCuSD9YA5BIQ1hsXFnZiiq347v
	gRZeyv/hte/fwPXmSJ+bGBRVJvyL9wlG0HqM5oudRoyn7bhaQbBuSaaGQb4V7A==
X-Gm-Gg: ASbGncuvh88AjQmLYlKkE0waKrVglUtwRE84jPSi3i78fQZLRn6TcT40tHKkxfxSEv1
	6aOcm2wJPpjTZAx88bUTSh6kCq2JDruFXY1Ix16aD2i9wGk719caXyO4LG3jwzMO3AOo+90bNab
	A8u7Uw9tUsdXnu2+2zpFQgG2lJy6lg6yTSmQbSzXdBD2XtJzHHisvZYAHxvnLxhd0eFdqfUWYZA
	wU91axlKcjaDVZbhS1gaYD27R6lc7CmdV0yL0+JniyCKaZnWzxhfopX9PagHJll1eYDShpRqK8D
	0IpOPWxioMyLIUjvZTb9osTIWA8gHbKj/R1B+iaGgHBnkNjE0KWyxo5KkZpazPsqsEwZQWeqOgc
	evfUpZRCZ1inKVciGRUXZJU4eWLQJgg==
X-Google-Smtp-Source: AGHT+IFqZHePhoETfc16xiWBUckcYIce5k0a1Q4AJw5QH4OcZJ/ilGsBWGBNLUjLO+JynaUbYVqtSQ==
X-Received: by 2002:a05:600c:1c9b:b0:43d:1b95:6d0e with SMTP id 5b1f17b1804b1-43d50a200e4mr190303225e9.23.1742982880877;
        Wed, 26 Mar 2025 02:54:40 -0700 (PDT)
Message-ID: <8c160573-ca40-4bf0-bf67-ee905fe9fb12@suse.com>
Date: Wed, 26 Mar 2025 10:54:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: "Orzel, Michal" <michal.orzel@amd.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
 <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
 <0957c74f-a53d-4107-bc8d-e13d7c308d39@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: <0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 10:39, Orzel, Michal wrote:
> 
> 
> On 20/03/2025 08:32, Jan Beulich wrote:
>>
>>
>> On 19.03.2025 17:31, Oleksii Kurochko wrote:
>>>
>>> On 3/19/25 12:35 PM, Jan Beulich wrote:
>>>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>>>>
>>>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>>>> mapping table at most takes only one 4KB page, which is enough to
>>>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>>>> translation and EL1 stage 2 translation.
>>>>>>
>>>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>>>> MMU systems, x86 and RISC-V.
>>>>>>
>>>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>>>> the former function with #ifdefs and improve readability
>>>>>>
>>>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>>>> with !ARCH_PAGING_MEMPOOL.
>>>>>>
>>>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>>>> field is not required.
>>>>>>
>>>>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>>>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>>>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>>>>> ---
>>>>>> v3 changes:
>>>>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>>>> v2 changes:
>>>>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>>>>    - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>>>>    - do not define p2m_teardown{_allocation} in this patch
>>>>>>    - change commit message
>>>>>> ---
>>>>>>    xen/arch/arm/Kconfig              |  1 +
>>>>>>    xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>>>>    xen/arch/riscv/Kconfig            |  1 +
>>>>>>    xen/arch/x86/Kconfig              |  1 +
>>>>>>    xen/common/Kconfig                |  3 ++
>>>>>>    xen/include/xen/domain.h          | 17 +++++++
>>>>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>>>>> For RISC-V:
>>>>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>>>> were added to address some build issue, not because they are actively
>>>> meaningful?
>>>
>>> Only because we have stubs and not to have redefinition compilation
>>> error. And, yes, they are not actively meaningful now, at least. I am
>>> okay with not enabling of this config for RISC-V but then seems to me we
>>> have to drop stubs in riscv/stubs.c. ~ Oleksii
>>
>> Well, I don't think it's "have to", but I agree that dropping them would
>> make sense then (and be desirable).
> @Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
> question does not seem to be answered)? Other patches in the series are ready to
> be merged.

While I think Oleksii's reply has sufficiently clarified things, I still wonder:
What question of Luca are you referring to? There's none visible in context here
afaics. The two questions that are visible were raised by me, and answered by
Oleksii (also visible in context above). There was an implication to draw from
that, yes, which Oleksii has now made explicit in his reply to your mail.

And then, formally this still didn't have a REST ack (you limited your R-b to
Arm) nor an x86 one.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:00:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:00:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927467.1330205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNYD-0004wl-2v; Wed, 26 Mar 2025 09:59:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927467.1330205; Wed, 26 Mar 2025 09:59: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 1txNYD-0004we-0J; Wed, 26 Mar 2025 09:59:57 +0000
Received: by outflank-mailman (input) for mailman id 927467;
 Wed, 26 Mar 2025 09:59: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=a+/s=WN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1txNYB-0004wW-Nw
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 09:59:55 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20603.outbound.protection.outlook.com
 [2a01:111:f403:2416::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f5177a5-0a29-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 10:59:53 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DM6PR12MB4169.namprd12.prod.outlook.com (2603:10b6:5:215::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 09:59:48 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 09:59: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: 0f5177a5-0a29-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FoLLBp3qJ5qsvbq2pBxafe/jqQzQJwFOLAN2lAROl4SdcpFwrObbH3ZUc8ma47CtiWe6zZnnoUwSFJneDDzGynhn1x4wsz2+MAMouBgsmAU2YsmrdyhfW8kCyjaOvtiJ+xU/a12reQdVGfS8mYbCu8JG8OH8lan8JvG9jBWX0a26qZC08HJwO6TuDGw7b8vM3xqMkTlvE5I4qrgeaq+JTwAtqvhZq/4vm5RBtNo8+WNLKSsu1IJ//8uHTVrRK5QN222eLLFKBbJFwmc9Hu/i78merxCs3bHEznADgL0/9Bo6DQ7oGNELsGl2PIAXGI4+5cUq/ky4a4RnDpTSA8jrRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EiBQJFD1PwRCMiYsIydQN0wvdz6TU6xqT6I69/+mfSE=;
 b=ORBRTS7TF8W+ymWS8TQ1eV9zq3JljcYZ+G+6dF+Txwvv1MWXYtr0fx4OHA6qPO/4RTaK5EYzHQxu4T4clocGWSSQxIzsOQB9bKTIhoiNpqo3MCLg0crJtOJRdBxQCUvrStxV0hQ2oCmPdy7ri/NG4jT5TJ6KGzSEU5KWlFyqP0BGVBp5d5O3Sv/ufpbhAvJks3pVx1JLGr4FwAI4ylEEuPoMV09NA5u3YQVkuRM9VD9PP3UAGeB2Si9nbszjUsJDvcmeoBC1sWuGYRJpvhDBoPP91Uk+Y0+HEc6Fn/eViGg7qJUNtjMU3QW+eWaXgVNkFpXrOf631MxyjTQodoIvGw==
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=EiBQJFD1PwRCMiYsIydQN0wvdz6TU6xqT6I69/+mfSE=;
 b=Nf0lrYzxNCn563RF3NYTnIEgBeR5bdRxkqX1frbFr49LYR3ROsfBGQH4fv9qsVgTeIXGDWgsLFde7HrN7NjPAlfOFZv3SU6zi5+JVkVkx05qo+XjPndzOw2Jgtu+2yHHuDGSOLpcRGjjkbplqvpizZFFG1zek0uzsCQ0f8KFMU8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e44de603-c2f7-47cf-8c7c-0f63227b723d@amd.com>
Date: Wed, 26 Mar 2025 10:59:36 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: Jan Beulich <jbeulich@suse.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
 <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
 <0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com>
 <8c160573-ca40-4bf0-bf67-ee905fe9fb12@suse.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <8c160573-ca40-4bf0-bf67-ee905fe9fb12@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: ZR2P278CA0001.CHEP278.PROD.OUTLOOK.COM
 (2603:10a6:910:50::9) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DM6PR12MB4169:EE_
X-MS-Office365-Filtering-Correlation-Id: 550d5282-3b3b-4198-318d-08dd6c4cf16d
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?NS8zMXJWVnpvOHQyTU9KelkwbEs4Z2lQWUdQU2NKQTBtQkZ3MDFLNnRRRHk2?=
 =?utf-8?B?VlkwWlc2MExoZEdUOXZQQUl5ZVE3OUtlYnJlckw0TjZ6ejQ4bUg3ZlIzT1ph?=
 =?utf-8?B?QXRsZjdQU0tEbS9TdFQ2bkNYWGh4d1NvMUl4QTUzaG5zSmpQeFVIQk9CMU45?=
 =?utf-8?B?S3R0SkZjR01qbmVaMVMvMGgxUjBhN1RrM3RZbEhrTzYwVk16Vnk4VDExdVJS?=
 =?utf-8?B?eGtFQnNoRXE2NmttMjlNT0J5dUFTaVBXdXJkMWVQaXUrUXY2R3dMakRmSi9Q?=
 =?utf-8?B?ZkZoV245MXl3VUhPUE96RWdDU0hlSEdETGc0bzZ0U0pTdDdKR1hTZXM0ZnNX?=
 =?utf-8?B?Q0JaamUzSWxqQks4MDNKV1lLWFZuZURiTTNaWjYrYWZkZHUrb04ycXlaTGxZ?=
 =?utf-8?B?a3c2ZDRERUJNWk9JYXJvSVIwY1NZSjZZbGl2RWtjU1ZYOXE3c3VYR2pRRGNT?=
 =?utf-8?B?R2piajQvZTdQUzlXcXpsN1J1aC9wMmxYNUJXbjJQYjNick9SYjdOcVArc0lP?=
 =?utf-8?B?Y0ZBakF6blFoaEZQaUxyRkJlSXNmNW5heFF3dXlKQUYyU1NBVVlBb0F2bE1F?=
 =?utf-8?B?cE1NcGQ0dzg5KzhINEJBNVd1MGQ2eVVlNGxQMXBxQU0wRU9qeE9tNHMxaVdq?=
 =?utf-8?B?bWp0ODZhL1ZOZHkxb2ZoSWh1S0Zzd0NuczlIYWJ5Q3R5SlI4UmFaMVBYYldZ?=
 =?utf-8?B?TDhkaVRzUWZONFRIcGFkTmNicXk5YzRNTjlKaW1RMTNsM3pzSlpPQXhpWDBQ?=
 =?utf-8?B?K0d3R3E4RzlvZUpvYTU1ZXFJWXdUVk94V2s3QjNrVWpyYmljRE04WGc4RVA4?=
 =?utf-8?B?QWpNWFNSVTF0cE9pNnpVTW9JalAxcS9uMmxkTDZzRkRhdzBVMnROSVh2L0FR?=
 =?utf-8?B?MTJGaGxEWVpmcWhkOXEyVXlGb2k0R0FXZlJTRzBXUFdBcHFzQkFGSk8vUFg5?=
 =?utf-8?B?V0dpYTlYQmk2eDRzamxHQUh0dEpBcjk0QStpL1phTHBzSnVsakNRRXlLbTh5?=
 =?utf-8?B?cVExSEdwRXZ6KzR3VmtOcHZDOFNPVzVURS9DZHJzTEpNa3oyK3JaYnFYSjBR?=
 =?utf-8?B?UXNwWm1xOTh1TC9SVVdWZDFoYURLbXlnaUh6cCtPQ2hSdXd4aldkbzV4UlRE?=
 =?utf-8?B?NFN6Q0E3UlRtdTV3S0s0R042aGhDOThlNnVxVHlKZlU3L01PcVhycFNBZndQ?=
 =?utf-8?B?OXdDU3o1eHV2SE1DbFBCL01CY2hsNWxUdTVoQTE1ZjFUSEpFOUZVdnFHdEVl?=
 =?utf-8?B?emhsKzlwYll6a0NtZHY5NWRLWmkyR2ppV3l5R3ZydjJsNzJwRWZYQkxBSncx?=
 =?utf-8?B?YXUvdjh0bzZKQy9nMzBvQy83M28ycW4vejFpczhuZzY4Q1NhQnlRQkZuVmlV?=
 =?utf-8?B?UmI2Uyt1Yjg0akRuL2hEMGJYRVJOam1ieXFXcmcxOFFmMUVnVjYzRTdhVDFR?=
 =?utf-8?B?VkFOd3ZUSGkwTGdnTktlVUpzY1J1SjJ5KzQweXpodGVTYVFXWUFFNGI3K3Ji?=
 =?utf-8?B?R2VWRU5iN1BiZ0o1ai9nMmVqSlZpM1NBRU4xYXAxOTBjQ08vTlA1QU9GVmpE?=
 =?utf-8?B?ckFtbXRpUFVGV2JWNXhoaUpJakhwdU44UWwraGxObldKdVg0c1V6d2FNZWhS?=
 =?utf-8?B?d05aby9MaEZVR3ErRmlTdGpnT0dTMVJFVzhWeEJOUUNMVlhPZEZOQWZ0VCtE?=
 =?utf-8?B?Rlc2ZDhmeVdINk1vcEpQRWEwdVpFRVQ1ZnRPYmIzeXVheE5Hc3RVNGFtbVky?=
 =?utf-8?B?ZFE0dzNUK25JdHViSkpka01UQmU4dzkwWm1HUVNiWlAyYzY4YjRCVzY0dGFO?=
 =?utf-8?B?M0I3VVJWYVNHNnVaUGoxK0Y3djA0cDllRkY1VTJnUFJnUFNRVFJOaVpPRWVx?=
 =?utf-8?B?TVJLZ2h1N3VONmE2RWowd2IySVNVTWRzZFlnb0xQTEVVc29KMFQwdGowNlRP?=
 =?utf-8?Q?anOBQeBkVPTLunh1vmympXRQIVAcmUTP?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.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:
	=?utf-8?B?OFZtMHVHN245Z0liaDVwZ2FMek84eXMwWElxTGlDSU1TOVRodW1kYVRjWDBm?=
 =?utf-8?B?OEUvVUU4N2pBRVliL1d5R0JQL2t1UDgrRnM0UkwxdWE1a0VTZ3NoZE0xcElZ?=
 =?utf-8?B?NzFLMXI2S0RZNWVsRjB0TSt6ZXQ0Nld5YzdFZ1RwcDZhQ0FDbFc0MGhLM1VT?=
 =?utf-8?B?M1BJRGdjSTVNcXRQeW83RS9URzNsY28wRUtlSHFTRzBlRTkySUxDQ0RZVEk4?=
 =?utf-8?B?QVRqeE1RZXRzTDF1Tk9aTllPVWE1bEI2VHpocnRRM1p3R29vRHM3S1hua1Ny?=
 =?utf-8?B?aXlqKzRJTUVuVWV6THB3VmZ5QTF5cjQ0eWE2STJHQmE4T2JEa0F6V01BK2ZL?=
 =?utf-8?B?UnM4TFlYUTBXYWM2M2VSSmtlTWxLQlRCdm41M3Q5SU45NWdQeWNRQ2RSUW1F?=
 =?utf-8?B?VnFxc1RwRmJ6bEFFRFg5UFFzYW1vT0l4ekNBUXRTaGNRTk1vR1AzemcwWmR5?=
 =?utf-8?B?K0Y1ZGJyc1BQR3JQUDc5Y2RVOFlJbVBEUUhSZGMxZTlqNnllZGVsTUwwWW1k?=
 =?utf-8?B?Snl0c2t3NE04T1NmeTJMZU1QUllJMGMyMmdOdTlNUUYzOXp2SVBVMnhkZVNP?=
 =?utf-8?B?M0I3SEJWWkl0ZlBRR2FzdG5GMXZ0OFR1eFV2NUV5VXR4MGpsRFY5enFNaS9H?=
 =?utf-8?B?L0N4cWlUUCtFVnJZNDNMaEpYWU15bmZFdGdlMFkvUi9LYk9UU1hWY2RUTEtP?=
 =?utf-8?B?Yjg3Q2NHbjhOdHVCWFVoMjdpYWJQZFZ5VWpBYVFremtYOFJCcWZzR29vNWlw?=
 =?utf-8?B?YVhTcGpxZWtPQ0ZucWl2Z2FUbnpkTm15Q05Xa3J4WVNYMzREZTIvNS9uRkJn?=
 =?utf-8?B?Z1RXNlhlT2xIODNuMTBIYnBpWnd4ck1ER3JkcG9uUHBwdWxKWVptRkxIK3Fn?=
 =?utf-8?B?RVFvZy9BM3RGejd2bkFORmlVdXRzUXFJWUExT1NpS1lYc0FrVmhQbXdaVU45?=
 =?utf-8?B?NFpJdkZFK3JUdi9iR043c25pUkY3N1hKc1ZQL2llTG8zT0NHL2t1THgwVENa?=
 =?utf-8?B?MWN6WE81cjRra1VyMi9YWnZEQndQcUpNUERSMDJGYzNXdEhqaUFuelBQc0hN?=
 =?utf-8?B?Q0MwMzZNT0hHK0pZNk15dVhQOGVvbTE4U1BPa0hncmtZRU1mRjJaNXJFaWMy?=
 =?utf-8?B?YkhnVkhJeCtRSFJhM0NCSVFZSzlBZGlOV1lQZGIrdFJIY2ttcmNqTGY2a2Jp?=
 =?utf-8?B?ZTgzTTZ4NTdoVk1pR2RvUk1EdVpXWDFWa0pKYUpralF4Z1d2bkhraERVTkRo?=
 =?utf-8?B?MHFhYUpvZ0U4bHh5YWFNZVlJcTZ1RFpHT2ZRNXhZeFBER1VUcWVwZVVLNSs4?=
 =?utf-8?B?Sk9JaFRSM1RXZ20vcEw0R1U5VnJiTWNmdVo4Y1RxditDUHV4R2h2TGQzV1Qr?=
 =?utf-8?B?LzBnMTRFc0krLytYTmZUa0ozNDNGbkt5WDFPN01oUkxnS3FTOGF4dmFBUWRT?=
 =?utf-8?B?K0c1OTdMVjBXakFiM3BwTjZzUi90T3hUR0cwUEFGN0NkN1dKNG44bEZKNDVV?=
 =?utf-8?B?R2xZS1pjNTlXSC9mbjYwQ25YQUsrcFAwT1hGdFRPRi85V3B1endNNE94ZGFO?=
 =?utf-8?B?U0k2OC9kYm5vU1Npb0VBbWptamdsQk1Vd29OUCtvYmsyY0N6dWlhZkEwOWE3?=
 =?utf-8?B?RkFwV0JZZE1BODhWaG9JdFVRbWRRaW9peUhmbGhEUzc1WjRVTjlRdkFIS3Rz?=
 =?utf-8?B?dk1hTlY4bW9DNkNhV29jNVBKMDVZNVpDYjJnaExEazVkeElSYTlQS2N2VW9z?=
 =?utf-8?B?eEVTa0VDaFFhS3JtQkdxUVBPYXVOL0xCRzZ3K3JPbnZTQy9mRDhrVlpGdEpw?=
 =?utf-8?B?Y3Z4aUU2VUpTVjNmYmovTlg4VnRGQjU2MjZDZXNmMEd3ajladkl3SFBSd1pi?=
 =?utf-8?B?dUxZVkJJZG5RMFlzVlR6eWVBQkZGUi9lNUl4eDlKdk1aM2VjcTlobU1YcFFn?=
 =?utf-8?B?ZGgvV25IU3RRcEkyUFg2NXVjRXo3N2RvcTJ6MW4xcEdYT0Q2Tk85b3lXbm9J?=
 =?utf-8?B?WW1iY1EwN1dXZE9rMkl5U3owNlhYR0l5SXVFNEo5NllmK042cms1TzlxWG9L?=
 =?utf-8?B?dk5SY0prTnU0TXVoRDFwWU90OW4yTGhHbXJvTmlrZ21OaU8vZE45di8vVzF4?=
 =?utf-8?Q?idapzachOmIrMankGWehWDC9Z?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 550d5282-3b3b-4198-318d-08dd6c4cf16d
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 09:59:48.1071
 (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: gU5m3Ugnht4tYIdZy+HiKJ0ymQfZI/xroa3p1e9bMIscIAq0QQMxglpn7Vg6fULe
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4169



On 26/03/2025 10:54, Jan Beulich wrote:
> 
> 
> On 26.03.2025 10:39, Orzel, Michal wrote:
>>
>>
>> On 20/03/2025 08:32, Jan Beulich wrote:
>>>
>>>
>>> On 19.03.2025 17:31, Oleksii Kurochko wrote:
>>>>
>>>> On 3/19/25 12:35 PM, Jan Beulich wrote:
>>>>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>>>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>>>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>>>>>
>>>>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>>>>> mapping table at most takes only one 4KB page, which is enough to
>>>>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>>>>> translation and EL1 stage 2 translation.
>>>>>>>
>>>>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>>>>> MMU systems, x86 and RISC-V.
>>>>>>>
>>>>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>>>>> the former function with #ifdefs and improve readability
>>>>>>>
>>>>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>>>>> with !ARCH_PAGING_MEMPOOL.
>>>>>>>
>>>>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>>>>> field is not required.
>>>>>>>
>>>>>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>>>>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>>>>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>>>>>> ---
>>>>>>> v3 changes:
>>>>>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>>>>> v2 changes:
>>>>>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>>>>>    - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>>>>>    - do not define p2m_teardown{_allocation} in this patch
>>>>>>>    - change commit message
>>>>>>> ---
>>>>>>>    xen/arch/arm/Kconfig              |  1 +
>>>>>>>    xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>>>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>>>>>    xen/arch/riscv/Kconfig            |  1 +
>>>>>>>    xen/arch/x86/Kconfig              |  1 +
>>>>>>>    xen/common/Kconfig                |  3 ++
>>>>>>>    xen/include/xen/domain.h          | 17 +++++++
>>>>>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>>>>>> For RISC-V:
>>>>>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>>>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>>>>> were added to address some build issue, not because they are actively
>>>>> meaningful?
>>>>
>>>> Only because we have stubs and not to have redefinition compilation
>>>> error. And, yes, they are not actively meaningful now, at least. I am
>>>> okay with not enabling of this config for RISC-V but then seems to me we
>>>> have to drop stubs in riscv/stubs.c. ~ Oleksii
>>>
>>> Well, I don't think it's "have to", but I agree that dropping them would
>>> make sense then (and be desirable).
>> @Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
>> question does not seem to be answered)? Other patches in the series are ready to
>> be merged.
> 
> While I think Oleksii's reply has sufficiently clarified things, I still wonder:
> What question of Luca are you referring to? There's none visible in context here
> afaics. The two questions that are visible were raised by me, and answered by
> Oleksii (also visible in context above). There was an implication to draw from
> that, yes, which Oleksii has now made explicit in his reply to your mail.
Sure thing. I'll clarify. Here Luca asks question to you if it is possible for
RISCV guys to handle it afterwards:
https://lore.kernel.org/xen-devel/D86D58F5-1EDD-4362-B163-5AD25C5DCC51@arm.com/
https://lore.kernel.org/xen-devel/F827A271-0E9B-4240-BB1E-C039E9EE5656@arm.com/
and you did not answer to these e-mails.

> 
> And then, formally this still didn't have a REST ack (you limited your R-b to
> Arm) nor an x86 one.
That's why I asked: "is there anything blocking". Missing REST ack fits into my
query.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:04:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:04:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927475.1330215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNcY-0007dG-Jc; Wed, 26 Mar 2025 10:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927475.1330215; Wed, 26 Mar 2025 10: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 1txNcY-0007d9-GL; Wed, 26 Mar 2025 10:04:26 +0000
Received: by outflank-mailman (input) for mailman id 927475;
 Wed, 26 Mar 2025 10:04: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txNcW-0007d3-Tg
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:04:24 +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 aa7bea7f-0a29-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 11:04:12 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-399744f74e9so4190198f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 03:04: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-3997f9e65besm16538712f8f.65.2025.03.26.03.04.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 03:04: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: aa7bea7f-0a29-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742983451; x=1743588251; 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=tzOL1w/MdP5+VKo/vU/f5HHLIXXry4EJRGo9or/8T5o=;
        b=NqrPg0jQ1q1RzkowHy98G4kynggyBUyTy+OH95KJuZ3Sm8UWdBME5xoUU76beodnss
         0un3xXe71GycQIk1fPzFBBQ4DIv3zZP3vLqATUi4wv+zMxAQKfD0sNDpWhXnWW/UKv/f
         4KJLAW6eOgkpEGwZEtS80jxGnySgX881hq0iwcLmIEMfOcCWVqQUKdBEqTVZEJkbR0E0
         iDeC+yCPlhkdDmbmw6MxRz/vdB5U2rvlaC39KA488wpVCtENd452zzX8OeLqduGAqI6S
         YzHWdLjRX5ivwt7dQJuf1WDshkialJFNNwTidjPPuqXJ5Pnrm/odqiZCQ3jZOLDjzZlS
         r2Aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742983451; x=1743588251;
        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=tzOL1w/MdP5+VKo/vU/f5HHLIXXry4EJRGo9or/8T5o=;
        b=roNaNialOe7+aOsp5AnxX4fzvSGXeHeEj/9nVRnQ9gePGkb7/gcU5uWPAENB9DgIca
         /3nCQugxrEwD+O0phdma8TzWIWH3jl2iJIGKXO9hqZWwa/KSFpod7ESy9hUcXhzEf8tq
         Tej/Jeo5yrz6vDKNngQVdjAeHZ0Zcy1sfmZKk95go+uGO2tLq8GDZxVwAEsaBoqrLpgO
         NwpBu3pOczo5uqqQgOmFypfaEWMEPYBHFRMCPL7UWZf2STga1jTn73YiBgt88DwkDAl/
         0sX2dGR8hKliv6TJCjbE1hv9lAGHZvlAvJOjcs1c50Id4OR+e9qSElU1QKBMHVpJZu+3
         1Eag==
X-Forwarded-Encrypted: i=1; AJvYcCUknHrJ4EjmRLNO/VzV/LpRKSCLh4W3YRpSdzQlmVuEBrFkkKjg/J5Nyv1tEXZCY6yvAKK6MqKh23c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzyKQIXvFGJc/OuM4OS3wKoT3i1ItOo6uIqSfgUmpBbi2zzPjtN
	nUMXSMEz+feFFCHXzsa21DB5euL4xEjO9/FKLwLV8R3sCW89QHSrC0FF4cQtJg==
X-Gm-Gg: ASbGnctChwBT6mc5Hvd8sf1jvSraKZxQg2tvgCvwdOGJ6pWdj4ye36H6T/sh2YwWkjy
	1x8yi5Lmf6zNxgYjsaSl/P0hZ7q8OyIJavEuGqoRYSCWZcQ/B3L0KErmghihqv39WCteaYq4ip+
	Fe5+Ar1QWHTad+NLwTlkf0eMNBwYWWm9iDU0z6/tix705/REh2lNN5K4t0nqRjptTGHNoYqcFaA
	2vbo0x1ogCYNjfe/LbQNsGKoCbcnfa0+Ke68X2xEUtRq121qsVVKopsFXd/++mBZ4TFgfDmpjNv
	RWBGZ7W9c3z0LIhAaLRB8+2ZPm2fqR5xczewUL67wDmiYyI0MteZipCRZ1uS05/X7xvXbLZEKMs
	lrvZxjP+vjHFE0tJfl2Qv+fBEH0vKuQ==
X-Google-Smtp-Source: AGHT+IGpy/ym73Q5qjeP+eOLuVpz4ypqKUT/gAxDimYOtOCfBPxvfkoUECguVzs6nwJJ6O4AgUMY+g==
X-Received: by 2002:a05:6000:418a:b0:391:49f6:dad4 with SMTP id ffacd0b85a97d-3997f94de0dmr14020291f8f.41.1742983451276;
        Wed, 26 Mar 2025 03:04:11 -0700 (PDT)
Message-ID: <2e6598ae-dcc6-4905-b282-662ba7349ce4@suse.com>
Date: Wed, 26 Mar 2025 11:04:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL
To: "Orzel, Michal" <michal.orzel@amd.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Wei Chen <wei.chen@arm.com>,
 xen-devel@lists.xenproject.org, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>
References: <20250317200727.798696-1-luca.fancellu@arm.com>
 <20250317200727.798696-7-luca.fancellu@arm.com>
 <85ba02a9-f9f9-4141-85be-a9a2d431e450@gmail.com>
 <26583ecf-4057-46b1-8f87-f4589d7bec17@suse.com>
 <136cf1c5-d1e5-471d-b560-51632b444e41@gmail.com>
 <94865aea-043b-4f52-adb8-d2d78dba293b@suse.com>
 <0957c74f-a53d-4107-bc8d-e13d7c308d39@amd.com>
 <8c160573-ca40-4bf0-bf67-ee905fe9fb12@suse.com>
 <e44de603-c2f7-47cf-8c7c-0f63227b723d@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: <e44de603-c2f7-47cf-8c7c-0f63227b723d@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 10:59, Orzel, Michal wrote:
> On 26/03/2025 10:54, Jan Beulich wrote:
>> On 26.03.2025 10:39, Orzel, Michal wrote:
>>> On 20/03/2025 08:32, Jan Beulich wrote:
>>>> On 19.03.2025 17:31, Oleksii Kurochko wrote:
>>>>> On 3/19/25 12:35 PM, Jan Beulich wrote:
>>>>>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>>>>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>>>>>> From: Penny Zheng<Penny.Zheng@arm.com>
>>>>>>>>
>>>>>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>>>>>> mapping table at most takes only one 4KB page, which is enough to
>>>>>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>>>>>> translation and EL1 stage 2 translation.
>>>>>>>>
>>>>>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>>>>>> MMU systems, x86 and RISC-V.
>>>>>>>>
>>>>>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>>>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>>>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>>>>>> the former function with #ifdefs and improve readability
>>>>>>>>
>>>>>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>>>>>> with !ARCH_PAGING_MEMPOOL.
>>>>>>>>
>>>>>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>>>>>> field is not required.
>>>>>>>>
>>>>>>>> Signed-off-by: Penny Zheng<penny.zheng@arm.com>
>>>>>>>> Signed-off-by: Wei Chen<wei.chen@arm.com>
>>>>>>>> Signed-off-by: Luca Fancellu<luca.fancellu@arm.com>
>>>>>>>> ---
>>>>>>>> v3 changes:
>>>>>>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>>>>>> v2 changes:
>>>>>>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>>>>>>    - protect also "xen,domain-p2m-mem-mb" reading with HAS_PAGING_MEMPOOL
>>>>>>>>    - do not define p2m_teardown{_allocation} in this patch
>>>>>>>>    - change commit message
>>>>>>>> ---
>>>>>>>>    xen/arch/arm/Kconfig              |  1 +
>>>>>>>>    xen/arch/arm/dom0less-build.c     | 74 ++++++++++++++++++++-----------
>>>>>>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>>>>>>    xen/arch/riscv/Kconfig            |  1 +
>>>>>>>>    xen/arch/x86/Kconfig              |  1 +
>>>>>>>>    xen/common/Kconfig                |  3 ++
>>>>>>>>    xen/include/xen/domain.h          | 17 +++++++
>>>>>>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>>>>>>> For RISC-V:
>>>>>>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>>>>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>>>>>> were added to address some build issue, not because they are actively
>>>>>> meaningful?
>>>>>
>>>>> Only because we have stubs and not to have redefinition compilation
>>>>> error. And, yes, they are not actively meaningful now, at least. I am
>>>>> okay with not enabling of this config for RISC-V but then seems to me we
>>>>> have to drop stubs in riscv/stubs.c. ~ Oleksii
>>>>
>>>> Well, I don't think it's "have to", but I agree that dropping them would
>>>> make sense then (and be desirable).
>>> @Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
>>> question does not seem to be answered)? Other patches in the series are ready to
>>> be merged.
>>
>> While I think Oleksii's reply has sufficiently clarified things, I still wonder:
>> What question of Luca are you referring to? There's none visible in context here
>> afaics. The two questions that are visible were raised by me, and answered by
>> Oleksii (also visible in context above). There was an implication to draw from
>> that, yes, which Oleksii has now made explicit in his reply to your mail.
> Sure thing. I'll clarify. Here Luca asks question to you if it is possible for
> RISCV guys to handle it afterwards:
> https://lore.kernel.org/xen-devel/D86D58F5-1EDD-4362-B163-5AD25C5DCC51@arm.com/
> https://lore.kernel.org/xen-devel/F827A271-0E9B-4240-BB1E-C039E9EE5656@arm.com/
> and you did not answer to these e-mails.

I simply saw no need after Oleksii had replied.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:14:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927490.1330226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNlw-0001QX-GW; Wed, 26 Mar 2025 10:14:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927490.1330226; Wed, 26 Mar 2025 10: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 1txNlw-0001QQ-Dq; Wed, 26 Mar 2025 10:14:08 +0000
Received: by outflank-mailman (input) for mailman id 927490;
 Wed, 26 Mar 2025 10:14: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=MSYx=WN=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1txNlu-0001QI-AC
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:14:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b5107fc-0a2b-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 11:14:04 +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 222954EF54C1;
 Wed, 26 Mar 2025 11:14:03 +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: 0b5107fc-0a2b-11f0-9ffa-bf95429c2676
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=1742984043;
	b=5N40C8DwNP9wRqlVdb000yHKuWh4YVElxxngD9w1HFElNb/BEHWmgJEB3uZaluQt8cYX
	 MKrssO82qkTgDLSFhRKTer2Q15O7JQGOwYxqw5UdgePFY7cBp3tNpf7AVi9GEVUjAMqHM
	 9jKgL98FR/pkqzAKEhLNz+ItP8PPAEf2ejUPmsLE6BhsAXtJ3gixVARPKOqP3Ejip94mR
	 1MUq/WAgAoZJGQq5n3DG4C3DfyWmofocMslrVZ58MFrTg8S4rm4Modjbhd8NN+V8/spTq
	 Dp5jcDZTDlv1lq3pddOGRd2j53/X6vx2Ila/uCgMY2PklT756NCyDuC4pN3wdTJv3Kb+v
	 ik9n8VAujbLLd2OjUw4OuE3JOUDBOfJ3IVjaeSP6IQLyJ6n0pzdYrEGFsBOk6bg3+D8zQ
	 dkJzLq5aKqjPZpBizkmziD7Udy/Dpmxzec+OLTO3Nb8qsmBVB3ajt1i0bwgov9lS06+RE
	 XxgpjXDS/MLT0FdqmwhfxNkjiTDFr459xm7xwvOALskiAcSBvkYNDHiJ9WsP1atGaOZ7y
	 ryQJVMusAIYQlfWpeGPdCSoo5vSHTkGp4TfzVi0QxFFchU9sDmxK7txaC05x9U/JRUdiM
	 wOlYfuRHSL3vqW0VZ3xvZZqFXR/wexYVcR5Du2obuuaU1SzH1dHHOZK/QvL5e8I=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1742984043;
	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=DdK4HC7iE54y+adqKmx4zHivQDPXky7roNxw5cClheM=;
	b=x+wBI30WQqkYdMfK20wQAMasuYgWA/73ZPu5dSG2uO1E1LJAsh2OXADfv5tJz7if9Edw
	 MwmV5V4Vi25Nblqf+sz9rVF+wnmSMrm+NTaHolWBtA7TWj84Oqtlu2dyCEwq2gzVIHJfc
	 rHblPWnTzJuoykq7RzZRHFdIT/3kEhnomgQn7qXMajB9iZfnD0e9VXOWXsN7L5YfVmRwG
	 StpiwP+ePD+4E/jLpR0gn+YcNVBlRbmM1AL8YJR5VK+m+cDhTrhtywcSWf8wD/nnFqdJt
	 krCVqqtUjAZtnZbn4OntF513dxOCb4Hn3BD8xRzZFMBPCrAwtktARA5ptZk//fVPg7aM0
	 LD7MjVmCci6JkB3o8gdOnIQcfU4gTdIVmxOXcRfimMizLYxoR5rGPMbFx8SV+2GAYuj/1
	 oLR0TtlTQIq9TqqVYgyxn9W7mdctXDKtyoCWuin5Qs/eQ3x6+W5SkhiEUv3OLpELARMBX
	 Cc3q8iR6im8wrDLuoepqokCcZnZXR/EcRTTyp10vOVJ0NEe6RHHeaXdmw0iWcvCvkyGnn
	 GBO5OAwuM5DijQg01LPghWuGo2HY/mTQVzm+GfueHDOLP4YZe4/lcRzGapuGk0I16X0iX
	 9yo86QOPhsLy+ZWhbaJVmygY8KXORn5Wm8WwIAVuSIKoGJTGxNARqKg2BJ9L2lg=
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=1742984043; bh=Y2Copzs7EacwFlYJXhOu5Vgi8SEO+XWIAsWG4caQKgc=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=bn/QbvPfMJl/4wQ60v922xXlZrUYHagzfifKuAVVSYo8jyQn2r2FGOdD3c1JcXH7a
	 SDdmegQr3Cp+i4JN165CKL4xeI5F+X3EbdQGZ4GVr7US9WiMXTV41Z4O5ydDfZcuGJ
	 RzoYkhaf6QIKdWLUpDmjXSA6ylWq0nWrxASvn9wmlZ1FzJtmflBxqxWW9hvfweyDlu
	 KGJwBv93/LG0BvmsD8pyEBTnjUofeJZlwbjEtURUsnmmsdjyfrNwqRuB++tz9/nGvE
	 Rt62Jga16MXb4Kc1zVHxUKv7ZSCNW4dkR1LA1tNQb/uz5UxGvhf5JhoYBX2ZvXW8sG
	 Xxkso+tBrasDw==
MIME-Version: 1.0
Date: Wed, 26 Mar 2025 11:14:03 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: "Penny, Zheng" <penny.zheng@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, "Huang, Ray" <Ray.Huang@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 07/15] xen/cpufreq: fix core frequency calculation for
 AMD Family 1Ah CPUs
In-Reply-To: <DM4PR12MB84515BDB3E64C4AEA561B266E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-8-Penny.Zheng@amd.com>
 <0b340303-db4e-4723-b53d-178b2676a36c@suse.com>
 <DM4PR12MB84515BDB3E64C4AEA561B266E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
Message-ID: <3e0155aeee7a8629801adbc9c78a5bb6@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-03-26 10:54, Penny, Zheng wrote:
> [Public]
> 
> Hi,
> 
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Monday, March 24, 2025 11:48 PM
>> To: Penny, Zheng <penny.zheng@amd.com>
>> Cc: Huang, Ray <Ray.Huang@amd.com>; Andrew Cooper
>> <andrew.cooper3@citrix.com>; Roger Pau MonnĂŠ <roger.pau@citrix.com>; 
>> xen-
>> devel@lists.xenproject.org; Nicola Vetrini 
>> <nicola.vetrini@bugseng.com>
>> Subject: Re: [PATCH v3 07/15] xen/cpufreq: fix core frequency 
>> calculation for AMD
>> Family 1Ah CPUs
>> 
>> On 06.03.2025 09:39, Penny Zheng wrote:
>> > This commit fixes core frequency calculation for AMD Family 1Ah CPUs,
>> > due to a change in the PStateDef MSR layout in AMD Family 1Ah+.
>> > In AMD Family 1Ah+, Core current operating frequency in MHz is
>> > calculated as
>> > follows:
>> 
>> Why 1Ah+? In the code you correctly limit to just 1Ah.
>> 
>> > --- a/xen/arch/x86/cpu/amd.c
>> > +++ b/xen/arch/x86/cpu/amd.c
>> > @@ -572,12 +572,24 @@ static void amd_get_topology(struct cpuinfo_x86 *c)
>> >                                                            :
>> > c->cpu_core_id);  }
>> >
>> > +static uint64_t amd_parse_freq(const struct cpuinfo_x86 *c, uint64_t
>> > +value) {
>> > +   ASSERT(c->x86 <= 0x1A);
>> > +
>> > +   if (c->x86 < 0x17)
>> > +           return (((value & 0x3f) + 0x10) * 100) >> ((value >> 6) & 7);
>> > +   else if (c->x86 <= 0x19)
>> > +           return ((value & 0xff) * 25 * 8) / ((value >> 8) & 0x3f);
>> > +   else
>> > +           return (value & 0xfff) * 5;
>> > +}
>> 
>> Could I talk you into omitting the unnecessary "else" in cases like 
>> this one?
>> (This may also make sense to express as switch().)
>> 
> 
> Sorry, bad habit... will change it to switch
> 
>> > @@ -658,19 +670,20 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
>> >     if (!(lo >> 63))
>> >             return;
>> >
>> > -#define FREQ(v) (c->x86 < 0x17 ? ((((v) & 0x3f) + 0x10) * 100) >> (((v) >> 6) &
>> 7) \
>> > -                                : (((v) & 0xff) * 25 * 8) / (((v) >> 8) & 0x3f))
>> >     if (idx && idx < h &&
>> >         !rdmsr_safe(0xC0010064 + idx, val) && (val >> 63) &&
>> >         !rdmsr_safe(0xC0010064, hi) && (hi >> 63))
>> >             printk("CPU%u: %lu (%lu ... %lu) MHz\n",
>> > -                  smp_processor_id(), FREQ(val), FREQ(lo), FREQ(hi));
>> > +                  smp_processor_id(),
>> > +                  amd_parse_freq(c, val),
>> > +                  amd_parse_freq(c, lo), amd_parse_freq(c, hi));
>> 
>> I fear Misra won't like multiple function calls to evaluate the 
>> parameters to pass to
>> another function. Iirc smp_process_id() has special exception, so 
>> that's okay here.
>> This may be possible to alleviate by marking the new helper pure or 
>> even const
>> (see gcc doc as to caveats with passing pointers to const functions). 
>> Cc-ing Nicola
>> for possible clarification or correction.
>> 
> 
> Maybe we shall declare the function __pure. Having checked the gcc doc,
> ``
> a function that has pointer arguments must not be declared const
> ``
> Otherwise we store the "c->x86" value to avoid using the pointer
> 

Either way could work. ECLAIR will automatically pick up 
__attribute__((pure)) or __attribute__((const)) from the declaration. 
Maybe it could be const, as from a cursory look I don't think the gcc 
restriction on pointer arguments applies, as the pointee is not modified 
between successive calls, but I might be mistaken.

>> Jan

-- 
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 Mar 26 10:15:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:15:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927498.1330236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNnN-0001zD-Qm; Wed, 26 Mar 2025 10:15:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927498.1330236; Wed, 26 Mar 2025 10:15: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 1txNnN-0001z6-O9; Wed, 26 Mar 2025 10:15:37 +0000
Received: by outflank-mailman (input) for mailman id 927498;
 Wed, 26 Mar 2025 10:15: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txNnM-0001z0-JV
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:15:36 +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 41efcd61-0a2b-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 11:15:35 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso68790985e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 03:15: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-3997f995789sm16578049f8f.17.2025.03.26.03.15.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 03: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: 41efcd61-0a2b-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742984135; x=1743588935; 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=BLGvwRuPzyHXP8A5lFnMpjukB2zMpyYrEK7RawneQPQ=;
        b=IRvmFvO3CjxKB4dQF4ot9NHyzwMwqB+dxeJqQURAdb4EdIM13EaVIMwbkJBRlTW499
         Zuh4qwzXsbFAYLWOR9GBg7MktVqppV2KyYnZlZ48LxU593kAbcavIQ9lBxBjSQZF8Kgx
         gxWw0Zodfz7sDL8WKSSO/umufecqyacXok6jdnsu8cFylsJBCKcxt/bX4vJf9gC4jFeW
         B9LJ23XsV5C8JN5W0Ou1VQkOuNQpPnn1ZH3weaVYj1zpKvSBOsehniJ+ElVHuRQ4xbTn
         hOvF4Vz2PzkmPIHvQv3q3NwiByBUEJ8BDYodLqkqE+Fa9J8BIhQoOYfCnTeIB8hOaQpV
         9efA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742984135; x=1743588935;
        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=BLGvwRuPzyHXP8A5lFnMpjukB2zMpyYrEK7RawneQPQ=;
        b=wULA7lWUGm5Ee1SXdF5iNEKfGxRImPhB9HpEMYpgCUX1z2Pzx/MRTlJAK6PqkN1J0W
         7ILSFeSEv/w72RQj3cr2Z+qRW+KH1Gfdo27c6ikVCJMxAdBIY/xxynbvW7gZNq+Ra82e
         HfJqQd2P1OelLvPPEiYoaqCqqV/1ziJ5B5cLKkYGHzCT064ZllHg1oT9TYk8kzQazsLv
         dQ9MelF1K1HmdbbYDx7gScyC4WncY5H3EJanEhJy9Nl2tAze6+MaG1HhA7EqhAGtxxT5
         Ra/BzWZIYUpfJ9phFdeGz0bksQi1bo6WPocRQXnUmUTAcVgZHl4lfBfOAqHKLZtUpgl2
         XjwA==
X-Gm-Message-State: AOJu0YyLd9pGbup9mFmWmoa5G/K9CTbgnSJDwb5L2wsM/GYZxUH86crb
	fMoUo5HmD6xC7k55OS36kheD2p7XPweRtEdFTP7ISmZ0R8i95cDMkC5e9yc3rg==
X-Gm-Gg: ASbGnctnVMPiEPmFZXTrUNe/tlXH9XV2+isPROVEn1gOxUtO4AIDpduRax1MyIdcxES
	QSpLFfrr/77x+/i1TedcRiHRTWmULuYIXp1KuiPjdUuHFSXQgjuj4lpJbeiXf5GXlvP0+39pFl6
	2UmZzDA/yJskgzI/hb8627imkLPCeVwbNSdkAA1RQGiL1Rdb6gYIn+vxhaIde4TXdJw0czBeq5H
	AVpnxDZBsOIWiVKkpRGHdbTMeZAMlW5g8JJBKizaXNqYqiso//JuzcrPrjvssqHofs2aiW6wuli
	LzwTRVZ811J0TpsKQrm8yw/k76e2SV0vsAmmGC55OYr8LOdY408yPUCOiBayut3YzkljX0XfF4T
	2VexJGE4yygIvA+FdajdhAdq3lhTRHw==
X-Google-Smtp-Source: AGHT+IFDn9Sy97Xl+fpcciX/1eAPzmHc4KGnt9AKRixpAbdtdHWK7GS53XpXCyB0KQFlizS0GkGMHg==
X-Received: by 2002:a05:600c:5021:b0:43c:e8a5:87a with SMTP id 5b1f17b1804b1-43d509f573cmr206954865e9.16.1742984134884;
        Wed, 26 Mar 2025 03:15:34 -0700 (PDT)
Message-ID: <3014e6b4-0732-4d80-82e5-44dcd517f2b5@suse.com>
Date: Wed, 26 Mar 2025 11:15:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
 <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
 <927264c2-0b99-4d60-97f8-31bcd0d64aa6@suse.com>
 <a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com>
 <7cfbd773-de4b-459f-8fa9-7c6ed19fe0ad@gmail.com>
 <52bd483a-c5bf-4eba-867f-3476b1b86550@suse.com>
 <a852cb38-79fc-4b9d-b0a0-b69e277c2b82@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: <a852cb38-79fc-4b9d-b0a0-b69e277c2b82@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.03.2025 18:04, Oleksii Kurochko wrote:
> 
> On 3/25/25 5:46 PM, Jan Beulich wrote:
>> On 25.03.2025 17:35, Oleksii Kurochko wrote:
>>> On 3/7/25 1:12 PM, Andrew Cooper wrote:
>>>> On 07/03/2025 12:01 pm, Jan Beulich wrote:
>>>>> On 07.03.2025 12:50, Oleksii Kurochko wrote:
>>>>>> On 3/6/25 9:19 PM, Andrew Cooper wrote:
>>>>>>> On 05/03/2025 7:34 am, Jan Beulich wrote:
>>>>>>>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>>>>>>>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>>>>>>>> retain a shorthand of that name, if so desired, but I see no reason why
>>>>>>>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
>>>>>>> The concern is legibility and clarity.
>>>>>>>
>>>>>>> This:
>>>>>>>
>>>>>>>    Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>>>>>>>
>>>>>>> is a clear expression in a way that this:
>>>>>>>
>>>>>>>    Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>>>>>>>
>>>>>>> is not.Â  The problem is the extra binary expression, and this:
>>>>>>>
>>>>>>>    Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>>>>>>>
>>>>>>> is still clear, because the reader doesn't have to perform a multiply to
>>>>>>> just to figure out what's going on.
>>>>>>>
>>>>>>>
>>>>>>> It is definitely stupid to have each architecture provide their own
>>>>>>> BITS_PER_*.Â  The compiler is in a superior position to provide those
>>>>>>> details, and it should be in a common location.
>>>>>>>
>>>>>>> I don't particularly mind how those constants are derived, but one key
>>>>>>> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
>>>>>> What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)
>>>>>>
>>>>>> #define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
>>>>>> #define BITS_PER_INTÂ  (BYTES_PER_INT << 3)
>>>>>>
>>>>>> #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
>>>>>> #define BITS_PER_LONG (BYTES_PER_LONG << 3)
>>>>>> #define BITS_PER_BYTE 8
>>>> The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
>>>> straight up, and this will simplify quite a lot of preprocessing.
>>> Could we really drop *_BYTEORDER?
>>>
>>> For example, LONG_BYTEORDER for Arm could be either 2 or 3 depends on Arm32 or Arm64 is used.
>> The can still #define BITS_PER_LONG to 32 or 64 respectively, can't they?
> 
> Yes, but then if we want to move it to xen/config.h then it will be needed to:
> in Arm's asm/config.h to have something like:
>    #ifdef CONFIG_ARM_32
>        #define BITS_PER_LONG 32
>    #endif
> 
> and then in xen/config.h
>    #ifndef BITS_PER_LONG
>        #define BITS_PER_LONG 64
>    #endif
> 
> But I wanted to not have #ifndef BITS_PER_LONG in xen/config.h. (or using CONFIG_ARM_32 in xen/config.h)

Whatever the fundamental definitions that can vary per arch - those should
imo live in asm/config.h. For the case here, if we deem *_BYTEORDER as
fundamental, they go there (and BITS_PER_* go into xen/config.h). If we deem
BITS_PER_* fundamental, they go into asm/config.h.

Stuff that we expect to remain uniform across ports (BITS_PER_BYTE, possibly
also BITS_PER_INT BITS_PER_LLONG) may also go into xen/config.h, as long as
we're okay with the possible future churn if a port appeared that has
different needs.

I agree that there better wouldn't be #ifndef for such in xen/config.h.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:18:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927518.1330245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNqY-00042X-80; Wed, 26 Mar 2025 10:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927518.1330245; Wed, 26 Mar 2025 10:18: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 1txNqY-00042Q-5U; Wed, 26 Mar 2025 10:18:54 +0000
Received: by outflank-mailman (input) for mailman id 927518;
 Wed, 26 Mar 2025 10:18: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=Mf06=WN=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txNqW-00042K-T7
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:18:52 +0000
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [2607:f8b0:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b65876b1-0a2b-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 11:18:51 +0100 (CET)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-22403cbb47fso130744655ad.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 03:18:51 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-22780f3966esm106377465ad.13.2025.03.26.03.18.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 03:18: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: b65876b1-0a2b-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742984330; x=1743589130; darn=lists.xenproject.org;
        h=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=Db10ZU16XpLJFmNhtVonPGqlBLb3EZGYInBr3P0oVkQ=;
        b=FmXZQc0zwtdOz2mCAP3xeM+lqyihQpJdEq6u5MkJpVAbY1P7Y4Ha6bcORUC+nCS9CE
         0rrCm/5pKuDsUN+zdBuMwDZEFYN55tLjbD8GQ/SxRJfd1YQKbH+Md6AMaNy5pJBWHBTV
         A5HaptW4pNamPLO4U8Gmi5WxPIIOYocqfy7/M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742984330; x=1743589130;
        h=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=Db10ZU16XpLJFmNhtVonPGqlBLb3EZGYInBr3P0oVkQ=;
        b=UIc4H7o1xIsMfP49R6Hrkcs9y6zZkd06M7XHPLeK/LWILkaGufvZHh426DFXSQFQOA
         doTMzibLLcCmW63K25CyiynMOJR8lu9Sd7z2u/Pvi5kX9oKwF2SVRfVRalmHNCmc7b2z
         HwUwpJxsFMvnO2a7HzUqoju/ksIrztX/yVqC7ejRSRFK8bD+zhMu7RPnHXkKNcne6ysL
         eIRN3qshFKYS2vI24YO9htmcUQdbLGBarve2Z1kOpw8rXbbE2K8ugzmtYMqJcafJWpEO
         T6hO6rFfriTGt+7Pngyf/WynuxgmuncM0BlbCRdw6VrPuBrBmQmWVrRdbOueHICX0cre
         800Q==
X-Gm-Message-State: AOJu0YxOxQ+4CCu8DBFZD4ahJ9QuRzF0eoID640vxG31nWJSWk7Oqw5N
	jQTQq4/t0h9xz7UtJuSD11YApY7IW7CYsMw2cDM64lre4aqm02WUcqnxOQg9iME=
X-Gm-Gg: ASbGncvkg2B35tuE9zZdhYWmPwg98h8ltAH14LpHSpikvugBNHclA15NGNjjKsDKvbz
	8nXVfyqTn1mU08NZBjWUgGuJRi05yX02MichqgJgaiHG8aKSaQxzFTHZR/DYFIWAYozcskbjW2s
	ePaoRSSL96/40INbMIyha9z2yn3UYX5qmGTzkIObr+M9z3nkNqz9OCJGjNihmcerwWNW6EFw+27
	4quLJUS0JxWN8DnNx7ZjxidgNMKKsSs+qVHynRXz4TculCMsx7ML9axnTMahFsldowqr0e4yX2+
	LzxsTNs5z2JFM1hSE8PvlnHtBgHXaqMCSsPIR64k86w31SsaHw==
X-Google-Smtp-Source: AGHT+IHf0vUmRm/KTp+g9tg2N8FmUeOWyQJto2vPEs4MTPoZ8vaiyNP2BVhhXuWNOQXQZmRavEZOOg==
X-Received: by 2002:a17:903:46c5:b0:220:d79f:60f1 with SMTP id d9443c01a7336-22780e122dcmr296161435ad.42.1742984329879;
        Wed, 26 Mar 2025 03:18:49 -0700 (PDT)
Date: Wed, 26 Mar 2025 11:18:44 +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>
Subject: Re: [PATCH] x86/PVH: expose OEMx ACPI tables to Dom0
Message-ID: <Z-PUhO3C1qp3L8-l@macbook.local>
References: <c9365d42-c15d-4d93-acd8-106ca46cb7f3@suse.com>
 <Z-PHJk8GT-y1NnHl@macbook.local>
 <59685c88-44c6-43fe-9f6e-1121d51fd76f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <59685c88-44c6-43fe-9f6e-1121d51fd76f@suse.com>

On Wed, Mar 26, 2025 at 10:45:18AM +0100, Jan Beulich wrote:
> On 26.03.2025 10:21, Roger Pau MonnĂŠ wrote:
> > On Wed, Mar 26, 2025 at 09:45:09AM +0100, Jan Beulich wrote:
> >> What they contain we don't know, but we can't sensibly hide them. On my
> >> Skylake system OEM1 (with a description of "INTEL  CPU EIST") is what
> >> contains all the _PCT, _PPC, and _PSS methods, i.e. about everything
> >> needed for cpufreq. (_PSD interestingly are in an SSDT there.)
> >>
> >> Further OEM2 there has a description of "INTEL  CPU  HWP", while OEM4
> >> has "INTEL  CPU  CST". Pretty clearly all three need exposing for
> >> cpufreq and cpuidle to work.
> >>
> >> Fixes: 8b1a5268daf0 ("pvh/dom0: whitelist PVH Dom0 ACPI tables")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Thanks.
> 
> >> ---
> >> Sadly the commit above says nothing at all about the criteria used by
> >> which tables would want to be whitelisted.
> > 
> > I think at that point it was mostly an allow list that enabled me to
> > boot PVH on the systems I was testing.  I don't think it was intended
> > to be complete, but rather something that we would expand as needed.
> > There where many and bigger missing pieces of PVH dom0 when that was
> > committed.
> 
> To be frank, with that it was premature to declare PVH Dom0 fully supported.
> This aspect also isn't mentioned in the caveats in SUPPORT.md.

It's supported with caveats, so I wouldn't call it fully supported.
See for example the recent addition of the pf-fixup option.

Note the wording in SUPPORT.md:

"PVH dom0 hasn't received the same test coverage as PV dom0, so it can exhibit
unexpected behavior or issues on some hardware.

At least the following features are missing on a PVH dom0:"

I think it's quite clear from the usage of "at least" that the list of
caveats might not be complete.  The missing ACPI tables would just be
one extra caveat, which sadly we didn't list.

> >> Further tables on said system
> >> which weren't blacklisted prior to that commit, yet which also aren't
> >> whitelisted are DBGP, DBG2, FIDT, LPIT, MIGT, MSCT, NITR, PCCT, RASF,
> >> SVOS, UEFI, WDDT, and WSMT. Even without diving into the details of any
> >> of them it seems pretty clear to me that at least some would want
> >> whitelisting, too.
> > 
> > I cannot find any reference about: FIDT, MIGT, NITR, SVOS and WDDT in
> > the ACPI spec.
> 
> WDDT - Watchdog Descriptor Table (Table 5.6 in spec version 6.5)
> 
> > The MSCT I think we don't want to expose, as it's related to topology
> > data.
> > 
> > Regarding RASF I would be slightly worried about the patrol scrub
> > feature.  The memory map exposed to dom0 will be different from the
> > native one, and there's also the interposed p2m.
> 
> Thing is - either kind of Dom0 needs to have a sufficient level of insight
> into the host memory map to support memory-related RAS features. Which may
> mean that RASF may only be exposed if the Dom0 kernel declares itself as
> aware of the need to consider data there to refer to a separate address
> space.

Yes, but then, how is a PVH dom0 going to be aware of such addresses?
Given the automatic translation of gfn -> mfn that's completely hidden
from dom0.

I'm not saying it can't be done, but I think RASF shouldn't be exposed
to a PVH dom0 until we understand how such feature is supposed to work
with the interposed p2m and the fabricated memory map available to a
PVH dom0.  Note a PVH dom0 can still get the host memory map from the
XENMEM_machine_memory_map hypercall.

> >> --- a/xen/arch/x86/hvm/dom0_build.c
> >> +++ b/xen/arch/x86/hvm/dom0_build.c
> >> @@ -1010,12 +1010,20 @@ static bool __init pvh_acpi_table_allowe
> >>              return true;
> >>          else
> >>          {
> >> +    skip:
> >>              printk("Skipping table %.4s in non-ACPI non-reserved region\n",
> >>                     sig);
> >>              return false;
> >>          }
> >>      }
> >>  
> >> +    if ( !strncmp(sig, "OEM", 3) )
> >> +    {
> >> +        if ( acpi_memory_banned(address, size) )
> >> +            goto skip;
> >> +        return true;
> >> +    }
> > 
> > I may have put this ahead of the loop, so that the goto label doesn't
> > go backwards (which always feels weird to me).
> 
> It felt odd to me to put it first; I'm almost always hesitant to add stuff
> to the front of something that's already there, due to the possible
> implication of "what I add is more important than what was there before".
> 
> As to label vs goto placement: It's the other way around for me. C wants
> everything else declared before use. Hence I prefer to have labels appear
> before their use. I'm actually puzzled by Misra not sharing that view,
> and instead having Rule 15.2 (which we haven't adopted yet afaics) to
> demand the opposite (and assuming Rule 15.1 is being violated in the
> first place).

Oh, I see.  No strong opinion really.

> >> +
> > 
> > I wonder if additionally we should print tables filtered to dom0 here:
> > 
> > if ( opt_dom0_verbose )
> >     printk("Hidden ACPI Table %.4s\n", sig);
> > 
> > So that it's more obvious which tables are not exposed.
> 
> I, too, thought about that, but assumed it may not have been done before
> for a reason. Plus it would want to be a separate change anyway, imo.

Indeed, it should be a separate change, sorry if my comment made it
look I would rather merge with the current commit.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:19:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927526.1330256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNrA-0004Um-GI; Wed, 26 Mar 2025 10:19:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927526.1330256; Wed, 26 Mar 2025 10:19: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 1txNrA-0004Uf-DK; Wed, 26 Mar 2025 10:19:32 +0000
Received: by outflank-mailman (input) for mailman id 927526;
 Wed, 26 Mar 2025 10:19: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txNr9-00042K-GP
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:19:31 +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 ce0b9a42-0a2b-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 11:19:30 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so59874395e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 03:19: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-3997f9a3f2asm16532849f8f.30.2025.03.26.03.19.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 03:19: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: ce0b9a42-0a2b-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742984370; x=1743589170; 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=enaZ41R7a26K5TcpXO33gsxTdPnQnO4M4gP9U1VD8iA=;
        b=YR2JUqso92HlRzm2JfhgWYuS++LoA8Ma8eVLAFYPvAqZ8v6aaUIYj28wVXCmmNsd8m
         iF5FwJ85pba18LoqxivhMuIk5WqevnncTh5EescB8VU7VG/ag7WAlVjunmWhRnvq1j/u
         Q/KjHqXhQMdhsy2YVe9CkLO5hEjdF3spbmDSQ3TglQoupkaMzdMHolrQM0A6kP3t6ltT
         fsIUFALIWUh9TCDUnucre7y+ZMQsK/ABEltlONd0q4vQ1i/hTJ/TwnJWpeB1ocOkADdY
         TRFvlOE/GacTmGnKTKbc1VFcXOJFNxeRNBNJJ2bVh8pUoSdfTmIdWhHICjcIOVOsG7PJ
         BDBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742984370; x=1743589170;
        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=enaZ41R7a26K5TcpXO33gsxTdPnQnO4M4gP9U1VD8iA=;
        b=xTH+FiJ1tUHzM6MFHIFBjKzPNGcMQxnbpH4LwGZu1Qn7no9Hh8qJhI1ny3JfFwmJqc
         Git8e2PpETwriuR67KvmDWr/nhvlg5O7bmL8eMYoOdQrv1UYNCaFuCNb49wPJPR2GVbd
         Cr8cLg55Ma8oB+yQhMAxATqrAU7xbGV+q9An89EOmjBG3KCigQIoWP4O1Ln7sdywEKqG
         ng8mHPTnOPRdnhfZA5Un65ttjHjQJGEZvNT9RUODawOMbgYwYRjd7bFdDJJr2dBBFzmp
         I2/BIE9OvdVbwERuBsoFu8Uebbf1PVTRVI5M5iRp243MF4yCQEC0d7tB4YLxBKJAUReU
         xEQA==
X-Forwarded-Encrypted: i=1; AJvYcCV69q/xmnUTRtyfzZXOuGWBXsYr2O+4X05n2zyZqm9QlKSDBm16BNlYR7Pm03xwiXeKloROcAIFjuw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwauWUnH+g+co+j4/e7Oo2Jfz2pZFbtKmojZTUa6D4iEtM8yhTw
	d4BQNf885TVLdhgFiTnPzM9F35B30g6F4RHWWCCWsJ+qUKp0TUGT/62YeGJ+8A==
X-Gm-Gg: ASbGncuJX5mHyViIXFThgHQ3S3aCE8leMBhTLt18lFGkMmBttQ3tggeCbkOcxhBi5zv
	D3bvoAC3qSNmqO8u53CNvUrJVoM/Wgb/I7szuhemjxyVJC3srp7F008qlxJnBGoB05V7Qh7SaCH
	dgguyw+xmmYB/GwzEwbvFlaNvlcsIy24g471dj5XmJDkx27rGJJ9/pNgm7v66MKzp8rUlYI9/+T
	YSkAuwJ6O0cp7yrdlv0o+X6PkE0WdgInfjvxjSkvID9An23iQI8dK7jSaGikEoyuXrNVIomZUoX
	YHPPA3iW1obqSPpzEvCRVQVG1ntXj0Fyue3jkkPMQcT04j0sasogsmzXY/Z0BJXIaErAwtOEUpN
	pBhf0RvIyCorMAEGlEognlvSungvvCQ==
X-Google-Smtp-Source: AGHT+IGEJvYUD+4zIm2nBnWsXbg3MYCekxy8Sjc9AKbga1JLBjdq+EZ/EPEH1BS8Jhh2oYoFBUVLng==
X-Received: by 2002:a05:600c:4512:b0:43c:f87c:24ce with SMTP id 5b1f17b1804b1-43d50a3781amr141598035e9.21.1742984369955;
        Wed, 26 Mar 2025 03:19:29 -0700 (PDT)
Message-ID: <2e6e7ce3-0d60-4d25-ba6f-6d74599dfb8f@suse.com>
Date: Wed, 26 Mar 2025 11:19:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/15] xen/cpufreq: fix core frequency calculation for
 AMD Family 1Ah CPUs
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 "Penny, Zheng" <penny.zheng@amd.com>
Cc: "Huang, Ray" <Ray.Huang@amd.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: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-8-Penny.Zheng@amd.com>
 <0b340303-db4e-4723-b53d-178b2676a36c@suse.com>
 <DM4PR12MB84515BDB3E64C4AEA561B266E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
 <3e0155aeee7a8629801adbc9c78a5bb6@bugseng.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: <3e0155aeee7a8629801adbc9c78a5bb6@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 11:14, Nicola Vetrini wrote:
> On 2025-03-26 10:54, Penny, Zheng wrote:
>>> -----Original Message-----
>>> From: Jan Beulich <jbeulich@suse.com>
>>> Sent: Monday, March 24, 2025 11:48 PM
>>>
>>> On 06.03.2025 09:39, Penny Zheng wrote:
>>>> This commit fixes core frequency calculation for AMD Family 1Ah CPUs,
>>>> due to a change in the PStateDef MSR layout in AMD Family 1Ah+.
>>>> In AMD Family 1Ah+, Core current operating frequency in MHz is
>>>> calculated as
>>>> follows:
>>>
>>> Why 1Ah+? In the code you correctly limit to just 1Ah.
>>>
>>>> --- a/xen/arch/x86/cpu/amd.c
>>>> +++ b/xen/arch/x86/cpu/amd.c
>>>> @@ -572,12 +572,24 @@ static void amd_get_topology(struct cpuinfo_x86 *c)
>>>>                                                            :
>>>> c->cpu_core_id);  }
>>>>
>>>> +static uint64_t amd_parse_freq(const struct cpuinfo_x86 *c, uint64_t
>>>> +value) {
>>>> +   ASSERT(c->x86 <= 0x1A);
>>>> +
>>>> +   if (c->x86 < 0x17)
>>>> +           return (((value & 0x3f) + 0x10) * 100) >> ((value >> 6) & 7);
>>>> +   else if (c->x86 <= 0x19)
>>>> +           return ((value & 0xff) * 25 * 8) / ((value >> 8) & 0x3f);
>>>> +   else
>>>> +           return (value & 0xfff) * 5;
>>>> +}
>>>
>>> Could I talk you into omitting the unnecessary "else" in cases like 
>>> this one?
>>> (This may also make sense to express as switch().)
>>>
>>
>> Sorry, bad habit... will change it to switch
>>
>>>> @@ -658,19 +670,20 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
>>>>     if (!(lo >> 63))
>>>>             return;
>>>>
>>>> -#define FREQ(v) (c->x86 < 0x17 ? ((((v) & 0x3f) + 0x10) * 100) >> (((v) >> 6) &
>>> 7) \
>>>> -                                : (((v) & 0xff) * 25 * 8) / (((v) >> 8) & 0x3f))
>>>>     if (idx && idx < h &&
>>>>         !rdmsr_safe(0xC0010064 + idx, val) && (val >> 63) &&
>>>>         !rdmsr_safe(0xC0010064, hi) && (hi >> 63))
>>>>             printk("CPU%u: %lu (%lu ... %lu) MHz\n",
>>>> -                  smp_processor_id(), FREQ(val), FREQ(lo), FREQ(hi));
>>>> +                  smp_processor_id(),
>>>> +                  amd_parse_freq(c, val),
>>>> +                  amd_parse_freq(c, lo), amd_parse_freq(c, hi));
>>>
>>> I fear Misra won't like multiple function calls to evaluate the 
>>> parameters to pass to
>>> another function. Iirc smp_process_id() has special exception, so 
>>> that's okay here.
>>> This may be possible to alleviate by marking the new helper pure or 
>>> even const
>>> (see gcc doc as to caveats with passing pointers to const functions). 
>>> Cc-ing Nicola
>>> for possible clarification or correction.
>>>
>>
>> Maybe we shall declare the function __pure. Having checked the gcc doc,
>> ``
>> a function that has pointer arguments must not be declared const
>> ``
>> Otherwise we store the "c->x86" value to avoid using the pointer
> 
> Either way could work. ECLAIR will automatically pick up 
> __attribute__((pure)) or __attribute__((const)) from the declaration. 
> Maybe it could be const, as from a cursory look I don't think the gcc 
> restriction on pointer arguments applies, as the pointee is not modified 
> between successive calls, but I might be mistaken.

Indeed this matches my reading of it. Yet things are somewhat delicate here,
so I like to always leave room for being proven wrong.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:22:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927543.1330266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txNtb-00072f-Vj; Wed, 26 Mar 2025 10:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927543.1330266; Wed, 26 Mar 2025 10: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 1txNtb-00072Y-Rt; Wed, 26 Mar 2025 10:22:03 +0000
Received: by outflank-mailman (input) for mailman id 927543;
 Wed, 26 Mar 2025 10:22: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txNta-00072S-0z
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:22:02 +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 26fe2649-0a2c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 11:21:59 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3912e96c8e8so3690856f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 03:21: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-3997f9b3dd5sm16301209f8f.45.2025.03.26.03.21.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 03:21: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: 26fe2649-0a2c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742984519; x=1743589319; 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/rgV5CtnLpn7fsYlkMLP7xCHIAzzSp95q3bpwITenQ=;
        b=K4V44EmbmVqiMhFet4ObgJXvAdenGS0yv9RQm/y4GGBMrAqPYkmvDaeODJkzBoZjV5
         8UkrAyUzO8sqVu4r3vtSr7TlY+HtZhXTxS3RP6dgSdeqxdzb8k6Pz4cUmzLf8zazeszW
         XLDDMpXzLCbp38pv6z/O5wwTFGlEj2Y5BTkKGb6G+ISi6Hm3PU6XahAmaaYC8FBtPCw9
         lmMf2a+dtLJSpIVOk8n0HBsnIpw4Ls/0Ra3gfX0B2iyn80MznHV3hR8Rp8kwRqlGcnxw
         k7N9nvYB2LF095Sj6mfxk7/8Bbqf+FVE1fJhwcaoxkD1JFe65YUooWQ8sTDzCp+vISZ3
         6NGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742984519; x=1743589319;
        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/rgV5CtnLpn7fsYlkMLP7xCHIAzzSp95q3bpwITenQ=;
        b=EQc/5Iho+gFuOgp6ostTjTkd9t9rEChZJZLOYvXBWICeZNWGCBDbM3m20ZfVE27Zne
         6XkQuwlc7AKnVGcX657v4sq3LrfkiDMwBpVN1AiW/U96yxRUv/owYjKlI3GSzdXoq5Wc
         LfldP4pejJQgtsOZOkQkxs4/36tOiMpRpyHNVHJ6wFEmd6sVlCClhrgzNHZjlO3ZW2kl
         iic+0HNTTyebRml5sTDuGdN7h8RC7APQ7nqyz5dQlWHKOwl5SW5bCCObpYUXy5vcoTod
         YuHtA+ZHBqcorTiocTnDIRAWEYPfFrZXHPffoRMDdNe06WBpOc6ap+V/LaPX+tMWWOPr
         NATQ==
X-Gm-Message-State: AOJu0YxhNt6Ccmfgn0Ep2T6DwGdXP3MZnGrRx3BI4wR01QwwMQC9gWIn
	7UuV07EpYYxzE4DhyX3G6K7AYOqia+ViXhMAP7KNtnFZ50EWTnjqeVUCsbFTfQ==
X-Gm-Gg: ASbGncu8L05IgYIMzmbc/3aY4FSHDWHpaxduRO2MXEZ/Lr4KIFiP7e5uuK1wD3tdKT9
	Yx+xF3X/8vf/vW1IBHYnU5beWC5oCYfBF0NNvnawK1zg801WhTDsyNT+WXzyV+Udxt/sOLqA2YY
	VeiO2NOJYmvudu7XISp0FaxrxBCjFsSTKRvOAkVT+lcjJ7RL/Eqkssnz8kd8jI4YoAQ5JBHpvG7
	S9A2n4uHkSR0xhApN6ehYhZ5uAyTpBndiZlO6GAmOw4IkMqpzdSNdnhF/XJdiwwjYGlSDfdCDpb
	i8BQAUMEOONMKtq5rbEt8Gii0LDeR+fxCprjKWNguVyWcQQU8QCDmHQdurPj2tuO/aHpMuY9OSm
	Lw7B/+YmGGHhEHs9mkkFCnEgP2iCsVA==
X-Google-Smtp-Source: AGHT+IHa5kBjj5lsbuhtuhBkH9mH58JhlP2OOdMLEvLxGLEONIcewoVcJv/QdsW2e+baLs1opV2G/w==
X-Received: by 2002:a05:6000:2110:b0:39a:ca04:3dff with SMTP id ffacd0b85a97d-39aca043e21mr3968202f8f.40.1742984519197;
        Wed, 26 Mar 2025 03:21:59 -0700 (PDT)
Message-ID: <5fa59cc5-2072-4cee-b6f9-7d9cc6be9074@suse.com>
Date: Wed, 26 Mar 2025 11:21:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PVH: expose OEMx ACPI tables to Dom0
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>
References: <c9365d42-c15d-4d93-acd8-106ca46cb7f3@suse.com>
 <Z-PHJk8GT-y1NnHl@macbook.local>
 <59685c88-44c6-43fe-9f6e-1121d51fd76f@suse.com>
 <Z-PUhO3C1qp3L8-l@macbook.local>
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: <Z-PUhO3C1qp3L8-l@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.03.2025 11:18, Roger Pau MonnĂŠ wrote:
> On Wed, Mar 26, 2025 at 10:45:18AM +0100, Jan Beulich wrote:
>> On 26.03.2025 10:21, Roger Pau MonnĂŠ wrote:
>>> On Wed, Mar 26, 2025 at 09:45:09AM +0100, Jan Beulich wrote:
>>>> Further tables on said system
>>>> which weren't blacklisted prior to that commit, yet which also aren't
>>>> whitelisted are DBGP, DBG2, FIDT, LPIT, MIGT, MSCT, NITR, PCCT, RASF,
>>>> SVOS, UEFI, WDDT, and WSMT. Even without diving into the details of any
>>>> of them it seems pretty clear to me that at least some would want
>>>> whitelisting, too.
>>>
>>> I cannot find any reference about: FIDT, MIGT, NITR, SVOS and WDDT in
>>> the ACPI spec.
>>
>> WDDT - Watchdog Descriptor Table (Table 5.6 in spec version 6.5)
>>
>>> The MSCT I think we don't want to expose, as it's related to topology
>>> data.
>>>
>>> Regarding RASF I would be slightly worried about the patrol scrub
>>> feature.  The memory map exposed to dom0 will be different from the
>>> native one, and there's also the interposed p2m.
>>
>> Thing is - either kind of Dom0 needs to have a sufficient level of insight
>> into the host memory map to support memory-related RAS features. Which may
>> mean that RASF may only be exposed if the Dom0 kernel declares itself as
>> aware of the need to consider data there to refer to a separate address
>> space.
> 
> Yes, but then, how is a PVH dom0 going to be aware of such addresses?
> Given the automatic translation of gfn -> mfn that's completely hidden
> from dom0.

Right, but the knowledge is going to be necessary there, I expect.

> I'm not saying it can't be done, but I think RASF shouldn't be exposed
> to a PVH dom0 until we understand how such feature is supposed to work
> with the interposed p2m and the fabricated memory map available to a
> PVH dom0.  Note a PVH dom0 can still get the host memory map from the
> XENMEM_machine_memory_map hypercall.

Oh, of course I agree we can't expose such without first having dealt with
the implications.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:43:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927555.1330276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOE4-0003C2-IH; Wed, 26 Mar 2025 10:43:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927555.1330276; Wed, 26 Mar 2025 10:43: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 1txOE4-0003Bv-F1; Wed, 26 Mar 2025 10:43:12 +0000
Received: by outflank-mailman (input) for mailman id 927555;
 Wed, 26 Mar 2025 10:43: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txOE3-0003Bp-88
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:43:11 +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 1ad37d60-0a2f-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 11:43:08 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43948021a45so58882615e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 03:43: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-3997f9eef37sm16170353f8f.85.2025.03.26.03.43.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 03:43: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: 1ad37d60-0a2f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742985787; x=1743590587; 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=94yY/NZoC7Jt7gmwdVq9Muckwc0UvBMmuDWNsS52KTc=;
        b=d2yMiPwWgwmARfj1p5jZLX+CVCDiWQuxWpfiCfnLGeG/SmhAMwkAvCephqgpLIiSeK
         DMxSJmtw1bqEze9RkoAaOT1nogg+q/UALvJfw00KjHx/DauKPR4XDKnwGJ1l0go24Jcw
         gz46ItMtGSrPmEhTP89IN3ki/EkRHH88vtzjE5Kh+XQA6l0oiGJNdrCvA/YQEO/kdQik
         ka2odPlNuJv7Eky0Kqz3cm8H8DIgaHkWpMuaxPflwkMEXMjDuxiuEYkoHZvpP3Ev4Xon
         EbZ0G7x8HRdm9npyQTAER05hX0CNx8uVCJ2mccjT0a6nS0H9EJzoImMIwbaIh+KTQDDS
         qcfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742985787; x=1743590587;
        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=94yY/NZoC7Jt7gmwdVq9Muckwc0UvBMmuDWNsS52KTc=;
        b=fMHPxd7cFTgfKzq1UNFau7Al/DZU8YF0JfkzKqtWv5YU3ayaJcD4FjquNrDjTTYdmi
         vv739OjgaaLJc+Aqkxw8GNevg1/oqQvWqiT37409v+SRpWHqFOdR1vTk92cF97WJEoCR
         6gUKRu5wFK3B8eg49ziCxoeuroFEDvOB9ORdnKFwRWC5g2XrGhrZMF4Q3Vjha0e1xKFD
         zyGVMQn4A/0ImifJKFqFuaAJx54bqUqyuUZEar1XHJ1Z86dcqJvxK3n7dMEVkHfTlGCQ
         WeXhd5xxW96Pj+ms7J8+OANza5VSF6pUqcWo9KOM8h8o0HPr2eh8WMLsZq9oAb14PiyF
         Zkbg==
X-Forwarded-Encrypted: i=1; AJvYcCUWycXSZvEvYY7nFO4bLYk68H7KFCGhjw+uwnCul5pDiDSNqvcMRs7No9VjZj4BufNrag8eS5vJgRM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzFbtB6eVmRVWpRNSNYHMxz3i6T5oBQN7egN0jXcTuVwmARFfnk
	GlnbUNIA7b9MvlnV7JCI5lDfNuCApIY7NHZ1dgs0+Ab0t3oVKLYxZA1BKO/sfg==
X-Gm-Gg: ASbGnctftRzayxG1aPKm87ogookUrsdnaLtJcATNb07dDvJ2gvCO5r49UJwd96m6YwD
	BczcoU83cgmaDVyMMf5I0NEGfj4ZsslOEGp1G7TOAV81bN/CMO+kvfTh2ulYQYOxdp5qkQp2Axh
	Z2Mg5mce6Pq6IMrNcw4xqMaAMWRUh9eUw2wpyUyTrmf/uIAmsQngQxSUbTWVcR4PwRaevjf3N2L
	9mXP/EaheWYvt9EUCyD9Ys4qgmvAG9Te0JRvtdxVjT92DHxibIzb/ijWvlHYAvRy9yzKudNcH54
	/I5D35mowU65u/JUyEv8JFHjpfLQPRtFPE2zSopltCj/0fEdX950iJnCH2JkP9/QgTpJGuA6gyF
	tCloioBmO+8VpdZgnoS2S1IdcmyCpiw==
X-Google-Smtp-Source: AGHT+IEMnhLbOeti6NgOYcqVBOzNWxm1OEH/Jjwe5S+vVTPqxBEP9kAr6SOBMXawdIEGGsvO6JF39g==
X-Received: by 2002:a05:600c:3d85:b0:43c:fee3:2bce with SMTP id 5b1f17b1804b1-43d50a39becmr171643045e9.26.1742985787261;
        Wed, 26 Mar 2025 03:43:07 -0700 (PDT)
Message-ID: <94160460-357a-4852-b56d-3d89febd0e68@suse.com>
Date: Wed, 26 Mar 2025 11:43:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/15] xen/cpufreq: refactor cmdline "cpufreq=xxx"
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-4-Penny.Zheng@amd.com>
 <80963bfa-a19e-49a7-8de2-0d8508af450f@suse.com>
 <DM4PR12MB8451F07287ABC9BB683D7BD3E1A62@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: <DM4PR12MB8451F07287ABC9BB683D7BD3E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 08:20, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Monday, March 24, 2025 11:01 PM
>>
>> On 06.03.2025 09:39, Penny Zheng wrote:
>>> --- a/docs/misc/xen-command-line.pandoc
>>> +++ b/docs/misc/xen-command-line.pandoc
>>> @@ -535,7 +535,8 @@ choice of `dom0-kernel` is deprecated and not supported
>> by all Dom0 kernels.
>>>    processor to autonomously force physical package components into idle state.
>>>    The default is enabled, but the option only applies when `hwp` is enabled.
>>>
>>> -There is also support for `;`-separated fallback options:
>>> +User could use `;`-separated options to support universal options
>>> +which they would like to try on any agnostic platform, *but* under
>>> +priority order, like
>>>  `cpufreq=hwp;xen,verbose`.  This first tries `hwp` and falls back to
>>> `xen` if  unavailable.  Note: The `verbose` suboption is handled
>>> globally.  Setting it  for either the primary or fallback option
>>> applies to both irrespective of where
>>
>> What does "support" here mean? I fear I can't even suggest what else to use, as I
>> don't follow what additional information you mean to add here. Is a change here
>> really needed?
> 
> There are two changes I'd like to address:
> 1) ";" is not designed for fallback options anymore, like we discussed before, we would
> like to support something like "cpufreq=hwp;amd-cppc;xen" for users to define all universal options
> they would like to try.

Why would the meaning of ; change? There's no difference between having a single
fallback option from hwp, or two of them from amd-cppc.

> 2) Must under *priority* order. As in cpufreq_driver_init(), we are using loop to decide which driver to
> try firstly. If user defines "cpufreq=xen;amd-cppc", which leads legacy P-state set before amd-cppc in cpufreq_xen_opts[],
> then in the loop, we will try to register legacy P-state firstly, once it gets registered successfully, we will not try to register amd-cppc at all.

This in-order aspect also doesn't change.

Overall I fear I don't feel my question was answered.

>>> --- a/xen/drivers/cpufreq/cpufreq.c
>>> +++ b/xen/drivers/cpufreq/cpufreq.c
>>> +    if ( arg[0] && arg[1] )
>>> +        ret = cpufreq_cmdline_parse(arg + 1, end);
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> +static int __init cpufreq_cmdline_parse_hwp(const char *arg, const
>>> +char *end) {
>>> +    int ret = 0;
>>> +
>>> +    xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
>>> +    cpufreq_controller = FREQCTL_xen;
>>> +    cpufreq_xen_opts[cpufreq_xen_cnt++] = CPUFREQ_hwp;
>>> +    if ( arg[0] && arg[1] )
>>> +        ret = hwp_cmdline_parse(arg + 1, end);
>>> +
>>> +    return ret;
>>> +}
>>
>> For both of the helpers may I suggest s/parse/process/ or some such ("handle"
>> might be another possible term to use), as themselves they don't do any parsing?
>>
> 
> Maybe I mis-understood the previous comment you said
> ```
>         >          else if ( IS_ENABLED(CONFIG_INTEL) && choice < 0 &&
>         > ```
> 
>         For the rest of this, I guess I'd prefer to see this in context. Also with
>         regard to the helper function's name.
> ```
> I thought you suggested to introduce helper function to wrap the conditional codes...
> Or may you were suggesting something like:
> ```
> #ifdef CONFIG_INTEL
> else if ( choice < 0 && !cmdline_strcmp(str, "hwp") )
> {
>     xen_processor_pmbits |= XEN_PROCES
>     ...
> }
> #endif
> ```

Was this reply of yours misplaced? It doesn't fit with the part of my reply in
context above. Or maybe I'm not understanding what you mean to say.

>> In the end I'm also not entirely convinced that we need these two almost identical
>> helpers (with a 3rd likely appearing in a later patch).

Instead it feels as if this response of yours was to this part of my comment.
Indeed iirc I was suggesting to introduce a helper function. Note, however, the
singular here as well as in your response above.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 10:55:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 10:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927568.1330286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOPr-00074W-KH; Wed, 26 Mar 2025 10:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927568.1330286; Wed, 26 Mar 2025 10:55: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 1txOPr-00074P-GT; Wed, 26 Mar 2025 10:55:23 +0000
Received: by outflank-mailman (input) for mailman id 927568;
 Wed, 26 Mar 2025 10: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txOPq-00074J-Ni
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 10:55: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 cfa8bfbb-0a30-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 11:55:21 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so60217845e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 03:55: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-43d53678dfcsm169347535e9.18.2025.03.26.03.55.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 03:55: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: cfa8bfbb-0a30-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742986520; x=1743591320; 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=iY3z6quRTasDbN6r9gIWHkYNuUCGDeJLBrHYFjuHPP8=;
        b=FxO1ixsOSL1M83NcqCa8HRNAZkvwbdtTfVBc8UBns6kKaI/ey42Hhu8ZSTS/gcqMDG
         y39MKlOmDr5lqZEFaTi7qyHro55k8u6a6anByv7B/5VRTttV8VTD5OPNwZ22jmE3fnVK
         IFepa++maniM8jjuqDxoVtADcErve9+7rU23SrkKiSt2PSP15En3R/7yyfuwD7GxsU49
         p7Rn5V0qg4a9xcbMDumWxyg/N6oCE4IQYGwPS/TAddGEAH8p65AshINGQRAknLFA8WeS
         XZufpWtAsajnYQ/TjkPewntWqt4Y0LRuZ2zSfuRgjXoX+SwFu9oVl2+1vPVEbOxdbFix
         ehBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742986520; x=1743591320;
        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=iY3z6quRTasDbN6r9gIWHkYNuUCGDeJLBrHYFjuHPP8=;
        b=J/BK4+HMswxFO/sigmogLfG2+z+A+z6ASfIZjnTZCVX2YdZYi+Sxhb8v7j2UF7miBh
         z3A/ytWUaHgtjJtMILRiLxocmlZCaDNYuHTZ53XS/fSr26PeiGhkWLFsVcESSVuekrS4
         QYL1UBMHQiZhwGLx6RHm1oRJ37ieRFnJWkhI5aSWOu4fNJ2jN1krHQO4zd/8t48jpC+E
         FHQY6bIyvgDpqcR3i+xsO9vntj8UPnoAu0FqfmxpgP0CEMMWKKzWMCkkJHic0VjKrolT
         R2+vNDaHoqmLOZ/p2qoGlaCuUzkb2laj2fDjz/q4g+EFwSol08UM58S0Uv4Ec0LEuHEw
         IRLw==
X-Forwarded-Encrypted: i=1; AJvYcCVLFQsA4xC42C8uLjuN7+lkoVyArkWf1WQhJSr2OtUtvggFt+CnpLktOSQS2aUG7auEVPDiwsz9P/I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBJ308qvac6VFWRERBkE5UxWNEzp9unXKJVH1z1Hx/ZngEl/6/
	MhOGXVAQX7Bi0PlJIHzsklCZ5wR7EOnrbXiyjM7fntG060v3TONHgOsw5DZFPw==
X-Gm-Gg: ASbGncvvbn1rIHlh7ue4AfTY/bJcPuMGvOdInXbDFgL4yoOhiUZ2m8VbnQJVvg3JZSV
	ZPZTk5bSU51J7em4OaveeqOstPvJT262sfub+XTiAZfcYbbHR5B+m+EQ+ycAyj4+tpqZZiLcclR
	lh5w/eTPEY3cVlfBweXEIIngBos31QNBUodIR2ZUAyuqnNqFMmeH0p40pX4D7EkOOARh4Q7v8Gq
	HddbNyLk0d3LuSroSqusYuOjAufEWwQJk6YAsZM1vm4IHHr5okoKcvDcqE80yDPVSFGl7/QlLza
	2aH+qJFB0hfVmtFPFfS/PYYVsCYeYNWphubANfKCoVnMwvArci58CExwBy4iy5qcyJdd0hgIQwA
	Y82OsQHoUdeQxF8Y8EadeYDeYIjHwDA==
X-Google-Smtp-Source: AGHT+IHHzr5vIJkqtjdUwQa+2nXMvWXDLydTRbqcnPuzID1tAd1wkBFGqKADVRZ+0h84Z4z4e8fB7A==
X-Received: by 2002:a05:600c:3502:b0:43c:f969:13c0 with SMTP id 5b1f17b1804b1-43d50a4f8d5mr202616945e9.29.1742986520122;
        Wed, 26 Mar 2025 03:55:20 -0700 (PDT)
Message-ID: <df911e05-df3d-4f16-992e-a1931ad00099@suse.com>
Date: Wed, 26 Mar 2025 11:55:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-6-Penny.Zheng@amd.com>
 <5498f98e-f3c5-4cb4-9a3d-793239a4339d@suse.com>
 <DM4PR12MB84519AF2B72DDDF50CA8BF18E1A62@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: <DM4PR12MB84519AF2B72DDDF50CA8BF18E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 09:35, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Monday, March 24, 2025 11:26 PM
>>
>> On 06.03.2025 09:39, Penny Zheng wrote:
>>> @@ -514,5 +515,14 @@ acpi_cpufreq_driver = {
>>>
>>>  int __init acpi_cpufreq_register(void)  {
>>> -    return cpufreq_register_driver(&acpi_cpufreq_driver);
>>> +    int ret;
>>> +
>>> +    ret = cpufreq_register_driver(&acpi_cpufreq_driver);
>>> +    if ( ret )
>>> +        return ret;
>>> +
>>> +    if ( IS_ENABLED(CONFIG_AMD) )
>>> +        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_CPPC;
>>
>> What's the purpose of the if() here?
> 
> After cpufreq driver properly registered, I'd like XEN_PROCESSOR_PM_PX and XEN_PROCESSOR_PM_CPPC
> being exclusive value to represent the actual underlying registered driver.
> As users could define something like "cpufreq=amd-cppc,xen", which implies both XEN_PROCESSOR_PM_PX and XEN_PROCESSOR_PM_CPPC
> got set in parsing logic. With amd-cppc failing to register, we are falling back to legacy ones. Then XEN_PROCESSOR_PM_CPPC needs to clear.

Looks like you try to explain the &= when my question was about the if().
I understand the purpose of the &=. What I don't understand is why it needs
to be conditional.

>>> --- a/xen/include/acpi/cpufreq/cpufreq.h
>>> +++ b/xen/include/acpi/cpufreq/cpufreq.h
>>> @@ -28,6 +28,7 @@ enum cpufreq_xen_opt {
>>>      CPUFREQ_none,
>>>      CPUFREQ_xen,
>>>      CPUFREQ_hwp,
>>> +    CPUFREQ_amd_cppc,
>>>  };
>>>  extern enum cpufreq_xen_opt cpufreq_xen_opts[2];
>>
>> I'm pretty sure I pointed out before that this array needs to grow, now that you add a
>> 3rd kind of handling.
>>
> 
> Hmmm, but the CPUFREQ_hwp and CPUFREQ_amd_cppc are incompatible options.
> I thought cpufreq_xen_opts[] shall reflect available choices on their hardware.
> Even if users define "cpufreq=hwp;amd-cppc;xen", in Intel platform, cpufreq_xen_opts[] shall
> contain  CPUFREQ_hwp and CPUFREQ_xen, while in amd platform, cpufreq_xen_opts[] shall
> contain CPUFREQ_amd_cppc and CPUFREQ_xen

Maybe I misread the code, but the impression I got was that "cpufreq=hwp;amd-cppc;xen"
would populate 3 slots of the array (with one of "hwp" and "amd-cppc" necessarily not
working, leading to the next one to be tried).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:05:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927577.1330296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOZZ-0001Lt-G2; Wed, 26 Mar 2025 11:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927577.1330296; Wed, 26 Mar 2025 11:05: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 1txOZZ-0001Lm-Cp; Wed, 26 Mar 2025 11:05:25 +0000
Received: by outflank-mailman (input) for mailman id 927577;
 Wed, 26 Mar 2025 11:05: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=j9c7=WN=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1txOZY-0001Lg-3A
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:05:24 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35cf97a6-0a32-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 12:05:21 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 0614040E021F; 
 Wed, 26 Mar 2025 11:05:20 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id uiaUnygCJD3i; Wed, 26 Mar 2025 11:05:16 +0000 (UTC)
Received: from zn.tnic (pd95303ce.dip0.t-ipconnect.de [217.83.3.206])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id E1DB340E0214;
 Wed, 26 Mar 2025 11:05:01 +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: 35cf97a6-0a32-11f0-9ffa-bf95429c2676
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
	reason="fail (body has been altered)" header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1742987114; bh=AIajk1zv3OvH1Ipjg8jxRnUw8MsF0F9Mfe1IOdT15RU=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=ZfxYTZXAG6zXzF//9pke+YZaisHXBI/hXhjX7EtPx8wvwYQoFEZ3LJRs+NY2W2rx+
	 lQnhRsHG+gikYK6Q+7YEgDQJHqPcFjNCR48ler2zCCMFjyGiTF27XfFZD4xA+MCxd6
	 jF57KSjm0ZtLtIyeONuO6wdMKfIARDQBZitU3IvI0pOUKPUrFj+fudXrYvQD8bKGVz
	 6NpWVy1yhggl8+3pwmXxxOFW3D1bjqdkjUKQXaY7C2ony/PHgJhV0FBz9uDP35Xc3y
	 OK4Efj70OYgFnH6c11PVIQRT+zvK2VLBX0FcY5TwT4IkLUayopa9B6x4xiCDQThgN/
	 3bZyVRtu06CiZ8N/ysAELLR0iR2diP+3yGT9KeGFoGhUUrpy8PpZ3zlgKvEnMEOmEr
	 8F+zvcBkEpZ4EYd55K4lMWU0XcScsFCo/cJh45vm/XKrQqLxpXKzyyEOHJoxxLBbmw
	 m5UCDrVCauYkdpPmo4NDgAMb/SGwLkAoqTXrB/iMcqYHX02sqryb7zt44ia0E+1PG0
	 GyqyhZTIQiaP3qkBe+WUj7ekyn2h+DoTQOvpVsAYcRtaqiNNz0dW+IBqGaSWi2sRc5
	 lH678VDRrLa+IblO9r9W5JJFFi4riMgxfQ80UcJ6wG/qsV9qaSdnECdwLeI/zDhfKc
	 WuKp/f3Qrdn/6ZCvgnQDLYP0=
Date: Wed, 26 Mar 2025 12:04:55 +0100
From: Borislav Petkov <bp@alien8.de>
To: Roger Pau Monne <roger.pau@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Juergen Gross <jgross@suse.com>,
	Bjorn Helgaas <bhelgaas@google.com>, Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <20250326110455.GAZ-PfV3kOiQw97fDj@fat_crate.local>
References: <20250219092059.90850-1-roger.pau@citrix.com>
 <20250219092059.90850-4-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250219092059.90850-4-roger.pau@citrix.com>
Content-Transfer-Encoding: quoted-printable

+ Linus so that he can whack it before it spreads any further.

On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for b=
oth
> MSI and MSI-X entries globally, regardless of the IRQ chip they are usi=
ng.
> Only Xen sets the pci_msi_ignore_mask when routing physical interrupts =
over
> event channels, to prevent PCI code from attempting to toggle the maskb=
it,
> as it's Xen that controls the bit.
>=20
> However, the pci_msi_ignore_mask being global will affect devices that =
use
> MSI interrupts but are not routing those interrupts over event channels
> (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> bridge configure the MSI entries using indexes into the VMD bridge MSI
> table.  The VMD bridge then demultiplexes such interrupts and delivers =
to
> the destination device(s).  Having pci_msi_ignore_mask set in that scen=
ario
> prevents (un)masking of MSI entries for devices behind the VMD bridge.
>=20
> Move the signaling of no entry masking into the MSI domain flags, as th=
at
> allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> that uses the pIRQ chip, while leaving it unset for the rest of the
> cases.
>=20
> Remove pci_msi_ignore_mask at once, since it was only used by Xen code,=
 and
> with Xen dropping usage the variable is unneeded.
>=20
> This fixes using devices behind a VMD bridge on Xen PV hardware domains=
.
>=20
> Albeit Devices behind a VMD bridge are not known to Xen, that doesn't m=
ean
> Linux cannot use them.  By inhibiting the usage of
> VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mas=
k
> bodge devices behind a VMD bridge do work fine when use from a Linux Xe=
n
> hardware domain.  That's the whole point of the series.
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> Acked-by: Juergen Gross <jgross@suse.com>

Did anyone actually test this on a normal KVM guest?

c3164d2e0d181027da8fc94f8179d8607c3d440f is the first bad commit
commit c3164d2e0d181027da8fc94f8179d8607c3d440f
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Wed Feb 19 10:20:57 2025 +0100

    PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag
   =20
    Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for=
 both
    MSI and MSI-X entries globally, regardless of the IRQ chip they are u=
sing.
    Only Xen sets the pci_msi_ignore_mask when routing physical interrupt=
s over
    event channels, to prevent PCI code from attempting to toggle the mas=
kbit,
    as it's Xen that controls the bit.
   =20
    However, the pci_msi_ignore_mask being global will affect devices tha=
t use
    MSI interrupts but are not routing those interrupts over event channe=
ls
    (not using the Xen pIRQ chip).  One example is devices behind a VMD P=
CI
    bridge.  In that scenario the VMD bridge configures MSI(-X) using the
    normal IRQ chip (the pIRQ one in the Xen case), and devices behind th=
e
    bridge configure the MSI entries using indexes into the VMD bridge MS=
I
    table.  The VMD bridge then demultiplexes such interrupts and deliver=
s to
    the destination device(s).  Having pci_msi_ignore_mask set in that sc=
enario
    prevents (un)masking of MSI entries for devices behind the VMD bridge=
.
   =20
    Move the signaling of no entry masking into the MSI domain flags, as =
that
    allows setting it on a per-domain basis.  Set it for the Xen MSI doma=
in
    that uses the pIRQ chip, while leaving it unset for the rest of the
    cases.
   =20
    Remove pci_msi_ignore_mask at once, since it was only used by Xen cod=
e, and
    with Xen dropping usage the variable is unneeded.
   =20
    This fixes using devices behind a VMD bridge on Xen PV hardware domai=
ns.
   =20
    Albeit Devices behind a VMD bridge are not known to Xen, that doesn't=
 mean
    Linux cannot use them.  By inhibiting the usage of
    VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_m=
ask
    bodge devices behind a VMD bridge do work fine when use from a Linux =
Xen
    hardware domain.  That's the whole point of the series.
   =20
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Juergen Gross <jgross@suse.com>
    Acked-by: Bjorn Helgaas <bhelgaas@google.com>
    Message-ID: <20250219092059.90850-4-roger.pau@citrix.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>

 arch/x86/pci/xen.c    |  8 ++------
 drivers/pci/msi/msi.c | 37 +++++++++++++++++++++----------------
 include/linux/msi.h   |  3 ++-
 kernel/irq/msi.c      |  2 +-
 4 files changed, 26 insertions(+), 24 deletions(-)

[    1.254066] zram: Added device: zram0
[    1.255093] st: Version 20160209, fixed bufsize 32768, s/g segs 256
[    1.257577] ahci 0000:00:1f.2: version 3.0
[    1.259050] BUG: kernel NULL pointer dereference, address: 00000000000=
00000
[    1.261239] #PF: supervisor read access in kernel mode
[    1.261544] #PF: error_code(0x0000) - not-present page
[    1.261544] PGD 0=20
[    1.261544] Oops: Oops: 0000 [#1] SMP
[    1.261544] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.14.0+ #=
1 PREEMPT(voluntary)=20
[    1.261544] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 2=
023.11-8 02/21/2024
[    1.261544] RIP: 0010:msi_setup_msi_desc+0x75/0x170
[    1.261544] Code: 89 54 24 06 48 8d 54 24 06 f3 48 ab 48 89 ef e8 c1 6=
a fe ff 0f b7 44 24 06 f6 85 3f 08 00 00 10 74 08 80 cc 01 66 89 44 24 06=
 <41> 8b 16 81 e2 00 00 40 00 0f 85 bb 00 00 00 89 c6 66 c1 ee 08 83
[    1.261544] RSP: 0018:ffa0000000023980 EFLAGS: 00010246
[    1.261544] RAX: 0000000000000080 RBX: ffa0000000023988 RCX: 000000000=
0000082
[    1.261544] RDX: 0000000000000000 RSI: 0000000000000293 RDI: ffffffff8=
3a16138
[    1.261544] RBP: ff11000006fdd000 R08: 0000000000000002 R09: ffa000000=
0023964
[    1.261544] R10: 0000000000000000 R11: ffffffff81dd71e0 R12: 000000000=
0000000
[    1.261544] R13: 0000000000000001 R14: 0000000000000000 R15: 000000000=
0000001
[    1.261544] FS:  0000000000000000(0000) GS:ff110000f0b78000(0000) knlG=
S:0000000000000000
[    1.261544] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.261544] CR2: 0000000000000000 CR3: 0000000002e23001 CR4: 000000000=
0771ef0
[    1.261544] PKRU: 55555554
[    1.261544] Call Trace:
[    1.261544]  <TASK>
[    1.261544]  ? __die_body.cold+0x19/0x29
[    1.261544]  ? page_fault_oops+0x15a/0x260
[    1.261544]  ? exc_page_fault+0x81/0x1b0
[    1.261544]  ? asm_exc_page_fault+0x26/0x30
[    1.261544]  ? pci_mmcfg_arch_unmap+0x40/0x40
[    1.261544]  ? msi_setup_msi_desc+0x75/0x170
[    1.261544]  __msi_capability_init+0x2d/0x2a0
[    1.261544]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.261544]  ? irq_domain_update_bus_token+0x6b/0x80
[    1.261544]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.261544]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.261544]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.261544]  ? pci_conf1_read+0xb2/0xf0
[    1.261544]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.261544]  __pci_enable_msi_range+0x271/0x380
[    1.261544]  pci_alloc_irq_vectors_affinity+0xc2/0x110
[    1.261544]  ahci_init_one+0x701/0xd20
[    1.261544]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.261544]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.261544]  ? __kernfs_new_node.isra.0+0xcb/0x200
[    1.261544]  local_pci_probe+0x42/0x90
[    1.261544]  pci_device_probe+0xdc/0x260
[    1.261544]  ? sysfs_do_create_link_sd+0x6e/0xe0
[    1.261544]  really_probe+0xdb/0x340
[    1.261544]  ? pm_runtime_barrier+0x54/0x90
[    1.261544]  ? __device_attach_driver+0x110/0x110
[    1.261544]  __driver_probe_device+0x78/0x110
[    1.261544]  driver_probe_device+0x1f/0xa0
[    1.261544]  __driver_attach+0xba/0x1c0
[    1.261544]  bus_for_each_dev+0x8b/0xe0
[    1.261544]  bus_add_driver+0x112/0x1f0
[    1.261544]  driver_register+0x72/0xd0
[    1.261544]  ? ata_sff_init+0x40/0x40
[    1.261544]  do_one_initcall+0x57/0x300
[    1.261544]  kernel_init_freeable+0x237/0x2c0
[    1.261544]  ? rest_init+0xd0/0xd0
[    1.261544]  kernel_init+0x1a/0x130
[    1.261544]  ret_from_fork+0x31/0x50
[    1.261544]  ? rest_init+0xd0/0xd0
[    1.261544]  ret_from_fork_asm+0x11/0x20
[    1.261544]  </TASK>
[    1.261544] Modules linked in:
[    1.261544] CR2: 0000000000000000
[    1.261544] ---[ end trace 0000000000000000 ]---
[    1.261544] RIP: 0010:msi_setup_msi_desc+0x75/0x170
[    1.261544] Code: 89 54 24 06 48 8d 54 24 06 f3 48 ab 48 89 ef e8 c1 6=
a fe ff 0f b7 44 24 06 f6 85 3f 08 00 00 10 74 08 80 cc 01 66 89 44 24 06=
 <41> 8b 16 81 e2 00 00 40 00 0f 85 bb 00 00 00 89 c6 66 c1 ee 08 83
[    1.261544] RSP: 0018:ffa0000000023980 EFLAGS: 00010246
[    1.261544] RAX: 0000000000000080 RBX: ffa0000000023988 RCX: 000000000=
0000082
[    1.261544] RDX: 0000000000000000 RSI: 0000000000000293 RDI: ffffffff8=
3a16138
[    1.261544] RBP: ff11000006fdd000 R08: 0000000000000002 R09: ffa000000=
0023964
[    1.261544] R10: 0000000000000000 R11: ffffffff81dd71e0 R12: 000000000=
0000000
[    1.261544] R13: 0000000000000001 R14: 0000000000000000 R15: 000000000=
0000001
[    1.261544] FS:  0000000000000000(0000) GS:ff110000f0b78000(0000) knlG=
S:0000000000000000
[    1.261544] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.261544] CR2: 0000000000000000 CR3: 0000000002e23001 CR4: 000000000=
0771ef0
[    1.261544] PKRU: 55555554
[    1.261544] note: swapper/0[1] exited with irqs disabled
[    1.374076] Kernel panic - not syncing: Attempted to kill init! exitco=
de=3D0x00000009
[    1.378062] Kernel Offset: disabled
[    1.378062] ---[ end Kernel panic - not syncing: Attempted to kill ini=
t! exitcode=3D0x00000009 ]---


> ---
> Changes since v2:
>  - Fix subject line.
>=20
> Changes since v1:
>  - Fix build.
>  - Expand commit message.
> ---
>  arch/x86/pci/xen.c    |  8 ++------
>  drivers/pci/msi/msi.c | 37 +++++++++++++++++++++----------------
>  include/linux/msi.h   |  3 ++-
>  kernel/irq/msi.c      |  2 +-
>  4 files changed, 26 insertions(+), 24 deletions(-)
>=20
> diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
> index 0f2fe524f60d..b8755cde2419 100644
> --- a/arch/x86/pci/xen.c
> +++ b/arch/x86/pci/xen.c
> @@ -436,7 +436,8 @@ static struct msi_domain_ops xen_pci_msi_domain_ops=
 =3D {
>  };
> =20
>  static struct msi_domain_info xen_pci_msi_domain_info =3D {
> -	.flags			=3D MSI_FLAG_PCI_MSIX | MSI_FLAG_FREE_MSI_DESCS | MSI_FLAG_D=
EV_SYSFS,
> +	.flags			=3D MSI_FLAG_PCI_MSIX | MSI_FLAG_FREE_MSI_DESCS |
> +				  MSI_FLAG_DEV_SYSFS | MSI_FLAG_NO_MASK,
>  	.ops			=3D &xen_pci_msi_domain_ops,
>  };
> =20
> @@ -484,11 +485,6 @@ static __init void xen_setup_pci_msi(void)
>  	 * in allocating the native domain and never use it.
>  	 */
>  	x86_init.irqs.create_pci_msi_domain =3D xen_create_pci_msi_domain;
> -	/*
> -	 * With XEN PIRQ/Eventchannels in use PCI/MSI[-X] masking is solely
> -	 * controlled by the hypervisor.
> -	 */
> -	pci_msi_ignore_mask =3D 1;
>  }
> =20
>  #else /* CONFIG_PCI_MSI */
> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index 2f647cac4cae..4c8c2b57b5f6 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -10,12 +10,12 @@
>  #include <linux/err.h>
>  #include <linux/export.h>
>  #include <linux/irq.h>
> +#include <linux/irqdomain.h>
> =20
>  #include "../pci.h"
>  #include "msi.h"
> =20
>  int pci_msi_enable =3D 1;
> -int pci_msi_ignore_mask;
> =20
>  /**
>   * pci_msi_supported - check whether MSI may be enabled on a device
> @@ -285,6 +285,8 @@ static void pci_msi_set_enable(struct pci_dev *dev,=
 int enable)
>  static int msi_setup_msi_desc(struct pci_dev *dev, int nvec,
>  			      struct irq_affinity_desc *masks)
>  {
> +	const struct irq_domain *d =3D dev_get_msi_domain(&dev->dev);
> +	const struct msi_domain_info *info =3D d->host_data;
>  	struct msi_desc desc;
>  	u16 control;
> =20
> @@ -295,8 +297,7 @@ static int msi_setup_msi_desc(struct pci_dev *dev, =
int nvec,
>  	/* Lies, damned lies, and MSIs */
>  	if (dev->dev_flags & PCI_DEV_FLAGS_HAS_MSI_MASKING)
>  		control |=3D PCI_MSI_FLAGS_MASKBIT;
> -	/* Respect XEN's mask disabling */
> -	if (pci_msi_ignore_mask)
> +	if (info->flags & MSI_FLAG_NO_MASK)
>  		control &=3D ~PCI_MSI_FLAGS_MASKBIT;
> =20
>  	desc.nvec_used			=3D nvec;
> @@ -604,12 +605,15 @@ static void __iomem *msix_map_region(struct pci_d=
ev *dev,
>   */
>  void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
>  {
> +	const struct irq_domain *d =3D dev_get_msi_domain(&dev->dev);
> +	const struct msi_domain_info *info =3D d->host_data;
> +
>  	desc->nvec_used				=3D 1;
>  	desc->pci.msi_attrib.is_msix		=3D 1;
>  	desc->pci.msi_attrib.is_64		=3D 1;
>  	desc->pci.msi_attrib.default_irq	=3D dev->irq;
>  	desc->pci.mask_base			=3D dev->msix_base;
> -	desc->pci.msi_attrib.can_mask		=3D !pci_msi_ignore_mask &&
> +	desc->pci.msi_attrib.can_mask		=3D !(info->flags & MSI_FLAG_NO_MASK) =
&&
>  						  !desc->pci.msi_attrib.is_virtual;
> =20
>  	if (desc->pci.msi_attrib.can_mask) {
> @@ -659,9 +663,6 @@ static void msix_mask_all(void __iomem *base, int t=
size)
>  	u32 ctrl =3D PCI_MSIX_ENTRY_CTRL_MASKBIT;
>  	int i;
> =20
> -	if (pci_msi_ignore_mask)
> -		return;
> -
>  	for (i =3D 0; i < tsize; i++, base +=3D PCI_MSIX_ENTRY_SIZE)
>  		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
>  }
> @@ -714,6 +715,8 @@ static int msix_setup_interrupts(struct pci_dev *de=
v, struct msix_entry *entries
>  static int msix_capability_init(struct pci_dev *dev, struct msix_entry=
 *entries,
>  				int nvec, struct irq_affinity *affd)
>  {
> +	const struct irq_domain *d =3D dev_get_msi_domain(&dev->dev);
> +	const struct msi_domain_info *info =3D d->host_data;
>  	int ret, tsize;
>  	u16 control;
> =20
> @@ -744,15 +747,17 @@ static int msix_capability_init(struct pci_dev *d=
ev, struct msix_entry *entries,
>  	/* Disable INTX */
>  	pci_intx_for_msi(dev, 0);
> =20
> -	/*
> -	 * Ensure that all table entries are masked to prevent
> -	 * stale entries from firing in a crash kernel.
> -	 *
> -	 * Done late to deal with a broken Marvell NVME device
> -	 * which takes the MSI-X mask bits into account even
> -	 * when MSI-X is disabled, which prevents MSI delivery.
> -	 */
> -	msix_mask_all(dev->msix_base, tsize);
> +	if (!(info->flags & MSI_FLAG_NO_MASK)) {
> +		/*
> +		 * Ensure that all table entries are masked to prevent
> +		 * stale entries from firing in a crash kernel.
> +		 *
> +		 * Done late to deal with a broken Marvell NVME device
> +		 * which takes the MSI-X mask bits into account even
> +		 * when MSI-X is disabled, which prevents MSI delivery.
> +		 */
> +		msix_mask_all(dev->msix_base, tsize);
> +	}
>  	pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL, 0);
> =20
>  	pcibios_free_irq(dev);
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index b10093c4d00e..59a421fc42bf 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -73,7 +73,6 @@ struct msi_msg {
>  	};
>  };
> =20
> -extern int pci_msi_ignore_mask;
>  /* Helper functions */
>  struct msi_desc;
>  struct pci_dev;
> @@ -556,6 +555,8 @@ enum {
>  	MSI_FLAG_PCI_MSIX_ALLOC_DYN	=3D (1 << 20),
>  	/* PCI MSIs cannot be steered separately to CPU cores */
>  	MSI_FLAG_NO_AFFINITY		=3D (1 << 21),
> +	/* Inhibit usage of entry masking */
> +	MSI_FLAG_NO_MASK		=3D (1 << 22),
>  };
> =20
>  /**
> diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
> index 396a067a8a56..7682c36cbccc 100644
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -1143,7 +1143,7 @@ static bool msi_check_reservation_mode(struct irq=
_domain *domain,
>  	if (!(info->flags & MSI_FLAG_MUST_REACTIVATE))
>  		return false;
> =20
> -	if (IS_ENABLED(CONFIG_PCI_MSI) && pci_msi_ignore_mask)
> +	if (info->flags & MSI_FLAG_NO_MASK)
>  		return false;
> =20
>  	/*
> --=20
> 2.46.0
>=20
>=20

--=20
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:14:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:14:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927589.1330305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOi5-0004pC-D9; Wed, 26 Mar 2025 11:14:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927589.1330305; Wed, 26 Mar 2025 11: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 1txOi5-0004p5-A6; Wed, 26 Mar 2025 11:14:13 +0000
Received: by outflank-mailman (input) for mailman id 927589;
 Wed, 26 Mar 2025 11:14: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=Mf06=WN=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txOi3-0004oz-O8
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:14:11 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 714a2eb0-0a33-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:14:11 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5e5e8274a74so10307748a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:14:11 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3efbcf5fdsm1015676866b.124.2025.03.26.04.14.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 04:14: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: 714a2eb0-0a33-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742987650; x=1743592450; darn=lists.xenproject.org;
        h=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=s1DMxTj9W79Y/bQ7a4BC76DwUnfHWXcWHC6BQFkffiQ=;
        b=OWxJez5Yfx0zulZ/7vTP3RiWBxLCa9DZrpDmwufCBAPH6WVq0mSi4YHCG2DL0E5vnj
         6MSwdjRfGz3hq0cYLFV8Lcwcz5PKiIYVIa7tpMb3maiKSkPqbMax4vHc0/OGKeWde+Ae
         kvAeOtAl684G8VzHKjDZX6naDJJ5A19fp2V/4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742987650; x=1743592450;
        h=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=s1DMxTj9W79Y/bQ7a4BC76DwUnfHWXcWHC6BQFkffiQ=;
        b=cKk5GpqeLJPz/RYgV8r15uc3+0WEbfvsC9jbeS66LCj2atN2mh2Na8HuHB2i7qA9Fb
         mTOSpVtGDaOZf79K78FfZrz648DoYcbuiFuNEvepz82z/aN5zLye2eHRjfnVEJexd1hE
         GgXN9mZYnBtVTVGegCAYE8Vwy/u14fHsHaqGKexNc6W/Q/mnjvwLRt8elsPtqOATm4b1
         qQgqDmuNONOf0xdDW5M2+MpHUGHQumLDCnRk8dTt033V2km0x5vE5BOMNRZR7Dk5QFKt
         0ePbwvdDhgNplkchiUET5jwOywF0V9rW6aX9GeKGnuIhXvzBrXJaWfgw2rYI4DZGNWFs
         Dt4Q==
X-Forwarded-Encrypted: i=1; AJvYcCVamL/h0j7Puy7to2hmK4ahrBs+f/THhYr2W/yOGYv95puURXqVBDlSEruVkeKEj2pg2hHAIXJWKm4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YziHm/sLTfocmk9UOQpk02/q+PAGjFXaLmiZwbPa2sO/lzmF4qx
	PdAWBCgKFBqA5byKdpitIZ8KMMVX955+yYPYJSy+BcGlxRNMsFhlI7nvRb9l7Yo=
X-Gm-Gg: ASbGncvI7HgbCFkFIx78h4ov9WkLPSz7F2XnR9rjiu45DPkzbQT8oLbhFe4LwK7/Ooi
	UTVCyZ1ItZgkacZrtlM2qEjWoJVjo5Mir643SlWgIg+IAo1RopM5mSOm3AKto+1gRn1ssZbCe0e
	bF+JoycTMjdXg3zy/TenwW+AAJ+euwYxIdwBS+5PjrgkEGRPAA5KG4w6LackLBywikjWhKAN1L+
	PYeJXtnYY3N6CkRUuBp69D0joGmxHb/rjHEmcoRZ5mqofZhEOlzdv+mWSkHIBf2YWr88cm2U+GT
	hmx4HqASsZ6fA9tk9V0SVl22GH4P/T4fRf3moVT0g4vJ9C0sSg==
X-Google-Smtp-Source: AGHT+IH0Jg9Mrd0b7FGaEKEhOFjXfX9lAmyt6lVJIoo5kD62q1WqzTmjAHiwoMhyh1JPCuA41d2BtQ==
X-Received: by 2002:a17:907:7289:b0:abf:a387:7e35 with SMTP id a640c23a62f3a-ac3f280cac7mr2218889366b.53.1742987650254;
        Wed, 26 Mar 2025 04:14:10 -0700 (PDT)
Date: Wed, 26 Mar 2025 12:14:09 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Juergen Gross <jgross@suse.com>,
	Bjorn Helgaas <bhelgaas@google.com>, Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <Z-PhgWQMHjxbac3b@macbook.local>
References: <20250219092059.90850-1-roger.pau@citrix.com>
 <20250219092059.90850-4-roger.pau@citrix.com>
 <20250326110455.GAZ-PfV3kOiQw97fDj@fat_crate.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250326110455.GAZ-PfV3kOiQw97fDj@fat_crate.local>

On Wed, Mar 26, 2025 at 12:04:55PM +0100, Borislav Petkov wrote:
> + Linus so that he can whack it before it spreads any further.
> 
> On Wed, Feb 19, 2025 at 10:20:57AM +0100, Roger Pau Monne wrote:
> > Setting pci_msi_ignore_mask inhibits the toggling of the mask bit for both
> > MSI and MSI-X entries globally, regardless of the IRQ chip they are using.
> > Only Xen sets the pci_msi_ignore_mask when routing physical interrupts over
> > event channels, to prevent PCI code from attempting to toggle the maskbit,
> > as it's Xen that controls the bit.
> > 
> > However, the pci_msi_ignore_mask being global will affect devices that use
> > MSI interrupts but are not routing those interrupts over event channels
> > (not using the Xen pIRQ chip).  One example is devices behind a VMD PCI
> > bridge.  In that scenario the VMD bridge configures MSI(-X) using the
> > normal IRQ chip (the pIRQ one in the Xen case), and devices behind the
> > bridge configure the MSI entries using indexes into the VMD bridge MSI
> > table.  The VMD bridge then demultiplexes such interrupts and delivers to
> > the destination device(s).  Having pci_msi_ignore_mask set in that scenario
> > prevents (un)masking of MSI entries for devices behind the VMD bridge.
> > 
> > Move the signaling of no entry masking into the MSI domain flags, as that
> > allows setting it on a per-domain basis.  Set it for the Xen MSI domain
> > that uses the pIRQ chip, while leaving it unset for the rest of the
> > cases.
> > 
> > Remove pci_msi_ignore_mask at once, since it was only used by Xen code, and
> > with Xen dropping usage the variable is unneeded.
> > 
> > This fixes using devices behind a VMD bridge on Xen PV hardware domains.
> > 
> > Albeit Devices behind a VMD bridge are not known to Xen, that doesn't mean
> > Linux cannot use them.  By inhibiting the usage of
> > VMD_FEAT_CAN_BYPASS_MSI_REMAP and the removal of the pci_msi_ignore_mask
> > bodge devices behind a VMD bridge do work fine when use from a Linux Xen
> > hardware domain.  That's the whole point of the series.
> > 
> > Signed-off-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> > Acked-by: Juergen Gross <jgross@suse.com>
> 
> Did anyone actually test this on a normal KVM guest?

Sorry, not on KVM, I've tested on Xen and native.  It also seems to be
somewhat tied to the Kconfig, as I couldn't reproduce it with my
Kconfig, maybe didn't have the required VirtIO options enabled.

It's fixed by:

https://lore.kernel.org/xen-devel/87v7rxzct0.ffs@tglx/

Waiting for Thomas to formally sent that.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:16:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:16:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927597.1330316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOkO-0005Ll-Os; Wed, 26 Mar 2025 11:16:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927597.1330316; Wed, 26 Mar 2025 11:16: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 1txOkO-0005Le-MG; Wed, 26 Mar 2025 11:16:36 +0000
Received: by outflank-mailman (input) for mailman id 927597;
 Wed, 26 Mar 2025 11:16: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txOkN-0005LT-9R
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:16:35 +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 c61db162-0a33-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 12:16:33 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso45393825e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:16: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-3997f9eff9asm16852064f8f.92.2025.03.26.04.16.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:16: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: c61db162-0a33-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742987793; x=1743592593; 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=1ANTsplwvecV89CHtaFqq0E073tJdLatT17Rz3bc1ls=;
        b=Sn8Xnh6Qq4Ovkmltz2Xl29Kp7R3TK2OjhJ+o6150OkkO8q9El6Me7F88WgLZ4BQSlh
         33+NUqnoce7RAdRBP4pSgG8C62u7MqqGQr8fsmIZdmMdB8X+oXo/HxheBSCqSvZAL3t8
         bUuRG7RNrkJDakIJpI5wmu76Jsqqu9/JNmlBMSjqixsimFRqJbqioTFzLtXw7XU184iI
         tw4NJrGcQkaDLQNwzR+nAM//nSDIGqNivLE5+aLxNI69VkWLD9l+yLrWCJjawfp6FcTW
         cJiD/pYgyADxd8sM8GPQIbgXABsy1kL8GCyuoNEVYQcGztCeRHKfZ0c5+av5zshsCpRg
         PrCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742987793; x=1743592593;
        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=1ANTsplwvecV89CHtaFqq0E073tJdLatT17Rz3bc1ls=;
        b=jlmFHpQlMM0vdTpFq9X+AfXVgy3VlkwfT4QcLY6rJqYFUMnVdXps+n7fKjN2W1Y/D2
         8sGkmFQ4Zeo91Avo8UvI3L2XRHKg5VMxBpd4t+qxInik4E/46i7WjlmnxMmezwWiRNp1
         nf8Wh1KPRGRHoJtm3dSczXi5UdWZf1j4JlbfmwCEB21iNJPf9JatjZmzLpX21AoLnCf7
         +o81pl8XSwWoQEX/etjabcJPYq1C7fojcM4gBOLCgD3LQy6nMakHEcpllTQ1b5juaeFQ
         9VhdzoHhLwznLbwcbcrT5DdLAq+B1MOwgUcnC9vYN7B0Oa7Fo7gjtD497sBLoHmVSGv1
         eypA==
X-Forwarded-Encrypted: i=1; AJvYcCVsSHV4+ZkMNoriW6yhMlumJjluda9L1vWnp5FBojdP6+valalVqNLIDKon9xbpyb4Fo8QX+5Abx6Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzsu7SmTG2bpnksJdHfKoK+GvyO4Xrn9Oqlh29HFVfJjtrTOiSd
	YsaXPdQHyuL8MZazWfooP1HK1Rq/KPH2Rfv33VImsoS9zN8Px+DDQ/bjBhrR3w==
X-Gm-Gg: ASbGnctPEPEQvOirYs4EF+GUjqXH4IuYLGvCDTElD90wTAmFH6p7lH6Er0ZlPlrPuW7
	YGJbzaEeTKXH6SR0G4xIt1WMxuV4RT850kNeaZRLZB4Ndx6YoFaw1+wJqVtsQO2RLIY4cTqf+2b
	sJigMyQRiS2YK81/fhIisshxsvxQUC6PcuWMv8Ti4uiPDhPU7GxBx3Z/ddJUUfgrzFLz6F1Yr7I
	Y6UcZTldFQYFxwBv51i0+yHOFzXpTk6pGA9Uzlp3XG1p55K29bqepn9G7X32lIc11n8B6DSu0EF
	tvM1xBKwF4KfTc0q2qx4f5rT3b8e/P6ujES3WQXcWXooFFDN9KuQQL/iDKPxs0GJKoX09ic9kT1
	+IrM6JyJ6ulhwsRzoKdgmyt/gri/oGg==
X-Google-Smtp-Source: AGHT+IGX59XPcWvKd+XWhkN3rGxATEJeaViUCJIYtnBgv3GjRYG7l53a0SK6snj9WHlkfREHJxJNOw==
X-Received: by 2002:a05:600c:83cf:b0:43c:f8fc:f69a with SMTP id 5b1f17b1804b1-43d509e6492mr210842975e9.4.1742987792699;
        Wed, 26 Mar 2025 04:16:32 -0700 (PDT)
Message-ID: <0f87af42-8ed2-47d4-a0a1-23d5b24f70f5@suse.com>
Date: Wed, 26 Mar 2025 12:16:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] x86/hvm: Rearrange the logic in
 hvmemul_{read,write}_cr()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250325174109.267974-1-andrew.cooper3@citrix.com>
 <20250325174109.267974-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: <20250325174109.267974-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 18:41, Andrew Cooper wrote:
> In hvmemul_read_cr(), make the TRACE()/X86EMUL_OKAY path common in preparation
> for adding a %cr8 case.  Use a local 'val' variable instead of always
> operating on a deferenced pointer.
> 
> In both, calculate curr once.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with two suggestions:

> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -2273,23 +2273,30 @@ static int cf_check hvmemul_write_io(
>  
>  static int cf_check hvmemul_read_cr(
>      unsigned int reg,
> -    unsigned long *val,
> +    unsigned long *_val,

Could I talk you into avoiding the leading underscore here, by using e.g.
"pval" or "valp"?

>      struct x86_emulate_ctxt *ctxt)
>  {
> +    struct vcpu *curr = current;

This can be pointer-to-const?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:20:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927606.1330326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOng-0005wK-6C; Wed, 26 Mar 2025 11:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927606.1330326; Wed, 26 Mar 2025 11:20: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 1txOng-0005wD-3N; Wed, 26 Mar 2025 11:20:00 +0000
Received: by outflank-mailman (input) for mailman id 927606;
 Wed, 26 Mar 2025 11:19: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txOnf-0005w7-O4
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:19:59 +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 4078f27d-0a34-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:19:58 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3995ff6b066so3633980f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:19: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-43d4fd26cecsm179107205e9.17.2025.03.26.04.19.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:19: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: 4078f27d-0a34-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742987998; x=1743592798; 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=3zsSScDB5KcIpU7bmPVGyFiAOeLFa4DhW9QmQzbHM9s=;
        b=Msm6V6lozT630cSCoMOel1m1c/nsgM7qz1+k+bRU+gGCG2apMGlWS5KYsZZNRjvnz2
         4f4aBiPowC1ILksC77plJ6Zaz9Sm3ZWZEIhLeepyTg8/utmFxz0wKHgsxET7wz/DK6Nl
         ybRxYQrLn/zve1fkgkqY+KPlpjuhWnQUWyaoRZSx7jiZYHtJC+DHnCey15SOm9AjnYRg
         iZOzth87xPGQrTQJyNNfb6wXp2AM/xjS3Lf4cGWOeNs/s09eFSiq9lnsybaBQTGI+J2D
         caDc1Yb5belKsxLOo6qfPIOGWAQ5SPrdul4JhCJSZ7zIzsldD9M2/6jBqnwqs0jgx4DJ
         GB8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742987998; x=1743592798;
        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=3zsSScDB5KcIpU7bmPVGyFiAOeLFa4DhW9QmQzbHM9s=;
        b=fs55bcaDMD2PlXoLIhtRe/E4kFqNvO65p+sCWrqUpY2LBE+SaqarwlNxbyjT+o20/Y
         hWkUAgBAo+MX+ZoIbR6JM8Xd8rSIDrcVziq0kCZIaBazQi5aED0MZ48DphXNDhQcgzlz
         fmn0QaGhQ+HpAMigdH+JhVqT6Nd/yK0605h+2SIgJg53JPZDx1UQ/4uL1EqxguYbHRmV
         56A8KpwgUe0KD1ABQmW734BAxHAa21y0AvCLkdWngOr0bH5nr/GdOj5tBsnmkSXkEMe5
         968qiPSVKkUha/fbSHfwh9fGZ6I2Cmp7aXQgGL2BU7pArtzd78QJGNgVj0+WfWjXcHTx
         BDbQ==
X-Forwarded-Encrypted: i=1; AJvYcCWdFrjZ4WTqTS8+w9gA5TiAlLZKM5F1aG9xABqiUi1YBtZ1aWftGkIwlCYY3S4JKpZl+lNp3Q0+ouw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUwDPiGiccfaxEw8oP8sf7wwquhxZ7NI2gQ6I2SyFi5ngKGgl7
	ZQghh7HJR3KBrOaLmgsyNpf/J1vXv2jVIRKHNKcJEJ4XCDHNTczHbFiyXG+XgA==
X-Gm-Gg: ASbGncv26DOScDOAPVrkF+SeiRUh7QUN8pdlMgax+rqbzkZnxOpRbQycvkeY9AAPixK
	lSLr49v1xQW54B9A+4yp2FfqrqF/MH40xOsuibv0IEKXODHUbvBkDBqn+Myg+Ls/V8LszBmYcVk
	cWSbichz3HiaxRcah0S05pYFeIlXy0KvBIICMGvwkRvgmgMGb76BwKvhE4pKApRK9OwcBiMnD8Q
	8zt69OH6ESbMg2PzUse521pobrGWn9OiUa6tyUWxTwSc2+Cw2mW7j+pHnmmtXuX4shQ5dtks9P5
	bZ6h2GDqMml4o1ebpZ0J2b0FehiGZ2LN6IY8rWdH72Prgoy0iyKbyafKKPmiiTyJ4AnN73ht82x
	v0LLHPdo1wFIe1OWP3AuMK+CUePftEw==
X-Google-Smtp-Source: AGHT+IFZxr8oyl268Ad60Ted9h4ZNJoRS/6N9tMfX2wHaSJ1Q9kUT0NE0akvxo3gjsZpqEgvxrt+0g==
X-Received: by 2002:a05:6000:18ab:b0:391:1806:e23f with SMTP id ffacd0b85a97d-3997f911624mr16916730f8f.17.1742987997893;
        Wed, 26 Mar 2025 04:19:57 -0700 (PDT)
Message-ID: <261b12d9-7125-4cee-acd8-a8ab3287b05e@suse.com>
Date: Wed, 26 Mar 2025 12:19:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/emul: Emulate %cr8 accesses
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250325174109.267974-1-andrew.cooper3@citrix.com>
 <20250325174109.267974-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: <20250325174109.267974-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.03.2025 18:41, Andrew Cooper wrote:
> Petr reports:
> 
>   (XEN) MMIO emulation failed (1): d12v1 64bit @ 0010:fffff8057ba7dfbf -> 45 0f 20 c2 ...
> 
> during introspection.
> 
> This is MOV %cr8, which is wired up for hvm_mov_{to,from}_cr(); the VMExit
> fastpaths, but not for the full emulation slowpaths.
> 
> Xen's handling of %cr8 turns out to be quite wrong.  At a minimum, we need
> storage for %cr8 separate to APIC_TPR, and to alter intercepts based on
> whether the vLAPIC is enabled or not.  But that's more work than there is time
> for in the short term, so make a stopgap fix.
> 
> Extend hvmemul_{read,write}_cr() with %cr8 cases.  Unlike hvm_mov_to_cr(),
> hardware hasn't filtered out invalid values (#GP checks are ahead of
> intercepts), so introduce X86_CR8_VALID_MASK.
> 
> Reported-by: Petr BeneĹĄ <w1benny@gmail.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -2288,6 +2288,10 @@ static int cf_check hvmemul_read_cr(
>          val = curr->arch.hvm.guest_cr[reg];
>          break;
>  
> +    case 8:
> +        val = (vlapic_get_reg(vcpu_vlapic(curr), APIC_TASKPRI) & 0xf0) >> 4;

No new #define then to use MASK_EXTR() here and ...

> @@ -2333,6 +2337,17 @@ static int cf_check hvmemul_write_cr(
>          rc = hvm_set_cr4(val, true);
>          break;
>  
> +    case 8:
> +        if ( val & ~X86_CR8_VALID_MASK )
> +        {
> +            rc = X86EMUL_EXCEPTION;
> +            break;
> +        }
> +
> +        vlapic_set_reg(vcpu_vlapic(curr), APIC_TASKPRI, val << 4);

... MASK_INSR() here?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:22:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927614.1330336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOpn-0007ST-I3; Wed, 26 Mar 2025 11:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927614.1330336; Wed, 26 Mar 2025 11:22: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 1txOpn-0007SM-Ep; Wed, 26 Mar 2025 11:22:11 +0000
Received: by outflank-mailman (input) for mailman id 927614;
 Wed, 26 Mar 2025 11:22: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=j9c7=WN=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1txOpm-0007SG-1t
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:22:10 +0000
Received: from mail.alien8.de (mail.alien8.de [2a01:4f9:3051:3f93::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d7d2203-0a34-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:22:08 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 5C77140E01FF; 
 Wed, 26 Mar 2025 11:22:06 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 2BBJubJfUa6X; Wed, 26 Mar 2025 11:22:02 +0000 (UTC)
Received: from zn.tnic (pd95303ce.dip0.t-ipconnect.de [217.83.3.206])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id C404F40E0213;
 Wed, 26 Mar 2025 11:21: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: 8d7d2203-0a34-11f0-9ea3-5ba50f476ded
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
	reason="fail (body has been altered)" header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1742988121; bh=HHmqfeWTgw3N+abSgf1eEvtMfI5HsocYTyjY2Y/8nZs=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=aG/ouA9ViexZdNByT93a5dwhb+1CXWJcAuelsphHkx8e93/dO0BW1QldVxlT9POsa
	 uGIHfghooDUE8UFtzBQJShNq9eWsTf1h5D2SFODw1iTLNZFWC2zgi2DX27SnIVUhc+
	 D71sAU2AQuc45meB6zxxyyBSlsj7SMExaWoCarLZh7jsG8rNUYXnJzkst+yDYhF5Mx
	 xI2NSoRS1NRZvOo9YV9SR1ATS5WIVilgPupFFyojgZo9lFV/itBpeg4rmr/NJMjmLf
	 SeqYr0XOCnP83ZiQkXleMWhrli3lID3a+wyNLM80+hqdEFWJ2LWv2hdKPKnfXekRM/
	 bhWIxM9kqiMA503IXOgaNLy1KhusZXcIrXuIrY0s+rMhcr4tZQBys6CkihfLea7MBg
	 3Lvkwe/cVm509IBItBSAPMDAl6T+NF6A3fZtTohN/kGmiH3QnGJF0hcknp5/XE9sDM
	 IOjD6SpFKC9GrW5Sz53udRR9m1aiyWrrBgtFpFqNLsuesT7wnDpKoPAOnqg5MQjWHG
	 x2hwZR2a9dcwAaXe1i9FrnWiFcGrc1czzhIRIgjs4XeMfn06CC/bS/4LRbMP8b54jz
	 trB3+9FUr29rdPAhSMmtdM8HkhvqB76OvR1ND63Ax06DLZrRWbCf4qMOl72ZZKcfBn
	 Fffh7UZj/O7uuDigVra8WASU=
Date: Wed, 26 Mar 2025 12:21:43 +0100
From: Borislav Petkov <bp@alien8.de>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Juergen Gross <jgross@suse.com>,
	Bjorn Helgaas <bhelgaas@google.com>, Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
Message-ID: <20250326112143.GAZ-PjR5xrN1GyzXzE@fat_crate.local>
References: <20250219092059.90850-1-roger.pau@citrix.com>
 <20250219092059.90850-4-roger.pau@citrix.com>
 <20250326110455.GAZ-PfV3kOiQw97fDj@fat_crate.local>
 <Z-PhgWQMHjxbac3b@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <Z-PhgWQMHjxbac3b@macbook.local>
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 26, 2025 at 12:14:09PM +0100, Roger Pau Monn=C3=A9 wrote:
> Sorry, not on KVM, I've tested on Xen and native.  It also seems to be
> somewhat tied to the Kconfig, as I couldn't reproduce it with my
> Kconfig, maybe didn't have the required VirtIO options enabled.

Right.

> It's fixed by:
>=20
> https://lore.kernel.org/xen-devel/87v7rxzct0.ffs@tglx/
>=20
> Waiting for Thomas to formally sent that.

Yap, he just pointed me to that one.

Tested-by: Borislav Petkov (AMD) <bp@alien8.de>

Thx.

--=20
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:27:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:27:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927624.1330346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txOuf-0000BQ-05; Wed, 26 Mar 2025 11:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927624.1330346; Wed, 26 Mar 2025 11:27: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 1txOue-0000BJ-T5; Wed, 26 Mar 2025 11:27:12 +0000
Received: by outflank-mailman (input) for mailman id 927624;
 Wed, 26 Mar 2025 11:27: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=VNrU=WN=samsung.com=m.szyprowski@srs-se1.protection.inumbo.net>)
 id 1txOud-0000BD-Sa
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:27:12 +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 3ad98d65-0a35-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 12:27:04 +0100 (CET)
Received: from eucas1p1.samsung.com (unknown [182.198.249.206])
 by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id
 20250326112658euoutp025c89de55379c71ecfed345334735f0eb~wVrtPeM5y0175301753euoutp02B
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 11:26:58 +0000 (GMT)
Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by
 eucas1p1.samsung.com (KnoxPortal) with ESMTP id
 20250326112656eucas1p193066b529e16ef428bd680dabf570841~wVrr7tGkI0973109731eucas1p1N;
 Wed, 26 Mar 2025 11:26:56 +0000 (GMT)
Received: from eucas1p2.samsung.com ( [182.198.249.207]) by
 eusmges3new.samsung.com (EUCPMTA) with SMTP id 33.35.20397.084E3E76; Wed, 26
 Mar 2025 11:26:56 +0000 (GMT)
Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by
 eucas1p2.samsung.com (KnoxPortal) with ESMTPA id
 20250326112656eucas1p27c3b714ecf38ca2249c5aa1261ed3f7e~wVrrUROrM0050000500eucas1p2X;
 Wed, 26 Mar 2025 11:26:56 +0000 (GMT)
Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by
 eusmtrp1.samsung.com (KnoxPortal) with ESMTP id
 20250326112656eusmtrp1c89addaa1a2d2f471d76f305d45578c9~wVrrTlktV2343023430eusmtrp1C;
 Wed, 26 Mar 2025 11:26:56 +0000 (GMT)
Received: from eusmtip1.samsung.com ( [203.254.199.221]) by
 eusmgms2.samsung.com (EUCPMTA) with SMTP id 14.CD.19654.084E3E76; Wed, 26
 Mar 2025 11:26:56 +0000 (GMT)
Received: from [106.210.134.192] (unknown [106.210.134.192]) by
 eusmtip1.samsung.com (KnoxPortal) with ESMTPA id
 20250326112654eusmtip17f1c64d1e828f29e834b0004a1496fd7~wVrpgGmx13273532735eusmtip1B;
 Wed, 26 Mar 2025 11:26:54 +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: 3ad98d65-0a35-11f0-9ffa-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20250326112658euoutp025c89de55379c71ecfed345334735f0eb~wVrtPeM5y0175301753euoutp02B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1742988418;
	bh=JNzUkgewJxVw+djbfV7Om+X3X2br3UJlxB3aD3WIpL4=;
	h=Date:Subject:To:Cc:From:In-Reply-To:References:From;
	b=H/Gsgbhh52kAkAWU1ySSVLdyYXoZgdzsmqF40i09jQZEwz60rYhR1kyuNqz/Pg2D5
	 0gPtMRNvonNd1jn22H/zqS+z7qcX1AEgyoebJQiQpTJeayGkUnfVa4ocSicGAzaJ/3
	 G2h5OruCWuxJbnj3czNDlF3hvtt+FNSMX+WOcc1I=
X-AuditID: cbfec7f5-ed1d670000004fad-ca-67e3e48044ff
Message-ID: <289d54b8-91eb-44cc-9304-355f1f865d4d@samsung.com>
Date: Wed, 26 Mar 2025 12:26:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/3] PCI/MSI: Convert pci_msi_ignore_mask to per MSI
 domain flag
To: Thomas Gleixner <tglx@linutronix.de>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Daniel Gomez <da.gomez@kernel.org>
Cc: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, Bjorn Helgaas
	<helgaas@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org, Bjorn Helgaas
	<bhelgaas@google.com>, 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>
Content-Language: en-US
From: Marek Szyprowski <m.szyprowski@samsung.com>
In-Reply-To: <87v7rxzct0.ffs@tglx>
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrJKsWRmVeSWpSXmKPExsWy7djP87oNTx6nGxz4r2expCnD4vOGf2wW
	f6dlW7zY0M5o8erMWjaLaRvFLebcNLK4vGsOm8XZecfZLC4dWMBkMeP8YlaLzZumMlv82PCY
	1eL7lslMDnwe31v7WDxeT57A6LFgU6nHplWdbB7vzp1j95h3MtDj8IcrLB7v911l81i/5SqL
	x+dNch4nWr6wBnBHcdmkpOZklqUW6dslcGXMmK9ecFip4tiu3WwNjOukuxg5OSQETCQ2TTjK
	1MXIxSEksIJRYt6OS6wQzhdGiVXXPkE5nxklNu+YygLT0nH4BTtEYjmjxLJlh5ghnI+MEp++
	/WPrYuTg4BWwkzj+NwikgUVAVWLx1y2sIDavgKDEyZlPwAaJCshL3L81gx3EFhaIlNi46CXY
	HSIC7YwSZ2a9YQRxmAX+M0k0dc9lA6liFhCXuPVkPhOIzSZgKNH1tgsszimgJPH/5XUmiBp5
	ieats8EukhDYzynR/WAh2EUSAi4SP3sjIV4Qlnh1fAs7hC0jcXpyDwtEPdDmBb/vM0E4Exgl
	Gp7fYoSospa4c+4X2CBmAU2J9bv0IcKOElM7J7JDzOeTuPFWEOIGPolJ26YzQ4R5JTrahCCq
	1SRmHV8Ht/bghUvMExiVZiGFyywkX85C8s0shL0LGFlWMYqnlhbnpqcWG+ellusVJ+YWl+al
	6yXn525iBKa+0/+Of93BuOLVR71DjEwcjIcYJTiYlUR4j7E+TBfiTUmsrEotyo8vKs1JLT7E
	KM3BoiTOu2h/a7qQQHpiSWp2ampBahFMlomDU6qBqak1o1nlbEDn/KwXAl5FqbzJO7mO5yQW
	Sa9fbZjh5hDndd9zvezfQ63VN5d99zvneO4M++bEmRMucYUJXC+UlbzxWapG8g3vn4MHgjLn
	znV4Zfer9HEDs8S9o5P/sRhlMX2UzSjIDfIXOaX3Mchs9U62ruRuxfkZlT/nPdsny6+56u+7
	J08+O6p3VrGt/Z1yZWF5s6fNIY//E/n2r9cXXhAf3WKbtoAv7lPbkXIhQbaK/ZF138s+ZnqF
	bHJf+ko2umh+tvbdf1f0G2d+s5+6V2GukMiC4BX1X0ILrDyN2N2/H+wtqD+2bJL3Fq3v8j+X
	3bKYrS1nnP7d6q88g9GJSzFvD/79U/yQ1bHeVey+EktxRqKhFnNRcSIAWalNN+wDAAA=
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrDIsWRmVeSWpSXmKPExsVy+t/xu7oNTx6nG6z7y26xpCnD4vOGf2wW
	f6dlW7zY0M5o8erMWjaLaRvFLebcNLK4vGsOm8XZecfZLC4dWMBkMeP8YlaLzZumMlv82PCY
	1eL7lslMDnwe31v7WDxeT57A6LFgU6nHplWdbB7vzp1j95h3MtDj8IcrLB7v911l81i/5SqL
	x+dNch4nWr6wBnBH6dkU5ZeWpCpk5BeX2CpFG1oY6RlaWugZmVjqGRqbx1oZmSrp29mkpOZk
	lqUW6dsl6GXMmK9ecFip4tiu3WwNjOukuxg5OSQETCQ6Dr9g72Lk4hASWMoosfT0ZhaIhIzE
	yWkNrBC2sMSfa11sEEXvGSWOb7nL1MXIwcErYCdx/G8QSA2LgKrE4q9bwOp5BQQlTs58AjZH
	VEBe4v6tGewgtrBApMTGRS+ZQOaICHQySixvvcAC4jAL/GeS2PVqKjPEhttMEvc6n4K1MwuI
	S9x6Mp8JxGYTMJToegtyBicHp4CSxP+X15kgaswkurZ2MULY8hLNW2czT2AUmoXkkllIRs1C
	0jILScsCRpZVjCKppcW56bnFRnrFibnFpXnpesn5uZsYgdG+7djPLTsYV776qHeIkYmD8RCj
	BAezkgjvMdaH6UK8KYmVValF+fFFpTmpxYcYTYHBMZFZSjQ5H5hu8kriDc0MTA1NzCwNTC3N
	jJXEedmunE8TEkhPLEnNTk0tSC2C6WPi4JRqYNpmEcbf5u544/O/7kmMh/Zvv78l4tSxsG2s
	ldxRdidsuFVuhywsdIrnKo4ut1227YF9Rv3+v1cmXGfXYV9ybX1IbFrO5ddyX19c+TnT7k7c
	mt6COZb3C6M2talaLmM/MOvwgpev3m7afIyVuY1Fbu8BmY0savkB9480qWQF7LvPEVqms/HH
	JqYNS7OuLDl90KXP7NSWxKaFp9qmLrvpsSFut93Lkz88+0KeHjw+40aXdp7a6llT1xs+Wsbc
	2DHV/+5GY601TZJffqRG3FWPUXs+74KG/dkVNrN39f7iWeqTVulkmJF35mBLqWb0famm+lVS
	xin50hp26RxS6tlmSpP+bO/81iVyiP1Bn8jDumwlluKMREMt5qLiRABMzfnpfwMAAA==
X-CMS-MailID: 20250326112656eucas1p27c3b714ecf38ca2249c5aa1261ed3f7e
X-Msg-Generator: CA
Content-Type: text/plain; charset="utf-8"
X-RootMTR: 20250326112656eucas1p27c3b714ecf38ca2249c5aa1261ed3f7e
X-EPHeader: CA
CMS-TYPE: 201P
X-CMS-RootMailID: 20250326112656eucas1p27c3b714ecf38ca2249c5aa1261ed3f7e
References: <20250320210741.GA1099701@bhelgaas>
	<846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
	<qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
	<Z-GbuiIYEdqVRsHj@macbook.local>
	<kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
	<Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx> <87v7rxzct0.ffs@tglx>
	<CGME20250326112656eucas1p27c3b714ecf38ca2249c5aa1261ed3f7e@eucas1p2.samsung.com>

On 25.03.2025 10:20, Thomas Gleixner wrote:
> On Tue, Mar 25 2025 at 09:11, Thomas Gleixner wrote:
>> On Mon, Mar 24 2025 at 20:18, Roger Pau MonnĂŠ wrote:
>>> On Mon, Mar 24, 2025 at 07:58:14PM +0100, Daniel Gomez wrote:
>>>> The issue is that info appears to be uninitialized. So, this worked for me:
>>> Indeed, irq_domain->host_data is NULL, there's no msi_domain_info.  As
>>> this is x86, I was expecting x86 ot always use
>>> x86_init_dev_msi_info(), but that doesn't seem to be the case.  I
>>> would like to better understand this.
>> Indeed. On x86 this should not happen at all. On architectures, which do
>> not use (hierarchical) interrupt domains, it will return NULL.
>>
>> So I really want to understand why this happens on x86 before such a
>> "fix" is deployed.
> So after staring at it some more it's clear. Without XEN, the domain
> returned is the MSI parent domain, which is the vector domain in that
> setup. That does not have a domain info set. But on legacy architectures
> there is not even a domain.
>
> It's really wonderful that we have a gazillion ways to manage the
> backends of PCI/MSI....
>
> So none of the suggested pointer checks will cover it correctly. Though
> there is already a function which allows to query MSI domain flags
> independent of the underlying insanity. Sorry for not catching it in
> review.
>
> Untested patch below.

This fixes the panic observed on ARM64 RK3568-based Odroid-M1 board 
(arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts) on next-20250325. 
Thanks!

Feel free to add to the final patch:

Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>


>
> Thanks,
>
>          tglx
> ---
>   drivers/pci/msi/msi.c |   18 ++++++------------
>   1 file changed, 6 insertions(+), 12 deletions(-)
>
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -285,8 +285,6 @@ static void pci_msi_set_enable(struct pc
>   static int msi_setup_msi_desc(struct pci_dev *dev, int nvec,
>   			      struct irq_affinity_desc *masks)
>   {
> -	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> -	const struct msi_domain_info *info = d->host_data;
>   	struct msi_desc desc;
>   	u16 control;
>   
> @@ -297,7 +295,7 @@ static int msi_setup_msi_desc(struct pci
>   	/* Lies, damned lies, and MSIs */
>   	if (dev->dev_flags & PCI_DEV_FLAGS_HAS_MSI_MASKING)
>   		control |= PCI_MSI_FLAGS_MASKBIT;
> -	if (info->flags & MSI_FLAG_NO_MASK)
> +	if (pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY))
>   		control &= ~PCI_MSI_FLAGS_MASKBIT;
>   
>   	desc.nvec_used			= nvec;
> @@ -605,20 +603,18 @@ static void __iomem *msix_map_region(str
>    */
>   void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
>   {
> -	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> -	const struct msi_domain_info *info = d->host_data;
> -
>   	desc->nvec_used				= 1;
>   	desc->pci.msi_attrib.is_msix		= 1;
>   	desc->pci.msi_attrib.is_64		= 1;
>   	desc->pci.msi_attrib.default_irq	= dev->irq;
>   	desc->pci.mask_base			= dev->msix_base;
> -	desc->pci.msi_attrib.can_mask		= !(info->flags & MSI_FLAG_NO_MASK) &&
> -						  !desc->pci.msi_attrib.is_virtual;
>   
> -	if (desc->pci.msi_attrib.can_mask) {
> +
> +	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY) &&
> +	    !desc->pci.msi_attrib.is_virtual) {
>   		void __iomem *addr = pci_msix_desc_addr(desc);
>   
> +		desc->pci.msi_attrib.can_mask = true;
>   		desc->pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
>   	}
>   }
> @@ -715,8 +711,6 @@ static int msix_setup_interrupts(struct
>   static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
>   				int nvec, struct irq_affinity *affd)
>   {
> -	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
> -	const struct msi_domain_info *info = d->host_data;
>   	int ret, tsize;
>   	u16 control;
>   
> @@ -747,7 +741,7 @@ static int msix_capability_init(struct p
>   	/* Disable INTX */
>   	pci_intx_for_msi(dev, 0);
>   
> -	if (!(info->flags & MSI_FLAG_NO_MASK)) {
> +	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY)) {
>   		/*
>   		 * Ensure that all table entries are masked to prevent
>   		 * stale entries from firing in a crash kernel.
>
>
Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:33:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:33:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927638.1330356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txP0X-0003YR-NZ; Wed, 26 Mar 2025 11:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927638.1330356; Wed, 26 Mar 2025 11: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 1txP0X-0003YK-KP; Wed, 26 Mar 2025 11:33:17 +0000
Received: by outflank-mailman (input) for mailman id 927638;
 Wed, 26 Mar 2025 11:33: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txP0V-0003Y9-US
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:33:15 +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 1ad5d4a9-0a36-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:33:14 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso4924305e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:33:14 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43f332adsm232190655e9.3.2025.03.26.04.33.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:33: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: 1ad5d4a9-0a36-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742988794; x=1743593594; 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=Wz1pPojnD86FxiGPp1RtCzUAV+1N6fuxzKDY+mWmWss=;
        b=OkGjHxmQliUa9Eb4WZ4qxw3j0frULfdsxADq1mTlfdS0XjmFS+sPRD3gpzEp8ySGD7
         gHdRjL27C0FhZFs6g/+JDhMvkYVoRtX6fJ8ExonJLnzNJDw12O8nMy436q8VsUUL5Kww
         i492+Fdjlh9EDo+uBS2XgGaF/N84LxyQA7roY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742988794; x=1743593594;
        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=Wz1pPojnD86FxiGPp1RtCzUAV+1N6fuxzKDY+mWmWss=;
        b=v+L+I+UiFyzKxMOCy5Y62M2HhIaGFT8npMRzmRhroYOyOZwnDUIjoHmLZM8sO6vITF
         ts2Y8A2IByV2f1vt1q49N28RvNXkF+JWEGPu6CJs5K9lFVhw4Yni7uS1TMz93qBH4YxY
         L4pAwEeoXKbAgarVTHeoHRdJ4gzVMTO+1TGOwH6kiK9+4lzkT0VGXCvNWfWk7dAnmWS+
         seDtlkyqavjQDTRyFIH2yoRZNvo5J9Grh7QbCyUYYnpGJfRzhlLHVLZkguzIClXV4JzL
         Dn4e2RpArF5eHCT8r4lNFNO4OD1NrxyCo4w4cBsh9vMaf6jfW/AzOSby3/6iLd3tjpIG
         k0Ng==
X-Forwarded-Encrypted: i=1; AJvYcCVPhJf2hZJGZgbgmK+sKErpyCAQ9HdIm35DrjLOHxDF3BPTrE+NvG/dIUTBq/NHy+5zoA7B/wWVzi4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyGfsRM0k7JnveRcjJ6P/9LzWFqqjiEuFhq7Z+G6HK4lS9li453
	Ee5y9jB10MUva6WmbIF+SZW2lyvIj3PUNeqh8a0Y8OBDqR61AdGsSftPdIPuYr4=
X-Gm-Gg: ASbGncsPpBL7aeO0sXVb5XEId2rVJS+P3zM3eKMlU90vOA5yXj0d4FPl3JOzryTUyv9
	TZ9w4jqGpVciSu+eGuzXWq+IFLUu2YXZoKDnBFvVfD5mfI0BspEwP8fgfCEn6tcDXtSXKFuSgkV
	xmmlqKAeYiZpfaiQxQyRTHtbiPVenLwzctVgEi0RjRFdqqA9dzJMNl7HhpC9RtRSG9cCHZ8cA/J
	yX6lcchSj/tdritENcMFcJkCkrhfMELH7/E6X5Qyxq5pBM1w5IBVAC/LXkT862XDN5qUw4xh/0c
	xiTmLgPQSH8jBNRMPcssV7HkhIIXAN92Jqe9yZgT5Y17yyOvOGkxEX5PJK6T+q6ZACV9zAVhNFm
	khhAjLmfy1g==
X-Google-Smtp-Source: AGHT+IFTDL+Bude+LviDN/fc/na61tKpfS4sFR6Ce+5Ujedmn1sbVT/yr3DnYB9BLKqdyGiE0IWFiA==
X-Received: by 2002:a05:600c:1d01:b0:439:8878:5029 with SMTP id 5b1f17b1804b1-43d77547ecbmr30941275e9.2.1742988793811;
        Wed, 26 Mar 2025 04:33:13 -0700 (PDT)
Message-ID: <c8e1d6fa-a77e-49bb-930d-372686df0c92@citrix.com>
Date: Wed, 26 Mar 2025 11:33:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/emul: Emulate %cr8 accesses
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250325174109.267974-1-andrew.cooper3@citrix.com>
 <20250325174109.267974-3-andrew.cooper3@citrix.com>
 <261b12d9-7125-4cee-acd8-a8ab3287b05e@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: <261b12d9-7125-4cee-acd8-a8ab3287b05e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/03/2025 11:19 am, Jan Beulich wrote:
> On 25.03.2025 18:41, Andrew Cooper wrote:
>> Petr reports:
>>
>>   (XEN) MMIO emulation failed (1): d12v1 64bit @ 0010:fffff8057ba7dfbf -> 45 0f 20 c2 ...
>>
>> during introspection.
>>
>> This is MOV %cr8, which is wired up for hvm_mov_{to,from}_cr(); the VMExit
>> fastpaths, but not for the full emulation slowpaths.
>>
>> Xen's handling of %cr8 turns out to be quite wrong.  At a minimum, we need
>> storage for %cr8 separate to APIC_TPR, and to alter intercepts based on
>> whether the vLAPIC is enabled or not.  But that's more work than there is time
>> for in the short term, so make a stopgap fix.
>>
>> Extend hvmemul_{read,write}_cr() with %cr8 cases.  Unlike hvm_mov_to_cr(),
>> hardware hasn't filtered out invalid values (#GP checks are ahead of
>> intercepts), so introduce X86_CR8_VALID_MASK.
>>
>> Reported-by: Petr BeneĹĄ <w1benny@gmail.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> --- a/xen/arch/x86/hvm/emulate.c
>> +++ b/xen/arch/x86/hvm/emulate.c
>> @@ -2288,6 +2288,10 @@ static int cf_check hvmemul_read_cr(
>>          val = curr->arch.hvm.guest_cr[reg];
>>          break;
>>  
>> +    case 8:
>> +        val = (vlapic_get_reg(vcpu_vlapic(curr), APIC_TASKPRI) & 0xf0) >> 4;
> No new #define then to use MASK_EXTR() here and ...
>
>> @@ -2333,6 +2337,17 @@ static int cf_check hvmemul_write_cr(
>>          rc = hvm_set_cr4(val, true);
>>          break;
>>  
>> +    case 8:
>> +        if ( val & ~X86_CR8_VALID_MASK )
>> +        {
>> +            rc = X86EMUL_EXCEPTION;
>> +            break;
>> +        }
>> +
>> +        vlapic_set_reg(vcpu_vlapic(curr), APIC_TASKPRI, val << 4);
> ... MASK_INSR() here?

No.Â  The logic wont survive fixing cr8 I don't think.

AFAICT, what we need is plain storage, and vlapic_{get,set}_tpr()
accessors which account for hw-disable, and then call back into
hvm_set_reg() to adjust intercepts.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:39:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:39:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927648.1330366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txP61-00048U-9v; Wed, 26 Mar 2025 11:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927648.1330366; Wed, 26 Mar 2025 11:38: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 1txP61-00048N-6U; Wed, 26 Mar 2025 11:38:57 +0000
Received: by outflank-mailman (input) for mailman id 927648;
 Wed, 26 Mar 2025 11:38: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txP5z-00048H-Fy
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:38:55 +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 e53bd5f3-0a36-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:38:54 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4394036c0efso42802025e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:38: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
 5b1f17b1804b1-43d43f33237sm232100225e9.4.2025.03.26.04.38.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:38: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: e53bd5f3-0a36-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742989133; x=1743593933; 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=6aXxR3hXL+VeKHVX9AtNaLzjk3a+vjAHfbpLeqoQkPY=;
        b=Ky238BiQal+NEMLTQCMHYRXNYMwvKfJiEABdStVbv+9wZkOjl4sGD1YifQQw+sA4V8
         4Szm11Yub9Gl59/MrqmwX44bvRoFrzsW9uDJlNqGs4LvdD07NHH8ysfAIpiYKWg8cedf
         YZn5Bllwsl9kO67GrUuvU5pftXjZ5fJaz6IGIBbfJ3mh/O4LNWS4TCmiZFeVz+VxiTAh
         9fEhjfE9Ei/SNyZwYL1CoPSTB7XXWdspIAUsxE0jgMDS4CxjVwzA9jEGrn1Vd2peszCW
         8qj8os3oAahlX8ZzIAVhZpK2Ch7GdRaBqZey1yB6coragmem7yDwc6IK6ITWKuvR0xcw
         pq/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742989133; x=1743593933;
        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=6aXxR3hXL+VeKHVX9AtNaLzjk3a+vjAHfbpLeqoQkPY=;
        b=gzyW0ERKHrOJz6NDjBjtjlcJcfCAno3R/j9JfGBvXeGqB7OwZCvLTmpd0DL0LLb3jT
         0tJUlnX33BRtkaE3xGeysvdMYcG1qGBeacQcZT2bgGiBSvyrgpDJNj5mY+16wEWTaEOM
         sNijf/UcYDqS/smOg7jTT30/Daa98hYQ7ZgmtXQ9fhpqcSE5o/F1CzhNvRqhX6pLmOeg
         8Ozhlw4Ma2bS3WCYan8oNnbxbDeJD+B7vsTXFSw9HVOrUT69oV1MiqaelkmxPzArKg1W
         MOGozh4X7VL8p7B6QI4J3cOpVqgjgn/McERiSy/sYhV5nCu5NhP0uZylVwkITXzhy0h3
         R4Qw==
X-Gm-Message-State: AOJu0YxUdSEmsuPHtAaljNjCsIb1YwNsQdq5lsHVEN+yk/RslukKe9kI
	m1UMA8JDks88R6lfC6klNC5Fn7dAnX9Qu7ueNqQk+1esgxcnNtiLQTpde2PS7mN/SEuZmgVOofo
	=
X-Gm-Gg: ASbGnctZO52FjsmhKknQxEtCQ0mHpDAb8jDbcbktLt3GRmuNv+Yy+Dc7Yas6lTILfM4
	DzL1OmEFcULb97dEPd3W7aTQX4S9lHCVEJEcdaQuRcQDCHgisOnb/M9F7DyKi0D+vNdjRTnJb+P
	UcnY7btitM4S5h4eDOFoCsa2P+q/WQnoG2g2lM1XXa6r52O+kZkZeqAtc8mJHOinHwiXMf5l+je
	Um4M8x/RIq+3CZ+fBv8X4GMGNJ9oS4p3mLbDlasZxpLykEEuB7g5hf9pCzuIU5AVW01DzjyCEGx
	LoShzOc5p9qDbWaWvjCyIoDuIYX1l6S72JzGrN3G0G/owVYtnwPRVioHUs6msNxYO3bacLsb18h
	Pexqozw5M6BYzitMk0WjWMgCyczcW+Q==
X-Google-Smtp-Source: AGHT+IH5erneXS5jGtt5+YeZwJ338HyKZeXGoAKm7Hf/prj863Eplc4VPqIo7q5iDdSSwLi+elYkgw==
X-Received: by 2002:a05:600c:1d1a:b0:43d:300f:fa3d with SMTP id 5b1f17b1804b1-43d509e43d8mr189981345e9.5.1742989133358;
        Wed, 26 Mar 2025 04:38:53 -0700 (PDT)
Message-ID: <59051630-3843-400d-9127-a6eff15a2b5d@suse.com>
Date: Wed, 26 Mar 2025 12:38:52 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/pmstat: correct get_cpufreq_para()'s error return value
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

copy_to_guest() returns the number of bytes not copied; that's not what
the function should return to its caller though. Convert to returning
-EFAULT instead.

Fixes: 7542c4ff00f2 ("Add user PM control interface")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -230,12 +230,12 @@ static int get_cpufreq_para(struct xen_s
 
     for ( i = 0; i < op->u.get_para.freq_num; i++ )
         data[i] = pmpt->perf.states[i].core_frequency * 1000;
-    ret = copy_to_guest(op->u.get_para.scaling_available_frequencies,
-                        data, op->u.get_para.freq_num) ?: ret;
+    ret += copy_to_guest(op->u.get_para.scaling_available_frequencies,
+                         data, op->u.get_para.freq_num);
 
     xfree(data);
     if ( ret )
-        return ret;
+        return -EFAULT;
 
     op->u.get_para.cpuinfo_cur_freq =
         cpufreq_driver.get ? alternative_call(cpufreq_driver.get, op->cpuid)
@@ -272,7 +272,7 @@ static int get_cpufreq_para(struct xen_s
                             gov_num * CPUFREQ_NAME_LEN);
         xfree(scaling_available_governors);
         if ( ret )
-            return ret;
+            return -EFAULT;
 
         op->u.get_para.u.s.scaling_cur_freq = policy->cur;
         op->u.get_para.u.s.scaling_max_freq = policy->max;


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:39:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927656.1330375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txP6t-0004cU-HY; Wed, 26 Mar 2025 11:39:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927656.1330375; Wed, 26 Mar 2025 11:39: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 1txP6t-0004cN-EK; Wed, 26 Mar 2025 11:39:51 +0000
Received: by outflank-mailman (input) for mailman id 927656;
 Wed, 26 Mar 2025 11:39: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txP6r-0004Y0-RK
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:39:49 +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 063c521e-0a37-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:39:49 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso45098535e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:39: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
 5b1f17b1804b1-43d4fd28a46sm181439635e9.24.2025.03.26.04.39.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:39: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: 063c521e-0a37-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742989189; x=1743593989; 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=Y/+vHhqPqauyzLbCnHOg4CDiwRpy3lLMT3fuy/6hifM=;
        b=fQmq69NkhFJ45XA6TpelPqMAVEw/3U5peSCDonPNHLZAnrlEROwebno2rofVKI41uA
         eChrye5lujFn3jF0HK9Eoxj5QoRR5WyI8pYREPACAjAQ/77eRrX6oNQT7H4beEZObbjn
         8geCF8/y0P1HAb9xyZ4NZ6bwJw1A14qdXscMz5InFqTeXSV7TInmuGAPGwpQ7Jt9Ku+c
         jMjgtXjL+Oxkx0MdScg1pwYKotqNuWD48YwO65/iqPcwADmhIgf2qkzfrSGhO87bXD4I
         yVJRd65xiSO/C9wnUO7a0dDdEHUv0/r3UXyywGdplE4IOOh6QkR0ps+BWx3kbNcZbo1T
         8n2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742989189; x=1743593989;
        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=Y/+vHhqPqauyzLbCnHOg4CDiwRpy3lLMT3fuy/6hifM=;
        b=tBVAjBWJS7tZ1v7mnfiUU/S2j8bOmw/bBuAR3dckHoY+DREUJncOdyLAxmWIgbGCYd
         eszG9QFL/wMmjKEJ4Peew9kJ+MEBDSq6Be7K+q7lGf7Rk7V2EaLXihEL/X/IshQ9w4yq
         UzJHet5DmJ8mKjWtGy2Tz+IqZoMtdFtiHyH+v0PraY7gy0eTxFVRD6YKxScV4x+xAHmu
         Aan8hKoBi922f7bjmT4pdJ6hG+hcdvkiDpP6NJSwuOfjc+gOrkFKyWWn27oJoIdV5aSU
         EeQPFJhvYfQ9MJ6tyLluFss3bCMmNZamsCUlRDwx8HIGh5IicC4PC5xtc1iGAnR/ufgU
         SR6Q==
X-Gm-Message-State: AOJu0YzxfS7i6/ZqP6+j63JQOipjiP2qP4BmXPgfULIT4iCmcp2ZEHhJ
	4o0W1P0YLr5nya5vXjG1JBvsxPbf3NVHaU7gAflYyVE/k3RSb3FM9I3askJjlLdvpq8yA4saiME
	=
X-Gm-Gg: ASbGncueWipE0zqtCUYjh8Rg4KMSSz+6+/UeQ4bqCLQqflV6bdzgo2YxOGkTV0SuCSD
	wq6Fl/SPvN4rmfI6DnzgefiuSiOPxlMiNwqmnIv1tquBt6VJNzP+pmwc5Pp6y1mJ7cL5QWu/yY4
	nyvlVXBoeMCrwHifzms540B2gZKgZ/QpR0Wx6Qcd39EG6eOGrMyjOqcpORQ2rDpCc5xQ9i/+0K4
	IihZDOZyWIgimGjNp8I3dW8agx9HqObVTtC3q7QLBGmlr3pclswmCpMSXbHSivL3zzwm6WyfHwr
	SvbKTSB7D063q6tZC3m8tUzjqomm/YCAExjcQbJwZoismjfeiq6AAqzs2BXeIPrcv57xshlVnAK
	cdF485peHvkhj/ZX8U2O0iXG7LsJv0g==
X-Google-Smtp-Source: AGHT+IE5PBs172wf9orGVNUEmtpOqTZRuW09j191tqDHjJEAe3ltZWiA5/xpAnDIjce/Xm301TpvAA==
X-Received: by 2002:a05:600c:1e04:b0:43b:cd0d:9466 with SMTP id 5b1f17b1804b1-43d62c6121dmr119223905e9.9.1742989188801;
        Wed, 26 Mar 2025 04:39:48 -0700 (PDT)
Message-ID: <fa6d6ca6-d133-4a9e-9da4-42b0c0b50437@suse.com>
Date: Wed, 26 Mar 2025 12:39:47 +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: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] Arm/domctl: correct XEN_DOMCTL_vuart_op error return value
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

copy_to_guest() returns the number of bytes not copied; that's not what
the function should return to its caller though. Convert to returning
-EFAULT instead.

Fixes: 86039f2e8c20 ("xen/arm: vpl011: Add a new domctl API to initialize vpl011")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -172,8 +172,8 @@ long arch_do_domctl(struct xen_domctl *d
             break;
         }
 
-        if ( !rc )
-            rc = copy_to_guest(u_domctl, domctl, 1);
+        if ( !rc && copy_to_guest(u_domctl, domctl, 1) )
+            rc = -EFAULT;
 
         return rc;
     }


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:40:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:40:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927664.1330386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txP7k-000681-Qd; Wed, 26 Mar 2025 11:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927664.1330386; Wed, 26 Mar 2025 11:40: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 1txP7k-00067u-NY; Wed, 26 Mar 2025 11:40:44 +0000
Received: by outflank-mailman (input) for mailman id 927664;
 Wed, 26 Mar 2025 11:40: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txP7j-0004Y0-Ea
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:40:43 +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 2643c350-0a37-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:40:43 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43d0782d787so46895955e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:40:43 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43fdeba1sm230608105e9.32.2025.03.26.04.40.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:40: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: 2643c350-0a37-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742989242; x=1743594042; 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=AZx6DtJCja/IIlnY7u5kkYC/ham9XSFGiPkYdoJBHJc=;
        b=FOXfws29lv4HAXC/m6zHKHmEZDtlIh8JMw/dMWl/eM+xv4WY6mvxr42NuaJOCa2a3c
         e3BsIUyKiUQTlWMOCfLifl4QJAQ9xP54VKrjHg12ejBUqPdo5z4iB6o9ONxpaIJvJxyl
         b+7vCbxDiXNNSMXCGVZ2bX0v3YaYIfCZ7Yzso=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742989242; x=1743594042;
        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=AZx6DtJCja/IIlnY7u5kkYC/ham9XSFGiPkYdoJBHJc=;
        b=I2iZOHSSjJ32lniUlLWFlayEnd1kR+2ojnWgwmKBpyEmNgggcf0C26ZPqsK+GkOofy
         I/QeGSwraKASXZsVo+UnqBrJVjH6xGn2cxbufVtlxFhT8xQ+aiEEC1CzZFCrNEyUFHc4
         sn09jj0Zf0x4UUWxdTmisNYLMeTHDvdX4qDmfk9q6dz61vjLLDGFrJnuixfCckbB9KNK
         FX1T8E2MLrPGT+r5E2TFSvoHA5gtrVN7ZrBWAPgu+nd8f3uTz5Lsm80CxpSVc7HK/r0Q
         bd/f1RAeT4BuiiZVHxxbeXWWYd5SjnTTiFIOwrer1tlbsI+emOOcxNdfFkYo/vcN3uBo
         +aEQ==
X-Forwarded-Encrypted: i=1; AJvYcCXURI0sKFn0KThK3ruVaxSKxYRBBfxJnEWsERDzVC225aOzEbmCBFc/8I0b57fDwWVmxfw5n96F87s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQ1vrGWcNXki8mdKddCUI6WyBbjggnbEEfi2FofgXCXTz9U/qh
	vDp2OTnS4G/3NJ22o7VomL7yKY5/SOYhFu0Jjo+jWZc945GAbYjKu83BOpP7wJNo4m5Xf5HDFGT
	tJqo=
X-Gm-Gg: ASbGncsu6kOLBPRuh6pHanCGqpFRkpUwdmI9UPK3ZCPy60XDcUJgr/SFonSDjzp3u5w
	385SymxxeTpQYe7U5g1qvqiuOT8WWG0PeWpF7vKR90whSwXC3x6dDKcyfeKKv9w1NKipd1fCMCg
	9ImN24UplPWaVQVhbbd45pmU4VyNduOfOLPzAIqHu24aqry7zgn8t3N6eRpudmnWfdKL1R78T8x
	43jU/Cx3HbPnx09+Xi146MJ+EMLtptTLjbrrLoOS2F3yYVEkcAFCKe9s4Z4eQyo/Wswbt20/W/c
	r/1Yv70Tt5nsYC94Ls/DDwVBCkF7giuotzfPB5GhQ4uw10zCnc1ZGEQeyMbcofU5I5L4Tb9Vby3
	9OrQEOD5/vg==
X-Google-Smtp-Source: AGHT+IEygZSt8/EoJGm/4U/WsUDjwn8O1xVGLYc3gcyyTKhs5NcI69ZtBJVvjr2xmfdB7FE7RPp22Q==
X-Received: by 2002:a05:600c:1e07:b0:43c:fdbe:439b with SMTP id 5b1f17b1804b1-43d509e374bmr210525775e9.4.1742989242519;
        Wed, 26 Mar 2025 04:40:42 -0700 (PDT)
Message-ID: <195fc5cb-9af6-4784-a675-48dcea7fb1c4@citrix.com>
Date: Wed, 26 Mar 2025 11:40:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/pmstat: correct get_cpufreq_para()'s error return
 value
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>
References: <59051630-3843-400d-9127-a6eff15a2b5d@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: <59051630-3843-400d-9127-a6eff15a2b5d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26/03/2025 11:38 am, Jan Beulich wrote:
> copy_to_guest() returns the number of bytes not copied; that's not what
> the function should return to its caller though. Convert to returning
> -EFAULT instead.
>
> Fixes: 7542c4ff00f2 ("Add user PM control interface")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:42:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927673.1330396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txP90-0007UC-6g; Wed, 26 Mar 2025 11:42:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927673.1330396; Wed, 26 Mar 2025 11:42: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 1txP90-0007U5-3r; Wed, 26 Mar 2025 11:42:02 +0000
Received: by outflank-mailman (input) for mailman id 927673;
 Wed, 26 Mar 2025 11:42: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txP8z-0007Tx-BO
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:42:01 +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 51fce241-0a37-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 12:41:56 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso51296865e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:41:56 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d4fcea6ecsm181581975e9.5.2025.03.26.04.41.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:41: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: 51fce241-0a37-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742989316; x=1743594116; 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=B/h+mNytzdRDeeG+8BdkiWsLvRRQOGwL1arIKQBRwE0=;
        b=gIQyEIKjdiYZ5DdruwZIb2+3aQlfQQ6u5iJO3tzoXR4VfmOcbtDo9R3D1NPUXn97Ou
         mj5Um0/7FtYc8syLCHXu1tD2nzLty2+1nvgP+ZO9QXclRrG2+hHUEhtoH0dMEjKKPcnp
         GfoEVuvKYMM/ft2R1gz1UdRsCHv/qHeym/jXk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742989316; x=1743594116;
        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=B/h+mNytzdRDeeG+8BdkiWsLvRRQOGwL1arIKQBRwE0=;
        b=rqSQHMB/CKyji0hazJjI6GCWCbXcvmBzk9ycbeOjGovElb54lXgVttP5bVzcwwOtUI
         ZohKnQv8lQhgeVgI9Yeu3/jNPP1inLd99ZT1drSv7cSUSyJ5JvpqyWLnqriExMtzKo4z
         ANucRDjl5dUZUiHYY3Ucb9muvL7AEnHzEFR+q3rN0C2HLVNTjcYzhpSu08jUin45W/Bn
         /480LcC7L7/sy5DCCGq+PuYcD7h7XulFl38JLGDmYGmQoUzdhbajNS3M0jVNQEG0W64Z
         QIs0aCQqIloR+zRhr2QJcG797MvHhgi/Cvz6NtKBEKohQPo73P6LTNdpEu4XnfNACG9Q
         701A==
X-Forwarded-Encrypted: i=1; AJvYcCXAKG4WaONDsxf6claL0iAXScOM3Px+DxgxJ5k0ZZufSLYWs+FMJA7i+nuMNe84w01nZrp29+5eHFU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyhbhXmTPdvacqrZbeXGw5BZGSN0YCRgkY3h5tONnmeH9JArhHN
	w6Od7aWZBbuAiF+byJtHcyppFZucA48pTNsyFJSN2+uljwVVAa3A8wihLycmszE=
X-Gm-Gg: ASbGncsia5toYyVp8byPkZy0l2t5U7y2Vt1guYCl3E+YqJS3mAE/SYClQgZNA6G5faM
	2cafeg9Fw4DRB92FvXHypuzdCycZV4vfxbQnymgFJlfWD5QltM1RbdXJ0zf0btgP+srexPFNR3c
	Z3e8xLCxVRYjdfkYFbRNB9zh2XbwgkUO7QaSaSCORsLpP/XHXoqYJQymoSJDZR1jvPk8RMDnetM
	rstZ98aS7he3SkGi1Qx7J1+C1vOC/DJ7XMUB9NEUoafyUCkxewpEuwej08b/4tSv7Sdp7Oyk7kI
	uiBJo6UAYIS9HKaBp75kE0wQkNozYDg8Aw9OAHRfxOLfAS7AkrIAcKeqN+qZz/Tuzaqh/gGkg+1
	th8pPet8iKQ==
X-Google-Smtp-Source: AGHT+IGM+cY+xt/7uzs+aRE49l0nyrhXw1BHBP/B911RdoDNnEJR6d1sEFMo2rrLvlNq6VTsmJrVhA==
X-Received: by 2002:a05:600c:574b:b0:43c:fe90:1282 with SMTP id 5b1f17b1804b1-43d5703e686mr143941895e9.7.1742989315909;
        Wed, 26 Mar 2025 04:41:55 -0700 (PDT)
Message-ID: <9e60173d-ec9b-4a76-8299-7d0e492f4407@citrix.com>
Date: Wed, 26 Mar 2025 11:41:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Arm/domctl: correct XEN_DOMCTL_vuart_op error return
 value
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>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <fa6d6ca6-d133-4a9e-9da4-42b0c0b50437@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: <fa6d6ca6-d133-4a9e-9da4-42b0c0b50437@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26/03/2025 11:39 am, Jan Beulich wrote:
> copy_to_guest() returns the number of bytes not copied; that's not what
> the function should return to its caller though. Convert to returning
> -EFAULT instead.
>
> Fixes: 86039f2e8c20 ("xen/arm: vpl011: Add a new domctl API to initialize vpl011")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:46:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:46:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927691.1330422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txPD6-0000Oh-Qz; Wed, 26 Mar 2025 11:46:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927691.1330422; Wed, 26 Mar 2025 11:46: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 1txPD6-0000Oa-Nq; Wed, 26 Mar 2025 11:46:16 +0000
Received: by outflank-mailman (input) for mailman id 927691;
 Wed, 26 Mar 2025 11:46: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=2wGD=WN=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1txPD5-0000OU-Av
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:46:15 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2613::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4658522-0a37-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 12:46:02 +0100 (CET)
Received: from VI1PR03MB6413.eurprd03.prod.outlook.com (2603:10a6:800:19d::8)
 by GV1PR03MB8662.eurprd03.prod.outlook.com (2603:10a6:150:95::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Wed, 26 Mar
 2025 11:45:56 +0000
Received: from VI1PR03MB6413.eurprd03.prod.outlook.com
 ([fe80::8799:8ad4:d837:51ab]) by VI1PR03MB6413.eurprd03.prod.outlook.com
 ([fe80::8799:8ad4:d837:51ab%7]) with mapi id 15.20.8534.040; Wed, 26 Mar 2025
 11: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: e4658522-0a37-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qX4ANDx6Q7ssUHkOjoRnFsal0J+Npk5p0SbPjXP4YauHS+Fko7JvnhOCUB8IXCTrEEcIbLppyiI+LJd5Vr/JiEN97TTL43p+JxDWZukx1DxbTOQ3BFGrF475vQlTgH0vk6ixxoDTZNBr3t/EJzZwwTPJYHr1OZbyS3R+i0L1WA1bEiWmC+0B8xOIis3fhKpOqd720vGVkANYwhtwYboTG3PrCJFltfdiaMScEQ4ST2y744U5IhFAcVE5rGKjxZGX5vJtKmn0MK/tMTXfQAbKLkzpqRMLp0+youf5NOPtPTrR+xg3ARLlcJ9ZZUnhiwd7TxzXfcBRErTUWAdw62pTmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R1YUpt57fT7TYs3uXEs+hlQyk5/EOg3dmLEdJn+TmKw=;
 b=bCEGw3Fb/+A62xG1FUGWWDMeZw9jdVg8h2Lcw2vtUzVZiQyrC6dVtnoLwt+Oq7VdEI+BMF65UvBOPd6DETdkWoYWcjyKuTVFwlejv5N9gLVNzYnw6NsvPjImohfdtqCZXP+sGo27z1nMuhhcGNLxzLdId3Vxo0PtMN9jj4SZbZY9lBMi0fTH/f6hEkTxcjQTS+3CcE6CVUJCRxlMpkHBLxDdZRcZmFd8DJ+TYjbginqqduD9ikQ8qyOgLjQS+E3gVaMuxfZaU3UP+Pk6E9teDSgsyOOoDl61I2inYdIhfQ1ejMpBBhg0LEDHTFG44VBVJVtMFpSzlQMoZZFqJrTyig==
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=R1YUpt57fT7TYs3uXEs+hlQyk5/EOg3dmLEdJn+TmKw=;
 b=ltZZ8D+k8XzchJt9+A6PIv61fh05vxhbdYa+GwCpTxknEvlFK4VWr1Yca8KTQ+MnpqqwdhAPn64ojzhfC9UZcEf86ioUwgSgETTTBLr1F6ESrvgJ5JJs/sjtwZ2GtFz76G1cHNl/jZYy1DOpQzX/pkpypIFzmx+hHwgX0sZ0GT4DR/QtWOMjPxAuAkbcBynQbkhD8GobGmoy3qxbbZfTryA/adpPTZm/ELWfEyOrmbD4NnEPhKjwUJqkZaKuTNa7DMjt1M6G/kw+XdVCQwWjgpCVuHgWn8jnCliNruKe7JZp1ukRdymaDlAxycbZW4min+r5209n+JHbyh/Djy5y+g==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: "Orzel, Michal" <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Topic: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Index:
 AQHbnZfMrs+h0o/uEkuTNWO41qxIcLOD+IUAgAADaoCAAAM8AIAABQEAgAABHgCAAAyVAIABDTwAgAAu+YA=
Date: Wed, 26 Mar 2025 11:45:56 +0000
Message-ID: <b3a91dc6-0133-4b9a-bc15-7f1e1272f940@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
 <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
 <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
 <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
In-Reply-To: <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
Accept-Language: en-US, 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: VI1PR03MB6413:EE_|GV1PR03MB8662:EE_
x-ms-office365-filtering-correlation-id: 421bed86-bb3b-4b07-e828-08dd6c5bc535
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?VGJ3UWxKa2VhTGU0VjFKenJUdHJkNmgxcVlvWkZrS0RnUkMxWkR4UzFjUVB1?=
 =?utf-8?B?SzA5eDFGU2JCQm5EWld6WjRsSEZ2Z3dFa2pLK3VlT3U3Zk40VHNyMHRBVTQx?=
 =?utf-8?B?SnhiQk1ZZEQ4TldBUG5FbmUvd0E5UDFIenpzTFR1TXJrTWdHYm9ZQWozOUFi?=
 =?utf-8?B?K2pCVDNRSk9hK2FianA0NXdMN1pvZm12UFpYL1A1amxJZEFIK3lWRlVyeDJ4?=
 =?utf-8?B?eVZwUmR2ZEs4MHcyL0IwMDlYa2lIcFMrOVZjYTVpTVd4RDMyZEsxR3ZwQUlk?=
 =?utf-8?B?RXdDaE9Ma04zcWo4aElEMnhUdGhCY3FmZEIwZVd5UGI2NDlyN3EybjErbmhm?=
 =?utf-8?B?OUdtWHd4d1YzenIwZkZTY0xHdFo5UWx2cXd4LzYzUFludm8vN3dGZHplem44?=
 =?utf-8?B?Qy9WMFFwWmJXUUVUMWE0M3diazE4cW8rTklMSDZxRXh4NjZIUXI2NlByTlNq?=
 =?utf-8?B?V0htcUN1ak1MNi9RWU92cWk4YzZvdFRNUXFlMm5waGUrd2lybTZ2bFJzRmxi?=
 =?utf-8?B?VFgvQ1RPbUFCaFZjY1NMc29xdGRaV0hONWg0NUZDRjl2a2x0VGhNc2ZvSVdR?=
 =?utf-8?B?bmFFcEoxTWJLL0VOSUljM3o4SHN6Ukppck5JZmRaNG1uTnM4L3k0a1J3NWVY?=
 =?utf-8?B?ei84OVQ0cnVuVTdRZEp0cjkrZlFsWjZMckhEdStyU2hEN0MvcjNQcGRNSVFH?=
 =?utf-8?B?dUNSWDBRek96eERqRUlydFF1aGsrSkxjSExyOXhrRG9xWkF1Qm85SWNBZ2E3?=
 =?utf-8?B?ZEpibWM4eTNGblJYUHh6UUJ4V1FZOW1XQ0JSQk1GcExUeU9lWG5iQ2JVNnFO?=
 =?utf-8?B?dDBQYnhxc3VsTTJ0N0c3WkJSTnpEbzgrN0hoRGMzYjN3dTRsQUJHYWxCY21E?=
 =?utf-8?B?MTV6clIwbEE2MmJoT2lJZlNoNWlZM1NvZ290T01nNEpQZFBlZ25Zc0xGY2xX?=
 =?utf-8?B?dHg1VWE2RHFaa05JYlpkem4vRnJ6S2M4R0I2VWlqTzRxMUxGa2lDMHV2bENi?=
 =?utf-8?B?VnBUZ1VoN3pJUGJGUE5qdG1SOVFXNVpCVTNYTExaK1FKbldJWW9CSjFUblg5?=
 =?utf-8?B?aGw1UXlrOGJsUW5oNkNLVWwzVDlsQmw0V3hnbzYrcEZNckkzbDk0YkJYUXJj?=
 =?utf-8?B?TWlqVFhNU1FHczRxazBpZlJJRzNwcWQ5ZmtUdzdSdjllZlprVTMrNUEveVds?=
 =?utf-8?B?MkR2OUFia0xrcGpmNXFDS0VxWmIzN1pmZFhvb2tJV243bkxXQWsxQTFZd2pZ?=
 =?utf-8?B?Sm1xdytaRERrdm10Y1NVVkwzUjhnU1cxbFJhZDZTd2p5V2x0ME9xU3VwbC91?=
 =?utf-8?B?TlhIZ3AxRlprSTNFK0pPazI0SDAzNER2R3lSTHdCYzR3OHdQWkhrbVZPRVJS?=
 =?utf-8?B?aVpzNTFkSmhMd3BXVWEvUGhBMVkxdlNhLzNFaVV0K2EzdGF2M3MrODNkZ0h6?=
 =?utf-8?B?Nkd1VVJQSE9ab2xkZm13OG45aGVIWlpGNTN4QUVTQXYzd1M3ckNjVUJlUHJV?=
 =?utf-8?B?RnJJcVNPVEEzWGFnaEtyNTRxTHRFbzZSVjJQRkJoQUpVSmxYQksrYkl3cjVW?=
 =?utf-8?B?V3kvMEpZM2ZFZitTOTg3aUJSNVRMSnFaOG42S3V0cWRQZFpQbG50aUorMzhY?=
 =?utf-8?B?aUNyV0M4QWRETlVDVUlUSlVjMktGckJtWEIwSHVnRVFoZWhKQzdaWTRNSHF1?=
 =?utf-8?B?K1NXZlZBQ3ZwZnBnMjRwN1BRSFhEaW5zM0hOT21xVmc5VWZ5SVpmSFFuZjgw?=
 =?utf-8?B?L2xqdFQxRTRScXpjMmQ5YW50WTdJY0diMkRtN01aOVBiSlJ1Wm9lZVhoSkp0?=
 =?utf-8?B?YlVOdkhBamZSaWNMbjdSWGV5V01zZnlWeWtibkJTeXcwN0IxVE0vaFIydmNz?=
 =?utf-8?B?Vlg2STl3dEQyUnVMWk1jeXNyU29lTzkvU1JhYW1wUWM1NzQ4YVpid0pOOXow?=
 =?utf-8?Q?NP0MfW75yYvT++c40s/SrDf0vpdIsb1j?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB6413.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?anVFY3RkYW93MkJYeDFpTEFyM0xlY0ZmWW5PY25DTkhNYVVoUVdjTjJuTnpl?=
 =?utf-8?B?cmhCVkdUWGZ1R1hmd1dxVUUzb0xoUkJKOWVHbTNEd0VVa0s1LzJWNUhmWk1x?=
 =?utf-8?B?TmxMM1dybVhEcFJ5ZWw2Y0QwZndySHpCOE9uMlRkMm96Ync3Z0dPMkQzMGd5?=
 =?utf-8?B?c0p5U2JvUU1iYnBKQ3UwZjZOcFdiWHVueHF1NGJzMWJHZ0lIS3VMRGduL0F5?=
 =?utf-8?B?V2NlS0NBUXlvNFZuRTJUMTZ0cmZSa1FRc1ZqZWZndUdrZkc1WXYrczBBR2ls?=
 =?utf-8?B?ZjVhMHEwYTVJRTl3V20rLy9aMWhtdS85RHpFYWRBQlFaS3dYeFJQUTBIbTlJ?=
 =?utf-8?B?ZnloM0NxM1RCd2JCOTFuN1dZL015MFNGVmkwYlFuS1R0YVhWM0VUU0d2aXJ6?=
 =?utf-8?B?TmtFcE45Nm45S2JGVEpmT0g1Wm0vMUFKeDl3NkNnU1Ard2F0dmxrY1VPWGRM?=
 =?utf-8?B?Ukw3dDdneWRzalEzMGZreXZJa0lTLy9SeDljQlA2cXQ2TXY1VWtQVVgvYXIv?=
 =?utf-8?B?YUJ0b0lteEdRZGRQUlhLM0RDNFhGVkRVSkdOVW9YVVhyV3VRRk9pUUdUbUJX?=
 =?utf-8?B?ZTJXdFZsdUdVS1ZWUFEvYU54UWdleWFNMExQUThOMmFzYUpIZVZpQjBLRVB1?=
 =?utf-8?B?RnFoaVRBamtEdmM2RHhCa3dHVkRKOU5GZ1gxUlIvVVlNZ2psMmZCTmlJZEgw?=
 =?utf-8?B?anZvY1hVbVRnZXFic3NpeXZhdGYrTWgwVFhtRUprSHFPaG01T3U3TUEwMDBY?=
 =?utf-8?B?c05pdmFiajdETGlwU3RzeTV0c0lycUk2ajRsSnY1WnovY3NqL25qWGNyQ3p2?=
 =?utf-8?B?dDYyQWNraXI2K2NFTS9xVGJ4TEZhQi9IY2h4TEZrekxpTXl5bGx3ajhPK0VB?=
 =?utf-8?B?Zm8rYVhRTms5QUFabXRoUWVrQk1xUzk2bThZdUF3eWVGQTFIZWlMMjRuQWJW?=
 =?utf-8?B?WkcyS0V6OFhhd2xxRzFhUTF4NENtNVVnQ1hucENxTndxS3Azb3V6L2dPcUhD?=
 =?utf-8?B?T0pXZFRRZmhFR0tFenQ5N004dXQvSHQwTFRtTFhJVVZZUWRmaGlQRDVaaS9P?=
 =?utf-8?B?MG13UEkrRWt1NGhJL1huaEd6cXZOZHFNdElhVVJldjQrS2FMSmFLUExxSDNK?=
 =?utf-8?B?V3JJaWVQc01tZVFSV3BxR2oyNXJWSkptRzlhcWxXdDgzWnhvVXBzRjVBNGtT?=
 =?utf-8?B?cFJBa2tJaUI4dmFWRWhuN2Y4NDNMTzI3QTlDMXhPdGhuelJFMGZDeStLNzhY?=
 =?utf-8?B?VnFTYkhDekZ6dDdvY3NiaCtFMFk2Z0VTb1F6MENZVGwvRnJNZFlQRWw2ZFBC?=
 =?utf-8?B?VWxmT00vRC9rSmZNWkJpaTdGUk9WU1JvejI3MWdSVXMvOGFyZUdvb1A1RWQw?=
 =?utf-8?B?cVRwaDRiMWNmR1R0dVlMQ2JySnFDTzBpdWVMNjAxeC9lVGtZS3RURnBTSkkw?=
 =?utf-8?B?TytoK09WNWFScDBJM01tdzFrWUJJdjNCZnBlUG1CY1c4bkRNQ3FhMTRmSi9J?=
 =?utf-8?B?R1NybDZ4TG5teFZVY0xLM0JXR2xOejBTc09uTmsxTHFya3JCUnd5TUNxZkw4?=
 =?utf-8?B?NnAzcVMrWk1XSEhBN0VwNm5XMmVDcmZDdElVRUNvdkVnbFFUbWkvY0ZuM3Bw?=
 =?utf-8?B?WlJyMkVQMXlOeWFkWUtRWnpka08vWjRLSmJGaEcwUlBFL3phTTlHRlRIMkN0?=
 =?utf-8?B?S0FNdWUvSVhaZ1RzNHNCRjZVczRUdks4cSt6Mk03QVNNaERFSXBucmVFVnZL?=
 =?utf-8?B?aUkxYzAvTGhxbG16Q0Z2b3k3TzJ6ekxyNFhtL1pGWFVvRmVkSUJndzBOekNu?=
 =?utf-8?B?dW5lUTFqTnRoV0VjYllDS253amxaYVVkejl0YUpxWVJWeUFFS29kUmM4NVhh?=
 =?utf-8?B?LzZ1dTk5cHllM1lUaDVvSC9xZHNTTWlvRTl3Q1o3ODQ0Rm92WElUWE5FQTBu?=
 =?utf-8?B?TGVYRGJkN3dnZ0Z5bTdGQTZSZE5DcC9DVGVhZEtHNER1QXFSOXpJaEZoVG5R?=
 =?utf-8?B?VG9saWxYRVdMbWI3cXpDc2l4NGVBb0ZSblZ2WDFZbkROTFRtd0ZYZi9pRm55?=
 =?utf-8?B?YWdFQnhZNW1RTStzdWJBRUlxbytPenk1SmM4eVlJRHM3NlpxYWc0U1BTUkg2?=
 =?utf-8?B?cmJ4bjVBeDJQK21Od254dndFYU4xS1EwaXVFSzRtTGRyWmgrdm5HZUYyS1Jt?=
 =?utf-8?Q?JjSXV3yVT7hSmvvBcnMVN5s=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5A2323026FE43D47A01CC4905791B32F@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: VI1PR03MB6413.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 421bed86-bb3b-4b07-e828-08dd6c5bc535
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2025 11:45:56.2373
 (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: qKm2ZtgpY+EultyftY/SyHrNMMbn4HC03h9pqDjBouXmKMgzHssqKiOKyOiu0AtWUi7RvrB5UruaLWJp0HccMOTSb4Md4bO6jGOrroTDwdU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8662

DQoNCk9uIDI2LjAzLjI1IDEwOjU3LCBPcnplbCwgTWljaGFsIHdyb3RlOg0KDQpIZWxsbyBNaWNo
YWwsIEp1bGllbg0KDQoNCj4gDQo+IA0KPiBPbiAyNS8wMy8yMDI1IDE3OjU0LCBPbGVrc2FuZHIg
VHlzaGNoZW5rbyB3cm90ZToNCj4+DQo+Pg0KPj4gT24gMjUuMDMuMjUgMTg6MDksIEp1bGllbiBH
cmFsbCB3cm90ZToNCj4+DQo+Pg0KPj4+IEhpIE9sZWtzYW5kciwNCj4+DQo+PiBIZWxsbyBKdWxp
ZW4NCj4+DQo+Pj4NCj4+PiBPbiAyNS8wMy8yMDI1IDE2OjA1LCBPbGVrc2FuZHIgVHlzaGNoZW5r
byB3cm90ZToNCj4+Pj4+Pj4gRnVydGhlcm1vcmUsIHdoYXQgaGFwcGVuIGlmIHdlIGRlY2lkZSB0
byB1c2UgQUNQSSBhZnRlcndhcmRzPyBXb3VsZG4ndA0KPj4+Pj4+PiB0aGlzIG1lYW4gdGhhdCB0
aGUgc3RhdGljIHJlZ2lvbnMgd291bGQgYmUgcmVzZXJ2ZWQgZXZlbiBpZiBBQ1BJDQo+Pj4+Pj4+
IGRvZXNuJ3QNCj4+Pj4+Pj4gdXNlIHN0YXRpYyBtZW1vcnkgKGFsbCB0aGUgbWVtb3J5IGlzIGV4
cGVjdGVkIHRvIGJlIGdpdmVuIHRvIHRoZQ0KPj4+Pj4+PiBhbGxvY2F0b3IpPw0KPj4+Pj4+IEkg
ZG9uJ3QgdGhpbmsgc3VjaCBoeWJyaWQgY29uZmlndXJhdGlvbiBpcyB2YWxpZCAoYm9vdGluZyB3
aXRoIEFDUEkgeWV0DQo+Pj4+Pj4gZGVjbGFyaW5nIHJlc2VydmVkIHJlZ2lvbnMgaW4gRFQpLiBT
ZWUgY29tbWl0Og0KPj4+Pj4+IDljMmJjMGYyNGIyYmE3MDgyZGY0MDhiM2MzM2VjOWE4NmJmMjBj
ZjANCj4+Pj4+DQo+Pj4+PiBJIGRvbid0IHRoaW5rIHRoZSBjb21taXQgaXMgcHJldmVudGluZyBo
eWJyaWQgY29uZmlndXJhdGlvbi4gSXQgaXMganVzdA0KPj4+Pj4gc2F5aW5nIHRoYXQgdGhlIHJl
Z2lvbiAod2hpY2ggY291bGQgYmUgYSBzdGF0aWMgcmVnaW9uIGJlY2F1c2UgdGhpcyBpcw0KPj4+
Pj4gbm90IHN1cHBvcnRlZCkgd2lsbCBiZSB1bnJlc2VydmVkLg0KPj4+Pj4NCj4+Pj4+IElPVywg
d2hlbiBib290aW5nIHdpdGggRGV2aWNlLVRyZWUgeW91IG1heSBiZSBhYmxlIHRvIHVzZSBzdGF0
aWMgbWVtb3J5Lg0KPj4+Pj4gQnV0IGlmIHlvdSB3ZXJlIGJvb3Rpbmcgd2l0aCBBQ1BJLCBzdGF0
aWMgbWVtb3J5IGlzIG5vdCBzdXBwb3J0ZWQgYW5kDQo+Pj4+PiB0aGVyZWZvcmUgdGhlIHJlZ2lv
bnMgc2hvdWxkIGJlIGZyZWUgZm9yIG90aGVyIHB1cnBvc2UuDQo+Pj4+DQo+Pj4+DQo+Pj4+IEp1
bGllbiwgSSBzZWUgeW91ciBwb2ludHMsIGJ1dCB0aGUgY3VycmVudCBwYXRjaCBkb2VzIG5vdCBh
dHRlbXB0IHRvDQo+Pj4+IG1ha2Ugc3RhdGljIChyZXNlcnZlZCkgbWVtb3J5IHByb3Blcmx5IHdv
cmsgb24gQUNQSS1iYXNlZCBzeXN0ZW0gKGlmIGl0DQo+Pj4+IGlzIGF2YWlsYWJsZSB0aGVyZSks
IGN1cnJlbnQgcGF0Y2ggdHJpZXMgdG8gc29sdmUgdGhlIHJlYWwgaXNzdWUgb24NCj4+Pj4gZGV2
aWNlLXRyZWUtYmFzZWQgc3lzdGVtIHdpdGggWGVuIGNvbXBpbGVkIHdpdGggQ09ORklHX0FDUEk9
eSAoYXQgbGVhc3QNCj4+Pj4gdW5pbnRlbnRpb25hbGx5KS4NCj4+Pg0KPj4+IEkgYW0gbm90IGFz
a2luZyB0byBtYWtlIEFDUEkgd29yayB3aXRoIHN0YXRpYyBtZW1vcnkuIEkgYW0gYXNraW5nIHRv
IG5vdA0KPj4+IGJyZWFrIEFDUEkgaWYgdGhlIERldmljZS1UcmVlIGlzIHNwZWNpZnlpbmcgc3Rh
dGljIG1lbW9yeSByZWdpb24uDQo+Pj4NCj4+Pj4gSG93ZXZlciwgSSB3b25kZXIsIHdoeSBpdCBo
YXMgbm90IGJlZW4gbm90aWNlZCBzbyBmYXIuDQo+Pj4NCj4+PiBBQ1BJIGlzIG5vdCBhIHN1cHBv
cnRlZCBmZWF0dXJlIGFuZCBnYXRlZCBieSBVTlNVUFBPUlRFRC4gU28gdGhlDQo+Pj4gaW1wbGlj
YXRpb24gaXMgeW91IGhhdmUgZW5hYmxlZCBVTlNVUFBPUlRFRCBhbmQgYW55dGhpbmcgY2FuIGhh
cHBlbg0KPj4+IHJlYWxseSA7KS4NCj4+DQo+PiBJbmRlZWQsIHRoaXMgYW5zd2VycyB0aGUgcXVl
c3Rpb24uDQo+Pg0KPj4NCj4+Pg0KPj4+Pg0KPj4+PiBJdCB0b29rIHNvbWUgdGltZSB0byB1bmRl
cnN0YW5kIHdoeSBqdXN0IGVuYWJsaW5nIENPTkZJR19TVEFUSUNfTUVNT1JZPXkNCj4+Pj4gdHJp
Z2dlcmVkIGEgQlVHIGluIGNvbW1vbiBjb2RlLiBBbmQgaXQgdHVybmVkIG91dCB0aGF0IGl0IHdh
cw0KPj4+PiBDT05GSUdfQUNQST15IGluIG15IFhlbidzIC5jb25maWcgdGhhdCBjYXVzZWQgdGhh
dCBjb25zZXF1ZW5jZSAoSQ0KPj4+PiBzcGVjaWFsbHkgd3JvdGUgc28gbG9uZyBkZXNjcmlwdGlv
biB0byBwcm92aWRlIGZ1bGwgY29udGV4dCkuDQo+Pj4NCj4+PiBBcyBJIHdyb3RlIGFib3ZlLCB0
aGUgb25seSB0aGluZyBJIGFtIGFza2luZyBpcyB0aGF0IG1lbW9yeSBmb3Igc3RhdGljDQo+Pj4g
cmVnaW9ucyBzaG91bGQgYmUgdW5yZXNlcnZlZCB3aGVuIEFDUEkgaXMgZW5hYmxlZCBsaWtlIGl0
IGlzIGFscmVhZHkgdGhlDQo+Pj4gY2FzZSB0b2RheS4NCj4+DQo+PiBTbyB0aGUgY29uY2VybiBp
cyB0aGF0IG5vdCByZXNlcnZpbmcgcHJvdmlkZWQgYnkgdGhlIGRldmljZSB0cmVlIHN0YXRpYw0K
Pj4gbWVtb3J5IHJlZ2lvbiBpcyBnb2luZyB0byBiZSBhIHBvdGVudGlhbCB3YXN0ZSBvZiB0aGUg
bWVtb3J5IG9uIHRoZSByZWFsDQo+PiBBQ1BJIHN5c3RlbT8gT3IgSSBtaXNzZWQgc29tZXRoaW5n
Pw0KPj4NCj4+IEkgc2VlIHR3byBvcHRpb25zIHdpdGggdW5yZXNlcnZpbmcgdGhlIHN0YXRpYyBt
ZW1vcnkgcmVnaW9ucyBvbiB0aGUgcmVhbA0KPj4gQUNQSSBzeXN0ZW0uIEkgYXNzdW1lLCB0aGF0
IHdlIHNob3VsZCB1bnJlc2VydmUgb25seSBhZnRlciB3ZSBkZWZpbml0ZWx5DQo+PiBrbm93IHRo
YXQgd2UgYXJlIHJ1bm5pbmcgd2l0aCBBQ1BJIChpLmUuIGFmdGVyIGFjcGlfYm9vdF90YWJsZV9p
bml0KCkNCj4+IGNvbXBsZXRlcyBhbmQgYWNwaV9kaXNhYmxlZCByZWZsZWN0cyB0aGUgcmVhbCBz
dGF0ZSBvZiB0aGluZ3MpLCByaWdodD8NCj4+DQo+PiAxLiBlaXRoZXIgY2FsbCBhY3BpX2Jvb3Rf
dGFibGVfaW5pdCgpIGJlZm9yZSBzZXR1cF9tbSgpIGluIEFybTY0J3MNCj4+IHN0YXJ0X3hlbigp
Lg0KPiBUaGlzIGNhbm5vdCBiZSBkb25lLiBhY3BpX2Jvb3RfdGFibGVfaW5pdCgpIGNhbGxzIEFD
UEkgZnVuY3Rpb25zIHRoYXQgbWFrZSB1c2UNCj4gb2YgVk1BUCBhbmQgYWxsb2NfYm9vdF9wYWdl
cywgc28gdGhlIGJvb3QgYWxsb2NhdG9yIGlzIGV4cGVjdGVkIHRvIGJlIHBvcHVsYXRlZA0KPiBh
dCB0aGlzIHBvaW50Lg0KDQpobW0sIEkgZ290IGl0Lg0KDQo+IA0KPj4gMi4gb3IgZ28gdGhyb3Vn
aCByZXNlcnZlZF9tZW0tPm5yX2JhbmtzIGFuZCB1bnJlc2VydmUgZXZlcnl0aGluZyBtYXJrZWQN
Cj4+IHdpdGggTUVNQkFOS19TVEFUSUNfRE9NQUlOIGFmdGVyIGFjcGlfYm9vdF90YWJsZV9pbml0
KCkgY29tcGxldGVzDQo+IFdoYXQgaWYgd2Ugc3BsaXQgYWNwaV9ib290X3RhYmxlX2luaXQoKSBp
bnRvIDIgcGFydHMsIHdoZXJlIGZpcnN0IGlzIHVzZWQgdG8NCj4gZGV0ZXJtaW5lIHRoZSByZWFs
ICJhY3BpX2Rpc2FibGVkIiB2YWx1ZSwgY2FsbGVkIGJlZm9yZSBzZXR1cF9tbSBhbmQgc2Vjb25k
IHVzZWQNCj4gdG8gcGFyc2UgdGhlIHRhYmxlcz8gVGhlcmUncyBvbmUgaXNzdWUgd2l0aCB0aGlz
IGFwcHJvYWNoLiBUb2RheSwgZXZlbiBhZnRlciB3ZQ0KPiBldmFsdWF0ZSB0aGF0IHdlIHNob3Vs
ZCBydW4gd2l0aCBBQ1BJIGVuYWJsZWQgWypdLCBlcnJvciBpbiBBQ1BJIHRhYmxlIHBhcnNpbmcN
Cj4gaXMgaWdub3JlZCBhbmQgQUNQSSBpcyBzZXQgdG8gZGlzYWJsZWQuIFRoYXQncyBub3QgcmVh
bGx5IGluIHRoZSBzcGlyaXQgb2Ygb3VyDQo+IGN1cnJlbnQgbWV0aG9kb2xvZ3ksIHdoZXJlIHdl
IHNob3VsZCBwYW5pYyBpZiB1c2VyIHJlcXVlc3RlZCBzb21ldGhpbmcgdGhhdCBkb2VzDQo+IG5v
dCB3b3JrLiBFeGFtcGxlOiB0b2RheSwgZXZlbiBhZnRlciBzcGVjaWZ5aW5nICJhY3BpPWZvcmNl
IiwgZXJyb3IgaW4gdGFibGUNCj4gcGFyc2luZyBiYWlscyBvdXQgdG8gRFQgYXBwcm9hY2ggd2hp
Y2ggaXMgbm90IHdoYXQgdXNlciB3YW50ZWQuDQoNCk1pY2hhbCwgaW50ZXJlc3Rpbmcgc3VnZ2Vz
dGlvbiwgdGhhbmtzLiBMZXQncyBzYXkgYWNwaV9wcmVpbml0KCkgYW5kIA0KYWNwaV9ib290X3Rh
YmxlX2luaXQoKS4gSSBzZWUgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IHNwbGl0IGZvciBzb21lIA0K
Y29tcG9uZW50cyAoZS5nLiB0aW1lLCBnaWMpLiBJIGFncmVlIHdpdGggd2hhdCB5b3Ugd3JpdGUs
IHllcywgbG9va3MgDQpsaWtlIGl0IHNob3VsZCB3b3JrIGlmIHdlIGNvbnZlcnQgZXJyb3JzIGlu
IEFDUEkgdGFibGUgcGFyc2luZyBpbnRvIA0KcGFuaWNzIChub3RlLCB0aGlzIGlzIGNoYW5nZSB0
byBhbiBleGlzdGluZyBiZWhhdmlvcikuDQoNCkFsc28gaXQgaXMgbm90IGVudGlyZWx5IGNsZWFy
IHdoYXQgd2Ugc2hvdWxkIGRvIHdpdGggYWNwaV9kaXNhYmxlZD10cnVlIA0KZHVyaW5nIGRlY2xh
cmF0aW9uICh3aGF0IGN1cnJlbnQgcGF0Y2ggZG9lcyksIGV2ZW4gaWYgd2UgZGVjaWRlZCB0byBn
byANCndpdGggc3BsaXR0aW5nIHNob3VsZCB3ZSByZXRhaW4gdGhhdCBjaGFuZ2U/DQoNCj4gDQo+
IH5NaWNoYWwNCj4g


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 11:59:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 11:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927702.1330432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txPQF-0003Vx-0h; Wed, 26 Mar 2025 11:59:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927702.1330432; Wed, 26 Mar 2025 11:59: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 1txPQE-0003Vq-T0; Wed, 26 Mar 2025 11:59:50 +0000
Received: by outflank-mailman (input) for mailman id 927702;
 Wed, 26 Mar 2025 11:59: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txPQD-0003Vk-Bs
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 11:59:49 +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 d03072c9-0a39-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 12:59:47 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39149bccb69so5890383f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 04:59:47 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9b26a6sm16378320f8f.44.2025.03.26.04.59.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 04:59: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: d03072c9-0a39-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742990386; x=1743595186; 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=Upkl5H5UpU6V1VtlufleQT6ZFsXmDzWpDYJbTiBpuZE=;
        b=ONmaRe8uP7BPSxDu6bFGSIqRa2KrcmJD8wHIDhHDweE0syawuZ/cNvUbCrUF8eNGoR
         o2ke5yFXfmIbSE5g1/8Do3NFPN4qPFbUBGrLZ84Dw4D+PkzHvSYKca0u1yO9GYRV4R5w
         9QDdvCsRI94uQc6j6A19NArGLvMM1dsZmwO5w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742990386; x=1743595186;
        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=Upkl5H5UpU6V1VtlufleQT6ZFsXmDzWpDYJbTiBpuZE=;
        b=UfPVMoPYBtUecUtQj6jvTjMufesAinKKm66ZGsFoml6FLDZbpXxy8LAof2WXEcWtGg
         Lns9jjGA+45ChYugUgInxzWJp4jYGuGP3RJfRLLz87y3xt+eVwF0osSVy04JqLAYhho9
         zbwOH/GQF37Txj0YAuFv01YAN3iPB0JNINQd31rgrtZdyyEogM2AU9GIXMKZqSy7kZe4
         1wiqKJKjeOxcsfasmzpdzWpEiD5iHP9EUFvOIrDYO2/kWFWlgHfuziJKg4pwj+LkqCpC
         XJCfSUCa8L1VDXp500/b71NjTbgCOIcmcl0qG6uqMeg4gYDZT28n/fQDHpOSi+iIh4UV
         lyXA==
X-Gm-Message-State: AOJu0Yy5IupibrHnaegzPzQvvmwSOKTC4lZRF/PATv693S28XtNxhp7B
	XTLN6QhfW0sSQPXQiF21/9LdF9q11LNGzUqXwu9d28UrtLFXBXy1doZbR+kM4WQ=
X-Gm-Gg: ASbGnct8Rkz4W9ZJftLo5FoiDlJjiDvICMdJHlh06GzCAOS5y56ShNP3aGceqPGDKIe
	E3p235jKtji0bycFPJWHNfdNwgrgoORhmqoxeMzeKkTOH74bXuJQxnKlRNR+pyatok4d+Z6cjm3
	m+jvcCBV9Ke3c/qtN9LcwjXnOXSisGXZFHcC4No/ABDl+imxLiPr6oiXb1cL04erIKEPseSoGzR
	zJvKHm/VXcrds6q1Q+jXHxMlvBUCobRj4VR6mEGr1hwIj0kFGAU6IAHr7PSPA5wtE/VsGVuC5tl
	PYcuUnorLjSpAyEGPMom2nqL1deD9aH9CWtzO2DKmozzMWcHR5Si/V7MyeYXcdkTnIBjy7DNBDo
	9ZSdju64Fng==
X-Google-Smtp-Source: AGHT+IHS3s71zBANj9exyreTbg4YtSgtU9bgCEWpzr1Va0oWbW3qxcCb4TzqRVBE7x2+Oh76DFGR/w==
X-Received: by 2002:a05:6000:178c:b0:391:3207:2e75 with SMTP id ffacd0b85a97d-3997f8fc3cemr15942973f8f.18.1742990386496;
        Wed, 26 Mar 2025 04:59:46 -0700 (PDT)
Message-ID: <967bdc81-6924-4374-9e6a-4bcce1b1fe6b@citrix.com>
Date: Wed, 26 Mar 2025 11:59:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/bitops: Use Zbb to provide arch-optimised bitops
To: Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <20250226172050.1300771-1-andrew.cooper3@citrix.com>
 <113b2464-c7b2-4068-a179-707cba4f3835@suse.com>
 <50cd2332-11b7-4b64-85ea-489c416098f9@citrix.com>
 <db2073b0-8585-4518-9467-b7da4cefbbae@suse.com>
 <8dff5fb9-b46f-47bf-a6ee-863282155706@citrix.com>
 <295f59af-ebb8-4ad5-bf27-ec0ea5a2c2fe@gmail.com>
 <927264c2-0b99-4d60-97f8-31bcd0d64aa6@suse.com>
 <a7f05789-cf1a-474f-b619-80a7e890a579@citrix.com>
 <7cfbd773-de4b-459f-8fa9-7c6ed19fe0ad@gmail.com>
 <52bd483a-c5bf-4eba-867f-3476b1b86550@suse.com>
 <a852cb38-79fc-4b9d-b0a0-b69e277c2b82@gmail.com>
 <3014e6b4-0732-4d80-82e5-44dcd517f2b5@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: <3014e6b4-0732-4d80-82e5-44dcd517f2b5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/03/2025 10:15 am, Jan Beulich wrote:
> On 25.03.2025 18:04, Oleksii Kurochko wrote:
>> On 3/25/25 5:46 PM, Jan Beulich wrote:
>>> On 25.03.2025 17:35, Oleksii Kurochko wrote:
>>>> On 3/7/25 1:12 PM, Andrew Cooper wrote:
>>>>> On 07/03/2025 12:01 pm, Jan Beulich wrote:
>>>>>> On 07.03.2025 12:50, Oleksii Kurochko wrote:
>>>>>>> On 3/6/25 9:19 PM, Andrew Cooper wrote:
>>>>>>>> On 05/03/2025 7:34 am, Jan Beulich wrote:
>>>>>>>>> I was actually hoping to eliminate BITS_PER_LONG at some point, in favor
>>>>>>>>> of using sizeof(long) * BITS_PER_BYTE. (Surely in common code we could
>>>>>>>>> retain a shorthand of that name, if so desired, but I see no reason why
>>>>>>>>> each arch would need to provide all three BITS_PER_{BYTE,INT,LONG}.)
>>>>>>>> The concern is legibility and clarity.
>>>>>>>>
>>>>>>>> This:
>>>>>>>>
>>>>>>>>    Â Â Â  ((x) ? 32 - __builtin_clz(x) : 0)
>>>>>>>>
>>>>>>>> is a clear expression in a way that this:
>>>>>>>>
>>>>>>>>    Â Â Â  ((x) ? (sizeof(int) * BITS_PER_BYTE) - __builtin_clz(x) : 0)
>>>>>>>>
>>>>>>>> is not.Â  The problem is the extra binary expression, and this:
>>>>>>>>
>>>>>>>>    Â Â Â  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
>>>>>>>>
>>>>>>>> is still clear, because the reader doesn't have to perform a multiply to
>>>>>>>> just to figure out what's going on.
>>>>>>>>
>>>>>>>>
>>>>>>>> It is definitely stupid to have each architecture provide their own
>>>>>>>> BITS_PER_*.Â  The compiler is in a superior position to provide those
>>>>>>>> details, and it should be in a common location.
>>>>>>>>
>>>>>>>> I don't particularly mind how those constants are derived, but one key
>>>>>>>> thing that BITS_PER_* can do which sizeof() can't is be used in #ifdef/etc.
>>>>>>> What about moving them to xen/config.h? (if it isn't the best one place, any suggestion which is better?)
>>>>>>>
>>>>>>> #define BYTES_PER_INTÂ  (1 << INT_BYTEORDER)
>>>>>>> #define BITS_PER_INTÂ  (BYTES_PER_INT << 3)
>>>>>>>
>>>>>>> #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
>>>>>>> #define BITS_PER_LONG (BYTES_PER_LONG << 3)
>>>>>>> #define BITS_PER_BYTE 8
>>>>> The *_BYTEORDER's are useless indirection.Â  BITS_PER_* should be defined
>>>>> straight up, and this will simplify quite a lot of preprocessing.
>>>> Could we really drop *_BYTEORDER?
>>>>
>>>> For example, LONG_BYTEORDER for Arm could be either 2 or 3 depends on Arm32 or Arm64 is used.
>>> The can still #define BITS_PER_LONG to 32 or 64 respectively, can't they?
>> Yes, but then if we want to move it to xen/config.h then it will be needed to:
>> in Arm's asm/config.h to have something like:
>>    #ifdef CONFIG_ARM_32
>>        #define BITS_PER_LONG 32
>>    #endif
>>
>> and then in xen/config.h
>>    #ifndef BITS_PER_LONG
>>        #define BITS_PER_LONG 64
>>    #endif
>>
>> But I wanted to not have #ifndef BITS_PER_LONG in xen/config.h. (or using CONFIG_ARM_32 in xen/config.h)
> Whatever the fundamental definitions that can vary per arch - those should
> imo live in asm/config.h. For the case here, if we deem *_BYTEORDER as
> fundamental, they go there (and BITS_PER_* go into xen/config.h). If we deem
> BITS_PER_* fundamental, they go into asm/config.h.
>
> Stuff that we expect to remain uniform across ports (BITS_PER_BYTE, possibly
> also BITS_PER_INT BITS_PER_LLONG) may also go into xen/config.h, as long as
> we're okay with the possible future churn if a port appeared that has
> different needs.
>
> I agree that there better wouldn't be #ifndef for such in xen/config.h.

With a new toolchain baseline, we get both of these concepts directly
from the compiler environment.

I don't see any need for arch-specific overrides to these.Â  They
ultimately come from the -march used.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:05:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:05:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927714.1330441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txPVr-0006as-N9; Wed, 26 Mar 2025 12:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927714.1330441; Wed, 26 Mar 2025 12:05: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 1txPVr-0006al-KC; Wed, 26 Mar 2025 12:05:39 +0000
Received: by outflank-mailman (input) for mailman id 927714;
 Wed, 26 Mar 2025 12:05: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=Ly6i=WN=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1txPVq-0006af-8v
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:05:38 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a092918a-0a3a-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 13:05:37 +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: a092918a-0a3a-11f0-9ea3-5ba50f476ded
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1742990735;
	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=RNc6aiq57yiGCBRg0LL9xH6lg+TfPWpVcHs+AMtgCUY=;
	b=VSQ4UalF79QRqAVvaxuvHRSLf69VijwPTorQeq6yl+I4ZMzrIcswkQWIIUA1HiKF5MFhqm
	+hlsgp8h0mjbD57BpeMeFZVPlgtmSRET9+70unGjeV53IXJQ4enWqAgdnRuYhFA0XlH7dT
	Jt0E9UwJy2ZFmr/h9e3JmKGujP1sfQe02rGFJl0GH3Dk2hjmIhinuV0yJYm9xEofLne63A
	0Wz/s09kAfN5O3jKMHTiWiubsqsLGaCMKmrePpsZ4pgxQ0s25LoPIJa/g/qQesdJ0kjIp+
	yeYmhyGEAKFOPByBCtNDXWJJmecCRZFnQKVNX97AHh4A6gPgMLcOipzJI49Y6A==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1742990735;
	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=RNc6aiq57yiGCBRg0LL9xH6lg+TfPWpVcHs+AMtgCUY=;
	b=A3n6s+JARC6Qzy2kr4Da7Jz//puH+TEjoE7uM8q8BV5Xlz+3qSqJMEwrzFfm1qo453I6cd
	RqPHYnmOaCKCZwDw==
To: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>, Daniel Gomez
 <da.gomez@kernel.org>
Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, Bjorn Helgaas
 <helgaas@kernel.org>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>, 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>
Subject: [PATCH] PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI
 backends
In-Reply-To: <87v7rxzct0.ffs@tglx>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx>
Date: Wed, 26 Mar 2025 13:05:35 +0100
Message-ID: <87iknwyp2o.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

The conversion of the XEN specific global variable pci_msi_ignore_mask to a
MSI domain flag, missed the facts that:

    1) Legacy architectures do not provide a interrupt domain
    2) Parent MSI domains do not necessarily have a domain info attached
   
Both cases result in an unconditional NULL pointer dereference.

Cure this by using the existing pci_msi_domain_supports() helper, which
handles all possible cases correctly.

Fixes: c3164d2e0d18 ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag")
Reported-by: Daniel Gomez <da.gomez@kernel.org>
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Borislav Petkov <bp@alien8.de>
Tested-by: Daniel Gomez <da.gomez@kernel.org>
---
 drivers/pci/msi/msi.c |   18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)



--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -285,8 +285,6 @@ static void pci_msi_set_enable(struct pc
 static int msi_setup_msi_desc(struct pci_dev *dev, int nvec,
 			      struct irq_affinity_desc *masks)
 {
-	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
-	const struct msi_domain_info *info = d->host_data;
 	struct msi_desc desc;
 	u16 control;
 
@@ -297,7 +295,7 @@ static int msi_setup_msi_desc(struct pci
 	/* Lies, damned lies, and MSIs */
 	if (dev->dev_flags & PCI_DEV_FLAGS_HAS_MSI_MASKING)
 		control |= PCI_MSI_FLAGS_MASKBIT;
-	if (info->flags & MSI_FLAG_NO_MASK)
+	if (pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY))
 		control &= ~PCI_MSI_FLAGS_MASKBIT;
 
 	desc.nvec_used			= nvec;
@@ -604,20 +602,18 @@ static void __iomem *msix_map_region(str
  */
 void msix_prepare_msi_desc(struct pci_dev *dev, struct msi_desc *desc)
 {
-	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
-	const struct msi_domain_info *info = d->host_data;
-
 	desc->nvec_used				= 1;
 	desc->pci.msi_attrib.is_msix		= 1;
 	desc->pci.msi_attrib.is_64		= 1;
 	desc->pci.msi_attrib.default_irq	= dev->irq;
 	desc->pci.mask_base			= dev->msix_base;
-	desc->pci.msi_attrib.can_mask		= !(info->flags & MSI_FLAG_NO_MASK) &&
-						  !desc->pci.msi_attrib.is_virtual;
 
-	if (desc->pci.msi_attrib.can_mask) {
+
+	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY) &&
+	    !desc->pci.msi_attrib.is_virtual) {
 		void __iomem *addr = pci_msix_desc_addr(desc);
 
+		desc->pci.msi_attrib.can_mask = 1;
 		desc->pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
 	}
 }
@@ -715,8 +711,6 @@ static int msix_setup_interrupts(struct
 static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
 				int nvec, struct irq_affinity *affd)
 {
-	const struct irq_domain *d = dev_get_msi_domain(&dev->dev);
-	const struct msi_domain_info *info = d->host_data;
 	int ret, tsize;
 	u16 control;
 
@@ -747,7 +741,7 @@ static int msix_capability_init(struct p
 	/* Disable INTX */
 	pci_intx_for_msi(dev, 0);
 
-	if (!(info->flags & MSI_FLAG_NO_MASK)) {
+	if (!pci_msi_domain_supports(dev, MSI_FLAG_NO_MASK, DENY_LEGACY)) {
 		/*
 		 * Ensure that all table entries are masked to prevent
 		 * stale entries from firing in a crash kernel.


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:09:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:09:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927723.1330452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txPZX-0007C4-5B; Wed, 26 Mar 2025 12:09:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927723.1330452; Wed, 26 Mar 2025 12:09: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 1txPZX-0007Bx-2S; Wed, 26 Mar 2025 12:09:27 +0000
Received: by outflank-mailman (input) for mailman id 927723;
 Wed, 26 Mar 2025 12:09: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txPZV-0007Br-Js
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:09:25 +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 27c37d9a-0a3b-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 13:09:23 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so60915745e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 05:09:23 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d43fdec51sm233617845e9.27.2025.03.26.05.09.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 05:09: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: 27c37d9a-0a3b-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742990963; x=1743595763; 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=an1KaUS0NQleZIpuItIfAMf7HfN+YJhFYzTz0NaJ9oA=;
        b=UUAcdO8jAIxE61yqTtqHgDVzqnAa122LmTHhjq3VwoodNi6rmgOeNB4s1NlH57p+N7
         7xzNcTpjQ4+g5xiGE5YMPAqHGxfE2WLTf19Raw8p5EZdeNc7ra4OUktOC5HQOSUhMWiM
         qDvAolzrB3xTm7ctaO/MbErOsWjB7BZca7xYlRYqNrCSuBDo+o90/qH0yylM5C7BYwAo
         qylJsn5e5J5S1DAJK11xUYWLhbnlGUoS8t9JzABKlOPaHElLvqKWjQfTwQB5jA6z6Tnk
         Lc+kRyRRLcvdgs9zWoALu0Jr/D2wyGpmCLzL10MNOQ89JQ06KIYnloUrBASardQVawIY
         jQkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742990963; x=1743595763;
        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=an1KaUS0NQleZIpuItIfAMf7HfN+YJhFYzTz0NaJ9oA=;
        b=SoBlsc9a4D7oCbeHJW7fBAi20YA79XcY1CqXr8AA5Kxo56sSpNvxEgvI1+E/galUsg
         DFEKtUDMAvXPqROE1c4L705TrlkwhEsscrRsZxaXSEXT6TE4BycA/+3c4iGxNekRBGVV
         vr7gXQXtNyhvmuWykSGBl7+CKfBreRQeX/Ua8yFQf82Ew2P6R8dINPTrzFuAL118Lwii
         Vw+zITVNGW3N9Ycmn2Rj0edsn3YflFuMBpbGxncyD0dgihsZfepfdpGH+KqSlOrOXhZF
         TEUfcCniKibpIU0VzanVkwyrGfYVJdO+5a+31jmC3DEHY0gp+M90BCyo4+qjG4bAD/wM
         Kb/g==
X-Forwarded-Encrypted: i=1; AJvYcCUjGVPSZjDyEnhhOO/8VicKDfp8BXUevQxUDHfk6FYJoStGKrkbTteoFrP+PsqALpglVHbuQNmq7LY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwvjxnwECgFUmoy8GYSNS8I6qmi1ItGKLj3dAPqoPSK9s0LpFl
	P65I2QNcxa+9ehNRoM7xTkcs32pM9Sh5cSIlkX+/W6pj2BvFfvccXbpVz4buNZg=
X-Gm-Gg: ASbGncuhX/Fhu8ngkl7wT1e6Uu/+DQzlg0farPicEx7yFptESE3L9RwNfqDMMiDqgEG
	m2gO28EmuoBewVsKdkSsyRt4WOlih1ufrTd/xiw8Yxxxk1RBAFaYjA7O8+c/r5j2N3OXCcoYHBx
	9Gn+Z73bqVt0bM5zO/mAbBwAcrXySUkSLPipBSixweyMsSlhygvHfSzk2WGMIzMByB7fWzh4MD7
	ZNkhGLeTnZE2KmC2zJ1JHY1T4h02GzcWLi7wExu9PzCwOGBBNvOVpvFZ9nid5KEOfpYfbM798bJ
	ntsIcLCAkfwm7Zhg7xkmT0ZopBtmcDCVEGS6ShvJGM7yUu3NY83x3z+kOLut/cIaWboeTFHudHt
	I7AhmtNMHT0wq85tsRCln3/oPDOfD8CtIMYdg/lW6I0XP58T7toS1oJli34y/TnH81Lzp9A==
X-Google-Smtp-Source: AGHT+IGPSooWruGylPNfCoqdo+i7PIf/B0nuh1gk8WAeqjo3Wgsfm+TauvfWZT95goYR8rULUrwiXw==
X-Received: by 2002:a05:600c:4512:b0:43c:fcbc:968c with SMTP id 5b1f17b1804b1-43d509ed7d2mr216869185e9.7.1742990962971;
        Wed, 26 Mar 2025 05:09:22 -0700 (PDT)
Message-ID: <f56cc306-3c80-45ce-9955-f7fd36defa4e@suse.com>
Date: Wed, 26 Mar 2025 13:09:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI
 backends
To: Thomas Gleixner <tglx@linutronix.de>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Gomez <da.gomez@kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 Bjorn Helgaas <bhelgaas@google.com>, 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>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx> <87v7rxzct0.ffs@tglx>
 <87iknwyp2o.ffs@tglx>
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: <87iknwyp2o.ffs@tglx>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------G6wryYg7If1ZodK44IqIwnFh"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------G6wryYg7If1ZodK44IqIwnFh
Content-Type: multipart/mixed; boundary="------------FgOLYyKFe0izuOaKvrlnginI";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Thomas Gleixner <tglx@linutronix.de>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Gomez <da.gomez@kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 Bjorn Helgaas <bhelgaas@google.com>, 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>
Message-ID: <f56cc306-3c80-45ce-9955-f7fd36defa4e@suse.com>
Subject: Re: [PATCH] PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI
 backends
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx> <87v7rxzct0.ffs@tglx>
 <87iknwyp2o.ffs@tglx>
In-Reply-To: <87iknwyp2o.ffs@tglx>

--------------FgOLYyKFe0izuOaKvrlnginI
Content-Type: multipart/mixed; boundary="------------r4gtUqOQuE5FyviO00L0sdjw"

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

T24gMjYuMDMuMjUgMTM6MDUsIFRob21hcyBHbGVpeG5lciB3cm90ZToNCj4gVGhlIGNvbnZl
cnNpb24gb2YgdGhlIFhFTiBzcGVjaWZpYyBnbG9iYWwgdmFyaWFibGUgcGNpX21zaV9pZ25v
cmVfbWFzayB0byBhDQo+IE1TSSBkb21haW4gZmxhZywgbWlzc2VkIHRoZSBmYWN0cyB0aGF0
Og0KPiANCj4gICAgICAxKSBMZWdhY3kgYXJjaGl0ZWN0dXJlcyBkbyBub3QgcHJvdmlkZSBh
IGludGVycnVwdCBkb21haW4NCj4gICAgICAyKSBQYXJlbnQgTVNJIGRvbWFpbnMgZG8gbm90
IG5lY2Vzc2FyaWx5IGhhdmUgYSBkb21haW4gaW5mbyBhdHRhY2hlZA0KPiAgICAgDQo+IEJv
dGggY2FzZXMgcmVzdWx0IGluIGFuIHVuY29uZGl0aW9uYWwgTlVMTCBwb2ludGVyIGRlcmVm
ZXJlbmNlLg0KPiANCj4gQ3VyZSB0aGlzIGJ5IHVzaW5nIHRoZSBleGlzdGluZyBwY2lfbXNp
X2RvbWFpbl9zdXBwb3J0cygpIGhlbHBlciwgd2hpY2gNCj4gaGFuZGxlcyBhbGwgcG9zc2li
bGUgY2FzZXMgY29ycmVjdGx5Lg0KPiANCj4gRml4ZXM6IGMzMTY0ZDJlMGQxOCAoIlBDSS9N
U0k6IENvbnZlcnQgcGNpX21zaV9pZ25vcmVfbWFzayB0byBwZXIgTVNJIGRvbWFpbiBmbGFn
IikNCj4gUmVwb3J0ZWQtYnk6IERhbmllbCBHb21leiA8ZGEuZ29tZXpAa2VybmVsLm9yZz4N
Cj4gUmVwb3J0ZWQtYnk6IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPg0KPiBTaWdu
ZWQtb2ZmLWJ5OiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4NCj4gVGVz
dGVkLWJ5OiBNYXJlayBTenlwcm93c2tpIDxtLnN6eXByb3dza2lAc2Ftc3VuZy5jb20+DQo+
IFRlc3RlZC1ieTogQm9yaXNsYXYgUGV0a292IDxicEBhbGllbjguZGU+DQo+IFRlc3RlZC1i
eTogRGFuaWVsIEdvbWV6IDxkYS5nb21lekBrZXJuZWwub3JnPg0KDQpBcyB0aGUgcGF0Y2gg
aW50cm9kdWNpbmcgdGhlIHByb2JsZW0gd2VudCBpbiB2aWEgdGhlIFhlbiB0cmVlLCBzaG91
bGQNCnRoaXMgZml4IGdvIGluIHZpYSB0aGUgWGVuIHRyZWUsIHRvbz8NCg0KDQpKdWVyZ2Vu
DQo=
--------------r4gtUqOQuE5FyviO00L0sdjw
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-----

--------------r4gtUqOQuE5FyviO00L0sdjw--

--------------FgOLYyKFe0izuOaKvrlnginI--

--------------G6wryYg7If1ZodK44IqIwnFh
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/Ey8FAmfj7nEFAwAAAAAACgkQsN6d1ii/Ey9g
LQf/XG0ZVGipQKdiKFm9K0qDJa+Fd/bd6y6M9Ol9Sl/JeB41FlS6eECjEjekzIAcVhGd3rlEKG1v
x8r6p2ax3HPSru1O2rsCF5D1BRzaXwvV7qe8RLgkHvaFR5jM8SofcRLqEKrIyjJMCnm4zhS35XHn
G0JFBc5redWdHWzGHbquUjFn+rvZ/FcgwAscwBQb0jXeXZQ6hVptr5o55SgveH+4XR9uGXFUq3sK
5KWQCsKeSDWMat87msSeNIT8Y7FW9RBU/puz3rdjEQnQR4umoRP730600nS7C7nYgfCnCnzMi0JR
YYUHYuwIM6VLZzqgwf9RKWG/bzPyg9/ESV573kVhnA==
=xjFw
-----END PGP SIGNATURE-----

--------------G6wryYg7If1ZodK44IqIwnFh--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:16:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927732.1330462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txPg6-0001fW-Qn; Wed, 26 Mar 2025 12:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927732.1330462; Wed, 26 Mar 2025 12:16: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 1txPg6-0001fP-NA; Wed, 26 Mar 2025 12:16:14 +0000
Received: by outflank-mailman (input) for mailman id 927732;
 Wed, 26 Mar 2025 12:16: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txPg5-0001fH-AE
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:16:13 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19c2bf93-0a3c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 13:16:09 +0100 (CET)
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 DF1961F391;
 Wed, 26 Mar 2025 12:16:08 +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 73D9A13927;
 Wed, 26 Mar 2025 12:16: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 tupQGgjw42eLGwAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 12:16: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: 19c2bf93-0a3c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742991369; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=7KHBZEmF/HmuUaj/FrpcKwdYyFB6mZxiRitXy8Q+JJk=;
	b=kT1hkvSt8Za7FZG91PfiWNbGnI6W/cF1wfx2gCK6aIPcA5t/QKNh5FvFIV+sHLh5ec2PY1
	ba+A5HF7QKFQE8cbUlTsaf9kck6oLk/k86uJUHljh2dphlwePfODdkxHGbfofxKgBUoKSL
	ofWDLS44HLhnODpCq+pyEE0BBAUT8t8=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b="t/xV5bHn"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1742991368; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=7KHBZEmF/HmuUaj/FrpcKwdYyFB6mZxiRitXy8Q+JJk=;
	b=t/xV5bHn8MTu/K4B0nnrksV/tTmi5irn3Tpc4MA9kQp87N3d7pROr4jv47J1GUDLHt+iwW
	vsNcJjt8vrRMnp+19FoamlqXM+a96xSemI1HZilUecHsZfSxh3N/xbxIgmn5iBfiollhXh
	mYBJvAiVfgOofWzClVfebWFs8s1WwPc=
Message-ID: <bdccc663-1d54-4006-bc69-6bf85f357864@suse.com>
Date: Wed, 26 Mar 2025 13:16:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI
 backends
To: Thomas Gleixner <tglx@linutronix.de>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Gomez <da.gomez@kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 Bjorn Helgaas <bhelgaas@google.com>, 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>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx> <87v7rxzct0.ffs@tglx>
 <87iknwyp2o.ffs@tglx>
Content-Language: en-US
From: Juergen Gross <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: <87iknwyp2o.ffs@tglx>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------HcTd9fMVKgPPh8seRo7TXej0"
X-Rspamd-Queue-Id: DF1961F391
X-Spam-Score: -5.41
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-5.41 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MX_GOOD(-0.01)[];
	FROM_HAS_DN(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[13];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	ARC_NA(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	TO_DN_SOME(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	HAS_ATTACHMENT(0.00)[];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	DBL_BLOCKED_OPENRESOLVER(0.00)[samsung.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,alien8.de:email,suse.com:dkim,suse.com:mid,suse.com:email,linutronix.de:email]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------HcTd9fMVKgPPh8seRo7TXej0
Content-Type: multipart/mixed; boundary="------------0OuqVq0LqY0119xfRnPHbYoB";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Thomas Gleixner <tglx@linutronix.de>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Gomez <da.gomez@kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 Bjorn Helgaas <bhelgaas@google.com>, 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>
Message-ID: <bdccc663-1d54-4006-bc69-6bf85f357864@suse.com>
Subject: Re: [PATCH] PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI
 backends
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx> <87v7rxzct0.ffs@tglx>
 <87iknwyp2o.ffs@tglx>
In-Reply-To: <87iknwyp2o.ffs@tglx>

--------------0OuqVq0LqY0119xfRnPHbYoB
Content-Type: multipart/mixed; boundary="------------9WU1HeswuHFEhP0QuyQap7ah"

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

T24gMjYuMDMuMjUgMTM6MDUsIFRob21hcyBHbGVpeG5lciB3cm90ZToNCj4gVGhlIGNvbnZl
cnNpb24gb2YgdGhlIFhFTiBzcGVjaWZpYyBnbG9iYWwgdmFyaWFibGUgcGNpX21zaV9pZ25v
cmVfbWFzayB0byBhDQo+IE1TSSBkb21haW4gZmxhZywgbWlzc2VkIHRoZSBmYWN0cyB0aGF0
Og0KPiANCj4gICAgICAxKSBMZWdhY3kgYXJjaGl0ZWN0dXJlcyBkbyBub3QgcHJvdmlkZSBh
IGludGVycnVwdCBkb21haW4NCj4gICAgICAyKSBQYXJlbnQgTVNJIGRvbWFpbnMgZG8gbm90
IG5lY2Vzc2FyaWx5IGhhdmUgYSBkb21haW4gaW5mbyBhdHRhY2hlZA0KPiAgICAgDQo+IEJv
dGggY2FzZXMgcmVzdWx0IGluIGFuIHVuY29uZGl0aW9uYWwgTlVMTCBwb2ludGVyIGRlcmVm
ZXJlbmNlLg0KPiANCj4gQ3VyZSB0aGlzIGJ5IHVzaW5nIHRoZSBleGlzdGluZyBwY2lfbXNp
X2RvbWFpbl9zdXBwb3J0cygpIGhlbHBlciwgd2hpY2gNCj4gaGFuZGxlcyBhbGwgcG9zc2li
bGUgY2FzZXMgY29ycmVjdGx5Lg0KPiANCj4gRml4ZXM6IGMzMTY0ZDJlMGQxOCAoIlBDSS9N
U0k6IENvbnZlcnQgcGNpX21zaV9pZ25vcmVfbWFzayB0byBwZXIgTVNJIGRvbWFpbiBmbGFn
IikNCj4gUmVwb3J0ZWQtYnk6IERhbmllbCBHb21leiA8ZGEuZ29tZXpAa2VybmVsLm9yZz4N
Cj4gUmVwb3J0ZWQtYnk6IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPg0KPiBTaWdu
ZWQtb2ZmLWJ5OiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4NCj4gVGVz
dGVkLWJ5OiBNYXJlayBTenlwcm93c2tpIDxtLnN6eXByb3dza2lAc2Ftc3VuZy5jb20+DQo+
IFRlc3RlZC1ieTogQm9yaXNsYXYgUGV0a292IDxicEBhbGllbjguZGU+DQo+IFRlc3RlZC1i
eTogRGFuaWVsIEdvbWV6IDxkYS5nb21lekBrZXJuZWwub3JnPg0KDQpSZXZpZXdlZC1ieTog
SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------9WU1HeswuHFEhP0QuyQap7ah
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-----

--------------9WU1HeswuHFEhP0QuyQap7ah--

--------------0OuqVq0LqY0119xfRnPHbYoB--

--------------HcTd9fMVKgPPh8seRo7TXej0
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/Ey8FAmfj8AcFAwAAAAAACgkQsN6d1ii/Ey/+
WQf+OFn8vy9d6E51rxI0Ol5OiFPJVx7b6JEte57s4mRDGClJ/9c5lFpnP+pes3Piv/SoIzkGvJ6M
vznHTTd3Unf6a6UBxavhXfmTasW5py0Ys7y4gy187lmc5frQykw/poUb+hPhI9IaRp9550hlzN55
lBvpAAfhgKaLnJy+Ql68IMU9ZsNIwgMY2SYVA97I5vwsIuMrvzVIa02tNT0iYYJq0M9r974yFCrx
oAQQhtTWfeX4zDpefavJ3R6/zkmli6pMl/fKsjW0Ih70Qym+0e47AGG44lXYkibUIUS44ComsPF+
B7eExH5Llnan2qUo510iY7HOkM1/KeMMj3q5Yu8l6g==
=kWGv
-----END PGP SIGNATURE-----

--------------HcTd9fMVKgPPh8seRo7TXej0--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:31:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:31:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927749.1330472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txPv0-00067u-5t; Wed, 26 Mar 2025 12:31:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927749.1330472; Wed, 26 Mar 2025 12:31: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 1txPv0-00067n-2I; Wed, 26 Mar 2025 12:31:38 +0000
Received: by outflank-mailman (input) for mailman id 927749;
 Wed, 26 Mar 2025 12:31: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=a+/s=WN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1txPuy-00067h-Vg
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:31:37 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2406::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e7e88dd-0a3e-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 13:31:31 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by CH2PR12MB4328.namprd12.prod.outlook.com (2603:10b6:610:a6::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 12:31:27 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 12:31: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: 3e7e88dd-0a3e-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DMxlLQtIz3eVP+lESzISuwUf+daBUnY6w9fJF236vBo9+7rahVZPFULRfiZCdle2gsxgOwGO3Lh26wy5uwZRS3rwXyDZ5uH6tLWYNHI4eES65gHnINtAL9Ge7/9O8HH3dO20KoLP06ema0oue4QFxN9k772KndYPojxPlTNnPyfmdvzjFWSA4ahSo+Go5vpKc7MnzBYxqBPKg4brEmgvzUWmNGI0YgrQFmxNl8XkMMUiEGZ3pcdZ1lX9brl2ngoDyS+r2F0VRYtJvEaxHMRtA+lGWMjLW1FmVlY7dDoV6z0CFbsAnx5wa6Vof8EqoWg6ZofWLw5DNzUxEPqhix4K5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kfL8jnVKx5+vsYAZViNXjAxCFHt8eI7qo0pMEXpVYow=;
 b=uEFrKg5RpU4xNkeFSFhbHfbepqFv7tKXO8AnRjpGxkQN0L8wWu8NxkDyh/ku2SwknT3hcUoHQRDocwy4GR7EcVlGakDrTArALj2PksSyODb+nZ9pp6d7ZzfZqX1X+u0248Zn7zQSi4NUAQs2MGfvV4YKYlaL1+RimpuQZ1vZ4OotXXtUOFORSbg2JItuL4DvrM3jVAMiE5zNvWHVhdLvodUyLxMKdZWwwCCuuhYCrBH/D5oyT3droitwXkpnbnne/MqKTlLgona8Xr92ZQiN+2JMp9HLFTXQPbMc+78WWQ7i282QddUCDghkrbwU9BQWUt2el3gY8csvq4lqwB3eJA==
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=kfL8jnVKx5+vsYAZViNXjAxCFHt8eI7qo0pMEXpVYow=;
 b=UAnXGQ0o2ZfF+Uus8tahTxc+r/afS9M6T1FpsSCzdK8FwsO0uH9K+LRwAGJYZWIZho1qfW7coSnxUb5xoT3G7z4gEWOHw1JXi/yM6mPHRqjF2m8Xr7ud8Ym47JRLVJ0VznSFrWkdaZoG//x7kV/bTsmV/Sjpgrta+IlZMqx0Ojs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ac07651e-bf5b-4cf3-94f6-47c32cd1d24c@amd.com>
Date: Wed, 26 Mar 2025 13:31:23 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Arm/domctl: correct XEN_DOMCTL_vuart_op error return
 value
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <fa6d6ca6-d133-4a9e-9da4-42b0c0b50437@suse.com>
 <9e60173d-ec9b-4a76-8299-7d0e492f4407@citrix.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <9e60173d-ec9b-4a76-8299-7d0e492f4407@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::12) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|CH2PR12MB4328:EE_
X-MS-Office365-Filtering-Correlation-Id: aa259233-440a-4ccd-497a-08dd6c622118
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?UlhSdkFFVTk0d2lLaFI3M1pLNnl5Znc1Y0N3OFFRWndhK3c4M3ZtdCsyLzkr?=
 =?utf-8?B?eThCbWJNQVdlSkNuRXVJWmdiaFZGN25ZOEhtbVNQbzRYUElKcWpPZHBIVkpU?=
 =?utf-8?B?RTFrMXdqN3Y4emFKc2RZMlR3RkNJNmROOWFZYTNsZzZhZW1aSkZ3ajZhY0hy?=
 =?utf-8?B?SW5yUVk5OFBmOTM4VDMwcU1VNE1tUVpqaytpdURlSkVWd2RKenF0aUFqaTlw?=
 =?utf-8?B?eGNJdmwrUURoeGh6dmM0T1FqU2dhdlFOeU1oWWl4cHpTNXRFVDh2d2Z6eldI?=
 =?utf-8?B?N2FldFR6ZWtKUFFlZmlBRWJLdk1PNk04NStmOFYwMEdmNzJOUXQ5UVZwa2ZC?=
 =?utf-8?B?WGFEVUtiY2xIN1h4U1p5eTlCNjgxRVhoSk44bWllOTBOS2orOUllVVR6ZVdB?=
 =?utf-8?B?R3NNaFpiSmN4OHhzaVhmV21tNTZVSG9xS0RHV05WNVFReWdQSmZaTlI5Q2Y4?=
 =?utf-8?B?TEkvYTVVWWhGR3hwcGlqKytRSnBaYXhuTnhJUGRxY0ZzM0xJUDJxallyWG9Z?=
 =?utf-8?B?Q25sMWsyMDJibm1sK1FOdUd4RjBzTGI2UVVMazdhb2ovZ0pMUngwWGtnbnht?=
 =?utf-8?B?VWF3N1NUUTVZRUFiKzAvYzl5b0h0dFZBVUtHMHUvc0FSaGNqRWl5UlArRmQ0?=
 =?utf-8?B?eDVkMk1oZUNzOHdIdUhuYUxlZng4aG9vVTIxYkNMZEU4N3Z6dWZuUmJidDlu?=
 =?utf-8?B?c24yY1BaWGEwSXB5ays1RGk5UjdleUNxZWZRRE1HQVQ2RWFSL1ViTjNOOG9i?=
 =?utf-8?B?cGd1eTRNZklMWWVtT3NaalFBTEM0UDlWVDNaQjFJMHB4bjFSS2ptMVFwUmpN?=
 =?utf-8?B?Q3FPazJqd1NhZG13Ym12M2wvQVdnMDNYMzZvT2czZU9JL1ZLZ0hDRzFGc0JP?=
 =?utf-8?B?djFwVHkwRDUwc2FzL2liKzhSR2VXQ0ZhaDlVaW8rVTE5Uk9yaHJrckkzVW9n?=
 =?utf-8?B?eUpuZTlMNmRoc3FkU2VBZ1Uwa0VTZmdxT0F5TGpYVFUycENOWExaSVNlc1g4?=
 =?utf-8?B?NklscHkxcllvRncyNVdERXI0NmlxRjFZMk82aGxPUEJTVXhaV2s0U2dkY211?=
 =?utf-8?B?WWp2emZxaEVVNjlkYWlSN2ZZb3Rub1NUencrR0RTOE12Snpjd29iRHZyTmxF?=
 =?utf-8?B?VVRsMmNLVHRySm5hSUo2cHA1MzllQmYydUZvalI0djdqQmUzSVNsVStxTERF?=
 =?utf-8?B?d2xSMS8xc1dBR2NkRmlySWVrU0h6RGFZdWdFdVlIMUUyZzNMSkR4OHpkR0c0?=
 =?utf-8?B?OFJTTloxSUFVa1FKNGM3QTNVS2xCM25rZzJtelgxMjVqQTdPY01Ia3VQbzNN?=
 =?utf-8?B?RCtDb09GNmRldzFLMDlpQW50S3ZUK0NQVDFra3ZtS25LN0ZFek12Z29vM0ZS?=
 =?utf-8?B?T2hSYzFkNXkvT2ZIVzQ5VWIzZXRhMVNvSDFGVTFJQksvKys2dVNiZFdOQ1RX?=
 =?utf-8?B?Q2N1b2EvVGd1QmgyUEhzb1BVblZGSkgvemhYMVdVZjhONkdKS0dud0l0bXg4?=
 =?utf-8?B?UXpLVmhvcjRIeUNRMkU4L0k1dXZQOHBZbElGZ0ZLMXVXVWcrYVZtWm1DcWdu?=
 =?utf-8?B?RTFReCttY1JVZ2Z4eVowUFVZRlhKNUllVStMN3ZGSHZmM3hzVHEra2VPaHFz?=
 =?utf-8?B?WFJVOFF1aTkzZmxFSGFHamNsRDdPUjF2YlkrbDBLSk1Iamk1NTdvN0ZpT3dx?=
 =?utf-8?B?TjNjbkRqQ2VLQUY5WVVDS0V1SEYzd2pjanN1VkNKY1p1b1dFMU1vR1NGVS9X?=
 =?utf-8?B?VUpNRXpGV2V0SEJmOXlUdWJpWUN5T0dJZktlRTBVMlVBdnkvcUFyQjVDTlpP?=
 =?utf-8?B?Zytad3AwMlo1SHJGbTJZeS9YQUJiZjc0N1M1K0FXZGdiMUtYcndRVkxiZXor?=
 =?utf-8?Q?EK5L3JbFUBso5?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?M3BhdEJQQVdvR2ZqMTkwS3lZOVh2ZkU2ekNjRmR3c1h2MDF1NGY1WVJsWXBX?=
 =?utf-8?B?RndCSVRJYmlFdjIySGxYY3FEMTlCUWRFd3NhZlpTa0FwOFE1enFTWDZFWnVo?=
 =?utf-8?B?elY1MzRvNXV2L3lIZlhXbWkwR3VBdmdVUmRscmV1SVpRSEgvR1VtNmdBNTVh?=
 =?utf-8?B?cXphVFkzQm9kQzE3VGpzZTc3NzIwSzZ3V21mUEJZZVM0L0dRaXFVTmNLY2Ez?=
 =?utf-8?B?QnpjaEx4NGZ5cG0zck53bmlkcURxVVJSMU1GM3NwcmVtQmRYU3daYzVxN1hr?=
 =?utf-8?B?SVRNOU8zRWdIZk8wcmZzNjZhblRnVGI5WWcyQ3RVakN1SStEekF5ZGhaSW5o?=
 =?utf-8?B?aWwyVU1wT0F2NE93dSt2QkZFR1VGaU13V0k0dUgyYThEM3NyaTJqalRrdFhH?=
 =?utf-8?B?MDdabDFTaUt5aXhucFBPVmtYZGFVRndGQ3RBQWY3REFuQ1Z0SU5jbmc3VXdE?=
 =?utf-8?B?ZVZMd3lqQlpDdXdMZ0pFak4yTzkxRDdnSTNqRFpUUW9tcnVuZjZUbkJKWUYw?=
 =?utf-8?B?MmFzZTlIMUR4MFQydkY1bzI0VGkrb2Rwa2srTWFvV2J6bmQ5YUZiZWl5T1lH?=
 =?utf-8?B?dVBMQXRDaXJ5RDEwZ1E1M3JuNkQ2SFRwb1llU29SNmxkZUlqQnFGT1hCeDE2?=
 =?utf-8?B?OFRuaVJVWnF5Z3dXYzZESXdpRmp1NXRBZlRIV040WDZVRjBJMjBubWMrZkdP?=
 =?utf-8?B?UCtRaTFZL3A4bHhqWkNQZjlWR1pEZlc2ZUVyMllsM0t0Qk1MTmdLbytjZGVa?=
 =?utf-8?B?NmxwUHlhdVhiS09Yd1hPQlRUdkdHR2VsMFZFejRsL0RmMnJ2ZnRWNWlFVlBT?=
 =?utf-8?B?U2cxUTNHUVljMjdjd01BYloxU25UUFZUdVRuQ1kzdVc4dDNKNCtSSlRCcTJs?=
 =?utf-8?B?WjlETTVjQ3JCZktjSHVDYmR0QlZzbU1SZ0xQZEkyR3pDQTVJNks4TC9jeFpt?=
 =?utf-8?B?a1IxZ3dPQlUyQ1p4RjZHOVQ5YVVCUXNLV0NoQ0dGc2JDRFRFT1BTSlU0QU5h?=
 =?utf-8?B?bjJLc04wVy9mRUxra1ovcmV5UVdqRG8rQ1p0bmZuU2JJNDAvMFlwdy9qZlRI?=
 =?utf-8?B?OE9nbHBoQ1ZOTEtYUitidnpYcGZvSEN3OWdwejVEUUl5QlBobHpBd1cwMFUv?=
 =?utf-8?B?WFJNMEZwSWlLaHRZc29CMjZlZFd4SHBYVVc2V1pOTlZseHVCREJpWFozVDM2?=
 =?utf-8?B?d1c5M1JEZEsrK3pyNlVnZXUzOEFuV2Y4aDd0VlJRSVJma1hQTmFMMUdQcmxB?=
 =?utf-8?B?VVdYbWJCRk5OTGYraXc5Z0hzSnpRMjVETUlwQ0E4ZGtRR1BJMWNiT3RaMkVI?=
 =?utf-8?B?ejNSSzFORVh2MVR6TGtLSW1iREZJMElMQlpVVjM5S2VPVGNZU29nTnRPOTU1?=
 =?utf-8?B?SHFxdTMvT096RHVCM01CRWQrb3czcnBkcHNxK3Q4ekhrUWJIQlllMFFRSVJu?=
 =?utf-8?B?SThtd2JJMDBUc1RYVmlIelg1Q0daR1dZKzZpWFFaUlR2aEFhQk1ydTkyUHZk?=
 =?utf-8?B?bzgxOTRoYUVjVUVONERRSDF1bGRtamxYaEJwa0dwM3BxQWNjaEtNWi9Delhy?=
 =?utf-8?B?WlBlZzAyc0ZEVnBORlNTYk9RUkx2U3JKMCt0Umhaejg5SmZrc1JvckJlZVR4?=
 =?utf-8?B?RDE4ZUNaS3YvL2R0VHNKWlB0UHpKYzlrQzBueDlob2lHd2JFenFrVXlHL0hK?=
 =?utf-8?B?L2lnUmtuRVFYZ3d1WDAvdWxHTllNNUxVZXhIN2RiRTNHeHdvR1hsMUFhb1Jm?=
 =?utf-8?B?WE1XR3ZPTjdXR3NqZmc4ZUUvTWdPUWRUd0Z3Wno2T3ZjbUZDZTJhZ1EvUk5D?=
 =?utf-8?B?ckx3Y0VETEl2aDR5Ry9VRzcwbEU1ckdwaFg4ZUhoUm9jMFkyYUlZeDZiTlBr?=
 =?utf-8?B?MFl6NlFsMlpBRnlDVDZKaW93S1JSTU9kSmdzMHkvOTA4TjdCM0NYMEdXbW9m?=
 =?utf-8?B?bDYrdmRRUktxTHpQWWxnbSthb0Y2VmowMC91ZUJmS1htUVRIRDkxRGEydHdp?=
 =?utf-8?B?S3I0azZMYWxCZjBJSVBpUEJ4Z25Dd0RaUVh5VC9YcmxaeW9GZFQ2Y1Fnendm?=
 =?utf-8?B?TzRwUnpXNEo3QjVnbkZ1VHJWQ25mdC9VZy9sbjE4cllyL2VkWUdPVys5UjZ1?=
 =?utf-8?Q?nzAulJ9Er/mfRARAzquLKg/Qb?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa259233-440a-4ccd-497a-08dd6c622118
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 12:31:27.5556
 (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: OKN890fkhkd9HrKtCXu4lrSxCxe+Rpno0A2I1A/aL2MUbmL8FVvX+55Zq2GQGGsA
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4328



On 26/03/2025 12:41, Andrew Cooper wrote:
> 
> 
> On 26/03/2025 11:39 am, Jan Beulich wrote:
>> copy_to_guest() returns the number of bytes not copied; that's not what
>> the function should return to its caller though. Convert to returning
>> -EFAULT instead.
>>
>> Fixes: 86039f2e8c20 ("xen/arm: vpl011: Add a new domctl API to initialize vpl011")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:43:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:43:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927757.1330481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txQ6A-00017K-5r; Wed, 26 Mar 2025 12:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927757.1330481; Wed, 26 Mar 2025 12:43: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 1txQ6A-00017D-3L; Wed, 26 Mar 2025 12:43:10 +0000
Received: by outflank-mailman (input) for mailman id 927757;
 Wed, 26 Mar 2025 12:43: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=k+Jq=WN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txQ68-000177-RB
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:43:08 +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 dda75bb8-0a3f-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 13:43:06 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e61d91a087so10348164a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 05:43:06 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb6588esm1033253566b.90.2025.03.26.05.43.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 05:43: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: dda75bb8-0a3f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1742992986; x=1743597786; 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=zKkqede1vXVof7Aw99IRVBA+q2UKQ52Ux/ErfalGtmE=;
        b=UwglvJtBeuWiHU9tEcaaAqEEp1PsXv5tHOiR8tY+tTes+rDDNHsH8yfDxxQ2XRBDeW
         3uSJHxH4yw1YatVJqs0yWvhK17e4Cg5aQ+EMK5c2bnSeTp0WcHa8RSY80aHhVLsI7bzh
         84LUQiPSFaAeieVzNuIZIdofrmBUBgKiHv3jPYBZtjMWb2bb4l6AQcXIqYe+bq4wKU7O
         i00SmvXtrccitkf+nlAKqFN2Ckbe7m+tWrf0K0ZV2dBtubkdbT5HFkB/mFv7RsB+EBOR
         OxZtyypzxjVmZ6GYLrOKDd9hjjUy+rgF+LaDWsZo/npdsi/KohhN9tnlOSb/K3eBw3LC
         Ek8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742992986; x=1743597786;
        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=zKkqede1vXVof7Aw99IRVBA+q2UKQ52Ux/ErfalGtmE=;
        b=hMu3x8okemJSyFGbM8wwFSGpgncYl7ja/veg+1u38lFPrpI7Qnx9/cPB6sfhJIG+eW
         CztHjcgacd9FNWYe12sFguPI50HHS1C91ClZ4f+RE17hoOQ42eCVIXkwK1wlx/1dhOEn
         DFtvZdwUzsgHQYZEMo/yQgVjPEJsdpDVP+Q73xT3KMXWp9rFomf7D4wbBS/3HvghYlTu
         9baT1s3s3LEbwTiWuTg4b74U4B1Gx3R1sUn7+vr38I+GC16teZZG0UD6MTGtwZr5xaLL
         Jh/wKZWOskZBBCz72F2RQKhBumZJsckz7srCgQ78xCvJwo+7IQNsE+RD/dZ7HfOTxfDz
         wTdQ==
X-Gm-Message-State: AOJu0Yz5cnY6D3dr2byCIDtpr6gr8Lg0A9XhVrPodw7vaOCiHE0NXnwB
	34rwLvO3Xz8G1M7uQpocJpd39cCq6vLnbEzxf212wuTAZkjN+7DzZZLCGg==
X-Gm-Gg: ASbGncu4uTNnj+1rLMj2Z4LaCWrRLKHqLj6EfN4wAQzDSay/JrcKbXy/QjVxk7dP8p9
	StVZ+2jp5BvSbnYYOPQUpEtYGpyugpqizxoOjMhLDP5p3G7NzayFjAYIrDza/MaxkKwdqxKTGJr
	19jqHDOGne0xQkIA3fHaqVRExZAsrP5LOv00UW0dxBBZ6HS7I1Ycslp4La97MydBsxfzOHlcMvB
	Qd2Dv1BK7ZwhRM+sgIaAV3pJ0JEwV+2sbCuOZ+ClUtFVzlb/6lYjHzENYxKFTSQGZezfyG4TwSO
	umpa5WwwOTonmyLoCEq+IH16xa3UAPGNsLQGRoMV1lyuLoERUn9EX2jVf4o1q/wEQzX6rDX2jVV
	9uaT2BWihAuBLMg==
X-Google-Smtp-Source: AGHT+IE0d3CyOqYtTZRVJWmUa33rRgqAGCuTrnrl3pOoMMwDqSVY8HMSih2fBUMiy0CZsZjCkEYGDg==
X-Received: by 2002:a17:907:c5c9:b0:ac4:3d8:2e90 with SMTP id a640c23a62f3a-ac403d83d5bmr1791846166b.13.1742992985526;
        Wed, 26 Mar 2025 05:43:05 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Milan Djokic <milandjokic1995@gmail.com>,
	Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>
Subject: [PATCH v3] xen/riscv: add H extenstion to -march
Date: Wed, 26 Mar 2025 13:42:42 +0100
Message-ID: <f03b414909751fd33bb42e984812396289b83b9e.1742992635.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

H provides additional instructions and CSRs that control the new stage of
address translation and support hosting a guest OS in virtual S-mode
(VS-mode).

According to the Unprivileged Architecture (version 20240411) specification:
```
Table 74 summarizes the standardized extension names. The table also defines
the canonical order in which extension names must appear in the name string,
with top-to-bottom in table indicating first-to-last in the name string, e.g.,
RV32IMACV is legal, whereas RV32IMAVC is not.
```
According to Table 74, the h extension is placed last in the one-letter
extensions name part of the ISA string.

`h` is a standalone extension based on the patch [1] but it wasn't so
before.
As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
and for that version, h is still considered a prefix for the hypervisor
extension but the name of hypervisor extension must be more then 1 letter
extension, a workaround ( with using `hh` as an H extension name ) is
implemented as otherwise the following compilation error will occur:
 error: '-march=rv64gc_h_zbb_zihintpause': name of hypervisor extension
        must be more than 1 letter

After GCC version 13.1.0, the commit [1] introducing H extension support
allows us to drop the workaround with `hh` as hypervisor extension name
and use only one h in -march.

[1] https://github.com/gcc-mirror/gcc/commit/0cd11d301013af50a3fae0694c909952e94e20d5#diff-d6f7db0db31bfb339b01bec450f1b905381eb4730cc5ab2b2794971e34647d64R148

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Update the commit message.
 - Add one more check-extension macros to deal with gcc compiler versions
   [12.2.0 - 13.1.0).
---
Changes in v2:
 - Update the commit message.
 - Use check-extension macros to verify that 'H' extension is available.
   
   Also it works for clang.
   I verified this by compiling Xen with Clang-17 (the minimal necessary
   version for Xen, as RISC-V64 support for Clang starts from 17.0.0:
   f873029386("[BOLT] Add minimal RISC-V 64-bit support")).
   The changes can be found here:
   https://paste.vates.tech/?015af79b1e7413e6#3fsRb4QbjYDPseK7FU8wbaCWbsuu8xhANUmuChCfDoFD
---
 docs/misc/riscv/booting.txt |  4 ++++
 xen/arch/riscv/arch.mk      | 11 +++++++++--
 xen/arch/riscv/cpufeature.c |  1 +
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/docs/misc/riscv/booting.txt b/docs/misc/riscv/booting.txt
index cb4d79f12c..3a8474a27d 100644
--- a/docs/misc/riscv/booting.txt
+++ b/docs/misc/riscv/booting.txt
@@ -3,6 +3,10 @@ System requirements
 
 The following extensions are expected to be supported by a system on which
 Xen is run:
+- H:
+  Provides additional instructions and CSRs that control the new stage of
+  address translation and support hosting a guest OS in virtual S-mode
+  (VS-mode).
 - Zbb:
   RISC-V doesn't have a CLZ instruction in the base ISA.
   As a consequence, __builtin_ffs() emits a library call to ffs() on GCC,
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 236ea7c8a6..599544429f 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -9,7 +9,6 @@ riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
 riscv-march-$(CONFIG_RISCV_64) := rv64
 riscv-march-y += ima
 riscv-march-$(CONFIG_RISCV_ISA_C) += c
-riscv-march-y += _zicsr_zifencei_zbb
 
 riscv-generic-flags := $(riscv-abi-y) -march=$(subst $(space),,$(riscv-march-y))
 
@@ -25,10 +24,18 @@ $(eval $(1) := \
 	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
 endef
 
+h-insn := "hfence.gvma"
+$(call check-extension,h)
+
+ifneq ($(h),_h)
+hh-insn := "hfence.gvma"
+$(call check-extension,hh)
+endif
+
 zihintpause-insn := "pause"
 $(call check-extension,zihintpause)
 
-extensions := $(zihintpause)
+extensions := $(h) $(hh) $(zihintpause) _zicsr_zifencei_zbb
 
 extensions := $(subst $(space),,$(extensions))
 
diff --git a/xen/arch/riscv/cpufeature.c b/xen/arch/riscv/cpufeature.c
index bf09aa1170..5aafab0f49 100644
--- a/xen/arch/riscv/cpufeature.c
+++ b/xen/arch/riscv/cpufeature.c
@@ -146,6 +146,7 @@ static const struct riscv_isa_ext_data __initconst required_extensions[] = {
 #ifdef CONFIG_RISCV_ISA_C
     RISCV_ISA_EXT_DATA(c),
 #endif
+    RISCV_ISA_EXT_DATA(h),
     RISCV_ISA_EXT_DATA(zicsr),
     RISCV_ISA_EXT_DATA(zifencei),
     RISCV_ISA_EXT_DATA(zihintpause),
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:46:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:46:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927770.1330508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txQ9c-0001oF-Qb; Wed, 26 Mar 2025 12:46:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927770.1330508; Wed, 26 Mar 2025 12:46: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 1txQ9c-0001o8-MR; Wed, 26 Mar 2025 12:46:44 +0000
Received: by outflank-mailman (input) for mailman id 927770;
 Wed, 26 Mar 2025 12:46: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=Ly6i=WN=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1txQ9b-0001o2-U9
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:46:43 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5dbf8e3a-0a40-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 13:46:41 +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: 5dbf8e3a-0a40-11f0-9ffa-bf95429c2676
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1742993200;
	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=dP4pKI9DdiAPAA1Qe115sjRa5UlaNblibaMOzmAshvg=;
	b=n+R1pFPWz9k5ncKoLCDhAwRkDvuwXb/Y1ffN+p/T1xWjVsJ3kdu2IjvnQnkwSqufYpg0DF
	NeBS/zI6LZx5r32u1viZHFL/riinRKvm4CuLI5Tn+9NsF+1OXn2XvpwO8QsRS/+nAMjXaJ
	RPWRI2jP2M6TBQLZ9MrJ+Yygi+e1bsZMS30R3cq0QqIDvtsXXyCwwvHn35CZiVNR+gG4JN
	AO+d19XCP2jp2LBgdalzqdu0TsxQh6Fmg3MxHwaPAqAaKZHSYKmSQbebJpVgu7duIihzKD
	bTv/iWFO8Jyd8ZmyOadTtNmlmY6N4QUCX2JwNdlfVdTaqBdn300MgDjYYim3Xg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1742993200;
	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=dP4pKI9DdiAPAA1Qe115sjRa5UlaNblibaMOzmAshvg=;
	b=uuFW9Hg6GotTKz4G4HeII+TJyL0F9a12wiePIquBqioqtwID34dHlB3/bSPBp/p8tR7HtD
	XByX1YIPFGJ3MuDQ==
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>, Roger Pau
 =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Gomez <da.gomez@kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org, Bjorn Helgaas
 <bhelgaas@google.com>, 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>
Subject: Re: [PATCH] PCI/MSI: Handle the NOMASK flag correctly for all
 PCI/MSI backends
In-Reply-To: <f56cc306-3c80-45ce-9955-f7fd36defa4e@suse.com>
References: <20250320210741.GA1099701@bhelgaas>
 <846c80f8-b80f-49fd-8a50-3fe8a473b8ec@suse.com>
 <qn7fzggcj6qe6r6gdbwcz23pzdz2jx64aldccmsuheabhmjgrt@tawf5nfwuvw7>
 <Z-GbuiIYEdqVRsHj@macbook.local>
 <kp372led6jcryd4ubpyglc4h7b3erramgzsjl2slahxdk7w575@jganskuwkfvb>
 <Z-Gv6TG9dwKI-fvz@macbook.local> <87y0wtzg0z.ffs@tglx>
 <87v7rxzct0.ffs@tglx> <87iknwyp2o.ffs@tglx>
 <f56cc306-3c80-45ce-9955-f7fd36defa4e@suse.com>
Date: Wed, 26 Mar 2025 13:46:40 +0100
Message-ID: <87frj0yn67.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 26 2025 at 13:09, J=C3=BCrgen Gro=C3=9F wrote:
> On 26.03.25 13:05, Thomas Gleixner wrote:
>> The conversion of the XEN specific global variable pci_msi_ignore_mask t=
o a
>> MSI domain flag, missed the facts that:
>>=20
>>      1) Legacy architectures do not provide a interrupt domain
>>      2) Parent MSI domains do not necessarily have a domain info attached
>>=20=20=20=20=20
>> Both cases result in an unconditional NULL pointer dereference.
>>=20
>> Cure this by using the existing pci_msi_domain_supports() helper, which
>> handles all possible cases correctly.
>>=20
>> Fixes: c3164d2e0d18 ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI do=
main flag")
>> Reported-by: Daniel Gomez <da.gomez@kernel.org>
>> Reported-by: Borislav Petkov <bp@alien8.de>
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> Tested-by: Borislav Petkov <bp@alien8.de>
>> Tested-by: Daniel Gomez <da.gomez@kernel.org>
>
> As the patch introducing the problem went in via the Xen tree, should
> this fix go in via the Xen tree, too?

I'll queue it up now and send Linus a pull request.


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:54:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:54:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927779.1330517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txQGc-0004Ug-EY; Wed, 26 Mar 2025 12:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927779.1330517; Wed, 26 Mar 2025 12: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 1txQGc-0004UZ-Bx; Wed, 26 Mar 2025 12:53:58 +0000
Received: by outflank-mailman (input) for mailman id 927779;
 Wed, 26 Mar 2025 12: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=a+/s=WN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1txQGa-0004UT-OQ
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:53:56 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20614.outbound.protection.outlook.com
 [2a01:111:f403:2413::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e0e62e0-0a41-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 13:53:53 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS0PR12MB9347.namprd12.prod.outlook.com (2603:10b6:8:193::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 12:53:49 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 12:53: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: 5e0e62e0-0a41-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iCI+0tRdyJOQXeH6u6oIe5+CjSYRbJ9XEsa+0advFoUHGnCmWie7z0eNrMPeY8AJl+cRnp9vdY3+5M73G+15VbBRMBTpaIsqmDRhKywZyc2cbyqXDiAH02XMLtBLXcJI14AEGzYiINTzkTwidGyczQY+9IOx2p5qMFl1pOmUXMzjtelanxWY/6HhZroUxC5r5Tfl5Ii8S+T97gkbtrLWlBUsItAxcCd+nVKfuiia5fy5Te3SorjJJ1g/N7fE1pbxbPwi8g9r0Ph1mmacbQX+wxUWOZ870cT5OIsdGWJWvOpicpn2FyBbfaFMX3he7jVE22kBF+YWLIY19yfS5DTLBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jSVdtHq9L9L9ILq42plcHn8K4YwO7lvmIw42K3Yi0a0=;
 b=TklYGBwdcOhyljchHywJP5MjNDRuiOZdWpJFOobr+Z1S97nNxVnAPmEsdTSZRq1RYO9kMMEaCXDLDv5rVnpr9onU2iBCAaXiFqFyZrzsprGFyTbV9dWSmTK9xU/2VU0fFOUHgaytnVie5wtuqqYlpGCnhMonNA8FeXzRWlDd9gXFb1x/FuqfATpkn11BIDrAadfaTKKP8xFCfdB/Pkom/YbAt4RmFne9WYHkC4LnnrGvjYHkyOfKEpLAunW5da3LTSwLbZzYbVOtZUa71aJiVvCRU/3gn+Qo1zeDxbeFzfm2fa9zGk6ZuBhg3kJHkgvRo+J3CeDXdR+oZA/0SgKHQA==
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=jSVdtHq9L9L9ILq42plcHn8K4YwO7lvmIw42K3Yi0a0=;
 b=R1553ZXef1ZOdPAAXmp64bbScdbNLnT/K3yIyzJUPxMHaTXApb/E62Z4tRp4jq1pQwyUeHOzGlAlMrOmMFKkuVo9Za695eu/UjpB/efIA1ZjEf9r9DwRFX+QKsT+PK+IPKzKOJj8JWxRnT3IMw1c24+yoU+U+Ph8Y4ncR5XrImw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <7b6698a7-f9ea-4ffe-94cb-c30244bf8cc2@amd.com>
Date: Wed, 26 Mar 2025 13:53:45 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] ARM/vgic: Use for_each_set_bit() in
 vgic_mmio_write_sgir()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20250314212153.136154-1-andrew.cooper3@citrix.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250314212153.136154-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0335.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ea::15) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS0PR12MB9347:EE_
X-MS-Office365-Filtering-Correlation-Id: bcb59159-300a-4a3c-1bad-08dd6c6540eb
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?ZTB1M2NUcjlxQWdqSnJ3T293QTRWZU5DcmtKZ2R3K2RjQTlkWWFrdUZ2eFFU?=
 =?utf-8?B?ciswUlM5WlRleUhBNSt1emZxRnlvZC9KR1ZON0ZRaFVDSHIwL1A2LzIzc2Jy?=
 =?utf-8?B?dEpqRHAzOWlMNUZpMXFFWExSVkd2SUs4QzRPMTFFWThHVkZwdE0ySTlYQ3FX?=
 =?utf-8?B?RXZvNTU1MmNWT01GcFpGNnFkZDVPOHpmQ05pMmVVbGFVZks4UlVSOTFremVF?=
 =?utf-8?B?b3RGOFlCYWRKYUdNbitFMFowZHVMR2RWQ2p4bDhPV0JXKzNnV01IYXpWR0xJ?=
 =?utf-8?B?YjlWMENja0J4eFM3NktBUlRCcnBOaW1ZSFpmM29QOGdGZFZXTlZEdVdWQTNu?=
 =?utf-8?B?dVJIWWl3NXlmYVZQajJOb3d4LzU2YjBVNHZzU1RxeGJ4YTBJZWY3cjdVRjl3?=
 =?utf-8?B?N0xoOSt4S3pCRytnaWkvemZudk9Mc1JKWHFjbzBPODkwOHhkUG9wYXNuN0po?=
 =?utf-8?B?RDdhMzFHVmpkYVQ0aXE0bWRvRjR3R0RQU0lKWEFLdkd2dlF0ZFFSSkU5NFg3?=
 =?utf-8?B?ZEF6MnlmTHZCdDR3NmtpcGdNZ2VTSE1lMnNBR0c2dXh0d0V4T24wMDB4R1Vm?=
 =?utf-8?B?NVFLRUtjVFROL0tYb0cwUHN5eXhPc2UxY1pGT2JIN3k0c2hOeWY1V2FKRXQ1?=
 =?utf-8?B?RnZOKzJlRXZoeUNJM0M5S2lGZmNjQWVxM0Q4bXZKK3V3UnZMNisrUlVOTG5z?=
 =?utf-8?B?UGt4TEJaK2ZyU3h0MnI1ZGZHdTBOVERNME9YbHFlV2VvU21UUktNM09YV05t?=
 =?utf-8?B?ZDdZYThIenVsek1VRk5qOVozZE83M0VVZy9WamVvY1NNNDhSNWNIV09hNHFu?=
 =?utf-8?B?aVVWWU5ORmovY01xUWIyR2hFei82OXNhdDUvZ1VTdFhDbFIxSEkwN2RIa2Y0?=
 =?utf-8?B?U1VnSTdTMjJSL09YbWYwY3M5VUJnU3NXMmtiR3VGaDBtRm1mTmUrRVdpNkN1?=
 =?utf-8?B?eFZRV3Y5c05oV01OUTZQNU5mU3ZJY2JSQ1pIWE54NTJHRDIxcFQ1Y2ZYMjNQ?=
 =?utf-8?B?UHJGZDlPTzdwQW1sRWt5KzV2TGgxZXR0ZkJPMUo0VXcvdmNScEU1dlJWQWI2?=
 =?utf-8?B?WUdzMG5Fc1NNWllveEZaVlpiZmtkM2VSSVMra0p3L0huZVQrUGxLVWhzZ1pY?=
 =?utf-8?B?eHpNSVU5NGhrYjV4L2lpZzluVlRwYkI0Ym5ROVdVVFJtcVY5RHhrZVdwbTND?=
 =?utf-8?B?N1NNOEJQUFpnN3VkRzVYRzVmM0ZjVlN1NzYwODVUQklleERja3lCdlNYYnZp?=
 =?utf-8?B?OHpoUXl2L0YxVU1PaHlQRmVSazUzeS9Sb1dubEtJY0xmZDQwT1hQMGVRaENG?=
 =?utf-8?B?OTAxM2p6UUx3MkpVY2JEUGVvYzNPR2FzeEMvK3FDSlNKUGRNWXNKN2g2SDI3?=
 =?utf-8?B?aU9nSnVCY3AxMmp1bU04MVBZM1RRb01pNmQ3WDE4TnRNemxiTjE3MVo2WnFn?=
 =?utf-8?B?UmpDZ0pVNy9kZVZiR1JtcFlMc0dMSWJ5Q1NrRndiNU5lc3NNUjcyVHErcGRC?=
 =?utf-8?B?NG9mdFoxRi9hbERXUGo0THltdlhZeE1QS2V4czRLQjNpaE0wU0t4NGVocG9i?=
 =?utf-8?B?NkZNSlpnZitTbU40TWRDM2Q5anBnU0dPNC8wd3JqS0UrTUJmMG5BRzRtOWxv?=
 =?utf-8?B?TlVvY1l1UlExTS9qMW1BSW9USU10dk1jK005V01rMnl5VjJzdUhFSG9CVHJT?=
 =?utf-8?B?K2dPc3JhdGZ1RFJVTlpqc0NIWTRSdHNqSUQrNVg5U25wMG9YeURqUDZrWjdU?=
 =?utf-8?B?QkExV3dYOVk1TnlERTNiSDE1MVY3aUdrT25zUVhYNW1yckZuZm5vcDdaakdp?=
 =?utf-8?B?NlYvdE8zb3Y5OHZqNmtJQ1FCQjQva1ZkQ3ZJUkdKdEZreU9vN09EVXNNUGJC?=
 =?utf-8?Q?BEkvrCOzTeCki?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?N3B3QXo5UEwzVDQxcU5rK3J3Vm9EbHlvZFR0MnJoK3dsSG5lZmV6U0p5RVJH?=
 =?utf-8?B?K2JmbEVJWDRJTnlYOVhMT2tuOW5idzVuUC9LNlBYSjdzMVd4WWxCSXdjK3l5?=
 =?utf-8?B?NUxWUVhqbXFxZi93M0VsY0VDaU5SVHFxNnBrdkVhTTlPRzFNMkhXblRLblkr?=
 =?utf-8?B?RnRqWW45TmpTcWxKcDFXN2pNb3YydEllSzJMbCt6WUE2cmhZUVU2ZzZUdHlr?=
 =?utf-8?B?QmxFYnBKY3pwUVU0YlFjVEJaYzFUclBGWCtwM0t0eXk4MFh6K1hkOVcwbmVD?=
 =?utf-8?B?dWdSS1RqeG90MG5HdDRKamJ1cjl4WXVUSElETUplVWFZYnc5ZEdYdVFoOFVY?=
 =?utf-8?B?OXRYWTV3bHFoQ0tIQ2dvZTI0MnRLblFjQ1J1eFFoQTdWN0xXVlo0MUIzc1FN?=
 =?utf-8?B?OUdiMExrTjVzanNxSXFzbkpKeXB3MG9BT0JFRHVUTVZBRXY2Vjdla2ZVZ2g5?=
 =?utf-8?B?MUdNV3kvcUJTU2NoOTg0bTJnbGVDVEFjNXlHLy9KbnZMeDFKL3BFd3ZqakdS?=
 =?utf-8?B?eDNPTCtuYkFVSHVJRU5MSFhtYlpGeTY3WVRpL0NYT1dmRnZDUHFxZzRRVFIx?=
 =?utf-8?B?RlRyRVRZU0l1elZMb0hNcDhCaUM0cVhrSkpVR0YrTVBGTTRZL3VJelpEZHBn?=
 =?utf-8?B?NmhlUFZNb09XTE5lTFc0RTZROGdKbVdLVjhDMDNCeXk1cWpjYm40ekhDS1NI?=
 =?utf-8?B?NlR4MTI4QTAwNThFeGRGN0xQUXpST0lDdjkyVm9VaW9rME1aMmVjbUFrR1ov?=
 =?utf-8?B?ZDBoWkhVaU5xMldGV1d3WEFjMXFDOE5ISEdQa0xkRUlLSHZxWW4yWThuY0k2?=
 =?utf-8?B?YWdQN3ZCOEpLUVNRUFBRbis3SEhPejJoNE5PYnFpQU53ci93d1FSOEEyZ096?=
 =?utf-8?B?dTRSU1VNdnYwYThzK3o4Z3RrcnJQY2FXcjcxcnB5K0IzdVQ5Q0RlT0FxNmxH?=
 =?utf-8?B?MVVkTHZjOXlnRXVJY3hwY1QwTktzZnJjWXd2OWpkeWt2ZkUrbEVuM2dheDFU?=
 =?utf-8?B?Skk3OVhkSFRWRVZabDFXbFpXbk13V0VyYWVvSUlRdEU3ek5mUXdoZDUyR1VR?=
 =?utf-8?B?enRLQm45bUdHV3VSZERzNmZ0MndmbnNRNzB5UXZURmxPVDhzbmI0RXVsc0Vz?=
 =?utf-8?B?cmkyNFNXVlJYZWlWa3pnZENEM0Rvcy9KRVljWXV6amduclBiUWNNL0oxNE5W?=
 =?utf-8?B?clpRL0czS0R4SEk1cDVjNW8xelJ2cEl6SHhScXMwRUtwcUpNdTFGZmJwdXpI?=
 =?utf-8?B?MDZad00xU2JDOG1pZklTaGw4Z1lTSURHMlFUd2JrNWhxdE1zTU13Y0ZObWxH?=
 =?utf-8?B?eDNQVldrSkNPblF5YXE2djltV0NXVlZ3dnRvamQ3RHMyS3VhV2pBYnZhMkZl?=
 =?utf-8?B?RmJvSDlOUTEzNy9RVzdYZlFQL1p3Wk5lRVk3ODdZcDdjUnFhenN1SkRUSUJL?=
 =?utf-8?B?WE1JTW8xYUFDVVBEVTFkVDZWMVpFMzc3K2w4ZWI3blZRVTUyd0pRV2xuR2J2?=
 =?utf-8?B?TFR0d2E0ZWc2R1Fsb1JNZ1ZodEJwRCtIVlR1SlZ3ZGxmdDE4b3JWMWRiMDBv?=
 =?utf-8?B?WHF6QnhGTDR5RFd0S0RCZ2pXOTJVQXlXZkp3blFvOXlxT1VrZUNvMzhxdld3?=
 =?utf-8?B?OTRTamtsZTBBQnNFTEtWTjY4cDVwSWNWNU45R25VNnJ3aDVzWmxNa1VQLzNw?=
 =?utf-8?B?TFdINDhyWE9kNy9kbW10SFRRbjliZGIxYlQxTkVWdkNYaUVySWZ6OGp5Vk05?=
 =?utf-8?B?aXdPVm8zM2RJZ1RDTjRvS0FRVVVDdjBkd2pMbDR6ZGxUQmZNSXRLV3FDZEta?=
 =?utf-8?B?bkdoTzcwSmorTXEzQXFCb3NHZkZzcmZzQ3djREdnalQyM3ZURW11TFhQZ2RI?=
 =?utf-8?B?WC8vazVRdk1NLzMwVHJ6bkFPN3N1aDZmYjI5VWpla3RXayt5VHZ1MEtxWUNF?=
 =?utf-8?B?VjBnTXI2S2pDeWhGN2dNVlllUi9zNnhaczBKYy9XK09sRmZicUZTVHp6TElI?=
 =?utf-8?B?Uld4enBVOUd5WDB3YW5ncG9jV2sxMVJvYUdGT0JNRWF1YWZQL2g1M1JwMUZ5?=
 =?utf-8?B?aktZdEp1MXhoT3pqWmxGMU1wcFZJOFFubFdIWmpINExQQW14R2g2SHhoZ2d1?=
 =?utf-8?Q?6sle6yAAV2lOj6nRLzVor7MtT?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bcb59159-300a-4a3c-1bad-08dd6c6540eb
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 12:53:49.5045
 (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: QyjrtjWRkA9aEzIVVbxpJ1CWtheRu4q9lJRO2x/YkF7rsIB3bdoaMNgLw7+tH43w
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9347



On 14/03/2025 22:21, Andrew Cooper wrote:
> 
> 
> The bitmap_for_each() expression only inspects the bottom 8 bits of targets.
> Change it's type to uint8_t and use for_each_set_bit() which is more efficient
> over scalars.
> 
> GICD_SGI_TARGET_LIST_MASK is 2 bits wide.  Two cases discard the prior
> calculation, and one case exits early.
NIT: I'd add ... calculation of targets. I had to read it couple times to
understand.

> 
> Therefore, move the GICD_SGI_TARGET_MASK calculation into the only case which
> wants it, and use MASK_EXTR() to simplify the expression.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> 
> v2:
>  * Split out of prior VGIC work as it's somewhat standalone.
>  * Leave the case labels as they were.
> ---
>  xen/arch/arm/vgic/vgic-mmio-v2.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mmio-v2.c
> index 670b335db2c3..da62a8078b5f 100644
> --- a/xen/arch/arm/vgic/vgic-mmio-v2.c
> +++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
> @@ -88,13 +88,12 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
>      struct domain *d = source_vcpu->domain;
>      unsigned int nr_vcpus = d->max_vcpus;
>      unsigned int intid = val & GICD_SGI_INTID_MASK;
> -    unsigned long targets = (val & GICD_SGI_TARGET_MASK) >>
> -                            GICD_SGI_TARGET_SHIFT;
> -    unsigned int vcpu_id;
> +    uint8_t targets = 0;
> 
>      switch ( val & GICD_SGI_TARGET_LIST_MASK )
>      {
>      case GICD_SGI_TARGET_LIST:                    /* as specified by targets */
> +        targets = MASK_EXTR(val, GICD_SGI_TARGET_MASK);
>          targets &= GENMASK(nr_vcpus - 1, 0);      /* limit to existing VCPUs */
>          break;
>      case GICD_SGI_TARGET_OTHERS:
> @@ -104,11 +103,12 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
>      case GICD_SGI_TARGET_SELF:                    /* this very vCPU only */
>          targets = (1U << source_vcpu->vcpu_id);
>          break;
> -    case 0x3:                                     /* reserved */
AFAICT 0x3 would not be even possible to trigger. It should have been 0x3<<24.

Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 12:59:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 12:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927791.1330528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txQML-00059c-68; Wed, 26 Mar 2025 12:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927791.1330528; Wed, 26 Mar 2025 12:59: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 1txQML-00059V-2s; Wed, 26 Mar 2025 12:59:53 +0000
Received: by outflank-mailman (input) for mailman id 927791;
 Wed, 26 Mar 2025 12:59: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txQMK-00059P-2P
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 12:59:52 +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 2ea75f8e-0a42-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 13:59:41 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-394780e98easo3890544f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 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-39ac3ce3dd1sm8232396f8f.88.2025.03.26.05.59.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 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: 2ea75f8e-0a42-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742993981; x=1743598781; 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=sMYKhDSvHuz6t/xpBRG1y5nN7OnEyQtFFqQkND6a3G8=;
        b=YpZJOZOUDkB610MY+Gz5iIMOgmFdf6YVfhk4OoseVBR+NPFQ6R1zAY5yspuSoxr9Yk
         edL2H7KsRC3SLi5SGkZxe5W0iDB3WOZswQbNKDULaaP5tEZWtq3qw9kXkymQ3Iuu+dAE
         lRr7ylOKXaM+kkeFhazRhw8EeAO0zXZwenBzWhe1u3VintV/SSPAMYLjm3ZGpQSuc9X6
         3OjsYD0xnNDb8+DUgfi0+fU07YXX71VEN89uGhcuhKRx1k3iM7STM2DVTRfibb7oDbnu
         oLaWoN+hx3H4RSXM8jonByU44ymAP58zox/WqUudiANzxIizu3MQGfkV8VXt7qdBOKO0
         j39g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742993981; x=1743598781;
        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=sMYKhDSvHuz6t/xpBRG1y5nN7OnEyQtFFqQkND6a3G8=;
        b=DLZruAXikXYKUzhsktkTZbVoJhIvWnUCNTWzcTOdTvwyVUo6wc055QrQ2UZFyCNe70
         HH8FWLO/mKPFuouoOGiZdlLXR0ZeFs2g92v+GkNSzsE35m5h3gzORYhLykIpUt88HSW9
         O80T/D6Oz3yy3TkxGdJPi3ZC+xZw7h6Y/pFecWWuchatyJqzBd9ymU6AWwi9f5YI6MfR
         yOkUuh+jckSZAIi8Kol1XCcRebMSGwEUHCYlLaAAxadVKiAJgL9ett9rOuzYDENxig36
         A0svLQWd5Ahx7XXmRWSomO29jw1/StI+mGYIVhNNHLLL6Zdw7QagCTXlZCoD8MGYLHGH
         4nvQ==
X-Forwarded-Encrypted: i=1; AJvYcCVOs7BG1qxbjh0nKjGIcnMzFBB6O282Zpa1SLlqj8JeGuDdEZa/DR6m0WzIfH9iOHV/bMyv7UuNusU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw7VZhW9bW+doQ9jaRwu90T8LVoVOeNfemEw1nbn9UT0hNszLAx
	P84rAX2T+BolJNEjjbl2DgnZ0mnvayy9unB9WXRnwk3yPalWmcHD61s6hFKuLQ==
X-Gm-Gg: ASbGncvnkjpMYQqlOQWlGfRvB4WzJMV1WmWK8Fzu/MpefBaaU6TYfK/PAwiptl4Ju5e
	5sgRygoHdzAGC6Sj7nkCflYe8epR9VClJHJkafD0QnGchGRv3uQflxUvLCB80VSwDt6yt4+SKva
	ykoZElG8fmruK93dxgL1lmF3m8gFD+W6/5dsK2IczhWdmJfsQdiVAIe5ZnLhpm3R1QyKde0bPBQ
	hALBNxW3PbFtYH2lTrtmUeXUhNi/jYco+pTQg4jIQHdvCcG18dCZ8qb2+k75jw5Pfk8kXIUXHNa
	lDQrJ3T4GKa0ZWTmDonLe1yYmae0DTdRyJ/56UxMrlLKUpfbLN4Z3q/e3fSe1aAZLHcEkjHzJrw
	UmOVk3IcnyICKR9tsPsC7XALv5jbpmg==
X-Google-Smtp-Source: AGHT+IFzdpi/2oMwWRYThQ4yRji4fQb0BtnjF6KjpYFKzYWz3IwVE6NsBXGcF8S+/uSK0A/jcaKvyw==
X-Received: by 2002:a5d:59ab:0:b0:38f:2ffc:1e99 with SMTP id ffacd0b85a97d-3997f938665mr17776687f8f.49.1742993981010;
        Wed, 26 Mar 2025 05:59:41 -0700 (PDT)
Message-ID: <300cb770-ec55-4ea5-b917-c21b6e87d320@suse.com>
Date: Wed, 26 Mar 2025 13:59:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/riscv: add H extenstion to -march
To: 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Milan Djokic <milandjokic1995@gmail.com>,
 Slavisa Petrovic <Slavisa.Petrovic@rt-rk.com>, xen-devel@lists.xenproject.org
References: <f03b414909751fd33bb42e984812396289b83b9e.1742992635.git.oleksii.kurochko@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: <f03b414909751fd33bb42e984812396289b83b9e.1742992635.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 13:42, Oleksii Kurochko wrote:
> H provides additional instructions and CSRs that control the new stage of
> address translation and support hosting a guest OS in virtual S-mode
> (VS-mode).
> 
> According to the Unprivileged Architecture (version 20240411) specification:
> ```
> Table 74 summarizes the standardized extension names. The table also defines
> the canonical order in which extension names must appear in the name string,
> with top-to-bottom in table indicating first-to-last in the name string, e.g.,
> RV32IMACV is legal, whereas RV32IMAVC is not.
> ```
> According to Table 74, the h extension is placed last in the one-letter
> extensions name part of the ISA string.
> 
> `h` is a standalone extension based on the patch [1] but it wasn't so
> before.
> As the minimal supported GCC version to build Xen for RISC-V is 12.2.0,
> and for that version, h is still considered a prefix for the hypervisor
> extension but the name of hypervisor extension must be more then 1 letter
> extension, a workaround ( with using `hh` as an H extension name ) is
> implemented as otherwise the following compilation error will occur:
>  error: '-march=rv64gc_h_zbb_zihintpause': name of hypervisor extension
>         must be more than 1 letter
> 
> After GCC version 13.1.0, the commit [1] introducing H extension support
> allows us to drop the workaround with `hh` as hypervisor extension name
> and use only one h in -march.
> 
> [1] https://github.com/gcc-mirror/gcc/commit/0cd11d301013af50a3fae0694c909952e94e20d5#diff-d6f7db0db31bfb339b01bec450f1b905381eb4730cc5ab2b2794971e34647d64R148
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 26 13:44:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 13:44:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927802.1330537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txR3l-0007pa-8F; Wed, 26 Mar 2025 13:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927802.1330537; Wed, 26 Mar 2025 13:44: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 1txR3l-0007pT-5N; Wed, 26 Mar 2025 13:44:45 +0000
Received: by outflank-mailman (input) for mailman id 927802;
 Wed, 26 Mar 2025 13:44: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txR3k-0007pN-37
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 13:44:44 +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 781abc57-0a48-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 14:44:41 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-391342fc148so4769956f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 06:44: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-43d82f3235asm2478125e9.31.2025.03.26.06.44.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 06:44: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: 781abc57-0a48-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742996681; x=1743601481; 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=WEctQAVJ92zI9uGPDt2pFR4Cswu03XEpUN5mUbHVcRs=;
        b=DpL6qRFAhMhF8+0sEX2e3TYrSYn7KxvRpgBWOUas5H8iXzHO72kYp7hsBv2YOoxL2E
         Zkcehk9k+SpIgfuaBmUl2WeIqtvCyKOaY9wpbY/qJoH3UXw5Sc8Q3dHkPP/S14Q3FEdx
         9jOvo71Kpc0OQB9OWCeL4BAhwetgMS7NS3F/soiN4WE7/cUcSLMSGn/RPaSXwUnO3vxO
         K8g2gU5eXLGlvVc5Ax0ueKUhKewTiDC+OdyzxakElCBdHe8YH9i6+By4gCxBeoHmR+I+
         IZi76c1FP5wpQDYs8jZ6RiG+2WHmVUsi0dmcv9ZbKjQOTcDyoYl98yj4GIzc4NPaXD8J
         Vmgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742996681; x=1743601481;
        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=WEctQAVJ92zI9uGPDt2pFR4Cswu03XEpUN5mUbHVcRs=;
        b=Jqz4ijWCcGATd8HYnTCpISy09ddwW/Zfr6vsqhVns119YNczFFCxzRovlp90uulsvL
         yfhFPNhBQkw/TSnjzi0Tva8xAuSW5npBMZwPZjOY7JvOCUr3N7UcsWxYZM9O6blKLTks
         GUEXnUeBXkNTvNXAKvvwiH8jdlMpKlntF2OsWiPoE1KKPVzKvUMk5umbYYUrQKFIdUvY
         lTOfZ30lyVhn/EkJQkakiJN6qNb1Fx8zU1gyuRtGPMyxfGXPsE/qdAWD5/NCgdziQd57
         z9LJXmNYBGR3jm5gsNPmIbOZxsOfi59TUmivP/5JUCFGUFeDTREXZU1ovvrcPJxg3lik
         PU1A==
X-Forwarded-Encrypted: i=1; AJvYcCV9GtAoGW376kIZA6alVNogZ6fzh1bdoUsNyWz8RwTw+5c3GksYFImNAg/T57HniBZug+7owP1Nebw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzsCn2kh+FdTxdSfQpYCAOw9/w+svUaxArH5D7QBBm9XFjtDHjp
	ei1n7go4cDtycbCC9nHA1agX1d+JHZXO1hOioE2HGYNOVRvqemEsc0vlL5bryQ==
X-Gm-Gg: ASbGncvFrmBoCmMmhpEFZMvHNU8Cqyys2U1pGBYTBvWj4q0f3mST2GLEO93l6FOhn+F
	BiYSG1l30GiaWUYHLSOtkFLx1nKgDzCH3tS0bda8aee1fhlIT/m+jVYhaAFyfTv1163CrXfuiRi
	XlDAg4cpaHqDjth1k86ZZXLrYV9sD33dDV8cg+WLFMwlbE84WUI8wS1kELaGZyoXVgq+zI7eAyG
	b2jZp5wg+W1gTE8noLJbIfipPxD0bDtnI8NvklUD9o26cjYgAYSNXU1kgcIUfMKv+R/wiyy/UWB
	LRltqgyAzyxwbdxJaqBS153NtgAjtpVoQ1kzaEcjBDrh/YxLA5vzjlN77B+hf2CQaWAKoY5GKFQ
	mJ6jWbJUuAjtSaL0n1LVYIK0GD8KF+A==
X-Google-Smtp-Source: AGHT+IEZKqeAK7t3LZT7GysIn1XUCJdCYbP8/D18JG3rDyQVPnFRd5kV26oFvZNvxXe5J1qLyhEfuw==
X-Received: by 2002:a05:6000:4188:b0:391:4999:776c with SMTP id ffacd0b85a97d-3997f932c74mr16264807f8f.40.1742996681215;
        Wed, 26 Mar 2025 06:44:41 -0700 (PDT)
Message-ID: <7a2f80b3-5018-4f15-973c-fe950a574b11@suse.com>
Date: Wed, 26 Mar 2025 14:44:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/8] xen/console: introduce console input permission
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-3-dmukhin@ford.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: <20250318233617.849903-3-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:36, dmkhn@proton.me wrote:
> @@ -564,10 +586,25 @@ static void __serial_rx(char c)
>          /* Deliver input to the PV shim console. */
>          rc = consoled_guest_tx(c);
>  
> -    if ( rc )
> +    switch ( rc )
> +    {
> +    case 0:
> +        break;
> +
> +    case -EBUSY:    /* Loopback mode */
> +    case -ENOSPC:   /* FIFO is full */
>          guest_printk(d,
>                       XENLOG_WARNING "failed to process console input: %d\n",
>                       rc);
> +        break;
> +
> +    default:
> +        d->console.input_allowed = false;

This aspect isn't mentioned / justified in the description, and I also
can't deduce why you would do so. Or to put it differently, why you'd
then not also take away input focus from this domain, for it no longer
being eligible to have focus.

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -512,7 +512,7 @@ struct domain
>      bool             auto_node_affinity;
>      /* Is this guest fully privileged (aka dom0)? */
>      bool             is_privileged;
> -    /* Can this guest access the Xen console? */
> +    /* XSM: permission to use HYPERCALL_console_io hypercall */
>      bool             is_console;
>      /* Is this guest being debugged by dom0? */
>      bool             debugger_attached;
> @@ -651,6 +651,12 @@ struct domain
>      unsigned int num_llc_colors;
>      const unsigned int *llc_colors;
>  #endif
> +
> +    /* Console settings. */
> +    struct {
> +        /* Permission to own physical console input. */
> +        bool input_allowed;
> +    } console;

Are further fields going to be added to this sub-struct? If not, is having
a sub-struct here actually worth it?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 13:52:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 13:52:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927811.1330548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRBV-0001vD-05; Wed, 26 Mar 2025 13:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927811.1330548; Wed, 26 Mar 2025 13:52: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 1txRBU-0001v6-Te; Wed, 26 Mar 2025 13:52:44 +0000
Received: by outflank-mailman (input) for mailman id 927811;
 Wed, 26 Mar 2025 13:52: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txRBT-0001v0-TR
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 13:52:43 +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 94838f33-0a49-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 14:52:39 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-39ac8e7688aso1648354f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 06:52: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-3997f99579bsm17106210f8f.19.2025.03.26.06.52.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 06: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: 94838f33-0a49-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742997158; x=1743601958; 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=ozfcPn1Sa0wlHDocChCTdPbjbsZwrzBuBCcmqZOvzb0=;
        b=cjdbOzV6UukzssB8/0/uEFD25+4QaEZ5UdZgAcKLGs7EyyzP2KfiMlx0p43M7H7CY6
         IGu18rgo8jJ1/7EIoUqUgP+fhTCUzBsyls3jdqJOcuJBSC8Su+8tkBf7njt2MVoSPBnH
         XvrbKjXeRYZnitATFm59JA4HMvUjxcwbur9zkYbsz0r4A+hLQ9e5q1vhHtI3oui65S8D
         N1nIlGe8T5TOiXzjnZ2wrFOprRaE/4FhwtfLMPCPBHQBrCXtwRE0cq8iqOTeEEqJ+UgZ
         SffDhU2RmvRk5e0+sfRWRN3IKAh3F4F8ip+Xq4lVzMU1eDCmnc5zO4uRy+dSiDLItU36
         +Taw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742997158; x=1743601958;
        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=ozfcPn1Sa0wlHDocChCTdPbjbsZwrzBuBCcmqZOvzb0=;
        b=gHZP/GQ9tYlo4RJDar0AFmRSqu2UNORVEzpsoNdklMJMbSMGfw9IfKbMN0x+4F9WdY
         +yEBwag5LhZhNqUNtZWQtzHXLd4o+aGJXvp6ypVgFku+CxSToIhaBXi8mjWQLjQu37+y
         TdhDgX5p8D/5GXcEtxdyElwLvBvNguC0SINTuEL8JEow8oKZaJBAypxTuSSZEaIA0JGI
         Ytq0nFZ6tPlcqJLnbti2puqCk3VLvA9jVpa69yqa9L17FpXigcA/TCXkIY4x8tiegsC8
         +k/2B2QMQSU489wRAbeAVE7hIDhFp6NRt2JgiNq4XyfGOJ32dr1vCxhv9/Yq+Qq+p/tP
         JN+w==
X-Forwarded-Encrypted: i=1; AJvYcCVHpEUdpnsaa6rr+/RpWu1ts7P7lPCQwvwnkOcfUc8t9ZuW2uqSj8Rt3pMzUFV/Dau3WVeYMLE3LFU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNLqPII6d+OiKNk1Uv8Es2RSoxJsu1NsbKL0meTVK4UZNTivqc
	Dw3PwhTEiBWfNREIXs3m5+Vp7xdi2pbL7sUm4FfUCkY6lIvooflkuncFSH5xrQ==
X-Gm-Gg: ASbGncvXBPOvOfAzWHwDGf5+081TkZXQgBCYs5C6u8bVYXRaG3n30cXfKW9zfDfXMf+
	gfjSbVdIXM69pIXRQZoPNTwSp2eFtlUB0GC5CIFwOcYxcxwbEHPArMAT/qKHdO3p0pqwGkEAkn1
	3YNUv4Ttan/OHnKGHVOFhxtsBX2wREaapJ1qAn+PHtszPcAdWTNKUxmytz+9ypXXeOrvcLcXIFH
	imIkwWZ+4DX6RD5UCsfFzHJl+TLOHVV2dajsrq8Ptwt4aCFyr4+Ke94UMHUMVkVgbmQFkbl8VmX
	Fhr5DvaVCr/60+IpM8iLDyclU6AtoIG9iyaxHam4BcnJetYNvxHuMsE2xvnTJp1spMroAh5OlvB
	eQhz6QEHFnUmL7jXXenSoQtuTM0chJYhmMT/L99TJ
X-Google-Smtp-Source: AGHT+IH0QTtXH/9TItLSD7dz2rY/UnAnlmrVYo67um4wBoc0O8d/Ww26kFIKkh38954z+DOP50C4zg==
X-Received: by 2002:a05:6000:1ac8:b0:391:4389:f36a with SMTP id ffacd0b85a97d-3997f937d54mr22349235f8f.48.1742997158268;
        Wed, 26 Mar 2025 06:52:38 -0700 (PDT)
Message-ID: <4d24b27a-df7c-45cc-85d4-a1dbc4057aac@suse.com>
Date: Wed, 26 Mar 2025 14:52:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/8] xen/domain: introduce domid_top
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-4-dmukhin@ford.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: <20250318233617.849903-4-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:36, dmkhn@proton.me wrote:
> Rename max_init_domid to domid_top to align with its usage in the code
> (Arm), where it represents the upper boundary of the non-system domain
> ID range.

I think I said before that I don't share this view of yours. The variable
is quite appropriately named; it's the further use you made of it in earlier
versions of work of yours in this area where the name ended up no longer
reflecting the purpose. Yet that's not a reason to change the name.

I'm unconvinced we actually need a variable tracking the largest known
non-system domain ID. The domain list is sorted, so obtaining that ID
should be reasonably easy and cheap without such a variable.

Furthermore such a variable would likely also need reducing when the
domain with the highest ID dies.

> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -472,7 +472,7 @@ static void cf_check dump_console_ring_key(unsigned char key)
>   */
>  static unsigned int __read_mostly console_rx = 0;
>  
> -#define max_console_rx (max_init_domid + 1)
> +#define max_console_rx (domid_top + 1)

This use in particular is bogus. The intention here is to permit console
access only to (some?) domains created during boot. Making a (conceptual)
change here would require separate justification.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 13:56:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 13:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927824.1330579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRF7-0002gj-Nv; Wed, 26 Mar 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 927824.1330579; Wed, 26 Mar 2025 13:56: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 1txRF7-0002gc-Ix; Wed, 26 Mar 2025 13:56:29 +0000
Received: by outflank-mailman (input) for mailman id 927824;
 Wed, 26 Mar 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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txRF6-0002gW-9F
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 13:56:28 +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 1c69f79d-0a4a-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 14:56:27 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so3661897f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 06:56: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-3997f9957d9sm16827029f8f.9.2025.03.26.06.56.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 06:56: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: 1c69f79d-0a4a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742997386; x=1743602186; 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=hTAURXrIYg+pgGyFJqihA3P7qspP6ZkkzTE7cCePTXQ=;
        b=AuIeic4vucGd3/8/FIZGb88Y8AgccTuhlhI06kDzHk1p0bz2/+Jo3TIAsluoOC9c0q
         ndUzNqtkpQ6gMfQAHkruV7FLsZix3PZPuhzCJMunFL9yEWZ+gqR8HgEOIS85aUIV/CoZ
         JtE3wt70BESt8qjELMDxYqNsHFt+AeVYRUxvHdPF48TeddIXEDixjlTjce9bsyGdD0XF
         xqCIW6uuMoIfQbao19vHnZNQ23WCVbeYpASDS2zFztzSGU8N7R0LzJMxxxuDgkLfVXRj
         m1GQqrilB51Ia4MfxLoRVTgLZDqKgNt61JxKafnBG2JTiB/7HsgNl2Kb19948L65uT0s
         0CKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742997386; x=1743602186;
        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=hTAURXrIYg+pgGyFJqihA3P7qspP6ZkkzTE7cCePTXQ=;
        b=W0k8/9+IioSYOrab0C6EYZ6ucYiIDkkOMphWvjcCSpfiQl0ktq5ycQ9/yyJ99jzV/n
         fgvNXYTwXc+aWfTdVXbwdJVWNVPRIzEhFJRM8Ei8SDLybF2H9jTkZqSB0AjXkhx8jrPk
         kw0R2oLSBDe2KKw3SQGy+fVKF8og2X5W2NZRvPAqUQL8A+oHagcEwcXXgf/bHH4bHMWA
         7BJlMMYH2NqKFDjEbKt4D95XDuEQ7adb9/1h8ijAH29G2VaD4q+TYQS77VtFPc9ko3ZB
         M9XQT5ifC149eSm8VAqIq9ck+nc7lAgbrYwbxA/oHlLkps557p1BjllWezUjRjTZYW0V
         fAFw==
X-Forwarded-Encrypted: i=1; AJvYcCXA97v06ZS4lDDo62f4GKntOE/+PXBZEuO7FhAMJDOxL5LoooyMi2CQBAJewXhPm9z/FThBAoeRNP4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzh4NuPWUkErQ85RxJ3ABTsaw2mH5BqaKDZ0JpcQjvQk+9MkAaM
	b2R0Gj1CUQBgcHeXBG6GBSZ1Z7SAJl4PU+JIfBTKy9JvhOieZK+6quEUdt4rdw==
X-Gm-Gg: ASbGncubRRwzjrEtc5pGLjf4T0TmRJkSwa2fMLzjqctffGgR9FG27tbkpHPzh6Qv42Q
	2tdACKVLOvY0+IaYAFjFwCSYWPc4+hw+LlpCQLZ6fWlvVsuYjA7DoMZ9v8KwKCqt/gWHvK8O4iZ
	WmUDbTkP7isz3wSjAsJrwxxMLmYE5pX1w+E6L2/WPgHx7Xcr/wD05FkjNDlOn3ofgLIburl30vA
	Hej5dUBcg0Dji/nqO8G0glvdld3ZH3D2THJN5UaSKC+ncpS2M+Yw2OduOuk8HhTtRyF/0FFECpM
	uq7JTqpAhpJfyeA6aPn1drGvae3AYiCbye5BKGmBklAnIfK93AKp0gMAGfaTS6t7g3LkkvWzOpt
	xFISc3NQuAnv3+Zvz5nDbpCTZSkqzEg==
X-Google-Smtp-Source: AGHT+IGWAcxGjJbRNF/SDlmTINXHnUjzL5WcQ2tFsgybH+4iuH+O54LdwIKfjlhYtBEf2cddqRJZ8A==
X-Received: by 2002:a05:6000:4012:b0:391:4674:b10f with SMTP id ffacd0b85a97d-3997f92d312mr17335151f8f.36.1742997386433;
        Wed, 26 Mar 2025 06:56:26 -0700 (PDT)
Message-ID: <141c8421-77fb-45fa-a892-94713c74113d@suse.com>
Date: Wed, 26 Mar 2025 14:56:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/8] xen/domain: introduce domid_alloc()
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-5-dmukhin@ford.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: <20250318233617.849903-5-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:36, dmkhn@proton.me wrote:
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2367,8 +2367,15 @@ void __init create_dom0(void)
>          .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>      };
>      unsigned int flags = CDF_privileged;
> +    domid_t domid;
>      int rc;
>  
> +    rc = domid_alloc(get_initial_domain_id());
> +    if ( rc < 0 )
> +        panic("Cannot use domain ID %d (rc = %d)\n",
> +              get_initial_domain_id(), rc);
> +    domid = rc;
> +
>      /* The vGIC for DOM0 is exactly emulating the hardware GIC */
>      dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
>      dom0_cfg.arch.nr_spis = VGIC_DEF_NR_SPIS;
> @@ -2391,19 +2398,21 @@ void __init create_dom0(void)
>      if ( !llc_coloring_enabled )
>          flags |= CDF_directmap;
>  
> -    dom0 = domain_create(0, &dom0_cfg, flags);
> +    dom0 = domain_create(domid, &dom0_cfg, flags);
>      if ( IS_ERR(dom0) )
> -        panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
> +        panic("Error creating domain %d (rc = %ld)\n", domid, PTR_ERR(dom0));
>  
>      if ( llc_coloring_enabled && (rc = dom0_set_llc_colors(dom0)) )
> -        panic("Error initializing LLC coloring for domain 0 (rc = %d)\n", rc);
> +        panic("Error initializing LLC coloring for domain %d (rc = %d)\n",
> +              domid, rc);
>  
>      if ( alloc_dom0_vcpu0(dom0) == NULL )
> -        panic("Error creating domain 0 vcpu0\n");
> +        panic("Error creating domain %d vcpu0\n", domid);
>  
>      rc = construct_dom0(dom0);
>      if ( rc )
> -        panic("Could not set up DOM0 guest OS (rc = %d)\n", rc);
> +        panic("Could not set up guest OS for domain %d (rc = %d)\n",
> +              domid, rc);
>  }

Assuming we really needed this new function, why would there be an Arm side
change to Dom0 creation, but no equivalent change on the x86 side?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 13:58:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 13:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927836.1330587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRHE-0003If-3s; Wed, 26 Mar 2025 13:58:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927836.1330587; Wed, 26 Mar 2025 13:58: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 1txRHE-0003IY-14; Wed, 26 Mar 2025 13:58:40 +0000
Received: by outflank-mailman (input) for mailman id 927836;
 Wed, 26 Mar 2025 13:58: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txRHD-0003IS-2M
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 13:58:39 +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 6a3c9b45-0a4a-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 14:58:37 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39149bccb69so6008008f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 06:58: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-43d82e835fesm2976965e9.10.2025.03.26.06.58.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 06:58: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: 6a3c9b45-0a4a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742997517; x=1743602317; 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=aX3BvjpLYZFBsAgHIOw41C81sxLWcztG5nPAt1XiwCk=;
        b=MJV0S535cyVRsC0MdxmCVGAWjjr8QJXnRBWtmccpsrQCvy8WN2CiUPLQ2bXtyHLklm
         jaZHOtvoEi5uZuGpqQgiBERzck9AyKocpnb16zDducfiaQQFX5riU7uyl/DnIxVDebo1
         x4NntzV8E99YuzYb1USZmM2O+IAtJ7vuGU81RLc9e+kc/AQ40pd8mp8JFbKJUzsu8RyQ
         r8h4P0A5GGu0+KHeU1k2xy6nSaEXmEWRNsZ0fYkIj4kVtiJUqu2WMF8ByFHDCj+UnF87
         tviB42xJDlC2PSccm7mViBSpquB2pynHRgqwZHTCg09zmpBNkCptCihS2SgpEptELnar
         cgSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742997517; x=1743602317;
        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=aX3BvjpLYZFBsAgHIOw41C81sxLWcztG5nPAt1XiwCk=;
        b=ZIIk0C6+10n0G6V4pqMdNI7clWplIucZV83g0fbZ5yAXbJBDU7pOaKXtlJeuqrS1DL
         Nv+CIgrZUAMSCBcGFluOo9QrW70gAa8op1zv8la0qFG8MWe6veMKiGeuGa7ydjEgw5OB
         VyK1v/aS3JXcvI4DRCEHD0mXQeylQc50e74HdvjfxgPVpJAOMpyZz3xIdBmCKYUz7KjM
         MlnzI5YQ8h+eQl+xth4DSCcJ9SUwlwrurutPhEZl1O3VAVOWJzUB01XcxZENxLPKloKl
         cTyYk60JZXCmYwHbas5p76MSfcWiZjJcuNmByf24Ad3Xhu3HRVgn8b9YvXhSZsbuDRrK
         XU7Q==
X-Forwarded-Encrypted: i=1; AJvYcCUNR587opG5e74rQfmz1rPBWjd6gCpTbSwu/3spJN6pmuX1BxycRYWA+9jR9IqZJE9i1su/tZqy3dQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzNDuCejPFmSRGpJeAlRbGSexi8NMvnVFH8EZRVnAdLTagbBzvi
	hbggOWKOyXAnLneOggU3tz5+aTWLVCU7PMmPbs/Ib17IYsLWoQfprsq01H4LAQ==
X-Gm-Gg: ASbGnctJppeOXPOJS39rKBYpNMp3uiWgyD95BMu7G4H1ynRK4c4mn8p7u7B/qI6dN9F
	sS/y/XHpBzuZjmBbqt/hjCNte8KObDBbWYKPQ+YlKURu6cDwFpcVr3SqFEsDF8WjdOTGg0yFagy
	MvhBR7YT+x7bkABSRLkOqP9tYd2qjs+Rrv4M9esIHulAXd8+ip//LbShu+Ghi5k1oqMrVOPSXH/
	D/Wy0jx9IQxi2itGt8pjluDWBufq3rnq70JsIygrZ2HNaf0ZbU6A2qfEOkB+5c89TFXTwqEnRFB
	Zl/yE8Uj2o8k4W4uk3ylclTZsSoygYyxNweBMjlM20qdvNahP1l/evUjW6sFBrWgDTQQZbFKtdH
	vHhiYJartKGiO+YSwQ6tkheoY5KbWOw==
X-Google-Smtp-Source: AGHT+IGj3fZIsIX55znbsulSqicDpGDSFLsXYgJDbZX3a5Yeo10UwYKvWPY1p0sErpS2v07BHyZprw==
X-Received: by 2002:a05:6000:1f87:b0:391:2ba9:4c59 with SMTP id ffacd0b85a97d-3997f93988amr20128056f8f.43.1742997516902;
        Wed, 26 Mar 2025 06:58:36 -0700 (PDT)
Message-ID: <6a322685-d5eb-49b2-8aab-3e03eead1553@suse.com>
Date: Wed, 26 Mar 2025 14:58:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 5/8] xen/console: rename switch_serial_input() to
 console_switch_focus()
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-6-dmukhin@ford.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: <20250318233617.849903-6-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:36, dmkhn@proton.me wrote:
> Update the name to emphasize the physical console input switch to a
> new owner domain following the naming notation in the console driver.
> 
> No functional change.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

While I don't strictly mind the change, I'd like to point out that ...

> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -511,7 +511,7 @@ static bool console_check_focus_by_id(domid_t domid)
>      return !!d;
>  }
>  
> -static void switch_serial_input(void)
> +static void console_switch_focus(void)

... unlike the description says, "input" isn't reflected at all in the new
name.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 13:59:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 13:59:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927843.1330597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRI5-0003nM-C0; Wed, 26 Mar 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 927843.1330597; Wed, 26 Mar 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 1txRI5-0003nF-9X; Wed, 26 Mar 2025 13:59:33 +0000
Received: by outflank-mailman (input) for mailman id 927843;
 Wed, 26 Mar 2025 13:59: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=PxEH=WN=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1txRI3-0003n2-TT
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 13:59:31 +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 86edeeb9-0a4a-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 14:59:26 +0100 (CET)
Received: from phl-compute-07.internal (phl-compute-07.phl.internal
 [10.202.2.47])
 by mailfout.stl.internal (Postfix) with ESMTP id C202D1140160;
 Wed, 26 Mar 2025 09:59:24 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-07.internal (MEProxy); Wed, 26 Mar 2025 09:59:25 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 26 Mar 2025 09:59:22 -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: 86edeeb9-0a4a-11f0-9ffa-bf95429c2676
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=1742997564;
	 x=1743083964; bh=W/FX7ohQ/5ZT9nYAekaJAdnJKpms/fZaHpPLyQzp93w=; b=
	uVa0g5LVgh+F1eNrk9m0NUqrXQ70cmnNeRNBHH7beItib9C+Xl46FuCK7aCBpnfQ
	KeWWCrTGxe8dUsZ1ktGsvfehPgNubudVQJJE612wtT79hOJNSsB5XDXX01ECErJC
	E0IKvXxwFIr47k2R5lubsSmSE60mv5OSQDuvGkHbigc42Ln+nu4RDZph5GTtR/I/
	4ckUsiT0lePbPvXGIOMvR7QLTlHNyFzLJOUzpnJGByixn5x6KiHsBa1ob8ANB/3a
	ouCtfcnO8Whbn6xWBT7TQ7I1NvBgY0fkWH109mxa/5ILDfnzyFd2+o9P6hye+WGv
	+03aKYBIZzSi5lRhZP+1PQ==
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=
	1742997564; x=1743083964; bh=W/FX7ohQ/5ZT9nYAekaJAdnJKpms/fZaHpP
	LyQzp93w=; b=trFMnLljfShmShB156yjl/TNED8011EgPTTNDJmYz2JfraLYTY1
	0ez3ow8eCp8tlFD8Fq7GoekRqEBuoCgSFq+Zt7dtzoX0/fU6H2lAgu44uBxjy7AG
	hmh1MJpdWiv+wGjgG/2lSBGmTxbF8j9qJJ6LwXITqW3V8lQMOvhLgFA31v3jBPT/
	p7lemuHlLLQXLnLeJo96QLqYPcsE+lKliyWIkI2jbQFOAac8xeTGoclaZEgJXrA8
	REQ9Ib8yLJ8yR8T5L4uxaI+mV7pKG3MZAqMth0OkfqMZVCpquUDaUVVfJTJ+3ekv
	c6RS355TtBkWP1OVl7KP+CBciTv5nuSvrOw==
X-ME-Sender: <xms:PAjkZyJIRTuBWC8x439dw_omlc6C88A__b2tDKL1W3ENa3K1ITXKWQ>
    <xme:PAjkZ6JenL51I2Axecz_Wca5C9q8CXSCfd2Ugml4n-riEwGyONXi_DLD6lb3EwbJW
    2oxmyUEBLCrgA>
X-ME-Received: <xmr:PAjkZysvUlYK3Zp0bpaDDNK-Aj8qwO6gygYEjZ41FN2Jfzv4NDO7F2ZFgGve7h_919Avj2XeJyfsdyOjq4-IKfOY46ZEvPpv3w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduieehjeduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepueekteetgefggfekudehteegieeljeejieeihfejgeevhfetgf
    fgteeuteetueetnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeelpdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopegrlhgvjhgrnhgurhhordhvrghllhgvjhhose
    gtlhhouhgurdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigv
    nhhprhhojhgvtghtrdhorhhgpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefse
    gtihhtrhhigidrtghomhdprhgtphhtthhopegrnhhthhhonhihrdhpvghrrghrugesvhgr
    thgvshdrthgvtghhpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegrmhgurdgtoh
    hmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehj
    uhhlihgvnhesgigvnhdrohhrghdprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrh
    higidrtghomhdprhgtphhtthhopehsshhtrggsvghllhhinhhisehkvghrnhgvlhdrohhr
    gh
X-ME-Proxy: <xmx:PAjkZ3Yj5qH6-xubYF58N9m6sKapJxAuRX8Qc6tYUKuY2N1n9AAGxA>
    <xmx:PAjkZ5bh5PPbdRJ487w1SGDXvuDO-MoLau7zmkH3xRjTuhXu9N4x7w>
    <xmx:PAjkZzBtTwYgKoeYi3Wsrvc88k1QofAYZkXehXkqWpxoGkke6uEyJg>
    <xmx:PAjkZ_YuyMYDiwWymMqdVt_7sxKLqvfsCFZ071fvu9nbw6vESzYiAw>
    <xmx:PAjkZ7kNQ1ZVCUQve3ubVBhhw2rG5xQ68tWyQjRQJI8wH5Jd-wItqfPR>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 26 Mar 2025 14:59:20 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] tools: Remove support for qemu-trad's battery reporting
Message-ID: <Z-QIOJax7of-y79f@mail-itl>
References: <20250325174110.467-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="9JNzTgQ/l6L/ioVg"
Content-Disposition: inline
In-Reply-To: <20250325174110.467-1-alejandro.vallejo@cloud.com>


--9JNzTgQ/l6L/ioVg
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 26 Mar 2025 14:59:20 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.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>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] tools: Remove support for qemu-trad's battery reporting

On Tue, Mar 25, 2025 at 05:41:10PM +0000, Alejandro Vallejo wrote:
> The way this undocumented feature works is via qemu-trad (who nobody
> uses anymore), by intercepting 3 magic PIOs. 0x88 is one of them, and
> it's probed by hvmloader as a means of detecting support for this (so,
> on qemu-upstream this check always fails). If hvmloader detects the
> feature, it appends an SSDT with AML inherited from some laptop ~20y
> ago. QEMU then communicates with a userspace daemon (xenpmd) via an
> undocumented xenstore key ("refreshbatterystatus") in order to report
> battery levels.
>=20
> Seeing how no one uses, mantains or cares about qemu-trad anymore, rip
> it all out. The hvmloader check, the SSDT generation logic and xenpmd.

Oh, I didn't know something like this existed!
We needed a feature like this, and solved it via extra kernel module +
PV-like interface to feed it with data from dom0:
https://github.com/QubesOS/qubes-dummy-psu/

I guess it doesn't make much sense for me to resurrect the old interface
and bring it to QEMU upstream, as I need the battery info in PVH too.
So, I'm fine with removing it as is.

> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> If this feature is truly wanted, it must be implemented in
> qemu-upstream. Ideally in a MUCH less roundabout way. And definitely
> without involving xenstore.

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

--9JNzTgQ/l6L/ioVg
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfkCDgACgkQ24/THMrX
1yxfzQf/cxFSm5+S81Qzk3jIpmox5DoY0f2/owTtjiHoTLFJQQhPiTbq8fiY/H/8
y0fG8L+wMIP4RnRZXa6NmI9m5ZzMxk7RVGCvlVahhCqrfHSviIY85soQAVREP8DS
hnSRCvlu6YCxWAwGFqpXV4fx3dbiakzZ+tITw1QFngDUth3YjNfeSMNTtxJ/l6dr
BcmRPwcvePQfti/sN21jC9uZhA+JBCYcg4zDgxZer2lOaY0hEg+/IIYaMatZzRqs
QTVDgf92yML1M3/4LjnbH8f3YGjb6A1Mu2BAWMfpn66ogwgK7neDdnXay+EZpmn+
5Qfcfq/Jc4X7RkCpTzQt1nMFS23lmA==
=FuQg
-----END PGP SIGNATURE-----

--9JNzTgQ/l6L/ioVg--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:01:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:01:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927851.1330607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRJU-0005LO-N1; Wed, 26 Mar 2025 14:01:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927851.1330607; Wed, 26 Mar 2025 14:01: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 1txRJU-0005LH-KC; Wed, 26 Mar 2025 14:01:00 +0000
Received: by outflank-mailman (input) for mailman id 927851;
 Wed, 26 Mar 2025 14:00: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txRJS-0005L7-Lj
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:00:58 +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 bd58ac23-0a4a-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 15:00:57 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso63630515e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 07:00: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-43d7ae6a319sm13803325e9.0.2025.03.26.07.00.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 07:00: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: bd58ac23-0a4a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742997656; x=1743602456; 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=J/YkBCNDG5AJayj0A2z2q3xg0RgGE5rehh637fLxSYs=;
        b=M2GYyhUJCbjpl/UotSs0N0LWPbX7sjih3z33e9IbA6JSbc9TSTjOEJ9KLjDrrxHNmK
         mUcUnqK5eyFtHzDgUmNMfhxSSb8C/xoNR+hIuIuEI3tMoLuYZ7jn69b6zac49g8FCUgD
         NjTVcaqkzd4zP7dIrWDaptF0RIHUeIYbIXKbW5QBdlCO4NPovRmMjxSsHV0G0XmvtMMj
         Hus/HVaoftTG5AFPgvNNfFbTRrhZZgC+7rTJS03oS6H3yIglz1SNVfbKQSfhQiq67inf
         lGXXv94dv79W34eJJjxZJxMvVZvbEe/mbTFOxSN05N775QgWmXGuwZ474qIsmaplmQst
         OoFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742997656; x=1743602456;
        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=J/YkBCNDG5AJayj0A2z2q3xg0RgGE5rehh637fLxSYs=;
        b=U2WvkigMs19fmM4WXdlFR7elpIkaIKLQu3B6rDENvDOh9wqDfAee+O006UdLV9pR3S
         NcYsDCSoerU06AwP2Y2B7UpaDCA1K/J2/BCBuf89euMGSk2MqPhX41a2WimikrS2ME8S
         m1aR/dRHdEZzV1KjSJhMzi+bDxIiof1fGgflHBEAX1/tdze8FD28Q4Qo87XHoyxHZTMW
         MBxPARVOju7hVCmxW6POEGGbDzhjpX1WORA3TTKBbz3WYRkH+wpMaFtB6I2bqFCDJh3m
         C7W5CI5Qnug2BO6pzuIlk6IurAp49L6Kw8O6znzQpihjVb0VWn9Ijy4ms2vSCTIme1Tp
         JOtA==
X-Forwarded-Encrypted: i=1; AJvYcCU9YyN3JCkuOfPW/P2ksOgW7SqNiScQasho4UFjv2ivtKG7qKNBf7wiVizJU5cwy9TpQLQvN5yVtWs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw2pKCUlqcCfGpTgUmpmsu0t2KmBgDcf9Fy6FoZQ9mtbc2xf2lc
	9WFx0RGIXEYd/p+uYGVRdHO5wE6X5QtN0WP/xw1IyKTWA1Npwd65irgjdXL18Q==
X-Gm-Gg: ASbGnctDe0sZFvBcunWunv770W42vyI4IEgq6n4pYmrKs9R7VkEIpxfwqS8ukJ8syyP
	9qtsEOLJYt7WKPquzmXBocE1geSl4TuzgEquSuFnLUAntPtWqTPn250la2quV11/SXcMpg46N9k
	DZR9+1LP04Z2BGvX+VN1hEEPzc3HccCYz4KrEVlJc+vV1iov9R5db8hsiwZxXnMaSh8+Ur0U5dh
	Ko7UUnn7GVzSFHIhb9LRyP6k8KOn3EoFuhnpaniH4bADw8zXd4KNcU1zWfgOfgz151xvnVnkQm7
	AWmIvX0rHtx9puJLBWGRHYjHay+KSG4xfTzuXyWnjm4Mh6EQZm3U5qsdCLL2ExCegfIF1r3DvZ0
	aalmm5gFFZuULrTOFyLGZONulz/aoEw==
X-Google-Smtp-Source: AGHT+IFQ8wXIvESNmKYHLYp6tjBzJTSQK2uSuR5ydyCCacQ5ezbAeeFLEP065r2ysITMQ0mB/EA6aQ==
X-Received: by 2002:a05:600c:154a:b0:43c:fa52:7d2d with SMTP id 5b1f17b1804b1-43d50a37825mr199162015e9.20.1742997656294;
        Wed, 26 Mar 2025 07:00:56 -0700 (PDT)
Message-ID: <3680cff3-5dc9-439d-a154-1abaee94c3ec@suse.com>
Date: Wed, 26 Mar 2025 15:00:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 6/8] xen/console: rename console_rx to console_focus
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-7-dmukhin@ford.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: <20250318233617.849903-7-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:36, dmkhn@proton.me wrote:
> Update the symbol name in preparation for the semantic change
> to the physical console input owner domain identifier.

As you say, no semantic change here just yet, but then ...

> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -465,12 +465,9 @@ static void cf_check dump_console_ring_key(unsigned char key)
>   * and the DomUs started from Xen at boot.
>   */
>  #define switch_code (opt_conswitch[0]-'a'+1)
> -/*
> - * console_rx=0 => input to xen
> - * console_rx=1 => input to dom0 (or the sole shim domain)
> - * console_rx=N => input to dom(N-1)
> - */

... this (correct) comment is replaced by ...

> -static unsigned int __read_mostly console_rx = 0;
> +
> +/* Console owner domain identifier. */

... this (right now) incorrect one.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:05:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927864.1330618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRO3-00075K-95; Wed, 26 Mar 2025 14:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927864.1330618; Wed, 26 Mar 2025 14:05: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 1txRO3-00075D-52; Wed, 26 Mar 2025 14:05:43 +0000
Received: by outflank-mailman (input) for mailman id 927864;
 Wed, 26 Mar 2025 14:05: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txRO2-000757-Dl
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:05: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 663fb15d-0a4b-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 15:05:40 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so54544625e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 07:05:40 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9e65e0sm17222226f8f.61.2025.03.26.07.05.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 07:05: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: 663fb15d-0a4b-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742997940; x=1743602740; 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=cafV8F5fk3ODPRuNl0QQ4xMCrm493oADg7WVkzKyP94=;
        b=X55/GwgUKbEqrZZfXTvKDu9H42NY8BOxoY/EnHEYOWWtDw85FsVqzCghTcrbyOLSq9
         /z6B++gnuXDFKJ6foEsjv8qcUqKr4JLO26rps7Tqm5Wsgob9RcJXSo3jsCu8FN/nnDzz
         4Zylcp7c/7np1ToIuiFpntFu8fwiq6X1nCRZw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742997940; x=1743602740;
        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=cafV8F5fk3ODPRuNl0QQ4xMCrm493oADg7WVkzKyP94=;
        b=MOV7GZAdNbkxEN+GVmTT5wxvm5nauPU5LWxUueGRSEww0eMArdXpmrBE0H3PUa7wzz
         LsX0jXbh/+mu+N7WCsjDkJWgp2Srec55fUa7gQOoJBylDeF0nsl+L52Eh2HVqIewlVri
         gzH8O4UgLPhlUUAzeT2Qu4QbVTSXvG7P8YJ4ueYAKaiHknHONKO0lGUH/reg/Z0cQIfr
         nimgb51aTj3zDZIhYDus9w+GqjCS0tzbXcSSBggm7Do8qG9glQXLln9b15EwVcRiYHa9
         ZItldoH44vnlwIKM4lGDW8USkIZaekxyyLjflrRNL+ztDQGW8Tje5Bdr0BJQeCJcbGuo
         ieAQ==
X-Forwarded-Encrypted: i=1; AJvYcCXFe6X8i5CsTw22/GRASplRrLv4r3ht6M8ThEMkX6P5kUtIPyK7m8miy5nCSIdh61WCye8IUsXbZS0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxAxGQblUGUhHgbE8pB1itS0qsUj2mtLUZBTlpTXqV8B5ApfkMk
	NTCYej3j37sdm614tgRB0PNxIjCmKqX+rnNh/dWjdVFNTWMVYcv2idcgLffhQfU=
X-Gm-Gg: ASbGnct9nPMLwoZu6OjAA8X1RpiElm49u/h5DO/CBC+XmCDEs45dTPcR8+5LgQSbAph
	z/QeVlAx6clY3HzYIxfoKR2PrR0KMLQRMa4aTzlZSzclCTQC1/teABHFlkK2Io+6HLFjdzRM4YF
	PnywhpebaXMCYeGKl6ttCwclDfD/t2ymQ6efMg37LCyZoRm8XkaEZ+tSBNEFqyAvUHr8U1+iB6J
	A2dg23j7qOgzKxd2ebtffdHO/jiVnV9YcxWPeeWVEFSfQ043evF/2uzM5HtlwunCYcBkpI3UHh2
	n4V/6guG25KGBptC/6NgkIco9V6k+Ipry25asiXW7Rk1EV+LVvHHYWpCwzHRyYjTtjgQhUZRruP
	sOoT4BWu6pQ==
X-Google-Smtp-Source: AGHT+IG31YQK0lns7bL8/SUBFauUDIRlLHFzcKIzZ3FizdMIvgjkQMisa+1tal4advrfyXA0AqLR4A==
X-Received: by 2002:a05:600c:5742:b0:43c:e70d:44f0 with SMTP id 5b1f17b1804b1-43d510fff60mr148133725e9.19.1742997938769;
        Wed, 26 Mar 2025 07:05:38 -0700 (PDT)
Message-ID: <936e7ebf-69e1-4854-87c5-340f56b9d432@citrix.com>
Date: Wed, 26 Mar 2025 14:05:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools: Remove support for qemu-trad's battery reporting
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 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>,
 Juergen Gross <jgross@suse.com>
References: <20250325174110.467-1-alejandro.vallejo@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: <20250325174110.467-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/03/2025 5:41 pm, Alejandro Vallejo wrote:
> The way this undocumented feature works is via qemu-trad (who nobody
> uses anymore), by intercepting 3 magic PIOs. 0x88 is one of them, and
> it's probed by hvmloader as a means of detecting support for this (so,
> on qemu-upstream this check always fails). If hvmloader detects the
> feature, it appends an SSDT with AML inherited from some laptop ~20y
> ago. QEMU then communicates with a userspace daemon (xenpmd) via an
> undocumented xenstore key ("refreshbatterystatus") in order to report
> battery levels.

Any chance we can make this less undocumented, even if it is a note
saying "removed now" ?

>
> Seeing how no one uses, mantains or cares about qemu-trad anymore, rip
> it all out. The hvmloader check, the SSDT generation logic and xenpmd.
>
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> If this feature is truly wanted, it must be implemented in
> qemu-upstream. Ideally in a MUCH less roundabout way. And definitely
> without involving xenstore.
> ---
>  .gitignore                      |   1 -
>  tools/Makefile                  |   1 -
>  tools/firmware/hvmloader/util.c |   7 -
>  tools/libacpi/Makefile          |   2 +-
>  tools/libacpi/build.c           |   9 -
>  tools/libacpi/libacpi.h         |   2 +-
>  tools/libacpi/ssdt_pm.asl       | 409 -------------------------
>  tools/xenpmd/Makefile           |  30 --
>  tools/xenpmd/xenpmd.c           | 525 --------------------------------
>  9 files changed, 2 insertions(+), 984 deletions(-)
>  delete mode 100644 tools/libacpi/ssdt_pm.asl
>  delete mode 100644 tools/xenpmd/Makefile
>  delete mode 100644 tools/xenpmd/xenpmd.c

I'm tempted to summarily ack this based on diffstat alone.

Juergen has expressed an interest in finally purging qemu-trad in this
release cycle, which I agree with.

If we're going to do this, then I suggest we delete qemu-trad first.Â 
Otherwise we are technically breaking something that someone might be using.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:28:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927881.1330628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRk6-0003db-3Q; Wed, 26 Mar 2025 14:28:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927881.1330628; Wed, 26 Mar 2025 14:28: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 1txRk6-0003dU-0O; Wed, 26 Mar 2025 14:28:30 +0000
Received: by outflank-mailman (input) for mailman id 927881;
 Wed, 26 Mar 2025 14:28: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=xqsS=WN=bounce.vates.tech=bounce-md_30504962.67e40f09.v1-f857a070052347869b8ebdefd7cbb21f@srs-se1.protection.inumbo.net>)
 id 1txRk4-0003dO-OB
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:28:29 +0000
Received: from mail134-16.atl141.mandrillapp.com
 (mail134-16.atl141.mandrillapp.com [198.2.134.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9442196c-0a4e-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 15:28:26 +0100 (CET)
Received: from pmta10.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail134-16.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4ZN8KP1Q62zB5p4tp
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 14:28:25 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f857a070052347869b8ebdefd7cbb21f; Wed, 26 Mar 2025 14:28: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: 9442196c-0a4e-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742999305; x=1743269305;
	bh=7dH2wLHLxegE/8xdNPeYL3cu3z4Ww2xvzXDXMPsgyU4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=Kbt3lLT2FIVp/CL3u942Fx/7O6NXdEv9qsMbpDL4tGmAn2gXryQutxOKJo0A8D6ZC
	 n2UFNmD11394Ig+AmUKI7I4D6TOUl18Ed8XkYIAqZ3r+p06H/8NWIS3B483NfQZjfL
	 r1qsphq1qijbmYockuLc/a7uhlMN3KfS9yp0VYefEgf/LaGLy0vKqbW2tn74saXrhE
	 jFJAvVkvnf7H0nJTQ7WvLiW6ApO1JfFLA36pRWzfabQWJm8dMKBKwED4zwtWwQRPyM
	 LT9D98rszFCM5JWB8QT35l79tTI9xehtWwcnbXdLEJtAk9fulRzea84p326M3bzw3U
	 lK3/D04N43z1w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742999305; x=1743259805; i=anthony.perard@vates.tech;
	bh=7dH2wLHLxegE/8xdNPeYL3cu3z4Ww2xvzXDXMPsgyU4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=RRY/kxc8Ju2yr8C/5EQEWFbfakp0nQWVFFZKBb0VBSvwUwTPN8eGBwMveOEX4iSgH
	 jbHcS8CNvoWd0ukZwwzMBmYYxeWfu0jBYqh/CD/szyJi1HbIB05FfGtpM1CNQ+clYA
	 mZhZbBHfr2ilfnJDAwr6lxGKQra4VWJd3Gyf18wijOvBGQAw2Vw8Dk2YCScq7bTwgW
	 qbyo51rue/VXm98YioLpjHy/ninqeMBdUNTQFXDUSm5LUkUCvxMo12ic3V4EG7092g
	 9d7d8LsmUuUpIiveYn6HnpMmUkvbRtDJBMl2ktF7Sj7jCb/RrQe7aIae6hEZg7sM6s
	 9P7pJDFZ92WRg==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH]=20automation:=20Avoid=20changing=20source=20files=20for=20randconfig=20tests?=
X-Mailer: git-send-email 2.39.5
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742999304138
To: xen-devel@lists.xenproject.org
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Doug Goldstein" <cardoe@cardoe.com>, "Stefano Stabellini" <sstabellini@kernel.org>
Message-Id: <20250326142754.5441-1-anthony.perard@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.f857a070052347869b8ebdefd7cbb21f?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250326:md
Date: Wed, 26 Mar 2025 14:28:25 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

We should avoid changing files from the source tree if we don't intend
to commit the result.

We don't really need to check if $EXTRA_FIXED_RANDCONFIG is empty so
add it to the temporary file in all cases.

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 automation/scripts/build | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/automation/scripts/build b/automation/scripts/build
index 522efe774e..8a3b8fb6b2 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -12,12 +12,12 @@ $cc --version
 # random config or default config
 if [[ "${RANDCONFIG}" == "y" ]]; then
 
-    # Append job-specific fixed configuration
-    if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
-        echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
-    fi
+    cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp
 
-    make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
+    # Append job-specific fixed configuration
+    echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/allrandom.config.tmp
+
+    make -j$(nproc) -C xen KCONFIG_ALLCONFIG=allrandom.config.tmp randconfig
 
     # RANDCONFIG implies HYPERVISOR_ONLY
     HYPERVISOR_ONLY="y"
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:28:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927887.1330637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRkX-00042y-AJ; Wed, 26 Mar 2025 14:28:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927887.1330637; Wed, 26 Mar 2025 14: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 1txRkX-00042r-6y; Wed, 26 Mar 2025 14:28:57 +0000
Received: by outflank-mailman (input) for mailman id 927887;
 Wed, 26 Mar 2025 14:28: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txRkV-0003uH-ST
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:28:55 +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 a4f444f0-0a4e-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 15:28:54 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-391342fc0b5so5273922f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 07:28: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-3997f9e6767sm17378192f8f.66.2025.03.26.07.28.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 07:28: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: a4f444f0-0a4e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742999333; x=1743604133; 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=BUfy8qftYVHn7/b16DFSQfFUOc8ljg2sj5ZAD9BLnrE=;
        b=FUISjdho1TkOTmKPZVwpy59ecMr/fvS7OtdN6J8svElbf0LKiblikPMulIM0q2xRmM
         SZY/JT2enm6eAgujp3j2g9uYfwmUU2q4Cb2X2ayRJ5VqqIPrd4e24uI4Ejgx4NMdFg/Y
         0JXa37ZONZk9dP8jy1u0OhcjGq3xj0b1IzG6DrMHOX1MlSPevlaYrgqh7PlUrAA8DMno
         Vl0g3HlG4Srinh5dRr0ujA6EnFCoqNKVCAyXkwfu/uFV9+qIt8aiKKc1U2zaHhtwxwxF
         y8KY07cPq9sgnzlhHoxDSATkCF+uhYL131M3UkDt4nHMMge/KbynrePDgHkjbNByAdOP
         CM3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742999333; x=1743604133;
        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=BUfy8qftYVHn7/b16DFSQfFUOc8ljg2sj5ZAD9BLnrE=;
        b=jQWsBCJ2xCuIBIjSwN+hD4FU0eicHdHJq6jhf7XwiAY2rNcxWnrWTn1RqlDaU4t+Jl
         fsBWFY99BUy7HV9F+801FtnczExveRl6mwiCoYdlgMOo/dGUhBZ49PsESyhRe6bh3Vho
         0ZU5qVFoh5IMXEfou4RlgCNI5xDfEe7WfJXwk6klUD9OizATvBB1BVmFrGDS8fCb1RKC
         1jbcH8RpCTajfw4WGz4ZjkXuFG6OGGmRsqivJMk9MmANuOmz6OepYh7vJCi33EuKPV8w
         ljpAXkkZRTENZOLHMJu7ZaljcTYX84jpix2xP/jC1lxYoReXe+pWaPumRuCb0rmNu7Nm
         ePlw==
X-Forwarded-Encrypted: i=1; AJvYcCUAVK8mCUekEx4lF8mU1B2voMRjjUQQOYqwXRniy8N5QxvZ2/+CSDU/qatmS6shx9Il/HGzoIvyo0E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YygOu+RT8MTONQBwuu6ANaQsW5ReqrUtHwL0HZqeLKaj07vum54
	p3uzQ9+sKQf6yhAUwyGQu0L6IbKmRPeIPZZlmxn5TqOurHA3VBOR1YyjZJn71w==
X-Gm-Gg: ASbGncuQkZHuocT4nrERvX4ewKM4vcXx2J7Bvm1PbnrQ5W190ZEc7BOBexthZ7n6tNX
	4PJlZjoQbJ+jeyZlBFl0uKNN+zxQtfgd/+iiH8W+bCqZnvfOVQQYrmIjQIl7Dq+m3fiUXrRI4aN
	+o7GIKEHemcF3GsKFevklGKBOm0Xqsjn9nRghpWRw0Kia7aJ49xxa4STjcwy6r9Vd1MnntCMD28
	m0AqeZ0+DD4TgBp2j4bCuGMS+p52musOQArLueNqnTKZk8y4aQT1ub1SEoyf39bSLsZ6OXv+xGW
	UlFdZQbMrj/e8kkNuvyURGMJZyQGd+dcSbV5djBE3JdBWq+4RrzWrQ6o8iUYjRH/d/crVDYEt8a
	5gxy8DOU2SWhtg0EsJLWBAqQtkKuJQQ==
X-Google-Smtp-Source: AGHT+IFVW/d9ZoN5MnRye5q81busFUlszje1JhW4SWbqYP3jjM/f4HiMEDk+OHAGii1SXIw13xnIkA==
X-Received: by 2002:a05:6000:1faf:b0:38f:577f:2f6d with SMTP id ffacd0b85a97d-3997f8f8bf3mr19492707f8f.2.1742999333415;
        Wed, 26 Mar 2025 07:28:53 -0700 (PDT)
Message-ID: <7ffe0195-6613-4133-85d4-269a9aca8e00@suse.com>
Date: Wed, 26 Mar 2025 15:28:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 7/8] xen/console: introduce console_set_focus()
To: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-8-dmukhin@ford.com>
 <ghk1LVqSlfRNlEVBf6gQ3AdtBxBBtVSHp_Q69C-vkC1y5wexc4AF-SYXzRIFOaIhnIFZsuAorjAWCRqDDsyb-x0mcVzn2fFS-KWzd3qaW-U=@proton.me>
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: <ghk1LVqSlfRNlEVBf6gQ3AdtBxBBtVSHp_Q69C-vkC1y5wexc4AF-SYXzRIFOaIhnIFZsuAorjAWCRqDDsyb-x0mcVzn2fFS-KWzd3qaW-U=@proton.me>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 20:53, Denis Mukhin wrote:
> On Tuesday, March 18th, 2025 at 4:37 PM, dmkhn@proton.me <dmkhn@proton.me> wrote:
>> +/*
>> + * Switch console focus.
>> + * Rotates input focus among Xen, dom0 and boot-time created domUs while
>> + * skipping switching serial input to non existing domains.
>> + */
>> +static void console_switch_focus(void)
>> +{
>> + const domid_t n = domid_top + 1;
>> + domid_t i = ( console_focus == DOMID_XEN )

Same issue here as ...

>> @@ -1158,8 +1145,8 @@ void __init console_endboot(void)
>> register_irq_keyhandler('G', &do_toggle_guest,
>> "toggle host/guest log level adjustment", 0);
>>
>> - / Serial input is directed to DOM0 by default. */
>> - console_switch_focus();
>> + if ( opt_conswitch[1] != 'x' )
>> + console_set_focus( get_initial_domain_id() );
> 
> Forgot to drop extra spaces around the function parameter.

... you noticed here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:29:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927892.1330648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRkl-0004QN-Ft; Wed, 26 Mar 2025 14:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927892.1330648; Wed, 26 Mar 2025 14: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 1txRkl-0004QG-DE; Wed, 26 Mar 2025 14:29:11 +0000
Received: by outflank-mailman (input) for mailman id 927892;
 Wed, 26 Mar 2025 14: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=/ewd=WN=bounce.vates.tech=bounce-md_30504962.67e40f30.v1-01eb9fc5f2164be6b9193a22c4edc3f9@srs-se1.protection.inumbo.net>)
 id 1txRkk-0003uH-BW
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:29:10 +0000
Received: from mail134-16.atl141.mandrillapp.com
 (mail134-16.atl141.mandrillapp.com [198.2.134.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab6b8ad6-0a4e-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 15:29:05 +0100 (CET)
Received: from pmta10.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail134-16.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4ZN8L84BmnzB5pcCD
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 14:29:04 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 01eb9fc5f2164be6b9193a22c4edc3f9; Wed, 26 Mar 2025 14:29: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: ab6b8ad6-0a4e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1742999344; x=1743269344;
	bh=eY1oVEpxOLdf54J5uK7qrk5FR4y9+Fa2bULSrs7a3Es=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=lNGnI39swTinGA0cD/lRLf1WpQGfF8UDWB2sswM/9e/gBtWJTi2dpiDMy17BhCSiR
	 fiJNWfnXD+Plw7LgMThF+c4nzBm/5azBpYg78C5x9pF958DgK3sjZ6Yun0Cej/yNhr
	 A1zVmBGo6ZgJchDQ4LvkulCrqd/Z7TNTGvvvPukxg/w1Gq6oJTM98dHVIghR1jaRCd
	 W0QmHFwvRMAQXuaArN2BE25JniU6XzIw0OqKyH5LKA/S9haskOVTdpk7IMI2BTf31h
	 yg/a2L+gAA4wwU6szzEtqFeu+IRmqa+YUBwVM2EdUVje+ZsPC603aUk2UulAPRKb2I
	 68ZSu1MM6R1mg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1742999344; x=1743259844; i=anthony.perard@vates.tech;
	bh=eY1oVEpxOLdf54J5uK7qrk5FR4y9+Fa2bULSrs7a3Es=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=Sa8RdRT3QKaYuN/aUjB46HKxmmSYI6zVbrxTYBDgGpaR7ziAlZOZcjRXJ8g7X7kqS
	 WaARJ9oCYfgxxa/cF1vsr1tcsEdJmeCGuFEzd5KemRrfDFE9sTcuU8OdOf2GS00o9r
	 bqiNqkza4DJMEClc+4Zz0sWbYoF0jVHVWH0kIV1plub/5X53By4nm8FuKxiZV3LyLF
	 IdHGMuwlB/ZGcNO7mXB/B+P/NZibE0wnkNSP9TY6O8o0Hq6hwJ1V5F+1y3WRv5Ja3j
	 i9vP79FTKvRcRIIeFE3z+rt3Kk9oX309v6GRviDBIRNOqBAwy8fHtux5Do5QnY9P95
	 nYTsv8vpjj04Q==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH]=20kconfig/randconfig:=20Remove=20non-existing=20config?=
X-Mailer: git-send-email 2.39.5
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1742999343805
To: xen-devel@lists.xenproject.org
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Doug Goldstein" <cardoe@cardoe.com>
Message-Id: <20250326142900.5630-1-anthony.perard@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.01eb9fc5f2164be6b9193a22c4edc3f9?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250326:md
Date: Wed, 26 Mar 2025 14:29:04 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

CONFIG_GCOV_FORMAT_AUTODETECT has been removed in 767e6c5fd55b.

Fixes: 767e6c5fd55b ("kconfig/gcov: remove gcc version choice from kconfig")
Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 xen/tools/kconfig/allrandom.config | 1 -
 1 file changed, 1 deletion(-)

diff --git a/xen/tools/kconfig/allrandom.config b/xen/tools/kconfig/allrandom.config
index c7753ac4ad..f04b589a80 100644
--- a/xen/tools/kconfig/allrandom.config
+++ b/xen/tools/kconfig/allrandom.config
@@ -1,3 +1,2 @@
 # Explicit option choices not subject to regular RANDCONFIG
 
-CONFIG_GCOV_FORMAT_AUTODETECT=y
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:31:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927905.1330658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRmc-0006lt-Rk; Wed, 26 Mar 2025 14:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927905.1330658; Wed, 26 Mar 2025 14:31: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 1txRmc-0006lm-Ol; Wed, 26 Mar 2025 14:31:06 +0000
Received: by outflank-mailman (input) for mailman id 927905;
 Wed, 26 Mar 2025 14:31: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txRma-0006lg-Ot
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:31:04 +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 f23bfd08-0a4e-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 15:31:03 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3912c09be7dso4603273f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 07:31:03 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9a31a7sm16699544f8f.23.2025.03.26.07.31.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 07:31: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: f23bfd08-0a4e-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1742999463; x=1743604263; 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=3vEokMRu3Gtd1Sk09JW+GmkgSqV9YNbaVsX4x21sOtA=;
        b=ZK5hq7pjI2vPITcJmZ7l12/ojrozUuMsoEUHxVkayTZdH0Op8qsSOn6Nbu7NdVWBxF
         rSfjZqDOukyYyFHaydHnPR8bTi1UykhzACQHQQNOsXPah4N7nHkaLEXV7oDtHHeRuslp
         xia6+JfGcN4ESiO0Q3MC5YHHzM8+Tv1KBzaKI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742999463; x=1743604263;
        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=3vEokMRu3Gtd1Sk09JW+GmkgSqV9YNbaVsX4x21sOtA=;
        b=N9I1wp0UD/kO2vPDuEB0F5VhwUTcDieaEt9k/izWoL4XALw5LDngXCVtJwSJq8Rfa2
         8jxcAc8M1hFqkv3HF27QNWwYuiqAVMO+nhfssPcC3ky3mClR/f40WGjD83HKoA8dM6RL
         eXZJdoryunZ7BIjLo1i1Xocsn/UgNGn98nKo5tCQI3y5EpasFaPPjqouVhiNm6h0UzmI
         +tp8chSP7uvkSzEjG3Q+ZwxtNsKNKF+L5rMNpDjeY2WnrJhsdNipik58gcPKdzDV07V+
         PDka/zb0MVRzwYvOWAFlPTofeR4rCC7TnVARbOeiAynQkvD49163O6Q3IMz16mgcWQDZ
         DHww==
X-Forwarded-Encrypted: i=1; AJvYcCWCSWW6aqQlaSXYZeLbsHGr6bBWe5M+bPJVshfVwxQkTLD3MqMEPSy+EUBXFQAvaCPqHSJpqkT98mI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywxlzf+ylAzcNdRBmj6ATmogjOlLuuedaKO8uD/oa/4UJIM8yPt
	+HELW2CIwtw2zrmFjZlf6bEN2mgTKtO7ozDDnzdKg7Vd8JrdaJUzF9jgJnntDJTlw0p0Y+GSgNq
	j94Y=
X-Gm-Gg: ASbGncuJm72t6kxV/2Rx9uWgjBq3p/mgvdNvmKa3wZ+lCQnVFwVMbaBDO+POrBWT2NM
	opojIPuwiNarRwG253EEnHVIFs79kaz25qSoAMg79cdVIzbixbXs1WTiCrdCQ/uXWgG8fdYmqi4
	fTl7aBM+9Lw4OXdqd8Q20rNTSKeeKq2HG7dK0PBYCnsaN5UDtms2pHtuYj5Gue9i54o3ffYlA0s
	nZ4v6dFbwnOw0dd0yQl9HuVHXGld514ZivtGnaDvUvdLK6+0nxLc3i6CNy3WAHmO44SewcoyKB8
	Bzwd08hpGpCQ+Em3nESEtdyrsq4c+KIDnbmsCrXd0y32iYKMk9SzBmqt7kzZu3h+oMhcvlvZyZp
	ELltYuo1lnDKhSJ6PBjk1
X-Google-Smtp-Source: AGHT+IFwfI9vihWGAcNADS+w/rqw9urgQZJzsLbMMboKlK4XefA4g3NCLWoaVxhciMNT1RDFmR+jMQ==
X-Received: by 2002:a5d:6d0c:0:b0:391:2ab1:d4c2 with SMTP id ffacd0b85a97d-3997f932f12mr16882004f8f.37.1742999463098;
        Wed, 26 Mar 2025 07:31:03 -0700 (PDT)
Message-ID: <90906ac1-5a02-43c5-a196-464fe5f7f07d@citrix.com>
Date: Wed, 26 Mar 2025 14:31:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] kconfig/randconfig: Remove non-existing config
To: Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>
References: <20250326142900.5630-1-anthony.perard@vates.tech>
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: <20250326142900.5630-1-anthony.perard@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26/03/2025 2:29 pm, Anthony PERARD wrote:
> CONFIG_GCOV_FORMAT_AUTODETECT has been removed in 767e6c5fd55b.
>
> Fixes: 767e6c5fd55b ("kconfig/gcov: remove gcc version choice from kconfig")
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:32:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:32:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927914.1330668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRnc-0007mO-4L; Wed, 26 Mar 2025 14:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927914.1330668; Wed, 26 Mar 2025 14:32: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 1txRnc-0007mH-0U; Wed, 26 Mar 2025 14:32:08 +0000
Received: by outflank-mailman (input) for mailman id 927914;
 Wed, 26 Mar 2025 14:32: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txRnb-00075K-Ee
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:32:07 +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 174a9325-0a4f-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 15:32:05 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so45726995e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 07:32: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-43d830f5b41sm3741605e9.27.2025.03.26.07.32.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 07:32: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: 174a9325-0a4f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1742999525; x=1743604325; 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=Rs47t0LiX9/ghEzUBn5tRSEWz2mfQnNRpiMULrtdb7g=;
        b=IKD4LSWdsVbWadTb9O6wCSeoIoixXrEDYxi9lJV2aOhdQrDUPgPS3n5+PCg1sN0Cks
         N99ZTViYAkvpr4aS8ZVFxJbemIMfifkZ/tiNzV9213mMCuTt0qa+QQNbkwz/1aNJLxu1
         mOY9KRG1rXHXdxCzb2mmQQnJhnDIZtKsb032FhRynXun+8tFfz6w/TU+D4CWK1BQeLtM
         SYvtQBYEgovpPhsB5vYXfTJ2ldtTlOaI0SmEpTayAlYC4Hi3WeLc6KQpZp6Bpv4e/fvB
         80BpfyJHdR6obXjyyxhRw6DbPJXqqJGGh6oFg85zJA79jsit8gcAjfSwO6+Zs+93tIbj
         vvAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1742999525; x=1743604325;
        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=Rs47t0LiX9/ghEzUBn5tRSEWz2mfQnNRpiMULrtdb7g=;
        b=XqFSY+lwsdcZX3184nBhP2Sq4hiFCrUGb3fnwrmbnOIF9jwBpnMTemx1+6TuP1qu5j
         1V5FPYCmhXY8AnoffKCT7aCeB9HinTiOkfnEBNJPLFlAZyhc+tJaI5gNY7RtOoDBsBDf
         G5TYZb7IpG2hHQr4yLKidKqIQH/QmUTevaI3BsKpxtUBREDvJDx5gkq1r3EmDKPGoHIM
         R8dQS8LxZU6CMWWvUFfmScPtBBHyw2wnUHp5EAU/vBRBoAHXH7A3V6c3BAN9BA9MEzub
         VF5couKdX31H28+TMaP3wyKfndTGqIJTd+HG91oFT46YChJwSGvyAUfRo07kd32q/MD0
         zUBQ==
X-Forwarded-Encrypted: i=1; AJvYcCUKZUpF5YqlgQV69gdF+eBvz76A+KV7/jon/cLhZ3PHx6tCz4BX/lDdOWfHWsFAy6WO4wa8ZpR4dgc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy272HyM/96ld8aIaY2Yj+JYDQMk1FlHy2xkmIkkibi5HGvamQp
	QsG6QdcxJzs2ec3QyFqSyl5LLRcqeRnLw1f9PwZ+Z8fm++gWtRtsoAysJsbzg1oBmZHPwbSPWY0
	=
X-Gm-Gg: ASbGnctW+xwzBHNPAVF9t90ccHanoUiRb01sfmP50rPdd8v8pd1DJEu+4CRAa/NDnLR
	6zBlWSOAqPZmAFcOAyU9ZAOws/6Cm5HHMzxDYkok+oNlWksMOhID46lJRJZya+PiLLzG75NajPn
	FgORbp/kuoLN/YMhXZ16zblZ2u7ywWx76h5s2rAk1X0j9sRN1nGQFTdlOQCJHkQdZlMMF9Taab9
	bpNA/szArmRPDPdKy9Wt7lrm6vgUcduJFPdancafiZNRyDe6fcPZcQkRIGYw64JlicqoxYbS0pb
	clKTY3b7gW0/V8MDfCeesPTJOn5FhFx6hRYdqRw3Ao2heRJvgMBNc3YKJcfjCHSKfOmi6Ksw1Hb
	I2lu4LPN+QAqgonLuUWXeklm3AlSgFKSTwxmgM7OA
X-Google-Smtp-Source: AGHT+IEisIeR9Ln3piPvJSU4cOdXJrpDihq0BunTw/bGFzMLmier0IdaLbLeB2RAxKHSNM3kWdtPEQ==
X-Received: by 2002:a05:600c:468a:b0:43c:fe15:41d4 with SMTP id 5b1f17b1804b1-43d509f4d2fmr228900635e9.18.1742999525276;
        Wed, 26 Mar 2025 07:32:05 -0700 (PDT)
Message-ID: <bb7661b2-dd93-4d60-b3c5-9c54a5271d8c@suse.com>
Date: Wed, 26 Mar 2025 15:32:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 7/8] xen/console: introduce console_set_focus()
To: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 dmukhin@ford.com, xen-devel@lists.xenproject.org
References: <20250318233617.849903-1-dmukhin@ford.com>
 <20250318233617.849903-8-dmukhin@ford.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: <20250318233617.849903-8-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.03.2025 00:37, dmkhn@proton.me wrote:
> +/*
> + * Switch console focus.
> + * Rotates input focus among Xen, dom0 and boot-time created domUs while
> + * skipping switching serial input to non existing domains.
> + */
> +static void console_switch_focus(void)
> +{
> +    const domid_t n = domid_top + 1;

The use of this renamed identifier is now in sharp conflict with the comment,
talking about boot-time created domains only.

> +    domid_t i = ( console_focus == DOMID_XEN )
> +                ? get_initial_domain_id() : console_focus + 1;
> +
> +    for ( ; i < n; i++ )
> +        if ( !console_set_focus(i) )

This being the sole call caring about the function's return value, why isn't
the function returning a mere boolean?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:40:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927927.1330678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txRvK-0000tt-W4; Wed, 26 Mar 2025 14:40:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927927.1330678; Wed, 26 Mar 2025 14:40: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 1txRvK-0000tm-Rj; Wed, 26 Mar 2025 14:40:06 +0000
Received: by outflank-mailman (input) for mailman id 927927;
 Wed, 26 Mar 2025 14:40: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txRvJ-0000l0-6F
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:40:05 +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 335f2500-0a50-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 15:40:02 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5ed1ac116e3so3531327a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 07:40:02 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebcd0c7157sm9478826a12.60.2025.03.26.07.40.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 07:40: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: 335f2500-0a50-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743000002; x=1743604802; 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=LBKQj4AGc6WzVHDOJKfQ9gaWnyAMl1NEa5cuSk+EvWI=;
        b=U2mr5rNm1cszmRJeoWLn3kOcRaE2GOKv1rHleK1nzon1ffij2ipEBuBYIphZHxv5bf
         3OB15Ghs5PiBb75w5l+/ZaotLK/mZ3V+2Uw8VtaOZ1pnPKD1XeStd4+PLBL5+l7OF6u/
         Oqf3EmxRwCaJwRUuX95xIKBBrKhoVOXQUXvLiWbdjh0aB2zOeC3WtLgEL2HBCOTefwlE
         mWYN4h2guGxpQaWkOtF/LR1iOjvmtXZLpUvCW2eLgpI9NetU/00EvOoDscMsiLMDaJuy
         EqAwM76LRfjn+5d6zEvnzQrh00tSS0H89be9bKJlLt3/Z5gcrSQcYfrbAtePS3Us2GqE
         vIFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743000002; x=1743604802;
        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=LBKQj4AGc6WzVHDOJKfQ9gaWnyAMl1NEa5cuSk+EvWI=;
        b=Imlgdp3SUfwFSD+B5bg9trnd4S5m/MhpJF31522IvqJYPOv90GjQzu5O9Umj7buJhe
         j6s58h0axdMY/LwdUK8Va+ABAVXr3vE0E9/St3K0ytMYryrLKDZor0pLnwuIA8lnwNi/
         ODF/TzabZha4LzdDoAXMnh0IMp5LFHbVK+OX5v0USNfo9/MmieKBU6kHTzXypmJJpyTM
         lzw+OgNAPN8/e9Cto2fBzl65AsI1tics6pqC72N8+EEHF+IdwIc2z0zsx+VNFeqmS/JI
         /8I6Hp7VY1sjy0vbsWts/5PF89BN6Zy2zb97kIg0y3X3/xM8LsWvBXFKbK4MGTaCb350
         xfZA==
X-Forwarded-Encrypted: i=1; AJvYcCVgrux8Rzwx2wv2cmvM2dhos/268E+x87w5W6LcDH1leTCNnG1vT+PQkw2t5Nx8ngzRb5DTcEFNFIo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjwJbhpLuCoLCWjtmkfiApmw8nc0M+FFTW+ya6LciFYHBz+4me
	a5NBZ8qzhovik58ZMfatJHToiGUGOxPx0zFpDl1n8ji1gDYgUf6MwQ5IjjAw8M4=
X-Gm-Gg: ASbGncvnnPWE8DOxvSBiM/5R9tkHDq4C07MTr9Et6codbkqINxDUubnruKU59Lcw31i
	RKvv6ZNUOY7qjIjKPbVldNYwwPJBU6EqgOO3RK+91RkDm7CXMmEC+Q/x8TtEgnnbLZ8PV/7iBOS
	rKjVBLk2HAHwaJyNrOtzGWyblavIqtieckfTP7wq4xFc7yVskR+uK+SyR8evCDJH6vPCrfVFv/U
	vbkPveuNG1cd1kJYfBQ41DqfiKo0yK+0LciEBAsf3HUb/cKohJbQLkN8h85xDf2YA0iIBMG0r4L
	msgPkzDzPlPIRGN674AnewPukWcfUwmMI5P2ZY/Xvp2P04LE9uWZl9XwtAb6wSLuWpZM2v7xnLt
	TcTwtZIwjt7mybiJXrGkFgQvX+apRDHcdYanjVV04xkmkFhqF4FxWo0nZXVcKaEICU8SEUw==
X-Google-Smtp-Source: AGHT+IGJabndgE6F+zmKcKqz+FsRkoOgBSivA9eu7leUO6vjGnxM4SG0cW66opx6eFG6Cs4E0yP9HA==
X-Received: by 2002:a05:6402:524e:b0:5e0:49e4:2180 with SMTP id 4fb4d7f45d1cf-5ebcd4f9dfamr17756864a12.25.1743000001800;
        Wed, 26 Mar 2025 07:40:01 -0700 (PDT)
Message-ID: <cb993e55-35b4-4b22-bbbc-8d6aa8e89b7b@suse.com>
Date: Wed, 26 Mar 2025 15:40:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools: Remove support for qemu-trad's battery reporting
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 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: <20250325174110.467-1-alejandro.vallejo@cloud.com>
 <936e7ebf-69e1-4854-87c5-340f56b9d432@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: <936e7ebf-69e1-4854-87c5-340f56b9d432@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------YX3eqMQd5pf0l0wRQ0gDRviC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------YX3eqMQd5pf0l0wRQ0gDRviC
Content-Type: multipart/mixed; boundary="------------a8boNJGFWn0LWgZtEE6aa9um";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 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>
Message-ID: <cb993e55-35b4-4b22-bbbc-8d6aa8e89b7b@suse.com>
Subject: Re: [PATCH] tools: Remove support for qemu-trad's battery reporting
References: <20250325174110.467-1-alejandro.vallejo@cloud.com>
 <936e7ebf-69e1-4854-87c5-340f56b9d432@citrix.com>
In-Reply-To: <936e7ebf-69e1-4854-87c5-340f56b9d432@citrix.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=

--------------a8boNJGFWn0LWgZtEE6aa9um
Content-Type: multipart/mixed; boundary="------------tCTvhs7PoTUg5iIB2Vh7o87f"

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

T24gMjYuMDMuMjUgMTU6MDUsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDI1LzAzLzIw
MjUgNTo0MSBwbSwgQWxlamFuZHJvIFZhbGxlam8gd3JvdGU6DQo+PiBUaGUgd2F5IHRoaXMg
dW5kb2N1bWVudGVkIGZlYXR1cmUgd29ya3MgaXMgdmlhIHFlbXUtdHJhZCAod2hvIG5vYm9k
eQ0KPj4gdXNlcyBhbnltb3JlKSwgYnkgaW50ZXJjZXB0aW5nIDMgbWFnaWMgUElPcy4gMHg4
OCBpcyBvbmUgb2YgdGhlbSwgYW5kDQo+PiBpdCdzIHByb2JlZCBieSBodm1sb2FkZXIgYXMg
YSBtZWFucyBvZiBkZXRlY3Rpbmcgc3VwcG9ydCBmb3IgdGhpcyAoc28sDQo+PiBvbiBxZW11
LXVwc3RyZWFtIHRoaXMgY2hlY2sgYWx3YXlzIGZhaWxzKS4gSWYgaHZtbG9hZGVyIGRldGVj
dHMgdGhlDQo+PiBmZWF0dXJlLCBpdCBhcHBlbmRzIGFuIFNTRFQgd2l0aCBBTUwgaW5oZXJp
dGVkIGZyb20gc29tZSBsYXB0b3AgfjIweQ0KPj4gYWdvLiBRRU1VIHRoZW4gY29tbXVuaWNh
dGVzIHdpdGggYSB1c2Vyc3BhY2UgZGFlbW9uICh4ZW5wbWQpIHZpYSBhbg0KPj4gdW5kb2N1
bWVudGVkIHhlbnN0b3JlIGtleSAoInJlZnJlc2hiYXR0ZXJ5c3RhdHVzIikgaW4gb3JkZXIg
dG8gcmVwb3J0DQo+PiBiYXR0ZXJ5IGxldmVscy4NCj4gDQo+IEFueSBjaGFuY2Ugd2UgY2Fu
IG1ha2UgdGhpcyBsZXNzIHVuZG9jdW1lbnRlZCwgZXZlbiBpZiBpdCBpcyBhIG5vdGUNCj4g
c2F5aW5nICJyZW1vdmVkIG5vdyIgPw0KPiANCj4+DQo+PiBTZWVpbmcgaG93IG5vIG9uZSB1
c2VzLCBtYW50YWlucyBvciBjYXJlcyBhYm91dCBxZW11LXRyYWQgYW55bW9yZSwgcmlwDQo+
PiBpdCBhbGwgb3V0LiBUaGUgaHZtbG9hZGVyIGNoZWNrLCB0aGUgU1NEVCBnZW5lcmF0aW9u
IGxvZ2ljIGFuZCB4ZW5wbWQuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZh
bGxlam8gPGFsZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4NCj4+IC0tLQ0KPj4gSWYgdGhp
cyBmZWF0dXJlIGlzIHRydWx5IHdhbnRlZCwgaXQgbXVzdCBiZSBpbXBsZW1lbnRlZCBpbg0K
Pj4gcWVtdS11cHN0cmVhbS4gSWRlYWxseSBpbiBhIE1VQ0ggbGVzcyByb3VuZGFib3V0IHdh
eS4gQW5kIGRlZmluaXRlbHkNCj4+IHdpdGhvdXQgaW52b2x2aW5nIHhlbnN0b3JlLg0KPj4g
LS0tDQo+PiAgIC5naXRpZ25vcmUgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQ0KPj4g
ICB0b29scy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAxIC0NCj4+ICAgdG9vbHMv
ZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuYyB8ICAgNyAtDQo+PiAgIHRvb2xzL2xpYmFjcGkv
TWFrZWZpbGUgICAgICAgICAgfCAgIDIgKy0NCj4+ICAgdG9vbHMvbGliYWNwaS9idWlsZC5j
ICAgICAgICAgICB8ICAgOSAtDQo+PiAgIHRvb2xzL2xpYmFjcGkvbGliYWNwaS5oICAgICAg
ICAgfCAgIDIgKy0NCj4+ICAgdG9vbHMvbGliYWNwaS9zc2R0X3BtLmFzbCAgICAgICB8IDQw
OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiAgIHRvb2xzL3hlbnBtZC9NYWtlZmls
ZSAgICAgICAgICAgfCAgMzAgLS0NCj4+ICAgdG9vbHMveGVucG1kL3hlbnBtZC5jICAgICAg
ICAgICB8IDUyNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gICA5IGZp
bGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgOTg0IGRlbGV0aW9ucygtKQ0KPj4gICBk
ZWxldGUgbW9kZSAxMDA2NDQgdG9vbHMvbGliYWNwaS9zc2R0X3BtLmFzbA0KPj4gICBkZWxl
dGUgbW9kZSAxMDA2NDQgdG9vbHMveGVucG1kL01ha2VmaWxlDQo+PiAgIGRlbGV0ZSBtb2Rl
IDEwMDY0NCB0b29scy94ZW5wbWQveGVucG1kLmMNCj4gDQo+IEknbSB0ZW1wdGVkIHRvIHN1
bW1hcmlseSBhY2sgdGhpcyBiYXNlZCBvbiBkaWZmc3RhdCBhbG9uZS4NCj4gDQo+IEp1ZXJn
ZW4gaGFzIGV4cHJlc3NlZCBhbiBpbnRlcmVzdCBpbiBmaW5hbGx5IHB1cmdpbmcgcWVtdS10
cmFkIGluIHRoaXMNCj4gcmVsZWFzZSBjeWNsZSwgd2hpY2ggSSBhZ3JlZSB3aXRoLg0KPiAN
Cj4gSWYgd2UncmUgZ29pbmcgdG8gZG8gdGhpcywgdGhlbiBJIHN1Z2dlc3Qgd2UgZGVsZXRl
IHFlbXUtdHJhZCBmaXJzdC4NCj4gT3RoZXJ3aXNlIHdlIGFyZSB0ZWNobmljYWxseSBicmVh
a2luZyBzb21ldGhpbmcgdGhhdCBzb21lb25lIG1pZ2h0IGJlIHVzaW5nLg0KDQpJJ20gd29y
a2luZyBvbiB0aGUgcGF0Y2hlcyByaWdodCBub3cuDQoNCg0KSnVlcmdlbg0K
--------------tCTvhs7PoTUg5iIB2Vh7o87f
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-----

--------------tCTvhs7PoTUg5iIB2Vh7o87f--

--------------a8boNJGFWn0LWgZtEE6aa9um--

--------------YX3eqMQd5pf0l0wRQ0gDRviC
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/Ey8FAmfkEcAFAwAAAAAACgkQsN6d1ii/Ey8j
PQgAnCqsb4pvvR/mv9JE2Mfaj/+YSxa9G0M+OGTTVnDInCDXMsF71SgHd7ggk6FIYbHQhgOYfIUO
jSovyucBe7pSSaEczs7HinCbUMahrsNRW6o7/H2BlRCWwRZE0IIMQwnVSIxX8EodlRsoWVNIRklw
9bDJFucB0YgmGfmPY4/GfT4Rz7XcfI5+IncjXFR93WZRPX1iRtuYXKuMKEKzILB6etcSfkDDpJii
hACbUOGpzKZiMar9+jyYAvCF4iH63K4jJjWESfZgL5SPNxwuZUl0Bscf94KVKnSUIZuhe/RzdnP2
oIPIRgUQXCHbV/m3W5aDYDdmeh7jQl9mUxG4BCGI8Q==
=Tee8
-----END PGP SIGNATURE-----

--------------YX3eqMQd5pf0l0wRQ0gDRviC--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 14:47:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 14:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927936.1330688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txS2f-0002pn-LX; Wed, 26 Mar 2025 14:47:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927936.1330688; Wed, 26 Mar 2025 14:47: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 1txS2f-0002pg-Iv; Wed, 26 Mar 2025 14:47:41 +0000
Received: by outflank-mailman (input) for mailman id 927936;
 Wed, 26 Mar 2025 14:47: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=ES6w=WN=bounce.vates.tech=bounce-md_30504962.67e41385.v1-01a764632b814acabaeb6a206ee82911@srs-se1.protection.inumbo.net>)
 id 1txS2e-0002pa-40
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 14:47:40 +0000
Received: from mail134-16.atl141.mandrillapp.com
 (mail134-16.atl141.mandrillapp.com [198.2.134.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40c0ee08-0a51-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 15:47:35 +0100 (CET)
Received: from pmta10.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail134-16.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4ZN8lT43dmzB5p4wB
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 14:47:33 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 01a764632b814acabaeb6a206ee82911; Wed, 26 Mar 2025 14:47: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: 40c0ee08-0a51-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743000453; x=1743270453;
	bh=GlHx0h86jpvU8waBjU23u3F+BNvm0mZZYIr3Q69GUNI=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=aYIFuTtMiLWaeG+O7k+CCzo23/9j0MC8+xnl46I8etzepKoilcFG4vtljV0Gf9Cht
	 NUbJEg5mIvqpyZY+bys9FUEq/Xo0SZu72V7ZYzTy5GtZcRnYDZm+F5MnyJRB7FCSfR
	 n8gaw6pnqDUgJum+bCqP6v2MLiBJNV4QmbrGo1ZzPKK0gobFNKKt15RpQ+akyG9uIq
	 DGFjSbGgascXfsLrkDOMZYqt0VRGHY0rsADM+qcpZAYwYCMVDzjR+es/Gv0/04CepB
	 QXbqqmz0n84HWvKQj3BSUBxN3UQyFaJMr8Zy0wUEIlBm5KuC/zxed8HnRCm7SFNSLm
	 WHZpGNfD6Ua7Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743000453; x=1743260953; i=anthony.perard@vates.tech;
	bh=GlHx0h86jpvU8waBjU23u3F+BNvm0mZZYIr3Q69GUNI=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ybQJUa5ZrZWag8BPwyFcz+sbEppzQa/WuEXkii+RGtBFj7xRIkwDQIcq1e9N14PPh
	 Z6pt/Dx2SMi3ti6NLq75AMXso4d2/aQ9gXHCtiFVPs7NJxpPWzikzF8qh41VukS3Sk
	 YOvQXmJBTDjwOHNceguv7cK1qSWIF76CeBWdRIAfRdkBiVOuruWFHOXjidBTgb9A1o
	 ZdDTv/cL1JgPtrNy7PS/4X6FOWI+hVW744gJqGy059tIhGJSKacBHpeMN5//+BcwyD
	 kb0oasHMGSLFnaUD9kLMxM5IGaY3udh/Wiluxf78A6nWJZOloM6XqzkM3go5wjSlKX
	 aKnF4y6s0ejsg==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2]=20tools/arm:=20Fix=20nr=5Fspis=20handling=20v2?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743000452162
To: "Michal Orzel" <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, "Juergen Gross" <jgross@suse.com>, "Stefano Stabellini" <sstabellini@kernel.org>, "Julien Grall" <julien@xen.org>, "Bertrand Marquis" <bertrand.marquis@arm.com>, "Luca Fancellu" <luca.fancellu@arm.com>
Message-Id: <Z-QTg7pAam8jmVda@l14>
References: <20250325110029.399838-1-michal.orzel@amd.com>
In-Reply-To: <20250325110029.399838-1-michal.orzel@amd.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.01a764632b814acabaeb6a206ee82911?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250326:md
Date: Wed, 26 Mar 2025 14:47:33 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Mar 25, 2025 at 12:00:29PM +0100, Michal Orzel wrote:
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 2d895408cac3..0adcaa373b54 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -181,13 +181,18 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>  
>      LOG(DEBUG, "Configure the domain");
>  
> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
> -        LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
> -            nr_spis);
> -        return ERROR_FAIL;
> +    /* Check if a user provided a value or not */
> +    if (cfg_nr_spis != LIBXL_NR_SPIS_DEFAULT) {
> +        if (nr_spis > cfg_nr_spis) {
> +            LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
> +                nr_spis);
> +            return ERROR_FAIL;
> +        }
> +        config->arch.nr_spis = cfg_nr_spis;
>      }
> +    else
> +        config->arch.nr_spis = nr_spis;

Just one small coding style issue: to avoid confusion, whenever one side
a of an if..else is using a block, both side should use a block. But
that can be fixed on commit:
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:13:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:13:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927952.1330718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSRP-0001aw-PC; Wed, 26 Mar 2025 15:13:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927952.1330718; Wed, 26 Mar 2025 15:13: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 1txSRP-0001ap-Lj; Wed, 26 Mar 2025 15:13:15 +0000
Received: by outflank-mailman (input) for mailman id 927952;
 Wed, 26 Mar 2025 15:13: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txSRO-0001ah-6A
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:13:14 +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 d468a57b-0a54-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 16:13:10 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so5630532f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 08:13: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
 ffacd0b85a97d-3997f9e65f0sm17195436f8f.74.2025.03.26.08.13.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 08:13: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: d468a57b-0a54-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743001990; x=1743606790; 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=LcNNzFHix/dmgUC3rDZCsnChTjI+jCRZvs1d6v/7WfY=;
        b=KNvRT5NpyGWZqibRBELHYD5TYlb4w/S00dHlr3CPTxEV8j5mmeDYCbx3wLWzEBevAu
         vxyWA9lRXNNxQBGsAydEzXuyi5ptvIJ/PXs8N4f/lY89GDWVtdJVamhvqn+kovqKwjcB
         Q6e3r3/lYPEPE/0Ch2+BuAg0wsQt9eVVe6oQLkwYSuktwRG8R7o4m+8GdKDQlQnFznRe
         8Q7DgRlyG6gBWwDiPuFBr4VFFB1wCNQm7kJ1GLLoUuFny7uZvpT1UpDLxEhTFL6rHPtG
         olEXP92Z43UCFJebbsXUOBfjQXHG9urLx+wz7oZQtOfGaD8+cD+zfpctuvE3oCPLxqcR
         NrPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743001990; x=1743606790;
        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=LcNNzFHix/dmgUC3rDZCsnChTjI+jCRZvs1d6v/7WfY=;
        b=NhKnNpoh8uBHoWRpEyGkkqY9GtkN0IAdgB67ywErQticM/dDtZh67UfTyPS8F7f6wU
         fd0RZmbiFVHO/3VXlvKFHjMgzuPpYDZifGDVGdXxxfyMKwENWzW1FmN+RpPoHgUpbz+q
         g6HrvQDjzur+9foMt0rV5aXnAuLLuzwx9FageBSFMd5mnCBv0ZrKyHXKp4UrH/SpUOc4
         rv9E4wSrKa8Rs6hhp2lpBcgy/G3n2FC6Xw9S4c370GQclrrqtNAscmC/BXcMMiOpjf/Z
         WVa5kiMLEXI+pcfxzHhqxjd8vAdHz3XA/fUbPQybhLsSpHmYSjQAuKkf8XdQvtrt/rVB
         JjIw==
X-Forwarded-Encrypted: i=1; AJvYcCU4j34yu2q2JepM661emB+IZpN5kHLlgQAiaMuTEO6jm0Q55lAWxX5BtSDqnMxUoo1XrQIIRWKU29g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwoNhOWnehE/ayOv4GWaotNQHmJWHqkxVX+ZWORbFnZKPfnzbDK
	/3zu4ca1THXtauOPeftiNle/cw/iqriZLKn4ekwBH22NTKR0pCB3x15K22hm5Q==
X-Gm-Gg: ASbGncvdxM82c0EaHrvTxg7TK4qffIIm+WE1gRo77o7uWuvnYzYUo78MebLI4oWbUNl
	ygdKesSziR0QqPfaTErqFvfQ0dlMF1gIlQ1XHtGJogfZS569Enh8p8mE25nGaxc15zQnwB6jFLe
	cEGbZFDZvQcgSNgI9wW7A0jIqeScasIxqjCDTQCuaCjcgnSHxAfe3UH55/WogR8aQQSH60fKRBl
	kefP57eTRl9TYasrQDZN6MyixfwM2Y2IkCt/qPBjwDt2mhMPM7h7bpUpEMkR7R3j6xeEYadcusf
	qOFUeQPCxYt3rys93TEiW8qEFNnYWXzMqAmYPDUeXr1kI60Mi9qWyxZzXc/LTgvU9o7Zbkfw+if
	nSdgTYeR5BefjBh+e2sIAwFmPPpYoTA==
X-Google-Smtp-Source: AGHT+IHpEoAAcxtQqjxyomqK/wbDsASptHmQtkSQx42HPODYpTeshsbNIMgBG9gF+u6hyeL94JKf7A==
X-Received: by 2002:a5d:584b:0:b0:390:f9a5:bd79 with SMTP id ffacd0b85a97d-3997f90ab9emr20882402f8f.26.1743001990060;
        Wed, 26 Mar 2025 08:13:10 -0700 (PDT)
Message-ID: <86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com>
Date: Wed, 26 Mar 2025 16:13:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/riscv: introduce preinit_xen_time()
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: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@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: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 18:36, Oleksii Kurochko wrote:
> preinit_xen_time() does two things:
> 1. Parse timebase-frequency properpy of /cpus node to initialize
>    cpu_khz variable.
> 2. Initialize xen_start_clock_cycles with the current time counter
>    value.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v2:
>  - Update SPDX tag for time.c
>  - s/read_mostly/__ro_after_init for boot_count variable.
>  - Add declaration of boot_count to asm/time.h.
>  - Rename boot_count to xen_start_clock_cycles.

I'm not going to insist on another name change, but I'm having a hard time
seeing why almost any global variable in Xen would need to have a xen_
prefix. "start" also can be ambiguous, so imo boot_clock_cycles would have
been best.

> --- /dev/null
> +++ b/xen/arch/riscv/time.c
> @@ -0,0 +1,39 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#include <xen/device_tree.h>
> +#include <xen/init.h>
> +#include <xen/lib.h>
> +#include <xen/sections.h>
> +
> +unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
> +unsigned long __ro_after_init xen_start_clock_cycles;

For the theoretical at this point case of support RV32, will unsigned long
be wide enough? I.e. is the counter only 32 bits wide when XLEN=32?

> +static __initdata struct dt_device_node *timer;

Please can __initdata (and alike) live at its canonical place, between
type and identifier?

It's also unclear at this point why this needs to be a file scope variable.

> +/* Set up the timer on the boot CPU (early init function) */
> +static void __init preinit_dt_xen_time(void)
> +{
> +    static const struct dt_device_match __initconstrel timer_ids[] =
> +    {
> +        DT_MATCH_PATH("/cpus"),
> +        { /* sentinel */ },
> +    };
> +    uint32_t rate;
> +
> +    timer = dt_find_matching_node(NULL, timer_ids);
> +    if ( !timer )
> +        panic("Unable to find a compatible timer in the device tree\n");
> +
> +    dt_device_set_used_by(timer, DOMID_XEN);
> +
> +    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
> +        panic("Unable to find clock frequency\n");
> +
> +    cpu_khz = rate / 1000;

"rate" being only 32 bits wide, what about clock rates above 4GHz? Or is
this some external clock running at a much lower rate than the CPU would?

> +}
> +
> +void __init preinit_xen_time(void)
> +{
> +    preinit_dt_xen_time();
> +
> +    xen_start_clock_cycles = get_cycles();
> +}

I take it that more stuff is going to be added to this function? Else I
wouldn't see why preinit_dt_xen_time() needed to be a separate function.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:19:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:19:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927963.1330727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSXS-0002Em-Gh; Wed, 26 Mar 2025 15:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927963.1330727; Wed, 26 Mar 2025 15:19: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 1txSXS-0002Ef-E8; Wed, 26 Mar 2025 15:19:30 +0000
Received: by outflank-mailman (input) for mailman id 927963;
 Wed, 26 Mar 2025 15:19: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txSXS-0002EZ-0R
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:19:30 +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 b387afca-0a55-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 16:19:25 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43d2d952eb1so52096495e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 08:19: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-43d82efeacasm5116095e9.23.2025.03.26.08.19.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 08:19: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: b387afca-0a55-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743002364; x=1743607164; 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=XGBNjc/7bYFUGFiPOag7QmYgqexvjJu7OxOL4dSG6lk=;
        b=RYZ1p7bFT/A+URzW/uR1vAS2HjdLJ2jM2kbYxfgwtWWqim5gjBIQB1qIHwU0hv1ThC
         wXxPL/v4jjBnxI3oChAIzjHqctnrDRMRLC1VgJ/OhwCif0UV9N8rsaQ39BizNJ6eHmla
         AH2rYJD7qGBQL+Qi0TK75whFgrPphZLoqCUdlcelsSvVbpgSyENYqIYROtp3qIqaWlSI
         zYH7CQuKwCWPsZ/NTdwD1uT8JjN+ilRODAY3DpbwfNnxAzx5FsDHshBsCgLZ4KZA3CJs
         F9utztwxEMbRsgHRgbQhgZUjW5aEUPxWpVZNb0uVUs3tMK1Trw2tNzBPqRXW5MjZhSB9
         VhwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743002364; x=1743607164;
        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=XGBNjc/7bYFUGFiPOag7QmYgqexvjJu7OxOL4dSG6lk=;
        b=ZfGyfNUu6BRGxcCRodlFueXwBlg7fpbdUCn+mqFDQPXktZv6gref8mVzahHGGl2iu5
         tfObA34JMn8IQx86MFqdgS7O27tAKQiuvahN8n2fafCaqTA/PCYaxllGZY/rd1sZ3xyT
         ZB0ZAnLv/9wG1ow7VmcKSRyxaXEnv1y5x0zbbxNzUxmp/zyQpCB7S4eArGjatO+OdwG+
         +Gu5xzsWRDKSap1IIkw1NLaBgEZ2Kh0DgcX6takohtwyTQqsiDdrdPAsY2eBN5HhSjT3
         iVPhpxIEmS6BLsDZZLk1347A/yH1WrAcCKdlUtcjBC5flHnUX4JpWXyt475bUFpp+c9O
         L+tA==
X-Forwarded-Encrypted: i=1; AJvYcCWNbWYzLTnYSiPGs0M2qRdKtX3bSMoHVH7k+VmCICc0j7xusL4zJsXI9Lau1XMaR5Z3f4rAn/mbneY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEgmzUItfc38YM8WliNQHpRaBXPDvkdFE7kVeQyfiIKvISriAg
	7Uv3qgbg9NHXEUnZvkDDcsHp6JP1WvlSGAX/cM8j9jpruR0XwkmzBKU68742gA==
X-Gm-Gg: ASbGncvL3gmJwu3YC4EaFxSYatumMLpTxP+GeWNLMVIEyVoKDEbNUaZ7EaHrbzlaT4O
	x6TqGDWv1tU0i8oAjmN6bXev9HiK3X509HhHP8hG/x5Xk+NmASvj8ygIGZjz7bk2cs+TxgqW394
	n82YaDxK+JobvtWBBmYidafn0lGS5MAML4OI4UgwPax21bN7fheJqRQPrFMEnOrfrht3kcBt3sm
	7JqLt4f2UJAx9TjCxurpE5JCoq1fmEUxAGGnoFNZ3FPHxdOO6Goyu1PI03Vqr/oN5JuBLRU5lNd
	AFyRFVIiAq2XmmKw5GTLyEYvMnOzp8908PicjQ/pyHz944GLgQ1fGub0Gjg9VpnglE15h8la9jw
	F8Rv+Ol1/dGaB0F4E+0E0qZxrUtuw9w==
X-Google-Smtp-Source: AGHT+IFkffpDSzO9ATtlqXkLmzWd3vbnMRC+H7wNo5WNOmvM+0E6AbIz2a3H1b9d1gXjsdDVGg3zKg==
X-Received: by 2002:a05:600c:1f0c:b0:43d:42b:e186 with SMTP id 5b1f17b1804b1-43d555b7ec9mr176600835e9.8.1743002364390;
        Wed, 26 Mar 2025 08:19:24 -0700 (PDT)
Message-ID: <e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com>
Date: Wed, 26 Mar 2025 16:19:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/riscv: implement basic aplic_preinit()
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>,
 Romain Caritey <Romain.Caritey@microchip.com>, xen-devel@lists.xenproject.org
References: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <f0945e3a41e911b5dfd005a8d15aa0d668d8e3cf.1742918184.git.oleksii.kurochko@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: <f0945e3a41e911b5dfd005a8d15aa0d668d8e3cf.1742918184.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 18:36, Oleksii Kurochko wrote:
> Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
> Interrupt Controller (APLIC) in Xen:
>  - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
>    ensuring that only one APLIC instance is supported in S mode.
>  - Initialize APLIC's correspoinding DT node.
>  - Declaring the DT device match table for APLIC.
>  - Setting `aplic_info.hw_version` during its declaration.
>  - Declaring an APLIC device.
> 
> Since Microchip originally developed aplic.c [1], an internal discussion
> with them led to the decision to use the MIT license instead of the default
> GPL-2.0-only.
> 
> [1] https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d
> 
> Signed-off-by: Romain Caritey <Romain.Caritey@microchip.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

You recall that From: != 1st S-o-b is unusual, and wants some explanation.
IOW it's unclear who the original author of this patch is.

> --- /dev/null
> +++ b/xen/arch/riscv/aplic.c
> @@ -0,0 +1,49 @@
> +/* SPDX-License-Identifier: MIT */
> +
> +/*
> + * xen/arch/riscv/aplic.c
> + *
> + * RISC-V Advanced Platform-Level Interrupt Controller support
> + *
> + * Copyright (c) 2023-2024 Microchip.
> + * Copyright (c) 2024-2025 Vates
> + */
> +
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +#include <xen/types.h>
> +
> +#include <asm/device.h>
> +#include <asm/intc.h>
> +
> +static struct intc_info aplic_info = {
> +    .hw_version = INTC_APLIC
> +};

Is this going to be written to (much) post-init? IOW - __read_mostly or
even __ro_after_init?

With authorship clarified and this variable adjusted according to whatever
the longer term use of it is
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:20:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927971.1330738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSYa-000431-QW; Wed, 26 Mar 2025 15:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927971.1330738; Wed, 26 Mar 2025 15:20: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 1txSYa-00042u-NJ; Wed, 26 Mar 2025 15:20:40 +0000
Received: by outflank-mailman (input) for mailman id 927971;
 Wed, 26 Mar 2025 15:20: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txSYZ-0003zf-SG
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:20:39 +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 deff86be-0a55-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 16:20:38 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso74660255e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 08:20: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-3997f9957efsm17372290f8f.14.2025.03.26.08.20.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 08:20: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: deff86be-0a55-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743002437; x=1743607237; 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=BrLD+oMALWIuty53zw1ovJPHyggj7Vf9MDFnlZCW1e8=;
        b=QVb7/wg2hZgefm02gkk5M8iVWGOFfNFY8VqPpfmE2tsVt+BXdL+QzeRzSQwUxtkyiy
         ycx6WOJuJbJ/ROlOFo0uUJLCnn8JY4xA0A7lc4VtDocL4NC48cv+vdwDxAd+4J6Hp7XA
         +RDHvXrbZQnILkvOuRRqArmB0w/G5yjc6pm+6Mcv0zuqUCmDsw8QK0XcnraL69FiMFBN
         UmavVyt1U38eIl+bLur4Sx6JP4rrpzlT/hV0vmvIMCG67lcGj9QYXlbsGRJSNWcnSZYk
         Pcsfb2NKDORdOIkXaFqltGqTFAmSG07eVYugp8l7sR7ASb+Mbhyg/441FIM54XBZeucR
         AU9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743002437; x=1743607237;
        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=BrLD+oMALWIuty53zw1ovJPHyggj7Vf9MDFnlZCW1e8=;
        b=oTko1nB3j4FuPLSsyW/kW/UK1SRjJ5dEDHzOIdXB8iuWdePVrjcIDKgu20pZ6UHYy/
         CLPCXZPfceEWv3ujmLoLufIjERyj67RjaIwFsyujxEk+fQkBgqdgMN/dyO4yxYSxt2+n
         CIF0wWzSGU/AmtIyGCjjGJI30Mr9DnEyks/t5mv2j53lRw5EDuKEed3ZQMv+QmpyKgIr
         UK44g/jMiKfv4RotBxKfjWpi6lyVywnN9X3v4QnL4CyXIDgQXInD+qn+phjAHOGv3yOH
         zM/nToY+isGTDQAPv2yjDT5Pwu3DE03/6SnwAv0SFFZ06MvSb5smyaTEGgMgYhuVvu2C
         iOsw==
X-Forwarded-Encrypted: i=1; AJvYcCXLrXATconmqYHfgejsPlhafIJ8T+EoQyH3Wr0QbZ5mhzJalF42OpJq6xHdQEK1Aycif+OYIWFa1Lg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzcu0FiI8/bHMfMauUTAzgGmlgyoC2Ge0Gz0hHlCVXyCpqiG1Cv
	m7fV480tGDv+AIfpQdIIOunQ9kQZ9FjAFjEJLN1FvmwOMES3Z2fsRerhM1Lc2w==
X-Gm-Gg: ASbGncuztPU/iGq/viv4xW5i5uomXcTrquwMfm9b0zyrGtKg9WCtrfsDGhc9frfvr5L
	o4CGIhE+AHW0qupymnourx/nwkxJEc0v1Y/1lj9mowkGxcVULkoBZtJnss/2u0gvY0//B9YWZ4s
	O+HRqmVuZKEzMXYi+Ol25eW5VPNMCYAD/aMHKbgfkV3vRfLwO+MA8TBrS8Tmu7d9XlWz/rs1MEQ
	eTZX+DlVX3ovQCQFq3L0gkuOIDty8Y49IX/GhfXB385K+xclk0s5lafAI/yv31xkmj+CUl1j8FR
	EE+inZQN0MU/9c/Jx50ZZayZnhFvB3RJQDEF3w/8EyLQCjeeXypeUBnTOoa0Lt9I+Vp+DwxQKgG
	roTBNdX3jZLA4VtMPbThT15Jm0tithg==
X-Google-Smtp-Source: AGHT+IEf6zI/e2wjthM3LFw9+WltV2w9aX7RtRpR9JgT5tHG9G0STC9z++CUhxJQNk/nMp7lgJXhWQ==
X-Received: by 2002:a05:600c:4512:b0:43c:f470:7605 with SMTP id 5b1f17b1804b1-43d509ed936mr217454295e9.12.1743002437295;
        Wed, 26 Mar 2025 08:20:37 -0700 (PDT)
Message-ID: <dbd821a9-2094-4193-bf76-0904fad0fdd5@suse.com>
Date: Wed, 26 Mar 2025 16:20:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/riscv: introduce intc_preinit()
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: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <eedcc238a88ca10e9d1733443d8ec07832e4e33e.1742918184.git.oleksii.kurochko@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: <eedcc238a88ca10e9d1733443d8ec07832e4e33e.1742918184.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.03.2025 18:37, Oleksii Kurochko wrote:
> Currently, only the device tree method is available to locate and perform
> pre-initialization steps for the interrupt controller (at the moment, only
> one interrupt controller is going to be supported). When `acpi_disabled`
> is true, the system will scan for a node with the "interrupt-controller"
> property and then call `device_init()` to validate if it is an expected
> interrupt controller and if yes then save this node for further usage.
> 
> If `acpi_disabled` is false, the system will panic, as ACPI support is not
> yet implemented for RISC-V.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:22:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927988.1330748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSaP-0005OI-4F; Wed, 26 Mar 2025 15:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927988.1330748; Wed, 26 Mar 2025 15:22: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 1txSaP-0005OB-0z; Wed, 26 Mar 2025 15:22:33 +0000
Received: by outflank-mailman (input) for mailman id 927988;
 Wed, 26 Mar 2025 15:22: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=weB+=WN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1txSaN-0005O2-9c
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:22:31 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20624.outbound.protection.outlook.com
 [2a01:111:f403:2408::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20344842-0a56-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 16:22:28 +0100 (CET)
Received: from BN9PR03CA0954.namprd03.prod.outlook.com (2603:10b6:408:108::29)
 by CH3PR12MB9314.namprd12.prod.outlook.com (2603:10b6:610:1c5::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.43; Wed, 26 Mar
 2025 15:22:25 +0000
Received: from MN1PEPF0000F0E4.namprd04.prod.outlook.com
 (2603:10b6:408:108:cafe::61) by BN9PR03CA0954.outlook.office365.com
 (2603:10b6:408:108::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.37 via Frontend Transport; Wed,
 26 Mar 2025 15:22:24 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MN1PEPF0000F0E4.mail.protection.outlook.com (10.167.242.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Wed, 26 Mar 2025 15:22:24 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 26 Mar
 2025 10:22:23 -0500
Received: from [172.17.183.194] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 26 Mar 2025 10:22:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20344842-0a56-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LKENBsX9FN22O4oemm/KyMPJGB5rcHcGL5Zskhde3KzZhzZtRznitqOOQP1CfuqmFh37NDPitaBx9I/xe+Y3aujklv7b0HpQhdyPZS81SKuBIf5zbqBZv9Qa7kq8oB3RJiiCTyvzQeG9dAfwTbkj18EHZl645gNaTPfUp5+5IhK1wnKpqVnBjdNHTU0z3ZYCwMgiR4dadkjiX8MgaI08OG0jW9L1Ipfy4w+WvncOoHM9H/5uwtxeY3WVat7r9WinQ9LxnUedWnxWN8Ko3amE0RHVuwy7KyPzs10Ouk3CxLN5ukSCIcOU5WeYE7klbtiegmN/td/NMApUBU9KutozxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9HcFrx0oZtkP19/8w9pYXkXqsDdtxO9sm4MWHkXrNpo=;
 b=H0+WgEBCHckd0+v4uZpyUZligVqpGtasW7HJ8xWoVk4GOGLHuQnK1xi20snw6KjX73wF1vGbO+0rrULzBY+bNRcsxHMKk23McluBzIhHpRsAt/42EfsM/davUj3o4lSWSkKbJ6/Eczzx050PvgDyDnsCoqm18Hy8X0NN4GNJ46oa+dSNE+BaC/Yt4ezBqGMBmb1di1KPIYqb+6L5n284KgiRP08gC9t5h46Am53Q6eshpuJ6kD2pv9M+tgLl0qvjLOoIBbsYSZT5Db6N4AQY77Wtlx363rDzOLPA8lHjC/t7mQ9jkIQhWniUrk4VK3Dpgkfubz7vWIKSik7lqG5zJA==
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=9HcFrx0oZtkP19/8w9pYXkXqsDdtxO9sm4MWHkXrNpo=;
 b=aHJa96G/hWZAmtEbnzbieGJ/V6xxfPws5O+PJDxohqkqGiPZdUdCmudoDqakOKfFZ2XLrZP3A7TViLDNUvk0BSgYWFo0FTDDHqEW08ZJm89MUv5MQrh71enrI/PuBK9nJRLsl7wsli8ZFONgNCrCdxGQwDJn13It5l/NQRHHxfo=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <b553b51d-179c-4999-8632-6d78474affc2@amd.com>
Date: Wed, 26 Mar 2025 11:22:20 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/19] xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
To: Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<xen-devel@dornerworks.com>
CC: <ray.huang@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>, "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>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-14-Penny.Zheng@amd.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20250326055053.3313146-14-Penny.Zheng@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E4:EE_|CH3PR12MB9314:EE_
X-MS-Office365-Filtering-Correlation-Id: cca5f992-7714-443f-3d7e-08dd6c7a02e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|7416014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NjVaTkpSZEZtWHNlbEtsVmdTWnErcnZRd2xuUUZMdVpvMzR2U29GRk1BNm1i?=
 =?utf-8?B?RVVpaWlLWXZYdmlsMDM1aFVnampOTnowZ29RZzVBNUhWRlhRakg3SjlhYW5M?=
 =?utf-8?B?UDJzTmpISklldjVNUWZtNTVyMXoyREZnV3NEUVpFY1NnK0VmM1U2dE9NU2Ja?=
 =?utf-8?B?ZUI3QXRWVUVzdjVJZjdYSGk2QlcvVWUveDlGdVI3RmZTMEhsMU5yZXBDWldH?=
 =?utf-8?B?NE9LUnhSZ3dKbElyTHR3ck4veCttNndjZkFJMk91RkZ0UW1MUzBGcWdxL0dn?=
 =?utf-8?B?L3JjcVRUN3IyMDk1bjhydzJteUs0WjdSUUNjbWYxbmpIMkllckcwZUFaUzh4?=
 =?utf-8?B?bWx0ZUNoajZtSEI0eW9IVENIMmdLVjlkY2p1Q1FpNVJNRHZZWTJ3S1Nzc0M3?=
 =?utf-8?B?RGdNRXJ4WHJ3Z1pLbG5qL0thVEU2ZTZWVzdGNnNXa2lEOXh5WENIS0ppUkhh?=
 =?utf-8?B?SXg5OW5aMGNpZHQ0R2lVYkovZEJUUHpMWkllckpuK1RXZEZwY1pyZ3VRYm9H?=
 =?utf-8?B?NzcxREtRcTY1MnI4WGltMkNWckRUYmVjSzBmWW8xZVRNMFh1ajZpVW16YXo1?=
 =?utf-8?B?QWJmNmlySDFOM0pkdkw0cU9mZkxyditpKzhKeGpyUkFNUCtOdXl2RXlMUGNC?=
 =?utf-8?B?NDVpc084cGxoemhGeFFZd1pZSDJ5OWxvc09oZzNMQ3ltOTg1YytNTEdkcm51?=
 =?utf-8?B?VEd4MHFGdHMzZGVkbUY2RkY0OS9Qdk1BY0FRNy9CdEJLZzV5MnNSRDZCOE9Z?=
 =?utf-8?B?UlVoalZ3UVRpdDhjOWUxd3ZRemhkd2NYRkYvUE1jTjN1OVdRd2V1N21TUUhY?=
 =?utf-8?B?MkdCU2dmMlQyMlFNLzhsREt3bXlXM3hBeFFlNFNEcDQvS05jZmtSWmJYMGd5?=
 =?utf-8?B?TUV0dTdHUndtak5HNkx3K0JFUS9IdmxvZ0huRnJwak15Zkx5OFIvSmFiY1A3?=
 =?utf-8?B?ZGx3bnV2MzV6a0ozekZJRSt1WmdWZnhMb0NWUjk5cldkL2grRHBKRzdDNUV0?=
 =?utf-8?B?bUZnaWg3MmxFUmNYekpOQkhnbS9EVjEyNmlBenBTZ2ZITlNqZWZVL0hLTGpR?=
 =?utf-8?B?U0V0b1ltaTZRdytUNndMNTNvUWI2NXd4cXY4aVVZbWpFSjNUMG8zbHRSV08v?=
 =?utf-8?B?VnZrSUZTMmNKNHVHVEJlek9BZ2RjSWswTnIwUnlpNVp2MkRqdnlFTHdMV0ZQ?=
 =?utf-8?B?ZmVsUzJqanJKZHdKTWZROHlDSGtjejV6UVV6QytsMTU0aDB4VThSTEd2VUVa?=
 =?utf-8?B?TnpSOVk3UERBUDVyOStSSUpKY3JIZ0NmWnVWQS8yUkg5R05NVGkvaXJzSVJK?=
 =?utf-8?B?bkNSa1N5b0RnNHYrVnVmZmFmeFJpMEcwczRlcWp4Wk44WUs0K1RvOUkwSDVR?=
 =?utf-8?B?MlE0VnI2aUQ5MEo0Y3g3S3FPQWpsWHJUcTBlTHJBUjlkZEtvampWOFdoclkz?=
 =?utf-8?B?dnExYzBSQ0tLbXVKTHV1ZlFlUXRtbWRrWGJaaDVQbXFBdWc0UnRIYWl1Qnla?=
 =?utf-8?B?VS9ma2lKUnF0Q2Z6QmFvODEvMVY3Mi9OanhiV09RUlVEaXdQUGNnV3plNzJK?=
 =?utf-8?B?WkN6cjBLcDUzOFcwbWtVVVNBalk5RmU2eGx6bDR2V2ZjL0RoVXNEdzlTQmda?=
 =?utf-8?B?SkhLZXA1RHFjRGp2dS9pdDY1WU1NZHE3NEpkUkZ2bFgzN1Via1p6eFNGVXpX?=
 =?utf-8?B?WThWbU9Ra0srcDI0cEdzcEZlRUtxczRZMTJJY1N3V01hWnVVUXRwdFpaa0tp?=
 =?utf-8?B?VVhvOVArWGFPbENuTXFQeFJ3bXJHREdudEZtaXMrZkxLdkFrNjR0WlBHbUkr?=
 =?utf-8?B?OUl2Z1IzZEVvU3IydXIyd2ZrbXE4S3NtaFhIc01nRW5SSFc0ZWc5U1ZQSFRD?=
 =?utf-8?B?a1VLV2U4U3dPMTVGSFJYYmEwRXBackE5TDVtT2w5cXZ5YndENTRwS3JaOVVW?=
 =?utf-8?B?K1dHbzZoZHdnN2w4VXlQOVg1V3BqMkxGSEFQSDlrVm1OdjlHWG4xK09uRVo0?=
 =?utf-8?B?eEtMbmorVlN0K3JDSndJbjlIOU5xb1ZmWUVqb0VWNFlWdFB3VGlUcU00dGxu?=
 =?utf-8?Q?Gc9tq3?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(7416014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 15:22:24.6266
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cca5f992-7714-443f-3d7e-08dd6c7a02e3
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E4.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9314

On 3/26/25 01:50, Penny Zheng wrote:
> Function sched_adjust_global is designed for XEN_SYSCTL_scheduler_op, so
> itself and its calling flow, like .adjust_global, shall all be wrapped.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

For arinc653 only:
Acked-by: Stewart Hildebrand <stewart@stew.dk> #a653


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:26:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:26:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.927997.1330758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSdu-0005yj-Jg; Wed, 26 Mar 2025 15:26:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 927997.1330758; Wed, 26 Mar 2025 15:26: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 1txSdu-0005yc-GB; Wed, 26 Mar 2025 15:26:10 +0000
Received: by outflank-mailman (input) for mailman id 927997;
 Wed, 26 Mar 2025 15:26: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txSds-0005yW-LN
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:26:08 +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 9fe8a387-0a56-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 16:26:01 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43d2d952eb1so52158675e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 08:26:01 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d82e6a63esm5142935e9.11.2025.03.26.08.26.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 08:26: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: 9fe8a387-0a56-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743002761; x=1743607561; 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=/8oC34c+nLZAaPtoZy2V78kLXk+qgqEAnnYNf7/Mbkk=;
        b=Zt4HiKkNrKnusPxyjuXThkv7voesSVCl5K4cZXP2hkaSEa3+LQL5Ek8IQLz0+2Lvrx
         /rp6zd6DiBcNOEkOEfIWgJuzwY7e9VBxi4pXpU/D+HVRHXQw2fiJdRKhumIzPpmAuxaU
         xjZ0BrAliUE+Xj4PcBk14mF3TE1gfqqx6/CII=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743002761; x=1743607561;
        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=/8oC34c+nLZAaPtoZy2V78kLXk+qgqEAnnYNf7/Mbkk=;
        b=S/ndJqsWOgOwei6VuvMUESunJJmPhRkX+qfWkxfeeJfY2jhIuTqRCMnNzvR6aJhCgA
         JYbEEOYCGvfQajMy7ivD4CX+MvWP9pdit24P0Ajmb0wxkaduvJ/VDSWjEJ4gnBaOSYjq
         zg12LXxQcD0WgJiwu/YUw/KAO224zwjdI+8PK255pOAVCDMP+ZQSlKlvU8/iX8NdvZOK
         jr1iKxdbEv/h1rVbDzNIz8+XE7/NrQ03tjhkPoHNK9TwsVpO6Mz+6RKm8n4XEUj7BsR+
         /V1QLz9RoeaMMcPHDaw62gMtvHArAZ0Q8+o7e/9o4aJN9FeCIfJDiIbbpYWKmLqMlLVP
         AxGg==
X-Gm-Message-State: AOJu0Yypd8/GKaxrXP0BZDKq+7ZFiaxPddPWnDgLnXHlfDtE1F9qiht4
	AwC33PzMZZRt28bpLTZlLaEEywjFz0q9HlXC6JxrtaShObDCUrBiHetpox03ugefTpl7iQYdE8l
	19RQ=
X-Gm-Gg: ASbGncvMjl+5ToKng56jgnZRulTpQDrbtq+iOK4lskuK2k7DhFicoQbDLP96/MaapiB
	YnuW+8dKy3qdEdsIIukEsWVfWZ1JXI7oclEnHN+xt//JtBrlPW7dWGpN80IKqoR1DEC6X1tAlwr
	rvXp/OMm9+bmNyBhPmkPOsi2ubQgoqkLxrYoVXVmzgdREgJWZsliI1gGeTk1qjfYY5cVDVgAnCV
	BOQGgXw7Sqpsk3QzKwmKsYrbIs+vj5EPLKDhngVR2X3iivTjJ/KPtksk2CRq6Y+57SBqXPgkPnR
	oQOrdA1MvD/tg6CpgVc9DxwgQwV70hpKUhjzn9t6XZj+0vTj7NSJ31Ggo7LWtrykb/tVGuYWAxJ
	7tfr7lNfC4SHLH5g6zg==
X-Google-Smtp-Source: AGHT+IH6MShYffuxbjDdUqB8RFBDhCxfbFg4CEsTMU0k1vseBE0QU1Z/fzvNrAzNW4zlVQ8MY3fZ1A==
X-Received: by 2002:a05:600c:3d19:b0:43d:209:21fd with SMTP id 5b1f17b1804b1-43d50a3ce66mr230876855e9.30.1743002760704;
        Wed, 26 Mar 2025 08:26: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>
Subject: [PATCH] x86/emul: Adjust handling of CR8_LEGACY
Date: Wed, 26 Mar 2025 15:25:58 +0000
Message-Id: <20250326152558.350103-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

The CR8_LEGACY feature was introduced in the K8 Revision F.  It doesn't exist
in prior revisions of the K8.

Furthermore, from APM Vol2 3.1.5 CR8 (Task Priority Register, TPR):

  The AMD64 architecture introduces a new control register, CR8, defined as
  the task priority register (TPR).

Give CR8_LEGACY a dependency on LM, seeing as CR8 doesn't exist on pre-64bit
CPUs.

Additionally, from APM Vol3 4 System Instructions MOV CRn:

  CR8 can be read and written in 64-bit mode, using a REX prefix.  CR8 can be
  read and written in all modes using a LOCK prefix instead of a REX prefix to
  specify the additional opcode bit.

i.e. the LOCK prefix serves as an alternative encoding for REX.R.

Switch decode_twobyte() from += 8 to |= 8 to better match the description
given.  Other indications that the encoding isn't additive are that the CR
intercepts stop at 15, that LOCK MOV CR8 generates #UD rather than becoming a
CR0 access.

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

Also, designers never put an ADD into silicon if they can possibly avoid it,
because it's slow and large compared to the single OR gate needed in this
case.
---
 xen/arch/x86/x86_emulate/decode.c |  4 ++--
 xen/tools/gen-cpuid.py            | 10 ++++++----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/decode.c b/xen/arch/x86/x86_emulate/decode.c
index 7ce97c4726dc..e4a17ea2cd59 100644
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -777,10 +777,10 @@ decode_twobyte(struct x86_emulate_state *s,
     case 0x20: case 0x22: /* mov to/from cr */
         if ( s->lock_prefix && vcpu_has_cr8_legacy() )
         {
-            s->modrm_reg += 8;
+            s->modrm_reg |= 8;
             s->lock_prefix = false;
         }
-        /* fall through */
+        fallthrough;
     case 0x21: case 0x23: /* mov to/from dr */
         ASSERT(s->ea.type == OP_REG); /* Early operand adjustment ensures this. */
         generate_exception_if(s->lock_prefix, X86_EXC_UD);
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index a77cb30bdb4f..bb7ac5291589 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -271,10 +271,12 @@ def crunch_numbers(state):
 
         # CX16 is only encodable in Long Mode.  LAHF_LM indicates that the
         # SAHF/LAHF instructions are reintroduced in Long Mode.  1GB
-        # superpages, PCID and PKU are only available in 4 level paging.
-        # NO_LMSL indicates the absense of Long Mode Segment Limits, which
-        # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, AMX_TILE, CMPCCXADD],
+        # superpages, PCID and PKU are only available in 4 level paging.  The
+        # CR8 register only exists in the AMD64 architecture.  NO_LMSL
+        # indicates the absense of Long Mode Segment Limits, which have been
+        # dropped in hardware.
+        LM: [CX16, PCID, LAHF_LM, CR8_LEGACY, PAGE1GB, PKU, NO_LMSL,
+             AMX_TILE, CMPCCXADD],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.

base-commit: 38adc2d7879c9a68b21a1dddb09d9c9f34d15ee4
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:33:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928009.1330768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSkk-0000PG-FG; Wed, 26 Mar 2025 15:33:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928009.1330768; Wed, 26 Mar 2025 15:33: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 1txSkk-0000P9-CD; Wed, 26 Mar 2025 15:33:14 +0000
Received: by outflank-mailman (input) for mailman id 928009;
 Wed, 26 Mar 2025 15:33: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=SgUP=WN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txSkj-0000P3-Dj
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:33:13 +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 9ffdd6c1-0a57-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 16:33:11 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3912c09be7dso4669079f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 08:33: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-43d82e83482sm5929025e9.14.2025.03.26.08.33.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 08:33: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: 9ffdd6c1-0a57-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743003191; x=1743607991; 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=D6mNQiPv2roExn7o1sekMybwiaNzAsyneItle3PBlpk=;
        b=O6Lfk+dcVRB9Bk6Bse+r143fgidkI2U6faz9Uj8W0YGqanqA+kpsy19PK78FcBAC/1
         AKbXkLcZuK9XZ6UCkwtP8jk+PxBgWU+KuJ3P/uvEVdQ9jLN3HX8fDjDeLV/m4wxN0/iO
         TrtpdLPO88SEQvbO5gK8GaVN8+K6UOEeXJV3ZYfJQSv0GUnLdFoTZsE1+Zf3y4nKm5q1
         OZnLeLfL1X8kJPvlwK6DO4HoFN+4t4WKdaRo/qhR6y2WTWOnim4FMAl0VU6iY6tuLd0X
         /FpEAagDREk0+9kuYXw40BjJ5YyA5WIBYUF06X1XHePvmyeRvzRs7tFv8jdJg1j6l1MH
         7wLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743003191; x=1743607991;
        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=D6mNQiPv2roExn7o1sekMybwiaNzAsyneItle3PBlpk=;
        b=Lobo9r/LcGtUdomJ6Dzbfdh4pU45gzTqP6TCLeaJvNBhld5/Ud7+gWsK3P42iMec4J
         oNyx7waCzQ1GS0nQsWOLw1ZhZPF6I56dgTewllh+P3XalptPqmzEoi8YGS8vtTjQ3HAs
         54ivJgO1kGPTk/xqHZ+hWrAjKQ2TlHa0pBAvOaKeqYNfsVa+6eb3L2bPuRNrt375/Wvr
         hhpwEsif7KGL/dsTEKQJdTiouuZJwjTkxWvaH5TVLv6rFA51D+OAS7uQUQVTuIIKUkHh
         Arvip2CyaH9CuPwBMtou5481O7tHT3iH9DhfXSuhjw15v2uCt6wcCW8Rw6TuMdLk6F06
         qNAQ==
X-Forwarded-Encrypted: i=1; AJvYcCU7rtjLLdc3toJXE7/xCDOJFzjiuKbDEEBvzpuIuDWYxOn3cZ7GOtvWYlmCYLBPngIQynFkSpjQK3g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyTC8PWzIjz8hEQu71h0XWDaeRNcZ2d2p+it7dSRJel9C07EwOI
	3fEf2tIQHGq9s8zUCnlL8zPT8JGONi10sTX2FaaSeNVl72g4lsELRfx+vFDR3g==
X-Gm-Gg: ASbGnctYWqVwoQHH4H8SHt8gvQKqBW6ztgBiA59/zS0zAqptJ0Lieg9xBj6ppHlAXce
	5sEV77+eJvwckKTYBp4N6Y27oRQcQht3UIqTenwSN3CIWor3n3A8PEJXxHufgfK/xalIAfbYOjG
	At0+Mt7YWw+qzOgxM5bP1qVEsenkyLcK1bnbnYHfqJxIh2cp8sKNeaJGq+XcZlhzkumJGQkisrw
	JPC7r0RJYXPODMcSHLN9UBlVl5s8O4VEOnhkQaTIp65FdwrSgddrHYBHrvAAcHAQnmgPbb8cIUi
	5w8SsE0EjNd4uVlqMvlmdZKVKKFe4AS61uIAVNEz2s7sPfkg6veGHvcJB2bAc2wdEjzBQniMidt
	AcDCLnUqPGAGuX3B75hK1YpGm0cOtjSXWVu+Pk3Nl
X-Google-Smtp-Source: AGHT+IG3cMWRg9GpjcfBghWL7oqhUP++O/0VjDq4zeOdi/WtmSsB4JbzrNNA/Mw6oA2BrZ3h6OPuFw==
X-Received: by 2002:a05:6000:1864:b0:391:10c5:d1ab with SMTP id ffacd0b85a97d-3997f8f61d0mr17234935f8f.5.1743003190558;
        Wed, 26 Mar 2025 08:33:10 -0700 (PDT)
Message-ID: <4af7fa9a-ec99-4304-8016-9f1448d9e2a6@suse.com>
Date: Wed, 26 Mar 2025 16:33:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/emul: Adjust handling of CR8_LEGACY
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: <20250326152558.350103-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: <20250326152558.350103-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.03.2025 16:25, Andrew Cooper wrote:
> The CR8_LEGACY feature was introduced in the K8 Revision F.  It doesn't exist
> in prior revisions of the K8.
> 
> Furthermore, from APM Vol2 3.1.5 CR8 (Task Priority Register, TPR):
> 
>   The AMD64 architecture introduces a new control register, CR8, defined as
>   the task priority register (TPR).
> 
> Give CR8_LEGACY a dependency on LM, seeing as CR8 doesn't exist on pre-64bit
> CPUs.

But that's not what LM stands for in the dependencies. If you want to run a
guest strictly as 32-bit one, you could suppress exposure of LM. That
shouldn't also suppress the ability to access CR8 then, though - the LOCK
way of accessing was - aiui - specifically added to allow access to it from
a 32-bit kernel.

> Additionally, from APM Vol3 4 System Instructions MOV CRn:
> 
>   CR8 can be read and written in 64-bit mode, using a REX prefix.  CR8 can be
>   read and written in all modes using a LOCK prefix instead of a REX prefix to
>   specify the additional opcode bit.
> 
> i.e. the LOCK prefix serves as an alternative encoding for REX.R.
> 
> Switch decode_twobyte() from += 8 to |= 8 to better match the description
> given.  Other indications that the encoding isn't additive are that the CR
> intercepts stop at 15, that LOCK MOV CR8 generates #UD rather than becoming a
> CR0 access.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> Also, designers never put an ADD into silicon if they can possibly avoid it,
> because it's slow and large compared to the single OR gate needed in this
> case.

My reading of the respective doc was never resulting in something unambiguous.
I find this argument far more convincing than anything that's in the doc.

I probably should have tried out REX + LOCK. Maybe I even did and concluded
from it faulting that the two things are cumulative.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:44:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928021.1330777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSvL-0003Ch-DT; Wed, 26 Mar 2025 15:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928021.1330777; Wed, 26 Mar 2025 15:44: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 1txSvL-0003Ca-AN; Wed, 26 Mar 2025 15:44:11 +0000
Received: by outflank-mailman (input) for mailman id 928021;
 Wed, 26 Mar 2025 15:44: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=XIkG=WN=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1txSvK-0003CS-2K
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:44: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 28260706-0a59-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 16:44:09 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-abbb12bea54so991887966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 08:44:09 -0700 (PDT)
Received: from localhost ([46.149.103.13]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef86e4f1sm1053698066b.29.2025.03.26.08.44.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 08:44: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: 28260706-0a59-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1743003848; x=1743608648; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t/gA25aNLaH15+MxnPrTob9W9SY86dCiAks8WiBXv5M=;
        b=QGjyLTRz3UHNwlNnnIy4bi9yNPbgPe5OcULlei3cwd7PDeKb1/gtYF1/ISBKYOzvT1
         Locna1zwhJ3G5QeBMtH59ES9t3xqWPlSc69MDRh7WnmRgM9zBUp9nq08GJbDgYQDOs8/
         2kSPRXeVNqcJYju1h/+Q73lYkXOhrMxO1WDe4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743003848; x=1743608648;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=t/gA25aNLaH15+MxnPrTob9W9SY86dCiAks8WiBXv5M=;
        b=lJGMFU7lnQApe9AY7JX4DM7NXVnPHPN/rSONfh7jI0BLSvolVKVTaCenMGoX5xkRzL
         4q7a/yO5jjSR914FZaGw0SK+iXXum1A8rcE3ymCSj004clmPRNwHQRXT+bIjLRZXb0mZ
         xpgNi5DVdFxBSSozWHp7qMeazN6tsg27n7p8C1Qus8fxKbqMtodQEv5vYTHii/6yMmRE
         4BClkq2WP2US6IsvkhG2GTEgnIuocC236M5xINo8q8+OVW7DxIXu7ztIku9NSdX5ypVL
         AVXJhUx5fxd0O3fyDFJyIeUkSvDn1Qp45CKIv5Kh/5mnwr/PjpJ8DjzCDqUkqRvM0S99
         rG5w==
X-Gm-Message-State: AOJu0Yzyme3tg2ED5H+wlVQT5GHc11T4ifZuBeziuofql/+jLdICTjhK
	6eQ9FHssbFWnEflJuwKukq+RIIExLX+6rBQffmY6AVYs2luh+C2a5qtZxlUHWe8=
X-Gm-Gg: ASbGncvqCzGlDedZLukzMIUWc4KmMBu/Y2upxAoV4nmH5F0LGsiHwOG+ibA/1jXyjPF
	LHhMz7xMpAp5rNc4f2aAyKlLfndxseW2l0pEzJaEvL8JEpPAv04pkGfzkwv3hS6dhXo2GfvEtjO
	GWbvotC6f9cSNjjzXl48tO3KT3whdy9v9XfQg3+H5RoRZIsuke1nh7esxEXSD4Oa7sg1V4z00Ug
	dOh+JJLStdnURyO4gVSm1xcNwf9uXvZL+qXdWrxpTzHlc8jt390ob6t6JGhonGgGBz6Z4OcTApH
	TuBWJkp0z4LFgMykCZdeXOH+T5qidUHNmS46KWYdyBuWOexjB0Mk1jZ1fHObxQ==
X-Google-Smtp-Source: AGHT+IGGxe5drznngos4Vd7+Dh2Mofsgf6B/DAjK4gVuktDK4a9UQeKp8n3KVKEa/blQJTNglaqQ6Q==
X-Received: by 2002:a17:906:4fcd:b0:ac3:49f0:4d10 with SMTP id a640c23a62f3a-ac3f24b42camr2300812866b.38.1743003848464;
        Wed, 26 Mar 2025 08:44:08 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 26 Mar 2025 15:44:05 +0000
Message-Id: <D8QBAOE8U497.UAKETQOU3D2Y@cloud.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>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Stefano Stabellini" <sstabellini@kernel.org>
Subject: Re: [PATCH] tools: Remove support for qemu-trad's battery reporting
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: =?utf-8?q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
X-Mailer: aerc 0.18.2
References: <20250325174110.467-1-alejandro.vallejo@cloud.com>
 <Z-QIOJax7of-y79f@mail-itl>
In-Reply-To: <Z-QIOJax7of-y79f@mail-itl>

On Wed Mar 26, 2025 at 1:59 PM GMT, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Mar 25, 2025 at 05:41:10PM +0000, Alejandro Vallejo wrote:
> > The way this undocumented feature works is via qemu-trad (who nobody
> > uses anymore), by intercepting 3 magic PIOs. 0x88 is one of them, and
> > it's probed by hvmloader as a means of detecting support for this (so,
> > on qemu-upstream this check always fails). If hvmloader detects the
> > feature, it appends an SSDT with AML inherited from some laptop ~20y
> > ago. QEMU then communicates with a userspace daemon (xenpmd) via an
> > undocumented xenstore key ("refreshbatterystatus") in order to report
> > battery levels.
> >=20
> > Seeing how no one uses, mantains or cares about qemu-trad anymore, rip
> > it all out. The hvmloader check, the SSDT generation logic and xenpmd.
>
> Oh, I didn't know something like this existed!

In retrospect, it might've been for the best. I really dislike the way it's=
 put
together. Using xenstore feels really pointless.

> We needed a feature like this, and solved it via extra kernel module +
> PV-like interface to feed it with data from dom0:
> https://github.com/QubesOS/qubes-dummy-psu/

I did wonder (after learning how this all works) how you guys did it withou=
t
qemu-trad. I guess that explains it. FWIW, it's not hard to do this properl=
y on
QEMU upstream. We could create a new field under a BAR of the Xen platform
device and instruct some (much, much, much simpler) AML to read the battery
level from there. Then QEMU can ask the real system what the battery level =
is
and Bob's your uncle.

But...

>
> I guess it doesn't make much sense for me to resurrect the old interface
> and bring it to QEMU upstream, as I need the battery info in PVH too.
> So, I'm fine with removing it as is.

... in principle I'd say QubesOS and OpenXT are the two only plausible user=
s of
this feature. So it's a tad pointless if you've since developed a working
solution many years ago.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:45:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:45:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928029.1330787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txSwL-0003hY-Mk; Wed, 26 Mar 2025 15:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928029.1330787; Wed, 26 Mar 2025 15:45: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 1txSwL-0003hQ-K2; Wed, 26 Mar 2025 15:45:13 +0000
Received: by outflank-mailman (input) for mailman id 928029;
 Wed, 26 Mar 2025 15:45: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=/1hs=WN=bounce.vates.tech=bounce-md_30504962.67e42105.v1-c92b4bcbb10142aead979be8e26344ee@srs-se1.protection.inumbo.net>)
 id 1txSwK-0003e8-4g
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:45:12 +0000
Received: from mail134-16.atl141.mandrillapp.com
 (mail134-16.atl141.mandrillapp.com [198.2.134.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c8f8afe-0a59-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 16:45:10 +0100 (CET)
Received: from pmta10.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail134-16.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4ZNB1x29L7zB5p7nN
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 15:45:09 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 c92b4bcbb10142aead979be8e26344ee; Wed, 26 Mar 2025 15:45: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: 4c8f8afe-0a59-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743003909; x=1743273909;
	bh=3hi8aZCVSf89jZ5GLNkCFvPhATPL3V0uftBKHvxHiac=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Q7G46ggii5rbBKyAUCajYbSwKenCHs/0rJ6L8rtKFCm+ejXb8V+xESkrO43EW6AY8
	 vL6qddd932DZHIBXhdbIMTdys2DEDPmn1Nq73B/EDKVjgSrkPeSbtQgkQ36crjEazS
	 IMb0v5cJnfrWOb2Okv10uE8Gc/wKijGkoj8rzeGPRfMBZcNJq95kqjfE6cc21YfI37
	 VzX03x3/SAQHHJbXRox/WR3GpMpEiJi9urqsdOl68j8FtnDgzIHVl5DnTDy0ar8smJ
	 w3Q02iv+C7hvI4NwnzFMoIHJGQHnVrI/VMH7gJDLBtPRzBoRqbBxzePmkuKJTFceTn
	 NO/8oEI4DIkRQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743003909; x=1743264409; i=anthony.perard@vates.tech;
	bh=3hi8aZCVSf89jZ5GLNkCFvPhATPL3V0uftBKHvxHiac=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Zp+ooy7Q9E+KpIEqZbdjUUSrIu83/7jj2OH+mfuUCKwRdWzT1yMzkLWlhsjhNHO0A
	 0FxqueioPJKOyh9w0m/oSoibMHLVlXFitbz7d1ggnBEoFvSsl/ZYkMNlNgjIfz9hYY
	 3hS9ewNPg9ir5BSUWSABagYlm3qZhZaCUQxxEX93/CLulsXOLySNKUhaC0/4NdlHfW
	 miaMNX8osnFAsXJkxJknycNw9IgrRhdBOZ6oqmLoFuPKua2GxP58wH49KVSnuv1vD6
	 GZaSuGiC//JFP31yo3AOu1Og/rrSoEoLQsdibfVuSjLeRrWIkZw7N+H7hL/5Ex4395
	 o/XLKErQzIBsg==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v3=2014/15]=20xen/xenpm:=20Adapt=20cpu=20frequency=20monitor=20in=20xenpm?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743003908057
To: "Jan Beulich" <jbeulich@suse.com>
Cc: "Penny Zheng" <Penny.Zheng@amd.com>, "Jason Andryuk" <jandryuk@gmail.com>, ray.huang@amd.com, "Juergen Gross" <jgross@suse.com>, xen-devel@lists.xenproject.org
Message-Id: <Z-QhA4t3cHkvIt_U@l14>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com> <20250306083949.1503385-15-Penny.Zheng@amd.com> <6f5a81d7-c650-46d2-b667-6b7c3bc54c41@suse.com>
In-Reply-To: <6f5a81d7-c650-46d2-b667-6b7c3bc54c41@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.c92b4bcbb10142aead979be8e26344ee?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250326:md
Date: Wed, 26 Mar 2025 15:45:09 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Mar 25, 2025 at 12:26:09PM +0100, Jan Beulich wrote:
> On 06.03.2025 09:39, Penny Zheng wrote:
> > Make `xenpm get-cpureq-para/set-cpufreq-para` available in CPPC mode.
> > --- a/tools/libs/ctrl/xc_pm.c
> > +++ b/tools/libs/ctrl/xc_pm.c
> > @@ -214,13 +214,12 @@ int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
> > @@ -301,7 +302,8 @@ unlock_4:
> >      if ( user_para->gov_num )
> >          xc_hypercall_bounce_post(xch, scaling_available_governors);
> >  unlock_3:
> > -    xc_hypercall_bounce_post(xch, scaling_available_frequencies);
> > +    if ( user_para->freq_num )
> > +        xc_hypercall_bounce_post(xch, scaling_available_frequencies);
> >  unlock_2:
> >      xc_hypercall_bounce_post(xch, affected_cpus);
> >  unlock_1:
> 
> I'm also puzzled by the function's inconsistent return value - Anthony,
> can you explain / spot why things are the way they are?

Looks like 73367cf3b4b4 ("libxc: Fix xc_pm API calls to return negative
error and stash error in errno.") made some changes, and fixed some
return value to be like described in "xenctrl.h", but I guess failed to
also change the "ret = -errno".

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 15:51:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 15:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928039.1330797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txT2N-00060M-AK; Wed, 26 Mar 2025 15:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928039.1330797; Wed, 26 Mar 2025 15:51: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 1txT2N-00060F-7j; Wed, 26 Mar 2025 15:51:27 +0000
Received: by outflank-mailman (input) for mailman id 928039;
 Wed, 26 Mar 2025 15:51: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txT2L-000609-HB
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 15:51: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 2bb96f21-0a5a-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 16:51:24 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so6735045e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 08:51:24 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9ef23esm17076793f8f.81.2025.03.26.08.51.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 08:51: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: 2bb96f21-0a5a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743004284; x=1743609084; 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=qKijxke+AzpWn/noJtkVwwHiLuyFBHz6vFTC2DadQ2M=;
        b=MiRptaj6nyzweGXS0ubrbF/8FOwzTg5totStpyzPx1q5CFLyLWvPDEUlkw3LH5njSc
         n2uZd6BW+JNTiPv9U8nULCrB0BfHSFyo1nZYBYv6jquw0ivvpHSto/hscnamZQLc00g5
         1+6BVLqe7UKVSWjtjUvE8jt/8ql3oGiNgWlk8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743004284; x=1743609084;
        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=qKijxke+AzpWn/noJtkVwwHiLuyFBHz6vFTC2DadQ2M=;
        b=B8/zXnlQJpEVenMCC0W62YblqvfllYcIhw/eODH6R/1L4hXeOYjJGOGqJrZ7IIm6Ol
         IdSRvWDrlOY3y+FQqMub5vanYhJxWhTRITmOG/nqXpoXrMIJdPydW763Zzfj9l7tR/0y
         wSz8HobWr+ZElSeMTYujflwh31ncGuWlyFkKBmGupqJMpDPwOMM9i+7bnlclrJxVGvIF
         WjHNeLaaLhy8BBR+K6EtQHaq6/XvWZSLm9PlQpRKgCHuaytrvZGljSYS74KYkzEfwnLY
         1Cf/dbAyXVypGNbQxHUXEwXZ3SVDCXoCc++OP0zC5UHD11XHgSucZltOi9SKAwoOO9nM
         JzMg==
X-Gm-Message-State: AOJu0YzrVawagHyMAzUpI4o9tFN+WTj7m+uXNNcMJKLGdX40BH4Nd1ya
	2TXsQ7z46qsuALIKUcJOF3F2c+P+57oJLI2u8J03QXku4J6/MqO5WEriF+lbuoQ0sHF6jzAffJg
	vtdE=
X-Gm-Gg: ASbGncsLrc+8bcTyfSo3LuT+UPpWKE5LNgeyI3ZqNuuyBhUzWnDlJVzrWZYCWkx6AzN
	KBW80NKlhmqRa3CDsrKVEs7u5bcDfUuHmyKUlzRk4LmUQaQtrlfZB75oCwC0ckmLGGkOxRjR2dE
	S1DU/lVjJNwPnuBx0+R67ycNnGX2W9OOb5MuVOWXfKX1L4Me9jfGG+BYYRhi6O5Y1K7oWqOkncf
	RXontjhudpXlCQ1XqYeiNFwNOqP0lxNY/LpjRZ+fFln92Dc/rKfafRFViLvkBUN0fzn+6cnpy4o
	2r5f3Ouwp8fnPTzQbq3OJ4OxGiQomayXnV5LhrARWFTzvPcr/qGLcRQkKfp3K/8kQ2eQD1E+UaE
	FVJi/9inOOqyO+/EMxg==
X-Google-Smtp-Source: AGHT+IFlTNkdKsVI29te81xBexb3cl6+MmL7h4BMYQCLGUeF6htMKF1fxWFoqnR3D2YelCt7eAQhqg==
X-Received: by 2002:a05:600c:6c9:b0:439:91c7:895a with SMTP id 5b1f17b1804b1-43d775be4b3mr29222435e9.7.1743004283672;
        Wed, 26 Mar 2025 08:51:23 -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>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH] ARM/vgic: Fix out-of-bounds accesses in vgic_mmio_write_sgir()
Date: Wed, 26 Mar 2025 15:51:21 +0000
Message-Id: <20250326155121.364658-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The switch() statement is over bits 24:25 (unshifted) of the guest provided
value.  This makes case 0x3: dead, and not an implementation of the 4th
possible state.

A guest which writes (3<<24)|(ff<<16) to this register will skip the early
exit, then enter bitmap_for_each() with targets not bound by nr_vcpus.

If the guest has fewer than 8 vCPUs, bitmap_for_each() will read off the end
of d->vcpu[] and use the resulting vcpu pointer to ultimately derive irq, and
perform an out-of-bounds write.

Fix this by changing case 0x3 to default.

Fixes: 08c688ca6422 ("ARM: new VGIC: Add SGIR register handler")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>

This vgic driver is explicity not security supported, hence no XSA.
---
 xen/arch/arm/vgic/vgic-mmio-v2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mmio-v2.c
index 670b335db2c3..7d1391ac9b48 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v2.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
@@ -104,7 +104,8 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
     case GICD_SGI_TARGET_SELF:                    /* this very vCPU only */
         targets = (1U << source_vcpu->vcpu_id);
         break;
-    case 0x3:                                     /* reserved */
+
+    default:
         return;
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:04:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928050.1330807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTFJ-0001T3-Fe; Wed, 26 Mar 2025 16:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928050.1330807; Wed, 26 Mar 2025 16:04: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 1txTFJ-0001Sw-Cf; Wed, 26 Mar 2025 16:04:49 +0000
Received: by outflank-mailman (input) for mailman id 928050;
 Wed, 26 Mar 2025 16:04: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTFI-0001Sq-4p
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:04:48 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 099f89d0-0a5c-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 17:04:47 +0100 (CET)
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 2080B21188;
 Wed, 26 Mar 2025 16:04:45 +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 8DB421374A;
 Wed, 26 Mar 2025 16:04:44 +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 /Sl6IJwl5GfjaAAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 16:04: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: 099f89d0-0a5c-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005085; 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=Mw4RxgaffXF8Asm/Kqv9wRh52ywIsAgZd0gvW87OnkM=;
	b=M1k7/HcC1cN+TX+Zmc3kfJPxIj/7BublygEVoGtXNfroGxyTIk2+hGMWWwYvIspV/TCp4S
	cEttVUqp1/rlGMa2DSnA3rJ9WDReRYhnn8JDs32SbPduXxNthd4S006WM0c2ArEyom9otb
	2zD8DqlWUQzWcX8VDelKGfry5SnSeJ8=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b="M1k7/HcC"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005085; 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=Mw4RxgaffXF8Asm/Kqv9wRh52ywIsAgZd0gvW87OnkM=;
	b=M1k7/HcC1cN+TX+Zmc3kfJPxIj/7BublygEVoGtXNfroGxyTIk2+hGMWWwYvIspV/TCp4S
	cEttVUqp1/rlGMa2DSnA3rJ9WDReRYhnn8JDs32SbPduXxNthd4S006WM0c2ArEyom9otb
	2zD8DqlWUQzWcX8VDelKGfry5SnSeJ8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	George Dunlap <gwd@xenproject.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH 0/6] remove qemu-traditional
Date: Wed, 26 Mar 2025 17:04:34 +0100
Message-ID: <20250326160442.19706-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 2080B21188
X-Spam-Score: -1.51
X-Rspamd-Action: no action
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,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[15];
	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)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.com:+];
	FREEMAIL_CC(0.00)[suse.com,gmail.com,xenproject.org,citrix.com,vates.tech,amd.com,xen.org,kernel.org,invisiblethingslab.com,ens-lyon.org];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Remove the qemu-traditional support. This includes the Mini-OS
based ioemu-stubdom.

I _think_ rombios support could be removed, too, but this can be
done in a second step.

After adding the series a run of autoconf should be done.

Juergen Gross (6):
  SUPPORT.md: make Linux based stubdom fully supported
  docs: remove qemu-traditional support from documentation
  tools: remove support for running a guest with qemu-traditional
  tools: remove qemu-traditional
  stubdom: remove ancient stubdom-dm script
  build: don't require full tools build for building stubdoms

 .gitignore                                    |   3 -
 CHANGELOG.md                                  |   2 +
 Config.mk                                     |  24 --
 INSTALL                                       |  12 -
 MAINTAINERS                                   |   4 -
 Makefile                                      |   2 +-
 README                                        |   2 +-
 SUPPORT.md                                    |  18 +-
 config/Tools.mk.in                            |   1 -
 docs/man/xl-pci-configuration.5.pod           |   4 +-
 docs/man/xl.cfg.5.pod.in                      |  46 +--
 docs/misc/stubdom.txt                         |  52 ---
 docs/misc/xenstore-paths.pandoc               |   2 +-
 docs/process/branching-checklist.txt          |   4 -
 docs/process/release-technician-checklist.txt |   3 -
 docs/process/xen-release-management.pandoc    |   2 +-
 stubdom/Makefile                              |  84 +----
 stubdom/configure                             |  90 -----
 stubdom/configure.ac                          |  15 -
 stubdom/ioemu-minios.cfg                      |   6 -
 stubdom/stubdom-dm                            | 182 ----------
 tools/Makefile                                |  58 ----
 tools/Rules.mk                                |   3 -
 tools/config.h.in                             |   3 -
 tools/configure                               |  40 +--
 tools/configure.ac                            |  21 +-
 tools/firmware/hvmloader/pci.c                |  19 +-
 tools/firmware/hvmloader/util.c               |   9 +-
 tools/golang/xenlight/types.gen.go            |   1 -
 tools/libacpi/mk_dsdt.c                       | 177 ++--------
 tools/libs/light/libxl_create.c               |  60 +---
 tools/libs/light/libxl_disk.c                 |   7 -
 tools/libs/light/libxl_dm.c                   | 320 +-----------------
 tools/libs/light/libxl_dom.c                  |  10 -
 tools/libs/light/libxl_dom_save.c             | 140 --------
 tools/libs/light/libxl_dom_suspend.c          |  65 ----
 tools/libs/light/libxl_domain.c               |  15 -
 tools/libs/light/libxl_internal.c             |   6 +-
 tools/libs/light/libxl_internal.h             |   5 +-
 tools/libs/light/libxl_pci.c                  | 183 ----------
 tools/libs/light/libxl_stream_write.c         |   4 -
 tools/libs/light/libxl_types.idl              |   1 -
 tools/python/xen/migration/libxl.py           |   2 -
 tools/xl/xl_parse.c                           |   5 +-
 44 files changed, 74 insertions(+), 1638 deletions(-)
 delete mode 100644 stubdom/ioemu-minios.cfg
 delete mode 100644 stubdom/stubdom-dm

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:04:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928051.1330818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTFM-0001hP-Qr; Wed, 26 Mar 2025 16:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928051.1330818; Wed, 26 Mar 2025 16:04: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 1txTFM-0001hI-NT; Wed, 26 Mar 2025 16:04:52 +0000
Received: by outflank-mailman (input) for mailman id 928051;
 Wed, 26 Mar 2025 16:04: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTFL-0001Sq-WB
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:04:52 +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 0c831113-0a5c-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 17:04:51 +0100 (CET)
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 D3EB21F391;
 Wed, 26 Mar 2025 16:04:50 +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 7F2B11374A;
 Wed, 26 Mar 2025 16:04:50 +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 fPuLHaIl5Gf0aAAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 16:04: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: 0c831113-0a5c-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005091; 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=76i+/SKsEEHaJ6yk2WS1+eCvnz0Uet3AVyzi+W0nPmE=;
	b=lc7ISap1qr60d3IkB+rP89ZMQVVczERMCvfFTFvEUjZF1yFOBRPG9San4+Bwd5rhjQCrRU
	Eu4PTMeNtVGJTWBV6Xs+OYRjIGloU/TiuFsgHodS4NgT1aBdHCOf9tXokd0jXi4dHoeVFp
	WpgeZvTc76oUb4upmkHnc+2XEhWsQIY=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=OBllyPoq
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005090; 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=76i+/SKsEEHaJ6yk2WS1+eCvnz0Uet3AVyzi+W0nPmE=;
	b=OBllyPoqtfr36dk/GCUYk0V7W32FfU6lwoY1tm6wgGo4J33I08dBfiC7hjZFyCG1wUo5BS
	/jm3FB4C/L7aFvWpmX3xhhKS/QKnnROtYN6rBVqA3o7ZtTQbnY2JKvXX2oiZjNAv/Zu+0B
	PVtq9VKd75037lnxu4MJADIpJIm+WF8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/6] SUPPORT.md: make Linux based stubdom fully supported
Date: Wed, 26 Mar 2025 17:04:35 +0100
Message-ID: <20250326160442.19706-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250326160442.19706-1-jgross@suse.com>
References: <20250326160442.19706-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: D3EB21F391
X-Spam-Score: -1.51
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-1.51 / 50.00];
	BAYES_HAM(-3.00)[99.98%];
	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)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_CC(0.00)[suse.com,gmail.com,xenproject.org,citrix.com,vates.tech,amd.com,xen.org,kernel.org];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	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];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_SEVEN(0.00)[11];
	TAGGED_RCPT(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

All patches needed for running with a Linux stubdom device model are
in the tree and QubesOS is using and testing Linux stubdoms nowadays.

Switch support from "Tech Preview" to "Supported".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 CHANGELOG.md | 1 +
 SUPPORT.md   | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a5919585d..b03e2c73d7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
+ - Linux based device model stubdomains are now fully supported.
 
 ### Added
  - On x86:
diff --git a/SUPPORT.md b/SUPPORT.md
index 91cb6f8ed2..ed4412f0af 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -260,7 +260,7 @@ Go (golang) bindings for libxl
 
 Support for running qemu-xen device model in a linux stubdomain.
 
-    Status: Tech Preview
+    Status: Supported
 
 ## Xenstore
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:05:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928054.1330828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTFU-000203-0t; Wed, 26 Mar 2025 16:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928054.1330828; Wed, 26 Mar 2025 16:04: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 1txTFT-0001zr-UH; Wed, 26 Mar 2025 16:04:59 +0000
Received: by outflank-mailman (input) for mailman id 928054;
 Wed, 26 Mar 2025 16:04: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTFT-0001z3-7m
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:04:59 +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 0ff4ea1f-0a5c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 17:04:57 +0100 (CET)
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 9A8431F395;
 Wed, 26 Mar 2025 16:04:56 +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 454D71374A;
 Wed, 26 Mar 2025 16:04:56 +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 dn9rD6gl5GcAaQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 16:04: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: 0ff4ea1f-0a5c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005096; 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=Kp8xZi9xPjedmkaz5KFhjbrGCNGIxQLdI0SJt0CLi8k=;
	b=SI0NVfPgKLFzhwR9mN8zDpVRTjc2taoCRHpcDj3sJwrwqdw+FgNvHv7+SxS5VaEd2LGcqY
	vuXuoMoHcVqLO2F45NZfIjPnpRVoVI1EvmZx5z3CnrXdx8PssC6Dn9ApZbSuWemKhon8la
	TkH7pJofjKrcVQFHkXNkDexftiUIGKs=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005096; 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=Kp8xZi9xPjedmkaz5KFhjbrGCNGIxQLdI0SJt0CLi8k=;
	b=SI0NVfPgKLFzhwR9mN8zDpVRTjc2taoCRHpcDj3sJwrwqdw+FgNvHv7+SxS5VaEd2LGcqY
	vuXuoMoHcVqLO2F45NZfIjPnpRVoVI1EvmZx5z3CnrXdx8PssC6Dn9ApZbSuWemKhon8la
	TkH7pJofjKrcVQFHkXNkDexftiUIGKs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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/6] docs: remove qemu-traditional support from documentation
Date: Wed, 26 Mar 2025 17:04:36 +0100
Message-ID: <20250326160442.19706-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250326160442.19706-1-jgross@suse.com>
References: <20250326160442.19706-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
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];
	ARC_NA(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_TLS_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[9];
	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: 

In preparation to no longer support qemu-traditional (including
qemu-stubdom), remove it from documentation.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 docs/man/xl-pci-configuration.5.pod           |  4 +-
 docs/man/xl.cfg.5.pod.in                      | 46 +++-------------
 docs/misc/stubdom.txt                         | 52 -------------------
 docs/misc/xenstore-paths.pandoc               |  2 +-
 docs/process/branching-checklist.txt          |  4 --
 docs/process/release-technician-checklist.txt |  3 --
 docs/process/xen-release-management.pandoc    |  2 +-
 7 files changed, 12 insertions(+), 101 deletions(-)

diff --git a/docs/man/xl-pci-configuration.5.pod b/docs/man/xl-pci-configuration.5.pod
index ec76f590b7..0691f06ad3 100644
--- a/docs/man/xl-pci-configuration.5.pod
+++ b/docs/man/xl-pci-configuration.5.pod
@@ -111,8 +111,8 @@ if this parameter is not specified.
 =item Description
 
 By default pciback only allows PV guests to write "known safe" values
-into PCI configuration space, likewise QEMU (both qemu-xen and
-qemu-xen-traditional) imposes the same constraint on HVM guests.
+into PCI configuration space, likewise QEMU imposes the same constraint
+on HVM guests.
 However, many devices require writes to other areas of the configuration space
 in order to operate properly.  This option tells the backend (pciback or QEMU)
 to allow all writes to the PCI configuration space of this device by this
diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 7339c44efd..ccf0c58895 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -895,12 +895,6 @@ is used.
 Specifies the path to the X authority file that should be used to
 connect to the X server when the B<sdl> option is used.
 
-=item B<opengl=BOOLEAN>
-
-Enable OpenGL acceleration of the SDL display. Only effects machines
-using B<device_model_version="qemu-xen-traditional"> and only if the
-device-model was compiled with OpenGL support. The default is 0 (disabled).
-
 =item B<keymap=LANG>
 
 Configure the keymap to use for the keyboard associated with this
@@ -1215,17 +1209,14 @@ working graphics passthrough. See the XenVGAPassthroughTestedAdapters
 L<https://wiki.xenproject.org/wiki/XenVGAPassthroughTestedAdapters> wiki page
 for graphics cards currently supported by B<gfx_passthru>.
 
-B<gfx_passthru> is currently supported both with the qemu-xen-traditional
-device-model and upstream qemu-xen device-model.
+B<gfx_passthru> is currently supported with the upstream qemu-xen device-model.
 
 When given as a boolean the B<gfx_passthru> option either disables graphics
 card passthrough or enables autodetection.
 
 When given as a string the B<gfx_passthru> option describes the type
 of device to enable. Note that this behavior is only supported with the
-upstream qemu-xen device-model. With qemu-xen-traditional IGD (Intel Graphics
-Device) is always assumed and options other than autodetect or explicit IGD
-will result in an error.
+upstream qemu-xen device-model.
 
 Currently, valid values for the option are:
 
@@ -1903,10 +1894,7 @@ it may be useful to request a different one, like UEFI.
 
 =item B<rombios>
 
-Loads ROMBIOS, a 16-bit x86 compatible BIOS. This is used by default
-when B<device_model_version=qemu-xen-traditional>. This is the only BIOS
-option supported when B<device_model_version=qemu-xen-traditional>. This is
-the BIOS used by all previous Xen versions.
+Loads ROMBIOS, a 16-bit x86 compatible BIOS.
 
 =item B<seabios>
 
@@ -1926,8 +1914,7 @@ Override the path to the blob to be used as BIOS. The blob provided here MUST
 be consistent with the B<bios=> which you have specified. You should not
 normally need to specify this option.
 
-This option does not have any effect if using B<bios="rombios"> or
-B<device_model_version="qemu-xen-traditional">.
+This option does not have any effect if using B<bios="rombios">.
 
 =item B<pae=BOOLEAN>
 
@@ -2516,15 +2503,10 @@ Sets the amount of RAM which the emulated video card will contain,
 which in turn limits the resolutions and bit depths which will be
 available.
 
-When using the qemu-xen-traditional device-model, the default as well as
-minimum amount of video RAM for stdvga is 8 MB, which is sufficient for e.g.
-1600x1200 at 32bpp. For the upstream qemu-xen device-model, the default and
-minimum is 16 MB.
+When using stdvga, the default and minimum is 16 MB.
 
-When using the emulated Cirrus graphics card (B<vga="cirrus">) and the
-qemu-xen-traditional device-model, the amount of video RAM is fixed at 4 MB,
-which is sufficient for 1024x768 at 32 bpp. For the upstream qemu-xen
-device-model, the default and minimum is 8 MB.
+When using the emulated Cirrus graphics card (B<vga="cirrus">), the
+default and minimum is 8 MB.
 
 For QXL vga, both the default and minimal are 128MB.
 If B<videoram> is set less than 128MB, an error will be triggered.
@@ -2590,12 +2572,6 @@ B<qemu(1)> manpage. The default is B<en-us>.
 Specifies that the display should be presented via an X window (using
 Simple DirectMedia Layer). The default is (0) not enabled.
 
-=item B<opengl=BOOLEAN>
-
-Enable OpenGL acceleration of the SDL display. Only effects machines
-using B<device_model_version="qemu-xen-traditional"> and only if the
-device-model was compiled with OpenGL support. Default is (0) false.
-
 =item B<nographic=BOOLEAN>
 
 Enable or disable the virtual graphics device.  The default is to
@@ -2925,11 +2901,6 @@ Valid values are:
 Use the device-model merged into the upstream QEMU project.
 This device-model is the default for Linux dom0.
 
-=item B<qemu-xen-traditional>
-
-Use the device-model based upon the historical Xen fork of QEMU.
-This device-model is still the default for NetBSD dom0.
-
 =back
 
 It is recommended to accept the default value for new guests.  If
@@ -2949,8 +2920,7 @@ to specify this option.
 Override the path to the kernel image used as device-model stubdomain.
 The binary provided here MUST be consistent with the
 B<device_model_version> which you have specified.
-In case of B<qemu-xen-traditional> it is expected to be MiniOS-based stubdomain
-image, in case of B<qemu-xen> it is expected to be Linux-based stubdomain
+In case of B<qemu-xen> it is expected to be Linux-based stubdomain
 kernel.
 
 =item B<stubdomain_cmdline="STRING">
diff --git a/docs/misc/stubdom.txt b/docs/misc/stubdom.txt
index 64c220db20..cfcba4ba96 100644
--- a/docs/misc/stubdom.txt
+++ b/docs/misc/stubdom.txt
@@ -23,58 +23,6 @@ and https://wiki.xen.org/wiki/Device_Model_Stub_Domains for more
 information on device model stub domains
 
 
-Toolstack to MiniOS ioemu stubdomain protocol
----------------------------------------------
-
-This section describe communication protocol between toolstack and
-qemu-traditional running in MiniOS stubdomain. The protocol include
-expectations of both qemu and stubdomain itself.
-
-Setup (done by toolstack, expected by stubdomain):
- - Block devices for target domain are connected as PV disks to stubdomain,
-   according to configuration order, starting with xvda
- - Network devices for target domain are connected as PV nics to stubdomain,
-   according to configuration order, starting with 0
- - if graphics output is expected, VFB and VKB devices are set for stubdomain
-   (its backend is responsible for exposing them using appropriate protocol
-   like VNC or Spice)
- - other target domain's devices are not connected at this point to stubdomain
-   (may be hot-plugged later)
- - QEMU command line (space separated arguments) is stored in
-   /vm/<target-uuid>/image/dmargs xenstore path
- - target domain id is stored in /local/domain/<stubdom-id>/target xenstore path
-?? - bios type is stored in /local/domain/<target-id>/hvmloader/bios
- - stubdomain's console 0 is connected to qemu log file
- - stubdomain's console 1 is connected to qemu save file (for saving state)
- - stubdomain's console 2 is connected to qemu save file (for restoring state)
- - next consoles are connected according to target guest's serial console configuration
-
-Startup:
-1. PV stubdomain is started with ioemu-stubdom.gz kernel and no initrd
-2. stubdomain initialize relevant devices
-3. stubdomain signal readiness by writing "running" to /local/domain/<stubdom-id>/device-model/<target-id>/state xenstore path
-4. now stubdomain is considered running
-
-Runtime control (hotplug etc):
-Toolstack can issue command through xenstore. The sequence is (from toolstack POV):
-1. Write parameter to /local/domain/<stubdom-id>/device-model/<target-id>/parameter.
-2. Write command to /local/domain/<stubdom-id>/device-model/<target-id>/command.
-3. Wait for command result in /local/domain/<stubdom-id>/device-model/<target-id>/state (command specific value).
-4. Write "running" back to /local/domain/<stubdom-id>/device-model/<target-id>/state.
-
-Defined commands:
- - "pci-ins" - PCI hot plug, results:
-   - "pci-inserted" - success
-   - "pci-insert-failed" - failure
- - "pci-rem" - PCI hot remove, results:
-   - "pci-removed" - success
-   - ??
- - "save" - save domain state to console 1, results:
-   - "paused" - success
- - "continue" - resume domain execution, after loading state from console 2 (require -loadvm command argument), results:
-   - "running" - success
-
-
 Toolstack to Linux ioemu stubdomain protocol
 --------------------------------------------
 
diff --git a/docs/misc/xenstore-paths.pandoc b/docs/misc/xenstore-paths.pandoc
index a604f6b1c6..583e977b65 100644
--- a/docs/misc/xenstore-paths.pandoc
+++ b/docs/misc/xenstore-paths.pandoc
@@ -634,7 +634,7 @@ Path in xenstore to the backend, normally
 
 Trustworthy copy of /local/domain/$DOMID/backend/$KIND/$DEVID/$NODE.
 
-#### /libxl/$DOMID/dm-version ("qemu_xen"|"qemu_xen_traditional") = [n,INTERNAL]
+#### /libxl/$DOMID/dm-version ("qemu_xen") = [n,INTERNAL]
 
 The device model version for a domain.
 
diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index 3dfa8ec257..9632888a56 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -14,8 +14,6 @@ ov=4.0
     cd ~/git/qemu-xen.git
     git branch staging-$v staging
     git branch stable-$v master
-    cd ~/git/qemu-xen-traditional.git
-    git branch stable-$v master
 
 # make branch in libvirt
     ssh xen@xenbits.xen.org
@@ -63,7 +61,6 @@ ov=4.0
     cp xen--staging.patchbot-reported-heads xen--staging-$v.patchbot-reported-heads
     cp qemu-xen--master.patchbot-reported-heads  qemu-xen--stable-$v.patchbot-reported-heads
     cp qemu-xen--staging.patchbot-reported-heads  qemu-xen--staging-$v.patchbot-reported-heads
-    cp qemu-xen-traditional--master.patchbot-reported-heads qemu-xen-traditional--stable-$v.patchbot-reported-heads
 
     #emacs versions
     perl -i~ -pe 'next unless m/\b\Q'$ov'\E\b/; $x=$_; $x=~ s/\b\Q'$ov'\E\b/'$v'/g; print $x;' versions
@@ -74,7 +71,6 @@ ov=4.0
 Ensure references to qemu trees and Mini-OS in xen.git's Config.mk are updated.
 The variables and there content should be:
   * QEMU_UPSTREAM_REVISION: qemu-xen-X.Y.0
-  * QEMU_TRADITIONAL_REVISION: xen-X.Y.0
   * MINIOS_UPSTREAM_REVISION: xen-RELEASE-X.Y.0
 Where X.Y is the release version (e.g. 4.17).
 
diff --git a/docs/process/release-technician-checklist.txt b/docs/process/release-technician-checklist.txt
index 7bbe7c1489..64ed9fd5b2 100644
--- a/docs/process/release-technician-checklist.txt
+++ b/docs/process/release-technician-checklist.txt
@@ -32,8 +32,6 @@ t=RELEASE-$r
   git show # should show appropriate intended commit
   git-tag -u 'Xen.org Xen tree code signing' -m "Xen $v" xen-$v
 
-  git-push xenbits.xen.org:/home/xen/git/qemu-xen-traditional.git $s:stable-$x xen-$v
-
 # consider making tag in minios, and updating xen.git Config.mk
   git checkout SOMETHING
   git show # should show appropriate intended commit
@@ -58,7 +56,6 @@ t=RELEASE-$r
 
 * change xen-unstable Config.mk
 #   QEMU_UPSTREAM_REVISION,
-#   QEMU_TRADITIONAL_REVISION
 #   MINIOS_UPSTREAM_REVISION
 #     (drop any references to the specific commits, e.g. date or title)
 * change SUPPORT.md heading version number; -unstable or -rc tag
diff --git a/docs/process/xen-release-management.pandoc b/docs/process/xen-release-management.pandoc
index 7826419dad..5da18f6da1 100644
--- a/docs/process/xen-release-management.pandoc
+++ b/docs/process/xen-release-management.pandoc
@@ -193,7 +193,7 @@ from the last RC:
 
 1. Send out commit moratorium emails to committers@.
 
-2. Check all the trees (mini-os, qemu-trad, qemu-xen, seabios, ovmf etc).
+2. Check all the trees (mini-os, qemu-xen, seabios, ovmf etc).
 They have the correct commits and all security patches applied. There will be
 tools provided.
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:05:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:05:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928057.1330838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTFa-0002KC-8g; Wed, 26 Mar 2025 16:05:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928057.1330838; Wed, 26 Mar 2025 16: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 1txTFa-0002K5-5N; Wed, 26 Mar 2025 16:05:06 +0000
Received: by outflank-mailman (input) for mailman id 928057;
 Wed, 26 Mar 2025 16: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTFY-0001z3-Qa
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:05 +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 1344f2a4-0a5c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 17:05:02 +0100 (CET)
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 4E64A1F395;
 Wed, 26 Mar 2025 16:05:02 +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 EE9091374A;
 Wed, 26 Mar 2025 16:05:01 +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 hX/KOK0l5GcLaQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 16:05: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>
X-Inumbo-ID: 1344f2a4-0a5c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005102; 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=A9Vzi1allQ9buLvZV+s75luec1EITwrMFP5D308DP4o=;
	b=vKXpn+8oVd1QxRFP1ibxvXP/dICedW8T6NXuXHA/3oSg6UFBx3DSfcPjPLUe7+cm//q9FU
	dYqA+/plJ9xYyPZY/G+5aPzY2i2WM+dSpnuUYYkpwmRT4tiF3utQoeoC3nMkkBd/4sQCfC
	aUZmd9NjgPmsS89gqFlFO8pfU+0OF+s=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=vKXpn+8o
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005102; 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=A9Vzi1allQ9buLvZV+s75luec1EITwrMFP5D308DP4o=;
	b=vKXpn+8oVd1QxRFP1ibxvXP/dICedW8T6NXuXHA/3oSg6UFBx3DSfcPjPLUe7+cm//q9FU
	dYqA+/plJ9xYyPZY/G+5aPzY2i2WM+dSpnuUYYkpwmRT4tiF3utQoeoC3nMkkBd/4sQCfC
	aUZmd9NjgPmsS89gqFlFO8pfU+0OF+s=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	George Dunlap <gwd@xenproject.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH 3/6] tools: remove support for running a guest with qemu-traditional
Date: Wed, 26 Mar 2025 17:04:37 +0100
Message-ID: <20250326160442.19706-4-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250326160442.19706-1-jgross@suse.com>
References: <20250326160442.19706-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 4E64A1F395
X-Spam-Level: 
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)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_CC(0.00)[suse.com,citrix.com,vates.tech,gmail.com,xenproject.org,invisiblethingslab.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCPT_COUNT_SEVEN(0.00)[9];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

Remove the code in tools for running a guest with qemu-traditional.
This covers xl, libxl, libacpi, hvmloader and the related python and
go bindings.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/firmware/hvmloader/pci.c        |  19 +-
 tools/firmware/hvmloader/util.c       |   9 +-
 tools/golang/xenlight/types.gen.go    |   1 -
 tools/libacpi/mk_dsdt.c               | 177 +++-----------
 tools/libs/light/libxl_create.c       |  60 +----
 tools/libs/light/libxl_disk.c         |   7 -
 tools/libs/light/libxl_dm.c           | 320 +-------------------------
 tools/libs/light/libxl_dom.c          |  10 -
 tools/libs/light/libxl_dom_save.c     | 140 -----------
 tools/libs/light/libxl_dom_suspend.c  |  65 ------
 tools/libs/light/libxl_domain.c       |  15 --
 tools/libs/light/libxl_internal.c     |   6 +-
 tools/libs/light/libxl_internal.h     |   5 +-
 tools/libs/light/libxl_pci.c          | 183 ---------------
 tools/libs/light/libxl_stream_write.c |   4 -
 tools/libs/light/libxl_types.idl      |   1 -
 tools/python/xen/migration/libxl.py   |   2 -
 tools/xl/xl_parse.c                   |   5 +-
 18 files changed, 50 insertions(+), 979 deletions(-)

diff --git a/tools/firmware/hvmloader/pci.c b/tools/firmware/hvmloader/pci.c
index c3c61ca060..414f73a266 100644
--- a/tools/firmware/hvmloader/pci.c
+++ b/tools/firmware/hvmloader/pci.c
@@ -108,24 +108,7 @@ void pci_setup(void)
     uint64_t mmio_hole_size = 0;
 
     const char *s;
-    /*
-     * Do we allow hvmloader to relocate guest memory in order to
-     * increase the size of the lowmem MMIO hole?  Defaulting to 1
-     * here will mean that non-libxl toolstacks (including xend and
-     * home-grown ones) means that those using qemu-xen will still
-     * experience the memory relocation bug described below; but it
-     * also means that those using qemu-traditional will *not*
-     * experience any change; and it also means that there is a
-     * work-around for those using qemu-xen, namely switching to
-     * qemu-traditional.
-     *
-     * If we defaulted to 0, and failing to resize the hole caused any
-     * problems with qemu-traditional, then there is no work-around.
-     *
-     * Since xend can only use qemu-traditional, I think this is the
-     * option that will have the least impact.
-     */
-    bool allow_memory_relocate = 1;
+    bool allow_memory_relocate = 0;
 
     BUILD_BUG_ON((typeof(*pci_devfn_decode_type))PCI_COMMAND_IO !=
                  PCI_COMMAND_IO);
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 2d07ce1290..79c0e6bd4a 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -843,14 +843,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
 
     /* If the device model is specified switch to the corresponding tables */
     s = xenstore_read("platform/device-model", "");
-    if ( !strncmp(s, "qemu_xen_traditional", 21) )
-    {
-        config->dsdt_anycpu = dsdt_anycpu;
-        config->dsdt_anycpu_len = dsdt_anycpu_len;
-        config->dsdt_15cpu = dsdt_15cpu;
-        config->dsdt_15cpu_len = dsdt_15cpu_len;
-    }
-    else if ( !strncmp(s, "qemu_xen", 9) )
+    if ( !strncmp(s, "qemu_xen", 9) )
     {
         config->dsdt_anycpu = dsdt_anycpu_qemu_xen;
         config->dsdt_anycpu_len = dsdt_anycpu_qemu_xen_len;
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index e7667f1ce3..02c4d8d123 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -70,7 +70,6 @@ ChannelConnectionSocket ChannelConnection = 2
 type DeviceModelVersion int
 const(
 DeviceModelVersionUnknown DeviceModelVersion = 0
-DeviceModelVersionQemuXenTraditional DeviceModelVersion = 1
 DeviceModelVersionQemuXen DeviceModelVersion = 2
 )
 
diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
index 34f6753f61..396e3e01e2 100644
--- a/tools/libacpi/mk_dsdt.c
+++ b/tools/libacpi/mk_dsdt.c
@@ -19,7 +19,6 @@ static bool debug = false;
 
 typedef enum dm_version {
     QEMU_NONE,
-    QEMU_XEN_TRADITIONAL,
     QEMU_XEN,
 } dm_version;
 
@@ -68,30 +67,6 @@ static void pop_block(void)
     printf("}\n");
 }
 
-#ifdef CONFIG_X86
-static void pci_hotplug_notify(unsigned int slt)
-{
-    stmt("Notify", "\\_SB.PCI0.S%02X, EVT", slt);
-}
-
-static void decision_tree(
-    unsigned int s, unsigned int e, char *var, void (*leaf)(unsigned int))
-{
-    if ( s == (e-1) )
-    {
-        (*leaf)(s);
-        return;
-    }
-
-    push_block("If", "And(%s, 0x%02x)", var, (e-s)/2);
-    decision_tree((s+e)/2, e, var, leaf);
-    pop_block();
-    push_block("Else", NULL);
-    decision_tree(s, (s+e)/2, var, leaf);
-    pop_block();
-}
-#endif
-
 static struct option options[] = {
     { "maxcpu", 1, 0, 'c' },
 #ifdef CONFIG_X86
@@ -105,7 +80,7 @@ int main(int argc, char **argv)
 {
     unsigned int cpu, max_cpus;
 #if defined(CONFIG_X86)
-    dm_version dm_version = QEMU_XEN_TRADITIONAL;
+    dm_version dm_version = QEMU_XEN;
     unsigned int slot, dev, intx, link;
 
     max_cpus = HVM_MAX_VCPUS;
@@ -141,8 +116,6 @@ int main(int argc, char **argv)
         case 'q':
             if (strcmp(optarg, "qemu-xen") == 0) {
                 dm_version = QEMU_XEN;
-            } else if (strcmp(optarg, "qemu-xen-traditional") == 0) {
-                dm_version = QEMU_XEN_TRADITIONAL;
             } else if (strcmp(optarg, "none") == 0) {
                 dm_version = QEMU_NONE;
             } else {
@@ -278,9 +251,7 @@ int main(int argc, char **argv)
 
     /* Define GPE control method. */
     push_block("Scope", "\\_GPE");
-    push_block("Method",
-               dm_version == QEMU_XEN_TRADITIONAL ? "_L%02d" : "_E%02d",
-               XEN_ACPI_GPE0_CPUHP_BIT);
+    push_block("Method", "_E%02d", XEN_ACPI_GPE0_CPUHP_BIT);
     stmt("\\_SB.PRSC ()", NULL);
     pop_block();
     pop_block();
@@ -302,17 +273,10 @@ int main(int argc, char **argv)
      */
     push_block("Device", "HP0"); {
         stmt("Name", "_HID, EISAID(\"PNP0C02\")");
-        if (dm_version == QEMU_XEN_TRADITIONAL) {
-            stmt("Name", "_CRS, ResourceTemplate() {"
-                 "  IO (Decode16, 0x10c0, 0x10c0, 0x00, 0x82)"
-                 "  IO (Decode16, 0xb044, 0xb044, 0x00, 0x04)"
-                 "}");
-        } else {
-            stmt("Name", "_CRS, ResourceTemplate() {"
-                 "  IO (Decode16, 0xae00, 0xae00, 0x00, 0x10)"
-                 "  IO (Decode16, 0xb044, 0xb044, 0x00, 0x04)"
-                 "}");
-        }
+        stmt("Name", "_CRS, ResourceTemplate() {"
+             "  IO (Decode16, 0xae00, 0xae00, 0x00, 0x10)"
+             "  IO (Decode16, 0xb044, 0xb044, 0x00, 0x04)"
+             "}");
     } pop_block();
 
     /*** PCI-ISA link definitions ***/
@@ -397,60 +361,27 @@ int main(int argc, char **argv)
      * QEMU provides a simple hotplug controller with some I/O to handle
      * the hotplug action and status, which is beyond the ACPI scope.
      */
-    if (dm_version == QEMU_XEN_TRADITIONAL) {
-        for ( slot = 0; slot < 0x100; slot++ )
-        {
-            push_block("Device", "S%02X", slot);
-            /* _ADR == dev:fn (16:16) */
-            stmt("Name", "_ADR, 0x%08x", ((slot & ~7) << 13) | (slot & 7));
-            /* _SUN == dev */
-            stmt("Name", "_SUN, 0x%08x", slot >> 3);
-            push_block("Method", "_EJ0, 1");
-            if (debug)
-            {
-                stmt("Store", "0x%02x, \\_GPE.DPT1", slot);
-                stmt("Store", "0x88, \\_GPE.DPT2");
-            }
-            stmt("Store", "0x%02x, \\_GPE.PH%02X", /* eject */
-                 (slot & 1) ? 0x10 : 0x01, slot & ~1);
-            pop_block();
-            push_block("Method", "_STA, 0");
-            if (debug)
-            {
-                stmt("Store", "0x%02x, \\_GPE.DPT1", slot);
-                stmt("Store", "0x89, \\_GPE.DPT2");
-            }
-            if ( slot & 1 )
-                stmt("ShiftRight", "\\_GPE.PH%02X, 0x04, Local1", slot & ~1);
-            else
-                stmt("And", "\\_GPE.PH%02X, 0x0f, Local1", slot & ~1);
-            stmt("Return", "Local1"); /* IN status as the _STA */
-            pop_block();
-            pop_block();
-        }
-    } else {
-        stmt("OperationRegion", "SEJ, SystemIO, 0xae08, 0x08");
-        push_block("Field", "SEJ, DWordAcc, NoLock, WriteAsZeros");
-        indent(); printf("B0EJ, 32,\n");
-        indent(); printf("B0RM, 32,\n");
-        pop_block();
+    stmt("OperationRegion", "SEJ, SystemIO, 0xae08, 0x08");
+    push_block("Field", "SEJ, DWordAcc, NoLock, WriteAsZeros");
+    indent(); printf("B0EJ, 32,\n");
+    indent(); printf("B0RM, 32,\n");
+    pop_block();
 
-        /* hotplug_slot */
-        for (slot = 1; slot <= 31; slot++) {
-            push_block("Device", "S%i", slot); {
-                stmt("Name", "_ADR, %#06x0000", slot);
-                push_block("Method", "_EJ0,1"); {
-                    stmt("Store", "%#010x, B0EJ", 1 << slot);
-                } pop_block();
-                stmt("Name", "_SUN, %i", slot);
-                push_block("Method", "_STA, 0"); {
-                    push_block("If", "And(B0RM, ShiftLeft(1, %i))", slot);
-                    stmt("Return", "0xF");
-                    pop_block();
-                    stmt("Return", "0x0");
-                } pop_block();
+    /* hotplug_slot */
+    for (slot = 1; slot <= 31; slot++) {
+        push_block("Device", "S%i", slot); {
+            stmt("Name", "_ADR, %#06x0000", slot);
+            push_block("Method", "_EJ0,1"); {
+                stmt("Store", "%#010x, B0EJ", 1 << slot);
             } pop_block();
-        }
+            stmt("Name", "_SUN, %i", slot);
+            push_block("Method", "_STA, 0"); {
+                push_block("If", "And(B0RM, ShiftLeft(1, %i))", slot);
+                stmt("Return", "0xF");
+                pop_block();
+                stmt("Return", "0x0");
+            } pop_block();
+        } pop_block();
     }
 
     pop_block();
@@ -460,26 +391,11 @@ int main(int argc, char **argv)
     /**** GPE start ****/
     push_block("Scope", "\\_GPE");
 
-    if (dm_version == QEMU_XEN_TRADITIONAL) {
-        stmt("OperationRegion", "PHP, SystemIO, 0x10c0, 0x82");
-
-        push_block("Field", "PHP, ByteAcc, NoLock, Preserve");
-        indent(); printf("PSTA, 8,\n"); /* hotplug controller event reg */
-        indent(); printf("PSTB, 8,\n"); /* hotplug controller slot reg */
-        for ( slot = 0; slot < 0x100; slot += 2 )
-        {
-            indent();
-            /* Each hotplug control register manages a pair of pci functions. */
-            printf("PH%02X, 8,\n", slot);
-        }
-        pop_block();
-    } else {
-        stmt("OperationRegion", "PCST, SystemIO, 0xae00, 0x08");
-        push_block("Field", "PCST, DWordAcc, NoLock, WriteAsZeros");
-        indent(); printf("PCIU, 32,\n");
-        indent(); printf("PCID, 32,\n");
-        pop_block();
-    }
+    stmt("OperationRegion", "PCST, SystemIO, 0xae00, 0x08");
+    push_block("Field", "PCST, DWordAcc, NoLock, WriteAsZeros");
+    indent(); printf("PCIU, 32,\n");
+    indent(); printf("PCID, 32,\n");
+    pop_block();
 
     stmt("OperationRegion", "DG1, SystemIO, 0xb044, 0x04");
 
@@ -487,35 +403,16 @@ int main(int argc, char **argv)
     indent(); printf("DPT1, 8, DPT2, 8\n");
     pop_block();
 
-    if (dm_version == QEMU_XEN_TRADITIONAL) {
-        push_block("Method", "_L03, 0, Serialized");
-        /* Detect slot and event (remove/add). */
-        stmt("Name", "SLT, 0x0");
-        stmt("Name", "EVT, 0x0");
-        stmt("Store", "PSTA, Local1");
-        stmt("And", "Local1, 0xf, EVT");
-        stmt("Store", "PSTB, Local1"); /* XXX: Store (PSTB, SLT) ? */
-        stmt("And", "Local1, 0xff, SLT");
-        if (debug)
-        {
-            stmt("Store", "SLT, DPT1");
-            stmt("Store", "EVT, DPT2");
-        }
-        /* Decision tree */
-        decision_tree(0x00, 0x100, "SLT", pci_hotplug_notify);
+    push_block("Method", "_E01");
+    for (slot = 1; slot <= 31; slot++) {
+        push_block("If", "And(PCIU, ShiftLeft(1, %i))", slot);
+        stmt("Notify", "\\_SB.PCI0.S%i, 1", slot);
         pop_block();
-    } else {
-        push_block("Method", "_E01");
-        for (slot = 1; slot <= 31; slot++) {
-            push_block("If", "And(PCIU, ShiftLeft(1, %i))", slot);
-            stmt("Notify", "\\_SB.PCI0.S%i, 1", slot);
-            pop_block();
-            push_block("If", "And(PCID, ShiftLeft(1, %i))", slot);
-            stmt("Notify", "\\_SB.PCI0.S%i, 3", slot);
-            pop_block();
-        }
+        push_block("If", "And(PCID, ShiftLeft(1, %i))", slot);
+        stmt("Notify", "\\_SB.PCI0.S%i, 3", slot);
         pop_block();
     }
+    pop_block();
 
     pop_block();
     /**** GPE end ****/
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index e03599ea99..9c56c4c9e5 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -100,12 +100,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
 
     if (!b_info->device_model_version) {
         if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
-            if (libxl_defbool_val(b_info->device_model_stubdomain)) {
-                b_info->device_model_version =
-                    LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
-            } else {
-                b_info->device_model_version = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;
-            }
+            b_info->device_model_version = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;
         } else {
             b_info->device_model_version =
                 LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;
@@ -117,16 +112,8 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             dm = libxl__domain_device_model(gc, b_info);
             rc = access(dm, X_OK);
             if (rc < 0) {
-                /* qemu-xen unavailable, use qemu-xen-traditional */
-                if (errno == ENOENT) {
-                    LOGE(INFO, "qemu-xen is unavailable"
-                         ", using qemu-xen-traditional instead");
-                    b_info->device_model_version =
-                        LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
-                } else {
-                    LOGE(ERROR, "qemu-xen access error");
-                    return ERROR_FAIL;
-                }
+                LOGE(ERROR, "qemu-xen access error");
+                return ERROR_FAIL;
             }
         }
     }
@@ -137,8 +124,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
-            case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-                b_info->u.hvm.bios = LIBXL_BIOS_TYPE_ROMBIOS; break;
             case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
                 b_info->u.hvm.bios = LIBXL_BIOS_TYPE_SEABIOS; break;
             default:
@@ -148,12 +133,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
 
         /* Enforce BIOS<->Device Model version relationship */
         switch (b_info->device_model_version) {
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            if (b_info->u.hvm.bios != LIBXL_BIOS_TYPE_ROMBIOS) {
-                LOG(ERROR, "qemu-xen-traditional requires bios=rombios.");
-                return ERROR_INVAL;
-            }
-            break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             if (b_info->u.hvm.bios == LIBXL_BIOS_TYPE_ROMBIOS) {
                 LOG(ERROR, "qemu-xen does not support bios=rombios.");
@@ -176,10 +155,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_val(b_info->device_model_stubdomain)) {
         if (!b_info->stubdomain_kernel) {
             switch (b_info->device_model_version) {
-                case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-                    b_info->stubdomain_kernel =
-                        libxl__abs_path(NOGC, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
-                    break;
                 case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
                     b_info->stubdomain_kernel =
                         libxl__abs_path(NOGC,
@@ -192,8 +167,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
         if (!b_info->stubdomain_ramdisk) {
             switch (b_info->device_model_version) {
-                case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-                    break;
                 case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
                     b_info->stubdomain_ramdisk =
                         libxl__abs_path(NOGC,
@@ -299,33 +272,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             b_info->u.hvm.hdtype = LIBXL_HDTYPE_IDE;
 
         switch (b_info->device_model_version) {
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            switch (b_info->u.hvm.vga.kind) {
-            case LIBXL_VGA_INTERFACE_TYPE_NONE:
-                if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
-                    b_info->video_memkb = 0;
-                break;
-            case LIBXL_VGA_INTERFACE_TYPE_QXL:
-                LOG(ERROR,"qemu upstream required for qxl vga");
-                return ERROR_INVAL;
-                break;
-            case LIBXL_VGA_INTERFACE_TYPE_STD:
-                if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
-                    b_info->video_memkb = 8 * 1024;
-                if (b_info->video_memkb < 8 * 1024) {
-                    LOG(ERROR, "videoram must be at least 8 MB for STDVGA on QEMU_XEN_TRADITIONAL");
-                    return ERROR_INVAL;
-                }
-                break;
-            case LIBXL_VGA_INTERFACE_TYPE_CIRRUS:
-            default:
-                if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
-                    b_info->video_memkb = 4 * 1024;
-                if (b_info->video_memkb != 4 * 1024)
-                    LOG(WARN, "ignoring videoram other than 4 MB for CIRRUS on QEMU_XEN_TRADITIONAL");
-                break;
-            }
-            break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         default:
             switch (b_info->u.hvm.vga.kind) {
diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c
index 15055380c6..8cdf74ee8b 100644
--- a/tools/libs/light/libxl_disk.c
+++ b/tools/libs/light/libxl_disk.c
@@ -1007,13 +1007,6 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
         disk->backend = LIBXL_DISK_BACKEND_PHY;
     }
 
-    if (cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL &&
-        stubdomid) {
-        LOGD(ERROR, domid, "cdrom-insert doesn't work for Mini-OS stubdoms");
-        rc = ERROR_INVAL;
-        goto out;
-    }
-
     disks = libxl__device_list(gc, &libxl__disk_devtype, cis->disk_domid, &num);
     for (i = 0; i < num; i++) {
         if (disks[i].is_cdrom && !strcmp(disk->vdev, disks[i].vdev))
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index b193a5dc37..4146ee0ea1 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -328,9 +328,6 @@ const char *libxl__domain_device_model(libxl__gc *gc,
         dm = libxl__strdup(gc, info->device_model);
     } else {
         switch (info->device_model_version) {
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            dm = libxl__abs_path(gc, "qemu-dm", libxl__private_bindir_path());
-            break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             dm = qemu_xen_path(gc);
             break;
@@ -670,272 +667,6 @@ static const char *dm_keymap(const libxl_domain_config *guest_config)
         return NULL;
 }
 
-static int libxl__build_device_model_args_old(libxl__gc *gc,
-                                        const char *dm, int domid,
-                                        const libxl_domain_config *guest_config,
-                                        char ***args, char ***envs,
-                                        const libxl__domain_build_state *state)
-{
-    const libxl_domain_create_info *c_info = &guest_config->c_info;
-    const libxl_domain_build_info *b_info = &guest_config->b_info;
-    const libxl_device_nic *nics = guest_config->nics;
-    const libxl_vnc_info *vnc = libxl__dm_vnc(guest_config);
-    const libxl_sdl_info *sdl = dm_sdl(guest_config);
-    const int num_nics = guest_config->num_nics;
-    const char *keymap = dm_keymap(guest_config);
-    int i;
-    flexarray_t *dm_args, *dm_envs;
-    dm_args = flexarray_make(gc, 16, 1);
-    dm_envs = flexarray_make(gc, 16, 1);
-
-    assert(state->dm_monitor_fd == -1);
-
-    flexarray_vappend(dm_args, dm,
-                      "-d", GCSPRINTF("%d", domid), NULL);
-
-    if (c_info->name)
-        flexarray_vappend(dm_args, "-domain-name", c_info->name, NULL);
-
-    if (vnc) {
-        char *vncarg = NULL;
-
-        flexarray_append(dm_args, "-vnc");
-
-        /*
-         * If vnc->listen is present and contains a :, and
-         *  - vnc->display is 0, use vnc->listen
-         *  - vnc->display is non-zero, be confused
-         * If vnc->listen is present but doesn't, use vnc->listen:vnc->display.
-         * If vnc->listen is not present, use 127.0.0.1:vnc->display
-         * (Remembering that vnc->display already defaults to 0.)
-         */
-        if (vnc->listen) {
-            if (strchr(vnc->listen, ':') != NULL) {
-                if (vnc->display) {
-                    LOGD(ERROR, domid, "vncdisplay set, vnclisten contains display");
-                    return ERROR_INVAL;
-                }
-                vncarg = vnc->listen;
-            } else {
-                vncarg = GCSPRINTF("%s:%d", vnc->listen, vnc->display);
-            }
-        } else
-            vncarg = GCSPRINTF("127.0.0.1:%d", vnc->display);
-
-        if (vnc->passwd && vnc->passwd[0]) {
-            vncarg = GCSPRINTF("%s,password", vncarg);
-        }
-
-        flexarray_append(dm_args, vncarg);
-
-        if (libxl_defbool_val(vnc->findunused)) {
-            flexarray_append(dm_args, "-vncunused");
-        }
-    } else if (!sdl) {
-        /*
-         * VNC is not enabled by default by qemu-xen-traditional,
-         * however skipping -vnc causes SDL to be
-         * (unexpectedly) enabled by default. If undesired, disable graphics at
-         * all.
-         */
-        flexarray_append(dm_args, "-nographic");
-    }
-
-    if (sdl) {
-        flexarray_append(dm_args, "-sdl");
-        if (!libxl_defbool_val(sdl->opengl)) {
-            flexarray_append(dm_args, "-disable-opengl");
-        }
-        if (sdl->display)
-            flexarray_append_pair(dm_envs, "DISPLAY", sdl->display);
-        if (sdl->xauthority)
-            flexarray_append_pair(dm_envs, "XAUTHORITY", sdl->xauthority);
-    }
-    if (keymap) {
-        flexarray_vappend(dm_args, "-k", keymap, NULL);
-    }
-    if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        int ioemu_nics = 0;
-        int nr_set_cpus = 0;
-        char *s;
-
-        flexarray_append_pair(dm_envs, "XEN_DOMAIN_ID", GCSPRINTF("%d", domid));
-
-        if (b_info->kernel) {
-            LOGD(ERROR, domid, "HVM direct kernel boot is not supported by "
-                 "qemu-xen-traditional");
-            return ERROR_INVAL;
-        }
-
-        if (b_info->u.hvm.serial || b_info->u.hvm.serial_list) {
-            if ( b_info->u.hvm.serial && b_info->u.hvm.serial_list )
-            {
-                LOGD(ERROR, domid, "Both serial and serial_list set");
-                return ERROR_INVAL;
-            }
-            if (b_info->u.hvm.serial) {
-                flexarray_vappend(dm_args,
-                                  "-serial", b_info->u.hvm.serial, NULL);
-            } else if (b_info->u.hvm.serial_list) {
-                char **p;
-                for (p = b_info->u.hvm.serial_list;
-                     *p;
-                     p++) {
-                    flexarray_vappend(dm_args,
-                                      "-serial",
-                                      *p, NULL);
-                }
-            }
-        }
-
-        if (libxl_defbool_val(b_info->u.hvm.nographic) && (!sdl && !vnc)) {
-            flexarray_append(dm_args, "-nographic");
-        }
-
-        if (b_info->video_memkb) {
-            flexarray_vappend(dm_args, "-videoram",
-                    GCSPRINTF("%d", libxl__sizekb_to_mb(b_info->video_memkb)),
-                    NULL);
-        }
-
-        switch (b_info->u.hvm.vga.kind) {
-        case LIBXL_VGA_INTERFACE_TYPE_STD:
-            flexarray_append(dm_args, "-std-vga");
-            break;
-        case LIBXL_VGA_INTERFACE_TYPE_CIRRUS:
-            break;
-        case LIBXL_VGA_INTERFACE_TYPE_NONE:
-            flexarray_append_pair(dm_args, "-vga", "none");
-            break;
-        case LIBXL_VGA_INTERFACE_TYPE_QXL:
-            break;
-        default:
-            LOGD(ERROR, domid, "Invalid emulated video card specified");
-            return ERROR_INVAL;
-        }
-
-        if (b_info->u.hvm.boot) {
-            flexarray_vappend(dm_args, "-boot", b_info->u.hvm.boot, NULL);
-        }
-        if (libxl_defbool_val(b_info->u.hvm.usb)
-            || b_info->u.hvm.usbdevice
-            || libxl_string_list_length(&b_info->u.hvm.usbdevice_list)) {
-            if (b_info->u.hvm.usbdevice
-                && libxl_string_list_length(&b_info->u.hvm.usbdevice_list)) {
-                LOGD(ERROR, domid, "Both usbdevice and usbdevice_list set");
-                return ERROR_INVAL;
-            }
-            flexarray_append(dm_args, "-usb");
-            if (b_info->u.hvm.usbdevice) {
-                flexarray_vappend(dm_args,
-                                  "-usbdevice", b_info->u.hvm.usbdevice, NULL);
-            } else if (b_info->u.hvm.usbdevice_list) {
-                char **p;
-                for (p = b_info->u.hvm.usbdevice_list;
-                     *p;
-                     p++) {
-                    flexarray_vappend(dm_args,
-                                      "-usbdevice",
-                                      *p, NULL);
-                }
-            }
-        }
-        if (b_info->u.hvm.soundhw) {
-            flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, NULL);
-        }
-        if (libxl__acpi_defbool_val(b_info)) {
-            flexarray_append(dm_args, "-acpi");
-        }
-        if (b_info->max_vcpus > 1) {
-            flexarray_vappend(dm_args, "-vcpus",
-                              GCSPRINTF("%d", b_info->max_vcpus),
-                              NULL);
-        }
-
-        nr_set_cpus = libxl_bitmap_count_set(&b_info->avail_vcpus);
-        s = libxl_bitmap_to_hex_string(CTX, &b_info->avail_vcpus);
-        flexarray_vappend(dm_args, "-vcpu_avail",
-                              GCSPRINTF("%s", s), NULL);
-        free(s);
-
-        for (i = 0; i < num_nics; i++) {
-            if (nics[i].nictype == LIBXL_NIC_TYPE_VIF_IOEMU) {
-                char *smac = GCSPRINTF(
-                                   LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nics[i].mac));
-                const char *ifname = libxl__device_nic_devname(gc,
-                                                domid, nics[i].devid,
-                                                LIBXL_NIC_TYPE_VIF_IOEMU);
-                flexarray_vappend(dm_args,
-                                  "-net",
-                                  GCSPRINTF(
-                                      "nic,vlan=%d,macaddr=%s,model=%s",
-                                      nics[i].devid, smac, nics[i].model),
-                                  "-net",
-                                  GCSPRINTF(
-                                      "tap,vlan=%d,ifname=%s,bridge=%s,"
-                                      "script=%s,downscript=%s",
-                                      nics[i].devid, ifname, nics[i].bridge,
-                                      libxl_tapif_script(gc),
-                                      libxl_tapif_script(gc)),
-                                  NULL);
-                ioemu_nics++;
-            }
-        }
-        /* If we have no emulated nics, tell qemu not to create any */
-        if ( ioemu_nics == 0 ) {
-            flexarray_vappend(dm_args, "-net", "none", NULL);
-        }
-        if (libxl_defbool_val(b_info->u.hvm.gfx_passthru)) {
-            switch (b_info->u.hvm.gfx_passthru_kind) {
-            case LIBXL_GFX_PASSTHRU_KIND_DEFAULT:
-            case LIBXL_GFX_PASSTHRU_KIND_IGD:
-                flexarray_append(dm_args, "-gfx_passthru");
-                break;
-            default:
-                LOGD(ERROR, domid, "unsupported gfx_passthru_kind.");
-                return ERROR_INVAL;
-            }
-        }
-    } else {
-        if (!sdl && !vnc)
-            flexarray_append(dm_args, "-nographic");
-    }
-
-    if (libxl_defbool_val(b_info->dm_restrict)) {
-        LOGD(ERROR, domid,
-             "dm_restrict not supported by qemu-xen-traditional");
-        return ERROR_INVAL;
-    }
-
-    if (state->saved_state) {
-        flexarray_vappend(dm_args, "-loadvm", state->saved_state, NULL);
-    }
-    for (i = 0; b_info->extra && b_info->extra[i] != NULL; i++)
-        flexarray_append(dm_args, b_info->extra[i]);
-    flexarray_append(dm_args, "-M");
-    switch (b_info->type) {
-    case LIBXL_DOMAIN_TYPE_PVH:
-    case LIBXL_DOMAIN_TYPE_PV:
-        flexarray_append(dm_args, "xenpv");
-        for (i = 0; b_info->extra_pv && b_info->extra_pv[i] != NULL; i++)
-            flexarray_append(dm_args, b_info->extra_pv[i]);
-        break;
-    case LIBXL_DOMAIN_TYPE_HVM:
-        flexarray_append(dm_args, "xenfv");
-        for (i = 0; b_info->extra_hvm && b_info->extra_hvm[i] != NULL; i++)
-            flexarray_append(dm_args, b_info->extra_hvm[i]);
-        break;
-    default:
-        abort();
-    }
-    flexarray_append(dm_args, NULL);
-    *args = (char **) flexarray_contents(dm_args);
-    flexarray_append(dm_envs, NULL);
-    if (envs)
-        *envs = (char **) flexarray_contents(dm_envs);
-    return 0;
-}
-
 static char *dm_spice_options(libxl__gc *gc,
                                     const libxl_spice_info *spice)
 {
@@ -2062,11 +1793,6 @@ static int libxl__build_device_model_args(libxl__gc *gc,
  * and therefore will be passing a filename rather than a fd. */
 {
     switch (guest_config->b_info.device_model_version) {
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-        return libxl__build_device_model_args_old(gc, dm,
-                                                  guest_domid, guest_config,
-                                                  args, envs,
-                                                  state);
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         if (!libxl_defbool_val(guest_config->b_info.device_model_stubdomain)) {
             assert(dm_state_fd != NULL);
@@ -2429,16 +2155,11 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
                         "%s",
                         libxl_bios_type_to_string(guest_config->b_info.u.hvm.bios));
     }
-    /* Disable relocating memory to make the MMIO hole larger
-     * unless we're running qemu-traditional and vNUMA is not
-     * configured. */
+    /* Disable relocating memory to make the MMIO hole larger. */
     libxl__xs_printf(gc, XBT_NULL,
                      libxl__sprintf(gc, "%s/hvmloader/allow-memory-relocate",
                                     libxl__xs_get_dompath(gc, guest_domid)),
-                     "%d",
-                     guest_config->b_info.device_model_version
-                        == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL &&
-                     !libxl__vnuma_configured(&guest_config->b_info));
+                     "0");
     ret = xc_domain_set_target(ctx->xch, dm_domid, guest_domid);
     if (ret<0) {
         LOGED(ERROR, guest_domid, "setting target domain %d -> %d",
@@ -3122,13 +2843,9 @@ static void device_model_launch(libxl__egc *egc,
     libxl_domain_config *guest_config = dmss->guest_config;
     const libxl_domain_create_info *c_info = &guest_config->c_info;
     const libxl_domain_build_info *b_info = &guest_config->b_info;
-    const libxl_vnc_info *vnc = libxl__dm_vnc(guest_config);
     char *path;
     int logfile_w, null;
     char **args, **arg, **envs;
-    xs_transaction_t t;
-    char *vm_path;
-    char **pass_stuff;
     int dm_state_fd = -1;
 
     /* convenience aliases */
@@ -3162,26 +2879,16 @@ static void device_model_launch(libxl__egc *egc,
         libxl__xs_printf(gc, XBT_NULL,
                          GCSPRINTF("%s/hvmloader/bios", path),
                          "%s", libxl_bios_type_to_string(b_info->u.hvm.bios));
-        /* Disable relocating memory to make the MMIO hole larger
-         * unless we're running qemu-traditional and vNUMA is not
-         * configured. */
+        /* Disable relocating memory to make the MMIO hole larger. */
         libxl__xs_printf(gc, XBT_NULL,
                          GCSPRINTF("%s/hvmloader/allow-memory-relocate", path),
-                         "%d",
-                         b_info->device_model_version==LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL &&
-                         !libxl__vnuma_configured(b_info));
+                         "0");
         free(path);
     }
 
     path = DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID, domid, "");
     xs_mkdir(ctx->xsh, XBT_NULL, path);
 
-    if (b_info->type == LIBXL_DOMAIN_TYPE_HVM &&
-        b_info->device_model_version
-        == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL)
-        libxl__xs_printf(gc, XBT_NULL, GCSPRINTF("%s/disable_pf", path),
-                         "%d", !libxl_defbool_val(b_info->u.hvm.xen_platform_pci));
-
     logfile_w = libxl__create_qemu_logfile(gc, GCSPRINTF("qemu-dm-%s",
                                                          c_info->name));
     if (logfile_w < 0) {
@@ -3206,25 +2913,6 @@ static void device_model_launch(libxl__egc *egc,
                          GCSPRINTF("%s/image/device-model-kill-uid", dom_path),
                          "%s", state->dm_kill_uid);
 
-    if (vnc && vnc->passwd) {
-        /* This xenstore key will only be used by qemu-xen-traditionnal.
-         * The code to supply vncpasswd to qemu-xen is later. */
-retry_transaction:
-        /* Find uuid and the write the vnc password to xenstore for qemu. */
-        t = xs_transaction_start(ctx->xsh);
-        vm_path = libxl__xs_read(gc,t,GCSPRINTF("%s/vm", dom_path));
-        if (vm_path) {
-            /* Now write the vncpassword into it. */
-            pass_stuff = libxl__calloc(gc, 3, sizeof(char *));
-            pass_stuff[0] = "vncpasswd";
-            pass_stuff[1] = vnc->passwd;
-            libxl__xs_writev(gc,t,vm_path,pass_stuff);
-            if (!xs_transaction_end(ctx->xsh, t, 0))
-                if (errno == EAGAIN)
-                    goto retry_transaction;
-        }
-    }
-
     LOGD(DEBUG, domid, "Spawning device-model %s with arguments:", dm);
     for (arg = args; *arg; arg++)
         LOGD(DEBUG, domid, "  %s", *arg);
diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index 94fef37401..4d67b0d282 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -881,7 +881,6 @@ static int libxl__domain_firmware(libxl__gc *gc,
             switch (info->device_model_version)
             {
             case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-            case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
                 firmware = "hvmloader";
                 break;
             default:
@@ -1212,15 +1211,6 @@ out:
     return rc;
 }
 
-int libxl__qemu_traditional_cmd(libxl__gc *gc, uint32_t domid,
-                                const char *cmd)
-{
-    char *path = NULL;
-    uint32_t dm_domid = libxl_get_stubdom_id(CTX, domid);
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/command");
-    return libxl__xs_printf(gc, XBT_NULL, path, "%s", cmd);
-}
-
 /*==================== Miscellaneous ====================*/
 
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
diff --git a/tools/libs/light/libxl_dom_save.c b/tools/libs/light/libxl_dom_save.c
index 32e3cb5a13..d64fd64f2e 100644
--- a/tools/libs/light/libxl_dom_save.c
+++ b/tools/libs/light/libxl_dom_save.c
@@ -28,19 +28,6 @@ static void domain_save_done(libxl__egc *egc,
 
 /*----- complicated callback, called by xc_domain_save -----*/
 
-/*
- * We implement the other end of protocol for controlling qemu-dm's
- * logdirty.  There is no documentation for this protocol, but our
- * counterparty's implementation is in
- * qemu-xen-traditional.git:xenstore.c in the function
- * xenstore_process_logdirty_event
- */
-
-static void domain_suspend_switch_qemu_xen_traditional_logdirty
-                               (libxl__egc *egc, int domid, unsigned enable,
-                                libxl__logdirty_switch *lds);
-static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch*,
-                            const char *watch_path, const char *event_path);
 static void domain_suspend_switch_qemu_xen_logdirty
                                (libxl__egc *egc, int domid, unsigned enable,
                                 libxl__logdirty_switch *lds);
@@ -69,10 +56,6 @@ void libxl__domain_common_switch_qemu_logdirty(libxl__egc *egc,
     STATE_AO_GC(lds->ao);
 
     switch (libxl__device_model_version_running(gc, domid)) {
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-        domain_suspend_switch_qemu_xen_traditional_logdirty(egc, domid, enable,
-                                                            lds);
-        break;
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         domain_suspend_switch_qemu_xen_logdirty(egc, domid, enable, lds);
         break;
@@ -83,129 +66,6 @@ void libxl__domain_common_switch_qemu_logdirty(libxl__egc *egc,
     }
 }
 
-static void domain_suspend_switch_qemu_xen_traditional_logdirty
-                               (libxl__egc *egc, int domid, unsigned enable,
-                                libxl__logdirty_switch *lds)
-{
-    STATE_AO_GC(lds->ao);
-    int rc;
-    xs_transaction_t t = 0;
-    const char *got;
-
-    if (!lds->cmd_path) {
-        uint32_t dm_domid = libxl_get_stubdom_id(CTX, domid);
-        lds->cmd_path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid,
-                                             "/logdirty/cmd");
-        lds->ret_path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid,
-                                             "/logdirty/ret");
-    }
-    lds->cmd = enable ? "enable" : "disable";
-
-    rc = libxl__ev_xswatch_register(gc, &lds->watch,
-                                switch_logdirty_xswatch, lds->ret_path);
-    if (rc) goto out;
-
-    rc = libxl__ev_time_register_rel(ao, &lds->timeout,
-                                switch_logdirty_timeout, 10*1000);
-    if (rc) goto out;
-
-    for (;;) {
-        rc = libxl__xs_transaction_start(gc, &t);
-        if (rc) goto out;
-
-        rc = libxl__xs_read_checked(gc, t, lds->cmd_path, &got);
-        if (rc) goto out;
-
-        if (got) {
-            const char *got_ret;
-            rc = libxl__xs_read_checked(gc, t, lds->ret_path, &got_ret);
-            if (rc) goto out;
-
-            if (!got_ret || strcmp(got, got_ret)) {
-                LOGD(ERROR, domid, "controlling logdirty: qemu was already sent"
-                     " command `%s' (xenstore path `%s') but result is `%s'",
-                     got, lds->cmd_path, got_ret ? got_ret : "<none>");
-                rc = ERROR_FAIL;
-                goto out;
-            }
-            rc = libxl__xs_rm_checked(gc, t, lds->cmd_path);
-            if (rc) goto out;
-        }
-
-        rc = libxl__xs_rm_checked(gc, t, lds->ret_path);
-        if (rc) goto out;
-
-        rc = libxl__xs_write_checked(gc, t, lds->cmd_path, lds->cmd);
-        if (rc) goto out;
-
-        rc = libxl__xs_transaction_commit(gc, &t);
-        if (!rc) break;
-        if (rc<0) goto out;
-    }
-
-    /* OK, wait for some callback */
-    return;
-
- out:
-    LOGD(ERROR, domid, "logdirty switch failed (rc=%d), abandoning suspend",rc);
-    libxl__xs_transaction_abort(gc, &t);
-    switch_logdirty_done(egc,lds,rc);
-}
-
-static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch *watch,
-                            const char *watch_path, const char *event_path)
-{
-    libxl__logdirty_switch *lds = CONTAINER_OF(watch, *lds, watch);
-    STATE_AO_GC(lds->ao);
-    const char *got;
-    xs_transaction_t t = 0;
-    int rc;
-
-    for (;;) {
-        rc = libxl__xs_transaction_start(gc, &t);
-        if (rc) goto out;
-
-        rc = libxl__xs_read_checked(gc, t, lds->ret_path, &got);
-        if (rc) goto out;
-
-        if (!got) {
-            rc = +1;
-            goto out;
-        }
-
-        if (strcmp(got, lds->cmd)) {
-            LOG(ERROR,"logdirty switch: sent command `%s' but got reply `%s'"
-                " (xenstore paths `%s' / `%s')", lds->cmd, got,
-                lds->cmd_path, lds->ret_path);
-            rc = ERROR_FAIL;
-            goto out;
-        }
-
-        rc = libxl__xs_rm_checked(gc, t, lds->cmd_path);
-        if (rc) goto out;
-
-        rc = libxl__xs_rm_checked(gc, t, lds->ret_path);
-        if (rc) goto out;
-
-        rc = libxl__xs_transaction_commit(gc, &t);
-        if (!rc) break;
-        if (rc<0) goto out;
-    }
-
- out:
-    /* rc < 0: error
-     * rc == 0: ok, we are done
-     * rc == +1: need to keep waiting
-     */
-    libxl__xs_transaction_abort(gc, &t);
-
-    if (rc <= 0) {
-        if (rc < 0)
-            LOG(ERROR,"logdirty switch: failed (rc=%d)",rc);
-        switch_logdirty_done(egc,lds,rc);
-    }
-}
-
 static void domain_suspend_switch_qemu_xen_logdirty
                                (libxl__egc *egc, int domid, unsigned enable,
                                 libxl__logdirty_switch *lds)
diff --git a/tools/libs/light/libxl_dom_suspend.c b/tools/libs/light/libxl_dom_suspend.c
index 6091a5f3f6..f0a74fc82c 100644
--- a/tools/libs/light/libxl_dom_suspend.c
+++ b/tools/libs/light/libxl_dom_suspend.c
@@ -85,15 +85,8 @@ void libxl__domain_suspend_device_model(libxl__egc *egc,
     STATE_AO_GC(dsps->ao);
     int rc = 0;
     uint32_t const domid = dsps->domid;
-    const char *const filename = dsps->dm_savefile;
 
     switch (libxl__device_model_version_running(gc, domid)) {
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
-        LOGD(DEBUG, domid, "Saving device model state to %s", filename);
-        libxl__qemu_traditional_cmd(gc, domid, "save");
-        libxl__wait_for_device_model_deprecated(gc, domid, "paused", NULL, NULL, NULL);
-        break;
-    }
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         /* calls dsps->callback_device_model_done when done */
         libxl__qmp_suspend_save(egc, dsps); /* must be last */
@@ -420,21 +413,7 @@ static void domain_suspend_callback_common_done(libxl__egc *egc,
 
 int libxl__domain_resume_device_model_deprecated(libxl__gc *gc, uint32_t domid)
 {
-    const char *path, *state;
-
     switch (libxl__device_model_version_running(gc, domid)) {
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
-        uint32_t dm_domid = libxl_get_stubdom_id(CTX, domid);
-
-        path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
-        state = libxl__xs_read(gc, XBT_NULL, path);
-        if (state != NULL && !strcmp(state, "paused")) {
-            libxl__qemu_traditional_cmd(gc, domid, "continue");
-            libxl__wait_for_device_model_deprecated(gc, domid, "running",
-                                                    NULL, NULL, NULL);
-        }
-        break;
-    }
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         if (libxl__qmp_resume(gc, domid))
             return ERROR_FAIL;
@@ -493,8 +472,6 @@ static void dm_resume_dispose(libxl__gc *gc,
     libxl__ev_xswatch_deregister(gc, &dmrs->watch);
 }
 
-static void dm_resume_xswatch_cb(libxl__egc *egc,
-    libxl__ev_xswatch *, const char *watch_path, const char *);
 static void dm_resume_qmp_done(libxl__egc *egc,
     libxl__ev_qmp *qmp, const libxl__json_object *, int rc);
 static void dm_resume_timeout(libxl__egc *egc,
@@ -521,27 +498,6 @@ void libxl__dm_resume(libxl__egc *egc,
     if (rc) goto out;
 
     switch (libxl__device_model_version_running(gc, domid)) {
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
-        uint32_t dm_domid = libxl_get_stubdom_id(CTX, domid);
-        const char *path, *state;
-
-        path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
-        rc = libxl__xs_read_checked(gc, XBT_NULL, path, &state);
-        if (rc) goto out;
-        if (!state || strcmp(state, "paused")) {
-            /* already running */
-            rc = 0;
-            goto out;
-        }
-
-        rc = libxl__qemu_traditional_cmd(gc, domid, "continue");
-        if (rc) goto out;
-        rc = libxl__ev_xswatch_register(gc, &dmrs->watch,
-                                        dm_resume_xswatch_cb,
-                                        path);
-        if (rc) goto out;
-        break;
-    }
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         qmp->ao = dmrs->ao;
         qmp->domid = domid;
@@ -561,27 +517,6 @@ out:
     dm_resume_done(egc, dmrs, rc);
 }
 
-static void dm_resume_xswatch_cb(libxl__egc *egc,
-                                 libxl__ev_xswatch *xsw,
-                                 const char *watch_path,
-                                 const char *event_path)
-{
-    EGC_GC;
-    libxl__dm_resume_state *dmrs = CONTAINER_OF(xsw, *dmrs, watch);
-    int rc;
-    const char *value;
-
-    rc = libxl__xs_read_checked(gc, XBT_NULL, watch_path, &value);
-    if (rc) goto out;
-
-    if (!value || strcmp(value, "running"))
-        return;
-
-    rc = 0;
-out:
-    dm_resume_done(egc, dmrs, rc);
-}
-
 static void dm_resume_qmp_done(libxl__egc *egc,
                                libxl__ev_qmp *qmp,
                                const libxl__json_object *response,
diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
index 6751fc785f..dd2e5e9a19 100644
--- a/tools/libs/light/libxl_domain.c
+++ b/tools/libs/light/libxl_domain.c
@@ -1877,8 +1877,6 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid,
     switch (libxl__domain_type(gc, domid)) {
     case LIBXL_DOMAIN_TYPE_HVM:
         switch (libxl__device_model_version_running(gc, domid)) {
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             rc = libxl__ev_time_register_rel(ao, &svos->timeout,
                                              set_vcpuonline_timeout,
@@ -2116,7 +2114,6 @@ static void domain_s3_resume(libxl__ao *ao, libxl__egc *egc, int domid)
     AO_GC;
     libxl__ev_qmp *qmp;
     int rc = 0;
-    int r;
 
     GCNEW(qmp);
     libxl__ev_qmp_init(qmp);
@@ -2128,14 +2125,6 @@ static void domain_s3_resume(libxl__ao *ao, libxl__egc *egc, int domid)
     switch (libxl__domain_type(gc, domid)) {
     case LIBXL_DOMAIN_TYPE_HVM:
         switch (libxl__device_model_version_running(gc, domid)) {
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            r = xc_hvm_param_set(CTX->xch, domid, HVM_PARAM_ACPI_S_STATE, 0);
-            if (r) {
-                LOGED(ERROR, domid, "Send trigger '%s' failed",
-                      libxl_trigger_to_string(LIBXL_TRIGGER_S3RESUME));
-                rc = ERROR_FAIL;
-            }
-            break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             rc = libxl__ev_qmp_send(egc, qmp, "system_wakeup", NULL);
             if (rc) goto out;
@@ -2481,10 +2470,6 @@ static void retrieve_domain_configuration_end(libxl__egc *egc,
             case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
                 libxl_bitmap_copy(CTX, map, &rdcs->qemuu_cpus);
                 break;
-            case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-                rc = libxl__update_avail_vcpus_xenstore(gc, domid,
-                                                        max_vcpus, map);
-                break;
             default:
                 abort();
             }
diff --git a/tools/libs/light/libxl_internal.c b/tools/libs/light/libxl_internal.c
index c95624933f..2941ca0bbd 100644
--- a/tools/libs/light/libxl_internal.c
+++ b/tools/libs/light/libxl_internal.c
@@ -387,11 +387,9 @@ int libxl__device_model_version_running(libxl__gc *gc, uint32_t domid)
     path = libxl__xs_libxl_path(gc, domid);
     path = GCSPRINTF("%s/dm-version", path);
     dm_version = libxl__xs_read(gc, XBT_NULL, path);
-    if (!dm_version) {
-        return LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
-    }
 
-    if (libxl_device_model_version_from_string(dm_version, &value) < 0) {
+    if (!dm_version ||
+        libxl_device_model_version_from_string(dm_version, &value) < 0) {
         LOGD(ERROR, domid, "fatal: %s contain a wrong value (%s)", path, dm_version);
         return -1;
     }
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index cfac8e18b6..4b4a566378 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -1423,8 +1423,6 @@ _hidden int libxl__build_hvm(libxl__gc *gc, uint32_t domid,
               libxl_domain_config *d_config,
               libxl__domain_build_state *state);
 
-_hidden int libxl__qemu_traditional_cmd(libxl__gc *gc, uint32_t domid,
-                                        const char *cmd);
 _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
                                  xs_transaction_t trans);
@@ -2318,8 +2316,7 @@ _hidden char *libxl__json_object_to_json(libxl__gc *gc,
 #define JSON(o) \
     (libxl__json_object_to_json(gc, (o)) ? : "<invalid-json-object>")
 
-  /* Based on /local/domain/$domid/dm-version xenstore key
-   * default is qemu xen traditional */
+  /* Based on /local/domain/$domid/dm-version xenstore key */
 _hidden int libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
 static inline
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 1647fd6f47..8c5f914435 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1020,82 +1020,6 @@ static int pci_multifunction_check(libxl__gc *gc, libxl_device_pci *pci, unsigne
     return 0;
 }
 
-static int pci_ins_check(libxl__gc *gc, uint32_t domid, const char *state, void *priv)
-{
-    char *orig_state = priv;
-
-    if ( !strcmp(state, "pci-insert-failed") )
-        return -1;
-    if ( !strcmp(state, "pci-inserted") )
-        return 0;
-    if ( !strcmp(state, orig_state) )
-        return 1;
-
-    return 1;
-}
-
-static int qemu_pci_add_xenstore(libxl__gc *gc, uint32_t domid,
-                                 libxl_device_pci *pci)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int rc = 0;
-    char *path;
-    char *state, *vdevfn;
-    uint32_t dm_domid;
-
-    dm_domid = libxl_get_stubdom_id(CTX, domid);
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
-    state = libxl__xs_read(gc, XBT_NULL, path);
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/parameter");
-    if (pci->vdevfn) {
-        libxl__xs_printf(gc, XBT_NULL, path, PCI_BDF_VDEVFN","PCI_OPTIONS,
-                         pci->domain, pci->bus, pci->dev,
-                         pci->func, pci->vdevfn, pci->msitranslate,
-                         pci->power_mgmt);
-    } else {
-        libxl__xs_printf(gc, XBT_NULL, path, PCI_BDF","PCI_OPTIONS,
-                         pci->domain,  pci->bus, pci->dev,
-                         pci->func, pci->msitranslate, pci->power_mgmt);
-    }
-
-    libxl__qemu_traditional_cmd(gc, domid, "pci-ins");
-    rc = libxl__wait_for_device_model_deprecated(gc, domid, NULL, NULL,
-                                      pci_ins_check, state);
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/parameter");
-    vdevfn = libxl__xs_read(gc, XBT_NULL, path);
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
-    if ( rc < 0 )
-        LOGD(ERROR, domid, "qemu refused to add device: %s", vdevfn);
-    else if ( sscanf(vdevfn, "0x%x", &pci->vdevfn) != 1 ) {
-        LOGD(ERROR, domid, "wrong format for the vdevfn: '%s'", vdevfn);
-        rc = -1;
-    }
-    xs_write(ctx->xsh, XBT_NULL, path, state, strlen(state));
-
-    return rc;
-}
-
-static int check_qemu_running(libxl__gc *gc,
-                              libxl_domid domid,
-                              libxl__xswait_state *xswa,
-                              int rc,
-                              const char *state)
-{
-    if (rc) {
-        if (rc == ERROR_TIMEDOUT) {
-            LOGD(ERROR, domid, "%s not ready", xswa->what);
-        }
-        goto out;
-    }
-
-    if (!state || strcmp(state, "running"))
-        return ERROR_NOT_READY;
-
-out:
-    libxl__xswait_stop(gc, xswa);
-    return rc;
-}
-
 typedef struct pci_add_state {
     /* filled by user of do_pci_add */
     libxl__ao_device *aodev;
@@ -1116,8 +1040,6 @@ typedef struct pci_add_state {
     int retries;
 } pci_add_state;
 
-static void pci_add_qemu_trad_watch_state_cb(libxl__egc *egc,
-    libxl__xswait_state *xswa, int rc, const char *state);
 static void pci_add_qmp_device_add(libxl__egc *, pci_add_state *);
 static void pci_add_qmp_device_add_cb(libxl__egc *,
     libxl__ev_qmp *, const libxl__json_object *, int rc);
@@ -1153,16 +1075,6 @@ static void do_pci_add(libxl__egc *egc,
 
     if (type == LIBXL_DOMAIN_TYPE_HVM) {
         switch (libxl__device_model_version_running(gc, domid)) {
-            case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-                pas->xswait.ao = ao;
-                pas->xswait.what = "Device Model";
-                pas->xswait.path = DEVICE_MODEL_XS_PATH(gc,
-                    libxl_get_stubdom_id(CTX, domid), domid, "/state");
-                pas->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
-                pas->xswait.callback = pci_add_qemu_trad_watch_state_cb;
-                rc = libxl__xswait_start(gc, &pas->xswait);
-                if (rc) goto out;
-                return;
             case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
                 rc = libxl__ev_time_register_rel(ao, &pas->timeout,
                                                  pci_add_timeout,
@@ -1183,29 +1095,6 @@ out:
     pci_add_dm_done(egc, pas, rc); /* must be last */
 }
 
-static void pci_add_qemu_trad_watch_state_cb(libxl__egc *egc,
-                                             libxl__xswait_state *xswa,
-                                             int rc,
-                                             const char *state)
-{
-    pci_add_state *pas = CONTAINER_OF(xswa, *pas, xswait);
-    STATE_AO_GC(pas->aodev->ao);
-
-    /* Convenience aliases */
-    libxl_domid domid = pas->domid;
-    libxl_device_pci *pci = &pas->pci;
-
-    rc = check_qemu_running(gc, domid, xswa, rc, state);
-    if (rc == ERROR_NOT_READY)
-        return;
-    if (rc)
-        goto out;
-
-    rc = qemu_pci_add_xenstore(gc, domid, pci);
-out:
-    pci_add_dm_done(egc, pas, rc); /* must be last */
-}
-
 static void pci_add_qmp_device_add(libxl__egc *egc, pci_add_state *pas)
 {
     STATE_AO_GC(pas->aodev->ao);
@@ -1877,42 +1766,6 @@ static void add_pcis_done(libxl__egc *egc, libxl__multidev *multidev,
     aodev->callback(egc, aodev);
 }
 
-static int qemu_pci_remove_xenstore(libxl__gc *gc, uint32_t domid,
-                                    libxl_device_pci *pci, int force)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char *state;
-    char *path;
-    uint32_t dm_domid;
-
-    dm_domid = libxl_get_stubdom_id(CTX, domid);
-
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
-    state = libxl__xs_read(gc, XBT_NULL, path);
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/parameter");
-    libxl__xs_printf(gc, XBT_NULL, path, PCI_BDF, pci->domain,
-                     pci->bus, pci->dev, pci->func);
-
-    /* Remove all functions at once atomically by only signalling
-     * device-model for function 0 */
-    if ( !force && (pci->vdevfn & 0x7) == 0 ) {
-        libxl__qemu_traditional_cmd(gc, domid, "pci-rem");
-        if (libxl__wait_for_device_model_deprecated(gc, domid, "pci-removed",
-                                         NULL, NULL, NULL) < 0) {
-            LOGD(ERROR, domid, "Device Model didn't respond in time");
-            /* This depends on guest operating system acknowledging the
-             * SCI, if it doesn't respond in time then we may wish to
-             * force the removal.
-             */
-            return ERROR_FAIL;
-        }
-    }
-    path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
-    xs_write(ctx->xsh, XBT_NULL, path, state, strlen(state));
-
-    return 0;
-}
-
 typedef struct pci_remove_state {
     libxl__ao_device *aodev;
     libxl_domid domid;
@@ -1935,8 +1788,6 @@ static void libxl__device_pci_remove_common(libxl__egc *egc,
 static void device_pci_remove_common_next(libxl__egc *egc,
     pci_remove_state *prs, int rc);
 
-static void pci_remove_qemu_trad_watch_state_cb(libxl__egc *egc,
-    libxl__xswait_state *xswa, int rc, const char *state);
 static void pci_remove_qmp_device_del(libxl__egc *egc,
     pci_remove_state *prs);
 static void pci_remove_qmp_device_del_cb(libxl__egc *egc,
@@ -1982,16 +1833,6 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
     if (type == LIBXL_DOMAIN_TYPE_HVM) {
         prs->hvm = true;
         switch (libxl__device_model_version_running(gc, domid)) {
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            prs->xswait.ao = ao;
-            prs->xswait.what = "Device Model";
-            prs->xswait.path = DEVICE_MODEL_XS_PATH(gc,
-                libxl_get_stubdom_id(CTX, domid), domid, "/state");
-            prs->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
-            prs->xswait.callback = pci_remove_qemu_trad_watch_state_cb;
-            rc = libxl__xswait_start(gc, &prs->xswait);
-            if (rc) goto out_fail;
-            return;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             pci_remove_qmp_device_del(egc, prs); /* must be last */
             return;
@@ -2005,30 +1846,6 @@ out_fail:
     pci_remove_detached(egc, prs, rc); /* must be last */
 }
 
-static void pci_remove_qemu_trad_watch_state_cb(libxl__egc *egc,
-                                                libxl__xswait_state *xswa,
-                                                int rc,
-                                                const char *state)
-{
-    pci_remove_state *prs = CONTAINER_OF(xswa, *prs, xswait);
-    STATE_AO_GC(prs->aodev->ao);
-
-    /* Convenience aliases */
-    libxl_domid domid = prs->domid;
-    libxl_device_pci *const pci = &prs->pci;
-
-    rc = check_qemu_running(gc, domid, xswa, rc, state);
-    if (rc == ERROR_NOT_READY)
-        return;
-    if (rc)
-        goto out;
-
-    rc = qemu_pci_remove_xenstore(gc, domid, pci, prs->force);
-
-out:
-    pci_remove_detached(egc, prs, rc);
-}
-
 static void pci_remove_qmp_device_del(libxl__egc *egc,
                                       pci_remove_state *prs)
 {
diff --git a/tools/libs/light/libxl_stream_write.c b/tools/libs/light/libxl_stream_write.c
index 634f3240d1..98d44597a7 100644
--- a/tools/libs/light/libxl_stream_write.c
+++ b/tools/libs/light/libxl_stream_write.c
@@ -252,10 +252,6 @@ void libxl__stream_write_start(libxl__egc *egc,
         stream->device_model_version =
             libxl__device_model_version_running(gc, dss->domid);
         switch (stream->device_model_version) {
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            stream->emu_sub_hdr.id = EMULATOR_QEMU_TRADITIONAL;
-            break;
-
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             stream->emu_sub_hdr.id = EMULATOR_QEMU_UPSTREAM;
             break;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index bd4b8721ff..682bc1bd64 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -104,7 +104,6 @@ libxl_channel_connection = Enumeration("channel_connection", [
 
 libxl_device_model_version = Enumeration("device_model_version", [
     (0, "UNKNOWN"),
-    (1, "QEMU_XEN_TRADITIONAL"), # Historical qemu-xen device model (qemu-dm)
     (2, "QEMU_XEN"),             # Upstream based qemu-xen device model
     ])
 
diff --git a/tools/python/xen/migration/libxl.py b/tools/python/xen/migration/libxl.py
index 5dcb50fe02..dc5c7ac355 100644
--- a/tools/python/xen/migration/libxl.py
+++ b/tools/python/xen/migration/libxl.py
@@ -51,12 +51,10 @@ rec_type_to_str = {
 EMULATOR_HEADER_FORMAT = "II"
 
 EMULATOR_ID_unknown       = 0x00000000
-EMULATOR_ID_qemu_trad     = 0x00000001
 EMULATOR_ID_qemu_upstream = 0x00000002
 
 emulator_id_to_str = {
     EMULATOR_ID_unknown       : "Unknown",
-    EMULATOR_ID_qemu_trad     : "Qemu Traditional",
     EMULATOR_ID_qemu_upstream : "Qemu Upstream",
 }
 
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 089a88935a..219e924779 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2733,10 +2733,7 @@ skip_usbdev:
     xlu_cfg_replace_string (config, "device_model_override",
                             &b_info->device_model, 0);
     if (!xlu_cfg_get_string (config, "device_model_version", &buf, 0)) {
-        if (!strcmp(buf, "qemu-xen-traditional")) {
-            b_info->device_model_version
-                = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
-        } else if (!strcmp(buf, "qemu-xen")) {
+        if (!strcmp(buf, "qemu-xen")) {
             b_info->device_model_version
                 = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;
         } else {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:05:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928062.1330848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTFg-0002jQ-LI; Wed, 26 Mar 2025 16:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928062.1330848; Wed, 26 Mar 2025 16: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 1txTFg-0002jH-HK; Wed, 26 Mar 2025 16:05:12 +0000
Received: by outflank-mailman (input) for mailman id 928062;
 Wed, 26 Mar 2025 16:05: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTFe-0001z3-L4
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:10 +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 16d6864b-0a5c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 17:05:08 +0100 (CET)
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 1F3001F395;
 Wed, 26 Mar 2025 16:05:08 +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 AEFD21374A;
 Wed, 26 Mar 2025 16:05:07 +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 9mRCKbMl5GcgaQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 16:05: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: 16d6864b-0a5c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005108; h=from:from:reply-to: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=wo7/7gJlfb6rg7ehV94OB+q9oJzLgzT/XzrTBr8sNpE=;
	b=a09RH0ULJsXIHbHkSjAyWVjHKYvlm4tZwauqlGgw5GvFyQTc2/7dHn6j+0zWjPvL4J1SHP
	vV3bOwVw2+1f2A5d3jeSAizrwG2zk8byjN/Jv7ALpTZhqyQpg4x6cA+C/WwFJ5ZSGuJGx4
	76RaLcn7G25+T2c8ZMhMCsmDYJPQfus=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005108; h=from:from:reply-to: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=wo7/7gJlfb6rg7ehV94OB+q9oJzLgzT/XzrTBr8sNpE=;
	b=a09RH0ULJsXIHbHkSjAyWVjHKYvlm4tZwauqlGgw5GvFyQTc2/7dHn6j+0zWjPvL4J1SHP
	vV3bOwVw2+1f2A5d3jeSAizrwG2zk8byjN/Jv7ALpTZhqyQpg4x6cA+C/WwFJ5ZSGuJGx4
	76RaLcn7G25+T2c8ZMhMCsmDYJPQfus=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH 4/6] tools: remove qemu-traditional
Date: Wed, 26 Mar 2025 17:04:38 +0100
Message-ID: <20250326160442.19706-5-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250326160442.19706-1-jgross@suse.com>
References: <20250326160442.19706-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.80
X-Spamd-Result: default: False [-1.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SUSPICIOUS_RECIPS(1.50)[];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	TAGGED_RCPT(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[12];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_CC(0.00)[suse.com,citrix.com,vates.tech,amd.com,xen.org,kernel.org,gmail.com,xenproject.org,ens-lyon.org];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DBL_BLOCKED_OPENRESOLVER(0.00)[stubdompath.sh:url,invisiblethingslab.com:email,xenstorepvh-minios-config.mk:url,support.md:url,changelog.md:url,vates.tech:email,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo,xenproject.org:url,ioemu-minios-config.mk:url,keepachangelog.com:url,xen.org:url,config.mk:url]
X-Spam-Flag: NO
X-Spam-Level: 

Remove qemu traditional from the tree.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore               |  3 --
 CHANGELOG.md             |  1 +
 Config.mk                | 24 -----------
 INSTALL                  | 12 ------
 MAINTAINERS              |  4 --
 README                   |  2 +-
 SUPPORT.md               | 16 -------
 config/Tools.mk.in       |  1 -
 stubdom/Makefile         | 84 +------------------------------------
 stubdom/configure        | 90 ----------------------------------------
 stubdom/configure.ac     | 15 -------
 stubdom/ioemu-minios.cfg |  6 ---
 tools/Makefile           | 58 --------------------------
 tools/Rules.mk           |  3 --
 tools/config.h.in        |  3 --
 tools/configure          | 40 ++----------------
 tools/configure.ac       | 21 +---------
 17 files changed, 9 insertions(+), 374 deletions(-)
 delete mode 100644 stubdom/ioemu-minios.cfg

diff --git a/.gitignore b/.gitignore
index 53f5df0003..ccc0bebee6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -255,9 +255,6 @@ LibVNCServer*
 tools/qemu-xen-dir-remote
 tools/qemu-xen-dir
 
-tools/qemu-xen-traditional-dir-remote
-tools/qemu-xen-traditional-dir
-
 tools/firmware/seabios-dir-remote
 tools/firmware/seabios-dir
 
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b03e2c73d7..d530b1d95b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
      capability usage is not yet supported on PVH dom0).
 
 ### Removed
+ - Support of qemu-traditional has been removed.
 
 ## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05
 
diff --git a/Config.mk b/Config.mk
index 8a73f3da62..435bc93c0d 100644
--- a/Config.mk
+++ b/Config.mk
@@ -208,22 +208,12 @@ XEN_EXTFILES_URL ?= https://xenbits.xen.org/xen-extfiles
 
 # Where to look for inlined subtrees (for example, from a tarball)
 QEMU_UPSTREAM_INTREE ?= $(XEN_ROOT)/tools/qemu-xen
-QEMU_TRADITIONAL_INTREE ?= $(XEN_ROOT)/tools/qemu-xen-traditional
 
 
 # Handle legacy options
 ifneq (,$(SEABIOS_UPSTREAM_TAG))
 SEABIOS_UPSTREAM_REVISION ?= $(SEABIOS_UPSTREAM_TAG)
 endif
-ifneq (,$(QEMU_REMOTE))
-QEMU_TRADITIONAL_URL ?= $(QEMU_REMOTE)
-endif
-ifneq (,$(CONFIG_QEMU))
-QEMU_TRADITIONAL_LOC ?= $(CONFIG_QEMU)
-endif
-ifneq (,$(QEMU_TAG))
-QEMU_TRADITIONAL_REVISION ?= $(QEMU_TAG)
-endif
 
 OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
@@ -239,20 +229,6 @@ SEABIOS_UPSTREAM_REVISION ?= rel-1.16.3
 
 ETHERBOOT_NICS ?= rtl8139 8086100e
 
-
-QEMU_TRADITIONAL_URL ?= https://xenbits.xen.org/git-http/qemu-xen-traditional.git
-QEMU_TRADITIONAL_REVISION ?= 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764
-# Wed Jul 15 10:01:40 2020 +0100
-# qemu-trad: remove Xen path dependencies
-
-# Specify which qemu-dm to use. This may be `ioemu' to use the old
-# Mercurial in-tree version, or a local directory, or a git URL.
-# QEMU_UPSTREAM_LOC ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
-
-# Defaults for subtree locations
-QEMU_TRADITIONAL_LOC ?= $(call or,$(wildcard $(QEMU_TRADITIONAL_INTREE)),\
-                                  $(QEMU_TRADITIONAL_URL))
-
 QEMU_UPSTREAM_LOC ?= $(call or,$(wildcard $(QEMU_UPSTREAM_INTREE)),\
                                $(QEMU_UPSTREAM_URL))
 
diff --git a/INSTALL b/INSTALL
index 88c1464816..786e3da996 100644
--- a/INSTALL
+++ b/INSTALL
@@ -113,15 +113,6 @@ Build a private copy of SeaBIOS.
 Use the given SeaBIOS binary instead of compiling a private copy.
   --with-system-seabios=PATH
 
-Build the old qemu used by xm/xend. This is required if existing domUs
-should be migrated to this host, or if existing domU snapshots should be
-started with this version of the tools. Only if all domUs used the new
-upstream qemu during initial start it is safe to disable this option.
-The old qemu requires rombios, which can be disable along with
-qemu-traditional.
-  --enable-qemu-traditional
-  --enable-rombios
-
 The libxl toolstack uses the upstream qemu per default. A private copy
 will be built. If desired this private copy can be configured with
 additional options passed to its configure script.
@@ -245,7 +236,6 @@ locations.
 XEN_EXTFILES_URL=
 OVMF_UPSTREAM_URL=
 QEMU_UPSTREAM_URL=
-QEMU_TRADITIONAL_URL=
 SEABIOS_UPSTREAM_URL=
 MINIOS_UPSTREAM_URL=
 
@@ -253,7 +243,6 @@ Using additional CFLAGS to build tools which will run in dom0 is
 required when building distro packages. These variables can be used to
 pass RPM_OPT_FLAGS.
 EXTRA_CFLAGS_XEN_TOOLS=
-EXTRA_CFLAGS_QEMU_TRADITIONAL=
 EXTRA_CFLAGS_QEMU_XEN=
 
 Additional CFLAGS may be supplied to the build of the hypervisor by
@@ -340,7 +329,6 @@ sudo make install BOOT_DIR=/ood/path/boot EFI_DIR=/odd/path/efi
 export WGET=$(type -P false)
 export GIT=$(type -P false)
 export EXTRA_CFLAGS_XEN_TOOLS="$RPM_OPT_FLAGS"
-export EXTRA_CFLAGS_QEMU_TRADITIONAL="$RPM_OPT_FLAGS"
 export EXTRA_CFLAGS_QEMU_XEN="$RPM_OPT_FLAGS"
 %configure \
         --with-initddir=%{_initddir}
diff --git a/MAINTAINERS b/MAINTAINERS
index c11b82eca9..7d1b3b8641 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -466,10 +466,6 @@ M:	Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
 S:	Supported
 F:	tools/python
 
-QEMU-DM
-S:	Supported
-T:	git https://xenbits.xenproject.org/git-http/qemu-xen-traditional.git
-
 QEMU UPSTREAM
 M:	Stefano Stabellini <sstabellini@kernel.org>
 M:	Anthony Perard <anthony.perard@vates.tech>
diff --git a/README b/README
index be90be3910..6ee58f7b35 100644
--- a/README
+++ b/README
@@ -80,7 +80,7 @@ disabled at compile time:
       libnl-3-dev, etc).  Required if network buffering is desired
       when using Remus with libxl.  See docs/README.remus for detailed
       information.
-    * 16-bit x86 assembler, loader and compiler for qemu-traditional / rombios
+    * 16-bit x86 assembler, loader and compiler for rombios
       (dev86 rpm or bin86 & bcc debs)
     * Development install of liblzma for rombios
     * Development install of libbz2, liblzma, liblzo2, and libzstd for DomU
diff --git a/SUPPORT.md b/SUPPORT.md
index ed4412f0af..39cb1ddee1 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -995,21 +995,6 @@ See the section **Blkback** for image formats supported by QEMU.
 
     Status: Supported, not security supported
 
-### qemu-xen-traditional ###
-
-The Xen Project provides an old version of qemu with modifications
-which enable use as a device model stub domain.  The old version is
-normally selected by default only in a stub dm configuration, but it
-can be requested explicitly in other configurations, for example in
-`xl` with `device_model_version="QEMU_XEN_TRADITIONAL"`.
-
-    Status, Device Model Stub Domains: Supported, with caveats
-    Status, as host process device model: No security support, not recommended
-
-qemu-xen-traditional is security supported only for those available
-devices which are supported for mainstream QEMU (see above), with
-trusted driver domains (see Device Model Stub Domains).
-
 ## Virtual Firmware
 
 ### x86/HVM iPXE
@@ -1028,7 +1013,6 @@ as the guest itself.
 Booting a guest via guest BIOS firmware
 
     Status, SeaBIOS (qemu-xen): Supported
-    Status, ROMBIOS (qemu-xen-traditional): Supported
 
 ### x86/HVM OVMF
 
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 37c071961e..463ab75965 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -43,7 +43,6 @@ CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
 CONFIG_IPXE         := @ipxe@
-CONFIG_QEMU_TRAD    := @qemu_traditional@
 CONFIG_QEMU_XEN     := @qemu_xen@
 CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@
 CONFIG_LIBNL        := @libnl@
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 724ce40365..82fc1e90f8 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -7,7 +7,6 @@ export PKG_CONFIG_DIR = $(CURDIR)/pkg-config
 
 # Remove flags which are meant for tools, e.g. "-m64"
 export EXTRA_CFLAGS_XEN_TOOLS=
-export EXTRA_CFLAGS_QEMU_TRADITIONAL=
 
 export stubdom=y
 export debug=y
@@ -267,43 +266,6 @@ cross-tpmemu: $(TPMEMU_STAMPFILE)
 .PHONY: $(CROSS_ROOT)
 $(CROSS_ROOT): cross-newlib cross-zlib cross-libpci
 
-QEMU_ROOT := $(shell if [ -d "$(QEMU_TRADITIONAL_LOC)" ]; then echo "$(QEMU_TRADITIONAL_LOC)"; else echo .; fi)
-
-ifneq ($(filter ioemu,$(STUBDOM_TARGETS)),)
-IOEMU_LINKFARM_TARGET := ioemu/linkfarm.stamp
-endif
-
-ifeq ($(QEMU_ROOT),.)
-$(XEN_ROOT)/tools/qemu-xen-traditional-dir:
-	$(MAKE) DESTDIR= -C $(XEN_ROOT)/tools qemu-xen-traditional-dir-find
-
-ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/qemu-xen-traditional-dir
-	mkdir -p ioemu
-	set -e;									\
-	$(buildmakevars2shellvars);						\
-	cd ioemu;								\
-	src="$$XEN_ROOT/tools/qemu-xen-traditional-dir"; export src;		\
-	(cd $$src && find * -type d						\
-		$(addprefix ! -path , '*-softmmu*' '*-linux-user*') -print)	\
-		| xargs mkdir -p;						\
-	(cd $$src && find *	! -type l  -type f  $(addprefix ! -path ,	\
-			'*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen	\
-			'*.html' '*.pod' '*-softmmu*' '*-linux-user*'		\
-			)) >linkfarm.stamp.tmp;				\
-	cmp -s linkfarm.stamp.tmp linkfarm.stamp &&			\
-		rm linkfarm.stamp.tmp || {				\
-		mv linkfarm.stamp.tmp linkfarm.stamp;			\
-		cat linkfarm.stamp | while read f;			\
-			do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done;	\
-	}
-else
-export QEMU_ROOT
-
-ioemu/linkfarm.stamp:
-	mkdir -p ioemu
-	touch ioemu/linkfarm.stamp
-endif
-
 #######
 # libraries under tools/libs
 #######
@@ -380,29 +342,6 @@ $(TARGETS_MINIOS): mini-os-%:
                 mkdir -p $@/$$i ; \
 	done
 
-#######
-# ioemu
-#######
-
-ioemu-minios.gen.cfg: APP_LIBS = evtchn gnttab ctrl guest
-ioemu-minios.gen.cfg: ioemu-minios.cfg Makefile
-	$(GEN_config) >$@
-
-ioemu-minios-config.mk: ioemu-minios.gen.cfg
-	MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
-
-.PHONY: ioemu
-ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk
-	[ -f ioemu/config-host.mak ] || \
-	  ( $(buildmakevars2shellvars); \
-	    cd ioemu ; \
-	    LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) \
-	    TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat ioemu-minios-config.mk)" \
-	    TARGET_CFLAGS="$(TARGET_CFLAGS)" \
-	    TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
-	    $(QEMU_ROOT)/xen-setup-stubdom )
-	$(MAKE) DESTDIR= -C ioemu -f $(QEMU_ROOT)/Makefile
-
 ###
 # C
 ###
@@ -496,11 +435,6 @@ xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk
 # minios
 ########
 
-.PHONY: ioemu-stubdom
-ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a
-ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxenguest ioemu
-	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.gen.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
-
 .PHONY: c-stubdom
 c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxenguest c
 	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/c/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=$(CURDIR)/c/main.a
@@ -544,13 +478,6 @@ else
 install: $(STUBDOMPATH)
 endif
 
-install-ioemu: ioemu-stubdom
-	$(INSTALL_DIR) "$(DESTDIR)$(LIBEXEC_BIN)"
-	$(INSTALL_PROG) stubdom-dm "$(DESTDIR)$(LIBEXEC_BIN)"
-	$(INSTALL_DATA) stubdompath.sh "$(DESTDIR)$(LIBEXEC_BIN)"
-	$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
-	$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-ioemu/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/ioemu-stubdom.gz"
-
 install-grub: pv-grub
 	$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
 	$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-grub/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/pv-grub-$(XEN_TARGET_ARCH).gz"
@@ -593,11 +520,6 @@ else
 uninstall:
 endif
 
-uninstall-ioemu:
-	rm -f $(DESTDIR)$(LIBEXEC_BIN)/stubdom-dm
-	rm -f $(DESTDIR)$(LIBEXEC_BIN)/stubdompath.sh
-	rm -f $(DESTDIR)$(XENFIRMWAREDIR)/ioemu-stubdom.gz
-
 uninstall-grub:
 	rm -f $(DESTDIR)$(XENFIRMWAREDIR)/pv-grub-$(XEN_TARGET_ARCH).gz
 
@@ -617,11 +539,10 @@ uninstall-vtpmmgr:
 # clean
 #######
 
-# Only clean the libxc/ioemu/mini-os part
+# Only clean the libxc/mini-os part
 .PHONY: clean
 clean: $(foreach lib,$(STUB_LIBS),clean-libxen$(lib))
 clean:
-	rm -fr mini-os-$(XEN_TARGET_ARCH)-ioemu
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-c
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-grub
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore
@@ -636,7 +557,6 @@ clean:
 	rm -f *-minios-config.mk
 	rm -f *.gen.cfg
 	rm -fr pkg-config
-	-[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean
 	-[ ! -d xenstore ] || $(MAKE) -f $(CURDIR)/xenlibs.mk -C xenstore clean
 	-[ ! -d xenstorepvh ] || $(MAKE) -f $(CURDIR)/xenlibs.mk -C xenstorepvh clean
 
@@ -647,7 +567,7 @@ crossclean: clean
 	rm -fr newlib-$(XEN_TARGET_ARCH)
 	rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH)
 	rm -fr libs-$(XEN_TARGET_ARCH)
-	rm -fr ioemu xenstore xenstorepvh
+	rm -fr xenstore xenstorepvh
 	rm -fr gmp-$(XEN_TARGET_ARCH)
 	rm -fr polarssl-$(XEN_TARGET_ARCH)
 	rm -fr tpm_emulator-$(XEN_TARGET_ARCH)
diff --git a/stubdom/configure b/stubdom/configure
index 08cacf764c..503516b304 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -622,7 +622,6 @@ STUBDOM_UNINSTALL
 STUBDOM_INSTALL
 STUBDOM_BUILD
 STUBDOM_TARGETS
-ioemu
 vtpmmgr
 vtpm
 TPMEMU_VERSION
@@ -713,14 +712,12 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
-enable_ioemu_stubdom
 enable_c_stubdom
 enable_pv_grub
 enable_xenstore_stubdom
 enable_xenstorepvh_stubdom
 enable_vtpm_stubdom
 enable_vtpmmgr_stubdom
-enable_qemu_traditional
 enable_debug
 enable_extfiles
 '
@@ -1363,7 +1360,6 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-ioemu-stubdom  Build and install ioemu-stubdom
   --enable-c-stubdom      Build and install c-stubdom (default is DISABLED)
   --enable-pv-grub        Build and install pv-grub (default is DISABLED)
   --disable-xenstore-stubdom
@@ -2411,40 +2407,6 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 # Enable/disable stub domains
 
-# Check whether --enable-ioemu-stubdom was given.
-if test ${enable_ioemu_stubdom+y}
-then :
-  enableval=$enable_ioemu_stubdom;
-
-if test "x$enableval" = "xyes"
-then :
-
-
-ioemu=y
-STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
-STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
-STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
-STUBDOM_UNINSTALL="$STUBDOM_UNINSTALL install-ioemu"
-
-
-else $as_nop
-
-if test "x$enableval" = "xno"
-then :
-
-
-ioemu=n
-
-
-fi
-
-fi
-
-
-fi
-
-
-
 # Check whether --enable-c-stubdom was given.
 if test ${enable_c_stubdom+y}
 then :
@@ -2685,36 +2647,6 @@ fi
 
 
 
-# Check whether --enable-qemu-traditional was given.
-if test ${enable_qemu_traditional+y}
-then :
-  enableval=$enable_qemu_traditional;
-fi
-
-if test "x$enable_qemu_traditional" = "xyes"
-then :
-
-    qemu_traditional=y
-else $as_nop
-
-    qemu_traditional=n
-
-fi
-if test "x$ioemu" = "x"
-then :
-
-    ioemu=$qemu_traditional
-
-fi
-echo "x$ioemu$qemu_traditional"
-if test "x$ioemu$qemu_traditional" = "xyn"
-then :
-
-    as_fn_error $? "IOEMU stubdomain requires qemu-traditional" "$LINENO" 5
-
-fi
-
-
 # Check whether --enable-debug was given.
 if test ${enable_debug+y}
 then :
@@ -4358,28 +4290,6 @@ fi
 
 
 
-if test "x$ioemu" = "xy" || test "x$ioemu" = "x"
-then :
-
-
-ioemu=y
-STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
-STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
-STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
-STUBDOM_UNINSTALL="$STUBDOM_UNINSTALL install-ioemu"
-
-
-else $as_nop
-
-
-ioemu=n
-
-
-fi
-
-
-
-
 
 
 
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index fc736c0387..f07b08c5b3 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -18,7 +18,6 @@ m4_include([../m4/depends.m4])
 m4_include([../m4/fetcher.m4])
 
 # Enable/disable stub domains
-AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu])
 AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
 AX_STUBDOM_DEFAULT_DISABLE([pv-grub], [grub])
 AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
@@ -26,19 +25,6 @@ AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xenstorepvh])
 AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm])
 AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr])
 
-AC_ARG_ENABLE([qemu-traditional])
-AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
-    qemu_traditional=y],[
-    qemu_traditional=n
-])
-AS_IF([test "x$ioemu" = "x"], [
-    ioemu=$qemu_traditional
-])
-echo "x$ioemu$qemu_traditional"
-AS_IF([test "x$ioemu$qemu_traditional" = "xyn"], [
-    AC_MSG_ERROR(IOEMU stubdomain requires qemu-traditional)
-])
-
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of stubdom])
 AX_ARG_DEFAULT_ENABLE([extfiles], [Use xen extfiles repository for libraries])
 
@@ -69,7 +55,6 @@ AX_STUBDOM_AUTO_DEPENDS([vtpmmgr], [vtpm])
 #Conditionally enable these stubdoms based on the presense of dependencies
 AX_STUBDOM_CONDITIONAL_FINISH([vtpm-stubdom], [vtpm])
 AX_STUBDOM_CONDITIONAL_FINISH([vtpmmgr-stubdom], [vtpmmgr])
-AX_STUBDOM_CONDITIONAL_FINISH([ioemu-stubdom], [ioemu])
 
 AX_STUBDOM_FINISH
 AC_OUTPUT()
diff --git a/stubdom/ioemu-minios.cfg b/stubdom/ioemu-minios.cfg
deleted file mode 100644
index 6153ae05f8..0000000000
--- a/stubdom/ioemu-minios.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_LIBC=y
-CONFIG_LWIP=y
-CONFIG_START_NETWORK=n
-CONFIG_QEMU_XS_ARGS=y
-CONFIG_PCIFRONT=y
-XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
diff --git a/tools/Makefile b/tools/Makefile
index e9e1cda305..6ecf7c0da8 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -24,7 +24,6 @@ SUBDIRS-$(CONFIG_Linux) += vchan
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
 SUBDIRS-$(CONFIG_QEMU_XEN) += qemu-xen-dir
 endif
 
@@ -79,7 +78,6 @@ clean: subdirs-clean
 
 .PHONY: distclean
 distclean: subdirs-distclean clean
-	rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
 	rm -rf qemu-xen-dir qemu-xen-dir-remote qemu-xen-build
 	rm -rf ../config/Tools.mk config.h config.log config.status \
 		config.cache autom4te.cache
@@ -97,11 +95,6 @@ QEMU_UPSTREAM_RPATH := -Wl,-rpath,$(LIBEXEC_LIB)
 IOEMU_EXTRA_LDFLAGS :=
 endif
 
-QEMU_ROOT := $(shell if [ -d "$(QEMU_TRADITIONAL_LOC)" ]; then echo "$(QEMU_TRADITIONAL_LOC)"; else echo .; fi)
-ifneq ($(QEMU_ROOT),.)
-export QEMU_ROOT
-endif
-
 # Targets for external trees:
 #  ${target}-dir-find
 #    See if the directory exists and check it out if not.
@@ -136,54 +129,6 @@ endif
 #   ${TARGET}_LOC
 #     The ultimate location of the source (either a local dir or remote URL)
 
-# External target: qemu-xen-traditional
-qemu-xen-traditional-dir-find:
-	set -ex; \
-	if test -d $(QEMU_TRADITIONAL_LOC); then \
-		mkdir -p qemu-xen-traditional-dir; \
-	else \
-		export GIT=$(GIT); \
-		$(XEN_ROOT)/scripts/git-checkout.sh $(QEMU_TRADITIONAL_LOC) $(QEMU_TRADITIONAL_REVISION) qemu-xen-traditional-dir; \
-	fi
-
-.PHONY: qemu-xen-traditional-dir-force-update
-qemu-xen-traditional-dir-force-update: qemu-xen-traditional-dir-find
-	set -ex; \
-	if [ "$(QEMU_TRADITIONAL_REVISION)" ]; then \
-		cd qemu-xen-traditional-dir-remote; \
-		$(GIT) fetch origin; \
-		$(GIT) reset --hard $(QEMU_TRADITIONAL_REVISION); \
-	fi
-
-qemu-traditional-recurse = \
-	set -e; \
-		$(buildmakevars2shellvars); \
-		export CONFIG_BLKTAP1=n; \
-		export BUILDING_QEMU_TRAD=y; \
-		cd qemu-xen-traditional-dir; \
-		$(1)
-
-subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
-	$(call qemu-traditional-recurse,\
-		$(QEMU_ROOT)/xen-setup \
-		--extra-cflags="-D__XEN_TOOLS__ $(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
-		$(IOEMU_EXTRA_LDFLAGS) \
-		--cpu=$(IOEMU_CPU_ARCH) \
-		$(IOEMU_CONFIGURE_CROSS); \
-		$(MAKE) all \
-	)
-
-subdir-install-qemu-xen-traditional-dir: subdir-all-qemu-xen-traditional-dir
-	$(call qemu-traditional-recurse,$(MAKE) install)
-
-subdir-clean-qemu-xen-traditional-dir:
-	set -e; if test -d qemu-xen-traditional-dir/.; then \
-		$(MAKE) -C qemu-xen-traditional-dir clean; \
-	fi
-subdir-uninstall-qemu-xen-traditional-dir:
-	rm -f $(D)$(bindir)/qemu-nbd*
-	rm -f $(D)$(bindir)/qemu-img*
-
 # External target: qemu-xen
 qemu-xen-dir-find:
 	if test -d $(QEMU_UPSTREAM_LOC) ; then \
@@ -276,9 +221,6 @@ subtree-force-update:
 ifeq ($(CONFIG_QEMU_XEN),y)
 	$(MAKE) qemu-xen-dir-force-update
 endif
-ifeq ($(CONFIG_QEMU_TRAD),y)
-	$(MAKE) qemu-xen-traditional-dir-force-update
-endif
 ifeq ($(CONFIG_X86),y)
 	$(MAKE) -C firmware subtree-force-update
 endif
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 6bd636709f..725c3c32e9 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -134,12 +134,9 @@ endif
 
 CFLAGS_libxenlight += $(CFLAGS_libxenctrl)
 
-# Don't add -Werror if we are used by qemu-trad build system.
-ifndef BUILDING_QEMU_TRAD
 ifeq ($(CONFIG_WERROR),y)
 CFLAGS += -Werror
 endif
-endif
 
 ifeq ($(debug),y)
 # Use -Og if available, -O0 otherwise
diff --git a/tools/config.h.in b/tools/config.h.in
index 0bab3cb136..fe2a94cfc4 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -42,9 +42,6 @@
 /* pygrub enabled */
 #undef HAVE_PYGRUB
 
-/* Qemu traditional enabled */
-#undef HAVE_QEMU_TRADITIONAL
-
 /* ROMBIOS enabled */
 #undef HAVE_ROMBIOS
 
diff --git a/tools/configure b/tools/configure
index e1f6ea6bf5..dbf6c72f86 100755
--- a/tools/configure
+++ b/tools/configure
@@ -726,7 +726,6 @@ BCC
 LD86
 AS86
 ipxe
-qemu_traditional
 LINUX_BACKEND_MODULES
 pygrub
 golang
@@ -835,7 +834,6 @@ enable_seabios
 enable_golang
 enable_pygrub
 with_linux_backend_modules
-enable_qemu_traditional
 enable_ipxe
 with_system_ipxe
 enable_rombios
@@ -1518,13 +1516,10 @@ Optional Features:
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-golang        Disable Go tools (default is ENABLED)
   --disable-pygrub        Disable pygrub (default is ENABLED)
-  --enable-qemu-traditional
-                          Enable qemu traditional device model, (DEFAULT is
-                          off)
   --enable-ipxe           Enable in-tree IPXE, (DEFAULT is off, see also
                           --with-system-ipxe)
-  --enable-rombios        Enable ROMBIOS, (DEFAULT is on if qemu-traditional
-                          or ipxe is enabled, otherwise off)
+  --enable-rombios        Enable ROMBIOS, (DEFAULT is on if ipxe is enabled,
+                          otherwise off)
   --enable-libfsimage     Enable libfsimage, (DEFAULT is on if pygrub is
                           enabled, otherwise off)
   --enable-systemd        Enable systemd support (default is DISABLED)
@@ -4838,45 +4833,16 @@ fi
 LINUX_BACKEND_MODULES="`eval echo $LINUX_BACKEND_MODULES`"
 
 
-# Check whether --enable-qemu-traditional was given.
-if test ${enable_qemu_traditional+y}
-then :
-  enableval=$enable_qemu_traditional;
-fi
-
-if test "x$enable_qemu_traditional" = "xyes"
-then :
-
-
-printf "%s\n" "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h
-
-    qemu_traditional=y
-else $as_nop
-
-    qemu_traditional=n
-
-fi
-
-
 # Check whether --enable-ipxe was given.
 if test ${enable_ipxe+y}
 then :
   enableval=$enable_ipxe;
-else $as_nop
-
-    if test "x$enable_qemu_traditional" = "xyes"
-then :
-
-        enable_ipxe="yes"
-
 else $as_nop
 
         enable_ipxe="no"
 
 fi
 
-fi
-
 if test "x$enable_ipxe" = "xno"
 then :
   ipxe=n
@@ -4912,7 +4878,7 @@ then :
   enableval=$enable_rombios;
 else $as_nop
 
-    if test "x$enable_qemu_traditional" = "xyes" -o "x$enable_ipxe" = "xyes"
+    if test "x$enable_ipxe" = "xyes"
 then :
 
         enable_rombios="yes"
diff --git a/tools/configure.ac b/tools/configure.ac
index 0dd6d747ab..dada1c3b15 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -121,25 +121,11 @@ esac])
 LINUX_BACKEND_MODULES="`eval echo $LINUX_BACKEND_MODULES`"
 AC_SUBST(LINUX_BACKEND_MODULES)
 
-AC_ARG_ENABLE([qemu-traditional],
-    AS_HELP_STRING([--enable-qemu-traditional],
-                   [Enable qemu traditional device model, (DEFAULT is off)]))
-AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
-AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled])
-    qemu_traditional=y],[
-    qemu_traditional=n
-])
-AC_SUBST(qemu_traditional)
-
 AC_ARG_ENABLE([ipxe],
     AS_HELP_STRING([--enable-ipxe],
                    [Enable in-tree IPXE,
                     (DEFAULT is off, see also --with-system-ipxe)]),,[
-    AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
-        enable_ipxe="yes"
-    ], [
         enable_ipxe="no"
-    ])
 ])
 AS_IF([test "x$enable_ipxe" = "xno"], [ipxe=n], [ipxe=y])
 AC_ARG_WITH([system-ipxe],
@@ -162,18 +148,15 @@ AC_SUBST(ipxe)
 
 AC_ARG_ENABLE([rombios],
     AS_HELP_STRING([--enable-rombios],
-                   [Enable ROMBIOS, (DEFAULT is on if qemu-traditional or ipxe is enabled,
+                   [Enable ROMBIOS, (DEFAULT is on if ipxe is enabled,
                     otherwise off)]),,[
-    AS_IF([test "x$enable_qemu_traditional" = "xyes" -o "x$enable_ipxe" = "xyes"], [
+    AS_IF([test "x$enable_ipxe" = "xyes"], [
         enable_rombios="yes"
     ], [
         enable_rombios="no"
     ])
 ])
 AS_IF([test "x$enable_rombios" = "xyes"], [
-    dnl as86, ld86, and bcc are only required when building rombios. They
-    dnl are only needed when the host system is x86 but that check is done
-    dnl for us above when checking if we should build with qemu-traditional.
     AX_PATH_PROG_OR_FAIL([AS86], [as86])
     AX_PATH_PROG_OR_FAIL([LD86], [ld86])
     AX_PATH_PROG_OR_FAIL([BCC], [bcc])
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:05:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928065.1330858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTFl-00036X-3t; Wed, 26 Mar 2025 16:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928065.1330858; Wed, 26 Mar 2025 16:05: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 1txTFk-00036L-W2; Wed, 26 Mar 2025 16:05:16 +0000
Received: by outflank-mailman (input) for mailman id 928065;
 Wed, 26 Mar 2025 16:05: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTFj-0001z3-RK
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:15 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a183626-0a5c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 17:05:14 +0100 (CET)
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 AAA4C1F445;
 Wed, 26 Mar 2025 16:05:13 +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 86C521374A;
 Wed, 26 Mar 2025 16:05:13 +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 PoFnH7kl5GclaQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 16:05: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: 1a183626-0a5c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005113; 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=EAHvy3F2eUaT2duqNqIKRTDIIwRGgy4VzLxx0NXdzNY=;
	b=cKb6LuIIUmlvDjXtiOcCobdrQYwOJ0F9W06FK3Nu9OkFmmEAJ0ehCyOz6QJmRIrkXVeuCu
	ir4Ce9KhjzNjGlpuFkpGVDrHq21KeYlTOwkn45Qrom+QIpV7id8m3Uk7D5aOCe1wu7zr7G
	V1l9lEMXebGSkAzXuky/SLj0XC1MGQE=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005113; 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=EAHvy3F2eUaT2duqNqIKRTDIIwRGgy4VzLxx0NXdzNY=;
	b=cKb6LuIIUmlvDjXtiOcCobdrQYwOJ0F9W06FK3Nu9OkFmmEAJ0ehCyOz6QJmRIrkXVeuCu
	ir4Ce9KhjzNjGlpuFkpGVDrHq21KeYlTOwkn45Qrom+QIpV7id8m3Uk7D5aOCe1wu7zr7G
	V1l9lEMXebGSkAzXuky/SLj0XC1MGQE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH 5/6] stubdom: remove ancient stubdom-dm script
Date: Wed, 26 Mar 2025 17:04:39 +0100
Message-ID: <20250326160442.19706-6-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250326160442.19706-1-jgross@suse.com>
References: <20250326160442.19706-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)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[3];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

The stubdom-dm script is still using "xm" instead of "xl", so it is
probably unused since more than 10 years now.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 stubdom/stubdom-dm | 182 ---------------------------------------------
 1 file changed, 182 deletions(-)
 delete mode 100644 stubdom/stubdom-dm

diff --git a/stubdom/stubdom-dm b/stubdom/stubdom-dm
deleted file mode 100644
index 05d07ac0d1..0000000000
--- a/stubdom/stubdom-dm
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2007-2008 Samuel Thibault <samuel.thibault@eu.citrix.net>
-#
-# dm script around stubdomains.
-#
-
-DIR=`dirname $0`
-. "${DIR}/stubdompath.sh"
-stubdom_configdir="${XEN_CONFIG_DIR}/stubdoms"
-
-# To fit xterms nicely
-height=339
-
-# Parse arguments
-
-domid=
-domname=
-vncviewer=0
-vncpid=
-extra=
-sdl=0
-opengl=1
-vnc=0
-vncunused=0
-while [ "$#" -gt 0 ];
-do
-    if [ "$#" -ge 2 ];
-    then
-	case "$1" in
-	    -d)
-                domid=$2;
-                extra="$extra -d $domid";
-                shift
-                ;;
-	    -domain-name)
-                domname=$2;
-                shift
-                ;;
-	    -vnc)
-                vnc=1
-                op=${2%,*}
-		ip=${op%:*};
-		vnc_port=${op#*:};
-		shift
-		;;
-            -vncunused)
-                vncunused=1
-                shift
-                ;;
-            -loadvm)
-                extra="$extra -loadvm $2";
-                shift
-                ;;
-            -k)
-                keymap=$2
-                shift
-                ;;
-	    -serial)
-		serial="$2"
-		shift
-		;;
-            -monitor)
-		monitor="$2"
-		shift
-		;;
-	esac
-    fi
-    case "$1" in
-	-vncviewer) vncviewer=1 ;;
-        -sdl) sdl=1 ;;
-        -disable-opengl) opengl=0 ;;
-    esac
-    shift
-done
-
-[ -z "$domid"   ] && { echo "couldn't find domain ID" ; exit 1; }
-[ -z "$domname" ] && { echo "couldn't find domain name" ; exit 1; }
-
-# Termination handler
-
-term() {
-    [ -n "$vncpid" ] && kill -9 $vncpid
-    rm -f /tmp/domname-dm
-    rm ${stubdom_configdir}/$domname-dm
-    exit 0
-}
-
-trap term SIGHUP
-
-############
-# stubdomain
-# Wait for any previous stubdom to terminate
-while xm list | grep -w $domname-dm
-do
-	sleep 1
-done
-
-# Generate stubdom config file
-mkdir -p ${stubdom_configdir} &>/dev/null
-echo "#This file is autogenerated, edit $domname instead!" > ${stubdom_configdir}/$domname-dm
-echo "kernel = '${XENFIRMWAREDIR}/ioemu-stubdom.gz'" >> ${stubdom_configdir}/$domname-dm
-
-vfb="sdl=$sdl, opengl=$opengl"
-test "$DISPLAY" && vfb="$vfb, display=$DISPLAY"
-test "$XAUTHORITY" && vfb="$vfb, xauthority=$XAUTHORITY"
-test $vnc != 0 && vfb="$vfb, vnc=$vnc, vncdisplay=$vnc_port, vnclisten=$ip, vncunused=$vncunused"
-vncpasswd=`xenstore-read /local/domain/0/backend/vfb/$domid/0/vncpasswd 2>/dev/null`
-test "$vncpasswd" && vfb="$vfb, vncpasswd=$vncpasswd"
-test "$keymap" && vfb="$vfb, keymap=$keymap"
-test "$monitor" && vfb="$vfb, monitor=$monitor"
-test "$serial" && vfb="$vfb, serial=$serial"
-echo "vfb = ['$vfb']" >> ${stubdom_configdir}/$domname-dm
-
-echo -n "disk = [ " >> ${stubdom_configdir}/$domname-dm
-j=0
-for i in `xenstore-ls /local/domain/$domid/device/vbd | grep 'backend =' | awk '{print $3}'`
-do
-    i=${i%\"}
-    i=${i#\"}
-    vbd_mode=`xenstore-read $i/mode`
-    vbd_disk=`xenstore-read $i/params`
-    vbd_type=`xenstore-read $i/type`
-    vbd_dev=`xenstore-read $i/dev`
-    vbd_front=`xenstore-read $i/frontend`
-    vbd_devtype=`xenstore-read $vbd_front/device-type`
-    if [ $j -ne 0 ]
-    then
-        echo -n "," >> ${stubdom_configdir}/$domname-dm
-    fi
-    echo -n "'$vbd_type:$vbd_disk,$vbd_dev:$vbd_devtype,$vbd_mode'" >> ${stubdom_configdir}/$domname-dm
-    j=$(( $j + 1 ))
-done
-echo " ] " >> ${stubdom_configdir}/$domname-dm
-echo -n "vif = [ " >> ${stubdom_configdir}/$domname-dm
-j=0
-for i in `xenstore-ls /local/domain/$domid/device/vif | grep 'backend =' | awk '{print $3}'`
-do
-    i=${i%\"}
-    i=${i#\"}
-    vif_mac=`xenstore-read $i/mac`
-    vif_bridge=`xenstore-read $i/bridge`
-    if [ $j -ne 0 ]
-    then
-        echo -n "," >> ${stubdom_configdir}/$domname-dm
-    fi
-    echo -n "'mac=$vif_mac" >> ${stubdom_configdir}/$domname-dm
-    if [ "$vif_bridge" ]
-    then
-        echo -n ",bridge=$vif_bridge'" >> ${stubdom_configdir}/$domname-dm
-    else
-        echo -n "'" >> ${stubdom_configdir}/$domname-dm
-    fi
-    j=$(( $j + 1 ))
-done
-echo " ] " >> ${stubdom_configdir}/$domname-dm
-
-mkfifo /tmp/$domname-dm
-xm create -c ${stubdom_configdir}/$domname-dm target=$domid memory=32 extra="$extra" < /tmp/$domname-dm &
-exec 4>/tmp/$domname-dm
-
-
-###########
-# vncviewer
-if [ "$vncviewer" = 1 ]
-then
-    # Wait for vnc server to appear
-    while ! vnc_port=`xenstore-read /local/domain/$domid/console/vnc-port`
-    do
-        # Check that the stubdom job is still alive
-        kill -0 $consolepid || term
-	sleep 1
-    done
-
-    vncviewer $ip:$vnc_port &
-    vncpid=$!
-fi
-
-# wait for SIGHUP or stubdom termination
-wait
-
-term
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:11:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928091.1330868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTLL-0005pG-OI; Wed, 26 Mar 2025 16:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928091.1330868; Wed, 26 Mar 2025 16:11: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 1txTLL-0005p9-KY; Wed, 26 Mar 2025 16:11:03 +0000
Received: by outflank-mailman (input) for mailman id 928091;
 Wed, 26 Mar 2025 16:11: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txTLK-0005p2-V2
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:11:02 +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 e8ab7954-0a5c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 17:11:00 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ab771575040so220807466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 09:11:00 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef86e529sm1056919966b.21.2025.03.26.09.10.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 09:10: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: e8ab7954-0a5c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743005460; x=1743610260; 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=1Vjq//Ay9AvSr5A0VMtoD3ipuHAoPhIoZbeOLTowXPA=;
        b=s5yIgFGAQmhFONUHa6jiErMHljm3eVc9fvdmYhYzlHxeHC/wEGP87j15gxJOuekaPk
         ENaFClEe8OPT3q1PnineQIFIXOBoNwDEfpi2rxB8s4fBPkWRwDaZ7WiKiLagyixjWDz0
         c4Z3qp09WLVwY7ST5KLm2Xm3CQd7rz5GYsDWs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743005460; x=1743610260;
        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=1Vjq//Ay9AvSr5A0VMtoD3ipuHAoPhIoZbeOLTowXPA=;
        b=VvTVZtFkHe1MOYzL93p8BcbHmUEiepQ9eJMYajQUJh+Fx9OjMNn+7QZBjbPgebt6Qm
         3o/Tf5EAW+cAvrpGPBNsdF4yYLzVKEeEoH0dtnzOXiVBe2OTGw+ft4Fk9W4lTGo5+aT5
         lEFjf1Oo+AfKonGwZKiHMUku6jTmcm1idRHY3hP4OEuAZEYcTpBKyAzgLovr98BiklXP
         2DGD8hRv2OUSz2dSVx44PjTOHiP+zLKs17+cKn1yGMq5zxTwjwHbYvVTSMoo8FkSqsOV
         W5NgHLcizNMgRQq3Z9yclRtzqlP2iv7QwI1ZkmNU2FpOzTVCbfMrpaHIoHpPdRazKwlL
         w0nA==
X-Forwarded-Encrypted: i=1; AJvYcCV+72HvrtVrQTh/S3LiIW0Rn0jb1QBojCUB3gihXs8FUkMDdh8jKOt1FymZZ0FRCTTO27/ATfsJDHs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy71cYE8DCwto7GfRV2ShUYr8wocukRRN7kW1QMgnltxe7pGS/h
	SfsVuxRiv2w9uS6seXwP3EmweZq4kkp+Inn0kgrWMReM9ueNXMtuxFabriQdfHg=
X-Gm-Gg: ASbGncu0Ut0b1d8RK7Eic9zSUqeIxacbdtmB5SwLPMMinJZGYL0DLzSSCcqJPX4nYNd
	bRuE2ok1vwK9W0nJvukW+JWpqyP+V5MYGdKfQ33PYN+C1jttXAljlcIO4ObL06Q2VPu1M90/oHN
	ZZ4zJXh4xPbu3O0tBGGAacmmP8K/z7YYUOxVT4f2gck7ZfkoNNf4ysHf5+9iIPRT6XxPSNC4PNg
	r6ZB5X1IeMXauwo45+jxagcve7yaCs7PAzUxlFjorztJO6Ag4W4h7tmNhf++6ZwlMcvxddB55K1
	WMljkz8waqDm0ftDrxvWaOEcK56/EZO3IxMjJJ+TWohJB1uS3Q2nd03vMVCTJzGJz2tp1Dwfw0z
	87gIgX8cLrw==
X-Google-Smtp-Source: AGHT+IHrbUDmpQ4d+X0qbNuncwvsqoK6JHWS4D5t7xznyETaIM1ctNbRzFbHV55UUGVd2fwwmnkoUQ==
X-Received: by 2002:a17:907:6eac:b0:abf:6bba:9626 with SMTP id a640c23a62f3a-ac6e0a0fc82mr396975266b.12.1743005460031;
        Wed, 26 Mar 2025 09:11:00 -0700 (PDT)
Message-ID: <2f59957f-743a-4c29-912a-3fdaf137cbd6@citrix.com>
Date: Wed, 26 Mar 2025 16:10:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/6] remove qemu-traditional
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@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>,
 Nick Rosbrook <rosbrookn@gmail.com>, George Dunlap <gwd@xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20250326160442.19706-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: <20250326160442.19706-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/03/2025 4:04 pm, Juergen Gross wrote:
> Remove the qemu-traditional support. This includes the Mini-OS
> based ioemu-stubdom.
>
> I _think_ rombios support could be removed, too, but this can be
> done in a second step.

XenServer is still using RomBIOS, because qemu-trad and qemu-xen were
not inter-operable and we needed Windows not to go a shade of blue.Â 
Therefore I'd prefer if this could stay in it's off-by-default form,
rather than carrying a revert.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:12:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:12:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928109.1330878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTMQ-0006vV-0r; Wed, 26 Mar 2025 16:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928109.1330878; Wed, 26 Mar 2025 16: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 1txTMP-0006vN-Te; Wed, 26 Mar 2025 16:12:09 +0000
Received: by outflank-mailman (input) for mailman id 928109;
 Wed, 26 Mar 2025 16: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTFp-0001z3-KL
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:05:21 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d74f11e-0a5c-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 17:05:19 +0100 (CET)
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 6963121175;
 Wed, 26 Mar 2025 16:05:19 +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 15A521374A;
 Wed, 26 Mar 2025 16:05:19 +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 62zSA78l5GcsaQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 26 Mar 2025 16:05: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: 1d74f11e-0a5c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005119; 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=Z9A+fu0CkA24A42L4jKEcCYh+ApxXI6+jMZ38aW5FWI=;
	b=YWI4DgwUPVoFj5zC265JUgQjHUdPLC3PcTzLWDPdNzU8pcPy1mEH9h2nd+A+at2wK6Ugn/
	ykU6fmaiI4OXDsWGu6S2RQK4xVi9UfatlLIMWeE6HGzfCdNwMW6kujpprqghFSflf1OdQG
	g/VrIksYi1kdIhHQkwtI124UysAJBc4=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=YWI4DgwU
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743005119; 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=Z9A+fu0CkA24A42L4jKEcCYh+ApxXI6+jMZ38aW5FWI=;
	b=YWI4DgwUPVoFj5zC265JUgQjHUdPLC3PcTzLWDPdNzU8pcPy1mEH9h2nd+A+at2wK6Ugn/
	ykU6fmaiI4OXDsWGu6S2RQK4xVi9UfatlLIMWeE6HGzfCdNwMW6kujpprqghFSflf1OdQG
	g/VrIksYi1kdIhHQkwtI124UysAJBc4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.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 6/6] build: don't require full tools build for building stubdoms
Date: Wed, 26 Mar 2025 17:04:40 +0100
Message-ID: <20250326160442.19706-7-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250326160442.19706-1-jgross@suse.com>
References: <20250326160442.19706-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 6963121175
X-Spam-Level: 
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	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)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCPT_COUNT_SEVEN(0.00)[9];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01
X-Spam-Flag: NO

With the drop of qemu-traditional "make stubdom" no longer requires
"make tools" to have finished.

It is enough to add "install-tools-public-headers" as a prereq of
"install-stubdom".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index c9d80a6dc6..67b71ac3d4 100644
--- a/Makefile
+++ b/Makefile
@@ -147,7 +147,7 @@ install-tools: install-tools-public-headers
 	$(MAKE) -C tools install
 
 .PHONY: install-stubdom
-install-stubdom: mini-os-dir install-tools
+install-stubdom: mini-os-dir install-tools-public-headers
 	$(MAKE) -C stubdom install
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub-if-enabled
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:21:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928133.1330887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTVT-0001e5-RE; Wed, 26 Mar 2025 16:21:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928133.1330887; Wed, 26 Mar 2025 16:21: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 1txTVT-0001dy-Oe; Wed, 26 Mar 2025 16:21:31 +0000
Received: by outflank-mailman (input) for mailman id 928133;
 Wed, 26 Mar 2025 16:21: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=16MU=WN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txTVR-0001ds-SV
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:21:29 +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 5f400da5-0a5e-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 17:21:29 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so219255e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 09:21:29 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f995a10sm17107688f8f.6.2025.03.26.09.21.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 09:21: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: 5f400da5-0a5e-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743006088; x=1743610888; 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=ITzV4RzZv9w40RJ+s/udDv7KA+w6lF6nlHTPU/fyW2s=;
        b=gh7fN6S8SiZiJBp6A0+0ezuWCnC+Y+ItTI3iTsgAS9/92iCTEPbYYL+TbADmjbiq0A
         QYIgDIaL/LfekxVU9R1MGsd+Qm/urekTSzetc7tZ8s83h482XnEQS9QI60gf0bt+3QfF
         2ciMKjQLLcOXpyDRbv/xxCDEuFI+hte6eJe+A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743006088; x=1743610888;
        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=ITzV4RzZv9w40RJ+s/udDv7KA+w6lF6nlHTPU/fyW2s=;
        b=WIHDIbv6uNwlSxYjKGiRwhfHoD7/lLD20LglzwkWHKS4FUyZ8lxrkK5uL20IAdYGLl
         sZRWycfug/tab1Htour7+Af9DDc29VuqrkdqgbsDE32T08Cctk3Vy1SEAW4k5ATjfCfX
         27uYVwNO3zFvU+S3LZyR3dgpF3HIXGaZbF+MXloZeGFG3U0qXo9oMGeMRTuLMR8ivvlG
         FdGNKNa8QOUwRK15C+1d2i3Nwcxb/AZG5kQT01hEiGZ41f74oRt4AakFuzOXreaBfbKV
         6jmdbw906F3fQli5+ZgxPcogVuyL7M33uzSuEL48EOUbJsSLJJnpGkxBJghj8lo0txMU
         CRLQ==
X-Forwarded-Encrypted: i=1; AJvYcCWIX8tbvSfnc3iCvk1NsoxF0Uk5jth2wN+0OF3DRQ72zSNl+K38IDdidXG+pIFckb4uDLWqLEtSyF8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxxiOvg3s2iWT6MmmNdQmriHaXWcJH1e2arHShakOPsIOnDy4lQ
	ARyLsIFJV+PKXXkqmuwv6+9l6RxIb67DBHPDM68uzKMez862OyYJel1OU0scL08=
X-Gm-Gg: ASbGncuJqiE5CyyQazjqpF6cytuqZIk3QnIqghwS3Fjtd3brbXyRH26ZBr54t9BlZbz
	tiF8dkn4mMYYY9q7NrMYfPUlD8Ulz5gtxAiZOSsfM1jPRVUIi+UqYNZOD8KwWpmq0BtlYfou1Oc
	4xAoFmXuw9ayWU9a2y6lARQ54EwPNqHPg6p4uBxhHu4XaRJzOFs+oEXlBjneiFS1nj4isTqULaH
	2Finr1lF8oWA7UynKGtyfBbIhW26conlo93n3sTfu2xwHxtnsUYmWpVLxXnsngJO7YtJI/Rra0h
	eKD9nRsUUTGdsZCggZO0SJ368yYilqzAIcyUazr9RzEyQRw/MLwHVJux4hXMKyWOhguNgHvd9Zh
	Ov8t9FDvxMj1VJAQ4UZyY
X-Google-Smtp-Source: AGHT+IEobiCELOAyMQf8sMixKJ+zewpzUz9qqfDTutClbD5+s4R5qtxKpMTBJza/kxRRs8CxwG+mHw==
X-Received: by 2002:a05:6000:4285:b0:391:1473:336a with SMTP id ffacd0b85a97d-39ad178dc1fmr1170f8f.36.1743006088352;
        Wed, 26 Mar 2025 09:21:28 -0700 (PDT)
Message-ID: <39593610-1bd4-4319-9429-7cffeadd0da7@citrix.com>
Date: Wed, 26 Mar 2025 16:21:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] docs: remove qemu-traditional support from
 documentation
To: Juergen Gross <jgross@suse.com>, 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: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-3-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: <20250326160442.19706-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/03/2025 4:04 pm, Juergen Gross wrote:
> diff --git a/docs/misc/xenstore-paths.pandoc b/docs/misc/xenstore-paths.pandoc
> index a604f6b1c6..583e977b65 100644
> --- a/docs/misc/xenstore-paths.pandoc
> +++ b/docs/misc/xenstore-paths.pandoc
> @@ -634,7 +634,7 @@ Path in xenstore to the backend, normally
>  
>  Trustworthy copy of /local/domain/$DOMID/backend/$KIND/$DEVID/$NODE.
>  
> -#### /libxl/$DOMID/dm-version ("qemu_xen"|"qemu_xen_traditional") = [n,INTERNAL]
> +#### /libxl/$DOMID/dm-version ("qemu_xen") = [n,INTERNAL]
>  
>  The device model version for a domain.
>  

As a spec of what might liably be found in xenstore, this probably
shouldn't remove "qemu_xen_traditional" entirely.Â  Perhaps an extra
sentence saying "qemu_xen_traditional" is a since-removed dm-version?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:23:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928145.1330897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTXI-0002mU-96; Wed, 26 Mar 2025 16:23:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928145.1330897; Wed, 26 Mar 2025 16: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 1txTXI-0002mL-6S; Wed, 26 Mar 2025 16:23:24 +0000
Received: by outflank-mailman (input) for mailman id 928145;
 Wed, 26 Mar 2025 16:23: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=7Vdm=WN=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txTXG-0002m9-Jc
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:23:22 +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 a186572b-0a5e-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 17:23:20 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so231175e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 09:23:20 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d830f59d0sm6704105e9.28.2025.03.26.09.23.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 09:23: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: a186572b-0a5e-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743006200; x=1743611000; 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=ikWFyzOIyUJDK1ElzRZcpxigu5fxIKNjWhMuB1+P57E=;
        b=cSyEdylNRxcqDYg+5DKZ21m24K2szXGekjjFBIXVE2XM6ad8n/hKQsZw33Ldr+wwa7
         PpeqJBPQEbWzXHfCcDCAKO44VeXBzqIJKuaj7RkBLmdYZaagmfNCzDHIk7xQ13ZQxnj6
         qz9EtkGEzq0KaU0ZpAxRcFTbNhVxYyXvrF51wriBmnIxHiXlA94b8UVnFggJNh3PskPJ
         LZTpmMu5oya+f6QrC3ILqcig/TkpvNv9dkREbvyr63vwvp5rWVSy4lX7Dx2T7223/DZb
         JmB/h4slQNJiT+RotleeS4ioDC4XFTTil02yrfxCzcxckBBYnJStrGOPstgNUvTuGtth
         HahQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743006200; x=1743611000;
        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=ikWFyzOIyUJDK1ElzRZcpxigu5fxIKNjWhMuB1+P57E=;
        b=nURDPrADkc6JN8Pfug/HiWf+6SNI028RslhQs5pHFPl7ItqQquykVVIjMxBx6zDWiZ
         edaNdVE0lNQw+PGssnAXNOEoWaZcTiMmm8ffCaytmk6EbYdUqe42IOF6Mxc3rzx19OmN
         CTTckz4rJf+bATR6fW6fzEDeBRQJzdAPwva7m3XZFO9omcJhECr2EyoJpWaD2Rbv2i3Y
         a8YRLLk3L+CRWsoXWQwxk7CkWd+GJf7G6IeqrLrudJTyCB7rDaPdx5Yrgsl3WGH5CA27
         YFOTPu7DNPRnxE0EZtbK1gnluA2U+5P2h0a7zalkK4LHfR7S4cMzMxHuUBhl4TrXwzG2
         rDuw==
X-Forwarded-Encrypted: i=1; AJvYcCU5mVLQ13MBs35GBnywkXj+SKL90DgbqFu5rOZxU1TeBhYay9c57GstZzkpCoKD8TR/8H7Jh1d/1ZY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywt9j7hhF0Au87YP2xmMPK9R76VOZisA5nYbPrjNcSizQko4Nk9
	IGI2M658S2NGQJyO+qlAzX5mJPvoN01rPeyGoFFbe3KTTBIWuaxkAE61Oje0wcc=
X-Gm-Gg: ASbGncs4iqzErocuA9HpFlrDl23QyZC+j2eILlYNxHvVju4HjcS13Tn5f4RwqCKVFpV
	89A42kv3iFP2sGPUGAEsgDblrzir3FuxAWU41QApDXsQK0xo4qlvNfX4FTzy4A1rEXEPIsgvKVN
	WNknvqYw13/Gz2E4zljkW2WVZX2LOoGgoO7Qz2wmb56J2lk6ZOzJnKSJ6eTOAPgG0GJFremZgbQ
	vPcSN9yl5sluQ1tT9KQIE/k3zpTUaFfBnbYC6n8+dTsqVeG5cNWjCBuLU3ctACC4PbbgzbKcGlm
	IILlRhfmBn21OqnjNmdXIMs5qMyKbs0fF4bbucWCmhhnacbhQ7S+UZPjkOKzlJdkKlCWr7AGtrs
	TSlvb2ZgYg5WEZL5lmcybDvwPciamMuW2qm35wJutFFn8Eql0dsmGogPYKb77dPZQ3xYjfBAYTT
	XQy054
X-Google-Smtp-Source: AGHT+IF9I5VX4v9bNzzoRB68EwiwSZ5mxNXGVh/aPzhQxlWC5EhA0viVW2/gUpw9y0o+GUcTwv53tg==
X-Received: by 2002:a05:600c:3b93:b0:43d:3df:42d8 with SMTP id 5b1f17b1804b1-43d84f5b77bmr932805e9.6.1743006199671;
        Wed, 26 Mar 2025 09:23:19 -0700 (PDT)
Message-ID: <2b9ef8b1-8390-4985-9e4d-a7d6e0e05909@suse.com>
Date: Wed, 26 Mar 2025 17:23:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] docs: remove qemu-traditional support from
 documentation
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-3-jgross@suse.com>
 <39593610-1bd4-4319-9429-7cffeadd0da7@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: <39593610-1bd4-4319-9429-7cffeadd0da7@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------EWN0TZrAKsehARAeiNfUCbtr"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------EWN0TZrAKsehARAeiNfUCbtr
Content-Type: multipart/mixed; boundary="------------H3TabwSuTnutUBw0wBNhjTBx";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>
Message-ID: <2b9ef8b1-8390-4985-9e4d-a7d6e0e05909@suse.com>
Subject: Re: [PATCH 2/6] docs: remove qemu-traditional support from
 documentation
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-3-jgross@suse.com>
 <39593610-1bd4-4319-9429-7cffeadd0da7@citrix.com>
In-Reply-To: <39593610-1bd4-4319-9429-7cffeadd0da7@citrix.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=

--------------H3TabwSuTnutUBw0wBNhjTBx
Content-Type: multipart/mixed; boundary="------------wEE4O1GhRLf2R4QlT31zxQCj"

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

T24gMjYuMDMuMjUgMTc6MjEsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDI2LzAzLzIw
MjUgNDowNCBwbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IGRpZmYgLS1naXQgYS9kb2Nz
L21pc2MveGVuc3RvcmUtcGF0aHMucGFuZG9jIGIvZG9jcy9taXNjL3hlbnN0b3JlLXBhdGhz
LnBhbmRvYw0KPj4gaW5kZXggYTYwNGY2YjFjNi4uNTgzZTk3N2I2NSAxMDA2NDQNCj4+IC0t
LSBhL2RvY3MvbWlzYy94ZW5zdG9yZS1wYXRocy5wYW5kb2MNCj4+ICsrKyBiL2RvY3MvbWlz
Yy94ZW5zdG9yZS1wYXRocy5wYW5kb2MNCj4+IEBAIC02MzQsNyArNjM0LDcgQEAgUGF0aCBp
biB4ZW5zdG9yZSB0byB0aGUgYmFja2VuZCwgbm9ybWFsbHkNCj4+ICAgDQo+PiAgIFRydXN0
d29ydGh5IGNvcHkgb2YgL2xvY2FsL2RvbWFpbi8kRE9NSUQvYmFja2VuZC8kS0lORC8kREVW
SUQvJE5PREUuDQo+PiAgIA0KPj4gLSMjIyMgL2xpYnhsLyRET01JRC9kbS12ZXJzaW9uICgi
cWVtdV94ZW4ifCJxZW11X3hlbl90cmFkaXRpb25hbCIpID0gW24sSU5URVJOQUxdDQo+PiAr
IyMjIyAvbGlieGwvJERPTUlEL2RtLXZlcnNpb24gKCJxZW11X3hlbiIpID0gW24sSU5URVJO
QUxdDQo+PiAgIA0KPj4gICBUaGUgZGV2aWNlIG1vZGVsIHZlcnNpb24gZm9yIGEgZG9tYWlu
Lg0KPj4gICANCj4gDQo+IEFzIGEgc3BlYyBvZiB3aGF0IG1pZ2h0IGxpYWJseSBiZSBmb3Vu
ZCBpbiB4ZW5zdG9yZSwgdGhpcyBwcm9iYWJseQ0KPiBzaG91bGRuJ3QgcmVtb3ZlICJxZW11
X3hlbl90cmFkaXRpb25hbCIgZW50aXJlbHkuwqAgUGVyaGFwcyBhbiBleHRyYQ0KPiBzZW50
ZW5jZSBzYXlpbmcgInFlbXVfeGVuX3RyYWRpdGlvbmFsIiBpcyBhIHNpbmNlLXJlbW92ZWQg
ZG0tdmVyc2lvbj8NCg0KRmluZSB3aXRoIG1lLg0KDQoNCkp1ZXJnZW4NCg==
--------------wEE4O1GhRLf2R4QlT31zxQCj
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-----

--------------wEE4O1GhRLf2R4QlT31zxQCj--

--------------H3TabwSuTnutUBw0wBNhjTBx--

--------------EWN0TZrAKsehARAeiNfUCbtr
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/Ey8FAmfkKfYFAwAAAAAACgkQsN6d1ii/Ey8G
TAf9E42J/oiR4NNi+XieTOpLz/6wJ8pH/Mva6MR2v8HlnyKbZ1y44myiXG2+OvlTTNrBQWo3a7zy
Oe92EM3HeDX2+vJwys07tpgyF9aUxhNnyFND59LZZ2sgcWAUzGJ9VWP658Lz3MJfohnxjwkTmXuH
n8b5lDhPLIyVfEcnCoJG7l8Be1O84SFK7b/BYQeQBF8iMBKO737X97pxt3rpj8uXi1CvojaMFSdw
G/vKLI/3qlQpWVwXCoZgmB4SrLXlge70cvFxmDJp/GebIL8oCXiwL+/AoCLNaUffIMwdE7cpxQ4I
pOUaJ8EkhuQRmCIyC4sy5ix2QIqnuxDhA/xR+8Yelg==
=7Btn
-----END PGP SIGNATURE-----

--------------EWN0TZrAKsehARAeiNfUCbtr--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 16:49:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 16:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928161.1330908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txTwJ-00084T-9I; Wed, 26 Mar 2025 16:49:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928161.1330908; Wed, 26 Mar 2025 16:49: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 1txTwJ-00084M-64; Wed, 26 Mar 2025 16:49:15 +0000
Received: by outflank-mailman (input) for mailman id 928161;
 Wed, 26 Mar 2025 16:49: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=k+Jq=WN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txTwI-00084G-0A
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 16:49:14 +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 3edff558-0a62-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 17:49:12 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5e61d91a087so53622a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 09:49:12 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebccf68f3fsm9617474a12.7.2025.03.26.09.49.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 09:49: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: 3edff558-0a62-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743007752; x=1743612552; 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=LUxEysJocX7bC9IyLUJ5Z2yv6RoHGMcILEI42ADUp+I=;
        b=ft68BRjm7byzs0GPN4sqi9Ntn8dBpS/SMhutIJA7e3heuF/Yk50oxIaR8EvmHMmeIY
         +FZj14YPvP8IB8u4N2flrHcnGz1Qb2YCy6SA49OP+w72XR2F8jslbHeM1GnBOv8sXOul
         w8oLR3i3CzPRC2Yzcst9ZSCNEdUu1zxEN2enOji01lGgYPeHcqtR6Usk6JSK2FvVhH8l
         bNZc8Yp0nHZ9Wh5CUsbwn7lRs1svtP5TE7DI2aEJo8+m6iQb6GW3ovMBwrxNw+A2RI4t
         gLsRaR23AISYRXeyVzuldSqF+I1JNpt2m3kWlJ/JEYQBYt03pNipt5V+NycAmdW7tqQk
         DNwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743007752; x=1743612552;
        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=LUxEysJocX7bC9IyLUJ5Z2yv6RoHGMcILEI42ADUp+I=;
        b=OeacJIohkoDiZOY0qOR9QCWdeJJCTyd1Rkvb3ityVjQJnWOpfaizDEwrci8jidgmyD
         2F7vciHNIP/Nmv/wZ6xmTGIouq/mE0RfdTOy0PsXpeDQvqDGSgqg+vNUQCRHM29dys7E
         Xt0LmVY0GAt0cjXAcfWHaLxOxjHGaFcfVaeYJeCsYnXfYDLwKws6Su/oJuJq58a3ambJ
         v3u/PmnZqmTple3rR/JU4WIoEt33MeSl73hGNuQjQPkLqx7kfBnlEijZaTTgUbD5LYiw
         kt+MKX+wa6K6Iaw/5mZth/1MSxq4DXG9mNyEmvbJtyi0U0QFVykNlv+Nn9zzIfzcZLZB
         JQZA==
X-Forwarded-Encrypted: i=1; AJvYcCWXFY/xRXp0CabPCNy61YFMt3Y+8qWGVPRyexKjqw/9c+UJJ/Z5nxcUujo2DndUIHwV/LkuIP5RlSA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/5aEeqVARLbilhjD3S72FKCX5R0kLEvShUyNd6FDmdajIToBK
	LOBTCtlRRd0LqUb/2Oyx/3PjhrgoBqNXlLk/3BDDBexgk+HVJ7c0uzu0Vw==
X-Gm-Gg: ASbGncsaQv5Hfluz8qMppziXhZuqfLZ7HgeLx5gu/y02ZZ7dClUA1MLBUwQ2GWD84uQ
	u6IUNvPY6dEGizd8wpXKSgUEp6pkaXqFTv2vtjEO+jkh2BcVmRwmFvTE92BtSmLIE5zG4cVawcy
	UuETDmwaoLAcDYvCmInWd1tecspLhHtL92dgEq38V+WzFuxEKTH557QfJgMruXRaaHXgwAw9fZP
	vuYWZB/hSIpOjB51E4VWjHOVrKPXrzAksOscb46Wqtvir9BETcrDtg+xF2ZLSPNZ7Cc/rhkkuKI
	oc08y9Cb2qAJURSrAJs9FGsduB2FwdxTnN9TT4FB2x60xzrCobY1gGAov9ho5kSB4d7lY80xkIX
	ZwVCCr7zq0gRlL31cT/V+
X-Google-Smtp-Source: AGHT+IHstFr2ksVj3XvJae2znj+gmc5zBdmbsR2bvxIJCOzh1TY7SHjl0j/TTrUsXLIzWeFw7DGwUw==
X-Received: by 2002:a05:6402:5187:b0:5e8:c0a7:4244 with SMTP id 4fb4d7f45d1cf-5ed8e28ce26mr259646a12.9.1743007751664;
        Wed, 26 Mar 2025 09:49:11 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------KgO8pkE1PVinCeeWiVCG9sqG"
Message-ID: <242f04d2-50b6-4ce1-8710-6dae2f940b9e@gmail.com>
Date: Wed, 26 Mar 2025 17:49:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/riscv: implement basic aplic_preinit()
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>,
 Romain Caritey <Romain.Caritey@microchip.com>, xen-devel@lists.xenproject.org
References: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <f0945e3a41e911b5dfd005a8d15aa0d668d8e3cf.1742918184.git.oleksii.kurochko@gmail.com>
 <e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com>

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


On 3/26/25 4:19 PM, Jan Beulich wrote:
> On 25.03.2025 18:36, Oleksii Kurochko wrote:
>> Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
>> Interrupt Controller (APLIC) in Xen:
>>   - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
>>     ensuring that only one APLIC instance is supported in S mode.
>>   - Initialize APLIC's correspoinding DT node.
>>   - Declaring the DT device match table for APLIC.
>>   - Setting `aplic_info.hw_version` during its declaration.
>>   - Declaring an APLIC device.
>>
>> Since Microchip originally developed aplic.c [1], an internal discussion
>> with them led to the decision to use the MIT license instead of the default
>> GPL-2.0-only.
>>
>> [1]https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d
>>
>> Signed-off-by: Romain Caritey<Romain.Caritey@microchip.com>
>> Signed-off-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> You recall that From: != 1st S-o-b is unusual, and wants some explanation.
> IOW it's unclear who the original author of this patch is.

I'm not 100% sure who should be the author. Such patch doesn't exist before but I took the changes
based on the changes mentioned in commit message as [1].

If you think that the author should be Romain, I am okay with that.

>
>> --- /dev/null
>> +++ b/xen/arch/riscv/aplic.c
>> @@ -0,0 +1,49 @@
>> +/* SPDX-License-Identifier: MIT */
>> +
>> +/*
>> + * xen/arch/riscv/aplic.c
>> + *
>> + * RISC-V Advanced Platform-Level Interrupt Controller support
>> + *
>> + * Copyright (c) 2023-2024 Microchip.
>> + * Copyright (c) 2024-2025 Vates
>> + */
>> +
>> +#include <xen/errno.h>
>> +#include <xen/init.h>
>> +#include <xen/types.h>
>> +
>> +#include <asm/device.h>
>> +#include <asm/intc.h>
>> +
>> +static struct intc_info aplic_info = {
>> +    .hw_version = INTC_APLIC
>> +};
> Is this going to be written to (much) post-init? IOW - __read_mostly or
> even __ro_after_init?

I think that __read_mostly would be better because intc_info structure in the future
will contain member "void *private". And in `private` it can be a data which can
be changed. For example, `private` can contain an aplic_priv structure:
struct aplic_priv {
     /* number of irqs */
     uint32_t   nr_irqs;

     /* base physical address and size */
     paddr_t    paddr_start;
     paddr_t    paddr_end;
     uint64_t   size;

     /* registers */
     struct aplic_regs   *regs;

     /* imsic configuration */
     const struct imsic_config *imsic_cfg;
};

and regs from aplic_priv structure can be changed in runtime.

>
> With authorship clarified and this variable adjusted according to whatever
> the longer term use of it is
> Acked-by: Jan Beulich<jbeulich@suse.com>

Thanks.

~ Oleksii

--------------KgO8pkE1PVinCeeWiVCG9sqG
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 3/26/25 4:19 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com">
      <pre wrap="" class="moz-quote-pre">On 25.03.2025 18:36, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
Interrupt Controller (APLIC) in Xen:
 - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
   ensuring that only one APLIC instance is supported in S mode.
 - Initialize APLIC's correspoinding DT node.
 - Declaring the DT device match table for APLIC.
 - Setting `aplic_info.hw_version` during its declaration.
 - Declaring an APLIC device.

Since Microchip originally developed aplic.c [1], an internal discussion
with them led to the decision to use the MIT license instead of the default
GPL-2.0-only.

[1] <a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d">https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d</a>

Signed-off-by: Romain Caritey <a class="moz-txt-link-rfc2396E" href="mailto:Romain.Caritey@microchip.com">&lt;Romain.Caritey@microchip.com&gt;</a>
Signed-off-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
You recall that From: != 1st S-o-b is unusual, and wants some explanation.
IOW it's unclear who the original author of this patch is.</pre>
    </blockquote>
    <pre>I'm not 100% sure who should be the author. Such patch doesn't exist before but I took the changes
based on the changes mentioned in commit message as [1].

If you think that the author should be Romain, I am okay with that.
</pre>
    <blockquote type="cite"
      cite="mid:e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- /dev/null
+++ b/xen/arch/riscv/aplic.c
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * xen/arch/riscv/aplic.c
+ *
+ * RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) 2023-2024 Microchip.
+ * Copyright (c) 2024-2025 Vates
+ */
+
+#include &lt;xen/errno.h&gt;
+#include &lt;xen/init.h&gt;
+#include &lt;xen/types.h&gt;
+
+#include &lt;asm/device.h&gt;
+#include &lt;asm/intc.h&gt;
+
+static struct intc_info aplic_info = {
+    .hw_version = INTC_APLIC
+};
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Is this going to be written to (much) post-init? IOW - __read_mostly or
even __ro_after_init?</pre>
    </blockquote>
    <pre>I think that __read_mostly would be better because intc_info structure in the future
will contain member "void *private". And in `private` it can be a data which can
be changed. For example, `private` can contain an aplic_priv structure:
struct aplic_priv {
    /* number of irqs */
    uint32_t   nr_irqs;

    /* base physical address and size */
    paddr_t    paddr_start;
    paddr_t    paddr_end;
    uint64_t   size;

    /* registers */
    struct aplic_regs   *regs;

    /* imsic configuration */
    const struct imsic_config *imsic_cfg;
};

and regs from aplic_priv structure can be changed in runtime.

</pre>
    <blockquote type="cite"
      cite="mid:e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com">
      <pre wrap="" class="moz-quote-pre">

With authorship clarified and this variable adjusted according to whatever
the longer term use of it is
Acked-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a></pre>
    </blockquote>
    <pre>Thanks.</pre>
    <pre>~ Oleksii
</pre>
  </body>
</html>

--------------KgO8pkE1PVinCeeWiVCG9sqG--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 17:22:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 17:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928171.1330918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txUSE-00009j-L8; Wed, 26 Mar 2025 17:22:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928171.1330918; Wed, 26 Mar 2025 17:22: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 1txUSE-00009b-IM; Wed, 26 Mar 2025 17:22:14 +0000
Received: by outflank-mailman (input) for mailman id 928171;
 Wed, 26 Mar 2025 17:22: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=a+/s=WN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1txUSC-00009V-TU
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 17:22:13 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20631.outbound.protection.outlook.com
 [2a01:111:f403:2418::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d756537c-0a66-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 18:22:06 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by IA0PR12MB8715.namprd12.prod.outlook.com (2603:10b6:208:487::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Wed, 26 Mar
 2025 17:22:02 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.043; Wed, 26 Mar 2025
 17:22: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: d756537c-0a66-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NKB+oLhJsxP9YfqO1l/rI26cHgd9eZJXukVRis1xcaN8l6UJwIrcnj4xikl/1j33xCQtbfIoQJunTAi0fgHrthtMG/atWARsqUYQm/oBZhiKYMhEyeO9aXGvh0fSBwnGDP2MhCSnRhXdGfL9pieGWVCe18wn2byPS6RLVmlx/hWZPrMWTWu/JkLVW3hjyp7yxcKhy8v8Hp9p+Bp0j8qlmp/vZ/Mbhtj/iZyJJ2Xi5rqwpH6ILNTOC4+z56pPoELSjSfcLaKoEOQaqwpPToVI782g3Dp+GVYI5zKFmpcdstHWOGv/PyUPVEN9YMEGDN+MuIOX4Mx/NQAT/2fTRS2yUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wJhDCHhPRS8X+2A4FBEb2pc9AoPmmYM36i3y9UETB8A=;
 b=o4IbYZWwcUKql/1qOzMblALneuvJLY4uDOysr+oEjTjBJHq4NnjvpUQUbPHsmynATM86ozxYoWBVNPK5eM5Mo1CX3mXwLYzKo9HoA5wuOPOnCWNfPivVVqQAGSYIDT0O1CpkqUYPVrUSB2ODKd+BwTerc0AnblnckV/hEmiM0d891SYmu3CU3dO4wM0Zrg7W+ccYTOiLrqSS5G1FldiKDpr8ERC86iFvVURULABThjsqRAgfFvasqBw+cA+JjhSTDa8YV9Hk48qV84YXwA4LVHB4fsOoJ84eGKGVPwS2dSdVQRciVOSX3ddjvN6IGgy1cdYZPVnx+6lEjScjtEpgWQ==
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=wJhDCHhPRS8X+2A4FBEb2pc9AoPmmYM36i3y9UETB8A=;
 b=FPSH8/uGgZis8S9MAc/V1VDi5SQd0bZOrFuQFOKlTiCpSzIuuQ3T5HiWIkNbKcIb7oZbs5v1DSYhp0DZEiD17gWuoEdEW61nio7UG0h1FBwrWTjoMtIVbIY/8afB+fvF+tyk/M3n5XoKj0+3e0NUa3QYJn8ls0QAxtrpYhbzrX0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <5d4fa9eb-129a-4f52-ae4f-21b9a5e5a0d9@amd.com>
Date: Wed, 26 Mar 2025 18:21:59 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] tools/arm: Fix nr_spis handling v2
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Luca Fancellu <luca.fancellu@arm.com>
References: <20250325110029.399838-1-michal.orzel@amd.com>
 <Z-QTg7pAam8jmVda@l14>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <Z-QTg7pAam8jmVda@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0260.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e8::7) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|IA0PR12MB8715:EE_
X-MS-Office365-Filtering-Correlation-Id: 1c1154b9-9284-47c3-1996-08dd6c8ab92c
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?V1V5TVBzTDJVV05uNDNYT29FTXU3TTdCai9hNUVyQTdpMDdONXM5VTNkeEJ1?=
 =?utf-8?B?bE5ZSXZJZXRkWFVQYjgwa2Z2anFjN0FGUFM3QlVYcjVrNjluWi9NOUtqWTha?=
 =?utf-8?B?K1RJNlEvenlwREFBaFlERitlMGh2TzhzbXFLWnVsNG5aSXBXU2NZaTlSbHJl?=
 =?utf-8?B?N3kwSWN5OEVIRWdWN1FBOWczUUVDRUV5N1dnUE9aQVAvM3lnWkVwaEYrWUtQ?=
 =?utf-8?B?ZCt3YUpqdHpyaFNvNW9hZ1Z4SmtsVVdoVEFKbmZuM28xRXN5Q2FDY2lMVm8y?=
 =?utf-8?B?VDZCbjRxT3duS3NIelB5bFJKRDJmeFdNMXQ2SjB3V2hhR242OFNKbUw1b2cr?=
 =?utf-8?B?c0tqS0swQitseWV2d2d3d244OTlMV0poSjFRT3FLNWlNSFBIMHo0OEZ6eVhq?=
 =?utf-8?B?SVZEZUZYQ0VOWTdPRVNudmZFWHZpR2J0eWRNUGxvSFg1TUpuOHd3UDNiMzkx?=
 =?utf-8?B?MjZsVzRTcTZGR3ZSdDYyS3c0NnJzYk9NUytRSndxcFhLck9GbUpPc2R4NDBU?=
 =?utf-8?B?SFhXZ1dzWTJGNmVEcmlpd3p5TkJkdmtlK1ZFNG95Q0xoMVh3MFpBdUUwbkRJ?=
 =?utf-8?B?R1JKeHFLRDVGYzA1ek9YLzZ1ODVRY0xZYlFTcHU0YmZyZ21DOFUvSzFmV2J5?=
 =?utf-8?B?N3lQdGhOUm9ycFlpM1JFdmY0dCtFYjB4ZjVmaTUvN0xnK0FncHRwd2dTS1Bh?=
 =?utf-8?B?a0c3L3RUemJScmt1a0o4NjJ3V3BDZGQxYTJOMUN4a1pQZi9OM0hVbTZDZHk0?=
 =?utf-8?B?RnFOTGxFMXNiemJzT29vZnNsN29HK1E5bU1PYlpVM2hlek04cjdQSFB5RFBp?=
 =?utf-8?B?alpldThDSFh5ZFpHNGRFbE5yQ0k0NzQzVU40Y2YwbFlNTDlraEVYenNGTlZC?=
 =?utf-8?B?VzNtY09NK2NRK2NFNE9vNXorY1JsdGR4SlZ3SnEzS3RhMUNoSTQxaFMwUU5T?=
 =?utf-8?B?UjNVQzZVTzkzYVlRWUltWlM1QzBBMkNMMitya1FGcU4yK0FRdzFQTDZZQ0hs?=
 =?utf-8?B?Umd5Mzg5Ny9Sb0NWa3ZqdzJQLzlLNG5UMWlnV04wc1JHZ3JqY2VTL1dYY0E1?=
 =?utf-8?B?UzI4VjZIc2o0RmJJTXc2UW1aaWNYTkIyN1ptcndyVi96UG5UQTIwbjhYRlVN?=
 =?utf-8?B?UDlXdFc3TVFvbHpYYTMrazBZemF4Z0RIMVU3aDN1bmg5NXplM3FyMnBuSC95?=
 =?utf-8?B?VHBOdWVxWlI2YlJFZEJ1bU52RnYrc2dna1lVbzkwYXdJWUpjVkNKd2FTeVFW?=
 =?utf-8?B?aUdnYy94OE1LU3JvaTR0QVZsVUwrU0Z4a0N3ejZONWVINXBLSmJzUnFSSW93?=
 =?utf-8?B?Y0xBODVPUmFma0hUK2hTZDBKQURiVWMrbjJKMTNVTS92ci9qTHZYTDAxR0pq?=
 =?utf-8?B?ZlVWZ0RZNnh5YURaanFFWUliK1JXN05HM24xVlNicjBMd3dPK3EzcEc4VjhY?=
 =?utf-8?B?aXpCaUM1VXhJR2FUbEVFRXkzRXNqWUtjeFFjSmEyYXRWbExqUWl0a3B6eG14?=
 =?utf-8?B?MGMzSzl0TzNMUk9xWGJJSHJLb0FmTmh4KzVSM0RrQi9Tdlg1NWsrbWdwZ1gz?=
 =?utf-8?B?TGtFajZKY2wrdUdPS1dHdEV6SXorNXNqOFAvTHZpZVJoUzJBaEI0ZklUTSsr?=
 =?utf-8?B?UTZUMXVNY2VwT2JUQnFsNGJuSUowa0UrZWtmeE5EMlFxZEhiZjlMc0t4ZkNk?=
 =?utf-8?B?T3dQUXlXS3hRM213Wm05eU54RlNUZEZ2NzRxOThmQ1ZRZk1YcHNIS05UY2x3?=
 =?utf-8?B?WDZjdnlRQWhPRVE0QVcvUGIzd3ZlQWJoL3Z3ekduOHphR0VhOEZONExaa0VE?=
 =?utf-8?B?Vys4WUZhYkdaWmJ1TjZiWU9HSUVrZHBWM1ZGU1hIcTdDVllWYjhheVczUUNk?=
 =?utf-8?B?bXZvT3BNbEcrWDBqU2lwbEp5dVA5ZkF5YWR1QlROYmJPVzJZYkU1cWdCL1BF?=
 =?utf-8?Q?CBNIVB59I3k=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?OWJ3UExKVkkya0ZlcWVJcCtsRWJuM1NXMktkaFV6NngrdjNHSmdlb0lHbVhC?=
 =?utf-8?B?ZHpnWmI3VVgvc3h2dDV1MTh3K2RkT1RRY0tOOHRLak1VcHdwZ3RpWjVEWEhN?=
 =?utf-8?B?djZLNndjbTRVM1BvZ2tFU1BZUFRsU0xUOUpWYzRIaEliQkdJcjRJYU53WTAx?=
 =?utf-8?B?R1c4bXROTzVoVSs3dytNbkVsMXYyckhsR0lEdVdhbDIrSG1FYW9Sc3hpR0lN?=
 =?utf-8?B?K0VXNFZqZVpPRGlLVC9WNEZXRFNGYStUU1c5QTcxZWp0WUllWXZVeWhpMkJq?=
 =?utf-8?B?MXlNcWJMMVRBSkxpZmEycHo2d0kzT2pNaEU1NHhDa0NNT1U3ZEtEdUJKTEJv?=
 =?utf-8?B?cmcvVGw4MkRCUkdZMGN1MzlNWDZPYmoydTc3TmMzeXNTbmZiby9PUHI1dFVL?=
 =?utf-8?B?OGdxb1pCSkZ4S2pUK3JDRWRBRUw0QlRqUUFlejZyQlRqUldtQzJISTZOUm5B?=
 =?utf-8?B?V1ZabmJFN0U1cE5LL0JsdmhLUC9NZmN6MFZrcWNSSThua2dwYmJJQzdXUGh6?=
 =?utf-8?B?ZGVjOHZ4OGF3d0liSHhaQjJQZk5MdkgrS1RIUzMwbXk4QXJ2d052MldsNWl3?=
 =?utf-8?B?aXBNZ3ZiRG1sLzNIREo4QXMvOXZueUxPVkx0L0o5UDE5NWVjQ3R4TDFQL2xQ?=
 =?utf-8?B?NlpYc1FNVmdIbTJPdFBrSFFjYURXL05jblFoeUhIaXFBLzVSKzhPZVB2Yy93?=
 =?utf-8?B?UFlXUVZ0SFk3dVJwRmJ3bDRzTHUySWF2QXpha2FPZWsySDRBaVlQeC9aWHha?=
 =?utf-8?B?ZHBrK2lzYksrMTJ6Q2Qxc2hOTk92RFk3OGJsU3VhNUV4T0xyT1VzV0hGUEtw?=
 =?utf-8?B?V2ptMmVOZXJrbHZVdDI0Z3daMDJPbVB6Kzd4STI1RmpwdFluNzlCMndyeEI1?=
 =?utf-8?B?YTJjbWZkMVJ6Yjlyb2ZaWHYxcGI1RXBKbFlla1NHTGV3S1pKcEhKS3orb0xa?=
 =?utf-8?B?QmFFd1RLS3VmRE1WQTd1UEgzcjg0YXN5NVdYV1UzNnhHOVdCL0dJbkh2alNp?=
 =?utf-8?B?UTI1UnpTV0R2TkVsMFRGYitYbWJBSzkvY0EwcWRnazVrUGtDejRHRlloTlpx?=
 =?utf-8?B?MGdFcVF1QXpnYzdURGY3RGEzODFRUTlsSGowczNWdTRKcmFNaldkaFNYczF3?=
 =?utf-8?B?SjNjbGN1TUR2NEs0eEFQMG53ekF4V25RZUh0YXJRTjBwMjB2NHNBVmFSelpO?=
 =?utf-8?B?SVdqQ25aM3BXckhtajl0Tmx4R1J3WjRrZWp5MmwvbUxrY1FaTkF6YXNuQ3Jp?=
 =?utf-8?B?ejJSYitEVUNXZHVoclEyTFRkaDZkejhNVTh0TWx1NHNvOFpWR0Z5bTZzb2M1?=
 =?utf-8?B?eVRubUVNVXdQYUhPQzhFZHVhSWhFVytmT05oZ1RrNUMyV1FIR2VjMTBGOVg4?=
 =?utf-8?B?MjBPQ2Z3cG5naWtmZXZPUXpMTzhyb2dtVTJEazErSkJlZUZKbGpRd0xmQnFw?=
 =?utf-8?B?RDRzOHJUOENTNHNYVTZCbFVtOUo1VjRTdTRreExnS3REd2N0UDRDaFJpd2FQ?=
 =?utf-8?B?b2w2U1dPY0h4RzQ0dHJHenU5akIvWUEzamhhQU5vblVyeGw5VjJwMDRiVHhV?=
 =?utf-8?B?cmJqbGpMYnc1NHdQYlFKeVhONEYvVlRlMnlZWUNEazA5b2s1MlhBa0xHRktn?=
 =?utf-8?B?Q2tZbHIzbmVKb0Y1a3BlZFdpc21lZjNVbEQxNStHeEZKTE5FT05nY2tJOTBI?=
 =?utf-8?B?YmZOMGljWVBQS3RqT3FLM1BTamM2TnN4b2hXWnRRZWowNmExK0ljYUxWUURQ?=
 =?utf-8?B?MGIyM1hMUVFMUlQvSUFKM3o0L1gzQ0xRdmhGREFPVUdmNTRNSHA1TG4xZ0VH?=
 =?utf-8?B?RVcwM3R5aC9lWlNPa3c0eXRsNERpWU1leTBKRk9VYzltQ2NxRnI0ekVCNy9Z?=
 =?utf-8?B?S21JZWtPQkJhRVFRTFZRRnJPTGQzZ2JmSVRlVno1bk1PeHBpU2V1MDZONnpX?=
 =?utf-8?B?S1VnMjlXSmFSbU5GcjJ3ZEc3cEF0UkVQS21abzFtY3BZYlhhdHJqL1VpNE45?=
 =?utf-8?B?T0s3Z0EzUUVvNnhIU2ZNcVdlKzRTNGoxZTBNSjdTeS9VYllvL0RlYWxxY0pn?=
 =?utf-8?B?OUcvRC9TbEZRTXBJMDd2VEsvU3JqRFNmUEYvUlBud3JoVG9OcjBsYjA3b1NW?=
 =?utf-8?Q?yVYmutXSITd1tALPcGWkoBA1U?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c1154b9-9284-47c3-1996-08dd6c8ab92c
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2025 17:22:02.6604
 (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: PgZX0NZpTqFjE92n8NaWEdR00qW1doSaOko5nT9aKyetXilLQD7CsRxFFpdvQAep
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8715



On 26/03/2025 15:47, Anthony PERARD wrote:
> 
> 
> On Tue, Mar 25, 2025 at 12:00:29PM +0100, Michal Orzel wrote:
>> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
>> index 2d895408cac3..0adcaa373b54 100644
>> --- a/tools/libs/light/libxl_arm.c
>> +++ b/tools/libs/light/libxl_arm.c
>> @@ -181,13 +181,18 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>
>>      LOG(DEBUG, "Configure the domain");
>>
>> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
>> -        LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
>> -            nr_spis);
>> -        return ERROR_FAIL;
>> +    /* Check if a user provided a value or not */
>> +    if (cfg_nr_spis != LIBXL_NR_SPIS_DEFAULT) {
>> +        if (nr_spis > cfg_nr_spis) {
>> +            LOG(ERROR, "Provided nr_spis value is too small (minimum required %u)\n",
>> +                nr_spis);
>> +            return ERROR_FAIL;
>> +        }
>> +        config->arch.nr_spis = cfg_nr_spis;
>>      }
>> +    else
>> +        config->arch.nr_spis = nr_spis;
> 
> Just one small coding style issue: to avoid confusion, whenever one side
> a of an if..else is using a block, both side should use a block. But
Oh, I should have checked with tools/libs/light/CODING_STYLE.

> that can be fixed on commit:
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Fixing on commit would be great.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 17:35:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 17:35:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928183.1330929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txUfD-0002q3-Uv; Wed, 26 Mar 2025 17:35:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928183.1330929; Wed, 26 Mar 2025 17:35: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 1txUfD-0002pw-QJ; Wed, 26 Mar 2025 17:35:39 +0000
Received: by outflank-mailman (input) for mailman id 928183;
 Wed, 26 Mar 2025 17:35: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=Mf06=WN=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txUfC-0002po-3K
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 17:35:38 +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 ba06f07f-0a68-11f0-9ea3-5ba50f476ded;
 Wed, 26 Mar 2025 18:35:36 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so895415e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 10:35:36 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 ffacd0b85a97d-3997f9b3dd5sm17343839f8f.45.2025.03.26.10.35.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 10:35: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: ba06f07f-0a68-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743010536; x=1743615336; darn=lists.xenproject.org;
        h=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=oG25p543/2ftOJOEOYaggVJ63ukTSMfAAAdVzulfvKU=;
        b=pf/HuHSPiLY2jbasqDhdGk/b1PgnQKxeKbZiIqo86xmFe9LKxoruHh7xrfWN4fr/Ii
         qVNmbZHw5nKSmkhjEfzt9OcYoZYH1VR6SOIZC2YQeqmMx7+Kqoi2u8ndZEAbnbjAa+h+
         8zbWbu7hxXWXiT120u61Fhh9UjLzS4ugFoZ00=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743010536; x=1743615336;
        h=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=oG25p543/2ftOJOEOYaggVJ63ukTSMfAAAdVzulfvKU=;
        b=Iv9mfnU8MButQ6eUtOyXKdg8ASkNSh49oGAYghucCYAe9iwTnTb6uyyEsVuHGyNvFQ
         0gaDkvNvBkdgmReckxGu47vHtYXKxes4/W+5J+KPlAe7FwMZ7vy6GfzmNpDMOIy9/vn2
         2Vlkuah7/FhaoNZVJW+hUI6w8UgQIP3qUZRkUfJmA1LXfqCzIClrkYzyZhXP+9xue2Rg
         cBhUUdcnPhafUekkKlNMr69ZT+aDtgmSRgFzJiGaBmBp4Fe4+SgAw9jUc+TKsQWOS/1C
         Z+mWZPVuCI5iA4hwo1ZAIBSTYjXRgXyY1mEWFFemRwwnIkgxMXYGKJnWkB2OJmz3SqYR
         1pNA==
X-Forwarded-Encrypted: i=1; AJvYcCXec3wxIFakwxcf4yDAL6YGdB08Pm+eRPf8dzCrS+948i/st7dbgqAbjIRo59mqwearyWrYCqeUnq4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwquYzFqfWa0zynDdfFq88sRaISbaQqmLqt+8oBaflMv2+Vt9kX
	djMK4WPP8FrdEbD8PfOpuZmZQdXKQlWwcESPqeYdNqy8KVMCuFYnApuWrjC576s=
X-Gm-Gg: ASbGncsTJ2x6PsMxHEosYPIIc/lmEP8bgKMzrKboPdnxSbRKUDHGnCKSEaJ3r1N8hNP
	vXsqIe437OmSyLWpazr+Xw7wreh6fQLJ/vtH9FbfDNEb9FUs5fyXnBP3EfbLL2IrxVaxjHF1zni
	ygSionsyC498mXLF64mqzjL/m76roVTHJEDR3Z1eJ+OFLGjDkR3MaBzxTuIrDaeYU399S78TgU7
	bL1Z2d+pOemzy+wStYyIDOEBFxPDLszBx+kGrobaAj7KgpjpMXbBfWnz1ApNlMXLprAGC33g2fs
	dPgQBvewy82gvXabHWRK0fVRoyp8j0dtP7FTZKmwQ9w6aC6ZXA==
X-Google-Smtp-Source: AGHT+IFsdsKlY2ttS9T7OdjEjxAY55Np+3rZNue7Ym54PW0WTeaNUWLZ8dK2NPK3Rntpx7mORwz7yw==
X-Received: by 2002:a05:6000:40ce:b0:391:2dea:c9a5 with SMTP id ffacd0b85a97d-39ad175c444mr233777f8f.20.1743010535620;
        Wed, 26 Mar 2025 10:35:35 -0700 (PDT)
Date: Wed, 26 Mar 2025 18:35:34 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.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] tools: Remove support for qemu-trad's battery reporting
Message-ID: <Z-Q65qHssG4GTmXR@macbook.local>
References: <20250325174110.467-1-alejandro.vallejo@cloud.com>
 <Z-QIOJax7of-y79f@mail-itl>
 <D8QBAOE8U497.UAKETQOU3D2Y@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <D8QBAOE8U497.UAKETQOU3D2Y@cloud.com>

On Wed, Mar 26, 2025 at 03:44:05PM +0000, Alejandro Vallejo wrote:
> On Wed Mar 26, 2025 at 1:59 PM GMT, Marek Marczykowski-GĂłrecki wrote:
> > On Tue, Mar 25, 2025 at 05:41:10PM +0000, Alejandro Vallejo wrote:
> > > The way this undocumented feature works is via qemu-trad (who nobody
> > > uses anymore), by intercepting 3 magic PIOs. 0x88 is one of them, and
> > > it's probed by hvmloader as a means of detecting support for this (so,
> > > on qemu-upstream this check always fails). If hvmloader detects the
> > > feature, it appends an SSDT with AML inherited from some laptop ~20y
> > > ago. QEMU then communicates with a userspace daemon (xenpmd) via an
> > > undocumented xenstore key ("refreshbatterystatus") in order to report
> > > battery levels.
> > > 
> > > Seeing how no one uses, mantains or cares about qemu-trad anymore, rip
> > > it all out. The hvmloader check, the SSDT generation logic and xenpmd.
> >
> > Oh, I didn't know something like this existed!
> 
> In retrospect, it might've been for the best. I really dislike the way it's put
> together. Using xenstore feels really pointless.
> 
> > We needed a feature like this, and solved it via extra kernel module +
> > PV-like interface to feed it with data from dom0:
> > https://github.com/QubesOS/qubes-dummy-psu/
> 
> I did wonder (after learning how this all works) how you guys did it without
> qemu-trad. I guess that explains it. FWIW, it's not hard to do this properly on
> QEMU upstream. We could create a new field under a BAR of the Xen platform
> device and instruct some (much, much, much simpler) AML to read the battery
> level from there. Then QEMU can ask the real system what the battery level is
> and Bob's your uncle.

I think some OSes (Linux? Possibly Windows?) like to use the xenpci
device BAR to put the grant table and as scratch space to map grants,
so we need to be careful with putting real registers there, as older
guests might not know about them.

Also that would mean adding QEMU (even if just for a limited usage) if
we want the feature for PVH guests.

It might be safer to place those registers in a physmap reserved
region, but not correlated with any device BAR.  Otherwise if the
guest decides to turn memory decoding off (which it shouldn't do in
the first place), the related AML will stop working properly.

I wonder if we could find a way to do this nicely from ACPI (so not
using a side band PV interface) and not have to involve QEMU.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 17:47:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 17:47:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928197.1330937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txUqR-0005RF-Ri; Wed, 26 Mar 2025 17:47:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928197.1330937; Wed, 26 Mar 2025 17:47: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 1txUqR-0005R8-PC; Wed, 26 Mar 2025 17:47:15 +0000
Received: by outflank-mailman (input) for mailman id 928197;
 Wed, 26 Mar 2025 17:47: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=k+Jq=WN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txUqQ-0005R2-2j
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 17:47:14 +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 5891f24a-0a6a-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 18:47:12 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac289147833so16370666b.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 10:47:12 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac6ea5ef3f1sm134877866b.79.2025.03.26.10.47.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 10:47: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: 5891f24a-0a6a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743011231; x=1743616031; 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=f7Uzq9oW680zYljd7jZo7KQRh1uZjJNlw96sXDXsCB0=;
        b=j5lJe8VI/21Gdx+UJPwp5kS8OvjEuHb8fNmjGy826D9ZrkbuV12s7J6NsX+/mVSJZY
         D4/AhsV4imDEbiYAwaxsvh99SQCa7OCy88lLT9YP6662uwXbJ+W22RTJdF7O0df5WALA
         fpSMde6yTr2UekJb5MijLxqoffW0j3rxYOavdmiBGiU2ZLBbeF7lQsOCqgxWFkNTaZAm
         AW1bJDSjWgKcCxGH3rkF+4maIwxAMkXZ+TI6RB/CbUDorIqYbIjVL9ua+zGaILtg8atI
         2f1Hji9m13BQMg3j5xEV3kIs8yNMhZqDricGiFpxveMMRBBa468m5YVnvHTSYKHAvHqz
         +X5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743011231; x=1743616031;
        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=f7Uzq9oW680zYljd7jZo7KQRh1uZjJNlw96sXDXsCB0=;
        b=uq2aY+73v5xmNi45USC6m5XZeEaXBbUp2fn1X/o+L5p51UF+CfXwahvQFnKs4jgX/B
         s08rhT5d2Y5+W4uISkv8E95nA8/zKVGWpMGLaRe76TjAfJefpOAUY45MP+xnF/SyfHbq
         MZJfY+ka96ZCqQFtXmMVeENBVdlFQHeJPByo7zZa26+gocxubfWnCg0S1fFiBPjw98cy
         EK9paRzxH+W5soZagaOhUVvRJ1RgPyg63i9vICS/Mz4Ezsg03coOLKyxaEE+EH3X+NFN
         0rLQRP1lkWec8nlvDw/xxNlpdTyhyWiTrL31wIXboqR5FDhO7ell+qp4O7RJ56obTYht
         E/ng==
X-Gm-Message-State: AOJu0Yx4VbtpqPWeIKrt1vHITQ9uIq/mOh1nlC1OCEnlfUZgm9KpWWAB
	Lpsz6kDL22W63Lvqn7Jt0KYwpAaxgLAL3abtc9OOhEih+SdTIrgzz4oYqQ==
X-Gm-Gg: ASbGnct3hppJLOCkH3Est3bEuRcUQAthNOLpU1R25sAx6GsT3QU0yslNRH8V0M3EP+H
	wgXA+9GWY2isotFPw/zGCSs47Eg8Rf62IdB0qJB6/anY8tWKXypLR9qM5o5Umjom0yrtr/kL1he
	SN+4hTC5K6xpQMLupakEuA9xLyWGqAAFX+eDRlWQ35mJH+Ctl2gD1lITXPNDzfpAQm7iC5SwYxO
	e0ezIzWmF4RjvrsYmxbx0gCfWvri+CBu7Fz/4v8sIyBtJW87iszgQNCsulldYeUz+BIyWGX6Ukr
	hmrEae7DpvJyoO8wg2x9Jj35eMcT+ihMyX6/VjKPGQEdhWuPUhl51zGBYlGviidJygQ/Jhlp10L
	9vJZP7oIqQkaSBw==
X-Google-Smtp-Source: AGHT+IHo0r83mE4rf9pbHCAAQ+DPsqN72cKLnUv/ar1JHntkyXb3bYZsYi7vqB+UTNo0LNZ+yM0bVA==
X-Received: by 2002:a17:907:78b:b0:abf:67de:2f1f with SMTP id a640c23a62f3a-ac6fb0ff500mr34913066b.44.1743011230604;
        Wed, 26 Mar 2025 10:47:10 -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>,
	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>
Subject: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from asm/config.h to xen/config.h
Date: Wed, 26 Mar 2025 18:47:07 +0100
Message-ID: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

BITS_PER_* values can be defined in a common way using compiler-provided macros.
Thus, these definitions are moved to xen/config.h to reduce duplication across
architectures.

Additionally, *_BYTEORDER macros are removed, as BITS_PER_* values now come
directly from the compiler environment.

The arch_fls() implementation for Arm and PPC is updated to use BITS_PER_INT
instead of a hardcoded value of 32.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Potentially, BITS_PER_XEN_ULONG could also be moved to xen/config.h, as it is
64 for all architectures except x86. A possible approach:

#ifndef BITS_PER_XEN_ULONG
#define BITS_PER_XEN_ULONG 64
#endif

CI's tests result:
  https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1736620512
---
 xen/arch/arm/include/asm/bitops.h   |  4 +---
 xen/arch/arm/include/asm/config.h   |  8 --------
 xen/arch/ppc/include/asm/bitops.h   |  4 +---
 xen/arch/ppc/include/asm/config.h   |  7 -------
 xen/arch/riscv/include/asm/config.h | 13 -------------
 xen/arch/x86/include/asm/config.h   |  8 --------
 xen/include/xen/config.h            |  9 +++++++++
 7 files changed, 11 insertions(+), 42 deletions(-)

diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index f163d9bb45..60686a3a55 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -22,8 +22,6 @@
 #define __set_bit(n,p)            set_bit(n,p)
 #define __clear_bit(n,p)          clear_bit(n,p)
 
-#define BITS_PER_BYTE           8
-
 #define ADDR (*(volatile int *) addr)
 #define CONST_ADDR (*(const volatile int *) addr)
 
@@ -75,7 +73,7 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
 
 #define arch_ffs(x)  ((x) ? 1 + __builtin_ctz(x) : 0)
 #define arch_ffsl(x) ((x) ? 1 + __builtin_ctzl(x) : 0)
-#define arch_fls(x)  ((x) ? 32 - __builtin_clz(x) : 0)
+#define arch_fls(x)  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
 #define arch_flsl(x) ((x) ? BITS_PER_LONG - __builtin_clzl(x) : 0)
 
 #endif /* _ARM_BITOPS_H */
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 0a51142efd..5a02db6937 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -8,19 +8,11 @@
 #define __ARM_CONFIG_H__
 
 #if defined(CONFIG_ARM_64)
-# define LONG_BYTEORDER 3
 # define ELFSIZE 64
 #else
-# define LONG_BYTEORDER 2
 # define ELFSIZE 32
 #endif
 
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG (BYTES_PER_LONG << 3)
-#define POINTER_ALIGN BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index c942e9432e..e72942cca0 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -15,8 +15,6 @@
 #define __set_bit(n, p)         set_bit(n, p)
 #define __clear_bit(n, p)       clear_bit(n, p)
 
-#define BITS_PER_BYTE           8
-
 /* PPC bit number conversion */
 #define PPC_BITLSHIFT(be)    (BITS_PER_LONG - 1 - (be))
 #define PPC_BIT(bit)         (1UL << PPC_BITLSHIFT(bit))
@@ -121,7 +119,7 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
 
 #define arch_ffs(x)  ((x) ? 1 + __builtin_ctz(x) : 0)
 #define arch_ffsl(x) ((x) ? 1 + __builtin_ctzl(x) : 0)
-#define arch_fls(x)  ((x) ? 32 - __builtin_clz(x) : 0)
+#define arch_fls(x)  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
 #define arch_flsl(x) ((x) ? BITS_PER_LONG - __builtin_clzl(x) : 0)
 
 #define arch_hweightl(x) __builtin_popcountl(x)
diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm/config.h
index 148fb3074d..8e32edd5a5 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -6,19 +6,12 @@
 #include <xen/page-size.h>
 
 #if defined(CONFIG_PPC64)
-#define LONG_BYTEORDER 3
 #define ELFSIZE        64
 #define MAX_VIRT_CPUS  1024u
 #else
 #error "Unsupported PowerPC variant"
 #endif
 
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG  (BYTES_PER_LONG << 3)
-#define POINTER_ALIGN  BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 7141bd9e46..314c97c20a 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -119,25 +119,12 @@
 #define HYPERVISOR_VIRT_START XEN_VIRT_START
 
 #if defined(CONFIG_RISCV_64)
-# define INT_BYTEORDER 2
-# define LONG_BYTEORDER 3
 # define ELFSIZE 64
 # define MAX_VIRT_CPUS 128u
 #else
 # error "Unsupported RISCV variant"
 #endif
 
-#define BYTES_PER_INT  (1 << INT_BYTEORDER)
-#define BITS_PER_INT  (BYTES_PER_INT << 3)
-
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG  (BYTES_PER_LONG << 3)
-#define POINTER_ALIGN  BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
-#define BITS_PER_BYTE 8
-
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
diff --git a/xen/arch/x86/include/asm/config.h b/xen/arch/x86/include/asm/config.h
index 19746f956e..f0123a7de9 100644
--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -7,16 +7,8 @@
 #ifndef __X86_CONFIG_H__
 #define __X86_CONFIG_H__
 
-#define LONG_BYTEORDER 3
 #define CONFIG_PAGING_LEVELS 4
 
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG (BYTES_PER_LONG << 3)
-#define BITS_PER_BYTE 8
-#define POINTER_ALIGN BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
 #define BITS_PER_XEN_ULONG BITS_PER_LONG
 
 #define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 1
diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d888b2314d..dbbf2fce62 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -98,4 +98,13 @@
 #define ZERO_BLOCK_PTR ((void *)-1L)
 #endif
 
+#define BYTES_PER_LONG  __SIZEOF_LONG__
+
+#define BITS_PER_BYTE   __CHAR_BIT__
+#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
+#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
+#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
+
+#define POINTER_ALIGN   __SIZEOF_POINTER__
+
 #endif /* __XEN_CONFIG_H__ */
-- 
2.48.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 19:49:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 19:49:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928232.1330980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txWkr-00059p-Kl; Wed, 26 Mar 2025 19:49:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928232.1330980; Wed, 26 Mar 2025 19:49: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 1txWkr-00059i-Hk; Wed, 26 Mar 2025 19:49:37 +0000
Received: by outflank-mailman (input) for mailman id 928232;
 Wed, 26 Mar 2025 19:49: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=k+Jq=WN=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txWkq-00059a-EM
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 19:49:36 +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 710c1b1c-0a7b-11f0-9ffa-bf95429c2676;
 Wed, 26 Mar 2025 20:49:34 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5e5e0caa151so371762a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 12:49:34 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebccf84600sm9895855a12.19.2025.03.26.12.49.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 12:49: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: 710c1b1c-0a7b-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743018574; x=1743623374; 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=FKlyMe5NmwlIerDlrSZYIk6XVWD21J6zqo0x6V8By9s=;
        b=I1F5Hnz08Ogy5M6YH/7Bx5SrS5tYujhLtTCqmiO2YSJ6gVjqP0CxDKFJXEp3UcAL2o
         4OhZIyKRErOsfAyndYHDYpWvLM6wacxGqe3xs7qKmTegx2YB/7Euiyu+J71rv/OzyZY2
         TxtO9LPziLo+wSxtqEpzyo3q7/xOCcG3HvEG2gR3LzpJ5CHfOpjvC0WeDO6Lki0/d78N
         gwGMxUOfOoFC9/gG9Vrfl75R6hfePVbV+h9tBaWf3y4X5QRh8zEiF+gofiud6mfzYNca
         WcoTTzqVyIDbrIeEYYteTIh6Dk0t96aZeOgGds4Kn9J3Af0XE9aIIeMa6sBJbxXL97vk
         W6wA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743018574; x=1743623374;
        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=FKlyMe5NmwlIerDlrSZYIk6XVWD21J6zqo0x6V8By9s=;
        b=hiPIMgdytpIDPyU/N9mpbSLRqQVa0HXciXLh4v3sJ1PX568t9PzjRLW5zm7kaq/uuM
         b8A1koY2LlfaltL2DaIWTgxQ5CdaE5eEnR4mLUytzymzHaMn7cMeYO0RvETnPMh4oAJu
         EeJLJ8YTN9/OFsebTzJW/XN38EvGFODV2WScORAalRwV1Q80cVDkgUapNVwFoa9kQl2G
         0epYrzZhXi8ezax1OQ7EggbpX/P/XmrYJSy7R5O827P1i7LI/HCgEWP/xEBCdJ0prtmN
         nyK4w8o9rpxwYvfGtrXpVpeQ34tqUXdQEuvz0HiMF7uq3iQWMgH7cB9BhJ4GAJteIgqs
         NV1w==
X-Forwarded-Encrypted: i=1; AJvYcCUZS7u7LIy4r6CWRxXcpUX/DKOMkNg0u8dkCBuZffHw4t0dWiDNUzUFH5qlkIQ8AznXjuyv/CD9xPg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyngVqZ8Nz/GB1ELgoeLh/sUERtaW1dSxbhdhcRKjNRoH8Mvhc5
	sYqM3J8uFwsCycbUmSYVxcAz9KzBsE9F2Uovglf97i/MdFv+XNgF
X-Gm-Gg: ASbGncsQRVYZ29SLKbFG59e9QpuqfgmBHLPoQW/jl4xtm/5oHkDroQYykjwd8ZW6DWQ
	zUTttnhXBKi5KjE4xLydpuDb69bxmjvpbongsZYp3H0bmmtRUa+oexI/tc8jxaaWf4dDL9xbfsJ
	AhOLBhuLlq9a3MJnbUh9PhXWdNIpv4Xy2+4/U/IXj4ftAreRCRyTa8VWse+l0n1xvQl045KwBjH
	nmNGG7yrad8UXMUEpLv7LDh1ce/BWUUL3IvPeNJ5cSxknXcOaIvXjcf0zu87e3DTvGQaSN3uEHY
	LRqRBzD8tAeGc0sncjzgsVU0dA5cqUZJBG8whastNIQTDl+gqPzQ1kxQ8jRMj/zGAN0SUM3i2kV
	nRWU+sIWXNKf4b+V30JGq
X-Google-Smtp-Source: AGHT+IFTuRSW0NkmVbVpKr9+fvMG59P7oKelrXy458/mQp069sIYHQ1Xql+JCIBQHqUTt1oNu2O8OA==
X-Received: by 2002:a05:6402:42c2:b0:5ec:c982:7efe with SMTP id 4fb4d7f45d1cf-5ed8e59ddbamr865040a12.14.1743018573448;
        Wed, 26 Mar 2025 12:49:33 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------L5vjZPFKi1omyaQgWb35deWR"
Message-ID: <cb66e1e4-7ac4-4a98-9bdb-b92e6c069f0a@gmail.com>
Date: Wed, 26 Mar 2025 20:49:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/riscv: introduce preinit_xen_time()
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: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com>

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


On 3/26/25 4:13 PM, Jan Beulich wrote:
> On 25.03.2025 18:36, Oleksii Kurochko wrote:
>> preinit_xen_time() does two things:
>> 1. Parse timebase-frequency properpy of /cpus node to initialize
>>     cpu_khz variable.
>> 2. Initialize xen_start_clock_cycles with the current time counter
>>     value.
>>
>> Signed-off-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>> ---
>> Changes in v2:
>>   - Update SPDX tag for time.c
>>   - s/read_mostly/__ro_after_init for boot_count variable.
>>   - Add declaration of boot_count to asm/time.h.
>>   - Rename boot_count to xen_start_clock_cycles.
> I'm not going to insist on another name change, but I'm having a hard time
> seeing why almost any global variable in Xen would need to have a xen_
> prefix. "start" also can be ambiguous, so imo boot_clock_cycles would have
> been best.

I can change that during the work on the version of this patch.

>
>> --- /dev/null
>> +++ b/xen/arch/riscv/time.c
>> @@ -0,0 +1,39 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +#include <xen/device_tree.h>
>> +#include <xen/init.h>
>> +#include <xen/lib.h>
>> +#include <xen/sections.h>
>> +
>> +unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
>> +unsigned long __ro_after_init xen_start_clock_cycles;
> For the theoretical at this point case of support RV32, will unsigned long
> be wide enough? I.e. is the counter only 32 bits wide when XLEN=32?

No, it will be really an issue and the type should be uint64_t for this variable
because on RV32I the timeh CSR is a read-only shadow of the upper 32 bits of the
memory-mapped mtime register, while time shadows only the lower 32 bits of mtime.
So on RV32 it is still 64-bit long and requires two reads to get cycle value.

>
>> +static __initdata struct dt_device_node *timer;
> Please can __initdata (and alike) live at its canonical place, between
> type and identifier?
>
> It's also unclear at this point why this needs to be a file scope variable.

Because this variable is used and will be used only in preinit_dt_xen_time().
But I think we could move the declaration of this variable to preinit_dt_xen_time()
as it is used only during preinit_dt_xen_time().

>
>> +/* Set up the timer on the boot CPU (early init function) */
>> +static void __init preinit_dt_xen_time(void)
>> +{
>> +    static const struct dt_device_match __initconstrel timer_ids[] =
>> +    {
>> +        DT_MATCH_PATH("/cpus"),
>> +        { /* sentinel */ },
>> +    };
>> +    uint32_t rate;
>> +
>> +    timer = dt_find_matching_node(NULL, timer_ids);
>> +    if ( !timer )
>> +        panic("Unable to find a compatible timer in the device tree\n");
>> +
>> +    dt_device_set_used_by(timer, DOMID_XEN);
>> +
>> +    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
>> +        panic("Unable to find clock frequency\n");
>> +
>> +    cpu_khz = rate / 1000;
> "rate" being only 32 bits wide, what about clock rates above 4GHz? Or is
> this some external clock running at a much lower rate than the CPU would?

It is the frequency of the hardware timer that drives the 
|mtime|register, it defines the frequency (in Hz) at which the timer 
increments.


>
>> +}
>> +
>> +void __init preinit_xen_time(void)
>> +{
>> +    preinit_dt_xen_time();
>> +
>> +    xen_start_clock_cycles = get_cycles();
>> +}
> I take it that more stuff is going to be added to this function? Else I
> wouldn't see why preinit_dt_xen_time() needed to be a separate function.

Actually, I checked my latest downstream branch and I haven't added nothing
extra to this function.
Only one thing that I want to add is ACPI case:
     if ( acpi_disabled )
         preinit_dt_xen_time();
     else
         panic("TBD\n"); /* preinit_acpi_xen_time(); */

~ Oleksii

--------------L5vjZPFKi1omyaQgWb35deWR
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 3/26/25 4:13 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com">
      <pre wrap="" class="moz-quote-pre">On 25.03.2025 18:36, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">preinit_xen_time() does two things:
1. Parse timebase-frequency properpy of /cpus node to initialize
   cpu_khz variable.
2. Initialize xen_start_clock_cycles with the current time counter
   value.

Signed-off-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
---
Changes in v2:
 - Update SPDX tag for time.c
 - s/read_mostly/__ro_after_init for boot_count variable.
 - Add declaration of boot_count to asm/time.h.
 - Rename boot_count to xen_start_clock_cycles.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I'm not going to insist on another name change, but I'm having a hard time
seeing why almost any global variable in Xen would need to have a xen_
prefix. "start" also can be ambiguous, so imo boot_clock_cycles would have
been best.</pre>
    </blockquote>
    <pre>I can change that during the work on the version of this patch.

</pre>
    <blockquote type="cite"
      cite="mid:86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- /dev/null
+++ b/xen/arch/riscv/time.c
@@ -0,0 +1,39 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include &lt;xen/device_tree.h&gt;
+#include &lt;xen/init.h&gt;
+#include &lt;xen/lib.h&gt;
+#include &lt;xen/sections.h&gt;
+
+unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
+unsigned long __ro_after_init xen_start_clock_cycles;
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
For the theoretical at this point case of support RV32, will unsigned long
be wide enough? I.e. is the counter only 32 bits wide when XLEN=32?</pre>
    </blockquote>
    <pre>No, it will be really an issue and the type should be uint64_t for this variable
because on RV32I the timeh CSR is a read-only shadow of the upper 32 bits of the
memory-mapped mtime register, while time shadows only the lower 32 bits of mtime.
So on RV32 it is still 64-bit long and requires two reads to get cycle value.</pre>
    <blockquote type="cite"
      cite="mid:86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+static __initdata struct dt_device_node *timer;
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Please can __initdata (and alike) live at its canonical place, between
type and identifier?

It's also unclear at this point why this needs to be a file scope variable.</pre>
    </blockquote>
    <pre>Because this variable is used and will be used only in preinit_dt_xen_time().
But I think we could move the declaration of this variable to preinit_dt_xen_time()
as it is used only during preinit_dt_xen_time().

</pre>
    <blockquote type="cite"
      cite="mid:86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+/* Set up the timer on the boot CPU (early init function) */
+static void __init preinit_dt_xen_time(void)
+{
+    static const struct dt_device_match __initconstrel timer_ids[] =
+    {
+        DT_MATCH_PATH("/cpus"),
+        { /* sentinel */ },
+    };
+    uint32_t rate;
+
+    timer = dt_find_matching_node(NULL, timer_ids);
+    if ( !timer )
+        panic("Unable to find a compatible timer in the device tree\n");
+
+    dt_device_set_used_by(timer, DOMID_XEN);
+
+    if ( !dt_property_read_u32(timer, "timebase-frequency", &amp;rate) )
+        panic("Unable to find clock frequency\n");
+
+    cpu_khz = rate / 1000;
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
"rate" being only 32 bits wide, what about clock rates above 4GHz? Or is
this some external clock running at a much lower rate than the CPU would?</pre>
    </blockquote>
    <pre><span data-teams="true"><span style="font-size: inherit;">It is the frequency of the hardware timer that drives the </span><code>mtime</code><span
    style="font-size: inherit;"> register,
it defines the frequency (in Hz) at which the timer increments.
</span></span></pre>
    <br>
    <blockquote type="cite"
      cite="mid:86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+}
+
+void __init preinit_xen_time(void)
+{
+    preinit_dt_xen_time();
+
+    xen_start_clock_cycles = get_cycles();
+}
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I take it that more stuff is going to be added to this function? Else I
wouldn't see why preinit_dt_xen_time() needed to be a separate function.</pre>
    </blockquote>
    <pre>Actually, I checked my latest downstream branch and I haven't added nothing
extra to this function.
Only one thing that I want to add is ACPI case:
    if ( acpi_disabled )
        preinit_dt_xen_time();
    else
        panic("TBD\n"); /* preinit_acpi_xen_time(); */

~ Oleksii

</pre>
  </body>
</html>

--------------L5vjZPFKi1omyaQgWb35deWR--


From xen-devel-bounces@lists.xenproject.org Wed Mar 26 22:34:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 22:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928265.1330990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txZJf-0005RT-34; Wed, 26 Mar 2025 22:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928265.1330990; Wed, 26 Mar 2025 22: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 1txZJf-0005RM-0G; Wed, 26 Mar 2025 22:33:43 +0000
Received: by outflank-mailman (input) for mailman id 928265;
 Wed, 26 Mar 2025 22:33:41 +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 1txZJd-0005RE-IM
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 22:33:41 +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 1txZJd-009zAg-0t;
 Wed, 26 Mar 2025 22:33:41 +0000
Received: from [2a02:8012:3a1:0:ede3:7fd5:aa96:e2db]
 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 1txZJc-000b2b-2j;
 Wed, 26 Mar 2025 22:33: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>
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=FAto5c8QjAx71EiHWSadHeNyzIBtiGDmIhZGznIHNlQ=; b=l9BEao2hoOHFPT0hdzJ6Bq87ws
	DA1s0PbDCBPBWDh7dEVdLLe+UMYyOYDvsrzthZ8zf5uFk0jOEAYgP/RIvgGQnU9W20MYNbPn5Ck1l
	Ni7/KAe7/6EJFcggdfwG5Lnymd04D5pR40Rq/6LyPkrqA6umyKzASOHSM3fGXZTKVImU=;
Message-ID: <8e19bb8a-ff23-4068-ae48-83e81eda2f20@xen.org>
Date: Wed, 26 Mar 2025 22:33:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Content-Language: en-GB
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
 <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
 <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
 <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 26/03/2025 08:57, Orzel, Michal wrote:
> 
> 
> On 25/03/2025 17:54, Oleksandr Tyshchenko wrote:
>>
>>
>> On 25.03.25 18:09, Julien Grall wrote:
>>
>>
>>> Hi Oleksandr,
>>
>> Hello Julien
>>
>>>
>>> On 25/03/2025 16:05, Oleksandr Tyshchenko wrote:
>>>>>>> Furthermore, what happen if we decide to use ACPI afterwards? Wouldn't
>>>>>>> this mean that the static regions would be reserved even if ACPI
>>>>>>> doesn't
>>>>>>> use static memory (all the memory is expected to be given to the
>>>>>>> allocator)?
>>>>>> I don't think such hybrid configuration is valid (booting with ACPI yet
>>>>>> declaring reserved regions in DT). See commit:
>>>>>> 9c2bc0f24b2ba7082df408b3c33ec9a86bf20cf0
>>>>>
>>>>> I don't think the commit is preventing hybrid configuration. It is just
>>>>> saying that the region (which could be a static region because this is
>>>>> not supported) will be unreserved.
>>>>>
>>>>> IOW, when booting with Device-Tree you may be able to use static memory.
>>>>> But if you were booting with ACPI, static memory is not supported and
>>>>> therefore the regions should be free for other purpose.
>>>>
>>>>
>>>> Julien, I see your points, but the current patch does not attempt to
>>>> make static (reserved) memory properly work on ACPI-based system (if it
>>>> is available there), current patch tries to solve the real issue on
>>>> device-tree-based system with Xen compiled with CONFIG_ACPI=y (at least
>>>> unintentionally).
>>>
>>> I am not asking to make ACPI work with static memory. I am asking to not
>>> break ACPI if the Device-Tree is specifying static memory region.
>>>
>>>> However, I wonder, why it has not been noticed so far.
>>>
>>> ACPI is not a supported feature and gated by UNSUPPORTED. So the
>>> implication is you have enabled UNSUPPORTED and anything can happen
>>> really ;).
>>
>> Indeed, this answers the question.
>>
>>
>>>
>>>>
>>>> It took some time to understand why just enabling CONFIG_STATIC_MEMORY=y
>>>> triggered a BUG in common code. And it turned out that it was
>>>> CONFIG_ACPI=y in my Xen's .config that caused that consequence (I
>>>> specially wrote so long description to provide full context).
>>>
>>> As I wrote above, the only thing I am asking is that memory for static
>>> regions should be unreserved when ACPI is enabled like it is already the
>>> case today.
>>
>> So the concern is that not reserving provided by the device tree static
>> memory region is going to be a potential waste of the memory on the real
>> ACPI system? Or I missed something?
>>
>> I see two options with unreserving the static memory regions on the real
>> ACPI system. I assume, that we should unreserve only after we definitely
>> know that we are running with ACPI (i.e. after acpi_boot_table_init()
>> completes and acpi_disabled reflects the real state of things), right?
>>
>> 1. either call acpi_boot_table_init() before setup_mm() in Arm64's
>> start_xen().
> This cannot be done. acpi_boot_table_init() calls ACPI functions that make use
> of VMAP and alloc_boot_pages, so the boot allocator is expected to be populated
> at this point.
> 
>> 2. or go through reserved_mem->nr_banks and unreserve everything marked
>> with MEMBANK_STATIC_DOMAIN after acpi_boot_table_init() completes
> What if we split acpi_boot_table_init() into 2 parts, where first is used to
> determine the real "acpi_disabled" value, called before setup_mm and second used
> to parse the tables?

That would be fine with me in principle.

> There's one issue with this approach. Today, even after we
> evaluate that we should run with ACPI enabled [*], error in ACPI table parsing
> is ignored and ACPI is set to disabled. That's not really in the spirit of our
> current methodology, where we should panic if user requested something that does
> not work. Example: today, even after specifying "acpi=force", error in table
> parsing bails out to DT approach which is not what user wanted.

If you plan to send such patch, can you have a look at [1]? This was an 
attempt to panic if we can't enable ACPI and the user requested it.

[1] 
https://lore.kernel.org/all/1486149538-20432-6-git-send-email-julien.grall@arm.com/

> 
> ~Michal
> 

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 22:39:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 22:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928275.1331001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txZPN-000627-Ln; Wed, 26 Mar 2025 22:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928275.1331001; Wed, 26 Mar 2025 22:39: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 1txZPN-000620-HG; Wed, 26 Mar 2025 22:39:37 +0000
Received: by outflank-mailman (input) for mailman id 928275;
 Wed, 26 Mar 2025 22:39: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 1txZPM-00061u-3t
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 22:39: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 1txZPL-009zI3-2q;
 Wed, 26 Mar 2025 22:39:35 +0000
Received: from [2a02:8012:3a1:0:ede3:7fd5:aa96:e2db]
 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 1txZPL-000bb2-1X;
 Wed, 26 Mar 2025 22:39: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=GiHcjSwJhOtVDq0CbptCd7RnLfeSC1dtn2MNTZP5GeQ=; b=RxKKXbbru1EphRGNYtOhKFrMnM
	nIn1CmCVIR8b92qT860miJPj5wBfvoLxccek+BhzzNPjjZLPVuU0EUXygYS3VsmZ4e4ai0dgNMyjQ
	mwqvsX7G9mAvrw9JPHNDyUn4auH6I21faT9TSsOhZOVNBiR6frMZv5FbJs9trA/zhPoQ=;
Message-ID: <1f72a6e2-c573-43b1-b1e9-b7bf16e07bd2@xen.org>
Date: Wed, 26 Mar 2025 22:39:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Content-Language: en-GB
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "Orzel, Michal" <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
 <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
 <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
 <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
 <b3a91dc6-0133-4b9a-bc15-7f1e1272f940@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b3a91dc6-0133-4b9a-bc15-7f1e1272f940@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

On 26/03/2025 11:45, Oleksandr Tyshchenko wrote:
> Also it is not entirely clear what we should do with acpi_disabled=true
> during declaration (what current patch does), even if we decided to go
> with splitting should we retain that change?

It should not be necessary. But I will leave up to you whether you want 
to upstream this patch. Although, I will need a commit rewording.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 22:49:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 22:49:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928283.1331009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txZZ0-0000B1-FT; Wed, 26 Mar 2025 22:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928283.1331009; Wed, 26 Mar 2025 22: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 1txZZ0-0000Au-CJ; Wed, 26 Mar 2025 22:49:34 +0000
Received: by outflank-mailman (input) for mailman id 928283;
 Wed, 26 Mar 2025 22:49:33 +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 1txZYy-0000Ao-W6
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 22:49:33 +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 1txZYy-009zVZ-1k;
 Wed, 26 Mar 2025 22:49:32 +0000
Received: from [2a02:8012:3a1:0:ede3:7fd5:aa96:e2db]
 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 1txZYy-000cIK-0F;
 Wed, 26 Mar 2025 22:49: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Y3axjFbkFMBdP6EfUjj8ZqI+ZDQjV1q+N1BGZJOQvEQ=; b=ZSZou2FmWu4yASSlFpTroKRlVC
	j3B0Wmb8TAtYuraRaOUi7+5x4ToN1Ssw6GjNq22/hZzNVFDw8fYtYd9aytC02viJqDxhclW9lzYzW
	FqIb/T9yoAyrLEhnXnOmmT0L0s2OPJ3YFBydmmFn4kL+hd6skIEtb2XVjb8Ul+zprowY=;
Message-ID: <4dc98a8b-ea82-41a7-9a10-1184208884fc@xen.org>
Date: Wed, 26 Mar 2025 22:49:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/5] xen/arm: Create tee command line parameter
Content-Language: en-GB
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org, Andrew Cooper <andrew.cooper3@citrix.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>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <a22e5375df48d16cb4c0b3d80dde8593522b3ddd.1742824138.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a22e5375df48d16cb4c0b3d80dde8593522b3ddd.1742824138.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 24/03/2025 13:52, Bertrand Marquis wrote:
> Add a new command line parameter "tee=" to be used to explicitly select
> what tee mediator is to be used by Xen and fail if it does not exist
> or the probe function for it failed.
> 
> Without specifying which tee is to be used, Xen will use the first one
> for which the probe function succeeds which depends on the order of the
> mediator list which depends on the compiler.
> Using the command line argument, it is now possible to explicit request
> a specific TEE mediator and panic on boot if it is not available.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v4:
> - None
> Changes in v3:
> - Properly classify tee as arm specific (Jan)
> Changes in v2:
> - Patch introduced to add a command line selection of the TEE
> ---
>   docs/misc/xen-command-line.pandoc  | 14 ++++++++++++++
>   xen/arch/arm/include/asm/tee/tee.h |  4 ++++
>   xen/arch/arm/tee/tee.c             | 31 ++++++++++++++++++++++++++++++
>   3 files changed, 49 insertions(+)
> 
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 89db6e83be66..0c2ff542a138 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
>   
>   Flag to enable TSC deadline as the APIC timer mode.
>   
> +### tee (arm)
> +> `= <string>`
> +
> +Specify the TEE mediator to be probed and use.
> +
> +The default behaviour is to probe all supported TEEs supported by Xen and use


typo: I think there is one too many "supported". Maybe keep the one 
after TEEs?

> +the first one successfully probed. When this parameter is passed, Xen will
> +probe only the TEE mediator passed as argument and boot will fail if this
> +mediator is not properly probed or if the requested TEE is not supported by
> +Xen.
> +
> +This parameter can be set to `optee` of `ffa` if the corresponding mediators

typo: s/of/or/

> +are compiled in.
> +
>   ### tevt_mask
>   > `= <integer>`
>   
> diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/asm/tee/tee.h
> index 0169fd746bcd..15d664e28dce 100644
> --- a/xen/arch/arm/include/asm/tee/tee.h
> +++ b/xen/arch/arm/include/asm/tee/tee.h
> @@ -55,6 +55,9 @@ struct tee_mediator_desc {
>       /* Printable name of the TEE. */
>       const char *name;
>   
> +    /* Command line name of the TEE (to be used with tee= cmdline option) */
> +    const char *cmdline_name;
> +
>       /* Mediator callbacks as described above. */
>       const struct tee_mediator_ops *ops;
>   
> @@ -77,6 +80,7 @@ void tee_free_domain_ctx(struct domain *d);
>   static const struct tee_mediator_desc __tee_desc_##_name __used     \
>   __section(".teemediator.info") = {                                  \
>       .name = _namestr,                                               \
> +    .cmdline_name = #_name,                                         \
>       .ops = _ops,                                                    \
>       .tee_type = _type                                               \
>   }
> diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
> index 3f65e45a7892..066b5ba40f9d 100644
> --- a/xen/arch/arm/tee/tee.c
> +++ b/xen/arch/arm/tee/tee.c
> @@ -19,12 +19,17 @@
>   #include <xen/errno.h>
>   #include <xen/init.h>
>   #include <xen/types.h>
> +#include <xen/param.h>

Coding style: The includes are order. So this wants to be moved before 
xen/types.h

>   
>   #include <asm/tee/tee.h>
>   
>   extern const struct tee_mediator_desc _steemediator[], _eteemediator[];
>   static const struct tee_mediator_desc __read_mostly *cur_mediator;
>   
> +/* Select the TEE mediator using a name on command line. */
> +static char __initdata opt_mediator[16] = "";
> +string_param("tee", opt_mediator);
> +
>   /*
>    * TODO: Add function to alter Dom0 DTB, so we can properly describe
>    * present TEE.
> @@ -81,14 +86,40 @@ static int __init tee_init(void)
>   {
>       const struct tee_mediator_desc *desc;
>   
> +    if ( strcmp(opt_mediator, "") )

You are using 'strcmp(opt_mediator, "")' several time in the code. This 
should never changed, so can we introduce a boolean within the function 
to indicate whether opt_mediator is set?

> +        printk(XENLOG_INFO "TEE Mediator %s selected from command line\n",
> +               opt_mediator);
> +
> +    /*
> +     * When a specific TEE is selected using the 'tee=' command line
> +     * argument, we panic if the probe fails or if the requested TEE is not
> +     * supported.
> +     */
>       for ( desc = _steemediator; desc != _eteemediator; desc++ )
>       {
> +        if ( strcmp(opt_mediator, "") &&
> +             strncmp(opt_mediator, desc->cmdline_name, sizeof(opt_mediator)) )
 > +            continue;> +
>           if ( desc->ops->probe() )
>           {
>               printk(XENLOG_INFO "Using TEE mediator for %s\n", desc->name);
>               cur_mediator = desc;
>               return 0;
>           }
> +        else if ( strcmp(opt_mediator, "") )
> +        {
> +            panic("TEE mediator %s from command line probe failed\n",
> +                  opt_mediator);
> +            return -EFAULT;
> +        }
> +    }
> +
> +    if ( strcmp(opt_mediator, "") )
> +    {
> +        panic("TEE Mediator %s from command line not supported\n",
> +              opt_mediator);
> +        return -EINVAL;
>       }
>   
>       return 0;

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 23:15:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 23:15:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928292.1331020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txZxd-0006yI-AV; Wed, 26 Mar 2025 23:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928292.1331020; Wed, 26 Mar 2025 23:15: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 1txZxd-0006yB-6o; Wed, 26 Mar 2025 23:15:01 +0000
Received: by outflank-mailman (input) for mailman id 928292;
 Wed, 26 Mar 2025 23:15:00 +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 1txZxc-0006y5-31
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 23:15:00 +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 1txZxb-00A04m-2V;
 Wed, 26 Mar 2025 23:14:59 +0000
Received: from [2a02:8012:3a1:0:ede3:7fd5:aa96:e2db]
 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 1txZxb-000eJH-0q;
 Wed, 26 Mar 2025 23:14: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>
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=LiGqJlGieHJg/gacdXCf5mo8vhCD8X7u4HF+xe5ceYw=; b=v65o8qTA0O3h1Q8tEtecV+aCR5
	nXx9DhMgykEmLfj6xr3eSc74YRlochUoFeKRAOYSO+mc4cMntf2VbhW8RStr8oGfcV0B+c3vCH8tW
	vw5o87SMyrZanienHG+XjZiv1/XT376pWu353+fZQMKL80RzFTLGcTXjV+RCY8rnF/jw=;
Message-ID: <338d8982-0a2e-4a40-a9a2-bed8f50d81e1@xen.org>
Date: Wed, 26 Mar 2025 23:14:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
Content-Language: en-GB
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org, Volodymyr Babchuk
 <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

I didn't dig in the spec and neither some of the callers. So I will 
mainly focus on the implementation from Xen PoV.

On 24/03/2025 13:53, Bertrand Marquis wrote:
> Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
> between VMs.
> When activated list VMs in the system with FF-A support in part_info_get.
> 
> When VM to VM is activated, Xen will be tainted as Insecure and a
> message is displayed to the user during the boot as there is no
> filtering of VMs in FF-A so any VM can communicate or see any other VM
> in the system.
> 
> WARNING: There is no filtering for now and all VMs are listed !!
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v4:
> - properly handle SPMC version 1.0 header size case in partinfo_get
> - switch to local counting variables instead of *pointer += 1 form
> - coding style issue with missing spaces in if ()
> Changes in v3:
> - break partinfo_get in several sub functions to make the implementation
>    easier to understand and lock handling easier
> - rework implementation to check size along the way and prevent previous
>    implementation limits which had to check that the number of VMs or SPs
>    did not change
> - taint Xen as INSECURE when VM to VM is enabled
> Changes in v2:
> - Switch ifdef to IS_ENABLED
> - dom was not switched to d as requested by Jan because there is already
>    a variable d pointing to the current domain and it must not be
>    shadowed.
> ---
>   xen/arch/arm/tee/Kconfig        |  11 ++
>   xen/arch/arm/tee/ffa.c          |  12 ++
>   xen/arch/arm/tee/ffa_partinfo.c | 274 +++++++++++++++++++++-----------
>   xen/arch/arm/tee/ffa_private.h  |  12 ++
>   4 files changed, 218 insertions(+), 91 deletions(-)
> 
> diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
> index c5b0f88d7522..88a4c4c99154 100644
> --- a/xen/arch/arm/tee/Kconfig
> +++ b/xen/arch/arm/tee/Kconfig
> @@ -28,5 +28,16 @@ config FFA
>   
>   	  [1] https://developer.arm.com/documentation/den0077/latest
>   
> +config FFA_VM_TO_VM
> +    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
> +    default n
> +    depends on FFA
> +    help
> +      This option enables to use FF-A between VMs.
> +      This is experimental and there is no access control so any
> +      guest can communicate with any other guest.
> +
> +      If unsure, say N.
> +
>   endmenu
>   
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 3bbdd7168a6b..e41ab5f8ada6 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -464,6 +464,18 @@ static bool ffa_probe(void)
>       printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>              FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>   
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +    {
> +        /*
> +         * When FFA VM to VM is enabled, the current implementation does not
> +         * offer any way to limit which VM can communicate with which VM using
> +         * FF-A.
> +         * Signal this in the xen console and taint the system as insecure.
> +         * TODO: Introduce a solution to limit what a VM can do through FFA.
> +         */
> +        printk(XENLOG_ERR "ffa: VM to VM is enabled, system is insecure !!\n");
> +        add_taint(TAINT_MACHINE_INSECURE);
> +    }
>       /*
>        * psci_init_smccc() updates this value with what's reported by EL-3
>        * or secure world.
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
> index c0510ceb8338..406c57b95f77 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -63,9 +63,156 @@ static int32_t ffa_partition_info_get(uint32_t *uuid, uint32_t flags,
>       return ret;
>   }
>   
> -void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
> +static int32_t ffa_get_sp_count(uint32_t *uuid, uint32_t *sp_count)
> +{
> +    uint32_t src_size;
> +
> +    return ffa_partition_info_get(uuid, FFA_PARTITION_INFO_GET_COUNT_FLAG,
> +                                  sp_count, &src_size);
> +}
> +
> +static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
> +                                   void *dst_buf, void *end_buf,
> +                                   uint32_t dst_size)
>   {
>       int32_t ret;
> +    uint32_t src_size, real_sp_count;
> +    void *src_buf = ffa_rx;
> +    uint32_t count = 0;
> +
> +    /* Do we have a RX buffer with the SPMC */
> +    if ( !ffa_rx )
> +        return FFA_RET_DENIED;
> +
> +    /* We need to use the RX buffer to receive the list */
> +    spin_lock(&ffa_rx_buffer_lock);
> +
> +    ret = ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size);
> +    if ( ret )
> +        goto out;
> +
> +    /* We now own the RX buffer */
> +
> +    /* We only support a 1.1 firmware version */
> +    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
> +    {
> +        ret = FFA_RET_NOT_SUPPORTED;
> +        goto out_release;
> +    }
> +
> +    for ( uint32_t sp_num = 0; sp_num < real_sp_count; sp_num++ )

What's the upper limit of real_sp_count? Asking just in case we need to 
handle preemption.

> +    {
> +        struct ffa_partition_info_1_1 *fpi = src_buf;
> +
> +        /* filter out SP not following bit 15 convention if any */
> +        if ( FFA_ID_IS_SECURE(fpi->id) )
> +        {
> +            if ( dst_buf + dst_size > end_buf )

Can "dst_buf + dst_size" overflow?

Also, NIT: can you add parenthese to make clear about precedence?

> +            {
> +                ret = FFA_RET_NO_MEMORY;
> +                goto out_release;
> +            }
> +
> +            memcpy(dst_buf, src_buf, MIN(src_size, dst_size));

What's the maximum size of src_size and dst_size?

> +            if ( dst_size > src_size )
> +                memset(dst_buf + src_size, 0, dst_size - src_size);
> +
> +            dst_buf += dst_size;
> +            count++;
> +        }
> +
> +        src_buf += src_size;
> +    }
> +
> +    *sp_count = count;
> +
> +out_release:
> +    ffa_hyp_rx_release();
> +out:
> +    spin_unlock(&ffa_rx_buffer_lock);
> +    return ret;
> +}
> +
> +static uint32_t ffa_get_vm_count(void)

Is this meant to be called often? If so, can we instead have a counter 
that will be incremented when the vTEE is first initialized and then 
decremented when the VM is destroyed?

> +{
> +    struct domain *d = current->domain;
 > +    struct domain *dom;

NIT: "d" and "dom" are a bit too close. Could we rename "d" with "curr_d"?

> +    uint32_t vm_count = 0;
> +
> +    /* Count the number of VM with FF-A support */

This comment implies this is including the current VM. But ...

> +    rcu_read_lock(&domlist_read_lock);
> +    for_each_domain( dom )
> +    {
> +        struct ffa_ctx *vm = dom->arch.tee;
> +
> +        if ( dom != d && vm != NULL && vm->guest_vers != 0 )

... here you are excluding it. Also, it sounds like this is support by 
the OS rather than the VM itself. Is that correct?

 > +            vm_count++;> +    }
> +    rcu_read_unlock(&domlist_read_lock);
 > +> +    return vm_count;

OOI, I guess this value is just used as an hint? Asking because the 
number of domains can change at any point.

> +}
> +
> +static int32_t ffa_get_vm_partinfo(uint32_t *vm_count, void *dst_buf,
> +                                   void *end_buf, uint32_t dst_size)
> +{
> +    struct domain *d = current->domain;
> +    struct domain *dom;
> +    int32_t ret = FFA_RET_OK;
> +    uint32_t count = 0;
> +
> +    rcu_read_lock(&domlist_read_lock);
> +    for_each_domain( dom )

We can have quite a lot of domains in the system. So how can we ensure 
this is not hogging a pCPU?

I would be ok to delay the work, but we need a TODO so we remember to 
address it before this is security supported.

> +    {
> +        struct ffa_ctx *vm = dom->arch.tee;
> +
> +        /*
> +         * we do not add the VM calling to the list and only VMs with
> +         * FF-A support
> +         */
> +        if ( dom != d && vm != NULL && vm->guest_vers != 0 )
> +        {
> +            /*
> +             * We do not have UUID info for VMs so use
> +             * the 1.0 structure so that we set UUIDs to
> +             * zero using memset
> +             */
> +            struct ffa_partition_info_1_0 srcvm;
 > +> +            if  ( dst_buf + dst_size > end_buf )

Same question as the other similar check.

> +            {
> +                ret = FFA_RET_NO_MEMORY;
> +                goto out;
> +            }
> +
> +            srcvm.id = ffa_get_vm_id(dom);
> +            srcvm.execution_context = dom->max_vcpus;
> +            srcvm.partition_properties = FFA_PART_VM_PROP;
> +            if ( is_64bit_domain(dom) )
> +                srcvm.partition_properties |= FFA_PART_PROP_AARCH64_STATE;
> +
> +            memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size));
> +
> +            if ( dst_size > sizeof(srcvm) )
> +                memset(dst_buf + sizeof(srcvm), 0,
> +                       dst_size - sizeof(srcvm));
> +
> +            dst_buf += dst_size;
> +            count++;
> +        }
> +    }
> +    *vm_count = count;
> +
> +out:
> +    rcu_read_unlock(&domlist_read_lock);
> +
> +    return ret;
> +}
> +
> +
> +void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
> +{
> +    int32_t ret = FFA_RET_OK;
>       struct domain *d = current->domain;
>       struct ffa_ctx *ctx = d->arch.tee;
>       uint32_t flags = get_user_reg(regs, 5);
> @@ -75,9 +222,9 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
>           get_user_reg(regs, 3),
>           get_user_reg(regs, 4),
>       };
> -    uint32_t src_size, dst_size;
> -    void *dst_buf;
> -    uint32_t ffa_sp_count = 0;
> +    uint32_t dst_size = 0;
> +    void *dst_buf, *end_buf;
> +    uint32_t ffa_vm_count = 0, ffa_sp_count = 0;
>   
>       /*
>        * If the guest is v1.0, he does not get back the entry size so we must
> @@ -89,118 +236,63 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
>       else
>           dst_size = sizeof(struct ffa_partition_info_1_1);
>   
> -    /*
> -     * FF-A v1.0 has w5 MBZ while v1.1 allows
> -     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> -     *
> -     * FFA_PARTITION_INFO_GET_COUNT is only using registers and not the
> -     * rxtx buffer so do the partition_info_get directly.
> -     */
> -    if ( flags == FFA_PARTITION_INFO_GET_COUNT_FLAG &&
> -         ctx->guest_vers == FFA_VERSION_1_1 )
> +    /* Only count requested */
> +    if ( flags )
>       {
> -        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> -            ret = ffa_partition_info_get(uuid, flags, &ffa_sp_count,
> -                                        &src_size);
> -        else
> -            ret = FFA_RET_OK;
> +        /*
> +         * FF-A v1.0 has w5 MBZ while v1.1 allows
> +         * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> +         */
> +        if ( ctx->guest_vers == FFA_VERSION_1_0 ||
> +                flags != FFA_PARTITION_INFO_GET_COUNT_FLAG )
> +        {
> +            ret = FFA_RET_INVALID_PARAMETERS;
> +            goto out;
> +        }
>   
> -        goto out;
> -    }
> +        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> +        {
> +            ret = ffa_get_sp_count(uuid, &ffa_sp_count);
> +            if ( ret )
> +                goto out;
> +        }
>   
> -    if ( flags )
> -    {
> -        ret = FFA_RET_INVALID_PARAMETERS;
> -        goto out;
> -    }
> +        if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +            ffa_vm_count = ffa_get_vm_count();
>   
> -    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> -    {
> -        /* Just give an empty partition list to the caller */
> -        ret = FFA_RET_OK;
>           goto out;
>       }
>   
> +    /* Get the RX buffer to write the list of partitions */
>       ret = ffa_rx_acquire(d);
>       if ( ret != FFA_RET_OK )
>           goto out;
>   
>       dst_buf = ctx->rx;
> +    end_buf = ctx->rx + ctx->page_count * FFA_PAGE_SIZE;
>   
> -    if ( !ffa_rx )
> +    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>       {
> -        ret = FFA_RET_DENIED;
> -        goto out_rx_release;
> -    }
> -
> -    spin_lock(&ffa_rx_buffer_lock);
> -
> -    ret = ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
> -
> -    if ( ret )
> -        goto out_rx_hyp_unlock;
> +        ret = ffa_get_sp_partinfo(uuid, &ffa_sp_count, dst_buf, end_buf,
> +                                  dst_size);
>   
> -    /*
> -     * ffa_partition_info_get() succeeded so we now own the RX buffer we
> -     * share with the SPMC. We must give it back using ffa_hyp_rx_release()
> -     * once we've copied the content.
> -     */
> +        if ( ret )
> +            goto out_rx_release;
>   
> -    /* we cannot have a size smaller than 1.0 structure */
> -    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
> -    {
> -        ret = FFA_RET_NOT_SUPPORTED;
> -        goto out_rx_hyp_release;
> +        dst_buf += ffa_sp_count * dst_size;
>       }
>   
> -    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
> -    {
> -        ret = FFA_RET_NO_MEMORY;
> -        goto out_rx_hyp_release;
> -    }
> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
> +        ret = ffa_get_vm_partinfo(&ffa_vm_count, dst_buf, end_buf, dst_size);
>   
> -    if ( ffa_sp_count > 0 )
> -    {
> -        uint32_t n, n_limit = ffa_sp_count;
> -        void *src_buf = ffa_rx;
> -
> -        /* copy the secure partitions info */
> -        for ( n = 0; n < n_limit; n++ )
> -        {
> -            struct ffa_partition_info_1_1 *fpi = src_buf;
> -
> -            /* filter out SP not following bit 15 convention if any */
> -            if ( FFA_ID_IS_SECURE(fpi->id) )
> -            {
> -                memcpy(dst_buf, src_buf, dst_size);
> -                dst_buf += dst_size;
> -            }
> -            else
> -                ffa_sp_count--;
> -
> -            src_buf += src_size;
> -        }
> -    }
> -
> -out_rx_hyp_release:
> -    ffa_hyp_rx_release();
> -out_rx_hyp_unlock:
> -    spin_unlock(&ffa_rx_buffer_lock);
>   out_rx_release:
> -    /*
> -     * The calling VM RX buffer only contains data to be used by the VM if the
> -     * call was successful, in which case the VM has to release the buffer
> -     * once it has used the data.
> -     * If something went wrong during the call, we have to release the RX
> -     * buffer back to the SPMC as the VM will not do it.
> -     */
> -    if ( ret != FFA_RET_OK )
> +    if ( ret )
>           ffa_rx_release(d);
>   out:
>       if ( ret )
>           ffa_set_regs_error(regs, ret);
>       else
> -        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
> +        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_size);
>   }
>   
>   static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
> index c4cd65538908..bd6877d8c632 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -187,6 +187,18 @@
>    */
>   #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
>   
> +/*
> + * Partition properties we give for a normal world VM:
> + * - can send direct message but not receive them
> + * - can handle indirect messages
> + * - can receive notifications
> + * 32/64 bit flag is set depending on the VM
> + */
> +#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
> +                             FFA_PART_PROP_INDIRECT_MSGS | \
> +                             FFA_PART_PROP_RECV_NOTIF | \
> +                             FFA_PART_PROP_IS_PE_ID)
> +
>   /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
>   #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
>   #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 23:42:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 23:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928309.1331029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txaNc-0005Fg-DW; Wed, 26 Mar 2025 23:41:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928309.1331029; Wed, 26 Mar 2025 23:41: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 1txaNc-0005FZ-Am; Wed, 26 Mar 2025 23:41:52 +0000
Received: by outflank-mailman (input) for mailman id 928309;
 Wed, 26 Mar 2025 23:41:50 +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 1txaNa-0005FT-SW
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 23:41:50 +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 1txaNa-00A0dK-0w;
 Wed, 26 Mar 2025 23:41:50 +0000
Received: from [2a02:8012:3a1:0:ede3:7fd5:aa96:e2db]
 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 1txaNZ-000gN3-2f;
 Wed, 26 Mar 2025 23:41: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>
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=exC6y6z3n5IDU7786xQsAjpYm3hjuZ5S047t/wCthYI=; b=Hs7/PwWoAQ5dEdBzPN4QQV67mL
	kOM7tLTlh83FxoB9L2ah+HH6luxlJ28UeRaapmiI+pBlNCKsqpEfc/dz7NWmaRlPhlSSThD/issa6
	ETja0cBuOle6kXCVo825lAUokN/RcCdYf1pc2i1zAH5amXTLeG+i8N/4QsimzQqMFbTA=;
Message-ID: <6727ece4-d589-4ab4-9172-07dd6a7f2b44@xen.org>
Date: Wed, 26 Mar 2025 23:41:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 5/5] xen/arm: ffa: Enable VM to VM without firmware
Content-Language: en-GB
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org, Volodymyr Babchuk
 <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <0f5cf498c3c511ed192e8b7b7d0f4987e00e5c0d.1742824138.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0f5cf498c3c511ed192e8b7b7d0f4987e00e5c0d.1742824138.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 24/03/2025 13:53, Bertrand Marquis wrote:
> When VM to VM support is activated and there is no suitable FF-A support
> in the firmware, enable FF-A support for VMs to allow using it for VM to
> VM communications.

tee/ and the callbacks associated are meant to be used for mediatiors. 
My current interpretation ist this is only meant to interpose between a 
guest and physical resources. Here you are extending the meaning to 
"virtual TEE". I am sort of ok with that but ...

> If there is OP-TEE running in the secure world and using the non FF-A
> communication system, having CONFIG_FFA_VM_TO_VM could be non functional
> (if optee is probed first) or OP-TEE could be non functional (if FF-A is
> probed first) so it is not recommended to activate the configuration
> option for such systems.

... this part is concerning me. You should be able to build with 
CONFIG_FFA_VM_TO_VM and still boot when OP-TEE is present on the system. 
This is not too critical now as this is tech preview but this is 
definitely a blocker for making FFA supported. Can this be mentioned at 
the top of the ffa.c file (which already contains existing blocker)?

Also, given this would expose a fully virtual TEE, we should be able to 
have a system where you have some VMs talking FFA and some using the 
physical OPTEE (or another TEE). Whether we want to support it is a 
different question but this design would prevent it. Is this intended?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Mar 26 23:43:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Mar 2025 23:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928317.1331040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txaOp-0005kA-OK; Wed, 26 Mar 2025 23:43:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928317.1331040; Wed, 26 Mar 2025 23: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 1txaOp-0005k1-LA; Wed, 26 Mar 2025 23:43:07 +0000
Received: by outflank-mailman (input) for mailman id 928317;
 Wed, 26 Mar 2025 23:43:07 +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 1txaOp-0005jv-75
 for xen-devel@lists.xenproject.org; Wed, 26 Mar 2025 23:43:07 +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 1txaOp-00A0eu-07;
 Wed, 26 Mar 2025 23:43:06 +0000
Received: from [2a02:8012:3a1:0:ede3:7fd5:aa96:e2db]
 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 1txaOo-000geB-1o;
 Wed, 26 Mar 2025 23:43: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>
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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=HPdeLpqgKCXuZy7EeEEyVbSmUyi3urxDzlJXEFTHgvg=; b=bMGt2Mbwn38EYypdgsv5Gx6QEO
	AfWJGC48Pp7x7ArTEH0XwH6GEv9uD342UYdUoIaGU9JkCgS6Fpb6Lp2qGq3M71Y4F1vC8gqggJ8lh
	GLbzmZ/Pk9BzUW2gMeO0T2fs301ugVb12shA4Swm6m+bWAYBtlGv55J0WZd88l0uzPcU=;
Message-ID: <9da66919-db6f-48fe-b9ba-1c44bff43ea6@xen.org>
Date: Wed, 26 Mar 2025 23:43:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 5/5] xen/arm: ffa: Enable VM to VM without firmware
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: jens.wiklander@linaro.org, Volodymyr Babchuk
 <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <0f5cf498c3c511ed192e8b7b7d0f4987e00e5c0d.1742824138.git.bertrand.marquis@arm.com>
 <6727ece4-d589-4ab4-9172-07dd6a7f2b44@xen.org>
In-Reply-To: <6727ece4-d589-4ab4-9172-07dd6a7f2b44@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 26/03/2025 23:41, Julien Grall wrote:
> Hi Bertrand,
> 
> On 24/03/2025 13:53, Bertrand Marquis wrote:
>> When VM to VM support is activated and there is no suitable FF-A support
>> in the firmware, enable FF-A support for VMs to allow using it for VM to
>> VM communications.
> 
> tee/ and the callbacks associated are meant to be used for mediatiors. 
> My current interpretation ist this is only meant to interpose between a 
> guest and physical resources. Here you are extending the meaning to 
> "virtual TEE". I am sort of ok with that but ...
> 
>> If there is OP-TEE running in the secure world and using the non FF-A
>> communication system, having CONFIG_FFA_VM_TO_VM could be non functional
>> (if optee is probed first) or OP-TEE could be non functional (if FF-A is
>> probed first) so it is not recommended to activate the configuration
>> option for such systems.
> 
> ... this part is concerning me. You should be able to build with 
> CONFIG_FFA_VM_TO_VM and still boot when OP-TEE is present on the system. 
> This is not too critical now as this is tech preview but this is 
> definitely a blocker for making FFA supported. Can this be mentioned at 
> the top of the ffa.c file (which already contains existing blocker)?

Just to clarify, I meant without having the OP-TEE folks to force the 
TEE on the command line because this is a bit of a hack...

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 00:41:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 00:41:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928333.1331055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txbIz-0002JH-QR; Thu, 27 Mar 2025 00:41:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928333.1331055; Thu, 27 Mar 2025 00: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 1txbIz-0002Ih-LH; Thu, 27 Mar 2025 00:41:09 +0000
Received: by outflank-mailman (input) for mailman id 928333;
 Thu, 27 Mar 2025 00:41: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=QKAi=WO=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1txbIz-0002GY-2a
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 00:41:09 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c20bf79-0aa4-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 01:41:08 +0100 (CET)
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com (2603:10a6:10:516::14)
 by PAXPR03MB7698.eurprd03.prod.outlook.com (2603:10a6:102:204::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 00:40:53 +0000
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4]) by DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4%5]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 00:40: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: 2c20bf79-0aa4-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AKzzv1OeRjXHVIHaozXP04ACeXZ8+QE8RNOTn3UtpuOCcPmCtFfrgYWSOEDt9xXjXGOuus3zYBYMr2dbx9SWO/FvWLt3o8Gq/zTGlg1Iw2Ci9gkfEwzZ5IHe2y1a06eX4U7xclJjkXWLLKm0lOlyi4NU0hd/jNHJ1Xt0ys5wuJxABrwTmzrWwkHqMXLDv2OX1PeRMwqSs848LlDvXhc5myZnvi35HmJ1I9zrD3bC3GbsHChZy0Y0QAvbgAUasoru/9U7mKe30hISI/UWQ7quQMy0b2p7MToMsVefLiHl3n6fkgwq5A3oVDEdRE1j/N+0E4UmVEf7hBXVJ2KEwiG2AQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SEZnUOLnZm9F/fmyW7D8ug/laXFR6uaOFnmYo9TVn0E=;
 b=GYkVVRwjOs2OJ0Wgo+sKM9kOEXCRQEnXMVGFVWPwTqqwSc0B9BYnLJk5gVw+mNZ3IpgymerqtcKdwpc3gZ+V32H9SMK1vXhsdEzMqpvl8WL1Ls2aX7Vf9Xc9i34HjjdxAA/jHMmYrpI/rh+RIAkmUbb3bL/2RwKyKrhSvxFrCjpXa7/CQUV0fHauxDWYzPeMNVLhcPHloz5jIPQUMrzz7lR9OU8xvlX7V91xJmdeOmGOAe2yf5qnUqZzN+KvjJe3Bf5yKWXt/Sc9snYc+2lS41WUMK1wg3OGit2S1Bcn8bTglpdbHOlZ1fffO5JFS85khA9Lny4xXwNtFYBWX4bBjQ==
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=SEZnUOLnZm9F/fmyW7D8ug/laXFR6uaOFnmYo9TVn0E=;
 b=ITlLKW/CHDV10tOBzb3KEImNsz/PSXJz+6/R0BhbNWH9dHKnFS64/2n9mYcUl53p9bH0IHSMPqXC6iy5xsP9YRGecoo8hT4mc8gNqzoKDL8X6kbrRHrhLFMDk1ytgdFMdvqb79OlvilmQf9ajNA+EKIZt3b1SQoQZRV+pqiygZyyPDiLhGGCAdYWUWeBor08HQLj7hAL8mW2eiYOi7/FliSUt3AKipljZ1QS1ASRKEZ4Gkv6kBx+5z/qO+m+CHpoDThdNqK0VkIpGr+RjEfZte4Zem14rp/BKKCVbZ5UnlJNR4mPhZVXitIOW+J6nZMShyGePJpt3s8mDkPcIE7QQA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: [PATCH v1 2/3] xen: x86: irq: initialize irq desc in create_irq()
Thread-Topic: [PATCH v1 2/3] xen: x86: irq: initialize irq desc in
 create_irq()
Thread-Index: AQHbnrDjW+8Ym1NjVUmmlSXcOEREog==
Date: Thu, 27 Mar 2025 00:40:51 +0000
Message-ID: <20250327004044.2014048-3-volodymyr_babchuk@epam.com>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: DU5PR03MB10441:EE_|PAXPR03MB7698:EE_
x-ms-office365-filtering-correlation-id: de088462-be6e-47c3-2908-08dd6cc80782
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?WjdOOXVWWUlteWMweDJSQTZKQ1N1eDY5UHpVajNnRWRXZkN0SGRma0Q5UnhM?=
 =?utf-8?B?bG5FREFtSllVdHZqRzVxNmlvTnBmMUw5UUltSERMaGJrQWVJK3p6Q0wyNnBE?=
 =?utf-8?B?ZTZCZEVXRWkzMjBIQzVKd2Nxb241Y2lTdlVTMlpwbWg1UVd2V1EzSnM5MW9F?=
 =?utf-8?B?ZWtJZ1hDb201dWZENFFQTFFmV2ZIaTFiZVVKM05lRzZNWnZvZzVnbUNCQ0Z3?=
 =?utf-8?B?bWRWZlp6bHN6K3ZUL2p4aXJuaGQvS0QvcUVMaTBzLzl6Um9oRWpHYTkrY1dZ?=
 =?utf-8?B?MkRiNksxdDU3MUcyaEZSRllxa2ZML2NFRzJldFhZZ2RjUWNNcXhRZk9IOHp6?=
 =?utf-8?B?WmlvbWgwWU1FMmRGOWdzU2dEZTJKY05vVjdYalB1SFNLM1pFdXlCVmFZRWRO?=
 =?utf-8?B?T2tMTWtJWU5WZ1dkVzZReGZwdDVWODZBeXAvVm9OWHN2R2tVY2hsbFZOcFV6?=
 =?utf-8?B?WFQxMDFuUWQyQUJtNUI3MDJYQnV4VXV2cUFjVkZWYUNyeVdlaCtsRFRkK0Vp?=
 =?utf-8?B?Uk82MWZpTWJlckc3NEdrRzQrMFVncU1sWUtUOFdyYmU1L2F1bTVuaUs1bWV3?=
 =?utf-8?B?UVozS0t6aEY2dGkrMktJZXRpSzNmdUNhdTJ3eGtlN2VVTW5FUS94TFdXenkr?=
 =?utf-8?B?TW1LVUM1YjZNU2c2UlZVQVBCT2g5R1ErRHpScm10anNGaWoxSko0RnVjTTlp?=
 =?utf-8?B?N3JOZ3RKT3dSak1zOVZPNWNqNHlsVUJGS1hhRVU2UTFnbGhwNm93OEM4VGNz?=
 =?utf-8?B?NzlRTG8yNUVMaU41RVZQRm9KazNKRlY1TXFDNmVwQXRCSEw2bUxKUy9kVGd0?=
 =?utf-8?B?REx5cWpocW5aanFWS2pjcWlKWTQ2TWlpSkc3VTZJQ0loK0ViQVFpNkhWWkFV?=
 =?utf-8?B?Y1d2cGxEd01FRGlKR0haL0pGWGlMNUdUTDlFSXp6MzkxV1RYUGtaVGNQWXJP?=
 =?utf-8?B?V2ZkM0dsZnVTRFFyRG1yQXR4Zm5FN3owc1VKc3pUSzZSN21DZlVhaE9mQkpu?=
 =?utf-8?B?ajk2ZUNGQVFubEVHd3JXcCt2bGNoRS9mQ095VFBSTTVMNURSNEVucUUvWVBB?=
 =?utf-8?B?MTZzWGpGYTl1K2h4NjNBSWozdE9BU2hMZVYzYkI1enhTZTY3bFZWZ0d1QlVn?=
 =?utf-8?B?Q1ordzN2VW85S3hoREduS3BVdUE2Z2FadjVJU1BzWTB1STJmZkEzWTd1aTRt?=
 =?utf-8?B?WUFZUG43NlVyeW1Zb2xTd1dYT0VNRU42NHVwUEVaVHdoenNtVklPbWhTQnJ3?=
 =?utf-8?B?VERlbURIeWE2R2JnV2pxbkNWTGIza3V3VEJxVDBCQmRrTzJ5VkhjTEZETVY0?=
 =?utf-8?B?MXZkaE1vdVREeFR0UXdCbWt1WTE3bngwcFVuaC91T3A4SzRDRUIvZTJabFVY?=
 =?utf-8?B?T1hmRGlNK1pyRks4cTY1dzllci96RVQ2SEoyL094YWUzbkoyRG1YbGRHVU1t?=
 =?utf-8?B?blg1c3JkYzA3VGk3VjFQZURrVlFCRjc5enU3d3lvNVRmTnA1SW53anpFTTBr?=
 =?utf-8?B?amdRQXVpMHFkVTdSUm95N0ZjQnlXRVRZMm9DMndOSHBDbzRGRlBMME51WGtL?=
 =?utf-8?B?NlJWRGZlT0h3ckFtU3VRTGhZR1UvempHaW9sbnVtL0IvTHdadjl1RmQwRTZE?=
 =?utf-8?B?SlNIdHZtSk8yZGZVb2xSWGY2WUd5Y2RJMjB3UzRnaGJFK1JkSmwzMVJ2cEpT?=
 =?utf-8?B?TVMxNGVTdy9vVUtpQ2ZlcUhNOEcwYzkzeVYvajZac2MzYWY2OHhUdGhOWWwz?=
 =?utf-8?B?dGg0dWNrY1VxRVA1VDduU0hoMW0yK01WRnROcFZMa1FENWVwOXdjM1pUeVJB?=
 =?utf-8?B?VTdqb0ZxeFBOUWRobnQ0QVYvYWxjYnZKS1lSYk5ucGs1OUxIanNKWUdEUXh5?=
 =?utf-8?B?OG4zb1VlekZndTRucncvdk9laXVqemxrUE9zOVBDeHFwdVl1RmVIN2JEc0JH?=
 =?utf-8?Q?i9nyP811mM0FhOLLLxQGtEEVxRheRA5w?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU5PR03MB10441.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cDVTOVVMUGVrR1BHRWI0UE9MaU5RNnRtNFgvZ2hyMUoyVEhzbGtVY05yKzZM?=
 =?utf-8?B?d1c3QWhFZDI4T0dxd0gzZGVraVlYYmNwKzdRMUUxMDNuRXg3MTdoQVEwSklQ?=
 =?utf-8?B?T2lvOFVVbGx1dWxBUW9wR2pxWUovZFJ3RGIyTlg1SlNua2huVzNpU2dBZzBx?=
 =?utf-8?B?Sk85SnJvRXdsWmRvSTM1WU9Gb2p5Ynkzdmh1d0lybnBZMGg4SXdYeTdvdHF1?=
 =?utf-8?B?eXdWN1VpWU94eEdzTE0wUndQUUxjNVpJZ2laQUZBUk5kTDJvWjRka1hTOXdq?=
 =?utf-8?B?Z2JoTjNvZ2x4blhaVEp1M3plVVhZRFkvSUJqdHZFTlZ6VWZXNlFBLzFCL3FG?=
 =?utf-8?B?NXcvUHNXR1EwUG1vaU5DV2JIZVN6cENyWVYvS2FHRlpKdko0RkdwMFhYOGJC?=
 =?utf-8?B?Wno3VnpjZkJEWXgzdGFhU0szeVFrRFVYR0M2Tms2U1hvZmhNZTR4Zm9CNjBz?=
 =?utf-8?B?WHkxd09nWnJvdjlCVHNZR2FPTy9ITndwNkVhYXBtdjRkem5uMUQ0NGZjVlVk?=
 =?utf-8?B?WnJoQ1VKYTdldG02b0dERkE3dExrUFlkblQxYnB2aHFzRGhhWVNTVW9DbkJB?=
 =?utf-8?B?VWNqYms0T0VYbzVMeHNqU0QwWVBUSE41ZU5wVjlkbHg5eXpSSmdUYjRQVGsx?=
 =?utf-8?B?ZkYwaHZOdXNzMUFzbFdTY2RwdXBsSWVob3J5VmUxVkdtWENYdVNucUxNMUNF?=
 =?utf-8?B?WkYvNzh3Nyt4YUx6d2IySGpLYW9YbWNtdXVnUlRxWWVaa2czZEFjMW5ISHcv?=
 =?utf-8?B?eHBzVHJxQWdvTzNFaUlyb1lLTmtDQUhWVm5YL0ttWlpFTTJ2T3IrUlBLeWNt?=
 =?utf-8?B?eGxkakVmL2ticXdEL1lzNS9OT3dwWlRSWDBJaCtxOVN3NVdSOVdYdW80djky?=
 =?utf-8?B?MXBLaTBMUG8wTGNEMmZ4eG13QnZlWFhLMjB2S1pndHdTYm5vTCtWN1hNWHdW?=
 =?utf-8?B?VU9RL1ZPMHJJeEl3bU93YUg4M0l0ODZlTVg4T3UyMVUwSk55VlBBNWpTK0ZT?=
 =?utf-8?B?ZzNIK0ltQ1NlWVEwRERIeHdlZVdGN1h4STFkdCtBRXNZZG5KVXNlSW9ZZkpk?=
 =?utf-8?B?bnRKZDZlaHhkd0dueWtmNDJJZFloZENaSEZtbEthRHBZMllGWENzN0gwZEpR?=
 =?utf-8?B?aDlobTJabjRoK3VNc3BGSldpUXNIbitvbnFoUG95a3pWaXRXcitBZTFPMDdG?=
 =?utf-8?B?WHZZclJiUU5rclVxeGFpOVVYTUVJZFM1a1pKdDd6YU5oRWV5cUNBRGRFVEhz?=
 =?utf-8?B?dXl6RGZQb2doc2lBUGhNL2JFTTJHWmVYS1VrbjhERkRDTUhjZlVQUUJaRU5u?=
 =?utf-8?B?NzVOZFRLWkFoZzdzdytXNWtKMjBHN1ZBenkxcE1JcmFWVU9OZCt0bDNWUk1C?=
 =?utf-8?B?cldEUEFFNzdQak5xU1RqcXluQWhGdkNIVmV5YjlWTzNLMldobThqVGRYejlp?=
 =?utf-8?B?cDVrZWhmYkVkNllvQkNPY1YzbVE0cEdMV05keDA3S2dqTjE3aDhtVWhvNDNR?=
 =?utf-8?B?a0EvMWJHbjVHeEp1OGJ5SFBJd2NMQVM0ejhHWnltN2IveHErd3RtaHBrNTA3?=
 =?utf-8?B?L0pHaVQ0bE5tUDcvaXAxN0VuMzduNnRva241ZWFvRjhHWGVIYUsrUEJGdWht?=
 =?utf-8?B?QmxsTGtLMjJOdHpQUXRIZ2xUN2dDSnhKa3kxTFBUQzE2Z0V0bE0rbU9lb1Ar?=
 =?utf-8?B?QnFqb3F2WmpZVzJnYVhzWmIwYmpLSEhJazdtT3psYTVSUnZEU2J4WU1KdDJ3?=
 =?utf-8?B?Vjg4cktkc1h1NEhYU2xDRCtpTU44UTRrN3dCVWtLU2NhUklJMDNyN1FTelBj?=
 =?utf-8?B?V3BodkFET2RyaElXN2lmOHBWRVB5SlhPODVYdVpFK1RDNnpFQVBBM3FnTGlp?=
 =?utf-8?B?eXlGQkRQc0xUa2xzQi9INGVXUldsY1NYVFlBOVVwalNYbnFFblMwbWZieVda?=
 =?utf-8?B?ZHQ0OTJKeTIzYzBpVTdtV01UUmxWRlIrckhxYUVhanZhcCs5OFBKanlsQ1pK?=
 =?utf-8?B?cXNaUmdsa1Bxb1MyVzdvRjJuVVkyNWp0Sml4OU5rdE1rWklxZzVKQVJjMlk3?=
 =?utf-8?B?S0x3VnRtRnZ2ek56ZXJYRUxyQjZjY2FXU3VEQ3R3dGs5UTJCWElKVHRuVnly?=
 =?utf-8?B?NTBSNWQ2WDZpTzhIVENMRW42SXdnYk9OT1NnQnNoNE11aXFSZ2tIQm05K3Ay?=
 =?utf-8?B?NVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <53E02801B0E44A45951B7441C16259EA@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: DU5PR03MB10441.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: de088462-be6e-47c3-2908-08dd6cc80782
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 00:40:51.0820
 (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: B2VxKxvEpq+7TuXqrw4S+wW1jVH5hZWxCHoTJNcLtP4pUI+zaaCOBVMkFb30/rwRmvx/Gx6+s6jRIjM7Z5TcxJub71JC9wjyqJA9KREqE64=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7698

V2hpbGUgYnVpbGRpbmcgeGVuIHdpdGggR0NDIDE0LjIuMSB3aXRoICItZmNvbmRpdGlvbi1jb3Zl
cmFnZSIgb3B0aW9uLA0KdGhlIGNvbXBpbGVyIHByb2R1Y2VzIGEgZmFsc2UgcG9zaXRpdmUgd2Fy
bmluZzoNCg0KICBhcmNoL3g4Ni9pcnEuYzogSW4gZnVuY3Rpb24g4oCYY3JlYXRlX2lyceKAmToN
CiAgYXJjaC94ODYvaXJxLmM6MjgxOjExOiBlcnJvcjog4oCYZGVzY+KAmSBtYXkgYmUgdXNlZCB1
bmluaXRpYWxpemVkIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdDQogICAgMjgxIHwgICAg
IHJldCA9IGluaXRfb25lX2lycV9kZXNjKGRlc2MpOw0KICAgICAgICB8ICAgICAgICAgICBefn5+
fn5+fn5+fn5+fn5+fn5+fn5+fg0KICBhcmNoL3g4Ni9pcnEuYzoyNjk6MjI6IG5vdGU6IOKAmGRl
c2PigJkgd2FzIGRlY2xhcmVkIGhlcmUNCiAgICAyNjkgfCAgICAgc3RydWN0IGlycV9kZXNjICpk
ZXNjOw0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn4NCiAgY2MxOiBhbGwgd2Fy
bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMNCiAgbWFrZVsyXTogKioqIFtSdWxlcy5tazoy
NTI6IGFyY2gveDg2L2lycS5vXSBFcnJvciAxDQoNCldoaWxlIHdlIGhhdmUgc2lnbmVkL3Vuc2ln
bmVkIGNvbXBhcmlzb24gYm90aCBpbiAiZm9yIiBsb29wIGFuZCBpbg0KImlmIiBzdGF0ZW1lbnQs
IHRoaXMgc3RpbGwgY2FuJ3QgbGVhZCB0byB1c2Ugb2YgdW5pbml0aWFsaXplZCAiZGVzYyIsDQph
cyBlaXRoZXIgbG9vcCB3aWxsIGJlIGV4ZWN1dGVkIGF0IGxlYXN0IG9uY2UsIG9yIHRoZSBmdW5j
dGlvbiB3aWxsDQpyZXR1cm4gZWFybHkuIFNvIHRoaXMgaXMgYSBjbGVhcmx5IGZhbHNlIHBvc2l0
aXZlIHdhcm5pbmcuIEFueXdheXMsDQppbml0aWFsaXplICJkZXNjIiB3aXRoIE5VTEwgdG8gbWFr
ZSBHQ0MgaGFwcHkuDQoNClNpZ25lZC1vZmYtYnk6IFZvbG9keW15ciBCYWJjaHVrIDx2b2xvZHlt
eXJfYmFiY2h1a0BlcGFtLmNvbT4NCi0tLQ0KDQpBdHRlbXB0IHRvIGRlY2xhcmUgImlycSIgYXMg
InVuc2lnbmVkIGludCIgZGlkbid0IGNoYW5nZWQgYW55dGhpbmcsIHNvDQpsb29rcyBsaWtlIGNv
bXBpbGVyIGluZmVycyB1bml0aWFsaXplZCB2aWEgc29tZSBvdGhlciByZWFzb25pbmcuLi4gQW5k
DQppdCBpcyBpbnRlcmVzdGluZyB0aGF0IHRoaXMgaXNzdWUgY2FuIGJlIG9ic2VydmVkIG9ubHkg
d2l0aCBNQy9EQyBlbmFibGVkLg0KDQotLS0NCiB4ZW4vYXJjaC94ODYvaXJxLmMgfCAyICstDQog
MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQoNCmRpZmYgLS1n
aXQgYS94ZW4vYXJjaC94ODYvaXJxLmMgYi94ZW4vYXJjaC94ODYvaXJxLmMNCmluZGV4IGRkOGQ5
MjFmMTguLmFlNzIyNGExNDUgMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC94ODYvaXJxLmMNCisrKyBi
L3hlbi9hcmNoL3g4Ni9pcnEuYw0KQEAgLTI2NSw3ICsyNjUsNyBAQCB2b2lkIF9faW5pdCBjbGVh
cl9pcnFfdmVjdG9yKGludCBpcnEpDQogaW50IGNyZWF0ZV9pcnEobm9kZWlkX3Qgbm9kZSwgYm9v
bCBncmFudF9hY2Nlc3MpDQogew0KICAgICBpbnQgaXJxLCByZXQ7DQotICAgIHN0cnVjdCBpcnFf
ZGVzYyAqZGVzYzsNCisgICAgc3RydWN0IGlycV9kZXNjICpkZXNjID0gTlVMTDsNCiANCiAgICAg
Zm9yIChpcnEgPSBucl9pcnFzX2dzaTsgaXJxIDwgbnJfaXJxczsgaXJxKyspDQogICAgIHsNCi0t
IA0KMi40OC4xDQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 00:41:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 00:41:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928335.1331079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txbJ2-0002xJ-Bm; Thu, 27 Mar 2025 00:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928335.1331079; Thu, 27 Mar 2025 00:41: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 1txbJ2-0002x5-8Z; Thu, 27 Mar 2025 00:41:12 +0000
Received: by outflank-mailman (input) for mailman id 928335;
 Thu, 27 Mar 2025 00:41: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=QKAi=WO=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1txbJ1-0002GY-2z
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 00:41:11 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ca53e0b-0aa4-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 01:41:08 +0100 (CET)
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com (2603:10a6:10:516::14)
 by PAXPR03MB7698.eurprd03.prod.outlook.com (2603:10a6:102:204::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 00:40:53 +0000
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4]) by DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4%5]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 00:40: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: 2ca53e0b-0aa4-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P0eKmNW5+C4LCYhzi72QR6kHQ8mS6yP+quXeRTBxQuyWgxm85gA7xozF9y9cWJboSgChIwi0ag/sr+Oi7E25ZT+dOB/4n4U640EoWUowd86wIEluAx94DeRVfgaE30+2iev0bL6yGFbTFHdzDXE9EEVf61r4OTWXsEkzrOsgllTuyL2g0k43U26bTRfUW0ENvJLeso9M5HfVjX3Tsa63IUHF+1yRcY2ReYsIvGtnxWhw9ySGGxdNi4fMQeToim1fCceE37Zf4I2+2PqkMTZj5vBa82EOtPkws5MEkFo+yYjSWSHaqI565ZdJ7B8R0G6W/UwZqRck6/xHogENpTsVDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1K3MmhtzYn9ZPBR2hv+3NHFuXqvZWBepKWcFj7+iASY=;
 b=E4irhX1N3iYRgA4aq7SygNw5egIiiGo8lK9gwzGsERBxZL4mu9V6FlAFxR3dXmWim/xfwCT5I1A3phviho0nZXQ3jwuBDWRHRhlmTBvvSsDLD5h0vyZVm9YSZmN4leTe7M0Zgw680/DbEIMW5+rQUZAnUrOHYJJU/vPrIZt59v37sgiZFzqnryGi50jiq4bv4ujgFlJqeibwbifGllo0SO88GSOU4aBEXVrZ6udvdNc5KVQ6HV58Dyh2d5+CY/7XZkckdkpjbZBHQPVOqOPq2SXZdbSyf4RSLgTss291yBaFtT6VRTGEMHyb7K1HZX6ZRa7IFVHzjpwYXcaBdvTo3A==
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=1K3MmhtzYn9ZPBR2hv+3NHFuXqvZWBepKWcFj7+iASY=;
 b=CwHr016ns5O9HMiQkVqIGKurQc6UPLyReLY7Ylss2+NyKfkCkm1O8dwG7SW96nrj7Cwx0f4MZC1/dPWgwC2Pueq7X9ijuyxBYwJADj5wSXkXqZDq4tcZ1SOMdU/H7lCtnwzAZV5D0ZijUfFI1S48ahxii8k2SMj1/Jv8ynmak1pbkvWmdCIHXWMIbffcwUxKpcGTogOJFJcVK2uJeoEr8iAxcjnAXbqKAUO6AOhMm4HdfkYIqNicqTqanonmjPdHDz+FNK+guSY+pLpIRXSMv1aRo2/vZ7MfzZ/BmAbGmgtQB8OHr55fYx8epkIkZpx9+dS+UrT1IT4m/R2aCMl4XA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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 v1 3/3] xen: debug: gcov: add condition coverage support
Thread-Topic: [PATCH v1 3/3] xen: debug: gcov: add condition coverage support
Thread-Index: AQHbnrDjCZFHUEqigkeOtdvfE9127A==
Date: Thu, 27 Mar 2025 00:40:51 +0000
Message-ID: <20250327004044.2014048-4-volodymyr_babchuk@epam.com>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: DU5PR03MB10441:EE_|PAXPR03MB7698:EE_
x-ms-office365-filtering-correlation-id: e981628e-2b7d-4a61-1853-08dd6cc807ae
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?XqcutFNOr8lCnB9q3OF0kBXg1SBCaEqgjInoEn+GEAMqk1RJtfMId6RpdR?=
 =?iso-8859-1?Q?MhRUHbDjKxXHLUt7WKvjVk0CYweRTEHmVuGPnIaTbFyRmE2aEqPAbb9U9l?=
 =?iso-8859-1?Q?v7Fu3cY3j8ojbEQJaN0g4Xr0r5agKZue+ntzPs6/anU0Nx5aylIXP/nGdJ?=
 =?iso-8859-1?Q?FqSG7xnxhsl7HHJnJzY7gOlV33kjIenix0oi7o6+1myuwv/6fEfjEx4xwL?=
 =?iso-8859-1?Q?y+3sAAw3VB3RqXH6Wj8s2warTCLHYfAQunQptEJzfb2V6fwaGyMKeQMTDT?=
 =?iso-8859-1?Q?wY/h9ha0KA9jr9yp/l/iLSzZdOuVyWZ5rXcnyIJfQL5EtBA2PfSBSvXNvg?=
 =?iso-8859-1?Q?Zh9PfiuQiNDGC5/jvJ1S4IqO10LxwCYRoU9eVprNcBvxY5DCCnYtwotYxX?=
 =?iso-8859-1?Q?QnY1OygbYH56rb/vxOkxgd46OF0UpCNbLNCA02Y1eNpy9Yc4mCKymANZxm?=
 =?iso-8859-1?Q?lH5TDOu06XBKOfv9yaTmpeG+YHn+ICIWeqhdXNtq+g67LudpecJ0PN6IN0?=
 =?iso-8859-1?Q?Lv+lhoCXcU7QPtaozuDYLYSDJLvN8HcSw1AYO6Ydo0cvg27rbGYQueg0QH?=
 =?iso-8859-1?Q?0kGO7l5klcnEGG0n25tlNaK3WHxE3uEGdUukNSFp4iYp9CQPC+L0Xy7v5o?=
 =?iso-8859-1?Q?an5Ku/f4KUw8Gw8ASc9jG0M6ivCxdj3aQvnONqDLkCUcNiF1qaGD5ATPvj?=
 =?iso-8859-1?Q?YazKD3XB3N0VENwZpu7Fiz4WIcUgDh3OaaLta8GIYtU5M5nncgNaDJsIIv?=
 =?iso-8859-1?Q?BRLXT5vNf/POj83UV4cxdEtjCDWQmh1eCKRGyxsmXG/uhkAB4+JUNQQsAv?=
 =?iso-8859-1?Q?Cx6WXuQ4SrKqRUlVCPKqeLixTtClpJubN3lfeIfYbpkbzYvciBbBHujC2X?=
 =?iso-8859-1?Q?y60PwwGpNXU//0nWOUuxZ+FU3R1T9VFd1tqBs7hGLjVvgn6CJw+s9vg1o1?=
 =?iso-8859-1?Q?hRVAcb4DSIluWbACUeuiW6HnF7Kr0kykBLT38NVwmDwHdaQLEqR5hqUBi0?=
 =?iso-8859-1?Q?drl39hoxS6nXwrOwcgwIiSZG0e+5fIW1SgXILbqtI47hjjTsdoE9rbcmst?=
 =?iso-8859-1?Q?BlX2kquRw54g4oLXkTLEgDtv5fwyjXLuyFgz2tFZ4L03ZK0iaghxFMg0rr?=
 =?iso-8859-1?Q?HNf1eOHbua08NCbhIb0qEBz5OnmorClibA1ts9qBnFB21v6m3AyWGf5VTD?=
 =?iso-8859-1?Q?ZsUTzqILF8s3A9x2eriZdyDeu4X4htB/QlaCQaW6fPXdZSI/zvTUiyEhg6?=
 =?iso-8859-1?Q?dytyyICBuUU6HAma42cSyO0IE/l2Ay0+aN9xsYhP5Qa130ZPdK7cP0N0zw?=
 =?iso-8859-1?Q?jKFAXPGFVBACEQ3a1ourbTOfdL0Zqh6L+tt+sTwsrtEvDUdgBO9w+uBgNV?=
 =?iso-8859-1?Q?lBSKC7VvYRQWCctmWiVKOQVb5ZdDMAk/8ANua1rHpo1mBUh6xizOBoNwP7?=
 =?iso-8859-1?Q?HrTRMbNfanOvMfjgxNQq82oZAtdJc2qsJhEmFAJVNJL5sMA02ryjlpgfkj?=
 =?iso-8859-1?Q?ZUHKs2BxgllNCsMWh1tK/2?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU5PR03MB10441.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?3HD0dS3IcOHR3wGnRHVbkCylCnAI40CEpAw+M8rFfYaViWC7lBlqWE9kGb?=
 =?iso-8859-1?Q?DxOnY2BI12IuXUUUGlYUyhVPZEjpw8gLNNGmG9kYP0vv8hsI9e3+GCatZ6?=
 =?iso-8859-1?Q?+Sg0LIhejHBdZqyPNxoyMFjEJL8HRO34igEdk6AWnkKKO0hcVR0b15uCmb?=
 =?iso-8859-1?Q?kYdSlF0x0T8/5u4qgpbjlqvD+P6yUG3fWXPRAUpntE8dXm7VaVNjzXVkjC?=
 =?iso-8859-1?Q?krshUEW+8jllt6oA7C36NUt8ghFhLgW99D6Pw4XMUl0ohc8fuNgmMb7mVL?=
 =?iso-8859-1?Q?UW3sJOCmEyaMpiF5bkfZ0QaAM7Y/SZ0dbTwKBHJZH+jAag7LOME7qhl1GQ?=
 =?iso-8859-1?Q?kM7VbpwF+QRzIxETIUmqo1vOT7R9hB/A41sv5z9Vvw5hAEGflV+FKw03Kz?=
 =?iso-8859-1?Q?W3GMRCjTo/UsPhgLjtlu3IbGDoaEhHpfP3ZSkEdZgESeLixHA69g01YHWK?=
 =?iso-8859-1?Q?gmsu45Z+4oarU+G9mMaHT+g4hmMTZ5U70jrfhDqdkSYfhCNAk8AcofvWc0?=
 =?iso-8859-1?Q?pqD3HMEcWJNacLWmWUHsnDN0K6+JgeRxvxeSa1QMe713m9L17U0Mao/djL?=
 =?iso-8859-1?Q?IauAzOBhQ5AJ5EUD3VP8Sd7KjRXes47g142w3FSmr+FrZQuQ1IIL755k9a?=
 =?iso-8859-1?Q?OqHkeX1SjgD+JtIcx68V9c7F+RJH7Ny8Q+3I1iBB9gt4scTDtSk1nT8gy4?=
 =?iso-8859-1?Q?G9e0AIU20LG9t3P/Nc1j2b+A2YDTm9NVLmSWWDw051JfLaix1786WQplPI?=
 =?iso-8859-1?Q?nwbtcaF6owq2REKLsMfbHKwWM4MnaWigg8bE1BR5w0MJOgVpNoi3pZ31yZ?=
 =?iso-8859-1?Q?rM9/jIOLGv2MCvfRU7uM3q/pJ2d4Vt5E6plwCBLEOjYCiqBfQOWJPZR6b1?=
 =?iso-8859-1?Q?QFTiHyoS25hTr574mBoIsVupjFuVuEI4NEtDgv/NX/bdOt/cQnVu2I62hU?=
 =?iso-8859-1?Q?PKvrMyb1pVcWCDPfeysSYXOtQhz2R5wlQULFU5EZ3XijCOkvgTKD8jNywt?=
 =?iso-8859-1?Q?ut7KUry34lz8LmCWMBv5jTShgtdwT6fGnT22jXr+2nx9KGGkMRxPs6kLG8?=
 =?iso-8859-1?Q?qBfR//Jf2D9tbc1H260SEBnVE31utpydlWtSTGHK62Ee5waFDfhYr0VtY4?=
 =?iso-8859-1?Q?11/8O9uUyBfhBb/Vv9kKIjcepVAr6g1/7daAfE8aSVIqLV3p3aCzwYCGO2?=
 =?iso-8859-1?Q?wwnA9Fg26Rt0sSU60fzgLsSA77XHQXCnfaej5rNI6XIPpAWmUNIX0BrmYD?=
 =?iso-8859-1?Q?bcpfr4WWFf0txIEVfnzqVXJtx+fbq3kxy5D9I2NBezjDVoND3PM2BgWo4L?=
 =?iso-8859-1?Q?17e9+T0N3SY+LufFks/2FYQd/V8ae3jYlRmzQTw5uGIIMnbeKH6UsBT7dD?=
 =?iso-8859-1?Q?M574ZBoiYOiotAT+/3FpTOzN2yxWkkXIvB7FqLXg847kgZssH+vEGEmc/+?=
 =?iso-8859-1?Q?yRqbWyBCMDTx6/JbaObBvT7y0dMQJKbTY+r0uJfhdpxyBrV/ZiwhFnGcbZ?=
 =?iso-8859-1?Q?9/M7Z1uARrGfTDDR2MXC6mAlNdt1F/a0c32b51+X+xf13ySw82ojmwawGW?=
 =?iso-8859-1?Q?mDTSxC/yFDyw6+/2kSk7DZXZ/35S7dkdiqDkuBQwgVn/m08armkyzvEdhD?=
 =?iso-8859-1?Q?qNfEmlX4VrT/PtDfFNm/M5uKUW2jNxkRdepCvg6Dx6fRRS6Jto34Byqg?=
 =?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: DU5PR03MB10441.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e981628e-2b7d-4a61-1853-08dd6cc807ae
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 00:40:51.3936
 (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: KbEtfYveFGKTRPZWx907UQNvClYJ8zTk5ijuklFQmHhlHjifHqbQgCK1m2mnlfaxUjN0p9Vl7NaS95XP4D8u3t6obT77EKoRIu2KB3bmWug=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7698

Condition coverage, also known as MC/DC (modified condition/decision
coverage) is a coverage metric that tracks separate outcomes in
boolean expressions.

This patch adds CONFIG_CONDITION_COVERAGE option to enable MC/DC for
GCC. Clang is not supported right now.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/Kconfig.debug             | 9 +++++++++
 xen/Rules.mk                  | 3 +++
 xen/common/coverage/gcc_4_7.c | 4 ++++
 3 files changed, 16 insertions(+)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index f7cc5ffaab..7f758d221b 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -44,6 +44,15 @@ config COVERAGE
=20
 	  If unsure, say N here.
=20
+config CONDITION_COVERAGE
+	bool "Condition coverage support"
+	depends on COVERAGE && !CC_IS_CLANG
+	help
+	  Enable condition coverage support. Used for collecting MC/DC
+	  (Modified Condition/Decision Coverage) metrics.
+
+	  If unsure, say N here.
+
 config DEBUG_LOCK_PROFILE
 	bool "Lock Profiling"
 	select DEBUG_LOCKS
diff --git a/xen/Rules.mk b/xen/Rules.mk
index d759cccee3..0a2933cffa 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -138,6 +138,9 @@ ifeq ($(CONFIG_CC_IS_CLANG),y)
     COV_FLAGS :=3D -fprofile-instr-generate -fcoverage-mapping
 else
     COV_FLAGS :=3D -fprofile-arcs -ftest-coverage
+ifeq ($(CONFIG_CONDITION_COVERAGE),y)
+    COV_FLAGS +=3D -fcondition-coverage
+endif
 endif
=20
 # Reset COV_FLAGS in cases where an objects has another one as prerequisit=
e
diff --git a/xen/common/coverage/gcc_4_7.c b/xen/common/coverage/gcc_4_7.c
index e3ce69dc2e..d10a16c9a8 100644
--- a/xen/common/coverage/gcc_4_7.c
+++ b/xen/common/coverage/gcc_4_7.c
@@ -43,6 +43,10 @@
 #define GCOV_UNIT_SIZE 4
 #endif
=20
+#if defined(CONFIG_CONDITION_COVERAGE) && (GCC_VERSION < 140100)
+#error "GCC 14.1 or never is required to generate conditional coverage dat=
a"
+#endif
+
 static struct gcov_info *gcov_info_head;
=20
 /**
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 00:41:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 00:41:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928332.1331050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txbIz-0002Gq-Ht; Thu, 27 Mar 2025 00:41:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928332.1331050; Thu, 27 Mar 2025 00: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 1txbIz-0002Gj-Eh; Thu, 27 Mar 2025 00:41:09 +0000
Received: by outflank-mailman (input) for mailman id 928332;
 Thu, 27 Mar 2025 00:41: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=QKAi=WO=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1txbIy-0002GY-Pt
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 00:41:08 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 246860e6-0aa4-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 01:40:55 +0100 (CET)
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com (2603:10a6:10:516::14)
 by PAXPR03MB7698.eurprd03.prod.outlook.com (2603:10a6:102:204::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 00:40:52 +0000
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4]) by DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4%5]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 00:40: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: 246860e6-0aa4-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sfk02un9q02B/0bumb1FtN8NhEaRvwUbfW5xeYZkif62bPg7NRJEYRbVncc5RK4dz+S4IZVEE47dloblcnwvnUei8abGD52jRtDe5xn6kjb/v+OcGlmJ2OjJPlkUIsX1YBMW3ohLSOP5rQfR3SblBQU3AqmTNA35EGqkB/5aXuXEbht+Uy1tii06F9J//vTdi3gucnEDOoh8mpe9Cwm6RKtPA6YQmM1qC324yWDZJwiIoMwywYbcO+/nZaXPivNdWuyaYc4BVdmVSK2aQi+GtpZQY499PtW/i3ucurrGirpbTmfpxUQtqnlKMcANcN7dkz9OyK3xUuy09qUWjCm6GA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WgZ4V7ISrw3XQT0QFrJB9/7oXTXJD1n7cCtmvAUHZFA=;
 b=Te1t/vFqL04muuuh3qEQ1hue+n3WDeun5vUlG4AGu0givAww+SJsQHjgpF0qtionKiADqUhLLLSuMMqQB2b+pSxXyVj3koGiD56z1iFkFgRzhKDEQ/DjsB5vSGdrjzKN74xsTDQZXgjz3sZ6ebw7luY34F/hTpKWhtwMi/XRtSPMRJiEu6deU87sZToPQH5sX2ZSlZsR+EMn9zlSoKGTA/sLct4Jf82bNyqhArneYYbEFqMS95fdX7mXsE0VmEqNtziGt8ROkiOYhVcmUkA+Ps3FmvdQpXLVwBt++uS9k209dsLua8ABEjbVgeYa4rCqGmQtHr3+iquhE+rKkXch8A==
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=WgZ4V7ISrw3XQT0QFrJB9/7oXTXJD1n7cCtmvAUHZFA=;
 b=J3Y0sQJIvoS2QgyVhDAAhgeIAad5uPthb2KyRRZJzp++ckZKQBgXq474c49QxjHFwnbIeTrN3+K/idylP0aurfbrsAK/bVWoA+LTapytGUOmCf9hq044lv0i5/Cwf3rGuSAEp+nDMiJLu4O8ExxPfzxTFs1IwiDgJlsyMpWf1A1LVZkfWHFCEDLP7Zq7MRWQYAMt0oDQSwDRT8E5/Dr7kj0hGc89NBEhmNfP+8ttWlqIcq/A0og2Mj5lYfGA3Rr28KK/KVprMrei2fPXzFxEbQMq1urn/utAM4MyDUkxfKnFfECFuPF2FMM/WhOBtPMoIZPf+mxYWf2E3c9xoluOAQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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 v1 1/3] xen: gcov: add support for gcc 14.1
Thread-Topic: [PATCH v1 1/3] xen: gcov: add support for gcc 14.1
Thread-Index: AQHbnrDjP18EuEhGMUmNMUBtvyYXWw==
Date: Thu, 27 Mar 2025 00:40:50 +0000
Message-ID: <20250327004044.2014048-2-volodymyr_babchuk@epam.com>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: DU5PR03MB10441:EE_|PAXPR03MB7698:EE_
x-ms-office365-filtering-correlation-id: f3434dca-824f-4c8d-83cb-08dd6cc80729
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?7SZWFgr11MOvpwUtJJO93+hrhCT1LvGCnWdjp4eaE1KoUiQcxldfiPzOVH?=
 =?iso-8859-1?Q?XDXeCbikZtVvVeAPOlR57ZlMCEE65kyZqY4Q+fQKFAmOVrPBBATgsS1PP0?=
 =?iso-8859-1?Q?Pvd2HmOpqrPFNRHuIRrT59hWTuopBvZmIFoiAUgIRegYYjYvuJBm581Kgl?=
 =?iso-8859-1?Q?qBWrFliP21oKQ7qJgY5zq4ipHTClPLR6oRJ27ybBi+AcAlJSm8JJ9qQouc?=
 =?iso-8859-1?Q?ZDInE3kKcka1M6LUmQ9BAa314De1CH/HWv78/kzG5km/R+p2IxBGRtUwTD?=
 =?iso-8859-1?Q?d0JYLl4cCLbwhQkMnYYnoh2lyCps4gE7+6/vvsOEd4ECRbJg/rgfzKx5SB?=
 =?iso-8859-1?Q?BEliIvkYrgWIch1Rw/k1WLs7i0pnvrBRKUE7/2AvvORri+AalCzFF8wDvo?=
 =?iso-8859-1?Q?9LspZeXfVxJmQzd9TlsNlUNmKVjtdpMAQ1K6qHRq/xVZinhQaKtJ/v7l6K?=
 =?iso-8859-1?Q?B87yVZ1h9hZIp3NqgrNix/14U+lGY918b+chUPinVbRGDsTcf0uiB5sZgt?=
 =?iso-8859-1?Q?2UaNsxRmXcUWitQwioL6MVpej/+wMauOmnDU/yZn5lJk1i53WStO0x91aa?=
 =?iso-8859-1?Q?CrTVA+3sBCJg3HYSUDunvSBB5hom2ISkJ2bqnueCLC4ezmub5zXwfutvkV?=
 =?iso-8859-1?Q?IR4rycV26jLaicFZirRTOowyet2AK/ua6xRD4t0qIl+6XrOp7O81At1fST?=
 =?iso-8859-1?Q?FHT29xlvPsLN7PwVtvMDIzhXJrQJFRVNhV4jqHwElwoBxexuoWV5nmKRXY?=
 =?iso-8859-1?Q?BibqSKKjwkNR8HFVj9JSHxVu2f7tm0ymfvb43rAjnl3GMSqL/KD9KfjUtu?=
 =?iso-8859-1?Q?A0gB+hHGQpku8e3CJmKOh9T0ipBw0YUf5LZFU9WL/SAL9iKyjeJqrF5Jv9?=
 =?iso-8859-1?Q?ObbDTfe14k9/f1/YVSDb9fCml6iY49HpioZGmjIQ42mg0UNrdrH5lMjT6n?=
 =?iso-8859-1?Q?vvdf9N1g06p5ZTLIzmMDx1PRM9BiZYrwOzDwXm3CFFYYOlBeREOF/xlCeO?=
 =?iso-8859-1?Q?1A9q5CU8HYzjsZuIG5WKPNQAKc4x0dQ9NUMp+Y4vMd2HfgE1ojyPC8Fh0X?=
 =?iso-8859-1?Q?prpGeUpLrTtj/e5xlTRjfLyXusU00D2yDTHsBpP/e5kEDhK53ILe1EWWUQ?=
 =?iso-8859-1?Q?iIBd8AdFA2F/xOQ978eH7/wfM6Jmco2DkMDTd7ik2bByG26xReCtGR7TYC?=
 =?iso-8859-1?Q?9dQXswdkselyl6b+QQ3FIHV5bFpNIJ4P0g2QD+vJhR+QbiRR0ta8B3BO3c?=
 =?iso-8859-1?Q?/F9WH35Fye68YgUQlvzESJts3Evu9un1s1LqxPcnpynqxN7yZg3ElEIqBh?=
 =?iso-8859-1?Q?FRW3teDv9R+8PsNp8fJuSPNe54RWr8ej8QI/oV+6JgUMli9MRQIgx095do?=
 =?iso-8859-1?Q?xWQllCFSqdhCcNe7RJOH9+hddw+3sdTJgGswS0Q6tuPHHMn9rHu8V3K109?=
 =?iso-8859-1?Q?ZqmZ94oTHcIJgBw/g0OCgFV+HJHeUUnanUO1Q/JEci5vRHn7DqZd8LILrH?=
 =?iso-8859-1?Q?3vo+CGAVsYJOI6mVk1CQJS?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU5PR03MB10441.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?eDjJpTc/W9EoFkAVqUOoxve5c4H1SqoOE0cOkJBZnHOEok9V58uqqumlMi?=
 =?iso-8859-1?Q?aPz4WboEJ+599oZQkZ+ENID7pH8CNxVYTwXp9jliA4RHZG5wWjEJ0Ibzoa?=
 =?iso-8859-1?Q?isd0Eqvpup2iohAFMO923+l6BrNEf6y90LUa5qA2efz3vkXXueIzy3EpOs?=
 =?iso-8859-1?Q?wMBnwVN4Pg2LtFYPIn0RDJfW5Z66rIYfTzVeB9wRTFRO8n284JwClSHz/a?=
 =?iso-8859-1?Q?jj5AYofrag++xKLcC0u55c0Zgyr/7SWQh4MwxhwRvg2LrXgkJWXLLZEyWb?=
 =?iso-8859-1?Q?wAgYJvVvnCyF/7mCJ7PFlQB8UX/X7838/6ju/d+Yo7puJ05G230KeH+brg?=
 =?iso-8859-1?Q?jSpv86SzqOeOPpOg5Zc2a58zGhnWf75RzPARHlKDryfsrREjFN6G9lvR6+?=
 =?iso-8859-1?Q?c9bCI8Kib5URYx2HVSUsEIKaJTDoZOVCHHxwwOcgNOOlldB/W5VmobECVa?=
 =?iso-8859-1?Q?hbG9ymY2l5DK1Y9V1oeMvHOB9YM0c54yyyiZUT/7o6fNNSFygVHOX3jxqh?=
 =?iso-8859-1?Q?KDj2l9NH7eqg1gIkfTKD2RK9tuX+SN8p3UTN7hUmRvKb8o4EXk5SBzO2ix?=
 =?iso-8859-1?Q?U3Y5w6isbD87kKtzdJZsy5J6QGtW89FFaRIeRC4forzu+DulnWAHv0xvuO?=
 =?iso-8859-1?Q?WPt5o44rw9WBrs89CVlA3tqqvZeU83QpMVxI3aGAI5clrHQ5+uIw7vHvpK?=
 =?iso-8859-1?Q?FiRnddGeNjVNz61oHfoV9/qabar5tzHAPqh9DR0CVnp9x8wD1VnpE6yA0W?=
 =?iso-8859-1?Q?/u5t38GWdKHAVVGj9VT1pRYtdmMiPjGFxkaPnnJXHgIzQA1jfI2S5B8jCN?=
 =?iso-8859-1?Q?4h2RfFH/+dGtdk2072m7fz0Z8DCBnCCy81Iv6rNdsmr5ZEwZytonAWBCS+?=
 =?iso-8859-1?Q?Tmaue3ERYrXw3oTXmzvzGz5J/I/aLjFLSPbSC0QV1MQcGBv/Ekw6K7wYcb?=
 =?iso-8859-1?Q?1UL/F95ZK807Y8WbgrDXpN7Ss7oNiVUuwX9Pcjz6BKv+ldzfthDHNYKGa+?=
 =?iso-8859-1?Q?8cEzgeYpL6ThxuxnawUDpTyjlahw/9XlHhr1paLzN2I4WuALSYqOUpI7bc?=
 =?iso-8859-1?Q?aREWcjJM3YvWM/83rQmKvJK+a372DLc2V8KOsc94suK09dInLlM91jONd6?=
 =?iso-8859-1?Q?wxE3FWFBz6ynR6DN3aStm3Q7yrWiwStGhFGKcwW+Pz/Wwbe3+bJ4xYryTG?=
 =?iso-8859-1?Q?HmO/w25UUe/r+4RISMhbi3FkI1Rpre+hTDgOlNpyXrtlqNgFNMJn7gqDtM?=
 =?iso-8859-1?Q?uB6L16bfSfkAVQP6paaqnyOqpuHnz3D+PHcNH93v2x1+lzIOZq6mVeRECf?=
 =?iso-8859-1?Q?+M5kJMSMIC84RJq9cnZVtX7n24v5zI0WqaRanZMJmVIgYb4R3XnghpyMkx?=
 =?iso-8859-1?Q?Syr7RuM1gvG+7GBTJQ1cwNk0t6qRi5yAiinUBxHaBqDDpjMaT6re207c0e?=
 =?iso-8859-1?Q?JrCpB3ZpD9B67YSaJ63boZB6SODVQbXTErh4nVBpRFOkSGsNbf5wKp1ok7?=
 =?iso-8859-1?Q?VuUSbL+mslnQPfASccSLiKMKVuALv3iP7PSH/F1GvTvf8bn1d9qyusoInW?=
 =?iso-8859-1?Q?Gfcv7Jyug9PswovfdA+BtEPZwceJSqwVwY5oYIBgApG0TpLlxPC6naWjwi?=
 =?iso-8859-1?Q?MsdL47+pmY0UYJBVTjdQKSKNJQheoMHHCipQOkNOcvLuOxmQv7d6bW9A?=
 =?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: DU5PR03MB10441.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3434dca-824f-4c8d-83cb-08dd6cc80729
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 00:40:50.8011
 (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: cZUE4Hb4TvfbNrSKWP+sWGJ84sMLmYR5VzqfVCHXudpm55degvfhpkJLD1HnNR4B8O8FdYU3AiOCWibb9es85m23HYKFEDqer7NJbWaN7IQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7698

GCC 14.1 has 9 gcov counters and also can call new merge function
__gcov_merge_ior(), so we need a new stub for it.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/common/coverage/gcc_4_7.c   | 4 +++-
 xen/common/coverage/gcov_base.c | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/common/coverage/gcc_4_7.c b/xen/common/coverage/gcc_4_7.c
index 1c20e35ee5..e3ce69dc2e 100644
--- a/xen/common/coverage/gcc_4_7.c
+++ b/xen/common/coverage/gcc_4_7.c
@@ -28,8 +28,10 @@
 #define GCOV_COUNTERS 10
 #elif GCC_VERSION < 100000
 #define GCOV_COUNTERS 9
-#else
+#elif GCC_VERSION < 140100
 #define GCOV_COUNTERS 8
+#else
+#define GCOV_COUNTERS 9
 #endif
=20
 #define GCOV_TAG_FUNCTION_LENGTH        3
diff --git a/xen/common/coverage/gcov_base.c b/xen/common/coverage/gcov_bas=
e.c
index d0c6d0a3f9..742034e039 100644
--- a/xen/common/coverage/gcov_base.c
+++ b/xen/common/coverage/gcov_base.c
@@ -56,6 +56,11 @@ void __gcov_merge_delta(gcov_type *counters, unsigned in=
t n_counters)
     /* Unused. */
 }
=20
+void __gcov_merge_ior(gcov_type *counters, unsigned int n_counters)
+{
+    /* Unused. */
+}
+
 /*
  * Local variables:
  * mode: C
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 00:41:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 00:41:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928334.1331069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txbJ1-0002ia-2s; Thu, 27 Mar 2025 00:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928334.1331069; Thu, 27 Mar 2025 00:41: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 1txbJ0-0002iS-W7; Thu, 27 Mar 2025 00:41:10 +0000
Received: by outflank-mailman (input) for mailman id 928334;
 Thu, 27 Mar 2025 00:41: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=QKAi=WO=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1txbJ0-0002GY-2t
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 00:41:10 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c632a31-0aa4-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 01:41:08 +0100 (CET)
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com (2603:10a6:10:516::14)
 by PAXPR03MB7698.eurprd03.prod.outlook.com (2603:10a6:102:204::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 00:40:52 +0000
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4]) by DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4%5]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 00:40: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: 2c632a31-0aa4-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VUo+denI8FQecJlhbUcIyKOtA+KwQ54O2YT6kHhXjcyXxCEtBbNpagOIBwrDjZx/LP/wS9nmM45dzzNPCBEabJbh04/xr2Ooen4pX2rr49HLDefqdib1vI3Lp98JycYoS0609FjRCfxAKfxiZ8Ft5Jsr6mGtJcTrs+RB7/nfjo8vJoXHns/++1CAPvLBnVmJQ2w0TB6KCVFMAZn9zBU2JANK8bu5jLr74/joT/tdSX4Y4Rkdg+etUK77vEiH8JkIEOZJOaZIot09CWGJVhKxPJdRbyplTAUyR41y0J573egmwf96EpM4m1sot7zSkYdtEYQIRm/bNydRSbIpBegdkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2PNoRs+P8rV3LA1/W8yDEqZfleN+5JFyDrKAcBiYHCc=;
 b=KMNPya8T3ByC/6B81+oik3ClV7/MzmtoozmS41CjFOF21PNi3qpa6E+Vr2nG+d21dmGICe/w5TYR8j2cn3u3ZgIk0F3pdVpHq+9EJKSz2a3pAisCFBgDxYo1NGA+Epmsm0S8VA0vKyfXb15bstV/HLYq6ZATkZJs0FsZ/i3nMrFkKW0JOqNozkuXyNP15I4X+EkzCYNVKBr7LFhD+AvxIp7Od3MoQo6k2OewecdlUXA2c3W3iDcSrwG/iO7a7eKAn4DM936A0+OPjNLfzcs3bbZ2Sxb/3gKos/+i51Dd/UK2iwMaCgp/QMCfsahAMvwUJGL//Qv7e2FPA9oEQb2wKQ==
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=2PNoRs+P8rV3LA1/W8yDEqZfleN+5JFyDrKAcBiYHCc=;
 b=phaj+ij3ZA8gtZoodwV3hrckIEn+8e+dEf5qVvJAPNt2Yi6sXLEB3hoknrSOFf8BUf0UGXmcjAU1tAIuInzzz4UYNg9Uo3V/ZQquu+SmvM6uzCyriZKCfI3rrPHLMkWos1JsJuBC5nkSJUfXkq+jpqwWgDtL1epBWl89XT3uiaLdSZy0kK7aKUFOJGBQlIZ+FEreDkMehlQroIMDGr2/1opGqRHIi9bRWmTLNkEHzShM8PxcdjYs0PsJtOZUtBCS38T9x8AAHcCAjjDzXEdaqSuXCRk+C2Fa8dcPd38Cc8Vw7uTwWVAlH8eYospVhqB6Vg0MZv+HBsFKr8dQsM/M7Q==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 0/3] Enable MC/DC support for GCOV
Thread-Topic: [PATCH v1 0/3] Enable MC/DC support for GCOV
Thread-Index: AQHbnrDjnU9KKdJKZ0alkRNpR7EUwA==
Date: Thu, 27 Mar 2025 00:40:50 +0000
Message-ID: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: DU5PR03MB10441:EE_|PAXPR03MB7698:EE_
x-ms-office365-filtering-correlation-id: c62a440d-d24d-4cce-5037-08dd6cc805cd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?ZEJzMHpYbHd5SkhHSEtBdUZ6RmVBYmJhbis5UFpmUmhEeFE2OVlzMlRmL09v?=
 =?utf-8?B?NmViOEo0ZUdKcnJDeWUvUVI2Unc4TTlPVDJ4YU9MN3FkTkhGRVFaVzRQLzJa?=
 =?utf-8?B?M2NQNlhUclU2RHNQWEQvWkdxTGZBVDBMYmpWR0QxSjgxbUpBZng3c3V4OS9i?=
 =?utf-8?B?YlFkdWRHRTJ2ODNad2xTRGRyMFVtZHZRYWdFV1NaVFgwcE5tTjdyWXBMNzRw?=
 =?utf-8?B?bUowSnk3THovYnFjUElWWjNXNVRaZkdxQXlvYzJxcVRsd2pVbGlWaGNsUTho?=
 =?utf-8?B?VFB5cTZPMUtMbjlFVkcvKzJDNW9oNi8wdVJUWGc2akJBUmh0UWdDUUhUWkRs?=
 =?utf-8?B?aEttMit6ZldIUlJmTDEwbG9NbURYdUVGczhhdjN2RitLVzNsY3RYeDJ3bTNt?=
 =?utf-8?B?YVU2UDRZTFlMUEFrZmF1ODhocVUzeFEwUWRld3hJOWFDdWRaSHdDRkQzcDJv?=
 =?utf-8?B?SG5ONHZ6bW5SNUQ4bkVnUkRmbVFQVkdzQXkrVkxMeHk1SHVRQ3QxQTk1bU84?=
 =?utf-8?B?ZVNJN1RvVlZCN3pVQjhiZzgyQWxJVWM3bWZ1Z25rbmgxOWx3MlNmZms4Y3ZT?=
 =?utf-8?B?KzZHaVNtZzBoOFdsU0V3OUovM002MjlJZ1BPcURadmNkNmV3bzg0V1kxUHdX?=
 =?utf-8?B?aXJpSWFwYTczNVByc3pGYzJ3OTFSLzFTazdkYStGRUlKc1RIa3ZEUy9kcUsv?=
 =?utf-8?B?UXY3a3hGdDRYR2pGL0p5UzFiMVpqY251RHVGbk01bGcvbXdlaWZlY3piR0dt?=
 =?utf-8?B?emFBSzQwd0d6c1BXNDlyVXhnd3dBVGk2R1dRZnYvZFhQdmRwb1VRSGE2ZXJJ?=
 =?utf-8?B?UnlTSWovU3k5OTgzNCtySkdYaFU4UGpDUUdJQ3dLa1NTMnJCdTRCbFkvUm5h?=
 =?utf-8?B?SDJjditwdXI5WlpiUzZzMFBlajQ5UEZMUjFpMjNLWmJWN0dQZkhBRWp1Vndn?=
 =?utf-8?B?cDVidm9BTnBFZk5jVkQ2QUcxMlY5SHpKR1MrWDBhcGxLME5pYURMSXZWRWNC?=
 =?utf-8?B?TFh4amkvUVI3RkFPR01wT3o5Qk1lY3pyUUREdUVmK084MnhsL2NBamJCQW1C?=
 =?utf-8?B?a0hQN2JMcUlXS2xWOXcreTFja3E2Y0JON1pwYmY4alZuSlpnWFZCYVdWUWRo?=
 =?utf-8?B?OS9oS1ZYSGJCR2ppRTdRVXNmWHdrSEZaemdYSlFEOXJhNEpTYTZoZXFMbzZV?=
 =?utf-8?B?RW5aUll5WDArandURDlTa0Z0TXVkeEhhYkFRNnFYcExCYlBITEE0bUprUjNz?=
 =?utf-8?B?cTJkYnJXWEtPenF3S0crbGNOL2ZKRHFQS3dSblZTaC85cVFrUEI1enJqdEJ5?=
 =?utf-8?B?eVZzRENuK3VlZWtWYzdlQkJBU2lXaHVOOWc0cHA0VWFYMUNsRlpuRjRSSXd0?=
 =?utf-8?B?WFcrNTJMVXRTYzMvOWdEUUFZZ1JKSytPZjhJOUZlOUxjWmQ5SEpyRWptU0JS?=
 =?utf-8?B?VG9ZK1F5TG9Bb2VWa3RqNlBDaU1WY3JuUlJQUVovTU9MRTIzZGl2eXVnVjFH?=
 =?utf-8?B?RVRpS0gxSnpTeDloWEJ5cmNqSHU0cUNhdGhpNVk1UEo3cnM3MnFQaU1iL1d4?=
 =?utf-8?B?NFZ0dnZra1EwVStzUERTR0p0eHpUbzZUUnF2TVB2WDk0Z3l3dHJCOHBOVm4y?=
 =?utf-8?B?Z2VuOExqRksvdXFOWlI2S1hhZE9IcnRjRS94cHRZNW9hVjZiV3lpLzFGSnNC?=
 =?utf-8?B?c3FOdlNQUU8yMG9LNktDZCtXdDNacXBXcERORGl3aEREK01OZi9CRVdHL3NU?=
 =?utf-8?B?SUh4MEtLSTBhRVFrNFNOdldpeGY4eWVseHlMb1l0UGhNYnpqZlVld0NTMlQx?=
 =?utf-8?B?ZWNybDlxM1NCMmM1K1lJcU1EQ3J0bFZKOWpxWWRZckQwQ0RVanQ4RkJQK3J5?=
 =?utf-8?B?WXAwTEZpbDJLYWdyenFsZ25UOXlEWHJocXNrbXFYSFVCZTg0b3NRT3ZZa3gw?=
 =?utf-8?Q?xUHJo/MMzIOWl3H4J/4GkZAxWS1Ww/vz?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU5PR03MB10441.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZXh1VWRSYm1NdHJ4eWVWcnA5STRrRjN1OXdrOHRhaFJsQkVDTXJYOWdNMEhR?=
 =?utf-8?B?N2FPU1hWNzRVK3lmcm9uUktLSXRrdnIyWTJCdXMrS3lKQkZYY2VmWkVDNkNn?=
 =?utf-8?B?azR5ejJrRlpBWnhmb2RHa1AwdE1jOUVtYmdPOTdXOXVVTkhyTURXZVJHQi9y?=
 =?utf-8?B?eUZBOEY0dTZSRG5PSDg0S1ZVTDVKenk0U2pUdXcrWlJBdXZNT0tYMUdKOVFl?=
 =?utf-8?B?ZEJJT2Z1WmhWbnY2VlgxeDExOGxxQU9KNEprZzhVcXE2NkExNXh0MkpnUGpU?=
 =?utf-8?B?TDBLUzVWVVo2UG5rOHhYTjltYklGSTFvajEwSnRMNnVGb2lQYVM2end1ZVZI?=
 =?utf-8?B?WnJ1blorc2piWklHQVdwbk95eXJMa0t3NmltaGtNMGsvZ0Q2VnROaWx4MjlW?=
 =?utf-8?B?MG0rQm1mS1ByWWtBL0ZuWTd6UDl5OHdOTEdhNFhDbnQyb1VwSFc5S1ZWak9E?=
 =?utf-8?B?MWdUL1d1T3BtUHZualRVTk5VeVFNZFVEeE12bU85NFRJZ0hCVlhKTndIZ1hK?=
 =?utf-8?B?U0pMWEVVd3RoZTFZeW5rd05ERjMrNW5kVlRlT0I5Qi9EMllsdFM1Zk9xSGpS?=
 =?utf-8?B?dS82OEtiUld4azNyWTY3MXZYTzJsc3F1RTBaNUpnalRRVm1zN2pZWlVRKysr?=
 =?utf-8?B?cUdKblNoRGdOK2hjODViZk44dkNkRWU1aVk0ZHoyb2tsbU1Qa1F0dWlpbUE1?=
 =?utf-8?B?eGpIaEs5QVB4UGpUcExsTUlCZkQ2WUdLVUJnOWMwaDdodjZBWGpxZjM1WWw3?=
 =?utf-8?B?eUpkQXhYMTdjdzlZYVh6djBjekt2S1lpSXpJMVYxY3FlZkFqTzBudlJXaEVt?=
 =?utf-8?B?d2pvczRBNldIbnpmK0o2MndveWlKU0Y1TmozMnFRRWY1M1pncHh5Zm03aDNH?=
 =?utf-8?B?cGtoZ0xTMnZCTitxV0xIS1dTblhjSm1EMWRiQ2t4SzQ1blArZ3B3d2FNZGJH?=
 =?utf-8?B?emp6dmRVZ05RUVF6TW1lMlVPVXBxbUxWNzFOR3BYSnZ4RkVXdis4a0xxY3c4?=
 =?utf-8?B?UzdPT0pabEFrTk5Wdm1WOFRpN1FMRHU5bWIyNkdqSjBZTTh1YzdZa0RPdGIv?=
 =?utf-8?B?cFJFNFptejlZYzFwd3dROHdxcFduZzdWZWM5WllRaUZaL2JFU1pKVFdYenpo?=
 =?utf-8?B?YUczQ1h4R01Leld0bGt1d0NKb2dIakx5TCtSWWdCUnZlNkxMQjBkSEo5Vndz?=
 =?utf-8?B?QXBLRHdCVWJ2WkRGM0M5aC84UHpVYnBKcmZYNXp6Y2JJMVQ0UFgybHFmZXRu?=
 =?utf-8?B?ZDR3ckVPSDhLVEZOeU96VHZSemNmMEgxdjFQSHhvQ2FtNFdaSDZKSDN5Sll5?=
 =?utf-8?B?bkZ1SGhueVBhbzVPbTZTNnBadTRYZmQ4K05IQVdQTWg4OVVRZFc2N01PZFVQ?=
 =?utf-8?B?SVJJclNUSnVBckhrSVZoSHhRWnJqbE5LV0hSUnNoQUZna01veFQ5Tzh2anlk?=
 =?utf-8?B?bG9QRFp0TVdCV1QyaUZEVDYzajA2dzJISjA0Tk5TL0VzVVk3VHQ0a01wOENH?=
 =?utf-8?B?WDUxa0FObnB2cG12N2llYkpDbGFPMU9hWHdEZno4RlFDTXgxVndtN1VQOEFr?=
 =?utf-8?B?QTVVdDNaR2xvVTFabkhJditjUlBHMDZQVU41b2xyc2lub0RqQjU3SEg1eE8z?=
 =?utf-8?B?RHd0OElHVGNDajhyM1dENE5Tc2dvZ2VJYVF6TDBpSmFrK2pMUHJZaUg0Y1BE?=
 =?utf-8?B?VFJES3JReTlPSnliNGYwVytYaDlXODc1N0hKa2NIZTE4UlNqeDNXSG1EMGhC?=
 =?utf-8?B?ZmJnbDM2dXd4KzRwYStsdHY2MjRNTGNQREtLR2VXUnBORHBIaTFkS0ZGbjdI?=
 =?utf-8?B?akMzbmVsdjI4M29lY3hJT2tNSjJwWVZyOFlEVlZpd3NBWlNxNHM5MjhqNk80?=
 =?utf-8?B?SXVCL0hyRXBYeHcrSG1nN3hUdC94QzZQK2E2cGlZZy8ybEN0SWVLVVZQY2ZV?=
 =?utf-8?B?Mm9lQVNPaVZ0WFlDdFZGaXlUeGdPemd4VDFKNng5amFXRkh1djlTNmJ1WGYy?=
 =?utf-8?B?eW9rdEQ2Z2lHRjlqZ3RsK3Q3K1B2Zml1emVKbjNHdDc5TW1nQzBYclhzVVVQ?=
 =?utf-8?B?UlQwK1B1N3gwTnpYRnFnbm42QUhGbmprZFFKSnVla0V3Z0xHd1dZNUx0NklR?=
 =?utf-8?B?dmpvV3lsUm1MVmNzZkRTekMxOTdIeDhyUS9TMzRKMk42NGxhOXVKdkdhQ3JU?=
 =?utf-8?B?TlE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F05FBEED21648B4489152A7DA0DC8D64@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: DU5PR03MB10441.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c62a440d-d24d-4cce-5037-08dd6cc805cd
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 00:40:50.2449
 (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: ApznvSSafW6QVPTOhEGsXbBQ5wrKzJE7L/X5O+McswPUgXFpFA5InlG52FYMkGDc2tpfKc7XdAMV0kgcLlYfgqofJe15XgN92kx/Cdeou0A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7698

VGhpcyBzZXJpZXMgZW5hYmxlcyBNQy9EQyBmb3IgWGVuIHdoZW4gYnVpbGRpbmcgd2l0aCBHQ0Mu
DQoNCkNvbmRpdGlvbiBjb3ZlcmFnZSwgYWxzbyBrbm93biBhcyBNQy9EQyAobW9kaWZpZWQgY29u
ZGl0aW9uL2RlY2lzaW9uDQpjb3ZlcmFnZSkgaXMgYSBjb3ZlcmFnZSBtZXRyaWMgdGhhdCB0cmFj
a3Mgc2VwYXJhdGUgb3V0Y29tZXMgaW4NCmJvb2xlYW4gZXhwcmVzc2lvbnMuIFRoaXMgbWV0cmlj
IGlzIHVzZWQgaW4gY3JpdGljYWwgc29mdHdhcmUNCmNvbXBvbmVudHMsIHNvIGl0IG5hdHVyYWwg
dG8gY29sbGVjdCBpdCBmb3IgWGVuLg0KDQpTZWNvbmQgcGF0Y2ggaW4gdGhlIHNlcmllcyAoInhl
bjogeDg2OiBpcnE6IGluaXRpYWxpemUgaXJxIGRlc2MgaW4NCmNyZWF0ZV9pcnEoKSIpIGRlYWxz
IHdpdGggdW5leHBlY3RlZCBHQ0MgaXNzdWUuIEkgaGF2ZW4ndCBmb3VuZCBhDQpiZXR0ZXIgd2F5
IHRvIGZpeCBpdC4NCg0KVGhpcyBzZXJpZXMgc3VwcG9ydCBvbmx5IEdDQywgYWx0aG91Z2ggQ2xh
bmcsIHN0YXJ0aW5nIHdpdGggY2xhbmcgMTguDQpzdXBwb3J0cyBzaW1pbGFyIGZlYXR1cmUuIEJ1
dCBDbGFuZyAxOCB1c2VzIHJhdyBwcm9maWxpbmcgZm9ybWF0DQp2ZXJzaW9uIDEwLCB3aGlsZSBY
ZW4gc3VwcG9ydHMgb25seSB2ZXJzaW9uIDQsIGFuZCB0aGVyZSBhcmUgcXVpdGUNCnN1YnN0YW50
aWFsIGNoYW5nZXMgaW4gaGVhZGVycyBhbmQgc3RydWN0dXJlcywgc28gYWRkaW5nIG5ldyB2ZXJz
aW9uDQpmb3JtYXQgaXMgbm9uLXRyaXZpYWwuIEFsc28sIFhlbiBidWlsdCBmb3IgYWFyY2g2NCB3
aXRoIGNsYW5nIDE5LjEuMTcNCmFuZCBjb2RlIGNvdmVyYWdlIGVuYWJsZWQsIGNvbXBsZXRlbHkg
aGFuZ3MgdXAgZHVyaW5nIGJvb3QsIHNvIHRoZXJlDQppcyBjbGVhcmx5IG1vcmUgd29yayByZXF1
aXJlZC4gQnV0IGF0IGxlYXN0IHdlIGNhbiBoYXZlIE1DL0RDIHdpdGggR0NPVi4NCg0KVm9sb2R5
bXlyIEJhYmNodWsgKDMpOg0KICB4ZW46IGdjb3Y6IGFkZCBzdXBwb3J0IGZvciBnY2MgMTQuMQ0K
ICB4ZW46IHg4NjogaXJxOiBpbml0aWFsaXplIGlycSBkZXNjIGluIGNyZWF0ZV9pcnEoKQ0KICB4
ZW46IGRlYnVnOiBnY292OiBhZGQgY29uZGl0aW9uIGNvdmVyYWdlIHN1cHBvcnQNCg0KIHhlbi9L
Y29uZmlnLmRlYnVnICAgICAgICAgICAgICAgfCA5ICsrKysrKysrKw0KIHhlbi9SdWxlcy5tayAg
ICAgICAgICAgICAgICAgICAgfCAzICsrKw0KIHhlbi9hcmNoL3g4Ni9pcnEuYyAgICAgICAgICAg
ICAgfCAyICstDQogeGVuL2NvbW1vbi9jb3ZlcmFnZS9nY2NfNF83LmMgICB8IDggKysrKysrKy0N
CiB4ZW4vY29tbW9uL2NvdmVyYWdlL2djb3ZfYmFzZS5jIHwgNSArKysrKw0KIDUgZmlsZXMgY2hh
bmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCg0KLS0gDQoyLjQ4LjENCg==


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 00:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 00:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928365.1331090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txbMK-0004QM-S3; Thu, 27 Mar 2025 00:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928365.1331090; Thu, 27 Mar 2025 00:44: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 1txbMK-0004QF-OX; Thu, 27 Mar 2025 00:44:36 +0000
Received: by outflank-mailman (input) for mailman id 928365;
 Thu, 27 Mar 2025 00:44: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txbMI-0004Q9-Qz
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 00:44:34 +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 a41ff42b-0aa4-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 01:44:29 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so290652f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 17:44:29 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9efc90sm18535387f8f.98.2025.03.26.17.44.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Mar 2025 17:44: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: a41ff42b-0aa4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743036269; x=1743641069; 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=2zRnudDsm1YPUDsp/rGq/8rJn9zgkb4N3lQSmhYhgqA=;
        b=oaR4hrxurNEpGPyWE4HPcrPKxpb3recZi92lQYTHYx3S6IkeUKekSvOgnJWdzyMKg0
         s3NdmWvEonxh2Chcb0zdCHrfjFcGmzZvYhh/GcRJ1VvoL0BZRcU3aKEoLKemb82ERwY+
         oO5BT2Azskttl0kWFk164j4vwno/qlfvJInow=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743036269; x=1743641069;
        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=2zRnudDsm1YPUDsp/rGq/8rJn9zgkb4N3lQSmhYhgqA=;
        b=C5ZuKrlmd/I3Hf4tIgNBFXGMrt82X/0/epfXNSvHm/kjUqeQ0m8O8Pu8fqQ2qx6SPs
         2kcgjPDid44kpwFcB7ajJbF000JEPzvorNN/Az1TddQiTKU2YBLQh6M3t73AsVtYOKyr
         EK4ESJdy4Q7LrSnkMK0oGsvuHkgSK4Pu8VG/Re+WXj28z5lBtLiU/brzn1UG4xu2aWeA
         DP6pJ2A5fNmEfeoxYA94OozNFSs2TwpvGiuvuHsmCy0IUbMT2rzvhN/zWvEnGu2uDrNS
         ++l8fvl7PkZzOrCeKc5GkKZ4jnJq5pxMi2lfVwkGbby6mFr+UUerei26r5H4D+f9uqyG
         VrpA==
X-Forwarded-Encrypted: i=1; AJvYcCU2Dt2AAK26emAhDzB9hQld1uoQf9G4fH7f9VmMCS0SQrt4iMMlz2TmfaYXgekEIgjamBT4AywyWUU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUHH6U4GZIaOswFJwbManM9qRAixU26uQ5x8YNxyptNvVrnaVP
	2J4vYq91IUQQoKJfR87rKe/JCkzHXRhpF+kS0lMmBCTPIjonfEZ3mIJmvVydmEA=
X-Gm-Gg: ASbGncvdn252nMuzH6kavK7PQnKCpNC5Ts3EtWX5iieeXnKhJb/Fef5dPndjGJcEgDv
	yqIHh5+dKeqyKV96DkHdVsJGRBACiPPqxR+wo/uVi07RbIb03RkU8yr46If7eLFYzxa7YlcGOHb
	5ny6e+3MOrTpYhy7PPyEE6Nx1o7ct36+RPvTt4jH3uRWkCQyMxibiok8NeRyRvQfUEAFd2FMkqI
	Czp7QLYRiNG19bS9Z6PfktMRkv+ay7HProuhCP0SCV7YUcP5xZUiNME70BTBJbiQs7t9TnRPpex
	QiwP25xWnVNGZAuRZA7PVeGfOBME0Bm2Znog9UxUnEHpNTz/dniZtoKeCqOcp0th3AZezE44ND8
	xmrIfZwKB+w==
X-Google-Smtp-Source: AGHT+IFeB7ZzTeiSPN34z+pMTNTEtjhOVE2XodLXycae+Kk9EyvSk8JSWWRoVI6EnZvpsDBX1Umxyw==
X-Received: by 2002:a05:6000:1786:b0:38f:4acd:975c with SMTP id ffacd0b85a97d-39ad174916emr1246170f8f.27.1743036268771;
        Wed, 26 Mar 2025 17:44:28 -0700 (PDT)
Message-ID: <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
Date: Thu, 27 Mar 2025 00:44:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 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>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?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>
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@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: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
> index d888b2314d..dbbf2fce62 100644
> --- a/xen/include/xen/config.h
> +++ b/xen/include/xen/config.h
> @@ -98,4 +98,13 @@
>  #define ZERO_BLOCK_PTR ((void *)-1L)
>  #endif
>  
> +#define BYTES_PER_LONG  __SIZEOF_LONG__
> +
> +#define BITS_PER_BYTE   __CHAR_BIT__
> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
> +
> +#define POINTER_ALIGN   __SIZEOF_POINTER__

See how much nicer this is.Â  This patch possibly wants to wait until
I've fixed the compiler checks to update to the new baseline, or we can
just say that staging is staging and corner case error messages are fine.

One thing, you have to replace the "<< 3" as you're hard-coding 8 here
and ignoring __CHAR_BIT__.

I'd suggest keeping the BITS_PER_BYTE on the LHS, e.g:

#define BITS_PER_INTÂ Â Â  (BITS_PER_BYTE * __SIZEOF_INT__)

which tabulates better.

I suggest keeping BITS_PER_XEN_ULONG to be arch-local.Â  ARM is the
odd-one-out having a non-64bit arch use a 64bit XEN_ULONG.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 00:51:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 00:51:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928385.1331100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txbSs-0006xh-Mt; Thu, 27 Mar 2025 00:51:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928385.1331100; Thu, 27 Mar 2025 00:51: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 1txbSs-0006xS-Hq; Thu, 27 Mar 2025 00:51:22 +0000
Received: by outflank-mailman (input) for mailman id 928385;
 Thu, 27 Mar 2025 00:51: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=fbs7=WO=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1txbSr-0006j1-5n
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 00:51:21 +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 97b096f0-0aa5-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 01:51:19 +0100 (CET)
Received: from phl-compute-07.internal (phl-compute-07.phl.internal
 [10.202.2.47])
 by mailfout.phl.internal (Postfix) with ESMTP id 8156D1382D8F;
 Wed, 26 Mar 2025 20:51:17 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-07.internal (MEProxy); Wed, 26 Mar 2025 20:51:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 26 Mar 2025 20: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: 97b096f0-0aa5-11f0-9ea3-5ba50f476ded
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=fm1; t=1743036677; x=1743123077; bh=aH
	gpfGvsQEpk4WJmGuLs0xRXWghu0gspE2h/8NA1P04=; b=v6Nk7hWcAZiXa1h681
	IFRM5aviXQ7RY/dzHCryRBc1p7z7LX9Wb+TY0OdSowW06eGHnm4Okyk1dy+OFKCM
	BWb5tzehwVwqR9adnSSTSeojJxT+LsuyNrfaOH1P15vGIaJHfQ4LhKl8n+f03jpm
	8Hs0Bcwz13mwTQpEWa0MevDO+4bwsi14FukJQhkc2lfQWrmNZr6ic+3IOgYTqSnA
	4WSTbwzjbsSm0y7Xn9pOL5WzFny3Z1E7mL2RNaiTPaHmXKuS47q1bWvcTo6LR+Qi
	pS6K+UFlKgA8P/MMBEthcqWxDoaB5a4X6c4IPUMF0JUyxbO2ns7r2paWYyW38sOM
	uYMg==
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=1743036677; x=
	1743123077; bh=aHgpfGvsQEpk4WJmGuLs0xRXWghu0gspE2h/8NA1P04=; b=n
	w4zHffZ4rADErIe1X+uJIswEdPUn1G9Y1D6PvI9JfjsX3uGbcX3wuKH+c2V8mxqI
	4ggCFqeC1RnlXGP+gVOpKUoVmnckoKq9Ft+k82dNN9DJKfOWVqrP9vhT3+LGo1WF
	69hUrwaGFW1WKL5O/ccsxLv+DNNlrBdTd/TL4qoMf4lEpfr9AMSKZ9VIET972nUa
	1dgd7NaEjXEm7myusMQBsIJBL+io7BywRfe92hs4MLKjvIYp6LGOEyyWpB4buWAg
	flwLaKJyF0cY0xndwyZVeiZL73yWAoGPVW8W1+OVm+obea4SAW9MsAzm2EL0zNIy
	fz1Lr3Kxv4hRfWBErl60w==
X-ME-Sender: <xms:BaHkZzE2pJgqRmZOc3r0CjC7u86x9HrNtj8qEhIgaJn1557CB-IAVQ>
    <xme:BaHkZwU1vUFBOhiFcNR_pajS27VUDnzhxbfc_MXQ6df8hKd3uFbqyn425OVujLS2W
    A4h0FpzSYicEQ>
X-ME-Received: <xmr:BaHkZ1JpLiljDaaSJ_EzTIA21sXWkev5kw7oBJVY_qM4OzfQucMZeRo0BTZnURJpsZx4fTHGc0bh7KS-w_3DF7RWLUTjioC4gA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduieejtdduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkgggtugesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepgfdtgfdvteetffeluefgudfggeejkefgfeffvdehfffhtdefgefgue
    ehtdffueelnecuffhomhgrihhnpehquhgsvghsqdhoshdrohhrghenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeekpdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopehrrghfrggvlheskhgvrhhnvghlrdhorhhgpd
    hrtghpthhtohepvhhirhgvshhhrdhkuhhmrghrsehlihhnrghrohdrohhrghdprhgtphht
    thhopehlihhnuhigqdhpmhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhope
    hlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthho
    pehlihhnuhigqdgrtghpihesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhope
    igvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphht
    thhopehjghhrohhsshesshhushgvrdgtohhmpdhrtghpthhtoheprhgvghhrvghsshhioh
    hnsheslhhishhtshdrlhhinhhugidruggvvh
X-ME-Proxy: <xmx:BaHkZxHw3bMVFOEj4GGqr1F7NTButjSDBu25haS8k-b_IJPV6SGnhg>
    <xmx:BaHkZ5VBHkXyjj6geWdGr8S8gX93KOaq2dco7UjC7KVc2Ua93MzO1A>
    <xmx:BaHkZ8NmEMl3cQl7QcXC9X-_NQa7Kq-BplrfKg4Yox3SDVUNwtOrRA>
    <xmx:BaHkZ42EsKC3pRiXmr64C9QNIYUJ9869j1N5sDLyvw_fkfzNzJIrlA>
    <xmx:BaHkZ1pKcoIr0UaT5Kl3lc8iL4zvRqhhuVLqJYut77Enhw7a8HVr5uUr>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 27 Mar 2025 01:51:13 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-acpi@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>, regressions@lists.linux.dev
Subject: NULL pointer dereference in cpufreq_update_limits(?) under Xen PV
 dom0 - regression in 6.13
Message-ID: <Z-ShAR59cTow0KcR@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="jK9RafVCHRtlVVtN"
Content-Disposition: inline


--jK9RafVCHRtlVVtN
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 27 Mar 2025 01:51:13 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-acpi@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>, regressions@lists.linux.dev
Subject: NULL pointer dereference in cpufreq_update_limits(?) under Xen PV
 dom0 - regression in 6.13

Hi,

I've got a report[1] that 6.13.6 crashes as listed below. It worked fine in
6.12.11. We've tried few simple things to narrow the problem down, but
without much success.

This is running in Xen 4.17.5, PV dom0, which probably is relevant here.
This is running on AMD Ryzen 9 7950X3D, with ASRock X670E Taichi
motherboard.
There are few more details in the original report (link below).

The kernel package (including its config saved into /boot) is here:
https://yum.qubes-os.org/r4.2/current/host/fc37/rpm/kernel-latest-6.13.6-1.=
qubes.fc37.x86_64.rpm
https://yum.qubes-os.org/r4.2/current/host/fc37/rpm/kernel-latest-modules-6=
=2E13.6-1.qubes.fc37.x86_64.rpm

The crash message:
[    9.367048] BUG: kernel NULL pointer dereference, address: 0000000000000=
070
[    9.368251] #PF: supervisor read access in kernel mode
[    9.369273] #PF: error_code(0x0000) - not-present page
[    9.370346] PGD 0 P4D 0
[    9.371222] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
[    9.372114] CPU: 0 UID: 0 PID: 128 Comm: kworker/0:2 Not tainted 6.13.6-=
1.qubes.fc37.x86_64 #1
[    9.373184] Hardware name: ASRock X670E Taichi/X670E Taichi, BIOS 3.20 0=
2/21/2025
[    9.374183] Workqueue: kacpi_notify acpi_os_execute_deferred
[    9.375124] RIP: e030:cpufreq_update_limits+0x10/0x30
[    9.375840] Code: 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90 90 90 =
90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 48 8b 05 98 e4 21 02 <48=
> 8b 40 70 48 85 c0 74 06 e9 a2 36 38 00 cc e9 ec fe ff ff 66 66
[    9.377009] RSP: e02b:ffffc9004058be28 EFLAGS: 00010246
[    9.377667] RAX: 0000000000000000 RBX: ffff888005bf4800 RCX: ffff88805d6=
35fa8
[    9.378415] RDX: ffff888005bf4800 RSI: 0000000000000085 RDI: 00000000000=
00000
[    9.379127] RBP: ffff888005cd7800 R08: 0000000000000000 R09: 80808080808=
08080
[    9.379887] R10: ffff88800391abc0 R11: fefefefefefefeff R12: ffff888004e=
8aa00
[    9.380669] R13: ffff88805d635f80 R14: ffff888004e8aa15 R15: ffff8880059=
baf00
[    9.381514] FS:  0000000000000000(0000) GS:ffff88805d600000(0000) knlGS:=
0000000000000000
[    9.382345] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[    9.383045] CR2: 0000000000000070 CR3: 000000000202c000 CR4: 00000000000=
50660
[    9.383786] Call Trace:
[    9.384335]  <TASK>
[    9.384886]  ? __die+0x23/0x70
[    9.385456]  ? page_fault_oops+0x95/0x190
[    9.386036]  ? exc_page_fault+0x76/0x190
[    9.386636]  ? asm_exc_page_fault+0x26/0x30
[    9.387215]  ? cpufreq_update_limits+0x10/0x30
[    9.387805]  acpi_processor_notify.part.0+0x79/0x150
[    9.388402]  acpi_ev_notify_dispatch+0x4b/0x80
[    9.389013]  acpi_os_execute_deferred+0x1a/0x30
[    9.389610]  process_one_work+0x186/0x3b0
[    9.390205]  worker_thread+0x251/0x360
[    9.390765]  ? srso_alias_return_thunk+0x5/0xfbef5
[    9.391376]  ? __pfx_worker_thread+0x10/0x10
[    9.391957]  kthread+0xd2/0x100
[    9.392493]  ? __pfx_kthread+0x10/0x10
[    9.393043]  ret_from_fork+0x34/0x50
[    9.393575]  ? __pfx_kthread+0x10/0x10
[    9.394090]  ret_from_fork_asm+0x1a/0x30
[    9.394621]  </TASK>
[    9.395106] Modules linked in: gpio_generic amd_3d_vcache acpi_pad(-) lo=
op fuse xenfs dm_thin_pool dm_persistent_data dm_bio_prison amdgpu amdxcp i=
2c_algo_bit drm_ttm_helper ttm crct10dif_pclmul drm_exec crc32_pclmul gpu_s=
ched
crc32c_intel drm_suballoc_helper polyval_clmulni drm_panel_backlight_quirks=
 polyval_generic drm_buddy ghash_clmulni_intel sha512_ssse3 drm_display_hel=
per sha256_ssse3 sha1_ssse3 xhci_pci cec nvme sp5100_tco xhci_hcd nvme_core=
 nvme_auth
video wmi xen_acpi_processor xen_privcmd xen_pciback xen_blkback xen_gntall=
oc xen_gntdev xen_evtchn scsi_dh_rdac scsi_dh_emc scsi_dh_alua uinput dm_mu=
ltipath
[    9.398698] CR2: 0000000000000070
[    9.399266] ---[ end trace 0000000000000000 ]---
[    9.399880] RIP: e030:cpufreq_update_limits+0x10/0x30
[    9.400528] Code: 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90 90 90 =
90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 48 8b 05 98 e4 21 02 <48=
> 8b 40 70 48 85 c0 74 06 e9 a2 36 38 00 cc e9 ec fe ff ff 66 66
[    9.401673] RSP: e02b:ffffc9004058be28 EFLAGS: 00010246
[    9.402316] RAX: 0000000000000000 RBX: ffff888005bf4800 RCX: ffff88805d6=
35fa8
[    9.403060] RDX: ffff888005bf4800 RSI: 0000000000000085 RDI: 00000000000=
00000
[    9.403819] RBP: ffff888005cd7800 R08: 0000000000000000 R09: 80808080808=
08080
[    9.404581] R10: ffff88800391abc0 R11: fefefefefefefeff R12: ffff888004e=
8aa00
[    9.405332] R13: ffff88805d635f80 R14: ffff888004e8aa15 R15: ffff8880059=
baf00
[    9.406063] FS:  0000000000000000(0000) GS:ffff88805d600000(0000) knlGS:=
0000000000000000
[    9.406830] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[    9.407561] CR2: 0000000000000070 CR3: 000000000202c000 CR4: 00000000000=
50660
[    9.408318] Kernel panic - not syncing: Fatal exception
[    9.409022] Kernel Offset: disabled
(XEN) Hardware Dom0 crashed: 'noreboot' set - not rebooting.

Looking at the call trace, it's likely related to ACPI, and Xen too, so
I'm adding relevant lists too.

Any ideas?

#regzbot introduced: v6.12.11..v6.13.6

[1] https://forum.qubes-os.org/t/kernel-latest-6-13-6-boot-loop/32926

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

--jK9RafVCHRtlVVtN
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfkoQEACgkQ24/THMrX
1yw1pQgAiGheqvBVAzHRFCalG+1EJQd6wmukzpCgFaXCkqkogTtXUbL5pnar1ZGK
1FzPFjP788c944gItnjaT3DhndMNBosTVjxe3PuogF7hwZVM7DuJ3zsWpoQq9cyO
jsR/A3B25Nq9j4CM09Q74U+NRpS1sy3QtUH71D8+U0qhsc/RwrKzfrDD4RT/Az7X
OFU/6dT2hfi+4tlGWCSwPlSFss7oL6h2OvlfEBb8bKUoNX1C6r9wA4pMSqTI4mSz
HMUaAnKegjA5LekTjYiCoCX+CAm4yE03SPrVOimmLQa/Elh3s7PDt9PNesatzGxn
B5oM/RNS+k73QptVRsjTpl/DH8fS+w==
=zTtu
-----END PGP SIGNATURE-----

--jK9RafVCHRtlVVtN--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 00:56:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 00:56:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928398.1331109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txbXr-0007tB-6d; Thu, 27 Mar 2025 00:56:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928398.1331109; Thu, 27 Mar 2025 00: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 1txbXr-0007t4-4A; Thu, 27 Mar 2025 00:56:31 +0000
Received: by outflank-mailman (input) for mailman id 928398;
 Thu, 27 Mar 2025 00: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=QKAi=WO=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1txbXq-0007sv-GE
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 00:56:30 +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 50f97b56-0aa6-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 01:56:29 +0100 (CET)
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com (2603:10a6:10:516::14)
 by AS4PR03MB8363.eurprd03.prod.outlook.com (2603:10a6:20b:512::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Thu, 27 Mar
 2025 00:56:26 +0000
Received: from DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4]) by DU5PR03MB10441.eurprd03.prod.outlook.com
 ([fe80::eeb8:470:6260:e5f4%5]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 00: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: 50f97b56-0aa6-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GX/uM/78kuIYuPCIx7vifOxCmXOicx0IYfjQJ8jzhvjmgznKbPfK+uWuykYF38LanQ9pXMw1knmNMXi1ZQpUQZ3mggofHr0xFxTj3o2SGDX6jb9/UKolMujL0d+fkxj8/AZf7rhNkvXitZix133M0i2eYGABXoJFUURThk6oIgpDR/833dd0G2s6PVTf8SkUGcPjJFb8VZOklfLmdKxRVnbUNmFb8OygwMGxuaDC4kESXvSIJ861rk3rnznQnk7ceDQRXDGBw09CIlBB6ieI9OKSNp679dYCK2yyOfr5X/PVXTwSz0CRe0NumMruHKDPZGRXe3zqRkyEaJzTyOA2ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zg4ZfL+EzvDZDtyMQp4FFCGm0LoESOqGM+3TIfe4Ftk=;
 b=Vv5/eGsQEM6qPDZjKDQ0p97MdrbB6s/bBUAD2CXFANK/xvkqPHRWKlOIQ+O2JrMmaBinU5xxKNTCrCBbD/oWGmuYz9YVl2+mbY+CR21WfWYu/bDH0RT2M9bs+qI5a9Q7bb5sDUXrPsV4CWaPUYGn+qAOdt0/nbZ1AmtPSzgd6JM5S6B+OrVytYwQuECL2Yhk0nINaxyfrtbvYT7SYXDiYSMNz3FBVKrfjPkWNY2qSBqkSWuGl5qnOGqCoAkqULbLNhmSkSjDR4R2CGQq+HjBpayoLTPatJU8Pwh3sH/x3OP703Zrm/X9+feW7Qs3da8bxpJZY5/Ph2zU232/nX/T5Q==
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=zg4ZfL+EzvDZDtyMQp4FFCGm0LoESOqGM+3TIfe4Ftk=;
 b=npT252qLcWfyD8E9zfSGSaEkWTLiV9+MyGW3wZH3hSJFZjzHf6tuCeDHJCoPVXMLnzleYU4B7Y6qGOz23h4PsNNEmtpr6ePQ7KRrXe3Ggww9vgC8L9jNwdceN0KzWzw8vaZ18AwhnWXKNqe0C1byLMAeKigdp+AH7DzEjg+V+GKJQLrXVoEIA1fHJ5H3e1KT3A2R6DuiYLpEs79iD4fiLcCEP8n/E+le0OQ5oAPClYsVQkpYljFxhdiXx9VG+EO3n/Rm9zgzmnL8FboaRYsMkrRQyRLUvVB7AxfdamUo9T1Kaj07b5skB9iF7dh7Tb2LeSSLwEd7T/2MdjV0I4dPPw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <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>
Subject: Re: [PATCH] ARM/vgic: Fix out-of-bounds accesses in
 vgic_mmio_write_sgir()
Thread-Topic: [PATCH] ARM/vgic: Fix out-of-bounds accesses in
 vgic_mmio_write_sgir()
Thread-Index: AQHbnmbv4CnAg2LcQ06L+X8rg+2+kg==
Date: Thu, 27 Mar 2025 00:56:26 +0000
Message-ID: <875xjvi952.fsf@epam.com>
References: <20250326155121.364658-1-andrew.cooper3@citrix.com>
In-Reply-To: <20250326155121.364658-1-andrew.cooper3@citrix.com> (Andrew
	Cooper's message of "Wed, 26 Mar 2025 15:51:21 +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: DU5PR03MB10441:EE_|AS4PR03MB8363:EE_
x-ms-office365-filtering-correlation-id: 998bad44-4bbe-42fb-da7e-08dd6cca33b2
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?X344+aenYrvwCaXkzSNGgJ8H8K0tHChrOjFCNOOw39OxvZHJD41lxVl7iD?=
 =?iso-8859-1?Q?gErUkUrxZmryKjq4ibLLTgbEewmoccAuJbhhQrGuD7KgToLUSGXj/HHcgZ?=
 =?iso-8859-1?Q?mVziHmgdrruZWG01TQ/Jj8/f27Qn+osB15rYUwVO+f3+UoIzwTaIpVT2FL?=
 =?iso-8859-1?Q?kMFY4GB5Pd9FoylXHFUzBvWc+RqvwstlHV2e8hhrDuLDOsdsBiXuzsG/JA?=
 =?iso-8859-1?Q?QsrMGrVt2H4z45/WdImtgHfOHc2dpCeBoMgkKbru/znstpEY9oxqk5mq5l?=
 =?iso-8859-1?Q?YiVvbC0eyWN3dBMiSyebfTXvrFq6XS8WwNQXh7qT2YMCkzRw5xzg8azjKR?=
 =?iso-8859-1?Q?QQhusKmOdYFOqoMLIFnbiymUfLnQ40/fhCcsvJy967FNuozBJPt/YjJXQz?=
 =?iso-8859-1?Q?b3CZK5dizonveITmKd8EwrDRCymSuzyzW5BjyR9WOLcYrMDtnBz6IDK8oL?=
 =?iso-8859-1?Q?9JytCAnZ0YCXpBp++LNmX3+BBvg80TEv+a/2azFVoQB5cPKxnArZDSKqqA?=
 =?iso-8859-1?Q?klgvb10Vho9UO+xQLLc6SkDZzJySKnx0ii/GX6K/zPBC0w1TeospWExqIC?=
 =?iso-8859-1?Q?74JXk6oMdFcpf87SakK2Bj/gYF7Cz2yx6Pe3fHeLN+xjTud9ESaqnb/YaV?=
 =?iso-8859-1?Q?rWlUDhndL+L/IBSIDojp2ao9wfX/JKgU8QFQdre2HVR4QXrhguNWCCrcJG?=
 =?iso-8859-1?Q?ffnVBfMKhzXCj2nW8h+TK07otduuuCC6PHyOzVj+t5cbtvZDi0htPh6fL/?=
 =?iso-8859-1?Q?M/jghLI/t4jZL3WI/BxvX6TF4lBEu7rcGIFdd5yzxEevzYMVlbGDlpt/b6?=
 =?iso-8859-1?Q?EC/EdBPu0JFJPxpQzFnmD8LNW3jBGbRFF4SnceJtf6aSty7eDvvTigHTBO?=
 =?iso-8859-1?Q?M5J0gL17OG2qY3+NtLoScHzjrgnJXshPJ04cygaijufuZaV9x75rg2ku6O?=
 =?iso-8859-1?Q?VLelRzrjJLjCTX1b9xzBfkMzHPTBsIzE28qP92diRTRzGonZo82q8AFmkG?=
 =?iso-8859-1?Q?OSJpFl0DZvPIQ+aTX9+r9bP88jwM7d26biSSxrWKZyztzzumnbTuxntGzn?=
 =?iso-8859-1?Q?heXix2GgncJZ1B0+2CEUE8ocGXNrZYLG/N+tJ8u77xujARyAmX8QxkxYHE?=
 =?iso-8859-1?Q?GzCu9GiO7y5dOu72zNWScLYI0cEsbaDQlH5Os4Qx/q+ZbAk1L0nH9U9ckg?=
 =?iso-8859-1?Q?QlmD3MP24ejEfs30hVgx+Q4QyE2H9Wa5bXNDwQpqrKLbfm6f+GE4I3k4f+?=
 =?iso-8859-1?Q?nlO6qiLydPWpFwfM7f64hV+hhWXzubE2O9EqdrmcHpXTopnaWEQMAL/Jfv?=
 =?iso-8859-1?Q?R8f/gtTo/QjYKONzhNdgICRIF2+jdp+Ugfmr7Xj/Nmz/reomelgDvN5oAl?=
 =?iso-8859-1?Q?2idCp92Zan81lFKHnt6pWS2UdlzQAs6M2Eul1NmiSydnzqirEV6tNl8tEK?=
 =?iso-8859-1?Q?nxVSxKdZlRKiwz74p6ijsde2//LoMYVU0gUgPy2OXC+sadVxrOsTAaEke7?=
 =?iso-8859-1?Q?p9wewmUbXg9gMm9LqGBSjo?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU5PR03MB10441.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?ldXFZ+AdhKoFXvrTiAOTCGeGKbmtRoHOXear9EeVCgBsx7dwIxwpP80nVZ?=
 =?iso-8859-1?Q?hsVBdgRkcEK1aIPLzp9dyHGT0FP3EJ2PYC1UO6+5Rb1+7f54wxRUrs+M/T?=
 =?iso-8859-1?Q?qO05BsNCoUa29+5vjM+mY+fe9lt/fT0/ayi6xpJuPDiGlbwvaKS0gJ7OM+?=
 =?iso-8859-1?Q?AguvLsHK89KxpZdTLOTzCiK55kRlMoIHxR0X6d930VByntuJKJkmkbw5Xg?=
 =?iso-8859-1?Q?AtPKDB3WS93Vq7AIVhPTw/Dt7zy0qCUNmtS6buHKdTA5xGwDCn7vUwPLcm?=
 =?iso-8859-1?Q?ntdfqtvf13t9MouH8Vfuy1WHxfI5z6oaNGXeI5eqQzpmfxaEVs8KDAwWDH?=
 =?iso-8859-1?Q?RoOuedGZK12H+4zQhhAjtxgZwKIlcq9gDYc9F+oXc8LWdElpc/HgOGf5Xc?=
 =?iso-8859-1?Q?SRKrYDvMlH0GbREvjmbGC7ozyvLPefB+Py8PeuL6+Sf4dMFWrFoFRP0X9a?=
 =?iso-8859-1?Q?Rx1320fgXmVBSyvgtzJYlR5XwSi3Zfihbsh/Ka+q0Od6W5w57kN9vHShcU?=
 =?iso-8859-1?Q?FdUmZmaH5bNckJPAI1VkDyHCIU+sTPG7DGU/BNWczGRrJpy+udS7a6TanJ?=
 =?iso-8859-1?Q?D580dbEMmY2nVjT7lzeM1+bPVo+CkIa7K4vChQoo5QXNqcFJL5y+Am0FPQ?=
 =?iso-8859-1?Q?IFjUuLJJyLWbMAK8jbQAkYvIY39090DjEh3fNHKHgf6Ai6L/SGR1zSkGto?=
 =?iso-8859-1?Q?WexKXiG4+e6Yqbi1sv/8rdMFsXNNtKHgqP47f1ddK9nr7AdZleKbQllSC1?=
 =?iso-8859-1?Q?75q2NSjg16qHWZ+X3iWSotrFz/C9GbQeicxmdZiRSvm3kVGky4m/d/UjFw?=
 =?iso-8859-1?Q?qsdx0Jt02Wxmt2buRLCC1akJHHBjDM9Bg00ujPm6QHLF7zkKx+fgDhRMYz?=
 =?iso-8859-1?Q?uBzzs1+hoO545NqK4I7QjCFCa46CVnxwvmDa/B4B6BZfR5j/3ngWQIpYFH?=
 =?iso-8859-1?Q?mrBHAwMpchJKlqh9L7vfCR1T92/ghq49JDWMVqhz57ZiurT1pFsHGztIp2?=
 =?iso-8859-1?Q?4SxEtUxhS7xES55Is0W9BYHQ9JlAWxGWraNdwz9ckgJRQmnZZ/xBj71lkj?=
 =?iso-8859-1?Q?BphDqUtV30tVUaKsgGhlHnm7D1BEQOERm9323AZPBs+856VH9w8dSoXISG?=
 =?iso-8859-1?Q?oLppAZk3dy/V28sFX5EzB/in4Vr0BZr4gfwaZAFwjqWyDyLVkZHmLyZKTF?=
 =?iso-8859-1?Q?VMuYkJ1SW+7xJL7Lz2HmvRoLJ4H/PRzCEUmaFEyaQrf5JF8DzFzWXuuyxQ?=
 =?iso-8859-1?Q?iAApW9erHLVYXHSTclfoRzatXsP1z0CWyaW6wauzljuxXEbPo5SOOielKs?=
 =?iso-8859-1?Q?M1pL41G+ajkmlFqKruTkPKiUJuxyRkooiCA6Vf1LStL688iVd3SrTLx5tj?=
 =?iso-8859-1?Q?hRwrI9/AnWGHjo0v3RallXSNPExdYr2+IfSqDan5HjOsD2+fWxgZGplS0J?=
 =?iso-8859-1?Q?SIP+ytZhPsNRnYutOoMJToxyWobsL133wSWj3t1iWBvzKX8uCUM3pHh39U?=
 =?iso-8859-1?Q?N41yWb2ETuUkShGkKSixEpI3Wa20DXjYhNWdNMlFE0hL59vgtiRKUx3ELd?=
 =?iso-8859-1?Q?GXPaOP5BjsPRkN6mqPytBqvuJfsVPq07/4vwb2kUnvqYVz5fpvG8ifRg2N?=
 =?iso-8859-1?Q?PgBVuGHqSNFyj7wCPGD9g5TzEE8MkaHhl7BEGty05vovwlLRieoozaFw?=
 =?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: DU5PR03MB10441.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 998bad44-4bbe-42fb-da7e-08dd6cca33b2
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 00:56:26.2907
 (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: vYFjjav879Shy75GnVDc+VXKVJPpzhr1FpIQjXJltVNw+L/4nSEmYrz98Uxxp3Mo8OMIuMvc3RvnQOpxY7zeDc9sTgQmFt5grybrH4c4A4o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR03MB8363


Hi Andrew,

Andrew Cooper <andrew.cooper3@citrix.com> writes:

> The switch() statement is over bits 24:25 (unshifted) of the guest provid=
ed
> value.  This makes case 0x3: dead, and not an implementation of the 4th
> possible state.
>
> A guest which writes (3<<24)|(ff<<16) to this register will skip the earl=
y
> exit, then enter bitmap_for_each() with targets not bound by nr_vcpus.
>
> If the guest has fewer than 8 vCPUs, bitmap_for_each() will read off the =
end
> of d->vcpu[] and use the resulting vcpu pointer to ultimately derive irq,=
 and
> perform an out-of-bounds write.
>
> Fix this by changing case 0x3 to default.
>
> Fixes: 08c688ca6422 ("ARM: new VGIC: Add SGIR register handler")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
>
> This vgic driver is explicity not security supported, hence no XSA.
> ---
>  xen/arch/arm/vgic/vgic-mmio-v2.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mm=
io-v2.c
> index 670b335db2c3..7d1391ac9b48 100644
> --- a/xen/arch/arm/vgic/vgic-mmio-v2.c
> +++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
> @@ -104,7 +104,8 @@ static void vgic_mmio_write_sgir(struct vcpu *source_=
vcpu,
>      case GICD_SGI_TARGET_SELF:                    /* this very vCPU only=
 */
>          targets =3D (1U << source_vcpu->vcpu_id);
>          break;
> -    case 0x3:                                     /* reserved */
> +
> +    default:
>          return;
>      }

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 01:34:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 01:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928408.1331120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txc8f-000835-UK; Thu, 27 Mar 2025 01:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928408.1331120; Thu, 27 Mar 2025 01: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 1txc8f-00082y-RM; Thu, 27 Mar 2025 01:34:33 +0000
Received: by outflank-mailman (input) for mailman id 928408;
 Thu, 27 Mar 2025 01:34: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=SxjK=WO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1txc8e-00082s-R2
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 01:34:32 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0f28b26-0aab-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 02:34:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 06115A401B4;
 Thu, 27 Mar 2025 01:29:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BB246C4CEE2;
 Thu, 27 Mar 2025 01:34:28 +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: a0f28b26-0aab-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743039269;
	bh=4evYnni4ymNnLfjOMXkEzYt8QlQ++HFdDFluQzw0Sfs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NSSmxMD3vvK/qGUqw0SCIy5Q1nhkzoE4bj3OXU1bxckCpIyLaVDyX3pfQvxhBxbho
	 JNKcpDW0kHBqqFwCBdA/tp38eDPgwu9Ke5VI39CQSZck4qPp1T8k5u8CKSaTAnFLWH
	 NHwTXKiqzaosPnVbqwxY70rx/1TFaP6l1v8ZLP4jqTESlHgR2Nf9LQyzdxOCqRzSX/
	 oj7bs8BkZwErHz6zaP/2qQbZMywBUH+xVyqxbaJ6+gcz2PigQmT2+tholM7KOJz4zV
	 FQ64RCOONSo8INVmjJHmewr2p50/vpTQC4MkXaFFtZor6JUQWxpK6A8nyfFEg99LNY
	 QREyHMiSo8EkA==
Date: Wed, 26 Mar 2025 18:34:21 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Xen-devel <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>
Subject: Re: [PATCH] ARM/vgic: Fix out-of-bounds accesses in
 vgic_mmio_write_sgir()
In-Reply-To: <875xjvi952.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503261834160.563920@ubuntu-linux-20-04-desktop>
References: <20250326155121.364658-1-andrew.cooper3@citrix.com> <875xjvi952.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Mar 2025, Volodymyr Babchuk wrote:
> Hi Andrew,
> 
> Andrew Cooper <andrew.cooper3@citrix.com> writes:
> 
> > The switch() statement is over bits 24:25 (unshifted) of the guest provided
> > value.  This makes case 0x3: dead, and not an implementation of the 4th
> > possible state.
> >
> > A guest which writes (3<<24)|(ff<<16) to this register will skip the early
> > exit, then enter bitmap_for_each() with targets not bound by nr_vcpus.
> >
> > If the guest has fewer than 8 vCPUs, bitmap_for_each() will read off the end
> > of d->vcpu[] and use the resulting vcpu pointer to ultimately derive irq, and
> > perform an out-of-bounds write.
> >
> > Fix this by changing case 0x3 to default.
> >
> > Fixes: 08c688ca6422 ("ARM: new VGIC: Add SGIR register handler")
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

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


> > ---
> > CC: Stefano Stabellini <sstabellini@kernel.org>
> > CC: Julien Grall <julien@xen.org>
> > CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> > CC: Bertrand Marquis <bertrand.marquis@arm.com>
> > CC: Michal Orzel <michal.orzel@amd.com>
> >
> > This vgic driver is explicity not security supported, hence no XSA.
> > ---
> >  xen/arch/arm/vgic/vgic-mmio-v2.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mmio-v2.c
> > index 670b335db2c3..7d1391ac9b48 100644
> > --- a/xen/arch/arm/vgic/vgic-mmio-v2.c
> > +++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
> > @@ -104,7 +104,8 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
> >      case GICD_SGI_TARGET_SELF:                    /* this very vCPU only */
> >          targets = (1U << source_vcpu->vcpu_id);
> >          break;
> > -    case 0x3:                                     /* reserved */
> > +
> > +    default:
> >          return;
> >      }
> 
> -- 
> WBR, Volodymyr


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 02:11:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 02:11:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928420.1331129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txchv-0000FQ-IC; Thu, 27 Mar 2025 02:10:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928420.1331129; Thu, 27 Mar 2025 02:10: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 1txchv-0000FJ-F1; Thu, 27 Mar 2025 02:10:59 +0000
Received: by outflank-mailman (input) for mailman id 928420;
 Thu, 27 Mar 2025 02: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=SxjK=WO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1txchu-0000FB-FU
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 02:10:58 +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 b74623c5-0ab0-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 03:10:56 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 0DC8F61161;
 Thu, 27 Mar 2025 02:10:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D6D8BC4CEE2;
 Thu, 27 Mar 2025 02:10:53 +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: b74623c5-0ab0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743041454;
	bh=n8nunGwFKW2BRd716thzDPCmgW4xhACIDhXx6ZW6sYU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sxJloY8360ZyQfGOnhW0ZP1vW85cH7j3xM42d/HKA3BH06agcMG30NtyK85pKEcum
	 FDUWm63GwkxvMFGlzNMrCvhph2jhogfhEfGUFoGrigA6q+dt1VnDdCewaqfzdsD4E6
	 m7QzQls2p8W8+1RxF4ARkvV7hHVnysUD/tYxpVWbQB6eWu0yeaQkV5obMVm8ZAKuxL
	 ilL0bwMqdXhYiZGUPKFtZx1hHEHj8ReICxg4RCjq3zpN9oiO53JHSOFmudkrLIWwlN
	 x/OVLNkxwoIDItZE60DfdiJX4tQLeR5oUBuivU/E9UxuUNIhNovk1F5xp07igroELM
	 ZzXZqWwAX18GQ==
Date: Wed, 26 Mar 2025 19:10:52 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Anthony PERARD <anthony.perard@vates.tech>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] automation: Avoid changing source files for randconfig
 tests
In-Reply-To: <20250326142754.5441-1-anthony.perard@vates.tech>
Message-ID: <alpine.DEB.2.22.394.2503261910100.563920@ubuntu-linux-20-04-desktop>
References: <20250326142754.5441-1-anthony.perard@vates.tech>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Anthony PERARD wrote:
> We should avoid changing files from the source tree if we don't intend
> to commit the result.
> 
> We don't really need to check if $EXTRA_FIXED_RANDCONFIG is empty so
> add it to the temporary file in all cases.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
> ---
>  automation/scripts/build | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/automation/scripts/build b/automation/scripts/build
> index 522efe774e..8a3b8fb6b2 100755
> --- a/automation/scripts/build
> +++ b/automation/scripts/build
> @@ -12,12 +12,12 @@ $cc --version
>  # random config or default config
>  if [[ "${RANDCONFIG}" == "y" ]]; then
>  
> -    # Append job-specific fixed configuration
> -    if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
> -        echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
> -    fi
> +    cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp

Wouldn't it be better to use mktemp?

local tmpconfig=$(mktemp)
cp -f xen/tools/kconfig/allrandom.config $tmpconfig


> -    make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
> +    # Append job-specific fixed configuration
> +    echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/allrandom.config.tmp
> +
> +    make -j$(nproc) -C xen KCONFIG_ALLCONFIG=allrandom.config.tmp randconfig
>  
>      # RANDCONFIG implies HYPERVISOR_ONLY
>      HYPERVISOR_ONLY="y"
> -- 
> 
> 
> Anthony Perard | Vates XCP-ng Developer
> 
> XCP-ng & Xen Orchestra - Vates solutions
> 
> web: https://vates.tech
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 03:13:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 03:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928435.1331139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txdg3-0004Yn-UU; Thu, 27 Mar 2025 03:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928435.1331139; Thu, 27 Mar 2025 03:13: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 1txdg3-0004Yg-RM; Thu, 27 Mar 2025 03:13:07 +0000
Received: by outflank-mailman (input) for mailman id 928435;
 Thu, 27 Mar 2025 03:13: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=S28+=WO=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txdg2-0004Ya-Af
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 03:13:06 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20616.outbound.protection.outlook.com
 [2a01:111:f403:2409::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62458072-0ab9-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 04:12:59 +0100 (CET)
Received: from IA1PR12MB8467.namprd12.prod.outlook.com (2603:10b6:208:448::9)
 by BY5PR12MB4305.namprd12.prod.outlook.com (2603:10b6:a03:213::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 03:12:55 +0000
Received: from IA1PR12MB8467.namprd12.prod.outlook.com
 ([fe80::1633:cc45:8177:a91e]) by IA1PR12MB8467.namprd12.prod.outlook.com
 ([fe80::1633:cc45:8177:a91e%6]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 03:12: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: 62458072-0ab9-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UpoxZvwkXbB7vG+r7N6h3+ooeJOorHwTwy3M9mXwzffd4cU5bM3qvcXRJJ+UZf8VZwHSxv399mrvKHUQ8iV0VRa8pxu0gmZ69IF4R/u8kp3Mh9oqj063T9iGcCUk16S8EnjgISmPJXeGRYk1skHY1suwhucNAY8+4rcbquE7MM9riU52Ek58eLUP8Vq12PBVY+1qbWqBvdMMLuPxZAAajG/UXy8A4bMU0Pv0kuSgRV1LUeZ2LQLY8lHQN4suBHxHaFKyTvKz7WKMusWtFxGLd+Y6rlrsw01tVJwiYSuezpZevT0j3XtaWniVY3UE7Xr0QywO7a4gLy1Dr5OurW2UGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8LJM5PtC3Xxr6vped4HW0mD8Ydgluadw/ZZCZTOrU3g=;
 b=qwFqeojME3EFN70wxbd/8em5V44CaXQ2fcvS0Ugqn+FkjcOjMcazpGQZPTGlt2W3DbsPdaki3Xht8QR/G87y162LHhMZMWe6dG4SnPhKNbNa5FQr1pcyPD8qPgjOHeF3gty417WINwRIx9qMgBTRVTeA7pvK9xxkZ/dL9/PM9WGW8F/+HuSE2lqj5tCo0iOW1fD/Nw0UJfhJmqlXtN21LOflmCvpO0DGXOK594+D1yuJgtsPoELGbzoWjwtqonQ22MSzGBpAMY9wm0doQu0CFKpqZBNcqNsxPpShNITisoivcil2AXwHz/3GG0/W6n20bf6jB2I08alEzUJ9lJTv+w==
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=8LJM5PtC3Xxr6vped4HW0mD8Ydgluadw/ZZCZTOrU3g=;
 b=2H7DVjl/U2U49/w99HGoHfddM7M/pK0ZJdJPJOFvvsfMrOdyPkbNARuiChqUECkMTf6FOobxl8d8gpc836rcMEWRqYw6wFA+66hv90vhP1KmJzIpsGujBjvblVcqFSEG1Qi1gCWeXve+FLGfhnQ0lhGj/daTnWiEuHfTMVAqCUc=
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>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
Thread-Topic: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
Thread-Index: AQHbjnNu8gKP+BdRfUqUIswSBCp7ILOChUeAgAKrd/CAAC16AIABDVww
Date: Thu, 27 Mar 2025 03:12:55 +0000
Message-ID:
 <IA1PR12MB84674DAE3F0FD2DB2DD87F17E1A12@IA1PR12MB8467.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-6-Penny.Zheng@amd.com>
 <5498f98e-f3c5-4cb4-9a3d-793239a4339d@suse.com>
 <DM4PR12MB84519AF2B72DDDF50CA8BF18E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
 <df911e05-df3d-4f16-992e-a1931ad00099@suse.com>
In-Reply-To: <df911e05-df3d-4f16-992e-a1931ad00099@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_ActionId=e32bf465-8cc7-4698-b80d-8819d837cd8a;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-27T03:12:48Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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: IA1PR12MB8467:EE_|BY5PR12MB4305:EE_
x-ms-office365-filtering-correlation-id: 58ba6228-8f88-4739-30aa-08dd6cdd44f7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?YjlHZ0UyTVN1R3pCZzhDcXBtQWhuWjA5YnE2WTRCQ1lOYnhFTEFBTExpNUcy?=
 =?utf-8?B?bmJibDFHVHdLRWM1eDV4VTV3KzBOUXZGOTViMHc3RDh3bmhJdjhLYUdCbWtQ?=
 =?utf-8?B?bGU3SFNsODR1NXREOXc4Y0V4QzJmbUVrVkJadGVNc2V2ZzRpUTdQU2Z5blJT?=
 =?utf-8?B?Y0RNa3JSelJxcVRiN3czWGwwaE9UWVVGdnlxWks5UTE0a3MxbHZyRFdUUUww?=
 =?utf-8?B?dFJWa2hON1B6VVdCN3RNUjEwSzBuMDMrWEVOaU9ZZE1odDdQd0toamN6N1Zj?=
 =?utf-8?B?NDFWMkhMYncrTVdvNGZJSWw5RkxIY1NUZWxEMkppWlFHdEJwU29UaWNuS3Ux?=
 =?utf-8?B?YzREczkzb2tCUUxlemp0aDBNdWpkMFFQeHpqMFhrbitRNnd1OFcycVdKUWQ0?=
 =?utf-8?B?SjhrdmVQczZwVG9GR2lIZkdMV280a04vWnlzK3hKaGFzTkxqSDN3RmFaZUJY?=
 =?utf-8?B?MW9nNWtlOEpTeHl2emNsUDdNblp3OHg3RnY0UVJ2ZW9aeTh2a3NEcytvZTQ2?=
 =?utf-8?B?NS91ditCMDcrK2ZGa3AyZFd2Um5NTUV1UkpBQXZFVVE4YlN3YTByOGo2R2NS?=
 =?utf-8?B?enh0S0dYTVJPamU1L3Zpb0dIa2s3bS82eHkwaTl3TmdRYldkS2hmYzlZV25p?=
 =?utf-8?B?UnZuL29qVGtURDVOR1hPT3cvOUxWV24zUzZHdjlCRVlwSmRic3FjTDVKWmEw?=
 =?utf-8?B?MFhmSDdGZG5vR2wvbUFXOUdKek1TVGFDR2FPaXA3d1hpS0VyVEJmRHhUdCsv?=
 =?utf-8?B?K2xGV0RWTE85d2F3M2s2a3RkR0dRTWpzYkdaRGhSYnl3QTV2T2VlZWtwb0l6?=
 =?utf-8?B?UnlWV2tvQXRJYXE0ZnVReGx1OHY2M2F3bldwOWVnNUpVT1NvWThEN2hpbGN4?=
 =?utf-8?B?NTBGcGpUSUNSVjcwSFJObFFuS2Z5Z2tyN0dSM2FsQUFNR2ZNZU5zSG5rWUJ0?=
 =?utf-8?B?NTBOYVlDNTZXSTlzTHkrNzU2eXBsWW9kU2xzajlyMDZ6aXJ6ZmRuaitHUmlY?=
 =?utf-8?B?Uk9WNkEzRDVJVElIanhHM3ZKS1BCazdVLzNGNVQ1TER3eVJSN3Y4a1VuR082?=
 =?utf-8?B?cXJnTDl4amhqSU9nSDVsME1FU0RPcUNRQkdOL2p3c1RuQnpCNWVHRkYxMVdQ?=
 =?utf-8?B?UjFZMDQ4bWlFbkpXRzFReHpHcnFVaTMvS21zbStGRk1LRVc1ZE4wbUVSY1pL?=
 =?utf-8?B?NzZqMWVMOEo1U2N6TkZYUXM3UDZpWTltdXZ0aVFyckw0RmUzd3ZKNHRMbGN6?=
 =?utf-8?B?TlZRampvazV0d0hwQ0FBVEJ5ZlJXNWhySmdYaVlGWWcxaC9NK1V3dVRsSFVK?=
 =?utf-8?B?elNqdTlYUzUrcXQ2K3dNU2grZUR6T2puU0pwVHhuSHZ6cFJNN0VRNmJiTnc1?=
 =?utf-8?B?czdxRUljVHpta3phMzF4MVpVL3RoemdVTmZkeUFDcnhPRlNwNjFhSFUwTXJ1?=
 =?utf-8?B?YmhmQmpUajNFVW15UGx2VDBwQldpdHFkSHVwQ2dLSUROS0NyeWh4Umh2QnhC?=
 =?utf-8?B?UXlRUlRBOTFLcStpV0srdm9TNS9NaWlQYWJFejFDc2VlZ2ZtQUl6MkNSblZ4?=
 =?utf-8?B?czY5Zm9hME16Rm5MTThVVnFuSEhPcWl4dFNBSlZKQWp0YVc1TFFLMDlXUXpK?=
 =?utf-8?B?T3FVUFZpTkFydEx3UGdESVBqWk9hWE5lV3ZtVk0reWlKdENUOGZYL2J4em14?=
 =?utf-8?B?b1pFTmlUK1lsOEFISzBYWjVuQ0FPWXJweUFjdjBDSzZUNC83WWViblNnejZE?=
 =?utf-8?B?eUNCczZmcFcxcGFtQ0VQT0ZxQ3A4WVAxUmZVK2MwOExKQkM4dkNzcG5SbSt2?=
 =?utf-8?B?Z3JsL1NEUVoyVnNsN0dLVzVqL1ZWbm1jREpkYWNRMUJvRHphcjJhNUFZZU83?=
 =?utf-8?B?MWJ5WnZlemxrN0xJUjNwN1FiUTgxdUF2bENQM28vaEZNZGF5RUQzbUFERW5l?=
 =?utf-8?Q?Mktt4l2bSTv0jGStd0BQStVuQgjtvnVh?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR12MB8467.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ajJWV3YwOWZMMFBVTFRVbUo0eDYrRXlLejBybUJEeS8vbnByMWNJVVh2OUla?=
 =?utf-8?B?YmltY2dUNkFpY3lkNFFmYW5SMHJGb2JDTlBKY0xFS2dZbXhTMEhHY2pEcjFS?=
 =?utf-8?B?K2lBa0puUmNKNjE1R3FLMnpRUm1HYUVjNEhTRWljeEFGbDF5c3BkTXc2dDJW?=
 =?utf-8?B?Q28vK1kwVzMzcEZVNnZBRSsxeWhidmF3c1oxcjZjRCtyaWFSczNFaHZaZFpm?=
 =?utf-8?B?M2ZNNG9aeFlZbzRzZyt2YXJieWJ1U0xZcWZsMktwU29NcXM0SmJqZ093dllO?=
 =?utf-8?B?UEhSNXROVk9iNjVOb2RMb3VGNG5GQWVpTG9TOWM4bldPYzNONEJsek1IdnJM?=
 =?utf-8?B?U1ltWjkwVGYzZHMzQlhlUHphdGVlYWxlY2F5MTJmek81b0xQdFRRVTErb2Ur?=
 =?utf-8?B?dEVQRUFVdDh4VVBJWloxeUdSYmszeDA3dXBZbGwvNHpoVG56WXcxK1lQS1c1?=
 =?utf-8?B?TGlVWGJuNzF2Znl5TWtlYisraVFyb2NMTjRpT1dERVI4c29UZWpSVzlrV1lN?=
 =?utf-8?B?RjJOL2xDM1AzWlYwdUhsbHNHSGtjMWpMY0piTmR5TzY4Ukh2WDhlUkFma3Vy?=
 =?utf-8?B?SlVMeDJoSjZOUGx3UitodkRJZXZvM05RV1ZPNDVHTFNRSUdLckxYbWxtRmRu?=
 =?utf-8?B?SU1PQ2c2Y0RpU0VyMktPUXhjNHhzQjBUWGlsNlQ4REJDbS9ka1RXdW1HRXVw?=
 =?utf-8?B?VjlIVkxWd2tmNkxwdGdYRWhKWHhnUms4RjZoaHVpWkZqRG1WTXlESFJneXh4?=
 =?utf-8?B?cjFsNkF0eHpoa2JpRDBKRjRNN3M1L1NmNXJKVU5ob2pxY1BJa3Z2NTJtQnl2?=
 =?utf-8?B?V3g4WVdOQTJZU0VLd2RoeENrazhGcUFrZGVMc0thNUUvRnpKaXNOOWQvNE1h?=
 =?utf-8?B?cEF3MUVlMFA1YkFwU0tUa2lXNVQ2UUtFZFluNHBJTHczQ2dmc0NBNzkxcDhM?=
 =?utf-8?B?V2w3RktMOGp6Y0NwSDZlZSs0aDc5UnFxUHNLdTdCaGZVMG5rdmxBK1RJekFI?=
 =?utf-8?B?aVZzUENSczdVYXV3TURlRzk4TW5hUjRYaytTR1NPZmFYcytrbDhmdWgwbm5R?=
 =?utf-8?B?QjVHUVJHcndaUnJvV2tjUU5uVk5iNUg5YTZESmJMQW1XMW5ZMnkvN3U1dnFw?=
 =?utf-8?B?RkUyWEZ6REJlOThWTUxJUk1BY0JmVW9ReUpCUHlRQ1cxRFdvNWNwUVg2dWsy?=
 =?utf-8?B?dms0ZHZGK2xSWTZYMmk2bG4rNWJ0RWNmTEVQbGlaY2JFOE1JMCtDL0YvMVd2?=
 =?utf-8?B?d3QxSUErSFhvM05FcDBCK0I3djcxbDAvM0x4eWpnZVpRSFlNVEc2dW5NVnpL?=
 =?utf-8?B?QVJ1V0p1eGRaeEFLWkhzalVRR2hNUTBMQ0tUUWdXQ3FEU09KS2VxZ3VCQ1ZG?=
 =?utf-8?B?SnVPczBNTmJMaE02dWlycFFkTEoyYThucXJmRVpmOGxZZGp2RC9qQ1lPRjZ1?=
 =?utf-8?B?K0sza0czOWV0WEtKRjNoRFZuZHRRSmRsaFVOK2VwNFJMNGVrMTU1VU1pYkR5?=
 =?utf-8?B?ZTN1Rmx1bGJVY08yM3BEVWgxWUxVdFhETC80ZUZYeUZzbENidEhvZlQ2QnhR?=
 =?utf-8?B?d1JNK0hkK0pHKzlWWWFFOEt5b1BsR21uSlhPY1VEaVZpZ0xyNkpqT3ltM1Nx?=
 =?utf-8?B?NlExMEhHUVdtNHpHeWhFdWZQeEF5MHFTV3BCK1R1VHJLQ3JxR2czS2ROcloz?=
 =?utf-8?B?bkJYMmxubTJ1OFJPUEU0Vjc3VFlLODM0Z1VvUnBLMmhibjNWMyswaW9HMTBG?=
 =?utf-8?B?bFZRNStzOUhtcHpYaXRYMFdWN3ZsdUc5UFJHVThtRWFSTFllWlJkRnFFcllR?=
 =?utf-8?B?ckNDcVhyNmt1dGZHcTVoK0ExTy9QckFaZjBsLzQ4QWh3VUFIM2dNSVhKRnFh?=
 =?utf-8?B?b3ZxUnJMTzJUcXNPdDMxNVpHN1gvZnNpdVNCQXNHUm9SSCtROXBuUkFMMSta?=
 =?utf-8?B?Vk9IZ2h5eEp3eXV4b01MVWIxaWJkckhjSWxsK3FtZWxBcmcxTEVieE81YUVI?=
 =?utf-8?B?QWE5RndXZGsxcWJWcUtDdjZ1QnU3L3QweGVoSm9qWE5Tb2s2MkNrRVJJd2VE?=
 =?utf-8?B?RUNhTzl0MFVZcUtHTXpzUVdUQVBJRDk1TlZLamVJWkNtak12S2xJM3drQ3Mv?=
 =?utf-8?Q?FwzI=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: IA1PR12MB8467.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58ba6228-8f88-4739-30aa-08dd6cdd44f7
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 03:12:55.6671
 (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: r6ft/24kP2ev+46kFpyhvK2txRCqtfSuY5nUPclYS9IhQd3nqv9LyUSJMJolr0LkWeFgu08QmYJIP/XqzV32RQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4305

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIE1hcmNo
IDI2LCAyMDI1IDY6NTUgUE0NCj4gVG86IFBlbm55LCBaaGVuZyA8cGVubnkuemhlbmdAYW1kLmNv
bT4NCj4gQ2M6IEh1YW5nLCBSYXkgPFJheS5IdWFuZ0BhbWQuY29tPjsgQW5kcmV3IENvb3Blcg0K
PiA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT47IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBl
cmFyZEB2YXRlcy50ZWNoPjsNCj4gT3J6ZWwsIE1pY2hhbCA8TWljaGFsLk9yemVsQGFtZC5jb20+
OyBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgUm9nZXIgUGF1DQo+IE1vbm7DqSA8cm9n
ZXIucGF1QGNpdHJpeC5jb20+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l
bC5vcmc+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggdjMgMDUvMTVdIHhlbi94ODY6IGludHJvZHVjZSAiY3B1ZnJlcT1hbWQtY3BwYyIg
eGVuDQo+IGNtZGxpbmUNCj4NCj4gT24gMjYuMDMuMjAyNSAwOTozNSwgUGVubnksIFpoZW5nIHdy
b3RlOg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+ID4+IFNlbnQ6IE1vbmRheSwgTWFyY2ggMjQsIDIw
MjUgMTE6MjYgUE0NCj4gPj4NCj4gPj4gT24gMDYuMDMuMjAyNSAwOTozOSwgUGVubnkgWmhlbmcg
d3JvdGU6DQo+ID4+PiBAQCAtNTE0LDUgKzUxNSwxNCBAQCBhY3BpX2NwdWZyZXFfZHJpdmVyID0g
ew0KPiA+Pj4NCj4gPj4+ICBpbnQgX19pbml0IGFjcGlfY3B1ZnJlcV9yZWdpc3Rlcih2b2lkKSAg
ew0KPiA+Pj4gLSAgICByZXR1cm4gY3B1ZnJlcV9yZWdpc3Rlcl9kcml2ZXIoJmFjcGlfY3B1ZnJl
cV9kcml2ZXIpOw0KPiA+Pj4gKyAgICBpbnQgcmV0Ow0KPiA+Pj4gKw0KPiA+Pj4gKyAgICByZXQg
PSBjcHVmcmVxX3JlZ2lzdGVyX2RyaXZlcigmYWNwaV9jcHVmcmVxX2RyaXZlcik7DQo+ID4+PiAr
ICAgIGlmICggcmV0ICkNCj4gPj4+ICsgICAgICAgIHJldHVybiByZXQ7DQo+ID4+PiArDQo+ID4+
PiArICAgIGlmICggSVNfRU5BQkxFRChDT05GSUdfQU1EKSApDQo+ID4+PiArICAgICAgICB4ZW5f
cHJvY2Vzc29yX3BtYml0cyAmPSB+WEVOX1BST0NFU1NPUl9QTV9DUFBDOw0KPiA+Pg0KPiA+PiBX
aGF0J3MgdGhlIHB1cnBvc2Ugb2YgdGhlIGlmKCkgaGVyZT8NCj4gPg0KPiA+IEFmdGVyIGNwdWZy
ZXEgZHJpdmVyIHByb3Blcmx5IHJlZ2lzdGVyZWQsIEknZCBsaWtlIFhFTl9QUk9DRVNTT1JfUE1f
UFgNCj4gPiBhbmQgWEVOX1BST0NFU1NPUl9QTV9DUFBDIGJlaW5nIGV4Y2x1c2l2ZSB2YWx1ZSB0
byByZXByZXNlbnQgdGhlDQo+IGFjdHVhbCB1bmRlcmx5aW5nIHJlZ2lzdGVyZWQgZHJpdmVyLg0K
PiA+IEFzIHVzZXJzIGNvdWxkIGRlZmluZSBzb21ldGhpbmcgbGlrZSAiY3B1ZnJlcT1hbWQtY3Bw
Yyx4ZW4iLCB3aGljaA0KPiA+IGltcGxpZXMgYm90aCBYRU5fUFJPQ0VTU09SX1BNX1BYIGFuZCBY
RU5fUFJPQ0VTU09SX1BNX0NQUEMNCj4gZ290IHNldCBpbiBwYXJzaW5nIGxvZ2ljLiBXaXRoIGFt
ZC1jcHBjIGZhaWxpbmcgdG8gcmVnaXN0ZXIsIHdlIGFyZSBmYWxsaW5nIGJhY2sgdG8NCj4gbGVn
YWN5IG9uZXMuIFRoZW4gWEVOX1BST0NFU1NPUl9QTV9DUFBDIG5lZWRzIHRvIGNsZWFyLg0KPg0K
PiBMb29rcyBsaWtlIHlvdSB0cnkgdG8gZXhwbGFpbiB0aGUgJj0gd2hlbiBteSBxdWVzdGlvbiB3
YXMgYWJvdXQgdGhlIGlmKCkuDQo+IEkgdW5kZXJzdGFuZCB0aGUgcHVycG9zZSBvZiB0aGUgJj0u
IFdoYXQgSSBkb24ndCB1bmRlcnN0YW5kIGlzIHdoeSBpdCBuZWVkcyB0byBiZQ0KPiBjb25kaXRp
b25hbC4NCj4NCg0KT2gsIEkgZ290IHlvdXIgY29uY2VybiwgYW5kIEknbGwgcmVtb3ZlLg0KDQo+
ID4+PiAtLS0gYS94ZW4vaW5jbHVkZS9hY3BpL2NwdWZyZXEvY3B1ZnJlcS5oDQo+ID4+PiArKysg
Yi94ZW4vaW5jbHVkZS9hY3BpL2NwdWZyZXEvY3B1ZnJlcS5oDQo+ID4+PiBAQCAtMjgsNiArMjgs
NyBAQCBlbnVtIGNwdWZyZXFfeGVuX29wdCB7DQo+ID4+PiAgICAgIENQVUZSRVFfbm9uZSwNCj4g
Pj4+ICAgICAgQ1BVRlJFUV94ZW4sDQo+ID4+PiAgICAgIENQVUZSRVFfaHdwLA0KPiA+Pj4gKyAg
ICBDUFVGUkVRX2FtZF9jcHBjLA0KPiA+Pj4gIH07DQo+ID4+PiAgZXh0ZXJuIGVudW0gY3B1ZnJl
cV94ZW5fb3B0IGNwdWZyZXFfeGVuX29wdHNbMl07DQo+ID4+DQo+ID4+IEknbSBwcmV0dHkgc3Vy
ZSBJIHBvaW50ZWQgb3V0IGJlZm9yZSB0aGF0IHRoaXMgYXJyYXkgbmVlZHMgdG8gZ3JvdywNCj4g
Pj4gbm93IHRoYXQgeW91IGFkZCBhIDNyZCBraW5kIG9mIGhhbmRsaW5nLg0KPiA+Pg0KPiA+DQo+
ID4gSG1tbSwgYnV0IHRoZSBDUFVGUkVRX2h3cCBhbmQgQ1BVRlJFUV9hbWRfY3BwYyBhcmUgaW5j
b21wYXRpYmxlDQo+IG9wdGlvbnMuDQo+ID4gSSB0aG91Z2h0IGNwdWZyZXFfeGVuX29wdHNbXSBz
aGFsbCByZWZsZWN0IGF2YWlsYWJsZSBjaG9pY2VzIG9uIHRoZWlyIGhhcmR3YXJlLg0KPiA+IEV2
ZW4gaWYgdXNlcnMgZGVmaW5lICJjcHVmcmVxPWh3cDthbWQtY3BwYzt4ZW4iLCBpbiBJbnRlbCBw
bGF0Zm9ybSwNCj4gPiBjcHVmcmVxX3hlbl9vcHRzW10gc2hhbGwgY29udGFpbiAgQ1BVRlJFUV9o
d3AgYW5kIENQVUZSRVFfeGVuLCB3aGlsZQ0KPiA+IGluIGFtZCBwbGF0Zm9ybSwgY3B1ZnJlcV94
ZW5fb3B0c1tdIHNoYWxsIGNvbnRhaW4gQ1BVRlJFUV9hbWRfY3BwYyBhbmQNCj4gPiBDUFVGUkVR
X3hlbg0KPg0KPiBNYXliZSBJIG1pc3JlYWQgdGhlIGNvZGUsIGJ1dCB0aGUgaW1wcmVzc2lvbiBJ
IGdvdCB3YXMgdGhhdCAiY3B1ZnJlcT1od3A7YW1kLQ0KPiBjcHBjO3hlbiINCg0KTXkgYmFkLiBJ
biBteSBwbGF0Zm9ybSwgSSBoYXZlbid0IGVuYWJsZWQgdGhlIENPTkZJR19JTlRFTC4gSSBwcmV2
aW91c2x5IGFzc3VtZWQgdGhhdA0KQ09ORklHX0lOVEVMIGFuZCBDT05GSUdfQU1EIGFyZSBpbmNv
bXBhdGlibGUgb3B0aW9ucywgd2hpY2ggbGVhZHMgdG8gdGhlIGZvbGxvd2luZyBjb2RlDQpgYGAN
CmVsc2UgaWYgKCBJU19FTkFCTEVEKENPTkZJR19JTlRFTCkgJiYgY2hvaWNlIDwgMCAmJg0KICAg
ICAgICAgICFjbWRsaW5lX3N0cmNtcChzdHIsICJod3AiKSApDQp7DQogICAgeGVuX3Byb2Nlc3Nv
cl9wbWJpdHMgfD0gWEVOX1BST0NFU1NPUl9QTV9QWDsNCiAgICBjcHVmcmVxX2NvbnRyb2xsZXIg
PSBGUkVRQ1RMX3hlbjsNCmBgYA0Kc2hhbGwgbm90IGJlIHdvcmtpbmcgaW4gQU1EIHBsYXRmb3Jt
Li4uDQpNYXkgSSBhc2sgd2h5IG5vdCBtYWtlIHRoZW0gaW5jb21wYXRpYmxlIHBhaXI/IEkgYXNz
dW1lZCBpdCBlYWNoIHdyYXBzIHZlbmRvci1zcGVjaWZpYyBmZWF0dXJlLCBsaWtlIHZteCB2cyBz
dm0uLi4NCg0KPiB3b3VsZCBwb3B1bGF0ZSAzIHNsb3RzIG9mIHRoZSBhcnJheSAod2l0aCBvbmUg
b2YgImh3cCIgYW5kICJhbWQtY3BwYyIgbmVjZXNzYXJpbHkNCj4gbm90IHdvcmtpbmcsIGxlYWRp
bmcgdG8gdGhlIG5leHQgb25lIHRvIGJlIHRyaWVkKS4NCj4NCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 05:23:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 05:23:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928447.1331149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txfhv-00063I-Rc; Thu, 27 Mar 2025 05:23:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928447.1331149; Thu, 27 Mar 2025 05:23: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 1txfhv-00063B-Oi; Thu, 27 Mar 2025 05:23:11 +0000
Received: by outflank-mailman (input) for mailman id 928447;
 Thu, 27 Mar 2025 05: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=uFzh=WO=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1txfhv-000635-2e
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 05:23:11 +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 91d40a9b-0acb-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 06:23:09 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac28e66c0e1so81455066b.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Mar 2025 22:23:09 -0700 (PDT)
Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef8d3d43sm1172756766b.51.2025.03.26.22.23.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 26 Mar 2025 22:23: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: 91d40a9b-0acb-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743052988; x=1743657788; 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=wwAke7tV6dXg2uZlaT9u4GOEBl4olyXIENoICpzVrJk=;
        b=FVpCTLbSYMaU6+pgMRcITH7bCGPlr21grp/Gx1vkj/gAYQ4cTOWUleQ01UuNx8xL9H
         +wGWGbYo+qVMSKWJgFggkoz+HsOz5mvREmLhXnEln9urhN8K2TVlrLNfEgKaPz1PEIWs
         WkFfcnFX877nDopqLyn/OeikA0pdA/vBCSjX2EeM8HYzZ1lAwVwYPPX1y6Fvye1XWVdO
         hhZyt6xWC77NJDgWeMLIKIIXzrFe7bYxFRRlaulknXS2cjqRQ6mDU5jMtOX/PMX0HLHQ
         9aKXJzB3nXY8Bg9lAF1CR0wnZj3YmuVZy5TDvJS2DebJdt184WdcSWYy1P9bRD/TYU0H
         wumg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743052988; x=1743657788;
        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=wwAke7tV6dXg2uZlaT9u4GOEBl4olyXIENoICpzVrJk=;
        b=V1lR58XrXAxgx0fmZd/GYvrnb3UGaPJnwq76aFFu0Trgi1i6JM6Wa0FVJ0VU0f/OnN
         z2lywZmfx3wlIH9WZsOCc550ijQ1QybVCUdO4ouBShlSWcYRoY/R3bYsf/cJE8I/Tlvs
         PeTpGwrMIiVa45kZiubQzOc9en9Q/Yi7DzSROizFR46SI0eG6E/E5Kt140q9I8/0AFre
         GQ0ktVW+vduDDFuJisV+4ppv9aBgKupa3F4L3LfJLkmnn8s3TuqBTOW2BYIF6casFmRe
         itFZ0HPHAJOL6HJ9/aQoudByGbnqjynE5OChZ9R4ea+pMM+zQ2Ctd1VbhDzAmUEjwqJm
         Mkrw==
X-Gm-Message-State: AOJu0YwJq7ZEFkTU9hdzRkUcsYXFftu9yTbs64hUqGz1s8QNDPwAvpQk
	tQii0Rqq9nIpvdaUTiWoTKG5fzW0hnwa64Rf7/hTy4MTABMgPr9EAF6+Ug==
X-Gm-Gg: ASbGncvbl+qnBNwYwJwTX1D1p/Q/MdzI6iP9PTMQ/r1iozotet35VB2QQSyfQGOlR0Z
	I3fyZCtdUkWOWLV1OUX4TUUqD1lGICiLprfo0xX84roMee9056HLUB30uRYvdColODXSDlWGijS
	P2ToWUodez4EpnO8LIIXjbSou6L1EZANnnYtjyuD9L4mBnWa3u3JZY1cshZk9vnXPGGDA2rcR2l
	V9INIXOQt01qKtHA0vcIPZgCIhZ2u27q3UNCrdwy/3oMlXqtP4ZcY9btlBNa8qw9+7hRqr3zvAB
	vPzuARd/uVCkzqHntowR9BKN/3AduNqL59GUpptMgAztzLbGVUYWKvk64gSPaEg+fayiOZ8kirc
	N64CeMqXU
X-Google-Smtp-Source: AGHT+IFCmL04LFilT4EuKzSqnHlsJLZNMGPxP8EpredbcCoOrVsqOGiLdlHK7E1mXlapsleMr0f5dQ==
X-Received: by 2002:a17:907:60ce:b0:ac3:eb29:2aed with SMTP id a640c23a62f3a-ac6faea38a8mr180606866b.16.1743052987392;
        Wed, 26 Mar 2025 22:23:07 -0700 (PDT)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: 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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Mykyta Poturai <mykyta_poturai@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH] xen/percpu: don't initialize percpu on resume
Date: Thu, 27 Mar 2025 07:22:41 +0200
Message-ID: <20250327052241.202167-1-xakep.amatop@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Invocation of the CPU_UP_PREPARE notification
on ARM64 during resume causes a crash:

(XEN) [  315.807606] Error bringing CPU1 up: -16
(XEN) [  315.811926] Xen BUG at common/cpu.c:258
[...]
(XEN) [  316.142765] Xen call trace:
(XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
(XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
(XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
(XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
(XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
(XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
(XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
(XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
(XEN) [  316.202383]    [<0000000000000008>] 0000000000000008

Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
INVALID_PERCPU_AREA depends solely on the system state.

If the system is suspended, this area is not freed, and during resume, an error
occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
set and park_offline_cpus remains 0:

    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
        return park_offline_cpus ? 0 : -EBUSY;

It appears that the same crash can occur on x86 if park_offline_cpus is set
to 0 during Xen suspend.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Discussion related to these changes can be found here:
https://marc.info/?l=xen-devel&m=174116563705295&w=2
---
 xen/common/percpu.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/common/percpu.c b/xen/common/percpu.c
index e4e8b7bcab..607557436d 100644
--- a/xen/common/percpu.c
+++ b/xen/common/percpu.c
@@ -30,7 +30,12 @@ static int init_percpu_area(unsigned int cpu)
     char *p;
 
     if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return park_offline_cpus ? 0 : -EBUSY;
+    {
+        if ( system_state == SYS_STATE_resume )
+            return 0;
+        else
+            return park_offline_cpus ? 0 : -EBUSY;
+    }
 
     if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
         return -ENOMEM;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:01:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928466.1331159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhEc-0000w6-Kh; Thu, 27 Mar 2025 07:01:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928466.1331159; Thu, 27 Mar 2025 07:01: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 1txhEc-0000vz-Hc; Thu, 27 Mar 2025 07:01:02 +0000
Received: by outflank-mailman (input) for mailman id 928466;
 Thu, 27 Mar 2025 07:01: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txhEb-0000uK-Fi
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:01:01 +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 3adb06ba-0ad9-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 08:00:56 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so4942115e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 00:00: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-39ad32bd464sm913643f8f.57.2025.03.27.00.00.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 00:00: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: 3adb06ba-0ad9-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743058855; x=1743663655; 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=XY4rEhZouz/dD6J0mIF2iPA4hRefnA7gvZJbvlUOxO8=;
        b=eMHPoGBnzBoau2WO15mmAqnoz3sF0Za3tfMj18oAHKlOxCC+tTq9EAjRYCIj9RjoSL
         XqqCAZ9+oW3BO3sLEckwBmtdd06VUCu8sSYfoNCE3C/TghefMApt7bODilOYf/ZIEkMg
         4/Fk0SA0b+VTD9+b3TRnKAQfbLePdyOtcogtQxRMv3+n7ETdnf87FRws3Wurjgf6WHsB
         oSb+NEtrsgLtzjCFL5tF7YEcv3q7C2s8F/xAQ0ODUIg1VxeQ6KN4vyyHMT6DiZYAQwrF
         tdbY2ZQ8Sp6CE0NVej5TtKSsWXZONPOioXfllrZv+KBBtSjtX2Id3C9IhekTBJl4n+aI
         XYig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743058855; x=1743663655;
        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=XY4rEhZouz/dD6J0mIF2iPA4hRefnA7gvZJbvlUOxO8=;
        b=UkrNiDXs+Zb6Ddv9MbKQFE9Gnx+1jZvthDNO5xmrxX89muoy3KubwoEV1rSiBJb6cw
         1ui/x1F0I7rcMyb656lGMofYFFUETwRjVswjE7rpo9CAzeyVzWiR/GTWU8x1AhN84dWe
         mqrSvCQL/xHWTc/SGf3u7L/30h+lTC6LTz89vnm2hg2XchHXvH+vOa1q59aZrp3+f+8r
         7UshLmvMq/JvAw0I4wIb8nw8Z5j9Hwf5O+im/m9LoTRZAcWkzKIAfSNGuMV7uWKiuSDB
         gQBfo4QPML759qAPjBjcf4+zVwBhqRTO3ixiqIvwphdJHAQMFiWRzz3eBY11/X6w/kEH
         vmCw==
X-Forwarded-Encrypted: i=1; AJvYcCUFufa5eA9wYLUeZcLP12cYq1daG5AGWlosLBm/zBWcHRVzactdLrVGqx4l8Ur7hSxWExJL7+Ifyi4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwcN+BqbaFiNsyjH3ieP2xjDOoOHJ1jjErWLNWq7xvGMtgAx0M3
	5Yzpy/RLOMYvZwHM7xypazj4VR6jIk7Y63aGQgB6prv7lEWNksqaqT+mJzIJeg==
X-Gm-Gg: ASbGncuwdKuMmS0yccDuZRCPE9YqSgLvifnP0E6hC/2PWPTfXuToauH69HlytdHTiLz
	N0tyv8EVthioybRAVMMZMKeYGM5yuj6jYzCm8CxAiYPTU1utCCGcWwYPyEs/UwdCu3Lk2EmKXaY
	CwsYADzeLbY+vQgslwHm9uy7RAU0Q1pcNGpCrH3hN1Bd6mlACferwG0cqZqRFu5RnXXV7lbro22
	Eg1jq5sZlGs2f5DQjh9AaxId8DNKwA/JbXFAcZmlBsQl3+b54902p/1YCwkZFwD/r0pUQRlIahH
	RLYNOiMiURtyJUwMU+ADMtEu/DzvImB44IzrttMz3SQsl0tboU+Q0lwOy2GMEbJtAqVCoi6u0hf
	Om6x0XfBkWh6nPio82yq4HbUvy/zp2A==
X-Google-Smtp-Source: AGHT+IHRq7CENvM/8EW7kDIQNhNfqxhPsWSzWsIQVdOrVOHlYaUFDgj89N78I2z6uLUMjbymUuhUJw==
X-Received: by 2002:a05:600c:1c28:b0:43d:2230:300f with SMTP id 5b1f17b1804b1-43d84e67696mr22925735e9.0.1743058855490;
        Thu, 27 Mar 2025 00:00:55 -0700 (PDT)
Message-ID: <ee9d3fb9-d3b3-49e1-8a2e-83990a3fc7c5@suse.com>
Date: Thu, 27 Mar 2025 08:00:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] docs: remove qemu-traditional support from
 documentation
To: Juergen Gross <jgross@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-3-jgross@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: <20250326160442.19706-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 17:04, Juergen Gross wrote:
> @@ -1903,10 +1894,7 @@ it may be useful to request a different one, like UEFI.
>  
>  =item B<rombios>
>  
> -Loads ROMBIOS, a 16-bit x86 compatible BIOS. This is used by default
> -when B<device_model_version=qemu-xen-traditional>. This is the only BIOS
> -option supported when B<device_model_version=qemu-xen-traditional>. This is
> -the BIOS used by all previous Xen versions.
> +Loads ROMBIOS, a 16-bit x86 compatible BIOS.

Is this doc (and the option itself) still useful without qemut? qemuu doesn't
use it, I don't think?

> @@ -74,7 +71,6 @@ ov=4.0
>  Ensure references to qemu trees and Mini-OS in xen.git's Config.mk are updated.
>  The variables and there content should be:
>    * QEMU_UPSTREAM_REVISION: qemu-xen-X.Y.0
> -  * QEMU_TRADITIONAL_REVISION: xen-X.Y.0
>    * MINIOS_UPSTREAM_REVISION: xen-RELEASE-X.Y.0
>  Where X.Y is the release version (e.g. 4.17).

Especially for this piece of information I'm unconvinced it can plausibly be
removed ahead of removing the respective data from Config.mk.

> @@ -58,7 +56,6 @@ t=RELEASE-$r
>  
>  * change xen-unstable Config.mk
>  #   QEMU_UPSTREAM_REVISION,
> -#   QEMU_TRADITIONAL_REVISION
>  #   MINIOS_UPSTREAM_REVISION
>  #     (drop any references to the specific commits, e.g. date or title)

Same here then.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:01:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928477.1331171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhFW-0001Tj-2d; Thu, 27 Mar 2025 07:01:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928477.1331171; Thu, 27 Mar 2025 07:01: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 1txhFV-0001Tc-TN; Thu, 27 Mar 2025 07:01:57 +0000
Received: by outflank-mailman (input) for mailman id 928477;
 Thu, 27 Mar 2025 07:01: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txhFU-0000uK-Qd
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:01:56 +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 5dfe9e54-0ad9-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 08:01:55 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3995ff6b066so248689f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 00:01: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-39ad32bd464sm916121f8f.57.2025.03.27.00.01.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 00:01: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: 5dfe9e54-0ad9-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743058914; x=1743663714; 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=bIG3WrDvWDaFqO7x8xG+psETZLUaXz4fbr+tPiIbRI8=;
        b=SktuPUYpRrtSKAF7N8TWxMT15meuEJRojupfOXLDDKvCHPlUpd+fnNDeOmyH3LD09Y
         lBQYkyZquDtqSzbKVTCFRBz2WK/6GnN1JxzMORsGdhSSUqQzU7vvp0AMb21unFB7DMXI
         EqoZ4uENvey+2rZQMlb16z87+x/mGEm+BNwbuWUksvXDyT+ox9p1jZOqxVa2t+R7AWRh
         yFb5aZkqcsdfupesqCoB4ZorOqth7MBWGSX6xK/i7Z5XKRBOChtzC0m8bOoOwsHTbVQv
         3q3yz8DgwpaDmSHRSYBlfFov5kqCb1CQbEZcQMZfGScVpCeZi3OOkmPTK351zZDAJCHd
         Lsmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743058914; x=1743663714;
        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=bIG3WrDvWDaFqO7x8xG+psETZLUaXz4fbr+tPiIbRI8=;
        b=rmCrxXnmzlf0L0ZsoyCDikcRoUToZn08gXoHn58uVkN3vZ4nleN2PTu4zqKSJQd97m
         FhYP99/NdV6Ubn3huBOKfvj2u+QZNDH40pIvtnKXdEpF23W9CoSO89B2EyA/tqTp0Nch
         svEMHXwa+AtLgqnHbvAgJr++SrV9sUZRbI9F9cwke2SMqVJUfoJqLg0vIPFheVh5qLZI
         FxsCmeIMVgpNOF1VQPDBH1Vjtl8VuCtUufNmnbBw29F6jALT26ufhGWiW0GMlsh+y6Xc
         sV2Kix/mJ021klMGB/Y7fDtEnV12shNn/PVjhcp4OJd3R1GL5IthY5VMNLy8Pk1uyZXL
         uujg==
X-Forwarded-Encrypted: i=1; AJvYcCVW8BZvulJHMSV/NnAAWmqDvv/oxX/vtkGOfRjlWzvHhl9c667ABTYU5H2Lv6708klKpEMt1yGcakQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOzEbErLA4nNn54iinIP+8uy1/1mGWKAAR1dvhYRg8S83gAvWT
	+h2rDRFFyx8PzdFp7ryT6+hSflTuzvcO1bb0QcgcOir/V6r1Oo+Gmx1NlA1Pgg==
X-Gm-Gg: ASbGncuurDc0mwYnp4J5MnUwwGgvbGbFnH7zVnuMRZZLAHuv328nMZozLscigN9uEGI
	nRfG9e+gKfYq9Er0JVWg4D1KhZHGtfHvLJarWdg9wqs/kDEbfL6kOeJv5Gdw4Jf7GxDgV/c4u+n
	7fjXILsN4RzDZrv91+J/F4z2fV00mTeHP2iPBNjuW/J09f3AWv6pyxXgXuSBZ77dJ6DCUcTM8bJ
	ZHIZMn42mTtTZo8nkA3F+HUmujRXXYgFZuP3WFTYrwhXmMo5QcRryF8P4cKM1xBbtEGHP8DvuAX
	euenITZmSjm+x4c2DL6BtRMHDZPTCacFyXSQj97ar5TPNkuqg/QRCaCHvqvuD1Q8gEsT5DJJrfI
	2ZZY0kxArvzZ3sEum8iz7km7K7bMm/A==
X-Google-Smtp-Source: AGHT+IG8irPl857OkBnRo97bejPeCyVAgI8v+yv4K17LnvVdszivVrLxm7lxpRkAWzf6vJ8rdjCxdA==
X-Received: by 2002:a05:6000:184b:b0:391:47a7:299c with SMTP id ffacd0b85a97d-39ad176bb3cmr1873898f8f.40.1743058914473;
        Thu, 27 Mar 2025 00:01:54 -0700 (PDT)
Message-ID: <0edd7ffd-a1ec-4435-9505-6017a9afb65f@suse.com>
Date: Thu, 27 Mar 2025 08:01:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/6] remove qemu-traditional
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Nick Rosbrook <rosbrookn@gmail.com>, George Dunlap <gwd@xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20250326160442.19706-1-jgross@suse.com>
 <2f59957f-743a-4c29-912a-3fdaf137cbd6@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: <2f59957f-743a-4c29-912a-3fdaf137cbd6@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.03.2025 17:10, Andrew Cooper wrote:
> On 26/03/2025 4:04 pm, Juergen Gross wrote:
>> Remove the qemu-traditional support. This includes the Mini-OS
>> based ioemu-stubdom.
>>
>> I _think_ rombios support could be removed, too, but this can be
>> done in a second step.
> 
> XenServer is still using RomBIOS, because qemu-trad and qemu-xen were
> not inter-operable and we needed Windows not to go a shade of blue.Â 
> Therefore I'd prefer if this could stay in it's off-by-default form,
> rather than carrying a revert.

Oh, so qemuu can actually use it?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:14:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928488.1331179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhRi-00046M-25; Thu, 27 Mar 2025 07:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928488.1331179; Thu, 27 Mar 2025 07: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 1txhRh-00046F-VV; Thu, 27 Mar 2025 07:14:33 +0000
Received: by outflank-mailman (input) for mailman id 928488;
 Thu, 27 Mar 2025 07:14: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txhRg-000469-VM
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:14:32 +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 20eadbbd-0adb-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 08:14:31 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43d0618746bso3882015e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 00:14: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-3997f9f0107sm19391049f8f.99.2025.03.27.00.14.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 00:14: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: 20eadbbd-0adb-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743059671; x=1743664471; 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=Ar6u3vE5k8cjJMLHtlnRZspvr+C6SO3KtqYg6QhKreI=;
        b=O1VJGFijAivdhkiqkHOHp9yVs8uA8budyUX/fD1bAn07c0Hr9617UiAQtcKl5gPAqG
         QAyKpzRhvjBvWMN5IdWmQ1qjrqze6gVAdcdSFmuG3IT1JCxTC7sN7E2xt87PU3FZGQD9
         EnmVjGafzHDxfmEQ6DAbkj3XUtWyPUzRs0yxCGf8KN17rjic5qvlignGaA5SyBUTmA/5
         hUC0Ko4D0pgKZLYKP5z1mLcGzx85SIC/bUOIcNWgkypHQxpoDZYFgf/DkDt/G2di7Pjm
         7sbSJV8jfdcdKwny6QW/NiGCgUqvWUGfc/jgTG5z/qK9J4XqXhoAINSTKdF6cJar7n+r
         MYSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743059671; x=1743664471;
        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=Ar6u3vE5k8cjJMLHtlnRZspvr+C6SO3KtqYg6QhKreI=;
        b=IQxt06ACOLBu7bncmxuu0Za7JqamParmm1X4utpEc6geL0foDc3xUY67lhMrr3IXgS
         F5dc76YQx1BkW79GOalmx5qtgRf8IWvkqvfaUfOPgXi4iGiR0ySRalZMFfhlPXV/Ch6W
         TuoYigKwxgTlzqQC2KuLutLfduWT5L4buZNEnN60mMz9YrRw1XS6DxlFRtgzbqtMRBiz
         MU0xAnB6hXA4Tk9laG+pcqeR4okALinZIYqsWh+Px5ReA6C8Pru4+kerl3gVUVW36IA8
         QcJLpAqZMN3lnD1ZhiWVtvG6KXE/tjMWvzIiCD6l2YiloA7VSr9ifS4XeE5nmS27u9iw
         yTQw==
X-Forwarded-Encrypted: i=1; AJvYcCW144VhvR7DO0w6weIfkSBzmuiHTTgRFUxA6sQvoU9CSJt+wNH+8SW25RyFYlUJWlEycnoVo89/fjE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPmIKssac0OzF/pCnzxpGtmWv46PgF0S+3wVGzE8P3acRWaIah
	OE+zHrJsyqWSeAIP+zFBwTCEXDGaXtmDi3PjFb4AyneUMxmXywnDzfNzCzLXgQ==
X-Gm-Gg: ASbGncvrwIt8GILvFIC2KdsV7oc9Ek4eQzWxmLChsLcZXj7ooJ51h5k9cAZlOqUtLxK
	mKI/nIWslucGxBACbVPFv3OzJewl+N+VzoNMlVDItqt7rKyhcccMlRv1nu65Egf1B4BPAiP5fFZ
	At7xH+0RzfGQwNILKLlMPJz83KMJ87DXZre0WfsIPDJB28tw9SfL3ZXiJAS+5s73C6e8t0zWUmN
	jYM/ezsGqjqveODnq05G4NZEGk1go4hJ5kDHkWTpQkb9ZD9lT0h7LqXf0dAHlfwGpzIaiLHw5qY
	SAo/zacYb5575V7vwpTmsFKYYyz3WY+sjNnJcNZe69RbvZnegdtkDBHkhLm2r0OIEA0BFger5lP
	9Z2X5f2AYXS8xOa8/IBwXDbTLoQtOaw==
X-Google-Smtp-Source: AGHT+IHtep/InU1QWFFePWfuIHdR+m2XCiKaoX3MruJEKbGshVMPmPG8pwrhS15NeLYvcJruhS3Gqw==
X-Received: by 2002:a5d:5847:0:b0:390:d6ab:6c49 with SMTP id ffacd0b85a97d-39ad176bc4emr2579107f8f.35.1743059670932;
        Thu, 27 Mar 2025 00:14:30 -0700 (PDT)
Message-ID: <bceac7ee-9204-4d38-8c3c-19bc76534c36@suse.com>
Date: Thu, 27 Mar 2025 08:14:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] tools: remove support for running a guest with
 qemu-traditional
To: Juergen Gross <jgross@suse.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>,
 Nick Rosbrook <rosbrookn@gmail.com>, George Dunlap <gwd@xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-4-jgross@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: <20250326160442.19706-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 17:04, Juergen Gross wrote:
> --- a/tools/firmware/hvmloader/pci.c
> +++ b/tools/firmware/hvmloader/pci.c
> @@ -108,24 +108,7 @@ void pci_setup(void)
>      uint64_t mmio_hole_size = 0;
>  
>      const char *s;
> -    /*
> -     * Do we allow hvmloader to relocate guest memory in order to
> -     * increase the size of the lowmem MMIO hole?  Defaulting to 1
> -     * here will mean that non-libxl toolstacks (including xend and
> -     * home-grown ones) means that those using qemu-xen will still
> -     * experience the memory relocation bug described below; but it
> -     * also means that those using qemu-traditional will *not*
> -     * experience any change; and it also means that there is a
> -     * work-around for those using qemu-xen, namely switching to
> -     * qemu-traditional.
> -     *
> -     * If we defaulted to 0, and failing to resize the hole caused any
> -     * problems with qemu-traditional, then there is no work-around.
> -     *
> -     * Since xend can only use qemu-traditional, I think this is the
> -     * option that will have the least impact.
> -     */
> -    bool allow_memory_relocate = 1;
> +    bool allow_memory_relocate = 0;

I think a fair part of the comment needs to stay. It's sad enough that the
issue still wasn't sorted in qemuu. Instead the other comment referred to
here also wants pruning of "qemu-traditional", I think.

> --- a/tools/firmware/hvmloader/util.c
> +++ b/tools/firmware/hvmloader/util.c
> @@ -843,14 +843,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
>  
>      /* If the device model is specified switch to the corresponding tables */
>      s = xenstore_read("platform/device-model", "");
> -    if ( !strncmp(s, "qemu_xen_traditional", 21) )
> -    {
> -        config->dsdt_anycpu = dsdt_anycpu;
> -        config->dsdt_anycpu_len = dsdt_anycpu_len;
> -        config->dsdt_15cpu = dsdt_15cpu;
> -        config->dsdt_15cpu_len = dsdt_15cpu_len;
> -    }

Hmm, rombios.c references these two DSDTs as well, but - is that useful?
If we use dsdt_anycpu_qemu_xen when the device model is explicitly qemuu,
what sense does it make to use one of the other tables when it is
implicitly so?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:33:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928502.1331190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhjq-0000G7-IG; Thu, 27 Mar 2025 07:33:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928502.1331190; Thu, 27 Mar 2025 07:33: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 1txhjq-0000G0-Ee; Thu, 27 Mar 2025 07:33:18 +0000
Received: by outflank-mailman (input) for mailman id 928502;
 Thu, 27 Mar 2025 07:33: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=yP17=WO=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1txhjo-0000Fj-Qw
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:33:17 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2060e.outbound.protection.outlook.com
 [2a01:111:f403:240a::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd78713c-0add-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 08:33:14 +0100 (CET)
Received: from MN2PR01CA0020.prod.exchangelabs.com (2603:10b6:208:10c::33) by
 CY8PR12MB8216.namprd12.prod.outlook.com (2603:10b6:930:78::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.44; Thu, 27 Mar 2025 07:33:09 +0000
Received: from BN1PEPF0000468D.namprd05.prod.outlook.com
 (2603:10b6:208:10c:cafe::df) by MN2PR01CA0020.outlook.office365.com
 (2603:10b6:208:10c::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Thu,
 27 Mar 2025 07:33:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF0000468D.mail.protection.outlook.com (10.167.243.138) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 27 Mar 2025 07:33:08 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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, 27 Mar
 2025 02:33:04 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd78713c-0add-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=f2PEKj2lpDEHuTndZb1FHa1amHhQHUKImcUDm/kk/FMEVzHQxiwtkzv6E2kfNevJEAGQVfxECnNPMP3/nrbGPRReLQrrwiIT8a6OAhQnqQP5CRiTz3khLG8Je4J6gmdoOGzOJPDr7u4MXsRffZ//vGJsdjae0GDwW3tg8cyeNWFfkmnEc3H9nm7eL0ic5zIFuOWS87HGgnPgFbsGu4PI+VPNEPMmBAw8wnVhl/tJpQfUCBy+RPbgDnWhHBDNePV20JkSKrr94b7cgpkiGuzKR7/Ftl7v9u2Vo3juIXKuxzMGFSZRQ2k8fLvaJNXJIneJrIap9jgxboA5cv7MCetdbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wvGoBMY2xy3NjVmNzAzV65gEYVV1UA77iVxXw6BtpGk=;
 b=shdByt1KlxJA58EjNBPg0yToVMYHqKrpXnbBAw0TJVfy0/EWJollJbqSMQE2nIpCuBvlNFDWzGViYvvJDU8X8hrrFDwqaJqzN9Ywhx+OhlRQfnDUkjZqc+KxsZxzNOzKYwTihtAbCIKOKRV8Jxg2lW+LL7NYxpnolRSakBpDIt/cFIOl6F52h5uF8l6xCtE+v0snqm4vcusXHDpwn3hOJyhAelYoDA/GZwFK0+JdJqjQgN6hXOYS9cZdFu5mPjMhNKzX8I5L9laoaSl7MPZJEBCggCtE4FD9lm5iwnYd/UO3ujbYZ2r2ybI6Zjsz1omFa/YoGlJRKCjRKTH0B9zwKw==
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=wvGoBMY2xy3NjVmNzAzV65gEYVV1UA77iVxXw6BtpGk=;
 b=UMRq5d2BEB2+ACbbTlGeSlu5Hke4CaSjgZW1+HR89zP+TypKZvDxjjNqSRmujJmTLfe05nm2aGzaVq4L+jpdzstGHXjsG5sCWAmCx1LfMXLpg5ZdrWge/yQOxub7ZZx0wI8UGH/PPERJ176h5Na8CMMceluXxf3QxKbMkbo0boY=
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=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Huang Rui
	<ray.huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Subject: [PATCH v1 1/3] vpci: Hide capability when it fails to initialize
Date: Thu, 27 Mar 2025 15:32:12 +0800
Message-ID: <20250327073214.158210-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: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF0000468D:EE_|CY8PR12MB8216:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e143114-78c6-490d-4388-08dd6d019eb5
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?SvXo+AozBnyqAKquSG0WuetLhHBcIViSdW5eZa2kb8ZZTz+c1BdXBgC5d/5S?=
 =?us-ascii?Q?9G3mtvF0OB9tybHyox6VNv9yIZaJkAZVYCtYDEJpBYZjjOXKGS+uSAghyujN?=
 =?us-ascii?Q?YIFA9fGhtkzM2t/8DEbz2Q0kQUpY8x5ut/+SEKTMYg2b9fnfbrhEvMwiMzzD?=
 =?us-ascii?Q?gMgqlaUzLVHe/thS0+ZAaLDv/vAampUh+pDP6+l5GaKg/xxIPxzwt1bARSEa?=
 =?us-ascii?Q?0x+uVsKm5vSOkcQAczrr+Ufa542BSzAY4BESiC/ZncVfFNTqTYF1N5jFxc4z?=
 =?us-ascii?Q?VsSrUdwa59PCmQJkdf1eJqWJUABllPyQ6kamF/n54iqSsL2qGf5jis1OQcpW?=
 =?us-ascii?Q?xLAN2PnRzWg4q/wcpUKFzKNB80lvDUgI81/XJ9oXVF8F4HLrRC8SZrKwsf5c?=
 =?us-ascii?Q?VclKtXcRMzUNAH71qZIMzG0gKvQ3y5i/dKZtOjb7j2v8yCAF5NDjrCwj8z7Z?=
 =?us-ascii?Q?IhvMIngkyqyie0UJTWJVAMVWCpFkdoGsKKRzMsM1uQkyi8+aE3XZyHyJ9xgQ?=
 =?us-ascii?Q?MdUVmbrl29GxxeKzz2A8aIDloN5bxcpaoBAu0Si3CktwbNARj38HULzW7BiA?=
 =?us-ascii?Q?Fj9AKvjMEjCQW3k9CsfeDAUORw+9KfLcjV6GelP47Vqvo0AHo0/LrRTY3kTV?=
 =?us-ascii?Q?nlkuPnDVChBu6pwmzlZlArLyLAITf4HmEeXHiUlGj9jWvXx0rOTR+38BRe1I?=
 =?us-ascii?Q?yt1tSiIajKtZkfa39hmXQgREE/y8Fx5K2Yje7pQ6t5paD2tLnxEjQfI3ONw4?=
 =?us-ascii?Q?ao/OnU7RwaDAxTMbWYlpjOxNdFXjMN1MJVG9Kspgm4R8TpGR8JdP7dvpMvMz?=
 =?us-ascii?Q?b2RAcyCkzHfHXQ1Dk+3o38dEXLt+MPmJu5TzKezG6VKUceWA347aRAyc7B7+?=
 =?us-ascii?Q?36JNOX3Sxm7Hli99H0ydahkOZB/6x3GlL2oJAF+Lcyj4zNt/GpWoZlq8YUA4?=
 =?us-ascii?Q?WluTE7qO+nMNtg1YjoN02kEi+hNgCzjM9GHY11enr51OIYRYe/SZ5chbynvN?=
 =?us-ascii?Q?rojnOzTIT7EGnpq0CnncG8eAivSjiUe8LePOl/vxAfWA4a99/cmGYfI8WYbd?=
 =?us-ascii?Q?IJdllE8a3EY9TKW7XmKbpA41IPuNaz5ni8s2io38BTvwvxqx3fHMkx22z4wv?=
 =?us-ascii?Q?j5ZUL4nugCqmVr3lCbsZHSZ1vOMwcaqU2duzYRph1sX+eaNb2SVPDXStO9RV?=
 =?us-ascii?Q?TwJRsO6PTZvBT3aykkxMiqMcwWbPYu2k1jotm0yv+XvSp3oarFVP1E+jmRCl?=
 =?us-ascii?Q?AWn2rrUhT+/C/57CZVpIAo47EcXJEf04jlUU8XMa8AnrDxzkDhPtUONGc/v8?=
 =?us-ascii?Q?Y9wHJiBJz69P93T0qK61hTXNHcck83k0boxeJUfl/+YjP3alHdI4XPxpILrm?=
 =?us-ascii?Q?oPPEh7JU7jfNdyFWZOl5nXm8S7JaC8RnrcIdMR8eGngc3meeE3ZVISrLp/14?=
 =?us-ascii?Q?0tnh68PwLc2AOSKi/DUcnP69Z2mYSFXV7QJl85QSxnIzN53TIqPktwG7PCc9?=
 =?us-ascii?Q?pL/stLa/h5Sdkag=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 27 Mar 2025 07:33:08.1139
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e143114-78c6-490d-4388-08dd6d019eb5
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF0000468D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8216

When vpci fails to initialize a capability of a device, it just
return error instead of catching and processing exception. That
makes the entire device unusable.

So, refactor REGISTER_VPCI_INIT to contain more capability specific
information, and try to hide capability when initialization fails
in vpci_assign_device().

What's more, change the definition of init_header() since it is
not a capability and it is needed for all devices' PCI config space.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
Hi all,

This patch aims to hide a capability when its initialization fails.
That causes we can't rely on vpci_deassign_device() to clean up assigned
resources, so, following two patches clean up resources in the failure
path of init function.

Best regards,
Jiqian Chen.
---
 xen/drivers/vpci/header.c |  3 +-
 xen/drivers/vpci/msi.c    |  2 +-
 xen/drivers/vpci/msix.c   |  2 +-
 xen/drivers/vpci/rebar.c  |  2 +-
 xen/drivers/vpci/vpci.c   | 65 +++++++++++++++++++++++++++++++++------
 xen/include/xen/vpci.h    | 27 ++++++++++++----
 6 files changed, 81 insertions(+), 20 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index ef6c965c081c..8c8e4ac5698a 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -745,7 +745,7 @@ static int bar_add_rangeset(const struct pci_dev *pdev, struct vpci_bar *bar,
     return !bar->mem ? -ENOMEM : 0;
 }
 
-static int cf_check init_header(struct pci_dev *pdev)
+int vpci_init_header(struct pci_dev *pdev)
 {
     uint16_t cmd;
     uint64_t addr, size;
@@ -1007,7 +1007,6 @@ 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);
 
 /*
  * Local variables:
diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index 66e5a8a116be..9d7a9fd8dba1 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -270,7 +270,7 @@ static int cf_check init_msi(struct pci_dev *pdev)
 
     return 0;
 }
-REGISTER_VPCI_INIT(init_msi, VPCI_PRIORITY_LOW);
+REGISTER_VPCI_LEGACY_CAP(PCI_CAP_ID_MSI, init_msi, VPCI_PRIORITY_LOW);
 
 void vpci_dump_msi(void)
 {
diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 6bd8c55bb48e..50e5f38c1e09 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -753,7 +753,7 @@ static int cf_check init_msix(struct pci_dev *pdev)
 
     return 0;
 }
-REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_HIGH);
+REGISTER_VPCI_LEGACY_CAP(PCI_CAP_ID_MSIX, init_msix, VPCI_PRIORITY_HIGH);
 
 /*
  * Local variables:
diff --git a/xen/drivers/vpci/rebar.c b/xen/drivers/vpci/rebar.c
index 793937449af7..7c53ee031887 100644
--- a/xen/drivers/vpci/rebar.c
+++ b/xen/drivers/vpci/rebar.c
@@ -118,7 +118,7 @@ static int cf_check init_rebar(struct pci_dev *pdev)
 
     return 0;
 }
-REGISTER_VPCI_INIT(init_rebar, VPCI_PRIORITY_LOW);
+REGISTER_VPCI_EXTEND_CAP(PCI_EXT_CAP_ID_REBAR, init_rebar, VPCI_PRIORITY_LOW);
 
 /*
  * Local variables:
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 1e6aa5d799b9..a8362e46e097 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -36,8 +36,8 @@ struct vpci_register {
 };
 
 #ifdef __XEN__
-extern vpci_register_init_t *const __start_vpci_array[];
-extern vpci_register_init_t *const __end_vpci_array[];
+extern vpci_capability_t *const __start_vpci_array[];
+extern vpci_capability_t *const __end_vpci_array[];
 #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
 
 #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
@@ -83,6 +83,47 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
 
 #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
 
+static int vpci_init_cap_with_priority(struct pci_dev *pdev,
+                                       const char *priority)
+{
+    for ( unsigned int i = 0; i < NUM_VPCI_INIT; i++ )
+    {
+        const vpci_capability_t *capability = __start_vpci_array[i];
+        const unsigned int cap_id = capability->id;
+        unsigned int pos;
+        int rc;
+
+        if ( *(capability->priority) != *priority )
+            continue;
+
+        if ( !capability->is_ext )
+            pos = pci_find_cap_offset(pdev->sbdf, cap_id);
+        else
+            pos = pci_find_ext_capability(pdev->sbdf, cap_id);
+
+        if ( !pos )
+            continue;
+
+        rc = capability->init(pdev);
+
+        if ( rc )
+        {
+            printk(XENLOG_WARNING "%pd %pp: cap init fail rc=%d, try to hide\n",
+                   pdev->domain, &pdev->sbdf, rc);
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   pos, capability->is_ext ? 4 : 1, NULL);
+            if ( rc )
+            {
+                printk(XENLOG_ERR "%pd %pp: fail to hide cap rc=%d\n",
+                       pdev->domain, &pdev->sbdf, rc);
+                return rc;
+            }
+        }
+    }
+
+    return 0;
+}
+
 void vpci_deassign_device(struct pci_dev *pdev)
 {
     unsigned int i;
@@ -128,7 +169,6 @@ void vpci_deassign_device(struct pci_dev *pdev)
 
 int vpci_assign_device(struct pci_dev *pdev)
 {
-    unsigned int i;
     const unsigned long *ro_map;
     int rc = 0;
 
@@ -159,12 +199,19 @@ int vpci_assign_device(struct pci_dev *pdev)
         goto out;
 #endif
 
-    for ( i = 0; i < NUM_VPCI_INIT; i++ )
-    {
-        rc = __start_vpci_array[i](pdev);
-        if ( rc )
-            break;
-    }
+    /*
+     * Capabilities with high priority like MSI-X need to
+     * be initialized before header
+     */
+    rc = vpci_init_cap_with_priority(pdev, VPCI_PRIORITY_HIGH);
+    if ( rc )
+        goto out;
+
+    rc = vpci_init_header(pdev);
+    if ( rc )
+        goto out;
+
+    rc = vpci_init_cap_with_priority(pdev, VPCI_PRIORITY_LOW);
 
  out: __maybe_unused;
     if ( rc )
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 807401b2eaa2..fa13397ae409 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -13,12 +13,16 @@ typedef uint32_t vpci_read_t(const struct pci_dev *pdev, unsigned int reg,
 typedef void vpci_write_t(const struct pci_dev *pdev, unsigned int reg,
                           uint32_t val, void *data);
 
-typedef int vpci_register_init_t(struct pci_dev *dev);
-
 #define VPCI_PRIORITY_HIGH      "1"
-#define VPCI_PRIORITY_MIDDLE    "5"
 #define VPCI_PRIORITY_LOW       "9"
 
+typedef struct {
+    unsigned int id;
+    const char *priority;
+    bool is_ext;
+    int (*init)(struct pci_dev *pdev);
+} vpci_capability_t;
+
 #define VPCI_ECAM_BDF(addr)     (((addr) & 0x0ffff000) >> 12)
 
 /*
@@ -29,9 +33,20 @@ typedef int vpci_register_init_t(struct pci_dev *dev);
  */
 #define VPCI_MAX_VIRT_DEV       (PCI_SLOT(~0) + 1)
 
-#define REGISTER_VPCI_INIT(x, p)                \
-  static vpci_register_init_t *const x##_entry  \
-               __used_section(".data.vpci." p) = (x)
+#define REGISTER_VPCI_CAP(cap, x, p, ext) \
+  static vpci_capability_t x##_t = { \
+        .id = (cap), \
+        .init = (x), \
+        .priority = (p), \
+        .is_ext = (ext), \
+  }; \
+  static vpci_capability_t *const x##_entry  \
+               __used_section(".data.vpci." p) = &(x##_t)
+
+#define REGISTER_VPCI_LEGACY_CAP(cap, x, p) REGISTER_VPCI_CAP(cap, x, p, false)
+#define REGISTER_VPCI_EXTEND_CAP(cap, x, p) REGISTER_VPCI_CAP(cap, x, p, true)
+
+int __must_check vpci_init_header(struct pci_dev *pdev);
 
 /* Assign vPCI to device by adding handlers. */
 int __must_check vpci_assign_device(struct pci_dev *pdev);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:33:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928503.1331197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhjq-0000MU-UF; Thu, 27 Mar 2025 07:33:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928503.1331197; Thu, 27 Mar 2025 07:33: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 1txhjq-0000LL-Px; Thu, 27 Mar 2025 07:33:18 +0000
Received: by outflank-mailman (input) for mailman id 928503;
 Thu, 27 Mar 2025 07:33: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=yP17=WO=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1txhjp-0000Fj-BR
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:33:17 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20604.outbound.protection.outlook.com
 [2a01:111:f403:2416::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be1d85cd-0add-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 08:33:15 +0100 (CET)
Received: from MN2PR01CA0033.prod.exchangelabs.com (2603:10b6:208:10c::46) by
 CH2PR12MB9458.namprd12.prod.outlook.com (2603:10b6:610:280::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 07:33:09 +0000
Received: from BN1PEPF0000468D.namprd05.prod.outlook.com
 (2603:10b6:208:10c:cafe::65) by MN2PR01CA0033.outlook.office365.com
 (2603:10b6:208:10c::46) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.44 via Frontend Transport; Thu,
 27 Mar 2025 07:33:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF0000468D.mail.protection.outlook.com (10.167.243.138) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 27 Mar 2025 07:33:09 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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, 27 Mar
 2025 02:33:06 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be1d85cd-0add-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PrkZ5rtaQYPOkXazyOx7HVqYP7AHFA22RxrVIQ4l7/xbPVh5mrEScGU9GuB+dUohEMwoz1QqVuxcG8nc4uHwVaoc0WSSTGqjdhukHaj5m0uWjFjeLiyfXHCxgy3YmrnVANUrkHCKXHhr1Naf8XZAM6Vo0NWXwE5GcX7yRiKSarZBWLurKcN+w9wIl5JCz+VD4+mwF2qsS8JcHmQtOp2A0K2S7ufDBZjgHvkKek7t6Um0SpuzJT9LtN4LGC4cxWXhgphQC/b4+lnwqOaFRsMMzpeKCm4f1L/19GX9Y9MyyNdSKo2AMxXeCJdxIV8K3ooW7EhRtb9y+tu2qqmwWEkFMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2cAiSPXd5IpHe1VtFA4KM/bCR2mfqDwXwqIn1xoTx/k=;
 b=nDtLKm01L4lqUdOhU9ughgMYrTIedJ4/ZL5PaqXmaNDTfk3QTiaQHdS+xLGBJGnR6ElkqmQXybfIN8eqV6G0SCtj0vK7g78kZ7mBIvIN/Ym3+bX7NNjyAS7N1GNIjCmhJO8rLRXSHoRxIGHBHmBMK7LGo9+1odxdeRsfwpjb6mjCXcSbT04iN9M6HqqlYs9NOxLgrQqyg4KwmwWLDhe3HxUBy/lphJO7iVTFPQSEXxha5MRMZ1UG2xwrRsBya52YuhBEnGNtt5e44OLo3OPSdCd0szPXMAH6WL0dUWpZ9BxeyE2IMBmekNgH20Mt/R9andw0itlU8UL6D/n9vxwTqw==
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=2cAiSPXd5IpHe1VtFA4KM/bCR2mfqDwXwqIn1xoTx/k=;
 b=yfh5g6wSfWZtUkKus46YMOO75bKDIcyv8pBvhF5Ut+/2V6Xr0az7S+EWrRLazjgN8sZKfxN1thDtrPPwc3tBycEqYfryfjw0X5LgzQZqx/sALQwDSHBbkj6oTXZ6G5XCHOU3VwvRYAZCUEABieOJFGUQaP3pMyraJJm8/K9jA+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=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Huang Rui
	<ray.huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Subject: [PATCH v1 2/3] vpci/rebar: Remove registers when init_rebar() fails
Date: Thu, 27 Mar 2025 15:32:13 +0800
Message-ID: <20250327073214.158210-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250327073214.158210-1-Jiqian.Chen@amd.com>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF0000468D:EE_|CH2PR12MB9458:EE_
X-MS-Office365-Filtering-Correlation-Id: 81015b23-9dec-479c-a2f8-08dd6d019f90
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?FU0YmON7BM0IpiQoghMKL9ySxL93wS6Oi65SHPz/QVx93SN1eukjyb0ysY6B?=
 =?us-ascii?Q?nqPrZzkY92X+BCefF8LwDZJmx2vIfCMAvbOPVpQxLyYmhjtsqkbn6EWbgiSS?=
 =?us-ascii?Q?SXC3YCQMxoC8NFsY9bNcj+Sh34o5RMRwUSEZ+2pkx/9uZ/hB+ix0ts15AUPl?=
 =?us-ascii?Q?JScObFOZYf7bFm50RnqTXU8dtzVCAA4J+sVpYUgYcMNdB8omLUUi1Y5ygel0?=
 =?us-ascii?Q?uR5VfaFY3E7LrvS3pbK8oMiXKRuMRVporLvCo/MTrhd7rIdQyKd5yLx9F6Rj?=
 =?us-ascii?Q?2wjIdPsC3TOqF+WaMt1/n2qt1gjHIoi4alEkK7FByxiATe91okEBRozhdP2M?=
 =?us-ascii?Q?9sZEqMm5LMOoeTmOAt9Dq6KbOGODPWf4nTgVXWS6pbrZFmPVXE5inlYksUsm?=
 =?us-ascii?Q?4hEKux7G//EYnOPAwZxaS4mUlh6rIRagWTdb3mMHqj6/S8Mo0dXwhclLdqfA?=
 =?us-ascii?Q?XThFGnHaU7uywJy0DieU3CUV+KiuZ5XtJ3Tj/OhIUVGom6zx7+PxEFfVoGLc?=
 =?us-ascii?Q?+xCweM1nH+GbbmOXtn7z/+c/pWt5vbBk600AY+rJNQHh5z9qaAi3w5SVDpZd?=
 =?us-ascii?Q?LmEKvDIh8xcmL61c/RU+qNTnmX/KK1i64q0Knrtv5C9jBcHUUa87EEr9g6uR?=
 =?us-ascii?Q?Yib/EQw6qg+wvbiBZrstASK9YY02qVyrCpTccLxZ+ujEc1aBjorjbfTSGQB9?=
 =?us-ascii?Q?E7t2YQI3ZNA23rxoCGWveMHvlkoHaN6IkpfRD9ufVWxQj5O7l3UXb3jCnVV1?=
 =?us-ascii?Q?cjc38PQUYPDamrjiMzpuBvwUmFYZ49BkpRPSCyQpDivtmOt4JIihAKF8MIDn?=
 =?us-ascii?Q?yc1xTs98HUJvlRM2OaGVdgKEoK7zkFotZaCrsYyILJWPNGs9mIqQwvBbVYxi?=
 =?us-ascii?Q?YwJdepC+Rg49QbqBbH/bU4Wh4T1KlaZpWldM3dm0hTiaATzfRyj6P3Nc6mn7?=
 =?us-ascii?Q?988zKSnN51QZsarPcpK/6WPC+AsSjJDy2UvLtuYGls+H160IHyueMOT52D9Q?=
 =?us-ascii?Q?OmlAWH3CDPuwjVdoMCf/FArw1cpepr7SoH9raAbqPhj29imQckxrTT8Vh/O2?=
 =?us-ascii?Q?OZXC0iGnEzi/TnlzS/u/WWDz5t8hy/nY4W1tHDNhpqkPNkSvYueAoktrWngJ?=
 =?us-ascii?Q?/8jLKuOx/1poofyI/XTf0SjXASLoGrZlzNIKbjhb79nr1rjL9OpJMoOJ19fj?=
 =?us-ascii?Q?AhyeSdHzKIJP8+0GDb2tiiizVtcIG03j+GeBgDABExPr71sfsalEYNDUvigp?=
 =?us-ascii?Q?oSdgc2rJOfdeqQnNd9YsFcu8fjm+Az7VgKAr5iEnaYTHU5pghLW3I2fHfU9u?=
 =?us-ascii?Q?QkiJhYJg38KuT7A5VSE2XZnskwunNT9VFaYEUQmecTQCP40YaTPX5MCXp3Np?=
 =?us-ascii?Q?MaDGHTkI6nLB1AG3WcI46KDkEok9gECTAR4leIEWCezK9Q1/tqx9PuoLU/L3?=
 =?us-ascii?Q?6mmrJoBizR8WlHoHuuUeFZUph+9Jo329ugsqDIpVFqU9Y3EK3d+SEQ=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 27 Mar 2025 07:33:09.5502
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81015b23-9dec-479c-a2f8-08dd6d019f90
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF0000468D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB9458

When init_rebar() fails, the new codes will try to hide Rebar
capability, so it can't rely on vpci_deassign_device() to remove
all Rebar related registers anymore, those registers must be
cleaned up in failure path of init_rebar.

To do that, use a vpci_register array to record all Rebar registers
and call vpci_remove_register() to remove registers.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
 xen/drivers/vpci/rebar.c | 33 ++++++++++++++++++++-------------
 xen/drivers/vpci/vpci.c  | 14 --------------
 xen/include/xen/vpci.h   | 15 +++++++++++++++
 3 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/xen/drivers/vpci/rebar.c b/xen/drivers/vpci/rebar.c
index 7c53ee031887..5f2f9978feb9 100644
--- a/xen/drivers/vpci/rebar.c
+++ b/xen/drivers/vpci/rebar.c
@@ -51,8 +51,11 @@ static void cf_check rebar_ctrl_write(const struct pci_dev *pdev,
 
 static int cf_check init_rebar(struct pci_dev *pdev)
 {
+    int rc = 0;
     uint32_t ctrl;
     unsigned int nbars;
+    unsigned int reg_index = 0;
+    struct vpci_register registers[VPCI_CAP_MAX_REGISTER];
     unsigned int rebar_offset = pci_find_ext_capability(pdev->sbdf,
                                                         PCI_EXT_CAP_ID_REBAR);
 
@@ -70,17 +73,17 @@ static int cf_check init_rebar(struct pci_dev *pdev)
     nbars = MASK_EXTR(ctrl, PCI_REBAR_CTRL_NBAR_MASK);
     for ( unsigned int i = 0; i < nbars; i++ )
     {
-        int rc;
+        const unsigned int offset = rebar_offset + PCI_REBAR_CTRL(i);
         struct vpci_bar *bar;
         unsigned int index;
 
-        ctrl = pci_conf_read32(pdev->sbdf, rebar_offset + PCI_REBAR_CTRL(i));
+        ctrl = pci_conf_read32(pdev->sbdf, offset);
         index = ctrl & PCI_REBAR_CTRL_BAR_IDX;
         if ( index >= PCI_HEADER_NORMAL_NR_BARS )
         {
             printk(XENLOG_ERR "%pd %pp: too big BAR number %u in REBAR_CTRL\n",
                    pdev->domain, &pdev->sbdf, index);
-            continue;
+            goto fail;
         }
 
         bar = &pdev->vpci->header.bars[index];
@@ -88,24 +91,19 @@ static int cf_check init_rebar(struct pci_dev *pdev)
         {
             printk(XENLOG_ERR "%pd %pp: BAR%u is not in memory space\n",
                    pdev->domain, &pdev->sbdf, index);
-            continue;
+            goto fail;
         }
 
         rc = vpci_add_register(pdev->vpci, vpci_hw_read32, rebar_ctrl_write,
-                               rebar_offset + PCI_REBAR_CTRL(i), 4, bar);
+                               offset, 4, bar);
         if ( rc )
         {
             printk(XENLOG_ERR "%pd %pp: BAR%u fail to add reg of REBAR_CTRL rc=%d\n",
                    pdev->domain, &pdev->sbdf, index, rc);
-            /*
-             * Ideally we would hide the ReBar capability on error, but code
-             * for doing so still needs to be written. Use continue instead
-             * to keep any already setup register hooks, as returning an
-             * error will cause the hardware domain to get unmediated access
-             * to all device registers.
-             */
-            continue;
+            goto fail;
         }
+        registers[reg_index].offset = offset;
+        registers[reg_index++].size = 4;
 
         bar->resizable_sizes =
             MASK_EXTR(pci_conf_read32(pdev->sbdf,
@@ -117,6 +115,15 @@ static int cf_check init_rebar(struct pci_dev *pdev)
     }
 
     return 0;
+
+ fail:
+    for ( unsigned int i = 0; i < reg_index; i++ )
+        if ( vpci_remove_register(pdev->vpci,
+                                  registers[i].offset,
+                                  registers[i].size) )
+            continue;
+
+    return rc;
 }
 REGISTER_VPCI_EXTEND_CAP(PCI_EXT_CAP_ID_REBAR, init_rebar, VPCI_PRIORITY_LOW);
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index a8362e46e097..ea81d8cc9604 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -21,20 +21,6 @@
 #include <xen/vpci.h>
 #include <xen/vmap.h>
 
-/* Internal struct to store the emulated PCI registers. */
-struct vpci_register {
-    vpci_read_t *read;
-    vpci_write_t *write;
-    unsigned int size;
-    unsigned int offset;
-    void *private;
-    struct list_head node;
-    uint32_t ro_mask;
-    uint32_t rw1c_mask;
-    uint32_t rsvdp_mask;
-    uint32_t rsvdz_mask;
-};
-
 #ifdef __XEN__
 extern vpci_capability_t *const __start_vpci_array[];
 extern vpci_capability_t *const __end_vpci_array[];
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index fa13397ae409..19a036c22165 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -214,6 +214,21 @@ struct vpci_vcpu {
     bool rom_only : 1;
 };
 
+#define VPCI_CAP_MAX_REGISTER 10
+
+struct vpci_register {
+    vpci_read_t *read;
+    vpci_write_t *write;
+    unsigned int size;
+    unsigned int offset;
+    void *private;
+    struct list_head node;
+    uint32_t ro_mask;
+    uint32_t rw1c_mask;
+    uint32_t rsvdp_mask;
+    uint32_t rsvdz_mask;
+};
+
 #ifdef __XEN__
 void vpci_dump_msi(void);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:33:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928504.1331202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhjr-0000R3-5S; Thu, 27 Mar 2025 07:33:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928504.1331202; Thu, 27 Mar 2025 07:33: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 1txhjr-0000PJ-0p; Thu, 27 Mar 2025 07:33:19 +0000
Received: by outflank-mailman (input) for mailman id 928504;
 Thu, 27 Mar 2025 07:33: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=yP17=WO=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1txhjq-0000Fj-2P
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:33:18 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2414::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdc47039-0add-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 08:33:14 +0100 (CET)
Received: from MN2PR01CA0031.prod.exchangelabs.com (2603:10b6:208:10c::44) by
 MN2PR12MB4128.namprd12.prod.outlook.com (2603:10b6:208:1dd::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 07:33:10 +0000
Received: from BN1PEPF0000468D.namprd05.prod.outlook.com
 (2603:10b6:208:10c:cafe::d9) by MN2PR01CA0031.outlook.office365.com
 (2603:10b6:208:10c::44) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.44 via Frontend Transport; Thu,
 27 Mar 2025 07:33:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF0000468D.mail.protection.outlook.com (10.167.243.138) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 27 Mar 2025 07:33:10 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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, 27 Mar
 2025 02:33:07 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdc47039-0add-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lxQteUsH5vHrukHWOXL7jnRxfO9wslEmCrC3FAU7C1tE3iKVgmt8rHA7FgdqbI4ddx2kWwK4CzJQnWi9td1RmXZj8OtuiFZw4Vi7xXmUDUqsrjx9MTsdNkYoLVn/bXHfceSPjjz3e59Ywli1pOAeprSegbPlLQKNv/bQI4j0X6No2vgM5WvTjEw5tZO3aQSd6dolMo9rOigUFNsulOvQXlWRd1H6kLXvTEB5ruo4T/YbVsupnaDFDd8LVJauhkGcIMOYHcepCOAXZt7dA66QZd7+CUu/L6cgq3RP2rsLjCihunDvOaBrWPJSCqVj74XuqF9DB0xjVEUbGK5B+9hv3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xYEeEBUWQ7pVi/5cONRapUgnYozVHriILuKaiULbW5w=;
 b=ctu84xR8wzKV9Ozy6n2QPlXcQb3cVKPALvYOo7cTfUrBukdJmJqgW0FIHdKmmSCRxRbL/nGH57Lbkixm3TKtVF413gMFMkWApTj0+pnxI8QprSejF6Vrre5f4CWPAf0b/M9tF2RQUvvzio+xlAKPwjwoeNDjhUx69vzq6veWX2HhzPVgHbbwHGejhvPbG1J3JAdbmBHdULqnGt/gdKN2NH+yEReSVJlATuaH/Ud1/UYWXHEZgkJ1cz88FQ8TMTwuZ8tc2FGbmBxfk6lBnREma0+9Yjbc9vF3teGTf6AV9e5o2FiyZLHvy41gdYM2k1CQPUegWyzN6e3L74tIcwIKYw==
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=xYEeEBUWQ7pVi/5cONRapUgnYozVHriILuKaiULbW5w=;
 b=dbWjjIWS9eFnxkO2PoB14oOgjqPmsHBWhQZcwVUKHurHqLj3I0WFppfDrs1IHbB4UoqAQCllkXU9eUldAegqW8foxyEHea5pBsqsCwapRCLBsuEcHDtOt/iMn8ZnZTM67GP94vMjHKz2LZx+ItMeqFM160zojdasQ/WTx1ck72Q=
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=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Huang Rui
	<ray.huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Subject: [PATCH v1 3/3] vpci/msi: Remove registers when init_msi() fails
Date: Thu, 27 Mar 2025 15:32:14 +0800
Message-ID: <20250327073214.158210-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250327073214.158210-1-Jiqian.Chen@amd.com>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF0000468D:EE_|MN2PR12MB4128:EE_
X-MS-Office365-Filtering-Correlation-Id: 497b1b5f-847b-43df-e616-08dd6d019fe5
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:
	=?us-ascii?Q?kDTweUrhoNfUj7/yoXOQNc1G5QN7UYsu61aN3Eou22MFVKCOK2upOxm204H/?=
 =?us-ascii?Q?ynx+YpF/9aQ/uVcPmWMHs1uk0UzTfoG3fxpPPBEiWXylp6ytkwGfpWtyQ/cB?=
 =?us-ascii?Q?cx2GzGcPmRNyUv3A8xNhEZ3IFL7T9jwjM1oJS24xiWC/dfUAwI5br2Ompurm?=
 =?us-ascii?Q?mEZn5E48n3O869M0DuLHBNb1Pb4onxBrinF+mne3p0i6Jb/+YM+Z8frshCkR?=
 =?us-ascii?Q?nKrRA00FfZd2ZgxcYA6sWCtiQTDPnKd6RBl5dyJsQlKt2F+HboPdfSY2QOg9?=
 =?us-ascii?Q?2UHYiwiM84CUZMNVXSV8RNE9tas+yosl4e3fVx79mI8VATtqtIA9m8Mu30uL?=
 =?us-ascii?Q?w0+Yk7E09b1Lohd0D7DzFqmYVAWew3RMbwyn0C1G67+czRRwKjfOTGABJqF0?=
 =?us-ascii?Q?4FMLdLpUNjEScnVb3ANZcSHQJhC5/L3GA4HBQbdUDDBfjhyIolzcRRrPmPo1?=
 =?us-ascii?Q?c21MmUGQuw2Y9KELkalS6jbp3GP8poAG2au3+S3pi7jCPlPbcxwoeX9P0wuq?=
 =?us-ascii?Q?Zhida/QjE2YRf10Ssb1wEH8yk8LCxFk090u4VyOIY8Q6RO8BBObsB5GM98Uw?=
 =?us-ascii?Q?5xi2/cxF5z6Ue9TNo0cKPTGHjjR37+oIK3nR24LMzMU3S2hw8KmqZrKl2L4H?=
 =?us-ascii?Q?m7jg9nkOMUsme4ScIZaL8raS3IkX5q/Y89Dh12mgdguzhPBP70QYCAZus80E?=
 =?us-ascii?Q?IWbhaUwgr3HjhQb40xCcm7Uv5kx1C1akDvYN/xEdma7AEkEB4yYSRBUk21m0?=
 =?us-ascii?Q?B+RKB2CQitAd9Kg7B53A5p+9LRTzPTaG2/G7XC2merhW+4EH/kVCXveyrBcv?=
 =?us-ascii?Q?FXyEPYGw6kpzwck3bfnGHK2YgN1Mn1OA6pMNIuOcVUNRfmQsMdB0smksRHyz?=
 =?us-ascii?Q?d759eWtuwouhJ4T7swq18XOE5svEEbN0uuOdPSxIXIbJshawTzRhjVjILeFh?=
 =?us-ascii?Q?kQuGai/utScYXUvhPH3e9FUNTJoEv4w0hbqjnxXT3OEP6DPsm+uBS80/5LmY?=
 =?us-ascii?Q?PYiNUyoOB6p3NzP0Ga6lYLpCJ4ReikwnFe0DrB7ZTJ43WTMmQVX7mg/8P35R?=
 =?us-ascii?Q?R8UT4yBKKttsm3JzhjVzzqYU6KU/rB0a84GRZKC/b7IZR4UAA/Q26ZGgjMtc?=
 =?us-ascii?Q?B1MIDNPP5hPL1Rt192xMqANSIo7OB3x86+LP8EojSr1rWS46sOhaEsm82obK?=
 =?us-ascii?Q?vHKS4g5NPOfdVu5dCVPU73b9Pf5/mszAdll+IfNDh8WuIlHSM1n0RUQ5XuI9?=
 =?us-ascii?Q?5+3LqcgLAWkMb+88Lb/APIZaZuP9omnRVb2zLHxglVBGzgOmzJniVDjVNuSM?=
 =?us-ascii?Q?vDd57S9d9VHIjV8LUqpL0UW7jgwBHlcWysEJXc9r9cLbvM63hTqGhAOzKqR/?=
 =?us-ascii?Q?0RPYevTMsVJmn24RiNscA87N1C7QZXy2SP8uAr5jAywiANkUiKQZA1rnxMBk?=
 =?us-ascii?Q?T38YkxPrO3NQGhpsjmAHzj9KCkAKUiqy98eZVNCm+CQK6+Sz++yFEE3Ensvf?=
 =?us-ascii?Q?dL9eCYlGgSrSvQE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 27 Mar 2025 07:33:10.1101
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 497b1b5f-847b-43df-e616-08dd6d019fe5
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF0000468D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4128

When init_msi() fails, the new codes will try to hide MSI
capability, so it can't rely on vpci_deassign_device() to
remove all MSI related registers anymore, those registers
must be cleaned up in failure path of init_msi.

To do that, use a vpci_register array to record all MSI
registers and call vpci_remove_register() to remove registers.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
 xen/drivers/vpci/msi.c | 57 +++++++++++++++++++++++++++++-------------
 1 file changed, 39 insertions(+), 18 deletions(-)

diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
index 9d7a9fd8dba1..30ef97efb7b0 100644
--- a/xen/drivers/vpci/msi.c
+++ b/xen/drivers/vpci/msi.c
@@ -195,6 +195,9 @@ static void cf_check mask_write(
 
 static int cf_check init_msi(struct pci_dev *pdev)
 {
+    unsigned int offset;
+    unsigned int reg_index = 0;
+    struct vpci_register registers[VPCI_CAP_MAX_REGISTER];
     unsigned int pos = pdev->msi_pos;
     uint16_t control;
     int ret;
@@ -206,15 +209,13 @@ static int cf_check init_msi(struct pci_dev *pdev)
     if ( !pdev->vpci->msi )
         return -ENOMEM;
 
+    offset = msi_control_reg(pos);
     ret = vpci_add_register(pdev->vpci, control_read, control_write,
-                            msi_control_reg(pos), 2, pdev->vpci->msi);
+                            offset, 2, pdev->vpci->msi);
     if ( ret )
-        /*
-         * NB: there's no need to free the msi struct or remove the register
-         * handlers form the config space, the caller will take care of the
-         * cleanup.
-         */
-        return ret;
+        goto fail;
+    registers[reg_index].offset = offset;
+    registers[reg_index++].size = 2;
 
     /* Get the maximum number of vectors the device supports. */
     control = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
@@ -234,33 +235,42 @@ static int cf_check init_msi(struct pci_dev *pdev)
     pdev->vpci->msi->address64 = is_64bit_address(control);
     pdev->vpci->msi->masking = is_mask_bit_support(control);
 
+    offset = msi_lower_address_reg(pos);
     ret = vpci_add_register(pdev->vpci, address_read, address_write,
-                            msi_lower_address_reg(pos), 4, pdev->vpci->msi);
+                            offset, 4, pdev->vpci->msi);
     if ( ret )
-        return ret;
+        goto fail;
+    registers[reg_index].offset = offset;
+    registers[reg_index++].size = 4;
 
+    offset = msi_data_reg(pos, pdev->vpci->msi->address64);
     ret = vpci_add_register(pdev->vpci, data_read, data_write,
-                            msi_data_reg(pos, pdev->vpci->msi->address64), 2,
-                            pdev->vpci->msi);
+                            offset, 2, pdev->vpci->msi);
     if ( ret )
-        return ret;
+        goto fail;
+    registers[reg_index].offset = offset;
+    registers[reg_index++].size = 2;
 
     if ( pdev->vpci->msi->address64 )
     {
+        offset = msi_upper_address_reg(pos);
         ret = vpci_add_register(pdev->vpci, address_hi_read, address_hi_write,
-                                msi_upper_address_reg(pos), 4, pdev->vpci->msi);
+                                offset, 4, pdev->vpci->msi);
         if ( ret )
-            return ret;
+            goto fail;
+        registers[reg_index].offset = offset;
+        registers[reg_index++].size = 4;
     }
 
     if ( pdev->vpci->msi->masking )
     {
+        offset = msi_mask_bits_reg(pos, pdev->vpci->msi->address64);
         ret = vpci_add_register(pdev->vpci, mask_read, mask_write,
-                                msi_mask_bits_reg(pos,
-                                                  pdev->vpci->msi->address64),
-                                4, pdev->vpci->msi);
+                                offset, 4, pdev->vpci->msi);
         if ( ret )
-            return ret;
+            goto fail;
+        registers[reg_index].offset = offset;
+        registers[reg_index++].size = 4;
         /*
          * FIXME: do not add any handler for the pending bits for the hardware
          * domain, which means direct access. This will be revisited when
@@ -269,6 +279,17 @@ static int cf_check init_msi(struct pci_dev *pdev)
     }
 
     return 0;
+
+ fail:
+    for ( unsigned int i = 0; i < reg_index; i++ )
+        if ( vpci_remove_register(pdev->vpci,
+                                  registers[i].offset,
+                                  registers[i].size) )
+            continue;
+    xfree(pdev->vpci->msi);
+    pdev->vpci->msi = NULL;
+
+    return ret;
 }
 REGISTER_VPCI_LEGACY_CAP(PCI_CAP_ID_MSI, init_msi, VPCI_PRIORITY_LOW);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:39:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:39:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928532.1331219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhpX-0001yx-QG; Thu, 27 Mar 2025 07:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928532.1331219; Thu, 27 Mar 2025 07:39: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 1txhpX-0001yq-NM; Thu, 27 Mar 2025 07:39:11 +0000
Received: by outflank-mailman (input) for mailman id 928532;
 Thu, 27 Mar 2025 07:39: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txhpW-0001yk-DF
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:39: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 91a10ffb-0ade-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 08:39:09 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39ac8e7688aso423442f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 00:39: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-43d830f5f22sm28124385e9.30.2025.03.27.00.39.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 00:39: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: 91a10ffb-0ade-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743061149; x=1743665949; 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=f/e5WuW0HVCiCOzbWvayFEgAyTWKwiuX91S8IXidC3Y=;
        b=QoymylEx8ZuAqw/q6Yfx1QAjaZfSheb9sxroMbdVOLWvlmfbq1PFn12PKkv/TloX/N
         Oi+2/PEqzkxtZpPB3BBPoI0D/hkAQUC05DFFEyT6PWXfxuUomediYtD49b0O9WPaYBMx
         DYEr9i62kqJV1/ealhOhVNbFD6mbJsgvS6Vzfzw1xkBPU0s76EYgjh9lGPKpn1dXZsR3
         tQZjandtRZ1456SCuytd2j9m9EoyT+dU1PvOQFv2IlMVuz+UeQisUbIGlT1Mtwh8cceo
         qbfsFkOpOi39XP+H0DvCeu1qIwNj1ehxQODOZqgfqYLRgIjt7mElq0Ou9csHuAQXapft
         8Ozw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743061149; x=1743665949;
        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=f/e5WuW0HVCiCOzbWvayFEgAyTWKwiuX91S8IXidC3Y=;
        b=F0UH5CUCysQ9BtnRHdpdWSFsOZZdcmUFqkL+tZLBiliLU2lzIQnsNLMT4EEfSGmbg2
         n2zADZKM0kE19m9ZxNj7oOgM09TW9B3cfJ9F1X2uhEuCBHUfqzcL7rzDkoLgsRzBQyQn
         Snh+QcT615JZ7J88vS5j6hPewsEN9wjqPhf5sfq9c/iluV234wX5oW6cAEAIioClhh17
         1DxN6Xkxlt4YRsxbWyqRTGkdkcTyuqyZ7xA8v6Ty6kFAPZw/pb/uP/sGGBDrmCt74ckz
         T64S/MJQDzHci/xbLz/fdNY7mCIAi8mdZb6aWiLuzod15jsRxHMv9CoFmuHNCPbk+6tu
         B6qA==
X-Forwarded-Encrypted: i=1; AJvYcCUf96OgdTWB83aNpN55Ub/6TSIyw+vlDKbk7N6KuO0qqeqOYnbYuEL3G9+048O6Jyg/vyTffOg71ig=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxezJ97o33kItgZeO4jU3BH2LGQSvYx9kwpCjELegiSZubwHH3X
	0KwdbTJHBZWWq76UPmr5vR6AlHdGG38ObHFwiOgVCG1jB6SqAKyiiqsGuq92Bg==
X-Gm-Gg: ASbGncsSiUPeu3LqkLRj9LhMiPiz0Kxp+IEv/yKlHdhK30Nj5CFrtMWmtg5r1G/tFAB
	OKgUrCAyBtrtPBdtOxYZJ/1/I49+4oztMq82GivEZvoNkrB9g79fGTdGm1Oqf/p0INTU6JhAYn6
	LTy9PWnMClcvv6Yp7iZNSoN97sd1YVZWidqsqEHHiSADGjAgRj0TLddYF5mmo9nMgqYRZOCVnza
	vu9PHil4IjtVVJhz392uIo63xQd2cW4UURVKoXSQzIXBS9mSra+JaR15HoaXf/cwILAMat5W79X
	Eypaby2xOVXtPvEclvArsdTVBGRh1b6STXggvz1p8oQ6DNTMFgJ7jXKK6XYIm323GHHHlPV2xx2
	nfBwVU0N3pyVx0RPbWm0hnyjUo8b9ww==
X-Google-Smtp-Source: AGHT+IHzGYrBTXHrg5rZ9y05RkVdfrERoRX7P4zCHJoRSgrsorJSzHUazxwgQpt7j3CEss9dJn7AjA==
X-Received: by 2002:a5d:47c5:0:b0:391:412b:e23f with SMTP id ffacd0b85a97d-39ad1746282mr2052145f8f.15.1743061148536;
        Thu, 27 Mar 2025 00:39:08 -0700 (PDT)
Message-ID: <b0af1e38-9c27-469e-8bc9-321d3c49dd2c@suse.com>
Date: Thu, 27 Mar 2025 08:39:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/riscv: implement basic aplic_preinit()
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>,
 Romain Caritey <Romain.Caritey@microchip.com>, xen-devel@lists.xenproject.org
References: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <f0945e3a41e911b5dfd005a8d15aa0d668d8e3cf.1742918184.git.oleksii.kurochko@gmail.com>
 <e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com>
 <242f04d2-50b6-4ce1-8710-6dae2f940b9e@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: <242f04d2-50b6-4ce1-8710-6dae2f940b9e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 17:49, Oleksii Kurochko wrote:
> On 3/26/25 4:19 PM, Jan Beulich wrote:
>> On 25.03.2025 18:36, Oleksii Kurochko wrote:
>>> Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
>>> Interrupt Controller (APLIC) in Xen:
>>>   - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
>>>     ensuring that only one APLIC instance is supported in S mode.
>>>   - Initialize APLIC's correspoinding DT node.
>>>   - Declaring the DT device match table for APLIC.
>>>   - Setting `aplic_info.hw_version` during its declaration.
>>>   - Declaring an APLIC device.
>>>
>>> Since Microchip originally developed aplic.c [1], an internal discussion
>>> with them led to the decision to use the MIT license instead of the default
>>> GPL-2.0-only.
>>>
>>> [1]https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d
>>>
>>> Signed-off-by: Romain Caritey<Romain.Caritey@microchip.com>
>>> Signed-off-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>> You recall that From: != 1st S-o-b is unusual, and wants some explanation.
>> IOW it's unclear who the original author of this patch is.
> 
> I'm not 100% sure who should be the author. Such patch doesn't exist before but I took the changes
> based on the changes mentioned in commit message as [1].
> 
> If you think that the author should be Romain, I am okay with that.

I can't sensibly form an opinion here. This needs settling between him and you.
>From your reply I'm not even convinced his S-o-b is legitimately there then.
You may want to use another, less standard tag in such a case (like the
Co-developed-by: that I've seen in use here and there) to still give credit to
him.

>>> --- /dev/null
>>> +++ b/xen/arch/riscv/aplic.c
>>> @@ -0,0 +1,49 @@
>>> +/* SPDX-License-Identifier: MIT */
>>> +
>>> +/*
>>> + * xen/arch/riscv/aplic.c
>>> + *
>>> + * RISC-V Advanced Platform-Level Interrupt Controller support
>>> + *
>>> + * Copyright (c) 2023-2024 Microchip.
>>> + * Copyright (c) 2024-2025 Vates
>>> + */
>>> +
>>> +#include <xen/errno.h>
>>> +#include <xen/init.h>
>>> +#include <xen/types.h>
>>> +
>>> +#include <asm/device.h>
>>> +#include <asm/intc.h>
>>> +
>>> +static struct intc_info aplic_info = {
>>> +    .hw_version = INTC_APLIC
>>> +};
>> Is this going to be written to (much) post-init? IOW - __read_mostly or
>> even __ro_after_init?
> 
> I think that __read_mostly would be better because intc_info structure in the future
> will contain member "void *private". And in `private` it can be a data which can
> be changed.

You mean the pointer can change? Or merely what it points to, i.e. ...

> For example, `private` can contain an aplic_priv structure:
> struct aplic_priv {
>      /* number of irqs */
>      uint32_t   nr_irqs;
> 
>      /* base physical address and size */
>      paddr_t    paddr_start;
>      paddr_t    paddr_end;
>      uint64_t   size;
> 
>      /* registers */
>      struct aplic_regs   *regs;
> 
>      /* imsic configuration */
>      const struct imsic_config *imsic_cfg;
> };
> 
> and regs from aplic_priv structure can be changed in runtime.

... the contents of such a struct? In this latter case the struct instance
here can still be __ro_after_init as long as the pointer is set from an
__init function.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:42:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928548.1331230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txht7-0004cj-Bv; Thu, 27 Mar 2025 07:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928548.1331230; Thu, 27 Mar 2025 07:42: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 1txht7-0004cc-8l; Thu, 27 Mar 2025 07:42:53 +0000
Received: by outflank-mailman (input) for mailman id 928548;
 Thu, 27 Mar 2025 07:42: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txht5-0004cW-IK
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:42:51 +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 150c377c-0adf-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 08:42:49 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3913fdd003bso316142f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 00:42: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-3997f9e6539sm19157592f8f.77.2025.03.27.00.42.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 00:42: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: 150c377c-0adf-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743061369; x=1743666169; 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=ZGjhqRU/qS5c78h8VhRsUJeEi6tJrE3XsvjZ0/hEp8w=;
        b=ahi0ARmM/xZzqzclx56hzeh6Y10wAEuUSHeZRASSEgGvc3LfGWYfAEu8615nkkQ468
         /Q5s9fFP8I7JcRgmz7i9GjhO53YCs5Eqwp99lKRaN4U2wro1YZw5wUVsNfp/XBfO2V55
         PuZ2z5l4hSAGY66UVfHtc5Xr+HxdqrXB6DuV88vRNDYL5ry1NWtm8mnWQHJKs3XkG821
         +cNEykhEkARH5ZDYMxMl022ibBrxo3sIuNNkBOtEQFYqlGmaBG+sJOGwpMNHt8SKPd/2
         Kpr2t+ABR9069Nlihx9QIlf5i/8+ziBUd+XzOuTYzXGGCCWJDeeJW53MFVClmM5mREQZ
         QOVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743061369; x=1743666169;
        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=ZGjhqRU/qS5c78h8VhRsUJeEi6tJrE3XsvjZ0/hEp8w=;
        b=pXwaRKjLzB1loPCOn4WEakjGxmvkHd4vpk3pTJeFfM06j0tcjlUxS2XnsGAZYPD6gj
         jZPxQvclkBC7efIbX0gMDVLpT/YrDzDS601QoC8rQzKRicTZFeAFuyUxE0iy7vly+HiE
         6QCvxWDY+uVVUi6VDlawa4DA1jw8I7/tU6XUl/a+x4DX/OvQoBxexfvB0yUJnUw0MdtP
         UW4q0TC78ntETqnob10vhPb3Q6knxDT+M9nwfLXb55naQUVgWuwG24vrYNmzxZoSqRql
         JCzKmJ6W8mY3UhXLXrrfpNvhH3xuLXblgGdUc9i4F/vqyxGVmbSkzSahK7KczLoq2ZG2
         TdLw==
X-Forwarded-Encrypted: i=1; AJvYcCV6u2inU/EYkqj3aOtwQcdZwfynDrj4OwJM/8vEww6e0Tc0ESlOGkouBHG7wiHL2tJvLQWZUimixmw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVudxM5RUKGcEs8ABxlxvlrCbzJblCYlAhl/yOjnevisJspXe1
	5BX5qpbua+gvrmbXdcYhTXHPRHzQhmzLgNWIMB4crvUp7DPJy5t/xk8KB4BqpA==
X-Gm-Gg: ASbGncszAqwV93dbSCXR0IvxbviaaI/e6QkAwnUuESyUwWgKy5HZ5zNZtwaEDJGBcCY
	2lGS/+K7MHVWU8cmskuLdrTjk+pqCOhGtbKRgbIw0wT0up5Z7f6fWMz9Pn2aj0sSW8Ly/a2HgCz
	XxGJps5n21Yy8NTrXB+kPHjptAPCvaMgobESHZtk7cVwplGut6xVt/5EOWRpfHFVgSLY1Ww4SPT
	8vnAq8xQ3iqMMINObXfaiN+LZhaK2c5er9JWfWp5u1JiIm3U/Q2VMr0sdOOilkIh85OSwuTqj+u
	J1EwLvvxgDZ0YuMO40eKVIyMcqqjV9732BvxoW1Bn99EjzXC2XYvjeEu6UQ5HHgqew6fSTM5/8m
	LiA1UxL9gq3P/ZE7l73VlEeZyYZAIqA==
X-Google-Smtp-Source: AGHT+IEp39JTZW9V5iZ42M0/U9NEVf3gIwhdyfkU6MvYUOa8+3LEE8ke1EWMH+1kam5j1KfU5jnLGQ==
X-Received: by 2002:a5d:598e:0:b0:391:65c:1b05 with SMTP id ffacd0b85a97d-39ad14f3095mr2018783f8f.11.1743061369100;
        Thu, 27 Mar 2025 00:42:49 -0700 (PDT)
Message-ID: <f76b12af-172a-4faf-9e60-54c4626db8c3@suse.com>
Date: Thu, 27 Mar 2025 08:42:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/riscv: introduce preinit_xen_time()
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: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com>
 <cb66e1e4-7ac4-4a98-9bdb-b92e6c069f0a@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: <cb66e1e4-7ac4-4a98-9bdb-b92e6c069f0a@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 20:49, Oleksii Kurochko wrote:
> On 3/26/25 4:13 PM, Jan Beulich wrote:
>> On 25.03.2025 18:36, Oleksii Kurochko wrote:
>>> +/* Set up the timer on the boot CPU (early init function) */
>>> +static void __init preinit_dt_xen_time(void)
>>> +{
>>> +    static const struct dt_device_match __initconstrel timer_ids[] =
>>> +    {
>>> +        DT_MATCH_PATH("/cpus"),
>>> +        { /* sentinel */ },
>>> +    };
>>> +    uint32_t rate;
>>> +
>>> +    timer = dt_find_matching_node(NULL, timer_ids);
>>> +    if ( !timer )
>>> +        panic("Unable to find a compatible timer in the device tree\n");
>>> +
>>> +    dt_device_set_used_by(timer, DOMID_XEN);
>>> +
>>> +    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
>>> +        panic("Unable to find clock frequency\n");
>>> +
>>> +    cpu_khz = rate / 1000;
>> "rate" being only 32 bits wide, what about clock rates above 4GHz? Or is
>> this some external clock running at a much lower rate than the CPU would?
> 
> It is the frequency of the hardware timer that drives the 
> |mtime|register, it defines the frequency (in Hz) at which the timer 
> increments.

And that timer can't plausibly run at more than 4 GHz?

>>> +void __init preinit_xen_time(void)
>>> +{
>>> +    preinit_dt_xen_time();
>>> +
>>> +    xen_start_clock_cycles = get_cycles();
>>> +}
>> I take it that more stuff is going to be added to this function? Else I
>> wouldn't see why preinit_dt_xen_time() needed to be a separate function.
> 
> Actually, I checked my latest downstream branch and I haven't added nothing
> extra to this function.
> Only one thing that I want to add is ACPI case:
>      if ( acpi_disabled )
>          preinit_dt_xen_time();
>      else
>          panic("TBD\n"); /* preinit_acpi_xen_time(); */

That's probably a good enough reason then to keep the function separate.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:48:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928558.1331239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txhyG-0005D6-Tb; Thu, 27 Mar 2025 07:48:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928558.1331239; Thu, 27 Mar 2025 07: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 1txhyG-0005Cz-R6; Thu, 27 Mar 2025 07:48:12 +0000
Received: by outflank-mailman (input) for mailman id 928558;
 Thu, 27 Mar 2025 07:48: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txhyG-0005Ct-A5
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:48: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 d4177b20-0adf-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 08:48:10 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfe63c592so5989975e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 00:48: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-43d82dedd1dsm28970525e9.8.2025.03.27.00.48.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 00:48: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: d4177b20-0adf-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743061689; x=1743666489; 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=YnD5q36OGBVMuUp5bg28UKw0UpHdji1xzUVQvzTfNKg=;
        b=Vi+0g0K69pfJZBqlSrF1F0dVXd6L7O87Vruj+AZSRj/Pt2AnZZ+bFubhVswsEiiUJM
         QA4WoL0YyrwOVqK8cjtl6rd2kp1VqAVPFVYqDkxliqfGCHTzJLkT6LO08wxmHe5TBPtz
         4igQWH40xyew37gUFFLrbXvB8+wq+MqGDk/RAMDkF1+KDNLHCWJPnBu+HdxAjpCygobD
         loUpSbRMFaffX9H1+YksXPsIfBunSWJP/XZ3A5sHS6I+JHIS29Nv+dlhWWv53JOb/hkM
         ejZUpD+nnbOUeeUlVS7Mnj3w0nbgKjFO7l+rFVm6zZNvnJ2uWLAHo0p0JCZAYyiidp6U
         uSbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743061690; x=1743666490;
        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=YnD5q36OGBVMuUp5bg28UKw0UpHdji1xzUVQvzTfNKg=;
        b=I/hYvNTkDguMm8fBbaoNgaqylxhXWJkFGu+5zymx4Q4sAMeEZtix/ef5BpBMF/JXd0
         rvNhH+X/nEZ2Z+shXYrIMsns0AxBEYqwWGt/quiBrCe9obzkg1++uZ0WQS59mcxRGs8K
         l5X/uq0XRPLDtOUwcYmpOwGWlHcPhRp+cFDX47cVQKs62oSoXSsmbRjT4EFcB38nNEUN
         gKIKp6ICfB6v0x97AOJDSqIQCrouHXL+JBzzT/QjK8KvsFLM1T1SjdSyC0rQgzK2acra
         ngHCcijq/SbfyRh0ZgterB9BV77fvBCbcAH9aKPb1gOhbmp+Gu/iX0z8b/5hUYOOxCCX
         2Ejw==
X-Forwarded-Encrypted: i=1; AJvYcCWN9sLDXVNnd4FPoQ+Eq/C6r5U4qdq00/08+r5R2A48jxZ+Ij4fYKUZM2cISlGZY7UiEotNHwyjC5g=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1skQx/oGhbZ9Qy+w3EAIA4pEwpsjy1VR3CTiGSvYigU3g2yVD
	l3OHZR4WWijadzosxHBRAk1kKsMCYAG+k1flA01f75KtMWCFBX4nj9K5zAbkZw==
X-Gm-Gg: ASbGnct2ekeKw0+8lm6rfDPzqa/8NXvpU6awX9ZzHzR6dT3s0klxAzRRC/Yh5DBkcvr
	yvyZIWqgVb4Qz2HyPDZycyZpNdC2DLQCo4WyeEFHcsztTZ2jOOJL/Qga9TnqnOSanItJrfoSbZa
	u61QJXmChW/mBBb0YAYbC3m2Y8dQkokrL0xIxvhOy80DF6PerWkUr7EYTt/vlzxZrCnwXReOMVJ
	3Vi/7pkt3GJ3o/D1PkBZP3mAF1WdyqJlTG7+RS1MxhMm3P/lVwrjaop1E8jKUeCmHtgGFAnMgHj
	YjY0Uz/r+sbGdQTV58KfSmhUDLRXAQtwDqofMyLP3yx/yatAZ3vv7kMV4eCDi/PZEkz4X/hizd1
	ytLhtRh79h5Fbxc2upFuPYFu1eVHg5w==
X-Google-Smtp-Source: AGHT+IHmKmLdLGe+l6Oz6sdMYE1IdzycE7kgGRrxIDlPFuk4AeovAY3i0iZshNJ6Isf2WtWP6amssQ==
X-Received: by 2002:a05:600c:4f89:b0:43c:fdbe:4398 with SMTP id 5b1f17b1804b1-43d84f5dd3amr21662235e9.6.1743061689563;
        Thu, 27 Mar 2025 00:48:09 -0700 (PDT)
Message-ID: <a5c6b64c-b162-4b84-87ef-70c2ab665186@suse.com>
Date: Thu, 27 Mar 2025 08:48:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-6-Penny.Zheng@amd.com>
 <5498f98e-f3c5-4cb4-9a3d-793239a4339d@suse.com>
 <DM4PR12MB84519AF2B72DDDF50CA8BF18E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
 <df911e05-df3d-4f16-992e-a1931ad00099@suse.com>
 <IA1PR12MB84674DAE3F0FD2DB2DD87F17E1A12@IA1PR12MB8467.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: <IA1PR12MB84674DAE3F0FD2DB2DD87F17E1A12@IA1PR12MB8467.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 04:12, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Wednesday, March 26, 2025 6:55 PM
>>
>> On 26.03.2025 09:35, Penny, Zheng wrote:
>>>> -----Original Message-----
>>>> From: Jan Beulich <jbeulich@suse.com>
>>>> Sent: Monday, March 24, 2025 11:26 PM
>>>>
>>>> On 06.03.2025 09:39, Penny Zheng wrote:
>>>>> --- a/xen/include/acpi/cpufreq/cpufreq.h
>>>>> +++ b/xen/include/acpi/cpufreq/cpufreq.h
>>>>> @@ -28,6 +28,7 @@ enum cpufreq_xen_opt {
>>>>>      CPUFREQ_none,
>>>>>      CPUFREQ_xen,
>>>>>      CPUFREQ_hwp,
>>>>> +    CPUFREQ_amd_cppc,
>>>>>  };
>>>>>  extern enum cpufreq_xen_opt cpufreq_xen_opts[2];
>>>>
>>>> I'm pretty sure I pointed out before that this array needs to grow,
>>>> now that you add a 3rd kind of handling.
>>>>
>>>
>>> Hmmm, but the CPUFREQ_hwp and CPUFREQ_amd_cppc are incompatible
>> options.
>>> I thought cpufreq_xen_opts[] shall reflect available choices on their hardware.
>>> Even if users define "cpufreq=hwp;amd-cppc;xen", in Intel platform,
>>> cpufreq_xen_opts[] shall contain  CPUFREQ_hwp and CPUFREQ_xen, while
>>> in amd platform, cpufreq_xen_opts[] shall contain CPUFREQ_amd_cppc and
>>> CPUFREQ_xen
>>
>> Maybe I misread the code, but the impression I got was that "cpufreq=hwp;amd-
>> cppc;xen"
> 
> My bad. In my platform, I haven't enabled the CONFIG_INTEL. I previously assumed that
> CONFIG_INTEL and CONFIG_AMD are incompatible options, which leads to the following code
> ```
> else if ( IS_ENABLED(CONFIG_INTEL) && choice < 0 &&
>           !cmdline_strcmp(str, "hwp") )
> {
>     xen_processor_pmbits |= XEN_PROCESSOR_PM_PX;
>     cpufreq_controller = FREQCTL_xen;
> ```
> shall not be working in AMD platform...
> May I ask why not make them incompatible pair? I assumed it each wraps vendor-specific feature, like vmx vs svm...

I'm sorry to say this, but that seems like a pretty odd question to ask. Distros
quite clearly want to build one single hypervisor which can be used on both
Intel and AMD hardware. CONFIG_* are build-time constants after all, not runtime
values. We use them in if() where possible (instead of in #if / #ifdef) simply
to expose as much code as possible to at least syntax and alike checking by the
compiler, irrespective of configuration used by a particular individual. This
way we limit the risk of bit-rotting and unexpected build failures at least some.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 07:55:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 07:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928569.1331250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txi5R-0007ye-L2; Thu, 27 Mar 2025 07:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928569.1331250; Thu, 27 Mar 2025 07: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 1txi5R-0007yX-IC; Thu, 27 Mar 2025 07:55:37 +0000
Received: by outflank-mailman (input) for mailman id 928569;
 Thu, 27 Mar 2025 07:55: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txi5Q-0007yR-Bf
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 07:55:36 +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 dc3ba603-0ae0-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 08:55:33 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-39129fc51f8so420488f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 00:55: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-3997f9efd61sm19317416f8f.91.2025.03.27.00.55.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 00:55: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: dc3ba603-0ae0-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743062133; x=1743666933; 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=cKRp77Bs2p9V4ZekVHJ0OZGtiSaK441UfyogmauuG60=;
        b=MujN9E4+kIytWUKTIvJYklClT6qg2A4rMlezEfiMTJgINuj35u6BFsI5r5BG7NogOu
         WAtPxAZpjwRQQ4Lgh7LoK2l2yvuSRuJHRC9UiPk9bRq2x6RY0a9JkC5Wi4XEgfdGipZB
         Y1ubYeUtUsvrOWdiuH7TUtzJjeHTabHPSDGV34UCehzvdiFupfm159a8UvjimmjYyY4A
         pArEHPzjH59grWj3oLrjtvtoRMCgzl4a5gm9zX/ZQsDhqnnZKgPBYbIjH6CqSWUI1xuE
         z9+v+CeWhtU8d0k7aqs+c9pw38CptE+++vnGi1Ts3cLsbvvsvVjfPf3Y5g4zL4P54MWg
         If0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743062133; x=1743666933;
        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=cKRp77Bs2p9V4ZekVHJ0OZGtiSaK441UfyogmauuG60=;
        b=Nbmb288YeprVcJ16KYW91x7wbK7s0rfAWwBVlDt2t1s3ICWYHkk6PpExozyyWTFRJn
         LAG9mj6LQUX/PkcwWiHxZIvkeC66bb+xqvr5rCg0wZVWoCL5WfNYRsr43PI76CHIsc8A
         Y8wQVm9RNhd6ibExZe/yR6cYxH20/49UoRPSxvzMStltJzfD0oIey+Fn26oSIEkVJctp
         qiYIXi+m4335424+a2aQ1o392+5sgu0QvP4NYrAa5sSL9tqAhYitKGuSsjW3TE+Du5HM
         l+cMWActl+cXx/d/gwwR9YHTWdcwXHY8hWrfoHGYdkwuJW2o63jIL4dQIYowr9vvn7w2
         +2JA==
X-Forwarded-Encrypted: i=1; AJvYcCXcS0AJlkHkllfaYNb9RWnbLK8LBTCDKA1AkC4+3+fhirYeEBYfkz38758GGNTPJJx1yCp6zQ7FHpw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxeYeXUJNuYPOz4XtNApiJBCiYSAgSC5NWf8/4VjeYG695/Zeu5
	QoRW+jSpacn3vVLZxHj8bfWmDR7bDW2JOxspFqt8DV7wOOq1huMDf1tAquYCFQ==
X-Gm-Gg: ASbGncseyudLAKe0lm5+XYr4XZjiFStuFZmWKHhUREEhDyb21OyThd96Sl/QUfsu1O8
	EZIe/qhDXQgqQP6jAXbect3UDDi371G0UuMHGal17KU0CdNfypd0anx6OHsYZLrp3sR3g4aV95e
	bo9RfWn6mdCWhwV+ei/MvK1CWxDMHVYJcZtZwSxvKvHNKfTgjznqu0kxtMfEmOxmtJcDNXPiwUL
	EhU0zg/5plo0rEORaFW/e8PNHc1HjfSkIL7aKajkC3zUGwuEIftbmvOl6jjS0Mi1Iqr6BvWFBnx
	eAArCmRDDvlwUHNZ8MkNM9tdecsIhPtyCDoU4vhc/w5Q727SzXXMzJj8NlGS1yGUR0U08pGWek/
	ZplaS5H6QgqKM8P+anj5tj9RqXDiSfWbPZAsWhYgP
X-Google-Smtp-Source: AGHT+IE1VH5pLpJjU4AtOfd25fpBlgVH5ljGJT0F0aWTyWx8GhKvdrsJJ3IbAVNyHai3/NCj/w+2Ig==
X-Received: by 2002:a5d:588c:0:b0:390:f6aa:4e7c with SMTP id ffacd0b85a97d-39ad1749184mr2045399f8f.28.1743062132701;
        Thu, 27 Mar 2025 00:55:32 -0700 (PDT)
Message-ID: <b56cd8e5-d17a-46a3-8584-cf69113c145a@suse.com>
Date: Thu, 27 Mar 2025 08:55:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/3] xen: gcov: add support for gcc 14.1
To: Volodymyr Babchuk <Volodymyr_Babchuk@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: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
 <20250327004044.2014048-2-volodymyr_babchuk@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: <20250327004044.2014048-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 01:40, Volodymyr Babchuk wrote:
> GCC 14.1 has 9 gcov counters and also can call new merge function
> __gcov_merge_ior(), so we need a new stub for it.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

As to the title - what about 14.2.0? Or the soon to appear 14.3.0? I recommend
to say just 14.

> --- a/xen/common/coverage/gcc_4_7.c
> +++ b/xen/common/coverage/gcc_4_7.c
> @@ -28,8 +28,10 @@
>  #define GCOV_COUNTERS 10
>  #elif GCC_VERSION < 100000
>  #define GCOV_COUNTERS 9
> -#else
> +#elif GCC_VERSION < 140100

The situation is a little less clear here because the development window is
fuzzy to cover. Nevertheless with all other conditionals here using only a
major version, with subversion being 0, I think the same should go for 14.
Unless of course there is a good reason to be inconsistent.

With both adjustments:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:03:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:03:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928580.1331260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiDJ-0002oR-G2; Thu, 27 Mar 2025 08:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928580.1331260; Thu, 27 Mar 2025 08:03: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 1txiDJ-0002oK-Bf; Thu, 27 Mar 2025 08:03:45 +0000
Received: by outflank-mailman (input) for mailman id 928580;
 Thu, 27 Mar 2025 08:03: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txiDI-0002oE-3t
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:03:44 +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 ffb8b03e-0ae1-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 09:03:42 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso6943045e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 01:03: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-43d82e6a63esm28932825e9.11.2025.03.27.01.03.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 01:03: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: ffb8b03e-0ae1-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743062622; x=1743667422; 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=JZ7r74ntUJHQbXnatsLzeK60kFnWTcDXBLe3i3Ug9xM=;
        b=KY532JfGosrWLpb4oRkFr0hku1GJdsalNKtppIo6zJajgj186F55TyfjWJYcoHgrKk
         Wd3O1D6vk8lN7RzZ3sNdvTYCSQ+CsjVt7jm3rYMJW970L2SS2Xpr0ui4lT1Jpp9qFYcd
         dQUhztLt/CGMEPBVqyekj3GLBvGovifJEiMJqqL2lfGlAS7OLa6boRzmJAIvlLvoMcSb
         sDoS9VfEtuXN9DYelBepni8eyHkbvFF+dtmlZiDshmQfpvmtAZe9wONUVcoMD00AwoUw
         3RHrTutaTXSOYczWJmDNLz8DNMe3W47s6Kzm6jkITHTonp1ltZyLHkGxJNom1plhe0Tq
         z8Pw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743062622; x=1743667422;
        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=JZ7r74ntUJHQbXnatsLzeK60kFnWTcDXBLe3i3Ug9xM=;
        b=adcORoZT9eeCUNwI/6B9u/PvlxV2pgGgPnMEW+LOPZQslDRMYp9KoHuZeuJyNhVKrG
         W0I+eQgNxhoQMOg1aE2c7Z6hqFEdBpf91dIb2WQV5pc1yWfA10fd9cuBoz3zKBiGgDl6
         gQJAQDXHbxD5qXTrUhIVQQb8xebdD6/xzTD86I6rcs/e7oP/2NuYzVlHgUJULjPF4UZP
         0Zgex9WuPl8uR1v+v5Mz1HclMfotobIfYBWsN42B2ehAhcdDzw9iCsgQScVXUxxqNb/c
         NfDlDQmY6m4ikjyw+SI1XoDIChR3e0VjNdXwfyNNnRGNeInxjyH3vPR0ibKd53jvwFIi
         6Vng==
X-Forwarded-Encrypted: i=1; AJvYcCWTFZkxIYutEF7Eq9Lc2/eRaEbs1wCY/89T++JRw/LD2L/uEq5VmoQpJ41+Ok27T1REseLCthWCDFI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwdoVahiJvYqw+t+SCIW0t58lzq+D2fQfxAtTaIqAiSZb9ulQOv
	1pBQ22MOUAjTNMGLd7neE4Mtsp0946XyywkxBpIZIUTWD8yoyhR/YLAPuktFyQ==
X-Gm-Gg: ASbGncv+BRgD2MH4TlQFxlqwBZYTt4otFpRr+4LpgQTKpbx0Pz+KqEY6NC+sRUJVh4+
	sh7032Kz5E5/Fd0eVFGasQxUV35QUeOTUyYbtiNC3lA8kHsTke96mrjRKu/JKdhLB4PUx48ieIq
	30bkZn+/FMZt0arQJ1V0hWBBGVkObq3USS0LfSy/iZ04BslRHQ9Nx3wfPtSYcIdgJYQjYGyyK+M
	xcgTpMmrGry4ZPj0qicfrSv+0b93AVbcdrJ+NmiT87etMsRXZDzbaI7mcrvIPBZD9nvhMRMc8iZ
	e7APYL5eIWaQkCMnW21H5nTWZ5qW4mx5St4hGtdkR7yf5Cxac85QYV3FFfZF8LvNKhUuL7mYZcT
	uk0NFFmBD4wCCIjQ8BbogCoB4RA/UGA==
X-Google-Smtp-Source: AGHT+IFGyIRF85WYLvoobIvV3nTIimptwzQ1+dW05DzHfD4Hmc0uIY78nU0/YRmvKcJzGae1AByxdA==
X-Received: by 2002:a05:600c:35d1:b0:43c:f63c:babb with SMTP id 5b1f17b1804b1-43d84f5e757mr17247095e9.1.1743062621781;
        Thu, 27 Mar 2025 01:03:41 -0700 (PDT)
Message-ID: <84903e47-038c-46f5-862a-a0c9623c8125@suse.com>
Date: Thu, 27 Mar 2025 09:03:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/3] xen: x86: irq: initialize irq desc in create_irq()
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "consulting@bugseng.com" <consulting@bugseng.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: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
 <20250327004044.2014048-3-volodymyr_babchuk@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: <20250327004044.2014048-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 01:40, Volodymyr Babchuk wrote:
> While building xen with GCC 14.2.1 with "-fcondition-coverage" option,
> the compiler produces a false positive warning:
> 
>   arch/x86/irq.c: In function âcreate_irqâ:
>   arch/x86/irq.c:281:11: error: âdescâ may be used uninitialized [-Werror=maybe-uninitialized]
>     281 |     ret = init_one_irq_desc(desc);
>         |           ^~~~~~~~~~~~~~~~~~~~~~~
>   arch/x86/irq.c:269:22: note: âdescâ was declared here
>     269 |     struct irq_desc *desc;
>         |                      ^~~~
>   cc1: all warnings being treated as errors
>   make[2]: *** [Rules.mk:252: arch/x86/irq.o] Error 1
> 
> While we have signed/unsigned comparison both in "for" loop and in
> "if" statement, this still can't lead to use of uninitialized "desc",
> as either loop will be executed at least once, or the function will
> return early. So this is a clearly false positive warning. Anyways,
> initialize "desc" with NULL to make GCC happy.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

Hmm, this puts us in an interesting conflict, I think. Misra, aiui, will ...

> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -265,7 +265,7 @@ void __init clear_irq_vector(int irq)
>  int create_irq(nodeid_t node, bool grant_access)
>  {
>      int irq, ret;
> -    struct irq_desc *desc;
> +    struct irq_desc *desc = NULL;

... consider such an assignment useless (and hence potentially confusing)
code. I'm curious what BugsEng folks are going to say here.

Irrespective of that I think such a seemingly unnecessary initializer wants
to come with a justifying comment, e.g.

    struct irq_desc *desc = NULL /* gcc14 with -fcondition-coverage */;

here.

Finally, did you report this to upstream gcc? It's probably too late to
fix in gcc15 (if still present), but it would be nice to have it fixed in
later versions (maybe including a late 14.x).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:08:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:08:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928592.1331270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiIB-0003Rg-7Y; Thu, 27 Mar 2025 08:08:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928592.1331270; Thu, 27 Mar 2025 08:08: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 1txiIB-0003RZ-2v; Thu, 27 Mar 2025 08:08:47 +0000
Received: by outflank-mailman (input) for mailman id 928592;
 Thu, 27 Mar 2025 08: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txiI9-0003RR-3Y
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:08:45 +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 b3767b3a-0ae2-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 09:08:44 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfe574976so4527855e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 01:08: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-3997f9b25c9sm18914954f8f.42.2025.03.27.01.08.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 01: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: b3767b3a-0ae2-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743062923; x=1743667723; 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=UL26WFIX5hTE6mOhngqDa7aW/SJfv91CpL4MadXwAio=;
        b=ftJGRd3ZcN2+JdHDxZYDg5DKv0t24GKBDlG0Qw5I/pij2uI1e+mP4Nln4uplCYzzyo
         pJlhZBFILOThpO7lsNJYXv4Oyli7Q2zise2fF/c5RC17FN0lEPvIXptLybkZ0Q+Uptvz
         KUsF7X7Ji1tRWaUNm90cNdZ5BiYnFSMIyTdOsY0JtIzsHwvX24wVa3yQkLwX3q1UbwvO
         k2F6nRCSripEnf65qDUBuHhgtY7fvQrvrtfY1JJzTA1qAdZ0YT0Og7RvFlV5kZbJRKBs
         js1iE6EG3MPAoEn36A8VP9IlKgqEh5PC2xD2YDX3A8LG1DM7xuF9X5CGNH9KfOtOeoLu
         e/mQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743062923; x=1743667723;
        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=UL26WFIX5hTE6mOhngqDa7aW/SJfv91CpL4MadXwAio=;
        b=DizvfvBUtV2tkdzmtpTds5oR8EQb0jKHT03yT44izpb4QIdSvbYryjmtKtU+iKSe9K
         f1a/z+/VCXxCn80VqEzVQbOB58SUs9XrajlSrZ08KHMTyeS5RRtkfM+t+BZq8FN8P4Zj
         MRL2qKcOqgJEKn+EEAy0XwtddRjH0ba6/PIl2wC4CXs2lUb0Wwx9PsLL75/BdqSoymm7
         J+CCAhL4V/JszJ0lIaxf96UYbVMd1c+zWQokutIHoCiUzZ6+MUZK/PPrTdAk9uJ6PoAh
         EwORidoELT5OU5oojJdXQ2qhgLSmhRsOJZMheVllGQwR4+DrszmmLaVe+/896wZZmcvI
         oSQQ==
X-Forwarded-Encrypted: i=1; AJvYcCXfYE2HwfgAsr3F9gskRkMGcAyhO+G0zCgCM4qjSf+D9sauC3+/8+zgciF6UOJBiVoKWl7m0wJFWh8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy1ThWVZRu6w9i3IpnbrLXkwL/KM2KU9U8Yq/slDFZt6oPiEZgx
	W/ljYqfGFc1+kSda+mmJiXSJ9xR2GRn/SzXWQnBl4l0kRhjVgwFpsWUuoYb+qg==
X-Gm-Gg: ASbGncuDpbx1j5ru41+4eumNIRZTXZj+TqSA4QubjH2aF2qWePYzCA4xWUB29s2cbyl
	DSXidejMDNdFiBB5yzYkbORbWJIAEntub13ZkHIyL5XHemJMhg9XEcwzGTo3J2gDQpOYG4Rnkfs
	PLO+uUX1BBeTby6W4Cst+k6pIsaki1KzqXIm+iSZnzzt/6AxYNZAN/Hd4ljcFZ7zoNxjFOc3kEg
	WzUZcLITyazgqUlkmk3X9xcVqdMFTqM30S8v7aUFlNLjaRu+T285R6NYxWWHobmxj2XgDpTFExy
	RRcsEybsiSZ+jlYgPDj0XMN5sYTr+zHz9vmhRA9JT6pzeWqWwJWMXEjrEIdQ88DO1PmLUAUu2Fg
	sBLaCOFUu0Gqpui0X7Ft+eNUE8xpVsw==
X-Google-Smtp-Source: AGHT+IEk3jkBXEffv4MaWb6altyHlM8gJRR4UfHCD1fur6LdKhQEa15c/zxt03xCQbdye1LByitBDA==
X-Received: by 2002:a05:6000:1446:b0:39a:c9cb:819f with SMTP id ffacd0b85a97d-39ad177b949mr1696083f8f.37.1743062923299;
        Thu, 27 Mar 2025 01:08:43 -0700 (PDT)
Message-ID: <248e8349-1f27-4c41-8747-5d043f45d46c@suse.com>
Date: Thu, 27 Mar 2025 09:08:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/3] xen: debug: gcov: add condition coverage support
To: Volodymyr Babchuk <Volodymyr_Babchuk@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: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
 <20250327004044.2014048-4-volodymyr_babchuk@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: <20250327004044.2014048-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 01:40, Volodymyr Babchuk wrote:
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -44,6 +44,15 @@ config COVERAGE
>  
>  	  If unsure, say N here.
>  
> +config CONDITION_COVERAGE
> +	bool "Condition coverage support"
> +	depends on COVERAGE && !CC_IS_CLANG
> +	help
> +	  Enable condition coverage support. Used for collecting MC/DC
> +	  (Modified Condition/Decision Coverage) metrics.
> +
> +	  If unsure, say N here.
> +
>  config DEBUG_LOCK_PROFILE
>  	bool "Lock Profiling"
>  	select DEBUG_LOCKS
> --- a/xen/Rules.mk
> +++ b/xen/Rules.mk
> @@ -138,6 +138,9 @@ ifeq ($(CONFIG_CC_IS_CLANG),y)
>      COV_FLAGS := -fprofile-instr-generate -fcoverage-mapping
>  else
>      COV_FLAGS := -fprofile-arcs -ftest-coverage
> +ifeq ($(CONFIG_CONDITION_COVERAGE),y)
> +    COV_FLAGS += -fcondition-coverage
> +endif
>  endif
>  
>  # Reset COV_FLAGS in cases where an objects has another one as prerequisite
> --- a/xen/common/coverage/gcc_4_7.c
> +++ b/xen/common/coverage/gcc_4_7.c
> @@ -43,6 +43,10 @@
>  #define GCOV_UNIT_SIZE 4
>  #endif
>  
> +#if defined(CONFIG_CONDITION_COVERAGE) && (GCC_VERSION < 140100)
> +#error "GCC 14.1 or never is required to generate conditional coverage data"
> +#endif

That's too late as a check. It wants to be in Kconfig (less preferred from my
pov, should at most be influencing the default there) or the latest in the
makefile (see [1]). After all a compiler not supporting the feature will
choke already on -fcondition-coverage, and hence not even get to see this
pre-processor conditional.

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2022-09/msg01793.html


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:19:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:19:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928603.1331280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiS6-0006GZ-32; Thu, 27 Mar 2025 08:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928603.1331280; Thu, 27 Mar 2025 08:19: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 1txiS6-0006GS-01; Thu, 27 Mar 2025 08:19:02 +0000
Received: by outflank-mailman (input) for mailman id 928603;
 Thu, 27 Mar 2025 08:19: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txiS4-0006GM-V2
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:19:00 +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 2278791c-0ae4-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 09:18:59 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-4394a823036so6780885e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 01:18: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-43d82e83609sm29587755e9.15.2025.03.27.01.18.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 01:18: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: 2278791c-0ae4-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743063539; x=1743668339; 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=Yy6X/pds0LeIPGYc2gJPeGYo3rta6p8lXrStEaz3Q/8=;
        b=JHCX4W4FYfR3mF62Rb3tcqUXKMG9bhuGekEgk6UCe5XfrE/s+H93BV5sVZwq22DeDK
         aeKKAAM/c3c8kqivf4uXZfMd3j2x66Y6XJpfAinMinfqo0kZ3svUfudexbFF481S8no/
         LqJvh18laOLThU9eoVcQFkKz4tm4avuPjieEc7I2W5JYcJ8in+iSjrdpbqA1pFjIgjV1
         HYTirjOj2OCHzijwhHQBXelZPFMExUjmoRR2T9YRR+AF4AxV1+Eu5tNKXPE41Ixm0ZOB
         oR/IlYI3WcGlco3IYb//M3rgr6pPeE1RG/kuIXT0j8/gShfpR52/L7tcehqiT6ezsMTY
         +O3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743063539; x=1743668339;
        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=Yy6X/pds0LeIPGYc2gJPeGYo3rta6p8lXrStEaz3Q/8=;
        b=vQu57xpWDPuroMDSLJF0PvUQ+Qei7eQMeH24Hj9GwUJyYC/L8cWxaHTQ59dYFDMKiS
         ViPAyReIfHN3zFdQ+u2QLQwQsb0sddkQd5TkNKiuuks5gej3xJ49BpHHFjRC9/DifV4T
         LxdA0LVjqUqjyDHYGvI15QRv3mHHWTCreOHv+6UCBsYeQKIQM1pE5THHeTJs1qAirTDP
         C16xhUQIQHOwsVml3MyLn8Enhz0cXWWlW0pXGOsJYF1UVtH27/FHooA5c7+lAw1xSCB+
         a9PE8INEgaHbrycIT4Wotmhk/xKK/aeAQSt/bakDOoeNjkky7eeDC5TcDn1uF8xKpyiu
         znaQ==
X-Forwarded-Encrypted: i=1; AJvYcCVEFKomRiahlO+1DS3tHlsDO2iPihKMETmamklUhZUCRwUjWMorWcOPRfKhDEJhXjKQ49ZfNQ6naFQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRuxLqRyJvIWamcFXnbkcVgoCTllxfBFpOa7mhe47+hp8GysNh
	e5aqdFIbXlp9FP9GRiJ1PwrNa3e/EaTpI4MWBsnlZ5Ui68dyJb73m1S1a3LKfQ==
X-Gm-Gg: ASbGncsle04dVpDbMZXxNmxHReOJjajJuwFYDXIQnevcIKi8Jj5Y4gZbLk49+qhAH5/
	akdQBjKdVxQWjLpBrkoGBmdnUzsLAsCksszkWQyiChdd/+UjcDZC945LAv3iShvFFtZx4+5s/gg
	kBTo30+YZK8jdUHHQ64BK/+vL8cTUFmAIT7BFtqzgVXrkLUhMP1f/16AQ6qdj11Ti8emuiD1JAR
	mytpKWHx/pE306YI1i83CPQOh344qn/mZw9Ix4t4f21Nx/99Ian5fY1LpK3jP8PVjIFVdrFeiK0
	isVZwDk/HiQ4I6ozlLcjtGJPCdoYLkjth4CKBzz1LQuXzLc5SLixjFpGPGVlC+rVtM5356zMaLX
	gHDHgvFbhFX55OjXTnQu4BYlHky4NHA==
X-Google-Smtp-Source: AGHT+IHMYqGUU4cXvf5sudRsYkF0lIKhrX356Q+bv+ELtSRN66rRwSBXd35BYyyBVXyVPC9WoTMfFw==
X-Received: by 2002:a05:600c:886:b0:43d:7bfa:2739 with SMTP id 5b1f17b1804b1-43d8654e969mr11829325e9.23.1743063539111;
        Thu, 27 Mar 2025 01:18:59 -0700 (PDT)
Message-ID: <8046d3c4-c00e-4322-b665-81614af89f13@suse.com>
Date: Thu, 27 Mar 2025 09:18:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.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>,
 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>, xen-devel@lists.xenproject.org
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@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: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 18:47, Oleksii Kurochko wrote:
> --- a/xen/include/xen/config.h
> +++ b/xen/include/xen/config.h
> @@ -98,4 +98,13 @@
>  #define ZERO_BLOCK_PTR ((void *)-1L)
>  #endif
>  
> +#define BYTES_PER_LONG  __SIZEOF_LONG__
> +
> +#define BITS_PER_BYTE   __CHAR_BIT__
> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
> +
> +#define POINTER_ALIGN   __SIZEOF_POINTER__

Just one remark here: Imo this needs to come with a comment, as alignment and
size aren't necessarily tied together. It's merely that we assume that
sizeof(void *) == __alignof(void *).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:21:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928612.1331290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiUk-0000SJ-GB; Thu, 27 Mar 2025 08:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928612.1331290; Thu, 27 Mar 2025 08: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 1txiUk-0000SC-Cj; Thu, 27 Mar 2025 08:21:46 +0000
Received: by outflank-mailman (input) for mailman id 928612;
 Thu, 27 Mar 2025 08: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txiUj-0000S6-RU
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:21:45 +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 845cb049-0ae4-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:21:43 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso4649815e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 01:21: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
 ffacd0b85a97d-3997f9ef23esm19048078f8f.81.2025.03.27.01.21.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 01:21: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: 845cb049-0ae4-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743063703; x=1743668503; 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=kOQA30RryXkHcOPMSqNMtCtniI5ngfbnb7V1QtqhSfw=;
        b=bNO2MyhvSGkzQcv24udXuQ3Ag9BnrOMsSzL8llnTNj0+NNFG6a4JjMu463J2vZOl7g
         YVYlhPjIHPzQfAL+PwjBhYAyWO/12D9vu0y7OAExYp8LIP7zPl0DhUaLsz3eO/A4KfNj
         74cWvSqkg6ZqF64ujx8tFyX8XU+RiAiOsFOzBRo6LD746CKsZhso9IGn2k2S25MpYzKa
         eXBv45CyQLzkX/WJOoVid8hTjB67ON6VcEVvJB8ZTlafuo4GdBfVFSREZcLnsue4eXiq
         uvXhVDeaKhzoUxIjvu5Co2E4LsU4YTj93ANubxmuwzRJsOPnWGcsdYFykSxF/HKp5KiE
         Geag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743063703; x=1743668503;
        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=kOQA30RryXkHcOPMSqNMtCtniI5ngfbnb7V1QtqhSfw=;
        b=Xf1AraT+M9ObngsMqydtfKoE7tZqKSZLVYDas4K5S9YgWXSPDC7iX79Ll8Em4wQSIL
         KCJqtuI01sHtb3o0DrmyUGXPndA5CwAlnFR29RLjfaVo0kPCJxiW7ibs0d2kgAnQWaiy
         NHeCW7Q1lKFb7Jh3pULdlARYmWzCmt6NFc14ZkHMv+6CkXYkYlFl81BSbRd9LX/PQ2XA
         ARqsACO7wfTvUl1YWM24C57a7p2XGEJnEKInii8jkWiofWDXMDGjlFoS1WVBQ9teVUuV
         ZHBXp4txNoCUlfEIG0GniWEmAsnKbgg9T+4ARD+3IrTGQyXO2UlGo5A0BrepWSpjzb4a
         BmXQ==
X-Forwarded-Encrypted: i=1; AJvYcCUOqDZlWVfFxSJouCkZWJKOk9QMjbCSHl0AW08l/NtbF26NLROZgiZHwLXAguwVisT8VhLPA6gwS4g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmBgDI2STCn9PZQwbCXSKgqCzsCRyuLMJzVrXTK0eOuREequO7
	PGqgM79cWZC3U1+p27poIfC1i5DZyz6e+/HyM3PA+bHH9mz0QmfGHt5T3e0Y+g==
X-Gm-Gg: ASbGnctBvq8cSL/9oV6Y9hwgn/ivIQGv/U87M2w9VMmv4Csb8RV0MfIQgvsfi6RHWKc
	E8T9GfbX7fWBiNb4sx5mlxF/JgTfj28MlI1NeIJbT2VLjr5Zw4ZgXQY+R2TmcpKBM5+G301t/QJ
	qkqEy1AjioDuT4pDwAGt8Xog+VFcvvshYeF+s6PP/WrY4jxNd947QWpApQUXZQm5cvJnxLcD3GA
	pWqlyzhKdQOZsze7+iXSMDs7u3L0ad95cet47SDAoattx1wQO3TwlQr5/eO+T/qh3GbcviBr6Yj
	FHCj6SrxzRUOb3j6gcS9OvfilEsU68Eaube3jiBRlKCgpk07lUyA1rkZBa+lvy5YorcEHuXaAPk
	Pw1LZj2JG5Hujv4cUohTBHi7ASUtjRg==
X-Google-Smtp-Source: AGHT+IGEalR9lm09CGeRt4qP0uNmFEgYRTHnO85jQBJzM8w8XvLBPIi5Xj5f/sxwkKuMANq3DMqx2A==
X-Received: by 2002:a5d:59ae:0:b0:391:4873:7943 with SMTP id ffacd0b85a97d-39ad175004emr2108226f8f.32.1743063703289;
        Thu, 27 Mar 2025 01:21:43 -0700 (PDT)
Message-ID: <994b9d44-f82f-4eb7-8742-9041ba2caf17@suse.com>
Date: Thu, 27 Mar 2025 09:21:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Andrew Cooper <andrew.cooper3@citrix.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>,
 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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <17a808cf-e676-4c30-9068-34a9a4d568d7@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: <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 01:44, Andrew Cooper wrote:
> On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
>> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
>> index d888b2314d..dbbf2fce62 100644
>> --- a/xen/include/xen/config.h
>> +++ b/xen/include/xen/config.h
>> @@ -98,4 +98,13 @@
>>  #define ZERO_BLOCK_PTR ((void *)-1L)
>>  #endif
>>  
>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>> +
>> +#define BITS_PER_BYTE   __CHAR_BIT__
>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>> +
>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
> 
> See how much nicer this is.Â  This patch possibly wants to wait until
> I've fixed the compiler checks to update to the new baseline, or we can
> just say that staging is staging and corner case error messages are fine.
> 
> One thing, you have to replace the "<< 3" as you're hard-coding 8 here
> and ignoring __CHAR_BIT__.
> 
> I'd suggest keeping the BITS_PER_BYTE on the LHS, e.g:
> 
> #define BITS_PER_INTÂ Â Â  (BITS_PER_BYTE * __SIZEOF_INT__)
> 
> which tabulates better.
> 
> I suggest keeping BITS_PER_XEN_ULONG to be arch-local.

I agree here despite ...

>Â  ARM is the
> odd-one-out having a non-64bit arch use a 64bit XEN_ULONG.

... not agreeing here: x86 is the odd-one-out; I sincerely hope any new ports
to 32-bit architectures / flavors will avoid compat layer translation by making
this type a proper 64-bit one. Architectures truly being 32-bit only, with no
expectation of a 64-bit flavor ever appearing, would be different.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:21:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928615.1331300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiUu-0000kP-MW; Thu, 27 Mar 2025 08:21:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928615.1331300; Thu, 27 Mar 2025 08:21: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 1txiUu-0000kI-JB; Thu, 27 Mar 2025 08:21:56 +0000
Received: by outflank-mailman (input) for mailman id 928615;
 Thu, 27 Mar 2025 08:21: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txiUt-0000iR-Mc
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:21:55 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a7c2c1b-0ae4-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 09:21:55 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-223f4c06e9fso12963945ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 01:21:54 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7390611c945sm13613107b3a.88.2025.03.27.01.21.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 01:21: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: 8a7c2c1b-0ae4-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743063713; x=1743668513; darn=lists.xenproject.org;
        h=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=U5i/Mcx68PlazOgSRpwDyE0szi2aJd5Bd7xB7vmAT0A=;
        b=LsufoFwZ8OCjYbBOJRyOHbZTDENyE2Ypnsl809c4kQMR2lopwJ50C7wBoOJ8IWNgsy
         ljShKq4/OYj8F6RFV8Vdhh1y4LY5rcKCsQO9Zq+BXcOut4pKJncyv4aiYVZwE+B/2DG6
         b3xK+LA4dM+LNyUjY86FioUPf5a9bKYYXEHPI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743063713; x=1743668513;
        h=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=U5i/Mcx68PlazOgSRpwDyE0szi2aJd5Bd7xB7vmAT0A=;
        b=C7YpUC+RYJ6ek11gND4UYbo/KBGqxY2+WOhbbQ9gVQ7bYa7AB4yz3jXJOqwDavJQsV
         /xKKpQCP0u7OyUi6cwXO1ge1iVUYbbEbdR2au3bg/obNmy+oG4dDMlV5atvyKkHog7fL
         Iz8kCOArGVGaWMEqJQZ3bLyDtgKpHZckqAsO8SOWHlYfCaHme8JIJpLksylB/On3PG8J
         7FXnF/6IHdQqBum++2fWOUggnF/zdOfAkh06A21El74S+AgO3s6KYJoA50sw+TIq1RIW
         N+HSy+y85dKERkL/BUByrMkK7l6EnKN8xJqr8PdyP9dxrYNJ9Ij/lc/0n+fg+TyHbHIa
         MaRw==
X-Gm-Message-State: AOJu0YyzsVuY8TTe5C9OPAdp9QiNGpFAGuNjZA7dAqTKadyU/8QZ5TSa
	nliOU2DpMUAINv4fRRvlTZ4d+RiowjicyaCpvO2AiBIUig1cQar++T5cPuzf/gg=
X-Gm-Gg: ASbGncssfT2p5rE9VikhgU8VHOwpiLIxgDhAh9yRXV7UdNm72mWgt2h2ONjMGIRbfmb
	wLsvhrPuPvfSslmx/SBauyLZUHJEzNdrdrY59oVUzRRdLAKt6VC5sHv4aLu42ZKJABJ7C3a6nWq
	rTxGrkHDfW13BMiLUNRd6riSTN72ePwY70IV0Nzt6oUgk4EZindwTqgaEUvGt0chT/wDK4hFdX1
	LCofG3CeX1HRRwoIhptrh3Pf8PC8srmpiQNI5SHvyx3LWXvottJN6e4Gt2Uw4HTwMIwPGjc7WCD
	wP0M759Gwq6BnRyHun2M0qnjY/APn3a8J90JixLjhjwAsNlWOc0w6yB/ZndG
X-Google-Smtp-Source: AGHT+IHdQ7h9Ziykt2O4Hs/wLs18dQLAj9GORRbFMeE7UsE8ytaO3FPx0XGFSKb1CpMe2HbXF4lipQ==
X-Received: by 2002:a17:903:2452:b0:223:fbbe:599c with SMTP id d9443c01a7336-227efb66734mr100300845ad.19.1743063713213;
        Thu, 27 Mar 2025 01:21:53 -0700 (PDT)
Date: Thu, 27 Mar 2025 09:21:47 +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>
Subject: Re: [PATCH] x86/CPU: don't hard-code MTRR availability
Message-ID: <Z-UKm6D9pmAEaE_9@macbook.local>
References: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>

On Tue, Mar 25, 2025 at 08:18:11AM +0100, Jan Beulich wrote:
> In particular if we're running virtualized, the underlying hypervisor
> (which may be another Xen) may not surface MTRRs, and offer PAT only.

At least for Xen, I think we offer MTRR uniformly, even on PVH
guests?

> Fixes: 5a281883cdc3 ("Hardcode many cpu features for x86/64 -- we know 64-bit")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

My main concern is whether the !mtrr path is still functional.  Have
you tried booting the resulting hypervisor with MTRR masked on CPUID?

(or alternatively short-circuiting cpu_has_mtrr == 0?)

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:25:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:25:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928632.1331310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiYS-0001Zl-6L; Thu, 27 Mar 2025 08:25:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928632.1331310; Thu, 27 Mar 2025 08:25: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 1txiYS-0001Ze-3U; Thu, 27 Mar 2025 08:25:36 +0000
Received: by outflank-mailman (input) for mailman id 928632;
 Thu, 27 Mar 2025 08:25: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txiYR-0001ZY-6z
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:25:35 +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 0da09761-0ae5-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 09:25:34 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso7156065e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 01:25: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-43d830f5ea4sm29659475e9.25.2025.03.27.01.25.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 01:25: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: 0da09761-0ae5-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743063934; x=1743668734; 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=kgWJsUpsJ1d6AFfG/+Kk1PeQiomMW6naSI0FS91nmkM=;
        b=M3AXdQDvm1xtB7624aPZpY5X1zscNfocV89ntEKPJQX4wpoCWsUsgWFt54ucaCEnl2
         nDvkNXSzCKo0fc47dl8vX+OGymkiM3HtmZJJkKfu0tR1O268PvU5UrFmtBOL6tIh3DKU
         odG9Was6Mjx5+dl+n6TwxICUsrIW4BjMz3xjGgTo9ddgesodGEy7cssM75Y9GADVWVwx
         0WhSJczATlSYTKNKRsPdEGNZcPDvyhBWmbswtLJcpfsRuzngr2ER6zNk+cgMqgf1eE4m
         tReDawff5YeNjISbKRfFgCO5CBRj0Jto+HqCqxKDtqRtmKyvaInY47k6XVvxdLDOFN5l
         0q1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743063934; x=1743668734;
        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=kgWJsUpsJ1d6AFfG/+Kk1PeQiomMW6naSI0FS91nmkM=;
        b=s5uhLTPz+TKKrcAnQnDzagiuD7ONncIKO/FoRDPYTgjNmYUn20Rx5nw/BgZiNAEq4K
         a89tqhT5lkg0bB8+v7+Zxnjw9EvSSBTUAxywisVunQyINcX6p4fW2doRm9Dm3n9muOOB
         /kKcafjtkf0BfEFl0BcS4UA5SXdElenkLQRcl+x9oIDbB8QsClN+Wk0b3TfYdhM7DBsD
         rhl7ILE4iwXF4imPxBMpJTiIlKD9mrsX46zkJkmzRAXSV6O1+MbfrhZW3snBOw3Aq8Lv
         EcD9EaTJi1lA6/9Qa3ipqifLG/svLwFDYRIMyZKQTtzYQQBp4gOJ7llt7HnCvI9qIFyY
         cm9w==
X-Forwarded-Encrypted: i=1; AJvYcCU7+tDQPyD/XoqTxSlGvBgAAGMScTPhAHXuUIgI5exOGa7HXZ2P9s00dwVMrBfypUZTQHpXrmgeUOg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx0BbuyZCJd2weBDBHw3Xqogb2fyczse6zw/eqtlAQ9UvF/gQqA
	mcr0xiZQ004c0sLG3W7fUlhcNFWMz40FZz8b2uYxhos/cjOgmxcyUDO5Kolgyg==
X-Gm-Gg: ASbGncuoDsOP+y++ZaVfS6iYg3Lx6eRJVnQjAsN3+NUS/nsYyzqMUycnjs5o3VtLGWz
	8gHL018TU9fvh5ZuLwxSKmshrwA0bwGhuDVp8FKKvMHQGczZZGVaJUorkHZE+F4ODmZAos6gXbm
	8PadXJ5iJygcDfWeFpdAwlQHDJ3vut98eG0u9LottrqZNqgPCKim85kXqScvRkBgS+3kNA5IPOc
	S1l2HkdhDMV1mbw6lQCEnk0E1N2+IYyOz4Uy5ekXl13gP+Mq+9iYjngf34w5lE5HeJOP9mSCChS
	ite4Xi6xWXXyfv6wM7cccgc6J7E6DCuSaRJibwMX8FMf8oZtDnby89J1WFMfXKXw7xjuFbmdxHI
	PFQt84fVPAEALsB3RHHSYpBxjG0EqwA==
X-Google-Smtp-Source: AGHT+IGP8V3gMW01tL2/xRKuecjfQrOD6TqxgqvAvGrHYEpKUyQY6ILDvK54GLs79yVQNfCiqMsfBg==
X-Received: by 2002:a5d:598d:0:b0:394:ef93:9afc with SMTP id ffacd0b85a97d-39ad1741b23mr1964550f8f.18.1743063933594;
        Thu, 27 Mar 2025 01:25:33 -0700 (PDT)
Message-ID: <689e103f-8130-4b38-ba63-607493737af7@suse.com>
Date: Thu, 27 Mar 2025 09:25:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/percpu: don't initialize percpu on resume
To: Mykola Kvach <xakep.amatop@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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
References: <20250327052241.202167-1-xakep.amatop@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: <20250327052241.202167-1-xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 06:22, Mykola Kvach wrote:
> --- a/xen/common/percpu.c
> +++ b/xen/common/percpu.c
> @@ -30,7 +30,12 @@ static int init_percpu_area(unsigned int cpu)
>      char *p;
>  
>      if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
> -        return park_offline_cpus ? 0 : -EBUSY;
> +    {
> +        if ( system_state == SYS_STATE_resume )
> +            return 0;
> +        else
> +            return park_offline_cpus ? 0 : -EBUSY;
> +    }

Hmm, why not the much simpler

        return park_offline_cpus || system_state == SYS_STATE_resume
               ? 0
               : -EBUSY;

Even if not for whatever reason, I'd really like to ask to omit such an
unnecessary "else".

Preferably with the adjustment (which I'd be happy to make while
committing) and with the (iirc) previously suggested Fixes: tag:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:25:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928633.1331320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiYX-0001ph-Hv; Thu, 27 Mar 2025 08:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928633.1331320; Thu, 27 Mar 2025 08: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 1txiYX-0001pY-Eg; Thu, 27 Mar 2025 08:25:41 +0000
Received: by outflank-mailman (input) for mailman id 928633;
 Thu, 27 Mar 2025 08: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=yWE1=WO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1txiYV-0001oW-R3
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:25:40 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20602.outbound.protection.outlook.com
 [2a01:111:f403:2612::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d821651-0ae5-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:25:34 +0100 (CET)
Received: from AM0PR02CA0123.eurprd02.prod.outlook.com (2603:10a6:20b:28c::20)
 by VI1PR08MB5453.eurprd08.prod.outlook.com (2603:10a6:803:132::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 08:25:27 +0000
Received: from AMS0EPF000001B6.eurprd05.prod.outlook.com
 (2603:10a6:20b:28c:cafe::c5) by AM0PR02CA0123.outlook.office365.com
 (2603:10a6:20b:28c::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Thu,
 27 Mar 2025 08:25:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B6.mail.protection.outlook.com (10.167.16.170) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 27 Mar 2025 08:25:26 +0000
Received: ("Tessian outbound 8df300e92501:v604");
 Thu, 27 Mar 2025 08:25:26 +0000
Received: from L9519e188a115.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5FE448D4-928B-43D0-9389-4F42E26BD56C.1; 
 Thu, 27 Mar 2025 08:25:20 +0000
Received: from MRWPR03CU001.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L9519e188a115.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 27 Mar 2025 08:25:20 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAWPR08MB9568.eurprd08.prod.outlook.com (2603:10a6:102:2f2::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 08:25:18 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 08:25: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: 0d821651-0ae5-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=BYtUP7NdCicYBfgS6zFrIl8wdFcWTdf1/HSNAq706CLOc38rpx5WDcv87MMh3DfausPMCFLq3kbuAEaKa8mqLJ9zcMplBI2ET8Bg3HChJQQSFYMBF1KH+Gtd3uIK68udA3xWe2riHOfcfUOgIbZRxW8IWA4Ffbgg5lHooktuCVBRz3hjjEO6X5djpTESrBv83eU36UV/zC/POsF7tLfcvN6yV8rg5YFVUtQw+Qz6p8qdOE8r4QbR/4DZdrCGQKUrs2S/toWo6DRzdTWnjWuHf/KabvwihT2by+/ZeDID6J7GJUZPaqHFE8QJMwQgFheBViy2YhBj0xPw4dU1jzbtAw==
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=dsWbQ8XPvQQavPeT9xIwqy5jPYVxgHMSp4EvJ2eDv/k=;
 b=amFjpyg94qfnBcmsAwVVo6TiRYBNyJn/zGkDH4VRdb9fMqkNy/uQvJBSyvPd47RCUa+s3UH57yCtXrxf7p7ZYw7/kLX8aZm6n9MyeQqSu5pEcXArMQjdH0tawbPpGahvst+oQLarN40QD5QxKmke5OagQB/uoZtn2u0jg0dtcACZbSUameE9Bwbn7PTJDIwxm+9hnqoWc2IIqZN0Ave94uUYrDgvPjOwBJjiUg6rtQ0xZQiiHNWBSQPVCYUxODUSR2qQKJuwwZQtopxA6KKlNROpqdP82xkmV7RNSEetCy1p2BOtyLtOzRcWlvuasTpZsH98BgUE92x9qlr79fe9Iw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=dsWbQ8XPvQQavPeT9xIwqy5jPYVxgHMSp4EvJ2eDv/k=;
 b=bvw46wnEbjAX/2X/IY3b0eRrigq9HVJ0FrHPuIHJOtmOaaa7Ag8wLnEIYivZ/C7b6xJ42/GUG/l9BakbtKqUxvnubCmyuw6tGIuUpOVVBbbhR6HevhkPtuX+CHEiiphEqRYj8euQOm2Cz5Gp39+cy4HeGyoklusaYgrl2QjXGZs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 01ff917e7ade8b69
X-TessianGatewayMetadata: mZXUoC7cqHeXJtjrCM2a5JTQKzm6dq8z5f5UaegMFBSy9t+8D+yYqRMrlLq2enrhpbR/G682rLQbs5yV0J83vrXRIXg79beIKBA7UpYqoYKY4wV1qq0u4i7JP1yy5iZCf7r7nSIDkuN/BGwX6dDVhSnSKNN3+AosyK4Wv1Bw4rA=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=O8nKAsXT3OZ9IA0bjSQ5kQVhhaqLjTgiQyB3atymA5s5SP7+i7aV+ARG6EWy4z7TiR/I387w+utQMVFkLZubAJr+wZo6oI97sOcrK5HOvQyR7uGcaKj9t2XVqVzbLMxNvrNxStp9U98dhWRDmnkJ8jA4xG+/DEhYmCbLZCwK1F4YYxFlRFwWtAHYFxvs/J3tznvCqPguyBcG26TxbVpSoP7bZ31cstqoAAkxW9eb4I7udG7Gr7pcvFYEjANolnYeezHwtIsAX7x2ItV/CCT5LMPD5OIP5RJ9DUvAjC3sgz0Va1++NMBng6mUTDKNZp+qdUqXY58ss0cIXK/zp2tq6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dsWbQ8XPvQQavPeT9xIwqy5jPYVxgHMSp4EvJ2eDv/k=;
 b=MEAl2ZoRDBlaSSCyl23TNN270gBUcRlWWaD7gzGj0HS/KnsVUAjE55+oONdhL9UH6NHk9utIUP6RpckIpOP/LXTH7PvncvTP0YveDaX+ZF5R3RngDqqPxznFrK1Da0bMOVDdW+67cXyQKE5wJO5dlxft451evcbd7eWZgRwPJdz0KRPuClV7SxaRAK9m21JDB1Rj/XIqMS1Xe9F+xq2EfAOesgYWq7GsdO9HhpiSWML3JkZfVoQuxBTJJFBkjZlAlam3tL+CZPH5WPTzgg02xEKxd7PS2EaQVN6OikBmzHJNhiNUDei2SIxO2OXY8lak1D9VCk3YjAffclOUTPWR9w==
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=dsWbQ8XPvQQavPeT9xIwqy5jPYVxgHMSp4EvJ2eDv/k=;
 b=bvw46wnEbjAX/2X/IY3b0eRrigq9HVJ0FrHPuIHJOtmOaaa7Ag8wLnEIYivZ/C7b6xJ42/GUG/l9BakbtKqUxvnubCmyuw6tGIuUpOVVBbbhR6HevhkPtuX+CHEiiphEqRYj8euQOm2Cz5Gp39+cy4HeGyoklusaYgrl2QjXGZs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"jens.wiklander@linaro.org" <jens.wiklander@linaro.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Topic: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
Thread-Index: AQHbnMQnVQCSJAleWkGtVlVLXLrx+bOGED+AgACZt4A=
Date: Thu, 27 Mar 2025 08:25:17 +0000
Message-ID: <90051748-EA8A-4657-BCE1-EEDD1C4D080B@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@arm.com>
 <338d8982-0a2e-4a40-a9a2-bed8f50d81e1@xen.org>
In-Reply-To: <338d8982-0a2e-4a40-a9a2-bed8f50d81e1@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAWPR08MB9568:EE_|AMS0EPF000001B6:EE_|VI1PR08MB5453:EE_
X-MS-Office365-Filtering-Correlation-Id: e89e6ee7-a86b-4cc2-00f6-08dd6d08ed78
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|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?DHpNPm43zshX9KuRyK9uZidfxtMavF0lGXyTNzdOfCqx1CfjL/aLXZfNH/jw?=
 =?us-ascii?Q?A35DG/iTw2wF9ZnyKn84EqmVJM2viR6HxHriOQF7b5lZ1y+0D/5TpT7gJ1PY?=
 =?us-ascii?Q?uWQKeu2nBBc5hCmRPjuWVKTGApOrd1NUyHWn+9g+ie7VzfsJnNgcTfMEfpCy?=
 =?us-ascii?Q?LBs5EOHVcq4sSLKcxuW7ls3FHQPqm4KSgECLkVzjofmnPDEcgcF1PyYN3NqN?=
 =?us-ascii?Q?Hle5R+g7Ldc6guSxD6abJzcTH1UwjgCrWo39I5flrRxrcja8DrZTUa6y+Bza?=
 =?us-ascii?Q?j7JE3B4lEWjoyh59D9Wx49Txklqe4pat0sNH8DovhJhFDJBpF+Sqeddq6ia+?=
 =?us-ascii?Q?2BhISB7BzrzcClljWGoZPZxSZQwZFMIz01HkmENR0I3vZXADLO0SXEPlSHHV?=
 =?us-ascii?Q?r7fJGbRrRQSzyMz/dCXOhFSKKZTDvcOVLpohbEDebgxYyyYJJVqpqaqc5ZIB?=
 =?us-ascii?Q?NaRcoyXvYm6yCJRlJgRqw7RLx++s93p9N/kgyghS7kw+GyNWItpuGuDorMIp?=
 =?us-ascii?Q?GAA5Vz0zi0PCAneAWSgezzJ9O34x3kr14J4A9dMJLhkZ5DFqd0d+Pds29nhF?=
 =?us-ascii?Q?LCgfIQXVU9GCQ3h8TwjpUdhqnQRCzj7ruNBBDfOQexENQOSG9ogBUzUzFxKh?=
 =?us-ascii?Q?Bt3PKHcDIJliMbBmWTkeOxSWrGWMf/NjJmzHHTyDAb4dhisvc2xYArL6FF3r?=
 =?us-ascii?Q?jlDa50V8IFPWFkP1TeLJ9yUN7r0G5xaZRyoIlolT7Vh8M+aUI6L1R15dDqPH?=
 =?us-ascii?Q?AW6QJRw2YoP1G+WRHebfJl4gavmLIsF9q/7JT4ew/oMd6ptf4pJJKBg1E5jG?=
 =?us-ascii?Q?A3njyB+Cajj/66EOGYLVk+MBZFL4ZT0tCS7DaUPFv1nnxtkTviT/7ExhAvv8?=
 =?us-ascii?Q?dcrSolyGH4rZf+SIge+rHIUpLv77bUuZkOBUDRUKY58xx/1N07Rfx76+Kg7A?=
 =?us-ascii?Q?xAsDyRAOc9b95ZDCz8KQAUi7QvfAuXmuxDofrYtLQservSFgofgL0SG3WdlI?=
 =?us-ascii?Q?dXUtN/UoyAlVCpdaHk87ej8TupPYxiTBbKjaqQR5NbZFVeZZxwLdB1z/Sg6I?=
 =?us-ascii?Q?CM7twPZ0jb1wZrP6HH+5fJURbvexDYzatW4MnQRJZGfAMGiaQ4SVunCOsms4?=
 =?us-ascii?Q?bq04G77xunzzJW21mlqGArLpzBakXhobUfq+a2Aqm5rPs8DXdGAXbdslnFwv?=
 =?us-ascii?Q?ziW7zy3OT+AUWbzMI2eh7jfETvx9NOwh9m/p2uSCxN7pB3LB6beU02azvZ4c?=
 =?us-ascii?Q?cfZKTBipoqH5SbRT34Wsx9b0FS7QqhWklilU8uUQV2YhtguiDEJvWF4yl71D?=
 =?us-ascii?Q?/xmLpaiPtjFX0+/9ZpX8b7Lojp3qz/aQZN4Stcmzhtn9vMTFLtELAKtLwrNw?=
 =?us-ascii?Q?375pgHwpZKjXiaSdMq2erzKEQn1G6i0Q29Qi8pS9oWutKB2x+tClNjoQyn85?=
 =?us-ascii?Q?cNRn35+IJSHwFmwQmZQHySBr7Gwte8X+?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <79F7A7172AF9064FB4A3F9CBA93EEA69@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9568
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8ba554b7-ab15-4d90-b17c-08dd6d08e835
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|1800799024|36860700013|376014|82310400026|14060799003;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?1MGW/WRO2B0My2+ag6rUA+7tM3CE80OFY2pOo4SwAVQpPpbwRbYY7ia/MzPd?=
 =?us-ascii?Q?qrR73Uzx445C0KOj6inUoO8ilLTulqpw1b8QkgNvp8UqoGuzQzEwv88twdXg?=
 =?us-ascii?Q?J79dV1BT/jhrUFR7biGN/isr/g9Rlh2Tidti+T33kr+Tq84ULM0VI6w1RD70?=
 =?us-ascii?Q?37TR85Yk58KCantuF+aBDSXDA7P23zusauYnymnCfb3EnMYL16cv3gK+cSx/?=
 =?us-ascii?Q?y6k/Oh0BKThTM4nWdyZ0SeOskcp2sFDwWBGpYZsTmRAYF8q3NeueiSkAVbff?=
 =?us-ascii?Q?qUdtgjnV3SM9FghzH1MLF8u5QQQ36IcsDYrVZ4V1f0T1M6x4JE9oP0zTbrHf?=
 =?us-ascii?Q?Xty0QnYj/37PJkHuMId/oRecxLXnU+isCRk9xYPrc83lUJEYPQ5PBzciZsaY?=
 =?us-ascii?Q?417uqsaKRWw/wUT6LlKkVUP1vmNp/NcYErY3xtbOVaGktg34QItRS4xT7/tJ?=
 =?us-ascii?Q?Uy+3lLJxEsejyLMIDdO4OQfYj9Vr5CGq42gEb9zaBZg72PtfYp+jGsoqApMs?=
 =?us-ascii?Q?vVpaG5M/6kjde/J9L+8DpMz1V710msJregvYs+lmGVyYfEFT11ab0f0E54sU?=
 =?us-ascii?Q?rbbXuJJb2N2ef1oiarovRGoYf4jsjuUSR0LFD6a2z0D5IE2kdb+4r2UTgAKA?=
 =?us-ascii?Q?P9SaJaYQg/ISfJsD29x4xwFSdnakYRwuODTIrMx0BcesXL6lLNPuxqYrSXn3?=
 =?us-ascii?Q?nzwKS0uVTYfFdSnnEwxZQVWTgefH2c4zfXNmwMN0Q1bTp2Trnd/f5GN6WEsq?=
 =?us-ascii?Q?qqsX9zXhwMH5wEc0tQW1HLrS25yOhIQts1hdQWRzxCl6pPWOSmV3yJA+VzJY?=
 =?us-ascii?Q?k5gE2xKoKAUVQ9SPylkYSmYzPMs1imIszmWn9wd8145c91xwrhoaqXp0b10t?=
 =?us-ascii?Q?fwXQoWOqvtRg1AGzW0bsrUiI97s7atDFv/7a5KG/aXtP9qoluRHvuDSdfQ7B?=
 =?us-ascii?Q?d/oCMv0affAZ75HWV1jVTiFJ9fjhH6fSejoTJnbaUN1yWyZ7NNk+SdLsUPuh?=
 =?us-ascii?Q?w33+4CQYtZabmt8QyBmGfk8+r/cTJFgYR8paQE4Ry+GpAj+xhu0156o6CrVL?=
 =?us-ascii?Q?79eHS/dxnRpr5BfAJFboHz70+raOBgRtrwibDoYd9YBYM0H4ZtGac7s3U3cF?=
 =?us-ascii?Q?CmsK0hiBbDJoWpTdGZB1sUPDRFisL+iRy16ou/DsQvTCjhlqwt+K7kSdJABw?=
 =?us-ascii?Q?zh1K17GWO6BW31FIQgjEAE3VxdZOtC7sZpFKn6SqvbO4ESIXsVQCFWl57hx/?=
 =?us-ascii?Q?qpihBZUi05x9Lg24ARyompoqUor28Pb9gyIbQ5wqFzzESu9QPfNXr54U/FwS?=
 =?us-ascii?Q?Odxpl2jrqBA1AKYtCOXiR+haq9msuXgWHTF2hEgKzTopz19HsNlXlPRDbLjV?=
 =?us-ascii?Q?PQWjfPQ36JioIZGKEV4ydA52Cv/EwMf2wqYwj2IPFu5XoBoyk0NUFuCJOVeY?=
 =?us-ascii?Q?4DQmNnZsZ+s48oeFEmalb563slxv+UKTSZX/cjJO7bBTHU6vSZU/WF+zT8ha?=
 =?us-ascii?Q?oCp4wT1PO6pf91kmWsBILlYtDDZj4xQkxR30jp8900iJvd6Ak4GCwEtdSw?=
 =?us-ascii?Q?=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(1800799024)(36860700013)(376014)(82310400026)(14060799003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2025 08:25:26.6615
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e89e6ee7-a86b-4cc2-00f6-08dd6d08ed78
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5453

Hi Julien,

> On 27 Mar 2025, at 00:14, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> I didn't dig in the spec and neither some of the callers. So I will mainl=
y focus on the implementation from Xen PoV.

Perfectly ok I think, Jens review should cover the spec point of view.

>=20
> On 24/03/2025 13:53, Bertrand Marquis wrote:
>> Create a CONFIG_FFA_VM_TO_VM parameter to activate FFA communication
>> between VMs.
>> When activated list VMs in the system with FF-A support in part_info_get=
.
>> When VM to VM is activated, Xen will be tainted as Insecure and a
>> message is displayed to the user during the boot as there is no
>> filtering of VMs in FF-A so any VM can communicate or see any other VM
>> in the system.
>> WARNING: There is no filtering for now and all VMs are listed !!
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>> Changes in v4:
>> - properly handle SPMC version 1.0 header size case in partinfo_get
>> - switch to local counting variables instead of *pointer +=3D 1 form
>> - coding style issue with missing spaces in if ()
>> Changes in v3:
>> - break partinfo_get in several sub functions to make the implementation
>>   easier to understand and lock handling easier
>> - rework implementation to check size along the way and prevent previous
>>   implementation limits which had to check that the number of VMs or SPs
>>   did not change
>> - taint Xen as INSECURE when VM to VM is enabled
>> Changes in v2:
>> - Switch ifdef to IS_ENABLED
>> - dom was not switched to d as requested by Jan because there is already
>>   a variable d pointing to the current domain and it must not be
>>   shadowed.
>> ---
>>  xen/arch/arm/tee/Kconfig        |  11 ++
>>  xen/arch/arm/tee/ffa.c          |  12 ++
>>  xen/arch/arm/tee/ffa_partinfo.c | 274 +++++++++++++++++++++-----------
>>  xen/arch/arm/tee/ffa_private.h  |  12 ++
>>  4 files changed, 218 insertions(+), 91 deletions(-)
>> diff --git a/xen/arch/arm/tee/Kconfig b/xen/arch/arm/tee/Kconfig
>> index c5b0f88d7522..88a4c4c99154 100644
>> --- a/xen/arch/arm/tee/Kconfig
>> +++ b/xen/arch/arm/tee/Kconfig
>> @@ -28,5 +28,16 @@ config FFA
>>       [1] https://developer.arm.com/documentation/den0077/latest
>>  +config FFA_VM_TO_VM
>> +    bool "Enable FF-A between VMs (UNSUPPORTED)" if UNSUPPORTED
>> +    default n
>> +    depends on FFA
>> +    help
>> +      This option enables to use FF-A between VMs.
>> +      This is experimental and there is no access control so any
>> +      guest can communicate with any other guest.
>> +
>> +      If unsure, say N.
>> +
>>  endmenu
>>  diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>> index 3bbdd7168a6b..e41ab5f8ada6 100644
>> --- a/xen/arch/arm/tee/ffa.c
>> +++ b/xen/arch/arm/tee/ffa.c
>> @@ -464,6 +464,18 @@ static bool ffa_probe(void)
>>      printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>>             FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>>  +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
>> +    {
>> +        /*
>> +         * When FFA VM to VM is enabled, the current implementation doe=
s not
>> +         * offer any way to limit which VM can communicate with which V=
M using
>> +         * FF-A.
>> +         * Signal this in the xen console and taint the system as insec=
ure.
>> +         * TODO: Introduce a solution to limit what a VM can do through=
 FFA.
>> +         */
>> +        printk(XENLOG_ERR "ffa: VM to VM is enabled, system is insecure=
 !!\n");
>> +        add_taint(TAINT_MACHINE_INSECURE);
>> +    }
>>      /*
>>       * psci_init_smccc() updates this value with what's reported by EL-=
3
>>       * or secure world.
>> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_part=
info.c
>> index c0510ceb8338..406c57b95f77 100644
>> --- a/xen/arch/arm/tee/ffa_partinfo.c
>> +++ b/xen/arch/arm/tee/ffa_partinfo.c
>> @@ -63,9 +63,156 @@ static int32_t ffa_partition_info_get(uint32_t *uuid=
, uint32_t flags,
>>      return ret;
>>  }
>>  -void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
>> +static int32_t ffa_get_sp_count(uint32_t *uuid, uint32_t *sp_count)
>> +{
>> +    uint32_t src_size;
>> +
>> +    return ffa_partition_info_get(uuid, FFA_PARTITION_INFO_GET_COUNT_FL=
AG,
>> +                                  sp_count, &src_size);
>> +}
>> +
>> +static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
>> +                                   void *dst_buf, void *end_buf,
>> +                                   uint32_t dst_size)
>>  {
>>      int32_t ret;
>> +    uint32_t src_size, real_sp_count;
>> +    void *src_buf =3D ffa_rx;
>> +    uint32_t count =3D 0;
>> +
>> +    /* Do we have a RX buffer with the SPMC */
>> +    if ( !ffa_rx )
>> +        return FFA_RET_DENIED;
>> +
>> +    /* We need to use the RX buffer to receive the list */
>> +    spin_lock(&ffa_rx_buffer_lock);
>> +
>> +    ret =3D ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size);
>> +    if ( ret )
>> +        goto out;
>> +
>> +    /* We now own the RX buffer */
>> +
>> +    /* We only support a 1.1 firmware version */
>> +    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
>> +    {
>> +        ret =3D FFA_RET_NOT_SUPPORTED;
>> +        goto out_release;
>> +    }
>> +
>> +    for ( uint32_t sp_num =3D 0; sp_num < real_sp_count; sp_num++ )
>=20
> What's the upper limit of real_sp_count? Asking just in case we need to h=
andle preemption.

In theory that would be 32k but in practice the number of entries we can re=
ceive is
limited by the size of the exchange area we have with the secure world.

This area is currently defined to be one page and each entry is 8 byte in t=
he
case where firmware is 1.0 (24 bytes otherwise).

This is an upper limit of 500 entries.

Now I do think this is completely unrealistic to imagine a secure world wit=
h 500 SPs
so If you are ok I would rather define an upper limit in Xen (I would say 6=
4 SPs) that
can be changed in the code (through a define).

This call currently does not support preemption in the FF-A spec (and that =
is something
i will check for future versions) so I would have no solution to "continue"=
 it.

Would the "define" solution be acceptable for now ?

>=20
>> +    {
>> +        struct ffa_partition_info_1_1 *fpi =3D src_buf;
>> +
>> +        /* filter out SP not following bit 15 convention if any */
>> +        if ( FFA_ID_IS_SECURE(fpi->id) )
>> +        {
>> +            if ( dst_buf + dst_size > end_buf )
>=20
> Can "dst_buf + dst_size" overflow?

Well it would mean that the memory corresponding to the buffer in Xen
is mapped at a virtual address at the end of the 64bit space.
dst_size is set in the code (see ffa_handle_partition_info_get) so can only
be 8 or 24.

Probability is low but cannot be ruled out so I will modify the code to che=
ck
for overflow.

>=20
> Also, NIT: can you add parenthese to make clear about precedence?

ack

>=20
>> +            {
>> +                ret =3D FFA_RET_NO_MEMORY;
>> +                goto out_release;
>> +            }
>> +
>> +            memcpy(dst_buf, src_buf, MIN(src_size, dst_size));
>=20
> What's the maximum size of src_size and dst_size?

dst_size is set in the code (8 or 24) so there should be no issue here.
With the overflow checked upper we should be safe here.

>=20
>> +            if ( dst_size > src_size )
>> +                memset(dst_buf + src_size, 0, dst_size - src_size);
>> +
>> +            dst_buf +=3D dst_size;
>> +            count++;
>> +        }
>> +
>> +        src_buf +=3D src_size;
>> +    }
>> +
>> +    *sp_count =3D count;
>> +
>> +out_release:
>> +    ffa_hyp_rx_release();
>> +out:
>> +    spin_unlock(&ffa_rx_buffer_lock);
>> +    return ret;
>> +}
>> +
>> +static uint32_t ffa_get_vm_count(void)
>=20
> Is this meant to be called often? If so, can we instead have a counter th=
at will be incremented when the vTEE is first initialized and then decremen=
ted when the VM is destroyed?

As of now we could have a global counter that we increase or decrease
when a domain version is negociated and when a domain is destroyed.

We could also have some kind of global save of the result to be returned
to a guest.

But I did not do that because:
- cpu time required to update the list would be taken out an FF-A call
for FFA_VERSION of a VM which would require a global lock to protect
the data
- when we will have filtering the data will be per VM (which would make
the initial update more complex)
- incoming we have a notion of UUID and filtering depending on the
requested UUID which will make the global value only useable in a
limited number of cases.

I have 2 pending series on top of this one which would have to remove
such optimisations.

At the end this is definitely not something supposed to call often (linux
driver is calling it once during init).

>=20
>> +{
>> +    struct domain *d =3D current->domain;
> > +    struct domain *dom;
>=20
> NIT: "d" and "dom" are a bit too close. Could we rename "d" with "curr_d"=
?

i will go with curr_d dest_d to make this clearer.

>=20
>> +    uint32_t vm_count =3D 0;
>> +
>> +    /* Count the number of VM with FF-A support */
>=20
> This comment implies this is including the current VM. But ...
>=20
>> +    rcu_read_lock(&domlist_read_lock);
>> +    for_each_domain( dom )
>> +    {
>> +        struct ffa_ctx *vm =3D dom->arch.tee;
>> +
>> +        if ( dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0 )
>=20
> ... here you are excluding it. Also, it sounds like this is support by th=
e OS rather than the VM itself. Is that correct?

I have a comment to explain that one in a different serie that i will put h=
ere.

Basically before 1.2, the spec was a bit blurry on if or not the result sho=
uld include the
calling VM and in fact Linux driver (before 1.2) was ending with an error i=
f its own data
was included in the result hence this filter.

I will add a comment for that.

>=20
> > +            vm_count++;> +    }
>> +    rcu_read_unlock(&domlist_read_lock);
> > +> +    return vm_count;
>=20
> OOI, I guess this value is just used as an hint? Asking because the numbe=
r of domains can change at any point.

Definitely yes. The data is what it is when called but anything could chang=
e after.

This is mostly used as hint by callers.

>=20
>> +}
>> +
>> +static int32_t ffa_get_vm_partinfo(uint32_t *vm_count, void *dst_buf,
>> +                                   void *end_buf, uint32_t dst_size)
>> +{
>> +    struct domain *d =3D current->domain;
>> +    struct domain *dom;
>> +    int32_t ret =3D FFA_RET_OK;
>> +    uint32_t count =3D 0;
>> +
>> +    rcu_read_lock(&domlist_read_lock);
>> +    for_each_domain( dom )
>=20
> We can have quite a lot of domains in the system. So how can we ensure th=
is is not hogging a pCPU?
>=20
> I would be ok to delay the work, but we need a TODO so we remember to add=
ress it before this is security supported.

Definitely something not addressed in the spec for now that needs addressin=
g (as explained earlier).
We have other calls that can be "cut" and this one will need to support it =
in the future.

For now there is not much we can do and limit the number of SPs we allow wi=
ll not really solve
the issue in the VM to VM case so I will add a big TODO as you suggest.

>=20
>> +    {
>> +        struct ffa_ctx *vm =3D dom->arch.tee;
>> +
>> +        /*
>> +         * we do not add the VM calling to the list and only VMs with
>> +         * FF-A support
>> +         */
>> +        if ( dom !=3D d && vm !=3D NULL && vm->guest_vers !=3D 0 )
>> +        {
>> +            /*
>> +             * We do not have UUID info for VMs so use
>> +             * the 1.0 structure so that we set UUIDs to
>> +             * zero using memset
>> +             */
>> +            struct ffa_partition_info_1_0 srcvm;
> > +> +            if  ( dst_buf + dst_size > end_buf )
>=20
> Same question as the other similar check.

Same answer and i will add an overflow check.

>=20
>> +            {
>> +                ret =3D FFA_RET_NO_MEMORY;
>> +                goto out;
>> +            }
>> +
>> +            srcvm.id =3D ffa_get_vm_id(dom);
>> +            srcvm.execution_context =3D dom->max_vcpus;
>> +            srcvm.partition_properties =3D FFA_PART_VM_PROP;
>> +            if ( is_64bit_domain(dom) )
>> +                srcvm.partition_properties |=3D FFA_PART_PROP_AARCH64_S=
TATE;
>> +
>> +            memcpy(dst_buf, &srcvm, MIN(sizeof(srcvm), dst_size));
>> +
>> +            if ( dst_size > sizeof(srcvm) )
>> +                memset(dst_buf + sizeof(srcvm), 0,
>> +                       dst_size - sizeof(srcvm));
>> +
>> +            dst_buf +=3D dst_size;
>> +            count++;
>> +        }
>> +    }
>> +    *vm_count =3D count;
>> +
>> +out:
>> +    rcu_read_unlock(&domlist_read_lock);
>> +
>> +    return ret;
>> +}
>> +
>> +
>> +void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
>> +{
>> +    int32_t ret =3D FFA_RET_OK;
>>      struct domain *d =3D current->domain;
>>      struct ffa_ctx *ctx =3D d->arch.tee;
>>      uint32_t flags =3D get_user_reg(regs, 5);
>> @@ -75,9 +222,9 @@ void ffa_handle_partition_info_get(struct cpu_user_re=
gs *regs)
>>          get_user_reg(regs, 3),
>>          get_user_reg(regs, 4),
>>      };
>> -    uint32_t src_size, dst_size;
>> -    void *dst_buf;
>> -    uint32_t ffa_sp_count =3D 0;
>> +    uint32_t dst_size =3D 0;
>> +    void *dst_buf, *end_buf;
>> +    uint32_t ffa_vm_count =3D 0, ffa_sp_count =3D 0;
>>        /*
>>       * If the guest is v1.0, he does not get back the entry size so we =
must
>> @@ -89,118 +236,63 @@ void ffa_handle_partition_info_get(struct cpu_user=
_regs *regs)
>>      else
>>          dst_size =3D sizeof(struct ffa_partition_info_1_1);
>>  -    /*
>> -     * FF-A v1.0 has w5 MBZ while v1.1 allows
>> -     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
>> -     *
>> -     * FFA_PARTITION_INFO_GET_COUNT is only using registers and not the
>> -     * rxtx buffer so do the partition_info_get directly.
>> -     */
>> -    if ( flags =3D=3D FFA_PARTITION_INFO_GET_COUNT_FLAG &&
>> -         ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
>> +    /* Only count requested */
>> +    if ( flags )
>>      {
>> -        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>> -            ret =3D ffa_partition_info_get(uuid, flags, &ffa_sp_count,
>> -                                        &src_size);
>> -        else
>> -            ret =3D FFA_RET_OK;
>> +        /*
>> +         * FF-A v1.0 has w5 MBZ while v1.1 allows
>> +         * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
>> +         */
>> +        if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 ||
>> +                flags !=3D FFA_PARTITION_INFO_GET_COUNT_FLAG )
>> +        {
>> +            ret =3D FFA_RET_INVALID_PARAMETERS;
>> +            goto out;
>> +        }
>>  -        goto out;
>> -    }
>> +        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>> +        {
>> +            ret =3D ffa_get_sp_count(uuid, &ffa_sp_count);
>> +            if ( ret )
>> +                goto out;
>> +        }
>>  -    if ( flags )
>> -    {
>> -        ret =3D FFA_RET_INVALID_PARAMETERS;
>> -        goto out;
>> -    }
>> +        if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
>> +            ffa_vm_count =3D ffa_get_vm_count();
>>  -    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>> -    {
>> -        /* Just give an empty partition list to the caller */
>> -        ret =3D FFA_RET_OK;
>>          goto out;
>>      }
>>  +    /* Get the RX buffer to write the list of partitions */
>>      ret =3D ffa_rx_acquire(d);
>>      if ( ret !=3D FFA_RET_OK )
>>          goto out;
>>        dst_buf =3D ctx->rx;
>> +    end_buf =3D ctx->rx + ctx->page_count * FFA_PAGE_SIZE;
>>  -    if ( !ffa_rx )
>> +    if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>>      {
>> -        ret =3D FFA_RET_DENIED;
>> -        goto out_rx_release;
>> -    }
>> -
>> -    spin_lock(&ffa_rx_buffer_lock);
>> -
>> -    ret =3D ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
>> -
>> -    if ( ret )
>> -        goto out_rx_hyp_unlock;
>> +        ret =3D ffa_get_sp_partinfo(uuid, &ffa_sp_count, dst_buf, end_b=
uf,
>> +                                  dst_size);
>>  -    /*
>> -     * ffa_partition_info_get() succeeded so we now own the RX buffer w=
e
>> -     * share with the SPMC. We must give it back using ffa_hyp_rx_relea=
se()
>> -     * once we've copied the content.
>> -     */
>> +        if ( ret )
>> +            goto out_rx_release;
>>  -    /* we cannot have a size smaller than 1.0 structure */
>> -    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
>> -    {
>> -        ret =3D FFA_RET_NOT_SUPPORTED;
>> -        goto out_rx_hyp_release;
>> +        dst_buf +=3D ffa_sp_count * dst_size;
>>      }
>>  -    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
>> -    {
>> -        ret =3D FFA_RET_NO_MEMORY;
>> -        goto out_rx_hyp_release;
>> -    }
>> +    if ( IS_ENABLED(CONFIG_FFA_VM_TO_VM) )
>> +        ret =3D ffa_get_vm_partinfo(&ffa_vm_count, dst_buf, end_buf, ds=
t_size);
>>  -    if ( ffa_sp_count > 0 )
>> -    {
>> -        uint32_t n, n_limit =3D ffa_sp_count;
>> -        void *src_buf =3D ffa_rx;
>> -
>> -        /* copy the secure partitions info */
>> -        for ( n =3D 0; n < n_limit; n++ )
>> -        {
>> -            struct ffa_partition_info_1_1 *fpi =3D src_buf;
>> -
>> -            /* filter out SP not following bit 15 convention if any */
>> -            if ( FFA_ID_IS_SECURE(fpi->id) )
>> -            {
>> -                memcpy(dst_buf, src_buf, dst_size);
>> -                dst_buf +=3D dst_size;
>> -            }
>> -            else
>> -                ffa_sp_count--;
>> -
>> -            src_buf +=3D src_size;
>> -        }
>> -    }
>> -
>> -out_rx_hyp_release:
>> -    ffa_hyp_rx_release();
>> -out_rx_hyp_unlock:
>> -    spin_unlock(&ffa_rx_buffer_lock);
>>  out_rx_release:
>> -    /*
>> -     * The calling VM RX buffer only contains data to be used by the VM=
 if the
>> -     * call was successful, in which case the VM has to release the buf=
fer
>> -     * once it has used the data.
>> -     * If something went wrong during the call, we have to release the =
RX
>> -     * buffer back to the SPMC as the VM will not do it.
>> -     */
>> -    if ( ret !=3D FFA_RET_OK )
>> +    if ( ret )
>>          ffa_rx_release(d);
>>  out:
>>      if ( ret )
>>          ffa_set_regs_error(regs, ret);
>>      else
>> -        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
>> +        ffa_set_regs_success(regs, ffa_sp_count + ffa_vm_count, dst_siz=
e);
>>  }
>>    static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
>> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_priva=
te.h
>> index c4cd65538908..bd6877d8c632 100644
>> --- a/xen/arch/arm/tee/ffa_private.h
>> +++ b/xen/arch/arm/tee/ffa_private.h
>> @@ -187,6 +187,18 @@
>>   */
>>  #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
>>  +/*
>> + * Partition properties we give for a normal world VM:
>> + * - can send direct message but not receive them
>> + * - can handle indirect messages
>> + * - can receive notifications
>> + * 32/64 bit flag is set depending on the VM
>> + */
>> +#define FFA_PART_VM_PROP    (FFA_PART_PROP_DIRECT_REQ_SEND | \
>> +                             FFA_PART_PROP_INDIRECT_MSGS | \
>> +                             FFA_PART_PROP_RECV_NOTIF | \
>> +                             FFA_PART_PROP_IS_PE_ID)
>> +
>>  /* Flags used in calls to FFA_NOTIFICATION_GET interface  */
>>  #define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
>>  #define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
>=20
> Cheers,

Thanks a lot those are very useful comments and feedback for the
code and the spec :-)

Cheers
Bertrand

>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:27:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:27:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928654.1331330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txiZs-0002iI-0g; Thu, 27 Mar 2025 08:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928654.1331330; Thu, 27 Mar 2025 08: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 1txiZr-0002iB-UD; Thu, 27 Mar 2025 08:27:03 +0000
Received: by outflank-mailman (input) for mailman id 928654;
 Thu, 27 Mar 2025 08:27: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txiZq-0002i3-SB
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:27:02 +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 4154cb36-0ae5-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:27:01 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso6275505e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 01:27: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-43d82dedf21sm29927785e9.6.2025.03.27.01.26.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 01:27: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: 4154cb36-0ae5-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743064020; x=1743668820; 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=0rI0MvUf6Y1Z8bBVeUVYbw6emjnFugFJY3sfFZH7c2A=;
        b=Hffi45lxgXLqzbkOz+eO+/zxX8JBSSTBwmSC9YFsauN0IXLCvd0dngouseptGRy+6d
         BbRqJ/dYaHYEDVorpN5HwgGxR+kIQhwwHKLqTjl7Mo9NJncnRMVVj7q699/h4ndgF2GW
         fqbwQiJF8mEOOseOrnBfdI8bTnLa6lmvPstbQbBzP0mMZ3PJB/ukAtfsEjIZZEcKmaD6
         b9jVmprvuIqAjfCqaTnOle6p3D6aBi0vCn8Z3kja963tTa4oYM819OCzyL8DO6jXKp6i
         yISSH/hkJzpKrDCPFa/ILsoiJzNB/vcT2onC2Zzj1WYy5WWOdz2lGRkiQ7TSMJGWLaCS
         AtaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743064020; x=1743668820;
        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=0rI0MvUf6Y1Z8bBVeUVYbw6emjnFugFJY3sfFZH7c2A=;
        b=culD0TZwKOtAjZzEDkRSbJTNF/S4U9XdvPJoYUKxWZbfNwL6U3SaTjX/vNnWh3IVEy
         lDUuXP1OVaRQ4zYedmPGW/sV3i8Vv/XH9jdlCQ+4gBXDtjMOiN0cf73sX+jZPJbTdLrC
         DvB22r44hAOwauINOvOMYeVc27Mf0ld1nqMKy3PNRVBEc4MZludm3H8YHM7amB6gshow
         +rzRf5Qh5O7goD/1cVaQqT3oKqr6NJ1BJ/nsAm3aWJgF6sgz5IgP/Q4q6SNPEw8L/ez1
         2452hz0JaBSlSxiU1nsDgwf/CDRGtQKccgiChlSTQ8y2LmBSU1fgBeQs2znwSOhR9lPT
         E8VA==
X-Forwarded-Encrypted: i=1; AJvYcCUGE3MazXN/quP9/3Yyk1aE+zIff+cBZOlF56Rh88JlsriESSkuvW70EKRw2CN73ircnM7iEGs+q/w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywa6RnEeV8NuU1DfPpqc6faSdacEB6j7OFs0ffoN0tVltMOmuzN
	Tb02lcUJ/vQZmMAG8TlJTs1xzOFZkeqQDfMh5W09c0VjhOJx0UrNOjVh6NyTrw==
X-Gm-Gg: ASbGncstwLncvpMrvNsjOcVRAo+ct04Ke0vkseUzceQ6hpsZgv+0QdycJOVlwQiFbvL
	z50Yv6n5tljaq/SzBfjStGg0EzYDejmX70OccYkmBN5BkJlWdOxqxehtD33WgvFtDn9GmfKVYlP
	AezQHxJbzuLjj2r8Va6baZOT15U/ooww65yZMccQf8jb3hCcOq9S1da4XzCN+Duxv78AerHTsBz
	+zQr9TSgOaemffbr9T1nKjGTXffu9wNiVxAdEvlUN8AKfxp23SQPw7uf7zZYWeRnrv8ocGfcSeP
	dWEWdfWv7rf5FzrVDKJaeGcZ5BYRxJbmOL49FD9HoeC1kneFNShLfORWi0xtLYCNOFMHHwql2SW
	2o/MqaEC6Tzl9bJk8eOUqfzeE3BFZBw==
X-Google-Smtp-Source: AGHT+IFCM9QoqGokMIinQR/aewa23+ccvooIid/S52q8MJJEOR2N3VfCyzn9Oj02KNlVxJ32Xznufw==
X-Received: by 2002:a05:600c:1d9e:b0:43c:f75a:eb54 with SMTP id 5b1f17b1804b1-43d8582c4ddmr20672885e9.13.1743064020401;
        Thu, 27 Mar 2025 01:27:00 -0700 (PDT)
Message-ID: <a0334340-6dc9-4526-ab00-1d9bbb290de2@suse.com>
Date: Thu, 27 Mar 2025 09:26:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/percpu: don't initialize percpu on resume
To: Mykola Kvach <xakep.amatop@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>,
 Mykyta Poturai <mykyta_poturai@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <20250327052241.202167-1-xakep.amatop@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: <20250327052241.202167-1-xakep.amatop@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 06:22, Mykola Kvach wrote:
> Invocation of the CPU_UP_PREPARE notification
> on ARM64 during resume causes a crash:
> 
> (XEN) [  315.807606] Error bringing CPU1 up: -16
> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
> [...]
> (XEN) [  316.142765] Xen call trace:
> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
> 
> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
> only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
> On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
> INVALID_PERCPU_AREA depends solely on the system state.
> 
> If the system is suspended, this area is not freed, and during resume, an error
> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
> set and park_offline_cpus remains 0:
> 
>     if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>         return park_offline_cpus ? 0 : -EBUSY;
> 
> It appears that the same crash can occur on x86 if park_offline_cpus is set
> to 0 during Xen suspend.

Oh, also - it's not "appears"; iirc Marek meanwhile confirmed the misbehavior on
x86 AMD hardware.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:29:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:29:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928666.1331340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txicR-0003Ii-D3; Thu, 27 Mar 2025 08:29:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928666.1331340; Thu, 27 Mar 2025 08:29: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 1txicR-0003Ib-9i; Thu, 27 Mar 2025 08:29:43 +0000
Received: by outflank-mailman (input) for mailman id 928666;
 Thu, 27 Mar 2025 08:29: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=FdJw=WO=intel.com=oliver.sang@srs-se1.protection.inumbo.net>)
 id 1txicP-0003IV-Dm
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:29:41 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9bdfa62e-0ae5-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:29:34 +0100 (CET)
Received: from orviesa008.jf.intel.com ([10.64.159.148])
 by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 27 Mar 2025 01:29:32 -0700
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
 by orviesa008.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 27 Mar 2025 01:29:33 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
 ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1544.14; Thu, 27 Mar 2025 01:29:31 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
 ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1544.14 via Frontend Transport; Thu, 27 Mar 2025 01:29:31 -0700
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176)
 by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Thu, 27 Mar 2025 01:29:31 -0700
Received: from LV3PR11MB8603.namprd11.prod.outlook.com (2603:10b6:408:1b6::9)
 by DS0PR11MB7531.namprd11.prod.outlook.com (2603:10b6:8:14a::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 08:29:12 +0000
Received: from LV3PR11MB8603.namprd11.prod.outlook.com
 ([fe80::4622:29cf:32b:7e5c]) by LV3PR11MB8603.namprd11.prod.outlook.com
 ([fe80::4622:29cf:32b:7e5c%4]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 08:29: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: 9bdfa62e-0ae5-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1743064174; x=1774600174;
  h=date:from:to:cc:subject:message-id:mime-version;
  bh=tqKqoSn9OHUgJH9+agTAVBP3Nm7fSmiFE619J/tRecw=;
  b=X5GkaOotylVrCZtNuReKZ8m+e4B24A0Vkmj+BlqhKVR6IDPlz7BZ1T/B
   Snrf21yURk11/aUV89JxksLfiPi6qe7ar2WutGMmzZ3sV/NUBxvesHe24
   3DAj5txVWJVdPrZ1JIGkbBm3zcIHH4eiNw9GUU9Smzedcg9nKWB72lOks
   aVsiyRCMJ6J8CCTn8WvVUn6qxmNR0nOiAFDA0GtGnHNWXpqYDglIlF+UN
   mWxhzAr3GgK2ExrQoK9i+Q333ZpX9d1fAVa2d2buZGcF3bUWN/WDNOTYB
   2WAwrR1xlTz7pGbXTXCHGYoA6GDQ6B2ipBbdsnm2rLe/BUFTFQh4qCrG6
   g==;
X-CSE-ConnectionGUID: 7l7UUf4nR8Co/t6mth+BeQ==
X-CSE-MsgGUID: 0C04QSDTST+xZNoAvGVRvg==
X-IronPort-AV: E=McAfee;i="6700,10204,11385"; a="44258077"
X-IronPort-AV: E=Sophos;i="6.14,280,1736841600"; 
   d="scan'208";a="44258077"
X-CSE-ConnectionGUID: uGsA84PnRE6NMVNhNxbYFQ==
X-CSE-MsgGUID: cqHGeZjMRd6j2li8MOQ1mQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.14,280,1736841600"; 
   d="scan'208";a="125998603"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lhTZbM+niuuhQSKVPodlWbX9mgvmNhniiHBXyQO16D4rl/V21BFRhLnGd5VeVZJoDtFvAocMRUl/RJkPtKHuL1VVDwW+gOtLIg/+5k12jd75zg3I7d7R9wFs523kPMY3a7MQIwlUeuRsTk35gXEpXC3JVUYqmdCnzBW8RjYoxS6VX2825yfiMf8/wPaJaEHrXKzoKl5+A+b/aKGTiTxdkSbk9yohzwEmzyFqBc7WXIIVPh1bIVeAtxdniinZlhlr9DojU94L0IrNQZNNDaHVC/MPuOI+RDLlXGHgDGQQmoJIsiM1fL8d8iKTcCs3P1EyxuYl2CMRescHtBMG11dDJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FpLdLTFTw5ulZKWQUefRgbe0u/yDE+SwfhwrHJkbreY=;
 b=VQnCpNMMtF6fGtTTE3jMVY0BswTjcczekk21sQv+ejXJ4Je2xlgn9nNIaJ2zg7ePgnC/yw8ugWEsOdybn/8PVL1F2A+7noNSMV0BIeKnWSc4lLRIdXcubwpwag8gsLLqopNKIvg0mgRARd07ZNm10ZFXk3bJUHMBCl06P2QK4kuwXwXznj7csoX0ycNkswE2aBhaaM/SyztDpYPpbR2BizLzXhPj1F2isKGHOfzny94HHq5SMBfQ9cXyzNRS+wk4mIr90wwRAvZ6MvI6Ito6J9sdojFuUC3yAfvNqlIdLxA4rkVojtqm0ph89jfD9UfBHumCwa2Mcg/vqUd0xxFbiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
Date: Thu, 27 Mar 2025 16:29:02 +0800
From: kernel test robot <oliver.sang@intel.com>
To: Roger Pau Monne <roger.pau@citrix.com>
CC: <oe-lkp@lists.linux.dev>, <lkp@intel.com>, Juergen Gross
	<jgross@suse.com>, Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas
	<bhelgaas@google.com>, <xen-devel@lists.xenproject.org>,
	<linux-pci@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<ltp@lists.linux.it>, <oliver.sang@intel.com>
Subject: [linux-next:master] [PCI/MSI]  d9f2164238:
 Kernel_panic-not_syncing:Fatal_exception
Message-ID: <202503271537.b451d717-lkp@intel.com>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
X-ClientProxiedBy: SI2PR01CA0047.apcprd01.prod.exchangelabs.com
 (2603:1096:4:193::10) To LV3PR11MB8603.namprd11.prod.outlook.com
 (2603:10b6:408:1b6::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: LV3PR11MB8603:EE_|DS0PR11MB7531:EE_
X-MS-Office365-Filtering-Correlation-Id: 69eb18ba-15fe-44c8-017c-08dd6d0973b4
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
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: =?us-ascii?Q?30DDTL3+jhbyjccBFMsOpEYWdQtMW+Zq2Oeip8Dj4FHWtmk4JvJ17TaaA7Nj?=
 =?us-ascii?Q?DDY4M9Jhw2Y/EQSHAgq+46iA9FNqlnbUbAwaPwYYt7rXiVesL0NSKPgqu8mf?=
 =?us-ascii?Q?gLs17TTD4qVDlTpjEoDpToXCy0qycFetsrcakz92D/Uktqt+UDzNovkb7So4?=
 =?us-ascii?Q?mYyVmULdJERV6LUFquW6WoWppGKNKIs+Mjl6ECfcT2LYDnQLKhK9QIy47Iuv?=
 =?us-ascii?Q?9iRER/yjr5lzBFrIvs9zMhpfjA534aj1r3/SF53g65XTRQyNAa2Pn1L7Xd5o?=
 =?us-ascii?Q?5wmv8MAcUToAIstN8Pg/PJJz+REGEniI5B16XJHt8tfTl3kAGWITil3G76Sg?=
 =?us-ascii?Q?Uy5oVAvB4AGRbVgEGgH03bsYvgPnOFualpqfccbiJNmyvrrV9IURatXtjkB+?=
 =?us-ascii?Q?3z4lL3s1Zwns4QKlLGisMiLTuZraRUW9cmdo1waJgBVp45ecR2HNYW4A20+k?=
 =?us-ascii?Q?+5ltmXMv0mMPJuSqcMxwoNzs85hYi6J8LZ3W7VDuJqwsJ3m7L1bxFjWIlqPd?=
 =?us-ascii?Q?109HqwElwzF+yZy6XOZ6D4p8CL4UufM4frhbWbY8tfvsAMot7v2YEv6WArAY?=
 =?us-ascii?Q?IQ/Mw5cxncGIsBYL5vrLn7Tz2ZpqWhQWuUOYPgLYm1JqAVvzTNxT4JrbR73w?=
 =?us-ascii?Q?bs4pG0344aD2BpoL/yBr7jjjpuoxZMvEZFEfa0oGCIJm1l3ejF0UFaq+ObN9?=
 =?us-ascii?Q?HtPQROqCsS128hHNV3o1HsVpxWAzmD2UxS6AgqkuAoJdkjtIenCXAZZSu3V/?=
 =?us-ascii?Q?ifNsZcNHCcHV3iq7VxeEaSf31tugVDmrXa2zpS+Wg5Qge4yOX9hRLhxlbqOD?=
 =?us-ascii?Q?H1XGhuM/cC3+NX13jSEwPDpn2oG/CB+Wgbjwoldq3uN9LYIoMApypPf24d0d?=
 =?us-ascii?Q?Nr0sg5UB6C67HZNtP4XU7dXNX5tMZP033IcDld0sAAahmlxtqo39ZPxMvGHR?=
 =?us-ascii?Q?4/mZ3SBWibIdwdVPqqUrHu3WZovMmCA/kkdFYMnKYVpEyxlJ6rq4olK6Psm6?=
 =?us-ascii?Q?ekFRaUAS0m28kqqTRBZuv4P7BwPmSvR3MlpupLjMdtPxVJl/ACThnXhQ+QU7?=
 =?us-ascii?Q?E3KsQY707hPmut5DaI8HopA6BXt3RktZombzvVCeUFZ+ugqZgnAQotcEZgA8?=
 =?us-ascii?Q?MEeEvw7auDYt75ZJgjkOt7N+6usGRFhDQV8GeC6SYL46dXiIhWkVx/1cCJgy?=
 =?us-ascii?Q?9Fp/cu3xBeaqtzgwEuv1R9x9dl6uV9/tyFAzPV9eQensVXyaVWuYjlEy+fu+?=
 =?us-ascii?Q?HUb6hsg11spCVL99YznlSWeZRpOd9H4IPB2Au6QAjSII34lT+GCgzC/ABxSt?=
 =?us-ascii?Q?8wU5ObkIYGeI3oB1YfheNm6nKBm6REPr9iQdXXzi/gNR8Q=3D=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR11MB8603.namprd11.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: =?us-ascii?Q?QIs5v+/ugsE6AfRDUXZQpdl/oeLc73Zepg1EjMVIssoqBvGEioppxO5LicmV?=
 =?us-ascii?Q?lGjpB849Tx/8EMyiQ7+SDCztac0nJY3d2uEowPrER4Ibs2AkoRPvF8vG/MvB?=
 =?us-ascii?Q?mjDYWZULDyHBBbUTJu3S7yoKyekYajgg8Mjud7AVp00iuue6a+wRIJzUvyF5?=
 =?us-ascii?Q?h7xCcp6jbnFu/cdCyTdEVoWWWJnGMxupquAF/TyjIsLgtHgAMZziBk7qeemy?=
 =?us-ascii?Q?uZtKVNjBzgRHYUUmbpAV/Rg60wmMUlh3frLKYPiJE/n9UsQF4QcHcBCAcVWq?=
 =?us-ascii?Q?iZlnR0pM+wg9MIMM9w5+CJ8bLZTwuEzBaYT6NxFCR0MyJkiZSg4RuLxKih9p?=
 =?us-ascii?Q?dy60DZOxPwyOUOQLQWXvwpIrOW4o2ulLsBuNJW0iXjSSkHo/GmmCJrOB3nT/?=
 =?us-ascii?Q?a4sCOTSrg6gur7CDUdN7lPwnHiYUWCotwIcAQxbenn1jg+9l7IkO0CMhmGDq?=
 =?us-ascii?Q?MNvCFxyY4bg3AqeT7Qs8JIwx2zRY6FYQajU4lwKSnQHElu+/FoChGcrqFDjQ?=
 =?us-ascii?Q?+HaKhR5XhQZL4XIddaWBr9Ov1GcEnFyGB30f/eeJuvyf48pMgaOMdwYofSA3?=
 =?us-ascii?Q?U57uMZhYK3Rjfpz8W6JaNWsEmACPYxNT78qmF8tuKTjtSPXzOfnIGDu4l38d?=
 =?us-ascii?Q?+bi+u4T4Wkxj4LAgM6+a/PcQDL3UWufFaFvMwK3Yv6FM6wrI45usWCeojQ9b?=
 =?us-ascii?Q?PRn6SICcqN363Qe4yVZyvtqDJZ7DjQ/ct28m7Y1cXp5giQNox+us8R34KDX9?=
 =?us-ascii?Q?0ThAPe7iIoJkWK95JvG54IoHeoP4mnEyj+Urd6rBMrticmgJRd574WD/jtvL?=
 =?us-ascii?Q?nUia9/W5hoTIvOmt/p+3n/2MdfQznhBTWNCc8ap4iorqSJFssodvqJvbHIsp?=
 =?us-ascii?Q?d0FiIaxV2C/Etr/jGwpQrx5Hgd1oNCeqgyPBDEO+gB8xCo+dmz77L4wIjydV?=
 =?us-ascii?Q?OIfEA34zv4Bga+lHUgiOnEk2TVRYwOX6ciTi01M8jE5Vj/fpDRGlXP+78bvY?=
 =?us-ascii?Q?KG3oZhIdwtXOd8A4n5ATsEFS+zLTAmxe6u1tjB8cc8WkhCK8oGSxqJQjBJ+a?=
 =?us-ascii?Q?VOzV62mRnhHu3pctVVyE71SglbgRi9HpypNj0tIWECiE5g8E9LXa9pvERy0O?=
 =?us-ascii?Q?hL+biUnzvI2m40wrJNMmzfxhFAWfOWpN37DNkwkfMiUAZzW1vCfBcSgK5wyr?=
 =?us-ascii?Q?IItOtLMbKSznDm06K17wE/J6/8426SHYnmwKeAHjT7uyF6rpxvJUfAKTxgMI?=
 =?us-ascii?Q?ctHtVFg0wzfsiZIubaDzL8C53vJGOXtReWP149TQ6ErnJU3dKjqPeO3quWkt?=
 =?us-ascii?Q?QzR3wYnRGZ56IqIees/89cHL0RXUNgL/aOArwJlQAvmuj0NQuOvwV+SN25Yv?=
 =?us-ascii?Q?vWMIAJRheE4gM3mp2jTfeaxpkItjrt/rrpJOzSQlbYTMVuPJwFU1wyEApyjg?=
 =?us-ascii?Q?gohqquz8rgFYWm2oqZ+JZVZfE8EmshaHWCmReRUJxyhwBPSer+s7H0UBjk1n?=
 =?us-ascii?Q?pr0gwqmdLSFUKiBwQSJARihA+2KXKvWs53u462ZkLEWrOH0APJPEwJNyeRFI?=
 =?us-ascii?Q?bvDaQz6JqqGCk55xZoG0gayKFNZ6l+28+qLoxHjhZWojFKDWnzmAhnAR++go?=
 =?us-ascii?Q?Rg=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 69eb18ba-15fe-44c8-017c-08dd6d0973b4
X-MS-Exchange-CrossTenant-AuthSource: LV3PR11MB8603.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2025 08:29:12.0630
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HIKjO0/IE7/Vu0gvA3XlEAfd3VSwhGOPQP+WzMZV0SUtatkAeGT/5c0KWqvbA8IjyO9ZuWu34p1k9HiJDDiNgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7531
X-OriginatorOrg: intel.com


Hello,

kernel test robot noticed "Kernel_panic-not_syncing:Fatal_exception" on:

commit: d9f2164238d814d119e8c979a3579d1199e271bb ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

[test failed on linux-next/master 0e871365f7f9aeb9b590e345458b2083e067cd13]

in testcase: ltp
version: ltp-x86_64-042eff32a-1_20250322
with following parameters:

	test: net.rpc_tests



config: x86_64-rhel-9.4-ltp
compiler: gcc-12
test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (Skylake) with 16G memory

(please refer to attached dmesg/kmsg for entire log/backtrace)



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 <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202503271537.b451d717-lkp@intel.com


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20250327/202503271537.b451d717-lkp@intel.com


[    5.420499][    T1] IOAPIC[0]: Preconfigured routing entry (2-16 -> IRQ 16 Level:1 ActiveLow:1)
[    5.429420][    T1] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    5.439557][    T1] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN PTI
[    5.452040][    T1] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
[    5.460040][    T1] CPU: 5 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.14.0-rc6-00007-gd9f2164238d8 #1
[    5.469031][    T1] Hardware name: HP HP Z240 SFF Workstation/802E, BIOS N51 Ver. 01.63 10/05/2017
[    5.477030][    T1] RIP: 0010:msi_setup_msi_desc+0x172/0x3c0
[    5.484132][    T1] Code: 44 24 30 f6 83 47 08 00 00 10 74 0d 66 89 44 24 0c 80 cc 01 66 89 44 24 30 48 ba 00 00 00 00 00 fc ff df 4c 89 f9 48 c1 e9 03 <0f> b6 14 11 84 d2 74 09 80 fa 03 0f 8e f7 01 00 00 41 8b 17 81 e2
[    5.504013][    T1] RSP: 0000:ffffc9000006f588 EFLAGS: 00010246
[    5.509034][    T1] RAX: 0000000000000080 RBX: ffff888106b5a000 RCX: 0000000000000000
[    5.517035][    T1] RDX: dffffc0000000000 RSI: 0000000000000246 RDI: ffff888106b5a846
[    5.525034][    T1] RBP: 0000000000000001 R08: 0000000000000001 R09: fffff5200000de8b
[    5.533035][    T1] R10: 0000000000000003 R11: ffffffff81d93300 R12: 1ffff9200000deb3
[    5.541033][    T1] R13: ffffc9000006f5c8 R14: ffff888106b5a06d R15: 0000000000000000
[    5.549034][    T1] FS:  0000000000000000(0000) GS:ffff88838e880000(0000) knlGS:0000000000000000
[    5.558003][    T1] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    5.563005][    T1] CR2: 0000000000000000 CR3: 000000043c06c001 CR4: 00000000003706f0
[    5.572049][    T1] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    5.580047][    T1] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[    5.588024][    T1] Call Trace:
[    5.590035][    T1]  <TASK>
[    5.594008][    T1]  ? die_addr+0x3c/0xa0
[    5.598035][    T1]  ? exc_general_protection+0x150/0x230
[    5.604003][    T1]  ? asm_exc_general_protection+0x22/0x30
[    5.609042][    T1]  ? kasan_save_track+0x10/0x30
[    5.614035][    T1]  ? msi_setup_msi_desc+0x172/0x3c0
[    5.618005][    T1]  ? msi_setup_msi_desc+0x115/0x3c0
[    5.624005][    T1]  ? __pfx_msi_setup_msi_desc+0x10/0x10
[    5.630034][    T1]  ? __pfx_mutex_lock+0x10/0x10
[    5.634005][    T1]  msi_capability_init+0x1d2/0x7c0
[    5.638034][    T1]  ? __pfx_msi_capability_init+0x10/0x10
[    5.645043][    T1]  ? __pfx_yield_to+0x10/0x10
[    5.650005][    T1]  ? mutex_unlock+0x7f/0xd0
[    5.654034][    T1]  ? __pfx_mutex_unlock+0x10/0x10
[    5.658004][    T1]  ? irq_domain_update_bus_token+0x123/0x180
[    5.665043][    T1]  ? __msi_create_irq_domain+0x1c1/0x470
[    5.670037][    T1]  ? msi_create_device_irq_domain+0x594/0x760
[    5.676004][    T1]  __pci_enable_msi_range+0x28e/0x3b0
[    5.682005][    T1]  ? __pfx___pci_enable_msi_range+0x10/0x10
[    5.686165][    T1]  ? e1000e_check_options+0x3e2/0x1180
[    5.693036][    T1]  pci_enable_msi+0x16/0x30
[    5.696005][    T1]  e1000e_set_interrupt_capability+0x109/0x670
[    5.701035][    T1]  ? mutex_unlock+0x7f/0xd0
[    5.708003][    T1]  e1000_sw_init+0x1f2/0x7c0
[    5.711004][    T1]  e1000_probe+0xab6/0x2a80
[    5.717005][    T1]  ? __pfx_e1000_probe+0x10/0x10
[    5.721006][    T1]  ? do_nanosleep+0x2e0/0x460
[    5.726036][    T1]  ? __pfx_e1000_probe+0x10/0x10
[    5.731005][    T1]  local_pci_probe+0xd9/0x190
[    5.735036][    T1]  pci_call_probe+0x183/0x510
[    5.739006][    T1]  ? _raw_spin_lock+0x81/0xe0
[    5.744005][    T1]  ? __pfx_pci_call_probe+0x10/0x10
[    5.749035][    T1]  ? kernfs_add_one+0x2dd/0x450
[    5.754004][    T1]  ? pci_assign_irq+0x81/0x2a0
[    5.759084][    T1]  ? pci_match_device+0x38b/0x690
[    5.764049][    T1]  ? kernfs_put+0x18/0x40
[    5.768035][    T1]  pci_device_probe+0x19c/0x230
[    5.773007][    T1]  ? pci_dma_configure+0x121/0x180
[    5.777045][    T1]  really_probe+0x1e3/0x920
[    5.783035][    T1]  __driver_probe_device+0x18c/0x3d0
[    5.786004][    T1]  driver_probe_device+0x4a/0x120
[    5.793047][    T1]  __driver_attach+0x1dd/0x4a0
[    5.797044][    T1]  ? __pfx___driver_attach+0x10/0x10
[    5.801048][    T1]  bus_for_each_dev+0xf0/0x170
[    5.807197][    T1]  ? __pfx_bus_for_each_dev+0x10/0x10
[    5.812005][    T1]  ? __kmalloc_cache_noprof+0x149/0x3e0
[    5.818006][    T1]  ? klist_add_tail+0x132/0x260
[    5.823004][    T1]  bus_add_driver+0x29a/0x5c0
[    5.827006][    T1]  driver_register+0x130/0x450
[    5.832033][    T1]  ? __pfx_e1000_init_module+0x10/0x10
[    5.837005][    T1]  do_one_initcall+0x8e/0x390
[    5.842006][    T1]  ? __pfx_do_one_initcall+0x10/0x10
[    5.847005][    T1]  ? __pfx_parse_args+0x10/0x10
[    5.852007][    T1]  ? __kmalloc_noprof+0x1d4/0x4d0
[    5.857045][    T1]  ? do_initcalls+0x2e/0x360
[    5.861045][    T1]  do_initcalls+0x198/0x360
[    5.865046][    T1]  kernel_init_freeable+0x813/0xc80
[    5.871002][    T1]  ? __pfx_kernel_init+0x10/0x10
[    5.876006][    T1]  kernel_init+0x1b/0x1f0
[    5.880192][    T1]  ? calculate_sigpending+0x56/0x90
[    5.885046][    T1]  ret_from_fork+0x30/0x70
[    5.889047][    T1]  ? __pfx_kernel_init+0x10/0x10
[    5.893046][    T1]  ret_from_fork_asm+0x1a/0x30
[    5.898037][    T1]  </TASK>
[    5.902006][    T1] Modules linked in:
[    5.906069][    T1] ---[ end trace 0000000000000000 ]---
[    5.911439][    T1] RIP: 0010:msi_setup_msi_desc+0x172/0x3c0
[    5.917163][    T1] Code: 44 24 30 f6 83 47 08 00 00 10 74 0d 66 89 44 24 0c 80 cc 01 66 89 44 24 30 48 ba 00 00 00 00 00 fc ff df 4c 89 f9 48 c1 e9 03 <0f> b6 14 11 84 d2 74 09 80 fa 03 0f 8e f7 01 00 00 41 8b 17 81 e2
[    5.936715][    T1] RSP: 0000:ffffc9000006f588 EFLAGS: 00010246
[    5.942693][    T1] RAX: 0000000000000080 RBX: ffff888106b5a000 RCX: 0000000000000000
[    5.950583][    T1] RDX: dffffc0000000000 RSI: 0000000000000246 RDI: ffff888106b5a846
[    5.959042][    T1] RBP: 0000000000000001 R08: 0000000000000001 R09: fffff5200000de8b
[    5.966940][    T1] R10: 0000000000000003 R11: ffffffff81d93300 R12: 1ffff9200000deb3
[    5.974827][    T1] R13: ffffc9000006f5c8 R14: ffff888106b5a06d R15: 0000000000000000
[    5.982728][    T1] FS:  0000000000000000(0000) GS:ffff88838e880000(0000) knlGS:0000000000000000
[    5.991591][    T1] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    5.998093][    T1] CR2: 0000000000000000 CR3: 000000043c06c001 CR4: 00000000003706f0
[    6.006000][    T1] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    6.013929][    T1] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[    6.021832][    T1] Kernel panic - not syncing: Fatal exception
[    6.026005][    T1] Kernel Offset: disabled



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:37:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:37:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928677.1331350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txijn-0006G5-4R; Thu, 27 Mar 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 928677.1331350; Thu, 27 Mar 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 1txijn-0006Fy-1d; Thu, 27 Mar 2025 08:37:19 +0000
Received: by outflank-mailman (input) for mailman id 928677;
 Thu, 27 Mar 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=yWE1=WO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1txijl-0006Fq-8I
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:37:17 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20606.outbound.protection.outlook.com
 [2a01:111:f403:2613::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af4a6f75-0ae6-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:37:15 +0100 (CET)
Received: from AS4P189CA0068.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:659::23)
 by VI1PR08MB10076.eurprd08.prod.outlook.com (2603:10a6:800:1bd::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 08:37:11 +0000
Received: from AMS0EPF000001AE.eurprd05.prod.outlook.com
 (2603:10a6:20b:659:cafe::97) by AS4P189CA0068.outlook.office365.com
 (2603:10a6:20b:659::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.43 via Frontend Transport; Thu,
 27 Mar 2025 08:37:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001AE.mail.protection.outlook.com (10.167.16.154) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 27 Mar 2025 08:37:10 +0000
Received: ("Tessian outbound d933a9851b56:v604");
 Thu, 27 Mar 2025 08:37:09 +0000
Received: from L80ddd225d425.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A22862E3-4892-4495-8738-FC8A1918B29A.1; 
 Thu, 27 Mar 2025 08:37:04 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L80ddd225d425.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 27 Mar 2025 08:37:04 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS2PR08MB9975.eurprd08.prod.outlook.com (2603:10a6:20b:62c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 08:37:01 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 08:37: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>
X-Inumbo-ID: af4a6f75-0ae6-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=pLl/m+/vETEnEtI3Y1nXgSKEdNve8eHeay7y9OMqfNZQWtL3IgLmdIrw2D0c1DPgGwLASBTFUwU9tzcmMyILIY8AXZ+wCftVpE0ORdznI3ogss2Slj64vXpcaps4Xs7U0snE7GL80x7vFEqo25E7uOOpiIjfu0ATtiwRlTXOQbIx7njA5pCiTbvPw3n8JTjD4O7wWvqXrcHA/AlDsyJdOtwSF+/0A5a6/1uVytgy3Uvc6SJ0cV21vNbh8Wyhv50qU2yBGtrdWoYtGHNSztAGZvhVvn/xJbi/vvqGgpcA5NyjN+TfUmslduYQmEqTXGCoGIF7K2VmN7THSFpn7LgBkw==
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=EmkhyCtEOEhLBaybFLIZ4HYsv7SNKTd41UY4xdvR9Jg=;
 b=pFIxAkJu+0EeN3AFNWO+10kuXYlQ/wugh7m8WBxOain80dIM8LtikNHwjYtk6HyC78GwcvplHQ7+2TCr8iSc859GODsvYKsBJu2CM5lhKZmKFDZtc0disk0paqtf9JxxmGrWC7NlyNPL5720Du+C6T0eeQpDHvV933o99c9Z4AkC3x1nBbZTFzjsmI69KIRUV0mO65RAjrUljrZZBP4kW9nrXtzeecdKwDIGLCtrdZIVJvYvELVa+w5OJTqEXsGlseTAe0I1EObJuZl40Tcoh1kdXqhi7t1OHAawdyqV5SRm7wqib8ksktCWUrPc/N7XJbVWWNDXNVsoBAmMg34nJg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=EmkhyCtEOEhLBaybFLIZ4HYsv7SNKTd41UY4xdvR9Jg=;
 b=fLwdcxYmqp3qDi3IEm5Pmojc8NptgBLaj4e3vzJCyZtwkekt0hkj/KRQTCbdFzVHq9HCYSoL/OMXAJ4Qcy30JHvR3yZgUTemEXxWVKjAwxwdsijjwOsOkbn6/3/GlqCPvxYXW2jC3L9GFbDLw4FOMPRQJAqwEih4r5AC5OpB6s4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 9dd22a9587c78bdf
X-TessianGatewayMetadata: t8VbQh+CzfATGhViFjBASE53oaIa6n/gdVVnFNBt7/Hc2LmwFGxKGAT37g6iHlQzB9Qf57KBif/9Ni3dTmQykwbf8Mx7PrUkoy13abgbeezMAdU7VTN8pUe7enuDKRZ3AgKtxG+1hGXzgFVRLnuYtR4Nevhgv/PXg2o/2Cv6nuw=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TDLJjxnj8zptLmZ8T+tmmgBrLlm1xxNhiETScdf+G821hiL5NcoeH0K6giFVnXUrKMt2FoiIX2HXP8cCZN5nur25M81eGdh2h4K8cWOHHgrhq1srq8HjQrJlJTMmLNiyQDMik0qUkssFh2xE018MEKD6Jysor6yPdHoC4SNkOca6updsfv5vPDRbYyKyqMt+SjSuA0LiGy+Y7JiLqd+s+PoHeUWadrSMcJ7YYWjvudb+9Oa29fIEEZMjb7kReUHBryzgtm6NxpBiSJPja4QZv1h5GOisLjU4Rdgg5qWroCFW3qV4bXaPXsYX1J+Nv6TxVz/05x3+8VZMoWubi/72oA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EmkhyCtEOEhLBaybFLIZ4HYsv7SNKTd41UY4xdvR9Jg=;
 b=kdI0HDUdkg8fHmPdWClVJE7Glx0CMhTKnDqrwoiMPAxmKgjfwKfypuJx2WHbDoPPmFdrc21fxb9gAinpRcDbxWwPLKrAkFI1/RuezXWYPqE3zVJAO1Zr7YnKjnsZ/KwnZRcMOqaFCxu6fnMtats8oHu47AKr/mnvLvFYfwTjz7DhT7ZpU4YlHrmXbA4Y6pY4RQaWV17U6QviiWJFP5yWvA2TGAp3Lvv9TO2ZSz/jS7m0RVpI6fVn0DacOaK2VPLEed1KCJhOw7zqBn3nWdf8SCK44pdUxbgOip40I8bhtyE5RfAm6W7NKR8IBMW2SG0mYqthz8QnApZBnJ3jq7DJaw==
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=EmkhyCtEOEhLBaybFLIZ4HYsv7SNKTd41UY4xdvR9Jg=;
 b=fLwdcxYmqp3qDi3IEm5Pmojc8NptgBLaj4e3vzJCyZtwkekt0hkj/KRQTCbdFzVHq9HCYSoL/OMXAJ4Qcy30JHvR3yZgUTemEXxWVKjAwxwdsijjwOsOkbn6/3/GlqCPvxYXW2jC3L9GFbDLw4FOMPRQJAqwEih4r5AC5OpB6s4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"jens.wiklander@linaro.org" <jens.wiklander@linaro.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v4 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Topic: [PATCH v4 5/5] xen/arm: ffa: Enable VM to VM without firmware
Thread-Index: AQHbnMQpJ/OSxu9MyEmYd5oQRaZ927OGF78AgACVfQA=
Date: Thu, 27 Mar 2025 08:37:01 +0000
Message-ID: <8742853A-E32D-4BA5-AA4D-C69A2FCAEE85@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <0f5cf498c3c511ed192e8b7b7d0f4987e00e5c0d.1742824138.git.bertrand.marquis@arm.com>
 <6727ece4-d589-4ab4-9172-07dd6a7f2b44@xen.org>
In-Reply-To: <6727ece4-d589-4ab4-9172-07dd6a7f2b44@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS2PR08MB9975:EE_|AMS0EPF000001AE:EE_|VI1PR08MB10076:EE_
X-MS-Office365-Filtering-Correlation-Id: adcfeac2-e8c6-46ae-ec4d-08dd6d0a90ae
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?HAnEJwrqdRmN/gP84qJLuidvhaKbQ7jFDhZSFsgioaXPUKy1KqSGlvp7TalY?=
 =?us-ascii?Q?tqY1IF1G4nsvnizlKroaNINiMnxwg86hLNXMzMlPca6HrXuj/er86NIurlrp?=
 =?us-ascii?Q?5mQNaCOHcw3TMf+jQlWN+sumpjb27jcUd8+oiF2G1iuXwEipU9pGGSSbKxzO?=
 =?us-ascii?Q?XK1iYR2/McoVslWV0Kf/OG8ZzRuWNP6+JoE1WxMv9NuCCL3z82b0Xfyd9LV5?=
 =?us-ascii?Q?j80CHeXgkUi7C+Ry7BPMTo3XW9brX8BaDtuuqpqg4VNLusvB09DbEmCHKg7x?=
 =?us-ascii?Q?UFrEze9WJsL+kMu6QZk3XGKogQchZe3ChSVXBw1h4L1Bd51IFJtSqrX0JsTm?=
 =?us-ascii?Q?tSIfxtwsQ/eOS7LBln8wtdru9yMmApEVY+bnEjxr47Hgd2jJ6uxbW6G2LirY?=
 =?us-ascii?Q?Q35t02XDmyduELd3sqqYT6ZUnAuI3Fa+TDsTDfnHTtYPSosn8z7hp7QSk/hh?=
 =?us-ascii?Q?WrmK1ctwrCV0Junx5qa/CMs5q47rQQ1iRWy0TpR/S7TPzfHDh/mvu6O3Ad2T?=
 =?us-ascii?Q?T477nEup9TJ9TzK22oo3H+ilO+QcQP7b07XA88ou+fUU9YUVA9MwTNLpxKPB?=
 =?us-ascii?Q?q7pqqpe1kFMHdYqQdOlaxgu8zvShit22JzFhKdoMW46TMkbyKVaNhs2KKckO?=
 =?us-ascii?Q?7CTemx3evpeAY8tPabeZ+J3sU9Pwv60u6EEehEggCERqraBptdR09lZM8ctb?=
 =?us-ascii?Q?Is/Jl4LfsUfTNMB6mvGAv+2w1OocL7wFz8FcSch5WrQYAf2GzhTxvigHv7DR?=
 =?us-ascii?Q?VlatZLLFtdYIuuPrwtSGzeMbXGHyFsovbeesV1yrjup3tXM0YthoLGdDEnYq?=
 =?us-ascii?Q?yfjRZU1CoQUj1J17MLYKfhE0Qqwooqg1IWdhA0oH9jgzNbREnfVI51wYyvEo?=
 =?us-ascii?Q?x8xlgo0ip6CY7JS37p2unJ3vqRsEj2Tq9tipmWSDdrMKBW7zdgA2aapatFc3?=
 =?us-ascii?Q?SAw1p+90Rk8N+7ijbDOfwrxGrH022m6Yj8coup6/nUZEC4XJCSwXORqHWGDm?=
 =?us-ascii?Q?tsgUgDlPI96lTQdQ1bwAV06DXM6WbE25mkpgicdc1oyS7jdFE2+xOwEKQJCT?=
 =?us-ascii?Q?m5Ye8T7TFEsPcLLdE+ECE4sFiPVaRZLU9LsNuxpKY5+b8XYn37ezeApuXGwg?=
 =?us-ascii?Q?fGiZXnl5mKCFuz4VaGn52YVwTH/cnoVpvXPwSrnZjVMDzyp9iA/sgmMYJkTI?=
 =?us-ascii?Q?Axdp4IhwXNGSSOcdVsCrm4LRKMZqVPHQ/2CWFyTzFbX/vmi0F/XbeH4Il+X5?=
 =?us-ascii?Q?l9pjYpDj6x11iHEBAr/gzrC6+rbINSdUWu6dhmh8/ArHFWmy7nq9ltDA3rUH?=
 =?us-ascii?Q?cd0lCMRHu+wguULV9rQRwO9ElSxuDYdMkfI6MndklGTiONTHBeFcfErolC1w?=
 =?us-ascii?Q?kbGP0Y/n9HaSU92YnF690caOlfzzrb0Kxyptb/LYMb/pFnWs3aK7VS9SwSvi?=
 =?us-ascii?Q?BGtrwqP8k/LUbjfZ6q0ZKlWOrC36J0iY?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9F007AD0F61C3746914F475CEDCCCE2E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9975
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001AE.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	876f0d17-22e6-410f-f01d-08dd6d0a8b7d
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|1800799024|36860700013|376014|14060799003|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?dJpciHAmvkg8WN9Ca4jNs3aq36hsy5OTO5ZC/8JJr/+XgCGsSksK/XauZqgR?=
 =?us-ascii?Q?vuUYq2CvbRdfTq2lWK4QfeywEGclNQayORmypwy3yokRPF3eWYvphKhMNdIE?=
 =?us-ascii?Q?BO4E1Yca2W2MDiUfXeDI4U/F0VFT6DmM5X284fXAd/KHM1mRaz/ULSLZwWH6?=
 =?us-ascii?Q?1T5KBy+L2SR6SLOGulTadddRuFtrXtwwPNY+sNc4yrL5RONSbBHjA04+gJ1E?=
 =?us-ascii?Q?fSoOM0UXJNHxTEI1lj+NDxxpVSG42iqDxwNE2Y4O+JVzSaWvSkV1iLzn/iY/?=
 =?us-ascii?Q?pNf5hOQaaB9LrJqN+mQBSvRcbpsyg4dkQypIMkCOFxPEC1qF8eDOPUQkxWUK?=
 =?us-ascii?Q?TOEMTTGpHcw9c3OtjJYAKNTlDhG2A3nMfTzwhNQ45W8PFpsYQLQICxxlGNlH?=
 =?us-ascii?Q?pleLnKpBqbcg/8m97KqoW6Gy4QIbU2LFO3IlaSp4w4MtJg0rOLoOFngsk5dv?=
 =?us-ascii?Q?ZWL4UUYT6c3+K0tgbCf57lDwBIhnZLpnxKh7skkXuZRiXAQKaVDWYqsyjNJD?=
 =?us-ascii?Q?ODLM8bG1Fel9xTVOvJCzOCSJW0IBAurl8CU9lr/Rck8V+owo/HYTQNtCVAvY?=
 =?us-ascii?Q?9qwyR686L99W0kpmZNNFicUE26hFUeVYDbtlvrI9FTB+y8Aqzm0bWYmkPmiY?=
 =?us-ascii?Q?G6rZ1P6Dazkly0D87JDoQg7gmAv6ovPE9K3Dme2IMKtyIKO9yDVHE367+TL4?=
 =?us-ascii?Q?G7r0fjvkZbPvuSFnSjdsLZYXWkNWeoRDjhzAIWt5mxnO57vmcOvFKCb3/sid?=
 =?us-ascii?Q?3JmWT94KSEkLxE17IVOtc5fQIIvJPbGVl6ubD2+KxDkc2ZIy+F7yifKCx4bW?=
 =?us-ascii?Q?S0yMn+RSPb8mvGrpLBjraq5oW/6iGuGKBypi+Si++DIoKjNMDsf0yKR8Pjre?=
 =?us-ascii?Q?tcjKeXrOop+93NkS+l4jhMBaAdstoLQXlUsJ5mOjBnBPKMHvw0DMJAqB5HXn?=
 =?us-ascii?Q?1OhjxsuJDKbym/bJ1R0zGLlTxkabKOYT6SwkgammQfyH2w9Kod2PkdbCNGcm?=
 =?us-ascii?Q?WOYqrkyBM/l9Tov/AEICKLSIthIwkZ5MutpoETiLD2bmryb4JPxKN1TLM1OE?=
 =?us-ascii?Q?5eaPhshz36T4soSd4PDCk2irl1kEmdQOoRsCsaaxz+65589V8hPDTRdXdtPS?=
 =?us-ascii?Q?OuXegcnaFvKYdYJ2lVuIl7pg2t45pRQdnKyCccmsAgFRpZMVKeta4MMabDUU?=
 =?us-ascii?Q?Zv+znH9c0pQUkjmRddlQieUzm3EENImGAUb94j/lpAU81iaWPQsKQonaDhqS?=
 =?us-ascii?Q?U61qYz3YkYBgci1VSsnolf4SLo0A8VITJNn5suhKFb//QATBgUkLvwZvYYK+?=
 =?us-ascii?Q?gIvyNyVjc07WDH6WKgxPvGI5zUskZm0z19AUHP/XeteOOZXdHqRl9QOB80lv?=
 =?us-ascii?Q?f6iAE3L3RiHPT6KjUTIk0CJ4iQssa6Oz2JDGYktPmic56+p5Zl2l3Cnnc1Nu?=
 =?us-ascii?Q?wd/mPMeFaRTML2BWkJDsIj1I+9YR1uaVfvDgYpwfMrUCXkv65DHFdeTPkwxG?=
 =?us-ascii?Q?43DwxourituZMF8=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(35042699022)(1800799024)(36860700013)(376014)(14060799003)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2025 08:37:10.0024
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: adcfeac2-e8c6-46ae-ec4d-08dd6d0a90ae
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001AE.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10076

Hi Julien,

> On 27 Mar 2025, at 00:41, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 24/03/2025 13:53, Bertrand Marquis wrote:
>> When VM to VM support is activated and there is no suitable FF-A support
>> in the firmware, enable FF-A support for VMs to allow using it for VM to
>> VM communications.
>=20
> tee/ and the callbacks associated are meant to be used for mediatiors. My=
 current interpretation ist this is only meant to interpose between a guest=
 and physical resources. Here you are extending the meaning to "virtual TEE=
". I am sort of ok with that but ...

I see what you mean but FF-A will not only be used to communicate with TEE =
(even if the primary use case right now is this one, including have it in a=
 VM instead of the secure world).

>=20
>> If there is OP-TEE running in the secure world and using the non FF-A
>> communication system, having CONFIG_FFA_VM_TO_VM could be non functional
>> (if optee is probed first) or OP-TEE could be non functional (if FF-A is
>> probed first) so it is not recommended to activate the configuration
>> option for such systems.
>=20
> ... this part is concerning me. You should be able to build with CONFIG_F=
FA_VM_TO_VM and still boot when OP-TEE is present on the system. This is no=
t too critical now as this is tech preview but this is definitely a blocker=
 for making FFA supported. Can this be mentioned at the top of the ffa.c fi=
le (which already contains existing blocker)?

OP-TEE supports FF-A and in fact should be switched to using it by default =
as it allows it to run in parallel of other TEEs in the secure world or hav=
e FF-A compliant SPs running on top of OP-TEE.
More and more you will see FF-A popping up as a recommended (or required) p=
art of the firmware features.

So the only reason to use OP-TEE without FF-A is if you have an old OP-TEE =
in which case your firmware will not support FF-A and using it between VMs =
is probably not required.

>=20
> Also, given this would expose a fully virtual TEE, we should be able to h=
ave a system where you have some VMs talking FFA and some using the physica=
l OPTEE (or another TEE). Whether we want to support it is a different ques=
tion but this design would prevent it. Is this intended?

Right now i would say this is definitely not something we need as part of t=
he tech preview as anybody using this feature in Xen would use an OP-TEE wi=
th FF-A support.
But from Xen point of view, we should (if we can) support running on old sy=
stems with an existing OP-TEE but still use FF-A between VMs.
This has some consequences on how the tee mediator and FF-A support is desi=
gned and I will definitely give it some thoughts (primary idea would be to =
decouple FF-A with secure as mediator to FF-A between VMs somehow).

For the review side of things, am I right to understand from your comments =
that this ok for now as tech-preview ?

Cheers
Bertrand


>=20
> Cheers,
>=20
> --=20
> Julien Grall
>=20



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:37:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:37:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928679.1331360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txijv-0006Wm-FR; Thu, 27 Mar 2025 08:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928679.1331360; Thu, 27 Mar 2025 08: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 1txijv-0006Wf-C8; Thu, 27 Mar 2025 08:37:27 +0000
Received: by outflank-mailman (input) for mailman id 928679;
 Thu, 27 Mar 2025 08: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=yWE1=WO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1txijt-0006VH-5Z
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:37:25 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2608::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4b5ca8d-0ae6-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 09:37:24 +0100 (CET)
Received: from AM6P192CA0106.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::47)
 by DB9PR08MB6523.eurprd08.prod.outlook.com (2603:10a6:10:256::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 08:37:19 +0000
Received: from AMS1EPF0000004C.eurprd04.prod.outlook.com
 (2603:10a6:209:8d:cafe::80) by AM6P192CA0106.outlook.office365.com
 (2603:10a6:209:8d::47) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.44 via Frontend Transport; Thu,
 27 Mar 2025 08:37:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF0000004C.mail.protection.outlook.com (10.167.16.137) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 27 Mar 2025 08:37:17 +0000
Received: ("Tessian outbound 9438376ed1d3:v604");
 Thu, 27 Mar 2025 08:37:16 +0000
Received: from Lc40efc3c96a8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8231CFA6-F90A-4401-B875-1A0276B6A03F.1; 
 Thu, 27 Mar 2025 07:37:37 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lc40efc3c96a8.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 27 Mar 2025 07:37:37 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DB9PR08MB6537.eurprd08.prod.outlook.com (2603:10a6:10:250::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 07:37:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 07:37: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: b4b5ca8d-0ae6-11f0-9ea3-5ba50f476ded
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=ofElv2620GUfTNdnKP8stqPRw+CjJLw0/YbjCLjzq+WrNtMtGYBmrYnsR3R7fkFETqcnXWcRI4AUE1jGZNVh3Vty+/AugrVU799vjAQ0oldPsoYN+ySlB2S4BYagdiGDOB7atCayINiqAlOp8RC6Jt9n5Mp1XdWg0iYAlvAJt09O29s1xubaZJ/k4QKfaGpfKDEHKTx6tOLd0k3NvHO8u4r3fo4vOwqavzNXyUa9YOhQZdC/eQ6vNe9cF5BjHW5gmbfjsSdmrizU27MdcqeYOJdf1AoNNNE/igY4c5Fhazip/U43iXtV6jWdDWWfIJbIfxczpUZXcthg4w/QuXkpRw==
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=VkyD2JXru2Xhnvj+qDTrrFneFhQPrL5ZrbVGl1voIVU=;
 b=n3sdQo6sigxfii2HUGJT52Rj3P/xK8Lfj7pSJJLZfrCJ89bnqxKtsHldGsYLUELnbCaj50gS6bkJGwMi/OewEBJ7VO3j+xBY90EhHA9Z3w4qeWlTIxOEgQ6KxwarRWaPclS1pUhr1awsNY5EtOtjR+PcWo5dlF29d5OhdImFslAQApmopqQlK/nyNddnK/m95jEw4rDnx1gAd6IVMW0Sz88yg405nd4GVobKk6hnbgxDCPQKkajGhI4IXLcUx+WZSupOYeb0+ln5n/rjmkH+IOpgk1wQXWoXtqQD5dV5MMy2jKswWlfeMv4XRsRxxVHZeRJrOtGZb28350aayyRKBg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=VkyD2JXru2Xhnvj+qDTrrFneFhQPrL5ZrbVGl1voIVU=;
 b=UgW3CN8T6Ds6XMYaPS3Ps1bC4KUJau07dhWC34sauu5tJhhZn3Ux2tQBw0NnVUQhzTIL/cOXFmNEhaBuOFmPez2ReE0bXcHRIAMcQtk8EfXxi69X6qXFJJ/RdlBskRjgpU8pTfJtwnqKCkxqPnfqWZ7S/CrOOLSUaLGOAVp7MTQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 69309f74a353c43e
X-TessianGatewayMetadata: 8j/yuIeBSR5P2MfeE39hzyzllNtaT69TlwIXZjUQRnsB1JAjJm73WKkxE7GIjq+yrGeelQ6VVTw56M3Ep2dzaDkFKvCdPhMsqkS4jSbksJ3oK2qt77dHLYrCRLJJJMTa2REs+pv8+fEUt9qREtKT7des3+73UA+C8Wh7VTjSDg4=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mFjn+lUqfpt5sFh+DBV+MSD0O2vCU2wAGPlpYuzTN3Qtr2uyqklCFz3dQ9uQQqcGZCyyJ0lSKHdkU2v72qqx4i6DImyDsazhMNY1JJRqSgxAGzW0vsj4x609AcjC/B9OKKqiLPi6nhRAYYkHKWPbo5BnQyz1oluSxbuVXLYhkoKRDKUmJCt9vNYEtEU7JYfHBH4lJrv/COr13aJ67g3TX6B7XIsUv8Lt+qApOx2A+faRfnYBCZXvVpeMRdc+4zPWwzOyS3NcMj0vRiBL65NX5FHkg5gf3eD6lTBNoR9OuPybusuk0SKIlMGS8BIoNHq8SDJrNcdcnFuYv25Ja0j5gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VkyD2JXru2Xhnvj+qDTrrFneFhQPrL5ZrbVGl1voIVU=;
 b=N4xXFv2xrWCycX+loS5EsdHDeACyboxW1mM15koU7YObAp331dClU0s7cIad0SsfeuSTBhh1lhSukjeTxHXleSrJDwexOpVyM72+mF5arUOTC8hBOnFC9YKSHbKQ9lX+kpTL49sIQmVl/2uQN24Ee2iNYZ4HUgKmIeguE2sjxIOBvyYrNQDdk08dpdQtzErvlJgeW6C65S5S0pU/q+ILksU/Qasfq4/3sBIEoiTJu7MnLqh0VTmQS7BBJM3iUmKJErDwwCX4q/iWlUDBvy5wcZ4aN/seuEt1NgmJSkzDsbB0rg7pVNwORqBy87hnsslX2gbv3f4otRIsiBxTBwusOg==
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=VkyD2JXru2Xhnvj+qDTrrFneFhQPrL5ZrbVGl1voIVU=;
 b=UgW3CN8T6Ds6XMYaPS3Ps1bC4KUJau07dhWC34sauu5tJhhZn3Ux2tQBw0NnVUQhzTIL/cOXFmNEhaBuOFmPez2ReE0bXcHRIAMcQtk8EfXxi69X6qXFJJ/RdlBskRjgpU8pTfJtwnqKCkxqPnfqWZ7S/CrOOLSUaLGOAVp7MTQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"jens.wiklander@linaro.org" <jens.wiklander@linaro.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: Re: [PATCH v4 1/5] xen/arm: Create tee command line parameter
Thread-Topic: [PATCH v4 1/5] xen/arm: Create tee command line parameter
Thread-Index: AQHbnMQmQgteIfltyEaLKiSPxnHrbrOGCSIAgACTgIA=
Date: Thu, 27 Mar 2025 07:37:35 +0000
Message-ID: <CC7C3E7D-5F07-4567-92BA-BC84A3F395FC@arm.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <a22e5375df48d16cb4c0b3d80dde8593522b3ddd.1742824138.git.bertrand.marquis@arm.com>
 <4dc98a8b-ea82-41a7-9a10-1184208884fc@xen.org>
In-Reply-To: <4dc98a8b-ea82-41a7-9a10-1184208884fc@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DB9PR08MB6537:EE_|AMS1EPF0000004C:EE_|DB9PR08MB6523:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b344f2e-90de-44c0-328e-08dd6d0a9509
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|7416014|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?iso-8859-1?Q?ugNS16GMlgZL1u0A94hJiMuQNbk95RWhKd0kCPcfI7+X0KYVDeAditvIz0?=
 =?iso-8859-1?Q?a7e7Mx1Ih1+gIJFoZCD9sHNZwheDl2xt0GfAtNTf1aCZj7oUs93a39Ypzz?=
 =?iso-8859-1?Q?Nk1MlMdPuQpQsqiSKs9VmDPPRDh0O4ZQOp8S0kOoFn505dlNJwBAlTRdq2?=
 =?iso-8859-1?Q?LcW2KFqxtPSmJG3g9n0KacBNBNn685l6b/aMqoClndw6MumZuxeCVvC8BR?=
 =?iso-8859-1?Q?hz6f1a6/xI5TXyjbbnFjLpyfhnco29XbNmqyUWlridx8af5sq9r9XzQqCr?=
 =?iso-8859-1?Q?3LLAQ8SQEFxIHRUtvjkunIoFAm0HkkD1KfiVxnTHNJNjZa3boJdWSTbOpb?=
 =?iso-8859-1?Q?nYeMtZsXXY3w8tfHbpKf+wnN50C8y8tNKBWR8m6S7SxTqS0DvNkNtAIMAl?=
 =?iso-8859-1?Q?j4MQTHVZ5+BnT+b2KGrGSdei6tbkGhfW9fhMwZinyddgK6XU+CSou5mf3w?=
 =?iso-8859-1?Q?yGpYanjLKwyvgCo4+dHO1rTk64l/P6X221KE1uZguXBo8rBtcal6WyhPCX?=
 =?iso-8859-1?Q?Qgf0RlG2a6IZE9kQtkwPrFtc7WSxvNMJRVjR5H9jYPTaHITsfXvxs+eJzy?=
 =?iso-8859-1?Q?NlXZGJIA1dPgWa3pNH+crfzz0//uBEBbS1UrEKt6TowbysqruNt1xITLb/?=
 =?iso-8859-1?Q?OCam5QK4Ia6dTuq4jX6mkOLG92/82SGquAY/kSFl5M8iixaGUfVVBjA+uS?=
 =?iso-8859-1?Q?yrC6v4DVY3zrCJ8lBoOf08Plr7U7AVL2jYa13KVeRqB6bsmWuHXzKURPob?=
 =?iso-8859-1?Q?LkMiNqMKVbKdY2LgsaViDceYkvVDlIjT7u7Z05grlTorXiUx6s0oJ5Pahy?=
 =?iso-8859-1?Q?mjWxeU2bnVMqYh/nsYL5HVuvR5zY9Wb41QK3fE2c6eJGbCV75645TowOkB?=
 =?iso-8859-1?Q?B38daYnFj14c4ND54+2Lh689cy4GsiGRxtS+arkElncbfYO9OWCAL1fI1t?=
 =?iso-8859-1?Q?xI+lHNUoMLz71874dLopMbbirz+bSg9oR2SlH6dVzQAYL/twWx0viCMJUm?=
 =?iso-8859-1?Q?nvwKUOe581rit8fSMa21E8iKnNLAymaPo1dL7ealURiN/lZ08XRttSZzEb?=
 =?iso-8859-1?Q?1XlVDoyo7eG/DXKDOnZxCHC8hX0+bqoTBcfCk3e8DrvAfFn9Y8QDBJv9nk?=
 =?iso-8859-1?Q?YOMGYI0RLfeyQ36aSOr8rEi/BaAUZkjHjMv4RkcKV9PNBEPqVBsj4Zc27C?=
 =?iso-8859-1?Q?61oyLQpUjfyTeDUoYwZxvVNuKZ6NwWk7fdWR2wn7NkSdkywRmWNl8D5oVf?=
 =?iso-8859-1?Q?55TVkHWXY9LW15Oe3R7HjTIO7Jl8M9lMcWpGcaz8+wd9kJ2J3cnVNvMsHr?=
 =?iso-8859-1?Q?FdkFcqUXfyon1rlGMbmgpy5XqhzlBs/sEa11PMC/YdK+a3YNnRwbiolyKS?=
 =?iso-8859-1?Q?d0WNTmEgiS5NKHAcFbnZBwus/aGtOwPDhmtew3G+6A/V6FKy89e6vhlHKX?=
 =?iso-8859-1?Q?q6IduVyMz3qyz7B4Jff7XwgCRlXPVm+6QJVNAqwb6NAb+SqaQPtmBkaL6H?=
 =?iso-8859-1?Q?29j1Ps/S1ZjctEmCDB8zsn?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <5F143D0EDA76E042843320DF76F25AF1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6537
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF0000004C.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	16d40701-a651-4485-8db4-08dd6d023e43
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|14060799003|376014|35042699022|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?iso-8859-1?Q?C89lQkQQKAzhJlMex25IW28Q4HVaLeaPtO8FYYrLyWLga5q26xaw3oXtEJ?=
 =?iso-8859-1?Q?lkf66PiTiyLE4aNjvpARNiy4njMoCJtNFshCuJwAvLKlZO3tLzkfKWatFw?=
 =?iso-8859-1?Q?uktg3CQQbrJs6oaX6Sl0gYHLr3xRUA/6RdldLIFMqyup2DUKzHi4BgTvKd?=
 =?iso-8859-1?Q?UrwwmXVqZEEe3adUsG0dUHt1A7fKTodnPPSMvyH4W2TgSfCulqpraqmj7z?=
 =?iso-8859-1?Q?3svV0IRCFtJUVYttzAe0y6sZwSZtCMcVwxy9IecuihBXuADKzQKbtB2Ee0?=
 =?iso-8859-1?Q?hHjqlXKvgV+9ammMF1Qs+7NDZa7IVMg/KXoFPERovmFn5SLmHSn/y2wXrn?=
 =?iso-8859-1?Q?Ra0KUgkZyQ2RWC027SBFI0Oi/obrKoE22lMcP2OGpe9ofwB2GhTp6pYobf?=
 =?iso-8859-1?Q?L1m3zzlWAzccTbJiVJi7fUhCcLI36Cqs62ConpTuDHPv5cYNe3XoFfyhGc?=
 =?iso-8859-1?Q?yuIxsoua1UE3g/O1BcxP/62c01teKoUZvhgI6IcMXmugfyow/uIuZFHuaD?=
 =?iso-8859-1?Q?+RFc9ql3WsQxxMl9yTTpduvW49/Zf0PQXiFwTK0lZSdC1nSKn0HoHbDvc6?=
 =?iso-8859-1?Q?h8ZzEBSfXNCaRqE6ISZANoyP67LWFF+mLTZdTKcgL4laogOj+Io8cFn5M/?=
 =?iso-8859-1?Q?pDFWYmxBpeXruF3dt4fy3xbBg2mGI4LSudzXWl6g/l4KyhvTMnDVGaj+OO?=
 =?iso-8859-1?Q?sl952pBKOKScFixhkVi85l5hS0IKuqyQrlTJ+Lbhd1YdZaS6Mor6yGTbHy?=
 =?iso-8859-1?Q?v4AlF2N4cHhG0M+lOMlbVdOf+7wfVGLPUvoe87Qy7Q6CrV/TrSKLnURPXM?=
 =?iso-8859-1?Q?HAxKq1ACRvTutwd/eCADYcK3MW+2PIuSqgg/Rqy79CtjsmaPtmvSrFyAGd?=
 =?iso-8859-1?Q?rb8Epcusa1iX8j4Podqq3vHqjXIPnecfKDdtxiXbOz0gyVIq5L5n6XL9YZ?=
 =?iso-8859-1?Q?EEGnamtQYJ+b7pEj646UK009K7zgfY5fKkNlm5jytyIaC1wSZcQJt0sD7z?=
 =?iso-8859-1?Q?OxqbYcCI0aC9QGSSTtqtVJFPE2BYhUz/x0nXJQaxYOUWhC/k9SBgk+gu1K?=
 =?iso-8859-1?Q?lFRmRWNhHnC1LY/badTQ+QpiyAbYZAgeC+2RxAF9QHB25jrk4cXXdVwdr+?=
 =?iso-8859-1?Q?WiuWzGb8KeLIiMTrF93x19Hok4vPKKLalsJWPmL+U02fZBfkipkJhYMH/b?=
 =?iso-8859-1?Q?ENCzabX211Pru9hx2RZQiOHb6YZe318vaA2CRr7c/1x8Z4UX4UDdRPQmGo?=
 =?iso-8859-1?Q?Wp75wf4YUEnKbDHJT+E2zTPSz+QNlHjmvD8sZiwXTRPewN3whYLu5HkiYg?=
 =?iso-8859-1?Q?RJiM7AmRkaeyhvV5l3coV2qwBuQwQbjY5yCzfWzUGkPoEMGpJpAGb/A/Ru?=
 =?iso-8859-1?Q?0up+E7HtLH2wBfbIQuYAGp1XTyVuey6BuCH21OeH6rgdP0dZVp7xxVutyx?=
 =?iso-8859-1?Q?SNeA3HIawfwiMP1fJqai7bfY+UMgMCu5Dv81CCwAYMyIsSiDWVHRfu+DUx?=
 =?iso-8859-1?Q?R5omf8HxAQsnq+M9L9F1IMPZitlgQBxfDDOeOKoWqYa44fMOSSJtujcyjx?=
 =?iso-8859-1?Q?aLHjEq0cTjIHSpZtqTtZ7hsJl86E?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(14060799003)(376014)(35042699022)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2025 08:37:17.3361
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b344f2e-90de-44c0-328e-08dd6d0a9509
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF0000004C.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6523

Hi Julien,

> On 26 Mar 2025, at 23:49, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 24/03/2025 13:52, Bertrand Marquis wrote:
>> Add a new command line parameter "tee=3D" to be used to explicitly selec=
t
>> what tee mediator is to be used by Xen and fail if it does not exist
>> or the probe function for it failed.
>> Without specifying which tee is to be used, Xen will use the first one
>> for which the probe function succeeds which depends on the order of the
>> mediator list which depends on the compiler.
>> Using the command line argument, it is now possible to explicit request
>> a specific TEE mediator and panic on boot if it is not available.
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>> Changes in v4:
>> - None
>> Changes in v3:
>> - Properly classify tee as arm specific (Jan)
>> Changes in v2:
>> - Patch introduced to add a command line selection of the TEE
>> ---
>>  docs/misc/xen-command-line.pandoc  | 14 ++++++++++++++
>>  xen/arch/arm/include/asm/tee/tee.h |  4 ++++
>>  xen/arch/arm/tee/tee.c             | 31 ++++++++++++++++++++++++++++++
>>  3 files changed, 49 insertions(+)
>> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-l=
ine.pandoc
>> index 89db6e83be66..0c2ff542a138 100644
>> --- a/docs/misc/xen-command-line.pandoc
>> +++ b/docs/misc/xen-command-line.pandoc
>> @@ -2651,6 +2651,20 @@ Specify the per-cpu trace buffer size in pages.
>>    Flag to enable TSC deadline as the APIC timer mode.
>>  +### tee (arm)
>> +> `=3D <string>`
>> +
>> +Specify the TEE mediator to be probed and use.
>> +
>> +The default behaviour is to probe all supported TEEs supported by Xen a=
nd use
>=20
>=20
> typo: I think there is one too many "supported". Maybe keep the one after=
 TEEs?

ack

>=20
>> +the first one successfully probed. When this parameter is passed, Xen w=
ill
>> +probe only the TEE mediator passed as argument and boot will fail if th=
is
>> +mediator is not properly probed or if the requested TEE is not supporte=
d by
>> +Xen.
>> +
>> +This parameter can be set to `optee` of `ffa` if the corresponding medi=
ators
>=20
> typo: s/of/or/

ack

>=20
>> +are compiled in.
>> +
>>  ### tevt_mask
>>  > `=3D <integer>`
>>  diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/=
asm/tee/tee.h
>> index 0169fd746bcd..15d664e28dce 100644
>> --- a/xen/arch/arm/include/asm/tee/tee.h
>> +++ b/xen/arch/arm/include/asm/tee/tee.h
>> @@ -55,6 +55,9 @@ struct tee_mediator_desc {
>>      /* Printable name of the TEE. */
>>      const char *name;
>>  +    /* Command line name of the TEE (to be used with tee=3D cmdline op=
tion) */
>> +    const char *cmdline_name;
>> +
>>      /* Mediator callbacks as described above. */
>>      const struct tee_mediator_ops *ops;
>>  @@ -77,6 +80,7 @@ void tee_free_domain_ctx(struct domain *d);
>>  static const struct tee_mediator_desc __tee_desc_##_name __used     \
>>  __section(".teemediator.info") =3D {                                  \
>>      .name =3D _namestr,                                               \
>> +    .cmdline_name =3D #_name,                                         \
>>      .ops =3D _ops,                                                    \
>>      .tee_type =3D _type                                               \
>>  }
>> diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
>> index 3f65e45a7892..066b5ba40f9d 100644
>> --- a/xen/arch/arm/tee/tee.c
>> +++ b/xen/arch/arm/tee/tee.c
>> @@ -19,12 +19,17 @@
>>  #include <xen/errno.h>
>>  #include <xen/init.h>
>>  #include <xen/types.h>
>> +#include <xen/param.h>
>=20
> Coding style: The includes are order. So this wants to be moved before xe=
n/types.h

ack

>=20
>>    #include <asm/tee/tee.h>
>>    extern const struct tee_mediator_desc _steemediator[], _eteemediator[=
];
>>  static const struct tee_mediator_desc __read_mostly *cur_mediator;
>>  +/* Select the TEE mediator using a name on command line. */
>> +static char __initdata opt_mediator[16] =3D "";
>> +string_param("tee", opt_mediator);
>> +
>>  /*
>>   * TODO: Add function to alter Dom0 DTB, so we can properly describe
>>   * present TEE.
>> @@ -81,14 +86,40 @@ static int __init tee_init(void)
>>  {
>>      const struct tee_mediator_desc *desc;
>>  +    if ( strcmp(opt_mediator, "") )
>=20
> You are using 'strcmp(opt_mediator, "")' several time in the code. This s=
hould never changed, so can we introduce a boolean within the function to i=
ndicate whether opt_mediator is set?

Very good point, I will do that.

>=20
>> +        printk(XENLOG_INFO "TEE Mediator %s selected from command line\=
n",
>> +               opt_mediator);
>> +
>> +    /*
>> +     * When a specific TEE is selected using the 'tee=3D' command line
>> +     * argument, we panic if the probe fails or if the requested TEE is=
 not
>> +     * supported.
>> +     */
>>      for ( desc =3D _steemediator; desc !=3D _eteemediator; desc++ )
>>      {
>> +        if ( strcmp(opt_mediator, "") &&
>> +             strncmp(opt_mediator, desc->cmdline_name, sizeof(opt_media=
tor)) )
> > +            continue;> +
>>          if ( desc->ops->probe() )
>>          {
>>              printk(XENLOG_INFO "Using TEE mediator for %s\n", desc->nam=
e);
>>              cur_mediator =3D desc;
>>              return 0;
>>          }
>> +        else if ( strcmp(opt_mediator, "") )
>> +        {
>> +            panic("TEE mediator %s from command line probe failed\n",
>> +                  opt_mediator);
>> +            return -EFAULT;
>> +        }
>> +    }
>> +
>> +    if ( strcmp(opt_mediator, "") )
>> +    {
>> +        panic("TEE Mediator %s from command line not supported\n",
>> +              opt_mediator);
>> +        return -EINVAL;
>>      }
>>        return 0;

Thanks a lot for the review.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:37:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:37:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928680.1331370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txik0-0006oW-Mq; Thu, 27 Mar 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 928680.1331370; Thu, 27 Mar 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 1txik0-0006oL-JW; Thu, 27 Mar 2025 08:37:32 +0000
Received: by outflank-mailman (input) for mailman id 928680;
 Thu, 27 Mar 2025 08:37: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=rYrR=WO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1txijz-0006Fq-9B
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:37:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5eb39b7-0ae6-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:37:26 +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 4BF194EF54CA;
 Thu, 27 Mar 2025 09:37:25 +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: b5eb39b7-0ae6-11f0-9ffa-bf95429c2676
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=1743064645;
	b=xX0e6cU5iHCVe549dhhsBjDsnow4Oq5L8hxSug8dbBEjr5nLZ+k5dgF5pZ13FZsQBEwR
	 pXyl7TkN4QJMgGMiIOytZiu1UcLawJuEAl1w3umxzr3WyENYapQ0JVS/kzpLjiOh4KI81
	 fOkR9lIhyPomLjAXaDLngXJCL1WiGyRDOblTpR4MDyzzRGIN7cMhPQxv49kNqkDok4bvZ
	 2rRGl/1kml/4N1qnsEU/g8FKJ3Gh/d1RneC8jICKbxBdpKFWu4F4M/0DyCPn0xmm248AK
	 cft9ehUQlmi2/oxU/Aap1Oosjjq3dQYrEe1pMVwHNYW3d1eAgdQ+Gp8eFZ86/ndCFfPyK
	 L89bdyV36cjzX3dOk3wgB7qlfwlc5hx3hYJP8S/3WV0tS02XNc1r8HIBUHgYayjHt6XQY
	 YCelrbBDdWuomzusD9k4ncQXrCbXPRPVhKLKQ57W84gnG6qISnqBL+KBHOf5rg28Xik2h
	 Eq1Bl5X7UT8m3pX9cl8zVdWSPDRxt++odChU2OhlDkq+TViT/mw7yf3krkrPFS4EUryY2
	 xoUbJA1FH3etFgmVszaszyid5qgUGPg4H0OYW8wKHIeiFAUOziHfGjARvdFicRUTnhC06
	 SG+SYQkOhAzWLDsf6n9Ny3MxSK8jtj+Z3egSowpK8S9/yXq10S9XVMu8+J64P4o=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1743064645;
	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=inc5xP4R66Z0jvrVKmQ1fBuY3sL4BE1qh+eqZzVwvug=;
	b=n25JP2ZAd5XrrkpNhTOVt/EJVq9a1iH0/Axohnv1c+gh/9VOsSTmdKz3Gm0hMMfLF0pb
	 tucEDnR7w6K341hzGa0daEKAWAnDNDQu4FsNWKrC8nTbtPo0qOGXT8Jl6q27ero4qtRzq
	 lbsBjHuvciLRCuBO0JXR+rw8e55jzD3YdChtcSvNGE/FbTR3nwGt1qCvSKYsYu5k1XfCr
	 c3Bf29KbSYtOJHsVKruIYMGqZ4EAGzYQ7vI1d63+7rTrNcRnaUKoqunfUwc9GWTWJdwOQ
	 AAukgk3rhI7Lmi9zxhmkRoFfJPQJYoxAc45w5UyBTzTo8qWy/CwU2JZOxKauNfGy1vX35
	 IfBPXW0iqcPkfFtIG904mRDopOyAF3fN++cBNX/X71A0pc+bNa/zFz9375X2VS9N2u7lq
	 ZgWNqGlRYlWkJCumva8AM2rEr2h/ParyJBQKRDYWP+n+q1NupKwn+UVQ2zfzQsSkR16ge
	 8KEL8BMT01v2lzRLyEHoMXgi/pF+VS3njvt3N+K36KYQcRYLR0Xe+zJxTcHmStjxNldAT
	 dPbmyJ6Q0HUsPf5jzdB+/kjZuSSIc/BD/8EvhYByoFXpgomkNDUWha0RzT3PY+WcwfGZ5
	 Xl/v2YTMPozWqd26NCcw7IHfWFbF/utPAiQqJxusTyVcolhs1cmzcpwYtWxlDc4=
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=1743064645; bh=sU0KbHl+7XnUBm5PotWRTYrWHg5o8Urag6YXeOh4w/g=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=pdye16lzHY0AN9Zb6bQvWdGDpCmgVvlLg36mKoh9S+lEU1vkMkKsZYbjQMxGMKoBV
	 cGnHOFJwRlQ6/6YOqJHssqQwli0xNYupPq59xmqreJV1OqDqA5zhxtl7LZ2+ZRLSFD
	 JUMqG0R+xuqiXD3lcR4BK5kFUFNzRRtkbn7ULLDJdKAtfJM5+Njvx7F1jsgJ8+rrR7
	 QWqZgYXCOeqUmpKpcTxY3RgoD71yugnkmeVWeu2Sd//NBWAmOlTwYKzjZIjl6f7rMD
	 HpjlD7QuyDbIDupth2E9vuByjCxzXVboTeo7+G3nawHcUkwqnqr6kyI2QyEB5IiG6I
	 FKZUegk6KaPxQ==
MIME-Version: 1.0
Date: Thu, 27 Mar 2025 09:37:25 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/3] xen: x86: irq: initialize irq desc in create_irq()
In-Reply-To: <84903e47-038c-46f5-862a-a0c9623c8125@suse.com>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
 <20250327004044.2014048-3-volodymyr_babchuk@epam.com>
 <84903e47-038c-46f5-862a-a0c9623c8125@suse.com>
Message-ID: <bab91924eb87a56260d62faee028d5af@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-03-27 09:03, Jan Beulich wrote:
> On 27.03.2025 01:40, Volodymyr Babchuk wrote:
>> While building xen with GCC 14.2.1 with "-fcondition-coverage" option,
>> the compiler produces a false positive warning:
>> 
>>   arch/x86/irq.c: In function âcreate_irqâ:
>>   arch/x86/irq.c:281:11: error: âdescâ may be used uninitialized 
>> [-Werror=maybe-uninitialized]
>>     281 |     ret = init_one_irq_desc(desc);
>>         |           ^~~~~~~~~~~~~~~~~~~~~~~
>>   arch/x86/irq.c:269:22: note: âdescâ was declared here
>>     269 |     struct irq_desc *desc;
>>         |                      ^~~~
>>   cc1: all warnings being treated as errors
>>   make[2]: *** [Rules.mk:252: arch/x86/irq.o] Error 1
>> 
>> While we have signed/unsigned comparison both in "for" loop and in
>> "if" statement, this still can't lead to use of uninitialized "desc",
>> as either loop will be executed at least once, or the function will
>> return early. So this is a clearly false positive warning. Anyways,
>> initialize "desc" with NULL to make GCC happy.
>> 
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> Hmm, this puts us in an interesting conflict, I think. Misra, aiui, 
> will ...
> 
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -265,7 +265,7 @@ void __init clear_irq_vector(int irq)
>>  int create_irq(nodeid_t node, bool grant_access)
>>  {
>>      int irq, ret;
>> -    struct irq_desc *desc;
>> +    struct irq_desc *desc = NULL;
> 
> ... consider such an assignment useless (and hence potentially 
> confusing)
> code. I'm curious what BugsEng folks are going to say here.
> 

It is quite odd to see this only in coverage builds, but the side 
effects of coverage options might trigger some of gcc's internal 
analyzer thresholds. Anyway, since there are no concerns about dead code 
(see 
https://gitlab.com/xen-project/xen/-/blob/staging/docs/misra/deviations.rst: 
R2.2, "There shall be no dead code", is globally deviated) and that this 
might actually be beneficial to remove some caution reports for R9.1 
("The value of an object with automatic storage duration shall not be 
read before it has been set") I think the overall effect is positive.

> Irrespective of that I think such a seemingly unnecessary initializer 
> wants
> to come with a justifying comment, e.g.
> 
>     struct irq_desc *desc = NULL /* gcc14 with -fcondition-coverage */;
> 
> here.
> 
> Finally, did you report this to upstream gcc? It's probably too late to
> fix in gcc15 (if still present), but it would be nice to have it fixed 
> in
> later versions (maybe including a late 14.x).
> 
> Jan

-- 
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 Mar 27 08:38:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:38:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928703.1331379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txil8-0007q2-0W; Thu, 27 Mar 2025 08:38:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928703.1331379; Thu, 27 Mar 2025 08:38: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 1txil7-0007pv-Tv; Thu, 27 Mar 2025 08:38:41 +0000
Received: by outflank-mailman (input) for mailman id 928703;
 Thu, 27 Mar 2025 08: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=S28+=WO=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1txil7-0007pl-9g
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:38:41 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20617.outbound.protection.outlook.com
 [2a01:111:f403:2409::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ded7fdb9-0ae6-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:38:35 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 DS0PR12MB7769.namprd12.prod.outlook.com (2603:10b6:8:138::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.44; Thu, 27 Mar 2025 08:38:32 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.045; Thu, 27 Mar 2025
 08:38: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: ded7fdb9-0ae6-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bSulkwmuRsmf3Y0pRE/mrLPA6483hY2bzpUngYc36oMRPQa3m/WrDy6LXxPsio1u66tFyfFVm4uG48e6Z9SW1Ln4idbLLq2DwLmAuBLELm3NM28P+tcfqXcrSqavSn4rjadbyKtxeR5loKKi6sq8QROQmPT6OMnEhhMBlPzLKm1uoQRUHwt8Cllh+WjegXkWIc4kBfi3v+p97kNnP7g/z6Of6cyhUglun+tSgXlvzOPD5f5ucm7o2SvMRirZhDqbha6IcY7rNsFBdrv3WHywj+PyVAxrRAOyechpLQAJ4fDVyTDOX0Ve4FCkthUaEX+EYcrFQDT7Fff42r7AQGoBBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2OjmTYNs557635oxZPdCs35UjNF0TopRJS8eUAOJ/vk=;
 b=lkBdsMMMYLgFgsYeK1+Kr2kBxEfCcwLRlGEeHlB24YTi/PU7H7iAlAebbilX1iznWAirr1ZpNcwd8WDmuotAQrV1Bd9MtnipMtidBFUe0kH6KGFNq0HaQQ7Tw4uMl2Hxbfdtu0nzvHwrzN7lEM1YqhzNhKyr3Mk7yFpQzdwt4xkIS7NCDeDZAuphPDhamIOAWGcu3vvR/iPEMYa3X1sLWQzEKutVby0joECx8IhH+/RB9IkuoNj0LBG7rrME4Ytk9rdOW6Lc02WwZPRqvm8hGeRxXR13OAybJHgpMm8f+2kKRHEsNl6jy9VzVThKawBlwOhZA5hl4eN0e4umNZXINw==
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=2OjmTYNs557635oxZPdCs35UjNF0TopRJS8eUAOJ/vk=;
 b=CaaQeZ5ZMhVeDr/zXQMnk2o/5GBHMipVwX72YuqRhdUZudrrGQ47wAuHVc8gillofSvxKyCuFOMc8rACh9pPVIUdZhidtnmhMB0rhxH3OfsUls+GWao1mCUCX2GuFNmw/UnHfNtlCt3T1ivMeHqHC3IvkdDV3VaMh0b8GlZPZQU=
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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 08/15] xen/amd: export processor max frequency value
Thread-Topic: [PATCH v3 08/15] xen/amd: export processor max frequency value
Thread-Index: AQHbjnNvhCrdHHKqk0qGbgQkaC8i17OCjH4AgAQ8V7A=
Date: Thu, 27 Mar 2025 08:38:32 +0000
Message-ID:
 <DM4PR12MB8451C12F0303DBBC12DCC3AEE1A12@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-9-Penny.Zheng@amd.com>
 <942a11ad-c24c-4079-a0da-339ca548c569@suse.com>
In-Reply-To: <942a11ad-c24c-4079-a0da-339ca548c569@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_ActionId=e9349405-6eef-4a50-b5c7-12a707e5908e;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-27T08:38:26Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|DS0PR12MB7769:EE_
x-ms-office365-filtering-correlation-id: e7b6be2f-f9c5-484c-8d93-08dd6d0ac1c3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?Sk1QRXpvOHdUanNjeWNVY1BEcFg3clFWc2dUY0V6YnZibnMrSFMvNkg2bWZZ?=
 =?utf-8?B?eUE3dDFScmxQWEcyQm5VSGpIaGZEVk5XL3R3YkpIUHJJOFF1azBLQm9hdDVt?=
 =?utf-8?B?cVIxN1NSdEpiMTA4a1I2d04rVjRCWW5Wbmg1aUQwVFlIRmhQNldmZS9YRWNN?=
 =?utf-8?B?dXJWTERZaG9VbDVsRDJacUlmNHhiVkpqR2ZYOHEycDY2Ym9hYXVMSmpZOHZW?=
 =?utf-8?B?Y09oVkgyNnZaRm9qbFJMUjRvb2FiVGZpaGZUMmQxZXNJMUczandxTGpqY1dh?=
 =?utf-8?B?dVlpeEFuTkVhQ2hJczR4dTdSVW5sSG9KT00vWFNpZjBIN1RZSzY0aVBJaDNE?=
 =?utf-8?B?QzRyT0lMRGpPQjc0Tzl2bHczUGhuY1NhK1ljeTR4QVdGS3lXZkhRcnhIcTM0?=
 =?utf-8?B?bjdVK3ZzSUl6NnNDU1RyNHJDK2JQaVpqZmQ5SVJjWjZPbzFWSnU4MjZGWjJE?=
 =?utf-8?B?azN4eXlwdVNsUUVpZ0VkZmhHRHFhNE15VVZVekR4VzhCcitBT0JkZitCbzJj?=
 =?utf-8?B?MndVa2lqOExWR0QyZG9JVkNzTHZJSHJrMTZuaXhDMlpVdUhPOU4rckVteUNt?=
 =?utf-8?B?VVB3MEI2Z3BwYnRjZXExYyswRHZQaUZGei8rTStEdFVRYlQrSkZiK2pxYmJh?=
 =?utf-8?B?dWUvY0pwZmtyZUR1SzdVSXdUNis0WDZkalpJQkpiYldiQXJSRW1RdzgxcnZU?=
 =?utf-8?B?QytMUUt0Rmpmam9QaGJ2bzhyUTFFNUZFWStFVWZ4LzdQWmlKSHRvZTZwSkla?=
 =?utf-8?B?VUJOMnJNeEZGekQ1VzRoZWlKd25VQkdCdVdsRnFacnVleEdpcWF5TmZBZDRP?=
 =?utf-8?B?NHY4eFZvUVlWdGFvam1yNUF6cGVMenRmSXpNREVxZWVFdHlMNWhKck5UeElS?=
 =?utf-8?B?L0VZT2ViWHFXWnFhSlpLcEFidVBUT2lMb001QlpPUlo2YzJ3akNweWN1V1pS?=
 =?utf-8?B?WStZZStYQVJDekdSemtKWWxYc3Jialh1aTYvcFBwd2JuSUovR1hTcDBzck41?=
 =?utf-8?B?V25YR2RVR21EbWkyS2VlS1lJRnBsMnlvcWk5V3VtSTFRbkhqNWJIRWZNZWhP?=
 =?utf-8?B?RGRrSzRYUU5DSVBhbmNjVUg2bk9iSVJURzNta0pYZzk1MERQZGZ0WUxoT29n?=
 =?utf-8?B?WHF1RVpVL08vdlk3SUFVbnIvU21sVmRGUEJEdW9Uak5NaU8vaVc5MTZmODl6?=
 =?utf-8?B?UnVnU1VCWHVjYXltQ3hZL3RhZmpiVUpBOStPOHNGS1lTL3h1MitOZkhRRjhU?=
 =?utf-8?B?N0szM3VqU2ZVb3c3TEdwVXNMZ2dsTE9EYnJrY05TRjlIZHdoQXN5cmtYbGsr?=
 =?utf-8?B?K3VYS3Nhb0Y4REZJTVJkbks1em5hd2FvQVdYWG1LQTNtT3JGc0FrSStrSnN3?=
 =?utf-8?B?YUxIaUtZQU9YekpTd3o5bHE3QlNmdmpQMTlLeEJPaUVaRWU1amFuOUhrY1l2?=
 =?utf-8?B?dmd2S2FncGZZN2FMZmhCOWxFWGljRFo0UzlBT0dJdkw1OGNpV1BLelpqOGo3?=
 =?utf-8?B?Z2wrTmVXcDJzdzJZL2FETUdSYnlSNjl6b3FjSks2c29FS05wUWFFR2gxMjl0?=
 =?utf-8?B?N0RrWnpERkliaHN5L2JJeG1uamFXL0pJdkRIWTkyZTNtendUbmpmQ2w1ZSth?=
 =?utf-8?B?WndzTWxhbWx0UndWYVRKUEZPdUdaQ3VYbnBnUDNENzZpZ1cySm52UitGWVJ0?=
 =?utf-8?B?a3dUWEwvRWk2cXNST1BkM01ZYVJhQUd4Kzd0bEZWTVZOcDBzUVZHWGE3MUpx?=
 =?utf-8?B?L3FKcmhmSG5HUTlHT24zcWkvTVJYejJVYk5YMForbVNPRmRPUTdaSmRsOEZu?=
 =?utf-8?B?aUVHT0c4QlZVRURNRlA0aEUybzRQZjJIQncvcTVMT2pZQ3NkdGVxbEtFZk1F?=
 =?utf-8?B?cGl2Y1pTR2h5WTNNd3F3SFpUbW94WGs3YkkvcmRUSFR3QnNZN3JqbFVDZnlP?=
 =?utf-8?Q?j/V1UKQyePk6Tcow2rdSSAdOKMmw2c5y?=
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)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?anQ3dytmQUxoZVNQbHRhSHhzdW5pNXd0TStXSnF6VFJhV1VnR2RRamRXcDNN?=
 =?utf-8?B?dU9xR1VDcFZUTHphT1B6STJoMEoxVkRLT2VqQ2duZHNjVW8wV1ZGaFdOb3M0?=
 =?utf-8?B?RDJobktoZVNOaTNOa2hKMjJKNXNka2NHWXV5VEQ4bkZ4emtoODczMjdya29Y?=
 =?utf-8?B?T2NMREdyN1lJZmlVeHJZMGo2ak9GMnN0Z0g0Z0FtenUyZ3N2WUpXZjJ3a2hM?=
 =?utf-8?B?Q3Q5VzJDeXN5OXo1OVZHTnAycDBoQWdBMXlabmhTcVg3cmRNLzhiQjBSM1Uv?=
 =?utf-8?B?ZzdqZitVVlJ5WEZKTkVmOWduVUlGQWh3cHNDZC93Q3N4c1JTNjF2aWlWTTR4?=
 =?utf-8?B?aFU5SWhDeDN4dUsyNE1BUFlXUCtsd3QzV21LQktuMDJzRzI2SDJYYlJNRnhM?=
 =?utf-8?B?OW5YK3ByYktDbW5jMHVQS3VSMXI1d0ZiaWpUcUlOWHZlTDZ0OSszOFljUlhN?=
 =?utf-8?B?VGJUZCtLWXY2MEt3V2NPRFlYVUczMm5SOUxjckhnRW1raUhHVUNUWnhxbHZE?=
 =?utf-8?B?RW9oQjZIL3h3WVZ6NldKT1VvOGZuc3VyQUp6bnF2Tjk3aWhWb3hmZ1NQTFhP?=
 =?utf-8?B?L0ZvUUcwd1hONFl6cVRMTVdYZ1BuY010T2pOaGN6QlBYc2FFZC9wN21pbDhp?=
 =?utf-8?B?YVRXQTZ1YlRlczUxQXFvUGthOU5OMmFMeERVYU1wMWRPWUo5RElnUGdmNkdH?=
 =?utf-8?B?d0NwUzZkY1ZhVTcvVG53OXNoSEFhanJUV2VQNWZTTFZ6dVFFa3dGcGlEWlhY?=
 =?utf-8?B?QnRhQzVuM0dGN21iL0phK1E5SXFuQ0RNTDF3ZW9DMFlnT01lWHZLcWdzV0VM?=
 =?utf-8?B?T1BhK0h5N3VDR1pUK0x0VGFWcjd2bnlWaWtFeFVIRVZZcE1XbXlJUHVpVkRQ?=
 =?utf-8?B?ckdHQ3dCL0cwek01bzBvQ2lSRGpZcTRQRm5DMGQrMFA0RTk0amxpRm9pKzZU?=
 =?utf-8?B?NFNEQkRoZkZidy9DOGs0OCtxOGp3Ymt3cHgrYy95YkpwWUlUcmRTZWEwQ01I?=
 =?utf-8?B?RDUvV2dmTXVmUGFyRmlhcFI5amhvL1FqMXYxdWdudndLbXd4bXpPMjRXMkw2?=
 =?utf-8?B?WXNhQmNOWlFLeVZuL3JZTU5XM1VFbG1NK09EelljQ1ZjdzJoOFlmb0lxZzZF?=
 =?utf-8?B?a2ZsL3VqMk0zb2ZidFljVElFMG9PWUdaTUVHWFE0NWtOdEIydDRLY3RIazgw?=
 =?utf-8?B?MldTelYwNW5uWFV3bURuMndwU1g4RDZwcDJsbEFONmZFR1ZiTjhYZWtNdS9j?=
 =?utf-8?B?eVZyVEZiNDl4Y0JjT1N5YW5jZUp2QzdlZVg4cWdDaG1BY2gzME5SbTN3eTJZ?=
 =?utf-8?B?NmxQVDdua041SGZPQ2w2UHhGd0kvRUZIK3ovU1NTMnFGUGgydnFCeGEvbEpL?=
 =?utf-8?B?TkJlOWM0YjAxcjgxcWlKcExSbnhnVkFZdk1PQTFQWjVqaDVtczlCOE5XYmtq?=
 =?utf-8?B?NmQwclNGdmxraWpLVmo2TXMxQng4TmdtUFZsU2VnMW1WMFl6cWJ2a0FlUGFG?=
 =?utf-8?B?eEh6L2V6WWNlK0FhYXhOaE95dzVXc1VZbnVEeEJsWU9CdUpFNEVOcjRYRGZE?=
 =?utf-8?B?a1dsQVZkNUI3c1hVTERxbVg5RmU0ZjR0Z2piZ3B4NWwrbkxSa24zVjRFY0Rt?=
 =?utf-8?B?QTZHMDZwSWVsRHhhUWtlYUNDYWFDZE1QbTViQSt6R1F1VDVDbXZwQzBFcytG?=
 =?utf-8?B?dDBQaVdNTnBUaHFYWDV4VHRMN1g0UEF1MzhiVWJBWC80VzFlQXJmenAvcHdw?=
 =?utf-8?B?c2d5ZTlYZm9QN015UTVBYUtvWGpLdmFzNTZFUHFjd0FpT0lwV1JOc2NBRmt0?=
 =?utf-8?B?cE0wMlVxV0JBZmN3dGd2L2FoQXlyQXdVRHZLY0FmWjhONUJCeEVFSVlGMlll?=
 =?utf-8?B?elZXeEYzajFZOHd3dDlDMGxHUks2UVNEbHg1MHRMbUd2L2krUjJHNHI1TFJJ?=
 =?utf-8?B?MVJTMERrY29EWXlxajF4RzM4OUJhckMzakxzc1ZjbzBTS0x5MSsrVWJRckNz?=
 =?utf-8?B?eVVsL1EwOXErZ3MrQVZTWHFQTFZETzhUSGZxdlRGdzllUytvVVJ1bUNWODVJ?=
 =?utf-8?B?VXlLMnhWc3JmRGFjdHJibjlNUDRtUlpzUmJtRGpBZGYreHNMZDkxbGFkQUlh?=
 =?utf-8?Q?SwSs=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: e7b6be2f-f9c5-484c-8d93-08dd6d0ac1c3
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 08:38:32.4096
 (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: Aef3Ev8gZD1gUA9Cl82l9CgT4pUttiRKAtluD9bG3HBcQ4viHvXdAnSug/lEz1r0V4MhKga2TlE9C/IAdS6uqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7769

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDI0
LCAyMDI1IDExOjUyIFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4g
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA
Y2l0cml4LmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVj
dDogUmU6IFtQQVRDSCB2MyAwOC8xNV0geGVuL2FtZDogZXhwb3J0IHByb2Nlc3NvciBtYXggZnJl
cXVlbmN5IHZhbHVlDQo+DQo+IE9uIDA2LjAzLjIwMjUgMDk6MzksIFBlbm55IFpoZW5nIHdyb3Rl
Og0KPiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMNCj4gPiArKysgYi94ZW4vYXJjaC94
ODYvY3B1L2FtZC5jDQo+ID4gQEAgLTU2LDYgKzU2LDggQEAgYm9vbCBfX2luaXRkYXRhIGFtZF92
aXJ0X3NwZWNfY3RybDsNCj4gPg0KPiA+ICBzdGF0aWMgYm9vbCBfX3JlYWRfbW9zdGx5IGZhbTE3
X2M2X2Rpc2FibGVkOw0KPiA+DQo+ID4gK0RFRklORV9QRVJfQ1BVX1JFQURfTU9TVExZKHVpbnQ2
NF90LCBhbWRfbWF4X2ZyZXFfbWh6KTsNCj4gPiArDQo+ID4gIHN0YXRpYyBpbmxpbmUgaW50IHJk
bXNyX2FtZF9zYWZlKHVuc2lnbmVkIGludCBtc3IsIHVuc2lnbmVkIGludCAqbG8sDQo+ID4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmhpKQ0KPiA+ICB7DQo+ID4g
QEAgLTY4MSw5ICs2ODMsMTUgQEAgdm9pZCBhbWRfbG9nX2ZyZXEoY29uc3Qgc3RydWN0IGNwdWlu
Zm9feDg2ICpjKQ0KPiA+ICAgICAgICAgICAgIHByaW50aygiQ1BVJXU6ICVsdSAuLi4gJWx1IE1I
elxuIiwNCj4gPiAgICAgICAgICAgICAgICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLA0KPiA+ICAg
ICAgICAgICAgICAgICAgICBhbWRfcGFyc2VfZnJlcShjLCBsbyksIGFtZF9wYXJzZV9mcmVxKGMs
IGhpKSk7DQo+ID4gLSAgIGVsc2UNCj4gPiArICAgZWxzZSB7DQo+ID4gICAgICAgICAgICAgcHJp
bnRrKCJDUFUldTogJWx1IE1IelxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLA0KPiA+ICAgICAgICAg
ICAgICAgICAgICBhbWRfcGFyc2VfZnJlcShjLCBsbykpOw0KPiA+ICsgICAgICAgICAgIHJldHVy
bjsNCj4gPiArICAgfQ0KPiA+ICsNCj4gPiArICAgLyogU3RvcmUgbWF4IGZyZXF1ZW5jeSBmb3Ig
YW1kLWNwcGMgY3B1ZnJlcSBkcml2ZXIgKi8NCj4gPiArICAgaWYgKGhpID4+IDYzKQ0KPiA+ICsg
ICAgICAgICAgIHRoaXNfY3B1KGFtZF9tYXhfZnJlcV9taHopID0gYW1kX3BhcnNlX2ZyZXEoYywg
aGkpOw0KPiA+ICB9DQo+DQo+IEFzIGJlZm9yZSAtIHR5cGljYWxseSBvbmx5IHRoZSBCU1Agd2ls
bCBtYWtlIGl0IGhlcmUsIGR1ZSB0byB0aGUgY29uZGl0aW9uYWwgYXQgdGhlIHRvcA0KPiBvZiB0
aGUgZnVuY3Rpb24uIElPVyB5b3UnbGwgb2JzZXJ2ZSB6ZXJvcyBpbiB0aGUgcGVyLUNQVSBkYXRh
IGZvciBhbGwgb3RoZXIgQ1BVcy4NCj4NCg0KSSdsbCBleHRyYWN0IHRoZSBwcm9jZXNzaW5nIGZy
ZXF1ZW5jeSBsb2dpYyBpbnRvIGEgbmV3IGhlbHBlciwgbWF5YmUgYW1kX3Byb2Nlc3NfZnJlcSgp
DQoNCj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vYW1kLmgNCj4gPiArKysgYi94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vYW1kLmgNCj4gPiBAQCAtMTc0LDQgKzE3NCw1IEBAIGJv
b2wgYW1kX3NldHVwX2xlZ2FjeV9zc2JkKHZvaWQpOyAgdm9pZA0KPiA+IGFtZF9zZXRfbGVnYWN5
X3NzYmQoYm9vbCBlbmFibGUpOyAgdm9pZCBhbWRfc2V0X2NwdWlkX3VzZXJfZGlzKGJvb2wNCj4g
PiBlbmFibGUpOw0KPiA+DQo+ID4gK0RFQ0xBUkVfUEVSX0NQVSh1aW50NjRfdCwgYW1kX21heF9m
cmVxX21oeik7DQo+ID4gICNlbmRpZiAvKiBfX0FNRF9IX18gKi8NCj4NCj4gSSdtIGFsc28gcHJl
dHR5IHN1cmUgdGhhdCBJIGRpZCBhc2sgYmVmb3JlIHRvIG1haW50YWluIGEgYmxhbmsgbGluZSBh
aGVhZCBvZiB0aGUNCj4gI2VuZGlmLiBQbGVhc2UgbWF5IEkgYXNrIHRoYXQgeW91IHRob3JvdWdo
bHkgYWRkcmVzcyBlYXJsaWVyIHJldmlldyBjb21tZW50cywNCj4gYmVmb3JlIHN1Ym1pdHRpbmcg
YSBuZXcgdmVyc2lvbj8NCj4NCg0KU29ycnksIEknbGwgYmUgbW9yZSBjYXJlZnVsLg0KDQo+IEph
bg0K


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 08:46:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 08:46:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928723.1331391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txit1-0002hI-Uv; Thu, 27 Mar 2025 08:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928723.1331391; Thu, 27 Mar 2025 08: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 1txit1-0002hB-Qa; Thu, 27 Mar 2025 08:46:51 +0000
Received: by outflank-mailman (input) for mailman id 928723;
 Thu, 27 Mar 2025 08:46: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=yWE1=WO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1txit0-0002h5-QH
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 08:46:50 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c201::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 052bf424-0ae8-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 09:46:48 +0100 (CET)
Received: from AS4P195CA0023.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:5d6::14)
 by DB3PR08MB8793.eurprd08.prod.outlook.com (2603:10a6:10:429::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Thu, 27 Mar
 2025 08:46:46 +0000
Received: from AMS0EPF0000019F.eurprd05.prod.outlook.com
 (2603:10a6:20b:5d6:cafe::45) by AS4P195CA0023.outlook.office365.com
 (2603:10a6:20b:5d6::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.44 via Frontend Transport; Thu,
 27 Mar 2025 08:46:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019F.mail.protection.outlook.com (10.167.16.251) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 27 Mar 2025 08:46:45 +0000
Received: ("Tessian outbound eb3c789b7dfa:v604");
 Thu, 27 Mar 2025 08:46:45 +0000
Received: from Ldcce8aa5b17c.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4D83DB1D-2E6C-4FA0-A87C-8FFD16B6150F.1; 
 Thu, 27 Mar 2025 08:46:39 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ldcce8aa5b17c.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 27 Mar 2025 08:46:38 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS4PR08MB7478.eurprd08.prod.outlook.com (2603:10a6:20b:4e5::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 08:46:32 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%7]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 08:46: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: 052bf424-0ae8-11f0-9ffa-bf95429c2676
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=PaAzVZroQehIN9/fWwYlfZhNATlJOs3mKDJelQ9MJIsDKuOMmEt74lJZDcEM6jpnyd2/0Xkv6DjBEN6LjyPbkNZYaTCF9djVUr+jV9K/suGUSPZg7PxJK0pRrnM9fFht/sopEguY/Vf94HBip1Ac75XfSrgVJk4axqiHynAgPet69YOZ6sOQ0+rmwR19kaQClGVR4I7xKcE/kmFYQxCOuYa82KJp9hP4ctrMAtjBmO39c+NlM7p6p06ZuTkJhQfD6TFAVY2Mo1bNKli9gSVmd0x9sImqbWzrOH+0NWVmt6Bm00yIoB0zjPGNn+5uob2HMMa2MirqE4s69MKXpYYetQ==
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=EI1GXSp91ZqWwTxDJmq6owfxW+3ZqdNpan591mDbQUQ=;
 b=qzcIua4Gz1LmeHONQ9AJNXFsv8CaejI5wXE+QjCwwYjRR89htuMLu529dnXP/cJ6KtZLs/PsRyoTIcB/sMxtJy2D1xJEO4NFrnI73x7sLknVpgpGaXBOf3a6ePxa5oH1T5jfn946bnCTJyrSfhO8brY1ymOuVSA2hE+x/3GL22NpEiEwvwxqaMTNCfqJmLPS8pSzQBlUayci7+1gmwd9XL57cLTGR9I23iG/H7rc+QzPuaxlgM8S6RP/NRd3TCv6FR56VPnYco2/d6ESUR1hh0EKUfOwVS/MxGsOaiKRRCKNnLB3puRPmQ7gVA3JppzmbPAPcz6OllKUEBeGBl3gzQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) 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=EI1GXSp91ZqWwTxDJmq6owfxW+3ZqdNpan591mDbQUQ=;
 b=mC1ZOKvypnNqrKSz1iMS81mCYVCHB1lBkjgAw2qBR2uqqN0xiXy9zxIw0ZQqZEIry+K3ri7pq1wINuuQGSUFJHcHZHi27yreajKqaTNmRFKPn5dpIHlofy9KC0qWAj0lYNXhpHR3ayZqGnHjU5OVDW0fBFY4BbpBan8ft40VwLQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 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
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 6459362899eb1778
X-TessianGatewayMetadata: bOyTF9vdHup3qHNrP2OynbPSi2OMq7MCpYbGVTRcwwwp9gRqjrJHmpJN8HmbxvvPBhd3AMecNraOfUnW7VGXcgBwQvA3WYIiyXvRVouovXmGpwHz2pMjlQJCi3LSv7VkzHlwGPVVu7WCy55ieXmin25HAPYT+uSlBW1BokVRiL4=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QBxWuJ89q40f+OkzPTbr8piyQjn2Vr9VhMtAzhrCbXc7Dyvil/AqDwScDQMzn8E7E0N3Vanz+LZW9ZDQxTdSsAyGIuIOQn3XumVtF/D31p0FdpO/RdZzZa/LfNPe/YdPm7mgnO6G9DeTr4hFGL5nAAvRi7gjlfc0buFoT0G54qbOi5Qg/cvAURKAm/rH+c5Cl8QWCzAK6Mic0uVr+cTqDfR2TKuL+DAsJVYEWNr8jlYoh3wWPSsZwCoNvj76orGPLEVMgG1fCE039m8jMdjPw2GOCsT/zyOH7+5Q0ffGWPUjXowqaApJifXoRIgvb0kduSOnxkypgP8ZV3T/UMTSoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EI1GXSp91ZqWwTxDJmq6owfxW+3ZqdNpan591mDbQUQ=;
 b=c2htxv7hkYa4HufKFFWpWwCIHB4mhJ07OPxVjQ5J1HrBjiifd7JWGv5rD7GWLyZn+1w2PkzRu3/WQWdXuvvqiQfS2//4ERjFOLouFkAYTSwP8FN4RGoqDiZpkQXe/Jss5ZprtlzRsnBJR8WfY3Xzbs7ZqFM88DbuIfnos0VcwXjGk++XJlEapqaceeJkiKaglX5USFJze0ql/go+o9RyJjy2wnOctHXx7CWnHWojtYknKmZxtWhID+SOuLBvJjNMgihR4C0DTx1QasGRDguOz9xWxfRb/LpnF4JcfB1PbdPHIe2M1XwN9khtu7RbIj93f2utGxAZeCzUabgUoFk6jQ==
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=EI1GXSp91ZqWwTxDJmq6owfxW+3ZqdNpan591mDbQUQ=;
 b=mC1ZOKvypnNqrKSz1iMS81mCYVCHB1lBkjgAw2qBR2uqqN0xiXy9zxIw0ZQqZEIry+K3ri7pq1wINuuQGSUFJHcHZHi27yreajKqaTNmRFKPn5dpIHlofy9KC0qWAj0lYNXhpHR3ayZqGnHjU5OVDW0fBFY4BbpBan8ft40VwLQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Anthony
 PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Luca
 Fancellu <Luca.Fancellu@arm.com>
Subject: Re: [PATCH v2] tools/arm: Fix nr_spis handling v2
Thread-Topic: [PATCH v2] tools/arm: Fix nr_spis handling v2
Thread-Index: AQHbnXUrXnaixHRQxUWMvvonoQrE9LOGroKA
Date: Thu, 27 Mar 2025 08:46:32 +0000
Message-ID: <6480C1E3-1AB1-4886-8639-27DB4BC98F61@arm.com>
References: <20250325110029.399838-1-michal.orzel@amd.com>
In-Reply-To: <20250325110029.399838-1-michal.orzel@amd.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.400.131.1.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS4PR08MB7478:EE_|AMS0EPF0000019F:EE_|DB3PR08MB8793:EE_
X-MS-Office365-Filtering-Correlation-Id: f151ea1c-cb4d-46af-d6f7-08dd6d0be7c0
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|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?3iGgXcdLFewbcMaAUIYVUPGQUxOD7lFH+juwDKZYsgL8d+c9F5SbU4Rj0cfj?=
 =?us-ascii?Q?6e4nD4QqfYqDamJJNAguOWweIWr/QtGr4z2el6lppoGbU3Qg7itL3Uu+fgh0?=
 =?us-ascii?Q?SoOCH/1x/ERAoBfuRun04etZpOVDpsDvxLvrol13Z3aHRDHX4nyt0W0fqxr3?=
 =?us-ascii?Q?iQEGpKJLPDYBwkzaC4gBj/wt0F5COMBIxqe/LTaljsu29U3CxKe6ZOD4SGNU?=
 =?us-ascii?Q?VC9N5SpHcLk/Imos8rC7WpbcIPCPB4/pEQaCOOx0wNl/8S7VZmXb0mBUiaFa?=
 =?us-ascii?Q?ekv4dmFz0sUHz2mytPP61Q5ikbRtG4EzURiGJPze8qAEWfodG4OmUKeDIuzH?=
 =?us-ascii?Q?OC+rDDCJCUhrxOZdOzJPT11JHTAwgoA7dbXfZVYW6pCfKUanDh38jtxgLVUA?=
 =?us-ascii?Q?EhcXMaWUTIoHmn13FGZLXDJ3bS8kHx4o/gl3gx+O95smpGoxgutHStJTSU+J?=
 =?us-ascii?Q?BoKLuCDgfNWJpf9yQOxnTeHiEfrBxsyuPNriBPjctJ3jh5hXFxJQmi4L4w86?=
 =?us-ascii?Q?1hq4w4FQbiHKF6fNumyDtNh9mDmTbGwBaee/x2pIB3wA3fzXRmAJAXQK+epH?=
 =?us-ascii?Q?ITEUtiHxYmIOQqja0miwKDkvcs+MMuFzuP09cj9cAi2+yjxF8Gr5RjjOxaBP?=
 =?us-ascii?Q?h93llgArafhjSCOlxQL67YrfItEjcO+XqFIn8OmyFwnH6hJ3ExEHVR1/mGML?=
 =?us-ascii?Q?d5xapA7gacfuGLgbKabBn4ew2KG6o0UkeUx5t4DTaCgiC0hpJlIR9+b/MlDw?=
 =?us-ascii?Q?MjpdRjXV2udhLMdvt5KaGeshvvRSvRtocDJn4U4o8CB1B607eUhwdbEYlhvA?=
 =?us-ascii?Q?50P9KVu4B+10poxSUL5K6YdzFlPkmoPuGoHoQ5UNY3MrMjKGnQ13eNQrrySp?=
 =?us-ascii?Q?34r3l/TwdQO43So9KUHMtJUlVLeQlgqKMOaYnqhcqzjB6bi4aSyoK8jwPGdq?=
 =?us-ascii?Q?LiHbVD+AT4FDfkLkeSkZxX8rYJUPwNWv2sfhWKxRwJUcV0pzaX3pONOdG0yq?=
 =?us-ascii?Q?iWi22J0DN31aBkn3HeROW2KYYVxrkamj6wq6uOiJK728GJAPT3IAu7aAtm+O?=
 =?us-ascii?Q?3PGS5GiryzuA0hbaiABBUoOLIbY7TmlJYQleUoU41KP8c4j7R+1JXhiqkSqO?=
 =?us-ascii?Q?kHbXjyGik6uVQR6spFfP/hIiedWQ87EVnBLHbSisYH1Ql6kceIBiSTjqi9Ik?=
 =?us-ascii?Q?z78GG0Z1QnPHOoosM00tn4lauLSABnFJPMJbNjrJd2EcUNLYv9MOAazTn/JY?=
 =?us-ascii?Q?PXzldXbbRfUvu1LTEAzNpw5qN8lfkPyKZdHfEacNz3kTD84GbVIs/GsTYTvG?=
 =?us-ascii?Q?t94M1yDVZE3Zs6gdDsDKXo9Zcz/LL9wASf9gTZzdFJMIRIYPefc/wZd3uYnE?=
 =?us-ascii?Q?lKrRpmQ3J6n8ap/RXlAzP5E33a1gvNCST91Z1iIltTlIzoCQ6n1rfs4BLiXB?=
 =?us-ascii?Q?p731tzUbPX4+Kkdq5K74t8fYVsAgr2Cw?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <54BDB84D78E06C448EB8276FC208971F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7478
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF0000019F.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	410e8d34-e2fc-4505-c3e4-08dd6d0bdfc3
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|14060799003|1800799024|82310400026|36860700013|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?i+lOc3SRuIT7IQBt6r+lAIgg8lhw1IucerllgNizpCGRIZrE1tsfp8ILZ2eX?=
 =?us-ascii?Q?ToYDsvsVkfp0G5BzLG06R35NLXpVBwRzqKEtGDagwgn41Yzg4FF1TAcRedoy?=
 =?us-ascii?Q?7bl0FMvfgRl0sPTeSEnO5ignTjBUOCQJTYiPzKg6QxTEhmDBLdyAse6auEyd?=
 =?us-ascii?Q?68dSrlC4Wr5Mp5GrHXUgfz1VkptMXTsHtGXcQd+O8S+WzrCcPOphooVQIJqK?=
 =?us-ascii?Q?owEaBvJGRSkY8BCAGAfkhmTXl9tdy29aRBAloqmqsCjLAcdcL/HzvZsrWGi+?=
 =?us-ascii?Q?FvN8sRHWhhJSAKYUFBttafxfBR+x+0u6wW7Y5qD7vkTdZYSstVo6olFvXbmT?=
 =?us-ascii?Q?p75VmuYofOb7w+Kc5xcDdMJMpDY40xhl+mlR8nmvqT4hFDVtB3O2VebHm0eN?=
 =?us-ascii?Q?UH5HVAvtGm8j6EpopY14GoqVPHlXDGY/sXIo/dWAxGhhEs52IWcu9+B7ksRT?=
 =?us-ascii?Q?hp8EY6WjjoeU6Qs0HsIcGp2E5Q6ZYZAbjI6g5cN9lkfQwrcPtRIksLPdmRs9?=
 =?us-ascii?Q?Pw60pb8HgODfefhNaWUi1eBbyQlUMb1hmu8JRPdrtRMy4jsgFUWgO2DTf1Nx?=
 =?us-ascii?Q?/1YITy6gT/eLX9yij1CpWzzI83fg6lVZAnquRgemuTsGc/fvMXx5tEBpo2YC?=
 =?us-ascii?Q?rICvFM1gG8aneVxrP8PgXs4jCqDcdJhT8nuvwa+fws3ErxceZMooGmsL3eyT?=
 =?us-ascii?Q?eGWY46A+sGPznISydgjNvSpz7c7ks4xnDNWQMSnbmcRuJFxLORiaz+lndYMs?=
 =?us-ascii?Q?qu6qZ7R/ie+chdLu/esv0Fl/rpu7NFOoM9iIh0AHBrpDLjl53viBypn+xmvv?=
 =?us-ascii?Q?IsqRLiKGUzpQMlHUeSOxw6JODn0g+LLm7ryr0R6zlcgBOFm82WgyYZ+SqpVU?=
 =?us-ascii?Q?lzvDqzaZINw6IlWoVu8RCxMSN6GL2cOW9jsHcpiX1xLsyhkUwDIQSrRWZMUg?=
 =?us-ascii?Q?B7xwEYX0n0iD9+68d7fzZttqf/PNOp+4vAzDNMQSuXw7ZvUEz+jgkdZays61?=
 =?us-ascii?Q?nitlvnfehO61pRTadfLFpY8pLDyr+qJfQfzQscZVzJ0lBsjYEoR2MFNjvz8X?=
 =?us-ascii?Q?cTAjIA4ZXGOUtFyNIRdZ09hM4ouZiO/kA1D2rWdSqTEdHi8UckYJGQnLODE5?=
 =?us-ascii?Q?cuo2MuAITGhw8ugDEifgY5gE5/tdC3I2eAf/isQ+BDEH4WIUcxzr6yriIQKy?=
 =?us-ascii?Q?oW71bORmJUY1SkX+RdwGaBRjdDi3gtMoFasJnlPoiIwpbq6ynAg9dRjRGGfA?=
 =?us-ascii?Q?GTvSjRTLeOlncsvIXwHcz5fE7U9CKKJJsNMUERNu8IkaIvcl8aO2IgPlcfSJ?=
 =?us-ascii?Q?skG/e6tWWxCE6rFbEVfvc9WqAdHqMMXMRUx69auBh+9H62B9UWBq/D3o2FJf?=
 =?us-ascii?Q?Gw23Q96P3zUx6fQz3bOG6fgxt8soacbCRhkWsPU01YoafbtjGvrSPur4yuKy?=
 =?us-ascii?Q?/S9G5gcwZNhBAAf0FzGM9Ppo+zyCEwqG+zpUTHd6GK34N+VAd6thq+nSajgy?=
 =?us-ascii?Q?x/NhrZkQ1qBJAec=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(376014)(14060799003)(1800799024)(82310400026)(36860700013)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2025 08:46:45.5939
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f151ea1c-cb4d-46af-d6f7-08dd6d0be7c0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF0000019F.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8793

Hi Michal,

> On 25 Mar 2025, at 12:00, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> We are missing a way to detect whether a user provided a value for
> nr_spis equal to 0 or did not provide any value (default is also 0) which
> can cause issues when calculated nr_spis is > 0 and the value from domain
> config is 0. Fix it by setting default value for nr_spis to newly added
> LIBXL_NR_SPIS_DEFAULT i.e. UINT32_MAX (max supported nr of SPIs is 960
> anyway).
>=20
> Fixes: 55d62b8d4636 ("tools/arm: Reject configuration with incorrect nr_s=
pis value")
> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Sounds good to me, so for Arm side of things:

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes in v2:
> - add LIBXL_NR_SPIS_DEFAULT, rearrange checks
> ---
> tools/include/libxl.h            |  1 +
> tools/libs/light/libxl_arm.c     | 17 +++++++++++------
> tools/libs/light/libxl_types.idl |  2 +-
> 3 files changed, 13 insertions(+), 7 deletions(-)
>=20
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index f8fe4afd7dca..b7ad7735ca4c 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -1579,6 +1579,7 @@ bool libxl_defbool_val(libxl_defbool db);
>=20
> const char *libxl_defbool_to_string(libxl_defbool b);
>=20
> +#define LIBXL_NR_SPIS_DEFAULT (~(uint32_t)0)
> #define LIBXL_TIMER_MODE_DEFAULT -1
> #define LIBXL_MEMKB_DEFAULT ~0ULL
>=20
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 2d895408cac3..0adcaa373b54 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -84,7 +84,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>                                       libxl_domain_config *d_config,
>                                       struct xen_domctl_createdomain *con=
fig)
> {
> -    uint32_t nr_spis =3D 0;
> +    uint32_t nr_spis =3D 0, cfg_nr_spis =3D d_config->b_info.arch_arm.nr=
_spis;
>     unsigned int i;
>     uint32_t vuart_irq, virtio_irq =3D 0;
>     bool vuart_enabled =3D false, virtio_enabled =3D false;
> @@ -181,13 +181,18 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
>=20
>     LOG(DEBUG, "Configure the domain");
>=20
> -    if (nr_spis > d_config->b_info.arch_arm.nr_spis) {
> -        LOG(ERROR, "Provided nr_spis value is too small (minimum require=
d %u)\n",
> -            nr_spis);
> -        return ERROR_FAIL;
> +    /* Check if a user provided a value or not */
> +    if (cfg_nr_spis !=3D LIBXL_NR_SPIS_DEFAULT) {
> +        if (nr_spis > cfg_nr_spis) {
> +            LOG(ERROR, "Provided nr_spis value is too small (minimum req=
uired %u)\n",
> +                nr_spis);
> +            return ERROR_FAIL;
> +        }
> +        config->arch.nr_spis =3D cfg_nr_spis;
>     }
> +    else
> +        config->arch.nr_spis =3D nr_spis;
>=20
> -    config->arch.nr_spis =3D max(nr_spis, d_config->b_info.arch_arm.nr_s=
pis);
>     LOG(DEBUG, " - Allocate %u SPIs", config->arch.nr_spis);
>=20
>     switch (d_config->b_info.arch_arm.gic_version) {
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_ty=
pes.idl
> index bd4b8721ff19..9bb296993199 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -723,7 +723,7 @@ libxl_domain_build_info =3D Struct("domain_build_info=
",[
>     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>                                ("vuart", libxl_vuart_type),
>                                ("sve_vl", libxl_sve_type),
> -                               ("nr_spis", uint32),
> +                               ("nr_spis", uint32, {'init_val': 'LIBXL_N=
R_SPIS_DEFAULT'}),
>                               ])),
>     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>                               ])),
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:00:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928738.1331410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txj6C-000754-8n; Thu, 27 Mar 2025 09:00:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928738.1331410; Thu, 27 Mar 2025 09:00: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 1txj6C-00074x-69; Thu, 27 Mar 2025 09:00:28 +0000
Received: by outflank-mailman (input) for mailman id 928738;
 Thu, 27 Mar 2025 09:00: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=rYrR=WO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1txj6A-0006qr-Tj
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:00:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec635e77-0ae9-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 10:00:26 +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 1BCF34EF54CA;
 Thu, 27 Mar 2025 10:00:25 +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: ec635e77-0ae9-11f0-9ea3-5ba50f476ded
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=1743066025;
	b=EcklclTWmgy0gkALuyVF7fd/7VOoInAMOcg48FGcKLV8en5kZzs6Isz6maAo1DBieTMN
	 QUEiysuTP6JTYdL74Xe1OZS+gkfRHNNQ5UVsGzFRXr6bidki8DcPRVlRjHAkN7g3zu3YQ
	 usGEAKlQy0fYaOq5/8g9MPZ0z4tDwDawuoRddOx/NowNrJiUAQzQmQnAevZYtqN0MIPlp
	 lPTctkTnk0JturvZuYtV9RGDQfxjuTbKLKELM26hhlWOZc+wMdCHRCiPm2HkH3BOalMVc
	 RdjGgendqmDGjlyJFQDSSzVsXRpduuegXg9Mwb664WRRqZb30zZlp7OcYSvxaNqaaa3Hh
	 KZeA9YrMQJViu8UcznnO5ojLrEhWjYUiQrFJTp3nhLh/QLfRqGburqggVAGC6R/rciUWA
	 AjxcKvTJP3tIqer2X8ealRyS5JEPmC/WAOZ7vH6/vXlQ5r0tpPPF2IAkpKz+0hL9JVsBS
	 5qbD7oBC5IkwT2mOabs6jmEhAJyv+T38PcfHEY0G2y11IT24APJZrQk8w2bOCGFtv4SR1
	 4x3iGz6ehQjwPSokehcOPEEFo0N3NUTteaPSg2Wj0XlPXyCjoHfioXoGEMEj3ucG2K+uy
	 QuJieRhzNIdLIMjaL92X7fZVogSpVJAtzscWH5bo1KcZIaFuxfFcPtNjEdb9ibY=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1743066025;
	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=ipOX3+q6V3eF23dtuRMxbx3zMw7Rkxm0jMlQucEVhKM=;
	b=WJrRmotMS8veQ0IenTmzvhI7Mg5FUZkMMNvep5CfxveHbKRM+/NvOMHPra7WaOtOTLa3
	 MnRr/PD0ueBX0xgCnM6Qt2Ffr2lzZog3w+SwSh3+pDDPz1LrX8ccmC8/T1uMokKeYXwJj
	 C/F+Ys0DqyxKtjwe736XRtCrYcPKaNcwTmVQeGMiwJi2UjkJvU2CZdCD5Jr+CkWGxCvZ5
	 ss/uJE+Xe3OODHaLmdL4aHVmlCMCA+DoI/y7XdV1vxPIhfKAxVXkOM2GSNsG7eDeNyBDW
	 +wmhrF2bxL7CMSDvT6XcCHXMhcJTFBA0t1++NBQ3VmSJGqrFFlw1UPBmhSaf+SPpDPtqs
	 byXcDTZC0ZNTtPM39iTaxFpH8UZvliuGV6sTkfKux+YQ0C33fIYiFFWx58sftYa1RFPC6
	 qDofDaeYtcoFd6VtA/IAi3ksVV82SODpqal3zDk33hExRJPsJV7rjWtyTBa3g3+AzQAHc
	 8kFTV4Ias+OXJGVMxTV6+6ANxHHDSWIXuLLA7zvqz/K3hieLB17FEazR3v+kIjVkX2ATi
	 QNQRLReP7fqy4+uhPh2zf7aqHJzPywhogA0rvHQOvcICxaJDesVdfFL3MrFJhlm0n9msi
	 RL/LUO8jEdOK4YATX9fQnkhfVsanIRjTBieb6yxRyRdulFH/h0zXd8t4eHsA3NE=
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=1743066025; bh=Q+/SHkmUZ+n4LlfSvIvK+N1D0APircbV/qwqLqNDiQk=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=NqVSg3mNp16yxzilPTRzjwt9zO3KFuLeXnfg/HG18hePf985vt/n1aXsHJrqA5aDN
	 Y5deiZUGDdCR/V/4lwPV0yL9x+R1xyM9Bjtv4dXd8kuvEafkL5qMXf+98dHuJ6SSCf
	 JeIkIc2xasoURB/4njN+Mo4iDNvpfN7M6Aoc/tVDPnR5ZxH5oeRhci/AGVXbTNhyFu
	 cha9VP+6fa4P7jRFhs8JSrCNvpJwoSllmHHS/Q6SGBF5ppRB1KFtNikOdHjV8ythdB
	 hU1NKHsHAMTjwyLEcWe0064SDYqZS22f1gPLCYgXTl28pxZxIx3eml2DKmfMzMNez1
	 ZpMgzXo+rDr+w==
MIME-Version: 1.0
Date: Thu, 27 Mar 2025 10:00:25 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/3] xen: x86: irq: initialize irq desc in create_irq()
In-Reply-To: <bab91924eb87a56260d62faee028d5af@bugseng.com>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
 <20250327004044.2014048-3-volodymyr_babchuk@epam.com>
 <84903e47-038c-46f5-862a-a0c9623c8125@suse.com>
 <bab91924eb87a56260d62faee028d5af@bugseng.com>
Message-ID: <2836f7977d3a7061f481c1e83d0b2820@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-03-27 09:37, Nicola Vetrini wrote:
> On 2025-03-27 09:03, Jan Beulich wrote:
>> On 27.03.2025 01:40, Volodymyr Babchuk wrote:
>>> While building xen with GCC 14.2.1 with "-fcondition-coverage" 
>>> option,
>>> the compiler produces a false positive warning:
>>> 
>>>   arch/x86/irq.c: In function âcreate_irqâ:
>>>   arch/x86/irq.c:281:11: error: âdescâ may be used uninitialized 
>>> [-Werror=maybe-uninitialized]
>>>     281 |     ret = init_one_irq_desc(desc);
>>>         |           ^~~~~~~~~~~~~~~~~~~~~~~
>>>   arch/x86/irq.c:269:22: note: âdescâ was declared here
>>>     269 |     struct irq_desc *desc;
>>>         |                      ^~~~
>>>   cc1: all warnings being treated as errors
>>>   make[2]: *** [Rules.mk:252: arch/x86/irq.o] Error 1
>>> 
>>> While we have signed/unsigned comparison both in "for" loop and in
>>> "if" statement, this still can't lead to use of uninitialized "desc",
>>> as either loop will be executed at least once, or the function will
>>> return early. So this is a clearly false positive warning. Anyways,
>>> initialize "desc" with NULL to make GCC happy.
>>> 
>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> 
>> Hmm, this puts us in an interesting conflict, I think. Misra, aiui, 
>> will ...
>> 
>>> --- a/xen/arch/x86/irq.c
>>> +++ b/xen/arch/x86/irq.c
>>> @@ -265,7 +265,7 @@ void __init clear_irq_vector(int irq)
>>>  int create_irq(nodeid_t node, bool grant_access)
>>>  {
>>>      int irq, ret;
>>> -    struct irq_desc *desc;
>>> +    struct irq_desc *desc = NULL;
>> 
>> ... consider such an assignment useless (and hence potentially 
>> confusing)
>> code. I'm curious what BugsEng folks are going to say here.
>> 

Just to mention it: having a "do { } while" loop instead of a for (just 
out of context) probably avoid tripping gcc's false positive and also 
help with MISRA Rule 9.1 without needing an explicit initializer.

> 
> It is quite odd to see this only in coverage builds, but the side 
> effects of coverage options might trigger some of gcc's internal 
> analyzer thresholds. Anyway, since there are no concerns about dead 
> code (see 
> https://gitlab.com/xen-project/xen/-/blob/staging/docs/misra/deviations.rst: 
> R2.2, "There shall be no dead code", is globally deviated) and that 
> this might actually be beneficial to remove some caution reports for 
> R9.1 ("The value of an object with automatic storage duration shall not 
> be read before it has been set") I think the overall effect is 
> positive.
> 
>> Irrespective of that I think such a seemingly unnecessary initializer 
>> wants
>> to come with a justifying comment, e.g.
>> 
>>     struct irq_desc *desc = NULL /* gcc14 with -fcondition-coverage 
>> */;
>> 
>> here.
>> 
>> Finally, did you report this to upstream gcc? It's probably too late 
>> to
>> fix in gcc15 (if still present), but it would be nice to have it fixed 
>> in
>> later versions (maybe including a late 14.x).
>> 
>> Jan

-- 
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 Mar 27 09:00:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928737.1331401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txj6A-0006rA-59; Thu, 27 Mar 2025 09:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928737.1331401; Thu, 27 Mar 2025 09:00: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 1txj69-0006r3-W8; Thu, 27 Mar 2025 09:00:25 +0000
Received: by outflank-mailman (input) for mailman id 928737;
 Thu, 27 Mar 2025 09:00: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txj68-0006qx-8n
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:00:24 +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 e8707f34-0ae9-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 10:00:19 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-ac6ed4ab410so111794266b.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:00:19 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5ebccfb049csm11036342a12.42.2025.03.27.02.00.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 02:00: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: e8707f34-0ae9-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743066019; x=1743670819; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=L2jgDOvPwmBkenNWZjM8NoOIHmfh1BQmSjH3lIERFBM=;
        b=vLEkkz/TW7MUX93qgd6E5BvH21sFqFjlXY1HVNz6K91SHhQMA/vhNHJf8tYyZFUyAv
         kF6cggq6P/0aQ0gIreFfqe37OrWK3TIPH96T0gBlN0IG/ng/xoCY5r7GbzPlXXr3hXgv
         dczaOoPuYMf2OQVLRMouLFUQadBYx8fud23Ec=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743066019; x=1743670819;
        h=in-reply-to: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=L2jgDOvPwmBkenNWZjM8NoOIHmfh1BQmSjH3lIERFBM=;
        b=TcwFOTF3v0w7UvRFdAz6BogumDDs8qYXGn/MHyUtMyQHcbt9R/LnbPkKTm6b5H5sRo
         ER12piNNcL6fL3tUJxPSvXZzWU4PSe4/jONpAS04gOi5ySfSPIIDfJTReMkjeM8/bXOF
         9P5s8zVUBFMPsu5+AIkKKoQzlbSx7wu61PcbnJ4XkLxBBxAjhxxUobb810f3dEpKgR5x
         nnxS0WNYCm4zGeL33Q8NT9WM7+0t7gei3WpwSjcoARD9WCm/d2owfdVgYWNIZl7kldPx
         AM0Mkf2TCX86C02AVc1xHxKhM/LqcwkSQAasLWsU/3sTUTkw7no6fSZZv2hjvV+WlTwX
         abdw==
X-Gm-Message-State: AOJu0YzaHw9hHKlE3vAUPQqheFRmxNqN3f56dbddv+ZVlKjSGhEXbMab
	BdkfS0SJvRh6Na0uqTS9OHJTJjsYi9YS58aSLkQtXVx79U/l6qgoKMLPV63h33zPVbKXQUuUXCN
	4
X-Gm-Gg: ASbGncvDVfcBdMb50FJWBUyhvi2g0Rd8L6IS1DxaOV6PojTNwtHH1Fpr18xJK/bc7BN
	YSv0/ZPGVrdvhmaPKmJ6K9Jasxv0++XILU1ETtAOanznlgBvdcjC78ra1TaBScbkZQAq/u7u768
	mC+jjj3YyoMcau0DiiL1p8olHdAYbCZshNCzAiev9R3bQkWpkGBXxdSRDi3SHypn7X8PvETubBM
	thY4ef1hhYWZbUt140I817BGvQcDyui8zTpt99WKCRhALo4wbl/sbE3lp9K9KG/kQt7puJ6b0gd
	l4/IaZMGpY5FH0UEXbZK0pQq8t65ttLwkE0teLfTNgUKUregmA==
X-Google-Smtp-Source: AGHT+IHuea3Lnyi+pm77wHtv7sp2DeHAn/DPNJ4gr7I/cqFIyK/6GLFojOUWxgyf96N5I/S2H2gNQg==
X-Received: by 2002:a17:906:6a20:b0:ac6:b243:e480 with SMTP id a640c23a62f3a-ac6fb0fd669mr226362966b.42.1743066018664;
        Thu, 27 Mar 2025 02:00:18 -0700 (PDT)
Date: Thu, 27 Mar 2025 10:00:17 +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>
Subject: Re: [PATCH v2] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
Message-ID: <Z-UToaPviR7b73iG@macbook.local>
References: <b590b590-764a-4dfe-9e13-975122790329@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b590b590-764a-4dfe-9e13-975122790329@suse.com>

On Tue, Mar 25, 2025 at 08:17:04AM +0100, Jan Beulich wrote:
> Handling of both grants and foreign pages was different between the two
> paths.
> 
> While permitting access to grants would be desirable, doing so would
> require more involved handling; undo that for the time being. In
> particular the page reference obtained would prevent the owning domain
> from changing e.g. the page's type (after the grantee has released the
> last reference of the grant). Instead perhaps another reference on the
> grant would need obtaining. Which in turn would require determining
> which grant that was.
> 
> Foreign pages in any event need permitting on both paths.

I've been wondering about this, and AFAICT the PV equivalent of this
function (the tail of get_page_from_gfn()) is much more limited in
that it just allows access to domain owned RAM or MMIO that has a
backing page (I expect mostly for the low 1MB?).

However for HVM domains we allow to take references to foreign mapped
pages and taking references to MMIO pages is not permitted.

Should the tail of get_page_from_gfn() also be adjusted to make use of
the newly introduced get_page_from_mfn_and_type(), thus unifying the
logic for both PV and HVM?

Could possibly be done in a separate change, I'm just trying to
understand why we have this seemingly different handling for PV vs
HVM.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:15:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928760.1331420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjKO-0003dy-K8; Thu, 27 Mar 2025 09:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928760.1331420; Thu, 27 Mar 2025 09:15: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 1txjKO-0003dr-HE; Thu, 27 Mar 2025 09:15:08 +0000
Received: by outflank-mailman (input) for mailman id 928760;
 Thu, 27 Mar 2025 09:15: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txjKN-0003dl-H6
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:15:07 +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 f8785dd6-0aeb-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 10:15:05 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso5145995e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:15: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-43d82dedeaesm33171285e9.4.2025.03.27.02.15.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:15: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: f8785dd6-0aeb-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743066904; x=1743671704; 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=UpFU0hVE1FrW6ASXlG28jMvykySTG53ROxOxilig8cM=;
        b=HhXDaxI7RdWp9RsV4KdtTSUSnN8SlYWLIU0XyPAlEdKUyozmY6UVi0Fv907V4ucpEX
         TYWGtjLdvtp4zGj3S8Y/+A1wNn1cpGPTT8UJdsbIa/bdMB0cNNlmiN9lnn7oNmm9ncbb
         vpnb40bz47FcYo855RSUB6FIijaVKYgJjct88skSZjkVOEIqKqNqzA7SCdWtYKdHFaRi
         6iCM5lmn/21EY1t6K5K5Ch7LU+aFhjmm816VMoHVgkBnyzHlHAEfPXWGkzhA6D449d4V
         RUaeNR0LpfSBPVyS5xxu5M7k1+vmGztr0ZRRcmDMAgHUZE1tVSrjBBlVP1pJtHvaPy0z
         OhFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743066904; x=1743671704;
        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=UpFU0hVE1FrW6ASXlG28jMvykySTG53ROxOxilig8cM=;
        b=cR4/+c9cLL1kstk2h6HY4S6WKmWwv2QvorYlO+vbWuN8pp9hYT9pRveKIDMrx6AY2o
         TybF//miBOzaYFbW7xcrt4RPJZXyHGx/AmUyxkgnsZ0RUKeANKoViRdbJMO+kjeZfj3R
         wUxxbHF8VD01gvkEoeelwVe1MvLZiqHI1NdedbJJ0uHMzy6T9hrMdWwMAJOnBcvB37f8
         92Q3+ehi4RAPudwHp+eu8YD4IshglNb9qM5sBr1xrWtZ/yzkytuO41xx8jk7hvKdBvdZ
         DRnGpsa/u4cp9MMvYqLZD1fN28+rZq2t00a5n9dNkPv6KeG4PPFvBHGYiokMwOtLIhoG
         GQrw==
X-Gm-Message-State: AOJu0Yy35My4E6GcPrJMeEYRY1w1nuVX/hHFXmdNlqbC7jx+g7Yd0K/B
	xtyZ5kEMcBZIzKER8qu+gfB6PA2rg4vGmdRTxYUxvvP0vso4AVhDO1Lw0lSxGQ==
X-Gm-Gg: ASbGncuxfG1U7S3VfQ9mKTGs3X7BxCKmOu9NQyLX7IfjbGqiXmr1NdUc9NPgG9w38nR
	53ciwCbPP/08kdTB3NFVetifmmNnGffSqHsbPCSS9pHiFUy3Lbfq3E2AUPimOLV2vt3jkqOypk/
	tq5SRUHTql/F4TWcX/q3M6dAWWFCjtMUKJjdieN82LuS16ZBVmU+/bJjC/rjD+lZZUeveGyX9nt
	rtzSN0I9SGIds8V1JYJ9BZvgOzw26h1keDh5zl1Yrxo4C+2TWblDP1UEL4w1xECdns7CEQ2JAaa
	Ji8riQQs2396s4y3LLvs48hBhPmtISH9TzsJYOpZOvBbehOAjpY+nOnncuoluIPFqtYlUKwBxsq
	wVAv1c3O+yjOMrHyVMFQUoLnlKNqRyw==
X-Google-Smtp-Source: AGHT+IGRtD/CowL0rztpF7jAU5osH7r4jUhKpipFK+kJa1qDdKWpLGqDUeRJBDPqA+9ikajicS00Mw==
X-Received: by 2002:a05:6000:1446:b0:39a:ca0c:fb0c with SMTP id ffacd0b85a97d-39ad1759e02mr1973084f8f.28.1743066904509;
        Thu, 27 Mar 2025 02:15:04 -0700 (PDT)
Message-ID: <eb44921a-f6af-4aa9-9395-18e4e47d440a@suse.com>
Date: Thu, 27 Mar 2025 10:15:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/CPU: don't hard-code MTRR availability
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>
References: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
 <Z-UKm6D9pmAEaE_9@macbook.local>
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: <Z-UKm6D9pmAEaE_9@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 09:21, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 25, 2025 at 08:18:11AM +0100, Jan Beulich wrote:
>> In particular if we're running virtualized, the underlying hypervisor
>> (which may be another Xen) may not surface MTRRs, and offer PAT only.
> 
> At least for Xen, I think we offer MTRR uniformly, even on PVH
> guests?

By default we do, but we discussed the option of offering PAT-only environments
beyond leaving it open whether people disabling MTRR support in their guest
config are outside of supported terrain.

>> Fixes: 5a281883cdc3 ("Hardcode many cpu features for x86/64 -- we know 64-bit")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> 
> My main concern is whether the !mtrr path is still functional.  Have
> you tried booting the resulting hypervisor with MTRR masked on CPUID?
> 
> (or alternatively short-circuiting cpu_has_mtrr == 0?)

I didn't think this would be a prereq here. If we boot in an environment truly
lacking MTRR, we'll crash on the first MTRR MSR access - none of those accesses
use the safe accessors. Since you asked, I tried booting with "cpuid=no-mtrr".
As I'm doing this on a system with console, all I can say is that it takes
minutes to reach the point where we'd start setting up Dom0 (which itself then
takes so long that I timed out waiting for it to make progress), due to all
screen output becoming unbelievably slow after AP bringup. Surely something's
screwed somewhere, as VRAM accesses being slow (or fast) shouldn't depend on AP
bringup having completed. I actually suspect it's not just VRAM accesses which
are slow, but that we're left running in uncachable mode altogether for whatever
reason.

What this maybe useful for is to figure out the reason of "Platform timer
appears to have unexpectedly wrapped <N> times", which I saw appear once.

Given this, I'm actually uncertain whether it is legitimate then to take your
ack.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:24:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:24:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928770.1331430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjT5-0006db-E9; Thu, 27 Mar 2025 09:24:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928770.1331430; Thu, 27 Mar 2025 09:24: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 1txjT5-0006dU-At; Thu, 27 Mar 2025 09:24:07 +0000
Received: by outflank-mailman (input) for mailman id 928770;
 Thu, 27 Mar 2025 09:24: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txjT3-0006dL-Rq
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:24:05 +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 39d5f307-0aed-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 10:24:04 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cef035a3bso5144195e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:24:04 -0700 (PDT)
Received: from [10.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-3997f9a3f76sm19498690f8f.37.2025.03.27.02.24.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:24: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: 39d5f307-0aed-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743067444; x=1743672244; 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=VOZTxA0bXH2G6iAH3ohMfXD0PvN8W2Q9SpYZINI6vr4=;
        b=ddAaR+SD5r6uXYD8+BUWfFgnt0bDshPQA4yj++qVEoBXV3A8dTWm1v+oT++yVXg3iZ
         jMN+27yVdlYiX29YRZqYQdOgECcEran3KUZ8L9PVVgLTVM00v81wetlscjLuQZjX59WR
         42H71eJEfWa1LiI0+SAtzG6smBAjzn39L8Ek/kGH91W9VkaXaoHaH8S77s/32jaXrzhF
         lFKSVvnZ3DW/gU6eZBzieH7S9Ava/3+Lh/gSwafGgEFP+jfE8iVPbJDA8GNnZilY3hRL
         L1u2nlfqh4l0z0ZpzVssmdt4k9G62q05KqOSfs0GPWgyLsXYLAsjxuC5TtO9v9kSGulA
         iYXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743067444; x=1743672244;
        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=VOZTxA0bXH2G6iAH3ohMfXD0PvN8W2Q9SpYZINI6vr4=;
        b=IHewCWXRv2a1lOMnpj0aKinnTZMsls1x1jqNpnVG6oFx+IcnAI7M6Zd+9nLl0cZGZn
         5yuVh/M6KeN5Vi/w9pKmV1M48ODKhE5fcZ6AdZb8ysiiF5+OAE1jCq7jTq3iLoHQ7d0g
         STMPVtKZydGHyJUW8h8ZmWhCbfAsObrpv2hXcxYdjsrAddujRa3zoLb4d2tr4H7mb9zT
         0R2dlzo5HmO1rVAYqPucKay5s02S16suGmgUkYX8BuMjc/dNPV2Veiit8dneEVq1frKD
         VNzvpV6PdD06lIe8TqFxErfvazLWUPYvdSz0lSr/+h6FddOSuvM2Cr7H0jCUCQMM+5LR
         Y0Pg==
X-Gm-Message-State: AOJu0YyfIeeCUhV2hg7gzm8i+ozqu4EvrjNioEiF+GzVXsG3pKtV2K1e
	9zLw3S57sdKOc4bLy8O9nB89fMuGJppjrgbC9BDy7mrt7s6ObayvF4EJIEoyqA==
X-Gm-Gg: ASbGncv91vcyI/0PYd49vrSO643DGoKplDDLAorjap28AiUjfKUosrHlQTqsL+2686Q
	7X+i3ifDmelnJm+yBL8ue11W2F0nWl7cvH4vlupe866oatww9ctBazi6PhffzyiUj/OK0wQqp+U
	jtC//PJiw8eP3DKTAbouH7vYBZLq/+v57RJn4ExpLzAsMm0zDdonBD2nqITHxeaFeW2P+rjK+u+
	GhX+TEwNMK/ftqeQOCsacD1OdLlkdKzWabXvTcA/XUqEY3NtxmnjwyFg2T0nPjWW+ZdTj5lp97l
	lI1w+KwqYeJ9Ey+FgzxxUmZWOt/If441fdAIsjhMuMRm3Xz1ejt550mk8rwxTHUqcgokk6k/Ggw
	PgWxQSlUDB3djhmibZVSgrmXmJzosyg==
X-Google-Smtp-Source: AGHT+IG0+XNuSAXedirfzs1FEAUuLGE0vViOUNeaJrq8ps2lssiE6D+klPQf0yJKszT8fmuuLHbmig==
X-Received: by 2002:a5d:5847:0:b0:390:d6ab:6c49 with SMTP id ffacd0b85a97d-39ad176bc4emr3143519f8f.35.1743067443740;
        Thu, 27 Mar 2025 02:24:03 -0700 (PDT)
Message-ID: <307f7c6e-bb31-4c0a-890e-a21b7a4e178f@suse.com>
Date: Thu, 27 Mar 2025 10:24:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
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>
References: <b590b590-764a-4dfe-9e13-975122790329@suse.com>
 <Z-UToaPviR7b73iG@macbook.local>
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: <Z-UToaPviR7b73iG@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 10:00, Roger Pau MonnĂŠ wrote:
> On Tue, Mar 25, 2025 at 08:17:04AM +0100, Jan Beulich wrote:
>> Handling of both grants and foreign pages was different between the two
>> paths.
>>
>> While permitting access to grants would be desirable, doing so would
>> require more involved handling; undo that for the time being. In
>> particular the page reference obtained would prevent the owning domain
>> from changing e.g. the page's type (after the grantee has released the
>> last reference of the grant). Instead perhaps another reference on the
>> grant would need obtaining. Which in turn would require determining
>> which grant that was.
>>
>> Foreign pages in any event need permitting on both paths.
> 
> I've been wondering about this, and AFAICT the PV equivalent of this
> function (the tail of get_page_from_gfn()) is much more limited in
> that it just allows access to domain owned RAM or MMIO that has a
> backing page (I expect mostly for the low 1MB?).
> 
> However for HVM domains we allow to take references to foreign mapped
> pages and taking references to MMIO pages is not permitted.
> 
> Should the tail of get_page_from_gfn() also be adjusted to make use of
> the newly introduced get_page_from_mfn_and_type(), thus unifying the
> logic for both PV and HVM?

There's no (proper) use of P2M types in PV, so I don't think using this
function is viable for PV. In particular we'd never observe p2m_foreign
in PV, if I'm not mistaken.

> Could possibly be done in a separate change, I'm just trying to
> understand why we have this seemingly different handling for PV vs
> HVM.

The difference is because access to foreign pages was hacked in to work
for PVH in a much different (and imo yet more hacky) way than it was
made work far longer ago for PV. The crucial part of that is in
get_page_from_l1e(), so get_page_from_gfn() isn't that relevant there
(I think).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:26:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928779.1331440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjUs-0007AV-PN; Thu, 27 Mar 2025 09:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928779.1331440; Thu, 27 Mar 2025 09:25: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 1txjUs-0007AO-M0; Thu, 27 Mar 2025 09:25:58 +0000
Received: by outflank-mailman (input) for mailman id 928779;
 Thu, 27 Mar 2025 09:25: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txjUr-00079s-CL
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:25:57 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7acc7f21-0aed-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 10:25:54 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id
 d9443c01a7336-22409077c06so24513335ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:25:54 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7390611ccf8sm13684380b3a.120.2025.03.27.02.25.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 02:25: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: 7acc7f21-0aed-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743067552; x=1743672352; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=NVxOrG7NX/8GJReusnmyb66C6kB8TVwAgk8AWHcgWrI=;
        b=JeJ2EPwk77yJw8bQp3r8WvH3XIX/nWefMGEEP3o2gAJN9rkbhDFQtOfD9uTm6Oscl5
         2EZUj5kJh4PQDxKUhr5bRhGJOtOPVGTmHy+98/uXUVfP+Fpm5VArUVqrorNRj8PZdiam
         oe1VKYmVW4PhRlb4DjRI5Am9yFUIuegPsxaaY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743067552; x=1743672352;
        h=in-reply-to: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=NVxOrG7NX/8GJReusnmyb66C6kB8TVwAgk8AWHcgWrI=;
        b=f+807UyZSfVqBrhZPtAIsSZ2fU8qqkHVu/Q+PNCIiD3s2EzQ3g/fgWlttyUWQdy/Xt
         XLhy+RoUcJj7XcNxJHPWcF/T+g3P1oxXvrPuivZGMA5ucAqKdSFLNOZ8+y9mAgRPrljl
         21sxI2Kx5WLXeQeMSruFwckEZwZl4L5wbUz73yb6CyBeLgCfnwjc3/QkCD5Krbv7l//6
         HCnssXiTkX/YdxO/p+lrRcbuXGd2gCXczrauPm9ODhQcQKOf7DID9QuR4UAp53xrGBI7
         M/tTiubG5LhSHZoIEdOTRQwHj8YtQL3bxdUwBSFmVjRUmgKGYayo8M/YH4nxbcTQEwpU
         NARg==
X-Gm-Message-State: AOJu0YxToAbQnFrcaZfufts2Q2Ol4PN3Nh11VQI3kE232eQNx6JsgPh4
	3lNqTpfW9e6KLpnZr8RtaOP8Cmc1wUAiKN3x6is5+91gcHmDiFS0KxB9DnExqPo=
X-Gm-Gg: ASbGncsE5G7HTzZZvPnI0scjtdpmNvH/y43VwSuAtALfWx0JQZ9XugLluDqqiBW+4ML
	EkQtoHfkvjFvWdbuOTMkN5hOhBsA08HEL6pl2ylqMURCVjPkbqdMWsYFmjjZtIngxpKFt5IPL+E
	rIu3JAn/rg495QZN1KXRxqyliIVUSlboo6dTjqb/lgRBDvbz2np77hO5LjjBYVXcqoQxG6ZEwb2
	FNHjlfAM28ej6aeIrxsTyUJPpgl/fFhc2DX0ox/I42f4VM7FjQ+D+qq9O9ZncuNSO6NzOy0dHKa
	vqwQC5tmHIS9ePoU+K3r+NkbfPKE5IPlI+zpscMdRA10pg9uyn/uvag5Kbq7
X-Google-Smtp-Source: AGHT+IHo/zMKCjwoQ/MhP1QDNeBARcf7QQFqm8bL8PXYNrxXwo46QFsQdgUBRVdytoNtf3Z1unwitQ==
X-Received: by 2002:a05:6a21:58b:b0:1f5:86f2:ba57 with SMTP id adf61e73a8af0-1fea2ef626cmr7220933637.30.1743067552423;
        Thu, 27 Mar 2025 02:25:52 -0700 (PDT)
Date: Thu, 27 Mar 2025 10:25:47 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Huang Rui <ray.huang@amd.com>
Subject: Re: [PATCH v1 1/3] vpci: Hide capability when it fails to initialize
Message-ID: <Z-UZm5sTIz4nOt4-@macbook.local>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250327073214.158210-1-Jiqian.Chen@amd.com>

On Thu, Mar 27, 2025 at 03:32:12PM +0800, Jiqian Chen wrote:
> When vpci fails to initialize a capability of a device, it just
> return error instead of catching and processing exception. That
> makes the entire device unusable.
> 
> So, refactor REGISTER_VPCI_INIT to contain more capability specific
> information, and try to hide capability when initialization fails
> in vpci_assign_device().
> 
> What's more, change the definition of init_header() since it is
> not a capability and it is needed for all devices' PCI config space.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> ---
> Hi all,
> 
> This patch aims to hide a capability when its initialization fails.
> That causes we can't rely on vpci_deassign_device() to clean up assigned
> resources, so, following two patches clean up resources in the failure
> path of init function.
> 
> Best regards,
> Jiqian Chen.
> ---
>  xen/drivers/vpci/header.c |  3 +-
>  xen/drivers/vpci/msi.c    |  2 +-
>  xen/drivers/vpci/msix.c   |  2 +-
>  xen/drivers/vpci/rebar.c  |  2 +-
>  xen/drivers/vpci/vpci.c   | 65 +++++++++++++++++++++++++++++++++------
>  xen/include/xen/vpci.h    | 27 ++++++++++++----
>  6 files changed, 81 insertions(+), 20 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ef6c965c081c..8c8e4ac5698a 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -745,7 +745,7 @@ static int bar_add_rangeset(const struct pci_dev *pdev, struct vpci_bar *bar,
>      return !bar->mem ? -ENOMEM : 0;
>  }
>  
> -static int cf_check init_header(struct pci_dev *pdev)
> +int vpci_init_header(struct pci_dev *pdev)
>  {
>      uint16_t cmd;
>      uint64_t addr, size;
> @@ -1007,7 +1007,6 @@ 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);
>  
>  /*
>   * Local variables:
> diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
> index 66e5a8a116be..9d7a9fd8dba1 100644
> --- a/xen/drivers/vpci/msi.c
> +++ b/xen/drivers/vpci/msi.c
> @@ -270,7 +270,7 @@ static int cf_check init_msi(struct pci_dev *pdev)
>  
>      return 0;
>  }
> -REGISTER_VPCI_INIT(init_msi, VPCI_PRIORITY_LOW);
> +REGISTER_VPCI_LEGACY_CAP(PCI_CAP_ID_MSI, init_msi, VPCI_PRIORITY_LOW);
>  
>  void vpci_dump_msi(void)
>  {
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index 6bd8c55bb48e..50e5f38c1e09 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -753,7 +753,7 @@ static int cf_check init_msix(struct pci_dev *pdev)
>  
>      return 0;
>  }
> -REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_HIGH);
> +REGISTER_VPCI_LEGACY_CAP(PCI_CAP_ID_MSIX, init_msix, VPCI_PRIORITY_HIGH);
>  
>  /*
>   * Local variables:
> diff --git a/xen/drivers/vpci/rebar.c b/xen/drivers/vpci/rebar.c
> index 793937449af7..7c53ee031887 100644
> --- a/xen/drivers/vpci/rebar.c
> +++ b/xen/drivers/vpci/rebar.c
> @@ -118,7 +118,7 @@ static int cf_check init_rebar(struct pci_dev *pdev)
>  
>      return 0;
>  }
> -REGISTER_VPCI_INIT(init_rebar, VPCI_PRIORITY_LOW);
> +REGISTER_VPCI_EXTEND_CAP(PCI_EXT_CAP_ID_REBAR, init_rebar, VPCI_PRIORITY_LOW);
>  
>  /*
>   * Local variables:
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 1e6aa5d799b9..a8362e46e097 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -36,8 +36,8 @@ struct vpci_register {
>  };
>  
>  #ifdef __XEN__
> -extern vpci_register_init_t *const __start_vpci_array[];
> -extern vpci_register_init_t *const __end_vpci_array[];
> +extern vpci_capability_t *const __start_vpci_array[];
> +extern vpci_capability_t *const __end_vpci_array[];
>  #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
>  
>  #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> @@ -83,6 +83,47 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
>  
>  #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
>  
> +static int vpci_init_cap_with_priority(struct pci_dev *pdev,
> +                                       const char *priority)
> +{
> +    for ( unsigned int i = 0; i < NUM_VPCI_INIT; i++ )
> +    {
> +        const vpci_capability_t *capability = __start_vpci_array[i];
> +        const unsigned int cap_id = capability->id;
> +        unsigned int pos;
> +        int rc;
> +
> +        if ( *(capability->priority) != *priority )
> +            continue;
> +
> +        if ( !capability->is_ext )
> +            pos = pci_find_cap_offset(pdev->sbdf, cap_id);
> +        else
> +            pos = pci_find_ext_capability(pdev->sbdf, cap_id);
> +
> +        if ( !pos )
> +            continue;
> +
> +        rc = capability->init(pdev);
> +
> +        if ( rc )
> +        {
> +            printk(XENLOG_WARNING "%pd %pp: cap init fail rc=%d, try to hide\n",
> +                   pdev->domain, &pdev->sbdf, rc);
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   pos, capability->is_ext ? 4 : 1, NULL);

Are you sure this works as intended?  The capability ID 0 is marked as
"reserved" in the spec, so it's unclear to me how OSes would handle
finding such capability on the list - I won't be surprised if some
implementations decide to terminate the walk.  It's fine to mask the
capability ID for the ones that we don't want to expose, but there's
further work to do IMO.

The usual way to deal with masking capabilities is to short circuit
the capability from the linked list, by making the previous capability
"Next Capability Offset" point to the next capability in the list,
thus skipping the current one. So:

capability[n - 1].next_cap = capability[n].next_cap

IOW: you will need to add the handler to the previous capability on
the list.  That's how it's already done in init_header().

> +            if ( rc )
> +            {
> +                printk(XENLOG_ERR "%pd %pp: fail to hide cap rc=%d\n",
> +                       pdev->domain, &pdev->sbdf, rc);
> +                return rc;
> +            }
> +        }
> +    }
> +
> +    return 0;
> +}
> +
>  void vpci_deassign_device(struct pci_dev *pdev)
>  {
>      unsigned int i;
> @@ -128,7 +169,6 @@ void vpci_deassign_device(struct pci_dev *pdev)
>  
>  int vpci_assign_device(struct pci_dev *pdev)
>  {
> -    unsigned int i;
>      const unsigned long *ro_map;
>      int rc = 0;
>  
> @@ -159,12 +199,19 @@ int vpci_assign_device(struct pci_dev *pdev)
>          goto out;
>  #endif
>  
> -    for ( i = 0; i < NUM_VPCI_INIT; i++ )
> -    {
> -        rc = __start_vpci_array[i](pdev);
> -        if ( rc )
> -            break;
> -    }
> +    /*
> +     * Capabilities with high priority like MSI-X need to
> +     * be initialized before header
> +     */
> +    rc = vpci_init_cap_with_priority(pdev, VPCI_PRIORITY_HIGH);
> +    if ( rc )
> +        goto out;

I understand this is not introduced by this change, but I wonder if
there could be a way to ditch the priority stuff for capabilities,
specially now that we only have two "priorities": before or after PCI
header initialization.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:30:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928790.1331450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjYx-0000FZ-8S; Thu, 27 Mar 2025 09:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928790.1331450; Thu, 27 Mar 2025 09:30: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 1txjYx-0000FS-5B; Thu, 27 Mar 2025 09:30:11 +0000
Received: by outflank-mailman (input) for mailman id 928790;
 Thu, 27 Mar 2025 09:30: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txjYv-0000FM-GF
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:30:09 +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 1245ab17-0aee-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 10:30:07 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so565551f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:30: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-39ab907da9asm16933532f8f.90.2025.03.27.02.30.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:30: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: 1245ab17-0aee-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743067807; x=1743672607; 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=W4vZBvYaByNd9A1fE5NNYaUZh1Or1PdoNuWSV/1koD0=;
        b=DUdK0Y7NUurY44iImp8JNB9IG9J+MPTATQ2DqQj2cqiOIl/phjvGDrATaIBtE+DpJS
         C5al0EFOhkWQeAwP08m2DJG6sZeUAdJbJDh8Vf8z8WMjqdqupPRyV2e/j73P/XwL8aUK
         AMz9K2WQ8qCA5Ga5IF3JvzI4oqH9wIpzUc+v5RxHrRGc8CfWYGJqfuCJwS9mC9v1HaTb
         B+G77gvi00hmSjG6se72PbMxLLsplsfTnnZEFSFZUP/n/hOE9Ns7gNelqK7GG2L7r04G
         a4YcqO7zyk3KGVjIVgcAdVwpopuYfmGt4xa32EZBPLw/wK2aBZMsKEdIkhAufT9DhyyP
         k3AQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743067807; x=1743672607;
        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=W4vZBvYaByNd9A1fE5NNYaUZh1Or1PdoNuWSV/1koD0=;
        b=sCSkCjZIP9UA44UVsOlF7RzNSGLkmTOysVTQvonMmYNJES7AwQFe046TNZq6fBllDA
         jJMv/EX25tXdEFokC8U2Rit4cRAzm7nRWuOlor7MthId+oTYb3jWXRgCaRda1EaJfe3V
         mQnkuqCmd0jL7nfUcuH9hfmo4GJrbeDT7tjfN7qdzLjzOPZA6McMXhHArYnap8Uq993L
         CpoRON8M5uxCc+cwRUCRYDhH7/pnKOlnhfyeuzc6LGYt91pbY+jsFThKpGhkCr3MxQtU
         kwjusnni7m1u0ac+cSNzDAt8qU/F+UTAbRGhvEbWNY9uePa0am0ekEe6T1Wcjg1SBfpI
         D4bQ==
X-Gm-Message-State: AOJu0Yx12D5LxLBwXDGrRw2sYmhRUAH1EvuR1Iq7q5NFafLdAuPivVlv
	NhJv+tA2nY8qfsGChfRZ1sQ4EBbnvFFQpJ04BfHJWNmpZW4HWQSN28ObdfNERw==
X-Gm-Gg: ASbGncuN605M8xGhQ6eg4tpSofrH9s6FCPrgQz1sqTeX6nz3oZJSQlqJTeFRi9vtUv5
	37H0LZf3ZNHlJFLXbYZDqgc9cFD+8m2EGktdZZEh6i2HMZ5xMuz44pkuXaHBfk42hwSiXiIjxca
	Lw8CMv/WuL8Aj7bBAE7sV76ODSD4U6ahs8t75+bhFxUa9a3eV8xJMzpvUImL+MRw4CHWIOT/cBi
	2b8HCwg5IfeuQYttVn94PsH3UVEBLJfYiq8bGmvriHjhW4Yo4jhcQk45hmrAFGPUFeyuHQXv/N/
	PMVc/ysvzSI8I1uEi6g85BnG+cKl5j/weIvq0Y1nt1PDKKfK/PVGY3NBu+6inaoseasNLSkNReF
	wkaawirvH9Ta22wdVJE41+YGXdkfi9Q==
X-Google-Smtp-Source: AGHT+IExw33n57Jurm/4GA5OUknOZplGOJ7D9HQh3OoC5LzEXuN2WqDGWeMjvojVRDkPsLDwleIXDw==
X-Received: by 2002:a05:6000:4011:b0:38d:bccf:f342 with SMTP id ffacd0b85a97d-39ad1760510mr2298061f8f.43.1743067806845;
        Thu, 27 Mar 2025 02:30:06 -0700 (PDT)
Message-ID: <bb3a7a97-b90e-461e-9ebb-edf8cfbe430a@suse.com>
Date: Thu, 27 Mar 2025 10:30:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/CPU: don't hard-code MTRR availability
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>
References: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
 <Z-UKm6D9pmAEaE_9@macbook.local>
 <eb44921a-f6af-4aa9-9395-18e4e47d440a@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: <eb44921a-f6af-4aa9-9395-18e4e47d440a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 10:15, Jan Beulich wrote:
> On 27.03.2025 09:21, Roger Pau MonnĂŠ wrote:
>> My main concern is whether the !mtrr path is still functional.  Have
>> you tried booting the resulting hypervisor with MTRR masked on CPUID?
>>
>> (or alternatively short-circuiting cpu_has_mtrr == 0?)
> 
> I didn't think this would be a prereq here. If we boot in an environment truly
> lacking MTRR, we'll crash on the first MTRR MSR access - none of those accesses
> use the safe accessors. Since you asked, I tried booting with "cpuid=no-mtrr".
> As I'm doing this on a system with console, all I can say is that it takes
> minutes to reach the point where we'd start setting up Dom0 (which itself then
> takes so long that I timed out waiting for it to make progress), due to all
> screen output becoming unbelievably slow after AP bringup. Surely something's
> screwed somewhere, as VRAM accesses being slow (or fast) shouldn't depend on AP
> bringup having completed. I actually suspect it's not just VRAM accesses which
> are slow, but that we're left running in uncachable mode altogether for whatever
> reason.

I think found a trivial way to avoid this, and the change there imo makes sense
even if I can't explain this particular aspect of it. I'll submit that
independently.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:36:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928805.1331459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjeV-0002N6-U0; Thu, 27 Mar 2025 09:35:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928805.1331459; Thu, 27 Mar 2025 09:35: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 1txjeV-0002Mz-RJ; Thu, 27 Mar 2025 09:35:55 +0000
Received: by outflank-mailman (input) for mailman id 928805;
 Thu, 27 Mar 2025 09:35: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txjeU-0002Mt-GZ
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:35:54 +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 db226ea3-0aee-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 10:35:44 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5e5cded3e2eso1213425a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:35:44 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebccf67591sm10779994a12.3.2025.03.27.02.35.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:35: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: db226ea3-0aee-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743068144; x=1743672944; 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=T18egcP3xFa+j5OuoMHL/WYufvsDa+8iCmW2SU808RA=;
        b=m3PuO4busgihc8UspyXe1NTD5T0VgBRyrVRWd5YJM1iLRFGRpqr8vAe44RMm0EFMgr
         r4FE6Bx/myl1mQ4GG7Qp6wLjvj0w7+iGgevvv22cK4r0ryU+IOvCDIQnIvryGeYYgP93
         4sc1oU835RxRL/tGxpZ2lml2xynQjpXUxyr4jDbKCoTIjEaKF8I42H/0AIQs8oqD/aD0
         tvASNE+Z6V8phHg5SA821Jroc+rVRJg5xaHj/B48VX0TuE8CFiQlw8zmXcBxV7OZubUP
         9I9oQuqc5hgpDLxyCYo378HekEFWel94HvS0ubgNiORGI5zuNkupybzoKRFaSatv8VzQ
         YJMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743068144; x=1743672944;
        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=T18egcP3xFa+j5OuoMHL/WYufvsDa+8iCmW2SU808RA=;
        b=rh387Qv17xLp2hIyQjdMVVtOgN+cOTcq6Q8LKCHyIFzzCpZeGaMuJL3xawQZXQyHZ9
         pO7HINZaRfm/AU9hGwO1uCsn6SQ8i0pKiiLMxXHYHGOYiT/YFnjcXjApb0Ku4dhQ10ss
         Z4m8DlQctvdMOmWLV6oC9n3WfDZp5K6XWxzplndDEi92EUffR+tvSVjOEWQiW9c7ZMcc
         xorC9OUtYmSR9R2n/rEra+BwI18AsaDUGk9eA36dcjCjpWxMHC+aKzJlzIlkJPj1B8EG
         O/kr72bckvNC1zgHwanqT927Vph6O/un4fyxWKkrQcMeeT1PFCzoZuEjwYxykpN4t60x
         GaTw==
X-Forwarded-Encrypted: i=1; AJvYcCXnCKoaPoYj6IJUJhiOsV7U9YnoGuA+5poyjUA9x3rDgjgN4ajvjxw4EIIUziawNCsOuLey4lB4Koo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwN5oDFeGVwoX0xNOevnn9SOae9Z2+Yvh5Yq6nTPZQYO2oRldmD
	tCy8G3glQ2EXV6GEK78Mw03XA44+jMz4B7PAs4D1zF/JhJvzaTlY
X-Gm-Gg: ASbGncvG/R0DYnD51iCVy5HJcwVZt3R6oWP9lz64KuJveDmkvJuiGZxea4O4goTyKmX
	2eW0v3XBhc1YSbhLrLiVJMhox90g66OZgYdzn0kh8CCPW5td7cv/XDzHYDjuJdE8lAp0QQFiAfp
	H0TRs4fImMie8YR5lY+/NxtMQ3wVBnx1U+L/Ao6TFFbjZ/66ijEzEBQl6DMY2u5ghjGfLhypAgq
	SGTV9h9TiVOD2b3tfjR5xORs63e8qolVGK2UFiK/2rcO0svSMAqd+Wsu5MOZr8UUVbEHNd+4INT
	3fwvtDImtJGcjArL2CqkPD5o4c0a5CnS86PBWIR1kDGkabNbQZhhcMhUuGFPrVK2nOsMNPoEw7D
	XnbfYgGYUkRBF9+JbJRX6nrZkqu2jVGs=
X-Google-Smtp-Source: AGHT+IGCYK5cQ6E+FxSnyWjug5hyM1PZkTtI217RlaaPvp3n+c4yukNXWJADCwXsHItxap/xKyZVNQ==
X-Received: by 2002:a05:6402:2816:b0:5e5:49af:411d with SMTP id 4fb4d7f45d1cf-5ed8e7bf6c2mr3176756a12.17.1743068143422;
        Thu, 27 Mar 2025 02:35:43 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------I00DrlvXWfQL64HZgUb4pu1o"
Message-ID: <87fe5ebc-4bbd-4941-814b-5447be06a201@gmail.com>
Date: Thu, 27 Mar 2025 10:35:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
Cc: ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-16-Penny.Zheng@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250326055053.3313146-16-Penny.Zheng@amd.com>

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


On 3/26/25 6:50 AM, Penny Zheng wrote:
> The following functions are only used to deal with XEN_SYSCTL_physinfo,
> then they shall be wrapped:
> - arch_do_physinfo
> - get_outstanding_claims
>
> Signed-off-by: Penny Zheng<Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - no need to wrap declaration
> - add transient #ifdef in sysctl.c for correct compilation
> ---
>   xen/arch/arm/sysctl.c   | 2 ++
>   xen/arch/riscv/stubs.c  | 2 ++
>   xen/arch/x86/sysctl.c   | 2 ++
>   xen/common/page_alloc.c | 2 ++
>   xen/common/sysctl.c     | 2 +-
>   5 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
> index 32cab4feff..2d350b700a 100644
> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -15,6 +15,7 @@
>   #include <asm/arm64/sve.h>
>   #include <public/sysctl.h>
>   
> +#ifdef CONFIG_SYSCTL
>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>   {
>       pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
> @@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>       pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>                                          XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>   }
> +#endif
>   
>   long arch_do_sysctl(struct xen_sysctl *sysctl,
>                       XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
> index 5951b0ce91..7b3f748886 100644
> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
>       BUG_ON("unimplemented");
>   }
>   
> +#ifdef CONFIG_SYSCTL
>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>   {
>       BUG_ON("unimplemented");
>   }
> +#endif /* CONFIG_SYSCTL */

Considering that now we will have CONFIG_SYSCTL, I think it would be better just to drop
definition of arch_do_physinfo() from riscv/stubs.c as it was added to make common code build
for RISC-V happy.

Thanks.

~ Oleksii

>   
>   /* p2m.c */
>   
> diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
> index 1b04947516..d7da476379 100644
> --- a/xen/arch/x86/sysctl.c
> +++ b/xen/arch/x86/sysctl.c
> @@ -91,6 +91,7 @@ static long cf_check smt_up_down_helper(void *data)
>       return ret;
>   }
>   
> +#ifdef CONFIG_SYSCTL
>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>   {
>       memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
> @@ -104,6 +105,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>       if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
>           pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
>   }
> +#endif
>   
>   long arch_do_sysctl(
>       struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 5803a1ef4e..36424a9245 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -601,6 +601,7 @@ out:
>       return ret;
>   }
>   
> +#ifdef CONFIG_SYSCTL
>   void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
>   {
>       spin_lock(&heap_lock);
> @@ -608,6 +609,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 */
>   
>   static bool __read_mostly first_node_initialised;
>   #ifndef CONFIG_SEPARATE_XENHEAP
> diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
> index ccce7fe963..76622503e2 100644
> --- a/xen/common/sysctl.c
> +++ b/xen/common/sysctl.c
> @@ -258,7 +258,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>           ret = sched_adjust_global(&op->u.scheduler_op);
>           break;
>   
> -#endif /* CONFIG_SYSCTL */
>       case XEN_SYSCTL_physinfo:
>       {
>           struct xen_sysctl_physinfo *pi = &op->u.physinfo;
> @@ -301,6 +300,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>       }
>       break;
>   
> +#endif /* CONFIG_SYSCTL */
>       case XEN_SYSCTL_numainfo:
>       {
>           unsigned int i, j, num_nodes;
--------------I00DrlvXWfQL64HZgUb4pu1o
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 3/26/25 6:50 AM, Penny Zheng wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250326055053.3313146-16-Penny.Zheng@amd.com">
      <pre wrap="" class="moz-quote-pre">The following functions are only used to deal with XEN_SYSCTL_physinfo,
then they shall be wrapped:
- arch_do_physinfo
- get_outstanding_claims

Signed-off-by: Penny Zheng <a class="moz-txt-link-rfc2396E" href="mailto:Penny.Zheng@amd.com">&lt;Penny.Zheng@amd.com&gt;</a>
---
v1 -&gt; v2:
- no need to wrap declaration
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/arch/arm/sysctl.c   | 2 ++
 xen/arch/riscv/stubs.c  | 2 ++
 xen/arch/x86/sysctl.c   | 2 ++
 xen/common/page_alloc.c | 2 ++
 xen/common/sysctl.c     | 2 +-
 5 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 32cab4feff..2d350b700a 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,6 +15,7 @@
 #include &lt;asm/arm64/sve.h&gt;
 #include &lt;public/sysctl.h&gt;
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi-&gt;capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     pi-&gt;arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 }
+#endif
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..7b3f748886 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     BUG_ON("unimplemented");
 }
+#endif /* CONFIG_SYSCTL */</pre>
    </blockquote>
    <pre>Considering that now we will have CONFIG_SYSCTL, I think it would be better just to drop
definition of arch_do_physinfo() from riscv/stubs.c as it was added to make common code build
for RISC-V happy.

Thanks.

~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:20250326055053.3313146-16-Penny.Zheng@amd.com">
      <pre wrap="" class="moz-quote-pre">
 
 /* p2m.c */
 
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 1b04947516..d7da476379 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -91,6 +91,7 @@ static long cf_check smt_up_down_helper(void *data)
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     memcpy(pi-&gt;hw_cap, boot_cpu_data.x86_capability,
@@ -104,6 +105,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
         pi-&gt;capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
 }
+#endif
 
 long arch_do_sysctl(
     struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 5803a1ef4e..36424a9245 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -601,6 +601,7 @@ out:
     return ret;
 }
 
+#ifdef CONFIG_SYSCTL
 void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
 {
     spin_lock(&amp;heap_lock);
@@ -608,6 +609,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(&amp;heap_lock);
 }
+#endif /* CONFIG_SYSCTL */
 
 static bool __read_mostly first_node_initialised;
 #ifndef CONFIG_SEPARATE_XENHEAP
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index ccce7fe963..76622503e2 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -258,7 +258,6 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         ret = sched_adjust_global(&amp;op-&gt;u.scheduler_op);
         break;
 
-#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_physinfo:
     {
         struct xen_sysctl_physinfo *pi = &amp;op-&gt;u.physinfo;
@@ -301,6 +300,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
     }
     break;
 
+#endif /* CONFIG_SYSCTL */
     case XEN_SYSCTL_numainfo:
     {
         unsigned int i, j, num_nodes;
</pre>
    </blockquote>
  </body>
</html>

--------------I00DrlvXWfQL64HZgUb4pu1o--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:39:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928815.1331470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjhh-0002xz-C9; Thu, 27 Mar 2025 09:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928815.1331470; Thu, 27 Mar 2025 09:39: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 1txjhh-0002xs-7m; Thu, 27 Mar 2025 09:39:13 +0000
Received: by outflank-mailman (input) for mailman id 928815;
 Thu, 27 Mar 2025 09:39: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txjhf-0002xl-Nd
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:39:11 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54b6c083-0aef-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 10:39:08 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5e5c7d6b96fso1419144a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:39:08 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efd23c70sm1203933966b.149.2025.03.27.02.39.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:39: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: 54b6c083-0aef-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743068348; x=1743673148; 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=hTi8TVr/dkSt1gpQ9AKl4C/K60rIzFwAyjKLnsC0X5w=;
        b=h1iuBHOsChZlHdO39osHWZkOt1oqXbft5sGEAryyu1VqJCn3QzvoDogn3argqT1ved
         XpytNmtYk5rVACb9VgWc0oeYJI1sqokj7tzd0RwgyFT5ZRfwkrMAqVmFrPjYkzN+cgzV
         P+DQ2hZuTUDQJiBUEeFITT4f87RK45LX0gJPZx9MVIj6uoLRIKPQM7tnW+NDeUDbwCzx
         fgspo5Jow+BGIOTKrv0nYrRzaZ8BZWWA85IZEkyjUNoS5KKkwnoUfWsSWT2/0M7xfqvG
         QDND+ouMxbmdSV9DPm41R8QJ6gfsshXp8ra45pHFYPs3Qdl8aRFRVZudrwAgMPkRGvEt
         1ofQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743068348; x=1743673148;
        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=hTi8TVr/dkSt1gpQ9AKl4C/K60rIzFwAyjKLnsC0X5w=;
        b=qsMwuK7PuTfL1QJkTZaXjR1ttfsxxtu4qn/m0xsPbc4lofx0sl2e2SWRg0ZlrLqcXk
         wj0LJAVT3pGtuYcWgTn08Wzwgn/1NgMWIRw0YU9gWP4GXHJ7ZndYY+N3bIn4r1Q9B8dF
         4F3eCSUVlkq/6XxuvgMMyGGIRqbPbUCM2akPd95FuoqwMm7SYwPAm/tif9TW5QI2Feme
         MDPtJ8qy8dh5U1qCHS+X2d4QHD2iFc6OPBEQ39WhvqO5s4seT3VRAhhCS48DjQzF/ONh
         7X0aG+gFC4mA9nR2k7e4uJN/NzGTO8mWe4tkPCEyTjKRSTOaUPtQZAt3YEk2zKm2+Hs/
         ctTw==
X-Forwarded-Encrypted: i=1; AJvYcCUFKrjFDTAn2bENTeetrAVhsndrWqm9rYi/TXVqwjxMEnI7ciRglrxUmIhnaDSi5xNtHHDXYGJ5it0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywg6br30pgddbbCSbNIA930DMPPQnZNOe2lh5LXNNtqdgte58SZ
	6IpKytJTlx61qZHvvpsCazE3q+sYt2pEcXY0qBijRrggHJRMjQwb
X-Gm-Gg: ASbGncut1oyiif9v32jEfHImX3ka73fS/fdGRDIlUrGsXjFq2QOfOPtiEeWxBUP8EN0
	ConnA84KpAu1lQrIhp76jKiJ3DdIa4ZiirZcLGcwjtyfrotXfNHX9Z0jNnMd+XZ/oZga3f/mXU+
	61OM/YPDVIhOBWtSbknTjHA+Ih3LNStUuQBmpUiOCNc2VZu7kVcOmRWoMbTXSndIYd0TWsELJWJ
	7FKvbkkZEaYBmKKFSKmiX24pQZ4ODO7EwtwULudFF4tTUIdYq/ytTDxCqXsqtkzEnrEH+Jz6V95
	hb7ktLDr0AP4hBVLFe5tdTqlNZ5nXxkjnsEtFIfETcN7x9R0O4Sipv34tfxdpHWeY/ADv9gWB6Q
	Ietf4g3Eisf/sXFhbp5fx
X-Google-Smtp-Source: AGHT+IEhotCLr3oNxtl5qFcVT63uqR/alAeOxqd9ggxtqUFbP+jVLmyhnx0S1E/SXGt9FEDfaQNNrg==
X-Received: by 2002:a17:907:944d:b0:ac4:2b0:216f with SMTP id a640c23a62f3a-ac6fb148ddemr234931966b.43.1743068347530;
        Thu, 27 Mar 2025 02:39:07 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------ihmxo806nPx0GHUv0oeQqsF0"
Message-ID: <dd9731ce-3cf4-46ce-8f3c-e40b09d76313@gmail.com>
Date: Thu, 27 Mar 2025 10:39:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
Cc: ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Stefano Stabellini <stefano.stabellini@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-19-Penny.Zheng@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250326055053.3313146-19-Penny.Zheng@amd.com>

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


On 3/26/25 6:50 AM, Penny Zheng wrote:
> Function arch_do_sysctl is to perform arch-specific sysctl op.
> Some functions, like psr_get_info for x86, DTB overlay support for arm,
> are solely available through sysctl op, then they all shall be wrapped
> with CONFIG_SYSCTL
> Also, remove all #ifdef CONFIG_SYSCTL-s in arch-specific sysctl.c, as
> we put the guardian in Makefile for the whole file.
>
> Signed-off-by: Stefano Stabellini<stefano.stabellini@amd.com>
> Signed-off-by: Sergiy Kibrik<Sergiy_Kibrik@epam.com>
> Signed-off-by: Penny Zheng<Penny.Zheng@amd.com>
> ---
> - use "depends on" for config OVERLAY_DTB
> - no need to wrap declaration
> - add transient #ifdef in sysctl.c for correct compilation
> ---
>   xen/arch/arm/Kconfig   |  1 +
>   xen/arch/arm/Makefile  |  2 +-
>   xen/arch/arm/sysctl.c  |  2 --
>   xen/arch/riscv/stubs.c |  2 +-
>   xen/arch/x86/Makefile  |  2 +-
>   xen/arch/x86/psr.c     | 18 ++++++++++++++++++
>   xen/arch/x86/sysctl.c  |  2 --
>   xen/common/sysctl.c    |  2 ++
>   8 files changed, 24 insertions(+), 7 deletions(-)
>
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index ffdff1f0a3..aa1b4a6e6b 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -141,6 +141,7 @@ config HAS_ITS
>   
>   config OVERLAY_DTB
>   	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
> +	depends on SYSCTL
>   	help
>   	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
>   
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 4837ad467a..7c6015b84d 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -54,7 +54,7 @@ obj-y += smpboot.o
>   obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
>   obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
>   obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
> -obj-y += sysctl.o
> +obj-$(CONFIG_SYSCTL) += sysctl.o
>   obj-y += time.o
>   obj-y += traps.o
>   obj-y += vcpreg.o
> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
> index 2d350b700a..32cab4feff 100644
> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -15,7 +15,6 @@
>   #include <asm/arm64/sve.h>
>   #include <public/sysctl.h>
>   
> -#ifdef CONFIG_SYSCTL
>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>   {
>       pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
> @@ -23,7 +22,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>       pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>                                          XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>   }
> -#endif
>   
>   long arch_do_sysctl(struct xen_sysctl *sysctl,
>                       XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
> index 7b3f748886..ae865e1972 100644
> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -322,13 +322,13 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from,
>   
>   /* sysctl.c */
>   
> +#ifdef CONFIG_SYSCTL
>   long arch_do_sysctl(struct xen_sysctl *sysctl,
>                       XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>   {
>       BUG_ON("unimplemented");
>   }

The same as in the previous patch. We can just drop this function for RISC-V as now we
have CONFIG_SYSCTL. This stub was introduced only to make common code build for RISC-V happy.

Thanks.

~ Oleksii

>   
> -#ifdef CONFIG_SYSCTL
>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>   {
>       BUG_ON("unimplemented");
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index f59c9665fd..837eafcbc0 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -79,7 +79,7 @@ ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
>   obj-y += domctl.o
>   obj-y += platform_hypercall.o
>   obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
> -obj-y += sysctl.o
> +obj-$(CONFIG_SYSCTL) += sysctl.o
>   endif
>   
>   extra-y += asm-macros.i
> diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
> index 5815a35335..499d320e61 100644
> --- a/xen/arch/x86/psr.c
> +++ b/xen/arch/x86/psr.c
> @@ -133,9 +133,11 @@ static const struct feat_props {
>        */
>       enum psr_type alt_type;
>   
> +#ifdef CONFIG_SYSCTL
>       /* 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);
> @@ -418,6 +420,7 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
>       return true;
>   }
>   
> +#ifdef CONFIG_SYSCTL
>   static bool cf_check cat_get_feat_info(
>       const struct feat_node *feat, uint32_t data[], unsigned int array_len)
>   {
> @@ -430,6 +433,7 @@ static bool cf_check cat_get_feat_info(
>   
>       return true;
>   }
> +#endif /* CONFIG_SYSCTL */
>   
>   /* L3 CAT props */
>   static void cf_check l3_cat_write_msr(
> @@ -442,11 +446,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
>       .get_feat_info = cat_get_feat_info,
> +#endif
>       .write_msr = l3_cat_write_msr,
>       .sanitize = cat_check_cbm,
>   };
>   
> +#ifdef CONFIG_SYSCTL
>   /* L3 CDP props */
>   static bool cf_check l3_cdp_get_feat_info(
>       const struct feat_node *feat, uint32_t data[], uint32_t array_len)
> @@ -458,6 +465,7 @@ static bool cf_check l3_cdp_get_feat_info(
>   
>       return true;
>   }
> +#endif /* CONFIG_SYSCTL */
>   
>   static void cf_check l3_cdp_write_msr(
>       unsigned int cos, uint32_t val, enum psr_type type)
> @@ -473,7 +481,9 @@ 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
>       .get_feat_info = l3_cdp_get_feat_info,
> +#endif
>       .write_msr = l3_cdp_write_msr,
>       .sanitize = cat_check_cbm,
>   };
> @@ -489,11 +499,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
>       .get_feat_info = cat_get_feat_info,
> +#endif
>       .write_msr = l2_cat_write_msr,
>       .sanitize = cat_check_cbm,
>   };
>   
> +#ifdef CONFIG_SYSCTL
>   /* MBA props */
>   static bool cf_check mba_get_feat_info(
>       const struct feat_node *feat, uint32_t data[], unsigned int array_len)
> @@ -508,6 +521,7 @@ static bool cf_check mba_get_feat_info(
>   
>       return true;
>   }
> +#endif /* CONFIG_SYSCTL */
>   
>   static void cf_check mba_write_msr(
>       unsigned int cos, uint32_t val, enum psr_type type)
> @@ -545,7 +559,9 @@ static const struct feat_props mba_props = {
>       .cos_num = 1,
>       .type[0] = PSR_TYPE_MBA_THRTL,
>       .alt_type = PSR_TYPE_UNKNOWN,
> +#ifdef CONFIG_SYSCTL
>       .get_feat_info = mba_get_feat_info,
> +#endif
>       .write_msr = mba_write_msr,
>       .sanitize = mba_sanitize_thrtl,
>   };
> @@ -808,6 +824,7 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
>       return socket_info + socket;
>   }
>   
> +#ifdef CONFIG_SYSCTL
>   int psr_get_info(unsigned int socket, enum psr_type type,
>                    uint32_t data[], unsigned int array_len)
>   {
> @@ -839,6 +856,7 @@ int psr_get_info(unsigned int socket, enum psr_type type,
>   
>       return -EINVAL;
>   }
> +#endif /* CONFIG_SYSCTL */
>   
>   int psr_get_val(struct domain *d, unsigned int socket,
>                   uint32_t *val, enum psr_type type)
> diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
> index d7da476379..1b04947516 100644
> --- a/xen/arch/x86/sysctl.c
> +++ b/xen/arch/x86/sysctl.c
> @@ -91,7 +91,6 @@ static long cf_check smt_up_down_helper(void *data)
>       return ret;
>   }
>   
> -#ifdef CONFIG_SYSCTL
>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>   {
>       memcpy(pi->hw_cap, boot_cpu_data.x86_capability,
> @@ -105,7 +104,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>       if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
>           pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
>   }
> -#endif
>   
>   long arch_do_sysctl(
>       struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
> diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
> index 76622503e2..b0e2e43c7e 100644
> --- a/xen/common/sysctl.c
> +++ b/xen/common/sysctl.c
> @@ -490,8 +490,10 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>           break;
>   
>       default:
> +#ifdef CONFIG_SYSCTL
>           ret = arch_do_sysctl(op, u_sysctl);
>           copyback = 0;
> +#endif
>           break;
>       }
>   
--------------ihmxo806nPx0GHUv0oeQqsF0
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 3/26/25 6:50 AM, Penny Zheng wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250326055053.3313146-19-Penny.Zheng@amd.com">
      <pre wrap="" class="moz-quote-pre">Function arch_do_sysctl is to perform arch-specific sysctl op.
Some functions, like psr_get_info for x86, DTB overlay support for arm,
are solely available through sysctl op, then they all shall be wrapped
with CONFIG_SYSCTL
Also, remove all #ifdef CONFIG_SYSCTL-s in arch-specific sysctl.c, as
we put the guardian in Makefile for the whole file.

Signed-off-by: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:stefano.stabellini@amd.com">&lt;stefano.stabellini@amd.com&gt;</a>
Signed-off-by: Sergiy Kibrik <a class="moz-txt-link-rfc2396E" href="mailto:Sergiy_Kibrik@epam.com">&lt;Sergiy_Kibrik@epam.com&gt;</a>
Signed-off-by: Penny Zheng <a class="moz-txt-link-rfc2396E" href="mailto:Penny.Zheng@amd.com">&lt;Penny.Zheng@amd.com&gt;</a>
---
- use "depends on" for config OVERLAY_DTB
- no need to wrap declaration
- add transient #ifdef in sysctl.c for correct compilation
---
 xen/arch/arm/Kconfig   |  1 +
 xen/arch/arm/Makefile  |  2 +-
 xen/arch/arm/sysctl.c  |  2 --
 xen/arch/riscv/stubs.c |  2 +-
 xen/arch/x86/Makefile  |  2 +-
 xen/arch/x86/psr.c     | 18 ++++++++++++++++++
 xen/arch/x86/sysctl.c  |  2 --
 xen/common/sysctl.c    |  2 ++
 8 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ffdff1f0a3..aa1b4a6e6b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -141,6 +141,7 @@ config HAS_ITS
 
 config OVERLAY_DTB
 	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
+	depends on SYSCTL
 	help
 	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 4837ad467a..7c6015b84d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -54,7 +54,7 @@ obj-y += smpboot.o
 obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
 obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
 obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 obj-y += time.o
 obj-y += traps.o
 obj-y += vcpreg.o
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 2d350b700a..32cab4feff 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,7 +15,6 @@
 #include &lt;asm/arm64/sve.h&gt;
 #include &lt;public/sysctl.h&gt;
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi-&gt;capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -23,7 +22,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     pi-&gt;arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 }
-#endif
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 7b3f748886..ae865e1972 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -322,13 +322,13 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from,
 
 /* sysctl.c */
 
+#ifdef CONFIG_SYSCTL
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
     BUG_ON("unimplemented");
 }</pre>
    </blockquote>
    <pre>The same as in the previous patch. We can just drop this function for RISC-V as now we
have CONFIG_SYSCTL. This stub was introduced only to make common code build for RISC-V happy.

Thanks.

~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:20250326055053.3313146-19-Penny.Zheng@amd.com">
      <pre wrap="" class="moz-quote-pre">
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f59c9665fd..837eafcbc0 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -79,7 +79,7 @@ ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
 obj-y += platform_hypercall.o
 obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
-obj-y += sysctl.o
+obj-$(CONFIG_SYSCTL) += sysctl.o
 endif
 
 extra-y += asm-macros.i
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index 5815a35335..499d320e61 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -133,9 +133,11 @@ static const struct feat_props {
      */
     enum psr_type alt_type;
 
+#ifdef CONFIG_SYSCTL
     /* 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);
@@ -418,6 +420,7 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
     return true;
 }
 
+#ifdef CONFIG_SYSCTL
 static bool cf_check cat_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
 {
@@ -430,6 +433,7 @@ static bool cf_check cat_get_feat_info(
 
     return true;
 }
+#endif /* CONFIG_SYSCTL */
 
 /* L3 CAT props */
 static void cf_check l3_cat_write_msr(
@@ -442,11 +446,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
     .get_feat_info = cat_get_feat_info,
+#endif
     .write_msr = l3_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
+#ifdef CONFIG_SYSCTL
 /* L3 CDP props */
 static bool cf_check l3_cdp_get_feat_info(
     const struct feat_node *feat, uint32_t data[], uint32_t array_len)
@@ -458,6 +465,7 @@ static bool cf_check l3_cdp_get_feat_info(
 
     return true;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void cf_check l3_cdp_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -473,7 +481,9 @@ 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
     .get_feat_info = l3_cdp_get_feat_info,
+#endif
     .write_msr = l3_cdp_write_msr,
     .sanitize = cat_check_cbm,
 };
@@ -489,11 +499,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
     .get_feat_info = cat_get_feat_info,
+#endif
     .write_msr = l2_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
+#ifdef CONFIG_SYSCTL
 /* MBA props */
 static bool cf_check mba_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
@@ -508,6 +521,7 @@ static bool cf_check mba_get_feat_info(
 
     return true;
 }
+#endif /* CONFIG_SYSCTL */
 
 static void cf_check mba_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -545,7 +559,9 @@ static const struct feat_props mba_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_MBA_THRTL,
     .alt_type = PSR_TYPE_UNKNOWN,
+#ifdef CONFIG_SYSCTL
     .get_feat_info = mba_get_feat_info,
+#endif
     .write_msr = mba_write_msr,
     .sanitize = mba_sanitize_thrtl,
 };
@@ -808,6 +824,7 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
     return socket_info + socket;
 }
 
+#ifdef CONFIG_SYSCTL
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len)
 {
@@ -839,6 +856,7 @@ int psr_get_info(unsigned int socket, enum psr_type type,
 
     return -EINVAL;
 }
+#endif /* CONFIG_SYSCTL */
 
 int psr_get_val(struct domain *d, unsigned int socket,
                 uint32_t *val, enum psr_type type)
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index d7da476379..1b04947516 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -91,7 +91,6 @@ static long cf_check smt_up_down_helper(void *data)
     return ret;
 }
 
-#ifdef CONFIG_SYSCTL
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     memcpy(pi-&gt;hw_cap, boot_cpu_data.x86_capability,
@@ -105,7 +104,6 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
     if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
         pi-&gt;capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
 }
-#endif
 
 long arch_do_sysctl(
     struct xen_sysctl *sysctl, XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 76622503e2..b0e2e43c7e 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -490,8 +490,10 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
         break;
 
     default:
+#ifdef CONFIG_SYSCTL
         ret = arch_do_sysctl(op, u_sysctl);
         copyback = 0;
+#endif
         break;
     }
 
</pre>
    </blockquote>
  </body>
</html>

--------------ihmxo806nPx0GHUv0oeQqsF0--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:50:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928833.1331479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjsX-00073x-Er; Thu, 27 Mar 2025 09:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928833.1331479; Thu, 27 Mar 2025 09: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 1txjsX-00073q-C8; Thu, 27 Mar 2025 09:50:25 +0000
Received: by outflank-mailman (input) for mailman id 928833;
 Thu, 27 Mar 2025 09:50: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txjsV-00073k-Ro
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:50:23 +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 e6b8fc25-0af0-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 10:50:22 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ac6ed4ab410so119058466b.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:50:22 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb52c17sm1205261266b.101.2025.03.27.02.50.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:50: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: e6b8fc25-0af0-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743069022; x=1743673822; 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=0syIvsvukLHj+49FXh8nJVa0XcU3Hs7yr6lTgKow/t8=;
        b=jhWdJDIWMr+bjV66rRJWL4V5TIca70NbswAIiUGDqdaHRK+tyoH5jZF5PLievv3EQg
         gJlQKgPLmZwkLbbK1X0GzdGpOZ9UqimebGtDvvZBd171WzepIIPnzuOiNymXSKxjfr+N
         DqVYc+GIAORtXCGvcN7RhIs8ws4UOxvKo9qA+ywgPSSz/wtVqyuZxAjrFEVMEKk/VbBS
         QeBrcXQBi/sKeXoMih7mx1NDtHF9FaD7LANRgc8n3V5nGeahkxLhS8rPFDsFDGEsBzyp
         kOtv9CaXMNlVpfa3Pk73GO7b9m6VIqrZtPjgF6AYJDsmaOEr5P7aVMULZtBPV1QOY7pu
         Knmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743069022; x=1743673822;
        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=0syIvsvukLHj+49FXh8nJVa0XcU3Hs7yr6lTgKow/t8=;
        b=VYUx41xMSgueg0sNyJ9LSc4tNB3dl72/ku3V51h61HRXlFBAZMchnCS2qcEEaCISBE
         HDp2hDNMC3eP992fWx7vvDliNnuy11WhVn8kASzFWRVOy30i2uRqPOQ44RTGuDXUOd5r
         EBr6xEtczRuWbjtT/7UgEUdCtTFWXcpGpXAbmbgYOWkeFpeDCw5dN0b3wn1WHdiouj3u
         64m/DtwdUeKYI+izqA/cEE8PAaJ/wRvU1kN8J2CRiPyzMzA8MfSJdBG2AJ3gk0+q4Y8W
         CQjyheUe5VzIIrKO2UsN2QJzmTYss2J7Xt7RfAyaYDrdHgFAR6KpBPQkxB+lruXmhPoi
         JnNA==
X-Forwarded-Encrypted: i=1; AJvYcCX+xfAqcdO9O8ywI+h7rwUZZ5d1aqlQGfoS1VVQs45p1X8G3GJRsk1ZrtW954A2wzyl9okuCAZzXIM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxr+3lasSV9WpGCzBwEMs7ll7A7enOREIwBYY7KFN8RTYAU20Lp
	PG8hxEcXnMDUnss18SaSv+B6qLIEePDyJIy6CWppi5JMZw5XByqU
X-Gm-Gg: ASbGncs4a8PF9/KdYYDfV0AJGxkzA/Y4i7gOcb9f1QLqxoGjTerc8LdZt4qPiko0kSC
	JWMJLWOHu6TiqdiYOSqTJ12zUN/MTfgwdpWn7KOAu0muaOzpsFp5KdcKKlm+pfpNfSur3mPQeh6
	oAOVEu3fEY3VhMsBnU+8WN57Q5wjRhpeGugaOFSFd8rxiS2DE5sJ6Xcpvl7COZiD9GQYf9hhYvS
	O1G5r0H7628wtCnqOgdQhdDbAr7inzoSCJsngsq1izgulDvamvc/7anePxYn/rjsK6H3YI7OUe1
	nG/SJBYDOWKm/D/SjTQNw9uOWRoomtnAlMOWviJ8BTSmdDlPPl1xIx+Kh9inyhEUU9EcjOjtLyk
	3JKsYdoNAFcZ6wDunknLLaSjZttmQDW0=
X-Google-Smtp-Source: AGHT+IFuNauv2gsArJsG0j7pD5dXNgSBe59Z23kjZye3uXWDjdrwt6oHWOrG9BTVZupip9o0gfCpPw==
X-Received: by 2002:a17:907:608c:b0:ac1:e2e0:f8d6 with SMTP id a640c23a62f3a-ac6fae9bf39mr219739966b.17.1743069022021;
        Thu, 27 Mar 2025 02:50:22 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------l7IhU0QX0DPtO1uAdi9JAc6z"
Message-ID: <af2fce79-ddf0-4cda-a834-9b255a2d0223@gmail.com>
Date: Thu, 27 Mar 2025 10:50:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/riscv: implement basic aplic_preinit()
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>,
 Romain Caritey <Romain.Caritey@microchip.com>, xen-devel@lists.xenproject.org
References: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <f0945e3a41e911b5dfd005a8d15aa0d668d8e3cf.1742918184.git.oleksii.kurochko@gmail.com>
 <e9fddc7d-feb3-4fd0-830f-de4b7ef17bba@suse.com>
 <242f04d2-50b6-4ce1-8710-6dae2f940b9e@gmail.com>
 <b0af1e38-9c27-469e-8bc9-321d3c49dd2c@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <b0af1e38-9c27-469e-8bc9-321d3c49dd2c@suse.com>

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


On 3/27/25 8:39 AM, Jan Beulich wrote:
> On 26.03.2025 17:49, Oleksii Kurochko wrote:
>> On 3/26/25 4:19 PM, Jan Beulich wrote:
>>> On 25.03.2025 18:36, Oleksii Kurochko wrote:
>>>> Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
>>>> Interrupt Controller (APLIC) in Xen:
>>>>    - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
>>>>      ensuring that only one APLIC instance is supported in S mode.
>>>>    - Initialize APLIC's correspoinding DT node.
>>>>    - Declaring the DT device match table for APLIC.
>>>>    - Setting `aplic_info.hw_version` during its declaration.
>>>>    - Declaring an APLIC device.
>>>>
>>>> Since Microchip originally developed aplic.c [1], an internal discussion
>>>> with them led to the decision to use the MIT license instead of the default
>>>> GPL-2.0-only.
>>>>
>>>> [1]https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d
>>>>
>>>> Signed-off-by: Romain Caritey<Romain.Caritey@microchip.com>
>>>> Signed-off-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>> You recall that From: != 1st S-o-b is unusual, and wants some explanation.
>>> IOW it's unclear who the original author of this patch is.
>> I'm not 100% sure who should be the author. Such patch doesn't exist before but I took the changes
>> based on the changes mentioned in commit message as [1].
>>
>> If you think that the author should be Romain, I am okay with that.
> I can't sensibly form an opinion here. This needs settling between him and you.
>  From your reply I'm not even convinced his S-o-b is legitimately there then.
> You may want to use another, less standard tag in such a case (like the
> Co-developed-by: that I've seen in use here and there) to still give credit to
> him.

I'll have a conversation with Romain and then just re-send the patch.

>
>>>> --- /dev/null
>>>> +++ b/xen/arch/riscv/aplic.c
>>>> @@ -0,0 +1,49 @@
>>>> +/* SPDX-License-Identifier: MIT */
>>>> +
>>>> +/*
>>>> + * xen/arch/riscv/aplic.c
>>>> + *
>>>> + * RISC-V Advanced Platform-Level Interrupt Controller support
>>>> + *
>>>> + * Copyright (c) 2023-2024 Microchip.
>>>> + * Copyright (c) 2024-2025 Vates
>>>> + */
>>>> +
>>>> +#include <xen/errno.h>
>>>> +#include <xen/init.h>
>>>> +#include <xen/types.h>
>>>> +
>>>> +#include <asm/device.h>
>>>> +#include <asm/intc.h>
>>>> +
>>>> +static struct intc_info aplic_info = {
>>>> +    .hw_version = INTC_APLIC
>>>> +};
>>> Is this going to be written to (much) post-init? IOW - __read_mostly or
>>> even __ro_after_init?
>> I think that __read_mostly would be better because intc_info structure in the future
>> will contain member "void *private". And in `private` it can be a data which can
>> be changed.
> You mean the pointer can change? Or merely what it points to, i.e. ...
>
>> For example, `private` can contain an aplic_priv structure:
>> struct aplic_priv {
>>       /* number of irqs */
>>       uint32_t   nr_irqs;
>>
>>       /* base physical address and size */
>>       paddr_t    paddr_start;
>>       paddr_t    paddr_end;
>>       uint64_t   size;
>>
>>       /* registers */
>>       struct aplic_regs   *regs;
>>
>>       /* imsic configuration */
>>       const struct imsic_config *imsic_cfg;
>> };
>>
>> and regs from aplic_priv structure can be changed in runtime.
> ... the contents of such a struct? In this latter case the struct instance
> here can still be __ro_after_init as long as the pointer is set from an
> __init function.

I meant that the data will be changed. The pointer will be initialized once
in the following way:
static struct intc_info aplic_info = {
     .hw_version = INTC_APLIC,
     .private = &aplic
};

I will update for both structures __ro_after_init() then.

Thanks for clarification.

~ Oleksii

--------------l7IhU0QX0DPtO1uAdi9JAc6z
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 3/27/25 8:39 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:b0af1e38-9c27-469e-8bc9-321d3c49dd2c@suse.com">
      <pre wrap="" class="moz-quote-pre">On 26.03.2025 17:49, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 3/26/25 4:19 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 25.03.2025 18:36, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
Interrupt Controller (APLIC) in Xen:
  - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
    ensuring that only one APLIC instance is supported in S mode.
  - Initialize APLIC's correspoinding DT node.
  - Declaring the DT device match table for APLIC.
  - Setting `aplic_info.hw_version` during its declaration.
  - Declaring an APLIC device.

Since Microchip originally developed aplic.c [1], an internal discussion
with them led to the decision to use the MIT license instead of the default
GPL-2.0-only.

[1]<a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d">https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d</a>

Signed-off-by: Romain Caritey<a class="moz-txt-link-rfc2396E" href="mailto:Romain.Caritey@microchip.com">&lt;Romain.Caritey@microchip.com&gt;</a>
Signed-off-by: Oleksii Kurochko<a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">You recall that From: != 1st S-o-b is unusual, and wants some explanation.
IOW it's unclear who the original author of this patch is.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
I'm not 100% sure who should be the author. Such patch doesn't exist before but I took the changes
based on the changes mentioned in commit message as [1].

If you think that the author should be Romain, I am okay with that.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I can't sensibly form an opinion here. This needs settling between him and you.
>From your reply I'm not even convinced his S-o-b is legitimately there then.
You may want to use another, less standard tag in such a case (like the
Co-developed-by: that I've seen in use here and there) to still give credit to
him.</pre>
    </blockquote>
    <pre>I'll have a conversation with Romain and then just re-send the patch.
</pre>
    <blockquote type="cite"
      cite="mid:b0af1e38-9c27-469e-8bc9-321d3c49dd2c@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">--- /dev/null
+++ b/xen/arch/riscv/aplic.c
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * xen/arch/riscv/aplic.c
+ *
+ * RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) 2023-2024 Microchip.
+ * Copyright (c) 2024-2025 Vates
+ */
+
+#include &lt;xen/errno.h&gt;
+#include &lt;xen/init.h&gt;
+#include &lt;xen/types.h&gt;
+
+#include &lt;asm/device.h&gt;
+#include &lt;asm/intc.h&gt;
+
+static struct intc_info aplic_info = {
+    .hw_version = INTC_APLIC
+};
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Is this going to be written to (much) post-init? IOW - __read_mostly or
even __ro_after_init?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
I think that __read_mostly would be better because intc_info structure in the future
will contain member "void *private". And in `private` it can be a data which can
be changed.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
You mean the pointer can change? Or merely what it points to, i.e. ...

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">For example, `private` can contain an aplic_priv structure:
struct aplic_priv {
     /* number of irqs */
     uint32_t   nr_irqs;

     /* base physical address and size */
     paddr_t    paddr_start;
     paddr_t    paddr_end;
     uint64_t   size;

     /* registers */
     struct aplic_regs   *regs;

     /* imsic configuration */
     const struct imsic_config *imsic_cfg;
};

and regs from aplic_priv structure can be changed in runtime.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... the contents of such a struct? In this latter case the struct instance
here can still be __ro_after_init as long as the pointer is set from an
__init function.</pre>
    </blockquote>
    <pre>I meant that the data will be changed. The pointer will be initialized once
in the following way:
static struct intc_info aplic_info = {
    .hw_version = INTC_APLIC,
    .private = &amp;aplic
};

I will update for both structures __ro_after_init() then.

Thanks for clarification.

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

--------------l7IhU0QX0DPtO1uAdi9JAc6z--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:50:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928839.1331490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjsw-0007c8-ME; Thu, 27 Mar 2025 09:50:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928839.1331490; Thu, 27 Mar 2025 09:50: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 1txjsw-0007by-JQ; Thu, 27 Mar 2025 09:50:50 +0000
Received: by outflank-mailman (input) for mailman id 928839;
 Thu, 27 Mar 2025 09:50: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txjsv-0007PE-Hl
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:50:49 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5155b28-0af0-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 10:50:47 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-22403cbb47fso17088465ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:50:47 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-22780f39763sm125075565ad.10.2025.03.27.02.50.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 02:50: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: f5155b28-0af0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743069046; x=1743673846; darn=lists.xenproject.org;
        h=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=62R4Thfwk/slnHCpPaDFFM5GYBbA/tG5qE0frhplIqA=;
        b=BJBR2Giy5nu5D+h6B3LnswKGow+xO7Y2KFguyQC/1XyBueiILLrhHtU3pd3TSP2slm
         YlPni62VWSLsIBO3BrI9EyT032OlLmuzTyIGfE9t7co0MJ9radJy3Wy78ChZelPOqjFx
         +MadKenW54vPING2SRUF4XvgQMjWTe17APyJQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743069046; x=1743673846;
        h=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=62R4Thfwk/slnHCpPaDFFM5GYBbA/tG5qE0frhplIqA=;
        b=eam695WDca+/KxzTMEy8Ldb1Nzvx9dffeGw0hNPomDo6tOmnMji8LJhJH58TauJ9e1
         I3lwJ9BrBH9uOquwEb5VF7aXpJoNYcHkXEd0kvVQwYm1qc+dai+yddw9XJBYzPpUVP6j
         hjSgvqgBBYVO/ta93f5FLIQlY4Sn44K25K5YLLBi84pbUWp4Pr03+10teHMNrM1HoE8g
         pUW7fTeXpql42ZLo4fGOQu+FSiL7tVWc3DLNY2yMhV8SBUDRu5TJ+0uYtjl7ZUuQBEX1
         ABH+94B9FfXNZEhkY5VD5byNtmbkuQ7c8Nyl9GphUjpuNwTBB3ccLNeNv1Lq2at964aB
         Rpdw==
X-Gm-Message-State: AOJu0Yy/pKQLbfhRJxSTW8UMsrTFEki8TYWNn1dO5e+5NCaVoXV7f2Yg
	mU5ics9x+vi3cjKcOoqQukXb5MJ2oU/xNjOMomopZNXFX5x7CgII0b1tD9LBjRE=
X-Gm-Gg: ASbGnctpZx883xiaXOUM0XNh0qHsSsp4KtZWgYo5ZhtNxvx3GRmMmcsI/REP0O/l3ku
	1hrOlHVLachDsfnME0rPrEPnGfcwRaga1oqSisT50cZ4y1pNmzmsSba9CSp2xMJXSQmhEWY4T6G
	5BaYfQ9Ya+DJlTTNdW9vpA9/2uAB7KYp2WpUPscwIOVdeqIPna1M1ooe+FUtxVOcj6NDPaC0QSk
	Ioyxd04UyUzzsIu7lJbiNhBnkYLPQk9NijFo2HvsjGZUIFveqzN9ozZCIqF47JQl8J1+jZyaxTI
	Uef5ljtm5OEE/Yud6m5TeAgC96zCG7rK0yvzDvrVMqPZD9AkUA==
X-Google-Smtp-Source: AGHT+IFGVTuNe0E6D2IFJmKpJ83MTUuUhBOIVsV2kv20NzcJSzXPdmOWuy6koKts0+vEk/ubT4vpBw==
X-Received: by 2002:a17:902:d4c5:b0:227:ac2a:1dd6 with SMTP id d9443c01a7336-22804874707mr53259835ad.24.1743069046039;
        Thu, 27 Mar 2025 02:50:46 -0700 (PDT)
Date: Thu, 27 Mar 2025 10:50:40 +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>
Subject: Re: [PATCH] x86/CPU: don't hard-code MTRR availability
Message-ID: <Z-UfcHfHys6c0HZb@macbook.local>
References: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
 <Z-UKm6D9pmAEaE_9@macbook.local>
 <eb44921a-f6af-4aa9-9395-18e4e47d440a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <eb44921a-f6af-4aa9-9395-18e4e47d440a@suse.com>

On Thu, Mar 27, 2025 at 10:15:03AM +0100, Jan Beulich wrote:
> On 27.03.2025 09:21, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 25, 2025 at 08:18:11AM +0100, Jan Beulich wrote:
> >> In particular if we're running virtualized, the underlying hypervisor
> >> (which may be another Xen) may not surface MTRRs, and offer PAT only.
> > 
> > At least for Xen, I think we offer MTRR uniformly, even on PVH
> > guests?
> 
> By default we do, but we discussed the option of offering PAT-only environments
> beyond leaving it open whether people disabling MTRR support in their guest
> config are outside of supported terrain.
> 
> >> Fixes: 5a281883cdc3 ("Hardcode many cpu features for x86/64 -- we know 64-bit")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> > 
> > My main concern is whether the !mtrr path is still functional.  Have
> > you tried booting the resulting hypervisor with MTRR masked on CPUID?
> > 
> > (or alternatively short-circuiting cpu_has_mtrr == 0?)
> 
> I didn't think this would be a prereq here. If we boot in an environment truly
> lacking MTRR, we'll crash on the first MTRR MSR access - none of those accesses
> use the safe accessors.

Right, hopefully we don't have unprotected MTRR MSR accesses, so
cpu_has_mtrr == 0 should prevent those.

> Since you asked, I tried booting with "cpuid=no-mtrr".
> As I'm doing this on a system with console, all I can say is that it takes
> minutes to reach the point where we'd start setting up Dom0 (which itself then
> takes so long that I timed out waiting for it to make progress), due to all
> screen output becoming unbelievably slow after AP bringup. Surely something's
> screwed somewhere, as VRAM accesses being slow (or fast) shouldn't depend on AP
> bringup having completed. I actually suspect it's not just VRAM accesses which
> are slow, but that we're left running in uncachable mode altogether for whatever
> reason.
> 
> What this maybe useful for is to figure out the reason of "Platform timer
> appears to have unexpectedly wrapped <N> times", which I saw appear once.
> 
> Given this, I'm actually uncertain whether it is legitimate then to take your
> ack.

I think it might be best if we can figure out what causes those issues
(and possibly fix them) before taking this patch?

Albeit you could argue that running excruciatingly slow is better than
just crashing of an unhandled #GP from a rdmsr.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:54:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:54:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928857.1331500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjwS-00015a-5H; Thu, 27 Mar 2025 09:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928857.1331500; Thu, 27 Mar 2025 09:54: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 1txjwS-00015T-1Z; Thu, 27 Mar 2025 09:54:28 +0000
Received: by outflank-mailman (input) for mailman id 928857;
 Thu, 27 Mar 2025 09:54: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txjwQ-00015N-FP
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:54: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 77441ed1-0af1-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 10:54:25 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39127512371so425398f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:54: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-3997f9a3f2asm19586034f8f.30.2025.03.27.02.54.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:54: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: 77441ed1-0af1-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743069265; x=1743674065; 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=9kZ99uvO3U9iWS7fBj8q9WZwSKRMIl7XeYlMoKltxFk=;
        b=e78+Q8ZRKpxeAb1gjtwdBeyCffts04gDYORdhlu7OUVTfV4Q9Av4WtjlYYpqo2rQCC
         lncv8Ire6o0G1LF083Qyw1vxnt1JBpPVTnrUaUSGcdvVeu0k84Ge8MmRed2BTVkEf+MD
         QFNAVc2RaWy7vZhZqvye/BM4y4bRxs5jCbdZBS6VuQjCFFjNyW9WeaUzTXeaaQbhh2pJ
         n5jjduJ28ZXaWk1DmIw/jEOkohh4ywdSRXz8Zqn8gYfcezEZqP+rYvQh9KdnV618UvLg
         ZJoSEWbCX0NwaQULQHt4EfUhgzra7A3EPBICjZIWxQNOimZAXQyWwwp9944FpWfFRAxo
         DUXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743069265; x=1743674065;
        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=9kZ99uvO3U9iWS7fBj8q9WZwSKRMIl7XeYlMoKltxFk=;
        b=R858DsPD32VK9WQv9xbut7/YFaCSFBoSIcmkfVQwnfRXVT54nCQlxmgTlMwNrb8GMG
         WBgLmZ1OH0/UHFXOiTiTQxrnXcTtM62muCh288ICogek3QsPirR1/eGfjZ2phhgXTpo3
         TJYeQlgB5pmx4kjARczRXwL5MgBPtbfDCPOU9uyr2fu+4VX9eF3zlE+vkmIXwuEdHpO1
         areae3+Ul+TYZhqyxHyA6mv22U8IBGa84SlG/b5giPa54bM6/VYh9QubqLSo2Qr9CQSK
         hEWokBVPP+1KaPNWqDrF9VU1BNUrMeWXtK7TLgdz5O8/xiZaxrPOCcnWSKxjWRg2hZj4
         /W8g==
X-Gm-Message-State: AOJu0YwzCfyYtDa5Nxrvc8euAlg0YqlpA57WE7IjF34an1mAT7D9rs6y
	zGfPDVAE0ANhgprxcnIZbEUv44sck8WE63NRo+AtSdX9H6ajN0lhDV5rGNKzjEgg9gJwnRNkJbA
	=
X-Gm-Gg: ASbGncuJ0YW7xaPiLIbXCmh1hYXJtY1DyPwY4daN9mMv119NnFKFZEfYKdHCU18xpOk
	Nh4Hxo7oq7ntIUgbgNdYwNjlQe6Gbnwo2lDwdslnjv9qaMc/5f3HILOebs3pyXhMeztDfTprioE
	G8hy6TM5lLEuogreURtYtlVpk7qf5MpG4xxpZuNgn15BsD0x9k3GCj0vH3nVyq/eFOVyT+cIr8t
	CsHMeuo+dO8B2WkKqiW4ukNoEDmTmpJHetSyPnXr2pSUR8RwXDMh0WHOn4OW7FjYyXdovDwybP4
	koUPKeBYlUVw8uWqbRSnCuyNbpzkfXtDMlh8Ar2YlUlZRCSVlK8DMgCWCoUL6rLgArxUF9lVA+s
	XuWRqo7g59o+ZrZyq5lH1yX+orwNAew==
X-Google-Smtp-Source: AGHT+IHq99HvJEAEPeqXO/96W8GlVmu6cPHVfkvlFqIkVBKeTVtc+2AtQkkN0OjkxV/NhVouzmSAMQ==
X-Received: by 2002:a05:6000:4211:b0:391:3157:7717 with SMTP id ffacd0b85a97d-39ad177b815mr2303349f8f.34.1743069264879;
        Thu, 27 Mar 2025 02:54:24 -0700 (PDT)
Message-ID: <56fbfae0-aac7-4841-ab3c-a7e00dda3744@suse.com>
Date: Thu, 27 Mar 2025 10:54:23 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/MTRR: constrain AP sync and BSP restore
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

mtrr_set_all() has quite a bit of overhead, which is entirely useless
when set_mtrr_state() really does nothing. Furthermore, with
mtrr_state.def_type never initialized from hardware, post_set()'s
unconditional writing of the MSR means would leave us running in UC
mode after the sync.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -605,13 +605,15 @@ void mtrr_aps_sync_begin(void)
 
 void mtrr_aps_sync_end(void)
 {
-	set_mtrr(~0U, 0, 0, 0);
+	if (mtrr_if)
+		set_mtrr(~0U, 0, 0, 0);
 	hold_mtrr_updates_on_aps = 0;
 }
 
 void mtrr_bp_restore(void)
 {
-	mtrr_set_all();
+	if (mtrr_if)
+		mtrr_set_all();
 }
 
 static int __init cf_check mtrr_init_finialize(void)


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:57:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928867.1331510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txjz0-0001dY-IW; Thu, 27 Mar 2025 09:57:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928867.1331510; Thu, 27 Mar 2025 09:57: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 1txjz0-0001dR-Dm; Thu, 27 Mar 2025 09:57:06 +0000
Received: by outflank-mailman (input) for mailman id 928867;
 Thu, 27 Mar 2025 09:57: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txjyz-0001dL-Up
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:57:05 +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 d62ebf87-0af1-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 10:57:04 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43948021a45so7659405e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:57:04 -0700 (PDT)
Received: from [10.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-3997f995a05sm19218273f8f.8.2025.03.27.02.57.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:57: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: d62ebf87-0af1-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743069424; x=1743674224; 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=nrkxHMyn88RQQI8KK12McJpSph0zYJhUV4mBjtCz7Jk=;
        b=EA+N+mVEnZlgPDYPSwsdWK/klNhOiH7AuTB1nyMEn2/ZGsy1LOIo+XzGeq6v6SYjZe
         kV04ZyPYbWOhFSmvMHfZeioaNFigg1GcJIUBWHO9OE1iVq0qDAy5n7nGA/5cgnYjY8jR
         KfrYFLysx6uKXIzSfheJm9BG2/k9Vlc+h4WG10JxAsaO85+ZS9xFfbKAdtLX1QqK1iYK
         VxXPAL6WenI0vcjlysRnkzVIUZ1Ll1tqymlTXxU0zfYnX5/Idqtnb/dXxSrGZUjnd9L5
         /mEjyXz4UQ0X28kGGaSmtn7lmHQgSlsI2IKkJdinrFgOUys5jXhVQPElWtXn13J4VdhQ
         o1KQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743069424; x=1743674224;
        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=nrkxHMyn88RQQI8KK12McJpSph0zYJhUV4mBjtCz7Jk=;
        b=ZuPVBnAsTUOj9iD/wb/B9iJmoF/H1FSsMlQ6uu02JAViBqmizbQjAC6KtyejATfKS3
         KmBYwAS+OmsWZnskDjeaVXINLnr3P1eQH/aJcTmxF2GnDY8NUAeZ8jIi6oDDKgTI4i+Z
         xcPJLvwNeuMF9zLzpAM2orwVKJQcNsCxqI1TqXCbZDFZve5PRUXpg5eR1LvdjdV0T3TB
         FEg+9fEGOFEQwqZfk9u7Zgmf+5aRvpfumW3k6Yig6VKYOXGLX5Ks90FcnMAfsqtHG1zK
         C3Klq/3QqDrC6dzsSOH1TcmNCEWZEIfRKcOPopjqe4Bv/Xb6upD9CgVnDaeOWmZ9fZdA
         eMng==
X-Forwarded-Encrypted: i=1; AJvYcCVjtGc7qOZ6lw0+X7rDFVDrNPwNJwrBcTI0n3vzjecLocjsNcwPzgxCfoJVcPo39UvWQBpZQYhQYs4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxqdcMWoANI35rt+auSrfGiE+yhEQUfA5L9wEOSVvJwZt0FBrFi
	JWK0qCZPpjBgMLk2E9t7D8Q1E1pI2mqGq+Mr7AArvtHqufpn1zwHSPq+QNR4tw==
X-Gm-Gg: ASbGncssM6beqyG/oCuyg9kJdaoXAinIluUlmUQdZahhQ/lVSXlP67/VoFEPZwW7kbU
	o5068nbgTlndC+q5k4LvmUfWwms6Oap1wUGgBfzWBAhVyKyn6zX3OAYfRgES3yFTvbT36pRz7sc
	EyrUHEthxLWWvESm2P5giRvr6HiESBQw9s7VAfBffThh06PFi+IO/SbDo56KfiRbf4b3wqlY0BA
	h2MdYZQNVCtB0rZAcU5Bfj8rQ0i+LZQgbWZ6ji1OXSpq0D7crg/yeB+88n8BkDq/0mtndNU4aX+
	UhdOhUlBa8dTMoQvAiALN8FyycVa8goPF8jXWb8JI7K4sL6xxOvBpQhujqVY8oRm5J37qGjga17
	7Hgxwu2BXOIXvdtNd0azqvgmVzFk6DA==
X-Google-Smtp-Source: AGHT+IHZPJb42bNCTHxgrdbUtrscmjgPZQ5Do18m2XZFeBh07he6hPAvlNvFiuSMJx1EuJOBfWbLCg==
X-Received: by 2002:a05:600c:1da5:b0:43c:ebc4:36a5 with SMTP id 5b1f17b1804b1-43d84f8b7fbmr30191015e9.7.1743069424022;
        Thu, 27 Mar 2025 02:57:04 -0700 (PDT)
Message-ID: <43a24bb6-defb-4155-8d13-aa768fe5181a@suse.com>
Date: Thu, 27 Mar 2025 10:57:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/19] xen: introduce CONFIG_SYSCTL
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, Stefano Stabellini <stefano.stabellini@amd.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>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
References: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-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: <20250326055053.3313146-3-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 06:50, Penny Zheng wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> We intend to introduces a new Kconfig CONFIG_SYSCTL, which shall only
> be disabled on some dom0less systems, to reduce Xen footprint.

Nit: "We intend to ..." takes about future work, yet the new control is ...

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -545,4 +545,15 @@ config BUDDY_ALLOCATOR_SIZE
>  	  Amount of memory reserved for the buddy allocator to serve Xen heap,
>  	  working alongside the colored one.
>  
> +menu "Supported hypercall interfaces"
> +	visible if EXPERT
> +
> +config SYSCTL
> +	bool "Enable sysctl hypercall"
> +	default y
> +	help
> +	  This option shall only be disabled on some dom0less systems,
> +	  to reduce Xen footprint.
> +endmenu
> +
>  endmenu

... introduced right here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 09:58:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 09:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928878.1331519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txk0J-0002D5-UU; Thu, 27 Mar 2025 09:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928878.1331519; Thu, 27 Mar 2025 09: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 1txk0J-0002Cx-Rk; Thu, 27 Mar 2025 09:58:27 +0000
Received: by outflank-mailman (input) for mailman id 928878;
 Thu, 27 Mar 2025 09:58: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txk0I-0002Cp-IX
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 09:58:26 +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 0674467a-0af2-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 10:58:25 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cfdc2c8c9so4327115e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 02:58: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-39ac67970a2sm9193221f8f.16.2025.03.27.02.58.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02: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: 0674467a-0af2-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743069505; x=1743674305; 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=CTwKjLGjQQudE74WfWowNahvCBksgLNun8cfuE9d/RM=;
        b=QMeKcTuMSF0Xd9hwfo67Z5mAjq3McQn47ovu04EcvS7g/zlvPNfoO+DKhOLmYlyuMq
         DuyNzXjpvw1zTmw4p0KeWssFVyWk3UE78c1NFcKLIQXb9m1C9pwOCWKZWapFfvArKfuI
         xEOCJxdLgZxCqP1+xhrQ0/obrW4HamXu2J01WhCGmGDBrOGde76gSREh80J3hFPqxnxy
         0H8oCnwNdGZ/3DyiZ23QX6mXutw4Hs3YGvr5LXuvILFWlrv33Y8UyrVHT5bq4nrSeca6
         9OP7079L1GHTcmwgPz606muHjthaAvUjHbq1LHuP/+cwAx0wjW3axzBqxXpcf/HvhXXK
         a4yA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743069505; x=1743674305;
        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=CTwKjLGjQQudE74WfWowNahvCBksgLNun8cfuE9d/RM=;
        b=BzS0+HUDgmfoO1r27HhYamHmgvt9wgr/vnAoZ5+ChuJUxaAeVAkh7fyephHyE8BqCX
         n9Hrk1eCpByGxo5pua2F32FwCITUW7RV2YFVWBjlJc2Y4peHs0p+8xfmHAPHBHfimWeV
         Qz5NZdtTVWVncQE+dRGq2EybRE7/QCHvf9CFDwh9EfqYqbhdCGIGFTE5qQ37F0PB2nO/
         5793QAPZpAI38T2gvjInlJHLwP5W590OnW46RK9syJ04ucjCyy1MQVBrk7q9ELEDE/VZ
         qapgH0HXR2wJa0GkpzLg3GqCgEvGtG8SaYuq+IuHFd9CS4kxA04aAh1sCB+lGcf7Ls1X
         3lYw==
X-Forwarded-Encrypted: i=1; AJvYcCX44Jf45GcPYse7Ki6frgkbHpa7KzJnhBetpZxPB6wZzhe3J4l6k1azY5sMrObHLvm8+TU3F+okTRw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw5fZ7jM/eVUa9Jcc+Bc0x/jEtbcpKpb5gEaIQEbbeJmJpwBsHa
	Dk8YgdLdkiGugrhuGDXUe/Y2ZpJoYL1ijzADtXSdVBK/ZKgZS9F+RPrKfyVS7XGfdqhiTAh34WE
	=
X-Gm-Gg: ASbGncu79gSQdDFTUbkIhWALAQ2fuBT9rVMiY6wVlZR4Jicwq+HPY/5N7Gr6xC9z81m
	lVHOSuYRk7sYQa8MjHgeAwknLMKDKJ015r8H7nOF6OMG1JySsexRoWepi3ubwKcsYPkkpQILoCb
	fPugmzDEBqU4HrJ2p4iL1ePI8HeMvByDyiLpVg6LHPaVS39S3KdYqwXxWz6oi4V55mnv8AAtGPq
	vRBGytHHGEx0OlB49LhhsEW/mwDfIQFwD942CiLG/o0OFrCweO4dwHpbS4EzC84lDMzWiIJvW7N
	5Ru1ple8aq8bqAlYpJ1H+vcLmnTpawdBN25ouRoQ4uxgKWkahk27OjWlY4rThlD+cIuFy2e5cKn
	4WUF5IM3P+AFS2CxYWFTESEVeRADDJQ==
X-Google-Smtp-Source: AGHT+IFh78ufyfSSFxSErr4DGIGmpBwRO2iRL8eZOfYeyIuYGxvYMJYeP81UY63C5HJgGqMmExXPhA==
X-Received: by 2002:a05:600c:3c9a:b0:43c:fceb:91a with SMTP id 5b1f17b1804b1-43d84f8b86dmr30159885e9.11.1743069504989;
        Thu, 27 Mar 2025 02:58:24 -0700 (PDT)
Message-ID: <45e7368b-9aef-4e72-934c-3fa8846a8d5f@suse.com>
Date: Thu, 27 Mar 2025 10:58:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: ray.huang@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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Penny Zheng <Penny.Zheng@amd.com>,
 xen-devel@lists.xenproject.org
References: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-16-Penny.Zheng@amd.com>
 <87fe5ebc-4bbd-4941-814b-5447be06a201@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: <87fe5ebc-4bbd-4941-814b-5447be06a201@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 10:35, Oleksii Kurochko wrote:
> 
> On 3/26/25 6:50 AM, Penny Zheng wrote:
>> The following functions are only used to deal with XEN_SYSCTL_physinfo,
>> then they shall be wrapped:
>> - arch_do_physinfo
>> - get_outstanding_claims
>>
>> Signed-off-by: Penny Zheng<Penny.Zheng@amd.com>
>> ---
>> v1 -> v2:
>> - no need to wrap declaration
>> - add transient #ifdef in sysctl.c for correct compilation
>> ---
>>   xen/arch/arm/sysctl.c   | 2 ++
>>   xen/arch/riscv/stubs.c  | 2 ++
>>   xen/arch/x86/sysctl.c   | 2 ++
>>   xen/common/page_alloc.c | 2 ++
>>   xen/common/sysctl.c     | 2 +-
>>   5 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
>> index 32cab4feff..2d350b700a 100644
>> --- a/xen/arch/arm/sysctl.c
>> +++ b/xen/arch/arm/sysctl.c
>> @@ -15,6 +15,7 @@
>>   #include <asm/arm64/sve.h>
>>   #include <public/sysctl.h>
>>   
>> +#ifdef CONFIG_SYSCTL
>>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>>   {
>>       pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
>> @@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>>       pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>>                                          XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>>   }
>> +#endif
>>   
>>   long arch_do_sysctl(struct xen_sysctl *sysctl,
>>                       XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
>> index 5951b0ce91..7b3f748886 100644
>> --- a/xen/arch/riscv/stubs.c
>> +++ b/xen/arch/riscv/stubs.c
>> @@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
>>       BUG_ON("unimplemented");
>>   }
>>   
>> +#ifdef CONFIG_SYSCTL
>>   void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>>   {
>>       BUG_ON("unimplemented");
>>   }
>> +#endif /* CONFIG_SYSCTL */
> 
> Considering that now we will have CONFIG_SYSCTL, I think it would be better just to drop
> definition of arch_do_physinfo() from riscv/stubs.c as it was added to make common code build
> for RISC-V happy.

Wouldn't that require SYSCTL=n then for RISC-V, which better wouldn't be done
(as it would need undoing later on)?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:00:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:00:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928888.1331531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txk1r-0003An-AZ; Thu, 27 Mar 2025 10:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928888.1331531; Thu, 27 Mar 2025 10:00: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 1txk1r-0003AJ-5H; Thu, 27 Mar 2025 10:00:03 +0000
Received: by outflank-mailman (input) for mailman id 928888;
 Thu, 27 Mar 2025 10:00: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txk1p-0002m6-NJ
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:00:01 +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 3f26c9d6-0af2-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 11:00:00 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso5314055e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:00: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-43d8314e110sm32948565e9.39.2025.03.27.02.59.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 02:59: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: 3f26c9d6-0af2-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743069600; x=1743674400; 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=mByp0QV7TbmpctPpR6AJlDh8Sj40UN247eMOEWwZ2Tw=;
        b=CyUTP7WZ3jSYwRbJj533l95tPLRAF2YMj7PnQYG02RfHm5WFnXGg9tNwwhWs/sp3dx
         DElmVHECg1b52ac9090A7I56yMefU7wvZIKUEacb1HECS3u+JcxP1zX5JTlVBHJZKLH2
         i3WzUkxsAWP2GsOePCPJ3C95ioedNk1WhwFN4dc1t8/Qkfzsufg0w/vnaJ3A23I2mC5X
         10qzEjZcIxWVNp2tHohqxvdlqkkYtQLZ3+P20ZzXe7pztU0k2D+pZZRij/2OU1KxkAHB
         A+MTg6E1ljDLYepOi/M4QvNga7gYOGGok+DtMqbpssDsptfzHQ69042dQgQJzsK4RnjY
         Bm4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743069600; x=1743674400;
        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=mByp0QV7TbmpctPpR6AJlDh8Sj40UN247eMOEWwZ2Tw=;
        b=IE6n9dmCo1EylNkboEPZ83vaRqQPOFw9ewn5eZLzkG8c5QIFBH7CY+zWd3sDWfdVMh
         GQuB0RFTg4GE3K30tUue1n0Cddi8lItuTbbs/h8PnkPnuv3sPkYxiFzhA2ByONMORXwv
         CYW79AYobLtWqTHB6j/capMSFE8VrwtNAzoAgAOgx4KN4WLxr0Y3amnCLhlrleGId94G
         9yvlQtwrKL8fPzNlcSuEf8r8BNU3ocjXKiypSBgSwRaJCG9u7K4SzdmU17XE5sqqZdiV
         9z6o0PUqqGOsGabptZrhpr4MJE1oydOcAxtNTHsyDN1DFzHs9n7Z/5gULYL/oOLgxF7L
         vMVg==
X-Gm-Message-State: AOJu0YwIfGGeTre/tOsjsFlprSASz6/AphInXZbi3NhOtjuK2uAA2Bl1
	CXUwMD7xomL5biZB4XLpYN19hMmrbyRgrUK43QdWANEWdcTRwTCz4j4rUhx8+w==
X-Gm-Gg: ASbGncsWgSIM5pZPmVHiVm8Zsqwbv45MkSh64MzMLrzHfQBe9yslTDFWK8afAntQVkm
	Ar16MwiYhDjkZu6oMEK+g8WxiplY2bhmqR0f70vIDmwYg+3/nFnygvGwdqkKsSQC5QSU81tCgTW
	dwxXWpr8Knk6qYBtvuhFtQTX83OcwKXidNsT6xuT39G+zRu0G2uLr303vAZL2SBrOxZWmbJs7Om
	Kv/KL2JL2y2u7UpEU0r5uSXIsfwqu5SZFM4+j0VOs5ctp0df9ZCFApqJLJ3J7Kh9kTKxPwgbMF6
	g3ZwBbfKhpdTsW50y5jr+IJjwriWTo9RCZ0JZ4A5gveMR6MKYf7mMOc20PRyYS9h0UI9hfBxqbo
	CxF2ZEyReGxikOppmMT2KY9ZLwldOAw==
X-Google-Smtp-Source: AGHT+IEuGp2V4qOYk0GvIRS7Z1xnCZJJ6Ml+PVVzX0GHmCFTl2et5VU9RMunGAFlqzoYFQ2v3Nk2xQ==
X-Received: by 2002:a05:600c:1e08:b0:43d:16a0:d82c with SMTP id 5b1f17b1804b1-43d8d5b0111mr909535e9.2.1743069600072;
        Thu, 27 Mar 2025 03:00:00 -0700 (PDT)
Message-ID: <90c81e5a-97d8-47b7-9cdf-aa07a59ed4f7@suse.com>
Date: Thu, 27 Mar 2025 10:59:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/CPU: don't hard-code MTRR availability
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>
References: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
 <Z-UKm6D9pmAEaE_9@macbook.local>
 <eb44921a-f6af-4aa9-9395-18e4e47d440a@suse.com>
 <Z-UfcHfHys6c0HZb@macbook.local>
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: <Z-UfcHfHys6c0HZb@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 10:50, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 27, 2025 at 10:15:03AM +0100, Jan Beulich wrote:
>> On 27.03.2025 09:21, Roger Pau MonnĂŠ wrote:
>>> On Tue, Mar 25, 2025 at 08:18:11AM +0100, Jan Beulich wrote:
>>>> In particular if we're running virtualized, the underlying hypervisor
>>>> (which may be another Xen) may not surface MTRRs, and offer PAT only.
>>>
>>> At least for Xen, I think we offer MTRR uniformly, even on PVH
>>> guests?
>>
>> By default we do, but we discussed the option of offering PAT-only environments
>> beyond leaving it open whether people disabling MTRR support in their guest
>> config are outside of supported terrain.
>>
>>>> Fixes: 5a281883cdc3 ("Hardcode many cpu features for x86/64 -- we know 64-bit")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
>>>
>>> My main concern is whether the !mtrr path is still functional.  Have
>>> you tried booting the resulting hypervisor with MTRR masked on CPUID?
>>>
>>> (or alternatively short-circuiting cpu_has_mtrr == 0?)
>>
>> I didn't think this would be a prereq here. If we boot in an environment truly
>> lacking MTRR, we'll crash on the first MTRR MSR access - none of those accesses
>> use the safe accessors.
> 
> Right, hopefully we don't have unprotected MTRR MSR accesses, so
> cpu_has_mtrr == 0 should prevent those.

Actually we do, see my other patch just posted.

>> Since you asked, I tried booting with "cpuid=no-mtrr".
>> As I'm doing this on a system with console, all I can say is that it takes
>> minutes to reach the point where we'd start setting up Dom0 (which itself then
>> takes so long that I timed out waiting for it to make progress), due to all
>> screen output becoming unbelievably slow after AP bringup. Surely something's
>> screwed somewhere, as VRAM accesses being slow (or fast) shouldn't depend on AP
>> bringup having completed. I actually suspect it's not just VRAM accesses which
>> are slow, but that we're left running in uncachable mode altogether for whatever
>> reason.
>>
>> What this maybe useful for is to figure out the reason of "Platform timer
>> appears to have unexpectedly wrapped <N> times", which I saw appear once.
>>
>> Given this, I'm actually uncertain whether it is legitimate then to take your
>> ack.
> 
> I think it might be best if we can figure out what causes those issues
> (and possibly fix them) before taking this patch?
> 
> Albeit you could argue that running excruciatingly slow is better than
> just crashing of an unhandled #GP from a rdmsr.

Indeed that's my thinking. But if you prefer, I can wait with this patch until
after the other one has gone in.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:14:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928899.1331539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txkG2-0008Lz-DY; Thu, 27 Mar 2025 10:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928899.1331539; Thu, 27 Mar 2025 10:14: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 1txkG2-0008Ls-B0; Thu, 27 Mar 2025 10:14:42 +0000
Received: by outflank-mailman (input) for mailman id 928899;
 Thu, 27 Mar 2025 10:14: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txkG1-0008Lm-0A
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:14:41 +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 4aed0d23-0af4-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 11:14:39 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so5494165e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:14: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-3997f995423sm19196181f8f.20.2025.03.27.03.14.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 03:14: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: 4aed0d23-0af4-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743070479; x=1743675279; 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=8QIJATbl4wLG4OdrsHUeIGEbyiXBb/oACeqPdaFMavw=;
        b=E15nPs1uf0DT+p3APSdHOUgixIa3pw6RD9hO4WJwu4dmiavidxYRtoMreBi5qJwy24
         WgHbwlLrDJqQXnrW1pcwSGBHPDAKS5JRlcJWHHpi7J3WIQ+/01R64ouuuJRm/boeKFWX
         024naEXvxYT03uu5AN8xK4VyDoMoNsAE9fC1NWLDkIJIFYRAetDmqoXJ9AdAQun7pgKT
         U6K8rcKgYAA9SbMD24Ru7rKM1EJ5c6Sov0CrN5yhrU9eJaw0ikBxqXNGXnFumObBoWZ+
         /sK0CgXRc54G7U5zhOvjr2AA6jR7WNoTOY7nvGhM1eehlGsL7OtqAtP3p6xETZCjnoJ4
         3kgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743070479; x=1743675279;
        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=8QIJATbl4wLG4OdrsHUeIGEbyiXBb/oACeqPdaFMavw=;
        b=mEhbIFQYIkns8zCHN+/lPEC05gT6ohuaEx9vuHI9o6aYcPXh2AJozuSa+ky7OqRCmL
         l0/sDyK4TebtXLMSTVYz6WoISeLGLF+6mG8ObDVaGUEr0svhv9fsa01+fGYwKlMdmnzz
         Gc0POS/IYhLRbLly4oiVJLPnmal4s7mF2wuBRv1vfvsrF2Ku5dC3uM6V/Wu9HJV+e8KA
         MnF2d1rFguCcrq5v+f+GRJS4F1DpO/HWn1fQG9pzQh9Df9H5JmTk1GPjQW/gW1MwY0N1
         l12ZK4d9aVsPnoPYFqFPnWto/6HmdomH8Nv/plcYkBOlnOTzLdUaBJ9oSoP23iE3ZK3Z
         3FjQ==
X-Forwarded-Encrypted: i=1; AJvYcCWx6F281Bb91C9BCz1zrvJn6FzW6UbqFzco+ZDAZcJQuTEukXhiSxShUanaTA9qg+VsxNVV4zsTt2E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEsEnOKdvpPcI9MUTwR11ISkspBYtnXK3uRk8v/qBaSQFjpMd0
	9bwIH/yV/XRwGcwi9hrdM+MmYWyPNtdnmKvwYpvxXuDn4vUx97ClNYeYljuHQg==
X-Gm-Gg: ASbGncs7n9JlEumJGMtZZRmTUTfwihDem+6H+SyfnjPlVkXVH1g8En4wXlGy/VtvHzk
	2SqFNMm0vPeQy1MVXikh0+OyAh30YlNt+gT9upLD0sQbc0c84hnncTleTNjXoBZiR+KB6a61iN0
	DLuc4bl6fYBD0uJFhfCohxpDHHLxsJHvxhZdLLTmaOF18jE5O4sVQ0eFSyqFV8y2UqNeURbapz1
	KxVZ+XQ5GvVqYXzbQWf5DLf16MCKzO5yM0Y3GrboQdWqCSR8orcdpBO+M6e0FL1JftlDnYiCBxy
	f/KQB4C3rFz8LcIZ5k4RkXL7gcD84jTaVgpsgA9uB6pDdNIrBo5hkvPA6nL+Tq4XpKl2TnOQqGj
	k89QCHAnVcsMYAdDR6umaFhISb+71OA==
X-Google-Smtp-Source: AGHT+IHgHVz/7dbVkSCT2Llln75bv9PXy0vAF5ynyfKbcKddVwqAfZuLGuMyHldhkr298BSA9jh8aw==
X-Received: by 2002:a05:6000:2ca:b0:38f:503a:d93f with SMTP id ffacd0b85a97d-39ad1770526mr2679967f8f.40.1743070478824;
        Thu, 27 Mar 2025 03:14:38 -0700 (PDT)
Message-ID: <3796f2d9-738f-4cdf-a4a2-61c4aa99c310@suse.com>
Date: Thu, 27 Mar 2025 11:14:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: NULL pointer dereference in cpufreq_update_limits(?) under Xen PV
 dom0 - regression in 6.13
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-acpi@vger.kernel.org, xen-devel <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>, regressions@lists.linux.dev,
 "Rafael J. Wysocki" <rafael@kernel.org>,
 Viresh Kumar <viresh.kumar@linaro.org>
References: <Z-ShAR59cTow0KcR@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: <Z-ShAR59cTow0KcR@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 01:51, Marek Marczykowski-GĂłrecki wrote:
> Hi,
> 
> I've got a report[1] that 6.13.6 crashes as listed below. It worked fine in
> 6.12.11. We've tried few simple things to narrow the problem down, but
> without much success.
> 
> This is running in Xen 4.17.5, PV dom0, which probably is relevant here.
> This is running on AMD Ryzen 9 7950X3D, with ASRock X670E Taichi
> motherboard.
> There are few more details in the original report (link below).
> 
> The kernel package (including its config saved into /boot) is here:
> https://yum.qubes-os.org/r4.2/current/host/fc37/rpm/kernel-latest-6.13.6-1.qubes.fc37.x86_64.rpm
> https://yum.qubes-os.org/r4.2/current/host/fc37/rpm/kernel-latest-modules-6.13.6-1.qubes.fc37.x86_64.rpm
> 
> The crash message:
> [    9.367048] BUG: kernel NULL pointer dereference, address: 0000000000000070
> [    9.368251] #PF: supervisor read access in kernel mode
> [    9.369273] #PF: error_code(0x0000) - not-present page
> [    9.370346] PGD 0 P4D 0
> [    9.371222] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> [    9.372114] CPU: 0 UID: 0 PID: 128 Comm: kworker/0:2 Not tainted 6.13.6-1.qubes.fc37.x86_64 #1
> [    9.373184] Hardware name: ASRock X670E Taichi/X670E Taichi, BIOS 3.20 02/21/2025
> [    9.374183] Workqueue: kacpi_notify acpi_os_execute_deferred
> [    9.375124] RIP: e030:cpufreq_update_limits+0x10/0x30
> [    9.375840] Code: 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 48 8b 05 98 e4 21 02 <48> 8b 40 70 48 85 c0 74 06 e9 a2 36 38 00 cc e9 ec fe ff ff 66 66
> [    9.377009] RSP: e02b:ffffc9004058be28 EFLAGS: 00010246
> [    9.377667] RAX: 0000000000000000 RBX: ffff888005bf4800 RCX: ffff88805d635fa8
> [    9.378415] RDX: ffff888005bf4800 RSI: 0000000000000085 RDI: 0000000000000000
> [    9.379127] RBP: ffff888005cd7800 R08: 0000000000000000 R09: 8080808080808080
> [    9.379887] R10: ffff88800391abc0 R11: fefefefefefefeff R12: ffff888004e8aa00
> [    9.380669] R13: ffff88805d635f80 R14: ffff888004e8aa15 R15: ffff8880059baf00
> [    9.381514] FS:  0000000000000000(0000) GS:ffff88805d600000(0000) knlGS:0000000000000000
> [    9.382345] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    9.383045] CR2: 0000000000000070 CR3: 000000000202c000 CR4: 0000000000050660
> [    9.383786] Call Trace:
> [    9.384335]  <TASK>
> [    9.384886]  ? __die+0x23/0x70
> [    9.385456]  ? page_fault_oops+0x95/0x190
> [    9.386036]  ? exc_page_fault+0x76/0x190
> [    9.386636]  ? asm_exc_page_fault+0x26/0x30
> [    9.387215]  ? cpufreq_update_limits+0x10/0x30
> [    9.387805]  acpi_processor_notify.part.0+0x79/0x150
> [    9.388402]  acpi_ev_notify_dispatch+0x4b/0x80
> [    9.389013]  acpi_os_execute_deferred+0x1a/0x30
> [    9.389610]  process_one_work+0x186/0x3b0
> [    9.390205]  worker_thread+0x251/0x360
> [    9.390765]  ? srso_alias_return_thunk+0x5/0xfbef5
> [    9.391376]  ? __pfx_worker_thread+0x10/0x10
> [    9.391957]  kthread+0xd2/0x100
> [    9.392493]  ? __pfx_kthread+0x10/0x10
> [    9.393043]  ret_from_fork+0x34/0x50
> [    9.393575]  ? __pfx_kthread+0x10/0x10
> [    9.394090]  ret_from_fork_asm+0x1a/0x30
> [    9.394621]  </TASK>
> [    9.395106] Modules linked in: gpio_generic amd_3d_vcache acpi_pad(-) loop fuse xenfs dm_thin_pool dm_persistent_data dm_bio_prison amdgpu amdxcp i2c_algo_bit drm_ttm_helper ttm crct10dif_pclmul drm_exec crc32_pclmul gpu_sched
> crc32c_intel drm_suballoc_helper polyval_clmulni drm_panel_backlight_quirks polyval_generic drm_buddy ghash_clmulni_intel sha512_ssse3 drm_display_helper sha256_ssse3 sha1_ssse3 xhci_pci cec nvme sp5100_tco xhci_hcd nvme_core nvme_auth
> video wmi xen_acpi_processor xen_privcmd xen_pciback xen_blkback xen_gntalloc xen_gntdev xen_evtchn scsi_dh_rdac scsi_dh_emc scsi_dh_alua uinput dm_multipath
> [    9.398698] CR2: 0000000000000070
> [    9.399266] ---[ end trace 0000000000000000 ]---
> [    9.399880] RIP: e030:cpufreq_update_limits+0x10/0x30
> [    9.400528] Code: 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 48 8b 05 98 e4 21 02 <48> 8b 40 70 48 85 c0 74 06 e9 a2 36 38 00 cc e9 ec fe ff ff 66 66
> [    9.401673] RSP: e02b:ffffc9004058be28 EFLAGS: 00010246
> [    9.402316] RAX: 0000000000000000 RBX: ffff888005bf4800 RCX: ffff88805d635fa8
> [    9.403060] RDX: ffff888005bf4800 RSI: 0000000000000085 RDI: 0000000000000000
> [    9.403819] RBP: ffff888005cd7800 R08: 0000000000000000 R09: 8080808080808080
> [    9.404581] R10: ffff88800391abc0 R11: fefefefefefefeff R12: ffff888004e8aa00
> [    9.405332] R13: ffff88805d635f80 R14: ffff888004e8aa15 R15: ffff8880059baf00
> [    9.406063] FS:  0000000000000000(0000) GS:ffff88805d600000(0000) knlGS:0000000000000000
> [    9.406830] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    9.407561] CR2: 0000000000000070 CR3: 000000000202c000 CR4: 0000000000050660
> [    9.408318] Kernel panic - not syncing: Fatal exception
> [    9.409022] Kernel Offset: disabled
> (XEN) Hardware Dom0 crashed: 'noreboot' set - not rebooting.
> 
> Looking at the call trace, it's likely related to ACPI, and Xen too, so
> I'm adding relevant lists too.
> 
> Any ideas?
> 
> #regzbot introduced: v6.12.11..v6.13.6

That code looks to have been introduced for 6.9, so I wonder if so far you merely
were lucky not to have observed any "highest perf changed" notification. See
9c4a13a08a9b ("ACPI: cpufreq: Add highest perf change notification"), which imo
merely adds a 2nd path to a pre-existing problem: cpufreq_update_limits() assumes
that cpufreq_driver is non-NULL, and only checks cpufreq_driver->update_limits.
But of course the assumption there may be legitimate, and it's logic elsewhere
which is or has become flawed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:25:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928914.1331549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txkQT-0002xJ-Da; Thu, 27 Mar 2025 10:25:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928914.1331549; Thu, 27 Mar 2025 10:25: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 1txkQT-0002xC-At; Thu, 27 Mar 2025 10:25:29 +0000
Received: by outflank-mailman (input) for mailman id 928914;
 Thu, 27 Mar 2025 10:25: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txkQR-0002x6-P5
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:25:27 +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 ca12bb2f-0af5-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 11:25:22 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5eb92df4fcbso1387580a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:25:22 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5ebcd0df994sm10746530a12.70.2025.03.27.03.25.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 03:25: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: ca12bb2f-0af5-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743071122; x=1743675922; 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=/cOblaAinAwUTS3whlvXkse25OYESNZuk5XIOJjq5/E=;
        b=I+y05K0rj6mICTF4udmRymxtzkcnvdKqcV7AjPZ8OhjFnLc+JIsfPapcN8Sza2b8lg
         diU78HcliIBboHqwX2Ev7TpfpuBpC+CyVFhMevRZ1go1qQ3zkIZ6+qB84jPXIwLz0SgZ
         t6SDmXqAX4JWezuZewUt9yypkiYuhd+lg5ddg6/kzCwxAJRaLemfMAIJtr9OAMxWZ+1s
         T3GqK94N8nWlFfVDqVJBvpCExojyjIOUAeaBoGizAm3AgnSeUwnVjH4Us11ZMKVXzsZk
         O1Bkn3vohrPvF0J8LXeCrC86GMez2gcDd5OS9/xIfF5rU7uMWuzXb1JMYQ71G+gia2Es
         NWLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743071122; x=1743675922;
        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=/cOblaAinAwUTS3whlvXkse25OYESNZuk5XIOJjq5/E=;
        b=Jx33WKDAjV56YfL2pPAz0tOOgqUVmebA+OyTTg/nMNeXJtHLQjFLrBBENyyD8jKt6p
         yYYXFGG8nUKwtGgc5X/angn+SQl7343JIHuiUctRcByotFGSsLTwjSbu/edDO7UBb6OH
         zRH0PqdeBPX3h9w/tnhY4c0UBUgxpfMGvvF9B9jUJL+igzywhhRs2svy9QW3Dv2I8DJt
         ZsRj3WYlPi2E8fG5ksxomgE54dSxMIcu67dWUlk4lyCMmEH0k2FmBSt501EP/i8O0HM5
         MQBRZ6JMVQvUROoFPaKFf01/kQYYFjdbBo9+pNeWxhdLJAMP/rs8ba65JmrvMmqSP2Vg
         8EPw==
X-Forwarded-Encrypted: i=1; AJvYcCVxChlzH4CtRXyJqgVjBhHRp+45vOoJ9SM36DdE1mpwctpZYM17dmFSNvSg+/HqFcmbZMr4YOp62vM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIrdeNDurS1WDwJL1Lp3qp5ylYCMfdGoaqVi1P4OJVKf1uZi76
	XgROqzj1E9ZkWYr+v02vVTTGBGXlYktTxymqFweFvSv1XksAOHtF
X-Gm-Gg: ASbGncuFt8ux6crkEJFeLs4EjGCXZ4o2KZAU1Jb+dDhmp4lyLF/GrPn+H0NScUSslTh
	62+gQThigtH5bulpmHTyp5yS6EKUCTn9b2z3dq9YHfmh5kw/d+u/x5vZTOkAR20p1eHrVOBF2n3
	tjjJsawAeFge05bjags3dleBrlFFfVEOubD/EEVo6GAlNCkKfpXfcP9gwDfpYIpgRmKw1d5xIMT
	jl82V2UpJgYyokS29TtMnSsUmJ3GfCh0e5shz7yFg28mZrO9NL16jVmV84SBSGzSLFBLNTjfD+j
	BPPA6AwEWyi39nRVtIJxNqYCb1Bt/yhkmOxGshYMtDRfB15jtDLsapVzgDy1euOD7xRyy3q4LpN
	HXdUKNAXGQWDna+dBp0VC
X-Google-Smtp-Source: AGHT+IFS707lrpBUE1Lec7vwpplQUROwJBl8OPBqI26UeLgAcceGtMUbA/PNbubmGS0H7S15u/775g==
X-Received: by 2002:a05:6402:26d0:b0:5e6:23c:a242 with SMTP id 4fb4d7f45d1cf-5ed8e59f048mr3403644a12.18.1743071121333;
        Thu, 27 Mar 2025 03:25:21 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------j3d7Fx8iv205Dq68dVblHxVB"
Message-ID: <0ffb0c7d-4ecf-4172-82dc-0f5368808591@gmail.com>
Date: Thu, 27 Mar 2025 11:25:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
To: Jan Beulich <jbeulich@suse.com>
Cc: ray.huang@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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Penny Zheng <Penny.Zheng@amd.com>,
 xen-devel@lists.xenproject.org
References: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-16-Penny.Zheng@amd.com>
 <87fe5ebc-4bbd-4941-814b-5447be06a201@gmail.com>
 <45e7368b-9aef-4e72-934c-3fa8846a8d5f@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <45e7368b-9aef-4e72-934c-3fa8846a8d5f@suse.com>

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


On 3/27/25 10:58 AM, Jan Beulich wrote:
> On 27.03.2025 10:35, Oleksii Kurochko wrote:
>> On 3/26/25 6:50 AM, Penny Zheng wrote:
>>> The following functions are only used to deal with XEN_SYSCTL_physinfo,
>>> then they shall be wrapped:
>>> - arch_do_physinfo
>>> - get_outstanding_claims
>>>
>>> Signed-off-by: Penny Zheng<Penny.Zheng@amd.com>
>>> ---
>>> v1 -> v2:
>>> - no need to wrap declaration
>>> - add transient #ifdef in sysctl.c for correct compilation
>>> ---
>>>    xen/arch/arm/sysctl.c   | 2 ++
>>>    xen/arch/riscv/stubs.c  | 2 ++
>>>    xen/arch/x86/sysctl.c   | 2 ++
>>>    xen/common/page_alloc.c | 2 ++
>>>    xen/common/sysctl.c     | 2 +-
>>>    5 files changed, 9 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
>>> index 32cab4feff..2d350b700a 100644
>>> --- a/xen/arch/arm/sysctl.c
>>> +++ b/xen/arch/arm/sysctl.c
>>> @@ -15,6 +15,7 @@
>>>    #include <asm/arm64/sve.h>
>>>    #include <public/sysctl.h>
>>>    
>>> +#ifdef CONFIG_SYSCTL
>>>    void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>>>    {
>>>        pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
>>> @@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>>>        pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>>>                                           XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>>>    }
>>> +#endif
>>>    
>>>    long arch_do_sysctl(struct xen_sysctl *sysctl,
>>>                        XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>>> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
>>> index 5951b0ce91..7b3f748886 100644
>>> --- a/xen/arch/riscv/stubs.c
>>> +++ b/xen/arch/riscv/stubs.c
>>> @@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
>>>        BUG_ON("unimplemented");
>>>    }
>>>    
>>> +#ifdef CONFIG_SYSCTL
>>>    void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>>>    {
>>>        BUG_ON("unimplemented");
>>>    }
>>> +#endif /* CONFIG_SYSCTL */
>> Considering that now we will have CONFIG_SYSCTL, I think it would be better just to drop
>> definition of arch_do_physinfo() from riscv/stubs.c as it was added to make common code build
>> for RISC-V happy.
> Wouldn't that require SYSCTL=n then for RISC-V, which better wouldn't be done
> (as it would need undoing later on)?

I missed that SYSCTL=y by default.

Then it will be really better to have #ifdef CONFIG_SYSCTL instead of removing
arch_do_physinfo() from riscv/stub.c. (the same is true then for arch_do_sysctl()
in the next patch)

~ Oleksii

--------------j3d7Fx8iv205Dq68dVblHxVB
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 3/27/25 10:58 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:45e7368b-9aef-4e72-934c-3fa8846a8d5f@suse.com">
      <pre wrap="" class="moz-quote-pre">On 27.03.2025 10:35, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/26/25 6:50 AM, Penny Zheng wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">The following functions are only used to deal with XEN_SYSCTL_physinfo,
then they shall be wrapped:
- arch_do_physinfo
- get_outstanding_claims

Signed-off-by: Penny Zheng<a class="moz-txt-link-rfc2396E" href="mailto:Penny.Zheng@amd.com">&lt;Penny.Zheng@amd.com&gt;</a>
---
v1 -&gt; v2:
- no need to wrap declaration
- add transient #ifdef in sysctl.c for correct compilation
---
  xen/arch/arm/sysctl.c   | 2 ++
  xen/arch/riscv/stubs.c  | 2 ++
  xen/arch/x86/sysctl.c   | 2 ++
  xen/common/page_alloc.c | 2 ++
  xen/common/sysctl.c     | 2 +-
  5 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 32cab4feff..2d350b700a 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,6 +15,7 @@
  #include &lt;asm/arm64/sve.h&gt;
  #include &lt;public/sysctl.h&gt;
  
+#ifdef CONFIG_SYSCTL
  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
  {
      pi-&gt;capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
@@ -22,6 +23,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
      pi-&gt;arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()),
                                         XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
  }
+#endif
  
  long arch_do_sysctl(struct xen_sysctl *sysctl,
                      XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..7b3f748886 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -328,10 +328,12 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
      BUG_ON("unimplemented");
  }
  
+#ifdef CONFIG_SYSCTL
  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
  {
      BUG_ON("unimplemented");
  }
+#endif /* CONFIG_SYSCTL */
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Considering that now we will have CONFIG_SYSCTL, I think it would be better just to drop
definition of arch_do_physinfo() from riscv/stubs.c as it was added to make common code build
for RISC-V happy.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Wouldn't that require SYSCTL=n then for RISC-V, which better wouldn't be done
(as it would need undoing later on)?</pre>
    </blockquote>
    <pre>I missed that SYSCTL=y by default.

Then it will be really better to have #ifdef CONFIG_SYSCTL instead of removing 
arch_do_physinfo() from riscv/stub.c. (the same is true then for arch_do_sysctl()
in the next patch)

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

--------------j3d7Fx8iv205Dq68dVblHxVB--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:34:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:34:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928926.1331560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txkYn-0005st-6G; Thu, 27 Mar 2025 10:34:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928926.1331560; Thu, 27 Mar 2025 10:34: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 1txkYn-0005sm-3E; Thu, 27 Mar 2025 10:34:05 +0000
Received: by outflank-mailman (input) for mailman id 928926;
 Thu, 27 Mar 2025 10:34: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=Dp8+=WO=bounce.vates.tech=bounce-md_30504962.67e52999.v1-e13a6d7d97f648efba5b3b5c4c2969bc@srs-se1.protection.inumbo.net>)
 id 1txkYl-0005sg-Ti
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:34:03 +0000
Received: from mail134-16.atl141.mandrillapp.com
 (mail134-16.atl141.mandrillapp.com [198.2.134.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffe12821-0af6-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 11:34:02 +0100 (CET)
Received: from pmta10.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail134-16.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4ZNg4T28TzzB5p51t
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 10:34:01 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 e13a6d7d97f648efba5b3b5c4c2969bc; Thu, 27 Mar 2025 10:34: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>
X-Inumbo-ID: ffe12821-0af6-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743071641; x=1743341641;
	bh=hI1YTu+xJpgiQd0xIPrnt1Cx7BuR6zlbc0m5bcO8eU4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=cu2t5jqjY5ZZZ6cj1SWaa2+9MnXgO1BQzBBcw9wo7k6HsjZvdyltIt3YfAV0ldsSH
	 Du58QZ5G5NYZJcTjqd/pyj/uCdTgL67rNJrWgQPO+j6rv9MFMrEJKG/+8JErshMCdu
	 GPnHT4I6ADa/6jQqzvxZ+M8ccc8UUAPWjmiAFg4/r4l7NHKHxUYCPCVr54mR41m/Bg
	 KAQ64QHzhAULpjHNsAcGLkTVy3F+/rZNBuEBgA+odHOH12pAON1I/9NpCTPMFjCPTJ
	 xPR461MnVXOVzQirVWzMbTeA1EiujLcko8yDaAw1YBuLRWC7UG/ed+1BOO2DLrZst+
	 SlaVsn0aU4Utg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743071641; x=1743332141; i=anthony.perard@vates.tech;
	bh=hI1YTu+xJpgiQd0xIPrnt1Cx7BuR6zlbc0m5bcO8eU4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=Q6q0kXFuvXdM3/1+D/26VxplL2+eQHUcfxxJVO3s4p+P6oDff/F26kRKvsh2DAEwd
	 mafxUFX6ZTVv51Inkum8ljaVOJP28P6RKiZtYyJAAbbqZ50psLUaDON8ND8vkyzuow
	 XJlfB1WCAq1RGtneCvg4q44spseEck95AxXB6pLuUbTl9WPPMUXT9yPC2uu6Hhnh1t
	 NmapB1tHahg+gBNLzXzRNN4VwAJRdqYzef76nsao2zXYWxTytqOya5U+KrigcAa5a5
	 TW8VKMkh31hhqFS44Qh+IchvXAuU91QkRiSbKwi7vEjBVz/ZAWHDHWHGcnUK3iRV2T
	 fVZx3ztl3VB4A==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH]=20CI:=20Change=20pipeline=20name=20for=20scheduled=20pipeline?=
X-Mailer: git-send-email 2.39.5
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743071640318
To: xen-devel@lists.xenproject.org
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Doug Goldstein" <cardoe@cardoe.com>, "Stefano Stabellini" <sstabellini@kernel.org>
Message-Id: <20250327103345.21306-1-anthony.perard@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.e13a6d7d97f648efba5b3b5c4c2969bc?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250327:md
Date: Thu, 27 Mar 2025 10:34:01 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This description is already displayed on the web UI of the list of
pipeline, but using it as "name" will make it available in webhooks as
well and can be used by a bot.

This doesn't change the behavior for other pipeline types, where the
variable isn't set.

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---

Notes:
    doc:
    https://docs.gitlab.com/ci/yaml/#workflowname
    https://docs.gitlab.com/ci/variables/predefined_variables/#predefined-variables

 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b3beb2ff9d..7974ac4e82 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,6 +4,7 @@ variables:
     description: "Regex to select only some jobs, must be enclosed with /. For example /job1|job2/"
 
 workflow:
+  name: "$CI_PIPELINE_SCHEDULE_DESCRIPTION"
   rules:
     - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
       when: never
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:39:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:39:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928936.1331570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txkdb-0006UD-Ov; Thu, 27 Mar 2025 10:39:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928936.1331570; Thu, 27 Mar 2025 10:39: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 1txkdb-0006U6-LX; Thu, 27 Mar 2025 10:39:03 +0000
Received: by outflank-mailman (input) for mailman id 928936;
 Thu, 27 Mar 2025 10:39: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txkda-0006U0-Bm
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:39:02 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af23253a-0af7-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 11:38:56 +0100 (CET)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-224171d6826so20807355ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:38:56 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-3039e10b783sm1853477a91.22.2025.03.27.03.38.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 03:38: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: af23253a-0af7-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743071935; x=1743676735; darn=lists.xenproject.org;
        h=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=XxtHe4u5eCyaWIxQJjvAyCAim8X3pqotR+wuwkdJ0H4=;
        b=vPS9stMoWV7NcKH5Fds6HsGzEn8NHxkPFtSBZbhpuSw1ulTiXIOkssa08675Cnf0lx
         12z8elleaF62sRZPESYKM6tk2VwE3fRFzJKS7vsTzfE8OEalnfkCQ5Jo4Kv+u/WD/Ls9
         tAUDEhxHUv9pP6Pki5TQr+8EK16aD0IOn44TU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743071935; x=1743676735;
        h=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=XxtHe4u5eCyaWIxQJjvAyCAim8X3pqotR+wuwkdJ0H4=;
        b=aOdoRmIuhoFwtwPIdykd+l0CpVJqQ7XyUEnIM+DVVeeIMSt9u//Z9Zsf7lIKchIgaa
         6okOfv2um963bGgGRWvwXmeZ2uIuw6gZdpGyiASyAt1AAOzbjwuDXLoF9rcWGxVW+P9a
         0WsjiNupiNFuXzw+PlDS5M9HIsu5DuTa5pTJ8W8SEijykgDZMA/DEIS/okKhIMA9EZkl
         3bnvFH9l8yJKx88Kg9acx9Puzi2r1Bcm/y/nwcHqfhNpA279FTnl5HG7coULxZIYgSLa
         X1y/pwHPGJ+/ImrC7ewtSbXYiZDaLSDdmbfwuegN5heHSlRUtSI/eF5kn0MWT5NxfsUs
         NNeg==
X-Gm-Message-State: AOJu0Yy4AN3BnicY1/8OEq+l3bgq1APSXdnUJRya2KBz9pHkiyGpaFRH
	P8ktYTqGVxYQEpsEwz7pDCu7hXgg8QwCdrdmk+oaDM2H0y9nmjVN0iuWaEyPcHI=
X-Gm-Gg: ASbGncvpmaH33SSR64qQReaepQmgN3USi8GkLNexdX9IVvAjeG7qnZZLZhs8gpppuaz
	nSoa/5xtpr0ocs3myfwZABVHjMfbyqOEwM4Rv3gMYi9xNcE2KMO4u9UW9reOcUwMv+a0MIY/tbU
	SRO2ZvNffUab7lKttncmg67sYsTb6TCF81asRg/mThQblK9GzT/ilDMteoPAXn3m2LPEqWnCsc4
	P6athr2Ved1sNJjR8mqEkBkuK0XnNo2DRNMZKNs8SzyxrPg36YwwcuAMXzU0LF+qYva44YqYmyR
	MGWaclJ1JLhr1Y3pUzSmm5NGlFQiMw03vI/Yp48qmc0rm63mmQ==
X-Google-Smtp-Source: AGHT+IHwWzEcjXbRmozyPhM4mxFKrMiR6mwQQ/hRmz2tSBylI14BHxJAMBrRULE7h55lrG6lrApQDQ==
X-Received: by 2002:a17:90b:2e8d:b0:2f8:49ad:4079 with SMTP id 98e67ed59e1d1-303a7c5c9edmr4134777a91.6.1743071935097;
        Thu, 27 Mar 2025 03:38:55 -0700 (PDT)
Date: Thu, 27 Mar 2025 11:38:48 +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>
Subject: Re: [PATCH v2] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
Message-ID: <Z-UquDQHtnFMJ4se@macbook.local>
References: <b590b590-764a-4dfe-9e13-975122790329@suse.com>
 <Z-UToaPviR7b73iG@macbook.local>
 <307f7c6e-bb31-4c0a-890e-a21b7a4e178f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <307f7c6e-bb31-4c0a-890e-a21b7a4e178f@suse.com>

On Thu, Mar 27, 2025 at 10:24:02AM +0100, Jan Beulich wrote:
> On 27.03.2025 10:00, Roger Pau MonnĂŠ wrote:
> > On Tue, Mar 25, 2025 at 08:17:04AM +0100, Jan Beulich wrote:
> >> Handling of both grants and foreign pages was different between the two
> >> paths.
> >>
> >> While permitting access to grants would be desirable, doing so would
> >> require more involved handling; undo that for the time being. In
> >> particular the page reference obtained would prevent the owning domain
> >> from changing e.g. the page's type (after the grantee has released the
> >> last reference of the grant). Instead perhaps another reference on the
> >> grant would need obtaining. Which in turn would require determining
> >> which grant that was.
> >>
> >> Foreign pages in any event need permitting on both paths.
> > 
> > I've been wondering about this, and AFAICT the PV equivalent of this
> > function (the tail of get_page_from_gfn()) is much more limited in
> > that it just allows access to domain owned RAM or MMIO that has a
> > backing page (I expect mostly for the low 1MB?).
> > 
> > However for HVM domains we allow to take references to foreign mapped
> > pages and taking references to MMIO pages is not permitted.
> > 
> > Should the tail of get_page_from_gfn() also be adjusted to make use of
> > the newly introduced get_page_from_mfn_and_type(), thus unifying the
> > logic for both PV and HVM?
> 
> There's no (proper) use of P2M types in PV, so I don't think using this
> function is viable for PV. In particular we'd never observe p2m_foreign
> in PV, if I'm not mistaken.

Indeed, p2m types are just occasionally faked for PV, like in
get_page_from_gfn().

> > Could possibly be done in a separate change, I'm just trying to
> > understand why we have this seemingly different handling for PV vs
> > HVM.
> 
> The difference is because access to foreign pages was hacked in to work
> for PVH in a much different (and imo yet more hacky) way than it was
> made work far longer ago for PV. The crucial part of that is in
> get_page_from_l1e(), so get_page_from_gfn() isn't that relevant there
> (I think).

OK.  I'm kind of surprised we need foreign handling for HVM and not
for PV in get_page_from_gfn(), as even with specific handling of
foreign pages in get_page_from_l1e(), the former is used in a lot of
places that don't seem obviously tied or gated to a call to
get_page_from_l1e().

For example the XEN_DOMCTL_getpageframeinfo3 usage of
get_page_from_gfn() will have different results when used against a
foreign page depending on whether the caller is a PV or an HVM
domain.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:53:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:53:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928947.1331580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txkrP-00039Z-Ts; Thu, 27 Mar 2025 10:53:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928947.1331580; Thu, 27 Mar 2025 10:53: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 1txkrP-00039S-R8; Thu, 27 Mar 2025 10:53:19 +0000
Received: by outflank-mailman (input) for mailman id 928947;
 Thu, 27 Mar 2025 10:53: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txkrP-00039M-3a
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:53:19 +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 b05c4622-0af9-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 11:53:17 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e5c7d6b96fso1554447a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:53:17 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5ebcd0dfe0esm10903475a12.75.2025.03.27.03.53.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 03:53: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: b05c4622-0af9-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743072796; x=1743677596; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=ai4FjQ8u9b863uwr/nRMP9Al9AKv96u44wUWaBGFipk=;
        b=wUEZoVI3k/qc2cPVSxDfPsRu1LQFF6pXmaMAAdZPBCoXihwcsJxK450uLosiu/vnvI
         72E4OPcUJWuvB6LhtMW9YkAXqEmUufsySmU45i1KpnJa3OY5h5fXlS60be9j9VT6QOz0
         PUmYwUtrUuu52g4oJL6e9UKPUGBJg8bIIXb/A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743072796; x=1743677596;
        h=in-reply-to: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=ai4FjQ8u9b863uwr/nRMP9Al9AKv96u44wUWaBGFipk=;
        b=ZlgW22sheS4SUWooo1u5XD/xwQdeK0TmJTanxK7zgOAXTRQ5ksWQdG9GCF8G0M4AJG
         fjeWD852idwnJDhnqtnGs5E+s+KVqPCHu346It5u4kjj8EDsEo6TkY4ZgfXquvxKhKDp
         bttcAMMqprEnM7O1WR9b0ewgmTdXBhEl+QIMR7OvkWf0Wsn6n1dzPUSbGwq0yKwbrB+4
         ISsT3b5woSlB452socsAxyiViaq9uGd07DYlBPGJoB2RARWWgAEe/czEqjl+L5owOjO7
         0JlFNOMIFpyNAUMW+igj/VReZmtYb4Ll+WZYfgGOlSsplcioNLQPCl0RC/hLOcBdGzxz
         6l0g==
X-Gm-Message-State: AOJu0YxwSwBSB4LEovvdl+XnqZEHMu1lhm2gVfrFB2o+yWE1kkTkjhBp
	EYFogckmAtsFy2VZJtP7dzgG9N7JPicndzhP2ZDym1RHnIMmvEdzdjFheA90guk=
X-Gm-Gg: ASbGncs28PjZtF/MEBq1sc8lStSNa5qP3lLCR6Nulr4dACtdf7CgJSg7RI+ERjHdoLZ
	k4yYWW2HmNvMNOnH72K4WlgVmiuJrqc3KVTgIdZNj51l+HAXTWqwRbajL8JiP6k39gbzuhtm2+0
	efWdwuIxxnUxwn3xu5a/KBjUuLmpPeuhh8z+FPdhrnEptDRZQMF1CMdPZ+tyD5n7WuzR75wwAM/
	tbDF/yiEVPlR7w0wMwOCzSl47QLOc+jnoPV3UG7u1WLq4NLLqHnkcY0xDr28fcBhx21ABo5sDJ1
	DCpzgRifhqaazCzx5NyCnAx50kW9mzS1m0QYH4J6SGahBZDKzA==
X-Google-Smtp-Source: AGHT+IH1i/vGmrhGAMUpLdP39suJhsvTzAaRG3JuCc3VGfR4PHAxtyu2hW3ZBqmHgU+6e8KSYCrjVw==
X-Received: by 2002:a05:6402:1ecb:b0:5ed:17d9:91db with SMTP id 4fb4d7f45d1cf-5ed8e382709mr3135757a12.12.1743072796666;
        Thu, 27 Mar 2025 03:53:16 -0700 (PDT)
Date: Thu, 27 Mar 2025 11:53:15 +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>
Subject: Re: [PATCH] x86/MTRR: constrain AP sync and BSP restore
Message-ID: <Z-UuG2QW56iSfeFj@macbook.local>
References: <56fbfae0-aac7-4841-ab3c-a7e00dda3744@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <56fbfae0-aac7-4841-ab3c-a7e00dda3744@suse.com>

On Thu, Mar 27, 2025 at 10:54:23AM +0100, Jan Beulich wrote:
> mtrr_set_all() has quite a bit of overhead, which is entirely useless
> when set_mtrr_state() really does nothing. Furthermore, with
> mtrr_state.def_type never initialized from hardware, post_set()'s
> unconditional writing of the MSR means would leave us running in UC
> mode after the sync.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/cpu/mtrr/main.c
> +++ b/xen/arch/x86/cpu/mtrr/main.c
> @@ -605,13 +605,15 @@ void mtrr_aps_sync_begin(void)
>  
>  void mtrr_aps_sync_end(void)
>  {
> -	set_mtrr(~0U, 0, 0, 0);
> +	if (mtrr_if)
> +		set_mtrr(~0U, 0, 0, 0);
>  	hold_mtrr_updates_on_aps = 0;
>  }
>  
>  void mtrr_bp_restore(void)

Maybe I'm blind, but I cannot find any caller to mtrr_bp_restore()?
Am I missing something obvious?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:54:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:54:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928956.1331589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txksI-0003fA-6H; Thu, 27 Mar 2025 10:54:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928956.1331589; Thu, 27 Mar 2025 10: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 1txksI-0003f3-3Z; Thu, 27 Mar 2025 10:54:14 +0000
Received: by outflank-mailman (input) for mailman id 928956;
 Thu, 27 Mar 2025 10:54: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txksG-0003Qs-KX
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:54:12 +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 d0c6ffc9-0af9-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 11:54:11 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso7885905e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:54: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-43d8314f5c6sm34282755e9.40.2025.03.27.03.54.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 03:54: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: d0c6ffc9-0af9-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743072851; x=1743677651; 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=n+pCaBjPxjRXFC+feAr2ufhu3QXWHTJSY0zHeI747nI=;
        b=JSlx9PVUwugVRPN2+UsadPlXzD7OJw659JeNhINnLdUsMzNdnZ0EvlQnnWeMb1cXDm
         /E52pSupsiptuJZ7vRqpoNrnPoiRe7BHmafUDXZH2/Wg9qf7/9F+HuNHtPIowsUU0umy
         qm6ts+nYMixvN8zp8vA+Rd8dCK0vCrd1wOZrxJ94zZMgpL17qkyBhjPWtCFVCdZiRaU6
         MyvhulIpRasSrl0ZShn8Z0fzgbDCegPUwZ9+JRFeOOZ4JOxXZ3S1v7eq09HoqymCF8fo
         0aMt6NcHarRoPSPyF9S0YM4OHrwVmQlYT5dGop684qoQcxOqoSd3m3kQj9HKZvL5VIVj
         8p9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743072851; x=1743677651;
        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=n+pCaBjPxjRXFC+feAr2ufhu3QXWHTJSY0zHeI747nI=;
        b=vBZuRyrIilacJVOmbZuUYGj32iosfMwuuuRjA0rSUKwCCx72RWhBKWGbxeWjPVtuvH
         zFzI1wMaBuRICvwEqTcumqUJzNXT/fIEMas6UGlalhbjwp25dLdvleHnBP4PDVOXTB2f
         7cJo5bpnERdQuLJuB40XqLSyHxD3yW9CdBi524ufPmKp7JrOcq/Q8oO7EwDOzHebq3C2
         kBwtT48XzEV63jEh7LRfKsJQVted5tv+oE0CStCeAPt2bPnNpW5uR//TI6M5OfUBQHRi
         hEURENfUeelRMHTGUCEjONqcbLMZMbMtfYQsuAlIRaZBK70JqWh0j1U9hOI3wPIG8rZX
         LMXA==
X-Gm-Message-State: AOJu0YxvtrNmCdzgz4BjF09BCikCA5Z2+1E5E/Squ39vVJ87x/8v+rUZ
	dv+KVNHBclD6Mi6BSfwLstbR4EDlPXNO26MTCpnmJ7orMfNc3lpIV7jFHqtk+Q==
X-Gm-Gg: ASbGncvvTwP/jaoGRHHRRrt4DLIA3eFEgGHUVtUYT6SQ+m4TLiDSwAh/qzm3a9PFcHV
	3KxOHGhICaKUb3vPEkWFyLg7D2d+lSYNCPqmUbzVkAfRBcOcI8ZKCiyxyHqbbWprJAGjsTc4NJO
	KYRtknztd2maMDi+92fgXrOdnJLNFAU4RWpzfhDXpmggfGSM47p2XFIefgmcaMeY/FVcJPVEIMw
	GUaHXjOR2wIr8aGGkBwz5z9FqibHHb6yVqlDDnQ6BJEc9kgSUAUiLzAEb7/fFAiKBU5oA/wCpK9
	oIE4/FrH0Nw7+06QejbBojIJxG5PSNoSsgXK8h3C62kaBqq7314KF6pztktZPNlm2a+BLFzlg+Q
	F/BqgdE+f1dwu3XyA/MRZ70eITBaC+Q==
X-Google-Smtp-Source: AGHT+IFfGLRaGyHWI2IBlMb/i0z+Nbk+MzBzgd749l7IiUO8ff/lArmia3qNU1caglzSJDHlUq88xg==
X-Received: by 2002:a05:600c:1c82:b0:43d:762:e0c4 with SMTP id 5b1f17b1804b1-43d85097c85mr24870375e9.27.1743072851018;
        Thu, 27 Mar 2025 03:54:11 -0700 (PDT)
Message-ID: <17ddf002-8305-4c14-8fbc-3c3be418bba2@suse.com>
Date: Thu, 27 Mar 2025 11:54:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
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>
References: <b590b590-764a-4dfe-9e13-975122790329@suse.com>
 <Z-UToaPviR7b73iG@macbook.local>
 <307f7c6e-bb31-4c0a-890e-a21b7a4e178f@suse.com>
 <Z-UquDQHtnFMJ4se@macbook.local>
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: <Z-UquDQHtnFMJ4se@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 11:38, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 27, 2025 at 10:24:02AM +0100, Jan Beulich wrote:
>> On 27.03.2025 10:00, Roger Pau MonnĂŠ wrote:
>>> On Tue, Mar 25, 2025 at 08:17:04AM +0100, Jan Beulich wrote:
>>>> Handling of both grants and foreign pages was different between the two
>>>> paths.
>>>>
>>>> While permitting access to grants would be desirable, doing so would
>>>> require more involved handling; undo that for the time being. In
>>>> particular the page reference obtained would prevent the owning domain
>>>> from changing e.g. the page's type (after the grantee has released the
>>>> last reference of the grant). Instead perhaps another reference on the
>>>> grant would need obtaining. Which in turn would require determining
>>>> which grant that was.
>>>>
>>>> Foreign pages in any event need permitting on both paths.
>>>
>>> I've been wondering about this, and AFAICT the PV equivalent of this
>>> function (the tail of get_page_from_gfn()) is much more limited in
>>> that it just allows access to domain owned RAM or MMIO that has a
>>> backing page (I expect mostly for the low 1MB?).
>>>
>>> However for HVM domains we allow to take references to foreign mapped
>>> pages and taking references to MMIO pages is not permitted.
>>>
>>> Should the tail of get_page_from_gfn() also be adjusted to make use of
>>> the newly introduced get_page_from_mfn_and_type(), thus unifying the
>>> logic for both PV and HVM?
>>
>> There's no (proper) use of P2M types in PV, so I don't think using this
>> function is viable for PV. In particular we'd never observe p2m_foreign
>> in PV, if I'm not mistaken.
> 
> Indeed, p2m types are just occasionally faked for PV, like in
> get_page_from_gfn().
> 
>>> Could possibly be done in a separate change, I'm just trying to
>>> understand why we have this seemingly different handling for PV vs
>>> HVM.
>>
>> The difference is because access to foreign pages was hacked in to work
>> for PVH in a much different (and imo yet more hacky) way than it was
>> made work far longer ago for PV. The crucial part of that is in
>> get_page_from_l1e(), so get_page_from_gfn() isn't that relevant there
>> (I think).
> 
> OK.  I'm kind of surprised we need foreign handling for HVM and not
> for PV in get_page_from_gfn(), as even with specific handling of
> foreign pages in get_page_from_l1e(), the former is used in a lot of
> places that don't seem obviously tied or gated to a call to
> get_page_from_l1e().
> 
> For example the XEN_DOMCTL_getpageframeinfo3 usage of
> get_page_from_gfn() will have different results when used against a
> foreign page depending on whether the caller is a PV or an HVM
> domain.

Which imo is an unintended side effect of how foreign page support was added
to p2m_get_page_from_gfn(). Considering what XEN_DOMCTL_getpageframeinfo3 is
used for, I don't think foreign pages were intended to ever be observed there.
A guest controlling another guest isn't assumed to be migrated, aiui.

I expect more uses of get_page_from_gfn() can be found where foreign pages
better wouldn't have "success" returned. Yet any of this is mere fallout from
some callers apparently needing that case to work, and hence why logic was
hacked into there. Maybe get_page_from_gfn() should take another P2M_FOREIGN
flag, which only callers caring about foreign pages would set?

Imo none of this is directly relevant for the patch at hand here - fast and
slow paths differing is a problem no matter what. In fact I'm surprised no
issues were ever reported that could be attributed back to that anomaly.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:54:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:54:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928960.1331600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txksW-00040i-IQ; Thu, 27 Mar 2025 10:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928960.1331600; Thu, 27 Mar 2025 10:54: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 1txksW-00040Y-De; Thu, 27 Mar 2025 10:54:28 +0000
Received: by outflank-mailman (input) for mailman id 928960;
 Thu, 27 Mar 2025 10:54: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txksV-0003Qs-9C
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:54:27 +0000
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com
 [2607:f8b0:4864:20::1035])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d96c995d-0af9-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 11:54:26 +0100 (CET)
Received: by mail-pj1-x1035.google.com with SMTP id
 98e67ed59e1d1-301918a4e1bso1002084a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:54:26 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-3039dff05dcsm1879632a91.12.2025.03.27.03.54.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 03:54: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: d96c995d-0af9-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743072865; x=1743677665; darn=lists.xenproject.org;
        h=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=z6Ndo5o+pNyllkjW6VmhkZUyWZsKBfypKrTaTbMACtE=;
        b=m2ykGkWj80LV3XgJv7WSnNSTaHHwc9UGSP7uOpM5LVwV96EmpYOtQgKkNXl1e9eqUd
         oD/y2dEXfzv1pEeTbTDWH0cvob+Fc40kN+LgotymqEP7dJ+az9EeUE1vUq31MqGiiDA5
         1OOccs5QYj/iyW0Ukxbih6Frq0XJmH3rh/CSs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743072865; x=1743677665;
        h=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=z6Ndo5o+pNyllkjW6VmhkZUyWZsKBfypKrTaTbMACtE=;
        b=ibYt0l4sGmkJdL40v6rCUxh8aohghS8x4Jyjp+c+iPACDO0Om5UEw2ygjmgFqXtlVJ
         XKTJyvutdGzP2ri65DCfQJrBcnmxsxKswpPvsozCo+1UUdXPCqBwLi/sIqv++iUJsbxB
         8u+gq79f6cpJ0kwdnbecbsl500IAZY384mx2gJkyQPe+N49Rh2klIw4Xvx0qC7SpqdF/
         K7XQDzFW6N9TrC1b/pl4d8o8cp0klH1wV1roIHAKTUqpwj6KkWow6dMBYa6LjK6yGuM/
         NM33WHrS6hN9cMxVSLjznvMS6/Uj1aKF/YDqSiRN6Nh+6TObq0zm/cfsl2XhBhamWfa7
         MV/g==
X-Gm-Message-State: AOJu0YwNouNs90MCZq98aH+5oWP79bwF+XEgeRqEXC38UKPhH/AtC0bP
	/hKwFRk5473+XpHPGqIqfAzL1d4sb1amSxmJ9EWBBFlKRHgQrbtVmeAfF0c7ylebErMOSnCCT2w
	F
X-Gm-Gg: ASbGncvW6u+ydGuk/ag8VS2uhH/sqn4PIG+QrnjRHhhA8Egng1oC0ATWhzi9oRaQweE
	of4LmsruqNpfTxvLfxeEyG57Pxm1E6PPtsEYziT1umnBz+BVMWdzGomaXldYJFoSTJi9hJ2VF/V
	R3Xc5twbSgiTUzGEiCjjJ7e6Wq3pyOea1jFPwQBQSqImXmI3hSRXmotD9lDRr587pd0tdTIDzU1
	880M5bo0cip+XI2kBzIl97uxtLzAQ+XkyowQcpHM/Hcgw/jxzdJP2cQreSayY1bJFAwBsi4QTfs
	a49LuuSQ240nk7uXy84MBhGRrMsPM6QoaI3qMgLhfKmYXU3Pj6sFOfd3KaF9
X-Google-Smtp-Source: AGHT+IH51D6F17gIDcJ2VfnMJkQR0xyHMEmEBOVXKSJluQjJIh2Tlq+TUkOTz//11/hqHYzOTFns7Q==
X-Received: by 2002:a17:90b:5686:b0:2ff:698d:ef74 with SMTP id 98e67ed59e1d1-303a906c60emr4083297a91.26.1743072865027;
        Thu, 27 Mar 2025 03:54:25 -0700 (PDT)
Date: Thu, 27 Mar 2025 11:54:19 +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>
Subject: Re: [PATCH] x86/CPU: don't hard-code MTRR availability
Message-ID: <Z-UuW35GKs4dK8VE@macbook.local>
References: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
 <Z-UKm6D9pmAEaE_9@macbook.local>
 <eb44921a-f6af-4aa9-9395-18e4e47d440a@suse.com>
 <Z-UfcHfHys6c0HZb@macbook.local>
 <90c81e5a-97d8-47b7-9cdf-aa07a59ed4f7@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <90c81e5a-97d8-47b7-9cdf-aa07a59ed4f7@suse.com>

On Thu, Mar 27, 2025 at 10:59:58AM +0100, Jan Beulich wrote:
> On 27.03.2025 10:50, Roger Pau MonnĂŠ wrote:
> > On Thu, Mar 27, 2025 at 10:15:03AM +0100, Jan Beulich wrote:
> >> On 27.03.2025 09:21, Roger Pau MonnĂŠ wrote:
> >>> On Tue, Mar 25, 2025 at 08:18:11AM +0100, Jan Beulich wrote:
> >>>> In particular if we're running virtualized, the underlying hypervisor
> >>>> (which may be another Xen) may not surface MTRRs, and offer PAT only.
> >>>
> >>> At least for Xen, I think we offer MTRR uniformly, even on PVH
> >>> guests?
> >>
> >> By default we do, but we discussed the option of offering PAT-only environments
> >> beyond leaving it open whether people disabling MTRR support in their guest
> >> config are outside of supported terrain.
> >>
> >>>> Fixes: 5a281883cdc3 ("Hardcode many cpu features for x86/64 -- we know 64-bit")
> >>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>>
> >>> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> >>>
> >>> My main concern is whether the !mtrr path is still functional.  Have
> >>> you tried booting the resulting hypervisor with MTRR masked on CPUID?
> >>>
> >>> (or alternatively short-circuiting cpu_has_mtrr == 0?)
> >>
> >> I didn't think this would be a prereq here. If we boot in an environment truly
> >> lacking MTRR, we'll crash on the first MTRR MSR access - none of those accesses
> >> use the safe accessors.
> > 
> > Right, hopefully we don't have unprotected MTRR MSR accesses, so
> > cpu_has_mtrr == 0 should prevent those.
> 
> Actually we do, see my other patch just posted.

Oh, yes, that was one of my concerns, but I've failed to spot it.

> >> Since you asked, I tried booting with "cpuid=no-mtrr".
> >> As I'm doing this on a system with console, all I can say is that it takes
> >> minutes to reach the point where we'd start setting up Dom0 (which itself then
> >> takes so long that I timed out waiting for it to make progress), due to all
> >> screen output becoming unbelievably slow after AP bringup. Surely something's
> >> screwed somewhere, as VRAM accesses being slow (or fast) shouldn't depend on AP
> >> bringup having completed. I actually suspect it's not just VRAM accesses which
> >> are slow, but that we're left running in uncachable mode altogether for whatever
> >> reason.
> >>
> >> What this maybe useful for is to figure out the reason of "Platform timer
> >> appears to have unexpectedly wrapped <N> times", which I saw appear once.
> >>
> >> Given this, I'm actually uncertain whether it is legitimate then to take your
> >> ack.
> > 
> > I think it might be best if we can figure out what causes those issues
> > (and possibly fix them) before taking this patch?
> > 
> > Albeit you could argue that running excruciatingly slow is better than
> > just crashing of an unhandled #GP from a rdmsr.
> 
> Indeed that's my thinking. But if you prefer, I can wait with this patch until
> after the other one has gone in.

Given the small context of the other patch, you might as well put both
in together.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:55:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928972.1331610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txktG-0004iQ-Ow; Thu, 27 Mar 2025 10:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928972.1331610; Thu, 27 Mar 2025 10:55: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 1txktG-0004iJ-ME; Thu, 27 Mar 2025 10:55:14 +0000
Received: by outflank-mailman (input) for mailman id 928972;
 Thu, 27 Mar 2025 10:55: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txktG-0004iB-8t
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:55:14 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4d69d4a-0af9-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 11:55:13 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-224191d92e4so15880805ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 03:55:13 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-227811b2be4sm125614485ad.126.2025.03.27.03.55.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 03:55: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: f4d69d4a-0af9-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743072911; x=1743677711; darn=lists.xenproject.org;
        h=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=oZVIzZTshyRyX2vdlYGGUIrTH089iaLhOCPmsd6J5qA=;
        b=h9OOORSNYWdXiZvCRwh+5Iza0mVv+GUzND8JNDUuiIEnFbNMyX7+uclfdMx4EfPzpx
         mSJy2x89XG9qBhBIlv2zpw3Ptz5tvodCYJ/UA4XT2zDM176Cg1Og9weZop0AOZblB8G2
         t9pgUvke92YFuqNTOEeaj2Pr+Lm/YDi82LERg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743072911; x=1743677711;
        h=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=oZVIzZTshyRyX2vdlYGGUIrTH089iaLhOCPmsd6J5qA=;
        b=eqZiHlsj8SelIS04CyQ6hAhnO65xvUwPMl3c8r6QWea4c3xiNx1szQe91FmmarrIkY
         cckxUS/FQ2l1BnOdwXQUT5gA2qPPGyMFbqzw2CGiDZc/oHhU7l4g7MXM7Q9W7RXp3CDe
         1kChM/1y1qV06+BZE1z95tmXpDvRxf2LkE6IEG8BHQYS1ngQQvo49xG8RAhpMm9PBSy4
         IiBFd+lL868meKLcE+Cie/xbRXMRbwGI6ZkYw5avTtVce08B1shccTDya6xy6pP5DqpC
         /nTyC9H+8jPWmAn5IGiWZGdPs8/xefagydoR7vWW2xm5QcE1pHaJW5ZvE6SADAJ1Wn0Y
         9j5g==
X-Gm-Message-State: AOJu0YxnZb6VQVXfg9a4lshb1C25YtV6CQuFfIc/9styYLPb3MVAgrYZ
	GfFEMRA391dpCjMwceI1uDy5BBLvdes3QpAJZB5lsmUadQKo+tLRrEr3BUNn2Pl/tD/Pd6WSot1
	q
X-Gm-Gg: ASbGnctZeLUMUGvHMTsKo5Hy2LQBWG+zR+V1bh5z+9k5p/hcsUTMLBD6W++i+DCori1
	WVDUNOBBCTuZiv+wdtH79Qnpc305WbGJ9YiocvIyyDdOqFknMKRvgIVrU1lK7winb1yz38WInzp
	vS3DfUKnlzBxtKdtKB5TKwi3J/BJ0p87YL2gt/vwJyDKSjPKG4O7XQVOnN7DkzanWYegf2IA2+f
	kt4ZMMw8jWBYSDMMABIoQGUov0NF00tfDntzZ8Umpp7KO/i8aPnP/rM+Q+cxwFhvrXQdERpLpKr
	g3HxImwrM2xlofZacfrqOazPSA7k1JDh3sF1n6TfxfRZjf9bBQ==
X-Google-Smtp-Source: AGHT+IGExd2sIbSmZzKtam6I8zd684oNOHYyg8WBy0kkAAad7bdPpKA77vQp192QC66mA5wkY6OAXA==
X-Received: by 2002:a17:902:f646:b0:224:f12:3735 with SMTP id d9443c01a7336-228048c8674mr53388225ad.31.1743072911248;
        Thu, 27 Mar 2025 03:55:11 -0700 (PDT)
Date: Thu, 27 Mar 2025 11:55: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>
Subject: Re: [PATCH] x86/CPU: don't hard-code MTRR availability
Message-ID: <Z-Uuin-9Mo1Wnln5@macbook.local>
References: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <edecdda9-4728-4c65-9f31-76c912a433d7@suse.com>

On Tue, Mar 25, 2025 at 08:18:11AM +0100, Jan Beulich wrote:
> In particular if we're running virtualized, the underlying hypervisor
> (which may be another Xen) may not surface MTRRs, and offer PAT only.
> 
> Fixes: 5a281883cdc3 ("Hardcode many cpu features for x86/64 -- we know 64-bit")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 10:58:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 10:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.928984.1331620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txkwU-0005JY-6o; Thu, 27 Mar 2025 10:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 928984.1331620; Thu, 27 Mar 2025 10: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 1txkwU-0005JR-3t; Thu, 27 Mar 2025 10:58:34 +0000
Received: by outflank-mailman (input) for mailman id 928984;
 Thu, 27 Mar 2025 10: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=OAZE=WO=bounce.vates.tech=bounce-md_30504962.67e52f52.v1-52635a0dd82245e7b6b928a6286be143@srs-se1.protection.inumbo.net>)
 id 1txkwT-0005JL-Eh
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 10:58:33 +0000
Received: from mail132-31.atl131.mandrillapp.com
 (mail132-31.atl131.mandrillapp.com [198.2.132.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69327ca3-0afa-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 11:58:27 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-31.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4ZNgcf3BS9z9K7mVK
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 10:58:26 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 52635a0dd82245e7b6b928a6286be143; Thu, 27 Mar 2025 10:58: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: 69327ca3-0afa-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743073106; x=1743343106;
	bh=3gQDj1sCyJJAp3xr2euRSpfyou6KSLvk5zRRTiv3Tb0=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=cn4tW4eXpvGL7QXEm0HneavTu6bHvcDZPUxL3RSvthg6LjY/dzyQ9TzSSjRBSW/Jk
	 FKssdijCE6o9ZqEABQ8xxO/p5yYjWyH52Y5CP5PnnMV7xPG3DaQmu2cihYVVIy/Yz3
	 sLgopchHsdZP/JlG/acJRW8G1OQRgoJYLVJqQTOkSTK28in9CaUdd96W3eQv6Ib89t
	 YoLokX6I0TPbwuSROsbRsSJjjrX9rHUvNrepU17CtOdwiYzIIJFHTsKnTdnfqoHK0k
	 dcZDHd+BjA52NZrL81yfaA7be0TRLX7fQpTauxZ9kLXtnM8vuJG8O8lEM8iIYXyLkp
	 0aUNnTukfhtmQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743073106; x=1743333606; i=anthony.perard@vates.tech;
	bh=3gQDj1sCyJJAp3xr2euRSpfyou6KSLvk5zRRTiv3Tb0=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=sgPbFcv7Wj0f+iC2ZRSy6c2IK0iR1a6u2chDBXEx8UxqRzzDsTGCA60RCA5TmtIHf
	 dSGvgQ7V/Bnzwx5df7dDz67010+454Oh/o/JVYh384FjRchnvnQG6XUCiIzcz+2cyQ
	 LnMoeI4WuKjiNWp5oxV9g3Yt82GOt2q2hli2d1pVwffoMcyqoP63rxqYQL3nPc+oEh
	 XS5tTmZGGd68PQa/i8wINLifAMGlzay5KQzHB5dtuD6fcDxOFL9OOdVWtAS0KE1A7z
	 rjHoDUYJejbp4/uQUp6S+P4XWjQgq5bgQ338qYi05rnoF39Oi5lKos9niXgKXsSGWt
	 ZA0nRfgHPaPxA==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH]=20automation:=20Avoid=20changing=20source=20files=20for=20randconfig=20tests?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743073105572
To: "Stefano Stabellini" <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, "Doug Goldstein" <cardoe@cardoe.com>
Message-Id: <Z-UvUUwUToTr5OgD@l14>
References: <20250326142754.5441-1-anthony.perard@vates.tech> <alpine.DEB.2.22.394.2503261910100.563920@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2503261910100.563920@ubuntu-linux-20-04-desktop>
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.52635a0dd82245e7b6b928a6286be143?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250327:md
Date: Thu, 27 Mar 2025 10:58:26 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Wed, Mar 26, 2025 at 07:10:52PM -0700, Stefano Stabellini wrote:
> On Wed, 26 Mar 2025, Anthony PERARD wrote:
> > diff --git a/automation/scripts/build b/automation/scripts/build
> > index 522efe774e..8a3b8fb6b2 100755
> > --- a/automation/scripts/build
> > +++ b/automation/scripts/build
> > @@ -12,12 +12,12 @@ $cc --version
> >  # random config or default config
> >  if [[ "${RANDCONFIG}" == "y" ]]; then
> >  
> > -    # Append job-specific fixed configuration
> > -    if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
> > -        echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
> > -    fi
> > +    cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp
> 
> Wouldn't it be better to use mktemp?
> 
> local tmpconfig=$(mktemp)

I though of it and I wasn't sure if we could use it in the CI, but it's
already been used so that's an option. (Actually, there's only a single
use by ./check-endbr.sh, ./configure does use it as well but to create
temporary directory within the build tree.)

But, to avoid overflowing /tmp with loads of leftover temporary files,
we need to clean it, with:

    trap "rm $tmpconfig" EXIT

The advantage of using an in-tree files with a predefined name is that
it isn't going to create more than one file, no matter how many time you
run ./build. The '*.tmp' files are already ignored by our .gitignore. I
could rename it to with a "." to hide it a bit more.

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:02:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:02:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929000.1331629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txl0X-0008A6-MQ; Thu, 27 Mar 2025 11:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929000.1331629; Thu, 27 Mar 2025 11:02: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 1txl0X-00089z-Ju; Thu, 27 Mar 2025 11:02:45 +0000
Received: by outflank-mailman (input) for mailman id 929000;
 Thu, 27 Mar 2025 11:02: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=AFj9=WO=kernel.org=rafael@srs-se1.protection.inumbo.net>)
 id 1txl0V-00089t-T5
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:02:43 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe8c5c3f-0afa-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 12:02:38 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 5A036A4267D
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 10:57:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8BD4C4CEDD
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 11:02:36 +0000 (UTC)
Received: by mail-ot1-f50.google.com with SMTP id
 46e09a7af769-72c40235c34so277926a34.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:02: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: fe8c5c3f-0afa-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743073356;
	bh=KycBfGkDC/ffdrmTGu72+/Q3uISnruqLt7VmIcVAtfc=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=ZxwZiJAndOQzuhMcOTxzCVMUjBOiVwIHGk99CbSalXhzvGrJuH2RZDG0DxXhazyMx
	 cRimSXk6TGJrLWxLqm3lopy/8erGiflrxxsvrAlv9HTBe5p/UY1FClc1HPGzIffBSf
	 cPt7h90iOSumRCuB6RVCyVpqQu/XCSBaeT1y5ZDU2flDaFb8bxwipqwYc69hNWC5wK
	 T5LKCYXM3tBp/TWA5E76gTTcldPPB8NT/mpK/5ZgQ6IikUVhc5yDaVw6MBr2fqj6kj
	 YekOfDn2R9ADtqUpadiCl60XOXVNqyATL5/SOlMkwCZVur056RSmueUjUEyy10i1ml
	 DQ6a7GGRjT2aw==
X-Forwarded-Encrypted: i=1; AJvYcCWbltMHg9ckAEEWJPJO5H+syzYuiXklJq94eUsAK7u6uKFwKVx2oQe9OMbnAosuvsnrZy9uXvAqciQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpibjG592DPUqYmjt9CiK2hcodQuhPfRNymLK7qvDF6jZoNs8z
	9uppV/SNy1hSf26Qw/aXm4jpRyYZYjXPe9+RoCjoF8AXxCkAKkxn3BjfUw9cDHIvqYxWLYFWsuM
	+EZRvJUIrYZVLBGXx220kZspEi00=
X-Google-Smtp-Source: AGHT+IHe8auTSWvnicaZa+CBt1EQ35ftbxVUkmn26GHSu5ft6JmVevRgocMBJwcwwlMJ8HrY4FOwUzBfnAIOpQw1jRA=
X-Received: by 2002:a05:6870:2012:b0:29f:97af:a1a0 with SMTP id
 586e51a60fabf-2c8481b2dfamr1388442fac.24.1743073355458; Thu, 27 Mar 2025
 04:02:35 -0700 (PDT)
MIME-Version: 1.0
References: <Z-ShAR59cTow0KcR@mail-itl> <3796f2d9-738f-4cdf-a4a2-61c4aa99c310@suse.com>
In-Reply-To: <3796f2d9-738f-4cdf-a4a2-61c4aa99c310@suse.com>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Thu, 27 Mar 2025 12:02:24 +0100
X-Gmail-Original-Message-ID: <CAJZ5v0jn_gv92ywZiTZDdGN3Z+GNW0BJ5=kBD=8MpQ0Pt+y8TQ@mail.gmail.com>
X-Gm-Features: AQ5f1JrRebIXAiv4lIfOtz-NN0gA4kEIc0Bg2UKWbFdxXV2wbKoCesQt-GE76b0
Message-ID: <CAJZ5v0jn_gv92ywZiTZDdGN3Z+GNW0BJ5=kBD=8MpQ0Pt+y8TQ@mail.gmail.com>
Subject: Re: NULL pointer dereference in cpufreq_update_limits(?) under Xen PV
 dom0 - regression in 6.13
To: Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, 
	linux-acpi@vger.kernel.org, xen-devel <xen-devel@lists.xenproject.org>, 
	Juergen Gross <jgross@suse.com>, regressions@lists.linux.dev, 
	Viresh Kumar <viresh.kumar@linaro.org>
Content-Type: multipart/mixed; boundary="0000000000002b914c063150e400"

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

On Thu, Mar 27, 2025 at 11:14=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wr=
ote:
>
> On 27.03.2025 01:51, Marek Marczykowski-G=C3=B3recki wrote:
> > Hi,
> >
> > I've got a report[1] that 6.13.6 crashes as listed below. It worked fin=
e in
> > 6.12.11. We've tried few simple things to narrow the problem down, but
> > without much success.
> >
> > This is running in Xen 4.17.5, PV dom0, which probably is relevant here=
.
> > This is running on AMD Ryzen 9 7950X3D, with ASRock X670E Taichi
> > motherboard.
> > There are few more details in the original report (link below).
> >
> > The kernel package (including its config saved into /boot) is here:
> > https://yum.qubes-os.org/r4.2/current/host/fc37/rpm/kernel-latest-6.13.=
6-1.qubes.fc37.x86_64.rpm
> > https://yum.qubes-os.org/r4.2/current/host/fc37/rpm/kernel-latest-modul=
es-6.13.6-1.qubes.fc37.x86_64.rpm
> >
> > The crash message:
> > [    9.367048] BUG: kernel NULL pointer dereference, address: 000000000=
0000070
> > [    9.368251] #PF: supervisor read access in kernel mode
> > [    9.369273] #PF: error_code(0x0000) - not-present page
> > [    9.370346] PGD 0 P4D 0
> > [    9.371222] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > [    9.372114] CPU: 0 UID: 0 PID: 128 Comm: kworker/0:2 Not tainted 6.1=
3.6-1.qubes.fc37.x86_64 #1
> > [    9.373184] Hardware name: ASRock X670E Taichi/X670E Taichi, BIOS 3.=
20 02/21/2025
> > [    9.374183] Workqueue: kacpi_notify acpi_os_execute_deferred
> > [    9.375124] RIP: e030:cpufreq_update_limits+0x10/0x30
> > [    9.375840] Code: 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90 90=
 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 48 8b 05 98 e4 21 02=
 <48> 8b 40 70 48 85 c0 74 06 e9 a2 36 38 00 cc e9 ec fe ff ff 66 66
> > [    9.377009] RSP: e02b:ffffc9004058be28 EFLAGS: 00010246
> > [    9.377667] RAX: 0000000000000000 RBX: ffff888005bf4800 RCX: ffff888=
05d635fa8
> > [    9.378415] RDX: ffff888005bf4800 RSI: 0000000000000085 RDI: 0000000=
000000000
> > [    9.379127] RBP: ffff888005cd7800 R08: 0000000000000000 R09: 8080808=
080808080
> > [    9.379887] R10: ffff88800391abc0 R11: fefefefefefefeff R12: ffff888=
004e8aa00
> > [    9.380669] R13: ffff88805d635f80 R14: ffff888004e8aa15 R15: ffff888=
0059baf00
> > [    9.381514] FS:  0000000000000000(0000) GS:ffff88805d600000(0000) kn=
lGS:0000000000000000
> > [    9.382345] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [    9.383045] CR2: 0000000000000070 CR3: 000000000202c000 CR4: 0000000=
000050660
> > [    9.383786] Call Trace:
> > [    9.384335]  <TASK>
> > [    9.384886]  ? __die+0x23/0x70
> > [    9.385456]  ? page_fault_oops+0x95/0x190
> > [    9.386036]  ? exc_page_fault+0x76/0x190
> > [    9.386636]  ? asm_exc_page_fault+0x26/0x30
> > [    9.387215]  ? cpufreq_update_limits+0x10/0x30
> > [    9.387805]  acpi_processor_notify.part.0+0x79/0x150
> > [    9.388402]  acpi_ev_notify_dispatch+0x4b/0x80
> > [    9.389013]  acpi_os_execute_deferred+0x1a/0x30
> > [    9.389610]  process_one_work+0x186/0x3b0
> > [    9.390205]  worker_thread+0x251/0x360
> > [    9.390765]  ? srso_alias_return_thunk+0x5/0xfbef5
> > [    9.391376]  ? __pfx_worker_thread+0x10/0x10
> > [    9.391957]  kthread+0xd2/0x100
> > [    9.392493]  ? __pfx_kthread+0x10/0x10
> > [    9.393043]  ret_from_fork+0x34/0x50
> > [    9.393575]  ? __pfx_kthread+0x10/0x10
> > [    9.394090]  ret_from_fork_asm+0x1a/0x30
> > [    9.394621]  </TASK>
> > [    9.395106] Modules linked in: gpio_generic amd_3d_vcache acpi_pad(-=
) loop fuse xenfs dm_thin_pool dm_persistent_data dm_bio_prison amdgpu amdx=
cp i2c_algo_bit drm_ttm_helper ttm crct10dif_pclmul drm_exec crc32_pclmul g=
pu_sched
> > crc32c_intel drm_suballoc_helper polyval_clmulni drm_panel_backlight_qu=
irks polyval_generic drm_buddy ghash_clmulni_intel sha512_ssse3 drm_display=
_helper sha256_ssse3 sha1_ssse3 xhci_pci cec nvme sp5100_tco xhci_hcd nvme_=
core nvme_auth
> > video wmi xen_acpi_processor xen_privcmd xen_pciback xen_blkback xen_gn=
talloc xen_gntdev xen_evtchn scsi_dh_rdac scsi_dh_emc scsi_dh_alua uinput d=
m_multipath
> > [    9.398698] CR2: 0000000000000070
> > [    9.399266] ---[ end trace 0000000000000000 ]---
> > [    9.399880] RIP: e030:cpufreq_update_limits+0x10/0x30
> > [    9.400528] Code: 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90 90=
 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 48 8b 05 98 e4 21 02=
 <48> 8b 40 70 48 85 c0 74 06 e9 a2 36 38 00 cc e9 ec fe ff ff 66 66
> > [    9.401673] RSP: e02b:ffffc9004058be28 EFLAGS: 00010246
> > [    9.402316] RAX: 0000000000000000 RBX: ffff888005bf4800 RCX: ffff888=
05d635fa8
> > [    9.403060] RDX: ffff888005bf4800 RSI: 0000000000000085 RDI: 0000000=
000000000
> > [    9.403819] RBP: ffff888005cd7800 R08: 0000000000000000 R09: 8080808=
080808080
> > [    9.404581] R10: ffff88800391abc0 R11: fefefefefefefeff R12: ffff888=
004e8aa00
> > [    9.405332] R13: ffff88805d635f80 R14: ffff888004e8aa15 R15: ffff888=
0059baf00
> > [    9.406063] FS:  0000000000000000(0000) GS:ffff88805d600000(0000) kn=
lGS:0000000000000000
> > [    9.406830] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [    9.407561] CR2: 0000000000000070 CR3: 000000000202c000 CR4: 0000000=
000050660
> > [    9.408318] Kernel panic - not syncing: Fatal exception
> > [    9.409022] Kernel Offset: disabled
> > (XEN) Hardware Dom0 crashed: 'noreboot' set - not rebooting.
> >
> > Looking at the call trace, it's likely related to ACPI, and Xen too, so
> > I'm adding relevant lists too.
> >
> > Any ideas?
> >
> > #regzbot introduced: v6.12.11..v6.13.6
>
> That code looks to have been introduced for 6.9, so I wonder if so far yo=
u merely
> were lucky not to have observed any "highest perf changed" notification. =
See
> 9c4a13a08a9b ("ACPI: cpufreq: Add highest perf change notification"), whi=
ch imo
> merely adds a 2nd path to a pre-existing problem: cpufreq_update_limits()=
 assumes
> that cpufreq_driver is non-NULL, and only checks cpufreq_driver->update_l=
imits.
> But of course the assumption there may be legitimate, and it's logic else=
where
> which is or has become flawed.

cpufreq_update_limits() needs to ensure that the driver is there.

The attached patch should address this issue, Marek please verify.

--0000000000002b914c063150e400
Content-Type: text/x-patch; charset="US-ASCII"; name="cpufreq-update-limits-fix.patch"
Content-Disposition: attachment; filename="cpufreq-update-limits-fix.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m8r8tx2z0>
X-Attachment-Id: f_m8r8tx2z0

LS0tCiBkcml2ZXJzL2NwdWZyZXEvY3B1ZnJlcS5jIHwgICAgOCArKysrKysrKwogMSBmaWxlIGNo
YW5nZWQsIDggaW5zZXJ0aW9ucygrKQoKLS0tIGEvZHJpdmVycy9jcHVmcmVxL2NwdWZyZXEuYwor
KysgYi9kcml2ZXJzL2NwdWZyZXEvY3B1ZnJlcS5jCkBAIC0yNzgxLDEwICsyNzgxLDE4IEBACiAg
Ki8KIHZvaWQgY3B1ZnJlcV91cGRhdGVfbGltaXRzKHVuc2lnbmVkIGludCBjcHUpCiB7CisJc3Ry
dWN0IGNwdWZyZXFfcG9saWN5ICpwb2xpY3k7CisKKwlwb2xpY3kgPSBjcHVmcmVxX2NwdV9nZXQo
Y3B1KTsKKwlpZiAoIXBvbGljeSkKKwkJcmV0dXJuOworCiAJaWYgKGNwdWZyZXFfZHJpdmVyLT51
cGRhdGVfbGltaXRzKQogCQljcHVmcmVxX2RyaXZlci0+dXBkYXRlX2xpbWl0cyhjcHUpOwogCWVs
c2UKIAkJY3B1ZnJlcV91cGRhdGVfcG9saWN5KGNwdSk7CisKKwljcHVmcmVxX2NwdV9wdXQocG9s
aWN5KTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGNwdWZyZXFfdXBkYXRlX2xpbWl0cyk7CiAK
--0000000000002b914c063150e400--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:03:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:03:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929013.1331640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txl1M-0000Ga-VG; Thu, 27 Mar 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 929013.1331640; Thu, 27 Mar 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 1txl1M-0000GT-Rx; Thu, 27 Mar 2025 11:03:36 +0000
Received: by outflank-mailman (input) for mailman id 929013;
 Thu, 27 Mar 2025 11:03: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txl1L-0008TF-FE
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:03:35 +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 2082574c-0afb-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 12:03:34 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso7762665e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:03: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-43d82efeb1csm33472965e9.19.2025.03.27.04.03.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 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: 2082574c-0afb-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743073414; x=1743678214; 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=oyTrbySb3cRWImFm+3G9EoD69KCPWBRkTSV4xxMHgTI=;
        b=XVSMRuECDSXsrCBG5emMJ3dxOANVWysLtPMuVDt7gj0GElt7JAwAuw6Y1vVup9UtCu
         sVfk8fg3cJMI1YlWaMZ5dWDwwYl5epyR3335kICvslIoOu0Xz7iF9+nrRCDGFaj3FctX
         gwSLZhkSS0Hxzm5sWUjwFcKjcidZqkMw8Ex8fY5mLAEyRqKDEGSuSKJy8+LXRGLcdY56
         s0T93M39vJJO2NJ3FSMdslYhLNoBEPSXcgbYx2KKC2zwUm5EF0mKAWX5Ir80qqsZGIe4
         9R6euY4DzLZHCx79JTN1wj8B/SYr/iFnPZIADuc6S4oGL4GnB0MUOAarTZL5D+r0cU/5
         jJ/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743073414; x=1743678214;
        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=oyTrbySb3cRWImFm+3G9EoD69KCPWBRkTSV4xxMHgTI=;
        b=qUsjTTynjxS+d13ys/oXaSEA3wmqjiXvZY7J1fgjOeDxYSsh0S0hOHYK4vTS6jI8fM
         jpm8/Uv3eC0zd9wFknw6IqZXxeQijBAfK1pr+yUlKfrWG0XW4IyFMIZBOK57N9VDAZMI
         7x87vMWUmx5pHLxjBqYflZTL5DJeAgzPklRvPhdvcviXs7Muk1YZI+e4OB7hdO3ckE9W
         XGsXcDK1dRc0r5ZLXmn54Ohd6kW5MIdSZ4pliFJcmGiEJW/j1dcoFIc0TCpBQQPbiLjV
         +kNX1TwNNVcOquLOniJhkGoNCEBTS76e/8m/NxNqIb8LaEzPWPL6cCOmEb6E+EsxwRmW
         XsHQ==
X-Gm-Message-State: AOJu0Ywj9OyLaVYEzoLEgAL1Upk10yTMV5Kj/yU/fajCQYkDtePamWYm
	H7O7yLYe27z5C1EDsRRBVvgNPS8lzY35494PB28LzUljoyfaVJi053uz0eaqLg==
X-Gm-Gg: ASbGncv8p3xk5562Z1R6vtAZ6AeSgRaG6p3Qjf+jmZWqbftzEWwhTkOoqQLt6IZsoBG
	OnVxN4PDgd9lWOxo1JONCK3zmk6tJvTiqQVuLG+tivC94fM1LdnhVT8s8RrhofJKM1AxMbpPcKF
	zG/EfFoZuoqJNx002jMn+6iUCSye2KgkU094D8O1xbu+D3D08KSqWniN6gY3UVkiihDELvP8k3M
	voFxCnU/QQBUq7MarbuiSCw2HvxbcCR8ivOkL3KuYf80cSVKnDsfk8SQY8iyAB4ElO9apNbVeBQ
	stvgfhdxnJEV3AX43dPVW4RbEtTgtnNQdey9KsGaqppiNuAp/1xTWhzkP20L36f7w9jOQlm18Cl
	BfNs1Br94di1/aHvglzAfbbtn8cFvlw==
X-Google-Smtp-Source: AGHT+IGe1DZAf/ZCzewFfV+07XaPnv6ZDVZXO0JRg71WLOHCXFpA+G7LmjkxheX4LAXg+DucOgbonQ==
X-Received: by 2002:a05:600c:4453:b0:43c:f969:13c0 with SMTP id 5b1f17b1804b1-43d850966a0mr29477895e9.29.1743073414199;
        Thu, 27 Mar 2025 04:03:34 -0700 (PDT)
Message-ID: <47e6ad0b-ca4e-499e-8824-6f2dd525c354@suse.com>
Date: Thu, 27 Mar 2025 12:03:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: constrain AP sync and BSP restore
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" <xen-devel@lists.xenproject.org>
References: <56fbfae0-aac7-4841-ab3c-a7e00dda3744@suse.com>
 <Z-UuG2QW56iSfeFj@macbook.local>
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: <Z-UuG2QW56iSfeFj@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 11:53, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 27, 2025 at 10:54:23AM +0100, Jan Beulich wrote:
>> mtrr_set_all() has quite a bit of overhead, which is entirely useless
>> when set_mtrr_state() really does nothing. Furthermore, with
>> mtrr_state.def_type never initialized from hardware, post_set()'s
>> unconditional writing of the MSR means would leave us running in UC
>> mode after the sync.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/cpu/mtrr/main.c
>> +++ b/xen/arch/x86/cpu/mtrr/main.c
>> @@ -605,13 +605,15 @@ void mtrr_aps_sync_begin(void)
>>  
>>  void mtrr_aps_sync_end(void)
>>  {
>> -	set_mtrr(~0U, 0, 0, 0);
>> +	if (mtrr_if)
>> +		set_mtrr(~0U, 0, 0, 0);
>>  	hold_mtrr_updates_on_aps = 0;
>>  }
>>  
>>  void mtrr_bp_restore(void)
> 
> Maybe I'm blind, but I cannot find any caller to mtrr_bp_restore()?
> Am I missing something obvious?

You don't. It was lost in 4304ff420e51 ("x86/S3: Drop
{save,restore}_rest_processor_state() completely"), with there being no
indication in the description that this was actually intentional. Looks like
another S3 regression we need to fix. Unless you, Andrew, have an explanation
for this.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:20:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:20:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929029.1331649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txlI4-0004XN-C9; Thu, 27 Mar 2025 11:20:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929029.1331649; Thu, 27 Mar 2025 11:20: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 1txlI4-0004XG-9Z; Thu, 27 Mar 2025 11:20:52 +0000
Received: by outflank-mailman (input) for mailman id 929029;
 Thu, 27 Mar 2025 11:20: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txlI2-0004Tu-Py
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:20:50 +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 8907f5db-0afd-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 12:20:49 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so6973325e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:20: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-3997f9b4ce9sm19837735f8f.53.2025.03.27.04.20.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 04:20: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: 8907f5db-0afd-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743074448; x=1743679248; 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=DERAtXp836KqIEYl0wfo2SWKXigwnSKvCZoX3oWHr7A=;
        b=dwUNjepxBVHcB1L3xa7uvt2wTfJN1AWl+si3vDBLzZRu+PoSjRAEdGBD2cX1RXQ9h9
         opHs4yOHCSpgde0xvhXqjPoB+uQM2oM7cqlpichJQdSYwGzB8cog3Lz84VCKV6+fV3oY
         iqwy7cMVZIv+HbUA1rSy7fAZ9iRop+CtzTXg5GVFvRSlX/qYO4Ns0N3NoOV1jaAzqSES
         9NEGfEj6o5XrBW0xVFlw4sQ/H5Xl001uGZr9ZWPCGpSsyoLb6JUwLfmqRSq70AR3S3JL
         A1G4s/bY6Uv7SMSayfixQtpIJGDrBGvsBq9VUCkrBOpsjYe7FB3ic3KEFVpG/ihgKWCP
         44+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743074448; x=1743679248;
        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=DERAtXp836KqIEYl0wfo2SWKXigwnSKvCZoX3oWHr7A=;
        b=WyH9WSDezuwvFt7T3ctdegGDgo6J7wZttK5djLQJA/R8GbyNhnRg9xAH8lw0smjZxv
         aVAjCk1hodfNNrB9w4DNzxOc9ehFpuLawZUmXDv2ywRdICvHu39aL1J9cT3XlCXx9Ewf
         AYE5ks18hGqMzJbLA2Ep7WlEd5xpeeBu3cZdegXSxJf5o0YPJ24MJ/TfLG1ixJo1BL98
         zRf+0VZJ0qzhtyCew6UI/QP/aJY68jLNOcdLJwItSEgmHgTvQvgnDp4LGGSPIojPy7kZ
         9VbGcK1iVRKx7MeHSx7luWBMiphUv39v/whh08Fo5VfrxrBHW8mWfjk6Fa3ik1NUHpbG
         nNsQ==
X-Gm-Message-State: AOJu0Yy/V5+S2hNW1VOeiHJI8uqwgnUuOwaY2I1Kag9iHRsvSObscVAk
	Y56Vzc0XTWmcfFIR1H40giCsnH4OyeiingZtsZyCm2vAATDEcmve3klrQbU/fCN4CwrTpU5oTEM
	=
X-Gm-Gg: ASbGncviGC/pkyGPkwKtaXoDrXtya3D7QrlH4Ao4T70OMHRseC6vqo26nj2a8IJ4u4P
	cPgPCevxJOdkbzbUyImj5Es//aRr8ai1gkcAr51A91L2STJvSeaj1JqkM0mMW0xc/S+ICVh+gGb
	KY2Peg11Q0QwxL9ffcRTqg8PnlwRM+2LTaNzXmzA3Rd6vxdvRj+oHbDfuW9KWrmHmVIjx0uqdgc
	b6xIiaMNCtIJsJ2fY6OixC7pIB6uwsn9LMm+4NeayBmgOlXMbztjJE47khmH9oL+R8rResHaxMB
	OfqwmAc/8tcm3eZZV5qLcxnrYaqJjoiE4JFOdDBB1dhzecHJf0xQZDtV5JUS9lbzZUNkFBPYnPp
	SRoXyrnnS0wWgePe15zOlUEbG4FNa9g==
X-Google-Smtp-Source: AGHT+IHPwpDdU9GlgJy6W1YxUhV9huIUcrUh0gBqB1QiafEQpVRpR/x6o3TpjqNdOMHRqDO6LVs0Cw==
X-Received: by 2002:a05:6000:400e:b0:391:487f:280b with SMTP id ffacd0b85a97d-39ad1754420mr2759388f8f.10.1743074448610;
        Thu, 27 Mar 2025 04:20:48 -0700 (PDT)
Message-ID: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
Date: Thu, 27 Mar 2025 12:20:47 +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>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Unlike stated in the offending commit's description,
load_system_tables() wasn't the only thing left to retain from the
earlier restore_rest_processor_state().

While there also do Misra-related tidying for the function itself: The
function being used from assembly only means it doesn't need to have a
declaration, but wants to be asmlinkage.

Fixes: 4304ff420e51 ("x86/S3: Drop {save,restore}_rest_processor_state() completely")
Reported-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Contextually assumed to go on top of "x86/MTRR: constrain AP sync and
BSP restore". Functionally there's no dependency.

--- a/xen/arch/x86/acpi/wakeup_prot.S
+++ b/xen/arch/x86/acpi/wakeup_prot.S
@@ -124,6 +124,8 @@ LABEL(s3_resume)
         mov     STACK_CPUINFO_FIELD(cr4)(%rbx), %rax
         mov     %rax, %cr4
 
+        call    mtrr_bp_restore
+
 .Lsuspend_err:
         pop     %r15
         pop     %r14
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -610,7 +610,7 @@ void mtrr_aps_sync_end(void)
 	hold_mtrr_updates_on_aps = 0;
 }
 
-void mtrr_bp_restore(void)
+void asmlinkage mtrr_bp_restore(void)
 {
 	if (mtrr_if)
 		mtrr_set_all();
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -66,7 +66,6 @@ extern uint8_t pat_type_2_pte_flags(uint
 extern int hold_mtrr_updates_on_aps;
 extern void mtrr_aps_sync_begin(void);
 extern void mtrr_aps_sync_end(void);
-extern void mtrr_bp_restore(void);
 
 extern bool mtrr_var_range_msr_set(struct domain *d, struct mtrr_state *m,
                                    uint32_t msr, uint64_t msr_content);


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:32:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:32:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929042.1331660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txlTY-0008JA-DR; Thu, 27 Mar 2025 11:32:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929042.1331660; Thu, 27 Mar 2025 11:32: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 1txlTY-0008J3-AD; Thu, 27 Mar 2025 11:32:44 +0000
Received: by outflank-mailman (input) for mailman id 929042;
 Thu, 27 Mar 2025 11:32: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=uFzh=WO=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1txlTX-0008Ix-CX
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:32:43 +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 320021db-0aff-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 12:32:42 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-ac345bd8e13so148170766b.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:32:42 -0700 (PDT)
Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb64a2asm1229031066b.92.2025.03.27.04.32.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 04:32: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: 320021db-0aff-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743075161; x=1743679961; 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=SiEaN7cfNVNuO5q9MKTZb30f+X3rKu30S9/vPJL/aWM=;
        b=M5jDdzX8A+E08JhdWQtuYpJxst1rF5Ca0we69+eUX5WYIAjDNW7xcmLlC6DQaKdNtj
         HR2TjyYi7wpK6Ecc2UEQ92GU5KQA9donh9khstSiiDB/K1uRwPDGuxRtn5TpKSKsc9vX
         4J0teKMdS3P5rOeKq1xovCMB2JgsrC0VscAPsTJPhDy/9hkWizu6HDns/eqrCXWC62u/
         x0HWu2FEk1WGXHBJa/2Q8n6WHDvDgdELjaHrXzWOH+13KbipPSJSl8g7AgNqzi8GMH0p
         SnxNiaVM98tKaXXR0116yUDypDo9q0FGNoy2pGmaHDQphsjpLgXRil/+kdK78LaFkXdy
         sHWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743075161; x=1743679961;
        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=SiEaN7cfNVNuO5q9MKTZb30f+X3rKu30S9/vPJL/aWM=;
        b=SEl9rEWd+J8TzRiJigLinTWzqHXGVhpkRc47vpK/hqEevaSca9ZPpsCvQivJTaNab+
         L57W0c8ADkWPq+sxEYSLURhJ4CviFU/spdCVPwdJ8EU3X0Fd124PhGEh0M6yodozwpv1
         oQjiKyY8KrrAjpbTDzeiuQYrqiqHm4FxfmNbTiqTMilZDtPwzkaiS2mpmCf74j82nNm0
         FVTO+56XN7SXx1AyX/3mYpZxzswBtW95YIaO/9LuEMgUayVzQzb13LYZE1PLwlaieqgj
         7gNxq4zx7agYQb9Br5KrhV9LWVIpVUBvdBwT5X35w4C2dctPcU049Oml+C5uEinHJ16M
         Qnpw==
X-Gm-Message-State: AOJu0Yy+dGWIQre0x+rlmIbej6VxOLfdkxP4INA9OUeA3uRQ8l3kgFQe
	O2S62+4okSudonCB3WFxkxzdbyZPPaSxXqe5DvDoKRNeSIqn9F0ABFybGg==
X-Gm-Gg: ASbGncsrWCBJdaZjBO20MkLfDX6cbJdrZ294DxWdIEwi/709Lkw6+jGbQp3y+pFJdHV
	MLmqIdKGDsZTVJ3bhPa9CbbFU5mCj1zHGfaATiNXvjZP8mEFP5pLr9zEUNXMlrDVN9f6zWHf/xV
	DHrBTkQH5yTwnfdPsCJ5CSg4BfwUbKusmQxWTJPVAwsQ8brQeFZ+gjKqZNNjfGktzAsQ1Y5Atle
	f3gRJZyceh4y3c8MHryaz0NWz9ETq2h90Hh4cnwIRBn2XsvKg9LtX/w3KCHvudpU7vzWdtBAlvW
	/frWb65wfEI2k0js3C6sGVgoLOSZU1dOaKC0BtnfEzg6MqdONKc2iGnKamXuKR1JFmW0oD32C58
	+PvC9slAB
X-Google-Smtp-Source: AGHT+IG3V5Tr1egLTLnhtRk+Ob11D/SkbQlTGWvilIgAaiaHGTcghuBbYfROmo7OMaQ0JIuDra+hwg==
X-Received: by 2002:a17:907:3d92:b0:ac3:c7c6:3c97 with SMTP id a640c23a62f3a-ac6fa7e7335mr285968166b.0.1743075160370;
        Thu, 27 Mar 2025 04:32:40 -0700 (PDT)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Mykyta Poturai <mykyta_poturai@epam.com>
Subject: [PATCH v2] xen/percpu: don't initialize percpu on resume
Date: Thu, 27 Mar 2025 13:32:25 +0200
Message-ID: <7c3fece57a28462ae0c071c1cf72eb32541f1b91.1743074241.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mykola Kvach <mykola_kvach@epam.com>

Invocation of the CPU_UP_PREPARE notification
on ARM64 during resume causes a crash:

(XEN) [  315.807606] Error bringing CPU1 up: -16
(XEN) [  315.811926] Xen BUG at common/cpu.c:258
[...]
(XEN) [  316.142765] Xen call trace:
(XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
(XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
(XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
(XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
(XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
(XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
(XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
(XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
(XEN) [  316.202383]    [<0000000000000008>] 0000000000000008

Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
INVALID_PERCPU_AREA depends solely on the system state.

If the system is suspended, this area is not freed, and during resume, an error
occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
set and park_offline_cpus remains 0:

    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
        return park_offline_cpus ? 0 : -EBUSY;

The same crash can occur on x86 if park_offline_cpus is set
to 0 during Xen resume.

Fixes: f75780d26b2f ("xen: move per-cpu area management into common code")
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes introduced in V2:
 - cosmetic fixes after review
 - chnages in a commit message: add "Fixes"
---
 xen/common/percpu.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/common/percpu.c b/xen/common/percpu.c
index e4e8b7bcab..b20f0460fc 100644
--- a/xen/common/percpu.c
+++ b/xen/common/percpu.c
@@ -30,7 +30,9 @@ static int init_percpu_area(unsigned int cpu)
     char *p;
 
     if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return park_offline_cpus ? 0 : -EBUSY;
+        return park_offline_cpus || system_state == SYS_STATE_resume
+            ? 0
+            : -EBUSY;
 
     if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
         return -ENOMEM;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:37:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:37:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929056.1331686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txlYB-0000br-28; Thu, 27 Mar 2025 11:37:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929056.1331686; Thu, 27 Mar 2025 11:37: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 1txlYA-0000bk-VE; Thu, 27 Mar 2025 11:37:30 +0000
Received: by outflank-mailman (input) for mailman id 929056;
 Thu, 27 Mar 2025 11:37: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=uFzh=WO=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1txlY9-0000be-J6
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:37:29 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc440d25-0aff-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 12:37:27 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-54af20849bbso938688e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:37: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: dc440d25-0aff-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743075446; x=1743680246; darn=lists.xenproject.org;
        h=content-transfer-encoding:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BWerdclphC3e3T8IBzggr60ci8Bx5F0xMS94MYGosvo=;
        b=EeMYZjgQ4uPutRjOmjsXIlYKEEMK4RWBIYYtX18Dy2J3KKoriP/hhHUuoJVouLJUnK
         j3AZT9ZvdjyNvkuXbrDjb8H7RrpFvyp2uHQe0BiZladJcPsPoXdS8CaE/AnbngZisf/U
         alzzaokUXrfj3K7dSlEijYRO68y22+XltmYlKWOyg9jtKVFyyBpmzmQRTT+suyacCM33
         rPd+AWSNanp8KjWpVVxK6RKjEEx/G06PIxzSqQ14k/lEaWMxTeuXBYOVFNQx+gMc7ihw
         shijqhuJbQUdgnRw/cvr1vP53xFMmmh7o6psIwEyxDSvzQeq9tIz0gvDNIkTdJfbzzGm
         wyTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743075446; x=1743680246;
        h=content-transfer-encoding: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=BWerdclphC3e3T8IBzggr60ci8Bx5F0xMS94MYGosvo=;
        b=kH5IaCB12mRl9+60ESefThmUwuiTR6GkMlRZp1BkE48R6Wc3+J6Q03jgcyfygpAleU
         NrjHLrUNdlsm34RllnBBp+Sp7JzuFd42puNJuUJHwTAPr/obYsukl9FbkvVOiInPqZaD
         KLq4Nu/mnAqu6Vx9Tt+piDc1Og4O8xT9ZmYG9au4rGerzBBUUVDKiC97rTcci4ObR6gN
         7Ja6tMTxUthsgy8EMk/vM2mdzi6M3dlyEpCnXf3TQA9mHgxuaITkVENxI55c39IaB4xx
         u1zNpKuCQ/DlrXb4ITNBgxL/KOerbAxAq4IY0Ucdkn9UQiVoG799wyik2hNPZMmFqnhd
         V7+g==
X-Gm-Message-State: AOJu0YyVJ+uIW+OzlBkEBfY/jLKlrKSLNYRYgognoc3caxWNOtIsWm9p
	vu08mkP9OdKxNCXj3aGRN/O+rbbCJB637+IGWR15zU27aEfhzlWoWIu4JsGAZQixe+EMdbo7RoU
	e2mYSjhnUXlQcLGQ5F/p9BqCRn5QdXg==
X-Gm-Gg: ASbGncsdp15AA0Myr0OApiMUIMHls43X0xgYnBgDCTYfN7l2h7BUhlKEXfqRJyXi+xl
	L+CFltzvsOXEUwAZ7wIBYtr7jhT5/CNHFDB8970VCEuSkSNjybkT+U6tENQ2kWpaGosGerqZJYU
	VZZ2R4Y414Gin4qA8yJlQ0HOli
X-Google-Smtp-Source: AGHT+IEornTwNGU/XJSIJ1rYuhXHSDqkoK0sfYKjSyfhFiNm0WYqKQXanTioVCSjHzAlUgoaguwzyVyCeDx/jFZWEpI=
X-Received: by 2002:a05:6512:3d0c:b0:549:8cbb:5441 with SMTP id
 2adb3069b0e04-54b011d6250mr1452748e87.15.1743075446270; Thu, 27 Mar 2025
 04:37:26 -0700 (PDT)
MIME-Version: 1.0
References: <7c3fece57a28462ae0c071c1cf72eb32541f1b91.1743074241.git.mykola_kvach@epam.com>
In-Reply-To: <7c3fece57a28462ae0c071c1cf72eb32541f1b91.1743074241.git.mykola_kvach@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Thu, 27 Mar 2025 13:37:15 +0200
X-Gm-Features: AQ5f1Jo3hhtBRNVz-Ntec5sfWgEJb04qX7K-JzYZexdmJacrCAttygFbLXMGdSY
Message-ID: <CAGeoDV8LFsJEgZSYcUowTZ95hu6AQro92cQOZ8409ccAvHjTSQ@mail.gmail.com>
Subject: Re: [PATCH v2] xen/percpu: don't initialize percpu on resume
To: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 27, 2025 at 1:32=E2=80=AFPM Mykola Kvach <xakep.amatop@gmail.co=
m> wrote:
>

Hmm, looks like this line...

> From: Mykola Kvach <mykola_kvach@epam.com>

...shouldn't be here

>
> Invocation of the CPU_UP_PREPARE notification
> on ARM64 during resume causes a crash:
>
> (XEN) [  315.807606] Error bringing CPU1 up: -16
> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
> [...]
> (XEN) [  316.142765] Xen call trace:
> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x=
1ac (PC)
> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x=
1ac (LR)
> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4=
c/0x1a0
> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_=
tasklet_handler+0x54/0xd0
> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0x=
b8/0x100
> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x19=
4
> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0=
x14
> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
>
> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
> only occur when !park_offline_cpus and system_state is not SYS_STATE_susp=
end.
> On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset =
to
> INVALID_PERCPU_AREA depends solely on the system state.
>
> If the system is suspended, this area is not freed, and during resume, an=
 error
> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA i=
s not
> set and park_offline_cpus remains 0:
>
>     if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA )
>         return park_offline_cpus ? 0 : -EBUSY;
>
> The same crash can occur on x86 if park_offline_cpus is set
> to 0 during Xen resume.
>
> Fixes: f75780d26b2f ("xen: move per-cpu area management into common code"=
)
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes introduced in V2:
>  - cosmetic fixes after review
>  - chnages in a commit message: add "Fixes"
> ---
>  xen/common/percpu.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/xen/common/percpu.c b/xen/common/percpu.c
> index e4e8b7bcab..b20f0460fc 100644
> --- a/xen/common/percpu.c
> +++ b/xen/common/percpu.c
> @@ -30,7 +30,9 @@ static int init_percpu_area(unsigned int cpu)
>      char *p;
>
>      if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA )
> -        return park_offline_cpus ? 0 : -EBUSY;
> +        return park_offline_cpus || system_state =3D=3D SYS_STATE_resume
> +            ? 0
> +            : -EBUSY;
>
>      if ( (p =3D alloc_xenheap_pages(PERCPU_ORDER, 0)) =3D=3D NULL )
>          return -ENOMEM;
> --
> 2.43.0
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:38:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:38:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929065.1331696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txlYu-00015o-9Y; Thu, 27 Mar 2025 11:38:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929065.1331696; Thu, 27 Mar 2025 11:38: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 1txlYu-00015g-6p; Thu, 27 Mar 2025 11:38:16 +0000
Received: by outflank-mailman (input) for mailman id 929065;
 Thu, 27 Mar 2025 11:38: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txlYt-0000be-4y
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:38:15 +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 f76176d4-0aff-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 12:38:13 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-ac2bfcd2a70so111659466b.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:38:13 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3efdaccc0sm1216532166b.185.2025.03.27.04.38.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 04: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: f76176d4-0aff-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743075493; x=1743680293; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=/Y3/jpgQiTD/9GMw00etH0QwstLh1K0ffkx1YaphIPU=;
        b=TNp7CoR5Zo9xdRieA5NcQU7Kg6A+vzlOz5xGnm1bobQ+1T01tEJz6Jr5ehAMEb5Osw
         /howQxIbofmk70uqjxtlKq2gdlmfZ6WJTv/wz2el4Wt/eQbmQiKfKOEmqw3WdIdQkE5+
         LZUlgbxBXtBeHp3aknteKS+6ka6Y26C1woQiY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743075493; x=1743680293;
        h=in-reply-to: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=/Y3/jpgQiTD/9GMw00etH0QwstLh1K0ffkx1YaphIPU=;
        b=a2eah8K8fIiKh/HYAYmtKPyV9HDt+AGblLCT5tcCvq/M68/qiAdKrT1Og2yuSaKqxJ
         5ytiRjP1hDjoPlDuQ8QOxyhCOSlAC8k47RumyXQrrv0PswvD+vrb4XLPAzBa7ZXLBeUp
         WKgcAYCgUiXt2Vo5eBBI6iZ5sTCmt0HYpN9xJCqx4ZAhxb02CUbu3SIuQwHMnBQfBNbS
         jLD867eMe7JHIwkewmT/VgIWvQ1wiZXiyMAbXXwQV7c3drxkVno90irequHMOL5o4TVr
         nti5RrNTODZcg0LyVGyMgp2YObejTKSK0hqBHMziH8ucdqmOEJpMUqovSc8OefknxQPO
         RJSA==
X-Gm-Message-State: AOJu0YzzhFuadYFPazQdutMZElkYFELM8tB1qNYt9aQx0z5AXOTmO0pJ
	jaixBNKEp58sEpJ2OOYox/J4hLCxyZWfdsko/QFlTaN9ATilHCrfjUKBPHEmrHaNoRBjzWMDyWT
	T
X-Gm-Gg: ASbGncsQDW0xSVHGgovvnly+x96Ycf+xdMFg0R4qQ7bea6sH22nwIGv1Y75utlTWXDs
	mM039CjTLDMqyYfYblwZMy03H9Z2hLLF6ZxyDVjCrA9/iaGGZDwFUP7H3gu/sHAREgAYpszlmAl
	437WNnHrj9/a9cRPHFVpMQpoQ0/yn6K5Uvu+g6Ybqi7hoaOOablA9ds24ll0qe66upyQ21ZVhnK
	8mGYCTgE6ydCgeIzTxZwG51DmHGA0fVl1UNukxqTE4n9BN6wmysEq+W5v7SkA+QXQLT+P+9TZw7
	B+i/IGSIMw7l/lDcKucncIoBRT7/kqkBibXi4cgPVjaJb6UaRQ==
X-Google-Smtp-Source: AGHT+IE7hjlbFwvIjFuSPDCO1pHqdoCv7zZBitCFf0ZRTlDV8Xlcth+a/PIlh3CPTkq2UpNuat0tyQ==
X-Received: by 2002:a17:907:c0f:b0:ac1:de84:dec0 with SMTP id a640c23a62f3a-ac6faf03b6emr275013866b.26.1743075492739;
        Thu, 27 Mar 2025 04:38:12 -0700 (PDT)
Date: Thu, 27 Mar 2025 12:38: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>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
Message-ID: <Z-U4ozL6p-Unh5Y8@macbook.local>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>

On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
> Unlike stated in the offending commit's description,
> load_system_tables() wasn't the only thing left to retain from the
> earlier restore_rest_processor_state().
> 
> While there also do Misra-related tidying for the function itself: The
> function being used from assembly only means it doesn't need to have a
> declaration, but wants to be asmlinkage.

I wonder, maybe the intention was for the MTRR restoring on the BSP to
also be done by the mtrr_aps_sync_end() call in enter_state()?

AFAICT that will set the MTRRs uniformly on all CPUs, by calling
mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
process.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:42:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:42:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929077.1331706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txldI-0003vG-RS; Thu, 27 Mar 2025 11:42:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929077.1331706; Thu, 27 Mar 2025 11:42: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 1txldI-0003v9-Nf; Thu, 27 Mar 2025 11:42:48 +0000
Received: by outflank-mailman (input) for mailman id 929077;
 Thu, 27 Mar 2025 11:42: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=uFzh=WO=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1txldG-0003v3-T4
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:42:46 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9947d7d1-0b00-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 12:42:44 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-30db2c2c609so10190681fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:42: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: 9947d7d1-0b00-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743075764; x=1743680564; 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=5o144CeXTAv2vUjsN8DB1z1C25OJiP36K3aaUIMZ2VM=;
        b=Z+1pSrFFWiB788wTyIuzmVK2oKCYcnDaA8o9D9is/3SFcBW9x7k1HUlQMhqxQgC9GU
         bJ4IRae/Bh1CVBftWKrh+bKXbqSCxo1yhLlErQ/Oziyq2oxN6lYZf/3mwgdIGCRqd83n
         MmeZ/e1Gzi9O5jKLLls/rl9/nb1Js3NTvwhQy6D7010IWnN0GODpuNxwlCIxCPb97emQ
         RNzS2Lr7yF/HLt3bemzErIKJaKZDazvqGGonIWFkn/fhiSOD6TQ0d+xnZFtYjsfufkI+
         2QxGYrrOXa9sUg8FBJHWkFe7YWC+fMY2396XHUkHiTDGZrNYfgWq0/1YCB6UeB5B2NC0
         FOjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743075764; x=1743680564;
        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=5o144CeXTAv2vUjsN8DB1z1C25OJiP36K3aaUIMZ2VM=;
        b=S8CjpeEe0RTjV3WFC+oGe8rhRfVUtiselVqV6ijAAcjvW63J49V88aKlgMe0UiUlMT
         JXhg+JlVxLVovQ90OCXOuc+zalh897GGWOrvA+Otlz6BKvINfBxDUyJngV7nSccAzl6c
         Qa/ofd+QeH9KZZHMidpEcQHz4cAybMOgPhG0azH8Il009qiPU993aFlJsvry9RamP0u3
         86stnWxJ48vebo3FnAdlurBbQtI+TzyI737T8Qrc02RroWdAWciz+O3zUpEiIhH5eqr1
         LVioqTcWS01LLXxJpnusp/hZZNwvbi7JHRpQtOA4o9/DHWhf7v4ng+EK/jG0mTxgBk+K
         yCww==
X-Forwarded-Encrypted: i=1; AJvYcCUHAs+7Y8dbUquhzkGD3E4bnGfAaov8n6eOSWVyPhfTsutTlpVp+d9b28fQd28VxNKTQ9RIyYzrEac=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyC0bjVe9xn3YsRQuWbQORYS6qYGegNr9FDzqWYQAuAH/4ZL65p
	632L42wEk5ga2zGR456I2JoUeFKhr50S97zJ7MKXQEJJMKaDfPUe1bzWxxj4cbM0ZSLiozfzyRk
	qwwXlt98ijxO3V9LsDB9F17xs4TE=
X-Gm-Gg: ASbGnctFbp8DfzaQPaFxtYord5W/8PWuCsM5bUhOt/x1Yh2svIl1xqpHlJSbtwNi2wH
	tLfCk77YASibfTvaShFiNgLxwsU6XINLt4Hb2w/azw7ZUo4qSyOo5a+rCru8tQYEnW3+I1rfgl9
	gVI7H1zWhrgyD2om6RvVhnYO1i
X-Google-Smtp-Source: AGHT+IH9Z5YJXZV6kfkJCGjoxq9mxClY+0fGyWncFpsPzphHEiohRjsYQ4ziXhw6alcGVGnDMMoOVFbVrNghRQt1nvQ=
X-Received: by 2002:ac2:4e16:0:b0:549:7145:5d2f with SMTP id
 2adb3069b0e04-54b01221f44mr1153392e87.33.1743075763923; Thu, 27 Mar 2025
 04:42:43 -0700 (PDT)
MIME-Version: 1.0
References: <20250327052241.202167-1-xakep.amatop@gmail.com> <689e103f-8130-4b38-ba63-607493737af7@suse.com>
In-Reply-To: <689e103f-8130-4b38-ba63-607493737af7@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Thu, 27 Mar 2025 13:42:32 +0200
X-Gm-Features: AQ5f1JoASXPbLLMHXDzsTT4BEJFWoGQMWBTORAVFx3ZB4euCzw_Uk0SRFwtSNqs
Message-ID: <CAGeoDV8nW1aiQkmZ6NBWESCvOODpX+FnKt_kOnmHiMxsGO5CDQ@mail.gmail.com>
Subject: Re: [PATCH] xen/percpu: don't initialize percpu on resume
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Mykyta Poturai <mykyta_poturai@epam.com>, 
	Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Mar 27, 2025 at 10:25=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wr=
ote:
>
> On 27.03.2025 06:22, Mykola Kvach wrote:
> > --- a/xen/common/percpu.c
> > +++ b/xen/common/percpu.c
> > @@ -30,7 +30,12 @@ static int init_percpu_area(unsigned int cpu)
> >      char *p;
> >
> >      if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA )
> > -        return park_offline_cpus ? 0 : -EBUSY;
> > +    {
> > +        if ( system_state =3D=3D SYS_STATE_resume )
> > +            return 0;
> > +        else
> > +            return park_offline_cpus ? 0 : -EBUSY;
> > +    }
>
> Hmm, why not the much simpler
>
>         return park_offline_cpus || system_state =3D=3D SYS_STATE_resume
>                ? 0
>                : -EBUSY;
>
> Even if not for whatever reason, I'd really like to ask to omit such an
> unnecessary "else".

Done

>
> Preferably with the adjustment (which I'd be happy to make while
> committing) and with the (iirc) previously suggested Fixes: tag:

Done

> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Added

>
> Jan

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:43:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:43:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929086.1331716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txldl-0004Ps-68; Thu, 27 Mar 2025 11:43:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929086.1331716; Thu, 27 Mar 2025 11:43: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 1txldl-0004Pi-3L; Thu, 27 Mar 2025 11:43:17 +0000
Received: by outflank-mailman (input) for mailman id 929086;
 Thu, 27 Mar 2025 11:43: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txldj-0004Fn-7N
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:43:15 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa54ba9b-0b00-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 12:43:14 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-22622ddcc35so24559835ad.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:43:14 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-227811da9dbsm126788935ad.179.2025.03.27.04.43.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 04: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: aa54ba9b-0b00-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743075793; x=1743680593; darn=lists.xenproject.org;
        h=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=P5rX326vMt/Axc/TQkWmgoCc2dVeRmgvPE8s/wnC/VY=;
        b=jhejgIACcaXk6e188pJGJWG0rSGJn7VOYQ/WElGjWkCduqmaEsEqKnu6Hv3gKZ9x9Y
         UFf314ciyAmH8mbR9E8lZPf8qCf4jjfpvxfIns1b9/w2y4MT57N26VPBTLuNd/CJHd3f
         GQ94+62q/fEMY9bnZ5itnlg3rz0lHr8B84wOY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743075793; x=1743680593;
        h=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=P5rX326vMt/Axc/TQkWmgoCc2dVeRmgvPE8s/wnC/VY=;
        b=cWFezEGZTHkC/mf5qwVO5A9MONXVxGvjMLycG6MqPL4kMYiv5obAExUEkjt4t4FfdG
         GJ5qEKr1x95QiDprp3te3G7wg+GujOtvocC9wjzlRWkws1xbt58/hp1Ay8Pr7y8ir9rS
         9DBjdsc9NvLRO+xzT5EUPSC6KNw5Sd+8WUm4aFAE4DshEpbI4V3qUosBrVZFlWul7Ck8
         LlNoloXnCnTPD/MoVGguoG6GOS7C2ak4EmssKA+LhUp4GcLb/lmwN/Zuons5syP8yabN
         I912VAcrZL6X4kSbGmlZVWZyg2XAhcM9WkhuGyw0Ejl3W7s7w/rR3fCanBS6J+BKB5dp
         H69w==
X-Gm-Message-State: AOJu0YzdiGnYhgC9QchDlH0kM3je5DxnjbhXplWLo7MieSuMyTsdEGyF
	qT7gDYuaqCIqZUsbuz5Wll1vv/sFlCUFnCxhol75/+C/rNvA6TKs2dHUCWXfYknURgVNYFjaYnl
	0
X-Gm-Gg: ASbGncs+7IwZOFmB5FPBIzx+kfMj3dvuFb9GenJn8bI8xKWyXVXqr9q9RFKjB+vct49
	Ww5vbtppSdp4qQeXQkBvlaSfYhXOgH/DL4ft9mVjs0ZpyQoflBtieb1t+MieNW0kcigBZtuf1Wz
	5kEhUnxs5ThDwt1SPU3YKDAWhvGu09lyNC4RmShclPRGUc5XClkRwOdqsd6JK049OH0IlC3G56/
	P3fYi/Lx4H1WGeyC7vH41iz/L3ovG93+NR2QNgDeDfwuEv5wxCY9QzgNOVXxob6cS42/l0YnAyc
	VPq5p+jvFeXo34iceE7Pfyb0iupRd2f8ePGXDpgFJ6ZZN/6yPQ==
X-Google-Smtp-Source: AGHT+IF8NkAvSQUkveGwCTT/MOBv3KhOK/3az4xErymcdNzD7U/5s0X0IfxTEmEfUsd2T0bIsgEcCQ==
X-Received: by 2002:a17:902:f684:b0:224:584:6f04 with SMTP id d9443c01a7336-228048b1ecfmr32609175ad.18.1743075792603;
        Thu, 27 Mar 2025 04:43:12 -0700 (PDT)
Date: Thu, 27 Mar 2025 12:43:07 +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>
Subject: Re: [PATCH v2] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
Message-ID: <Z-U5y3jaw1FeRO_X@macbook.local>
References: <b590b590-764a-4dfe-9e13-975122790329@suse.com>
 <Z-UToaPviR7b73iG@macbook.local>
 <307f7c6e-bb31-4c0a-890e-a21b7a4e178f@suse.com>
 <Z-UquDQHtnFMJ4se@macbook.local>
 <17ddf002-8305-4c14-8fbc-3c3be418bba2@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <17ddf002-8305-4c14-8fbc-3c3be418bba2@suse.com>

On Thu, Mar 27, 2025 at 11:54:09AM +0100, Jan Beulich wrote:
> On 27.03.2025 11:38, Roger Pau MonnĂŠ wrote:
> > On Thu, Mar 27, 2025 at 10:24:02AM +0100, Jan Beulich wrote:
> >> On 27.03.2025 10:00, Roger Pau MonnĂŠ wrote:
> >>> On Tue, Mar 25, 2025 at 08:17:04AM +0100, Jan Beulich wrote:
> >>>> Handling of both grants and foreign pages was different between the two
> >>>> paths.
> >>>>
> >>>> While permitting access to grants would be desirable, doing so would
> >>>> require more involved handling; undo that for the time being. In
> >>>> particular the page reference obtained would prevent the owning domain
> >>>> from changing e.g. the page's type (after the grantee has released the
> >>>> last reference of the grant). Instead perhaps another reference on the
> >>>> grant would need obtaining. Which in turn would require determining
> >>>> which grant that was.
> >>>>
> >>>> Foreign pages in any event need permitting on both paths.
> >>>
> >>> I've been wondering about this, and AFAICT the PV equivalent of this
> >>> function (the tail of get_page_from_gfn()) is much more limited in
> >>> that it just allows access to domain owned RAM or MMIO that has a
> >>> backing page (I expect mostly for the low 1MB?).
> >>>
> >>> However for HVM domains we allow to take references to foreign mapped
> >>> pages and taking references to MMIO pages is not permitted.
> >>>
> >>> Should the tail of get_page_from_gfn() also be adjusted to make use of
> >>> the newly introduced get_page_from_mfn_and_type(), thus unifying the
> >>> logic for both PV and HVM?
> >>
> >> There's no (proper) use of P2M types in PV, so I don't think using this
> >> function is viable for PV. In particular we'd never observe p2m_foreign
> >> in PV, if I'm not mistaken.
> > 
> > Indeed, p2m types are just occasionally faked for PV, like in
> > get_page_from_gfn().
> > 
> >>> Could possibly be done in a separate change, I'm just trying to
> >>> understand why we have this seemingly different handling for PV vs
> >>> HVM.
> >>
> >> The difference is because access to foreign pages was hacked in to work
> >> for PVH in a much different (and imo yet more hacky) way than it was
> >> made work far longer ago for PV. The crucial part of that is in
> >> get_page_from_l1e(), so get_page_from_gfn() isn't that relevant there
> >> (I think).
> > 
> > OK.  I'm kind of surprised we need foreign handling for HVM and not
> > for PV in get_page_from_gfn(), as even with specific handling of
> > foreign pages in get_page_from_l1e(), the former is used in a lot of
> > places that don't seem obviously tied or gated to a call to
> > get_page_from_l1e().
> > 
> > For example the XEN_DOMCTL_getpageframeinfo3 usage of
> > get_page_from_gfn() will have different results when used against a
> > foreign page depending on whether the caller is a PV or an HVM
> > domain.
> 
> Which imo is an unintended side effect of how foreign page support was added
> to p2m_get_page_from_gfn(). Considering what XEN_DOMCTL_getpageframeinfo3 is
> used for, I don't think foreign pages were intended to ever be observed there.
> A guest controlling another guest isn't assumed to be migrated, aiui.
> 
> I expect more uses of get_page_from_gfn() can be found where foreign pages
> better wouldn't have "success" returned. Yet any of this is mere fallout from
> some callers apparently needing that case to work, and hence why logic was
> hacked into there. Maybe get_page_from_gfn() should take another P2M_FOREIGN
> flag, which only callers caring about foreign pages would set?
> 
> Imo none of this is directly relevant for the patch at hand here - fast and
> slow paths differing is a problem no matter what. In fact I'm surprised no
> issues were ever reported that could be attributed back to that anomaly.

Sorry, indeed, I didn't meant to imply that your patch caused any of
this.  It's just weirdness that I've observed while looking into this,
and couldn't explain myself.  I think the change is fine, but I find
this slight behavior differences between PV and HVM confusing to say
the least.

IOW: I'm unsure why foreign pages need to be handled here
for HVM and not for PV.  As you say this is probably due to the
different implementation of foreign pages in PV vs HVM.  In any case,
such diverging behavior should be fixed in a separate patch (if it
does need fixing in hte first place).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:45:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:45:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929098.1331725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txlfQ-00052N-Gj; Thu, 27 Mar 2025 11:45:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929098.1331725; Thu, 27 Mar 2025 11:45: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 1txlfQ-00052G-E4; Thu, 27 Mar 2025 11:45:00 +0000
Received: by outflank-mailman (input) for mailman id 929098;
 Thu, 27 Mar 2025 11:44: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=uFzh=WO=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1txlfP-00052A-AN
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:44:59 +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 e8cb684a-0b00-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 12:44:58 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5499659e669so876641e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:44: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: e8cb684a-0b00-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743075898; x=1743680698; 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=IoZMJ9gzYnrJjo5j6EOySURaQ1LdtStF5y244u8/3pM=;
        b=QWu6ClxI0I36tVuEwFOMVaYrmqKyYfDSfXwskJV+mYfaCFT9Xxtj9B7a0fJ/x0iNIg
         hOupgWfgJxVWbfKvkrSpRrxYaubF2XUr4u5Z1wU0xyUzKQwSqzD+h36pHmJs5fnOJEHo
         uNexQ3BeGKTGCJPShErJJOtCRfDkN0QUlQp7CdT5PMljbavTXOFO5y30Ajy3eHkBvYjf
         BwHVC/BT8QQFpzXcpmPx4DLkw7EbDPel/0DKGQkH/C+63cuvEOul54yqeDop6h4k2kf5
         auDm7V/YtF2Qe7eEbEDkrBPsKixiSLZjLd/wkHaPPnAIee6yCh5IGpfztV1Qz8x9PgiU
         jHUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743075898; x=1743680698;
        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=IoZMJ9gzYnrJjo5j6EOySURaQ1LdtStF5y244u8/3pM=;
        b=eiHQqQki7dHZSmaDgdraUtKVFCBy4Mb3fmsLjLiKiqHKjoKkij/nI1RMdl5bbYk/XC
         P0yQttlhGYXCHlkFNn0PHddRWUqUjJAzRMPhYN2HRvRT+8Bgy0cFtVrFU/ksw2jqWQG+
         yw/zMKqfIfQo29yopo7klPYofRKYxN8C91VN0FQuJYUbmDaKY8a7ZV1LQzNv2kJSqRaX
         pI98fTq3dH6ZD7veJZkKTbOqaEhn70Fni2gOabqbwUHn+7zpfYWL4Dv93e+tZUry86Rm
         kEjcgOEaifOborRB0M2oFIhutG9U7d/1bvXNP/HNRFfySexH0o/TrnurJOXKNUhGfMgc
         bZdQ==
X-Forwarded-Encrypted: i=1; AJvYcCWDSOcaJI5rmyGhotz6zsbiwwx7c/vhlCJijNpag2LFY2k0UYW0mGm9HxCF0KPu42te84+H8OjvrZU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1UY6z79U1AfYXhKxEPy0ZMyBCDrWFwOqBZDGpSlR7g3cb3/NZ
	hPckb4gVOCDoaQ+G2hwMIYlFyggciHbz0aeEKdrp1aRs6mvZP8zvOGhWkvmeJiGNoJcMJUeGe1H
	+Xg3XJ0o8lueELfTLU0rijSpx0I0=
X-Gm-Gg: ASbGncs3fpblQfyN3T1jH/hjhbzpTQqbxxAKSF52UzRL7XTRo/1J1wVEeV9ZXkPK0NZ
	KKKW/fnk9q81kNDc5dMyO4zWtgbtYK7ZLowV8Dhu6kYcCBmNl7caCCYypMalgV99vFkl2OIWPbW
	1W2YgCEBtS+GIw2W0XpFi0sZ3GkQM2hMjBkg4=
X-Google-Smtp-Source: AGHT+IF+BfG0fzTwmjGMDa/i+59/Q9ou4SeFW8RGEc77dYAr09td64vA3lQ4FrM7HXbHB5DoqK0h7VzPmZhOsTxk1Fk=
X-Received: by 2002:a05:6512:ace:b0:545:2cb6:af31 with SMTP id
 2adb3069b0e04-54b011d5b21mr1554497e87.15.1743075897630; Thu, 27 Mar 2025
 04:44:57 -0700 (PDT)
MIME-Version: 1.0
References: <20250327052241.202167-1-xakep.amatop@gmail.com> <a0334340-6dc9-4526-ab00-1d9bbb290de2@suse.com>
In-Reply-To: <a0334340-6dc9-4526-ab00-1d9bbb290de2@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Thu, 27 Mar 2025 13:44:46 +0200
X-Gm-Features: AQ5f1JpWm7Upcy5a8hmLICDizW4hPvJi-71zOLtjL_UGTwBdxgtbSkk2r1tMxK8
Message-ID: <CAGeoDV8kLCYO-GQw=SNF0YA4TAnQ7ppCidvR9sy99FiCD_fx9Q@mail.gmail.com>
Subject: Re: [PATCH] xen/percpu: don't initialize percpu on resume
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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Mykyta Poturai <mykyta_poturai@epam.com>, 
	Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org, 
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 27, 2025 at 10:27=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wr=
ote:
>
> On 27.03.2025 06:22, Mykola Kvach wrote:
> > Invocation of the CPU_UP_PREPARE notification
> > on ARM64 during resume causes a crash:
> >
> > (XEN) [  315.807606] Error bringing CPU1 up: -16
> > (XEN) [  315.811926] Xen BUG at common/cpu.c:258
> > [...]
> > (XEN) [  316.142765] Xen call trace:
> > (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/=
0x1ac (PC)
> > (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/=
0x1ac (LR)
> > (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0=
x4c/0x1a0
> > (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercal=
l_tasklet_handler+0x54/0xd0
> > (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+=
0xb8/0x100
> > (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
> > (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x=
194
> > (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0=
/0x14
> > (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
> >
> > Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AR=
EA
> > only occur when !park_offline_cpus and system_state is not SYS_STATE_su=
spend.
> > On ARM64, park_offline_cpus is always false, so setting __per_cpu_offse=
t to
> > INVALID_PERCPU_AREA depends solely on the system state.
> >
> > If the system is suspended, this area is not freed, and during resume, =
an error
> > occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA=
 is not
> > set and park_offline_cpus remains 0:
> >
> >     if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA )
> >         return park_offline_cpus ? 0 : -EBUSY;
> >
> > It appears that the same crash can occur on x86 if park_offline_cpus is=
 set
> > to 0 during Xen suspend.
>
> Oh, also - it's not "appears"; iirc Marek meanwhile confirmed the misbeha=
vior on
> x86 AMD hardware.

I've updated this line in the commit message.

>
> Jan

~Mykola


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:48:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929114.1331736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txliz-0005cz-1A; Thu, 27 Mar 2025 11:48:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929114.1331736; Thu, 27 Mar 2025 11:48: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 1txliy-0005cs-TK; Thu, 27 Mar 2025 11:48:40 +0000
Received: by outflank-mailman (input) for mailman id 929114;
 Thu, 27 Mar 2025 11:48: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txliy-0005az-96
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:48:40 +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 6a518497-0b01-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 12:48:35 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5eb92df4fcbso1543004a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:48:35 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac696678277sm774799866b.174.2025.03.27.04.48.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 04:48: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: 6a518497-0b01-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743076115; x=1743680915; 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=wlY3pY5H/31YnUiRHCXNdf+Z5kXhZi3R+4s8CN883xM=;
        b=ap/FNKyNobhqYEjoXjdhDfqU4FmpzEHZPp0UUwKBex6s6phoyRwSfVllba1zJs01SJ
         tCOxgHWEVNhs+ebMx7h2Cwe9MXOjncrL6qeZ+LXg6Ny5T+6Yixf/9ZlqSAeCELjf2EIP
         7ZvQzQzDPNtbO5prlzP4m7Cbw/hMCJkEZJ8KzBMJ0R/wRM8lk4vE2brK7cQTOioBJFiF
         pdlV1meB38qofIVc05XDMF/aKBt/AfrHF9ltzpLnrWGH/cxkNe5mERXfZavStLYdJ7+o
         NNWmyKt1qylxU1cdio96LGvacU+7oC4DW5dSfcdFQKMJ/23SxXTNbbsuX1kCbLGXAiEV
         y+xA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743076115; x=1743680915;
        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=wlY3pY5H/31YnUiRHCXNdf+Z5kXhZi3R+4s8CN883xM=;
        b=o0nFo2HvL/0GUYqfxRTNM3Zbuqq+iuinI7Hft/eiglMmWISmfa7W2UaOnUyvkX71MU
         ui+s7HUI8IaUQQj3iUuPtOou4oSaL8Tw8P2tYc1NwiAF6jzJfibuYhoCm1wUij7q4Qsq
         fdGiMvJUe5IdvreU4vsnjpbOzIgyVKGKrrcRfFUFM8XQmsDF7PvIOId4HI5n/2fycE7/
         jniKe149FMfrYYztnbKpRXZ4xVANHUyakq9LMjUv8kdQZwKTHii6pAw8ESUB/weAeo/e
         9ErJsj8phdswVKCtCCJW3xq8JgXgiqR2nS3xg2qQC3ZQOBF7ezpckZrTAc9rz9Uxl6+B
         Q7xw==
X-Forwarded-Encrypted: i=1; AJvYcCXE0X4E5GFKzIkRR+NJWaZeyI+ix1QGK+xtUf4NMpFP7Dt0OCCyrrOGYO2d6fEFTI5IEp9sx/K2jTs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmSjoH/QafK0lYSHuZMQ70qgec6x4p5p/OK2F9BYAjgGxNXBVH
	qslg+PWyZCYh4eM3fJTsvtDJySR07Z5eGrDYu/6k4Zg/NriaNiFG
X-Gm-Gg: ASbGncvLdKaQ0c/71G9M+Ruy63dvKA8TIKA37sNxw4i9/uUTF5nTfcbqflisQ00srWN
	Z3JHeBpHB83dVqdZPWsU97GiyM0Wc0saRx9mDf05HszkH1eAjUjov6lXsLfqx4XEPUPlyKbPWRO
	2S8t0qLc2ajMM1kKxOZovROGqefwJ2TnflHNpHwrH4o7+TT91t4aQl9XIFgLbdTjUFumAl+F/aF
	Pr5/cWsp+Z42ba/xFdp87Suqg52IvZjSVSwgxH+vOqgnr0Kg1Y251AvIt1FswGqDbcIEppDHHKk
	DjVWdw2W5TSztZs8IHsv+5kpvWCx9P4xKWICCIIZ3QvWmiBHawxXYKdM2BxEofBdAcy1gDTyiqT
	d2aDAvXhiZ9E1PtGf7Wi08oJ2JYKRyAU=
X-Google-Smtp-Source: AGHT+IHaU44+0CryGjcHvtOigpD5g7X8zwQd163aKdFFUfWA71hD3CQpJzQ6e/uij2AcRrLx2m22jw==
X-Received: by 2002:a17:906:4fd5:b0:ab3:2b85:5d5 with SMTP id a640c23a62f3a-ac6fb147aebmr350916566b.49.1743076114628;
        Thu, 27 Mar 2025 04:48:34 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------E6tmigiOHOElWvuo0eh16wO0"
Message-ID: <9fabdf22-bc0c-4c4d-9652-1b5072d83660@gmail.com>
Date: Thu, 27 Mar 2025 12:48:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/riscv: introduce preinit_xen_time()
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: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com>
 <cb66e1e4-7ac4-4a98-9bdb-b92e6c069f0a@gmail.com>
 <f76b12af-172a-4faf-9e60-54c4626db8c3@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f76b12af-172a-4faf-9e60-54c4626db8c3@suse.com>

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


On 3/27/25 8:42 AM, Jan Beulich wrote:
> On 26.03.2025 20:49, Oleksii Kurochko wrote:
>> On 3/26/25 4:13 PM, Jan Beulich wrote:
>>> On 25.03.2025 18:36, Oleksii Kurochko wrote:
>>>> +/* Set up the timer on the boot CPU (early init function) */
>>>> +static void __init preinit_dt_xen_time(void)
>>>> +{
>>>> +    static const struct dt_device_match __initconstrel timer_ids[] =
>>>> +    {
>>>> +        DT_MATCH_PATH("/cpus"),
>>>> +        { /* sentinel */ },
>>>> +    };
>>>> +    uint32_t rate;
>>>> +
>>>> +    timer = dt_find_matching_node(NULL, timer_ids);
>>>> +    if ( !timer )
>>>> +        panic("Unable to find a compatible timer in the device tree\n");
>>>> +
>>>> +    dt_device_set_used_by(timer, DOMID_XEN);
>>>> +
>>>> +    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
>>>> +        panic("Unable to find clock frequency\n");
>>>> +
>>>> +    cpu_khz = rate / 1000;
>>> "rate" being only 32 bits wide, what about clock rates above 4GHz? Or is
>>> this some external clock running at a much lower rate than the CPU would?
>> It is the frequency of the hardware timer that drives the
>> |mtime|register, it defines the frequency (in Hz) at which the timer
>> increments.
> And that timer can't plausibly run at more than 4 GHz?

I haven't seen yet such big timer frequency.

But if to look at device tree spec:
timebase-frequency: Specifies the current frequency at which the
timebase and decrementer registers are updated (in Hertz).
The value is a <prop-encoded-array> in one of two forms:
â˘ A 32-bit integer consisting of one <u32>
   specifying the frequency.
â˘ A 64-bit integer represented as a <u64>.

Interesting that Linux kernel reads timebase-frequency as u32:
    u32 prop;
    ...
    if (!cpu || of_property_read_u32(cpu, "timebase-frequency", &prop))
and then saves it to:
    riscv_timebase = prop;
where riscv_timebase is declared as unsigned long.

I think it can be left as it is now as if timebase-frequency will be u64 then
it means that it will be needed to read two u32 values and in this case dt_property_read_u32()
will return 0 and the panic will occur.

~ Oleksii

--------------E6tmigiOHOElWvuo0eh16wO0
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 3/27/25 8:42 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f76b12af-172a-4faf-9e60-54c4626db8c3@suse.com">
      <pre wrap="" class="moz-quote-pre">On 26.03.2025 20:49, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 3/26/25 4:13 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 25.03.2025 18:36, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">+/* Set up the timer on the boot CPU (early init function) */
+static void __init preinit_dt_xen_time(void)
+{
+    static const struct dt_device_match __initconstrel timer_ids[] =
+    {
+        DT_MATCH_PATH("/cpus"),
+        { /* sentinel */ },
+    };
+    uint32_t rate;
+
+    timer = dt_find_matching_node(NULL, timer_ids);
+    if ( !timer )
+        panic("Unable to find a compatible timer in the device tree\n");
+
+    dt_device_set_used_by(timer, DOMID_XEN);
+
+    if ( !dt_property_read_u32(timer, "timebase-frequency", &amp;rate) )
+        panic("Unable to find clock frequency\n");
+
+    cpu_khz = rate / 1000;
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">"rate" being only 32 bits wide, what about clock rates above 4GHz? Or is
this some external clock running at a much lower rate than the CPU would?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
It is the frequency of the hardware timer that drives the 
|mtime|register, it defines the frequency (in Hz) at which the timer 
increments.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
And that timer can't plausibly run at more than 4 GHz?</pre>
    </blockquote>
    <pre>I haven't seen yet such big timer frequency.

But if to look at device tree spec:
timebase-frequency: Specifies the current frequency at which the
timebase and decrementer registers are updated (in Hertz).
The value is a &lt;prop-encoded-array&gt; in one of two forms:
â˘ A 32-bit integer consisting of one &lt;u32&gt;
  specifying the frequency.
â˘ A 64-bit integer represented as a &lt;u64&gt;.

Interesting that Linux kernel reads timebase-frequency as u32:
   u32 prop;
   ... 
   if (!cpu || of_property_read_u32(cpu, "timebase-frequency", &amp;prop))
and then saves it to:
   riscv_timebase = prop;
where riscv_timebase is declared as unsigned long.

I think it can be left as it is now as if timebase-frequency will be u64 then
it means that it will be needed to read two u32 values and in this case dt_property_read_u32()
will return 0 and the panic will occur.

~ Oleksii

</pre>
    <blockquote type="cite"
      cite="mid:f76b12af-172a-4faf-9e60-54c4626db8c3@suse.com">
      <pre wrap="" class="moz-quote-pre">
</pre>
    </blockquote>
  </body>
</html>

--------------E6tmigiOHOElWvuo0eh16wO0--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 11:52:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 11:52:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929127.1331745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txlmM-0000B2-DV; Thu, 27 Mar 2025 11:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929127.1331745; Thu, 27 Mar 2025 11:52: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 1txlmM-0000Av-Ay; Thu, 27 Mar 2025 11:52:10 +0000
Received: by outflank-mailman (input) for mailman id 929127;
 Thu, 27 Mar 2025 11:52: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txleu-0003v3-Da
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 11:44:28 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3b1ec96-0b00-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 12:44:23 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-2243803b776so28039125ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 04:44:23 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-73905fab1bbsm14528907b3a.17.2025.03.27.04.44.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 04:44: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: d3b1ec96-0b00-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743075862; x=1743680662; darn=lists.xenproject.org;
        h=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=uU/A+L9dsiDTikhueZRE5xiAXJ92adxcVVEhQD5XonU=;
        b=jop5z0tLvCqm8fhY3gi0CdIYuQzvRjFSROO+Ml8zc7UmS1dJzZ+HGnLo12CVd58k+m
         YIjuYrq8fYUsLuJwRp5OcRlnkmmnLyqma8bu3vcnQoXDbbwmyoEzPcNaPwi5ajr8I/l7
         QV5ie/ylDiRskK6Jr1+BEayjz+PnyCXhi78II=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743075862; x=1743680662;
        h=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=uU/A+L9dsiDTikhueZRE5xiAXJ92adxcVVEhQD5XonU=;
        b=u0Qk18Ib8ZEf3GqhsR8h1pMcMcU4TEiQPu0Sk+l49gShM98Y8ioUXINOyb3xp8UpIm
         ULTlpIvnNMb/qTDVxVyhhpiGRLydz10nT7tEOVkPKBZxDr2pKx5QVKvqi0Qp3dajq5Ne
         8UDxr+0IUZf4SywNhNEk6wXQ2SURUN9xD8Xsiuv7X7FUpEuCj240TRRA1XN8NbtdsDzp
         B6vv4mfyiFuRsKAKrQO8u8H9hG5/E6dxO/yMI667qf0zwUxzkPzgNuQr133/86rIH8en
         Y78xXS02fNYejyr83LCBb/BN7rS0zJERuwgyLrTS+WODuKCFsNKaWJFkKXGdmsK6gYwW
         yIng==
X-Gm-Message-State: AOJu0YwSs3h1zN5520tNzApxStpdsxV0K+nhEc5Fu0chPu6HStfrjuYW
	zWiz/aqpgGsjUmL5Im7T4cBbbxggAu6trNk+f/yKzhQei3yJRx+++dPcw4FVVeo=
X-Gm-Gg: ASbGncsQutjh1097AJDLAZf/cfV455qZAj7Kwv4dRaKgntqEMvfdDDn8uyjA0IuLNjC
	J/JX9QQ88KGwi+YxaG561sNfWB65YOww/v091bj8wicbor62vcj0l1ApHurt7ulBwuShdRZYN++
	+5Fcl5LCHMklTIqPVWUGmuf+2GJMfXtOwyuEX5OIUtQHobXJyXGd86stw4oTSjDgzOIGNJIcGoI
	UrigUO8XsQVXKz9aHVekpJqT9kb8c9jMX3bdMMd2/FrdbqXJ7f+2c9tWJyVgutyctWAi194is7/
	uiu0uAUciw6O3Vy/LKBqHC0mMIBHGTSZu3+1o1kVv+7qbZ39S0/7qAt6hAh5
X-Google-Smtp-Source: AGHT+IF1zh5CzP+2sB19YkVPwCooBw5Ad6DNVqCKSBM9muR1Lopu3bJbq4PNTNEJB+MOTee3AXkyow==
X-Received: by 2002:a05:6a21:700f:b0:1f5:7007:9ea5 with SMTP id adf61e73a8af0-1fea2d480eemr2731418637.2.1743075862103;
        Thu, 27 Mar 2025 04:44:22 -0700 (PDT)
Date: Thu, 27 Mar 2025 12:44:17 +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>
Subject: Re: [PATCH v2] x86/P2M: synchronize fast and slow paths of
 p2m_get_page_from_gfn()
Message-ID: <Z-U6EdAN_dnDnD3J@macbook.local>
References: <b590b590-764a-4dfe-9e13-975122790329@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b590b590-764a-4dfe-9e13-975122790329@suse.com>

On Tue, Mar 25, 2025 at 08:17:04AM +0100, Jan Beulich wrote:
> Handling of both grants and foreign pages was different between the two
> paths.
> 
> While permitting access to grants would be desirable, doing so would
> require more involved handling; undo that for the time being. In
> particular the page reference obtained would prevent the owning domain
> from changing e.g. the page's type (after the grantee has released the
> last reference of the grant). Instead perhaps another reference on the
> grant would need obtaining. Which in turn would require determining
> which grant that was.
> 
> Foreign pages in any event need permitting on both paths.
> 
> Introduce a helper function to be used on both paths, such that
> respective checking differs in just the extra "to be unshared" condition
> on the fast path.
> 
> While there adjust the sanity check for foreign pages: Don't leak the
> reference on release builds when on a debug build the assertion would
> have triggered. (Thanks to Roger for the suggestion.)
> 
> Fixes: 80ea7af17269 ("x86/mm: Introduce get_page_from_gfn()")
> Fixes: 50fe6e737059 ("pvh dom0: add and remove foreign pages")
> Fixes: cbbca7be4aaa ("x86/p2m: make p2m_get_page_from_gfn() handle grant case correctly")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:03:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:03:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929145.1331756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txlxf-0003HJ-Jd; Thu, 27 Mar 2025 12:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929145.1331756; Thu, 27 Mar 2025 12:03: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 1txlxf-0003HC-Gi; Thu, 27 Mar 2025 12:03:51 +0000
Received: by outflank-mailman (input) for mailman id 929145;
 Thu, 27 Mar 2025 12:03: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=xiQ9=WO=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1txlxd-0003Dm-Ic
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:03:49 +0000
Received: from galois.linutronix.de (galois.linutronix.de
 [2a0a:51c0:0:12e:550::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a1f9964-0b03-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 13:03:48 +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: 8a1f9964-0b03-11f0-9ea3-5ba50f476ded
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1743077026;
	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=5hfLC1YzRrCnSz3zVHN/pjpVelGRCCdNDMqdXleTErQ=;
	b=2CUlHLYmmjHr8fA1hplaYjlX2Rrr8FAqj38qPquIDKCdbe75yEhV35v9E21QpEgQ1Llj4r
	h2L2DKGkRXV1sGbBkGJDMSGVNbSP29d1Bf6voVgtqQQ+fGNRAcMuIY3eDkqqrIXAuSVC0/
	p7EtCd9HTBFb15/sXq1HSnBk+87ARWybYmkZIgoJAk4kBIvu3wnWk271LFVjQNkuYl+fbU
	qY8DPXgkMlE77tRvgwt893msRjv9uc9SlrAa+tPGaWGGYyhmv8KpvzhnElV8sz0G/rStNk
	0exz6iv3SIkSnAGgiey1TUe5Gp3EV0L/nNkU3rbz1g6fVXWDAX8G4g8hTQIbqA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1743077026;
	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=5hfLC1YzRrCnSz3zVHN/pjpVelGRCCdNDMqdXleTErQ=;
	b=Wmy/qs0NDbZZdF3X/u0ciYSLBcE9k5CgAgiLntMaDI2TaiBSlDSZB+tTcr6ztoP4fqJel6
	e3uYGfvHLgDArOCQ==
To: kernel test robot <oliver.sang@intel.com>, Roger Pau Monne
 <roger.pau@citrix.com>
Cc: oe-lkp@lists.linux.dev, lkp@intel.com, Juergen Gross <jgross@suse.com>,
 Bjorn Helgaas <bhelgaas@google.com>, xen-devel@lists.xenproject.org,
 linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
 ltp@lists.linux.it, oliver.sang@intel.com
Subject: Re: [linux-next:master] [PCI/MSI]  d9f2164238:
 Kernel_panic-not_syncing:Fatal_exception
In-Reply-To: <202503271537.b451d717-lkp@intel.com>
References: <202503271537.b451d717-lkp@intel.com>
Date: Thu, 27 Mar 2025 13:03:46 +0100
Message-ID: <87semyy925.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

On Thu, Mar 27 2025 at 16:29, kernel test robot wrote:
> kernel test robot noticed "Kernel_panic-not_syncing:Fatal_exception" on:
>
> commit: d9f2164238d814d119e8c979a3579d1199e271bb ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag")
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

Fixed upstream.

3ece3e8e5976 ("PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI backends")


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:17:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929155.1331766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmAg-0006Ip-Ot; Thu, 27 Mar 2025 12:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929155.1331766; Thu, 27 Mar 2025 12: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 1txmAg-0006Ii-KV; Thu, 27 Mar 2025 12:17:18 +0000
Received: by outflank-mailman (input) for mailman id 929155;
 Thu, 27 Mar 2025 12:17: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txmAf-0006Ic-FQ
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:17:17 +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 6950afb8-0b05-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 13:17:12 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso711905f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:17: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-39abafed528sm16199241f8f.27.2025.03.27.05.17.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 05:17: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: 6950afb8-0b05-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743077831; x=1743682631; 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=lciVHSnJ9d9cRCSWSicO851nIS+prWDgqVGwy1ZtNSs=;
        b=GgL8PLkGDrxTdJz/bjlBqZ5qSlUa7ygwtD0oxBpv3B5+TnYxhRxomrOETZvBsuIDLq
         wHn6/RTu+wHOJrwPz28qs9BJIVp7DZi9KR7uZFxbqbSmw3dyQfxG5ZuQD2bnF7VDy2VY
         fcEj275Ojiep//HMsqG6Na92TLV0YNgchUjhI059lqszl5l0iKStOuWf8R+ZZhri/lw4
         6CvtDxACetVUpCZBKB6ZIRsjYudgfWAcbGk4L/cIxcYtVmR1Ehknq2Zid0rnOY9Rio/T
         iIbzN2wAKnYKGyHRHyniQj823/smY/69rXDU1Vxg3ArJxLvvYV4mE9nqpasfVsbquEkY
         76lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743077831; x=1743682631;
        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=lciVHSnJ9d9cRCSWSicO851nIS+prWDgqVGwy1ZtNSs=;
        b=M67ckd5RPxD9nSEFtlaoLzOH4Emk1CV/4eY5f5Bt1sGB5wadfIiY18M+jAXVMcPoB/
         Wl+YmNNNH54BGEMvgjQ7jNiHMnqYnuCICTrLFd0PE5diFPzPBv1gTmhz7ld70rvnp9sH
         yF9WwwR7HSESgYddyJ7aIQAydyL79yj2gLnQYD6Dg5KPidlx1kdG9YV8pxVWZmyK+SkA
         d/4LLWu7Vsllv0rakYIl6Wca8htBPucuynvf1J+9P0CvIy+vLUlKtCh9pj2Oy/rWNIM8
         s/ny5htLqONCIbk5iEMcrzn4MCCW6U4j2xDzqK4daivePN0JHi1tSq3wq2EaggkdLuKW
         m6HA==
X-Gm-Message-State: AOJu0YyfXj419Fhjo1jGHNnOqceqvnEgBMgcmYpO/l94GypeTmBsefz1
	AHJHxUjSMldZyYQPP7vrQi1vgDB9CHm8/Eom2bWegxlVB+O37cQQ3O/jzh2fNw==
X-Gm-Gg: ASbGncudwYmcr2L88jSoDpVHeWgQVM/mgHmtvm6oeEAd/vUTeZI8FO0NdADBTQPVuHp
	SMlQ6Xx5R/iTRfAFJh9KPGzBIFuRqOpGKjghifSc/ikPkvr2zsf67LnH00uur69MzVTLMwSrXF6
	pQ79yVcubC9VwXz/WhdQhCPhW2O2cceqj6NwRd2bwE+ZoLgKTseQbpYqdZSro88EZ0ZhqqvHqr2
	7fE1lKrBXL1GQO6kBLWMtF8Lu7wCdubjMv0iD6HLa7JRO86cbO/HulXcubyXW8MU8R/Jmd/OMCp
	62fIfdx1avuzz/sG6+LXdKnXZscqmlWFE586ZfSyIkYYV3gLEAsAKDKx+fTg7EuuXT4+WxictWW
	0I7cvPySE5kRlaan9rQqU14wYxLgLHcwWytO3Wv1l
X-Google-Smtp-Source: AGHT+IENv/6LW/BwnLUiUwxT4OyGxaG0IJGfIZM5Apin9+l9xagiwdP3JcCkVrhZarXh1T07bmrZsw==
X-Received: by 2002:a05:6000:1a8a:b0:391:1213:9475 with SMTP id ffacd0b85a97d-39ad1749fb7mr2604233f8f.24.1743077831338;
        Thu, 27 Mar 2025 05:17:11 -0700 (PDT)
Message-ID: <b504eb3b-af06-4799-b9c4-40e53d4ea762@suse.com>
Date: Thu, 27 Mar 2025 13:17:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/percpu: don't initialize percpu on resume
To: Mykola Kvach <xakep.amatop@gmail.com>
References: <7c3fece57a28462ae0c071c1cf72eb32541f1b91.1743074241.git.mykola_kvach@epam.com>
 <CAGeoDV8LFsJEgZSYcUowTZ95hu6AQro92cQOZ8409ccAvHjTSQ@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: <CAGeoDV8LFsJEgZSYcUowTZ95hu6AQro92cQOZ8409ccAvHjTSQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 12:37, Mykola Kvach wrote:
> On Thu, Mar 27, 2025 at 1:32âŻPM Mykola Kvach <xakep.amatop@gmail.com> wrote:
>>
> 
> Hmm, looks like this line...
> 
>> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> ...shouldn't be here

And instead it should be "From: Mykyta Poturai <mykyta_poturai@epam.com>", to
match ...

>> Invocation of the CPU_UP_PREPARE notification
>> on ARM64 during resume causes a crash:
>>
>> (XEN) [  315.807606] Error bringing CPU1 up: -16
>> (XEN) [  315.811926] Xen BUG at common/cpu.c:258
>> [...]
>> (XEN) [  316.142765] Xen call trace:
>> (XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
>> (XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
>> (XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
>> (XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
>> (XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
>> (XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
>> (XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
>> (XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
>> (XEN) [  316.202383]    [<0000000000000008>] 0000000000000008
>>
>> Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
>> only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
>> On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
>> INVALID_PERCPU_AREA depends solely on the system state.
>>
>> If the system is suspended, this area is not freed, and during resume, an error
>> occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
>> set and park_offline_cpus remains 0:
>>
>>     if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>>         return park_offline_cpus ? 0 : -EBUSY;
>>
>> The same crash can occur on x86 if park_offline_cpus is set
>> to 0 during Xen resume.
>>
>> Fixes: f75780d26b2f ("xen: move per-cpu area management into common code")
>> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>

... the first S-o-b?

>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Changes introduced in V2:
>>  - cosmetic fixes after review
>>  - chnages in a commit message: add "Fixes"
>> ---
>>  xen/common/percpu.c | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/common/percpu.c b/xen/common/percpu.c
>> index e4e8b7bcab..b20f0460fc 100644
>> --- a/xen/common/percpu.c
>> +++ b/xen/common/percpu.c
>> @@ -30,7 +30,9 @@ static int init_percpu_area(unsigned int cpu)
>>      char *p;
>>
>>      if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>> -        return park_offline_cpus ? 0 : -EBUSY;
>> +        return park_offline_cpus || system_state == SYS_STATE_resume
>> +            ? 0
>> +            : -EBUSY;

Nit: That's not quite the indentation I suggested to use, I think?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:23:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929165.1331775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmGg-0000iJ-Bd; Thu, 27 Mar 2025 12:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929165.1331775; Thu, 27 Mar 2025 12:23: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 1txmGg-0000iC-8M; Thu, 27 Mar 2025 12:23:30 +0000
Received: by outflank-mailman (input) for mailman id 929165;
 Thu, 27 Mar 2025 12:23: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txmGf-0000i6-3b
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:23:29 +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 4940bb3c-0b06-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 13:23:28 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf3192f3bso9734905e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:23: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-43d82dede2csm35992945e9.5.2025.03.27.05.23.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 05: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: 4940bb3c-0b06-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743078207; x=1743683007; 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=bTPhyEMXk+tORdkZr/zDeBb+9KP4rzPVR9XPCIDuS3E=;
        b=Sj35227kVJ1HZLDxIrwwBeFRHiKzVHcvTHmiXnWlZoqsEy4LIxBHC7apb8Kqumj6+2
         c+cbD0s3EwVZ5x2e5ottz9TJREa+trQuUWlvVuOVb2RDls8pdmUxAzijYP6Sr11I86N6
         KpLIe7d0vbG3fCjx+5ina1uVwYgKtbVUR2cC8U4Sf9bPwPR41zXijAKtXMASlZ8j/tXD
         2ZxvNEjFVkp9I+2K3oWMweNkOWu2qEkTEhvEHjOd52mCEbyvCkne9dN1QiE8toGb2iOv
         m976e9+O/YHZCgDn/+sEkgGkM8yFHC0wsnnqGHfp+6EdmAv+8YlLVQN6OfnWL5OqgocA
         PHyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743078207; x=1743683007;
        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=bTPhyEMXk+tORdkZr/zDeBb+9KP4rzPVR9XPCIDuS3E=;
        b=LRtwyEa1sdn4fpB5yMdW4Vt98j70V4E9LdCDjPymFRT6zPD2WDC8aNHrlaCuSQ/3RZ
         zJ5M2Ntte8NAW+UfF920ztfpgMsasoZTpIl9eEw+EEExAouF1pcJooCXCgCxvN8TUzPC
         2CW9rV7/4i0tVo41N6Vqdw1R1IaXRvmEe6/saqApK5s9hlNHz5zomtPopBV+Up+Dj+U4
         XxAiAhZg6Zg1lCoaQNOsztMJDLV47JeQOd2EMvzSuqkhWzLB6gB8HIIYijzQkhHBOU+N
         wijo2v5w1dGHlDn9kUyrwOD3iwXccCnJ+v6GwCohdjdpRFR1IcJQlMpyNHNXC9zOAevL
         XKIw==
X-Forwarded-Encrypted: i=1; AJvYcCWEcB/ZU/U0BoYYzqQEHDcQioyMOcD+AlM23kqvh85eHnkmILHq+Okob4grCN5zQ8fU119Tr+Dp+TU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFBpyPLZ5yNAKgCCiFcNftgyCiBgffshcRXPuTNh8xihx4UULg
	mNzsoW8+1XCL3lA4XU/sYvJVZUC8JaxZbhpynX1IHiGekO5Kh3ftJLHT+2hviA==
X-Gm-Gg: ASbGnct2GJmVZ+Hwy0LVRGER7H99BOS7Qz0AqRfa2poNxe1c9FrsSGHeujl7N4L1pg1
	K/+f19meP0l5RIcPIFX8k9qoWaYLdoNuBlD+lT9pXm9cd3MKCkTqXRnRi9aa8Hp5DPPvxwabV2i
	g33hftDZ0mVhdjes1Y22IkaNGRdmersndfZc6TQ3OG4K/kWZnXECB9pQKGDclEBkp4cpusbF860
	U71fFePdK2C3RIkT7acNUmHCYaiMOGJ9qOnjCbFx41JN3OSLB5QyaWKBXv5ir7HYeZQ/JJeb9mr
	ErV/4icFV5BauC4dg6GIuQd93IvCjJlPV7Fojr9YgnXWQGNmoXIdI5Wdm4UQjFTmALIrVu5URuI
	X5YIot1h+N3mF13zYn1Tye4cLH4lFzw==
X-Google-Smtp-Source: AGHT+IF8LevP+UUHro83uKkoDeziRKtSXmwJz9vR2xx2bSJENiP+Gylrs2YNP/Bqt0EtwwHAb+bCsg==
X-Received: by 2002:a05:6000:2911:b0:390:f552:d291 with SMTP id ffacd0b85a97d-39ad1748a57mr2903956f8f.22.1743078206995;
        Thu, 27 Mar 2025 05:23:26 -0700 (PDT)
Message-ID: <57895f8b-f082-40bd-af66-adbdc9894938@suse.com>
Date: Thu, 27 Mar 2025 13:23:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/riscv: introduce preinit_xen_time()
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: <1a04711f46a1c0a7cdf709abc37f143747215495.1742918184.git.oleksii.kurochko@gmail.com>
 <86c067f2-87ff-4e75-b94a-9d760fc730e5@suse.com>
 <cb66e1e4-7ac4-4a98-9bdb-b92e6c069f0a@gmail.com>
 <f76b12af-172a-4faf-9e60-54c4626db8c3@suse.com>
 <9fabdf22-bc0c-4c4d-9652-1b5072d83660@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: <9fabdf22-bc0c-4c4d-9652-1b5072d83660@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 12:48, Oleksii Kurochko wrote:
> I think it can be left as it is now as if timebase-frequency will be u64 then
> it means that it will be needed to read two u32 values and in this case dt_property_read_u32()
> will return 0 and the panic will occur.

Fair enough; please say a word on this aspect in the description, though.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:30:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:30:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929174.1331786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmNl-0002SP-1B; Thu, 27 Mar 2025 12:30:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929174.1331786; Thu, 27 Mar 2025 12:30: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 1txmNk-0002SI-Um; Thu, 27 Mar 2025 12:30:48 +0000
Received: by outflank-mailman (input) for mailman id 929174;
 Thu, 27 Mar 2025 12:30: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txmNj-0002SC-Hv
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:30:47 +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 4ee009ac-0b07-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 13:30:46 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso9677435e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:30: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-39bedeb82c1sm926998f8f.3.2025.03.27.05.30.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 05:30: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: 4ee009ac-0b07-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743078646; x=1743683446; 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=xanE3JyXWw7AtvRzqqADzTYOFTcfJnHsiW9NnjNOF9Q=;
        b=EfrN0oMHHFFrm9ltvCD++rswbxdfhQzP8s/vBIeU3abrX81cxTI7P1GESH2mRXebTy
         b80fNWsL+zi8IZ/zBF5HWTrVVctzmBefw0StZQLKP5H9ekl1L0/PvbCt7lEn2G8qUUHf
         Uh8bGDGePzxYzzLBVdhNkU9+GKlTgPDbWeb/judUsajGFTqR2FCn+dZbSzkk68sJdAT5
         kCfeokCq84r4KOB2S6H42ebPdkc9SXvcdA9h2eTK9krQ9qk8rhZ8xKO/7o4lNEplfBD/
         51aOqvZUmrOV/EbCbRjH94WKxApzqsBAFELOfFqWNloNFtGroX5Qrt8daA/52iJ8Owt2
         Ym/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743078646; x=1743683446;
        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=xanE3JyXWw7AtvRzqqADzTYOFTcfJnHsiW9NnjNOF9Q=;
        b=r386dowKpEkXnCbZ9IKQCmV2wcwKQNIol6T92VtrYoNcs/n6M6zofoZ6kY+ifPjMon
         ElDDwAxKCxMbEBOS5H4SRR35UFcVeLR+3R3+Bwlb5glTvDx15o/Em36Hf65XLaLyc0LU
         X540jZW/o3XKidMdUngNaAv+TB86sZIhqJqCd8L2DkpFtGgAO+nUfinJoEusWPykD3aH
         sVcFE9VF3UTPvNIblrqv7+3zJvUaOI3ZCA4Gfi1XgZLIuy6zJjos24bCEkq0bfMoopCc
         7+oZnXrq/5OSpkWqdmJelClXCYxrXtQ4+XrPeLwNLZdns1hxM8+tVQadO3DlVQdIUYxS
         Hemw==
X-Gm-Message-State: AOJu0YwkWMbJeDhiRua23zzpgBekQQ/JGMGXmTLKGB7qukIdB9NngEjX
	k+XFZvMKkagdMBtN227By9eIT2aWTCX+/uRDtBXABQb1IE5GGKwgKZqUZX4H8Q==
X-Gm-Gg: ASbGncuq9z3BsP/Eax98GCSEf2msQrWViow//LzLQBT7JYcFjRdqTH27fi/H5VOnq27
	i2xqxlaZzPJZWOi/+fQz747igexzaUYWF4Di6Ph0uN+hBKqFXvA1O54E/GtQhMFj4m/A5X4RXhb
	DQMbJTNArVXIXWgOpFsAfuxmnuInPPf4P9npUxnmVWQKPNoAJJm4+qsKl/Pi3/3f/fej1kFT7/C
	rnvxjKHsC9W/S16aALY/qDNaEh2qmabhWL2IqZwCITvoS6xeTEm8gbVi5wOBNN1ek5ydzlstfaK
	PkKBwZ1uRyKwSIO8OuQ5ETQG49WENP46RAuY0Bv0aTTOcxA2FgxBSM8LmDEOPHSWRc383A/d0Gt
	H+eYQXJc1fCvsiOCZAZpNaMupb01alQ==
X-Google-Smtp-Source: AGHT+IGFcnMhK8NTNfDzcStcpsAHXK7the0kG5C++XI1UCVfg4yea1JO6JpxYF+JmjPbzCiIuPzUaA==
X-Received: by 2002:a05:6000:188e:b0:39a:ca59:a61d with SMTP id ffacd0b85a97d-39ad1773aa5mr2599618f8f.47.1743078646016;
        Thu, 27 Mar 2025 05:30:46 -0700 (PDT)
Message-ID: <fde64904-343b-48c9-b396-961811cc2adb@suse.com>
Date: Thu, 27 Mar 2025 13:30:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
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>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
 <Z-U4ozL6p-Unh5Y8@macbook.local>
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: <Z-U4ozL6p-Unh5Y8@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 12:38, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
>> Unlike stated in the offending commit's description,
>> load_system_tables() wasn't the only thing left to retain from the
>> earlier restore_rest_processor_state().
>>
>> While there also do Misra-related tidying for the function itself: The
>> function being used from assembly only means it doesn't need to have a
>> declaration, but wants to be asmlinkage.
> 
> I wonder, maybe the intention was for the MTRR restoring on the BSP to
> also be done by the mtrr_aps_sync_end() call in enter_state()?
> 
> AFAICT that will set the MTRRs uniformly on all CPUs, by calling
> mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
> process.

Hmm, yes, that's possible. The comment in set_mtrr() is somewhat misleading
then, though, as for the BP the writing then isn't just "okay" but necessary.
Question is whether doing this so much later is actually good enough.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:38:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929187.1331804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmUp-0004C5-Mq; Thu, 27 Mar 2025 12:38:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929187.1331804; Thu, 27 Mar 2025 12:38: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 1txmUp-0004By-JU; Thu, 27 Mar 2025 12:38:07 +0000
Received: by outflank-mailman (input) for mailman id 929187;
 Thu, 27 Mar 2025 12:38: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txmUo-0004Bs-Hy
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:38:06 +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 53d72c3f-0b08-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 13:38:04 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5e673822f76so1549901a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:38:04 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5ebcd0c77edsm10978496a12.54.2025.03.27.05.38.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 05:38: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: 53d72c3f-0b08-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743079084; x=1743683884; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=5VJYxFHeg1VCRZzfLOwIFLprBScMkKlp2x4DCw50CXs=;
        b=qL9HrYUHuarHpVYHDBcSaHB/5OcQARUzAzPbTqEmXLyHJQo6ClbNcYWkSnNC2LP1QU
         /ldYzn6YcouMRkD+bpGNoBh+J7NVofQT/aZYrGVaAp4UgZdGHKeNPi11ZhDOomJgywgy
         JlC8OXXDsxuG+mX8FraE4OPdO64bGAXYJCBOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743079084; x=1743683884;
        h=in-reply-to: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=5VJYxFHeg1VCRZzfLOwIFLprBScMkKlp2x4DCw50CXs=;
        b=ifd0X7coFlMfADAPJsr32L8T9OJoETCJRx6ygtojz989MXzmTjbag/NBTAfEDtezKM
         MhOnaiHHvsOxH79FCaJqbgfIGwwhlSpt7P8sMnnSG1FuFuNFBOzAX2vrqaEnklFzl579
         V8MRvkQ/6rjCwVYdYqbs8HEhGtLN25hVQJTLEix7cos4owOWdDMHyBqQ+ExD8mdB4LPZ
         9rPjQIYGyfs+/+uzKiuCU39GFzug2IJUR0vImOHk+gulqLXU4LQTa+pLAbgGm5wO2QVh
         uXFJFQifenAOqoRhFcHR/uSzBa9ryvZQFDzxvmlNujH7avHWThy2tWC/aMMrgJzh8och
         IWiQ==
X-Gm-Message-State: AOJu0YzidFqJEnX6eIWfNsBJjk5rutt6E7lQ/ToAAjN8rheee5otJ9YU
	gFBS6IN/ujlgfJFr+X+M3jg1xO0rc8WcoaffShOgQnwtm3VfehgB1kMPGmKO/cA=
X-Gm-Gg: ASbGncs/HIM6uw4wFEsNiV2x33uHtIgWxRctoVZVNzoyMhxUzr8SF1PGf35nMUEFtDJ
	NItPegoFZyCbRTrmTz81hj69WZ0xlOtHc60pmCeOPXi8J+Yf1/zHUrPtf0GJnTo/vGZMSpV3toi
	eszvxMY8TJfyfuWW1RUeZCBxxOieJ70gRw6gvLd6qexXSm7cCECXoQXUKVOzFzacea474RzlE5M
	rHN+XwoI3iIkVzqRVBgUNg6YMN/LfA4Ti38Pm6goh4XJ+r12p1NPMCe/5Mjtr8BhwP83tn/WkwB
	/6LHlTvzEhiH1f8YzBbGzLSxr+/SfR5+7FhMcZGmJyQS5gLJIA==
X-Google-Smtp-Source: AGHT+IEe9GW4m9OdgCdh/aiB4Cr6WL4UQiQeYU2ArCrjIZ6HLxm3189YjEy/Y5Avxl3eJEUUjLHKig==
X-Received: by 2002:a05:6402:3554:b0:5ec:96a6:e1cd with SMTP id 4fb4d7f45d1cf-5ed8e061508mr2771178a12.2.1743079083663;
        Thu, 27 Mar 2025 05:38:03 -0700 (PDT)
Date: Thu, 27 Mar 2025 13:38:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Huang Rui <ray.huang@amd.com>
Subject: Re: [PATCH v1 2/3] vpci/rebar: Remove registers when init_rebar()
 fails
Message-ID: <Z-VGqlvcimLkVkwL@macbook.local>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <20250327073214.158210-2-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250327073214.158210-2-Jiqian.Chen@amd.com>

On Thu, Mar 27, 2025 at 03:32:13PM +0800, Jiqian Chen wrote:
> When init_rebar() fails, the new codes will try to hide Rebar
> capability, so it can't rely on vpci_deassign_device() to remove
> all Rebar related registers anymore, those registers must be
> cleaned up in failure path of init_rebar.
> 
> To do that, use a vpci_register array to record all Rebar registers
> and call vpci_remove_register() to remove registers.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> ---
>  xen/drivers/vpci/rebar.c | 33 ++++++++++++++++++++-------------
>  xen/drivers/vpci/vpci.c  | 14 --------------
>  xen/include/xen/vpci.h   | 15 +++++++++++++++
>  3 files changed, 35 insertions(+), 27 deletions(-)
> 
> diff --git a/xen/drivers/vpci/rebar.c b/xen/drivers/vpci/rebar.c
> index 7c53ee031887..5f2f9978feb9 100644
> --- a/xen/drivers/vpci/rebar.c
> +++ b/xen/drivers/vpci/rebar.c
> @@ -51,8 +51,11 @@ static void cf_check rebar_ctrl_write(const struct pci_dev *pdev,
>  
>  static int cf_check init_rebar(struct pci_dev *pdev)
>  {
> +    int rc = 0;
>      uint32_t ctrl;
>      unsigned int nbars;
> +    unsigned int reg_index = 0;
> +    struct vpci_register registers[VPCI_CAP_MAX_REGISTER];

I'm not sure I like this approach much, as it seems to be quite
cumbersome.  Iff we really want to go that route I would recommend
that you use a much lighter structure here, struct vpci_register has a
bunch of fields that are not used at all by the purposes here.  You
just want a struct with and offset and a size fields.

>      unsigned int rebar_offset = pci_find_ext_capability(pdev->sbdf,
>                                                          PCI_EXT_CAP_ID_REBAR);
>  
> @@ -70,17 +73,17 @@ static int cf_check init_rebar(struct pci_dev *pdev)
>      nbars = MASK_EXTR(ctrl, PCI_REBAR_CTRL_NBAR_MASK);
>      for ( unsigned int i = 0; i < nbars; i++ )
>      {
> -        int rc;
> +        const unsigned int offset = rebar_offset + PCI_REBAR_CTRL(i);
>          struct vpci_bar *bar;
>          unsigned int index;
>  
> -        ctrl = pci_conf_read32(pdev->sbdf, rebar_offset + PCI_REBAR_CTRL(i));
> +        ctrl = pci_conf_read32(pdev->sbdf, offset);
>          index = ctrl & PCI_REBAR_CTRL_BAR_IDX;
>          if ( index >= PCI_HEADER_NORMAL_NR_BARS )
>          {
>              printk(XENLOG_ERR "%pd %pp: too big BAR number %u in REBAR_CTRL\n",
>                     pdev->domain, &pdev->sbdf, index);
> -            continue;
> +            goto fail;
>          }
>  
>          bar = &pdev->vpci->header.bars[index];
> @@ -88,24 +91,19 @@ static int cf_check init_rebar(struct pci_dev *pdev)
>          {
>              printk(XENLOG_ERR "%pd %pp: BAR%u is not in memory space\n",
>                     pdev->domain, &pdev->sbdf, index);
> -            continue;
> +            goto fail;
>          }
>  
>          rc = vpci_add_register(pdev->vpci, vpci_hw_read32, rebar_ctrl_write,
> -                               rebar_offset + PCI_REBAR_CTRL(i), 4, bar);
> +                               offset, 4, bar);
>          if ( rc )
>          {
>              printk(XENLOG_ERR "%pd %pp: BAR%u fail to add reg of REBAR_CTRL rc=%d\n",
>                     pdev->domain, &pdev->sbdf, index, rc);
> -            /*
> -             * Ideally we would hide the ReBar capability on error, but code
> -             * for doing so still needs to be written. Use continue instead
> -             * to keep any already setup register hooks, as returning an
> -             * error will cause the hardware domain to get unmediated access
> -             * to all device registers.
> -             */
> -            continue;
> +            goto fail;
>          }
> +        registers[reg_index].offset = offset;
> +        registers[reg_index++].size = 4;
>  
>          bar->resizable_sizes =
>              MASK_EXTR(pci_conf_read32(pdev->sbdf,
> @@ -117,6 +115,15 @@ static int cf_check init_rebar(struct pci_dev *pdev)
>      }
>  
>      return 0;
> +
> + fail:
> +    for ( unsigned int i = 0; i < reg_index; i++ )
> +        if ( vpci_remove_register(pdev->vpci,
> +                                  registers[i].offset,
> +                                  registers[i].size) )
> +            continue;

Keep in mind it's fine to remove registers that are not there, iow you
could possibly do:

for ( unsigned int i = 0; i < nbars; i++ )
    if ( vpci_remove_register(pdev->vpci, rebar_offset + PCI_REBAR_CTRL(i),
                              4) )
        continue;

And it would be fine IMO, without the need to store exactly which
registers have been added.  It's not like there's much that can be
done from vpci_remove_register() failing in this context.

In fact you can remove the __must_check from vpci_remove_register(), I
don't think it's helpful at all.

> +
> +    return rc;
>  }
>  REGISTER_VPCI_EXTEND_CAP(PCI_EXT_CAP_ID_REBAR, init_rebar, VPCI_PRIORITY_LOW);
>  
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index a8362e46e097..ea81d8cc9604 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -21,20 +21,6 @@
>  #include <xen/vpci.h>
>  #include <xen/vmap.h>
>  
> -/* Internal struct to store the emulated PCI registers. */
> -struct vpci_register {
> -    vpci_read_t *read;
> -    vpci_write_t *write;
> -    unsigned int size;
> -    unsigned int offset;
> -    void *private;
> -    struct list_head node;
> -    uint32_t ro_mask;
> -    uint32_t rw1c_mask;
> -    uint32_t rsvdp_mask;
> -    uint32_t rsvdz_mask;
> -};
> -
>  #ifdef __XEN__
>  extern vpci_capability_t *const __start_vpci_array[];
>  extern vpci_capability_t *const __end_vpci_array[];
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index fa13397ae409..19a036c22165 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -214,6 +214,21 @@ struct vpci_vcpu {
>      bool rom_only : 1;
>  };
>  
> +#define VPCI_CAP_MAX_REGISTER 10

That 10 is kind of arbitrary...

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:44:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:44:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929200.1331817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmai-00074p-CY; Thu, 27 Mar 2025 12:44:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929200.1331817; Thu, 27 Mar 2025 12:44: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 1txmai-00074i-A4; Thu, 27 Mar 2025 12:44:12 +0000
Received: by outflank-mailman (input) for mailman id 929200;
 Thu, 27 Mar 2025 12: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txmag-00074O-K8
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:44:10 +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 2cc4e3eb-0b09-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 13:44:08 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5ed43460d6bso1612036a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:44:08 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac3efbdfcd3sm1231133166b.132.2025.03.27.05.44.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 05:44: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: 2cc4e3eb-0b09-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743079448; x=1743684248; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=t3DmwnzUNcXB5Eih0+9sfvmw0nKEFxMb7UJTMhi8uPc=;
        b=SsXZRCdw6uNMJIbrnYH1e8nNKgHf9cfCOsoip/BFABg7cgCZTPAiVyVUkSFdvzQNqF
         +6rB2Q5zPQ94o3/H1AXFht5i+n5wAXgQT5wVdN/6JDe2dFqwRgVFJ3qdy+VwfcXLOjaV
         SD5ehMJL8nXYvoZVtXoKfZ1p0Im3G5OfDT53M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743079448; x=1743684248;
        h=in-reply-to: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=t3DmwnzUNcXB5Eih0+9sfvmw0nKEFxMb7UJTMhi8uPc=;
        b=uUT7Zy2KldIDq949ls8MlS8CLPvIImU04ijQAhKwp/LsAF+CBfJ96GSRvWUlhQ1EHE
         SLkwY7UfiKMX5OwBSiJ+2RaT2kZEa8AggFFyzVi6P8PiFy+EmDgZ7/w1B9AXT9sz5u9F
         cHFWUixfaNov+oi3ocO/NSTa5bkvMj26u4Q7BVfUYl6vk7KU/2F+ZV+e+zeg/tIccXfd
         83Gzls7RM00gLBaB98gvGF0TaJck42yH+Ztm/Eybz38SH+8CuSveLzvVr87XNc89qCHe
         rBAQg/ZTzzoBBelKhyLN9MgaUV4q4py3uBq8PhaYxjzZODTQZ7STOxswhOgxKWifXZj4
         48fA==
X-Gm-Message-State: AOJu0YwMi7/hSWdh/YMuuhFTWfGgBpeyOS0mYzsMkNsYY/RBrgy14TZq
	U4BE4rZqS+NWlfDJz1ZKYYOz7hIjA25z2hA6nPCfWrdAUIqYMqCC6Emn0sqjb9Q=
X-Gm-Gg: ASbGncunkkHs/P2y0yUCGfZ3Z0dks2UVHYLm7IdBNG6h3xKizoH0KSSJvAn4M9Nx3uA
	2de8o2hM9xXJrFmzTfLB+9eRll51YN4Jfy/5dSR6a5UU2BQdW+fyQUE4rfKUDNgiNiJuAdO6yzA
	l4nrwhQicP0UlMeaEwYXrMTrm/emj69a1vpXJiwqG18ziv4/Um0yAz6xkHfUEyc3Ne3ViGIRQtk
	4F/HWNNQXVhUtVl2ezL9lV+26YZksaxszvBR/tuFM6snFsyg26BsaUoB1Gt5NRzrchh+bGRwFwZ
	98z3nvWarHQ+B4wmqJ1MZJ/0bu7jbrZ20H7fmhR0Ic3H2GrLf0X5Y5rLPSgK
X-Google-Smtp-Source: AGHT+IFThDfifOI1vPInoI/vqOrD8NcuahPIOclEgTxDsVjakUjkHHmNIn1MWcf/UixUMbrq1xoq3A==
X-Received: by 2002:a17:906:6a04:b0:ac0:6e7d:cd0b with SMTP id a640c23a62f3a-ac6faf0b809mr301316466b.34.1743079447543;
        Thu, 27 Mar 2025 05:44:07 -0700 (PDT)
Date: Thu, 27 Mar 2025 13:44:06 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Huang Rui <ray.huang@amd.com>
Subject: Re: [PATCH v1 3/3] vpci/msi: Remove registers when init_msi() fails
Message-ID: <Z-VIFo7q7-UNsLCt@macbook.local>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <20250327073214.158210-3-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250327073214.158210-3-Jiqian.Chen@amd.com>

On Thu, Mar 27, 2025 at 03:32:14PM +0800, Jiqian Chen wrote:
> When init_msi() fails, the new codes will try to hide MSI
> capability, so it can't rely on vpci_deassign_device() to
> remove all MSI related registers anymore, those registers
> must be cleaned up in failure path of init_msi.
> 
> To do that, use a vpci_register array to record all MSI
> registers and call vpci_remove_register() to remove registers.

As I'm just seeing 3 patches on the series, isn't there one missing
for MSI-X at least?

> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> ---
>  xen/drivers/vpci/msi.c | 57 +++++++++++++++++++++++++++++-------------
>  1 file changed, 39 insertions(+), 18 deletions(-)
> 
> diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
> index 9d7a9fd8dba1..30ef97efb7b0 100644
> --- a/xen/drivers/vpci/msi.c
> +++ b/xen/drivers/vpci/msi.c
> @@ -195,6 +195,9 @@ static void cf_check mask_write(
>  
>  static int cf_check init_msi(struct pci_dev *pdev)
>  {
> +    unsigned int offset;
> +    unsigned int reg_index = 0;
> +    struct vpci_register registers[VPCI_CAP_MAX_REGISTER];
>      unsigned int pos = pdev->msi_pos;
>      uint16_t control;
>      int ret;
> @@ -206,15 +209,13 @@ static int cf_check init_msi(struct pci_dev *pdev)
>      if ( !pdev->vpci->msi )
>          return -ENOMEM;
>  
> +    offset = msi_control_reg(pos);
>      ret = vpci_add_register(pdev->vpci, control_read, control_write,
> -                            msi_control_reg(pos), 2, pdev->vpci->msi);
> +                            offset, 2, pdev->vpci->msi);
>      if ( ret )
> -        /*
> -         * NB: there's no need to free the msi struct or remove the register
> -         * handlers form the config space, the caller will take care of the
> -         * cleanup.
> -         */
> -        return ret;
> +        goto fail;
> +    registers[reg_index].offset = offset;
> +    registers[reg_index++].size = 2;
>  
>      /* Get the maximum number of vectors the device supports. */
>      control = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
> @@ -234,33 +235,42 @@ static int cf_check init_msi(struct pci_dev *pdev)
>      pdev->vpci->msi->address64 = is_64bit_address(control);
>      pdev->vpci->msi->masking = is_mask_bit_support(control);
>  
> +    offset = msi_lower_address_reg(pos);
>      ret = vpci_add_register(pdev->vpci, address_read, address_write,
> -                            msi_lower_address_reg(pos), 4, pdev->vpci->msi);
> +                            offset, 4, pdev->vpci->msi);
>      if ( ret )
> -        return ret;
> +        goto fail;
> +    registers[reg_index].offset = offset;
> +    registers[reg_index++].size = 4;
>  
> +    offset = msi_data_reg(pos, pdev->vpci->msi->address64);
>      ret = vpci_add_register(pdev->vpci, data_read, data_write,
> -                            msi_data_reg(pos, pdev->vpci->msi->address64), 2,
> -                            pdev->vpci->msi);
> +                            offset, 2, pdev->vpci->msi);
>      if ( ret )
> -        return ret;
> +        goto fail;
> +    registers[reg_index].offset = offset;
> +    registers[reg_index++].size = 2;
>  
>      if ( pdev->vpci->msi->address64 )
>      {
> +        offset = msi_upper_address_reg(pos);
>          ret = vpci_add_register(pdev->vpci, address_hi_read, address_hi_write,
> -                                msi_upper_address_reg(pos), 4, pdev->vpci->msi);
> +                                offset, 4, pdev->vpci->msi);
>          if ( ret )
> -            return ret;
> +            goto fail;
> +        registers[reg_index].offset = offset;
> +        registers[reg_index++].size = 4;
>      }
>  
>      if ( pdev->vpci->msi->masking )
>      {
> +        offset = msi_mask_bits_reg(pos, pdev->vpci->msi->address64);
>          ret = vpci_add_register(pdev->vpci, mask_read, mask_write,
> -                                msi_mask_bits_reg(pos,
> -                                                  pdev->vpci->msi->address64),
> -                                4, pdev->vpci->msi);
> +                                offset, 4, pdev->vpci->msi);
>          if ( ret )
> -            return ret;
> +            goto fail;
> +        registers[reg_index].offset = offset;
> +        registers[reg_index++].size = 4;

As commented on the previous patch, I don't like much the usage of
this registers array to store which handlers have been added.  It
would be best if you just removed every possible handler that could be
added, without keeping track of them.

Thinking about it, do we maybe need a helper vcpi function that wipes
all handlers from a specific range?  I think it could be helpful here,
as the size of the capabilities is well-known, so on error it would be
easier to just call such a generic handler to wipe all hooks added to
the region covered by the failing capability.

Let me know what you think of it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:48:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929214.1331840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmeg-0007kp-0o; Thu, 27 Mar 2025 12:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929214.1331840; Thu, 27 Mar 2025 12:48: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 1txmef-0007ki-T0; Thu, 27 Mar 2025 12:48:17 +0000
Received: by outflank-mailman (input) for mailman id 929214;
 Thu, 27 Mar 2025 12:48: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txmee-0007ka-P0
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:48:16 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd6a5c3f-0b09-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 13:48:11 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-2ff69365e1dso1136747a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:48:11 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-3039e60bfd6sm2079555a91.41.2025.03.27.05.48.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 05:48: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: bd6a5c3f-0b09-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743079690; x=1743684490; darn=lists.xenproject.org;
        h=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=FLIWM2we3cEfiyzfwadD2/gV4vcunRmC7++TxYV9XuY=;
        b=lEYk8lmoAVTXbOdizSBsCmQ8Umy8o1YOL0vRi46x+XPPKAigMnQjkosRryzf8dus56
         uxDAbxrG3tphZMFyaRvbdqlBCZ+nFsrnDI5RyntvpBqz9zMxZSQSSGMwUA7MJ27Tpu6v
         o4ykbXr4qmhNUv6dL2bHi+3uGAoHFPnSl3p3c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743079690; x=1743684490;
        h=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=FLIWM2we3cEfiyzfwadD2/gV4vcunRmC7++TxYV9XuY=;
        b=v8MmrCLgrqOyJMN2PnexuGdxWkC2WkGJ1hxdD+WUU+2n4PQpM4mKmMNlFs9YW3h1pK
         KIoFVkGckFbDCnrzcTn26Ka3SHfTkwnU8RW7R8mxnCTmXwFm4rawokQi3yT3V+x6QL8Q
         9PIT3bhbgfi3D2NvlU+9uOIpssRO0dcwoW2UyAgVCJbaD0OIJECxjzmAhwS1rHtVq/BM
         C+ThEiSpg4d2dtqHfx1fIugbJqv29vhtzhnC8s/io4GzKBaJ8+rk9VXLcjL9KH4uU1iq
         iKhDCeFg4KGqebytMJ0EbA81kKlugSZLbenjqc06WfpT3eDN1V5iDW1pBlsjDEzcTN9e
         tEBA==
X-Gm-Message-State: AOJu0YyLyXwboWpyYIbzxsE+UnACeky3hDzueZcDzrDvmsm0JwueZ6Hl
	G804vTRfwE4VFbQ+O2sHltB3PwAmyc/4rO+mylYrpgN3lW+tuyTodSTlR0irTb3hPOf6I0ydaYm
	x
X-Gm-Gg: ASbGncuEBZLR+fm5qHgzbvUA+jmv+x3V9KrHvoJBJ+WZRlnnvFz1wQHaBk3MAZB/tqu
	7CJSJ0Yhug2H9MJFgIiTKjcWC5VLAvIrwvEgnMvGgiudvwgGqi0SGqeZDfopA/0TxEiLMmbbWR3
	tzgZ+LQCUWRTeOzIiakcRcCtvSFROOHnRvBMG0BrhMbAz3BPo4B8WeKntbdtilz0KvRQ240gul6
	KIgeFRYU8R1dp/u/695GGxV9rlNRzZwE1FkW4DqxrmgdtNuOLE3+VCbr3CL24ivPDSu36ShLzgd
	KDFw/P/VqqNAUX875gghlhgEqE/9I9t+AX85UsN+Dr9RoAppng==
X-Google-Smtp-Source: AGHT+IHHYTXrY4lPNbUB+y8+1G05Pvvxdk+FY3czfG1sPuuBeORxY9CG5jufcCAZDqgsDyLAO73NAw==
X-Received: by 2002:a17:90a:f947:b0:301:1d03:93cd with SMTP id 98e67ed59e1d1-303a8d81f65mr5799507a91.24.1743079690039;
        Thu, 27 Mar 2025 05:48:10 -0700 (PDT)
Date: Thu, 27 Mar 2025 13:48:04 +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>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
Message-ID: <Z-VJBIbQal-jZAGM@macbook.local>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
 <Z-U4ozL6p-Unh5Y8@macbook.local>
 <fde64904-343b-48c9-b396-961811cc2adb@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <fde64904-343b-48c9-b396-961811cc2adb@suse.com>

On Thu, Mar 27, 2025 at 01:30:44PM +0100, Jan Beulich wrote:
> On 27.03.2025 12:38, Roger Pau MonnĂŠ wrote:
> > On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
> >> Unlike stated in the offending commit's description,
> >> load_system_tables() wasn't the only thing left to retain from the
> >> earlier restore_rest_processor_state().
> >>
> >> While there also do Misra-related tidying for the function itself: The
> >> function being used from assembly only means it doesn't need to have a
> >> declaration, but wants to be asmlinkage.
> > 
> > I wonder, maybe the intention was for the MTRR restoring on the BSP to
> > also be done by the mtrr_aps_sync_end() call in enter_state()?
> > 
> > AFAICT that will set the MTRRs uniformly on all CPUs, by calling
> > mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
> > process.
> 
> Hmm, yes, that's possible. The comment in set_mtrr() is somewhat misleading
> then, though, as for the BP the writing then isn't just "okay" but necessary.
> Question is whether doing this so much later is actually good enough.

Hm, no idea really.  We do the device restore ahead of the MTRR
restore, so I wonder whether we could have issues by using unexpected
effective cache attributes for device memory accesses as a result of
MTRRs not being initialized?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:50:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929224.1331850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmgj-0000n4-Az; Thu, 27 Mar 2025 12:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929224.1331850; Thu, 27 Mar 2025 12: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 1txmgj-0000mw-7r; Thu, 27 Mar 2025 12:50:25 +0000
Received: by outflank-mailman (input) for mailman id 929224;
 Thu, 27 Mar 2025 12:50: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txmgi-0000mm-C0
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:50:24 +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 0bdc5b5a-0b0a-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 13:50:22 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-aaee2c5ee6eso142398666b.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:50:22 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef869fb5sm1255598466b.15.2025.03.27.05.50.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 05:50: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: 0bdc5b5a-0b0a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743079822; x=1743684622; 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=yg1WMwzD3+fzmKMGZo5L4BsVNyNbawIpifObTOODDxU=;
        b=EMyWLYaQ1Wu9VspACrdiA647Jt3sLydxKNWGG21RsX903qrHBnl0H23RL5rA2aaCKT
         xmBtC3iGHUTNkOT7HFqZW65a06oUe3f+rnqO806GJv2pHqSXvowSKrSJ1QqqiGs4UVom
         /QCmZYvPaRgUaN6mLjOsJr/kMwjM/5aGYVwr9ksO68gUwPQ7G9gVVdA5cIThCwbdKFv5
         wXbG1kph4GqTMUH4YLL0JisgQ6g/2T9af74K30IVIc+AumFoHqSaBKQQTYeTx3tJLiWY
         uSfHKQtO0KY+MDyTKfFiIg4smG+4fSBSL3SmSY7KOMo9eHBvXqZBdrqGSjNG8L7FzCnb
         /K5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743079822; x=1743684622;
        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=yg1WMwzD3+fzmKMGZo5L4BsVNyNbawIpifObTOODDxU=;
        b=U/uqjSRjt+XAWckvmFZlW4n/GrPvl9lLgtdKSRDs77XlPU9ipJhKG44cgXgufgmLkQ
         KxjOQpzzxNFN5LxC2vnSBESk/Pg8JeYB8ayqijIshWdgElHr7LiRb8L4mz7D5vxFrinh
         O65RKC4qpRZK4blKEoLqE+tf0SPd2fsuWexKJUkz1RXZ8GC0MAXYBHHZs0XwBpMtGG9t
         NBOHBvtYRSPHV3H1l/8u6gYoy00Z5Gr31dbyPUXhmeOWxmLNIFaS+Ju6cvIdq8nuAPRw
         AG8rrEu+4E6keB9Hf3ze/nKJ7XeYpWX9H5qgnQCRcWJ5TdVMJc/1oNV2c4Zl7NMiUFxx
         23vA==
X-Forwarded-Encrypted: i=1; AJvYcCW+Q/stAMxwziJI5+zGy+ZuxbVjbGRnCmsle97ZS6YocDoP8DpvxXQAgGezPsmZCh/vOjNuOCCD8fY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzTY7n0dJMYdmaTvXwAsRYjBLbxb6tDynhEwH696sz2DtuAB4Cg
	UdtXr9ejLMKL2wWQ8fSgB7aUTG7O+x2P5JVRRQUGG4hDruc1iUwP
X-Gm-Gg: ASbGncvuYT1t5OYzl3dtOQJBI7ZRdVb1NO3K700/Qo8n6R/L3/L5wIRrDD0M0A2UbDr
	kKc/Sd5sd75kIbIVRJ+/Trw7uRME9kSXb3tWXjcT1ChT7UDner5YfDUoMJvjHDKdjI+1VqxLnKl
	IBN/L72/vxk5qZz2g93wbV1KrcH76eUloISFa3Y8slBLgx6XfoiIX1B5Z24TKKUoDg8A9GzDY//
	Z1tAsgH9/MIYB479zed2PfgY+ttP/UA8u6rjmDigWgTkTfP3BruopXMhDbgIhk78PnpkNf2vfnb
	RN4k/fCBqld6Ws3sakvjpFLtoKeg8SbZa/DKS2cEcYdG8NRvMQLsD8Rsbo84VzAkancbJ+8gfMm
	PIInk14/sPQrw1SzgZoJb
X-Google-Smtp-Source: AGHT+IGORP23OnU8NN6oUdzohHzJuDFbsyNhYR7+cO7lCLxJ8jn6gtQTJabkZUQxerJxNKUTCv3rMQ==
X-Received: by 2002:a17:907:3609:b0:ac2:7a6d:c927 with SMTP id a640c23a62f3a-ac6fb14ec0dmr368581366b.50.1743079821572;
        Thu, 27 Mar 2025 05:50:21 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------eWyI60p0nnfMTdBRG0QyofGh"
Message-ID: <c3d6a46c-c372-43f2-81d4-8128ebcb1b2b@gmail.com>
Date: Thu, 27 Mar 2025 13:50:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?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>
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>

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


On 3/27/25 1:44 AM, Andrew Cooper wrote:
> On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
>> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
>> index d888b2314d..dbbf2fce62 100644
>> --- a/xen/include/xen/config.h
>> +++ b/xen/include/xen/config.h
>> @@ -98,4 +98,13 @@
>>   #define ZERO_BLOCK_PTR ((void *)-1L)
>>   #endif
>>   
>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>> +
>> +#define BITS_PER_BYTE   __CHAR_BIT__
>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>> +
>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
> See how much nicer this is.Â  This patch possibly wants to wait until
> I've fixed the compiler checks to update to the new baseline, or we can
> just say that staging is staging and corner case error messages are fine.

Do you mean this patch:https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/?

I haven't checked clang but if to look at gcc then these builtin macros was introduced in
024a85aeb6a("c-cppbuiltin.c (builtin_define_type_sizeof): New function.") and it seems like even older then gcc5
contains this patch:
$ git tag --contains 024a85aeb6a912811d917f737eaad39140c2fb0c
   ...
   releases/gcc-4.3.0
   ...

Am I missing something?

>
> One thing, you have to replace the "<< 3" as you're hard-coding 8 here
> and ignoring __CHAR_BIT__.
>
> I'd suggest keeping the BITS_PER_BYTE on the LHS, e.g:
>
> #define BITS_PER_INTÂ Â Â  (BITS_PER_BYTE * __SIZEOF_INT__)
>
> which tabulates better.

Thanks. I'll update that and send the new patch version.

~ Oleksii

--------------eWyI60p0nnfMTdBRG0QyofGh
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 3/27/25 1:44 AM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com">
      <pre wrap="" class="moz-quote-pre">On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d888b2314d..dbbf2fce62 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -98,4 +98,13 @@
 #define ZERO_BLOCK_PTR ((void *)-1L)
 #endif
 
+#define BYTES_PER_LONG  __SIZEOF_LONG__
+
+#define BITS_PER_BYTE   __CHAR_BIT__
+#define BITS_PER_INT    (__SIZEOF_INT__ &lt;&lt; 3)
+#define BITS_PER_LONG   (BYTES_PER_LONG &lt;&lt; 3)
+#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ &lt;&lt; 3)
+
+#define POINTER_ALIGN   __SIZEOF_POINTER__
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
See how much nicer this is.Â  This patch possibly wants to wait until
I've fixed the compiler checks to update to the new baseline, or we can
just say that staging is staging and corner case error messages are fine.</pre>
    </blockquote>
    <pre>Do you mean this patch: <a class="moz-txt-link-freetext" href="https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/">https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/</a>?

I haven't checked clang but if to look at gcc then these builtin macros was introduced in
024a85aeb6a("c-cppbuiltin.c (builtin_define_type_sizeof): New function.") and it seems like even older then gcc5
contains this patch:
$ git tag --contains 024a85aeb6a912811d917f737eaad39140c2fb0c
  ...
  releases/gcc-4.3.0
  ...

Am I missing something?
</pre>
    <blockquote type="cite"
      cite="mid:17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com">
      <pre wrap="" class="moz-quote-pre">

One thing, you have to replace the "&lt;&lt; 3" as you're hard-coding 8 here
and ignoring __CHAR_BIT__.

I'd suggest keeping the BITS_PER_BYTE on the LHS, e.g:

#define BITS_PER_INTÂ Â Â  (BITS_PER_BYTE * __SIZEOF_INT__)

which tabulates better.</pre>
    </blockquote>
    <pre>Thanks. I'll update that and send the new patch version.</pre>
    <pre>~ Oleksii
</pre>
  </body>
</html>

--------------eWyI60p0nnfMTdBRG0QyofGh--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:51:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929237.1331859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmhn-0002YD-Kx; Thu, 27 Mar 2025 12:51:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929237.1331859; Thu, 27 Mar 2025 12:51: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 1txmhn-0002Y6-Ho; Thu, 27 Mar 2025 12:51:31 +0000
Received: by outflank-mailman (input) for mailman id 929237;
 Thu, 27 Mar 2025 12:51: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txmhl-0002Y0-VH
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:51:29 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3360cbc2-0b0a-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 13:51:28 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-ac3eb3fdd2eso191430466b.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:51:28 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3ef8d396csm1224162966b.43.2025.03.27.05.51.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 05:51: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: 3360cbc2-0b0a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743079888; x=1743684688; 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=eogGriwvg0ICNNhjAk59r8XGe3QA/uby5ESqiJ679EQ=;
        b=QG5Y7xh6Q9KesHcpfeca/zJiAKLK7MO9FV4IBK8/zyxAj3YI3un0YJjlryhMk6L7Yz
         iOAKrPa02nO+vmV9D5WaeORLYkn4vXmcDrMgOnMtoSX2/YgfauPZQlyIQzvmSsHT35ax
         VYE7EiR1sHuBnVVzSibmtb/fXY5wT9N9lvG6lq/854vcIAN1GsEj5lf6jLThQCbe6czt
         uDWNdmio6hdyygdFHbmoVcWZC0PJckzJPhb6X9tat4kIId+z0scYCW7ZzTnolNYhc9R5
         +5h/Bu/KVqMs1Twoa7tDkRL5D9J8woh1tITKIvFcRa/nomZE/yOhqKlUabKIu+47mVq5
         sNZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743079888; x=1743684688;
        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=eogGriwvg0ICNNhjAk59r8XGe3QA/uby5ESqiJ679EQ=;
        b=ZdTvtmLRCv+BG3dkLKEa0nrb0WGHYJ5/8e0op89YJ4z2kCl+qHLBKOpl0O8xy/L3+s
         WHXXmFccvP+LL8Myb1wgAXemfx/vgBDAHdTM4BTKBeRQqbWejAIIigBqq5IFHZWIz884
         bb2Co1KE6O5KC3FE+vzI5qFeBtvIqGrh70stWBt3gmE9bYT3Hu8693uituh3e/HMiU7O
         NdUse3CZnBZKcrfuKFRaDTOdNFEsIW+SsaaQCUmQ7DW9JavSAoRNvuvnWpNIlNREOWP8
         aCRXBBngOT83lODwarDXv2uRqqevRXfuHyYt5O5q03uRAk7LtWEPPtFcl0Yc+kuePK8X
         s7tw==
X-Forwarded-Encrypted: i=1; AJvYcCXo0wCFcdwY0QY+7T+B2LrMiOshR/295xJ7O11Uk+l+RLX9Razo/+w8k+q/8O7n1WEnaleidZ+m2Ec=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAv9l8qEju0FRrfDFZmxPkzOVS4bAvjqFXqMZt/OqgQ9aftqT7
	25fZ8SGcy60+dQRuc6Y0E7B8FGgktBCVssOQFaghFv0Y4+02P9cP
X-Gm-Gg: ASbGncvbsXB1jhfij6wEoULVqAIXleKVVBGgPB+c9F2uirA8fQWfELbEeZq30KNeUoc
	se63kvYJn36HYIug83LS7nEbxkSJ8alzs0kowH0raYwDk8aTjROvxQ5TtNZdN6L/bQAr+UUrLwj
	4LN6sXnGcYUSGOrlyPmA7lnm3aJptJxPalceNlbssh9S+3HlhyvD7163nXroNbvgmvNsEvqC6h9
	2g+n64ydf1XG9geYeot/gDWWv+N2MKNVvv6aFWzby4ePhKkItXVBOzncyZkqtWsOZ/9ib4ntt4H
	ezuqtHwJM47S1bJVJq7J4KtY5OWUFZlxUOjzJgsmUHQEuy2BkJv/UPANCZSfxzhPeFyHASyAtvW
	/T8gzApr6Gs64a3SbdPxt
X-Google-Smtp-Source: AGHT+IEOejEiAd1FE+YNRC6Mba7U6atehsxFrt4jGjsHBFkCu2fg3YUoOm8e2BiNcxpbVqTPQKrzLA==
X-Received: by 2002:a17:907:86ac:b0:ac3:25d7:6950 with SMTP id a640c23a62f3a-ac6faec918amr298040266b.20.1743079888040;
        Thu, 27 Mar 2025 05:51:28 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------YKVcPGAVMCcDgzVG1EEpd20O"
Message-ID: <34c4ba5e-3d06-45af-9c73-e4f160f6d74e@gmail.com>
Date: Thu, 27 Mar 2025 13:51:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Jan Beulich <jbeulich@suse.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>,
 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>, xen-devel@lists.xenproject.org
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <8046d3c4-c00e-4322-b665-81614af89f13@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <8046d3c4-c00e-4322-b665-81614af89f13@suse.com>

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


On 3/27/25 9:18 AM, Jan Beulich wrote:
> On 26.03.2025 18:47, Oleksii Kurochko wrote:
>> --- a/xen/include/xen/config.h
>> +++ b/xen/include/xen/config.h
>> @@ -98,4 +98,13 @@
>>   #define ZERO_BLOCK_PTR ((void *)-1L)
>>   #endif
>>   
>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>> +
>> +#define BITS_PER_BYTE   __CHAR_BIT__
>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>> +
>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
> Just one remark here: Imo this needs to come with a comment, as alignment and
> size aren't necessarily tied together. It's merely that we assume that
> sizeof(void *) == __alignof(void *).

I will added the following comment then:
/* it is assumed that sizeof(void *) == __alignof(void *) */

~ Oleksii

--------------YKVcPGAVMCcDgzVG1EEpd20O
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 3/27/25 9:18 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8046d3c4-c00e-4322-b665-81614af89f13@suse.com">
      <pre wrap="" class="moz-quote-pre">On 26.03.2025 18:47, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -98,4 +98,13 @@
 #define ZERO_BLOCK_PTR ((void *)-1L)
 #endif
 
+#define BYTES_PER_LONG  __SIZEOF_LONG__
+
+#define BITS_PER_BYTE   __CHAR_BIT__
+#define BITS_PER_INT    (__SIZEOF_INT__ &lt;&lt; 3)
+#define BITS_PER_LONG   (BYTES_PER_LONG &lt;&lt; 3)
+#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ &lt;&lt; 3)
+
+#define POINTER_ALIGN   __SIZEOF_POINTER__
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Just one remark here: Imo this needs to come with a comment, as alignment and
size aren't necessarily tied together. It's merely that we assume that
sizeof(void *) == __alignof(void *).</pre>
    </blockquote>
    <pre>I will added the following comment then:
/* it is assumed that sizeof(void *) == __alignof(void *) */

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

--------------YKVcPGAVMCcDgzVG1EEpd20O--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 12:53:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 12:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929250.1331870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txmjm-0003AA-53; Thu, 27 Mar 2025 12:53:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929250.1331870; Thu, 27 Mar 2025 12:53: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 1txmjm-0003A3-19; Thu, 27 Mar 2025 12:53:34 +0000
Received: by outflank-mailman (input) for mailman id 929250;
 Thu, 27 Mar 2025 12:53: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txmjk-00039v-Ia
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 12:53:32 +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 7bea1574-0b0a-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 13:53:30 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-391342fc1f6so730762f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 05:53:30 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9a3372sm19652320f8f.21.2025.03.27.05.53.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 05:53: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: 7bea1574-0b0a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743080010; x=1743684810; 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=cR34hP6YfG7nxmCQDDp10EAADh7a/Vmu6OpCrNswbQ8=;
        b=siUfrGdaOFW+Cfswb3fpDocLxWnDGEA3e1hg5DPHwxMwH2H+Z2d/uPQO6M+IItsoge
         REITvs9yajRIPTecXNtMHo3y02MkobUffU2WDjhB9H4Qdchs75D69+qpzXR+I4U4s6+1
         cMH3l01xR80/0Rl8vzkYBc6+v4ntnr039QGgE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743080010; x=1743684810;
        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=cR34hP6YfG7nxmCQDDp10EAADh7a/Vmu6OpCrNswbQ8=;
        b=wZhq+VojngnYRuQa4483NasP0cFYiXaTIT8v9C9gwIjKErchCCv45G8KgR3c51rORR
         SIuanJrbAJiCPXJg80+hcr7e7bUpec/brOzJ1Sz6eo1izca5cpcnGYLG8UCJPsVnoyu7
         ME+45EP1+CTZF4AX5Weh9Uopj/67chmapHSmm8vGN6HzQDbcJQsd4NvGD9Xor7MZUiQQ
         D/EYN2nNfl/tqk+tuwGcC9ZG1h/o1rlibNDRQYong4JYKfQhUDHvtqOnjHNpDkbYgJP2
         WUW8iW9nIx+bq5u/npaWp1EICbuLaVZo11o+cbshut0NI6CDYw9gU1Qwu7UKJwo72B2X
         zcxQ==
X-Forwarded-Encrypted: i=1; AJvYcCU1ofiaTP2k3pxDasvk+9BLwx6DyVPCvYNSVtDZB52pQmF/t20riGTvUrurJDY77yeEgvALoXQOkjc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywi6LhrZD0q5WJ+gQbdtKo27AOf/5c2mpeS019uVqynPkv+OXPu
	Dq0QRHZFFKnundDRtkL1ALTLd904Le9h4CCMNw1l5hiBuYCnrKc/coTxxbR5kbA=
X-Gm-Gg: ASbGncumdj1TEg8/+gDUumLMT8DXy2GdEMdVfX7FMW8nMEguWfqHwSZjArUqTPhx/lY
	makanFxGmOQlP49uBq5bLiTk4TUU/Iktag4eRB+3FRbG6knVMNGZWHVbjUovigrqB62N7mnfub+
	Ewxj6jNuHLanQl8uyzvXFvNC21Kytl7CwuU9ldnCkTimGFiPJsMLP2e2QyVa5nbDzXrHEEm9GSo
	Lq3FfBabKDDEQjZGAmxOJrGEGkkNBa2pGcR6HIvrDFOdhKeXu6hmNcveHg6VDIJ70ZRbMya/lOD
	TZ4+FTrAuARIZMLkw/KwqPcNizfFoH8+C76Rlim4Ig8K+pXel/s0RnRv7+QmPGVK39Wn7Ex/LS6
	JD1c5xCYQlyL4yhtSSz+H
X-Google-Smtp-Source: AGHT+IEZX2/Qyyk7Hn2e0FBDGi1sPRq5TRJIlePl32vUcBnMyhh224k2vYs1b2nT+T4jxqtI0+fRJA==
X-Received: by 2002:a05:6000:2911:b0:390:f552:d291 with SMTP id ffacd0b85a97d-39ad1748a57mr2995137f8f.22.1743080010028;
        Thu, 27 Mar 2025 05:53:30 -0700 (PDT)
Message-ID: <f7381aa7-cfc8-4225-b500-374804cbf23d@citrix.com>
Date: Thu, 27 Mar 2025 12:53:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Jan Beulich <jbeulich@suse.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>,
 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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
 <994b9d44-f82f-4eb7-8742-9041ba2caf17@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: <994b9d44-f82f-4eb7-8742-9041ba2caf17@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/03/2025 8:21 am, Jan Beulich wrote:
> On 27.03.2025 01:44, Andrew Cooper wrote:
>> On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
>>> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
>>> index d888b2314d..dbbf2fce62 100644
>>> --- a/xen/include/xen/config.h
>>> +++ b/xen/include/xen/config.h
>>> @@ -98,4 +98,13 @@
>>>  #define ZERO_BLOCK_PTR ((void *)-1L)
>>>  #endif
>>>  
>>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>>> +
>>> +#define BITS_PER_BYTE   __CHAR_BIT__
>>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>>> +
>>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
>> See how much nicer this is.Â  This patch possibly wants to wait until
>> I've fixed the compiler checks to update to the new baseline, or we can
>> just say that staging is staging and corner case error messages are fine.
>>
>> One thing, you have to replace the "<< 3" as you're hard-coding 8 here
>> and ignoring __CHAR_BIT__.
>>
>> I'd suggest keeping the BITS_PER_BYTE on the LHS, e.g:
>>
>> #define BITS_PER_INTÂ Â Â  (BITS_PER_BYTE * __SIZEOF_INT__)
>>
>> which tabulates better.
>>
>> I suggest keeping BITS_PER_XEN_ULONG to be arch-local.
> I agree here despite ...
>
>> Â  ARM is the
>> odd-one-out having a non-64bit arch use a 64bit XEN_ULONG.
> ... not agreeing here: x86 is the odd-one-out; I sincerely hope any new ports
> to 32-bit architectures / flavors will avoid compat layer translation by making
> this type a proper 64-bit one. Architectures truly being 32-bit only, with no
> expectation of a 64-bit flavor ever appearing, would be different.

I have some very firm opinions about this.

It is an error that the type xen_ulong exists, anywhere.Â  The fact it
wasn't named guest_ulong shows a profound misunderstanding of its
purpose and usage in the API/ABI.

Similarly, BITS_PER_XEN_ULONG is buggily named, and should be
BITS_PER_GUEST_ULONG, as demonstrated by it's singular use in Xen
(calculating BITS_PER_EVTCHN_WORD(d)).

ARM declaring that arm32 uses 64-bit xen_ulongs was cutting a corner
that's going to bite twice as hard when 128bit comes along, and
RISCV-128 is in progress already.

All of this needs purging from the API/ABIs before RISC-V/PPC inherit
the mistakes that are holding x86 and ARM back.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 13:10:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 13:10:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929264.1331879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txn0K-00071O-GQ; Thu, 27 Mar 2025 13:10:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929264.1331879; Thu, 27 Mar 2025 13:10: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 1txn0K-00071H-Dh; Thu, 27 Mar 2025 13:10:40 +0000
Received: by outflank-mailman (input) for mailman id 929264;
 Thu, 27 Mar 2025 13:10: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=92XN=WO=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1txn0K-00071B-3w
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 13:10:40 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f403:2415::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddb7fbb2-0b0c-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 14:10:34 +0100 (CET)
Received: from MW4PR03CA0057.namprd03.prod.outlook.com (2603:10b6:303:8e::32)
 by CH3PR12MB9395.namprd12.prod.outlook.com (2603:10b6:610:1ce::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 13:10:30 +0000
Received: from SJ5PEPF000001CC.namprd05.prod.outlook.com
 (2603:10b6:303:8e:cafe::af) by MW4PR03CA0057.outlook.office365.com
 (2603:10b6:303:8e::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.43 via Frontend Transport; Thu,
 27 Mar 2025 13:10:30 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001CC.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 27 Mar 2025 13:10:29 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 27 Mar
 2025 08:10:28 -0500
Received: from [172.17.183.194] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 27 Mar 2025 08:10:27 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddb7fbb2-0b0c-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LRGVzRpZS/qoj5uuBiQdYv8OdUPOlhzkacw+AZK+h8H5ST90VYUCeTicf+SzDDoMzINvys5NEWASRKKjE2xphBMOYHfBIUn/v7kSq+hggnbuOtjc9fDzASSeheMBsIYFVf+884HUYY/R/tvEmQeOSwdML1jNmW3YwYeUbc3LgkM9/sDI2UBsIUNh8I8eGiXrTIlkGyhPzVFaOfjy8VOLo0uSPhBDGSbRFAWk2YF0MK9z1uX70KjRyUVDIMBsydcLIs15LSUgZ31/OhPGfWjDxFmiv5JURRGCazGZg70CGJ3jqO+Aab+uaGuWLU3QYDhOCNqopWc3xGGFdJ+pjVj5Tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i5bIlOECIDuXi7tNjnzbQXAmEnw/LIcLpPOIU/e1LKI=;
 b=qRzxJ9sKB99ogXg0vJD03zd3ClPdi/zwstSOdA9XkaujH2zR0qbS5F3QXu4V1aCShbJRF8UUZyqw4WzGjaidmfLEjVexGI81tvvKxtp24yv5RI1vrwXmtCGKbdPmP1KCD6vyAcqlFV3OKpbc4HQOXXSqJXYlt4yqpJJ9uHxOhErv2M97j/woXkx9rcNgeqjOfMLISwmD+ybjqmDuZ7uST5zAbvE4ZImDKDDFo8EUPNBaQ+Phir67xt0fcCnK3QODI9TmBNGilc40lIxgVgQqrEkr7yGmLfvghrkwGE4Y4sOy4DjxB8omTabjMsHGfEWZrb0wrpj/JM7MiDUDiMa0NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=bugseng.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=i5bIlOECIDuXi7tNjnzbQXAmEnw/LIcLpPOIU/e1LKI=;
 b=iYFzo9tnX1JAM1+kolBRQZgLFSXJOSM9QENDcnUCPXysr+EVrooVgP4kKB3Pz/KxfvZ5c/gKzQct5LuOV1HcuIuzuzmunpqtWE7GnjhQkXxeDFlPbk3KNNH6DMB7hGWJ9/ZEn6xlxeFzhOf5VqVYxgaSjaZSBeEgIsUxroTvrxI=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <66c8b421-fa74-4a8e-9ec6-ffdfd5082b72@amd.com>
Date: Thu, 27 Mar 2025 09:10:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/3] xen: x86: irq: initialize irq desc in create_irq()
To: Nicola Vetrini <nicola.vetrini@bugseng.com>, Jan Beulich
	<jbeulich@suse.com>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, <consulting@bugseng.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: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
 <20250327004044.2014048-3-volodymyr_babchuk@epam.com>
 <84903e47-038c-46f5-862a-a0c9623c8125@suse.com>
 <bab91924eb87a56260d62faee028d5af@bugseng.com>
 <2836f7977d3a7061f481c1e83d0b2820@bugseng.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <2836f7977d3a7061f481c1e83d0b2820@bugseng.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001CC:EE_|CH3PR12MB9395:EE_
X-MS-Office365-Filtering-Correlation-Id: e0e9323d-54fa-4cd0-27c9-08dd6d30bf8d
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?VUFWb1M0cTFuaWdnd1lXZyttY2wwVkV3ZkVPUTR6czkvdlAwVk9hMUNhdTV1?=
 =?utf-8?B?bEZyczJEY0xQYzkxd1RGRmRHbVI1azdaRmo3UEtmb1E1QTBma1lETVhRdXV1?=
 =?utf-8?B?blNTY0o2RDgyRXljRzFNVU9RZXBnbkVOM2Z4QTV4WStINkJpT1FXWE9TZGpN?=
 =?utf-8?B?TURlSU81MVd3aEU5TXd4U1p6NnIxRDZLeHRoM0I3cnppOTI5RGp5NVNtN0hj?=
 =?utf-8?B?UDhHREFoSDlEclJ5UWlQTzJ6VnQvenJRTU5FWjUxQTh4OThSY0lDVmF3M2Zs?=
 =?utf-8?B?ZGtCNng1KzhTUUhGdnNWTjlNV1hjTmZxUURtR2pmbmlYbnVXMmI2RUJ2bnBz?=
 =?utf-8?B?N2NqcldZMnhEWkZGaUpkT0VaOGorbEFLL1BETUF6ekJDWXpxVUloUG8zZ2pp?=
 =?utf-8?B?RTh4WStxQjlBanNUM3JxQXdnZEgzVSt4NkVXMjZWUzRXTjd4TzBuR3Y2UFh2?=
 =?utf-8?B?cVpoQUZkbHZHZTg3OG9JVndKYXErYkxyU0RGay95SENBbmlTdW5nUTYxbm1i?=
 =?utf-8?B?dTBRRVlXc0hGWVo1Wk5LWS8wdkVyTkVWWmZBKzJQSHI2bnpzMVJ5dnBtZitX?=
 =?utf-8?B?T3dsNGlKNzlOQkVWT1I1M1RuNzZWM0lKV2ZQN0dESzJBemFtemVGQW45dSt3?=
 =?utf-8?B?UGVLTkp6WHVFcEMrbEVQcW1XcmloZDRYeGJtR01sL04vSktFRzJPWDBQbXZS?=
 =?utf-8?B?emptWnlRZzBvcUkzTDc4ZmRMNURhS3ptZFc4N3lzUTdzWkdLUkllaC9yUGxM?=
 =?utf-8?B?eVN3c01wMXd2R1hkV1FnSmNpaWk4SzRna0dEcmFnZ2tPT1Y3UURMamxURmJt?=
 =?utf-8?B?bnFFNk96djMvTXZjUno5cHJyYjkyMXhKYkYxQkp2N0dwbzJXcnZhaGZLaXpR?=
 =?utf-8?B?WUVBa0g5NGQwSC9MVkRkczkzN1Q5U1FBMnpmbk4wR1pOVDc2UWhzL1Ard2lh?=
 =?utf-8?B?U2I2UFllZkhKdi9wbXNpWjN4TFBxV3FyOEgwWVEzVW5DWW1DZEdHZ3VKNnc2?=
 =?utf-8?B?SVVzc2oyQThMRk5YTC9zK0hhc0ZNNXU4Q01HWEVHc3dIUHc4RjdKTXgxSlox?=
 =?utf-8?B?NGdHS0VmQ29HK3Z1TWY0elNvRXR3VFdKcVpLRVZla1pxUkFZR1Q1R2IyM3Bs?=
 =?utf-8?B?Y1poMFNqNDRYVXNGcXQ0SnJyNTZNaEtIZXpKYjBHSXJZYzRBbEQ3RW0rcW52?=
 =?utf-8?B?bjVQemFZZGpPVzVkY1ZXSG90dnViTUZNMmFmL1JhZExxTXJTMW9KRG5tbENx?=
 =?utf-8?B?U0MzSlY2TzVYamdWekF1NU5PZU1ZeXdGcHFnU2NWd2pKTFREd3VtNHdUKzg2?=
 =?utf-8?B?dzJQUmtQdEJlYndjS3c0WGVWNW1tSGErVVJzQldDclpabmViOTZYeVRSM21W?=
 =?utf-8?B?L3VYTVFLcXJaWUU3MStYU1hGSFZpbGdscyt4Nm40U0cwTjJRckVBbjZCOWsz?=
 =?utf-8?B?bWh3VWFMZWVwWDdlTU9aWVpwU3hIcmtDeWdaaFNEZlZON1p3d3VIWGFTdThY?=
 =?utf-8?B?K09lNFdiSVpaZmtuZHdZWkI5d0pHZVRjcGpaMG11QU1VTGU2ODFBMWdsZkNm?=
 =?utf-8?B?ajh2OVYweUtSZ3dBekp5N3EvSFptdzRSamFDNUg3a1Jib25mMHVSYkIwdGxw?=
 =?utf-8?B?c3RObTRRUjl4NUpQbkVsd1dKL25LUWcycittMU4yU2kzSCt5aC9KQTAvTmtR?=
 =?utf-8?B?UmJ4TCtQVnBNOXFjVTlaRVZGZjZDem1kTXlnODBxZS9mVDVLdHoycFJFU3FN?=
 =?utf-8?B?NUVPL21MRWMzUHBOOS9DS2VUd0t2NGJxb2h3WXBCSUlKSENqemFtMkFmRllZ?=
 =?utf-8?B?TUpVWXdqWnJ5MHI2ZDlQZ3FWLzBJZE1YNDF3UUZGNjlWOGlwaS9mRFpYZytZ?=
 =?utf-8?B?d2xpUEM0VWMreVR3RnQ3cmMxODZiRUVWRll2eVc3ZFdmdTRGc0lJTFhtZnQ2?=
 =?utf-8?B?Z0g3akFBRFlFRDNYVDg5Z3pQajh2ZkJvZUR4NFdaenA4MVBhV2o1TXNvb0lI?=
 =?utf-8?Q?Sx+dSe9Q7Ai+w6RUSEFwAfYrW+YV60=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 27 Mar 2025 13:10:29.4160
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e0e9323d-54fa-4cd0-27c9-08dd6d30bf8d
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001CC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9395

On 3/27/25 05:00, Nicola Vetrini wrote:
> On 2025-03-27 09:37, Nicola Vetrini wrote:
>> On 2025-03-27 09:03, Jan Beulich wrote:
>>> On 27.03.2025 01:40, Volodymyr Babchuk wrote:
>>>> While building xen with GCC 14.2.1 with "-fcondition-coverage" option,
>>>> the compiler produces a false positive warning:
>>>>
>>>> Â  arch/x86/irq.c: In function âcreate_irqâ:
>>>> Â  arch/x86/irq.c:281:11: error: âdescâ may be used uninitialized [-Werror=maybe-uninitialized]
>>>> Â Â Â  281 |Â Â Â Â  ret = init_one_irq_desc(desc);
>>>> Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â  ^~~~~~~~~~~~~~~~~~~~~~~
>>>> Â  arch/x86/irq.c:269:22: note: âdescâ was declared here
>>>> Â Â Â  269 |Â Â Â Â  struct irq_desc *desc;
>>>> Â Â Â Â Â Â Â  |Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ^~~~
>>>> Â  cc1: all warnings being treated as errors
>>>> Â  make[2]: *** [Rules.mk:252: arch/x86/irq.o] Error 1
>>>>
>>>> While we have signed/unsigned comparison both in "for" loop and in
>>>> "if" statement, this still can't lead to use of uninitialized "desc",
>>>> as either loop will be executed at least once, or the function will
>>>> return early. So this is a clearly false positive warning. Anyways,
>>>> initialize "desc" with NULL to make GCC happy.
>>>>
>>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>>
>>> Hmm, this puts us in an interesting conflict, I think. Misra, aiui, will ...
>>>
>>>> --- a/xen/arch/x86/irq.c
>>>> +++ b/xen/arch/x86/irq.c
>>>> @@ -265,7 +265,7 @@ void __init clear_irq_vector(int irq)
>>>> Â int create_irq(nodeid_t node, bool grant_access)
>>>> Â {
>>>> Â Â Â Â  int irq, ret;
>>>> -Â Â Â  struct irq_desc *desc;
>>>> +Â Â Â  struct irq_desc *desc = NULL;
>>>
>>> ... consider such an assignment useless (and hence potentially confusing)
>>> code. I'm curious what BugsEng folks are going to say here.
>>>
> 
> Just to mention it: having a "do { } while" loop instead of a for (just out of context) probably avoid tripping gcc's false positive and also help with MISRA Rule 9.1 without needing an explicit initializer.
> 
>>
>> It is quite odd to see this only in coverage builds, but the side effects of coverage options might trigger some of gcc's internal analyzer thresholds. Anyway, since there are no concerns about dead code (see https://gitlab.com/xen-project/xen/-/blob/staging/docs/misra/deviations.rst: R2.2, "There shall be no dead code", is globally deviated) and that this might actually be beneficial to remove some caution reports for R9.1 ("The value of an object with automatic storage duration shall not be read before it has been set") I think the overall effect is positive.

I tried running an "-Og default for debug builds" change through CI, and
I ran into *almost* the same error with -Og and certain version(s) of
GCC:

arch/x86/irq.c: In function 'create_irq':
arch/x86/irq.c:298:25: error: 'desc' may be used uninitialized [-Werror=maybe-uninitialized]
  298 |         desc->arch.used = IRQ_UNUSED;
arch/x86/irq.c:268:22: note: 'desc' was declared here
  268 |     struct irq_desc *desc;
      |                      ^~~~

The do { } while loop Nicola suggested indeed fixes it in the case of
-Og:

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index dd8d921f18f6..812f9eb91453 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -267,12 +267,18 @@ int create_irq(nodeid_t node, bool grant_access)
     int irq, ret;
     struct irq_desc *desc;
 
-    for (irq = nr_irqs_gsi; irq < nr_irqs; irq++)
+    irq = nr_irqs_gsi;
+
+    if ( irq >= nr_irqs )
+        return -1;
+
+    do
     {
         desc = irq_to_desc(irq);
         if (cmpxchg(&desc->arch.used, IRQ_UNUSED, IRQ_RESERVED) == IRQ_UNUSED)
            break;
-    }
+        irq++;
+    } while ( irq < nr_irqs );
 
     if (irq >= nr_irqs)
          return -ENOSPC;


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 13:16:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 13:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929275.1331889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txn6L-0000N3-5N; Thu, 27 Mar 2025 13:16:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929275.1331889; Thu, 27 Mar 2025 13: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 1txn6L-0000Mw-2M; Thu, 27 Mar 2025 13:16:53 +0000
Received: by outflank-mailman (input) for mailman id 929275;
 Thu, 27 Mar 2025 13:16: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txn6K-0000Mq-28
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 13:16:52 +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 bdb4447c-0b0d-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 14:16:49 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so7042115e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 06:16: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
 5b1f17b1804b1-43d8835e627sm22453235e9.29.2025.03.27.06.16.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 06:16: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: bdb4447c-0b0d-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743081409; x=1743686209; 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=g04q3r3/XBBSddqd5hkgdzm1q1G/ev3Ipb2FeHvZ1eY=;
        b=HyM+WdJeF1Eg+oVk/oMOAgx/l0iWkvv1KigVWxgH6IwYqnozPz35lNDeK9Y2RQItn4
         moHh/2fUoxWB7/JNpQVf8J7MnPs/kTXJ/YcRCmx7Oa/HMFDhjRlrYPOE6QS+bKFog/oc
         726N8GcjtWKcimtXQJwrP51bKCHlWWqTM0ag9SCXV1XX8cIZb33JiU+BDr+JE7cFp9s1
         v0IOr8NewybFh99A2fW4RZemAHJGCIlDvR1XgdLagyK+s/FyvlKvYduj0XVVmeBAM2NS
         j91Oii30W8l55hfqNeEhiHPAtfrQEwkc3s1CEWnKuV966DpYSr0NwALwduOjHd0HkZT8
         dXbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743081409; x=1743686209;
        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=g04q3r3/XBBSddqd5hkgdzm1q1G/ev3Ipb2FeHvZ1eY=;
        b=UoUKEOtHB5lYY9FTl9dqgC2/Od7kiYRLSlMAf4p7TS514jwwXjSYVwBiMeRUZ0VdRP
         Kb+9s2PlAlKnkmPIKwbtGLgPbjn6sPk8RhbRiUukVyidBuzojCx5IDFLoURuT5SMVsn5
         d0GZ8pQD2/TtxDDHFEO2bVsv/6GreEzqugxTwDgS9EtFhP/P/x3KwXwj3yqa9CPG+nU3
         bkI5+T55xr6X3KBk4V07CCqprMTFEVzniOdNzq9Sw7F1lpr7yfG7hwnDXuuFTrzzApaX
         6RTjiXgtn4ji9j0rvVZBzALZTYt3r6C4pNts6aTTd9yFxF5Vbq0b49dyn5vLsNycD7qD
         sEDg==
X-Forwarded-Encrypted: i=1; AJvYcCU5YWNMrmOsVRlyDSGsaaopGs/0VQN/Dj9GYy/k2V235gRXX7PedGBvIk2MOfUhVycsSm68ljSYjJk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyN8dmMnFQ5uUDg98k9DiKbVavNwtPn6UnVm00BrIEul3sZe+fn
	ebq6LN4N7PJP7LQId5BBdzo3Fj/s7Yb4Svu+HdckcRVzAzQzfB3zgBgErJkbKQ==
X-Gm-Gg: ASbGnctIdrB2tK0Tbaw3VrWOnOMG19pUqHlg4UW1QsmmNpd9KyMFMCXGCpkHFWz6T8n
	1HHjzLXhaJZZqHjplElbbZAh+bJL92wPa4y/Ydq7RnLbo2ru5iP2fV87wv791/oII/rhcgNmMVs
	uO1D/G+9NqockGc2Yaak4FwK/VAnfumVuNML6KOIHB2cK6dXnuuvaVP/5kh0AhtmIUymFijXJH1
	p94Fpb5Fec6Jvi3EKY9B43Jxk+zgv/0k/GWC2KVlgMeChisisl2A24w9GbWF4hFhhZl5cwOYeKD
	TpqViaRC1OyVnSVeA3UwFqwSp5SZaZzARBbbKxyrnN93mMeZPutuxIYtplB/8X7/0075lQ1FT95
	JXVf+8as/awWFHvmGYkSFc3UqgqPKmQ==
X-Google-Smtp-Source: AGHT+IEJBbsXlyGzIhfEJG7mCoBzbE3NZ1nmIptbsyoxy4cA1LVTBw7WpYZ0PAVjjrQkQf3F2LNCFw==
X-Received: by 2002:a5d:6daa:0:b0:391:42f2:5c7b with SMTP id ffacd0b85a97d-39ad17466a4mr3908674f8f.16.1743081408792;
        Thu, 27 Mar 2025 06:16:48 -0700 (PDT)
Message-ID: <14d9be78-39c9-44b2-b6d8-6ff5fe1b8409@suse.com>
Date: Thu, 27 Mar 2025 14:16:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, 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>,
 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>
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
 <c3d6a46c-c372-43f2-81d4-8128ebcb1b2b@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: <c3d6a46c-c372-43f2-81d4-8128ebcb1b2b@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 13:50, Oleksii Kurochko wrote:
> 
> On 3/27/25 1:44 AM, Andrew Cooper wrote:
>> On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
>>> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
>>> index d888b2314d..dbbf2fce62 100644
>>> --- a/xen/include/xen/config.h
>>> +++ b/xen/include/xen/config.h
>>> @@ -98,4 +98,13 @@
>>>   #define ZERO_BLOCK_PTR ((void *)-1L)
>>>   #endif
>>>   
>>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>>> +
>>> +#define BITS_PER_BYTE   __CHAR_BIT__
>>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>>> +
>>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
>> See how much nicer this is.Â  This patch possibly wants to wait until
>> I've fixed the compiler checks to update to the new baseline, or we can
>> just say that staging is staging and corner case error messages are fine.
> 
> Do you mean this patch:https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/?
> 
> I haven't checked clang but if to look at gcc then these builtin macros was introduced in
> 024a85aeb6a("c-cppbuiltin.c (builtin_define_type_sizeof): New function.") and it seems like even older then gcc5
> contains this patch:
> $ git tag --contains 024a85aeb6a912811d917f737eaad39140c2fb0c
>    ...
>    releases/gcc-4.3.0
>    ...
> 
> Am I missing something?

The check yet to be adjusted is looking for 4.1, so 4.3 would already be "too new".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 13:28:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 13:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929288.1331899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnHr-0003Fe-77; Thu, 27 Mar 2025 13:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929288.1331899; Thu, 27 Mar 2025 13: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 1txnHr-0003FX-4V; Thu, 27 Mar 2025 13:28:47 +0000
Received: by outflank-mailman (input) for mailman id 929288;
 Thu, 27 Mar 2025 13:28: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txnHq-0003FR-87
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 13:28:46 +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 67f6c5d7-0b0f-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 14:28:44 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3913cf69784so680650f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 06: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
 ffacd0b85a97d-3997f9b3f7csm19629523f8f.49.2025.03.27.06.28.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 06: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: 67f6c5d7-0b0f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743082124; x=1743686924; 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=p4bQIgCrWkTChR58ukhq3Bu5CIaiUZg8fIqb+7xUY6s=;
        b=ZjWtdCFbJeGvXipx/QNYYtT5X8R47bLuTZGzazZySDQKl7w6+XWxElq2zyL1HeQKqH
         3Rqbfv0T6bA/l2FPIq6hGh81X6L/UFnucUbHDhv6XW1msd+rL+gcD3/uIbMByQXWu73K
         7kSX9LrSn4xOgSaa9+nF3GEy6zwqcgayMSTiqmbPgUSLJ6KG6tOncAqmspgzJZluWysX
         QDyciERdTn4ZQUcXU0vVtxvDp6KLaLO3U1UnWL/N9OkLDcWAXpbOeijcDDcPpo/hAC7y
         ir8YYuafIpmW5a7IgDH1xq6d9KmjLWFEtBPdO7+g7syO0sxTkGiKOw0Aj2ztS0m0ApOf
         cPQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743082124; x=1743686924;
        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=p4bQIgCrWkTChR58ukhq3Bu5CIaiUZg8fIqb+7xUY6s=;
        b=szVRkBh+7H4fhIM71GtXQgZzhizNVIujKPDKeJNzBGmplpfYqAvnYIhT9HsTM39Ii3
         8dBtN1hIFzJiBi1aePHsgFMRGDKHwy6ppNOPrdGwVt5rmGPauVxqQkY2rOTy7dDfS1cH
         zXcQwtpfc4pzW5RXKh5v/KKc4IAyQevfmd45iK6v4gVkZHEDkCge8BpZO+xmgG9TE5+5
         CyXe2ILUmsSb/lV6XZJMbA/vGO2HXXwDBn+x7FpvsegqNdKd1rd88uqT4DoPrHWwvKwi
         0C+pmxUAr/u0I5cfzWLCY2qpsLPTjP3BkhLm6TzJkxrYCdtO3gEb2sLFNXz/YDgdMvle
         aa+Q==
X-Gm-Message-State: AOJu0YygB4awY5ZKANF+yZMbu8q+byJ5Xt+Z4sSomkd0EdNmKHApBizw
	okbWBE7FLMEILI1WQbJHHR7f7vhuTOuIR3RDqB+DC8XuAgITnLLA5zqHDDg/dQ==
X-Gm-Gg: ASbGncvQfYgECA/Vpj4sGGjW8QLPyW6ZwDGaolFQ2VRL59fCdze/5JveiFuw6Pfej+N
	U25P8lIbvM9hnhW3OXLDt7k3q5CPiomFgwfzKMs8FNk+73QVdf+P0OCYYX9TYl/qGL93a36RCHB
	Yc7OyvRSqNb8rlVYf1mUYGCBsPy2WVowJ1N7SnspvPCEalTTpmfxt+konbw6zCxcILP8cvc+vt9
	brcBWETi6R6+UG9nqaiZtfYOlIEigDfh2+M85mKS1y+1eAN385LLWHqrdGfNQ8CXW62T2uGrX+/
	gU1QHG9i+6yDeihTmMgpLEGN8lAR/5jkq01bPZgToRUCqlf4gCGvu2l3xai2SWzxCDQDKQFLOId
	mLwOj9GCSuR8doDHChsnjIFA0zjw5lvMxARyt7msk
X-Google-Smtp-Source: AGHT+IGSQuvRL5+2EeZOHCgW1Yin50C6KIR0XS0gtSyYQzy5xHvKOc83B5lydbeqxArI5WK5mVgfeQ==
X-Received: by 2002:a5d:59a9:0:b0:391:2c0c:1247 with SMTP id ffacd0b85a97d-39ad17414b1mr3407132f8f.1.1743082124050;
        Thu, 27 Mar 2025 06:28:44 -0700 (PDT)
Message-ID: <f5669417-43f3-4c63-bb7d-a108f13757cb@suse.com>
Date: Thu, 27 Mar 2025 14:28:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
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>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
 <Z-U4ozL6p-Unh5Y8@macbook.local>
 <fde64904-343b-48c9-b396-961811cc2adb@suse.com>
 <Z-VJBIbQal-jZAGM@macbook.local>
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: <Z-VJBIbQal-jZAGM@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 13:48, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 27, 2025 at 01:30:44PM +0100, Jan Beulich wrote:
>> On 27.03.2025 12:38, Roger Pau MonnĂŠ wrote:
>>> On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
>>>> Unlike stated in the offending commit's description,
>>>> load_system_tables() wasn't the only thing left to retain from the
>>>> earlier restore_rest_processor_state().
>>>>
>>>> While there also do Misra-related tidying for the function itself: The
>>>> function being used from assembly only means it doesn't need to have a
>>>> declaration, but wants to be asmlinkage.
>>>
>>> I wonder, maybe the intention was for the MTRR restoring on the BSP to
>>> also be done by the mtrr_aps_sync_end() call in enter_state()?
>>>
>>> AFAICT that will set the MTRRs uniformly on all CPUs, by calling
>>> mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
>>> process.
>>
>> Hmm, yes, that's possible. The comment in set_mtrr() is somewhat misleading
>> then, though, as for the BP the writing then isn't just "okay" but necessary.
>> Question is whether doing this so much later is actually good enough.
> 
> Hm, no idea really.  We do the device restore ahead of the MTRR
> restore, so I wonder whether we could have issues by using unexpected
> effective cache attributes for device memory accesses as a result of
> MTRRs not being initialized?

That's just one of the possible problems. The father the MTRRs we run with
diverged from what firmware puts in place, the bigger the possible trouble.
I think the restoring better is done as being switched to here again. The
absence of any discussion of MTRRs in that earlier change leaves me pretty
certain that the behavioral change there wasn't intended. Andrew is usually
pretty good at spelling out all intended effects.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 13:32:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 13:32:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929298.1331910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnL6-0005uH-Km; Thu, 27 Mar 2025 13:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929298.1331910; Thu, 27 Mar 2025 13:32: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 1txnL6-0005uA-H8; Thu, 27 Mar 2025 13:32:08 +0000
Received: by outflank-mailman (input) for mailman id 929298;
 Thu, 27 Mar 2025 13:32: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txnL5-0005u1-Lf
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 13:32:07 +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 e03576d5-0b0f-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 14:32:06 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so9282515e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 06: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
 ffacd0b85a97d-3997f995a10sm19755881f8f.6.2025.03.27.06.32.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 06: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: e03576d5-0b0f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743082326; x=1743687126; 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=DkoaVwWLavIxu1YQJCb3NH/+CQa3gtkc1a2kSLpQG28=;
        b=Jd8TD3/AYvuwKNAjVOhAKjAUwzOiP2dAbl2mElpcbgIxsByNisBuuje4ThR+OT0ys9
         lu+Njp7f+SShCtEC4MFpzjpIPaEbwHbIwLqFyfZGIjuCGVqNk2HAkdAH1OD/xdaQ7tcl
         Chh2h0ew3+CtqV7Z2AiZlbaqloiZ68smUMD5DPpvyJ/G7Y9vC9NtTGaJ07YFU3XuBTdj
         iyc/mHJ1v8H7q80n1HpAtSTFzc4xfKA9f86qOzBeMrjijeuBRW3nwfXGNHzCUFtPyEkf
         HIRkxONIocN/0tQZxSdOSFsBj7QUOPg5b6AlbPsI4nWCyHt5vqt/oTGfPxyQJnpINvFX
         +h+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743082326; x=1743687126;
        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=DkoaVwWLavIxu1YQJCb3NH/+CQa3gtkc1a2kSLpQG28=;
        b=aIDvCzDZ4CvJdYH/uojbmiCaSMsLTliAr+FGiR0FS137jW3PsZ06P2yVrBBhK5CpEu
         1Unebg7qcutfMEi0BwtQak0PzJ7gVRP8Xofp+yDm17U5ryuUgChQtZw2MSwdDC2HkuTB
         FG1hJMIyMtQ+IRMa+o1o0Wzb0sAQoQ9Q2QZuHn2aIp+YR6WJXWhwoErX5BepsddQ5g85
         jS9sUonXWdzrZS8nWeCTpf9prnYSqTfRcF2kEBP2CkiRL2hO0aoNBotp5i5i6nbceaTp
         viI0Y3hG2V3acKjB5zj4UweAe8Bqg4FKQesg4t4W9EA0MKTIMPqjbxD8E1WPjRzvmrIM
         SKgQ==
X-Gm-Message-State: AOJu0YwC4C42wd/j6552Xw3t5xoHc6futRTnkh3SpRgM2ZhNluKGOW/L
	f5WTUWd4KfLIqRcBtsuU+W76y2dwfGLIDQ3rIwJfJDm1/rWeZOfbzzb0oFm4z/1GC/poSI5wIFA
	=
X-Gm-Gg: ASbGncvBo48LytDu5g6WNrPamSzaaoNfIEbZomd/G3PUeXanW+4yX18GIP9coOiJsH7
	5VtsCZ4sq5d0hbRyR45Z9pmCuJfq0llqgnOZDOJY7hgxEcu2A2QfEdyFbuhcwBgMjn2NeO+lxSf
	AUbLocRf1mtBeNuGfTV0998BEzHkkEKuY0IUctuxZb6NaKLHcUaDOeX53SzCN6QhRUEBf8/ChWx
	7byak2smqjYJVn5A+XyDkxHDh22NZ3fyPCY8E41LMKer4QYW78fHUOuxPNGBh0LclhOrCBQPc3/
	hz4V46fzAuAt8I0sNHBC3GawnWfg3MoDXtQramW6MA+uI9Wv7PseUV9oJxfrF/KXLn0gomJ/xbD
	xR+Y6SpSitsWW9XW+p0B0TjLT3rj/5g==
X-Google-Smtp-Source: AGHT+IH0n5JHR5/vKHkTlG3sa1k6VaExBrgIAzaFybvzX9QULLCeN+02lt99BGck2XbqUGSV7AJHlQ==
X-Received: by 2002:a5d:47a2:0:b0:391:158f:3d59 with SMTP id ffacd0b85a97d-39ad17491aamr2687831f8f.15.1743082325624;
        Thu, 27 Mar 2025 06:32:05 -0700 (PDT)
Message-ID: <df676738-19e7-47e6-977f-25d6d13ccc50@suse.com>
Date: Thu, 27 Mar 2025 14:32:04 +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: Anthony Perard <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] libxc/PM: correct (not just) error handling in
 xc_get_cpufreq_para()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

>From their introduction all xc_hypercall_bounce_pre() uses, when they
failed, would properly cause exit from the function including cleanup,
yet without informing the caller of the failure. Purge the unlock_1
label for being both pointless and mis-named.

An earlier attempt to switch to the usual split between return value and
errno wasn't quite complete.

HWP work made the cleanup of the "available governors" array
conditional, neglecting the fact that the condition used may not be the
condition that was used to allocate the buffer (as the structure field
is updated upon getting back EAGAIN). Throughout the function, use the
local variable being introduced to address that.

Fixes: 4513025a8790 ("libxc: convert sysctl interfaces over to hypercall buffers")
Amends: 73367cf3b4b4 ("libxc: Fix xc_pm API calls to return negative error and stash error in errno")
Fixes: 31e264c672bc ("pmstat&xenpm: Re-arrage for cpufreq union")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -212,31 +212,32 @@ int xc_get_cpufreq_para(xc_interface *xc
     DECLARE_NAMED_HYPERCALL_BOUNCE(scaling_available_governors,
 			 user_para->scaling_available_governors,
 			 user_para->gov_num * CPUFREQ_NAME_LEN * sizeof(char), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
-
-    bool has_num = user_para->cpu_num &&
-                     user_para->freq_num &&
-                     user_para->gov_num;
+    unsigned int in_gov_num = user_para->gov_num;
+    bool has_num = user_para->cpu_num && user_para->freq_num;
 
     if ( has_num )
     {
         if ( (!user_para->affected_cpus)                    ||
              (!user_para->scaling_available_frequencies)    ||
-             (user_para->gov_num && !user_para->scaling_available_governors) )
+             (in_gov_num && !user_para->scaling_available_governors) )
         {
             errno = EINVAL;
             return -1;
         }
-        if ( xc_hypercall_bounce_pre(xch, affected_cpus) )
-            goto unlock_1;
-        if ( xc_hypercall_bounce_pre(xch, scaling_available_frequencies) )
+        ret = xc_hypercall_bounce_pre(xch, affected_cpus);
+        if ( ret )
+            return ret;
+        ret = xc_hypercall_bounce_pre(xch, scaling_available_frequencies);
+        if ( ret )
             goto unlock_2;
-        if ( user_para->gov_num &&
-             xc_hypercall_bounce_pre(xch, scaling_available_governors) )
+        if ( in_gov_num )
+            ret = xc_hypercall_bounce_pre(xch, scaling_available_governors);
+        if ( ret )
             goto unlock_3;
 
         set_xen_guest_handle(sys_para->affected_cpus, affected_cpus);
         set_xen_guest_handle(sys_para->scaling_available_frequencies, scaling_available_frequencies);
-        if ( user_para->gov_num )
+        if ( in_gov_num )
             set_xen_guest_handle(sys_para->scaling_available_governors,
                                  scaling_available_governors);
     }
@@ -246,7 +247,7 @@ int xc_get_cpufreq_para(xc_interface *xc
     sysctl.u.pm_op.cpuid = cpuid;
     sys_para->cpu_num  = user_para->cpu_num;
     sys_para->freq_num = user_para->freq_num;
-    sys_para->gov_num  = user_para->gov_num;
+    sys_para->gov_num  = in_gov_num;
 
     ret = xc_sysctl(xch, &sysctl);
     if ( ret )
@@ -256,12 +257,11 @@ int xc_get_cpufreq_para(xc_interface *xc
             user_para->cpu_num  = sys_para->cpu_num;
             user_para->freq_num = sys_para->freq_num;
             user_para->gov_num  = sys_para->gov_num;
-            ret = -errno;
         }
 
         if ( has_num )
             goto unlock_4;
-        goto unlock_1;
+        return ret;
     }
     else
     {
@@ -298,13 +298,13 @@ int xc_get_cpufreq_para(xc_interface *xc
     }
 
 unlock_4:
-    if ( user_para->gov_num )
+    if ( in_gov_num )
         xc_hypercall_bounce_post(xch, scaling_available_governors);
 unlock_3:
     xc_hypercall_bounce_post(xch, scaling_available_frequencies);
 unlock_2:
     xc_hypercall_bounce_post(xch, affected_cpus);
-unlock_1:
+
     return ret;
 }
 


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 13:36:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 13:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929308.1331919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnPK-0006VW-3v; Thu, 27 Mar 2025 13:36:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929308.1331919; Thu, 27 Mar 2025 13:36: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 1txnPK-0006VP-1F; Thu, 27 Mar 2025 13:36:30 +0000
Received: by outflank-mailman (input) for mailman id 929308;
 Thu, 27 Mar 2025 13:36: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txnPI-0006VJ-V0
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 13:36:28 +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 7c250b3a-0b10-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 14:36:28 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso7277275e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 06:36: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
 ffacd0b85a97d-3997f9eff6esm19953245f8f.100.2025.03.27.06.36.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 06: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: 7c250b3a-0b10-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743082587; x=1743687387; 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=4JhjMh7hWu20C1sCTUo60gpwltU8peQAYhTfB/lLtbc=;
        b=Dtf9Cqu60ZuhvvJZeTuhm35KUREU6ZTYzWfYokj18+agLSiVwgbEtCzumrfZ6Mmdbe
         nXE+N+Qu/nBM+NsnTNHIBhtSHZz4UqtfDFseeFlq+LkiI/kf4RYJAY/3JqvJlENYH+wA
         XOEBQGlEhbXNLehYdjNmoVxVx4Ls24Rqxvw0sc/HaggTd9j2BhdoD72ZnZEGaudD9B5c
         qUgpkp0qr0zI66BgNGsxZndpyeDRVz97OWu+WGKC/+ujbGbmeHv8GTmXiVJ2AQPUKod3
         UkhykCN7E+Scyqwydo69oC3yN4JwC5KCkoepiwDA8YpAWTDI7XxFfgsWJrD/YfEeTXI3
         OHqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743082587; x=1743687387;
        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=4JhjMh7hWu20C1sCTUo60gpwltU8peQAYhTfB/lLtbc=;
        b=J4ph8HmRELZ0oPZQSqvoBjHxuB4h9RlLnCT26yICtgMtfJNDTolsURJ/1WA7vPfAVJ
         56wHj0MBAuWo60Z5+iL7fXiW4Ju/0MJx2wOMhNoR7vTLTA9LuepDeK5S65dJU0Wvn5HZ
         7H1SWGIle62RmX1LByOZjawhN5JrkJaEzMDN2jUjXoGGzCbk6/Jt9abSPWnS2DtNCMuS
         IDSkehpk7LdWPk+cw4be8tfENQ8YpdOHmaQG+KrcHM1fS1sdtr/07agA4Zd8DcOTIeWi
         flghPxo60R2VYwwX/95P1IeCW75C4CsOywTrO40gyiBFSLPOm8T61fuRMHGh6uo8aNxk
         KgqQ==
X-Forwarded-Encrypted: i=1; AJvYcCUKmc1aKJ9PesgBkX+eITZuJR5mUTPirhDfHwqpfEOyejhXU/xTu0HNhJA9Czra3PjJVJlsFA3xUeY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyp6d9ODuA+lmAhIO3PZ5LPgpGy7Ecre8m4nmtYjcUD/nCLUIIT
	cKHYUytYD7D1U4on01NbcAffiQBVrSEqrW31FxaU/R6c6Gdpm6GwG8zKwFMhaQ==
X-Gm-Gg: ASbGncsf81xN0HTTes/9jf1ypD6Wf7/Z/8cx5owZFEOYk8qqVSu/672yEEm8FUda1Mo
	R4EBYI5Pl/D40FddK4Wg79NGPw5ecsZABUnLcadBOWb4ahtJ7SrydH1kqJ3slV7P7lDo+iN5iM1
	sl4/6O5Z6p0txbBZcwWRqGyBN8k1RLqITnq7q6LrHQD4eKhA8qgmsVgpyhae6nuuWtCO0vqt4v3
	PxTawfkVtcMu3r53pnCIZW3Ud/5QfniRS14NE8E16up6YERkYNqhkolpMZXOmlWcBJjOIwZMv7h
	Ck+20x0Hj0+JcOmMxfUIsLVTr7We3ALoMoHTHdUVQ2cIDqNlBIOhroZTXxVWy1wZX2zWftbJ5Il
	Ugej4IWtKc+yQutElyXygtPgKBe9jSQ==
X-Google-Smtp-Source: AGHT+IE5x7hTphmGwx7ZUsPW8nai6fo1iU3wARgNCPHi7XupijTjCWMuFnVyEnijjD9MivI8ofUOoQ==
X-Received: by 2002:a05:600c:4e05:b0:43d:26e3:f2f6 with SMTP id 5b1f17b1804b1-43d84f5e5bcmr40959545e9.5.1743082587366;
        Thu, 27 Mar 2025 06:36:27 -0700 (PDT)
Message-ID: <92bcf196-a138-4784-8bfd-c73a1d430321@suse.com>
Date: Thu, 27 Mar 2025 14:36:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Andrew Cooper <andrew.cooper3@citrix.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>,
 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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
 <994b9d44-f82f-4eb7-8742-9041ba2caf17@suse.com>
 <f7381aa7-cfc8-4225-b500-374804cbf23d@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: <f7381aa7-cfc8-4225-b500-374804cbf23d@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 13:53, Andrew Cooper wrote:
> On 27/03/2025 8:21 am, Jan Beulich wrote:
>> On 27.03.2025 01:44, Andrew Cooper wrote:
>>> On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
>>>> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
>>>> index d888b2314d..dbbf2fce62 100644
>>>> --- a/xen/include/xen/config.h
>>>> +++ b/xen/include/xen/config.h
>>>> @@ -98,4 +98,13 @@
>>>>  #define ZERO_BLOCK_PTR ((void *)-1L)
>>>>  #endif
>>>>  
>>>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>>>> +
>>>> +#define BITS_PER_BYTE   __CHAR_BIT__
>>>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>>>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>>>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>>>> +
>>>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
>>> See how much nicer this is.Â  This patch possibly wants to wait until
>>> I've fixed the compiler checks to update to the new baseline, or we can
>>> just say that staging is staging and corner case error messages are fine.
>>>
>>> One thing, you have to replace the "<< 3" as you're hard-coding 8 here
>>> and ignoring __CHAR_BIT__.
>>>
>>> I'd suggest keeping the BITS_PER_BYTE on the LHS, e.g:
>>>
>>> #define BITS_PER_INTÂ Â Â  (BITS_PER_BYTE * __SIZEOF_INT__)
>>>
>>> which tabulates better.
>>>
>>> I suggest keeping BITS_PER_XEN_ULONG to be arch-local.
>> I agree here despite ...
>>
>>> Â  ARM is the
>>> odd-one-out having a non-64bit arch use a 64bit XEN_ULONG.
>> ... not agreeing here: x86 is the odd-one-out; I sincerely hope any new ports
>> to 32-bit architectures / flavors will avoid compat layer translation by making
>> this type a proper 64-bit one. Architectures truly being 32-bit only, with no
>> expectation of a 64-bit flavor ever appearing, would be different.
> 
> I have some very firm opinions about this.
> 
> It is an error that the type xen_ulong exists, anywhere.Â  The fact it
> wasn't named guest_ulong shows a profound misunderstanding of its
> purpose and usage in the API/ABI.
> 
> Similarly, BITS_PER_XEN_ULONG is buggily named, and should be
> BITS_PER_GUEST_ULONG, as demonstrated by it's singular use in Xen
> (calculating BITS_PER_EVTCHN_WORD(d)).
> 
> ARM declaring that arm32 uses 64-bit xen_ulongs was cutting a corner
> that's going to bite twice as hard when 128bit comes along, and
> RISCV-128 is in progress already.

Yes indeed.

> All of this needs purging from the API/ABIs before RISC-V/PPC inherit
> the mistakes that are holding x86 and ARM back.

I'm curious to learn how you envision to support a 32-bit guest on RV128,
for example. You dislike the compat layer, and you also dislike xen_ulong_t
(I agree its name is potentially misleading). So you must be thinking of
something entirely new to express in particular interfacing structures.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 13:37:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 13:37:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929317.1331930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnQ5-0006zY-BX; Thu, 27 Mar 2025 13:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929317.1331930; Thu, 27 Mar 2025 13:37: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 1txnQ5-0006zR-8k; Thu, 27 Mar 2025 13:37:17 +0000
Received: by outflank-mailman (input) for mailman id 929317;
 Thu, 27 Mar 2025 13:37: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txnQ3-0006z9-65
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 13:37:15 +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 97c74471-0b10-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 14:37:14 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso7461575e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 06:37: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-3997f9e6450sm20105935f8f.70.2025.03.27.06.37.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 06:37: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: 97c74471-0b10-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743082634; x=1743687434; 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=m0BM/e4+m0sfYFFxbWW/loFogDa2oSvCgViKMm3UnLA=;
        b=CX6lVnRFvxgh6m9uPb5cr6cSiS1CKrdeeY6OjGD5BZMgrkbDmRoP29NisDwm5Npppb
         zNirJ3pHB77k/5fbxs/eKzlo+hojrPcdFzAutoQBjD4H1v8z5eiXsgN2cV9H3qYonYRJ
         Vgs5WUhLKtsml7jWbuL9u/TjeXU++Je0d+/KnrIzaaG9QsUnOPFfZcFJBwFSWPFsdUk2
         Cv81HxxHcrsZWu6OjEmGa8j48ABrwHA5+1GXjvc3wTY6wYLFKygLRfo5ngplYitqD2Y4
         zp2DDelMYcTD0GknVoKAbDqzni530/xDo6XlPfEAymmZNCDXiFI8HKeamI+r/MW9mdMq
         Qyfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743082634; x=1743687434;
        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=m0BM/e4+m0sfYFFxbWW/loFogDa2oSvCgViKMm3UnLA=;
        b=PLwT8lsrae3WhbbFhOV7Lhzr/EkUR9yFmkgX7Yhkyw1nZO8Y23qoJJYGd7K5FVN4kL
         c6kc+kJYwpICDtAld7w+nmXoyyUZlIEUuPdyCoAHuvNozvW+dilDBH6zfDsqlSCbnYzF
         MTQIwhwOTNmlaoV5/t6njFHmNQ2XU7mJMhT8GGZ4PCxDQsDco0jS576u2xWIG5PE0y7k
         FhFEJiOu7nINavP4p91gG3nkadBhBfkSHrOlaI1rtUbtxQxqdOo4Xwpy1hxJ0F1l3OtE
         cQz4B4tkT6WB+k6FtQ5CUslU2XBvF36e/duVQjrF9Mi25Kn0CawvfFU94Dr6wLVqKU8K
         8Vow==
X-Forwarded-Encrypted: i=1; AJvYcCWoSlPHmsaZ8or5/NA+7CO2ymJGPpjbs7/l5Cy9AGCB9GEf8OZPoMkMy6Vs8BsV2dgC4sckhGJWeuY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxw8pvjC0GQY1JrI4P0nRaz+OwfGbSc/EnuLBKPVZvqLBj17O41
	EIfo5GLL3UJGripQeBTE4YXxDLusEfXBPFM9fubgH72+ok9Cb4WYF5Y1AR7oYg==
X-Gm-Gg: ASbGncsACoro1PemL5BbjhbJFvugBqS6o1+Q4nXr5myh9/M3AHYmeg09qAceefZLxA9
	BL8UHBoKH83M/gbr50p7wXHw7wowMqvY7XOgy7yVW6ZxMvMmrjL5vFXyeIyitGxnqBtGcIJFs6s
	sIDMLnolr8hQCYynZpOIQUwYdHqyyNbSJZwrWV/oFlU2eOyoP/uNo0N8wkUOs0AxLvCdibDEsql
	5nM4rv0Oh/SumeWjoiYZqFgjlV8V1HrwQl80UGr1XTWTOR3HpOgTr5IQTnhpRjHQuRvKrSQqNJy
	zZn88XmBO7R/bQnzsmBvFNNydNx8dTmXk70bOWigfyPdX82fDaL6jAQ/jeAQ9kbbRdaUOrdY99f
	rrVIgnoEgyDzMIZ+gCR24/jinJXZ39A==
X-Google-Smtp-Source: AGHT+IG9dCQXpi3tlLPe438JDYj5PV2qmF5FxxPmlxY3FOa3wpXBiEC5UYSh/o5DjiC/PzCjknAODQ==
X-Received: by 2002:a5d:588a:0:b0:38f:3b9b:6f91 with SMTP id ffacd0b85a97d-39ad1746a30mr2580419f8f.12.1743082633633;
        Thu, 27 Mar 2025 06:37:13 -0700 (PDT)
Message-ID: <f294e2b1-db03-46b2-b46d-61e89b55cef3@suse.com>
Date: Thu, 27 Mar 2025 14:37:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.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>,
 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>, xen-devel@lists.xenproject.org
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <8046d3c4-c00e-4322-b665-81614af89f13@suse.com>
 <34c4ba5e-3d06-45af-9c73-e4f160f6d74e@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: <34c4ba5e-3d06-45af-9c73-e4f160f6d74e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 13:51, Oleksii Kurochko wrote:
> 
> On 3/27/25 9:18 AM, Jan Beulich wrote:
>> On 26.03.2025 18:47, Oleksii Kurochko wrote:
>>> --- a/xen/include/xen/config.h
>>> +++ b/xen/include/xen/config.h
>>> @@ -98,4 +98,13 @@
>>>   #define ZERO_BLOCK_PTR ((void *)-1L)
>>>   #endif
>>>   
>>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>>> +
>>> +#define BITS_PER_BYTE   __CHAR_BIT__
>>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>>> +
>>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
>> Just one remark here: Imo this needs to come with a comment, as alignment and
>> size aren't necessarily tied together. It's merely that we assume that
>> sizeof(void *) == __alignof(void *).
> 
> I will added the following comment then:
> /* it is assumed that sizeof(void *) == __alignof(void *) */

Ftaod - starting with a capital letter, to be in line with ./CODING_STYLE.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 13:47:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 13:47:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929333.1331948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnZl-0001eh-Ei; Thu, 27 Mar 2025 13:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929333.1331948; Thu, 27 Mar 2025 13:47: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 1txnZl-0001ea-BF; Thu, 27 Mar 2025 13:47:17 +0000
Received: by outflank-mailman (input) for mailman id 929333;
 Thu, 27 Mar 2025 13:47: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txnZk-0001eU-Ez
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 13:47:16 +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 fd6b0d7d-0b11-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 14:47:14 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso10697845e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 06:47:14 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d82eff0c5sm39071715e9.23.2025.03.27.06.47.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 06:47: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: fd6b0d7d-0b11-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743083233; x=1743688033; 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=YcObGS7YEUSZyVcAFolXQvqI615+KQ52smESX2n3bbk=;
        b=seHeevJqXmIqaq9eXGoCz/zxvW3PjSXTUROsZ7oeEZ4PiaOAHlHCH4HDl36i2CjnXb
         T0UnojRkXSD/A9Sip1WlEbQtEf8BY1IjkNOr+NGj3uJ5eO041KCJMM+lon8KI2fR35vw
         YIrPOdmQi0PpcRmkym3tZTqLFV82Y2LNxhAn0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743083233; x=1743688033;
        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=YcObGS7YEUSZyVcAFolXQvqI615+KQ52smESX2n3bbk=;
        b=Ve+rfUUS2FblOwTbTQlLwmVz/WT7vNgA5bmf6QI2pW5Qr088Ueh7tucwQ0h04asnWv
         k0R1UPyKyWya5RHA+SqeXNSoAaljsIhcCHRj10bedoUENjZNb+1lkH96qjMtv8eIJgxF
         z5edCYsnyKPElmcELsa0xA8zU+62VZlodnAahh6fVXHe4omws5zIQS59dWloHGdUZzay
         Q6M38PGucj0IQTyz3zHNAMY3gqNw8d4U6uAsNpA8se5Js4Fsc17YgLi3I6dU8fyw/LVG
         72kjz1nCHEB/7sDEZtu+8zyXCd/UyLnHBawJM0eJwcPKqd3lhMzn3trXVveSu64RqnQR
         3Wyw==
X-Gm-Message-State: AOJu0Yw0pgRoxr+ZrbjZzkUUv5JehaLjvYc2ysXtpByNZJgFZVPspWig
	1X07hd3G0VaceyHm0iQDTgVmm6EK6sKWbJGDRiyoAu4h/sysCJDqyJuGPw+LI0oLI2ngAwcn60l
	kLA8=
X-Gm-Gg: ASbGnct3x6mfw/FmdKoGVteHS8GpNcbbkz/7Z/Sfp6ueTy/2yf3EdPS+kLTLbttTIzS
	EYoNZY3Sv9wNRPDXIQBjLFFSF+ckgBJ1wROunh2PKZtZQqe/n5Wk+8G8gXtlG88dHxYuc0jI6L+
	vds3+d4FlN8W7HmmREQctIeNQ4Wf4jRXqkXh03JcJqQUV/MluIjAqKNomPd5P0Cl0JAyVdXN/mg
	hBHRTYJxnAKiCsoCFRDzrAdaT2TpbEKfsjEyc9PkJ+duycnqSKp6AixarLdbx3LTOTXY1Ut1/Dd
	dpic/VPNpJ9mMCZ4RFqLrgqfh1676ey78aI4S/0KyqQNNrd5P1NjBhLvf2S4drVB0+89tIqnCn5
	oM/8cJ8ld3mkoXOJRIQ==
X-Google-Smtp-Source: AGHT+IGOlogkTrPdMEjd9pdy7k9jSjIRN9Hybux2ZbtoAuUQxAsvlpExfUhh8QeQQZkI8W1n7CyDgA==
X-Received: by 2002:a05:600c:3ac5:b0:43d:7a:471f with SMTP id 5b1f17b1804b1-43d84fb5090mr38608195e9.18.1743083233440;
        Thu, 27 Mar 2025 06:47: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3] ARM/vgic: Use for_each_set_bit() in vgic-mmio*
Date: Thu, 27 Mar 2025 13:47:10 +0000
Message-Id: <20250327134710.399101-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These are all loops over a scalar value, and don't need to call general bitop
helpers behind the scenes.

Clamp data to the width of the access in dispatch_mmio_write(), rather than
doing so in every handler.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>

v3:
 * Split out of series.
 * Move clamping to common location.

Bloat-o-meter analysis.  The negative change in each handler also includes the
removal of calls to _find_{first,next}_bit_le(), so the improvement is better
than the summary suggests.

$ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
add/remove: 0/0 grow/shrink: 1/6 up/down: 24/-156 (-132)
Function                                     old     new   delta
dispatch_mmio_write                          212     236     +24
vgic_mmio_write_spending                     392     368     -24
vgic_mmio_write_senable                      324     300     -24
vgic_mmio_write_cenable                      320     296     -24
vgic_mmio_write_sactive                      204     176     -28
vgic_mmio_write_cpending                     464     436     -28
vgic_mmio_write_cactive                      204     176     -28

$ ../scripts/bloat-o-meter xen-syms-arm64-{before,after}
add/remove: 0/0 grow/shrink: 1/6 up/down: 32/-196 (-164)
Function                                     old     new   delta
dispatch_mmio_write                          164     196     +32
vgic_mmio_write_spending                     320     312      -8
vgic_mmio_write_cpending                     368     356     -12
vgic_mmio_write_sactive                      192     156     -36
vgic_mmio_write_cactive                      192     156     -36
vgic_mmio_write_cenable                      316     268     -48
vgic_mmio_write_senable                      320     264     -56
---
 xen/arch/arm/vgic/vgic-mmio.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
index 4ad350c21c8b..b4ba34cfc368 100644
--- a/xen/arch/arm/vgic/vgic-mmio.c
+++ b/xen/arch/arm/vgic/vgic-mmio.c
@@ -70,9 +70,8 @@ void vgic_mmio_write_senable(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
         unsigned long flags;
@@ -115,9 +114,8 @@ void vgic_mmio_write_cenable(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq;
         unsigned long flags;
@@ -183,11 +181,10 @@ void vgic_mmio_write_spending(struct vcpu *vcpu,
                               unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
     unsigned long flags;
     irq_desc_t *desc;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
@@ -231,11 +228,10 @@ void vgic_mmio_write_cpending(struct vcpu *vcpu,
                               unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
     unsigned long flags;
     irq_desc_t *desc;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
@@ -327,9 +323,8 @@ void vgic_mmio_write_cactive(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
@@ -357,9 +352,8 @@ void vgic_mmio_write_sactive(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
@@ -591,6 +585,10 @@ static int dispatch_mmio_write(struct vcpu *vcpu, mmio_info_t *info,
     if ( !region )
         return 0;
 
+    /* Clamp data to the width of the access. */
+    if ( len < sizeof(data) )
+        data &= (1UL << (len * 8)) - 1;
+
     switch (iodev->iodev_type)
     {
     case IODEV_DIST:
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:10:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929362.1331957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnwY-0007rg-5r; Thu, 27 Mar 2025 14:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929362.1331957; Thu, 27 Mar 2025 14:10: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 1txnwY-0007rZ-2i; Thu, 27 Mar 2025 14:10:50 +0000
Received: by outflank-mailman (input) for mailman id 929362;
 Thu, 27 Mar 2025 14:10: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txnwW-0007ol-QT
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:10:48 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44d3cd2c-0b15-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 15:10:43 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id
 d9443c01a7336-224341bbc1dso20390125ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 07:10:43 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-227811baee4sm128569205ad.135.2025.03.27.07.10.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 07: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: 44d3cd2c-0b15-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743084642; x=1743689442; darn=lists.xenproject.org;
        h=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=Kna6NpNYhHAE80qBFFYmhMkxDEz1n1jiZLGwsZQqAyI=;
        b=eONbUBDh1i8ZwCiA4+OXLEjV/y4kMR7ZrC/xvQ3bfTOIVGCRFHgdMA32rVQpojz5JW
         aTgi/HETHtiilH/VwjkYusDxYxGvCUxh7APtifJ/WDxHUrcPrvhicZ0uOV0Z8HQ6uzJo
         7ceUz4xYli7OKOFLb1+XFv2iRwD3b/ictmPvI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743084642; x=1743689442;
        h=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=Kna6NpNYhHAE80qBFFYmhMkxDEz1n1jiZLGwsZQqAyI=;
        b=httWgTdSFaO8F9TeGBKrS4VjxN0r1X4vPy4jixsK4veH3wimv9uc8v1cRH6Q306z/i
         AND8p47UGc6ZC1X1eZwSE2DSqpmLaX0qfclpSL7qFYA3+uxUmqTZdqmtfuMcqWhv61v6
         9TBIsfx8EiWy/bzl0fb2tTG/QM4wA/XZBhQuMqZeC8AEJ1Ata2aVDQO7j5g5FD4kYsJ+
         2Nd4yR7l8RtloHK+4j4zeH8g4vPxbwhwANhLDSLxYCHobmcha2wXFkiUx7mk3FIOORq7
         6GRgtJII+ITDptbhZxAe2zgC9bzTzL1NnQKFw50lbEEHDNbF+gnsYlqbo0Fqev4FFC+S
         is1A==
X-Gm-Message-State: AOJu0YwpBNwUDzbHaaTZBrqoAxKRr6sbsEWMr3nt1xp/0rM5J3yU16nI
	YRWGr3WqweFBdX/59DdTQDY7RxdTuz3feZGmxEvXUqbbtiaQrcM3rF4LEmlXI2c=
X-Gm-Gg: ASbGncve/FIuenZyeX1yQJhTRGYh1sZFR4jRYqzs4DWGiu57WRmPVSUNUJ7qJVWdhh+
	+j5nTLGfW0tbZUHJccthdQKOFnu4J/nU449P2Ng2tP6N7GUvnYmLuJgNOWWAbe+xVmSkyt+i4HV
	Ayxtx11hPQE7fev4rqyPCJK8vw9CDWd1VWyg7XRtkf7x1mxSzWhh4umVFzsRzsh4aHplq2BGSUK
	q4JxCVpgf1nddRBbl4E3lSR1YNkBJd7/kzLl1x4TlcG4Fuw8A/dVxSwGOYJFluKKj8faTqIzcqp
	qMIQlkXtiwiFEvvdLeK/IfTtjolMGalBT7gX24hiRiLRd6SJlA==
X-Google-Smtp-Source: AGHT+IH9cyMRm8Qn3wkSfGra2PhKLEGWpAcqgDGNZkJwyKctVBisRUB4BVhZyZI2QpeoS/7Uvuajjw==
X-Received: by 2002:a17:903:8c6:b0:223:50f0:b97 with SMTP id d9443c01a7336-228049a2035mr51317105ad.52.1743084641763;
        Thu, 27 Mar 2025 07:10:41 -0700 (PDT)
Date: Thu, 27 Mar 2025 15:10: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>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
Message-ID: <Z-VcXGhlObVZYhoc@macbook.local>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
 <Z-U4ozL6p-Unh5Y8@macbook.local>
 <fde64904-343b-48c9-b396-961811cc2adb@suse.com>
 <Z-VJBIbQal-jZAGM@macbook.local>
 <f5669417-43f3-4c63-bb7d-a108f13757cb@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f5669417-43f3-4c63-bb7d-a108f13757cb@suse.com>

On Thu, Mar 27, 2025 at 02:28:42PM +0100, Jan Beulich wrote:
> On 27.03.2025 13:48, Roger Pau MonnĂŠ wrote:
> > On Thu, Mar 27, 2025 at 01:30:44PM +0100, Jan Beulich wrote:
> >> On 27.03.2025 12:38, Roger Pau MonnĂŠ wrote:
> >>> On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
> >>>> Unlike stated in the offending commit's description,
> >>>> load_system_tables() wasn't the only thing left to retain from the
> >>>> earlier restore_rest_processor_state().
> >>>>
> >>>> While there also do Misra-related tidying for the function itself: The
> >>>> function being used from assembly only means it doesn't need to have a
> >>>> declaration, but wants to be asmlinkage.
> >>>
> >>> I wonder, maybe the intention was for the MTRR restoring on the BSP to
> >>> also be done by the mtrr_aps_sync_end() call in enter_state()?
> >>>
> >>> AFAICT that will set the MTRRs uniformly on all CPUs, by calling
> >>> mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
> >>> process.
> >>
> >> Hmm, yes, that's possible. The comment in set_mtrr() is somewhat misleading
> >> then, though, as for the BP the writing then isn't just "okay" but necessary.
> >> Question is whether doing this so much later is actually good enough.
> > 
> > Hm, no idea really.  We do the device restore ahead of the MTRR
> > restore, so I wonder whether we could have issues by using unexpected
> > effective cache attributes for device memory accesses as a result of
> > MTRRs not being initialized?
> 
> That's just one of the possible problems. The father the MTRRs we run with
> diverged from what firmware puts in place, the bigger the possible trouble.
> I think the restoring better is done as being switched to here again. The
> absence of any discussion of MTRRs in that earlier change leaves me pretty
> certain that the behavioral change there wasn't intended. Andrew is usually
> pretty good at spelling out all intended effects.

No objection, however for the BSP we now end up restoring the MTRRs
twice, as we will also do it in mtrr_aps_sync_end().

Might be worth to mention in the commit message that the MTRR state
was restored in mtrr_aps_sync_end() for the BSP also, but that it
might be too late.

Possibly with that somehow noted in the commit message:

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:12:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929383.1332008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnyH-0001Cm-TL; Thu, 27 Mar 2025 14:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929383.1332008; Thu, 27 Mar 2025 14:12: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 1txnyH-0001Cf-Pg; Thu, 27 Mar 2025 14:12:37 +0000
Received: by outflank-mailman (input) for mailman id 929383;
 Thu, 27 Mar 2025 14:12: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=qwmD=WO=bounce.vates.tech=bounce-md_30504962.67e55ccc.v1-b67d07b3874d4e8999d0f32c8c847b9b@srs-se1.protection.inumbo.net>)
 id 1txnyF-0001CE-HN
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:12:35 +0000
Received: from mail133-26.atl131.mandrillapp.com
 (mail133-26.atl131.mandrillapp.com [198.2.133.26])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 845b90b2-0b15-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 15:12:29 +0100 (CET)
Received: from pmta13.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail133-26.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4ZNlwX2qwtzKsbNVh
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 14:12:28 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 b67d07b3874d4e8999d0f32c8c847b9b; Thu, 27 Mar 2025 14:12: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: 845b90b2-0b15-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743084748; x=1743354748;
	bh=Ier6FjZvBD+LLBVf8D2hJQZeOU3HJ0lbuROWkezwWpA=;
	h=From:Subject:Message-Id:To:Cc:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=l5VWCyurLvzGAFikT3w5N6SaOcFACcouGAyoL0RCWJZlXGcu4MInFLZYm/rY4WjVr
	 z9fEjrfAHiLRGTb3KzNMxIMnDc+eJHdlIhBmQOtgh+9RYS+v3j2CahgSA2bMoqefYH
	 THAM+ssVKBy3/FVoT39ZsYco0L6p1hp20DVzvQ9OylxiSRb6uvGjAZufiB2K1WdQ23
	 FQ0XgDjZ6DE1yacuOix9ncRBD+1yhDHM/iPSr4zoQeBAuqFmSTp3uBttxfjLHv/A/q
	 kRNpQw19pyljl5UZK4xjHeDd1Lcj5XVTTxDQARVEdgMK71X7W7mL0DXly/Rt45PQ6h
	 bNLaztdKGHY3g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743084748; x=1743345248; i=teddy.astie@vates.tech;
	bh=Ier6FjZvBD+LLBVf8D2hJQZeOU3HJ0lbuROWkezwWpA=;
	h=From:Subject:Message-Id:To:Cc:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=fiXwhXRx9Ur6wQoB4oXG2nX0veotXH8WoR5Mx08V7qinzZCkc/DdP/b4LnNYs0tAJ
	 a3wMjjijuIudLeI/g2oEVGFUcItKElAo26Fn77ccTTPGj3uYC/WhLOEzUwJw1mdBTz
	 Dqlyq4MIEZed+S15k7+TmdwiyQc6xEEdMcIS5hKbql6PD4HKC3CP0pkw/2st7k+3bh
	 rUagN8YfwRsSUH2xjTu8b8HSqatYQ31F95YFMemakBVaj+Da3nPJpmpqg63nZ617BX
	 HPDnueCkA0QwJlQMiS5j7M2ddaBejzsP58a6ef3Sh2h7ck3p3kP1BFVRklVnmt9u2S
	 Oaer7MtK0srcA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Allocating=20SEV=20C-bit-cleared=20pages=20(without=20relying=20on=20swiotlb)?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743084747829
Message-Id: <b16ec2d7-4a84-482f-b875-d7c152facab5@vates.tech>
To: linux-kernel@vger.kernel.org, linux-mm@vger.kernel.org
Cc: 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.b67d07b3874d4e8999d0f32c8c847b9b?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250327:md
Date: Thu, 27 Mar 2025 14:12:28 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Hello Linux mailing list !

For porting Linux code to make it work on Xen with AMD-SEV, I need to 
change the allocation of some pages to use "shared pages" (C-bit 
cleared) instead of private pages (C-bit set, which is the default kind) 
as these pages needs to be shared with the hypervisor/Dom0.

Is there a facility to allocate pages with C-bit cleared (and if not 
running under SEV, just allocate a plain page) ? Current Linux code for 
SEV seems to only rely on swiotlb as access to shared page is mostly 
made through DMA-kind devices (e.g virtio or emulated device), but I 
don't think it is the best approach.

Regards
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 Mar 27 14:13:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:13:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929395.1332031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnzI-0001ri-Bs; Thu, 27 Mar 2025 14:13:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929395.1332031; Thu, 27 Mar 2025 14:13: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 1txnzI-0001rb-7r; Thu, 27 Mar 2025 14:13:40 +0000
Received: by outflank-mailman (input) for mailman id 929395;
 Thu, 27 Mar 2025 14:13: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=uRC/=WO=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1txnzH-0001rV-Aa
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:13:39 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad5bea3a-0b15-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 15:13:38 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 7064A40E0219; 
 Thu, 27 Mar 2025 14:13:36 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id JzESrgo2KtC2; Thu, 27 Mar 2025 14:13:32 +0000 (UTC)
Received: from zn.tnic (pd95303ce.dip0.t-ipconnect.de [217.83.3.206])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 4A83340E021F;
 Thu, 27 Mar 2025 14:13:23 +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: ad5bea3a-0b15-11f0-9ea3-5ba50f476ded
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
	reason="fail (body has been altered)" header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1743084811; bh=woRVz5b4vp99dk/fbV1QOQUcl24nf2AjIPWa1aaxd0c=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=j2BwqpaAefmKroUo0u/yYcpl3m6+7C/LtS8QAzwOw8jzvwtGaKStmmuY4dZT0fhMl
	 gT4wSODMdukb0m7c/VpcQPbIs0LnC/19oeSaNyh2f3Il/nFt7tF5HeehZeiR5/3UJz
	 BcoMZ1+93ftyZv3PRa0Z/f1qccHgoaNHHBuCG3Tf+zsasYCsM+t7BHPQXHw6zbhlC5
	 rE4jpNDdCl00L6mo0busdZc5mz4yUgvYdaH3jWKAcrbBh/yShm3nzgg8GmDH3dzUi4
	 KnkNAg2fbTNgHGG/Yv6kJB5YtICDIMAb17jnJmcfuJ1F5E21NCd3b4x+BXQ89QpWxa
	 y6crmGTCZ4NNSOZY3F9q4CKUEfmemIbsFwcPeag47tcxem+YfQE0DpZQtCdHW8HS9J
	 AAakGcdqooI8IiEdjZyzwxKFuwOgGvLAJst7oAEF8iLl37xPr/5q0amYmN/25xHQhX
	 liEeI0CdkLFrFHuHZoYuoHSwAyDdGVoMGyF5hNqerDgqsDsRb72iKMbDYHkQImUC3U
	 S5E9wFIy2sMlRrfHbNXUab+CZ590OH7QTDysrsndYqS1U8u+ANHv57qWCY+K/bGBif
	 dHkM04vfrj2+KXO3H25RM2xNew27ZAFRZ9p0rkHA6Lqod609xvvuQLyEn31WRxtXsw
	 rl9577ZmzLF6CJHNfppnSZQg=
Date: Thu, 27 Mar 2025 15:13:16 +0100
From: Borislav Petkov <bp@alien8.de>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>, oe-kbuild-all@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	kernel test robot <lkp@intel.com>, x86-ml <x86@kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [xen-tip:linux-next 12/12] WARNING: modpost: vmlinux: section
 mismatch in reference: mc_debug_data+0x0 (section: .data) ->
 mc_debug_data_early (section: .init.data)
Message-ID: <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
References: <202407240907.u0NJHgTu-lkp@intel.com>
 <a9b1e875-5bf8-4755-ad2e-78ab2eb02c97@suse.com>
 <fc4b5a0c-19dc-4741-b184-08b704444a1b@suse.com>
 <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
Content-Transfer-Encoding: quoted-printable

On Wed, Jul 24, 2024 at 11:55:39AM +0200, J=C3=BCrgen Gro=C3=9F wrote:
> I'd prefer a general way to handle this problem, like e.g. some kind of
> __refdata tagging for percpu variables.

Any reason for not doing the trivial thing?

diff --git a/arch/x86/xen/multicalls.c b/arch/x86/xen/multicalls.c
index 10c660fae8b3..100bfaba3f4d 100644
--- a/arch/x86/xen/multicalls.c
+++ b/arch/x86/xen/multicalls.c
@@ -53,7 +53,7 @@ struct mc_debug_data {
 };
=20
 static DEFINE_PER_CPU(struct mc_buffer, mc_buffer);
-static struct mc_debug_data mc_debug_data_early __initdata;
+static struct mc_debug_data mc_debug_data_early;
 static DEFINE_PER_CPU(struct mc_debug_data *, mc_debug_data) =3D
 	&mc_debug_data_early;
 static struct mc_debug_data __percpu *mc_debug_data_ptr;

---

since this breaks randbuilds:

WARNING: modpost: vmlinux: section mismatch in reference: mc_debug_data+0=
x0 (section: .data) -> mc_debug_data_early (section: .init.data)
ERROR: modpost: Section mismatches detected.
Set CONFIG_SECTION_MISMATCH_WARN_ONLY=3Dy to allow them.
make[2]: *** [scripts/Makefile.modpost:147: Module.symvers] Error 1
make[2]: *** Deleting file 'Module.symvers'
make[1]: *** [/mnt/kernel/kernel/linux/Makefile:1947: modpost] Error 2
make: *** [Makefile:251: __sub-make] Error 2

?

--=20
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:13:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929396.1332040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txnzM-00027j-I4; Thu, 27 Mar 2025 14:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929396.1332040; Thu, 27 Mar 2025 14: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 1txnzM-00027c-F8; Thu, 27 Mar 2025 14:13:44 +0000
Received: by outflank-mailman (input) for mailman id 929396;
 Thu, 27 Mar 2025 14: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txnzL-000264-0G
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:13:43 +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 af2c131b-0b15-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 15:13:41 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso10275145e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 07:13: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-43d7ae65761sm43258195e9.0.2025.03.27.07.13.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 07:13: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: af2c131b-0b15-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743084820; x=1743689620; 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=AJnpz9b93EIR7vUhKHXLmwH//MjhVoWv4ag+TbgribM=;
        b=FTAiup/E45IoMPs7FuYWjFZxhI6rVpVqqXtP5cvSwGvlk3yygvtsLc1l3+ZotXj1Fj
         7NN7e7y3/dtc/LX/WS/5PzrXG0bRQUeE5gOuqZAUdNJVmNEuIGDBVEIiD03VXmxuXvse
         MrO++NgHS7wStdYok9A5OZFQmKFxTq60RcUlARrofzH1WJ8BwyQwjrSC676QEAd+f89P
         Mp/dIN52WDsrzu8v/6CpQUh9+jZ0S2KoS0YRpO4pJwsS2exSRTb3erWije9QkVEtjmnz
         KVheyS7FJ6ooPK46/6Tm+nvAxGSnUinzhAIKtmSkg3sWGfa7l5t9F7g/IrfUrvn/wh/e
         ScdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743084820; x=1743689620;
        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=AJnpz9b93EIR7vUhKHXLmwH//MjhVoWv4ag+TbgribM=;
        b=D4ulUzmKFjImaEzTwQYdEljr7Ymk7XwxwWFXcFY0gy5T/zd3c0JILJV4wDiD2vbsSd
         y3RRlZwanFQawLGDlquaKQI5bsGsGQCNlLaaDA8ZlFy4l5/gF+K2upQFIxsdZ5BpD9ID
         CmmjTDoZATutXHR00Cc3S7oBDAkcR1RHt9t+Kmm+mApgY5352eVf+gRwmZfICw5n6l+L
         h5Gw+twJK5UIJ/wwUgaVcuv83byWoekOzRapy6WhJPs5csIc9jDy8LuLKO3nhyHCnIVX
         +FEFvkm1sW2D9B4MuZzXsYUyiPk/73P2pgKbSAsmTSwGRf5SFvPkv1kIC9Ga6uiE/9Rj
         SVUA==
X-Gm-Message-State: AOJu0YwclE/Z7ityIiYwk0mvlJUGm1tP5M91Tep0PNhTyIulrf8lNecj
	yRwvtpDROCkAPiariyrrYkGWLC1NuK03gj465fWN+hbIcwpkCPYU2ikNky1wtU+Y0LVas6a9pxk
	=
X-Gm-Gg: ASbGnct7RoQYqHuP4Ow4p4SzyC+Dc+dI/yCjBa8CHv0myhALaAo3tmCxlGC0PSwBWST
	HCtesMI2xdgGBezlcY+3gsKmUMB6wH8VPPJRoPdCkcuv4w/1X/5SqEyhyYvnZI3H9hNK3sUZSXI
	KClgut+LKWkv41iFmN7hMW6/dPAiKoQLX8E/ETvn8s3x/u7uQUvMN7relpa6Hjb33NCOVmR+5bF
	/WMguBvtJf//xMvwOyI4dV0/gLzSgbRYHgR0G7vvIInCG0ZuEMDFofIa+Oi9pUMn+lnwjX6fIiC
	WDESWnGGnZiFdgKx9gzqzE989tgomjrzv24+xL71Hx1Yn6ddcabZ0KgPQIjRo48OJyd6s84mLf/
	V6lsEzpH7kGPGWLyVZ1ni3kdf08cnhQ==
X-Google-Smtp-Source: AGHT+IE5dcQFlG01IMLVZRYhqgmDPu55YmtYyYdRZPv0omkvGmYU2VBb0vUo13YmGxxYVpbey5Jjig==
X-Received: by 2002:a5d:6da6:0:b0:38c:3f12:64be with SMTP id ffacd0b85a97d-39ad17845ecmr3849802f8f.35.1743084820443;
        Thu, 27 Mar 2025 07:13:40 -0700 (PDT)
Message-ID: <7ac97714-7137-47bb-b109-3ec4c69fbeb0@suse.com>
Date: Thu, 27 Mar 2025 15:13:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: preparations for 4.19.2
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,
 "community.manager@xenproject.org" <community.manager@xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>
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

All,

the release is due in a little over a week. Please point out backports you find
missing from the respective staging branch, but which you consider relevant. I'm
already aware of

be7f0cc651d8	ARM/vgic: Fix out-of-bounds accesses in vgic_mmio_write_sgir()

and I'm further aware that there are a number of bug fixes in flight.

Advance notice: 4.18.5 ought to follow a few weeks later; I'd like to defer it a
little, so it can be the last full-support stable release from that branch
before moving into security-only state.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:21:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929419.1332051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txo6O-0004wI-DI; Thu, 27 Mar 2025 14:21:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929419.1332051; Thu, 27 Mar 2025 14: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 1txo6O-0004wB-94; Thu, 27 Mar 2025 14:21:00 +0000
Received: by outflank-mailman (input) for mailman id 929419;
 Thu, 27 Mar 2025 14: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txo6M-0004kM-Bw
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:20:58 +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 b30a59bc-0b16-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 15:20:57 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39129fc51f8so759886f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 07:20: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-39ac67970a2sm9836995f8f.16.2025.03.27.07.20.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 07:20: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: b30a59bc-0b16-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743085256; x=1743690056; 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=uqG9ju3hY/T+4CCqMZkWLe2+X+VoXuDMIQAHI/1oG8E=;
        b=VPMXt/13aeO39x/bRBJKvo+GkgCUZaYhW36mVIMO6tY/6LHxIpdWEQlrhKRjE6RvBv
         mnpzA3fpRgUX/Zv/6W4jjTDerxG64B8agiMGrD/igZ0Drt5PhUFmuibmO8Hr1mNftFL3
         ciY2aDH2l/h0FuEBPRS1YojC97v3cOb+soBEqTaH3VEFXP/LGpiQqEj//aAjXeStrZzU
         MVGU3CMa/HOJ9SOEK78RJ7xbqCflFe50RSicK+eN5jFcyHGjU5PFjmQ78SkVF/aj9egg
         TDcmNGOwzZ/voY2+31vzaGvdkG7iKZMcuHAIKbwk9FVCIeQHg69lJLSLQbUzmeETptXE
         nLcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743085256; x=1743690056;
        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=uqG9ju3hY/T+4CCqMZkWLe2+X+VoXuDMIQAHI/1oG8E=;
        b=WAmMvkDWTOMA0udG4yMdbNrCf5Obse+9YZGqXiMtoQnscyyxqrjJCQ0k+xWb+K3NeB
         ajJ+IWarCUr3cw+YV/qfLLyRpNo8Q6Hs9tB3cqpv/1KbOY5XizXp6W/i/Nubh4qq+IcC
         +j9uyhNPA2Ki08xdw49eiu0wvjYrqegtVuj3/gBVXWb6Fc+Pvywz9TCv8dG1JwyOn4pm
         /sB8UqeJPPZz0cKZOTblSaRzqRemoOgfcTtXeVt3VrXZX4S5sEgJ4tijGV0YR/7CJbfT
         /gOGJGMi/CMNzCAV8Bz/UZBBhoSGkbfLkuvnpLm7UvMElEarsJvRQvvG4Nd0XZy5NfXv
         9Lww==
X-Gm-Message-State: AOJu0YwKElMWIXGRvtvFIs0774kPX/auBFwwQAMKoGjBo/whnzf/4EUF
	t6O5sj8tJ4YYGoaTdqN0BEJLnZ63xXxsavm8KpRA++kjcsQWDDTF3PKm22to6egwxMsVt3jM/kc
	=
X-Gm-Gg: ASbGncv2NZnR+I2WyJ2c8v1i7u/87i8h8DdedBIiDTh4++FtQ1BPjQsj/ueD8VCKhHw
	wNDsgmBCs+4Hb7Qg3vBGiaV+nzzEinziA2BOJcPotpEeHw3kDhk4+m68YU3ZDdGozI5qKBDd3r4
	XzIW9b8AuVkmDnRhGSTLm7qFCLAZ+ciwjO9r6QiYXYQoXrNAM+z0Q7ch+xKi/wnWvfXHctoB/pr
	MyZlsbI/1pvwBfwFdq0L2towIUS3aoAFp11X9BN3HBD6U+WgBsdQbBorXuwMSf8OAndNyTuPUwa
	Xcw5iDhvB4nyOSvC9NUWgh1W2DigNw/PFuQu6AuVxulE9DMnj3awaXegLM7luQwZ7d2LHvSXTgy
	ErkFgNRc+RRkCYVseCFYSI5XNRN6kzA==
X-Google-Smtp-Source: AGHT+IGadbY9Ep4T54jZnlR529B/HLBhE2b+KdPwRQVDza4O5DeJJOE4aZMQBiUZ0hV75XIu9yVQrA==
X-Received: by 2002:a5d:588c:0:b0:390:f6aa:4e7c with SMTP id ffacd0b85a97d-39ad1749184mr3606741f8f.28.1743085256531;
        Thu, 27 Mar 2025 07:20:56 -0700 (PDT)
Message-ID: <ca0fb29a-96e8-489e-b109-76a684621d18@suse.com>
Date: Thu, 27 Mar 2025 15:20:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
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>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
 <Z-U4ozL6p-Unh5Y8@macbook.local>
 <fde64904-343b-48c9-b396-961811cc2adb@suse.com>
 <Z-VJBIbQal-jZAGM@macbook.local>
 <f5669417-43f3-4c63-bb7d-a108f13757cb@suse.com>
 <Z-VcXGhlObVZYhoc@macbook.local>
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: <Z-VcXGhlObVZYhoc@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 15:10, Roger Pau MonnĂŠ wrote:
> On Thu, Mar 27, 2025 at 02:28:42PM +0100, Jan Beulich wrote:
>> On 27.03.2025 13:48, Roger Pau MonnĂŠ wrote:
>>> On Thu, Mar 27, 2025 at 01:30:44PM +0100, Jan Beulich wrote:
>>>> On 27.03.2025 12:38, Roger Pau MonnĂŠ wrote:
>>>>> On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
>>>>>> Unlike stated in the offending commit's description,
>>>>>> load_system_tables() wasn't the only thing left to retain from the
>>>>>> earlier restore_rest_processor_state().
>>>>>>
>>>>>> While there also do Misra-related tidying for the function itself: The
>>>>>> function being used from assembly only means it doesn't need to have a
>>>>>> declaration, but wants to be asmlinkage.
>>>>>
>>>>> I wonder, maybe the intention was for the MTRR restoring on the BSP to
>>>>> also be done by the mtrr_aps_sync_end() call in enter_state()?
>>>>>
>>>>> AFAICT that will set the MTRRs uniformly on all CPUs, by calling
>>>>> mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
>>>>> process.
>>>>
>>>> Hmm, yes, that's possible. The comment in set_mtrr() is somewhat misleading
>>>> then, though, as for the BP the writing then isn't just "okay" but necessary.
>>>> Question is whether doing this so much later is actually good enough.
>>>
>>> Hm, no idea really.  We do the device restore ahead of the MTRR
>>> restore, so I wonder whether we could have issues by using unexpected
>>> effective cache attributes for device memory accesses as a result of
>>> MTRRs not being initialized?
>>
>> That's just one of the possible problems. The father the MTRRs we run with
>> diverged from what firmware puts in place, the bigger the possible trouble.
>> I think the restoring better is done as being switched to here again. The
>> absence of any discussion of MTRRs in that earlier change leaves me pretty
>> certain that the behavioral change there wasn't intended. Andrew is usually
>> pretty good at spelling out all intended effects.
> 
> No objection, however for the BSP we now end up restoring the MTRRs
> twice, as we will also do it in mtrr_aps_sync_end().
> 
> Might be worth to mention in the commit message that the MTRR state
> was restored in mtrr_aps_sync_end() for the BSP also, but that it
> might be too late.

I've added "Note that MTRR state was still reloaded via mtrr_aps_sync_end(),
but that happens quite a bit later in the resume process."

> Possibly with that somehow noted in the commit message:
> 
> Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Thanks. Any chance of getting another one for the 3rd patch in this (split
up) group? Maybe the duplicate one for the "don't hard-code" one was actually
meant to go there?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:21:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929430.1332060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txo7B-0005d6-Kt; Thu, 27 Mar 2025 14:21:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929430.1332060; Thu, 27 Mar 2025 14:21: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 1txo7B-0005cz-Ht; Thu, 27 Mar 2025 14:21:49 +0000
Received: by outflank-mailman (input) for mailman id 929430;
 Thu, 27 Mar 2025 14:21: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=zm5l=WO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txo79-0004kM-Qo
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:21:47 +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 d0eaa8bf-0b16-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 15:21:47 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-ac2bfcd2a70so135028066b.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 07:21:47 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac3efb52c0bsm1249345966b.91.2025.03.27.07.21.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 07:21: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: d0eaa8bf-0b16-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743085307; x=1743690107; 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=YA8ArRovZcyU99UHeTX9YUKXyk6eIvGmN65bgsJbR7M=;
        b=VO328NC2Mvj/HopDITHZgz6PGXAjlr1vprd0N0Wi4ipri8MsWNewOrmYvNYC+LIFch
         5bqgW5J4JwN9q55Cls87gL5zR8RkrXqW2nL51s1ZZHo+SvYk8cbKM96Vahh9Sk9OMaAd
         mQp5zPxhKJpgX6vtLqQIOzrBaseQRakF4bI2ZQUdUZtsZLbzBGfQZCUw0EmfEMlGTfIx
         22C8Y21jZinIbLBVGXUPj5FLxBSeZ3X9mS4gYi0h1osGFTYmbjQYA/pnTvA7+1KO7Xpu
         qfD45aQAEKm9OMrcxm5Ut9jbXfn9JBmfE+WUhAlIAQdRXXAZknJfclsVhSTHYfyHbtXO
         EoQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743085307; x=1743690107;
        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=YA8ArRovZcyU99UHeTX9YUKXyk6eIvGmN65bgsJbR7M=;
        b=SZzgU/D6am2J6iTFmW142aUQA06awBHbCLPaDzoTISyRptSk+d2kkZPX9LIodT9a3s
         wjeupjLOQw9EK/UDtQ7DeEXsRd1o10fIshb3k+UaOneikU86Mwy77bxod65jXTsKwrw3
         /B4om11ihMYLSIJ3pFdtQYCPMYZClflambJVUcV2+RBOAPzZeUfVL76KRCnl/olGn79L
         0a7kfbuQmY4HKUxU9WiHwCx4OLFJuw5Fnvle5q9Ni6EfLu+MbDvex8AzQ+yK32nUO7iq
         SzMmYGAD4qHQ6GZxeiduifQE0sHNL7d0Hv5u0tGiZEkcfvYu6dLNutQa2fykKR5WKP+s
         TzHQ==
X-Forwarded-Encrypted: i=1; AJvYcCUw2w0+FLN4Ka8uf7nh1dZXntqkNLEkX/gLKrNXdW5e6iFBaDV/FtD2g2dMzXyBhOxNQsCLEmCjJ8I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8hKg08wUEoe9CR9Z4AFC1A4kyhyZiWav3VDX7ubm6W3wVApNh
	lzISj4XUIGB4Md9fJRwWxyC8M64FAnl1ycoUG5akRQj9A0X0YYf4oP/dtYvtvKc=
X-Gm-Gg: ASbGncv3WJs+877PaxliKLoNwRUcGYjbXG2iy3KiKQ/HDVnSDnDOLPOWhCqOxddcjVa
	kK1fB3PU6CbszseHeubNb/X7Wg3gTj8pGz6BzLn6yUzl8HgVBfpalJo9kfQWRtmssf8FoJvGYaY
	57TcfeTlDfNH1pizKCSEYpo5Cbt7M7e/m0OYFaT7Rzv3SE43ldUcAkLf04t4gvfFwIE1Qj8ZLDs
	EPDFP2vhgXKIlkOHZPdVhdJ/kcfc0UrR8te1l8msmcvY+RGv7yc2/acHEMmTH45btYuJ0CvccK4
	OAJPq7GivR5kUMXODlPRmy7oGuoD66r/J0LK99dSDSKOSE0fgMM/KDK8DIuXjFAXTjxYiitYfCa
	zn2HxrFSiQPEHNjOV7PwwrkJVzImiAhEcevJph0D4dJZl2/fghw8HyyVGWuA3ViXemCEpSQ==
X-Google-Smtp-Source: AGHT+IFCABOwtVH40dgEIF/v3SC5sQsG/SkmVq9OmnVTD5wSrbXQiYlHPDk40SIcgalxhj/beTU0Pg==
X-Received: by 2002:a17:907:3fa3:b0:abf:6ebf:5500 with SMTP id a640c23a62f3a-ac6faeb7134mr340592566b.16.1743085306432;
        Thu, 27 Mar 2025 07:21:46 -0700 (PDT)
Message-ID: <c18a543c-4df2-4744-bf16-e888a832d634@suse.com>
Date: Thu, 27 Mar 2025 15:21:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen-tip:linux-next 12/12] WARNING: modpost: vmlinux: section
 mismatch in reference: mc_debug_data+0x0 (section: .data) ->
 mc_debug_data_early (section: .init.data)
To: Borislav Petkov <bp@alien8.de>
Cc: Jan Beulich <jbeulich@suse.com>, oe-kbuild-all@lists.linux.dev,
 xen-devel@lists.xenproject.org, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, kernel test robot <lkp@intel.com>,
 x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
References: <202407240907.u0NJHgTu-lkp@intel.com>
 <a9b1e875-5bf8-4755-ad2e-78ab2eb02c97@suse.com>
 <fc4b5a0c-19dc-4741-b184-08b704444a1b@suse.com>
 <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
 <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
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: <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------YeV86QOqDWmfRVo404l9CPE1"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------YeV86QOqDWmfRVo404l9CPE1
Content-Type: multipart/mixed; boundary="------------w3AQEZipCb3IgL39gNqeALp9";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Jan Beulich <jbeulich@suse.com>, oe-kbuild-all@lists.linux.dev,
 xen-devel@lists.xenproject.org, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, kernel test robot <lkp@intel.com>,
 x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Message-ID: <c18a543c-4df2-4744-bf16-e888a832d634@suse.com>
Subject: Re: [xen-tip:linux-next 12/12] WARNING: modpost: vmlinux: section
 mismatch in reference: mc_debug_data+0x0 (section: .data) ->
 mc_debug_data_early (section: .init.data)
References: <202407240907.u0NJHgTu-lkp@intel.com>
 <a9b1e875-5bf8-4755-ad2e-78ab2eb02c97@suse.com>
 <fc4b5a0c-19dc-4741-b184-08b704444a1b@suse.com>
 <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
 <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
In-Reply-To: <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
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=

--------------w3AQEZipCb3IgL39gNqeALp9
Content-Type: multipart/mixed; boundary="------------55vb6jP6OXkfhRxpOPx3b5GE"

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

T24gMjcuMDMuMjUgMTU6MTMsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gV2VkLCBK
dWwgMjQsIDIwMjQgYXQgMTE6NTU6MzlBTSArMDIwMCwgSsO8cmdlbiBHcm/DnyB3cm90ZToN
Cj4+IEknZCBwcmVmZXIgYSBnZW5lcmFsIHdheSB0byBoYW5kbGUgdGhpcyBwcm9ibGVtLCBs
aWtlIGUuZy4gc29tZSBraW5kIG9mDQo+PiBfX3JlZmRhdGEgdGFnZ2luZyBmb3IgcGVyY3B1
IHZhcmlhYmxlcy4NCj4gDQo+IEFueSByZWFzb24gZm9yIG5vdCBkb2luZyB0aGUgdHJpdmlh
bCB0aGluZz8NCj4gDQo+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5j
IGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuYw0KPiBpbmRleCAxMGM2NjBmYWU4YjMuLjEw
MGJmYWJhM2Y0ZCAxMDA2NDQNCj4gLS0tIGEvYXJjaC94ODYveGVuL211bHRpY2FsbHMuYw0K
PiArKysgYi9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5jDQo+IEBAIC01Myw3ICs1Myw3IEBA
IHN0cnVjdCBtY19kZWJ1Z19kYXRhIHsNCj4gICB9Ow0KPiAgIA0KPiAgIHN0YXRpYyBERUZJ
TkVfUEVSX0NQVShzdHJ1Y3QgbWNfYnVmZmVyLCBtY19idWZmZXIpOw0KPiAtc3RhdGljIHN0
cnVjdCBtY19kZWJ1Z19kYXRhIG1jX2RlYnVnX2RhdGFfZWFybHkgX19pbml0ZGF0YTsNCj4g
K3N0YXRpYyBzdHJ1Y3QgbWNfZGVidWdfZGF0YSBtY19kZWJ1Z19kYXRhX2Vhcmx5Ow0KPiAg
IHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbWNfZGVidWdfZGF0YSAqLCBtY19kZWJ1
Z19kYXRhKSA9DQo+ICAgCSZtY19kZWJ1Z19kYXRhX2Vhcmx5Ow0KPiAgIHN0YXRpYyBzdHJ1
Y3QgbWNfZGVidWdfZGF0YSBfX3BlcmNwdSAqbWNfZGVidWdfZGF0YV9wdHI7DQoNCldlbGws
IHRoYXQgaXMgd2FzdGluZyBuZWFybHkgM2tCIG9mIHRoZSBkYXRhIHNlY3Rpb24uDQoNCk1h
eWJlIG5vdCBhIGJpZyBkZWFsLCBidXQgc3RpbGwuLi4NCg0KDQpKdWVyZ2VuDQo=
--------------55vb6jP6OXkfhRxpOPx3b5GE
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-----

--------------55vb6jP6OXkfhRxpOPx3b5GE--

--------------w3AQEZipCb3IgL39gNqeALp9--

--------------YeV86QOqDWmfRVo404l9CPE1
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/Ey8FAmflXvkFAwAAAAAACgkQsN6d1ii/Ey+D
mwf8CB4yqf5jmA/ogrCjqXVUl+WOaKtKrKzZHAigKHobCnD1iv2TL/w9MDf0RP9KrlfwhmBqR9h7
1M11onb+9Ijpxn23SYi/pF1U8oylIaavnQjD9r+uV4tvObSsNZdjUT5YphFbnbDwGY0X5W32utQW
IsPab20ZsTnMwsqls2iOPWZDjjjYFHk5OOK/TsgakzzH/op8Y0pfHVnSUGWp+lv4N69wLX5O0dtu
kvrMM/k+3DbTZyvGD9wh1tjR/k+e/1qBTB6WB9I4EwrMIh516x5NyhxAHrVM22KPR84abNC3rm7l
RIkqGT8YpTGt0Pn595QGaZHpp5NujjNQegae03Ta9Q==
=57eC
-----END PGP SIGNATURE-----

--------------YeV86QOqDWmfRVo404l9CPE1--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:26:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:26:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929455.1332122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txoBW-0006ki-LK; Thu, 27 Mar 2025 14:26:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929455.1332122; Thu, 27 Mar 2025 14: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 1txoBW-0006kb-Hh; Thu, 27 Mar 2025 14:26:18 +0000
Received: by outflank-mailman (input) for mailman id 929455;
 Thu, 27 Mar 2025 14:26: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txoBU-0006kV-Vg
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:26:16 +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 70888b3d-0b17-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 15:26:15 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3912baafc58so795565f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 07:26:15 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39bedeb82c1sm1194716f8f.3.2025.03.27.07.26.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 07:26: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: 70888b3d-0b17-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743085574; x=1743690374; 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=NVvhx8Myk2NdnmysDI4Xnt4qOhf7M92UeoujUr+LMgQ=;
        b=nOnc/FSNwhCML1ZQO/ISb2EV06OS6iE5VBHzEjojhecNBhRg+6jfRkGXia4qE8gK66
         I3D7rFa2slrg0VRYFL2oFQgfw+623Op1eJfdDDsbGs6VgQT+/PA64b1k0t2pF/XqpPuM
         81jaS3hU5ufJiqLX3bCEPWGa8XlK7LWKYlVL8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743085574; x=1743690374;
        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=NVvhx8Myk2NdnmysDI4Xnt4qOhf7M92UeoujUr+LMgQ=;
        b=v2JTVhehjPernbryMKtxYUEka3aHjNY6TZKewbQ8NOFdRwf5nBw+XUKC3NIRrMkXd3
         /3T6/351EKM5IFtDQNazFl0WmvtCX25HOHq64iDF16O7HSmdlxtIG7VgGEzoAqz6Pb64
         2xeQc6yriuvmJh4YBqtWmlbwizbzpN6sz0O8UKpxNicGyfE9VcstN7vhOZdppI2biTiV
         aHywe7pVFiPabWxScBit2AitoRyEWFgzpRWbIPhrSO8EbRKSqekBPKhjv5q58Z7xsSHS
         i6jqa8giVZeNOgjMz6FktPj3KalzmyW4XHqYPJ9J9+VGxS4IK8oLyNd3Hdb89eI5MWKz
         ED+g==
X-Forwarded-Encrypted: i=1; AJvYcCUkQd/gDRN4fCBLKZ0AWK6u1apCtDrSqC3SvNvojm3V7jR2tML1jkQzzwIQmjn0k5r4njo70OshxdE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyEcu1j/+IAvUc/0lz2P4m/PEQBGo5u+pjf5zdM/B/qh5Sn2ZTl
	M9+zPQ9hkaV3whLrWzJ4ICokzxGX6H7T2yEgudA6vXoQZTPkcq2nD/Az8Gvk9Hc=
X-Gm-Gg: ASbGncteAkdt///fqW8eHLX1UbZ9EJA0To115U3meQ9GJCS6tEVLhXxS+kPZaqowPF5
	wba2Kf7JtqK+2+Vil9msOWgJET6oziGVdtvt4CIw0HvzetT/oPR666V9NYcUKOdGb6mxQsFJfSH
	tcl955KQzPIajkdXfQ48V7aovIXHDPlXrqvf4hI7jecJrk2/VPTPCulqfmBe4/FRJztlgMUythV
	2x4u8tecL8DbJUneZTFkjHndLzi5LDN2r70IRfqRY3V2Ewoylm1qA88yS0iRKfKQvx4P8pghoBK
	cZe1s/zLB19cojTkqbH/0lZ3hp4EzbWxazu8O/BY031iWoHWchlu1Qkxq5qPNUbvPp8kJyDaFzR
	x6e1+pP9b1Q==
X-Google-Smtp-Source: AGHT+IGUCQ9a2FmAR3UGDPRZQsL0n8e7hTHHR0sq72KqpLi+ePnSQ+Lao+Sv9PN8DfKgV0LypdZsug==
X-Received: by 2002:a05:6000:2912:b0:391:4977:5060 with SMTP id ffacd0b85a97d-39ad179b035mr2971807f8f.53.1743085574408;
        Thu, 27 Mar 2025 07:26:14 -0700 (PDT)
Message-ID: <4bf1fe0c-2034-40d9-a5d2-ea10983e530b@citrix.com>
Date: Thu, 27 Mar 2025 14:26:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: preparations for 4.19.2
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,
 "community.manager@xenproject.org" <community.manager@xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <7ac97714-7137-47bb-b109-3ec4c69fbeb0@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: <7ac97714-7137-47bb-b109-3ec4c69fbeb0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27/03/2025 2:13 pm, Jan Beulich wrote:
> All,
>
> the release is due in a little over a week. Please point out backports you find
> missing from the respective staging branch, but which you consider relevant. I'm
> already aware of
>
> be7f0cc651d8	ARM/vgic: Fix out-of-bounds accesses in vgic_mmio_write_sgir()

Looking at the patchqueue, the only one I can see is

c11772277fe5 - tools/ocaml: Fix oxenstored build warning.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:38:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:38:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929482.1332185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txoNC-0001l7-Br; Thu, 27 Mar 2025 14:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929482.1332185; Thu, 27 Mar 2025 14:38: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 1txoNC-0001l0-7K; Thu, 27 Mar 2025 14:38:22 +0000
Received: by outflank-mailman (input) for mailman id 929482;
 Thu, 27 Mar 2025 14:38: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txoNB-0001ku-SX
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:38:21 +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 1e2d8c5a-0b19-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 15:38:15 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so15228385e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 07:38: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-43d82e83609sm40015145e9.15.2025.03.27.07.38.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 07:38: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: 1e2d8c5a-0b19-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743086295; x=1743691095; 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=UR6nD0+bqUwdSWrGL791eC0OSY2LW22S+sdh8/j29n4=;
        b=ZVOCVuc8eVnxWl8eR2ni5KdMlfOOrnRMrTmaJnNTnpKGDDNE2mw9U6WBIOOD6AEytT
         W/KofadQJTkSb7QoNL+/JkF0Hnxq5PkwgoMQvmi/qqZkLMW0+J7EVO7WCOfqQ/OXGdqQ
         8wPpcGQt0tIjuZiX1rXuOZ/mEs4OXwt9YrPk8GksQYkuyHERWhexVMsnIdOxlG0PRkHz
         Hmz6izdRFVgxiQMSo8DFBGnjySjrH0A+wFTEaDyE49ZQgUsrlTSA0ZloAWcFiAvhclAa
         yc7aOkv7502W4y9K8TmWqDcYI0K26R7AiDPDO9U5VseRT9URO2KYlyjMRSyAExj6dTZh
         nmeQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743086295; x=1743691095;
        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=UR6nD0+bqUwdSWrGL791eC0OSY2LW22S+sdh8/j29n4=;
        b=d6ZVJOmHoJTiEXZNDGxSmoR1rK7mRGkJZg8Vs9SvLtNnJj4JI8ovuLwkGjQ9tyEcdz
         yEg8o+pDghnlMU1EeUHWZIXJ/PjRY4bGhHqqcHwshWF1GoRizblHCNc/TDKJUH5dSAwA
         62FIBYfPCcgnViv4T+jCI352P47ddycf+DN9TxoOw4Qo1jNGaBmywDzkDXL2l0kqgs/0
         ImgtbPzi3tDQdRuee3z0B08sg+HP0wZB2uVWUczXkdQEIA3kZJop5wmPa+XReG/wPDI2
         gl/dgxRGje2s+JFBOqabFBE5wEUjRgXQv2m8ZEk0vDqbtGTz4QzB+avPRIiiAJVgI+Oe
         VneA==
X-Forwarded-Encrypted: i=1; AJvYcCV4HtR1XEzTJUfSCDljTWJA7L+7GFH7pD+DWkd+92s0xFfGm9T1oYx05apiyYv+gBhhsM0SdyAh1iA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz88sKMsb+1fNzUjqJD1E8I9ioixP6TMj2MOpB8W06sI+9V68ze
	4cgGfmfIMBSyctnyxUYOEHQUiYDEiiVLTOcnBuN1N4F4ftXHm5VMp8v8IG/0NQ==
X-Gm-Gg: ASbGncs3lr5pl1fWml32csuPQwzXxEyxy5nOSnHjk4klEzOCBj+Rv4pVHbMJYyOxwlY
	dZVtIS8PQuHFUyclai7awhcbdNZvPtFhAGnqPsrH/SkjBA/mIw+DtZBq2wuyeCjG49Euhv/6ite
	CPQPHeoJROof87NIHilFzJ+4qS73Dtzj0gdFNbig2t4w+pHyNIQylmDRQZcXJmT1pMCi1mgRfQa
	XDiZtkojQdoD/AXFamu52nqF2DXT9RA1+2y6IZ0FthDfwQQQkEbUsb7FeK7n7OxqCtfMdrDkTW4
	AQebf12C0kn+O+EkCqpm3hh+T8RRJbydP/PMioGsdMZNcAx0Qxmzn43XrfEyzoFPqByQ1WgVkBD
	YIV+oD50GB+GgIGCz4+vZu6Bl8alQLA==
X-Google-Smtp-Source: AGHT+IHVwRIgQ9334KEjMuckawFFz4V0XbWopOgWgNGGUcvnGQqdxjFAlQ96gz3njNqGgjsfWYWW/w==
X-Received: by 2002:a05:600c:1e20:b0:439:8e95:796a with SMTP id 5b1f17b1804b1-43d8e68a4b9mr3966015e9.13.1743086295154;
        Thu, 27 Mar 2025 07:38:15 -0700 (PDT)
Message-ID: <51c41f93-b8ef-452a-92cf-b48099234f45@suse.com>
Date: Thu, 27 Mar 2025 15:38:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: preparations for 4.19.2
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,
 "community.manager@xenproject.org" <community.manager@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <7ac97714-7137-47bb-b109-3ec4c69fbeb0@suse.com>
 <4bf1fe0c-2034-40d9-a5d2-ea10983e530b@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: <4bf1fe0c-2034-40d9-a5d2-ea10983e530b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 15:26, Andrew Cooper wrote:
> On 27/03/2025 2:13 pm, Jan Beulich wrote:
>> All,
>>
>> the release is due in a little over a week. Please point out backports you find
>> missing from the respective staging branch, but which you consider relevant. I'm
>> already aware of
>>
>> be7f0cc651d8	ARM/vgic: Fix out-of-bounds accesses in vgic_mmio_write_sgir()
> 
> Looking at the patchqueue, the only one I can see is
> 
> c11772277fe5 - tools/ocaml: Fix oxenstored build warning.

Queued. Thinking of it, Anthony - I wanted to ask, now that you're committer:
Could I hand off toolstack backports to you going forward, much like Ian was
doing earlier on?

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:38:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:38:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929489.1332194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txoNg-0002Do-Ik; Thu, 27 Mar 2025 14:38:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929489.1332194; Thu, 27 Mar 2025 14:38: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 1txoNg-0002Dh-Eb; Thu, 27 Mar 2025 14:38:52 +0000
Received: by outflank-mailman (input) for mailman id 929489;
 Thu, 27 Mar 2025 14:38: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=zm5l=WO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txoNf-0001ku-Mm
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:38:51 +0000
Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com
 [2a00:1450:4864:20::543])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3336ece6-0b19-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 15:38:51 +0100 (CET)
Received: by mail-ed1-x543.google.com with SMTP id
 4fb4d7f45d1cf-5ec9d24acfbso3921253a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 07:38:51 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac7192e7d6dsm1111966b.74.2025.03.27.07.38.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 07:38: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: 3336ece6-0b19-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743086330; x=1743691130; 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=xNwCjykYTgxGGntLE+x1souSdQbrv6a6loMRiMUnCHM=;
        b=bwDbcoiOuKV8b6vUrxo1jsyXmilyjIMGbEyJWzX/dxa+DelS9Ol3WMtnm0RcmmJslY
         ZTvkER7j7OIUzNrTaGsw5NdisC6hehtSYEjP9R+0lvlrC3sl/Lr8KwgSwY53D8Z219HY
         cRqoQizmzni4hrMyRfVWtmuPihZjR+mdc/Zr/ID+ySgK9Xrfo8pY4gZMpzZNHxhfe7rW
         VbHZFzfG/sa6ibDjdAQP4+p/LIbVPdpSjWCQ+vEgcX4vp5ninYmtO0wyeX4+SJIisIFf
         Zqs7OUOmXRkVzqExjDwk9veiExCd6mipxtBbIXn3JLkv1NJ+2dPiFITtLCk25IxZdCdh
         BEAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743086330; x=1743691130;
        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=xNwCjykYTgxGGntLE+x1souSdQbrv6a6loMRiMUnCHM=;
        b=tyL+owye/Q+++x18WZFE5QEnVzLd5oOEvFWU9HhaP9tQEcU1Ltw3A80sEtM9jwThhB
         ynj6h84Zu1XekDpXBmisalGVX0F/ejTa+iDaprnta1HyXfQWuYNO8sBFOzVl8rv4Ooay
         2aTS0y4o3MmiLLMABdmr1iCy6W55noqWvXe0TtDJQo/2MApCBNW27EgBcKqlzs8d+oCc
         0/eJMq8IHtRePN2BTvIeunHBCwyNy85ZFruwZXc/uSW5gBuJMq35YZnh7X/73YCwifBD
         MrxMwHrXAa7s3z2kBvMCqexLP8ExeJfPbTY12TpehDSLOuYCsPEPYM3KSNhBgLeeYWxr
         kehA==
X-Forwarded-Encrypted: i=1; AJvYcCWeGVLaj4VwaJeSsAf+DXcuImaD2m6Wd/knaf12aW1Id66kUAHqKWsxr34PxIBHhUlkUz3rTQHHBtg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+PoDvguOf0x8TpdGz/x6o0itbt+0iE1j+ZHZnZPeT3xVlA/0J
	gInzlbWiordwpSRAygqHkxjUBQAUk4nwYONU+/HAtQRtTpcmUqpWZXf4ecxAM5E=
X-Gm-Gg: ASbGnctAMzdd+MP10qKUfwSss/EPiLJZAAzrcpOvbKsW+nxtMbRFrCHEWruFHDoeOyZ
	zElZjw376Td2nAlFN4ZVtpaAWjU8QUR68bnSGvATjXdwxy9scWxM334NyCT2//9ne1IiuSCy5DU
	MjW4w+tC4kBE/CYuPiSyLEZECorXgs8rxHzOAzQKZTxaF/doSa+v/zzGis8l3eJ89Jf+NG0r5Jh
	HuyQzOtsrPrp9XD/jVcwGkrFLyRakAxVZhAVSR3uRcw+zCSsVvrpm7VKzOCOl0+7lWhdAt+SQRR
	LdA/sWUjzmPJNsK//lKXEiPLoAOiIPd58soL50XmROV80dJI16G+8ooNkAfGIlDg2fr1PUnvima
	um7CjzGv4zpJYZD6a56VfWrppULOvTjnGaxsBxiD3EEv09UKs9myq0ld2nt7TWBSOrdwt1ZYipz
	9sDPyH
X-Google-Smtp-Source: AGHT+IEN3NjQYuocAMHbbwvcCGmGa8xtQ1lMLcUjFfWpz8WhQS+B0/WdvyDtfAZ9wfId32DiI2iIFw==
X-Received: by 2002:a17:907:9721:b0:ac1:ecb0:ca98 with SMTP id a640c23a62f3a-ac716bc402dmr50333666b.26.1743086330369;
        Thu, 27 Mar 2025 07:38:50 -0700 (PDT)
Message-ID: <ae5b49ba-efb8-44c4-99ed-624bf007de25@suse.com>
Date: Thu, 27 Mar 2025 15:38:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] docs: remove qemu-traditional support from
 documentation
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-3-jgross@suse.com>
 <ee9d3fb9-d3b3-49e1-8a2e-83990a3fc7c5@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: <ee9d3fb9-d3b3-49e1-8a2e-83990a3fc7c5@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------xheZBwW0KZ6N80h4i8iQJnAN"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------xheZBwW0KZ6N80h4i8iQJnAN
Content-Type: multipart/mixed; boundary="------------B86uYWk0kaBTTqUlTFkDSQb8";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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
Message-ID: <ae5b49ba-efb8-44c4-99ed-624bf007de25@suse.com>
Subject: Re: [PATCH 2/6] docs: remove qemu-traditional support from
 documentation
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-3-jgross@suse.com>
 <ee9d3fb9-d3b3-49e1-8a2e-83990a3fc7c5@suse.com>
In-Reply-To: <ee9d3fb9-d3b3-49e1-8a2e-83990a3fc7c5@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=

--------------B86uYWk0kaBTTqUlTFkDSQb8
Content-Type: multipart/mixed; boundary="------------GSS0Wcm0krB1LA3ZlRZrzEtZ"

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

T24gMjcuMDMuMjUgMDg6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNi4wMy4yMDI1
IDE3OjA0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQEAgLTE5MDMsMTAgKzE4OTQsNyBA
QCBpdCBtYXkgYmUgdXNlZnVsIHRvIHJlcXVlc3QgYSBkaWZmZXJlbnQgb25lLCBsaWtlIFVF
RkkuDQo+PiAgIA0KPj4gICA9aXRlbSBCPHJvbWJpb3M+DQo+PiAgIA0KPj4gLUxvYWRzIFJP
TUJJT1MsIGEgMTYtYml0IHg4NiBjb21wYXRpYmxlIEJJT1MuIFRoaXMgaXMgdXNlZCBieSBk
ZWZhdWx0DQo+PiAtd2hlbiBCPGRldmljZV9tb2RlbF92ZXJzaW9uPXFlbXUteGVuLXRyYWRp
dGlvbmFsPi4gVGhpcyBpcyB0aGUgb25seSBCSU9TDQo+PiAtb3B0aW9uIHN1cHBvcnRlZCB3
aGVuIEI8ZGV2aWNlX21vZGVsX3ZlcnNpb249cWVtdS14ZW4tdHJhZGl0aW9uYWw+LiBUaGlz
IGlzDQo+PiAtdGhlIEJJT1MgdXNlZCBieSBhbGwgcHJldmlvdXMgWGVuIHZlcnNpb25zLg0K
Pj4gK0xvYWRzIFJPTUJJT1MsIGEgMTYtYml0IHg4NiBjb21wYXRpYmxlIEJJT1MuDQo+IA0K
PiBJcyB0aGlzIGRvYyAoYW5kIHRoZSBvcHRpb24gaXRzZWxmKSBzdGlsbCB1c2VmdWwgd2l0
aG91dCBxZW11dD8gcWVtdXUgZG9lc24ndA0KPiB1c2UgaXQsIEkgZG9uJ3QgdGhpbms/DQo+
IA0KPj4gQEAgLTc0LDcgKzcxLDYgQEAgb3Y9NC4wDQo+PiAgIEVuc3VyZSByZWZlcmVuY2Vz
IHRvIHFlbXUgdHJlZXMgYW5kIE1pbmktT1MgaW4geGVuLmdpdCdzIENvbmZpZy5tayBhcmUg
dXBkYXRlZC4NCj4+ICAgVGhlIHZhcmlhYmxlcyBhbmQgdGhlcmUgY29udGVudCBzaG91bGQg
YmU6DQo+PiAgICAgKiBRRU1VX1VQU1RSRUFNX1JFVklTSU9OOiBxZW11LXhlbi1YLlkuMA0K
Pj4gLSAgKiBRRU1VX1RSQURJVElPTkFMX1JFVklTSU9OOiB4ZW4tWC5ZLjANCj4+ICAgICAq
IE1JTklPU19VUFNUUkVBTV9SRVZJU0lPTjogeGVuLVJFTEVBU0UtWC5ZLjANCj4+ICAgV2hl
cmUgWC5ZIGlzIHRoZSByZWxlYXNlIHZlcnNpb24gKGUuZy4gNC4xNykuDQo+IA0KPiBFc3Bl
Y2lhbGx5IGZvciB0aGlzIHBpZWNlIG9mIGluZm9ybWF0aW9uIEknbSB1bmNvbnZpbmNlZCBp
dCBjYW4gcGxhdXNpYmx5IGJlDQo+IHJlbW92ZWQgYWhlYWQgb2YgcmVtb3ZpbmcgdGhlIHJl
c3BlY3RpdmUgZGF0YSBmcm9tIENvbmZpZy5tay4NCj4gDQo+PiBAQCAtNTgsNyArNTYsNiBA
QCB0PVJFTEVBU0UtJHINCj4+ICAgDQo+PiAgICogY2hhbmdlIHhlbi11bnN0YWJsZSBDb25m
aWcubWsNCj4+ICAgIyAgIFFFTVVfVVBTVFJFQU1fUkVWSVNJT04sDQo+PiAtIyAgIFFFTVVf
VFJBRElUSU9OQUxfUkVWSVNJT04NCj4+ICAgIyAgIE1JTklPU19VUFNUUkVBTV9SRVZJU0lP
Tg0KPj4gICAjICAgICAoZHJvcCBhbnkgcmVmZXJlbmNlcyB0byB0aGUgc3BlY2lmaWMgY29t
bWl0cywgZS5nLiBkYXRlIG9yIHRpdGxlKQ0KPiANCj4gU2FtZSBoZXJlIHRoZW4uDQoNCkkg
Y2FuIG1vdmUgdGhvc2UgMiBjaGFuZ2VzIHRvIHRoZSBwYXRjaCByZW1vdmluZyB0aGUgZGF0
YSBmcm9tIENvbmZpZy5tay4NCg0KDQpKdWVyZ2VuDQo=
--------------GSS0Wcm0krB1LA3ZlRZrzEtZ
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-----

--------------GSS0Wcm0krB1LA3ZlRZrzEtZ--

--------------B86uYWk0kaBTTqUlTFkDSQb8--

--------------xheZBwW0KZ6N80h4i8iQJnAN
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/Ey8FAmflYvkFAwAAAAAACgkQsN6d1ii/Ey/u
SQf/fFeJfaYdsQOP217Phz6c1PviV0bL+Zf363KKQ75Qj1X5KDuz3qnvzogCWZ5X9UbDwUnMDK/f
oCQqDDyEFXS3+oxoLuKwF44YjOKvqTycGr38j7vT11ZM8/f4hkRKQ75F5QZrqeEpXRMWxCRowAg+
oiujYWdEtoNepH8jE1mdPYYSqR084gpSrFxDpz+it6XvzJd7/1meZfOC9YMy4ZikReW2+tMxwujk
YbE5PZ8K/mT31n4ATtyqZBvBXuTCjlqCBmuBSQTk031LEIgKALDBn3DIXOxn9V29XCtDPe4Y/FAO
skqHGoLg+hBeu0XLHO2rFGYOoPxXD9lm1xQj0urAug==
=T+Wz
-----END PGP SIGNATURE-----

--------------xheZBwW0KZ6N80h4i8iQJnAN--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:40:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:40:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929499.1332204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txoPJ-0003l0-S8; Thu, 27 Mar 2025 14:40:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929499.1332204; Thu, 27 Mar 2025 14:40: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 1txoPJ-0003kt-P0; Thu, 27 Mar 2025 14:40:33 +0000
Received: by outflank-mailman (input) for mailman id 929499;
 Thu, 27 Mar 2025 14:40: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=uRC/=WO=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1txoPI-0003iJ-VW
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:40:32 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f878e56-0b19-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 15:40:32 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 0FB3540E021E; 
 Thu, 27 Mar 2025 14:40:31 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id cX1OtxS0K7NX; Thu, 27 Mar 2025 14:40:27 +0000 (UTC)
Received: from zn.tnic (pd95303ce.dip0.t-ipconnect.de [217.83.3.206])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 2FF3140E0219;
 Thu, 27 Mar 2025 14:40:19 +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: 6f878e56-0b19-11f0-9ea3-5ba50f476ded
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
	reason="fail (body has been altered)" header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1743086427; bh=h8MbRz5rBH42dvnddwtNpMmVgLY72LgYihnwCYpQTCc=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=OS1ZF5bAiyc5aUXa8QKfSKVU7QHSsKNm8UTWq85cO3+VRDP5x6xCXiibaoFfeIHEP
	 DtEtO3yVhY4zbfdWq8TOf2KOgGyfZ4IlNNG412WoJQDWb4F/ZPCjleTkOjZfenUga/
	 nOuafGshXliXeuDSDbjCkzhRUXawBmt0N4Hez4ViBZ937msI7BrpZ4x+0A/ivRxZdM
	 wEE9o/osZ3ABM5OaiOxujngBUBMBA5OMI6s1zQvdtpNQ3X9lqms9lA0Ta/pYBnYw1D
	 DKf1F12uEldWKnxcb51uYg6GZqOcMKeptuX9M6/WOmft6hXs2Qagin0jZcC6F3GJNU
	 jsBPgDN14ODSNAzQaYpP2W/Qyto1dITbbeYT63oy4gEs+QC55BYteGgKWBUrgw1ss5
	 oyA/74FPFI5KF+l46obYdSb1Ik8XTrK+eFb2eKzZmTmUhJ5zGqN+9CszT83rTsLmYt
	 ZGW23glDewsU+vNdSupWdKZsE5Gq+7cxEJf7ubxfjBWL9TQLc3q+NzDGDHwwqAJkFh
	 cCd6UltuXmy0AFav49Ypnw+tQZZoyDx78ixXyPnJXpROAqm/GfOcjlrqajIAMeUIOY
	 AiRsKMAyB4ry9iU1Zv7lCu42NGorGalI16S9dw7KeVSCIb09zBLJkkIRYU8v4F9Cex
	 ftSTZ/NcVeWku3bT25/PhLMI=
Date: Thu, 27 Mar 2025 15:40:12 +0100
From: Borislav Petkov <bp@alien8.de>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>, oe-kbuild-all@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	kernel test robot <lkp@intel.com>, x86-ml <x86@kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [xen-tip:linux-next 12/12] WARNING: modpost: vmlinux: section
 mismatch in reference: mc_debug_data+0x0 (section: .data) ->
 mc_debug_data_early (section: .init.data)
Message-ID: <20250327144012.GAZ-VjTB935oZS3RLa@fat_crate.local>
References: <202407240907.u0NJHgTu-lkp@intel.com>
 <a9b1e875-5bf8-4755-ad2e-78ab2eb02c97@suse.com>
 <fc4b5a0c-19dc-4741-b184-08b704444a1b@suse.com>
 <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
 <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
 <c18a543c-4df2-4744-bf16-e888a832d634@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c18a543c-4df2-4744-bf16-e888a832d634@suse.com>
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 27, 2025 at 03:21:45PM +0100, J=C3=BCrgen Gro=C3=9F wrote:
> Well, that is wasting nearly 3kB of the data section.
>=20
> Maybe not a big deal, but still...

We could do it until the proper fix is in place, no?

3K is meh, especially for the hypervisor kernel, I'd say...

--=20
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 14:49:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 14:49:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929512.1332214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txoY3-0005fh-Mc; Thu, 27 Mar 2025 14:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929512.1332214; Thu, 27 Mar 2025 14:49: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 1txoY3-0005fa-Iw; Thu, 27 Mar 2025 14:49:35 +0000
Received: by outflank-mailman (input) for mailman id 929512;
 Thu, 27 Mar 2025 14:49:33 +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 1txoY1-0005fU-SU
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 14:49:33 +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 1txoY1-00BqFN-0t;
 Thu, 27 Mar 2025 14:49:33 +0000
Received: from [15.248.2.232] (helo=[10.24.66.240])
 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 1txoY1-001oYV-0A;
 Thu, 27 Mar 2025 14:49: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>
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=mIG8unSEZJF49ZqJfHBmX5KZnZ3MEop0BjwSI4pTdfY=; b=S+mxAMeNT3Qrn0gRmPZcWfMCsC
	32PMhcFFd9mxhsRpvpVQ6ElAFhGwJK1QUhrLbaojba9W7Geowe2JX4ybRoHyOJhG74IPmVKU3mE8j
	scJPAaYs9gaylTSSixEmokAczY6v/GOf+NxmIadBJjbPEUemAboFllFKFEWvf83SIVJ4=;
Message-ID: <89043421-49b5-40cc-91c8-f4cd7dd2f6d1@xen.org>
Date: Thu, 27 Mar 2025 14:49:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 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>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/03/2025 13:38, Jan Beulich wrote:
> There's no need for each arch to invoke it directly, and there's no need
> for having a stub either. With the present placement of the calls to
> init_constructors() it can easily be a constructor itself.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Julien Grall <jgrall@amazon.com>

> ---
> Same could then apparently be done for heap_init_late(). Thoughts?

Looking at the code, I couldn't figure out whether any of the 
constructors may rely on some changes done by heap_init_late().

The only issue I can think of is scrubbing. In the case it is 
synchronous, would the memory allocated before hand be scrubbed?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:05:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929532.1332223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txonY-0002MS-2t; Thu, 27 Mar 2025 15:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929532.1332223; Thu, 27 Mar 2025 15:05: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 1txonY-0002ML-0F; Thu, 27 Mar 2025 15:05:36 +0000
Received: by outflank-mailman (input) for mailman id 929532;
 Thu, 27 Mar 2025 15:05: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txonW-0002MD-6r
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:05: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 ee1c77eb-0b1c-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 16:05:33 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3995ff6b066so587157f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 08:05:33 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9a31a7sm19831040f8f.23.2025.03.27.08.05.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 08:05: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: ee1c77eb-0b1c-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743087932; x=1743692732; 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=VIRKwdVRurrs7WTBM2RdGcNH+5YfptL5R6g2udGz7Qk=;
        b=thFFJcRB4ozRzbc0bLCPa+ARiAbF2pfEqQhBEF1ClEsZrptxdSx7ts3in3/weiLUTQ
         H3yTVocoBE6WzEFqOMUQ9VKTtwl9SA5xDabCoK3pkAQRt7tXo9geHlGOO3qUJ877tOPq
         uYa3eHRgnBBGRyjFqx2L6+G0GW6BmSLbVWZkA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743087932; x=1743692732;
        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=VIRKwdVRurrs7WTBM2RdGcNH+5YfptL5R6g2udGz7Qk=;
        b=XO8aLdISO6nos/EyI5LVoH0SGEWrErOh0r8v8yGiW7lJx5EFp9SlJhb/8007UKEylK
         GWoZrQWHt21o9m+7WFmkkzIq5qwqtYx7XkmJbLX7OB7cefCPd1k7ZArPg+J4kksiOvnv
         zIVg55AGczUgamMh5/C4na7avoTAJrCPMZfgjU68gFy9L8NBT2Cpvpr+1BkNL2xqDUg6
         uhwN5naBci6BofHwQuVHbr//Uj1ZZ28zfA8syD+Ve49Ne0Dd4HMEhlKlGfih0h3YAuah
         KiHnDmQQAKaDiAAMIi70dZat2+ldk84MlUPJm+l0mdT+yWLe8b/GwkEI/wRW7waa1DY5
         CRlw==
X-Gm-Message-State: AOJu0YwbON9f8GRrEk26VdP0ho2XV0e/k2G1b/ex8jrbOSdYZdgp9Ja2
	SvXH84Uz485dhDsh670tUjD/X6+QffZ0M3I3MjE5FHdc6DlK1JAUrLbUd30NORM=
X-Gm-Gg: ASbGncst4GlsvWM1hn3tCNQBlp75ElXnSRkw5lu2qgSVDx6G8ZrHayNX79ydTONEK+O
	cRjQ99tVlv6LHYqR//B/QSyznyA6MJ4K5wkv/Uetpes0t5EuMYRzoDAwPkmcDyRrXlCJa1uk7DX
	js6T96bQN0EVz1+h9uwejHoqGwM62XQtypnNi6rqHaLtctitcXgImo+J+5sHs4cVP9eptAUVb28
	MPaVyHJcRwol7hK02nHhKC/mJ9CnHigus2+zLgnUnqavje9qhwvTOCeEiFboCwAo8f81yR/W2aO
	Oc8Tn5NlfDgTKrqBlEllLV1G/583LjPwcY6rIJw1B06RGltM/2nKjUdkTnwFACDitUmVCbKsLYj
	higM8JLZxWQ==
X-Google-Smtp-Source: AGHT+IEwaHx0BivAwqvxevOY35LeI3UM2gV6CUvf0D4KmXBxFV6OYMgwiS/JDe4eDrJeNfH8Wczp5g==
X-Received: by 2002:a5d:5f91:0:b0:38f:4d40:358 with SMTP id ffacd0b85a97d-39ad173f987mr3588337f8f.9.1743087932574;
        Thu, 27 Mar 2025 08:05:32 -0700 (PDT)
Message-ID: <e1d9c8f1-f649-49bd-b2b9-9a873aedd939@citrix.com>
Date: Thu, 27 Mar 2025 15:05:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: constrain AP sync and BSP restore
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <56fbfae0-aac7-4841-ab3c-a7e00dda3744@suse.com>
 <Z-UuG2QW56iSfeFj@macbook.local>
 <47e6ad0b-ca4e-499e-8824-6f2dd525c354@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: <47e6ad0b-ca4e-499e-8824-6f2dd525c354@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/03/2025 11:03 am, Jan Beulich wrote:
> On 27.03.2025 11:53, Roger Pau MonnĂŠ wrote:
>> On Thu, Mar 27, 2025 at 10:54:23AM +0100, Jan Beulich wrote:
>>> mtrr_set_all() has quite a bit of overhead, which is entirely useless
>>> when set_mtrr_state() really does nothing. Furthermore, with
>>> mtrr_state.def_type never initialized from hardware, post_set()'s
>>> unconditional writing of the MSR means would leave us running in UC
>>> mode after the sync.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> --- a/xen/arch/x86/cpu/mtrr/main.c
>>> +++ b/xen/arch/x86/cpu/mtrr/main.c
>>> @@ -605,13 +605,15 @@ void mtrr_aps_sync_begin(void)
>>>  
>>>  void mtrr_aps_sync_end(void)
>>>  {
>>> -	set_mtrr(~0U, 0, 0, 0);
>>> +	if (mtrr_if)
>>> +		set_mtrr(~0U, 0, 0, 0);
>>>  	hold_mtrr_updates_on_aps = 0;
>>>  }
>>>  
>>>  void mtrr_bp_restore(void)
>> Maybe I'm blind, but I cannot find any caller to mtrr_bp_restore()?
>> Am I missing something obvious?
> You don't. It was lost in 4304ff420e51 ("x86/S3: Drop
> {save,restore}_rest_processor_state() completely"), with there being no
> indication in the description that this was actually intentional. Looks like
> another S3 regression we need to fix. Unless you, Andrew, have an explanation
> for this.

Hmm, I don't think I intended to make a change without discussing it.

However, I think I'd concluded that it was redundant with the
mtrr_aps_sync_end() call.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:08:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:08:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929548.1332234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txoqm-0002wg-Im; Thu, 27 Mar 2025 15:08:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929548.1332234; Thu, 27 Mar 2025 15:08: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 1txoqm-0002wZ-Ee; Thu, 27 Mar 2025 15:08:56 +0000
Received: by outflank-mailman (input) for mailman id 929548;
 Thu, 27 Mar 2025 15:08: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txoql-0002wT-Qs
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:08:55 +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 6602ccca-0b1d-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 16:08:54 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso890267f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 08:08: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
 5b1f17b1804b1-43d82dedde6sm40732165e9.5.2025.03.27.08.08.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 08:08: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: 6602ccca-0b1d-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743088134; x=1743692934; 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=xoi4q6ojIHG2wXB3EUgXjgE88BGltWN/JC8dV5kBNj4=;
        b=SqLGNjpWirO6K+cSTO8x9SR+K5I7p8joprlQlcUkXotZZmIVxFs/7QX/0jWwShdXGu
         saE6ryMPvzd7LSxeRY9UTbH+QuydxMWVveuTAY+ZNmUvyjsgTzinL3HJCqz71c2zjbUl
         qHtQrijrwVtVF46EFA5DT+PLbK3XTm+fsimdW6W93QtBZhLmoe3I5q0I5bVx/GCwKJts
         cFyogf+vr5rlFRiVIfRw6HPr/2h+5MwZqadldmMRJl/lG6KiiAiO/h540kTaysrG11fQ
         dda3V6vx6yqN45Cm8ipQ+tvHAHTtDMJoV9QmnQYUpFqnOMf3b/4qo0glOhxVc0z8ly2G
         jwTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743088134; x=1743692934;
        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=xoi4q6ojIHG2wXB3EUgXjgE88BGltWN/JC8dV5kBNj4=;
        b=GoVk+3YCoB3lgPpadH6J9azTNeeBoik9HMQdRFEOF/c7zznidXUqssAZAz+PUpWkl9
         fogZqfPxCROnzRoW3uLTpO62QHzYtiQg6UkrmeC0t56AzJ9ljG3cfatFtRLdETNFi9GY
         5vLLGJlfHklpT0Er7NW89olWYdhGJW2TZbQ8czx5Om3p5CyRNUQoh3EeCalIYVJjQ/fB
         StrsCjS211/Z6FrtSyIoh+vmSkI8pYtJNAkQjyUaFOyNIZxiSeq8Gm3vJTZMp2oQ4kyj
         vYt13laImcgn9Ip0Qu3WlnNBsTmxg3fCJ/QViOr9IvrLOfBD/T5lfbdQ7otWE98vFBVY
         NAWA==
X-Forwarded-Encrypted: i=1; AJvYcCVluWvF1RVUCfZlEm0ZD9iyNva8KF/1ZvGW0zeS8cJwUxkj9NhZJJK+VCZRxpLEYMnqG1cnVjCg7uw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxsHCGX56Acx1s6WAKbhIC8NWfWKwhddwXKw73YwB3gQ/5Y8i9e
	1CljUXIaLQAoBcE7TuvHAwDHyBzqLDwDxgxRvKmneGo5jPGSNs0iO014T3TCLw==
X-Gm-Gg: ASbGncttsXdUT+bRD1c4EHVqsIBZSKvUIl+jbzr39wUd8zT6moODZNazKwtQf4aIMUM
	NlV6nkbj3q4ZgWE76ZKehsfsdI8Cyu5hrJ0ItUxEQxzPlmDLtzuQtOv+eOY9jNXthZ8Uz0MRItt
	yZXp1vtboj1QgVXL03PSW0e13FOqUlRMtrWJ9PoUxkHzhrm58T0ZRLbQIqOp+AENj6SJActvNHH
	ONqvGghBN5utO1UvwNIgT3+y1IxAH+h01R6yGAsv2AjH2sk8CpGZ8dLvG5A1NDYMqhPy7zyBxX4
	+rimib3e/iELuI6vB+PYWGixu3JZftldejKOfge7sYG7OTsgRplp8Ta2SpJRwJU4kThuy9Udh7E
	j9xQrHMpdHZOxiW0rQ2YWOcMfAmLG0+ViKjKWgzcU
X-Google-Smtp-Source: AGHT+IFe89gEnPeHi+2b+9PqhGDSn6j/MVltmycwi40CKYPexZXuAPx7mLXTzGOrX1CAGVMC11Vl8A==
X-Received: by 2002:a05:6000:1866:b0:390:f902:f961 with SMTP id ffacd0b85a97d-39ad1773b94mr3442416f8f.45.1743088133586;
        Thu, 27 Mar 2025 08:08:53 -0700 (PDT)
Message-ID: <87f63516-f9a3-46cc-80a7-1eb614c1f818@suse.com>
Date: Thu, 27 Mar 2025 16:08:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <89043421-49b5-40cc-91c8-f4cd7dd2f6d1@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: <89043421-49b5-40cc-91c8-f4cd7dd2f6d1@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 15:49, Julien Grall wrote:
> On 13/03/2025 13:38, Jan Beulich wrote:
>> There's no need for each arch to invoke it directly, and there's no need
>> for having a stub either. With the present placement of the calls to
>> init_constructors() it can easily be a constructor itself.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

Thanks.

>> ---
>> Same could then apparently be done for heap_init_late(). Thoughts?
> 
> Looking at the code, I couldn't figure out whether any of the 
> constructors may rely on some changes done by heap_init_late().
> 
> The only issue I can think of is scrubbing. In the case it is 
> synchronous, would the memory allocated before hand be scrubbed?

Memory that is allocated can't possibly be scrubbed; only memory that's
still un-allocated can be. With that I fear I don't properly understand
the question you raise.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:15:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929570.1332296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txowv-0006Du-OJ; Thu, 27 Mar 2025 15:15:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929570.1332296; Thu, 27 Mar 2025 15:15: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 1txowv-0006Dn-KE; Thu, 27 Mar 2025 15:15:17 +0000
Received: by outflank-mailman (input) for mailman id 929570;
 Thu, 27 Mar 2025 15:15: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=zm5l=WO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txowt-0006Dh-Ot
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:15:15 +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 4827b8c2-0b1e-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 16:15:13 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5eb92df4fcbso1962043a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 08:15:13 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac71961f286sm5560266b.89.2025.03.27.08.15.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 08:15: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: 4827b8c2-0b1e-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743088513; x=1743693313; 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=GkNJZHek8XfuitHyBly5Gsm9APU+n6nuuPG6ntgzBCg=;
        b=Kod4fvpsovwKOU2V1X5nbKeCgDZ33beBfpFj3RfQCFxZkZswweOIN5IXgbU7WecW9y
         8k/WM7k6tDzixQtVqgIGDvdmdQaa1SbhS9YSJGK9fNMJt6hSCVac3F97hfp5YKNGkS0P
         3UUEU97BDmJ2mwhyP/4JZuDYynNVZVXFxY/cIGMykN2siV1+t6mlv7iT5zrH2jaHuMwA
         39xx4K3u9LDNH4R/2pF015+yGLf0z3TGjex2U42JX8sen573JRgu4PMveeC6r+6rWIvs
         +yUPLw2Fy7Zd1OJwjW3zeFXKXw1rZtkW/Qg6wEwUiO7j6OFIZwxbPaIvb0AmQboPSgdV
         nyKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743088513; x=1743693313;
        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=GkNJZHek8XfuitHyBly5Gsm9APU+n6nuuPG6ntgzBCg=;
        b=I3AxFc/+fn78eiXWBkSHXVSJvH7fXy6Or5ySTVb9a0iYqtDNlCIjelcvHzjSH1jCgp
         a7jI0slGzMddBOsLU0fH6HzLw6WM/odpvYl6h5dqS8j5SF6CSpOPzj/qjbVO59NIvf9i
         QjJo8t/Wy3gKIxb87LyrsaAjZx/4GY62aH66x0avxvQrFgjeMKLsKBqTxMpyr1UQ8i6x
         yWl7s8XbkCC12YB8vQLMUeN3IKryZoMJPvPFCliAoqsxxs0zlT+PqTQYvxwCegO0SS/e
         8aEPc0lOhbnSySzngeosW1un6IGR8AwVRXZwsAw7Mo2IsWcfF+ZjEzA928DPv1PBHob2
         F0mA==
X-Forwarded-Encrypted: i=1; AJvYcCXnN7riJRvg6G8teWnm3qo/6oFXbz7UqCb/FLgZ6bbZdpLdOpOkdmGY+tSzIAg860jSiGcszMwMw9k=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxl7LXGZiS1L4QkGKxoUjxUFOvQvqMF2lbHbDpU2nTQ8/o8vaF6
	EeeMatgAGbE34Tes9RrkigrH70qLr2tMBCxSjnUT+jY8294TKVktkfvIXpdPV+M=
X-Gm-Gg: ASbGncuaFk2CRNlZ9sFTC/y9HXQ5+R7m72oxFnMoTNGVWslTK5/qgQmM07avRGGFPI4
	kRXBDaCBVOK0fF6evEuz4MTlJgQfhWVfPaGaShz8vQoq4ukH2cj1hbq6T1ftvFb0gqidn0XHU21
	lyCbU5p/UiqcaPWLTuHmu7/ma0ByRXHk5aWCaghWtm0wCekqHYozqwGj57GAa05bwda+MozaN06
	1DMSBW2DQnncpTIrJ5vc6z9MdyGrck+dNTbg/wX8ttDa/zhK8tIAheuxpbdE066v3jMjV/9WEmd
	V7FKfaOZkdLRas8NkfMu9UpMloKuniRG/tsgr+NChsaayKxPpWgr7OPt2shAMVwZiJmq4btQw40
	ZbQ62M0MuHkVueTx/YoPaOmJNR6hY4+IiImXu5PIWYuQ9q3EvIpwN9kUOazQzDZlXitQulg==
X-Google-Smtp-Source: AGHT+IEkApm8yNidspVYstugFwOO9NlyiSTzbGVe3MbYuI7J03VXQZ4Nnik9aaMIefkw4gN+zzpXIw==
X-Received: by 2002:a17:907:6e90:b0:ac2:b1e2:4b85 with SMTP id a640c23a62f3a-ac6fae493e7mr364118266b.3.1743088512943;
        Thu, 27 Mar 2025 08:15:12 -0700 (PDT)
Message-ID: <a8d89245-bcd2-41a7-9543-e517766900ba@suse.com>
Date: Thu, 27 Mar 2025 16:15:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen-tip:linux-next 12/12] WARNING: modpost: vmlinux: section
 mismatch in reference: mc_debug_data+0x0 (section: .data) ->
 mc_debug_data_early (section: .init.data)
To: Borislav Petkov <bp@alien8.de>
Cc: Jan Beulich <jbeulich@suse.com>, oe-kbuild-all@lists.linux.dev,
 xen-devel@lists.xenproject.org, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, kernel test robot <lkp@intel.com>,
 x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
References: <202407240907.u0NJHgTu-lkp@intel.com>
 <a9b1e875-5bf8-4755-ad2e-78ab2eb02c97@suse.com>
 <fc4b5a0c-19dc-4741-b184-08b704444a1b@suse.com>
 <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
 <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
 <c18a543c-4df2-4744-bf16-e888a832d634@suse.com>
 <20250327144012.GAZ-VjTB935oZS3RLa@fat_crate.local>
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: <20250327144012.GAZ-VjTB935oZS3RLa@fat_crate.local>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------WyB9pPa1dFirzbUVCW9ii3ZB"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------WyB9pPa1dFirzbUVCW9ii3ZB
Content-Type: multipart/mixed; boundary="------------CJ0lw75FPtPlDZ9wPApckARh";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Jan Beulich <jbeulich@suse.com>, oe-kbuild-all@lists.linux.dev,
 xen-devel@lists.xenproject.org, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, kernel test robot <lkp@intel.com>,
 x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Message-ID: <a8d89245-bcd2-41a7-9543-e517766900ba@suse.com>
Subject: Re: [xen-tip:linux-next 12/12] WARNING: modpost: vmlinux: section
 mismatch in reference: mc_debug_data+0x0 (section: .data) ->
 mc_debug_data_early (section: .init.data)
References: <202407240907.u0NJHgTu-lkp@intel.com>
 <a9b1e875-5bf8-4755-ad2e-78ab2eb02c97@suse.com>
 <fc4b5a0c-19dc-4741-b184-08b704444a1b@suse.com>
 <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
 <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
 <c18a543c-4df2-4744-bf16-e888a832d634@suse.com>
 <20250327144012.GAZ-VjTB935oZS3RLa@fat_crate.local>
In-Reply-To: <20250327144012.GAZ-VjTB935oZS3RLa@fat_crate.local>
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=

--------------CJ0lw75FPtPlDZ9wPApckARh
Content-Type: multipart/mixed; boundary="------------aWqa902aUtSH0VQhJrurSVcc"

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

T24gMjcuMDMuMjUgMTU6NDAsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToNCj4gT24gVGh1LCBN
YXIgMjcsIDIwMjUgYXQgMDM6MjE6NDVQTSArMDEwMCwgSsO8cmdlbiBHcm/DnyB3cm90ZToN
Cj4+IFdlbGwsIHRoYXQgaXMgd2FzdGluZyBuZWFybHkgM2tCIG9mIHRoZSBkYXRhIHNlY3Rp
b24uDQo+Pg0KPj4gTWF5YmUgbm90IGEgYmlnIGRlYWwsIGJ1dCBzdGlsbC4uLg0KPiANCj4g
V2UgY291bGQgZG8gaXQgdW50aWwgdGhlIHByb3BlciBmaXggaXMgaW4gcGxhY2UsIG5vPw0K
PiANCj4gM0sgaXMgbWVoLCBlc3BlY2lhbGx5IGZvciB0aGUgaHlwZXJ2aXNvciBrZXJuZWws
IEknZCBzYXkuLi4NCj4gDQoNClllYWgsIHRoYXQgd2FzIG15IHRoaW5raW5nLg0KDQpBbm90
aGVyIGFwcHJvYWNoIGNvdWxkIGJlIHRvIGhhdmU6DQoNCi1zdGF0aWMgREVGSU5FX1BFUl9D
UFUoc3RydWN0IG1jX2RlYnVnX2RhdGEgKiwgbWNfZGVidWdfZGF0YSkgPQ0KLQkmbWNfZGVi
dWdfZGF0YV9lYXJseTsNCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IG1jX2RlYnVn
X2RhdGEgKiwgbWNfZGVidWdfZGF0YSk7DQoNCmFuZCB0byB1c2UgYW4gaW5saW5lIGFjY2Vz
cyBmdW5jdGlvbiByZXR1cm5pbmcgJm1jX2RlYnVnX2RhdGFfZWFybHkNCmlmIHRoZSBwZXJj
cHUgdmFyaWFibGUgaXMgTlVMTC4gVGhpcyBhY2Nlc3MgZnVuY3Rpb24gY291bGQgYmUgX19y
ZWYuDQoNCkl0IGlzIGEgZGVidWcgZmVhdHVyZSBhZnRlciBhbGwsIHNvIGhhdmluZyBhIGZl
dyBhZGRpdGlvbmFsIGluc3RydWN0aW9ucw0KaXNuJ3QgdGhlIGVuZCBvZiB0aGUgd29ybGQu
DQoNCg0KSnVlcmdlbg0K
--------------aWqa902aUtSH0VQhJrurSVcc
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-----

--------------aWqa902aUtSH0VQhJrurSVcc--

--------------CJ0lw75FPtPlDZ9wPApckARh--

--------------WyB9pPa1dFirzbUVCW9ii3ZB
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/Ey8FAmfla38FAwAAAAAACgkQsN6d1ii/Ey/8
XQf/VuZDki7mxoyRcTTEftF2yQZvJFGeGNCsPhZBVyVnNq7DscBOp09xfEq5yiC/ih+m1seLDvRe
JS+hJrnY2dgS9/JL8v3dAyFLlkHJ90Up6H+u5prm3wk51xgxFdjpMs8OM0+KGcK+UWC6WQQ7HsrX
v/AEeR+RcW1Oc0dAjINOZkoNr10g4uUqNJnfDgIB+9Bo2RifLxGwCZG3XFx2fudd/g3WliJYBWNv
OW2FkJkE+lp84XXYkpzrq766XtjGnnk8PM6vgV/pf09ZZesTki4LenfRM9U3wVm5/4F1ZugNUMVN
BT/P9gWSLjJxHR2pUiiAT0TQxcDAHogdBKBs0cAzDw==
=9ibx
-----END PGP SIGNATURE-----

--------------WyB9pPa1dFirzbUVCW9ii3ZB--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:23:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929586.1332306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txp55-0000cH-Jz; Thu, 27 Mar 2025 15:23:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929586.1332306; Thu, 27 Mar 2025 15:23: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 1txp55-0000cA-H1; Thu, 27 Mar 2025 15:23:43 +0000
Received: by outflank-mailman (input) for mailman id 929586;
 Thu, 27 Mar 2025 15:23: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txp54-0000c3-CW
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:23:42 +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 7431a17e-0b1f-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 16:23:37 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43d0c18e84eso5370935e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 08:23:37 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314b5e7sm41768375e9.35.2025.03.27.08.23.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 08:23: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: 7431a17e-0b1f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743089016; x=1743693816; 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=5Wzg1QO9xJCKSw04ScSywziBMjOIS249aE70xJIxHsY=;
        b=QB0yhRgsap9F0HLr1p7eXelO39tObNGMUNasTzz5NGXQdwd4+R/ocArHHASqpCnR9/
         QcTOvA6nv0KRLUBFZS1USFUBOgitOBE/dTpYCKavZdxR8k5ktJgmcYu+DRJ1VSnAyc8G
         jOjmmmOoG+8C/Xm9NKYHqDzbrCm7bvi/MQtWc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743089016; x=1743693816;
        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=5Wzg1QO9xJCKSw04ScSywziBMjOIS249aE70xJIxHsY=;
        b=CFibOC9uj9RS5WeC8uFwU/CzCWvhALASDxz9z+K1/8EsevccyTaKhTG2Z0qD2Dq/8/
         iUHpbK8XSbaEpXaEbZgA+Ttt477mz1ASJM1bbKsLA7ywqb/Ww+Jg3PEFax8SOcQfFajw
         MXiARWo6JmIFqgatGjQ6OLPt+xyjX8GQ6IQ0AggD4uJ8iwA9seRmY0ZX5JZPVLAExhQA
         acQdM1G0ZKvF25BvOE5WRcAw6w9RZTOtD3BcF41OcMOdEYtE0a1+EeWCeL8rtLK3A+Pa
         Qb5h31EiGtRxxOK/ClCh2FPd1dFhEB0FNbslGKiawEo3ZwGzMuHegRxJJ5KwUU2/0iZQ
         rUbA==
X-Gm-Message-State: AOJu0YzpD/tOigDlkhc/7T0jkf6ehJYIiPqXkt/RrfPQ45Kz1fGMyDlP
	ClFNaznUZxTyKQY6GgP+LLrymn9L0+GeMdm6hdOtuilDUR0H55ZUoAveDSac8Kg=
X-Gm-Gg: ASbGncswHeLpzmNk85m18j919yHRowdEqo8WlD4rh6rNaZBgSsyig7DfaK8UdPRsqxy
	OSh/6/B7IUGI+kx8epZq6STSYIAYj34YA4qNZAN7qJGuh2mPMwYg3Bd/yfz20+FoIWahevTnulq
	KMU26kZxeuDPACIXQpNumCs5WNcAQAPWumW2ZyyZblk95MVIY/x+iarv3RAqWzWDsSJEvkd9G2u
	4JmGMAMEyjpPIOmuJVruDFse4yxZku8nuKU2wOi/KRz3jQZ6dugK16fxWC0bdPQNMIgth+cjgs3
	el7YQM2q3zRyMD+y9iFyj5wWdSAdnDF1A7LhpIPV1GqN2FYSEjNnL0oj+76sji737cVjXRZhJdF
	4rcfCRxGmiTRxDgqiPeoT
X-Google-Smtp-Source: AGHT+IHdAEK7mB2NbmFAGUNYjEr2NSPrAGhKkw861lk2QYQlCOkW8vP9EsttRZ8+C8ReTeQYFPDaeA==
X-Received: by 2002:a05:600c:1d16:b0:43d:54a:221c with SMTP id 5b1f17b1804b1-43d84fcea9emr43150295e9.18.1743089016496;
        Thu, 27 Mar 2025 08:23:36 -0700 (PDT)
Message-ID: <7bf76e95-5681-45f3-958e-4bd8ed74f790@citrix.com>
Date: Thu, 27 Mar 2025 15:23:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
 <Z-U4ozL6p-Unh5Y8@macbook.local>
 <fde64904-343b-48c9-b396-961811cc2adb@suse.com>
 <Z-VJBIbQal-jZAGM@macbook.local>
 <f5669417-43f3-4c63-bb7d-a108f13757cb@suse.com>
 <Z-VcXGhlObVZYhoc@macbook.local>
 <ca0fb29a-96e8-489e-b109-76a684621d18@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: <ca0fb29a-96e8-489e-b109-76a684621d18@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/03/2025 2:20 pm, Jan Beulich wrote:
> On 27.03.2025 15:10, Roger Pau MonnĂŠ wrote:
>> On Thu, Mar 27, 2025 at 02:28:42PM +0100, Jan Beulich wrote:
>>> On 27.03.2025 13:48, Roger Pau MonnĂŠ wrote:
>>>> On Thu, Mar 27, 2025 at 01:30:44PM +0100, Jan Beulich wrote:
>>>>> On 27.03.2025 12:38, Roger Pau MonnĂŠ wrote:
>>>>>> On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
>>>>>>> Unlike stated in the offending commit's description,
>>>>>>> load_system_tables() wasn't the only thing left to retain from the
>>>>>>> earlier restore_rest_processor_state().
>>>>>>>
>>>>>>> While there also do Misra-related tidying for the function itself: The
>>>>>>> function being used from assembly only means it doesn't need to have a
>>>>>>> declaration, but wants to be asmlinkage.
>>>>>> I wonder, maybe the intention was for the MTRR restoring on the BSP to
>>>>>> also be done by the mtrr_aps_sync_end() call in enter_state()?
>>>>>>
>>>>>> AFAICT that will set the MTRRs uniformly on all CPUs, by calling
>>>>>> mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
>>>>>> process.
>>>>> Hmm, yes, that's possible. The comment in set_mtrr() is somewhat misleading
>>>>> then, though, as for the BP the writing then isn't just "okay" but necessary.
>>>>> Question is whether doing this so much later is actually good enough.
>>>> Hm, no idea really.  We do the device restore ahead of the MTRR
>>>> restore, so I wonder whether we could have issues by using unexpected
>>>> effective cache attributes for device memory accesses as a result of
>>>> MTRRs not being initialized?
>>> That's just one of the possible problems. The father the MTRRs we run with
>>> diverged from what firmware puts in place, the bigger the possible trouble.
>>> I think the restoring better is done as being switched to here again. The
>>> absence of any discussion of MTRRs in that earlier change leaves me pretty
>>> certain that the behavioral change there wasn't intended. Andrew is usually
>>> pretty good at spelling out all intended effects.
>> No objection, however for the BSP we now end up restoring the MTRRs
>> twice, as we will also do it in mtrr_aps_sync_end().
>>
>> Might be worth to mention in the commit message that the MTRR state
>> was restored in mtrr_aps_sync_end() for the BSP also, but that it
>> might be too late.
> I've added "Note that MTRR state was still reloaded via mtrr_aps_sync_end(),
> but that happens quite a bit later in the resume process."

Ah yes, you got here too.

Yes, I think I simply missed this part of the discussion from the commit
message.

The MTRR logic is a giant tangle, and lost of it (I'm pretty sure) is
only relevant for early 32bit days.Â  Also since then, I expect firmware
has gotten better, considering that S3 is ubiquitous on laptops nowadays.

I expect that we don't need to change MTRRs in most cases.Â  However, if
change to the MTRRs actually need to happen, then they probably want
doing as part of the AP boot, rather than in a rendezvous later.Â  That
said, it would be a difference between the normal boot and S3 resume paths.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:25:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:25:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929596.1332316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txp6X-00019J-Sq; Thu, 27 Mar 2025 15:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929596.1332316; Thu, 27 Mar 2025 15: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 1txp6X-00019C-Py; Thu, 27 Mar 2025 15:25:13 +0000
Received: by outflank-mailman (input) for mailman id 929596;
 Thu, 27 Mar 2025 15:25: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=uRC/=WO=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1txp6X-000195-3j
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:25:13 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id acbda309-0b1f-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 16:25:11 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 7EAB940E020E; 
 Thu, 27 Mar 2025 15:25:10 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id JeFNwVv-fup3; Thu, 27 Mar 2025 15:25:04 +0000 (UTC)
Received: from zn.tnic (pd95303ce.dip0.t-ipconnect.de [217.83.3.206])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 3590640E0196;
 Thu, 27 Mar 2025 15:24: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: acbda309-0b1f-11f0-9ea3-5ba50f476ded
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
	reason="fail (body has been altered)" header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1743089104; bh=wGnlROgyGgurqdBWFkVmiRwxfSkAJYoBeiFrf8GXveo=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=NjtcA7gnCI4i9vNqxJh4hTOZ/yRzP8OPDi7hN3oxrEGPtVhc2qMj+i799tytEEWvv
	 heR1uc1R6sgpoesr//f6qPwfLKPE45WybNCWY0NonQrH1wI0z0f8IIm9qErGJ0QZ4D
	 +W5Al41M7i9dmnXaN496a5cQUMl0/+L9ufizFDnFq0+kk8tloeYRNjOg2rgTwLgUhs
	 6r8JxgG/tL9pC04JD/zlzWHstSyPzcLQx8qp9raQGYvGiO5EM3e9pPsrTbZwh5wfCT
	 7CJEbPA757z/Y8QeTT/HDE/cUftHSb1OxeNBXCt7XvAhRHV7ZYbqYIHbYq+tHyRK5I
	 nkiCwo5VBphExmt6fpSLnY06pjXwtXxVYNOENpTWTZ20pT/dSl1Jj0BtJXvvEQapVe
	 INEiBztQaKiy8Ckut6wykWVtntwwp8r8dW9Z+SLhi15R6wYN4JojfAF83d9k6qVC/h
	 WvEG0a4kpoasWk0qU3qvLSt9sIQlYEBtJBflBtNcsSUYi20LVd1op885MdoiUzYoRw
	 +v+jbQAcIqzvrXJtDDlahl93tIaySBz5wrYF0a3ys562RcxobLr8AJuuS+glnKvG9y
	 XeDRgEWblv47INcBMH3OKWxrdjYYU/9pcEolH1dtoiaFCW20CYegtmycX+yvk6I1mD
	 SgCCIIcYIx/3u0yfJL9rptG0=
Date: Thu, 27 Mar 2025 16:24:50 +0100
From: Borislav Petkov <bp@alien8.de>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>, oe-kbuild-all@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	kernel test robot <lkp@intel.com>, x86-ml <x86@kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [xen-tip:linux-next 12/12] WARNING: modpost: vmlinux: section
 mismatch in reference: mc_debug_data+0x0 (section: .data) ->
 mc_debug_data_early (section: .init.data)
Message-ID: <20250327152450.GBZ-VtwmD3altwx_rI@fat_crate.local>
References: <202407240907.u0NJHgTu-lkp@intel.com>
 <a9b1e875-5bf8-4755-ad2e-78ab2eb02c97@suse.com>
 <fc4b5a0c-19dc-4741-b184-08b704444a1b@suse.com>
 <3a847f18-750f-4bd2-9cac-37c4b9bdc84b@suse.com>
 <20250327141316.GBZ-Vc_NybN1cIEePu@fat_crate.local>
 <c18a543c-4df2-4744-bf16-e888a832d634@suse.com>
 <20250327144012.GAZ-VjTB935oZS3RLa@fat_crate.local>
 <a8d89245-bcd2-41a7-9543-e517766900ba@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a8d89245-bcd2-41a7-9543-e517766900ba@suse.com>
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 27, 2025 at 04:15:11PM +0100, J=C3=BCrgen Gro=C3=9F wrote:
> Another approach could be to have:
>=20
> -static DEFINE_PER_CPU(struct mc_debug_data *, mc_debug_data) =3D
> -	&mc_debug_data_early;
> +static DEFINE_PER_CPU(struct mc_debug_data *, mc_debug_data);
>=20
> and to use an inline access function returning &mc_debug_data_early
> if the percpu variable is NULL. This access function could be __ref.
>=20
> It is a debug feature after all, so having a few additional instruction=
s
> isn't the end of the world.

Yap, makes sense to me too.

Thx.

--=20
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:25:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:25:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929602.1332326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txp6x-0001cv-4r; Thu, 27 Mar 2025 15:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929602.1332326; Thu, 27 Mar 2025 15:25: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 1txp6x-0001co-1C; Thu, 27 Mar 2025 15:25:39 +0000
Received: by outflank-mailman (input) for mailman id 929602;
 Thu, 27 Mar 2025 15: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=zm5l=WO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txp6v-000195-Ki
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:25:37 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb92f603-0b1f-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 16:25:37 +0100 (CET)
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 49B9F21197;
 Thu, 27 Mar 2025 15:25:36 +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 E1CEC1376E;
 Thu, 27 Mar 2025 15:25:35 +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 QmWCNe9t5WeNdAAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 27 Mar 2025 15:25: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: bb92f603-0b1f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743089136; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=pPjcfSXVJZehR4/GRQTCqd5hdK2TMKw94ZGdzg7bhYY=;
	b=OQ3t7rnxfMDqClysHLVou163FdD/RFD6eAYqT/GkmPJdd1QgPnl6tir9hITif6eFzcY5K0
	6CFk/Q8H3Srulbla8Xyas+nSbEe9illn3akkapq5KTznuFHmP02Kdo8WKHJ8DIakeZhx3e
	yU/6JgwZhp1P2r3tamSw9g0n+Vuv8D8=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=OQ3t7rnx
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743089136; h=from:from:reply-to: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:autocrypt:autocrypt;
	bh=pPjcfSXVJZehR4/GRQTCqd5hdK2TMKw94ZGdzg7bhYY=;
	b=OQ3t7rnxfMDqClysHLVou163FdD/RFD6eAYqT/GkmPJdd1QgPnl6tir9hITif6eFzcY5K0
	6CFk/Q8H3Srulbla8Xyas+nSbEe9illn3akkapq5KTznuFHmP02Kdo8WKHJ8DIakeZhx3e
	yU/6JgwZhp1P2r3tamSw9g0n+Vuv8D8=
Message-ID: <0db5c039-f379-4393-b00f-c4cd44188a9b@suse.com>
Date: Thu, 27 Mar 2025 16:25:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] SUPPORT.md: make Linux based stubdom fully supported
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-2-jgross@suse.com>
Content-Language: en-US
From: Juergen Gross <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: <20250326160442.19706-2-jgross@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------9tcT5M3isdTcCIokRph0XsZE"
X-Rspamd-Queue-Id: 49B9F21197
X-Spam-Score: -3.89
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.89 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	SUSPICIOUS_RECIPS(1.50)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.18)[-0.877];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	MID_RHS_MATCH_FROM(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_CC(0.00)[gmail.com,xenproject.org,citrix.com,vates.tech,amd.com,suse.com,xen.org,kernel.org];
	RCPT_COUNT_SEVEN(0.00)[10];
	TAGGED_RCPT(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------9tcT5M3isdTcCIokRph0XsZE
Content-Type: multipart/mixed; boundary="------------pLfDEUwZEZwWA3aI840UR0Wb";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <0db5c039-f379-4393-b00f-c4cd44188a9b@suse.com>
Subject: Re: [PATCH 1/6] SUPPORT.md: make Linux based stubdom fully supported
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-2-jgross@suse.com>
In-Reply-To: <20250326160442.19706-2-jgross@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=

--------------pLfDEUwZEZwWA3aI840UR0Wb
Content-Type: multipart/mixed; boundary="------------veEN5b6xq7pNfIAWf0qc2BeO"

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

T24gMjYuMDMuMjUgMTc6MDQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IEFsbCBwYXRjaGVz
IG5lZWRlZCBmb3IgcnVubmluZyB3aXRoIGEgTGludXggc3R1YmRvbSBkZXZpY2UgbW9kZWwg
YXJlDQo+IGluIHRoZSB0cmVlIGFuZCBRdWJlc09TIGlzIHVzaW5nIGFuZCB0ZXN0aW5nIExp
bnV4IHN0dWJkb21zIG5vd2FkYXlzLg0KPiANCj4gU3dpdGNoIHN1cHBvcnQgZnJvbSAiVGVj
aCBQcmV2aWV3IiB0byAiU3VwcG9ydGVkIi4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEp1ZXJn
ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gLS0tDQo+ICAgQ0hBTkdFTE9HLm1kIHwg
MSArDQo+ICAgU1VQUE9SVC5tZCAgIHwgMiArLQ0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgMiBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvQ0hBTkdF
TE9HLm1kIGIvQ0hBTkdFTE9HLm1kDQo+IGluZGV4IDlhNTkxOTU4NWQuLmIwM2UyYzczZDcg
MTAwNjQ0DQo+IC0tLSBhL0NIQU5HRUxPRy5tZA0KPiArKysgYi9DSEFOR0VMT0cubWQNCj4g
QEAgLTcsNiArNyw3IEBAIFRoZSBmb3JtYXQgaXMgYmFzZWQgb24gW0tlZXAgYSBDaGFuZ2Vs
b2ddKGh0dHBzOi8va2VlcGFjaGFuZ2Vsb2cuY29tL2VuLzEuMC4wLykNCj4gICAjIyBbNC4y
MS4wIFVOUkVMRUFTRURdKGh0dHBzOi8veGVuYml0cy54ZW5wcm9qZWN0Lm9yZy9naXR3ZWIv
P3A9eGVuLmdpdDthPXNob3J0bG9nO2g9c3RhZ2luZykgLSBUQkQNCj4gICANCj4gICAjIyMg
Q2hhbmdlZA0KPiArIC0gTGludXggYmFzZWQgZGV2aWNlIG1vZGVsIHN0dWJkb21haW5zIGFy
ZSBub3cgZnVsbHkgc3VwcG9ydGVkLg0KPiAgIA0KPiAgICMjIyBBZGRlZA0KPiAgICAtIE9u
IHg4NjoNCj4gZGlmZiAtLWdpdCBhL1NVUFBPUlQubWQgYi9TVVBQT1JULm1kDQo+IGluZGV4
IDkxY2I2ZjhlZDIuLmVkNDQxMmYwYWYgMTAwNjQ0DQo+IC0tLSBhL1NVUFBPUlQubWQNCj4g
KysrIGIvU1VQUE9SVC5tZA0KPiBAQCAtMjYwLDcgKzI2MCw3IEBAIEdvIChnb2xhbmcpIGJp
bmRpbmdzIGZvciBsaWJ4bA0KPiAgIA0KPiAgIFN1cHBvcnQgZm9yIHJ1bm5pbmcgcWVtdS14
ZW4gZGV2aWNlIG1vZGVsIGluIGEgbGludXggc3R1YmRvbWFpbi4NCj4gICANCj4gLSAgICBT
dGF0dXM6IFRlY2ggUHJldmlldw0KPiArICAgIFN0YXR1czogU3VwcG9ydGVkDQoNClRoZSBz
dGF0dXMgY2hhbmdlIHdhcyBkaXNjdXNzZWQgaW4gdGhlIHNlY3VyaXR5IHRlYW0uIFRoZSBz
dWdnZXN0aW9uIHdhcw0KdGhhdCB0aGUgbmV3IHN1cHBvcnQgc3RhdGUgc2hvdWxkIGJlICJT
dXBwb3J0ZWQsIHdpdGggY2F2ZWF0cyIsIGNsYXJpZnlpbmcNCnRoYXQgYW55IGlzc3VlIGlu
IHRoZSBzdHViZG9tYWluIGFmZmVjdGluZyBvbmx5IHRoZSBndWVzdCBpdCBpcyBzZXJ2aWNp
bmcNCndvdWxkIG5vdCBiZSByZWdyYWRlZCB0byBiZSBhIHNlY3VyaXR5IGlzc3VlLg0KDQpJ
J2xsIGNoYW5nZSB0aGUgcGF0Y2ggYWNjb3JkaW5nbHkuDQoNCg0KSnVlcmdlbg0K
--------------veEN5b6xq7pNfIAWf0qc2BeO
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-----

--------------veEN5b6xq7pNfIAWf0qc2BeO--

--------------pLfDEUwZEZwWA3aI840UR0Wb--

--------------9tcT5M3isdTcCIokRph0XsZE
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/Ey8FAmflbe8FAwAAAAAACgkQsN6d1ii/Ey9L
Agf9HyCdfUynxO/vgHtUYEEl9WE3Ok9IynSRX/yrqvKqNl38AEwF7ffWQ8odzoxOLD7z6bIvcfM5
IsWWeGTBGtavco6yx/nObgwLw2UbII4KBZAD+jlsKjL0WR1YNHqpOhlOG/TgAdJzr5XnvXQcKvSf
4KzjI4gbOqPD5FqgLWWLlVPxhzshZsQtvPJtFj5+GXlxbiPWXNp8i/sy0Zc/M6QZ/5WFTsU2/6tJ
9mckhc0HlU3+FcronjyQCmpDNLvtRTykUKk7rYsZ+Pao34ITxCEjZDBdw1p/ovqoQbNSql7eOt//
Ik7ivPsSsVBnuB3wEja4Kclc+hG+9mh0ixdJR23TsA==
=bCMU
-----END PGP SIGNATURE-----

--------------9tcT5M3isdTcCIokRph0XsZE--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:37:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929622.1332335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpIT-0004b8-7T; Thu, 27 Mar 2025 15:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929622.1332335; Thu, 27 Mar 2025 15:37: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 1txpIT-0004b1-4g; Thu, 27 Mar 2025 15:37:33 +0000
Received: by outflank-mailman (input) for mailman id 929622;
 Thu, 27 Mar 2025 15:37: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txpIR-0004as-Gn
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:37:31 +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 64565fa1-0b21-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 16:37:29 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-399749152b4so314641f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 08:37:29 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9eef37sm19946626f8f.85.2025.03.27.08.37.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 08:37: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: 64565fa1-0b21-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743089849; x=1743694649; 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=csBfsCpwz7Az2tpxeD+7SrIKEDhzsYG19k+28/elAfc=;
        b=nA+xUA51GvN68g7zXkNLFcj/X/RCiQ7S3fDfUI8lYeTiA1dEUuCqNNX04RQAk8fvJC
         A7dVNqohwef5ZuxFLQ6YeDGYudcEt1up+g/kYLfWrnv8Qd5r2FI5QsE5Wtmbbc8s4X8y
         zSb+NkyFpnCLbVTOsmPqGQr5vhVomRLJLqAUM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743089849; x=1743694649;
        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=csBfsCpwz7Az2tpxeD+7SrIKEDhzsYG19k+28/elAfc=;
        b=esv+agBuu18MXummlFBBJOvPFHQzOSegVoXOKT0cScBn0dG2CkjDZNFrxdpXOrQvFw
         lpsiUA8xhPuSD6URlfK3KwXWwPvsrMuI3P0ZEC4o14MF5/brzq+xhRV2HVDHkSF1ZHtt
         f8L4Cdr9GScFQ5LCFTNmskikxTCWY211Ui5H7oABciiRLIrctUwsBUwdwZhqyu25V8Lp
         6FvPcMTB5v38Q7wwTECG4sV0eJmPESY3XSPPKnfPvaWel6BFSpe5l6cTIjtnNG/nQofn
         zXu4Nt/8d4ptnkM30sJj3kYhA17TZzKrxphmmUd2zyY38I4c6NO9Hh9futCikK+bf1yM
         dKRg==
X-Gm-Message-State: AOJu0YzC8vwPcaKNuJmUIMupKB/84hhRAAxU36GyngWfeu8IIGEqF6Ii
	s+VbMDvWN0Shcef0z4rjgd2L4hnJd6oUHA99WrpNVXEsUurv1H+zbXw61pRhEnb0l3GoU0+PuYc
	5epU=
X-Gm-Gg: ASbGncsvbMIdIT2iLxK3jqWcx1g/e9peNKnokeGB4p/AxR3cq//3Ce8Y/U9ZOQukhDu
	8/wr4D8Y4u03T91yMfSmf2FPgDsebnOUXhqqzd8kZpSjVpmLN/Gwb7gOSAuj/EqVDrzCldKn23R
	UgQTKfnBm2wEa/phbB14E/1U94FEMgdy+UC4U36YC9FtnSXuzVapnQlDWxCC5n4zxCDphZkrPoo
	+tBjj70EIw1CON9tT361Wve/8TnrdXCyvzSyuk/3rjx5NgLhl7HW3AlpY5cRW53IQvLh3jMdZXa
	Ok6K3FI2ySSnhs+rfoKWR16alZeAt1kj9yk1w0dOvuSwKmXUlbQwERrwFGTevg1JtPTrjjly9Ti
	hAtOzWxMO4wWqy4sg8A==
X-Google-Smtp-Source: AGHT+IEnA4D9MYI6lQ8OQBBDTfDrp7oTrXo1tcWP7q9l5lG4RlfspSZvzx+KRtuwZRuAmqNXuZ8Z3g==
X-Received: by 2002:a5d:5f8c:0:b0:391:3fd2:610f with SMTP id ffacd0b85a97d-39ad17499camr4029632f8f.13.1743089848580;
        Thu, 27 Mar 2025 08:37:28 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v2] CHANGELOG: Minimum toolchain requirements for x86 and ARM
Date: Thu, 27 Mar 2025 15:37:25 +0000
Message-Id: <20250327153725.401451-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

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

v2:
 * State x86 and ARM, rather than implying all architectures.
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 35ab6749241c..8f6afa5c858a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
+ - The minimum toolchain requirements have increased for some architectures:
+   - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
+   - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
 
 ### Added
  - On x86:
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:45:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:45:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929632.1332346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpPt-0007NV-SP; Thu, 27 Mar 2025 15:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929632.1332346; Thu, 27 Mar 2025 15:45: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 1txpPt-0007NO-Oi; Thu, 27 Mar 2025 15:45:13 +0000
Received: by outflank-mailman (input) for mailman id 929632;
 Thu, 27 Mar 2025 15:45: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txpPs-0007NH-IZ
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:45:12 +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 77d14825-0b22-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 16:45:11 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso648001f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 08:45:11 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3997f9efc9bsm19961562f8f.87.2025.03.27.08.45.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 08:45: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: 77d14825-0b22-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743090311; x=1743695111; 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=LcwsuFECCiR1bLFBc3GYpdpODOCrSr1XFj7eeQYu3WY=;
        b=lBaETvPICvGFxk1bLQ+qsOABtxeiPtAnf7IgPGaYrHfQgUVkUlkulVXdG7C4gq2EWE
         BpRrDjhTvY0EZCpmQViU0kgJvN3SuEK1RPPiVGgCh0AYJdaSdzMVxkK+/Aze2V8DFBzZ
         hOAdX/BAAp9XpwdH8it7c5yFf8ngcOY1z06UM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743090311; x=1743695111;
        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=LcwsuFECCiR1bLFBc3GYpdpODOCrSr1XFj7eeQYu3WY=;
        b=UNpPKEurXMkoWYdqsNEXF8E+0fiP9/yyL4+W4JXg+ksTIfwN/xyWXO8aytuSq93ncl
         RvQCv4SPKqNt5mXOj3971Yy8sunB3QYZz3fI8Q3dmLGi4BMzJ9gv50SxIjq1j43SzHA1
         4EXaS9w9kfhbu8v8x5vv6+nxWo9BWL0m3T6YexyOXQ73Jc23fnex1jwpguYpQBm4xbaI
         hPZBBTj0lr5OoFU4SxsbQLFZLv4R8rrUQoML5hbvbGGju5wt4uk1xzOmkUKmiUl0DPgI
         wxwuMkS0ijgpeqWli/Bgr3QwIzc7YvKoVx/uCLBX+6tdOVnJIzYQurXOG0DP4PE0mpcB
         SDDA==
X-Forwarded-Encrypted: i=1; AJvYcCUSRpvS46/OO90HaXEuWTAH1d9syXPwkMi6qa9VHl2gUU1otJlZ+X5cPO9F7Cn1npA5OFnqojqFH6k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrfrfPE43usIrTAwkZO33nbLJx66rTOAGfGG6/vJdAimyhaH3z
	GV5KsUe3nsfcz0Gs9UplLC5I1WIDZ+vR6TAUkpWpZXcUxOHxLnvCHGXvVpn58Uc=
X-Gm-Gg: ASbGncv1IBahHS3YbvPAKjhGmyohLsVhM7BZVmxHqQHGFXTd08gdqbM/ctQF8xTXJGM
	opxt2KNPRFVqvvUPEG+GtDwCwMzBHU8f3ViUK0zY7+Cpi7lKJ+uYyvXcKd1ExKSU0kAykzDyD9H
	WgAUjq/6jHrWg1yLMC4mF65cIufCVJ0/12jALlKKzxyfBP7T1dA67emTmqDeampucpCJZC0pOSb
	kodj4fBJr/OX5ngjq+ExnZK5l4+eTWFhKOjo80Vd18NRDZQePHXcPSfZRqUq9NhrHJiE836Xlur
	0+WcrixHCrg5fZwdnRbu2k7TjN/19N4nBqU/xFwg7PST0MXhq3e3fj03cDYcoSbcjwstRAv+sXp
	B1DMSrzKzpw==
X-Google-Smtp-Source: AGHT+IH+m6uY9Abhn1d6zJeat9mvK+qE5lHl6kZTZpGZ7SdLtCLYarbityZTi0ld+YDzSoItFERESQ==
X-Received: by 2002:a05:6000:2189:b0:39a:ca40:7bfb with SMTP id ffacd0b85a97d-39ad1788370mr2598473f8f.54.1743090310966;
        Thu, 27 Mar 2025 08:45:10 -0700 (PDT)
Message-ID: <956eb48f-b2f6-4951-8b12-2cf0dcfa2c9e@citrix.com>
Date: Thu, 27 Mar 2025 15:45:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
To: Oleksii Kurochko <oleksii.kurochko@gmail.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: <20250320155908.43885-1-andrew.cooper3@citrix.com>
 <20250320155908.43885-4-andrew.cooper3@citrix.com>
 <c901f573-97dc-4ad0-9974-847fc58a0d44@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: <c901f573-97dc-4ad0-9974-847fc58a0d44@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/03/2025 4:24 pm, Oleksii Kurochko wrote:
>
>
> On 3/20/25 4:59 PM, Andrew Cooper wrote:
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>>  CHANGELOG.md | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>> index 9a5919585d43..4e333e608a96 100644
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>  ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>>  
>>  ### Changed
>> + - The minimum toolchain requirements have been increased to either:
>> +   - GCC 5.1 and Binutils 2.25, or
>> +   - Clang/LLVM 11
> I think we want here to specify for which architectures it was done as RISC-V, for example, uses
> different versions:
>  - GCC 12.2 or later
>  - GNU Binutils 2.39 or later
> And for clang the version will be 17 as:
>   f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
>   $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
>     llvmorg-17.0.0
>   ...
> I have some patch to build Xen RISC-V using clang-17 but I haven't sent to upstream yet as I am not
> really sure that if we need (or why we need) clang support just from the start.

The same reason why we got an almost-nothing build in CI first, and are
currently looking for a "hello world" message on boot.

Keeping it working as you go is much easier than retrofitting at a later
point, and supporting more than 1 of any $THING (not just compilers) is
good to prevent accidental reliance on an implementation specific property.

The only question is what version of Clang exists in Debian bookworm, as
that affects how easy/hard it is to add to CI.

According to https://packages.debian.org/search?keywords=clang, bookworm
has Clang 14, while trixie has Clang 19.

So, how hard a limit is Clang-17?Â  Is Clang-14 doable or not?

Alternatively, we could start adding some trixie containers.Â  We have
passed the toolchain freeze (was 15th March), so the build container
should be stable now, even if it isn't quite released yet.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:49:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:49:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929642.1332356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpUF-0007wu-9r; Thu, 27 Mar 2025 15:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929642.1332356; Thu, 27 Mar 2025 15:49: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 1txpUF-0007wn-71; Thu, 27 Mar 2025 15:49:43 +0000
Received: by outflank-mailman (input) for mailman id 929642;
 Thu, 27 Mar 2025 15:49:41 +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 1txpUD-0007wh-Fd
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:49:41 +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 1txpUA-00Brhg-1m;
 Thu, 27 Mar 2025 15:49:38 +0000
Received: from [15.248.2.232] (helo=[10.24.66.240])
 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 1txpUA-001vlR-11;
 Thu, 27 Mar 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>
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=l8S/MapkqA4tdMiR1/D0z1hQG/6vvyr0sz4l5Ng3Q30=; b=MnpIsnQI46ehhGJk5CDrjxosZ3
	yY+h5A/pMlwHqloCAyOuu7J5D35UgdGRrREYtD2aboDVR9GSzfJavVZcjiG02lROa+rHnD6pv5Zo3
	eECSq2sHo36h4uAR1D4Yn9DOg1/ldUoc9CK/kETP5ZezpSq6ovD/Bn0Iz7lZhZjPAtUA=;
Message-ID: <4c5ba483-c78b-4d45-addc-5a3070d99689@xen.org>
Date: Thu, 27 Mar 2025 15:49:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <89043421-49b5-40cc-91c8-f4cd7dd2f6d1@xen.org>
 <87f63516-f9a3-46cc-80a7-1eb614c1f818@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <87f63516-f9a3-46cc-80a7-1eb614c1f818@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 27/03/2025 15:08, Jan Beulich wrote:
> On 27.03.2025 15:49, Julien Grall wrote:
>> On 13/03/2025 13:38, Jan Beulich wrote:
>>> There's no need for each arch to invoke it directly, and there's no need
>>> for having a stub either. With the present placement of the calls to
>>> init_constructors() it can easily be a constructor itself.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Thanks.
> 
>>> ---
>>> Same could then apparently be done for heap_init_late(). Thoughts?
>>
>> Looking at the code, I couldn't figure out whether any of the
>> constructors may rely on some changes done by heap_init_late().
>>
>> The only issue I can think of is scrubbing. In the case it is
>> synchronous, would the memory allocated before hand be scrubbed?
> 
> Memory that is allocated can't possibly be scrubbed; only memory that's
> still un-allocated can be. With that I fear I don't properly understand
> the question you raise.

I meant that if memory is allocated by calls from init_constructors(). 
Before this patch, the memory would be scrubbed. After this patch, 
anything constructors called before heap_init_late() would end up to not 
be scrubbed if it is synchronous.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 15:54:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 15:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929651.1332365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpYr-0002JX-Rm; Thu, 27 Mar 2025 15:54:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929651.1332365; Thu, 27 Mar 2025 15:54: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 1txpYr-0002JQ-Ox; Thu, 27 Mar 2025 15:54:29 +0000
Received: by outflank-mailman (input) for mailman id 929651;
 Thu, 27 Mar 2025 15:54: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txpYp-0002JK-VG
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 15:54: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 c2aa1dfd-0b23-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 16:54:26 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-399676b7c41so649298f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 08:54: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-3997f9efc90sm20552889f8f.98.2025.03.27.08.54.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 08:54: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: c2aa1dfd-0b23-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743090866; x=1743695666; 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=m5XSaLhx2DUcgSSdocCldH0P1LF3z6PJeX+w2Ljuk/8=;
        b=ULjf6UQTaJ1EynrmGKUJt9PA9uVX4YAqDEaU7rMIlBGorq0DYoSVTHgWnI5EwFdhj6
         D9F+9r8LnyY0TUmQ+H+vfbVbxkzpmxbvOK0WfZTWAGpxn/FMMomQllhW/vxWGXgg/VwR
         o+6j2ZlEdJkbQeGkQjhmurb8SipFXh2XQldXSCUB/tTLAuC8ad6yAGND5P8eZQk2Eyrj
         e/zUGllBRpaz9qDMkSd/XAaAnGPcaLssHGsufY3xYn16DztDqyDfynHbNJgsRFh9ZJgg
         L0Cin7tc+XBLMR8iJnik7HkMEh0+ztK+YnL0RLzRXJ3wTXOj5D1pv5DrPvEcF8JYISTH
         kbxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743090866; x=1743695666;
        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=m5XSaLhx2DUcgSSdocCldH0P1LF3z6PJeX+w2Ljuk/8=;
        b=ZnQJ0LDr9vyqc9p6RjVZKEKbQGGvjveme3p0y9bHzXbeSCQg/07LpSmeG7V+OeiaKx
         0E2Z/7FMaiacocG/ZUXIgR6Gp1mIRzxQLog7ekjTyfXDWWNA9YcGjbCKUkcfQnf3qC9c
         o05eJVUwVUmuA7c3gf3YN0+3j0wrNEjEkOa/8sj8YzL4cJBeLjtA3OCeEKIo9vpdTpZl
         zHOJlXFbdIw3DKxLeQwwqdxVxt3h8eHC3TwswlN4KQ1F2J5vsPqvHtryZ/rpBGKOrDp4
         IiCJoIqZTQkaH9CKrKYtXopOPq3Vw15EIJEOEC0VvNIdurWIDLjocJFvMhR5BuipepRR
         wwzQ==
X-Forwarded-Encrypted: i=1; AJvYcCWiQBa40fPc8OUJC47UxpGJZem6lv2o7kRw+vK25NoeRuuoGicRwU4rxIsspW47It97KSva3nQQO1k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyL/+sWsfKhWyqZXYZMafohFeo/crLstub+SDamI0PKsLamUoBD
	AJMs7uY0RJw7bohICTS30FP+dl7BtrswbNqp3CxDSZmLQe6z5jljOeZcOIyOHA==
X-Gm-Gg: ASbGncsYkODI2IYMn6n5DG8FkcyvFRJcSJx9E7MrzBNi9GAbBmp3IKuOwLrBxZfCdTF
	o4wY3x/HNveGx46qIdeSETKFZN7kCK8a1Y8B730vV2uTClRQCQilypTMZSAHWcvH8Ak8ebHzBNU
	o/SBp9B4FpQXN07bfci4wV0UzGNycX/r+IwNG8NygN9IPVxDFTGry6FEQLW0rHR1YXdXSqUZYIZ
	piyxB1DZlJRqOViyudYQgUa427bNMiY0+dL/dVka+sMe5uPIZc/uHPiv4WLItrWluXyyO1fk5dA
	27ivVk3H+qq5tZzY7QeYl20fTBqzmZsOUx2zSnhd/7cUkmwBeGSqAmnwuIBOoFjJ/zZ1U0eXAr9
	ULOT6Xtye1lj+uamaPLz48df8c/3dSQ==
X-Google-Smtp-Source: AGHT+IG5tJdePH8InWhujhd3vYueb3HwgNnKYKXa3ZsqDnu6an0dnyTQHymqA48fMEZ1hSF1LJoQRQ==
X-Received: by 2002:a5d:5885:0:b0:38f:5057:5810 with SMTP id ffacd0b85a97d-39ad17525b2mr4549694f8f.25.1743090866227;
        Thu, 27 Mar 2025 08:54:26 -0700 (PDT)
Message-ID: <16266da1-f164-41a4-a569-b500998b4b64@suse.com>
Date: Thu, 27 Mar 2025 16:54:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] SUPPORT.md: make Linux based stubdom fully supported
To: Juergen Gross <jgross@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-2-jgross@suse.com>
 <0db5c039-f379-4393-b00f-c4cd44188a9b@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: <0db5c039-f379-4393-b00f-c4cd44188a9b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 16:25, Juergen Gross wrote:
> On 26.03.25 17:04, Juergen Gross wrote:
>> All patches needed for running with a Linux stubdom device model are
>> in the tree and QubesOS is using and testing Linux stubdoms nowadays.
>>
>> Switch support from "Tech Preview" to "Supported".
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>>   CHANGELOG.md | 1 +
>>   SUPPORT.md   | 2 +-
>>   2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>> index 9a5919585d..b03e2c73d7 100644
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>   ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>>   
>>   ### Changed
>> + - Linux based device model stubdomains are now fully supported.
>>   
>>   ### Added
>>    - On x86:
>> diff --git a/SUPPORT.md b/SUPPORT.md
>> index 91cb6f8ed2..ed4412f0af 100644
>> --- a/SUPPORT.md
>> +++ b/SUPPORT.md
>> @@ -260,7 +260,7 @@ Go (golang) bindings for libxl
>>   
>>   Support for running qemu-xen device model in a linux stubdomain.
>>   
>> -    Status: Tech Preview
>> +    Status: Supported
> 
> The status change was discussed in the security team. The suggestion was
> that the new support state should be "Supported, with caveats", clarifying
> that any issue in the stubdomain affecting only the guest it is servicing
> would not be regraded to be a security issue.

Mind making this a tiny bit more strict, by saying "affecting only the guest
it is servicing or itself"?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:05:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929675.1332428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpjR-0006Ba-BI; Thu, 27 Mar 2025 16:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929675.1332428; Thu, 27 Mar 2025 16:05: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 1txpjR-0006BT-7C; Thu, 27 Mar 2025 16:05:25 +0000
Received: by outflank-mailman (input) for mailman id 929675;
 Thu, 27 Mar 2025 16:05: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txpjQ-0006BN-5v
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:05:24 +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 498727c7-0b25-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 17:05:22 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5eb5ecf3217so2130520a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:05:22 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc17dff16sm4767a12.67.2025.03.27.09.05.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09: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: 498727c7-0b25-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743091522; x=1743696322; 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=wO+wt6DrXguhKtyD31HtL0rruhHKVsvcQl5IUhCl60A=;
        b=BJOsRjR2vo1P+cQobidl7aj5kwC53SU0klB1PzbNtEyBT97//GDsSBkfAEvSEAP60P
         SjlsLwj2paCknLa3FajN+csHJY25zDUtYa2UgKHIZM5t5WAW7TAUS9vlXS2th4Zzl6M+
         2CjPWZriHX42ZqXcpLcDEgzP64xWi8s+3OdRLOuHzNJ/1eim/48xEbPqBApG7Raf1XXt
         6228VIquv4tYNxYZcBxtzysl2/k1RPKn+TkvH9V5wOmoEILbySYBSfBYko30Fw+Bxd4l
         FxuhhshGe69fRPxN9qbuIPXn3Ohv/hxvSo8MqMQ1GTIxbPtxVLo/7VGs6Bf6KO2wrqHg
         1m6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743091522; x=1743696322;
        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=wO+wt6DrXguhKtyD31HtL0rruhHKVsvcQl5IUhCl60A=;
        b=mwLNhs8l1W2naFQF+ZayfWEgQmAWFpeLt+ex8/BbCrSOIHqHfm4+zKtxum+Cihik7+
         alvjAtl23yGeQSBIgQLGhqkIQjPGUN81pOJFT8NsfbKIPSjU+OMZARTiPVEz2ARez7+Y
         GiE2252IfTo4DfoTgZPue6REdapAS9S5j8bzHa8juYSivFKxCedcvdE/a1+O9IqTwno+
         L+m2oPmwPyWMGRvJbILsfhCJJj2jV2JVi7Mujp6m6gDPSIrdAML4DZ8FLqevzPHwnI5l
         SZZgxqxgdzfRDrKj6udhiXHAawHop+EIVFfuDnsnaQJ4G1saApO7ZwksR19tcRCiSBTw
         cULA==
X-Forwarded-Encrypted: i=1; AJvYcCVJqEmqzVcD4S9aGLP5VsOB7vhdfzEmbgWhtwHgplhE1SIBjDd+So3qaRGyXMsSf/TGiDTkLFcofYo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzANhQYYNEZ/c7CE1pv8bHtFHS0RCiQymdvSKBOXWCxU1nJ6Whz
	T21r0Gsy0uADjk9SAs/xJ/Bk6mt1BnXIgyb6QcPJ2baIPxxZT1zz
X-Gm-Gg: ASbGncuSHTlt6BFGpuz1mVQhnGfHEiK8dK4ewG1PuNWO6ggQt7/veeManW7ySEtrCYi
	awmDe7y902FWkOpB/bFCV0DFyygb/gk8Fpr4CWt72OiLkfkNbw8u3j5pz2V6wfaDodRAPEjmaEQ
	7fJfk407s9HUo0mmxyOIyaLHx7Y/zgBWJ74KXg24G1a/HzUkxL9dSAZ3MMcWFuMWGGX5Y/KUjTN
	84HEUMCiF6nvIf1cMokujmuSafeYAyZfv2Gupz0WG93M/Xyo6i+yBh+VY6eRaEFKRj50fwEtWoY
	R4fs5/QrrUdI0uQ+8Xj29Ll6H7A9aQDSXw3bH9OGc0pQGi7rr/qc4ZcNoOIcC4027aQj8q0Ytkf
	q7RlU9qk264Fi78SA3ymgmt+/0xYlldA=
X-Google-Smtp-Source: AGHT+IHE3OSOSZVXLgq0eCk41BH1kExTywHaKR1ZggygKUNRXotxO3LrKlB4CW2Jn9ViP9wTlbJzxw==
X-Received: by 2002:a05:6402:518b:b0:5e6:44d9:57f7 with SMTP id 4fb4d7f45d1cf-5ed8ec1ea14mr3781304a12.26.1743091520648;
        Thu, 27 Mar 2025 09:05:20 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------pU8EYQMgbsmGwc04BHiJZTpU"
Message-ID: <5d34510a-2f31-4295-b42d-a4e035dd4559@gmail.com>
Date: Thu, 27 Mar 2025 17:05:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] CHANGELOG: Minimum toolchain requirements for x86 and
 ARM
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: <20250327153725.401451-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250327153725.401451-1-andrew.cooper3@citrix.com>

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


On 3/27/25 4:37 PM, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>
> v2:
>   * State x86 and ARM, rather than implying all architectures.
> ---
>   CHANGELOG.md | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 35ab6749241c..8f6afa5c858a 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>   
>   ### Changed
> + - The minimum toolchain requirements have increased for some architectures:
> +   - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
> +   - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
>   
>   ### Added
>    - On x86:

LKGTM: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

--------------pU8EYQMgbsmGwc04BHiJZTpU
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 3/27/25 4:37 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250327153725.401451-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">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: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
CC: Michal Orzel <a class="moz-txt-link-rfc2396E" href="mailto:michal.orzel@amd.com">&lt;michal.orzel@amd.com&gt;</a>
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
CC: Julien Grall <a class="moz-txt-link-rfc2396E" href="mailto:julien@xen.org">&lt;julien@xen.org&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: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

v2:
 * State x86 and ARM, rather than implying all architectures.
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 35ab6749241c..8f6afa5c858a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ 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>)
 ## [4.21.0 UNRELEASED](<a class="moz-txt-link-freetext" href="https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging">https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging</a>) - TBD
 
 ### Changed
+ - The minimum toolchain requirements have increased for some architectures:
+   - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
+   - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
 
 ### Added
  - On x86:
</pre>
    </blockquote>
    <pre>LKGTM: 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>

--------------pU8EYQMgbsmGwc04BHiJZTpU--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:10:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929689.1332438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpo9-0007jq-V4; Thu, 27 Mar 2025 16:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929689.1332438; Thu, 27 Mar 2025 16:10: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 1txpo9-0007jj-SQ; Thu, 27 Mar 2025 16:10:17 +0000
Received: by outflank-mailman (input) for mailman id 929689;
 Thu, 27 Mar 2025 16:10: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txpo8-0007jd-AQ
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:10:16 +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 f80fd846-0b25-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 17:10:15 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso663735f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:10: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-43d830f5b41sm43433705e9.27.2025.03.27.09.10.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:10: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: f80fd846-0b25-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743091815; x=1743696615; 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=YlqTkyWWUGrlYXsLLjLB1P/83uAmyPdiDCoFd1qRRwk=;
        b=DqS8cTu81mzkGd1wNWDtiuXkvpTm765q1k3LataZW46vOsv7rl360FKBsnKZ4/TFfg
         5NzLT8fkl3DeIjuBJNTEu3DUNXQZNzDSQn0nOCR91FBQlN6kWqOSpERiaaJg+p+vJBPJ
         RciZicSXO+g2NTJoC6RTolTWczrGJJbmfc7vEHPfCLYXlI5/R5lhqnLyxNtUnR5KxBBH
         6NKJzp9MsM/aYnPs1n780VieFMja8TVwuzMuhwBF/A4EMSjDFBV2nxPxAH4GtsEWFj39
         Hlm+DlG0v3HUVlEG0dXth6OTH/MdO8ITQKfCsFMjIJBPqnvl1CHVKIHoaxSFYvWxSUs9
         Kmxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743091815; x=1743696615;
        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=YlqTkyWWUGrlYXsLLjLB1P/83uAmyPdiDCoFd1qRRwk=;
        b=QEViWNtQWyvQssULSDudcsfj8VF4058ejT16SwjmRNNcNiSuIz/YRwnNU+5wgFMtUy
         Z+KENRlRymE4McJO0ZcQR9PmwyGc9lzoFJ/Rk8vvkYeDdBtWK3sGP5yg4pKEeFxqhmhp
         qnUVqONH2Lq1uBTraCstBUZQ/jyd+KJBFBcc52fXVsY15Ngwj7zkd805aVMOCJyj/8eO
         Nuu2890EDVrlzsjBBVe4LhRLLCTfCNO69m01VbG5E6wCEYAVmkwdWCRnkckP2Iq/3t9p
         uja8DHSHteIDCE+VAwtHY/ED4kXUzIuTkU/H7mp3t1hJZZTjc41Wlc2De5IgzY9IEQlK
         J/WA==
X-Forwarded-Encrypted: i=1; AJvYcCVisRFfz3K+6cTLFcCmOFtB0s9wEzQFyeIjmXfi43Z7NtvuejETWPQ1hI/2yW32MaX3PlvkqQlDj2s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzzKuNy5uBPDRmwr5h6qDfjPy/203WDgOzk26eD0cP8qow93ibz
	ziGzNqo6+uhIcENlfwtmxuz9MWQzjkDQ8n/RouxPvR2PibvVEMeiWlAfbDg4ig==
X-Gm-Gg: ASbGncvW2aVLOBk1/3oQKqItd8pisWKBhMCvpOJC3kjPNxxZrr/kdjDe0S8PKVMaR0/
	6HVA4ShzEdB34AkyJ3V5VWmD4PqRAFUUwpiYvpXKrl5kPU1uLStfFqFJddPC6aIz/X1uVy45IHi
	+aVTNpu0ZzthA6YxM2YoLT6M3f/OXbWb4kChnOpQ2QRM+gWRyqZzGxFTsevAswSLbB2NVgpiuHw
	Ad4Xgk/j8gyQI35nuRW0LdN3pViVBNSyTIb1HMplTHOMMex+R4Lb/M2bJZlBL3mhQRYixY8SIYe
	fjWPAib1PhajaF25z/LNLCEhfFfP3H0s63tJ5EGNTSTBLemjVTYOqaGEuTL2EbajLXtwS+NjdGS
	TJKgxkNXwywzNizTRDm2IeL0RPflHIg==
X-Google-Smtp-Source: AGHT+IEv+9zsOEI4rwZCUEEcVbtu6AyVE8+ZIToF/QsnMz2cqqJtwBtNivesbZxeocyokfiDo36P9g==
X-Received: by 2002:a5d:64c7:0:b0:391:49f6:dad4 with SMTP id ffacd0b85a97d-39ad176b9e5mr3963334f8f.41.1743091814615;
        Thu, 27 Mar 2025 09:10:14 -0700 (PDT)
Message-ID: <0758acd6-40fb-42f3-8fd4-2d22056183a1@suse.com>
Date: Thu, 27 Mar 2025 17:10:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <89043421-49b5-40cc-91c8-f4cd7dd2f6d1@xen.org>
 <87f63516-f9a3-46cc-80a7-1eb614c1f818@suse.com>
 <4c5ba483-c78b-4d45-addc-5a3070d99689@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: <4c5ba483-c78b-4d45-addc-5a3070d99689@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 16:49, Julien Grall wrote:
> On 27/03/2025 15:08, Jan Beulich wrote:
>> On 27.03.2025 15:49, Julien Grall wrote:
>>> On 13/03/2025 13:38, Jan Beulich wrote:
>>>> ---
>>>> Same could then apparently be done for heap_init_late(). Thoughts?
>>>
>>> Looking at the code, I couldn't figure out whether any of the
>>> constructors may rely on some changes done by heap_init_late().
>>>
>>> The only issue I can think of is scrubbing. In the case it is
>>> synchronous, would the memory allocated before hand be scrubbed?
>>
>> Memory that is allocated can't possibly be scrubbed; only memory that's
>> still un-allocated can be. With that I fear I don't properly understand
>> the question you raise.
> 
> I meant that if memory is allocated by calls from init_constructors(). 
> Before this patch, the memory would be scrubbed. After this patch, 
> anything constructors called before heap_init_late() would end up to not 
> be scrubbed if it is synchronous.

Oh, I see. Since scrubbing may be asynchronous, any site relying on scrubbing
having happened would be flawed anyway. Apart from that, unless callers pass
MEMF_no_scrub to alloc_heap_pages(), un-scrubbed pages would be scrubbed
anyway (see near the end of the function).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:12:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:12:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929697.1332448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpqe-00018l-Ac; Thu, 27 Mar 2025 16:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929697.1332448; Thu, 27 Mar 2025 16:12: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 1txpqe-00018e-7k; Thu, 27 Mar 2025 16:12:52 +0000
Received: by outflank-mailman (input) for mailman id 929697;
 Thu, 27 Mar 2025 16:12: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txpqc-00018Y-GH
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:12:50 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 533b2e47-0b26-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:12:48 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-ac25d2b2354so211444266b.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:12:48 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac7196dd9a5sm14758766b.166.2025.03.27.09.12.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:12: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: 533b2e47-0b26-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743091968; x=1743696768; 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=/f+PX97m0wAD9lVa2TpcwcBB3ZVYwmVgx7e7KfcGm6o=;
        b=jkY4aZtYTTjzxicoUoYK6POehDHgUMgIQJHYPQCYU0IfU9o5O73uyD0f6GHrf3UK7w
         06kf9j2SBE/VqrgwVoTMRUc1bQmqaWPdAZ9Mk2fpaLm3uXpk2hS1KQ1oij49KXx8BEXV
         x1WyH5xuaCCISiNxuDr3AAQsvQH5j6tD/m6l81MO3WAkz4nRGKuk3lJCU9+Zwf+T11gX
         ymHJkcO9VOr/RYEnwLhZWGSnL3Dmr6L9sNMujQ/7ezHiJkxlz7i2P/le0Nqrq/mqcVFf
         iywsiGVb8jrrMR2UTQxb6Ej3VVd1keHl/Y7VLZdziJPV4EfZ2jvByZ2P1GbeVLaW5ZoB
         MgBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743091968; x=1743696768;
        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=/f+PX97m0wAD9lVa2TpcwcBB3ZVYwmVgx7e7KfcGm6o=;
        b=vi53wloJIcqdtFtoaQkzQ71rLJM3fcfCOrD9et6aPuQUS5NhwuH/Q6B8WEHWZfIM3y
         U5ZyOM4YegJ2d1xcDkn+W1Bf/XvaCG1S2sUul9q/4+92aW8n/GAHv0gkOaPGbhq7gVbn
         0Ee+gpjdJEnfYqSo2c2GnxzWXmIL13urxRD+El3RzgmVVufgIWy9tu32DhHOk6DqGMYe
         L9u6kaqGIxDzN6fNCrl4exGykysZjbzcnkXgs1ZtuQXdvlybEhK85eGw5foUzyuaLHEh
         fDGzeCVSjsOi34rxyBHB5E/+MKrOqA6ejSc0T3NK8J2RYW0dbZnq7suU8ZC/wxl+bOC2
         91xA==
X-Forwarded-Encrypted: i=1; AJvYcCXpjkK/BJWyTqZew0c36dYF1CJKmyg1LN4oODg/H915n3k7FzBVCKV34W5RzMI3x6frN8wiFqFYC/g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YynFQJP2jSnuynsqOO3syaBqaMolhhMS1O/WXnB/ISpFgC9tWVP
	uC3+2M/ENgc4Bbm5INURFaUa3v0QQ78rjXAQ5qgSnltns/kYBHiE
X-Gm-Gg: ASbGncvTTpAFWV1sMlLJNHlKepyblnoO0aEX91uEHwYX0347PU0CeQX2+IVqmnjvrHo
	MKMlyItVzH8jwBqfGSiHuwfgr/ErTqoOHKT3UEZCtF0vFSIUU40hPjyGjskOJKBY/i4VIPWH9TE
	sVb0MB/0uEbdq2Hl8bWgaEkIAPHB0F4Jq2ufx3ivdTegiC4OIBUwj+Bv9gzQWXnoJkvo/aXoGQN
	OvnoelqiAy4QJv4sTCa2i3n3qQfFb9+5PUv7tVutRH+pZn9xdHZMwTDuFLiJflwTeRr0SmofHs7
	0xe9lbF0zJQTAiGmdNeeXNNM1EYW/urBqJ6c+2ec3mflB/R6ZCXiWYz5cXLV0e2zwPCBv7hp/et
	YX3/a1MJJTIOQaOq4bjsJ
X-Google-Smtp-Source: AGHT+IHIiaJgy8IHnFscNLO9K6hBv4sLYHzbe8uEVE/Vokx8HWjPjbs8sJUj8z5ZZ/lrmKNrBAg9iw==
X-Received: by 2002:a17:907:94c5:b0:ac2:84db:5916 with SMTP id a640c23a62f3a-ac6faf0a6a9mr338900366b.31.1743091967227;
        Thu, 27 Mar 2025 09:12:47 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------AGIQZNPJ7s21CtpCZb5IztaY"
Message-ID: <b9e191b5-9ed6-41bd-b8ec-9843df10d5d1@gmail.com>
Date: Thu, 27 Mar 2025 17:12:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, 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>,
 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>
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
 <c3d6a46c-c372-43f2-81d4-8128ebcb1b2b@gmail.com>
 <14d9be78-39c9-44b2-b6d8-6ff5fe1b8409@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <14d9be78-39c9-44b2-b6d8-6ff5fe1b8409@suse.com>

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


On 3/27/25 2:16 PM, Jan Beulich wrote:
> On 27.03.2025 13:50, Oleksii Kurochko wrote:
>> On 3/27/25 1:44 AM, Andrew Cooper wrote:
>>> On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
>>>> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
>>>> index d888b2314d..dbbf2fce62 100644
>>>> --- a/xen/include/xen/config.h
>>>> +++ b/xen/include/xen/config.h
>>>> @@ -98,4 +98,13 @@
>>>>    #define ZERO_BLOCK_PTR ((void *)-1L)
>>>>    #endif
>>>>    
>>>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>>>> +
>>>> +#define BITS_PER_BYTE   __CHAR_BIT__
>>>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>>>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>>>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>>>> +
>>>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
>>> See how much nicer this is.Â  This patch possibly wants to wait until
>>> I've fixed the compiler checks to update to the new baseline, or we can
>>> just say that staging is staging and corner case error messages are fine.
>> Do you mean this patch:https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/?
>>
>> I haven't checked clang but if to look at gcc then these builtin macros was introduced in
>> 024a85aeb6a("c-cppbuiltin.c (builtin_define_type_sizeof): New function.") and it seems like even older then gcc5
>> contains this patch:
>> $ git tag --contains 024a85aeb6a912811d917f737eaad39140c2fb0c
>>     ...
>>     releases/gcc-4.3.0
>>     ...
>>
>> Am I missing something?
> The check yet to be adjusted is looking for 4.1, so 4.3 would already be "too new".

I guess you mean this one check:
   check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")

Could I ask then why in the link above it is checked different version?
-#if !defined(__GNUC__) || (__GNUC__ < 4) -#error Sorry, your compiler 
is too old/not recognized. -#elif CONFIG_CC_IS_GCC -# if 
defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900 -# error Sorry, 
your version of GCC is too old - please use 4.9 or newer. -# elif 
defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100 -/* - * 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293 - * 
https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk - 
*/ -# error Sorry, your version of GCC is too old - please use 5.1 or 
newer. -# endif ~ Oleksii

--------------AGIQZNPJ7s21CtpCZb5IztaY
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 3/27/25 2:16 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:14d9be78-39c9-44b2-b6d8-6ff5fe1b8409@suse.com">
      <pre wrap="" class="moz-quote-pre">On 27.03.2025 13:50, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 3/27/25 1:44 AM, Andrew Cooper wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d888b2314d..dbbf2fce62 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -98,4 +98,13 @@
  #define ZERO_BLOCK_PTR ((void *)-1L)
  #endif
  
+#define BYTES_PER_LONG  __SIZEOF_LONG__
+
+#define BITS_PER_BYTE   __CHAR_BIT__
+#define BITS_PER_INT    (__SIZEOF_INT__ &lt;&lt; 3)
+#define BITS_PER_LONG   (BYTES_PER_LONG &lt;&lt; 3)
+#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ &lt;&lt; 3)
+
+#define POINTER_ALIGN   __SIZEOF_POINTER__
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">See how much nicer this is.Â  This patch possibly wants to wait until
I've fixed the compiler checks to update to the new baseline, or we can
just say that staging is staging and corner case error messages are fine.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Do you mean this patch:<a class="moz-txt-link-freetext" href="https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/">https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/</a>?

I haven't checked clang but if to look at gcc then these builtin macros was introduced in
024a85aeb6a("c-cppbuiltin.c (builtin_define_type_sizeof): New function.") and it seems like even older then gcc5
contains this patch:
$ git tag --contains 024a85aeb6a912811d917f737eaad39140c2fb0c
   ...
   releases/gcc-4.3.0
   ...

Am I missing something?
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
The check yet to be adjusted is looking for 4.1, so 4.3 would already be "too new".</pre>
    </blockquote>
    <pre>I guess you mean this one check:
  check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")

Could I ask then why in the link above it is checked different version?
<span class="del"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255); color: rgb(153, 0, 0);">-#if !defined(__GNUC__) || (__GNUC__ &lt; 4)
-#error Sorry, your compiler is too old/not recognized.
-#elif CONFIG_CC_IS_GCC
-# if defined(CONFIG_ARM_32) &amp;&amp; CONFIG_GCC_VERSION &lt; 40900
-#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
-# elif defined(CONFIG_ARM_64) &amp;&amp; CONFIG_GCC_VERSION &lt; 50100
-/*
- * <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255); color: rgb(0, 0, 255); text-decoration: none;"
    class="moz-txt-link-freetext">https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293</a>
- * <a
href="https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255); color: rgb(0, 0, 255); text-decoration: none;"
    class="moz-txt-link-freetext">https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk</a>
- */
-#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
-# endif

</span><span class="del"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);">~ Oleksii</span></pre>
  </body>
</html>

--------------AGIQZNPJ7s21CtpCZb5IztaY--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:12:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:12:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929699.1332458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpqk-0001PK-IM; Thu, 27 Mar 2025 16:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929699.1332458; Thu, 27 Mar 2025 16: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 1txpqk-0001PB-EF; Thu, 27 Mar 2025 16:12:58 +0000
Received: by outflank-mailman (input) for mailman id 929699;
 Thu, 27 Mar 2025 16: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txpqj-00018Y-Nl
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:12:57 +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 57e69692-0b26-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:12:56 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso6346255e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:12: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-3997f9a50c1sm20584874f8f.38.2025.03.27.09.12.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09: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: 57e69692-0b26-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743091975; x=1743696775; 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=K4HHrChgmGMuHRJ5SP535oqeTcNdAAuWJ+vXqywqyg4=;
        b=LChh+yjdYT2YeKguQmCo7ZhiqJT8fqfYNvGUOMy1/EYCn0shjsRzFSR2JMxpSA/STS
         2r66AUuAHwlOBm8HZgfjKgttSEBQMWls0VGL7nC/ECTv92toEGbyHsToqhEhq/nPXZzE
         eUE6mWN7FBVNmVphStKmZcwKHFKmdDPQwROOhQhcDPpiwaYMHafjlQeN6Mj5QdNtAFbt
         OpmC3Jqqdy5VmDnFnfTvQiDZ6hGgH6YAypgrhb0Fe0I3emPjiUQkhdRZNjUrJd+/bmVq
         nV338Hw5Z3gx5Bjn4cPZ2aynvZs0jQ/1iOS08h5vhLbNgwN65rnAVrUvxwhxk0XTo7LC
         tgdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743091975; x=1743696775;
        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=K4HHrChgmGMuHRJ5SP535oqeTcNdAAuWJ+vXqywqyg4=;
        b=VMjtthoGsTdSQbkoB5Zi1k3f11RnHCvJcLa+C0aXkYRYVNducmD8l1iaejwJ/syLaj
         7Bxq9XsyVN01gE4BGoBTkFNgOqT/WFyxpXVlY7DKBTugxCqA+R3MtAlGG3EuqjqrDSWt
         W++/pDp5HIu5Tb2tt7jjHlo3x8b5OhurCRt5YUHzN0UT7F6KHYeSXFxEBzBlyehnKLpd
         AAGKsFYtj7NUxn0vtvT1caHLByrCl1PZYTiJqdc21TV8vNxHhmmVU1uLFWtjV64JZ0At
         sa7eQnIFyF/mAB9kV06JqCsGvPa3br8aI6ubAkOdPtJS23hLm1n4IAtSHv1xNzA5yZT2
         jy5A==
X-Gm-Message-State: AOJu0YyQKaHnAvSOQGnIXVfmNpKSABQauRyAYmks9D5Ru+eDpYymfi9U
	l5z11xAK+63T7k79KbHGq7bDYC4Lg44XbWM6wlDtfNORlOqC1Y5M66TTwrGEJw==
X-Gm-Gg: ASbGncvDxK9g/f4tFBQNo2gTe0aoPhUKE97yQCZQXKVp2ThSThPzCbPj1N/E2ufKfX/
	Om/YYODWpDegvAD9KWrMKr9I4QO5L8deywyYAY2CSusVASspz7Vbng2/Yh2na5DXQqS2BDw85k2
	MJewoAuvxvkbS+LEoYVRVLam3KBYvYJOFuo/6xKUWtT3K9yZfgF2wAWhGIZGWX1CnDtvA8tegCw
	jfuth6+FRRKw6HMxvONBA7EgpW2yYKg8uKEekkAYm6XOwJL3rEHEg2hVGfsAaXw9lSubPNlfkeM
	e89pzNUBUnnBqGYs0ubON/EK5htMEGrCd9tCdaT6j/jj5zTyKBAFCTlipxf30xza6hA2N5FrxyS
	qF+YuBDZo8TGTPYTDrrg45CGUtLB9OA==
X-Google-Smtp-Source: AGHT+IGka/XqBsykEvMQekiEoXLg2+q1pKyWv0tRwPSzu9ENQT0kPjfLHu5W8JcMACXODM55oVGHog==
X-Received: by 2002:a5d:6d04:0:b0:391:4743:6db1 with SMTP id ffacd0b85a97d-39ad1749e27mr3593478f8f.20.1743091975512;
        Thu, 27 Mar 2025 09:12:55 -0700 (PDT)
Message-ID: <b4fb021b-b817-4332-8976-bc22b440fe20@suse.com>
Date: Thu, 27 Mar 2025 17:12:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: hook mtrr_bp_restore() back up
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <ad8ea1da-dda9-4567-8b15-55b65777e80f@suse.com>
 <Z-U4ozL6p-Unh5Y8@macbook.local>
 <fde64904-343b-48c9-b396-961811cc2adb@suse.com>
 <Z-VJBIbQal-jZAGM@macbook.local>
 <f5669417-43f3-4c63-bb7d-a108f13757cb@suse.com>
 <Z-VcXGhlObVZYhoc@macbook.local>
 <ca0fb29a-96e8-489e-b109-76a684621d18@suse.com>
 <7bf76e95-5681-45f3-958e-4bd8ed74f790@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: <7bf76e95-5681-45f3-958e-4bd8ed74f790@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 16:23, Andrew Cooper wrote:
> On 27/03/2025 2:20 pm, Jan Beulich wrote:
>> On 27.03.2025 15:10, Roger Pau MonnĂŠ wrote:
>>> On Thu, Mar 27, 2025 at 02:28:42PM +0100, Jan Beulich wrote:
>>>> On 27.03.2025 13:48, Roger Pau MonnĂŠ wrote:
>>>>> On Thu, Mar 27, 2025 at 01:30:44PM +0100, Jan Beulich wrote:
>>>>>> On 27.03.2025 12:38, Roger Pau MonnĂŠ wrote:
>>>>>>> On Thu, Mar 27, 2025 at 12:20:47PM +0100, Jan Beulich wrote:
>>>>>>>> Unlike stated in the offending commit's description,
>>>>>>>> load_system_tables() wasn't the only thing left to retain from the
>>>>>>>> earlier restore_rest_processor_state().
>>>>>>>>
>>>>>>>> While there also do Misra-related tidying for the function itself: The
>>>>>>>> function being used from assembly only means it doesn't need to have a
>>>>>>>> declaration, but wants to be asmlinkage.
>>>>>>> I wonder, maybe the intention was for the MTRR restoring on the BSP to
>>>>>>> also be done by the mtrr_aps_sync_end() call in enter_state()?
>>>>>>>
>>>>>>> AFAICT that will set the MTRRs uniformly on all CPUs, by calling
>>>>>>> mtrr_set_all() just like mtrr_bp_restore(), but later in the restore
>>>>>>> process.
>>>>>> Hmm, yes, that's possible. The comment in set_mtrr() is somewhat misleading
>>>>>> then, though, as for the BP the writing then isn't just "okay" but necessary.
>>>>>> Question is whether doing this so much later is actually good enough.
>>>>> Hm, no idea really.  We do the device restore ahead of the MTRR
>>>>> restore, so I wonder whether we could have issues by using unexpected
>>>>> effective cache attributes for device memory accesses as a result of
>>>>> MTRRs not being initialized?
>>>> That's just one of the possible problems. The father the MTRRs we run with
>>>> diverged from what firmware puts in place, the bigger the possible trouble.
>>>> I think the restoring better is done as being switched to here again. The
>>>> absence of any discussion of MTRRs in that earlier change leaves me pretty
>>>> certain that the behavioral change there wasn't intended. Andrew is usually
>>>> pretty good at spelling out all intended effects.
>>> No objection, however for the BSP we now end up restoring the MTRRs
>>> twice, as we will also do it in mtrr_aps_sync_end().
>>>
>>> Might be worth to mention in the commit message that the MTRR state
>>> was restored in mtrr_aps_sync_end() for the BSP also, but that it
>>> might be too late.
>> I've added "Note that MTRR state was still reloaded via mtrr_aps_sync_end(),
>> but that happens quite a bit later in the resume process."
> 
> Ah yes, you got here too.
> 
> Yes, I think I simply missed this part of the discussion from the commit
> message.
> 
> The MTRR logic is a giant tangle, and lost of it (I'm pretty sure) is
> only relevant for early 32bit days.Â  Also since then, I expect firmware
> has gotten better, considering that S3 is ubiquitous on laptops nowadays.
> 
> I expect that we don't need to change MTRRs in most cases.Â  However, if
> change to the MTRRs actually need to happen, then they probably want
> doing as part of the AP boot, rather than in a rendezvous later.Â  That
> said, it would be a difference between the normal boot and S3 resume paths.

So in summary - you think we don't need/want the patch here? It feels risky
to me to run the BSP with not-yet-restored MTRRs for an extended period of
time.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:14:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:14:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929716.1332467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpse-0002DJ-Sv; Thu, 27 Mar 2025 16:14:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929716.1332467; Thu, 27 Mar 2025 16:14: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 1txpse-0002DC-PE; Thu, 27 Mar 2025 16:14:56 +0000
Received: by outflank-mailman (input) for mailman id 929716;
 Thu, 27 Mar 2025 16: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txpsd-0002D4-Bo
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:14:55 +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 9de16378-0b26-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:14:53 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso10030975e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:14: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-43d830f5b41sm43568815e9.27.2025.03.27.09.14.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:14: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: 9de16378-0b26-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743092093; x=1743696893; 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=KLtvc3BsJ7SCFKZ6CL3SzCgo3YbdZNQjuJ/eiTamoys=;
        b=Q05zvCJiGUaDKW8Y+N2Eq4xObbYQO4KtooZwup2T83TR2jqi+IZm8N0Pch1tm89m94
         WLpN8Nbx8DYIGD/Ip/VucwqRSlxjB2XyeO0WivJyYCh2pHU1bcB0SbSP/0jWWbk5Bg8P
         8sXbg5UH5v4MYsSdm+yNqchCtwT1vYYKgvarc0bbkazwPLNztV2S4ob+vXct0Qzvrfwq
         ++gGiki0HjPxgIiHZs03jhQAcHu+tFrjEAg9QfN1cnnJUkEttvRLVwm1BMtAiaXFnC99
         K0lgZi/2n5OBSW1HEqvb68XEAcSygzN3ZRjO0gTclz4iKse3ak3CK5UV/QcOcB734Osl
         OL5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743092093; x=1743696893;
        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=KLtvc3BsJ7SCFKZ6CL3SzCgo3YbdZNQjuJ/eiTamoys=;
        b=OjFQQVbLRCBFtYB7d6Uvv26TwhDgQOYn5qUdhY6JBNLPOJ9vAryij/LdbYPjSvIBCI
         4c6M2S04sGbY892M2rQHSdCFzjWItP56J+NKHeCboVE5p6T/ZbBPnN2nzlaM4XjhVTid
         q/jicWim2Gg9shKoqfn8ldoG+AH8+TdWYXjiW0V7pEPCqOi/Nrw4/yUjPYvKz146CC7M
         K0tp8VlbqPusT6zqrout2NJ/h8TYtWMFXDIXuqQQSFqjv37k252tEevUoD2zaNeYPR3Q
         +3Dgcm+e5DEmWQpGSHOAF4zs0YKUd6LSem2SVaFylfoN96R42jzygxgDgqaepqLJzati
         62KA==
X-Forwarded-Encrypted: i=1; AJvYcCXASFLtTsKiRUQ9tWOG5GB9mb1sEwc9Niulfhqyw/kQ6K7jhaeW1zM4VjQool1Z32Y0LNoaDWC7DMo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwDSisd8sUD5KRx1AsqjXmX8EprAGmApMar5i71PW32mRFeo18i
	5b6SNyMFbtvj3zjEhnZXlJGivf93zIJhzSD9uEmb+Q8WMmpkVW8PVvwIyKxfjQ==
X-Gm-Gg: ASbGncuJwv1t7yeLBkEynfSs8fcN5ji03jD6tKxgO/WJtWKRggTitsMHmQZf1E8HV7h
	2LotrHmo/kZrS2x5tJLZkLTkyFAs0tRYHEHb686emMUnUwDRuAZ12FX3WVgdn77oVZtKMNeuCXd
	tjmmWr+9jbmIwziQc6snNQ9X4HJn1buzXyTMyc5gqoY9d0MQ4y0xtU3adlQyLuCIujKXpVRtuUC
	r2PLoUEsYLYonuL3UH1lYDkZAqp6LoLWPj3a2YN1bogb1lSoyfmhW7Q9E8dhrNv6gp+dhOnxBg2
	y+buUF6Ei62B47kh+xCESmttTBl4gDZkiZzFO7qnPINt4oh7uRrS8RlboC+13RN/c8giYikAPSu
	w2kVuSIlk6dVvNpHnfDxFHUFm0R/ezKUllVn6mDh/
X-Google-Smtp-Source: AGHT+IHtp10upFyieDlUwg4wXSaRDgKbYQU+o2F6r6ARXQ5TVITIMJGGEHTrWeDhIEpCJbw2SmfTSQ==
X-Received: by 2002:a05:600c:3d14:b0:43c:efed:733e with SMTP id 5b1f17b1804b1-43d84fb2fbamr49288285e9.14.1743092092903;
        Thu, 27 Mar 2025 09:14:52 -0700 (PDT)
Message-ID: <3cd454c5-f080-41ad-a653-a3ca9d1e0edc@suse.com>
Date: Thu, 27 Mar 2025 17:14:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.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>,
 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>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org
References: <4f085bcbf5b6f1bc42824bfb08724e8a9bbd4918.1743005389.git.oleksii.kurochko@gmail.com>
 <17a808cf-e676-4c30-9068-34a9a4d568d7@citrix.com>
 <c3d6a46c-c372-43f2-81d4-8128ebcb1b2b@gmail.com>
 <14d9be78-39c9-44b2-b6d8-6ff5fe1b8409@suse.com>
 <b9e191b5-9ed6-41bd-b8ec-9843df10d5d1@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: <b9e191b5-9ed6-41bd-b8ec-9843df10d5d1@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 17:12, Oleksii Kurochko wrote:
> 
> On 3/27/25 2:16 PM, Jan Beulich wrote:
>> On 27.03.2025 13:50, Oleksii Kurochko wrote:
>>> On 3/27/25 1:44 AM, Andrew Cooper wrote:
>>>> On 26/03/2025 5:47 pm, Oleksii Kurochko wrote:
>>>>> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
>>>>> index d888b2314d..dbbf2fce62 100644
>>>>> --- a/xen/include/xen/config.h
>>>>> +++ b/xen/include/xen/config.h
>>>>> @@ -98,4 +98,13 @@
>>>>>    #define ZERO_BLOCK_PTR ((void *)-1L)
>>>>>    #endif
>>>>>    
>>>>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
>>>>> +
>>>>> +#define BITS_PER_BYTE   __CHAR_BIT__
>>>>> +#define BITS_PER_INT    (__SIZEOF_INT__ << 3)
>>>>> +#define BITS_PER_LONG   (BYTES_PER_LONG << 3)
>>>>> +#define BITS_PER_LLONG  (__SIZEOF_LONG_LONG__ << 3)
>>>>> +
>>>>> +#define POINTER_ALIGN   __SIZEOF_POINTER__
>>>> See how much nicer this is.Â  This patch possibly wants to wait until
>>>> I've fixed the compiler checks to update to the new baseline, or we can
>>>> just say that staging is staging and corner case error messages are fine.
>>> Do you mean this patch:https://lore.kernel.org/xen-devel/20250320153241.43809-3-andrew.cooper3@citrix.com/?
>>>
>>> I haven't checked clang but if to look at gcc then these builtin macros was introduced in
>>> 024a85aeb6a("c-cppbuiltin.c (builtin_define_type_sizeof): New function.") and it seems like even older then gcc5
>>> contains this patch:
>>> $ git tag --contains 024a85aeb6a912811d917f737eaad39140c2fb0c
>>>     ...
>>>     releases/gcc-4.3.0
>>>     ...
>>>
>>> Am I missing something?
>> The check yet to be adjusted is looking for 4.1, so 4.3 would already be "too new".
> 
> I guess you mean this one check:
>    check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")
> 
> Could I ask then why in the link above it is checked different version?

Because we're only in the process of switching to a higher baseline. Some
parts still need bringing back in sync. Which is also why Andrew said what
he said.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:16:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929730.1332477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txpuX-0002ob-B6; Thu, 27 Mar 2025 16:16:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929730.1332477; Thu, 27 Mar 2025 16: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 1txpuX-0002oU-8J; Thu, 27 Mar 2025 16:16:53 +0000
Received: by outflank-mailman (input) for mailman id 929730;
 Thu, 27 Mar 2025 16:16: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=zm5l=WO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txpuV-0002oO-Rl
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:16:51 +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 e34490a9-0b26-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:16:50 +0100 (CET)
Received: by mail-wm1-x343.google.com with SMTP id
 5b1f17b1804b1-4394a823036so12553115e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:16:50 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d82e6a532sm42418235e9.9.2025.03.27.09.16.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:16: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: e34490a9-0b26-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743092209; x=1743697009; 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=IgBBoQB+quUX2SrmOXl6uu4eIvNYFTprpYaPvpOUfBM=;
        b=c5Xf7szn9IADjzCjJ62Wb+hfOb/1iY2U61fBnOZqrCR0OuYANTJzQLEaQrhkUmnPH0
         /BaBrqBf1IZTjzhzVMRRbNWN/dOhjkdNbTC7VndWaVVIBi9FuJJF2R42TxTJVL5ylm1x
         L/NhsX+mCS1CMJlyt16bHAErfoohsKqbDjHtzW/EdTjJxFzbvsWvEHPHVOG7ZsXVEkJ7
         nrZk/3uZpPNcdNixEMWDP5an8FBg9/s5FOUQW5XhDrYNm3E4jwf1DLxiG/q08IFRrh4A
         QXJj3GzFqZ3DKBrqtvI/7c3rzeHXgMEN5VJ933oewhxtvoZ5t9jFkdpxdGz9hqRwlTSX
         LDOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743092209; x=1743697009;
        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=IgBBoQB+quUX2SrmOXl6uu4eIvNYFTprpYaPvpOUfBM=;
        b=qLA9BOlYjAS0zgtC5+S2ZXCLhVqz2ePVVslllH82rvWx9h8Xx5Y7aD6cEO75BNTJke
         MkW6fS0ik+hnC8JGYdHkjWvMrK0pA6h56B4889KJJMkH8qaUesFZd024kPPCCjoOYJxi
         5/NnRDmS17eHEC/o86Zk1EmzifsYmB4hXZMxW2B2NuE+Opm1elbXQZfxshPggI8ZAlq7
         6Q+PH2H1zPBdrMenSa8m6pj5SGL/FDfCPwVLTbtPfz+c9gqC3q/ew6Pg3BO6lwbTWzBf
         0RTYd+3hK0WZZyf4xJhvJWoNSFMiLrUX3OTKHi8GCL3PeyoSRnfQKkQc1KyMEr+RGjtB
         UIAg==
X-Forwarded-Encrypted: i=1; AJvYcCVN02rg9fH5DM0ynqvJYo8KO/i8HWz7v0fgCF6KorqX+19XPDoloIyAMjvAAspq3RKfXdpdcaojMTk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzMgU2zu2Y+ptMyorlIcrUZ89MVEgoD6GtLQvlayrt0FEMmFNXG
	XuxbYNPmoia8PuAgu+mzlgFYgakbhhmePgV2ym1RGzO1fHJ3CJg1riauUecGJN8=
X-Gm-Gg: ASbGnctZHTK13Ej3CwZJt1hEGWwRMf6wQo4TDezG74+mtdjbi+H1+JSRrQk8Z5/gNb1
	dRqQHXqYDWDiYH3dsayQyBIC+vD2tvZ93KKluYnf0q82/V63R4UUpIzBN3EHveyIVH2atHjWnMn
	Aw4bF9tNNUnidBnhbAu9lNJnPUGzo+O/rPUCmOITcrr5sUHfedq9qVxBZbzdYx715tBxUUNCpN5
	cGpHeMj0jC1Hybj+PTiMfS6qIf0MLl8IWhSck9aWDb8/QOj0i8cAxywyRlpXd7Se3R2M5vprZ6K
	DlfMtACyBVmtRaNguYHgfOS3Zu8vom+CFbbJPZQMaME9e4FnA+IuFJ5tWhRdrCpoN5oD76bL4GC
	JLw/xKrTf2xAE30cnJMDLiNn2b9CLkqPHG4MjiWIWJ989gm8u9GMG3ngf18zCIQIY0I4jiA==
X-Google-Smtp-Source: AGHT+IGjyYDSt2rqgUaJ5mOAdcH03yCaPc44BFfuIXWlzw2pZ0CnTnkUcqUhg+AnZeDZ+bl99Tr88g==
X-Received: by 2002:a05:600c:4fd0:b0:43c:fa24:873e with SMTP id 5b1f17b1804b1-43d84fb1f59mr43440385e9.13.1743092209142;
        Thu, 27 Mar 2025 09:16:49 -0700 (PDT)
Message-ID: <bcf9b121-40a9-4c77-8e6f-34366a86a572@suse.com>
Date: Thu, 27 Mar 2025 17:16:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] SUPPORT.md: make Linux based stubdom fully supported
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-2-jgross@suse.com>
 <0db5c039-f379-4393-b00f-c4cd44188a9b@suse.com>
 <16266da1-f164-41a4-a569-b500998b4b64@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: <16266da1-f164-41a4-a569-b500998b4b64@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------cH5g7Bzy5pCU4rcu0yLC8HVc"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------cH5g7Bzy5pCU4rcu0yLC8HVc
Content-Type: multipart/mixed; boundary="------------4mOyTSePYD7PBNBKlLXah02W";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.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>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <bcf9b121-40a9-4c77-8e6f-34366a86a572@suse.com>
Subject: Re: [PATCH 1/6] SUPPORT.md: make Linux based stubdom fully supported
References: <20250326160442.19706-1-jgross@suse.com>
 <20250326160442.19706-2-jgross@suse.com>
 <0db5c039-f379-4393-b00f-c4cd44188a9b@suse.com>
 <16266da1-f164-41a4-a569-b500998b4b64@suse.com>
In-Reply-To: <16266da1-f164-41a4-a569-b500998b4b64@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=

--------------4mOyTSePYD7PBNBKlLXah02W
Content-Type: multipart/mixed; boundary="------------aWuBchtelEHDOh4VjTTny3Sk"

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

T24gMjcuMDMuMjUgMTY6NTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wMy4yMDI1
IDE2OjI1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjYuMDMuMjUgMTc6MDQsIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gQWxsIHBhdGNoZXMgbmVlZGVkIGZvciBydW5uaW5n
IHdpdGggYSBMaW51eCBzdHViZG9tIGRldmljZSBtb2RlbCBhcmUNCj4+PiBpbiB0aGUgdHJl
ZSBhbmQgUXViZXNPUyBpcyB1c2luZyBhbmQgdGVzdGluZyBMaW51eCBzdHViZG9tcyBub3dh
ZGF5cy4NCj4+Pg0KPj4+IFN3aXRjaCBzdXBwb3J0IGZyb20gIlRlY2ggUHJldmlldyIgdG8g
IlN1cHBvcnRlZCIuDQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+DQo+Pj4gLS0tDQo+Pj4gICAgQ0hBTkdFTE9HLm1kIHwgMSArDQo+
Pj4gICAgU1VQUE9SVC5tZCAgIHwgMiArLQ0KPj4+ICAgIDIgZmlsZXMgY2hhbmdlZCwgMiBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvQ0hB
TkdFTE9HLm1kIGIvQ0hBTkdFTE9HLm1kDQo+Pj4gaW5kZXggOWE1OTE5NTg1ZC4uYjAzZTJj
NzNkNyAxMDA2NDQNCj4+PiAtLS0gYS9DSEFOR0VMT0cubWQNCj4+PiArKysgYi9DSEFOR0VM
T0cubWQNCj4+PiBAQCAtNyw2ICs3LDcgQEAgVGhlIGZvcm1hdCBpcyBiYXNlZCBvbiBbS2Vl
cCBhIENoYW5nZWxvZ10oaHR0cHM6Ly9rZWVwYWNoYW5nZWxvZy5jb20vZW4vMS4wLjAvKQ0K
Pj4+ICAgICMjIFs0LjIxLjAgVU5SRUxFQVNFRF0oaHR0cHM6Ly94ZW5iaXRzLnhlbnByb2pl
Y3Qub3JnL2dpdHdlYi8/cD14ZW4uZ2l0O2E9c2hvcnRsb2c7aD1zdGFnaW5nKSAtIFRCRA0K
Pj4+ICAgIA0KPj4+ICAgICMjIyBDaGFuZ2VkDQo+Pj4gKyAtIExpbnV4IGJhc2VkIGRldmlj
ZSBtb2RlbCBzdHViZG9tYWlucyBhcmUgbm93IGZ1bGx5IHN1cHBvcnRlZC4NCj4+PiAgICAN
Cj4+PiAgICAjIyMgQWRkZWQNCj4+PiAgICAgLSBPbiB4ODY6DQo+Pj4gZGlmZiAtLWdpdCBh
L1NVUFBPUlQubWQgYi9TVVBQT1JULm1kDQo+Pj4gaW5kZXggOTFjYjZmOGVkMi4uZWQ0NDEy
ZjBhZiAxMDA2NDQNCj4+PiAtLS0gYS9TVVBQT1JULm1kDQo+Pj4gKysrIGIvU1VQUE9SVC5t
ZA0KPj4+IEBAIC0yNjAsNyArMjYwLDcgQEAgR28gKGdvbGFuZykgYmluZGluZ3MgZm9yIGxp
YnhsDQo+Pj4gICAgDQo+Pj4gICAgU3VwcG9ydCBmb3IgcnVubmluZyBxZW11LXhlbiBkZXZp
Y2UgbW9kZWwgaW4gYSBsaW51eCBzdHViZG9tYWluLg0KPj4+ICAgIA0KPj4+IC0gICAgU3Rh
dHVzOiBUZWNoIFByZXZpZXcNCj4+PiArICAgIFN0YXR1czogU3VwcG9ydGVkDQo+Pg0KPj4g
VGhlIHN0YXR1cyBjaGFuZ2Ugd2FzIGRpc2N1c3NlZCBpbiB0aGUgc2VjdXJpdHkgdGVhbS4g
VGhlIHN1Z2dlc3Rpb24gd2FzDQo+PiB0aGF0IHRoZSBuZXcgc3VwcG9ydCBzdGF0ZSBzaG91
bGQgYmUgIlN1cHBvcnRlZCwgd2l0aCBjYXZlYXRzIiwgY2xhcmlmeWluZw0KPj4gdGhhdCBh
bnkgaXNzdWUgaW4gdGhlIHN0dWJkb21haW4gYWZmZWN0aW5nIG9ubHkgdGhlIGd1ZXN0IGl0
IGlzIHNlcnZpY2luZw0KPj4gd291bGQgbm90IGJlIHJlZ3JhZGVkIHRvIGJlIGEgc2VjdXJp
dHkgaXNzdWUuDQo+IA0KPiBNaW5kIG1ha2luZyB0aGlzIGEgdGlueSBiaXQgbW9yZSBzdHJp
Y3QsIGJ5IHNheWluZyAiYWZmZWN0aW5nIG9ubHkgdGhlIGd1ZXN0DQo+IGl0IGlzIHNlcnZp
Y2luZyBvciBpdHNlbGYiPw0KDQpGaW5lIHdpdGggbWUuDQoNCg0KSnVlcmdlbg0K
--------------aWuBchtelEHDOh4VjTTny3Sk
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-----

--------------aWuBchtelEHDOh4VjTTny3Sk--

--------------4mOyTSePYD7PBNBKlLXah02W--

--------------cH5g7Bzy5pCU4rcu0yLC8HVc
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/Ey8FAmflee8FAwAAAAAACgkQsN6d1ii/Ey+v
Lgf9HvIVoRMAN6tMtnFWrLSMh/zNv1PmM/9khKT2WJVNsoq4xLjzbEEsFjBLQrO/nIpSIOYB2y4d
6nkWI9NHs9qaj7ddG45CvUZdyNqJv/YrBM/kieahejI5mis+AGkRUaHQPPi55VNHZcG1Hk5wOAcR
cmE2PxihH4Z3gUHy+9KkCpivXuGurXPgyCYSsP+UVtKKcBGQ8a2a/Q17tvDV1vnJ+n23msjcXuJt
ebxdDVJ9ra/1BSpm7q2Z+JHbI4HR5DGtCcTLhehaGjTdbP1Sl6uftpUr3jwf0AEC2/L0RfWSms6T
obtIOqIhJ+oNNQS9inPQN3Xz0OOUYrnAmJ+tEmnLPw==
=5KX1
-----END PGP SIGNATURE-----

--------------cH5g7Bzy5pCU4rcu0yLC8HVc--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:31:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:31:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929741.1332489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txq8X-00078F-JZ; Thu, 27 Mar 2025 16:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929741.1332489; Thu, 27 Mar 2025 16: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 1txq8X-000788-Ej; Thu, 27 Mar 2025 16:31:21 +0000
Received: by outflank-mailman (input) for mailman id 929741;
 Thu, 27 Mar 2025 16:31: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txq8W-000782-5I
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:31:20 +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 e8ae176e-0b28-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:31:18 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso8078865e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:31:18 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm44006925e9.40.2025.03.27.09.31.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 09: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: e8ae176e-0b28-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743093077; x=1743697877; 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=hsL60VlqbHYXCM0zVU73W2iigPLdV0ZH9iP6p4Fg3MI=;
        b=uRz6hI/+ndmOvA78v78b8ZboGk3duF/r6XilsgpurFKBMOLbQdK7tVaV9nJY0LDsuJ
         qmUX2ulSGcTb5ls+Za8U8feqL0uSnmkx0M2d8YUN02JQsE2ZsT+l2p+rdgKhdUEGiuQG
         qkUELYqMnkAIXaqO1oy7D/WPH+sCmJwLl/vbo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093077; x=1743697877;
        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=hsL60VlqbHYXCM0zVU73W2iigPLdV0ZH9iP6p4Fg3MI=;
        b=dzg3APB0YKKkq3w7yZ/s3dWfhdvG8Mc76RTAJuZKSLvp7AgIBp1DD5vE8XdL8qQmi9
         w03KVwBdQBWP0eHyhq+MUXUwTfRZ97Wqa4pOT8An2Tu/FL1r9LqPYEFjozD3VfL92wei
         VHqCnGqsXgQ1P0y8I5PGzvakxrtKFaOqA5f1MeQ4ccuEpqR0VxR9DN1awV5DJRPRCVLG
         X9HpQQnOxunEptXQgSRrmm0WGIuW+a/B4/fBOEOCw5ZWEsEtQpEittjeYM47KjnABJaJ
         /A86BXufzQFwHB2Zb78uHPb5fnom3S+H+mnRhjO21aqx8aVa3yowwZtEudgWov2kVOHg
         F7Zw==
X-Gm-Message-State: AOJu0Yw9vmypXVyu5Bx2s5hQUE2KCyHslA7Yl+IgPekoeL0yw8f9MIvP
	J11ithAucLgC+OifXM1W6QEoY1XNFW041QZZDqiRpRH+xuybgt5kU9YaE1Tmn7zmV4SvtTcdbuA
	a01A=
X-Gm-Gg: ASbGnctOqm8nAgC1ez9S7qb6qns4gXRtYp9mU+JK8aSZ1w7Lb/I+SelU502JadrxA/D
	shExtenJ8wYS6mqRmg/6x2GByN5Xz6V6D6AdL4gCDbdzC/8yo2l2oJXsgH4yGLbAGa8QnkyP2E0
	wDMzOmmcCETt4t3p78RxibLf5Ulu1tna/tFuBKD4e95BK7GbJ7usX0j0JaWKrx/hPlsc0kv3QRk
	AbJoX0Bz9PXA/L73tgF7Px12IXXm3lguEVVK15SQL5u7uPgDR1QwJe0vRNg49Fgve6IkMw0wsjD
	nixpuWXTykG8e1baItkrn9zKCzrmo1qx+ZySEYZufpwzpLT1xXRg9gjs6oCJRRjhBMjWCLwqU3p
	ggRB0bkE3d7oIwXYEGQ==
X-Google-Smtp-Source: AGHT+IEiBdJu2LFhdtlV+RK1eACdEVHQ7q7mIrkpk4WTY5pjnEkX9/KGS6ldIXIxBLK6SB4GEjiAQw==
X-Received: by 2002:a05:600c:1e16:b0:43c:f680:5c2e with SMTP id 5b1f17b1804b1-43d8e6c0616mr9159315e9.13.1743093077088;
        Thu, 27 Mar 2025 09:31:17 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v2] Xen: Update compiler checks
Date: Thu, 27 Mar 2025 16:31:14 +0000
Message-Id: <20250327163114.405824-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

We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.
Remove the one from compiler.h, as it's pointless to perform in addition to
the xen.git-wide one as well.

Expand the checks to cover RISCV wanting GCC 11.1, and to cover Clang on x86.

PPC still is unspecified, and inherits the GCC 5.1 global baseline.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

v2:
 * Change to altering Config.mk

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1738628602 with
the CI changes reverted, so as to expect failures for CentOS 7 and earlier
Ubuntu Clangs.

The $(eval $(check-y)) is badly positioned:

  xen.git/xen$ make
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
    HOSTCC  tools/fixdep
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  make[1]: *** [scripts/Makefile.host:108: tools/fixdep] Error 1
    HOSTCC  tools/symbols
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  make[1]: *** [scripts/Makefile.host:108: tools/symbols] Error 1
  make: *** [Makefile:610: xen] Error 2

It is involved every time Config.mk is included, rather than once per `make`
invocation.
---
 Config.mk                  | 14 ++++++++++++--
 xen/include/xen/compiler.h | 14 --------------
 2 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/Config.mk b/Config.mk
index 8a73f3da62b4..a9d62fc10cfa 100644
--- a/Config.mk
+++ b/Config.mk
@@ -125,8 +125,18 @@ define cc-ver-check-closure
     endif
 endef
 
-# Require GCC v4.1+
-check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")
+# Minimum GCC version: 5.1, except for RISCV which needs 11.1
+ifeq ($(XEN_TARGET_ARCH),riscv64)
+check-$(gcc) = $(call cc-ver-check,CC,0x110100,"Xen requires at least GCC 11.1")
+else
+check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC 5.1")
+endif
+
+# Minimum Clang version: 11, x86 only
+ifeq ($(XEN_TARGET_ARCH),x86_64)
+check-$(clang) = $(call cc-ver-check,CC,0x110000,"Xen requires at least Clang 11")
+endif
+
 $(eval $(check-y))
 
 ld-ver-build-id = $(shell $(1) --build-id 2>&1 | \
diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index 636a85bc417d..43b666133a92 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -1,20 +1,6 @@
 #ifndef __LINUX_COMPILER_H
 #define __LINUX_COMPILER_H
 
-#if !defined(__GNUC__) || (__GNUC__ < 4)
-#error Sorry, your compiler is too old/not recognized.
-#elif CONFIG_CC_IS_GCC
-# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
-#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
-# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
-/*
- * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
- * https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
- */
-#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
-# endif
-#endif
-
 #ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
 /* Results in more efficient PIC code (no indirections through GOT or PLT). */
 #pragma GCC visibility push(hidden)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:31:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929747.1332498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txq8w-0007WM-OT; Thu, 27 Mar 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 929747.1332498; Thu, 27 Mar 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 1txq8w-0007WF-Lx; Thu, 27 Mar 2025 16:31:46 +0000
Received: by outflank-mailman (input) for mailman id 929747;
 Thu, 27 Mar 2025 16: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=U7fn=WO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1txq8v-0007N3-BW
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:31:45 +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 f895ee73-0b28-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 17:31:44 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e8be1bdb7bso1985431a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:31:44 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 4fb4d7f45d1cf-5edc17e01f7sm34052a12.79.2025.03.27.09.31.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 09: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: f895ee73-0b28-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743093104; x=1743697904; darn=lists.xenproject.org;
        h=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=TTcpwQghemzPVtac8LblK6+2AfxY03jru2N5EbYHh74=;
        b=iVuTTg4DInFd5Civ5RgSurLdRskg5kCngIsDcJDO8wzjE39rQQNaa6cu+Yn2E7Z2av
         tJeLeRODrqf8jjKIiZGJYjzQfVlslHUO1jyywtk8nFFJpjhwqN9Ag2GO30OGuCHe28Q1
         HPAXAWMhZ4emsRuUrwp8DEw4o/mBGIUiUJl2w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093104; x=1743697904;
        h=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=TTcpwQghemzPVtac8LblK6+2AfxY03jru2N5EbYHh74=;
        b=rCFqS72w61LLGykvE2bNoYePoWwuZ/An2XsgtOmEYowpeXM0vzrGGYaCY6aGXNLqPu
         L1p2bvn0iYO6ifqVkB/+e5a9h6+K5sbNNoVsCT2B+EwXFJdfA4mfQVLGmcgGH+zkwxMT
         U7aCOIWWRNOtKRTIJCPRv6z7vNfSmvkWfGwkZidvxrnN9T/i0eQZTbnGvESaFijFtmB1
         0dsQ69osqfqID7oAQiyIndgyIgE9rb4FBUuGgCwGUh7toorLMVhVM8iu2ta/uFvKVrJR
         zQaDdI77d7+HxC/iCyZepQTKKDl7/bLGHcn/+u1jjyQG4o009fswdN108tUhZ5MlEKUQ
         W0tg==
X-Gm-Message-State: AOJu0YyGOEuqmJBBrMnoHyX/dSyDCyO4vfjIIdIK1YSTbJVJIJ9Zkncg
	uWbL+pSOk9ASsHwbraU7V7tmcqyhbYKNU48sC3Hdr+8bVyocvXR5dbPCpn1P1Kw=
X-Gm-Gg: ASbGncttjjejXGXDUMdumoDGxJFXaaoftLJk68H1vD/6veM0EeJHI8aCNFgrv9d487J
	eDk0ZiUYGGd9+g7YLZmh+Z2eczFJ2div9Xtuhk577oZyIdRTM7/YV3RPzqCaTi4/Is0pd8JvHs5
	AquxZuhJTTZkZ+j+otHhtK1KoR0f2FNAeL3YKWnzwS1RxaU4G7QrrRxDPRLaw2f5jDdq6KJeCup
	3hiSporPRaDWPH5OHSgs8WlzXe0bnHY4NjsL376AGSVjzKObAhDeqzLsgOowPUj6GHSkbBxQP5v
	H1oefz15q20JMy+WIQcFp5OkTYL302eJsZUE7JpEbO5qjXFlzw==
X-Google-Smtp-Source: AGHT+IGrr50VcctwrN2mkdbDRU8vcGhqmKEms7g6ZZ788ceiEuz27OT+z1ok2UOU4mTAuQI2dZJ3HA==
X-Received: by 2002:a05:6402:354e:b0:5e5:dbd0:2a4d with SMTP id 4fb4d7f45d1cf-5ed8e27a9aemr3728902a12.8.1743093104118;
        Thu, 27 Mar 2025 09:31:44 -0700 (PDT)
Date: Thu, 27 Mar 2025 17:31:42 +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>
Subject: Re: [PATCH] x86/MTRR: constrain AP sync and BSP restore
Message-ID: <Z-V9btYNKSmEj-HA@macbook.local>
References: <56fbfae0-aac7-4841-ab3c-a7e00dda3744@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <56fbfae0-aac7-4841-ab3c-a7e00dda3744@suse.com>

On Thu, Mar 27, 2025 at 10:54:23AM +0100, Jan Beulich wrote:
> mtrr_set_all() has quite a bit of overhead, which is entirely useless
> when set_mtrr_state() really does nothing. Furthermore, with
> mtrr_state.def_type never initialized from hardware, post_set()'s
> unconditional writing of the MSR means would leave us running in UC
> mode after the sync.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>

Conditional on reaching consensus on whether the mtrr_bp_restore()
needs re-adding to the resume path.  Otherwise the code needs to be
removed.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:37:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:37:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929763.1332508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqEk-0000mX-GL; Thu, 27 Mar 2025 16:37:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929763.1332508; Thu, 27 Mar 2025 16: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 1txqEk-0000mQ-DC; Thu, 27 Mar 2025 16:37:46 +0000
Received: by outflank-mailman (input) for mailman id 929763;
 Thu, 27 Mar 2025 16:37: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txqEj-0000mK-Qf
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:37:45 +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 cf2859e3-0b29-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 17:37:44 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5dccaaca646so2279330a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:37:44 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc17e0704sm40622a12.66.2025.03.27.09.37.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:37: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: cf2859e3-0b29-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743093464; x=1743698264; 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=WpUu7g2gox+aEKkf2BsTiXiwxDGikVtv1LKxKBcEw4c=;
        b=NfNqUpSphH+8wtWV4/5N/KHvRFPSKOTsxjtvIfIZpr2DXvtCbn/1zRWokO5MSSWJOZ
         ulSl7tXrr7ei67XhqTxygBN6FCiqQFt7tOZKvEvlK+6rL+aGpk7agbWfP4ei+d0bV+FM
         FJOuCjBxB3uJHP2MYMnCWcFC19QcRGyY4/Iy3ukMENKCkhPPWj8TpmLvsdBYUdLi3Pxz
         G7UPLeCe2RQsZoX4GrjlD+lJzsgIJ4AQ89eJv4JCvqJU6Tlcybju/Ao3F1LHSMVQ5w44
         P/6BfCSl3DyjJolmvrkv46z5ssIjPPl+TI+3ApNkpoZpkErQ2V9LSLKVubjZJJeCsCBd
         64HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093464; x=1743698264;
        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=WpUu7g2gox+aEKkf2BsTiXiwxDGikVtv1LKxKBcEw4c=;
        b=KKOIkqDgUMgintjGad9XciSGkhE0VpDzPmh/ApTmj4tbP1uE9vwsH19Kwcgz9SzTtm
         KQ3TCNd9NHmuWR4noJN3z/SNqCaVptg9KpidJcQvgj+FFn/+pUW+Tn06tWw4W5x9AlCu
         2GM1GNYDjluKwKa4Hqx+Etl3hl7vuwI+rbz2JC/D/XkLY9KsEz04VgJY8uMtAle419X3
         RupYPe3Sz7+ikT49XgVOq3+yLeUQ/MaTHwE7gN21PHUCXCaMavFTDGKS3O17TH3j2vII
         9lZSzVkAVVz6C4SBjsxRbnxCHESE9udRo5fqudSaC0O3YMZgrAOJ6ofVsZpOV3zrYyoM
         wJiA==
X-Forwarded-Encrypted: i=1; AJvYcCXoK8Rs+kpq16sF5hk0rLYA4rd7lzI5vuqRI3ipOq5eQ0VVdhsbTFgHRQLYC6lC0cywuCSOmTGFgrU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzoCNopLEm+cL4YTWIkl10GTACzXvXMlwfSTFVScVMesTtTFZ0U
	17GEx7Nw29XbTaYLa34NA4l7x2/xRyTx0CyGmoqSlwKMs6twOJww
X-Gm-Gg: ASbGncu5Rul8cckZ/1ohJP8AWNZgjJ+6kWiawij7z58E2JXHmuKfrPMonneY6D1G76f
	VmkxCi3SxtnqiPaD7QmELBqg6seVNMOLwapJz/mNmadySgwU0xFYJgzYXWJ1JShu/TSc47Pr5Sf
	pFNadopDuVL6lcHGQ+abv06THROkViW9CGaoRQ47N0XQddlgf8hDPzrRCCpAJpwv13BCh/1Ct3z
	tE1g5e48ubbjvqHXBZXdmdPsa6LImKG4f/rNc57oAMkA3ZjiOY2biQyq0ZRO0+cJtXKlAP+/EHy
	5SO3rmLmDvcy0aD0Nsr+uzcNq5I8BKkS29kOjG2IlXsT0Dof4NMr7S2pKcdUfmqZQOUbgdp+QhM
	Nts7fHEH39DpWBRBsKs+X
X-Google-Smtp-Source: AGHT+IEpxAjU1UuPDfOon0eiJfSMKIAarthaYzP6vko3LF+A3BXObP6pzG2Wlt+4pBzEM7nR3QgJYw==
X-Received: by 2002:a05:6402:520c:b0:5e0:752a:1c7c with SMTP id 4fb4d7f45d1cf-5edbf30607fmr912653a12.1.1743093463796;
        Thu, 27 Mar 2025 09:37:43 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------BnFoJDXs0yQQDiNVMmI2hJdr"
Message-ID: <5dcde3f5-efcb-42a3-9281-886ce4d80fc4@gmail.com>
Date: Thu, 27 Mar 2025 17:37:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Xen: Update compiler checks
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: <20250327163114.405824-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250327163114.405824-1-andrew.cooper3@citrix.com>

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


On 3/27/25 5:31 PM, Andrew Cooper wrote:
> We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.
> Remove the one from compiler.h, as it's pointless to perform in addition to
> the xen.git-wide one as well.
>
> Expand the checks to cover RISCV wanting GCC 11.1, and to cover Clang on x86.

Why GCC 11.1 for RISC-V? We declared in ./README that 12.2.

~ Oleksii

>
> PPC still is unspecified, and inherits the GCC 5.1 global baseline.
>
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>
> v2:
>   * Change to altering Config.mk
>
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1738628602 with
> the CI changes reverted, so as to expect failures for CentOS 7 and earlier
> Ubuntu Clangs.
>
> The $(eval $(check-y)) is badly positioned:
>
>    xen.git/xen$ make
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>      HOSTCC  tools/fixdep
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    make[1]: *** [scripts/Makefile.host:108: tools/fixdep] Error 1
>      HOSTCC  tools/symbols
>    *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>    make[1]: *** [scripts/Makefile.host:108: tools/symbols] Error 1
>    make: *** [Makefile:610: xen] Error 2
>
> It is involved every time Config.mk is included, rather than once per `make`
> invocation.
> ---
>   Config.mk                  | 14 ++++++++++++--
>   xen/include/xen/compiler.h | 14 --------------
>   2 files changed, 12 insertions(+), 16 deletions(-)
>
> diff --git a/Config.mk b/Config.mk
> index 8a73f3da62b4..a9d62fc10cfa 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -125,8 +125,18 @@ define cc-ver-check-closure
>       endif
>   endef
>   
> -# Require GCC v4.1+
> -check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")
> +# Minimum GCC version: 5.1, except for RISCV which needs 11.1
> +ifeq ($(XEN_TARGET_ARCH),riscv64)
> +check-$(gcc) = $(call cc-ver-check,CC,0x110100,"Xen requires at least GCC 11.1")
> +else
> +check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC 5.1")
> +endif
> +
> +# Minimum Clang version: 11, x86 only
> +ifeq ($(XEN_TARGET_ARCH),x86_64)
> +check-$(clang) = $(call cc-ver-check,CC,0x110000,"Xen requires at least Clang 11")
> +endif
> +
>   $(eval $(check-y))
>   
>   ld-ver-build-id = $(shell $(1) --build-id 2>&1 | \
> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
> index 636a85bc417d..43b666133a92 100644
> --- a/xen/include/xen/compiler.h
> +++ b/xen/include/xen/compiler.h
> @@ -1,20 +1,6 @@
>   #ifndef __LINUX_COMPILER_H
>   #define __LINUX_COMPILER_H
>   
> -#if !defined(__GNUC__) || (__GNUC__ < 4)
> -#error Sorry, your compiler is too old/not recognized.
> -#elif CONFIG_CC_IS_GCC
> -# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
> -#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
> -# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
> -/*
> - *https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
> - *https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
> - */
> -#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
> -# endif
> -#endif
> -
>   #ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
>   /* Results in more efficient PIC code (no indirections through GOT or PLT). */
>   #pragma GCC visibility push(hidden)
--------------BnFoJDXs0yQQDiNVMmI2hJdr
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 3/27/25 5:31 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250327163114.405824-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.
Remove the one from compiler.h, as it's pointless to perform in addition to
the xen.git-wide one as well.

Expand the checks to cover RISCV wanting GCC 11.1, and to cover Clang on x86.</pre>
    </blockquote>
    <pre>Why GCC 11.1 for RISC-V? We declared in ./README that 12.2.

~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:20250327163114.405824-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">

PPC still is unspecified, and inherits the GCC 5.1 global baseline.

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: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
CC: Michal Orzel <a class="moz-txt-link-rfc2396E" href="mailto:michal.orzel@amd.com">&lt;michal.orzel@amd.com&gt;</a>
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
CC: Julien Grall <a class="moz-txt-link-rfc2396E" href="mailto:julien@xen.org">&lt;julien@xen.org&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: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

v2:
 * Change to altering Config.mk

<a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1738628602">https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1738628602</a> with
the CI changes reverted, so as to expect failures for CentOS 7 and earlier
Ubuntu Clangs.

The $(eval $(check-y)) is badly positioned:

  xen.git/xen$ make
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
    HOSTCC  tools/fixdep
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  make[1]: *** [scripts/Makefile.host:108: tools/fixdep] Error 1
    HOSTCC  tools/symbols
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  make[1]: *** [scripts/Makefile.host:108: tools/symbols] Error 1
  make: *** [Makefile:610: xen] Error 2

It is involved every time Config.mk is included, rather than once per `make`
invocation.
---
 Config.mk                  | 14 ++++++++++++--
 xen/include/xen/compiler.h | 14 --------------
 2 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/Config.mk b/Config.mk
index 8a73f3da62b4..a9d62fc10cfa 100644
--- a/Config.mk
+++ b/Config.mk
@@ -125,8 +125,18 @@ define cc-ver-check-closure
     endif
 endef
 
-# Require GCC v4.1+
-check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")
+# Minimum GCC version: 5.1, except for RISCV which needs 11.1
+ifeq ($(XEN_TARGET_ARCH),riscv64)
+check-$(gcc) = $(call cc-ver-check,CC,0x110100,"Xen requires at least GCC 11.1")
+else
+check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC 5.1")
+endif
+
+# Minimum Clang version: 11, x86 only
+ifeq ($(XEN_TARGET_ARCH),x86_64)
+check-$(clang) = $(call cc-ver-check,CC,0x110000,"Xen requires at least Clang 11")
+endif
+
 $(eval $(check-y))
 
 ld-ver-build-id = $(shell $(1) --build-id 2&gt;&amp;1 | \
diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index 636a85bc417d..43b666133a92 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -1,20 +1,6 @@
 #ifndef __LINUX_COMPILER_H
 #define __LINUX_COMPILER_H
 
-#if !defined(__GNUC__) || (__GNUC__ &lt; 4)
-#error Sorry, your compiler is too old/not recognized.
-#elif CONFIG_CC_IS_GCC
-# if defined(CONFIG_ARM_32) &amp;&amp; CONFIG_GCC_VERSION &lt; 40900
-#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
-# elif defined(CONFIG_ARM_64) &amp;&amp; CONFIG_GCC_VERSION &lt; 50100
-/*
- * <a class="moz-txt-link-freetext" href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293">https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293</a>
- * <a class="moz-txt-link-freetext" href="https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk">https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk</a>
- */
-#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
-# endif
-#endif
-
 #ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
 /* Results in more efficient PIC code (no indirections through GOT or PLT). */
 #pragma GCC visibility push(hidden)
</pre>
    </blockquote>
  </body>
</html>

--------------BnFoJDXs0yQQDiNVMmI2hJdr--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:39:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929772.1332517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqGA-0001Ks-PM; Thu, 27 Mar 2025 16:39:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929772.1332517; Thu, 27 Mar 2025 16:39: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 1txqGA-0001Kl-Mu; Thu, 27 Mar 2025 16:39:14 +0000
Received: by outflank-mailman (input) for mailman id 929772;
 Thu, 27 Mar 2025 16:39: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txqG9-0001Kf-8A
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:39:13 +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 02e163ad-0b2a-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:39:11 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso9512545e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:39:11 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314b6dbsm44558615e9.36.2025.03.27.09.39.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:39: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: 02e163ad-0b2a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743093550; x=1743698350; 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=OwtADmZln6SUBU1R3c3bdOUONtfuPmI+Pw8AafFsY7k=;
        b=k2IVScz59Yr/sdqtmWMzMUd/lpWeRgLhxA6HwWDT4mQJOCbLOUtzBkMa/MInrCxNbg
         aWXsohmqSfQbXnBNxgaa8DO55YlvAGwC2inSU24acmza1j6FlN0Ox+2Z1tPTkze6rGMJ
         r9WfIcqJWIRaPT9WH5eqcuVdYYNTwEeYCWE0w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093550; x=1743698350;
        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=OwtADmZln6SUBU1R3c3bdOUONtfuPmI+Pw8AafFsY7k=;
        b=L4VLJ3LGJhiasru40DqH4r4cayYWdPXAsQxMzEWfMvCLPUhZLElZR90H8TQeWV32LR
         INLVgyrxfw9uONR4r8kV3GWX475D7KQIbx4sA+9nlhA24BhNjRprkbGKmBqKJqxCs12h
         0sRsGhkMrQVnUWrQ3WJlM0RLXZkj6ANQmG6lVVBR2aG5DGQfJpkMP2yzVjiNHfbzWYiK
         ubX3fw2ez750Udo4UbdwUqOyftr/UaHbQ0gdXm4PxxLJJgbm8qFLpYdsi4z1yb/W/eVW
         Gol5SYt2//NEUzslp1Ub82WSE7jw1ND8anuU/CPDZ0k/wLHRo0ekQkZeIhmXc4I4QqFx
         dm+w==
X-Gm-Message-State: AOJu0Ywdz6EyvZRexnAJe/57cVwt9lCqaO+eDIJsyEPMPyRWPFO7YIao
	STO8NgcHlT15OxtkHj4RdWQx9k4wCCpsuTxvM1QGKJJeeZcKrY/E45h6Rn7ZeToEvIVsSV9Gz5e
	Cy1g=
X-Gm-Gg: ASbGncutmwtPZzLhPxqUWGl2Yrv/8ZJxbhdEso2BovxaqTpvhAuLP7RQXLAC+mzt69e
	3QM3dHihFLFvM/fJm6rEXYfYiC/UlvMRCbGPFI7Gigi4RcvG3CD+vAWN4sDNnJJQaB+ej5DbZBR
	gDxvaRRouz6WWNJ3efsIpHjsf3CgDRgx6Dqu4081xcLUoZhLs4CmdZc3ZlDxh7B43hAGP7ub3o2
	EcuqvE7jk+9JzVttcNJHwQ1DMDBOQ5lpm7iBWgafATmEA/CnL/GZmRZ9XCL+/XPuwX046AcBEOP
	x4wF2+DQ8MJqtmHcTq2gKw4mpFDpRsj4qFfQRTA25LL+p9zg9mm6mJXlaOPTqxkZoW3TEDjA67H
	1pu8CPDUpX8O6UMvOxZCA
X-Google-Smtp-Source: AGHT+IGVKrjWYhsJ+FmMvD+4+iTnEFuwDUddG7K64BHkYcbeRt9fptwa2DsYMTEXgzi7dwNVR/SUWw==
X-Received: by 2002:a05:600c:2296:b0:43c:eeee:b706 with SMTP id 5b1f17b1804b1-43d855eee87mr24485475e9.24.1743093550555;
        Thu, 27 Mar 2025 09:39:10 -0700 (PDT)
Message-ID: <5e0c8639-9153-4d9a-9e8e-d321ae8a934f@citrix.com>
Date: Thu, 27 Mar 2025 16:39:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Xen: Update compiler checks
To: 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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250327163114.405824-1-andrew.cooper3@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: <20250327163114.405824-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/03/2025 4:31 pm, Andrew Cooper wrote:
> diff --git a/Config.mk b/Config.mk
> index 8a73f3da62b4..a9d62fc10cfa 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -125,8 +125,18 @@ define cc-ver-check-closure
>      endif
>  endef
>  
> -# Require GCC v4.1+
> -check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")
> +# Minimum GCC version: 5.1, except for RISCV which needs 11.1
> +ifeq ($(XEN_TARGET_ARCH),riscv64)
> +check-$(gcc) = $(call cc-ver-check,CC,0x110100,"Xen requires at least GCC 11.1")
> +else
> +check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC 5.1")
> +endif
> +
> +# Minimum Clang version: 11, x86 only
> +ifeq ($(XEN_TARGET_ARCH),x86_64)
> +check-$(clang) = $(call cc-ver-check,CC,0x110000,"Xen requires at least Clang 11")
> +endif
> +
>  $(eval $(check-y))

No, this doesn't work.Â  Tracing a RISC-V cross-compile, it's invoked
with different $(CC)'s.

+ gcc -dumpversion
+ awk -F. { printf "0x%02x%02x%02x", $1, $2, $3}
+ [ 786432 -ge 327936 ]
+ echo y
+ riscv64-linux-gnu-gcc -dumpversion
+ awk -F. { printf "0x%02x%02x%02x", $1, $2, $3}
+ [ 786432 -ge 1114368 ]
+ echo n

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:39:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929779.1332528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqGa-0001mF-2X; Thu, 27 Mar 2025 16:39:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929779.1332528; Thu, 27 Mar 2025 16:39: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 1txqGZ-0001m8-Um; Thu, 27 Mar 2025 16:39:39 +0000
Received: by outflank-mailman (input) for mailman id 929779;
 Thu, 27 Mar 2025 16: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=8rqf=WO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1txqGY-0001ZW-BJ
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:39:38 +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 124cf9f2-0b2a-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 17:39:37 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-399737f4fa4so490827f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:39: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-39c0b658c87sm31887f8f.9.2025.03.27.09.39.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:39: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: 124cf9f2-0b2a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743093577; x=1743698377; 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=JEcMrIyCObStPjgLTR7Cc7eNEUrhNcIOYFIB3UZ+YpY=;
        b=Fc30aS1MUoewOMNywiWosOTXbRuQ3HxGgOOLcOEs3nlrRpTqhdgcBtnGWVFSByc1s/
         wfdr4ZrA7aXv9E78Sb6LBU0ZqkgbMvUPKelRnSrXmszv00/2QUR//ft7SYzQRWnKf7D/
         VJtxmcAf8qCCSyO+1v8I93HjKZo7kAeEOu6SQBUUGNOXABf9IW8fefkmWJqFocmmWr0r
         I8tHoJRH2Bt6z49LmYzbYA/Ou5Ropy8IFMT3rWksq3NR/cWMXtuY0TG5zVItgHRF6uGy
         B/TPzyD0XLa/a+bhuOXMSeY1knX5613xGh575yBvN+uqyArahWWjgi3ccTH2b6tA1XNx
         ZM8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093577; x=1743698377;
        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=JEcMrIyCObStPjgLTR7Cc7eNEUrhNcIOYFIB3UZ+YpY=;
        b=TMD+6E7dFUuVd7EIkW6uCo0QQviw4OLV4uPWgqjZ/Zss+GoEuD4XIBps9BxEWh9He5
         PmEZ/FeCOQjWH6tHClvWfxaVMNdVsvCe5yvpAZ2Ug9bXPbFm+Vat77iaAIUZDM90C8bs
         ynld42ku+Z3moZveAbXOrAJx8Iox1MpPsjWsptClE4acH1dyd0njPhO3AAk+Sk5eorX6
         fctwFOLxgWPRKcKnCFtkGpvBc/PvrzhWU4h/X4Z7HVGxeNq1bPFInQUErmyht9j+axza
         HPffi9jcTrMKa+7zOpBlbSHYw4IXTtG9p2uhmmqhtcSfOEZS8HpKlB5wS/mA6LszaclL
         8+Lg==
X-Forwarded-Encrypted: i=1; AJvYcCWOZRWp8Qlr7hBJJ7vExSK1jUlbNxsvt6bXZkGKD+tt1H/5vU3zNH19ZQ4YOry2VxCqpRZedyIfrDw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybIUSF/1aSbqfAAoa1gtkxj9I9vOexrXePyc6PBrcnfGVb+Jna
	PiJX+NMdFvy/Whg2HnxQh7yI48rBO0fDNp9csWkTR6x5oenEhvcvLlbqPqi4hQ==
X-Gm-Gg: ASbGncs/JPIp5bX9qmwDSs+0hKlnc3vijzLXSK45P/OSBmNAxxPsWIjCtuiAcZ2Pbtg
	BjUMTgKRN69raYlVBaRVsWxqAJif1w2xkq2uz2zNtpNCyxgzIYQB/WFyj5WYejPBQHDAnTGWmaN
	XPBjpL8TU9YisEg9Nfif9up15na/xXc94fsVQQfTgFjyumcO1zi4yZJJSA7RsrWBJUAjmGJSUKf
	TFJxKflrS8hgRgOr22a9BtJPYoySoGgDgqaAOPaw9DQcmal8suaLRVLOOt3KemCJ8sQ9r1CbwVy
	+rzQj0sxxJ8+yejtBJmB9J2/81BnjY3UOiKCGKOx0ox3GZEYAb5Ta6HzZGg1U9e48W77FkziegX
	wFQJ75K5fILZC+syeFeDBTX4YhN5JlQ==
X-Google-Smtp-Source: AGHT+IH1PWqJmS8To/lbThPOw1u/H9Pzgmar6IyJrxGaguMKldkPxLvN8tyLq2icBkqPVloR3Ggzkg==
X-Received: by 2002:a05:6000:2cb:b0:39a:c8a8:4fdc with SMTP id ffacd0b85a97d-39ad175c052mr3730468f8f.16.1743093576688;
        Thu, 27 Mar 2025 09:39:36 -0700 (PDT)
Message-ID: <d56b2e8f-58ca-4a7d-a8c2-59de9d1c9102@suse.com>
Date: Thu, 27 Mar 2025 17:39:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Xen: Update compiler checks
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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250327163114.405824-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: <20250327163114.405824-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2025 17:31, Andrew Cooper wrote:
> We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.
> Remove the one from compiler.h, as it's pointless to perform in addition to
> the xen.git-wide one as well.

Isn't this premature? The Config.mk one doesn't terminate the build, according
to what there is in the post-commit-message area?

> Expand the checks to cover RISCV wanting GCC 11.1, and to cover Clang on x86.

./README says 12.2 though.

> PPC still is unspecified, and inherits the GCC 5.1 global baseline.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> v2:
>  * Change to altering Config.mk
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1738628602 with
> the CI changes reverted, so as to expect failures for CentOS 7 and earlier
> Ubuntu Clangs.
> 
> The $(eval $(check-y)) is badly positioned:
> 
>   xen.git/xen$ make
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>     HOSTCC  tools/fixdep
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   make[1]: *** [scripts/Makefile.host:108: tools/fixdep] Error 1
>     HOSTCC  tools/symbols
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   make[1]: *** [scripts/Makefile.host:108: tools/symbols] Error 1
>   make: *** [Makefile:610: xen] Error 2
> 
> It is involved every time Config.mk is included, rather than once per `make`
> invocation.

Right, I guess the $(eval ...) wants to move to every */Makefile in the
top-level subdirs. But as you said elsewhere, that's an orthogonal issue.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:39:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:39:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929780.1332539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqGg-00024H-D1; Thu, 27 Mar 2025 16:39:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929780.1332539; Thu, 27 Mar 2025 16:39: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 1txqGg-00023o-8D; Thu, 27 Mar 2025 16:39:46 +0000
Received: by outflank-mailman (input) for mailman id 929780;
 Thu, 27 Mar 2025 16:39: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txqGe-0001ZW-L1
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:39:44 +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 165b3893-0b2a-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 17:39:44 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so999719f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:39:44 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b7a4351sm1609f8f.98.2025.03.27.09.39.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:39: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: 165b3893-0b2a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743093583; x=1743698383; 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=oxMPPXkAvI+gvmLy1xLY8OfmQWWRZLx6EA/Lj/Py4QA=;
        b=sTU1c4iGUol2WFpml6QNgacKjjFRgK1utWznnWORJGwAQUSayPgEa3nrH3vaUnU/rK
         qi7HWYRxYuwyHQ497StaGRtuaN5YlKd1yOokvhCRungSyOGqmP8L+aN4C+u2QIaDSz9X
         5F9zq8TxSSOLRtWZPn/tyc8OXi/M7IXjHTIbc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093583; x=1743698383;
        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=oxMPPXkAvI+gvmLy1xLY8OfmQWWRZLx6EA/Lj/Py4QA=;
        b=LRlH7reHprZPRUeyegEpIeqSi/eNV0wjVGu7fT6VBSwyP/ZGPBdvj44fJEyhTKHrDg
         61gB5NJuYoJ3Em/uTjdRWSqlOFt/XIIH/1bn6YAYlkyYD/OXdSL/kemVHfGXztd59xMG
         L5Buanvi+Y760DQj6KNKhO0pBU1+RB0Ecx6l8WyPAUkYqAdgxhWnvy8/1rqBXtaieoB4
         sgArN/0VVWq3HnItBmQF+zhoHxS+jIiuBMVZqKpz3ZwiI16pvkMGBgaILuZufG4VJmr5
         R/ERbPyIjYB+iWV/Bg9Qb14jxiwCHrduUIrWKldumNYQLTgofncj+UJ0siEZu2QEvWYY
         A/8g==
X-Forwarded-Encrypted: i=1; AJvYcCUbAIG9dMOpL9ziE85sDZ4oINEgj75b0rluWS6SlDy2vQuibfCRuMcCyiD+1uTGTE3nNKEcVsSV+GY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YygcMB6AcgqvHPXa8WacS3f5xDYjppIkjGsWmGzmPG6f0OhS6Ax
	dIGOugajEESz1SuKaGKp1iAEj6E2b4LMwOuFCJF3nZMe8xKzSZshvdt1+U/RLBw=
X-Gm-Gg: ASbGncvEiyU6EgucSKtonNXwxE/eLqQ43I1LVOeYe+vQiK/0O2pVp2P6jT0i0bQ66qm
	45vqwcbQP0bOdWOO/Ml1jBsrHmjL6YC3DFdUuPwv0v0evyXuipVhJ/F2DipWCnyNiT4vlkJv9Ts
	9AK+2H+uWV1s3i43pndM/8iTDG4BeKweLLWOu/J/ibse6FvkaoUFUpsTD7n2BFRge/IPRX2Q6Dv
	7DkO7Ibt0QTxU0DzlaoDAfvMgT1WLrOCiobB+FnrFNA6R7iJe5/xBjxsGT1xMN2lm5gM4A7Ez+c
	1KSYptQ/yFaDEfEc66+1V6Y2JRP5VXYK97vMjefXP4QUUQzqzCL9MpbfcJysemn6qhQXCnQaEh2
	n4US0QNCCuIQFRqPc43AL
X-Google-Smtp-Source: AGHT+IFo3ToomADe0Ae0GGHPu0thqmg6LomJNG/QQmhwF8/Riw4q6qCoy0UZEr/YgX6LKhp4tC+miQ==
X-Received: by 2002:a5d:6da1:0:b0:38d:d0ea:b04c with SMTP id ffacd0b85a97d-39ad175c0c4mr3788084f8f.38.1743093583538;
        Thu, 27 Mar 2025 09:39:43 -0700 (PDT)
Message-ID: <95aa0a68-d833-4161-b1f4-fb5333f78d91@citrix.com>
Date: Thu, 27 Mar 2025 16:39:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Xen: Update compiler checks
To: Oleksii Kurochko <oleksii.kurochko@gmail.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: <20250327163114.405824-1-andrew.cooper3@citrix.com>
 <5dcde3f5-efcb-42a3-9281-886ce4d80fc4@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: <5dcde3f5-efcb-42a3-9281-886ce4d80fc4@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/03/2025 4:37 pm, Oleksii Kurochko wrote:
>
>
> On 3/27/25 5:31 PM, Andrew Cooper wrote:
>> We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.
>> Remove the one from compiler.h, as it's pointless to perform in addition to
>> the xen.git-wide one as well.
>>
>> Expand the checks to cover RISCV wanting GCC 11.1, and to cover Clang on x86.
> Why GCC 11.1 for RISC-V? We declared in ./README that 12.2.

Sorry, that's me not paying enough attention.Â  I'll fix.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:43:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:43:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929805.1332547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqKc-0005NJ-Qo; Thu, 27 Mar 2025 16:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929805.1332547; Thu, 27 Mar 2025 16: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 1txqKc-0005NC-O8; Thu, 27 Mar 2025 16:43:50 +0000
Received: by outflank-mailman (input) for mailman id 929805;
 Thu, 27 Mar 2025 16:43: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=zm5l=WO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txqKa-0005MK-Us
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:43:48 +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 a7addb45-0b2a-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 17:43:48 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4394a823036so12886725e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:43:48 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b662c1csm35842f8f.28.2025.03.27.09.43.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:43: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: a7addb45-0b2a-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743093827; x=1743698627; 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=VSgzcBYwY2oX2th1qZYE/J0ND1I/Q4yGhZR5vEg4m40=;
        b=NbFX5WbZCEiyU4o1Uepidxc4dLRb/SfuahlKQUz94FbfMsj+GdJo2RuLO5ts+xerpD
         7JAJsrUTwYZEUiEywa3uVYMGwnItFR2NPliOnLm2bsg135DTTCs3SjAGZyOFO7+ZLPyL
         6GXYegVJ4KCYuqp3Eu5x/jMId3ULxnbJ3TnLqpqTYxT2PdLH607MRkkke1V2Ozbf0bTD
         idcGxxM2JgIw5gbUti2PlHoB3mssrX2O69XZJGEqlG89eYdVG97qV8xbK/8ad7Mm2YLD
         QVixh/5/yOP0Vk4m00HyPodeG9OFhxoOVB8lc02ZQWtTwqb7JWv3Nwi6Yry5vFHnVOi/
         yabA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093827; x=1743698627;
        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=VSgzcBYwY2oX2th1qZYE/J0ND1I/Q4yGhZR5vEg4m40=;
        b=Oy1UguZWC/P8gwlsqr9zMhKPL/SiB0ffPg/IK7LXd5LUXC0fN7yc04WPxmIVb9Vi2K
         qf3F6KO5Ny/tHqvA9OIotdEy989xH8uazJbsmsoM1vbSt3sYSTavE9VnnOAeq1nkhmLZ
         pSwR15TuQ/ijYkCvkMa9dYWBttLYIPmXaltTLUUuYhZMc6di1ouYl0MYUhnUk7k5EJYA
         qrr3JoKy8yuhgTnDF88feJ1p02QydNsSnQOlHT493+ycLLzHExb4QoGHg6wyb0N7h0nl
         9UKCrgs9R2sRnjtEWzV9AycKe6Q2e2rKL5G9WpAjBGRUYAzM9TQbwWRBUGScEKf76Ww4
         Coww==
X-Forwarded-Encrypted: i=1; AJvYcCWk75smw17jOAj7ENJHJRxjTagTa0Dc5M18FueSdkCs9Ed8z1jHNHVvmjv/gCxVkrOTkj48hBqGHjE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHBT/yr8uBCuRxWSkOD6C9Yc0+trR6StRnWkHk9vOIWhU9hP+6
	CA0YkOzWctBVbfdQb12w30WnelDTf88F5leEc4wVTCTQMTaCOf/BE+1zv6xxX3k=
X-Gm-Gg: ASbGncve5UTJ+NW/1Qtx+sN9C7X3dtXcE3mcNms3OuT6Y9N1vNu6ULFT5ANOmKAH2+1
	sWJPKgnIFKwOanjgFwfV1F4PhenRggVEW1Mkr99kckJXAGjsQkRiRcLlcz5Ky71RqO7o6wb9g6w
	7+j6OEKwr24TKsH3gPCD2pcmrdSeZpkZFa9O6cgbmUkM2UP34rWgWTjA+t8EGHPP7GMfq+DQ22c
	rcE2ju+NGPil7oblQHlfRJiSq2EpIAq8rT9HDBP10u11fQJ8s7M8FsfC4PGBHo5aOObmUEti5pf
	bquOgq8RFuEFvYCQ9OW49XTy05es8lYpSyWaGnUzStF8bMmN1YGhtGoi6TIXFPOdoIJl4h/DEb7
	1gbgXigYOivq1rqqw/5JvpQsk/tuA+j/vovrw0zaYo87K+bYFy/jnXfqhkZdBAVgYVB7SIA==
X-Google-Smtp-Source: AGHT+IGETcCS+lcvQ/bSXVfV+j4aKq6osQvey1TCkg1OOeguFpcPDmpGzo2tnIRTmUzy/vERexcqMA==
X-Received: by 2002:a05:6000:4203:b0:391:31c8:ba59 with SMTP id ffacd0b85a97d-39ad173eea2mr3280210f8f.4.1743093827292;
        Thu, 27 Mar 2025 09:43:47 -0700 (PDT)
Message-ID: <385a8a49-262e-45d5-a642-50b778014e7d@suse.com>
Date: Thu, 27 Mar 2025 17:43:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/10] xenbus: add module description
To: Arnd Bergmann <arnd@kernel.org>,
 Jeff Johnson <jeff.johnson@oss.qualcomm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Masahiro Yamada <masahiroy@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>, linux-next@vger.kernel.org,
 Arnd Bergmann <arnd@arndb.de>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250324173242.1501003-1-arnd@kernel.org>
 <20250324173242.1501003-5-arnd@kernel.org>
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: <20250324173242.1501003-5-arnd@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------w8keZHt3rHXk8cRy2eo8QCgL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------w8keZHt3rHXk8cRy2eo8QCgL
Content-Type: multipart/mixed; boundary="------------F1AG3EiYN9pow4cgn9Y0uDto";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Arnd Bergmann <arnd@kernel.org>,
 Jeff Johnson <jeff.johnson@oss.qualcomm.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Masahiro Yamada <masahiroy@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>, linux-next@vger.kernel.org,
 Arnd Bergmann <arnd@arndb.de>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <385a8a49-262e-45d5-a642-50b778014e7d@suse.com>
Subject: Re: [PATCH 05/10] xenbus: add module description
References: <20250324173242.1501003-1-arnd@kernel.org>
 <20250324173242.1501003-5-arnd@kernel.org>
In-Reply-To: <20250324173242.1501003-5-arnd@kernel.org>

--------------F1AG3EiYN9pow4cgn9Y0uDto
Content-Type: multipart/mixed; boundary="------------0xl5rnPzp8wogKixk8qdxDys"

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

T24gMjQuMDMuMjUgMTg6MzIsIEFybmQgQmVyZ21hbm4gd3JvdGU6DQo+IEZyb206IEFybmQg
QmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+DQo+IA0KPiBNb2R1bGVzIHdpdGhvdXQgYSBkZXNj
cmlwdGlvbiBub3cgY2F1c2UgYSB3YXJuaW5nOg0KPiANCj4gV0FSTklORzogbW9kcG9zdDog
bWlzc2luZyBNT0RVTEVfREVTQ1JJUFRJT04oKSBpbiBkcml2ZXJzL3hlbi94ZW5idXMveGVu
YnVzX3Byb2JlX2Zyb250ZW5kLm8NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEFybmQgQmVyZ21h
bm4gPGFybmRAYXJuZGIuZGU+DQo+IC0tLQ0KPiAgIGRyaXZlcnMveGVuL3hlbmJ1cy94ZW5i
dXNfcHJvYmVfZnJvbnRlbmQuYyB8IDEgKw0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy
dGlvbigrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNf
cHJvYmVfZnJvbnRlbmQuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJvYmVfZnJv
bnRlbmQuYw0KPiBpbmRleCBmY2IzMzViYjdiMTguLjhiNzVmODIzNGJhZiAxMDA2NDQNCj4g
LS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19wcm9iZV9mcm9udGVuZC5jDQo+ICsr
KyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJvYmVfZnJvbnRlbmQuYw0KPiBAQCAt
NTEzLDQgKzUxMyw1IEBAIHN0YXRpYyBpbnQgX19pbml0IGJvb3Rfd2FpdF9mb3JfZGV2aWNl
cyh2b2lkKQ0KPiAgIGxhdGVfaW5pdGNhbGwoYm9vdF93YWl0X2Zvcl9kZXZpY2VzKTsNCj4g
ICAjZW5kaWYNCj4gICANCj4gK01PRFVMRV9ERVNDUklQVElPTigiRnJvbnRlbmQgZm9yIFhl
biBidXMgcHJvYmUiKTsNCg0KTWF5IEkgc3VnZ2VzdCAiWGVuIFBWLWRldmljZSBmcm9udGVu
ZCBzdXBwb3J0IiBpbnN0ZWFkPw0KDQoNCkp1ZXJnZW4NCg0K
--------------0xl5rnPzp8wogKixk8qdxDys
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-----

--------------0xl5rnPzp8wogKixk8qdxDys--

--------------F1AG3EiYN9pow4cgn9Y0uDto--

--------------w8keZHt3rHXk8cRy2eo8QCgL
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/Ey8FAmflgEIFAwAAAAAACgkQsN6d1ii/Ey8l
Cgf/QdTgh0S8GyuOrXH4CS4NQcobLgn90Kiaq0zOu9lWQsP+ZmmErrpyL35QGksWt++2Im+FMNO2
FuJdlBfbDHZKy+I031s09fzIaMt/8xXpQF6e8HdDQHWWUzxzZ7tsHsaXOhGmi4wDh98P9MVL9nuG
6iJ7mRSSRW7VVoHl7A3DVUQxw4oxuiSkEl82OnBYre2bbyfl4j6PrsoFieGW+7a3LvJVqmH/sD6r
t14w6TWb3aT6AUnQCnabc0peyZA/QHbWSZnLVDmFnGvc0sa5FlpvfTNeVjyrj9QrAodBXewg8W2A
A/iQOgMOkxjoA3+jxig/eTaweP6QlcCcF2L06Jzi+g==
=jn45
-----END PGP SIGNATURE-----

--------------w8keZHt3rHXk8cRy2eo8QCgL--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:44:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929816.1332570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqLC-0005wa-5h; Thu, 27 Mar 2025 16:44:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929816.1332570; Thu, 27 Mar 2025 16:44: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 1txqLC-0005wT-38; Thu, 27 Mar 2025 16:44:26 +0000
Received: by outflank-mailman (input) for mailman id 929816;
 Thu, 27 Mar 2025 16:44: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txqLB-0005ca-BC
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:44:25 +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 bd1342bd-0b2a-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:44:23 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-391342fc1f6so1021159f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:44:23 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d82efdff2sm43301515e9.17.2025.03.27.09.44.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:44: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: bd1342bd-0b2a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743093863; x=1743698663; 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=QIjQjFZyHuRT6DMwVLx62NFKgmb+SgUuqvtV7bn506g=;
        b=Cz2TTdTVABqLfdjGrCz7gGrVK1t2d0H4RNY/roXmcZBLaDxa0SPTC5+Lt6HsdjXZET
         45mG4TmgNza6d0I2hJQQ7Soune7ml4Ozmh4mjYQ2GJZyPYxQirDGj81Zqwo8Tztlne7T
         2sml2xPk7j/UR2S4ji2xnNXm9VwjSapR5S0IA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743093863; x=1743698663;
        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=QIjQjFZyHuRT6DMwVLx62NFKgmb+SgUuqvtV7bn506g=;
        b=dbKjrHs8ta0dm0LqY8oMCcUopZXBV+9Zn5YjMLXdnLdUdOVh7CGhGDIm3aV//SQwrw
         eMp8FqJA6zpDf6hoML/yodsoJ/9BV4hJLofq5aQPO1YEMjPTa3oBZUUjwLKh1Rx47/5T
         LVNY+2fZzlYuQ0aUQe7MPPzC3GcO5p+KtUXMu4Qy3lDzP1kMYXuyQ0yss0cqfKH7sdka
         OrwCQoMrrhYSfoyjyLIFcU+NhspSg7/YSqjpN4qdwE3t/HeGtDvwCKQMjeK1Vb+KJUwA
         mg3ohXHOtTJE2S88duqLxCebno+CekricPCM+v2FBHoO2JYZxTi/TzZaJSMliWeLAxmU
         NEqA==
X-Forwarded-Encrypted: i=1; AJvYcCUqlJOEzck6fAvppr90gSWy3i6zCFUJkoHXWwtZEnA7aNmUyKjKZpxYV4dGezdvwuPOZnuQ+QMQHdg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXJhWFIyKx8LkIPRwyEhayZNNTspzPKfmEhX0n29knBmxGGlB6
	22GqGSMaUKrBSFauy552Q45eMHFBbdu601nF3S01hpOd24gTpyyREODao1Cihck=
X-Gm-Gg: ASbGnctBhUQhP7ekM38w8oV6j4iydyQqbTWl0jNblm2bgtpa+NAgTMHWGoAXkwUPBmo
	mOG9aXlLjR5Mjj8+ZksEgLcVlW9Y4OxqFid2MYGeGNtgTlnAABOA/+oMqYGiUhZ1ffY+D9a1+U6
	G4LBSy57HDlCDnDPRmjlVaFV+ihGY/tuSg3jk7GnbP8tJ4xwUXa2AK4xSdq3mrrMvhvTioMMGnG
	Mj4LYzgxv+ow2BDmTmtDvhEf4vfPDttE4msZsdTwkoySNd3km7W5EsD5OmkQJ83H0a33h3kn8MX
	opb7atKyqEcT8E7nRIooroDzZrSVqppN6XcqX857KH/TNID0I2JM1enBn+F1KNnx6KxUJ8pyxY0
	sLzNXB7WI0MpW0XyzVl0K
X-Google-Smtp-Source: AGHT+IHPiOce3TD7UnuZvoDUtYFJvEdDWlMnXmTywPdBOG3GiQdJGUpGiL0PT9XzoTAI3mwVl+1/Kg==
X-Received: by 2002:a05:6000:184c:b0:399:728f:4673 with SMTP id ffacd0b85a97d-39ad174c7d9mr4140455f8f.33.1743093863240;
        Thu, 27 Mar 2025 09:44:23 -0700 (PDT)
Message-ID: <f79117a2-1763-4458-862f-a5219b09989a@citrix.com>
Date: Thu, 27 Mar 2025 16:44:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Xen: Update compiler checks
To: Jan Beulich <jbeulich@suse.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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250327163114.405824-1-andrew.cooper3@citrix.com>
 <d56b2e8f-58ca-4a7d-a8c2-59de9d1c9102@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: <d56b2e8f-58ca-4a7d-a8c2-59de9d1c9102@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27/03/2025 4:39 pm, Jan Beulich wrote:
> On 27.03.2025 17:31, Andrew Cooper wrote:
>> We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.
>> Remove the one from compiler.h, as it's pointless to perform in addition to
>> the xen.git-wide one as well.
> Isn't this premature? The Config.mk one doesn't terminate the build, according
> to what there is in the post-commit-message area?

It's also broken for cross-compiles, in a way that I don't have time to
fix now.

I'm going to leave this as a 5.1 baseline across the board, and
reintroduce the xen/compile.h one with the per-arch nuances.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 16:56:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 16:56:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929842.1332619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqW9-000175-NT; Thu, 27 Mar 2025 16:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929842.1332619; Thu, 27 Mar 2025 16:55: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 1txqW9-00016y-Kx; Thu, 27 Mar 2025 16:55:45 +0000
Received: by outflank-mailman (input) for mailman id 929842;
 Thu, 27 Mar 2025 16:55: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txqW8-00016s-Ef
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 16:55:44 +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 4cbd1e62-0b2c-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 17:55:34 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5e614da8615so2324330a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 09:55:34 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc17b2214sm61339a12.54.2025.03.27.09.55.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 09:55: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: 4cbd1e62-0b2c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743094534; x=1743699334; 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=e6MqjwKfWq5TU0ruP3iR0qMmpmrIgjC3ZkuvdpQKBNA=;
        b=Fka9RgDtY/oQAblQZmgQ5viScTIwtnOghVoo1PsXzmUtI0mhMOgQ6zUqfqmNTuSXvB
         BwIOnw8yMPUJaZEH/Tb1/L9CQA0BjQdHkC/AkIgyR1rVh3YfP12Qj0i3tQUokUaTweGf
         lYjEIL8FpZ2fKposxNcMjwD3y5VX3nO8Em/JzaPD8AGysAv7M00fcCAUpCyxigDWtyFp
         zAUzym7TeuTmj6tRPzZJJeGhKeVch5thFPh9XFOatIE0jaaxPsPridWlAId9NmlzUyLk
         jJJXrXFYiymBeYe9O3RQSum+rHQoyhs5bQcXXwfDzruxUU7uOLD9bXMtnoEI0lAetozo
         yshw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743094534; x=1743699334;
        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=e6MqjwKfWq5TU0ruP3iR0qMmpmrIgjC3ZkuvdpQKBNA=;
        b=LT27xQl3ct8VN4KPMoe6wGQ6FwUcaqJ85NPva/cz68CILHnLhOK0ZUPUgAETlobYmm
         g3HYzdS/S/5gd0F+WJfqk65jtlMwE/bbCfLwxsc21QhBK//4Mix60paDU7FkPjXS0D6X
         gXa1FLiNkn7QO+eb0RQeJFrq6yIlnK/90jmcu4Q5a3Of2AfPRaYXVtpkz/4Z7pKjD56n
         c+kZNT0MUo4oBaX/0UWPX9D/Fjm3mzibOmlJTtpKER6ZPJECo9fPwJuz9sG1UqSJLUQj
         AYDy2xdCN1w7ZJlFakZXBj44xbX/X98TodrkcXrYQsx8Z7xxNazxbtenXsmxZpYR8QvO
         2aJA==
X-Forwarded-Encrypted: i=1; AJvYcCVGexcOnxCyGGdALPuuqPVA8Yz21q3h3BfAhWeqgBQkjJbgJFOCLkfMG1sNgc4mKVy15tuMEtMq7LM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8YP6imVaDacvkfnjhYDgTdHheIQBbEzXpLumg1IjwdF8G46KB
	TIrw2h8s3gKPTUzNu+OL1rvHimdBtjv+fEm/pW5ugDjA0/CaX+x7
X-Gm-Gg: ASbGnctpsD93Kfe7mNYamFAGqoJ1GKVGeamzZnK0BgzmO3WE209a2vKoMVT6wl9IuE+
	V+sThmENm1EUQrT5qmuXi3mZnwFwBn6BuwPRQxiH06e0na/4Bs0a4oETqFd1KtkVylM/DAF0T/q
	wPkYutm3fjuDp9sfawHkRLKhNQTBVxseHXQhKePOdIhFvz+9NyrMmrvJqNQoosZ0OmP/PPnCdZI
	5IxE7KS7H/9Raa+JxGmyx3iZ1+0Unp8mXBgoZNqGAjgD8o8Y8+dvUIARZhPETWN6doTIEDs0/K9
	VkHFGY98zcrJDRzrQYlr2NPhzrAOb5U8pI+8qaVtMLbjWJ0fGeHmg9YUzHkicGlj6u3WzQvp9YD
	qRbO3mkBnzy40EtxZwcLk
X-Google-Smtp-Source: AGHT+IHkgNQA47yZSwTQcdD1Q539shuWUwSaKsqopPNq6wTxJm4eB64E3VQSL7u4+qT0AO6CYMmJ4A==
X-Received: by 2002:a05:6402:27ce:b0:5e6:14ab:ab6a with SMTP id 4fb4d7f45d1cf-5edbf48bbbdmr975511a12.7.1743094533292;
        Thu, 27 Mar 2025 09:55:33 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------579qJyP8Kf0Ylmlh0p1nhuMJ"
Message-ID: <97e68799-a14a-4363-add8-63be6ad59f82@gmail.com>
Date: Thu, 27 Mar 2025 17:55:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
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: <20250320155908.43885-1-andrew.cooper3@citrix.com>
 <20250320155908.43885-4-andrew.cooper3@citrix.com>
 <c901f573-97dc-4ad0-9974-847fc58a0d44@gmail.com>
 <956eb48f-b2f6-4951-8b12-2cf0dcfa2c9e@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <956eb48f-b2f6-4951-8b12-2cf0dcfa2c9e@citrix.com>

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


On 3/27/25 4:45 PM, Andrew Cooper wrote:
> On 21/03/2025 4:24 pm, Oleksii Kurochko wrote:
>>
>> On 3/20/25 4:59 PM, Andrew Cooper wrote:
>>> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.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>
>>> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>> ---
>>>   CHANGELOG.md | 3 +++
>>>   1 file changed, 3 insertions(+)
>>>
>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>> index 9a5919585d43..4e333e608a96 100644
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>   ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>>>   
>>>   ### Changed
>>> + - The minimum toolchain requirements have been increased to either:
>>> +   - GCC 5.1 and Binutils 2.25, or
>>> +   - Clang/LLVM 11
>> I think we want here to specify for which architectures it was done as RISC-V, for example, uses
>> different versions:
>>   - GCC 12.2 or later
>>   - GNU Binutils 2.39 or later
>> And for clang the version will be 17 as:
>>    f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
>>    $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
>>      llvmorg-17.0.0
>>    ...
>> I have some patch to build Xen RISC-V using clang-17 but I haven't sent to upstream yet as I am not
>> really sure that if we need (or why we need) clang support just from the start.
> The same reason why we got an almost-nothing build in CI first, and are
> currently looking for a "hello world" message on boot.
>
> Keeping it working as you go is much easier than retrofitting at a later
> point, and supporting more than 1 of any $THING (not just compilers) is
> good to prevent accidental reliance on an implementation specific property.
>
> The only question is what version of Clang exists in Debian bookworm, as
> that affects how easy/hard it is to add to CI.
>
> According tohttps://packages.debian.org/search?keywords=clang, bookworm
> has Clang 14, while trixie has Clang 19.
>
> So, how hard a limit is Clang-17?Â  Is Clang-14 doable or not?

I think it is pretty hard limit because:
1. I haven't checked all the extension but, for example, we required 'H' extension and
    the support for it was added in 16.0.0:
    [f4c887c3a8406d85f4f942c8350f10026994f4d8("RISCV] Add H extension")
    $ git tag --contains f4c887c3a8406d85f4f942c8350f10026994f4d8
      llvmorg-16.0.0
      ...
2. Minimal support for RISCV-64 was added in clang17:
    f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
    $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
      llvmorg-17.0.0
      ...
And, actually, the second one reason was the reason why I tried to build with clang17 and suggests to use
it as a baseline.

>
> Alternatively, we could start adding some trixie containers.Â  We have
> passed the toolchain freeze (was 15th March), so the build container
> should be stable now, even if it isn't quite released yet.

clang has nice script to add any version. I did that in the following way
for bookworm docker container:
+    DEPS=(
+        # Clang
+        wget
+        gnupg
+        ca-certificates
+        lsb-release
+        software-properties-common
...

+Â Â Â  update-ca-certificates
+
+Â Â Â  wget -O -https://apt.llvm.org/llvm.sh | bash -s 17
+Â Â Â  wget -O -https://apt.llvm.org/llvm.sh | bash -s 18
+Â Â Â  wget -O -https://apt.llvm.org/llvm.sh | bash -s 19
+Â Â Â  wget -O -https://apt.llvm.org/llvm.sh | bash -s 20
+Â Â Â  # ln -s /usr/bin/clang-17 /usr/bin/clang

~ Oleksii

--------------579qJyP8Kf0Ylmlh0p1nhuMJ
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 3/27/25 4:45 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:956eb48f-b2f6-4951-8b12-2cf0dcfa2c9e@citrix.com">
      <pre wrap="" class="moz-quote-pre">On 21/03/2025 4:24 pm, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">

On 3/20/25 4:59 PM, Andrew Cooper wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">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: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
CC: Michal Orzel <a class="moz-txt-link-rfc2396E" href="mailto:michal.orzel@amd.com">&lt;michal.orzel@amd.com&gt;</a>
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
CC: Julien Grall <a class="moz-txt-link-rfc2396E" href="mailto:julien@xen.org">&lt;julien@xen.org&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: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a5919585d43..4e333e608a96 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ 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>)
 ## [4.21.0 UNRELEASED](<a class="moz-txt-link-freetext" href="https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging">https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging</a>) - TBD
 
 ### Changed
+ - The minimum toolchain requirements have been increased to either:
+   - GCC 5.1 and Binutils 2.25, or
+   - Clang/LLVM 11
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">I think we want here to specify for which architectures it was done as RISC-V, for example, uses
different versions:
 - GCC 12.2 or later
 - GNU Binutils 2.39 or later
And for clang the version will be 17 as:
  f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
  $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
    llvmorg-17.0.0
  ...
I have some patch to build Xen RISC-V using clang-17 but I haven't sent to upstream yet as I am not
really sure that if we need (or why we need) clang support just from the start.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
The same reason why we got an almost-nothing build in CI first, and are
currently looking for a "hello world" message on boot.

Keeping it working as you go is much easier than retrofitting at a later
point, and supporting more than 1 of any $THING (not just compilers) is
good to prevent accidental reliance on an implementation specific property.

The only question is what version of Clang exists in Debian bookworm, as
that affects how easy/hard it is to add to CI.

According to <a class="moz-txt-link-freetext" href="https://packages.debian.org/search?keywords=clang">https://packages.debian.org/search?keywords=clang</a>, bookworm
has Clang 14, while trixie has Clang 19.

So, how hard a limit is Clang-17?Â  Is Clang-14 doable or not?</pre>
    </blockquote>
    <pre>I think it is pretty hard limit because:
1. I haven't checked all the extension but, for example, we required 'H' extension and
   the support for it was added in 16.0.0:
   [f4c887c3a8406d85f4f942c8350f10026994f4d8("RISCV] Add H extension")
   $ git tag --contains f4c887c3a8406d85f4f942c8350f10026994f4d8
     llvmorg-16.0.0
     ...
2. Minimal support for RISCV-64 was added in clang17:
   f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
   $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
     llvmorg-17.0.0
     ...
And, actually, the second one reason was the reason why I tried to build with clang17 and suggests to use
it as a baseline.

</pre>
    <blockquote type="cite"
      cite="mid:956eb48f-b2f6-4951-8b12-2cf0dcfa2c9e@citrix.com">
      <pre wrap="" class="moz-quote-pre">

Alternatively, we could start adding some trixie containers.Â  We have
passed the toolchain freeze (was 15th March), so the build container
should be stable now, even if it isn't quite released yet.
</pre>
    </blockquote>
    <pre>clang has nice script to add any version. I did that in the following way
for bookworm docker container:
+    DEPS=(
+        # Clang
+        wget
+        gnupg
+        ca-certificates
+        lsb-release
+        software-properties-common
...
</pre>
    <pre>+Â Â Â  update-ca-certificates
+
+Â Â Â  wget -O - <a class="moz-txt-link-freetext" href="https://apt.llvm.org/llvm.sh">https://apt.llvm.org/llvm.sh</a> | bash -s 17
+Â Â Â  wget -O - <a class="moz-txt-link-freetext" href="https://apt.llvm.org/llvm.sh">https://apt.llvm.org/llvm.sh</a> | bash -s 18
+Â Â Â  wget -O - <a class="moz-txt-link-freetext" href="https://apt.llvm.org/llvm.sh">https://apt.llvm.org/llvm.sh</a> | bash -s 19
+Â Â Â  wget -O - <a class="moz-txt-link-freetext" href="https://apt.llvm.org/llvm.sh">https://apt.llvm.org/llvm.sh</a> | bash -s 20
+Â Â Â  # ln -s /usr/bin/clang-17 /usr/bin/clang

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

--------------579qJyP8Kf0Ylmlh0p1nhuMJ--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 17:04:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 17:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929852.1332630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txqeC-0003Lj-Ge; Thu, 27 Mar 2025 17:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929852.1332630; Thu, 27 Mar 2025 17:04: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 1txqeC-0003Lc-D2; Thu, 27 Mar 2025 17:04:04 +0000
Received: by outflank-mailman (input) for mailman id 929852;
 Thu, 27 Mar 2025 17:04: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txqeB-0003LU-JW
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 17:04:03 +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 7a6d9580-0b2d-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 18:04:00 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso13831695e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 10:04:00 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b66d29csm75886f8f.60.2025.03.27.10.03.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 10:03: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: 7a6d9580-0b2d-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743095040; x=1743699840; 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=tisDw70UoRXQaxjCMRCcDBANHnGYxyyeAWXsSY9kPUE=;
        b=UzX8ox4MbbiGxRBDgd0LrHQ+fI7DNgCUcFhBSVKFSCgPvDhre4LZqTxrdp5rh8XmT/
         D2Ye00z3TXz2+t/c7oao0M5KDKVNInFs0mB1PkrazKxzYPuOnecbSAvLDUxXUEA1zZzL
         +mdKhPu6sskchrKzvVu8JZA6HNmVr+ruGODU8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743095040; x=1743699840;
        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=tisDw70UoRXQaxjCMRCcDBANHnGYxyyeAWXsSY9kPUE=;
        b=pCzbLIF/xJDdFLr6B/gnjF+0W0zKxtpaaueXhZ57fh/wQjsqNajs16EybZwvpa9aT7
         o/csHLXam4+Mfy1j5Jg/IrclCkxXiyh6w3J7rN33tN9Ff/o6vPr7q6FVPePC03JGyjWQ
         NHvV8Icps2VAxqANcmUxGAMZZbbBxFger/hj7T7b6WRxQQy1Iu5ralB+FnlxLTZGay2l
         d1fhrW0HnunM/lyvd9XyjYL9c44owz7ZDTS/VmOPGD7vjdjYiCaxTAcd6kKGGn7UJP+B
         ISMtozy+k5cQqNquuxC2KM0ZdD3yLKRwxOvk6aIfsSkzbo4NHLv7/mDFS63EqN2LaPtc
         2QeA==
X-Forwarded-Encrypted: i=1; AJvYcCV3g3zQpL9W6yglNy3IbbG0BbL5L+hS9pUhk0cyXU5XEBqZkgVX82Zrc4Sxokia0eETB6JSpePAbgQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwxGwgjCPk/5V9XYje7/pGYGSFO8+1jShNNTYbBXABAOcGaBab8
	S+4mle6/NBKI9j8Kq08pvYrA57be/kDAwIgsLzQMRhUykbKKIdNEYS0m9TsgtOo=
X-Gm-Gg: ASbGncudfeRZ5XjeMClL3vHCTGMNv9we1e0p17scBGqU29Ia98MvGeam4byfBwK74Bi
	c6pIpGWFcnQ6FFHUuEDnB6fUa2CIVPtl9fzcoyPLH2PijpCbRkBE91teII15RcH7L9MH2hVCRLl
	OEkibwbLDXyG4UMw8eosRBik1b/gFi5JHXgJZtwcleiA+kblCeZ6eb9YzUfResEtzeVcc+p7Mga
	TRZuwS9SDpv7WXbOZ9LmAblMaNOXfcnS0sjV3JoHPEELp79xVS38oWBFZPQNmQO1nn39Y0GKWw4
	E/uYVJ6EADzxitMh9aESGhEhfFDL0kFGy2flRZTx80ox3ogmLKN/knzbX/fIz5atq7SnjKJ3i6u
	qwBZ0J7VBA8xNd8X+z0j4
X-Google-Smtp-Source: AGHT+IF98MrMGFYrz6/MpVMXmhoK2OPz7frAiN09njHjJmZ+e484NKETPho3YWo+VE5/HXwer5KDbw==
X-Received: by 2002:a05:600c:4f89:b0:43c:ec0a:ddfd with SMTP id 5b1f17b1804b1-43d84f5a46dmr44859485e9.6.1743095039539;
        Thu, 27 Mar 2025 10:03:59 -0700 (PDT)
Message-ID: <31aa39ed-ffb3-40db-9ab8-8e0c93c3f498@citrix.com>
Date: Thu, 27 Mar 2025 17:03:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] CHANGELOG: Minimum toolchain requirements
To: Oleksii Kurochko <oleksii.kurochko@gmail.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: <20250320155908.43885-1-andrew.cooper3@citrix.com>
 <20250320155908.43885-4-andrew.cooper3@citrix.com>
 <c901f573-97dc-4ad0-9974-847fc58a0d44@gmail.com>
 <956eb48f-b2f6-4951-8b12-2cf0dcfa2c9e@citrix.com>
 <97e68799-a14a-4363-add8-63be6ad59f82@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: <97e68799-a14a-4363-add8-63be6ad59f82@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/03/2025 4:55 pm, Oleksii Kurochko wrote:
>
>
> On 3/27/25 4:45 PM, Andrew Cooper wrote:
>> On 21/03/2025 4:24 pm, Oleksii Kurochko wrote:
>>> On 3/20/25 4:59 PM, Andrew Cooper wrote:
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>>>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>> ---
>>>>  CHANGELOG.md | 3 +++
>>>>  1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>>> index 9a5919585d43..4e333e608a96 100644
>>>> --- a/CHANGELOG.md
>>>> +++ b/CHANGELOG.md
>>>> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>>  ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>>>>  
>>>>  ### Changed
>>>> + - The minimum toolchain requirements have been increased to either:
>>>> +   - GCC 5.1 and Binutils 2.25, or
>>>> +   - Clang/LLVM 11
>>> I think we want here to specify for which architectures it was done as RISC-V, for example, uses
>>> different versions:
>>>  - GCC 12.2 or later
>>>  - GNU Binutils 2.39 or later
>>> And for clang the version will be 17 as:
>>>   f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
>>>   $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
>>>     llvmorg-17.0.0
>>>   ...
>>> I have some patch to build Xen RISC-V using clang-17 but I haven't sent to upstream yet as I am not
>>> really sure that if we need (or why we need) clang support just from the start.
>> The same reason why we got an almost-nothing build in CI first, and are
>> currently looking for a "hello world" message on boot.
>>
>> Keeping it working as you go is much easier than retrofitting at a later
>> point, and supporting more than 1 of any $THING (not just compilers) is
>> good to prevent accidental reliance on an implementation specific property.
>>
>> The only question is what version of Clang exists in Debian bookworm, as
>> that affects how easy/hard it is to add to CI.
>>
>> According to https://packages.debian.org/search?keywords=clang, bookworm
>> has Clang 14, while trixie has Clang 19.
>>
>> So, how hard a limit is Clang-17?Â  Is Clang-14 doable or not?
> I think it is pretty hard limit because:
> 1. I haven't checked all the extension but, for example, we required 'H' extension and
>    the support for it was added in 16.0.0:
>    [f4c887c3a8406d85f4f942c8350f10026994f4d8("RISCV] Add H extension")
>    $ git tag --contains f4c887c3a8406d85f4f942c8350f10026994f4d8
>      llvmorg-16.0.0
>      ...
> 2. Minimal support for RISCV-64 was added in clang17:
>    f873029386dd415cd9caa78f600a593d9570c9ae("[BOLT] Add minimal RISC-V 64-bit support")
>    $ git tag --contains f873029386dd415cd9caa78f600a593d9570c9ae
>      llvmorg-17.0.0
>      ...
> And, actually, the second one reason was the reason why I tried to build with clang17 and suggests to use
> it as a baseline.

That's fine.Â  It means we can't use Debian bookworm for this purpose.

>
>> Alternatively, we could start adding some trixie containers.Â  We have
>> passed the toolchain freeze (was 15th March), so the build container
>> should be stable now, even if it isn't quite released yet.
> clang has nice script to add any version. I did that in the following way
> for bookworm docker container:
> +    DEPS=(
> +        # Clang
> +        wget
> +        gnupg
> +        ca-certificates
> +        lsb-release
> +        software-properties-common
> ...
> +Â Â Â  update-ca-certificates
> +
> +Â Â Â  wget -O - https://apt.llvm.org/llvm.sh | bash -s 17
> +Â Â Â  wget -O - https://apt.llvm.org/llvm.sh | bash -s 18
> +Â Â Â  wget -O - https://apt.llvm.org/llvm.sh | bash -s 19
> +Â Â Â  wget -O - https://apt.llvm.org/llvm.sh | bash -s 20
> +Â Â Â  # ln -s /usr/bin/clang-17 /usr/bin/clang

We used to do this.

It backfired spectacularly when rebuilding a container after versions of
clang had been dropped, and took out testing on the stable-* trees as a
consequence.

Therefore, we don't do this any more.Â  (Or at least, not in a container
marked for blocking failures.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 17:33:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 17:33:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929871.1332640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txr6J-00033s-Kl; Thu, 27 Mar 2025 17:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929871.1332640; Thu, 27 Mar 2025 17:33: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 1txr6J-00033l-I5; Thu, 27 Mar 2025 17:33:07 +0000
Received: by outflank-mailman (input) for mailman id 929871;
 Thu, 27 Mar 2025 17:33: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=Eznr=WO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1txr6I-00033f-Vz
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 17:33:07 +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 8a8f3b4e-0b31-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 18:33:05 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ab771575040so463919366b.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 10:33:05 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac71922b8aesm28381766b.13.2025.03.27.10.33.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 10:33: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: 8a8f3b4e-0b31-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743096785; x=1743701585; 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=IFoKnyDMTpyL3rQ8P569Ng4MV6MJNyt3gAVshetXZPc=;
        b=Suy+3smMpnDfI0PorY9lUphPAJpLJZUS0SZfI/EoMznLiWRdpS+7jU+yqCmdwby9oh
         7Vt5yGxbRIKio1RRNm3/B//43FqQh//GxpC5pB9/0If1wFAZhjXNnUpCn+5ENQ121FGF
         MMkWlLzq8Gvk/a0KlUYHgc0sKaPqpnuDjD3e+qeuiDTAAevcubZZmwqtvBomJGAV9W+w
         beW8KjvwS3F0b6uKyTEBBw8CHDAoXUdlIYicyWFODG67cOM2AeSJNwGpdZLffNrkyW6j
         DdjY2c60r+Rh6X05mIBvL5A+AttylOAcg61+dmHt68rXDsejIo78OPkpYs2oKPFi+IL+
         UFmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743096785; x=1743701585;
        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=IFoKnyDMTpyL3rQ8P569Ng4MV6MJNyt3gAVshetXZPc=;
        b=c0wyqDwj6QXewTstmgl83os15B++/ZPCKXm1KZ0vf5+JQoE9yOR/9WoLrBT73o63dI
         2ffcBaA0mD/BF0591fdVUECpohBs/vOWeI8JZM5wZwt9vs031KYHMzb/AqhSepwv1MIt
         zK7oHPACXZCOARwpKSZ5KUlpLrFGeo9r8F/cvCANJcnN8UKF1BOst4Cvld9FFK0bsJsV
         kFNHjVgvcxPAGKHMWFFPXqSGeY98wY1CjeGSuWyCBR12HGFkPm6OthiEan7T2TcxyxaE
         XlNyab/Lc5gMJy7jOgt3SudPCB129+5g8/zh9KBTTh2SPJKwqiqjQzIzNZaGUdGysgr0
         mZTA==
X-Gm-Message-State: AOJu0YyQZQVdrJUpXhKDylhZh5EbJ2W7FCqeSlIajlEud395dmgarx5Z
	mSs7Ttzedo+Y/PXlhuxXtrAiP9RW7EOk8KbtfP8QdRZaTaLRG73c/lE0+g==
X-Gm-Gg: ASbGncvXyqGy4hYzIM584GtGIYP3GwzKxpLy/38Sgnd91AYiLcUfx0Ya4zhiMCtWq1f
	4GMKJ3Kha2MREPkOcmkxwwVe5JLI1ubZ/7MMizeWBUxS/EXmN9YZ15hQFh6HZ1i3WmrkwzdKreb
	S3OWsVIpMTCjkpWhFDPsib8lZ029MPjES0vGnNhtWZGQ8dwSYGkfl4VVbsQKxAJicV7qPJQMstb
	iy4R5BSO6Q13Q8Lnq6MkLtMJ0RP8flPSxFb/zQhTKOOntYzhJ/VkTkV9g8N3k0EnYiufTwrB0nu
	0d1QAm2EsGcegdyBLi1v49Uo7a6OhLxoXnAcq9XiZ4fUBUWFnKSBfaMkxtFU11/fzh0va9FITaq
	j7256Z4/SEeViG64hoA6MmTZs
X-Google-Smtp-Source: AGHT+IGJ+rO1LaXSCQ7ZFD1kDVaSobHiRIlQR8b0RP3Dpn4MnrcOFEbVU/PaglwwkdzSeGKprtoE7A==
X-Received: by 2002:a17:906:4fd5:b0:ac1:e45f:9c71 with SMTP id a640c23a62f3a-ac71683f88dmr138079066b.1.1743096784500;
        Thu, 27 Mar 2025 10:33:04 -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>,
	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>
Subject: [PATCH v2] xen/config.h: Move BITS_PER_* definitions from asm/config.h to xen/config.h
Date: Thu, 27 Mar 2025 18:33:01 +0100
Message-ID: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

BITS_PER_* values can be defined in a common way using compiler-provided macros.
Thus, these definitions are moved to xen/config.h to reduce duplication across
architectures.

Additionally, *_BYTEORDER macros are removed, as BITS_PER_* values now come
directly from the compiler environment.

The arch_fls() implementation for Arm and PPC is updated to use BITS_PER_INT
instead of a hardcoded value of 32.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 GitLab CI tests results:
   https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1738505446

 As Anrew mentioned here https://lore.kernel.org/xen-devel/f294e2b1-db03-46b2-b46d-61e89b55cef3@suse.com/T/#ma4205392964ff913d9dfa8e044a4af59ed6aef88:
 "This patch possibly wants to wait until I've fixed the compiler checks to update to the new baseline, ..."

 The patch with compiler fixes is https://lore.kernel.org/xen-devel/f79117a2-1763-4458-862f-a5219b09989a@citrix.com/T/#mf79cf8c1f6f6a3661c49bac84c1c15bbaae7422d.
---
Changes in v2:
 - Add the comment "It is assumed that sizeof(void *) == __alignof(void *)"
   above POINTER_ALIGN definition.
 - Replace "<< 3" with "BITS_PER_BYTE" in definitions of
   BITS_PER_{INT,LONG,LONG_LONG}.
---
 xen/arch/arm/include/asm/bitops.h   |  4 +---
 xen/arch/arm/include/asm/config.h   |  8 --------
 xen/arch/ppc/include/asm/bitops.h   |  4 +---
 xen/arch/ppc/include/asm/config.h   |  7 -------
 xen/arch/riscv/include/asm/config.h | 13 -------------
 xen/arch/x86/include/asm/config.h   |  8 --------
 xen/include/xen/config.h            | 10 ++++++++++
 7 files changed, 12 insertions(+), 42 deletions(-)

diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index f163d9bb45..60686a3a55 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -22,8 +22,6 @@
 #define __set_bit(n,p)            set_bit(n,p)
 #define __clear_bit(n,p)          clear_bit(n,p)
 
-#define BITS_PER_BYTE           8
-
 #define ADDR (*(volatile int *) addr)
 #define CONST_ADDR (*(const volatile int *) addr)
 
@@ -75,7 +73,7 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
 
 #define arch_ffs(x)  ((x) ? 1 + __builtin_ctz(x) : 0)
 #define arch_ffsl(x) ((x) ? 1 + __builtin_ctzl(x) : 0)
-#define arch_fls(x)  ((x) ? 32 - __builtin_clz(x) : 0)
+#define arch_fls(x)  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
 #define arch_flsl(x) ((x) ? BITS_PER_LONG - __builtin_clzl(x) : 0)
 
 #endif /* _ARM_BITOPS_H */
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 0a51142efd..5a02db6937 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -8,19 +8,11 @@
 #define __ARM_CONFIG_H__
 
 #if defined(CONFIG_ARM_64)
-# define LONG_BYTEORDER 3
 # define ELFSIZE 64
 #else
-# define LONG_BYTEORDER 2
 # define ELFSIZE 32
 #endif
 
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG (BYTES_PER_LONG << 3)
-#define POINTER_ALIGN BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index c942e9432e..e72942cca0 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -15,8 +15,6 @@
 #define __set_bit(n, p)         set_bit(n, p)
 #define __clear_bit(n, p)       clear_bit(n, p)
 
-#define BITS_PER_BYTE           8
-
 /* PPC bit number conversion */
 #define PPC_BITLSHIFT(be)    (BITS_PER_LONG - 1 - (be))
 #define PPC_BIT(bit)         (1UL << PPC_BITLSHIFT(bit))
@@ -121,7 +119,7 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
 
 #define arch_ffs(x)  ((x) ? 1 + __builtin_ctz(x) : 0)
 #define arch_ffsl(x) ((x) ? 1 + __builtin_ctzl(x) : 0)
-#define arch_fls(x)  ((x) ? 32 - __builtin_clz(x) : 0)
+#define arch_fls(x)  ((x) ? BITS_PER_INT - __builtin_clz(x) : 0)
 #define arch_flsl(x) ((x) ? BITS_PER_LONG - __builtin_clzl(x) : 0)
 
 #define arch_hweightl(x) __builtin_popcountl(x)
diff --git a/xen/arch/ppc/include/asm/config.h b/xen/arch/ppc/include/asm/config.h
index 148fb3074d..8e32edd5a5 100644
--- a/xen/arch/ppc/include/asm/config.h
+++ b/xen/arch/ppc/include/asm/config.h
@@ -6,19 +6,12 @@
 #include <xen/page-size.h>
 
 #if defined(CONFIG_PPC64)
-#define LONG_BYTEORDER 3
 #define ELFSIZE        64
 #define MAX_VIRT_CPUS  1024u
 #else
 #error "Unsupported PowerPC variant"
 #endif
 
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG  (BYTES_PER_LONG << 3)
-#define POINTER_ALIGN  BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 7141bd9e46..314c97c20a 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -119,25 +119,12 @@
 #define HYPERVISOR_VIRT_START XEN_VIRT_START
 
 #if defined(CONFIG_RISCV_64)
-# define INT_BYTEORDER 2
-# define LONG_BYTEORDER 3
 # define ELFSIZE 64
 # define MAX_VIRT_CPUS 128u
 #else
 # error "Unsupported RISCV variant"
 #endif
 
-#define BYTES_PER_INT  (1 << INT_BYTEORDER)
-#define BITS_PER_INT  (BYTES_PER_INT << 3)
-
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG  (BYTES_PER_LONG << 3)
-#define POINTER_ALIGN  BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
-#define BITS_PER_BYTE 8
-
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
diff --git a/xen/arch/x86/include/asm/config.h b/xen/arch/x86/include/asm/config.h
index 19746f956e..f0123a7de9 100644
--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -7,16 +7,8 @@
 #ifndef __X86_CONFIG_H__
 #define __X86_CONFIG_H__
 
-#define LONG_BYTEORDER 3
 #define CONFIG_PAGING_LEVELS 4
 
-#define BYTES_PER_LONG (1 << LONG_BYTEORDER)
-#define BITS_PER_LONG (BYTES_PER_LONG << 3)
-#define BITS_PER_BYTE 8
-#define POINTER_ALIGN BYTES_PER_LONG
-
-#define BITS_PER_LLONG 64
-
 #define BITS_PER_XEN_ULONG BITS_PER_LONG
 
 #define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 1
diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d888b2314d..7d43159efb 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -98,4 +98,14 @@
 #define ZERO_BLOCK_PTR ((void *)-1L)
 #endif
 
+#define BYTES_PER_LONG  __SIZEOF_LONG__
+
+#define BITS_PER_BYTE   __CHAR_BIT__
+#define BITS_PER_INT    (BITS_PER_BYTE * __SIZEOF_INT__)
+#define BITS_PER_LONG   (BITS_PER_BYTE * BYTES_PER_LONG)
+#define BITS_PER_LLONG  (BITS_PER_BYTE * __SIZEOF_LONG_LONG__)
+
+/* It is assumed that sizeof(void *) == __alignof(void *) */
+#define POINTER_ALIGN   __SIZEOF_POINTER__
+
 #endif /* __XEN_CONFIG_H__ */
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 17:43:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 17:43:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929884.1332649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txrG6-0005s7-KN; Thu, 27 Mar 2025 17:43:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929884.1332649; Thu, 27 Mar 2025 17:43: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 1txrG6-0005s0-Hp; Thu, 27 Mar 2025 17:43:14 +0000
Received: by outflank-mailman (input) for mailman id 929884;
 Thu, 27 Mar 2025 17:43: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=4IZU=WO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1txrG4-0005rs-VC
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 17:43:12 +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 f15adb23-0b32-11f0-9ffa-bf95429c2676;
 Thu, 27 Mar 2025 18:43:07 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3913fdd0120so790312f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 10:43:07 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b7a4498sm142475f8f.99.2025.03.27.10.43.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Mar 2025 10:43: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: f15adb23-0b32-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743097387; x=1743702187; 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=rPCyN3mhqjB6y1nALjXr18LIWD/daYld8rTdpJBNiws=;
        b=LnNMLreKxOJMZPDhkRjLHP9ysORdvu45BCN4VKpfHTHJ6zD86fE5QqMrup2j5AYT65
         +CrWC4H2Vd24xU4NiAlk9F+PGD8m8Am2XXgodGk7RVLKdEBBxPjlRIt2h9Eyumdvc0pO
         VQmD/hR8CsOXZhokz2ftUqlKzDlC8wJkJDou8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743097387; x=1743702187;
        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=rPCyN3mhqjB6y1nALjXr18LIWD/daYld8rTdpJBNiws=;
        b=TqAnJEwR7OJnV47p6vigAmqhW4vANMUpBhtz7e5IY61NoNW+fM/2aSbkT+F4VAR8NS
         E61phYxq2at1TKvWij5gTxklADkbhSMXafd2gtT4GSAxA3GmwrfY4StCGAqupD9hofG+
         C7azI+nMtyNDoJThQR+cKGTJJps2c/tOmDxinoLe3+NPVfeaY+TXiOeV2SmERUHmGz8/
         m17hlW8BEGiELE3IVD4MAXiqg4uoW+Py4H6dGVyxOBA9h7CODJD5UmuHWfPTXYxw32fM
         rbsSA/BfnEOXHxAptFvHOgFGVc3ZHkSu4cQCJntwGtekz2uRRixV4ck30H6dLurN8EGn
         7U8Q==
X-Gm-Message-State: AOJu0YybaXhcjCOXd/INTy5fbpTA1w4gz7l5dMzCvCZprqY5Nak1fCIP
	MxItbvGoN47ObtT77XxqTL5WEtdzEiENVBii4yhvUJ5LXexvFPcJJIhemTFEZK24QPiji4crzj+
	OF1Q=
X-Gm-Gg: ASbGncvq7qpj62q3wzez+i2AM+6zfEMSrClmiEhA4aBodznfCTwU35O/hHeH41wBjyg
	CO5ehHj7GnwkZ0qdg4fYW1Tkcoo7q1YI89z2C5Ao9RaErG3h0LyKAy6YOhmXYqkRpEu3Jjmic1y
	XmrXvT0iGGyBtrJH3enc2nclmhj0d00t5CkA5Fvh6L3Juumh2pWfQ+U0hJwYwxo8RYr60wwZudd
	LjHE7tuuh+vfn/xHEQ62ntyQEMRRpKEdHYCb9nwa8ypWwJa+U0zgxtnZFo2M9BfvlZ2Q73trEyC
	1hIZ4fOepHaAph+VhjBQSb7QUaxoxnJrcUO/RgtYVJq20kwrG+m4swuRiowIKc6HKO8Iml92omI
	y7FKTt6WcLKMPVd5vew==
X-Google-Smtp-Source: AGHT+IGDiVfgjkRSnE4XOJND0Taxnn8dRSdT8EmKDZA3gonFDCJ8qQut7D1kG/hKQpqr6qjMzuVYbw==
X-Received: by 2002:a05:6000:4021:b0:391:3b70:2dab with SMTP id ffacd0b85a97d-39ad1746712mr3542349f8f.17.1743097386625;
        Thu, 27 Mar 2025 10:43: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>,
	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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v3] Xen: Update compiler checks
Date: Thu, 27 Mar 2025 17:43:02 +0000
Message-Id: <20250327174302.412821-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

We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.

The check in Config.mk sees $(CC) in system and cross-compiler form, so cannot
express anything more than the global baseline.  Change it to simply 5.1.

In xen/compiler.h, rewrite the expression for clarity/brevity.

Include a GCC 12.2 check for RISCV, and include a Clang 11 baseline check.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

v3:
 * Reinstate the xen/compiler.h block
 * Restrict Config.mk to the baseline only
v2:
 * Change to altering Config.mk

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1738778376 with
the CI changes reverted, so as to expect failures for CentOS 7 and earlier
Ubuntu Clangs.

The $(eval $(check-y)) is badly positioned:

  xen.git/xen$ make
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
    HOSTCC  tools/fixdep
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  make[1]: *** [scripts/Makefile.host:108: tools/fixdep] Error 1
    HOSTCC  tools/symbols
  *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
  make[1]: *** [scripts/Makefile.host:108: tools/symbols] Error 1
  make: *** [Makefile:610: xen] Error 2

It is involved every time Config.mk is included, rather than once per `make`
invocation.
---
 Config.mk                  |  4 ++--
 xen/include/xen/compiler.h | 26 ++++++++++++++------------
 2 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/Config.mk b/Config.mk
index 8a73f3da62b4..8a60d4a55abf 100644
--- a/Config.mk
+++ b/Config.mk
@@ -125,8 +125,8 @@ define cc-ver-check-closure
     endif
 endef
 
-# Require GCC v4.1+
-check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")
+# Require GCC v5.1 as the project global baseline
+check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC 5.1")
 $(eval $(check-y))
 
 ld-ver-build-id = $(shell $(1) --build-id 2>&1 | \
diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index 636a85bc417d..38b8fa3d386d 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -1,19 +1,21 @@
 #ifndef __LINUX_COMPILER_H
 #define __LINUX_COMPILER_H
 
-#if !defined(__GNUC__) || (__GNUC__ < 4)
-#error Sorry, your compiler is too old/not recognized.
-#elif CONFIG_CC_IS_GCC
-# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
-#  error Sorry, your version of GCC is too old - please use 4.9 or newer.
-# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
-/*
- * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
- * https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
- */
-#  error Sorry, your version of GCC is too old - please use 5.1 or newer.
+#if CONFIG_CC_IS_GCC
+
+# if defined(CONFIG_RISCV) && CONFIG_GCC_VERSION < 120200
+#  error Sorry, please use GCC >= 12.2
+# elif CONFIG_GCC_VERSION < 50100
+#  error Sorry, please use GCC >= 5.1
 # endif
-#endif
+
+#elif CONFIG_CC_IS_CLANG
+
+# if CONFIG_CLANG_VERSION < 110000
+#  error Sorry, please use Clang >= 11
+# endif
+
+#endif /* Compiler checks. */
 
 #ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
 /* Results in more efficient PIC code (no indirections through GOT or PLT). */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 19:06:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 19:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929901.1332664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txsYY-0006kF-7w; Thu, 27 Mar 2025 19:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929901.1332664; Thu, 27 Mar 2025 19:06: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 1txsYY-0006k8-52; Thu, 27 Mar 2025 19:06:22 +0000
Received: by outflank-mailman (input) for mailman id 929901;
 Thu, 27 Mar 2025 19:06: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=zm5l=WO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1txsYW-0006k2-CH
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 19:06: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 894681c1-0b3e-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 20:06:07 +0100 (CET)
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 5F62B1F388;
 Thu, 27 Mar 2025 19:06:05 +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 113581376E;
 Thu, 27 Mar 2025 19:06:05 +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 mDu7Ap2h5WeONgAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 27 Mar 2025 19:06: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: 894681c1-0b3e-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743102365; 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=1uaLOUY0NRlFtKACDBCKYX8snuEcg6PpjJZK1xBYCNw=;
	b=g7zNhjSfrYL5RYkzVmcyjXJxmGUk+AMVERlvObo78oWjtTLkXYhkFzcMqIMrvG+dy+Sr8H
	t3WM1tDbVLZLUG22cKsZu2lG1MfeUKF/9Kmfg/kVgQIqmYNRMy/WILfSnMUlUSc1zwAaxl
	iVaDS04UMDjCUoVJzicP4ZPgoUsY5N4=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=g7zNhjSf
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1743102365; 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=1uaLOUY0NRlFtKACDBCKYX8snuEcg6PpjJZK1xBYCNw=;
	b=g7zNhjSfrYL5RYkzVmcyjXJxmGUk+AMVERlvObo78oWjtTLkXYhkFzcMqIMrvG+dy+Sr8H
	t3WM1tDbVLZLUG22cKsZu2lG1MfeUKF/9Kmfg/kVgQIqmYNRMy/WILfSnMUlUSc1zwAaxl
	iVaDS04UMDjCUoVJzicP4ZPgoUsY5N4=
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>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] xen: fix multicall debug feature
Date: Thu, 27 Mar 2025 20:06:02 +0100
Message-ID: <20250327190602.26015-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 5F62B1F388
X-Spam-Score: -3.01
X-Rspamd-Action: no action
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)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
	MIME_TRACE(0.00)[0:+];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[10];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Initializing a percpu variable with the address of a struct tagged as
.initdata is breaking the build with CONFIG_SECTION_MISMATCH_WARN_ONLY
not set to "y".

Fix that by using an access function instead returning the .initdata
struct address if the percpu space of the struct hasn't been
allocated yet.

Fixes: 368990a7fe30 ("xen: fix multicall debug data referencing")
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/multicalls.c | 26 ++++++++++++++------------
 arch/x86/xen/smp_pv.c     |  1 -
 arch/x86/xen/xen-ops.h    |  3 ---
 3 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/arch/x86/xen/multicalls.c b/arch/x86/xen/multicalls.c
index 10c660fae8b3..7237d56a9d3f 100644
--- a/arch/x86/xen/multicalls.c
+++ b/arch/x86/xen/multicalls.c
@@ -54,14 +54,20 @@ struct mc_debug_data {
 
 static DEFINE_PER_CPU(struct mc_buffer, mc_buffer);
 static struct mc_debug_data mc_debug_data_early __initdata;
-static DEFINE_PER_CPU(struct mc_debug_data *, mc_debug_data) =
-	&mc_debug_data_early;
 static struct mc_debug_data __percpu *mc_debug_data_ptr;
 DEFINE_PER_CPU(unsigned long, xen_mc_irq_flags);
 
 static struct static_key mc_debug __ro_after_init;
 static bool mc_debug_enabled __initdata;
 
+static struct mc_debug_data * __ref get_mc_debug(void)
+{
+	if (!mc_debug_data_ptr)
+		return &mc_debug_data_early;
+
+	return this_cpu_ptr(mc_debug_data_ptr);
+}
+
 static int __init xen_parse_mc_debug(char *arg)
 {
 	mc_debug_enabled = true;
@@ -71,20 +77,16 @@ static int __init xen_parse_mc_debug(char *arg)
 }
 early_param("xen_mc_debug", xen_parse_mc_debug);
 
-void mc_percpu_init(unsigned int cpu)
-{
-	per_cpu(mc_debug_data, cpu) = per_cpu_ptr(mc_debug_data_ptr, cpu);
-}
-
 static int __init mc_debug_enable(void)
 {
 	unsigned long flags;
+	struct mc_debug_data __percpu *mcdb;
 
 	if (!mc_debug_enabled)
 		return 0;
 
-	mc_debug_data_ptr = alloc_percpu(struct mc_debug_data);
-	if (!mc_debug_data_ptr) {
+	mcdb = alloc_percpu(struct mc_debug_data);
+	if (!mcdb) {
 		pr_err("xen_mc_debug inactive\n");
 		static_key_slow_dec(&mc_debug);
 		return -ENOMEM;
@@ -93,7 +95,7 @@ static int __init mc_debug_enable(void)
 	/* Be careful when switching to percpu debug data. */
 	local_irq_save(flags);
 	xen_mc_flush();
-	mc_percpu_init(0);
+	mc_debug_data_ptr = mcdb;
 	local_irq_restore(flags);
 
 	pr_info("xen_mc_debug active\n");
@@ -155,7 +157,7 @@ void xen_mc_flush(void)
 	trace_xen_mc_flush(b->mcidx, b->argidx, b->cbidx);
 
 	if (static_key_false(&mc_debug)) {
-		mcdb = __this_cpu_read(mc_debug_data);
+		mcdb = get_mc_debug();
 		memcpy(mcdb->entries, b->entries,
 		       b->mcidx * sizeof(struct multicall_entry));
 	}
@@ -235,7 +237,7 @@ struct multicall_space __xen_mc_entry(size_t args)
 
 	ret.mc = &b->entries[b->mcidx];
 	if (static_key_false(&mc_debug)) {
-		struct mc_debug_data *mcdb = __this_cpu_read(mc_debug_data);
+		struct mc_debug_data *mcdb = get_mc_debug();
 
 		mcdb->caller[b->mcidx] = __builtin_return_address(0);
 		mcdb->argsz[b->mcidx] = args;
diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c
index 688ff59318ae..9bb8ff8bff30 100644
--- a/arch/x86/xen/smp_pv.c
+++ b/arch/x86/xen/smp_pv.c
@@ -305,7 +305,6 @@ static int xen_pv_kick_ap(unsigned int cpu, struct task_struct *idle)
 		return rc;
 
 	xen_pmu_init(cpu);
-	mc_percpu_init(cpu);
 
 	/*
 	 * Why is this a BUG? If the hypercall fails then everything can be
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 63c13a2ccf55..25e318ef27d6 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -261,9 +261,6 @@ void xen_mc_callback(void (*fn)(void *), void *data);
  */
 struct multicall_space xen_mc_extend_args(unsigned long op, size_t arg_size);
 
-/* Do percpu data initialization for multicalls. */
-void mc_percpu_init(unsigned int cpu);
-
 extern bool is_xen_pmu;
 
 irqreturn_t xen_pmu_irq_handler(int irq, void *dev_id);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 21:48:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 21:48:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929936.1332675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txv5A-0005pa-9G; Thu, 27 Mar 2025 21:48:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929936.1332675; Thu, 27 Mar 2025 21: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 1txv5A-0005pT-5n; Thu, 27 Mar 2025 21:48:12 +0000
Received: by outflank-mailman (input) for mailman id 929936;
 Thu, 27 Mar 2025 21:48: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 1txv59-0005pN-T9
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 21:48: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 1txv55-00C10R-2h;
 Thu, 27 Mar 2025 21:48:07 +0000
Received: from [2a02:8012:3a1:0:ede3:7fd5:aa96:e2db]
 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 1txv55-002U1K-1y;
 Thu, 27 Mar 2025 21: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>
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=8sfupe3zEJK0Vh427euGHCfEYMftr/NazyUMx+G1W14=; b=IDY+4ideU2M5POh5lllruEVE1L
	B0gVTHDEE7kkSZQ1bTQ8fgMmLmak2HsfUauh82cbYEfZaidO1be8mYDnBs5sb9bHQdbLvVcUIUM1L
	NVp88gW8IcnRAV7Tj55zo6QWTo5CNLhYbblNSPIi/P5GmoZjGsr+BF6FbjubJzjuUKbk=;
Message-ID: <78cd875b-fb29-4c5d-8baf-36ee7d42fac6@xen.org>
Date: Thu, 27 Mar 2025 21:48:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] trace: convert init_trace_bufs() to constructor
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <e1e556c4-ed71-41f7-acfc-b7fa866a0d3e@suse.com>
 <89043421-49b5-40cc-91c8-f4cd7dd2f6d1@xen.org>
 <87f63516-f9a3-46cc-80a7-1eb614c1f818@suse.com>
 <4c5ba483-c78b-4d45-addc-5a3070d99689@xen.org>
 <0758acd6-40fb-42f3-8fd4-2d22056183a1@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0758acd6-40fb-42f3-8fd4-2d22056183a1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 27/03/2025 16:10, Jan Beulich wrote:
> On 27.03.2025 16:49, Julien Grall wrote:
>> On 27/03/2025 15:08, Jan Beulich wrote:
>>> On 27.03.2025 15:49, Julien Grall wrote:
>>>> On 13/03/2025 13:38, Jan Beulich wrote:
>>>>> ---
>>>>> Same could then apparently be done for heap_init_late(). Thoughts?
>>>>
>>>> Looking at the code, I couldn't figure out whether any of the
>>>> constructors may rely on some changes done by heap_init_late().
>>>>
>>>> The only issue I can think of is scrubbing. In the case it is
>>>> synchronous, would the memory allocated before hand be scrubbed?
>>>
>>> Memory that is allocated can't possibly be scrubbed; only memory that's
>>> still un-allocated can be. With that I fear I don't properly understand
>>> the question you raise.
>>
>> I meant that if memory is allocated by calls from init_constructors().
>> Before this patch, the memory would be scrubbed. After this patch,
>> anything constructors called before heap_init_late() would end up to not
>> be scrubbed if it is synchronous.
> 
> Oh, I see. Since scrubbing may be asynchronous, any site relying on scrubbing
> having happened would be flawed anyway. 

I have to disagree. If the scrubbing is asynchronous then...

> Apart from that, unless callers pass
> MEMF_no_scrub to alloc_heap_pages(), un-scrubbed pages would be scrubbed> anyway (see near the end of the function).

... the page will be scrubbed at the time it is allocated if it was not 
done before. But for synchronous scrubbing, at boot, this will not be 
the case (unless CONFIG_SCRUB_DEBUG is set and with the associated 
command line option). It will only happen during heap_init_late(). This 
is because init_heap_pages() will not request scrubbing unless 
asynchronous scrubbing is enabled (or CONFIG_SCRUB_DEBUG is set and with 
the associated command line).

So I still think there is a potential difference of behavior if we move 
heap_init_late() later. Someone will need to investigate whether there 
is effectively an issue.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 22:03:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 22:03:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929946.1332685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txvJY-00021B-Fq; Thu, 27 Mar 2025 22:03:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929946.1332685; Thu, 27 Mar 2025 22:03: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 1txvJY-000214-Cx; Thu, 27 Mar 2025 22:03:04 +0000
Received: by outflank-mailman (input) for mailman id 929946;
 Thu, 27 Mar 2025 22:03: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=fbs7=WO=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1txvJW-00020i-TH
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 22:03:03 +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 3f3d1fc1-0b57-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 23:03:01 +0100 (CET)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfout.phl.internal (Postfix) with ESMTP id 973351383828;
 Thu, 27 Mar 2025 18:02:59 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Thu, 27 Mar 2025 18:02:59 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 27 Mar 2025 18:02:57 -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: 3f3d1fc1-0b57-11f0-9ea3-5ba50f476ded
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=1743112979;
	 x=1743199379; bh=zf6tcG4o+mDyKdiFDoblfnPavaAiQxh5rvU4VR14S+8=; b=
	qsNR2WJXh0ESyAevQdyM0s+kTsYJKnIQvdDm3r1+gxiDTpGnJ+5FQTQ/MgDH3NwJ
	2hMHrzA4e0giqKUsGhBI0jwpIcFr5czvEs/F8QXJQ6Q8aTKM/ZelhgxT8bXqYo5x
	Xl/5j0FVEakstUZ81rCPzZGfLNG72xxoSyVp55ZFBOVp443Mi2rOwGI536l++VVF
	Llq/4HpgVx/77N/0ECiGVwJv++N9N1bvBHUt+LDMYTyTYg/HVw6wpKMVLn2ThkuX
	G7LHXCft+8/OBAI+Z0pr2n0KqAv1Gam5cXVSVT0WjMKU3QZkemdww/RE7cJk2bPA
	sdkZXdv6CYWoPaEspsPEZw==
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=
	1743112979; x=1743199379; bh=zf6tcG4o+mDyKdiFDoblfnPavaAiQxh5rvU
	4VR14S+8=; b=N6f1yw83MqtHv7p51hGZ4/SC9oMZL5ghc4xXWl/8/8u70ACDeqk
	dNogg2QuxIKOIS6hmPk6uMIQWJD1/JWshj7CsubHhmHTPqzc6Jbl/+DlSYaWl3st
	VqQ+hhyEbix1QoI3lQsS1mbVJcAEhFL1Gm/7SStAbcws498So/VsU7RNwDlalZol
	X8XfMTi+8eu3UpoQSghWVpIPlewY3xIekZTRD49/XISNwCwGxlqW8LCdC5xo/m5O
	HAxOrvQudpVsOiLNPHDhdJqMV3jVZrzGbqLxSJ3HM2jG2emubrrYvVPyqYY6yuXS
	wK6zQOzMGscUDWrNDrtSV1qekKtdUD/w3OQ==
X-ME-Sender: <xms:E8vlZ1z1CZECBG6_Mp88bOnx5cVJzJ7563QxTDbOEBT6m1Vg5bVMfA>
    <xme:E8vlZ1Q8dPTy3XJ9psoljGwXy2NVVE9pGqXeydQ38V8IRZAzpKoS7j6YKriUamXzc
    nkM62tbWETC0A>
X-ME-Received: <xmr:E8vlZ_V_gfDRcqKSkoKoYjun8rxx3ZNQYmiEx2Mvfhzp70sF1PS9i3xXg91oD4s2u9F4chSXx9UvrPqXyDpXgLtN4QuCoC1lRg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduieelheehucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettd
    dvgeeuteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    dpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprhgr
    fhgrvghlsehkvghrnhgvlhdrohhrghdprhgtphhtthhopehjsggvuhhlihgthhesshhush
    gvrdgtohhmpdhrtghpthhtoheplhhinhhugidqphhmsehvghgvrhdrkhgvrhhnvghlrdho
    rhhgpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrd
    horhhgpdhrtghpthhtoheplhhinhhugidqrggtphhisehvghgvrhdrkhgvrhhnvghlrdho
    rhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtg
    htrdhorhhgpdhrtghpthhtohepjhhgrhhoshhssehsuhhsvgdrtghomhdprhgtphhtthho
    pehrvghgrhgvshhsihhonhhssehlihhsthhsrdhlihhnuhigrdguvghvpdhrtghpthhtoh
    epvhhirhgvshhhrdhkuhhmrghrsehlihhnrghrohdrohhrgh
X-ME-Proxy: <xmx:E8vlZ3gF2XCjuE75JMfKey6xrB1KDGRQwSB_Zz6rqhIbDMaKJZLc_w>
    <xmx:E8vlZ3DoNF4kDwtCT45CbwA5LkLTnRd0bcWStq-gcl9gnbU4gog0Ag>
    <xmx:E8vlZwI0go199P1aByq75PTaH84a6wHiOqFoC7FoGejgKNr_2rX-VQ>
    <xmx:E8vlZ2CCn1vcZv2vExq2Hk9im0zGshq2jPezirMyu7rIzarY0KBqVQ>
    <xmx:E8vlZzt0mvB-6kPl_WJA76SfockTXV1N1Ln2adtM3Q1OSqVbbDFu_rtq>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 27 Mar 2025 23:02:55 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>, regressions@lists.linux.dev,
	Viresh Kumar <viresh.kumar@linaro.org>
Subject: Re: NULL pointer dereference in cpufreq_update_limits(?) under Xen
 PV dom0 - regression in 6.13
Message-ID: <Z-XLD9FVjqKPU3hO@mail-itl>
References: <Z-ShAR59cTow0KcR@mail-itl>
 <3796f2d9-738f-4cdf-a4a2-61c4aa99c310@suse.com>
 <CAJZ5v0jn_gv92ywZiTZDdGN3Z+GNW0BJ5=kBD=8MpQ0Pt+y8TQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="n/zi9pJWB1Be1f5W"
Content-Disposition: inline
In-Reply-To: <CAJZ5v0jn_gv92ywZiTZDdGN3Z+GNW0BJ5=kBD=8MpQ0Pt+y8TQ@mail.gmail.com>


--n/zi9pJWB1Be1f5W
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 27 Mar 2025 23:02:55 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>, regressions@lists.linux.dev,
	Viresh Kumar <viresh.kumar@linaro.org>
Subject: Re: NULL pointer dereference in cpufreq_update_limits(?) under Xen
 PV dom0 - regression in 6.13

On Thu, Mar 27, 2025 at 12:02:24PM +0100, Rafael J. Wysocki wrote:
> cpufreq_update_limits() needs to ensure that the driver is there.
>=20
> The attached patch should address this issue, Marek please verify.

Yes, it fixes the problem, thanks!

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

--n/zi9pJWB1Be1f5W
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmflyw8ACgkQ24/THMrX
1yyKGAf/RTH6B+NEeQIKDnBlfNysIHdT/cbPalXVBjdTpKXKuIyi+gjpm4pFpLU0
EVf8sCTXe2zXKAWmTJ+g1kwocHEAu94lm78QAn2Y1ZP98e7czfVy0zqpMfOVOfW4
acaKrf6R30uzDAW6RNmFk4BwGS2wHhQ2qt+pn9Yz5OQd1mNaZFguHhqnPn6ceRnO
zG2W8HJRoQjsqG5r/JQ/ouKhXVMU9HMq14OQLANb6Q+GOuWuZ3HmRL+ZtG7O9+H5
AYbqeIoIH1XuNLkb69GdoJcyfV+LMKoagGYumGsfhR460h/O9LA8lpKher86U7ig
XH40zoYMGASoWX7KueC+Bb7uKv4XkQ==
=Zu1I
-----END PGP SIGNATURE-----

--n/zi9pJWB1Be1f5W--


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 22:04:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 22:04:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929955.1332694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txvKU-0002XL-O9; Thu, 27 Mar 2025 22:04:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929955.1332694; Thu, 27 Mar 2025 22:04: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 1txvKU-0002XE-Lc; Thu, 27 Mar 2025 22:04:02 +0000
Received: by outflank-mailman (input) for mailman id 929955;
 Thu, 27 Mar 2025 22:04: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=QKAi=WO=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1txvKT-00020i-DB
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 22:04:01 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20619.outbound.protection.outlook.com
 [2a01:111:f403:2612::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c2d8aed-0b57-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 23:03:48 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by DBBPR03MB10269.eurprd03.prod.outlook.com
 (2603:10a6:10:536::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 22:03:46 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 22:03: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: 5c2d8aed-0b57-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xcSmZ1DJBCi/H/7ObxPrCEJaGzJxfMYPr/VcPINYTq4AWMwlDm7znte1mgXJ+yTMRnpqhlJN99roVRwt6uEkMCvISOsCut6UPdTKZDeTBHgz6kvw0+qUMUWw3iixqscB78lbM98vYBZ0Q34A0tWmY/kOTCVKF9sklqJv7uA1rPV1HVUxLYKSvrDKmV8WD/RODJndmlmxR6iFHJRl7YHzauzmGZdkItoZsRBSCX6l3smTM+kYD4jU8W1gd+niIr+16ofj5X44Jb2swbVWm2bl9JvLW9YCcG/s1YPQhDw4eTl4cFojyFBtm0GaNRWhZE2jG5VZvldQlFJzMzf0nfIK0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nNeKvu66ucjhz8G35DH2Eyaeu4A3Qcujp9Xa82gHBnI=;
 b=smldSMnY9LM4GEy0+kwzj+WLwzB+jxNypa9asiGktJI0IorWBGDeEidjynfZzas7BXQM0BPu+2+cR2UwWrVD3B9bA5bxuqXMVrL9Tv78qPAW73iNVDDRvIJQB/nGCJLoO3O4pBxtzzTCasHhGjpgYKJfN1XY0rUdupuDdaKUw3dNjSjjLMLXsiofIEi2NvR8pPABf3jKH4cX8E/IllA5vmicxBZplN6O41KsTC9Aq4GrceIEDwEmD0UY8mC9TtW4o4FExOoujCEBH2aweXekW9EvnjdvqBS4aVRI5By7qK8MKC376ux8ijLGy25EF9ZGIddFnDBeX3tSNycrOJ08hg==
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=nNeKvu66ucjhz8G35DH2Eyaeu4A3Qcujp9Xa82gHBnI=;
 b=J2e7hk20XiPmEytMSTMqe+9bD0dYVOR7IqMDyAzTkCUpBY9qjg6cohODyfQJvjrWBiqQfA/Xt9yoTRgmgiHh1jmEucSRXoPUnoalI+P+dNViLbPKDI6FPY6SrYx3lIbp87X8hawde3eKRr68p0fOMBawkQ0iHw/VrmAe3J/qVfmO7SoqlJWrN/KnZjmgOqfSMI/BW1Fe2obLubaOLtEcMssViiEQnAJ5HVLUnoLXWyp0B1JRqOaN4iv8Okat/Ie5zcypvRRIMWdRpNqP/CCygSqedpOQrInFlePOrNmGBYA2bsxT96lHdHgvRHkqsqRtHhh7GgiHWrKPkl9Qk7P5OA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@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>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 1/3] xen: gcov: add support for gcc 14.1
Thread-Topic: [PATCH v1 1/3] xen: gcov: add support for gcc 14.1
Thread-Index: AQHbnrDjP18EuEhGMUmNMUBtvyYXWw==
Date: Thu, 27 Mar 2025 22:03:46 +0000
Message-ID: <87iknugmgu.fsf@epam.com>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
	<20250327004044.2014048-2-volodymyr_babchuk@epam.com>
	<b56cd8e5-d17a-46a3-8584-cf69113c145a@suse.com>
In-Reply-To: <b56cd8e5-d17a-46a3-8584-cf69113c145a@suse.com> (Jan Beulich's
	message of "Thu, 27 Mar 2025 08:55:31 +0100")
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: GV1PR03MB10456:EE_|DBBPR03MB10269:EE_
x-ms-office365-filtering-correlation-id: 021ad491-7140-4602-ef91-08dd6d7b3ef6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?VOy0xw4HCF1KrSy2wtktle/RQWV7ExbSY/V6Ic6QEto03/u4KSZgH7NQTt?=
 =?iso-8859-1?Q?sKFFqxPsCo4Dt/TZOLJUjYIDPnTnjAL1sovb46kGieNAGJCLH6mDUcZyfQ?=
 =?iso-8859-1?Q?wbFUjC5d8DsxeAXaGfkss/G8STylJ6KQYpe4RotTUM4zLJoaVydaQFdBo6?=
 =?iso-8859-1?Q?FZgJmywsGV2A7yMlbJ124DzSoKP22DEgqb6pwghfMO9UkrtGLpJa2SRZ6x?=
 =?iso-8859-1?Q?9ypmhpgrwOqvQuHq7qeGaR5Lah+hu+G5Om+962hm0/E4rXHWFXjamQGfAs?=
 =?iso-8859-1?Q?TPpCUqnTjii7puHFeRERYq1WkZj89msdQNMHcfTLB9hf3vjQ2BHdAGDCXB?=
 =?iso-8859-1?Q?Ei8DfXxeIUPKBhqG5R20ec7as6ah8dgBbES0DT8kpji84nuLiZmogHVtjh?=
 =?iso-8859-1?Q?tKJMthLhuP0hrFD/W/g9BH2kpUPJxpnj92SQCeHWu+KwRnGBxk+g9L79u7?=
 =?iso-8859-1?Q?bswdej38jzkiDttqkTgRqiYQ2aX7lwcRAsmmJh4r8JFNQzHXvv8VnuFrh9?=
 =?iso-8859-1?Q?E5J24/CSxKu52S3hxZYtl8MxUxNNxO0xW9rLc3y50TwYFjMRJOlNzXmBod?=
 =?iso-8859-1?Q?RIinc4DT+w+K+CBdQp5wyPaVcAc953maPKW+6JVcnyCFkpku2FC9kUG/4t?=
 =?iso-8859-1?Q?TzZskIweXve7TbuljzUvt6xgZlBV2dzpgZOBbnGJBIRV6lEiZlUxIf+3Oo?=
 =?iso-8859-1?Q?e1V+L2T7+C/Fu2giVU76CfAdr74Z7/Z5F00PxdKcFM2R5NY+OfCebVfm1N?=
 =?iso-8859-1?Q?esk9k2UaCey5vI7rDBouGceVWm77RKtJAnuqgqNqEWRVvvSvSEOIcIn5MG?=
 =?iso-8859-1?Q?rt3ZXGtqYZVyD8ae+SOiB9CgiHDXRyefMLlWMbjOF+rkE00b0jvdzJTWTm?=
 =?iso-8859-1?Q?/22Hf0DsDpnAZWYXvTaCvvqyoUGtuJHJ3Ng0wuqwBVUAl2HseCrzsGDjty?=
 =?iso-8859-1?Q?t3OvvXJIffTMCCIpuvq0gBvjIsY/pD5nNUNxUitN5ZA7qlwOFLKTq5ClbX?=
 =?iso-8859-1?Q?b0wfsTwT/lcis/3Y7jNMpPnj7IyL9qBIIaVi9nDHy2oHYU1u+EBq7IV1OA?=
 =?iso-8859-1?Q?BD0B99W7onVWIveMtDHF5aywIvj1QsvNN//XU9uz8BYggNl1gFLfLIX5SB?=
 =?iso-8859-1?Q?E2BD/reaXEE+SgjyvkNu7Tfjur3FFqZQh8lnZP2hh4seR8/9N5fULXay/3?=
 =?iso-8859-1?Q?6fk+kOCZCcs0Cj3yAStu5hgaLJTE4wmehCYwbTKlKc+NFoeIbHhCBsdwTu?=
 =?iso-8859-1?Q?mKVu/rgyKXsrXhGO4xmFSu9Z4m02kFJPJQSzMLJ4OM5LlFJHWZ5Y/9XFcg?=
 =?iso-8859-1?Q?Efyn8FZSofomjt2TehVwgIJMzT1kzBdOj83AYBnKggy3GYj6fDGYpFdiWr?=
 =?iso-8859-1?Q?g2ISjRkiRtoQUet0Akj7lJvy7MGm38Tzf13XOfb1jSyKtUn+P3mLv4CMKY?=
 =?iso-8859-1?Q?cITZ62wehuC/aNO3gWtu/h3otoYlxGu16/1Uvut26/ywSO/Qa/CRyWm7Dp?=
 =?iso-8859-1?Q?XjJWHNVvA56S65eVhi3JWI?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?TCBlOUkJ/EFXi6QdoyErvZfom5JuA5pLEKIhIOY89TXBGp4VFZhuPLR35l?=
 =?iso-8859-1?Q?jmPsvth/p3H5Mtw9IfNkERvNSV2uSkckTfQJqSNCBcZf18xkguyNrdegwz?=
 =?iso-8859-1?Q?sX2ojU1egBLNI7M1td7806fmRXeWVWdrfy4V7BQ0HNwnXk/GjGLw3EmC53?=
 =?iso-8859-1?Q?k08Nlcj1SXE1XyfUrtGiZfVeSisn7pn4HAyUhUnFsgDmURGZwq5haeLq4a?=
 =?iso-8859-1?Q?zGN6IjTPtjy+OB6r0TX+Jlc16Ojo4bMDESXxi/2tV7rjH3CAISJ0eccIA0?=
 =?iso-8859-1?Q?pGq/9uYoyvYguzqJuU1wLNLrHfhwdTlUMd/NjM9VJua47+Cagjsw/+mdsx?=
 =?iso-8859-1?Q?M1VjaRiFBipWAnEdDsHoyxDWmUBlOmb9z59zndjl/J9cnx5pg0WSf4S0sD?=
 =?iso-8859-1?Q?4nAI6slE0Naf53Drlct925kQvscNHYZoUg0WsyuXcG5RNs1wMxqcf+95eP?=
 =?iso-8859-1?Q?WcjC8lG3DX2pe39UAvQyJ7sVzSvq0jOXMTq4xTWJiz9xL7r4/byNCSvmZZ?=
 =?iso-8859-1?Q?66j6/TIB3MwwLifEJCK2H2deR5W8iQcfNTTfDK7TSQA0VWfya01KD/kZx8?=
 =?iso-8859-1?Q?zvPcAIZHIkXlowoHBTdnNgvX2mrsDB1if5NYEEyYJBJaURENf1hJwxBBlW?=
 =?iso-8859-1?Q?fqWKXhKtKS151Vw8SqFVTtkhagpUbO1IlhtM+ZBSYOd2ENpEf0Hw4w4MIp?=
 =?iso-8859-1?Q?WNQ4saKX0hKNMAaGiA6EMMD6QyGLfb8c6w1mrF6CHSvgsg9TROlP639YRs?=
 =?iso-8859-1?Q?4Bjq7M7OvIOCCvUVFddX6GfEeSdy3/0wfs2uulS3Yj+j8EtFa+KvVyV2S8?=
 =?iso-8859-1?Q?UW7gP1MEFBC1axKFL/sCta5p2h5vTWxaqE4L3vQzYv7E0+rjLSBYoJMjsw?=
 =?iso-8859-1?Q?YyPIMA1IVX+GGYQ1M1tOpzmIBJwpYqBIMYE8e4SesPxgZfohQRWnGilt+4?=
 =?iso-8859-1?Q?87okT1Y003sZXo9HRtPRObY/wjlx9UFYG+NACs8aZg/KSr9EH3y5WzQLZ9?=
 =?iso-8859-1?Q?CbRUkxgeqsgu7paN8LhG25mRTPkSDnEurjsw7AH2lQ38GBOxT0kgXrKRmv?=
 =?iso-8859-1?Q?VMX9LuIiT4u+60E8TngsDASvuo9bZHs2Fmn6BUVfe3LZTO22qUW+VwVgdA?=
 =?iso-8859-1?Q?UnXGt/kuzdbjt9b1ySzmhTv4i+3FrV77EkilN0Miq9H5VtqXWKysCl/j/L?=
 =?iso-8859-1?Q?PKEUGdIijuCk+ooC8EAR7h5bpYv40jLkxKMiJWFKB//7+Vyv6nLSb6+Vik?=
 =?iso-8859-1?Q?IRWC3VnhUn9946owtUoPxbOWfmSCO/a0XSR8eJxgCag4+Knvx/l3jnohe/?=
 =?iso-8859-1?Q?vFpYkv1jtW098T7lyjZEL8u0XzKo6i8T2hI4mqVKjdJhPnCawmA2WDRqUW?=
 =?iso-8859-1?Q?CizvHEmNBlKP2vj6lLislfdT2v2O14w5rtum8N1ty3PawpbikLa4JcuXDk?=
 =?iso-8859-1?Q?KwRxl0FGeQSyW6rkmRlhCLrM/FSUYKhupUtrFqQOJDdGd+0OSCD/gayb8L?=
 =?iso-8859-1?Q?6+92C9toUnr1KAY4Ma4Cr6GQzm+L2d4fhej7FzYcCRkqX3nOUqrUJcqubu?=
 =?iso-8859-1?Q?Fe5AWZ/j2vabYczkXUm0B5v1YGVShfFgpXRPcgP5vd/cy4bQf7ntOwWwHZ?=
 =?iso-8859-1?Q?dZ2YrSzLQD8Ejb0ujwMuva0Jgi3jToV75TCddkXOP+piChYbHwdw46Fw?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 021ad491-7140-4602-ef91-08dd6d7b3ef6
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 22:03:46.1006
 (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: CuFZnBopwYYrf2Cg/Lz4vetesd6lkYK0ztWoC53lodCNUCfd4OfH8/3NKfS2z2eqMYrKKzHfWLe6XcIAZyDmm+bC2eYk5Btl/wkN0uAUN10=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB10269


Hi Jan,

Jan Beulich <jbeulich@suse.com> writes:

> On 27.03.2025 01:40, Volodymyr Babchuk wrote:
>> GCC 14.1 has 9 gcov counters and also can call new merge function
>> __gcov_merge_ior(), so we need a new stub for it.
>>=20
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>
> As to the title - what about 14.2.0? Or the soon to appear 14.3.0? I reco=
mmend
> to say just 14.
>

According to GCC changelog, it was added in GCC 14.1. And yesterday they
added another counter... So probably 14.3 will have 10 counters in total.

>> --- a/xen/common/coverage/gcc_4_7.c
>> +++ b/xen/common/coverage/gcc_4_7.c
>> @@ -28,8 +28,10 @@
>>  #define GCOV_COUNTERS 10
>>  #elif GCC_VERSION < 100000
>>  #define GCOV_COUNTERS 9
>> -#else
>> +#elif GCC_VERSION < 140100
>
> The situation is a little less clear here because the development window =
is
> fuzzy to cover. Nevertheless with all other conditionals here using only =
a
> major version, with subversion being 0, I think the same should go for 14=
.
> Unless of course there is a good reason to be inconsistent.

As I said, 9nth counter was added in GCC 14.1, GCC 14.0 had less counters.

>
> With both adjustments:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
> Jan

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 22:59:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 22:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929972.1332705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwC3-0005I2-NX; Thu, 27 Mar 2025 22:59:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929972.1332705; Thu, 27 Mar 2025 22: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 1txwC3-0005Hv-Kg; Thu, 27 Mar 2025 22:59:23 +0000
Received: by outflank-mailman (input) for mailman id 929972;
 Thu, 27 Mar 2025 22:59: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=SxjK=WO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1txwC2-0005Hp-Go
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 22:59: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 1d23a0a6-0b5f-11f0-9ea3-5ba50f476ded;
 Thu, 27 Mar 2025 23:59:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 9B0BC43DD1;
 Thu, 27 Mar 2025 22:59:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BC8BC4CEDD;
 Thu, 27 Mar 2025 22:59: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: 1d23a0a6-0b5f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743116357;
	bh=r+qtZwZZ6hTRvqjIYI8HGxk9LVjjCQbOKCsDNQAP9QM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=e5Ys3g3P6VU87HMIvCog9xqZfmluMFAmegtdYD+Qkwa+GWPEdVoCoWptnT9vuQKsi
	 RCUarAI7+Er2wdgEDnkMhWeF7pixC9aeP4ObXLOxURwW42Y8hksIkvKJsAMZnkkBp6
	 3sNQ+HWydCVYN3mlKpRzkxwPQi/fIAVAmoz2OkFD81qEswJITXf7XnPK5HOixP/Ivs
	 gvO6Eg3j8i+dVRe8XG2uL43YRjYwFEeaQtTZVYOEbRRpbA4qpYr/NIw7FzPlBPfDws
	 RUm5gz060YWbHyQVa3TcbZ8MsM5ogVbVoQnv0SSH+jt9NFMUf6JDMbr/i+fuya4Ne9
	 ieo9LwMQ9Waog==
Date: Thu, 27 Mar 2025 15:59:16 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Anthony PERARD <anthony.perard@vates.tech>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH] automation: Avoid changing source files for randconfig
 tests
In-Reply-To: <Z-UvUUwUToTr5OgD@l14>
Message-ID: <alpine.DEB.2.22.394.2503271554250.563920@ubuntu-linux-20-04-desktop>
References: <20250326142754.5441-1-anthony.perard@vates.tech> <alpine.DEB.2.22.394.2503261910100.563920@ubuntu-linux-20-04-desktop> <Z-UvUUwUToTr5OgD@l14>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Mar 2025, Anthony PERARD wrote:
> On Wed, Mar 26, 2025 at 07:10:52PM -0700, Stefano Stabellini wrote:
> > On Wed, 26 Mar 2025, Anthony PERARD wrote:
> > > diff --git a/automation/scripts/build b/automation/scripts/build
> > > index 522efe774e..8a3b8fb6b2 100755
> > > --- a/automation/scripts/build
> > > +++ b/automation/scripts/build
> > > @@ -12,12 +12,12 @@ $cc --version
> > >  # random config or default config
> > >  if [[ "${RANDCONFIG}" == "y" ]]; then
> > >  
> > > -    # Append job-specific fixed configuration
> > > -    if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
> > > -        echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
> > > -    fi
> > > +    cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp
> > 
> > Wouldn't it be better to use mktemp?
> > 
> > local tmpconfig=$(mktemp)
> 
> I though of it and I wasn't sure if we could use it in the CI, but it's
> already been used so that's an option. (Actually, there's only a single
> use by ./check-endbr.sh, ./configure does use it as well but to create
> temporary directory within the build tree.)
> 
> But, to avoid overflowing /tmp with loads of leftover temporary files,
> we need to clean it, with:
> 
>     trap "rm $tmpconfig" EXIT
> 
> The advantage of using an in-tree files with a predefined name is that
> it isn't going to create more than one file, no matter how many time you
> run ./build. The '*.tmp' files are already ignored by our .gitignore. I
> could rename it to with a "." to hide it a bit more.

I think it is fine, there is no need to hide them more.

I was suggesting to create a file under /tmp instead to keep the source
directory cleaner, and also because I don't think it is an issue to add
files to /tmp and not clean them because they get removed when the
container exits. Isn't it the case? Locally it looks like each
containers gets its own /tmp that is cleaned after exit.

So my preference is to use mktemp and *not* clean the tmp file on exit.

If you think we have to clean the tmp file on exit, then let's go with
your xen/allrandom.config.tmp approach as I would prefer to avoid the
"trap" command to keep the sources simpler.


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 23:00:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 23:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929979.1332715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwCg-00063d-Vf; Thu, 27 Mar 2025 23:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929979.1332715; Thu, 27 Mar 2025 23:00: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 1txwCg-00063A-RX; Thu, 27 Mar 2025 23:00:02 +0000
Received: by outflank-mailman (input) for mailman id 929979;
 Thu, 27 Mar 2025 23:00: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=SxjK=WO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1txwCf-0005Hp-Ho
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 23:00:01 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 359e1bb3-0b5f-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 00:00:00 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0EFEF5C4756;
 Thu, 27 Mar 2025 22:57:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E4FBC4CEDD;
 Thu, 27 Mar 2025 22:59:58 +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: 359e1bb3-0b5f-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743116398;
	bh=II7J9WX9J488Gulj8+zcvXQZNYD3BPx/QAr6USW1fKo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=t339PC9+raAsSgheSzawWWhlf09gGA2qFTLMWpKD1V/LgGlBiQDtYXGB03i/VhJtr
	 xybEvb/0qwEGcJieEd8G5bWdtkt+so08jHQbjoA2DuW2EwpybbN+oUUsR1wDyimYZb
	 sSEmw51BH1b9g3KtBHsq1n+982tys7qVjT7w3Fs+/veYXlz310U+DssWkWzox1vz8W
	 ZW5OREVboU47HrGZaNRzQ43sIyyNi1CzUB4GYwGQNRdDjQ00rND8KDwMraHh5lhYZB
	 iO5PrBmV3Oc3IFrIpDTe2zl3YsFGTI9fCc11Bx4cBTrtaOETVTT0MLdEjXnT7lIBeX
	 xH/WZguWLMezw==
Date: Thu, 27 Mar 2025 15:59:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Anthony PERARD <anthony.perard@vates.tech>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] CI: Change pipeline name for scheduled pipeline
In-Reply-To: <20250327103345.21306-1-anthony.perard@vates.tech>
Message-ID: <alpine.DEB.2.22.394.2503271559510.563920@ubuntu-linux-20-04-desktop>
References: <20250327103345.21306-1-anthony.perard@vates.tech>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Mar 2025, Anthony PERARD wrote:
> This description is already displayed on the web UI of the list of
> pipeline, but using it as "name" will make it available in webhooks as
> well and can be used by a bot.
> 
> This doesn't change the behavior for other pipeline types, where the
> variable isn't set.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>

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


> ---
> 
> Notes:
>     doc:
>     https://docs.gitlab.com/ci/yaml/#workflowname
>     https://docs.gitlab.com/ci/variables/predefined_variables/#predefined-variables
> 
>  .gitlab-ci.yml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index b3beb2ff9d..7974ac4e82 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -4,6 +4,7 @@ variables:
>      description: "Regex to select only some jobs, must be enclosed with /. For example /job1|job2/"
>  
>  workflow:
> +  name: "$CI_PIPELINE_SCHEDULE_DESCRIPTION"
>    rules:
>      - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
>        when: never
> -- 
> 
> 
> Anthony Perard | Vates XCP-ng Developer
> 
> XCP-ng & Xen Orchestra - Vates solutions
> 
> web: https://vates.tech
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 23:09:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 23:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.929991.1332725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwLy-0008VG-PJ; Thu, 27 Mar 2025 23:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 929991.1332725; Thu, 27 Mar 2025 23:09: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 1txwLy-0008V9-MY; Thu, 27 Mar 2025 23:09:38 +0000
Received: by outflank-mailman (input) for mailman id 929991;
 Thu, 27 Mar 2025 23:09: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=SxjK=WO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1txwLx-0008V3-KJ
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 23:09:37 +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 8a32b6a4-0b60-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 00:09:32 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 10228446FE;
 Thu, 27 Mar 2025 23:09:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6369AC4CEDD;
 Thu, 27 Mar 2025 23:09: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: 8a32b6a4-0b60-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743116970;
	bh=5FDj7SSFmxP5A6oYm6IjAdDpCKTDfi7cuVGyeDvqGbQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KfAXQEblNnm0ihlrTJ5RYcM6LT3CgPnVj2kZ8h/JLkGkVln5aYMGa95hXWzrPK1D6
	 c5Gu2fq257YoK0WmFCxaPTcrj9xp9ZjUYskg6SVOP3rLBCEe1mi9bu2JBFtAxOVLOi
	 SByyEO6+jgptyvABSUFPOLNRlqyP/ajcYpjV7jDD3IMlFBEEoErxADGdODI0HXB4bN
	 ysDX7lZjGc6OuYn+MBcMJJ8DOTM93Pv4symVHCwxgqQzFOhrL3GdONEO2CvWxrOQ2H
	 xZMZQzTsO3e1P/rxwXPwOEYMXuPdVDg+aezawy2/NddUBvdKfIX8wLstEiT5oEosuy
	 lkiZgkdZSd2LA==
Date: Thu, 27 Mar 2025 16:09:28 -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>, Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v3] ARM/vgic: Use for_each_set_bit() in vgic-mmio*
In-Reply-To: <20250327134710.399101-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2503271609160.563920@ubuntu-linux-20-04-desktop>
References: <20250327134710.399101-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Mar 2025, Andrew Cooper wrote:
> These are all loops over a scalar value, and don't need to call general bitop
> helpers behind the scenes.
> 
> Clamp data to the width of the access in dispatch_mmio_write(), rather than
> doing so in every handler.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> 
> v3:
>  * Split out of series.
>  * Move clamping to common location.
> 
> Bloat-o-meter analysis.  The negative change in each handler also includes the
> removal of calls to _find_{first,next}_bit_le(), so the improvement is better
> than the summary suggests.
> 
> $ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
> add/remove: 0/0 grow/shrink: 1/6 up/down: 24/-156 (-132)
> Function                                     old     new   delta
> dispatch_mmio_write                          212     236     +24
> vgic_mmio_write_spending                     392     368     -24
> vgic_mmio_write_senable                      324     300     -24
> vgic_mmio_write_cenable                      320     296     -24
> vgic_mmio_write_sactive                      204     176     -28
> vgic_mmio_write_cpending                     464     436     -28
> vgic_mmio_write_cactive                      204     176     -28
> 
> $ ../scripts/bloat-o-meter xen-syms-arm64-{before,after}
> add/remove: 0/0 grow/shrink: 1/6 up/down: 32/-196 (-164)
> Function                                     old     new   delta
> dispatch_mmio_write                          164     196     +32
> vgic_mmio_write_spending                     320     312      -8
> vgic_mmio_write_cpending                     368     356     -12
> vgic_mmio_write_sactive                      192     156     -36
> vgic_mmio_write_cactive                      192     156     -36
> vgic_mmio_write_cenable                      316     268     -48
> vgic_mmio_write_senable                      320     264     -56
> ---
>  xen/arch/arm/vgic/vgic-mmio.c | 22 ++++++++++------------
>  1 file changed, 10 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
> index 4ad350c21c8b..b4ba34cfc368 100644
> --- a/xen/arch/arm/vgic/vgic-mmio.c
> +++ b/xen/arch/arm/vgic/vgic-mmio.c
> @@ -70,9 +70,8 @@ void vgic_mmio_write_senable(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>  
> -    bitmap_for_each ( i, &val, len * 8 )
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>          unsigned long flags;
> @@ -115,9 +114,8 @@ void vgic_mmio_write_cenable(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>  
> -    bitmap_for_each ( i, &val, len * 8 )
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq;
>          unsigned long flags;
> @@ -183,11 +181,10 @@ void vgic_mmio_write_spending(struct vcpu *vcpu,
>                                unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>      unsigned long flags;
>      irq_desc_t *desc;
>  
> -    bitmap_for_each ( i, &val, len * 8 )
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>  
> @@ -231,11 +228,10 @@ void vgic_mmio_write_cpending(struct vcpu *vcpu,
>                                unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>      unsigned long flags;
>      irq_desc_t *desc;
>  
> -    bitmap_for_each ( i, &val, len * 8 )
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>  
> @@ -327,9 +323,8 @@ void vgic_mmio_write_cactive(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>  
> -    bitmap_for_each ( i, &val, len * 8 )
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>  
> @@ -357,9 +352,8 @@ void vgic_mmio_write_sactive(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>  
> -    bitmap_for_each ( i, &val, len * 8 )
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>  
> @@ -591,6 +585,10 @@ static int dispatch_mmio_write(struct vcpu *vcpu, mmio_info_t *info,
>      if ( !region )
>          return 0;
>  
> +    /* Clamp data to the width of the access. */
> +    if ( len < sizeof(data) )
> +        data &= (1UL << (len * 8)) - 1;
> +
>      switch (iodev->iodev_type)
>      {
>      case IODEV_DIST:
> -- 
> 2.39.5
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 23:16:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 23:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930005.1332734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwT1-0002nC-FE; Thu, 27 Mar 2025 23:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930005.1332734; Thu, 27 Mar 2025 23:16: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 1txwT1-0002n5-Ca; Thu, 27 Mar 2025 23:16:55 +0000
Received: by outflank-mailman (input) for mailman id 930005;
 Thu, 27 Mar 2025 23:16: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=ZXwx=WO=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1txwT0-0002my-1x
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 23:16:54 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20623.outbound.protection.outlook.com
 [2a01:111:f403:2415::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87b77515-0b61-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 00:16:37 +0100 (CET)
Received: from PH7PR02CA0010.namprd02.prod.outlook.com (2603:10b6:510:33d::29)
 by SJ0PR12MB8089.namprd12.prod.outlook.com (2603:10b6:a03:4eb::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 23:16:32 +0000
Received: from CY4PEPF0000EE3E.namprd03.prod.outlook.com
 (2603:10b6:510:33d:cafe::67) by PH7PR02CA0010.outlook.office365.com
 (2603:10b6:510:33d::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.43 via Frontend Transport; Thu,
 27 Mar 2025 23:16:32 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE3E.mail.protection.outlook.com (10.167.242.16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 27 Mar 2025 23:16:31 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 27 Mar
 2025 18:16:29 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 27 Mar
 2025 18:16:29 -0500
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 27 Mar 2025 18:16:28 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87b77515-0b61-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qVDm1LWKX9Tu0Ajh6hNFeawrYNYwGyX5Y+6Z8RQU7EOsrSJGB6dJ2cXKe1fE/nJDF6tqAViZgaLNwTckB9muV9S3yUllN14CDOD5YTilBfQYmo9S9fuUIxyCOZXbLRRehBzi4DXaubcMawzNYtHXOQMd0TV3Af5dTL7o9pEQ1XK5dNzBnMdqPjJb/yOMKY2X1INQans/J+HZjs7heI8s3aEbXGaPvpIzSzvL7G3SWqE1lWdUkhIeeF8YcTX2QIdHZLNwFzsqV1j0DLSGm2fPOwXsDSY+Rwgtb8Af2bg1v7UpxPTIMj0h+wRiwfFVV9BaDxthrJ77Vjy7wiub9cNsgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OTWYaoclpebpaZSb6u4errjdENiG0iSlcWFhm6M6ebI=;
 b=jHkDjPU1XOVaLS8tFaedHCr/Ju38dHXQNeS5FPZba2Qr14wqTG8k5MuqOAjfUaIppqAW3Ocdv6/xKA1QdgfNO2Ov4w2/I/LWr/0VHQUgwaElXCoEr+jKgXyza/1hOaRL/30ZHXh3hR1E7teJvL+kebOnwqyvhdVuSQoviTsETWyiTsmeTxWrd5u0vB8mUZtnM8/g8GIepUeKX0gvjDGbSgMj81GHb8D8dfcwO0CvkJ34FPdXt2MEyJXRQAw/t440xAabZqB4QwL0LdXvuVKZ3adWN/MMOfHl5kOUWAEAnFi1ZAB64DHkV5B23Miv4KcDAIp1v2kGgPU9AYgKGSnj/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=OTWYaoclpebpaZSb6u4errjdENiG0iSlcWFhm6M6ebI=;
 b=O6iudFX9JhFXxAQmOLqLTXjTM8lXWrA+cAgRDutI5QQXljK1JqBEO9UnSK5MFamS+hRMyppcEBPC7NaQ30nGkPWfdshy3gh83S9HyYOWHGK87VhO4Av59H7q9nysXZO1ns2fWRUvPH7ncnLNfRILNtXGUq1Z3DuRPIMFUsMosXg=
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=SATLEXMB03.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <julien@xen.org>, <sstabellini@kernel.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <Volodymyr_Babchuk@epam.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>
Subject: [PATCH v2] xen/arm/efi: merge neighboring banks
Date: Thu, 27 Mar 2025 16:16:27 -0700
Message-ID: <20250327231627.1111684-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
Received-SPF: None (SATLEXMB05.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3E:EE_|SJ0PR12MB8089:EE_
X-MS-Office365-Filtering-Correlation-Id: 5fd293c9-b362-4338-8de6-08dd6d8568fb
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?S55Gz8HLF4lO+ggSZwQi+WYR+YgRt31x7/QIDGlV9ER7bmPvCkz5U8HiCaKu?=
 =?us-ascii?Q?Oa8PAppetsbao/fTXHpbcaW1ic7FB6oGsa2365dDir8XbQreLn52JPFWSR3V?=
 =?us-ascii?Q?vDcV6TG6OwyOxdVJXPLP0AtCyehRXJJ9yC+jB7Io9yyuYkaYeFQjYVGNKXV6?=
 =?us-ascii?Q?dfIBoeh9LSidqHguDP9Y9ZHISoBvA/TUaCpv9Jr86Uen6Vz5CvGYv9wWfmc0?=
 =?us-ascii?Q?JM+JTHWmDVXEn2VCUWNbwqXwig+xa1xNa+sSaSOoihGbOEgLKT8q+ltaLn79?=
 =?us-ascii?Q?oDJye04Z68udxxHK0y1ocz4tWMvWr6sNvzc8Ex5j4fcjV7qQcR1NAde41+J+?=
 =?us-ascii?Q?VvpW0w4nW3oaJtzLHncy50HCJ8o+YIRDkIvceYPYQrM4XLJtvgwgsFq+WDSZ?=
 =?us-ascii?Q?aP0oj8s0Hvu5pd8yWGpemo4rf8AI6DLNOSmbuJD42dxlu0gBy3UloYZlb24s?=
 =?us-ascii?Q?PyQbuTXxmcO9Bc3BeWp+8uhZsuAsw4B7m7f246KKVRlRZO6CNh2j+vwt48tA?=
 =?us-ascii?Q?4QfQGWu6q01RGzrjPWCEXoENMgMyj3v9vBR+0vIuBFaRnEPxvn6K7XSKCXEn?=
 =?us-ascii?Q?er7BHsLiVGDqDZJ/vCCtJug+k458yP3FiO3pSeZbfX63I6T+lGT8fYE6GPsp?=
 =?us-ascii?Q?bx5Y/U7tL/z1fEsUG5KYY78ImmvnL9OWddX6OjMi6Qne/btxSAcW41PEpUGd?=
 =?us-ascii?Q?oayApx3A40KfmdUqAEmerse97pQbc2I0Ays01bxMddm2HjF9xYAS3vG+yYLm?=
 =?us-ascii?Q?v8btIPFWpdk14rhRZaGaR+C9FZ1x75i46PF3Q1BY04Z9YhubozdFhIBYpfnm?=
 =?us-ascii?Q?yEWjOwWBOUelPfKjzow4jI/5SPQc+ARCOdh5ZiSoGVCGiZ3t5s3r0fs3/18T?=
 =?us-ascii?Q?5oiv8LpPrPBxts90BHZxHDY1X5dzeAGBrYXpTfQ1JpYrpj1CBPPS+8SI6otD?=
 =?us-ascii?Q?gFejpxsM4QAUbFojRJujEGZpsH1BgbP/AfTSrSUZC03C9C668m0TQn1dqfRW?=
 =?us-ascii?Q?v2yZIemq+cZ320+CjLiJIOPdBkCte9t4muFMh11UJTgRgnGjFJmvZO6FDVe0?=
 =?us-ascii?Q?gPEtiu3JZsBrWEaZJJDfjIDou2RSv8igQ9pMoVw7BPFqMDEafgx21WxdNpSc?=
 =?us-ascii?Q?GC2u7V9PFwL4/gzjwbi3LBIBZuNag2pjSDXxzcO7L2+/iJ+sjfh7nxs/CTAk?=
 =?us-ascii?Q?YWJhQ2T/UXOetBHKGATziTqepgxF/Gpr9IyPFoiBnr2x/d0IQ3x7QVNrfQOo?=
 =?us-ascii?Q?xLhTiXmTt1SEx/OyCuNe/UGHpn/i/IGL/hpEOWNikdqCX6ptMlqjnu5/nbXD?=
 =?us-ascii?Q?HNfCedngCYwgPpG/WthcBKCyN6qYTxf5bVhL98OBBOJebfRpwbXJf0RPeWvn?=
 =?us-ascii?Q?GD8ssRHt9fKbUTaoZ8hMNYTlLx+lWmtTvDiU1+Vs/2NsAqn6vp69JclCXSgM?=
 =?us-ascii?Q?vN+lL+5nP0oE3UMUZZVHTQOb3X0SqOlw3Tl7bT66l0WWR/aE/Pk8pb1iquJw?=
 =?us-ascii?Q?SeBPVNczZ6gIRfg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 27 Mar 2025 23:16:31.4466
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fd293c9-b362-4338-8de6-08dd6d8568fb
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE3E.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8089

When booting from U-Boot bootefi, there can be a high number of
neighboring RAM banks. See for example:

(XEN) RAM: 0000000000000000 - 0000000000bfffff
(XEN) RAM: 0000000000c00000 - 0000000000c00fff
(XEN) RAM: 0000000000c01000 - 0000000000dfffff
(XEN) RAM: 0000000000e00000 - 000000000279dfff
(XEN) RAM: 000000000279e000 - 00000000029fffff
(XEN) RAM: 0000000002a00000 - 0000000008379fff
(XEN) RAM: 000000000837a000 - 00000000083fffff
(XEN) RAM: 0000000008400000 - 0000000008518fff
(XEN) RAM: 0000000008519000 - 00000000085fffff
(XEN) RAM: 0000000008600000 - 0000000008613fff
(XEN) RAM: 0000000008614000 - 00000000097fffff
(XEN) RAM: 0000000009800000 - 00000000098a7fff
(XEN) RAM: 00000000098a8000 - 0000000009dfffff
(XEN) RAM: 0000000009e00000 - 0000000009ea7fff
(XEN) RAM: 0000000009ea8000 - 000000001fffffff
(XEN) RAM: 0000000020000000 - 000000002007ffff
(XEN) RAM: 0000000020080000 - 0000000077b17fff
(XEN) RAM: 0000000077b19000 - 0000000077b2bfff
(XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
(XEN) RAM: 0000000077c8e000 - 0000000077c91fff
(XEN) RAM: 0000000077ca7000 - 0000000077caafff
(XEN) RAM: 0000000077cac000 - 0000000077caefff
(XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
(XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
(XEN) RAM: 0000000077cd8000 - 000000007bd07fff
(XEN) RAM: 000000007bd09000 - 000000007fd5ffff
(XEN) RAM: 000000007fd70000 - 000000007fefffff
(XEN) RAM: 0000000800000000 - 000000087fffffff

Xen does not currently support boot modules that span multiple banks: at
least one of the regions get freed twice. The first time from
setup_mm->populate_boot_allocator, then again from
discard_initial_modules->fw_unreserved_regions. With a high number of
banks, it can be difficult to arrange the boot modules in a way that
avoids spanning across multiple banks.

This small patch merges neighboring regions, to make dealing with them
more efficient, and to make it easier to load boot modules.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- remove unneeded check for duplicates
- unsigned int instead of int
- add parenthesis
---
 xen/arch/arm/efi/efi-boot.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index a80a5a7ab3..8b8ef5dcfb 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -163,6 +163,16 @@ static bool __init meminfo_add_bank(struct membanks *mem,
     struct membank *bank;
     paddr_t start = desc->PhysicalStart;
     paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
+    unsigned int j;
+
+    for ( j = 0; j < mem->nr_banks; j++ )
+    {
+        if ( (mem->bank[j].start + mem->bank[j].size) == start )
+        {
+            mem->bank[j].size += size;
+            return true;
+        }
+    }
 
     if ( mem->nr_banks >= mem->max_banks )
         return false;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 23:22:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 23:22:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930015.1332745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwYY-0005WV-2N; Thu, 27 Mar 2025 23:22:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930015.1332745; Thu, 27 Mar 2025 23:22: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 1txwYX-0005WO-Un; Thu, 27 Mar 2025 23:22:37 +0000
Received: by outflank-mailman (input) for mailman id 930015;
 Thu, 27 Mar 2025 23:22: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=ZXwx=WO=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1txwYW-0005WG-Ae
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 23:22:36 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20614.outbound.protection.outlook.com
 [2a01:111:f403:2417::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c50fe8a-0b62-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 00:22:33 +0100 (CET)
Received: from PH7P220CA0073.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:32c::20)
 by DM4PR12MB5819.namprd12.prod.outlook.com (2603:10b6:8:63::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 23:22:28 +0000
Received: from CY4PEPF0000FCC5.namprd03.prod.outlook.com
 (2603:10b6:510:32c:cafe::94) by PH7P220CA0073.outlook.office365.com
 (2603:10b6:510:32c::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.42 via Frontend Transport; Thu,
 27 Mar 2025 23:22:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000FCC5.mail.protection.outlook.com (10.167.242.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 27 Mar 2025 23:22:27 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 27 Mar
 2025 18:22:26 -0500
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 27 Mar 2025 18:22:26 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c50fe8a-0b62-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=auVgPOF7gueB8Ll9Q1Wbc7VKZBsGPxuBi64GXQrB7quiYyqam7QpgWPgRQd+Gw3r8QXdwPSni32rYnbTbIedBthIz313yuNodOs6GnH1jKzxAOysLN5b5XRU3DbNx/ff8i1miphPW1VvNLJonIf1bi4svBbXPAhaIUSTWfpGWhS9ihNTMLI/6ORJmKVnqx1FTNRuoQizM4IpNXfGoKyYEjMtLFgHdaAqL5zcJbUa6u31AwK0pqNjcI7TuhQaAnPNwiNevrxRZeUJDIwWgdxjFDUSuXSN+r4g6ArePBoDHLW3i8HkFm3LFSQ+l2lPzPfJP+R6nwYK4O70nCZ/iHr5ZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8dgxLLLfoXL5Yr5Rx6rdlyc7YVFLFzXW7oBOjB4xBxo=;
 b=TsxxA1+0IHmjgPU/Z8OtFDgyoE7vL+wzKaCv3ZKjKPz3qU/3FROK0JPj0+bc5wDh1lJdpzqBEOHyLnfWqIP6eaNSzXVHGSFsZ4EjJYa3SOdtZXsKJeI/6KRYgrLsomN/C7N4Xe7jn40Xc9xHQFGY5e3Fq6W3G3uoajkXFHVTMevjZM5iNyWbnO3hVIJzRjgMKSKgEGwkBmtuX59Z1ljTmN7aCvVuvBtR+GweAyC2jubuLNzV1IWhND0n/yqvbuVsEupXCD4uhNbMt+BxtNupueYQJkJsqPRkqPbBng5h76SBadw46sADrL1uuzMTZ9FKeaYOfp/eb9ZXNFa0oPU0rw==
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=8dgxLLLfoXL5Yr5Rx6rdlyc7YVFLFzXW7oBOjB4xBxo=;
 b=Hc1eypUyxeY1Xry8re4nbkSrFozut/y23tWc3MXJInjbGgbKSPLONctLqFKfezz1uiFUVM1ud8RhCckJOE7iNsiLvg5yVb9JrK3btt5QvG3G6Xo9bxenxLW1NMvtlHONwJgPlHqe7Lc9rHpoe3c34UEvyayiF932hyhqf36uHfA=
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=SATLEXMB03.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <andrew.cooper3@citrix.com>,
	<jbeulich@suse.com>, <roger.pau@citrix.com>, <julien@xen.org>,
	<michal.orzel@amd.com>, <bertrand.marquis@arm.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>
Subject: [PATCH v2] xen: add kconfig for event_fifo
Date: Thu, 27 Mar 2025 16:22:25 -0700
Message-ID: <20250327232225.1114007-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
Received-SPF: None (SATLEXMB03.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCC5:EE_|DM4PR12MB5819:EE_
X-MS-Office365-Filtering-Correlation-Id: ea88bb1c-f8e6-480f-373e-08dd6d863d44
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?jvsCGbSunoK6E1TVyrHcGjy/GEWnDtipd0ZDnQHVSGakxK2TB8nHUftD7Hik?=
 =?us-ascii?Q?dsg8nn9VgNeMwvnR/DaSse/bGX+ZfaAY/Bamed+7zqG8GUfX4uTpaUFvZHWz?=
 =?us-ascii?Q?elSYkWDto00x7Rhh14fVesaWPmzkVFxyBL9tRLT+l4O2jYPPPuOxUtF8BdB+?=
 =?us-ascii?Q?ReKIBDrvxPW3i3DjCfOtJky61rTr5dkeNhcUfsnyoyHF6ef9spkvSuVZ9Eo9?=
 =?us-ascii?Q?5inLJQNkh0Vaix7xeb7Y/LctwX9Er8rYzTYuHtdvTBEz2ksBIO386PeOO4Gs?=
 =?us-ascii?Q?+stHHwKLpWOrguZ/5yK3aL/M8PsTjKQxWeXmtF75+/jKRS22WmTQFfKYxu/V?=
 =?us-ascii?Q?T3g+MHVuTq0K3JlyGE98WZ9vCirE8/t3PpzM4gVCqULKhToXv87WKkLwleuN?=
 =?us-ascii?Q?d1JCa80M+xYzuyHZVEuTNfMg9tO9w1EzjJ2ObHp5XrtjwTu+2V+kRP7bVQ6G?=
 =?us-ascii?Q?gkYHpNLBpFzMIY4CKJLoXSip5BkUvjHBt0UQyYDZuE9deBfzwZgSuGjyx3rV?=
 =?us-ascii?Q?UoKRbC81aUlbEDwbNayjwN+FaW6Msikm4hLyhne4Pg5vHibpAZppZm8nbIh2?=
 =?us-ascii?Q?S7QNA3T46hbsWFhxnWLmO78hEseiYjvxy9lJA4RmuP+Vpot3KN/o5utGm+IU?=
 =?us-ascii?Q?adg6EBCMPsM8KOojaaJLtKoneN8g3MFCzsGtm02dJbcfcyWElDCoRe6o/Je0?=
 =?us-ascii?Q?WusP1pzpKlrrGbZ4/uZuXK+dnHm+JmE5MT67HzTGnpzYFG1pYa+4hUjegiFU?=
 =?us-ascii?Q?VEZ1NSzwKfVrukMdPQJo4HmHXq7CQ5+YdiPFsDVnLf/QOAXz2XUYCDAHBdDy?=
 =?us-ascii?Q?OOAMa/y5ooXRhw6fJhezkKlBUkQjT9eP1i9tcIF2GSERM3NZSSPoAxuLOG48?=
 =?us-ascii?Q?MbHpcCHWfHWPlJKpz4VGlBoUvsZKKzaU/S9HBeUVDILyIpRLLPLDP5OzEMU0?=
 =?us-ascii?Q?LTrbCiIDV3K8kiG+i+Uq8iVz78ps8Q6kz6nUCHsvjd1Lhw5IunDsiZq6HVG8?=
 =?us-ascii?Q?FWAyJzXH56YmgzQvpFSYs88E0lpqZctDm49Sq9uEwLxhUqHGzGB5z2n9jCQU?=
 =?us-ascii?Q?8qaVW/43fX4hcsYPABc1kdcxfJvPlW6ld+IvGMbNscZqFdP2Se0pio/xbI92?=
 =?us-ascii?Q?eCUsAd34vmS4R0r60KtPlYSP/dFC6+Mn3POFIlmZIHUecyN9MSIyv9vo/QwS?=
 =?us-ascii?Q?+JqVNI1yrvv0f8YTSlUL+VJLtB0vHIfw4xMF+9Vj8dE4GkorFdmbFU9Gx2kw?=
 =?us-ascii?Q?TLKP1ZSDBnfuhA0PBaZHf5G/tLjOal+DjeYS+JGzWYQmDT+/mGTskEBMnhEz?=
 =?us-ascii?Q?qyYCqpHgj43y8hvGhbCZ4SQYfqQ7nDeOqf877GNUOg9p3tmGVfLM05HK8rJp?=
 =?us-ascii?Q?kxzT+Oos8Hqoxo5LwpHBotWy563u9DI4kc0WLXWzsTUp/UQ9SIdpBeYbyNUk?=
 =?us-ascii?Q?BwH75D4Xiu7hIyb5vnSk1r+1NWckCx4ZuWb8m0gc8UvQUOrOIZZAtsbCFeIU?=
 =?us-ascii?Q?/amHn8c508rKkM8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 27 Mar 2025 23:22:27.5841
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ea88bb1c-f8e6-480f-373e-08dd6d863d44
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000FCC5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5819

Evtchn fifos are not needed on smaller systems; the older interface is
lightweight and sufficient. Also, event_fifo causes runtime anonymous
memory allocations, which are undesirable.  Additionally, it exposes an
extra interface to the guest, which is also undesirable unless
necessary.

Make it possible to disable evtchn fifo.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- improve description and commit message
---
 xen/common/Kconfig         | 14 ++++++++++++++
 xen/common/Makefile        |  2 +-
 xen/common/event_channel.h | 15 +++++++++++++++
 3 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index a6aa2c5c14..0e51076c05 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -23,6 +23,20 @@ config GRANT_TABLE
 
 	  If unsure, say Y.
 
+config EVTCHN_FIFO
+	bool "Event Channel Fifo support" if EXPERT
+	default y
+	help
+	  The Event channel Fifo extends support for event channels
+	  beyond 1024 event channels for 32-bit guests and 4096 for
+	  64-bit guests.
+
+	  Cons: They cause runtime anonymous memory allocations and expose
+	  an additional interface to the guest. For smaller systems, you
+	  might consider disabling this feature.
+
+	  If unsure, say Y.
+
 config PDX_COMPRESSION
 	bool "PDX (Page inDeX) compression" if EXPERT && !X86 && !RISCV
 	default ARM || PPC
diff --git a/xen/common/Makefile b/xen/common/Makefile
index ac23120d7d..9da8a7244d 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -13,7 +13,7 @@ obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
 obj-y += event_2l.o
 obj-y += event_channel.o
-obj-y += event_fifo.o
+obj-$(CONFIG_EVTCHN_FIFO) += event_fifo.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
 obj-y += guestcopy.o
 obj-y += gzip/
diff --git a/xen/common/event_channel.h b/xen/common/event_channel.h
index 45219ca67c..a778ae775b 100644
--- a/xen/common/event_channel.h
+++ b/xen/common/event_channel.h
@@ -45,12 +45,27 @@ void evtchn_2l_init(struct domain *d);
 
 /* FIFO */
 
+#ifdef CONFIG_EVTCHN_FIFO
 struct evtchn_init_control;
 struct evtchn_expand_array;
 
 int evtchn_fifo_init_control(struct evtchn_init_control *init_control);
 int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array);
 void evtchn_fifo_destroy(struct domain *d);
+#else
+static inline int evtchn_fifo_init_control(struct evtchn_init_control *init_control)
+{
+    return -EOPNOTSUPP;
+}
+static inline int evtchn_fifo_expand_array(const struct evtchn_expand_array *expand_array)
+{
+    return -EOPNOTSUPP;
+}
+static inline void evtchn_fifo_destroy(struct domain *d)
+{
+    return;
+}
+#endif /* CONFIG_EVTCHN_FIFO */
 
 /*
  * Local variables:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 23:30:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 23:30:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930029.1332754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwfe-0006Dq-Ry; Thu, 27 Mar 2025 23:29:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930029.1332754; Thu, 27 Mar 2025 23:29: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 1txwfe-0006Dj-P5; Thu, 27 Mar 2025 23:29:58 +0000
Received: by outflank-mailman (input) for mailman id 930029;
 Thu, 27 Mar 2025 23:29: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=QKAi=WO=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1txwfd-0006Dd-I0
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 23:29:57 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170130004.outbound.protection.outlook.com
 [2a01:111:f403:c200::4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 600c0b81-0b63-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 00:29:49 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by PA4PR03MB8198.eurprd03.prod.outlook.com
 (2603:10a6:102:26b::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 23:29:45 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 23:29: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: 600c0b81-0b63-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PKFSfMOjg7IrAFUNXmrW+CRZJDEY6aBKlH0nWvTSXs3J302n03SSjWf2EmLx8LMdzG/9KqRrRRS9IAOT7z0XRrqa2y9gIy6FIUm4kKWUsEI4jjRQXHSMSCu8L/ZXacAp2mAAZdJH7LFE7HQaPr7n2NK5sWpqnB1ShkJ/BSV7YXrgjQTysQpLdYucKlm7WJ0+5awbRu3ivYSh3YIbhYRuSZL2KBJK+OeWnCrEQdvjz6Qu7wubL5O3qczt2W/B16IVcWcLi//6mIsQqFKqf8TDQy42ERNN8A6xvjeyQ7E8SkMC0FSM7pgwlskRmRVUxFLLOmVTqnFjGcaur3B9p/YzXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XuwBDZJCe5a8F5N8sJIKxSKWoYzZ5uNWTTa/z3cNo0M=;
 b=SzLMuC9VTfGdHV3X8N60p3nf/audbj3DAuzkFu1N4YNM2X2hksL33wiKt1jazNBGw1gZnZYllCtei2lg2o6CrLZ+J7BHkKpcOXvjsv2hBiWX/vVnhZQIaQa9kpuwQtJ5FzyoYIv1HiiYXy3QQyKqGALoGA9WY0Gm59wSdc3ONIc9+EaAl0htDjDF0rQX6iCzgXTkRlIfOwqRa0tuykCdUwzuyucZSj0I2IvvaiiN97eaqv49SIpkn9oy+sTB88RrTfFnX0vU0q1q9hyoK+TftVO0nx46FP1nz/A9No+h86dHxkby2iziZPk3+HWl0Tbs4dMEQS0TRzcLcDaiPqngJA==
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=XuwBDZJCe5a8F5N8sJIKxSKWoYzZ5uNWTTa/z3cNo0M=;
 b=C0/0o7jqu1oyhvV7ZVC0TPBk/LJEPDGZzi/B4adh3wICIFQ07aDwG5+HXfHdN36Fxe3kfpOP9dZOzB6uP8ETNMK4V0/tlZU5xG2vhJaGYgZlN67p3N/VzBuvjr/iyZkcDu6reUpiRdLh9/Qi7fbrywhQccpIKIP7TqY51WzSdo0t4DXZwjWnVsB2Y0lTVQYKxhvr9JHdZ5L386/bVHjKTHEU64TvCk2HEOB/kKjiZCrVISrysmGgw5NoO+18oWRj6dslqj+STEMeZy01TDCT/BjWj+PvnZLAbwQWCbrDZHxBzqFtzerGAm88zIu5LrunGX9+Lu4XE81JLSjNjLJQXA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <stefano.stabellini@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "bertrand.marquis@arm.com"
	<bertrand.marquis@arm.com>, "michal.orzel@amd.com" <michal.orzel@amd.com>
Subject: Re: [PATCH v2] xen/arm/efi: merge neighboring banks
Thread-Topic: [PATCH v2] xen/arm/efi: merge neighboring banks
Thread-Index: AQHbn25L9MOxasb+kUeBTVxHMa1HHQ==
Date: Thu, 27 Mar 2025 23:29:40 +0000
Message-ID: <87cye2giho.fsf@epam.com>
References: <20250327231627.1111684-1-stefano.stabellini@amd.com>
In-Reply-To: <20250327231627.1111684-1-stefano.stabellini@amd.com> (Stefano
	Stabellini's message of "Thu, 27 Mar 2025 16:16:27 -0700")
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: GV1PR03MB10456:EE_|PA4PR03MB8198:EE_
x-ms-office365-filtering-correlation-id: 89d60144-98fb-4891-596b-08dd6d873f7c
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|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?BeLexkFkxK8JAmQUj2LYXVC0NqlUiX7CvVAVRRKZaZQC+xtJYrlm6cEr1s?=
 =?iso-8859-1?Q?69BKZ/ncvdiefrpGsiJLlcc6qtI8doH4YGtwnVAUGUG1BU7GZ+CLe5s4DW?=
 =?iso-8859-1?Q?TTdBR+oKcVduELc7SRV3c64l/JdcJQYbRDaeKJlpBGDpGz4zdr9VQ/Tr8O?=
 =?iso-8859-1?Q?JUHHqYWlqTf3O213CyMD8E3O+G5j0WRqnt4FC6SxbeUyExr4XU6e/00pZC?=
 =?iso-8859-1?Q?AytVqUvMYhGqrjsWT6McUPJQMQCwrIV07CjHqsiqLLDsKR6m4nl8YxIhqo?=
 =?iso-8859-1?Q?ldsLgxBdDaOaDuPrU7ZKe+Bk7BFybzADOpfir52TeeF8nR/0QfsV2hacAe?=
 =?iso-8859-1?Q?+Ta7ms95qKq1K82NXKj8C0RL4s8U1hyK90WWEdOjcfF001Vy8QeL2rwiE4?=
 =?iso-8859-1?Q?6qiXglcYgncDwHnUvRpJ7Ajf1mfMtEA95qPhp2zYywPgKYP46dtBAHXeC8?=
 =?iso-8859-1?Q?rvmwOuSGZTeWtJ/MQlePW2BbyJYP+36b8LlMRFQULbXkFH98d+AzXY4hXY?=
 =?iso-8859-1?Q?WuXgJxaDvUREKL2KoVGjoIZfdRhqBEErN3YkbxYnQJIrPgHlI96n/rLIhh?=
 =?iso-8859-1?Q?l+KNZ52em3hu81VmP2QGkXNUaZromIV0l6ehwHZ7VztsAf6ocq0PWohZMG?=
 =?iso-8859-1?Q?2DXjru2OenSiGKGzkCAvpL4JnhT+Yr1jS5CdBXBM0epPrOfE5fCJkWyQ8u?=
 =?iso-8859-1?Q?jWMFTu6mQ9+k0y3SRIjtjCuCJCJzFAaf+UPfFHmaysXkMjx8WWJgYEsCeQ?=
 =?iso-8859-1?Q?P/7S+OcZvdRc4whU1FHphUati7myOn2D45PTOuWKTdyyhD9qMTba5yTvqq?=
 =?iso-8859-1?Q?E/5ntcFqbgkbOXKNGHkpbLd6iOvnH3uVcpJSwPlwxnN2aE/f0nnxDdravt?=
 =?iso-8859-1?Q?m89x25GytA4OZalNbSfru0SG+VAzvRm3FTeWSoKY//zEnRtlfEbvRPhVGD?=
 =?iso-8859-1?Q?AU12F650hrPuF2LBF8i9f3hFEzCOCIFNhzcV4KQazqhjbi3NIKYy7zHCv5?=
 =?iso-8859-1?Q?BEI2M3U82FFrI2s66M/onfZ6Ou4opy1fil4oMDlMv3ettzM9we9XpEAkYd?=
 =?iso-8859-1?Q?e8ESAWpyhbNIhaceM492ECVuxPewsovrSjz0ClaXv5HBHx1cIE3TNmBoCF?=
 =?iso-8859-1?Q?8dsPA/g0i47cUSXWHyPYOXl5HlRlHUVvmCWpgE3/+awgzlbKs+sZ9U29xs?=
 =?iso-8859-1?Q?7fJ9yDf3/QGfGsquzH2PwboFexycHyLKPQYLD99nuYpZSfVdqSpEzRWod1?=
 =?iso-8859-1?Q?hvYX8k+1mcLh82b7S6dHu0TSiVSZKD94vnOuOs8iQWX+mjKY7KZPN5G3kd?=
 =?iso-8859-1?Q?oFXUKnXHaQbiLmRt7n5VPyuHB3Er1f2laPLFqcB/TqJSq+ppYTgVQanFhF?=
 =?iso-8859-1?Q?wGKA72wYuQoguYiYp+/Y5KEFbZNe+2assoex6yENng1y2tmu+sl1Pu/nRq?=
 =?iso-8859-1?Q?dQHs3t/N6DYZYRkYuu62SS+rwkx3tl+RNhXaV1U0gketGWPvETOCM2UzXo?=
 =?iso-8859-1?Q?Jov2nkGYkqZaC+Pgt80TBm?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?3PJaLczK5e5G0w8dogek58NuKhxwEX2KuKRTGyIiEt4uDYYVN42PuqeAdp?=
 =?iso-8859-1?Q?NzOkUhp6pxWGDcsOqhoZR84WgIbRRqEyVDW0RryZsDd3BUKCUzhaPJy4An?=
 =?iso-8859-1?Q?FhIxFO+SLpN8slLfXra0lruoNtIpdM5nStQfx8jZL+gJaKdxe5PPEcx14P?=
 =?iso-8859-1?Q?gAL00/PCy3HrXbP64eNQSw/VnAfiQeC8xa2BGGiSq4WKBZJZJmcSN/xH5w?=
 =?iso-8859-1?Q?yC+LWXSmCmUWc2VMtwVHNNNlqvOlJiAYslfgX2QJjdmKRleffa3eA2uDhr?=
 =?iso-8859-1?Q?uzmPvGpGBbZt710UN1LlCYvvGnw9JUMSKOPYUBUVSi8gobkWQRi6Qxf6Ik?=
 =?iso-8859-1?Q?cBL/IHT/HTIsJ64OlmDqb1kBUtlGTQQFKhJqOt/ZbxSpwzTvXWAFko9R4f?=
 =?iso-8859-1?Q?fPxUKTmScUF40iqqXubG89FIsFIF+mIW92TiMphwe7SWFX5UoyOzG7DIhR?=
 =?iso-8859-1?Q?55nvkv3urkjCyybYjyq0DFF6wt0nkIE2OsCeuAD7eVf3QfTXvNiglciTfu?=
 =?iso-8859-1?Q?o9fxRkwq+O4OrVjP3dymKIBtOXnWg0HF//YjhcOY0QZ4P44OoaGevoPiDk?=
 =?iso-8859-1?Q?04pyVvCp1bOQPzzk3tgje1OJocX2qmX6eOMfCKLfFdXN0UAGqJMegIJb1f?=
 =?iso-8859-1?Q?3IXMSsSjiPIALT79naG5cZ1/h3ifgSf83nTstwG0yi1XV/lb59Z+0WQ5XY?=
 =?iso-8859-1?Q?a79VfUBdETlAgDPg1dkXPrFl46qurdScc2XvbkCU4dyfkbxrIk2bb/PUH5?=
 =?iso-8859-1?Q?duT/YhWJ7JJQiU49GuaOQRfJGf+nplJAulXex6Ceo+LWhD+7nAbd2oOYel?=
 =?iso-8859-1?Q?mlC9daL2Y7faUzylckC22y84xN3vm7SwWLX2wutG60N6a8s2VVlUTGqPJJ?=
 =?iso-8859-1?Q?gvMyXbJMGYj6KHRxC+6zrDEbdt3w8Ihtpqm3jik7RQhbEk5rtGn9MfXqz4?=
 =?iso-8859-1?Q?oj004fqzRyHJGnFc+H8/ZcE2As0iHV49lDVM/rKe+v70CF0hVa8K60brl6?=
 =?iso-8859-1?Q?9oR+liNqu5qEAcNicUvh5xBajf07986Q1uy7GO2/zWHe2QottGk5mwPAPc?=
 =?iso-8859-1?Q?IL+gZbe32UXvS+2cJdA9OoIfA2gEAGQVwacV/fMsm+zaK+pkW2kYMhwXCo?=
 =?iso-8859-1?Q?X3eylh8baToeEF3CAUjqBxyGKAmH2EBc5AuvogAQI5PG8lwCcFHV26sDz9?=
 =?iso-8859-1?Q?710Y8Y5xDNw1RU/nOqWPmibq6DDOkjKeGe+dsaLELARGvOpMQR014x373o?=
 =?iso-8859-1?Q?gi98g8j9c6/QvpHqrdwZOU2JVKg7F2Q65daC9oUuaGUQi2fts3J9nKDjE2?=
 =?iso-8859-1?Q?//Jv/pY0h+M28X2RwWPCvEBh+0eto++eIpDNAnRnO/xJY8jl/h7rfau312?=
 =?iso-8859-1?Q?9kEDRcPg0J9NLPIQYeEbTFnO5xN2iqVlcuR2BRnfr1NovandcqTGgBGgOz?=
 =?iso-8859-1?Q?o1EZVJnUwUK12itSzkfobISbviHIK5sehysaPsdxIMH/Y5l0tICGag202l?=
 =?iso-8859-1?Q?UugMbEd61YhWz3JSistKmbrFOWCY1XNs4w1IikBaEpPRuCT/F62qdJqus5?=
 =?iso-8859-1?Q?0eRl15FKu+nWKs5qyJ2aMJJA5VpeQ+VvjQtGaf1zemCGdetG3OZq+8AVSS?=
 =?iso-8859-1?Q?WlEsU1mzU2gwJgPaM5wNsK873ZailmKKWh0CToZjFhSq25DvpCAHlNZA?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89d60144-98fb-4891-596b-08dd6d873f7c
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2025 23:29:40.9039
 (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: 6KcFT3Lakdx8zSNVifqTtn87SO4qYFTjpMDlg+DaD1u6gDVq+fGSyrugUygQG7vrJov99h+2oRDte6AOpfUeJ9+01N3K0yY6SA9Sq6hkpkY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB8198


Hi Stefano,

Stefano Stabellini <stefano.stabellini@amd.com> writes:

> When booting from U-Boot bootefi, there can be a high number of
> neighboring RAM banks. See for example:
>
> (XEN) RAM: 0000000000000000 - 0000000000bfffff
> (XEN) RAM: 0000000000c00000 - 0000000000c00fff
> (XEN) RAM: 0000000000c01000 - 0000000000dfffff
> (XEN) RAM: 0000000000e00000 - 000000000279dfff
> (XEN) RAM: 000000000279e000 - 00000000029fffff
> (XEN) RAM: 0000000002a00000 - 0000000008379fff
> (XEN) RAM: 000000000837a000 - 00000000083fffff
> (XEN) RAM: 0000000008400000 - 0000000008518fff
> (XEN) RAM: 0000000008519000 - 00000000085fffff
> (XEN) RAM: 0000000008600000 - 0000000008613fff
> (XEN) RAM: 0000000008614000 - 00000000097fffff
> (XEN) RAM: 0000000009800000 - 00000000098a7fff
> (XEN) RAM: 00000000098a8000 - 0000000009dfffff
> (XEN) RAM: 0000000009e00000 - 0000000009ea7fff
> (XEN) RAM: 0000000009ea8000 - 000000001fffffff
> (XEN) RAM: 0000000020000000 - 000000002007ffff
> (XEN) RAM: 0000000020080000 - 0000000077b17fff
> (XEN) RAM: 0000000077b19000 - 0000000077b2bfff
> (XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
> (XEN) RAM: 0000000077c8e000 - 0000000077c91fff
> (XEN) RAM: 0000000077ca7000 - 0000000077caafff
> (XEN) RAM: 0000000077cac000 - 0000000077caefff
> (XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
> (XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
> (XEN) RAM: 0000000077cd8000 - 000000007bd07fff
> (XEN) RAM: 000000007bd09000 - 000000007fd5ffff
> (XEN) RAM: 000000007fd70000 - 000000007fefffff
> (XEN) RAM: 0000000800000000 - 000000087fffffff
>
> Xen does not currently support boot modules that span multiple banks: at
> least one of the regions get freed twice. The first time from
> setup_mm->populate_boot_allocator, then again from
> discard_initial_modules->fw_unreserved_regions. With a high number of
> banks, it can be difficult to arrange the boot modules in a way that
> avoids spanning across multiple banks.
>
> This small patch merges neighboring regions, to make dealing with them
> more efficient, and to make it easier to load boot modules.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> Changes in v2:
> - remove unneeded check for duplicates
> - unsigned int instead of int
> - add parenthesis
> ---
>  xen/arch/arm/efi/efi-boot.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index a80a5a7ab3..8b8ef5dcfb 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -163,6 +163,16 @@ static bool __init meminfo_add_bank(struct membanks =
*mem,
>      struct membank *bank;
>      paddr_t start =3D desc->PhysicalStart;
>      paddr_t size =3D desc->NumberOfPages * EFI_PAGE_SIZE;
> +    unsigned int j;
> +
> +    for ( j =3D 0; j < mem->nr_banks; j++ )
> +    {
> +        if ( (mem->bank[j].start + mem->bank[j].size) =3D=3D start )
> +        {
> +            mem->bank[j].size +=3D size;
> +            return true;
> +        }
> +    }
> =20
>      if ( mem->nr_banks >=3D mem->max_banks )
>          return false;

It didn't got into diff context, but there is this check below:

#ifdef CONFIG_ACPI
    if ( check_reserved_regions_overlap(start, size, false) )
        return false;
#endif

Your patch will skip it.


--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Mar 27 23:34:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 23:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930039.1332765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwk3-0000Sl-C3; Thu, 27 Mar 2025 23:34:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930039.1332765; Thu, 27 Mar 2025 23:34: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 1txwk3-0000Se-9A; Thu, 27 Mar 2025 23:34:31 +0000
Received: by outflank-mailman (input) for mailman id 930039;
 Thu, 27 Mar 2025 23:34: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=ZXwx=WO=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1txwk1-0000SW-It
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 23:34:29 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060c.outbound.protection.outlook.com
 [2a01:111:f403:200a::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04e2daec-0b64-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 00:34:27 +0100 (CET)
Received: from BN9PR03CA0592.namprd03.prod.outlook.com (2603:10b6:408:10d::27)
 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.8534.44; Thu, 27 Mar
 2025 23:34:22 +0000
Received: from BN1PEPF00004681.namprd03.prod.outlook.com
 (2603:10b6:408:10d:cafe::3d) by BN9PR03CA0592.outlook.office365.com
 (2603:10b6:408:10d::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.44 via Frontend Transport; Thu,
 27 Mar 2025 23:34:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN1PEPF00004681.mail.protection.outlook.com (10.167.243.87) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Thu, 27 Mar 2025 23:34:21 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 27 Mar
 2025 18:34:21 -0500
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 27 Mar 2025 18:34:20 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04e2daec-0b64-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lIU8hSbFiveeea3tDYv3YwzPgylW99V6EsjupXKgm4Fy9k+U7KTzh1Pwhm57uCzy2lzu+D6xuzl0rKiBp6UtKUQ8hYslJm0VhUNyoZ05r3phE7c3WeqVYB+PS3oFpgEwqlQVm0uxb5aXiXGy7kIqK6qqbKdhdJa21iNCqnFVJo8rMiGubwdJYQ4Sn+nGUWF09oYyRgD9zE3Gd4ISf+DLbRbFv5QSTRLl+DZ9XtIWmKljRglZOI8Je749B6PXLCGpaThmx2zsV1EJ/VAkJagP4cw/P0wDqmUABRhjuz2r9LjqwUXnCyOo18pEl0L13DsAE1sYRgR+YrmaM79z4Gj7kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DxGiGT+5FrG26tFJesGKy21PvaBF5tmc1jLI4X5eyBQ=;
 b=uGk9WM8tzgTTkgTuLAVQhfx+grGWKpvdjjz1xcYpZ9dwJYWSmzUK1s4CmL/F21v5Q/5v7WMOzgVWPgYVWZ4LTMRhOCiIOm37L+OUXAjORljXmuiLKgYM/FwwsBTANc2TZkl2A+Fo+AbXBdpz6pR94ud2vi6x2qEnHOm9+DzW6Xmmgji/jqZL2GQv0os0rnYHBolVnAG9KnTp2JokuG/yH+bYE4pJfl7Rg1rCNlZ0Uk8RWlS3qZ6+OegyK93V3wJb6DmhSx6BUYDZUUq/Ho84r2cRte9u7gcN40ggv+/4Wmm0LT0ak/4UJGiX2VWmHEgdCZVj1YWcUklynisuUnB8dw==
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=DxGiGT+5FrG26tFJesGKy21PvaBF5tmc1jLI4X5eyBQ=;
 b=vCt/HkmEoPWldQlNniwR2J6IX+cBcrsMm5XILL3fG07JosgXiD0TVsGLW0PtCBRs71BVs+weAnuWdRLapx01QTXDqmi/rvuvDNysL+ktXCvDuI+jQCz6IR266OfIE2pb5wSE/93MKEmpJp8e40eIwaH6EqD+lqBjyKVsqnZ+5lk=
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=SATLEXMB03.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <andrew.cooper3@citrix.com>,
	<jbeulich@suse.com>, <roger.pau@citrix.com>, <julien@xen.org>,
	<michal.orzel@amd.com>, <bertrand.marquis@arm.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>
Subject: [PATCH v3] xen: simplify bitmap_to_xenctl_bitmap for little endian
Date: Thu, 27 Mar 2025 16:34:19 -0700
Message-ID: <20250327233419.1119763-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
Received-SPF: None (SATLEXMB03.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004681:EE_|CY8PR12MB7097:EE_
X-MS-Office365-Filtering-Correlation-Id: b5b008ae-57f2-47c1-c202-08dd6d87e6b7
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?ZxTMBS3K/g1e8XKrK4mm69Mk0+4G+ln+wB4ifOWyZwQ9B3ERBWolrZxtfxId?=
 =?us-ascii?Q?x0+F+LeLei5BzOdhzHpgpgNFtKN98pxFBKf5FDCW6HmZdTH2Fm6hXDJZeH3u?=
 =?us-ascii?Q?QXjoWnmE83ZFdCBFjnzJmZo/GqtrOW9KFVA63yoAn+9mzEMuxT/XJOo93AWC?=
 =?us-ascii?Q?LxVO6BJFrVuQH2PC6hgQLXArUjbu557wt1qyYqmos4HmCEolQ09yshBsJl4q?=
 =?us-ascii?Q?yTmyYI2N64+V1qic/FXASAccKjFbQObarGPRWpQO5ceJYYJ8nh2Fumi6vri9?=
 =?us-ascii?Q?CmOWoZTku/3qw3WQ3tvoRUawosDpdDkKzaN+KlEyqMoygA1MySlWpdlWl6Hc?=
 =?us-ascii?Q?A1t4aqOMwucbyBu/eXU/xPDRc07VYjTNFNfcK2eAQT1L6h7rX8ihh0BsIiFl?=
 =?us-ascii?Q?9CQbQZUn9n7hOvho7bPHohZ8YIUsMXCgxM7hQ8JqNSRA0IBnExzUG+L1oOwW?=
 =?us-ascii?Q?/YiK9cY7OqpjPnSVL1P+NO8xVcBEUrAzmuBKdCrx4xgQW4WdGdKzgxTPofFD?=
 =?us-ascii?Q?4TsNTUoHCop9uEUpBhyabJ2HfTgGefjbeVcdnu/lgGjZGO4hgUCZh8m07feo?=
 =?us-ascii?Q?g96khTeUve+y4PJhbHG18WEcZj7D3MGwLUxQfTmxIna8kohakbC3t7lGRoVr?=
 =?us-ascii?Q?ih13F1rjUnFswmaT4rPYSc4a5LcbfWV692bPVyHqQH0FPtfrdtVktiaWpjZB?=
 =?us-ascii?Q?zCkXZQDRiOpmPXi2xxxUvenouN4Z/e2n/6WaJOSXoix0a28xagxCSFwtBRNR?=
 =?us-ascii?Q?mkaszuwzBeplJrQ2DRnNg9lrLRQBIg5mVXO25m54OoL6FF2tN5fLi6t5z5RB?=
 =?us-ascii?Q?o/+f4PCFy4tl9Y0OeiESS7qiI1JW3RbDyjtWwN75fdBx6Qx/L04m4UraXdFt?=
 =?us-ascii?Q?pALHdmGxvCLdSos2FK/VLeuFjIZrwj9Y5cvW7+CfG3MMMIYJfi2GeNbTkO+e?=
 =?us-ascii?Q?reVybNSGcND+zCEa+EqmaYuVNeN0DpzCZs9WjzPGZZcDDXgKaMKq2a/j40r1?=
 =?us-ascii?Q?aEor8awviNmCkPrp+V/qDM6VL4iv0YznKBhefc0/4otn1fO2dA2oDXCtEyYP?=
 =?us-ascii?Q?050mB3Yn1iHKrWPsPv1cm3x5W33zgzuhN2qLMIAkv4n6ms/kjdM7OVTlD2Vd?=
 =?us-ascii?Q?41H+IwQWxofNWIYui1IyTedk+6CXoFSgaXRglTk9RZSdGT9RjMsfQJIrw3EW?=
 =?us-ascii?Q?mijM7EeUeoj+MJT0ihkFXfizyyWp/AKzvHFEeZuMmNOtqZOh4HfUkBL5yX+i?=
 =?us-ascii?Q?4SJgzUUuGcDoqUVlO1cFdjTweQoz8X3tzT1x8/+nAH+WpCIQcB7qNxtZyDea?=
 =?us-ascii?Q?pgkDRprYdBzoUveWV1LOGCTonSQUQsaPSLugXhktwMDexJq7lqd8X65WqT9u?=
 =?us-ascii?Q?MPZd+t3SVRvPiHAm5UeJbDceR8W04JiQM7XeO+pdlrl7ggQRNgZYwUNUAYi0?=
 =?us-ascii?Q?LC46SdMVnZlFSSXMgVCkaerr3JBjEo0xkmJSqBNCy8Vs0yuLp9/AsVJkIsp3?=
 =?us-ascii?Q?aNvbPh8j9PVn0i8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.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: 27 Mar 2025 23:34:21.4512
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b5b008ae-57f2-47c1-c202-08dd6d87e6b7
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004681.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7097

The little endian implementation of bitmap_to_xenctl_bitmap leads to
unnecessary xmallocs and xfrees. Given that Xen only supports little
endian architectures, it is worth optimizing.

This patch removes the need for the xmalloc on little endian
architectures.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v3:
- code style
- copy_bytes > 1 checks
- copy_bytes > 0 check for copy_to_guest_offset
---
 xen/common/bitmap.c | 42 ++++++++++++++++++++++++++++++------------
 1 file changed, 30 insertions(+), 12 deletions(-)

diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index 3da63a32a6..d3f9347e62 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
 	unsigned int remainder = nbits % 8;
 
 	if (remainder)
-		bp[nbits/8] &= (1U << remainder) - 1;
+		*bp &= (1U << remainder) - 1;
 }
 
 int __bitmap_empty(const unsigned long *bitmap, unsigned int bits)
@@ -338,7 +338,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
 			nbits -= 8;
 		}
 	}
-	clamp_last_byte(bp, nbits);
 }
 
 static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
@@ -363,7 +362,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
 				unsigned int nbits)
 {
 	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
-	clamp_last_byte(bp, nbits);
 }
 
 static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
@@ -384,21 +382,41 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
     uint8_t zero = 0;
     int err = 0;
     unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
-    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
-
-    if ( !bytemap )
-        return -ENOMEM;
+    uint8_t last;
 
     guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
     copy_bytes  = min(guest_bytes, xen_bytes);
 
-    bitmap_long_to_byte(bytemap, bitmap, nbits);
+    if ( IS_ENABLED(__BIG_ENDIAN) )
+    {
+        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
 
-    if ( copy_bytes &&
-         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
-        err = -EFAULT;
+        if ( !bytemap )
+            return -ENOMEM;
 
-    xfree(bytemap);
+        bitmap_long_to_byte(bytemap, bitmap, nbits);
+        last = bytemap[nbits / 8];
+
+        if ( copy_bytes > 1 &&
+             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
+            err = -EFAULT;
+
+        xfree(bytemap);
+    }
+    else
+    {
+        const uint8_t *bytemap = (const uint8_t *)bitmap;
+        last = bytemap[nbits / 8];
+
+        if ( copy_bytes > 1 &&
+             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
+            err = -EFAULT;
+    }
+
+    clamp_last_byte(&last, nbits);
+    if ( copy_bytes > 0 &&
+         copy_to_guest_offset(xenctl_bitmap->bitmap, copy_bytes - 1, &last, 1) )
+        err = -EFAULT;
 
     for ( i = copy_bytes; !err && i < guest_bytes; i++ )
         if ( copy_to_guest_offset(xenctl_bitmap->bitmap, i, &zero, 1) )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 27 23:34:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Mar 2025 23:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930040.1332775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1txwkJ-0000nD-JN; Thu, 27 Mar 2025 23:34:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930040.1332775; Thu, 27 Mar 2025 23: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 1txwkJ-0000n6-Fc; Thu, 27 Mar 2025 23:34:47 +0000
Received: by outflank-mailman (input) for mailman id 930040;
 Thu, 27 Mar 2025 23:34: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=SxjK=WO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1txwkJ-0000SW-0E
 for xen-devel@lists.xenproject.org; Thu, 27 Mar 2025 23:34:47 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0993cdfc-0b64-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 00:34:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 2DF7AA42F7E;
 Thu, 27 Mar 2025 23:28:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B61D8C4CEDD;
 Thu, 27 Mar 2025 23:33: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: 0993cdfc-0b64-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743118437;
	bh=p2UYJl/vjGo5mu2MwVNL1dBqWBWtWBVkqJMB6OGxAf8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kIpYiZdOAnBHPe3Aj/QjRXR2CCK9HFQ3XwFCUrtkkruNIbCejHO3oqcQCMNd0WP0X
	 uFCXDjV+khZ/q2wwv3OVN8XgKIN6fjVAWGKQ9UsUuSaUlsgpXxRiAlz4FNxJZRrimI
	 7/OO7IchXwMR4mkX/aaWvu4X7MIpXqbvOZ0mvauMoZjuwnpQFcPzTFsfA62nkY1UVr
	 GGY3kRM8AGVqbVdB9X1zRHzOqyuzE5IcIWJ21mkfM7XINq7Eqv77X5ISPtSb94d3s5
	 DDdziCXdenSQveRTSzrH4w9zM/3e7kb6hCHQDModox8SkWL9Uv4qqaTKlM/lUhhjCP
	 1hPf5nZmrpbeQ==
Date: Thu, 27 Mar 2025 16:33:55 -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 <sstabellini@kernel.org>, andrew.cooper3@citrix.com, 
    michal.orzel@amd.com, julien@xen.org, roger.pau@citrix.com, 
    bertrand.marquis@arm.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
In-Reply-To: <59cdc84c-6e5a-4752-b09a-945d05badd91@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503271628460.563920@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2503182002160.2000798@ubuntu-linux-20-04-desktop> <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com> <alpine.DEB.2.22.394.2503191754480.2325679@ubuntu-linux-20-04-desktop> <8297406e-b281-4783-9238-d6326db3fa15@suse.com>
 <alpine.DEB.2.22.394.2503211607200.2325679@ubuntu-linux-20-04-desktop> <59cdc84c-6e5a-4752-b09a-945d05badd91@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 24 Mar 2025, Jan Beulich wrote:
> On 22.03.2025 00:09, Stefano Stabellini wrote:
> > On Thu, 20 Mar 2025, Jan Beulich wrote:
> >> On 20.03.2025 01:57, Stefano Stabellini wrote:
> >>> On Wed, 19 Mar 2025, Jan Beulich wrote:
> >>>> What about xenctl_bitmap_to_bitmap()?
> >>>  
> >>> Let me see first if I managed to handle bitmap_to_xenctl_bitmap well.
> >>
> >> Well, the code looks correct to me, but the description now has gone
> >> stale. I also wonder whether with that extra restriction the optimization
> >> is then actually worth it. Just one further nit:
> > 
> > Hi Jan, you make a good point. I tried to come up with a better
> > approach. What do you think of this?
> > 
> > 
> > diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
> > index 3da63a32a6..2f448693c3 100644
> > --- a/xen/common/bitmap.c
> > +++ b/xen/common/bitmap.c
> > @@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
> >  	unsigned int remainder = nbits % 8;
> >  
> >  	if (remainder)
> > -		bp[nbits/8] &= (1U << remainder) - 1;
> > +		*bp &= (1U << remainder) - 1;
> >  }
> >  
> >  int __bitmap_empty(const unsigned long *bitmap, unsigned int bits)
> > @@ -338,7 +338,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
> >  			nbits -= 8;
> >  		}
> >  	}
> > -	clamp_last_byte(bp, nbits);
> >  }
> >  
> >  static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
> > @@ -363,7 +362,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
> >  				unsigned int nbits)
> >  {
> >  	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
> > -	clamp_last_byte(bp, nbits);
> >  }
> >  
> >  static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
> > @@ -384,21 +382,40 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
> >      uint8_t zero = 0;
> >      int err = 0;
> >      unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
> > -    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> > -
> > -    if ( !bytemap )
> > -        return -ENOMEM;
> > +    uint8_t last;
> >  
> >      guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
> >      copy_bytes  = min(guest_bytes, xen_bytes);
> >  
> > -    bitmap_long_to_byte(bytemap, bitmap, nbits);
> > +    if ( IS_ENABLED(__BIG_ENDIAN) )
> > +    {
> > +        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> >  
> > -    if ( copy_bytes &&
> > -         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
> > -        err = -EFAULT;
> > +        if ( !bytemap )
> > +            return -ENOMEM;
> >  
> > -    xfree(bytemap);
> > +        bitmap_long_to_byte(bytemap, bitmap, nbits);
> > +        last = bytemap[nbits/8];
> 
> Same style nit as before.
> 
> > +        if ( copy_bytes &&
> 
> copy_bytes > 1
> 
> > +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> > +            err = -EFAULT;
> > +
> > +        xfree(bytemap);
> > +    }
> > +    else
> > +    {
> > +        const uint8_t *bytemap = (const uint8_t *)bitmap;
> > +        last = bytemap[nbits/8];
> > +
> > +        if ( copy_bytes &&
> > +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> > +            err = -EFAULT;
> 
> The two identical instances would imo better stay common, even if this may
> require another function-scope variable (to invoke xfree() on after the
> copy-out).

That's not possible because bytemap is defined differently in the two
cases so it has to be defined within the if block.

I addressed everything else, I'll send v3 as a separate patch


> > +    }
> > +
> > +    clamp_last_byte(&last, nbits);
> > +    if ( copy_to_guest_offset(xenctl_bitmap->bitmap, copy_bytes - 1, &last, 1) )
> > +        err = -EFAULT;
> 
> Careful here in particular when copy_bytes == 0.
> 
> Jan
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 04:08:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 04:08:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930099.1332785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty10a-0006RE-HC; Fri, 28 Mar 2025 04:07:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930099.1332785; Fri, 28 Mar 2025 04:07: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 1ty10a-0006R6-D2; Fri, 28 Mar 2025 04:07:52 +0000
Received: by outflank-mailman (input) for mailman id 930099;
 Fri, 28 Mar 2025 04:07: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=Jzi5=WP=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1ty10Y-0006R0-W8
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 04:07:51 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20611.outbound.protection.outlook.com
 [2a01:111:f403:200a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32a6b7e0-0b8a-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 05:07:44 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 BN5PR12MB9511.namprd12.prod.outlook.com (2603:10b6:408:2a9::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar
 2025 04:07:40 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.045; Fri, 28 Mar 2025
 04:07: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: 32a6b7e0-0b8a-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dn6c6DOCcdP2BcvrsjGPDqvdqYdB7eFbR0gjv5RP9+q0r6Bg8pjI9AIIeml/LUFtRO5ZqG778zAXL2G2E2QbUC89e7CJXuVSMKOeG1zvjqnCS+zRpcT6RPgw6SIzgJzDZjWq9Iqp8qWuHcaMbwIyIBMpoeSf0cwDrZcGI+K9u+eo/uE4WwSbSp3BM2Jb0lC6ElYblP+JV/x36almuDD7YnYMaFcA6f9Wnw57sL8aMq7aS3lUb4JZz5bcrNPWxd7D8fGgwZ3vVMd0rjLWav6gjlEcHHWnbGrbJV3nqT2TqkzuVYhaaJpP6AIzOL5ok2NRVVUHeVXTkDEl3q+8ImQTGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YQSlC99XyvYFe23k9iMi3/zaIS67YlyF6ERlEJQsjI0=;
 b=Xv/O+MgO/ywSvtK2vJpcZD3bkRvBNMopFOeM3nce0yrsVi34ayYVax2buLbhJHYNK5ZEqvKCdDRCFTxAvlr2LbaAsILWXiuKWFNPHa9BlaNjym2eM+21V+6kKGA8dbiFfmwBmESKCOo4wPRdmdkyXrzcCB0D2Y2ZYkYtf5/NtUlM/GXLspvu10j1xvnU4NfvDQrqXnvyx8nwXMykWzpMY32I8DBWAmCXKcNfHdK2US6aT2K0ISEOcrANVQ09OnBvTCdh9oYAYooLpq3FAtEgPf8Vpwx66w0xs1cJOeHX6CQoO1NXMpGgL+j9+5BvnPEsxdwyV4phqMXj4x13ZzxORw==
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=YQSlC99XyvYFe23k9iMi3/zaIS67YlyF6ERlEJQsjI0=;
 b=gZgUndUkxqjD2oi0bjEBL1aN2LtLW7BDGLvrGlLC7CDjonsgCiwrDn3xpv03RyU15kEHuX5Gy1Jj3F2gnmqOi5M4vbU8Iwn909GkItiNY515kXxdbl0HEvRqjPYcln2RtRi8dawZxt5LAzH4/NY9BaQVgrOoUCx2rIClyI4GOZY=
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>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 12/15] xen/x86: implement EPP support for the amd-cppc
 driver in active mode
Thread-Topic: [PATCH v3 12/15] xen/x86: implement EPP support for the amd-cppc
 driver in active mode
Thread-Index: AQHbjnN37UHiYLzXuU6NGNUDEkiF17ODyhuAgAMeFYA=
Date: Fri, 28 Mar 2025 04:07:39 +0000
Message-ID:
 <DM4PR12MB8451472692B00DAE0A909954E1A02@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-13-Penny.Zheng@amd.com>
 <6bcd0903-7406-4105-b471-85b5eb0bccc0@suse.com>
In-Reply-To: <6bcd0903-7406-4105-b471-85b5eb0bccc0@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_ActionId=78f8ddd7-f389-475c-9a8d-63322fe85ebb;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-28T04:07:32Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|BN5PR12MB9511:EE_
x-ms-office365-filtering-correlation-id: d91c3132-a8a9-4e41-c331-08dd6dae14f9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?bWdGTy9ydmIxS1l6MFAxL1VzamJ5bHUra2IwS3FENmtRTDdaTlVTcms4UER5?=
 =?utf-8?B?TzBpMnhWMEFZZXJsMjkwVXhhcXoxQjU1amlMR2NMdll4V21pZVZEeTNlZXdi?=
 =?utf-8?B?b2FIS1hDZzRMRFNBUVoxRVRmamFVVTNIUk9kY2k2d0xNcXpRdFM4eW5jTDNZ?=
 =?utf-8?B?NUNpMUtXazdRNEFCWFl4WXdtRFhjeE5hUWIwK0Z5TEdiZkVoVmsxdmtYVXNV?=
 =?utf-8?B?cWNSNldJQ2ZLWnREV09MNFZpQzViTDNCNzRiMG1PUk9KblNNSVdpV0pCaUht?=
 =?utf-8?B?YWtXOFF4UHJMYVgxN0V1Y3ZDR0g2Qjk5K0tQYlM3a2pzWXdtaXR1V0dZOUsz?=
 =?utf-8?B?bC81M0tuMXhxaGxMdWwyQy9VQVpxTlhKTitBUFZWU0NpOU1xRE1SZDFVdVUw?=
 =?utf-8?B?c0poUHhQRE1Sb0I5NmZKZVVIR0I1UGZaVTAvZUtHeWZmUWk2OEtLSVBTTG0w?=
 =?utf-8?B?dUVUUnB0RnFQdURWVHIvMWxpWVhPVzJXdjRSZjg0YmQrRm4xM3FrYkhwQzdZ?=
 =?utf-8?B?bFFMQ3lqdmZCZ1JjdWxRQnNUc1ZwZWp0WTJOckcyVnNLVmJwTGZYQ1BVQXll?=
 =?utf-8?B?UTFtbVdXdk9vUnJ1RzlqRlR2OG9SSTYwVXdJdktveTJUSlZPR0x5TmxoUDhj?=
 =?utf-8?B?YXFmd3J5NWhsSGFCT0dRcXR5cFhrWThLb1pNYUw3Sy9KS1V1WW9yUzR1Qk5R?=
 =?utf-8?B?VkVEYmc0elpLc1g4UDRGcmx5L3NhRlZNSzFXUXdwYTN3NVRndEhnQXluTi9I?=
 =?utf-8?B?eWcwMzJrM1BnTkVjK25iWjY4SnY5RkluL1IyMVBSTzJ3RUlGdEEzd3hQd3E4?=
 =?utf-8?B?dDV6VmNkWUIwSWZqakNwZTc4eHVqYUhwcFIxeGxUb09LcVk2V1M1NGxST0JS?=
 =?utf-8?B?RG1QNm5DMDltRXZPcVNuKzNPaTlPUkRPeU1tbm5pT05XUlJ0emdFSWozMEFs?=
 =?utf-8?B?RTFqRjVvdklpSnEyWEdRQ0ZZWTFmcWtocEZVdmJsakdvcHhZWDdhS1R1b1VM?=
 =?utf-8?B?UnNMMThaS2o0VkFYR242b1lWbXRaN2FRRTl1RkwxZlhxbUFQcG12RmhKZExD?=
 =?utf-8?B?YXZXWWhkM2xoN2FPOXBJS1prNkM3QmlWRC9XZWNLK2UwbE1odk9JM2dPRlFX?=
 =?utf-8?B?NkdTT1luSG1oUnZySkFjNVJDM05VZEtFQmNnTFUxNlprR0tnVVVGck1CVXNG?=
 =?utf-8?B?ZTBLdlpiYk5ONTdGeXZGY1lBZVRoSzNCUm1Ob1FoZlBYQW0zRE5LTTRQODRM?=
 =?utf-8?B?MkFXdmxjT1MrR3ZFbVNOY2QvdUpBSVN2OG1oMklRREFjN3puT0RndC9BclJz?=
 =?utf-8?B?MjZvT1UyUWpSRWsrb1JLbVk0YnJvR3d2SU52R2grQ1BVbkE2MmRKQlFlM2Nz?=
 =?utf-8?B?d3RrUUo4eWxUVjhWMTI0ZEtjbnpvRXpHbmFBaTNkZkVyUjAyNWM3N1ZQVzk2?=
 =?utf-8?B?TVlTMDFscVpsdUJoaWFyOUhPSlVKaEtzbDlLTWh0Z216d1VnOWE2U0NSaGtv?=
 =?utf-8?B?SmxlamdVVjh5dXRleGJScXhXRWpTdHBEVzdlWG81N1pMajJZQUUyc1FjcXd2?=
 =?utf-8?B?YjFGYTdsSzl4RUQ1VmU2OE9GNXlHRWd5cFpnUVRHTTlrNXRoVG82T1IyS1FD?=
 =?utf-8?B?NDQxWCtnRVdIYlk4YVh1cEVjbE9BYmdzQlBReldXWWZMRE1uQTd4VmNoa0dH?=
 =?utf-8?B?YjAweXdXcEY2UldmaUZXbkZXaVlFZ3h5T3kyeXRCVHlLakt2S3MrUmJkcGpM?=
 =?utf-8?B?eGxYTG91WXBxN1ZlZklxaFpweis4UzloNFJ6cU5oNyt0MUg1SG5yRjl0UTBj?=
 =?utf-8?B?a3VZYjUxZTYwLzQ2NFROZFZCZTRZL2RraW1jeWhCVmwyRnZqT0xwMWc5WWRq?=
 =?utf-8?B?Y2RtSitTcFloU252OXUvdEhqblFEOS9kNnNpQlU2eHRHRTFmQWhSMkF3ZW5h?=
 =?utf-8?Q?H9DuqNgEQmPjd909J6VCDQaYU2Wwmx8X?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WEx0VitacEpvWGN2dVRnWE11YjkyV3diNWxiWXpjVVhYcERNMmx3OXZLeEpJ?=
 =?utf-8?B?dHhsNEpoZlg1WmdVMkdkV2tjdGJCbmlyQ1lLcS9rL3ZYc0dnaEc1d3Y4Z0cw?=
 =?utf-8?B?bVFnSkc3WmdOcjRqZ3l5bVc5c0hHd1NYSndrbk93bmhDVVVTYitSUkVjR1Za?=
 =?utf-8?B?eTV1RWtpbkdITDNtcjRpbTdOdXUxUDYrK2pxNFZnTG5nWnZoS0hVWnpWQ1Fy?=
 =?utf-8?B?VmxrcERnN3FDWnBJcURwTnBFVXQrOFg3OVpNUjJTNEZObEN5T29KelBLY3RK?=
 =?utf-8?B?WHZPbGFZKzhFRVFYSklSa2VqcFU3Y1lVUTRIVEV2dk45bktkcmJMN01KMDF2?=
 =?utf-8?B?V05DdkpQZDBtRXFWSWxDTnhGTU4yOGxhbnJRVHNCbDdpd0YwbWlYR3FOTXQr?=
 =?utf-8?B?aWI4M1dGRVF4em4yZ0dsMTZMUWJTbVJiNERXajFmak9XTlUyckpGbGcraGNp?=
 =?utf-8?B?d2hRbEgydUtUaElhOHlxbjAySW1kdDBLdjJmczEySVpidnV5Z3AxU05hcGtx?=
 =?utf-8?B?Q2k1Q1hSMW1qNXBWN3J6WTI3d1gvQThIR1pzcGJ4bnZuV0VsM2MrRERhSkVx?=
 =?utf-8?B?UFJnOElDWk5zTXRheTNxWm1DcHNqc2pKWWJabEZQMnQ0WGhSR1pwZ2phUmtP?=
 =?utf-8?B?Yk1NRjJ4TFA5TVRyc05YRzNEcFI3Y01YeWI0U2ZoMU1sa1JOZXlCbjBNRVla?=
 =?utf-8?B?aWdERHVIMm1xTG5PV09JUmFNMmg5WE80eGdreTc4ei83UjVPWmtGYXlEOE9x?=
 =?utf-8?B?aEV4aHNET1Q1Z2xGYndwOWZ5a2t3SU1sUXJQRklMcXFkTzFsNU1SZlhxb0oy?=
 =?utf-8?B?eWQwS0srZEkyVDdldzZBTWR5SjNPSjFDTWl6UHFwWGFHQW5aUkpvN2VNb3NR?=
 =?utf-8?B?RWxtSFVudXRmZlBoOEVyNXMxWlVLenBRMTYzczl5RDh6Ny9UVzZ1UkxWRnhX?=
 =?utf-8?B?ODhudHlwTDQ5dGVGK21aWTFJSDhja29WSHhEamNMUXZ3SzZ4QlBVOWJTaG1j?=
 =?utf-8?B?eFhpaXVVeEFZdFBRbVVBcjBEazNYd1p3dm5jRXVEVGh5UnNiaVBZV2dmSFhi?=
 =?utf-8?B?bXBvTFlTdThlY1hDb0w3SVc0LytIN1BTWVdoN25ZZGtqb1hlYTZFZGxxaGVs?=
 =?utf-8?B?WHlPOG9Id2VzU2M4TytvaVNTd3FhR2lMZm1uaWNWS2FFK1hPQmw4YWtaemxj?=
 =?utf-8?B?bkd3R1AwSUJVM3ZPdnQzQml6Tk5LbTAzem80aXhWTUVIaVV1SWJuQXAwOEVm?=
 =?utf-8?B?cDIyZnNmQkllS2hLUmlNZkRiU3N3RmxOYXdvaXhpSXBtMFJObEg5bXQ3amtx?=
 =?utf-8?B?eHI1YjJoMWpFa2J3VDJ5SzlSaW1yY1ZMM1paOGprekkwaThEMkxGdlMraVlL?=
 =?utf-8?B?R2J1d3JINVFZMEZJMFg4ZmdTMW9XZmVVRXBCcWVCVS81ejFoNXNqMlBrMXpq?=
 =?utf-8?B?Z1FzNzZ2OTFxekFqQUFTTTk5ckJQWHRiZVl6Z0lLUFVsQzVPWGJ3ZFlKYjVK?=
 =?utf-8?B?bkVoSy9ENFovanZxa3JXY1JyZ3NxQXd4VlFOY003ZC9PUGVudHhXZGE4aG1w?=
 =?utf-8?B?ZHlKN0h6RXBPUHN2SnVScFJnUmJIUllJZlUwNXhDVzkxNkRRbmZOWXlraEk3?=
 =?utf-8?B?VitFNXRWQmFKUmJocXZiUGdyZWtxdHpMRlpPS1R3bkdVVnJOL3JrOFFoVFVD?=
 =?utf-8?B?V1Qxb2xlVUdtNWRVY1Q2dFFqLzhiam1ObjJFUzd5Si9LdThJSTErRGlTOHRl?=
 =?utf-8?B?dnNGbnZXU256QjhOdFpEWG5sNHQxOThwRCtDZWFqUFBMTWtXNmlCZ2g3SzRX?=
 =?utf-8?B?WnZTSHZ3L3UwaER0Zm1naGtjL1c0eHlVY2lKc0hHNVFubGpNU3dJdWV2SDF6?=
 =?utf-8?B?YzVWc28yVGxlb05LT0Z1UXVpOW10eXVHYkJ6cVM0a25adm9TVkdCZTVaTDJz?=
 =?utf-8?B?amwzbmZQSnMyMnY5akl0WXRFdU94ZjRJQkQxa1FSaHRQMmRUUnpkUEZYbmFm?=
 =?utf-8?B?SHRzNGxZZ2lNTDFiVk9naUxLYXlHSlZDdzh4Sk5TQk5WWFhnRGxiMlpOSE9m?=
 =?utf-8?B?SUROQXNsZU1zbVRZY3pvQ0ovOUd3RHd0bjFXaSt1cjVDbUsrY1lsSEpYSUdr?=
 =?utf-8?Q?t7xc=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: d91c3132-a8a9-4e41-c331-08dd6dae14f9
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 04:07:39.9679
 (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: sborr5pePhxpW/3eMF+Oy8jekcd6yfmq0aTq8tszarljqh96Uvzzig3sEvygeyjK08rOyd4xJFvl/OB1mE8QJg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN5PR12MB9511

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCAy
NSwgMjAyNSA2OjQ5IFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4g
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJh
cmRAdmF0ZXMudGVjaD47DQo+IE9yemVsLCBNaWNoYWwgPE1pY2hhbC5PcnplbEBhbWQuY29tPjsg
SnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFJvZ2VyDQo+IFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPjsNCj4geGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBb
UEFUQ0ggdjMgMTIvMTVdIHhlbi94ODY6IGltcGxlbWVudCBFUFAgc3VwcG9ydCBmb3IgdGhlIGFt
ZC1jcHBjDQo+IGRyaXZlciBpbiBhY3RpdmUgbW9kZQ0KPg0KPiBPbiAwNi4wMy4yMDI1IDA5OjM5
LCBQZW5ueSBaaGVuZyB3cm90ZToNCj4gPiBhbWQtY3BwYyBoYXMgMiBvcGVyYXRpb24gbW9kZXM6
IGF1dG9ub21vdXMgKGFjdGl2ZSkgbW9kZSwNCj4gPiBub24tYXV0b25vbW91cyAocGFzc2l2ZSkg
bW9kZS4NCj4gPiBJbiBhY3RpdmUgbW9kZSwgcGxhdGZvcm0gaWdub3JlcyB0aGUgcmVxdWVzdGQg
ZG9uZSBpbiB0aGUgRGVzaXJlZA0KPiA+IFBlcmZvcm1hbmNlIFRhcmdldCByZWdpc3RlciBhbmQg
dGFrZXMgaW50byBhY2NvdW50IG9ubHkgdGhlIHZhbHVlcyBzZXQNCj4gPiB0byB0aGUgbWluaW11
bSwgbWF4aW11bSBhbmQgZW5lcmd5IHBlcmZvcm1hbmNlIHByZWZlcmVuY2UoRVBQKQ0KPiA+IHJl
Z2lzdGVycy4NCj4gPiBUaGUgRVBQIGlzIHVzZWQgaW4gdGhlIENDTEsgRFBNIGNvbnRyb2xsZXIg
dG8gZHJpdmUgdGhlIGZyZXF1ZW5jeSB0aGF0DQo+ID4gYSBjb3JlIGlzIGdvaW5nIHRvIG9wZXJh
dGUgZHVyaW5nIHNob3J0IHBlcmlvZHMgb2YgYWN0aXZpdHkuDQo+ID4gVGhlIFNPQyBFUFAgdGFy
Z2V0cyBhcmUgY29uZmlndXJlZCBvbiBhIHNjYWxlIGZyb20gMCB0byAyNTUgd2hlcmUgMA0KPiA+
IHJlcHJlc2VudHMgbWF4aW11bSBwZXJmb3JtYW5jZSBhbmQgMjU1IHJlcHJlc2VudHMgbWF4aW11
bSBlZmZpY2llbmN5Lg0KPg0KPiBTbyB0aGlzIGlzIHRoZSBvdGhlciB3YXkgYXJvdW5kIGZyb20g
InBlcmYiIHZhbHVlcywgd2hlcmUgYWl1aSAweGZmIGlzICJoaWdoZXN0Ij8NCj4NCg0KWWVzLCBp
dCBpcyBub3QgdGhlIHBlcmYgdmFsdWUuIEl0IGlzIGFuIGFyYml0cmFyeSB2YWx1ZSBvbiBhIHNj
YWxlIGZyb20gMCB0byAyNTUNCg0KPiA+IEBAIC0yNjEsNyArMjc2LDIwIEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgYW1kX2NwcGNfY3B1ZnJlcV90YXJnZXQoc3RydWN0DQo+IGNwdWZyZXFfcG9saWN5
ICpwb2xpY3ksDQo+ID4gICAgICAgICAgcmV0dXJuIHJlczsNCj4gPg0KPiA+ICAgICAgcmV0dXJu
IGFtZF9jcHBjX3dyaXRlX3JlcXVlc3QocG9saWN5LT5jcHUsIGRhdGEtDQo+ID5jYXBzLmxvd2Vz
dF9ub25saW5lYXJfcGVyZiwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlc19wZXJmLCBkYXRhLT5jYXBzLmhpZ2hlc3RfcGVyZik7DQo+ID4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXNfcGVyZiwgZGF0YS0+Y2Fwcy5oaWdoZXN0X3BlcmYsDQo+
ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBQcmUtZGVmaW5lZCBCSU9T
IHZhbHVlIGZvciBwYXNzaXZlIG1vZGUgKi8NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBlcl9jcHUoZXBwX2luaXQsIHBvbGljeS0+Y3B1KSk7IH0NCj4gPiArDQo+ID4g
K3N0YXRpYyBpbnQgcmVhZF9lcHBfaW5pdCh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICB1aW50NjRf
dCB2YWw7DQo+ID4gKw0KPiA+ICsgICAgaWYgKCByZG1zcl9zYWZlKE1TUl9BTURfQ1BQQ19SRVEs
IHZhbCkgKQ0KPiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPg0KPiBJJ20gdW5jb252aW5j
ZWQgb2YgdXNpbmcgcmRtc3Jfc2FmZSgpIGV2ZXJ5d2hlcmUgKGkuZS4gdGhpcyBhbHNvIGdvZXMg
Zm9yIGVhcmxpZXINCj4gcGF0Y2hlcykuIFVubGVzcyB5b3UgY2FuIGdpdmUgYSBoYWxmd2F5IHJl
YXNvbmFibGUgc2NlbmFyaW8gdW5kZXIgd2hpY2ggYnkgdGhlDQo+IHRpbWUgd2UgZ2V0IGhlcmUg
dGhlcmUncyBzdGlsbCBhIGNoYW5jZSB0aGF0IHRoZSBNU1IgaXNuJ3QgaW1wbGVtZW50ZWQgaW4g
dGhlIG5leHQNCj4gbG93ZXIgbGF5ZXIgKGhhcmR3YXJlIG9yIGFub3RoZXIgaHlwZXJ2aXNvciwg
anVzdCB0byBleHBsYWluIHdoYXQncyBtZWFudCwgd2l0aG91dA0KPiBtZSBhc3N1bWluZyB0aGF0
IHRoZSBkcml2ZXIgc2hvdWxkIGNvbWUgaW50byBwbGF5IGluIHRoZSBmaXJzdCBwbGFjZSB3aGVu
IHdlIHJ1bg0KPiB2aXJ0dWFsaXplZCBvdXJzZWx2ZXMpLg0KPg0KDQpDb3JyZWN0IG1lIGlmIEkg
dW5kZXJzdGFuZCB3cm9uZ2x5LCB3ZSBhcmUgY29uY2VybmluZyB0aGF0IHRoZSBkcml2ZXIgbWF5
IG5vdCBhbHdheXMNCmhhdmUgdGhlIHByaXZpbGVnZSB0byBkaXJlY3RseSBhY2Nlc3MgdGhlIE1T
UiBpbiBhbGwgc2NlbmFyaW9zLCBzbyByZG1zcl9zYWZlIHdpdGggZXhjZXB0aW9uDQpoYW5kbGlu
ZyBpc24ndCBhbHdheXMgc3VpdGFibGUuIFRoZW4gbWF5YmUgSSBzaGFsbCBzd2l0Y2ggdGhlbSBh
bGwgaW50byByZG1zcmwoKSA/DQoNCj4gRnVydGhlcm1vcmUgeW91IGNhbGwgdGhpcyBmdW5jdGlv
biB1bmNvbmRpdGlvbmFsbHksIGkuZS4gaWYgdGhlcmUgd2FzIGEgY2hhbmNlIGZvciB0aGUNCj4g
TVNSIHJlYWQgdG8gZmFpbCwgQ1BVIGluaXQgd291bGQgbmVlZGxlc3NseSBmYWlsIHdoZW4gaW4g
cGFzc2l2ZSBtb2RlLg0KPg0KDQpUaGUgcmVhc29uIHdoeSBJIGFsc28gcnVuIHJlYWRfZXBwX2lu
aXQoKSBmb3IgcGFzc2l2ZSBtb2RlIGlzIHRvIGF2b2lkIHNldHRpbmcgZXBwIHdpdGggemVybyB2
YWx1ZQ0KZm9yIE1TUl9BTURfQ1BQQ19SRVEgaW4gcGFzc2l2ZSBtb2RlLiBJIHdhbnQgdG8gZ2l2
ZSBpdCBwcmUtZGVmaW5lZCBCSU9TIHZhbHVlIGluIHBhc3NpdmUgbW9kZS4NCklmIHdlIHdyYXAg
cmVhZF9lcHBfaW5pdCgpIHdpdGggYWN0aXZlIG1vZGUgY2hlY2ssIG1heWJlIHdlIHNoYWxsIGFk
ZCBleHRyYSByZWFkIGJlZm9yZSBzZXR0aW5nIHJlcXVlc3QgcmVnaXN0ZXIgTVNSX0FNRF9DUFBD
X1JFUSwNCmludHJvZHVjaW5nIE1TUl9BTURfQ1BQQ19FUFBfTUFTSyB0byByZXNlcnZlIG9yaWdp
bmFsIHZhbHVlIGZvciBlcHAgaW4gcGFzc2l2ZSBtb2RlLCBvciBhbnkgYmV0dGVyIHN1Z2dlc3Rp
b24/DQoNCj4gPiArICAgIHsNCj4gPiArICAgICAgICAvKiBGb3JjZSB0aGUgZXBwIHZhbHVlIHRv
IGJlIHplcm8gZm9yIHBlcmZvcm1hbmNlIHBvbGljeSAqLw0KPiA+ICsgICAgICAgIGVwcCA9IENQ
UENfRU5FUkdZX1BFUkZfTUFYX1BFUkZPUk1BTkNFOw0KPiA+ICsgICAgICAgIG1pbl9wZXJmID0g
bWF4X3BlcmY7DQo+ID4gKyAgICB9DQo+ID4gKyAgICBlbHNlIGlmICggcG9saWN5LT5wb2xpY3kg
PT0gQ1BVRlJFUV9QT0xJQ1lfUE9XRVJTQVZFICkNCj4gPiArICAgICAgICAvKiBGb3JjZSB0aGUg
ZXBwIHZhbHVlIHRvIGJlIDB4ZmYgZm9yIHBvd2Vyc2F2ZSBwb2xpY3kgKi8NCj4gPiArICAgICAg
ICAvKg0KPiA+ICsgICAgICAgICAqIElmIHNldCBtYXhfcGVyZiA9IG1pbl9wZXJmID0gbG93ZXN0
X3BlcmYsIHdlIGFyZSBwdXR0aW5nDQo+ID4gKyAgICAgICAgICogY3B1IGNvcmVzIGluIGlkbGUu
DQo+ID4gKyAgICAgICAgICovDQo+DQo+IE5pdDogU3VjaCB0d28gc3VjY2Vzc2l2ZSBjb21tZW50
cyB3YW50IGNvbWJpbmluZy4gKFNhbWUgbmVhciB0aGUgdG9wIG9mIHRoZQ0KPiBmdW5jdGlvbiwg
YXMgSSBub3RpY2Ugb25seSBub3cuKQ0KPg0KPiBGdXJ0aGVybW9yZSBJJ20gaW4gdHJvdWJsZSB3
aXRoIGludGVycHJldGluZyB0aGlzIGNvbW1lbnQ6IFRvIG1lICJsb3dlc3QiDQo+IGRvZXNuJ3Qg
bWVhbiAiZG9pbmcgbm90aGluZyIgYnV0ICJkb2luZyB0aGluZ3MgYXMgZWZmaWNpZW50bHkgaW4g
dGVybXMgb2YgcG93ZXIgdXNlDQo+IGFzIHBvc3NpYmxlIi4gSU9XIHRoYXQncyBub3QgaWRsZS4g
WWV0IHRoZSBjb21tZW50IHJlYWRzIGFzIGlmIGl0IHdhcyBtZWFudCB0byBiZSBhbg0KPiBleHBs
YW5hdGlvbiBvZiB3aHkgd2UgY2FuJ3Qgc2V0IG1heF9wZXJmIGZyb20gbWluX3BlcmYgaGVyZS4g
VGhhdCBpcywgbm90IG1hdHRlcg0KPiB3aGF0J3MgbWVhbnQgdG8gYmUgc2FpZCwgSSB0aGluayB0
aGlzIG5lZWRzIHJlLSB3b3JkaW5nIChhbmQgcG9zc2libHkgdXNpbmcNCj4gc3VianVuY3RpdmUg
bW9vZCkuDQo+DQoNCkhvdyBhYm91dDoNClRoZSBsb3dlc3Qgbm9uLWxpbmVhciBwZXJmIGlzIGVx
dWl2YWxlbnQgYXMgUDIgZnJlcXVlbmN5LiBSZWR1Y2luZyBwZXJmb3JtYW5jZSBiZWxvdyB0aGlz
DQpwb2ludCBkb2VzIG5vdCBsZWFkIHRvIHRvdGFsIGVuZXJneSBzYXZpbmdzIGZvciBhIGdpdmVu
IGNvbXB1dGF0aW9uIChhbHRob3VnaCBpdCByZWR1Y2VzIG1vbWVudGFyeSBwb3dlcikuDQpTbyB3
ZSBhcmUgbm90IHN1Z2dlc3RpbmcgdG8gc2V0IG1heF9wZXJmIHNtYWxsZXIgdGhhbiBsb3dlc3Qg
bm9uLWxpbmVhciBwZXJmLCBvciBldmVuIHRoZSBsb3dlc3QgcGVyZi4NCg0KPiBKYW4NCg==


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 04:20:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 04:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930109.1332795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty1CI-0000ce-HJ; Fri, 28 Mar 2025 04:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930109.1332795; Fri, 28 Mar 2025 04:19: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 1ty1CI-0000cX-EB; Fri, 28 Mar 2025 04:19:58 +0000
Received: by outflank-mailman (input) for mailman id 930109;
 Fri, 28 Mar 2025 04:19: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=/Zkq=WP=canb.auug.org.au=sfr@srs-se1.protection.inumbo.net>)
 id 1ty1CH-0000cR-45
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 04:19:58 +0000
Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e126de97-0b8b-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 05:19:49 +0100 (CET)
Received: from authenticated.ozlabs.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)
 (Client did not present a certificate)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4ZP6k74mgmz4x2c;
 Fri, 28 Mar 2025 15:19:43 +1100 (AEDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e126de97-0b8b-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
	s=201702; t=1743135584;
	bh=1JI8Spr8CQJwiv/5zUbjBL/c6fAB1sqcE9kasiVrFP4=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=jnpzymAv1zAA0RWvb91quB+H+w3pYz1u+Sk3y4FjosfTjwqwQlnBkbPffP/iBFpn/
	 tyUK+2MnYG6l6Zxv8W5d6Yw/rCzNgaJf5CMFE4YglDxJZeRQyvAQX0BxHn6ZParBwZ
	 nuPEwuimk0eEzaTAZIA0ts9y/6N1DbO2Q292dD1rCbCUAxidj6jJuo4yJtA4cA3bUh
	 lGqyPrBvNpX2q1ECH7Nkc8iHNKMhvS0Zuqi8RahKvGBg5xLluuBJLxmq5EAcGjan4P
	 9vMR5Em0kNGdLu1DqPNJw1fudx1tuf5QY80hnWp3EgU01DYUG6edINd/wHUo0JB5jq
	 szsfPUiVCJh5A==
Date: Fri, 28 Mar 2025 15:19:42 +1100
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Juergen Gross <jgross@suse.com>, Konrad Rzeszutek Wilk
 <konrad.wilk@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Xen Devel
 <xen-devel@lists.xenproject.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux Next
 Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: duplicate patches in the xen-tip tree
Message-ID: <20250328151942.4f7010c0@canb.auug.org.au>
In-Reply-To: <20250326090310.4f162838@canb.auug.org.au>
References: <20250326090310.4f162838@canb.auug.org.au>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/VaLoMydcT4kXtExIf_CvhVI";
 protocol="application/pgp-signature"; micalg=pgp-sha256

--Sig_/VaLoMydcT4kXtExIf_CvhVI
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi Stephen,

On Wed, 26 Mar 2025 09:03:10 +1100 Stephen Rothwell <sfr@canb.auug.org.au> =
wrote:
>
> The following commits are also in Linus Torvalds' tree as different
> commits (but the same patches):
>=20
>   d9f2164238d8 ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain f=
lag")
>   cae5129fccb1 ("PCI: vmd: Disable MSI remapping bypass under Xen")
>=20
> These are commits
>=20
>   c3164d2e0d18 ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain f=
lag")
>   6c4d5aadf5df ("PCI: vmd: Disable MSI remapping bypass under Xen")
>=20
> in Linus' tree.

This is now causing an unnecessary conflict.

--=20
Cheers,
Stephen Rothwell

--Sig_/VaLoMydcT4kXtExIf_CvhVI
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

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

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmfmI14ACgkQAVBC80lX
0Gzh/Af9FOi+c8QohCH1jPO+K+gzuS9jsyRS/J5hUklhzkTeytANSpuw+zJSBLzX
QlxsbuMb7jmDQMRSZZzVT12rOirCjiUheNFWv+zW3Tu6BfUaIzLWmM3+fA9QIVef
mfvZZxKhsY7WTCM90A4s0bPYMbT34GpNFL2NKkODmtxHzr+y0rEzCYPByhuceyaL
ID7dpaXk9yMDiyqu+0ngRUV4D4Yihns/f5aqnePlI9vRUxU9fdqqZZTeahU9YEvl
DbBKy42zaBWxn/m6FpND3y1XmMEEPsAIGK/howEm9d4vfPb6K6utCbkDURhApB+9
JH0+nKQglk9ZowFvG86GBX1ljWfGHQ==
=EJ1Z
-----END PGP SIGNATURE-----

--Sig_/VaLoMydcT4kXtExIf_CvhVI--


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 04:43:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 04:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930120.1332805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty1ZN-0007SB-7l; Fri, 28 Mar 2025 04:43:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930120.1332805; Fri, 28 Mar 2025 04:43: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 1ty1ZN-0007S3-4v; Fri, 28 Mar 2025 04:43:49 +0000
Received: by outflank-mailman (input) for mailman id 930120;
 Fri, 28 Mar 2025 04:43: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=Jzi5=WP=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1ty1ZM-0007Rx-ES
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 04:43:48 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20615.outbound.protection.outlook.com
 [2a01:111:f403:200a::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b4fb384-0b8f-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 05:43:46 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 PH8PR12MB6746.namprd12.prod.outlook.com (2603:10b6:510:1c1::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar
 2025 04:43:40 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.045; Fri, 28 Mar 2025
 04:43: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: 3b4fb384-0b8f-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dbcUteiP6gk5kSrfVKMTUqIqnf0QNRx+/kDG/CaEEYo695wrWk6Hxs2exc1+WKlc2hswczRW6mn/c2t6JaYSxuiQjbuu/gnke5ZFZ4ovXjGoB1TGUR0z8vWRmpL0KdC9YgjJBiwmAiNi1q8j3MSv3GA1Jb4zhnTYjy3MzeP7CHtlXFKozOst+n4zA+D+lkIYeHF6wdxKDPHMh3Sr8cKV+Tz+eGAyeifE81AIFKew/PVPXIyShLECMQLeL4UZFMWYVsJzqqU4PIVhhWnr0tDcKtqwcZBHAt+ef1lhjJ+zvcjCxQXN/Rjx6ANXJkSyc/+2toCrakwkiZVFW2pNcKa7zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kz5V+Jyw6pre3J9fHiqn+xSm8dvoGFKs4Etr7/Nkf1Y=;
 b=MVmfo6tvgVFDbECSSwLKsdnG2YmLqWp1Mw2uBlgjtFxqEMHzVFjRQ0gqQ6DXVr3Ex4HANxv0SllDzf+JxXRLd5mr+c3KvGGFsuT1gN0lSNnOIICHjgKE+ISJW3i8R8gErXa4P930KJyU1fNnzrXFvNyhxXmjsWApa1jsMmBH3AhlxnK6ESR9ZLhD/z6lM2SDpuiN3nr+rtvXhMe61XwyWx2Udecyqdx7b7KOCgsE4SqERr1McseAYTFO+mXzOP7R6ovG1tV/ZATm8yO225jgmUi81g9NJCZT0Loo1woIIFKdGdGQXWBlWOaFcickL7BVJW227a/vWAoQfVJ4htNnow==
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=Kz5V+Jyw6pre3J9fHiqn+xSm8dvoGFKs4Etr7/Nkf1Y=;
 b=OHmXrXwQDb9h31ZAul9F+ROECj8ecnuuS6d5NLAlWNFl+aWDT2Fc25HxSNoHd9I9ktH4etEgGKpfnzFOz39Of7dODOrlft1f9dtbke1v2wfPIZX5mVA8KBBbLUk5HEQxJcioHho27QyScsysMpxDXxK1cQuyexVc2LM2q8Ld2kM=
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>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
Thread-Topic: [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen
 cmdline
Thread-Index:
 AQHbjnNu8gKP+BdRfUqUIswSBCp7ILOChUeAgAKrd/CAAC16AIABDVwwgABQrgCAAVtk8A==
Date: Fri, 28 Mar 2025 04:43:40 +0000
Message-ID:
 <DM4PR12MB84518A6A1B1E7989D541824FE1A02@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-6-Penny.Zheng@amd.com>
 <5498f98e-f3c5-4cb4-9a3d-793239a4339d@suse.com>
 <DM4PR12MB84519AF2B72DDDF50CA8BF18E1A62@DM4PR12MB8451.namprd12.prod.outlook.com>
 <df911e05-df3d-4f16-992e-a1931ad00099@suse.com>
 <IA1PR12MB84674DAE3F0FD2DB2DD87F17E1A12@IA1PR12MB8467.namprd12.prod.outlook.com>
 <a5c6b64c-b162-4b84-87ef-70c2ab665186@suse.com>
In-Reply-To: <a5c6b64c-b162-4b84-87ef-70c2ab665186@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_ActionId=7a46dc22-acb8-48d4-bdfa-8cd37c30010f;MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_ContentBits=0;MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_Enabled=true;MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_Method=Privileged;MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_Name=Published
 AMD
 Product;MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_SetDate=2025-03-28T04:38:04Z;MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_0fec2151-cbe0-4586-8a3f-997880a38a28_Tag=10,
 0, 1, 1;
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_|PH8PR12MB6746:EE_
x-ms-office365-filtering-correlation-id: b5a53bb3-d33c-4007-4bd8-08dd6db31c8d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?VW5iWnU2QmRpOUJQYWQ2ZmJFMWE4Y1A5TlNGb0ROVFlmeEZFWVRETHA5N1l0?=
 =?utf-8?B?dGlkakhPbmlUWmlmZ3N0ZitxV08yRUI3RTdXQlNDUWJFb2xRckI4UnUwVFFP?=
 =?utf-8?B?SFhmMkMvS0hhR3BYUXpIT0h2VERuWVgzYkQzL0xPeEtDcnZvbmlpWWY3YWtk?=
 =?utf-8?B?VXRGSXJFb0R1MHduUEJXa2tUdnZYczByVGJyWDhLRVY0THhWUEdhWGM5NzNM?=
 =?utf-8?B?d1NkbW0zdmlwK0RTd0RuUHRTVTJTREhVcGphemFzU3BVSmlpZGdUelExRmgr?=
 =?utf-8?B?OEc1ZE00WWhLdmdteXFDdU5YWGNnVnFsWkNNOTNDNHJIY3A4dThEMU4yaFFx?=
 =?utf-8?B?WjlPalB4TytGWC9LS09GNmZZZDhwU2ZzaXNnNm9QQis4NllDRTU5ZWYrcTFV?=
 =?utf-8?B?SGxyWHVyaFU5TVRvd0VySUpzbGdEQjAvZVV1UWEwZ3lEdTlYeTVidkNvcVBv?=
 =?utf-8?B?V3FLaS9WUXc1ZUZpeTNrZGVLcXVBTGVDemJMRjRyVjBFUHEvd3RIWjcvQVEw?=
 =?utf-8?B?SGorWWVIdXh3R0J6QmRQUmJGeDdUcWRQQ2c2Yi9VNVJGREZZaFVCSVJTRTJt?=
 =?utf-8?B?RzBpcmh1QVlybkl3TWhWdnM2YjdKdVpPbWRoWkExRndLdU5ZKzNUSXBqSkp5?=
 =?utf-8?B?bnJuS1h6ZlZpdERLV2hiVjRwbXB2eVgzbnNxMDZrTnBBUit2aU55RmtkbG5Q?=
 =?utf-8?B?KzJ3aFFmNGVHQS8yNEsyN3hEbGlqU3J2NmZvb3JFZVg1eWo4dnpSbStEQzNK?=
 =?utf-8?B?bCtNbVpWNjM3UjRCcDZJNlBGWDBha0t0czlBTzVrSHdxcEh2NkRVdTZvODNB?=
 =?utf-8?B?M1NwTnByV24vWHpGdGZmT3BkMEJ4SHR2Zjh1bFltZ1dwMGhVaUhSWE1BWVdT?=
 =?utf-8?B?djlMbHY2bXJnbUk1cGhYdUxpRWxwRjZjZGkySlBiaCtvb0k2STdjTzNEamhS?=
 =?utf-8?B?dk1yWGVBUnVNUjgybU14bm55L2NUd2MwTjZ6Z0NmbFNqVU9PUWJ3WXN5L25i?=
 =?utf-8?B?OW9VRVFDWk9xa1VhLzRRbXl3bTAxOFpKSTg2NDJ4MVJ2dmNJcVcxQ212dTlP?=
 =?utf-8?B?NTV6OUFPeTRwYk43MTJvYnhkRVkvRGd6MlhmdUlJcjhHbGJFUTdkYWlHLzFY?=
 =?utf-8?B?MWhGbnpWNEZoWVpGMGdrME1zTDRod3hHRG1DT1NjeWptTktHaTFTYklTamk5?=
 =?utf-8?B?UE5IUitWVVc1eHBhbWFLNlk1MWZSOUt0SStHamFnSDJ5VlRER2dlZW1qY2Ju?=
 =?utf-8?B?bVI3dlc0bXFmSk5MeWNjUmV3NUU4eFlieWMrL1c2NVlpNFhxZ1BpR3pzQ29D?=
 =?utf-8?B?cCtUaUwyVDc0eTM3ZGkxdWJ6bm9hbnNKb3NzRUtGVjk2Tjdac3Rxbk9JS3U3?=
 =?utf-8?B?WHRKcUdyRUNOS3F1RWVKdXNBb0RtOHNhMHhOYks1ZER0M29QN0Z6cUx2aDVu?=
 =?utf-8?B?WkJ0SHk0aE5yNEYxbGprNGMxZHRtS2x1VHpyWGpGeDgxL2pocU5VdWdxQXNk?=
 =?utf-8?B?dTFyUW1zUk9QdmN1c1hlQnB4SW4rWGtTYSs5WkdSc0xKeWdOblF6NlNUWmdP?=
 =?utf-8?B?WWNQZVBTUFdIeUwwSVc2dnFxbnVsWE1XL3RrSldsSHV1d2ppNHBNUGF0eGJV?=
 =?utf-8?B?KzNtSlpLTzNkcnY3RmxtTjZiRFF2c1BLN3cwazJuYk5mQUN1cWxSaEhmVlh3?=
 =?utf-8?B?S2xncmVuTlF0MlRuclVRTGRHVTQ4SGZiVE1wam1EY2FYZHRSNzlwRXc5cTB4?=
 =?utf-8?B?Rzl2TWpGWjBPbkMrNk5OU3dVOVBoa3pYaEsvMzNWaGJhQ3ZTNkI5Z3ZYYlpM?=
 =?utf-8?B?ZnQ5TklSYXI4NmJpNjhSVGdVNG00b1VSWmV3bWszVE1oNnMrN2MxQnI2cGVr?=
 =?utf-8?B?SU5mRWorb3RKRmhFOEl6cllSOU1LMndMTytoaXV1TFM3WE84TXkvenZiZklz?=
 =?utf-8?Q?EfQ5PnLNqOEPbXjabluY4n6Tc8lSE3h9?=
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)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R1NTQXY3V0hWemltWHNlbFlRWmRUcXlaSXd1bkp5aHBaWTRsTkxpMmUrLy9I?=
 =?utf-8?B?WVRmZFlmc0xhejFGMGR2R2FteTY4Z0UwK3FzbEEvTUk1akxaL2V2M3poODFZ?=
 =?utf-8?B?NGZFcVBlaVV2UHYwb3Fqa3dOOUNBeHR6VWp3RXdOeUJ2RUJXSmRsMlVtNmlk?=
 =?utf-8?B?WlZmTVFETlJRL09SNk9lTzRiSXdjSWREUTFpVDNwWStrQlQ3clN5Z0ZGbHNz?=
 =?utf-8?B?WlpoY0lKRUlDak1wQjQ0STk2ZXpRMEp5MHhweFFMNHBkSFptM24vZHdqYWQw?=
 =?utf-8?B?akZkbW41aHFkQ1JHUldCMmlXOEY3RzYzQWNURkgrRTIycTlEUXg3cWJaVXM3?=
 =?utf-8?B?OENaeGcrNmtueEpCZEhiVlZyRG9QUVFTYml6dzVQUHFwWXpxdWVIYnN2L0o3?=
 =?utf-8?B?enhMQmIwSUVVNEQ4UW52MXpNM29MeHVqa0xJNTUvdHR2aDNQemdXVnBkaTl1?=
 =?utf-8?B?TXN0bEpCbm1zcFJjeUJNSmF3WnBwSy9POENvd012TjJkRmJHbmdPM1ZPVjh5?=
 =?utf-8?B?U0xhMW1pcUdlTXovRmRaUmp3ZlpSUXFSRkJpMkE0UlpsOGxGdHZrS0ZBbFQ2?=
 =?utf-8?B?cENWbVBBZU1jWHpGZ0FxUHhOcitTcEhmNmZBSHFFNjM5SXRYSDBPNXhkVTdC?=
 =?utf-8?B?aXdxSS92MVJDTXZYNE1peDdyQURaaVZxUnQyUTAvb0hZVEZ2L2RNWWlXWnFo?=
 =?utf-8?B?Mmkwa2EwYUswZmNRTTJIU2JGWUoyTmVOZXdnbXVFUmRyMEhKdjVPcU51TUR3?=
 =?utf-8?B?YTFtMDc3clBvUWp3U2lCNFNpM2FXOG44djk4bGc0R3ZZa2NCOUNmZ2s4MFZw?=
 =?utf-8?B?dVU5VWw4OVpIMjBQV2NPc3FvM1BibGFwVU5tR1ZybmZLbmUwampKclI5UTZy?=
 =?utf-8?B?eXB6dk8wdlh0KzJWNHlKdElidTB6T2NtYXc1SC8zZUZLR0VRR3ViTzRycGcr?=
 =?utf-8?B?dnR2L2U1elE3SGR6VzNjYXQySUNGcXNEZDlqMVVEN3FMODFVSUFPZnBRa0ov?=
 =?utf-8?B?ZFZISVZ5NWtSaW0vdFFPUlVBSmFyVFhLSkw1aCs4czhIeXJJNFQ5NDJxcHRM?=
 =?utf-8?B?VGZ5aUlyaDJncGNXbXc4V2NtUHZCeTlMTnA3a2tZWkhyU3pLays4bzZ4ajVF?=
 =?utf-8?B?dXMzdHZ5aURDRFJQNjdObDh0Rkh1eUgxdXBJVDIxcy9ER3pOTUkrZVhqTENB?=
 =?utf-8?B?QitkL1Y2THRGdjB4aUZRbmEycmUvTlJrV1IyL1Q3ZmZWUWFMeUlEYnZDNjJm?=
 =?utf-8?B?SldQRGhsRGxtV2RLVnBTeHpNOHV6SHJHcS9WQVBnSmY4czZOVHp2QjBuVk51?=
 =?utf-8?B?YVFwSjE1NHZRVW5wS1NGL1k1RmNlTzFnR1Rrb1BHcWhEdXRiZTdDcHducCtP?=
 =?utf-8?B?ejdKS1RzMjlBQW90OTFMS1F5RGMrOUgyU3pHcXpWWjFiZE5yd0tpRGxKOU5W?=
 =?utf-8?B?emY3UWZ6N25KaWZpWEdUQzNjdGVVNy9BQzF2Ym5jdzVjaksrcWY3WE05N2Z0?=
 =?utf-8?B?R1FEa0pMYm10bDRqQjFlWGIwSlk0VmR0eXBTN0ZuR1pETGlGdDRmUzQxak1I?=
 =?utf-8?B?VnNIMjNDRmNqcjZPZ3RxRXkrRk9pMHllUTJ1WVRWYk1pdU1xRlQrTEN3bTJR?=
 =?utf-8?B?M2ZUNk5mcUxSdEVOUTRkZ0w1eUlLeUhQYTFkNUI2THhtNFo5eXN5VFVmdWdk?=
 =?utf-8?B?cldQNFBNMzhsKzBtUnRkdkhFU252TUJwbHdla3ZxeG56U3h6WUdMODFxSDRl?=
 =?utf-8?B?eDVSRWtZNUlNZ0VEY1AvWVNJQkFweHo3d3FzcXhKbHUxbVhVWXd4MDduM1Nq?=
 =?utf-8?B?MEVXOVc3SmRqblhPeE9ZZGZaSkVVZ3czNEQ2YjNkVmNCY256N1JwNG4wU042?=
 =?utf-8?B?K3NVeDZsb05vNDltTGZQdTBjVWZuYzFZZ1I5Z1pPRzJiamtab2tXVDlqcWFr?=
 =?utf-8?B?WUpWRzJxd0kvekJVZHFiRklIWHZudHpWQ2E1UnE2bHlaSG9kNWo5NmRCRnNz?=
 =?utf-8?B?UjMzdEwvYWdnTkRUMUloWTFLSWdWV3ZWSHNuZm9IRHk5K200emZjUmtpYWxG?=
 =?utf-8?B?cU4wVTdLNmRZQ1VSVE15NEVMSiszcS9OUmU2d002OHRON3FQZ2w2bHdpR0N3?=
 =?utf-8?Q?GQxg=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: b5a53bb3-d33c-4007-4bd8-08dd6db31c8d
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 04:43:40.1876
 (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: DVqSex+5ebuFQjW/SaSF3UxgE4zKfiQE1+lNI7Nb8QuJtJkDOV6+Mz8EXldD5Jvjzhq7n6jR2Q7POnC5rC3wtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6746

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgTWFyY2gg
MjcsIDIwMjUgMzo0OCBQTQ0KPiBUbzogUGVubnksIFpoZW5nIDxwZW5ueS56aGVuZ0BhbWQuY29t
Pg0KPiBDYzogSHVhbmcsIFJheSA8UmF5Lkh1YW5nQGFtZC5jb20+OyBBbmRyZXcgQ29vcGVyDQo+
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPjsgQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVy
YXJkQHZhdGVzLnRlY2g+Ow0KPiBPcnplbCwgTWljaGFsIDxNaWNoYWwuT3J6ZWxAYW1kLmNvbT47
IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBSb2dlcg0KPiBQYXUgTW9ubsOpIDxyb2dl
ci5wYXVAY2l0cml4LmNvbT47IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVs
Lm9yZz47DQo+IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSZTog
W1BBVENIIHYzIDA1LzE1XSB4ZW4veDg2OiBpbnRyb2R1Y2UgImNwdWZyZXE9YW1kLWNwcGMiIHhl
bg0KPiBjbWRsaW5lDQo+DQo+IE9uIDI3LjAzLjIwMjUgMDQ6MTIsIFBlbm55LCBaaGVuZyB3cm90
ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogSmFuIEJldWxp
Y2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiA+PiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDI2LCAy
MDI1IDY6NTUgUE0NCj4gPj4NCj4gPj4gT24gMjYuMDMuMjAyNSAwOTozNSwgUGVubnksIFpoZW5n
IHdyb3RlOg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiA+Pj4+IFNlbnQ6IE1vbmRheSwgTWFy
Y2ggMjQsIDIwMjUgMTE6MjYgUE0NCj4gPj4+Pg0KPiA+Pj4+IE9uIDA2LjAzLjIwMjUgMDk6Mzks
IFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+Pj4+PiAtLS0gYS94ZW4vaW5jbHVkZS9hY3BpL2NwdWZy
ZXEvY3B1ZnJlcS5oDQo+ID4+Pj4+ICsrKyBiL3hlbi9pbmNsdWRlL2FjcGkvY3B1ZnJlcS9jcHVm
cmVxLmgNCj4gPj4+Pj4gQEAgLTI4LDYgKzI4LDcgQEAgZW51bSBjcHVmcmVxX3hlbl9vcHQgew0K
PiA+Pj4+PiAgICAgIENQVUZSRVFfbm9uZSwNCj4gPj4+Pj4gICAgICBDUFVGUkVRX3hlbiwNCj4g
Pj4+Pj4gICAgICBDUFVGUkVRX2h3cCwNCj4gPj4+Pj4gKyAgICBDUFVGUkVRX2FtZF9jcHBjLA0K
PiA+Pj4+PiAgfTsNCj4gPj4+Pj4gIGV4dGVybiBlbnVtIGNwdWZyZXFfeGVuX29wdCBjcHVmcmVx
X3hlbl9vcHRzWzJdOw0KPiA+Pj4+DQo+ID4+Pj4gSSdtIHByZXR0eSBzdXJlIEkgcG9pbnRlZCBv
dXQgYmVmb3JlIHRoYXQgdGhpcyBhcnJheSBuZWVkcyB0byBncm93LA0KPiA+Pj4+IG5vdyB0aGF0
IHlvdSBhZGQgYSAzcmQga2luZCBvZiBoYW5kbGluZy4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IEht
bW0sIGJ1dCB0aGUgQ1BVRlJFUV9od3AgYW5kIENQVUZSRVFfYW1kX2NwcGMgYXJlIGluY29tcGF0
aWJsZQ0KPiA+PiBvcHRpb25zLg0KPiA+Pj4gSSB0aG91Z2h0IGNwdWZyZXFfeGVuX29wdHNbXSBz
aGFsbCByZWZsZWN0IGF2YWlsYWJsZSBjaG9pY2VzIG9uIHRoZWlyIGhhcmR3YXJlLg0KPiA+Pj4g
RXZlbiBpZiB1c2VycyBkZWZpbmUgImNwdWZyZXE9aHdwO2FtZC1jcHBjO3hlbiIsIGluIEludGVs
IHBsYXRmb3JtLA0KPiA+Pj4gY3B1ZnJlcV94ZW5fb3B0c1tdIHNoYWxsIGNvbnRhaW4gIENQVUZS
RVFfaHdwIGFuZCBDUFVGUkVRX3hlbiwgd2hpbGUNCj4gPj4+IGluIGFtZCBwbGF0Zm9ybSwgY3B1
ZnJlcV94ZW5fb3B0c1tdIHNoYWxsIGNvbnRhaW4gQ1BVRlJFUV9hbWRfY3BwYw0KPiA+Pj4gYW5k
IENQVUZSRVFfeGVuDQo+ID4+DQo+ID4+IE1heWJlIEkgbWlzcmVhZCB0aGUgY29kZSwgYnV0IHRo
ZSBpbXByZXNzaW9uIEkgZ290IHdhcyB0aGF0DQo+ID4+ICJjcHVmcmVxPWh3cDthbWQtIGNwcGM7
eGVuIg0KPiA+DQo+ID4gTXkgYmFkLiBJbiBteSBwbGF0Zm9ybSwgSSBoYXZlbid0IGVuYWJsZWQg
dGhlIENPTkZJR19JTlRFTC4gSQ0KPiA+IHByZXZpb3VzbHkgYXNzdW1lZCB0aGF0IENPTkZJR19J
TlRFTCBhbmQgQ09ORklHX0FNRCBhcmUgaW5jb21wYXRpYmxlDQo+ID4gb3B0aW9ucywgd2hpY2gg
bGVhZHMgdG8gdGhlIGZvbGxvd2luZyBjb2RlIGBgYCBlbHNlIGlmICgNCj4gPiBJU19FTkFCTEVE
KENPTkZJR19JTlRFTCkgJiYgY2hvaWNlIDwgMCAmJg0KPiA+ICAgICAgICAgICAhY21kbGluZV9z
dHJjbXAoc3RyLCAiaHdwIikgKSB7DQo+ID4gICAgIHhlbl9wcm9jZXNzb3JfcG1iaXRzIHw9IFhF
Tl9QUk9DRVNTT1JfUE1fUFg7DQo+ID4gICAgIGNwdWZyZXFfY29udHJvbGxlciA9IEZSRVFDVExf
eGVuOw0KPiA+IGBgYA0KPiA+IHNoYWxsIG5vdCBiZSB3b3JraW5nIGluIEFNRCBwbGF0Zm9ybS4u
Lg0KPiA+IE1heSBJIGFzayB3aHkgbm90IG1ha2UgdGhlbSBpbmNvbXBhdGlibGUgcGFpcj8gSSBh
c3N1bWVkIGl0IGVhY2ggd3JhcHMNCj4gdmVuZG9yLXNwZWNpZmljIGZlYXR1cmUsIGxpa2Ugdm14
IHZzIHN2bS4uLg0KPg0KPiBJJ20gc29ycnkgdG8gc2F5IHRoaXMsIGJ1dCB0aGF0IHNlZW1zIGxp
a2UgYSBwcmV0dHkgb2RkIHF1ZXN0aW9uIHRvIGFzay4gRGlzdHJvcyBxdWl0ZQ0KPiBjbGVhcmx5
IHdhbnQgdG8gYnVpbGQgb25lIHNpbmdsZSBoeXBlcnZpc29yIHdoaWNoIGNhbiBiZSB1c2VkIG9u
IGJvdGggSW50ZWwgYW5kDQo+IEFNRCBoYXJkd2FyZS4gQ09ORklHXyogYXJlIGJ1aWxkLXRpbWUg
Y29uc3RhbnRzIGFmdGVyIGFsbCwgbm90IHJ1bnRpbWUgdmFsdWVzLg0KPiBXZSB1c2UgdGhlbSBp
biBpZigpIHdoZXJlIHBvc3NpYmxlIChpbnN0ZWFkIG9mIGluICNpZiAvICNpZmRlZikgc2ltcGx5
IHRvIGV4cG9zZSBhcw0KPiBtdWNoIGNvZGUgYXMgcG9zc2libGUgdG8gYXQgbGVhc3Qgc3ludGF4
IGFuZCBhbGlrZSBjaGVja2luZyBieSB0aGUgY29tcGlsZXIsDQo+IGlycmVzcGVjdGl2ZSBvZiBj
b25maWd1cmF0aW9uIHVzZWQgYnkgYSBwYXJ0aWN1bGFyIGluZGl2aWR1YWwuIFRoaXMgd2F5IHdl
IGxpbWl0IHRoZQ0KPiByaXNrIG9mIGJpdC1yb3R0aW5nIGFuZCB1bmV4cGVjdGVkIGJ1aWxkIGZh
aWx1cmVzIGF0IGxlYXN0IHNvbWUuDQo+DQoNClRoYW5rcyBmb3IgdGhlIGRldGFpbGVkIGV4cGxh
bmF0aW9uLCB1bmRlcnN0b29kIQ0KDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 06:41:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 06:41:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930145.1332815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty3On-0007wz-Dw; Fri, 28 Mar 2025 06:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930145.1332815; Fri, 28 Mar 2025 06:41: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 1ty3On-0007ws-BK; Fri, 28 Mar 2025 06:41:01 +0000
Received: by outflank-mailman (input) for mailman id 930145;
 Fri, 28 Mar 2025 06:41: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=P2QR=WP=intel.com=oliver.sang@srs-se1.protection.inumbo.net>)
 id 1ty3Ol-0007wm-NQ
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 06:41:00 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9668cde4-0b9f-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 07:40:51 +0100 (CET)
Received: from fmviesa006.fm.intel.com ([10.60.135.146])
 by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 27 Mar 2025 23:40:47 -0700
Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14])
 by fmviesa006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384;
 27 Mar 2025 23:40:47 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
 ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.44; Thu, 27 Mar 2025 23:40:46 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1544.14 via Frontend Transport; Thu, 27 Mar 2025 23:40:46 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.177)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Thu, 27 Mar 2025 23:40:46 -0700
Received: from LV3PR11MB8603.namprd11.prod.outlook.com (2603:10b6:408:1b6::9)
 by SJ2PR11MB7645.namprd11.prod.outlook.com (2603:10b6:a03:4c6::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Fri, 28 Mar
 2025 06:40:42 +0000
Received: from LV3PR11MB8603.namprd11.prod.outlook.com
 ([fe80::4622:29cf:32b:7e5c]) by LV3PR11MB8603.namprd11.prod.outlook.com
 ([fe80::4622:29cf:32b:7e5c%4]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025
 06:40: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: 9668cde4-0b9f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1743144052; x=1774680052;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=yJ6BtY/WddbJKSebJkB33UceEL7WekYZaqFHXwVbwaw=;
  b=cvUe9l+8RjisCaOGCO7d4/dfzkamxncJmA4nhn3wDgacUgG5MBXWffmc
   NEbnLqyE/4VqYPNxfWb+5+p/yKTlQF7yl3aE6Y9moPZUNZBVIXMXpRcfn
   4KjqSO4DFiVTl12tWnpbi2Pz0gm6ifh+uEhtvblCCKPThr2tzh/HCUxq8
   d7XR9q6D4+/Q5FT1WcE2jpoHYmAiUnjdPt39dfWx9TpbuAp6sD+Ca6X+C
   f/ZdpcJtkQmF0OtjCzz4XjvOWYseMz99sM0C//sRWnbXj91kN5uaREh41
   4ezUv7be9BIn/x6eEv7jJk6bugcg9QjaSSdJQqZjUWzKVPUYnH+0w/C/o
   A==;
X-CSE-ConnectionGUID: fAAuYYRySoesB703obwtlg==
X-CSE-MsgGUID: cGNWJmZTQruY+BGDunsJoA==
X-IronPort-AV: E=McAfee;i="6700,10204,11385"; a="62031892"
X-IronPort-AV: E=Sophos;i="6.14,282,1736841600"; 
   d="scan'208";a="62031892"
X-CSE-ConnectionGUID: 26bGu+ozSdCtUsArpTvO8w==
X-CSE-MsgGUID: 6pNKqz0bTwuiIpkGPIoMoA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.14,282,1736841600"; 
   d="scan'208";a="125163890"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YRYNPI+zyy0QMeA44yQkdUpI2NO7sb4OMxS5veb9EABSRGM0EnMOLG0g5v5gQTXGhzEmhXtvKHDk0liMYhsp9oX1DrpP7nfFMB0+bkAh8W3a3BLaTqJYbMZjctO5uDrkeJYJXopDponDFcFUQyvqbxo2S86Z25dVNWlUekZWZdLqI+wmLT0Y63XBUgbspixI/j0uO+PTbWZ2+L+9rS5eezUKctu553j+D3FXEreTjsHzRNcW2m8vvTw0d5oVvIk087y0Toc/XbZER0XCaMuYMTg/+CZUVuG385UScbGL+s4Lj0avyXxgIAqYwrsBd5fZNxqPaeTFJJggIg52tGr2rA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LMUvIo2rwylshhYvnf9F7ItTjyaDKiQVYNqcS80DwNg=;
 b=Z8VJSPcZ3V0zAKpdZdjh7Idr57P8PLyaRb5lznATZ06rMNalaSw4L7tfLQpJznqS3ffu8iVIo4B6shd8Wubl4+2hEvZ6jxwSsrFMKwEjTc+qXTdd/mHQtskiTBMDfq3hxE1Cl1m6F1zgq8O4KE5k5+l+FKo5gSxiQ/W1zo/SX/W0izsmf7m87kU5Q70slUSyTZQ02EGJY+e4ClWRgCxbRFw/j2HoFVnB7Ye+76+SrCFh5Fvecn5Ams+3Vu022lOdNWgbt5INkLO49OctuBGcsP0PTkCNLx6UF3mEFfOz7U+ctoZQpUamLFSQSM1a2YTGRAeD92jQbws5rGTcxgkjXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
Date: Fri, 28 Mar 2025 14:40:32 +0800
From: Oliver Sang <oliver.sang@intel.com>
To: Thomas Gleixner <tglx@linutronix.de>
CC: Roger Pau Monne <roger.pau@citrix.com>, <oe-lkp@lists.linux.dev>,
	<lkp@intel.com>, Juergen Gross <jgross@suse.com>, Bjorn Helgaas
	<bhelgaas@google.com>, <xen-devel@lists.xenproject.org>,
	<linux-pci@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<ltp@lists.linux.it>, <oliver.sang@intel.com>
Subject: Re: [linux-next:master] [PCI/MSI]  d9f2164238:
 Kernel_panic-not_syncing:Fatal_exception
Message-ID: <Z+ZEYJtLwAlAAv8Y@xsang-OptiPlex-9020>
References: <202503271537.b451d717-lkp@intel.com>
 <87semyy925.ffs@tglx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <87semyy925.ffs@tglx>
X-ClientProxiedBy: SI2PR01CA0010.apcprd01.prod.exchangelabs.com
 (2603:1096:4:191::12) To LV3PR11MB8603.namprd11.prod.outlook.com
 (2603:10b6:408:1b6::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: LV3PR11MB8603:EE_|SJ2PR11MB7645:EE_
X-MS-Office365-Filtering-Correlation-Id: e892dec7-8913-4b7f-3443-08dd6dc375f9
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
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: =?us-ascii?Q?9Ojo1vgrl8j0dGlO0i9wkxxDJ9oSW41j42paho2HeegcTbBeibMyIhtawmGE?=
 =?us-ascii?Q?avGPp33fxJuHxkA7mJ/eXdRYRVhTNSHKVZpk5OO3If3pnQ928xplZaeR9mBs?=
 =?us-ascii?Q?S6FyhTRMGDY/j5SXxRMmQS82g/DGQ+SI/EEobIfMUW4lVg7xzbyZzRlPVw4c?=
 =?us-ascii?Q?gh98jUpJUSabbKiWXKXG7UOSUYleycQccypxHVq6MY/+PQmQZJSY1njCFnGB?=
 =?us-ascii?Q?sj79NVhIHoGl4d3X0Kv8drA5izN4YVBWLXHcWy5Fio+DsRNtoARqfcmAkgA5?=
 =?us-ascii?Q?zh7bdM9spLUvX01TYftkIj90Im1Gxh0hFgA7DirFm/CyObxwzi1s1ycxitov?=
 =?us-ascii?Q?ZgK+uTHwUpU4+11HpKUhGpIY1WjwFThx54nzVo9YyhSUf2wZaEmsMFqii8GB?=
 =?us-ascii?Q?aZRbY/5rnaDhZZaKYge8S46MF6JPLFxy45V/iBLIlpT/7+PQO5wjN7FEyg/X?=
 =?us-ascii?Q?+3Vfo3qROFvVYhX1/h5J10XOYX10xrW6PH0ZjmxMykEiODRP7l3vLn8iE05I?=
 =?us-ascii?Q?lPiOZGqRvQlS2in9cl2oBgFJZ7lVYegfZ0HZvOA7viOUq9FM/NuYWda5zzOb?=
 =?us-ascii?Q?jLsJ9eFsp8sDMbOTGcWdm/T5p9D2a5V2KMaP9ZElenhN84ONpRoJ6at2BDqK?=
 =?us-ascii?Q?BfGvrBzqO1WOayiSdbjaPpxMFvp4eUX8dMvBH9knPl+B6Ai+26Hztpe7XHZu?=
 =?us-ascii?Q?3aARgToQfE6i0FXcY3mRLTophYDugsvDg+D9kQNW2J9UuKNKxRfEeRCSBmlM?=
 =?us-ascii?Q?Sjk05WovcWrmXnw1HjKxl+zSeOhgr9yPxK+N1kXt2xyq5lMkuyQAu7a9cYk/?=
 =?us-ascii?Q?cI+NnatehkCbeTLviSfj9IkofMzcApAPdXTRM0KV1X708jOBWCPirsoxPzuV?=
 =?us-ascii?Q?A0kk8DbOXk0hb6/1CqQfcYTvyXwH25w5IlUZaU2BM/FElv5M1whuuiWiNBAe?=
 =?us-ascii?Q?bUXdsiHll40wugE/rKIhfqiNSH+id0W3ayjvkLxUs0S6SJRjJWsQckvx47uZ?=
 =?us-ascii?Q?gnr5foU6JSaK9BrLZYx4cCRk5RKKRdYOgTtiQuzOmuavMxHl0nwhP5tZzr6d?=
 =?us-ascii?Q?9FuMObjCsyuZOyiykt874ZmuFXzVTTrzZmqpP9Z2GSll1qdKMjiVc6kIqeK/?=
 =?us-ascii?Q?9mcI6BBztqAQwMoTnC/XRsbUaJsTVkqNei+Tq9Y3b574vlWBy8nGIrkSkejO?=
 =?us-ascii?Q?TzgmcHgWWi+GrVwndd0G/mlspyHuPlHTz/wV/WGM94CNEp9XlOYAXlff5MmH?=
 =?us-ascii?Q?yfD+g5nYeoLuRZQsEnIyARt002JmJA6mipctuOcrR3UFNKzVDTRyCmj51KSQ?=
 =?us-ascii?Q?pvu+Sn17pBN84WRbpIVl6xHxQx2ff7f+CSX02FuevQ7okUVQ5BX4BAEkgYCH?=
 =?us-ascii?Q?vHnQaAL8dClxnVanmPe+l/WhbgyM?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR11MB8603.namprd11.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: =?us-ascii?Q?kcOOIsvCC3L+I+QimPzF1Jbf2VQtONEHs3WmXRTdLTe97Parw6uhW0yrRlCh?=
 =?us-ascii?Q?skKElTnqssWf60poeTz6hokLQPDK4g7ail9gd0YpeTSkYOuAw3GaP2iuUIGX?=
 =?us-ascii?Q?iGQdK+EDiT/y/Ri/7njkCC0T17vnR4pIRCc+f5sZM1+nL1SDkXbsPNXEbv6Z?=
 =?us-ascii?Q?5UIt5u0Zp/SCQXdkby+hKg0vMdWCPJze7gKlv2B/c+ilMh7xc6DUKn1+ZcQk?=
 =?us-ascii?Q?Nm6w0xefbeT2SWumiw8EvLmUbh9RJXYftgaHPH7deS0FsOXybcX7vxkgD0sP?=
 =?us-ascii?Q?YphYuQNne4gmbnlUDjnYkBErMWf/cHJdph4KSQmhd1q1n6fqVSWZ1mMwHZ3N?=
 =?us-ascii?Q?14R5ldNTHfdiGVnUHmeaT1H0gJMmtI1OszUFtlzFkG5eQlf7vkEFSph9fGgh?=
 =?us-ascii?Q?S6PUBbpAvsD3Cxit73d8lnTFjdELFpy+D+/4ZNyQZuVcQ2V75aUg88c2IkxG?=
 =?us-ascii?Q?cTnUKn6LLisZEF5aLXJSRnyVLOsHq5EIyoJE/b4MMTKBJmlL2XJ4eNKwt3Hk?=
 =?us-ascii?Q?U0I6pFPs0T3nyH/1eNryKEcxaghnHJ7LiWSX13ifpwYKKcKaIqTU2wmlZ1ll?=
 =?us-ascii?Q?d0A7QsEaBq2hcV20X37uS20ALWhMRAdvpWIw64hPdX3SIFgjSUNadEe9cD8e?=
 =?us-ascii?Q?owQ7upJD2LrNXbwfCS4Hhmk6MKZ58uFBjK05t/o0h9ECC+yZ1ZWP9m62p/Uv?=
 =?us-ascii?Q?a5d5vkPWlzhY5RTzQGN/M/CXbyM/vQWF1dACh6rExmcJYtNf3DEn1NAoYY5x?=
 =?us-ascii?Q?KB24m+DmVtIz4XRwx4PflcINXOaaVCHJhssvZYxSicjTY9lWFdMvWGx6ptBF?=
 =?us-ascii?Q?v2jxLqs7uCl5z3OD/LnZ5dSw7SfenZQ8F8uRWR2a9z+aA+q9bOP5uwCCncrz?=
 =?us-ascii?Q?Xi921Ln8E0sHelSQ45Y1j3JlpySU1s4/I4NRqhevy+i1hPwZBj2Cb9Ocw2Zi?=
 =?us-ascii?Q?VmFENXpng5CLiSLAraGzjeDDdyrGTnpp46Ru8PoIQJqjes6eqQ4pCA6U5Yz0?=
 =?us-ascii?Q?sQSOBmlGK1sgbW3DLONRv6KMkA8V+G+MOZnB4wD/6DJekvsNvmgJebUmSY1C?=
 =?us-ascii?Q?HNjLOM0f39RUy3dbXaFwPDfXbh1GFqrjmXF2HfjukJIe9WfZweN15p3heYoB?=
 =?us-ascii?Q?FK83ivfQwc3SJ+9ldLxcmOgJnotNpga86NfANVzzgg3kmYj9UanaPNsLDQus?=
 =?us-ascii?Q?+JRwAbhORERJmDJ9r+Gfs2q9uzB5W85qOkljZVbr5hfnHytw8Ub/tahrCQlr?=
 =?us-ascii?Q?NUDxJKsJQ5oZQ7ihAsbNBUtaAf6a410HqELjSMn02BL892CfFCV1S7gQH9cm?=
 =?us-ascii?Q?kxzkUWYdUIurBc0br/NnuW4PhRjGUMt7ksn8jhE6I6EaosfJ2q5zXPdx8eJb?=
 =?us-ascii?Q?w8zvKevf6tAY8cGrDVPyMhhx3lyqPV9TUXmchNgxIRXm+0MQPwXK1d8RVcDr?=
 =?us-ascii?Q?AdgH8mVxh7vhisnRCV0/IzJmJaPo2M2YI1FGonJ/M/5ut0UCsjG2KcxhGlif?=
 =?us-ascii?Q?C66XRM9IyBHwFZ+rhSGmhvnrKOzJnEKXaPtrvX/Q4BtHgNrMTlTw31YJTQaj?=
 =?us-ascii?Q?Fm9FnG22W3P6OBj6mUIubaXK9dFCkJSqwKc31iEih/D+zyU52g/yZc8ULzAO?=
 =?us-ascii?Q?7A=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: e892dec7-8913-4b7f-3443-08dd6dc375f9
X-MS-Exchange-CrossTenant-AuthSource: LV3PR11MB8603.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 06:40:42.3092
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 44xw35j4X2DpcDqbHWp7A5p+rmxyDoHTJI1defyakPXNANFOoeFdarDOtUpPJG7wCfZc6q7Y5OA9Srd13TQ46g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB7645
X-OriginatorOrg: intel.com

hi, Thomas Gleixner,

On Thu, Mar 27, 2025 at 01:03:46PM +0100, Thomas Gleixner wrote:
> On Thu, Mar 27 2025 at 16:29, kernel test robot wrote:
> > kernel test robot noticed "Kernel_panic-not_syncing:Fatal_exception" on:
> >
> > commit: d9f2164238d814d119e8c979a3579d1199e271bb ("PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag")
> > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
> 
> Fixed upstream.
> 
> 3ece3e8e5976 ("PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI backends")

thanks for information! we run the same test upon this commit, and confirmed
the issue we reported cannot be reproduced.


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 06:42:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 06:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930155.1332825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty3QY-0008Sa-P8; Fri, 28 Mar 2025 06:42:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930155.1332825; Fri, 28 Mar 2025 06:42: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 1ty3QY-0008ST-MU; Fri, 28 Mar 2025 06:42:50 +0000
Received: by outflank-mailman (input) for mailman id 930155;
 Fri, 28 Mar 2025 06:42: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ty3QW-0008SJ-Ri
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 06:42:48 +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 d9fd985c-0b9f-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 07:42:43 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so14017885e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 23:42:43 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8ff02f91sm17442935e9.29.2025.03.27.23.42.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 23: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: d9fd985c-0b9f-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743144163; x=1743748963; 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=BzxHs+Wro57eKQjF2Vr/UdyCRbsM9rSJzv087/W/Q10=;
        b=sw/RECEPOc+YR2/wy18l1EloipjWDsJIvo6bO+5sgq5z4UKA9Ghbpaontnv78mBlcr
         sSBKecl4DrKebWt3VQ32OZeOWQN9ZHAjr1A63ff4ZfojsYMu/oiOxy6nDnsJfm3yAKwx
         QjGMFYwtwapk3nwKnOIfg3XG5E1S11iWX6Lvo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743144163; x=1743748963;
        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=BzxHs+Wro57eKQjF2Vr/UdyCRbsM9rSJzv087/W/Q10=;
        b=lcXPgMAK/LgGgnMQ9qEWsM02zghDZjHLG5SvAPPUjkfO7co5RDPvex81ZVMeEVQ47C
         14ZRT9vdBqexLcOghrPVFjkuByv8hob973z5O+/BoJRQIi/R74irwJcj+GeLGjFaHy/Q
         xrHOJPH+KdMV7DrvP6eBUE7VdPGX7Fv3vNgIDLNncbc1xOdTk1N8mSQtVyGHhSdGYHjp
         EPgBN44jBjHFdIksvsiFX1Zwxhy3Z/MXS1ShrUjqJ0VAy4QlwzUHGuW/fhEqtfyKDx5X
         i7+bqUod8skOPCCK96rbL6AiuYUxNrYfWbfr2EcjPMeucZlRrWvcJ4/qKWpvdP+h9obq
         0A0w==
X-Forwarded-Encrypted: i=1; AJvYcCVid2YmiLjUL+s7DTcEp1LZqo/xUXuLZokT6Mqd7p/bWwyVIAF+QWrW+ys+ZFegwFZoIU2Kensgz5o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxqj5NXptaKJKhGzkCSDD5/Dl7NuLZwrpKbelqUY9w2bUuuY4o7
	R6TQL3WMj3rcSL+1FoeyaWOd0/QGvBCijq2WNbjlrIL2o1SOhvquc/0yGoSXOtc=
X-Gm-Gg: ASbGncvIwpo7uA2FsOASZNjFHeLo/qAYefMaricn+9s/MjYWDKKQVrUQA2L+mO7DLez
	cDS+dec/Tsa4vKssCVF/EZw4YfYTV1HC9Y0T+AO6s5nxPcJ53YlbNK8zwLGpHktHQ7h3ZRSjiuR
	5PvPZR1/tkn1r2605OFiFhq85slqJxOEHKCuLQWZ163GEml1jEF8E2zpb7bEoO9zJA7OQosE3HV
	rXAaXdl9wiN8GxoFacG8hlHso4WWIfhKHoWfn3hKZGywT9YUbKECsa/dUAP0MLM/pRSSxctzYUp
	OKj6ETTSRvCIc3kXdA6Bd51aKIkcl0gLycOBDEIKhRm1qvGMHhDTrjvD2nJ0i+V/TU65qzQmZDE
	q/wkhH+QYYA==
X-Google-Smtp-Source: AGHT+IFzdg398dDSZY8x7tED1owFpp+ZtrPRomKTwCuWU8MXb/52vwB4laCDNNhC4pyb61WjqpgMVA==
X-Received: by 2002:a05:600c:3106:b0:43d:160:cd9e with SMTP id 5b1f17b1804b1-43d84fb498fmr52843455e9.17.1743144162853;
        Thu, 27 Mar 2025 23:42:42 -0700 (PDT)
Message-ID: <8d98ba26-b358-407a-9f59-b7c08d1f09fd@citrix.com>
Date: Fri, 28 Mar 2025 06:42:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/3] xen: gcov: add support for gcc 14.1
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
 <20250327004044.2014048-2-volodymyr_babchuk@epam.com>
 <b56cd8e5-d17a-46a3-8584-cf69113c145a@suse.com> <87iknugmgu.fsf@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: <87iknugmgu.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27/03/2025 10:03 pm, Volodymyr Babchuk wrote:
> Hi Jan,
>
> Jan Beulich <jbeulich@suse.com> writes:
>
>> On 27.03.2025 01:40, Volodymyr Babchuk wrote:
>>> GCC 14.1 has 9 gcov counters and also can call new merge function
>>> __gcov_merge_ior(), so we need a new stub for it.
>>>
>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> As to the title - what about 14.2.0? Or the soon to appear 14.3.0? I recommend
>> to say just 14.
>>
> According to GCC changelog, it was added in GCC 14.1. And yesterday they
> added another counter... So probably 14.3 will have 10 counters in total.

Do you have links?

I'd expect that to mean that GCC 15 will have 10 counters, not GCC 14.3.

>
>>> --- a/xen/common/coverage/gcc_4_7.c
>>> +++ b/xen/common/coverage/gcc_4_7.c
>>> @@ -28,8 +28,10 @@
>>>  #define GCOV_COUNTERS 10
>>>  #elif GCC_VERSION < 100000
>>>  #define GCOV_COUNTERS 9
>>> -#else
>>> +#elif GCC_VERSION < 140100
>> The situation is a little less clear here because the development window is
>> fuzzy to cover. Nevertheless with all other conditionals here using only a
>> major version, with subversion being 0, I think the same should go for 14.
>> Unless of course there is a good reason to be inconsistent.
> As I said, 9nth counter was added in GCC 14.1, GCC 14.0 had less counters.

In GCC's numbering scheme, .0 is the dev window and .1 is the release.

The 9th counter will have appeared somewhere in the dev window, but
that's all GCC 14 as far as we're concerned.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 06:46:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 06:46:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930164.1332834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty3Tj-0000dS-8k; Fri, 28 Mar 2025 06:46:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930164.1332834; Fri, 28 Mar 2025 06: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 1ty3Tj-0000dL-6B; Fri, 28 Mar 2025 06:46:07 +0000
Received: by outflank-mailman (input) for mailman id 930164;
 Fri, 28 Mar 2025 06:44: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=bq2r=WP=boeing.com=gihwan.kwon@srs-se1.protection.inumbo.net>)
 id 1ty3S0-0000ak-KH
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 06:44:20 +0000
Received: from clt-mbsout-02.mbs.boeing.net (clt-mbsout-02.mbs.boeing.net
 [130.76.144.163]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0dbea2b0-0ba0-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 07:44:11 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by clt-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/DOWNSTREAM_MBSOUT) with SMTP id
 52S6i8I1008614; Fri, 28 Mar 2025 02:44:08 -0400
Received: from XCH16-09-09.nos.boeing.com (xch16-09-09.nos.boeing.com
 [144.115.66.157])
 by clt-mbsout-02.mbs.boeing.net (8.15.2/8.15.2/8.15.2/UPSTREAM_MBSOUT) with
 ESMTPS id 52S6hxu3008547
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 02:43:59 -0400
Received: from XCH16-07-10.nos.boeing.com (144.115.66.112) by
 XCH16-09-09.nos.boeing.com (144.115.66.157) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44; Thu, 27 Mar 2025 23:43:59 -0700
Received: from XCH19-EDGE-C02.nos.boeing.com (130.76.144.198) by
 XCH16-07-10.nos.boeing.com (144.115.66.112) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.44 via Frontend Transport; Thu, 27 Mar 2025 23:43:58 -0700
Received: from USG02-BN3-obe.outbound.protection.office365.us (23.103.199.151)
 by boeing.com (130.76.144.198) with Microsoft SMTP Server
 (version=TLS1_2, 
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 27 Mar
 2025 23:43:58 -0700
Received: from PH3P110MB2246.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:1ae::6)
 by BN0P110MB1626.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.32; Fri, 28 Mar
 2025 06:43:52 +0000
Received: from PH3P110MB2246.NAMP110.PROD.OUTLOOK.COM
 ([fe80::e553:fd5d:6dc0:5572]) by PH3P110MB2246.NAMP110.PROD.OUTLOOK.COM
 ([fe80::e553:fd5d:6dc0:5572%4]) with mapi id 15.20.8511.031; Fri, 28 Mar 2025
 06:43: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: 0dbea2b0-0ba0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boeing.com;
	s=boeing-s1912; t=1743144249;
	bh=o74PJtK1U/utXpqLd6A1Q/nS4b6mJRxdw0HHekiTb6w=;
	h=From:To:Subject:Date:From;
	b=eWzCJooPgEJ25QQxWt+AzhB9cOm/Gi1CPtAQVHUmsE/4psP/F7pi9IbUdBAKW1Bg3
	 tB8/DFxg48dmCJd5eigpIrHwZKztEhqSDuGzmQ3ZBddXe6TyTIi9B6bfZ+e38ZQvMD
	 NJBNiBJPUmw8ZZY+VtmQNcS85c6uh7huCbhKQoGh5Efu//qKT9FW6he1nJ9gHBbZck
	 zXm/Wrzh/SEAxj0iFpJLCc/w7thSYDQ41aUsS4EX5ogks3DPEjfxGcnUnR3glYF8RZ
	 sFb+AccAt2CbnmlHDDItpNpmz2WXzxIjE73JudziMMXmGaC+b55+GJrJYXrhmKwSpc
	 Wzgn0JeLclsIw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=0gfaoBnCkNlWj9lWSR25NjzefesJ5yGVkaW0xXP16eO5WeZ0rzKn+ZyK40I2HUx+xUR//qlmcBe5PKcvmdmnv5x+Nz6S2WfI6FlmuClgWi9tBhCN2NMmsRGJFKSZDlm1E5kkdanA3MU8xRs9v8qqCtUVmdjS9eHClGcZTDaqb2hg33xZwvbJrMeQs7K0kl1wyXu7zlkqdTX6NZq+CjiOUNUbfcyf9Gzdv8lXg9XqIXD0YMlli4biX8I/T+4m76GC5BHvVLKb1mvRIiSZ8LlzDSA7l5+FRTJO66oyinET8Nqu20UN645UoJSqAKKqlQr481qSZimFrQXLkrN9A9ASrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o74PJtK1U/utXpqLd6A1Q/nS4b6mJRxdw0HHekiTb6w=;
 b=NCbHxtvVFukf9q0rPRdBRVqLGgYJA+a4DR54C1xXV8bDcidnKEWy4Oo61XxHAYRyc44OT56NVHaGuAMEeNZFUmN1r+Km+KlS7Vd5l7pc9UqKCDNIPDS5umqEsH0iNir1XAqesajdj/Gnl/HoyCCvBTmOT2Xg1ruAgBnpHmAAu9sxJWmCDmXFcr/lGvJfYx9eoK0tyVkMRMEbaRuIoPVD/vqYhV3aDiM4qpG0gm/Ka3jizIpeZTxPGU5yZxJTf7HdC/x4sXv1A5mFSiWV+AoYAShQbrkSjL+Qv06QdmqLEYxLntScNs5DWTeI+LVC3fO30JUf4+d8MTM6mHwEstCg/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=boeing.com; dmarc=pass action=none header.from=boeing.com;
 dkim=pass header.d=boeing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=boeing.onmicrosoft.com; s=selector1-boeing-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o74PJtK1U/utXpqLd6A1Q/nS4b6mJRxdw0HHekiTb6w=;
 b=Wh8q/yNNCkTsv8z+nF2y++7/odhfnrqzxW1uMK3HaxSzJPkIWiOzrpn148Hxa/GhFXZi1uHxGHMYtqGm5d3DAJ1gxQ0A5tFmlHs5LBJuGgsghsIKYoVQmB1STx0rKUKUiDG5t2xqnqoqr/65Fqb3EsQ0gMrXBUVnVv5i7nrrZ7I=
From: "Kwon, Gihwan" <gihwan.kwon@boeing.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: [QUESTION] Minimal Xen Configuration
Thread-Topic: [QUESTION] Minimal Xen Configuration
Thread-Index: AdufrJ9UUf/GAK+7RESPH/YMB+/liA==
Date: Fri, 28 Mar 2025 06:43:51 +0000
Message-ID: <PH3P110MB2246A9D7AFA0A73000781B0390A0A@PH3P110MB2246.NAMP110.PROD.OUTLOOK.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=boeing.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH3P110MB2246:EE_|BN0P110MB1626:EE_
x-ms-office365-filtering-correlation-id: 1d92e320-6474-452a-e707-08dd6dc3e706
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?NWhFvOvpVojD+Oyym9qqxsLl/GPV5by1MiRogx5q+t1sZRe9KSKjeP/gE/kH?=
 =?us-ascii?Q?+FfEUc7e77+zpoA8OUME1pTpjhBgXBEV/ztYZS1kWd7C9qDsZOiHRqy0ykES?=
 =?us-ascii?Q?oiPdFoWH7PzZhG9SbUZ+WR72PZCW4JOmYfsOu488rqc3PnBq/IVa729i+/SG?=
 =?us-ascii?Q?Kt1nf1N0FD7IyLQUurqYc8njBJL2gZKE9pg8JkQ/xTC3Szxno0Z0JEJvpPgI?=
 =?us-ascii?Q?j8Ohwq9iavoUJxpx2/05u7j/NbYzZznGFHwgPs+CacPqmJa6N52JtQXF8ymX?=
 =?us-ascii?Q?dDzLKg0oCpcff4srv3CyFydsL6HT3J5HSuz5BHeTkL0PEg1Drz19WooS+HBR?=
 =?us-ascii?Q?ClWY0TZIxr2h5ydXhkKqdoRFBCOWhpUK+/zJ4e6T4Wcb76KgrAtkNPezmce6?=
 =?us-ascii?Q?HhuWxaOoxwM3S58HkWVDF2dbSQnvnSpoeEl4YnyPyuC/ff0J9/DvhDuz/9LH?=
 =?us-ascii?Q?Irz1omDU3e0MwBQQeu3p/tngXBQtDYntzUSIY0K8S9P3amzH4MjQx73SlwWA?=
 =?us-ascii?Q?aY9KmOcJuRYZE/y+ZDNxQoH7IKofo+BeOdN/JJaGHFRFyg6j0UKyqGfufSY+?=
 =?us-ascii?Q?INsYdHbA8Cfkp2pBqBPgpYgM7woTnxqKLgbZtILSdxoTdJhmLVZhbKsj0iSw?=
 =?us-ascii?Q?HV0Si+H5Cz6JIDGt7bqO2Gl2/HMionVVat+pYUyYDGV5aF2+tkkaPbvcUvfm?=
 =?us-ascii?Q?Rxc7DhXQo4+5lgYm8j9WV0VXBelvB03AuQSfctqU/gPJ3ZhUxhRN5W6QtARD?=
 =?us-ascii?Q?31Bl3A/O2OBi9m+rly3llZdssq3kAXINGUTxpDBDcVWnPVTKwCDVuXVV9L3B?=
 =?us-ascii?Q?2VlP1l8U7ckB8Q4ieyR8SvSMOq9bVMgZgQ3DYqnCPNKfSjqPueEw9lHtdsZ7?=
 =?us-ascii?Q?AamjoK3bgC86JH6+ovJOuYvAg2UF6o/C/ht//fDojM/xEIyrPlI6567/HsZG?=
 =?us-ascii?Q?Y2GUYr8I7nDHjsv4L5ySUUBGb2mRRMWKZL/+coYSdtuaXy20+McZFmmh054r?=
 =?us-ascii?Q?F9X7mbmSm3tkDP4U6iMhU/opnbbigjy463Lra7WeQ59kT/5YY209+B9sD1ut?=
 =?us-ascii?Q?yHHbNBgTAe1qo6Z5kn0bdB3QmE+tnewR8tSbpMjxqbwh0tbse2BMUgB2wG1r?=
 =?us-ascii?Q?eXTxi6NT7dZr1V2FmjTC6HPceipZKTnUe+zErz8inmPfHi+WFyWN8xHzywDz?=
 =?us-ascii?Q?0Bo18pknxxZT8+7/4YlmAUwxSyz5KpiGwJOBUiqufntbgLZa5958mwTC5F18?=
 =?us-ascii?Q?HG1GQzYzHonVzfWO/RuTITJe/zI5T2L8jMfrW9l/djKPUGnqYO8kwXfSpq0j?=
 =?us-ascii?Q?Xq4+oZNjU8NhP1R7Q/wNMYedPebgShmNG6m3RojFgaYKCyZdyhrDP/3TijGD?=
 =?us-ascii?Q?ZIGauWJ2H88h6KFPERQ6VY0vaX+TbQMW2yV/OlBQddiYszrqDUQm024UU9Gv?=
 =?us-ascii?Q?TlpsZhxGxKBq5DEB9xWDg0kyylHjQU6e?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH3P110MB2246.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?qE+dX/ks6IzvzqVrsDUOrh3nXLsYbRXysKTfTaZEZoTdn0BbNtwQXL/h6CbI?=
 =?us-ascii?Q?iseJNnBKn4vzydPH9UWIRsDmFwNBprwTlupWQ1qYdiwwWHqhtdheLjeM6pKm?=
 =?us-ascii?Q?NWuog3iIMIzwdr5nHj3ieHC/G6bqISlkMpCfUQ/7bRUAJcCAv5YAr5FvW7gm?=
 =?us-ascii?Q?5+zFP7icrkAt0/JxAqgZf/EJXSSTczZFfp8MbFKxV6NH9Rz2ECy0n8yvQ7ne?=
 =?us-ascii?Q?kwgcPxQw4Mc2A5SwA6KBqJdg4CZC+JnzK+wIfc+rhEgZ57zJqV1ns+lV/yPF?=
 =?us-ascii?Q?7pEmCNUqVSNBYC54qCwoycJYjB/gI7j6EgGafKhOUK9hEJaP2criyv+AWQAM?=
 =?us-ascii?Q?D99OaScFG1bHX2l21vnAYF+0nODD61YFSUxhsLe2CXFhw0abJ19B0WR0HM+Y?=
 =?us-ascii?Q?LClS4f+X0XD0nGmYcYV4gFS7Qa91jj2/uMassMrbWvv5sqoYPk8N6Q5MShYW?=
 =?us-ascii?Q?qD8GXJmRj3FFvoJifaR0uF86EFBvM8z3fsK0uGL953hu6UdRUd82sQa+9fc8?=
 =?us-ascii?Q?iy1ImftV7wDYGRnWHD1zmDXmU/sR8zeLwO9pVhMKKL3zgmUn82zpuuC6bw8y?=
 =?us-ascii?Q?qTQZ98ZBlwdwHjInzE+ajlL5yhR0H2RfY7vB+RnBJrmI3OFs5vcFiW9vuF9a?=
 =?us-ascii?Q?HBVw5THsZFJd3YpmEU51YPJB9Bfo2ScWb/ZtI2JPewcdboKq7qpN00aAfNBN?=
 =?us-ascii?Q?0xpV7qGPFyEqrZJa5GvWNR25IdmkxVp6b3pLGfiuoeLJ/JCTYkqWGQo4kr7M?=
 =?us-ascii?Q?M5jI5IOW4OaUEm6Gz0s22dIDd9CIjdLRXyDrUubYzkc1rN1dtDtLl9hPcsDD?=
 =?us-ascii?Q?jF81c9Qiy6+9rTQHBZpogdb/y/CnZ3jj9zM046QEZfuLjXvSG8t/p1tYjVgQ?=
 =?us-ascii?Q?t2byHOVfDrCFgp5FlPnPlrs5QZEUsh0ILCD8PbtswINPyjHgxggTwC7qwiH8?=
 =?us-ascii?Q?Bs2J7qRsgyXIv+biIFBzSVv58XH4mXaIzE41Uj1SpIp6lDbhicGsD3xYqex+?=
 =?us-ascii?Q?11vFMErDibNiMwF8Uo7F3IHVE6rjY7ikykQxtfFSNOqRI86RgCAp1cAf44GD?=
 =?us-ascii?Q?+U+A5A3bP7Agjx5CK9z8vZ22hXpWIhG2rztSzNf+qBSnjAaCd833AjZwAhGe?=
 =?us-ascii?Q?pbje3ubmqu828+HXiULvXS9D4EtGOPNao8Gu/9YPjWO5EcHWYvn3rw7mNT24?=
 =?us-ascii?Q?M9kn29Cgh8qJ6dn7lkFo9f7DQIuaqhSMYJt+9k9Iexu4Uq7NXZr/KH4Vk0Be?=
 =?us-ascii?Q?qxwo0ccIK4HKz8tvpeUqHT4MsaKJtvKStytQsBtkSwXeAuUZxodoBm9uSk38?=
 =?us-ascii?Q?Z48tRU48PeXjhkDHIHlmPsCmIxyRYd2kmgfYpIB0HyKdfHqLl8ju+YGtSRTq?=
 =?us-ascii?Q?Qe8oipCKSnYJrcF2p4dugTTh9j5ZRx5Sr4cmsMf1wu4YbzMAQgO82tRzvYk/?=
 =?us-ascii?Q?gvOPoF/zYX1yeW+DrMBfoImDJc3Vn1pVCaDK9fXq4f9cTQOFbxcijMdqBwja?=
 =?us-ascii?Q?j2vGIvGN2G0qNmc=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH3P110MB2246.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d92e320-6474-452a-e707-08dd6dc3e706
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 06:43:51.7994
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bcf48bba-4d6f-4dee-a0d2-7df59cc36629
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1626
X-OriginatorOrg: boeing.com
X-TM-AS-GCONF: 00

Dear Xen Community,

I hope this message finds you well.

I have heard that there exists a minimal Xen configuration optimized for=20
safety-critical products, particularly in automotive applications, with the=
=20
code size reduced to approximately 50k SLOC.

Could anyone provide guidance or point me to relevant resources regarding=20
this minimal Xen configuration? Any insights or references would be greatly
appreciated.

Thank you in advance for your assistance.

Best regards,
Gihwan Kwon



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 06:54:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 06:54:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930180.1332844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty3c5-0003Pq-9I; Fri, 28 Mar 2025 06:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930180.1332844; Fri, 28 Mar 2025 06:54: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 1ty3c5-0003Pj-6l; Fri, 28 Mar 2025 06:54:45 +0000
Received: by outflank-mailman (input) for mailman id 930180;
 Fri, 28 Mar 2025 06:54: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty3c4-0003Pd-H2
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 06:54:44 +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 86c6e859-0ba1-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 07:54:43 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43cfecdd8b2so14079455e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Mar 2025 23: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
 5b1f17b1804b1-43d8ff03715sm17690485e9.31.2025.03.27.23.54.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Mar 2025 23:54: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: 86c6e859-0ba1-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743144882; x=1743749682; 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=qmuJf7BUt6vxWByZFn6O7PwlDnmljDQYZyi2+XHGDcI=;
        b=cRwLPfU2vijDgaftanGZD6RkxtSqjxfiuJ10Xmg/rU9uiiX2S5+6Jsrb3+6mKxcjx3
         PhHyUwR7Kfo38dzxkLC4pB4ki88PYDF/OJXGlL3AmQ/xqu/FGC0n8CdzLUi2yJXVaV9a
         SqYQX3qAz6HwwS6vNtC3Jh9io3K76u1IJgULjDn4eFzhV6d7Uhj/QJA928Q5kSfz29yS
         Z/6Jh5xE9vBR0LExtYLTxLEJ0ckHtXJVAocYNtkwgeaApjMgtsZgWs5bjZJ1CmnXsHfc
         2giWfAL8vm3rzTDXSVWP521405jwvejDCLdQxiP5k6Fc++FCwiPJDrqi3EaaGjmZHfqX
         ZmKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743144882; x=1743749682;
        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=qmuJf7BUt6vxWByZFn6O7PwlDnmljDQYZyi2+XHGDcI=;
        b=gNRRLK1fby8ZymfVmO+fohhw5B/azgeLE7Qk6jER7uvX2qdloRo3i41txJj7pZFhos
         fACKaA5jmYvThyL7AiFH6Yjn2+qsaaiFJxWWiSx/fFV+FS0W+diefnc15oGc37jCabNr
         oLB76BSmEWhnfdLbrFIO7TShzdcIMSIAD6IgeBcO8BM0YX0JTdzZbIueW/fhKv5Lr4UI
         KcZZCm2CPQZjBBxyfI5TSK0F6VHtk4nWMflpDLNM+lt1iPJ8rsqfh0p4lEf54SsMlxWV
         kLQ2Xn39BO1PKmrWpEKb/4+lRYZh0eVslZoH6e43wXfvF0ssoJ6QuuBAx4DhWIzOehI9
         PAPw==
X-Forwarded-Encrypted: i=1; AJvYcCWFsnxk/upwtB6PzK5Tz9U2xMKz+XEHyWuGa/PSVAQO3C8q60DF8ya3uPuWYQfwh030R4Zrw+FzZV0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YztRgyiuqVWT53/wBPOt/Uy3mrMzJcFsLvw6FRa29r2WoLJecYQ
	ijItrwvePuTsFNp4tx+9mZ2nDdcWdMCxcudN4WRH3tlta9xffbiZQ11yDKmAXw==
X-Gm-Gg: ASbGncss4LHLB/gb9edTGRBj4GF6q5uQlLrTWlDGeAveL+2KBi69CX89jEfDcHMFpVP
	VKXR6EhUwqPmD//pc38orQEHvahOL1e05RWoUT0ZBhwJrwhQ4nzog3go7aByy+XICV9FDdxAbxD
	q4oUzDgKQEmm014uB+ZPqlimLN0+gBmyFW3c3HJtW+f1LmabSqMnpCvi1OtklJ1GcbrMiLMYXE4
	sRqHRJQsRy9AB3HLAasJ1TD7w95An0LC7jZBsoRgcmDkYFoKZtgnWiGZ0lSs5XkCI2RnyBAbQ1J
	PwxlBM9CdlCoeAnjPzDfhSujgRVqf9rBlSPfA+pMkWw5+Qv8cV1ufehi9ExlW5ggI+pc8vVClZk
	mCXgNifBFjI866cz6m1MGfEdhCrFlZQ==
X-Google-Smtp-Source: AGHT+IENqdEuED82yCeHDrcST8DNP6+DfkHItIv5BLJ+DnM9zNlaLZnqONwiSn1g6Pq+UeX8upnRpw==
X-Received: by 2002:a05:600c:138e:b0:43c:fb5b:84d8 with SMTP id 5b1f17b1804b1-43d84fb4bf8mr70982305e9.16.1743144882177;
        Thu, 27 Mar 2025 23:54:42 -0700 (PDT)
Message-ID: <1a2cbedf-e4de-4373-9a3b-3ff0c75c4290@suse.com>
Date: Fri, 28 Mar 2025 07:54:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little endian
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, michal.orzel@amd.com, julien@xen.org,
 roger.pau@citrix.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2503182002160.2000798@ubuntu-linux-20-04-desktop>
 <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com>
 <alpine.DEB.2.22.394.2503191754480.2325679@ubuntu-linux-20-04-desktop>
 <8297406e-b281-4783-9238-d6326db3fa15@suse.com>
 <alpine.DEB.2.22.394.2503211607200.2325679@ubuntu-linux-20-04-desktop>
 <59cdc84c-6e5a-4752-b09a-945d05badd91@suse.com>
 <alpine.DEB.2.22.394.2503271628460.563920@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.2503271628460.563920@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 00:33, Stefano Stabellini wrote:
> On Mon, 24 Mar 2025, Jan Beulich wrote:
>> On 22.03.2025 00:09, Stefano Stabellini wrote:
>>> @@ -384,21 +382,40 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
>>>      uint8_t zero = 0;
>>>      int err = 0;
>>>      unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
>>> -    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
>>> -
>>> -    if ( !bytemap )
>>> -        return -ENOMEM;
>>> +    uint8_t last;
>>>  
>>>      guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
>>>      copy_bytes  = min(guest_bytes, xen_bytes);
>>>  
>>> -    bitmap_long_to_byte(bytemap, bitmap, nbits);
>>> +    if ( IS_ENABLED(__BIG_ENDIAN) )
>>> +    {
>>> +        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
>>>  
>>> -    if ( copy_bytes &&
>>> -         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
>>> -        err = -EFAULT;
>>> +        if ( !bytemap )
>>> +            return -ENOMEM;
>>>  
>>> -    xfree(bytemap);
>>> +        bitmap_long_to_byte(bytemap, bitmap, nbits);
>>> +        last = bytemap[nbits/8];
>>
>> Same style nit as before.
>>
>>> +        if ( copy_bytes &&
>>
>> copy_bytes > 1
>>
>>> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
>>> +            err = -EFAULT;
>>> +
>>> +        xfree(bytemap);
>>> +    }
>>> +    else
>>> +    {
>>> +        const uint8_t *bytemap = (const uint8_t *)bitmap;
>>> +        last = bytemap[nbits/8];
>>> +
>>> +        if ( copy_bytes &&
>>> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
>>> +            err = -EFAULT;
>>
>> The two identical instances would imo better stay common, even if this may
>> require another function-scope variable (to invoke xfree() on after the
>> copy-out).
> 
> That's not possible because bytemap is defined differently in the two
> cases so it has to be defined within the if block.

Hence why I said "even if this may require another function-scope variable".

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 07:08:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 07:08:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930190.1332856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty3pa-0006EV-Gw; Fri, 28 Mar 2025 07:08:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930190.1332856; Fri, 28 Mar 2025 07:08: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 1ty3pa-0006EO-C4; Fri, 28 Mar 2025 07:08:42 +0000
Received: by outflank-mailman (input) for mailman id 930190;
 Fri, 28 Mar 2025 07:08: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=kqHR=WP=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1ty3pZ-0006EI-5v
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 07:08:41 +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 79d111a7-0ba3-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 08:08:40 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5e66407963fso3493523a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 00:08:40 -0700 (PDT)
Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc17b2214sm897827a12.54.2025.03.28.00.08.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 00:08: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: 79d111a7-0ba3-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743145719; x=1743750519; 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=mlAnhWMOxFU2qjJ66imKm1iwMnse11AYFRs4Tjl2pTg=;
        b=ZlU+l1pcCJydW9pk5yKH02slIGfWR+4F25G8qp/RAn6PgkZV4wqJPglRLVTO6t/VKW
         t6O5HZl8YSCxtpPxSOKwYuswYWS0laX0PhTLEC97qw6eqWuscKEh4cFHxT7YnWJ+VcWE
         mCidHFMXSq/E2BOtxkzA+SKu9eDh1e9j9gZOk3CzD0GfAe78RUmYV4BhZt+M4hbNXqiy
         ScbPrOBsO273uRee8YcvDiqgWEsj6oYgZ6qVSoAC3rSfai/fXWWl0uwuOZqvK+E8WLpE
         VsJG1eILNi7IaIXJqs5SbQ4HenOmwrs7ghYnxGXuKRDG5B6Th2o5NxFtzCmoFGfJYYz6
         lVxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743145719; x=1743750519;
        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=mlAnhWMOxFU2qjJ66imKm1iwMnse11AYFRs4Tjl2pTg=;
        b=lzzczku1TRii/5D0tcVOjxJWuNqM8EzJp5E0SKM85WvXqyfL1zGxV//al5cYCN3OdE
         qt/BPSXZxKC6EKeMJD7BZZYWgSZEJrQ0jOMBpmLnigYOlLWSYKky/LyINCxHFLS01SJk
         CGAdW7N6vCFElJT2jFwSDYxTQFFVfVJNk1xv3INXkalsgNKLXLbmtZQNke/dB9Say84i
         EKGYAp7NEpCBmwm8BhgoeRDqoWY2z6d+ik8bdUVLzIJbd/piL2EOqCI1ycCeq18FR4Lq
         Yfi+uRbjGQww51uA4D+/uTlfIvecfKZjpbYgCIH6i+0dBYmgRqQ9wgRGiaUThFQsj1Vb
         mlMA==
X-Gm-Message-State: AOJu0YzHG4BPlCXMlATWROoYlUKHEaMNwlJqHeTFLSkJh8U8yvj3M99R
	e5LLzXYCLk/4cmk17hCcnJrB/AtAcMjqQgUlkOeGOpvrbaj7aOE3dTySww==
X-Gm-Gg: ASbGncv71ASm0G0LVStWAH+GJENQNFVjfzDvX07Fz37QESSUYl7bQUEvToxd7tq/TQq
	rTXPmcO2C7s084Z/0hQQ5FcdodXzQfHuNGxzKeg5hnBAYQ7409hZJqGgvLqeLv8TI4x3ZNmpU6h
	yUYxfoJaN/+IaAiT08EccouPwtWkb4JrpvUMH8agAYOq+hvi0iuRr10b0eC1Piq5NwpZG9NVcnl
	NM+dUcECwDao6csK6gx8nb4HZU2XwKvNqjLJJRHDd4eBHipR1ZPGb0nsELERmUhEFyiUYEQCweq
	n0hChT2mQ91kOa5/N1phYD2kih9e9cuZq1aCK5mTpii3vyuqtZRtDMMX+Q8aUVm2KXjlMHvkF3K
	9JelSWRET
X-Google-Smtp-Source: AGHT+IFneya84quYsKrcX9FAUlxti5iEgjppu1P5Sv3AjACuikZpnkitBNi+8oyj2l9pMEHwAapdCw==
X-Received: by 2002:a17:907:94d0:b0:ac4:491:1548 with SMTP id a640c23a62f3a-ac6faea744emr684803066b.11.1743145719027;
        Fri, 28 Mar 2025 00:08:39 -0700 (PDT)
From: Mykola Kvach <xakep.amatop@gmail.com>
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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH] xen/char: implement suspend/resume calls for SCIF driver
Date: Fri, 28 Mar 2025 09:08:22 +0200
Message-ID: <800acb5c8447153e6c451c8df316ff678fbb4087.1743114879.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

The changes have been tested only on the Renesas R-Car H3 Starter Kit board.

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>
---
 xen/drivers/char/scif-uart.c | 34 ++++++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
index 757793ca45..ce0f87c650 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,27 @@ static void scif_uart_stop_tx(struct serial_port *port)
     scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) & ~SCSCR_TIE);
 }
 
+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);
+
+    /* Enable TX/RX and Error Interrupts  */
+    ctrl = scif_readw(uart, SCIF_SCSCR);
+    scif_writew(uart, SCIF_SCSCR, ctrl | params->irq_flags);
+}
+
 static struct uart_driver __read_mostly scif_uart_driver = {
     .init_preirq  = scif_uart_init_preirq,
     .init_postirq = scif_uart_init_postirq,
@@ -281,6 +309,8 @@ static struct uart_driver __read_mostly scif_uart_driver = {
     .start_tx     = scif_uart_start_tx,
     .stop_tx      = scif_uart_stop_tx,
     .vuart_info   = scif_vuart_info,
+    .suspend      = scif_uart_suspend,
+    .resume       = scif_uart_resume,
 };
 
 static const struct dt_device_match scif_uart_dt_match[] __initconst =
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 07:09:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 07:09:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930199.1332864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty3qm-0006l4-O0; Fri, 28 Mar 2025 07:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930199.1332864; Fri, 28 Mar 2025 07: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 1ty3qm-0006kx-Km; Fri, 28 Mar 2025 07:09:56 +0000
Received: by outflank-mailman (input) for mailman id 930199;
 Fri, 28 Mar 2025 07:09: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=kqHR=WP=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1ty3ql-0006kr-AA
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 07:09:55 +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 a61b3b33-0ba3-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 08:09:54 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-ac2a81e41e3so359616666b.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 00:09:54 -0700 (PDT)
Received: from yp-VivoBook-ASUSLaptop-M1503QA-M1503QA.. ([95.67.15.120])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac7192e7d36sm113585466b.77.2025.03.28.00.09.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 00: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: a61b3b33-0ba3-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743145793; x=1743750593; 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=pgnirDI5Z6jVdU8BzlRjfzaNqqaKOUcJC3vL34SH97E=;
        b=JPyfQby3N2J1B8PtnvJq5DjTsW5JeJqdYIATEvx+LKhdmwq8LQ7IQzOCKqIPxLHUfD
         2i+dWwZlJIdFkpK1hXkvPQYMmiGddM3d3rz2w0CgbIHmfbopmaHelXuO1X/hmU1i1P2n
         ywBFtlT+dhIaIrbOxwfzFQACtlJ6Y8ECvkIWKMan7RXUGLl4U0q5OEMcR99PqXuiT/XT
         280pVrXxBLN4c0eHGXZ+SDtogJHwla2gmcQecI4JlAqMB3YaaQ8f+2vX9J7eFQq1wWyV
         itzumEo2oTNdqL8Ey+gDUD0raonwP5i/aGyK3jw8EXFkC59Uw6zuhbeFGFsua5cAgNrq
         1uhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743145793; x=1743750593;
        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=pgnirDI5Z6jVdU8BzlRjfzaNqqaKOUcJC3vL34SH97E=;
        b=atbXPdF239XufpWJtZPFnF1vYvdRHnFyuOeQAw/IPoXq3e2oOWGCEWGLQPoQbklPVw
         dR6cbg3DuM9U4/iBSCxuAwZa6unmoJM6+YvUxdDjjJgs5+JoD1dX4Jyws8QhYyWc+707
         tViO2flKpAbc87EByFHMZAH4UFWpk3b2r/vpAXh+BM4v9pXDIT1aNL+f4BLF6U6PIqDy
         w8SQrLpRLwprghzU36A3AihsUmXoVmeFR8UcfscivmZpMq0f4uRKcoaEtLJKKd6NKwCR
         gdTo3RTjolwHbogOv6xpUIdETqQT3Vg3elKSTU0jl0OZIg+r1ZDIB8AodAIvZC3P9Vnw
         xeJQ==
X-Gm-Message-State: AOJu0YyTvnaJw5EOmMt/gqLx94eZS+H9vqdd013U3env+4v9qppda+a2
	5oGI0zIojrKLG4otSStj9urAXXGESVu04xhxatlHUX3HTCv7wDk8IQxJqg==
X-Gm-Gg: ASbGncvDdbnJv3zpKlvkBRUP1hAc/sS2WwTeTG2EZggjMPfrqBII16BoYc+WQXf9CAx
	XLANiFdsM7n9E++fphSfJknEuZ03YWccoCxeDUGwJl+Q/SLyEnNPI4+pO20tZT9H6mptMMrpd+O
	DTISYVdNdL9OxBdViFV7M2DDTdPPxTbe1tAGT1Ae3WudrTO3AuB9S9V6Ua35+qSBwsf9+S7u1wB
	huCgqkcy4sskIkKQpmVQ36mvwOQ/JQDRUwEXjJ+6F/NuGhtOwS0kKiRWUyjKnoi9V7K6PJy7y6r
	MDyCvMajnbvfFlonmMqjrcpskfuXLmdbW9PFY3CPMRfvWtTut4GtOe+J6kUasZ54ZISYCBfk20D
	j4n87vheY2FlyoUnixo4=
X-Google-Smtp-Source: AGHT+IH8yNxZW7Q/KzLPPZ87s2aTgfSNmKKJ2ScX6hHjamY672pz8vID3rMVyz2XoCz1T7Is3PjRtw==
X-Received: by 2002:a17:907:6d05:b0:ac4:4c5:9f26 with SMTP id a640c23a62f3a-ac6fb0fcadamr624132166b.38.1743145792773;
        Fri, 28 Mar 2025 00:09:52 -0700 (PDT)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH v3] xen/percpu: don't initialize percpu on resume
Date: Fri, 28 Mar 2025 09:09:48 +0200
Message-ID: <c2badfebc1efe612c75884218f57af607df5394c.1743110205.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Mykyta Poturai <mykyta_poturai@epam.com>

Invocation of the CPU_UP_PREPARE notification
on ARM64 during resume causes a crash:

(XEN) [  315.807606] Error bringing CPU1 up: -16
(XEN) [  315.811926] Xen BUG at common/cpu.c:258
[...]
(XEN) [  316.142765] Xen call trace:
(XEN) [  316.146048]    [<00000a0000202264>] enable_nonboot_cpus+0x128/0x1ac (PC)
(XEN) [  316.153219]    [<00000a000020225c>] enable_nonboot_cpus+0x120/0x1ac (LR)
(XEN) [  316.160391]    [<00000a0000278180>] suspend.c#system_suspend+0x4c/0x1a0
(XEN) [  316.167476]    [<00000a0000206b70>] domain.c#continue_hypercall_tasklet_handler+0x54/0xd0
(XEN) [  316.176117]    [<00000a0000226538>] tasklet.c#do_tasklet_work+0xb8/0x100
(XEN) [  316.183288]    [<00000a0000226920>] do_tasklet+0x68/0xb0
(XEN) [  316.189077]    [<00000a000026e120>] domain.c#idle_loop+0x7c/0x194
(XEN) [  316.195644]    [<00000a0000277638>] shutdown.c#halt_this_cpu+0/0x14
(XEN) [  316.202383]    [<0000000000000008>] 0000000000000008

Freeing per-CPU areas and setting __per_cpu_offset to INVALID_PERCPU_AREA
only occur when !park_offline_cpus and system_state is not SYS_STATE_suspend.
On ARM64, park_offline_cpus is always false, so setting __per_cpu_offset to
INVALID_PERCPU_AREA depends solely on the system state.

If the system is suspended, this area is not freed, and during resume, an error
occurs in init_percpu_area, causing a crash because INVALID_PERCPU_AREA is not
set and park_offline_cpus remains 0:

    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
        return park_offline_cpus ? 0 : -EBUSY;

The same crash can occur on x86 if park_offline_cpus is set
to 0 during Xen resume.

Fixes: f75780d26b2f ("xen: move per-cpu area management into common code")
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes introduced in V3:
 - cosmetic fixes
 - change email in the "From:" tag

Changes introduced in V2:
 - minor fixes after review
 - add "Fixes:" tag
---
 xen/common/percpu.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/common/percpu.c b/xen/common/percpu.c
index e4e8b7bcab..c6ecd95a08 100644
--- a/xen/common/percpu.c
+++ b/xen/common/percpu.c
@@ -30,7 +30,9 @@ static int init_percpu_area(unsigned int cpu)
     char *p;
 
     if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return park_offline_cpus ? 0 : -EBUSY;
+        return park_offline_cpus || system_state == SYS_STATE_resume
+               ? 0
+               : -EBUSY;
 
     if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
         return -ENOMEM;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 07:18:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 07:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930210.1332875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty3yv-00016t-H5; Fri, 28 Mar 2025 07:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930210.1332875; Fri, 28 Mar 2025 07: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 1ty3yv-00016m-Dl; Fri, 28 Mar 2025 07:18:21 +0000
Received: by outflank-mailman (input) for mailman id 930210;
 Fri, 28 Mar 2025 07:18: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty3yu-00016g-1u
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 07:18:20 +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 d29b0138-0ba4-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 08:18:18 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-399737f4fa4so745874f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 00:18: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-39c0b6589efsm1805622f8f.16.2025.03.28.00.18.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 00:18: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: d29b0138-0ba4-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743146298; x=1743751098; 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=Ysb/TieFcNNwsrOmHAHkzeIyb9NteHXasdP7r2m2ZDM=;
        b=KYYsAc8CXGioNR5igN1hWAlCNRB6me4OmFRHHNC/luXy0XIz1bbcnKi4vRN3yVpbuV
         5vO/K7zGoOOtRuTawRVZxeacD9TP+LfWPf4+fo9ILXynp/J8wbjtwbu1oPnkWG1R4BlF
         qb35ZAKOm5OJIcD5fxRbQpKCZYBMEQGvbWerJxw7j6AcXGrrz3FEFGBlDCL0Os8hJCs+
         xH8Ws8gDKUFsnDi1oBEFOfuTi9FX8PcEMVcXc68n80nU5pgkAK+6xxCsvsau9ukOemPa
         +fbEomUyXwMdRSeNbBhxwJe/Bc6gHcxhSITKwjwn0Dojo41X9ANBz5UrywzYgqP9u1Fg
         +qEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743146298; x=1743751098;
        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=Ysb/TieFcNNwsrOmHAHkzeIyb9NteHXasdP7r2m2ZDM=;
        b=JqMAtWALsCCOZ6q0e5QknHk/HobQGOgTI2GuD+IWc5UT35G81FIZWBgmfV5jkCY/am
         k8PkXdpovMn04AK+EZ5lN4ZdoiUd7R2Lgg0Cw7PqQycRqjM6W/Ynsnz2Z251d3E2/tJR
         MQFgndUzGYH0sfiR//mwPrmWrP9B1beHIyWNgsGGNTh3kZGuRf+pfipfrevf9Qc3vabU
         ODxyHtOYprepMNAKxmOSsmeLpU5zy4qwaGOK5FwGUSyrzVjuFZut9+iwZ/ybnq4Mn7Qn
         XNz1XygX8sIZ/8Bn9vantG9B+/Xgs80OZvvyquwRQTJdHUjIbBk0BgvRtudhLOXFr/my
         8mxg==
X-Forwarded-Encrypted: i=1; AJvYcCWH7wbJmfChuXTVFLbudMj6MbDaM54ADqmlL9XsyArUTOjzUPGUQlg3Tnl5SKsR6grLrM59er/O4ic=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxyU9tnV/D5xsToYg4QENrtyOCQ0C0Vr6o+kR61IZJUk77Mt8vY
	+M1ZEva2vCroFMsk++r6bu5BYclvui6TlkLkkk/wEa5hkgZzh2CmgTbZnYjYWA==
X-Gm-Gg: ASbGnctbytZIhNNNCI6yeVMvmZDo/737eQhrPtKbTNQtpe2aKBK5rMlT7TIHJmeWS03
	3T9o3L30gMVaUzk8Dzj0QjTj/oaOf4iPRj5RoMb5vlWrINsnR9txIRMjDImMsYwdVBX6VTqKxEZ
	ukFvU8iY3TEwxAPiWQaB8R5vDrUFu5rGdNJ30SO7gPeYBHxUv5ibsEp55qqs/dMV5LYVOvVce3W
	Vkfdq/BNh4kp3KZVpo9mwQHcWNkbdspl7dzdUFwKCbkn2xFgfZHOujo28+eLp9ojKnlG5oOPSyA
	NowQjTESq8a3ootS3MiZGAF/8BR4tV5h6DMBvxuyP0pXd6ggauKV0HlIkxTUWNyIoRMRi6wyuyK
	R5Qz41EAhlj8hPfgr8WDUELtzvrJslQ==
X-Google-Smtp-Source: AGHT+IG6gH0rq092aLuN/lswuBaPb+vQ98vXyyAiRKKKRxjp/TqQjyB/bzdWC3a2txNtIIGLwM2Cng==
X-Received: by 2002:a05:6000:1446:b0:391:13ef:1af5 with SMTP id ffacd0b85a97d-39ad1794fc3mr5338496f8f.48.1743146297912;
        Fri, 28 Mar 2025 00:18:17 -0700 (PDT)
Message-ID: <56243215-797b-4a1d-915e-7fabd6271388@suse.com>
Date: Fri, 28 Mar 2025 08:18:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/15] xen/x86: implement EPP support for the amd-cppc
 driver in active mode
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-13-Penny.Zheng@amd.com>
 <6bcd0903-7406-4105-b471-85b5eb0bccc0@suse.com>
 <DM4PR12MB8451472692B00DAE0A909954E1A02@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: <DM4PR12MB8451472692B00DAE0A909954E1A02@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 05:07, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Tuesday, March 25, 2025 6:49 PM
>>
>> On 06.03.2025 09:39, Penny Zheng wrote:
>>> @@ -261,7 +276,20 @@ static int cf_check amd_cppc_cpufreq_target(struct
>> cpufreq_policy *policy,
>>>          return res;
>>>
>>>      return amd_cppc_write_request(policy->cpu, data-
>>> caps.lowest_nonlinear_perf,
>>> -                                  des_perf, data->caps.highest_perf);
>>> +                                  des_perf, data->caps.highest_perf,
>>> +                                  /* Pre-defined BIOS value for passive mode */
>>> +                                  per_cpu(epp_init, policy->cpu)); }
>>> +
>>> +static int read_epp_init(void)
>>> +{
>>> +    uint64_t val;
>>> +
>>> +    if ( rdmsr_safe(MSR_AMD_CPPC_REQ, val) )
>>> +        return -EINVAL;
>>
>> I'm unconvinced of using rdmsr_safe() everywhere (i.e. this also goes for earlier
>> patches). Unless you can give a halfway reasonable scenario under which by the
>> time we get here there's still a chance that the MSR isn't implemented in the next
>> lower layer (hardware or another hypervisor, just to explain what's meant, without
>> me assuming that the driver should come into play in the first place when we run
>> virtualized ourselves).
>>
> 
> Correct me if I understand wrongly, we are concerning that the driver may not always
> have the privilege to directly access the MSR in all scenarios, so rdmsr_safe with exception
> handling isn't always suitable. Then maybe I shall switch them all into rdmsrl() ?

There's no privilege question here - we're running at the highest possible privilege
level. The only question in MSR access can concern the existence of these MSRs (on
bare hardware) or improper emulation of MSRs by an underlying hypervisor. The latter
case I think we can pretty much exclude for a driver like this one - the driver
simply has no (real) use when running virtualized. Which leaves errata on hardware.
Those would better be dealt with by checking once up front (and then disabling the
driver if need be). IOW except for perhaps a single probing access early in driver
init, I think these better would all be plain accesses. And even such an early
probing access would likely only need switching to when a relevant erratum becomes
known.

>> Furthermore you call this function unconditionally, i.e. if there was a chance for the
>> MSR read to fail, CPU init would needlessly fail when in passive mode.
>>
> 
> The reason why I also run read_epp_init() for passive mode is to avoid setting epp with zero value
> for MSR_AMD_CPPC_REQ in passive mode. I want to give it pre-defined BIOS value in passive mode.
> If we wrap read_epp_init() with active mode check, maybe we shall add extra read before setting request register MSR_AMD_CPPC_REQ,
> introducing MSR_AMD_CPPC_EPP_MASK to reserve original value for epp in passive mode, or any better suggestion?

Well, not using rdmsr_safe() here would make the function impossible to fail, and
hence the question itself would be moot. Otherwise my suggestion would be to ignore
the error (perhaps associated with a warning) in passive mode.

>>> +    {
>>> +        /* Force the epp value to be zero for performance policy */
>>> +        epp = CPPC_ENERGY_PERF_MAX_PERFORMANCE;
>>> +        min_perf = max_perf;
>>> +    }
>>> +    else if ( policy->policy == CPUFREQ_POLICY_POWERSAVE )
>>> +        /* Force the epp value to be 0xff for powersave policy */
>>> +        /*
>>> +         * If set max_perf = min_perf = lowest_perf, we are putting
>>> +         * cpu cores in idle.
>>> +         */
>>
>> Nit: Such two successive comments want combining. (Same near the top of the
>> function, as I notice only now.)
>>
>> Furthermore I'm in trouble with interpreting this comment: To me "lowest"
>> doesn't mean "doing nothing" but "doing things as efficiently in terms of power use
>> as possible". IOW that's not idle. Yet the comment reads as if it was meant to be an
>> explanation of why we can't set max_perf from min_perf here. That is, not matter
>> what's meant to be said, I think this needs re- wording (and possibly using
>> subjunctive mood).
> 
> How about:
> The lowest non-linear perf is equivalent as P2 frequency. Reducing performance below this
> point does not lead to total energy savings for a given computation (although it reduces momentary power).
> So we are not suggesting to set max_perf smaller than lowest non-linear perf, or even the lowest perf.

In an abstract way I think I can follow this. In the context of the code being
commented, however, I'm afraid I still can't make sense of it. Main point being
that the code commented doesn't use any of the *_perf values. It only sets the
"epp" local variable. Maybe the point of the comment is to explain why non of
the *_perf are used here, but I can't read this out of either of the proposed
texts.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 07:44:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 07:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930227.1332884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty4NW-0008Gb-IN; Fri, 28 Mar 2025 07:43:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930227.1332884; Fri, 28 Mar 2025 07: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 1ty4NW-0008GU-Ft; Fri, 28 Mar 2025 07:43:46 +0000
Received: by outflank-mailman (input) for mailman id 930227;
 Fri, 28 Mar 2025 07:43: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty4NV-0008GO-Qi
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 07:43:45 +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 5eacaae7-0ba8-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 08:43:42 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3912fdddf8fso1857800f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 00: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
 ffacd0b85a97d-39c0b66aa32sm1873831f8f.50.2025.03.28.00.43.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 00: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: 5eacaae7-0ba8-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743147821; x=1743752621; 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=uSSzScypUpqzgNFT0UnGi+bq66eeMyU2PF7LqVOEdr8=;
        b=g4NrJxjKln2tyqM6Su1ThGewfA7T3sfzhj73REkWIoFs/8T7SUkf5cXJVlhfB6MTfJ
         1AYatl24MaP3i26CR7fXz2/fUOtEuKBMCQOTivrHiOUCBChN3fX7jmrfr8MqVlG/j0bs
         nG2fqz8zIWJGhzYDtl86zPPaFMh3VsUKZyFfOfph0DWv79WKRTOlCtC33nzNI2p2+/89
         WQHsGIlfcJ6V9+9xFDBWb7V0Y5URFRVtNDWi5Vp5UXODUDhQDbb60Tld5eCdh8QdsBAq
         7xvNDIe0bE8Bvpjzm0kbZJk0RsspPm2cDy5I79/qTp1etB3Wzf2fvWYkwzswDbBFSL8K
         H9ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743147821; x=1743752621;
        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=uSSzScypUpqzgNFT0UnGi+bq66eeMyU2PF7LqVOEdr8=;
        b=SSW/yWGqVeYoKFhFinRp+QiRFbplTHsi7EF4fOvLav2L0nXe9cMbGOeTUiK9H73aBY
         VeJiQ3Pdeim8yGn3sH9E+Df7cfSfUmlR00OTpL2hNF9dLEchZroX+CzwYkOuoxfewS/U
         4OeoSnFwODExiLsGcpPcPBBYcfopQjPghffy6u5HBTSlJM5lC6fwZXAkleBQx0f/DdHb
         WsUWVIJx2O5fgIZ/MWfQZ420Fe4fGki2gVb6n/OStN2a2/IZJSCv64JUNMA9IVDzF106
         5ljqakHtERgdqQrIR6sqpWOMVCVh1F5vmLdto1llP5dvOb5H1zYhWyj/Y4xyONMBwXOL
         N7/w==
X-Forwarded-Encrypted: i=1; AJvYcCXZ6/itgMpQxjOTyNISERLlUPhtBAMl90V2RsYKRirTsSpaOd0WB8j3inivMjokBNMf+P7JvMY9NLw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6ORQzZRF533Q7QhgGmKPqJZAH2qn56txf+wFgbkVylYUzBThw
	SHv0R7U52qX6BoAEdtFdXF4kLfFAQ9ivNQc/6jhro7Z77ogz3tcY9Q3cdJidQg==
X-Gm-Gg: ASbGncu7KnXKDjwMrIqdDa9qM6D256mDmXekkxVCfgt6Ti2rZdk2HH8aYvfoZwaP573
	DeZj3A3rUGgUyDVtudiIUh9ntfiCcPJY6pD3sYaUraSf874NX7w8C9zuMSSrw8qCcc9s2cknw22
	N0wghIUDKaBdoQFxYbzZ9tO/h1dz+QPDpEzj4QJM0ha0Xp93qF9wb3Q/KiNQAvfg1BzvrMmeiW6
	GexhcKGXVotRfRbI7PsH30xJbNF0+fEChrPUNu5tGb3yQp2udXp53AcO1JrhvhFv/LZtidHx5zt
	Z2LCOiD2J1DtIthhjjXiqzbxbQVYCWbaNYZ7ydcDgIVJKzgNcbu2rdA2r4r4LfAdr8Y4vYmH25n
	fkMvRrDXgEEj4eLJB3UUJUTZHv2XHNg==
X-Google-Smtp-Source: AGHT+IFG+SOHm5wmg845z5hkxf75xIN83ECxiE+sBDA/0sKwpXF3zl+afmQR2o+z1QRdcFGwit4QoQ==
X-Received: by 2002:a05:6000:184c:b0:39c:e0e:b7ea with SMTP id ffacd0b85a97d-39c0e0eb8d4mr668964f8f.20.1743147821398;
        Fri, 28 Mar 2025 00:43:41 -0700 (PDT)
Message-ID: <bcf266a6-01c8-4810-94ba-4f47aeb541b0@suse.com>
Date: Fri, 28 Mar 2025 08:43:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] Xen: Update compiler checks
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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250327174302.412821-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: <20250327174302.412821-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 18:43, Andrew Cooper wrote:
> We have checks in both xen/compiler.h, and Config.mk.  Both are incomplete.
> 
> The check in Config.mk sees $(CC) in system and cross-compiler form, so cannot
> express anything more than the global baseline.  Change it to simply 5.1.
> 
> In xen/compiler.h, rewrite the expression for clarity/brevity.
> 
> Include a GCC 12.2 check for RISCV, and include a Clang 11 baseline check.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Mar 28 07:49:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 07:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930238.1332894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty4TO-0000Rt-5a; Fri, 28 Mar 2025 07:49:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930238.1332894; Fri, 28 Mar 2025 07:49: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 1ty4TO-0000Rm-32; Fri, 28 Mar 2025 07:49:50 +0000
Received: by outflank-mailman (input) for mailman id 930238;
 Fri, 28 Mar 2025 07:49: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty4TN-0000Rg-0G
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 07:49:49 +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 381f7c49-0ba9-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 08:49:46 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3912c09be7dso1067812f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 00:49: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
 5b1f17b1804b1-43d9172733csm9176715e9.3.2025.03.28.00.49.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 00:49: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: 381f7c49-0ba9-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743148186; x=1743752986; 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=w43rttHxTt8yAi6uWl0TBMLcdEuCqMNaaQ2SAAZG3X4=;
        b=EBpir0v/VFAwP4RfCboBeiQz1ckkx0aYnw8BFOz7SaY+02SxOe15P7HRFxwqiI5jbc
         A98ju7CGrhO5sjtqz5WD4S39p0YAGUbY9Jmkz1ktm6JkS73722Kl1fVLO+Cwqo27w/Xs
         uTb41zoDASCSpj9NUq9nEnAeEjmY6gBAjaVnCYHZfLbvkKkSo/Ou5iCT45XEU8EaOxdS
         HBSr89UzW4VN3yBJswwbJNz+eFc8GCr5PXfnAjtiQN+oYn43wg+gtISFUaf4OsojnuC3
         E5ScC+YXHqEdFPa0/oeKLiev0J3X5qFJTD2scQSbzo48i/vsInBkpLO4OroTopwNzCGG
         /o6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743148186; x=1743752986;
        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=w43rttHxTt8yAi6uWl0TBMLcdEuCqMNaaQ2SAAZG3X4=;
        b=CfxicDkJiaTG+DSuLCf+liAD83TrCdeQBxje9u1O1iOo/yNSxcQzNHlWaxm78cHhPg
         RiEWgyxHRgmCQTcqZLf4foogx+iFEsUVTILejiooZgHEJJLCMqLFiZEsn1xQ6I0ZgSQs
         K4K9Fh6GsRrKtQSWm/viqP+2vWSXOMUABhXnNeQbiYGRam15ZTlu5FXxInEECBSVQGIa
         rZY0v3yt07TgKUZ1xlt95CMDJZNJopCH/5cZFPKJV4RzuN33MTnallQ+JjJ24yvs7/kt
         eDw60pgBdAZOQZSe89SFLOKcr6B404bHz3rgfxM3ssjdOQ2Ka+I+aAqSbY/4NE2ooWMh
         HK+Q==
X-Forwarded-Encrypted: i=1; AJvYcCXCxXlnVSIzzKjF9hcOC+sj5AGnkKdf8Ly/oS6YlLPRIJOsj6k5ydPnZPHEzcaZ6iG7llstzCU0VE4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUenGUNWjEGL38m8FUCkODmrrmDXtTaC6fbPTwH1i8pNbuTx1E
	dlQgE8CqCCIkwk7Jt9k7vnmlplBauqQ/9524WxU4A5Ci6N34a/VKLo346zyVtw==
X-Gm-Gg: ASbGncuEYxC60mT3aZkLB+Cgkf/MjynbICQJ/6sZdsP6xD7c54i2lSdpJNgGAuACP41
	dC1f3NMh37Xk9OGPwkJYROWFulAYLcsVaN8r2HWEdwR4HvqYfcHriDuoPeMyFSBNhaWAz1uuXjR
	is1qg4ggplXVTEs65ExDRN2b1RL5qdD9Gs5HWL8TzNX0IYL9ty5BTxq1kuWpo2ljYWJpMj7wdcP
	3vgAnIs69S/zgfEpuONrB+AT4dYcwVo4xheDQvPfHX8xcaw0+jhrIhJ1ZEVsN763AO8HgDp/qjT
	7OnOahsaqQ35vhetR3o8pM1RFmgSu/4v384Nn5L9ZiOAffnlCQhq2jK/W0BvgzrYCCqwLlJHjgI
	jzGIo2SFn5deIuYI120Ncb1y11gQoFQ==
X-Google-Smtp-Source: AGHT+IG8+/zf04nRczIFHrEYqpPZbBfZ2U6MNgQDn+Nnt7anEDh9Nn8p2Ki+1UtHYj/r+ZhGNatf8w==
X-Received: by 2002:a05:6000:2913:b0:391:3150:96ff with SMTP id ffacd0b85a97d-39ad17564camr4973268f8f.32.1743148186203;
        Fri, 28 Mar 2025 00:49:46 -0700 (PDT)
Message-ID: <404e86cf-740b-4613-8534-a18b3654f874@suse.com>
Date: Fri, 28 Mar 2025 08:49:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.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>,
 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>, xen-devel@lists.xenproject.org
References: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@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: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2025 18:33, Oleksii Kurochko wrote:
> BITS_PER_* values can be defined in a common way using compiler-provided macros.
> Thus, these definitions are moved to xen/config.h to reduce duplication across
> architectures.
> 
> Additionally, *_BYTEORDER macros are removed, as BITS_PER_* values now come
> directly from the compiler environment.
> 
> The arch_fls() implementation for Arm and PPC is updated to use BITS_PER_INT
> instead of a hardcoded value of 32.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit ...

> --- a/xen/include/xen/config.h
> +++ b/xen/include/xen/config.h
> @@ -98,4 +98,14 @@
>  #define ZERO_BLOCK_PTR ((void *)-1L)
>  #endif
>  
> +#define BYTES_PER_LONG  __SIZEOF_LONG__

... I remain unconvinced that we actually need this (yet then not its sibling
for int). All uses I can spot could be replaced by sizeof(long). This (and its
sibling) would be needed only for #if uses, and there I would then wonder why
we couldn't use __SIZEOF_LONG__ directly, now that we assume its universally
available.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 07:59:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 07:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930255.1332905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty4cn-0003DA-1L; Fri, 28 Mar 2025 07:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930255.1332905; Fri, 28 Mar 2025 07: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 1ty4cm-0003D3-Ua; Fri, 28 Mar 2025 07:59:32 +0000
Received: by outflank-mailman (input) for mailman id 930255;
 Fri, 28 Mar 2025 07: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ty4cl-0003Cx-2a
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 07:59:31 +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 913fd5c7-0baa-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 08:59:25 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so17454975e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 00:59:25 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b66ab86sm1898941f8f.51.2025.03.28.00.59.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 00:59: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: 913fd5c7-0baa-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743148765; x=1743753565; 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=1HWdcbQIfQsIZH9p0OTMRoXaVQYlgR9J2Ux0C/iuIis=;
        b=SnX5Fetiqem4JkqidjJhuVA6r6A00GeiSkAeDLjvkeS4ctBfjs6VknuO2MpOfDEf/C
         v3ULFI9NGZOlYJ1brtJfUMnGOwurgoNaT6m/K5LTHDhJWydcVUtkhFnwIoQ3GaImOBjt
         /AYoNeRgfCYrfZLLkOylaMVeqYFkRGAihHawg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743148765; x=1743753565;
        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=1HWdcbQIfQsIZH9p0OTMRoXaVQYlgR9J2Ux0C/iuIis=;
        b=VfdzRvlIxuqIBS1nTg40O4DOG0LRtmTG/kyuUYnQ7vsKGY3uPrOQQyBTzQRERGg83N
         +NkkPw9ePj1knv7T4wAcDfkEx28SyVo6OKtkZrb/O+ZlkjOi/DQ3FcXuU0CZ7lVpC6Dz
         AKORqgy05QcMghb6GvOxHTEMEaG32VrRyU5aqvcPnOJrKY0HvD1QCSrGuX6HCFUrPYFU
         6FgDV28Q04IgUXbpHg+Nk4r+Z0J+QHUgoemFBfTNqE4zwk8EpXuALs1wYay8L4gClazS
         nQOZNBjRhwwuWBAjmeZx/Uy+YXCwjo8veain8NNNhcTmnZkhI7h6KyvXEcemENWKrNwm
         JP7A==
X-Forwarded-Encrypted: i=1; AJvYcCUXplqsIa+Qa1lQxp408ZsduMbWkLiLJybEXfezvca+WgI70Kdn4z+C/ZKGsw2vdlL65fylKk5bW28=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yza1mPGVKOo1AJtyM/V+s+uiLDt+SSISFdlxyr2GN4QZ++D1bzL
	/yPSSe+tAAOi1VkPDLBaL3JJX23vOF2xHh30VZcFYQKvUwZmieVKOUxQJaMu59k=
X-Gm-Gg: ASbGncuWMB92PMHObpKmkHoWGJs8eEV8wfVZXpVcAZiVKMHdODknwjyn6PelDFsytTz
	fWY8lYZT/Hoq9yTK94jFZyFPCBCtDo0wC8RziGehQ7/zsnwwpnDxnSMge6fbxYxhSk9Qgy4CApl
	kN/26Y6VqBzHVcgOo5aYdxo4XzkcPJYLBrteauubqFjmOGdGyhHKQchR7KBwatu/djY5RuKbRyr
	DBUxB+2r6CSWjk0G0T8SUVVgdu607ACfosr6qyZIyZhBN5CMyTgYAC3Zv4hunzlFYQ0OWv2pL7E
	5Z+EekNYsTHcTVanV0+iKUDj4CRDKbOAT92kfd7uJi2usQNXdTHaV6RIdqN+iwUF4TjdGrzN0PB
	BzeZf/v+6hA==
X-Google-Smtp-Source: AGHT+IEaEXp2iM++Bx7LTK0sKmKpPI+RCeTXJqETUBSn1akd98XdsI3S7pA9zskAc+uRIP0n96DPyw==
X-Received: by 2002:a05:600c:228f:b0:43c:f8fe:dd82 with SMTP id 5b1f17b1804b1-43d853fd624mr55361925e9.18.1743148765305;
        Fri, 28 Mar 2025 00:59:25 -0700 (PDT)
Message-ID: <0db68d90-fa7e-46d1-98dc-8b4692918285@citrix.com>
Date: Fri, 28 Mar 2025 07:59:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] CHANGELOG: Minimum toolchain requirements for x86 and
 ARM
To: Oleksii Kurochko <oleksii.kurochko@gmail.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: <20250327153725.401451-1-andrew.cooper3@citrix.com>
 <5d34510a-2f31-4295-b42d-a4e035dd4559@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: <5d34510a-2f31-4295-b42d-a4e035dd4559@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/03/2025 4:05 pm, Oleksii Kurochko wrote:
>
>
> On 3/27/25 4:37 PM, Andrew Cooper wrote:
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>
>> v2:
>>  * State x86 and ARM, rather than implying all architectures.
>> ---
>>  CHANGELOG.md | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>> index 35ab6749241c..8f6afa5c858a 100644
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>  ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>>  
>>  ### Changed
>> + - The minimum toolchain requirements have increased for some architectures:
>> +   - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
>> +   - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
>>  
>>  ### Added
>>   - On x86:
> LKGTM: Oleksii Kurochko <oleksii.kurochko@gmail.com>

May I interpret this as Acked-by: ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:27:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930268.1332914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty53e-0002Yq-3n; Fri, 28 Mar 2025 08:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930268.1332914; Fri, 28 Mar 2025 08: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 1ty53e-0002Yj-10; Fri, 28 Mar 2025 08:27:18 +0000
Received: by outflank-mailman (input) for mailman id 930268;
 Fri, 28 Mar 2025 08:27: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=Jzi5=WP=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1ty53b-0002Yd-U7
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:27:16 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2406::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7315d68f-0bae-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 09:27:14 +0100 (CET)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 PH7PR12MB9128.namprd12.prod.outlook.com (2603:10b6:510:2f7::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.44; Fri, 28 Mar 2025 08:27:10 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::b04e:2da5:7189:4c4d%6]) with mapi id 15.20.8534.045; Fri, 28 Mar 2025
 08:27: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: 7315d68f-0bae-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oeKgqRDa7qTdZTB2e3C8eeeb0YVlE3Vilv+KOOSJga+nbKXgmCdpL9Iy241B2LCEcj5L5qd92R1rVlEIkg6PjQKYgPiZH9YquFu97UfM1441dmOVOJf1qkYctIEckvRsP1o67fiNJxOhuNGYUl/Swjz3XiDj/Wtn5WwLp8r4hhIc1VO5SYGAL21CBmwxRyIm/i61yIRW4JpOy/SNZEW45+gbt0UBIyJOL2axUtMfMd0D0ta4JiFNmkWhBWUQa/YrYbGCK1s7Ox/zjwsV4kd2bHlnMQ5VM2GkAFM4FvpzUblmZ9RSmAbmEVQBpoFgtc9CxCh8BQKD5kIY6Gd07QIvLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d+sxh/AR3JEoN3w6JEfcd1rT012gUAT3IpQlzHXDyo0=;
 b=oCBI7yMFbFsd23nOfLoAwz1jHsmHVmQ2F5a5SWPlDlCjfPaRDsDAbDPEpE8rHm5hLjzI9ft47I5yugLcoI76vnkmzGMIDlZbrvkZjB1z2LS331IYTdGUTywaarRLW+X2/YfzJUZ/IPSI3wLgF6i865TWfMPVysvh+Hg2JWPwHIfGsAFLGJp7pIOz1dPzxodT0vOy5+63Q/YgP3BiAvS1ZO/Ituhy8oiCkFZqM/XMG6DWhbRrtuEnFq9MG/70GjwmQaYa9irPDp2+DO5BCV9flGJYTExuf3A6IZCnsRp6E0sLDM3pG34hNxWGPzE5Ir3rXel+6vPDRx+btAZy86Auxw==
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=d+sxh/AR3JEoN3w6JEfcd1rT012gUAT3IpQlzHXDyo0=;
 b=UeSrJXXWU5tdcnbCUjrpRf7wICmxLTVdrNFfUSWxDNUo9bdYo/LiUaxpZHajMw/mJQlqSXqejTQyOUY1CUWAZ9jz/+nv4g+8doszLoWb4GNQY21RZWxChiYHK50GxCsQ50cZ1Tuw1Jrn7LtRZsQXWnxCh+hZ4mRJY2juq2eaatk=
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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Orzel,
 Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to
 propagate CPPC data
Thread-Topic: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to
 propagate CPPC data
Thread-Index: AQHbjnNoHifd0xPBh0uO6pYxtSnz1bOCdRiAgADdX2CAAEa1gIAEuShQ
Date: Fri, 28 Mar 2025 08:27:10 +0000
Message-ID:
 <DM4PR12MB845155F64B8B08408D68CE14E1A02@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-3-Penny.Zheng@amd.com>
 <19cab53d-3edc-4900-95f1-6d5d81e0ecac@suse.com>
 <DM4PR12MB845156C8C25495D7DB396ED9E1A72@DM4PR12MB8451.namprd12.prod.outlook.com>
 <c46e1b7a-d765-421f-a7a8-9187bfb5b732@suse.com>
In-Reply-To: <c46e1b7a-d765-421f-a7a8-9187bfb5b732@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_ActionId=e04d8d73-49f7-47a4-89e8-57f62d882f9f;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-03-28T08:26:37Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Tag=10,
 0, 1, 1;
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_|PH7PR12MB9128:EE_
x-ms-office365-filtering-correlation-id: bec68a32-5671-4e46-adba-08dd6dd25597
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?T01NSGYyanhJWEdtSU9jL0hGMlJoandWMStjUXFWdXhWODd6K0RXZWRDQ0Zj?=
 =?utf-8?B?ZFBSVVI0c0Z3NDErOU1qMHJvY3E3bFhvLzZ6VHVPbFVIVnpNT0UzWVJ6UHpY?=
 =?utf-8?B?TDRsRWx3L0JOc1ZMa2FEVGpIVldORDBTV25kZTMyRkdIbnRJNTVnNGVoUEJq?=
 =?utf-8?B?aEZiNDQ3VHAySVhuS28vV3FZTzVzZXdBdUxwbFZWT2lqeFJXa3FmSUE0M1NV?=
 =?utf-8?B?dkJ3UUVYbXI5Q3NiZG9jMGRhS3h0NEhUby95clJabkZVUlEwRjhUQXlBQmRN?=
 =?utf-8?B?YUh3c1FvR0EySjN5VnJBVVlaS0FaeDNxWkw4azVRRXR1SG9YVDl1ZE9MZS9V?=
 =?utf-8?B?eENNOEdTaitKMVRtVHV2MndpL1B5K25mdEdQVk5KK0NNNjBKaTdsM3hHODBT?=
 =?utf-8?B?MWJhUHM0MDZiRFRwNTZ2Z0pJcDlDN0VBYktGVEhvNlBScHdmOHdCNnNyZDhI?=
 =?utf-8?B?bERFMkJLMzl4bzhxdGxuK0J6eHlHMG1ZQ1BhL3FKLzZGMUZ4bmJqdTNmcnJk?=
 =?utf-8?B?UkdBU3ovTjByOW9SbE0yc2pTaEtrME5EQlFkb0pQZ09CV09qOUxldHp6MzMx?=
 =?utf-8?B?bXA4cGFIam9NcHNNTGNWcDNmUjVTVk1aWkZybjIzSDdnV1JLcFNJWW8zNkVE?=
 =?utf-8?B?TThjc2JMWlBzL2ozYXF0SnhEb3BweE9TSndyb2pLWVNIWE40WTZlelE0SGg5?=
 =?utf-8?B?OG4xU2UwVjUvald0eWVVbVBhR0J5S3M4MFhBU0lacEl1UFAzRTBRcmNwbWtJ?=
 =?utf-8?B?eUhMVTRmL3AzSkI3VU1tQkZLS0pweSt4K2UyY2JiNk5jZENKcjlJU1JhQU93?=
 =?utf-8?B?N3hhUlFIWC90ZHpDVFRGdWdhek9SQm5sL0VVdmtJY0xIWDRISWx5NE0raW1S?=
 =?utf-8?B?OTdNSTdsWGZYWFV1ejhmSEZrMzR2YXIwZWt6UTBYY0RmdDFTK09oMUt6Sjh4?=
 =?utf-8?B?R0JTM3lYcDVpYXVSRklYQlFiSnk2WHlxMnEwdm54ZjhIZUxMenZTVHF3WDJT?=
 =?utf-8?B?MUJISXRxK2VlZ3Q0ZFoxNG52THJlTlMyMklrbGVEZE93dTZYSkRVRitNNWhm?=
 =?utf-8?B?cTN1bVpNbzllSkpJNVpObklsM0xYVEFWczBaYU51WHlVT2hRZWlDZUxmR1p2?=
 =?utf-8?B?dE5qVkFyYUJyajg5U2N2c2grTE5pdjZMQmg0QmhraElvYlVtQ1pXcWFMRlRW?=
 =?utf-8?B?YlRMSU5PRW1QR2lzVktCaEovTXRVNnV1TEY2RllZcE1INWd1enhRTGRJQVZZ?=
 =?utf-8?B?K2pYQk93MFh1eGY4clRubS9xYmpTZVRjcWhvM3lqSDBacUJyYXBoMVlnZ0o0?=
 =?utf-8?B?WHJVZ0NMSjhjVU1xSVFaQWMweVRTaXZGN1hVOGJsOVNsQUQ0NGlGYks0dkFT?=
 =?utf-8?B?V1pLdzB4MHM1emJtNVJFd3MybHI2UWUwT2pCaElXZ1JLTlRlelM1OVQ3SDMr?=
 =?utf-8?B?eU9wN1NYM3d2SG0wZjFwaDkvMUdCRTR6NnR6bFptaER3c3dwMVE0bHQvSmhm?=
 =?utf-8?B?dVVZajEvbnFKaWlsK3FuNmc3U0IxT2ZTbGJGbmxQRjBPRE1mWkNIQW9hZ0FM?=
 =?utf-8?B?bEJtOXcyRVNmaTRXY01zdDNHQ3h4WStyMktNdVFOTWZMWGJ3K0dYUGRLK2Zt?=
 =?utf-8?B?dVlvV0lKVDR6NFRNWTBlMFZLU3FLQ0Y4WmtCMmRHTlJTZXJ2cXExRU9sNUs1?=
 =?utf-8?B?V0JnUGN6aUkraCtSNTRpNklOYkI0bTFUU3VWS2oxbUo1Ti9kdjlBek9LQjlY?=
 =?utf-8?B?YmhTaHh5Z1lQNXVNemZUMnY3NkNzMmVCdWtzMi9FbTBXdzVJZmVmc1hvY1F1?=
 =?utf-8?B?Zm9SSm5rS2c5NUZGaDBQMnpNb2lNa3pJT1RvVEEzUlQ3Tk8rWUtWYWszWC9F?=
 =?utf-8?B?OFRBMFBSQjBmSzUrdlU1UXRUSkViSlRRbzdPWDk2R3Fma2hISmZNTFlkcGhU?=
 =?utf-8?Q?VRggfcWcAgDuorVyBvEZYfNg2HYqTkOm?=
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)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Nkp4RllXRXJUV1JhU3FnOG5mK2QxazVJSTZjQkVmbUJ4ay80YnkvcHFCSXl0?=
 =?utf-8?B?VlZMc3NNbVE1cDAwdjZPUVd3Z1hDT0xxc203N2ZrUDN6M2tDcEkxZ3B6RmVi?=
 =?utf-8?B?akNoUTVMT2IrQlhTdExFeGdJVVV6SzQvOGtQS2grZGZHR1hwSE56a2lWRVor?=
 =?utf-8?B?c3dtV3pjMU9VTk1qMFhOZzNZMVZtUnRxL25NSDJHTGZwa0MxeDNFS09MLzVG?=
 =?utf-8?B?ZUtIKzJ5ZWk2dU1qRW5HNnoyTi9zeW1VaWhpN2JGeGUwbjAwNDdYdkRoWE52?=
 =?utf-8?B?T05HKzBma2ZncGkwOStsd2lnMEd3ZGNDaWxlSHEvZlUxdVlMeTNaQWZMb3Zo?=
 =?utf-8?B?RnNpQW1GZVZDc0xDM2d0T3JXNzhsMm9oZWVRSlZuL1ZTNU9pWk01Z1hleE9a?=
 =?utf-8?B?Si8yb1NLeUNyR3RZUUJYbjR4UDdkVnpqMnE0bU80U1VsNGQvMmIwbjRVWU9E?=
 =?utf-8?B?anZ2MmtDT3BXM0xqMlFyTlBlQXJkdHRuMERhMVR1SWxwUVlYMVlBYjNlMzRW?=
 =?utf-8?B?MDgxSkprZmcwc0c2ajB4NFRKYVpOWjErNmVCbXVrVkpsODJhZnVCMXhIUkNl?=
 =?utf-8?B?NjFxeXpRMVNRUjBmMDhQMjZSREFnTWlRU2ZEdGhwZXVMTDErdHptMGR6ODh1?=
 =?utf-8?B?SFJkUVRTQS8vWXhWYUxCV004dEt4VWhVR1NPK1Q5dEZSZEhFZ1Y5VVhDU0cx?=
 =?utf-8?B?YkQ2Qy83d2tRN3hjYzlSck5MK1k1aVpwcnVvOCtJSmMyYUdSKzhGckk3Y21E?=
 =?utf-8?B?dFRmMzBxZWxHZHVPdUprUE5TQTJkMmc1ZUp5TXpKeEFOdHRpZlNlWlhxMmcr?=
 =?utf-8?B?dDZDREo1NjNxYUttMkRKaWpaWmVuQVpwY2JtNStFMXg1K3RCUXM1bE41ZDJY?=
 =?utf-8?B?YVNXR3VvdlpXemIxU3dpWXJZM2N4M2k4RURXYWYyVXRqRVFTbDc4Z1ZiK0xt?=
 =?utf-8?B?WEpWSlRBVzloOXAzQjVpMUw1bUtpL1VhQ2E5ZVdVdEZna2RudmJZN3dRSXlp?=
 =?utf-8?B?NkVGYzR2RGVicUlKb0hEdHE1T2ZLdXJ6TnNNMndUZXFnRHYxVXFsYmtKNEw4?=
 =?utf-8?B?WTF1OWpSK1BCR1VuNkxyc0Q5Y1JJZ1lPNEpyMi9VTjBBdzVqb0NvNzY3THA3?=
 =?utf-8?B?OHlreFVxRkxYNGRRVVdkUUlGS0taVmZPNElZcWF1a0prQ1RYdHhibUNzb3d1?=
 =?utf-8?B?aWVCWWQ2M2RUMjkzcGdGbVZZcE04bWh6bmxmaS8zUHc3S0U4TERzcDR5S2R2?=
 =?utf-8?B?Q3B3ckZJMjQyNnN5d2FEQ2hadForQ1daRVYzRDQrRFJSRWtMRW13S1pIN1I0?=
 =?utf-8?B?OS9PWlV1Rzd4dDIzVHVUemxUVWhjNTYyUllLT1VHWUpWemV4eG51WGVZbkRW?=
 =?utf-8?B?WmxUMmJBWjRXVThYc0VvcE1UMTJhY2xldEhvSnZjc0cvNXdmRzlNVVNKaUNG?=
 =?utf-8?B?RjFINGVqdnN0czBPTzNNcmlMbmwvZXZVRFFodXY4dVhGWDZsQXlHOHIzREhu?=
 =?utf-8?B?YWliTkU4K0NzOGo2TmRNZ2svak9NS1JuRzRVZmUwZ0FYZFZLL0N0cjhzQnZD?=
 =?utf-8?B?bUdqb3cvMGkxVkt4Y0JFand3ZXJxU2F5YmlDeXBwSU5Xd1FkT3RvZXdScnVw?=
 =?utf-8?B?T3lYbmV4MHpwa3dOQk9VRWFuVllpVERHaHhhYkpGZU1CY21mNnpnQVBld0NO?=
 =?utf-8?B?alBFNityRjNtWnN0WFZHMG5oVTdPK01vMW5WWk1BcFZ4SWRLbStVZXRVN2xv?=
 =?utf-8?B?bTMrWGlPRjR3TnpQdUhWai9xRE8zRnhBUHQyT0cyaHptUEwwYUhDQ0hKNGcx?=
 =?utf-8?B?YTViWGdJNW1zeVNLSWltcXFYQzNrTC9hbUY3d0FOU1JaYjkwVDVBUGN3V28r?=
 =?utf-8?B?czBVNVFPN1c0SXl4UnlqeWczeit0VHFRNXo1Y0hYRDd0YnlFcGd2RklkQ09K?=
 =?utf-8?B?NS9ZaEM5TnVQTDVvcS9CaFQvbXZBSmpmZzQwS0lpMmlYTy8wK0pkL2toVGQ3?=
 =?utf-8?B?T2FoQnZ1S2xzUExYQzIycWdYVm9oNncrbXZxK09oSFVYZ0xmdFdHc2hPcEhk?=
 =?utf-8?B?dW1BaTE1YWF3Ly9oOWRBTElvR2FxTkJPN1hhaHo5amF2K29tR3FaOXdpQVlZ?=
 =?utf-8?Q?a2ZI=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: bec68a32-5671-4e46-adba-08dd6dd25597
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 08:27:10.2945
 (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: zQ0fDVzfcCZLSU9JiGX/lWAwwM3Owb4rHhUJVE7giTv6fu0PeITi76onC35WE6S4ac2vBBtOdUG3GdEGXiHvfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9128

W1B1YmxpY10NCg0KSGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCAy
NSwgMjAyNSAzOjU0IFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+
DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4g
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA
Y2l0cml4LmNvbT47DQo+IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEB2YXRlcy50ZWNo
PjsgT3J6ZWwsIE1pY2hhbA0KPiA8TWljaGFsLk9yemVsQGFtZC5jb20+OyBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+IDxzc3RhYmVsbGluaUBrZXJu
ZWwub3JnPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBb
UEFUQ0ggdjMgMDIvMTVdIHhlbi94ODY6IGludHJvZHVjZSBuZXcgc3ViLWh5cGVyY2FsbCB0byBw
cm9wYWdhdGUNCj4gQ1BQQyBkYXRhDQo+DQo+IE9uIDI1LjAzLjIwMjUgMDU6MTIsIFBlbm55LCBa
aGVuZyB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiA+PiBTZW50OiBNb25kYXksIE1hcmNo
IDI0LCAyMDI1IDEwOjI4IFBNDQo+ID4+DQo+ID4+IE9uIDA2LjAzLjIwMjUgMDk6MzksIFBlbm55
IFpoZW5nIHdyb3RlOg0KPiA+Pj4gKyAgICBwbV9pbmZvID0gcHJvY2Vzc29yX3BtaW5mb1tjcHVp
ZF07DQo+ID4+PiArICAgIC8qIE11c3QgYWxyZWFkeSBhbGxvY2F0ZWQgaW4gc2V0X3BzZF9wbWlu
Zm8gKi8NCj4gPj4+ICsgICAgaWYgKCAhcG1faW5mbyApDQo+ID4+PiArICAgIHsNCj4gPj4+ICsg
ICAgICAgIHJldCA9IC1FSU5WQUw7DQo+ID4+PiArICAgICAgICBnb3RvIG91dDsNCj4gPj4+ICsg
ICAgfQ0KPiA+Pj4gKyAgICBwbV9pbmZvLT5jcHBjX2RhdGEgPSAqY3BwY19kYXRhOw0KPiA+Pj4g
Kw0KPiA+Pj4gKyAgICBpZiAoIGNwdWZyZXFfdmVyYm9zZSApDQo+ID4+PiArICAgICAgICBwcmlu
dF9DUFBDKCZwbV9pbmZvLT5jcHBjX2RhdGEpOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBwbV9pbmZv
LT5pbml0ID0gWEVOX0NQUENfSU5JVDsNCj4gPj4NCj4gPj4gVGhhdCBpcyAtIHdoaWNoZXZlciBE
b20wIGludm9rZWQgbGFzdCB3aWxsIGhhdmUgZGF0YSByZWNvcmRlZCwgYW5kDQo+ID4+IHRoZSBv
dGhlciBlZmZlY3RpdmVseSBpcyBkaXNjYXJkZWQ/IEkgdGhpbmsgYSB3YXJuaW5nIChwZXJoYXBz
IGENCj4gPj4gb25lLXRpbWUgb25lKSBpcyBtaW5pbWFsbHkgbmVlZGVkIHRvIGRpYWdub3NlIHRo
ZSBjYXNlIHdoZXJlIG9uZSB0eXBlIG9mDQo+IGRhdGEgcmVwbGFjZXMgdGhlIG90aGVyLg0KPiA+
Pg0KPiA+DQo+ID4gSW4gbGFzdCB2MiBkaXNjdXNzaW9uLCB3ZSBhcmUgZGlzY3Vzc2luZyB0aGF0
IGVpdGhlciBzZXRfcHhfcG1pbmZvIG9yDQo+ID4gc2V0X2NwcGNfcG1pbmZvIHNoYWxsIGJlIGlu
dm9rZWQsIHdoaWNoIG1lYW5zIGVpdGhlciBQWCBkYXRhIGlzIHJlY29yZGVkLCBvcg0KPiBDUFBD
IGRhdGEgaXMgcmVjb3JkZWQuDQo+ID4gQ3VycmVudCBsb2dpYyBpcyB0aGF0LCBjcHVmcmVxIGNt
ZGxpbmUgbG9naWMgd2lsbCBzZXQgdGhlDQo+ID4gWEVOX1BST0NFU1NPUl9QTV9QWC9DUFBDIGZs
YWcgdG8gcmVmbGVjdCB1c2VyIHByZWZlcmVuY2UsIGlmIHVzZXINCj4gPiBkZWZpbmVzIHRoZSBm
YWxsYmFjayBvcHRpb24sIGxpa2UgImNwdWZyZXE9YW1kLWNwcGMseGVuIiwgd2Ugd2lsbCBoYXZl
IGJvdGgNCj4gWEVOX1BST0NFU1NPUl9QTV9QWCB8IFhFTl9QUk9DRVNTT1JfUE1fQ1BQQyBzZXQg
aW4gdGhlDQo+IGJlZ2lubmluZy4NCj4gPiBMYXRlciBpbiBjcHVmcmVxIGRyaXZlciByZWdpc3Rl
ciBsb2dpYywgYXMgb25seSBvbmUgcmVnaXN0ZXIgY291bGQgYmUNCj4gPiByZWdpc3RlcmVkICwg
aWYgYW1kLWNwcGMgYmVpbmcgcmVnaXN0ZXJlZCBzdWNjZXNzZnVsbHksIGl0IHdpbGwgY2xlYXIg
dGhlDQo+IFhFTl9QUk9DRVNTT1JfUE1fUFggZmxhZyBiaXQuDQo+ID4gQnV0IGlmIGl0IGZhaWxz
IHRvIHJlZ2lzdGVyLCBmYWxsYmFjayBzY2hlbWUga2lja3Mgb2ZmLCB3ZSB3aWxsIHRyeQ0KPiA+
IHRoZSBsZWdhY3kgUC1zdGF0ZXMsIGluIHRoZSBtZWFuIHRpbWUsIGNsZWFyaW5nIHRoZQ0KPiBY
RU5fUFJPQ0VTU09SX1BNX0NQUEMuDQo+ID4gV2UgYXJlIHRyeWluZyB0byBtYWtlIFhFTl9QUk9D
RVNTT1JfUE1fUFggYW5kDQo+IFhFTl9QUk9DRVNTT1JfUE1fQ1BQQw0KPiA+IGV4Y2x1c2l2ZSB2
YWx1ZXMgYWZ0ZXIgZHJpdmVyIHJlZ2lzdHJhdGlvbiwgd2hpY2ggd2lsbCBlbnN1cmUgdXMgdGhh
dA0KPiA+IGVpdGhlciBzZXRfcHhfcG1pbmZvIG9yIHNldF9jcHBjX3BtaW5mbyBpcyB0YWtlbiBp
biB0aGUgcnVudGltZS4NCj4NCj4gWWV0IHlvdSByZWFsaXplIHRoYXQgdGhpcyBpbXBsaWVzIERv
bTAgdG8ga25vdyB3aGF0IGNvbmZpZ3VyYXRpb24gWGVuIHVzZXMsIGluDQo+IG9yZGVyIHRvIGtu
b3cgd2hpY2ggZGF0YSB0byB1cGxvYWQuIFRoZSBiZXN0IGFwcHJvYWNoIG1pZ2h0IGJlIHRvIGhh
dmUNCj4gRG9tMCB1cGxvYWQgYWxsIGRhdGEgaXQgaGFzLCB3aXRoIHVzIG1lcmVseSBpZ25vcmlu
ZyB3aGF0IHdlIGNhbid0IG1ha2UgdXNlIG9mLg0KDQpQTFogY29ycmVjdCBtZSBpZiBJIHVuZGVy
c3RhbmQgeW91IHdyb25nbHk6DQpSaWdodCBub3csIEkgd2FzIGxldHRpbmcgRE9NMCB1cGxvYWQg
YWxsIGRhdGEgaXQgaGFzLCBhbmQgaW4gdGhlIFhlbjoNCmBgYA0KICAgIGNhc2UgWEVOX1BNX0NQ
UEM6DQogICAgICAgIGlmICggISh4ZW5fcHJvY2Vzc29yX3BtYml0cyAmIFhFTl9QUk9DRVNTT1Jf
UE1fQ1BQQykgKQ0KICAgICAgICB7DQogICAgICAgICAgICByZXQgPSAtRU9QTk9UU1VQUEVEOw0K
ICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgICAgcmV0ID0gc2V0X2NwcGNfcG1p
bmZvKG9wLT51LnNldF9wbWluZm8uaWQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
b3AtPnUuc2V0X3BtaW5mby51LmNwcGNfZGF0YSk7DQogICAgICAgIGJyZWFrOw0KDQogICAgY2Fz
ZSBYRU5fUE1fUFg6DQogICAgICAgIGlmICggISh4ZW5fcHJvY2Vzc29yX3BtYml0cyAmIFhFTl9Q
Uk9DRVNTT1JfUE1fUFgpICkNCiAgICAgICAgew0KICAgICAgICAgICAgcmV0ID0gLUVPUE5PVFNV
UFBFRDsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldCA9IHNldF9w
eF9wbWluZm8ob3AtPnUuc2V0X3BtaW5mby5pZCwgJm9wLT51LnNldF9wbWluZm8udS5wZXJmKTsN
CiAgICAgICAgYnJlYWs7DQpgYGANCkkgcmVsaWVkIG9uIGZsYWcgWEVOX1BST0NFU1NPUl9QTV9D
UFBDIGFuZCBYRU5fUFJPQ0VTU09SX1BNX1BYIHRvIGNob29zZSB3aGljaA0KaW5mbyB3ZSBzaGFs
bCByZWNvcmQuDQpGaXJzdGx5LCB3ZSBzaGFsbCBub3QgcmV0dXJuIC1FT1BOT1RTVVBQRUQgZXJy
b3IgYWJvdmUgdGhlcmUuDQoNCj4gVGhlIG9yZGVyIG9mIHVwbG9hZGluZyAoQ1BQQyBmaXJzdCBv
ciBDUFBDIGxhc3QpIHNob3VsZG4ndCBtYXR0ZXIuIFRoZW4gKGFuZCBvbmx5DQo+IHRoZW4sIGFu
ZCAtIGZ0YW9kIC0gb25seSB3aGVuIHVwbG9hZGluZyBvZiB0aGUgIndyb25nIiBraW5kIG9mIGRh
dGEgZG9lc24ndCByZXN1bHQgaW4NCj4gYW4gZXJyb3IpIHRoaW5ncyBjYW4gZ28gd2l0aG91dCB3
YXJuaW5nLg0KDQpUaGVuIGluDQpgYGANCiAgICBwbV9pbmZvLT5pbml0ID0gWEVOX0NQUENfSU5J
VDsNCiAgICByZXQgPSBjcHVmcmVxX2NwdV9pbml0KGNwdWlkKTsNCmBgYA0KV2Ugc2hhbGwgYWRk
IHdhcm5pbmcgaGVyZSB0byBjbGFyaWZ5IG5vIGZhbGxiYWNrIHNjaGVtZSB0byByZXBsYWNlIG5v
dywgd2hlbiByZXQgaXMgbm90IHplcm8uDQoNCj4NCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:37:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:37:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930281.1332924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5D5-0005Mj-1D; Fri, 28 Mar 2025 08:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930281.1332924; Fri, 28 Mar 2025 08:37: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 1ty5D4-0005Mc-Uv; Fri, 28 Mar 2025 08:37:02 +0000
Received: by outflank-mailman (input) for mailman id 930281;
 Fri, 28 Mar 2025 08:37: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty5D4-0005MW-32
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:37:02 +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 cef89ded-0baf-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 09:36:57 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3914a5def6bso962560f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 01:36: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-39c0b7a420bsm1875222f8f.82.2025.03.28.01.36.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 01:36: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: cef89ded-0baf-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743151016; x=1743755816; 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=68h2Vs4l6qq4jV/p2K0hkPSQagT8dZgWP4gbpbuWzPE=;
        b=IrmxWdekCfcfWcHZUgYIS20TzL6fXh+MOs0RIRETyBqXQimLHTKM2YzI2GyJIZx6Kp
         UKusRxE1qq5yO4G1oRho0A3x7ZvTIvwos+spOKtAxsebjCgK4t9AwFUwj1qJuE24prRH
         PFpTIkwtSfeEI3LNSsSMeyhLaUPw0Zo8tYpZtUVTEyJKhqJ64Lk2Rl8iqqvizt5XDHcn
         Gb2+C7bOo8LPdAwwbEyKcczHjwc/5bxCOqYmiUpjUdxpMHOa21IVxGZmYzszaqwWK1gU
         Tv37508PkeLC+dq6n/hcH13XoQ3UL2r20AyGzv5g/QhAIFMkkvkBF9vQGFXNpaxHPrHH
         UQCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743151016; x=1743755816;
        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=68h2Vs4l6qq4jV/p2K0hkPSQagT8dZgWP4gbpbuWzPE=;
        b=IsmgNWBm/kegbyc5LvqxIVFpOmK3Mpq0h8mpAiE2R4BJ3JTmw3UPaSdgehzqGzkfbf
         3egec9xtRa6uLed1LfYJlkCJi6qaF0O12Igbyp6APKKp8HddOcjIs+VzG3nkYxLBdeFV
         On5tZlrQGXOVrgEk07ED6K2doDryeOLes0SED1RPahifKBnZoIn0GUvgpx1GnQobKcp8
         9uqlivG0+539jceC9be877BZ6D08Ept9Tj3m9IP/CkZdCIQDcaQC3l+2ODVbzNGZWgH3
         eJLtP4sms/9Yteq9yybr0TlLO+3/Uyp6w1ICGjY3ct+77Sldj7VxPX1lv9af97BQRswv
         uY6A==
X-Forwarded-Encrypted: i=1; AJvYcCUR5wwaCsIuq3GpYY2i6sXxEumK1+0d8AYO6Soa/f4xaPK8Kwda9ijSTR0OCqWUuLZ7+bpMU/FuOsY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/GrlAVfFkLF/My+YNDA3FqMlMx5RAvQr/4twImMTvYuVxlifK
	oSk0bh8YlkW41A2Mer7pKHtTKQLCdwysin69fT+TVYU4tLyaxQhp2BDDTSzggA==
X-Gm-Gg: ASbGncsy8mW9z9br6Xe0Oyf1H/azJpAvnVBE2xj+gMGZHFXczFHNsxIL0FN7gqDKhiP
	wZsaU4hQ2FAxmKWSsWdLtnD8g6YMpIl3MZU+P84LU5m5vUF0aRqHecUxwir3x7ALFLGDZxxvNX2
	5JlHLw1igYDMc9Rs7LPEgJT+tJkwMe4eTvsQNr0zDfXUMVZSgAy6tQ0svMgI6gsYfIA4fSsSphq
	kKrEaCHX4jDi80WjAZ3+/NOwNhpiN9ruo5rlJUZjLr7riT7KgWJFOK4Ngt5BJq1BK40X7y9sYMV
	nXEyAxwvXipKngLMtC7GzG7UG8GGGp4B7Tntpkta5wz+231uz5m3LRjmYpWhlVQIxJU6beJgYhK
	wyuFj4Vpg85SDD4xH6UZeWCE1H+NnJw==
X-Google-Smtp-Source: AGHT+IHfo0Rn+xpz00264KqNj9RI2n2BuoAnsomMrbx1QB1zfPttfFdj1u6F53XttdF9l7D8IlnfHg==
X-Received: by 2002:a5d:6488:0:b0:391:2f2f:836 with SMTP id ffacd0b85a97d-39ad174bf52mr5251457f8f.17.1743151016293;
        Fri, 28 Mar 2025 01:36:56 -0700 (PDT)
Message-ID: <016f3ba5-a3d0-4aaf-a090-abab820127ff@suse.com>
Date: Fri, 28 Mar 2025 09:36:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to
 propagate CPPC data
To: "Penny, Zheng" <penny.zheng@amd.com>
Cc: "Huang, Ray" <Ray.Huang@amd.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>,
 "Orzel, Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250306083949.1503385-1-Penny.Zheng@amd.com>
 <20250306083949.1503385-3-Penny.Zheng@amd.com>
 <19cab53d-3edc-4900-95f1-6d5d81e0ecac@suse.com>
 <DM4PR12MB845156C8C25495D7DB396ED9E1A72@DM4PR12MB8451.namprd12.prod.outlook.com>
 <c46e1b7a-d765-421f-a7a8-9187bfb5b732@suse.com>
 <DM4PR12MB845155F64B8B08408D68CE14E1A02@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: <DM4PR12MB845155F64B8B08408D68CE14E1A02@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.03.2025 09:27, Penny, Zheng wrote:
> [Public]
> 
> Hi,
> 
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Tuesday, March 25, 2025 3:54 PM
>> To: Penny, Zheng <penny.zheng@amd.com>
>> Cc: Huang, Ray <Ray.Huang@amd.com>; Andrew Cooper
>> <andrew.cooper3@citrix.com>; Roger Pau MonnĂŠ <roger.pau@citrix.com>;
>> Anthony PERARD <anthony.perard@vates.tech>; Orzel, Michal
>> <Michal.Orzel@amd.com>; Julien Grall <julien@xen.org>; Stefano Stabellini
>> <sstabellini@kernel.org>; xen-devel@lists.xenproject.org
>> Subject: Re: [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to propagate
>> CPPC data
>>
>> On 25.03.2025 05:12, Penny, Zheng wrote:
>>>> -----Original Message-----
>>>> From: Jan Beulich <jbeulich@suse.com>
>>>> Sent: Monday, March 24, 2025 10:28 PM
>>>>
>>>> On 06.03.2025 09:39, Penny Zheng wrote:
>>>>> +    pm_info = processor_pminfo[cpuid];
>>>>> +    /* Must already allocated in set_psd_pminfo */
>>>>> +    if ( !pm_info )
>>>>> +    {
>>>>> +        ret = -EINVAL;
>>>>> +        goto out;
>>>>> +    }
>>>>> +    pm_info->cppc_data = *cppc_data;
>>>>> +
>>>>> +    if ( cpufreq_verbose )
>>>>> +        print_CPPC(&pm_info->cppc_data);
>>>>> +
>>>>> +    pm_info->init = XEN_CPPC_INIT;
>>>>
>>>> That is - whichever Dom0 invoked last will have data recorded, and
>>>> the other effectively is discarded? I think a warning (perhaps a
>>>> one-time one) is minimally needed to diagnose the case where one type of
>> data replaces the other.
>>>>
>>>
>>> In last v2 discussion, we are discussing that either set_px_pminfo or
>>> set_cppc_pminfo shall be invoked, which means either PX data is recorded, or
>> CPPC data is recorded.
>>> Current logic is that, cpufreq cmdline logic will set the
>>> XEN_PROCESSOR_PM_PX/CPPC flag to reflect user preference, if user
>>> defines the fallback option, like "cpufreq=amd-cppc,xen", we will have both
>> XEN_PROCESSOR_PM_PX | XEN_PROCESSOR_PM_CPPC set in the
>> beginning.
>>> Later in cpufreq driver register logic, as only one register could be
>>> registered , if amd-cppc being registered successfully, it will clear the
>> XEN_PROCESSOR_PM_PX flag bit.
>>> But if it fails to register, fallback scheme kicks off, we will try
>>> the legacy P-states, in the mean time, clearing the
>> XEN_PROCESSOR_PM_CPPC.
>>> We are trying to make XEN_PROCESSOR_PM_PX and
>> XEN_PROCESSOR_PM_CPPC
>>> exclusive values after driver registration, which will ensure us that
>>> either set_px_pminfo or set_cppc_pminfo is taken in the runtime.
>>
>> Yet you realize that this implies Dom0 to know what configuration Xen uses, in
>> order to know which data to upload. The best approach might be to have
>> Dom0 upload all data it has, with us merely ignoring what we can't make use of.
> 
> PLZ correct me if I understand you wrongly:
> Right now, I was letting DOM0 upload all data it has, and in the Xen:
> ```
>     case XEN_PM_CPPC:
>         if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_CPPC) )
>         {
>             ret = -EOPNOTSUPPED;
>             break;
>         }
>         ret = set_cppc_pminfo(op->u.set_pminfo.id,
>                               &op->u.set_pminfo.u.cppc_data);
>         break;
> 
>     case XEN_PM_PX:
>         if ( !(xen_processor_pmbits & XEN_PROCESSOR_PM_PX) )
>         {
>             ret = -EOPNOTSUPPED;
>             break;
>         }
>         ret = set_px_pminfo(op->u.set_pminfo.id, &op->u.set_pminfo.u.perf);
>         break;
> ```
> I relied on flag XEN_PROCESSOR_PM_CPPC and XEN_PROCESSOR_PM_PX to choose which
> info we shall record.
> Firstly, we shall not return -EOPNOTSUPPED error above there.

Yes.

>> The order of uploading (CPPC first or CPPC last) shouldn't matter. Then (and only
>> then, and - ftaod - only when uploading of the "wrong" kind of data doesn't result in
>> an error) things can go without warning.
> 
> Then in
> ```
>     pm_info->init = XEN_CPPC_INIT;
>     ret = cpufreq_cpu_init(cpuid);
> ```
> We shall add warning here to clarify no fallback scheme to replace now, when ret is not zero.

Maybe. In the earlier reply I said with certain conditions fulfilled a warning
may not be necessary. Yet perhaps initially having a warning there (maybe just
for debug builds) may make sense.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:39:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930290.1332935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5FB-0005te-D7; Fri, 28 Mar 2025 08:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930290.1332935; Fri, 28 Mar 2025 08:39: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 1ty5FB-0005tX-9R; Fri, 28 Mar 2025 08:39:13 +0000
Received: by outflank-mailman (input) for mailman id 930290;
 Fri, 28 Mar 2025 08:39: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=huHb=WP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ty5FA-0005tR-PW
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:39:12 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2408::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e85f764-0bb0-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 09:39:11 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by PH7PR12MB7428.namprd12.prod.outlook.com (2603:10b6:510:203::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar
 2025 08:39:07 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.045; Fri, 28 Mar 2025
 08:39: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: 1e85f764-0bb0-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=h6aJZ71lj8uc51e+KxufhGmr1YZcYYdmrALaHTvVtVC2Pkro1wQ2JHruTCdM1cy7YL1BzmQ1f/OkoFTFCRJW4uN6xFX3bf/zdBX/RhHi+vcppZgWDYlXroW187olkoRzIA6j7qip9H/+eVWSppYXeHKqzLzbjCmRYHHtvHnTdlcXUrlBkv+At9ckkqq3OAWFTUPchSDHdcKnoYhZ6koyVZg8D3KFmhvpnrdHJi/zrGubqRWnitf7WofltZIypGX2XnYWKgNU0bhnHwY6V8WPSLiU23LCjLfuzWnQmz148K03J29Ed1UIr1B4u3yYt1YEf7tFq4kocFYIPsnxykexQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bGziEdvweAICu4Ffc36G8wKPzlvm9wWtKpxgPc8DBLI=;
 b=e+Bi6k7CGRm5I69g9Fr7yIcUnzsrbFV0+3lUnWbhBqjDVMGm7R29AGcq2aT4DCBPVscF7F/340Po5ZknvFlQE8Q1yOXpdXVk97rTDKg00XV1ZkP+vZQb/HyCOGRAdqlhriE5uMxpnHS83J7U7tGo7dMDxBahOusBSZrwmlxmMbbz0/x3DxrOQRe6rRMTABDZmstizCtUmesmTUI65qXYnihxf1AEgfdNgmnKGacZY/w76TKuvDuOv2mgJIltqLVCx8Rnj8yqoSbO6fErF8rCGOvgijl5C9nPomuWjNvjVomweJrZMpG+08TuqPqyrigwq63hspxy7VMTZPp85s8x+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=bGziEdvweAICu4Ffc36G8wKPzlvm9wWtKpxgPc8DBLI=;
 b=ETYOUg/6SEGMjGK/X5pSGKu8gkJVkaxlrvma6CzcPZrxIRcQKmRRx1iGoW5XoCLXs04v66NPifWDs/zboHa2w6iK6QD0EUl8H3btfiAZqI6kgMLsGWNC/80+SeXJ/WxrFJv2SBt6WsPL2ghPvZ9GYgjlZKjV23RRsHj5/lggjeg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <d5c15760-c6cd-4f20-b296-a9f9fd44ab0d@amd.com>
Date: Fri, 28 Mar 2025 09:39:03 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] 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: <800acb5c8447153e6c451c8df316ff678fbb4087.1743114879.git.mykola_kvach@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <800acb5c8447153e6c451c8df316ff678fbb4087.1743114879.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0228.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e9::9) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|PH7PR12MB7428:EE_
X-MS-Office365-Filtering-Correlation-Id: 56777f51-b6bc-480f-52be-08dd6dd400b6
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?UlBsM1JOMTRQeSsxTEFVRExaYjVqd0cwY2ZmZjF2YlZMWTgrZ1ozVHJ5N05C?=
 =?utf-8?B?WjVOWkRnb0R1RFpGNC8zalRvQ1dwcXRqRlBHbVRkRHhTZXRDZWJLeVY0dkxQ?=
 =?utf-8?B?amV0dDRyUGVOS210Y3BOSDdRSmRZSURsRjhlSTNzYW40YXNHTC8yVWNNWkxj?=
 =?utf-8?B?R0plU0wzaGd3VEVKZFpMS0EvNVlVZkVvc0IrQnMvNktBbDlsTHNoZkJoeGlo?=
 =?utf-8?B?ajk5S1E4WXlNTGlXU3pUaThuQUtWQmNVUVRKcVpLY0c2dlhXL2NObFd0b2RV?=
 =?utf-8?B?bkJTa1JPMmFpV2pxZkQ3U1pLdGR0dnh1VjRUeUx6STkycjlqSEJwVGNOaXFt?=
 =?utf-8?B?RENXV1JxUHYrY2hhSFRvS1R1SWlHVHJ6ekY2b1prSzFTZFVnTTE0RmxJU3do?=
 =?utf-8?B?dVN4elFhaUF3U2gzM1pSdzhYcHNzc01nWS90YnZEeitEdlNTb2l5bHVzZVlp?=
 =?utf-8?B?RlBRbGZ6cDViOTl6ZmtYZjBsaDVwT1c1UTMxc1JreU4xakRjWHYyc1RQeVZE?=
 =?utf-8?B?ek1SOSsvTHJvSlk4K002ZXQ2Y21CWEJsVjNkY3l1QzVscWo0b0JYMkxvY2Jv?=
 =?utf-8?B?WTgwd1UralpwZ0lRd3I1KzRuaGpXVnlVOVdrNEllUmFUZ2w5Nkp3YmQwSEJL?=
 =?utf-8?B?UHVNL2U5ZVkxejVYQ1drM0F5QStKQUR1amlYN3JVcm5sc1JIM2VKOXpjQXRy?=
 =?utf-8?B?OW1zOFpvbGtIQXpRVm55ajlKVk8wazFKUlBlNmFrYjE2eC9YeDdmS0xRVXBz?=
 =?utf-8?B?RWtCZndSZk5Bd2dNTElhejFoTEIvU1h3SEM3QmFWdVhlcE9KRXpKVG5DOU1l?=
 =?utf-8?B?Q2xNWFVpb2lGZ082TlA0VTlJTzYxQ3ViOXBoTkY0d2tWWHBPeHRWbmoydnVk?=
 =?utf-8?B?U2hzcXRkYngxelhqQTJBOE5RSW8wN3ZUYVBiYmQ0V2s5Q3llYkhiWmJDcDBa?=
 =?utf-8?B?YWxxeEU0MEtYcXBtQ2hZbTMvaVliTk42eldSZExLNHpoQmJLUEJTak43Wkc3?=
 =?utf-8?B?R0h3Sk5Ycm9qUTRCdDBMUDRRdTh0ZzZkMmcrQncxell1UVlZYzVkZGZrNTc2?=
 =?utf-8?B?d3hFUmZrS291UFhldTZKZFJEZDFzUE81bUJQQnBUWndnK2VzZXkvMGlMYUNw?=
 =?utf-8?B?RVNkQU4zMzVTblIzV21Zc0VLMDIxbzZOc0pEd0g4bHczV1hBbGtWUVpIZ0Jr?=
 =?utf-8?B?QzY4dFd0ZkhNTjd3OGJadmd6Q2wzNXlQbU5PV005b0lKZWhqMzY2TGdTQnF1?=
 =?utf-8?B?Z0RkUGpEOFdvYTBpVUY5b2ZPTU1XUFJaQjNqU01jWUQvZGV6eXcxbzBpcHJq?=
 =?utf-8?B?SFMyZUdjSTJvSGFmNnlScVN1Z0JpU1FpUVVpdk5QdUdpaHhhdnNta3poM2Rn?=
 =?utf-8?B?S2pwbmZZZ0N3VU1abVJmckR5bHFESDFVdXJNOVBNampsT2V0YldnYnBRRklE?=
 =?utf-8?B?cUMzYlZkK3dpUlllMFB1WFdoTllETFVuSG5zUzVBaEJNTzFIalJSeWNSMmNF?=
 =?utf-8?B?Yjhpckl6Ry8wak9OcmovL3Y2dmh6RHNJbWJHNEIrcU1mVlJPZDZud0J0b2JL?=
 =?utf-8?B?MVF6T0hibkhteVJVNzU4d0JpZXhTbWgwa3RtQnY0RDlIRkxOazZ1a0FDcjlo?=
 =?utf-8?B?bVM3QUFlNlVYc051UTRENzVoVnlOVDJ2enE1WjVtZTJpR2cxUkhRNzA2eUp1?=
 =?utf-8?B?RVJBd3VtTS91bUJKMUNDK0hYMjFlL0d2ajJ3QW5McjFMZktnNm9WVW9xcXdm?=
 =?utf-8?B?WkRKMDhvWlVYWlJZcWh3VkZZQnZyY01PMVhyMjlxbEdHNmhPemt6Y3pGZWMw?=
 =?utf-8?B?bWhGbTdMUFl0cldnYXV4aUVEYzlhWFBhbkZVdEUyODFwTHFSZXYzcWdQd0lk?=
 =?utf-8?Q?w/zJQP0xTsZuy?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?bG01UmpUK2NCODhNNG9zZG5QWUpsdUxQNGNjeDh2Q3BocTJiSWlnWTlWRDMx?=
 =?utf-8?B?ME0zd2pWbzFmQ2pKMUErNlJPb1dJVG5NMjV2QW9qY3VvRjRGZ3FLWXk4SHZU?=
 =?utf-8?B?TXRIU20zeEhUbVJLcUNHNFRDOU1WYTRrMkFIWWswZWYyME1TQThVZzRzbGdQ?=
 =?utf-8?B?VmxqVkt3ZHU2NWRqa1F1cjhTbHk5ZDdSNDBqNklXbFppWC9mbnp3NEdBa3VR?=
 =?utf-8?B?SHVydTFQZDFyRlozTkd4TUZzWm9PR0gwSjhjWGxoaUQ1UVprZHBwZW5GWHRj?=
 =?utf-8?B?R1g1czNnc21TSlF3aE5WVFRTU2JFVGlpemZDd1VtSEhyTElHZk04dzVZWDkv?=
 =?utf-8?B?MXU1SkhXaVlpU2Fib0pQaDFXUmF1aEFac0lMTDBMMEpVZk5Bd1QrUWpnWEZr?=
 =?utf-8?B?ZUpkMjlnUUU0SXh2eDE5N0ExNUx4MXplTGtiMVlBa1pWSmd2NzBrdlNyWWlJ?=
 =?utf-8?B?OXdxRnVMRFFkMUNIbTRoNmZBUzdHRC9jTjQzZmROaCtHengzS0lpTUUzQjdO?=
 =?utf-8?B?OTltUnVpZ1hrVXI1UFdGM3g3UnhKb2hVVVpvS0p4aEZIQVJOWmpldnVTQmNM?=
 =?utf-8?B?Y3dpNldLc29JNkovb2w0a3NVM0U4cENsWTk4R0lSNk1RU2hwY1FkL21xNHR6?=
 =?utf-8?B?MjhERTVZZFZvNnV6cTBNSjNhK1drcnFBNlRWUWQ0R1Q5UURNV1JTM0o1RHd4?=
 =?utf-8?B?U1VOWk5aTHA4NTQrS1dvMjBCQlY3UDUvK2ZwNnhuUVB2ZHNpbkcwc0VCUFBa?=
 =?utf-8?B?Y1hBZDNNWk1oWG5GSHVqVlBSLzh1WU9FZUx2QVlZcmh3dVhKT2FTaG9KbFJE?=
 =?utf-8?B?ZmVsd1BuaThCZXBzejhHSW9Ca3lYKzNlZXQ4WkNjY0trV2JZNVRNSDNtbjJF?=
 =?utf-8?B?cmxuUVl5eGR5U1M3YW9YUjJaRVNGVmJjNG5zaW5KTmFiOGhvRUVFQ0NOQ2hm?=
 =?utf-8?B?c3VVbTY1N0w0a3FpcWFtQVNYRlVjaG52MldOajk1d3Jnb3ZCUzFFQWN5SytW?=
 =?utf-8?B?cGF6NDBTL3ZNN0s3YjdGT3EzWXBkY0hIOEtRQjlFaUo4bmRPYzAwcGRoSUxq?=
 =?utf-8?B?ZmcySmlKY0E5VVU4SWQwM2JMMWFrU0FBSk96REo3VEV2OVNPNytrWWszMmZP?=
 =?utf-8?B?UWw0U1dzRHRtMFJnUzYzaGRtdCtJYUVoSGVJaGw1bHdUeHpQV3ZueUs1Q0dR?=
 =?utf-8?B?WnRPem1VcXFndUxBYzFBTHJBS1BVUmxaank1RXBrdFZjSVhpekhRdVZzZ2kw?=
 =?utf-8?B?ck9hRkdQOVpxQ0NzMHgrU1daUDdOZFRyNUZ1bkI5YU5nTzJlYm50QnRPQXM4?=
 =?utf-8?B?K1phMThDbFNNYlp4VkhISXd4c3B4eWt6Mk9MWlNpYnptZWl6V0RsMTAyT3Fs?=
 =?utf-8?B?VWh6M05ndS8rYXJBTXRseWJJMmUwaUlOUFpYTlltMDFZV0lydmYwVi9EdWoy?=
 =?utf-8?B?Y0x4VUdPOFJIb3ZzM3pUNFZOWWNPTkVkQlVNTE5BcVVuSDJXNXZITk9tdlRE?=
 =?utf-8?B?dm1rTmJUVy82UDh1TVVrN1o4YkVvS01Nb0tacEdxdzhZQjhnMHdJakNuNjc0?=
 =?utf-8?B?Q3N5Y0IvMkF3NHFPWjAvTVkrRzJkR1RWRUMyUHVGdzZZa1hEdzhsT0V6ZVcz?=
 =?utf-8?B?NklrL3MwUVVMRmE5VXZKLzIxWjVXQnJiMWhmVG9zNk1zeDZWT2lUT0c3U1px?=
 =?utf-8?B?M25QUW1xMktJQ0xwdGd3a0Y1YU52aTd0QktpdEc0MURCM3QyWUxNeTJYV0ps?=
 =?utf-8?B?bkVIVEFZdVZ2WVFIeW05d0lVNFFrTmkwTnlkeVF2WU9La2V6dGE2eEt4eE1h?=
 =?utf-8?B?UTRuazEyQytDdzg0L3VyNDkyZ3c1dHdqd0kweUtxZG5aWmlhQXZ0SWVwaG8x?=
 =?utf-8?B?NVdhczFFWURvQjNYNkVvM24zTDh0WEpBdFVVOG1qZHpHbk1rdG9maVlNdFBH?=
 =?utf-8?B?MVdFZHpYNzZKcE1MaFk0K0lwQ1FKbVVMNko1NE8wTE5qVG12S3ZSb2FGd28z?=
 =?utf-8?B?MnZrdy9maGhQMHlPTVNmbXFnNWppS0E2bkwyVSsrVDdJMGZKM2Jab3Ivc1VM?=
 =?utf-8?B?QVU3cHgvcnNDTVVUNW9pL280S0Q3ampzb29vRW5EY1o3QkM5ZXVGa2d0WkI1?=
 =?utf-8?Q?7q3Y=3D?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56777f51-b6bc-480f-52be-08dd6dd400b6
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 08:39:07.0612
 (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: fabKn/amKxqbjBaKeWBMME19XTLB+LVNjPcn0TULkkPVNnX+ndD9/Wg5SwkIimVt
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7428



On 28/03/2025 08:08, Mykola Kvach wrote:
> 
> 
> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> The changes have been tested only on the Renesas R-Car H3 Starter Kit board.
> 
> 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>
I'm afraid that without a suspend feature on Arm merged, this is just
introducing a dead code which we try to eliminate both for MISRA and safety.
I'd prefer to wait for the suspend feature to be merged first.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:45:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:45:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930304.1332945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5LD-0000Dg-0W; Fri, 28 Mar 2025 08:45:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930304.1332945; Fri, 28 Mar 2025 08:45: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 1ty5LC-0000DZ-U5; Fri, 28 Mar 2025 08:45:26 +0000
Received: by outflank-mailman (input) for mailman id 930304;
 Fri, 28 Mar 2025 08:45: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ty5LB-0000D7-Ee
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:45:25 +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 fd1f1060-0bb0-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 09:45:23 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-39133f709f5so1102053f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 01:45:23 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b66d56csm1962048f8f.59.2025.03.28.01.45.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 01:45: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: fd1f1060-0bb0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743151523; x=1743756323; 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=s9bnBJLGZaOlMiSliapgB998fctt5acJBm0Cdjo5nYU=;
        b=YuO+d0B/xHMmBqMU1tTfVSAxB1r86n0q3Ov6nUJa2L0eswYBLqAhCGbl/mbcibrLT2
         U5JEW8Mg0rzZaDqsA5aPuA9IS6JuZSywlZU2o2MWuGE27I9nHut0KjhaQgfaeNvLSh4M
         pFWY7/Cdd2YA80PQQBf+6OGV8e6anruirbP+s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743151523; x=1743756323;
        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=s9bnBJLGZaOlMiSliapgB998fctt5acJBm0Cdjo5nYU=;
        b=a/yljqtywxyNRUvzVW9t2lWsIQJi2MzJMVNKdsHSxT6Y4joQK3fA6vMRXQ7cyhF/Yh
         q0BtcNf2lgbExNV5PAfzE27JA4x9xBJgqFkL+hRfgfDofRfp3bHt7Pyi52a4X2593vjf
         powiLCLe7tLSRkSuTQNyBNc3H58l32cTqjLZoTPNaqGiubsPQaW3QRBFclCwFVzn5c02
         jOiETW0XcBy2/Arq0F6m/QngNOvDmPOCzPnpVThStVSr2G7+c7DTpjDHF/zNUseA6whU
         kewPSfi9h7dBlzXatdvLr0K912lqfFEcmc+njQc9Z6SQF/8jXHEy81cYqJK07sWzFCm9
         1FoA==
X-Forwarded-Encrypted: i=1; AJvYcCX6q+1pEV91XH0pMmqQZrD81jip3yC2QYgHLdFtoudrONa5wYOkVOpXwOaEI/x3QHi+sF13vQGgHDQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwDVlBr0sfXqNF3r7YsTBpPOR1par95U3chbhA2Yi6sLT1pNat3
	8HSoIjh7m85iFlsjBBtqShJOEMlP0poPRR3N9lzb2Y79LYyanTNtiy/oPXaji0g=
X-Gm-Gg: ASbGncuD0Fck62I7NolxiPgRSuszCZgNyz34MgCIP31XFZynt21peHcmlo1htPLL59h
	kSy+zMHhfKltUmz27QQm78u84yEn1o5PwmD8I1XeTU9UcL4QIZGZuzcP3i/kBcvt8Nuvhw9SmGa
	64GzQPhrLH21tVzstFUs1/e8KlXHU0+QIGuRXQw04E7TFvOfp96cUX8+4xHsBHQy02Y1iGF2Fmo
	9q/PChb9t+r+oQx6LgK6qVEW7BUOjxyV3vWCUmSR+DhCuDwjSi9Em1gy/jA+0nvaOuSLxVCiwgw
	RAebuxpVn5OOhwMavEZVLBe/TqOI7gq1vOUS1nH0JtY28TBBHzSaNa/VyKY27Ek4uPpiI0xmVQf
	iSb1N/pI0vh+TD5cPqwOQ
X-Google-Smtp-Source: AGHT+IFr6nQb4fF35vQm2vV/SqMxhN690uDx622+UczksvHOg/m9NBNpknc8uCDxTqe93cZXpJC85A==
X-Received: by 2002:a5d:64e4:0:b0:391:253b:4046 with SMTP id ffacd0b85a97d-39ad1746c76mr7120909f8f.16.1743151523236;
        Fri, 28 Mar 2025 01:45:23 -0700 (PDT)
Message-ID: <c5db9bd2-ffc1-49fe-9421-b7f6b61aacaf@citrix.com>
Date: Fri, 28 Mar 2025 08:45:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.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>,
 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>, xen-devel@lists.xenproject.org
References: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
 <404e86cf-740b-4613-8534-a18b3654f874@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: <404e86cf-740b-4613-8534-a18b3654f874@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28/03/2025 7:49 am, Jan Beulich wrote:
> On 27.03.2025 18:33, Oleksii Kurochko wrote:
>> BITS_PER_* values can be defined in a common way using compiler-provided macros.
>> Thus, these definitions are moved to xen/config.h to reduce duplication across
>> architectures.
>>
>> Additionally, *_BYTEORDER macros are removed, as BITS_PER_* values now come
>> directly from the compiler environment.
>>
>> The arch_fls() implementation for Arm and PPC is updated to use BITS_PER_INT
>> instead of a hardcoded value of 32.
>>
>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> albeit ...
>
>> --- a/xen/include/xen/config.h
>> +++ b/xen/include/xen/config.h
>> @@ -98,4 +98,14 @@
>>  #define ZERO_BLOCK_PTR ((void *)-1L)
>>  #endif
>>  
>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
> ... I remain unconvinced that we actually need this (yet then not its sibling
> for int). All uses I can spot could be replaced by sizeof(long).

Perhaps, but that's orthogonal to centralising the definition.Â  It can
be deferred.

>  This (and its
> sibling) would be needed only for #if uses, and there I would then wonder why
> we couldn't use __SIZEOF_LONG__ directly, now that we assume its universally
> available.

Looking at the usages, sizeof(long) would be best, and shortest.

While we do have a whole bunch of constants which are universally
available now, I still want to use the more normal terms where
possible.Â  e.g. the difference between __BYTE_ORDER__ and BYTE_ORDER is
relevant for the code shared with userspace, and using BYTE_ORDER across
Xen is the cleaner option.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:45:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:45:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930306.1332955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5LQ-0000Wr-BY; Fri, 28 Mar 2025 08:45:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930306.1332955; Fri, 28 Mar 2025 08:45: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 1ty5LQ-0000Wg-6l; Fri, 28 Mar 2025 08:45:40 +0000
Received: by outflank-mailman (input) for mailman id 930306;
 Fri, 28 Mar 2025 08:45: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=QVst=WP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ty5LP-0000Uf-14
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:45:39 +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 05d880be-0bb1-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 09:45:38 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5e5c9662131so2930236a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 01:45:38 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc16d32d6sm1032117a12.18.2025.03.28.01.45.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 01: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: 05d880be-0bb1-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743151538; x=1743756338; darn=lists.xenproject.org;
        h=content-transfer-encoding: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=7n+f4azj2Tc5nhhvw/tnnF0Z56n1LqAJQ/6rHzrKBHY=;
        b=WVfngtruXD0Dw/yz8TzHn/aDy1rlShbyoq69MqidgECM07iQLGI+eWLL7jdh1Qcv9l
         ALtmWodjd4VqLN83Y7yhUi9zhfNZGt0N6wpYjVOTHcho8S2cjDMMhOC9Wr3Iv8du6QCF
         ix+wrpCuUAssJ05pk8/0NTpGj05FidCvda0phIz9cGIhaT/NMtooHl1O3HFvqWa5E/v8
         ycKfJ8NeMk8qeyKoEdTSOewVPXB7rsnqSq37EHQ8b0+u30V5DW9XfvgyTfLnWNvGY/Gj
         gsMjl1PMWBMBWh+vxfCRryKdgo0OkZj9TfODVxp6V4K6wK64vQhoAdG9UywEdH/Zv51m
         qcVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743151538; x=1743756338;
        h=content-transfer-encoding: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=7n+f4azj2Tc5nhhvw/tnnF0Z56n1LqAJQ/6rHzrKBHY=;
        b=GxLvVkUetAfRt2ed8Z8HU2XN0pF0F3iEcKKoAemblz97O9x5H8zKe6V0YH+H8x4E6M
         obUjDlXTXBYjNyvZ9n+V0aGTDK0BbVgE3b1ucA2w1ri7AymlvToii4wDO/B89zeia7MH
         ++ukDWAm45aGnHT7N+a290EpOwC5thHuGRJcluNTJl8ivU8sO/wg06Saan+L/oBLPt9/
         Nn+0yhLgqg0I7FfsYDgAkoOMBY6jF2J7PtsfWPLlOie+bZLltZQyMF8NM5I+dybdV5a5
         FvZ01VtbnIABmHDThxhs6mteCjNMTF2ugDIGKoR+DB8tFR4zXJs7ceEqLGQPyuF2XCd/
         Y8fQ==
X-Forwarded-Encrypted: i=1; AJvYcCWeCXC0+W5949gEtQRBiaR3AM6RBvyfjBfGrcHDsrwxedqJnNdBcTvwdHM38oXPuDzMAFW9j5NAUtA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/QdAHVFxWn5HWzQGiY+3I8jnad38Br6hkHkObekCCfHNytmOi
	RBGxFXMS3tsRF5aISjTizU057bVIweRy0rgnZQ3kkMdewtP49u2d
X-Gm-Gg: ASbGnculrHyCqvMHYMjdOrmoUP/jJpHNn+mqcOS3UE8PvlFKAR5exrd4bR7wsUgzA5d
	YePFFt18nCx7vGt3e10ipHmQk0yOjT4b+mh9kYueEM0yVAzYNhRV//N0mFSe0dlDF3lh1JUhGWN
	vZtXk+Wq59do/8mzpBHDFeSLfAx0BbZ5mJW6sYDejwJm7/RzK5Bt91XOFYR6bQFhDUDfofbqFPx
	e18f2g/AuqJGtrQGr6Mpm5MZAV0NTgZdiSqAzGMavTNBawCBSJZL0icD+biZZm/B+s5ROj82Ke2
	wSqV4NZHipvZaOiAL2Bfdcrrfc1eeRhnLf7XwJv4KCniTdhTH8JFiuO8e6LaFMhob/JgRY/LIeM
	TkYpql/QUt8qAR4zPqA98
X-Google-Smtp-Source: AGHT+IHtI3+Bc9FdWfB+6p7UD/FsYj1tqmk0TURTxdGnP1wNkPoGwFGKjGh/A+zTeqpQzfZyzA6wLg==
X-Received: by 2002:a05:6402:84f:b0:5ed:1909:d435 with SMTP id 4fb4d7f45d1cf-5ed8e061763mr6645523a12.5.1743151537637;
        Fri, 28 Mar 2025 01:45:37 -0700 (PDT)
Message-ID: <7e15e282-42a2-44c2-8a66-3fe72c216fdb@gmail.com>
Date: Fri, 28 Mar 2025 09:45:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] CHANGELOG: Minimum toolchain requirements for x86 and
 ARM
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: <20250327153725.401451-1-andrew.cooper3@citrix.com>
 <5d34510a-2f31-4295-b42d-a4e035dd4559@gmail.com>
 <0db68d90-fa7e-46d1-98dc-8b4692918285@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <0db68d90-fa7e-46d1-98dc-8b4692918285@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 3/28/25 8:59 AM, Andrew Cooper wrote:
> On 27/03/2025 4:05 pm, Oleksii Kurochko wrote:
>>
>> On 3/27/25 4:37 PM, Andrew Cooper wrote:
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
>>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>
>>> v2:
>>>   * State x86 and ARM, rather than implying all architectures.
>>> ---
>>>   CHANGELOG.md | 3 +++
>>>   1 file changed, 3 insertions(+)
>>>
>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>> index 35ab6749241c..8f6afa5c858a 100644
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>   ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>>>   
>>>   ### Changed
>>> + - The minimum toolchain requirements have increased for some architectures:
>>> +   - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
>>> +   - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
>>>   
>>>   ### Added
>>>    - On x86:
>> LKGTM: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> May I interpret this as Acked-by: ?

Sorry, yes. It is Acked-by.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:53:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:53:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930327.1332965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5Sl-0003dK-1U; Fri, 28 Mar 2025 08:53:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930327.1332965; Fri, 28 Mar 2025 08:53: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 1ty5Sk-0003dD-V8; Fri, 28 Mar 2025 08:53:14 +0000
Received: by outflank-mailman (input) for mailman id 930327;
 Fri, 28 Mar 2025 08:53: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=QVst=WP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ty5Sj-0003d5-5A
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:53:13 +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 13aa034c-0bb2-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 09:53:11 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5e6167d0536so3752363a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 01:53:11 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc16aae09sm1045758a12.6.2025.03.28.01.53.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 01:53: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: 13aa034c-0bb2-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743151990; x=1743756790; 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=R/WnZPlwT5gj+uVh3nw/Ii6GOkLXlbI8P6+Lg6cYNL4=;
        b=YuYNf1zEn/F/v7fhpTv2WR0xTAOu5SXdcmCZxGlREbb8sayA+kktXk6h5xiu16aiNl
         fssjDeDCK4fRSqdRgyrnxzXg9pI5sUI/CjBiY+LdVJnae/DEcTpoppo8UH7vBno5SKf4
         x95EDh0vWLOiOAySFwCJ8Hwj2FufALooUowkLLJoSA9gNTDaOj9n3Ogv920h8/E6nNbV
         Rn99aqzHByVbXXRbGMjZqa1Wdn8v/6LfdB7/oR8EIMQDvDuvBoozwBzMeyzg7vwE/xLP
         tsDIJjVqIaOnDm0GJ5+lMVkqeLa7WI/aQ1VyOF03wEQuv5uHTp4MCRo3gbKBX0I/mxj1
         +3ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743151990; x=1743756790;
        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=R/WnZPlwT5gj+uVh3nw/Ii6GOkLXlbI8P6+Lg6cYNL4=;
        b=mI9cIwCwtLlwUyrJgrDIZwwf0rUoHBdj9UPHV83zbBMGTOXgl4YvyrpnKOVj1Dno0U
         6QTX5GIGkuFJ/L3EpLdpvTD8LrnWOWNImEv6WYsXV8snu9bRRq4mwGQ/3g6/HWr00rQv
         QytdNxNblQEL3qGnh/FTSoToUdOj7ZOmezpj+cxBBD6j01/+2JD++sh49d+KhEAItJCU
         L4ojMpgGs+LQ8o10ubybDdEz55wqaKf1TzmRF8cq5PUnLSCzQSetm5nH9OqO0vGCLTLe
         Xl/NLaoK2Q5bQyuEhn9yskrVpPaBYBHFtcvsROKbFXR97Juh81WQqk+Glj1Fgq8tplMU
         VS5Q==
X-Forwarded-Encrypted: i=1; AJvYcCWZNh1csrg3TsS7HB5DAaRABuY0GTxKtYw5p9/GN2TRGvdJTsblDm+infUvfyzXJMJSy/ybXfstA4U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxH8EZP6t73DsiVwxW4LEM17VtkrvVFWLXFp8yK5QoZxq3ZEob6
	4T3JGdthRF3glR8mlZEcIbtFJ1l+gRPfaOWqbZ0siKq6ra0rcF4I
X-Gm-Gg: ASbGncsSAUFmBb/uhCX6JChizVmr9eVGEuMLopbHOTI+qTfO8B25h9AUo2SEsKBefwv
	o+eKUsuHARXl7Txu/XyLsjg5L2pnJc3LrcRkkwRRhovJkRwbMuXOjanKCjOd/YcqPkz+J0bZG47
	tc2mblAJrHmB0fQx7qauD33CpDq32bb+qNFbcgLAri+6tQk/EUvNC26syI6vN62Zb1gC0jNvxr0
	N6bgdRcg27AZCJTIFhCchhZLL3DVsFwxlmaVGNnMCBYDBsmR5Q7oRSRqnkn2f34o69bVyUCpJru
	dN+G/N3DeE0ZTODg7PFCzqhr3HfIYejKNEx4M94aeV8HZI0WQjzjGm2sJv+B1ZGQqKnKca7k4lE
	3KpK8q2xzxHYW0lbGgOck
X-Google-Smtp-Source: AGHT+IHZrytY0aXJHOPK1iZWN5t9mPviI9RdXM9rFQxFi5TW1lNsLH5wek0IeUwp9U3wcDap2WHyhw==
X-Received: by 2002:a05:6402:5243:b0:5e7:8efa:ba13 with SMTP id 4fb4d7f45d1cf-5ed8df6a9f8mr6499609a12.7.1743151990207;
        Fri, 28 Mar 2025 01:53:10 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------VtPgCnlEs5IUQay8qRuqripN"
Message-ID: <1db4c47b-49f0-458d-ad00-1e55bb2774e9@gmail.com>
Date: Fri, 28 Mar 2025 09:53:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Jan Beulich <jbeulich@suse.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>,
 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>, xen-devel@lists.xenproject.org
References: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
 <404e86cf-740b-4613-8534-a18b3654f874@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <404e86cf-740b-4613-8534-a18b3654f874@suse.com>

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


On 3/28/25 8:49 AM, Jan Beulich wrote:
> On 27.03.2025 18:33, Oleksii Kurochko wrote:
>> BITS_PER_* values can be defined in a common way using compiler-provided macros.
>> Thus, these definitions are moved to xen/config.h to reduce duplication across
>> architectures.
>>
>> Additionally, *_BYTEORDER macros are removed, as BITS_PER_* values now come
>> directly from the compiler environment.
>>
>> The arch_fls() implementation for Arm and PPC is updated to use BITS_PER_INT
>> instead of a hardcoded value of 32.
>>
>> Suggested-by: Andrew Cooper<andrew.cooper3@citrix.com>
>> Signed-off-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich<jbeulich@suse.com>
> albeit ...
>
>> --- a/xen/include/xen/config.h
>> +++ b/xen/include/xen/config.h
>> @@ -98,4 +98,14 @@
>>   #define ZERO_BLOCK_PTR ((void *)-1L)
>>   #endif
>>   
>> +#define BYTES_PER_LONG  __SIZEOF_LONG__
> ... I remain unconvinced that we actually need this (yet then not its sibling
> for int). All uses I can spot could be replaced by sizeof(long). This (and its
> sibling) would be needed only for #if uses, and there I would then wonder why
> we couldn't use __SIZEOF_LONG__ directly, now that we assume its universally
> available.

I left only because|BYTES_PER_LONG| is used in ARM and x86 code.
If no one minds, I can replace|BYTES_PER_LONG| with|__SIZEOF_LONG__|.

~ Oleksii

--------------VtPgCnlEs5IUQay8qRuqripN
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 3/28/25 8:49 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:404e86cf-740b-4613-8534-a18b3654f874@suse.com">
      <pre wrap="" class="moz-quote-pre">On 27.03.2025 18:33, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">BITS_PER_* values can be defined in a common way using compiler-provided macros.
Thus, these definitions are moved to xen/config.h to reduce duplication across
architectures.

Additionally, *_BYTEORDER macros are removed, as BITS_PER_* values now come
directly from the compiler environment.

The arch_fls() implementation for Arm and PPC is updated to use BITS_PER_INT
instead of a hardcoded value of 32.

Suggested-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: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.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>
albeit ...

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -98,4 +98,14 @@
 #define ZERO_BLOCK_PTR ((void *)-1L)
 #endif
 
+#define BYTES_PER_LONG  __SIZEOF_LONG__
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... I remain unconvinced that we actually need this (yet then not its sibling
for int). All uses I can spot could be replaced by sizeof(long). This (and its
sibling) would be needed only for #if uses, and there I would then wonder why
we couldn't use __SIZEOF_LONG__ directly, now that we assume its universally
available.</pre>
    </blockquote>
    <pre>I left only because <code data-start="67" data-end="83">BYTES_PER_LONG</code> is used in ARM and x86 code.
If no one minds, I can replace <code data-start="146" data-end="162">BYTES_PER_LONG</code> with <code
    data-start="168" data-end="185" data-is-only-node="">__SIZEOF_LONG__</code>.

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

--------------VtPgCnlEs5IUQay8qRuqripN--


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:57:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:57:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930337.1332975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5Wg-0004Dc-Hw; Fri, 28 Mar 2025 08:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930337.1332975; Fri, 28 Mar 2025 08:57: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 1ty5Wg-0004DV-EK; Fri, 28 Mar 2025 08:57:18 +0000
Received: by outflank-mailman (input) for mailman id 930337;
 Fri, 28 Mar 2025 08:57:17 +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 1ty5Wf-0004DP-7y
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:57:17 +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 1ty5We-00DkXP-0F;
 Fri, 28 Mar 2025 08:57:16 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1ty5Wd-003nbY-2W;
 Fri, 28 Mar 2025 08:57: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>
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=hdLR44AiivIEkDC0Kq8jAA2kYXc1hUQfHDd2qzFvYFM=; b=Kn5EQjAxdtLE/vQwL4DCQY5pjy
	Ynme2OrOwuwjM4jYF2jSMRWZe40wz/Ng8pzxwek81Y9IPZT8WfzNqUNSOitb8VlKZCwJ95AghyGiH
	nFva2jBFXovF6Ouy1Rh6rG7+I6vCKOHVYsYWYJ3IzfkZgPiD29y+S14Pz80KKbh56UUo=;
Message-ID: <baf871c2-8f4e-45a4-b03e-cb0b59c8eb18@xen.org>
Date: Fri, 28 Mar 2025 08:57:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/char: implement suspend/resume calls for SCIF driver
Content-Language: en-GB
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <800acb5c8447153e6c451c8df316ff678fbb4087.1743114879.git.mykola_kvach@epam.com>
 <d5c15760-c6cd-4f20-b296-a9f9fd44ab0d@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <d5c15760-c6cd-4f20-b296-a9f9fd44ab0d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 28/03/2025 08:39, Orzel, Michal wrote:
> 
> 
> On 28/03/2025 08:08, Mykola Kvach wrote:
>>
>>
>> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>
>> The changes have been tested only on the Renesas R-Car H3 Starter Kit board.
>>
>> 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>
> I'm afraid that without a suspend feature on Arm merged, this is just
> introducing a dead code which we try to eliminate both for MISRA and safety.
> I'd prefer to wait for the suspend feature to be merged first.

This patch is not different from the ns16550 driver which already have 
suspend/resume callback and users. They will be used by but the caller 
is not used on Arm yet. So you are saying the code there is not MISRA 
compliant? If so, is this reported by ECLAIR?

Regardless that, I don't think the full suspend/resume series would 
help. AFAIR, the caller will be protected with a config (SUSPEND 
something). So IIUC your definition, this code will still be "dead code" 
in certain config. Therefore are you suggesting to protect everything 
suspend specific code with SUSPEND?

If the answer is yes, how about introducing the SUSPEND config now? This 
would allow to get some of the code merged in advance.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 08:58:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 08:58:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930346.1332985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5XL-0004ij-QA; Fri, 28 Mar 2025 08:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930346.1332985; Fri, 28 Mar 2025 08:57: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 1ty5XL-0004ic-MT; Fri, 28 Mar 2025 08:57:59 +0000
Received: by outflank-mailman (input) for mailman id 930346;
 Fri, 28 Mar 2025 08:57: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ty5XL-0004SX-08
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 08:57:59 +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 beeb10ef-0bb2-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 09:57:58 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso17886105e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 01:57:58 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b658803sm1942146f8f.6.2025.03.28.01.57.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 01:57: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: beeb10ef-0bb2-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743152278; x=1743757078; 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=lhRZh7WCibBUzRjDjt0vZjBcKBUmtB/J1KomEJfxB4Y=;
        b=ZI9l72NkPVuGwnV05YtXimvAN+snfaM0VRttw2DXhusKU2R4DaxHNSP91n4Z5ufzUr
         moPnOXhGdZ9YJRJOYyLLIU9cl5hx2XdLNd33BOnrucCw/lpyG1x1dDxHFudVnl9RZPbA
         28Z2tznjixpcY+GHbBmuM3XsYF0ltwC9N2wr0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743152278; x=1743757078;
        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=lhRZh7WCibBUzRjDjt0vZjBcKBUmtB/J1KomEJfxB4Y=;
        b=Ms0zdW6R9OS+hSh03RCcNxdv4YPurUYq/rX+4XFDvGqc1IlLIHq9aBLCsOU9blVoTl
         ui/yvksf6tNH3SOTfb6equOHoGcOHPe4JigoC6e8g5qXAVAcP9DajbTrppWUiomBkohq
         M/a6HHw7nFz4zMkcYqhDtTq0ZYOyWe/Sc4FepY1luofbkOtNeUEAFOGK70btBhRQ8Djh
         GKcn120lFOWfg9rWGdYDILEEPplZ/XPfavLflCWwTmU/aACnRQbPdgYeyCziIBWDAxrM
         LQ4Tx/PVDDA+klr/2ma9YRv5hDfaLkO4ZizXF8MusL5C9qTOTDTeCwIbzLwNI8wRh61g
         WDhw==
X-Forwarded-Encrypted: i=1; AJvYcCV0O+d4EkKi1kswnxtiz9qJFMi+oefQZ19fXt7HLbEc0BAeuqZ3aVaGgAhDkCMMCiK7HmvgydAGIWg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxA6V1/9DFbBJH6z7wa9c75O0pmSrnjO/o1dXhxmNGIXctl2XFP
	lgruHYS/xQsHZ6y/ACaHI/yU1sJ38yhi9Uw0AOoD3Wf4AMGJQjjAkwHycY3etx4=
X-Gm-Gg: ASbGnctpmdiG3I/v8o4nSJUPacnV/EaZP6yRMRlbAHSL0ChxuFnVHEDNhj5r93Dzc+y
	+Y6H7ylmcX6d5N+S4B32Sn0j8d0OY3nDjgARR9Als3BKQOaAGNHM4EFJn3046F7pABbj2niqgeE
	KoQbvs2ewDpzBKOb3hHEFSPgUah75se7mh8A0wN2r2zR3o2E7i1KS16nmbvAZBM3vM8+SHZfZWu
	8CWbtWex12QgqflSsacssz1lxYiCIvwlbuljOhwUi265NpsNIngFoQjjUkmmCDkcFTNxCpCgunF
	GjKpQjxFmQMSR3OSChyhSE850tUfaKcs3YpRbP+YydqNUirWXbyNFz3jVi2EsAYkW8Z/DQ6B45s
	lWR0GX2lyCQ==
X-Google-Smtp-Source: AGHT+IEFYy2/eSAXnxM2Byfxy1bZhLWPuauHmtYx+8IGQGO6ZxH26nYTDFaxQHyVnCvGWYiTutpkPQ==
X-Received: by 2002:a5d:59ae:0:b0:391:47d8:de2d with SMTP id ffacd0b85a97d-39ad1753282mr6449206f8f.23.1743152277894;
        Fri, 28 Mar 2025 01:57:57 -0700 (PDT)
Message-ID: <52f4caa7-30c9-49c7-ab36-d1282f777683@citrix.com>
Date: Fri, 28 Mar 2025 08:57:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 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>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?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>
References: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@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: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27/03/2025 5:33 pm, Oleksii Kurochko wrote:
>  As Anrew mentioned here https://lore.kernel.org/xen-devel/f294e2b1-db03-46b2-b46d-61e89b55cef3@suse.com/T/#ma4205392964ff913d9dfa8e044a4af59ed6aef88:
>  "This patch possibly wants to wait until I've fixed the compiler checks to update to the new baseline, ..."

This is now committed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 09:13:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 09:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930366.1333031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5mn-0002Cp-9A; Fri, 28 Mar 2025 09:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930366.1333031; Fri, 28 Mar 2025 09: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 1ty5mn-0002CA-0n; Fri, 28 Mar 2025 09:13:57 +0000
Received: by outflank-mailman (input) for mailman id 930366;
 Fri, 28 Mar 2025 09: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=HHkx=WP=li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1ty5ml-0001o1-54
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 09:13:55 +0000
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [2a02:8070:a484:e780::f9cd])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6e79d94-0bb4-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 10:13:52 +0100 (CET)
Received: from agordeev by li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com
 with local (Exim 4.98.1)
 (envelope-from <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>)
 id 1ty5mY-00000001t9o-1wfb; Fri, 28 Mar 2025 10:13:42 +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
X-Inumbo-ID: f6e79d94-0bb4-11f0-9ffa-bf95429c2676
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Andrey Ryabinin <ryabinin.a.a@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	kasan-dev@googlegroups.com,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Juergen Gross <jgross@suse.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: [PATCH 3/4] mm: Cleanup apply_to_pte_range() routine
Date: Fri, 28 Mar 2025 10:13:41 +0100
Message-ID: <6a4580bd289b4c62b09f8ef656d242c027c0c866.1743079720.git.agordeev@linux.ibm.com>
X-Mailer: git-send-email 2.43.5
In-Reply-To: <cover.1743079720.git.agordeev@linux.ibm.com>
References: <cover.1743079720.git.agordeev@linux.ibm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Alexander Gordeev <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>

Reverse 'create' vs 'mm == &init_mm' conditions and move
page table mask modification out of the atomic context.

Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
---
 mm/memory.c | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index fb7b8dc75167..00f253404db5 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2884,24 +2884,28 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 				     pte_fn_t fn, void *data, bool create,
 				     pgtbl_mod_mask *mask)
 {
+	int err = create ? -ENOMEM : -EINVAL;
 	pte_t *pte, *mapped_pte;
-	int err = 0;
 	spinlock_t *ptl;
 
-	if (create) {
-		mapped_pte = pte = (mm == &init_mm) ?
-			pte_alloc_kernel_track(pmd, addr, mask) :
-			pte_alloc_map_lock(mm, pmd, addr, &ptl);
+	if (mm == &init_mm) {
+		if (create)
+			pte = pte_alloc_kernel_track(pmd, addr, mask);
+		else
+			pte = pte_offset_kernel(pmd, addr);
 		if (!pte)
-			return -ENOMEM;
+			return err;
 	} else {
-		mapped_pte = pte = (mm == &init_mm) ?
-			pte_offset_kernel(pmd, addr) :
-			pte_offset_map_lock(mm, pmd, addr, &ptl);
+		if (create)
+			pte = pte_alloc_map_lock(mm, pmd, addr, &ptl);
+		else
+			pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
 		if (!pte)
-			return -EINVAL;
+			return err;
+		mapped_pte = pte;
 	}
 
+	err = 0;
 	arch_enter_lazy_mmu_mode();
 
 	if (fn) {
@@ -2913,12 +2917,14 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 			}
 		} while (addr += PAGE_SIZE, addr != end);
 	}
-	*mask |= PGTBL_PTE_MODIFIED;
 
 	arch_leave_lazy_mmu_mode();
 
 	if (mm != &init_mm)
 		pte_unmap_unlock(mapped_pte, ptl);
+
+	*mask |= PGTBL_PTE_MODIFIED;
+
 	return err;
 }
 
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 09:13:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 09:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930368.1333055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5mo-0002qt-QJ; Fri, 28 Mar 2025 09:13:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930368.1333055; Fri, 28 Mar 2025 09:13: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 1ty5mo-0002pz-K7; Fri, 28 Mar 2025 09:13:58 +0000
Received: by outflank-mailman (input) for mailman id 930368;
 Fri, 28 Mar 2025 09:13: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=HHkx=WP=li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1ty5mn-0001o1-55
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 09:13:57 +0000
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [2a02:8070:a484:e780::f9cd])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6f2a26d-0bb4-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 10:13:52 +0100 (CET)
Received: from agordeev by li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com
 with local (Exim 4.98.1)
 (envelope-from <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>)
 id 1ty5mY-00000001t9f-1ee8; Fri, 28 Mar 2025 10:13:42 +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
X-Inumbo-ID: f6f2a26d-0bb4-11f0-9ffa-bf95429c2676
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Andrey Ryabinin <ryabinin.a.a@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	kasan-dev@googlegroups.com,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Juergen Gross <jgross@suse.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: [PATCH 1/4] kasan: Avoid sleepable page allocation from atomic context
Date: Fri, 28 Mar 2025 10:13:39 +0100
Message-ID: <abb5783484bf9fbeeff0d866b9a619306f415c37.1743079720.git.agordeev@linux.ibm.com>
X-Mailer: git-send-email 2.43.5
In-Reply-To: <cover.1743079720.git.agordeev@linux.ibm.com>
References: <cover.1743079720.git.agordeev@linux.ibm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Alexander Gordeev <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>

apply_to_page_range() enters lazy MMU mode and then invokes
kasan_populate_vmalloc_pte() callback on each page table walk
iteration. The lazy MMU mode may only be entered only under
protection of the page table lock. However, the callback can
go into sleep when trying to allocate a single page.

Change __get_free_page() allocation mode from GFP_KERNEL to
GFP_ATOMIC to avoid scheduling out while in atomic context.

Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
---
 mm/kasan/shadow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
index 88d1c9dcb507..edfa77959474 100644
--- a/mm/kasan/shadow.c
+++ b/mm/kasan/shadow.c
@@ -301,7 +301,7 @@ static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	if (likely(!pte_none(ptep_get(ptep))))
 		return 0;
 
-	page = __get_free_page(GFP_KERNEL);
+	page = __get_free_page(GFP_ATOMIC);
 	if (!page)
 		return -ENOMEM;
 
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 09:13:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 09:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930367.1333036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5mn-0002HY-K1; Fri, 28 Mar 2025 09:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930367.1333036; Fri, 28 Mar 2025 09: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 1ty5mn-0002EH-9X; Fri, 28 Mar 2025 09:13:57 +0000
Received: by outflank-mailman (input) for mailman id 930367;
 Fri, 28 Mar 2025 09:13: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=HHkx=WP=li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1ty5mm-0001o1-54
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 09:13:56 +0000
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [2a02:8070:a484:e780::f9cd])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6e79da4-0bb4-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 10:13:52 +0100 (CET)
Received: from agordeev by li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com
 with local (Exim 4.98.1)
 (envelope-from <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>)
 id 1ty5mY-00000001t9k-1nrE; Fri, 28 Mar 2025 10:13:42 +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
X-Inumbo-ID: f6e79da4-0bb4-11f0-9ffa-bf95429c2676
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Andrey Ryabinin <ryabinin.a.a@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	kasan-dev@googlegroups.com,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Juergen Gross <jgross@suse.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: [PATCH 2/4] mm: Allow detection of wrong arch_enter_lazy_mmu_mode() context
Date: Fri, 28 Mar 2025 10:13:40 +0100
Message-ID: <07d6b41231658e66a570b21f3ed6fc8cf57ee171.1743079720.git.agordeev@linux.ibm.com>
X-Mailer: git-send-email 2.43.5
In-Reply-To: <cover.1743079720.git.agordeev@linux.ibm.com>
References: <cover.1743079720.git.agordeev@linux.ibm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Alexander Gordeev <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>

The lazy MMU batching may be only be entered and left under the
protection of the page table locks for all page tables which may
be modified. Yet, there were cases arch_enter_lazy_mmu_mode()
was called without the locks taken, e.g. commit b9ef323ea168
("powerpc/64s: Disable preemption in hash lazy mmu mode").

Make default arch_enter|leave|flush_lazy_mmu_mode() callbacks
complain at least in case the preemption is enabled to detect
wrong contexts.

Most platforms do not implement the callbacks, so to aovid a
performance impact allow the complaint when CONFIG_DEBUG_VM
option is enabled only.

Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
---
 include/linux/pgtable.h | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 94d267d02372..6669f977e368 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -228,9 +228,18 @@ static inline int pmd_dirty(pmd_t pmd)
  * it must synchronize the delayed page table writes properly on other CPUs.
  */
 #ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
-#define arch_enter_lazy_mmu_mode()	do {} while (0)
-#define arch_leave_lazy_mmu_mode()	do {} while (0)
-#define arch_flush_lazy_mmu_mode()	do {} while (0)
+static inline void arch_enter_lazy_mmu_mode(void)
+{
+	VM_WARN_ON(preemptible());
+}
+static inline void arch_leave_lazy_mmu_mode(void)
+{
+	VM_WARN_ON(preemptible());
+}
+static inline void arch_flush_lazy_mmu_mode(void)
+{
+	VM_WARN_ON(preemptible());
+}
 #endif
 
 #ifndef pte_batch_hint
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 09:13:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 09:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930365.1333023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5mm-00025c-TO; Fri, 28 Mar 2025 09:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930365.1333023; Fri, 28 Mar 2025 09:13: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 1ty5mm-00024t-MX; Fri, 28 Mar 2025 09:13:56 +0000
Received: by outflank-mailman (input) for mailman id 930365;
 Fri, 28 Mar 2025 09: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=huHb=WP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ty5mk-0001nv-JX
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 09:13:54 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20623.outbound.protection.outlook.com
 [2a01:111:f403:2009::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f755ffde-0bb4-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 10:13:53 +0100 (CET)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by MW4PR12MB7141.namprd12.prod.outlook.com (2603:10b6:303:213::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar
 2025 09:13:49 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.045; Fri, 28 Mar 2025
 09:13: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: f755ffde-0bb4-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FXQ5FQS35hCZKVEAFWaQKCWhvy5gtp7k9uRZnkRYRWusO8t+BGrHfXz+ataNXKmD/BZE8pJRXrtPpJ5E8u3ia5Vq1aCZ9f/YCgbSik1GVf/D5dkkESFTZN0oblrOs+1U0TVRlzFOdc96aHi6Ng4mwE99f2w84IHd7GzEiEtf2y1WIApjjxQk4wmYv8Effi4Zf3BxtyZeOY6kVmBE67B6kYTopOtSF4+M9nSKPxeFAt8W5xFwx3aYAr4mLfEuCK2wC9LpohcWamDE1Vxvhu01ktMAjVjMT/aU8VRZRc0GkSktkvVlddi0dVFM6AnrSF7YPmIe2rfwE5Ahrc2YtGpTIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KsHSJJaOKk4neO7+xXGCJ1G+n7FINOVR8E0/e0L7Yz4=;
 b=tnWZcJew6HD42nmISJP0EFaoCYPG+HjmT7v0FNhYr6UxMWczwSC8O4exyMZvFHy3aozZkxtbVdDtDDLaJc0j6FYJxFyE5EVW7w4U8EWPt8zTZwZQkR2ObKvFgaMX+yy5cmmL45W54wYIB0DZamWLYm0tEt653vfNuHloRF/8RLiAkbpvCKzC1ei67+vWxIR6KUECGubBHS9VXQKdCkSXkhdh22AptbhdJ3Sp/ygu0Umbl5FTV3xoONOUuN5QW/g+d4Wfdxf7w4XLZq2GF9bF850HPf6EZRZ1a0vZ4bV2PrSmGvR0WUa0O7r4fdZ8O69WSw8Aj3JGBK67zOgks6xvXw==
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=KsHSJJaOKk4neO7+xXGCJ1G+n7FINOVR8E0/e0L7Yz4=;
 b=KqrTAVKO6Yxmom78kSGQ8Fkb+OSeW8tXqbx7IFN2GSMID6hXWQhgPL5Fc13sJmwbEb1azrs2OuL0+sGpisJFMwJdr+drlrgcY6HwWNcVh45GcktlqOUedVD+4eRCTlGsnUEibt91fuYq6oHXH1xAqCQWi7DljqhlpIDUnjmPmSQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <cb652d45-9beb-4385-84cd-2015f983e27e@amd.com>
Date: Fri, 28 Mar 2025 10:13:45 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/char: implement suspend/resume calls for SCIF driver
To: Julien Grall <julien@xen.org>, Mykola Kvach <xakep.amatop@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <800acb5c8447153e6c451c8df316ff678fbb4087.1743114879.git.mykola_kvach@epam.com>
 <d5c15760-c6cd-4f20-b296-a9f9fd44ab0d@amd.com>
 <baf871c2-8f4e-45a4-b03e-cb0b59c8eb18@xen.org>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <baf871c2-8f4e-45a4-b03e-cb0b59c8eb18@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0180.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::10) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|MW4PR12MB7141:EE_
X-MS-Office365-Filtering-Correlation-Id: 78bbda1e-97f5-45f5-0b56-08dd6dd8d9f3
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?cHVMOWNtUWhCUExiRk0vTG5QVVg3Z1cxYkZ5anB6QXNsdzR6NE1HcE1iWU9l?=
 =?utf-8?B?WStRRUlJYVBZcld6SGNndzJHenZiUEc5RlZqOS9wczc5Z3VDL05jVm1pcmhi?=
 =?utf-8?B?ZUZOVzhiTDcrMWF2ZXRwSzBndzN1NzE4MUVNY1RGV1FGZHBERHlMTDhMUkZW?=
 =?utf-8?B?QWhxZnVrYmtFV3FheHV0a3JaNk04Q01QbVFrSUxKS2Q2b2o5SllmYmZTRnlZ?=
 =?utf-8?B?L2lTSzR0b3dZSzJEUFdRT05ZSHVXSU1VekpRZ0hyTG5kd0ZvUzRJNTY5MzRK?=
 =?utf-8?B?OVBTRmxZUDJmQk5zNEN1QlhsUkZBQXZxK0UrOG10aUpqYmVXR3g0bzA2S0F3?=
 =?utf-8?B?SUVpZVdDazZOT0gvejhhTk5hb3E0L0x2eVpLOWczRWVlMVRjZ0NEQUxld2Z4?=
 =?utf-8?B?Wi9IWk9uYi9URjdGUkdjREgzSndYVVp0cG4yQVQ5bmI5aGJiZGpuY0hJTUdO?=
 =?utf-8?B?eEFUMUYyOGMyckhicXZQRTNRaVE1QWVPbzhCSWM2TGhSdnNzK05hOHE2UUZY?=
 =?utf-8?B?SThKN01ZQ21GUVFHdzBLZDJEdGEzb2ZFQ090VUNLOTZXODQ4M0E1MC9peG9L?=
 =?utf-8?B?MzMwMFpMZFNOc1hFcittdW1zZHFldkpnNDI5K0poUFg1My9qNlVUN1FNWTNS?=
 =?utf-8?B?bmE5aFZhMlRNa0NObE5tZnYrREdOT1d0U2lGeVVZbWZaSzNpR3pxcnpxMVZT?=
 =?utf-8?B?UWlhaFdiR1RneU1heHRaa0xLSUNrbEI4V2hnOUUxbmFudkM4anR0WVA4a2ZK?=
 =?utf-8?B?OUN4dUtOQjZTVUhMNVJDaEgvbkxQc2hNT0Uxb2lQNEdUdEdhRmVlRUk4ZkZ0?=
 =?utf-8?B?bTlIMUZqYmFYS2hDdkhCUzZ2TUtYc05ENGtSN1FpLzd2VHBrN2s4aDhwQURi?=
 =?utf-8?B?OHVkSmtGTnN3aHhoamZpalJVQytib0k2cTZoekh4ODhJRThMaGlMa0tOUzFX?=
 =?utf-8?B?OTB5alpTMWxOM2habXhpZGZkbDZCQ2l1aHVncFRLd2VBMXJrNFJtZVd2WDV6?=
 =?utf-8?B?cmI3MHJzb0VGaU1nR0tTKzFkRy9kZUdJVndvNmdRTUwvYWxzNS9FVnNyazVK?=
 =?utf-8?B?TDFUVDd4ZXJzeWl5dUNDY3I5RHVSc0dPb1RZelpGMExHUElMUFdpaW16MWJW?=
 =?utf-8?B?alQvRzlFWDVENy8xTU8zUVdLYVg5MG91eUZrbFBHbVMvZXBCTGptSGxORVdC?=
 =?utf-8?B?cnlBUHU2Si9BVWVWOGJ6YUYxekFqUWhpT3hCNENqZUE2MVh6SkFQNVRyOWJs?=
 =?utf-8?B?ZC9CdzRNOFhsNFJWMWdycld1T2JTb3hMbnRONjlTenhFaGNPb1UvdEhCQ3lY?=
 =?utf-8?B?NG1CdUcxM1pTQWdqVmgwNHl2Q1lZbGRvK0dKUkNCSEJXL0R3Y1dWTkRGcU1Z?=
 =?utf-8?B?V3lRUDJwdGJFdjY4UVVuZXZyWnJ1WXRDU1o3ZE1CMFJTWFhpWm40VkdYZnkr?=
 =?utf-8?B?UmhoUStBOHJrNlZlT0hxWEJCNFhYenZXMnBRZ1hTYnRDeFJtdFFHd3BYMEdk?=
 =?utf-8?B?WGNsQmgzUmNrbWEzRVYrK3dKNVZkQU5QVGVLY0NCZjNGb2tTZml0M2svclBO?=
 =?utf-8?B?bGNINkZaSDRpVTRabGdDM0dDQlEzUzIzVXJGSnU4YlEvVFVSMXRQeGFXU2h1?=
 =?utf-8?B?bW1RR0k0RlN2OTVBVkZmc0QvNnd1ZDJZa2MrSDBaTWh6QXpGR1dYb0VqWDhh?=
 =?utf-8?B?eWo1UEVzdGpoREN3OVU1aVlmOThnamdZZElWTnYyV3JvT1ppK2JkZWN5dFBy?=
 =?utf-8?B?SEczbU5zbm9oZkorcXBBTWVsVGd1aVVSUlM4VWYzZ2tBWmpwVHc4T1dSQWtj?=
 =?utf-8?B?eU85UFp6OTVpbURhbWNQb1pkRyt1c1FkZEJRNkZ1eVlSdzFVUFFHWlpxN3lx?=
 =?utf-8?Q?++tZcwJacZusT?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?VGV5VkJDR2VTSDdoWHczNUp1QmlTOWxqSTlKV0V4ay9XendPUGVlMGV4R25o?=
 =?utf-8?B?Q01nVFhkZWs2VktFTnNWNkgxZ0RGT21Ib1JNZndxbmNXTVhTS0FKVlEvTkto?=
 =?utf-8?B?ejFneWoxblJXdmR3UENuZWtIbXMzUUkxQVdQSWdLeElmOTJ5NnpqSy94T3lB?=
 =?utf-8?B?czNERFVFNHAyUytZUTZqV2VYVExLRmJZSFo4elI2OWdtTmc4UVdIRHZYZ2tU?=
 =?utf-8?B?bTBFclFPSCtvV3VGbFdxREsyUDNXS1pTUTFsUUsybmFWNXNpWTdxNnh2bGpa?=
 =?utf-8?B?VDVhL2lpMWh5OVdFSXNKeVU5Mk9MejhITktzZnUrZXcwdWU3cjhTNlNWelpw?=
 =?utf-8?B?KzV6WmQvdUFraTh5MWxHWGs1RUJBS1hSN1ltamwwOFBVbGFwc1BkQkRoWTZQ?=
 =?utf-8?B?WFE2cGRtb1VTbzRWZU14UHRUNkF1a25IYkFEUnY2QnNNYi84Qkxhc2Nkd1VV?=
 =?utf-8?B?ZDN2N2ppb1A1UUtuUndHZjU4KzBRRWVWVlNnWlN2N2R1YTBQbkptREdxb1gx?=
 =?utf-8?B?V1ZLWnpKcUhQL2Jha2QxdFczSFhDZVpPbVhWcE9zUExYOTlzSVlWWW95VVFk?=
 =?utf-8?B?UFc2WklqL2htRi9laWV3RExNUGhjSEJ4QmdUWmIxZHdjY2dMUy9wSzgzY2NP?=
 =?utf-8?B?bnJzYXZMOW1kVTZ1UExKTGVkWDZ2K2o2dDVPVzBPejZSb3c1L1FLak94aFkv?=
 =?utf-8?B?dWd4eUtlaXQ4R082aGtrK3hrbG1Ta1ExM2J5NVZxUmcxYkJXcTJLRUNMdDc5?=
 =?utf-8?B?a21uWVZIYmlRUjFGc05WeWtSdDcwUU5qL2I5NFJFL1JTU2dUanp2dmF5L0hu?=
 =?utf-8?B?aUVSV1NSZGVOVDJEaDVseHByc0QwU3phZlp4MHJtcEpQZ2hQV3VRdE1rVVMx?=
 =?utf-8?B?THBiakpDbHN2YlhEYjNJTUdRZnZVTDRPUml2ZEI4L2xhUWE0Ri93RW9qNThW?=
 =?utf-8?B?YnFJWDh3SGtJU0dzb0Izb3Z1b3pOT1FkTnovV2dQTEUwVUFHQ3k0UStjRTRp?=
 =?utf-8?B?R3Z2cGw0N3ZBMzE5MldrSGZoMVU5UTFndHpOTUZvR1lpVG9zV3BPNWp2enlp?=
 =?utf-8?B?UEZBd1JKbmdNbTdjZ2RxTVJSa1NYdnZ3QStrdWJCYkkwK3NmbksrdGtwTXZt?=
 =?utf-8?B?dWpQaHJkUTFZMW1hQlVDdVJsQ0JUbkN6eVI0SGw5Z1VWelMwU254T1g0UVlm?=
 =?utf-8?B?VWp3ZGxkbDExSjBORFUybEJUMDJuS1ZSZHJGZ1kzaWYrSENjZzlQU284Uytv?=
 =?utf-8?B?eGwzeSt5UzFlaCtLR08xalFSZ2NENHdOR2FrVG9xUlRqVXBwZDFnNmo5Q0dE?=
 =?utf-8?B?OW1YaURWdWdObEdaaUYwZ1QxdHBIc1VNMFVUajloMk02RElzbE8yb2ZFV29N?=
 =?utf-8?B?bVVzWGFjaTQ3UU1kYWFVU3BjU2xmcUNwLzNtbi84WjlEbUExQWlYTm1kRmdF?=
 =?utf-8?B?SldUTkR6WDdranlsUjVCSjE1eDZucXBPc0dBRW5xUElaN3Z3NktyMjhCUGdv?=
 =?utf-8?B?UzNPZVdGYW8xclN5UWlSeEVDN0pvZ1pTci9JY1JVTXpyMFAzclh1dlRDRDdn?=
 =?utf-8?B?MVU2VWZ5VzdiMGxPUVZkOE5tWUlNbUoyVDBCYW5lSUFVZldOZmh2ME1yVFRy?=
 =?utf-8?B?dHN1SEpDY0JDM21DblY3V1pBbHA3N1NRRjIyYTdLbGZUeGFlWm80VTRSZGdH?=
 =?utf-8?B?U0tENVdKdGhIdnhEZFdXaU1SdWRXWFZCNDVDTStiT0phd3ZTaER0dVc5S1JO?=
 =?utf-8?B?aTRVYjhMMjAyZTEweWhHM0h5b2RuTkMwZzZlTzJmR2tFLy81Y2U0SWx5WEwy?=
 =?utf-8?B?bmY4Tmk1SjdidURKc3A0MTVlNFg5N3FMTVdyT2VGYytiRFFleHlUQ2NpY1RB?=
 =?utf-8?B?YnNNV0xLZFl3R3NQeFZrakJSOUFDQkg0YnJSQlRYSW0rS2pSNVNJVFBEVXRm?=
 =?utf-8?B?S2xibWVZeGFqaDg4a1Y5eUJnYm9rNnZDdFNIbzVraXdOL1ExNzJDMzU4Tk9j?=
 =?utf-8?B?ZjZyQm5RNDA1RXI1MXBBeVlpZ1VONWpHaE5jdVZ0UUEyR2JNY1R1NDcxUmYv?=
 =?utf-8?B?MVlXU0hUcDJ0YisyOXIzcEp4OVVxb0p3QXZseENtKzBDU3lyZ1pQY3d4a0tG?=
 =?utf-8?Q?sZgZ4UGOVPrRi6tEp+s9Ox/Nw?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 78bbda1e-97f5-45f5-0b56-08dd6dd8d9f3
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 09:13:49.5343
 (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: UdrCTHIRJGnGnJuiBlRIpduhJ91f7XOqGnw79yG/OxzXMq2l4GCiT3c4VgeiTVhH
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7141



On 28/03/2025 09:57, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 28/03/2025 08:39, Orzel, Michal wrote:
>>
>>
>> On 28/03/2025 08:08, Mykola Kvach wrote:
>>>
>>>
>>> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>>
>>> The changes have been tested only on the Renesas R-Car H3 Starter Kit board.
>>>
>>> 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>
>> I'm afraid that without a suspend feature on Arm merged, this is just
>> introducing a dead code which we try to eliminate both for MISRA and safety.
>> I'd prefer to wait for the suspend feature to be merged first.
> 
> This patch is not different from the ns16550 driver which already have
> suspend/resume callback and users. They will be used by but the caller
> is not used on Arm yet. So you are saying the code there is not MISRA
> compliant? If so, is this reported by ECLAIR?
NS also works for x86 that has suspend feature. SCIF only works for Arm that
does not have suspend feature.
Neither NS nor SCIF are enabled in ECLAIR.
We have enabled MISRA 2.1 rule about unreachable code (suspend is example of
unreachable because it *cannot* be executed), but it's not clean i.e. gating.

> 
> Regardless that, I don't think the full suspend/resume series would
> help. AFAIR, the caller will be protected with a config (SUSPEND
> something). So IIUC your definition, this code will still be "dead code"
> in certain config. Therefore are you suggesting to protect everything
> suspend specific code with SUSPEND?
I'd say so, yes.

> 
> If the answer is yes, how about introducing the SUSPEND config now? This
> would allow to get some of the code merged in advance.
Better this than nothing. But in case of this patch, why would we take it anyway
without suspend feature? I'd prefer to add SUSPEND config and protect existing
code i.e. NS that can work on x86 but not on Arm, etc.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 09:13:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 09:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930364.1333017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5mm-00022U-IX; Fri, 28 Mar 2025 09:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930364.1333017; Fri, 28 Mar 2025 09:13: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 1ty5mm-00022N-FV; Fri, 28 Mar 2025 09:13:56 +0000
Received: by outflank-mailman (input) for mailman id 930364;
 Fri, 28 Mar 2025 09:13: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=HHkx=WP=li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1ty5mk-0001o1-F3
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 09:13:54 +0000
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [2a02:8070:a484:e780::f9cd])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6e79dad-0bb4-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 10:13:52 +0100 (CET)
Received: from agordeev by li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com
 with local (Exim 4.98.1)
 (envelope-from <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>)
 id 1ty5mY-00000001t9d-1CLF; Fri, 28 Mar 2025 10:13:42 +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
X-Inumbo-ID: f6e79dad-0bb4-11f0-9ffa-bf95429c2676
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Andrey Ryabinin <ryabinin.a.a@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	kasan-dev@googlegroups.com,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Juergen Gross <jgross@suse.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: [PATCH 0/4] mm: Fix apply_to_pte_range() vs lazy MMU mode
Date: Fri, 28 Mar 2025 10:13:38 +0100
Message-ID: <cover.1743079720.git.agordeev@linux.ibm.com>
X-Mailer: git-send-email 2.43.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Alexander Gordeev <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>

Hi All!

On s390 if make arch_enter_lazy_mmu_mode() do preempt_enable() and
arch_leave_lazy_mmu_mode() do preempt_disable() I am getting this:

    [  553.332108] preempt_count: 1, expected: 0
    [  553.332117] no locks held by multipathd/2116.
    [  553.332128] CPU: 24 PID: 2116 Comm: multipathd Kdump: loaded Tainted:
    [  553.332139] Hardware name: IBM 3931 A01 701 (LPAR)
    [  553.332146] Call Trace:
    [  553.332152]  [<00000000158de23a>] dump_stack_lvl+0xfa/0x150 
    [  553.332167]  [<0000000013e10d12>] __might_resched+0x57a/0x5e8 
    [  553.332178]  [<00000000144eb6c2>] __alloc_pages+0x2ba/0x7c0 
    [  553.332189]  [<00000000144d5cdc>] __get_free_pages+0x2c/0x88 
    [  553.332198]  [<00000000145663f6>] kasan_populate_vmalloc_pte+0x4e/0x110 
    [  553.332207]  [<000000001447625c>] apply_to_pte_range+0x164/0x3c8 
    [  553.332218]  [<000000001448125a>] apply_to_pmd_range+0xda/0x318 
    [  553.332226]  [<000000001448181c>] __apply_to_page_range+0x384/0x768 
    [  553.332233]  [<0000000014481c28>] apply_to_page_range+0x28/0x38 
    [  553.332241]  [<00000000145665da>] kasan_populate_vmalloc+0x82/0x98 
    [  553.332249]  [<00000000144c88d0>] alloc_vmap_area+0x590/0x1c90 
    [  553.332257]  [<00000000144ca108>] __get_vm_area_node.constprop.0+0x138/0x260 
    [  553.332265]  [<00000000144d17fc>] __vmalloc_node_range+0x134/0x360 
    [  553.332274]  [<0000000013d5dbf2>] alloc_thread_stack_node+0x112/0x378 
    [  553.332284]  [<0000000013d62726>] dup_task_struct+0x66/0x430 
    [  553.332293]  [<0000000013d63962>] copy_process+0x432/0x4b80 
    [  553.332302]  [<0000000013d68300>] kernel_clone+0xf0/0x7d0 
    [  553.332311]  [<0000000013d68bd6>] __do_sys_clone+0xae/0xc8 
    [  553.332400]  [<0000000013d68dee>] __s390x_sys_clone+0xd6/0x118 
    [  553.332410]  [<0000000013c9d34c>] do_syscall+0x22c/0x328 
    [  553.332419]  [<00000000158e7366>] __do_syscall+0xce/0xf0 
    [  553.332428]  [<0000000015913260>] system_call+0x70/0x98 

I guess, commit b9ef323ea168 ("powerpc/64s: Disable preemption in hash
lazy mmu mode") (albeit not completely) fixed similar issue on PPC:

    apply_to_page_range on kernel pages does not disable preemption, which         
    is a requirement for hash's lazy mmu mode, which keeps track of the            
    TLBs to flush with a per-cpu array.                                            

This series is an attempt to fix the violation of lazy MMU mode context
as described for arch_enter_lazy_mmu_mode():

    This mode can only be entered and left under the protection of  
    the page table locks for all page tables which may be modified.

If I am not mistaken, xen and sparc are also prone to the described
problem, as they use this_cpu_ptr() rather than get_cpu_var().

Take init_mm.page_table_lock for kernel tables to avoid all of that.

Thanks!

Alexander Gordeev (4):
  kasan: Avoid sleepable page allocation from atomic context
  mm: Allow detection of wrong arch_enter_lazy_mmu_mode() context
  mm: Cleanup apply_to_pte_range() routine
  mm: Protect kernel pgtables in apply_to_pte_range()

 include/linux/pgtable.h | 15 ++++++++++++---
 mm/kasan/shadow.c       |  9 +++------
 mm/memory.c             | 33 +++++++++++++++++++++------------
 3 files changed, 36 insertions(+), 21 deletions(-)

-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 09:13:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 09:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930363.1333006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty5ml-0001oJ-5X; Fri, 28 Mar 2025 09:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930363.1333006; Fri, 28 Mar 2025 09: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 1ty5ml-0001oC-33; Fri, 28 Mar 2025 09:13:55 +0000
Received: by outflank-mailman (input) for mailman id 930363;
 Fri, 28 Mar 2025 09: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=HHkx=WP=li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1ty5mj-0001nv-VA
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 09:13:53 +0000
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [2a02:8070:a484:e780::f9cd])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6e5b158-0bb4-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 10:13:52 +0100 (CET)
Received: from agordeev by li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com
 with local (Exim 4.98.1)
 (envelope-from <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>)
 id 1ty5mY-00000001t9q-24st; Fri, 28 Mar 2025 10:13:42 +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
X-Inumbo-ID: f6e5b158-0bb4-11f0-9ea3-5ba50f476ded
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Andrey Ryabinin <ryabinin.a.a@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	linux-mm@kvack.org,
	kasan-dev@googlegroups.com,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Juergen Gross <jgross@suse.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: [PATCH 4/4] mm: Protect kernel pgtables in apply_to_pte_range()
Date: Fri, 28 Mar 2025 10:13:42 +0100
Message-ID: <d13e7b254a018e72f7a660e7b177e483d41178e4.1743079720.git.agordeev@linux.ibm.com>
X-Mailer: git-send-email 2.43.5
In-Reply-To: <cover.1743079720.git.agordeev@linux.ibm.com>
References: <cover.1743079720.git.agordeev@linux.ibm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Alexander Gordeev <agordeev@li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com>

The lazy MMU mode can only be entered and left under the protection
of the page table locks for all page tables which may be modified.
Yet, when it comes to kernel mappings apply_to_pte_range() does not
take any locks. That does not conform arch_enter|leave_lazy_mmu_mode()
semantics and could potentially lead to re-schedulling a process while
in lazy MMU mode or racing on a kernel page table updates.

Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
---
 mm/kasan/shadow.c | 7 ++-----
 mm/memory.c       | 5 ++++-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
index edfa77959474..6531a7aa8562 100644
--- a/mm/kasan/shadow.c
+++ b/mm/kasan/shadow.c
@@ -308,14 +308,14 @@ static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	__memset((void *)page, KASAN_VMALLOC_INVALID, PAGE_SIZE);
 	pte = pfn_pte(PFN_DOWN(__pa(page)), PAGE_KERNEL);
 
-	spin_lock(&init_mm.page_table_lock);
 	if (likely(pte_none(ptep_get(ptep)))) {
 		set_pte_at(&init_mm, addr, ptep, pte);
 		page = 0;
 	}
-	spin_unlock(&init_mm.page_table_lock);
+
 	if (page)
 		free_page(page);
+
 	return 0;
 }
 
@@ -401,13 +401,10 @@ static int kasan_depopulate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 
 	page = (unsigned long)__va(pte_pfn(ptep_get(ptep)) << PAGE_SHIFT);
 
-	spin_lock(&init_mm.page_table_lock);
-
 	if (likely(!pte_none(ptep_get(ptep)))) {
 		pte_clear(&init_mm, addr, ptep);
 		free_page(page);
 	}
-	spin_unlock(&init_mm.page_table_lock);
 
 	return 0;
 }
diff --git a/mm/memory.c b/mm/memory.c
index 00f253404db5..c000377cad0c 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2895,6 +2895,7 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 			pte = pte_offset_kernel(pmd, addr);
 		if (!pte)
 			return err;
+		spin_lock(&init_mm.page_table_lock);
 	} else {
 		if (create)
 			pte = pte_alloc_map_lock(mm, pmd, addr, &ptl);
@@ -2920,7 +2921,9 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 
 	arch_leave_lazy_mmu_mode();
 
-	if (mm != &init_mm)
+	if (mm == &init_mm)
+		spin_unlock(&init_mm.page_table_lock);
+	else
 		pte_unmap_unlock(mapped_pte, ptl);
 
 	*mask |= PGTBL_PTE_MODIFIED;
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 09:46:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 09:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930438.1333068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty6IJ-0003Wj-HD; Fri, 28 Mar 2025 09:46:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930438.1333068; Fri, 28 Mar 2025 09:46: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 1ty6IJ-0003Wc-DH; Fri, 28 Mar 2025 09:46:31 +0000
Received: by outflank-mailman (input) for mailman id 930438;
 Fri, 28 Mar 2025 09:46:29 +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 1ty6IH-0003WW-SZ
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 09:46:29 +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 1ty6IG-00Dle7-2N;
 Fri, 28 Mar 2025 09:46:28 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1ty6IG-003tu6-1l;
 Fri, 28 Mar 2025 09:46: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>
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=hkblUL0C22RZWoqw1CHaYP5fzlt7y4Fkag2ZzxvYppk=; b=v0FpodijYDwBKF1IFR4Ww9XMiT
	fzTdlwDV0ih0OBkd8OzzO+1ZJ8L6/i4ynqbZUWOPQUKE2Rgo6xwsRQT5CHFoQ5L5vS/6gPhVK4are
	4e3rvON1N1SNUgXcdqbvOEddNTXoslSnfjwWuW4y+iyfAO13Dh6eDWxE0w1oHnuqBphs=;
Message-ID: <5aa9715d-db0d-4e9e-8107-94ebb1ef4325@xen.org>
Date: Fri, 28 Mar 2025 09:46:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/char: implement suspend/resume calls for SCIF driver
Content-Language: en-GB
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Mykola Kvach <xakep.amatop@gmail.com>, xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Mykola Kvach <mykola_kvach@epam.com>
References: <800acb5c8447153e6c451c8df316ff678fbb4087.1743114879.git.mykola_kvach@epam.com>
 <d5c15760-c6cd-4f20-b296-a9f9fd44ab0d@amd.com>
 <baf871c2-8f4e-45a4-b03e-cb0b59c8eb18@xen.org>
 <cb652d45-9beb-4385-84cd-2015f983e27e@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <cb652d45-9beb-4385-84cd-2015f983e27e@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 28/03/2025 09:13, Orzel, Michal wrote:
> 
> 
> On 28/03/2025 09:57, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 28/03/2025 08:39, Orzel, Michal wrote:
>>>
>>>
>>> On 28/03/2025 08:08, Mykola Kvach wrote:
>>>>
>>>>
>>>> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>>>
>>>> The changes have been tested only on the Renesas R-Car H3 Starter Kit board.
>>>>
>>>> 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>
>>> I'm afraid that without a suspend feature on Arm merged, this is just
>>> introducing a dead code which we try to eliminate both for MISRA and safety.
>>> I'd prefer to wait for the suspend feature to be merged first.
>>
>> This patch is not different from the ns16550 driver which already have
>> suspend/resume callback and users. They will be used by but the caller
>> is not used on Arm yet. So you are saying the code there is not MISRA
>> compliant? If so, is this reported by ECLAIR?
> NS also works for x86 that has suspend feature. SCIF only works for Arm that
> does not have suspend feature.

I don't understand why it matters that NS16550 is used on x86. In 
previous MISRA discussion we said the violations were tracked per arch 
rather than globally.

[...]

>>
>> Regardless that, I don't think the full suspend/resume series would
>> help. AFAIR, the caller will be protected with a config (SUSPEND
>> something). So IIUC your definition, this code will still be "dead code"
>> in certain config. Therefore are you suggesting to protect everything
>> suspend specific code with SUSPEND?
> I'd say so, yes.
> 
>>
>> If the answer is yes, how about introducing the SUSPEND config now? This
>> would allow to get some of the code merged in advance.
> Better this than nothing. But in case of this patch, why would we take it anyway
> without suspend feature?

Two reasons:
   * There is nothing really preventing the SCIF to be used on x86 (yes 
I know there are only Arm HW today)
   * We will likely want to commit the series bits by bits to avoid 
dozen of patches to be sent everytime. This patch is something small 
enough and can be committed before hand.

> I'd prefer to add SUSPEND config and protect existing
> code i.e. NS that can work on x86 but not on Arm, etc.

I am fine if we want to add the SUSPEND config first.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 10:34:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 10:34:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930464.1333093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty72N-0006NE-2K; Fri, 28 Mar 2025 10:34:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930464.1333093; Fri, 28 Mar 2025 10:34: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 1ty72M-0006N7-UI; Fri, 28 Mar 2025 10:34:06 +0000
Received: by outflank-mailman (input) for mailman id 930464;
 Fri, 28 Mar 2025 10:34: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ty72M-0006N1-0K
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 10:34:06 +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 2aea97b2-0bc0-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 11:34:03 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so1581065f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 03:34:03 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8fba4c29sm23985045e9.5.2025.03.28.03.34.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 03:34: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: 2aea97b2-0bc0-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743158042; x=1743762842; 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=0NS9nfpAufetqP2tPmAke1ZnKvnsQ0Ae1JnsvKi6rBM=;
        b=cxgUQyPRTOD+HQlTo5dPMiEzTU0+4ZYpYExJ3kb/lizVO/B5criPnaBDobT92K9fFI
         jFTcwHH3F0y4ho4ZIfc+ODiDwy5TRwGujbnyQbWh5nMzK1vygnQAOrMOCU+VHf2hejmd
         Kpzj1wVAiwR9A0psRheNo2AIkwp/2nkubEp4Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743158042; x=1743762842;
        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=0NS9nfpAufetqP2tPmAke1ZnKvnsQ0Ae1JnsvKi6rBM=;
        b=g5d7RxQdzgkMXIRMxzFZ+dC5k4PWMzzjVl5C88T4qfQxY2iIHR0rz/0skM7A2icstD
         a9wu1Gt+ANOWH7fy7P+6wyiHdMta5GEx3R4LoS6h9Ryx0ki+C1rkbMekbotZ5WU+DWRD
         /CNzLeXs6s6Xyd5kuqDTldS7JP3vf27jz6k41nuqZDCvnX2yQHzIX76X18ggQqL/DEqu
         mBxLTCgvfN82L4CRmfY0UOmZQTPQb8AvdMXTTUvSsBc156Ptgb/Wkutzs2/YUWeoqSp5
         RtQC5RHqlMeRWmzVV52Snkk3Ff3ABWJCINdbB5FBo/m8+/UApvFVcmE3/dw13WSn+Nd0
         3f1w==
X-Forwarded-Encrypted: i=1; AJvYcCXgP9AZWlcx+sixJHalaW+soqAOXO30iLgsPm1BPdZFZefcrgEs34+KBMWjAahJ8uGV/ImWds9PAwM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyfUsWuw1wc+0JX1YXrqpqZnkZC3lPxSEKUQ+O84467cadyaTab
	+oQVvMKSLVATZUqm7TzsBPyp54capTzeevr1WCzjXEdL4SgvTFssjtmUHpJmVpHgtC1iRmhBbkZ
	rVtc=
X-Gm-Gg: ASbGncu+6k4hjgHMf9DewK6nBQCKsFUGr0O/TNaRwSJEDsWj0c3viNCreUNEHFdrGit
	k/naTIkxXZi/Ozu4JQ7Ir8aeYUGCuPDwZrpQo1PVi2M5FlQRDDUj43yJTdAIGWI7/ldXEZBifwI
	nnY6uUV4rFf7jJ5yZizcVVwgbCUWGGlEgBFqB0vPYnq2dHWOIThFv8DVclledIHBWGSiwSaRgq0
	aUjtSk7HxLmlbFTc3r4nSZ74rTk0wDIERf6vSWpSvw5kJdJLQmDRQZUKnU1xe6u2l+QW3pHXO6P
	ZyoQPypvct1omOLAvTeFbtxbIxtBH+5R5sUoGY3/6ElS3Q25FOtJ8hXvFskLv22kd43/tj/RTk0
	jtDVJ13eKYw==
X-Google-Smtp-Source: AGHT+IE4BUCalWax9OCVllI69HW8kN5hqwu+t0br7ETCrS8qqXb+bmFkiSWDmUi+6KyMOBNIncav8A==
X-Received: by 2002:a5d:6d0a:0:b0:390:ea4b:ea9 with SMTP id ffacd0b85a97d-39ad1760636mr6941569f8f.39.1743158042494;
        Fri, 28 Mar 2025 03:34:02 -0700 (PDT)
Message-ID: <7380409b-2eb5-4d52-9574-4cf0fc5c071e@citrix.com>
Date: Fri, 28 Mar 2025 10:34:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 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>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?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>
References: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@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: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27/03/2025 5:33 pm, Oleksii Kurochko wrote:
> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
> index d888b2314d..7d43159efb 100644
> --- a/xen/include/xen/config.h
> +++ b/xen/include/xen/config.h
> @@ -98,4 +98,14 @@
>  #define ZERO_BLOCK_PTR ((void *)-1L)
>  #endif
>  
> +#define BYTES_PER_LONG  __SIZEOF_LONG__
> +
> +#define BITS_PER_BYTE   __CHAR_BIT__
> +#define BITS_PER_INT    (BITS_PER_BYTE * __SIZEOF_INT__)
> +#define BITS_PER_LONG   (BITS_PER_BYTE * BYTES_PER_LONG)
> +#define BITS_PER_LLONG  (BITS_PER_BYTE * __SIZEOF_LONG_LONG__)
> +
> +/* It is assumed that sizeof(void *) == __alignof(void *) */
> +#define POINTER_ALIGN   __SIZEOF_POINTER__
> +
>  #endif /* __XEN_CONFIG_H__ */

As it turns out, this is a prerequisite for the byteswap cleanup.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 10:51:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 10:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930475.1333101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty7JE-0002fn-Bu; Fri, 28 Mar 2025 10:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930475.1333101; Fri, 28 Mar 2025 10: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 1ty7JE-0002fg-9R; Fri, 28 Mar 2025 10:51:32 +0000
Received: by outflank-mailman (input) for mailman id 930475;
 Fri, 28 Mar 2025 10:51: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=NpBS=WP=bounce.vates.tech=bounce-md_30504962.67e67f2f.v1-8210f04994f64dfb9e6cc41a32b43c44@srs-se1.protection.inumbo.net>)
 id 1ty7JB-0002fY-Sb
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 10:51:30 +0000
Received: from mail133-26.atl131.mandrillapp.com
 (mail133-26.atl131.mandrillapp.com [198.2.133.26])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99bbff93-0bc2-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 11:51:28 +0100 (CET)
Received: from pmta13.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail133-26.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4ZPHQ72PjGzKsbshH
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 10:51:27 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 8210f04994f64dfb9e6cc41a32b43c44; Fri, 28 Mar 2025 10:51: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: 99bbff93-0bc2-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743159087; x=1743429087;
	bh=R80jajjy+Tt3ceXkjjIpEIW5SNKPkg47Zw+//NKciHE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=gh/OSORiUr4RIo8pf8ju0S/ILyoqfzefFPdhAjgDgJxfdOho66L96XfOEYwMwX3cu
	 86/BT1vg4V87AEHapD3jg+2Qan/GR1patQF4le0yZe9QejV8e+dA6U4hJQ1Rdhu+Fu
	 e2N3hcruxAv/vrZzTfGsBI9s7o/6C0UFq0Kvi8NW84qWI6ZJylZmgAmaMXO+oyJRL7
	 XA4gXEc1WEek8td6sxexn30OK0wjuMlVJKv5nDrMvKh9zAp6TFtEsVy3Ra9WKuvFNE
	 STEhdthfNWCDHzMjQYJCBWyrnaEx1trPr4HytdF9FumE36N9u3nB9Jvg/+Er/uXqjK
	 M/yHpXTwJ5YGA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743159087; x=1743419587; i=anthony.perard@vates.tech;
	bh=R80jajjy+Tt3ceXkjjIpEIW5SNKPkg47Zw+//NKciHE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=dNFT7jBFdixLYtCChclJ7lHY8OeChpaC2B6TTn6iH3rKPs54eVD43gGXDTibnrmeD
	 AerYxXgNjkl9johzLJONHTTcVkqgfot9ZK5d/bzHRAakW9NDqyR6rMlljY17Y5locm
	 htJNt36RnPuVcYf4CdjYRKCmNEqplO3Fz454p8QnlX6GABIvLsg2hw+Dzfv+vSRnH1
	 YrcTmE/NJ+GxZekmx8oQ/vovUpMIcqSmAlGM7OWA7OR5o1GvRn/qIo4VC8vhQvatWy
	 iIGJTscVvHGn3OsAStFH5Lkx9AmCOVy3Lbel6os0Y6DE0Q5QrJeL0ufFKcU5g9LWih
	 z+UJmvPbGWdDQ==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20libxc/PM:=20correct=20(not=20just)=20error=20handling=20in=20xc=5Fget=5Fcpufreq=5Fpara()?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743159086556
To: "Jan Beulich" <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, "Juergen Gross" <jgross@suse.com>
Message-Id: <Z-Z_LokdcNj_K_g5@l14>
References: <df676738-19e7-47e6-977f-25d6d13ccc50@suse.com>
In-Reply-To: <df676738-19e7-47e6-977f-25d6d13ccc50@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.8210f04994f64dfb9e6cc41a32b43c44?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250328:md
Date: Fri, 28 Mar 2025 10:51:27 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Thu, Mar 27, 2025 at 02:32:04PM +0100, Jan Beulich wrote:
> HWP work made the cleanup of the "available governors" array
> conditional, neglecting the fact that the condition used may not be the

I don't know why the cleanup was made conditional, as long as the bounce
buffer is declared with DECLARE_NAMED_HYPERCALL_BOUNCE(),
xc_hypercall_bounce_post() can be called without issue (even if
..bounce_pre isn't used). Maybe it's all those "unlock_*" labels that is
misleading, a single "out" label which does the cleanup
unconditionally would be more than enough.

> condition that was used to allocate the buffer (as the structure field
> is updated upon getting back EAGAIN). Throughout the function, use the
> local variable being introduced to address that.
> 
> --- a/tools/libs/ctrl/xc_pm.c
> +++ b/tools/libs/ctrl/xc_pm.c
> @@ -212,31 +212,32 @@ int xc_get_cpufreq_para(xc_interface *xc
>      DECLARE_NAMED_HYPERCALL_BOUNCE(scaling_available_governors,
>  			 user_para->scaling_available_governors,
>  			 user_para->gov_num * CPUFREQ_NAME_LEN * sizeof(char), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
> -
> -    bool has_num = user_para->cpu_num &&
> -                     user_para->freq_num &&
> -                     user_para->gov_num;
> +    unsigned int in_gov_num = user_para->gov_num;
> +    bool has_num = user_para->cpu_num && user_para->freq_num;
>  
>      if ( has_num )

I think there's an issue here, this condition used to be true if
`gov_num` was not 0, even if `cpu_num` and `freq_num` was 0. That's not
the case anymore. Shouldn't `has_num` use also the value from
`gov_num`? Do we actually need `has_num`?

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 10:59:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 10:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930486.1333111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty7QY-0003Id-2C; Fri, 28 Mar 2025 10:59:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930486.1333111; Fri, 28 Mar 2025 10:59: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 1ty7QX-0003IW-Vf; Fri, 28 Mar 2025 10:59:05 +0000
Received: by outflank-mailman (input) for mailman id 930486;
 Fri, 28 Mar 2025 10:59:05 +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 1ty7QX-0003IO-9E
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 10:59:05 +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 1ty7QV-00DnVL-2y;
 Fri, 28 Mar 2025 10:59:03 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1ty7QV-0042nd-2A;
 Fri, 28 Mar 2025 10:59: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>
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=UDX0LeLOK6AvDUyBMBT+SU/sMmIwV1PizHYVad9RU98=; b=HthiTPu1MsLcAGVw5Gtu77uH+T
	7QvvV7zsuooPmwq5aHB3b7PxaX/e5K0KnAt/ad2dnKTnauPJ4h55wbYQEO9cuCa295mGTDXTo5anx
	UozukrB4Ue81unt08O2nXkxj8XtPPtyK5X9isNMNzTOyh2gvlTSX3BiVbHxzcrGSJUHs=;
Message-ID: <b0ed24c0-b763-4b8a-9ac6-cec235b1933d@xen.org>
Date: Fri, 28 Mar 2025 10:59:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/config.h: Move BITS_PER_* definitions from
 asm/config.h to xen/config.h
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
 =?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>
References: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6b21fb046cf1c8ca760f5ad72fa3cc13b59c4069.1743092485.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 27/03/2025 17:33, Oleksii Kurochko wrote:
> BITS_PER_* values can be defined in a common way using compiler-provided macros.
> Thus, these definitions are moved to xen/config.h to reduce duplication across
> architectures.
> 
> Additionally, *_BYTEORDER macros are removed, as BITS_PER_* values now come
> directly from the compiler environment.
> 
> The arch_fls() implementation for Arm and PPC is updated to use BITS_PER_INT
> instead of a hardcoded value of 32.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 11:06:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 11:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930498.1333122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty7Y5-000630-PW; Fri, 28 Mar 2025 11:06:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930498.1333122; Fri, 28 Mar 2025 11:06: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 1ty7Y5-00062t-Lr; Fri, 28 Mar 2025 11:06:53 +0000
Received: by outflank-mailman (input) for mailman id 930498;
 Fri, 28 Mar 2025 11: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty7Y4-00062m-VA
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 11:06:52 +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 c03bbd06-0bc4-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 12:06:51 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so22327395e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 04:06: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-43d900008d8sm23307705e9.33.2025.03.28.04.06.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 04:06: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: c03bbd06-0bc4-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743160011; x=1743764811; 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=LcVbXKDDg6cg6Aa1ERRoXshvTENifCrXHbospDYHu+U=;
        b=KtYos8tvZHjBX0S2Koxa+PbDiFGuY/GFDd332DimpEhIsZslYw+Y0Jp9UPOstzTJeB
         bLP7phhxhsSUxN4+u9xSOhiMYDDWeO8v5RN0vI9+AbABSnsibZQbxLuSoETcbkSLTHB2
         zbNIFzMMJAgndagjLl9cynIqfB9dZV4Pb0dHu/uIe8TaJVVZqz6Szc5gQqtw+9n7hBYa
         JwOq26PX4SOzo+xHpPiWsS2Ov5pfwre5+2eLz2xwpadM3VowtMDCfqFOVbIKW8cEAX0Q
         FPDvkjqc1JMAVYZAt3R4enjF6RcMAp5wyh+3nMlkfzikY/PSakEXjgiGM9T46E6NDokW
         oPSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743160011; x=1743764811;
        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=LcVbXKDDg6cg6Aa1ERRoXshvTENifCrXHbospDYHu+U=;
        b=XdOyKEbqhk20ZvnIXbzr89+P9FG1jE+tZ/8uj2ixHZtbVcpTXgx4qbdOrDeAJilsxo
         OT7SHNWbA7R592ImYYbQmA9FrFR7Cpa81SvOYnKXtgHAM0sHWEZZglnag7TijupU3o89
         uKIEfizoV0rGLX2jSXUmMG/oDIw2z4iE5CFi827FktSuE/u5Egw/y1CujGT8AdQpsOBV
         JKO1nPw7iMpXXLOI6kaIHLLnss4z9g7H3ekHvw7RxSkjVo3BrDFc/Ve6pP4Aqiy99Gd+
         1zU4hqsYsMDMmjKGD+698geYqJuW5Aadmy/mHyub3P7OEdkg1kwexUE3j/dyZuiqqYfX
         GDxw==
X-Gm-Message-State: AOJu0Yw2iT4D9zb5t5EOslOAjpRMgrlCeAzgpVq29YLSKq3siVAiuTAF
	WGXWakywUo7K3Zmz0dJB5WMw6/MjW8rg/7wftXvSZhkJOkz9z/zfzUrdZ5KEuDK+srrrWLIFVhM
	=
X-Gm-Gg: ASbGncuEHtdHpkHTaZE2M2MCtM7m3B20HHcQy/O40MvRYdZHQecLRXtq5aiRxK3WIZw
	1c2MK1Nw6mjOCsJL5O1LKibfJmj8cPBf/EY+BIn+WdceAA3LHp7HJRs9bPt6A/6U+zonjG8h3qz
	lB/Aji3zc6EHAU6YTsrIvvivOM8F9QKfcWamcc65qukhYXmQoaC0X2FdWFiXuGklcSvim9wyk2Z
	HRsyg4JKW87SE4HvZxuZBc9uPtBBQOgK3cMic3APSBdK9el39HHUYv8P1hQp5qUHhCAekmWtph4
	Rx7bGaJ1XrIDHmnceGVoU10YwBuXnQV92pgxo0X64rRmasSCR4+4yZ8YdHty7KKkaMeW8bphaEd
	Z0GAonBBS3AhUdKJD/u+w28BAd0Xq0Q==
X-Google-Smtp-Source: AGHT+IHjyW4o+jEy2yvvGqu1RCsw2MluvAMBUHlYBE7HjFB1tisRq1APFJlHaf/sNw4xpTEG9sqhJg==
X-Received: by 2002:a05:600c:3ac5:b0:43d:b51:46fb with SMTP id 5b1f17b1804b1-43d84f5dd9fmr65919375e9.2.1743160010948;
        Fri, 28 Mar 2025 04:06:50 -0700 (PDT)
Message-ID: <741f2dc3-3834-4b20-a420-206e3c5a2947@suse.com>
Date: Fri, 28 Mar 2025 12:06:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] libxc/PM: correct (not just) error handling in
 xc_get_cpufreq_para()
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
References: <df676738-19e7-47e6-977f-25d6d13ccc50@suse.com>
 <Z-Z_LokdcNj_K_g5@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: <Z-Z_LokdcNj_K_g5@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 11:51, Anthony PERARD wrote:
> On Thu, Mar 27, 2025 at 02:32:04PM +0100, Jan Beulich wrote:
>> HWP work made the cleanup of the "available governors" array
>> conditional, neglecting the fact that the condition used may not be the
> 
> I don't know why the cleanup was made conditional, as long as the bounce
> buffer is declared with DECLARE_NAMED_HYPERCALL_BOUNCE(),
> xc_hypercall_bounce_post() can be called without issue (even if
> ..bounce_pre isn't used). Maybe it's all those "unlock_*" labels that is
> misleading, a single "out" label which does the cleanup
> unconditionally would be more than enough.

Oh, yet more cleanup to do there (independently of course).

>> condition that was used to allocate the buffer (as the structure field
>> is updated upon getting back EAGAIN). Throughout the function, use the
>> local variable being introduced to address that.
>>
>> --- a/tools/libs/ctrl/xc_pm.c
>> +++ b/tools/libs/ctrl/xc_pm.c
>> @@ -212,31 +212,32 @@ int xc_get_cpufreq_para(xc_interface *xc
>>      DECLARE_NAMED_HYPERCALL_BOUNCE(scaling_available_governors,
>>  			 user_para->scaling_available_governors,
>>  			 user_para->gov_num * CPUFREQ_NAME_LEN * sizeof(char), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
>> -
>> -    bool has_num = user_para->cpu_num &&
>> -                     user_para->freq_num &&
>> -                     user_para->gov_num;
>> +    unsigned int in_gov_num = user_para->gov_num;
>> +    bool has_num = user_para->cpu_num && user_para->freq_num;
>>  
>>      if ( has_num )
> 
> I think there's an issue here, this condition used to be true if
> `gov_num` was not 0, even if `cpu_num` and `freq_num` was 0. That's not
> the case anymore. Shouldn't `has_num` use also the value from
> `gov_num`? Do we actually need `has_num`?

Raising this question is where all of this started:
https://lists.xen.org/archives/html/xen-devel/2025-03/msg01870.html.
IOW with Penny's change I think the need for has_num will disappear, the
latest. At this point, requesting the governors being optional, only
->gov_num shouldn't affect has_num. Once requesting frequencies becomes
optional too, has_num would become a mere alias of ->cpu_num.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 11:33:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 11:33:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930517.1333132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty7xa-0004f5-Rj; Fri, 28 Mar 2025 11:33:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930517.1333132; Fri, 28 Mar 2025 11:33: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 1ty7xa-0004ey-Ot; Fri, 28 Mar 2025 11:33:14 +0000
Received: by outflank-mailman (input) for mailman id 930517;
 Fri, 28 Mar 2025 11:33: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=3bqk=WP=kernel.org=arnd@srs-se1.protection.inumbo.net>)
 id 1ty7xZ-0004eq-Rx
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 11:33:13 +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 6bcb9b7e-0bc8-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 12:33:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id CB30F614B5;
 Fri, 28 Mar 2025 11:33:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54647C4CEE4;
 Fri, 28 Mar 2025 11:33: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: 6bcb9b7e-0bc8-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743161586;
	bh=ZmVcFblvwDvGIiJOpIyvSRxBhBv6ZjB/aFH3w9ChoI0=;
	h=From:To:Cc:Subject:Date:From;
	b=GxxmfSb8MD0gOjSU0y3T8PPq9+jCECYr3XYYEvYClD2W3NQA41wAZ3A9Eeuh9YxSh
	 OqtLNjWrXm0qgHDTWxKZXqd6On9VhoOouCQMDG8k+VaZtopERdy1dnk/JbE7nD1fGH
	 NJLzjhyeMtpN1KZyZ0A7CFm7at3gHugKw3LpxybYCLDcWPh9HJAf4QrZkMBwLdLfiF
	 wl0sqODTcCmt5FMMcuwz68XTwk7o1lX8w/vXl3lmbJuRKtjkvCE3OImmBpYymiz/G9
	 6JiHgzPvsh/J7TGfI9KlgdpRXlS3GioTCRniBV0ouxN3OAfq6RSDNtUCgn4qDKLGZK
	 dLeyyKNISOS7g==
From: Arnd Bergmann <arnd@kernel.org>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] [v2] xenbus: add module description
Date: Fri, 28 Mar 2025 12:32:59 +0100
Message-Id: <20250328113302.2632353-1-arnd@kernel.org>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Arnd Bergmann <arnd@arndb.de>

Modules without a description now cause a warning:

WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/xen/xenbus/xenbus_probe_frontend.o

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
v2: change the description as suggested by JĂźrgen
---
 drivers/xen/xenbus/xenbus_probe_frontend.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c b/drivers/xen/xenbus/xenbus_probe_frontend.c
index fcb335bb7b18..6d1819269cbe 100644
--- a/drivers/xen/xenbus/xenbus_probe_frontend.c
+++ b/drivers/xen/xenbus/xenbus_probe_frontend.c
@@ -513,4 +513,5 @@ static int __init boot_wait_for_devices(void)
 late_initcall(boot_wait_for_devices);
 #endif
 
+MODULE_DESCRIPTION("Xen PV-device frontend support");
 MODULE_LICENSE("GPL");
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 11:35:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 11:35:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930526.1333142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty7zf-0005CG-6C; Fri, 28 Mar 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 930526.1333142; Fri, 28 Mar 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 1ty7zf-0005C9-3D; Fri, 28 Mar 2025 11:35:23 +0000
Received: by outflank-mailman (input) for mailman id 930526;
 Fri, 28 Mar 2025 11:35: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=gne4=WP=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1ty7ze-0005C3-4Y
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 11:35:22 +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 bb15719a-0bc8-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 12:35:21 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by DB9PR03MB7228.eurprd03.prod.outlook.com
 (2603:10a6:10:221::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.47; Fri, 28 Mar
 2025 11:35:18 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025
 11:35: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: bb15719a-0bc8-11f0-9ea3-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QpZrrSvbFxLek1zfWxTSyzOP+uBJOqDLtervp2yY+AmDLzxeFcoT/IdNlv98Z6nsGxR83DpQonNqhLeBJMM632oW3HAl73mj0raNpUzLUewmFeVU0azA0rmTkh8YiUGjF68S8bHk4gE6pz+WCmyicrRjsfiUN0Hcpgrm9b8TAI/SWLgShypnOdUJ2OwzRFUilL4lgQ3ON6D320O74DGA7/puGNTy7/1gcz8B6iE95FKytFuRXOjiZ9/BPJVWApzRhqiVXHNeaRXdoy4eMI0lvZ7KJHVV+2pnlComgVI7T5eUkIktxXPNjD2JrcRfADI/xCQgjFboaIBKW/7l0IoZGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yrzf3LGq1boLqwiyP2pDjyiV6/3r6hlYrCRHXsGYAsw=;
 b=zGejxt2CMzP+W55ozv9ayQ5AuhM6NgAX8vVgXnKUcXW5q/9See54AjS0jGezw9glbgt2avcepDP+Pn4qQAWcUTI3ZRGhn/5P2CtkFcQaNAYRbcNRp5rEGw0zcryhb99w1lsf/vuM6K4T9HDB4HllZ3hLYb/US9TNS22eu+fCNtfXspA9WNX+4Rr29bEA5llqMKepKiE9HcenPsfKNeV4Cr92dT75xHA7vIs9E5gRUJCBcYZSj0VY9LaIA8f8vDSmeQN+9vY0HszwTadeJ0GbUizseyz1YvtTX0Og6DH2TYAewQwOHlJaJFKDvyQwLnkc2lRhWwD3Wckaqf+vv4yuGw==
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=yrzf3LGq1boLqwiyP2pDjyiV6/3r6hlYrCRHXsGYAsw=;
 b=u+Jw7CneKZpnB6jMZ7VimeLxJixRGWloiXyWKVBA0LbZppFnKNtuDdHGCdqIOT1SesLvmIDzUpeJTgDPA+xfSoYcrGVzV2KTe1udxV5Jg9pLhP+WnvJ/MW23Z4A9i1fNOcxIvpE4Oz5v2Pt/3lCJ+H5X9ZsrHiNEJIatICiT8FoH3/o9eXgvt/lFbZ+lTCRPOTal5Fit9xO8gImHLIaBN9+OoxG2TShAJRb/XP4vdAO2/RPPxLZzuEPtlN6JKiQNAxGZtfOX+slPErlsNf/JyjTz+ICe7TzUkLM9bQT9t25oYc8ZP3TE9EMDcFL4+lx6S23w9DJC3g2l/iO+Ikkiyg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 1/3] xen: gcov: add support for gcc 14.1
Thread-Topic: [PATCH v1 1/3] xen: gcov: add support for gcc 14.1
Thread-Index: AQHbnrDjP18EuEhGMUmNMUBtvyYXWw==
Date: Fri, 28 Mar 2025 11:35:18 +0000
Message-ID: <877c49gzgq.fsf@epam.com>
References: <20250327004044.2014048-1-volodymyr_babchuk@epam.com>
	<20250327004044.2014048-2-volodymyr_babchuk@epam.com>
	<b56cd8e5-d17a-46a3-8584-cf69113c145a@suse.com>	<87iknugmgu.fsf@epam.com>
	<8d98ba26-b358-407a-9f59-b7c08d1f09fd@citrix.com>
In-Reply-To: <8d98ba26-b358-407a-9f59-b7c08d1f09fd@citrix.com> (Andrew
	Cooper's message of "Fri, 28 Mar 2025 06:42:41 +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: GV1PR03MB10456:EE_|DB9PR03MB7228:EE_
x-ms-office365-filtering-correlation-id: 25da2872-2b98-47ea-d381-08dd6dec9de6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?4gEy2Py50ZloNzO+yFBQKHFKKiGm9mSxG/lpgR/AE3wsXmnDyNkAN2jx2P?=
 =?iso-8859-1?Q?T8B01+7+XBay2GF3KUUdxpyIjHSH7SX3DlmJajaz2wzJKC2jncUzwV41zZ?=
 =?iso-8859-1?Q?oVUFVi/3QqJ1mcDWoTPKKdVHjxo5codxC9Ojv550z4tsvMGh1+nKwtS2En?=
 =?iso-8859-1?Q?Ax5y7NP7kY5WB3+xm41ZsHu+OFkiprsVDLInieXjt8RcdRTVq8mj9BdofH?=
 =?iso-8859-1?Q?A+jYs/7xjctKKle46puTyHum2heWhEJYTgOfTKcY84ePCmt4P98fqBZfFr?=
 =?iso-8859-1?Q?ppK9x7jK1wp8dpmoi+IJD4NsehMW600G3nEva4rLiL9bDizCa0X5Al7D7n?=
 =?iso-8859-1?Q?3g6BiDfj8Y00KDmOuvU6JW/X6BPJ0xcLNv5BEhv1Y+WeW2U569DpwTIZwV?=
 =?iso-8859-1?Q?sd1ASV2ekvLjh1LWjr+ar4SEvbCCQKn4ZJHnEQ0GtLUNgugC3+tQ2PNAef?=
 =?iso-8859-1?Q?uMtwONim1495wI1AIoqL7oeaT1JWz8Laxmj2Bof7cwdZl753eXaOAZ9Vp6?=
 =?iso-8859-1?Q?AGNyJmKz81ZylhxcyYypSBAX0kXu0o9DBajZPpzRC+Bew45EFYVK5hEl3i?=
 =?iso-8859-1?Q?EjkAcA5aA5m+/CH5BnSaQsyD+2iinSANMAZctv5iRvxhHEbUW+oO2IJkPu?=
 =?iso-8859-1?Q?ppMyl0+BrUHDjb6x7OtI2jJB+sRx01tRg1WLQr6kzAvblVGhtbprxKV9JS?=
 =?iso-8859-1?Q?TVQYU99R7x9kEA2u2Jc+o5Brb2ixkDZaqs+kAiqT3SqoZ28PEldaq5qSdv?=
 =?iso-8859-1?Q?8V8PyQ+cKnUKlaCYes9kh2o+9cYXqC4yiyAhB52g/q7tQCXCVQyTk3I/Y0?=
 =?iso-8859-1?Q?jVMCGqCl/OQ5DMbFAEDORcRk5nlwem30ESjbwdTAOMcLhv4w2rJUpn5gqF?=
 =?iso-8859-1?Q?nCWOpPOa3kCx8smaIwdbBM73Nw3aOdVo2wxZArYZzp0SIDFNGfBgMhOpOp?=
 =?iso-8859-1?Q?SnheQ+nKVxLPj7bzIQghjjXn7ipj1kG6Euk4W8tiFb56m88js3W4sNNwxc?=
 =?iso-8859-1?Q?ul4qiDDYMAnJYXy2r/6pBIxXlbUz1wsdEdfOoeyT73ykem80RKbLZCcry2?=
 =?iso-8859-1?Q?KXjoDomJhQcBqhP9I6eyRR23FE2/CvoQT5vRfXPjgSIxi6u+iaIg4fbAdW?=
 =?iso-8859-1?Q?pRV8eQjnt/M6m6NzGdjxz0tV2ZFBq3FuS/F4LDln9HemB+ad4+JmS44bwQ?=
 =?iso-8859-1?Q?yV+xeK7ZzCFXbIiMfstzhfec0B2EyyZBr0vkdw68FUYJ4aCDTEAOjFPqoq?=
 =?iso-8859-1?Q?95mYYx1jqsjDGKQQkaKYtxdHuQV6FcesZmmJw1/ddIAqPfNhg7c9Iftm5I?=
 =?iso-8859-1?Q?lxpfUPSumY6TDxHMdAjBpfqLlxeqMkzXL7ty5x0yKNx0EyGyj3ubify3qB?=
 =?iso-8859-1?Q?yUW5GaAeCq9rtWmq4k9iJKatpHYDHXLk6zBIngVJIzx5mrV6XlIUAvmJCc?=
 =?iso-8859-1?Q?LvgM6yLttSIeRek0IWGtv18JDU9xNo2+b2i2sTXnMtonJAq0k/KSG65sSR?=
 =?iso-8859-1?Q?PUV0wxMbx1KrU7mezBenz3?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?SZZmMNpzs+OuVjorm0k6fuUEkr3X4fJ5Gh4pJ8c2tDeoDWC1aNIDHiH+Ds?=
 =?iso-8859-1?Q?tIaFsr2Zd8qqmp91mxSDkR0Z/4+lco42IZz2jqdyFzVFigTEse/ihrrI/0?=
 =?iso-8859-1?Q?075DTo7UeZ5DPUlK+nYAVP0TSgqG6EKMK1Vqna3gwwQlot6qSpuOiUVSFp?=
 =?iso-8859-1?Q?9V8gLb7ep7S6aIDsqDPUedakkxU1AnZ8xQ99hf9sCVuurj6uD19ikhT6eu?=
 =?iso-8859-1?Q?QLPAfAWenw0gHYyTLt+gjwV760B99zyXO8ViOGSdtl8BkbGbGX6DMaccBa?=
 =?iso-8859-1?Q?8fI7jVfmXZAjGIDXDEDrsLAs6J8jNFQnGYrv5g43GDx5eeXtjql7F/AbwZ?=
 =?iso-8859-1?Q?cZjJcpqnRJeeuYoHUkwgWFix/kbUK1LurvYAMdKiz5m2vOJbfrRbUTkmpu?=
 =?iso-8859-1?Q?rMD2Z5Je57LT0ZAmddqM0RKnRDcHEBxTOS1GlOQwl+qwL4TFn3o+ZF2FGi?=
 =?iso-8859-1?Q?K1BEJEiaZ6wM0WsDqrdRBl6kDhIJ2e/eudrnWpG/bJtbJRlxAx+7zTJDII?=
 =?iso-8859-1?Q?evAqTVU7raFcic33aQfR5Nsv33Drefz7JQXKs92naL9SL2b5xRNcTekToj?=
 =?iso-8859-1?Q?JmcbYZSa05ma0O+k5vwgl0vAteIStd0GW7jCtj8UoRgjcPylN0RGeVhjKM?=
 =?iso-8859-1?Q?62Vm4BfaMDkA5j+Lda2J+TK5+FIMBScc8yKzBzmIWBXIUUKFHyCvt99d8D?=
 =?iso-8859-1?Q?qfyWonqhPvz7ruvlPA3akt55fy0uaBPgVdBG3TJXxqMsVSMPAtN4H+EuXZ?=
 =?iso-8859-1?Q?D7qfJJezS+Lh8eQPfvOcGCrZOhOUXwfq6i0NJ+QiupRI45RBQlPDx0e55m?=
 =?iso-8859-1?Q?vEbhEThfxG/5SyMoXq6ogUIMMbLUQXJS84mHGlKMOu6bIpoX740XUH6q9Q?=
 =?iso-8859-1?Q?7CnaZEvW5KwznqyV4S2y0v3xz9TUHU82b/RxJ6vkumCfGWUSyAX6js47Yu?=
 =?iso-8859-1?Q?9uaWJBAMkA3QMr1YBk7hfbrhNMGujBByEKtsN1ZWhDqwbwZKh79zAWRtL8?=
 =?iso-8859-1?Q?62OyzdR97wXgpOdHLeLehpYGYkNxdb3wqjq9oGRvzNRMRsNxS55oJXRMD2?=
 =?iso-8859-1?Q?icwRNWPu+tmIblBeJ+P8cpSe5GuI8zC1cUOCkMG3TVMEaaV16KBsRcUFFg?=
 =?iso-8859-1?Q?nsD9MbCde8707QcOW9Z1pJuCUsg5g3HQueao51kiVoSTuKLzpPNxixBRkD?=
 =?iso-8859-1?Q?gLIyrKaKQVLQLOD8Xfb7Qaqq3Q2DpHxcJL8yH6x57Vx5vMTLyfOVF8gLpI?=
 =?iso-8859-1?Q?QCEJQuqI60UCU8l+6MxWop1lLVzkj3g493B5U26hLS3tL0OgBi/xtzA73d?=
 =?iso-8859-1?Q?PZg1yPYolmhHKt6LL9n0UxpDZ0HUTNorSQLBLHkr0/Y8wKJrEtsOWGAnGk?=
 =?iso-8859-1?Q?3wAQAvj2Fc2aV7wZcx95zS9Sjhu701VNzx3MJj2O7+1ALhA3W8t6r58cWE?=
 =?iso-8859-1?Q?metux55VblPiX6ILQGfSnJo8XtjqjVFSGpG4fGigeYGZukFMZYnaKLyMRT?=
 =?iso-8859-1?Q?4n+Gpgwb1ZOvoYG2ZnH/pO8t0rP2le6u81/5aGMNQGk40bamXSWliB8Tj1?=
 =?iso-8859-1?Q?XdLU/3eGPOsMsB5F9lVqm4Lu5ztr0tPNpLklPDtkNumlnnn9dDlEv+4NBK?=
 =?iso-8859-1?Q?3g1JbqeKByg4mxuvxqpA+wcYApC9Pbmr/MUUGU9bgK00e3FdBQD/Gr2A?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25da2872-2b98-47ea-d381-08dd6dec9de6
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 11:35:18.5192
 (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: cZzMQgAyU+qJrEkcoctnxkVaM+R4K0y51t04gU8iSWvk134vWJR50wmRfsn5eZgLXPxtvG9mitRdHbUfRSs3PQ79vJ7wbV5Eg80eqp2AdYk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7228


Hi Andrew,

Andrew Cooper <andrew.cooper3@citrix.com> writes:

> On 27/03/2025 10:03 pm, Volodymyr Babchuk wrote:
>> Hi Jan,
>>
>> Jan Beulich <jbeulich@suse.com> writes:
>>
>>> On 27.03.2025 01:40, Volodymyr Babchuk wrote:
>>>> GCC 14.1 has 9 gcov counters and also can call new merge function
>>>> __gcov_merge_ior(), so we need a new stub for it.
>>>>
>>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>> As to the title - what about 14.2.0? Or the soon to appear 14.3.0? I re=
commend
>>> to say just 14.
>>>
>> According to GCC changelog, it was added in GCC 14.1. And yesterday they
>> added another counter... So probably 14.3 will have 10 counters in total=
.
>
> Do you have links?

Here is the patch that added a new counter:

https://github.com/gcc-mirror/gcc/commit/8ed2d5d219e999aee42015a0db38612011=
c2c507

> I'd expect that to mean that GCC 15 will have 10 counters, not GCC 14.3.
>

I can't say for sure, of course. Anyways, it is not released yet so no
sense in trying to cover it in this patches.=20


>>>> --- a/xen/common/coverage/gcc_4_7.c
>>>> +++ b/xen/common/coverage/gcc_4_7.c
>>>> @@ -28,8 +28,10 @@
>>>>  #define GCOV_COUNTERS 10
>>>>  #elif GCC_VERSION < 100000
>>>>  #define GCOV_COUNTERS 9
>>>> -#else
>>>> +#elif GCC_VERSION < 140100
>>> The situation is a little less clear here because the development windo=
w is
>>> fuzzy to cover. Nevertheless with all other conditionals here using onl=
y a
>>> major version, with subversion being 0, I think the same should go for =
14.
>>> Unless of course there is a good reason to be inconsistent.
>> As I said, 9nth counter was added in GCC 14.1, GCC 14.0 had less counter=
s.
>
> In GCC's numbering scheme, .0 is the dev window and .1 is the release.
>
> The 9th counter will have appeared somewhere in the dev window, but
> that's all GCC 14 as far as we're concerned.

Ah, okay, thanks. I'll rework the patch to check for major version only.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 12:19:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 12:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930545.1333156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty8gJ-0006Fn-OD; Fri, 28 Mar 2025 12:19:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930545.1333156; Fri, 28 Mar 2025 12:19: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 1ty8gJ-0006FC-Jm; Fri, 28 Mar 2025 12:19:27 +0000
Received: by outflank-mailman (input) for mailman id 930545;
 Fri, 28 Mar 2025 12:19: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=gne4=WP=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1ty8gI-0006CK-E7
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 12:19:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2614::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3046702-0bce-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 13:19:24 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by AM9PR03MB7313.eurprd03.prod.outlook.com
 (2603:10a6:20b:273::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Fri, 28 Mar
 2025 12:19:18 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025
 12:19: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: e3046702-0bce-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=atEi1cSqRIq5ZG78J0b77npNYHfcmpxzltUjVX7izPHGSsuAcAl41E/7naP7QcBBwgP9GMNJ0jc8NEdY84kn5L63kf4YSYWb2ZqPa571dbY3MGOJIQjxsAuqVbMbq/piRmEkJ+YPczTWxLo8AxqHioskTzIdNHs+ec0WMFEZc1QVFPZGi9vE+reQlvt4KmtdqanwVg3zeOr9gcdEZUYHWib8wIn2AL9EnZCy47BVpKA87bPH4SN3PFZjNQ6Jv1JIGDsdM683l+erXcrdWL8sLMGqwDLAh3zp8klav/XvBF88yGldsnCweEMbMpe06uPQ5NamTpQVi/esAL7Kz960zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x0upPpwIxs+JKj3yDtOMkpReSwzfOW7SVhzWJjrE9z4=;
 b=W2s0PMHZyz+7r4LCt9tQgh3QoL1S12YQUGOD57ttqrPUs26DGYMVYiDIztfsPTX7EnMiHkLJ43QUOsKGdvTEQEiDsOQGd76Vxf5x6hWQLg1WBmqpl7u7wM2vFX8kCEOsHgM+8ataFMn83JyKLRBzE7gQ6+tKnnaxGI8QvinEv5LGUMLknE8ltVr0ZBUQhsftY0KqF2nQbMeoZ/Vw5T8Udzwp8bntJlZC5TyF03voclF40nLPFnmMDbx8rurr1veu0A0O4UbOxi3KYP/hCEWGatXhyZpHPFF5+ywQiKMut7lLIDAX15vWwCaE+Yhx05CvQP/fb6T+eWnumA0nDPUOKA==
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=x0upPpwIxs+JKj3yDtOMkpReSwzfOW7SVhzWJjrE9z4=;
 b=G0Ap0pX6Zg0cnD7jNBmnDjztiZ561yuX/V0rH8jE7Pko4SOPoIGiURza6MNt8ZbaQ466P/HoH+933S+6Dlb/R6q9gZR4EMUUcwGN2F8Crb9R62j02UmbyVSk86tLuHKxnnvGr/VN/xzGwO2zv1scydn9MNmnvBPxSY2VPlEVBP+zsnnkAT6nzY1aWvJI/EfycgSJt+QKGX2TCqZM6+MXbjiZpYWZ4B5HJMQik4S2h8GOjMCrZfQzWnFuPRXMHWI+QOTDlLS4tM7+9AegxyJ/2IZrx3XwhTVRQc3q3q2Cpu+occUJAuYrMiNwSmVglhJr59rynfIQvSKbOh4AIwJTHQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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 1/3] xen: gcov: add support for gcc 14
Thread-Topic: [PATCH v2 1/3] xen: gcov: add support for gcc 14
Thread-Index: AQHbn9ugQ0dEnnHnb0a6KEmZuR8Mhg==
Date: Fri, 28 Mar 2025 12:19:18 +0000
Message-ID: <20250328121902.2134020-2-volodymyr_babchuk@epam.com>
References: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|AM9PR03MB7313:EE_
x-ms-office365-filtering-correlation-id: e76ef8ee-0405-4921-b969-08dd6df2c378
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?2NPCGPsSqjSnOHLyQy0SLWvcryCFI1iot7tObBsr2aJ+Sw3V8+iNWEekAk?=
 =?iso-8859-1?Q?8O7vHr7Mrlm+3MRGtCiDLe5IolSh8MOOXwVF1Cmp8QuOdlqlWs4Gpzp3/w?=
 =?iso-8859-1?Q?kYYwOXllXoFgwwW60AaBganFje+lA7NcaFTLJbQ1LHvh+66j6rvG9zny2S?=
 =?iso-8859-1?Q?Aiz0QVLrPpygIOknLhOYrSQI38KTkWy9aHqx9xzZuXN+AphUSguLRCewJN?=
 =?iso-8859-1?Q?OMvZfwUKYBDCMM+LEG4F9tnE2sUdxeqBXsWbCl6cmKuGkLAjMdSYNmLbuz?=
 =?iso-8859-1?Q?GXfpDoYy2XfKAKwUc5+JAUwgk/ge4Q2dqw9IY60feJehdW+4zxEDSEVb3k?=
 =?iso-8859-1?Q?lP3l+9XRE6w2jbAIJqbXLv5cSekdELKFYmgpyjDbpZAlqK8GsUg7wK/fZ4?=
 =?iso-8859-1?Q?WdzS0jYkqSU7GJHet0hlWhStRpXbRB70xaR5T8cPGMEWXs1tSfBY/ddqGJ?=
 =?iso-8859-1?Q?IFfMW/qKB/Zm5676r/ocQ/shI50QYdSR91ostsaxqdXyuyfWNqiceOOi/f?=
 =?iso-8859-1?Q?55HkGb1o5WWUfLdPmUrQ5YogJKE+h1Z0SaR/THzjoZ40gV3aA724dTrAeX?=
 =?iso-8859-1?Q?QEgZkPJXg7ZCEdsV3DMY68gvnxyaHEIpSsqB8ydkwm2t6QVxshVJxn5Tl+?=
 =?iso-8859-1?Q?8ybAxL/HNVIbUtOTmhYh6b9QiZ91OWeI8cUBSxoVMFjo/cGVgVwiS1O45r?=
 =?iso-8859-1?Q?TKbdCDgEFM1K408zojokT6O3RqsONgrN8ZTRwT/xU9UwjMsPr4Nl63MqxT?=
 =?iso-8859-1?Q?vzPA0UW0ZOFop2URKtsGutwRMV+WvWM4fPASbZUBfkbNhCrM7+yL33q4N6?=
 =?iso-8859-1?Q?I0Xje6fEKyCF+iuPFyVEAWXZwAD1Q9fOslGYfLDuQdKXAZbQ4gxe48fR8y?=
 =?iso-8859-1?Q?IFU6Yoz/+NH9g2DySz0i5cuOCvzRz/AuqYi/biYsEyMFkndHd/fD6Cmktw?=
 =?iso-8859-1?Q?U2rbOjuvnJLTHr6/hPoIrxCWomaRjS7gJp4ZHLebF4U05lBPfbPKMh5Xoo?=
 =?iso-8859-1?Q?hqIXKKjNaKyAPsRiwm5SpllNKhQZoHD6h5aE60WU90KCMaTZsKYlEFlsf3?=
 =?iso-8859-1?Q?eLA69aaR00LYfBoWrpUMRsqZ56xiXbjPzJdo/X2AKZm7lkq0E18f6kM+dv?=
 =?iso-8859-1?Q?rTbIkPoglm7dAz4M8ls7osthJrsz/iqqE6eZrLE3pDcIxRmpR/RRS4zEWn?=
 =?iso-8859-1?Q?oIaJ3+8lJ7dRe+6JS5wYQ0iuxbVQ4G2ksRFnrYF/hn3Jc2ErfBM6i9lCqn?=
 =?iso-8859-1?Q?ipeoalT4PbGa5Vzy8ZENJZ2+cTUbhg24caQllewXlLdrvQ1XBD+5qrDsEl?=
 =?iso-8859-1?Q?YgoB55nCF8rletvDxQV89Xpxn6UbInjfOSAgaizaCjdvxb+/fe/Fgd+JcO?=
 =?iso-8859-1?Q?z3w6210svnaogo9n0Puy2R+5ueiJSrWVSn2zpdkdT6UcGF+JNIs+zGhxyw?=
 =?iso-8859-1?Q?J0TsciwRGNM5SvL5YEHmbahQzx6Y1HNVuYn8bm5Vfce1wan6CilE373xQh?=
 =?iso-8859-1?Q?MnMermmkyOrv1COBESWCw8?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?02jkxD28GYz/0KYMIfeshjXiwq3yHgFYVKB579NzB60zPlz8IMWico4po6?=
 =?iso-8859-1?Q?SQMjUmYW7BwsFYMKjb5RKLjd66X34npNit1SeXOZZWlekU+N6VcWmlAA+o?=
 =?iso-8859-1?Q?0O8xEKtK+hFMwyvm+usC2Hc0TemwUHD9p6yU73K/1QjJWF/OZ8c4LpUTWq?=
 =?iso-8859-1?Q?eHMSTuiWN29JbPvydAGVn7K5McUEAtEjqfLqScq3XgUjVfHS2glyZJfDlN?=
 =?iso-8859-1?Q?uU7oKGZYfERtPvKbyjK1gllxBK3C3HZsA8LcHjQlC5CuTbLtKTvLbLcS1Q?=
 =?iso-8859-1?Q?La6tNGKD0LPRerBcKZiQ+pgqfA9kqd4WI4XeG0ir2Ow3uZ6y1nc8BlD+tr?=
 =?iso-8859-1?Q?2vCuzZSnhLOuFhSOL607BCaSVH96p1/pADWrWREX4W4MWAqOsZHMDLGt1Q?=
 =?iso-8859-1?Q?jehw9bjh+aOoMt09WINJf/X7VdNWxJpLvUsSGeU2xTkrZ3t9oKq8s9foZI?=
 =?iso-8859-1?Q?JqsTNhGKJxml1zur004GOta3XHTBD0vwhphkYxqc2GnTxsgFKMCp3lY9dh?=
 =?iso-8859-1?Q?0orzhhNce+ZUxiBugkxW6RTwvSrNXJ7IISLFYvraEZFtnejckmu5k4r48c?=
 =?iso-8859-1?Q?FchEIZH0J+GZXIHQYZVWBHLnk01OlGihM9G1I78ZzJDjEoX2W2GT4L+qkq?=
 =?iso-8859-1?Q?3/JhXTjw4R6nE6WSLmbEx6GLOeewwY94prvc1H9kWwRGJca6r20+JDcDdO?=
 =?iso-8859-1?Q?gILNTvThLK5CQABHjsFkCsrfTmjiVcgN04hAsLLZ08vEjvJjnjP51jW8TT?=
 =?iso-8859-1?Q?jLvy4yi498iI27iaeizquhcKLAz6PsNL/vtEIodzXS7HrfKHFXrr3kJg10?=
 =?iso-8859-1?Q?kPw+K7fX9ZdwJbu23PlCICpO31CBTkp5aqODGIT18o/CNt4HrYwPpE49MM?=
 =?iso-8859-1?Q?9rIq70RhM6fiJn43Yc2t2tt8+mh3qJ1MNnABasfZrkN+5Ix5I/7fEy80Yk?=
 =?iso-8859-1?Q?JXKCqB9Qjs2WVC/I43ZvEYUC6EbhGMk4rBFev0dRsICJbZanj6pecuCgUp?=
 =?iso-8859-1?Q?2YjG6uLqAq7JmyBheEauDjWWmkxgMQF7ZVIAhwgFd8Gbpb7YyBeQzRzMb/?=
 =?iso-8859-1?Q?k7qyBclWizgYqWOfu+hldTr9Q+MKjcsCGfw/bZlNf7A2M5B1QGUuMQ48t/?=
 =?iso-8859-1?Q?L//oaq+lEkEcE8EbB8bSKSp+hcwsFKkhS96Ukjb2kKh0s/3kkuU68q8pCE?=
 =?iso-8859-1?Q?pCaahULputQQZpIaPSNdERjsT82+uj6yn+Q/mMySteFVDJythMEy4Sg54f?=
 =?iso-8859-1?Q?nBMeCdp+wIUJGgtnYIPoc7DdBSbWvGHBPjKHigS+5cLIzIJDk/iRczXCOb?=
 =?iso-8859-1?Q?DlhW12CuQF+xu2AfzEzyyjCkRslaQDTE6O0vEVTEQ70/pbCat+tAaj4d1O?=
 =?iso-8859-1?Q?u0fKBBoSdaApWGhK6/tUIpwJcjO/qDtzMt2NahUZ7rC6Cbn6wdq98xSrGE?=
 =?iso-8859-1?Q?musAt79BWGJdJUsM0bmFXfNZDg6Wqe5slSRwGvyJ1OxWcSdKFV1S/RznX8?=
 =?iso-8859-1?Q?1GXdrGysYO45rsMqhbHQLzANLUYrWfhLatPge0K0VolTKyUjOAjJ+rMzdd?=
 =?iso-8859-1?Q?VJpDSYDzKyxpu5lp3RqVage7SWC3zb0sP7Ye35I580Dw8lA2e8+JycvSDQ?=
 =?iso-8859-1?Q?kaiET/NNiI2AanS3x9p+o//J1bv2+rQug2qRi5YnuMOnB2eBXQnAj9UQ?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e76ef8ee-0405-4921-b969-08dd6df2c378
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 12:19:18.3732
 (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: RnGfxI9hDuxi1NjEREQ9BHCccji9q5oGc0UJoAs9vBGl+1AtYD7jck9PRpD3c24cv4nvGuS+bTll9oB7d3N+FqFA8Jr/oKZlRWDyWMJyHSY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7313

gcc 14 (with patch "Add condition coverage (MC/DC)") introduced 9th
gcov counter. Also this version can call new merge function
__gcov_merge_ior(), so we need a new stub for it.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

Changes is v2:
 - Check for gcc 14, not gcc 14.1
---
 xen/common/coverage/gcc_4_7.c   | 4 +++-
 xen/common/coverage/gcov_base.c | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/common/coverage/gcc_4_7.c b/xen/common/coverage/gcc_4_7.c
index 1c20e35ee5..f4c1802303 100644
--- a/xen/common/coverage/gcc_4_7.c
+++ b/xen/common/coverage/gcc_4_7.c
@@ -28,8 +28,10 @@
 #define GCOV_COUNTERS 10
 #elif GCC_VERSION < 100000
 #define GCOV_COUNTERS 9
-#else
+#elif GCC_VERSION < 140000
 #define GCOV_COUNTERS 8
+#else
+#define GCOV_COUNTERS 9
 #endif
=20
 #define GCOV_TAG_FUNCTION_LENGTH        3
diff --git a/xen/common/coverage/gcov_base.c b/xen/common/coverage/gcov_bas=
e.c
index d0c6d0a3f9..742034e039 100644
--- a/xen/common/coverage/gcov_base.c
+++ b/xen/common/coverage/gcov_base.c
@@ -56,6 +56,11 @@ void __gcov_merge_delta(gcov_type *counters, unsigned in=
t n_counters)
     /* Unused. */
 }
=20
+void __gcov_merge_ior(gcov_type *counters, unsigned int n_counters)
+{
+    /* Unused. */
+}
+
 /*
  * Local variables:
  * mode: C
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 12:19:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 12:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930544.1333153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty8gJ-0006Cc-HT; Fri, 28 Mar 2025 12:19:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930544.1333153; Fri, 28 Mar 2025 12:19: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 1ty8gJ-0006CV-CX; Fri, 28 Mar 2025 12:19:27 +0000
Received: by outflank-mailman (input) for mailman id 930544;
 Fri, 28 Mar 2025 12:19: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=gne4=WP=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1ty8gH-0006CK-FS
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 12:19:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2614::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e01d2aac-0bce-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 13:19:20 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by AM9PR03MB7313.eurprd03.prod.outlook.com
 (2603:10a6:20b:273::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Fri, 28 Mar
 2025 12:19:18 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025
 12:19: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: e01d2aac-0bce-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OgeOT5+k4fZL2bo7EMZAAGwXoORtRticJVlOT9dVjUiCaDQHlyjwUflljHFQhdnP3qFc/tRJkhFwkshn3oYUUQyCljk0q8yMwJ0qHC7Deoos/GmZPolKInq3iR67LAEh3wv5/F0tvJWVoVvm0Gl5BsBuRB/eAhC/VIbuj+CbmWUhyy3Z8fmM0uu7X4xXIZdVxU0xeL14QxM5ko9xBFMvy4q8K0AvTjazvhjT1AyReAqjtadlIEu/c9MjvudcXBiqe1Q73sI+zNVtT63dIVmbewxUu3qQh6pIsz2qky2k2+JybKtWtwG3ldAXz6f3uBVbaRO36fQLlZAdgQLIZD0JvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3DRzRlJHjWJGlq7RFK3uImRpdrIpG2J7us3Oyxd8+Y4=;
 b=v1SQddNMGKeqm5uezPaWpCLAVPWCq7JK9u12Mtv7eBs+PAvdhT7GgJsn0kxo+fpJyYPTrYb920dZTHRdhz3eoib7lQJpaxf62BfV1CuKBuHNUxAZkTOsJfVayNwHw8kuf4ODDqTrnW77Pc3IW1hqRxXHCriNo5uV+PJZ6FlV0279CgK5nmRmOL+Y7YkHYx+QGnzzLiLBEpYq+jTEJBVeReKXFGzpCGqBnDm+84j8po2Cn02xhX9XVszRVYUZzQT0Ph7/mkR18kCrCmD2Dq0se7jVGPmTPX3KrE6iNiiK/rYO1A5keqlLjTZvSHaVXimxfUdV4HQ31cQ4H4zT+9uSFA==
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=3DRzRlJHjWJGlq7RFK3uImRpdrIpG2J7us3Oyxd8+Y4=;
 b=WgGhJRzzdYWeYsi83pqwHzEs22nqWyxjWjQjDYkRwF27WsGZ1nVJtcHsCpgnB0tjGhwF+62ikpxBBVONFG7qPeaXMWm4heauv6b9r1gxcmoCIyq5zpOZ7F5nDnixFxzvGPGV8vWJbzjjRyu9EKO0q0FaBnpe4Y+HD86Otf2snBwe07GulpUULraFsgHU9YBa1YccU+Lhohq646BB59SAMYXnSlkRNIfanYF9M1LIGsO6cJ+f4Pn/tQPCvpjuir4xcu6OtfCdfeWLk8nRuROPvbM2dHjggE+Gl2jfbTXEFlhWpU407aHaW5I1IhTPo/rue9BkpsDWit3NegkAW4GtOQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 0/3] Enable MC/DC support for GCOV
Thread-Topic: [PATCH v2 0/3] Enable MC/DC support for GCOV
Thread-Index: AQHbn9ugAFJGRLwMF0+KrTTxxLbOJw==
Date: Fri, 28 Mar 2025 12:19:17 +0000
Message-ID: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|AM9PR03MB7313:EE_
x-ms-office365-filtering-correlation-id: 236b569d-1d04-417e-a583-08dd6df2c32a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?WGUzeENsdGJUMFVJSmtiMWx4VjBsVDdJMEpYVjZRV3F6Tk9yOEU4eXNrNGZU?=
 =?utf-8?B?T2Nna2pZbVlRajhkdFVSMHZDcUt6VjBQQkowTHo4K3VnYVdGY0dGZXRXNDBX?=
 =?utf-8?B?MXl3VEZXMWhzbDRlZitOMHNubDJxS01yTndLYzdMb0tPYUZDZWIyY0FTK1Qy?=
 =?utf-8?B?SWVGdi9xb2tBOGVjL3NORGJSQnlMRmFwbG1Ud3JGQlhpMnRXdTNFYlRaejBl?=
 =?utf-8?B?eFJHMzdOM1gzc3d4ZXVJSDdDTUpyckNVdjJidmZjZWkwdmxndU82L3AzaFRq?=
 =?utf-8?B?ZnBvUGo2VjBZQlZRNll1cStuRTFGMHNLTGxQM3BUK2VtZURjd1RJZUdjZGly?=
 =?utf-8?B?alhFS3lzd3pMMUdhNGNtanc1Y2wySzRaNzlYa0liWjFPZnpKV1d0VmlUVDFq?=
 =?utf-8?B?WUh6bWJrUTYzNzlKNXIzenRMZTRUa24rRHpvR0srcDRmMUIwbnZNUmlWV0Ez?=
 =?utf-8?B?ZisyYVQ2ZnlNT2haM09HSmZaclo1NWdvYkg1c3l5WCtvUWIySHk1V0pmNmwv?=
 =?utf-8?B?dkVFUXVXZVR6ZHNESHpZYjBSSFdHT1g3L0VnY0dtQy80S0ZlVjVyQVdweDhB?=
 =?utf-8?B?ODhNVmxEUTdFMXNaQkN0MERIT2NKLzBmT0F5b1VNcVpZZFpYQjdVYVRtNXBH?=
 =?utf-8?B?TU84SEhvRmRXNjFpTElZQldNcUhzTmthRDhoUDhQZXNVRTlHRUVWVFVJSVR5?=
 =?utf-8?B?SzROVC93ZHFmanBsWEl6SlRtK0RxUjhaMlg0UHRJVWVra1dSRUs5Z3RKdm9B?=
 =?utf-8?B?UGpXOUYyQ3JzWUszU3RVeXJTK2NYeVJaVjFjUVZ1NW1KdEJPc01saEhRek9u?=
 =?utf-8?B?QnlhdUc4K1FhRnJuTTZQSUNjNlNxRmNqMllaTVhDazM1ZjhoTlJ3a2FCdlJ2?=
 =?utf-8?B?cENNMWdrZFp3OTRwNlMxVGxXRUp1UDB6WE1Pa1ZFU0NURUlZdFAvSEpOcjRB?=
 =?utf-8?B?RFMzWGNnblUyeTRxUGZaY0hndzBsTnRHMWI4QTl6R1p6R0RObndnUFBGWFNU?=
 =?utf-8?B?bGJ6YnJRZlFlRU5mTWVsWHZ1WGM5dHBFTFBONnVVUTk4aEx5YnpIRVdyNU9s?=
 =?utf-8?B?eEpoc1VHU2h1Z1QranEzcVNrSkN0ODNkendWV1NCYVF1QWJ2NGVPZXg3Q0Vi?=
 =?utf-8?B?cjhzY0hvTkpoOFpTbHR3d0NBTVh3MGh1QlNSUjN3eWNDYS9XdTFBRzBIdG9s?=
 =?utf-8?B?dDMwN25jVFEzcDI5UkRxTkVPMUdWYnRmdExya21TTnpqTkNCS1U1eHhqQjlq?=
 =?utf-8?B?OHkyYVd6MGJxNlk4OHZQQzNQOHFrTU5sRnQrTkZCcnA1WTNqY2ZOQlp1cTdo?=
 =?utf-8?B?VW5OTWpleGRuRTk4RXhCTUhDSWRvM0ZmLzlXVm94SkVPM1FOYXhTU0hhNENZ?=
 =?utf-8?B?RytJYWVmOGVOd1Z6MjZ6bkJGSmpPUUh0amtQWEUxZHUweWJqekNGZkt0dEZr?=
 =?utf-8?B?WXJVQklGNmo5b29na1FjdnpzR1RWLzdXYzdYdTR5empRekVRZ2lkNVF3WlJy?=
 =?utf-8?B?NE5aOFlPSHJ1M1N3UDdsMytKNmFyMXBJOW15OVNlLzJFdC9KNy96Z2lFY2Vy?=
 =?utf-8?B?RDl6RjE0ZmgweGtSejUzc3JKMzVpSXlEdmJVZjNiUi9hMU5iQlBWY25DYnJi?=
 =?utf-8?B?dEFRVENJMjNPTVRteTRXZlBLa2h4bjhVRWxvWkg0S1puaE9uQkFxaGpPWTFs?=
 =?utf-8?B?V3labEdsdGtUdGRKQ0FHN1dmSXRwMDgvYkNpWEJyTzNZM0Y3clJjd2NYdmVr?=
 =?utf-8?B?d2IxaDEwZnB0U1ArVE5rclJKc3RMUXdTcys3QVM3SForU2RzTlhmdU93ZGkx?=
 =?utf-8?B?UFR5azJGZ2dQNmUraHBvVnFjWVc3L1Jqb3Q5T3lLdEVyR1psQkhadllHYUVN?=
 =?utf-8?B?N3ozd2R4V1U5dGF6VUg5VWU0Y0NUUFFFekVaTlhjM1AvWE5rS1B0a3hjbjJK?=
 =?utf-8?Q?Eshr01WGbe77ExqJyr+N5Xwx1Knc2MUR?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Y0hrZyt1VXVVaEs5akxud2d0L3JnbUJJcTh1QWFsbTc1NjZPdFNMdkl0Wm5i?=
 =?utf-8?B?WC8xVWVCNlBENkdPNHRKbnJZNXZkdkRiSWdtcUpGczIzbGpxNlJUZDZNNFVC?=
 =?utf-8?B?Z1NzczJ2UU5UWjhQVEt4a3dsU3VXWUpMWXdaUnNFRk5qWVdIMGpxVHBHUDhy?=
 =?utf-8?B?c0YvV29WdUgydkUzVWd0TXUzQ1dTc3d2UzNiZ0hsZEh5L1J0SWdJa0dBdU1N?=
 =?utf-8?B?V0l2by9IWUFvQ2JieFVIYjZucXVBYTl0RENrV3U4Y3YxdjdObVZOMGRDOXFN?=
 =?utf-8?B?cStkNWpRVE4xVHFPMnZiNy9YNzdRRmM2ZjlSUnBvYUdPK3JwVDZqTEM1VDFx?=
 =?utf-8?B?dktYZU9iR2dDRG5YcXpSUERUU0ZNK2VXdTNrSUM2QjFHSVZpM3o1RHdBTC9s?=
 =?utf-8?B?Z0lDZHl4RnBaMURvWmRCYXc4bTFmdlBrc0tyVFhKb05QV2NWeThLWEMzL2NC?=
 =?utf-8?B?SGp2MUxrOHBPOG9WK01GNHhKcmZqVEpXUkxhb3NkakFSeHZUUVc3OFRSZG1p?=
 =?utf-8?B?Vzk1bGFjK1ovaVdQSHF4alNGblpQdU1ESDNzSXRwZjMrb3RpRzBmWHdZUWNI?=
 =?utf-8?B?NkdidEtTbmkwRmhDN3hLK3JKRDBhRG1vblZ5eUxkM1RSbkVUWUtvRnJETG1x?=
 =?utf-8?B?WHdvNjU5alQ3KzBlSHdkK2J0a2hEaVR3ckFDM3VQV2I0N0FBNzlEeUtEazVt?=
 =?utf-8?B?a0FFYndjWTB2Wi9UT0xycGdpL2tYUDVRKzRTWTRWdU9sTUJvZFNScFJHNHlN?=
 =?utf-8?B?L1BHb1FCNkxWYVlHMVhMWlBGdXdFb3ZwcTNwZ3o4ekZWbFRqalNIei9SYnJa?=
 =?utf-8?B?WFJhQS9SQW5HT2lyOW9KMEViMnNPY0s1a29VRit4WHBtVCtZVXRWaXg4ZlJh?=
 =?utf-8?B?d0xDRjFtd29WNnR3S1F2dWRGNHhlQjhzaGs3dnFKTmJwN0cyc2JPWW93ZVpD?=
 =?utf-8?B?SEpkWE1GL3NFTlJwMTZGem9USVVPbFhLSERFTjkwUjN1am5zRlRxa1Q2Q1Rq?=
 =?utf-8?B?NmhOZzNkT2wxdUFOeFQzOWlNOVpMZnRVdmJMU0EwZ2JJUTBjd1RlZzltSkhM?=
 =?utf-8?B?M0htVWxYY3BDamt4MG1TK2ZxZTN6QVRtdXJkc0xGNzFOOCtCYlFvUnpvYTVk?=
 =?utf-8?B?dStlZmlpTjRSbWtJb29CdkhDQko3dGRVZE9Db0diWFZZMHlkbER2eWhoVnMv?=
 =?utf-8?B?MVB1RjV2SU1nanVqVk1yWE0yMG9nL1JFUVBTS0xGa3A0dlBUQVhKbWZ1UFFH?=
 =?utf-8?B?bzNTZm9pNmhaUXZNUmw3MUp5RHpINjE5QVZ3eGZ6Y2plSmtHVzJhbmxsR2xw?=
 =?utf-8?B?TTdLWWI5Mm1Db2dSUzJpUXp5VTkya2FHN1pZSTZkVWg2eVlUYjlNSjY4WlRJ?=
 =?utf-8?B?UjgzajkrZDBKQ0JWam9LdHdpNTVSR1VQbk80T0RTVFczTHl1c0RiRGt6TW9T?=
 =?utf-8?B?empHd0puWC9xOFdMbHU4cVJGRVdjN1pWN3pRUG0xdkl2a29xN25Jc2pvQzQy?=
 =?utf-8?B?VkN3dE0yays2bEc2MjZoRlk1d1JzWXdrL0pPa1lGcXVwMk9XY0crcXRFR1Zy?=
 =?utf-8?B?N2JrUUk0U1JvVzg3MUV3blkrUWNIeGMzUGxCS0EwaS82SGo3dDdtQUhEaks2?=
 =?utf-8?B?WW1NTUxpYTZDS0h3cFVYMEV3ZnZHWXJmaEhmMWJiczkwVnNHUG5yTWxUK2JT?=
 =?utf-8?B?OEN6Qkl6YXdRZVFTU3V5eHNDNVdDUDY4YngvbGdaZ3F2N1N3aEM4ZGd5enZY?=
 =?utf-8?B?UlI1VzNKdDZPZDJ3RDY5Y2J0a2gwdWFrSEhaVEtPMEdERWFKOEhMVHpzLzZj?=
 =?utf-8?B?UC9XcE5VSnRIcmh2cXFIT2hPK0M3TXY3cG1xZXlYb1JJOGZvdkZQdmh1aEJo?=
 =?utf-8?B?WnMvdGFIM09JNkp2SUJ0MWM1THhRVDhqTFNhQ05jZFFmUVpueDlrMy8vOVVR?=
 =?utf-8?B?am5XWlZNdm03SHZYRDlMZ2NqcWFHR2NMVHVOcGl5WWtPNnlhWnloc2RnLzJF?=
 =?utf-8?B?eWlyRWtLbVZTazJ6N0RMMjlhUEVlRDBweFhZVC8zeE1FMEh0d2RYc08rZEdE?=
 =?utf-8?B?SmU3NWNVZHYzbmI2a3BLU2poNHl3WTZObGZGRFhwV1NhOUVNL1lueTFhY1k5?=
 =?utf-8?B?c1V2TTR5bXREdTRuc3pSYXBjU3JPSmFQcHVpV05hWGoyYTdWakh6QVlDT3Bm?=
 =?utf-8?B?K3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <027F2446440806408E5A50F1AE9188F0@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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 236b569d-1d04-417e-a583-08dd6df2c32a
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 12:19:17.9724
 (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: UpW9/m7a4G1J7XtcPQInq7TzfSAyx4DY0YYN4MyKVeuAz8w/a4USc/pNA7RwxWnqoklKNRG8zmhJF7E3cbQIZt9hAEyG9QYXn6LkeZE6CwU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7313

VGhpcyBzZXJpZXMgZW5hYmxlcyBNQy9EQyBmb3IgWGVuIHdoZW4gYnVpbGRpbmcgd2l0aCBHQ0Mu
DQoNCkNvbmRpdGlvbiBjb3ZlcmFnZSwgYWxzbyBrbm93biBhcyBNQy9EQyAobW9kaWZpZWQgY29u
ZGl0aW9uL2RlY2lzaW9uDQpjb3ZlcmFnZSkgaXMgYSBjb3ZlcmFnZSBtZXRyaWMgdGhhdCB0cmFj
a3Mgc2VwYXJhdGUgb3V0Y29tZXMgaW4NCmJvb2xlYW4gZXhwcmVzc2lvbnMuIFRoaXMgbWV0cmlj
IGlzIHVzZWQgaW4gY3JpdGljYWwgc29mdHdhcmUNCmNvbXBvbmVudHMsIHNvIGl0IG5hdHVyYWwg
dG8gY29sbGVjdCBpdCBmb3IgWGVuLg0KDQpTZWNvbmQgcGF0Y2ggaW4gdGhlIHNlcmllcyAoInhl
bjogeDg2OiBpcnE6IHVzZSBkby13aGlsZSBsb29wIGluDQpjcmVhdGVfaXJxKCkiKSBkZWFscyB3
aXRoIHVuZXhwZWN0ZWQgR0NDIGlzc3VlLiBBcyB3YXMgZGlzY3Vzc2VkIGluDQp0aGUgcHJldmlv
dXMgdmVyc2lvbiwgSSBjaGFuZ2VkICJmb3IiIGxvb3AgdG8gImRvIHt9IHdoaWxlIi4NCg0KVGhp
cyBzZXJpZXMgc3VwcG9ydCBvbmx5IEdDQywgYWx0aG91Z2ggQ2xhbmcsIHN0YXJ0aW5nIHdpdGgg
Y2xhbmcgMTguDQpzdXBwb3J0cyBzaW1pbGFyIGZlYXR1cmUuIEJ1dCBDbGFuZyAxOCB1c2VzIHJh
dyBwcm9maWxpbmcgZm9ybWF0DQp2ZXJzaW9uIDEwLCB3aGlsZSBYZW4gc3VwcG9ydHMgb25seSB2
ZXJzaW9uIDQsIGFuZCB0aGVyZSBhcmUgcXVpdGUNCnN1YnN0YW50aWFsIGNoYW5nZXMgaW4gaGVh
ZGVycyBhbmQgc3RydWN0dXJlcywgc28gYWRkaW5nIG5ldyB2ZXJzaW9uDQpmb3JtYXQgaXMgbm9u
LXRyaXZpYWwuIEFsc28sIFhlbiBidWlsdCBmb3IgYWFyY2g2NCB3aXRoIGNsYW5nIDE5LjEuMTcN
CmFuZCBjb2RlIGNvdmVyYWdlIGVuYWJsZWQsIGNvbXBsZXRlbHkgaGFuZ3MgdXAgZHVyaW5nIGJv
b3QsIHNvIHRoZXJlDQppcyBjbGVhcmx5IG1vcmUgd29yayByZXF1aXJlZC4NCg0KQW5vdGhlciBw
cm9ibGVtIHdpdGggY2xhbmctYmFzZWQgTUMvREMgc3VwcG9ydCBpcyB0aGF0IGl0IGhhcyBtdWx0
aXBsZQ0KaXNzdWVzIHdoaWNoIHdpbGwgcHJldmVudCB1c2UgaXQgaW4gYSBtZWFuaW5nZnVsbCB3
YXk6DQoNCmh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXM/cT1pcyUz
QWlzc3VlJTIwc3RhdGUlM0FvcGVuJTIwTUMlMkZEQw0KDQpCdXQgYXQgbGVhc3Qgd2UgY2FuIGhh
dmUgTUMvREMgd2l0aCBHQ09WLg0KDQpDaGFuZ2VzIGluIHYyOg0KIC0gQ2hlY2sgZm9yIGdjYyAx
NCwgbm90IGdjYyAxNC4xDQogLSBSZXdvcmtlZCBpcnEuYyBwYXRjaA0KDQpWb2xvZHlteXIgQmFi
Y2h1ayAoMyk6DQogIHhlbjogZ2NvdjogYWRkIHN1cHBvcnQgZm9yIGdjYyAxNA0KICB4ZW46IHg4
NjogaXJxOiB1c2UgZG8td2hpbGUgbG9vcCBpbiBjcmVhdGVfaXJxKCkNCiAgeGVuOiBkZWJ1Zzog
Z2NvdjogYWRkIGNvbmRpdGlvbiBjb3ZlcmFnZSBzdXBwb3J0DQoNCiB4ZW4vS2NvbmZpZy5kZWJ1
ZyAgICAgICAgICAgICAgIHwgIDkgKysrKysrKysrDQogeGVuL1J1bGVzLm1rICAgICAgICAgICAg
ICAgICAgICB8ICA3ICsrKysrKysNCiB4ZW4vYXJjaC94ODYvaXJxLmMgICAgICAgICAgICAgIHwg
MTAgKysrKysrKy0tLQ0KIHhlbi9jb21tb24vY292ZXJhZ2UvZ2NjXzRfNy5jICAgfCAgNCArKyst
DQogeGVuL2NvbW1vbi9jb3ZlcmFnZS9nY292X2Jhc2UuYyB8ICA1ICsrKysrDQogNSBmaWxlcyBj
aGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KDQotLSANCjIuNDguMQ0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 12:19:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 12:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930546.1333173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty8gL-0006e7-1d; Fri, 28 Mar 2025 12:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930546.1333173; Fri, 28 Mar 2025 12:19: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 1ty8gK-0006dy-TQ; Fri, 28 Mar 2025 12:19:28 +0000
Received: by outflank-mailman (input) for mailman id 930546;
 Fri, 28 Mar 2025 12:19: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=gne4=WP=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1ty8gJ-0006CK-Sy
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 12:19:27 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2614::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3eaf481-0bce-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 13:19:26 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by AM9PR03MB7313.eurprd03.prod.outlook.com
 (2603:10a6:20b:273::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Fri, 28 Mar
 2025 12:19:18 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025
 12:19: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: e3eaf481-0bce-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Xz5suee5B+AZFHHD7ZkF+l4tDLBfXhGol/+G1psMkPWkulWWfUyitCu+vpCJIHmFaGH6/dDd0yLLK1TuhrR8JiibvoaI4rkLJMUDCLyB76KFqGmJQdY3vlmRZaY+en3Y8chKIrBAKs14vg3oGwD/+Mm7t5l6DkIDLy6iQW+X9z0wneeZ08ghNFBX2iJJ7voo/KA2JbP/tYpiSy0iMj/LBmBJpTpuexcRjdnoHbfzd/Nsbh+L/jGue9oarWn381OQ5oktjnvfcvdoHXHvV8Xu3uW8po9Becn/C823WWbeLqzNSeLQ7Ni/oC3kjheqtelrw2K+5rajupTLgY+4dqxqhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wUMGxm33AzvPgMSbFPnRpY/1DSFzSMIFU0d0bQ1ISWA=;
 b=P54w5QpWCivUhNRbHA45GIuPy/EyOndoZZL4LfCqvfn6iV9XFvUVsiIbgJFkLLCVM1mMO2lB4fdFXpvEBhK7cxFNDCWHdl3sX/D/akCWyXnvML6gKQclDyl/QGzwXbADjng+r6UIt3n3v/bsUS7j2n/KV9OcVxS382igDtQStabk23aFwdTZI8dDNOTP6qnkj0wr+nW0iRzEe+FV2Imojls5sFzckZBEO3D0ZQM7Kyfc8758nwiG9JtNAM5uW3yxde0mqO1N6/xhMn/JSaLVjB4KoAIgOtEynrhVzl0LJ36pBjfGm0uWBl3SABKU/4moeTRq2HC+cIKzJ9XXyPoYEg==
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=wUMGxm33AzvPgMSbFPnRpY/1DSFzSMIFU0d0bQ1ISWA=;
 b=Z266YCmDvqY9MyMPAJobw/CrdM61/edoOlTOhA+0YlydCzlZ3UQJ10VkWTQvMO2WX1Lja4PDgN3s8TYcV+ZrqibjC0oYlacAFtAYit+kYdj9SoNn3taVOJ/1oFoT+aNi/kc19CsptJwCdvSM6OqqlGZZL1OrrUVH8RqNbDBNDu0bj3I/uKTCgbtTmOK/+BtBKv3f9mnT8zG4H0GdGnIvVFrTksO/LEoTcI5IWAZ9JJAV+sNtlpq2sXzydwxVwkyvMRyCWLrcnNdZ/SrpqWd0lQpJV2QATZxQuq585c5iiGtEf7DRMVsyq4En12NIkGmu/KFtWch/Xi4000sanLanrw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: [PATCH v2 2/3] xen: x86: irq: use do-while loop in create_irq()
Thread-Topic: [PATCH v2 2/3] xen: x86: irq: use do-while loop in create_irq()
Thread-Index: AQHbn9uhrkS1XYNimkOfzt6xc/nvUA==
Date: Fri, 28 Mar 2025 12:19:18 +0000
Message-ID: <20250328121902.2134020-3-volodymyr_babchuk@epam.com>
References: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|AM9PR03MB7313:EE_
x-ms-office365-filtering-correlation-id: d47cdbba-3d14-41a9-4efb-08dd6df2c3a0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?ZTFlYTh2Y0dJblhySkt4Y0pva0JjUk9nc0s2L1R2Qkg3QUR6Z0x4WTZWWjhh?=
 =?utf-8?B?K0pta2Z2MmxoWXRMQ3JBVWFzYi95dGNWbjdXSHdRUjBBdllPMGh0dEExTnhX?=
 =?utf-8?B?NGI1a2NubHdhV2JHWWhybmpKc0NKbGlDWjNXMVhtTm1Sd0VrUHFyOWxDTE9i?=
 =?utf-8?B?bWdONUpzTlUwcnpWTi81TDB1TThDL1hFeHNSSnJBbDZzVTRuOUdvNVpzTjlZ?=
 =?utf-8?B?d2dPUm5UUTlsTTR3QmtJcmIzczB0eS8zeXpuZm9JOUJKclpYQkNNZm5idWpB?=
 =?utf-8?B?alVqd0VBbkVwSXpWQmVGTlZDSkZBQXZsblJWQkdndTZXWjVZbStqelYzWUNE?=
 =?utf-8?B?SDlrSzlvZDJqTlY5TGhPYUZCWEJDTG5PL3dYbFpQZmljd0N4eXZWMEJxdDlq?=
 =?utf-8?B?Nk5tMnhkM0E4OUh6cE1mRmJNQUJjQmFjRTdMTzdmbVV3S3JUME9CNUVzL2VP?=
 =?utf-8?B?aGd5Sko2aG1LRnBjV3RGRTdSL3NjYUhUbVNnZWhGWEh6L2NPTi8vQWQwaFp2?=
 =?utf-8?B?VmtNSEZ1WTdkdXd5eHBSQjFiQ2dKYlBYQ2lKa1pCU29MVjE2WnpRREZlRmcy?=
 =?utf-8?B?Z1paaTdWellzZDJCaCt6OWovd2JXV3RqT2JJZS95TEZWQmJXeDJETXZzZVpo?=
 =?utf-8?B?NkJWMW1rU2p3eXprRnZVT0d1TS9YWi9OekxWMlNvOVFuZ3ZxM1hGQUZYc0Qx?=
 =?utf-8?B?Vnoxa0tYWm1SbUsrdkN1YXU4KytjMDBzekNKTzZObEorQ0NPY2hJRnB1QXR3?=
 =?utf-8?B?YjhTSnRsa0NFSWxiMDYwQjFiMWlSS01OUVlyZE56MnpVNnRBUWN5eldZMG04?=
 =?utf-8?B?WVV3dVRFbzNKWG96dnlrSG85aERNR0ZZNk5vQWlWOE96MGMzM0xLZUdVTTR0?=
 =?utf-8?B?NXFJbktueWxpeVBMMnpnVmt4b1dYTUNQdGZIUUxVYkpJUnZOMGF1RTk0YUNG?=
 =?utf-8?B?WWx6ZVR5WUw1RzlMd3hIOXB6dEF5bEhNNE5BTjVzUjZobTd5RFB5bWVEeDJl?=
 =?utf-8?B?Q2szVnhQdlh3RzEzbXdVV096a1F1TWRacTJQd2pNQVdJTG8rdXVraTVGRU5R?=
 =?utf-8?B?U1pRV0diNG1LMlFTWlJva25TeFJIQ2RKZmwrUitxM3l4YnZFQ2Z0SUlPY01x?=
 =?utf-8?B?Rk9uSU5uZjRSSzBka2JjUkRQODgzTkxEZGdqb1JQVk5nOHVlRnhwNVJsRTd2?=
 =?utf-8?B?SzN2TlBzYkJZVmtOTTZVNGMyZCtpQWNNNGJYR1NpeVNUY1NpR0gwVStDb1hS?=
 =?utf-8?B?bGIxMS9xUFRXMVJZbVV2UnZ4OEJZeG9heDlYQU9lZmdaZ0FxalBNelhUQmh5?=
 =?utf-8?B?N3oydm90ZzZFUTdtREl4VWhNUUpRVUtkVmw2TUM4ZjVCa01ReFl4UmFKb0hj?=
 =?utf-8?B?bC9senRFZU1LTWg5ZWJhaTduNWFLS3hmdzdObmt6SER6V05iU0IxbW9pYnpI?=
 =?utf-8?B?V3hGR3BET25lMmVkeVdDb3J6cjMvaW5OZXRNSllPbTVJMlBLNFB6aGNNbEtw?=
 =?utf-8?B?OTBIZjhZU1NKRVpIK241SE9zMjVscTJSV2RFM3M5Rk5QQlB3cXUvN2xCellF?=
 =?utf-8?B?T2NCTVNPbm1HaXl5WUlicTZ2bXZXdVRrU0hOWXdsMzByUXFWSWxNSkhPNjdq?=
 =?utf-8?B?RWJGdkw0ZzNKUVRaTW9vVDZIVHpLVUJnSDlpTG9HZ3kzd0cwZ1UzSUpMRUpp?=
 =?utf-8?B?eGFhLzZRc3AzUGFvTm5ZK0QvbUZJazhTd2pJQTZZdHpDZHV0UGtWY2ZOQXRa?=
 =?utf-8?B?Z1FtZ3RTa0dCU29JUHdxbzU5NTBUNVlLVXZUdHdZSDI4bHRVc3IvdGhUQ096?=
 =?utf-8?B?QXNyR3Z0aGdSVlJoNzVDSnkwVmVZMGhWNEJqL2JsbGxxZCt6cXhBM01xVWlF?=
 =?utf-8?B?WlJYRlpUTzFXTmRRK3RCWXFWZkZvVCsrZkJyTTUzRFBlTVpCVkU1V2JESDJR?=
 =?utf-8?Q?3wuYoZOYz2T6wPY+Avt7JEgbTeHIX72n?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?M1hVYzRIcGdJMDJwSTVNanFoOFArTmpRMVk3dDZRSUpJZzZFS2lQZ2Z3SmpZ?=
 =?utf-8?B?YVo4NFJDaUp1Sk1QQVlVNUJLT3VQazBGTEFzQS9yUUZQMTFqSXhSZVFEc3Vu?=
 =?utf-8?B?aDJKS1YzVlBrYUJ2NS9aSVBiSGFKcUhpZGpUc2RtKzdkclhIUldhbGlsYy9s?=
 =?utf-8?B?VzRabkErbEowdU5iZThQTXIyZ05nZFJqbVU2UjAyNlh3c0IxOG1EUk9QelFj?=
 =?utf-8?B?TXFRTTl5VUdYWCtwOTBRbko0cVE5ZWlHOUluVnU1T2ZXdS9iWWZFbndoTkpW?=
 =?utf-8?B?ZS9KZCtWZFVSLy9HekNQSkNHN1J4OFpiNFVNY0hkbHV0R045Z1RRZGlyV1pD?=
 =?utf-8?B?TXpkYks4U0V0QzhsTFhVdUs5OW15OE9XSU1HRWp0aU5rUEEwclpESnU0VVJY?=
 =?utf-8?B?ZkUrb0Fhb08zZ1VseWdmWWx5dkdJMGI5WlREeEZsYlNzN0pZa2R4VHFnT3ZY?=
 =?utf-8?B?aW9wM3ZGcGc4Yng4QTZnVEp6TFpBRDB1Szh5QnVwVzBHcUhJRTBhZjYxRHhu?=
 =?utf-8?B?QmVDR3BpaWFwb2c0ekNjTC9PN1F6MS9DdDZtR1kzZmQ4Y2hJekx2NS9VZnJN?=
 =?utf-8?B?OS9udFRRT0tkYUFVQzNnSnVJZW1CQlJMUUJ5QkpNT3R4S3ZselpMWUdKVVZP?=
 =?utf-8?B?WXVlaFgreDhQQUhtSHBxSWdFREhFajRrWW9sQTQwUGtxYlU1dlFFcEFxYnJR?=
 =?utf-8?B?TWRPWmNXSjNaSGQzWG8wdUhMV05wcmVpcjZsT1h3cVFnNmQyS2dLeUd4Z0VD?=
 =?utf-8?B?T204VlRhSzlobVBNcHB5bkdkRks1eWRCR0VmTTA0a2VpMmpYazB0WWJ6MXc3?=
 =?utf-8?B?K2RYaVJHTW16WnB4clRYNTJpVTd4RGx4SEZrbGN4b3gvYlFOclRTSWQ0ajJZ?=
 =?utf-8?B?YndaT1IyeGRja2IvRXVyVlVSVlRrYXdkeDBlSldWWStMYkRRdHgxcVUxMUEx?=
 =?utf-8?B?UFpXeTBFUG9tczRxZ1I5RWVLWEFRRW1KTGZXQmw2WTBqUkNINHVKbEtldk8x?=
 =?utf-8?B?WUoyUkF6cklUS2kramtkNEFEbUdWUGdqTm9jK3dCMk1WOXZjMDJQNk9rT0Y3?=
 =?utf-8?B?ZW1BU0gzTDFGbkpTbDRyT2NtZWx0c1YwVE43dHI2NnVieFlpYm9FYWsvTExQ?=
 =?utf-8?B?VlRmT2hHQXc3NWtrY2NXYkNnbGszRGl5VmFRQXVJRHdLK2g3RXFyZmVaYmlE?=
 =?utf-8?B?ZGhPUmw3OXpiakxNd01ON281T0FXZnhmSzZOVFY1QjdhYzJ5NE1IckJUdGVK?=
 =?utf-8?B?SnVjRXlma3pLZXdRUVdMMXRPMEVzT3VyTUh3VjJ1VHVuMjdJODNHbkdPZmpC?=
 =?utf-8?B?ZVhTV3ZjcjU4aGZhNVB1NFdubzczN21kQU5rbnhJUFJScGtLQnQ5R0txbURZ?=
 =?utf-8?B?Q0E0OHVaRWdydXdoelQ5ekMyV0w3aWl4Rktxd1FwRU5INmpQT2t1V1JvZXdy?=
 =?utf-8?B?a1djeUE5d3R3Mm5mOGNuYUNiLzJzT2hFR0VUWGJlZmdLS1ovaGlsbklFSm5a?=
 =?utf-8?B?Q0E5TlJYSzJQZDB3REdORkNNSjBUTjBPS2p6RkkzamNWVWhUR3JyaFlFOGVG?=
 =?utf-8?B?TWhMbWpVbEQ1eGkvc0o4R1poaXVjR1REYld1WmcvUXR5bmEzRGdPUmVYSGZO?=
 =?utf-8?B?blNJdlY3N2lXQ1VWd3Z2ZUFXdnMxNnZmL3NiSTlVTzBKSVk4TmNieFp1Rkw1?=
 =?utf-8?B?bVdhWXNkeEFaOFI2V25WOHdGeW9jbFJnMVpTUUJPNnNQamk3bjliVytFMFlX?=
 =?utf-8?B?NnJUTVFRN0dHL2w3YTNLeDBUTWtWWUZoTDZJMXNaVjRkWCtVZFpvS2pWUW8z?=
 =?utf-8?B?TmZyeVAweXBkdzYwS1RVc1pVMmNZczNLWGFkWWlZRDJOQ0RSdUMvcmhFMkNI?=
 =?utf-8?B?eVZKVzF4Q3lWUEVza1AxQjVkUWZJcVFHd2hHRFMzT2ZtMkw0SUlseTdWbFBz?=
 =?utf-8?B?Nm12UmVqeEEzR2dvU0pleWkySEg2cExOeHRJSHpKSGlKdFo5Rm5JbjNNWDZV?=
 =?utf-8?B?d1cvRzlDcFo3ZGJSNHYrbDBqQ2RGUVdrUUxmejQ0Z3FEL0VEc3ZZWlVPMkJD?=
 =?utf-8?B?dlFPdDJ5VUFKR1RQV0QySHhqTi95R3poN2E3K0xLR3loaVN4WExsTmtQOXFO?=
 =?utf-8?B?ZVh6eW80ampKazA0N3F0cVNYOGRySTlSNC9nRVdSakZGTWY3ZmhVbk9TZzNO?=
 =?utf-8?B?eVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <34A6328830B2D94DB9416E95A389FAC6@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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d47cdbba-3d14-41a9-4efb-08dd6df2c3a0
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 12:19:18.6980
 (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: kjs5udCk1Wb6jQL3NcHXgU8jMQd6pnZ3WI8vdqXfg6PvJR28dffYZsGcYunbxzt3BRmREt4z09/gBuzsojkmHc7tn0h0FC3VtqkAgcRyjmU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7313

V2hpbGUgYnVpbGRpbmcgeGVuIHdpdGggR0NDIDE0LjIuMSB3aXRoICItZmNvbmRpdGlvbi1jb3Zl
cmFnZSIgb3B0aW9uLA0KdGhlIGNvbXBpbGVyIHByb2R1Y2VzIGEgZmFsc2UgcG9zaXRpdmUgd2Fy
bmluZzoNCg0KICBhcmNoL3g4Ni9pcnEuYzogSW4gZnVuY3Rpb24g4oCYY3JlYXRlX2lyceKAmToN
CiAgYXJjaC94ODYvaXJxLmM6MjgxOjExOiBlcnJvcjog4oCYZGVzY+KAmSBtYXkgYmUgdXNlZCB1
bmluaXRpYWxpemVkIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdDQogICAgMjgxIHwgICAg
IHJldCA9IGluaXRfb25lX2lycV9kZXNjKGRlc2MpOw0KICAgICAgICB8ICAgICAgICAgICBefn5+
fn5+fn5+fn5+fn5+fn5+fn5+fg0KICBhcmNoL3g4Ni9pcnEuYzoyNjk6MjI6IG5vdGU6IOKAmGRl
c2PigJkgd2FzIGRlY2xhcmVkIGhlcmUNCiAgICAyNjkgfCAgICAgc3RydWN0IGlycV9kZXNjICpk
ZXNjOw0KICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn4NCiAgY2MxOiBhbGwgd2Fy
bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMNCiAgbWFrZVsyXTogKioqIFtSdWxlcy5tazoy
NTI6IGFyY2gveDg2L2lycS5vXSBFcnJvciAxDQoNClRoZSBzYW1lIGJlaGF2aW9yIGNhbiBiZSBv
YnNlcnZlZCB3aGVuIGJ1aWxkaW5nIFhlbiB3aXRoICItT2ciDQpvcHRpbWl6YXRpb24gbGV2ZWwu
IEZpeCB0aGlzIGJ5IHVzaW5nICJkbyB7IH0gd2hpbGUiIGxvb3AgaW5zdGVhZCBvZg0KImZvciIg
bG9vcC4NCg0KU2lnbmVkLW9mZi1ieTogVm9sb2R5bXlyIEJhYmNodWsgPHZvbG9keW15cl9iYWJj
aHVrQGVwYW0uY29tPg0KDQotLS0NCg0KQ2hhbmdlcyBpbiB2MjoNCg0KIC0gVXNlIGRvIHsgfSB3
aGlsZSBsb29wIGluc3RlYWQgb2YgaW5pdGlhbGl6aW5nIGRlc2Mgd2l0aCBOVUxMDQotLS0NCiB4
ZW4vYXJjaC94ODYvaXJxLmMgfCAxMCArKysrKysrLS0tDQogMSBmaWxlIGNoYW5nZWQsIDcgaW5z
ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9p
cnEuYyBiL3hlbi9hcmNoL3g4Ni9pcnEuYw0KaW5kZXggZGQ4ZDkyMWYxOC4uMzIyNGFkYTg0NiAx
MDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9pcnEuYw0KKysrIGIveGVuL2FyY2gveDg2L2lycS5j
DQpAQCAtMjY0LDE1ICsyNjQsMTkgQEAgdm9pZCBfX2luaXQgY2xlYXJfaXJxX3ZlY3RvcihpbnQg
aXJxKQ0KIA0KIGludCBjcmVhdGVfaXJxKG5vZGVpZF90IG5vZGUsIGJvb2wgZ3JhbnRfYWNjZXNz
KQ0KIHsNCi0gICAgaW50IGlycSwgcmV0Ow0KKyAgICBpbnQgcmV0Ow0KKyAgICBpbnQgaXJxID0g
bnJfaXJxc19nc2k7DQogICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYzsNCiANCi0gICAgZm9yIChp
cnEgPSBucl9pcnFzX2dzaTsgaXJxIDwgbnJfaXJxczsgaXJxKyspDQorICAgIGlmICggaXJxID49
IG5yX2lycXMgKQ0KKyAgICAgICAgcmV0dXJuIC1FTk9TUEM7DQorDQorICAgIGRvDQogICAgIHsN
CiAgICAgICAgIGRlc2MgPSBpcnFfdG9fZGVzYyhpcnEpOw0KICAgICAgICAgaWYgKGNtcHhjaGco
JmRlc2MtPmFyY2gudXNlZCwgSVJRX1VOVVNFRCwgSVJRX1JFU0VSVkVEKSA9PSBJUlFfVU5VU0VE
KQ0KICAgICAgICAgICAgYnJlYWs7DQotICAgIH0NCisgICAgfSB3aGlsZSAoICsraXJxIDwgbnJf
aXJxcyApOw0KIA0KICAgICBpZiAoaXJxID49IG5yX2lycXMpDQogICAgICAgICAgcmV0dXJuIC1F
Tk9TUEM7DQotLSANCjIuNDguMQ0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 12:19:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 12:19:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930547.1333182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty8gO-0006uS-CR; Fri, 28 Mar 2025 12:19:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930547.1333182; Fri, 28 Mar 2025 12:19: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 1ty8gO-0006uA-9A; Fri, 28 Mar 2025 12:19:32 +0000
Received: by outflank-mailman (input) for mailman id 930547;
 Fri, 28 Mar 2025 12:19: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=gne4=WP=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1ty8gM-0006CK-Vg
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 12:19:30 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f403:2614::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5bf5ee5-0bce-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 13:19:29 +0100 (CET)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by AM9PR03MB7313.eurprd03.prod.outlook.com
 (2603:10a6:20b:273::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Fri, 28 Mar
 2025 12:19:19 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::a41e:5aa8:e298:757e%4]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025
 12:19: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: e5bf5ee5-0bce-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P8NvOlarJar+BiNnC+f7gRPfIsBBKi1zZvVTY1bxZg+QiAKYF007vXhMOD/TEetbUwWy8J+4nhLcIlcIuBcK9L0lX5EdRnWiZQXHHS9kLD0CbLHZJqYv5tGzXjGJGWst7evIzEWlj507aSGGKvaBLotVbKNsId9uFsIeW3CnhePugmSTYdOhGb/mdycvFjhISOclEhFjh8Vzf927ESZKbeAW+vaB6I9XRPP2fZAYF47KfbOtvxMiQ2wt1KBMs8uOaR74E6aV86jY/vmnqcnOrXWvHadTFi2MUvzYxDso1I2ptmaWol3ZNoyd3pLvjMed7n3ISzy1H9vD/C+bka9upg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1QGXNEjm7ttDKmdBwGlsNjsh7q36VyjAuzP/PBSR9M4=;
 b=wzgbZiEKHCK5XonavSguj/w9gwn9X8A9zAHhe3jrhP6q9OLKGNE5ZEztQ/UwX+jGCqAy7EYp8z/UavNnK8FUoWhcPIKzBz3f3ggRFgi0ZK1JmO12NZR3iC7rpMXW481UovTHwB4ZEMP6wIkXd5DdJYJZGZaaSolIYIztuHAc1/ICk7HjENUbYA4GoCPYhDGz/OiCngzoVAGZbjQu+voSW2MDdqJhY4Ap7weMoNW2FdhTfFd0c3sT1ll7dRFgZpnl53BhabAHS88DArwdWHReesFNkqSfweBHysAIjjdnrlKK7HUe76qPVFqcJXKCkzyhtN8YxVxpUgnUylevLUNLuQ==
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=1QGXNEjm7ttDKmdBwGlsNjsh7q36VyjAuzP/PBSR9M4=;
 b=Wzem83yASdpsiYzomsR4fHTPgXwiCoeSidrefYqiiqZrPxcX8KocBRySlCpCeQ/EIx2XlmztxzM+chxQ8Ndv+AnzVnYbvSYaBMMlTU1DR1XGQReoNyYUUw7fqA+XMUkQAKqcaI55ZG2o4qmPb8OWs2OqyHlQVOGIBOfgJ6yag30+8DecO7B+WmXwST4CFeRZGPIvazXee0ouvvd7k1sTCkE1AyzNsO4EJzrv44/sVAcrkli2J38UpiSYjEVdLVU5Ch26NkZVRMakqXy8HGZjAV7SQEINpoQh6a+u8h4q1xf9S2jgEKx6PLuMyWDKnKmA+4hZYKkfO58+qGcrLZHO2g==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@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 3/3] xen: debug: gcov: add condition coverage support
Thread-Topic: [PATCH v2 3/3] xen: debug: gcov: add condition coverage support
Thread-Index: AQHbn9uhgPsYBM+3ZUSZ+mjdepz+rQ==
Date: Fri, 28 Mar 2025 12:19:18 +0000
Message-ID: <20250328121902.2134020-4-volodymyr_babchuk@epam.com>
References: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.48.1
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: GV1PR03MB10456:EE_|AM9PR03MB7313:EE_
x-ms-office365-filtering-correlation-id: e2ca2012-e2f4-4fc2-bb7a-08dd6df2c3cc
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?Pjc/pKIWk7r4d06k674jWDpUXrHieznNHVyFHysy1yocQXW/jlYNAR+meC?=
 =?iso-8859-1?Q?4hfwcSM01rXnuAWXH+Ny6yZvF55tWpyUWYoSwqUwueol2sjOS5NeJW9+T5?=
 =?iso-8859-1?Q?P1SBzuuD3n0ZnZK77xa05b4I8qYhVv0rdbfu7+6i6+mL1WRcbjJJBAZOzp?=
 =?iso-8859-1?Q?Pvr6XetZ1VIDLy8YkXkcLFNEeO/bgvB3qb06jSrb8v1Wh6C1BAInyfPIBW?=
 =?iso-8859-1?Q?DdNJwKXuDImWXKxzmyeAyv+0F/c1xUcLbHUED77P6nWtPN7mH/dWL6zfHT?=
 =?iso-8859-1?Q?CmA5+THMxBcKtzkEBzzHIqVS2/CIW0oT8BzBgZm0NZBQS3/toUwgdV+lNR?=
 =?iso-8859-1?Q?CV258wP3tp5GYOzcXKegJIy1dTWIRYLMlxg8w1jwTJf77E+hvlVDGMq3y6?=
 =?iso-8859-1?Q?aJrWne7Y5Qem6g10aATf6cYd24krRB/ti/ZJPbo1U0kO610AxOJpsVaKJB?=
 =?iso-8859-1?Q?GIjuJ1KGgc362J5mJkK32OIqfhBwhhOvQLa14CZ6pRpWL18YC1p0vt02zl?=
 =?iso-8859-1?Q?o4SYiBf0ZBDYZcaSj6aSzE2tuHthA6CY4CK5ksF7yW3c5m1g26TP+Xh+kK?=
 =?iso-8859-1?Q?oCTc7UdRIeYLkVKlKdIJeL42/xasO+EkLphjIvcf+tABRk/orVDn12CCCG?=
 =?iso-8859-1?Q?/BpB5mQ9xbcADb0h6ghnw4oV+RzEe/cBwW0Ji4grCscuYMt9jFA7Sq94XR?=
 =?iso-8859-1?Q?VQ52v/fkykQcnF0F7Y3D2zjO2IpyaXzgRHGhfcP4lfkpTbNhfIcNlMdehZ?=
 =?iso-8859-1?Q?Tj1jbo1ek3BNV7Plr3ccsxEY90h+1cW+dtfk32oxJZXfSDO13cCBA+vPeF?=
 =?iso-8859-1?Q?IGspDlroHJN3X/Ut+6Nlxc+bgNq5ZOYbLjBElbMiQ2I97yrM62fO+2TNZd?=
 =?iso-8859-1?Q?+PL2UUZONAcZG17Qf4/rsGWwfa4v/OoDozogqKOojwSsW1UAEFv5G/0W8G?=
 =?iso-8859-1?Q?MzBz1Gj4j9GKw2ew4ffHu0WnsS6uhYNS1m9IUpZ9chdQ9z3lGPrF+RPCvX?=
 =?iso-8859-1?Q?YAYtWyj9K3Jfw6NZCWQdk1NMT7Slac1C5k7vvQMrpjhEHJCvHjz/miT7vt?=
 =?iso-8859-1?Q?hxjbRXfyuMN4tZ5I/MjCFrEaJuFFpak96LSjViN+NX2Wz1GBVkK2GhjKKa?=
 =?iso-8859-1?Q?nntEiZCPr2MuqNkF9tBbefMtyzQbrg3oLn+P/z3LIc9soYS4k7MjylHCu5?=
 =?iso-8859-1?Q?y2hkv+BlkuUqGedKNRm//yL8yZs7Lq7K7SPVVG5HdTf24aZihEKFlzQAYu?=
 =?iso-8859-1?Q?WHBpx3EwcGmN1hjXpQRFrQ+z+NXNVWxc4skubG9knfvw7bhxmCgMaBwreP?=
 =?iso-8859-1?Q?ZAU63xTQavOiEzMeNCiWFoDHN6Zg279y+08Qa8Sd4Sm+fUsQWKI/u8a65n?=
 =?iso-8859-1?Q?FgcXEzVlFz11QCpvXJPHXZCrddv8dCvvw0ZaCotC+kqTjCx9a7bbu1jMjO?=
 =?iso-8859-1?Q?hoZlYOxdl/Q1rw/WLj63Egnh9BvoOtQGKQLQujc+uFw171BRDoZzRu91wN?=
 =?iso-8859-1?Q?d3/QS7dAvdMyHDz31dHffF?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?4MDnG4ovEsHgYvebK+z8cOksPAnaUAuidhOsXWWxzNwW9jSfsZq1xfmKwX?=
 =?iso-8859-1?Q?DHBdzA9hnQ/WeHnT/6nv2uN8k/YU2uB1kqTSYyxRhUXL3Ifmrflj3ED6zA?=
 =?iso-8859-1?Q?0O4qv9PenhcQL8APUoKKK/6EY/mB4bQde5XfWLzSaGlXqEWZy7WcnigiAC?=
 =?iso-8859-1?Q?OoguYnbZFJSSRLP7pDfvNY42l4QGJeB0syR+i8MxCdr6pyPPb/e7VWUAJF?=
 =?iso-8859-1?Q?zXnMRF1Npq2WETbZDzG3wWJqqDw85H8VcKvHHGSxTW6nC3uoUfXiyqRv6f?=
 =?iso-8859-1?Q?GgTMxV6N7sDGbyRQYmY54IWOQv0JvF+U412RLisbvbdZjkOFgABmnD0jf7?=
 =?iso-8859-1?Q?AmuJUqD/gtk+QmD9joEOBiUxk+1dqUoKLG6X1RyysmEPJU3ryhvcVCh0Od?=
 =?iso-8859-1?Q?2o/ZZsZdUVZsRn4YBN4u1yZPuMYMulBI3xpOgciuNTqb2F8CazEW2jXQVs?=
 =?iso-8859-1?Q?Og4Lfb+uOwkpS/UT3sdEC3Phwyiq1flsA+Fxiu+B2dKzCh5ND5ZHBeYTcN?=
 =?iso-8859-1?Q?zUShdJZe825kOHQ4yQgoEuQfKRhSmK5AgyUjyzt8Sf2BOjyGnqRZPFvsgt?=
 =?iso-8859-1?Q?ydDvJdX6qcApCSk2Cf6CI2t9qzdftqKP+M56eFlG2CC1Q6t1I2QwF6ZdH6?=
 =?iso-8859-1?Q?gd8Q/aKAqjRfnRgDe1Nf9VVZFolbpsHWopZ4+ycGiUX7rIFT3LqLHJa+t/?=
 =?iso-8859-1?Q?Uv2KqtCKN13ZDxGeGBd1izUpY0Ug6fT8a2tEgOZJiJ2UAHN+Uc/kv4zE+s?=
 =?iso-8859-1?Q?Q9WfMnR80uGHYZAJWUR8sdfhiiI51IPYB+bhO+rhswToc0b/IR+RATXXSz?=
 =?iso-8859-1?Q?zwj35RUecOYKuojL9+xXBeetzEFZVbDn/J5RFEni2EPJuZpyTKhG1vMrUe?=
 =?iso-8859-1?Q?50kMVzx+bYBF6K5YiKCBf5ATX+57zqNvNAWWtRDWOvudFqcqkDqPJmJpIa?=
 =?iso-8859-1?Q?kYbfw6n3YesEG/tsP5+QzeR67XMK/oSl8W7Xhf3DSd11UhHOaOQ/PLjgk2?=
 =?iso-8859-1?Q?y4VkeXHSktL485vz9NNf8TVnStAKfo3bPOr1MxSJAkvikFlEe8GCDCiun8?=
 =?iso-8859-1?Q?o/Vxz8eqtoWmH51IN1/dmK11udAyRIE0VZuVcM8q6ZH9lE9aXjXcpr0w2H?=
 =?iso-8859-1?Q?SZ0bowdezx29X4LDPzW48zZtz+alLxwG9G+Jui79EqfZrgM9PSZi4AdZZl?=
 =?iso-8859-1?Q?X3am1J0rNDZfSmT7hEML2zpC3XTW3IqjrTxguWXdWuYIKbOgzM3mUYpfCe?=
 =?iso-8859-1?Q?vkAgZHcfeSn5tyHv2J3yUCqPP/jhpEPGbElcHutN92E2OPlspu0y+vE7s6?=
 =?iso-8859-1?Q?wDmGY14ev4LbufqvtYs6fGr4gTO3W9zRjwk3V5ic+wNTR8/YEzkdmSapGd?=
 =?iso-8859-1?Q?AQH1QOtN8qQs4cgp1CTYGFDmiUD55H6JoD6OnzwE4WdSub0xRgC07nF0T2?=
 =?iso-8859-1?Q?U6WB8fQtu6mJhtICCBW8xLmHgy50OSbG3k2frERVfuem6xM9hgxSG9SckN?=
 =?iso-8859-1?Q?mZD5HJeSIZoPL+eWh16lQZeN5gZLGrXLOwglt2Acn0vLFpVT1IXdWyo3/B?=
 =?iso-8859-1?Q?X7HgVK+2iZ8kKOOaCpt6igbZArZslcB57XxQShnRSpLPsdCpD6ibu2KaWy?=
 =?iso-8859-1?Q?ZiUg0kUKJ1CwlPlgFnsAhSzNq5B8uYqaZ5l86HmR0L0VTm5Rjafgn2wg?=
 =?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: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2ca2012-e2f4-4fc2-bb7a-08dd6df2c3cc
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 12:19:18.9969
 (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: LbByMNeZ44eJev52IjwiGTezUkXZWEeEv54t75RDNOlPb6BZeIJmxl+TfAfo0laAwFemkFpkw1oDQmD94RiahWyyTvnfg15a3jVseP4a4bU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7313

Condition coverage, also known as MC/DC (modified condition/decision
coverage) is a coverage metric that tracks separate outcomes in
boolean expressions.

This patch adds CONFIG_CONDITION_COVERAGE option to enable MC/DC for
GCC. Clang is not supported right now.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

Changes in v2:
 - Move gcc version check from .c file to Rules.mk (I can't find
   an easy way to check GCC version at Kconfig level)
 - Check for gcc 14, not gcc 14.1
---
 xen/Kconfig.debug | 9 +++++++++
 xen/Rules.mk      | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index f7cc5ffaab..7f758d221b 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -44,6 +44,15 @@ config COVERAGE
=20
 	  If unsure, say N here.
=20
+config CONDITION_COVERAGE
+	bool "Condition coverage support"
+	depends on COVERAGE && !CC_IS_CLANG
+	help
+	  Enable condition coverage support. Used for collecting MC/DC
+	  (Modified Condition/Decision Coverage) metrics.
+
+	  If unsure, say N here.
+
 config DEBUG_LOCK_PROFILE
 	bool "Lock Profiling"
 	select DEBUG_LOCKS
diff --git a/xen/Rules.mk b/xen/Rules.mk
index d759cccee3..b6f83caad0 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -138,6 +138,13 @@ ifeq ($(CONFIG_CC_IS_CLANG),y)
     COV_FLAGS :=3D -fprofile-instr-generate -fcoverage-mapping
 else
     COV_FLAGS :=3D -fprofile-arcs -ftest-coverage
+ifeq ($(CONFIG_CONDITION_COVERAGE),y)
+    ifeq ($(call cc-ifversion,-ge,1400,y),y)
+        COV_FLAGS +=3D -fcondition-coverage
+    else
+        $(error "GCC 14 or newer is required for CONFIG_CONDITION_COVERAGE=
")
+    endif
+endif
 endif
=20
 # Reset COV_FLAGS in cases where an objects has another one as prerequisit=
e
--=20
2.48.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 12:38:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 12:38:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930588.1333191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty8yX-0004Mc-UH; Fri, 28 Mar 2025 12:38:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930588.1333191; Fri, 28 Mar 2025 12: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 1ty8yX-0004MV-RJ; Fri, 28 Mar 2025 12:38:17 +0000
Received: by outflank-mailman (input) for mailman id 930588;
 Fri, 28 Mar 2025 12:38: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=dgi5=WP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ty8yV-0004MK-RV
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 12:38:15 +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 84068047-0bd1-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 13:38:14 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-39c0e0bc733so334721f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 05:38:14 -0700 (PDT)
Received: from ?IPV6:2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b?
 (p200300e5873d1a008e99ce06aa4a2e7b.dip0.t-ipconnect.de.
 [2003:e5:873d:1a00:8e99:ce06:aa4a:2e7b])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8fba4b4fsm27043775e9.1.2025.03.28.05.38.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 05:38: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: 84068047-0bd1-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743165493; x=1743770293; 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=1PQwPvaNHawbSOSV/o2upXupCKnh1HXAi0RshoHTmsw=;
        b=JTniqaB6oIsSB3DUxLbH0OO27R+Vxc1OjGtfmH/4a9yPziujMWVEe4KKalZ7gC/bs2
         anZhJkVILf75SCFkgyaVL2zzkWPbFPCm8dFWqAqi54F45SVnf4TlhJjoekRlsnAJQ7FO
         7QNmdK98B32ZfMAOOvC7Bq0BjCce89pV/GDlANnI0JnvY+YyPqzQjHp400wK/anctydQ
         QWZ60UtDqexBYxiJm7Uz4ZrHqNTLJCI1Jrt2hSTcLe4KxEVCkX2Ob9INDQIdO3ZiAqwk
         YOyRhsZIsvqgxkQC544KbQm6vwr8K39zgCdGTAIsOswyugWbttvQwBLBq8cbXdOMbYU4
         mQhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743165493; x=1743770293;
        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=1PQwPvaNHawbSOSV/o2upXupCKnh1HXAi0RshoHTmsw=;
        b=jMNmFsdq8ArT/9dv/bHYJiJELx80fWZk97jFaZYqjNnvMHxS7Kd2No5STn8/osz30H
         nBEELKO7S6L8T69aX5M9B3zGzwHeuvggZPh9rIlLDY7Drqn6EY8e4o+xE8VI2aEwshmC
         iwYdvOBrviePppTOnyDpmZmA7x6JUgPgyd3OG0Hb9fAOR9hJJLviCZ3t7hN3+pm/Rej2
         bv400sXllEV0Shie64F3jCG2FXnZeAlWs00GZ00qsdkk00ilAUIvjkeC0ZjHvtFpIOZi
         L6/wdRn4NDxFKDvvOSwdl/Nmx8kR09O5Qa7OZ/JIaW44Do7KnJU8Zqf8Qmf2lYROkA1w
         xLeQ==
X-Forwarded-Encrypted: i=1; AJvYcCUnNDuAR/POnr58XqHFZTbi50Hi+Q8WUmf9TX0rMhMgJZUQi4zhi3n4Uce9ewaGHjz2DzUNZksoMrE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzi7GKZenqQtANQtRDmYrZYXDlI1QUGSsPRCrLt8F7RHB60CTaK
	3GLfTlfasl07j7/bOizUT2xbaTbZpjofm3WCjhuOkoDswLJpbqszpINQPcyWVAQ=
X-Gm-Gg: ASbGnctRT0nhAzCXcq2sqlgWQDSPBuT55CPA9xk9bu9kS/56oyIjEtTRihFqJI3FbEl
	RNLPQDaFQXhIJPpNESEhDNDBGFfzE3aAE1JZEUBVT7LCWuuPIawMMwqcdJNev1SpQntEZp3Or5g
	QCfag/6/oQfHhkaWVGXpjD8oEJr5V/YQAoG5TVnJPp1jD1i8vvhYOfUWgrrx5EZzPQluLNciZMc
	fa/DMT9yFxE2Q+PQv7bVlNkouu5EKNABam2tYRKPt4sFopyZC5TRXsLrvnW81IUN2DVGFm0UPZ+
	RLLr227TDRMP3kgaAx+hglJKwe1dlSxxbLBVsRiqQxMk590IxpGV39qLm0TsxEZsO1bgwao7Oms
	BXwaxDIUSFRe98l3pIYZUtelsmRC0iNH0DKu7YCGoKJ8ZK/+nd02Ihf4S49Cb+yf9EYFVKA==
X-Google-Smtp-Source: AGHT+IHpySXXZDStYWDSD4Y65OJSkYprrpr9CxzhXXWs+JYdZYHGbeIZVlV1G4Nb2Ulwyq/BYh4JVA==
X-Received: by 2002:a05:6000:1a89:b0:390:e1e0:1300 with SMTP id ffacd0b85a97d-39ad175c942mr6961992f8f.33.1743165493374;
        Fri, 28 Mar 2025 05:38:13 -0700 (PDT)
Message-ID: <b19a556d-468f-4977-bd41-605ff1678b6e@suse.com>
Date: Fri, 28 Mar 2025 13:38:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] [v2] xenbus: add module description
To: Arnd Bergmann <arnd@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20250328113302.2632353-1-arnd@kernel.org>
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: <20250328113302.2632353-1-arnd@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------040ftg9aw11gGC5hb0SQqvWg"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------040ftg9aw11gGC5hb0SQqvWg
Content-Type: multipart/mixed; boundary="------------dwMA83tFU6Zx80eOJ7CAvl5Y";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Arnd Bergmann <arnd@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <b19a556d-468f-4977-bd41-605ff1678b6e@suse.com>
Subject: Re: [PATCH] [v2] xenbus: add module description
References: <20250328113302.2632353-1-arnd@kernel.org>
In-Reply-To: <20250328113302.2632353-1-arnd@kernel.org>

--------------dwMA83tFU6Zx80eOJ7CAvl5Y
Content-Type: multipart/mixed; boundary="------------ofE2oOH0kwc4nwGs3XofANxW"

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

T24gMjguMDMuMjUgMTI6MzIsIEFybmQgQmVyZ21hbm4gd3JvdGU6DQo+IEZyb206IEFybmQg
QmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+DQo+IA0KPiBNb2R1bGVzIHdpdGhvdXQgYSBkZXNj
cmlwdGlvbiBub3cgY2F1c2UgYSB3YXJuaW5nOg0KPiANCj4gV0FSTklORzogbW9kcG9zdDog
bWlzc2luZyBNT0RVTEVfREVTQ1JJUFRJT04oKSBpbiBkcml2ZXJzL3hlbi94ZW5idXMveGVu
YnVzX3Byb2JlX2Zyb250ZW5kLm8NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEFybmQgQmVyZ21h
bm4gPGFybmRAYXJuZGIuZGU+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jv
c3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------ofE2oOH0kwc4nwGs3XofANxW
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-----

--------------ofE2oOH0kwc4nwGs3XofANxW--

--------------dwMA83tFU6Zx80eOJ7CAvl5Y--

--------------040ftg9aw11gGC5hb0SQqvWg
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/Ey8FAmfmmDQFAwAAAAAACgkQsN6d1ii/Ey/w
IAf/aQQ0DKf1oG1iJP/7FHVt4qSp3xBpY48+BqqnjS7et/xvCQoxqNNydEmyRdPkjOfByRqH23lP
1pTNu4Pe5i8vbNTuEeE84QnPXvDiaIscCpgi0aZwqS0uAnyUZAupx3idh6PWcl7ki6I8amVVdyNr
Pv7ppRBOaeRPJzSEiiEkE/KGfdCnRRuHntmhuMIDqegmcmOOKxGxYS80YHg6nFuY/P4s/RRxk6s4
LFBSLtpnIzLwdZhG3IWlaGUepuoLt1KNxnKXm71ahCv3OtKAHk4ruE+OkgBUaP15BKsp9rN8sCHF
j74KrsEnzwtwOUEcvH4qD05yvrhbJ/XLrTw4+EF2Og==
=/yWW
-----END PGP SIGNATURE-----

--------------040ftg9aw11gGC5hb0SQqvWg--


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:04:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:04:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930607.1333201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty9Nn-0002xQ-Th; Fri, 28 Mar 2025 13:04:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930607.1333201; Fri, 28 Mar 2025 13:04: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 1ty9Nn-0002xJ-R9; Fri, 28 Mar 2025 13:04:23 +0000
Received: by outflank-mailman (input) for mailman id 930607;
 Fri, 28 Mar 2025 13: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty9Nm-0002xD-SU
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:04:22 +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 29e1ae72-0bd5-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:04:20 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3912baafc58so1705951f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:04: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-39c0b6588d0sm2536073f8f.7.2025.03.28.06.04.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 06:04: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: 29e1ae72-0bd5-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743167060; x=1743771860; 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=BZHLXK8B/PjnAgdDc8+ZhE8zBlvGgaM02nfJyklFA30=;
        b=aR1dHOROCQ0CBe8NNMrun2ZchwHdi87jip96xXACHn89mseMUOLTpyXOzDAHRVqVK5
         8WyxeaDTScAz24OdIrjDB9UiZI9h/xYQjIhgVx6URuLOenFkx2CG1+QgerSUvDg4AzgP
         D4CfD/RbF8dngWnh7jHoG3veyztk3FxjrCXKqjBTAS15DAQRZ/Ws7puGOPzPlsMb1zCM
         yGgIoMNOKDQvoeZObcFiuq430diL3FnJAzCR0ySmTPRmRaVYXVU8DQM0DiKnSdIUsWM2
         IggO5pscYGpBrtOWeBLima6KzjEj1xENTy9qI5FFVTDaYRbFOK0U9NDaVhMovZj+tAkE
         Ur5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743167060; x=1743771860;
        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=BZHLXK8B/PjnAgdDc8+ZhE8zBlvGgaM02nfJyklFA30=;
        b=cFokrgiyt8sw8obLulDsm/4WdoFikyFMuZf1lYFnrrgYIDlDOfqwVeJPJzBmchSj6N
         mWQ2NOtKck4YExqy1YnTp8pT3tmTPguiDxWYvJNHbRB6sCMJ7WLwrBNTEsdFrg2+UCaX
         qoihf+VW2biMPjno+9iSO12zhwdzo0PbIk9gD1lxYD/QKeVPxRe5KXezDF4Xh1ZE1k4r
         p6nuivMYiFM+nIUqXvAXd8W+aGujlTUymmNi2NY+U5SuWNckpJF0HQ84wsJDO97HBM+h
         abXLA/mxu+mH8FgIT8KUuaHYNI1M0JRZEi/ZrnqaGlELeEQGM2oFnFWF0znBUJi7mOj4
         xOJg==
X-Forwarded-Encrypted: i=1; AJvYcCVyAgDhNxLdl691xQdWccMHG+hsl+LG+US4Ndz39i2OauhKUK1/bkv5QCyZeegJlQg3LepIdQChkq4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxvn8LJpy9xheArE8aYSVt5aTVpZpnJpNI0i2H3wfJwz7MkxML6
	iZGjvQgluuw/V1+1AOwfoh2km6Lxf0nAWjuxkscCj0E3vth3I2jYVDETozvXdw==
X-Gm-Gg: ASbGnctAmfLgzg8eCq4osGy/MfFpNnGnKRRW6RDAx7oFRUQPzuldlNwR8f0A6YxsgfE
	FwUFk/k0iPIndBD0elDXEkuxPPHGzGyPnTtlKc0H4SsGsVka1hm/KJlBHWdE5/VoyxIdXPJWCl9
	6z7a7U+bu/m5+CNBXYUfHwMbeeGjnSXACqviIk1l+EXCNM9ju8f9dPYStZfJLZuZ9bdacg2Ti3H
	WQpHEx9K/XmX/IGspqcDmqxDqzANRRHQMmLM8pUcyIsWxXQk7oBtUZL6Jo2dlQziisJLzCWgDW6
	Y5XDzjFP2Hn8zE26XjRmNX4bi3fCAEln2s2KCKW98KOiZZS+l/NQoXDAcpJ3koyAD9YnTE1tqrP
	LzttstOzmN8uuM8JQg9BmTnvBQaLtGg==
X-Google-Smtp-Source: AGHT+IE651vZxxMgK1wcA4w3CTvHXPr7HNvjFOevflMqtVGvdliQzB5NjJgktMMBHv4T6HHvzcroDw==
X-Received: by 2002:a5d:584a:0:b0:391:41c9:7a87 with SMTP id ffacd0b85a97d-39ad17988dcmr7280626f8f.51.1743167059699;
        Fri, 28 Mar 2025 06:04:19 -0700 (PDT)
Message-ID: <df7853d6-14c9-4dc6-9910-2fd735cf797c@suse.com>
Date: Fri, 28 Mar 2025 14:04:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen: x86: irq: use do-while loop in create_irq()
To: Volodymyr Babchuk <Volodymyr_Babchuk@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: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
 <20250328121902.2134020-3-volodymyr_babchuk@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: <20250328121902.2134020-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.03.2025 13:19, Volodymyr Babchuk wrote:
> While building xen with GCC 14.2.1 with "-fcondition-coverage" option,
> the compiler produces a false positive warning:
> 
>   arch/x86/irq.c: In function âcreate_irqâ:
>   arch/x86/irq.c:281:11: error: âdescâ may be used uninitialized [-Werror=maybe-uninitialized]
>     281 |     ret = init_one_irq_desc(desc);
>         |           ^~~~~~~~~~~~~~~~~~~~~~~
>   arch/x86/irq.c:269:22: note: âdescâ was declared here
>     269 |     struct irq_desc *desc;
>         |                      ^~~~
>   cc1: all warnings being treated as errors
>   make[2]: *** [Rules.mk:252: arch/x86/irq.o] Error 1
> 
> The same behavior can be observed when building Xen with "-Og"
> optimization level. Fix this by using "do { } while" loop instead of
> "for" loop.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> Changes in v2:
> 
>  - Use do { } while loop instead of initializing desc with NULL
> ---

I'm afraid to disappoint you by saying that I liked v1 better; all it was
lacking was a comment. Such a comment is still lacking here. Without that,
someone may come and convert this back to the more normal (in this
situation) "for" loop.

> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -264,15 +264,19 @@ void __init clear_irq_vector(int irq)
>  
>  int create_irq(nodeid_t node, bool grant_access)
>  {
> -    int irq, ret;
> +    int ret;
> +    int irq = nr_irqs_gsi;
>      struct irq_desc *desc;
>  
> -    for (irq = nr_irqs_gsi; irq < nr_irqs; irq++)
> +    if ( irq >= nr_irqs )
> +        return -ENOSPC;
> +
> +    do
>      {

Nit: The brace goes on the same line as the "do", just like ...

>          desc = irq_to_desc(irq);
>          if (cmpxchg(&desc->arch.used, IRQ_UNUSED, IRQ_RESERVED) == IRQ_UNUSED)
>             break;
> -    }
> +    } while ( ++irq < nr_irqs );

... it's on the same line as the "while" here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:05:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930619.1333212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty9Oy-0003X9-9n; Fri, 28 Mar 2025 13:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930619.1333212; Fri, 28 Mar 2025 13:05: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 1ty9Oy-0003X2-6s; Fri, 28 Mar 2025 13:05:36 +0000
Received: by outflank-mailman (input) for mailman id 930619;
 Fri, 28 Mar 2025 13:05: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty9Ox-0003Wt-0t
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:05:35 +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 5584c781-0bd5-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:05:34 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3914a5def6bso1138648f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:05: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-39c0b66a8c9sm2554732f8f.47.2025.03.28.06.05.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 06:05: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: 5584c781-0bd5-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743167133; x=1743771933; 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=mRWTylH9KBu3wLOowxXO6GgnL+/lOGKwdWoSuNSZmi8=;
        b=OeESjjFbW23xM1SUu7L7hA4ZUgkO7PyFoDqNlN6KLbL0dQZHD6eCJCEPF/LSeHKbVq
         vWSwlhv8Y3M26lf/kymLPKm3KI0Ggb+OqKYqjQYa53PKTyaFMJ9ef5FQ9UMN3EA92zPb
         YrHDbrf95BGwQOTY3U3JL15jN5LBgTtsDSstHbNRZVhXnlq1+Q70gLNm2cwNZjYEmngT
         6+Zqfz8SRWm7hX8hqgj7jHvRCUo2utI3kyR/xe0jPZYEf/5vTkMdKS6P+YyuhR3LuBss
         5Rgg91uV1+Ti12ov231gcQVRSJMV/K6KgqLxM1lQ8YhnM5CT6gYZ5y3VYqU64oAs5PEd
         XrfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743167133; x=1743771933;
        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=mRWTylH9KBu3wLOowxXO6GgnL+/lOGKwdWoSuNSZmi8=;
        b=F9nI6EwwPYuvMhd3Gii4AJ7pdCJRBpIrPnFnRkRbFlCR6Cal9AerNeFKh4lOblKz31
         +KI4MGXT6tbyvqw7ksu4L6m1pf4wz7lvilL62iy2xNl8EU85TNf34KugnTTKjMFk0OHi
         fA4f06t41dZkPPdsJGstbNj79WJEuxDEndL2PSTQJ2WY9Es81wriI1TrJWCIGHK8KIHz
         wtIPZ5KdsebhsjyO+HsT24eHi2ZM3JjjLq2M2z1itdOM+xbe9trEIc2Vkg8a+YVEVbbp
         STVpd5ekVs5sRAw+T/Zg86PDufNsRN6KeSSxdwhbszzM2q0NGF5ySNPEjay8fvtJHpmq
         V/7Q==
X-Forwarded-Encrypted: i=1; AJvYcCWWBjUr6PECAk3W7qlTvmFKP5yJLEJ3WaMyPjn/O5NicCisUvyBjcJ8rsEwSxIrhvVuvc+FiSLLJhE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YymJ2CvQ/92ck1S1zls3T+Yc0DdLBiNIBxGM+cH7tOniJoeBNoI
	7TkwHCtOcR9P1A91pWEpzdl60PnPetmqqMG74CzpCutShhygFkG7ooiepO/m9g==
X-Gm-Gg: ASbGnctbAXU0mNr/nS8MBCpBlrR7+cxAPKih4FM0zfWLw52eDabXjMIbacS8ocE6ANK
	IYyEFSls8AUzN/6kaZNK5CpW70MTHKTg599MDENPLIWPr0XolbvFtYhbunEoi5DpC6ZUzYMNhTz
	zIpaWtwZd0nRfVaJSJM557+YeAykEzcy14imq06l3hQ7j5a9MuW4XyBk3rFhacmLQcVjjsVnPo6
	tq32GOlPmt/w34lghUYkHmz841I1iB6giC0RdAVm88iaUCmH7HtCK4eSoFZNotNKhX+0jO1zhBf
	L5Lr2oe1HvBU3trao7Q4INna01In2DOx+WAkHvWZTmlGJ5u8YujZ9UWmlJmF1IFTN5s3GMp4s2U
	M/tgPCbt8Ks/oKV+8yqS6NS6viI5prgSWt6MVlco/
X-Google-Smtp-Source: AGHT+IHu81nOXFQVWqLqOTIfTB0mqtDqhNTSrgCU+eX5ZmWr5AaBxoT6sK1zU7zAS8jDMBn336Awyw==
X-Received: by 2002:a05:6000:4024:b0:391:2e6a:30fe with SMTP id ffacd0b85a97d-39ad177f70bmr6158944f8f.39.1743167132957;
        Fri, 28 Mar 2025 06:05:32 -0700 (PDT)
Message-ID: <d6be28f6-7c33-41c7-9502-799e484014bf@suse.com>
Date: Fri, 28 Mar 2025 14:05:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] xen: gcov: add support for gcc 14
To: Volodymyr Babchuk <Volodymyr_Babchuk@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: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
 <20250328121902.2134020-2-volodymyr_babchuk@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: <20250328121902.2134020-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 13:19, Volodymyr Babchuk wrote:
> gcc 14 (with patch "Add condition coverage (MC/DC)") introduced 9th
> gcov counter. Also this version can call new merge function
> __gcov_merge_ior(), so we need a new stub for it.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:08:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:08:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930628.1333222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ty9RZ-00046H-Lf; Fri, 28 Mar 2025 13:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930628.1333222; Fri, 28 Mar 2025 13:08: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 1ty9RZ-00046A-Iz; Fri, 28 Mar 2025 13:08:17 +0000
Received: by outflank-mailman (input) for mailman id 930628;
 Fri, 28 Mar 2025 13:08: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=hnye=WP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ty9RX-00045z-Vu
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:08:15 +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 b4f80bed-0bd5-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:08:14 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d07ca6a80so11365085e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:08: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-39c0b66285bsm2551978f8f.21.2025.03.28.06.08.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 06:08: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: b4f80bed-0bd5-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743167294; x=1743772094; 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=LuNzUf0P8JvICLW6X4s4ZHyXRZ1RNFridA2jUgFwvCQ=;
        b=bkyP8Ktxl5QFlRQIFk9zEv43AqTlo5Y8BE+pETb9g3UtSGssjbgbpX2ybLfuLLl/UJ
         Dpkp72x2EYJwNlhWylJCwJp/RGrrfvUR2bCl5VI+Avx3diVyKlG9lIvwUMDujpCCwFlP
         EREGAkumH/YbXyPKfx8jpAxsbzJ/XLCMOVX7YDHCL2TU8B0zGUGjTPpUknBReSQ7i3dT
         tB/1L4FHmp09A0WnYDxVbZn1bP7h6bsmZGdZA5PmRuSyLBMHVdoTWwLxKCh6fBXzmR35
         IW36aotr4Q36w24VKZK5cu7/Rj3njrkqfjzu6es8PqpiFrpOg35apW/jY+MuE4n20U+n
         Eeyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743167294; x=1743772094;
        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=LuNzUf0P8JvICLW6X4s4ZHyXRZ1RNFridA2jUgFwvCQ=;
        b=dxZBdAioAGBMX3hQ3ngXT/Jz6jKEP1g+SMU5OEP1zR9s9XxQIrSFdlIW0xf8przmGv
         ZyQJ8BSN5JgH7N6PBPawwE2zA/UiTxSajCDn528yIY57elwAwXZ3HTMBrLBTozJtyCyZ
         uDBXi5vCpTPeXlPdGJRRqNGtjv+Nb4lTyupXMeXc+jjiDi0T28XweY8/ODPiLJMB2E0W
         z9Br6MhQY10yiIBc4utRQpK6W+QxglhiLMHlgWHWM7bzT6R0UE/q6ctJS7sS39mq9UE+
         PvuGCkOqE3KL0OAt1ra1XMDvypThe8EKB1N64jo9p5yiVmNLwoi9xpjMLTp/bpGZI2WP
         L0NQ==
X-Forwarded-Encrypted: i=1; AJvYcCXzrFnQgQN7R1Bx2DxFcZFpdWZVk54trHadH90h6E4QZ6sYnZnadu1S1hYr86QRSQhnGhtfRXxD3ws=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywsj2FBCKuh2AcMFvCgoOZsrpQxusAzNgXRNFlKU/p2mLno9ujX
	whUFlx04gyYZt0VPvcuZIZLVJihxymuV7oRjvRqUU4VWnBwJ6n8GxI4Q3ax+EQ==
X-Gm-Gg: ASbGncvdR33Y/yNK+dgtH5BKtlCi/k2ukjDVzkubOBJootWY8vXWeOjOD//MMPlP34H
	RXCS9uwc+ECx/GHnGCYhPGXPbMLynUeVUWrTfeFy3bDNEtPS0aHvHhsEh98PxhMyb9UKoYDQ70q
	0O6tu2ojgTD3RFmAY+iPjFP7b04ak37Ztmvc+XNzgZ4hKK2jPWhpMvhDyWtbYNvm5JKqSrq4IVb
	4OIt/rc1hEPSMGHxakgu2fNK7YMAGJfsUmroe4hjMkUfPr8kPLdB9MPeK6zZ/LVDNgVoGgqzj72
	pzvpIC0Lg73HX1oAM6kQrXE+gjW++BqfM5snkyyyrNkkzcCdGtE7FWDmWfoZRB9DGxvLGg6BcJ9
	Ldc1N9sLH7BYjOSpC3lqYlcdCI0laiA==
X-Google-Smtp-Source: AGHT+IHTqvKyeyygpwXbYabt4WaaE4srqHQ7Dbc9JKNMfDDRTo6eao0W7wdmthDuNL6v45vfJI4P0w==
X-Received: by 2002:a05:600c:444f:b0:43d:4e9:27ff with SMTP id 5b1f17b1804b1-43d84f947fcmr82147715e9.7.1743167293516;
        Fri, 28 Mar 2025 06:08:13 -0700 (PDT)
Message-ID: <e0593169-240e-4a10-84ec-2528ccf1aa82@suse.com>
Date: Fri, 28 Mar 2025 14:08:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/3] xen: debug: gcov: add condition coverage support
To: Volodymyr Babchuk <Volodymyr_Babchuk@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: <20250328121902.2134020-1-volodymyr_babchuk@epam.com>
 <20250328121902.2134020-4-volodymyr_babchuk@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: <20250328121902.2134020-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 13:19, Volodymyr Babchuk wrote:
> Condition coverage, also known as MC/DC (modified condition/decision
> coverage) is a coverage metric that tracks separate outcomes in
> boolean expressions.
> 
> This patch adds CONFIG_CONDITION_COVERAGE option to enable MC/DC for
> GCC. Clang is not supported right now.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> Changes in v2:
>  - Move gcc version check from .c file to Rules.mk (I can't find
>    an easy way to check GCC version at Kconfig level)

Yet all of this could be avoided if, as indicated before, you checked for
acceptance of the command line option rather than a particular gcc version.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930665.1333302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0q-0006pc-Kb; Fri, 28 Mar 2025 13:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930665.1333302; Fri, 28 Mar 2025 13:44: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 1tyA0q-0006na-Cq; Fri, 28 Mar 2025 13:44:44 +0000
Received: by outflank-mailman (input) for mailman id 930665;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0o-0005Dp-QC
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:42 +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 cd4c8ec6-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:42 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so18660525e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:42 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: cd4c8ec6-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169482; x=1743774282; 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=xv/5+f+BWzji1CB1SXmZ+OaK7UeEkWaO0hHsnfSGUeo=;
        b=CxwXeqxN2FYKt8GImqt1zE0dvtvlr0eGblr59YUvgjbBa45l5y5EMUPxVLeQkoOol5
         81PDFsntsKHRTl6ZCW5Zkb+JQwofXDQvcQkyILOzaQ8zX9fLzKhbU+rghiPa3NJTK1PN
         500P1ccGLkJf5bJIq5gnKQc/jy1HMffLY+q1E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169482; x=1743774282;
        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=xv/5+f+BWzji1CB1SXmZ+OaK7UeEkWaO0hHsnfSGUeo=;
        b=ZNaQCXxtkjIKVToFbj740rBk6OF7R6ZEEeQNTY/Yi8gpF+9c+BQJCwa7DxCxZ5Jbvn
         joSemzEjRB8Ktsjzw20ljgTqziJg3CPPLNLgi1APZzVoKumBiX5gzb6f3FzxyOSsTWYt
         sFQpntiKmngn2+eJCC72jJ1gcBK6+3Ok7JHsv23bjABHT26AncS8LUoxWGH2oGcwLWlI
         MHZ7GqmY1PvmoZh2QpXgjeL3fBX12vjMDoXlkc7Mu/yRrj57Yq9eVv69w6q/3ByZgMjM
         xwEtQ3qiT+RINNyMgsIQARktqBxnD8AJE3hxFw6QjQlQDlEsyvCqD1ob17QNLddo+m86
         6z4w==
X-Gm-Message-State: AOJu0YyldTvL2wE2jL6VyqzRsKvx9/uM9NUloLxWbd1M1n7sdVwC9Ej6
	ki/aF65LiF2v0xidWUwYShjGRfxX0ds4f4n6CUlUdrzfF2HRoRkyPLVXJq8z5aNNnqlfvHeGIzi
	T+h0=
X-Gm-Gg: ASbGnctEDASsK5lBpqSHWC2Zd3Q/JGgxAOmC9C4IyMRL9lVSdkV22H06lamBF6mTEVV
	8ao1FqakdLejME4XH96CScR3ELVkqaCpsclJ82OQquFRSTns+Fx6FDp8DlKjnLbthbLPjLbZIod
	Twby5MQTfI83tnmN4vU7BniEDP/ds+4U1mvcExpzs7mpKST0Z1Imu4oZQ+U1A9B7g1tY/wNJHib
	CD6xBz0Q8zglUGAfAQP4UZS671GH8g3zMUZ+evqWTe6o+U03kcNFE4VaunZuYpw6+3w9YVO9eAg
	usrK362FlIOwWH9+9ueRu9a8dItbBYfuTVX+UfT8waxSdvPOxq+sRnIsZ1+igQB25WZ9tPGQr+n
	1kpAC8/XKSmpwxFAHMA==
X-Google-Smtp-Source: AGHT+IFe8F1Ghmv2+iYN3jy64ZhwzbMwIzbrHZkvQTMw2sExavxGXaR+RYLUFdw+YWQIFJ5rh045Bw==
X-Received: by 2002:a5d:5f95:0:b0:391:b93:c971 with SMTP id ffacd0b85a97d-39c0c136bc9mr2658967f8f.20.1743169481653;
        Fri, 28 Mar 2025 06:44:41 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 08/16] xen/decompressors: Use new byteorder infrastructure
Date: Fri, 28 Mar 2025 13:44:19 +0000
Message-Id: <20250328134427.874848-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

unaligned.h already inlcudes byteorder.h, so most can simply be dropped.

No functional change.

Signed-off-by: Lin Liu <lin.liu@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * New
---
 tools/libs/guest/xg_dom_decompress_unsafe_zstd.c | 3 +--
 xen/common/lz4/defs.h                            | 1 -
 xen/common/lzo.c                                 | 1 -
 xen/common/unlzo.c                               | 1 -
 xen/common/xz/private.h                          | 1 -
 5 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c b/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c
index ff45732a3616..319816a390eb 100644
--- a/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c
+++ b/tools/libs/guest/xg_dom_decompress_unsafe_zstd.c
@@ -30,9 +30,8 @@ typedef uint64_t __be64;
 
 #undef ERROR
 
-#define __BYTEORDER_HAS_U64__
 #define __TYPES_H__ /* xen/types.h guard */
-#include "../../xen/include/xen/byteorder/little_endian.h"
+#include "../../xen/include/xen/byteorder.h"
 #include "../../xen/include/xen/unaligned.h"
 #include "../../xen/include/xen/xxhash.h"
 #include "../../xen/lib/xxhash64.c"
diff --git a/xen/common/lz4/defs.h b/xen/common/lz4/defs.h
index e477806634c1..b697a06c00d7 100644
--- a/xen/common/lz4/defs.h
+++ b/xen/common/lz4/defs.h
@@ -12,7 +12,6 @@
 #define COMMON_LZ4_DEFS_H
 
 #ifdef __XEN__
-#include <asm/byteorder.h>
 #include <xen/unaligned.h>
 #else
 
diff --git a/xen/common/lzo.c b/xen/common/lzo.c
index 07b4017812dc..0393ec5c4472 100644
--- a/xen/common/lzo.c
+++ b/xen/common/lzo.c
@@ -68,7 +68,6 @@
 
 #ifdef __XEN__
 #include <xen/lib.h>
-#include <asm/byteorder.h>
 #include <xen/unaligned.h>
 #else
 #define get_unaligned_le16(_p) (*(u16 *)(_p))
diff --git a/xen/common/unlzo.c b/xen/common/unlzo.c
index acb8dff600fc..d52c1c92548d 100644
--- a/xen/common/unlzo.c
+++ b/xen/common/unlzo.c
@@ -33,7 +33,6 @@
 #include <xen/lzo.h>
 
 #ifdef __XEN__
-#include <asm/byteorder.h>
 #include <xen/unaligned.h>
 #else
 
diff --git a/xen/common/xz/private.h b/xen/common/xz/private.h
index a63379994fd6..3dce124fa743 100644
--- a/xen/common/xz/private.h
+++ b/xen/common/xz/private.h
@@ -12,7 +12,6 @@
 
 #ifdef __XEN__
 #include <xen/kernel.h>
-#include <asm/byteorder.h>
 #include <xen/unaligned.h>
 #else
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930664.1333285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0p-0006P7-1O; Fri, 28 Mar 2025 13:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930664.1333285; Fri, 28 Mar 2025 13:44: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 1tyA0o-0006OE-Qx; Fri, 28 Mar 2025 13:44:42 +0000
Received: by outflank-mailman (input) for mailman id 930664;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0n-0005Dj-1d
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:41 +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 cb7af4c3-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:39 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4394a823036so21519985e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:39 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: cb7af4c3-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169479; x=1743774279; 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=YLn8srVkw3Yg8gfwsGTdOECt81wVzaI0OabRG++w1eI=;
        b=iEEuRzEkzv5c8FcoYVegB9/wT3rXdc8PnT3tjiz+5oa6oZF69jM8bIbwWv8FBBXwx8
         1zYgG//xj8l+qc+jSzGojr4MomacheXeFjXZuIWUx3SsNLOSDhsBcZRxsgMmCsWHexuE
         lU/kmafPlRs9S2MhC2rGafsnaYcYYvSW7fvbc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169479; x=1743774279;
        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=YLn8srVkw3Yg8gfwsGTdOECt81wVzaI0OabRG++w1eI=;
        b=co81OiL1JnFpixxStUuBgUdnASUgTKWyOrdJ20pkAsGjQ26v6BJdgiNFNJJSU7LQoQ
         r8lqYUnLTeEQVD+2V59bzemMP2MU6XXn/sfqRQEaVPzWrvk56dqa6b0Fmj2SdUomrfjh
         eoUTWOQ9PVeaR+nwN4iVBP0LWCgE8HSKBmmrfiko9xgoOq+HM4cp+3StDWZess7HLtT2
         Wbp5uhkxpdBjGz9GRY8gdKO+jk0j4lCs1xqAt9/oYDqItTWn491GVldzt4XgHaumxk9l
         CI0nEqH10XZkAEQ7rxfBeGeXVd+bKFIdnhjqt/bpmSUv1IF1SF6UuvJjqLA2I2c6LCqK
         kN1g==
X-Gm-Message-State: AOJu0Ywi/2T+VH9tYqRN/Krh2bq++Fu3Ak9opnnMhGqQl+vHOD9l+pKb
	JfdeI6tuPZSi97YW2Xm5mztgvTOVuuW/beQFZOHKQvOz4P/SI5irHcaPUo9yWzdxlu4x9wIgPkS
	fDP0=
X-Gm-Gg: ASbGncv4bEbMh8NAQEII0aLsgUdVBSa3I/3kzQyxb5Bx8olSOHiJvpgh9AQ8/gtPp7+
	OvrlLLc7FZMCFSiY0bDVy/Rtb5QWAnrcQzIOya7vz9DPOXNDNrVev2LHIqZ7DXkb+TZMCn2yv2j
	/qddPNHoLH1eAkQe8ACyM+txJVgSdOruwlb2kYXUFMBPBBb00z4ilHS87moIfFtwedkERmpntjv
	DVBJDLhvxqqtmWufyRWNgm/JTOiDfSWqFfRcI6FeQqT/YrZliATrBM+PZBBnId7pUNBizY/l/iB
	+qZ4pwfdDiyNUaQL3FlhcB8czLeysu1q9GNGk7rdjbJ/km9rRaIMCZSZ2Edr8+eShGHyKjEFDZF
	zHV57hoQaMzR3OwzC6w==
X-Google-Smtp-Source: AGHT+IFpGaM1UkpZQawuV8q0zxzITdIPLaEq+TB4g1vBMIklq4bOPRRgoT1JeWiE0tZFtBzJtvDfEg==
X-Received: by 2002:a05:600c:4585:b0:43c:f8fc:f6a6 with SMTP id 5b1f17b1804b1-43d84f8843dmr74418325e9.9.1743169478514;
        Fri, 28 Mar 2025 06:44:38 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 05/16] xen/device-tree: Remove use of *_to_cpup() helpers
Date: Fri, 28 Mar 2025 13:44:16 +0000
Message-Id: <20250328134427.874848-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

These wrappers simply hide a deference, which adds to the cognitive complexity
of reading the code.  As such, they're not going to be included in the new
byteswap infrastructure.

No functional change.

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * Rebase
 * Split out of later patch
---
 xen/common/device-tree/device-tree.c | 44 ++++++++++++++--------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/device-tree.c
index e8f810b2fe10..90fee2ba0315 100644
--- a/xen/common/device-tree/device-tree.c
+++ b/xen/common/device-tree/device-tree.c
@@ -173,7 +173,7 @@ bool dt_property_read_u32(const struct dt_device_node *np,
     if ( !val || len < sizeof(*out_value) )
         return 0;
 
-    *out_value = be32_to_cpup(val);
+    *out_value = be32_to_cpu(*val);
 
     return 1;
 }
@@ -266,7 +266,7 @@ int dt_property_read_variable_u32_array(const struct dt_device_node *np,
 
     count = sz;
     while ( count-- )
-        *out_values++ = be32_to_cpup(val++);
+        *out_values++ = be32_to_cpu(*val++);
 
     return sz;
 }
@@ -493,7 +493,7 @@ static int __dt_n_addr_cells(const struct dt_device_node *np, bool parent)
 
         ip = dt_get_property(np, "#address-cells", NULL);
         if ( ip )
-            return be32_to_cpup(ip);
+            return be32_to_cpu(*ip);
     } while ( np->parent );
     /* No #address-cells property for the root node */
     return DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
@@ -510,7 +510,7 @@ static int __dt_n_size_cells(const struct dt_device_node *np, bool parent)
 
         ip = dt_get_property(np, "#size-cells", NULL);
         if ( ip )
-            return be32_to_cpup(ip);
+            return be32_to_cpu(*ip);
     } while ( np->parent );
     /* No #address-cells property for the root node */
     return DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
@@ -643,7 +643,7 @@ static void dt_bus_pci_count_cells(const struct dt_device_node *np,
 static unsigned int dt_bus_pci_get_flags(const __be32 *addr)
 {
     unsigned int flags = 0;
-    u32 w = be32_to_cpup(addr);
+    u32 w = be32_to_cpu(*addr);
 
     switch((w >> 24) & 0x03) {
     case 0x01:
@@ -1096,7 +1096,7 @@ dt_irq_find_parent(const struct dt_device_node *child)
         if ( parp == NULL )
             p = dt_get_parent(child);
         else
-            p = dt_find_node_by_phandle(be32_to_cpup(parp));
+            p = dt_find_node_by_phandle(be32_to_cpu(*parp));
         child = p;
     } while ( p && dt_get_property(p, "#interrupt-cells", NULL) == NULL );
 
@@ -1129,7 +1129,7 @@ unsigned int dt_number_of_irq(const struct dt_device_node *device)
     intlen /= sizeof(*intspec);
 
     dt_dprintk(" using 'interrupts' property\n");
-    dt_dprintk(" intspec=%d intlen=%d\n", be32_to_cpup(intspec), intlen);
+    dt_dprintk(" intspec=%d intlen=%d\n", be32_to_cpu(*intspec), intlen);
 
     /* Look for the interrupt parent. */
     p = dt_irq_find_parent(device);
@@ -1260,7 +1260,7 @@ int dt_for_each_irq_map(const struct dt_device_node *dev,
         imaplen -= addrsize + intsize;
 
         /* Get the interrupt parent */
-        ipar = dt_find_node_by_phandle(be32_to_cpup(imap));
+        ipar = dt_find_node_by_phandle(be32_to_cpu(*imap));
         imap++;
         --imaplen;
 
@@ -1377,8 +1377,8 @@ static int dt_irq_map_raw(const struct dt_device_node *parent,
     int match, i;
 
     dt_dprintk("dt_irq_map_raw: par=%s,intspec=[0x%08x 0x%08x...],ointsize=%d\n",
-               parent->full_name, be32_to_cpup(intspec),
-               be32_to_cpup(intspec + 1), ointsize);
+               parent->full_name, be32_to_cpu(*intspec),
+               be32_to_cpu(*(intspec+1)), ointsize);
 
     ipar = parent;
 
@@ -1490,7 +1490,7 @@ static int dt_irq_map_raw(const struct dt_device_node *parent,
             dt_dprintk(" -> match=%d (imaplen=%d)\n", match, imaplen);
 
             /* Get the interrupt parent */
-            newpar = dt_find_node_by_phandle(be32_to_cpup(imap));
+            newpar = dt_find_node_by_phandle(be32_to_cpu(*imap));
             imap++;
             --imaplen;
 
@@ -1584,7 +1584,7 @@ int dt_device_get_raw_irq(const struct dt_device_node *device,
     intlen /= sizeof(*intspec);
 
     dt_dprintk(" using 'interrupts' property\n");
-    dt_dprintk(" intspec=%d intlen=%d\n", be32_to_cpup(intspec), intlen);
+    dt_dprintk(" intspec=%d intlen=%d\n", be32_to_cpu(*intspec), intlen);
 
     /* Look for the interrupt parent. */
     p = dt_irq_find_parent(device);
@@ -1695,7 +1695,7 @@ static int __dt_parse_phandle_with_args(const struct dt_device_node *np,
          * If phandle is 0, then it is an empty entry with no
          * arguments.  Skip forward to the next entry.
          * */
-        phandle = be32_to_cpup(list++);
+        phandle = be32_to_cpu(*list++);
         if ( phandle )
         {
             /*
@@ -1764,7 +1764,7 @@ static int __dt_parse_phandle_with_args(const struct dt_device_node *np,
                 out_args->np = node;
                 out_args->args_count = count;
                 for ( i = 0; i < count; i++ )
-                    out_args->args[i] = be32_to_cpup(list++);
+                    out_args->args[i] = be32_to_cpu(*list++);
             }
 
             /* Found it! return success */
@@ -1845,7 +1845,7 @@ static unsigned long unflatten_dt_node(const void *fdt,
     int has_name = 0;
     int new_format = 0;
 
-    tag = be32_to_cpup((__be32 *)(*p));
+    tag = be32_to_cpu(*(__be32 *)(*p));
     if ( tag != FDT_BEGIN_NODE )
     {
         printk(XENLOG_WARNING "Weird tag at start of node: %x\n", tag);
@@ -1938,7 +1938,7 @@ static unsigned long unflatten_dt_node(const void *fdt,
         u32 sz, noff;
         const char *pname;
 
-        tag = be32_to_cpup((__be32 *)(*p));
+        tag = be32_to_cpu(*(__be32 *)(*p));
         if ( tag == FDT_NOP )
         {
             *p += 4;
@@ -1947,8 +1947,8 @@ static unsigned long unflatten_dt_node(const void *fdt,
         if ( tag != FDT_PROP )
             break;
         *p += 4;
-        sz = be32_to_cpup((__be32 *)(*p));
-        noff = be32_to_cpup((__be32 *)((*p) + 4));
+        sz = be32_to_cpu(*(__be32 *)(*p));
+        noff = be32_to_cpu(*(__be32 *)((*p) + 4));
         *p += 8;
         if ( fdt_version(fdt) < 0x10 )
             *p = ROUNDUP(*p, sz >= 8 ? 8 : 4);
@@ -1975,13 +1975,13 @@ static unsigned long unflatten_dt_node(const void *fdt,
                  (strcmp(pname, "linux,phandle") == 0) )
             {
                 if ( np->phandle == 0 )
-                    np->phandle = be32_to_cpup((__be32*)*p);
+                    np->phandle = be32_to_cpu(*(__be32*)*p);
             }
             /* And we process the "ibm,phandle" property
              * used in pSeries dynamic device tree
              * stuff */
             if ( strcmp(pname, "ibm,phandle") == 0 )
-                np->phandle = be32_to_cpup((__be32 *)*p);
+                np->phandle = be32_to_cpu(*(__be32 *)*p);
             pp->name = pname;
             pp->length = sz;
             pp->value = (void *)*p;
@@ -2053,7 +2053,7 @@ static unsigned long unflatten_dt_node(const void *fdt,
             *p += 4;
         else
             mem = unflatten_dt_node(fdt, mem, p, np, allnextpp, fpsize);
-        tag = be32_to_cpup((__be32 *)(*p));
+        tag = be32_to_cpu(*(__be32 *)(*p));
     }
     if ( tag != FDT_END_NODE )
     {
@@ -2099,7 +2099,7 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
     /* Second pass, do actual unflattening */
     start = ((unsigned long)fdt) + fdt_off_dt_struct(fdt);
     unflatten_dt_node(fdt, mem, &start, NULL, &allnextp, 0);
-    if ( be32_to_cpup((__be32 *)start) != FDT_END )
+    if ( be32_to_cpu(*(__be32 *)start) != FDT_END )
     {
         printk(XENLOG_ERR "Weird tag at end of tree: %08x\n",
                   *((u32 *)start));
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930658.1333232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0l-0005EC-AR; Fri, 28 Mar 2025 13:44:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930658.1333232; Fri, 28 Mar 2025 13: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 1tyA0l-0005E5-7M; Fri, 28 Mar 2025 13:44:39 +0000
Received: by outflank-mailman (input) for mailman id 930658;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0j-0005Dj-CT
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:37 +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 c901f076-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:35 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-38a25d4b9d4so1169295f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:35 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: c901f076-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169474; x=1743774274; 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=i7+32TIHFV1MVow5Y/aDHKdZapyIzqEiWxHNERaAAd4=;
        b=SXmubGYIo2Cg/pzaY30E3CJa8mTJOBWNHBnxc5SdaXkxibCpq6kyVgDZpc0wjaKe4A
         mZuOnoI8n6COwq5F3m1WP8j+Ktzq6kHDmG38z2u460+PhhyWUf/nS1WA+lQkWKTGtaPQ
         7QxsoY5+PWPmYtj5TI9nmO/fEc2gmw5MyPiOY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169474; x=1743774274;
        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=i7+32TIHFV1MVow5Y/aDHKdZapyIzqEiWxHNERaAAd4=;
        b=D4GNkp3RMy/oOcLEiiEuZ+bJW2oZluTgypiahml4GL9TzZcCdDE0SVB9iqzR78B1Zj
         CJ+5ckmfrr3WQBpN7z/IiMXgAhl3U7+UylWzr9cLnxD2CHRjXRISBEE4Aqmoc3kZvukF
         qi2gUCKQmwM17xuu45npPqLvMfUeAkAAOTO13DGkC+3sQu0cLx/6q+0NX1S7UIlGxlTM
         OpI5Bes+MR20FxaLZAOlGISe4RjOjn2bbVALTQEMSS1P3WPOOCOxEvAa3ORgjdTiqRFs
         4agqeiGr6FXKtjZNAmUhTmIqQYOYly8ujx8oOGeroGjJlFM7mhsz1ilbRNiOQyCDorkv
         Wraw==
X-Gm-Message-State: AOJu0Yxt8EeFY5bOIGp29/S6H1PpE3v7afZsLO7WouTOwSRy3FnsqeTz
	zrsHI2Eyk2+3Gwmaa08KnMbRIvGVEtqZ/yIICIoCg2mp7A27BA2lfKWWZxplOM2G9Hb2hSP30kv
	DX8g=
X-Gm-Gg: ASbGncu1/gJOJpI/ID5CwCyrU4424ETrBLWeUyLdR1j0vMzvuN0rqPKhmXzXkLtxOIp
	eawLfmw7eIA4gw5pBWWQqFad6uy6YzEPs5W5dWJ4iaZWVHjCstNNMJvOszc/kaOOZEtj5vNAyLv
	vkruznFAdiA82LJ6OxaCRzCHyO8FP9ne5JmdcAwxU0Lq+3OYi0tJN74nVN4SeRTUjzuzEUcU7IS
	kldJ7pk59swrPAwtTN56PJN01My+1OINgkR3ydVCKxESeaM9/u7Z4Uqz7XiJdwN3NCpfL7z4+g/
	rnWrLO8wZHq6RvSX9rB52zNUYJ3N9ZElblHsLFe9D+pqIQkwo2j4KJi41xnSb4tiXgSBUzdlZtU
	pkVzIAU/Rf6ZYTmkeryimosZfwLKF
X-Google-Smtp-Source: AGHT+IHgi8O89tYF4SvaCCsfyFwZsWLyhq00GhH7tdKUWImLZ5mbyFrglHJoukvZmhgGWsNMBN9kog==
X-Received: by 2002:a5d:6d0c:0:b0:391:2ab1:d4b8 with SMTP id ffacd0b85a97d-39ad173f9cemr5610377f8f.1.1743169474353;
        Fri, 28 Mar 2025 06:44:34 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 01/16] xen/lzo: Remove more remanants of TMEM
Date: Fri, 28 Mar 2025 13:44:12 +0000
Message-Id: <20250328134427.874848-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This logic was inserted by commit 447f613c5404 ("lzo: update LZO compression
to current upstream version") but was only relevant for the TMEM logic, so
should have been deleted in commit c492e19fdd05 ("xen: remove tmem from
hypervisor")

Fixes: c492e19fdd05 ("xen: remove tmem from hypervisor")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

Notably, this also removes the singular case where anything in Xen cares about
the value in __BYTE_ORDER, __LITTLE_ENDIAN and __BIG_ENDIAN, and even then it
was only an adaptation to the MiniOS environment.

v5:
 * New.
---
 xen/common/lzo.c | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/xen/common/lzo.c b/xen/common/lzo.c
index 3454ce4a7e24..07b4017812dc 100644
--- a/xen/common/lzo.c
+++ b/xen/common/lzo.c
@@ -28,27 +28,6 @@
 #define COPY4(dst, src) memcpy(dst, src, 4)
 #define COPY8(dst, src) memcpy(dst, src, 8)
 
-#ifdef __MINIOS__
-# include <lib.h>
-# if __BYTE_ORDER == __LITTLE_ENDIAN
-#  undef __BIG_ENDIAN
-# endif
-# if __BYTE_ORDER == __BIG_ENDIAN
-#  undef __LITTLE_ENDIAN
-# endif
-#endif
-
-#if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
-#error "conflicting endian definitions"
-#elif defined(__x86_64__)
-#define LZO_USE_CTZ64    1
-#define LZO_USE_CTZ32    1
-#elif defined(__i386__) || defined(__powerpc__)
-#define LZO_USE_CTZ32    1
-#elif defined(__arm__) && (__LINUX_ARM_ARCH__ >= 5)
-#define LZO_USE_CTZ32    1
-#endif
-
 #define M1_MAX_OFFSET 0x0400
 #define M2_MAX_OFFSET 0x0800
 #define M3_MAX_OFFSET 0x4000

base-commit: eecb9f437b2c3e2d22d0af93dc6b1f4d978313a7
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930663.1333282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0o-0006Mj-Mg; Fri, 28 Mar 2025 13:44:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930663.1333282; Fri, 28 Mar 2025 13:44: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 1tyA0o-0006MT-Jk; Fri, 28 Mar 2025 13:44:42 +0000
Received: by outflank-mailman (input) for mailman id 930663;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0m-0005Dp-Ua
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:40 +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 cc26e366-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:40 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43d04dc73b7so23795025e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:40 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: cc26e366-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169480; x=1743774280; 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=6vxny9Ua3aG8RjUIz7Wo3MrzwCxL4xJ81L7tEzt2uTw=;
        b=ZBjoV0cPdOC/GgY1bUo/uNXoG5O9VlCxQQNVSaebYlBBXmRse7tX2AJoqy0geq/5aZ
         jhL1BWsSU/8AwHRAy56YKypyDaULTYa4c3ssgSbWiEcpA7sG22lDXxMKSh9O3YIpP4ic
         4qrwqD/6DGaJV6LMfRgMSSzuE5xe8ATrsHBRQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169480; x=1743774280;
        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=6vxny9Ua3aG8RjUIz7Wo3MrzwCxL4xJ81L7tEzt2uTw=;
        b=oLcABMPXDXht+c2zt3+MlHRdMls8PHtR1oiP6LN1vGn3W9lijYkMupIEYLHhQRj72M
         7c1N1eaKxgm6uIINkjUpHF2iQp42jrpK9gX4tO10NWmILixPWf6LXmQEreJvkchb2T2W
         8bjpTz02bnHPcNuYja6Fs/+Cm8yAYEnjnklH85J5d5aBAVoPrjf0bIqgec1fkIfz9J5J
         lJVKpKiF/M7xuf/X97Ga/eaThPCL5cjv1/4PoUUhH0z9cQE+gUcnK3ZxiKyLx80TIQY2
         C5Dipx6ao0PZ5yXEkg6EtrqtflgA3Lgz6L409xAS+IIzVcB2gUaoHhBuO+Wp74yU3fkQ
         onxg==
X-Gm-Message-State: AOJu0Yw/xuMymTBEngsNvg/nfGTZ8MDXIt8fUgqBbgUQnti+UVDpHWZE
	HRno2X9WBP5hIWQgwGJ65aL8qtmIVQ9SbvHm6Atq9SdmkNgIz+F3RAGGfxDbN+9HAfjJTFAmCXk
	Oib4=
X-Gm-Gg: ASbGnctgzqMENFZhgvZIpLsb3e8+10WV3Bvk6LDoGxqlr3IDwu9hvZm2BDUyByeHmf4
	rYY3hDypNL5rU834v2TyhC/owGSAwzR/vTAjSzE1oGSkVtlh+kFzlwXrxKDHidcSUhmjECEeYrf
	I4lc6K8rIO1AWwVdIkpxJhrsrgGV513ixOmEn/nQZ9WEbH9NY0wQz4LjpqIs9X2VSRqkn5ukjLi
	GNoBSVOBeyi8EKwhfJeUC3rSM0jyGogchK9wA1s/9yVeJVG0zZQHXYO7ZlkXKU8K6uiifx4d6kv
	O8XF86tucrsz/IuDbGEdXEeHEqDH3Nl1ZyzqJySlWOt4+4MsiuNZTukKp2nipbKKIfAqeF6nwZd
	yaBfYPW+5DeXO1mITUQ==
X-Google-Smtp-Source: AGHT+IE6FLYXaFun3GgwWjRgz9r5idpvAYiFiY/dwWATzywhIDkfAehEApGxMKxnAnaLlCYmB0xfrQ==
X-Received: by 2002:a05:600c:4455:b0:43d:1b95:6d0e with SMTP id 5b1f17b1804b1-43d8506a680mr74359755e9.23.1743169479555;
        Fri, 28 Mar 2025 06:44:39 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 06/16] xen/decompressors: Remove use of *_to_cpup() helpers
Date: Fri, 28 Mar 2025 13:44:17 +0000
Message-Id: <20250328134427.874848-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

These wrappers simply hide a deference, which adds to the cognitive complexity
of reading the code.  As such, they're not going to be included in the new
byteswap infrastructure.

No functional change.

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * Rebase
 * Rearranged from other patches
---
 tools/libs/guest/xg_dom_decompress_unsafe_xz.c | 13 +++++++------
 xen/common/lz4/defs.h                          |  6 +++++-
 xen/common/xz/private.h                        | 12 +++++++++---
 3 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c
index 80eed912dd68..7dbd2622c3b8 100644
--- a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c
+++ b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c
@@ -19,18 +19,19 @@ typedef uint32_t __le32;
 static inline u32 cpu_to_le32(const u32 v)
 {
 #if BYTE_ORDER == BIG_ENDIAN
-	return (((v & 0x000000ffUL) << 24) |
-	        ((v & 0x0000ff00UL) <<  8) |
-	        ((v & 0x00ff0000UL) >>  8) |
-	        ((v & 0xff000000UL) >> 24));
+        return __builtin_bswap32(v);
 #else
 	return v;
 #endif
 }
 
-static inline u32 le32_to_cpup(const u32 *p)
+static inline u32 le32_to_cpu(const u32 p)
 {
-	return cpu_to_le32(*p);
+#if BYTE_ORDER == BIG_ENDIAN
+        return __builtin_bswap32(v);
+#else
+	return v;
+#endif
 }
 
 #define __force
diff --git a/xen/common/lz4/defs.h b/xen/common/lz4/defs.h
index ecfbf07f8323..e477806634c1 100644
--- a/xen/common/lz4/defs.h
+++ b/xen/common/lz4/defs.h
@@ -18,7 +18,11 @@
 
 static inline u16 get_unaligned_le16(const void *p)
 {
-	return le16_to_cpup(p);
+	u16 v;
+
+	memcpy(&v, p, sizeof(v));
+
+	return le16_to_cpu(v);
 }
 
 #endif
diff --git a/xen/common/xz/private.h b/xen/common/xz/private.h
index 2299705378ac..a63379994fd6 100644
--- a/xen/common/xz/private.h
+++ b/xen/common/xz/private.h
@@ -18,17 +18,23 @@
 
 static inline u32 get_unaligned_le32(const void *p)
 {
-	return le32_to_cpup(p);
+	u32 v;
+
+	memcpy(&v, p, sizeof(v));
+
+	return le32_to_cpu(v);
 }
 
 static inline void put_unaligned_le32(u32 val, void *p)
 {
-	*(__force __le32*)p = cpu_to_le32(val);
+	u32 v = cpu_to_le32(val);
+
+	memcpy(p, &v, sizeof(v));
 }
 
 #endif
 
-#define get_le32(p) le32_to_cpup((const uint32_t *)(p))
+#define get_le32(p) le32_to_cpu(*(const uint32_t *)(p))
 
 #define false 0
 #define true 1
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930667.1333312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0r-00072T-H8; Fri, 28 Mar 2025 13:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930667.1333312; Fri, 28 Mar 2025 13:44: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 1tyA0r-00071m-80; Fri, 28 Mar 2025 13:44:45 +0000
Received: by outflank-mailman (input) for mailman id 930667;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0p-0005Dp-Rk
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:43 +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 cde74abc-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:43 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso21882795e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:43 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: cde74abc-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169483; x=1743774283; 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=wnf/Nwp4shj5EFcPhUHIkrw4QnU6FSi2i7Zr/xIuM0A=;
        b=lMkCy5uU52m6Nkb9/AOxZXYQWO+U/njjgyb3D7V81+FWrs/ie9M7ERwdp4bHvKi/iH
         tT37DlPfibMJ0bbyJxoMaDoDUc0p7pbrUf0uJzotjAUH5uyqQr4T/CQxZsKsoaqS4fX+
         8TLQEGIVxM3MyvEL3WMOgbzX/qJ4mZ078K9m0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169483; x=1743774283;
        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=wnf/Nwp4shj5EFcPhUHIkrw4QnU6FSi2i7Zr/xIuM0A=;
        b=vmRJUZJ9GmdkeLMqR+sr1/IhMGZ0NrRqvqQFIEVsLeRZRU7u5Jt3YCJHR+V1OylPIL
         xdKTL+OyRANex+GR9ghxBLd5TWYL8d9GydOO/CfQ9/J6d5q/cwX7lqDb4dYRWYHqRkKd
         CnqwuAuJVxDBHb6bfmZKGrov7TJDja1NwU8PwZK+IH9+YROjgiFt6tlyDaS0rgz+z1jO
         rJiFndiNc32iSlfD83pj1DPdbWCGqZ60wSXDbkuytf5o/icyb7FfB90w4NiNmIzW3lcn
         UkeXnSyIHsMRURB5jgcJV/irDItLbjXiBUxEKN64y5/C8NJl4qnU6+gDBErQq8/5YI36
         l/LQ==
X-Gm-Message-State: AOJu0Ywzop/g3sb/jSnNsIgDs0gK/P2Ul3SNa7i1i8lgkGVEoKKzzsWO
	l8SVJxNow1lmhmQj6BKJc4PPayc4eMwwzsx9ZBLxdqGFo1EhTItpqzDUDDkgj70ubvOjuc9kZGy
	NpHo=
X-Gm-Gg: ASbGncu3OrdPw0/198YZF+QPUaxEITCRSh6ol80U/PaVADIbLbGAH/HAjrg2jxj0wwY
	dqKkOnkv2Op3pjhGq7lb3VdnDOp8CnrmcPd05VCEWl3gRG2TJInEsMQDVO0GmJ8ZNIOQm5Ybe4d
	5IVGFMYqbK7un4aPjvM1jJ9jgbraCh54KbXk15ajGOk2KnaVHjIqRtWNmUSPXRGzVU0Z54Z69IZ
	iu6RFsxKpfc8iF5+9sS/ohWSn1u2fMz/S+mjltkX6Ky/u1/Ez4PpPAE12Iq887ZJy6DZFcS/h0s
	iTQnaTDXPcw3tpNp/DcD6qXQ3mvAeMyhm3A+6unoK8jaqe43u1dTrHLPy75ntv0mOlsU/pVMIsz
	C5S1rVZ+pIiv54EGgvw==
X-Google-Smtp-Source: AGHT+IHmmDmZC96ovPd8t2DNUfGnrEAgRE5PI4GTCYcZLnA5alpYNJaPmKyjWDdrQ4ZWUaMpbRimRg==
X-Received: by 2002:a05:600c:1f0c:b0:43c:fbbf:7bf1 with SMTP id 5b1f17b1804b1-43d8509c1b4mr78706855e9.30.1743169482556;
        Fri, 28 Mar 2025 06:44:42 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 09/16] xen: Remove old byteorder infrastructure
Date: Fri, 28 Mar 2025 13:44:20 +0000
Message-Id: <20250328134427.874848-10-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

It is no longer used.

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>
---
 xen/include/xen/byteorder/big_endian.h    |  95 ------------
 xen/include/xen/byteorder/generic.h       |  68 --------
 xen/include/xen/byteorder/little_endian.h |  95 ------------
 xen/include/xen/byteorder/swab.h          | 179 ----------------------
 4 files changed, 437 deletions(-)
 delete mode 100644 xen/include/xen/byteorder/big_endian.h
 delete mode 100644 xen/include/xen/byteorder/generic.h
 delete mode 100644 xen/include/xen/byteorder/little_endian.h
 delete mode 100644 xen/include/xen/byteorder/swab.h

diff --git a/xen/include/xen/byteorder/big_endian.h b/xen/include/xen/byteorder/big_endian.h
deleted file mode 100644
index 512291c76f1b..000000000000
--- a/xen/include/xen/byteorder/big_endian.h
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifndef __XEN_BYTEORDER_BIG_ENDIAN_H__
-#define __XEN_BYTEORDER_BIG_ENDIAN_H__
-
-#include <xen/types.h>
-#include <xen/byteorder/swab.h>
-
-#define __constant_cpu_to_le64(x) ((__force __le64)___constant_swab64((x)))
-#define __constant_le64_to_cpu(x) ___constant_swab64((__force uint64_t)(__le64)(x))
-#define __constant_cpu_to_le32(x) ((__force __le32)___constant_swab32((x)))
-#define __constant_le32_to_cpu(x) ___constant_swab32((__force uint32_t)(__le32)(x))
-#define __constant_cpu_to_le16(x) ((__force __le16)___constant_swab16((x)))
-#define __constant_le16_to_cpu(x) ___constant_swab16((__force uint16_t)(__le16)(x))
-#define __constant_cpu_to_be64(x) ((__force __be64)(uint64_t)(x))
-#define __constant_be64_to_cpu(x) ((__force uint64_t)(__be64)(x))
-#define __constant_cpu_to_be32(x) ((__force __be32)(uint32_t)(x))
-#define __constant_be32_to_cpu(x) ((__force uint32_t)(__be32)(x))
-#define __constant_cpu_to_be16(x) ((__force __be16)(uint16_t)(x))
-#define __constant_be16_to_cpu(x) ((__force uint16_t)(__be16)(x))
-#define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
-#define __le64_to_cpu(x) __swab64((__force uint64_t)(__le64)(x))
-#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
-#define __le32_to_cpu(x) __swab32((__force uint32_t)(__le32)(x))
-#define __cpu_to_le16(x) ((__force __le16)__swab16((x)))
-#define __le16_to_cpu(x) __swab16((__force uint16_t)(__le16)(x))
-#define __cpu_to_be64(x) ((__force __be64)(uint64_t)(x))
-#define __be64_to_cpu(x) ((__force uint64_t)(__be64)(x))
-#define __cpu_to_be32(x) ((__force __be32)(uint32_t)(x))
-#define __be32_to_cpu(x) ((__force uint32_t)(__be32)(x))
-#define __cpu_to_be16(x) ((__force __be16)(uint16_t)(x))
-#define __be16_to_cpu(x) ((__force uint16_t)(__be16)(x))
-
-static inline __le64 __cpu_to_le64p(const uint64_t *p)
-{
-    return (__force __le64)__swab64p(p);
-}
-static inline uint64_t __le64_to_cpup(const __le64 *p)
-{
-    return __swab64p((const uint64_t *)p);
-}
-static inline __le32 __cpu_to_le32p(const uint32_t *p)
-{
-    return (__force __le32)__swab32p(p);
-}
-static inline uint32_t __le32_to_cpup(const __le32 *p)
-{
-    return __swab32p((const uint32_t *)p);
-}
-static inline __le16 __cpu_to_le16p(const uint16_t *p)
-{
-    return (__force __le16)__swab16p(p);
-}
-static inline uint16_t __le16_to_cpup(const __le16 *p)
-{
-    return __swab16p((const uint16_t *)p);
-}
-static inline __be64 __cpu_to_be64p(const uint64_t *p)
-{
-    return (__force __be64)*p;
-}
-static inline uint64_t __be64_to_cpup(const __be64 *p)
-{
-    return (__force uint64_t)*p;
-}
-static inline __be32 __cpu_to_be32p(const uint32_t *p)
-{
-    return (__force __be32)*p;
-}
-static inline uint32_t __be32_to_cpup(const __be32 *p)
-{
-    return (__force uint32_t)*p;
-}
-static inline __be16 __cpu_to_be16p(const uint16_t *p)
-{
-    return (__force __be16)*p;
-}
-static inline uint16_t __be16_to_cpup(const __be16 *p)
-{
-    return (__force uint16_t)*p;
-}
-#define __cpu_to_le64s(x) __swab64s((x))
-#define __le64_to_cpus(x) __swab64s((x))
-#define __cpu_to_le32s(x) __swab32s((x))
-#define __le32_to_cpus(x) __swab32s((x))
-#define __cpu_to_le16s(x) __swab16s((x))
-#define __le16_to_cpus(x) __swab16s((x))
-#define __cpu_to_be64s(x) do {} while (0)
-#define __be64_to_cpus(x) do {} while (0)
-#define __cpu_to_be32s(x) do {} while (0)
-#define __be32_to_cpus(x) do {} while (0)
-#define __cpu_to_be16s(x) do {} while (0)
-#define __be16_to_cpus(x) do {} while (0)
-
-#include <xen/byteorder/generic.h>
-
-#endif /* __XEN_BYTEORDER_BIG_ENDIAN_H__ */
diff --git a/xen/include/xen/byteorder/generic.h b/xen/include/xen/byteorder/generic.h
deleted file mode 100644
index 8a0006b75594..000000000000
--- a/xen/include/xen/byteorder/generic.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef __XEN_BYTEORDER_GENERIC_H__
-#define __XEN_BYTEORDER_GENERIC_H__
-
-/*
- * Generic Byte-reordering support
- *
- * The "... p" macros, like le64_to_cpup, can be used with pointers
- * to unaligned data, but there will be a performance penalty on 
- * some architectures.  Use get_unaligned for unaligned data.
- *
- * The following macros are to be defined by <asm/byteorder.h>:
- *
- * Conversion of XX-bit integers (16- 32- or 64-)
- * between native CPU format and little/big endian format
- * 64-bit stuff only defined for proper architectures
- *     cpu_to_[bl]eXX(__uXX x)
- *     [bl]eXX_to_cpu(__uXX x)
- *
- * The same, but takes a pointer to the value to convert
- *     cpu_to_[bl]eXXp(__uXX x)
- *     [bl]eXX_to_cpup(__uXX x)
- *
- * The same, but change in situ
- *     cpu_to_[bl]eXXs(__uXX x)
- *     [bl]eXX_to_cpus(__uXX x)
- *
- * See asm-foo/byteorder.h for examples of how to provide
- * architecture-optimized versions
- */
-
-#define cpu_to_le64 __cpu_to_le64
-#define le64_to_cpu __le64_to_cpu
-#define cpu_to_le32 __cpu_to_le32
-#define le32_to_cpu __le32_to_cpu
-#define cpu_to_le16 __cpu_to_le16
-#define le16_to_cpu __le16_to_cpu
-#define cpu_to_be64 __cpu_to_be64
-#define be64_to_cpu __be64_to_cpu
-#define cpu_to_be32 __cpu_to_be32
-#define be32_to_cpu __be32_to_cpu
-#define cpu_to_be16 __cpu_to_be16
-#define be16_to_cpu __be16_to_cpu
-#define cpu_to_le64p __cpu_to_le64p
-#define le64_to_cpup __le64_to_cpup
-#define cpu_to_le32p __cpu_to_le32p
-#define le32_to_cpup __le32_to_cpup
-#define cpu_to_le16p __cpu_to_le16p
-#define le16_to_cpup __le16_to_cpup
-#define cpu_to_be64p __cpu_to_be64p
-#define be64_to_cpup __be64_to_cpup
-#define cpu_to_be32p __cpu_to_be32p
-#define be32_to_cpup __be32_to_cpup
-#define cpu_to_be16p __cpu_to_be16p
-#define be16_to_cpup __be16_to_cpup
-#define cpu_to_le64s __cpu_to_le64s
-#define le64_to_cpus __le64_to_cpus
-#define cpu_to_le32s __cpu_to_le32s
-#define le32_to_cpus __le32_to_cpus
-#define cpu_to_le16s __cpu_to_le16s
-#define le16_to_cpus __le16_to_cpus
-#define cpu_to_be64s __cpu_to_be64s
-#define be64_to_cpus __be64_to_cpus
-#define cpu_to_be32s __cpu_to_be32s
-#define be32_to_cpus __be32_to_cpus
-#define cpu_to_be16s __cpu_to_be16s
-#define be16_to_cpus __be16_to_cpus
-
-#endif /* __XEN_BYTEORDER_GENERIC_H__ */
diff --git a/xen/include/xen/byteorder/little_endian.h b/xen/include/xen/byteorder/little_endian.h
deleted file mode 100644
index bd1afc6a67c3..000000000000
--- a/xen/include/xen/byteorder/little_endian.h
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifndef __XEN_BYTEORDER_LITTLE_ENDIAN_H__
-#define __XEN_BYTEORDER_LITTLE_ENDIAN_H__
-
-#include <xen/types.h>
-#include <xen/byteorder/swab.h>
-
-#define __constant_cpu_to_le64(x) ((__force __le64)(uint64_t)(x))
-#define __constant_le64_to_cpu(x) ((__force uint64_t)(__le64)(x))
-#define __constant_cpu_to_le32(x) ((__force __le32)(uint32_t)(x))
-#define __constant_le32_to_cpu(x) ((__force uint32_t)(__le32)(x))
-#define __constant_cpu_to_le16(x) ((__force __le16)(uint16_t)(x))
-#define __constant_le16_to_cpu(x) ((__force uint16_t)(__le16)(x))
-#define __constant_cpu_to_be64(x) ((__force __be64)___constant_swab64((x)))
-#define __constant_be64_to_cpu(x) ___constant_swab64((__force uint64_t)(__be64)(x))
-#define __constant_cpu_to_be32(x) ((__force __be32)___constant_swab32((x)))
-#define __constant_be32_to_cpu(x) ___constant_swab32((__force uint32_t)(__be32)(x))
-#define __constant_cpu_to_be16(x) ((__force __be16)___constant_swab16((x)))
-#define __constant_be16_to_cpu(x) ___constant_swab16((__force uint16_t)(__be16)(x))
-#define __cpu_to_le64(x) ((__force __le64)(uint64_t)(x))
-#define __le64_to_cpu(x) ((__force uint64_t)(__le64)(x))
-#define __cpu_to_le32(x) ((__force __le32)(uint32_t)(x))
-#define __le32_to_cpu(x) ((__force uint32_t)(__le32)(x))
-#define __cpu_to_le16(x) ((__force __le16)(uint16_t)(x))
-#define __le16_to_cpu(x) ((__force uint16_t)(__le16)(x))
-#define __cpu_to_be64(x) ((__force __be64)__swab64((x)))
-#define __be64_to_cpu(x) __swab64((__force uint64_t)(__be64)(x))
-#define __cpu_to_be32(x) ((__force __be32)__swab32((x)))
-#define __be32_to_cpu(x) __swab32((__force uint32_t)(__be32)(x))
-#define __cpu_to_be16(x) ((__force __be16)__swab16((x)))
-#define __be16_to_cpu(x) __swab16((__force uint16_t)(__be16)(x))
-
-static inline __le64 __cpu_to_le64p(const uint64_t *p)
-{
-    return (__force __le64)*p;
-}
-static inline uint64_t __le64_to_cpup(const __le64 *p)
-{
-    return (__force uint64_t)*p;
-}
-static inline __le32 __cpu_to_le32p(const uint32_t *p)
-{
-    return (__force __le32)*p;
-}
-static inline uint32_t __le32_to_cpup(const __le32 *p)
-{
-    return (__force uint32_t)*p;
-}
-static inline __le16 __cpu_to_le16p(const uint16_t *p)
-{
-    return (__force __le16)*p;
-}
-static inline uint16_t __le16_to_cpup(const __le16 *p)
-{
-    return (__force uint16_t)*p;
-}
-static inline __be64 __cpu_to_be64p(const uint64_t *p)
-{
-    return (__force __be64)__swab64p(p);
-}
-static inline uint64_t __be64_to_cpup(const __be64 *p)
-{
-    return __swab64p((const uint64_t *)p);
-}
-static inline __be32 __cpu_to_be32p(const uint32_t *p)
-{
-    return (__force __be32)__swab32p(p);
-}
-static inline uint32_t __be32_to_cpup(const __be32 *p)
-{
-    return __swab32p((const uint32_t *)p);
-}
-static inline __be16 __cpu_to_be16p(const uint16_t *p)
-{
-    return (__force __be16)__swab16p(p);
-}
-static inline uint16_t __be16_to_cpup(const __be16 *p)
-{
-    return __swab16p((const uint16_t *)p);
-}
-#define __cpu_to_le64s(x) do {} while (0)
-#define __le64_to_cpus(x) do {} while (0)
-#define __cpu_to_le32s(x) do {} while (0)
-#define __le32_to_cpus(x) do {} while (0)
-#define __cpu_to_le16s(x) do {} while (0)
-#define __le16_to_cpus(x) do {} while (0)
-#define __cpu_to_be64s(x) __swab64s((x))
-#define __be64_to_cpus(x) __swab64s((x))
-#define __cpu_to_be32s(x) __swab32s((x))
-#define __be32_to_cpus(x) __swab32s((x))
-#define __cpu_to_be16s(x) __swab16s((x))
-#define __be16_to_cpus(x) __swab16s((x))
-
-#include <xen/byteorder/generic.h>
-
-#endif /* __XEN_BYTEORDER_LITTLE_ENDIAN_H__ */
diff --git a/xen/include/xen/byteorder/swab.h b/xen/include/xen/byteorder/swab.h
deleted file mode 100644
index ffcf1cf800b2..000000000000
--- a/xen/include/xen/byteorder/swab.h
+++ /dev/null
@@ -1,179 +0,0 @@
-#ifndef __XEN_BYTEORDER_SWAB_H__
-#define __XEN_BYTEORDER_SWAB_H__
-
-/*
- * Byte-swapping, independently from CPU endianness
- *     swabXX[ps]?(foo)
- *
- * Francois-Rene Rideau <fare@tunes.org> 19971205
- *    separated swab functions from cpu_to_XX,
- *    to clean up support for bizarre-endian architectures.
- */
-
-#define ___swab16(x)                                    \
-({                                                      \
-    uint16_t x_ = (x);                                  \
-    (uint16_t)(                                         \
-        (((uint16_t)(x_) & 0x00ffU) << 8) |             \
-        (((uint16_t)(x_) & 0xff00U) >> 8));             \
-})
-
-#define ___swab32(x)                                            \
-({                                                              \
-    uint32_t x_ = (x);                                          \
-    (uint32_t)(                                                 \
-        (((uint32_t)(x_) & 0x000000ffU) << 24) |                \
-        (((uint32_t)(x_) & 0x0000ff00U) <<  8) |                \
-        (((uint32_t)(x_) & 0x00ff0000U) >>  8) |                \
-        (((uint32_t)(x_) & 0xff000000U) >> 24));                \
-})
-
-#define ___swab64(x)                                                       \
-({                                                                         \
-    uint64_t x_ = (x);                                                     \
-    (uint64_t)(                                                            \
-        (((uint64_t)(x_) & 0x00000000000000ffULL) << 56) |                 \
-        (((uint64_t)(x_) & 0x000000000000ff00ULL) << 40) |                 \
-        (((uint64_t)(x_) & 0x0000000000ff0000ULL) << 24) |                 \
-        (((uint64_t)(x_) & 0x00000000ff000000ULL) <<  8) |                 \
-        (((uint64_t)(x_) & 0x000000ff00000000ULL) >>  8) |                 \
-        (((uint64_t)(x_) & 0x0000ff0000000000ULL) >> 24) |                 \
-        (((uint64_t)(x_) & 0x00ff000000000000ULL) >> 40) |                 \
-        (((uint64_t)(x_) & 0xff00000000000000ULL) >> 56));                 \
-})
-
-#define ___constant_swab16(x)                   \
-    ((uint16_t)(                                \
-        (((uint16_t)(x) & 0x00ffU) << 8) |      \
-        (((uint16_t)(x) & 0xff00U) >> 8)))
-#define ___constant_swab32(x)                           \
-    ((uint32_t)(                                        \
-        (((uint32_t)(x) & 0x000000ffU) << 24) |         \
-        (((uint32_t)(x) & 0x0000ff00U) <<  8) |         \
-        (((uint32_t)(x) & 0x00ff0000U) >>  8) |         \
-        (((uint32_t)(x) & 0xff000000U) >> 24)))
-#define ___constant_swab64(x)                                            \
-    ((uint64_t)(                                                         \
-        (((uint64_t)(x) & 0x00000000000000ffULL) << 56) |                \
-        (((uint64_t)(x) & 0x000000000000ff00ULL) << 40) |                \
-        (((uint64_t)(x) & 0x0000000000ff0000ULL) << 24) |                \
-        (((uint64_t)(x) & 0x00000000ff000000ULL) <<  8) |                \
-        (((uint64_t)(x) & 0x000000ff00000000ULL) >>  8) |                \
-        (((uint64_t)(x) & 0x0000ff0000000000ULL) >> 24) |                \
-        (((uint64_t)(x) & 0x00ff000000000000ULL) >> 40) |                \
-        (((uint64_t)(x) & 0xff00000000000000ULL) >> 56)))
-
-/*
- * provide defaults when no architecture-specific optimization is detected
- */
-#ifndef __arch__swab16
-#  define __arch__swab16(x) ___swab16(x)
-#endif
-#ifndef __arch__swab32
-#  define __arch__swab32(x) ___swab32(x)
-#endif
-#ifndef __arch__swab64
-#  define __arch__swab64(x) ___swab64(x)
-#endif
-
-#ifndef __arch__swab16p
-#  define __arch__swab16p(x) __arch__swab16(*(x))
-#endif
-#ifndef __arch__swab32p
-#  define __arch__swab32p(x) __arch__swab32(*(x))
-#endif
-#ifndef __arch__swab64p
-#  define __arch__swab64p(x) __arch__swab64(*(x))
-#endif
-
-#ifndef __arch__swab16s
-#  define __arch__swab16s(x) do { *(x) = __arch__swab16p((x)); } while (0)
-#endif
-#ifndef __arch__swab32s
-#  define __arch__swab32s(x) do { *(x) = __arch__swab32p((x)); } while (0)
-#endif
-#ifndef __arch__swab64s
-#  define __arch__swab64s(x) do { *(x) = __arch__swab64p((x)); } while (0)
-#endif
-
-
-/*
- * Allow constant folding
- */
-#if defined(__GNUC__) && defined(__OPTIMIZE__)
-#  define __swab16(x) \
-(__builtin_constant_p((uint16_t)(x)) ? \
- ___swab16((x)) : \
- __fswab16((x)))
-#  define __swab32(x) \
-(__builtin_constant_p((uint32_t)(x)) ? \
- ___swab32((x)) : \
- __fswab32((x)))
-#  define __swab64(x) \
-(__builtin_constant_p((uint64_t)(x)) ? \
- ___swab64((x)) : \
- __fswab64((x)))
-#else
-#  define __swab16(x) __fswab16(x)
-#  define __swab32(x) __fswab32(x)
-#  define __swab64(x) __fswab64(x)
-#endif /* OPTIMIZE */
-
-
-static inline attr_const uint16_t __fswab16(uint16_t x)
-{
-    return __arch__swab16(x);
-}
-static inline uint16_t __swab16p(const uint16_t *x)
-{
-    return __arch__swab16p(x);
-}
-static inline void __swab16s(uint16_t *addr)
-{
-    __arch__swab16s(addr);
-}
-
-static inline attr_const uint32_t __fswab32(uint32_t x)
-{
-    return __arch__swab32(x);
-}
-static inline uint32_t __swab32p(const uint32_t *x)
-{
-    return __arch__swab32p(x);
-}
-static inline void __swab32s(uint32_t *addr)
-{
-    __arch__swab32s(addr);
-}
-
-#ifdef __BYTEORDER_HAS_U64__
-static inline attr_const uint64_t __fswab64(uint64_t x)
-{
-#  ifdef __SWAB_64_THRU_32__
-    uint32_t h = x >> 32, l = x;
-    return ((uint64_t)__swab32(l) << 32) | __swab32(h);
-#  else
-    return __arch__swab64(x);
-#  endif
-}
-static inline uint64_t __swab64p(const uint64_t *x)
-{
-    return __arch__swab64p(x);
-}
-static inline void __swab64s(uint64_t *addr)
-{
-    __arch__swab64s(addr);
-}
-#endif /* __BYTEORDER_HAS_U64__ */
-
-#define swab16 __swab16
-#define swab32 __swab32
-#define swab64 __swab64
-#define swab16p __swab16p
-#define swab32p __swab32p
-#define swab64p __swab64p
-#define swab16s __swab16s
-#define swab32s __swab32s
-#define swab64s __swab64s
-
-#endif /* __XEN_BYTEORDER_SWAB_H__ */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930666.1333307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0q-0006tF-V9; Fri, 28 Mar 2025 13:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930666.1333307; Fri, 28 Mar 2025 13:44: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 1tyA0q-0006rH-MW; Fri, 28 Mar 2025 13:44:44 +0000
Received: by outflank-mailman (input) for mailman id 930666;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0p-0005Dj-3E
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:43 +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 ccbf01d9-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:41 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4394345e4d5so14393375e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:41 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: ccbf01d9-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169481; x=1743774281; 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=ttvNpcZmlBfIkEET7nitOsFbwOtCvrXrDSn+XhUAciM=;
        b=A4rudLNTJQ9ipjkNpXeEuERMiSMQnBxyVxLVKSIeOgrHJxD/PTSFKszYb+YBQcADBv
         4djEXrqOB7hEFmzvzTGjAOoPjyYnWqQkhG2TOuGrgdfPN81ko55dXSUYhLoXFjbT2Ui+
         HgMIFwdOyVbF9xgxUZAXIeKIBMPKMC9LiOQ78=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169481; x=1743774281;
        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=ttvNpcZmlBfIkEET7nitOsFbwOtCvrXrDSn+XhUAciM=;
        b=feXN7XhosrHV0KFfER6Si1WbplE+5w/aQ3A/yOru01SADOpRVVDOpT/sjUse1mOmXS
         z6IpiJE4egyTP/w9LPk8WUmlMoCQImQdUM1A9dH7gAGPGVNUrLfDJVE8OZgSZXO58aQ2
         tOOM4zXOqaJ4Sb9XVdAMUHog+Ujfl8w9DI57xEVqo7d2FPz/naUL+42JdWb1Pc39r5Vs
         Q7Rlni7bPW0PSGLgND+v5giGWxYRY+YNcI63c7klCsU8BeRxPDo+gqGkud88GxjPBhBj
         2fwnrCerSiESe/pzYLf4OSlM28VsYvyj68+U7l38RNlumf1PHyd0VKskW5ZPSkVPlGvV
         RVEw==
X-Gm-Message-State: AOJu0Yye+xmOVZtikRXBwnSqrEE9CQd6TzIvsB46KCZWlrVmdcF651Yn
	BiwqMSnqdvqZJhspqQfcCbB4ZP8M5k5JxWecdABum7B4PuZBEckpKJb1jq9XC+AR9dYOf2Y0uSq
	PLA4=
X-Gm-Gg: ASbGncuYNd49BSS9JdFT08Zh/F5d3TV6CiYAGW4G4/SkzzuO8oo0Vg5zTatiLILrxPy
	X6+Y28JgpC3VD/mI/HziJ16XSdloP6zhQsCwiOZmnlQp7cwr+G3k67RYyU5zUy6pjiPAhbmKK/0
	7D7M8EA6x4lgvbDwcgNdSUtpV1ak8FUSTrfXLz4idJsxU9kzNFI7hbb0TWJuz7Hj7PYhw+lFFDq
	sX1sx9DIkCbW0LQUwIE/ZJJh733hqlEhisxhnFEiYBPxXJlT8mwCJgyB2bfXaNnCyG7IIz4pd5G
	DplK9qjqFpus4OxOzD7IB13+stnYbfe56/tlQh/tIahzTvujpd9HlWvt2wJH+1HtKgLz2H1yoAk
	9xT/0t+s7eGApWjjwnA==
X-Google-Smtp-Source: AGHT+IHxyI3XzFh9MqhUZDwTWwDjJcgZpOYlwzU+RbIpRWqU0+t94NeoTUNuuOrBRzyA3jxcIovDNA==
X-Received: by 2002:a05:600c:1e17:b0:43c:fe15:41d4 with SMTP id 5b1f17b1804b1-43d84fd517dmr91210845e9.18.1743169480662;
        Fri, 28 Mar 2025 06:44:40 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 07/16] xen/arch: Switch to new byteorder infrastructure
Date: Fri, 28 Mar 2025 13:44:18 +0000
Message-Id: <20250328134427.874848-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

This needs to be done in several steps, because of common vs arch issues.
Start by using the new common infastructure inside the arch infrastructure.

libelf-private.h is awkward, and the only thing in Xen using swabXX()
directly.  It needs updating at the same time.

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * Rebase
 * Rearange from other patches to maintain bisectability
---
 xen/arch/arm/include/asm/byteorder.h   |  4 +---
 xen/arch/ppc/include/asm/byteorder.h   |  8 +-------
 xen/arch/riscv/include/asm/byteorder.h |  4 +---
 xen/arch/x86/include/asm/byteorder.h   | 25 +------------------------
 xen/common/libelf/libelf-private.h     |  6 +++---
 5 files changed, 7 insertions(+), 40 deletions(-)

diff --git a/xen/arch/arm/include/asm/byteorder.h b/xen/arch/arm/include/asm/byteorder.h
index 9c712c47884a..7f1419c45a16 100644
--- a/xen/arch/arm/include/asm/byteorder.h
+++ b/xen/arch/arm/include/asm/byteorder.h
@@ -1,9 +1,7 @@
 #ifndef __ASM_ARM_BYTEORDER_H__
 #define __ASM_ARM_BYTEORDER_H__
 
-#define __BYTEORDER_HAS_U64__
-
-#include <xen/byteorder/little_endian.h>
+#include <xen/byteorder.h>
 
 #endif /* __ASM_ARM_BYTEORDER_H__ */
 /*
diff --git a/xen/arch/ppc/include/asm/byteorder.h b/xen/arch/ppc/include/asm/byteorder.h
index 2b5f6b9f6321..8df6adbf0d7d 100644
--- a/xen/arch/ppc/include/asm/byteorder.h
+++ b/xen/arch/ppc/include/asm/byteorder.h
@@ -1,12 +1,6 @@
 #ifndef _ASM_PPC_BYTEORDER_H
 #define _ASM_PPC_BYTEORDER_H
 
-#define __arch__swab16 __builtin_bswap16
-#define __arch__swab32 __builtin_bswap32
-#define __arch__swab64 __builtin_bswap64
-
-#define __BYTEORDER_HAS_U64__
-
-#include <xen/byteorder/little_endian.h>
+#include <xen/byteorder.h>
 
 #endif /* _ASM_PPC_BYTEORDER_H */
diff --git a/xen/arch/riscv/include/asm/byteorder.h b/xen/arch/riscv/include/asm/byteorder.h
index 8ca65e1b330e..a32bca02df38 100644
--- a/xen/arch/riscv/include/asm/byteorder.h
+++ b/xen/arch/riscv/include/asm/byteorder.h
@@ -1,9 +1,7 @@
 #ifndef ASM__RISCV__BYTEORDER_H
 #define ASM__RISCV__BYTEORDER_H
 
-#define __BYTEORDER_HAS_U64__
-
-#include <xen/byteorder/little_endian.h>
+#include <xen/byteorder.h>
 
 #endif /* ASM__RISCV__BYTEORDER_H */
 /*
diff --git a/xen/arch/x86/include/asm/byteorder.h b/xen/arch/x86/include/asm/byteorder.h
index 44c240376d3a..3524a6cee741 100644
--- a/xen/arch/x86/include/asm/byteorder.h
+++ b/xen/arch/x86/include/asm/byteorder.h
@@ -1,29 +1,6 @@
 #ifndef __ASM_X86_BYTEORDER_H__
 #define __ASM_X86_BYTEORDER_H__
 
-#include <xen/types.h>
-#include <xen/compiler.h>
-
-static inline attr_const uint32_t ___arch__swab32(uint32_t x)
-{
-    asm("bswap %0" : "=r" (x) : "0" (x));
-    return x;
-}
-
-static inline attr_const uint64_t ___arch__swab64(uint64_t x)
-{ 
-    asm ( "bswap %0" : "+r" (x) );
-    return x;
-} 
-
-/* Do not define swab16.  Gcc is smart enough to recognize "C" version and
-   convert it into rotation or exhange.  */
-
-#define __arch__swab64(x) ___arch__swab64(x)
-#define __arch__swab32(x) ___arch__swab32(x)
-
-#define __BYTEORDER_HAS_U64__
-
-#include <xen/byteorder/little_endian.h>
+#include <xen/byteorder.h>
 
 #endif /* __ASM_X86_BYTEORDER_H__ */
diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 197d7a7623a3..65417dffc8a0 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -31,9 +31,9 @@
    printk(fmt, ## args )
 
 #define strtoull(str, end, base) simple_strtoull(str, end, base)
-#define bswap_16(x) swab16(x)
-#define bswap_32(x) swab32(x)
-#define bswap_64(x) swab64(x)
+#define bswap_16(x) bswap16(x)
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
 
 #else /* !__XEN__ */
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930662.1333272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0n-00063A-Gs; Fri, 28 Mar 2025 13:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930662.1333272; Fri, 28 Mar 2025 13:44: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 1tyA0n-00062E-Aq; Fri, 28 Mar 2025 13:44:41 +0000
Received: by outflank-mailman (input) for mailman id 930662;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0m-0005Dj-1K
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:40 +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 cadc374f-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:38 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso15049135e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:38 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: cadc374f-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169477; x=1743774277; 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=a8W5SkdckqpViwNw8B8SNV+vwNGpyKIiESmN47LM7ug=;
        b=k3F71TGlpKWc0h0UociXjUdpjfnQ733SNJamr7weppzYTnkTja9bZ4dPS0TmRO5xhT
         nmEJ2qY0zEqCexIM2gD7hmfUXkP3RWPBwsGHFsloLTB3uZ+WrUk8gvLGt+s65FYtYDAq
         XoerqlLBaeEmajqTowBrv36UPo6M4nX7LltPM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169477; x=1743774277;
        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=a8W5SkdckqpViwNw8B8SNV+vwNGpyKIiESmN47LM7ug=;
        b=MNurhW4fKAEbw77x9j0xrgTyzVpgqylhugx3DuOuq6DoysRRYndTitLhvrvhX+EJ6t
         HV51bkpbPZo1tmn1lQxiFKPDK4mqV2nc4qQSkBaUiFK1cRvJ+UmtBTXON1NN6bOc3uc8
         k4itJPtxgGC/C7qdGRr83WHnjqVajznK1QyqRESNVJG6Lk2V0Pd7vWBJB3XivJcYTw2S
         0FeBfiraUjiIMsiUCePagejrud2Qxo/znuMDUnzmsnQv7YTbf1gnxooaYfjQjfa7v0Sq
         oZ32OEDFzRrWdajm6/IWGWtV4g/T9LLUk/8z3B27oX8SWlEK1Ag009vKodFCfNHD+RiD
         4qCg==
X-Gm-Message-State: AOJu0Yxz0N97q6ioa1zB6k0i5vX+gulW4XXKZRNfEs3epUe7/WErJTWK
	j1oLAlnAweNL+rWmLk5gx9sog1ewR1Bcjqb1iXnZr2JSAU1o2B54L3L0iayMQRlvdUpCo4dlBlf
	WzBc=
X-Gm-Gg: ASbGncsLTVrOjOcc+c1IIyfLpOHjwcTh6n4uF7xCY+au/JjjmgxUtu65yKl/uNdfmke
	oSEWWMQ3v8s6arxEX6bPxwOnkOWWALgh3hlix2SuxlddikQGBBq1XBRYHNlk32xlzC8cuklno8B
	dzcpgE52EF49Zj0r+a5XZsrjS6FIdSyGqWsQx5Y2xPU9PdMUSkD2HmJn+tk5EQXsrRfcDWBFTZF
	QTWN+T/okutByBZv7foGnqvHvt0R09ZA+xhZA/hh3kVN3G4/+p1/AHk4pSF5Nww83uGUVTDVjMp
	DMDSEDUze6VbQzaD+RoWXB52PoL6pvS53v/TIUhR5TAINvcqMk/MelcgFYWfzKEW+qn2y+V9x0s
	tYNZVqK5ykgkjrEYRQA==
X-Google-Smtp-Source: AGHT+IG2t1EAyDACSeBb/uY/ZuDdN+wJPR2Z8n9fr2z1771JJWgzWikUg+Oo6d29LOM7vxTz9J1mag==
X-Received: by 2002:a05:600c:1c0e:b0:43c:fffc:7886 with SMTP id 5b1f17b1804b1-43d850a93c9mr72645975e9.8.1743169477478;
        Fri, 28 Mar 2025 06:44:37 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 04/16] xen/lib: Switch to xen/byteorder.h
Date: Fri, 28 Mar 2025 13:44:15 +0000
Message-Id: <20250328134427.874848-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

In divmod.c, additionally swap xen/lib.h for xen/macros.h as only ABS() is
needed.

In find-next-bit.c, ext2 has nothing to do with this logic.  Despite the
comments, it was a local modification when the logic was imported from Linux,
because Xen didn't have a suitable helper.

The new infrsatructure does have a suitable primitive, so use it.

No functional change.

Signed-off-by: Lin Liu <lin.liu@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

The find-next-bit.c changes, being inside __BIG_ENDIAN aren't even compiled in
any build of Xen.  I manually checked that they compiled.

v5:
 * Rebase
 * Include a fixto divmod.c
 * Explain why even Linux has never had anything by the name ext2_swab()
---
 xen/lib/divmod.c        |  5 ++---
 xen/lib/find-next-bit.c | 39 +++++++--------------------------------
 2 files changed, 9 insertions(+), 35 deletions(-)

diff --git a/xen/lib/divmod.c b/xen/lib/divmod.c
index 0377d62130ae..b5b111dacecc 100644
--- a/xen/lib/divmod.c
+++ b/xen/lib/divmod.c
@@ -1,6 +1,5 @@
-#include <xen/lib.h>
-#include <xen/types.h>
-#include <asm/byteorder.h>
+#include <xen/byteorder.h>
+#include <xen/macros.h>
 
 /*
  * A couple of 64 bit operations ported from FreeBSD.
diff --git a/xen/lib/find-next-bit.c b/xen/lib/find-next-bit.c
index 761b02739841..9b8d7814f20c 100644
--- a/xen/lib/find-next-bit.c
+++ b/xen/lib/find-next-bit.c
@@ -9,8 +9,7 @@
  * 2 of the License, or (at your option) any later version.
  */
 #include <xen/bitops.h>
-
-#include <asm/byteorder.h>
+#include <xen/byteorder.h>
 
 #define __ffs(x) (ffsl(x) - 1)
 #define ffz(x) __ffs(~(x))
@@ -164,30 +163,6 @@ EXPORT_SYMBOL(find_first_zero_bit);
 
 #ifdef __BIG_ENDIAN
 
-/* include/linux/byteorder does not support "unsigned long" type */
-static inline unsigned long ext2_swabp(const unsigned long * x)
-{
-#if BITS_PER_LONG == 64
-	return (unsigned long) __swab64p((u64 *) x);
-#elif BITS_PER_LONG == 32
-	return (unsigned long) __swab32p((u32 *) x);
-#else
-#error BITS_PER_LONG not defined
-#endif
-}
-
-/* include/linux/byteorder doesn't support "unsigned long" type */
-static inline unsigned long ext2_swab(const unsigned long y)
-{
-#if BITS_PER_LONG == 64
-	return (unsigned long) __swab64((u64) y);
-#elif BITS_PER_LONG == 32
-	return (unsigned long) __swab32((u32) y);
-#else
-#error BITS_PER_LONG not defined
-#endif
-}
-
 #ifndef find_next_zero_bit_le
 unsigned long find_next_zero_bit_le(const void *addr, unsigned
 		long size, unsigned long offset)
@@ -202,7 +177,7 @@ unsigned long find_next_zero_bit_le(const void *addr, unsigned
 	size -= result;
 	offset &= (BITS_PER_LONG - 1UL);
 	if (offset) {
-		tmp = ext2_swabp(p++);
+		tmp = bswapl(*p++);
 		tmp |= (~0UL >> (BITS_PER_LONG - offset));
 		if (size < BITS_PER_LONG)
 			goto found_first;
@@ -220,7 +195,7 @@ unsigned long find_next_zero_bit_le(const void *addr, unsigned
 	}
 	if (!size)
 		return result;
-	tmp = ext2_swabp(p);
+	tmp = bswapl(*p);
 found_first:
 	tmp |= ~0UL << size;
 	if (tmp == ~0UL)	/* Are any bits zero? */
@@ -229,7 +204,7 @@ unsigned long find_next_zero_bit_le(const void *addr, unsigned
 	return result + ffz(tmp);
 
 found_middle_swap:
-	return result + ffz(ext2_swab(tmp));
+	return result + ffz(bswapl(tmp));
 }
 EXPORT_SYMBOL(find_next_zero_bit_le);
 #endif
@@ -248,7 +223,7 @@ unsigned long find_next_bit_le(const void *addr, unsigned
 	size -= result;
 	offset &= (BITS_PER_LONG - 1UL);
 	if (offset) {
-		tmp = ext2_swabp(p++);
+		tmp = bswapl(*p++);
 		tmp &= (~0UL << offset);
 		if (size < BITS_PER_LONG)
 			goto found_first;
@@ -267,7 +242,7 @@ unsigned long find_next_bit_le(const void *addr, unsigned
 	}
 	if (!size)
 		return result;
-	tmp = ext2_swabp(p);
+	tmp = bswapl(*p);
 found_first:
 	tmp &= (~0UL >> (BITS_PER_LONG - size));
 	if (tmp == 0UL)		/* Are any bits set? */
@@ -276,7 +251,7 @@ unsigned long find_next_bit_le(const void *addr, unsigned
 	return result + __ffs(tmp);
 
 found_middle_swap:
-	return result + __ffs(ext2_swab(tmp));
+	return result + __ffs(bswapl(tmp));
 }
 EXPORT_SYMBOL(find_next_bit_le);
 #endif
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930659.1333237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0l-0005HN-JU; Fri, 28 Mar 2025 13:44:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930659.1333237; Fri, 28 Mar 2025 13: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 1tyA0l-0005GA-Dc; Fri, 28 Mar 2025 13:44:39 +0000
Received: by outflank-mailman (input) for mailman id 930659;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0k-0005Dj-0v
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:38 +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 c99722b8-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:36 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso20815185e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:36 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: c99722b8-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169475; x=1743774275; 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=NRRILQjHDNKqdyGUmo0RrPw+FSAhpbsG/wvAGzdfUcA=;
        b=n4f2eUb3f7BAGYc/xAi9LRmo/tU0Tmdf2BQbIwO7mH1IsDheKbtfmh3LwabA5xsLop
         ffUGB1I6PZOs8m0ECCpFTpFgGZvhz2VDwFx9wpgFe4XoS4LLeBakIaOue774+MeN9hTG
         vxDVj/N9WydIpqhdcgOVt9FbqL6kWWERzD37A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169475; x=1743774275;
        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=NRRILQjHDNKqdyGUmo0RrPw+FSAhpbsG/wvAGzdfUcA=;
        b=NSAsqyx5UQB4GITmaeirf16vlp1Ia9aRBXSXJ/2ZVwqy8OTCQvdfr+Rk1pnhL7I7Xj
         nLPfjVSprDX1OGwjc6A3m13Gql9co3xL1b+bd5u0602bI8/dDvsjATDvbeOUmXM9Sjaj
         TDfc/jOFk/18BfgF0XP27XRK+MvbQl2wSbJ0VWkugxrtHTmxP1J92snk2haD03Z1avra
         d7s0YNYuS4nMjGDjX2ezEZdaNNoy6aBDIa4Rh+rwucdITyHwC//ht6uz9iHURQPWwKoi
         D78BBvy0BHuzzaD1x1Sq3Y1DNleNh4PbRrrlbpwT9BZwuJiSQ0B/DqJW1ZcWTzrMHEFM
         Kcdg==
X-Gm-Message-State: AOJu0YwlGGjq+qjMhN5a5IFzpfg+8kCOtGqd15QAq34wfMJNVxxp083e
	iIikG+VHN/wz4fQxpjGMA9BCOpMrwyony1MgskRnqjJeDK1EKlczSCN+61veC7XJzFAtYDjKTJk
	uqOk=
X-Gm-Gg: ASbGncvrwEuD+5RnRCMfvxr/IFiHIIhLo921mtX+R53vQ3IZTofZ6up+E25Vl7kf+Q3
	yTl/FCid5gDBsCYRyzcDU8DfvwXKrEV4oMT1G1vzMVYMhv3Qm9ik8pqUo93PkEGFmOnluKUMRNe
	/e2lQSi+HsghpIzKtB17ePSsXzeOtklZ9SKomm7qm3ADjyN1cFOZJvHTTtM85PNUNogO0Qogddb
	K6XzcOixzAp7ES591kNyjQeRY9dYsNY0gxCJM9abUaTypmacgR3qGcI/JqS4wWKzuLN7sZenc0y
	5TN0+UwL1QEcVFhduzg4znlAsswJEaxso4f8xw1Oq/SIzcFw+SZ2zlaIpwjTRkjGJPxtYb/48Gh
	kSODgUo4MKV3OdtbmDw==
X-Google-Smtp-Source: AGHT+IHqbQoB2iudC36JECsuxphrbT5v04XPCLu6L9Tg3pfb5AB90XdZUhIW+UVjFQbaG4W6hLUIAg==
X-Received: by 2002:a05:6000:1448:b0:391:11b:c7e9 with SMTP id ffacd0b85a97d-39ad175ba00mr6474469f8f.28.1743169475371;
        Fri, 28 Mar 2025 06:44:35 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 02/16] xen: Remove __{BIG,LITTLE}_ENDIAN_BITFIELD
Date: Fri, 28 Mar 2025 13:44:13 +0000
Message-Id: <20250328134427.874848-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

There is a singular user.  It's unlikely we'll gain a big-endian build of Xen,
but it's far more unlikely that bitfields will differ from main endianness.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

I'm tempted to simply drop the logic in maptrack_node.  If any big-endian
build of Xen came along, that's probably the least of it's worries.

v5:
 * New.
---
 xen/common/grant_table.c                  | 4 ++--
 xen/include/xen/byteorder/big_endian.h    | 3 ---
 xen/include/xen/byteorder/little_endian.h | 3 ---
 3 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 6c77867f8cdd..d6886ee74847 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -979,12 +979,12 @@ static struct active_grant_entry *grant_map_exists(const struct domain *ld,
 union maptrack_node {
     struct {
         /* Radix tree slot pointers use two of the bits. */
-#ifdef __BIG_ENDIAN_BITFIELD
+#ifdef __BIG_ENDIAN
         unsigned long _0 : 2;
 #endif
         unsigned long rd : BITS_PER_LONG / 2 - 1;
         unsigned long wr : BITS_PER_LONG / 2 - 1;
-#ifndef __BIG_ENDIAN_BITFIELD
+#ifndef __BIG_ENDIAN
         unsigned long _0 : 2;
 #endif
     } cnt;
diff --git a/xen/include/xen/byteorder/big_endian.h b/xen/include/xen/byteorder/big_endian.h
index ce395a17f64b..9cfb567d51d5 100644
--- a/xen/include/xen/byteorder/big_endian.h
+++ b/xen/include/xen/byteorder/big_endian.h
@@ -4,9 +4,6 @@
 #ifndef __BIG_ENDIAN
 #define __BIG_ENDIAN 4321
 #endif
-#ifndef __BIG_ENDIAN_BITFIELD
-#define __BIG_ENDIAN_BITFIELD
-#endif
 
 #include <xen/types.h>
 #include <xen/byteorder/swab.h>
diff --git a/xen/include/xen/byteorder/little_endian.h b/xen/include/xen/byteorder/little_endian.h
index 8b118afba5e3..96c80eab2b12 100644
--- a/xen/include/xen/byteorder/little_endian.h
+++ b/xen/include/xen/byteorder/little_endian.h
@@ -4,9 +4,6 @@
 #ifndef __LITTLE_ENDIAN
 #define __LITTLE_ENDIAN 1234
 #endif
-#ifndef __LITTLE_ENDIAN_BITFIELD
-#define __LITTLE_ENDIAN_BITFIELD
-#endif
 
 #include <xen/types.h>
 #include <xen/byteorder/swab.h>
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930661.1333251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0m-0005XU-9f; Fri, 28 Mar 2025 13:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930661.1333251; Fri, 28 Mar 2025 13:44: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 1tyA0m-0005VB-2Y; Fri, 28 Mar 2025 13:44:40 +0000
Received: by outflank-mailman (input) for mailman id 930661;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0l-0005Dj-0z
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:39 +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 c83f2e49-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:34 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so1734032f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:34 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06: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: c83f2e49-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169473; x=1743774273; 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=ZE7aGB4f7I5bfWfZWQpxmFTcqusuterONjpBtV/T7YQ=;
        b=Az/smt/Lt+HuktKdyRl4ajj1sMVmebIZgmoJQ74Yj9jHYgdC2z7QYMu6ViLFOkeJXP
         NU95wmE5AyhSZJxjGOjiU4DT9k/osnNh2VEkHFpYw00DGUcF2KfierMwT6rIRbHYGCmh
         3uQAxWk59cWmNq9lm0e+KBcZn5NqKTZYGL9ww=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169473; x=1743774273;
        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=ZE7aGB4f7I5bfWfZWQpxmFTcqusuterONjpBtV/T7YQ=;
        b=pjRYgfmBgzJ8Adj6Qgrm7wEpPzDJG76VmZjAiw9DJ/9KwK0IkJEnTFtbA1LwyFBK4V
         dLTxv+Lno7W+Qxi6KbVnj3XKXY/4/sVgN3VGwZguSMumVS7xZaMklRMkkeRAzSxpHR8M
         ofLizId+wsTurOCE3HwA0upeNI/DAdQAqmnzfWp54BFkBnkfNVzWnLhQvFqj2wWm0rX4
         WjnWWoATZk2p7LJSqSIieq0oC80Nfbj450N/U8Kp/HzXNRjQqbJyIHmhbIOamDF1dBM4
         6PsgzwKM1u4FbyW4bJsnPiON+rURJlIXQFnhvuR6JLgnNdLMLkXlZH4C8MeFL4jdsDQi
         UHKA==
X-Gm-Message-State: AOJu0YyAFQeWgcW1x+sMaZMoUwGJxSUgzzw/8vRv6ZkquNMRB4fmegRX
	wqAjIPWKDd/A/X4Zo89p6GymPzdR3Dt/XsDWBMH9Kt+mUBR0eCk3AU+lA6vOBKwTtTPZbc6hE1L
	WHgk=
X-Gm-Gg: ASbGncsd4m0Zc3/9Sgz3O9FpBgg7bORvOtfHGTgrSVHFsCS4nJmbQ2RfuVhv9ojmTA1
	0YVdfKp73g2iDExfcbpZh2+DLjGrUr85w3zJppS9IrzmzVCaj1ne3mc41jCmnQPnbPv4n/4+U1T
	S4gms3WbCAu9F4DYecPLBSZtBhSyLPlXY8MOERCJdU1kQNdqyHOgwTcelecAL+YgKkKXFsNoY37
	HfNWm+6aHRqLMWsK0invEa8VrQn2agvBIYuDPIIQWwZJeOZNX6rqiy3nAPnkiwHuqcWrlLESKez
	GrRl3ReyypjJ7cHlV4mI2GqRr41kTVeKJfHxr4aJNXhXQyWyjqwREza9t8bDafUg2k/mgLmRHoQ
	5ZpXub2QTnNjWyFeU1g==
X-Google-Smtp-Source: AGHT+IGWrkPdWlvBfp+lTsLHE2KKOyAelLxaczA/8U+UJfbALXQj0EuV9LbqPFCVK5qtWmz0DoDZ7g==
X-Received: by 2002:a5d:47ca:0:b0:391:2e0f:efce with SMTP id ffacd0b85a97d-39ad173e843mr6967678f8f.1.1743169472986;
        Fri, 28 Mar 2025 06:44:32 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 00/16] xen: Centralise byteswap infrastructure
Date: Fri, 28 Mar 2025 13:44:11 +0000
Message-Id: <20250328134427.874848-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

The diffstat speaks for itself.

This is a follow-up to Lin's years-old series, rebased to account for RISC-V
and PPC, and simplified owing to our new compiler baseline.

Andrew Cooper (8):
  xen/lzo: Remove more remanants of TMEM
  xen: Remove __{BIG,LITTLE}_ENDIAN_BITFIELD
  xsm/flask: Switch {asm -> xen}/byteorder.h
  xen/common: Switch {asm -> xen}/byteorder.h
  arm: Remove asm/byteorder.h
  ppc: Drop asm/byteorder.h
  riscv: Remove asm/byteorder.h
  x86: Drop asm/byteorder.h

Lin Liu (8):
  xen: Implement common byte{order,swap}.h
  xen/lib: Switch to xen/byteorder.h
  xen/device-tree: Remove use of *_to_cpup() helpers
  xen/decompressors: Remove use of *_to_cpup() helpers
  xen/arch: Switch to new byteorder infrastructure
  xen/decompressors: Use new byteorder infrastructure
  xen: Remove old byteorder infrastructure
  crypto/vmac: Switch to xen/byteswap.h

 .../libs/guest/xg_dom_decompress_unsafe_xz.c  |  13 +-
 .../guest/xg_dom_decompress_unsafe_zstd.c     |   3 +-
 xen/arch/arm/alternative.c                    |   6 +-
 xen/arch/arm/arm64/livepatch.c                |   2 +-
 xen/arch/arm/include/asm/arm32/io.h           |   3 +-
 xen/arch/arm/include/asm/arm64/io.h           |   3 +-
 xen/arch/arm/include/asm/byteorder.h          |  16 --
 xen/arch/arm/kernel.c                         |   2 +-
 xen/arch/arm/vgic/vgic-mmio.c                 |   3 +-
 xen/arch/ppc/include/asm/byteorder.h          |  12 --
 xen/arch/ppc/include/asm/page.h               |   4 +-
 xen/arch/ppc/mm-radix.c                       |   2 +-
 xen/arch/riscv/include/asm/byteorder.h        |  16 --
 xen/arch/riscv/include/asm/io.h               |   3 +-
 xen/arch/x86/include/asm/byteorder.h          |  29 ---
 xen/arch/x86/include/asm/msi.h                |   1 -
 xen/common/bitmap.c                           |   5 +-
 xen/common/device-tree/device-tree.c          |  44 ++---
 xen/common/grant_table.c                      |   4 +-
 xen/common/libelf/libelf-private.h            |   9 +-
 xen/common/lz4/defs.h                         |   7 +-
 xen/common/lzo.c                              |  22 ---
 xen/common/unlzo.c                            |   1 -
 xen/common/xz/private.h                       |  13 +-
 xen/crypto/vmac.c                             |  76 +-------
 xen/drivers/char/ehci-dbgp.c                  |   4 +-
 xen/include/xen/bitmap.h                      |   2 +-
 xen/include/xen/byteorder.h                   |  44 +++++
 xen/include/xen/byteorder/big_endian.h        | 102 ----------
 xen/include/xen/byteorder/generic.h           |  68 -------
 xen/include/xen/byteorder/little_endian.h     | 102 ----------
 xen/include/xen/byteorder/swab.h              | 179 ------------------
 xen/include/xen/byteswap.h                    |  15 ++
 xen/include/xen/config.h                      |   6 +
 xen/include/xen/device_tree.h                 |   3 +-
 xen/include/xen/libfdt/libfdt_env.h           |   3 +-
 xen/include/xen/unaligned.h                   |   3 +-
 xen/lib/divmod.c                              |   5 +-
 xen/lib/find-next-bit.c                       |  39 +---
 xen/xsm/flask/ss/avtab.c                      |   4 +-
 xen/xsm/flask/ss/conditional.c                |   9 +-
 xen/xsm/flask/ss/ebitmap.c                    |   9 +-
 xen/xsm/flask/ss/policydb.c                   |   7 +-
 43 files changed, 166 insertions(+), 737 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/byteorder.h
 delete mode 100644 xen/arch/ppc/include/asm/byteorder.h
 delete mode 100644 xen/arch/riscv/include/asm/byteorder.h
 delete mode 100644 xen/arch/x86/include/asm/byteorder.h
 create mode 100644 xen/include/xen/byteorder.h
 delete mode 100644 xen/include/xen/byteorder/big_endian.h
 delete mode 100644 xen/include/xen/byteorder/generic.h
 delete mode 100644 xen/include/xen/byteorder/little_endian.h
 delete mode 100644 xen/include/xen/byteorder/swab.h
 create mode 100644 xen/include/xen/byteswap.h


base-commit: eecb9f437b2c3e2d22d0af93dc6b1f4d978313a7
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930660.1333243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0l-0005N7-Qc; Fri, 28 Mar 2025 13:44:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930660.1333243; Fri, 28 Mar 2025 13: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 1tyA0l-0005Lk-MU; Fri, 28 Mar 2025 13:44:39 +0000
Received: by outflank-mailman (input) for mailman id 930660;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0k-0005Dp-5i
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:38 +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 ca3bd7d6-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:37 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43d04ea9d9aso9910575e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:37 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: ca3bd7d6-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169476; x=1743774276; 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=SnmFGZh2rWbEy7OVP//9VnfXl8YcAR4cPveLI05OgG8=;
        b=oukTryhz2N+E26GnKvoZohLGKQk4H74xRzqqk6pQpGilyQNFAOC5X9hw1+0sQWwXrI
         FILXX1zcpnXtDy1uOBBXnFI3XqfkfNNIL+xReQ/FeaJkv6Iq02Oj7RdYVDtXWlChiIJH
         GReTGxJ/+FPXC8b7s1TLRL7Ys+sJkfdn51KQY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169476; x=1743774276;
        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=SnmFGZh2rWbEy7OVP//9VnfXl8YcAR4cPveLI05OgG8=;
        b=LOr5Pjn8h/ZqCAGP/yOMlmsnrA9Cm+uIzuaCAXUPXeyTzmPmciwI85U3KXNR77WGb0
         wDJ2/ZtZ6NKv1CkUB9SoXLJDBOYOESiPf7zpQ8jxIE9IOCnEutuFB64NLHaCAXoXANd1
         T5zsszfr4k6n124xMlNQrq7D7rgSP/Nba7QlkjnjRNq9go8u+2PfhKPw6jQi/TBJPq58
         vYxagrs6Lh1vOz31xfByORBf7uOfGOQHipUCnd0UtDSvqlpoDyE2W7UH/QcbqUZ1I/vt
         nkU/8OuxJUeG6IvTx3XC2s/7V6qGVWC6TkltA63/fnGxw6LMGCHjp95pX6S+UkfRQsS7
         PtdA==
X-Gm-Message-State: AOJu0YxsxDNXDkxEsd/SGJXxyMF9pScpWG4AlPH3HcQOmr2U4BLT0b5d
	dmJbJOxbefjlguaUN4wrVNL3GwXXzDOnCqb91wtjJL56YfdEGXjKzdQ7TjJveLU3ojspeB8bNCN
	qJN8=
X-Gm-Gg: ASbGncuE5M4+HR3WusOlM2qNE4Dpm7+P5q2WmiiFdTFr47DeT5ii9gxKCEuQUrylD+/
	VNH9no4Rph1kb7Ha00unjmxD2FT+cnCjYAMXy0/oQmj9m7bI6R0b5mZM2AuBlxw9sa7WgR7E2LW
	3zrz2o7dRT+zlyllkmMlnxiBMW5TSpYA9DdYx/sp2z6L+ngbedp/yWyjMZYLfq1pHx7yQIww8jZ
	L46ewDKrU53rpVsVCab/SAbqTWolWQ8bsNMXdOGjU+geDJEv0ZhTfuoML3hvmnRRVh36dTJ10+9
	8Xejk2oZb8YOTeumv1x+CnuRyRJ2OIgXbgh5waFKKXect9qoeoZtOy6W4+A2Syd2MPXtgEbtJhv
	CB9j3K2CfBHRd3GFWng==
X-Google-Smtp-Source: AGHT+IG0L24lXhaREFMHxWE7TkKiPdJJLa25T1zFmm+87C1wfPYQvQrBSAHNDtw8hOILYL/dRPC8wg==
X-Received: by 2002:a05:600c:1388:b0:43d:b3:fb1 with SMTP id 5b1f17b1804b1-43d8528c38cmr53745725e9.27.1743169476335;
        Fri, 28 Mar 2025 06:44:36 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 03/16] xen: Implement common byte{order,swap}.h
Date: Fri, 28 Mar 2025 13:44:14 +0000
Message-Id: <20250328134427.874848-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

The current swab??() infrastructure is unecesserily complicated, and can be
repated entirely with compiler builtins.

All supported compilers provide __BYTE_ORDER__ and __builtin_bswap??().

Nothing in Xen cares about the values of __{BIG,LITTLE}_ENDIAN; just that one
of them is defined.  Therefore, centralise their definitions in xen/config.h

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * Rebase substantially
 * Drop PASTE().  It doesn't work when BITS_PER_LONG isn't a plain integer
 * Simplify in light of new toolchain baseline
---
 xen/include/xen/byteorder.h               | 44 +++++++++++++++++++++++
 xen/include/xen/byteorder/big_endian.h    |  4 ---
 xen/include/xen/byteorder/little_endian.h |  4 ---
 xen/include/xen/byteswap.h                | 15 ++++++++
 xen/include/xen/config.h                  |  6 ++++
 5 files changed, 65 insertions(+), 8 deletions(-)
 create mode 100644 xen/include/xen/byteorder.h
 create mode 100644 xen/include/xen/byteswap.h

diff --git a/xen/include/xen/byteorder.h b/xen/include/xen/byteorder.h
new file mode 100644
index 000000000000..570a7fe027e5
--- /dev/null
+++ b/xen/include/xen/byteorder.h
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef XEN_BYTEORDER_H
+#define XEN_BYTEORDER_H
+
+#include <xen/byteswap.h>
+#include <xen/types.h>
+
+#if defined(__LITTLE_ENDIAN)
+
+# define cpu_to_le64(x) (uint64_t)(x)
+# define le64_to_cpu(x) (uint64_t)(x)
+# define cpu_to_le32(x) (uint32_t)(x)
+# define le32_to_cpu(x) (uint32_t)(x)
+# define cpu_to_le16(x) (uint16_t)(x)
+# define le16_to_cpu(x) (uint16_t)(x)
+
+# define cpu_to_be64(x) bswap64(x)
+# define be64_to_cpu(x) bswap64(x)
+# define cpu_to_be32(x) bswap32(x)
+# define be32_to_cpu(x) bswap32(x)
+# define cpu_to_be16(x) bswap16(x)
+# define be16_to_cpu(x) bswap16(x)
+
+#elif defined(__BIG_ENDIAN)
+
+# define cpu_to_le64(x) bswap64(x)
+# define le64_to_cpu(x) bswap64(x)
+# define cpu_to_le32(x) bswap32(x)
+# define le32_to_cpu(x) bswap32(x)
+# define cpu_to_le16(x) bswap16(x)
+# define le16_to_cpu(x) bswap16(x)
+
+# define cpu_to_be64(x) (uint64_t)(x)
+# define be64_to_cpu(x) (uint64_t)(x)
+# define cpu_to_be32(x) (uint32_t)(x)
+# define be32_to_cpu(x) (uint32_t)(x)
+# define cpu_to_be16(x) (uint16_t)(x)
+# define be16_to_cpu(x) (uint16_t)(x)
+
+#else
+# error Unknown Endianness
+#endif /* __*_ENDIAN */
+
+#endif /* XEN_BYTEORDER_H */
diff --git a/xen/include/xen/byteorder/big_endian.h b/xen/include/xen/byteorder/big_endian.h
index 9cfb567d51d5..512291c76f1b 100644
--- a/xen/include/xen/byteorder/big_endian.h
+++ b/xen/include/xen/byteorder/big_endian.h
@@ -1,10 +1,6 @@
 #ifndef __XEN_BYTEORDER_BIG_ENDIAN_H__
 #define __XEN_BYTEORDER_BIG_ENDIAN_H__
 
-#ifndef __BIG_ENDIAN
-#define __BIG_ENDIAN 4321
-#endif
-
 #include <xen/types.h>
 #include <xen/byteorder/swab.h>
 
diff --git a/xen/include/xen/byteorder/little_endian.h b/xen/include/xen/byteorder/little_endian.h
index 96c80eab2b12..bd1afc6a67c3 100644
--- a/xen/include/xen/byteorder/little_endian.h
+++ b/xen/include/xen/byteorder/little_endian.h
@@ -1,10 +1,6 @@
 #ifndef __XEN_BYTEORDER_LITTLE_ENDIAN_H__
 #define __XEN_BYTEORDER_LITTLE_ENDIAN_H__
 
-#ifndef __LITTLE_ENDIAN
-#define __LITTLE_ENDIAN 1234
-#endif
-
 #include <xen/types.h>
 #include <xen/byteorder/swab.h>
 
diff --git a/xen/include/xen/byteswap.h b/xen/include/xen/byteswap.h
new file mode 100644
index 000000000000..46d93f88eac9
--- /dev/null
+++ b/xen/include/xen/byteswap.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef XEN_BYTESWAP_H
+#define XEN_BYTESWAP_H
+
+#define bswap16(x) __builtin_bswap16(x)
+#define bswap32(x) __builtin_bswap32(x)
+#define bswap64(x) __builtin_bswap64(x)
+
+#if BITS_PER_LONG == 64
+# define bswapl(x) bswap64(x)
+#elif BITS_PER_LONG == 32
+# define bswapl(x) bswap32(x)
+#endif
+
+#endif /* XEN_BYTESWAP_H */
diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d888b2314daf..6815a0ef0c1a 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -98,4 +98,10 @@
 #define ZERO_BLOCK_PTR ((void *)-1L)
 #endif
 
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+# define __LITTLE_ENDIAN
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+# define __BIG_ENDIAN
+#endif
+
 #endif /* __XEN_CONFIG_H__ */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930668.1333326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0t-0007U9-D3; Fri, 28 Mar 2025 13:44:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930668.1333326; Fri, 28 Mar 2025 13:44: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 1tyA0t-0007TE-0y; Fri, 28 Mar 2025 13:44:47 +0000
Received: by outflank-mailman (input) for mailman id 930668;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0q-0005Dp-Su
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:44 +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 ce7d7fcc-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:44 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3914bc3e01aso1267620f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:44 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: ce7d7fcc-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169484; x=1743774284; 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=3cQlbXBh+jcctTBYJ/pIz+f4SLnRiEo7nbWjXEuys/8=;
        b=FKNP22lmX5m2JJvtWLouYNOcz0bESBZ/pR10+FaQLTzStmVgDjqq/RLGeHCHM6DDV5
         kPcpx6xa4TF7U2z4Q/Hu7G7ffUcLMnpaCN3vB3llqkpOjAE2RZNXa139NDeiaKEFf9Ta
         BSeq44pZYn0ePvwm3gU58BawUrxtL9jInlnCQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169484; x=1743774284;
        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=3cQlbXBh+jcctTBYJ/pIz+f4SLnRiEo7nbWjXEuys/8=;
        b=WB1M76qlOJy29NrMBnGUtUUGXhqK224RJFz6vqrQTjQlVJmdvHJ2wySw9r3ZPC0Ltm
         hXufForckHXlpPYAPVAdIwaFJFp/KKhtz3qLiiyntumaUHvN7dP5x47lTn/xlJgWmXEl
         mNV5i/3VyNaEiySABOyUmU1pF9yb0gJjPGGuvVPnMJpvl8Iv8VbQwlVOL09Cp860Ltje
         kcC3dNfoRhJzJEPmOgXypU4OIu483oB+2VPNyMIR6hGQbOsXWbcoCQ0DDvU3/MgumsTr
         JCdvpQd/SSvgb/342rOxAxd+HNGp/SuSfXWbixEYbMVGVQEp/znsnsAR/p9IAragvU0s
         Nx7Q==
X-Gm-Message-State: AOJu0Yy1je+ttiT8VMLZj0b9HtuDRKV0dIJtr11bAF7L3OboOhJB8ebE
	g2KJ/JptTwMxnD5boN5SuB12l957PQldDrL5m/6lH5Hre1BP9T8+S44C/JOqknwm+bisFAfKo3X
	q7ig=
X-Gm-Gg: ASbGncu0JXMUQZmuNWeMoB7opxx/oNkOuyoyfOcDzbuolCJJsHPtOHFVMcD81Zf5W8o
	VxhLGrhRopOxRq7xhc0CTHWAahu+TfDrdWaiMpavvUVGdQ7BQoRLOnKUhvT/7Adw38nZI8tlSqg
	OIOn0DB6lUMZMFA3SSu2KK4fCL/hApZFsboipBJy7XTECbx/d29vUa/SDHeXdsRzZ/WkcH1S9ZK
	WxGWxBmzt1svSIDLow9xLZq8WG6rPfGpzlYHg9hV5JLh4StKw6fh8kb8JFUScK18xpp8dPnAvf4
	hcSFYdE6mipSn5glgDZVU5M4cej3TQ1lHGjA5BN8N7mT1qTLfa1m8VIIpjMCeJhC2uopJ2CWchh
	Fae+jL1nkbejcGt44Iw==
X-Google-Smtp-Source: AGHT+IHfBwU8lMEk844l2Bqv78P9pWpma6JZFdTv9M1m1XCQNrVjdpdQ4irRXoe4H6et0ztnnkknCw==
X-Received: by 2002:a5d:6dad:0:b0:391:40b8:e890 with SMTP id ffacd0b85a97d-39ad174b7e9mr6983573f8f.22.1743169483561;
        Fri, 28 Mar 2025 06:44:43 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@citrix.com>,
	Jan Beulich <jbeulich@suse.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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v5 10/16] crypto/vmac: Switch to xen/byteswap.h
Date: Fri, 28 Mar 2025 13:44:21 +0000
Message-Id: <20250328134427.874848-11-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lin Liu <lin.liu@citrix.com>

This file has its own implementation of swap bytes. Clean up
the code with xen/byteswap.h.

No functional change.

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>
---
 xen/crypto/vmac.c | 76 ++---------------------------------------------
 1 file changed, 3 insertions(+), 73 deletions(-)

diff --git a/xen/crypto/vmac.c b/xen/crypto/vmac.c
index 294dd16a52cb..acb4e015f511 100644
--- a/xen/crypto/vmac.c
+++ b/xen/crypto/vmac.c
@@ -8,6 +8,7 @@
 
 /* start for Xen */
 #include <xen/init.h>
+#include <xen/byteswap.h>
 #include <xen/types.h>
 #include <xen/lib.h>
 #include <crypto/vmac.h>
@@ -50,7 +51,6 @@ const uint64_t mpoly = UINT64_C(0x1fffffff1fffffff);  /* Poly key mask     */
  * MUL64: 64x64->128-bit multiplication
  * PMUL64: assumes top bits cleared on inputs
  * ADD128: 128x128->128-bit addition
- * GET_REVERSED_64: load and byte-reverse 64-bit word  
  * ----------------------------------------------------------------------- */
 
 /* ----------------------------------------------------------------------- */
@@ -68,22 +68,6 @@ const uint64_t mpoly = UINT64_C(0x1fffffff1fffffff);  /* Poly key mask     */
 
 #define PMUL64 MUL64
 
-#define GET_REVERSED_64(p)                                                \
-    ({uint64_t x;                                                         \
-     asm ("bswapq %0" : "=r" (x) : "0"(*(uint64_t *)(p))); x;})
-
-/* ----------------------------------------------------------------------- */
-#elif (__GNUC__ && __i386__)
-/* ----------------------------------------------------------------------- */
-
-#define GET_REVERSED_64(p)                                                \
-    ({ uint64_t x;                                                        \
-    uint32_t *tp = (uint32_t *)(p);                                       \
-    asm  ("bswap %%edx\n\t"                                               \
-          "bswap %%eax"                                                   \
-    : "=A"(x)                                                             \
-    : "a"(tp[1]), "d"(tp[0]));                                            \
-    x; })
 
 /* ----------------------------------------------------------------------- */
 #elif (__GNUC__ && __ppc64__)
@@ -103,37 +87,6 @@ const uint64_t mpoly = UINT64_C(0x1fffffff1fffffff);  /* Poly key mask     */
 
 #define PMUL64 MUL64
 
-#define GET_REVERSED_64(p)                                                \
-    ({ uint32_t hi, lo, *_p = (uint32_t *)(p);                            \
-       asm volatile ("lwbrx %0, %1, %2" : "=r"(lo) : "b%"(0), "r"(_p) );  \
-       asm volatile ("lwbrx %0, %1, %2" : "=r"(hi) : "b%"(4), "r"(_p) );  \
-       ((uint64_t)hi << 32) | (uint64_t)lo; } )
-
-/* ----------------------------------------------------------------------- */
-#elif (__GNUC__ && (__ppc__ || __PPC__))
-/* ----------------------------------------------------------------------- */
-
-#define GET_REVERSED_64(p)                                                \
-    ({ uint32_t hi, lo, *_p = (uint32_t *)(p);                            \
-       asm volatile ("lwbrx %0, %1, %2" : "=r"(lo) : "b%"(0), "r"(_p) );  \
-       asm volatile ("lwbrx %0, %1, %2" : "=r"(hi) : "b%"(4), "r"(_p) );  \
-       ((uint64_t)hi << 32) | (uint64_t)lo; } )
-
-/* ----------------------------------------------------------------------- */
-#elif (__GNUC__ && (__ARMEL__ || __ARM__))
-/* ----------------------------------------------------------------------- */
-
-#define bswap32(v)                                                        \
-({ uint32_t tmp,out;                                                      \
-    asm volatile(                                                         \
-        "eor    %1, %2, %2, ror #16\n"                                    \
-        "bic    %1, %1, #0x00ff0000\n"                                    \
-        "mov    %0, %2, ror #8\n"                                         \
-        "eor    %0, %0, %1, lsr #8"                                       \
-    : "=r" (out), "=&r" (tmp)                                             \
-    : "r" (v));                                                           \
-    out;})
-
 /* ----------------------------------------------------------------------- */
 #elif _MSC_VER
 /* ----------------------------------------------------------------------- */
@@ -154,11 +107,6 @@ const uint64_t mpoly = UINT64_C(0x1fffffff1fffffff);  /* Poly key mask     */
         (rh) += (ih) + ((rl) < (_il));                               \
     }
 
-#if _MSC_VER >= 1300
-#define GET_REVERSED_64(p) _byteswap_uint64(*(uint64_t *)(p))
-#pragma intrinsic(_byteswap_uint64)
-#endif
-
 #if _MSC_VER >= 1400 && \
     (!defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1000)
 #define MUL32(i1,i2)    (__emulu((uint32_t)(i1),(uint32_t)(i2)))
@@ -219,24 +167,6 @@ const uint64_t mpoly = UINT64_C(0x1fffffff1fffffff);  /* Poly key mask     */
     }
 #endif
 
-#ifndef GET_REVERSED_64
-#ifndef bswap64
-#ifndef bswap32
-#define bswap32(x)                                                        \
-  ({ uint32_t bsx = (x);                                                  \
-      ((((bsx) & 0xff000000u) >> 24) | (((bsx) & 0x00ff0000u) >>  8) |    \
-       (((bsx) & 0x0000ff00u) <<  8) | (((bsx) & 0x000000ffu) << 24)); })
-#endif
-#define bswap64(x)                                                        \
-     ({ union { uint64_t ll; uint32_t l[2]; } w, r;                       \
-         w.ll = (x);                                                      \
-         r.l[0] = bswap32 (w.l[1]);                                       \
-         r.l[1] = bswap32 (w.l[0]);                                       \
-         r.ll; })
-#endif
-#define GET_REVERSED_64(p) bswap64(*(uint64_t *)(p)) 
-#endif
-
 /* ----------------------------------------------------------------------- */
 
 #if (VMAC_PREFER_BIG_ENDIAN)
@@ -247,9 +177,9 @@ const uint64_t mpoly = UINT64_C(0x1fffffff1fffffff);  /* Poly key mask     */
 
 #if (VMAC_ARCH_BIG_ENDIAN)
 #  define get64BE(ptr) (*(uint64_t *)(ptr))
-#  define get64LE(ptr) GET_REVERSED_64(ptr)
+#  define get64LE(ptr) bswap64(*(uint64_t *)(ptr))
 #else /* assume little-endian */
-#  define get64BE(ptr) GET_REVERSED_64(ptr)
+#  define get64BE(ptr) bswap64(*(uint64_t *)(ptr))
 #  define get64LE(ptr) (*(uint64_t *)(ptr))
 #endif
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930673.1333342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0v-000846-Hh; Fri, 28 Mar 2025 13:44:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930673.1333342; Fri, 28 Mar 2025 13:44: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 1tyA0v-00083a-EL; Fri, 28 Mar 2025 13:44:49 +0000
Received: by outflank-mailman (input) for mailman id 930673;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0t-0005Dj-Sm
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:47 +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 cf120adf-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:45 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-391342fc1f6so1826734f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:45 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: cf120adf-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169485; x=1743774285; 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=BmZBy1HYwNbyvSgffQY0Av0rirqEVUXWQRNDyNJH/e8=;
        b=F+Q96Pz1YmVX7Z0eekUa67dddfXAaU3KT6aOr3p30LF3oiOPMjquX+kKs7nPcc/vVw
         SCmLigcmYzRokknBIeeEsljcDgLiIMMERynFnZje3lvJ/GEeqZhjW+qCgKqEA222wWma
         lPl/SJsUvXFeC4sXhciGk0RVj5Y9Z0DvVAAaE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169485; x=1743774285;
        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=BmZBy1HYwNbyvSgffQY0Av0rirqEVUXWQRNDyNJH/e8=;
        b=fMbyQxCO6G97CnkmDKJ7uG+9j5MpsM9Ki9otwGrSLBK4llHnjBNBnVduT29Zwqwbbs
         6J7+Y2YwlxMishm1cmXqJ2jDuCgPRjRdrN+S4wT6eq/1Y+sY9nq+QFVD48W36NCsGM7t
         Ej9r8V/7hW+GcIJPYXx9Fcono4Dg8gbJwFQvTtgoMB7OKP2pTiIb1/LvrTkpcE5A/Rzp
         XC+dN3s2OkXCqyGYn2UNK+KEd8vJtFh11mpGDyKteQRxn0oVBxwPzlq20u3uzsy/wVQS
         6GQcHaJbo7aAzOaZuKmsyU10k2u51Qi8mm80UkkU76cvJtRxqnmhbAO+3VtXLVc7TEbz
         706A==
X-Gm-Message-State: AOJu0Yy2eJ+9IH6mTdWi91UTf3LazuUMQOdvzsR65zYWkVnDoOGRL3RD
	Z1pumbyq1TqeZj7k1o7Vm/kvOuuKqqa0+HL8SCUOIbArTD/3nJQq9Ws9Zybz/bRi51319lK6F3s
	swno=
X-Gm-Gg: ASbGnctkFgskKwLnUfoZ+uE4sl+87gDhpT6v0luEPj8NYiYjpKc6ZNY8JZnvkIUGCZb
	WwoDysp4UDtYBBaGhr9MqMmWULAfSiMDFjCWn9iD3XjHEOCH1DWamRwHZlrL98lpUDQGceaOaaK
	MQNoBEuZPobGJL3E+MS1ru5F6eKMKR6vsKGe+T9kzhq3iHzFCS15kXq7VmAYOZvJZsSn7kpsEBV
	Wj2/rghFUZaQBE6qgdTUAGYDp3JwXCEI7pyWGTCTIPANlyRtPJ/wzWTGMu67LwfhzGNjZVs+4PR
	X8Vr3kGz4ZXIc6unIphWz+MS0LaNYRAcN/N045+ThiMd+sExw+ziT7mlyAKUpmc5geGYyyPQslo
	KVtgr4pccjstwOKfpLA==
X-Google-Smtp-Source: AGHT+IFUWweznwg116NpoWFi+yvyz0sRMtpeqzErO3aq4nIcbQSzH//8/f9PCMAH0h7dBSDzXA3q8g==
X-Received: by 2002:a5d:64ef:0:b0:38d:e584:81ea with SMTP id ffacd0b85a97d-39ad17606d5mr7016727f8f.45.1743169484563;
        Fri, 28 Mar 2025 06:44: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>,
	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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 11/16] xsm/flask: Switch {asm -> xen}/byteorder.h
Date: Fri, 28 Mar 2025 13:44:22 +0000
Message-Id: <20250328134427.874848-12-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Sort the includes while at it.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * New
---
 xen/xsm/flask/ss/avtab.c       | 4 ++--
 xen/xsm/flask/ss/conditional.c | 9 ++++-----
 xen/xsm/flask/ss/ebitmap.c     | 9 ++++-----
 xen/xsm/flask/ss/policydb.c    | 7 +++----
 4 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/xen/xsm/flask/ss/avtab.c b/xen/xsm/flask/ss/avtab.c
index 9761d028d82d..2d07917e79e5 100644
--- a/xen/xsm/flask/ss/avtab.c
+++ b/xen/xsm/flask/ss/avtab.c
@@ -19,11 +19,11 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
+#include <xen/byteorder.h>
+#include <xen/errno.h>
 #include <xen/lib.h>
-#include <asm/byteorder.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
-#include <xen/errno.h>
 
 #include "avtab.h"
 #include "policydb.h"
diff --git a/xen/xsm/flask/ss/conditional.c b/xen/xsm/flask/ss/conditional.c
index d314f772b405..a0d255596204 100644
--- a/xen/xsm/flask/ss/conditional.c
+++ b/xen/xsm/flask/ss/conditional.c
@@ -9,15 +9,14 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <xen/lib.h>
-#include <xen/types.h>
+#include <xen/byteorder.h>
 #include <xen/errno.h>
-#include <xen/string.h>
+#include <xen/lib.h>
 #include <xen/spinlock.h>
+#include <xen/string.h>
+#include <xen/types.h>
 #include <xen/xmalloc.h>
 
-#include <asm/byteorder.h>
-
 #include "security.h"
 #include "conditional.h"
 
diff --git a/xen/xsm/flask/ss/ebitmap.c b/xen/xsm/flask/ss/ebitmap.c
index 1db69d9ad1bd..1ced81ea0287 100644
--- a/xen/xsm/flask/ss/ebitmap.c
+++ b/xen/xsm/flask/ss/ebitmap.c
@@ -10,13 +10,12 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
-#include <xen/lib.h>
-#include <xen/xmalloc.h>
+#include <xen/bitmap.h>
+#include <xen/byteorder.h>
 #include <xen/errno.h>
+#include <xen/lib.h>
 #include <xen/spinlock.h>
-#include <xen/bitmap.h>
-
-#include <asm/byteorder.h>
+#include <xen/xmalloc.h>
 
 #include "ebitmap.h"
 #include "policydb.h"
diff --git a/xen/xsm/flask/ss/policydb.c b/xen/xsm/flask/ss/policydb.c
index 5af45fdc2783..165304c1331c 100644
--- a/xen/xsm/flask/ss/policydb.c
+++ b/xen/xsm/flask/ss/policydb.c
@@ -22,13 +22,12 @@
 
 /* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */
 
+#include <xen/byteorder.h>
+#include <xen/errno.h>
 #include <xen/lib.h>
+#include <xen/string.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
-#include <xen/string.h>
-#include <xen/errno.h>
-
-#include <asm/byteorder.h>
 
 #include <conditional.h>
 #include "security.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930674.1333349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0w-00089l-BB; Fri, 28 Mar 2025 13:44:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930674.1333349; Fri, 28 Mar 2025 13:44: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 1tyA0v-00088S-Tv; Fri, 28 Mar 2025 13:44:49 +0000
Received: by outflank-mailman (input) for mailman id 930674;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0t-0005Dp-VE
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:47 +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 cfabb72b-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:46 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39129fc51f8so1577889f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:46 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: cfabb72b-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169486; x=1743774286; 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=YPiphnUaO7ugL9sM7Fivw+OCXGn6oQ+TuuGwtrqgEik=;
        b=WXcOrQFZpy4MQo4bk+bL7Ts+DpmuFbK4OUuHFl9eX9Yg1nT4cohfuz3dqCbPSk6/x5
         h8gHIB2mgzbr3NNQx8vnSCHeZXHdjBcHj9y6KVRgfzIjrF4pnKemFX4DMnwWrCgPnZdw
         1lmAINTyMFE9F8KMZ1JRrwb6GnGou1syl3wQs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169486; x=1743774286;
        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=YPiphnUaO7ugL9sM7Fivw+OCXGn6oQ+TuuGwtrqgEik=;
        b=xCgslDTE5sKDxSJvfqcUSOIapsvikPalVoM8RmwhpkZZKdEwRedgL+z3/nka/O8nen
         EcGju3X16g8tYpjTDBQlqJahW69/v2lOqgmXTc3orbOiLW7V1CVDjYSjyKGx12XibDzr
         iGSgkKYUh8lqsS66tUnz2LLw6L4nzV4ugDhRCwOp8y7uTS6o7uOqFNUEyy6UAI3O90fc
         NniIfWNzUw/rWszLEis+eXTb83GA6sATZZpHn4BAP3aCjNKJvHQajyrxebA78MMH2iDp
         R+4ggqI+wWfw61izBWnvBLfRkaKKP29NYsHSH2KjbzKZQP8qPMmV1nzfnL+UNmUgLPZQ
         Mh1g==
X-Gm-Message-State: AOJu0YwneMs19WW3aWItEsrBfzIATLs5Trc5d0mibf2B8a/QOKV8eUpw
	q743LrBOLDfFVsaaYoY/m0MFBqPfnsVuko96K59WPofHFrWZTLi/cGc2uySDaNdtpODvhelHmKw
	++sQ=
X-Gm-Gg: ASbGncsHdHicOo6Nk40DkHp13HjPC3Dg9CMo9wfHx6+espRv5G4stl/QfwIFtUAVg+t
	22E4AuuAHGBhCw8ZAAm1/3R217ZX9DvPNS0HpHbEM8PjaO3WgEuRqX0Mx9ay64BqoZ1sw7ZmO8d
	F7t/pOTq8idhcmafPWrHEeZvywxgsdbiPgLJnMJBpiYHMYJ7bQfqSvWRPTOLePFhbGXSOE7/ChZ
	Bm2W8cjKfwGu1msDZPvv6veq25ZnWQYhHhITi/B5CZpdrg5I1cYCuzT9lWZTV1wfbOuxzRZ6+eY
	jHiu2+O19hNeGoUSYxPvCTdJjtgpDBkX7k1xg7tyPTpDKXXaIFRa1beoNiQX3hITDTUEtbr8okp
	bNZ/jkY1pu9DbihBLhA==
X-Google-Smtp-Source: AGHT+IHB7XUpDqHtiaz95nxliZmnFd4VtG0oJAk+yY+CAy7MT4jnzocP1fTBggA3PBjVFpoV21XUfQ==
X-Received: by 2002:a5d:47ac:0:b0:38d:d371:e04d with SMTP id ffacd0b85a97d-39ad175c0cfmr6503103f8f.34.1743169485521;
        Fri, 28 Mar 2025 06:44: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>,
	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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 12/16] xen/common: Switch {asm -> xen}/byteorder.h
Date: Fri, 28 Mar 2025 13:44:23 +0000
Message-Id: <20250328134427.874848-13-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Sort the includes.  Drop useless includes of xen/types.h

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * New
---
 xen/common/bitmap.c                 | 5 ++---
 xen/common/libelf/libelf-private.h  | 3 ++-
 xen/drivers/char/ehci-dbgp.c        | 4 +++-
 xen/include/xen/bitmap.h            | 2 +-
 xen/include/xen/device_tree.h       | 3 ++-
 xen/include/xen/libfdt/libfdt_env.h | 3 +--
 xen/include/xen/unaligned.h         | 3 +--
 7 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index 3da63a32a680..f605c98a02b2 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -5,14 +5,13 @@
  * This source code is licensed under the GNU General Public License,
  * Version 2.  See the file COPYING for more details.
  */
-#include <xen/types.h>
-#include <xen/errno.h>
 #include <xen/bitmap.h>
 #include <xen/bitops.h>
+#include <xen/byteorder.h>
 #include <xen/cpumask.h>
+#include <xen/errno.h>
 #include <xen/guest_access.h>
 #include <xen/lib.h>
-#include <asm/byteorder.h>
 
 /*
  * bitmaps provide an array of bits, implemented using an an
diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 65417dffc8a0..e5c9cc109972 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -17,10 +17,11 @@
 
 #ifdef __XEN__
 
+#include <xen/byteorder.h>
 #include <xen/lib.h>
 #include <xen/libelf.h>
 #include <xen/softirq.h>
-#include <asm/byteorder.h>
+
 #include <public/elfnote.h>
 
 /* we would like to use elf->log_callback but we can't because
diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c
index 1ad3c6bebf87..e9cd59b25463 100644
--- a/xen/drivers/char/ehci-dbgp.c
+++ b/xen/drivers/char/ehci-dbgp.c
@@ -5,15 +5,17 @@
  * Linux; see the Linux source for authorship and copyrights.
  */
 
+#include <xen/byteorder.h>
 #include <xen/console.h>
 #include <xen/delay.h>
 #include <xen/errno.h>
 #include <xen/param.h>
 #include <xen/pci.h>
 #include <xen/serial.h>
-#include <asm/byteorder.h>
+
 #include <asm/io.h>
 #include <asm/fixmap.h>
+
 #include <public/physdev.h>
 
 /* #define DBGP_DEBUG */
diff --git a/xen/include/xen/bitmap.h b/xen/include/xen/bitmap.h
index 4b642cd4207b..b5e9cdd3db86 100644
--- a/xen/include/xen/bitmap.h
+++ b/xen/include/xen/bitmap.h
@@ -230,7 +230,7 @@ static inline unsigned int bitmap_weight(const unsigned long *src,
 	return __bitmap_weight(src, nbits);
 }
 
-#include <asm/byteorder.h>
+#include <xen/byteorder.h>
 
 #ifdef __LITTLE_ENDIAN
 #define BITMAP_MEM_ALIGNMENT 8
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 0ff80fda04da..6dc1fb5159cd 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -10,7 +10,8 @@
 #ifndef __XEN_DEVICE_TREE_H__
 #define __XEN_DEVICE_TREE_H__
 
-#include <asm/byteorder.h>
+#include <xen/byteorder.h>
+
 #include <asm/device.h>
 #include <public/xen.h>
 #include <public/device_tree_defs.h>
diff --git a/xen/include/xen/libfdt/libfdt_env.h b/xen/include/xen/libfdt/libfdt_env.h
index 8368787391b7..04abc6bb68c6 100644
--- a/xen/include/xen/libfdt/libfdt_env.h
+++ b/xen/include/xen/libfdt/libfdt_env.h
@@ -7,9 +7,8 @@
  * Copyright 2012 Kim Phillips, Freescale Semiconductor.
  */
 
-#include <xen/types.h>
+#include <xen/byteorder.h>
 #include <xen/string.h>
-#include <asm/byteorder.h>
 
 #ifdef __CHECKER__
 #define FDT_FORCE __attribute__((force))
diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
index 8c8b08338b8d..e64813ab4b20 100644
--- a/xen/include/xen/unaligned.h
+++ b/xen/include/xen/unaligned.h
@@ -3,8 +3,7 @@
 #define __XEN_UNALIGNED_H__
 
 #ifdef __XEN__
-#include <xen/types.h>
-#include <asm/byteorder.h>
+#include <xen/byteorder.h>
 #endif
 
 /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:44:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930675.1333352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA0w-0008EP-RG; Fri, 28 Mar 2025 13:44:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930675.1333352; Fri, 28 Mar 2025 13:44: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 1tyA0w-0008DN-CG; Fri, 28 Mar 2025 13:44:50 +0000
Received: by outflank-mailman (input) for mailman id 930675;
 Fri, 28 Mar 2025 13:44: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0u-0005Dp-VT
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:48 +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 d03d945b-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:47 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3914a5def6bso1165808f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:47 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: d03d945b-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169486; x=1743774286; 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=Ndy0JOtlK/bC2KJaj8i9qdYW+j1KeU0OftG9F4DlSoM=;
        b=Jg3jnfNuv7NeEnD+o5BITmYdbPH0xSFgDOuuHWlSb9PhhDr25Lm/KWtz14JM2zw3fO
         3zGGfLcJhJyH4N23uEUXtx+cHeFcQpRQeWuQw2KQizAmx/9L07m3WoUMSPnWfOfB4HA6
         yJ5U3RdSnxwTc3AvPbZekyEuKq4q1c1xf+xcU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169486; x=1743774286;
        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=Ndy0JOtlK/bC2KJaj8i9qdYW+j1KeU0OftG9F4DlSoM=;
        b=G+T6i2KCPO8KsLd5DVZIXpy34VQV3yHu+BMH7X32KONpMAt8fJKAgVYSvXYIv3FQz/
         k27dJO4W3TQ4y4pnRjDPuUkqAN86dkcp50Oc0QU3WR3VTpO6//E73szeYOmwtgyghYQZ
         JcdUTm4NquJSBX866A2wLI71Hq7/Hv6x0VTFODR1tm+R0E7EuphXpACBJrtCUHvvBCzE
         GJHbLg3V0D+8kkoPigP3l6pL9JUi7DrNzPKXlVr2p9exUYhnGJq92QvGg98zlV85dusH
         X0Ftm576COAvQuZ6SpTa3lZ6oObW/JNtoofqjjqgFc/LpVrw6WFuAA7eH4tGkk08v/D5
         tpoQ==
X-Gm-Message-State: AOJu0YzlPQPzw7/riQt/i4RSEG/nrzbIJFSaguIGLsnMLB8KNXNDO/ow
	DpTrDHN7u0M5XnOuC8h5L3dXds2laYalYb8O9VCc8iaskZErcWqBjnQbeXDzXLUXjl5ga99SGLR
	gduc=
X-Gm-Gg: ASbGnctzW2ZlGRCdlAqVlWdNUBJvj8Hbe9BU0XEiiitWtOLQQLIaDcroaAFUySIB3MH
	IqUj4HIi/XGRLHL+dD4KQ0yQUJznrxf45qeMu15ztnrdNrMX9jb+oBOu178MqB650Txj5S90K14
	Yfu4NGgXQ9biw5fE3RnbeOb1UvIhE7J3p/5oo68PhqFTbSct4oJSYhsikKhzUBkt6FnmImmERBH
	P9cq67uSRX1WtAQFdTA66rtkqSo9UNLirpyM1G4XCSWcfzHIStjp9c/htAY+Ggxol0cjBmVm7zP
	xDXUV+KUP78tgHjg7ld/Ypb0AY6UER585vugrYY7ktl/9vPq2Wwa3XrgCd0SgxWn1W8By9kpHmO
	k1qkE1Em+t0eN4kb77bLw4wSLTM7+
X-Google-Smtp-Source: AGHT+IEZCb8zah9M+EwsxZJjuqRbSRKz3ql1yONsqA24plQVJp2eXkMTTqoezHlITccAeP0+Ht90FQ==
X-Received: by 2002:a05:6000:2d10:b0:39a:d336:16 with SMTP id ffacd0b85a97d-39ad33600edmr3783728f8f.34.1743169486526;
        Fri, 28 Mar 2025 06:44: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>,
	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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 13/16] arm: Remove asm/byteorder.h
Date: Fri, 28 Mar 2025 13:44:24 +0000
Message-Id: <20250328134427.874848-14-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With the common code moved fully onto xen/byteorder.h, clean up the dregs.

Sort includes in some files while swapping over to xen/byteorder.h.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * New
---
 xen/arch/arm/alternative.c           |  6 +++---
 xen/arch/arm/arm64/livepatch.c       |  2 +-
 xen/arch/arm/include/asm/arm32/io.h  |  3 ++-
 xen/arch/arm/include/asm/arm64/io.h  |  3 ++-
 xen/arch/arm/include/asm/byteorder.h | 14 --------------
 xen/arch/arm/kernel.c                |  2 +-
 xen/arch/arm/vgic/vgic-mmio.c        |  3 ++-
 7 files changed, 11 insertions(+), 22 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/byteorder.h

diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
index 2c1af6e7e426..adb9b7d8814b 100644
--- a/xen/arch/arm/alternative.c
+++ b/xen/arch/arm/alternative.c
@@ -6,18 +6,18 @@
  * Copyright (C) 2014-2016 ARM Ltd.
  */
 
+#include <xen/byteorder.h>
 #include <xen/init.h>
-#include <xen/types.h>
 #include <xen/kernel.h>
 #include <xen/llc-coloring.h>
 #include <xen/mm.h>
-#include <xen/vmap.h>
 #include <xen/smp.h>
 #include <xen/stop_machine.h>
 #include <xen/virtual_region.h>
+#include <xen/vmap.h>
+
 #include <asm/alternative.h>
 #include <asm/atomic.h>
-#include <asm/byteorder.h>
 #include <asm/cpufeature.h>
 #include <asm/insn.h>
 #include <asm/page.h>
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index 6efe4ec770d4..e135bd5bf99a 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -3,6 +3,7 @@
  */
 
 #include <xen/bitops.h>
+#include <xen/byteorder.h>
 #include <xen/errno.h>
 #include <xen/lib.h>
 #include <xen/livepatch_elf.h>
@@ -11,7 +12,6 @@
 #include <xen/vmap.h>
 
 #include <asm/bitops.h>
-#include <asm/byteorder.h>
 #include <asm/insn.h>
 #include <asm/livepatch.h>
 
diff --git a/xen/arch/arm/include/asm/arm32/io.h b/xen/arch/arm/include/asm/arm32/io.h
index 782b564809e3..fb0425e62930 100644
--- a/xen/arch/arm/include/asm/arm32/io.h
+++ b/xen/arch/arm/include/asm/arm32/io.h
@@ -21,8 +21,9 @@
 #ifndef _ARM_ARM32_IO_H
 #define _ARM_ARM32_IO_H
 
+#include <xen/byteorder.h>
+
 #include <asm/system.h>
-#include <asm/byteorder.h>
 
 static inline void __raw_writeb(u8 val, volatile void __iomem *addr)
 {
diff --git a/xen/arch/arm/include/asm/arm64/io.h b/xen/arch/arm/include/asm/arm64/io.h
index 2e2ab24f7838..7d5959877759 100644
--- a/xen/arch/arm/include/asm/arm64/io.h
+++ b/xen/arch/arm/include/asm/arm64/io.h
@@ -20,8 +20,9 @@
 #ifndef _ARM_ARM64_IO_H
 #define _ARM_ARM64_IO_H
 
+#include <xen/byteorder.h>
+
 #include <asm/system.h>
-#include <asm/byteorder.h>
 #include <asm/alternative.h>
 
 /*
diff --git a/xen/arch/arm/include/asm/byteorder.h b/xen/arch/arm/include/asm/byteorder.h
deleted file mode 100644
index 7f1419c45a16..000000000000
--- a/xen/arch/arm/include/asm/byteorder.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef __ASM_ARM_BYTEORDER_H__
-#define __ASM_ARM_BYTEORDER_H__
-
-#include <xen/byteorder.h>
-
-#endif /* __ASM_ARM_BYTEORDER_H__ */
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 6eaf9e2b06b3..2647812e8e3e 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -4,6 +4,7 @@
  *
  * Copyright (C) 2011 Citrix Systems, Inc.
  */
+#include <xen/byteorder.h>
 #include <xen/domain_page.h>
 #include <xen/errno.h>
 #include <xen/guest_access.h>
@@ -15,7 +16,6 @@
 #include <xen/sched.h>
 #include <xen/vmap.h>
 
-#include <asm/byteorder.h>
 #include <asm/kernel.h>
 #include <asm/setup.h>
 
diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
index b4ba34cfc368..d2bcb32cd797 100644
--- a/xen/arch/arm/vgic/vgic-mmio.c
+++ b/xen/arch/arm/vgic/vgic-mmio.c
@@ -14,10 +14,11 @@
 
 #include <xen/bitops.h>
 #include <xen/bsearch.h>
+#include <xen/byteorder.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
+
 #include <asm/new_vgic.h>
-#include <asm/byteorder.h>
 
 #include "vgic.h"
 #include "vgic-mmio.h"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:51:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:51:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930758.1333373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA7d-0005yD-6U; Fri, 28 Mar 2025 13:51:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930758.1333373; Fri, 28 Mar 2025 13:51: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 1tyA7d-0005y6-27; Fri, 28 Mar 2025 13:51:45 +0000
Received: by outflank-mailman (input) for mailman id 930758;
 Fri, 28 Mar 2025 13:51: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA0w-0005Dp-Vu
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:50 +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 d10277bf-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:48 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso23718445e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:48 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: d10277bf-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169488; x=1743774288; 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=z+IilGevx5q9qVo7mZ80r/6WWtDlcFRJKDVvVraWG5E=;
        b=miYAZjSOgopZ7er3mpT1Pb6zFMXz5ecOcXh9ZUJUwf9cUrGoFb3N5lIoB5GxcH1h2T
         yZzkScbOChY3Erd1EAKs5/aJnFHJ+kuQ+3Jbd9yClompx8ZsfdzkGKGU2mghqK4FbZ1A
         mmRMLbuJT/NHV7DtulJt6kXfaySbwsahgOrt8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169488; x=1743774288;
        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=z+IilGevx5q9qVo7mZ80r/6WWtDlcFRJKDVvVraWG5E=;
        b=MeRX0YEZR6jdPPHiHsQf8TXjwYCQ72xXhj+HiGsqhYfTPrl6Rq2hE8ztZQj8oHB1D9
         R3Kh4CwSF216P3CXNJ0PKadqHtjkd0lUm9Q/0ZagVWiLlGj04EcUVN0ExRaA8ZsF9MEO
         yrS39/UmF7Glk5LnnfaAC7gesPQnKd1DduinPYmYJ9Tp8eSXTxS6w9yGiBhJhVSvaDxf
         W1RYHk/6Y9AaZZCiqyI6bUrRqZAyoZfaAlrjI+s+1+vYbHWdi7Z+rQGDH/TSYxhCdfVj
         fVQbYKpA3g14nWbx2pyG0gaAhFzl/q18x51J5ybmYCE6nw94k9hZuYvDcBUwnwvIuUDX
         XJqg==
X-Gm-Message-State: AOJu0YzOVGLMlc80bvo9WM9ODLEG7qKsp6nenGymd95sXY6WEJbsCBOl
	zIyG9htFclkvw9Us/wK3vqGe/XAfHqx48qfX4JE8uOn2Kg0mCYk2yt8MRpcMcTrpDXQYNXa3qd1
	PZ8U=
X-Gm-Gg: ASbGnct7xgD56fYYWldq96+Yhl81f8FFZNFZ9SnyNmfIFZeJltkpgTjQ6BIwvpvCVO6
	I/zYxGfsYpqEJF25fJTkAy3/oJnkJdDwt5+fcXUmBpB0H1v8M20sGvzSl0Xm1sVrB4zMsijo9UT
	ZL2DSMPrqon7nyxez5TKnsV0V2VHkqJKlPp0xI5EO+DtlA6adUhLTEkEzVCziZq3BZtjkZ2K4tf
	cuQC8KNVIB34RG7liZMnyuGnRO8Fat2B/Br2cCWQZpFi8o5HLPeUa05mXS3vGqu0PPXxOqd0sFf
	69unE/STJOrZ8h9Dj6WmutCd1RmQqx9IYLAjm84Zft4fH4+7JbKTJD6eKNXjiJhiGe08ROYd2Uw
	ZgEoRIPhOyKsqlqcg5KseOkyBK5MP
X-Google-Smtp-Source: AGHT+IHx3WBGb8B0p0qC21b3Uv+TnBjigba14tinL+ecURm3/tNn9wT516bmb4QZYSGgnCNW0JuRig==
X-Received: by 2002:a05:600c:444c:b0:43c:ed61:2c26 with SMTP id 5b1f17b1804b1-43d84fb27a7mr70300525e9.17.1743169487737;
        Fri, 28 Mar 2025 06:44: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>,
	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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 14/16] ppc: Drop asm/byteorder.h
Date: Fri, 28 Mar 2025 13:44:25 +0000
Message-Id: <20250328134427.874848-15-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With the common code moved fully onto xen/byteorder.h, clean up the dregs.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * New
---
 xen/arch/ppc/include/asm/byteorder.h | 6 ------
 xen/arch/ppc/include/asm/page.h      | 4 +---
 xen/arch/ppc/mm-radix.c              | 2 +-
 3 files changed, 2 insertions(+), 10 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/byteorder.h

diff --git a/xen/arch/ppc/include/asm/byteorder.h b/xen/arch/ppc/include/asm/byteorder.h
deleted file mode 100644
index 8df6adbf0d7d..000000000000
--- a/xen/arch/ppc/include/asm/byteorder.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _ASM_PPC_BYTEORDER_H
-#define _ASM_PPC_BYTEORDER_H
-
-#include <xen/byteorder.h>
-
-#endif /* _ASM_PPC_BYTEORDER_H */
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/page.h
index 6d4cd2611c2b..c6160afcfdb8 100644
--- a/xen/arch/ppc/include/asm/page.h
+++ b/xen/arch/ppc/include/asm/page.h
@@ -3,9 +3,7 @@
 #define _ASM_PPC_PAGE_H
 
 #include <xen/bitops.h>
-#include <xen/types.h>
-
-#include <asm/byteorder.h>
+#include <xen/byteorder.h>
 
 #define PDE_VALID     PPC_BIT(0)
 #define PDE_NLB_MASK  0x1ffffffffffffe0UL
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 24232f3907aa..9a00ae416af0 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/bitops.h>
+#include <xen/byteorder.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
 #include <xen/mm.h>
@@ -7,7 +8,6 @@
 #include <xen/types.h>
 #include <xen/lib.h>
 
-#include <asm/byteorder.h>
 #include <asm/early_printk.h>
 #include <asm/page.h>
 #include <asm/processor.h>
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:51:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:51:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930762.1333382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA7l-0006Lp-BW; Fri, 28 Mar 2025 13:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930762.1333382; Fri, 28 Mar 2025 13:51: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 1tyA7l-0006Li-8y; Fri, 28 Mar 2025 13:51:53 +0000
Received: by outflank-mailman (input) for mailman id 930762;
 Fri, 28 Mar 2025 13:51: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA10-0005Dj-Tq
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:54 +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 d24769c3-0bda-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 14:44:50 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43d0359b1fcso13827195e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:50 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06: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: d24769c3-0bda-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169490; x=1743774290; 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=nZUHv1N8vC2mMF6eWvDAbxG4QVBLI9VbNCfXt15VpfQ=;
        b=p66dy26dzXdb/XfM8MUYs/aMwxlllqZYYPjH2HUv82xFo+6VLze3WiDIrVgxlZauvm
         O2vye+zfNPiKjD5yIHBPkS5ho9Mpf8uKRaKMfkvmy1eTRg8gN3dIsDx2FA5X98MwbBaa
         6F0OMz0NNs3qOqlqPKOL337EtwtjjYxMLQRgY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169490; x=1743774290;
        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=nZUHv1N8vC2mMF6eWvDAbxG4QVBLI9VbNCfXt15VpfQ=;
        b=UhDRMQfAetTkyN/zLuMkSxuUNdafuJ9vhr2/qI/nB5tFGXvRQCm4b9lSwGedV0j7bt
         NZHkVAaCi4ZePfCsGkradtKFUXf0vNPi5/17d14PP2dsU9INR/5knoOmJVHp7LUzmNzZ
         uyMb4SHc/6l0zk4tiBTDJuLW1IfIXbbujWCB2YNwfnmYTfatIgSmGIWhNORXJBrtliGY
         IrGncHsY9wblOC/jMp0oz+fEiVKMWXTVnnd6ZrMoKDjuul9gQmZYga3zqhZxASxLxoVN
         0NCkYNu0CGEPFgA8F6PZLgejRzxCfXGpF6Cxt4tQR9cDDZZht8YbOednuW/bByo5SlZj
         VbzA==
X-Gm-Message-State: AOJu0Yzh9RRNi7FukezqpZDFtjbcIP8dtIHTIEDVwhMPDKBFYI5zL7iH
	BT8IeJ9TECvyXKY0Doo145Dq1yX9YGXnsJlGa7HOyh99Vp0cnWQeoBNO9NIyrG45+o5+Fnq1vD3
	WPBk=
X-Gm-Gg: ASbGnctBPNHPY4lpVFKfJKOoRsHMBVHgS2Dk9TplAS5mFC2bHc2eTTJDqWu8scbLGgq
	6JNnaUb57xLUk5b6d5XmWMZ3U7tn8N4gSKTt4J6JBas0Jti5OB/xnTxhdjcusAJ1JUfgtqka7pi
	NOY5TmhBBvnu8f5HY3veXDkMLgub1o+sMRmimY83WDC23zKOymA+Ff276xwX7l/9va3hCrRJJEc
	nCu9Im1ai+ht1yTIltx79ZdqRIZUYtzOc3aoe8MWLdMi9YgCfJVUvHDYpi9ctktEPk/x4ojq7kD
	TvszuwKSIn664Fd81jknDB+hqrohr2GoHOBmk9X+jVL3yUX5/Mtmp66NsWKgHpO/Bz/KTm/126D
	qin+Xuukn27MnwPJFRQ==
X-Google-Smtp-Source: AGHT+IHw+QsVzsomMfTCdpkftRub0+DzPQiQkS8UhilMb7h18EvQMtpeEMKhngv8Jt618dN3evt5ew==
X-Received: by 2002:a05:600c:5026:b0:43b:c857:e9d7 with SMTP id 5b1f17b1804b1-43d91435e08mr26331665e9.5.1743169489894;
        Fri, 28 Mar 2025 06:44: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>,
	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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 16/16] x86: Drop asm/byteorder.h
Date: Fri, 28 Mar 2025 13:44:27 +0000
Message-Id: <20250328134427.874848-17-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With the common code moved fully onto xen/byteorder.h, clean up the dregs.

It turns out that msi.h has not needed byteorder.h since the use of
__{BIG,LITTLE}_ENDIAN_BITFIELD was dropped in commit d58f3941ce3f ("x86/MSI:
use standard C types in structures/unions").

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * New
---
 xen/arch/x86/include/asm/byteorder.h | 6 ------
 xen/arch/x86/include/asm/msi.h       | 1 -
 2 files changed, 7 deletions(-)
 delete mode 100644 xen/arch/x86/include/asm/byteorder.h

diff --git a/xen/arch/x86/include/asm/byteorder.h b/xen/arch/x86/include/asm/byteorder.h
deleted file mode 100644
index 3524a6cee741..000000000000
--- a/xen/arch/x86/include/asm/byteorder.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __ASM_X86_BYTEORDER_H__
-#define __ASM_X86_BYTEORDER_H__
-
-#include <xen/byteorder.h>
-
-#endif /* __ASM_X86_BYTEORDER_H__ */
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index 975d0f26b35d..00059d4a3a9d 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -3,7 +3,6 @@
 
 #include <xen/cpumask.h>
 #include <xen/pci.h>
-#include <asm/byteorder.h>
 #include <asm/hvm/vmx/vmcs.h>
 
 /*
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 13:52:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 13:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930782.1333392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyA7t-0006uK-Ji; Fri, 28 Mar 2025 13:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930782.1333392; Fri, 28 Mar 2025 13:52: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 1tyA7t-0006uB-FO; Fri, 28 Mar 2025 13:52:01 +0000
Received: by outflank-mailman (input) for mailman id 930782;
 Fri, 28 Mar 2025 13:51: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyA11-0005Dp-0L
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 13:44:55 +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 d192ab8b-0bda-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 14:44:49 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-39ac8e7688aso1777585f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 06:44:49 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8314f5c6sm73339085e9.40.2025.03.28.06.44.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 06:44: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: d192ab8b-0bda-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743169489; x=1743774289; 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=sOpUu990EoQlzQRzQ8NP3z9qRiebIA5naXnjIh1S24E=;
        b=qmwgr2c4hFtyNf3hMdqS6sOLC818gB/CPmLxPGTBhkj1eFyoCjZhWh0mbb62+RRss2
         Dg5mqmki8bg1AsusvqfGdvIr+wKUNszsVq486HMALP/2x7vbDETqjIvCLvun/K6iLx+e
         qxPKQSxk2I7k1kZRnR+eWMwKyP3Aok9w/FqIk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743169489; x=1743774289;
        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=sOpUu990EoQlzQRzQ8NP3z9qRiebIA5naXnjIh1S24E=;
        b=vzPR5BC4wLJ1sBH2JCxbXTYRFgmhXE29T15Jhr9XkT9IR2v0tZ6Nx92O+HBL/e3vz0
         Jp17e+xy5M/4LOqrYYueJkNgBX+bjjS9w+cSvmSYPLFaXwBddPdG9/E1ldmh++QBmgpI
         IDhilwAO5BUHQlwc02aKBiXj/mtvYM8ICiiw4fSloDpVjn1FRqvDW1NHyLnFJo/wqeJ6
         bu9WaP0fgGaKXfIDFsqNwQNzvFNWQvNslf3rxq8uKmip79HO+qUZzbggxRlZGOiucb4X
         PiMZSfjZ2Wwh/4TBADh8wXUFCZ/uV7TMKRtI8m/jxxo508/msVfzXqS8jf8yCzTir2L4
         x0kw==
X-Gm-Message-State: AOJu0YytT0rbB6EToJan0azmyhdlOvEo3v2wAzuo+EIFy35gt6xhOYPJ
	i1Hfs/JWYpCX1OrPf4jol+3WnCI/epLBh5Q7kvlLA6kXa8TvYlXACCNmvUcGxlUV/E8jtThbtjH
	5YWo=
X-Gm-Gg: ASbGncuZeUfX4sYCuds4W4hkA3DflweRtoPJ7N0nQo9K2yigMqHsqsJG8h8no1MVi5W
	Ixbvo0hZampvC8mslXyZ6lawhe4aaGDUJ5FVKQm9JBvZT1fvc6fVaQYbNDXc2ZN7RPVe5FESSdI
	/yxno08lNofAbsB5ZtoWPA1RZ1LWO65MET3Sw0TZpxeNbr7keLpoTt0oaOgi1YB2rAD52OyOAur
	pGC8d9OnjzYIcuVMJvUKLVA37e8ZxagMr2DO6zK80f9YW5RE14uEge0sxe2lfUqJVk76KmFvMuD
	XDKO0RRW3IrWhz8JfqIOIU6Sw7fbS7cE1Sd03og785U2HkumrPs69+cJDoViszZHPzs3CBADiOC
	rv6z3N6Tdi8hPupxvgRmBkE3yF+gF
X-Google-Smtp-Source: AGHT+IGI7JO4UlPZY2avFsom7n/30LCzzvOjr02jm255ArguGao3va3hCkObUFth/phBf95IeTK7aw==
X-Received: by 2002:a5d:6da5:0:b0:39a:cc34:2f9b with SMTP id ffacd0b85a97d-39ad1746622mr8531467f8f.16.1743169488749;
        Fri, 28 Mar 2025 06:44:48 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Lin Liu <lin.liu@citrix.com>
Subject: [PATCH v5 15/16] riscv: Remove asm/byteorder.h
Date: Fri, 28 Mar 2025 13:44:26 +0000
Message-Id: <20250328134427.874848-16-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328134427.874848-1-andrew.cooper3@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With the common code moved fully onto xen/byteorder.h, clean up the dregs.

The use of byteorder.h in io.h appears to have been copy&paste from ARM.  It's
not needed, but macros and types are.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Lin Liu <lin.liu@citrix.com>

v5:
 * New
---
 xen/arch/riscv/include/asm/byteorder.h | 14 --------------
 xen/arch/riscv/include/asm/io.h        |  3 ++-
 2 files changed, 2 insertions(+), 15 deletions(-)
 delete mode 100644 xen/arch/riscv/include/asm/byteorder.h

diff --git a/xen/arch/riscv/include/asm/byteorder.h b/xen/arch/riscv/include/asm/byteorder.h
deleted file mode 100644
index a32bca02df38..000000000000
--- a/xen/arch/riscv/include/asm/byteorder.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef ASM__RISCV__BYTEORDER_H
-#define ASM__RISCV__BYTEORDER_H
-
-#include <xen/byteorder.h>
-
-#endif /* ASM__RISCV__BYTEORDER_H */
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/riscv/include/asm/io.h b/xen/arch/riscv/include/asm/io.h
index 55f329dde321..8bab4ffa0390 100644
--- a/xen/arch/riscv/include/asm/io.h
+++ b/xen/arch/riscv/include/asm/io.h
@@ -38,7 +38,8 @@
 #ifndef ASM__RISCV__IO_H
 #define ASM__RISCV__IO_H
 
-#include <asm/byteorder.h>
+#include <xen/macros.h>
+#include <xen/types.h>
 
 /*
  * The RISC-V ISA doesn't yet specify how to query or modify PMAs, so we can't
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 14:05:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 14:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930851.1333401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyAL7-0002pM-Mc; Fri, 28 Mar 2025 14:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930851.1333401; Fri, 28 Mar 2025 14: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 1tyAL7-0002pF-Jk; Fri, 28 Mar 2025 14:05:41 +0000
Received: by outflank-mailman (input) for mailman id 930851;
 Fri, 28 Mar 2025 14: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=ULsg=WP=bounce.vates.tech=bounce-md_30504962.67e6acaf.v1-40f914e8a9b4441b934ace9a05736ea7@srs-se1.protection.inumbo.net>)
 id 1tyAL5-0002p9-RL
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 14:05:40 +0000
Received: from mail187-9.suw11.mandrillapp.com
 (mail187-9.suw11.mandrillapp.com [198.2.187.9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8dc65fe-0bdd-11f0-9ea3-5ba50f476ded;
 Fri, 28 Mar 2025 15:05:37 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-9.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4ZPMk76gy8zK5vgTF
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 14:05:35 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 40f914e8a9b4441b934ace9a05736ea7; Fri, 28 Mar 2025 14:05: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: b8dc65fe-0bdd-11f0-9ea3-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743170735; x=1743440735;
	bh=+7/yrXPCmk4SQlg+1Z7K/AhR8Yvg9xZwFTZo8UyerQE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=FJjA6ek/7+h7e+ynVpM8QLnu0i1dvii4ES/mLMn830o/5aT8DVLOlNVP2fATnnYGp
	 h62xkgQlVYj2Ku5s4uBSti0jIfcVBB1FV+q8l4juZUMbw3gYi+c44COGGCwhmt3TDn
	 JZAz1HBzV0f8hE4v3/pujxh8Gy0JLcOs95vLZn+V7ZhRHO8D3jQNVQF6J3Xo/fKuLR
	 4WdgRxb6ng8aaPJjtz6RssPbNwTaMBArm0zZMPXiB2lCYVLU9nFr+rdiuYQlGxRuJZ
	 1PYIB/9HhIN9ieJHXM80iJsJB6JqqEa9huArqzKATtMBrmpZdx4zlFbSo6YDvwiW+Q
	 mY2fz42QlA9sg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743170735; x=1743431235; i=anthony.perard@vates.tech;
	bh=+7/yrXPCmk4SQlg+1Z7K/AhR8Yvg9xZwFTZo8UyerQE=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=1NW0eEW5RNfeE2l8A/nkSPaobLoUbE44t0VnRdb80Crl/pE4xB+zb3xUkDAlnOh5Q
	 5ZNxRld2zZY/g6OoWHlVepA3vAdWhC3u996Pki4nfENeDxuMXwT3f8P3yB93jiAuZv
	 pZxyRza4CMe+hnhdUIauT0KqMUV4YXtu3/77erwM4idTX4PxqZhr6dRY647ZaVjDlP
	 x4MAtjQY5YlufxW4ECr25UT9v5EKGWVKTGBsZfmT3aEl5O/ob3612IANWO8ytMY9ES
	 u5OAdvrM2eXT8MVT4Deu8/jBhfu+vnMqapVN+eznx3xqbDDWM6T6cQBuC1zKBua4wj
	 YgUlRrAFgDlcw==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v3]=20Xen:=20Update=20compiler=20checks?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743170734410
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, "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>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>
Message-Id: <Z-asrZ6OuK2lHJ_C@l14>
References: <20250327174302.412821-1-andrew.cooper3@citrix.com>
In-Reply-To: <20250327174302.412821-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.40f914e8a9b4441b934ace9a05736ea7?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250328:md
Date: Fri, 28 Mar 2025 14:05:35 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Thu, Mar 27, 2025 at 05:43:02PM +0000, Andrew Cooper wrote:
> The $(eval $(check-y)) is badly positioned:
> 
>   xen.git/xen$ make
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>     HOSTCC  tools/fixdep
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   make[1]: *** [scripts/Makefile.host:108: tools/fixdep] Error 1
>     HOSTCC  tools/symbols
>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>   make[1]: *** [scripts/Makefile.host:108: tools/symbols] Error 1
>   make: *** [Makefile:610: xen] Error 2
> 
> It is involved every time Config.mk is included, rather than once per `make`
> invocation.

It's worth than that ;-). $(eval $(check-y)) doesn't print anything, it
actually replace $(CC) by something that just print this error message
and thus refuse to build anything. So even if the eval was only done
once, you'll still have this stream of error message.

Anyway, is this check still useful somehow? Or could we replace it by a
check in ./configure for the tools and one in either Kconfig or
"xen/Makefile" for the hypervisor?

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 14:07:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 14:07:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930863.1333412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyANH-0003aw-1A; Fri, 28 Mar 2025 14:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930863.1333412; Fri, 28 Mar 2025 14:07: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 1tyANG-0003ap-Ua; Fri, 28 Mar 2025 14:07:54 +0000
Received: by outflank-mailman (input) for mailman id 930863;
 Fri, 28 Mar 2025 14:07: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyANF-0003ah-3O
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 14:07:53 +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 08ff67d2-0bde-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 15:07:51 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cf58eea0fso10942535e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 07:07:51 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b7a4482sm2654936f8f.86.2025.03.28.07.07.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 07:07: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: 08ff67d2-0bde-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743170870; x=1743775670; 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=RPKEuUpoJHwlsmdSnI9ye8EEmzJhIce0M0P7XUxnZrI=;
        b=kxorn53M38XRVHr4YPddg5mJ7SPnVSsInDnBlE1GJDYShZTBmEfSfKgwU0XIpQLOid
         8U19s0A6Hsl3gfualARs0AHFsNDQRMktaMr8txcHPo7csRCYkj6ov15wD6Vyxl7fNNMe
         UVHpu04S/Ws3vJ8bZlPQEXdzDYnR3uWYB7NiY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743170870; x=1743775670;
        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=RPKEuUpoJHwlsmdSnI9ye8EEmzJhIce0M0P7XUxnZrI=;
        b=u9fad8BlKRWuToYt1vivUq2c+vIrMSAtgdmtiogQPlALP8iTEzpl4dG75IYwFgmcH8
         eqIGJU79JKsos3VR/G79+bVk+yIS5eXrvGEvj03L/BRI6BZIWo8UMnTkq/GAf+uvv6rb
         nJxYK3WnHgevi8kceqaMg1pKVVftvtHjtzk8v/L9SDuy5/qLhzqjNQ7he5L2+OYlvIR/
         rYkI7arjskVk903zxCN+y0CuVMsS6V316xBYvirR9+CVsLQYoMAuv+AEKXj5JukgStnV
         5sQ6xFocuBgwktzcfYPhu+Rjcuf++3szJolL1iUPlPTvAWd81NNpqn5jTvBXtSVpB+K7
         jvNA==
X-Gm-Message-State: AOJu0YwT8tY9SfK1kPa9u3zA5GP7g4KSIhjBH+dP50YTth4HSmEnIU5F
	0BiQTfljti9Es7SBpyUEzRKOVz+fPww/WEtXwNFRXC7HPY6wkIGg8ST9RySrffbCWO5OsR0cEy0
	RTQs=
X-Gm-Gg: ASbGncvoygcKwxqO6cDlFxH3u2RMT3NZOdCtgsVkIvYK8FBNp/AReGcaoMBIVTpJv2k
	6Fc9qOLYcG4Ciz/w8z32XVZ1vRYFXULRWJDSDhsMEIAy9txBIXPMGnXN0vvG/daEoylgUS99Xo0
	fK47Z2bOH1wMePKO3qylHO4oFfEQ9sEpuehzQwtd4kThEVB2L4lq5ylG3kPGWgVsPT2p1rzcPPf
	99slc1PwjUcxnKbl5n4tIpUz4Kv/mGPk/Ak9Hrpvq2fYgyEnLiH6pZpOEY9106eldjM5LRFrXC3
	hqK5QEFNhVNraV0oyHafAY3PYwXvGXOZGKCyuvwcHbYPxTE8P11yS/wS986wb90JiOH1yQPa6AA
	S75GyLdMmHQ==
X-Google-Smtp-Source: AGHT+IGUUQ1yZGd798tJciFYAH2ao+MAwi0Mkr1uphNIW+PQvRgxybjGpIaVRD+OdcBlox0eJRtegA==
X-Received: by 2002:a05:600c:458e:b0:43c:e9d0:9ee5 with SMTP id 5b1f17b1804b1-43d84fc181emr86780365e9.18.1743170869636;
        Fri, 28 Mar 2025 07:07:49 -0700 (PDT)
Message-ID: <00d9fdff-b8eb-43e9-b017-6b3ecf69001e@citrix.com>
Date: Fri, 28 Mar 2025 14:07:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 06/16] xen/decompressors: Remove use of *_to_cpup()
 helpers
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <lin.liu@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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-7-andrew.cooper3@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: <20250328134427.874848-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28/03/2025 1:44 pm, Andrew Cooper wrote:
> From: Lin Liu <lin.liu@citrix.com>
>
> These wrappers simply hide a deference, which adds to the cognitive complexity
> of reading the code.  As such, they're not going to be included in the new
> byteswap infrastructure.
>
> No functional change.
>
> Signed-off-by: Lin Liu <lin.liu@citrix.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Daniel P. Smith <dpsmith@apertussolutions.com>
> CC: Lin Liu <lin.liu@citrix.com>
>
> v5:
>  * Rebase
>  * Rearranged from other patches
> ---
>  tools/libs/guest/xg_dom_decompress_unsafe_xz.c | 13 +++++++------
>  xen/common/lz4/defs.h                          |  6 +++++-
>  xen/common/xz/private.h                        | 12 +++++++++---

CI says that there's more lz4 and lzo1x to clean up.Â  Fixed locally, but
I won't repost for now.


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 14:27:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 14:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930881.1333421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyAgK-0000pG-Jz; Fri, 28 Mar 2025 14:27:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930881.1333421; Fri, 28 Mar 2025 14:27: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 1tyAgK-0000p9-HR; Fri, 28 Mar 2025 14:27:36 +0000
Received: by outflank-mailman (input) for mailman id 930881;
 Fri, 28 Mar 2025 14:27: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=dfnS=WP=bounce.vates.tech=bounce-md_30504962.67e6b1d0.v1-d902b0c4cf5844078eb87f06799a5d42@srs-se1.protection.inumbo.net>)
 id 1tyAgJ-0000p3-Pb
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 14:27:35 +0000
Received: from mail187-9.suw11.mandrillapp.com
 (mail187-9.suw11.mandrillapp.com [198.2.187.9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c73b7d8e-0be0-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 15:27:29 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-9.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4ZPNCN3H7kzK5vrTt
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 14:27:28 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d902b0c4cf5844078eb87f06799a5d42; Fri, 28 Mar 2025 14:27: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: c73b7d8e-0be0-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743172048; x=1743442048;
	bh=nwKb9IL2p+QEqONSzJBVRNty/v7J3My/fqCel/dHTM4=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=YVzg3v6zp7AYvT771WJt+E6pTp4SPT5CjFPhzLZ0IyaqZbMr43ZaVHiD1WfMdbUT9
	 H2mf12Yaxkp7lexZV5Dqpa93zZNo1QtU0Z8k6ZAxBMuOeWwsfOo5q7plV16yHdwIkA
	 P2Z08n9vHcicqzV+hVicA5tr9xhnJI276OC56dyZNknGQrycttJBw5BDOQLAIkVmPd
	 OSi+lZy2x4du5X7jQOGPvlCcnA4YSAAdjWeM1Ry2VbSTMLp6if0HBgFAyCVWCt0IBh
	 f/NFy5LzdSMw6F5R+CJyJz3X9mQ/IGklDbKElPMNQXEmTwCGcaAYC/G5o5LNffuhR8
	 1clHP1VUJkBCA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743172048; x=1743432548; i=anthony.perard@vates.tech;
	bh=nwKb9IL2p+QEqONSzJBVRNty/v7J3My/fqCel/dHTM4=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=0CePi4eSfnmuuHxW8EivavSVXmuAFSSSmR0ndBAZwjNMy+G88kNnsmysvp5/v3GXo
	 X96LllQje+M3FX4EoiKPRehdXIRgdCTQE2SDN50lxysdnC+q/UdR6HP4ik9iDEpoPV
	 As1TM1B0Iy5j+mvbLYgUl38/g6aAWoJ3hYqHGdQ0mmyvpX81cK06dFkvvp73puc4d1
	 m5Pdn6dcPLaLfAeq1prWb4YqzC7pTLkK+Kp2GhWlUsC8VADAhusu5oxWWh+1agamf6
	 uzUolSpSzre8bzbvZ8Cdz9BVH8+g7XhqbxfcP0n4t+YyY8orhVSYa5zXebvYLxfzLO
	 AjMtuaW25EsfQ==
From: "Anthony PERARD" <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2=203/3]=20xen:=20debug:=20gcov:=20add=20condition=20coverage=20support?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743172046805
To: "Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>
Cc: xen-devel@lists.xenproject.org, "Andrew Cooper" <andrew.cooper3@citrix.com>, "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>
Message-Id: <Z-axzjh97dz021-T@l14>
References: <20250328121902.2134020-1-volodymyr_babchuk@epam.com> <20250328121902.2134020-4-volodymyr_babchuk@epam.com>
In-Reply-To: <20250328121902.2134020-4-volodymyr_babchuk@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.d902b0c4cf5844078eb87f06799a5d42?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250328:md
Date: Fri, 28 Mar 2025 14:27:28 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Fri, Mar 28, 2025 at 12:19:18PM +0000, Volodymyr Babchuk wrote:
> Condition coverage, also known as MC/DC (modified condition/decision
> coverage) is a coverage metric that tracks separate outcomes in
> boolean expressions.
> 
> This patch adds CONFIG_CONDITION_COVERAGE option to enable MC/DC for
> GCC. Clang is not supported right now.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> Changes in v2:
>  - Move gcc version check from .c file to Rules.mk (I can't find
>    an easy way to check GCC version at Kconfig level)

It's very easy to do so, our Kconfig already look for GCC's version ;-)
The result isn't used yet in Kconfig, but it is in some C files and
Makefile.

You can simply do:
    depends on GCC_VERSION > 140000
(instead of checking for CC_IS_CLANG, because GCC_VERSION would be 0
when clang is used)

But, do you really need to check for gcc's version? Is
-fcondition-coverage mean something different in previous version?
Cann't you actually just check if a feature is present in the CC been
used? It is rare to check for a particular version of a compiler and
instead check if it knows about a flags.

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 16:31:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 16:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930939.1333454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyCbr-0004OU-NE; Fri, 28 Mar 2025 16:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930939.1333454; Fri, 28 Mar 2025 16:31: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 1tyCbr-0004OL-KA; Fri, 28 Mar 2025 16:31:07 +0000
Received: by outflank-mailman (input) for mailman id 930939;
 Fri, 28 Mar 2025 16:31: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=xT9D=WP=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1tyCbp-00049v-TR
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 16:31:05 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazolkn190120001.outbound.protection.outlook.com
 [2a01:111:f403:d001::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09f5854d-0bf2-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 17:31:04 +0100 (CET)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by LV3PR02MB10209.namprd02.prod.outlook.com (2603:10b6:408:21e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar
 2025 16:30:57 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::cedd:1e64:8f61:b9df%4]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025
 16:30: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: 09f5854d-0bf2-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U6JmUu/Hqs+frGhi/fJ3DguzQY3OpEsdgo/1IlK+Q3XsoaspjPWB6FD2ETktWRSQ/sU0nRJNoevv1Z5YVhBxV+9ToDDHyZ1ht2siY7LKS0Hyv5CFX9u+E3AYXfHEmTeKJZYBS1x4lrM0mlUvZeodrEUqL+f89xbjYntqrX68lk8YnXz+kgaT/tmejJRuDqPTOsFRIhTKS/lpAp7t5N4ltPifgMHEtDUoEy9I5Fwm+BSvJGUot7P0Zmq0ZWT59OTncK2p9bfvM2pOjZr49nY9yejIL7X7i8PenEAqgXwDIimxbOjRo/R2awsrIxEZ1hhDTcy3CsAxRHY+Zeq9Yfhxlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eKfPkJWqqtna9YgBxWWb70kH76Gv5EB8a2uCVkpzmGM=;
 b=xEpPeBj3yVGPrS4HjlK9JbVoQGFxsWTJeMJL/u0YKoQDpAzaixddVJz80UI5h1FMVDl2BXsdelHBhuQl+4YeSqTqL5RQ2A+e4OtTM2bQ1hx4zr9WjSc9CxZB09+KuifXVkqnjz0DVdqzW6GoKXe8fK1uDCU20lieJazFRI/CzTSsBmP7FzioirSB2dacELAhOsYM0cx0gU8pMcQcBycrhSBm9sd/b9CNnPkB2bWAe6TI6nyCN8w981gv8KZav7HpF8DsiPTJumJ7WkH9V78fNJu8DRLMsWIZdb0vxJ7YeP+q0IFaQK77SJHoU8YfyZkv/adUthZrf1vZx+0LXYixlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eKfPkJWqqtna9YgBxWWb70kH76Gv5EB8a2uCVkpzmGM=;
 b=qwMZkS4uT4BA7NOVwrkrlP62A0H8/nWVVUQgjsnwMjZNJKsiQh5kVdfHfQYBZRF0iaGDmxKBWBY2z9DXi79581b3dm5zUE3520UIpeXlisGYJmWSqFmX5JvVQs/QeTN/KD/oo+/Dsr8LFko57VO+fig6goB/sg4xzAhM9emNY10HuKgNIJN+Pt54mt+S9FCxepaTGoo6QzujVD3alf72VjcZkYGzlQwuu8a1VI8KP5dFR0A7zM721oDrefzRwHkkXWAxxc9RpKWtai6pTjOSn2jISz2cGjp+EfErgCBsYTEh1NDtI3nSA3qL3vZ9Be7mcxFJ8sHKx+XIu6th/XMXXg==
From: Michael Kelley <mhklinux@outlook.com>
To: Teddy Astie <teddy.astie@vates.tech>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "linux-mm@vger.kernel.org"
	<linux-mm@vger.kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>
Subject: RE: Allocating SEV C-bit-cleared pages (without relying on swiotlb)
Thread-Topic: Allocating SEV C-bit-cleared pages (without relying on swiotlb)
Thread-Index: AQHbnyKPeCLT8FgtS0qlE8WmAsket7OIu/hA
Date: Fri, 28 Mar 2025 16:30:57 +0000
Message-ID:
 <SN6PR02MB4157AFE96ADCA3D504909FFAD4A02@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <b16ec2d7-4a84-482f-b875-d7c152facab5@vates.tech>
In-Reply-To: <b16ec2d7-4a84-482f-b875-d7c152facab5@vates.tech>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|LV3PR02MB10209:EE_
x-ms-office365-filtering-correlation-id: 25cbc120-57c0-4dd9-a8c8-08dd6e15eb5b
x-microsoft-antispam:
 BCL:0;ARA:14566002|19110799003|8062599003|8060799006|15080799006|461199028|440099028|3412199025|12091999003|102099032;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?O1DDhA1dGv5CV/809zFqC40jwS6IHbERt5RRaO/HQl6tEjZuCoZd/Bp7+tI7?=
 =?us-ascii?Q?E04lscUt7jIszTZKwlZyY+VZewNRaoTTeHiLcX3NFV/TV8zl0f4A0mvRR/wm?=
 =?us-ascii?Q?6sa4/tqsHYh4SvMqufU1UzUK30Jp1AgiadL/UpHQpmxytWDPM2cwM9MXaHXg?=
 =?us-ascii?Q?lNIj739AMiDE6szoVNUwDK+t1i9G8rqMj8+LokKlmjT4VrLmY77/m69/pAu8?=
 =?us-ascii?Q?6+SVli7HxE2EY1yfncf7yl9f2D3MNTPq1Z7fC4fl3xjYklaGvs8xDZ0nkdTl?=
 =?us-ascii?Q?O+OmAsuHcewFXfJ7auWol5sTnlSJPIZlU1FTtQRnQih02YyO8FU5N61QHrkV?=
 =?us-ascii?Q?duGmhx7sY3dsJPwrR5/YnT8fmbZuJ/3dYld+YjQPMsvgrHGXcMBfy/+MvG1w?=
 =?us-ascii?Q?TfGL5AruIhyRYuLKvsn9oXS4jVH10W6dPstxOFyvrbau6kMWwiHB4WS9zw43?=
 =?us-ascii?Q?Tv4FhV6RtTGlLjGY66nd/MhGjBfQHZwPhQ8fi2JlX2Zf9H1PTiR2/tRNFFnw?=
 =?us-ascii?Q?TM7zOwrDdslfES2sDjlD8FZ/ttcgCJ+7iuUsyQQNBD+LiHEPZPIoobewmOVF?=
 =?us-ascii?Q?j3bhbC1hAPCB+D6JNksf2fN9DymsNJPvxC5sVvv0BqyU+5ZYNAkY+MdqFh0u?=
 =?us-ascii?Q?92mU6heOjXTgn0bWR0NDxaL6/FR8GF3ZRZojIreY3EDq3nTKgxtGR6paDwAs?=
 =?us-ascii?Q?0lZ/paWIyTTQHXqVM+LNdPHe3h4IMZ7GUt/T1ph15X7c5Blab+MnYjWtS0Cw?=
 =?us-ascii?Q?krDMuup6SKa45VCQ5L0tWvkJCkJHW+paWqDjGJ+BsIty3C+Jw62Dtrf3pwdI?=
 =?us-ascii?Q?UeEBlKj8HqbRyZC1cmt6GloA9QBt8U2V+Ehufrok1zAhEGjQurk4+w4aq552?=
 =?us-ascii?Q?wgBrEH4bzdr60F2LJI3B8Y4pgMBmskRkVZxdHSngWpSHeudyQpwgHWdtMz3L?=
 =?us-ascii?Q?O03uQZgJOmfXP/SzQ6iLJ5/7uklXblfydmVZEmlwn+PkK2T0U4k+mHg7DYh7?=
 =?us-ascii?Q?VKAN1IzoXFFSVG7sclXhY9rMFzCZX8n2qQYyjgdPdfGtBx6uqnDq3ShbVFsp?=
 =?us-ascii?Q?F2XCL6trQBgU4xCV15iYIB9yeBzBkkK8LbcEdLh+87+vwZwa2j34EZWP1ZFU?=
 =?us-ascii?Q?UVtSMumlJ9yo?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?QauGjtUi7yRbM5De0W5mbr7xev2SJvEcOhT63ic8DU+EH487u1Gv+vD5pw0Y?=
 =?us-ascii?Q?NE94xoxux554nOg/p4+MPS2QCvrl8H4YimSTqF7sI6r9mulxIRJCRtmg2haE?=
 =?us-ascii?Q?SXEhRcKSf+DIalnwJ+sudX0kZ5XYBtJtyBWH9cLGJL2cIG/yFdxRKNgDdxd2?=
 =?us-ascii?Q?7jXnRKPUOmKejQNLcDgu/N+w7d4vxBDHwWbRzVX8nc6VJGk5vmIyjT9aahwE?=
 =?us-ascii?Q?JJQUQ7uxeCV8dtnyj122riqGbbZtSccm1dgSXnnO9s4rNOXIoPUl5SimpgdV?=
 =?us-ascii?Q?vD5mEK9hMI3sPbXuaqurm9PfqO7wpBZyJVT6gz5etO5TdiscqYMtHtvulIa5?=
 =?us-ascii?Q?trbDl3OGpClW5LUtPkG3VMUEvJlbNFOq8ZtWs+WcWp28t9NhxYYGwZ6RuCdt?=
 =?us-ascii?Q?CP4LUYVwo6/K0Wx2vOP45X3QBFcN98BIDqwPE+eZDOFu6iw25gRgzkCGx7hB?=
 =?us-ascii?Q?FdrmdIlXTwEIND/VncnGDbqBPbXZ5G+QBJQx4kVm+tolaTFBmWK9HGthW+cl?=
 =?us-ascii?Q?T/yfp1RuoNahIfSg5LjThaFoh9ydwkWQFPx0RJw0vvqORHJIwosvhNbJqW4l?=
 =?us-ascii?Q?by6SrgxiMgZ4gl49Kqov0Pa7Uo+O47Ru7K9LFL8tiyrr5SoAy85o8BbtDdUx?=
 =?us-ascii?Q?tMjHVg8zgImrcG1tEhtfFaE0p7XTU9cWS2re36YPfLWYiSkz+j+/jfzu2+cl?=
 =?us-ascii?Q?hsRttIVXwD8DZf3oX6aN9lTSjJfuCa1KvP0QDwsdpe5nrGTt1+xqPSBTYJ2z?=
 =?us-ascii?Q?ju770j03cm0+FLagfaFD77BMMHYofA9sJeOiKNT1HrrFPekkV7oZk+EPU/XY?=
 =?us-ascii?Q?0k5koUBCJasnY8l7OONCkIW+yWyxIKyTT8J0LykS//J/f69XZ0JNTAeAB+Ad?=
 =?us-ascii?Q?itq+Bk0Q+ryQtPl50+aMcr8Nzev2C2LEVw7lmlZ0L2pRYtrkmHFGA3BxoszH?=
 =?us-ascii?Q?25s+o2L7rSy538hHj+ejdLBmQURJ/dHnI55pU9nITfnssY+HpoTiqwTnbo3X?=
 =?us-ascii?Q?uUy0zifqJ70GjCRmUy0RAM/ST9mTocsrR+/xtIRcC3ivocGLFSdeXOqY/ltf?=
 =?us-ascii?Q?jM+7I+hBIq4uhLLQSh1Aw4RlMnz8EGKIrnzZuEtxLfislqI0Qrrk+BXzpyqd?=
 =?us-ascii?Q?HqIeFmstivfvN80/OvzLyqxNpeHOo2gsr82fWH+lsx3C0Y0njpzCugrLmTUg?=
 =?us-ascii?Q?gHVEhe0R17j7oV3zINvnjKKr23pxFkM6DAN73/iP3/kVewPFtHnhyrFprFQ?=
 =?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 25cbc120-57c0-4dd9-a8c8-08dd6e15eb5b
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2025 16:30:57.7903
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR02MB10209

From: Teddy Astie <teddy.astie@vates.tech> Sent: Thursday, March 27, 2025 7=
:12 AM
> To: linux-kernel@vger.kernel.org; linux-mm@vger.kernel.org
> Cc: Xen-devel <xen-devel@lists.xenproject.org>
> Subject: Allocating SEV C-bit-cleared pages (without relying on swiotlb)
>=20
> Hello Linux mailing list !
>=20
> For porting Linux code to make it work on Xen with AMD-SEV, I need to
> change the allocation of some pages to use "shared pages" (C-bit
> cleared) instead of private pages (C-bit set, which is the default kind)
> as these pages needs to be shared with the hypervisor/Dom0.
>=20
> Is there a facility to allocate pages with C-bit cleared (and if not
> running under SEV, just allocate a plain page) ? Current Linux code for
> SEV seems to only rely on swiotlb as access to shared page is mostly
> made through DMA-kind devices (e.g virtio or emulated device), but I
> don't think it is the best approach.
>=20

For allocating memory that can be shared with the hypervisor,
allocate memory as usual (with alloc_pages(), for example), then
call set_memory_decrypted() on that memory. This approach
works in general for Confidential Computing (CoCo) VMs,
regardless of whether the underlying hardware is AMD SEV-SNP,
Intel TDX, or ARM64 CCA.  If you are running in a non-CoCo
VM, set_memory_decrypted() is a no-op, so you can call it
without having to check whether you are in a CoCo VM.

When freeing the memory, do the reverse. Call
set_memory_encrypted() first, then free the memory as
usual. Note that if set_memory_encrypted() fails for any
reason, just leak the memory instead of freeing it because
the encrypted state is unknown after such a failure.

If you search for set_memory_decrypted() in kernel code,
you'll find several examples.  See drivers/hv/hv_connection.c
as one place where code for running on Hyper-V follows
this paradigm. There are several other examples as well.

Michael


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 16:31:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 16:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930938.1333444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyCbm-0004A8-HO; Fri, 28 Mar 2025 16:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930938.1333444; Fri, 28 Mar 2025 16:31: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 1tyCbm-0004A1-EU; Fri, 28 Mar 2025 16:31:02 +0000
Received: by outflank-mailman (input) for mailman id 930938;
 Fri, 28 Mar 2025 16:31: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyCbk-00049v-Qz
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 16:31: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 077c7667-0bf2-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 17:30:58 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so22086085e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 09:30:58 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b66b015sm3183182f8f.54.2025.03.28.09.30.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Mar 2025 09:30: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: 077c7667-0bf2-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743179458; x=1743784258; 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=ajohcOtArAPciv6Z1xu+3HliHHeoWMjbybvOD1Cdez8=;
        b=L7bMTMZNEM4jG1H66SPhX/McXUah6XyXBy8ZVQYXTG6bX3wE6BDSb/1H9jFBFKR6ik
         uBAj8bM1K21pEhXC1prsu06iGFJmL1X8dd01WQjtrBGvatu0kEawHdL2UjVL9BE0opFg
         VMuPcUKH0HAB04ehT6/uYwJIUQzMhBxXGOS7E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743179458; x=1743784258;
        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=ajohcOtArAPciv6Z1xu+3HliHHeoWMjbybvOD1Cdez8=;
        b=mOAlQUrdJfuRQiXJst+NL9sKB61fpeEWPfQu8jJJj8+sS+Ad2vCOQEWk/iZAtSUlLw
         rn6Oeq5fNGMIo3n1yORdKj71yM/P8KAV4hDjr+xOVLHloF+K3iIvLruYmdrahieVBD4B
         51x827+6DGEFeUTiKUQvf+K0OPdNHOnRuSMOeVBreYq/B4pMaAvJkNDq5SqRRlloBhYK
         HQSJOaF/5Y9my/sf38Z4x3A3AiGzVrl+YioV5IhxKbyppNMNLeTa+NM9J3iDwIiJQNNh
         DTQk8OiiumviavnuMdyUXG4pnmBfmfRZ8pvxTfkjOO8nXxeNnY4NOCQlXS7S8PFCegUE
         Jbpg==
X-Gm-Message-State: AOJu0YzMja2GHc1vjylkLr6gdAV3vfMPhbzVCi8FJENMqS3/2foSz80l
	pORnfnj8Z6DaPmHhkQL4dzKNMxQn+YgqXsh6FlFFgwYt65We/4ZFQvUM42u8Dqs=
X-Gm-Gg: ASbGncvBDJ0T6AI5KbTVVfXNOOK04P3wJ/Tj+DuYQhq7pOGifLXAHClckLazpbfuoNl
	RPDgDAtzggUT6Q8F4IddU8GJaHrgRu4ZHVVWLze3ItwOLsWHuMbEH8oXLlsBSSh48QnNZhXYGa8
	IxImgUoWdS93XMLW36n24blgY+iIdjF6hph3uVtD57nydHhaHePFElf3cJlGKUv0YVowHrwybDk
	sahwe+Fr7Ivuy44EvaVRU4Axj2ChdpfAoWu+4mr9JxP47O06myekTccasNNvq67HK7wa6LJEEzf
	hkYHHeUOCcf+j/878mchVJ4OT9dEf53AThvqsQk6b+r3L07Sl4qmlol3683YdFIangPN5KafxW9
	mBtIRTWKSjQ==
X-Google-Smtp-Source: AGHT+IHytOQvI2KzbbXC7N8VMsX7NtpamfRgiUPB/vcbiSPjv9EoEQeN9k2U19GTRNLfFBJqhWzm9w==
X-Received: by 2002:a05:600c:34d3:b0:439:9424:1b70 with SMTP id 5b1f17b1804b1-43db8526487mr1094645e9.30.1743179457863;
        Fri, 28 Mar 2025 09:30:57 -0700 (PDT)
Message-ID: <279ccfd6-606f-45fd-91c2-d96bd749db00@citrix.com>
Date: Fri, 28 Mar 2025 16:30:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] Xen: Update compiler checks
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250327174302.412821-1-andrew.cooper3@citrix.com>
 <Z-asrZ6OuK2lHJ_C@l14>
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: <Z-asrZ6OuK2lHJ_C@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28/03/2025 2:05 pm, Anthony PERARD wrote:
> On Thu, Mar 27, 2025 at 05:43:02PM +0000, Andrew Cooper wrote:
>> The $(eval $(check-y)) is badly positioned:
>>
>>   xen.git/xen$ make
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>     HOSTCC  tools/fixdep
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   make[1]: *** [scripts/Makefile.host:108: tools/fixdep] Error 1
>>     HOSTCC  tools/symbols
>>   *** FATAL BUILD ERROR: Xen requires at least GCC 0x150100
>>   make[1]: *** [scripts/Makefile.host:108: tools/symbols] Error 1
>>   make: *** [Makefile:610: xen] Error 2
>>
>> It is involved every time Config.mk is included, rather than once per `make`
>> invocation.
> It's worth than that ;-). $(eval $(check-y)) doesn't print anything, it
> actually replace $(CC) by something that just print this error message
> and thus refuse to build anything.

Oh, that's far worse.

>  So even if the eval was only done
> once, you'll still have this stream of error message.

It appears the author didn't know about $(error).

> Anyway, is this check still useful somehow? Or could we replace it by a
> check in ./configure for the tools and one in either Kconfig or
> "xen/Makefile" for the hypervisor?

I'm quite sure it predates ./configure.Â  But I don't think there's any
reason to keep it around in this form - like this it's borderline useless.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 16:58:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 16:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930971.1333471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyD2X-00017T-8Q; Fri, 28 Mar 2025 16:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930971.1333471; Fri, 28 Mar 2025 16: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 1tyD2X-000162-1Z; Fri, 28 Mar 2025 16:58:41 +0000
Received: by outflank-mailman (input) for mailman id 930971;
 Fri, 28 Mar 2025 16:58: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=QVst=WP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tyD2W-00011j-A6
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 16:58:40 +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 e4ebf8f6-0bf5-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 17:58:38 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5e686d39ba2so61350a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 09:58:38 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc16aae90sm1665004a12.15.2025.03.28.09.58.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 09:58: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: e4ebf8f6-0bf5-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743181118; x=1743785918; 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=4CAhYZhOHWtuWy4tfyt8Ohp6UA9zEMu8kkCq/AbgncY=;
        b=BZPTS1jI5D/rdoCXWYtOpRX9S5O/HZmkeGDwxmbJOohl8NRQXSZbzY8drVi+KebAxA
         skNYVayMMchm/2W5ymGe7TvIFIWwDMgnkWGtiJ/C402tDI8N2P2GwTHJ8NQnXhjgIfrL
         KfnkAj2qyDRoHJ/lJ5eZwSN96IRi4/LorYKPf/oNX7uyymqSmc/w8D2mDNvO8DyKwvsw
         HqeNg7Gc4V6YEofZ/nfMoQTm07gAHbEJyIDJdiTblY5Nsa/BCV5DBOrNJv/KFEG9Gs0k
         hZqWux3+HEUt+gfoQFgCIXPM+u6iDVFwV/rjsW7V2GBZIC3hw3yVLdW/237qytAw75tt
         JkpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743181118; x=1743785918;
        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=4CAhYZhOHWtuWy4tfyt8Ohp6UA9zEMu8kkCq/AbgncY=;
        b=EtXb1ktDWwSCYFbh9bkYO3sTjlrMR02oEJRmITFaci73jLIPf+VSYOhQupYkpa7Dzu
         8SINPMKsKK9CqjJrQcFoMada8VmZ/gFs4PORznmy6bikDbu43gElr5Me3Kdxs5uQtkBr
         5dy5KPn7VhcQuDCpAiqrKTUkZaTb1YHGDlcRdylGNyoGGsvjh5eOyupeDS3zvGfNScbf
         G3RzNriddQWdbQO6B8b1PwLc1p3hLWbHKmq5GZ8l+jOycU2AkxzqEkXcYQPCy/z+XjL0
         MVK2kjANnTrdebbrHKXfBrYzaRLJaoATvilU16E+35esHgxEduMQpaXAAjKEorIvdgmp
         2Wgg==
X-Gm-Message-State: AOJu0YyxoIjbs2vwO1rsr0617+2ohzqew9rf9qxbyABkf0niQr5VOqVy
	++yNawC4iMyOs1zZF8PLfPcifkkYaZNwn0aDZ8IAKQhnk4kWtg8z8jd5gw==
X-Gm-Gg: ASbGncuhDK/CTqy7eoepgQi4fRKkt2ZnTWJttWR1QjJ0Nm5u3G99AUleDxTxR+xqU3s
	WOFnwJUZ1PHXl3F3rOyce/qCf2ycc3pd1ZTRCbIyiIkcpspX7pDyzFn++HmbR0VYUA3EyWAqPXK
	fKbJyPmfEP9jeDE80Rcl2zftR+fvwMLsLvogwItsdMLwn3/rNV6pAqyJRVqjF9bXl2E7RLQgXWk
	N/Yi2/WIF+wYarjJ4RbunPM1vrV5+J1tlHA3hTamrju1kHdqjxitTYHV9pIJzANpdLIeZb6lmqO
	7x+N9x5jHWAripd9ayP8ILziA4A28EBdH3BjctIohcB3Y+J8s6lNoi/GXLJgk3+4Q5eWxOoRA9R
	a4vzyTOFdN6x08PUgjrNXsOl7
X-Google-Smtp-Source: AGHT+IE1JMZb8jOcKsPR6IBjufgEsc/7vBhUd/tnkFR7SWMVKvFqEVCOFe2tzaLDmHDWLTEDzHp1UA==
X-Received: by 2002:a05:6402:13d3:b0:5e6:1a97:7d09 with SMTP id 4fb4d7f45d1cf-5ed8e496922mr8874452a12.16.1743181117356;
        Fri, 28 Mar 2025 09:58:37 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 2/4] automation: select APLIC and IMSIC to handle both wired interrupts and MSIs
Date: Fri, 28 Mar 2025 17:58:30 +0100
Message-ID: <e1124922c590043c71bb22d8264284439c80b711.1743165791.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <4ddde60347edf6740fbc69b5739d099616f5b5ff.1743165791.git.oleksii.kurochko@gmail.com>
References: <4ddde60347edf6740fbc69b5739d099616f5b5ff.1743165791.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

By default, the `aia` option is set to "none" which selects the SiFive PLIC for
handling wired interrupts. However, since PLIC is now considered obsolete and
will not be supported by Xen now, APLIC and IMSIC are selected instead to manage
both wired interrupts and MSIs.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---

Tests results:
  https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1734636979

Based on the source code of Qemu the support of AIA should be present from 7.0.0:
   28d8c281200f ("hw/riscv: virt: Add optional AIA IMSIC support to virt machine")

```
$ git tag --contains 28d8c281200f20a060c456c81fd1564f3d119fda
staging-mjt-test
trivial-patches-pull-request
v7.0.0
v7.0.0-rc0
v7.0.0-rc1
v7.0.0-rc2
v7.0.0-rc3
v7.0.0-rc4
v7.1.0
...
```

And in Xen's GitLab CI it is used 7.2.11:
```
$ CONTAINER_NO_PULL=1 CONTAINER=bookworm-riscv64 ./automation/scripts/containerize 
*** Launching container ...   
user@6a1d1f0077fe:/build$ qemu-system-riscv64 --version
QEMU emulator version 7.2.11 (Debian 1:7.2+dfsg-7+deb12u6)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
```
---
Changes in v3:
 - Nothing changed. Only rebase.
---
Changes in v2:
 - Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 automation/scripts/qemu-smoke-riscv64.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/qemu-smoke-riscv64.sh b/automation/scripts/qemu-smoke-riscv64.sh
index 8f755d0a6a..b2e112c942 100755
--- a/automation/scripts/qemu-smoke-riscv64.sh
+++ b/automation/scripts/qemu-smoke-riscv64.sh
@@ -6,7 +6,7 @@ set -ex -o pipefail
 rm -f smoke.serial
 
 export TEST_CMD="qemu-system-riscv64 \
-    -M virt \
+    -M virt,aia=aplic-imsic \
     -smp 1 \
     -nographic \
     -m 2g \
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 16:58:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 16:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930970.1333464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyD2W-000121-R5; Fri, 28 Mar 2025 16:58:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930970.1333464; Fri, 28 Mar 2025 16:58: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 1tyD2W-00011u-Ms; Fri, 28 Mar 2025 16:58:40 +0000
Received: by outflank-mailman (input) for mailman id 930970;
 Fri, 28 Mar 2025 16:58: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=QVst=WP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tyD2V-00011d-8F
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 16:58:39 +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 e4c75c08-0bf5-11f0-9ea4-5ba50f476ded;
 Fri, 28 Mar 2025 17:58:38 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5e61375c108so3025585a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 09:58:38 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc16aae90sm1665004a12.15.2025.03.28.09.58.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 09:58: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: e4c75c08-0bf5-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743181117; x=1743785917; 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=tiUogFb1cp17HgcNhiUeO+L5x4EUkNu2i1X7b3eX4TY=;
        b=dFvvCXcm8acIVhozA4YPPM5G+UE9u53k28Jk9Nm+sA47XgzRFPMTY10/CPDeEDaIsG
         ejJ9GeAOIcCPac3LMOHexUE+XAhK/0A1rAI1vCWJSr0FnYI1Hg8vPCuu7Sml08R9KSBA
         iBfFyR7K20yEjARXh5jwlARv6+4qLCYCsFBeNFmMWOETnPZFzMd4s/ojP/lQLF5Pdpjn
         H7FVfFx6em8zb3RXXJICRMOMdl6sVirzSWhb/PwD8JqPsFsx+44NnAWhU0sNBbdVb+V3
         6rVN1+kUXGF/jGcM3fCiWyvUt6+4d+VuJVlq+aKViXF0XKuGiQ3qybu62qiZiaO9mjWi
         kznA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743181117; x=1743785917;
        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=tiUogFb1cp17HgcNhiUeO+L5x4EUkNu2i1X7b3eX4TY=;
        b=RAJ66KIPKpx4u8ZuLHEtsr4ZN7pzE+oaaoJHJm8iMmNgD3oHh8h4UfrmZLGdnjCCLB
         V3lveljGL1HFqdd2rw/nQkfoxGFhL7SwAgmaptpXxsk2rDVO+8RwI8UZsv7dqamZiZfn
         5RSJZFAU/Kai5P/tuOFRTGSBGj7GdbGpneztUqJHF5KXR1+w7njbqxdT2v52Y2HG6185
         VvN+VOyEk7hu1bXn7t9vGrboUlf4FiVsE3k8jUC4EYJQ6FMVrrz81zHvhb3Z3hJAHu26
         IGI105evb81EMdpAE1r1+LNK0TnGw5fk7MAJVjHT+k0YraX7my9jy9IOGb1LyaCFYJl4
         wtcg==
X-Gm-Message-State: AOJu0YzXnIDpV1lFD1OHgD7JTD9tMGuPnehmw19Adu/QpTAmODUnZyIS
	3jODIH3jXCkmo/ibddGxWNBfKmGh39fCX512lVw41eIAUfMbBKfbBRZmbw==
X-Gm-Gg: ASbGncvmZk6rHqMPZfzTjN4/GL4uFhTCaURUo23lfmqPCyt70GHCOfx3i2UmS6bLyGI
	h4VoH/uhSFBbiuvGQf5MVqrKXOtfyQP8s6nL5kPorzD9W1cop4nuvFH8acUfFyFjUnO3dLYS5LT
	En0TkTPrwc0U1Tul5PELNyIw9f5skmn43A3ZLWGmCdlQZxd/XZkTG4u+q0hNq6k9uKo+5QxkIfC
	ha2vKaLeztjnKm6l6CcGFco88iBsryIiseyUuji6q9Tcg0X1hta3rh0/YVttzT3zFfaO1rwx9n7
	2fGSQLXfz5ETBlkHzrz1cqmnSxi64QYl6UkIz8m0QUG9QzBznVLxFy2JRR80JY9RSo3Z2HWr9Su
	dv2YoQn/h97AjDA==
X-Google-Smtp-Source: AGHT+IG+M3F8lOTruAu154zgsPEVd4EHbXwr/CWhtJW52VJM3zB7+FfxUFAIIGfTg+Bccm/GFUljIg==
X-Received: by 2002:a05:6402:5255:b0:5e7:b081:e0d1 with SMTP id 4fb4d7f45d1cf-5ed8e06155amr7576710a12.3.1743181116720;
        Fri, 28 Mar 2025 09:58:36 -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: [PATCH v3 1/4] xen/riscv: introduce preinit_xen_time()
Date: Fri, 28 Mar 2025 17:58:29 +0100
Message-ID: <4ddde60347edf6740fbc69b5739d099616f5b5ff.1743165791.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

preinit_xen_time() does two things:
1. Parse timebase-frequency properpy of /cpus node to initialize cpu_khz
   variable.
2. Initialize boot_clock_cycles with the current time counter value to
   have starting point for Xen.

timebase-frequency is read as a uint32_t because it is unlikely that the
timer will run at more than 4 GHz. If timebase-frequency exceeds 4 GHz,
a panic() is triggered, since dt_property_read_u32() will return 0 if
the size of the timebase-frequency property is greater than the size of
the output variable.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - s/xen_start_clock_cycles/boot_clock_cycles
 - Add panic() in preinit_xen_time() for the case when acpi_disabled = false.
 - Change type of boot_clokc_cycles to uint64_t as the counter will be still
   64-bit for RV32. Add inclusion of xen/types.h for uint64_t.
 - Move definition of timer variable to preinit_dt_xen_time() as there is no
   any reason to be a file scope variable.
 - Update the commit message.
---
Changes in v2:
 - Update SPDX tag for time.c
 - s/read_mostly/__ro_after_init for boot_count variable.
 - Add declaration of boot_count to asm/time.h.
 - Rename boot_count to xen_start_clock_cycles.
 - Stray double blank in the defintion of timer_ids.
 - s/u32/uint32_t.
 - Drop full stop.
 - Update the commit message.
 - s/__initconst/__initconstrel for timer_ids[].
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/include/asm/time.h |  6 +++++
 xen/arch/riscv/setup.c            |  2 ++
 xen/arch/riscv/stubs.c            |  2 --
 xen/arch/riscv/time.c             | 42 +++++++++++++++++++++++++++++++
 5 files changed, 51 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/riscv/time.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index b0c8270a99..82016a957a 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -9,6 +9,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += stubs.o
+obj-y += time.o
 obj-y += traps.o
 obj-y += vm_event.o
 
diff --git a/xen/arch/riscv/include/asm/time.h b/xen/arch/riscv/include/asm/time.h
index fc1572e9b4..e8d9ffec57 100644
--- a/xen/arch/riscv/include/asm/time.h
+++ b/xen/arch/riscv/include/asm/time.h
@@ -3,8 +3,12 @@
 #define ASM__RISCV__TIME_H
 
 #include <xen/bug.h>
+#include <xen/types.h>
 #include <asm/csr.h>
 
+/* Clock cycles count at Xen startup */
+extern uint64_t boot_clock_cycles;
+
 struct vcpu;
 
 static inline void force_update_vcpu_system_time(struct vcpu *v)
@@ -19,6 +23,8 @@ static inline cycles_t get_cycles(void)
     return csr_read(CSR_TIME);
 }
 
+void preinit_xen_time(void);
+
 #endif /* ASM__RISCV__TIME_H */
 
 /*
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index b0e587678e..836ad16fed 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -126,6 +126,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     riscv_fill_hwcap();
 
+    preinit_xen_time();
+
     printk("All set up\n");
 
     machine_halt();
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 5951b0ce91..caa133de84 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -27,8 +27,6 @@ nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
 /* time.c */
 
-unsigned long __ro_after_init cpu_khz;  /* CPU clock frequency in kHz. */
-
 s_time_t get_s_time(void)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/time.c b/xen/arch/riscv/time.c
new file mode 100644
index 0000000000..905bb13eb4
--- /dev/null
+++ b/xen/arch/riscv/time.c
@@ -0,0 +1,42 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/acpi.h>
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/sections.h>
+
+unsigned long __ro_after_init cpu_khz; /* CPU clock frequency in kHz. */
+uint64_t __ro_after_init boot_clock_cycles;
+
+/* Set up the timer on the boot CPU (early init function) */
+static void __init preinit_dt_xen_time(void)
+{
+    static const struct dt_device_match __initconstrel timer_ids[] =
+    {
+        DT_MATCH_PATH("/cpus"),
+        { /* sentinel */ },
+    };
+    struct dt_device_node *timer;
+    uint32_t rate;
+
+    timer = dt_find_matching_node(NULL, timer_ids);
+    if ( !timer )
+        panic("Unable to find a compatible timer in the device tree\n");
+
+    dt_device_set_used_by(timer, DOMID_XEN);
+
+    if ( !dt_property_read_u32(timer, "timebase-frequency", &rate) )
+        panic("Unable to find clock frequency\n");
+
+    cpu_khz = rate / 1000;
+}
+
+void __init preinit_xen_time(void)
+{
+    if ( acpi_disabled )
+        preinit_dt_xen_time();
+    else
+        panic("%s: ACPI isn't supported\n", __func__);
+
+    boot_clock_cycles = get_cycles();
+}
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 16:58:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 16:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930973.1333493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyD2Y-0001hs-Kw; Fri, 28 Mar 2025 16:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930973.1333493; Fri, 28 Mar 2025 16:58: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 1tyD2Y-0001hh-Hw; Fri, 28 Mar 2025 16:58:42 +0000
Received: by outflank-mailman (input) for mailman id 930973;
 Fri, 28 Mar 2025 16:58: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=QVst=WP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tyD2X-00011d-GG
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 16:58:41 +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 e65dbb7e-0bf5-11f0-9ea4-5ba50f476ded;
 Fri, 28 Mar 2025 17:58:41 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5eb5ecf3217so4399092a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 09:58:40 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc16aae90sm1665004a12.15.2025.03.28.09.58.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 09:58: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: e65dbb7e-0bf5-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743181120; x=1743785920; 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=3F8SefbWZUmJrgPRZAQY4Ulx3HIoSvhY6ydZ1zkGaiQ=;
        b=f8OzuAZVA7KxXw+Gp7JPkW2JdlqEzyIgJOU3bwnmJK+S2UTapH+N0b6Nc6KSEB9XZp
         hATe1VF7sf1yUupQSFpdZLHh536fq5rk6MK107IYYjqoi3t3TDQIgEf8UtsWVMuu55LB
         Kei5Y4wQTyxuAaXdrtohPV7Pe+BctyQnSOlgRMA1L8BHlOVX6DNuqnkcL8UEmMq4LElE
         BEWTLZYISg0xKWUCaeI1r8cGQ1C4b4v/ESGpYxdbVzsznM3RPf+RpA8EkRzBMo9xgPKX
         bkzYhGLzl64bbGQoOale7AncHhQGth+eJD4UWP3gOLTxPZFIS6YXL3trMixqvpksh4wy
         CEVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743181120; x=1743785920;
        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=3F8SefbWZUmJrgPRZAQY4Ulx3HIoSvhY6ydZ1zkGaiQ=;
        b=OxHRJa6ZLE6RF+uhz0kQQlnS39g0cs0rwYgCx2aVXhos9DtEhpoZo+ZppRxntK4DU8
         6ATw3cq6ioOaNCrS7T/E/AOcYUtfuLNY/J64xnV85wKOEOcBw44/H0ZfDeuenVnfJIL4
         rWxbhKpE0BeWAKYQb3+etu36+Pt4TAc6RFL4gmymOmlZA5LnJLxpo9izceTxxlDsnowM
         JAgU/BOzcy+foMPjLPlpiV/VyMBFNdU5DPyStU3LI7uMTaQE7TLJd0v+toUZxivHCTWK
         ZOs1c3Gv3ZdkMdcs/KpQDcKpjbkEReorkGquQDmOIghL8tlsm0U19c3iNDdiVt7wfTwY
         0Pkg==
X-Gm-Message-State: AOJu0YzH1kxVytf92qtoc3lXIKeIIeoIrRCBDK4F91CycR/d419Lh58w
	jAT7rQLdF+gAzz4lJ/t5qmdUarOtOAbfiLBa9NFFgAzZ+G303sZNqGCWEA==
X-Gm-Gg: ASbGncuGBlXhkzOvYJ1Kha7YcMT2ps6VLHFeAn7MBWguxzEudFj5XXULHIKh4CxOF/O
	YD8rT30Y1sT/nhcQsI/EoWqaZRFHAgTu75L/m9/aIVSH6lse5f9WsFQ3xUXHazNr2UbauUjlOYA
	UWC8Eh869NXfrzRb+iyRh7u4ypWB95dVQK10jFE30vUDN16P772EwntR+dGeDi9Vg+1gs7ArucF
	odlB71FSnMGhqRrlt8EJnKRUVFu2gyB+kiPU3YXVtEJP7yho/TUTWdgh4T3JtGUi/WlAEJhItua
	kFMGLdrEojNpfRVoTH2MxTx2psEHVKZIzhBjoXE36qmqUXeW69NV2jxQDawuLBOys7+4owXZVab
	Qe+JAhhPTM/2LdA==
X-Google-Smtp-Source: AGHT+IFMk2+7VOHOfkNZXBVL6jGpGNPstwNgNOtiIRIFyqbaWJvvmMA3HwW/LNlNGuaTtc5SOVaf9w==
X-Received: by 2002:a05:6402:5106:b0:5e7:b015:c636 with SMTP id 4fb4d7f45d1cf-5ed8e25550dmr9349717a12.6.1743181119936;
        Fri, 28 Mar 2025 09:58:39 -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: [PATCH v3 4/4] xen/riscv: introduce intc_preinit()
Date: Fri, 28 Mar 2025 17:58:32 +0100
Message-ID: <3bce47b0cd1984dcc9a283051e717f0cfec7c146.1743165791.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <4ddde60347edf6740fbc69b5739d099616f5b5ff.1743165791.git.oleksii.kurochko@gmail.com>
References: <4ddde60347edf6740fbc69b5739d099616f5b5ff.1743165791.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, only the device tree method is available to locate and perform
pre-initialization steps for the interrupt controller (at the moment, only
one interrupt controller is going to be supported). When `acpi_disabled`
is true, the system will scan for a node with the "interrupt-controller"
property and then call `device_init()` to validate if it is an expected
interrupt controller and if yes then save this node for further usage.

If `acpi_disabled` is false, the system will panic, as ACPI support is not
yet implemented for RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v2:
 - Update the commit message.
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/include/asm/intc.h |  2 ++
 xen/arch/riscv/intc.c             | 14 ++++++++++++++
 xen/arch/riscv/setup.c            |  3 +++
 4 files changed, 20 insertions(+)
 create mode 100644 xen/arch/riscv/intc.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index dd5fd25c7d..0c6c4a38a3 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -2,6 +2,7 @@ obj-y += aplic.o
 obj-y += cpufeature.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
+obj-y += intc.o
 obj-y += mm.o
 obj-y += pt.o
 obj-$(CONFIG_RISCV_64) += riscv64/
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index ff9bb33896..52ba196d87 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -17,4 +17,6 @@ struct intc_info {
     const struct dt_device_node *node;
 };
 
+void intc_preinit(void);
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
new file mode 100644
index 0000000000..4061a3c457
--- /dev/null
+++ b/xen/arch/riscv/intc.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/acpi.h>
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+
+void __init intc_preinit(void)
+{
+    if ( acpi_disabled )
+        intc_dt_preinit();
+    else
+        panic("ACPI interrupt controller preinit() isn't implemented\n");
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 836ad16fed..4e416f6e44 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -16,6 +16,7 @@
 #include <asm/cpufeature.h>
 #include <asm/early_printk.h>
 #include <asm/fixmap.h>
+#include <asm/intc.h>
 #include <asm/sbi.h>
 #include <asm/setup.h>
 #include <asm/smp.h>
@@ -128,6 +129,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     preinit_xen_time();
 
+    intc_preinit();
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 16:58:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 16:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.930972.1333476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyD2X-0001BN-Dv; Fri, 28 Mar 2025 16:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 930972.1333476; Fri, 28 Mar 2025 16: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 1tyD2X-00019h-8C; Fri, 28 Mar 2025 16:58:41 +0000
Received: by outflank-mailman (input) for mailman id 930972;
 Fri, 28 Mar 2025 16: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=QVst=WP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tyD2W-00011d-Ch
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 16:58:40 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5b09478-0bf5-11f0-9ea4-5ba50f476ded;
 Fri, 28 Mar 2025 17:58:39 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5edc07c777eso1645393a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 09:58:39 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5edc16aae90sm1665004a12.15.2025.03.28.09.58.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 09:58: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: e5b09478-0bf5-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743181119; x=1743785919; 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=kwt0wWw15cU3iDvsfvt/iGuQoX23/9gbWMOVikjxBvU=;
        b=WrQjouQYwcYbrHpECBGu3drBnC2dObjnDyXqSctIefQd0f+84DcM3SR5ajGzCwmshT
         Umo23V+eU7Blilax6FCjTteKR+4x12FofijKePJYBQS9e04TTP1kZ1KEjlWFzyrFeixa
         j/+Z1uLnzwMVqqRd2GzkegKE5wbsmDvk2pJMerp+vsUvrdUI4hgaILsErPHSVdRSipjG
         dFLC9k/lIO2d7BmHunyY9PQK1x/rw8E9uz6hKSrBkHsYiNFEE1kDTgTUKRmwrVrDH+7Z
         up/owMq4NWaI8PTqwuQFt697KtqU1esCmmtbdTy30SPRNbDHfj+rK2RnLq/bfmUk63Jj
         UoDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743181119; x=1743785919;
        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=kwt0wWw15cU3iDvsfvt/iGuQoX23/9gbWMOVikjxBvU=;
        b=szYIeGVQgBroUiqz7jzx6gjAptHNUKlVN1ZyZT1SQvWVquBLP2y1MA9q9aaKBnqXUy
         M+Kot9t8alOZan2kZBuTMFx1yl1Fivav+oy/k0N1WhOpI0u7pJYItdDLxTVmiIHfvLDv
         +3g8amEQi3mISfadtJCdhBVw8itcHXNXMjTrllLvqx9w4+uNmff9EX7bmb4ndbxhD2ZO
         hkPGSp848B5h3isVCxWr6PzFoLfRFJQHpdasFxzIEx6Yj0s5lQt2e/+To3bnHIqTTSHX
         xedbLSi01h8RwuRhdrqumHWqp6vJR/Y7pCKmOMblCTizgaFLQrzFodRGPSDS1UMOXXlt
         uiLA==
X-Gm-Message-State: AOJu0YyANlHRDA8mGnjJdlTSYepIboHV0g/fMfCuxcFavNfoe5k9k7dz
	5dCu5wvyAffuOssK6aKHCtgYdHTNLkqozHXhMIGcFHPt+ngFijiY50JGog==
X-Gm-Gg: ASbGnctW6oILTKseDun53eJJYwBU9Jsc42g0WvAEZcVwofRQ/jQ9BVWFeoL0UFHRW6G
	MA99mBeL/kdQ16JlL6Si8jTPqt11yBd1+zA0hQ6pV1fD2IF+tcrgTAvD1TG5BUVJJdcpB2RbC1P
	d6rCo9Pl6z643ZB2MlWWcEufMWgmH/9DEv+K5Xd5pZkWxcIuQjKOgtz2p3wCPXKQ5m5g/fZT21k
	i0o8iuGN857y8ol2IlyRh18UFv4LwtVQZ7SluFA/sIvNNXiL0xDGjnZrYxVucUCut9rphcsnhku
	99N6D7GrwehiyuSFZAkbnnujdw5Urftl2UIf+TODY7VyG6P919aYtAOjfyN5/oHKTI9StVpjsHx
	sB9m+IBAN/2Gv3A==
X-Google-Smtp-Source: AGHT+IGLQDEXl8otPA1C+1ihHKigubZQOmvfh1UvRwGLeIibdT5hUK5Sm2E9o2r5SBQf9AcdeS8EtQ==
X-Received: by 2002:a05:6402:13d6:b0:5e0:8c55:504 with SMTP id 4fb4d7f45d1cf-5ed8df6b4cbmr6081002a12.7.1743181118590;
        Fri, 28 Mar 2025 09:58:38 -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>,
	Romain Caritey <Romain.Caritey@microchip.com>
Subject: [PATCH v3 3/4] xen/riscv: implement basic aplic_preinit()
Date: Fri, 28 Mar 2025 17:58:31 +0100
Message-ID: <e8f6bfafd2997dae0d07e3f89d4a49b7231828a9.1743165791.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <4ddde60347edf6740fbc69b5739d099616f5b5ff.1743165791.git.oleksii.kurochko@gmail.com>
References: <4ddde60347edf6740fbc69b5739d099616f5b5ff.1743165791.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce preinitialization stuff for the RISC-V Advanced Platform-Level
Interrupt Controller (APLIC) in Xen:
 - Implementing the APLIC pre-initialization function (`aplic_preinit()`),
   ensuring that only one APLIC instance is supported in S mode.
 - Initialize APLIC's correspoinding DT node.
 - Declaring the DT device match table for APLIC.
 - Setting `aplic_info.hw_version` during its declaration.
 - Declaring an APLIC device.

Since Microchip originally developed aplic.c [1], an internal discussion
with them led to the decision to use the MIT license instead of the default
GPL-2.0-only.

[1] https://gitlab.com/xen-project/people/olkur/xen/-/commit/7cfb4bd4748ca268142497ac5c327d2766fb342d

Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - Add _ro_after_init for aplic_info variable.
 - Add inclusion of xen/sections.h.
 - Change S-off-by to Co-developed-by after the discusstion wirh
   Romain C.
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v2:
 - drop initialization of .node member to NULL of aplic_info.
 - s/initcont/initconstrel for aplic_dt_match and put initconstrel between
   type and identifier.
 - Update identation for DT_DEVICE_START(aplic, ...).
 - Update the commit message.
---
 xen/arch/riscv/Makefile           |  1 +
 xen/arch/riscv/aplic.c            | 50 +++++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/intc.h | 20 +++++++++++++
 3 files changed, 71 insertions(+)
 create mode 100644 xen/arch/riscv/aplic.c
 create mode 100644 xen/arch/riscv/include/asm/intc.h

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 82016a957a..dd5fd25c7d 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,3 +1,4 @@
+obj-y += aplic.o
 obj-y += cpufeature.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
new file mode 100644
index 0000000000..caba8f8993
--- /dev/null
+++ b/xen/arch/riscv/aplic.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * xen/arch/riscv/aplic.c
+ *
+ * RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) 2023-2024 Microchip.
+ * Copyright (c) 2024-2025 Vates
+ */
+
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/sections.h>
+#include <xen/types.h>
+
+#include <asm/device.h>
+#include <asm/intc.h>
+
+static struct intc_info __ro_after_init aplic_info = {
+    .hw_version = INTC_APLIC,
+};
+
+static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
+{
+    if ( aplic_info.node )
+    {
+        printk("XEN doesn't support more than one S mode APLIC\n");
+        return -ENODEV;
+    }
+
+    /* don't process if APLIC node is not for S mode */
+    if ( dt_get_property(node, "riscv,children", NULL) )
+        return -ENODEV;
+
+    aplic_info.node = node;
+
+    return 0;
+}
+
+static const struct dt_device_match __initconstrel aplic_dt_match[] =
+{
+    DT_MATCH_COMPATIBLE("riscv,aplic"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(aplic, "APLIC", DEVICE_INTERRUPT_CONTROLLER)
+    .dt_match = aplic_dt_match,
+    .init = aplic_preinit,
+DT_DEVICE_END
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
new file mode 100644
index 0000000000..ff9bb33896
--- /dev/null
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * (c) 2023-2024 Microchip Technology Inc.
+ * (c) 2024 Vates
+ */
+
+#ifndef ASM__RISCV__INTERRUPT_CONTOLLER_H
+#define ASM__RISCV__INTERRUPT_CONTOLLER_H
+
+enum intc_version {
+    INTC_APLIC,
+};
+
+struct intc_info {
+    enum intc_version hw_version;
+    const struct dt_device_node *node;
+};
+
+#endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 17:36:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 17:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931040.1333519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyDdD-0003ut-GM; Fri, 28 Mar 2025 17:36:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931040.1333519; Fri, 28 Mar 2025 17:36: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 1tyDdD-0003um-DH; Fri, 28 Mar 2025 17:36:35 +0000
Received: by outflank-mailman (input) for mailman id 931040;
 Fri, 28 Mar 2025 17: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyDdB-0003ug-K8
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 17:36:33 +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 2d19569b-0bfb-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 18:36:27 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3913b539aabso1458756f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 10:36:27 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b66ab86sm3322652f8f.51.2025.03.28.10.36.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 10:36: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: 2d19569b-0bfb-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743183386; x=1743788186; 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=ueJlsKLJkxEXFgZQaRhI/br6w8/vNs+jY9tzcpOs6oY=;
        b=sgPqX+wT9TUSicBkLWoTDMkTAogp1XzOvP13ISdYNjqW1QB2zvnmq1hDadrP+hWBzo
         EdD/xUABlcovzUfd8G/MGne6uAJL2jnM0M+Mk6pYjTGXZuKvuoes2eKFf++4qsfH6Ot4
         37lL3J4LnlYtqwh8gdbv99KYKwLhNY4b+c8Hk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743183386; x=1743788186;
        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=ueJlsKLJkxEXFgZQaRhI/br6w8/vNs+jY9tzcpOs6oY=;
        b=ugEQn1gxVdW4wDGzLehENTAm/uPzv1UGfjiP6GpBPeU8wlio34xxWv+blW//5Gi/1G
         felRB/U2J8wX4DmFbSHOxes3cdAmIlrp/68mrYdaAMjwYH0LzbyrXcpOylmLBR5u2XIW
         LlgC1aqYD0LoLwcpK5fCctzPcTs94OEqtB2NeCFZft2jUT//F51yLJmCydbcmrnrB7mL
         BT8IA0csolrZ5erJbtwIgeIl1B4jdVhc6+ox39aQiNp4VXtBC9odt/MH3/eLWsdlHGJ3
         UcdSmY0qIpzjgsCRZzS9OkT9sHcmkjGtS13hKbwDLgpcBkS/EixaWS9uuAFzwO1pLAmt
         D55g==
X-Gm-Message-State: AOJu0Yx/WoI8rSbnHJQkWqfd8eaoaaUItplxgabC4VQtoeWeJR9pDrQw
	IpgZwYQZPdFkt6roK6zy5M6CkFqnwLo4dtxqQ2qHdLisdiufT5UIMIS1nQ415skbD8PECgsuPHC
	yods=
X-Gm-Gg: ASbGncviK4YnCdnDxUVd5jKnoeUkniM1Bl9ZQn1Ow9/HD9MZkyIybpTRz61TCBII4w+
	Jo8+KflrnK9Qc83eH7w8R7kQSLmKUsj8DDpKegFP0kRlECNH3SAiCqI/qJQtFDsyYBJtbB9Xv/L
	/b9vN8dan3X7NNurbE4lypUjPEyKPrcQD+iIHNqtojpND7WG5Kfg6q55KKyOQC4fBdXZYycFfJr
	8y5ya7l8xgdHP+zMBuDFyQsR14UeKiZs3Jlg0PPhM+xZJz1MVbPXccB6Kre6tXKPtyHQl5hUe/W
	Fy1SPKy/pxMqnzNG3LOTfic5+PTsDISuVM3FrBcWFPy3j8cV5mJH/rpZbqoPafeEihFfHOT1mFS
	6bcEweySi3Uwk1ehQaQ==
X-Google-Smtp-Source: AGHT+IESleC0WTEPcPPrg1QmNhPbAizZQSvltcOk1rIrPxbYvYabBft4iPOCJcDACiACiMovEZuv7g==
X-Received: by 2002:a05:6000:23c2:b0:391:2f15:c1f4 with SMTP id ffacd0b85a97d-39ad1784ae9mr5671351f8f.55.1743183386183;
        Fri, 28 Mar 2025 10:36:26 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] xen/types: Drop compatibility for GCC < 4.4
Date: Fri, 28 Mar 2025 17:36:23 +0000
Message-Id: <20250328173623.892770-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

We now have compiler types for every standard type we use.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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>
---
 xen/include/xen/stdint.h | 19 -------------------
 xen/include/xen/types.h  |  3 +--
 2 files changed, 1 insertion(+), 21 deletions(-)

diff --git a/xen/include/xen/stdint.h b/xen/include/xen/stdint.h
index a40165c6ae33..dde12964bfe6 100644
--- a/xen/include/xen/stdint.h
+++ b/xen/include/xen/stdint.h
@@ -2,23 +2,6 @@
 #ifndef __XEN_STDINT_H__
 #define __XEN_STDINT_H__
 
-#ifndef __INT8_TYPE__ /* GCC <= 4.4 */
-
-/*
- * Define the types using GCC internal notation.  Clang understands this too.
- * https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html
- */
-typedef   signed __attribute__((__mode__(__QI__)))     int8_t;
-typedef unsigned __attribute__((__mode__(__QI__)))    uint8_t;
-typedef   signed __attribute__((__mode__(__HI__)))    int16_t;
-typedef unsigned __attribute__((__mode__(__HI__)))   uint16_t;
-typedef   signed __attribute__((__mode__(__SI__)))    int32_t;
-typedef unsigned __attribute__((__mode__(__SI__)))   uint32_t;
-typedef   signed __attribute__((__mode__(__DI__)))    int64_t;
-typedef unsigned __attribute__((__mode__(__DI__)))   uint64_t;
-
-#else
-
 typedef __INT8_TYPE__        int8_t;
 typedef __UINT8_TYPE__      uint8_t;
 typedef __INT16_TYPE__      int16_t;
@@ -28,6 +11,4 @@ typedef __UINT32_TYPE__    uint32_t;
 typedef __INT64_TYPE__      int64_t;
 typedef __UINT64_TYPE__    uint64_t;
 
-#endif
-
 #endif /* __XEN_STDINT_H__ */
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 543bfb2159b1..e8d419b95412 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -17,6 +17,7 @@ typedef __SIZE_TYPE__ size_t;
 typedef signed long ssize_t;
 
 typedef __PTRDIFF_TYPE__ ptrdiff_t;
+typedef __UINTPTR_TYPE__ uintptr_t;
 
 /*
  * Users of this macro are expected to pass a positive value.
@@ -58,8 +59,6 @@ typedef uint32_t __be32;
 typedef uint64_t __le64;
 typedef uint64_t __be64;
 
-typedef unsigned int __attribute__((__mode__(__pointer__))) uintptr_t;
-
 #define test_and_set_bool(b)   xchg(&(b), true)
 #define test_and_clear_bool(b) xchg(&(b), false)
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 17:36:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 17:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931041.1333529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyDdK-00049g-MI; Fri, 28 Mar 2025 17:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931041.1333529; Fri, 28 Mar 2025 17:36: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 1tyDdK-00049W-JY; Fri, 28 Mar 2025 17:36:42 +0000
Received: by outflank-mailman (input) for mailman id 931041;
 Fri, 28 Mar 2025 17:36: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=IZL4=WP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tyDdK-0003ug-4y
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 17:36:42 +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 351f0710-0bfb-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 18:36:40 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso25094825e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 10:36:40 -0700 (PDT)
Received: from localhost.localdomain (host-92-26-98-202.as13285.net.
 [92.26.98.202]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d82efdff2sm77485715e9.17.2025.03.28.10.36.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Mar 2025 10: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: 351f0710-0bfb-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743183400; x=1743788200; 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=Eb510Sz4jwK6HudhekiqhzPdrg8Izlk7/h2Nnn+atMM=;
        b=KC8i2+hc80+auIYgfXNfHgXtpYA1ZWdtp+hUjqByHNK7RPNZhSUPgRmwxtE+XMgYuC
         rMr/VkO3q07rdemKQ5xCUAsAlCFaVGMTJONyc/srf7gz9i68iHSFA2x1MC0/u1BBsGe2
         3uqua2MkZqQ48tfeEOQKk77Rp1TGZd45Q1ySk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743183400; x=1743788200;
        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=Eb510Sz4jwK6HudhekiqhzPdrg8Izlk7/h2Nnn+atMM=;
        b=n3hwPRJBpbmJ3aeTQizN9d9KBJE5C1x9qLuXeflQ0UJVCyHRi4dEnBlM1jhXqkiXkq
         +2CCDJ6r9UOaIzDZaU9YVR00ylpr3MIU1bZATp0wBIHqFyZ0wH/AwbxZAHCNfawDi5hE
         O6XRyW0ZEDd7iM9q7bO3zA0J6kuXdl/yuMkbeXA3SUwTRRmdY+ISFfm2aNVVZceY2Q7O
         8E9886xC66alW/fA+jBz5oAPFBZTG7OFHaVjhTonYDpFMA3BTV341jky9c0CSaDcz3QG
         S0D2mnG6V6Lla91Tw7ig6zp7p0NJHo00bVzt5Xtq5OFan7ayShV6RXAPxsv4W4C7KVGO
         Gq7w==
X-Gm-Message-State: AOJu0YxOiFuyVEu00b01LNyGeelVUppadl2e+KAomxFMkkecj1BgFqXS
	kTrcjZn2WhdUYK8F8H/mo3cmNrUItPRorPPhp4/HCZ2YR+XujYJUSj40frat8ij9Q2LuWezjMri
	+u0k=
X-Gm-Gg: ASbGncvP8FUUPq5OBu2i5g8AqmCols4SmPcAd8FU4NjDivVfRkH+1I3VIARD1gkOR5C
	pjd23dHG3KJU5liLsW2qFySE8HFquKH+fT+qWd1Z+ouU4GBdPv2CbPEFCI2BSjCDawsPimEWTTr
	vwEDKRIi9AExKKLnyZTbGPyXauBi0kDP9rS4eMcJ9iou7WmMTh7veKu5tc926yCMh73INK6J5/y
	gdnrJ4DUtiyvjraJ6SeheIJmE3XKxMVdHDiogGIQszG1MzQ8jFSKCJeyw2WaqogCyKjx2NsycS/
	81g7TJHeIsmztGu3xSmaxFWpp+glOWToH7lBbGk/GgLfGE8qSr55o8mIAt64BQ1+ufgICfdqbhf
	iWbhZNDic+i2Q9waNo9ld+kVC3ne9
X-Google-Smtp-Source: AGHT+IFsu51n6ocw5x63uB2WGAgmrS1OWXdzA8DKortXtjEkphBT7d7yn+VjCKbypxqJv2Uo+/S+pA==
X-Received: by 2002:a05:600c:c0f:b0:43d:b51:46fb with SMTP id 5b1f17b1804b1-43db61d8dd7mr3689055e9.2.1743183399691;
        Fri, 28 Mar 2025 10:36: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86emul: Fix blowfish build in 64bit-clean environments
Date: Fri, 28 Mar 2025 17:36:37 +0000
Message-Id: <20250328173637.892960-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

In a 64bit-clean environment, blowfish fails:

  make[6]: Leaving directory
  '/builddir/build/BUILD/xen-4.19.1/tools/tests/x86_emulator'
  In file included from /usr/include/features.h:535,
                   from /usr/include/bits/libc-header-start.h:33,
                   from /usr/include/stdint.h:26,
                   from
  /usr/lib/gcc/x86_64-xenserver-linux/12/include/stdint.h:9,
                   from blowfish.c:18:
  /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such
  file or directory
      7 | # include <gnu/stubs-32.h>
        |           ^~~~~~~~~~~~~~~~
  compilation terminated.
  make[6]: *** [testcase.mk:15: blowfish.bin] Error 1

because of lack of glibc-i386-devel or equivelent.  It's non-fatal, but
reduces the content in test_x86_emulator, which we do care about running.

Instead, convert all emulator testcases to being freestanding builds, resuing
the tools/firmware/include/ headers.

This in turn requires making firmware's stdint.h compatible with 64bit builds.
We now have compiler types for every standard type we use.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnĂŠ <roger.pau@citrix.com>
---
 tools/firmware/include/stdint.h      | 27 ++++++++++-----------------
 tools/tests/x86_emulator/testcase.mk |  3 ++-
 2 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/tools/firmware/include/stdint.h b/tools/firmware/include/stdint.h
index 16a0b6de19c2..5c41cb8bdafc 100644
--- a/tools/firmware/include/stdint.h
+++ b/tools/firmware/include/stdint.h
@@ -1,21 +1,14 @@
 #ifndef _STDINT_H_
 #define _STDINT_H_
 
-#if defined(__LP64__) || defined(__P64__)
-#error "32bit only header"
-#endif
-
-typedef unsigned char uint8_t;
-typedef signed char int8_t;
-
-typedef unsigned short uint16_t;
-typedef signed short int16_t;
-
-typedef unsigned int uint32_t;
-typedef signed int int32_t;
-
-typedef unsigned long long uint64_t;
-typedef signed long long int64_t;
+typedef __INT8_TYPE__        int8_t;
+typedef __UINT8_TYPE__      uint8_t;
+typedef __INT16_TYPE__      int16_t;
+typedef __UINT16_TYPE__    uint16_t;
+typedef __INT32_TYPE__      int32_t;
+typedef __UINT32_TYPE__    uint32_t;
+typedef __INT64_TYPE__      int64_t;
+typedef __UINT64_TYPE__    uint64_t;
 
 #define INT8_MIN        (-0x7f-1)
 #define INT16_MIN       (-0x7fff-1)
@@ -32,8 +25,8 @@ typedef signed long long int64_t;
 #define UINT32_MAX      0xffffffffu
 #define UINT64_MAX      0xffffffffffffffffull
 
-typedef uint32_t uintptr_t;
+typedef __UINTPTR_TYPE__  uintptr_t;
 
-#define UINTPTR_MAX     UINT32_MAX
+#define UINTPTR_MAX     __UINTPTR_MAX__
 
 #endif
diff --git a/tools/tests/x86_emulator/testcase.mk b/tools/tests/x86_emulator/testcase.mk
index 7875b95d7c97..e47fd0917b54 100644
--- a/tools/tests/x86_emulator/testcase.mk
+++ b/tools/tests/x86_emulator/testcase.mk
@@ -4,7 +4,8 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 
-CFLAGS += -fno-builtin -fno-stack-protector -g0 $($(TESTCASE)-cflags)
+CFLAGS += -ffreestanding -nostdinc -I$(XEN_ROOT)/tools/firmware/include
+CFLAGS += -fno-stack-protector -g0 $($(TESTCASE)-cflags)
 
 LDFLAGS_DIRECT += $(shell { $(LD) -v --warn-rwx-segments; } >/dev/null 2>&1 && echo --no-warn-rwx-segments)
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 17:41:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 17:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931063.1333539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyDhp-0007Cp-Av; Fri, 28 Mar 2025 17:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931063.1333539; Fri, 28 Mar 2025 17: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 1tyDhp-0007Ch-88; Fri, 28 Mar 2025 17:41:21 +0000
Received: by outflank-mailman (input) for mailman id 931063;
 Fri, 28 Mar 2025 17: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=NUbA=WP=desiato.srs.infradead.org=BATV+f878977c41f865a1c0ff+7887+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tyDhn-0007CY-2c
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 17:41:20 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d77f84d0-0bfb-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 18:41:13 +0100 (CET)
Received: from [172.31.31.145] (helo=u09cd745991455d.lumleys.internal)
 by desiato.infradead.org with esmtpsa (Exim 4.98.1 #2 (Red Hat Linux))
 id 1tyDhB-00000006DLq-300h; Fri, 28 Mar 2025 17:40: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: d77f84d0-0bfb-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; 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=JPnCPVoECrVtgQmaLfb1ZqnjBAKnYw/LBS5xfH/Kzww=; b=mIpcsHT9ueH/HTYaC3UUPeUmB8
	cYLPyUP2/NMHkSmxzWU5Y9B8nle6J9YPQwHUgwr3k7PLnKveWOECAW0NUCdR+OXz9MgUuCROON7XO
	WrTVDstuDkFk/XrX3L+e/Buyd18RDzTGVKJfkNcdEZhh4WelFGwV1LLboes5efY2KI93y30wB2Urt
	HdCNYv3YAsve/Ijqffij5xONnCURved7MXUT6bVa1B8uGqwX3uAJPLBLsldQb/+z29Okofw0Q6NUs
	TCwhxsjyrNiFX46HZN+Yf1HKLrzVBeVoIgzDh5I2bNlstzI6mGCIjxrapftKzNhZbukPZlojelKnr
	vJkyxH4A==;
Message-ID: <8e7084b04e5c0456c0ff32ea131a199c6af763cd.camel@infradead.org>
Subject: Re: Using Restricted DMA for virtio-pci
From: David Woodhouse <dwmw2@infradead.org>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>, 
 mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>, Will Deacon
 <will@kernel.org>,  Frank Rowand <frowand.list@gmail.com>, Konrad Rzeszutek
 Wilk <konrad.wilk@oracle.com>,  boris.ostrovsky@oracle.com,
 jgross@suse.com, Christoph Hellwig <hch@lst.de>,  Marek Szyprowski
 <m.szyprowski@samsung.com>, heikki.krogerus@linux.intel.com,
 peterz@infradead.org,  benh@kernel.crashing.org, grant.likely@arm.com,
 paulus@samba.org, mingo@kernel.org,  sstabellini@kernel.org, Saravana
 Kannan <saravanak@google.com>,  xypron.glpk@gmx.de, "Rafael J . Wysocki"
 <rafael.j.wysocki@intel.com>,  Bartosz Golaszewski
 <bgolaszewski@baylibre.com>, xen-devel@lists.xenproject.org, Thierry Reding
 <treding@nvidia.com>,  linux-devicetree <devicetree@vger.kernel.org>,
 linuxppc-dev@lists.ozlabs.org, Nicolas Boichat <drinkcat@chromium.org>, 
 Dan Williams <dan.j.williams@intel.com>, Andy Shevchenko
 <andriy.shevchenko@linux.intel.com>, Greg KH <gregkh@linuxfoundation.org>,
 Randy Dunlap <rdunlap@infradead.org>, lkml <linux-kernel@vger.kernel.org>,
 "list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>, Jim
 Quinlan <james.quinlan@broadcom.com>,  Robin Murphy <robin.murphy@arm.com>,
 hch@infradead.org, Jason Wang <jasowang@redhat.com>, Xuan Zhuo
 <xuanzhuo@linux.alibaba.com>, Eugenio =?ISO-8859-1?Q?P=E9rez?=
 <eperezma@redhat.com>, virtualization@lists.linux.dev, graf@amazon.de
Date: Fri, 28 Mar 2025 17:40:41 +0000
In-Reply-To: <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
	 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
	 <20250321142947-mutt-send-email-mst@kernel.org>
	 <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-bs5xdYihL7ybWVIuw5hf"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2025-03-21 at 18:42 +0000, David Woodhouse wrote:
> On Fri, 2025-03-21 at 14:32 -0400, Michael S. Tsirkin wrote:
> > On Fri, Mar 21, 2025 at 03:38:10PM +0000, David Woodhouse wrote:
> > > On Tue, 2021-02-09 at 14:21 +0800, Claire Chang wrote:
> > > > This series implements mitigations for lack of DMA access control o=
n
> > > > systems without an IOMMU, which could result in the DMA accessing t=
he
> > > > system memory at unexpected times and/or unexpected addresses, poss=
ibly
> > > > leading to data leakage or corruption.
> > >=20
> > > Replying to an ancient (2021) thread which has already been merged...
> > >=20
> > > I'd like to be able to use this facility for virtio devices.
> > >=20
> > > Virtio already has a complicated relationship with the DMA API, becau=
se
> > > there were a bunch of early VMM bugs where the virtio devices where
> > > magically exempted from IOMMU protection, but the VMM lied to the gue=
st
> > > and claimed they weren't.
> > >=20
> > > With the advent of confidential computing, and the VMM (or whatever's
> > > emulating the virtio device) not being *allowed* to arbitrarily acces=
s
> > > all of the guest's memory, the DMA API becomes necessary again.
> > >=20
> > > Either a virtual IOMMU needs to determine which guest memory the VMM
> > > may access, or the DMA API is wrappers around operations which
> > > share/unshare (or unencrypt/encrypt) the memory in question.
> > >=20
> > > All of which is complicated and slow, if we're looking at a minimal
> > > privileged hypervisor stub like pKVM which enforces the lack of guest
> > > memory access from VMM.
> > >=20
> > > I'm thinking of defining a new type of virtio-pci device which cannot
> > > do DMA to arbitrary system memory. Instead it has an additional memor=
y
> > > BAR which is used as a SWIOTLB for bounce buffering.
> > >=20
> > > The driver for it would look much like the existing virtio-pci device
> > > except that it would register the restricted-dma region first (and th=
us
> > > the swiotlb dma_ops), and then just go through the rest of the setup
> > > like any other virtio device.
> > >=20
> > > That seems like it ought to be fairly simple, and seems like a
> > > reasonable way to allow an untrusted VMM to provide virtio devices wi=
th
> > > restricted DMA access.
> > >=20
> > > While I start actually doing the typing... does anyone want to start
> > > yelling at me now? Christoph? mst? :)
> >=20
> >=20
> > I don't mind as such (though I don't understand completely), but since
> > this is changing the device anyway, I am a bit confused why you can't
> > just set the VIRTIO_F_ACCESS_PLATFORM feature bit?=C2=A0 This forces DM=
A API
> > which will DTRT for you, will it not?
>=20
> That would be necessary but not sufficient. ...

My first cut at a proposed spec change looks something like this. I'll
post it to the virtio-comment list once I've done some corporate
bureaucracy and when the list stops sending me python tracebacks in
response to my subscribe request.

In the meantime I'll hack up some QEMU and guest Linux driver support
to match.

diff --git a/content.tex b/content.tex
index c17ffa6..1e6e1d6 100644
--- a/content.tex
+++ b/content.tex
@@ -773,6 +773,9 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feat=
ure Bits}
 Currently these device-independent feature bits are defined:
=20
 \begin{description}
+  \item[VIRTIO_F_SWIOTLB (27)] This feature indicates that the device
+  provides a memory region which is to be used for bounce buffering,
+  rather than permitting direct memory access to system memory.
   \item[VIRTIO_F_INDIRECT_DESC (28)] Negotiating this feature indicates
   that the driver can use descriptors with the VIRTQ_DESC_F_INDIRECT
   flag set, as described in \ref{sec:Basic Facilities of a Virtio
@@ -885,6 +888,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Fea=
ture Bits}
 VIRTIO_F_ACCESS_PLATFORM is not offered, then a driver MUST pass only phys=
ical
 addresses to the device.
=20
+A driver SHOULD accept VIRTIO_F_SWIOTLB if it is offered, and it MUST
+then pass only addresses within the Software IOTLB bounce buffer to the
+device.
+
 A driver SHOULD accept VIRTIO_F_RING_PACKED if it is offered.
=20
 A driver SHOULD accept VIRTIO_F_ORDER_PLATFORM if it is offered.
@@ -921,6 +928,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Fea=
ture Bits}
 A device MAY fail to operate further if VIRTIO_F_ACCESS_PLATFORM is not
 accepted.
=20
+A device MUST NOT offer VIRTIO_F_SWIOTLB if its transport does not
+provide a Software IOTLB bounce buffer.
+A device MAY fail to operate further if VIRTIO_F_SWIOTLB is not accepted.
+
 If VIRTIO_F_IN_ORDER has been negotiated, a device MUST use
 buffers in the same order in which they have been available.
=20
diff --git a/transport-pci.tex b/transport-pci.tex
index a5c6719..23e0d57 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -129,6 +129,7 @@ \subsection{Virtio Structure PCI Capabilities}\label{se=
c:Virtio Transport Option
 \item ISR Status
 \item Device-specific configuration (optional)
 \item PCI configuration access
+\item SWIOTLB bounce buffer
 \end{itemize}
=20
 Each structure can be mapped by a Base Address register (BAR) belonging to
@@ -188,6 +189,8 @@ \subsection{Virtio Structure PCI Capabilities}\label{se=
c:Virtio Transport Option
 #define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8
 /* Vendor-specific data */
 #define VIRTIO_PCI_CAP_VENDOR_CFG        9
+/* Software IOTLB bounce buffer */
+#define VIRTIO_PCI_CAP_SWIOTLB           10
 \end{lstlisting}
=20
         Any other value is reserved for future use.
@@ -744,6 +747,36 @@ \subsubsection{Vendor data capability}\label{sec:Virti=
o
 The driver MUST qualify the \field{vendor_id} before
 interpreting or writing into the Vendor data capability.
=20
+\subsubsection{Software IOTLB bounce buffer capability}\label{sec:Virtio
+Transport Options / Virtio Over PCI Bus / PCI Device Layout /
+Software IOTLB bounce buffer capability}
+
+The optional Software IOTLB bounce buffer capability allows the
+device to provide a memory region which can be used by the driver
+driver for bounce buffering. This allows a device on the PCI
+transport to operate without DMA access to system memory addresses.
+
+The Software IOTLB region is referenced by the
+VIRTIO_PCI_CAP_SWIOTLB capability. Bus addresses within the referenced
+range are not subject to the requirements of the VIRTIO_F_ORDER_PLATFORM
+capability, if negotiated.
+
+\devicenormative{\paragraph}{Software IOTLB bounce buffer capability}{Virt=
io
+Transport Options / Virtio Over PCI Bus / PCI Device Layout /
+Software IOTLB bounce buffer capability}
+
+Devices which present the Software IOTLB bounce buffer capability
+SHOULD also offer the VIRTIO_F_SWIOTLB feature.
+
+\drivernormative{\paragraph}{Software IOTLB bounce buffer capability}{Virt=
io
+Transport Options / Virtio Over PCI Bus / PCI Device Layout /
+Software IOTLB bounce buffer capability}
+
+The driver SHOULD use the offered buffer in preference to passing system
+memory addresses to the device. If the driver accepts the VIRTIO_F_SWIOTLB
+feature, then the driver MUST use the offered buffer and never pass system
+memory addresses to the device.
+
 \subsubsection{PCI configuration access capability}\label{sec:Virtio Trans=
port Options / Virtio Over PCI Bus / PCI Device Layout / PCI configuration =
access capability}
=20
 The VIRTIO_PCI_CAP_PCI_CFG capability


--=-bs5xdYihL7ybWVIuw5hf
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDMyODE3NDA0
MVowLwYJKoZIhvcNAQkEMSIEILaExtDESalMeFyIU2xg64vA50PsSQye7UMm5La4Np80MGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAlgN9cFuRR7gt
l9Q424/euwCZUGEArW6YxaaPwuUG0NgoQSK+5qZs3K5KtEW3vbsNqX8r3LEWywSgZhSRBvQB164W
U+U0Qu8u65Sei/HSEJXXuKCohAEuuL35I1VSmQcx4/9wkVuyddaTOyq+pdHSsXodR8qke2wQlTKv
qipXg9lMdqv2M83jXMHl+nmfZ8nyUTFWhVZzNax80WgmDSF7Q39VG7NMsg6yj2nVBtOfEtci9n3v
DtGSjKbYGl0TzX6kIk7W23IVOMRdSUZMdPS4xCjRo6Wnea4MqBRkXxfZ4/g99W576bjRkOjtzWal
H7ilg+Dr4KRG06rpraec4eEGHQ1MvGn2FbGV9Ux2kILdvYQTiIp9GPFj2s3w+VITZN4IPo7CCOoG
Kk7XfsebF7XX3JSr5OEcPNmY3YiPiKrsTRiIcDSrdyAORQ/6gIjJOJT1V0u8r9yEMrgtXUyFp7b7
PO9p6+cHUAhWMkManMs1zrZUf4O2q+lXIWxCefWDEj/tA+En4PMIrQZ7thYE1N19mjvUM5tl1V52
jcl+woTy37QthLb1tcXTLCSXfXiTizdPqCzMFzgiFpRM444c2BPEz2AgLVwY9aIV0laWaawdXMA0
ie/24PNYZh5n9ixcckBNH8iGVqgpWxlkV+Yt9sxJlBTo/VRCJnwI1BKY5UXeHzoAAAAAAAA=


--=-bs5xdYihL7ybWVIuw5hf--


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 17:46:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 17:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931073.1333549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyDnA-0007nY-TJ; Fri, 28 Mar 2025 17:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931073.1333549; Fri, 28 Mar 2025 17: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 1tyDnA-0007nR-QO; Fri, 28 Mar 2025 17:46:52 +0000
Received: by outflank-mailman (input) for mailman id 931073;
 Fri, 28 Mar 2025 17:46: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=6s0n=WP=bounce.vates.tech=bounce-md_30504962.67e6e084.v1-c1b077ff6187435ba77bcdf0d0da95b4@srs-se1.protection.inumbo.net>)
 id 1tyDn9-0007nL-V5
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 17:46:52 +0000
Received: from mail187-9.suw11.mandrillapp.com
 (mail187-9.suw11.mandrillapp.com [198.2.187.9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9da4b197-0bfc-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 18:46:46 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-9.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4ZPSdJ41LMzK5vjQQ
 for <xen-devel@lists.xenproject.org>; Fri, 28 Mar 2025 17:46:44 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 c1b077ff6187435ba77bcdf0d0da95b4; Fri, 28 Mar 2025 17:46: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: 9da4b197-0bfc-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1743184004; x=1743454004;
	bh=m1WbUotnscR04/ZTJ9CfbRbGTSugA8wABybHup+Azp8=;
	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=sfzF0juklIDTwuKpMoI/ACJLMJw4VAuo8sm64rITrXE3Aw0rqP4Mjl9IP1+ZRMtNJ
	 Io3gFWmAPbaLv5abswdZIy8Qw0rcLwICtMy0KhUISPLuEuHJx3OCuCaH18t9ZcfzjM
	 XXJgDn2yTwu92PlXpOhjlxlzn4DsIouZJ7FpZJ4k9IMF92hb3Wb+MzDS5vVROG1x8N
	 7iWiZmfCLFzDNzy4Caka0wEEU4B3ktjp8zKD3nMrA67XbqveuuVBsj1SUVPujnrET+
	 UK2mOXIJNipaDwnvmtRD5Q51LxRSghr9IDqY6t/KzIJU0XO2ft/mwb9t3Sh6WFngHM
	 m3cY1RJLVbYIQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1743184004; x=1743444504; i=teddy.astie@vates.tech;
	bh=m1WbUotnscR04/ZTJ9CfbRbGTSugA8wABybHup+Azp8=;
	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=NzGJYV7bo49v/t//9+4ad2eCZY2rVWf3DFB6hmJN6qoko26YABA3HOCcUznMelZob
	 Ja26L7A2eCBIQIpOP7jb9iByaMQksku5grfY8eZhRhFhigv3qlHvq5jyZJfX49A2JZ
	 +0coVJiUGUUK8As/awgQXFjRAKAAwOo8lrKTRxsfRwz60aQdeI0v5CgmCrbHutRhMM
	 lYfb7o0YzQ3OOLNXj0PKxXZcSj7cVPb4dKHTDH0B7LsF4mT2vO0EnGUR58fw0wOR4A
	 Z3DMYWy9OLkVuxQ4AORN60xkDqi5R19ODvetkiPZqMs+3XmiSGLB90Q+eIMtBKWp8L
	 oYxezfl/WI8Jw==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20Allocating=20SEV=20C-bit-cleared=20pages=20(without=20relying=20on=20swiotlb)?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1743184003761
Message-Id: <00078e1c-e428-4ad9-8041-54b83f913f9e@vates.tech>
To: "Michael Kelley" <mhklinux@outlook.com>, linux-kernel@vger.kernel.org, linux-mm@vger.kernel.org
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <b16ec2d7-4a84-482f-b875-d7c152facab5@vates.tech> <SN6PR02MB4157AFE96ADCA3D504909FFAD4A02@SN6PR02MB4157.namprd02.prod.outlook.com>
In-Reply-To: <SN6PR02MB4157AFE96ADCA3D504909FFAD4A02@SN6PR02MB4157.namprd02.prod.outlook.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.c1b077ff6187435ba77bcdf0d0da95b4?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20250328:md
Date: Fri, 28 Mar 2025 17:46:44 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 28/03/2025 =C3=A0 17:31, Michael Kelley a =C3=A9crit=C2=A0:
> From: Teddy Astie <teddy.astie@vates.tech> Sent: Thursday, March 27, 2025=
 7:12 AM
>> To: linux-kernel@vger.kernel.org; linux-mm@vger.kernel.org
>> Cc: Xen-devel <xen-devel@lists.xenproject.org>
>> Subject: Allocating SEV C-bit-cleared pages (without relying on swiotlb)
>>
>> Hello Linux mailing list !
>>
>> For porting Linux code to make it work on Xen with AMD-SEV, I need to
>> change the allocation of some pages to use "shared pages" (C-bit
>> cleared) instead of private pages (C-bit set, which is the default kind)
>> as these pages needs to be shared with the hypervisor/Dom0.
>>
>> Is there a facility to allocate pages with C-bit cleared (and if not
>> running under SEV, just allocate a plain page) ? Current Linux code for
>> SEV seems to only rely on swiotlb as access to shared page is mostly
>> made through DMA-kind devices (e.g virtio or emulated device), but I
>> don't think it is the best approach.
>>
> 
> For allocating memory that can be shared with the hypervisor,
> allocate memory as usual (with alloc_pages(), for example), then
> call set_memory_decrypted() on that memory. This approach
> works in general for Confidential Computing (CoCo) VMs,
> regardless of whether the underlying hardware is AMD SEV-SNP,
> Intel TDX, or ARM64 CCA.  If you are running in a non-CoCo
> VM, set_memory_decrypted() is a no-op, so you can call it
> without having to check whether you are in a CoCo VM.
> 
> When freeing the memory, do the reverse. Call
> set_memory_encrypted() first, then free the memory as
> usual. Note that if set_memory_encrypted() fails for any
> reason, just leak the memory instead of freeing it because
> the encrypted state is unknown after such a failure.
> 
> If you search for set_memory_decrypted() in kernel code,
> you'll find several examples.  See drivers/hv/hv_connection.c
> as one place where code for running on Hyper-V follows
> this paradigm. There are several other examples as well.
> 
> Michael

set_memory_decrypted does the job.

Thanks
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 Mar 28 18:34:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 18:34:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931100.1333559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyEWk-0002FP-AB; Fri, 28 Mar 2025 18:33:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931100.1333559; Fri, 28 Mar 2025 18:33: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 1tyEWk-0002FI-6l; Fri, 28 Mar 2025 18:33:58 +0000
Received: by outflank-mailman (input) for mailman id 931100;
 Fri, 28 Mar 2025 18:33:57 +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 1tyEWj-0002FC-2w
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 18:33:57 +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 1tyEWi-00Dyra-29;
 Fri, 28 Mar 2025 18:33:56 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1tyEWi-004sfi-1I;
 Fri, 28 Mar 2025 18: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>
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=NWLdUjpR0CwycMDquRU0obRdy6nuOA1JYtgOfh43BGs=; b=LSGIlTub5MtDqUZsAU7HHzpGcq
	C8lx+H0TsN/PJCz9TSfogs8t30IMqR1UEy9XBOwKhQ3RPh9AXldbLC2cdosFP99/sPt/HABfB2GY0
	G2vm1uhdlqbG8Zg8MLQ9EWNfG4xwuW7rIWtzqUCLc5W1DMcpdKolOo6wmc/neE1coKgU=;
Message-ID: <86536df8-54d1-432a-af77-e72331a9dc37@xen.org>
Date: Fri, 28 Mar 2025 18:33:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 1/6] Arm32: use new-style entry annotations for
 library code
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <6c071ddd-1e9b-44ea-a07c-3d049abefaa3@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6c071ddd-1e9b-44ea-a07c-3d049abefaa3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/03/2025 08:06, Jan Beulich wrote:
> No functional change, albeit all globals now become hidden, and aliasing
> symbols (__aeabi_{u,}idiv) lose their function-ness and size.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 18:40:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 18:40:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931109.1333568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyEcc-000341-Tj; Fri, 28 Mar 2025 18:40:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931109.1333568; Fri, 28 Mar 2025 18:40: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 1tyEcc-00033d-QR; Fri, 28 Mar 2025 18:40:02 +0000
Received: by outflank-mailman (input) for mailman id 931109;
 Fri, 28 Mar 2025 18:40:01 +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 1tyEcb-0002re-L4
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 18:40:01 +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 1tyEcb-00Dz2W-0Q;
 Fri, 28 Mar 2025 18:40:01 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1tyEca-004suz-31;
 Fri, 28 Mar 2025 18:40: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=K8133s5PqlbPsfSFFKrwQMACdFoc8hvmQjWg8+o6Udg=; b=k7nfocitoU+9jy4jF6NWjMV+jz
	9o2e2IMUXPb7gcfrgPX537ScblekvAAQZRm3rpw8sD3j6MviBg68iadZmfHz8iE6M8qBU7a8KyRma
	/1Nx0VArGkrGsgnMQe8ap+N5XSn70uqcJaYRcgEEXZ/Pm3BulKQRUDbv0sNw014T/vfs=;
Message-ID: <dad70c39-c398-4641-8775-ffb1b896367e@xen.org>
Date: Fri, 28 Mar 2025 18:39:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 2/6] Arm32: use new-style entry annotations for
 MMU code
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <1287edd8-188f-4b1a-b087-0beb3eea5ed4@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1287edd8-188f-4b1a-b087-0beb3eea5ed4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/03/2025 08:07, Jan Beulich wrote:
> Locally override SYM_PUSH_SECTION() to retain the intended section
> association.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
> ---
> v7: New.
> 
> --- a/xen/arch/arm/arm32/mmu/head.S
> +++ b/xen/arch/arm/arm32/mmu/head.S
> @@ -160,6 +160,13 @@
>   .endm
>   
>   .section .text.idmap, "ax", %progbits
> +/*
> + * Code below wants to all live in the section established above.  Annotations
> + * from xen/linkage.h therefore may not switch sections (honoring
> + * CONFIG_CC_SPLIT_SECTIONS).  Override the respective macro.
> + */
> +#undef SYM_PUSH_SECTION
> +#define SYM_PUSH_SECTION(name, attr)

AFAICT, SYM_PUSH_SECTION doesn't exist yet. It is introduced by patch 
#6. Should this be moved to the last patch?

The rest of the patch LGTM to me. So with this addressed:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 18:47:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 18:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931122.1333579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyEjO-0005aV-OW; Fri, 28 Mar 2025 18:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931122.1333579; Fri, 28 Mar 2025 18:47: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 1tyEjO-0005aO-Ll; Fri, 28 Mar 2025 18:47:02 +0000
Received: by outflank-mailman (input) for mailman id 931122;
 Fri, 28 Mar 2025 18:47:01 +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 1tyEjN-0005aI-J8
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 18:47:01 +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 1tyEjN-00DzAz-0F;
 Fri, 28 Mar 2025 18:47:01 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1tyEjM-004tDZ-2w;
 Fri, 28 Mar 2025 18:47: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qJe3EosGfvejJMgf1jZ3Dh4daxzSJ0nrq4yYUdadJ5g=; b=ijj54IaJbMw3+t/Fa3oO91uy3r
	3dvUw8OBAekiL6jHKn7E99Pcqon87UrXDCH7eCXEBQTPuB1udIHx0yqMx0AdF/1kaRHYbci0t+i5Y
	QU1EVdKg2Ef/hgUFk0SZPA17fmPLHXgzhDPLn15i92P2YinCFAa/2fD4B5hFErvdTPVQ=;
Message-ID: <a1c41776-fb5e-4b83-a6f0-b4370a0c0e0e@xen.org>
Date: Fri, 28 Mar 2025 18:46:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 3/6] Arm32: use new-style entry annotations for
 entry code
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <149aff98-bccb-4671-9961-484e5651bf1f@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <149aff98-bccb-4671-9961-484e5651bf1f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/03/2025 08:07, Jan Beulich wrote:
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm

Acked-by: Julien Grall <jgrall@amazon.com>

> ---
> Should the GLOBAL()s also be replaced?

I guess the goal is to use helper from xen/linkage.h. So I would say 
yes. It doesn't need to be done in this series though.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 18:48:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 18:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931130.1333589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyEkT-00065b-0U; Fri, 28 Mar 2025 18:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931130.1333589; Fri, 28 Mar 2025 18: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 1tyEkS-00065U-Tp; Fri, 28 Mar 2025 18:48:08 +0000
Received: by outflank-mailman (input) for mailman id 931130;
 Fri, 28 Mar 2025 18:48:08 +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 1tyEkS-00065O-8N
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 18:48:08 +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 1tyEkR-00DzC5-34;
 Fri, 28 Mar 2025 18:48:07 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1tyEkR-004tHi-2a;
 Fri, 28 Mar 2025 18: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>
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=WTj1RdbGPcTHJ3WIrKDrW+XcHyuV8vLh9F8cTYhnEws=; b=dQBgvPsD36JLK26TXReWM/tWS8
	dUm6cfEuE19oWtyVKFYXOFLMKEXLUVZrC87v/4fW/Y+cwipO24EeWZid0w2aJ68DJjxJ6HgsLfpjt
	ZqCLBt0Skce2O9YvHLSuCEFzsOEYKpS7KClz8Q6WMiKMr/7kiRnDeFaGN77hEmAC3ya8=;
Message-ID: <aa3da97a-a655-47a9-b7e7-898df2a2bbb6@xen.org>
Date: Fri, 28 Mar 2025 18:48:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 4/6] Arm32: use new-style entry annotations in
 head.S
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <cffeb50d-5d99-4fa9-871c-f710da8bd028@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <cffeb50d-5d99-4fa9-871c-f710da8bd028@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/03/2025 08:08, Jan Beulich wrote:
> Locally override SYM_PUSH_SECTION() to retain the intended section
> association.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
> ---
> v8: Re-base.
> v7: New.
> 
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -48,13 +48,20 @@
>   
>           .section .text.header, "ax", %progbits
>           .arm
> +/*
> + * Code below wants to all live in the section established above.  Annotations
> + * from xen/linkage.h therefore may not switch sections (honoring
> + * CONFIG_CC_SPLIT_SECTIONS).  Override the respective macro.
> + */
> +#undef SYM_PUSH_SECTION
> +#define SYM_PUSH_SECTION(name, attr)

Similar to patch #2, I think SYM_PUSH_SECTION doesn't yet exist.

With that fixed:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 18:48:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 18:48:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931139.1333599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyElC-0006bB-8M; Fri, 28 Mar 2025 18:48:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931139.1333599; Fri, 28 Mar 2025 18:48: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 1tyElC-0006b4-4k; Fri, 28 Mar 2025 18:48:54 +0000
Received: by outflank-mailman (input) for mailman id 931139;
 Fri, 28 Mar 2025 18:48: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 1tyElA-0006ar-FP
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 18:48: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 1tyElA-00DzCo-0f;
 Fri, 28 Mar 2025 18:48:52 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1tyElA-004tJN-0A;
 Fri, 28 Mar 2025 18:48: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=15BJ7FZZ3sCpKjquQdflkFx5KJ0ZCoLfshzLMFGQsCE=; b=CBL1p6Dn8a7n+lZA+pdNLl0Lzo
	6qq+Z0BHzJwnq3p2HKTIPCADNrBScwri1mV5sZhBp/NjypoW3WJfq6KbL5Kramq3/E+a1TPHHLTCi
	XVsSDTZjq99wzKQGqGHInHr5Xo4xx3eidKYo9n3Iak+DQGoXApiBoMGYK6SNSidFSVcg=;
Message-ID: <0991c762-0709-41db-9e3d-5be1a19afaa4@xen.org>
Date: Fri, 28 Mar 2025 18:48:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 4/6] Arm32: use new-style entry annotations in
 head.S
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <cffeb50d-5d99-4fa9-871c-f710da8bd028@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <cffeb50d-5d99-4fa9-871c-f710da8bd028@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/03/2025 08:08, Jan Beulich wrote:
> Locally override SYM_PUSH_SECTION() to retain the intended section
> association.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
> ---
> v8: Re-base.
> v7: New.
> 
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -48,13 +48,20 @@
>   
>           .section .text.header, "ax", %progbits
>           .arm
> +/*
> + * Code below wants to all live in the section established above.  Annotations
> + * from xen/linkage.h therefore may not switch sections (honoring
> + * CONFIG_CC_SPLIT_SECTIONS).  Override the respective macro.
> + */
> +#undef SYM_PUSH_SECTION
> +#define SYM_PUSH_SECTION(name, attr)

Same as patch #2 and #6.

With that addressed:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 18:53:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 18:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931150.1333608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyEpd-0000w8-Nn; Fri, 28 Mar 2025 18:53:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931150.1333608; Fri, 28 Mar 2025 18: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 1tyEpd-0000w1-Ki; Fri, 28 Mar 2025 18:53:29 +0000
Received: by outflank-mailman (input) for mailman id 931150;
 Fri, 28 Mar 2025 18:53:28 +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 1tyEpc-0000vv-Kh
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 18:53:28 +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 1tyEpb-00DzJc-0Q;
 Fri, 28 Mar 2025 18:53:27 +0000
Received: from [2a02:8012:3a1:0:9545:fe10:6ede:2324]
 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 1tyEpa-004tTp-32;
 Fri, 28 Mar 2025 18:53: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=wMaLlihXZMBFVyKL6z9cPYUIbmezUn8i1q152H0MpCE=; b=x5f0tp3NphX5kdTyU3DYhxhAzn
	6FCJIODNXKL6vWNOP84QD/x0rSf/Sn9XgD0fIh1MMMdyFT159uNzYwAjUZjZ8zcCSJIUzrGDRK/Cr
	dOTGZ/mIHmJLDlmWf+KgskDpFgT5gFdxMGbzNlvXOgbE2csXtH836t2QmH4xNedcSK+g=;
Message-ID: <dcd04f01-74d7-4269-a107-0af5512fdba6@xen.org>
Date: Fri, 28 Mar 2025 18:53:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 6/6] common: honor CONFIG_CC_SPLIT_SECTIONS also
 for assembly functions
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 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>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <ea8357e8-ae29-41d7-af51-507d598044f9@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ea8357e8-ae29-41d7-af51-507d598044f9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

I am not very familiar with CC_SPLIT_SECTIONS. But I will try to answer 
the Arm questions.

On 13/03/2025 08:10, Jan Beulich wrote:
> Leverage the new infrastructure in xen/linkage.h to also switch to per-
> function sections (when configured), deriving the specific name from the
> "base" section in use at the time FUNC() is invoked.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
> ---
> TBD: Since we use .subsection in UNLIKELY_START(), a perhaps not really
>       wanted side effect of this change is that respective out-of-line
>       code now moves much closer to its original (invoking) code.
> 
> TBD: Of course something with the same overall effect, but less
>       impactful might do in Config.mk. E.g. $(filter-out -D%,$(3))
>       instead of $(firstword (3)). In fact Roger wants the detection to
>       be in Kconfig, for LIVEPATCH to depend on it. Yet the whole
>       underlying discussion there imo would first need settling (and
>       therefore reviving).
> 
> Note that we'd need to split DATA() in order to separate r/w, r/o, and
> BSS contributions. Further splitting might be needed to also support
> more advanced attributes (e.g. merge), hence why this isn't done right
> here. Sadly while a new section's name can be derived from the presently
> in use, its attributes cannot be. Perhaps the only thing we can do is
> give DATA() a 2nd mandatory parameter. Then again I guess most data
> definitions could be moved to C anyway.
> 
> An alternative to the "override" in arm64/head.S would be to use
> LABEL{,_LOCAL}() instead of FUNC{,_LOCAL}() there. Yet that would also
> lose the type information then. Question is whether the annotated ranges
 > really are "functions" in whichever wide or narrow sense.

They are functions. So I would prefer if we keep FUNC{,_LOCAL} and do 
the override as proposed in this patch..

Also, I think you want to move some of the override from the previous 
patches to this patch.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 19:30:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 19:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931186.1333619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyFPS-0000sl-C6; Fri, 28 Mar 2025 19:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931186.1333619; Fri, 28 Mar 2025 19:30: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 1tyFPS-0000se-9M; Fri, 28 Mar 2025 19:30:30 +0000
Received: by outflank-mailman (input) for mailman id 931186;
 Fri, 28 Mar 2025 19:30: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=qeg4=WP=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1tyFPQ-0000sT-8J
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 19:30:28 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16cf3dc2-0c0b-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 20:30:22 +0100 (CET)
Received: from pps.filterd (m0246629.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52SJSl2l012358;
 Fri, 28 Mar 2025 19:30:03 GMT
Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta02.appoci.oracle.com [147.154.114.232])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45hn877dgd-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 28 Mar 2025 19:30:03 +0000 (GMT)
Received: from pps.filterd
 (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 52SIERhK029986; Fri, 28 Mar 2025 19:30:02 GMT
Received: from nam10-bn7-obe.outbound.protection.outlook.com
 (mail-bn7nam10lp2046.outbound.protection.outlook.com [104.47.70.46])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 45jjc5kp5r-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 28 Mar 2025 19:30:02 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by MN6PR10MB7443.namprd10.prod.outlook.com (2603:10b6:208:46f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar
 2025 19:30:00 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::a088:b5e0:2c1:78a0]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::a088:b5e0:2c1:78a0%5]) with mapi id 15.20.8583.028; Fri, 28 Mar 2025
 19:30: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: 16cf3dc2-0c0b-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=corp-2023-11-20; bh=T+T7rFT0P2A0pGdngX
	ZFgh1nNRBEka4ENo8I6ZS6Sww=; b=GBSLPwmLitCvDkIwYeu5DnOVaxb7wfFNv1
	LthfXolDKKWOP/nl/cZ5V0+jjID2bwtPqkoU+OjaRp7ESO53cPiJxV5EYWH3LW/d
	kA8fWKGnsGyZ0K1IncQGfHbC7A+BMfuVCsWwww3DFb60LstIWb6SwMMq9YOHCdW9
	VHIw+oLcG+ntju1WlUd5AoZbdY3IJ1SgDygZrmfnlqeohlZlZwBk55KLU7yOZrMC
	9B/kgDBQtZdPufBBHo3t51aF5TW5OXHKEZhWlKGQgneecUpEupBBE6Pmoyq0bO5v
	LNe8dupfr6QswtXex+7Ur+f3g/2EMaQicnliSjrifXR/uTcnqK/g==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j0sarXL42yAzDqxmjnV1S2UzHEdom6bARNlixMN+jrXblDYTFnKYKYriWsUyd07IOW8Cm35tohfG090qZyd4HdRrchpvcahogyetsadzAOPyMjRSA78Ah7mzno6Kr0Jpi74nnpH5CMfkgupNwCNpqHcqNSfA+b/d1bfC+PVNeecoOHGWC20GabuK9+uFnc8SGnDai41zzb17N2MlPaYaObFhihxTS1m3+he5TXnAO8nj2cL1MjK6fhSTlW5XSYT116CxdOSugcWyV3g5ak9XGryXQzfByJiAQEmvPhNuw91ZCbB7DRPhxN5+ndjqxhdbYG1ft9vIlt1HINI/zwn0eA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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+T7rFT0P2A0pGdngXZFgh1nNRBEka4ENo8I6ZS6Sww=;
 b=s2vclAp8SnXnfj+kdWqZu2mz2BeO+fu/K24B5eDiMigSbX+jgdpKus5nXA1YKZoaG/hv0wtctVEdSce3Me/a+UnhHWtVgTxNj7XRcIiOgzIvzyuyzDquKxET18N5xrN5M5Dj0fG43/YZYqT14N/VPBIHfXUnWUK7vjMHHBNoi5Bk92Ww81/D9vJfqIab80hGU8J9vlbkV//24GQYqT8xeLkV9bo3N5Skoq4Pq2HQyTVO/IZeL8SbBZTVUMfI5m00nJ/U1qb4KqPFy7Ct1jC/GKkQt3uXeMtyCh8+YUHOC6skGPjImVWdJ5lRWsU/nTvE8QjOQ9tABJiK/mqJ8tAZjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T+T7rFT0P2A0pGdngXZFgh1nNRBEka4ENo8I6ZS6Sww=;
 b=tXYReQpfe/Is/1cTS/qPk2A7NOf2X27p68FkfER8J3daOWhF1333tjFUn+EfYKZ8OKoiPmnDEmTFKAcbGglZ30PcLplk9MxCenBMqpRtBQu1Re9wiD6JuMAYtvNBJF4tOu8sNGv90f0KkE+ORg9HvCx1EyqdBH23tj38O31/gDM=
Content-Type: multipart/alternative;
 boundary="------------S2MpeCRIoJVuKYxJiiPN9bq1"
Message-ID: <38c48928-610a-4939-aca3-2b733e8a65a3@oracle.com>
Date: Fri, 28 Mar 2025 15:29:58 -0400
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: fix multicall debug feature
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
        x86@kernel.org
Cc: 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>, xen-devel@lists.xenproject.org
References: <20250327190602.26015-1-jgross@suse.com>
Content-Language: en-US
From: boris.ostrovsky@oracle.com
In-Reply-To: <20250327190602.26015-1-jgross@suse.com>
X-ClientProxiedBy: BN0PR04CA0074.namprd04.prod.outlook.com
 (2603:10b6:408:ea::19) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|MN6PR10MB7443:EE_
X-MS-Office365-Filtering-Correlation-Id: 3d70a133-8b77-4381-fe04-08dd6e2eee1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|8096899003|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZFFHdlU5WlljOXZHVW9YbkdaN3ZHaWVaVlAvRGpPWDBGUGlPRyt2ZzF5Q0Zi?=
 =?utf-8?B?d1hzaHVjRWd3VkpVN2JNZlh1MGVaa2JoZGhTMmwxVitMZVk3T1R4RCswZHZi?=
 =?utf-8?B?WjkyaDhrZjlpbTFkOUhKczVLdy83OVA1T2FTZDh5VUhvZVV6Y1daUjlwZ1VS?=
 =?utf-8?B?M2ZxSGNPNTk3OWpjVkRuV3p2ZWdMSmVzd2w4T1RBZmZXa0Z4M2JzTmRldzk5?=
 =?utf-8?B?Q1hwUDRpT0N1ZkNldm9BbDBrejVHMlhyaEhtejZ4NFMxM2ZremhRa1o0MmY4?=
 =?utf-8?B?a25wVXJ3THVJK0Jqbkh1VzB4NE5ETkpLbkhNR3Y5cElhMDJzbUlycTlaaEg0?=
 =?utf-8?B?anJ0ZnRUYk9DMHFsWVFyTnFjK0ozN1B0Tkh0T25lR29JRDZnTW1JZW5ORFFn?=
 =?utf-8?B?UUd4SVpYdXdEVXJpRzU4cWtkbGIvMnNPWWVJdlJDNm9hK2oxd2taKzdZM2cw?=
 =?utf-8?B?enJhUjdBZkp0V2dEZGpsTXgrVzcrT0dwU3I1Z1Y3Q3A1UDNGZGFqREJueXFJ?=
 =?utf-8?B?UkxqSHdBcEVLT3RTd0RkRFk1VXhqaVM4OEkvbUlacExZamFyK0dCRzFCQmNJ?=
 =?utf-8?B?WFFHSFpNTklLcHlOU1Zjbmt2ZEVDbVNrSXVvLzBSb3c0dkZDUGlmWlBIQ004?=
 =?utf-8?B?VyttSVo3MTU3TEl3QmlRenZ6Ty80QVJlSnh5R2hTK2hURTJqS1BGbDh5ckdO?=
 =?utf-8?B?SVpMUVBpbEdzRHBHYzAweW96ZVhVbXpEVjA0T3ZHUDA3eXEvYW9UdDZVa0l6?=
 =?utf-8?B?SXhmQ2pucHBwTUNwempHTFlqQndWMGJMdVl6YS9PaWRaRDJzbkR0NDNzWWdy?=
 =?utf-8?B?NjliOWlyS2FUTTRuSTcwK2Y5WHlvWjFjZE5zQnVwdEFRakNwcXh1ak5ML21r?=
 =?utf-8?B?em1MYnVxbTNPZjFQN3NlR3RIWlJvYkpJdGVmbVBmVVRzYVg5cDBXVEozWnQw?=
 =?utf-8?B?bzBKSG51OXlDbEdOZUZXSVp1YUFlVkQ3UWhRYjY1dXd6ckFvNk90aFZsRmZY?=
 =?utf-8?B?d0E2SU9XMXpQSENOSUgrRUh1V2s4enNhcFJOSURZRlZBdVYvZWxHaDREY1p5?=
 =?utf-8?B?dEsrVzJpdTJaK1hFVTlDaGFXSmR1aFBJSFVxOTZZa1diSCtCVWF4Z1l6MG94?=
 =?utf-8?B?SG95bjFiOS9oK0NYaFNPdDMvODBMaUdjUkF3WnZGL0oxWDVpZ01XNGp4d2lP?=
 =?utf-8?B?ZEpaZEtXYXo4WDdYUEtQUTJKbmVqRngyampTV2NZNG9MWndFcFFuNVVtU0ov?=
 =?utf-8?B?N1B5Yk9RZUZMU1NxNmRGcEtwd2ZESFZka013cnNNSW4rTGoxUUNiMUR5Smtw?=
 =?utf-8?B?K3FENUNYakZ5b1ZuWlB0eTcvU2dEaVhKcnptRk54T3VTTVhJMWlDS05nS2Uv?=
 =?utf-8?B?TUdub005ZkZiNzZ5dUlwRUdQZjlodzdUVm9JR2hCL3ZWajNkUnVaTFFrRnoz?=
 =?utf-8?B?Rkg4MkZaV2d0UjN3T0N1MGJ1QThIOTB2a21VbDBaQkNjN3Zjczd0LzNjVU5q?=
 =?utf-8?B?TDBpb21yWHJvZkM4bkt4b2dYb2VEWHlYYjNVOXNNYnNyTDljL2ZxNE1xY3U0?=
 =?utf-8?B?eStQK2FZckhITWk3c25SWFJSM0JBOXdiZmF4YzAvZDlMTjJHcmorcEtnN1Nt?=
 =?utf-8?B?MmZMSUNjTlNMZ2sxc3NVd1FMYmxmTVhhWHNDM1VQampvUDJvY1Q5NFVQWXhq?=
 =?utf-8?B?QUI0QTMwZGFpVjhLR1FMZm1vbGpnYWRESHRGSlJhVEVIbkJwYytJV1dtRkxZ?=
 =?utf-8?B?NmJZaVdkNUV2WU9ldXk0MVlvaDBiNll4cm4zdElvSTBQNjdiL2s5VTJldGtL?=
 =?utf-8?B?dlBnRE5uSjVKeThxMHJoMHAyQzlSbWF6K0F4bXVBK1ltM3lHVlB5ckZ0ZzRt?=
 =?utf-8?Q?K52GnJm/PafG+?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5009.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(8096899003)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SHhRRlcyVGczWkpOdjhlN0FFbmRPL0RUenN6Zm9FVHE5dTV0S0hWYk9LODZW?=
 =?utf-8?B?SDdKN01iVkxodzVGRVFoaTRoSDdlbXBxdjluaVNnRS9zNTRreHNZQjFnUzJa?=
 =?utf-8?B?cUo1b3JVS0xBTmIwY0NHL0dzNkVmT2ViMkdDSXNsbzdGVjNKenlVVGt5NTQ2?=
 =?utf-8?B?MWNrSko3cE1Ibm9tRUpYSnkwdlg0YmtXcG5FWS9SenZEWTAzTk9Ga3hENFQ3?=
 =?utf-8?B?bVB4VFl0TXlMZVQrY3BMTFd6cTVTVkxqaXl5dW9mQzRlWE0xemh1TXg5SnJI?=
 =?utf-8?B?WjBhRFp2cmk2aXhXNTNkU1NzUVIyZEdvSWpsVjJVa1paaTdIbmk1b3UrMFNE?=
 =?utf-8?B?THhjWHpSVWFyYVJXU00wRlFUaksxOXNhMFdncm8xcWU2anVrZ2d2bkN6Wndi?=
 =?utf-8?B?dmNVOU5Sd29rYXBrVWZCekdjbStHZUlSQkNZTHVWclZNekp2Wi9lZ250V3ls?=
 =?utf-8?B?K0k3NzlkN0NGWVdoM0lFTnQwYm9heStkTDNBanl2UDhWekFtOVhxS0lnQWRn?=
 =?utf-8?B?U2pvRFN2dTcvdnhmcGxkR1lQMEJTK0JudCtPNEk3dThjTGNWMm9qM1puT0lF?=
 =?utf-8?B?aDMrVEwxekpiOWVZV01aSGxxRHZBY3RJUVp2ZkpQVWFuM2dIT2h0VldtTytt?=
 =?utf-8?B?eE90NE85d0R6K2k1cUxlMERnc3orODFuckdwZGpyWUtHanVpTHJ3QmFLYU9F?=
 =?utf-8?B?Q1ZIaXNERS9yYUdad2RkbVVxMXE3TzlYWkswVUJSeXI1b3AybDRVRGNCWUhl?=
 =?utf-8?B?QXhxdG1jM0gzSHlvekdsaE5RWVdnMEp5VnMwWVdjUFZWUUt2T1FkVXMrLzRp?=
 =?utf-8?B?ZTRuWnFWb2JFdTI5UEhJeVAyZGs0bUJjWkZQSW9ZKytoQTVINFRkdVlEd21z?=
 =?utf-8?B?NkxyT1EzMGtmQUQvdE1mMzVzWlQ3amZCVklxZ0RMN21vK2ErSEZKYTJEUTdt?=
 =?utf-8?B?czZOZEJFVWFBNmxneXJUM2hYNWMrL3pFeE5vajB1MGttc2s1eVBJQkI4eGxR?=
 =?utf-8?B?c09naXI4a2M5aThkQ1gwbGFxMkR6ZFh1VW1iSElmK3pmUzM3RFUvY1F6cUM2?=
 =?utf-8?B?RllTSVI2bzFEamFZSCtqKzJKbmY1eEI4SDVDMlBSWlNVRGNaRDZmQzduUmJZ?=
 =?utf-8?B?cmJGdDlwOE5JNUVhSzlrOUNMcE5sVS9EUmFNTTluOXdEL0JBTUFYREltYWJY?=
 =?utf-8?B?Wi81TW1pRFp6b1R2WkFwbU1MUDlBT1JydHlQSHo3bWZBaFJ3aU0rckU0K2k0?=
 =?utf-8?B?RlBQN2I0bUtyakR5dkpYVDRaUUFya3hkbW01SUFTYzhXMjBKbmdiUUk0L1U1?=
 =?utf-8?B?bjcyMjN1RGYzQzV3aFhLd0FPdU41Y3g1UXFldXQ3cDR6c2F4N0dmY2tjMnVx?=
 =?utf-8?B?TmovakRyaCsvRFRhbXhueTVEUDJMN2JMRGtMUHVrUTV3SVVNMVE5dVhJeFhY?=
 =?utf-8?B?eFlQeEV2MWs4S242VjR0ZDRucHFDY25XRGJCVDRxcjY4a2xhVmhJOEJ5b2ZG?=
 =?utf-8?B?WHgxQnNIdXRhS0k5QmpHRmtYQW9LNGl2MG44OEhpK1JVckJLc0RlZFpNNmxZ?=
 =?utf-8?B?b3lEemplbndSV2lnTlErcEkzcDBFQjRwSm9nZUZtamZQZVB6TVAraU01b2I5?=
 =?utf-8?B?NDZKNVYrYjluUENuWTJUbTRhaU9CZDJCSlMrRjJzMGFJSHVjZzZCSHRTdmdt?=
 =?utf-8?B?bXJqZjdqVmdKOFBBVUFuTER2Q25IV3FEZS9zNFdVTlV6RVBXOXRMTHFKTUVE?=
 =?utf-8?B?NUEzOFFPK3NTOFBoUUJlT21LVGgvditaSWRLTyt2eS9oWko2TGR6Q2NyWklt?=
 =?utf-8?B?eFZhbzhxeHNYWk13ekM0VzcySTFFSU9pMTRIZW5kTEpaSEVBa09rc1dnTno0?=
 =?utf-8?B?c2pPM2YvMUlPdzk3eTJoZTNHRlFsWmZLckpjMXd5VFZvcWlXNEZaOXlUV0hv?=
 =?utf-8?B?K1VSb0xQeUUzc21TWTJsb1JDdkF3bjI5WEJvY09mWllRdithTzNhc2MzOFhw?=
 =?utf-8?B?ME9menloS1k1YjBWaDFqbHRNWkkvdE1wUzZIUmlGVFc2SEw5Y21nNFBWUmxu?=
 =?utf-8?B?OVRrZEp3VVNXQVczYmRFcXJPSUpqbWR5Nzl4b0VPVUh4WXlsT0Q0REQzbGI1?=
 =?utf-8?B?UVU1WlFidzRUOXZTQVdkRnBlN3lpZk02RWNvdVpXK0RIZnhrMWIwTFFXbXZN?=
 =?utf-8?B?dUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	LutmcWgc1xtBJafcwq/IW7FHHeCydm9UfEL9+EFTSWwh/St645hVDB51AEPqICVukeY58W/0y+QacGCyDvMcIpeer8BraATl2clhCZoq+cxQnBqk7aDi/XFtKk1IsfkNt/62MkNJ8GWIszbxrzENTpUmS15hjRClx5rrfbJvToXTKPksLo+vo5nyeAoJq4jxnsMj/U3NwU3jZS2C/MIGg95isLPMN9bpvutUDKfO1sY3Vgz6A6JLfh7cGdYsucLL6JpaOXc+QZ2iIxWd0U3ANp1aJEXGQ0UyjnOXpOgmWqNd95SKdQYMcd9Jc29c+xyPJeqyO5+EmzrClzE3nTr1l8fBSNrVvhLVjXITpZfVCZD008BoCfrQTCcFjenrfgXCrQHzmvY36vnpJpf+oyVbw1TeV0ZNHcz3+rO8ei3IqmCogKHA2CPxoz/bW70F9iACm/BCgQxBkxyg1a1aYrNeCFqWS49z30Em4XHfCmSquTrn+ocJdIlcprj6eKxkTph5onzkccj9Epe6GjPDNDBaUEq74HgE1tsgYvZkkuxzicDtKDb3gPYxuR1Hafo3sWX+2yfFd1ySohnxmTeSsGboyO13TU3RC26hA4sG2MlngeY=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d70a133-8b77-4381-fe04-08dd6e2eee1c
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 19:30:00.0944
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: t+KQLuy970/amR/SoDp3HlZ+gV281wIBfrCZAc/1YDC3sdu/dAC0m3EzktVnmnkADZL/b7aMcCEf2lEXJ98pXGxjc2bOYT2hzHZcNdbbll0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR10MB7443
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-03-28_09,2025-03-27_02,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 bulkscore=0
 suspectscore=0 mlxscore=0 mlxlogscore=999 malwarescore=0 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000
 definitions=main-2503280132
X-Proofpoint-GUID: _2wXwAMteAJR8ZTXOUq-d8Orkmlw6lG2
X-Proofpoint-ORIG-GUID: _2wXwAMteAJR8ZTXOUq-d8Orkmlw6lG2

--------------S2MpeCRIoJVuKYxJiiPN9bq1
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 3/27/25 3:06 PM, Juergen Gross wrote:
> Initializing a percpu variable with the address of a struct tagged as
> .initdata is breaking the build with CONFIG_SECTION_MISMATCH_WARN_ONLY
> not set to "y".
>
> Fix that by using an access function instead returning the .initdata
> struct address if the percpu space of the struct hasn't been
> allocated yet.
>
> Fixes: 368990a7fe30 ("xen: fix multicall debug data referencing")
> Reported-by: Borislav Petkov<bp@alien8.de>
> Signed-off-by: Juergen Gross<jgross@suse.com>


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>

--------------S2MpeCRIoJVuKYxJiiPN9bq1
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 3/27/25 3:06 PM, Juergen Gross
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20250327190602.26015-1-jgross@suse.com">
      <pre wrap="" class="moz-quote-pre">Initializing a percpu variable with the address of a struct tagged as
.initdata is breaking the build with CONFIG_SECTION_MISMATCH_WARN_ONLY
not set to &quot;y&quot;.

Fix that by using an access function instead returning the .initdata
struct address if the percpu space of the struct hasn't been
allocated yet.

Fixes: 368990a7fe30 (&quot;xen: fix multicall debug data referencing&quot;)
Reported-by: Borislav Petkov <a class="moz-txt-link-rfc2396E" href="mailto:bp@alien8.de">&lt;bp@alien8.de&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>
    <p><br>
    </p>
    <p>Reviewed-by: Boris Ostrovsky <a class="moz-txt-link-rfc2396E" href="mailto:boris.ostrovsky@oracle.com">&lt;boris.ostrovsky@oracle.com&gt;</a><span style="white-space: pre-wrap">
</span></p>
  </body>
</html>

--------------S2MpeCRIoJVuKYxJiiPN9bq1--


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 21:20:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 21:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931217.1333628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyH7a-0007mu-7L; Fri, 28 Mar 2025 21:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931217.1333628; Fri, 28 Mar 2025 21:20: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 1tyH7a-0007mn-4s; Fri, 28 Mar 2025 21:20:10 +0000
Received: by outflank-mailman (input) for mailman id 931217;
 Fri, 28 Mar 2025 21:20: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=8TEA=WP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyH7Z-0007mh-0b
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 21:20:09 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b2c4ce2-0c1a-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 22:20:06 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id C471B5C53FA;
 Fri, 28 Mar 2025 21:17:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73075C4CEE4;
 Fri, 28 Mar 2025 21:20:03 +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: 6b2c4ce2-0c1a-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743196804;
	bh=wbthIWcULpje8WOjqBYjBATOEhgrD2Cay66N9NTo6xc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BJ6YEm/5ewyBR+ZoY7ufHwN40dvS4lrSYoQqug/M2nvjzV5YlW/yT2jF6bCjm3tiR
	 zFeGE7hr7Qo0tZF0sMR2GSe6+Rx4Y2vNsKQiyE3RXTdU6HjJjb0J68rWfIALv6uwCH
	 WVDdGFhkXDob65z+cr9o9t/kkY9bdaUf0gxTwyiDunRkfoV8x9Belob+q0wMG6CXRo
	 WIhvWZ9Lyu4j0wrNKSjkt1B2Y2axl4RsGy8+RM37+btZImAkTcfVvHW0nf+w3AEcNw
	 aJtIjBlkko1e7E+Hyl2hEWyeYjmjlMEsmOIAZjoK3iaHlimD9Z4Jcag2Xn0W+IW9BE
	 kl6wIzh6VIP1w==
Date: Fri, 28 Mar 2025 14:20:01 -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 <sstabellini@kernel.org>, andrew.cooper3@citrix.com, 
    michal.orzel@amd.com, julien@xen.org, roger.pau@citrix.com, 
    bertrand.marquis@arm.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
In-Reply-To: <1a2cbedf-e4de-4373-9a3b-3ff0c75c4290@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503281339280.563920@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2503182002160.2000798@ubuntu-linux-20-04-desktop> <ad1bd470-1efa-4019-89ac-386bb05dd44d@suse.com> <alpine.DEB.2.22.394.2503191754480.2325679@ubuntu-linux-20-04-desktop> <8297406e-b281-4783-9238-d6326db3fa15@suse.com>
 <alpine.DEB.2.22.394.2503211607200.2325679@ubuntu-linux-20-04-desktop> <59cdc84c-6e5a-4752-b09a-945d05badd91@suse.com> <alpine.DEB.2.22.394.2503271628460.563920@ubuntu-linux-20-04-desktop> <1a2cbedf-e4de-4373-9a3b-3ff0c75c4290@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-730641905-1743196727=:563920"
Content-ID: <alpine.DEB.2.22.394.2503281418510.563920@ubuntu-linux-20-04-desktop>

  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-730641905-1743196727=:563920
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2503281418511.563920@ubuntu-linux-20-04-desktop>

On Fri, 28 Mar 2025, Jan Beulich wrote:
> >>> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> >>> +            err = -EFAULT;
> >>> +
> >>> +        xfree(bytemap);
> >>> +    }
> >>> +    else
> >>> +    {
> >>> +        const uint8_t *bytemap = (const uint8_t *)bitmap;
> >>> +        last = bytemap[nbits/8];
> >>> +
> >>> +        if ( copy_bytes &&
> >>> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> >>> +            err = -EFAULT;
> >>
> >> The two identical instances would imo better stay common, even if this may
> >> require another function-scope variable (to invoke xfree() on after the
> >> copy-out).
> > 
> > That's not possible because bytemap is defined differently in the two
> > cases so it has to be defined within the if block.
> 
> Hence why I said "even if this may require another function-scope variable".

Sorry Jan, I don't understand in practice how to make your suggestion
work.

Do you mean to do this?

#ifdef __BIG_ENDIAN
	uint8_t *bytemap;
#else
	const uint8_t *bytemap;
#endif

If so, I get this build error:

common/bitmap.c: In function âbitmap_to_xenctl_bitmapâ:
common/bitmap.c:402:29: error: passing argument 1 of âbitmap_long_to_byteâ discards âconstâ qualifier from pointer target type [-Werror=discarded-qualifiers]
  402 |         bitmap_long_to_byte(bytemap, bitmap, nbits);
      |                             ^~~~~~~

I am trying to guess what you have in mind, but it might be more
effective if you could write it down. For reference, I am including the
patch I was trying to get to work.



diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index 3da63a32a6..b213e29ca5 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
 	unsigned int remainder = nbits % 8;
 
 	if (remainder)
-		bp[nbits/8] &= (1U << remainder) - 1;
+		*bp &= (1U << remainder) - 1;
 }
 
 int __bitmap_empty(const unsigned long *bitmap, unsigned int bits)
@@ -338,7 +338,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
 			nbits -= 8;
 		}
 	}
-	clamp_last_byte(bp, nbits);
 }
 
 static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
@@ -363,7 +362,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
 				unsigned int nbits)
 {
 	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
-	clamp_last_byte(bp, nbits);
 }
 
 static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
@@ -384,21 +382,43 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
     uint8_t zero = 0;
     int err = 0;
     unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
-    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
-
-    if ( !bytemap )
-        return -ENOMEM;
+    uint8_t last;
+#ifdef __BIG_ENDIAN
+	uint8_t *bytemap;
+#else
+	const uint8_t *bytemap;
+#endif
 
     guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
     copy_bytes  = min(guest_bytes, xen_bytes);
 
-    bitmap_long_to_byte(bytemap, bitmap, nbits);
+    if ( IS_ENABLED(__BIG_ENDIAN) )
+    {
+        bytemap = xmalloc_array(uint8_t, xen_bytes);
+
+        if ( !bytemap )
+            return -ENOMEM;
 
-    if ( copy_bytes &&
-         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
+        bitmap_long_to_byte(bytemap, bitmap, nbits);
+        last = bytemap[nbits / 8];
+    }
+    else
+    {
+        bytemap = (const uint8_t *)bitmap;
+        last = bytemap[nbits / 8];
+    }
+
+    if ( copy_bytes > 1 &&
+         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
         err = -EFAULT;
 
-    xfree(bytemap);
+    if ( IS_ENABLED(__BIG_ENDIAN) )
+        xfree(bytemap);
+
+    clamp_last_byte(&last, nbits);
+    if ( copy_bytes > 0 &&
+         copy_to_guest_offset(xenctl_bitmap->bitmap, copy_bytes - 1, &last, 1) )
+        err = -EFAULT;
 
     for ( i = copy_bytes; !err && i < guest_bytes; i++ )
         if ( copy_to_guest_offset(xenctl_bitmap->bitmap, i, &zero, 1) )
--8323329-730641905-1743196727=:563920--


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 21:33:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 21:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931235.1333640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyHJx-00031t-Am; Fri, 28 Mar 2025 21:32:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931235.1333640; Fri, 28 Mar 2025 21: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 1tyHJx-00031m-6V; Fri, 28 Mar 2025 21:32:57 +0000
Received: by outflank-mailman (input) for mailman id 931235;
 Fri, 28 Mar 2025 21:32: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=8TEA=WP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyHJw-00031e-A4
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 21:32:56 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 330b1a5d-0c1c-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 22:32:51 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 04342A42FF8;
 Fri, 28 Mar 2025 21:27:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D097C4CEE4;
 Fri, 28 Mar 2025 21:32: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: 330b1a5d-0c1c-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743197569;
	bh=uuPqaEZwovtVzWlKovHIgRA0qElIa53q0wZHMhZEi94=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=g81R58W4N36Z3X7NjlGp1t/zc8t9aVNOi2jME9HndxLRc1Pe9BkxR4m1t7fqzimVo
	 vdpdx85fcTkYGt3j+zyqO4QVDj2EGjwtUuzV9FmzqP6a7UM/oZG4MvKmUPRIXSbTUJ
	 Q+D2tfv8fnIDs67glgmgUmh7UPGmlLK8fLrmOHAz6fDUl5oySxhw5ce1IrH+Bvr9X2
	 lI5qdlYIevREkVGad2aHAjBi5Ts6Au8QfVSLcOIThbbCdQJxde48vIcVA28b+6xZ1W
	 kAlOKW7OoO9FMBOrPKeWFrXLJvztxqdfkH9G/bpF5lN9aazuM2AEvUATEoZXgWiYsE
	 XJek8HxJZOWdA==
Date: Fri, 28 Mar 2025 14:32:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Stefano Stabellini <stefano.stabellini@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "julien@xen.org" <julien@xen.org>, 
    "sstabellini@kernel.org" <sstabellini@kernel.org>, 
    "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, 
    "michal.orzel@amd.com" <michal.orzel@amd.com>
Subject: Re: [PATCH v2] xen/arm/efi: merge neighboring banks
In-Reply-To: <87cye2giho.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2503281431090.563920@ubuntu-linux-20-04-desktop>
References: <20250327231627.1111684-1-stefano.stabellini@amd.com> <87cye2giho.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Mar 2025, Volodymyr Babchuk wrote:
> Hi Stefano,
> 
> Stefano Stabellini <stefano.stabellini@amd.com> writes:
> 
> > When booting from U-Boot bootefi, there can be a high number of
> > neighboring RAM banks. See for example:
> >
> > (XEN) RAM: 0000000000000000 - 0000000000bfffff
> > (XEN) RAM: 0000000000c00000 - 0000000000c00fff
> > (XEN) RAM: 0000000000c01000 - 0000000000dfffff
> > (XEN) RAM: 0000000000e00000 - 000000000279dfff
> > (XEN) RAM: 000000000279e000 - 00000000029fffff
> > (XEN) RAM: 0000000002a00000 - 0000000008379fff
> > (XEN) RAM: 000000000837a000 - 00000000083fffff
> > (XEN) RAM: 0000000008400000 - 0000000008518fff
> > (XEN) RAM: 0000000008519000 - 00000000085fffff
> > (XEN) RAM: 0000000008600000 - 0000000008613fff
> > (XEN) RAM: 0000000008614000 - 00000000097fffff
> > (XEN) RAM: 0000000009800000 - 00000000098a7fff
> > (XEN) RAM: 00000000098a8000 - 0000000009dfffff
> > (XEN) RAM: 0000000009e00000 - 0000000009ea7fff
> > (XEN) RAM: 0000000009ea8000 - 000000001fffffff
> > (XEN) RAM: 0000000020000000 - 000000002007ffff
> > (XEN) RAM: 0000000020080000 - 0000000077b17fff
> > (XEN) RAM: 0000000077b19000 - 0000000077b2bfff
> > (XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
> > (XEN) RAM: 0000000077c8e000 - 0000000077c91fff
> > (XEN) RAM: 0000000077ca7000 - 0000000077caafff
> > (XEN) RAM: 0000000077cac000 - 0000000077caefff
> > (XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
> > (XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
> > (XEN) RAM: 0000000077cd8000 - 000000007bd07fff
> > (XEN) RAM: 000000007bd09000 - 000000007fd5ffff
> > (XEN) RAM: 000000007fd70000 - 000000007fefffff
> > (XEN) RAM: 0000000800000000 - 000000087fffffff
> >
> > Xen does not currently support boot modules that span multiple banks: at
> > least one of the regions get freed twice. The first time from
> > setup_mm->populate_boot_allocator, then again from
> > discard_initial_modules->fw_unreserved_regions. With a high number of
> > banks, it can be difficult to arrange the boot modules in a way that
> > avoids spanning across multiple banks.
> >
> > This small patch merges neighboring regions, to make dealing with them
> > more efficient, and to make it easier to load boot modules.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > Changes in v2:
> > - remove unneeded check for duplicates
> > - unsigned int instead of int
> > - add parenthesis
> > ---
> >  xen/arch/arm/efi/efi-boot.h | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> >
> > diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> > index a80a5a7ab3..8b8ef5dcfb 100644
> > --- a/xen/arch/arm/efi/efi-boot.h
> > +++ b/xen/arch/arm/efi/efi-boot.h
> > @@ -163,6 +163,16 @@ static bool __init meminfo_add_bank(struct membanks *mem,
> >      struct membank *bank;
> >      paddr_t start = desc->PhysicalStart;
> >      paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
> > +    unsigned int j;
> > +
> > +    for ( j = 0; j < mem->nr_banks; j++ )
> > +    {
> > +        if ( (mem->bank[j].start + mem->bank[j].size) == start )
> > +        {
> > +            mem->bank[j].size += size;
> > +            return true;
> > +        }
> > +    }
> >  
> >      if ( mem->nr_banks >= mem->max_banks )
> >          return false;
> 
> It didn't got into diff context, but there is this check below:
> 
> #ifdef CONFIG_ACPI
>     if ( check_reserved_regions_overlap(start, size, false) )
>         return false;
> #endif
> 
> Your patch will skip it.

You are right, this new hunk should be added after that check. I'l
resend.


From xen-devel-bounces@lists.xenproject.org Fri Mar 28 21:33:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 21:33:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931244.1333650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyHKq-0003X4-JR; Fri, 28 Mar 2025 21:33:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931244.1333650; Fri, 28 Mar 2025 21:33: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 1tyHKq-0003Wx-Et; Fri, 28 Mar 2025 21:33:52 +0000
Received: by outflank-mailman (input) for mailman id 931244;
 Fri, 28 Mar 2025 21:33: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=K3Bz=WP=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1tyHKo-0003Wn-RJ
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 21:33:50 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061d.outbound.protection.outlook.com
 [2a01:111:f403:2406::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 538d726c-0c1c-11f0-9ffa-bf95429c2676;
 Fri, 28 Mar 2025 22:33:45 +0100 (CET)
Received: from BN9P222CA0005.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::10)
 by CY3PR12MB9606.namprd12.prod.outlook.com (2603:10b6:930:102::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Fri, 28 Mar
 2025 21:33:40 +0000
Received: from BL6PEPF00022574.namprd02.prod.outlook.com
 (2603:10b6:408:10c:cafe::1) by BN9P222CA0005.outlook.office365.com
 (2603:10b6:408:10c::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.44 via Frontend Transport; Fri,
 28 Mar 2025 21:33:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF00022574.mail.protection.outlook.com (10.167.249.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Fri, 28 Mar 2025 21:33:39 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 28 Mar
 2025 16:33:39 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 28 Mar
 2025 16:33:39 -0500
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 28 Mar 2025 16:33:38 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 538d726c-0c1c-11f0-9ffa-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=s9DhJT3x5PMsStl7iMuwC6t/hkM2b962KCpq+0rZch2WBUlkdf0scUV0L0UTRzqitzPJoTF+GsA5wuqjra7bARqmf4tFkLkY9fmpqLfEx+i9wytMNS67uYiZYCxKH5KXBy6Q73agJ7u9GD+GLi8Epbskjj8Ms+co2ITUyc+GeqrnGWDTJjrdZxWTgo4/KFvT8tPl/CNePIa4qUi41fPhHMhT5nlPXxCp/kYXpM/mycexr7p/OVrqtzEs4jbovueYXShwx/1S3xFu/cS5AKkl0azs7jxEvE5DNUUJDK/Vf2lS4XxLpNdqBqGlW5fuiAIYo3JaH5j9/3g2a1Mn5cNNLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d4rvEA9vzE/jhzQX+UzNzxIIecWZfnCP8M/gRb4kabs=;
 b=IBtb2L5J/CoB79330V+KiKuNO0t1dobTI4kdJ2R7kkTjBrGOqmrdqV7dHfv5gnxHLrZWLfnvBpF+UM4wvPRF2Qg3B1yIFojjFeOFIR7mv+5h4GRC7+jrVxNBPirpwSmyhC173rJyosNlGhPm3db+ODE2BtJDCKGnv+qv3rl1MQDu0P9SaB80PU11tMqb6QbwR3SgCBMwiFUw6m9BWdJ+AOOZ/ENgPW4RAlgHBjjgV/tXPU1StJ1jN835VDKmeEbuQteKXCR/KWQVe0d7DyVBJl32FiQujTC/Pj+WwfW6elwPs9jaRaL+E4mLiUJssjKDkVveU5+mhYeTML2bWSURIg==
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=d4rvEA9vzE/jhzQX+UzNzxIIecWZfnCP8M/gRb4kabs=;
 b=igmlHaYf/eiJnUir5KtrcdoYhRrNZE8zMuCzsCOT47W1zSgosoA/vl/8kG/6m101q6icpZ9fOID8MtV8KBXfwzYglliIggmmZ5+rcQoNhef1HsufernVjfRLoxgRZQwB6MmMFzidkN7nOl/APH1sPOd0SThWpW4QkRJMQviV9J4=
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=SATLEXMB03.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <stefano.stabellini@amd.com>, <julien@xen.org>,
	<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
	<Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3] xen/arm/efi: merge neighboring banks
Date: Fri, 28 Mar 2025 14:33:31 -0700
Message-ID: <20250328213331.1498584-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
Received-SPF: None (SATLEXMB05.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00022574:EE_|CY3PR12MB9606:EE_
X-MS-Office365-Filtering-Correlation-Id: daf95052-5f48-41ad-ebe1-08dd6e4034dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|34020700016|36860700013|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?z4SM0Jez8Fk/9W5CM+0CB1RtsfD6SA45/aFFQrTE6fKugBbWuPEhiiWI/Ycu?=
 =?us-ascii?Q?SigGJzikSPshCg1MzxMfE2UJn9kKUg8ojvV9Q2PYQ5MXFhecrDpIH4k+rDYI?=
 =?us-ascii?Q?Ql+nX+xcFWJeFrw9T5hKZGABmtgK4RlZOzF+SPwd11Imko4eM+AUED97ANj1?=
 =?us-ascii?Q?/tgzlGeosZpeXEFycpaAbCjh6ljxsT6BTbY8XUFcIh73s73spFp+Fxo39yDq?=
 =?us-ascii?Q?THXw5kftnLlwR1Wd1qqGCvdwp/Ss2g8+O3weuMv5VshqxcxUStiUEKUSO1ph?=
 =?us-ascii?Q?ayrCiSvzPl7sGbkEtUg611a78JxheOIHPm40pcVpCy1z/j5qRjAVaFK3VGUY?=
 =?us-ascii?Q?CqdzVEiBhjkXjabZKaPYVNbT5I3x2ueLqDHkupNXpnArgSYEzg8L/dRciPP3?=
 =?us-ascii?Q?RfbkGUfh/uEXPZjqTLE4mSTP/JokuJAgZ6jmD19T/aGMOb954uhDGhRbgD9p?=
 =?us-ascii?Q?nWOyfqSNCAr3Cc1lZ/Z4ECI4FXNnjlC0Dc3F+9BWOGYZcEaxSEs48S8+xnPS?=
 =?us-ascii?Q?uaclwVlmtDBMAmlMn7FH1FdUtZferWl34WYpylzXwKPUDWSyThQCTV3fSkXR?=
 =?us-ascii?Q?HUgtXbBwwoE9O83Qyz0Ke5ACNJvw/nMT6S3caVnGNL+3Z98cbZBUhyV4ypS+?=
 =?us-ascii?Q?0d71kRZZ3Kv8gMSPVfCPDUnWlWi3vV2AxE44kO8118+rjABkBV3UqGfCoxFw?=
 =?us-ascii?Q?DfreWOByt0QZRklgiLGegSN1JtfZ8qXN2USzllKUOVkR4c80OMxIg3Ozzixk?=
 =?us-ascii?Q?coKtDlvxBb8/d6WKm7qqLwKL2Ubsvdf4pMlh8RIMcjDQXJAk2Lb+iK9yJkiy?=
 =?us-ascii?Q?E3s1G1uyJncUyEWZTIueBVm5wrIDv7M5iFmGkULcejeRFcosXwA8W5LpNY/y?=
 =?us-ascii?Q?3/CAyLWlLowub0E/wUdcBS6H4MVN/3MvqQYg0oKPSJYyvIBHxpGU+oCFTAka?=
 =?us-ascii?Q?Hu3KhPdjj8Q52TQR5Xp6HGTd9GMjXqK10qZKsKJbLOZt4R4WdPDigSc+RE8s?=
 =?us-ascii?Q?+yai1aGceXEiDCUucoJNGuoZ+aNPMgTfpuz3aFiI9PVaXnebm6tAwZktdJAC?=
 =?us-ascii?Q?Mnmeu0OdRuivIRnA5XKCcJTcQy+DxeXv8S+VX+lVmtysTxPvMHx5prIFNN0u?=
 =?us-ascii?Q?JFR+DQe4gjPDbSYruO7qQJ3xbxGDN8URomTqv3SlDukxPUGN/WsfYrZpn4RR?=
 =?us-ascii?Q?7705u/frzgwdzpUm1guASI7yrGopNp1qNFUllXRVzNm9MSNFEFCJry9xDOYs?=
 =?us-ascii?Q?h62jRxQ/uNVQpYdFSS/+XEvyIDCX/R29088PrrSYHuGi4Zax4XajlBidC4mf?=
 =?us-ascii?Q?6lUvTc11aNqQGPQunpSLNOzFyB8P4hjTmuiKHlBJ/RSMvRSqFC3M0+iZ+UaJ?=
 =?us-ascii?Q?VHVcZvjwauAkb8/GKVTQIbPJBWE7Da0zoXYShWtxPLn4BwReERUp5qjwJs49?=
 =?us-ascii?Q?GMRyd07AkjwQ6FdzvSlY4Xdc6X8lYq7SjqCbK8ECKVk9a16xPDpb+XYmoo7D?=
 =?us-ascii?Q?uksRgMpatTgKUW8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(34020700016)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 21:33:39.9931
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: daf95052-5f48-41ad-ebe1-08dd6e4034dd
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022574.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY3PR12MB9606

When booting from U-Boot bootefi, there can be a high number of
neighboring RAM banks. See for example:

(XEN) RAM: 0000000000000000 - 0000000000bfffff
(XEN) RAM: 0000000000c00000 - 0000000000c00fff
(XEN) RAM: 0000000000c01000 - 0000000000dfffff
(XEN) RAM: 0000000000e00000 - 000000000279dfff
(XEN) RAM: 000000000279e000 - 00000000029fffff
(XEN) RAM: 0000000002a00000 - 0000000008379fff
(XEN) RAM: 000000000837a000 - 00000000083fffff
(XEN) RAM: 0000000008400000 - 0000000008518fff
(XEN) RAM: 0000000008519000 - 00000000085fffff
(XEN) RAM: 0000000008600000 - 0000000008613fff
(XEN) RAM: 0000000008614000 - 00000000097fffff
(XEN) RAM: 0000000009800000 - 00000000098a7fff
(XEN) RAM: 00000000098a8000 - 0000000009dfffff
(XEN) RAM: 0000000009e00000 - 0000000009ea7fff
(XEN) RAM: 0000000009ea8000 - 000000001fffffff
(XEN) RAM: 0000000020000000 - 000000002007ffff
(XEN) RAM: 0000000020080000 - 0000000077b17fff
(XEN) RAM: 0000000077b19000 - 0000000077b2bfff
(XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
(XEN) RAM: 0000000077c8e000 - 0000000077c91fff
(XEN) RAM: 0000000077ca7000 - 0000000077caafff
(XEN) RAM: 0000000077cac000 - 0000000077caefff
(XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
(XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
(XEN) RAM: 0000000077cd8000 - 000000007bd07fff
(XEN) RAM: 000000007bd09000 - 000000007fd5ffff
(XEN) RAM: 000000007fd70000 - 000000007fefffff
(XEN) RAM: 0000000800000000 - 000000087fffffff

Xen does not currently support boot modules that span multiple banks: at
least one of the regions get freed twice. The first time from
setup_mm->populate_boot_allocator, then again from
discard_initial_modules->fw_unreserved_regions. With a high number of
banks, it can be difficult to arrange the boot modules in a way that
avoids spanning across multiple banks.

This small patch merges neighboring regions, to make dealing with them
more efficient, and to make it easier to load boot modules.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v3:
- move new hunk after check_reserved_regions_overlap check

Changes in v2:
- remove unneeded check for duplicates
- unsigned int instead of int
- add parenthesis
---
 xen/arch/arm/efi/efi-boot.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index a80a5a7ab3..dcad46ca72 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -163,6 +163,7 @@ static bool __init meminfo_add_bank(struct membanks *mem,
     struct membank *bank;
     paddr_t start = desc->PhysicalStart;
     paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
+    unsigned int j;
 
     if ( mem->nr_banks >= mem->max_banks )
         return false;
@@ -171,6 +172,15 @@ static bool __init meminfo_add_bank(struct membanks *mem,
         return false;
 #endif
 
+    for ( j = 0; j < mem->nr_banks; j++ )
+    {
+        if ( (mem->bank[j].start + mem->bank[j].size) == start )
+        {
+            mem->bank[j].size += size;
+            return true;
+        }
+    }
+
     bank = &mem->bank[mem->nr_banks];
     bank->start = start;
     bank->size = size;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 28 23:56:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Mar 2025 23:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931284.1333658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJYw-0007lu-Bs; Fri, 28 Mar 2025 23:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931284.1333658; Fri, 28 Mar 2025 23:56: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 1tyJYw-0007ln-8n; Fri, 28 Mar 2025 23:56:34 +0000
Received: by outflank-mailman (input) for mailman id 931284;
 Fri, 28 Mar 2025 23: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=8TEA=WP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJYu-0007lh-V8
 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2025 23:56:32 +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 428ca21b-0c30-11f0-9ffa-bf95429c2676;
 Sat, 29 Mar 2025 00:56:27 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 20C4543797;
 Fri, 28 Mar 2025 23:56:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1F962C4CEE4;
 Fri, 28 Mar 2025 23:56:23 +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: 428ca21b-0c30-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743206185;
	bh=CfkvG1rNf+GDssOZ+ONzQ7J60yE/yifgAvpEn4t2ueQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VTd1I4KMYhVraDx63bu6LDp5pI/F9y0BM88iypWvbt4HXUphR476OAl5dvSdRlUD0
	 dazZhLaqc5bYIRAebfmRacWCgsTQ3KJks+5Jopvp1I1tpJqoUFxRTVXVVfj6DJ4EKN
	 pBgeE014jmeKwGOBP7guq+N2PYdlX6VL40mC7vsqQLSHg4UaDUfIIQV2MEMK9E5pJq
	 mAJRChPAhnh31SMRhgf5AUD+pTEf25XNQZ9Ja7M3fw11SiOrG9ZQxPIR9HnC7LmCZ4
	 XKKfQd3me68Q5mVm1Qmd/vdJoFOQwSTANXvvNwX0wLgdr2xe8GV5FkY/JKDGW/imhQ
	 zOqoXJjXfdSqg==
Date: Fri, 28 Mar 2025 16:56:22 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@amd.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>
Subject: Re: [PATCH v2 01/19] xen/x86: remove "depends on
 !PV_SHIM_EXCLUSIVE"
In-Reply-To: <20250326055053.3313146-2-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281655590.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-2-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the functionally
> equivalent "if !...") in Kconfig file, since negative dependancy will badly
> affect allyesconfig.
> This commit is based on "x86: provide an inverted Kconfig control for
> shim-exclusive mode"[1]
> 
> [1] https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/arch/x86/Kconfig      | 6 ++----
>  xen/arch/x86/hvm/Kconfig  | 1 -
>  xen/drivers/video/Kconfig | 4 ++--
>  3 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 18efdb2e31..1e5df84b25 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -137,7 +137,6 @@ config XEN_IBT
>  
>  config SHADOW_PAGING
>  	bool "Shadow Paging"
> -	default !PV_SHIM_EXCLUSIVE
>  	depends on PV || HVM
>  	help
>  
> @@ -169,7 +168,6 @@ config BIGMEM
>  config TBOOT
>  	bool "Xen tboot support (UNSUPPORTED)"
>  	depends on INTEL && UNSUPPORTED
> -	default !PV_SHIM_EXCLUSIVE
>  	select CRYPTO
>  	help
>  	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
> @@ -279,10 +277,11 @@ config PV_SHIM_EXCLUSIVE
>  	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
>  	  option is only intended for use when building a dedicated PV Shim
>  	  firmware, and will not function correctly in other scenarios.
> +	  Features, like tboot, shadow page, VGA, HVM, Hyper-V Guest, etc,
> +	  are unavailable in shim-exclusive mode.

I don't know if we want to add these two lines or not. Either way:

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


>  	  If unsure, say N.
>  
> -if !PV_SHIM_EXCLUSIVE
>  
>  config HYPERV_GUEST
>  	bool "Hyper-V Guest"
> @@ -292,7 +291,6 @@ config HYPERV_GUEST
>  
>  	  If unsure, say N.
>  
> -endif
>  
>  config REQUIRE_NX
>  	bool "Require NX (No eXecute) support"
> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> index 2def0f98e2..b903764bda 100644
> --- a/xen/arch/x86/hvm/Kconfig
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -1,6 +1,5 @@
>  menuconfig HVM
>  	bool "HVM support"
> -	depends on !PV_SHIM_EXCLUSIVE
>  	default !PV_SHIM
>  	select COMPAT
>  	select IOREQ_SERVER
> diff --git a/xen/drivers/video/Kconfig b/xen/drivers/video/Kconfig
> index 245030beea..66ee1e7c9c 100644
> --- a/xen/drivers/video/Kconfig
> +++ b/xen/drivers/video/Kconfig
> @@ -3,10 +3,10 @@ config VIDEO
>  	bool
>  
>  config VGA
> -	bool "VGA support" if !PV_SHIM_EXCLUSIVE
> +	bool "VGA support"
>  	select VIDEO
>  	depends on X86
> -	default y if !PV_SHIM_EXCLUSIVE
> +	default y
>  	help
>  	  Enable VGA output for the Xen hypervisor.
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:03:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:03:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931297.1333668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJfq-0002b8-Rq; Sat, 29 Mar 2025 00:03:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931297.1333668; Sat, 29 Mar 2025 00:03: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 1tyJfq-0002b1-PL; Sat, 29 Mar 2025 00:03:42 +0000
Received: by outflank-mailman (input) for mailman id 931297;
 Sat, 29 Mar 2025 00:03: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=TrUd=WQ=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tyJfo-0002av-2E
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:03:40 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4402f95f-0c31-11f0-9ea4-5ba50f476ded;
 Sat, 29 Mar 2025 01:03:38 +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: 4402f95f-0c31-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743206617; x=1743465817;
	bh=iupv/aKEFBnBO37gtyEEnaQovxWG9B/bOmQ6y+vMDV8=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=GBhRjGWCrrMYavyCVnrFzCl1d3SO4cPk3r6n+KzORPb4+eNvNSVFpGr2UxeTeDU+d
	 n7sL5/zG1RMnuUozPW7wBeJX19hgJSJCryTi6lcwwrMABjV4PFHd/mh/GRDq+GeHH8
	 QQW62oFUyQTqrN1xvaprWjewTOi2qHFnFlgsAIf35PvHb/pMjB2HYJJtxAQWVKCgaW
	 dlFB0AK9bmFs4kFfBWDzoQobXE4FC0sN7Tg1q12PF0KOMAn5Jx2QyR/77VcDbjHmfb
	 MvHh4Q0DqO1VU9VhJUhg/6LgcwTbUmxJWJbDsiVdBkcKML1q/iG8+AdukaNP38c+v+
	 FCbpHhsL/iC1Q==
Date: Sat, 29 Mar 2025 00:03:30 +0000
To: Jan Beulich <jbeulich@suse.com>
From: Denis Mukhin <dmkhn@proton.me>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 2/8] xen/console: introduce console input permission
Message-ID: <oIHDgzS07tSw0AoJEx9Rt-hV55MAmo4yVyYlppbeNpikuGBvX7zSAuFyRcDMyu2Dy3khr5M6t-_SONMg5n3VAOkRX0ksdGo69SNrto6g6u4=@proton.me>
In-Reply-To: <7a2f80b3-5018-4f15-973c-fe950a574b11@suse.com>
References: <20250318233617.849903-1-dmukhin@ford.com> <20250318233617.849903-3-dmukhin@ford.com> <7a2f80b3-5018-4f15-973c-fe950a574b11@suse.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 5e11ac26d84154df2edf45be50ea7a273f078692
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wednesday, March 26th, 2025 at 6:44 AM, Jan Beulich <jbeulich@suse.com> =
wrote:

>
>
> On 19.03.2025 00:36, dmkhn@proton.me wrote:
>
> > @@ -564,10 +586,25 @@ static void __serial_rx(char c)
> > /* Deliver input to the PV shim console. */
> > rc =3D consoled_guest_tx(c);
> >
> > - if ( rc )
> > + switch ( rc )
> > + {
> > + case 0:
> > + break;
> > +
> > + case -EBUSY: /* Loopback mode /
> > + case -ENOSPC: / FIFO is full */
> > guest_printk(d,
> > XENLOG_WARNING "failed to process console input: %d\n",
> > rc);
> > + break;
> > +
> > + default:
> > + d->console.input_allowed =3D false;
>
>
> This aspect isn't mentioned / justified in the description, and I also
> can't deduce why you would do so. Or to put it differently, why you'd
> then not also take away input focus from this domain, for it no longer
> being eligible to have focus.

My idea was to explicitly distinguish "recoverable" errors, such as
"FIFO is full", from "emulator logical" errors when input character cannot
be delivered to the domain because of an error in emulator, so those are
easily seen in the debug logs.

I re-inspected return values, the only values currently supported are:
  (1) 0: success
  (2) -ENODEV: domain is not configured to have vUART
  (3) -ENOSPC: FIFO is full

-EBUSY is supposed to mean "vUART is in loopback mode" and it is leaked
from the future NS16550 emulator code.

I will drop that change in v2.

>
> > --- a/xen/include/xen/sched.h
> > +++ b/xen/include/xen/sched.h
> > @@ -512,7 +512,7 @@ struct domain
> > bool auto_node_affinity;
> > /* Is this guest fully privileged (aka dom0)? /
> > bool is_privileged;
> > - / Can this guest access the Xen console? /
> > + / XSM: permission to use HYPERCALL_console_io hypercall /
> > bool is_console;
> > / Is this guest being debugged by dom0? */
> > bool debugger_attached;
> > @@ -651,6 +651,12 @@ struct domain
> > unsigned int num_llc_colors;
> > const unsigned int llc_colors;
> > #endif
> > +
> > + / Console settings. /
> > + struct {
> > + / Permission to own physical console input. */
> > + bool input_allowed;
> > + } console;
>
>
> Are further fields going to be added to this sub-struct? If not, is havin=
g
> a sub-struct here actually worth it?

I was thinking about grouping all console-related fields in struct domain
here in the future: e.g. move pbuf-related fields under "struct console".

>
> Jan


From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:07:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931317.1333678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJj2-0003Aj-9Q; Sat, 29 Mar 2025 00:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931317.1333678; Sat, 29 Mar 2025 00:07: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 1tyJj2-0003Ac-6e; Sat, 29 Mar 2025 00:07:00 +0000
Received: by outflank-mailman (input) for mailman id 931317;
 Sat, 29 Mar 2025 00:06: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJj1-0003AW-82
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:06:59 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b800ecb3-0c31-11f0-9ffa-bf95429c2676;
 Sat, 29 Mar 2025 01:06:54 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 2BC855C100B;
 Sat, 29 Mar 2025 00:04:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D803C4CEE4;
 Sat, 29 Mar 2025 00:06:51 +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: b800ecb3-0c31-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743206811;
	bh=6eCqg+LdGBNrvhsbXaHSbjq0x0nrWkdqHarhMNLviVM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KcFDURPitEOeGrJy2kJ+GRAbZhudGgYmURYaJ+c46T97G/pvHBHBSWfpSuq/Xz6uZ
	 SDysQDjyeohS00RB3QF6895EY7ZypHvAKq3RCclYWBrI7BqnuzQoa+S0xVPfqj2t+r
	 VvsNWdkQHlxx8UrXx7MCICnx4pc+Sn56JxiUSkj73HM7e9DtLiNCRlvCgUil7RnIN6
	 NpH9N67trQKb1CEuYFYLzT1dn6np/R62AXYdJHsH6ksLTizii+9+5wt85Xw098VErS
	 yj8xQPKl6CqFlyEJopXueLkoI3Oo7ur451gx3696D3dFdtGkfkP/19jYHeyWr4b/Po
	 3RwsLuiXB8gig==
Date: Fri, 28 Mar 2025 17:06:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@amd.com, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2 03/19] xen/xsm: wrap around xsm_sysctl with
 CONFIG_SYSCTL
In-Reply-To: <20250326055053.3313146-4-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281706420.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-4-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> As function xsm_sysctl() is solely invoked in sysctl.c, we need to
> wrap around it with CONFIG_SYSCTL
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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



From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:07:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931319.1333689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJjE-0003T4-HV; Sat, 29 Mar 2025 00:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931319.1333689; Sat, 29 Mar 2025 00:07: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 1tyJjE-0003Sx-EQ; Sat, 29 Mar 2025 00:07:12 +0000
Received: by outflank-mailman (input) for mailman id 931319;
 Sat, 29 Mar 2025 00:07: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJjD-0003AW-S8
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:07:11 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1e6ed6a-0c31-11f0-9ffa-bf95429c2676;
 Sat, 29 Mar 2025 01:07:10 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 29F155C100B;
 Sat, 29 Mar 2025 00:04:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6D155C4CEE4;
 Sat, 29 Mar 2025 00:07:07 +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: c1e6ed6a-0c31-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743206828;
	bh=QOL1SjKrqmPDLWAU51TkSxpk97iUGfgl/1pOBgkgIDY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Ur+PnpSmq072MDzP4VsE4VGJLOyo+UHiaMsEOwJGCpVve1z7moG5rA2iIUXLoCsC0
	 TF1eFvRz4lKxv7eqi3kMEKxb0u4xfR2fv0fM+BvG8ee/sIG34x93n/VgSPLU66JpW0
	 LRPLu0jUUsij4Ow9A5njA8Y7XhRpHbPpR0OHJ9YSE+xjwMwUjzWiTNkiWosGzRjnwY
	 kGlkJ4Vv+ccIA35opydofiAnbl0go/t2Ji6JuKQnLWipZrtdBnKHCy+r8PvJIEyu34
	 Hpcd40Zl/clZB1UETnHsho0l5XwtXGft3W/BpIy09XOq00XN3aEPfjTUSeoGruqeZ9
	 JOJISU5k6E3Ag==
Date: Fri, 28 Mar 2025 17:07:05 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2 04/19] xen/sysctl: wrap around
 XEN_SYSCTL_readconsole
In-Reply-To: <20250326055053.3313146-5-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281706590.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-5-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> The following functions is to deal with XEN_SYSCTL_readconsole sub-op, and
> shall be wrapped:
> - xsm_readconsole
> - read_console_ring
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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



From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:07:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:07:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931333.1333700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJjb-00047E-RR; Sat, 29 Mar 2025 00:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931333.1333700; Sat, 29 Mar 2025 00: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 1tyJjb-000477-LU; Sat, 29 Mar 2025 00:07:35 +0000
Received: by outflank-mailman (input) for mailman id 931333;
 Sat, 29 Mar 2025 00:07: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJja-0003ea-MU
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:07:34 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf16546f-0c31-11f0-9ea4-5ba50f476ded;
 Sat, 29 Mar 2025 01:07:32 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 64D86A43055;
 Sat, 29 Mar 2025 00:02:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77216C4CEE4;
 Sat, 29 Mar 2025 00:07: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: cf16546f-0c31-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743206850;
	bh=4JXaR8rZikU0L4TzAJoNI85O5OIXAeNA8t/FyZen+3c=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LSv6WgW0WWKGos4skoJdi9v4NQrSZUc0SSuwWNLlQCkQYl++oV2Zya7M/P+/2U7QL
	 XOqPrTv+2sTOId6h4g6c3kAQwEthrP6QHuo7QzcYEiIWzu3pIHC9wfBOD0bdXu+vOn
	 TQ5NoGyrk0Mn0p8GZiGxrkH/5t6tc6feVpx2/i0LQ3fazXWCi+GJiOM+5z3VoWNAKn
	 RNdkhsyCKPzD2tiCva90yJYjB1sMrVvnX/q80acqAJqqL7R4/n/fem00bfMmz5oC0K
	 uGF0QQfbc33agpFSPEA6pU4eeh1pI5lmGhIyGqNeG5twTNk+rRAYFlsW9Fp1c7fptQ
	 ChU7xY91bpEQg==
Date: Fri, 28 Mar 2025 17:07:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 07/19] xen/sysctl: wrap around XEN_SYSCTL_perfc_op
In-Reply-To: <20250326055053.3313146-8-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281707200.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-8-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> perfc_control() and perfc_copy_info() are responsible for providing control
> of perf counters via XEN_SYSCTL_perfc_op in DOM0, so they both shall
> be wrapped.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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



From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:11:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:11:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931344.1333710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJnJ-0006gY-9g; Sat, 29 Mar 2025 00:11:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931344.1333710; Sat, 29 Mar 2025 00:11: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 1tyJnJ-0006gR-3p; Sat, 29 Mar 2025 00:11:25 +0000
Received: by outflank-mailman (input) for mailman id 931344;
 Sat, 29 Mar 2025 00:11: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJjw-0003AW-43
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:07:56 +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 db73ee41-0c31-11f0-9ffa-bf95429c2676;
 Sat, 29 Mar 2025 01:07:53 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 40D9D4386A;
 Sat, 29 Mar 2025 00:07:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47630C4CEE4;
 Sat, 29 Mar 2025 00:07: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: db73ee41-0c31-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743206871;
	bh=SeWWz17Gbgu0qHm2waKrLs2v8eOwFdoaYtWK9PM41sk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LxiADKHJzNSw8ZigtUmVI5rjh/OP+BBPgznVJk3IWPTaPt9eGpCYkKSB9ulJx1dQ1
	 RhtgcR3dRSg87pc0LHKzxszpfo/4WytxtbzKM4V/IUot5jnNrILwLbKWS5cPy9znMW
	 /DeVMcaIp7qCG+8YfQI5vUwQBFsREW6n5qGrI17OYaoJ8MkZ6FTNF2WjXTfNDiCoSC
	 YwwKU+IVaU13elS24f1nJ901dNQZLvLaPPv83YOcQG3BJGGEKokR6HeSAu6M6UznxC
	 0flBxB33hgb4/8nJnzeT6MKlYpLjQ4nloMFVI7f3NlNPCgWzGd5pAgVDu3LRoeOmec
	 ugm0yweP7KfaQ==
Date: Fri, 28 Mar 2025 17:07:48 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 08/19] xen/sysctl: wrap around
 XEN_SYSCTL_lockprof_op
In-Reply-To: <20250326055053.3313146-9-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281707390.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-9-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> The following function is only to serve spinlock profiling via
> XEN_SYSCTL_lockprof_op, so it shall be wrapped:
> - spinlock_profile_control
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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



From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:12:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931356.1333718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJnx-0007SJ-F9; Sat, 29 Mar 2025 00:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931356.1333718; Sat, 29 Mar 2025 00: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 1tyJnx-0007SC-Ce; Sat, 29 Mar 2025 00:12:05 +0000
Received: by outflank-mailman (input) for mailman id 931356;
 Sat, 29 Mar 2025 00:12: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJnv-0007Ma-E9
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:12:03 +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 6fb7bd00-0c32-11f0-9ffa-bf95429c2676;
 Sat, 29 Mar 2025 01:12:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id EFD0A61135;
 Sat, 29 Mar 2025 00:11:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B3377C4CEE4;
 Sat, 29 Mar 2025 00:11:58 +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: 6fb7bd00-0c32-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743207120;
	bh=v9sU4qapC5iF/842s+8NjQ9bwZ4I6AKBVvxmPbnPMdM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NYk7CVS2Ilqo7bvIlQgWSWnane0UA0iemdH0Jlr6ZshaJ2jjAq6C+cHYhStDy6G55
	 36wt3YODerlMiulQIPflVcHmEOm+1wWE5xJDXZOJiGl3hgU+wHDNL2zCF/wCMekoJC
	 S1T3dB/DhAvFHhUE2kG5qy2zmakfrHmfa66NmrUAWcW2ASLcxVDJte39RiM4tAGVDy
	 237dnEPkUkOsp/8cvEfIsSrhcwsQ/AUGbf6u/szFnc8TAjKJoBPPXEwGCLNTjy+vl1
	 eNuGbOMAVyjYK7WQydTyTSDHoskwdKVRiLRPNH7f09nLcccv+6rM2vaHjJKFRn25lM
	 ivyp0tPj9jNuw==
Date: Fri, 28 Mar 2025 17:11:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 14/19] xen: make avail_domheap_pages() static
In-Reply-To: <20250326055053.3313146-15-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281711510.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-15-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> Function avail_domheap_pages() is only invoked by get_outstanding_claims(),
> so it could be inlined into its sole caller.
> Move up avail_heap_pages() to avoid declaration before
> get_outstanding_claims().
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:13:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931364.1333729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJpQ-00080u-Q2; Sat, 29 Mar 2025 00:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931364.1333729; Sat, 29 Mar 2025 00: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 1tyJpQ-00080n-M8; Sat, 29 Mar 2025 00:13:36 +0000
Received: by outflank-mailman (input) for mailman id 931364;
 Sat, 29 Mar 2025 00:13: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJpQ-00080f-9S
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:13:36 +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 a72b638f-0c32-11f0-9ea4-5ba50f476ded;
 Sat, 29 Mar 2025 01:13:35 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id EB08240BD1;
 Sat, 29 Mar 2025 00:13:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 19B00C4CEE4;
 Sat, 29 Mar 2025 00:13:30 +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: a72b638f-0c32-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743207213;
	bh=DCzUYClgbiXL+bge5SbzUt6HbH/dpN1X3qVoRDyDjz4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cTbAhMfzts1g8K/tdPrpFY9/PzuVa/i0elBldZXwzllxWrczfrzZOfpg0J7JaXflD
	 YlY9ljIqJH5RiV+9dU94Gu2Q50xv7dbMTycfwS0NjMeuwbLJboFxJF8kqRPlTXnZCd
	 sHcBH8rRcla6+wa3UdOXAbzbEhQciGN67uonTXCqbVo5U0mPr4MhXx7uhPx4UyrA+N
	 ri8p4g4e9FF5bi6g0fpm8OAEZtO7bdh8HOEuIUFug+LzZru8dq7Ow20onAhPNqdICn
	 Yw86ibXQuak+TqGGxywPtmtCwKhtl9G/lZJDEluLOC1KHNrsGCodNTvF5ElKFJ36SU
	 tF4xZ43JrzFPg==
Date: Fri, 28 Mar 2025 17:13:29 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Bob Eshleman <bobbyeshleman@gmail.com>, 
    Connor Davis <connojdavis@gmail.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 15/19] xen/sysctl: wrap around XEN_SYSCTL_physinfo
In-Reply-To: <20250326055053.3313146-16-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281713230.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-16-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> The following functions are only used to deal with XEN_SYSCTL_physinfo,
> then they shall be wrapped:
> - arch_do_physinfo
> - get_outstanding_claims
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:22:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:22:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931378.1333739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyJxY-0002cA-J4; Sat, 29 Mar 2025 00:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931378.1333739; Sat, 29 Mar 2025 00: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 1tyJxY-0002c3-FU; Sat, 29 Mar 2025 00:22:00 +0000
Received: by outflank-mailman (input) for mailman id 931378;
 Sat, 29 Mar 2025 00:21: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyJxX-0002XO-6M
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:21:59 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d10e2c2f-0c33-11f0-9ffa-bf95429c2676;
 Sat, 29 Mar 2025 01:21:54 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 8EEE3A426E4;
 Sat, 29 Mar 2025 00:16:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBF39C4CEE4;
 Sat, 29 Mar 2025 00:21: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: d10e2c2f-0c33-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743207713;
	bh=WnF8sxgVwrxXVeSOjHnb/6TmlKUOcRZyolJhh7aPApg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=V5huz+Ht0ZAWql8OxzSpQTWTHIRpqPX14LIel5K1UmoSmdPdMeQolBpalXYkgN78w
	 nKFKXTTaHyU3kk5CbIworcdlNnIleMJCoE/IiaZWrXpYaiEsXQjNR8QDRw7Y4ZoFVb
	 uPS4Z0c8Vjv1Ghil0iqQk9b6PAgEwLFkUbE30dFEXQJFlKBefXYW8QlZ3xH/zufBHS
	 jBSqyymh7svDhBh2ZG99G5IPzSec29fCKH6fJotWIFTMtVjsymluWVp/359xfHVY6I
	 LeqrZLtIZAXu+qhAnY36/k4RXBOAhNg6lOhswAf50hIp391VBAlkMhzYHNub96FRbs
	 C+iC1ElXxO8sQ==
Date: Fri, 28 Mar 2025 17:21:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@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_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Bob Eshleman <bobbyeshleman@gmail.com>, 
    Connor Davis <connojdavis@gmail.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: Re: [PATCH v2 18/19] xen/sysctl: wrap around arch-specific
 arch_do_sysctl
In-Reply-To: <20250326055053.3313146-19-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281721390.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-19-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> Function arch_do_sysctl is to perform arch-specific sysctl op.
> Some functions, like psr_get_info for x86, DTB overlay support for arm,
> are solely available through sysctl op, then they all shall be wrapped
> with CONFIG_SYSCTL
> Also, remove all #ifdef CONFIG_SYSCTL-s in arch-specific sysctl.c, as
> we put the guardian in Makefile for the whole file.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

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



From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:36:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:36:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931389.1333748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyKB8-0005eR-Ki; Sat, 29 Mar 2025 00:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931389.1333748; Sat, 29 Mar 2025 00:36: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 1tyKB8-0005eI-IF; Sat, 29 Mar 2025 00:36:02 +0000
Received: by outflank-mailman (input) for mailman id 931389;
 Sat, 29 Mar 2025 00:36: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyKB7-0005eC-En
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:36:01 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8a2457b-0c35-11f0-9ea4-5ba50f476ded;
 Sat, 29 Mar 2025 01:35:59 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 75993A4305F;
 Sat, 29 Mar 2025 00:30:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A13CEC4CEE4;
 Sat, 29 Mar 2025 00:35: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: c8a2457b-0c35-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743208557;
	bh=Uq3LELn23WlkWAiGQjEVpzLGWJDOktDlK4ERsLfafDY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=J2gfrfBXgBcnu/MDp73A8Fy2J0olq2BRu5q5S3nG86bTsCggllh8Rh7/zPiczNBkr
	 hb6wH34pumKPYhRlj5upuRPlAIPTuIXsTj0cuBiOrqrfm5LfR4Nx5YbFxhMtRR5pdG
	 AvmQkwZjHBml7wusrTz0fq+eXcyeFmLSnw0cvGSw7UwtzQrPfmwXkUSCJCs+IdiUN3
	 XKeOTnaPZ+2b7CNS4xtHRkyMQPo5xx4RrtamP2QgtgD8gC42IwDUCBVCXgKpivQ7n/
	 TnIVhrPzNmQmNoYB7DrtA+6toLZWIa/QL6qctWmlmHXrVOsufYR6q1j0Akq7eCwCCE
	 NhM2Msgo7s4CA==
Date: Fri, 28 Mar 2025 17:35:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@amd.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>
Subject: Re: [PATCH v2 10/19] xen/sysctl: introduce CONFIG_PM_STATS
In-Reply-To: <20250326055053.3313146-11-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281734020.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-11-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> We intend to introduce CONFIG_PM_STATS for wrapping all operations
> regarding performance management statistics.
> The major codes reside in xen/drivers/acpi/pmstat.c, including two main
> pm-related sysctl op: do_get_pm_info() and do_pm_op().
> So This commit also makes CONFIG_PM_STATS depend on CONFIG_SYSCTL
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - rename to CONFIG_PM_STATS
> - fix indention and stray semicolon
> - make code movements into a new commit
> - No need to wrap inline functions and declarations
> ---
>  xen/arch/x86/acpi/cpu_idle.c                 |  2 ++
>  xen/arch/x86/acpi/cpufreq/hwp.c              |  6 ++++++
>  xen/arch/x86/acpi/cpufreq/powernow.c         |  4 ++++
>  xen/common/Kconfig                           |  5 +++++
>  xen/common/sysctl.c                          |  4 ++--
>  xen/drivers/acpi/Makefile                    |  2 +-
>  xen/drivers/cpufreq/cpufreq_misc_governors.c |  2 ++
>  xen/drivers/cpufreq/cpufreq_ondemand.c       |  2 ++
>  xen/include/acpi/cpufreq/processor_perf.h    | 14 ++++++++++++++
>  9 files changed, 38 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
> index 420198406d..b537ac4cd6 100644
> --- a/xen/arch/x86/acpi/cpu_idle.c
> +++ b/xen/arch/x86/acpi/cpu_idle.c
> @@ -1487,6 +1487,7 @@ static void amd_cpuidle_init(struct acpi_processor_power *power)
>          vendor_override = -1;
>  }
>  
> +#ifdef CONFIG_PM_STATS
>  uint32_t pmstat_get_cx_nr(unsigned int cpu)
>  {
>      return processor_powers[cpu] ? processor_powers[cpu]->count : 0;
> @@ -1606,6 +1607,7 @@ int pmstat_reset_cx_stat(unsigned int cpu)
>  {
>      return 0;
>  }
> +#endif /* CONFIG_PM_STATS */
>  
>  void cpuidle_disable_deep_cstate(void)
>  {
> diff --git a/xen/arch/x86/acpi/cpufreq/hwp.c b/xen/arch/x86/acpi/cpufreq/hwp.c
> index d5fa3d47ca..98e9d46890 100644
> --- a/xen/arch/x86/acpi/cpufreq/hwp.c
> +++ b/xen/arch/x86/acpi/cpufreq/hwp.c
> @@ -466,6 +466,7 @@ static int cf_check hwp_cpufreq_cpu_exit(struct cpufreq_policy *policy)
>      return 0;
>  }
>  
> +#ifdef CONFIG_PM_STATS
>  /*
>   * The SDM reads like turbo should be disabled with MSR_IA32_PERF_CTL and
>   * PERF_CTL_TURBO_DISENGAGE, but that does not seem to actually work, at least
> @@ -508,6 +509,7 @@ static int cf_check hwp_cpufreq_update(unsigned int cpu, struct cpufreq_policy *
>  
>      return per_cpu(hwp_drv_data, cpu)->ret;
>  }
> +#endif /* CONFIG_PM_STATS */
>  
>  static const struct cpufreq_driver __initconst_cf_clobber
>  hwp_cpufreq_driver = {
> @@ -516,9 +518,12 @@ hwp_cpufreq_driver = {
>      .target = hwp_cpufreq_target,
>      .init   = hwp_cpufreq_cpu_init,
>      .exit   = hwp_cpufreq_cpu_exit,
> +#ifdef CONFIG_PM_STATS
>      .update = hwp_cpufreq_update,
> +#endif
>  };
>  
> +#ifdef CONFIG_PM_STATS
>  int get_hwp_para(unsigned int cpu,
>                   struct xen_cppc_para *cppc_para)
>  {
> @@ -639,6 +644,7 @@ int set_hwp_para(struct cpufreq_policy *policy,
>  
>      return hwp_cpufreq_target(policy, 0, 0);
>  }
> +#endif /* CONFIG_PM_STATS */
>  
>  int __init hwp_register_driver(void)
>  {
> diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c b/xen/arch/x86/acpi/cpufreq/powernow.c
> index 69364e1855..08494d0902 100644
> --- a/xen/arch/x86/acpi/cpufreq/powernow.c
> +++ b/xen/arch/x86/acpi/cpufreq/powernow.c
> @@ -49,6 +49,7 @@ static void cf_check transition_pstate(void *pstate)
>      wrmsrl(MSR_PSTATE_CTRL, *(unsigned int *)pstate);
>  }
>  
> +#ifdef CONFIG_PM_STATS
>  static void cf_check update_cpb(void *data)
>  {
>      struct cpufreq_policy *policy = data;
> @@ -77,6 +78,7 @@ static int cf_check powernow_cpufreq_update(
>  
>      return 0;
>  }
> +#endif /* CONFIG_PM_STATS */
>  
>  static int cf_check powernow_cpufreq_target(
>      struct cpufreq_policy *policy,
> @@ -324,7 +326,9 @@ powernow_cpufreq_driver = {
>      .target = powernow_cpufreq_target,
>      .init   = powernow_cpufreq_cpu_init,
>      .exit   = powernow_cpufreq_cpu_exit,
> +#ifdef CONFIG_PM_STATS
>      .update = powernow_cpufreq_update
> +#endif
>  };
>  
>  unsigned int __init powernow_register_driver(void)
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 5b55ca6eaa..426fa8fcc2 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -557,4 +557,9 @@ config SYSCTL
>  	  to reduce Xen footprint.
>  endmenu
>  
> +config PM_STATS
> +	bool "Enable Performance Management Statistics"
> +	depends on ACPI && HAS_CPUFREQ && SYSCTL
> +	default y

This is visible so it would need a description, such as:

 Enable collection of performance management statistics to aid in
 analyzing and tuning power/performance characteristics of the system.

 This option may introduce slight overhead due to additional tracking.


From xen-devel-bounces@lists.xenproject.org Sat Mar 29 00:41:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 00:41:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931404.1333759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyKGY-0008Vg-Bi; Sat, 29 Mar 2025 00:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931404.1333759; Sat, 29 Mar 2025 00:41: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 1tyKGY-0008VZ-8n; Sat, 29 Mar 2025 00:41:38 +0000
Received: by outflank-mailman (input) for mailman id 931404;
 Sat, 29 Mar 2025 00:41: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=oenM=WQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tyKGX-0008VT-9e
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 00:41:37 +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 8e8f1e9d-0c36-11f0-9ffa-bf95429c2676;
 Sat, 29 Mar 2025 01:41:32 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id B516043EBE;
 Sat, 29 Mar 2025 00:41:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CC3AC4CEE4;
 Sat, 29 Mar 2025 00:41: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: 8e8f1e9d-0c36-11f0-9ffa-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743208890;
	bh=TNf/NyctrKtK/lL1H3makgkiHaUsxBhIpZ8/96xczuA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pyg5iSGGs3uPTvFhkUp1xFALE6T9iyK6RXc+XTTJjtyDv9uaWS+vUe9pJRCiyMCsk
	 wI34H67KVXLiXaEzetRVr2EGvR1b+dGmKlYXkAl3RS8k411tzOr2QRQvJrDxS/bajd
	 QnbtSKAVFxzQjbM4dRBOS0OCFzlAD1TchBzFhxpXwk7/XQ+M8c9D2tz+GgM5zUJDfb
	 2/jCdJWoMufgYRG+CefSqykM5Z8OObPPI+9jJz7Xj9px8NIcdABFtSqBJi5gvpf7ef
	 J+kZlyqMpT5ggTSzI4DlKJhTIz7E6PAzD8MoobZvNLK0HcHL/rUcaCcmZVu1n84Eem
	 6v7Q4BY9btzag==
Date: Fri, 28 Mar 2025 17:41:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <Penny.Zheng@amd.com>
cc: xen-devel@lists.xenproject.org, ray.huang@amd.com, 
    Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v2 09/19] xen/pmstat: clean up pmstat.c
In-Reply-To: <20250326055053.3313146-10-Penny.Zheng@amd.com>
Message-ID: <alpine.DEB.2.22.394.2503281741110.563920@ubuntu-linux-20-04-desktop>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com> <20250326055053.3313146-10-Penny.Zheng@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Mar 2025, Penny Zheng wrote:
> We intend to move the following functions into drivers/acpi/pmstat.c, as they
> are all designed for performance statistic:
> - cpufreq_residency_update
> - cpufreq_statistic_reset
> - cpufreq_statistic_update
> - cpufreq_statistic_init
> - cpufreq_statistic_exit
> and moving out acpi_set_pdc_bits(), as it is the handler for sub-hypercall
> XEN_PM_PDC, and shall stay with the other handlers together in
> drivers/cpufreq/cpufreq.c.
> This commit also applies various style corrections while moving these
> functions
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

I checked the diff and everything checks out.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 29 07:28:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Mar 2025 07:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931464.1333768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyQc4-0007nk-VD; Sat, 29 Mar 2025 07:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931464.1333768; Sat, 29 Mar 2025 07:28: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 1tyQc4-0007nd-Sd; Sat, 29 Mar 2025 07:28:16 +0000
Received: by outflank-mailman (input) for mailman id 931464;
 Sat, 29 Mar 2025 07:28: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=+zCo=WQ=desiato.srs.infradead.org=BATV+594cbcab689638b006ed+7888+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tyQc3-0007nQ-6o
 for xen-devel@lists.xenproject.org; Sat, 29 Mar 2025 07:28:15 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f4b6748-0c6f-11f0-9ea4-5ba50f476ded;
 Sat, 29 Mar 2025 08:28:13 +0100 (CET)
Received: from [172.31.31.145] (helo=u09cd745991455d.lumleys.internal)
 by desiato.infradead.org with esmtpsa (Exim 4.98.1 #2 (Red Hat Linux))
 id 1tyQbz-00000006Ih3-4AXv; Sat, 29 Mar 2025 07:28: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: 5f4b6748-0c6f-11f0-9ea4-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; 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=zqRQRvMqP58GGF27+w0jE5jRAVowyr7RhMyHFpDNVVc=; b=QCZYPfrTmJC1L40gJOHb3mhIMy
	/OFPSVEY3XPCzol6EsuV3ddhGUEf59B/mpcEQiY0RgxL6onoJagGoImOgat/0WNXmSLnrw+gQvWiy
	cSYU+bO5DLRJbMeXojfPECrnjtRBzj+0F0R6eos9IdQrInONm/Tj6Lz+rvJum/bBpRfHfnvemMHUw
	n2s8JNelP2uT/SZpouu53FkPfDLXnhmt1yZaVLtr9rkfMTIH1MPeeVPzIkIGtkhp0ybV40aSq2YY2
	dy38wrHyfwSqanHIJOiRFZxR/4OZ/q/b7DMzE8/MVGRJTMB3XtH9MRdYCzl8zU0+PH2Gg6dU0FzVp
	NSJ/rV0w==;
Message-ID: <1512f2704fe0a3acc6e673d69e1173543f920608.camel@infradead.org>
Subject: Re: [PATCH 1/2] i386/xen: Move KVM_XEN_HVM_CONFIG ioctl to
 kvm_xen_init_vcpu()
From: David Woodhouse <dwmw2@infradead.org>
To: 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>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz
 <hreitz@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Marcelo Tosatti
 <mtosatti@redhat.com>, xen-devel@lists.xenproject.org,
 qemu-block@nongnu.org,  kvm@vger.kernel.org, Sean Christopherson
 <seanjc@google.com>
Date: Sat, 29 Mar 2025 07:28:11 +0000
In-Reply-To: <20250207143724.30792-1-dwmw2@infradead.org>
References: <20250207143724.30792-1-dwmw2@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-NVTjRxKb98yb4LXt36VZ"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2025-02-07 at 14:37 +0000, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
>=20
> At the time kvm_xen_init() is called, hyperv_enabled() doesn't yet work, =
so
> the correct MSR index to use for the hypercall page isn't known.
>=20
> Rather than setting it to the default and then shifting it later for the
> Hyper-V case with a confusing second call to kvm_init_xen(), just do it
> once in kvm_xen_init_vcpu().
>=20
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>

Ping?

--=-NVTjRxKb98yb4LXt36VZ
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDMyOTA3Mjgx
MVowLwYJKoZIhvcNAQkEMSIEIAYkN3qsqoZlSp6WYqhX31fCSYMQHwFrajr3He3c4Bc2MGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAqelq23AgyeJA
CI5fzCweSE3NPPj6aJbTtykgPxQ4fztC9o1EB9t1LWjxzrvjd/l8eu9JoS8JOV70JhYDNMe7svhg
LFkYoPYI+COX8PQL/gZJ719WM77fe7gucfui9rWmJBxvhdS24abGxI7xAAnxj1mFCIQcAYWpq/tW
mqORcrARP09N7kHZ7zL7CKx8mamiS1dKgU7P40weTvsvSWyc6kS2k7rBMwcte9r2jMZfme+H8KW/
1XApY01FBCagUjkc/9fxWA7cMCDkO8fPEX5xk5Y24Mm8LEZ+Z0X6i3qeIYAPg1R5LAr8Eu6a/IVl
154wPWHfQoTkf2xAO7Ff5eM4TpJpl/sbgEcTJuXr1LSrEPuYa8GlbOhg37XzUIPsHnc76lVBWnrt
tAn/7XUEyAbzVaOVx3UR/gYHgd83oqUQJwVqUiFkWTncdxaIFXYkvprUC1CE9qM9mvezwAwRHc+w
iLfTSXw0d43LxHB9kuPfEe93jyOb50lUOcnL1cn9pJBR95B71HuJU+ONPwc4eFxaOLhlgvxMeiC5
729tg2XPmp8tlTe/emeg8UKnO7UxrwbkzcScPqx7hVsL2j3vp/HBuLOAYH/iDY/2capgB8CAfCfQ
TKssrZ97pBueX5BHASC4Qa5QKU/HEALHMkGnZx8iWMzZbHT2knpMGzakTdJ2bSgAAAAAAAA=


--=-NVTjRxKb98yb4LXt36VZ--


From xen-devel-bounces@lists.xenproject.org Sun Mar 30 09:20:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 09:20:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931578.1333782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyopK-0007zm-6Z; Sun, 30 Mar 2025 09:19:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931578.1333782; Sun, 30 Mar 2025 09:19: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 1tyopK-0007zf-3A; Sun, 30 Mar 2025 09:19:34 +0000
Received: by outflank-mailman (input) for mailman id 931578;
 Sun, 30 Mar 2025 09:19:33 +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 1tyopJ-0007zZ-FS
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 09:19:33 +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 1tyopJ-000Ee5-0V;
 Sun, 30 Mar 2025 09:19:33 +0000
Received: from [2a02:8012:3a1:0:bc2b:32d:d844:1191]
 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 1tyopI-0095AN-34;
 Sun, 30 Mar 2025 09:19: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>
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=sUtk6NcT49oh/eI7tK+FbfS31oBr1EZgq64UqSlVvQI=; b=29YQC9ijiOPyFrJrspaT7QyTHo
	8/dn8BC3aXVYvhVP0DfxgQDbVvRStKjL/i1mXy9bdu8Lt2ToNV5obrjwULaAhibWZGsQM5DJBvcX+
	wOss6ZHiw6QmWPTeLehKJ/UaxejP+J0JSgtXXSZdKEK5xTY+dRZ268FNgtwd0aBP/OOk=;
Message-ID: <aaea3429-a0bf-481a-87c3-8af6c7a71719@xen.org>
Date: Sun, 30 Mar 2025 10:19:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/arm/efi: merge neighboring banks
Content-Language: en-GB
To: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com
References: <20250328213331.1498584-1-stefano.stabellini@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250328213331.1498584-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 28/03/2025 21:33, Stefano Stabellini wrote:
> When booting from U-Boot bootefi, there can be a high number of
> neighboring RAM banks. See for example:
> 
> (XEN) RAM: 0000000000000000 - 0000000000bfffff
> (XEN) RAM: 0000000000c00000 - 0000000000c00fff
> (XEN) RAM: 0000000000c01000 - 0000000000dfffff
> (XEN) RAM: 0000000000e00000 - 000000000279dfff
> (XEN) RAM: 000000000279e000 - 00000000029fffff
> (XEN) RAM: 0000000002a00000 - 0000000008379fff
> (XEN) RAM: 000000000837a000 - 00000000083fffff
> (XEN) RAM: 0000000008400000 - 0000000008518fff
> (XEN) RAM: 0000000008519000 - 00000000085fffff
> (XEN) RAM: 0000000008600000 - 0000000008613fff
> (XEN) RAM: 0000000008614000 - 00000000097fffff
> (XEN) RAM: 0000000009800000 - 00000000098a7fff
> (XEN) RAM: 00000000098a8000 - 0000000009dfffff
> (XEN) RAM: 0000000009e00000 - 0000000009ea7fff
> (XEN) RAM: 0000000009ea8000 - 000000001fffffff
> (XEN) RAM: 0000000020000000 - 000000002007ffff
> (XEN) RAM: 0000000020080000 - 0000000077b17fff
> (XEN) RAM: 0000000077b19000 - 0000000077b2bfff
> (XEN) RAM: 0000000077b2c000 - 0000000077c8dfff
> (XEN) RAM: 0000000077c8e000 - 0000000077c91fff
> (XEN) RAM: 0000000077ca7000 - 0000000077caafff
> (XEN) RAM: 0000000077cac000 - 0000000077caefff
> (XEN) RAM: 0000000077cd0000 - 0000000077cd2fff
> (XEN) RAM: 0000000077cd4000 - 0000000077cd7fff
> (XEN) RAM: 0000000077cd8000 - 000000007bd07fff
> (XEN) RAM: 000000007bd09000 - 000000007fd5ffff
> (XEN) RAM: 000000007fd70000 - 000000007fefffff
> (XEN) RAM: 0000000800000000 - 000000087fffffff
> 
> Xen does not currently support boot modules that span multiple banks: at
> least one of the regions get freed twice. The first time from
> setup_mm->populate_boot_allocator, then again from
> discard_initial_modules->fw_unreserved_regions. With a high number of
> banks, it can be difficult to arrange the boot modules in a way that
> avoids spanning across multiple banks.
> 
> This small patch merges neighboring regions, to make dealing with them
> more efficient, and to make it easier to load boot modules.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 09:29:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 09:29:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931588.1333792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyoyX-00029x-TW; Sun, 30 Mar 2025 09:29:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931588.1333792; Sun, 30 Mar 2025 09:29: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 1tyoyX-00029q-Qf; Sun, 30 Mar 2025 09:29:05 +0000
Received: by outflank-mailman (input) for mailman id 931588;
 Sun, 30 Mar 2025 09:29:05 +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 1tyoyX-00029k-AT
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 09:29:05 +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 1tyoyW-000Ero-2V;
 Sun, 30 Mar 2025 09:29:04 +0000
Received: from [2a02:8012:3a1:0:bc2b:32d:d844:1191]
 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 1tyoyW-0096LS-1t;
 Sun, 30 Mar 2025 09:29: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>
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=lcVwf9ngiQ05Vzj71XI3bwYVTMADqpMd4aqn3s4Kut8=; b=TtWskzyYAhkT6xXC9zbTPOp1j/
	fY9uymGD7tpxYo7YgnC0eHdR3eU+QgSDDB0icrNGRvDv0vCaobosRHwNsFiYLfg6gkKBXvzGlp729
	YCGxytVBJ9F3vHThu5aVSFg2Vy0PVuQjuJZPrWpgClV65akrud8SCLQwmK9DD++/JnuA=;
Message-ID: <5b901464-64f4-489c-ad62-e03b7f9d47b7@xen.org>
Date: Sun, 30 Mar 2025 10:29:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
Content-Language: en-GB
To: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, andrew.cooper3@citrix.com, jbeulich@suse.com,
 roger.pau@citrix.com, michal.orzel@amd.com, bertrand.marquis@arm.com
References: <20250327233419.1119763-1-stefano.stabellini@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250327233419.1119763-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 27/03/2025 23:34, Stefano Stabellini wrote:
> The little endian implementation of bitmap_to_xenctl_bitmap leads to
> unnecessary xmallocs and xfrees. Given that Xen only supports little
> endian architectures, it is worth optimizing.
> 
> This patch removes the need for the xmalloc on little endian
> architectures.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> Changes in v3:
> - code style
> - copy_bytes > 1 checks
> - copy_bytes > 0 check for copy_to_guest_offset
> ---
>   xen/common/bitmap.c | 42 ++++++++++++++++++++++++++++++------------
>   1 file changed, 30 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
> index 3da63a32a6..d3f9347e62 100644
> --- a/xen/common/bitmap.c
> +++ b/xen/common/bitmap.c
> @@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
>   	unsigned int remainder = nbits % 8;
>   
>   	if (remainder)
> -		bp[nbits/8] &= (1U << remainder) - 1;
> +		*bp &= (1U << remainder) - 1;

This is changing the behavior of clamp_last_byte(). Yet, it doesn't seem 
the comment on top of is changed. Is this intended? Also, I would 
consider rename 'bp' so it is clearer this is meant to point to the last 
byte of the bitmap rather than the start.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 13:42:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 13:42:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931602.1333802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tysvj-0005Pj-V3; Sun, 30 Mar 2025 13:42:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931602.1333802; Sun, 30 Mar 2025 13:42: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 1tysvj-0005Pc-RN; Sun, 30 Mar 2025 13:42:27 +0000
Received: by outflank-mailman (input) for mailman id 931602;
 Sun, 30 Mar 2025 13:42: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=l0Nf=WR=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tysvh-0005PV-Q4
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 13:42:25 +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 cc0561aa-0d6c-11f0-9ffb-bf95429c2676;
 Sun, 30 Mar 2025 15:42:19 +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-402-BkrgiB1dOpyLLVci2-lOeg-1; Sun, 30 Mar 2025 09:42:16 -0400
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-4394c489babso17198765e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 06:42:15 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d90000f48sm91443025e9.37.2025.03.30.06.42.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Mar 2025 06:42: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: cc0561aa-0d6c-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1743342137;
	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=EVKwqJPfr4QPaIDNGk2hvYA8CboNSIQugm7IZY2L/BA=;
	b=i3iYYq+D8iQfEKf3eOyyjTHSLbf/MwxstfT3lB6L53rZC/DiJb86GWxWVEUZtZU+5gvMqQ
	nBdhptl2Bi7ybah62P4Lt0TG4s2sbUfqqB6w+QQgqhvWLRzwEL36tLXO9OgSzbNrrq2BdT
	QfXVn4WAwhbfXBr6+a7dveCMttMtRtc=
X-MC-Unique: BkrgiB1dOpyLLVci2-lOeg-1
X-Mimecast-MFC-AGG-ID: BkrgiB1dOpyLLVci2-lOeg_1743342135
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743342135; x=1743946935;
        h=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=EVKwqJPfr4QPaIDNGk2hvYA8CboNSIQugm7IZY2L/BA=;
        b=MBAH1Wpl38Mn6x/ksDcTon7M6WL8/GISyonb5011yya0uJaEoAMI9HciBfttQ1nPgn
         oTsVtJVjetWfSDzIRDpzpyRDIKIkKueOL/Q1DkYtXg+P2baAyt2atvpVteQv77JcZUV4
         oIpsrGByIpoHAogUHWNA22dNOyxL7z2awqcm5SsZlOJesBdRtcgzGK9ZQ/r0zrwe05/l
         q3HQ3YLhqFv3zQOELlsa+fIsPzhJctSomi0fKuygr5HEbYsmD9jG1kMpBykGEZiWHDlW
         mZ4aOWlZc70pQzBT2CbOOOePu2zOySsQOTvKPSEisIYtil7vRTMWcEzFyiRjn0LbmLzz
         4NBw==
X-Forwarded-Encrypted: i=1; AJvYcCVUB14dPgw/dKMs2DmtRfHWapPxxVYSS+cJ48CM1rwQGEVWzK1l9XnJ4BWlnNhpqriOGgFTRG+MP1M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEW7ZHpr87LuhxemoAhkixkt/qDvQN6h8FUzzwq6jgbSuvgvHK
	jt6cidGL2EN46Sm156HK1GehXLGkhUFsbZPiCATiYoQ0lkF5vE6Uxx4/jbuvqxr+390FsUyABrf
	Lw05GX3/mzp5jIeAWFXqH6IWf4mPYW3NK3Nj5bw0MHrt7LWBgzvtTdNnBKbGDzRtA
X-Gm-Gg: ASbGncuVf/C12dLvPwNMgTeLSIhL6ZFFQldC/DUjUa2VC5KHNW2ZEiNjLWu5P5wsCj1
	VJmij+6zzMTqbxRy9OxJn2i71kec3NWtrHNU3CJTh3dd/9fJS2J9pWo3VolHr3je8bXpCljJntK
	GVEkXaLyWMervBc5TNa4/MnZqZG8la0d871n1o+8DJZbSee8NnUgBCkylKSEeSqajO9B38n4OKk
	DT5kJtWDTcG3E1OoHMDtPkOZYsRoSeuSFBk3KJ4rKc3kQcVEc5vQ91hHfZmQ9dzkY5g2jRoKP1k
	4W8J2Z9ULw==
X-Received: by 2002:a05:600c:384d:b0:43c:fded:9654 with SMTP id 5b1f17b1804b1-43db62bd0a5mr44135485e9.19.1743342134760;
        Sun, 30 Mar 2025 06:42:14 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFceVYy8P/4rdEylphWngsUQJtsROJ+u5xjCs5nBFb/+Q+tLCz4LEP8IBXSQxv5v24A9e0nCQ==
X-Received: by 2002:a05:600c:384d:b0:43c:fded:9654 with SMTP id 5b1f17b1804b1-43db62bd0a5mr44134915e9.19.1743342134286;
        Sun, 30 Mar 2025 06:42:14 -0700 (PDT)
Date: Sun, 30 Mar 2025 09:42:07 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>,
	mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	boris.ostrovsky@oracle.com, jgross@suse.com,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	heikki.krogerus@linux.intel.com, peterz@infradead.org,
	benh@kernel.crashing.org, grant.likely@arm.com, paulus@samba.org,
	mingo@kernel.org, sstabellini@kernel.org,
	Saravana Kannan <saravanak@google.com>, xypron.glpk@gmx.de,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	xen-devel@lists.xenproject.org, Thierry Reding <treding@nvidia.com>,
	linux-devicetree <devicetree@vger.kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	lkml <linux-kernel@vger.kernel.org>,
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
	Jim Quinlan <james.quinlan@broadcom.com>,
	Robin Murphy <robin.murphy@arm.com>, hch@infradead.org,
	Jason Wang <jasowang@redhat.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Eugenio =?iso-8859-1?Q?P=E9rez?= <eperezma@redhat.com>,
	virtualization@lists.linux.dev, graf@amazon.de
Subject: Re: Using Restricted DMA for virtio-pci
Message-ID: <20250330093532-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
 <20250321142947-mutt-send-email-mst@kernel.org>
 <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
 <8e7084b04e5c0456c0ff32ea131a199c6af763cd.camel@infradead.org>
MIME-Version: 1.0
In-Reply-To: <8e7084b04e5c0456c0ff32ea131a199c6af763cd.camel@infradead.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: 1o7xUi3ZLP2QdEBxYHWFFosxscUKw8nNDTIdXpRPaHM_1743342135
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Fri, Mar 28, 2025 at 05:40:41PM +0000, David Woodhouse wrote:
> On Fri, 2025-03-21 at 18:42 +0000, David Woodhouse wrote:
> > On Fri, 2025-03-21 at 14:32 -0400, Michael S. Tsirkin wrote:
> > > On Fri, Mar 21, 2025 at 03:38:10PM +0000, David Woodhouse wrote:
> > > > On Tue, 2021-02-09 at 14:21 +0800, Claire Chang wrote:
> > > > > This series implements mitigations for lack of DMA access control on
> > > > > systems without an IOMMU, which could result in the DMA accessing the
> > > > > system memory at unexpected times and/or unexpected addresses, possibly
> > > > > leading to data leakage or corruption.
> > > > 
> > > > Replying to an ancient (2021) thread which has already been merged...
> > > > 
> > > > I'd like to be able to use this facility for virtio devices.
> > > > 
> > > > Virtio already has a complicated relationship with the DMA API, because
> > > > there were a bunch of early VMM bugs where the virtio devices where
> > > > magically exempted from IOMMU protection, but the VMM lied to the guest
> > > > and claimed they weren't.
> > > > 
> > > > With the advent of confidential computing, and the VMM (or whatever's
> > > > emulating the virtio device) not being *allowed* to arbitrarily access
> > > > all of the guest's memory, the DMA API becomes necessary again.
> > > > 
> > > > Either a virtual IOMMU needs to determine which guest memory the VMM
> > > > may access, or the DMA API is wrappers around operations which
> > > > share/unshare (or unencrypt/encrypt) the memory in question.
> > > > 
> > > > All of which is complicated and slow, if we're looking at a minimal
> > > > privileged hypervisor stub like pKVM which enforces the lack of guest
> > > > memory access from VMM.
> > > > 
> > > > I'm thinking of defining a new type of virtio-pci device which cannot
> > > > do DMA to arbitrary system memory. Instead it has an additional memory
> > > > BAR which is used as a SWIOTLB for bounce buffering.
> > > > 
> > > > The driver for it would look much like the existing virtio-pci device
> > > > except that it would register the restricted-dma region first (and thus
> > > > the swiotlb dma_ops), and then just go through the rest of the setup
> > > > like any other virtio device.
> > > > 
> > > > That seems like it ought to be fairly simple, and seems like a
> > > > reasonable way to allow an untrusted VMM to provide virtio devices with
> > > > restricted DMA access.
> > > > 
> > > > While I start actually doing the typing... does anyone want to start
> > > > yelling at me now? Christoph? mst? :)
> > > 
> > > 
> > > I don't mind as such (though I don't understand completely), but since
> > > this is changing the device anyway, I am a bit confused why you can't
> > > just set the VIRTIO_F_ACCESS_PLATFORM feature bit?  This forces DMA API
> > > which will DTRT for you, will it not?
> > 
> > That would be necessary but not sufficient. ...

could you explain pls?

> My first cut at a proposed spec change looks something like this. I'll
> post it to the virtio-comment list once I've done some corporate
> bureaucracy and when the list stops sending me python tracebacks in
> response to my subscribe request.

the linux foundation one does this? maybe poke at the admins.

> In the meantime I'll hack up some QEMU and guest Linux driver support
> to match.
> 
> diff --git a/content.tex b/content.tex
> index c17ffa6..1e6e1d6 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -773,6 +773,9 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}
>  Currently these device-independent feature bits are defined:
>  
>  \begin{description}
> +  \item[VIRTIO_F_SWIOTLB (27)] This feature indicates that the device
> +  provides a memory region which is to be used for bounce buffering,
> +  rather than permitting direct memory access to system memory.
>    \item[VIRTIO_F_INDIRECT_DESC (28)] Negotiating this feature indicates
>    that the driver can use descriptors with the VIRTQ_DESC_F_INDIRECT
>    flag set, as described in \ref{sec:Basic Facilities of a Virtio
> @@ -885,6 +888,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}
>  VIRTIO_F_ACCESS_PLATFORM is not offered, then a driver MUST pass only physical
>  addresses to the device.
>  
> +A driver SHOULD accept VIRTIO_F_SWIOTLB if it is offered, and it MUST
> +then pass only addresses within the Software IOTLB bounce buffer to the
> +device.
> +
>  A driver SHOULD accept VIRTIO_F_RING_PACKED if it is offered.
>  
>  A driver SHOULD accept VIRTIO_F_ORDER_PLATFORM if it is offered.
> @@ -921,6 +928,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}
>  A device MAY fail to operate further if VIRTIO_F_ACCESS_PLATFORM is not
>  accepted.
>  
> +A device MUST NOT offer VIRTIO_F_SWIOTLB if its transport does not
> +provide a Software IOTLB bounce buffer.
> +A device MAY fail to operate further if VIRTIO_F_SWIOTLB is not accepted.
> +
>  If VIRTIO_F_IN_ORDER has been negotiated, a device MUST use
>  buffers in the same order in which they have been available.
>  
> diff --git a/transport-pci.tex b/transport-pci.tex
> index a5c6719..23e0d57 100644
> --- a/transport-pci.tex
> +++ b/transport-pci.tex
> @@ -129,6 +129,7 @@ \subsection{Virtio Structure PCI Capabilities}\label{sec:Virtio Transport Option
>  \item ISR Status
>  \item Device-specific configuration (optional)
>  \item PCI configuration access
> +\item SWIOTLB bounce buffer
>  \end{itemize}
>  
>  Each structure can be mapped by a Base Address register (BAR) belonging to
> @@ -188,6 +189,8 @@ \subsection{Virtio Structure PCI Capabilities}\label{sec:Virtio Transport Option
>  #define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8
>  /* Vendor-specific data */
>  #define VIRTIO_PCI_CAP_VENDOR_CFG        9
> +/* Software IOTLB bounce buffer */
> +#define VIRTIO_PCI_CAP_SWIOTLB           10
>  \end{lstlisting}
>  
>          Any other value is reserved for future use.
> @@ -744,6 +747,36 @@ \subsubsection{Vendor data capability}\label{sec:Virtio
>  The driver MUST qualify the \field{vendor_id} before
>  interpreting or writing into the Vendor data capability.
>  
> +\subsubsection{Software IOTLB bounce buffer capability}\label{sec:Virtio
> +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> +Software IOTLB bounce buffer capability}
> +
> +The optional Software IOTLB bounce buffer capability allows the
> +device to provide a memory region which can be used by the driver
> +driver for bounce buffering. This allows a device on the PCI
> +transport to operate without DMA access to system memory addresses.
> +
> +The Software IOTLB region is referenced by the
> +VIRTIO_PCI_CAP_SWIOTLB capability. Bus addresses within the referenced
> +range are not subject to the requirements of the VIRTIO_F_ORDER_PLATFORM
> +capability, if negotiated.


why not? an optimization?
A mix of swiotlb and system memory might be very challenging from POV
of ordering.


> +
> +\devicenormative{\paragraph}{Software IOTLB bounce buffer capability}{Virtio
> +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> +Software IOTLB bounce buffer capability}
> +
> +Devices which present the Software IOTLB bounce buffer capability
> +SHOULD also offer the VIRTIO_F_SWIOTLB feature.
> +
> +\drivernormative{\paragraph}{Software IOTLB bounce buffer capability}{Virtio
> +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> +Software IOTLB bounce buffer capability}
> +
> +The driver SHOULD use the offered buffer in preference to passing system
> +memory addresses to the device.

Even if not using VIRTIO_F_SWIOTLB? Is that really necessary?

> If the driver accepts the VIRTIO_F_SWIOTLB
> +feature, then the driver MUST use the offered buffer and never pass system
> +memory addresses to the device.
> +
>  \subsubsection{PCI configuration access capability}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / PCI configuration access capability}
>  
>  The VIRTIO_PCI_CAP_PCI_CFG capability
> 




From xen-devel-bounces@lists.xenproject.org Sun Mar 30 15:08:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 15:08:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931617.1333815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyuH1-0005t9-SL; Sun, 30 Mar 2025 15:08:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931617.1333815; Sun, 30 Mar 2025 15: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 1tyuH1-0005t2-OL; Sun, 30 Mar 2025 15:08:31 +0000
Received: by outflank-mailman (input) for mailman id 931617;
 Sun, 30 Mar 2025 15:08: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=QTQ+=WR=desiato.srs.infradead.org=BATV+07442bf8be34e4cbe263+7889+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tyuGz-0005sw-Hy
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 15:08:30 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d520b4a2-0d78-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 17:08:27 +0200 (CEST)
Received: from [172.31.31.145] (helo=u09cd745991455d.ant.amazon.com)
 by desiato.infradead.org with esmtpsa (Exim 4.98.1 #2 (Red Hat Linux))
 id 1tyuGS-00000006Wxz-2VMu; Sun, 30 Mar 2025 15:07: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: d520b4a2-0d78-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; 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=3yJoXS3aoVCn5SRdxH72qtXJLR3Q44bN3jSoRVPocdk=; b=QN4IF3SSgnWBqSpbejxiqnd0/E
	fXeGCBHfJpUStt9wEbS0sCNgkzHOK4byeQg7TdWDATfLPPTGJBUxr7xdK8J/fQaBquYU2Jzi/VIXW
	UFglLl6KXBMNne0T51xU/ckBAmn0Lp4t9rwucDWk41GYnVeoj4zZ/wrgOOFn5UESYeCRNxEQutm5S
	ESTXR7p0cTu3pnJkLchK1fDz1ewQOxGv85uidxiZ2JRqBgsB/cFw0RGjc92pTH7uFRFZwdSc+sUqT
	PQ7XSy+/6aAHgk0Rt4uaqhODrMEa+tlkEdzJxTHJAAB/1toiaC9TQivieMdtAhqm7RrKLleFmbYor
	xbBtCppg==;
Message-ID: <09fc164ebcfd893ffd67d1b224d6e1c5e5772ee0.camel@infradead.org>
Subject: Re: Using Restricted DMA for virtio-pci
From: David Woodhouse <dwmw2@infradead.org>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>, 
 mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>, Will Deacon
 <will@kernel.org>,  Frank Rowand <frowand.list@gmail.com>, Konrad Rzeszutek
 Wilk <konrad.wilk@oracle.com>,  boris.ostrovsky@oracle.com,
 jgross@suse.com, Christoph Hellwig <hch@lst.de>,  Marek Szyprowski
 <m.szyprowski@samsung.com>, heikki.krogerus@linux.intel.com,
 peterz@infradead.org,  benh@kernel.crashing.org, grant.likely@arm.com,
 paulus@samba.org, mingo@kernel.org,  sstabellini@kernel.org, Saravana
 Kannan <saravanak@google.com>,  xypron.glpk@gmx.de, "Rafael J . Wysocki"
 <rafael.j.wysocki@intel.com>,  Bartosz Golaszewski
 <bgolaszewski@baylibre.com>, xen-devel@lists.xenproject.org, Thierry Reding
 <treding@nvidia.com>,  linux-devicetree <devicetree@vger.kernel.org>,
 linuxppc-dev@lists.ozlabs.org, Nicolas Boichat <drinkcat@chromium.org>, 
 Dan Williams <dan.j.williams@intel.com>, Andy Shevchenko
 <andriy.shevchenko@linux.intel.com>, Greg KH <gregkh@linuxfoundation.org>,
 Randy Dunlap <rdunlap@infradead.org>, lkml <linux-kernel@vger.kernel.org>,
 "list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>, Jim
 Quinlan <james.quinlan@broadcom.com>,  Robin Murphy <robin.murphy@arm.com>,
 hch@infradead.org, Jason Wang <jasowang@redhat.com>, Xuan Zhuo
 <xuanzhuo@linux.alibaba.com>, Eugenio =?ISO-8859-1?Q?P=E9rez?=
 <eperezma@redhat.com>, virtualization@lists.linux.dev, graf@amazon.de
Date: Sun, 30 Mar 2025 16:07:56 +0100
In-Reply-To: <20250330093532-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
	 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
	 <20250321142947-mutt-send-email-mst@kernel.org>
	 <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
	 <8e7084b04e5c0456c0ff32ea131a199c6af763cd.camel@infradead.org>
	 <20250330093532-mutt-send-email-mst@kernel.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-mYzUro773zg9T/uQYbOm"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html


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

On Sun, 2025-03-30 at 09:42 -0400, Michael S. Tsirkin wrote:
> On Fri, Mar 28, 2025 at 05:40:41PM +0000, David Woodhouse wrote:
> > On Fri, 2025-03-21 at 18:42 +0000, David Woodhouse wrote:
> > > >=20
> > > > I don't mind as such (though I don't understand completely), but si=
nce
> > > > this is changing the device anyway, I am a bit confused why you can=
't
> > > > just set the VIRTIO_F_ACCESS_PLATFORM feature bit?=C2=A0 This force=
s DMA API
> > > > which will DTRT for you, will it not?
> > >=20
> > > That would be necessary but not sufficient. ...
>=20
> could you explain pls?

There was more to that in the previous email which I elided for this
followup.

https://lore.kernel.org/all/d1382a6ee959f22dc5f6628d8648af77f4702418.camel@=
infradead.org/

> > My first cut at a proposed spec change looks something like this. I'll
> > post it to the virtio-comment list once I've done some corporate
> > bureaucracy and when the list stops sending me python tracebacks in
> > response to my subscribe request.
>=20
> the linux foundation one does this? maybe poke at the admins.
>=20
> > In the meantime I'll hack up some QEMU and guest Linux driver support
> > to match.
> >=20
> > diff --git a/content.tex b/content.tex
> > index c17ffa6..1e6e1d6 100644
> > --- a/content.tex
> > +++ b/content.tex
> > @@ -773,6 +773,9 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved =
Feature Bits}
> > =C2=A0Currently these device-independent feature bits are defined:
> > =C2=A0
> > =C2=A0\begin{description}
> > +=C2=A0 \item[VIRTIO_F_SWIOTLB (27)] This feature indicates that the de=
vice
> > +=C2=A0 provides a memory region which is to be used for bounce bufferi=
ng,
> > +=C2=A0 rather than permitting direct memory access to system memory.
> > =C2=A0=C2=A0 \item[VIRTIO_F_INDIRECT_DESC (28)] Negotiating this featur=
e indicates
> > =C2=A0=C2=A0 that the driver can use descriptors with the VIRTQ_DESC_F_=
INDIRECT
> > =C2=A0=C2=A0 flag set, as described in \ref{sec:Basic Facilities of a V=
irtio
> > @@ -885,6 +888,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved=
 Feature Bits}
> > =C2=A0VIRTIO_F_ACCESS_PLATFORM is not offered, then a driver MUST pass =
only physical
> > =C2=A0addresses to the device.
> > =C2=A0
> > +A driver SHOULD accept VIRTIO_F_SWIOTLB if it is offered, and it MUST
> > +then pass only addresses within the Software IOTLB bounce buffer to th=
e
> > +device.
> > +
> > =C2=A0A driver SHOULD accept VIRTIO_F_RING_PACKED if it is offered.
> > =C2=A0
> > =C2=A0A driver SHOULD accept VIRTIO_F_ORDER_PLATFORM if it is offered.
> > @@ -921,6 +928,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved=
 Feature Bits}
> > =C2=A0A device MAY fail to operate further if VIRTIO_F_ACCESS_PLATFORM =
is not
> > =C2=A0accepted.
> > =C2=A0
> > +A device MUST NOT offer VIRTIO_F_SWIOTLB if its transport does not
> > +provide a Software IOTLB bounce buffer.
> > +A device MAY fail to operate further if VIRTIO_F_SWIOTLB is not accept=
ed.
> > +
> > =C2=A0If VIRTIO_F_IN_ORDER has been negotiated, a device MUST use
> > =C2=A0buffers in the same order in which they have been available.
> > =C2=A0
> > diff --git a/transport-pci.tex b/transport-pci.tex
> > index a5c6719..23e0d57 100644
> > --- a/transport-pci.tex
> > +++ b/transport-pci.tex
> > @@ -129,6 +129,7 @@ \subsection{Virtio Structure PCI Capabilities}\labe=
l{sec:Virtio Transport Option
> > =C2=A0\item ISR Status
> > =C2=A0\item Device-specific configuration (optional)
> > =C2=A0\item PCI configuration access
> > +\item SWIOTLB bounce buffer
> > =C2=A0\end{itemize}
> > =C2=A0
> > =C2=A0Each structure can be mapped by a Base Address register (BAR) bel=
onging to
> > @@ -188,6 +189,8 @@ \subsection{Virtio Structure PCI Capabilities}\labe=
l{sec:Virtio Transport Option
> > =C2=A0#define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8
> > =C2=A0/* Vendor-specific data */
> > =C2=A0#define VIRTIO_PCI_CAP_VENDOR_CFG=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 9
> > +/* Software IOTLB bounce buffer */
> > +#define VIRTIO_PCI_CAP_SWIOTLB=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 10
> > =C2=A0\end{lstlisting}
> > =C2=A0
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Any other value is res=
erved for future use.
> > @@ -744,6 +747,36 @@ \subsubsection{Vendor data capability}\label{sec:V=
irtio
> > =C2=A0The driver MUST qualify the \field{vendor_id} before
> > =C2=A0interpreting or writing into the Vendor data capability.
> > =C2=A0
> > +\subsubsection{Software IOTLB bounce buffer capability}\label{sec:Virt=
io
> > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> > +Software IOTLB bounce buffer capability}
> > +
> > +The optional Software IOTLB bounce buffer capability allows the
> > +device to provide a memory region which can be used by the driver
> > +driver for bounce buffering. This allows a device on the PCI
> > +transport to operate without DMA access to system memory addresses.
> > +
> > +The Software IOTLB region is referenced by the
> > +VIRTIO_PCI_CAP_SWIOTLB capability. Bus addresses within the referenced
> > +range are not subject to the requirements of the VIRTIO_F_ORDER_PLATFO=
RM
> > +capability, if negotiated.
>=20
>=20
> why not? an optimization?
> A mix of swiotlb and system memory might be very challenging from POV
> of ordering.

Conceptually, these addresses are *on* the PCI device. If the device is
accessing addresses which are local to it, they aren't subject to IOMMU
translation/filtering because they never even make it to the PCI bus as
memory transactions.

>=20
> > +
> > +\devicenormative{\paragraph}{Software IOTLB bounce buffer capability}{=
Virtio
> > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> > +Software IOTLB bounce buffer capability}
> > +
> > +Devices which present the Software IOTLB bounce buffer capability
> > +SHOULD also offer the VIRTIO_F_SWIOTLB feature.
> > +
> > +\drivernormative{\paragraph}{Software IOTLB bounce buffer capability}{=
Virtio
> > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> > +Software IOTLB bounce buffer capability}
> > +
> > +The driver SHOULD use the offered buffer in preference to passing syst=
em
> > +memory addresses to the device.
>=20
> Even if not using VIRTIO_F_SWIOTLB? Is that really necessary?

That part isn't strictly necessary, but I think it makes sense, for
cases where the SWIOTLB support is an *optimisation* even if it isn't
strictly necessary.

Why might it be an "optimisation"? Well... if we're thinking of a model
like pKVM where the VMM can't just arbitrarily access guest memory,
using the SWIOTLB is a simple way to avoid that (by using the on-board
memory instead, which *can* be shared with the VMM).

But if we want to go to extra lengths to support unenlightened guests,
an implementation might choose to just *disable* the memory protection
if the guest doesn't negotiate VIRTIO_F_SWIOTLB, instead of breaking
that guest.

Or it might have a complicated emulation/snooping of virtqueues in the
trusted part of the hypervisor so that it knows which addresses the
guest has truly *asked* the VMM to access. (And yes, of course that's
what an IOMMU is for, but when have you seen hardware companies design
a two-stage IOMMU which supports actual PCI passthrough *and* get it
right for the hypervisor to 'snoop' on the stage1 page tables to
support emulated devices too....)

Ultimately I think it was natural to advertise the location of the
buffer with the VIRTIO_PCI_CAP_SWIOTLB capability and then to have the
separate VIRTIO_F_SWIOTLB for negotiation... leaving the obvious
question of what a device should do if it sees one but *not* the other.

Obviously you can't have VIRTIO_F_SWIOTLB *without* there actually
being a buffer advertised with VIRTIO_PCI_CAP_SWIOTLB (or its
equivalent for other transports). But the converse seemed reasonable as
a *hint* even if the use of the SWIOTLB isn't mandatory.

--=-mYzUro773zg9T/uQYbOm
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDMzMDE1MDc1
NlowLwYJKoZIhvcNAQkEMSIEIF3xw9Z4evpIp/lVAcDbFgxbJXuRG0tQFapgel3ylA6MMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAW0QSjRaorM1G
6kWlL8kxzKFJBFJSLWTDLAUB1R1hRbODU299NsYz/zc0rEFUknaIVg+2GxOf9JSPoIlLqRf3H9iR
xxSnP9b4i9HzN1+bdaKNVyz+ntkZes8ZfUwgrWHpEviilC8GVpE1iK5i6fqLwDxxbEG/yADer2lf
koxYQjdQig5JWmySbiohsPSJStZVy3nykbqbJ6wmQxiltwrcFY1ItsAOFUfP+zohZ8RggMwL6XQK
QQZGBnsxdb6atYSbRyYdwkl/3qxH+3bpKJYieFHdvxNnAvA0tWWLBmkaV23XjlHUkTFfbjMf1yCl
jeJKQHtfSnbjwoO8YFQHoN2Mxm+QvHgsVFB/6voKjs+JQodg/McB/Dw//XuNJnoeE1fwiHfzV2aJ
riXBYmHQsQOrFTTJmixB/hvi86MgON4yoi6jsUzw7R712UncQvL/y/mNaIPKYxw3vxompof8M6MZ
gdx8hdcssMymr0OIXOvKDfEoGP18D+wGQ6+VXhLI0eS0bF3/7kSBv3T3w14VkuO3uY/Ntg9q65Y0
MiqOA8nHsouy7ibW243/oFbGklh+cHB9ABH8mGo+O2fQK8BLHGdO6bXid4g6ZKSVmOSaMq+9WRZs
G5zTc5JfG1EWKIGXEhTRezVVMcHkaGAarJYtO6FDrvZI03QoayEKx6v+0yrTAwkAAAAAAAA=


--=-mYzUro773zg9T/uQYbOm--


From xen-devel-bounces@lists.xenproject.org Sun Mar 30 16:04:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 16:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931630.1333824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyv8c-0002PO-OV; Sun, 30 Mar 2025 16:03:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931630.1333824; Sun, 30 Mar 2025 16:03: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 1tyv8c-0002PH-M1; Sun, 30 Mar 2025 16:03:54 +0000
Received: by outflank-mailman (input) for mailman id 931630;
 Sun, 30 Mar 2025 16:03: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=iWEh=WR=mail.com=hehongbo@srs-se1.protection.inumbo.net>)
 id 1tyv8b-0002PB-L2
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 16:03:53 +0000
Received: from mout.mail.com (mout.mail.com [74.208.4.200])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8fa6b1dd-0d80-11f0-9ffb-bf95429c2676;
 Sun, 30 Mar 2025 18:03:48 +0200 (CEST)
Received: from localhost.localdomain ([202.81.229.170]) by smtp.mail.com
 (mrgmxus005 [74.208.5.15]) with ESMTPSA (Nemesis) id
 0LtZ5O-1t0Sma0jDA-015jgB; Sun, 30 Mar 2025 18:03:44 +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: 8fa6b1dd-0d80-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.com;
	s=s1089575; t=1743350624; x=1743955424; i=hehongbo@mail.com;
	bh=oF78OOmsAcJMdi0rEz2e/GUg/u4gORsyRl/Ou+Gu0Ig=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To:
	 References:MIME-Version:Content-Transfer-Encoding:cc:
	 content-transfer-encoding:content-type:date:from:message-id:
	 mime-version:reply-to:subject:to;
	b=DmxkQ81XoPPQlP10i5Vl0AQ3qwsAoBPzLQ3ULX2aV2Qv3tqqgNFAh9zAsGcE/bUh
	 nGJ0OdCtRasJzw4tTTRO+5lMFStBFcM3MEoxpHFOQc59jVaX4TebkT7bsjKnHP3XQ
	 7JSkgLVP6U+4+ec6x+f/zJ79fJigt5AJDpOeAWyYMvvEOh08EE61gZ0FNZNjKEILQ
	 zk3TN/G9h33f4lOmrUtP4w4d23ZT0WJtGqjERgh8XxmpdQFaqCtNHkI3tZnQKG850
	 VirzGFJi/XR/kzTkelJfzQG18d2yrcGqpQLSsThocPloR78QJxLNVd5V0yXOyGoW8
	 zH5Q9Yrmkz02URJQzw==
X-UI-Sender-Class: f2cb72be-343f-493d-8ec3-b1efb8d6185a
From: Hongbo <hehongbo@mail.com>
To: xen-devel@lists.xenproject.org
Cc: Hongbo <hehongbo@mail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [XEN PATCH v2 1/1] tools/libxl: search PATH for QEMU if `QEMU_XEN_PATH` is not absolute
Date: Mon, 31 Mar 2025 00:03:04 +0800
Message-Id: <20250330160304.20899-1-hehongbo@mail.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <20241223031753.13709-1-hehongbo@mail.com>
References: <20241223031753.13709-1-hehongbo@mail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:JS7NwQ+ubojur4xWWgrI9hbYHpAT0pd9Oayj5blPfppS4/Y0USz
 fQzRTDrEYRbmsUHOZfEL5B0FF4su4BVJUt1XdnvjJ5NrwMrA4nVrTaWIwV+xZpWoNovNJeF
 IR6/hMFYxvoMGaFlnN8O8pNtarTUk2A2d66ku8j6pSMbiPpdY2K/3KmCvVbMjme3JP2i/7v
 m2a+8b7L70HLjXa5sv/jg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:Gx6iHqN3pJg=;0Tyn0EQOCHpD9pJvkemii4yQY9Q
 1gdeDrDDHCNs7cK9SzYR3rYiF0MNoFdGodeBsuXC21gCeTp0AZdbKAbaULK18xrVb4LAw/Xl5
 Et7VuBwvIUcN7//7P5inGCDS+RHxGGXWgzfqV51jBa3IFsGPNOuIAS/l5YNmSOMj4tNqksZBV
 eh+iJCzl5Z3DDlnNt3EuJjF0rLgvN6739r6NwbCbireMFYLcmRV0OYARYoDXoVn5KgKrrn3Uj
 UaEX6ThgmC5C1p5qltwURCVV+awU/gsQEigZQEHKocQph7Xm5+weiyzhCUuhHhuwxA8r/C7Ph
 NOH52KNkHozcaYFyNoYaewvyDoSYn6DltN6CxwIWYcZz7/UsF8sNvF0+zBcHfU7QJsyYEbyW8
 bySPvAZSptdwHMcC+4lrgOKqHHwFY8xoyDoBX2advNMszbUItlSxMjJ+e4kIdp2/8KJNLkXP9
 jGr1rZvcEA/+k5P8c+NXAuJb348c8lNVXGUo4cB4VQpbGpTyDYZaBqDnf/V0N1f70XfBMbWEJ
 5vG45g2/dVbFXEDso7dEHVwQsK9As/ijd09gI2scc6wTGhaSTfC+55zsnHWZOFfGxXVciXHjD
 j+mEbaRJF0+2xuc+jCnjocxgtZuOaaOFAFOPtYb0HF7iDlaNOoUqllet4fqIkwqRMDfMVPmqL
 wduwpH/6Un7s3Dnrw0DgANo70yi3uR8erMay3Q0SJ3iv00918fm8Jof9NEci1s/SYpmM2ndX0
 y0r1jblS9Cz0Z4r/pvGSiATUwd7Qx6CNwqYEN6dEHISOaxt0UEjfvB87kqoYnWJuW5HlESLRo
 BunO5CbzBr7m0G2IAD5cVhtY3gNg4ZHMfSNDaWAbsl6m08NYHLX66Gaf4P87VerKWSZ+VzraI
 cDudx9PKyDiglBwcW5ZgF5zbeD0QU7uJ7pBLG9W7Mo33EQqHtyi/ppQI2S8RFId26QlXqpte5
 I0S1axGJR3krATrNMLbERMG1gpIsnFGsTJSf5HXVcY8rlbpm8Tk2BKC9rPNX8plqZ6/vMOQSZ
 kyPn424WJqz51vVC19V5bOqDsQD44WD7VDgOaNGnVgJoH0NFcKURzqA9B/aKxiL5EkRCGw8zx
 nDMrMrnCZfscpys8MKg+LM3+f8i2kZ4mKNRtTAMc7gYwdlDMyqKldQEorR2thZm9qjjPfR23r
 rgbKQGrXio2dUnOhGB5xIMc1CZ1cH7bDhXBu/Hl8oaywtUPGB7u7ze3XmcZ1h8e91X5Re1Ol5
 t8R6wuqo/WLIhd5y4JoGl+0gOilaL2K9wnoo1d0MJ1le3eJZ+E3q5OSWaMzNbzFhzbZ3cY6Wi
 LOXzGeUZeTQ/jHK/4wQNyEosep18nvbTz6Es63dWnz8mnBp3nY23fF5SBkeM6kfCoF86FJDKl
 Xa8ryHeE5ijIMt5pT1Ji3Qu1IvZDpG7JSHtW9W/tpVc7rWOOIL8p7X7CVpF5IfGyVaYv53tiV
 joAppR3nZ2Va6i9MUlE3AGqEdZnY=

`QEMU_XEN_PATH` will be configured as `qemu-system-i386` with no clue wher=
e, if
`--with-system-qemu` is set without giving a path (as matched in the case =
`yes`
but not `*`). However, the existence of the executable is checked by `acce=
ss()`,
that will not look for anywhere in $PATH but the current directory. And si=
nce it
is possible for `qemu-system-i386` (or any other configured values) to be
executed from PATH later, we'd better find that in PATH and return the ful=
l path
for the caller to check against.

Signed-off-by: Hongbo <hehongbo@mail.com>
=2D--
v2:
 - Identify absolute/relative paths with their first char (being `/` or no=
t).
 - Put the case inside a block `{}` to address `clang` warnings about the =
new
   variable.
 - Avoid unnecessary string duplications.
 - Parity of using `{}` block on both sides of `if` statements.
 - Use `libxl__abs_path()` to get absolute paths.

Updated the patch as requested.

Also, I just realized that there is a `libxl__abs_path()` (occurred just a=
bove
my patched hunk), and I should utilize that instead of doing the `%s/%s`
`snprintf` thing myself.

Let me know if further changes are needed.

Best regards,
Hongbo
=2D--
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>
=2D--
 tools/libs/light/libxl_dm.c | 38 +++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index b193a5dc37..8f0bbd5d64 100644
=2D-- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -331,9 +331,43 @@ const char *libxl__domain_device_model(libxl__gc *gc,
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
             dm =3D libxl__abs_path(gc, "qemu-dm", libxl__private_bindir_p=
ath());
             break;
-        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-            dm =3D qemu_xen_path(gc);
+        case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN: {
+            const char *configured_dm =3D qemu_xen_path(gc);
+            if (configured_dm[0] =3D=3D '/')
+            {
+                dm =3D configured_dm;
+            }
+            else
+            {
+                const char *path_env =3D getenv("PATH");
+                if (!path_env)
+                {
+                    dm =3D configured_dm;
+                }
+                else
+                {
+                    char *path_dup =3D libxl__strdup(gc, path_env);
+                    char *saveptr;
+
+                    char *path =3D strtok_r(path_dup, ":", &saveptr);
+                    dm =3D NULL;
+                    while (path)
+                    {
+                        char *candidate =3D libxl__abs_path(gc, configure=
d_dm, path);
+                        if (access(candidate, X_OK) =3D=3D 0)
+                        {
+                            dm =3D candidate;
+                            break;
+                        }
+                        path =3D strtok_r(NULL, ":", &saveptr);
+                    }
+
+                    if (!dm)
+                        dm =3D configured_dm;
+                }
+            }
             break;
+        }
         default:
             LOG(ERROR, "invalid device model version %d",
                 info->device_model_version);
=2D-
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 16:10:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 16:10:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931615.1333834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyvFF-0004uM-CJ; Sun, 30 Mar 2025 16:10:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931615.1333834; Sun, 30 Mar 2025 16: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 1tyvFF-0004uF-9p; Sun, 30 Mar 2025 16:10:45 +0000
Received: by outflank-mailman (input) for mailman id 931615;
 Sun, 30 Mar 2025 14: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=jPsk=WR=web.de=spasswolf@srs-se1.protection.inumbo.net>)
 id 1tyu72-0003nm-5O
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 14:58:12 +0000
Received: from mout.web.de (mout.web.de [212.227.15.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 652c59cd-0d77-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 16:58:10 +0200 (CEST)
Received: from localhost.localdomain ([95.223.134.88]) by smtp.web.de
 (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id
 1Mxpmc-1tC08g1IJ4-00wRcp; Sun, 30 Mar 2025 16:57:24 +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: 652c59cd-0d77-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
	s=s29768273; t=1743346644; x=1743951444; i=spasswolf@web.de;
	bh=paMlcnbsyzixmxEKIk7TpgKIis192RtNpMFqbarKJOc=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To:
	 References:MIME-Version:Content-Transfer-Encoding:cc:
	 content-transfer-encoding:content-type:date:from:message-id:
	 mime-version:reply-to:subject:to;
	b=gGBtNgWaQigjbDZdbhArPRoyl5PvwqghMU8VVCNUeJuS2XrHDtSiJjxotPUqv1O2
	 N1RMN8z4AkSOsiLDjo8QKOUi4YzC+NyshnXXijTRUR2ywlsUqH2klnH1MEbToBjyf
	 mb8Gdz8ZMvbePJ2sxQ+JcZQ1Ig5RKuaKIGLKoWvQv0dmgTW7Zzc1eUHiWotViv1x7
	 zgqdNA7Ro9EtkRfKsQ3n0pNsoUB2X1RbzpDQ3rShB9XSISBrDk3SBCjccOpRHPAfE
	 QD6FATmLTqx7Z3R/QdQcpFQX7PhDp4D3SxkiibgrcNQdiOdr7vCPS0lUUQ4IYpZqy
	 +LMVjhFTRqv7dpxCJw==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
From: Bert Karwatzki <spasswolf@web.de>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Bert Karwatzki <spasswolf@web.de>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel Gomez" <da.gomez@kernel.org>,
	=?UTF-8?q?J=C3=BCrgen=20Gro=C3=9F?= <jgross@suse.com>,
	"Bjorn Helgaas" <helgaas@kernel.org>,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org,
	"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>
Subject: Re: [PATCH] PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI backends
Date: Sun, 30 Mar 2025 16:57:17 +0200
Message-ID: <20250330145719.32280-1-spasswolf@web.de>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <87v7rxzct0.ffs@tglx>
References: 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K1:nkWDZ3wl89O1RHvPpDsRC7wrZxkyQ6Ar8ilNgBDFHoUFD2MBzVs
 1nPuJFIQE+DweCB5he01EvPkRIoBrglw4JAuqeK+j/W3pVnn5GXnHymx9dKP7Kw9mEj/IKc
 53NhvcKE0M70gKCVKzI0DHtN/RCBJ4CU/a3pFI+KKhabc6ZujcgQsaD8saibq531fJb313o
 ngyCJ1po4towA43WKAxjg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:wJCifl4CpFM=;pIs1w/sJ/84spZPO2nx3agN2Pnx
 Ae8afovBO+2C+P4j7qkZ9pgPzgAhOgIxrjQTbSs3FvZvqSMxOFa1GjqdsCGhHLmS+rGwJp0OU
 MUTOCOjyvLotFw5PIxK7yPe3oFmXj+FpeipFrzGVqKkW5rGMKXELshSiQo+roGQQA1/BJV5K3
 BskBSxNgb1X/Eme532dvlvgGny2myzvVXnbrcxFO84DUwgAJIP2qL4S1E9zvMJ4MKSI0WwJ6a
 eMpS5tvDgmHoftVHgAimZHaAbImiD9HIK6mXUGtRm5NNnADE3fIu9YMV1Xyppg0Mt0EGk9aPb
 oFbS8zsafr92I5ut4O81OeNVfsperzs+vzixbHe1/QnC12JS8k/qGc8KZXQAwbpXvWK+RtzkK
 FxRqQWxdcZykhklJF4NdjYUJwH+EI3jGjKvieKnHRHzJGl07+wC3ynLm2MnMpCwl5CTGsrzmU
 1RjyQ+qV4MPzsJbeQAT5OWlQEJcqszewE4y3MRVz/FhkDTkig3cev3MYkoXctX+k35sgznXEi
 uMasZSj+hi1J1/y/r/r5g3R8EyMSvQFF6mxaBB1LLy9AA3Vc4tAG25Mwmv//ovNKYtI/9gUAg
 aS3GdPEOvTxGu08TsgCPIHzk9VMluzl1o4pdWU9IE9dY2304pxhjf6eb7OelxSU6UJyfwGpEu
 zJXhkMAoNirJnAVVGhRWQ9gtBzJQ/01g6I+du8mOa+IGBZeH+hLZcdLFDMWPThuSCSexSlbQC
 0QCCUGMe+X7OeOFavH2taPu7OI+O1CgtX2x6iee/okPXNNauQsEmxW/zXvJvMm0clnkJ/THlO
 vFSLygdTDRjEqpJE47mcZiEom36ssyoI3mi1yFXz7fIvW8hbAKexz/fkTR/rd8KRoadT+fhKv
 SnCdruPmrJa8PJ4RIyuxk8nlis8rfO0BV4is745M7yd4VRZ764VC3aLc+3QW38IVs25gqmPAU
 jLn/zGJjcu0ODi0+ju0O0s9LHoW3u3rtrJIZJYDt7ix85CFrE+lpdBjUxpRdolCisnwNj8qEU
 iSC3io79qQ8jnQ49NVnLRzLRTc/N8dWnkD8Y710xKpnV3Za1gCDzqmqMtNyed2shlFFaojvkb
 PEXcc2i6tRCqMMnmBYMDw9PzLd+ez0FDSRaaKuqLodZbkOUDvLY8fbNNBOowYRQzlVvW7Topc
 DgvlX4tX81mWj8B1ZmpDmiTcTRauPdMoPqNjJgPqGo4OeF5DxAGXLGPalRnTXBRyr47x1dCax
 bg957YOIqkN0Xc7Zb9bBVJQ0VEvn5vwmPvGleEyEa2w17kfPUWMdQUw0Yh5JxDP6zvDFysY7t
 xPiptEL4ng68xMP1yLr6xBt25fcTB14AzMe35aA8ia8ReZvclaX1b2/CMx/e9ZisNK0RWlza9
 mTP5V/4/ao+gUm1gK1EaUsDs1NhsAadeIkSzkNrh5Amqs17DD+Q+3Bu0VsX40dTs5tddg1c3/
 RhqF70w==

This also fixes a timeout error in the nvme driver introduced by commit
c3164d2e0d1. In linux-next-2025032{5,6} booting hangs in about 50% of boot
attempts with the message:
nvme nvme1: I/O tag 4 (1004) QID 0 timeout, completion polled
nvme nvme0: I/O tag 20 (1014) QID 0 timeout, completion polled
after some more time I get a message about task udev-worker blocking for more
than 61 seconds and get dropped to an initramfs shell. I bisected this to
commit c3164d2e0d1. As this error does not occur in linux-next-20250328, I
searched for commits that might fix this error and indeed cherrypicking commit
dbc5d00074fd on top of linux-next-20250326 fixes the issue for me. No xen or
kvm was used in my case.

Bert Karwatzki


From xen-devel-bounces@lists.xenproject.org Sun Mar 30 16:59:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 16:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931649.1333845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyw0O-0005Vd-Rv; Sun, 30 Mar 2025 16:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931649.1333845; Sun, 30 Mar 2025 16:59: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 1tyw0O-0005VW-OX; Sun, 30 Mar 2025 16:59:28 +0000
Received: by outflank-mailman (input) for mailman id 931649;
 Sun, 30 Mar 2025 16:59: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=l0Nf=WR=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tyw0N-0005VQ-Fk
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 16:59:27 +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 54f1c45b-0d88-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 18:59: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-336-Qsxcatp-N96AZE9NCnrsag-1; Sun, 30 Mar 2025 12:59:22 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-43d00017e9dso26543405e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 09:59:22 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8ff02f9csm97569695e9.26.2025.03.30.09.59.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Mar 2025 09:59: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: 54f1c45b-0d88-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1743353963;
	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=o3t3cKdFvQ9kSTO6AkCwvmYi+EYplfurO1UOS5Rdldo=;
	b=iYWBVoXU6nG0tTObS6zuLPdGl8lDH8o2PCx/xJ+3MC/KE/7hQH6uFH4tFPgobPZhyQe1xb
	boG3tH5lMAt9VbyuMykqNtsjTqdWA5XOfiRZyN6zQFtJpnj6XT4EWzfLfjUNxrjVFpXllV
	QzgM6Q0ZKcmeUML/xujsuGw7foKnYko=
X-MC-Unique: Qsxcatp-N96AZE9NCnrsag-1
X-Mimecast-MFC-AGG-ID: Qsxcatp-N96AZE9NCnrsag_1743353961
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743353961; x=1743958761;
        h=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=o3t3cKdFvQ9kSTO6AkCwvmYi+EYplfurO1UOS5Rdldo=;
        b=bZcsEHB7UMZ8Pu4XHPmjZfjgXxgwAeNGHFZSZAe5kKQRLN8W1lm6l8q/MjZte10xyS
         PXhExxzE6iibznKsjfWtvD2yrSkNvyPAWaywLwRWZfRdcGBz/2orUZpkSIzXnFR64097
         dWQsmek0N3teEbQR0pENx95WB59mXnFz0XcGHLCBcyob1b4s4u7/yOop88F9xQO+dbPi
         vh8hzmpsoxrRXp2EnpEwTqq2LjkGXxwxv7blJjttUEGGFrDcFvQraPkrvZn+lxI8YW/Z
         /SNb9pR/HUFhc6tB/cfSyOOljTurnAA+GddUa/nMfvpt99yOnJhXIJSP7ZHlDXHyTj5F
         2wOg==
X-Forwarded-Encrypted: i=1; AJvYcCWOSJsqFcFZoL7HOZ+UrJ+s8+e+r4xROVSsXdYTtHAKWxBsQr4KWfHGp46Oy0DWF4cppc/G/f0rE2M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1iU8rwdBdlI09PyjFEfGYeYzZ9CopPIY4nEWwGHxDj1m3FnUv
	R5fnJJ5XJLQSS4rUIdVP0S+3SG+TcO7jFF5UMf1njWlf4KitTzVQz/WWAQQDcIyVn0xjbm+yxiX
	8m/WMpguHfu0rMzKObVaVlK+bh+a1d0DV/Q1+BE4T2kjw3QkXbEZQW/F4QgzM4rXL
X-Gm-Gg: ASbGncuv5pT/UGd7BAcXk/yQ+qhqUcJGMDFf7b3RXhYaRlJhYnKPnSxiyCEQMUn7y9x
	hx+8IsMCRy43v2oVXn9jTOwijVsG9Obd3EQxXnODqlxOQ0M9wO2CchYhDuUhslyWJpdVdSKjHaL
	fvXaGDGADDzbdhYx7awxMo0AZImAhr6LzEK/zcG7l052H4OUYG1adVAp3CXLL6OxAnUq/WkE9LU
	bXWKjifIdwyTjWgx6+Uj9v8sj5cx/x3uQ3NGu32qg2cecEnFW2hxVzIRnJBQNnH2B0isfNq/+Sf
	5rc6B5hY7w==
X-Received: by 2002:a05:600c:3b1a:b0:43c:f16a:641e with SMTP id 5b1f17b1804b1-43db61d774emr47821975e9.6.1743353960955;
        Sun, 30 Mar 2025 09:59:20 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IF+p9VLRRjFT3w4qBD/7B0LlHwO9LmFFwBhLcfryqChirTqXeZbU3Dh3SrxX6aYrpGFJgo00w==
X-Received: by 2002:a05:600c:3b1a:b0:43c:f16a:641e with SMTP id 5b1f17b1804b1-43db61d774emr47821495e9.6.1743353960480;
        Sun, 30 Mar 2025 09:59:20 -0700 (PDT)
Date: Sun, 30 Mar 2025 12:59:13 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>,
	mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	boris.ostrovsky@oracle.com, jgross@suse.com,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	heikki.krogerus@linux.intel.com, peterz@infradead.org,
	benh@kernel.crashing.org, grant.likely@arm.com, paulus@samba.org,
	mingo@kernel.org, sstabellini@kernel.org,
	Saravana Kannan <saravanak@google.com>, xypron.glpk@gmx.de,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	xen-devel@lists.xenproject.org, Thierry Reding <treding@nvidia.com>,
	linux-devicetree <devicetree@vger.kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	lkml <linux-kernel@vger.kernel.org>,
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
	Jim Quinlan <james.quinlan@broadcom.com>,
	Robin Murphy <robin.murphy@arm.com>, hch@infradead.org,
	Jason Wang <jasowang@redhat.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Eugenio =?iso-8859-1?Q?P=E9rez?= <eperezma@redhat.com>,
	virtualization@lists.linux.dev, graf@amazon.de
Subject: Re: Using Restricted DMA for virtio-pci
Message-ID: <20250330125637-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
 <20250321142947-mutt-send-email-mst@kernel.org>
 <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
 <8e7084b04e5c0456c0ff32ea131a199c6af763cd.camel@infradead.org>
 <20250330093532-mutt-send-email-mst@kernel.org>
 <09fc164ebcfd893ffd67d1b224d6e1c5e5772ee0.camel@infradead.org>
MIME-Version: 1.0
In-Reply-To: <09fc164ebcfd893ffd67d1b224d6e1c5e5772ee0.camel@infradead.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: 8QmM7EifZylbfHG2NflFGRykDrqDVuH2QbRAKZqq3pM_1743353961
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Sun, Mar 30, 2025 at 04:07:56PM +0100, David Woodhouse wrote:
> On Sun, 2025-03-30 at 09:42 -0400, Michael S. Tsirkin wrote:
> > On Fri, Mar 28, 2025 at 05:40:41PM +0000, David Woodhouse wrote:
> > > On Fri, 2025-03-21 at 18:42 +0000, David Woodhouse wrote:
> > > > > 
> > > > > I don't mind as such (though I don't understand completely), but since
> > > > > this is changing the device anyway, I am a bit confused why you can't
> > > > > just set the VIRTIO_F_ACCESS_PLATFORM feature bit?  This forces DMA API
> > > > > which will DTRT for you, will it not?
> > > > 
> > > > That would be necessary but not sufficient. ...
> > 
> > could you explain pls?
> 
> There was more to that in the previous email which I elided for this
> followup.
> 
> https://lore.kernel.org/all/d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org/
> 
> > > My first cut at a proposed spec change looks something like this. I'll
> > > post it to the virtio-comment list once I've done some corporate
> > > bureaucracy and when the list stops sending me python tracebacks in
> > > response to my subscribe request.
> > 
> > the linux foundation one does this? maybe poke at the admins.
> > 
> > > In the meantime I'll hack up some QEMU and guest Linux driver support
> > > to match.
> > > 
> > > diff --git a/content.tex b/content.tex
> > > index c17ffa6..1e6e1d6 100644
> > > --- a/content.tex
> > > +++ b/content.tex
> > > @@ -773,6 +773,9 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}
> > >  Currently these device-independent feature bits are defined:
> > >  
> > >  \begin{description}
> > > +  \item[VIRTIO_F_SWIOTLB (27)] This feature indicates that the device
> > > +  provides a memory region which is to be used for bounce buffering,
> > > +  rather than permitting direct memory access to system memory.
> > >    \item[VIRTIO_F_INDIRECT_DESC (28)] Negotiating this feature indicates
> > >    that the driver can use descriptors with the VIRTQ_DESC_F_INDIRECT
> > >    flag set, as described in \ref{sec:Basic Facilities of a Virtio
> > > @@ -885,6 +888,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}
> > >  VIRTIO_F_ACCESS_PLATFORM is not offered, then a driver MUST pass only physical
> > >  addresses to the device.
> > >  
> > > +A driver SHOULD accept VIRTIO_F_SWIOTLB if it is offered, and it MUST
> > > +then pass only addresses within the Software IOTLB bounce buffer to the
> > > +device.
> > > +
> > >  A driver SHOULD accept VIRTIO_F_RING_PACKED if it is offered.
> > >  
> > >  A driver SHOULD accept VIRTIO_F_ORDER_PLATFORM if it is offered.
> > > @@ -921,6 +928,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}
> > >  A device MAY fail to operate further if VIRTIO_F_ACCESS_PLATFORM is not
> > >  accepted.
> > >  
> > > +A device MUST NOT offer VIRTIO_F_SWIOTLB if its transport does not
> > > +provide a Software IOTLB bounce buffer.
> > > +A device MAY fail to operate further if VIRTIO_F_SWIOTLB is not accepted.
> > > +
> > >  If VIRTIO_F_IN_ORDER has been negotiated, a device MUST use
> > >  buffers in the same order in which they have been available.
> > >  
> > > diff --git a/transport-pci.tex b/transport-pci.tex
> > > index a5c6719..23e0d57 100644
> > > --- a/transport-pci.tex
> > > +++ b/transport-pci.tex
> > > @@ -129,6 +129,7 @@ \subsection{Virtio Structure PCI Capabilities}\label{sec:Virtio Transport Option
> > >  \item ISR Status
> > >  \item Device-specific configuration (optional)
> > >  \item PCI configuration access
> > > +\item SWIOTLB bounce buffer
> > >  \end{itemize}
> > >  
> > >  Each structure can be mapped by a Base Address register (BAR) belonging to
> > > @@ -188,6 +189,8 @@ \subsection{Virtio Structure PCI Capabilities}\label{sec:Virtio Transport Option
> > >  #define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8
> > >  /* Vendor-specific data */
> > >  #define VIRTIO_PCI_CAP_VENDOR_CFG        9
> > > +/* Software IOTLB bounce buffer */
> > > +#define VIRTIO_PCI_CAP_SWIOTLB           10
> > >  \end{lstlisting}
> > >  
> > >          Any other value is reserved for future use.
> > > @@ -744,6 +747,36 @@ \subsubsection{Vendor data capability}\label{sec:Virtio
> > >  The driver MUST qualify the \field{vendor_id} before
> > >  interpreting or writing into the Vendor data capability.
> > >  
> > > +\subsubsection{Software IOTLB bounce buffer capability}\label{sec:Virtio
> > > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> > > +Software IOTLB bounce buffer capability}
> > > +
> > > +The optional Software IOTLB bounce buffer capability allows the
> > > +device to provide a memory region which can be used by the driver
> > > +driver for bounce buffering. This allows a device on the PCI
> > > +transport to operate without DMA access to system memory addresses.
> > > +
> > > +The Software IOTLB region is referenced by the
> > > +VIRTIO_PCI_CAP_SWIOTLB capability. Bus addresses within the referenced
> > > +range are not subject to the requirements of the VIRTIO_F_ORDER_PLATFORM
> > > +capability, if negotiated.
> > 
> > 
> > why not? an optimization?
> > A mix of swiotlb and system memory might be very challenging from POV
> > of ordering.
> 
> Conceptually, these addresses are *on* the PCI device. If the device is
> accessing addresses which are local to it, they aren't subject to IOMMU
> translation/filtering because they never even make it to the PCI bus as
> memory transactions.
> 
> > 
> > > +
> > > +\devicenormative{\paragraph}{Software IOTLB bounce buffer capability}{Virtio
> > > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> > > +Software IOTLB bounce buffer capability}
> > > +
> > > +Devices which present the Software IOTLB bounce buffer capability
> > > +SHOULD also offer the VIRTIO_F_SWIOTLB feature.
> > > +
> > > +\drivernormative{\paragraph}{Software IOTLB bounce buffer capability}{Virtio
> > > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
> > > +Software IOTLB bounce buffer capability}
> > > +
> > > +The driver SHOULD use the offered buffer in preference to passing system
> > > +memory addresses to the device.
> > 
> > Even if not using VIRTIO_F_SWIOTLB? Is that really necessary?
> 
> That part isn't strictly necessary, but I think it makes sense, for
> cases where the SWIOTLB support is an *optimisation* even if it isn't
> strictly necessary.
> 
> Why might it be an "optimisation"? Well... if we're thinking of a model
> like pKVM where the VMM can't just arbitrarily access guest memory,
> using the SWIOTLB is a simple way to avoid that (by using the on-board
> memory instead, which *can* be shared with the VMM).
> 
> But if we want to go to extra lengths to support unenlightened guests,
> an implementation might choose to just *disable* the memory protection
> if the guest doesn't negotiate VIRTIO_F_SWIOTLB, instead of breaking
> that guest.
> 
> Or it might have a complicated emulation/snooping of virtqueues in the
> trusted part of the hypervisor so that it knows which addresses the
> guest has truly *asked* the VMM to access. (And yes, of course that's
> what an IOMMU is for, but when have you seen hardware companies design
> a two-stage IOMMU which supports actual PCI passthrough *and* get it
> right for the hypervisor to 'snoop' on the stage1 page tables to
> support emulated devices too....)
> 
> Ultimately I think it was natural to advertise the location of the
> buffer with the VIRTIO_PCI_CAP_SWIOTLB capability and then to have the
> separate VIRTIO_F_SWIOTLB for negotiation... leaving the obvious
> question of what a device should do if it sees one but *not* the other.
> 
> Obviously you can't have VIRTIO_F_SWIOTLB *without* there actually
> being a buffer advertised with VIRTIO_PCI_CAP_SWIOTLB (or its
> equivalent for other transports). But the converse seemed reasonable as
> a *hint* even if the use of the SWIOTLB isn't mandatory.

OK but I feel it's more work than you think, so we really need
a better reason than just "why not".

For example, it's not at all clear to me how the ordering is
going to work if buffers are in memory but the ring is swiotlb
or the reverse. Ordering will all be messed up.

-- 
MST



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 17:07:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 17:07:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931659.1333854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyw7n-00088z-IM; Sun, 30 Mar 2025 17:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931659.1333854; Sun, 30 Mar 2025 17: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 1tyw7n-00088s-FX; Sun, 30 Mar 2025 17:07:07 +0000
Received: by outflank-mailman (input) for mailman id 931659;
 Sun, 30 Mar 2025 17: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=l0Nf=WR=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tyw7l-00088j-O1
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 17:07:05 +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 63fa7527-0d89-11f0-9ffb-bf95429c2676;
 Sun, 30 Mar 2025 19:06:59 +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-661-x9xe7PCoMoWaRzYG02L1PQ-1; Sun, 30 Mar 2025 13:06:55 -0400
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-43ab5baf62cso25742165e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 10:06:54 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8ff02e75sm96683605e9.30.2025.03.30.10.06.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Mar 2025 10:06: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: 63fa7527-0d89-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1743354418;
	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=Q3mk6TbPcxIg/goVXurjT8cjd9wFt7uMusUUceOMSw4=;
	b=ijb3u10Agbzvy0CirGZWjHQwKtVheSLvZsgcJKc8R5vyWJ9i0DVcqB/WbcC81auDzwOLax
	SrKu/0gLZwHxHttWX6vgBiZqboNNcNCBAKvAR3VDwHeTamuE1gqPU3bxqg9q8WRbaxYALo
	zvPB6J9B0sHtHKYz6KbK7J6+Z3u57WE=
X-MC-Unique: x9xe7PCoMoWaRzYG02L1PQ-1
X-Mimecast-MFC-AGG-ID: x9xe7PCoMoWaRzYG02L1PQ_1743354414
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743354414; x=1743959214;
        h=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=Q3mk6TbPcxIg/goVXurjT8cjd9wFt7uMusUUceOMSw4=;
        b=Hw08vu0wY7f4n7mtP9LFsdJlBe8HFFvZbgBTjR95V1K1QMT/bljQls4VTpUsiGHs42
         tgokWqKktUDD8/EU4LBbE+hTQ/dgCMt9Ir8j/Nwxn3tG+8LhzK3aShoQbBxitabFqxwy
         3WKyKg2nniYUo9j6AP7H4qCJJ+BpKViPgzAFyu4rdOMczyBY+CfS5NZdNR/NMr/EXG0w
         PNCC9B3qOdTYxrvcVKDT+HapKXJtg7sQbBgZAhr57k2QaondYf/kOoG22du4RYf9Axhc
         MLVRjK/1vfrwnjKVKh46lHhIy9jd7Dx4zjWsF3ou4Bqrn7XRaxJu8Ii5CyhY44z/09zz
         59CQ==
X-Forwarded-Encrypted: i=1; AJvYcCWJRFIioEsfEGez1unJnMUHBRUcV0WaI5QIMm0a6WguEjLf5ImWdbDWvuT75wSVZs1GgNa+52B/1Xs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmBb7CJXe96vXgNvz3bBTGaXR91XPAuKfFMOStYgM6dG3auvVA
	4cIx2lM/7ZtxJ+LWnNvARYUFu3ahv+19C7sLXr7D1nzPMmyCdL27JINWzX69XmDImHbGZzDwUt4
	8LjrZfZ2kCyeXg5AigHxsbRyj/7XBXhVrBO8FTXUqqtX9VLnOHKWCCw2zGuO6ZTf2
X-Gm-Gg: ASbGncv4MCsoWcTHpXi+qefVLYU8x4DvPUbyWiOoLc5MqpMEJbuRlRXuxjd8gcAgrJm
	UkxCFtEraQHaBWFRwNIwQRwjYZ0yl8xFe4nePUV443cQgW4oMn4b7D5ven6JMllom0tZLo+oPQk
	vKEp2Qy7O04/LKK9XSGTNzx0pZOMFQBjbmp1yG5Wh5IvYQR8sxYOfWwr275SDakzC2TMp+4dKJ3
	wFhBITFCPkD9/fmh9jBUNr+Exeddzz+fDPmH1kPIZ7K7za27sRkYVaE93a9SMj+fhsLF6Kw54qb
	JbgIGfwebA==
X-Received: by 2002:a05:6000:290f:b0:390:f552:d291 with SMTP id ffacd0b85a97d-39c120dc53emr6045353f8f.22.1743354413861;
        Sun, 30 Mar 2025 10:06:53 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGHnojfMbGERAUL3k9pGdjXNeKSJM3z6oVNts7beynMJRyZ4qGr50Up8p35T+/D9THLJjAJmw==
X-Received: by 2002:a05:6000:290f:b0:390:f552:d291 with SMTP id ffacd0b85a97d-39c120dc53emr6045310f8f.22.1743354413473;
        Sun, 30 Mar 2025 10:06:53 -0700 (PDT)
Date: Sun, 30 Mar 2025 13:06:47 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>,
	mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	boris.ostrovsky@oracle.com, jgross@suse.com,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	heikki.krogerus@linux.intel.com, peterz@infradead.org,
	benh@kernel.crashing.org, grant.likely@arm.com, paulus@samba.org,
	mingo@kernel.org, sstabellini@kernel.org,
	Saravana Kannan <saravanak@google.com>, xypron.glpk@gmx.de,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	xen-devel@lists.xenproject.org, Thierry Reding <treding@nvidia.com>,
	linux-devicetree <devicetree@vger.kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	lkml <linux-kernel@vger.kernel.org>,
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
	Jim Quinlan <james.quinlan@broadcom.com>,
	Robin Murphy <robin.murphy@arm.com>, hch@infradead.org,
	Jason Wang <jasowang@redhat.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Eugenio =?iso-8859-1?Q?P=E9rez?= <eperezma@redhat.com>,
	virtualization@lists.linux.dev, graf@amazon.de
Subject: Re: Using Restricted DMA for virtio-pci
Message-ID: <20250330125929-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
 <20250321142947-mutt-send-email-mst@kernel.org>
 <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
MIME-Version: 1.0
In-Reply-To: <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: N3Pxwn-WuURBmKGKSdBofM0RguzHIjTi_-ufk8p1ABQ_1743354414
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Fri, Mar 21, 2025 at 06:42:20PM +0000, David Woodhouse wrote:
> On Fri, 2025-03-21 at 14:32 -0400, Michael S. Tsirkin wrote:
> > On Fri, Mar 21, 2025 at 03:38:10PM +0000, David Woodhouse wrote:
> > > On Tue, 2021-02-09 at 14:21 +0800, Claire Chang wrote:
> > > > This series implements mitigations for lack of DMA access control on
> > > > systems without an IOMMU, which could result in the DMA accessing the
> > > > system memory at unexpected times and/or unexpected addresses, possibly
> > > > leading to data leakage or corruption.
> > > 
> > > Replying to an ancient (2021) thread which has already been merged...
> > > 
> > > I'd like to be able to use this facility for virtio devices.
> > > 
> > > Virtio already has a complicated relationship with the DMA API, because
> > > there were a bunch of early VMM bugs where the virtio devices where
> > > magically exempted from IOMMU protection, but the VMM lied to the guest
> > > and claimed they weren't.
> > > 
> > > With the advent of confidential computing, and the VMM (or whatever's
> > > emulating the virtio device) not being *allowed* to arbitrarily access
> > > all of the guest's memory, the DMA API becomes necessary again.
> > > 
> > > Either a virtual IOMMU needs to determine which guest memory the VMM
> > > may access, or the DMA API is wrappers around operations which
> > > share/unshare (or unencrypt/encrypt) the memory in question.
> > > 
> > > All of which is complicated and slow, if we're looking at a minimal
> > > privileged hypervisor stub like pKVM which enforces the lack of guest
> > > memory access from VMM.
> > > 
> > > I'm thinking of defining a new type of virtio-pci device which cannot
> > > do DMA to arbitrary system memory. Instead it has an additional memory
> > > BAR which is used as a SWIOTLB for bounce buffering.
> > > 
> > > The driver for it would look much like the existing virtio-pci device
> > > except that it would register the restricted-dma region first (and thus
> > > the swiotlb dma_ops), and then just go through the rest of the setup
> > > like any other virtio device.
> > > 
> > > That seems like it ought to be fairly simple, and seems like a
> > > reasonable way to allow an untrusted VMM to provide virtio devices with
> > > restricted DMA access.
> > > 
> > > While I start actually doing the typing... does anyone want to start
> > > yelling at me now? Christoph? mst? :)
> > 
> > 
> > I don't mind as such (though I don't understand completely), but since
> > this is changing the device anyway, I am a bit confused why you can't
> > just set the VIRTIO_F_ACCESS_PLATFORM feature bit?Â  This forces DMA API
> > which will DTRT for you, will it not?
> 
> That would be necessary but not sufficient. The question is *what* does
> the DMA API do?
> 
> For a real passthrough PCI device, perhaps we'd have a vIOMMU exposed
> to the guest so that it can do real protection with two-stage page
> tables (IOVAâGPA under control of the guest, GPAâHPA under control of
> the hypervisor). For that to work in the pKVM model though, you'd need
> pKVM to be talking the guest's stage1 I/O page tables to see if a given
> access from the VMM ought to be permitted?
> 
> Or for confidential guests there could be DMA ops which are an
> 'enlightenment'; a hypercall into pKVM to share/unshare pages so that
> the VMM can actually access them, or SEV-SNP guests might mark pages
> unencrypted to have the same effect with hardware protection.
> 
> Doing any of those dynamically to allow the VMM to access buffers in
> arbitrary guest memory (when it wouldn't normally have access to
> arbitrary guest memory) is complex and doesn't perform very well. And
> exposes a full 4KiB page for any byte that needs to be made available.
> 
> Thus the idea of having a fixed range of memory to use for a SWIOTLB,
> which is fairly much what the restricted DMA setup is all about.
> 
> We're just proposing that we build it in to a virtio-pci device model,
> which automatically uses the extra memory BAR instead of the
> restricted-dma-pool DT node.
> 
> It's basically just allowing us to expose through PCI, what I believe
> we can already do for virtio in DT.

I am not saying I am against this extension.
The idea to restrict DMA has a lot of merit outside pkvm.
For example, with a physical devices, limiting its DMA
to a fixed range can be good for security at a cost of
an extra data copy.

So I am not saying we have to block this specific hack.

what worries me fundamentally is I am not sure it works well
e.g. for physical virtio cards.
Attempts to pass data between devices will now also require
extra data copies.


Did you think about adding an swiotlb mode to virtio-iommu at all?
Much easier than parsing page tables.



-- 
MST



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 18:03:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 18:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931672.1333865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyx0Q-0004cA-K9; Sun, 30 Mar 2025 18:03:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931672.1333865; Sun, 30 Mar 2025 18:03: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 1tyx0Q-0004c3-HU; Sun, 30 Mar 2025 18:03:34 +0000
Received: by outflank-mailman (input) for mailman id 931672;
 Sun, 30 Mar 2025 18:03: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=bHYC=WR=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tyx0P-0004bx-R0
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 18:03:33 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062d.outbound.protection.outlook.com
 [2a01:111:f403:200a::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43849fb9-0d91-11f0-9ffb-bf95429c2676;
 Sun, 30 Mar 2025 20:03:21 +0200 (CEST)
Received: from DS7PR05CA0090.namprd05.prod.outlook.com (2603:10b6:8:56::13) by
 PH0PR12MB7862.namprd12.prod.outlook.com (2603:10b6:510:26d::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.44; Sun, 30 Mar 2025 18:03:14 +0000
Received: from DS3PEPF000099E1.namprd04.prod.outlook.com
 (2603:10b6:8:56:cafe::b) by DS7PR05CA0090.outlook.office365.com
 (2603:10b6:8:56::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.20 via Frontend Transport; Sun,
 30 Mar 2025 18:03:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099E1.mail.protection.outlook.com (10.167.17.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Sun, 30 Mar 2025 18:03:14 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 30 Mar
 2025 13:03:13 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Sun, 30 Mar
 2025 13:03:13 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Sun, 30 Mar 2025 13:03:12 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43849fb9-0d91-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aShHbr4e5KKf5+rOhWHjvNszg6uUqHYXBV7Q0z6DG4cfH8JfM4yuILfWA4xrDxrcd0hJ97r9K1qx1QnSkuMW+oClXCs4zhlMnVt7frFBthMzV+mnlQiEza1XwDrupKD34jFd1QoM3ndruLffbcUcxb8Tx56znho0PR/DJlYmv6jXOIz7BOxLjwNhhT6gcQJo9H/XWB/svk42coIsyQBOkZ2ZBNpnXJaO1cVHyirbtaWGMSm00V3QgaPtxjAi5J7X6PYb66qDPa0c7dylN/4m/IR0Ho98UNYa2HS9mWT2Z0pGrnIlMsnfLqQ6WXpHV3f0OzJ9wHBcIZBHmr1saD55Fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HNJHXSQYG4md3b/O1n/6UnbwUqAXjZGAWMltXL7MyiY=;
 b=miPGLqVm2FU0LPEpCbrntL5LvIDQHqcs2Pmcvvz7a/VY0oHnimaI5r7yTTkpm8/YyxkIvhLqgCA+2IGaDTjyKTdgahYTDVvqnrqWZ1YsUyLEZKKBLBuw3eVNXU/y14bcd1wtY87+4/e5iYrxwRe3YxzulNi/lntqDYrZRI3MRkWTOYSi2AOB7iVwgtorJmsI16rXsnPPr2PO2ZbOzXBOF9hxqdjHJUDBC1dMxfg//A1WLdlLoft3AOXkzK7WWlA8my8oMUfk06ECLKDGfxkIObbLY7V4xJ9T+kF6UQ63LImFHeBXQ0A3zQkSqJiUqfVAuEAhJYlrD8TwzO9rAxB9sA==
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=HNJHXSQYG4md3b/O1n/6UnbwUqAXjZGAWMltXL7MyiY=;
 b=xV78VAx/iHdiWABqwXChOOf3vL+tMcm+kiwYGAbnt8SpEU/qijgZjDJq/jzOjFxP0C7+lzlWalweV3DM9PNrez8Ygz9/KY8ubeyrasTGKwP9Li1ttYOQJGGQCMHWZwmyXvbYWvsSB7J80u4Da9sv7RdjqEsSwWmHvlxIUf/XvE8=
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=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v3 0/5] Enable early bootup of Armv8-R AArch32 systems
Date: Sun, 30 Mar 2025 19:03:03 +0100
Message-ID: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099E1:EE_|PH0PR12MB7862:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ed60c84-3b72-49db-d350-08dd6fb5240d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|34020700016|376014|1800799024|82310400026|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?h72P0UcmzHPGkl2WeTTkscsI05yYzTMfgXnJ2ZcZFWLBTigAK8D680sZGCh0?=
 =?us-ascii?Q?OAuI2N38h5oxCLTwKqhS/2bSa3EubKRhsEdIUAPfmP5oyK75Dnoe1sh0ND9E?=
 =?us-ascii?Q?N3OmiNvE1eEsDCyIjZS0BrMERQZn4FXjEM1Ff8ixjGB32yJIMEjLaCZOIA3q?=
 =?us-ascii?Q?9FizB24KuXXWgThTAtow0lbjC52boGrJUVYZ/p4/XfIjpROv7NmgLvyQeABM?=
 =?us-ascii?Q?NN/00doQe8QBWM5fZjjXpWO5aPt9bm+XBbt1IF2iFRQ877fsIIu7E+Tgs+Tq?=
 =?us-ascii?Q?vzu4BHEsQ9frgmGmyG1WCyVkabKo8kaYzpyLZde9X1uJMqnwbTe5hxGDW6KI?=
 =?us-ascii?Q?iD3ZaofCe2cjI56Ap/OizPQ2LGWWFug+4Vyg/hUDEagrxwC3LeSw/fCUEm0R?=
 =?us-ascii?Q?8jgo1eqyhbntPzqu4L3mnDodfJD97Rx8mp+/f+HgO4iSdFEtAkxv8BLGA+z2?=
 =?us-ascii?Q?r8PiL/WV2sgGrB8i7qyvGyFqz/stvn70qZqL6W2pX4Pgbpda+QYPpiREXWTX?=
 =?us-ascii?Q?x9vNmg8beE3yPfbfrrvKdX2LLsOhboIkobfyjKqcNfHQqaP05PJq3hnTjTub?=
 =?us-ascii?Q?hENFfitKpqsYcWVgOq7bkn82MSHuHoKR0A1u+BXd0vlpj4SIlrBEoe5wL6B8?=
 =?us-ascii?Q?+nlKO12UuW/tLHqLYpf9sY+KGSTUWH6pJ8BPnwpxbhrojFCOYDCEF45aHFRy?=
 =?us-ascii?Q?D8UB/CvM6lcYHMmt2X9llPYIlCgLkWvamgTXN9/LTvviGK86S6ETrFMoRw54?=
 =?us-ascii?Q?PXdhwng0oCoWExMrXkwZRdY0/CN9hHMPaipMxgEdhyBM5Nb8HDbDyT75pvDP?=
 =?us-ascii?Q?u86N3JjM2IWOqIGR5iMrOfSoumpN/dp0cJ+JpPLgWhc02AjsQXrBMQRgkqEg?=
 =?us-ascii?Q?2+aegwLyZCHmYM20j44cqFGw21cjKjtvlpv5Bo7G3skbTy8PLBfgW6vvZkV6?=
 =?us-ascii?Q?1zPi1lywcPgSwYHWoqQp9SfOzqzG1KDCOeHCBnEhQlfGfMO6jry2hpl7sa2y?=
 =?us-ascii?Q?pLKC0xCE5/5/rjtzL+8yPhwVthyjOy5HHW9Q8+HX+6FYAaIdPceTgESTGmel?=
 =?us-ascii?Q?Db9M1jm47m8JuAAEWtQwkC3QyZY1dWHA8XTrkNM2/Yb/IlpCr8UMqBEJ8W8H?=
 =?us-ascii?Q?yJHWX6ORZUZhAH5ZG3PPp31xJmNQlq0LlLZqpfgSKOgxEN3gJgaTPIVRWssI?=
 =?us-ascii?Q?bK+Vaol1zlh82VdOd4mxZGpYcMYj9L7L0jDl+MfHu7xXdOpHmT6WwByIvr0F?=
 =?us-ascii?Q?V+vAMY3HG0EOv1AbNth6+u4d8sT4vkLiDbV1f1f8qOo+fk0cLsFM1N1NVN/J?=
 =?us-ascii?Q?8rMVsXShSOUfCJNLk9QeJ2vPxR+WbG9GC8Q5JA2MpfxY06nJrez1MSz74R1v?=
 =?us-ascii?Q?8S4bM9SOWeoCxE+Kn5iwxRx2T7qjqSukhGoVcrqEl03ycv6MMBhOvBpyhZ6m?=
 =?us-ascii?Q?yqF7ZRz4fyS8uC7ALgGWDyAh0Oj4oJQa06bfs2RzKsFt5X3zdoewDMw/8gDj?=
 =?us-ascii?Q?2BXCyraNnHvWPWc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(34020700016)(376014)(1800799024)(82310400026)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2025 18:03:14.0190
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ed60c84-3b72-49db-d350-08dd6fb5240d
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099E1.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7862

Enabled early booting of Armv8-R AArch32 based systems.

This patch serie with
https://patchwork.kernel.org/project/xen-devel/cover/20250316192445.2376484-1-luca.fancellu@arm.com/
will enable build on Xen on Armv8-R AArch32 for MPU.

Patches 1-4 can be applied independently.
Patch 5 depends on Luca's series.

Changes from :-

V1, v2 - Added "xen/arm32: mpu: Stubs to build MPU for arm32" to build Xen for
Armv8-R AArch32 on top of Luca's series.

Ayan Kumar Halder (4):
  xen/arm32: Move MM specific registers to enable_mmu
  xen/arm: Move some of the functions to common file
  xen/arm32: Create the same boot-time MPU regions as arm64
  xen/arm32: mpu: Stubs to build MPU for arm32

Michal Orzel (1):
  xen/arm32: Allow ARM_PA_BITS_40 only if !MPU

 xen/arch/arm/Kconfig                          |   4 +-
 xen/arch/arm/arm32/Makefile                   |   1 +
 xen/arch/arm/arm32/head.S                     |  14 --
 xen/arch/arm/arm32/mmu/head.S                 |  15 ++
 xen/arch/arm/arm32/mpu/Makefile               |   3 +
 xen/arch/arm/arm32/mpu/head.S                 |  52 +++++++
 xen/arch/arm/arm32/mpu/p2m.c                  |  18 +++
 xen/arch/arm/arm32/mpu/smpboot.c              |  23 +++
 xen/arch/arm/arm64/mpu/head.S                 | 132 +-----------------
 xen/arch/arm/include/asm/arm32/sysregs.h      |  11 ++
 xen/arch/arm/include/asm/arm64/sysregs.h      |  15 ++
 xen/arch/arm/include/asm/cpregs.h             |   4 +
 xen/arch/arm/include/asm/mm.h                 |   5 +
 xen/arch/arm/include/asm/mpu/cpregs.h         |  23 +++
 .../include/asm/mpu/prepare_xen_region.inc    | 128 +++++++++++++++++
 15 files changed, 305 insertions(+), 143 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mpu/Makefile
 create mode 100644 xen/arch/arm/arm32/mpu/head.S
 create mode 100644 xen/arch/arm/arm32/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm32/mpu/smpboot.c
 create mode 100644 xen/arch/arm/include/asm/mpu/cpregs.h
 create mode 100644 xen/arch/arm/include/asm/mpu/prepare_xen_region.inc

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 18:03:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 18:03:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931676.1333875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyx0j-0004xf-TS; Sun, 30 Mar 2025 18:03:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931676.1333875; Sun, 30 Mar 2025 18:03: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 1tyx0j-0004xX-PO; Sun, 30 Mar 2025 18:03:53 +0000
Received: by outflank-mailman (input) for mailman id 931676;
 Sun, 30 Mar 2025 18:03: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=bHYC=WR=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tyx0i-0004t7-Jy
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 18:03:52 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20619.outbound.protection.outlook.com
 [2a01:111:f403:2009::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 557b33c5-0d91-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 20:03:51 +0200 (CEST)
Received: from CH0PR03CA0053.namprd03.prod.outlook.com (2603:10b6:610:b3::28)
 by MW6PR12MB8914.namprd12.prod.outlook.com (2603:10b6:303:244::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Sun, 30 Mar
 2025 18:03:44 +0000
Received: from DS3PEPF000099E0.namprd04.prod.outlook.com
 (2603:10b6:610:b3:cafe::6a) by CH0PR03CA0053.outlook.office365.com
 (2603:10b6:610:b3::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.46 via Frontend Transport; Sun,
 30 Mar 2025 18:03:43 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099E0.mail.protection.outlook.com (10.167.17.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Sun, 30 Mar 2025 18:03:43 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 30 Mar
 2025 13:03:42 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Sun, 30 Mar 2025 13:03:41 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 557b33c5-0d91-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TgsREP5Fu27Cd0GHc0Lyyembb9PcZbwcOsBV1IDjbsLdBti1s8JGr3B7N3Gamj4kX/j1c+aLRHvTyMGyqpIKK4Yvg2x81eAiCEdiASzwRhcktyIdc3IIUj6grf4tZimoEdce+YRh9WBtYkQS1f5kb4Ei8d0mijS20jK3v5pFSIv9qWHmIbv+kFceipnRaO9cP8fL4nQwpbumTUpKg/aG73auYUcJQ/aQkXYN56VCoi6Nv+jr60YKudDekB/fVaEMJeGdB80MFOYKrDJ0e97FKCVHAkZCwOMrVIMO0auJwPLqonKQysQAUy1YK48ZzKH1qad8OnlPoV9WGc5FYVEX+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=PJelalunfFfLEoum9ocPu/SbN7Cw9ZtOsqRzevgCCAc=;
 b=CduZXm5vRdl6YdxOMXrMR7I5tihkLGMzYTykl1G/SmQqwTrNOH8XHOpReNmMLFQR4NTt4Lfns2G8m4iilvWXcSzSqvy4gnfJ0rtfRfExCJjAgoMJYuGCp5LnLgDDrP8TGNZzALCyVt2xfkXcmvCDtnlcxINWADtfz9B7jviwbsPGDHzB2/K1LKzyC40Q+5leJoBnflBB5PUzeiy0dFx4nFXiGrL/WP3sxwy7mbSWWM/vzRzJPz+k3Cp9wGSEuDqe8d8qvI4aPTnjGMR6mTvIClVxrzTY34wFguRFFk+peIyscW7i1+GnY6bUKVsCXNmrO/J1rce06LeJ8sRouCzOcw==
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=PJelalunfFfLEoum9ocPu/SbN7Cw9ZtOsqRzevgCCAc=;
 b=pRRtgnUuSWk/KfUfCSdCWfeIwKR33p4FP6EYvkkGTtLCaKhgyOjnYUf1f8IFz+d1ioh+Fp14B0tzile8ANPoMrX9eG2HvWh4DUQ0xQwpqY2fuEajkZU9CBvhNeu9+RSH66aQx9kVsrjEyOLK7NdARP2IlhN91Vdrkk0fJ/Kvqx8=
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=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v3 2/5] xen/arm: Move some of the functions to common file
Date: Sun, 30 Mar 2025 19:03:05 +0100
Message-ID: <20250330180308.2551195-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099E0:EE_|MW6PR12MB8914:EE_
X-MS-Office365-Filtering-Correlation-Id: dff695b6-cadb-4940-3dc3-08dd6fb5358d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|34020700016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?zcS8sBshQJXqsHS33c0n7lSFsKrzOJWQqneMvAEaQkq/J7zUWb8G0hDT/gqp?=
 =?us-ascii?Q?/rY1eLZo/TlT/jLYATHHtGjHcUgFTEgrC84vMdu25TEfa3fDlgQyOr77FLD3?=
 =?us-ascii?Q?tseQoFGtUQIOvYCO7UxPYNsdHgvLp/FkbRMqgHJmbB+bDcO765r9QjmFxOeZ?=
 =?us-ascii?Q?OuiMFKkd1+IPza+QmErSU1yKPOPpwOSXg5PYsrytjFIsKVRH71UMZZdenCgG?=
 =?us-ascii?Q?6XTw5dncExu8K8dJ8UdZ0eXB57SgGM7C4Hc3bzu7Pl6gJQJSlVLv5kLUkjMZ?=
 =?us-ascii?Q?uEPGwBoPyaXNRBqd2RZoztaHA74uXMWu1AZW7KWo+ucWBza7Lqp9BXV51+8b?=
 =?us-ascii?Q?5rMUx5p4vp/YheqU2B1vyQ8RsIWQh/+wIGw3lDQWOqmGaenvTe+pjQUYYjFF?=
 =?us-ascii?Q?cjvSPJ8Bmf6EJXqWXpe4BeQ2uVtN3+O4jINJhU4L1lNRFznU/HMS4qE+6IBG?=
 =?us-ascii?Q?1Qc9bLogyxKXHbqGPjxOnr6IleYuPR3gIv1MJ7qzY5CxwxelYs8gddWHPmVw?=
 =?us-ascii?Q?C9mN6ErxCtcb6tZa4n/s2s9rx7imamSbxhNQqQ7wHNu3cjtFFzKXdfvhXAI2?=
 =?us-ascii?Q?zBZLzAHPT5fAS/TJ8lWYOBLN2eHpI9hv6x9Ib6d4jDCsNvpqtEVKy80rA7VB?=
 =?us-ascii?Q?E0FjpUOJOArnYBZP9oz6u2M3Jbh3eR2RrRlli15/f0NNk8CKg3KmWnOGZ+V6?=
 =?us-ascii?Q?LaqGyIsm2LJtSMf98q++cSdNIlhw3RzeT1qMp4K55nTL5FHA1z1CjdIKpeTx?=
 =?us-ascii?Q?dDldbSv9v8mW5j36gdiIoqpO1ekYAMb5ZG6bMC+xpe28UC+znldq9wtrW9BV?=
 =?us-ascii?Q?Bk2i3URK82wY8xlpJjgh9iaIgMbti3j60h2pfeaGf7rx4h27otAUbsl5LQ0F?=
 =?us-ascii?Q?wZaeTZfuQ3pMZofSKhff9tiID2kNKx3AVCYg5U8ZXXwON6t3tWJ0p9Gu8V1M?=
 =?us-ascii?Q?zT9ju864G2FstZOKeaJsDPOzEt+RQ62xep5HYU63B8cBRZvzfBo/nl/MvZxz?=
 =?us-ascii?Q?J2VbOYJw9EdoQFs5/FZpygaZ0sqDJ0OEjaPleSBBEQ39mw75d+yQvY7ntLyA?=
 =?us-ascii?Q?IYWw4A7EaCieHTcyHW0bHc1EtEHtcUciYlypGEDj0aGG5sCqd5lFJoUiOGYb?=
 =?us-ascii?Q?5QV9obHEsd7ssZWiTadnSRwI6ZH+AK8tfHcAa1QP39d/aaiae6hv7lb7c+gm?=
 =?us-ascii?Q?GXz29SgB1QG65x4f9KswBYTW4G8FqLcTtG5j5Km7emZJOoxTt67uLqQJ4sZH?=
 =?us-ascii?Q?7idAo1Pn50oCR20rNVJZj1W8iXBGPXZ6Xdj/eIRBFMLEe5ww9rlJM1QxFHNO?=
 =?us-ascii?Q?fH1kszHLdPc2c9KxcAVn4L2gfBA1Uz/MryxWkcJChi/k84ES525f+27MWma1?=
 =?us-ascii?Q?4F6XHEx3d1AP9fswZS+A8sVY9jMb4uR2iTDRr+WmR//u+8LBlZx2jj+AryMe?=
 =?us-ascii?Q?wxynklhtLkCdGSp+O2IaJqkeEkVWmobjmH7/jdCgMKx6hrf59Xme3O7XXSHK?=
 =?us-ascii?Q?Q0ZnxyEJopCibU1TA+sWZJZN2u+m6WkStatT?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(34020700016);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2025 18:03:43.3909
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dff695b6-cadb-4940-3dc3-08dd6fb5358d
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099E0.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8914

Added a new file prepare_xen_region.inc to hold the common earlyboot MPU regions
configurations across arm64 and arm32.

prepare_xen_region, enable_boot_cpu, fail_insufficient_regions() will be used by
both arm32 and arm64. Thus, they have been moved to prepare_xen_region.inc.

REGION_* are moved to arm64/sysregs.h. Introduced LOAD_SYSREG and STORE_SYSREG
to read/write to the system registers from the common asm file. One could not
reuse READ_SYSREG and WRITE_SYSREG as they have been defined to be invoked from
C files.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from

v1 -

1. enable_mpu() now sets HMAIR{0,1} registers. This is similar to what is
being done in enable_mmu(). All the mm related configurations happen in this
function.

2. Fixed some typos.

v2 -
1. Extracted the arm64 head.S functions/macros in a common file.

 xen/arch/arm/arm64/mpu/head.S                 | 132 +-----------------
 xen/arch/arm/include/asm/arm64/sysregs.h      |  15 ++
 .../include/asm/mpu/prepare_xen_region.inc    | 128 +++++++++++++++++
 3 files changed, 148 insertions(+), 127 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mpu/prepare_xen_region.inc

diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
index 4d00de4869..90b4c8c18f 100644
--- a/xen/arch/arm/arm64/mpu/head.S
+++ b/xen/arch/arm/arm64/mpu/head.S
@@ -3,83 +3,7 @@
  * Start-of-day code for an Armv8-R MPU system.
  */
 
-#include <asm/early_printk.h>
-#include <asm/mpu.h>
-
-/* Backgroud region enable/disable */
-#define SCTLR_ELx_BR    BIT(17, UL)
-
-#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
-#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
-#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
-#define REGION_DEVICE_PRBAR     0x22    /* SH=10 AP=00 XN=10 */
-
-#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
-#define REGION_DEVICE_PRLAR     0x09    /* NS=0 ATTR=100 EN=1 */
-
-/*
- * Macro to prepare and set a EL2 MPU memory region.
- * We will also create an according MPU memory region entry, which
- * is a structure of pr_t,  in table \prmap.
- *
- * sel:         region selector
- * base:        reg storing base address
- * limit:       reg storing limit address
- * prbar:       store computed PRBAR_EL2 value
- * prlar:       store computed PRLAR_EL2 value
- * maxcount:    maximum number of EL2 regions supported
- * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
- *              REGION_DATA_PRBAR
- * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
- *              REGION_NORMAL_PRLAR
- *
- * Preserves \maxcount
- * Output:
- *  \sel: Next available region selector index.
- * Clobbers \base, \limit, \prbar, \prlar
- *
- * Note that all parameters using registers should be distinct.
- */
-.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
-    /* Check if the region is empty */
-    cmp   \base, \limit
-    beq   1f
-
-    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
-    cmp   \sel, \maxcount
-    bge   fail_insufficient_regions
-
-    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
-    and   \base, \base, #MPU_REGION_MASK
-    mov   \prbar, #\attr_prbar
-    orr   \prbar, \prbar, \base
-
-    /* Limit address should be inclusive */
-    sub   \limit, \limit, #1
-    and   \limit, \limit, #MPU_REGION_MASK
-    mov   \prlar, #\attr_prlar
-    orr   \prlar, \prlar, \limit
-
-    msr   PRSELR_EL2, \sel
-    isb
-    msr   PRBAR_EL2, \prbar
-    msr   PRLAR_EL2, \prlar
-    dsb   sy
-    isb
-
-    add   \sel, \sel, #1
-
-1:
-.endm
-
-/*
- * Failure caused due to insufficient MPU regions.
- */
-FUNC_LOCAL(fail_insufficient_regions)
-    PRINT("- Selected MPU region is above the implemented number in MPUIR_EL2 -\r\n")
-1:  wfe
-    b   1b
-END(fail_insufficient_regions)
+#include <asm/mpu/prepare_xen_region.inc>
 
 /*
  * Enable EL2 MPU and data cache
@@ -108,62 +32,16 @@ END(enable_mpu)
  * Maps the various sections of Xen (described in xen.lds.S) as different MPU
  * regions.
  *
- * Clobbers x0 - x5
+ * Clobbers x0 - x6
  *
  */
 FUNC(enable_boot_cpu_mm)
-    /* Get the number of regions specified in MPUIR_EL2 */
-    mrs   x5, MPUIR_EL2
-    and   x5, x5, #NUM_MPU_REGIONS_MASK
-
-    /* x0: region sel */
-    mov   x0, xzr
-    /* Xen text section. */
-    ldr   x1, =_stext
-    ldr   x2, =_etext
-    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_TEXT_PRBAR
-
-    /* Xen read-only data section. */
-    ldr   x1, =_srodata
-    ldr   x2, =_erodata
-    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_RO_PRBAR
-
-    /* Xen read-only after init and data section. (RW data) */
-    ldr   x1, =__ro_after_init_start
-    ldr   x2, =__init_begin
-    prepare_xen_region x0, x1, x2, x3, x4, x5
-
-    /* Xen code section. */
-    ldr   x1, =__init_begin
-    ldr   x2, =__init_data_begin
-    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_TEXT_PRBAR
-
-    /* Xen data and BSS section. */
-    ldr   x1, =__init_data_begin
-    ldr   x2, =__bss_end
-    prepare_xen_region x0, x1, x2, x3, x4, x5
-
-#ifdef CONFIG_EARLY_PRINTK
-    /* Xen early UART section. */
-    ldr   x1, =CONFIG_EARLY_UART_BASE_ADDRESS
-    ldr   x2, =(CONFIG_EARLY_UART_BASE_ADDRESS + CONFIG_EARLY_UART_SIZE)
-    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
-#endif
-
-    b    enable_mpu
+    mov   x6, lr
+    enable_boot_cpu x0, x1, x2, x3, x4, x5
+    mov   lr, x6
     ret
 END(enable_boot_cpu_mm)
 
-/*
- * We don't yet support secondary CPUs bring-up. Implement a dummy helper to
- * please the common code.
- */
-ENTRY(enable_secondary_cpu_mm)
-    PRINT("- SMP not enabled yet -\r\n")
-1:  wfe
-    b 1b
-ENDPROC(enable_secondary_cpu_mm)
-
 /*
  * Local variables:
  * mode: ASM
diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index b593e4028b..9b833fe73b 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -462,6 +462,19 @@
 #define ZCR_ELx_LEN_SIZE             9
 #define ZCR_ELx_LEN_MASK             0x1ff
 
+#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
+#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
+#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
+#define REGION_DEVICE_PRBAR     0x22    /* SH=10 AP=00 XN=10 */
+
+#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
+#define REGION_DEVICE_PRLAR     0x09    /* NS=0 ATTR=100 EN=1 */
+
+#define STORE_SYSREG(v, name) "msr " __stringify(name,) #v;
+#define LOAD_SYSREG(v, name) "mrs " #v __stringify(,) #name;
+
+#ifndef __ASSEMBLY__
+
 /* Access to system registers */
 
 #define WRITE_SYSREG64(v, name) do {                    \
@@ -481,6 +494,8 @@
 #define WRITE_SYSREG_LR(v, index)  WRITE_SYSREG(v, ICH_LR_REG(index))
 #define READ_SYSREG_LR(index)      READ_SYSREG(ICH_LR_REG(index))
 
+#endif /* __ASSEMBLY__ */
+
 #endif /* _ASM_ARM_ARM64_SYSREGS_H */
 
 /*
diff --git a/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc b/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
new file mode 100644
index 0000000000..3402ed23da
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
@@ -0,0 +1,128 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <asm/sysregs.h>
+#include <asm/mpu.h>
+
+/* Backgroud region enable/disable */
+#define SCTLR_ELx_BR    BIT(17, UL)
+
+/*
+ * Macro to prepare and set a EL2 MPU memory region.
+ * We will also create an according MPU memory region entry, which
+ * is a structure of pr_t,  in table \prmap.
+ *
+ * sel:         region selector
+ * base:        reg storing base address
+ * limit:       reg storing limit address
+ * prbar:       store computed PRBAR_EL2 value
+ * prlar:       store computed PRLAR_EL2 value
+ * maxcount:    maximum number of EL2 regions supported
+ * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
+ *              REGION_DATA_PRBAR
+ * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
+ *              REGION_NORMAL_PRLAR
+ *
+ * Preserves maxcount
+ * Output:
+ *  sel: Next available region selector index.
+ * Clobbers base, limit, prbar, prlar
+ *
+ * Note that all parameters using registers should be distinct.
+ */
+.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
+    /* Check if the region is empty */
+    cmp   \base, \limit
+    beq   1f
+
+    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
+    cmp   \sel, \maxcount
+    bge   fail_insufficient_regions
+
+    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
+    and   \base, \base, #MPU_REGION_MASK
+    mov   \prbar, #\attr_prbar
+    orr   \prbar, \prbar, \base
+
+    /* Limit address should be inclusive */
+    sub   \limit, \limit, #1
+    and   \limit, \limit, #MPU_REGION_MASK
+    mov   \prlar, #\attr_prlar
+    orr   \prlar, \prlar, \limit
+
+    STORE_SYSREG(\sel, PRSELR_EL2)
+    isb
+    STORE_SYSREG(\prbar, PRBAR_EL2)
+    STORE_SYSREG(\prlar, PRLAR_EL2)
+    dsb   sy
+    isb
+
+    add   \sel, \sel, #1
+
+1:
+.endm
+
+.macro enable_boot_cpu, reg0, reg1, reg2, reg3, reg4, reg5
+    /* Get the number of regions specified in MPUIR_EL2 */
+    LOAD_SYSREG(\reg5, MPUIR_EL2)
+    and   \reg5, \reg5, #NUM_MPU_REGIONS_MASK
+
+    /* reg0: region sel */
+    mov   \reg0, #0
+    /* Xen text section. */
+    ldr   \reg1, =_stext
+    ldr   \reg2, =_etext
+    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_TEXT_PRBAR
+
+    /* Xen read-only data section. */
+    ldr   \reg1, =_srodata
+    ldr   \reg2, =_erodata
+    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_RO_PRBAR
+
+    /* Xen read-only after init and data section. (RW data) */
+    ldr   \reg1, =__ro_after_init_start
+    ldr   \reg2, =__init_begin
+    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
+
+    /* Xen code section. */
+    ldr   \reg1, =__init_begin
+    ldr   \reg2, =__init_data_begin
+    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_TEXT_PRBAR
+
+    /* Xen data and BSS section. */
+    ldr   \reg1, =__init_data_begin
+    ldr   \reg2, =__bss_end
+    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
+
+#ifdef CONFIG_EARLY_PRINTK
+    /* Xen early UART section. */
+    ldr   \reg1, =CONFIG_EARLY_UART_BASE_ADDRESS
+    ldr   \reg2, =(CONFIG_EARLY_UART_BASE_ADDRESS + CONFIG_EARLY_UART_SIZE)
+    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
+#endif
+
+    bl    enable_mpu
+.endm
+
+/* Failure caused due to insufficient MPU regions. */
+FUNC_LOCAL(fail_insufficient_regions)
+    PRINT("- Selected MPU region is above the implemented number in MPUIR_EL2 -\r\n")
+1:  wfe
+    b   1b
+END(fail_insufficient_regions)
+
+/*
+ * We don't yet support secondary CPUs bring-up. Implement a dummy helper to
+ * please the common code.
+ */
+ENTRY(enable_secondary_cpu_mm)
+    PRINT("- SMP not enabled yet -\r\n")
+1:  wfe
+    b 1b
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 18:03:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 18:03:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931677.1333884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyx0l-0005Cj-7O; Sun, 30 Mar 2025 18:03:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931677.1333884; Sun, 30 Mar 2025 18:03: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 1tyx0l-0005Ca-4O; Sun, 30 Mar 2025 18:03:55 +0000
Received: by outflank-mailman (input) for mailman id 931677;
 Sun, 30 Mar 2025 18:03: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=bHYC=WR=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tyx0j-0004t7-KB
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 18:03:53 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2412::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55a84312-0d91-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 20:03:52 +0200 (CEST)
Received: from DS7PR03CA0267.namprd03.prod.outlook.com (2603:10b6:5:3b3::32)
 by IA1PR12MB7542.namprd12.prod.outlook.com (2603:10b6:208:42e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Sun, 30 Mar
 2025 18:03:47 +0000
Received: from DS3PEPF000099DD.namprd04.prod.outlook.com
 (2603:10b6:5:3b3:cafe::fc) by DS7PR03CA0267.outlook.office365.com
 (2603:10b6:5:3b3::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.47 via Frontend Transport; Sun,
 30 Mar 2025 18:03:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099DD.mail.protection.outlook.com (10.167.17.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Sun, 30 Mar 2025 18:03:47 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 30 Mar
 2025 13:03:46 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Sun, 30 Mar 2025 13:03:45 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55a84312-0d91-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sqvniTc+AaRaTIAev9/N7QpGWClP+QYflNGXcYQGR63wg/V/D2ld0pqH7O0Tp5GJqGEhQgUqMtNggvDp2jFFknJO0hh8PutxaZcKYpjizKwpAtqN0e/HWDgbm5TL4sPC6ghr6/nLiBK5v23T5qihEOaLAfVYWzu57DFvbiOXZpZcPR7Aj/qmKjLZM9KWfdevCHsZX7U4GLyI2vhrnNQGu6QSuWM5DPFL2n5UegPcJSnjtNakw2g4URNzTCY4SJulqjPYdPzIIZeEK3mKo0S+RoUa+ON+NQeFRgtnLL5wKYJPai4QrCjop5AW2S+dtJwroNBg7sArwdt/7Tdq6NWvSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tw4vQmhwXk5rZi4zLUAovAZaiFWCQqbg/If8Nb8ytW0=;
 b=IUA9RoIJotfA6VLXyR5Ox1fYZC0pb8xz6Ij+G3jsGnipHpy6uXNTrTJbtoyDAgilJhVhOCQiD4NElQ+TmBu2tF0g/Jp313UnzGRCKwCiLHA0mQyt4N8U1WTvSfXtxk987sNErQYTGaXFTtx1M3tAG7I6hzEKEzcaP9LdKNyFsl1N0GxfNmlvqaGyfSDOcmr3yigUlZH1dvrOM0TAaL6I2yskPOsJX7L5oFes6Z98X4GRlHewnxngse62RVkP5O79aT4Xd6KKL0OtYCosa3k0yq2PYwjmEnFrVcczXGbCkblZgkfF9s7Ku4iAo7sWqZ8asRa08bf3I5UbI2DNwiwaeg==
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=Tw4vQmhwXk5rZi4zLUAovAZaiFWCQqbg/If8Nb8ytW0=;
 b=xMcSo9CEVkgAYBeq0QbwNDqNX//guxQEDcMd3D/TGqK6diZfa3yilavgYKoGA39RmCOyRz2J+RN+G397TvUUkjo2f/sMJ4st6I0ToVIsJY/zeD99wq1dRMDLP9TIF8papxrsoKTaf65S44X6sRHFpp8f+kSMfrzou/C9Vq0yD28=
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=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [PATCH v3 4/5] xen/arm32: Allow ARM_PA_BITS_40 only if !MPU
Date: Sun, 30 Mar 2025 19:03:07 +0100
Message-ID: <20250330180308.2551195-5-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DD:EE_|IA1PR12MB7542:EE_
X-MS-Office365-Filtering-Correlation-Id: 86f766f5-1af0-41eb-ffc0-08dd6fb537ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|34020700016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?gWeIVktA5KcZWgzQHCjH9be00iEH0qkYUZdwjb7PTNAJMpJ2mwwuoUV2zAhw?=
 =?us-ascii?Q?vQ9Iky7a+9AqbuYY3c1bT8uY7YIJy2+daln2oR+TJx+wU69vJSpoYH7stmpN?=
 =?us-ascii?Q?dngrNZPOBtmfXcDhJm89XzMPkEkh9QCqAw0sFo+b3o0b/nNdRkzG5AIsl5KB?=
 =?us-ascii?Q?hfLzefUFOH3ZnC9izb0fuKzMwaIn+CzCIir6wSwyLk3Knl7B1Twhv+gsfW7E?=
 =?us-ascii?Q?yWzry9OjWobozK+D/1EUDz3oxUrxC2371o1VF229E0ekhFJNLpTL1CsILZuF?=
 =?us-ascii?Q?b3lj/Bt42yXpwSDMgKHYEJ3d3wjnIHMCAHUgURBhfMUCzhYeT3bIn2ejLLwl?=
 =?us-ascii?Q?OvdfzCrz7WmAfjC2W9CCH15YlasCNlLghNjagzjyRxTOxSDY8arc4jFgUy/x?=
 =?us-ascii?Q?vFUeTpUPl7vCXP4grT+DvupokE830cQFJRnspKT4F/J5iveIqWk/+NAxiRCu?=
 =?us-ascii?Q?y/zQyiEI6o1PmzwK3Zslh7WKyIGpW/HmxCbc0AMsIDrrPGr0RwItReUc61Te?=
 =?us-ascii?Q?I7VX3es9Wg733fXhiubOJA8rVFNRBkgnmMp+zgH0uYD2KGh6x06kvPsM5b9y?=
 =?us-ascii?Q?GzwlOGS8ASAgnXb+yjx98+4cWyd7ks4t4qsPsj5c78IiuYrukqX6s5HsFEI+?=
 =?us-ascii?Q?eZP2hDPn5hLbDhFjiwN94zbkBQvNglVukUyaUffgvyit9NLnxqI6fM3FUVOn?=
 =?us-ascii?Q?FsKRYpnEPuXmf2AwluO/F5Fio3mO7/Jy4AHzhzBUAXaZxqch4FiEWOzNhzn9?=
 =?us-ascii?Q?ztSnXyld/qRHa8aHQJA3EqKHTqGjbfEK7cCZKqbo/91X4ZTQuq66D0Wf0qk5?=
 =?us-ascii?Q?Z9er3mkm3QrollRFmwFCFbS+1ZkPMkDBv0FzNstwDeI63OdoqIibagl8L6m+?=
 =?us-ascii?Q?4RPtOIlgu9sr0+DOvW6eLcsC8gQe4vyJxe5zQ1CmUcWYSdMF4+38lXUQupc4?=
 =?us-ascii?Q?AnR7SQRhmzqeDzClIY4Bn90ujBEd/PEDm5M8sc5lOG82TWg3TNNYLuUwDPJS?=
 =?us-ascii?Q?UyLQAQ+dOBVnD+x5vbojOlCs8YeyVFlJtLNopG0EVaFukKa3ieNmrDbX15bb?=
 =?us-ascii?Q?2LUFQhYQx7X2gYgrlv9+0z5CMK3Ak/d0eByF7sWTyIo+HJ+fzh/3Zci4sRYQ?=
 =?us-ascii?Q?j777TrGrkexYb2e1R2xJyBk2MwJ2cXDrxobbdnvzqcc2hdxfGLZwlaBKcenh?=
 =?us-ascii?Q?dco0ADd1vcgP7TNBK+fkI4wZAbSafhoAmYAdQqNnPImmD6CDXnMRSyzaQXjo?=
 =?us-ascii?Q?JYJE2N9ONVFUKYMokkrTiBetKKaa1h2z0RHz5WJIjcmxJerSq8brycUk+XB+?=
 =?us-ascii?Q?b2MGPQCx984/epFvlH6bNQDTUmgsmdXQ6Zyg+kxRZJS+5aEjA6nSFLVYXpBY?=
 =?us-ascii?Q?wWMqeHOGp6ad2BTJcZc16qpP8UwCn0/rEezp2O72+9Cbih1xjddhM/MpnGYM?=
 =?us-ascii?Q?9iejb8UIYleoHiQ3vNgwHg/4st3o0UyS7NYPo8C/WSthq+klovuXKk3+6ged?=
 =?us-ascii?Q?cmE+OWcEIFIImlA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(34020700016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2025 18:03:47.3649
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 86f766f5-1af0-41eb-ffc0-08dd6fb537ed
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099DD.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7542

From: Michal Orzel <michal.orzel@amd.com>

ArmV8-R AArch32 does not support LPAE. The reason being PMSAv8-32
supports 32-bit physical address only.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from 

v1 - 1. New patch.

v2 - 1. No changes

 xen/arch/arm/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a4af0b85f1..565f288331 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -58,7 +58,7 @@ config ARM_PA_BITS_32
 
 config ARM_PA_BITS_40
 	bool "40-bit"
-	depends on ARM_32
+	depends on ARM_32 && !MPU
 endchoice
 
 config PADDR_BITS
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 18:03:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 18:03:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931678.1333895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyx0m-0005RS-FN; Sun, 30 Mar 2025 18:03:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931678.1333895; Sun, 30 Mar 2025 18:03: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 1tyx0m-0005RL-CM; Sun, 30 Mar 2025 18:03:56 +0000
Received: by outflank-mailman (input) for mailman id 931678;
 Sun, 30 Mar 2025 18:03: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=bHYC=WR=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tyx0k-0004t7-KP
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 18:03:54 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2417::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56154497-0d91-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 20:03:52 +0200 (CEST)
Received: from DS7PR03CA0241.namprd03.prod.outlook.com (2603:10b6:5:3b3::6) by
 PH0PR12MB7885.namprd12.prod.outlook.com (2603:10b6:510:28f::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.44; Sun, 30 Mar 2025 18:03:46 +0000
Received: from DS3PEPF000099DD.namprd04.prod.outlook.com
 (2603:10b6:5:3b3:cafe::a6) by DS7PR03CA0241.outlook.office365.com
 (2603:10b6:5:3b3::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.46 via Frontend Transport; Sun,
 30 Mar 2025 18:03:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099DD.mail.protection.outlook.com (10.167.17.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Sun, 30 Mar 2025 18:03:45 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 30 Mar
 2025 13:03:44 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Sun, 30 Mar 2025 13:03:43 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56154497-0d91-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H8QYrggIAwgdM5V/79FmPE7iEpHnU5Isvem+Rs7ANs+pY2G3T58o9h78tsG2AtCxYFLnXz4PxMUfb7TVSIHgueuSUcGvSpjv9BDWYRytkkinJzTqj+QXpxnvZd5hWM9ycxNFJe/uGzZuumn9RO7b+VWRMbpexCGlu2qwuTOsRhc0pr8t656TnVnfUZnWTmsXMhzln3H2sbnEu1W3YZ7yegwKJMmSHGxOTC5LPRUvKVkErvDJiPY8rukG+sMV55OCAVjkj4kRhIKdr6LLI2JUi7ZEuay9cdiw+BqqhIaSr8x1VbbQMP1SYqiWe7QDoJs4b5RRMHbvlLbFmIun+GXFNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bf/GhEcDiHJ+LollPuEQtuZXtUaNyWDODoHuvcqw7ng=;
 b=GNPRe+EGwJ0MdQTQCyD33nRZYaNJKgchIMvpOnqPkfSH+t0DYebOYKKXXbLB5ebXJ9zbWhMUpoEzOzB0nTYYHmwN7tOIb2ZwIuw+Ke/Axqy3c/cCectZiDFPWQO8iZWRnhgU5XNBcTXxV4qdw2Zi9cp9O/byp/4yQOgJ9MLmnO3eFBgUUTegxn1Bahzt+gPkzcw9TZqczHslVLu5VU3ItlGjwHp6E/vWpQ/7F4VmLKYWqZ0kVtSpiL8enYgTLSC+O54D9pcYYBBvFAbPZ6A9od7bXrZus2kOS5CN6JzojSnHYwIzrHEtWSi0rHAdTYgFgQFfO/ula6Rd9UgzaFKNVg==
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=bf/GhEcDiHJ+LollPuEQtuZXtUaNyWDODoHuvcqw7ng=;
 b=i4qpbmodabbNRO9atrVzEqBAa24NId4eNfJIQfWsyggraodBAbXpoM8FSW/BnJYRQJR4kI6C5H2Sv1SdAyK8ikYvu90q4A4iXxRiOc5DMtNtviQGQtk+0kiqr9QuUCQrQgrUThOVVN67UvXPCTFGgycuy1JTQj0qMUATTVyzK9Y=
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=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v3 3/5] xen/arm32: Create the same boot-time MPU regions as arm64
Date: Sun, 30 Mar 2025 19:03:06 +0100
Message-ID: <20250330180308.2551195-4-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DD:EE_|PH0PR12MB7885:EE_
X-MS-Office365-Filtering-Correlation-Id: d1873e49-90e6-44ee-9735-08dd6fb536c1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026|34020700016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?qzgPoDHK6pUfDpN0FFh/WrOaih807MqfdcAlqgzQJyIO9pT41Qn0U3FHd7Eo?=
 =?us-ascii?Q?i3G4FPe4KIm189tNYn8OP/944b2VsRhBVmbc+EgOQ8yp24TizbOzZKl/YLIY?=
 =?us-ascii?Q?UsvWaAPHCLjpcxzGToYwchfKnuWoRFletC+gJQoM45WHWHSgmiwWIkuIx8t+?=
 =?us-ascii?Q?Wp5Q7WNdS2myXrK+0PrrglRUQV3Zj2WVGVeNAjSneMraGkJWx/3j7xArJopN?=
 =?us-ascii?Q?t4+8YdV1ufAkHVOvmnVWNOr6c73iHfimXG8fkhvsA+VPCTqHOK5JarsAMQQu?=
 =?us-ascii?Q?31ggmcEn3btgBhaexZT+T5F22xOEQmEVRJKFNHLDmpXjjdNXnIbH2BgeFo6m?=
 =?us-ascii?Q?sW4AgseH2rRFVIsHwUnI24O/DcajNeomqgQhmYkESES8m6MWwxf3Zyp12mHN?=
 =?us-ascii?Q?YMwxnW8Oz3v2bBvnR++KuCrDUoUcpRlHHUAuXqkochpPrrlc5DnRiib9ZgQ/?=
 =?us-ascii?Q?LYSnzVFMQiXJTV7saxQ0jXL7CZFea/cW/025xTCtEqPTyXtyOMWisjgcdyRf?=
 =?us-ascii?Q?9T6han/fwZaqhhEFZmw7p44vRamieairn+/1s8RLYHz2B1b4OqKfaYuvo3y9?=
 =?us-ascii?Q?nggDGZhxfpHXdisd+w1Qed9ZhZ2x5ohep9q8JIKCfN+UTOt8dzUbSBjtIehR?=
 =?us-ascii?Q?M37MsTWKdOKJ1/5qpfmaaR5GEPY0LOKqWEhcKxYK6O1/3eKdbMAMw8SFIyYm?=
 =?us-ascii?Q?acpE5SSCdX0gu+FFhWqNAzZEEc1G8g33vh4pqb18GG2ax+/9WjGy9Jm/dxol?=
 =?us-ascii?Q?e01uYnVHP1OzuOlr0gnsOGpbJowIHxh+JuQ5OwCBy2mrXaKjwY9ffk0TxpRH?=
 =?us-ascii?Q?+3YopS2ZaUcQxIHsD7fqFjHKQKbwcTjRB0VrCT/oVNBPaf3JnnCdgc58bwYr?=
 =?us-ascii?Q?rxxXmWYQ2AwnwOSaixvNDFP/jIwh/+K/Ao36wEzHVGwl2DU/sS7AjjPwh8mV?=
 =?us-ascii?Q?YDbP7ZOWMZJhu/tY9WApssIVsJhVbXtdr2TesUDdnsdi5OTYk+fw2f70H3PX?=
 =?us-ascii?Q?2zDRIotB+ikG38Oh7oFZNnJdKZOC0Vx+ywIrRvYv+O0yuzGnBkgu+ibmSmTy?=
 =?us-ascii?Q?GRA88G4imyXe+U9goZBze3kqx6pc1k36KxXkG/nvp5fmSliSjSxToFemLVLO?=
 =?us-ascii?Q?5tFlnQOOOeji1dxKmlWvJPvoqTuk+k3A2O9Iar9n48Z/TOHxtOfP1gc/CgL6?=
 =?us-ascii?Q?4SWONcrQ0nH/d0XR6kSCqmliWgVDh5SAwCe/QEIKaMleJ8QomeJBDtTUv2j0?=
 =?us-ascii?Q?luJ3onLK/AdNoauD+q857eUEY1inX7hUJjlcCVcrxP5/ygENUzWJaDykX+Qi?=
 =?us-ascii?Q?ajC/GoUDf+vsm93IUfYaARzRiGp3miqXBtLjHCT0ppKclBuwBFQ/gYqwJE+0?=
 =?us-ascii?Q?PsfHtz3qdP+jWSRCVqfU/dTdmw4U6BiSu7h/BV1F25soE2ATYz6qcAcSqV2R?=
 =?us-ascii?Q?v/uvzpfAenwM0/bEb+sbG5cjIYQmdBBHoCF020F6h9SWa3Ij34eRcWTiWgVz?=
 =?us-ascii?Q?SvrGA3urQBuwVHHwG/PAD88WDFbMok27inkQ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026)(34020700016);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2025 18:03:45.4117
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d1873e49-90e6-44ee-9735-08dd6fb536c1
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099DD.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7885

We have created the same boot-time MPU protection regions as Armv8-R AArch64.
Also, we have defined REGION_* macros for arm32. The only difference from
arm64 is that XN is 1-bit for arm32.
The macros have been defined in arm32/sysregs.h. Though REGION_NORMAL_PRLAR
and REGION_DEVICE_PRLAR are same between arm32 and arm64, we have duplicated
them to keep the definitions at the same place as the other REGION_* macros.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from

v1 -

1. enable_mpu() now sets HMAIR{0,1} registers. This is similar to what is
being done in enable_mmu(). All the mm related configurations happen in this
function.

2. Fixed some typos. 

v2 -
1. Include the common prepare_xen_region.inc in head.S.

2. Define LOAD_SYSREG()/STORE_SYSREG() for arm32.

 xen/arch/arm/arm32/Makefile              |  1 +
 xen/arch/arm/arm32/mpu/Makefile          |  1 +
 xen/arch/arm/arm32/mpu/head.S            | 52 ++++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/sysregs.h | 11 +++++
 xen/arch/arm/include/asm/cpregs.h        |  4 ++
 xen/arch/arm/include/asm/mpu/cpregs.h    | 23 +++++++++++
 6 files changed, 92 insertions(+)
 create mode 100644 xen/arch/arm/arm32/mpu/Makefile
 create mode 100644 xen/arch/arm/arm32/mpu/head.S
 create mode 100644 xen/arch/arm/include/asm/mpu/cpregs.h

diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
index 40a2b4803f..537969d753 100644
--- a/xen/arch/arm/arm32/Makefile
+++ b/xen/arch/arm/arm32/Makefile
@@ -1,5 +1,6 @@
 obj-y += lib/
 obj-$(CONFIG_MMU) += mmu/
+obj-$(CONFIG_MPU) += mpu/
 
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
 obj-y += domctl.o
diff --git a/xen/arch/arm/arm32/mpu/Makefile b/xen/arch/arm/arm32/mpu/Makefile
new file mode 100644
index 0000000000..3340058c08
--- /dev/null
+++ b/xen/arch/arm/arm32/mpu/Makefile
@@ -0,0 +1 @@
+obj-y += head.o
diff --git a/xen/arch/arm/arm32/mpu/head.S b/xen/arch/arm/arm32/mpu/head.S
new file mode 100644
index 0000000000..30c901525a
--- /dev/null
+++ b/xen/arch/arm/arm32/mpu/head.S
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Start-of-day code for an Armv8-R MPU system.
+ */
+
+#include <asm/page.h>
+#include <asm/mpu/prepare_xen_region.inc>
+
+/*
+ * Set up the memory attribute type tables and enable EL2 MPU and data cache.
+ * If the Background region is enabled, then the MPU uses the default memory
+ * map as the Background region for generating the memory
+ * attributes when MPU is disabled.
+ * Since the default memory map of the Armv8-R AArch32 architecture is
+ * IMPLEMENTATION DEFINED, we intend to turn off the Background region here.
+ *
+ * Clobbers r0 - r1
+ */
+FUNC_LOCAL(enable_mpu)
+    /* Set up memory attribute type tables */
+    mov_w r0, MAIR0VAL
+    mov_w r1, MAIR1VAL
+    mcr   CP32(r0, HMAIR0)
+    mcr   CP32(r1, HMAIR1)
+
+    mrc   CP32(r0, HSCTLR)
+    bic   r0, r0, #SCTLR_ELx_BR       /* Disable Background region */
+    orr   r0, r0, #SCTLR_Axx_ELx_M    /* Enable MPU */
+    orr   r0, r0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
+    mcr   CP32(r0, HSCTLR)
+    isb
+    mov   pc, lr
+END(enable_mpu)
+
+/*
+ * Maps the various sections of Xen (decsribed in xen.lds.S) as different MPU
+ * regions.
+ *
+ * Clobbers r0 - r6
+ */
+FUNC(enable_boot_cpu_mm)
+    mov   r6, lr
+    enable_boot_cpu r0, r1, r2, r3, r4, r5
+    mov   pc, r6
+END(enable_boot_cpu_mm)
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/arm32/sysregs.h b/xen/arch/arm/include/asm/arm32/sysregs.h
index 22871999af..e02c0932e6 100644
--- a/xen/arch/arm/include/asm/arm32/sysregs.h
+++ b/xen/arch/arm/include/asm/arm32/sysregs.h
@@ -4,6 +4,14 @@
 #include <xen/stringify.h>
 #include <asm/cpregs.h>
 
+#define REGION_TEXT_PRBAR       0x18    /* SH=11 AP=10 XN=0 */
+#define REGION_RO_PRBAR         0x1D    /* SH=11 AP=10 XN=1 */
+#define REGION_DATA_PRBAR       0x19    /* SH=11 AP=00 XN=1 */
+#define REGION_DEVICE_PRBAR     0x11    /* SH=10 AP=00 XN=1 */
+
+#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
+#define REGION_DEVICE_PRLAR     0x09    /* NS=0 ATTR=100 EN=1 */
+
 /* Layout as used in assembly, with src/dest registers mixed in */
 #define __CP32(r, coproc, opc1, crn, crm, opc2) coproc, opc1, r, crn, crm, opc2
 #define __CP64(r1, r2, coproc, opc, crm) coproc, opc, r1, r2, crm
@@ -16,6 +24,9 @@
 #define LOAD_CP64(r, name...)  "mrrc " __stringify(CP64(%r, %H##r, name)) ";"
 #define STORE_CP64(r, name...) "mcrr " __stringify(CP64(%r, %H##r, name)) ";"
 
+#define LOAD_SYSREG(v, name) mrc CP32(v, name)
+#define STORE_SYSREG(v, name) mcr CP32(v, name)
+
 /* Issue a CP operation which takes no argument,
  * uses r0 as a placeholder register. */
 #define CMD_CP32(name...)      "mcr " __stringify(CP32(r0, name)) ";"
diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
index aec9e8f329..6019a2cbdd 100644
--- a/xen/arch/arm/include/asm/cpregs.h
+++ b/xen/arch/arm/include/asm/cpregs.h
@@ -1,6 +1,10 @@
 #ifndef __ASM_ARM_CPREGS_H
 #define __ASM_ARM_CPREGS_H
 
+#ifdef CONFIG_MPU
+#include <asm/mpu/cpregs.h>
+#endif
+
 /*
  * AArch32 Co-processor registers.
  *
diff --git a/xen/arch/arm/include/asm/mpu/cpregs.h b/xen/arch/arm/include/asm/mpu/cpregs.h
new file mode 100644
index 0000000000..cf63730233
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/cpregs.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_ARM_MPU_CPREGS_H
+#define __ASM_ARM_MPU_CPREGS_H
+
+#define HMPUIR          p15,4,c0,c0,4
+
+/* CP15 CR6: MPU Protection Region Base/Limit/Select Address Register */
+#define HPRSELR         p15,4,c6,c2,1
+#define PRBAR_EL2       p15,4,c6,c3,0
+#define PRLAR_EL2       p15,4,c6,c8,1
+
+#define MPUIR_EL2       HMPUIR
+#define PRSELR_EL2      HPRSELR
+
+#endif /* __ASM_ARM_MPU_CPREGS_H */
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 18:03:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 18:03:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931679.1333905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyx0o-0005jE-O4; Sun, 30 Mar 2025 18:03:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931679.1333905; Sun, 30 Mar 2025 18:03: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 1tyx0o-0005j5-Jr; Sun, 30 Mar 2025 18:03:58 +0000
Received: by outflank-mailman (input) for mailman id 931679;
 Sun, 30 Mar 2025 18:03: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=bHYC=WR=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tyx0m-0004t7-M2
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 18:03:56 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2407::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57dd375d-0d91-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 20:03:55 +0200 (CEST)
Received: from BN0PR04CA0123.namprd04.prod.outlook.com (2603:10b6:408:ed::8)
 by SA5PPFCAFD069B8.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8e1) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Sun, 30 Mar
 2025 18:03:50 +0000
Received: from BN2PEPF0000449D.namprd02.prod.outlook.com
 (2603:10b6:408:ed:cafe::c2) by BN0PR04CA0123.outlook.office365.com
 (2603:10b6:408:ed::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.53 via Frontend Transport; Sun,
 30 Mar 2025 18:03:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF0000449D.mail.protection.outlook.com (10.167.243.148) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Sun, 30 Mar 2025 18:03:50 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Sun, 30 Mar
 2025 13:03:49 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Sun, 30 Mar 2025 13:03:48 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57dd375d-0d91-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=g9Kyje7ezUgHmtBbc8GAtYgdYx6CT4eZnz/nDJHRrtnOfO9MSIhYbj2c3Z3GnOQSz2eR+bxkL5MTrmzFvqteaErARPfUxQknEi5yOYBdbbVWcYk5uFaHs6w4kIMHdZiCcuSFGlGdNLL3dpwS5u6Mu+v3aWDlNDx2T6l2VTMZma6o7RT0ltxiQb7ootDW3L+iZJs1avSH3K4K5AHN0bXxchPeNveoMgPq0PfNmDaHk6rYs08j/CFvFZzQrAzV66tw04lDEoLr9D5rkXbCBEm3GMg3DHgtwx1jIrpRPJ5VUv0PalYGAcdBag1ZM0I0d+EgjNhMsRwl0cF7Gi7YmtQhrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zk+vRuec4fDRob1b6VKS0/iKJpo2k5z+nvuNuE8XdSY=;
 b=muMGQC+oi2k06pmqwm+NP6I/jlnT096A/qaiiTUuuU36lbI24uHjBx2uHCRc+AT0CDTrp3S6orap4/CHnupKCxAtaFSi/ZqZWCSUd/jbcMnHZCkLvpryOjvZMwkiGRo2Ma1oJc5iNVz/mN0p/RqgfsQM729qUFxSoGVmFCDpGdF8xfUV3ikpbAHoTF8/cOJayGw0pBhf0dg8PTb9v8rljE3Ws8xfavk5KWJSj3IBpnAEBGziRsx5Z9Mz8334z1hr79CIi0/0BU6doYZhxODNAA5CWQSm41giwvMdwoCUQO+oeFakuxD3qQhMPbkFfno/G9TJVrZ7uzmQAybzqa+upQ==
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=zk+vRuec4fDRob1b6VKS0/iKJpo2k5z+nvuNuE8XdSY=;
 b=jOrMGuMW7ydD3nLAKdgTEb5jGCmzV63D2xRccqQxBvqeRYo64Gd7DUpcVCGvqPwKDyiJfcwgwfOrhUwlM+ySFWVaLijZVkIw8q5FLkL57k9QN9Kao8UQDspqsCz/WYiiz1nSg30ksesc8PJkgE+a1JPti85U9d9slUDpmSk3jlY=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v3 5/5] xen/arm32: mpu: Stubs to build MPU for arm32
Date: Sun, 30 Mar 2025 19:03:08 +0100
Message-ID: <20250330180308.2551195-6-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF0000449D:EE_|SA5PPFCAFD069B8:EE_
X-MS-Office365-Filtering-Correlation-Id: e997f276-95ae-4b2b-1903-08dd6fb539a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|34020700016|36860700013|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?1mJpm3BhczMtwDiezlXpCjTfDrEfppl32JNqYyJLl2kXKZDhcIM6TFdgJpiA?=
 =?us-ascii?Q?BaPYdTvXg9Omh3q36rViGf5kDFoicsRD6PrRzk9MKPqBgnbjX248gzRhp9fc?=
 =?us-ascii?Q?s5pHe1x4/hZuZ1j4S8Z/J6vfYLc/mpwuuibos7/4YOt0uM/4H72+PKnvnTER?=
 =?us-ascii?Q?jhtvfrdSTsGQxTAi7qaJLdKri4jQDXjozuDKcc4ZW3jX+SEFUTW6MGFmU3rS?=
 =?us-ascii?Q?8bNGkdRVfdDiSr8YkksTVhbODCyptzioFYvzwwM454dmDh3C5T/NISG9xLVO?=
 =?us-ascii?Q?JAwwXDZGu2Y51oOkTVyQhbDLGYnJPmLXKihXJwHOMpOTgXuRr0Tuzojt3+JV?=
 =?us-ascii?Q?vFMRUMykegUsSc/04arH0CWyDSvoPIdgNAWxoJpoWJeItFypYwubBtnqgc9C?=
 =?us-ascii?Q?p4EHhimhk+GwjecSycTckmhfTmCjT8OF8XHvEighRvuHU26IpOPsRTEXpbAC?=
 =?us-ascii?Q?s7UZVey4LrSj5Rjc3dyxgoiix7Oau88HIhk7/IRAzVT8FY/5Yx+nHwetHWUh?=
 =?us-ascii?Q?A71HLO/S1fiSg6IgfuwiHeJ4mcmplAXOYGD7zcbjRpZCXyTC/eU9Jq9fe0U/?=
 =?us-ascii?Q?dojiq+dM5JAnshd1hv0qcpg7O8o4V6yNVIxxuKbTuoy3+tme/9uem7+I8xaW?=
 =?us-ascii?Q?Kiu1pfBIniVZE4fjo+u4Z0StPWhcSuWsUzvD1SUIKilf4ifZt0fDFSgFuv3x?=
 =?us-ascii?Q?qImWD2Ul9nSbk7uA3x3zT1oIaUZVTWQGlPyLOFhNCxea8jTFcR+g86WJfU36?=
 =?us-ascii?Q?SpX7mlW0Wl2Pjn6tpLypl5uCNjORpZzcPC06wfQICBiI2RDyKduWjpe43W33?=
 =?us-ascii?Q?BRczkHAKt53qtpfExGWethx06WfWlVxbYmxqTxwDD82q755CCtrZ0BKhKZ1z?=
 =?us-ascii?Q?7+pqNRL6PA/nwIZk/gU1LDesNiva43Ca+TNkgKb54VGii+IbPwle5Jflyk9O?=
 =?us-ascii?Q?ns4hMATYNBxXhitE6INpKg4cQphwAPA70e1e9B4y29TRDDzo/r9fm3yJzvgZ?=
 =?us-ascii?Q?aXBfBQzUar5/zXxITku2k+x8pV8HMrCOMahMV5e0HVLt+osNyQyghYKF3DEg?=
 =?us-ascii?Q?PbKw3/UweP6rsiN2M9GkE4pwEVm4P9gSfTdIMeC2dB1DmR/D/OBtvtiNxMlR?=
 =?us-ascii?Q?yI/DgplAGj2i5pod3WkXZdhD2hon3SjOTmjlLd4G5kaC4BYchVrDQAy8WGAt?=
 =?us-ascii?Q?vz8wqRY3hAp5Sim4eWr0laTUS3Nd3Vl2e3N3SSNo6/q6aPnmILwyGsmhAQov?=
 =?us-ascii?Q?ALsX9WaDdjgpZKP051eJGvFlR77+5GeGozIGVbglUH35g46ZII5r2LiNVr8q?=
 =?us-ascii?Q?UGpHe1v+xWmZY3BScAA/VvSYHJi7o5FyDQaxC4u0EuGLrjVJzLQ6UqHNfQ82?=
 =?us-ascii?Q?P/fXUfU/JVMtloI1owDmb8qxyzLKcXeCrjeqfLQu0VORdr4wsxyA4LTIwYpD?=
 =?us-ascii?Q?ITc7bT9rgvdckTJZr/ySsHxovWEIb005otziT7caWIYmOy4Wv37ik5F50tYW?=
 =?us-ascii?Q?fqrkKGDFhxNtEUQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(34020700016)(36860700013)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2025 18:03:50.2960
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e997f276-95ae-4b2b-1903-08dd6fb539a6
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF0000449D.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPFCAFD069B8

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1, v2 -
1. New patch introduced in v3.
2. Should be applied on top of
https://patchwork.kernel.org/project/xen-devel/cover/20250316192445.2376484-1-luca.fancellu@arm.com/

 xen/arch/arm/Kconfig             |  2 +-
 xen/arch/arm/arm32/mpu/Makefile  |  2 ++
 xen/arch/arm/arm32/mpu/p2m.c     | 18 ++++++++++++++++++
 xen/arch/arm/arm32/mpu/smpboot.c | 23 +++++++++++++++++++++++
 xen/arch/arm/include/asm/mm.h    |  5 +++++
 5 files changed, 49 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/arm32/mpu/p2m.c
 create mode 100644 xen/arch/arm/arm32/mpu/smpboot.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 565f288331..a1dd942091 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -1,7 +1,7 @@
 config ARM_32
 	def_bool y
 	depends on "$(ARCH)" = "arm32"
-	select ARCH_MAP_DOMAIN_PAGE
+	select ARCH_MAP_DOMAIN_PAGE if MMU
 
 config ARM_64
 	def_bool y
diff --git a/xen/arch/arm/arm32/mpu/Makefile b/xen/arch/arm/arm32/mpu/Makefile
index 3340058c08..38797f28af 100644
--- a/xen/arch/arm/arm32/mpu/Makefile
+++ b/xen/arch/arm/arm32/mpu/Makefile
@@ -1 +1,3 @@
 obj-y += head.o
+obj-y += smpboot.o
+obj-y += p2m.o
diff --git a/xen/arch/arm/arm32/mpu/p2m.c b/xen/arch/arm/arm32/mpu/p2m.c
new file mode 100644
index 0000000000..df8de5c7d8
--- /dev/null
+++ b/xen/arch/arm/arm32/mpu/p2m.c
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/init.h>
+#include <asm/p2m.h>
+
+void __init setup_virt_paging(void)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm32/mpu/smpboot.c b/xen/arch/arm/arm32/mpu/smpboot.c
new file mode 100644
index 0000000000..3f3e54294e
--- /dev/null
+++ b/xen/arch/arm/arm32/mpu/smpboot.c
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/mm.h>
+
+int prepare_secondary_mm(int cpu)
+{
+    BUG_ON("unimplemented");
+    return -EINVAL;
+}
+
+void update_boot_mapping(bool enable)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index fbffaccef4..a894e28ac9 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -171,12 +171,17 @@ struct page_info
 #define PGC_need_scrub    PGC_allocated
 
 #ifdef CONFIG_ARM_32
+#ifdef CONFIG_MPU
+#define is_xen_heap_page(page) false
+#define is_xen_heap_mfn(mfn) false
+#else
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
 #define is_xen_heap_mfn(mfn) ({                                 \
     unsigned long mfn_ = mfn_x(mfn);                            \
     (mfn_ >= mfn_x(directmap_mfn_start) &&                      \
      mfn_ < mfn_x(directmap_mfn_end));                          \
 })
+#endif
 #else
 #define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
 #define is_xen_heap_mfn(mfn) \
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 18:03:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 18:03:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931681.1333910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyx0p-0005pZ-71; Sun, 30 Mar 2025 18:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931681.1333910; Sun, 30 Mar 2025 18: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 1tyx0p-0005oT-1k; Sun, 30 Mar 2025 18:03:59 +0000
Received: by outflank-mailman (input) for mailman id 931681;
 Sun, 30 Mar 2025 18:03: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=bHYC=WR=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tyx0n-0004t7-IK
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 18:03:57 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2060d.outbound.protection.outlook.com
 [2a01:111:f403:240a::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5394a04c-0d91-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 20:03:48 +0200 (CEST)
Received: from BN0PR02CA0016.namprd02.prod.outlook.com (2603:10b6:408:e4::21)
 by IA1PR12MB7613.namprd12.prod.outlook.com (2603:10b6:208:42a::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Sun, 30 Mar
 2025 18:03:41 +0000
Received: from BN2PEPF0000449F.namprd02.prod.outlook.com
 (2603:10b6:408:e4:cafe::2b) by BN0PR02CA0016.outlook.office365.com
 (2603:10b6:408:e4::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.46 via Frontend Transport; Sun,
 30 Mar 2025 18:03:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF0000449F.mail.protection.outlook.com (10.167.243.150) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Sun, 30 Mar 2025 18:03:40 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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; Sun, 30 Mar
 2025 13:03:40 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Sun, 30 Mar 2025 13:03:39 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5394a04c-0d91-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mus82b9+mjbuAzK6OLFi2gdeGzqiPtL8fxeLoVwBjhCB0F+QpVcZT5QBOgBl2rUpCZwYAvyLOfPyeiBh6CdP6dfHq2YBKjl2kDS3OB/whky3J7vW/JuAItalJWo6CU5MbLCWQQeI079N94M9+KA32w/2I/4LgGkM2j5m55e5S/xelIHQdi+Chc05zwOsxEpyaDxUNozGBYJBsnnUrgA3PAIKjhon7D5kRCodTm71LYrA1YySjS9B7AwmiY3WpObcd/1eaHAJAGT3+DuH9TK1rCWfwoAjxC9d9XcCjcCkL20lSi8czaD7KHB02LcRlgZE2gBQCJxSNexrjr79SfwfBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h8fjVeA4EQb7WyZPH3MXGgH/cncLv1FaG6lrBgZSm1k=;
 b=LAhNT18DYfvsXrMUpiKkgpvopnNUx0ncMmDZ4ejXB31jsUTFWUxh+RPGomjYPujX0BpsUv7ozlsHC3xa/HGAL13xwSbAZj4cpYft0Ks1jOdVs2QRPqo1fOLL738gBhfZoVnb/PTWljFAAR2MTNjrv0FR361Wclzp/sgCmp/TQ1EhtOlgYlke6Lhh1ksYgnp/Iqi0A9cFH8aQqNDlIG/BrWqqv0V2C9pw36uNyPZOnmU4Fbhh6ivEq71o03UgGQjn1YQKWhpPBVsA/+uPQU3CYUb/CNWHD+jETUgjtGxIMM4vwvhQ6NCYL4Jv5MAil3LHnYLqM5Tc2oYTLI65OQPDEg==
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=h8fjVeA4EQb7WyZPH3MXGgH/cncLv1FaG6lrBgZSm1k=;
 b=L52BSY1em1NczGBi6aqNWcn4cDmGOGfgidexZdPwWfvK6m9gmYk2Xg+6vNq0kE5ja6bNwDRDruDrwL66ocev2EFZHax86VOioW15OsInbFS373VPTgMZ07hml34vhWXQKdK+NPHtpZfVqSM3tuTmQcj/zWNSEnccqp8eT0OMRx4=
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=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@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>
Subject: [PATCH v3 1/5] xen/arm32: Move MM specific registers to enable_mmu
Date: Sun, 30 Mar 2025 19:03:04 +0100
Message-ID: <20250330180308.2551195-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF0000449F:EE_|IA1PR12MB7613:EE_
X-MS-Office365-Filtering-Correlation-Id: ab7244cc-19ba-4514-3b60-08dd6fb5340d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|34020700016|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?FCIx6vYTTxQp9alDw6jTNubJTzB6Y23K+S/oN8U3TS/oqO6OXvzpZAFPkVUv?=
 =?us-ascii?Q?gqDHVUNc4GxmhyBYOMRNRwDjK0sATrWMg75vF9xiOiK44PfA63jPY8Wgjbkv?=
 =?us-ascii?Q?eJsE48sSGCiRBvrHo57nWVp5C6oN9UiX+PtzoQ7X18hEJAEfNnhfTggRqZ3Y?=
 =?us-ascii?Q?eutMmrW7Nl+L70xTH4zOhn86VEDUweFlA4yDYNoCpmiMo44xLd0HqESdCVaS?=
 =?us-ascii?Q?pisESGzbTuAMJqUMgLaD3VaPpkZT8PmG+MBNzNgzI3Peg49ShYQsdeXGNjaE?=
 =?us-ascii?Q?YYoq0Amb3HvMo/H7htG+Q1hdxlUrTAH18Y5In+27qnFfHfuKVSvYq16TA9Lm?=
 =?us-ascii?Q?HuW2MdjQCjM1P4tn+yNOArGAJ1eIe99sgtjEYlUIbfvIuv1V1PY0V2FCH4s+?=
 =?us-ascii?Q?hacFRBonmMIo7TEJxXwyfKvWTxW+amZVIIaBCCRY9wb1OUKtJ/IB1vLImU2a?=
 =?us-ascii?Q?vf3nqaEyokohOM1PE3uf6KTNqjMhnBr/zF/cK5GKOOzcb4u36nUu+c0pgMCg?=
 =?us-ascii?Q?ClHWS5aCB/QzwKZNM+xhqvG2NwQvrW+RiSNkK6SY9/MC6UatNAZZAWjBI3/N?=
 =?us-ascii?Q?jBkligr/vuSg6VqNyto5Ro+QrOzAUTcL3iWwe4PSFXDxF9+eYABjuhce3Avh?=
 =?us-ascii?Q?BnadJ8F3q02vCgm3Tn50X9EMCDT7zsyPmfhscdSNUjXiAkh5EcfcpJCjnxH+?=
 =?us-ascii?Q?Cp0gwYtdHs/uT8PaCBTCVC0NTv2cj83XiY8WZdnz/ODQe7E8MmqLWEEKUTQ7?=
 =?us-ascii?Q?tvus6u7OpcR/IjuZpr1fLecuXxDVoXCfzE/0om1Q+TdHaQ4EjNGxdcp0ym8G?=
 =?us-ascii?Q?Q9DyA1rQOGoSD5xPEUoHfgGv+nPW70pj9eKnZcIAMkLSAlvYsT+4arwZgJuY?=
 =?us-ascii?Q?a6NynlQy+JmqwO3fuFTvl5UhJvu8SjFS0BkiaD0O4WeNF1ZmObYpsSEyBsB2?=
 =?us-ascii?Q?4iTHZnBeIXWtfy0GkzqL9cjq1xgs3thejOglZLF1Xhgaob9jn+sHWTCkh6iO?=
 =?us-ascii?Q?pLR3DR2bWwkvDzYl2wEiFQ7k1mDkOXtufgkP3TUXvHOLno7kVh479IGLhEom?=
 =?us-ascii?Q?478CcuX+o17KkCyD/94zlDzXQX+X3+ihxf87Y2A7lLJyRg7F1t2qEtr0W0g3?=
 =?us-ascii?Q?FUDeuc6HzNksJ7K4KtCPyjZHdPlEiohBUHxQMJdewcYPLs4CiSAQc95/3VKC?=
 =?us-ascii?Q?B5Gu2pZkv9e3Xz/KB4xfTOt6HkllR+EDUpYWUYud8EmdYYA7Ahm/74EQhBH7?=
 =?us-ascii?Q?ZRfDR9CWbGHxECZn05w+khUMi2QH7HbFCpEvWYwh7FDurR/4MwUAwv4zo9mH?=
 =?us-ascii?Q?UTIDHu1hJARTRl8m5P13WJlewCW/T5ejLs2K9H7AJHYLNJjIUOwK5hNat0ki?=
 =?us-ascii?Q?AXEilD9jlyk1bYIptT5ZqDnRzR+C3ZWzoYm6jnwV1d69Ue8OC73jgVazHuyl?=
 =?us-ascii?Q?rL1ZHG9BCEqpPpRCDmCIH/Htb+WA0VWi65G51ILlD5nkHnoZ+XdKRA=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(34020700016)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2025 18:03:40.9055
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ab7244cc-19ba-4514-3b60-08dd6fb5340d
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF0000449F.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7613

All the memory management specific registers are initialized in enable_mmu.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes from -

v1 - HTCR and HMAIR{0,1} are not set together with the other memory management
registers in enable_mmu()

Similar changes are to be done in arm64 as well. I prefer to do that in a
separate patch so that all the arm32 changes are kept together in this series.

v2 - Added Michal's R-b.

 xen/arch/arm/arm32/head.S     | 14 --------------
 xen/arch/arm/arm32/mmu/head.S | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 4ff5c220bc..50da179f81 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -218,20 +218,6 @@ cpu_init:
         add   pc, r1, r10                   /* Call paddr(init func) */
 
 cpu_init_done:
-        /* Set up memory attribute type tables */
-        mov_w r0, MAIR0VAL
-        mov_w r1, MAIR1VAL
-        mcr   CP32(r0, HMAIR0)
-        mcr   CP32(r1, HMAIR1)
-
-        /*
-         * Set up the HTCR:
-         * PT walks use Inner-Shareable accesses,
-         * PT walks are write-back, write-allocate in both cache levels,
-         * Full 32-bit address space goes through this table.
-         */
-        mov_w r0, (TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
-        mcr   CP32(r0, HTCR)
 
         mov_w r0, HSCTLR_SET
         mcr   CP32(r0, HSCTLR)
diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S
index 1e2bbf0c82..8fa74bd556 100644
--- a/xen/arch/arm/arm32/mmu/head.S
+++ b/xen/arch/arm/arm32/mmu/head.S
@@ -279,6 +279,21 @@ ENDPROC(create_page_tables)
 enable_mmu:
         PRINT("- Turning on paging -\r\n")
 
+        /* Set up memory attribute type tables */
+        mov_w r0, MAIR0VAL
+        mov_w r1, MAIR1VAL
+        mcr   CP32(r0, HMAIR0)
+        mcr   CP32(r1, HMAIR1)
+
+        /*
+         * Set up the HTCR:
+         * PT walks use Inner-Shareable accesses,
+         * PT walks are write-back, write-allocate in both cache levels,
+         * Full 32-bit address space goes through this table.
+         */
+        mov_w r0, (TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
+        mcr   CP32(r0, HTCR)
+
         /*
          * The state of the TLBs is unknown before turning on the MMU.
          * Flush them to avoid stale one.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 20:08:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 20:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931738.1333924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyyxZ-0008NK-KK; Sun, 30 Mar 2025 20:08:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931738.1333924; Sun, 30 Mar 2025 20:08: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 1tyyxZ-0008ND-Hp; Sun, 30 Mar 2025 20:08:45 +0000
Received: by outflank-mailman (input) for mailman id 931738;
 Sun, 30 Mar 2025 20:08: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=QTQ+=WR=desiato.srs.infradead.org=BATV+07442bf8be34e4cbe263+7889+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tyyxX-0008N5-6a
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 20:08:43 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c61896d1-0da2-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 22:08:41 +0200 (CEST)
Received: from [172.31.31.142] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.98.1 #2 (Red Hat Linux))
 id 1tyywj-00000006YOK-0o2k; Sun, 30 Mar 2025 20:07: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: c61896d1-0da2-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=S3gcKsBiQT1kzFJwB2tZ1/M+Cre0DyC/LdUvo66QFrU=; b=NyU9U1EaUuVnxvHkZUIJg+dn3Q
	iphTWNVHpmIirhtFC3wci7jMyQJ6sFBjLs2WOHYIXi0f4o4QQ/ZQZpXpFHypCCe0g7xehARLIw4rJ
	9hywBKQ+X5QIzeDy7XdLRb7oJMLGd6eGwnn8L9UdVS25PI7HvmfYZXX0deS0jR23UUeV3NXmsMApI
	+ehvnqOWluZv5G48sOrrTzaWFNF6Flk+KGoutnVO324SmPbDXHuS9VHmFgiueaXZrA1kPce1PujLI
	729y4032fWcrQ0zzXeu6qph/ZRJpP5MjljQWhhUukl0S2KbnhUEuIE3I2fmsmZ/D55zHl1FOSXb+6
	TjF7oIGw==;
Date: Sun, 30 Mar 2025 21:07:52 +0100
From: David Woodhouse <dwmw2@infradead.org>
To: linuxppc-dev@lists.ozlabs.org, "Michael S. Tsirkin" <mst@redhat.com>
CC: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>,
 mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>,
 Will Deacon <will@kernel.org>, Frank Rowand <frowand.list@gmail.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, boris.ostrovsky@oracle.com,
 jgross@suse.com, Christoph Hellwig <hch@lst.de>,
 Marek Szyprowski <m.szyprowski@samsung.com>, heikki.krogerus@linux.intel.com,
 peterz@infradead.org, benh@kernel.crashing.org, grant.likely@arm.com,
 paulus@samba.org, mingo@kernel.org, sstabellini@kernel.org,
 Saravana Kannan <saravanak@google.com>, xypron.glpk@gmx.de,
 "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
 Bartosz Golaszewski <bgolaszewski@baylibre.com>,
 xen-devel@lists.xenproject.org, Thierry Reding <treding@nvidia.com>,
 linux-devicetree <devicetree@vger.kernel.org>,
 Nicolas Boichat <drinkcat@chromium.org>,
 Dan Williams <dan.j.williams@intel.com>,
 Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 Greg KH <gregkh@linuxfoundation.org>, Randy Dunlap <rdunlap@infradead.org>,
 lkml <linux-kernel@vger.kernel.org>,
 "list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
 Jim Quinlan <james.quinlan@broadcom.com>,
 Robin Murphy <robin.murphy@arm.com>, hch@infradead.org,
 Jason Wang <jasowang@redhat.com>, Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
 =?ISO-8859-1?Q?Eugenio_P=E9rez?= <eperezma@redhat.com>,
 virtualization@lists.linux.dev, graf@amazon.de
Subject: Re: Using Restricted DMA for virtio-pci
User-Agent: K-9 Mail for Android
In-Reply-To: <20250330125637-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org> <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org> <20250321142947-mutt-send-email-mst@kernel.org> <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org> <8e7084b04e5c0456c0ff32ea131a199c6af763cd.camel@infradead.org> <20250330093532-mutt-send-email-mst@kernel.org> <09fc164ebcfd893ffd67d1b224d6e1c5e5772ee0.camel@infradead.org> <20250330125637-mutt-send-email-mst@kernel.org>
Message-ID: <2C097209-A7C1-4B0B-A505-3B32BE21505A@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 30 March 2025 17:59:13 BST, "Michael S=2E Tsirkin" <mst@redhat=2Ecom> wr=
ote:
>On Sun, Mar 30, 2025 at 04:07:56PM +0100, David Woodhouse wrote:
>> On Sun, 2025-03-30 at 09:42 -0400, Michael S=2E Tsirkin wrote:
>> > On Fri, Mar 28, 2025 at 05:40:41PM +0000, David Woodhouse wrote:
>> > > On Fri, 2025-03-21 at 18:42 +0000, David Woodhouse wrote:
>> > > > >=20
>> > > > > I don't mind as such (though I don't understand completely), bu=
t since
>> > > > > this is changing the device anyway, I am a bit confused why you=
 can't
>> > > > > just set the VIRTIO_F_ACCESS_PLATFORM feature bit?=C2=A0 This f=
orces DMA API
>> > > > > which will DTRT for you, will it not?
>> > > >=20
>> > > > That would be necessary but not sufficient=2E =2E=2E=2E
>> >=20
>> > could you explain pls?
>>=20
>> There was more to that in the previous email which I elided for this
>> followup=2E
>>=20
>> https://lore=2Ekernel=2Eorg/all/d1382a6ee959f22dc5f6628d8648af77f470241=
8=2Ecamel@infradead=2Eorg/
>>=20
>> > > My first cut at a proposed spec change looks something like this=2E=
 I'll
>> > > post it to the virtio-comment list once I've done some corporate
>> > > bureaucracy and when the list stops sending me python tracebacks in
>> > > response to my subscribe request=2E
>> >=20
>> > the linux foundation one does this? maybe poke at the admins=2E
>> >=20
>> > > In the meantime I'll hack up some QEMU and guest Linux driver suppo=
rt
>> > > to match=2E
>> > >=20
>> > > diff --git a/content=2Etex b/content=2Etex
>> > > index c17ffa6=2E=2E1e6e1d6 100644
>> > > --- a/content=2Etex
>> > > +++ b/content=2Etex
>> > > @@ -773,6 +773,9 @@ \chapter{Reserved Feature Bits}\label{sec:Reser=
ved Feature Bits}
>> > > =C2=A0Currently these device-independent feature bits are defined:
>> > > =C2=A0
>> > > =C2=A0\begin{description}
>> > > +=C2=A0 \item[VIRTIO_F_SWIOTLB (27)] This feature indicates that th=
e device
>> > > +=C2=A0 provides a memory region which is to be used for bounce buf=
fering,
>> > > +=C2=A0 rather than permitting direct memory access to system memor=
y=2E
>> > > =C2=A0=C2=A0 \item[VIRTIO_F_INDIRECT_DESC (28)] Negotiating this fe=
ature indicates
>> > > =C2=A0=C2=A0 that the driver can use descriptors with the VIRTQ_DES=
C_F_INDIRECT
>> > > =C2=A0=C2=A0 flag set, as described in \ref{sec:Basic Facilities of=
 a Virtio
>> > > @@ -885,6 +888,10 @@ \chapter{Reserved Feature Bits}\label{sec:Rese=
rved Feature Bits}
>> > > =C2=A0VIRTIO_F_ACCESS_PLATFORM is not offered, then a driver MUST p=
ass only physical
>> > > =C2=A0addresses to the device=2E
>> > > =C2=A0
>> > > +A driver SHOULD accept VIRTIO_F_SWIOTLB if it is offered, and it M=
UST
>> > > +then pass only addresses within the Software IOTLB bounce buffer t=
o the
>> > > +device=2E
>> > > +
>> > > =C2=A0A driver SHOULD accept VIRTIO_F_RING_PACKED if it is offered=
=2E
>> > > =C2=A0
>> > > =C2=A0A driver SHOULD accept VIRTIO_F_ORDER_PLATFORM if it is offer=
ed=2E
>> > > @@ -921,6 +928,10 @@ \chapter{Reserved Feature Bits}\label{sec:Rese=
rved Feature Bits}
>> > > =C2=A0A device MAY fail to operate further if VIRTIO_F_ACCESS_PLATF=
ORM is not
>> > > =C2=A0accepted=2E
>> > > =C2=A0
>> > > +A device MUST NOT offer VIRTIO_F_SWIOTLB if its transport does not
>> > > +provide a Software IOTLB bounce buffer=2E
>> > > +A device MAY fail to operate further if VIRTIO_F_SWIOTLB is not ac=
cepted=2E
>> > > +
>> > > =C2=A0If VIRTIO_F_IN_ORDER has been negotiated, a device MUST use
>> > > =C2=A0buffers in the same order in which they have been available=
=2E
>> > > =C2=A0
>> > > diff --git a/transport-pci=2Etex b/transport-pci=2Etex
>> > > index a5c6719=2E=2E23e0d57 100644
>> > > --- a/transport-pci=2Etex
>> > > +++ b/transport-pci=2Etex
>> > > @@ -129,6 +129,7 @@ \subsection{Virtio Structure PCI Capabilities}\=
label{sec:Virtio Transport Option
>> > > =C2=A0\item ISR Status
>> > > =C2=A0\item Device-specific configuration (optional)
>> > > =C2=A0\item PCI configuration access
>> > > +\item SWIOTLB bounce buffer
>> > > =C2=A0\end{itemize}
>> > > =C2=A0
>> > > =C2=A0Each structure can be mapped by a Base Address register (BAR)=
 belonging to
>> > > @@ -188,6 +189,8 @@ \subsection{Virtio Structure PCI Capabilities}\=
label{sec:Virtio Transport Option
>> > > =C2=A0#define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8
>> > > =C2=A0/* Vendor-specific data */
>> > > =C2=A0#define VIRTIO_PCI_CAP_VENDOR_CFG=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 9
>> > > +/* Software IOTLB bounce buffer */
>> > > +#define VIRTIO_PCI_CAP_SWIOTLB=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 10
>> > > =C2=A0\end{lstlisting}
>> > > =C2=A0
>> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Any other value is=
 reserved for future use=2E
>> > > @@ -744,6 +747,36 @@ \subsubsection{Vendor data capability}\label{s=
ec:Virtio
>> > > =C2=A0The driver MUST qualify the \field{vendor_id} before
>> > > =C2=A0interpreting or writing into the Vendor data capability=2E
>> > > =C2=A0
>> > > +\subsubsection{Software IOTLB bounce buffer capability}\label{sec:=
Virtio
>> > > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
>> > > +Software IOTLB bounce buffer capability}
>> > > +
>> > > +The optional Software IOTLB bounce buffer capability allows the
>> > > +device to provide a memory region which can be used by the driver
>> > > +driver for bounce buffering=2E This allows a device on the PCI
>> > > +transport to operate without DMA access to system memory addresses=
=2E
>> > > +
>> > > +The Software IOTLB region is referenced by the
>> > > +VIRTIO_PCI_CAP_SWIOTLB capability=2E Bus addresses within the refe=
renced
>> > > +range are not subject to the requirements of the VIRTIO_F_ORDER_PL=
ATFORM
>> > > +capability, if negotiated=2E
>> >=20
>> >=20
>> > why not? an optimization?
>> > A mix of swiotlb and system memory might be very challenging from POV
>> > of ordering=2E
>>=20
>> Conceptually, these addresses are *on* the PCI device=2E If the device =
is
>> accessing addresses which are local to it, they aren't subject to IOMMU
>> translation/filtering because they never even make it to the PCI bus as
>> memory transactions=2E
>>=20
>> >=20
>> > > +
>> > > +\devicenormative{\paragraph}{Software IOTLB bounce buffer capabili=
ty}{Virtio
>> > > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
>> > > +Software IOTLB bounce buffer capability}
>> > > +
>> > > +Devices which present the Software IOTLB bounce buffer capability
>> > > +SHOULD also offer the VIRTIO_F_SWIOTLB feature=2E
>> > > +
>> > > +\drivernormative{\paragraph}{Software IOTLB bounce buffer capabili=
ty}{Virtio
>> > > +Transport Options / Virtio Over PCI Bus / PCI Device Layout /
>> > > +Software IOTLB bounce buffer capability}
>> > > +
>> > > +The driver SHOULD use the offered buffer in preference to passing =
system
>> > > +memory addresses to the device=2E
>> >=20
>> > Even if not using VIRTIO_F_SWIOTLB? Is that really necessary?
>>=20
>> That part isn't strictly necessary, but I think it makes sense, for
>> cases where the SWIOTLB support is an *optimisation* even if it isn't
>> strictly necessary=2E
>>=20
>> Why might it be an "optimisation"? Well=2E=2E=2E if we're thinking of a=
 model
>> like pKVM where the VMM can't just arbitrarily access guest memory,
>> using the SWIOTLB is a simple way to avoid that (by using the on-board
>> memory instead, which *can* be shared with the VMM)=2E
>>=20
>> But if we want to go to extra lengths to support unenlightened guests,
>> an implementation might choose to just *disable* the memory protection
>> if the guest doesn't negotiate VIRTIO_F_SWIOTLB, instead of breaking
>> that guest=2E
>>=20
>> Or it might have a complicated emulation/snooping of virtqueues in the
>> trusted part of the hypervisor so that it knows which addresses the
>> guest has truly *asked* the VMM to access=2E (And yes, of course that's
>> what an IOMMU is for, but when have you seen hardware companies design
>> a two-stage IOMMU which supports actual PCI passthrough *and* get it
>> right for the hypervisor to 'snoop' on the stage1 page tables to
>> support emulated devices too=2E=2E=2E=2E)
>>=20
>> Ultimately I think it was natural to advertise the location of the
>> buffer with the VIRTIO_PCI_CAP_SWIOTLB capability and then to have the
>> separate VIRTIO_F_SWIOTLB for negotiation=2E=2E=2E leaving the obvious
>> question of what a device should do if it sees one but *not* the other=
=2E
>>=20
>> Obviously you can't have VIRTIO_F_SWIOTLB *without* there actually
>> being a buffer advertised with VIRTIO_PCI_CAP_SWIOTLB (or its
>> equivalent for other transports)=2E But the converse seemed reasonable =
as
>> a *hint* even if the use of the SWIOTLB isn't mandatory=2E
>
>OK but I feel it's more work than you think, so we really need
>a better reason than just "why not"=2E
>
>For example, it's not at all clear to me how the ordering is
>going to work if buffers are in memory but the ring is swiotlb
>or the reverse=2E Ordering will all be messed up=2E

Maybe=2E Although by the time the driver has *observed* the data written t=
o the swiotlb on the device's BAR, it has had to cross the same PCI bus=2E

But sure, we could require all-or-nothing=2E Or require that the SWIOTLB o=
nly be used if the driver negotiates VIRTIO_F_SWIOTLB=2E

Even in the latter case we can still allow for SWIOTLB to either be a requ=
irement or a hint, purely down to whether the device *allows* the driver no=
t to negotiate `VIRTIO_F_SWIOTLB`=2E



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 21:06:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 21:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931748.1333934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyzrb-0004TT-KE; Sun, 30 Mar 2025 21:06:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931748.1333934; Sun, 30 Mar 2025 21:06: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 1tyzrb-0004TM-HR; Sun, 30 Mar 2025 21:06:39 +0000
Received: by outflank-mailman (input) for mailman id 931748;
 Sun, 30 Mar 2025 21:06:38 +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 1tyzra-0004TG-7z
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 21:06:38 +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 1tyzrZ-000VPo-2e;
 Sun, 30 Mar 2025 21:06:37 +0000
Received: from [2a02:8012:3a1:0:51d5:4bad:16b9:5cff]
 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 1tyzrZ-00APBq-1w;
 Sun, 30 Mar 2025 21:06: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>
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=+DKOibKiZeXRiFS8ThBN+x1SsY/hT/+j62qwQilR/ZM=; b=y/sCMZZqjJoRdzI8w110fTRMwT
	i6Y9KMuqkFQZ3O1p1YYbSLTD30z39QeuIbKC5bEFj+C4AreO+L/hMZmsvCEMQxUo8/iEFD41CowOR
	wBEAHG/oexZyj9RUzBkiRjkB7AHwAqr992UvhbA0JdEf44PKAhgrtNIBIpvSwMOJXvQM=;
Message-ID: <4d57c061-ec16-4467-8bd1-08a40161ab0e@xen.org>
Date: Sun, 30 Mar 2025 22:06:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] xen/arm: Move some of the functions to common file
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 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: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
 <20250330180308.2551195-3-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250330180308.2551195-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 30/03/2025 19:03, Ayan Kumar Halder wrote:
> Added a new file prepare_xen_region.inc to hold the common earlyboot MPU regions
> configurations across arm64 and arm32.

While I understand the desire to consolidate the code, I am quite 
unconvinced this should be done for assembly code. A few examples below why.

I would be interested to hear the view of the other Arm maintainers.

> 
> prepare_xen_region, enable_boot_cpu, fail_insufficient_regions() will be used by
> both arm32 and arm64. Thus, they have been moved to prepare_xen_region.inc.
> 
> REGION_* are moved to arm64/sysregs.h. Introduced LOAD_SYSREG and STORE_SYSREG
> to read/write to the system registers from the common asm file. One could not
> reuse READ_SYSREG and WRITE_SYSREG as they have been defined to be invoked from
> C files.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from
> 
> v1 -
> 
> 1. enable_mpu() now sets HMAIR{0,1} registers. This is similar to what is
> being done in enable_mmu(). All the mm related configurations happen in this
> function.
> 
> 2. Fixed some typos.
> 
> v2 -
> 1. Extracted the arm64 head.S functions/macros in a common file.
> 
>   xen/arch/arm/arm64/mpu/head.S                 | 132 +-----------------
>   xen/arch/arm/include/asm/arm64/sysregs.h      |  15 ++
>   .../include/asm/mpu/prepare_xen_region.inc    | 128 +++++++++++++++++
>   3 files changed, 148 insertions(+), 127 deletions(-)
>   create mode 100644 xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
> 
> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
> index 4d00de4869..90b4c8c18f 100644
> --- a/xen/arch/arm/arm64/mpu/head.S
> +++ b/xen/arch/arm/arm64/mpu/head.S
> @@ -3,83 +3,7 @@
>    * Start-of-day code for an Armv8-R MPU system.
>    */
>   
> -#include <asm/early_printk.h>
> -#include <asm/mpu.h>
> -
> -/* Backgroud region enable/disable */
> -#define SCTLR_ELx_BR    BIT(17, UL)
> -
> -#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
> -#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
> -#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
> -#define REGION_DEVICE_PRBAR     0x22    /* SH=10 AP=00 XN=10 */
> -
> -#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
> -#define REGION_DEVICE_PRLAR     0x09    /* NS=0 ATTR=100 EN=1 */
> -
> -/*
> - * Macro to prepare and set a EL2 MPU memory region.
> - * We will also create an according MPU memory region entry, which
> - * is a structure of pr_t,  in table \prmap.
> - *
> - * sel:         region selector
> - * base:        reg storing base address
> - * limit:       reg storing limit address
> - * prbar:       store computed PRBAR_EL2 value
> - * prlar:       store computed PRLAR_EL2 value
> - * maxcount:    maximum number of EL2 regions supported
> - * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
> - *              REGION_DATA_PRBAR
> - * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
> - *              REGION_NORMAL_PRLAR
> - *
> - * Preserves \maxcount
> - * Output:
> - *  \sel: Next available region selector index.
> - * Clobbers \base, \limit, \prbar, \prlar
> - *
> - * Note that all parameters using registers should be distinct.
> - */
> -.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
> -    /* Check if the region is empty */
> -    cmp   \base, \limit
> -    beq   1f
> -
> -    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
> -    cmp   \sel, \maxcount
> -    bge   fail_insufficient_regions
> -
> -    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
> -    and   \base, \base, #MPU_REGION_MASK
> -    mov   \prbar, #\attr_prbar
> -    orr   \prbar, \prbar, \base
> -
> -    /* Limit address should be inclusive */
> -    sub   \limit, \limit, #1
> -    and   \limit, \limit, #MPU_REGION_MASK
> -    mov   \prlar, #\attr_prlar
> -    orr   \prlar, \prlar, \limit
> -
> -    msr   PRSELR_EL2, \sel
> -    isb
> -    msr   PRBAR_EL2, \prbar
> -    msr   PRLAR_EL2, \prlar
> -    dsb   sy
> -    isb
> -
> -    add   \sel, \sel, #1
> -
> -1:
> -.endm
> -
> -/*
> - * Failure caused due to insufficient MPU regions.
> - */
> -FUNC_LOCAL(fail_insufficient_regions)
> -    PRINT("- Selected MPU region is above the implemented number in MPUIR_EL2 -\r\n")
> -1:  wfe
> -    b   1b
> -END(fail_insufficient_regions)
> +#include <asm/mpu/prepare_xen_region.inc>
>   
>   /*
>    * Enable EL2 MPU and data cache
> @@ -108,62 +32,16 @@ END(enable_mpu)
>    * Maps the various sections of Xen (described in xen.lds.S) as different MPU
>    * regions.
>    *
> - * Clobbers x0 - x5
> + * Clobbers x0 - x6
>    *
>    */
>   FUNC(enable_boot_cpu_mm)
> -    /* Get the number of regions specified in MPUIR_EL2 */
> -    mrs   x5, MPUIR_EL2
> -    and   x5, x5, #NUM_MPU_REGIONS_MASK
> -
> -    /* x0: region sel */
> -    mov   x0, xzr
> -    /* Xen text section. */
> -    ldr   x1, =_stext
> -    ldr   x2, =_etext
> -    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_TEXT_PRBAR
> -
> -    /* Xen read-only data section. */
> -    ldr   x1, =_srodata
> -    ldr   x2, =_erodata
> -    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_RO_PRBAR
> -
> -    /* Xen read-only after init and data section. (RW data) */
> -    ldr   x1, =__ro_after_init_start
> -    ldr   x2, =__init_begin
> -    prepare_xen_region x0, x1, x2, x3, x4, x5
> -
> -    /* Xen code section. */
> -    ldr   x1, =__init_begin
> -    ldr   x2, =__init_data_begin
> -    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_TEXT_PRBAR
> -
> -    /* Xen data and BSS section. */
> -    ldr   x1, =__init_data_begin
> -    ldr   x2, =__bss_end
> -    prepare_xen_region x0, x1, x2, x3, x4, x5
> -
> -#ifdef CONFIG_EARLY_PRINTK
> -    /* Xen early UART section. */
> -    ldr   x1, =CONFIG_EARLY_UART_BASE_ADDRESS
> -    ldr   x2, =(CONFIG_EARLY_UART_BASE_ADDRESS + CONFIG_EARLY_UART_SIZE)
> -    prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
> -#endif
> -
> -    b    enable_mpu
> +    mov   x6, lr

Aside what I wrote above, why do we need to save/restore lr?

> +    enable_boot_cpu x0, x1, x2, x3, x4, x5
> +    mov   lr, x6
>       ret
>   END(enable_boot_cpu_mm)
>   
> -/*
> - * We don't yet support secondary CPUs bring-up. Implement a dummy helper to
> - * please the common code.
> - */
> -ENTRY(enable_secondary_cpu_mm)
> -    PRINT("- SMP not enabled yet -\r\n")
> -1:  wfe
> -    b 1b
> -ENDPROC(enable_secondary_cpu_mm)
> -
>   /*
>    * Local variables:
>    * mode: ASM
> diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
> index b593e4028b..9b833fe73b 100644
> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
> @@ -462,6 +462,19 @@
>   #define ZCR_ELx_LEN_SIZE             9
>   #define ZCR_ELx_LEN_MASK             0x1ff
>   
> +#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
> +#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
> +#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
> +#define REGION_DEVICE_PRBAR     0x22    /* SH=10 AP=00 XN=10 */

While those makes sense in sysreg.h because they are definition based on 
the Arm Arm. The definition for ...

> +
> +#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
> +#define REGION_DEVICE_PRLAR     0x09    /* NS=0 ATTR=100 EN=1 */

for PRLAR are specific to Xen. So I think they should be moved under 
mpu/. I would also consider *_PRBAR ones.

Also, are those values truely arm64 specific? Asking because you are 
using them in common code.

> +
> +#define STORE_SYSREG(v, name) "msr " __stringify(name,) #v;
> +#define LOAD_SYSREG(v, name) "mrs " #v __stringify(,) #name;
> +
> +#ifndef __ASSEMBLY__
> +
>   /* Access to system registers */
>   
>   #define WRITE_SYSREG64(v, name) do {                    \
> @@ -481,6 +494,8 @@
>   #define WRITE_SYSREG_LR(v, index)  WRITE_SYSREG(v, ICH_LR_REG(index))
>   #define READ_SYSREG_LR(index)      READ_SYSREG(ICH_LR_REG(index))
>   
> +#endif /* __ASSEMBLY__ */
> +
>   #endif /* _ASM_ARM_ARM64_SYSREGS_H */
>   
>   /*
> diff --git a/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc b/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
> new file mode 100644
> index 0000000000..3402ed23da
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
> @@ -0,0 +1,128 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <asm/sysregs.h>
> +#include <asm/mpu.h>
> +
> +/* Backgroud region enable/disable */
> +#define SCTLR_ELx_BR    BIT(17, UL)
> +
> +/*
> + * Macro to prepare and set a EL2 MPU memory region.
> + * We will also create an according MPU memory region entry, which
> + * is a structure of pr_t,  in table \prmap.
> + *
> + * sel:         region selector
> + * base:        reg storing base address
> + * limit:       reg storing limit address
> + * prbar:       store computed PRBAR_EL2 value
> + * prlar:       store computed PRLAR_EL2 value
> + * maxcount:    maximum number of EL2 regions supported
> + * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
> + *              REGION_DATA_PRBAR
> + * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
> + *              REGION_NORMAL_PRLAR
> + *
> + * Preserves maxcount
> + * Output:
> + *  sel: Next available region selector index.
> + * Clobbers base, limit, prbar, prlar
> + *
> + * Note that all parameters using registers should be distinct.
> + */
> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
> +    /* Check if the region is empty */
> +    cmp   \base, \limit
> +    beq   1f
> +
> +    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
> +    cmp   \sel, \maxcount
> +    bge   fail_insufficient_regions
> +
> +    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
> +    and   \base, \base, #MPU_REGION_MASK
> +    mov   \prbar, #\attr_prbar
> +    orr   \prbar, \prbar, \base
> +
> +    /* Limit address should be inclusive */
> +    sub   \limit, \limit, #1
> +    and   \limit, \limit, #MPU_REGION_MASK
> +    mov   \prlar, #\attr_prlar
> +    orr   \prlar, \prlar, \limit
> +
> +    STORE_SYSREG(\sel, PRSELR_EL2)
> +    isb
> +    STORE_SYSREG(\prbar, PRBAR_EL2)
> +    STORE_SYSREG(\prlar, PRLAR_EL2)
> +    dsb   sy
> +    isb
> +
> +    add   \sel, \sel, #1
> +
> +1:
> +.endm
> +
 > +.macro enable_boot_cpu, reg0, reg1, reg2, reg3, reg4, reg5

If we go this approach, this will need some documentation on top 
(similar to the other macro in this file).

> +    /* Get the number of regions specified in MPUIR_EL2 */
> +    LOAD_SYSREG(\reg5, MPUIR_EL2)
> +    and   \reg5, \reg5, #NUM_MPU_REGIONS_MASK
> +
> +    /* reg0: region sel */
> +    mov   \reg0, #0
> +    /* Xen text section. */
> +    ldr   \reg1, =_stext

For instance, on Arm32, this could be replaced with ``mov_w`` which is 
doesn't involve memory load.

> +    ldr   \reg2, =_etext
> +    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_TEXT_PRBAR
> +
> +    /* Xen read-only data section. */
> +    ldr   \reg1, =_srodata
> +    ldr   \reg2, =_erodata
> +    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_RO_PRBAR
> +
> +    /* Xen read-only after init and data section. (RW data) */
> +    ldr   \reg1, =__ro_after_init_start
> +    ldr   \reg2, =__init_begin
> +    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
> +
> +    /* Xen code section. */
> +    ldr   \reg1, =__init_begin
> +    ldr   \reg2, =__init_data_begin
> +    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_TEXT_PRBAR
> +
> +    /* Xen data and BSS section. */
> +    ldr   \reg1, =__init_data_begin
> +    ldr   \reg2, =__bss_end
> +    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
> +
> +#ifdef CONFIG_EARLY_PRINTK
> +    /* Xen early UART section. */
> +    ldr   \reg1, =CONFIG_EARLY_UART_BASE_ADDRESS
> +    ldr   \reg2, =(CONFIG_EARLY_UART_BASE_ADDRESS + CONFIG_EARLY_UART_SIZE)
> +    prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
> +#endif
> +
> +    bl    enable_mpu
> +.endm
> +
> +/* Failure caused due to insufficient MPU regions. */
> +FUNC_LOCAL(fail_insufficient_regions)
> +    PRINT("- Selected MPU region is above the implemented number in MPUIR_EL2 -\r\n")
> +1:  wfe
> +    b   1b
> +END(fail_insufficient_regions)
> +
> +/*
> + * We don't yet support secondary CPUs bring-up. Implement a dummy helper to
> + * please the common code.
> + */
> +ENTRY(enable_secondary_cpu_mm)

I really doubt we will be able to keep this function common in the future.

> +    PRINT("- SMP not enabled yet -\r\n")
> +1:  wfe
> +    b 1b
> +ENDPROC(enable_secondary_cpu_mm)
> +
> +/*
> + * Local variables:
> + * mode: ASM
> + * indent-tabs-mode: nil
> + * End:
> + */

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 21:07:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 21:07:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931760.1333945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyzss-00052k-0s; Sun, 30 Mar 2025 21:07:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931760.1333945; Sun, 30 Mar 2025 21:07: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 1tyzsr-00052d-UE; Sun, 30 Mar 2025 21:07:57 +0000
Received: by outflank-mailman (input) for mailman id 931760;
 Sun, 30 Mar 2025 21:07:56 +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 1tyzsq-00052V-Ub
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 21:07:56 +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 1tyzsq-000VR4-2J;
 Sun, 30 Mar 2025 21:07:56 +0000
Received: from [2a02:8012:3a1:0:51d5:4bad:16b9:5cff]
 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 1tyzsq-00APMO-1o;
 Sun, 30 Mar 2025 21:07: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=U0oXwGyaa2su5ku7euA5QjccO/6jwyhCWREBXzzNYeo=; b=cPEmmdTx+A9th+LR28aRod5Hkp
	dKFWEdcFZDQKjowU5A3H53XAnNocWcTOwveeyr4LwhGutfWrqDObSsKdelYZi/m0tBsVJbQBtxjXN
	ysqqU+UPQefhoQ95u/yOzGRCaLSF03/l4d1sQO62vE8E+LfY0/cTlB2ofwbU+RQl/crc=;
Message-ID: <bae05e96-7258-4722-9f41-41ac05b2bcdd@xen.org>
Date: Sun, 30 Mar 2025 22:07:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/5] xen/arm32: Allow ARM_PA_BITS_40 only if !MPU
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
 <20250330180308.2551195-5-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250330180308.2551195-5-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 30/03/2025 19:03, Ayan Kumar Halder wrote:
> From: Michal Orzel <michal.orzel@amd.com>
> 
> ArmV8-R AArch32 does not support LPAE. The reason being PMSAv8-32
> supports 32-bit physical address only.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 21:11:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 21:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931770.1333954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tyzwa-0007eI-FV; Sun, 30 Mar 2025 21:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931770.1333954; Sun, 30 Mar 2025 21:11: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 1tyzwa-0007eB-Cd; Sun, 30 Mar 2025 21:11:48 +0000
Received: by outflank-mailman (input) for mailman id 931770;
 Sun, 30 Mar 2025 21:11:47 +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 1tyzwZ-0007e5-Nw
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 21:11:47 +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 1tyzwZ-000VXK-18;
 Sun, 30 Mar 2025 21:11:47 +0000
Received: from [2a02:8012:3a1:0:51d5:4bad:16b9:5cff]
 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 1tyzwZ-00AQEL-0Z;
 Sun, 30 Mar 2025 21:11: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>
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=bsZOJ0EYeK7OFqcSGsTP22FtU7fVpMXfMkHhjmjMIVw=; b=lR8N2wwBrEwc+t31jMeb62/uEa
	hYLbDtf/Z+S1/sIg5OElgz2WGaWC4OJSJRKvu6vnqWIJ/229rMPoqEI7unMHpbctAD2VbLe6M55mz
	Eezc6z/zLK39LUmYBe0aQsb81nyyQDcxzHfTPju1M0ulKTG9US1P3urliu+sHvcUagcU=;
Message-ID: <6a767fe1-2d77-4cd4-9726-498fbb27ce87@xen.org>
Date: Sun, 30 Mar 2025 22:11:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/5] xen/arm32: mpu: Stubs to build MPU for arm32
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 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: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
 <20250330180308.2551195-6-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250330180308.2551195-6-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 30/03/2025 19:03, Ayan Kumar Halder wrote:
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from :-
> 
> v1, v2 -
> 1. New patch introduced in v3.
> 2. Should be applied on top of
> https://patchwork.kernel.org/project/xen-devel/cover/20250316192445.2376484-1-luca.fancellu@arm.com/
> 
>   xen/arch/arm/Kconfig             |  2 +-
>   xen/arch/arm/arm32/mpu/Makefile  |  2 ++
>   xen/arch/arm/arm32/mpu/p2m.c     | 18 ++++++++++++++++++
>   xen/arch/arm/arm32/mpu/smpboot.c | 23 +++++++++++++++++++++++
>   xen/arch/arm/include/asm/mm.h    |  5 +++++
>   5 files changed, 49 insertions(+), 1 deletion(-)
>   create mode 100644 xen/arch/arm/arm32/mpu/p2m.c
>   create mode 100644 xen/arch/arm/arm32/mpu/smpboot.c
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 565f288331..a1dd942091 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -1,7 +1,7 @@
>   config ARM_32
>   	def_bool y
>   	depends on "$(ARCH)" = "arm32"
> -	select ARCH_MAP_DOMAIN_PAGE
> +	select ARCH_MAP_DOMAIN_PAGE if MMU

If ARCH_MAP_DOMAIN_PAGE is not present, then the assumption is Xen will 
be able to access all the memory. Is this what we want long term?

If not, then I would consider providing stubs rather than disable 
ARCH_MAP_DOMAIN_PAGE.

>   
>   config ARM_64
>   	def_bool y
> diff --git a/xen/arch/arm/arm32/mpu/Makefile b/xen/arch/arm/arm32/mpu/Makefile
> index 3340058c08..38797f28af 100644
> --- a/xen/arch/arm/arm32/mpu/Makefile
> +++ b/xen/arch/arm/arm32/mpu/Makefile
> @@ -1 +1,3 @@
>   obj-y += head.o
> +obj-y += smpboot.o
> +obj-y += p2m.o
> diff --git a/xen/arch/arm/arm32/mpu/p2m.c b/xen/arch/arm/arm32/mpu/p2m.c
> new file mode 100644
> index 0000000000..df8de5c7d8
> --- /dev/null
> +++ b/xen/arch/arm/arm32/mpu/p2m.c
> @@ -0,0 +1,18 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/init.h>
> +#include <asm/p2m.h>
> +
> +void __init setup_virt_paging(void)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/arm32/mpu/smpboot.c b/xen/arch/arm/arm32/mpu/smpboot.c
> new file mode 100644
> index 0000000000..3f3e54294e
> --- /dev/null
> +++ b/xen/arch/arm/arm32/mpu/smpboot.c
> @@ -0,0 +1,23 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/mm.h>
> +
> +int prepare_secondary_mm(int cpu)
> +{
> +    BUG_ON("unimplemented");
> +    return -EINVAL;
> +}
> +
> +void update_boot_mapping(bool enable)
> +{
> +    BUG_ON("unimplemented");
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index fbffaccef4..a894e28ac9 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -171,12 +171,17 @@ struct page_info
>   #define PGC_need_scrub    PGC_allocated
>   
>   #ifdef CONFIG_ARM_32
> +#ifdef CONFIG_MPU
> +#define is_xen_heap_page(page) false
> +#define is_xen_heap_mfn(mfn) false

Can you clarify whether this is the intended implementation? If not then 
we can be use BUG_ON("unimplemented")?

Also...

> +#else
>   #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
>   #define is_xen_heap_mfn(mfn) ({                                 \
>       unsigned long mfn_ = mfn_x(mfn);                            \
>       (mfn_ >= mfn_x(directmap_mfn_start) &&                      \
>        mfn_ < mfn_x(directmap_mfn_end));                          \
>   })
> +#endif

... is the implementation will be similar to is_xen_heap_page() for MMU?

>   #else
>   #define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
>   #define is_xen_heap_mfn(mfn) \

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 21:27:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 21:27:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931780.1333965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz0BG-0001yF-LK; Sun, 30 Mar 2025 21:26:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931780.1333965; Sun, 30 Mar 2025 21: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 1tz0BG-0001y8-IO; Sun, 30 Mar 2025 21:26:58 +0000
Received: by outflank-mailman (input) for mailman id 931780;
 Sun, 30 Mar 2025 21:26:57 +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 1tz0BF-0001y2-T1
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 21:26:57 +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 1tz0BF-000Vri-0v;
 Sun, 30 Mar 2025 21:26:57 +0000
Received: from [2a02:8012:3a1:0:51d5:4bad:16b9:5cff]
 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 1tz0BF-00AS3J-0D;
 Sun, 30 Mar 2025 21:26: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>
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=t2sn3LfiVsPy6HvSXqswysKi/h2aNhRpYPZTzmzUous=; b=DCWXU6S/TGvLSrlz7/OhE5+Ets
	d+eodsov+tAgqviOby428AUhTWgSlqPmyJwz1qLGz5ymqlQuQ/UeGfll7ncoH5fnWfnj/m6yVq+zr
	KhhqmuvQOZHTl/vUsqQ7MrF2X9fhtfKwPJs2RYOGGUZVrH563onMjDZemeIto/0b0RZk=;
Message-ID: <b8f70df9-0004-4733-b73d-33dea2bc37cf@xen.org>
Date: Sun, 30 Mar 2025 22:26:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/5] xen/arm: ffa: Introduce VM to VM support
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "jens.wiklander@linaro.org" <jens.wiklander@linaro.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <8f0928b4e94b47d6fed201dcd8cfb1068573b297.1742824138.git.bertrand.marquis@arm.com>
 <338d8982-0a2e-4a40-a9a2-bed8f50d81e1@xen.org>
 <90051748-EA8A-4657-BCE1-EEDD1C4D080B@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <90051748-EA8A-4657-BCE1-EEDD1C4D080B@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 27/03/2025 08:25, Bertrand Marquis wrote:
>> On 27 Mar 2025, at 00:14, Julien Grall <julien@xen.org> wrote:
>>> +static int32_t ffa_get_sp_partinfo(uint32_t *uuid, uint32_t *sp_count,
>>> +                                   void *dst_buf, void *end_buf,
>>> +                                   uint32_t dst_size)
>>>   {
>>>       int32_t ret;
>>> +    uint32_t src_size, real_sp_count;
>>> +    void *src_buf = ffa_rx;
>>> +    uint32_t count = 0;
>>> +
>>> +    /* Do we have a RX buffer with the SPMC */
>>> +    if ( !ffa_rx )
>>> +        return FFA_RET_DENIED;
>>> +
>>> +    /* We need to use the RX buffer to receive the list */
>>> +    spin_lock(&ffa_rx_buffer_lock);
>>> +
>>> +    ret = ffa_partition_info_get(uuid, 0, &real_sp_count, &src_size);
>>> +    if ( ret )
>>> +        goto out;
>>> +
>>> +    /* We now own the RX buffer */
>>> +
>>> +    /* We only support a 1.1 firmware version */
>>> +    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
>>> +    {
>>> +        ret = FFA_RET_NOT_SUPPORTED;
>>> +        goto out_release;
>>> +    }
>>> +
>>> +    for ( uint32_t sp_num = 0; sp_num < real_sp_count; sp_num++ )
>>
>> What's the upper limit of real_sp_count? Asking just in case we need to handle preemption.
> 
> In theory that would be 32k but in practice the number of entries we can receive is
> limited by the size of the exchange area we have with the secure world.
> 
> This area is currently defined to be one page and each entry is 8 byte in the
> case where firmware is 1.0 (24 bytes otherwise).
> 
> This is an upper limit of 500 entries.
> 
> Now I do think this is completely unrealistic to imagine a secure world with 500 SPs
> so If you are ok I would rather define an upper limit in Xen (I would say 64 SPs) that
> can be changed in the code (through a define).
> 
> This call currently does not support preemption in the FF-A spec (and that is something
> i will check for future versions) so I would have no solution to "continue" it.

> Would the "define" solution be acceptable for now ?

I think the define solution is acceptable for now and possibly longer. 
It is an easy way to avoid dealing with preemption.

[...]


>>> +static uint32_t ffa_get_vm_count(void)
>>
>> Is this meant to be called often? If so, can we instead have a counter that will be incremented when the vTEE is first initialized and then decremented when the VM is destroyed?
> 
> As of now we could have a global counter that we increase or decrease
> when a domain version is negociated and when a domain is destroyed.
> 
> We could also have some kind of global save of the result to be returned
> to a guest.
> 
> But I did not do that because:
> - cpu time required to update the list would be taken out an FF-A call
> for FFA_VERSION of a VM which would require a global lock to protect
> the data

I would have thought an atomic counter would be sufficient. Is there 
anything you had in mind?

> - when we will have filtering the data will be per VM (which would make
> the initial update more complex)
> - incoming we have a notion of UUID and filtering depending on the
> requested UUID which will make the global value only useable in a
> limited number of cases.
> 
> I have 2 pending series on top of this one which would have to remove
> such optimisations.
> 
> At the end this is definitely not something supposed to call often (linux
> driver is calling it once during init).

I think it was a mistake for me to asked whether this is called often or 
not. When it comes to security, what matter is whether a malicious guest 
could indirectly call ffa_get_vm_count() and delay any work on the pCPU 
(Xen is not preemptible).

We don't have to resolve this now. But this will need to be addressed 
before we can we consider FFA security supported. So we should at least 
add it in the list of issue at the top of the file.

> 
>>
>>> +{
>>> +    struct domain *d = current->domain;
>>> +    struct domain *dom;
>>
>> NIT: "d" and "dom" are a bit too close. Could we rename "d" with "curr_d"?
> 
> i will go with curr_d dest_d to make this clearer.
> 
>>
>>> +    uint32_t vm_count = 0;
>>> +
>>> +    /* Count the number of VM with FF-A support */
>>
>> This comment implies this is including the current VM. But ...
>>
>>> +    rcu_read_lock(&domlist_read_lock);
>>> +    for_each_domain( dom )
>>> +    {
>>> +        struct ffa_ctx *vm = dom->arch.tee;
>>> +
>>> +        if ( dom != d && vm != NULL && vm->guest_vers != 0 )
>>
>> ... here you are excluding it. Also, it sounds like this is support by the OS rather than the VM itself. Is that correct?
> 
> I have a comment to explain that one in a different serie that i will put here.
 > > Basically before 1.2, the spec was a bit blurry on if or not the 
result should include the
> calling VM and in fact Linux driver (before 1.2) was ending with an error if its own data
> was included in the result hence this filter.

Thanks for the clarification. Just to clarify...

> 
> I will add a comment for that.

... will the comment be added in this patch?

> 
>>
>>> +            vm_count++;> +    }
>>> +    rcu_read_unlock(&domlist_read_lock);
>>> +> +    return vm_count;
>>
>> OOI, I guess this value is just used as an hint? Asking because the number of domains can change at any point.
> 
> Definitely yes. The data is what it is when called but anything could change after.
> 
> This is mostly used as hint by callers.

Does this mean we would always return a fixed number? Asking because 
this would solve nicely the preemption problem in ffa_get_vm_count().

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 21:28:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 21:28:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931789.1333975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz0Cn-0002US-V9; Sun, 30 Mar 2025 21:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931789.1333975; Sun, 30 Mar 2025 21: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 1tz0Cn-0002UL-SP; Sun, 30 Mar 2025 21:28:33 +0000
Received: by outflank-mailman (input) for mailman id 931789;
 Sun, 30 Mar 2025 21:28: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=QTQ+=WR=desiato.srs.infradead.org=BATV+07442bf8be34e4cbe263+7889+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tz0Cm-0002UB-8y
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 21:28:32 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecf78e7a-0dad-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 23:28:30 +0200 (CEST)
Received: from [172.31.31.142] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.98.1 #2 (Red Hat Linux))
 id 1tz0CE-00000006YmG-0vmx; Sun, 30 Mar 2025 21:27: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: ecf78e7a-0dad-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=HIpM9hYzjP/g9i1cY/OEycnx2DC+LjHysGz3lE5EyQg=; b=Q/hhRpyamRXibNzigh2wG8/crc
	ROYh6p8GREOUEHn5tPI/fG9G8DE4L8N1epcO9IHxApYf/rGNhQ3VmRGxA6UzdctKclKmGUTgNIzsC
	76m1acHpB5W5m9TMue6N9Qra6ijIlHpw8lJLREto9is2YXLk+ebNigSoN5LCAytBqNH9COzHnEqeH
	z1RG3qddVWELJ3MWgOm3zk7kzSlb42TVr24uisl6/2Gmh4Hjf4XnKxoRmOv+ohFZkgIi/mZunziCi
	icx4CajoRfo+cML2Jfz1BONBydD5a/3hHnRie4i4JSIt5cdyrz/xRYarmiddiPFVCBqgWkFiu7Oce
	KThu+WDA==;
Date: Sun, 30 Mar 2025 22:27:58 +0100
From: David Woodhouse <dwmw2@infradead.org>
To: linuxppc-dev@lists.ozlabs.org, "Michael S. Tsirkin" <mst@redhat.com>
CC: Claire Chang <tientzu@chromium.org>, Rob Herring <robh+dt@kernel.org>,
 mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>,
 Will Deacon <will@kernel.org>, Frank Rowand <frowand.list@gmail.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, boris.ostrovsky@oracle.com,
 jgross@suse.com, Christoph Hellwig <hch@lst.de>,
 Marek Szyprowski <m.szyprowski@samsung.com>, heikki.krogerus@linux.intel.com,
 peterz@infradead.org, benh@kernel.crashing.org, grant.likely@arm.com,
 paulus@samba.org, mingo@kernel.org, sstabellini@kernel.org,
 Saravana Kannan <saravanak@google.com>, xypron.glpk@gmx.de,
 "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
 Bartosz Golaszewski <bgolaszewski@baylibre.com>,
 xen-devel@lists.xenproject.org, Thierry Reding <treding@nvidia.com>,
 linux-devicetree <devicetree@vger.kernel.org>,
 Nicolas Boichat <drinkcat@chromium.org>,
 Dan Williams <dan.j.williams@intel.com>,
 Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 Greg KH <gregkh@linuxfoundation.org>, Randy Dunlap <rdunlap@infradead.org>,
 lkml <linux-kernel@vger.kernel.org>,
 "list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
 Jim Quinlan <james.quinlan@broadcom.com>,
 Robin Murphy <robin.murphy@arm.com>, hch@infradead.org,
 Jason Wang <jasowang@redhat.com>, Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
 =?ISO-8859-1?Q?Eugenio_P=E9rez?= <eperezma@redhat.com>,
 virtualization@lists.linux.dev, graf@amazon.de
Subject: Re: Using Restricted DMA for virtio-pci
User-Agent: K-9 Mail for Android
In-Reply-To: <20250330125929-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org> <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org> <20250321142947-mutt-send-email-mst@kernel.org> <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org> <20250330125929-mutt-send-email-mst@kernel.org>
Message-ID: <E3EE485D-AD74-457C-BDEC-F8C62DFE4909@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 30 March 2025 18:06:47 BST, "Michael S=2E Tsirkin" <mst@redhat=2Ecom> wr=
ote:
>> It's basically just allowing us to expose through PCI, what I believe
>> we can already do for virtio in DT=2E
>
>I am not saying I am against this extension=2E
>The idea to restrict DMA has a lot of merit outside pkvm=2E
>For example, with a physical devices, limiting its DMA
>to a fixed range can be good for security at a cost of
>an extra data copy=2E
>
>So I am not saying we have to block this specific hack=2E
>
>what worries me fundamentally is I am not sure it works well
>e=2Eg=2E for physical virtio cards=2E

Not sure why it doesn't work for physical cards=2E They don't need to be b=
us-mastering; they just take data from a buffer in their own RAM=2E

>Attempts to pass data between devices will now also require
>extra data copies=2E

Yes=2E I think that's acceptable, but if we really cared we could perhaps =
extend the capability to refer to a range inside a given BAR on a specific =
*device*? Or maybe just *function*, and allow sharing of SWIOTLB buffer wit=
hin a multi-function device?

I think it's overkill though=2E

>Did you think about adding an swiotlb mode to virtio-iommu at all?
>Much easier than parsing page tables=2E

Often the guests which need this will have a real IOMMU for the true pass-=
through devices=2E Adding a virtio-iommu into the mix (or any other system-=
wide way of doing something different for certain devices) is problematic=
=2E

The on-device buffer keeps it nice and simple, and even allows us to do de=
vice support for operating systems like Windows where it's a lot harder to =
do anything generic in the core OS=2E



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 21:38:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 21:38:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931800.1333984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz0MH-0005GK-OU; Sun, 30 Mar 2025 21:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931800.1333984; Sun, 30 Mar 2025 21:38: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 1tz0MH-0005GD-Ld; Sun, 30 Mar 2025 21:38:21 +0000
Received: by outflank-mailman (input) for mailman id 931800;
 Sun, 30 Mar 2025 21:38:20 +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 1tz0MG-0005G7-3D
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 21:38:20 +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 1tz0MF-000W6M-1g;
 Sun, 30 Mar 2025 21:38:19 +0000
Received: from [2a02:8012:3a1:0:51d5:4bad:16b9:5cff]
 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 1tz0MF-00ATV1-18;
 Sun, 30 Mar 2025 21:38: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>
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=cJyQTLDDdQqqF9KVwvNK4TW/cU9KPxuZA2l1TwsEATU=; b=zaxyHQQM5xPzgeU1jpZaspT0Rh
	JUdmD+exogPXqlipEP/vtc/TmmntSxjvahBk+QWpol2hY7mDiRZtq9dIM7ivgebFREqGxkuffhv5i
	tFm1EthEVSBU0352UZOW7ZYE4fhOgQP9aSAXbmF1NLupV+EOURGaVWpmlRWuqB6U7vSU=;
Message-ID: <504f5df7-4d23-4fbd-a15d-632262f2b685@xen.org>
Date: Sun, 30 Mar 2025 22:38:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 5/5] xen/arm: ffa: Enable VM to VM without firmware
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "jens.wiklander@linaro.org" <jens.wiklander@linaro.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1742824138.git.bertrand.marquis@arm.com>
 <0f5cf498c3c511ed192e8b7b7d0f4987e00e5c0d.1742824138.git.bertrand.marquis@arm.com>
 <6727ece4-d589-4ab4-9172-07dd6a7f2b44@xen.org>
 <8742853A-E32D-4BA5-AA4D-C69A2FCAEE85@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8742853A-E32D-4BA5-AA4D-C69A2FCAEE85@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 27/03/2025 08:37, Bertrand Marquis wrote:
>> On 27 Mar 2025, at 00:41, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> On 24/03/2025 13:53, Bertrand Marquis wrote:
>>> When VM to VM support is activated and there is no suitable FF-A support
>>> in the firmware, enable FF-A support for VMs to allow using it for VM to
>>> VM communications.
>>
>> tee/ and the callbacks associated are meant to be used for mediatiors. My current interpretation ist this is only meant to interpose between a guest and physical resources. Here you are extending the meaning to "virtual TEE". I am sort of ok with that but ...
> 
> I see what you mean but FF-A will not only be used to communicate with TEE (even if the primary use case right now is this one, including have it in a VM instead of the secure world).
 > >>
>>> If there is OP-TEE running in the secure world and using the non FF-A
>>> communication system, having CONFIG_FFA_VM_TO_VM could be non functional
>>> (if optee is probed first) or OP-TEE could be non functional (if FF-A is
>>> probed first) so it is not recommended to activate the configuration
>>> option for such systems.
>>
>> ... this part is concerning me. You should be able to build with CONFIG_FFA_VM_TO_VM and still boot when OP-TEE is present on the system. This is not too critical now as this is tech preview but this is definitely a blocker for making FFA supported. Can this be mentioned at the top of the ffa.c file (which already contains existing blocker)?
> 
> OP-TEE supports FF-A and in fact should be switched to using it by default as it allows it to run in parallel of other TEEs in the secure world or have FF-A compliant SPs running on top of OP-TEE.
> More and more you will see FF-A popping up as a recommended (or required) part of the firmware features.
> 
> So the only reason to use OP-TEE without FF-A is if you have an old OP-TEE in which case your firmware will not support FF-A and using it between VMs is probably not required.

Thanks for the clarification. I know we only support OP-TEE in Xen 
today, but do you know what will happen for the other TEEs? Will they 
adopt FF-A?

> 
>>
>> Also, given this would expose a fully virtual TEE, we should be able to have a system where you have some VMs talking FFA and some using the physical OPTEE (or another TEE). Whether we want to support it is a different question but this design would prevent it. Is this intended?
> 
> Right now i would say this is definitely not something we need as part of the tech preview as anybody using this feature in Xen would use an OP-TEE with FF-A support.
> But from Xen point of view, we should (if we can) support running on old systems with an existing OP-TEE but still use FF-A between VMs.
> This has some consequences on how the tee mediator and FF-A support is designed and I will definitely give it some thoughts (primary idea would be to decouple FF-A with secure as mediator to FF-A between VMs somehow).

I am not sure we need to decouple anything. Today, we can already 
specify the type of the TEE used by a given VM (see tee_type). But we 
are enforcing the TEE type match the one of the current mediator.

So what if we allow multiple mediator to run and when the domain is 
initialized we select the correct medatior/ops for the VM?

For simplification, we could even hardocode FF-A as the second mediator.

> 
> For the review side of things, am I right to understand from your comments that this ok for now as tech-preview ?

Yes I am happy with the approach for now.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 21:49:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 21:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931810.1333995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz0WY-00083V-Mb; Sun, 30 Mar 2025 21:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931810.1333995; Sun, 30 Mar 2025 21:48: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 1tz0WY-00083O-JD; Sun, 30 Mar 2025 21:48:58 +0000
Received: by outflank-mailman (input) for mailman id 931810;
 Sun, 30 Mar 2025 21:48: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=l0Nf=WR=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1tz0WW-00083H-Uc
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 21:48:56 +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 c59619f9-0db0-11f0-9ea7-5ba50f476ded;
 Sun, 30 Mar 2025 23:48:54 +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-53-H2BTUS6kOn-mesMisDLXzw-1; Sun, 30 Mar 2025 17:48:51 -0400
Received: by mail-wm1-f70.google.com with SMTP id
 5b1f17b1804b1-43cf3168b87so19826245e9.2
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 14:48:51 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d82e83477sm147882045e9.16.2025.03.30.14.48.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Mar 2025 14:48: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: c59619f9-0db0-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1743371332;
	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=MRkqFL3NXkPCwg+oa2kxw02pthB6mXCTdemECWhwX84=;
	b=hNpU6pONKodQd8M3EaFiv2hkW8z9T57xb8mKe/6fwQP4r2uOXMyqo/dfIt+nlnwHmtXVbq
	wQ1vehs87NGYy8Q7MT4LQCIlSRbjYF5CCA/r/K1EJJlhdTm8m3Hk+CthvJvXu8MncyODep
	UN7+vTARjHsksykNsg+mytaw1YWHr/o=
X-MC-Unique: H2BTUS6kOn-mesMisDLXzw-1
X-Mimecast-MFC-AGG-ID: H2BTUS6kOn-mesMisDLXzw_1743371330
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743371330; x=1743976130;
        h=in-reply-to: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=MRkqFL3NXkPCwg+oa2kxw02pthB6mXCTdemECWhwX84=;
        b=FLcVMYxtKR9IGArFfLkoxU7mrZtfW/LNkFamsSTbZGVDJxH454Nvu/DttDBn9SGr/C
         SY/ohQKVeAW4bq7YorXoaguxLUUIDozsZivGRh1zvGWhW0Ixp+jfrbDrsRe7laJuUqqs
         fsI6Zx251S0Guhd/RyWG4fCMkVrqnmcyOr3lFQJMpGY86fQMtpytPn64avqHg6uGTDlj
         fh4xurpFeiGUbFZdCeytkNyQfs+emCp2xaBvzcthHePeZes0vqG476u4e6pPqWC1v3mb
         DdduugULRtN2U2R6cjYZ18MDQnM8tUV7Zl5s9lEnC+hbAgOr+ccdQH/b/8UvHgKC979m
         LnrA==
X-Forwarded-Encrypted: i=1; AJvYcCUvs4py+BDx2xggiY7ydTuQXPAesiVNnhTC0mkeljKjlWO+CDER5Tky0pXoi8wR3DPrAo2FztMcIj0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyPhCbGhmMGMKvUaVpvmBfiWiMdxO2EqYPcJQkWqS6Xholz0kB8
	eTAMnyZuSdG/3sLHNbM5pQdYIhhGAEnTm80LJ4xENE7iMVip8IrnHyh03d9YO455vRE+H2Y2bTM
	HO+aNRhMSh9H4X6QAc/uefdNOY6rPiGzmiZsEVQrXcOkbpVdesizw9QvXPYJAp9b7
X-Gm-Gg: ASbGnctRNHqIpQHXopotzqZav+VAkjU8MSImfK53XzIIPMMlXMKEsGycn4xpNPn7B5X
	2GBHfCnGwA89FVXMlo+Ukv5ctx3D7XolGhwYENQ8V9ChSqao7s6mZ2JZ2NxWkmiTsIKXVLnivwU
	COUKb1thTnHtD/SfMtvHUyo8mcG6AvTz/CHcdADMOWAkE9El3NNfzEOKEL5q8K2StPWOtJxKeS9
	9QWOa9S1VMEzd5dAqEMFMd6ngjKEHvsPg1TJGDYD0wB1kfX+J5lKCyOWKx5khDBV3OBBC31gbdr
	hhjwioBUWg==
X-Received: by 2002:a05:600c:1d8c:b0:43c:f050:fee8 with SMTP id 5b1f17b1804b1-43db628992cmr52509345e9.20.1743371329774;
        Sun, 30 Mar 2025 14:48:49 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH1kdHHR/M4aOUOFDnZpG/iLLAoqQlqVBS2836/4CKe19RX2SyJrF+xilFjC/1QxsrymXzr6Q==
X-Received: by 2002:a05:600c:1d8c:b0:43c:f050:fee8 with SMTP id 5b1f17b1804b1-43db628992cmr52509055e9.20.1743371329422;
        Sun, 30 Mar 2025 14:48:49 -0700 (PDT)
Date: Sun, 30 Mar 2025 17:48:42 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: linuxppc-dev@lists.ozlabs.org, Claire Chang <tientzu@chromium.org>,
	Rob Herring <robh+dt@kernel.org>, mpe@ellerman.id.au,
	Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	boris.ostrovsky@oracle.com, jgross@suse.com,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	heikki.krogerus@linux.intel.com, peterz@infradead.org,
	benh@kernel.crashing.org, grant.likely@arm.com, paulus@samba.org,
	mingo@kernel.org, sstabellini@kernel.org,
	Saravana Kannan <saravanak@google.com>, xypron.glpk@gmx.de,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	xen-devel@lists.xenproject.org, Thierry Reding <treding@nvidia.com>,
	linux-devicetree <devicetree@vger.kernel.org>,
	Nicolas Boichat <drinkcat@chromium.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	lkml <linux-kernel@vger.kernel.org>,
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
	Jim Quinlan <james.quinlan@broadcom.com>,
	Robin Murphy <robin.murphy@arm.com>, hch@infradead.org,
	Jason Wang <jasowang@redhat.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Eugenio =?iso-8859-1?Q?P=E9rez?= <eperezma@redhat.com>,
	virtualization@lists.linux.dev, graf@amazon.de
Subject: Re: Using Restricted DMA for virtio-pci
Message-ID: <20250330173951-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
 <20250321142947-mutt-send-email-mst@kernel.org>
 <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
 <20250330125929-mutt-send-email-mst@kernel.org>
 <E3EE485D-AD74-457C-BDEC-F8C62DFE4909@infradead.org>
MIME-Version: 1.0
In-Reply-To: <E3EE485D-AD74-457C-BDEC-F8C62DFE4909@infradead.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: MrkAnU6tI2ARhHnQ6F8QvtoNufxFrx7_caHWlPnGv6Q_1743371330
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sun, Mar 30, 2025 at 10:27:58PM +0100, David Woodhouse wrote:
> On 30 March 2025 18:06:47 BST, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >> It's basically just allowing us to expose through PCI, what I believe
> >> we can already do for virtio in DT.
> >
> >I am not saying I am against this extension.
> >The idea to restrict DMA has a lot of merit outside pkvm.
> >For example, with a physical devices, limiting its DMA
> >to a fixed range can be good for security at a cost of
> >an extra data copy.
> >
> >So I am not saying we have to block this specific hack.
> >
> >what worries me fundamentally is I am not sure it works well
> >e.g. for physical virtio cards.
> 
> Not sure why it doesn't work for physical cards. They don't need to be bus-mastering; they just take data from a buffer in their own RAM.

I mean, it kind of does, it is just that CPU pulling data over the PCI bus
stalls it so is very expensive. It is not by chance people switched to
DMA almost exclusively.


> >Attempts to pass data between devices will now also require
> >extra data copies.
> 
> Yes. I think that's acceptable, but if we really cared we could perhaps extend the capability to refer to a range inside a given BAR on a specific *device*? Or maybe just *function*, and allow sharing of SWIOTLB buffer within a multi-function device?

Fundamentally, this is what dmabuf does.

> I think it's overkill though.
> 
> >Did you think about adding an swiotlb mode to virtio-iommu at all?
> >Much easier than parsing page tables.
> 
> Often the guests which need this will have a real IOMMU for the true
> pass-through devices.

Not sure I understand. You mean with things like stage 2 passthrough?

> Adding a virtio-iommu into the mix (or any other
> system-wide way of doing something different for certain devices) is
> problematic.

OK... but the issue isn't specific to no DMA devices, is it?


> The on-device buffer keeps it nice and simple,

I am not saying it is not.
It's just a little boutique.

> and even allows us to
> do device support for operating systems like Windows where it's a lot
> harder to do anything generic in the core OS.

Well we do need virtio iommu windows support sooner or later, anyway.

-- 
MST



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 22:00:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 22:00:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931823.1334004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz0hF-0002fi-Pj; Sun, 30 Mar 2025 22:00:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931823.1334004; Sun, 30 Mar 2025 22:00: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 1tz0hF-0002f9-Mj; Sun, 30 Mar 2025 22:00:01 +0000
Received: by outflank-mailman (input) for mailman id 931823;
 Sun, 30 Mar 2025 22:00:01 +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 1tz0hF-0002XI-4B
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 22:00:01 +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 1tz0hD-000WXs-1e;
 Sun, 30 Mar 2025 21:59:59 +0000
Received: from [2a02:8012:3a1:0:51d5:4bad:16b9:5cff]
 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 1tz0hD-00AW29-0z;
 Sun, 30 Mar 2025 21:59: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>
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=t7p4rh3pV01dTLtrBZcmMrQoP0cmtVFiiVXoWGxmV2c=; b=SzwCT11UNUAWKg5sIhZ41Rpn2I
	Np3yHdsMS51xjKeejOQRhxKUDQUHw1C/V5GbA16ce6+bSfHiiDvjdHP2A9GBo+6+63+x/xxpkM5k2
	PXn9tbqcfBg1s4PZ25cVvUuDF1OGnLlC7Wejl1V7eLzHGCi/CVPOsYo8UumHxQp2n9w0=;
Message-ID: <346fadbb-deff-4403-88d7-b77b7002f913@xen.org>
Date: Sun, 30 Mar 2025 22:59:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v18 1/2] xen/arm: translate virtual PCI bus topology for
 guests
Content-Language: en-GB
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jiqian Chen <Jiqian.Chen@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
References: <20250325172727.600716-1-stewart.hildebrand@amd.com>
 <20250325172727.600716-2-stewart.hildebrand@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250325172727.600716-2-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stewart,

I realize this series is at v18, but there are a few bits security-wise 
that concerns me. They don't have to be handled now because vPCI is 
still in tech preview. But we probably want to keep track of any issues 
if this hasn't yet been done in the code.

On 25/03/2025 17:27, Stewart Hildebrand wrote:
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 1e6aa5d799b9..49c9444195d7 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -81,6 +81,32 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
>       return 0;
>   }
>   
> +/*
> + * Find the physical device which is mapped to the virtual device
> + * and translate virtual SBDF to the physical one.
> + */
> +bool vpci_translate_virtual_device(struct domain *d, pci_sbdf_t *sbdf)
> +{
> +    const struct pci_dev *pdev;
> +
> +    ASSERT(!is_hardware_domain(d));
> +    read_lock(&d->pci_lock);
> +
> +    for_each_pdev ( d, pdev )

I can't remember whether this was discussed before (there is no 
indication in the commit message). What's the maximum number of PCI 
devices supported? Do we limit it?

Asking because iterating through the list could end up to be quite 
expensive.

Also, not a change for this patch, but it seems vcpi_{read,write} will 
also do another lookup. This is quite innefficient. We should consider 
return a pdev and use it for vcpi_{read,write}.

> +    {
> +        if ( pdev->vpci && (pdev->vpci->guest_sbdf.sbdf == sbdf->sbdf) )
> +        {
> +            /* Replace guest SBDF with the physical one. */
> +            *sbdf = pdev->sbdf;
> +            read_unlock(&d->pci_lock);
> +            return true;
> +        }
> +    }
> +
> +    read_unlock(&d->pci_lock);

At the point this is unlocked, what prevent the sbdf to be detached from 
the domain? If nothing, would this mean the domain can access something 
it should not?

 > +    return false;> +}
> +
>   #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
>   
>   void vpci_deassign_device(struct pci_dev *pdev)
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index 807401b2eaa2..e355329913ef 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -311,6 +311,18 @@ static inline int __must_check vpci_reset_device(struct pci_dev *pdev)
>       return vpci_assign_device(pdev);
>   }
>   
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +bool vpci_translate_virtual_device(struct domain *d, pci_sbdf_t *sbdf);
> +#else
> +static inline bool vpci_translate_virtual_device(struct domain *d,
> +                                                 pci_sbdf_t *sbdf)
> +{
> +    ASSERT_UNREACHABLE();
> +
> +    return false;
> +}
> +#endif
> +
>   #endif
>   
>   /*

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Mar 30 22:08:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Mar 2025 22:08:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931833.1334016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz0pQ-0005TC-JY; Sun, 30 Mar 2025 22:08:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931833.1334016; Sun, 30 Mar 2025 22: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 1tz0pQ-0005T5-FW; Sun, 30 Mar 2025 22:08:28 +0000
Received: by outflank-mailman (input) for mailman id 931833;
 Sun, 30 Mar 2025 22:08:27 +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 1tz0pP-0005Sz-8E
 for xen-devel@lists.xenproject.org; Sun, 30 Mar 2025 22:08:27 +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 1tz0pO-000Wo1-21;
 Sun, 30 Mar 2025 22:08:26 +0000
Received: from [2a02:8012:3a1:0:51d5:4bad:16b9:5cff]
 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 1tz0pO-00AX2r-1J;
 Sun, 30 Mar 2025 22:08: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>
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=5ApVMM7/7eXOCKmkZLdnTIgDIMf4d5sJTEufyKzl6sk=; b=bhDqpv0f99mtywnfoAqm8aEZU6
	8zl409mGOSjxff+2dHgXlWUEM8C+ak5ShmIaBcKpPTW13FGjlf5USssABnm42OvTDvcHBgZEWev1D
	RwauGUaUDAlkYtQNS+OlID6FYeHJHztBrEyjsBsk/Ie4M1ozH5jErnPMQDTSY50HzXZE=;
Message-ID: <bfe213a6-9dd8-4ac9-9552-46090517e224@xen.org>
Date: Sun, 30 Mar 2025 23:08:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v18 2/2] xen/arm: check read handler behavior
Content-Language: en-GB
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20250325172727.600716-1-stewart.hildebrand@amd.com>
 <20250325172727.600716-3-stewart.hildebrand@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20250325172727.600716-3-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Steward,

On 25/03/2025 17:27, Stewart Hildebrand wrote:
> We expect mmio read handlers to leave the bits above the access size
> zeroed. Add an ASSERT to check this aspect of read handler behavior.
> 
> Suggested-by: Roger Pau MonnĂŠ <roger.pau@citrix.com>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

With one question below:

Acked-by: Julien Grall <jgrall@amazon.com>

> ---
> v17->v18:
> * no change
> 
> v16->v17:
> * new patch
> 
> See https://lore.kernel.org/xen-devel/bc6660ef-59f1-4514-9792-067d987e3fbc@xen.org/
> 
> Also see 7db7bd0f319f ("arm/vpci: honor access size when returning an error")
> 
> Also see xen/arch/arm/ioreq.c:handle_ioserv()
> ---
>   xen/arch/arm/io.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 653428e16c1f..68b5dca70026 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -37,6 +37,8 @@ static enum io_state handle_read(const struct mmio_handler *handler,
>       if ( !handler->ops->read(v, info, &r, handler->priv) )
>           return IO_ABORT;
>   
> +    ASSERT((r & ~GENMASK_ULL((1U << info->dabt.size) * 8 - 1, 0)) == 0);

OOI, I was expecing GENMASK to be sufficient because "r" is effectively 
an "unsigned long". So any reason to use GENMASK_ULL?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:29:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:29:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931846.1334028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz8eK-0001jv-7t; Mon, 31 Mar 2025 06:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931846.1334028; Mon, 31 Mar 2025 06:29: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 1tz8eK-0001jf-2A; Mon, 31 Mar 2025 06:29:32 +0000
Received: by outflank-mailman (input) for mailman id 931846;
 Mon, 31 Mar 2025 06:29: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz8eI-0001jV-GB
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:29:30 +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 7fce390d-0df9-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 08:29:29 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-39149bccb69so3661567f8f.2
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:29: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-39c0b7a8e0asm10299314f8f.101.2025.03.30.23.29.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:29: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: 7fce390d-0df9-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743402568; x=1744007368; 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=oABVh54A14l7o1LdZp0sV58oiI+DfYyg+Z8CR3uZOyA=;
        b=AmsCnDrOa9vo0LaiN7uxDDv19w5zOHVMqQ93dcVy4yo5LIwRd96ZPaHLIjCbnQkJm9
         uBCGqGnnNMDOyr1IGOBVfvCVhMrbNp0pir+jfs+An/XbpEhyPj05qOglt07c5S+BMSZi
         rdOyIgnDToh8Eg67wTBOEP0JH/Swp9nF9SaWIKzEQMEuFdtCDdv6JINoa7Fe3xxSSd+B
         hqWWAxm8Gdk2zXDlBPc7/NfmQg27vdZlLh0xlNHl559P/jCN/osfvg4nyNmuPxTgM9Jq
         VfkCVbvg3OUwF6SHJneQNHFVfrAPt4r4zHSFq+SQoysg8TreO6I+Om3hCT2WtRyKiZu/
         Zwng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743402568; x=1744007368;
        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=oABVh54A14l7o1LdZp0sV58oiI+DfYyg+Z8CR3uZOyA=;
        b=TiPYNgtap4okvSrdwmg4aMssO+7NkVdx+yuwTBNSXCNYeg0DIkViyp07E/lOaI+rHb
         Qd6yHSHGD509dYl23KFZtu/DS8FLmz8SQAwm4fMQ0o7kKcgJUfirg2R3810M/DJPRyri
         Etm2YvgdXX0CsdT3UkbOgQk2p+L8SWMSNhJxfLWLTAH/RZ+M+3ZMv6vWKk+Xtdqe0e4j
         tx6e5SdTgQluu84WdDT9sz4usvWXsPBc2b4mo3BiCSh63TetwDb/vdVylJ9UJyu8cc9t
         6UxyQDqMVt+WLmMIiOuQi4rVWZBj2rZ2qeBhtxZ36BLlDlyllrAYUuY7Lzpiv9iAO8Hw
         7D7A==
X-Gm-Message-State: AOJu0YwL3xRyOEQqP7V8iOrUSc0a5nyR6WUcPLWT7gh3qAjMacNXnvy8
	D0Ge/JnG4kGvdO8IhXxp9/EQ2MrihnfTE+GD/joIugirSJ6rwZz7EJyQSLIgVQ==
X-Gm-Gg: ASbGnct1COBYYifEAd6LsKDbaZ4vPLejUXVPxNIP+UvY+ji1nATk3/GmMp3DQcpdkIU
	n8xfvA0RwzuAR716STRIaRbU4vX8saoVQQ4PC27/wbUPO2Ob1KIdLVlcGFtz4oVDCl31iSbBDHV
	lE4oi2IJ5rV2N19Q46qrtfKNWdi8w2fv4zwQfuddA9oWJZKMoQ7r2wx7ty6XZrBkJAENJx+ImPC
	D5MHAaIGIqXtw5YiO2weXYIX8miN3ZgBwR2YhZhZa1oZS3a7rM2SNZEyJlCW33yAtyq73fOZmsP
	Nbgh47A+0gscR97C56RxHtLtXhG/TmEwrdcibhwLxTJZp/Nuu4k4f1/zNReQAaPLT/ZmLBGEz5W
	7k3FjR5AeVDHacoKbSsffDMeuWRyvCQ==
X-Google-Smtp-Source: AGHT+IE3QI9e9UfnPngEyL8Lih3wQtuImcrcOwfFqX/iKgKkrbTO5ybfZulHXKDi9moRCfrWV7CGtQ==
X-Received: by 2002:a05:6000:400c:b0:38f:6287:6474 with SMTP id ffacd0b85a97d-39c120dee53mr5402086f8f.15.1743402568585;
        Sun, 30 Mar 2025 23:29:28 -0700 (PDT)
Message-ID: <6b3c3baa-331c-44fa-9085-9b0bf72c62a1@suse.com>
Date: Mon, 31 Mar 2025 08:29:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 01/19] xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
To: Stefano Stabellini <sstabellini@kernel.org>,
 Penny Zheng <Penny.Zheng@amd.com>
Cc: xen-devel@lists.xenproject.org, ray.huang@amd.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>
References: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-2-Penny.Zheng@amd.com>
 <alpine.DEB.2.22.394.2503281655590.563920@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.2503281655590.563920@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2025 00:56, Stefano Stabellini wrote:
> On Wed, 26 Mar 2025, Penny Zheng wrote:
>> We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the functionally
>> equivalent "if !...") in Kconfig file, since negative dependancy will badly
>> affect allyesconfig.
>> This commit is based on "x86: provide an inverted Kconfig control for
>> shim-exclusive mode"[1]
>>
>> [1] https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Where's this coming from, if I may ask?

>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
>> ---
>>  xen/arch/x86/Kconfig      | 6 ++----
>>  xen/arch/x86/hvm/Kconfig  | 1 -
>>  xen/drivers/video/Kconfig | 4 ++--
>>  3 files changed, 4 insertions(+), 7 deletions(-)
>>
>> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
>> index 18efdb2e31..1e5df84b25 100644
>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -137,7 +137,6 @@ config XEN_IBT
>>  
>>  config SHADOW_PAGING
>>  	bool "Shadow Paging"
>> -	default !PV_SHIM_EXCLUSIVE
>>  	depends on PV || HVM
>>  	help
>>  
>> @@ -169,7 +168,6 @@ config BIGMEM
>>  config TBOOT
>>  	bool "Xen tboot support (UNSUPPORTED)"
>>  	depends on INTEL && UNSUPPORTED
>> -	default !PV_SHIM_EXCLUSIVE
>>  	select CRYPTO
>>  	help
>>  	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
>> @@ -279,10 +277,11 @@ config PV_SHIM_EXCLUSIVE
>>  	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
>>  	  option is only intended for use when building a dedicated PV Shim
>>  	  firmware, and will not function correctly in other scenarios.
>> +	  Features, like tboot, shadow page, VGA, HVM, Hyper-V Guest, etc,
>> +	  are unavailable in shim-exclusive mode.
> 
> I don't know if we want to add these two lines or not. Either way:
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

I don't think we should add that. It's also wrong for shadow in the first
place (where it was a default only anyway, not a dependency).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:33:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931855.1334037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz8iB-0004Dl-Kn; Mon, 31 Mar 2025 06:33:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931855.1334037; Mon, 31 Mar 2025 06:33: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 1tz8iB-0004De-I6; Mon, 31 Mar 2025 06:33:31 +0000
Received: by outflank-mailman (input) for mailman id 931855;
 Mon, 31 Mar 2025 06:33: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz8iA-0004DW-3o
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:33:30 +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 0e388f98-0dfa-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 08:33:28 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43d2d952eb1so27413135e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:33: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-43d82dede5csm158920635e9.8.2025.03.30.23.33.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:33: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: 0e388f98-0dfa-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743402807; x=1744007607; 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=cD+3FWHbgj6aXhi2nNpGHVFwuiiVLpjEYQ/gFvgRRYg=;
        b=K1nJS1KkeqXrmov8ZWJeD3nZOhUxeLqP1beMPmFUF6WnMBh6pa8n2ABzag8pGnE/2I
         hn2DeHZfy1g5GtBZoSww0XZ7buRyIVD5vkm+89LvMpLAnS53jhfFMTv44vLcszJly74G
         fAMRpsjOFs2pTX7AOz/IuDcnK0Q4BwJYX7jzCm1vm1SNM/XBMdBQTa5yDwfVKERwA5JD
         HEOxJ4gJIVfZeSRr6xhRhCfoQDLRzjqKty+DebqwF/8+sD4Hx2U4bPL1q5+mhOMEhklS
         pVlMSQRxQdH/PvX0Onk2tdTdxIMAwtg7/dkZ5O6baIfpvluW4aSoLm3NDLWcoB9NRPdy
         AaDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743402807; x=1744007607;
        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=cD+3FWHbgj6aXhi2nNpGHVFwuiiVLpjEYQ/gFvgRRYg=;
        b=SfX+UmpNumCU7zwyPLtRqHO5fntzHrBmDjPjTEHJjeMKHODi1XJO4RsMmAVte/fZsC
         kLGpidTxJIv21CVylxXNjSy6Ui7Y6RPT3NKgN04DqOcOUKdTIkmuxngyqDUSAADOFBPj
         NYK+F8Sx1uOSwoIpgH8M59zqpk1y72LmGv7elsxYf2vBi0/1yebJ1cR+o/0uGbWHyC/E
         3QHQGsx+0nYItte7cgtG7XAhG6KvKVDJIQi5yj9s3mWKLujHyO7GXuC8i1Fb09p7f3TT
         eF+x6jCD6kEMkAKgExkuEr7kH+/AHck0kj04UWyOUdTY5ijUVAP82qt+w5l4WlCFutMl
         UNIQ==
X-Forwarded-Encrypted: i=1; AJvYcCW6AFWk3Fh6mh6LZByhuK0LAbW4ViZEu8bJfrq989A6mxN9GPNKD3SFkybDDTGcmw5tOmTKw8Z4GLA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpW+un3qnxi12IoV2/SsXnq5stAGOr+Cu6x4jexc+SOe8LMR27
	DFkFZzhJVVi2d4tRnwdf35QmW4x6PLuhe7VssK5HJFkG1NxR7i7hVx9Yys8HbQ==
X-Gm-Gg: ASbGncspkZ/ABs5NSf9rCw6Mq/jlbj6p0IisYtmtTTfS54v/J+hVdd/yOjS8DDQLqWM
	LhD0gQ3/Cmv6ZtTxFgjvD73NcqX8k0NXY59JsjoYs09XeDZodlqhsjqpvlQPGdXoBf4reuLlBQP
	JwNRG2sm0KVyok0uVpQ56y7LcCvy3Fp+3PgMecvU5uXHJXuFI+bZeLlPaK2EZNMjjBiDzU9jrHM
	i50u9TMVqqv/yxiCPgKO1d3TmAn+N2tlJbKOeLqLjmWRtOG0XcnqOp65gXbiejoh3GfntL3wRW/
	PjiuqF+qCOGdcHScvI5wQKIAQbifm7uQf2TIHJclgURGdxNB58hr6AZYYf3oTaS06PlIUM790Ub
	xUC9DBXMbnErnVOu3GAxuGB0qh1veHw==
X-Google-Smtp-Source: AGHT+IFVVVLnwzUrzIBwPxRpVlCMLrFuw/j/tWEnUDevU89HIajLS7PYauyBZk+mEgr8Mpdr97T0Cw==
X-Received: by 2002:a05:600c:34d0:b0:43c:f5e4:895e with SMTP id 5b1f17b1804b1-43db61d7785mr56470025e9.1.1743402807627;
        Sun, 30 Mar 2025 23:33:27 -0700 (PDT)
Message-ID: <b7227c78-8a5c-44b4-80d0-7a88c9f82651@suse.com>
Date: Mon, 31 Mar 2025 08:33:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/19] xen: make avail_domheap_pages() static
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.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: <20250326055053.3313146-1-Penny.Zheng@amd.com>
 <20250326055053.3313146-15-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: <20250326055053.3313146-15-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.03.2025 06:50, Penny Zheng wrote:
> Function avail_domheap_pages() is only invoked by get_outstanding_claims(),
> so it could be inlined into its sole caller.
> Move up avail_heap_pages() to avoid declaration before
> get_outstanding_claims().
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - let avail_domheap_pages() being inlined into its sole caller
> - move up avail_heap_pages()

With which both title and description are stale now.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:35:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:35:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931864.1334048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz8kO-0004k8-0L; Mon, 31 Mar 2025 06:35:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931864.1334048; Mon, 31 Mar 2025 06:35: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 1tz8kN-0004k1-TZ; Mon, 31 Mar 2025 06:35:47 +0000
Received: by outflank-mailman (input) for mailman id 931864;
 Mon, 31 Mar 2025 06:35: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz8kM-0004ju-Nl
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:35:46 +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 6051c464-0dfa-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 08:35:45 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-39c13fa05ebso446726f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:35: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-39c0b658b7bsm10269514f8f.20.2025.03.30.23.35.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:35: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: 6051c464-0dfa-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743402945; x=1744007745; 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=vxMuJz//GjooRKOLGiaoFBoZlv+XOfShcLnbHGddhA0=;
        b=LtmSOATcwK1gRYN/kG9JFBLWUbApeYMf3HyWmEcNXcoKX6lb32NMV6NtoDnAqLW6qV
         /4GPcJnSGX6fQut9bGtHvqz8LslxTgZ/hYj5pIU2yF2rpkXPn+QRm0ZLc8trCsQQuX4L
         9XOgV1YBc5dIEHa1WMNTjqiDKABRpEHkCX+Yn4a2dBV/QdPMUuQf8W3hYAkSCV4/Gt5O
         Bn5uRNDikHkqasacn2uTadnM5Muc0Vt8rcWew7h0KpjX4l0kvUn4CGHpnVhMdy4ZTCxj
         JwcDhhgYoDgZEw/L1yogsogtf/lvFqJ27Nr/LxMoM3A4gHhb/mdVAcNaVxU3GPWTy5Xs
         VSRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743402945; x=1744007745;
        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=vxMuJz//GjooRKOLGiaoFBoZlv+XOfShcLnbHGddhA0=;
        b=obJdOu8NqK1rumFnOrs5wPgjs7nkUAslmL3D9VcyHFuG3NO6zUWPNM3BcyPNKQYFBr
         dNmjO0wy3l1GhvarRdvKIwptr88Ml+R2Q1/5fWT5KAOtcozDrvVZjEkWDPfaFuSSVBDs
         OHq4XRi5kf+aU8kJwAYNCzjHFp2xFZ/Ojf7jcMUe9aAhz2KhhQniSzydY/tfwvP+IpBb
         z0OOzV6Rcrhu87nB1jaygQGdztLCHie+iEG+8wS8iLvUYyQphQCvvfNWgmd1R/ZI2h22
         GR82WLS6+w2rf4YaQyiU7AMmJLJ/qbt6dTikufX59ObpkuQb58lte8YT/l0JKB+c0+XF
         in2g==
X-Forwarded-Encrypted: i=1; AJvYcCV1OQ+PAklEjdZy+JHtD9lz/p1aDCE5r1Q7BHa5hsfwPUcjOQTcJAy63CEaqyEXxMuMevLEMaDv9RM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2vCIhYpgeJzWxyoBoGclitBOyfsWtKJ4udQ8I8xHmULFg1kWQ
	KX2MXmJlRsOnZTKGoAQ/jdJEI5hWsI9ZDs/FoHbNFWRL8B7Ib4Drcb/4ji6RpA==
X-Gm-Gg: ASbGnctDXRHwHPnJbznXE4N+XskXmiXe0rEKO5C+EQBUlYm2wIeyaEIXweiJvds7Oyx
	LxG0Ogda4gTKNBRLDq2HEfsH4Lza+MSo53cwBInJXN2cYOwaigMnxWydClQHwznS32HTF7fCd9a
	qqrwQ/qLZpRINPR5iRaRsWsbJ+wHwoDIHFyWUR9UWQ4eVza6zUkR3hxt14A8JmhGmL7gJJ0cW1K
	BrNqOA2AgwGwATnR/HQ5l2Sken4m7TJ/iPooxe9I/kCaACdyNwp844LUMtKPfg6+xiqdi4PpQLW
	UclUV3XlWQaO/ysuldd6ACj9Q5mSpTI2S/rlckZG9IOcGZiXpnTfPjo8u+WAMrfrKFV5qs2ClDz
	cQYWSCGOae/SyNPE1YA747fOjj2ZB4A==
X-Google-Smtp-Source: AGHT+IFvXISRoFHHiQWtafb8x+XkyRKPKXbAniBiTb0mLBH6190RLi0a/ttnpjZLdxEp0QOTzwgE4g==
X-Received: by 2002:a05:6000:2ae:b0:390:f6cd:c89f with SMTP id ffacd0b85a97d-39c1211d698mr6498469f8f.53.1743402945384;
        Sun, 30 Mar 2025 23:35:45 -0700 (PDT)
Message-ID: <8bde75f3-6823-4df4-8ef1-bb9b9780857f@suse.com>
Date: Mon, 31 Mar 2025 08:35:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/types: Drop compatibility for GCC < 4.4
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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328173623.892770-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: <20250328173623.892770-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 18:36, Andrew Cooper wrote:
> We now have compiler types for every standard type we use.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:39:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:39:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931877.1334058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz8oN-0005Or-JA; Mon, 31 Mar 2025 06:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931877.1334058; Mon, 31 Mar 2025 06:39: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 1tz8oN-0005Ok-GQ; Mon, 31 Mar 2025 06:39:55 +0000
Received: by outflank-mailman (input) for mailman id 931877;
 Mon, 31 Mar 2025 06:39: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz8oM-0005Oc-Ss
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:39:54 +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 f37fa652-0dfa-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 08:39:52 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-39c0dfad22aso1469754f8f.2
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:39: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-39c0b658838sm10258320f8f.5.2025.03.30.23.39.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:39: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: f37fa652-0dfa-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743403192; x=1744007992; 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=AtZW6QGKp/u9Q39Loq82TaQCuJAgMFzFKNcw7exkBFI=;
        b=WFAmFozQlllJaVPyZxZrHBQe9n6bFjWl9zB4pyfvo/O9UXQ0pQ+Q+9PlivIcOVsnxk
         Ik+eK2j7KaIwngJsnbTwKKGFfTWAa4H7ai4bjIQc5WU7T0XnaR0IYab/l7HcS3nTrmA5
         Sf8S/tzV7Gn7Ao8wOcnHrkEQeY/vc5BZJsO+hf+ME3oOgSLSvrSLk5f2fGZM2pX42fMX
         ylQI80HigSWYDoJ00uhZWJnl269REYTHW1tjWYo8tgq8CnscYm2q0TL82yWzZusAE8+i
         NSNjS2jbjeqwWvUWMP19XFsbOhgUewr9QcIoACC3pnd6cxog/W6TLGEnmbStoZWQR5ft
         l7hQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743403192; x=1744007992;
        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=AtZW6QGKp/u9Q39Loq82TaQCuJAgMFzFKNcw7exkBFI=;
        b=UCU7Enqy/zdys+jhkft0dyPVbOsKFjzcDgUGStxMOVbkk+qsnkKILMAnzijMjQJdAR
         tiOYjPAWFIvGnVa6k/fbYVXwUzLHBeBsiXFcBuRGn0MhlrfalzPjid2MBcEfEB0PdKiJ
         zbn+I5wNssk/ZKu2yg4PgTdjiKFIBjXqhdt3RMVy3hKdF+XPj1ZyuA5vqB+FF4YQtQaS
         Afmi/LaMOAPQfvYZ2D61m40sJR05WU81mkkBXWc7eI5M6TAaFI/tm13V+A2yN3QcyPN1
         nub6eO0FN+Ib2Qz8JLXdT75ACIDy14Yx7TRexbaPU+EUzu/gJPG82YyQlx+4BUyOVpOv
         D/pA==
X-Forwarded-Encrypted: i=1; AJvYcCWKRjhfNlMlUQFDrtKHBXEer9dQRTWLsaCI1TF7M/tfLwUBYiEGL5UZYD43XDH4V6TEGJ65pH/nnFs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxBetRV1Jvl7jEs2P09Y1WdRTj9u0Gb+zoQrFz6w2Y9hwB+NGbG
	M4JXCdrzvsIxe9M8buBUE4UjPb4P/tqJThUruY7bXEMX2SVxXBXbLNlaAeIeyw==
X-Gm-Gg: ASbGnctrfPT+an9ZTx+M174xEhs47u0aUHkz81HWFis/hC6USjmOslwuMqxu0q80XRp
	QjvIUAg4LSfIzAJBNbsW1uyD8S5Kl0wJCJnzgOk/w7/VsFdu/F7PBxOSK+xR8yorjI12W6s8Wxh
	rTT3D9vry0c7K8Ci8WdVD4tHk7KiZVIYoQ2ai9lHx4Kc1jnQmsaPNZAEYPmeuyU9C87HExMESge
	eOzE1SOTKHlx5noza9R25dhW/18RV+pNoT2r+wQ5hXJ3W7quimJEdEi3dvJf4uYQr4xJsmxHSdr
	Bq7t1L2JwE/fsJ2BbE4gpPvxIE21Z5uOLYhw05SKiimiPDH6SPBr7fJq4d3OZGcwxZqM34LTmY+
	wlm62zkBy8TmtifhLjmNTjZ6jnlW0Bg==
X-Google-Smtp-Source: AGHT+IGk2nRubtsNjwJbL5I0c5wP/gF+XRL/IWFimXQ94tL5d+kLTzkMRz+uJpMkVSK/Lt0UIX2gCw==
X-Received: by 2002:a5d:5987:0:b0:391:3988:1c97 with SMTP id ffacd0b85a97d-39c120dd6d2mr5990644f8f.17.1743403192168;
        Sun, 30 Mar 2025 23:39:52 -0700 (PDT)
Message-ID: <ad19a0b3-2695-4eb1-a60a-71263ec41c9a@suse.com>
Date: Mon, 31 Mar 2025 08:39:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
To: Julien Grall <julien@xen.org>,
 Stefano Stabellini <stefano.stabellini@amd.com>
Cc: sstabellini@kernel.org, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 michal.orzel@amd.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <20250327233419.1119763-1-stefano.stabellini@amd.com>
 <5b901464-64f4-489c-ad62-e03b7f9d47b7@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: <5b901464-64f4-489c-ad62-e03b7f9d47b7@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.03.2025 11:29, Julien Grall wrote:
> On 27/03/2025 23:34, Stefano Stabellini wrote:
>> The little endian implementation of bitmap_to_xenctl_bitmap leads to
>> unnecessary xmallocs and xfrees. Given that Xen only supports little
>> endian architectures, it is worth optimizing.
>>
>> This patch removes the need for the xmalloc on little endian
>> architectures.
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>> ---
>> Changes in v3:
>> - code style
>> - copy_bytes > 1 checks
>> - copy_bytes > 0 check for copy_to_guest_offset
>> ---
>>   xen/common/bitmap.c | 42 ++++++++++++++++++++++++++++++------------
>>   1 file changed, 30 insertions(+), 12 deletions(-)
>>
>> diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
>> index 3da63a32a6..d3f9347e62 100644
>> --- a/xen/common/bitmap.c
>> +++ b/xen/common/bitmap.c
>> @@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
>>   	unsigned int remainder = nbits % 8;
>>   
>>   	if (remainder)
>> -		bp[nbits/8] &= (1U << remainder) - 1;
>> +		*bp &= (1U << remainder) - 1;
> 
> This is changing the behavior of clamp_last_byte(). Yet, it doesn't seem 
> the comment on top of is changed. Is this intended? Also, I would 
> consider rename 'bp' so it is clearer this is meant to point to the last 
> byte of the bitmap rather than the start.

+1

Perhaps also drop "last" from its name? (It's not clear to me what 'b' actually
is meant to stand for in the parameter name. It may have been meant to say
"base"; it could now be meant to say "byte". Nevertheless just "p" as parameter
name is likely sufficient and then no longer ambiguous.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:44:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:44:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931887.1334068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz8sc-00086c-2O; Mon, 31 Mar 2025 06:44:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931887.1334068; Mon, 31 Mar 2025 06:44: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 1tz8sb-00086V-Vo; Mon, 31 Mar 2025 06:44:17 +0000
Received: by outflank-mailman (input) for mailman id 931887;
 Mon, 31 Mar 2025 06:44: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz8sb-00086P-B6
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:44:17 +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 900fe5f6-0dfb-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 08:44:15 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43948f77f1aso27241205e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:44: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-39c0b79e304sm10449515f8f.73.2025.03.30.23.44.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:44: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: 900fe5f6-0dfb-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743403455; x=1744008255; 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=1FATQMDpjR5kbuY5BSIHnpoXirOGJY4yiiev3V/7pP8=;
        b=WpHf+SByVbZG6ue64DBfSKBu62InJqfnPHiuJ/cyndo8zMuI3CxeMnf25K1tqrqEti
         qu18u3uSx9h7F3py8ieE17DSD53keR45JmH3FFhg2Pp5UmLZAwUTHwJtXaB/DHmiFW2O
         ofzDBGDbrlZH46mNZ+vz1d0e5w/I4zwus5B5w872J3In4+6RKmnRNB8euR9JX4kVvZJ/
         EUmruqr1yQDko2WgY+x15dFRibjtFMo8p/GRrvvVyqcodNLikCndSQxm6Xc9LVcSH1WL
         GBQDPQ9Y8xaej+G9jzvDS4jgsT12290Wpm3/DJCCWANVg7GOOZfLwUVYJKJ7Ix33czPa
         bteQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743403455; x=1744008255;
        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=1FATQMDpjR5kbuY5BSIHnpoXirOGJY4yiiev3V/7pP8=;
        b=ApNjDKkHZvMkx7r2ZYrIFD+3Xa29JL+/Siv7tW/c9YZCaIm7OkgasbB35jR2gQgFrH
         6ytegwSG2i0yMLNXk3/hZm5ccP13e4KoVIcWsTDMfU/YSSMPe6xTvFRAyZWVU3jaPUJB
         WvW8rNeyatNxmDp7QBOYN4NElcMcytBAzt+eYFB3SEaUEkiANJEp7tkrn9YxfkzLsBGO
         +X10DpPDyRYqYmTqgECrSSM2X2Xww8Ho+/r+0hmI1n+B9xnmUh6vj+BptPmZyE0kPq01
         8h2F7F/qrRxtMOYMc8xl2SVvgjY8YztvzITz7axz+K4WW4K2wKASou6w2w82FcpDz+vL
         cFtQ==
X-Forwarded-Encrypted: i=1; AJvYcCXSH1FQTjC1CMKtQrnVGposNEgg6fgVieTL/raqYOD74qIPpc8Pyjd7Zxz59LvNgfshDZe3rcVL+lU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxhuEK9eFd3IZ8VSI57Y8C6v3S4+Vhwynt0p2AeF6Arz+ZGqIMj
	5UkMCkjQchHSKA5Hn+++iQLeXunPva6jSNRQEcwdph4024x/fUy5XZP9t14JAw==
X-Gm-Gg: ASbGncvEWj3yiuqWduGrh5s2QiKOGbLB+o5tnyVNMjW1VVToONEOHYCwMpDrj1y/f6Q
	LsXNw4MZzVdCdJRCjWsvSJaQToCDV4JevV9diGrLD+IlhoKwjg5nm9Hur6tSKgo7/SORlTqTR81
	6qxImPKaeL4r4Rulb51jEF3QOcOEl578lFdYGGJDMiirAaS5D9DfxZ3LsSRBTlAvAawleXradgz
	7mqVHrtxpFHH+b0qgGe2A9mnSolhFJH5LZCge49GMsjR2MJj9IkgzOJa/9830rN21rz6ZAYDUAz
	iCQpK34nVC/AqqT1lzIiyAz5XjWSR0qw6MHl5rr1CljEgVP0sT4sjJ2eZFdUGJrphMs9wj10nNA
	msALVVNUKkhNMnAGrYEvVWCbym+lbKQ==
X-Google-Smtp-Source: AGHT+IFY/BxpK2+Cm3GTW5eEoquPd41ZtMCd4k6uZsp8PFcsiJw54SQkOLADev3QPpYKS17su9diMg==
X-Received: by 2002:a05:600c:b98:b0:43d:16a0:d82c with SMTP id 5b1f17b1804b1-43db61d7b53mr78526035e9.2.1743403454901;
        Sun, 30 Mar 2025 23:44:14 -0700 (PDT)
Message-ID: <217ed304-ca5d-4422-a187-da5493cecb5e@suse.com>
Date: Mon, 31 Mar 2025 08:44:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: sstabellini@kernel.org, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 julien@xen.org, michal.orzel@amd.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <20250327233419.1119763-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: <20250327233419.1119763-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 00:34, Stefano Stabellini wrote:
> --- a/xen/common/bitmap.c
> +++ b/xen/common/bitmap.c
> @@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
>  	unsigned int remainder = nbits % 8;
>  
>  	if (remainder)
> -		bp[nbits/8] &= (1U << remainder) - 1;
> +		*bp &= (1U << remainder) - 1;
>  }

Technically there's nothing wrong with dropping the if(), I think. Even more
so then than now, ...

> @@ -338,7 +338,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
>  			nbits -= 8;
>  		}
>  	}
> -	clamp_last_byte(bp, nbits);
>  }
>  
>  static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
> @@ -363,7 +362,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
>  				unsigned int nbits)
>  {
>  	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
> -	clamp_last_byte(bp, nbits);
>  }

... with the two prior call sites now shrunk to ...

> @@ -384,21 +382,41 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
>      uint8_t zero = 0;
>      int err = 0;
>      unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
> -    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> -
> -    if ( !bytemap )
> -        return -ENOMEM;
> +    uint8_t last;
>  
>      guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
>      copy_bytes  = min(guest_bytes, xen_bytes);
>  
> -    bitmap_long_to_byte(bytemap, bitmap, nbits);
> +    if ( IS_ENABLED(__BIG_ENDIAN) )
> +    {
> +        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
>  
> -    if ( copy_bytes &&
> -         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
> -        err = -EFAULT;
> +        if ( !bytemap )
> +            return -ENOMEM;
>  
> -    xfree(bytemap);
> +        bitmap_long_to_byte(bytemap, bitmap, nbits);
> +        last = bytemap[nbits / 8];
> +
> +        if ( copy_bytes > 1 &&
> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> +            err = -EFAULT;
> +
> +        xfree(bytemap);
> +    }
> +    else
> +    {
> +        const uint8_t *bytemap = (const uint8_t *)bitmap;
> +        last = bytemap[nbits / 8];
> +
> +        if ( copy_bytes > 1 &&
> +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> +            err = -EFAULT;
> +    }
> +
> +    clamp_last_byte(&last, nbits);

... just one, I wonder if that being a separate function is actually still
necessary.

As indicated before, I think it would be nice if the two identical copy-out
operations could also be folded.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:47:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:47:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931897.1334078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz8vC-0000EE-EB; Mon, 31 Mar 2025 06:46:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931897.1334078; Mon, 31 Mar 2025 06: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 1tz8vC-0000E7-BK; Mon, 31 Mar 2025 06:46:58 +0000
Received: by outflank-mailman (input) for mailman id 931897;
 Mon, 31 Mar 2025 06:46: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz8vA-0000Di-VR
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:46:56 +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 ef360c46-0dfb-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 08:46:55 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4394036c0efso25699065e9.2
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:46: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-39c0b79e37bsm10565683f8f.61.2025.03.30.23.46.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:46: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: ef360c46-0dfb-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743403614; x=1744008414; 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=ehwFcAsqVMOJZx11zbJywtnnmyP6DSezDyHrjyTxKps=;
        b=VFfKFjI/QYcitvdrwW8qzfWVKcT080/NQVxf28Lx+5M5qqBiaz+yRmgQ5Cg25BeIPw
         ucbanBf+Q/9dePaldS9pC3m9l2/iggkFZdt5l3O8heY1ffCau2Lo5hh3FNX3ZcNoJNPL
         pvOyPL87fYOJ4EYaXayS48rWTyzCQTzYfYY6CtI0wmRkaCDCub3V3JMt2Ud8oGaFXfIY
         H5vouuMuwv+RORxSUxVaNtWbE/VOgiFX5ZvnPEiDm65/EAAuI6tCUY50fBTHMxogX17+
         bQyosfhbf3g03pMVT+kL/YxAMk9xSEMGGjD6gNWKeIVWt+nfuQX4d9lqpA6C3/6Sjcxy
         hjtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743403614; x=1744008414;
        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=ehwFcAsqVMOJZx11zbJywtnnmyP6DSezDyHrjyTxKps=;
        b=XGaO4gSCoF+viZ9yjO12bjqikpZjhDcVfvvSv0GzWAH2aBvJBF+MG4Z+CuDtEvQIvA
         3SZjjg1XczckIupDXa0hDYBfd3B3wpOPBieTFv+KRDu5Po4GEjmwMizLkquZy7pjuGma
         AgO981b6OsaVKPF8Sh7NsenMN6rhmqJNHx8tfhlE/ek9OXhGOMORVEZa+xpHvO1PUyK+
         ZamLKFV5d3loj5q32J/WllG2I+LyjyR0AvGl2VbbgRKshvBJzkx+4dPH6RMdc+4LzUI1
         C5pPWD2e1OjWQk3uhuz7gI4ojpbDx5pLnJ0maH4twIZzA0MVS50lzrZY5ah1o34dfbkn
         xbvw==
X-Forwarded-Encrypted: i=1; AJvYcCU7AH3utlOM/7ffStudTFiFLKoRVpSJidPrKaoIGs+FnaK/R97mhdFtMihlhrWzVTR0+mEqf2UOV9Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJu2QOQujSAIug+8/eY9mNpKDqB+wowXQsAxgVSeC0R7zN6kaM
	CB/xbjUawaQtq+RH0vZ8+e/yf4Uiv0zKkeugHNllJ6/fVzJxU6DO3eKPA4AlzA==
X-Gm-Gg: ASbGncuYAZPZhvfeBvM7NXBWlOniGTJ/+6q7KLNQqWFcsaCQ/dTRv5n7UvZlZy+1Dsf
	8fkBE6cPT94tELsxEdWQwqS0tdJWQkOterjucOWXzStTqlCZHkkc4fm8dzaZnzrC9KhZxQyUD4i
	0WzxHz6JyZKqejdUp8vMeZxoO6M8qu2RAfdP+XXvErY9NmjG8U5DSiTZRyBuQ7bhv2FiQS2PDld
	ybbQ62pi9TiDp0pU2lT4W/MTJkRG5ZwrnxvBn+5XDzCDmVJGMcb/67Nk2LmZz86MYVOfua81iWQ
	e8WqKGolBD/2Ut9sLUDtKkQOvjqn0TYmyETfdM9p4JOyCQ2BJ4SytYLjA5//2BrnZVKfKbZ9tHp
	rpZ22D1zaekHlLsqwDqhvJL4rS4tNGQ==
X-Google-Smtp-Source: AGHT+IHw+jzX/A9VxxQkVl8RWk6xEr+EvH1bzIdiNBVPrtr9+XapotSCwGQzC8z+FbcRSqnkWY29hw==
X-Received: by 2002:a05:600c:548c:b0:43d:97ea:2f4 with SMTP id 5b1f17b1804b1-43db61d3924mr71711185e9.12.1743403614556;
        Sun, 30 Mar 2025 23:46:54 -0700 (PDT)
Message-ID: <11cc0427-cf12-4086-b2b5-19d96bdcb327@suse.com>
Date: Mon, 31 Mar 2025 08:46:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul: Fix blowfish build in 64bit-clean environments
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: <20250328173637.892960-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: <20250328173637.892960-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 18:36, Andrew Cooper wrote:
> In a 64bit-clean environment, blowfish fails:
> 
>   make[6]: Leaving directory
>   '/builddir/build/BUILD/xen-4.19.1/tools/tests/x86_emulator'
>   In file included from /usr/include/features.h:535,
>                    from /usr/include/bits/libc-header-start.h:33,
>                    from /usr/include/stdint.h:26,
>                    from
>   /usr/lib/gcc/x86_64-xenserver-linux/12/include/stdint.h:9,
>                    from blowfish.c:18:
>   /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such
>   file or directory
>       7 | # include <gnu/stubs-32.h>
>         |           ^~~~~~~~~~~~~~~~
>   compilation terminated.
>   make[6]: *** [testcase.mk:15: blowfish.bin] Error 1
> 
> because of lack of glibc-i386-devel or equivelent.  It's non-fatal, but
> reduces the content in test_x86_emulator, which we do care about running.
> 
> Instead, convert all emulator testcases to being freestanding builds, resuing
> the tools/firmware/include/ headers.
> 
> This in turn requires making firmware's stdint.h compatible with 64bit builds.
> We now have compiler types for every standard type we use.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:50:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:50:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931907.1334088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz8z0-0002IG-Uu; Mon, 31 Mar 2025 06:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931907.1334088; Mon, 31 Mar 2025 06:50: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 1tz8z0-0002I9-RN; Mon, 31 Mar 2025 06:50:54 +0000
Received: by outflank-mailman (input) for mailman id 931907;
 Mon, 31 Mar 2025 06:50: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz8yz-0002I3-4W
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:50:53 +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 7b4d020a-0dfc-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 08:50:50 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-39c0dfad22aso1474187f8f.2
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:50: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-39c0b658c87sm10523587f8f.9.2025.03.30.23.50.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:50: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: 7b4d020a-0dfc-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743403849; x=1744008649; 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=mulo67s4xyOwq3YWS5wm+JI3ee4XAf8RvE4OYvx8Tsw=;
        b=apTeuDoIMop3Z2V5WzLtqKDt0LF6QOlYnDKEGKx4h6Od0qW/l5DTzuUkOUzfhODfNX
         OZFbT+z46SOSrT7fLMhdFwXcfY6RRa+2R072c8loWWm5vV1bqYRSlfUD8CbEY5ZXgB7V
         ZByV5Qx/Y0NdZWD1IxfFXCxZmTB34jlfB3fV7HriTElAZmin+ZINqlP6SQjY0wSBlUAp
         zADr48h/gGXRcNyjQQ4F4bKBxnfyj7Wpum4HzdSuH5PRcHMZ3Q6JRlkeh/VqSmga2PEU
         Yu+dcdKZs+z7V1xCxrKGnm9rNfVzIlRtXyE0L8EHx2MXArsFyVlOcuF2mlKmau7T28Tm
         jlXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743403849; x=1744008649;
        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=mulo67s4xyOwq3YWS5wm+JI3ee4XAf8RvE4OYvx8Tsw=;
        b=N9oqrVr+IEzSXhhzFAUHeEOB8dla1Gy48ENdeH9x03qP1CYccwsqs9kVTEgMwo6Nl5
         Zv5nDlpj2VSHRXLEucsMaCxD0a9Y4Dv+WdCw0cgDOev6GfHfcOeMZEIntViauewAAGqg
         5J3Q8wEUCS+TfQq4pNLQWwDHPLpzKsFojQw44DZWWdpuw3Sb5rFop76u5H1Ju9Mxf98r
         DF/AcLfRMB6hqU58xRtlB1puM+CUwAlT8pKeKBz6OKX1j3bFicQoKZoUq/03FqHdRO1E
         7XBf5S7Uf+HLSA+zm+QWYNLceK/SJA1isqCvvwB3IYpJI2+jVxcdN831YMIm+/APHccJ
         r6lg==
X-Forwarded-Encrypted: i=1; AJvYcCVGGW62H1C8GEinBGlKbNyKq6goIOqYANrTIggGPfkrkn+KwwTQi7rDvSiUQR+oKxrPOOMBtbxPeno=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYZPdyAewyy43sB/Hc9YJOMnwYjJ1DJEezz3xnoMKK/j4c0sOP
	vUoc66DA8jcw2LhUT7x1hVxxbO0tH8gun+I6TCgXM59PlkuV8seE+VCEO8XecQ==
X-Gm-Gg: ASbGncvPIqbfVAvR1FTBjKY9n+1fKVYSDXnbisWDsCprzPF8Xng2sC95JgyYQH/PRPR
	YW4D+/E0jFfpuMXgc5O9oB3IIf0unOtR4hrTlItqxAcugpMilQjEwn7S57v2GX5iAygKmG7jVRu
	pZ5OCaDtwoAhvhj8Cl+B06ulboqw6jog1cE1p7kJz1DtlSaPiquHMCoaZ0jsycO39wKwGw2mrY3
	FUCZ6gehENhBjPwzVRGCfzieGyZI0slGSwH35iLT75KDQhbYh04cl5FUc8RfOGU5eHfq4/8Wbns
	tTijf9keOSkElLWa0rLQ6YfBAaMOAPzChFdVnG8NARMYPHxxX8dJ50MyhZhkHA+2vcM5z8w/Eg7
	9y4nwHFYz10c4zzZ3hR2RhY8+xbDcRfsGNtAVKcn6
X-Google-Smtp-Source: AGHT+IGOol82neLn7VXXvqo+FZ2Y2CLlJzrw3fFHTV2yYKu9LFh9OCzIzN+YvMiEMD1Sf0j+vKFn/w==
X-Received: by 2002:a5d:5f91:0:b0:390:f9d0:5e3 with SMTP id ffacd0b85a97d-39c120ca76emr6452461f8f.1.1743403849566;
        Sun, 30 Mar 2025 23:50:49 -0700 (PDT)
Message-ID: <3725d86e-f804-49c2-b966-2a52aea6fcde@suse.com>
Date: Mon, 31 Mar 2025 08:50:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 2/6] Arm32: use new-style entry annotations for
 MMU code
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <1287edd8-188f-4b1a-b087-0beb3eea5ed4@suse.com>
 <dad70c39-c398-4641-8775-ffb1b896367e@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: <dad70c39-c398-4641-8775-ffb1b896367e@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 19:39, Julien Grall wrote:
> Hi Jan,
> 
> On 13/03/2025 08:07, Jan Beulich wrote:
>> Locally override SYM_PUSH_SECTION() to retain the intended section
>> association.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
>> ---
>> v7: New.
>>
>> --- a/xen/arch/arm/arm32/mmu/head.S
>> +++ b/xen/arch/arm/arm32/mmu/head.S
>> @@ -160,6 +160,13 @@
>>   .endm
>>   
>>   .section .text.idmap, "ax", %progbits
>> +/*
>> + * Code below wants to all live in the section established above.  Annotations
>> + * from xen/linkage.h therefore may not switch sections (honoring
>> + * CONFIG_CC_SPLIT_SECTIONS).  Override the respective macro.
>> + */
>> +#undef SYM_PUSH_SECTION
>> +#define SYM_PUSH_SECTION(name, attr)
> 
> AFAICT, SYM_PUSH_SECTION doesn't exist yet. It is introduced by patch 
> #6. Should this be moved to the last patch?

Perhaps; I failed to notice this when I moved that patch last. I doesn't hurt
to live right here, but I agree it's better to move it.

> The rest of the patch LGTM to me. So with this addressed:
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 06:52:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 06:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931927.1334099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz90a-0003ZW-CF; Mon, 31 Mar 2025 06:52:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931927.1334099; Mon, 31 Mar 2025 06:52: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 1tz90a-0003ZP-8B; Mon, 31 Mar 2025 06:52:32 +0000
Received: by outflank-mailman (input) for mailman id 931927;
 Mon, 31 Mar 2025 06:52: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz90Y-0003ZH-Rx
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 06:52:30 +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 b6b441cc-0dfc-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 08:52:29 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39143200ddaso2616200f8f.1
 for <xen-devel@lists.xenproject.org>; Sun, 30 Mar 2025 23:52: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-39c0b7a4318sm10257624f8f.87.2025.03.30.23.52.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Mar 2025 23:52: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: b6b441cc-0dfc-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743403949; x=1744008749; 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=n08gtiAEQAz01ni/J3mRmiRql8AVgHhCnoE0/vItLoM=;
        b=H49vp/1iu71vus3kDZvjaCUmTjM5sv0Qi7rUjHtXpEDhQVjQLExbd3+QE2+n9l5BV1
         uZQ5Edxdc/47wZLQQp6vKvPWcYON+qvHzN9dOAt2KZAyi04nZ/o06Mp+/GML9gB3JqNa
         YUIAo3tOiAYLYqelAld+b/x6u7RV27gdghJiLTwq9l1SJurt3cQm0xoOVrCrMpdNUehE
         f7XI2/oEU3I/HyVpUUdj9A8dTJjUiGrBFc7HcaFR1Ns/uzMTSjxVJct4hxZz9+IsQ/z4
         dLOvL1Z3JGsN65J2hX55U3k3Fhh74ELNug6oYB8uUChiSDcw/dHgiIzCmHPtgjFftiVl
         gn5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743403949; x=1744008749;
        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=n08gtiAEQAz01ni/J3mRmiRql8AVgHhCnoE0/vItLoM=;
        b=NCEFEj9DOYfDljU6vWjju59fLTpv2ImAnsn6OML3YWQJjyfZc0AsihAKdnQmfErr7L
         +q++IWMoABDFb9VfvYex+ipe9fV/rLOp/GZRb/qckV2Y47yMlDWP6+Vp4iolhWZqIw00
         cQfk3duMkByO7nBjkAlku/TeYnWCcOzXH5UlykXGrVSWnweOCn81nr8dbqQkOYkfY8wB
         FwpvHqMWl64aB2uGH5lVg6laJJYf8k/NDGyG8tk8YemgTS1NFwEczyf0UXek38JVD7QU
         qb5kENUUCXWZmU80PalySaklFJTnB1PvYWqXOZT36Bs5pLoMSBqYWzvsuZckEk76v60B
         l1Iw==
X-Forwarded-Encrypted: i=1; AJvYcCXSrFrmmcpScrEBtlXfompEDEgtg+9JLWZ0j4BnD+oSPgRMqipgQgIr5cIB7q1eEOXlcTP4RIGSLro=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4wbNzvAz+nfN/7I8Yzugt7CQiJ6SG7ISJJOgiau4RGQny2ozH
	q65dYaH57znVV3hsJ9/oGZz621ilwwK8OaegUHs/JIvwpymXW06rIXtXJ6mAHQ==
X-Gm-Gg: ASbGncs2AdlDqrwH9+mlEx+6d8esPISLvK8exXRTOwDogy+zevSKvut3tkQ0dS1tIPz
	HrjBoHgl4v0djKNMEFJyKdXZupG5SCbzPUXaGALi7XUctV0yb9DBwXKxDjU+TRi2gZU1DOs/1l8
	xm2F+3hIjcS6nebM0cWqG1cipH9MJno0OmzXDMQgKisuW62H1xV9tnWMDWg9MkDa9iz1BfyBJql
	ui5p5QQA5rdcFV7YpIQyH9z8cbv2qs7j+zLmECnA0lEnXsjmsDhwr/eJeVZhPeD0y/3VWYhB8lj
	eQVv/BdnE+JcG9PAYPALYup8EJzq07kyxCsq8GGK9ZIClejSm63ZGpPiqIhcUwek85GCNIitqLL
	FWPvpsNrGLIf2SmZd6/q+NF5FC4Qa2Q==
X-Google-Smtp-Source: AGHT+IHb6/hVyxKpS3GektByaO0WZ2oiwI3JY0Xv4CO/6hbATvAaWok96JfASv38Q8JHMhscE2r7+Q==
X-Received: by 2002:a05:6000:290f:b0:391:4231:40a with SMTP id ffacd0b85a97d-39c120e30a5mr6828470f8f.33.1743403949300;
        Sun, 30 Mar 2025 23:52:29 -0700 (PDT)
Message-ID: <9bfa0537-61e9-4dbf-867b-8b2162be36ff@suse.com>
Date: Mon, 31 Mar 2025 08:52:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 RESEND 3/6] Arm32: use new-style entry annotations for
 entry code
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e4bf47ca-2ae6-1fd4-56a6-e4e777150b64@suse.com>
 <ebc98ba6-4ced-4e74-baa6-089240465eca@suse.com>
 <149aff98-bccb-4671-9961-484e5651bf1f@suse.com>
 <a1c41776-fb5e-4b83-a6f0-b4370a0c0e0e@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: <a1c41776-fb5e-4b83-a6f0-b4370a0c0e0e@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 19:46, Julien Grall wrote:
> On 13/03/2025 08:07, Jan Beulich wrote:
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Tested-by: Luca Fancellu <luca.fancellu@arm.com> # arm
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

Thanks.

>> ---
>> Should the GLOBAL()s also be replaced?
> 
> I guess the goal is to use helper from xen/linkage.h.

Yes. Imo in the long run we shouldn't have more than one annotation
scheme.

Jan

> So I would say 
> yes. It doesn't need to be done in this series though.
> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 07:26:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 07:26:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931937.1334108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz9XQ-0002gS-Nq; Mon, 31 Mar 2025 07:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931937.1334108; Mon, 31 Mar 2025 07:26: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 1tz9XQ-0002gL-KD; Mon, 31 Mar 2025 07:26:28 +0000
Received: by outflank-mailman (input) for mailman id 931937;
 Mon, 31 Mar 2025 07:26: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=S+FP=WS=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1tz9XO-0002gF-AJ
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 07:26:26 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20604.outbound.protection.outlook.com
 [2a01:111:f403:2414::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7250d7c9-0e01-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 09:26:23 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by IA0PPF002462CFE.namprd12.prod.outlook.com
 (2603:10b6:20f:fc04::bc4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.50; Mon, 31 Mar
 2025 07:26:20 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%3]) with mapi id 15.20.8534.043; Mon, 31 Mar 2025
 07: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: 7250d7c9-0e01-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZzFj+7Jj1dxudo2NbGiyYx2/9ifxtYPfsewwPw/7t6LJldHQQ/B7kKh9V8jj2ZoxxNv6EAo8+SxBXIjN0hnaWM06MiYy9dBg8urjdynHEiGM/tg+eZWXgr3Sz2dAZdHnmTwtY+3R4MOUWqEBGLM+wtDit6Lz8b1TuIy0qDE0dBgaReUJ6ynRdPMkKVKgJxOptoTu8rn3/JhzOzrWb6/Gr3dbd+M4FshVM8Tgqhua+tthidT93lfa5Sp7umnKCfWJNvCMqIDjXhwBb2XK7UyTcAAATS8/pzxDYpNb//awFpC8s72LrT+DbP4KAReyZSEbiOnyrWI1NyCnPY2Tx4bYEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gnGEjSeaBOJ3W0xnzRthKohZFpgJgKUQCjBU5Ils2fE=;
 b=l9qUnwQhKxkVFe6b9tWU9U3wx4xZSz9JCNphfsl5ryF2yYBSLH74VIZdg1PLAHOQGn74pXCjxS3uT1IWebMKpEJbIPOwZiGPzJLSMZoG1HwQ5tb6EcVLVfyxwH4s+vkqbfPEeyd+LlQSPPyK1yeQS83fdyOKZfXH0N4OQIdnBeuph4npaRcSqHoVXcU1Jvyf3QQ6dNsC1TIuQYmr1G8cSRZZRcMsQANp6LlKLLJ/3eS2zsO3D7vlO48vEfBaDtM5JX3WJL0HtTppvSkY0mDe9gkH+kXAVSoHtFLjBMMGKq5y6IbTT8/+oRtVGlUOlog/beFYgl8ViNPg/nYMD2QlTQ==
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=gnGEjSeaBOJ3W0xnzRthKohZFpgJgKUQCjBU5Ils2fE=;
 b=TWN9HWjEn4YzmyLHZk5ThmPyQcNZ6UEZ36YRjjdR/fBKwbdMeDUW7oZTzVQl8US0QOHCDKM+RQBXj7ZxvkiFGyA2q/wEwgC5w6K7Pqo6QiUGxwKYPzPRQcsfeYgqICd/KDLWA2zA2aodDqKSUaLr3ugGjO5MUEnSgJ2G6Uzgoto=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "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 v1 1/3] vpci: Hide capability when it fails to initialize
Thread-Topic: [PATCH v1 1/3] vpci: Hide capability when it fails to initialize
Thread-Index: AQHbnup9DfRmpRg4a0apmzEwGKAL0LOGtpyAgAamp4A=
Date: Mon, 31 Mar 2025 07:26:20 +0000
Message-ID:
 <BL1PR12MB5849F1134D9E51E6A0F7B4A7E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <Z-UZm5sTIz4nOt4-@macbook.local>
In-Reply-To: <Z-UZm5sTIz4nOt4-@macbook.local>
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.8534.033)
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_|IA0PPF002462CFE:EE_
x-ms-office365-filtering-correlation-id: 9c0341a9-9f83-4356-feb7-08dd70255540
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?UFFDR1J4Vzk0UEg4enNIZ09JeWVMeHJVSUlwcFVHTzVlRzVrbUV1MzdOa2tV?=
 =?utf-8?B?UUtob1c5T01sVjVYaS9nNlVNQ2p2Y20xaitFdzJRbEtMUkdHZytXd0ZCUWpK?=
 =?utf-8?B?SWkySkdYT0RNN0V0VjNRRS9QSnAzTzQ4NzBHa0EzOFFZSUJXSFlNUEFLczhv?=
 =?utf-8?B?Y2NYZTJ5b044N3hIeHhra0N6ZzkrZ3BVdlBoWmxIbFJ6dTg4c0hnQkdLOVZr?=
 =?utf-8?B?MVp1L2hKS215MEQ5S3MyR3dKeStLTGYvalJTZXRQQ1pHUGZMc3VlbTgvSnl6?=
 =?utf-8?B?V1dua29IL016TmtxL1kyZk8wU3VIazZYd2JlNDNQQVlXWGZVbC9YRGVnSU8v?=
 =?utf-8?B?ZkxMeGl0KytscTFwSUU0alBwbnQ0M3hNaDBUNE5rMUNodks3ZmY0MDVQa0FE?=
 =?utf-8?B?aHRpOVpSTzRnRStGNnN4c2FPYnZMRmNYUWQydHI2QlZ2MDRpZ1lFUWtJdzZX?=
 =?utf-8?B?YmJjekF4dEhRYTF3SCtMbzREK0djamxlalozV0Y2VnM5RXlLdXErZno3QzRY?=
 =?utf-8?B?SzBuZTJGRWE1VW5yNjUrMDdaanRVcmhGMm1HaE14UGV3SlpwNzNrMlR5TCsv?=
 =?utf-8?B?V1B1dFdJKzZOSURRVmhWYTB1aDJpSG5YSnhKbTJveENEM2dWbnB1WUgvM3F2?=
 =?utf-8?B?cUtBUXRVSkJBVE80T0hqckc2MDErcmpLN2JTbEYzd3g2QWFKQVJqOXlTK00x?=
 =?utf-8?B?M3RQSFNvV1NHTy9hYlJ5TFVhUERESHdqRUtIL00yRlMzZHkwV0tsa1daWFlW?=
 =?utf-8?B?RXljMThZaHZXYnIxS3l0Q3FBNjN4ZUxMS0NGc0FKeWs0Z3gxT0QxOEN0MmxT?=
 =?utf-8?B?RzN1MFZZVXN0YkthTHMvMzRqZTJKYWE5S09xSWROUS95dVpHdGFrRWVLcFhR?=
 =?utf-8?B?RGExbEFnRThhN2dTaVRhaHR4QVpHVExJNUN6dDRCTWw5czBCNG84VzJjdEtn?=
 =?utf-8?B?VGFuaU50USsyQndydUhLYkdqZlJ1QkZ6d0RWYVNOd1VucnNaTWR6SGhadUM0?=
 =?utf-8?B?Q3RiSlhkSUs3VXhFTHQrV0VTSTY3R0ZOYlA1UlJnRjNMMlJSL3FBcTVPbzVw?=
 =?utf-8?B?ZE8zanRKZTVrUmhjQklZU3NDWG8xaVFlWk0xbkM0N0V2SGFNVThiMTZ1VGNC?=
 =?utf-8?B?NzRwRFhVbW5KQ2VvYWg0WUM3UGFZQjdIeUc1STN5VXdGS1doakw4YVI5RHZZ?=
 =?utf-8?B?WDhldG4wNVdmWnNLQW5IWjV0aGtaMjR1RUdMdjFiK0JXNXRUdkRiRXpwOFZx?=
 =?utf-8?B?di9GYW1IU2JZWXViNUYvYk5qZFVZUVZTanZJRzJaM2FxSEhrSEUrMitvdUNJ?=
 =?utf-8?B?SUxxNzFPL0JkV2xoQnBoQk5sWGZnZHkzYWtSOWt1VlFoeHJIWUJ1czVDQmdh?=
 =?utf-8?B?eDJhVUE1V25pQ0ZRSUV0eUJaL281dW81S1Z6T0xKSVRFb0s5MkFrdFlISEZF?=
 =?utf-8?B?TldHTTNOWi9tNS9yT1hBcjB2UVhzWWRBUG1PM2lTYjhNRjJCVzNrbnNObCtE?=
 =?utf-8?B?K1pKb3lPaXhhSVFSMTJEUmVjb2JMNGlZb0w3eWNqWlI5RHVkY200NXNGTmg4?=
 =?utf-8?B?ZFBYMlVGc3VIOWRMVURpbGpsb2ttUWhoblFYLzk4Q2ZvOFM3RGRUK2pwVnl0?=
 =?utf-8?B?QUdQSkJZY1E0YUpOYW50Q3FkYU5hT2Y4RTR6Vk55SktSNXBYTjQ5VDlCRlBo?=
 =?utf-8?B?NmpHMFp6cWJYUHd6Y1FvQkVMcEw2UDhtRS9IcEJCeEdJWHYydDg1T1VYaEdt?=
 =?utf-8?B?UzVDeVMzU2p2T1BXQkJ6b0hrZm1YM2dyTjhpMnErUk1xSVhxdVUyQnViYU5R?=
 =?utf-8?B?Yi9DOUF0NnFadVIxT3FndTNGNCtVNFhsNlZkMSt3OHAxZk11TlN4UFFTMGJF?=
 =?utf-8?B?N0M2KzdPTmkxbXJVQmY3TGkrZ2JQNW5QcTdyWTNkQkd6aTFLTkpPS0htcnBX?=
 =?utf-8?Q?+sswEYMWeCqkb537vmiVx3qiU/CuCHby?=
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)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?N1lCaUJSUlhnWkdtTGgrL3FjSG9aY3d3YTFUMkFqazRDUmtYQklGMlJJc3lv?=
 =?utf-8?B?S3V6Rjl3UHovSVgvNDFWU0VYTm1OY1dacVRYVjRLN081dnd0cnUyQWs0RFht?=
 =?utf-8?B?V2tRQ1JkZTczSXpSR2hjemhETVBnWVdhUkJLbWdFZjlsZXBxdVlhMVZjb2tM?=
 =?utf-8?B?ajlhQlJDMlNvZ1d3Kzk1OXFlbkdrZ3Rqbm9LUnFtZVF5aG1mMGF4bnVEOTdn?=
 =?utf-8?B?U1ZXVmQ3ZGhDSHFRTUd3VEo4RDFTRGVqYTA5NHFKZzlyWnpIT3Z6aVU2dEY3?=
 =?utf-8?B?OCtLdmFoekRMZmkyWVZIc1Z5SnBpK1J0NnBwdVB3R0dURVFsRlBTSzA4M3pU?=
 =?utf-8?B?MnN3akpBcEdVZHN0ejU5Tzhham9pQi9YZ2J4VkdRT2tyOFFCanppYnJqUnBJ?=
 =?utf-8?B?NldLcmFRYkI5SEd4cTNMZlVlaHdCNWRGUEJKbEVlS0hSNC8xMGZMQlYxM3ox?=
 =?utf-8?B?Y09XZkhqRUh1SmF6N21LMmpEUVlBZVJHUlo5UFl4MndMN0szZ1VwczY3ZE0v?=
 =?utf-8?B?ZTU4WDR0TlJJcm40dmRXUzJOVGlVcldBcEZoaThRRVU5QUlITmd6VHBYbGNO?=
 =?utf-8?B?NlBicDdxbnZZeUR5YUQzNWFRUTNmc0ZMQlB5OGdZQXphMkdlUVNDeXFPaWJa?=
 =?utf-8?B?Z0luQXk4K3QwM1JwRDFCTXhhRjRZSmJVVkM5UjVEYVJacTFwdklpd2c0TzJn?=
 =?utf-8?B?Y2JPNzhQWkJLYTlPVC9hWkgyN1E0VVpZZWJyTjdIeUFPcE11bTQ5c2RYcCtt?=
 =?utf-8?B?UVVtU0dxa2hkQXpwdE5sZEtoSDR6Y1NpeHg1clRIYUZhUjA0dGcrWHFacEJQ?=
 =?utf-8?B?WEJzYUZkWmdXSCtuaDZqdjZOM2dqMWhOYlYrMHpIY1F0YTVVWVIzTUt1S25Q?=
 =?utf-8?B?QU00MFpDcFBXcVVHQlU0WmFCN0c3YlduOTUvd25ZWGtiWnBkK0ZWOElkaFBk?=
 =?utf-8?B?NFpGcVhoSk16WHJpVDdUSmlXcWVZMVU4VGJ5S212Y21hZHdzTUNod0UzNjI1?=
 =?utf-8?B?cDMwYm5aZEJQRm50bUpvdTl4SzVSRzJiR0hzYTVScysxUk5ENk5tSTlnODdK?=
 =?utf-8?B?dnp0RXJMdytYeUg4Tk05T0o5SzlKZzBnQWlFeFY2RHNIWnRsVUNsNnVkd1FJ?=
 =?utf-8?B?WVJnSG4wcFQ4MWNqdFNCUGZWN2p2dDZhQjJvMVg2RVEvcmpwVUdSNDJYY0RF?=
 =?utf-8?B?NUR1a05lcW41cVhsR3k5ajJhd3pwSXFwdWVHekJ1WXZhZm1IWnpRdkRodDFx?=
 =?utf-8?B?WlFhVXpydXpqYVIzQVFQQy9NNUo5U2wxVWYyUllWUWZSQjVJWndFdlVWRXF6?=
 =?utf-8?B?c0RkbDREQjhTSlVHV0x1SU1kWWh2SGtVY3JaWlRHU2JTYTlCWXZsNXY3aWw2?=
 =?utf-8?B?OElEZFFobjRBM2p1ME94RkJoU1Q1WTE0VmxjYWdxM3lhN3B5VkMxQVN3NGo0?=
 =?utf-8?B?eENiUEtGaUpUYUJ2N1hTSWNuMzZGTGVsS04rNG9HdTFzRFVKOW1KZkhNM0hz?=
 =?utf-8?B?U2o5dWdzalVwWVdtVXNhNkFuNWlpSDJiWFIvbDFRdHprWU5YYlhiUGlCQkVu?=
 =?utf-8?B?ajVZRTkwcTlrSUs1ak5Kc2d2SVJqWXFSYmg4NkoxMjRhSG9pNUpLc1AwS1F2?=
 =?utf-8?B?VytCVTVzTlVDNXlReGF0WVNSRXRxQ2FjL0s0dmRVUkduNElOVDFlR3dxdVdO?=
 =?utf-8?B?WmN2YXdPaEVrUnJNZTQrYWZnVjI0OUc4dUFzRlhiVzQrRjZDazNFdTVtb0tp?=
 =?utf-8?B?SDdQckRXblR4SExEZjhSam9BdmhLaXhxVUtHMTNNcVZWUzVHWEJndUdMc0FF?=
 =?utf-8?B?S1ZPVDRjeDlSSi93MzIxKzlxSTRUdGFYYU1MNmpnOHUwbXVndFQ1QjJzV0pi?=
 =?utf-8?B?ellrbDV6VS82b0JFVnFkOTNkWnJXaFRIaGk5eWtCU0VNOE8xbDY1T3RERWJI?=
 =?utf-8?B?RDN6YnlLRXlWczBQTm1ZVkVpeUtrb0dJYThYdFNSRENaam1VSkFScTVWOUx4?=
 =?utf-8?B?NFJnYlpycnllV2FzcGdOSmR1bHE3Q2Zzd1psN3oraEFxZnFXRkZlQVpDalBa?=
 =?utf-8?B?dkZpL25hMHBsR2lRdTlDdUVxeUFyY3Ava2RDNmRGc1hINFNwNjlIbURxSVdN?=
 =?utf-8?Q?+99k=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BBA0681E2EF0DF47927893BCC41AF71B@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: 9c0341a9-9f83-4356-feb7-08dd70255540
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 07:26:20.2861
 (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: hQ2fFoS7NvILTPdZXD3gW2p6zV8FigNuZiP9emoAIb6cjYyGzxZOeX0xUF1+kyZeZurNf273er44qE9eJRg3mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPF002462CFE

T24gMjAyNS8zLzI3IDE3OjI1LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBUaHUsIE1h
ciAyNywgMjAyNSBhdCAwMzozMjoxMlBNICswODAwLCBKaXFpYW4gQ2hlbiB3cm90ZToNCj4+IFdo
ZW4gdnBjaSBmYWlscyB0byBpbml0aWFsaXplIGEgY2FwYWJpbGl0eSBvZiBhIGRldmljZSwgaXQg
anVzdA0KPj4gcmV0dXJuIGVycm9yIGluc3RlYWQgb2YgY2F0Y2hpbmcgYW5kIHByb2Nlc3Npbmcg
ZXhjZXB0aW9uLiBUaGF0DQo+PiBtYWtlcyB0aGUgZW50aXJlIGRldmljZSB1bnVzYWJsZS4NCj4+
DQo+PiBTbywgcmVmYWN0b3IgUkVHSVNURVJfVlBDSV9JTklUIHRvIGNvbnRhaW4gbW9yZSBjYXBh
YmlsaXR5IHNwZWNpZmljDQo+PiBpbmZvcm1hdGlvbiwgYW5kIHRyeSB0byBoaWRlIGNhcGFiaWxp
dHkgd2hlbiBpbml0aWFsaXphdGlvbiBmYWlscw0KPj4gaW4gdnBjaV9hc3NpZ25fZGV2aWNlKCku
DQo+Pg0KPj4gV2hhdCdzIG1vcmUsIGNoYW5nZSB0aGUgZGVmaW5pdGlvbiBvZiBpbml0X2hlYWRl
cigpIHNpbmNlIGl0IGlzDQo+PiBub3QgYSBjYXBhYmlsaXR5IGFuZCBpdCBpcyBuZWVkZWQgZm9y
IGFsbCBkZXZpY2VzJyBQQ0kgY29uZmlnIHNwYWNlLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEpp
cWlhbiBDaGVuIDxKaXFpYW4uQ2hlbkBhbWQuY29tPg0KPj4gLS0tDQo+PiBIaSBhbGwsDQo+Pg0K
Pj4gVGhpcyBwYXRjaCBhaW1zIHRvIGhpZGUgYSBjYXBhYmlsaXR5IHdoZW4gaXRzIGluaXRpYWxp
emF0aW9uIGZhaWxzLg0KPj4gVGhhdCBjYXVzZXMgd2UgY2FuJ3QgcmVseSBvbiB2cGNpX2RlYXNz
aWduX2RldmljZSgpIHRvIGNsZWFuIHVwIGFzc2lnbmVkDQo+PiByZXNvdXJjZXMsIHNvLCBmb2xs
b3dpbmcgdHdvIHBhdGNoZXMgY2xlYW4gdXAgcmVzb3VyY2VzIGluIHRoZSBmYWlsdXJlDQo+PiBw
YXRoIG9mIGluaXQgZnVuY3Rpb24uDQo+Pg0KPj4gQmVzdCByZWdhcmRzLA0KPj4gSmlxaWFuIENo
ZW4uDQo+PiAtLS0NCj4+ICB4ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jIHwgIDMgKy0NCj4+ICB4
ZW4vZHJpdmVycy92cGNpL21zaS5jICAgIHwgIDIgKy0NCj4+ICB4ZW4vZHJpdmVycy92cGNpL21z
aXguYyAgIHwgIDIgKy0NCj4+ICB4ZW4vZHJpdmVycy92cGNpL3JlYmFyLmMgIHwgIDIgKy0NCj4+
ICB4ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyAgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrLS0tLS0tDQo+PiAgeGVuL2luY2x1ZGUveGVuL3ZwY2kuaCAgICB8IDI3ICsrKysr
KysrKysrKy0tLS0NCj4+ICA2IGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDIwIGRl
bGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5j
IGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYw0KPj4gaW5kZXggZWY2Yzk2NWMwODFjLi44Yzhl
NGFjNTY5OGEgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jDQo+PiAr
KysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jDQo+PiBAQCAtNzQ1LDcgKzc0NSw3IEBAIHN0
YXRpYyBpbnQgYmFyX2FkZF9yYW5nZXNldChjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgc3Ry
dWN0IHZwY2lfYmFyICpiYXIsDQo+PiAgICAgIHJldHVybiAhYmFyLT5tZW0gPyAtRU5PTUVNIDog
MDsNCj4+ICB9DQo+PiAgDQo+PiAtc3RhdGljIGludCBjZl9jaGVjayBpbml0X2hlYWRlcihzdHJ1
Y3QgcGNpX2RldiAqcGRldikNCj4+ICtpbnQgdnBjaV9pbml0X2hlYWRlcihzdHJ1Y3QgcGNpX2Rl
diAqcGRldikNCj4+ICB7DQo+PiAgICAgIHVpbnQxNl90IGNtZDsNCj4+ICAgICAgdWludDY0X3Qg
YWRkciwgc2l6ZTsNCj4+IEBAIC0xMDA3LDcgKzEwMDcsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGluaXRfaGVhZGVyKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gICAgICBwY2lfY29uZl93cml0
ZTE2KHBkZXYtPnNiZGYsIFBDSV9DT01NQU5ELCBjbWQpOw0KPj4gICAgICByZXR1cm4gcmM7DQo+
PiAgfQ0KPj4gLVJFR0lTVEVSX1ZQQ0lfSU5JVChpbml0X2hlYWRlciwgVlBDSV9QUklPUklUWV9N
SURETEUpOw0KPj4gIA0KPj4gIC8qDQo+PiAgICogTG9jYWwgdmFyaWFibGVzOg0KPj4gZGlmZiAt
LWdpdCBhL3hlbi9kcml2ZXJzL3ZwY2kvbXNpLmMgYi94ZW4vZHJpdmVycy92cGNpL21zaS5jDQo+
PiBpbmRleCA2NmU1YThhMTE2YmUuLjlkN2E5ZmQ4ZGJhMSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9k
cml2ZXJzL3ZwY2kvbXNpLmMNCj4+ICsrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvbXNpLmMNCj4+IEBA
IC0yNzAsNyArMjcwLDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBpbml0X21zaShzdHJ1Y3QgcGNp
X2RldiAqcGRldikNCj4+ICANCj4+ICAgICAgcmV0dXJuIDA7DQo+PiAgfQ0KPj4gLVJFR0lTVEVS
X1ZQQ0lfSU5JVChpbml0X21zaSwgVlBDSV9QUklPUklUWV9MT1cpOw0KPj4gK1JFR0lTVEVSX1ZQ
Q0lfTEVHQUNZX0NBUChQQ0lfQ0FQX0lEX01TSSwgaW5pdF9tc2ksIFZQQ0lfUFJJT1JJVFlfTE9X
KTsNCj4+ICANCj4+ICB2b2lkIHZwY2lfZHVtcF9tc2kodm9pZCkNCj4+ICB7DQo+PiBkaWZmIC0t
Z2l0IGEveGVuL2RyaXZlcnMvdnBjaS9tc2l4LmMgYi94ZW4vZHJpdmVycy92cGNpL21zaXguYw0K
Pj4gaW5kZXggNmJkOGM1NWJiNDhlLi41MGU1ZjM4YzFlMDkgMTAwNjQ0DQo+PiAtLS0gYS94ZW4v
ZHJpdmVycy92cGNpL21zaXguYw0KPj4gKysrIGIveGVuL2RyaXZlcnMvdnBjaS9tc2l4LmMNCj4+
IEBAIC03NTMsNyArNzUzLDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBpbml0X21zaXgoc3RydWN0
IHBjaV9kZXYgKnBkZXYpDQo+PiAgDQo+PiAgICAgIHJldHVybiAwOw0KPj4gIH0NCj4+IC1SRUdJ
U1RFUl9WUENJX0lOSVQoaW5pdF9tc2l4LCBWUENJX1BSSU9SSVRZX0hJR0gpOw0KPj4gK1JFR0lT
VEVSX1ZQQ0lfTEVHQUNZX0NBUChQQ0lfQ0FQX0lEX01TSVgsIGluaXRfbXNpeCwgVlBDSV9QUklP
UklUWV9ISUdIKTsNCj4+ICANCj4+ICAvKg0KPj4gICAqIExvY2FsIHZhcmlhYmxlczoNCj4+IGRp
ZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3JlYmFyLmMgYi94ZW4vZHJpdmVycy92cGNpL3Jl
YmFyLmMNCj4+IGluZGV4IDc5MzkzNzQ0OWFmNy4uN2M1M2VlMDMxODg3IDEwMDY0NA0KPj4gLS0t
IGEveGVuL2RyaXZlcnMvdnBjaS9yZWJhci5jDQo+PiArKysgYi94ZW4vZHJpdmVycy92cGNpL3Jl
YmFyLmMNCj4+IEBAIC0xMTgsNyArMTE4LDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBpbml0X3Jl
YmFyKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gIA0KPj4gICAgICByZXR1cm4gMDsNCj4+ICB9
DQo+PiAtUkVHSVNURVJfVlBDSV9JTklUKGluaXRfcmViYXIsIFZQQ0lfUFJJT1JJVFlfTE9XKTsN
Cj4+ICtSRUdJU1RFUl9WUENJX0VYVEVORF9DQVAoUENJX0VYVF9DQVBfSURfUkVCQVIsIGluaXRf
cmViYXIsIFZQQ0lfUFJJT1JJVFlfTE9XKTsNCj4+ICANCj4+ICAvKg0KPj4gICAqIExvY2FsIHZh
cmlhYmxlczoNCj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyBiL3hlbi9k
cml2ZXJzL3ZwY2kvdnBjaS5jDQo+PiBpbmRleCAxZTZhYTVkNzk5YjkuLmE4MzYyZTQ2ZTA5NyAx
MDA2NDQNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+PiArKysgYi94ZW4vZHJp
dmVycy92cGNpL3ZwY2kuYw0KPj4gQEAgLTM2LDggKzM2LDggQEAgc3RydWN0IHZwY2lfcmVnaXN0
ZXIgew0KPj4gIH07DQo+PiAgDQo+PiAgI2lmZGVmIF9fWEVOX18NCj4+IC1leHRlcm4gdnBjaV9y
ZWdpc3Rlcl9pbml0X3QgKmNvbnN0IF9fc3RhcnRfdnBjaV9hcnJheVtdOw0KPj4gLWV4dGVybiB2
cGNpX3JlZ2lzdGVyX2luaXRfdCAqY29uc3QgX19lbmRfdnBjaV9hcnJheVtdOw0KPj4gK2V4dGVy
biB2cGNpX2NhcGFiaWxpdHlfdCAqY29uc3QgX19zdGFydF92cGNpX2FycmF5W107DQo+PiArZXh0
ZXJuIHZwY2lfY2FwYWJpbGl0eV90ICpjb25zdCBfX2VuZF92cGNpX2FycmF5W107DQo+PiAgI2Rl
ZmluZSBOVU1fVlBDSV9JTklUIChfX2VuZF92cGNpX2FycmF5IC0gX19zdGFydF92cGNpX2FycmF5
KQ0KPj4gIA0KPj4gICNpZmRlZiBDT05GSUdfSEFTX1ZQQ0lfR1VFU1RfU1VQUE9SVA0KPj4gQEAg
LTgzLDYgKzgzLDQ3IEBAIHN0YXRpYyBpbnQgYXNzaWduX3ZpcnR1YWxfc2JkZihzdHJ1Y3QgcGNp
X2RldiAqcGRldikNCj4+ICANCj4+ICAjZW5kaWYgLyogQ09ORklHX0hBU19WUENJX0dVRVNUX1NV
UFBPUlQgKi8NCj4+ICANCj4+ICtzdGF0aWMgaW50IHZwY2lfaW5pdF9jYXBfd2l0aF9wcmlvcml0
eShzdHJ1Y3QgcGNpX2RldiAqcGRldiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBjaGFyICpwcmlvcml0eSkNCj4+ICt7DQo+PiArICAgIGZvciAoIHVu
c2lnbmVkIGludCBpID0gMDsgaSA8IE5VTV9WUENJX0lOSVQ7IGkrKyApDQo+PiArICAgIHsNCj4+
ICsgICAgICAgIGNvbnN0IHZwY2lfY2FwYWJpbGl0eV90ICpjYXBhYmlsaXR5ID0gX19zdGFydF92
cGNpX2FycmF5W2ldOw0KPj4gKyAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IGNhcF9pZCA9IGNh
cGFiaWxpdHktPmlkOw0KPj4gKyAgICAgICAgdW5zaWduZWQgaW50IHBvczsNCj4+ICsgICAgICAg
IGludCByYzsNCj4+ICsNCj4+ICsgICAgICAgIGlmICggKihjYXBhYmlsaXR5LT5wcmlvcml0eSkg
IT0gKnByaW9yaXR5ICkNCj4+ICsgICAgICAgICAgICBjb250aW51ZTsNCj4+ICsNCj4+ICsgICAg
ICAgIGlmICggIWNhcGFiaWxpdHktPmlzX2V4dCApDQo+PiArICAgICAgICAgICAgcG9zID0gcGNp
X2ZpbmRfY2FwX29mZnNldChwZGV2LT5zYmRmLCBjYXBfaWQpOw0KPj4gKyAgICAgICAgZWxzZQ0K
Pj4gKyAgICAgICAgICAgIHBvcyA9IHBjaV9maW5kX2V4dF9jYXBhYmlsaXR5KHBkZXYtPnNiZGYs
IGNhcF9pZCk7DQo+PiArDQo+PiArICAgICAgICBpZiAoICFwb3MgKQ0KPj4gKyAgICAgICAgICAg
IGNvbnRpbnVlOw0KPj4gKw0KPj4gKyAgICAgICAgcmMgPSBjYXBhYmlsaXR5LT5pbml0KHBkZXYp
Ow0KPj4gKw0KPj4gKyAgICAgICAgaWYgKCByYyApDQo+PiArICAgICAgICB7DQo+PiArICAgICAg
ICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICIlcGQgJXBwOiBjYXAgaW5pdCBmYWlsIHJjPSVk
LCB0cnkgdG8gaGlkZVxuIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLCAm
cGRldi0+c2JkZiwgcmMpOw0KPj4gKyAgICAgICAgICAgIHJjID0gdnBjaV9hZGRfcmVnaXN0ZXIo
cGRldi0+dnBjaSwgdnBjaV9yZWFkX3ZhbCwgTlVMTCwNCj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBvcywgY2FwYWJpbGl0eS0+aXNfZXh0ID8gNCA6IDEsIE5VTEwpOw0K
PiANCj4gQXJlIHlvdSBzdXJlIHRoaXMgd29ya3MgYXMgaW50ZW5kZWQ/IA0KWWVzLCBJIHVzZWQg
ZmFpbHVyZSB0ZXN0IGNhc2VzIG9mIGluaXRfbXNpL3JlYmFyLg0KRnJvbSB0aGUgImxzcGNpIiBy
ZXN1bHQsIHRoZXkgd2VyZSBoaWRlZCBmcm9tIHRoZSBkb20wLg0KQnV0IEkgZm9yZ290IHRvIHRl
c3QgZm9yIGRvbVVzLg0KDQo+IFRoZSBjYXBhYmlsaXR5IElEIDAgaXMgbWFya2VkIGFzICJyZXNl
cnZlZCIgaW4gdGhlIHNwZWMsIHNvIGl0J3MgdW5jbGVhciB0byBtZSBob3cgT1NlcyB3b3VsZCBo
YW5kbGUNCj4gZmluZGluZyBzdWNoIGNhcGFiaWxpdHkgb24gdGhlIGxpc3QgLSBJIHdvbid0IGJl
IHN1cnByaXNlZCBpZiBzb21lDQo+IGltcGxlbWVudGF0aW9ucyBkZWNpZGUgdG8gdGVybWluYXRl
IHRoZSB3YWxrLiAgSXQncyBmaW5lIHRvIG1hc2sgdGhlDQo+IGNhcGFiaWxpdHkgSUQgZm9yIHRo
ZSBvbmVzIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBleHBvc2UsIGJ1dCB0aGVyZSdzDQo+IGZ1cnRo
ZXIgd29yayB0byBkbyBJTU8uDQo+IA0KPiBUaGUgdXN1YWwgd2F5IHRvIGRlYWwgd2l0aCBtYXNr
aW5nIGNhcGFiaWxpdGllcyBpcyB0byBzaG9ydCBjaXJjdWl0DQo+IHRoZSBjYXBhYmlsaXR5IGZy
b20gdGhlIGxpbmtlZCBsaXN0LCBieSBtYWtpbmcgdGhlIHByZXZpb3VzIGNhcGFiaWxpdHkNCj4g
Ik5leHQgQ2FwYWJpbGl0eSBPZmZzZXQiIHBvaW50IHRvIHRoZSBuZXh0IGNhcGFiaWxpdHkgaW4g
dGhlIGxpc3QsDQo+IHRodXMgc2tpcHBpbmcgdGhlIGN1cnJlbnQgb25lLiBTbzoNCj4gDQo+IGNh
cGFiaWxpdHlbbiAtIDFdLm5leHRfY2FwID0gY2FwYWJpbGl0eVtuXS5uZXh0X2NhcA0KPiANCj4g
SU9XOiB5b3Ugd2lsbCBuZWVkIHRvIGFkZCB0aGUgaGFuZGxlciB0byB0aGUgcHJldmlvdXMgY2Fw
YWJpbGl0eSBvbg0KPiB0aGUgbGlzdC4gIFRoYXQncyBob3cgaXQncyBhbHJlYWR5IGRvbmUgaW4g
aW5pdF9oZWFkZXIoKS4NCk9oLCBJIGdvdCB5b3VyIG9waW5pb24uDQpCdXQgd2UgbWF5IG5lZWQg
dG8gZGlzY3VzcyB0aGlzIG1vcmUuDQpJbiBteSBvcGluaW9uLCB0aGVyZSBzaG91bGQgYmUgdHdv
IHNpdHVhdGlvbnM6DQpGaXJzdCwgaWYgZGV2aWNlIGJlbG9uZ3MgdG8gaGFyZHdhcmUgZG9tYWlu
LCB0aGVyZSBpcyBubyBlbXVsYXRpb24gb2YgbGVnYWN5IG9yIGV4dGVuZGVkIGNhcGFiaWxpdGll
cyBsaW5rZWQgbGlzdCBpZiBJIHVuZGVyc3RhbmQgY29kZXMgcmlnaHQuDQpTbywgZm9yIHRoaXMg
c2l0dWF0aW9uLCBJIHRoaW5rIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgbXkgcGF0Y2ggaXMg
ZW5vdWdoIGZvciBoaWRpbmcgbGVnYWN5IG9yIGV4dGVuZGVkIGNhcGFiaWxpdGllcy4NCg0KU2Vj
b25kLCBpZiBkZXZpY2UgYmVsb25ncyB0byBjb21tb24gZG9tYWluLCB3ZSBqdXN0IG5lZWQgdG8g
Y29uc2lkZXIgbGVnYWN5IGNhcGFiaWxpdGllcyBzaW5jZSBhbGwgZXh0ZW5kZWQgY2FwYWJpbGl0
aWVzIGFyZSBoaWRlZCBpbiBpbml0X2hlYWRlcigpLg0KU28sIGZvciB0aGlzIHNpdHVhdGlvbiwg
SSBuZWVkIHRvIHdoYXQgeW91IHNhaWQgIiBjYXBhYmlsaXR5W24gLSAxXS5uZXh0X2NhcCA9IGNh
cGFiaWxpdHlbbl0ubmV4dF9jYXAgIg0KDQpJIGFtIG5vdCBzdXJlIGlmIGFib3ZlIGFyZSByaWdo
dC4NCj4gDQo+PiArICAgICAgICAgICAgaWYgKCByYyApDQo+PiArICAgICAgICAgICAgew0KPj4g
KyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiJXBkICVwcDogZmFpbCB0byBoaWRl
IGNhcCByYz0lZFxuIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHBkZXYtPmRvbWFpbiwg
JnBkZXYtPnNiZGYsIHJjKTsNCj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KPj4gKyAg
ICAgICAgICAgIH0NCj4+ICsgICAgICAgIH0NCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByZXR1
cm4gMDsNCj4+ICt9DQo+PiArDQo+PiAgdm9pZCB2cGNpX2RlYXNzaWduX2RldmljZShzdHJ1Y3Qg
cGNpX2RldiAqcGRldikNCj4+ICB7DQo+PiAgICAgIHVuc2lnbmVkIGludCBpOw0KPj4gQEAgLTEy
OCw3ICsxNjksNiBAQCB2b2lkIHZwY2lfZGVhc3NpZ25fZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpw
ZGV2KQ0KPj4gIA0KPj4gIGludCB2cGNpX2Fzc2lnbl9kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBk
ZXYpDQo+PiAgew0KPj4gLSAgICB1bnNpZ25lZCBpbnQgaTsNCj4+ICAgICAgY29uc3QgdW5zaWdu
ZWQgbG9uZyAqcm9fbWFwOw0KPj4gICAgICBpbnQgcmMgPSAwOw0KPj4gIA0KPj4gQEAgLTE1OSwx
MiArMTk5LDE5IEBAIGludCB2cGNpX2Fzc2lnbl9kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBkZXYp
DQo+PiAgICAgICAgICBnb3RvIG91dDsNCj4+ICAjZW5kaWYNCj4+ICANCj4+IC0gICAgZm9yICgg
aSA9IDA7IGkgPCBOVU1fVlBDSV9JTklUOyBpKysgKQ0KPj4gLSAgICB7DQo+PiAtICAgICAgICBy
YyA9IF9fc3RhcnRfdnBjaV9hcnJheVtpXShwZGV2KTsNCj4+IC0gICAgICAgIGlmICggcmMgKQ0K
Pj4gLSAgICAgICAgICAgIGJyZWFrOw0KPj4gLSAgICB9DQo+PiArICAgIC8qDQo+PiArICAgICAq
IENhcGFiaWxpdGllcyB3aXRoIGhpZ2ggcHJpb3JpdHkgbGlrZSBNU0ktWCBuZWVkIHRvDQo+PiAr
ICAgICAqIGJlIGluaXRpYWxpemVkIGJlZm9yZSBoZWFkZXINCj4+ICsgICAgICovDQo+PiArICAg
IHJjID0gdnBjaV9pbml0X2NhcF93aXRoX3ByaW9yaXR5KHBkZXYsIFZQQ0lfUFJJT1JJVFlfSElH
SCk7DQo+PiArICAgIGlmICggcmMgKQ0KPj4gKyAgICAgICAgZ290byBvdXQ7DQo+IA0KPiBJIHVu
ZGVyc3RhbmQgdGhpcyBpcyBub3QgaW50cm9kdWNlZCBieSB0aGlzIGNoYW5nZSwgYnV0IEkgd29u
ZGVyIGlmDQo+IHRoZXJlIGNvdWxkIGJlIGEgd2F5IHRvIGRpdGNoIHRoZSBwcmlvcml0eSBzdHVm
ZiBmb3IgY2FwYWJpbGl0aWVzLA0KPiBzcGVjaWFsbHkgbm93IHRoYXQgd2Ugb25seSBoYXZlIHR3
byAicHJpb3JpdGllcyI6IGJlZm9yZSBvciBhZnRlciBQQ0kNCj4gaGVhZGVyIGluaXRpYWxpemF0
aW9uLg0KSSBoYXZlIGFuIGlkZWEsIGJ1dCBpdCBzZWVtcyBsaWtlIGEgaGFrZS4NCkNhbiB3ZSBh
ZGQgYSBmbGFnKG1heWJlIG5hbWUgaXQgIm1zaXhfaW5pdGlhbGl6ZWQiKSB0byBzdHJ1Y3QgdnBj
aXt9Pw0KVGhlbiBpbiB2cGNpX21ha2VfbXNpeF9ob2xlKCksIHdlIGNhbiBmaXJzdCBjaGVjayB0
aGF0IGZsYWcsIGlmIGl0IGlzIGZhbHNlLCB3ZSByZXR1cm4gYW4gZXJyb3IgdG8gbGV0IG1vZGlm
eV9kZWNvZGluZygpIGRpcmVjdGx5IHJldHVybiBpbiB0aGUgcHJvY2VzcyBvZiBpbml0X2hlYWRl
ci4NCkFuZCBpbiB0aGUgc3RhcnQgb2YgaW5pdF9tc2l4KCksIHRvIHNldCBtc2l4X2luaXRpYWxp
emVkPXRydWUsIGluIHRoZSBlbmQgb2YgaW5pdF9tc2l4KCksIHRvIGNhbGwgbW9kaWZ5X2RlY29k
aW5nKCkgdG8gc2V0dXAgcDJtLg0KVGhlbiB3ZSBjYW4gcmVtb3ZlIHRoZSBwcmlvcml0aWVzLg0K
DQo+IA0KPiBUaGFua3MsIFJvZ2VyLg0KDQotLSANCkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVu
Lg0K


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 07:30:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 07:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931947.1334118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz9bO-0004BG-75; Mon, 31 Mar 2025 07:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931947.1334118; Mon, 31 Mar 2025 07:30: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 1tz9bO-0004B9-3m; Mon, 31 Mar 2025 07:30:34 +0000
Received: by outflank-mailman (input) for mailman id 931947;
 Mon, 31 Mar 2025 07:30: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz9bN-00048a-58
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 07:30:33 +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 070476f2-0e02-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 09:30:32 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39143200ddaso2639276f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 00: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-39c0b662850sm10396115f8f.26.2025.03.31.00.30.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 00: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: 070476f2-0e02-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743406231; x=1744011031; 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=5WxpwyIlJPxlrIKLTCvktjafdgYpbJds4VnDH9Ewamk=;
        b=XkwNK9UKUKZ+ZvFhqUjKCwZW4xkFOjY2z46qFRK5q6+fifQeKRaEHBWdWZcHRxSqPk
         uyyiyd6kd9nRXW9jIeswcYEcpR6ecZ5XjzwNxMiJswTrEYqK5yecGEgWu3VuuiXM8d4u
         vtWcr+7y5NJFVT5SGnHo0Ge39rttuFbg/CNAg+MaAIzJqq1SWiehwcgWS8QVGMS5Udo9
         vweTO+dRyZDqgwkyJbotr1mvyfPoY8LfSA5v2/rMgcj7SGccnG/OGkDkBPGzSgS0vBz0
         Gxjf2ns4ZaSxouZt+d16Hc594+Tz0swA+v6wqpjBeXYckmyMYzQibvO9WGAuNb0vVZGa
         6+Ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743406231; x=1744011031;
        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=5WxpwyIlJPxlrIKLTCvktjafdgYpbJds4VnDH9Ewamk=;
        b=WMHq9JgcgsBuNIXKJTDq9PdOO+JKMTSE5Rq/+r2/4pkyDSBW7Kw1zTBCTS3JMiAOkd
         MC986blvJu6PisUUG//Txa3kLMIUfPF/j+cx3nkquMN5yH0pY9KXvVtxMcRX9Nr5QhhK
         TTf+Q0p/I0Kgku7xvN+QnxVxSDdMeeJuqwmx24MhsXgGan7H1YzhnO+PftOPsB37Z7HK
         95tR6U82E9SbMDk/pREtJTzSH0Ogdl7yD+B4pq4usJc8bzOeXiWwnr62o7f9BefEP8uX
         KRlB80jx9WoxnWzpsG5xpgjociyHHblIaepldqbAZsCHrDlTR8UWe4QyAKCRAe8jLsN+
         yU0A==
X-Forwarded-Encrypted: i=1; AJvYcCUbyW/BxC0bZRiHPv66LtkJ+tUBQyh727UOi5ggt8vT2BbGXMLQ0VtOi8+NKt5qCG0QH4tzyFdlN+A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDjBxH+WgM47VRlgDTDtUc6EsxRNuKTqwm0CYCP0Jmbnvgfuvt
	ykA8v7WUPiwVuH+XA+rAyKISMFPXbezc6NJ/Xcq1zazVfINf/tN/JavVBXEXHQ==
X-Gm-Gg: ASbGnctYIzBg7Z2DtURIQY0hzLaBCDyrRdzScMA+b9/D27B6tDjmdizPydDi+B6BFeE
	j/Hc0tCqcrlrZpwlnI1bnot4K2Pirw+YilMQWLzfFvaQP2cjw+kTCjs85hVeKzJnPPUORPhHfg/
	Fjq6VjXZwEqoEGqQq//E1T5pduEzSiyy74VfvzfsCXqAsJEYQEZYGsg0pZJ4Oan9OctHDtNRZNe
	TgLR04/Ms8sUIkKEZkt51u8uXVOb6d7n2D78HFWGUi7X1KzP7Go8AThluGdK2lDt1jQurWzhroY
	X/Sr43UkhPf/ft86zojLoVAyApeRMYRsVVzm1t0P7Agib+zoJm6XkCMAsW3RDrYL2qmNQXee1f2
	tslUR5sD+9fBcS1GdRXlFtPDLXWoExQ==
X-Google-Smtp-Source: AGHT+IFSmPH36kvQUiaiu4R6ZBkigfODMirAfEfVXsp7JRV9vLUbaFkxDEkRYMgPDfE9enkKvmGtDQ==
X-Received: by 2002:a05:6000:1ace:b0:390:e1c5:fe2 with SMTP id ffacd0b85a97d-39c12117c44mr5819462f8f.38.1743406231382;
        Mon, 31 Mar 2025 00:30:31 -0700 (PDT)
Message-ID: <81dad4de-dbb1-44ff-b1bf-5d30c8f5d22b@suse.com>
Date: Mon, 31 Mar 2025 09:30:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 01/16] xen/lzo: Remove more remanants of TMEM
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Lin Liu <lin.liu@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-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: <20250328134427.874848-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> This logic was inserted by commit 447f613c5404 ("lzo: update LZO compression
> to current upstream version") but was only relevant for the TMEM logic, so
> should have been deleted in commit c492e19fdd05 ("xen: remove tmem from
> hypervisor")
> 
> Fixes: c492e19fdd05 ("xen: remove tmem from hypervisor")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 07:42:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 07:42:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931968.1334153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tz9mj-0008Rx-Kb; Mon, 31 Mar 2025 07:42:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931968.1334153; Mon, 31 Mar 2025 07: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 1tz9mj-0008Rq-GB; Mon, 31 Mar 2025 07:42:17 +0000
Received: by outflank-mailman (input) for mailman id 931968;
 Mon, 31 Mar 2025 07:42: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tz9mi-0008Rk-Jb
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 07:42:16 +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 a9991c03-0e03-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 09:42:14 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43948021a45so41766095e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 00:42: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
 5b1f17b1804b1-43d8fbc10e1sm112933915e9.12.2025.03.31.00.42.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 00: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: a9991c03-0e03-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743406934; x=1744011734; 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=kTH+44uyqZQ2AnKI4gU4wAgOXUxVo/Mrp/QtLIgJgjc=;
        b=SyEcoXpdZE+UwanC7lip/2lqGqiml01+IEtjBbpqI0Gpxfz4qZ1alZ3TAo7dRRIf+Z
         JQEhqYE7Zlun/c3M05rZ4cs+Zv8uhZOR2oUkAzejPRbMUr3nQqEDvgdYG8KjnCo//HnR
         xAxEt6uMLJTqGRmJQCI7Rkr7FhFhEZYJ7szR1NXlI39L0r9OK2mZYKrxMyAMEUZpf+4Q
         qvoqUHcztvrkf1K3VWcCNbHV8ivb3B8xHFgYl/hm2vsCC3JPOuXFGOa32B0NdWAqpsLH
         AzfUUSG6zBvGQAJD7r5+Q104UrhR9gGP3yNDDqJOoO4g2rQ/qRixy7ALRqMJ8UUMnDbj
         VTpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743406934; x=1744011734;
        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=kTH+44uyqZQ2AnKI4gU4wAgOXUxVo/Mrp/QtLIgJgjc=;
        b=Hd/REk6UPylFB+urb/UnpLlgxhfEhI8L66MUgpriijQxnli6IiCBU3NhBVp5pvkPx9
         7N+hNyG8WmsheD1a5xUoLMi4PF4rW1yRtFgmeOlKBZIryS50lCxblwUlPx4ZL899cgeF
         cPEpAP/xpuwoX8ql8jroduLOp0V6xHavdStvNmKj7qspnSP77GhaFLtmgTtVYcybFujw
         HKDrRlHz9jBdJ0jKTTPyKwGVtzI+SgmCF6hGQXgKosfRRb1k1+grtScbSUYY8NseGs6Y
         foE57Yj8GjNkVJEnEpNQGqx9iM3lx5p9qQXiPziwVvEJVc5h5jzuZONM06ntCIhjO4Mq
         a+pQ==
X-Forwarded-Encrypted: i=1; AJvYcCWsQaNFC/H61EQbfYm4JIpB2pwl92g+xcQ6HNJDkFjyEOMYzoZrVLxS6z7VsnBRzmtnB+bs1RlC/wQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxAE1t8ZV/P29SpoR2i5rC5vwUcsoAb6s5ywmsOnpCWQwLNzsPn
	qh18oSHAkrwNVFSXvSLJORzkhDCHLSD2O5ke/vblcTpRxcctW2Y7lxvYQt8IOw==
X-Gm-Gg: ASbGncvQUyXSs18GWU9g6F/hZ6CxW3IwwSuGjZpYI3Oc5i4IGmN6+hum4+pq+Occfrc
	13imVmZybMHg5jgv7lJzVmRR1dQnvhVY2MXO3bHYbbf+HA3hPa4N/HEiDegLvdzsJ9CF1wjLidS
	5AnF9bDkRT6HCSpdiF5tL689tPIhKqAHtHZ/FJMoATUCDXQTO7ZOLHyVN7Xw7wUL/Pl+A2Tji+5
	pGhXYvXVOnk1szP+51ug06KKkQTRcfrr+ZRkWjxmlEd5zh0vXYifC/CuQkiohxbjrqkc/wAvKbn
	++/NtpLVUJZqCictkb7UnSnCJS0odG7qkI4GIvwEF/wSniz7y7Yu4HHvzvATa+iQl2ACWbp7OC1
	LB8c6PFdHKssKNerjt4HiPRfr8y0Olg==
X-Google-Smtp-Source: AGHT+IHQetVlKCsNKPAX7Bj5tw/Gf6Vk7+bBfq3wAq/oR0fUWreC+HAI2vHmKRUAtcX4KX/wWkMTnw==
X-Received: by 2002:a05:600c:c0f:b0:43d:b51:46fb with SMTP id 5b1f17b1804b1-43db61d8dd7mr67899755e9.2.1743406933738;
        Mon, 31 Mar 2025 00:42:13 -0700 (PDT)
Message-ID: <88971ebb-6a58-4d7e-b7e6-2db9b78fa341@suse.com>
Date: Mon, 31 Mar 2025 09:42:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 02/16] xen: Remove __{BIG,LITTLE}_ENDIAN_BITFIELD
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Lin Liu <lin.liu@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-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: <20250328134427.874848-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> There is a singular user.  It's unlikely we'll gain a big-endian build of Xen,
> but it's far more unlikely that bitfields will differ from main endianness.

Just one point: While endian-ness in general is dictated by hardware, endian-
ness of bitfields is entirely a psABI thing, aiui. Hence tying both together
(beyond the latter defaulting to the former) doesn't seem quite appropriate
to me.

> I'm tempted to simply drop the logic in maptrack_node.  If any big-endian
> build of Xen came along, that's probably the least of it's worries.

As long as it's not obviously broken, I'd prefer to keep such. While it may
not be a primary worry, it's still one less of all the worries then.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:14:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931982.1334164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAHR-0007dQ-SC; Mon, 31 Mar 2025 08:14:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931982.1334164; Mon, 31 Mar 2025 08: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 1tzAHR-0007dJ-PR; Mon, 31 Mar 2025 08:14:01 +0000
Received: by outflank-mailman (input) for mailman id 931982;
 Mon, 31 Mar 2025 08: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=S+FP=WS=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1tzAHP-0007dD-HA
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:13:59 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2413::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15497d0b-0e08-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:13:54 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by CH2PR12MB9520.namprd12.prod.outlook.com (2603:10b6:610:280::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.50; Mon, 31 Mar
 2025 08:13:50 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%3]) with mapi id 15.20.8534.043; Mon, 31 Mar 2025
 08: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: 15497d0b-0e08-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hIMT3gj4VDyQAITtM78PC/47oh7AxO/VCzYobtI/7GW++teYr97XPXZeTRvWgXa2RKJHPq/iTr8hJaVrWHXqSjjQuCg3fZ4l6t+RX8wlz10enoJ2qRA2PO2zSi+fUo60hllt+HoJiHlaxeQiKJt9b01lnQWoyUtlQefuRJSaaF7OaMPYP4k9/uIp7J8VapXsf9z2vhkwLZOEpIVIgXquYgr+7I+oGOMcUcIfbRMrqancKG47ZHUCwuooyX3aQ1LLIchopr1A2OejvUpg4Ew5oyG8KRIvL0qRZmyziJI1Tcg3qHm3QsN4ng4vwhsiomBhZyKYd1/X5r9gzrP3oonr1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rvMtCXFensaksRYH69qmqAM3YwAAJ7nQEU36S55nvlU=;
 b=M/+FSjRh9cVFVpIdv6q2JTyCnfyfjnscmQe49Hj0phCgWU2NRNJTP1RGDIUkgLmzeaim6t19Xz2XIPQW3cMX2A+wIFELVwxJD1WFBi8Wpr9K3Omr8aEFTA2PSLnQr2MzHtrS0nPUqhIxr4HkHDtGGvfRsYQgc5sQyenTbUUe05NS4rmYJ9K3GaM54aGOJjGPstyv2Uvl9Q8Zj0xFDT9kuWzgUCi3nbwQ10Sj7CTdFl+61oQE6OuQQmbTDZQOxOsgLldL3s2c5hr6TUHY8Zptn714C0dXV+kTm0JElr9Z2vx4D+8oh46i2OK6I06H0EFcoAjpbLK1u/4+SbZ+d9qahA==
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=rvMtCXFensaksRYH69qmqAM3YwAAJ7nQEU36S55nvlU=;
 b=5ExI95Tc3ff2CWPpVCKcSF0VxOupZVWBZXd764TOGmUh0jQSwaV+YsBv4tB4z9k6vdtL28+EpJTbTZmo6wXVBHhwCIDtbuaxKwx6UUjUUhg+/5say3O034I/CEkgdGaL7tS+Lk+dQuymVc6KgX0k6QX+PwlcJJqTXmbhUIJrilI=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "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 v1 3/3] vpci/msi: Remove registers when init_msi() fails
Thread-Topic: [PATCH v1 3/3] vpci/msi: Remove registers when init_msi() fails
Thread-Index: AQHbnup+4g7LdxtjbkeTZtpJleytN7OG7gUAgAZ9hYA=
Date: Mon, 31 Mar 2025 08:13:50 +0000
Message-ID:
 <BL1PR12MB584905BC9966EF9742FF4472E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <20250327073214.158210-3-Jiqian.Chen@amd.com>
 <Z-VIFo7q7-UNsLCt@macbook.local>
In-Reply-To: <Z-VIFo7q7-UNsLCt@macbook.local>
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.8534.033)
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_|CH2PR12MB9520:EE_
x-ms-office365-filtering-correlation-id: ab6d1f75-b0b6-4d75-0eed-08dd702bf7dc
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?Vml0OU1iKzhaYXZoWmtDWmRUTFNocWtybkdwR2Z2UzkzSjR3WU1OK2NyRkkw?=
 =?utf-8?B?NkR1ZDlZSW5ocmJzRGw0T2Nrb2l3U3IvUWtFclFOekZFczRPdUxrSmZpUm82?=
 =?utf-8?B?NDd2Zk4xbGFjN1c3eHdwWURydGVNYmdBVmNGLzR2WWVtNDl4MWtSdFFUVlVP?=
 =?utf-8?B?dTRQM2FwZXhhY0RGanQwSXBRaFMzR1JveXZIOC9BSkNZR01kWk5FYUtRODB3?=
 =?utf-8?B?VzZTMFZna2ZmcFQ0VXVuUTcwZmVCZWZxQzBxWGhvbkR2dnZlRkVxT01vTUsy?=
 =?utf-8?B?c3dlYkt0NkR3S3FGakloU1hBWFE0d2hDZXJLQzNiek92T3pJSktSc0RSdGs1?=
 =?utf-8?B?OWRNaElCQnVBdGFwVWVCQTNXd09HQ2ZsMlAxcVhVMjhIdVNCU3BxR1NRdW1p?=
 =?utf-8?B?eDNNN0lWbkRDblFqMVRqS01pVm81VmRCeXA2dHZpclpZQS8zb1hBWWQzR1ZR?=
 =?utf-8?B?eUVGTHJmenYyQmlUL05UTzVqdDZpNGZKTEl1SHArVyttK2JaaktFMHlMazNm?=
 =?utf-8?B?VFZIWDZ3Y3pDY0NBVmREN0U2ZWZ4UVJ6TklXQmZtemIzcU5yaCtXZVBDVzFq?=
 =?utf-8?B?Ujd3ZlpZdUU0TFBjdlFPTjBhMTlHZ3BMajVtUjJ1ZHo5dmNXOW4wVEMvNjF4?=
 =?utf-8?B?dGFXNWV2ZHAreUFHak5IZDNNU1BsRE1iTFNSMnRJSkF3RTlNUUprY0c0RlhC?=
 =?utf-8?B?Nld5QldnNFdIb1FSUEdhbTM2SmlwM0xzaTdUdlNFNERxZk1yamRPcXMzRG1H?=
 =?utf-8?B?L2h4ZEx2MEU1WlNIWGIraGFzQUZQYUhLYUZJL2UxQTdNZnUveWlCbUc1bjJ2?=
 =?utf-8?B?R1hGSENMUUNOcFVZaU52WWJsUXJMbWgrK25QcXJJRDV1Nkx1MC9nbnhtY25U?=
 =?utf-8?B?MkZwMVM4Q1BrYlFOd2NmcW1mdndCYVZNTE5HL3Iwb1ZqcVZCOFRZNmFxMlBB?=
 =?utf-8?B?SFRPZ2cwNmFTL3VncXpZeFZSN3VYT1ZTQ21RY250WGxXZVFUUmkycEM4Ui9i?=
 =?utf-8?B?OUF0SER2L0EyVHRPMTBsRFpobHpwY2pKeVVnbWRMd3VUS1E5dGN5UExTSnYy?=
 =?utf-8?B?cUt5VjFHazZrWWVVWE9TajVkc21EU1BsWmdPeURUUEJhUTJLdkJIUENUZTRv?=
 =?utf-8?B?N3g0M281empQcVhnc1U1VWpDU2VJODNQTDdLMldoNGhCczYvK0JtU1N6QkVa?=
 =?utf-8?B?bkY0cWo2V0xaZTVEeGg0STB4bkFIamVvbmVlOXFUcnJ1eGU0d1BSMVBlSWNq?=
 =?utf-8?B?a0doUjRBSnlFb1lubkRidm8vSm9FWmo3UnhIWWpKWldKaTFZaXpvVVZuZjZQ?=
 =?utf-8?B?SlBDazVKd3E3L2hMOVhJbC9RdUV5L1JoYWw0RkRSbXJCZFhYUXFNVFlqdDA3?=
 =?utf-8?B?MWZTODBiRGx4QXpPZVc5NHJubGYwSmxlVkJ3RXhZVzM5ZWU5WTVFRVM2V3Vm?=
 =?utf-8?B?MUFPdFJNOWZWd1ZjN2FHZHZIRnBOMFpnSGVxcWFIKy9lTnJRbVVXY01Ld2No?=
 =?utf-8?B?NHhLSjUyOGdYZlhwQnBTbjFkRHJGVVczU3dnOHlhTHRrWllzMitNTEhMcU5B?=
 =?utf-8?B?anRiWXdvT3lUM3Z0WDRXbXMwMVdQTjBxZ1ljVEFnT0o1S3lNRGdwYlpqaFBU?=
 =?utf-8?B?a3hwMjVXTDhSUUV4ZnpXbkZuYlpwZWVEZ2JubG5XcXdNVkNFZ3dVQjlRVVJ3?=
 =?utf-8?B?NE02Q3RLRmcwZTYxU25yWDA2dGFNcVBLNTRXbHE0N0JsbjRDVERrL3N3RVhB?=
 =?utf-8?B?WU52dDZ2ZHdMakdCZkhHdlcwMWo3QWlUYWovaFZGR1YyRHVsZnNNenpSdnVn?=
 =?utf-8?B?WlNKTStrTDlVZmdwN3diZzhEamxYcStwR3ZIeVVIYzR3TnhjMlBmVWg0RG94?=
 =?utf-8?B?VmI4QWhvWWgrcFFMbmJEYm5aYW9pQ3dWeHkvTllzWUJGUVVKV05tWDVrai9k?=
 =?utf-8?Q?O9FKfJBT0qZVhwfXCCRay0QiMKXT8eOm?=
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)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?THVqNytiYzlra0c4elNxMDdqb3d3VDlnSmlDcUlVcVRBNDd4MFdhMThtOFU2?=
 =?utf-8?B?NHVrekdBWHhVdS93SFEwNzllWmRZZ1UyRnJ5SnhHK3Blek5wYUNJM3liRC8r?=
 =?utf-8?B?YmxKLzJaSW1NL09Fb3VqT3lMQmhJR2FSMHFndGFYVDJ4YUt4akVjVDh1NFhV?=
 =?utf-8?B?LzFTZ2M1MHJrM0dIdXNpeGlleFZZR09GMGF0WmZPcDc5YXpPb2Q3dnRMYjVz?=
 =?utf-8?B?Q3NZYlo2UHIrMXRXQ0NRTXF6bDd1dGg5Y2h2aEJUeEYwK0ZkaDFWM0VzN29l?=
 =?utf-8?B?RzRFQjQyYzJldVBLSFlvNmFhVW9yVkJyQzV0R0w4bVNXWlpQVHNrM1B0NURS?=
 =?utf-8?B?OTU4Z3AvY0pidzZscVRjMFlYeFpoUTdxVldvWEd2bmpKRGZKMVZxOTdkRGNG?=
 =?utf-8?B?N1o2S01LT2dIOHp2RThGNlp2czlqNEVmVnUyaCtabHNtcXpNT2FCNFpydG5s?=
 =?utf-8?B?N2s0QUNWbVltRU9KQXZveXIwQmszdG10TTVzcUVpK1JNY2VHb3VlUmw0MkJM?=
 =?utf-8?B?ZFVYQlNwYmJQTmtDbVhUcjU1MzhrVCt3QU5rU1dXYTJFbVBXS0tMcW94K3B4?=
 =?utf-8?B?UHVHZ0Uva3hGNjBSYmlhK0orYWNFc0VVWkdhaE5MTFNmaHMvTmJCTE5CaWVM?=
 =?utf-8?B?ODRlQ3RMby90SGQ0L3Z1YjZzSXhRTlgrSUllSVVKR0drV2UwZFB4RDBlTFNT?=
 =?utf-8?B?ZWdySnRyMVNwSVdHRnNuQlRSTHVsL2dQNlYrVE9kdXpvbDIzNHliM0xnaTZo?=
 =?utf-8?B?M211UjhCNDBrOUlrMW1lRzhFT2x1dkNiRVNhS2cyU2lJaGpONXV4RmQvcUQ2?=
 =?utf-8?B?eDlzQnhyYXMvVWh6OFIwRGNmZ3dDdGQ5YmE4M0pnUTVZMS9TSG5JSllyaVow?=
 =?utf-8?B?dnNaWkMvTnFRUExVMmcvTFUySDR5NGk2NkFjVGVPYWVDTWpnamFidmtxSVFN?=
 =?utf-8?B?VlFSbUVKc296UGh3SHE3S2hCM3dtbjZaUVdHZjB2cGE5NWhpUFdDeGRHYU4r?=
 =?utf-8?B?b1M1ekp0K0ZwRjh3ZjI3Wkd2OVhLYnV5aVI2OXNkakljQ2Z2YzN0MHNvWnlv?=
 =?utf-8?B?NmFaT3BNd3hUT21UVm43Q2lTTkhhUmJOaWZZcFo5aWl0UC9EcXZSS3Z5K3J5?=
 =?utf-8?B?ZUowOWdycGNkald5WE5IQTJhRGtzQ0ZZdkRSZnhqOU9BTkQweFlzMmlIb24z?=
 =?utf-8?B?Tk9nSll5ZGdYSGl0T1g4Vy9IWEsxbGtSZGI5MWNsTXB4bU9pdWNQMGJXaU0v?=
 =?utf-8?B?M2gySDljbWorYVNkT1FRUXd3a1pSQ3hkUURMZWNVT1dEci9kUER2WSs4aWdF?=
 =?utf-8?B?bUhOQzNVY05ZSzVyZzdXSlhqN0JtbW4rRXFWZFRNWFNiYjJpRUgxS3ZEVXpJ?=
 =?utf-8?B?dEtOZlNzUXJrVTkxbVk5REZlUCtORXJ5OGxqVytoYW9Zck9TQ2J0aDlVdElU?=
 =?utf-8?B?alRvOUkzVW5TSFVhQTFMWDlVVTc5Y2dGZGVTNFJ2cFhJZEFONkpuZFBqem03?=
 =?utf-8?B?RnpKUW9pbldvV0grWlBBZjFGNVdsb3h1WGdueU9MZkt3c2ltVU1IVkt4dVEr?=
 =?utf-8?B?WDd4R0NGWWRXNkJiYzNuMGxvOEkwd1lrbHVxRDlsOFJUenNHM0Z4VFJsWHo4?=
 =?utf-8?B?SXM3T3IvYWUxa1J3SXk4R25sYkRwTTREZEZ6MkJFN1paM2dzcDFBOXhiWDJa?=
 =?utf-8?B?ZExJVGFnMktodWI0QTkrUWtSOXFneHU1S2pYV3lWOWhyOFd3SUhINlcyVllo?=
 =?utf-8?B?V2hLNHZuM2lZK0VFOTVZVXZPZDBBeHRVV2gvUVl6d1AvbGM2eDk5dVpNVzBz?=
 =?utf-8?B?ajlnNVg0Zk4waWVVY21mRG05UDBaOU5WWUFVeE9BSEFMRG9Gem4xckM1alor?=
 =?utf-8?B?QTJWVHhsTjVvQzAwNTFVdDBhS2lFdisrd00ycjQycTZtVTR4dXV2M2hkWkx2?=
 =?utf-8?B?WDJ5clJTZUg2Z1hHSWdVTzRCN1hQSjRtdHpCTGdRMGpJdW0ydzE0SnY3bGdJ?=
 =?utf-8?B?NmRjUS9nTG8xcXdicER2ekVUa0RPbzhaenN1dTBaUEc0bDNkWjZETVk2NXox?=
 =?utf-8?B?Q3BwQUZqVCtnaUdSTkRFVXgvZHB6WXVhajBSY2VLUUc0TmhGY1hSSFNHZXZh?=
 =?utf-8?Q?nSiQ=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <AF6A387C88B41F429600221E87FFED25@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: ab6d1f75-b0b6-4d75-0eed-08dd702bf7dc
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 08:13:50.0723
 (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: 4u6XzQtgzeiina+29LF/Njv4Gn1H+J8u4VT3QsQUvh1OwRxHG8Z3/Cqj96o6BLxFybUleppjeAeP6m7GemAV1g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB9520

T24gMjAyNS8zLzI3IDIwOjQ0LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBUaHUsIE1h
ciAyNywgMjAyNSBhdCAwMzozMjoxNFBNICswODAwLCBKaXFpYW4gQ2hlbiB3cm90ZToNCj4+IFdo
ZW4gaW5pdF9tc2koKSBmYWlscywgdGhlIG5ldyBjb2RlcyB3aWxsIHRyeSB0byBoaWRlIE1TSQ0K
Pj4gY2FwYWJpbGl0eSwgc28gaXQgY2FuJ3QgcmVseSBvbiB2cGNpX2RlYXNzaWduX2RldmljZSgp
IHRvDQo+PiByZW1vdmUgYWxsIE1TSSByZWxhdGVkIHJlZ2lzdGVycyBhbnltb3JlLCB0aG9zZSBy
ZWdpc3RlcnMNCj4+IG11c3QgYmUgY2xlYW5lZCB1cCBpbiBmYWlsdXJlIHBhdGggb2YgaW5pdF9t
c2kuDQo+Pg0KPj4gVG8gZG8gdGhhdCwgdXNlIGEgdnBjaV9yZWdpc3RlciBhcnJheSB0byByZWNv
cmQgYWxsIE1TSQ0KPj4gcmVnaXN0ZXJzIGFuZCBjYWxsIHZwY2lfcmVtb3ZlX3JlZ2lzdGVyKCkg
dG8gcmVtb3ZlIHJlZ2lzdGVycy4NCj4gDQo+IEFzIEknbSBqdXN0IHNlZWluZyAzIHBhdGNoZXMg
b24gdGhlIHNlcmllcywgaXNuJ3QgdGhlcmUgb25lIG1pc3NpbmcNCj4gZm9yIE1TSS1YIGF0IGxl
YXN0Pw0KTm8sIGJlY2F1c2UgaW5pdF9tc2l4IG9ubHkgY2FsbCB2cGNpX2FkZF9yZWdpc3RlciBv
bmNlLCB0aGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSByZWdpc3RlcnMgd2hlbiBpdCBmYWlscy4N
Cg0KPiANCj4+IFNpZ25lZC1vZmYtYnk6IEppcWlhbiBDaGVuIDxKaXFpYW4uQ2hlbkBhbWQuY29t
Pg0KPj4gLS0tDQo+PiAgeGVuL2RyaXZlcnMvdnBjaS9tc2kuYyB8IDU3ICsrKysrKysrKysrKysr
KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQ0KPj4gIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNl
cnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZl
cnMvdnBjaS9tc2kuYyBiL3hlbi9kcml2ZXJzL3ZwY2kvbXNpLmMNCj4+IGluZGV4IDlkN2E5ZmQ4
ZGJhMS4uMzBlZjk3ZWZiN2IwIDEwMDY0NA0KPj4gLS0tIGEveGVuL2RyaXZlcnMvdnBjaS9tc2ku
Yw0KPj4gKysrIGIveGVuL2RyaXZlcnMvdnBjaS9tc2kuYw0KPj4gQEAgLTE5NSw2ICsxOTUsOSBA
QCBzdGF0aWMgdm9pZCBjZl9jaGVjayBtYXNrX3dyaXRlKA0KPj4gIA0KPj4gIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgaW5pdF9tc2koc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+PiAgew0KPj4gKyAgICB1
bnNpZ25lZCBpbnQgb2Zmc2V0Ow0KPj4gKyAgICB1bnNpZ25lZCBpbnQgcmVnX2luZGV4ID0gMDsN
Cj4+ICsgICAgc3RydWN0IHZwY2lfcmVnaXN0ZXIgcmVnaXN0ZXJzW1ZQQ0lfQ0FQX01BWF9SRUdJ
U1RFUl07DQo+PiAgICAgIHVuc2lnbmVkIGludCBwb3MgPSBwZGV2LT5tc2lfcG9zOw0KPj4gICAg
ICB1aW50MTZfdCBjb250cm9sOw0KPj4gICAgICBpbnQgcmV0Ow0KPj4gQEAgLTIwNiwxNSArMjA5
LDEzIEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgaW5pdF9tc2koc3RydWN0IHBjaV9kZXYgKnBkZXYp
DQo+PiAgICAgIGlmICggIXBkZXYtPnZwY2ktPm1zaSApDQo+PiAgICAgICAgICByZXR1cm4gLUVO
T01FTTsNCj4+ICANCj4+ICsgICAgb2Zmc2V0ID0gbXNpX2NvbnRyb2xfcmVnKHBvcyk7DQo+PiAg
ICAgIHJldCA9IHZwY2lfYWRkX3JlZ2lzdGVyKHBkZXYtPnZwY2ksIGNvbnRyb2xfcmVhZCwgY29u
dHJvbF93cml0ZSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNpX2NvbnRyb2xf
cmVnKHBvcyksIDIsIHBkZXYtPnZwY2ktPm1zaSk7DQo+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9mZnNldCwgMiwgcGRldi0+dnBjaS0+bXNpKTsNCj4+ICAgICAgaWYgKCByZXQgKQ0K
Pj4gLSAgICAgICAgLyoNCj4+IC0gICAgICAgICAqIE5COiB0aGVyZSdzIG5vIG5lZWQgdG8gZnJl
ZSB0aGUgbXNpIHN0cnVjdCBvciByZW1vdmUgdGhlIHJlZ2lzdGVyDQo+PiAtICAgICAgICAgKiBo
YW5kbGVycyBmb3JtIHRoZSBjb25maWcgc3BhY2UsIHRoZSBjYWxsZXIgd2lsbCB0YWtlIGNhcmUg
b2YgdGhlDQo+PiAtICAgICAgICAgKiBjbGVhbnVwLg0KPj4gLSAgICAgICAgICovDQo+PiAtICAg
ICAgICByZXR1cm4gcmV0Ow0KPj4gKyAgICAgICAgZ290byBmYWlsOw0KPj4gKyAgICByZWdpc3Rl
cnNbcmVnX2luZGV4XS5vZmZzZXQgPSBvZmZzZXQ7DQo+PiArICAgIHJlZ2lzdGVyc1tyZWdfaW5k
ZXgrK10uc2l6ZSA9IDI7DQo+PiAgDQo+PiAgICAgIC8qIEdldCB0aGUgbWF4aW11bSBudW1iZXIg
b2YgdmVjdG9ycyB0aGUgZGV2aWNlIHN1cHBvcnRzLiAqLw0KPj4gICAgICBjb250cm9sID0gcGNp
X2NvbmZfcmVhZDE2KHBkZXYtPnNiZGYsIG1zaV9jb250cm9sX3JlZyhwb3MpKTsNCj4+IEBAIC0y
MzQsMzMgKzIzNSw0MiBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGluaXRfbXNpKHN0cnVjdCBwY2lf
ZGV2ICpwZGV2KQ0KPj4gICAgICBwZGV2LT52cGNpLT5tc2ktPmFkZHJlc3M2NCA9IGlzXzY0Yml0
X2FkZHJlc3MoY29udHJvbCk7DQo+PiAgICAgIHBkZXYtPnZwY2ktPm1zaS0+bWFza2luZyA9IGlz
X21hc2tfYml0X3N1cHBvcnQoY29udHJvbCk7DQo+PiAgDQo+PiArICAgIG9mZnNldCA9IG1zaV9s
b3dlcl9hZGRyZXNzX3JlZyhwb3MpOw0KPj4gICAgICByZXQgPSB2cGNpX2FkZF9yZWdpc3Rlcihw
ZGV2LT52cGNpLCBhZGRyZXNzX3JlYWQsIGFkZHJlc3Nfd3JpdGUsDQo+PiAtICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1zaV9sb3dlcl9hZGRyZXNzX3JlZyhwb3MpLCA0LCBwZGV2LT52cGNp
LT5tc2kpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIDQsIHBkZXYt
PnZwY2ktPm1zaSk7DQo+PiAgICAgIGlmICggcmV0ICkNCj4+IC0gICAgICAgIHJldHVybiByZXQ7
DQo+PiArICAgICAgICBnb3RvIGZhaWw7DQo+PiArICAgIHJlZ2lzdGVyc1tyZWdfaW5kZXhdLm9m
ZnNldCA9IG9mZnNldDsNCj4+ICsgICAgcmVnaXN0ZXJzW3JlZ19pbmRleCsrXS5zaXplID0gNDsN
Cj4+ICANCj4+ICsgICAgb2Zmc2V0ID0gbXNpX2RhdGFfcmVnKHBvcywgcGRldi0+dnBjaS0+bXNp
LT5hZGRyZXNzNjQpOw0KPj4gICAgICByZXQgPSB2cGNpX2FkZF9yZWdpc3RlcihwZGV2LT52cGNp
LCBkYXRhX3JlYWQsIGRhdGFfd3JpdGUsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1zaV9kYXRhX3JlZyhwb3MsIHBkZXYtPnZwY2ktPm1zaS0+YWRkcmVzczY0KSwgMiwNCj4+IC0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldi0+dnBjaS0+bXNpKTsNCj4+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCAyLCBwZGV2LT52cGNpLT5tc2kpOw0KPj4gICAg
ICBpZiAoIHJldCApDQo+PiAtICAgICAgICByZXR1cm4gcmV0Ow0KPj4gKyAgICAgICAgZ290byBm
YWlsOw0KPj4gKyAgICByZWdpc3RlcnNbcmVnX2luZGV4XS5vZmZzZXQgPSBvZmZzZXQ7DQo+PiAr
ICAgIHJlZ2lzdGVyc1tyZWdfaW5kZXgrK10uc2l6ZSA9IDI7DQo+PiAgDQo+PiAgICAgIGlmICgg
cGRldi0+dnBjaS0+bXNpLT5hZGRyZXNzNjQgKQ0KPj4gICAgICB7DQo+PiArICAgICAgICBvZmZz
ZXQgPSBtc2lfdXBwZXJfYWRkcmVzc19yZWcocG9zKTsNCj4+ICAgICAgICAgIHJldCA9IHZwY2lf
YWRkX3JlZ2lzdGVyKHBkZXYtPnZwY2ksIGFkZHJlc3NfaGlfcmVhZCwgYWRkcmVzc19oaV93cml0
ZSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zaV91cHBlcl9hZGRyZXNz
X3JlZyhwb3MpLCA0LCBwZGV2LT52cGNpLT5tc2kpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb2Zmc2V0LCA0LCBwZGV2LT52cGNpLT5tc2kpOw0KPj4gICAgICAgICAgaWYg
KCByZXQgKQ0KPj4gLSAgICAgICAgICAgIHJldHVybiByZXQ7DQo+PiArICAgICAgICAgICAgZ290
byBmYWlsOw0KPj4gKyAgICAgICAgcmVnaXN0ZXJzW3JlZ19pbmRleF0ub2Zmc2V0ID0gb2Zmc2V0
Ow0KPj4gKyAgICAgICAgcmVnaXN0ZXJzW3JlZ19pbmRleCsrXS5zaXplID0gNDsNCj4+ICAgICAg
fQ0KPj4gIA0KPj4gICAgICBpZiAoIHBkZXYtPnZwY2ktPm1zaS0+bWFza2luZyApDQo+PiAgICAg
IHsNCj4+ICsgICAgICAgIG9mZnNldCA9IG1zaV9tYXNrX2JpdHNfcmVnKHBvcywgcGRldi0+dnBj
aS0+bXNpLT5hZGRyZXNzNjQpOw0KPj4gICAgICAgICAgcmV0ID0gdnBjaV9hZGRfcmVnaXN0ZXIo
cGRldi0+dnBjaSwgbWFza19yZWFkLCBtYXNrX3dyaXRlLA0KPj4gLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbXNpX21hc2tfYml0c19yZWcocG9zLA0KPj4gLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldi0+dnBjaS0+bXNpLT5hZGRy
ZXNzNjQpLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwgcGRldi0+dnBj
aS0+bXNpKTsNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCwgNCwg
cGRldi0+dnBjaS0+bXNpKTsNCj4+ICAgICAgICAgIGlmICggcmV0ICkNCj4+IC0gICAgICAgICAg
ICByZXR1cm4gcmV0Ow0KPj4gKyAgICAgICAgICAgIGdvdG8gZmFpbDsNCj4+ICsgICAgICAgIHJl
Z2lzdGVyc1tyZWdfaW5kZXhdLm9mZnNldCA9IG9mZnNldDsNCj4+ICsgICAgICAgIHJlZ2lzdGVy
c1tyZWdfaW5kZXgrK10uc2l6ZSA9IDQ7DQo+IA0KPiBBcyBjb21tZW50ZWQgb24gdGhlIHByZXZp
b3VzIHBhdGNoLCBJIGRvbid0IGxpa2UgbXVjaCB0aGUgdXNhZ2Ugb2YNCj4gdGhpcyByZWdpc3Rl
cnMgYXJyYXkgdG8gc3RvcmUgd2hpY2ggaGFuZGxlcnMgaGF2ZSBiZWVuIGFkZGVkLiAgSXQNCj4g
d291bGQgYmUgYmVzdCBpZiB5b3UganVzdCByZW1vdmVkIGV2ZXJ5IHBvc3NpYmxlIGhhbmRsZXIg
dGhhdCBjb3VsZCBiZQ0KPiBhZGRlZCwgd2l0aG91dCBrZWVwaW5nIHRyYWNrIG9mIHRoZW0uDQpN
YWtlIHNlbnNlLCBpdCB3aWxsIGluZGVlZCBiZSBzaW1wbGVyIGlmIGl0IGlzIGZpbmUgdG8gcmVt
b3ZlIGFsbCBwb3NzaWJsZSByZWdpc3RlcnMuDQoNCj4gDQo+IFRoaW5raW5nIGFib3V0IGl0LCBk
byB3ZSBtYXliZSBuZWVkIGEgaGVscGVyIHZjcGkgZnVuY3Rpb24gdGhhdCB3aXBlcw0KPiBhbGwg
aGFuZGxlcnMgZnJvbSBhIHNwZWNpZmljIHJhbmdlPyAgSSB0aGluayBpdCBjb3VsZCBiZSBoZWxw
ZnVsIGhlcmUsDQo+IGFzIHRoZSBzaXplIG9mIHRoZSBjYXBhYmlsaXRpZXMgaXMgd2VsbC1rbm93
biwgc28gb24gZXJyb3IgaXQgd291bGQgYmUNCj4gZWFzaWVyIHRvIGp1c3QgY2FsbCBzdWNoIGEg
Z2VuZXJpYyBoYW5kbGVyIHRvIHdpcGUgYWxsIGhvb2tzIGFkZGVkIHRvDQo+IHRoZSByZWdpb24g
Y292ZXJlZCBieSB0aGUgZmFpbGluZyBjYXBhYmlsaXR5Lg0KQnV0IEkgYW0gbm90IHN1cmUgaWYg
dGhhdCBoZWxwZXIgZnVuY3Rpb24gaXMgc3VpdGFibGUgZm9yIGFsbCBjYXBhYmlsaXRpZXMuDQpM
aWtlIFJlYmFyLCBpdHMgc3RydWN0dXJlIGNhbiByYW5nZSBmcm9tIDEyIGJ5dGVzIGxvbmcoZm9y
IGEgc2luZ2xlIEJBUikgdG8gNTIgYnl0ZXMgbG9uZyhmb3IgYWxsIHNpeCBCQVJzKS4NCklmIGEg
ZGV2aWNlIHN1cHBvcnRzIFJlYmFyIGFuZCBvbmx5IGhhcyBhIHNpbmdsZSByZXNpemFibGUgQkFS
LCBkb2VzIGhhcmR3YXJlIHN0aWxsIHJlc2VydmVkIHRoZSByYW5nZSBmcm9tIDEzIGJ5dGVzIHRv
IDUyIGJ5dGVzIGZvciB0aGF0IGRldmljZT8NCkkgbWVhbiBpZiBJIHJlbW92ZSB0aGUgcmVnaXN0
ZXJzKHdpdGggcmFuZ2UgMTMgdG8gNTIpLCBpcyBpdCBwb3NzaWJsZSB0aGF0IEkgZGVsZXRlZCBy
ZWdpc3RlcnMgYmVsb25naW5nIHRvIG90aGVyIGFiaWxpdGllcz8NCg0KPiANCj4gTGV0IG1lIGtu
b3cgd2hhdCB5b3UgdGhpbmsgb2YgaXQuDQo+IA0KPiBUaGFua3MsIFJvZ2VyLg0KDQotLSANCkJl
c3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931995.1334201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARC-0002Pk-PJ; Mon, 31 Mar 2025 08:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931995.1334201; Mon, 31 Mar 2025 08:24: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 1tzARC-0002Ow-IW; Mon, 31 Mar 2025 08:24:06 +0000
Received: by outflank-mailman (input) for mailman id 931995;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARB-0001uf-4O
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:05 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f97ae52-0e09-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp033171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23:04 -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: 7f97ae52-0e09-11f0-9ffb-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp033171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409386;
	bh=5yXzAEblnWuewwiM+2a2MBWdk0hE50lz5zB2BZNESnk=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=gZFEitNCvpKZCut95fXZKAqZjYVexIRqqCsmMBp2CZW5W/F+F8YdgBRq7Jas48oEm
	 jA/8QUCfk2D6k8vYesJGOnrzZv+XWetZsr8GnENjabojFMIx710C0/l2qUvpne52/U
	 BKRmW6qbXZJEaaZotvS+ZyspM+SBZxcPiUz0OolK8l3PTAJGgcrhaoBd8FoI0axiFO
	 UYJY19A43VO/nzu4JfIPKLbCPKuIQ+Fm3xRSaESxcKaXZ3m3Z/51sVm6ksmFV/kMOP
	 i/pGDQotEM9rWQRUfcKCF7CHn9HUUQ60/HHqfKDisSlMtrPlhTUBKsDUSIOgBvisE7
	 KhHjRSIG4ujjQ==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 03/15] x86/msr: Simplify pmu_msr_{read,write}()
Date: Mon, 31 Mar 2025 01:22:39 -0700
Message-ID: <20250331082251.3171276-4-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove calling native_{read,write}_msr{_safe}() in pmu_msr_{read,write}(),
and have them return false to let their caller to do that instead.

Refactor pmu_msr_write() to take the input MSR value in an u64 argument,
replacing the current dual u32 arguments.

Suggested-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Sign-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/xen/enlighten_pv.c |  6 +++++-
 arch/x86/xen/pmu.c          | 27 ++++-----------------------
 arch/x86/xen/xen-ops.h      |  4 ++--
 3 files changed, 11 insertions(+), 26 deletions(-)

diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index dcc2041f8e61..2bfe57469ac3 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1133,6 +1133,8 @@ static void set_seg(unsigned int which, unsigned int low, unsigned int high,
 static void xen_do_write_msr(unsigned int msr, unsigned int low,
 			     unsigned int high, int *err)
 {
+	u64 val;
+
 	switch (msr) {
 	case MSR_FS_BASE:
 		set_seg(SEGBASE_FS, low, high, err);
@@ -1159,7 +1161,9 @@ static void xen_do_write_msr(unsigned int msr, unsigned int low,
 		break;
 
 	default:
-		if (!pmu_msr_write(msr, low, high, err)) {
+		val = (u64)high << 32 | low;
+
+		if (!pmu_msr_write(msr, val)) {
 			if (err)
 				*err = native_write_msr_safe(msr, low, high);
 			else
diff --git a/arch/x86/xen/pmu.c b/arch/x86/xen/pmu.c
index f06987b0efc3..1364cd3fb3ef 100644
--- a/arch/x86/xen/pmu.c
+++ b/arch/x86/xen/pmu.c
@@ -313,37 +313,18 @@ static bool pmu_msr_chk_emulated(unsigned int msr, uint64_t *val, bool is_read,
 	return true;
 }
 
-bool pmu_msr_read(unsigned int msr, uint64_t *val, int *err)
+bool pmu_msr_read(u32 msr, u64 *val, int *err)
 {
 	bool emulated;
 
-	if (!pmu_msr_chk_emulated(msr, val, true, &emulated))
-		return false;
-
-	if (!emulated) {
-		*val = err ? native_read_msr_safe(msr, err)
-			   : native_read_msr(msr);
-	}
-
-	return true;
+	return pmu_msr_chk_emulated(msr, val, true, &emulated) && emulated;
 }
 
-bool pmu_msr_write(unsigned int msr, uint32_t low, uint32_t high, int *err)
+bool pmu_msr_write(u32 msr, u64 val)
 {
-	uint64_t val = ((uint64_t)high << 32) | low;
 	bool emulated;
 
-	if (!pmu_msr_chk_emulated(msr, &val, false, &emulated))
-		return false;
-
-	if (!emulated) {
-		if (err)
-			*err = native_write_msr_safe(msr, low, high);
-		else
-			native_write_msr(msr, low, high);
-	}
-
-	return true;
+	return pmu_msr_chk_emulated(msr, &val, false, &emulated) && emulated;
 }
 
 static unsigned long long xen_amd_read_pmc(int counter)
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 63c13a2ccf55..4a0a1d73d8b8 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -274,8 +274,8 @@ void xen_pmu_finish(int cpu);
 static inline void xen_pmu_init(int cpu) {}
 static inline void xen_pmu_finish(int cpu) {}
 #endif
-bool pmu_msr_read(unsigned int msr, uint64_t *val, int *err);
-bool pmu_msr_write(unsigned int msr, uint32_t low, uint32_t high, int *err);
+bool pmu_msr_read(u32 msr, u64 *val, int *err);
+bool pmu_msr_write(u32 msr, u64 val);
 int pmu_apic_update(uint32_t reg);
 unsigned long long xen_read_pmc(int counter);
 
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931994.1334195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARC-0002Md-Ea; Mon, 31 Mar 2025 08:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931994.1334195; Mon, 31 Mar 2025 08:24: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 1tzARC-0002MW-BA; Mon, 31 Mar 2025 08:24:06 +0000
Received: by outflank-mailman (input) for mailman id 931994;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARB-0001u1-0I
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:05 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fe7f62e-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp013171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 7fe7f62e-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp013171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409382;
	bh=8NBvcv0ohTWU39bJ6aL9yuUsmviH/IXJjGBdBncqKAA=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=DfikwSBtepDkTPWSndBbjw9sQVnN64z4KXbHHV4byiheN5oN3c8108HUHo0WlTHiO
	 fbuV4mKhMgYKnfiBPbYoVLpeAEW1C8xaUoDBQBJOqlka2Ux1zE5IQP96taH035GT/e
	 xjt8OpAXfqCNG5GQQNWIsO0juYtYQXHFy1GfDKPCFncm+WTFt1opnlrPH8zpyO5lys
	 AWQreJObo0N83zSyBr8Uut3butD6okD1jJ5CCQoAsoeWQqGbWx83aVOu3dhvPlDmYf
	 JoUzckPNpFkOLgLe6na+VCr251PNcWOk98ANs3QkFTe88p9rHaeel6kOYEiLGzsU7J
	 1iQD+J8vO7ZXg==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 01/15] x86/msr: Replace __wrmsr() with native_wrmsrl()
Date: Mon, 31 Mar 2025 01:22:37 -0700
Message-ID: <20250331082251.3171276-2-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

__wrmsr() is the lowest level primitive MSR write API, and its direct
use is NOT preferred.  Use its wrapper function native_wrmsrl() instead.

No functional change intended.

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/events/amd/brs.c                 | 2 +-
 arch/x86/include/asm/apic.h               | 2 +-
 arch/x86/include/asm/msr.h                | 6 ++++--
 arch/x86/kernel/cpu/mce/core.c            | 2 +-
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 6 +++---
 5 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/arch/x86/events/amd/brs.c b/arch/x86/events/amd/brs.c
index ec3427463382..4a47f3c108de 100644
--- a/arch/x86/events/amd/brs.c
+++ b/arch/x86/events/amd/brs.c
@@ -44,7 +44,7 @@ static inline unsigned int brs_to(int idx)
 static __always_inline void set_debug_extn_cfg(u64 val)
 {
 	/* bits[4:3] must always be set to 11b */
-	__wrmsr(MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3, val >> 32);
+	native_wrmsrl(MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3);
 }
 
 static __always_inline u64 get_debug_extn_cfg(void)
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index c903d358405d..3345a819c859 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -214,7 +214,7 @@ static inline void native_apic_msr_write(u32 reg, u32 v)
 
 static inline void native_apic_msr_eoi(void)
 {
-	__wrmsr(APIC_BASE_MSR + (APIC_EOI >> 4), APIC_EOI_ACK, 0);
+	native_wrmsrl(APIC_BASE_MSR + (APIC_EOI >> 4), APIC_EOI_ACK);
 }
 
 static inline u32 native_apic_msr_read(u32 reg)
diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index 9397a319d165..27ea8793705d 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -144,10 +144,12 @@ static inline unsigned long long native_read_msr_safe(unsigned int msr,
 static inline void notrace
 native_write_msr(unsigned int msr, u32 low, u32 high)
 {
-	__wrmsr(msr, low, high);
+	u64 val = (u64)high << 32 | low;
+
+	native_wrmsrl(msr, val);
 
 	if (tracepoint_enabled(write_msr))
-		do_trace_write_msr(msr, ((u64)high << 32 | low), 0);
+		do_trace_write_msr(msr, val, 0);
 }
 
 /* Can be uninlined because referenced by paravirt */
diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
index 1f14c3308b6b..0eaeaba12df2 100644
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
@@ -1306,7 +1306,7 @@ static noinstr bool mce_check_crashing_cpu(void)
 		}
 
 		if (mcgstatus & MCG_STATUS_RIPV) {
-			__wrmsr(MSR_IA32_MCG_STATUS, 0, 0);
+			native_wrmsrl(MSR_IA32_MCG_STATUS, 0);
 			return true;
 		}
 	}
diff --git a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
index 01fa7890b43f..55536120c8d1 100644
--- a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
+++ b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
@@ -481,7 +481,7 @@ int resctrl_arch_pseudo_lock_fn(void *_plr)
 	 * cache.
 	 */
 	saved_msr = __rdmsr(MSR_MISC_FEATURE_CONTROL);
-	__wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0);
+	native_wrmsrl(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits);
 	closid_p = this_cpu_read(pqr_state.cur_closid);
 	rmid_p = this_cpu_read(pqr_state.cur_rmid);
 	mem_r = plr->kmem;
@@ -493,7 +493,7 @@ int resctrl_arch_pseudo_lock_fn(void *_plr)
 	 * pseudo-locked followed by reading of kernel memory to load it
 	 * into the cache.
 	 */
-	__wrmsr(MSR_IA32_PQR_ASSOC, rmid_p, plr->closid);
+	native_wrmsrl(MSR_IA32_PQR_ASSOC, (u64)plr->closid << 32 | rmid_p);
 
 	/*
 	 * Cache was flushed earlier. Now access kernel memory to read it
@@ -530,7 +530,7 @@ int resctrl_arch_pseudo_lock_fn(void *_plr)
 	 * Critical section end: restore closid with capacity bitmask that
 	 * does not overlap with pseudo-locked region.
 	 */
-	__wrmsr(MSR_IA32_PQR_ASSOC, rmid_p, closid_p);
+	native_wrmsrl(MSR_IA32_PQR_ASSOC, (u64)closid_p << 32 | rmid_p);
 
 	/* Re-enable the hardware prefetcher(s) */
 	wrmsrl(MSR_MISC_FEATURE_CONTROL, saved_msr);
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931993.1334179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARB-0001xE-0B; Mon, 31 Mar 2025 08:24:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931993.1334179; Mon, 31 Mar 2025 08:24: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 1tzARA-0001wJ-T1; Mon, 31 Mar 2025 08:24:04 +0000
Received: by outflank-mailman (input) for mailman id 931993;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzAR9-0001u1-WE
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:04 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fd110f3-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp063171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 7fd110f3-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp063171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409392;
	bh=VWVlHnRAQ/URpBmLS0sboRyyUviRP0Ft54tlbnwKLbg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=LmuvsR6JU0wFg45aoeU1BmH+vTdjhSivLbBzn3nlmIbxQ1T8sqwq82VC74O3yYItX
	 S9sFYj9ZngvuYrNW7sHGljfyh5Gqzhf6VwZ/aRtGB720vFbJ9EDDOtQ9E0xXh2PU0+
	 7FTWRNpDPjfEZWo0yQCIVXmiHAQ6gMo2/Xgl8on4LA7UNyUv6fE4T91P+HIZpg7iX1
	 KkWnpYwKYYQj9Ur2Oo6+kBlMb0LDXwYZNWNFnRncQNe82SMqi3NRZs9EH5QHNmpSzd
	 3/S95C0un5h+YfWI71+I8tTNlrvTtz2S7X75vWWrxF52F7m0pJIvPFhhq4Yw7MnVfu
	 weMHDHw5OzZNA==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 06/15] x86/msr: Remove MSR write APIs that take the MSR value in two u32 arguments
Date: Mon, 31 Mar 2025 01:22:42 -0700
Message-ID: <20250331082251.3171276-7-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/msr.h | 18 ++----------------
 1 file changed, 2 insertions(+), 16 deletions(-)

diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index 121597fc5d41..da4f2f6d127f 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -111,9 +111,6 @@ static __always_inline u64 native_rdmsrl(const u32 msr)
 	return __rdmsr(msr);
 }
 
-#define native_wrmsr(msr, low, high)			\
-	__wrmsr((msr), ((u64)(high) << 32) | (low))
-
 #define native_wrmsrl(msr, val)				\
 	__wrmsr((msr), (val))
 
@@ -253,11 +250,6 @@ do {								\
 	(void)((high) = (u32)(__val >> 32));			\
 } while (0)
 
-static inline void wrmsr(u32 msr, u32 low, u32 high)
-{
-	native_write_msr(msr, (u64)high << 32 | low);
-}
-
 #define rdmsrl(msr, val)			\
 	((val) = native_read_msr((msr)))
 
@@ -266,12 +258,6 @@ static inline void wrmsrl(u32 msr, u64 val)
 	native_write_msr(msr, val);
 }
 
-/* wrmsr with exception handling */
-static inline int wrmsr_safe(u32 msr, u32 low, u32 high)
-{
-	return native_write_msr_safe(msr, (u64)high << 32 | low);
-}
-
 /* rdmsr with exception handling */
 #define rdmsr_safe(msr, low, high)				\
 ({								\
@@ -321,7 +307,7 @@ static __always_inline void wrmsrns(u32 msr, u64 val)
  */
 static inline int wrmsrl_safe(u32 msr, u64 val)
 {
-	return wrmsr_safe(msr, (u32)val,  (u32)(val >> 32));
+	return native_write_msr_safe(msr, val);
 }
 
 struct msr __percpu *msrs_alloc(void);
@@ -380,7 +366,7 @@ static inline int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no,
 }
 static inline int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
 {
-	return wrmsr_safe(msr_no, l, h);
+	return wrmsrl_safe(msr_no, (u64)h << 32 | l);
 }
 static inline int rdmsrl_safe_on_cpu(unsigned int cpu, u32 msr_no, u64 *q)
 {
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931996.1334214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARE-0002oE-0w; Mon, 31 Mar 2025 08:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931996.1334214; Mon, 31 Mar 2025 08:24: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 1tzARD-0002n9-R6; Mon, 31 Mar 2025 08:24:07 +0000
Received: by outflank-mailman (input) for mailman id 931996;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARB-0001uf-Q5
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:05 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8073d595-0e09-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:24:03 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp073171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 8073d595-0e09-11f0-9ffb-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp073171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409394;
	bh=4oMqi/mNiX/dP3yUNXOh0KHKk5eO4mtyZ/S9nY+rYCU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=EVNNysVl8UKZVEUX8F7MbPFwX2epn0yrpmH2w+9q6c8158NF8qnthafY3Pkh8Ilxh
	 9M0ASaWQUpbHnDRwUDQa7VXHXLDjd40aeBCbAqUiExQtgZ+wsRgJSE1VkqGpirm+UR
	 5prXvLiFohME5Rh9uOv5Cw+cBYozzUd9b4kenjhMrVaaMr45h9Bi4/VNNbAxT8bv2/
	 Z8Dx3/k762OqkBR7GvNLYD2WZ0BEYXT78x4FpDvDc8rCAR5k7TIawz4/K3bBBGMueL
	 W/Wh/zFdQkonvF67LZZkVO833IcrPosTMqlS6T0maUanzmLHMlKbYhc9HxoZ+xAFPV
	 Y0GoucFLKizNQ==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 07/15] x86/msr: Remove pmu_msr_{read,write}()
Date: Mon, 31 Mar 2025 01:22:43 -0700
Message-ID: <20250331082251.3171276-8-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Now pmu_msr_{read,write}() just do pmu_msr_chk_emulated(), so remove
them and call pmu_msr_chk_emulated() directly.

Suggested-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/xen/enlighten_pv.c | 17 ++++++++++-------
 arch/x86/xen/pmu.c          | 24 ++++--------------------
 arch/x86/xen/xen-ops.h      |  3 +--
 3 files changed, 15 insertions(+), 29 deletions(-)

diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 7401cce19939..a047dadf4511 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1090,8 +1090,9 @@ static void xen_write_cr4(unsigned long cr4)
 static u64 xen_do_read_msr(unsigned int msr, int *err)
 {
 	u64 val = 0;	/* Avoid uninitialized value for safe variant. */
+	bool emulated;
 
-	if (pmu_msr_read(msr, &val, err))
+	if (pmu_msr_chk_emulated(msr, &val, true, &emulated) && emulated)
 		return val;
 
 	if (err)
@@ -1134,6 +1135,7 @@ static void xen_do_write_msr(unsigned int msr, unsigned int low,
 			     unsigned int high, int *err)
 {
 	u64 val;
+	bool emulated;
 
 	switch (msr) {
 	case MSR_FS_BASE:
@@ -1163,12 +1165,13 @@ static void xen_do_write_msr(unsigned int msr, unsigned int low,
 	default:
 		val = (u64)high << 32 | low;
 
-		if (!pmu_msr_write(msr, val)) {
-			if (err)
-				*err = native_write_msr_safe(msr, val);
-			else
-				native_write_msr(msr, val);
-		}
+		if (pmu_msr_chk_emulated(msr, &val, false, &emulated) && emulated)
+			return;
+
+		if (err)
+			*err = native_write_msr_safe(msr, val);
+		else
+			native_write_msr(msr, val);
 	}
 }
 
diff --git a/arch/x86/xen/pmu.c b/arch/x86/xen/pmu.c
index 1364cd3fb3ef..4d20503430dd 100644
--- a/arch/x86/xen/pmu.c
+++ b/arch/x86/xen/pmu.c
@@ -128,7 +128,7 @@ static inline uint32_t get_fam15h_addr(u32 addr)
 	return addr;
 }
 
-static inline bool is_amd_pmu_msr(unsigned int msr)
+static bool is_amd_pmu_msr(u32 msr)
 {
 	if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD &&
 	    boot_cpu_data.x86_vendor != X86_VENDOR_HYGON)
@@ -194,8 +194,7 @@ static bool is_intel_pmu_msr(u32 msr_index, int *type, int *index)
 	}
 }
 
-static bool xen_intel_pmu_emulate(unsigned int msr, u64 *val, int type,
-				  int index, bool is_read)
+static bool xen_intel_pmu_emulate(u32 msr, u64 *val, int type, int index, bool is_read)
 {
 	uint64_t *reg = NULL;
 	struct xen_pmu_intel_ctxt *ctxt;
@@ -257,7 +256,7 @@ static bool xen_intel_pmu_emulate(unsigned int msr, u64 *val, int type,
 	return false;
 }
 
-static bool xen_amd_pmu_emulate(unsigned int msr, u64 *val, bool is_read)
+static bool xen_amd_pmu_emulate(u32 msr, u64 *val, bool is_read)
 {
 	uint64_t *reg = NULL;
 	int i, off = 0;
@@ -298,8 +297,7 @@ static bool xen_amd_pmu_emulate(unsigned int msr, u64 *val, bool is_read)
 	return false;
 }
 
-static bool pmu_msr_chk_emulated(unsigned int msr, uint64_t *val, bool is_read,
-				 bool *emul)
+bool pmu_msr_chk_emulated(u32 msr, u64 *val, bool is_read, bool *emul)
 {
 	int type, index = 0;
 
@@ -313,20 +311,6 @@ static bool pmu_msr_chk_emulated(unsigned int msr, uint64_t *val, bool is_read,
 	return true;
 }
 
-bool pmu_msr_read(u32 msr, u64 *val, int *err)
-{
-	bool emulated;
-
-	return pmu_msr_chk_emulated(msr, val, true, &emulated) && emulated;
-}
-
-bool pmu_msr_write(u32 msr, u64 val)
-{
-	bool emulated;
-
-	return pmu_msr_chk_emulated(msr, &val, false, &emulated) && emulated;
-}
-
 static unsigned long long xen_amd_read_pmc(int counter)
 {
 	struct xen_pmu_amd_ctxt *ctxt;
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 4a0a1d73d8b8..6545661010ce 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -274,8 +274,7 @@ void xen_pmu_finish(int cpu);
 static inline void xen_pmu_init(int cpu) {}
 static inline void xen_pmu_finish(int cpu) {}
 #endif
-bool pmu_msr_read(u32 msr, u64 *val, int *err);
-bool pmu_msr_write(u32 msr, u64 val);
+bool pmu_msr_chk_emulated(u32 msr, u64 *val, bool is_read, bool *emul);
 int pmu_apic_update(uint32_t reg);
 unsigned long long xen_read_pmc(int counter);
 
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931997.1334220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARE-0002qk-GG; Mon, 31 Mar 2025 08:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931997.1334220; Mon, 31 Mar 2025 08:24: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 1tzARE-0002q3-7f; Mon, 31 Mar 2025 08:24:08 +0000
Received: by outflank-mailman (input) for mailman id 931997;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARC-0001u1-0K
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:06 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fd71d91-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp083171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 7fd71d91-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp083171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409396;
	bh=LUf6J4OHKn6Yqz/cuiPFW5gyz7UWQzJR/hPRWef8Heg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=jg4QkVHWmuNxTSaNr3aLQCDAx0pfc5MzZ6zHM+wqM8DSTcQ3v/RsKHxoUQpqWtNbJ
	 m458JdmtvOkoM5D9ageqtKl9oHpcXzkGBie1zx4Z64jnAGFmPZKoyTrDoCRBO1dSLT
	 mR0rsGe9H8URcFY2CBgpai+T0h9txzTfzfHRjKd6U95Ungph1Kwv+yEPzL4fhScW5l
	 Ab8OKE5fJ02Tagt2yFWbB7GGJh/377QIshI1xuLWxMSYTo8yAwJfG0LGkBemhVlVjc
	 tTZHvLjVyjNvdRXxd7vUQNm4YDAIWKVIT4qPZoTRRR4mD09RG0QuehmydgeXZydpxd
	 2Z/C61/mQ2MUw==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 08/15] x86/cpufeatures: Add a CPU feature bit for MSR immediate form instructions
Date: Mon, 31 Mar 2025 01:22:44 -0700
Message-ID: <20250331082251.3171276-9-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The immediate form of MSR access instructions are primarily motivated
by performance, not code size: by having the MSR number in an immediate,
it is available *much* earlier in the pipeline, which allows the
hardware much more leeway about how a particular MSR is handled.

Use a scattered CPU feature bit for MSR immediate form instructions.

Suggested-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/cpufeatures.h | 19 ++++++++++---------
 arch/x86/kernel/cpu/scattered.c    |  1 +
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
index 6c2c152d8a67..a742a3d34712 100644
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@ -472,15 +472,16 @@
  *
  * Reuse free bits when adding new feature flags!
  */
-#define X86_FEATURE_AMD_LBR_PMC_FREEZE	(21*32+ 0) /* "amd_lbr_pmc_freeze" AMD LBR and PMC Freeze */
-#define X86_FEATURE_CLEAR_BHB_LOOP	(21*32+ 1) /* Clear branch history at syscall entry using SW loop */
-#define X86_FEATURE_BHI_CTRL		(21*32+ 2) /* BHI_DIS_S HW control available */
-#define X86_FEATURE_CLEAR_BHB_HW	(21*32+ 3) /* BHI_DIS_S HW control enabled */
-#define X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT (21*32+ 4) /* Clear branch history at vmexit using SW loop */
-#define X86_FEATURE_AMD_FAST_CPPC	(21*32 + 5) /* Fast CPPC */
-#define X86_FEATURE_AMD_HETEROGENEOUS_CORES (21*32 + 6) /* Heterogeneous Core Topology */
-#define X86_FEATURE_AMD_WORKLOAD_CLASS	(21*32 + 7) /* Workload Classification */
-#define X86_FEATURE_PREFER_YMM		(21*32 + 8) /* Avoid ZMM registers due to downclocking */
+#define X86_FEATURE_AMD_LBR_PMC_FREEZE		(21*32+ 0) /* "amd_lbr_pmc_freeze" AMD LBR and PMC Freeze */
+#define X86_FEATURE_CLEAR_BHB_LOOP		(21*32+ 1) /* Clear branch history at syscall entry using SW loop */
+#define X86_FEATURE_BHI_CTRL			(21*32+ 2) /* BHI_DIS_S HW control available */
+#define X86_FEATURE_CLEAR_BHB_HW		(21*32+ 3) /* BHI_DIS_S HW control enabled */
+#define X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT	(21*32+ 4) /* Clear branch history at vmexit using SW loop */
+#define X86_FEATURE_AMD_FAST_CPPC		(21*32+ 5) /* Fast CPPC */
+#define X86_FEATURE_AMD_HETEROGENEOUS_CORES	(21*32+ 6) /* Heterogeneous Core Topology */
+#define X86_FEATURE_AMD_WORKLOAD_CLASS		(21*32+ 7) /* Workload Classification */
+#define X86_FEATURE_PREFER_YMM			(21*32+ 8) /* Avoid ZMM registers due to downclocking */
+#define X86_FEATURE_MSR_IMM			(21*32+ 9) /* MSR immediate form instructions */
 
 /*
  * BUG word(s)
diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c
index 16f3ca30626a..9eda656e9793 100644
--- a/arch/x86/kernel/cpu/scattered.c
+++ b/arch/x86/kernel/cpu/scattered.c
@@ -27,6 +27,7 @@ static const struct cpuid_bit cpuid_bits[] = {
 	{ X86_FEATURE_APERFMPERF,		CPUID_ECX,  0, 0x00000006, 0 },
 	{ X86_FEATURE_EPB,			CPUID_ECX,  3, 0x00000006, 0 },
 	{ X86_FEATURE_INTEL_PPIN,		CPUID_EBX,  0, 0x00000007, 1 },
+	{ X86_FEATURE_MSR_IMM,			CPUID_ECX,  5, 0x00000007, 1 },
 	{ X86_FEATURE_RRSBA_CTRL,		CPUID_EDX,  2, 0x00000007, 2 },
 	{ X86_FEATURE_BHI_CTRL,			CPUID_EDX,  4, 0x00000007, 2 },
 	{ X86_FEATURE_CQM_LLC,			CPUID_EDX,  1, 0x0000000f, 0 },
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931992.1334175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARA-0001uL-Pg; Mon, 31 Mar 2025 08:24:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931992.1334175; Mon, 31 Mar 2025 08:24: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 1tzARA-0001uE-Lr; Mon, 31 Mar 2025 08:24:04 +0000
Received: by outflank-mailman (input) for mailman id 931992;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzAR9-0001u1-Am
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:03 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7eb2eed8-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:01 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp023171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23:02 -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: 7eb2eed8-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp023171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409384;
	bh=m4M8UGMKKd7tRa3nJstnKZwTxnwNx/YpFEKHVX35S1M=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=GMjpnnYXMYpU67NGz93c7h9ws4Z3p3rE979fcI5Xs1NdNl+Td/mpmwbnPiYulmfj8
	 b8fSVsdt2ad5j0QSex3qUA/BNF0M8ziPcP4Mkz38x3S+XUwD4rvbU8+eDWfUPxnO7E
	 Y70mhL72N7fvX3WqwqaTorgtiRS94zS/fVo8nOEjFVs9kCAUlFTEOFTIKmdPh072el
	 C2aXZqY89xdoTLHuywMC03Z51D76GbRxilkwQRwDPUqIeAdLHWceDRXcmPCxXB7B88
	 vzqb8gdBtHAv76CahwdMT05nUSEwKm9KaXVsW8BCSDJ3odt76mR0w6Fy90TxcG4WqJ
	 QtAekxEcU2fGw==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 02/15] x86/msr: Replace __rdmsr() with native_rdmsrl()
Date: Mon, 31 Mar 2025 01:22:38 -0700
Message-ID: <20250331082251.3171276-3-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

__rdmsr() is the lowest level primitive MSR read API, and its direct
use is NOT preferred.  Use its wrapper function native_rdmsrl() instead.

No functional change intended.

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/coco/sev/core.c                  | 2 +-
 arch/x86/events/amd/brs.c                 | 2 +-
 arch/x86/hyperv/hv_vtl.c                  | 4 ++--
 arch/x86/hyperv/ivm.c                     | 2 +-
 arch/x86/include/asm/mshyperv.h           | 2 +-
 arch/x86/include/asm/msr.h                | 5 +++++
 arch/x86/kernel/cpu/common.c              | 2 +-
 arch/x86/kernel/cpu/mce/core.c            | 4 ++--
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 2 +-
 arch/x86/kvm/vmx/vmx.c                    | 4 ++--
 arch/x86/mm/mem_encrypt_identity.c        | 4 ++--
 11 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/arch/x86/coco/sev/core.c b/arch/x86/coco/sev/core.c
index b0c1a7a57497..d38e6f0ff9c4 100644
--- a/arch/x86/coco/sev/core.c
+++ b/arch/x86/coco/sev/core.c
@@ -276,7 +276,7 @@ static noinstr struct ghcb *__sev_get_ghcb(struct ghcb_state *state)
 
 static inline u64 sev_es_rd_ghcb_msr(void)
 {
-	return __rdmsr(MSR_AMD64_SEV_ES_GHCB);
+	return native_rdmsrl(MSR_AMD64_SEV_ES_GHCB);
 }
 
 static __always_inline void sev_es_wr_ghcb_msr(u64 val)
diff --git a/arch/x86/events/amd/brs.c b/arch/x86/events/amd/brs.c
index 4a47f3c108de..3ad7d87b5403 100644
--- a/arch/x86/events/amd/brs.c
+++ b/arch/x86/events/amd/brs.c
@@ -49,7 +49,7 @@ static __always_inline void set_debug_extn_cfg(u64 val)
 
 static __always_inline u64 get_debug_extn_cfg(void)
 {
-	return __rdmsr(MSR_AMD_DBG_EXTN_CFG);
+	return native_rdmsrl(MSR_AMD_DBG_EXTN_CFG);
 }
 
 static bool __init amd_brs_detect(void)
diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c
index 13242ed8ff16..4a27e475d35f 100644
--- a/arch/x86/hyperv/hv_vtl.c
+++ b/arch/x86/hyperv/hv_vtl.c
@@ -149,11 +149,11 @@ static int hv_vtl_bringup_vcpu(u32 target_vp_index, int cpu, u64 eip_ignored)
 	input->vp_context.rip = rip;
 	input->vp_context.rsp = rsp;
 	input->vp_context.rflags = 0x0000000000000002;
-	input->vp_context.efer = __rdmsr(MSR_EFER);
+	input->vp_context.efer = native_rdmsrl(MSR_EFER);
 	input->vp_context.cr0 = native_read_cr0();
 	input->vp_context.cr3 = __native_read_cr3();
 	input->vp_context.cr4 = native_read_cr4();
-	input->vp_context.msr_cr_pat = __rdmsr(MSR_IA32_CR_PAT);
+	input->vp_context.msr_cr_pat = native_rdmsrl(MSR_IA32_CR_PAT);
 	input->vp_context.idtr.limit = idt_ptr.size;
 	input->vp_context.idtr.base = idt_ptr.address;
 	input->vp_context.gdtr.limit = gdt_ptr.size;
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index 77bf05f06b9e..95cf2113a72a 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -110,7 +110,7 @@ u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size)
 
 static inline u64 rd_ghcb_msr(void)
 {
-	return __rdmsr(MSR_AMD64_SEV_ES_GHCB);
+	return native_rdmsrl(MSR_AMD64_SEV_ES_GHCB);
 }
 
 static inline void wr_ghcb_msr(u64 val)
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index bab5ccfc60a7..2ca6ef89530d 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -304,7 +304,7 @@ void hv_set_non_nested_msr(unsigned int reg, u64 value);
 
 static __always_inline u64 hv_raw_get_msr(unsigned int reg)
 {
-	return __rdmsr(reg);
+	return native_rdmsrl(reg);
 }
 
 #else /* CONFIG_HYPERV */
diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index 27ea8793705d..fb3d7c4cb774 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -106,6 +106,11 @@ do {							\
 	(void)((val2) = (u32)(__val >> 32));		\
 } while (0)
 
+static __always_inline u64 native_rdmsrl(const u32 msr)
+{
+	return __rdmsr(msr);
+}
+
 #define native_wrmsr(msr, low, high)			\
 	__wrmsr(msr, low, high)
 
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 12126adbc3a9..a268db71d944 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -164,7 +164,7 @@ static void ppin_init(struct cpuinfo_x86 *c)
 
 	/* Is the enable bit set? */
 	if (val & 2UL) {
-		c->ppin = __rdmsr(info->msr_ppin);
+		c->ppin = native_rdmsrl(info->msr_ppin);
 		set_cpu_cap(c, info->feature);
 		return;
 	}
diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
index 0eaeaba12df2..0e050af723f5 100644
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
@@ -121,7 +121,7 @@ void mce_prep_record_common(struct mce *m)
 {
 	m->cpuid	= cpuid_eax(1);
 	m->cpuvendor	= boot_cpu_data.x86_vendor;
-	m->mcgcap	= __rdmsr(MSR_IA32_MCG_CAP);
+	m->mcgcap	= native_rdmsrl(MSR_IA32_MCG_CAP);
 	/* need the internal __ version to avoid deadlocks */
 	m->time		= __ktime_get_real_seconds();
 }
@@ -1298,7 +1298,7 @@ static noinstr bool mce_check_crashing_cpu(void)
 	    (crashing_cpu != -1 && crashing_cpu != cpu)) {
 		u64 mcgstatus;
 
-		mcgstatus = __rdmsr(MSR_IA32_MCG_STATUS);
+		mcgstatus = native_rdmsrl(MSR_IA32_MCG_STATUS);
 
 		if (boot_cpu_data.x86_vendor == X86_VENDOR_ZHAOXIN) {
 			if (mcgstatus & MCG_STATUS_LMCES)
diff --git a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
index 55536120c8d1..675fd9f93e33 100644
--- a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
+++ b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
@@ -480,7 +480,7 @@ int resctrl_arch_pseudo_lock_fn(void *_plr)
 	 * the buffer and evict pseudo-locked memory read earlier from the
 	 * cache.
 	 */
-	saved_msr = __rdmsr(MSR_MISC_FEATURE_CONTROL);
+	saved_msr = native_rdmsrl(MSR_MISC_FEATURE_CONTROL);
 	native_wrmsrl(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits);
 	closid_p = this_cpu_read(pqr_state.cur_closid);
 	rmid_p = this_cpu_read(pqr_state.cur_rmid);
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 5c5766467a61..2a24060397cd 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -380,7 +380,7 @@ static __always_inline void vmx_disable_fb_clear(struct vcpu_vmx *vmx)
 	if (!vmx->disable_fb_clear)
 		return;
 
-	msr = __rdmsr(MSR_IA32_MCU_OPT_CTRL);
+	msr = native_rdmsrl(MSR_IA32_MCU_OPT_CTRL);
 	msr |= FB_CLEAR_DIS;
 	native_wrmsrl(MSR_IA32_MCU_OPT_CTRL, msr);
 	/* Cache the MSR value to avoid reading it later */
@@ -7307,7 +7307,7 @@ void noinstr vmx_spec_ctrl_restore_host(struct vcpu_vmx *vmx,
 		return;
 
 	if (flags & VMX_RUN_SAVE_SPEC_CTRL)
-		vmx->spec_ctrl = __rdmsr(MSR_IA32_SPEC_CTRL);
+		vmx->spec_ctrl = native_rdmsrl(MSR_IA32_SPEC_CTRL);
 
 	/*
 	 * If the guest/host SPEC_CTRL values differ, restore the host value.
diff --git a/arch/x86/mm/mem_encrypt_identity.c b/arch/x86/mm/mem_encrypt_identity.c
index 5eecdd92da10..3005b07a0016 100644
--- a/arch/x86/mm/mem_encrypt_identity.c
+++ b/arch/x86/mm/mem_encrypt_identity.c
@@ -526,7 +526,7 @@ void __head sme_enable(struct boot_params *bp)
 	me_mask = 1UL << (ebx & 0x3f);
 
 	/* Check the SEV MSR whether SEV or SME is enabled */
-	RIP_REL_REF(sev_status) = msr = __rdmsr(MSR_AMD64_SEV);
+	RIP_REL_REF(sev_status) = msr = native_rdmsrl(MSR_AMD64_SEV);
 	feature_mask = (msr & MSR_AMD64_SEV_ENABLED) ? AMD_SEV_BIT : AMD_SME_BIT;
 
 	/*
@@ -557,7 +557,7 @@ void __head sme_enable(struct boot_params *bp)
 			return;
 
 		/* For SME, check the SYSCFG MSR */
-		msr = __rdmsr(MSR_AMD64_SYSCFG);
+		msr = native_rdmsrl(MSR_AMD64_SYSCFG);
 		if (!(msr & MSR_AMD64_SYSCFG_MEM_ENCRYPT))
 			return;
 	}
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931998.1334224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARE-0002xo-Ur; Mon, 31 Mar 2025 08:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931998.1334224; Mon, 31 Mar 2025 08:24: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 1tzARE-0002wY-Nr; Mon, 31 Mar 2025 08:24:08 +0000
Received: by outflank-mailman (input) for mailman id 931998;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARD-0001u1-0R
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:07 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80061ecd-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp093171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 80061ecd-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp093171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409398;
	bh=XaAm3SgdeuQpqxiLf3TgiBnvvEMb/sqRjazcaLW8DyU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=m3OGyhoJNr0Zsep5p1ViUs89IdqwpoEtbWuo2OsC8y9JAzzZbZXvjUjaRqzx5AUYK
	 lJcmsGoVuGakNOlQ489XYhpn7UoCG2qfRQMcP3vMYw+NnWAKYOXHRdzMSDVDxQLIJJ
	 kKOmdnvGQYVe7ioNqEmxq2m51haFE/snyyuHDZ7lhQTKPP3O+McTy73wS5FrEXpbEA
	 GSpcgMRq/tDS9ikpfmvoHA9qWJyh5e7k4bNtkTdyO72QoWkxhdrF5ZM+BjwqxGvb8o
	 Fxagag3lgbW6Apcxom4HGKuHb9Jh6FSWSc4zA4lH3CcX3khjRVDzEBBBmSENC1+wB9
	 70W8KGHT8R63g==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 09/15] x86/opcode: Add immediate form MSR instructions to x86-opcode-map
Date: Mon, 31 Mar 2025 01:22:45 -0700
Message-ID: <20250331082251.3171276-10-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the instruction opcodes used by the immediate form WRMSRNS/RDMSR
to x86-opcode-map.

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/lib/x86-opcode-map.txt       | 5 +++--
 tools/arch/x86/lib/x86-opcode-map.txt | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
index caedb3ef6688..e64f52321d6d 100644
--- a/arch/x86/lib/x86-opcode-map.txt
+++ b/arch/x86/lib/x86-opcode-map.txt
@@ -839,7 +839,7 @@ f1: MOVBE My,Gy | MOVBE Mw,Gw (66) | CRC32 Gd,Ey (F2) | CRC32 Gd,Ew (66&F2)
 f2: ANDN Gy,By,Ey (v)
 f3: Grp17 (1A)
 f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) | WRUSSD/Q My,Gy (66)
-f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy
+f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy | RDMSR Rq,Gq (F2),(11B) | WRMSRNS Gq,Rq (F3),(11B)
 f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v)
 f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3) | URDMSR Rq,Gq (F2),(11B) | UWRMSR Gq,Rq (F3),(11B)
 f9: MOVDIRI My,Gy
@@ -1014,7 +1014,7 @@ f1: CRC32 Gy,Ey (es) | CRC32 Gy,Ey (66),(es) | INVVPID Gy,Mdq (F3),(ev)
 f2: INVPCID Gy,Mdq (F3),(ev)
 f4: TZCNT Gv,Ev (es) | TZCNT Gv,Ev (66),(es)
 f5: LZCNT Gv,Ev (es) | LZCNT Gv,Ev (66),(es)
-f6: Grp3_1 Eb (1A),(ev)
+f6: Grp3_1 Eb (1A),(ev) | RDMSR Rq,Gq (F2),(11B),(ev) | WRMSRNS Gq,Rq (F3),(11B),(ev)
 f7: Grp3_2 Ev (1A),(es)
 f8: MOVDIR64B Gv,Mdqq (66),(ev) | ENQCMD Gv,Mdqq (F2),(ev) | ENQCMDS Gv,Mdqq (F3),(ev) | URDMSR Rq,Gq (F2),(11B),(ev) | UWRMSR Gq,Rq (F3),(11B),(ev)
 f9: MOVDIRI My,Gy (ev)
@@ -1103,6 +1103,7 @@ EndTable
 Table: VEX map 7
 Referrer:
 AVXcode: 7
+f6: RDMSR Rq,Id (F2),(v1),(11B) | WRMSRNS Id,Rq (F3),(v1),(11B)
 f8: URDMSR Rq,Id (F2),(v1),(11B) | UWRMSR Id,Rq (F3),(v1),(11B)
 EndTable
 
diff --git a/tools/arch/x86/lib/x86-opcode-map.txt b/tools/arch/x86/lib/x86-opcode-map.txt
index caedb3ef6688..e64f52321d6d 100644
--- a/tools/arch/x86/lib/x86-opcode-map.txt
+++ b/tools/arch/x86/lib/x86-opcode-map.txt
@@ -839,7 +839,7 @@ f1: MOVBE My,Gy | MOVBE Mw,Gw (66) | CRC32 Gd,Ey (F2) | CRC32 Gd,Ew (66&F2)
 f2: ANDN Gy,By,Ey (v)
 f3: Grp17 (1A)
 f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) | WRUSSD/Q My,Gy (66)
-f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy
+f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy | RDMSR Rq,Gq (F2),(11B) | WRMSRNS Gq,Rq (F3),(11B)
 f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v)
 f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3) | URDMSR Rq,Gq (F2),(11B) | UWRMSR Gq,Rq (F3),(11B)
 f9: MOVDIRI My,Gy
@@ -1014,7 +1014,7 @@ f1: CRC32 Gy,Ey (es) | CRC32 Gy,Ey (66),(es) | INVVPID Gy,Mdq (F3),(ev)
 f2: INVPCID Gy,Mdq (F3),(ev)
 f4: TZCNT Gv,Ev (es) | TZCNT Gv,Ev (66),(es)
 f5: LZCNT Gv,Ev (es) | LZCNT Gv,Ev (66),(es)
-f6: Grp3_1 Eb (1A),(ev)
+f6: Grp3_1 Eb (1A),(ev) | RDMSR Rq,Gq (F2),(11B),(ev) | WRMSRNS Gq,Rq (F3),(11B),(ev)
 f7: Grp3_2 Ev (1A),(es)
 f8: MOVDIR64B Gv,Mdqq (66),(ev) | ENQCMD Gv,Mdqq (F2),(ev) | ENQCMDS Gv,Mdqq (F3),(ev) | URDMSR Rq,Gq (F2),(11B),(ev) | UWRMSR Gq,Rq (F3),(11B),(ev)
 f9: MOVDIRI My,Gy (ev)
@@ -1103,6 +1103,7 @@ EndTable
 Table: VEX map 7
 Referrer:
 AVXcode: 7
+f6: RDMSR Rq,Id (F2),(v1),(11B) | WRMSRNS Id,Rq (F3),(v1),(11B)
 f8: URDMSR Rq,Id (F2),(v1),(11B) | UWRMSR Id,Rq (F3),(v1),(11B)
 EndTable
 
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.931999.1334230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARF-000350-JT; Mon, 31 Mar 2025 08:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 931999.1334230; Mon, 31 Mar 2025 08: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 1tzARF-00032r-3i; Mon, 31 Mar 2025 08:24:09 +0000
Received: by outflank-mailman (input) for mailman id 931999;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARD-0001uf-E9
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:07 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7faf54af-0e09-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp053171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 7faf54af-0e09-11f0-9ffb-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp053171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409390;
	bh=S3swNgI99EyAKvvqMZiCU9IrqVA5GQts4Tvl6BiIxb4=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=dojm+DpgfYvbJxe4bv9ERf6lObdkKGws+H++OPxcP81M9c542DdQA77cLignnUuwF
	 E0OyDovwZjUMlVfVuV/OGBGyfcYMnrDHCs4DbWXSLge6Hw07JbhQ3e4+A4YufL5+Vf
	 KAcevYltBLXe8AzQ5l74EGDn8RcUVpT9sw3r7Q1O3VLmXW/ZMyQIqONrrgqJyt3R6Y
	 hmw39rO0oJ0Tyqs5MFI9ajtUWEagdP4qRYRQ54wbuw8Vdoma5mWmh+l7VI4ay0q41q
	 +p194X/jk0oM3oQCUzLC8VAVfkXKe7oge/M/8qV3o6il81Z3+5gOJ9d1cP9haH6+35
	 Xkyjs8fsNRJGA==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 05/15] x86/msr: Replace wrmsr(msr, low, 0) with wrmsrl(msr, value)
Date: Mon, 31 Mar 2025 01:22:41 -0700
Message-ID: <20250331082251.3171276-6-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/hyperv/hv_apic.c                 |  6 +++---
 arch/x86/include/asm/apic.h               |  2 +-
 arch/x86/include/asm/switch_to.h          |  2 +-
 arch/x86/kernel/cpu/amd.c                 |  2 +-
 arch/x86/kernel/cpu/common.c              |  8 ++++----
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c |  4 ++--
 arch/x86/kernel/cpu/resctrl/rdtgroup.c    |  2 +-
 arch/x86/kernel/cpu/umwait.c              |  4 ++--
 arch/x86/kernel/kvm.c                     |  2 +-
 drivers/ata/pata_cs5535.c                 | 12 ++++++------
 drivers/ata/pata_cs5536.c                 |  6 +++---
 drivers/cpufreq/acpi-cpufreq.c            |  2 +-
 drivers/cpufreq/e_powersaver.c            |  2 +-
 drivers/cpufreq/powernow-k6.c             |  8 ++++----
 14 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/arch/x86/hyperv/hv_apic.c b/arch/x86/hyperv/hv_apic.c
index 6d91ac5f9836..284e16fe359b 100644
--- a/arch/x86/hyperv/hv_apic.c
+++ b/arch/x86/hyperv/hv_apic.c
@@ -75,10 +75,10 @@ static void hv_apic_write(u32 reg, u32 val)
 {
 	switch (reg) {
 	case APIC_EOI:
-		wrmsr(HV_X64_MSR_EOI, val, 0);
+		wrmsrl(HV_X64_MSR_EOI, val);
 		break;
 	case APIC_TASKPRI:
-		wrmsr(HV_X64_MSR_TPR, val, 0);
+		wrmsrl(HV_X64_MSR_TPR, val);
 		break;
 	default:
 		native_apic_mem_write(reg, val);
@@ -92,7 +92,7 @@ static void hv_apic_eoi_write(void)
 	if (hvp && (xchg(&hvp->apic_assist, 0) & 0x1))
 		return;
 
-	wrmsr(HV_X64_MSR_EOI, APIC_EOI_ACK, 0);
+	wrmsrl(HV_X64_MSR_EOI, APIC_EOI_ACK);
 }
 
 static bool cpu_is_self(int cpu)
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 3345a819c859..003b2cd2266b 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -209,7 +209,7 @@ static inline void native_apic_msr_write(u32 reg, u32 v)
 	    reg == APIC_LVR)
 		return;
 
-	wrmsr(APIC_BASE_MSR + (reg >> 4), v, 0);
+	wrmsrl(APIC_BASE_MSR + (reg >> 4), v);
 }
 
 static inline void native_apic_msr_eoi(void)
diff --git a/arch/x86/include/asm/switch_to.h b/arch/x86/include/asm/switch_to.h
index 75248546403d..525896a18028 100644
--- a/arch/x86/include/asm/switch_to.h
+++ b/arch/x86/include/asm/switch_to.h
@@ -59,7 +59,7 @@ static inline void refresh_sysenter_cs(struct thread_struct *thread)
 		return;
 
 	this_cpu_write(cpu_tss_rw.x86_tss.ss1, thread->sysenter_cs);
-	wrmsr(MSR_IA32_SYSENTER_CS, thread->sysenter_cs, 0);
+	wrmsrl(MSR_IA32_SYSENTER_CS, thread->sysenter_cs);
 }
 #endif
 
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 79569f72b8ee..2f70cd525043 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -1200,7 +1200,7 @@ void amd_set_dr_addr_mask(unsigned long mask, unsigned int dr)
 	if (per_cpu(amd_dr_addr_mask, cpu)[dr] == mask)
 		return;
 
-	wrmsr(amd_msr_dr_addr_masks[dr], mask, 0);
+	wrmsrl(amd_msr_dr_addr_masks[dr], mask);
 	per_cpu(amd_dr_addr_mask, cpu)[dr] = mask;
 }
 
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index a268db71d944..9b53f92df21c 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -1982,9 +1982,9 @@ void enable_sep_cpu(void)
 	 */
 
 	tss->x86_tss.ss1 = __KERNEL_CS;
-	wrmsr(MSR_IA32_SYSENTER_CS, tss->x86_tss.ss1, 0);
-	wrmsr(MSR_IA32_SYSENTER_ESP, (unsigned long)(cpu_entry_stack(cpu) + 1), 0);
-	wrmsr(MSR_IA32_SYSENTER_EIP, (unsigned long)entry_SYSENTER_32, 0);
+	wrmsrl(MSR_IA32_SYSENTER_CS, tss->x86_tss.ss1);
+	wrmsrl(MSR_IA32_SYSENTER_ESP, (unsigned long)(cpu_entry_stack(cpu) + 1));
+	wrmsrl(MSR_IA32_SYSENTER_EIP, (unsigned long)entry_SYSENTER_32);
 
 	put_cpu();
 }
@@ -2198,7 +2198,7 @@ static inline void setup_getcpu(int cpu)
 	struct desc_struct d = { };
 
 	if (boot_cpu_has(X86_FEATURE_RDTSCP) || boot_cpu_has(X86_FEATURE_RDPID))
-		wrmsr(MSR_TSC_AUX, cpudata, 0);
+		wrmsrl(MSR_TSC_AUX, cpudata);
 
 	/* Store CPU and node number in limit. */
 	d.limit0 = cpudata;
diff --git a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
index 675fd9f93e33..44a9ac87b7be 100644
--- a/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
+++ b/arch/x86/kernel/cpu/resctrl/pseudo_lock.c
@@ -903,7 +903,7 @@ int resctrl_arch_measure_cycles_lat_fn(void *_plr)
 	 * Disable hardware prefetchers.
 	 */
 	rdmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high);
-	wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0);
+	wrmsrl(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits);
 	mem_r = READ_ONCE(plr->kmem);
 	/*
 	 * Dummy execute of the time measurement to load the needed
@@ -999,7 +999,7 @@ static int measure_residency_fn(struct perf_event_attr *miss_attr,
 	 * Disable hardware prefetchers.
 	 */
 	rdmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high);
-	wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0);
+	wrmsrl(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits);
 
 	/* Initialize rest of local variables */
 	/*
diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
index c6274d40b217..e5a4c283c924 100644
--- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
+++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
@@ -1697,7 +1697,7 @@ void resctrl_arch_mon_event_config_write(void *_config_info)
 		pr_warn_once("Invalid event id %d\n", config_info->evtid);
 		return;
 	}
-	wrmsr(MSR_IA32_EVT_CFG_BASE + index, config_info->mon_config, 0);
+	wrmsrl(MSR_IA32_EVT_CFG_BASE + index, config_info->mon_config);
 }
 
 static void mbm_config_write_domain(struct rdt_resource *r,
diff --git a/arch/x86/kernel/cpu/umwait.c b/arch/x86/kernel/cpu/umwait.c
index 2293efd6ffa6..0f5d5d9f3352 100644
--- a/arch/x86/kernel/cpu/umwait.c
+++ b/arch/x86/kernel/cpu/umwait.c
@@ -33,7 +33,7 @@ static DEFINE_MUTEX(umwait_lock);
 static void umwait_update_control_msr(void * unused)
 {
 	lockdep_assert_irqs_disabled();
-	wrmsr(MSR_IA32_UMWAIT_CONTROL, READ_ONCE(umwait_control_cached), 0);
+	wrmsrl(MSR_IA32_UMWAIT_CONTROL, READ_ONCE(umwait_control_cached));
 }
 
 /*
@@ -71,7 +71,7 @@ static int umwait_cpu_offline(unsigned int cpu)
 	 * the original control MSR value in umwait_init(). So there
 	 * is no race condition here.
 	 */
-	wrmsr(MSR_IA32_UMWAIT_CONTROL, orig_umwait_control_cached, 0);
+	wrmsrl(MSR_IA32_UMWAIT_CONTROL, orig_umwait_control_cached);
 
 	return 0;
 }
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 3be9b3342c67..1b74aa64a1bc 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -399,7 +399,7 @@ static void kvm_disable_steal_time(void)
 	if (!has_steal_clock)
 		return;
 
-	wrmsr(MSR_KVM_STEAL_TIME, 0, 0);
+	wrmsrl(MSR_KVM_STEAL_TIME, 0);
 }
 
 static u64 kvm_steal_clock(int cpu)
diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c
index d793fc441b46..b0ebd0fe31ed 100644
--- a/drivers/ata/pata_cs5535.c
+++ b/drivers/ata/pata_cs5535.c
@@ -102,16 +102,16 @@ static void cs5535_set_piomode(struct ata_port *ap, struct ata_device *adev)
 		cmdmode = min(mode, pairmode);
 		/* Write the other drive timing register if it changed */
 		if (cmdmode < pairmode)
-			wrmsr(ATAC_CH0D0_PIO + 2 * pair->devno,
-				pio_cmd_timings[cmdmode] << 16 | pio_timings[pairmode], 0);
+			wrmsrl(ATAC_CH0D0_PIO + 2 * pair->devno,
+				pio_cmd_timings[cmdmode] << 16 | pio_timings[pairmode]);
 	}
 	/* Write the drive timing register */
-	wrmsr(ATAC_CH0D0_PIO + 2 * adev->devno,
-		pio_cmd_timings[cmdmode] << 16 | pio_timings[mode], 0);
+	wrmsrl(ATAC_CH0D0_PIO + 2 * adev->devno,
+		pio_cmd_timings[cmdmode] << 16 | pio_timings[mode]);
 
 	/* Set the PIO "format 1" bit in the DMA timing register */
 	rdmsr(ATAC_CH0D0_DMA + 2 * adev->devno, reg, dummy);
-	wrmsr(ATAC_CH0D0_DMA + 2 * adev->devno, reg | 0x80000000UL, 0);
+	wrmsrl(ATAC_CH0D0_DMA + 2 * adev->devno, reg | 0x80000000UL);
 }
 
 /**
@@ -138,7 +138,7 @@ static void cs5535_set_dmamode(struct ata_port *ap, struct ata_device *adev)
 		reg |= udma_timings[mode - XFER_UDMA_0];
 	else
 		reg |= mwdma_timings[mode - XFER_MW_DMA_0];
-	wrmsr(ATAC_CH0D0_DMA + 2 * adev->devno, reg, 0);
+	wrmsrl(ATAC_CH0D0_DMA + 2 * adev->devno, reg);
 }
 
 static const struct scsi_host_template cs5535_sht = {
diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c
index b811efd2cc34..0578f3046b51 100644
--- a/drivers/ata/pata_cs5536.c
+++ b/drivers/ata/pata_cs5536.c
@@ -34,9 +34,9 @@ module_param_named(msr, use_msr, int, 0644);
 MODULE_PARM_DESC(msr, "Force using MSR to configure IDE function (Default: 0)");
 #else
 #undef rdmsr	/* avoid accidental MSR usage on, e.g. x86-64 */
-#undef wrmsr
+#undef wrmsrl
 #define rdmsr(x, y, z) do { } while (0)
-#define wrmsr(x, y, z) do { } while (0)
+#define wrmsrl(x, y) do { } while (0)
 #define use_msr 0
 #endif
 
@@ -98,7 +98,7 @@ static int cs5536_read(struct pci_dev *pdev, int reg, u32 *val)
 static int cs5536_write(struct pci_dev *pdev, int reg, int val)
 {
 	if (unlikely(use_msr)) {
-		wrmsr(MSR_IDE_CFG + reg, val, 0);
+		wrmsrl(MSR_IDE_CFG + reg, val);
 		return 0;
 	}
 
diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
index 924314cdeebc..937c07f0839f 100644
--- a/drivers/cpufreq/acpi-cpufreq.c
+++ b/drivers/cpufreq/acpi-cpufreq.c
@@ -271,7 +271,7 @@ static u32 cpu_freq_read_amd(struct acpi_pct_register *not_used)
 
 static void cpu_freq_write_amd(struct acpi_pct_register *not_used, u32 val)
 {
-	wrmsr(MSR_AMD_PERF_CTL, val, 0);
+	wrmsrl(MSR_AMD_PERF_CTL, val);
 }
 
 static u32 cpu_freq_read_io(struct acpi_pct_register *reg)
diff --git a/drivers/cpufreq/e_powersaver.c b/drivers/cpufreq/e_powersaver.c
index d23a97ba6478..08bf293eb4bb 100644
--- a/drivers/cpufreq/e_powersaver.c
+++ b/drivers/cpufreq/e_powersaver.c
@@ -123,7 +123,7 @@ static int eps_set_state(struct eps_cpu_data *centaur,
 		}
 	}
 	/* Set new multiplier and voltage */
-	wrmsr(MSR_IA32_PERF_CTL, dest_state & 0xffff, 0);
+	wrmsrl(MSR_IA32_PERF_CTL, dest_state & 0xffff);
 	/* Wait until transition end */
 	i = 0;
 	do {
diff --git a/drivers/cpufreq/powernow-k6.c b/drivers/cpufreq/powernow-k6.c
index 99d2244e03b0..d22a0b981797 100644
--- a/drivers/cpufreq/powernow-k6.c
+++ b/drivers/cpufreq/powernow-k6.c
@@ -88,10 +88,10 @@ static int powernow_k6_get_cpu_multiplier(void)
 	local_irq_disable();
 
 	msrval = POWERNOW_IOPORT + 0x1;
-	wrmsr(MSR_K6_EPMR, msrval, 0); /* enable the PowerNow port */
+	wrmsrl(MSR_K6_EPMR, msrval); /* enable the PowerNow port */
 	invalue = inl(POWERNOW_IOPORT + 0x8);
 	msrval = POWERNOW_IOPORT + 0x0;
-	wrmsr(MSR_K6_EPMR, msrval, 0); /* disable it again */
+	wrmsrl(MSR_K6_EPMR, msrval); /* disable it again */
 
 	local_irq_enable();
 
@@ -118,13 +118,13 @@ static void powernow_k6_set_cpu_multiplier(unsigned int best_i)
 	outvalue = (1<<12) | (1<<10) | (1<<9) | (index_to_register[best_i]<<5);
 
 	msrval = POWERNOW_IOPORT + 0x1;
-	wrmsr(MSR_K6_EPMR, msrval, 0); /* enable the PowerNow port */
+	wrmsrl(MSR_K6_EPMR, msrval); /* enable the PowerNow port */
 	invalue = inl(POWERNOW_IOPORT + 0x8);
 	invalue = invalue & 0x1f;
 	outvalue = outvalue | invalue;
 	outl(outvalue, (POWERNOW_IOPORT + 0x8));
 	msrval = POWERNOW_IOPORT + 0x0;
-	wrmsr(MSR_K6_EPMR, msrval, 0); /* disable it again */
+	wrmsrl(MSR_K6_EPMR, msrval); /* disable it again */
 
 	write_cr0(cr0);
 	local_irq_enable();
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932000.1334237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARF-00038g-Uz; Mon, 31 Mar 2025 08:24:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932000.1334237; Mon, 31 Mar 2025 08: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 1tzARF-000370-IW; Mon, 31 Mar 2025 08:24:09 +0000
Received: by outflank-mailman (input) for mailman id 932000;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARD-0001uf-QN
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:07 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8126a2b5-0e09-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:24:04 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp0A3171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23:18 -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: 8126a2b5-0e09-11f0-9ffb-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp0A3171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409400;
	bh=K1q53eo/E11QGaBNCmuuiEewoEjYIhJFKtCNyzdMWfk=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=fYJJM8Xj8oLRQMrpq1oZ9Rnts/L5sB1pkc/gbLLiuGLqwOG9qwxAGu/4BG68QY0E9
	 wfBdSwh4eQvvh2/Y3Z6WaX7t7pE5x/AyF9EYYVoeYUsrgjy5aQsLhKl3r8wbyqsS8o
	 qh1pRd13tdt4PmpmLxqluvo/m8RcpuW2x76HH/JRrb1yV8WiUIE4hCpEtDNED/Yh+6
	 sNVHvloh/CyqgKztI+Tc3MQqU27RJiZ6HQl+pwJmYWKADo2kfVmQTIr7agdhUDKEDb
	 anOJ6HwZplUeZ1KVIk1BWCIusZV2JYQ1KiyYhKxPqQ6qOrnhQXCF8X6edaiE7NigVe
	 yW2IFXjim5dUQ==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 10/15] KVM: VMX: Use WRMSRNS or its immediate form when available
Date: Mon, 31 Mar 2025 01:22:46 -0700
Message-ID: <20250331082251.3171276-11-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/msr-index.h |  6 ++++++
 arch/x86/kvm/vmx/vmenter.S       | 28 ++++++++++++++++++++++++----
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index e6134ef2263d..04244c3ba374 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -1226,4 +1226,10 @@
 						* a #GP
 						*/
 
+/* Instruction opcode for WRMSRNS supported in binutils >= 2.40 */
+#define ASM_WRMSRNS		_ASM_BYTES(0x0f,0x01,0xc6)
+
+/* Instruction opcode for the immediate form RDMSR/WRMSRNS */
+#define ASM_WRMSRNS_RAX		_ASM_BYTES(0xc4,0xe7,0x7a,0xf6,0xc0)
+
 #endif /* _ASM_X86_MSR_INDEX_H */
diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
index f6986dee6f8c..9fae43723c44 100644
--- a/arch/x86/kvm/vmx/vmenter.S
+++ b/arch/x86/kvm/vmx/vmenter.S
@@ -64,6 +64,29 @@
 	RET
 .endm
 
+/*
+ * Write EAX to MSR_IA32_SPEC_CTRL.
+ *
+ * Choose the best WRMSR instruction based on availability.
+ *
+ * Replace with 'wrmsrns' and 'wrmsrns %rax, $MSR_IA32_SPEC_CTRL' once binutils support them.
+ */
+.macro WRITE_EAX_TO_MSR_IA32_SPEC_CTRL
+	ALTERNATIVE_2 __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
+				  xor %edx, %edx;				\
+				  mov %edi, %eax;				\
+				  ds wrmsr),					\
+		      __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
+				  xor %edx, %edx;				\
+				  mov %edi, %eax;				\
+				  ASM_WRMSRNS),					\
+		      X86_FEATURE_WRMSRNS,					\
+		      __stringify(xor %_ASM_AX, %_ASM_AX;			\
+				  mov %edi, %eax;				\
+				  ASM_WRMSRNS_RAX; .long MSR_IA32_SPEC_CTRL),	\
+		      X86_FEATURE_MSR_IMM
+.endm
+
 .section .noinstr.text, "ax"
 
 /**
@@ -123,10 +146,7 @@ SYM_FUNC_START(__vmx_vcpu_run)
 	movl PER_CPU_VAR(x86_spec_ctrl_current), %esi
 	cmp %edi, %esi
 	je .Lspec_ctrl_done
-	mov $MSR_IA32_SPEC_CTRL, %ecx
-	xor %edx, %edx
-	mov %edi, %eax
-	wrmsr
+	WRITE_EAX_TO_MSR_IA32_SPEC_CTRL
 
 .Lspec_ctrl_done:
 
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932001.1334245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARG-0003Ke-TP; Mon, 31 Mar 2025 08:24:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932001.1334245; Mon, 31 Mar 2025 08:24: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 1tzARG-0003Ga-Ab; Mon, 31 Mar 2025 08:24:10 +0000
Received: by outflank-mailman (input) for mailman id 932001;
 Mon, 31 Mar 2025 08: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARE-0001u1-0k
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:08 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 800de34a-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp043171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23:06 -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: 800de34a-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp043171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409388;
	bh=R5lkZK1BttlgoDRIcsGie/EvPC/1EsVxCj2GWRAyo+M=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=cjtZINutBa+FD44rvEKBI/bQn/6JnE37jJg8UfQt76je9oer8CW+KU4+GASTM697n
	 43XgUKC7AUoEwu3/CB/moVDg2HKzbhmtehqO4aY0qEvC/qHCgIZb3cKa7RdsVrgwnl
	 AUil1g8TJnz5dWM5rTRr4QNzdiKcsuNrqQZvGQjKzzHfZaQiw5xA2m5iYN6sK7sImI
	 oREOYUP88D8O6Cp/ISnEuVJDEMudARxBOJb7gcgFfJ1/rgsxpmKmOjcw84nWzZkB3C
	 VsITyaqW7KXt9Q1SvVjBLyJNoLTgoCY1Ptdb7Cq8X9iccW9VZz7LSfWoqKxg9r1F67
	 TUz6F6A4Ni/IA==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 04/15] x86/msr: Let pv_cpu_ops.write_msr{_safe}() take an u64 instead of two u32
Date: Mon, 31 Mar 2025 01:22:40 -0700
Message-ID: <20250331082251.3171276-5-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor pv_cpu_ops.write_msr{_safe}() to take the input MSR value
in a single u64 argument, replacing the current dual u32 arguments.

No functional change intended.

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/msr.h            | 33 ++++++++++++---------------
 arch/x86/include/asm/paravirt.h       | 10 ++++----
 arch/x86/include/asm/paravirt_types.h |  4 ++--
 arch/x86/kernel/kvmclock.c            |  2 +-
 arch/x86/kvm/svm/svm.c                | 15 +++---------
 arch/x86/xen/enlighten_pv.c           | 13 +++++------
 6 files changed, 30 insertions(+), 47 deletions(-)

diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index fb3d7c4cb774..121597fc5d41 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -91,12 +91,12 @@ static __always_inline unsigned long long __rdmsr(unsigned int msr)
 	return EAX_EDX_VAL(val, low, high);
 }
 
-static __always_inline void __wrmsr(unsigned int msr, u32 low, u32 high)
+static __always_inline void __wrmsr(u32 msr, u64 val)
 {
 	asm volatile("1: wrmsr\n"
 		     "2:\n"
 		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_WRMSR)
-		     : : "c" (msr), "a"(low), "d" (high) : "memory");
+		     : : "c" (msr), "a"((u32)val), "d" ((u32)(val >> 32)) : "memory");
 }
 
 #define native_rdmsr(msr, val1, val2)			\
@@ -112,11 +112,10 @@ static __always_inline u64 native_rdmsrl(const u32 msr)
 }
 
 #define native_wrmsr(msr, low, high)			\
-	__wrmsr(msr, low, high)
+	__wrmsr((msr), ((u64)(high) << 32) | (low))
 
 #define native_wrmsrl(msr, val)				\
-	__wrmsr((msr), (u32)((u64)(val)),		\
-		       (u32)((u64)(val) >> 32))
+	__wrmsr((msr), (val))
 
 static inline unsigned long long native_read_msr(unsigned int msr)
 {
@@ -146,11 +145,8 @@ static inline unsigned long long native_read_msr_safe(unsigned int msr,
 }
 
 /* Can be uninlined because referenced by paravirt */
-static inline void notrace
-native_write_msr(unsigned int msr, u32 low, u32 high)
+static inline void notrace native_write_msr(u32 msr, u64 val)
 {
-	u64 val = (u64)high << 32 | low;
-
 	native_wrmsrl(msr, val);
 
 	if (tracepoint_enabled(write_msr))
@@ -158,8 +154,7 @@ native_write_msr(unsigned int msr, u32 low, u32 high)
 }
 
 /* Can be uninlined because referenced by paravirt */
-static inline int notrace
-native_write_msr_safe(unsigned int msr, u32 low, u32 high)
+static inline int notrace native_write_msr_safe(u32 msr, u64 val)
 {
 	int err;
 
@@ -167,10 +162,10 @@ native_write_msr_safe(unsigned int msr, u32 low, u32 high)
 		     "2:\n\t"
 		     _ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_WRMSR_SAFE, %[err])
 		     : [err] "=a" (err)
-		     : "c" (msr), "0" (low), "d" (high)
+		     : "c" (msr), "0" ((u32)val), "d" ((u32)(val >> 32))
 		     : "memory");
 	if (tracepoint_enabled(write_msr))
-		do_trace_write_msr(msr, ((u64)high << 32 | low), err);
+		do_trace_write_msr(msr, val, err);
 	return err;
 }
 
@@ -258,23 +253,23 @@ do {								\
 	(void)((high) = (u32)(__val >> 32));			\
 } while (0)
 
-static inline void wrmsr(unsigned int msr, u32 low, u32 high)
+static inline void wrmsr(u32 msr, u32 low, u32 high)
 {
-	native_write_msr(msr, low, high);
+	native_write_msr(msr, (u64)high << 32 | low);
 }
 
 #define rdmsrl(msr, val)			\
 	((val) = native_read_msr((msr)))
 
-static inline void wrmsrl(unsigned int msr, u64 val)
+static inline void wrmsrl(u32 msr, u64 val)
 {
-	native_write_msr(msr, (u32)(val & 0xffffffffULL), (u32)(val >> 32));
+	native_write_msr(msr, val);
 }
 
 /* wrmsr with exception handling */
-static inline int wrmsr_safe(unsigned int msr, u32 low, u32 high)
+static inline int wrmsr_safe(u32 msr, u32 low, u32 high)
 {
-	return native_write_msr_safe(msr, low, high);
+	return native_write_msr_safe(msr, (u64)high << 32 | low);
 }
 
 /* rdmsr with exception handling */
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index c4c23190925c..f3d6e8394d38 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -180,10 +180,9 @@ static inline u64 paravirt_read_msr(unsigned msr)
 	return PVOP_CALL1(u64, cpu.read_msr, msr);
 }
 
-static inline void paravirt_write_msr(unsigned msr,
-				      unsigned low, unsigned high)
+static inline void paravirt_write_msr(u32 msr, u32 low, u32 high)
 {
-	PVOP_VCALL3(cpu.write_msr, msr, low, high);
+	PVOP_VCALL2(cpu.write_msr, msr, (u64)high << 32 | low);
 }
 
 static inline u64 paravirt_read_msr_safe(unsigned msr, int *err)
@@ -191,10 +190,9 @@ static inline u64 paravirt_read_msr_safe(unsigned msr, int *err)
 	return PVOP_CALL2(u64, cpu.read_msr_safe, msr, err);
 }
 
-static inline int paravirt_write_msr_safe(unsigned msr,
-					  unsigned low, unsigned high)
+static inline int paravirt_write_msr_safe(u32 msr, u32 low, u32 high)
 {
-	return PVOP_CALL3(int, cpu.write_msr_safe, msr, low, high);
+	return PVOP_CALL2(int, cpu.write_msr_safe, msr, (u64)high << 32 | low);
 }
 
 #define rdmsr(msr, val1, val2)			\
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 631c306ce1ff..78777b78da12 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -92,14 +92,14 @@ struct pv_cpu_ops {
 
 	/* Unsafe MSR operations.  These will warn or panic on failure. */
 	u64 (*read_msr)(unsigned int msr);
-	void (*write_msr)(unsigned int msr, unsigned low, unsigned high);
+	void (*write_msr)(u32 msr, u64 val);
 
 	/*
 	 * Safe MSR operations.
 	 * read sets err to 0 or -EIO.  write returns 0 or -EIO.
 	 */
 	u64 (*read_msr_safe)(unsigned int msr, int *err);
-	int (*write_msr_safe)(unsigned int msr, unsigned low, unsigned high);
+	int (*write_msr_safe)(u32 msr, u64 val);
 
 	u64 (*read_pmc)(int counter);
 
diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
index 5b2c15214a6b..6b4102365ae5 100644
--- a/arch/x86/kernel/kvmclock.c
+++ b/arch/x86/kernel/kvmclock.c
@@ -196,7 +196,7 @@ static void kvm_setup_secondary_clock(void)
 void kvmclock_disable(void)
 {
 	if (msr_kvm_system_time)
-		native_write_msr(msr_kvm_system_time, 0, 0);
+		native_write_msr(msr_kvm_system_time, 0);
 }
 
 static void __init kvmclock_init_mem(void)
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index d5d0c5c3300b..5cbc4ccb145c 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -475,7 +475,6 @@ static void svm_inject_exception(struct kvm_vcpu *vcpu)
 
 static void svm_init_erratum_383(void)
 {
-	u32 low, high;
 	int err;
 	u64 val;
 
@@ -489,10 +488,7 @@ static void svm_init_erratum_383(void)
 
 	val |= (1ULL << 47);
 
-	low  = lower_32_bits(val);
-	high = upper_32_bits(val);
-
-	native_write_msr_safe(MSR_AMD64_DC_CFG, low, high);
+	native_write_msr_safe(MSR_AMD64_DC_CFG, val);
 
 	erratum_383_found = true;
 }
@@ -2167,17 +2163,12 @@ static bool is_erratum_383(void)
 
 	/* Clear MCi_STATUS registers */
 	for (i = 0; i < 6; ++i)
-		native_write_msr_safe(MSR_IA32_MCx_STATUS(i), 0, 0);
+		native_write_msr_safe(MSR_IA32_MCx_STATUS(i), 0);
 
 	value = native_read_msr_safe(MSR_IA32_MCG_STATUS, &err);
 	if (!err) {
-		u32 low, high;
-
 		value &= ~(1ULL << 2);
-		low    = lower_32_bits(value);
-		high   = upper_32_bits(value);
-
-		native_write_msr_safe(MSR_IA32_MCG_STATUS, low, high);
+		native_write_msr_safe(MSR_IA32_MCG_STATUS, value);
 	}
 
 	/* Flush tlb to evict multi-match entries */
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 2bfe57469ac3..7401cce19939 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1165,9 +1165,9 @@ static void xen_do_write_msr(unsigned int msr, unsigned int low,
 
 		if (!pmu_msr_write(msr, val)) {
 			if (err)
-				*err = native_write_msr_safe(msr, low, high);
+				*err = native_write_msr_safe(msr, val);
 			else
-				native_write_msr(msr, low, high);
+				native_write_msr(msr, val);
 		}
 	}
 }
@@ -1177,12 +1177,11 @@ static u64 xen_read_msr_safe(unsigned int msr, int *err)
 	return xen_do_read_msr(msr, err);
 }
 
-static int xen_write_msr_safe(unsigned int msr, unsigned int low,
-			      unsigned int high)
+static int xen_write_msr_safe(u32 msr, u64 val)
 {
 	int err = 0;
 
-	xen_do_write_msr(msr, low, high, &err);
+	xen_do_write_msr(msr, val, (u32)(val >> 32), &err);
 
 	return err;
 }
@@ -1194,11 +1193,11 @@ static u64 xen_read_msr(unsigned int msr)
 	return xen_do_read_msr(msr, xen_msr_safe ? &err : NULL);
 }
 
-static void xen_write_msr(unsigned int msr, unsigned low, unsigned high)
+static void xen_write_msr(u32 msr, u64 val)
 {
 	int err;
 
-	xen_do_write_msr(msr, low, high, xen_msr_safe ? &err : NULL);
+	xen_do_write_msr(msr, val, (u32)(val >> 32), xen_msr_safe ? &err : NULL);
 }
 
 /* This is called once we have the cpu_possible_mask */
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932002.1334250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARH-0003X0-HV; Mon, 31 Mar 2025 08:24:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932002.1334250; Mon, 31 Mar 2025 08: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 1tzARH-0003TT-2g; Mon, 31 Mar 2025 08:24:11 +0000
Received: by outflank-mailman (input) for mailman id 932002;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARE-0001uf-QP
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:08 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81794632-0e09-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:24:05 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp0F3171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 81794632-0e09-11f0-9ffb-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp0F3171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409410;
	bh=cMFNgaQ/yU5pBBnUjuHrZWgQ7p+gEOsEGfeLMhV/cHU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=SuHDQIJy8AzSLC0DrXz1UGsHXHhDsnDQpCgFuieur9l29e7EM1ArYQl7rGjnX8wD+
	 WkraR40jpmWTpADYisOZ7nbeYq+ByLQ5TLLYH8kKM7DCg5buwGVA5GHhHZVrggSeZ4
	 p9nifPZWSuSDm1534yUVgXXqF/kvTz/WBhHohMexeK1jikiHydt9HM2bVqx8MyrHLR
	 c8M6luTBzpzY8I0f63iDe6i8yCHSJXzCnLx3cOikN4ytSEhwdKsNU/oWb2NhlDUBla
	 mlZbjuvfxWirBhjjqog8XtnbNx9xitJDGMf/rsrr0eINZ0q1eEmyIbBAiN8ijpnMcH
	 lJXB3Tmz/tP0A==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 15/15] x86/msr: Move the ARGS macros after the MSR read/write APIs
Date: Mon, 31 Mar 2025 01:22:51 -0700
Message-ID: <20250331082251.3171276-16-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Since the ARGS macros are no longer used in the MSR read/write API
implementation, move them after their definitions.

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/msr.h | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index fc93c2601853..9b109d1d92aa 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -37,23 +37,6 @@ struct saved_msrs {
 	struct saved_msr *array;
 };
 
-/*
- * both i386 and x86_64 returns 64-bit value in edx:eax, but gcc's "A"
- * constraint has different meanings. For i386, "A" means exactly
- * edx:eax, while for x86_64 it doesn't mean rdx:rax or edx:eax. Instead,
- * it means rax *or* rdx.
- */
-#ifdef CONFIG_X86_64
-/* Using 64-bit values saves one instruction clearing the high half of low */
-#define DECLARE_ARGS(val, low, high)	unsigned long low, high
-#define EAX_EDX_VAL(val, low, high)	((low) | (high) << 32)
-#define EAX_EDX_RET(val, low, high)	"=a" (low), "=d" (high)
-#else
-#define DECLARE_ARGS(val, low, high)	unsigned long long val
-#define EAX_EDX_VAL(val, low, high)	(val)
-#define EAX_EDX_RET(val, low, high)	"=A" (val)
-#endif
-
 /*
  * Be very careful with includes. This header is prone to include loops.
  */
@@ -620,6 +603,23 @@ static __always_inline int wrmsrl_safe(const u32 msr, const u64 val)
 extern int rdmsr_safe_regs(u32 regs[8]);
 extern int wrmsr_safe_regs(u32 regs[8]);
 
+/*
+ * both i386 and x86_64 returns 64-bit value in edx:eax, but gcc's "A"
+ * constraint has different meanings. For i386, "A" means exactly
+ * edx:eax, while for x86_64 it doesn't mean rdx:rax or edx:eax. Instead,
+ * it means rax *or* rdx.
+ */
+#ifdef CONFIG_X86_64
+/* Using 64-bit values saves one instruction clearing the high half of low */
+#define DECLARE_ARGS(val, low, high)	unsigned long low, high
+#define EAX_EDX_VAL(val, low, high)	((low) | (high) << 32)
+#define EAX_EDX_RET(val, low, high)	"=a" (low), "=d" (high)
+#else
+#define DECLARE_ARGS(val, low, high)	unsigned long long val
+#define EAX_EDX_VAL(val, low, high)	(val)
+#define EAX_EDX_RET(val, low, high)	"=A" (val)
+#endif
+
 /**
  * rdtsc() - returns the current TSC without ordering constraints
  *
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932003.1334265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARJ-0003sX-73; Mon, 31 Mar 2025 08:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932003.1334265; Mon, 31 Mar 2025 08: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 1tzARI-0003qg-Jh; Mon, 31 Mar 2025 08:24:12 +0000
Received: by outflank-mailman (input) for mailman id 932003;
 Mon, 31 Mar 2025 08: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARF-0001u1-0p
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:09 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8020e93a-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:02 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp0C3171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 8020e93a-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp0C3171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409404;
	bh=NQD+TN3+0whhA/vOhooP6nsjLYQCN7OafGSYujp9CME=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=YQm0yq2/abEsmYWAyVQbq5tQv70sDODfxwc7WwdlTgBlPxMIbMLpLMH0zVC9Lcc7p
	 Qvuu6AGlbcJx1X1yi5tNXQ5AKhi8sR5rEB9RkE6QsQL5YjMdPz8fU2pc5ce/HEbaab
	 pUpzIeMuYD0iFpFUHOnJVdPXd2WtqkGUYx9CVAc5El2OjF8wD56yIUXJ4kaoH1bad9
	 SJRD+yopao3aWS761ht+LyTO99joEjJ6c9vMcU/A45DJvYphj3Yt7CI/55kNcF9glQ
	 eECNCo/JvLAwqkbaYdbrxsCEMwYktqL28wYgtJYsHjujTsS41z8JotrbNwa4TedKYG
	 jPVVW5zxNNySA==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 12/15] x86/msr: Use the alternatives mechanism to write MSR
Date: Mon, 31 Mar 2025 01:22:48 -0700
Message-ID: <20250331082251.3171276-13-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Also add support for the immediate form MSR write support.

Originally-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/fred.h           |   2 +-
 arch/x86/include/asm/msr.h            | 340 ++++++++++++++++++++++----
 arch/x86/include/asm/paravirt.h       |  22 --
 arch/x86/include/asm/paravirt_types.h |   2 -
 arch/x86/kernel/paravirt.c            |   2 -
 arch/x86/xen/enlighten_pv.c           |  63 ++---
 arch/x86/xen/xen-asm.S                |  55 +++++
 arch/x86/xen/xen-ops.h                |   2 +
 8 files changed, 362 insertions(+), 126 deletions(-)

diff --git a/arch/x86/include/asm/fred.h b/arch/x86/include/asm/fred.h
index 2a29e5216881..e6eab64095d4 100644
--- a/arch/x86/include/asm/fred.h
+++ b/arch/x86/include/asm/fred.h
@@ -100,7 +100,7 @@ static __always_inline void fred_update_rsp0(void)
 	unsigned long rsp0 = (unsigned long) task_stack_page(current) + THREAD_SIZE;
 
 	if (cpu_feature_enabled(X86_FEATURE_FRED) && (__this_cpu_read(fred_rsp0) != rsp0)) {
-		wrmsrns(MSR_IA32_FRED_RSP0, rsp0);
+		native_wrmsrl(MSR_IA32_FRED_RSP0, rsp0);
 		__this_cpu_write(fred_rsp0, rsp0);
 	}
 }
diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index da4f2f6d127f..066cde11254a 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -8,6 +8,7 @@
 
 #include <asm/asm.h>
 #include <asm/errno.h>
+#include <asm/cpufeature.h>
 #include <asm/cpumask.h>
 #include <uapi/asm/msr.h>
 #include <asm/shared/msr.h>
@@ -72,13 +73,83 @@ static inline void do_trace_read_msr(unsigned int msr, u64 val, int failed) {}
 static inline void do_trace_rdpmc(unsigned int msr, u64 val, int failed) {}
 #endif
 
+#ifdef CONFIG_CC_IS_GCC
+#define ASM_WRMSRNS_IMM			\
+	" .insn VEX.128.F3.M7.W0 0xf6 /0, %[val], %[msr]%{:u32}\n\t"
+#endif
+
+#ifdef CONFIG_CC_IS_CLANG
 /*
- * __rdmsr() and __wrmsr() are the two primitives which are the bare minimum MSR
- * accessors and should not have any tracing or other functionality piggybacking
- * on them - those are *purely* for accessing MSRs and nothing more. So don't even
- * think of extending them - you will be slapped with a stinking trout or a frozen
- * shark will reach you, wherever you are! You've been warned.
+ * clang doesn't support the insn directive.
+ *
+ * The register operand is encoded as %rax because all uses of the immediate
+ * form MSR access instructions reference %rax as the register operand.
  */
+#define ASM_WRMSRNS_IMM			\
+	" .byte 0xc4,0xe7,0x7a,0xf6,0xc0; .long %c[msr]"
+#endif
+
+#define PREPARE_RDX_FOR_WRMSR		\
+	"mov %%rax, %%rdx\n\t"		\
+	"shr $0x20, %%rdx\n\t"
+
+#define PREPARE_RCX_RDX_FOR_WRMSR	\
+	"mov %[msr], %%ecx\n\t"		\
+	PREPARE_RDX_FOR_WRMSR
+
+enum pv_msr_action {
+	PV_MSR_NATIVE,
+	PV_MSR_PV,
+	PV_MSR_IGNORE,
+};
+
+#ifdef CONFIG_XEN_PV
+static __always_inline enum pv_msr_action get_pv_msr_action(const u32 msr)
+{
+	if (!__builtin_constant_p(msr)) {
+		/* Is it safe to blindly do so? */
+		return PV_MSR_NATIVE;
+	}
+
+	switch (msr) {
+	case MSR_FS_BASE:
+	case MSR_KERNEL_GS_BASE:
+	case MSR_GS_BASE:
+	case MSR_CORE_PERF_GLOBAL_OVF_CTRL:
+	case MSR_CORE_PERF_GLOBAL_STATUS:
+	case MSR_CORE_PERF_GLOBAL_CTRL:
+	case MSR_CORE_PERF_FIXED_CTR_CTRL:
+	case MSR_IA32_APICBASE:
+		return PV_MSR_PV;
+
+	case MSR_STAR:
+	case MSR_CSTAR:
+	case MSR_LSTAR:
+	case MSR_SYSCALL_MASK:
+	case MSR_IA32_SYSENTER_CS:
+	case MSR_IA32_SYSENTER_ESP:
+	case MSR_IA32_SYSENTER_EIP:
+		return PV_MSR_IGNORE;
+
+	default:
+		/*
+		 * MSR access instructions RDMSR/WRMSR/WRMSRNS will be used.
+		 *
+		 * The hypervisor will trap and inject #GP into the guest and
+		 * the MSR access instruction will be skipped.
+		 */
+		return PV_MSR_NATIVE;
+	}
+}
+
+extern void asm_xen_write_msr(void);
+#else
+static __always_inline enum pv_msr_action get_pv_msr_action(const u32 msr)
+{
+	return PV_MSR_NATIVE;
+}
+#endif
+
 static __always_inline unsigned long long __rdmsr(unsigned int msr)
 {
 	DECLARE_ARGS(val, low, high);
@@ -91,14 +162,6 @@ static __always_inline unsigned long long __rdmsr(unsigned int msr)
 	return EAX_EDX_VAL(val, low, high);
 }
 
-static __always_inline void __wrmsr(u32 msr, u64 val)
-{
-	asm volatile("1: wrmsr\n"
-		     "2:\n"
-		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_WRMSR)
-		     : : "c" (msr), "a"((u32)val), "d" ((u32)(val >> 32)) : "memory");
-}
-
 #define native_rdmsr(msr, val1, val2)			\
 do {							\
 	u64 __val = __rdmsr((msr));			\
@@ -111,9 +174,6 @@ static __always_inline u64 native_rdmsrl(const u32 msr)
 	return __rdmsr(msr);
 }
 
-#define native_wrmsrl(msr, val)				\
-	__wrmsr((msr), (val))
-
 static inline unsigned long long native_read_msr(unsigned int msr)
 {
 	unsigned long long val;
@@ -141,31 +201,232 @@ static inline unsigned long long native_read_msr_safe(unsigned int msr,
 	return EAX_EDX_VAL(val, low, high);
 }
 
-/* Can be uninlined because referenced by paravirt */
-static inline void notrace native_write_msr(u32 msr, u64 val)
+/*
+ * Non-serializing WRMSR, when available.
+ * Falls back to a serializing WRMSR.
+ */
+static __always_inline bool __native_wrmsr_variable(const u32 msr, const u64 val, const int type)
+{
+#ifdef CONFIG_X86_64
+	BUILD_BUG_ON(__builtin_constant_p(msr));
+#endif
+
+	asm_inline volatile goto(
+		"1:\n"
+		ALTERNATIVE("ds wrmsr",
+			    ASM_WRMSRNS,
+			    X86_FEATURE_WRMSRNS)
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])
+
+		:
+		: "c" (msr), "a" ((u32)val), "d" ((u32)(val >> 32)), [type] "i" (type)
+		: "memory"
+		: badmsr);
+
+	return false;
+
+badmsr:
+	return true;
+}
+
+#ifdef CONFIG_X86_64
+/*
+ * Non-serializing WRMSR or its immediate form, when available.
+ * Falls back to a serializing WRMSR.
+ */
+static __always_inline bool __native_wrmsr_constant(const u32 msr, const u64 val, const int type)
+{
+	BUILD_BUG_ON(!__builtin_constant_p(msr));
+
+	/*
+	 * WRMSR is 2 bytes.  WRMSRNS is 3 bytes.  Pad WRMSR with a redundant
+	 * DS prefix to avoid a trailing NOP.
+	 */
+	asm_inline volatile goto(
+		"1:\n"
+		ALTERNATIVE_2(PREPARE_RCX_RDX_FOR_WRMSR
+			      "2: ds wrmsr",
+			      PREPARE_RCX_RDX_FOR_WRMSR
+			      ASM_WRMSRNS,
+			      X86_FEATURE_WRMSRNS,
+			      ASM_WRMSRNS_IMM,
+			      X86_FEATURE_MSR_IMM)
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For WRMSRNS immediate */
+		_ASM_EXTABLE_TYPE(2b, %l[badmsr], %c[type])	/* For WRMSR(NS) */
+
+		:
+		: [val] "a" (val), [msr] "i" (msr), [type] "i" (type)
+		: "memory", "ecx", "rdx"
+		: badmsr);
+
+	return false;
+
+badmsr:
+	return true;
+}
+#endif
+
+static __always_inline bool __native_wrmsr(const u32 msr, const u64 val, const int type)
+{
+#ifdef CONFIG_X86_64
+	if (__builtin_constant_p(msr))
+		return __native_wrmsr_constant(msr, val, type);
+#endif
+
+	return __native_wrmsr_variable(msr, val, type);
+}
+
+static __always_inline void native_wrmsr(const u32 msr, const u32 low, const u32 high)
+{
+	__native_wrmsr(msr, (u64)high << 32 | low, EX_TYPE_WRMSR);
+}
+
+static __always_inline void native_wrmsrl(const u32 msr, const u64 val)
+{
+	__native_wrmsr(msr, val, EX_TYPE_WRMSR);
+}
+
+static inline void notrace native_write_msr(const u32 msr, const u64 val)
 {
-	native_wrmsrl(msr, val);
+	__native_wrmsr(msr, val, EX_TYPE_WRMSR);
 
 	if (tracepoint_enabled(write_msr))
 		do_trace_write_msr(msr, val, 0);
 }
 
-/* Can be uninlined because referenced by paravirt */
-static inline int notrace native_write_msr_safe(u32 msr, u64 val)
+static inline int notrace native_write_msr_safe(const u32 msr, const u64 val)
 {
-	int err;
+	int err = __native_wrmsr(msr, val, EX_TYPE_WRMSR_SAFE) ? -EIO : 0;
 
-	asm volatile("1: wrmsr ; xor %[err],%[err]\n"
-		     "2:\n\t"
-		     _ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_WRMSR_SAFE, %[err])
-		     : [err] "=a" (err)
-		     : "c" (msr), "0" ((u32)val), "d" ((u32)(val >> 32))
-		     : "memory");
 	if (tracepoint_enabled(write_msr))
 		do_trace_write_msr(msr, val, err);
+
 	return err;
 }
 
+static __always_inline bool __wrmsr_variable(const u32 msr, const u64 val, const int type)
+{
+#ifdef CONFIG_X86_64
+	BUILD_BUG_ON(__builtin_constant_p(msr));
+
+	asm_inline volatile goto(
+		ALTERNATIVE(PREPARE_RDX_FOR_WRMSR,
+			    "call asm_xen_write_msr\n\t"
+			    "jnz 2f\n\t",
+			    X86_FEATURE_XENPV)
+		ALTERNATIVE("1: ds wrmsr",
+			    ASM_WRMSRNS,
+			    X86_FEATURE_WRMSRNS)
+		"2:\n"
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For WRMSR(NS) */
+
+		: ASM_CALL_CONSTRAINT
+		: "a" (val), "c" (msr), [type] "i" (type)
+		: "memory", "rdx"
+		: badmsr);
+
+	return false;
+
+badmsr:
+	return true;
+#else
+	return __native_wrmsr_variable(msr, val, type);
+#endif
+}
+
+static __always_inline bool __wrmsr_variable_all(const u32 msr, const u64 val, const int type)
+{
+	const enum pv_msr_action action = get_pv_msr_action(msr);
+
+	if (action == PV_MSR_PV) {
+		return __wrmsr_variable(msr, val, type);
+	} else if (action == PV_MSR_IGNORE) {
+		if (cpu_feature_enabled(X86_FEATURE_XENPV))
+			return false;
+	}
+
+	return __native_wrmsr_variable(msr, val, type);
+}
+
+#ifdef CONFIG_X86_64
+static __always_inline bool __wrmsr_constant(const u32 msr, const u64 val, const int type)
+{
+	BUILD_BUG_ON(!__builtin_constant_p(msr));
+
+	asm_inline volatile goto(
+		"1:\n"
+		ALTERNATIVE_2(PREPARE_RCX_RDX_FOR_WRMSR,
+			      "",
+			      X86_FEATURE_MSR_IMM,
+			      "mov %[msr], %%ecx\n\t"
+			      "call asm_xen_write_msr\n\t"
+			      "jnz 3f\n\t",
+			      X86_FEATURE_XENPV)
+		ALTERNATIVE_2("2: ds wrmsr",
+			      ASM_WRMSRNS,
+			      X86_FEATURE_WRMSRNS,
+			      ASM_WRMSRNS_IMM,
+			      X86_FEATURE_MSR_IMM)
+		"3:\n"
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For WRMSRNS immediate */
+		_ASM_EXTABLE_TYPE(2b, %l[badmsr], %c[type])	/* For WRMSR(NS) */
+
+		: ASM_CALL_CONSTRAINT
+		: [val] "a" (val), [msr] "i" (msr), [type] "i" (type)
+		: "memory", "ecx", "rdx"
+		: badmsr);
+
+	return false;
+
+badmsr:
+	return true;
+}
+
+static __always_inline bool __wrmsr_constant_all(const u32 msr, const u64 val, const int type)
+{
+	const enum pv_msr_action action = get_pv_msr_action(msr);
+
+	if (action == PV_MSR_PV) {
+		return __wrmsr_constant(msr, val, type);
+	} else if (action == PV_MSR_IGNORE) {
+		if (cpu_feature_enabled(X86_FEATURE_XENPV))
+			return false;
+	}
+
+	return __native_wrmsr_constant(msr, val, type);
+}
+#endif
+
+static __always_inline bool __wrmsr(const u32 msr, const u64 val, const int type)
+{
+#ifdef CONFIG_X86_64
+	if (__builtin_constant_p(msr))
+		return __wrmsr_constant_all(msr, val, type);
+#endif
+
+	return __wrmsr_variable_all(msr, val, type);
+}
+
+static __always_inline void wrmsr(const u32 msr, const u32 low, const u32 high)
+{
+	__wrmsr(msr, (u64)high << 32 | low, EX_TYPE_WRMSR);
+}
+
+static __always_inline void wrmsrl(const u32 msr, const u64 val)
+{
+	__wrmsr(msr, val, EX_TYPE_WRMSR);
+}
+
+static __always_inline int wrmsr_safe(const u32 msr, const u32 low, const u32 high)
+{
+	return __wrmsr(msr, (u64)high << 32 | low, EX_TYPE_WRMSR_SAFE) ? -EIO : 0;
+}
+
+static __always_inline int wrmsrl_safe(const u32 msr, const u64 val)
+{
+	return __wrmsr(msr, val, EX_TYPE_WRMSR_SAFE) ? -EIO : 0;
+}
+
 extern int rdmsr_safe_regs(u32 regs[8]);
 extern int wrmsr_safe_regs(u32 regs[8]);
 
@@ -287,29 +548,6 @@ do {							\
 
 #endif	/* !CONFIG_PARAVIRT_XXL */
 
-/* Instruction opcode for WRMSRNS supported in binutils >= 2.40 */
-#define WRMSRNS _ASM_BYTES(0x0f,0x01,0xc6)
-
-/* Non-serializing WRMSR, when available.  Falls back to a serializing WRMSR. */
-static __always_inline void wrmsrns(u32 msr, u64 val)
-{
-	/*
-	 * WRMSR is 2 bytes.  WRMSRNS is 3 bytes.  Pad WRMSR with a redundant
-	 * DS prefix to avoid a trailing NOP.
-	 */
-	asm volatile("1: " ALTERNATIVE("ds wrmsr", WRMSRNS, X86_FEATURE_WRMSRNS)
-		     "2: " _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_WRMSR)
-		     : : "c" (msr), "a" ((u32)val), "d" ((u32)(val >> 32)));
-}
-
-/*
- * 64-bit version of wrmsr_safe():
- */
-static inline int wrmsrl_safe(u32 msr, u64 val)
-{
-	return native_write_msr_safe(msr, val);
-}
-
 struct msr __percpu *msrs_alloc(void);
 void msrs_free(struct msr __percpu *msrs);
 int msr_set_bit(u32 msr, u8 bit);
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index f3d6e8394d38..351feb890ab0 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -180,21 +180,11 @@ static inline u64 paravirt_read_msr(unsigned msr)
 	return PVOP_CALL1(u64, cpu.read_msr, msr);
 }
 
-static inline void paravirt_write_msr(u32 msr, u32 low, u32 high)
-{
-	PVOP_VCALL2(cpu.write_msr, msr, (u64)high << 32 | low);
-}
-
 static inline u64 paravirt_read_msr_safe(unsigned msr, int *err)
 {
 	return PVOP_CALL2(u64, cpu.read_msr_safe, msr, err);
 }
 
-static inline int paravirt_write_msr_safe(u32 msr, u32 low, u32 high)
-{
-	return PVOP_CALL2(int, cpu.write_msr_safe, msr, (u64)high << 32 | low);
-}
-
 #define rdmsr(msr, val1, val2)			\
 do {						\
 	u64 _l = paravirt_read_msr(msr);	\
@@ -202,23 +192,11 @@ do {						\
 	val2 = _l >> 32;			\
 } while (0)
 
-#define wrmsr(msr, val1, val2)			\
-do {						\
-	paravirt_write_msr(msr, val1, val2);	\
-} while (0)
-
 #define rdmsrl(msr, val)			\
 do {						\
 	val = paravirt_read_msr(msr);		\
 } while (0)
 
-static inline void wrmsrl(unsigned msr, u64 val)
-{
-	wrmsr(msr, (u32)val, (u32)(val>>32));
-}
-
-#define wrmsr_safe(msr, a, b)	paravirt_write_msr_safe(msr, a, b)
-
 /* rdmsr with exception handling */
 #define rdmsr_safe(msr, a, b)				\
 ({							\
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 78777b78da12..8a563576d70e 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -92,14 +92,12 @@ struct pv_cpu_ops {
 
 	/* Unsafe MSR operations.  These will warn or panic on failure. */
 	u64 (*read_msr)(unsigned int msr);
-	void (*write_msr)(u32 msr, u64 val);
 
 	/*
 	 * Safe MSR operations.
 	 * read sets err to 0 or -EIO.  write returns 0 or -EIO.
 	 */
 	u64 (*read_msr_safe)(unsigned int msr, int *err);
-	int (*write_msr_safe)(u32 msr, u64 val);
 
 	u64 (*read_pmc)(int counter);
 
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 1ccd05d8999f..ffb04445f97e 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -129,9 +129,7 @@ struct paravirt_patch_template pv_ops = {
 	.cpu.write_cr0		= native_write_cr0,
 	.cpu.write_cr4		= native_write_cr4,
 	.cpu.read_msr		= native_read_msr,
-	.cpu.write_msr		= native_write_msr,
 	.cpu.read_msr_safe	= native_read_msr_safe,
-	.cpu.write_msr_safe	= native_write_msr_safe,
 	.cpu.read_pmc		= native_read_pmc,
 	.cpu.load_tr_desc	= native_load_tr_desc,
 	.cpu.set_ldt		= native_set_ldt,
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index a047dadf4511..d02f55bfa869 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1112,43 +1112,33 @@ static u64 xen_do_read_msr(unsigned int msr, int *err)
 	return val;
 }
 
-static void set_seg(unsigned int which, unsigned int low, unsigned int high,
-		    int *err)
+static void set_seg(u32 which, u64 base)
 {
-	u64 base = ((u64)high << 32) | low;
-
-	if (HYPERVISOR_set_segment_base(which, base) == 0)
-		return;
-
-	if (err)
-		*err = -EIO;
-	else
+	if (HYPERVISOR_set_segment_base(which, base))
 		WARN(1, "Xen set_segment_base(%u, %llx) failed\n", which, base);
 }
 
 /*
- * Support write_msr_safe() and write_msr() semantics.
- * With err == NULL write_msr() semantics are selected.
- * Supplying an err pointer requires err to be pre-initialized with 0.
+ * Return true to indicate the requested MSR write has been done successfully,
+ * otherwise return false to have the calling MSR write primitives in msr.h to
+ * fail.
  */
-static void xen_do_write_msr(unsigned int msr, unsigned int low,
-			     unsigned int high, int *err)
+bool xen_do_write_msr(u32 msr, u64 val)
 {
-	u64 val;
 	bool emulated;
 
 	switch (msr) {
 	case MSR_FS_BASE:
-		set_seg(SEGBASE_FS, low, high, err);
-		break;
+		set_seg(SEGBASE_FS, val);
+		return true;
 
 	case MSR_KERNEL_GS_BASE:
-		set_seg(SEGBASE_GS_USER, low, high, err);
-		break;
+		set_seg(SEGBASE_GS_USER, val);
+		return true;
 
 	case MSR_GS_BASE:
-		set_seg(SEGBASE_GS_KERNEL, low, high, err);
-		break;
+		set_seg(SEGBASE_GS_KERNEL, val);
+		return true;
 
 	case MSR_STAR:
 	case MSR_CSTAR:
@@ -1160,18 +1150,13 @@ static void xen_do_write_msr(unsigned int msr, unsigned int low,
 		/* Fast syscall setup is all done in hypercalls, so
 		   these are all ignored.  Stub them out here to stop
 		   Xen console noise. */
-		break;
+		return true;
 
 	default:
-		val = (u64)high << 32 | low;
-
 		if (pmu_msr_chk_emulated(msr, &val, false, &emulated) && emulated)
-			return;
+			return true;
 
-		if (err)
-			*err = native_write_msr_safe(msr, val);
-		else
-			native_write_msr(msr, val);
+		return false;
 	}
 }
 
@@ -1180,15 +1165,6 @@ static u64 xen_read_msr_safe(unsigned int msr, int *err)
 	return xen_do_read_msr(msr, err);
 }
 
-static int xen_write_msr_safe(u32 msr, u64 val)
-{
-	int err = 0;
-
-	xen_do_write_msr(msr, val, (u32)(val >> 32), &err);
-
-	return err;
-}
-
 static u64 xen_read_msr(unsigned int msr)
 {
 	int err;
@@ -1196,13 +1172,6 @@ static u64 xen_read_msr(unsigned int msr)
 	return xen_do_read_msr(msr, xen_msr_safe ? &err : NULL);
 }
 
-static void xen_write_msr(u32 msr, u64 val)
-{
-	int err;
-
-	xen_do_write_msr(msr, val, (u32)(val >> 32), xen_msr_safe ? &err : NULL);
-}
-
 /* This is called once we have the cpu_possible_mask */
 void __init xen_setup_vcpu_info_placement(void)
 {
@@ -1238,10 +1207,8 @@ static const typeof(pv_ops) xen_cpu_ops __initconst = {
 		.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,
 
diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S
index 109af12f7647..e672632b1cc0 100644
--- a/arch/x86/xen/xen-asm.S
+++ b/arch/x86/xen/xen-asm.S
@@ -344,3 +344,58 @@ SYM_CODE_END(xen_entry_SYSENTER_compat)
 SYM_CODE_END(xen_entry_SYSCALL_compat)
 
 #endif	/* CONFIG_IA32_EMULATION */
+
+.macro XEN_SAVE_CALLEE_REGS_FOR_MSR
+	push %rcx
+	push %rdi
+	push %rsi
+	push %r8
+	push %r9
+	push %r10
+	push %r11
+.endm
+
+.macro XEN_RESTORE_CALLEE_REGS_FOR_MSR
+	pop %r11
+	pop %r10
+	pop %r9
+	pop %r8
+	pop %rsi
+	pop %rdi
+	pop %rcx
+.endm
+
+/*
+ * MSR number in %ecx, MSR value in %rax.
+ *
+ * %edx is set up to match %rax >> 32 like the native stub
+ * is expected to do
+ *
+ * Let xen_do_write_msr() return 'false' if the MSR access should
+ * be executed natively, IOW, 'true' means it has done the job.
+ *
+ * 	bool xen_do_write_msr(u32 msr, u64 value)
+ *
+ * If ZF=1 then this will fall down to the actual native WRMSR[NS]
+ * instruction.
+ *
+ * This also removes the need for Xen to maintain different safe and
+ * unsafe MSR routines, as the difference is handled by the same
+ * trap handler as is used natively.
+ */
+ SYM_FUNC_START(asm_xen_write_msr)
+	ENDBR
+	FRAME_BEGIN
+	push %rax		/* Save in case of native fallback */
+	XEN_SAVE_CALLEE_REGS_FOR_MSR
+	mov %ecx, %edi		/* MSR number */
+	mov %rax, %rsi		/* MSR data */
+	call xen_do_write_msr
+	test %al, %al		/* %al=1, i.e., ZF=0, means successfully done */
+	XEN_RESTORE_CALLEE_REGS_FOR_MSR
+	mov 4(%rsp), %edx	/* Set up %edx for native execution */
+	pop %rax
+	FRAME_END
+	RET
+SYM_FUNC_END(asm_xen_write_msr)
+EXPORT_SYMBOL_GPL(asm_xen_write_msr)
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 6545661010ce..fc3c55871037 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -146,6 +146,8 @@ __visible unsigned long xen_read_cr2_direct(void);
 /* These are not functions, and cannot be called normally */
 __visible void xen_iret(void);
 
+extern bool xen_do_write_msr(u32 msr, u64 val);
+
 extern int xen_panic_handler_init(void);
 
 int xen_cpuhp_setup(int (*cpu_up_prepare_cb)(unsigned int),
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932004.1334276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARK-00048v-BJ; Mon, 31 Mar 2025 08:24:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932004.1334276; Mon, 31 Mar 2025 08: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 1tzARJ-00045B-Ew; Mon, 31 Mar 2025 08:24:13 +0000
Received: by outflank-mailman (input) for mailman id 932004;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARF-0001uf-QP
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:09 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 818e157e-0e09-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:24:05 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp0B3171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 818e157e-0e09-11f0-9ffb-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp0B3171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409402;
	bh=AliY8eRLGXH0M9T1YLICUMbSBraUzdLknMsijvvtjSM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=PnRobvTiAXfnZAA5cVvRKq7KE/T/TrORn+EtVp1jCTqA8ycun7Wucl8DJLIO71N2/
	 uSEpnYPaUafO8DpxST6jufpuHWqLkzTNOnaZtZniIJpVjolE8yipeVlu40jxS3AxVz
	 SQXxQMsab++sLuUC9KkA/PcH3r95hKodFUqGxFZQ9js7SuO8Is0I08vsCNtKya5bjI
	 mij9VKqWcRygtaCmMG+i1TdPNItSumUg5xfXgt/1D8fSuKbEzPD6bPqWH0ZclRLlBQ
	 yjIIY+aIXe/tviO8O3oyYbGBtYyk40Hm4yPMyYxfnoNqsAUOTo4DSLZ+1BUmRmGqR4
	 89R6xqzhUgPLQ==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 11/15] x86/extable: Implement EX_TYPE_FUNC_REWIND
Date: Mon, 31 Mar 2025 01:22:47 -0700
Message-ID: <20250331082251.3171276-12-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

Add a new exception type, which allows emulating an exception as if it
had happened at or near the call site of a function.  This allows a
function call inside an alternative for instruction emulation to "kick
back" the exception into the alternatives pattern, possibly invoking a
different exception handling pattern there, or at least indicating the
"real" location of the fault.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/asm.h                 |   6 +
 arch/x86/include/asm/extable_fixup_types.h |   1 +
 arch/x86/mm/extable.c                      | 135 +++++++++++++--------
 3 files changed, 91 insertions(+), 51 deletions(-)

diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h
index cc2881576c2c..c05c33653194 100644
--- a/arch/x86/include/asm/asm.h
+++ b/arch/x86/include/asm/asm.h
@@ -243,5 +243,11 @@ register unsigned long current_stack_pointer asm(_ASM_SP);
 #define _ASM_EXTABLE_FAULT(from, to)				\
 	_ASM_EXTABLE_TYPE(from, to, EX_TYPE_FAULT)
 
+#define _ASM_EXTABLE_FUNC_REWIND(from, ipdelta, spdelta)	\
+	_ASM_EXTABLE_TYPE(from, from /* unused */,		\
+			  EX_TYPE_FUNC_REWIND |			\
+			  EX_DATA_REG(spdelta) |		\
+			  EX_DATA_IMM(ipdelta))
+
 #endif /* __KERNEL__ */
 #endif /* _ASM_X86_ASM_H */
diff --git a/arch/x86/include/asm/extable_fixup_types.h b/arch/x86/include/asm/extable_fixup_types.h
index 906b0d5541e8..9cd1cea45052 100644
--- a/arch/x86/include/asm/extable_fixup_types.h
+++ b/arch/x86/include/asm/extable_fixup_types.h
@@ -67,5 +67,6 @@
 #define	EX_TYPE_ZEROPAD			20 /* longword load with zeropad on fault */
 
 #define	EX_TYPE_ERETU			21
+#define	EX_TYPE_FUNC_REWIND		22
 
 #endif
diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index 51986e8a9d35..eb9331240a88 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -290,6 +290,27 @@ static bool ex_handler_eretu(const struct exception_table_entry *fixup,
 }
 #endif
 
+/*
+ * Emulate a fault taken at the call site of a function.
+ *
+ * The combined reg and flags field are used as an unsigned number of
+ * machine words to pop off the stack before the return address, then
+ * the signed imm field is used as a delta from the return IP address.
+ */
+static bool ex_handler_func_rewind(struct pt_regs *regs, int data)
+{
+	const long ipdelta = FIELD_GET(EX_DATA_IMM_MASK, data);
+	const unsigned long pops = FIELD_GET(EX_DATA_REG_MASK | EX_DATA_FLAG_MASK, data);
+	unsigned long *sp;
+
+	sp = (unsigned long *)regs->sp;
+	sp += pops;
+	regs->ip = *sp++ + ipdelta;
+	regs->sp = (unsigned long)sp;
+
+	return true;
+}
+
 int ex_get_fixup_type(unsigned long ip)
 {
 	const struct exception_table_entry *e = search_exception_tables(ip);
@@ -302,6 +323,7 @@ int fixup_exception(struct pt_regs *regs, int trapnr, unsigned long error_code,
 {
 	const struct exception_table_entry *e;
 	int type, reg, imm;
+	bool again;
 
 #ifdef CONFIG_PNPBIOS
 	if (unlikely(SEGMENT_IS_PNP_CODE(regs->cs))) {
@@ -317,60 +339,71 @@ int fixup_exception(struct pt_regs *regs, int trapnr, unsigned long error_code,
 	}
 #endif
 
-	e = search_exception_tables(regs->ip);
-	if (!e)
-		return 0;
-
-	type = FIELD_GET(EX_DATA_TYPE_MASK, e->data);
-	reg  = FIELD_GET(EX_DATA_REG_MASK,  e->data);
-	imm  = FIELD_GET(EX_DATA_IMM_MASK,  e->data);
-
-	switch (type) {
-	case EX_TYPE_DEFAULT:
-	case EX_TYPE_DEFAULT_MCE_SAFE:
-		return ex_handler_default(e, regs);
-	case EX_TYPE_FAULT:
-	case EX_TYPE_FAULT_MCE_SAFE:
-		return ex_handler_fault(e, regs, trapnr);
-	case EX_TYPE_UACCESS:
-		return ex_handler_uaccess(e, regs, trapnr, fault_addr);
-	case EX_TYPE_CLEAR_FS:
-		return ex_handler_clear_fs(e, regs);
-	case EX_TYPE_FPU_RESTORE:
-		return ex_handler_fprestore(e, regs);
-	case EX_TYPE_BPF:
-		return ex_handler_bpf(e, regs);
-	case EX_TYPE_WRMSR:
-		return ex_handler_msr(e, regs, true, false, reg);
-	case EX_TYPE_RDMSR:
-		return ex_handler_msr(e, regs, false, false, reg);
-	case EX_TYPE_WRMSR_SAFE:
-		return ex_handler_msr(e, regs, true, true, reg);
-	case EX_TYPE_RDMSR_SAFE:
-		return ex_handler_msr(e, regs, false, true, reg);
-	case EX_TYPE_WRMSR_IN_MCE:
-		ex_handler_msr_mce(regs, true);
-		break;
-	case EX_TYPE_RDMSR_IN_MCE:
-		ex_handler_msr_mce(regs, false);
-		break;
-	case EX_TYPE_POP_REG:
-		regs->sp += sizeof(long);
-		fallthrough;
-	case EX_TYPE_IMM_REG:
-		return ex_handler_imm_reg(e, regs, reg, imm);
-	case EX_TYPE_FAULT_SGX:
-		return ex_handler_sgx(e, regs, trapnr);
-	case EX_TYPE_UCOPY_LEN:
-		return ex_handler_ucopy_len(e, regs, trapnr, fault_addr, reg, imm);
-	case EX_TYPE_ZEROPAD:
-		return ex_handler_zeropad(e, regs, fault_addr);
+	do {
+		e = search_exception_tables(regs->ip);
+		if (!e)
+			return 0;
+
+		again = false;
+
+		type = FIELD_GET(EX_DATA_TYPE_MASK, e->data);
+		reg  = FIELD_GET(EX_DATA_REG_MASK,  e->data);
+		imm  = FIELD_GET(EX_DATA_IMM_MASK,  e->data);
+
+		switch (type) {
+		case EX_TYPE_DEFAULT:
+		case EX_TYPE_DEFAULT_MCE_SAFE:
+			return ex_handler_default(e, regs);
+		case EX_TYPE_FAULT:
+		case EX_TYPE_FAULT_MCE_SAFE:
+			return ex_handler_fault(e, regs, trapnr);
+		case EX_TYPE_UACCESS:
+			return ex_handler_uaccess(e, regs, trapnr, fault_addr);
+		case EX_TYPE_CLEAR_FS:
+			return ex_handler_clear_fs(e, regs);
+		case EX_TYPE_FPU_RESTORE:
+			return ex_handler_fprestore(e, regs);
+		case EX_TYPE_BPF:
+			return ex_handler_bpf(e, regs);
+		case EX_TYPE_WRMSR:
+			return ex_handler_msr(e, regs, true, false, reg);
+		case EX_TYPE_RDMSR:
+			return ex_handler_msr(e, regs, false, false, reg);
+		case EX_TYPE_WRMSR_SAFE:
+			return ex_handler_msr(e, regs, true, true, reg);
+		case EX_TYPE_RDMSR_SAFE:
+			return ex_handler_msr(e, regs, false, true, reg);
+		case EX_TYPE_WRMSR_IN_MCE:
+			ex_handler_msr_mce(regs, true);
+			break;
+		case EX_TYPE_RDMSR_IN_MCE:
+			ex_handler_msr_mce(regs, false);
+			break;
+		case EX_TYPE_POP_REG:
+			regs->sp += sizeof(long);
+			fallthrough;
+		case EX_TYPE_IMM_REG:
+			return ex_handler_imm_reg(e, regs, reg, imm);
+		case EX_TYPE_FAULT_SGX:
+			return ex_handler_sgx(e, regs, trapnr);
+		case EX_TYPE_UCOPY_LEN:
+			return ex_handler_ucopy_len(e, regs, trapnr, fault_addr, reg, imm);
+		case EX_TYPE_ZEROPAD:
+			return ex_handler_zeropad(e, regs, fault_addr);
 #ifdef CONFIG_X86_FRED
-	case EX_TYPE_ERETU:
-		return ex_handler_eretu(e, regs, error_code);
+		case EX_TYPE_ERETU:
+			return ex_handler_eretu(e, regs, error_code);
 #endif
-	}
+		case EX_TYPE_FUNC_REWIND:
+			again = ex_handler_func_rewind(regs, e->data);
+			break;
+		default:
+			break;	/* Will BUG() */
+		}
+	} while (again);
+
 	BUG();
+	return 0;
 }
 
 extern unsigned int early_recursion_flag;
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932005.1334282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARL-0004IJ-1e; Mon, 31 Mar 2025 08:24:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932005.1334282; Mon, 31 Mar 2025 08: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 1tzARK-0004D8-7i; Mon, 31 Mar 2025 08:24:14 +0000
Received: by outflank-mailman (input) for mailman id 932005;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARG-0001u1-18
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:10 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80f61326-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:04 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp0E3171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 80f61326-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp0E3171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409408;
	bh=tIAU2yy9AOedAvkyMYNrk111yRXguMSruNF4FMMzeHg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=D7JCbMeXqweNh4pJPPw3+DgPKkMbuFPHUf0gRRzqUD2N/ecx68NbyfGuhSjPaQoWY
	 mPmtnI1wTz8QnIJupt2R52o2elidYMFxQqTBQit0V10L9BDFmClZT/ppYUt5in2qs4
	 e9j2ZDUURdepMNCTtW+l4EcDMhlQH5vFCF5V7jlR9s/o3tpqLx+Hqmm4jgFgtPgYf1
	 eoMDOqWoJNnyPqToiT5yyUynx2AtKyvNZcR+n2ZUNik3Ln6pveOKPIJCouqGM6x74X
	 1pVyDGySW5ixXeseTIbyEzgsxuHGPcgoTg9cznUx900NH2wgPPUTESijAYougzG4f5
	 SiD+uPwm/kYOQ==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 14/15] x86/extable: Add support for the immediate form MSR instructions
Date: Mon, 31 Mar 2025 01:22:50 -0700
Message-ID: <20250331082251.3171276-15-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/mm/extable.c | 59 ++++++++++++++++++++++++++++++-------------
 1 file changed, 41 insertions(+), 18 deletions(-)

diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index eb9331240a88..56138c0762b7 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -164,31 +164,54 @@ static bool ex_handler_uaccess(const struct exception_table_entry *fixup,
 	return ex_handler_default(fixup, regs);
 }
 
+#ifdef CONFIG_X86_64
+static const u8 msr_imm_insn_prefix[] = { 0xc4, 0xe7 };
+#endif
+
 static bool ex_handler_msr(const struct exception_table_entry *fixup,
-			   struct pt_regs *regs, bool wrmsr, bool safe, int reg)
+			   struct pt_regs *regs, bool wrmsr, bool safe)
 {
+	/*
+	 * To ensure consistency with the existing RDMSR and WRMSR(NS), the register
+	 * operand of the immediate form MSR access instructions is ALWAYS encoded as
+	 * RAX in <asm/msr.h> for the MSR value to be written or read.
+	 *
+	 * Full decoder for the immediate form MSR access instructions looks overkill.
+	 */
+	bool is_imm_insn;
+	u32 msr;
+	u64 msr_val;
+
+#ifdef CONFIG_X86_64
+	is_imm_insn = !memcmp((void *)regs->ip, msr_imm_insn_prefix, sizeof(msr_imm_insn_prefix));
+#else
+	is_imm_insn = false;
+#endif
+
+	if (is_imm_insn) {
+		u8 *insn = (u8 *)regs->ip;
+
+		msr = insn[5] | (insn[6] << 8) | (insn[7] << 16) | (insn[8] << 24);
+	} else {
+		msr = (u32)regs->cx;
+	}
+
 	if (__ONCE_LITE_IF(!safe && wrmsr)) {
-		pr_warn("unchecked MSR access error: WRMSR to 0x%x (tried to write 0x%08x%08x) at rIP: 0x%lx (%pS)\n",
-			(unsigned int)regs->cx, (unsigned int)regs->dx,
-			(unsigned int)regs->ax,  regs->ip, (void *)regs->ip);
+		msr_val = regs->ax;
+		if (!is_imm_insn)
+			msr_val |= (u64)regs->dx << 32;
+
+		pr_warn("unchecked MSR access error: WRMSR to 0x%x (tried to write 0x%016llx) at rIP: 0x%lx (%pS)\n",
+			msr, msr_val, regs->ip, (void *)regs->ip);
 		show_stack_regs(regs);
 	}
 
 	if (__ONCE_LITE_IF(!safe && !wrmsr)) {
 		pr_warn("unchecked MSR access error: RDMSR from 0x%x at rIP: 0x%lx (%pS)\n",
-			(unsigned int)regs->cx, regs->ip, (void *)regs->ip);
+			msr, regs->ip, (void *)regs->ip);
 		show_stack_regs(regs);
 	}
 
-	if (!wrmsr) {
-		/* Pretend that the read succeeded and returned 0. */
-		regs->ax = 0;
-		regs->dx = 0;
-	}
-
-	if (safe)
-		*pt_regs_nr(regs, reg) = -EIO;
-
 	return ex_handler_default(fixup, regs);
 }
 
@@ -366,13 +389,13 @@ int fixup_exception(struct pt_regs *regs, int trapnr, unsigned long error_code,
 		case EX_TYPE_BPF:
 			return ex_handler_bpf(e, regs);
 		case EX_TYPE_WRMSR:
-			return ex_handler_msr(e, regs, true, false, reg);
+			return ex_handler_msr(e, regs, true, false);
 		case EX_TYPE_RDMSR:
-			return ex_handler_msr(e, regs, false, false, reg);
+			return ex_handler_msr(e, regs, false, false);
 		case EX_TYPE_WRMSR_SAFE:
-			return ex_handler_msr(e, regs, true, true, reg);
+			return ex_handler_msr(e, regs, true, true);
 		case EX_TYPE_RDMSR_SAFE:
-			return ex_handler_msr(e, regs, false, true, reg);
+			return ex_handler_msr(e, regs, false, true);
 		case EX_TYPE_WRMSR_IN_MCE:
 			ex_handler_msr_mce(regs, true);
 			break;
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:24:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:24:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932006.1334292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARM-0004jt-Vq; Mon, 31 Mar 2025 08:24:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932006.1334292; Mon, 31 Mar 2025 08:24:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzARL-0004e0-UJ; Mon, 31 Mar 2025 08:24:15 +0000
Received: by outflank-mailman (input) for mailman id 932006;
 Mon, 31 Mar 2025 08:24: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARH-0001u1-1B
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:11 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8165453a-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:04 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp0D3171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:23: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: 8165453a-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp0D3171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409406;
	bh=MTNAHE0XoF/3VfQI20ic/94siCvLM4yHxZJbzupiGV4=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=YZ0iWw1g3Cln5AvXjilDQAKtaaSHfwJ+OM5wjPktUJyEqApfbUfhM09OIuU8QP2ZZ
	 mYIqHTSj9WbWaRawl1ndfEI99/JZFReL4cHv2Bb1eaQsckThi+Yd7S/58DdR7MADp7
	 brFPhnzRo2b4ImK45TMad4AgaT1rzmLAJjkaQzPMD0yRdou+z3xLfMDvndeKh03uRp
	 /+zHv3a4TGJZ32AoXQQXNfLWD3AqlBnWwlZqVKdNR8IVx0jW2LdzRYxxK+IYI7jo1X
	 8Jzz5y7bJekuTfQ2vMotkE1uZCAR+Ikj1SSqu1wAmeaafKH5SDC3fXFrxE045okmoi
	 kvDiyWI69VGjg==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 13/15] x86/msr: Use the alternatives mechanism to read MSR
Date: Mon, 31 Mar 2025 01:22:49 -0700
Message-ID: <20250331082251.3171276-14-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331082251.3171276-1-xin@zytor.com>
References: <20250331082251.3171276-1-xin@zytor.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Also add support for the immediate form MSR read support.

Suggested-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Xin Li (Intel) <xin@zytor.com>
---
 arch/x86/include/asm/msr.h            | 274 ++++++++++++++++++++------
 arch/x86/include/asm/paravirt.h       |  40 ----
 arch/x86/include/asm/paravirt_types.h |   9 -
 arch/x86/kernel/paravirt.c            |   2 -
 arch/x86/xen/enlighten_pv.c           |  45 ++---
 arch/x86/xen/xen-asm.S                |  34 ++++
 arch/x86/xen/xen-ops.h                |   7 +
 7 files changed, 276 insertions(+), 135 deletions(-)

diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
index 066cde11254a..fc93c2601853 100644
--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -74,6 +74,8 @@ static inline void do_trace_rdpmc(unsigned int msr, u64 val, int failed) {}
 #endif
 
 #ifdef CONFIG_CC_IS_GCC
+#define ASM_RDMSR_IMM			\
+	" .insn VEX.128.F2.M7.W0 0xf6 /0, %[msr]%{:u32}, %[val]\n\t"
 #define ASM_WRMSRNS_IMM			\
 	" .insn VEX.128.F3.M7.W0 0xf6 /0, %[val], %[msr]%{:u32}\n\t"
 #endif
@@ -85,10 +87,17 @@ static inline void do_trace_rdpmc(unsigned int msr, u64 val, int failed) {}
  * The register operand is encoded as %rax because all uses of the immediate
  * form MSR access instructions reference %rax as the register operand.
  */
+#define ASM_RDMSR_IMM			\
+	" .byte 0xc4,0xe7,0x7b,0xf6,0xc0; .long %c[msr]"
 #define ASM_WRMSRNS_IMM			\
 	" .byte 0xc4,0xe7,0x7a,0xf6,0xc0; .long %c[msr]"
 #endif
 
+#define RDMSR_AND_SAVE_RESULT		\
+	"rdmsr\n\t"			\
+	"shl $0x20, %%rdx\n\t"		\
+	"or %%rdx, %[val]\n\t"
+
 #define PREPARE_RDX_FOR_WRMSR		\
 	"mov %%rax, %%rdx\n\t"		\
 	"shr $0x20, %%rdx\n\t"
@@ -142,6 +151,7 @@ static __always_inline enum pv_msr_action get_pv_msr_action(const u32 msr)
 	}
 }
 
+extern void asm_xen_read_msr(void);
 extern void asm_xen_write_msr(void);
 #else
 static __always_inline enum pv_msr_action get_pv_msr_action(const u32 msr)
@@ -150,35 +160,95 @@ static __always_inline enum pv_msr_action get_pv_msr_action(const u32 msr)
 }
 #endif
 
-static __always_inline unsigned long long __rdmsr(unsigned int msr)
+static __always_inline bool __native_rdmsr_variable(const u32 msr, u64 *val, const int type)
 {
-	DECLARE_ARGS(val, low, high);
+#ifdef CONFIG_X86_64
+	BUILD_BUG_ON(__builtin_constant_p(msr));
 
-	asm volatile("1: rdmsr\n"
-		     "2:\n"
-		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_RDMSR)
-		     : EAX_EDX_RET(val, low, high) : "c" (msr));
+	asm_inline volatile goto(
+		"1:\n"
+		RDMSR_AND_SAVE_RESULT
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For RDMSR */
 
-	return EAX_EDX_VAL(val, low, high);
+		: [val] "=a" (*val)
+		: "c" (msr), [type] "i" (type)
+		: "memory", "rdx"
+		: badmsr);
+#else
+	asm_inline volatile goto(
+		"1: rdmsr\n\t"
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For RDMSR */
+
+		: "=A" (*val)
+		: "c" (msr), [type] "i" (type)
+		: "memory"
+		: badmsr);
+#endif
+
+	return false;
+
+badmsr:
+	return true;
+}
+
+#ifdef CONFIG_X86_64
+static __always_inline bool __native_rdmsr_constant(const u32 msr, u64 *val, const int type)
+{
+	BUILD_BUG_ON(!__builtin_constant_p(msr));
+
+	asm_inline volatile goto(
+		"1:\n"
+		ALTERNATIVE("mov %[msr], %%ecx\n\t"
+			    "2:\n"
+			    RDMSR_AND_SAVE_RESULT,
+			    ASM_RDMSR_IMM,
+			    X86_FEATURE_MSR_IMM)
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For RDMSR immediate */
+		_ASM_EXTABLE_TYPE(2b, %l[badmsr], %c[type])	/* For RDMSR */
+
+		: [val] "=a" (*val)
+		: [msr] "i" (msr), [type] "i" (type)
+		: "memory", "ecx", "rdx"
+		: badmsr);
+
+	return false;
+
+badmsr:
+	return true;
+}
+#endif
+
+static __always_inline bool __native_rdmsr(const u32 msr, u64 *val, const int type)
+{
+#ifdef CONFIG_X86_64
+	if (__builtin_constant_p(msr))
+		return __native_rdmsr_constant(msr, val, type);
+#endif
+
+	return __native_rdmsr_variable(msr, val, type);
 }
 
-#define native_rdmsr(msr, val1, val2)			\
+#define native_rdmsr(msr, low, high)			\
 do {							\
-	u64 __val = __rdmsr((msr));			\
-	(void)((val1) = (u32)__val);			\
-	(void)((val2) = (u32)(__val >> 32));		\
+	u64 __val = 0;					\
+	__native_rdmsr((msr), &__val, EX_TYPE_RDMSR);	\
+	(void)((low) = (u32)__val);			\
+	(void)((high) = (u32)(__val >> 32));		\
 } while (0)
 
 static __always_inline u64 native_rdmsrl(const u32 msr)
 {
-	return __rdmsr(msr);
+	u64 val = 0;
+
+	__native_rdmsr(msr, &val, EX_TYPE_RDMSR);
+	return val;
 }
 
-static inline unsigned long long native_read_msr(unsigned int msr)
+static inline u64 native_read_msr(const u32 msr)
 {
-	unsigned long long val;
+	u64 val = 0;
 
-	val = __rdmsr(msr);
+	__native_rdmsr(msr, &val, EX_TYPE_RDMSR);
 
 	if (tracepoint_enabled(read_msr))
 		do_trace_read_msr(msr, val, 0);
@@ -186,19 +256,139 @@ static inline unsigned long long native_read_msr(unsigned int msr)
 	return val;
 }
 
-static inline unsigned long long native_read_msr_safe(unsigned int msr,
-						      int *err)
+static inline u64 native_read_msr_safe(const u32 msr, int *err)
 {
-	DECLARE_ARGS(val, low, high);
+	u64 val = 0;
+
+	*err = __native_rdmsr(msr, &val, EX_TYPE_RDMSR_SAFE) ? -EIO : 0;
 
-	asm volatile("1: rdmsr ; xor %[err],%[err]\n"
-		     "2:\n\t"
-		     _ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_RDMSR_SAFE, %[err])
-		     : [err] "=r" (*err), EAX_EDX_RET(val, low, high)
-		     : "c" (msr));
 	if (tracepoint_enabled(read_msr))
-		do_trace_read_msr(msr, EAX_EDX_VAL(val, low, high), *err);
-	return EAX_EDX_VAL(val, low, high);
+		do_trace_read_msr(msr, val, *err);
+
+	return val;
+}
+
+static __always_inline bool __rdmsr_variable(const u32 msr, u64 *val, const int type)
+{
+#ifdef CONFIG_X86_64
+	BUILD_BUG_ON(__builtin_constant_p(msr));
+
+	asm_inline volatile goto(
+		"1:\n"
+		ALTERNATIVE(RDMSR_AND_SAVE_RESULT,
+			    "call asm_xen_read_msr\n\t",
+			    X86_FEATURE_XENPV)
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For RDMSR and CALL */
+
+		: [val] "=a" (*val), ASM_CALL_CONSTRAINT
+		: "c" (msr), [type] "i" (type)
+		: "memory", "rdx"
+		: badmsr);
+
+	return false;
+
+badmsr:
+	return true;
+#else
+	return __native_rdmsr_variable(msr, val, type);
+#endif
+}
+
+static __always_inline bool __rdmsr_variable_all(const u32 msr, u64 *val, const int type)
+{
+	const enum pv_msr_action action = get_pv_msr_action(msr);
+
+	if (action == PV_MSR_PV) {
+		return __rdmsr_variable(msr, val, type);
+	} else if (action == PV_MSR_IGNORE) {
+		if (cpu_feature_enabled(X86_FEATURE_XENPV))
+			return false;
+	}
+
+	return __native_rdmsr_variable(msr, val, type);
+}
+
+#ifdef CONFIG_X86_64
+static __always_inline bool __rdmsr_constant(const u32 msr, u64 *val, const int type)
+{
+	BUILD_BUG_ON(!__builtin_constant_p(msr));
+
+	asm_inline volatile goto(
+		"1:\n"
+		ALTERNATIVE_2("mov %[msr], %%ecx\n\t"
+			      "2:\n"
+			      RDMSR_AND_SAVE_RESULT,
+			      ASM_RDMSR_IMM,
+			      X86_FEATURE_MSR_IMM,
+			      "mov %[msr], %%ecx\n\t"
+			      "call asm_xen_read_msr\n\t",
+			      X86_FEATURE_XENPV)
+		_ASM_EXTABLE_TYPE(1b, %l[badmsr], %c[type])	/* For RDMSR immediate */
+		_ASM_EXTABLE_TYPE(2b, %l[badmsr], %c[type])	/* For RDMSR and CALL */
+
+		: [val] "=a" (*val), ASM_CALL_CONSTRAINT
+		: [msr] "i" (msr), [type] "i" (type)
+		: "memory", "ecx", "rdx"
+		: badmsr);
+
+	return false;
+
+badmsr:
+	return true;
+}
+
+static __always_inline bool __rdmsr_constant_all(const u32 msr, u64 *val, const int type)
+{
+	const enum pv_msr_action action = get_pv_msr_action(msr);
+
+	if (action == PV_MSR_PV) {
+		return __rdmsr_constant(msr, val, type);
+	} else if (action == PV_MSR_IGNORE) {
+		if (cpu_feature_enabled(X86_FEATURE_XENPV))
+			return false;
+	}
+
+	return __native_rdmsr_constant(msr, val, type);
+}
+#endif
+
+static __always_inline bool __rdmsr(const u32 msr, u64 *val, const int type)
+{
+#ifdef CONFIG_X86_64
+	if (__builtin_constant_p(msr))
+		return __rdmsr_constant_all(msr, val, type);
+#endif
+
+	return __rdmsr_variable_all(msr, val, type);
+}
+
+#define rdmsr(msr, low, high)				\
+do {							\
+	u64 __val = 0;					\
+	__rdmsr((msr), &__val, EX_TYPE_RDMSR);		\
+	(void)((low) = (u32)__val);			\
+	(void)((high) = (u32)(__val >> 32));		\
+} while (0)
+
+#define rdmsrl(msr, val)				\
+do {							\
+	u64 __val = 0;					\
+	__rdmsr((msr), &__val, EX_TYPE_RDMSR);		\
+	(val) = __val;					\
+} while (0)
+
+#define rdmsr_safe(msr, low, high)						\
+({										\
+	u64 __val = 0;								\
+	int __err = __rdmsr((msr), &__val, EX_TYPE_RDMSR_SAFE) ? -EIO : 0;	\
+	(*low) = (u32)__val;							\
+	(*high) = (u32)(__val >> 32);						\
+	__err;									\
+})
+
+static __always_inline int rdmsrl_safe(const u32 msr, u64 *val)
+{
+	return __rdmsr(msr, val, EX_TYPE_RDMSR_SAFE) ? -EIO : 0;
 }
 
 /*
@@ -503,40 +693,6 @@ static inline unsigned long long native_read_pmc(int counter)
  * Note: the rd* operations modify the parameters directly (without using
  * pointer indirection), this allows gcc to optimize better
  */
-
-#define rdmsr(msr, low, high)					\
-do {								\
-	u64 __val = native_read_msr((msr));			\
-	(void)((low) = (u32)__val);				\
-	(void)((high) = (u32)(__val >> 32));			\
-} while (0)
-
-#define rdmsrl(msr, val)			\
-	((val) = native_read_msr((msr)))
-
-static inline void wrmsrl(u32 msr, u64 val)
-{
-	native_write_msr(msr, val);
-}
-
-/* rdmsr with exception handling */
-#define rdmsr_safe(msr, low, high)				\
-({								\
-	int __err;						\
-	u64 __val = native_read_msr_safe((msr), &__err);	\
-	(*low) = (u32)__val;					\
-	(*high) = (u32)(__val >> 32);				\
-	__err;							\
-})
-
-static inline int rdmsrl_safe(unsigned int msr, unsigned long long *p)
-{
-	int err;
-
-	*p = native_read_msr_safe(msr, &err);
-	return err;
-}
-
 #define rdpmc(counter, low, high)			\
 do {							\
 	u64 _l = native_read_pmc((counter));		\
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 351feb890ab0..7ddb71ed9d0c 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -175,46 +175,6 @@ static inline void __write_cr4(unsigned long x)
 	PVOP_VCALL1(cpu.write_cr4, x);
 }
 
-static inline u64 paravirt_read_msr(unsigned msr)
-{
-	return PVOP_CALL1(u64, cpu.read_msr, msr);
-}
-
-static inline u64 paravirt_read_msr_safe(unsigned msr, int *err)
-{
-	return PVOP_CALL2(u64, cpu.read_msr_safe, msr, err);
-}
-
-#define rdmsr(msr, val1, val2)			\
-do {						\
-	u64 _l = paravirt_read_msr(msr);	\
-	val1 = (u32)_l;				\
-	val2 = _l >> 32;			\
-} while (0)
-
-#define rdmsrl(msr, val)			\
-do {						\
-	val = paravirt_read_msr(msr);		\
-} while (0)
-
-/* rdmsr with exception handling */
-#define rdmsr_safe(msr, a, b)				\
-({							\
-	int _err;					\
-	u64 _l = paravirt_read_msr_safe(msr, &_err);	\
-	(*a) = (u32)_l;					\
-	(*b) = _l >> 32;				\
-	_err;						\
-})
-
-static inline int rdmsrl_safe(unsigned msr, unsigned long long *p)
-{
-	int err;
-
-	*p = paravirt_read_msr_safe(msr, &err);
-	return err;
-}
-
 static inline unsigned long long paravirt_read_pmc(int counter)
 {
 	return PVOP_CALL1(u64, cpu.read_pmc, counter);
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 8a563576d70e..5c57e6e4115f 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -90,15 +90,6 @@ struct pv_cpu_ops {
 	void (*cpuid)(unsigned int *eax, unsigned int *ebx,
 		      unsigned int *ecx, unsigned int *edx);
 
-	/* Unsafe MSR operations.  These will warn or panic on failure. */
-	u64 (*read_msr)(unsigned int msr);
-
-	/*
-	 * Safe MSR operations.
-	 * read sets err to 0 or -EIO.  write returns 0 or -EIO.
-	 */
-	u64 (*read_msr_safe)(unsigned int msr, int *err);
-
 	u64 (*read_pmc)(int counter);
 
 	void (*start_context_switch)(struct task_struct *prev);
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index ffb04445f97e..e3d4f9869779 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -128,8 +128,6 @@ struct paravirt_patch_template pv_ops = {
 	.cpu.read_cr0		= native_read_cr0,
 	.cpu.write_cr0		= native_write_cr0,
 	.cpu.write_cr4		= native_write_cr4,
-	.cpu.read_msr		= native_read_msr,
-	.cpu.read_msr_safe	= native_read_msr_safe,
 	.cpu.read_pmc		= native_read_pmc,
 	.cpu.load_tr_desc	= native_load_tr_desc,
 	.cpu.set_ldt		= native_set_ldt,
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index d02f55bfa869..e49f16278487 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1087,19 +1087,26 @@ static void xen_write_cr4(unsigned long cr4)
 	native_write_cr4(cr4);
 }
 
-static u64 xen_do_read_msr(unsigned int msr, int *err)
+/*
+ * Return true in xen_rdmsr_ret_type to indicate the requested MSR read has
+ * been done successfully.
+ */
+struct xen_rdmsr_ret_type xen_do_read_msr(u32 msr)
 {
-	u64 val = 0;	/* Avoid uninitialized value for safe variant. */
-	bool emulated;
+	struct xen_rdmsr_ret_type ret;
 
-	if (pmu_msr_chk_emulated(msr, &val, true, &emulated) && emulated)
-		return val;
+	ret.done = true;
 
-	if (err)
-		val = native_read_msr_safe(msr, err);
-	else
-		val = native_read_msr(msr);
+	if (pmu_msr_chk_emulated(msr, &ret.val, true, &ret.done) && ret.done)
+		return ret;
+
+	ret.val = 0;
+	ret.done = false;
+	return ret;
+}
 
+u64 xen_do_read_msr_fixup(u32 msr, u64 val)
+{
 	switch (msr) {
 	case MSR_IA32_APICBASE:
 		val &= ~X2APIC_ENABLE;
@@ -1108,7 +1115,11 @@ static u64 xen_do_read_msr(unsigned int msr, int *err)
 		else
 			val &= ~MSR_IA32_APICBASE_BSP;
 		break;
+
+	default:
+		break;
 	}
+
 	return val;
 }
 
@@ -1160,18 +1171,6 @@ bool xen_do_write_msr(u32 msr, u64 val)
 	}
 }
 
-static u64 xen_read_msr_safe(unsigned int msr, int *err)
-{
-	return xen_do_read_msr(msr, err);
-}
-
-static u64 xen_read_msr(unsigned int msr)
-{
-	int err;
-
-	return xen_do_read_msr(msr, xen_msr_safe ? &err : NULL);
-}
-
 /* This is called once we have the cpu_possible_mask */
 void __init xen_setup_vcpu_info_placement(void)
 {
@@ -1206,10 +1205,6 @@ static const typeof(pv_ops) xen_cpu_ops __initconst = {
 
 		.write_cr4 = xen_write_cr4,
 
-		.read_msr = xen_read_msr,
-
-		.read_msr_safe = xen_read_msr_safe,
-
 		.read_pmc = xen_read_pmc,
 
 		.load_tr_desc = paravirt_nop,
diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S
index e672632b1cc0..6e7a9daa03d4 100644
--- a/arch/x86/xen/xen-asm.S
+++ b/arch/x86/xen/xen-asm.S
@@ -399,3 +399,37 @@ SYM_CODE_END(xen_entry_SYSCALL_compat)
 	RET
 SYM_FUNC_END(asm_xen_write_msr)
 EXPORT_SYMBOL_GPL(asm_xen_write_msr)
+
+/*
+ * The prototype of the Xen C code:
+ * 	struct { u64 val, bool done } xen_do_read_msr(u32 msr)
+ */
+SYM_FUNC_START(asm_xen_read_msr)
+	ENDBR
+	FRAME_BEGIN
+	XEN_SAVE_CALLEE_REGS_FOR_MSR
+	mov %ecx, %edi		/* MSR number */
+	call xen_do_read_msr
+	test %dl, %dl		/* %dl=1, i.e., ZF=0, meaning successfully done */
+	XEN_RESTORE_CALLEE_REGS_FOR_MSR
+	jnz 2f
+
+1:	rdmsr
+	_ASM_EXTABLE_FUNC_REWIND(1b, -5, FRAME_OFFSET / (BITS_PER_LONG / 8))
+	shl $0x20, %rdx
+	or %rdx, %rax
+	/*
+	 * The top of the stack points directly at the return address;
+	 * back up by 5 bytes from the return address.
+	 */
+
+	XEN_SAVE_CALLEE_REGS_FOR_MSR
+	mov %ecx, %edi
+	mov %rax, %rsi
+	call xen_do_read_msr_fixup
+	XEN_RESTORE_CALLEE_REGS_FOR_MSR
+
+2:	FRAME_END
+	RET
+SYM_FUNC_END(asm_xen_read_msr)
+EXPORT_SYMBOL_GPL(asm_xen_read_msr)
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index fc3c55871037..46efeaa4bbd3 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -146,7 +146,14 @@ __visible unsigned long xen_read_cr2_direct(void);
 /* These are not functions, and cannot be called normally */
 __visible void xen_iret(void);
 
+struct xen_rdmsr_ret_type {
+	u64 val;
+	bool done;
+};
+
 extern bool xen_do_write_msr(u32 msr, u64 val);
+extern struct xen_rdmsr_ret_type xen_do_read_msr(u32 msr);
+extern u64 xen_do_read_msr_fixup(u32 msr, u64 val);
 
 extern int xen_panic_handler_init(void);
 
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:28:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:28:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932059.1334328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAVm-0001Rn-4e; Mon, 31 Mar 2025 08:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932059.1334328; Mon, 31 Mar 2025 08: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 1tzAVm-0001Rg-1O; Mon, 31 Mar 2025 08:28:50 +0000
Received: by outflank-mailman (input) for mailman id 932059;
 Mon, 31 Mar 2025 08:28: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=oDqH=WS=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tzAVk-0001Ra-VU
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:28:49 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20630.outbound.protection.outlook.com
 [2a01:111:f403:2413::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28d22d63-0e0a-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:28:45 +0200 (CEST)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by SJ0PR12MB6901.namprd12.prod.outlook.com (2603:10b6:a03:47e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.49; Mon, 31 Mar
 2025 08:28:42 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.045; Mon, 31 Mar 2025
 08:28: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: 28d22d63-0e0a-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iPyB0N/v5na1bRdd8v8MM8s5xwjdQRM5FlYMWc9BjqLjm1PyCcX/dPbMPS6rnJeNlq9EX739XrUxguu+7GIiunyBwgmMGEgG1LwIesczIqxeF5ouUZedecQYKHWFbQGEOm2tqBQpX8gkKtCNcKgTh9tEBxiw2ByyrQfRhwVHkQxZC0cUOFpI1BXhzgcqVqf61cnyVke80+PKMiVUpHE6+mvnPQ9M1zt75x5jwq1d7ihC3kr2SU7KRQprl+OmHAKxdWmPs8gz5BOzK098N7nXFhNvF2Eo/ybvxV3qSVaSaLZGOG7hU2tPzlPBmLFR25HOL+sJCOG3x014SOTcyItCaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QX9+efKPmyD3YQxBSvmQTKpZUjSLqGSzjbUAT2SCvYA=;
 b=Ezii3YuF3ivqIVKKstfSYMql/lo0aCFFMNC4OAfVT7CI7YxbEzVMS3XTYB7JVBPXKdHF74+BHUHCCmbvznyKZtZquuZSKvCq6tdfsH3f/Nu/ZJAzzf1IPc0NBfAQaHjjXejJ5Gk6dfj7CABv3BS2iT07A1N401o798pGanhswLEUv71aUIhtMS6fzU9I/U2AmKc+SRdMDlqtn2fpQ4pWPc4jHYMZHUYL1lB8FdrHdnGY/q/TJ605JHOmAu3VygXOcN8BmMXlwfwvjSymBXOgyYXYLP3/213ynhxr7f/Ux4j+dVwy+TebNVCNH29LSV/X01MptFLrRxKn47gG1J8E/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=QX9+efKPmyD3YQxBSvmQTKpZUjSLqGSzjbUAT2SCvYA=;
 b=AK9nn/HjCmPJ6IuxYufVSCvLOTKk/5crN1l8lJtGw+utGJRJg9ZcjeZOgHECp2uR8O1iW4exd/U/awxCuHCpfwe9unkFX5PEA6g8OaO+MRbuOYqnvKTEg7QgaKdXEbnZ3JRAYMy8627z6Mqv8SQqbdZNAf6R3NIz0DV3vRy9HRE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <8be0fc7a-1c28-4630-a4aa-d897af81383b@amd.com>
Date: Mon, 31 Mar 2025 10:28:38 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] xen/arm: Move some of the functions to common file
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
 <20250330180308.2551195-3-ayan.kumar.halder@amd.com>
 <4d57c061-ec16-4467-8bd1-08a40161ab0e@xen.org>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <4d57c061-ec16-4467-8bd1-08a40161ab0e@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ad::7) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|SJ0PR12MB6901:EE_
X-MS-Office365-Filtering-Correlation-Id: 539bf9fb-c3b0-467a-47e9-08dd702e0b55
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?Rlo3TkN6VGt2MlRjcjArKzBNOHJ4VGw2N1FnQkc4M2o4bWtDYU9OajE5SzVZ?=
 =?utf-8?B?QlUzbFJxRnVqTnRSeko2ekZ3aC90M1NMYlp5Rys3dm1ESk1aYTB6bTRQaUNo?=
 =?utf-8?B?bFJJWndFdy9UNnVDZUNNUFFXU052NjNDUEMwWDdRa2tGeTFDRFBjYlAzTmFy?=
 =?utf-8?B?UHpHbWt2ek1YN1ptMjAvaTJSVmdvdkdYVTVoZENCUmI5WldpZnJwMnJhdVdk?=
 =?utf-8?B?UGcvSHBsakJQOGhXcC8rNWsyVFRvdHdoSlIzZGtQY1lMd2F6OFVFNGk1VGpP?=
 =?utf-8?B?WTYzZFpwU3BXcUJNWlZ6VmttbHJRbWxNS3RSRnJiMWQveTZnNDJReGhNOW5y?=
 =?utf-8?B?aElVUGc4ejQ3RlkrWFFjS2lxYUM1UmFkS2NzS1o3L1ozaVNiZXgzU1pobVBN?=
 =?utf-8?B?ZHBBSkc2UjZYUXlqeWw0Vmp4b0ZRTTRWRWN0RENXWlFJQnVHbXpnRlVOWVNF?=
 =?utf-8?B?WlpLUmxrSmFUd0hnd24xMVpISnhhQy96NE5mYnhnYmlmb2RscGdPZk9QK2M4?=
 =?utf-8?B?cmI2UjBFME5yT0VIQ3VHdDdYa2M4MVRNbXRpdGg1T3F6RStkd0l2U2dlMi96?=
 =?utf-8?B?SFAxb2pZZzZFQjMxckdJUjltaEpod0ZPYzRJa3ozRFZ1UTA2WFRkWmtPdDhh?=
 =?utf-8?B?bjVJZ253UlFlRHJweVhGd0JVeHdZZk9jQ1U1bm9UU1BQUFdEN0ZaNVJ2eGNn?=
 =?utf-8?B?UlhjaXJtdjh0Rlh3dzUrV2ZwMEJlSW1VNm52WXE3UVNPSTFnRUlKbEdBQkZE?=
 =?utf-8?B?em0ycjU0V1dSd0t0N2VMNDhmTWR0d2pOWVBlTjZNT0pYYllQZEJBM1I1cXNr?=
 =?utf-8?B?dVFSNWlhMHMrVkt1bU9vVHVJRFpoVHU0OGljaUZXVER0aW5NL0Z6aVRaM1k0?=
 =?utf-8?B?N3FPK2s4NVdHclQ1MXVUS1duenVFVjh6ZmtaUzlrSmViQWhzdzk0VVlSL3gv?=
 =?utf-8?B?M0lObDVZV0xyV1lvYmpQcEZLVzFIZ0hWai9kbjlBNUZHbHdobmM5aDY1OFhP?=
 =?utf-8?B?OWFrRGVUMVFlVTZqN0t0S0tZNHlnR3hYYUEwcnIrZHBHaWlMTEVRSmQwWjJh?=
 =?utf-8?B?ZmhYVVJxSUpCU1pCTjJrNkxCYW4zYytwUncwSERZZnNLNkYwdXJWdXgwcWJT?=
 =?utf-8?B?UWRyU29JR3dhVExJem13Y2lNSVBmRUNja0xXVS82b3EzZ0xCQVhaM3l5bUNl?=
 =?utf-8?B?WGJ2WFhScTBzR3pSSnptKzFJV0ZidjdjdnJWUGdnOVpHK2NYQ0JWaGU0eitS?=
 =?utf-8?B?VW9tNDNZNk1EdE9MWVM3Mm1wUUVpSXVzVEgvdzRRbVE5cmg5TU0vS3VGb29I?=
 =?utf-8?B?Q3VxZUpOTGppK01ZQWlBZlJ4N1E1R1pyYURha2Y1S2JDa2RHclFsZ3pyNDB3?=
 =?utf-8?B?ektxcHFwQlpIbUYxOC9UMnMreUJhM0wxQWZSamJneUFUT1prZVFtRk1xYklT?=
 =?utf-8?B?dGZMSzhrOWZ5WmxYWUZ2QVFldTF5NGxPSGNWOFR0RGQzQmo2RDdsOHJkNWFl?=
 =?utf-8?B?RGsrK0dHZ3B5ZVhRbXBqZEdiTFpqZkl2N1YvYnhXbnhJamVyYXhqTndXVDNq?=
 =?utf-8?B?c0M0a3NvdXJlUEdXOFg2TDMrOG9vMGVJNitpaG01akFYUlJWeFhlTngwbVQw?=
 =?utf-8?B?dVpPS2RILytvZmV4Mm14RFpQRXc0Y3R1bUpPaExwS2ZSdmFPSGRIdVNmQkw1?=
 =?utf-8?B?cjRsalRRK3hCMHhBeXFsRW1YS2o4U2Y2SGErendLcWVMOWpkWldyTlZ3TS9P?=
 =?utf-8?B?d3NIZXJlSGRHc3lqbG91QjcxSVBVZlhBU01jbldkUGdoRS9keXZSbUlpcncv?=
 =?utf-8?B?dXJya0Q4Y1VIeHJWMWVqMUhqVXdqdmxXTzE1SldPcncyQ1N3RWZMMTNGcktl?=
 =?utf-8?Q?Bk9jof0ghjl7/?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?b1lTRTd1cThONDd4b1FFNGFjdEdRQlNJeVlJUS9mWUQxU3BEai96TDYvY2RO?=
 =?utf-8?B?eEgwUlJ0SGJ0MlZaakU0eVQwTWNtYTJXbHh0cUd2Q3J1MjE1bTUya2IzNklk?=
 =?utf-8?B?aEQ5aHI4dURJakRPVE83NGpoYUNxUXRuNWtKeVJ3NUczUVBJL3F2Z1EzYlNY?=
 =?utf-8?B?SGt1V1NpWllINThneURUcVZrVEYydWxIdHZtZG4zcS9uQnFFalhVZ0F6dUlO?=
 =?utf-8?B?c09oOUtrMU1xMnZRMkJiV3BSbkJ3Q1NITCtWK3VaelNXbTBtclBkOEVnUUU4?=
 =?utf-8?B?YWpybjlKRE9RWWZ3UExCcURiN1FaM2J6UzVRNm5PQTI4dDV2VG1nbUE4Mkdq?=
 =?utf-8?B?UG9CYnVPeHd3YXVkZ3NtSDBGdHBhNDNJVkxiNENOV2ZIS2t5UnVMeVU1dXJK?=
 =?utf-8?B?QW52emNGVXh2ck1ieFdXZXdsZkxUR3VabjZFVjVXdWsycENCODBoZWE5NDlT?=
 =?utf-8?B?bWJYK2hRU3p0SXhTUS9JZmU3am9mRGdrc2JmS0MrVDRkN2NZM1c2TkV5Z01i?=
 =?utf-8?B?bEZMbUlGbWQxalplYW5RRmVhakk3U3F3NGZXV2dyRnVoYXlQNmhkeHJTUUZp?=
 =?utf-8?B?cVE2M1g1dzhPN2RHQXpBcG1lbGluM0twK3ZTQlhsUHBHZHZhSW54NG5ZNWEy?=
 =?utf-8?B?WkN2cSt5U1psY29jN0tsbkhyZ3VPUEd3N0dnakhka1p5azJsOW9XZWx4VDN0?=
 =?utf-8?B?dVFCN1lzY3pieXRPYkRmWmQ4Y1VhM2F5M3BaQ29QZzlRZERKQ20zSG1SOWpK?=
 =?utf-8?B?SVg0NUdHMEtpN3FtWnV5VVByZDhuRW1xTzFaVERiZFplcUk2cnplNDNGbnhq?=
 =?utf-8?B?S25mNFhDZTArSlBuV1ZkUkVKME5JcjZnemFNQ0J5ZnYzNkhuM2hyZkdRTTlL?=
 =?utf-8?B?bXdRVGlBamJPMjQ0WTZ0VmVwQmpzY1FZNkIrVmtxcDZCOFBoVHJBeXJRRmcy?=
 =?utf-8?B?dzVPQnlRMk5iVFBpR244bU1LTjVOWkIvcDBJclhqc1ZsZ0g3Q1BxSk1iVFVq?=
 =?utf-8?B?VFgxNGNEVE9YRjVHTzNiZ0hJbjk4ZDY3dDdRT2RGLzV6azkyS1BxLzNFRHJ3?=
 =?utf-8?B?TXJKR0w2ajYxTXZsOXZSZDd4TnlSc3NGckcralE3MnNTTHJEQ1ptUmFQV2VU?=
 =?utf-8?B?TmRYa3lXbDNlOVVCVHN4N1Y5dGZzVG1zZ3FvelFCbjBoZk9lVnUrcUQvU0pW?=
 =?utf-8?B?WDg3KzZobUVzQnI3Nit4dlNWb1J3NXdFc1ZnQWpNWHFoLzlLZTVxRjFVMVdF?=
 =?utf-8?B?bUNiV3RJWVNwUFFGVlJDUWVMTXVRRmtGU0VuZUZnVFhuKzNjQkJyU09xa3BV?=
 =?utf-8?B?R3RDeHM5Y3FCKzhXTnBZbUtmb3ZGRmE1VkxwVDZrK0xTOGwvUG02OHgvTVRo?=
 =?utf-8?B?dTFibVdmeldTb09IRzR0c0JpdTFCTGY4bGhGNWkwaTM2SEVyQnR0bXVEMmVM?=
 =?utf-8?B?cG9KMmJCZVlFUGozay9kYzhGN2tqVG0yV0ZMWUt3aEdNYnVJNlBVNEtJaFZk?=
 =?utf-8?B?MUk2ZGM1NWRCUXMwY3RZKzFKZUF2bkRLZjBnN3FndkoyUDIxOG9McTUrT3J1?=
 =?utf-8?B?N2lRU2pUV2paZXJIVTNOdHJES2Q4QkdjOVVWOGdISkdyMU1JQzJ4cVRaai9j?=
 =?utf-8?B?dS9SaFZPSXJFenVjMUx2L3hGRGVmOVgxQ1Y3ZEpES09SOXZVZDM3M1JyVkNL?=
 =?utf-8?B?aHVDaldNanFQTEVjYzlndEhuRzA3VjFsbHRwNWhnR015VU9QU0JBZTJIMWc4?=
 =?utf-8?B?anpFcUFwYTZLQy82UXl2ZzZKbTcyeFNjaTBZSmc1SGNoY1U5bExHTmFmZk1s?=
 =?utf-8?B?RWRoQWJldkpuRmpQQ2huVUlLVkpEM0xvVitlL2phQjBIb0p1LzJVTjlLNGFT?=
 =?utf-8?B?aStLQWkxOGpzbnNQbFEzc21aNkVJRnVocDE5eVlxOTBCYm56SnhqZ3piTVlq?=
 =?utf-8?B?QnZyWFU5Z3lYY3JxbGo3cXZFZTVuclNHeVNXRWM0TzNkREo0M2FQU0FTYkdC?=
 =?utf-8?B?b3BkcXQ3dUFzOXoyNVlpVm1wWlFzUzBIVlpKaDdsMjByREFOZXVlTEY5K1R0?=
 =?utf-8?B?cDJ2aFdzNitxclhnWE5FN0F2SXRMbWhIQ3gyZlUyajExeHlBMTl1eGVteXBK?=
 =?utf-8?Q?QtUJPjyYevI5MRkH75cKj2p4Q?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 539bf9fb-c3b0-467a-47e9-08dd702e0b55
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 08:28:41.9277
 (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: mUxICfGkpeDtk02/QELfpW/ZvLCM3XFH6jOpkGhCHjT7vu5li9yC3LptLaYZ0UGU
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6901



On 30/03/2025 23:06, Julien Grall wrote:
> 
> 
> Hi Ayan,
> 
> On 30/03/2025 19:03, Ayan Kumar Halder wrote:
>> Added a new file prepare_xen_region.inc to hold the common earlyboot MPU regions
>> configurations across arm64 and arm32.
> 
> While I understand the desire to consolidate the code, I am quite
> unconvinced this should be done for assembly code. A few examples below why.
> 
> I would be interested to hear the view of the other Arm maintainers.
I think consolidating the code is ok as long as we don't go to extremes.
Consolidation should be done for things only where it makes really sense
(macros, helpers). For example, in places where we don't predict that given
implementation might be different due to certain arch optimizations, etc. (like
you mentioned for mov_w). If we worry that it'll be difficult to asses what to
make common, I might suggest to consolidate only common macros.

In case of this patch, I think we could have a single implementation for
prepare_xen_region and fail_insufficient_regions, whereas enable_boot_cpu should
be implementation specific. I also think that a common .inc file is a good place
for storing stubs such as enable_secondary_cpu_mm(). One day, if let's say arm64
decide to add support for SMP, it will add it's own implementation, leaving the
stub only for arm32.

> 
>>
>> prepare_xen_region, enable_boot_cpu, fail_insufficient_regions() will be used by
>> both arm32 and arm64. Thus, they have been moved to prepare_xen_region.inc.
>>
>> REGION_* are moved to arm64/sysregs.h. Introduced LOAD_SYSREG and STORE_SYSREG
That's not a good name as it makes me think it's ldr/str.

>> to read/write to the system registers from the common asm file. One could not
>> reuse READ_SYSREG and WRITE_SYSREG as they have been defined to be invoked from
>> C files.
Therefore {READ/WRTIE}_SYSREG_ASM() could be used to denote ASM only usage.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:32:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:32:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932132.1334337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAZO-0004nz-Lp; Mon, 31 Mar 2025 08:32:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932132.1334337; Mon, 31 Mar 2025 08:32: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 1tzAZO-0004ns-JG; Mon, 31 Mar 2025 08:32:34 +0000
Received: by outflank-mailman (input) for mailman id 932132;
 Mon, 31 Mar 2025 08:32: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzAZN-0004lf-2K
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:32:33 +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 aaccd875-0e0a-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 10:32:22 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3914aba1ce4so3594583f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 01:32: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-39c0b658b7bsm10498203f8f.20.2025.03.31.01.32.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 01:32: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: aaccd875-0e0a-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743409942; x=1744014742; 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=/b/Cs611Mh6/gXDl87oYUcMNL7Lf8HGsE13sxc3pGO0=;
        b=C3LVilVpJ8zb3D/kNTfFSQzEc5zdcdGejT79NLK75F660zgrt3t+jWB/p3vZtBnyCy
         Ua23QjU3FA0AQqedZ/SZFAhtkqVox5ilINYYGAw4y+GC0HgWTp1vmWi/lseyWDp4Y16M
         8jGMhVe3IWuEJRcEWwcmlISY9I4Erc1oDwLjhYowETQ6K5OSkU9VrZG4sfRTm5mgEfCv
         vVm6XwcheuseHIubnKxn9oPnMtLCgsfktT+euQoqyJ/WopE9+QGxRBevlN65bYgA2Xqm
         hDUhK6FvYXkq4bnjCYliX+2XsASYYOUTe3c/4oktOznBD05/grFesGLgrbawmXt/eP4N
         eKmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743409942; x=1744014742;
        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=/b/Cs611Mh6/gXDl87oYUcMNL7Lf8HGsE13sxc3pGO0=;
        b=TM7uNFAI06MBpqyRxxqVV9OxerCe8yGVuLk9XUImmREfWgAD/D36JT1dMFmYZsGaK+
         rWS7iqiiY/0++Df5c57ZZi4GRUgk8u09kK5cVdrQDFdl2lzuSJ0YBA8pBw7Dfi4Wosy3
         g5X1+LgdbC8/8/E7JsbEJ0kYuQ644bYdh+jgmk6sVnKi+2BQN4CVf4foWZYFgbaFgSAT
         WkEXRHk3TtMAnNEso1pe47LbX4BVMuNgUjGWJFftkyowpOOYKi71hytDfVF+FJLL3QzP
         JAISODwitmlPF5VF4ly/uhIllNeM1XDs+ZT0NnPcXtc4hFOaoj0XgPMO/C79ZQFfuUnb
         6yag==
X-Forwarded-Encrypted: i=1; AJvYcCXb4+0PQz12LuLL+uzvCjTx3aA/M0pb45T1UQKR/MioQte9aZUSKhHG74s+aaIs+zFhJG01KbXh+p0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyHIxa6riL9f3Cmt5m/XZMc8xajxVCf4BSJd9juVuzIgI3FJ30E
	13tf3QUsNudek4ho3NO57atsjZx/WtqlXB75v/GfWisXeXmO54lySXRToR0nGg==
X-Gm-Gg: ASbGncsEO1Xrkx/GLsAoZN5rzzymU7w9mjY4/hjFqngtlXuZIwZlA+w9AyJ9S/2nBjF
	brBchUNY7z90L8fyIMeZpTphAK8TBW0xBu9sigh85NzuvKx2QZrQzje38LRheeBhsBW8axs/VwT
	vk7VhOFEsNjolBrejAwnJjUjRtkHuGKGI0wbdFuJTShywgezUMIPVjgyyaTFbZXet/9slxvwFIH
	7UuzCCKTbodkdYCSkrrdXDOkRXpgrKA6rIDtuhmOpHFamkvQgW7393dldKs8AlDqueAbGDQAvdH
	xizar2Hx/jIM7S5ZHH47I0PkDnz2yEMSEK7V/T4Du0Fnd08JmHDVlTckdlSX8fpjAra4EoINxDL
	RBMtdWXIKajrzIkc62EcDNqZ9kIpJDA==
X-Google-Smtp-Source: AGHT+IHEAG5Lz7hGdnH6CpVBaiFFM+WWs8LDkpKYznIA05U4jqWrGKPcf3vVORlDHdxFbetrhsH2tw==
X-Received: by 2002:a5d:47c3:0:b0:39c:e0e:b191 with SMTP id ffacd0b85a97d-39c120c8e0amr4979564f8f.7.1743409942227;
        Mon, 31 Mar 2025 01:32:22 -0700 (PDT)
Message-ID: <c79d76e2-3e6d-4c2a-a240-ee36daa559e0@suse.com>
Date: Mon, 31 Mar 2025 10:32:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 03/16] xen: Implement common byte{order,swap}.h
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Lin Liu <lin.liu@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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-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: <20250328134427.874848-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> From: Lin Liu <lin.liu@citrix.com>
> 
> The current swab??() infrastructure is unecesserily complicated, and can be
> repated entirely with compiler builtins.
> 
> All supported compilers provide __BYTE_ORDER__ and __builtin_bswap??().
> 
> Nothing in Xen cares about the values of __{BIG,LITTLE}_ENDIAN; just that one
> of them is defined.  Therefore, centralise their definitions in xen/config.h

And even if we cared somewhere, __ORDER_{BIG,LITTLE}_ENDIAN__ supply them
just fine.

> Signed-off-by: Lin Liu <lin.liu@citrix.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with two nits taken care of:

> --- /dev/null
> +++ b/xen/include/xen/byteorder.h
> @@ -0,0 +1,44 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#ifndef XEN_BYTEORDER_H
> +#define XEN_BYTEORDER_H
> +
> +#include <xen/byteswap.h>
> +#include <xen/types.h>

It's stdint.h that's needed here, not types.h?

> +#if defined(__LITTLE_ENDIAN)
> +
> +# define cpu_to_le64(x) (uint64_t)(x)
> +# define le64_to_cpu(x) (uint64_t)(x)
> +# define cpu_to_le32(x) (uint32_t)(x)
> +# define le32_to_cpu(x) (uint32_t)(x)
> +# define cpu_to_le16(x) (uint16_t)(x)
> +# define le16_to_cpu(x) (uint16_t)(x)

(Not just) for Misra these all need another pair of parentheses around the
entire expressions.

> +# define cpu_to_be64(x) bswap64(x)
> +# define be64_to_cpu(x) bswap64(x)
> +# define cpu_to_be32(x) bswap32(x)
> +# define be32_to_cpu(x) bswap32(x)
> +# define cpu_to_be16(x) bswap16(x)
> +# define be16_to_cpu(x) bswap16(x)
> +
> +#elif defined(__BIG_ENDIAN)
> +
> +# define cpu_to_le64(x) bswap64(x)
> +# define le64_to_cpu(x) bswap64(x)
> +# define cpu_to_le32(x) bswap32(x)
> +# define le32_to_cpu(x) bswap32(x)
> +# define cpu_to_le16(x) bswap16(x)
> +# define le16_to_cpu(x) bswap16(x)
> +
> +# define cpu_to_be64(x) (uint64_t)(x)
> +# define be64_to_cpu(x) (uint64_t)(x)
> +# define cpu_to_be32(x) (uint32_t)(x)
> +# define be32_to_cpu(x) (uint32_t)(x)
> +# define cpu_to_be16(x) (uint16_t)(x)
> +# define be16_to_cpu(x) (uint16_t)(x)

Same here, even if Eclair likely wouldn't spot this right now.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:33:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932168.1334352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAZw-0005wQ-VS; Mon, 31 Mar 2025 08:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932168.1334352; Mon, 31 Mar 2025 08:33: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 1tzAZw-0005wJ-SH; Mon, 31 Mar 2025 08:33:08 +0000
Received: by outflank-mailman (input) for mailman id 932168;
 Mon, 31 Mar 2025 08:33: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=orDG=WS=zytor.com=xin@srs-se1.protection.inumbo.net>)
 id 1tzARM-0001u1-2H
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:24:16 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f911e82-0e09-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:24:01 +0200 (CEST)
Received: from terminus.zytor.com (terminus.zytor.com
 [IPv6:2607:7c80:54:3:0:0:0:136]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52V8Mp003171319
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 31 Mar 2025 01:22: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: 7f911e82-0e09-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52V8Mp003171319
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743409380;
	bh=c4mcztnFt3iWZUjta5DXg4eheqI37Lh6HqidwU3OGSY=;
	h=From:To:Cc:Subject:Date:From;
	b=OnHXAiC9aSEzd0WpdrjoHSGZ04PCiEeIv62hkaEXPnx8evimLF7vpw0m7zz3VzHAt
	 hDuVc4dghG43y+jsV+a7Qfx20Ng9DHzGpu8XsE0uIkomgEmFYL/K1tnjvzIxsjKA4M
	 Jmbxizi87C0PeKt7ohivxxIv0jnlvkyUQ9sNKdDbevgpXy1tk7W9PyoTsHjecZxvs2
	 aVQVkmqox4yIzWpZCAHpOgStdzq0qcj13XEqjfbZbCPUeEsVftd405OaQn09xyGuCx
	 rSayuzUgrw2M+BWzbnfHvv62mRW+cXcdQf8/qP5CIkCNwAjzjH0U7W5kYlhj6Xy0BH
	 xAje3DGcgV+zw==
From: "Xin Li (Intel)" <xin@zytor.com>
To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: [RFC PATCH v1 00/15] MSR refactor with new MSR instructions support
Date: Mon, 31 Mar 2025 01:22:36 -0700
Message-ID: <20250331082251.3171276-1-xin@zytor.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Obviously the existing MSR code and the pv_ops MSR access APIs need some
love: https://lore.kernel.org/lkml/87y1h81ht4.ffs@tglx/

hpa has started a discussion about how to refactor it last October:
https://lore.kernel.org/lkml/7a4de623-ecda-4369-a7ae-0c43ef328177@zytor.com/

The consensus so far is to utilize the alternatives mechanism to eliminate
the Xen MSR access overhead on native systems and enable new MSR instructions
based on their availability.

To achieve this, a code refactor is necessary.  Initially, the MSR API usage
needs to be unified and simplified, which is addressed by patches 1 through 7.

Patches 8 and 9 introduce basic support for immediate form MSR instructions,
while patch 10 employs the immediate form WRMSRNS in VMX.

Finally, patches 11 to 15 leverage the alternatives mechanism to read and
write MSR.


H. Peter Anvin (Intel) (1):
  x86/extable: Implement EX_TYPE_FUNC_REWIND

Xin Li (Intel) (14):
  x86/msr: Replace __wrmsr() with native_wrmsrl()
  x86/msr: Replace __rdmsr() with native_rdmsrl()
  x86/msr: Simplify pmu_msr_{read,write}()
  x86/msr: Let pv_cpu_ops.write_msr{_safe}() take an u64 instead of two
    u32
  x86/msr: Replace wrmsr(msr, low, 0) with wrmsrl(msr, value)
  x86/msr: Remove MSR write APIs that take the MSR value in two u32
    arguments
  x86/msr: Remove pmu_msr_{read,write}()
  x86/cpufeatures: Add a CPU feature bit for MSR immediate form
    instructions
  x86/opcode: Add immediate form MSR instructions to x86-opcode-map
  KVM: VMX: Use WRMSRNS or its immediate form when available
  x86/msr: Use the alternatives mechanism to write MSR
  x86/msr: Use the alternatives mechanism to read MSR
  x86/extable: Add support for the immediate form MSR instructions
  x86/msr: Move the ARGS macros after the MSR read/write APIs

 arch/x86/coco/sev/core.c                   |   2 +-
 arch/x86/events/amd/brs.c                  |   4 +-
 arch/x86/hyperv/hv_apic.c                  |   6 +-
 arch/x86/hyperv/hv_vtl.c                   |   4 +-
 arch/x86/hyperv/ivm.c                      |   2 +-
 arch/x86/include/asm/apic.h                |   4 +-
 arch/x86/include/asm/asm.h                 |   6 +
 arch/x86/include/asm/cpufeatures.h         |  19 +-
 arch/x86/include/asm/extable_fixup_types.h |   1 +
 arch/x86/include/asm/fred.h                |   2 +-
 arch/x86/include/asm/mshyperv.h            |   2 +-
 arch/x86/include/asm/msr-index.h           |   6 +
 arch/x86/include/asm/msr.h                 | 664 ++++++++++++++++-----
 arch/x86/include/asm/paravirt.h            |  64 --
 arch/x86/include/asm/paravirt_types.h      |  11 -
 arch/x86/include/asm/switch_to.h           |   2 +-
 arch/x86/kernel/cpu/amd.c                  |   2 +-
 arch/x86/kernel/cpu/common.c               |  10 +-
 arch/x86/kernel/cpu/mce/core.c             |   6 +-
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c  |  12 +-
 arch/x86/kernel/cpu/resctrl/rdtgroup.c     |   2 +-
 arch/x86/kernel/cpu/scattered.c            |   1 +
 arch/x86/kernel/cpu/umwait.c               |   4 +-
 arch/x86/kernel/kvm.c                      |   2 +-
 arch/x86/kernel/kvmclock.c                 |   2 +-
 arch/x86/kernel/paravirt.c                 |   4 -
 arch/x86/kvm/svm/svm.c                     |  15 +-
 arch/x86/kvm/vmx/vmenter.S                 |  28 +-
 arch/x86/kvm/vmx/vmx.c                     |   4 +-
 arch/x86/lib/x86-opcode-map.txt            |   5 +-
 arch/x86/mm/extable.c                      | 186 ++++--
 arch/x86/mm/mem_encrypt_identity.c         |   4 +-
 arch/x86/xen/enlighten_pv.c                | 110 ++--
 arch/x86/xen/pmu.c                         |  43 +-
 arch/x86/xen/xen-asm.S                     |  89 +++
 arch/x86/xen/xen-ops.h                     |  12 +-
 drivers/ata/pata_cs5535.c                  |  12 +-
 drivers/ata/pata_cs5536.c                  |   6 +-
 drivers/cpufreq/acpi-cpufreq.c             |   2 +-
 drivers/cpufreq/e_powersaver.c             |   2 +-
 drivers/cpufreq/powernow-k6.c              |   8 +-
 tools/arch/x86/lib/x86-opcode-map.txt      |   5 +-
 42 files changed, 896 insertions(+), 479 deletions(-)


base-commit: 8fc8ae1aeed6dc895bf35a4797c6e770574f4612
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:43:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:43:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932206.1334393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAjx-0000zt-56; Mon, 31 Mar 2025 08:43:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932206.1334393; Mon, 31 Mar 2025 08:43: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 1tzAjx-0000zm-2X; Mon, 31 Mar 2025 08:43:29 +0000
Received: by outflank-mailman (input) for mailman id 932206;
 Mon, 31 Mar 2025 08:43: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=FpTe=WS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tzAjv-0000zg-O8
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:43:27 +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 365a76a6-0e0c-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:43:26 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5e6167d0536so4004970a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 01:43:26 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac719278259sm594205666b.38.2025.03.31.01.43.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Mar 2025 01:43: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: 365a76a6-0e0c-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743410606; x=1744015406; darn=lists.xenproject.org;
        h=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=XwAYMTJMPesHRYb6A/nzQjXqrgdTACJtc+bMwHYaBdo=;
        b=XEoWk9XE3vdnjceeZwD5sOWKb3p+5ocx5yI/67Y1gWtNX4H3qUF+5w8DBCNWh3Eb9r
         ea+cL2nowZxaWqWCXKCsY/t3PH+tybyDNY946C1j9oEfxr5vsPCGY6RZEAy2/Srs3l0V
         FKbBLI5T2cSNIxC+VjPOrbl2T2qSJSXySOnig=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743410606; x=1744015406;
        h=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=XwAYMTJMPesHRYb6A/nzQjXqrgdTACJtc+bMwHYaBdo=;
        b=vmJlacpZtcRoyGM+EzG4vnp1tqd/bnu/p5v8NN/RpUE++ccW3UfgTjxpfBUCWQCdTQ
         x+TAqnDUvDnumuW83KAKCse4VheOx+GEq79uwf0t42jdptyij1CFC0Zfzss5gH7xYQ7w
         Ku9fuCqodG6F7czhJyKpG6IMX55rm3J1GPMAESddOHNZE5ZMWAWCHNCj2ztjbkQruDsC
         6N5sskrK6UaQuU7XrGuqK3EVd0La3FF6an8Ghj+RnqgAA9t0QSD01SrutIiGG8OUDpp6
         ryMWSiYnp/dCejeeEZPz324gN2YEO6SVm7L2xiiEWajT1gemRdEnL8Xcf6CjHZ8Az6zc
         a53Q==
X-Gm-Message-State: AOJu0YzX0dH7MiPAvQpC7fN69FBoInkaSwcZDqoH90FwqZajCmzbzdTk
	cDD7nAY2kr5iMONzml7YsH4TpF0vUhDXTBm7NUb5tYWnbuY8P9ohuF3ZEphoB2M=
X-Gm-Gg: ASbGncuJFwmx8j/6VWVLwsuPi0REl0Pxu9rzQvGX+gou2GKpVo8Z8612smA+lxAssOt
	+T5N1EHFRotXmDrQ4+d4O02IhggVufY7edd67Wd+pCrPBxS86DJIYFTOZ2l+kcFR6pAnKB9nmX4
	mhIRpBIwdJPquUvbAHgHx3tPL2lIMk+IrTlYnhhXbl8MwsNMAfRwbq6hlBYUIioy1q01hdJHsmA
	s/CLrKhbzMWS0UGMHFQppMwqECuhH2i8D0G+fRoNomu0TIvPqEKVmAC9NGbSDe2Z9QezpXsPDP1
	5juHnJM0FcN3QrJY4s5mWDw+PMPdvAOYS0gyAfyGOMQgempvUA==
X-Google-Smtp-Source: AGHT+IGDLQMXaWQDd+CvtW6jw8eldymYxRJghYiPsEfyUyFJ4hyCtIWDMt5uD+NjT5k/fHC+yGP4jg==
X-Received: by 2002:a17:907:a089:b0:abc:b8c:7b2d with SMTP id a640c23a62f3a-ac738b517f8mr679924366b.32.1743410605684;
        Mon, 31 Mar 2025 01:43:25 -0700 (PDT)
Date: Mon, 31 Mar 2025 10:43:24 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [PATCH v1 1/3] vpci: Hide capability when it fails to initialize
Message-ID: <Z-pVrGLZTCk1ZXb1@macbook.local>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <Z-UZm5sTIz4nOt4-@macbook.local>
 <BL1PR12MB5849F1134D9E51E6A0F7B4A7E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BL1PR12MB5849F1134D9E51E6A0F7B4A7E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>

On Mon, Mar 31, 2025 at 07:26:20AM +0000, Chen, Jiqian wrote:
> On 2025/3/27 17:25, Roger Pau MonnĂŠ wrote:
> > On Thu, Mar 27, 2025 at 03:32:12PM +0800, Jiqian Chen wrote:
> >> When vpci fails to initialize a capability of a device, it just
> >> return error instead of catching and processing exception. That
> >> makes the entire device unusable.
> >>
> >> So, refactor REGISTER_VPCI_INIT to contain more capability specific
> >> information, and try to hide capability when initialization fails
> >> in vpci_assign_device().
> >>
> >> What's more, change the definition of init_header() since it is
> >> not a capability and it is needed for all devices' PCI config space.
> >>
> >> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> >> ---
> >> Hi all,
> >>
> >> This patch aims to hide a capability when its initialization fails.
> >> That causes we can't rely on vpci_deassign_device() to clean up assigned
> >> resources, so, following two patches clean up resources in the failure
> >> path of init function.
> >>
> >> Best regards,
> >> Jiqian Chen.
> >> ---
> >>  xen/drivers/vpci/header.c |  3 +-
> >>  xen/drivers/vpci/msi.c    |  2 +-
> >>  xen/drivers/vpci/msix.c   |  2 +-
> >>  xen/drivers/vpci/rebar.c  |  2 +-
> >>  xen/drivers/vpci/vpci.c   | 65 +++++++++++++++++++++++++++++++++------
> >>  xen/include/xen/vpci.h    | 27 ++++++++++++----
> >>  6 files changed, 81 insertions(+), 20 deletions(-)
> >>
> >> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> >> index ef6c965c081c..8c8e4ac5698a 100644
> >> --- a/xen/drivers/vpci/header.c
> >> +++ b/xen/drivers/vpci/header.c
> >> @@ -745,7 +745,7 @@ static int bar_add_rangeset(const struct pci_dev *pdev, struct vpci_bar *bar,
> >>      return !bar->mem ? -ENOMEM : 0;
> >>  }
> >>  
> >> -static int cf_check init_header(struct pci_dev *pdev)
> >> +int vpci_init_header(struct pci_dev *pdev)
> >>  {
> >>      uint16_t cmd;
> >>      uint64_t addr, size;
> >> @@ -1007,7 +1007,6 @@ 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);
> >>  
> >>  /*
> >>   * Local variables:
> >> diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
> >> index 66e5a8a116be..9d7a9fd8dba1 100644
> >> --- a/xen/drivers/vpci/msi.c
> >> +++ b/xen/drivers/vpci/msi.c
> >> @@ -270,7 +270,7 @@ static int cf_check init_msi(struct pci_dev *pdev)
> >>  
> >>      return 0;
> >>  }
> >> -REGISTER_VPCI_INIT(init_msi, VPCI_PRIORITY_LOW);
> >> +REGISTER_VPCI_LEGACY_CAP(PCI_CAP_ID_MSI, init_msi, VPCI_PRIORITY_LOW);
> >>  
> >>  void vpci_dump_msi(void)
> >>  {
> >> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> >> index 6bd8c55bb48e..50e5f38c1e09 100644
> >> --- a/xen/drivers/vpci/msix.c
> >> +++ b/xen/drivers/vpci/msix.c
> >> @@ -753,7 +753,7 @@ static int cf_check init_msix(struct pci_dev *pdev)
> >>  
> >>      return 0;
> >>  }
> >> -REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_HIGH);
> >> +REGISTER_VPCI_LEGACY_CAP(PCI_CAP_ID_MSIX, init_msix, VPCI_PRIORITY_HIGH);
> >>  
> >>  /*
> >>   * Local variables:
> >> diff --git a/xen/drivers/vpci/rebar.c b/xen/drivers/vpci/rebar.c
> >> index 793937449af7..7c53ee031887 100644
> >> --- a/xen/drivers/vpci/rebar.c
> >> +++ b/xen/drivers/vpci/rebar.c
> >> @@ -118,7 +118,7 @@ static int cf_check init_rebar(struct pci_dev *pdev)
> >>  
> >>      return 0;
> >>  }
> >> -REGISTER_VPCI_INIT(init_rebar, VPCI_PRIORITY_LOW);
> >> +REGISTER_VPCI_EXTEND_CAP(PCI_EXT_CAP_ID_REBAR, init_rebar, VPCI_PRIORITY_LOW);
> >>  
> >>  /*
> >>   * Local variables:
> >> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> >> index 1e6aa5d799b9..a8362e46e097 100644
> >> --- a/xen/drivers/vpci/vpci.c
> >> +++ b/xen/drivers/vpci/vpci.c
> >> @@ -36,8 +36,8 @@ struct vpci_register {
> >>  };
> >>  
> >>  #ifdef __XEN__
> >> -extern vpci_register_init_t *const __start_vpci_array[];
> >> -extern vpci_register_init_t *const __end_vpci_array[];
> >> +extern vpci_capability_t *const __start_vpci_array[];
> >> +extern vpci_capability_t *const __end_vpci_array[];
> >>  #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
> >>  
> >>  #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> >> @@ -83,6 +83,47 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
> >>  
> >>  #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
> >>  
> >> +static int vpci_init_cap_with_priority(struct pci_dev *pdev,
> >> +                                       const char *priority)
> >> +{
> >> +    for ( unsigned int i = 0; i < NUM_VPCI_INIT; i++ )
> >> +    {
> >> +        const vpci_capability_t *capability = __start_vpci_array[i];
> >> +        const unsigned int cap_id = capability->id;
> >> +        unsigned int pos;
> >> +        int rc;
> >> +
> >> +        if ( *(capability->priority) != *priority )
> >> +            continue;
> >> +
> >> +        if ( !capability->is_ext )
> >> +            pos = pci_find_cap_offset(pdev->sbdf, cap_id);
> >> +        else
> >> +            pos = pci_find_ext_capability(pdev->sbdf, cap_id);
> >> +
> >> +        if ( !pos )
> >> +            continue;
> >> +
> >> +        rc = capability->init(pdev);
> >> +
> >> +        if ( rc )
> >> +        {
> >> +            printk(XENLOG_WARNING "%pd %pp: cap init fail rc=%d, try to hide\n",
> >> +                   pdev->domain, &pdev->sbdf, rc);
> >> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> >> +                                   pos, capability->is_ext ? 4 : 1, NULL);
> > 
> > Are you sure this works as intended? 
> Yes, I used failure test cases of init_msi/rebar.
> From the "lspci" result, they were hided from the dom0.
> But I forgot to test for domUs.

I assume that's only tested with Linux?  See my comment below about
capability ID 0 being reserved, and hence I think we should not keep
capabilities with ID 0 on the list, as it might cause malfunctions to
OSes.

> > The capability ID 0 is marked as "reserved" in the spec, so it's unclear to me how OSes would handle
> > finding such capability on the list - I won't be surprised if some
> > implementations decide to terminate the walk.  It's fine to mask the
> > capability ID for the ones that we don't want to expose, but there's
> > further work to do IMO.
> > 
> > The usual way to deal with masking capabilities is to short circuit
> > the capability from the linked list, by making the previous capability
> > "Next Capability Offset" point to the next capability in the list,
> > thus skipping the current one. So:
> > 
> > capability[n - 1].next_cap = capability[n].next_cap
> > 
> > IOW: you will need to add the handler to the previous capability on
> > the list.  That's how it's already done in init_header().
> Oh, I got your opinion.
> But we may need to discuss this more.
> In my opinion, there should be two situations:
> First, if device belongs to hardware domain, there is no emulation of legacy or extended capabilities linked list if I understand codes right.

Yes, but that needs to be fixed, we need to have this kind of
emulation uniformly.

> So, for this situation, I think current implementation of my patch is enough for hiding legacy or extended capabilities.

It works given the current code in Linux.  As said above, I don't
think this is fully correct according to the PCI spec.

> Second, if device belongs to common domain, we just need to consider legacy capabilities since all extended capabilities are hided in init_header().
> So, for this situation, I need to what you said " capability[n - 1].next_cap = capability[n].next_cap "

I'm not sure why would want to handle the hardware domain vs
unprivileged domains differently here.  The way to hide the
capabilities should always be the same, like it's currently done for
domUs.

> I am not sure if above are right.
> > 
> >> +            if ( rc )
> >> +            {
> >> +                printk(XENLOG_ERR "%pd %pp: fail to hide cap rc=%d\n",
> >> +                       pdev->domain, &pdev->sbdf, rc);
> >> +                return rc;
> >> +            }
> >> +        }
> >> +    }
> >> +
> >> +    return 0;
> >> +}
> >> +
> >>  void vpci_deassign_device(struct pci_dev *pdev)
> >>  {
> >>      unsigned int i;
> >> @@ -128,7 +169,6 @@ void vpci_deassign_device(struct pci_dev *pdev)
> >>  
> >>  int vpci_assign_device(struct pci_dev *pdev)
> >>  {
> >> -    unsigned int i;
> >>      const unsigned long *ro_map;
> >>      int rc = 0;
> >>  
> >> @@ -159,12 +199,19 @@ int vpci_assign_device(struct pci_dev *pdev)
> >>          goto out;
> >>  #endif
> >>  
> >> -    for ( i = 0; i < NUM_VPCI_INIT; i++ )
> >> -    {
> >> -        rc = __start_vpci_array[i](pdev);
> >> -        if ( rc )
> >> -            break;
> >> -    }
> >> +    /*
> >> +     * Capabilities with high priority like MSI-X need to
> >> +     * be initialized before header
> >> +     */
> >> +    rc = vpci_init_cap_with_priority(pdev, VPCI_PRIORITY_HIGH);
> >> +    if ( rc )
> >> +        goto out;
> > 
> > I understand this is not introduced by this change, but I wonder if
> > there could be a way to ditch the priority stuff for capabilities,
> > specially now that we only have two "priorities": before or after PCI
> > header initialization.
> I have an idea, but it seems like a hake.
> Can we add a flag(maybe name it "msix_initialized") to struct vpci{}?
> Then in vpci_make_msix_hole(), we can first check that flag, if it is false, we return an error to let modify_decoding() directly return in the process of init_header.
> And in the start of init_msix(), to set msix_initialized=true, in the end of init_msix(), to call modify_decoding() to setup p2m.
> Then we can remove the priorities.

Maybe the initialization of the MSI-X capability could be done after
the header, and call vpci_make_msix_hole()?  There's a bit of
redundancy here in that the BAR is first fully mapped, and then a hole
is punched in place of the MSI-X related tables.  Seems like the
easier option to break the depedency of init_msix() in being called
ahead of init_header().

Completely unrelated: looking at vpci_make_msix_hole() I see the call
in modify_decoding() is redundant, as modify_bars() already craves the
MSI-X regions out of the BARs.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:44:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932226.1334404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAkz-0001s9-JK; Mon, 31 Mar 2025 08:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932226.1334404; Mon, 31 Mar 2025 08:44: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 1tzAkz-0001s2-Fs; Mon, 31 Mar 2025 08:44:33 +0000
Received: by outflank-mailman (input) for mailman id 932226;
 Mon, 31 Mar 2025 08:44: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzAky-0001rr-Oq
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:44:32 +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 5d32d657-0e0c-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:44:31 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-39141ffa9fcso4020209f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 01:44: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-39c0b79e14csm10683168f8f.76.2025.03.31.01.44.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 01: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: 5d32d657-0e0c-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743410671; x=1744015471; 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=hnTbd6S7QTLXrS1CqEBrXOnsut7BpSA5Btng0Eyw5FM=;
        b=NK44N+kcJksjso4fjls+zTutxdo/LrdJoJZ7IcESMRdHQuxqaKYnMw80oP3oyFESmG
         bx+6IL3y8VA36cDmrM/a3DI+UcXaDb/4i6Dt3S27H78hpqDVfNIcCFLgynP9tDxa7pC6
         Ow2M3Fcnk1VHl5j6UvXozADkPgAfjocKFHLw7q+1ea1p2Sc/NrkTCYtIX5fnKtk3W/ii
         qCjndY5MY1PorlAiutNf2G7CDdhYI7ndpsMT3i0FSnsB0cz2EpwpuoCujzFcE+bgnv6h
         wuVDuU8Gn/KusEN6nKu3q7QqxkdFfE9SSLu8b341x4aOOukBRTW/cNaOkt/2u+88p/6i
         WNSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743410671; x=1744015471;
        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=hnTbd6S7QTLXrS1CqEBrXOnsut7BpSA5Btng0Eyw5FM=;
        b=rQ88I7hqyohN4QQ/6S1rQG1+Glg7kCp/sn7RQpJag0AvUPjq7v0rSUDPBMrbmiLYza
         Hxq8W4gTJQKU0T+3EgWCGOXEeJQG8BfVZjW6w8S7+f+v44Og/hM8OkgqHS6wAFe0u0Of
         jzdq9JVGDxwECwz7z72o8CPepbu6B3FxXVoimlanb2gnty7NdWLh5DL8SwB7jTfqC1eL
         lmSoq1soV2Kkf723QYWArTkbTFGIL2fJ/SdGVsYqw2yTSm7Qx+ukfY7tM+G6bXCX8bFc
         4d9Cgry5eBwhQWVFDVnvv+5f1KylVBHayPRgT2hw880JUHZZehMsgsIH6sUPPCOnGj5J
         ZdQA==
X-Forwarded-Encrypted: i=1; AJvYcCWV0+84ikhCAtrCUnFZqUEO7BhGmvrBvnQcNxbNmHhsbZltpoY20msLRI7l3Q34rWjUj1JmxMaMhWY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJUzHqyaFZCVYNv50ozoc5s/fJdy1br8Bl+5Ko83eGwnGwLKTl
	gX2jloTYySRVWwJbY+AxdbrZDjqJhDwDDbyGF3HZkqG2fP37TwGTPBgPWl4Hrw==
X-Gm-Gg: ASbGnculQgIXGns8yWi/q1vWCTohptzmo4UNZF3OqvHXlJ6pWouB3+Vtuu7KLLngDaF
	zQ1xIygFLqbf4TJ9KJtiIATFoTg8fz7y+xG9dgNa7oS3crXmKkFbr1tCpD+mfGYmKp77XM8x4nh
	Y8/7GfIkgae5W6Noh8eHAuls/HW3Zefv8GZxmiY2o/yvDw+DEnhJSwPPikVnNhdQpkUc5QJWLNz
	HhpJjDe5GlNYiqg2GCLeo670snLlAKQa3IZ+vrQbiFWbSppS0xZ6ag99Z0AjSod6XOYTcoR1wMC
	KQR9baKylMCAMw7btbDi2wqdw/NT6ROe3lxW5/ScD4CTglFObrPYJZaAvGFcIQljGy6eLZkuTFh
	p22cC01v8PHA1f4z0flA6F0ZFl34ysA==
X-Google-Smtp-Source: AGHT+IEsoxXhKLr6p3aUPye7KQ2RlOmDtz9Z1xNZa5ldasrFM05iRu/Z4PyUDL7STcnN02nVRLS+fA==
X-Received: by 2002:a5d:47c6:0:b0:391:20ef:6300 with SMTP id ffacd0b85a97d-39c12118deamr6373161f8f.37.1743410671072;
        Mon, 31 Mar 2025 01:44:31 -0700 (PDT)
Message-ID: <ba6adcbb-3192-4f82-bb8d-6df8f4fc3fe7@suse.com>
Date: Mon, 31 Mar 2025 10:44:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 04/16] xen/lib: Switch to xen/byteorder.h
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Lin Liu <lin.liu@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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-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: <20250328134427.874848-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> From: Lin Liu <lin.liu@citrix.com>
> 
> In divmod.c, additionally swap xen/lib.h for xen/macros.h as only ABS() is
> needed.
> 
> In find-next-bit.c, ext2 has nothing to do with this logic.

While I agree here, ...

>  Despite the
> comments, it was a local modification when the logic was imported from Linux,
> because Xen didn't have a suitable helper.

... I certainly can see functions of these names in Linux 2.6.16. Just in the
PA-RISC bitops.h, though. Yet this may be an indication that yet earlier on
this was a wider thing there.

> The new infrsatructure does have a suitable primitive, so use it.
> 
> No functional change.
> 
> Signed-off-by: Lin Liu <lin.liu@citrix.com>

Missing your own S-o-b?

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:46:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:46:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932249.1334414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAmu-00032e-UW; Mon, 31 Mar 2025 08:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932249.1334414; Mon, 31 Mar 2025 08:46: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 1tzAmu-00032X-Qm; Mon, 31 Mar 2025 08:46:32 +0000
Received: by outflank-mailman (input) for mailman id 932249;
 Mon, 31 Mar 2025 08:46: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzAmt-00032Q-Ml
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:46:31 +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 a3cc07ad-0e0c-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:46:30 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-39ac9aea656so3487253f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 01:46: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-39c0b79e1b0sm10569740f8f.75.2025.03.31.01.46.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 01:46: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: a3cc07ad-0e0c-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743410789; x=1744015589; 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=4XWaGEjsTvHjrR76ANIOckdg8Yl32EYXYAqSXMIJ3PY=;
        b=AeGeOF0lvNIKqxWXrinOBQO2IZ/TYKmJ/TzWiNcaCO4CdXUsbEGo+wp4u30AUL/9oF
         a/vnQYxIQPOnqW6d0o4iYe5nPToHf2CyiaaxJ0+FRGTrYBv0atdHGhs+61Y+pt/4c7GA
         O3sVHyVQSiqNZhWB9eD9ucFJt+uXjqDjxY5yWlGhrz1upN3rSfLBFZvY9ZA6CAVMMKCA
         gGCvUsnCengRS4mYeXqfEX/XHV06I2AW21djA7Cfbq2SKk0gXfdu4YeLKZ+UtsWZA5Y7
         QoRc8A0nhB3yQJg98c68rf5Vs1eoLQO7p/gLptK6cIFR8r0/wbtqJ4S3sywFrrJ1g7BP
         gEiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743410789; x=1744015589;
        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=4XWaGEjsTvHjrR76ANIOckdg8Yl32EYXYAqSXMIJ3PY=;
        b=UZJVlSJWFjcQizGDUGubxe+SpjtKvsoEiQi5WXmMKZccUWm2JK6Tgp7hZNmd/pPGfa
         UopcHbDBrn2/YtR8Zp/0TW3YJgE2GeAunXBbhMFtVBTODgP5sDfu8B1I9PNj9UsR7Zqo
         JkcgmzEWpsB3Nl8MKPweNCRaoo9vXG4JVJTpYLqZ2X0EL3O+WtJcPhMajnW2uKeG6qFF
         Fe9wS8BJJnx+ynFEcBEyxY8o0RjZjMuN2KqRX7ldUhhJfD1hzURA3e+Dsq4pIOlYQ8Yw
         Pb9ODBasEBKOIgOW9Y3S31HB9r/+4cXGo/PFTa98KscLLx2JxaMpQlK9gWoRZJhkH+lL
         SpdA==
X-Gm-Message-State: AOJu0YwHrvFCtVddfEw+86OXl/XZdMefatOy8n2Q2yqfo/C5pSuMpoeO
	olrMLR1dvn+ddwjh8DyVJ2fd3EszU/TvA7d43/7zzfDfvSFXDwANxTAXIB8/7w==
X-Gm-Gg: ASbGncv1JEJ7wRuF/pEwsAjytZJ+uBlzTHd+7/oPDY18VfHPzJ/2a9Wl2l/OEk4aXxT
	ftsUxN/pPAZvPy2JxCyjGHO7wzZSe+USx+lyq1/zbnxJV0Ke9xxIKM2QFLxkfd+9dJicDFb4wGC
	nNXAzNIHB+mcWqBYLBU2bWwRJIUOQ2Yz+AcrMa3YQdnE7YCY7VEceJ1vC93Cr8C34wGQyuvE00b
	Hv0soaoiSCjEM3sy2LiTW/Ty9J+E654CavMbJvWqn4Bz2VgJExFKoxDXsJ7aw67Za24Iy3PXs9H
	u1NiVz7gSUUrqsVyaDEjhkS1KbT/girtmbh15j8mQ9vZwBf3Wm9JQNgJyz57I4u4YOyadXXvAgg
	uDBPOLnTu+bVqKdLpp3A3YsW1aOGBLg==
X-Google-Smtp-Source: AGHT+IFEt+LIHtOJTSWpd3NjLWeE3XbpTxceRrS/bzi8VudJ9nEcYTHBPDLuoaM5rC2hHkHgT+UkrA==
X-Received: by 2002:a5d:5848:0:b0:391:45e9:face with SMTP id ffacd0b85a97d-39c1211d5bbmr5383257f8f.54.1743410789425;
        Mon, 31 Mar 2025 01:46:29 -0700 (PDT)
Message-ID: <bed18044-098c-4408-8024-24b79d760417@suse.com>
Date: Mon, 31 Mar 2025 10:46:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/3] vpci: Hide capability when it fails to initialize
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Huang, Ray" <Ray.Huang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <Z-UZm5sTIz4nOt4-@macbook.local>
 <BL1PR12MB5849F1134D9E51E6A0F7B4A7E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <Z-pVrGLZTCk1ZXb1@macbook.local>
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: <Z-pVrGLZTCk1ZXb1@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31.03.2025 10:43, Roger Pau MonnĂŠ wrote:
> On Mon, Mar 31, 2025 at 07:26:20AM +0000, Chen, Jiqian wrote:
>> On 2025/3/27 17:25, Roger Pau MonnĂŠ wrote:
>>> On Thu, Mar 27, 2025 at 03:32:12PM +0800, Jiqian Chen wrote:
>>>> --- a/xen/drivers/vpci/vpci.c
>>>> +++ b/xen/drivers/vpci/vpci.c
>>>> @@ -36,8 +36,8 @@ struct vpci_register {
>>>>  };
>>>>  
>>>>  #ifdef __XEN__
>>>> -extern vpci_register_init_t *const __start_vpci_array[];
>>>> -extern vpci_register_init_t *const __end_vpci_array[];
>>>> +extern vpci_capability_t *const __start_vpci_array[];
>>>> +extern vpci_capability_t *const __end_vpci_array[];
>>>>  #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
>>>>  
>>>>  #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
>>>> @@ -83,6 +83,47 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
>>>>  
>>>>  #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
>>>>  
>>>> +static int vpci_init_cap_with_priority(struct pci_dev *pdev,
>>>> +                                       const char *priority)
>>>> +{
>>>> +    for ( unsigned int i = 0; i < NUM_VPCI_INIT; i++ )
>>>> +    {
>>>> +        const vpci_capability_t *capability = __start_vpci_array[i];
>>>> +        const unsigned int cap_id = capability->id;
>>>> +        unsigned int pos;
>>>> +        int rc;
>>>> +
>>>> +        if ( *(capability->priority) != *priority )
>>>> +            continue;
>>>> +
>>>> +        if ( !capability->is_ext )
>>>> +            pos = pci_find_cap_offset(pdev->sbdf, cap_id);
>>>> +        else
>>>> +            pos = pci_find_ext_capability(pdev->sbdf, cap_id);
>>>> +
>>>> +        if ( !pos )
>>>> +            continue;
>>>> +
>>>> +        rc = capability->init(pdev);
>>>> +
>>>> +        if ( rc )
>>>> +        {
>>>> +            printk(XENLOG_WARNING "%pd %pp: cap init fail rc=%d, try to hide\n",
>>>> +                   pdev->domain, &pdev->sbdf, rc);
>>>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>>>> +                                   pos, capability->is_ext ? 4 : 1, NULL);
>>>
>>> Are you sure this works as intended? 
>> Yes, I used failure test cases of init_msi/rebar.
>> From the "lspci" result, they were hided from the dom0.
>> But I forgot to test for domUs.
> 
> I assume that's only tested with Linux?  See my comment below about
> capability ID 0 being reserved, and hence I think we should not keep
> capabilities with ID 0 on the list, as it might cause malfunctions to
> OSes.
> 
>>> The capability ID 0 is marked as "reserved" in the spec, so it's unclear to me how OSes would handle
>>> finding such capability on the list - I won't be surprised if some
>>> implementations decide to terminate the walk.  It's fine to mask the
>>> capability ID for the ones that we don't want to expose, but there's
>>> further work to do IMO.
>>>
>>> The usual way to deal with masking capabilities is to short circuit
>>> the capability from the linked list, by making the previous capability
>>> "Next Capability Offset" point to the next capability in the list,
>>> thus skipping the current one. So:
>>>
>>> capability[n - 1].next_cap = capability[n].next_cap
>>>
>>> IOW: you will need to add the handler to the previous capability on
>>> the list.  That's how it's already done in init_header().
>> Oh, I got your opinion.
>> But we may need to discuss this more.
>> In my opinion, there should be two situations:
>> First, if device belongs to hardware domain, there is no emulation of legacy or extended capabilities linked list if I understand codes right.
> 
> Yes, but that needs to be fixed, we need to have this kind of
> emulation uniformly.
> 
>> So, for this situation, I think current implementation of my patch is enough for hiding legacy or extended capabilities.
> 
> It works given the current code in Linux.  As said above, I don't
> think this is fully correct according to the PCI spec.
> 
>> Second, if device belongs to common domain, we just need to consider legacy capabilities since all extended capabilities are hided in init_header().
>> So, for this situation, I need to what you said " capability[n - 1].next_cap = capability[n].next_cap "
> 
> I'm not sure why would want to handle the hardware domain vs
> unprivileged domains differently here.  The way to hide the
> capabilities should always be the same, like it's currently done for
> domUs.

FWIW - I agree with Roger on all the point made.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 08:54:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 08:54:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932272.1334424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzAuE-0007gY-Kh; Mon, 31 Mar 2025 08:54:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932272.1334424; Mon, 31 Mar 2025 08:54: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 1tzAuE-0007gR-Gc; Mon, 31 Mar 2025 08:54:06 +0000
Received: by outflank-mailman (input) for mailman id 932272;
 Mon, 31 Mar 2025 08:54: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=FpTe=WS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tzAuC-0007gL-KK
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 08:54:04 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1bbd6cd-0e0d-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 10:54:03 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-22438c356c8so82901485ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 01:54:03 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-7397106c7b7sm6464437b3a.116.2025.03.31.01.54.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Mar 2025 01: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: b1bbd6cd-0e0d-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743411242; x=1744016042; darn=lists.xenproject.org;
        h=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=g68pv8HLKjxwIYNYmVAVNeAB6X96bZp2QGkJCQ1PFwQ=;
        b=XOPudND53zcD7ztA/mfEzGxtp50UOHpO0xcrGQKTPZ/B8jb5sx7XTsD95r5CkixFgk
         M6/oJVXRYnZ9dsogzYSIVkzsZ3F1Lxy7wGOuss129UvRbaIWPYapDbiO3urF52W32fLs
         wwBsj9wL/8Oqhz/LyDEb/4djXR6xchrv4/TOM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743411242; x=1744016042;
        h=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=g68pv8HLKjxwIYNYmVAVNeAB6X96bZp2QGkJCQ1PFwQ=;
        b=jlImEYhWn/U/e92pcBidpn7+uFiaYbMfIpkA125xRLzzTHn56GOWssRzpoR86IjYmI
         3yRanuSuC+VmOIoI8lrbcI1sJTI1qQmeV6e8sex/t+2VSisI/6E1j4eukJhFW9Mza7qv
         915ZocX5dE10Kf9R5jR7PUzOmL9KGsiIOUaDLC8Mf65NiuqXtgyZQHXeNQJjB2nUBJVt
         liS7Hlm/3G78aB4nmbZue99By4wzU8B+ltHW61Fwtq83aBrGzk3Ws570bM0/GKpn9dQE
         EJAqBOXeoz95PA+Z9j+X5q9CAmgU2N0I/quc5HTVfJEBYcZ47tSPa96GDTMMU3ZA5au1
         P+tA==
X-Gm-Message-State: AOJu0Yw+ea6WkJBu9ljczLZ+dbx32GOT4lj8RxFxJeoj7LcECH1oS4gr
	twyxQuxZWLjCPvC6yl0xOQJpoHaqE9QKE+8EaOPIvt+3U9qn8znmiG8DnjcIwkkRmpjQMJcBmzC
	S
X-Gm-Gg: ASbGncsUbRlMerRs9OsW3z+bntk/CBMCXg2QdlMbOTyEn12KbaJrsXMzScKF1nZhhh/
	tSOeiJjik0R3GDDrgl4xU7aI0+7M4Sh6XbMH7/sSIzUtRfBZee3OScOoPETptBuSJgIWPzJwhof
	HEqpVg0eHjGwDtxua2mSUguoafGFHmS4zo2eE9dR21doZYsdpv9WNr1qoSMzHroTxnx2zg5xxgQ
	XqWGfBlq4JJb3cpgPh16+B15IoSHNvoOf1LljTavLeI0KH0UoXpfTybtCpnM/c0FZYrRXydWL0v
	e9s4DFkkslcbXVaSQW0q4vc5WMChuzKFqAnvJq2wsbGXk3ngSA==
X-Google-Smtp-Source: AGHT+IGIE0rMnnu+MRDEZJk9y8ZHT3VF0R+T53xSrMaQX2pAC07QvM09shgGUdRHgWf96BiJHhDD+g==
X-Received: by 2002:a05:6a20:9e4a:b0:1f5:862b:a583 with SMTP id adf61e73a8af0-2009f78553bmr15390872637.34.1743411241885;
        Mon, 31 Mar 2025 01:54:01 -0700 (PDT)
Date: Mon, 31 Mar 2025 10:53:56 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [PATCH v1 3/3] vpci/msi: Remove registers when init_msi() fails
Message-ID: <Z-pYJNyGieUqkVvl@macbook.local>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <20250327073214.158210-3-Jiqian.Chen@amd.com>
 <Z-VIFo7q7-UNsLCt@macbook.local>
 <BL1PR12MB584905BC9966EF9742FF4472E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BL1PR12MB584905BC9966EF9742FF4472E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>

On Mon, Mar 31, 2025 at 08:13:50AM +0000, Chen, Jiqian wrote:
> On 2025/3/27 20:44, Roger Pau MonnĂŠ wrote:
> > On Thu, Mar 27, 2025 at 03:32:14PM +0800, Jiqian Chen wrote:
> >> When init_msi() fails, the new codes will try to hide MSI
> >> capability, so it can't rely on vpci_deassign_device() to
> >> remove all MSI related registers anymore, those registers
> >> must be cleaned up in failure path of init_msi.
> >>
> >> To do that, use a vpci_register array to record all MSI
> >> registers and call vpci_remove_register() to remove registers.
> > 
> > As I'm just seeing 3 patches on the series, isn't there one missing
> > for MSI-X at least?
> No, because init_msix only call vpci_add_register once, there is no need to remove registers when it fails.

Seems a bit fragile, what about if there's further code added to
init_msix() that could return an error after the vpci_add_register()
call?  It would be safer to have a cleanup function that removes the
config space handlers, plus the MMIO one (see the call to
register_mmio_handler()), and the addition to the
d->arch.hvm.msix_tables list.

> > 
> >> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> >> ---
> >>  xen/drivers/vpci/msi.c | 57 +++++++++++++++++++++++++++++-------------
> >>  1 file changed, 39 insertions(+), 18 deletions(-)
> >>
> >> diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
> >> index 9d7a9fd8dba1..30ef97efb7b0 100644
> >> --- a/xen/drivers/vpci/msi.c
> >> +++ b/xen/drivers/vpci/msi.c
> >> @@ -195,6 +195,9 @@ static void cf_check mask_write(
> >>  
> >>  static int cf_check init_msi(struct pci_dev *pdev)
> >>  {
> >> +    unsigned int offset;
> >> +    unsigned int reg_index = 0;
> >> +    struct vpci_register registers[VPCI_CAP_MAX_REGISTER];
> >>      unsigned int pos = pdev->msi_pos;
> >>      uint16_t control;
> >>      int ret;
> >> @@ -206,15 +209,13 @@ static int cf_check init_msi(struct pci_dev *pdev)
> >>      if ( !pdev->vpci->msi )
> >>          return -ENOMEM;
> >>  
> >> +    offset = msi_control_reg(pos);
> >>      ret = vpci_add_register(pdev->vpci, control_read, control_write,
> >> -                            msi_control_reg(pos), 2, pdev->vpci->msi);
> >> +                            offset, 2, pdev->vpci->msi);
> >>      if ( ret )
> >> -        /*
> >> -         * NB: there's no need to free the msi struct or remove the register
> >> -         * handlers form the config space, the caller will take care of the
> >> -         * cleanup.
> >> -         */
> >> -        return ret;
> >> +        goto fail;
> >> +    registers[reg_index].offset = offset;
> >> +    registers[reg_index++].size = 2;
> >>  
> >>      /* Get the maximum number of vectors the device supports. */
> >>      control = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
> >> @@ -234,33 +235,42 @@ static int cf_check init_msi(struct pci_dev *pdev)
> >>      pdev->vpci->msi->address64 = is_64bit_address(control);
> >>      pdev->vpci->msi->masking = is_mask_bit_support(control);
> >>  
> >> +    offset = msi_lower_address_reg(pos);
> >>      ret = vpci_add_register(pdev->vpci, address_read, address_write,
> >> -                            msi_lower_address_reg(pos), 4, pdev->vpci->msi);
> >> +                            offset, 4, pdev->vpci->msi);
> >>      if ( ret )
> >> -        return ret;
> >> +        goto fail;
> >> +    registers[reg_index].offset = offset;
> >> +    registers[reg_index++].size = 4;
> >>  
> >> +    offset = msi_data_reg(pos, pdev->vpci->msi->address64);
> >>      ret = vpci_add_register(pdev->vpci, data_read, data_write,
> >> -                            msi_data_reg(pos, pdev->vpci->msi->address64), 2,
> >> -                            pdev->vpci->msi);
> >> +                            offset, 2, pdev->vpci->msi);
> >>      if ( ret )
> >> -        return ret;
> >> +        goto fail;
> >> +    registers[reg_index].offset = offset;
> >> +    registers[reg_index++].size = 2;
> >>  
> >>      if ( pdev->vpci->msi->address64 )
> >>      {
> >> +        offset = msi_upper_address_reg(pos);
> >>          ret = vpci_add_register(pdev->vpci, address_hi_read, address_hi_write,
> >> -                                msi_upper_address_reg(pos), 4, pdev->vpci->msi);
> >> +                                offset, 4, pdev->vpci->msi);
> >>          if ( ret )
> >> -            return ret;
> >> +            goto fail;
> >> +        registers[reg_index].offset = offset;
> >> +        registers[reg_index++].size = 4;
> >>      }
> >>  
> >>      if ( pdev->vpci->msi->masking )
> >>      {
> >> +        offset = msi_mask_bits_reg(pos, pdev->vpci->msi->address64);
> >>          ret = vpci_add_register(pdev->vpci, mask_read, mask_write,
> >> -                                msi_mask_bits_reg(pos,
> >> -                                                  pdev->vpci->msi->address64),
> >> -                                4, pdev->vpci->msi);
> >> +                                offset, 4, pdev->vpci->msi);
> >>          if ( ret )
> >> -            return ret;
> >> +            goto fail;
> >> +        registers[reg_index].offset = offset;
> >> +        registers[reg_index++].size = 4;
> > 
> > As commented on the previous patch, I don't like much the usage of
> > this registers array to store which handlers have been added.  It
> > would be best if you just removed every possible handler that could be
> > added, without keeping track of them.
> Make sense, it will indeed be simpler if it is fine to remove all possible registers.
> 
> > 
> > Thinking about it, do we maybe need a helper vcpi function that wipes
> > all handlers from a specific range?  I think it could be helpful here,
> > as the size of the capabilities is well-known, so on error it would be
> > easier to just call such a generic handler to wipe all hooks added to
> > the region covered by the failing capability.
> But I am not sure if that helper function is suitable for all capabilities.
> Like Rebar, its structure can range from 12 bytes long(for a single BAR) to 52 bytes long(for all six BARs).
> If a device supports Rebar and only has a single resizable BAR, does hardware still reserved the range from 13 bytes to 52 bytes for that device?

No, we would need to fetch the size of the capability in the cleanup
function, or figure it otherwise.  Note the same applies to MSI
capability, which has a variable size depending on whether 64bit
addresses and masking is supported.

> I mean if I remove the registers(with range 13 to 52), is it possible that I deleted registers belonging to other abilities?

It is, indeed.  You need to know or calculate the size of the
capability to be removed, but that's likely easier and more robust
that keeping an array with the list of added registers?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 09:32:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 09:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932289.1334446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzBV9-0006aM-Gj; Mon, 31 Mar 2025 09:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932289.1334446; Mon, 31 Mar 2025 09:32: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 1tzBV9-0006aF-De; Mon, 31 Mar 2025 09:32:15 +0000
Received: by outflank-mailman (input) for mailman id 932289;
 Mon, 31 Mar 2025 09:32: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=S+FP=WS=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1tzBV8-0006a9-7E
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 09:32:14 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061a.outbound.protection.outlook.com
 [2a01:111:f403:2413::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02f9aef3-0e13-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 11:32:07 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by SJ1PR12MB6193.namprd12.prod.outlook.com (2603:10b6:a03:459::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 09:32:03 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%3]) with mapi id 15.20.8534.043; Mon, 31 Mar 2025
 09:32: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: 02f9aef3-0e13-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZNtfbIp15Vh+mjLibTDJfw116JCDyCxSZgYJ/a5bH2U13gEGcrGv5rq+3y++sVtE5G72EMRGDOS4/7IwWsEg5mm2ebCL5c/FsYtc69HC46rDFFcawduM1eYLCUqGUhdORwAjATRjsxcqQr+3Qzzq07L7MdmLmMfmcMQJ0S8JQ5hj0/edtnp3iAbPAUU4Z5aHXfvuSmvEac6fA6iOZ83ZDJwYkqDcDT2tVYMwl5ngbT/8OxRSLLmTCp8QGOQErdsDPbgqG1kZaUStieLKkt2eUWgzibAqg21csIjY7IjpVDQ2SxipjK6OyF/LXpzbNAZxOcejte/AERM0hxXczzCu9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YXDaiXj9AidEvHHZ88Stk0XA8gf07TpaVfEjCLqjMp8=;
 b=D/5VhZXMthJaSDvvKH/eDJ82V4gXAweu+22cWroGKKR7j6E4qFTPPjsA73UlwCCJzUoimGkxqwPLcbxcEiHAUd2XKNsrrnkXLVRKli7UNI4z1g9NFpbYWKpv2yGthuqdioGMUxzJeUewpGaRa16c6h5FY2HuQ3gIuP88LaMMjxVd7+qWyz5uPsqFsJwk+1NUrDIyu/b+ZNeXWZbBXH2/OmbaDdivQzFFmzgdIT2c+oLyxRjc7unP7UoTGueCkufeNE0H+KhfW0C3RwCzZX0JTgyVna4JDMc+VPTtA7erckkngz4HOFK9uEJe80kjbUxSTYk/UGCBnpsBs+Dua7Pa8g==
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=YXDaiXj9AidEvHHZ88Stk0XA8gf07TpaVfEjCLqjMp8=;
 b=txa26SMFegBHHt5Zvtr37JgwqoA0Ao8LBHWtWxvr6iSMFy1mO2/JSvikXWC2UvmwCXFdgwuzmc797AfPi9/t6yat8mtgWU7zXDsIz3VnnViN6i93lIs4oA4R43D1gD590OkI4eL0c8KIHoYuDrlZGn0oAXqlsJ/jwNbCpbiEWv0=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "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 v1 1/3] vpci: Hide capability when it fails to initialize
Thread-Topic: [PATCH v1 1/3] vpci: Hide capability when it fails to initialize
Thread-Index: AQHbnup9DfRmpRg4a0apmzEwGKAL0LOGtpyAgAamp4D//5bVAIAAjtkA
Date: Mon, 31 Mar 2025 09:32:02 +0000
Message-ID:
 <BL1PR12MB5849783E854628DC49F9A609E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <Z-UZm5sTIz4nOt4-@macbook.local>
 <BL1PR12MB5849F1134D9E51E6A0F7B4A7E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <Z-pVrGLZTCk1ZXb1@macbook.local>
In-Reply-To: <Z-pVrGLZTCk1ZXb1@macbook.local>
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.8534.033)
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_|SJ1PR12MB6193:EE_
x-ms-office365-filtering-correlation-id: 99ccd438-98e1-4f44-d5fe-08dd7036e515
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?TGxRT20zdGlpM21aUlZKaEh4Zi9CblpmU1d4dkhHMk02RGlaQ2d6RDF0Tk1p?=
 =?utf-8?B?S1I4MGtnaE5KMkpmYlU5ejRaTmNJblMvcGhpMkVUV011cHhmS25QbC9KMkFn?=
 =?utf-8?B?RndCeHZ2cmFBbHR0L1Fad2xST3Q5TDlMdEJMMXF1MTZBSjkrWnlIMm5nOXpH?=
 =?utf-8?B?TXgvZEdPOWp0RlU5K3lHTnpJc2txa0puU0lRV25sNmZVbmZtWFB0bUZENXE4?=
 =?utf-8?B?NEdJRUI5ZmVnRmxrSk5DaXF1eSs1RHBONWNjdkJYNDNFaGJnZkpFYWVlYlIw?=
 =?utf-8?B?Vm9DL0lydmVCMGVrWm5BaERXWnh3UkFFQmtlc21pdllkSEk5Y0Jmck93WDg2?=
 =?utf-8?B?OWF3aGVjL1FsYUlsbjNKcjRMWDhFN0tTekdnMUYvN3NWSXpTZ0VKSC9zN0Ny?=
 =?utf-8?B?amJNK3hkR3I0ZXVxZEcwNStwZ2VLWVZpSk94Nk5QVzh5a1ZKSVVyQWVvQTdk?=
 =?utf-8?B?QWlkRnRkY1VyZXJSM25yZXZBMHg2cUpOZEdoaGlMU01pU1p0QURUQ3hMa3F2?=
 =?utf-8?B?Yi9TTEtmbFZENlA3WU1BZDUwa05NZEZMRmJLOEM5Y29icGJVc2NMbTFub1Jw?=
 =?utf-8?B?SGQzWDU1ZVZsZDRVcUcwaXVlZ3J2K25Ia3c1dTJlUStYeGJNbEpmOGZ5bktK?=
 =?utf-8?B?RVExbGlnaFlnWE5JZlpkU0pPSTlhNlRORytWcWNvZ1VZUCttQXRHWWs5cGNU?=
 =?utf-8?B?RUJyMFcyMUNjZE1XYzQvRUxKa3ZKZjc4RHNhdDlrcFM1aG82NXFpV2xoZzFK?=
 =?utf-8?B?Nldqb3lYdWE3dDdZRExUKytDaHpJc2ttTXlsTi80bVpXVGFuYkVRZklXTEtw?=
 =?utf-8?B?V3FHb1I2YStpMGlxK0gvRHdXVTRhaUxidEFNNUc0U2JEVUlhVUU4ZzJsZjh4?=
 =?utf-8?B?dTBuSTY1QVU0NHhLVlZldXp3akZtbE92OUlsRmxIcUp1eFYzZmpLaDJKTzdn?=
 =?utf-8?B?L2RmMWkxcU1VRUNYeWZhVjg4SFZ0c3daTkxCaGk0VWFWL0MzcTJPdzArQWF1?=
 =?utf-8?B?aWxiZEIzQ2MrWlZmYVVIbUJDRmovTEMwU0JMMndDZTZLRzVKT0NUak0xWDhK?=
 =?utf-8?B?eGVyakxNT3h0YWhnT0I0WmFSNDhQZ2NsZlh5Vi85U283WDczRmZlQy84bDhI?=
 =?utf-8?B?NEhRUHNVNUtUcXl5R0JEblhKcGw4djdZK25CN0pCV1MwSWMwZ254VGM0VVI2?=
 =?utf-8?B?Tm1td3ZjVldLOFBLZ2duVG9rZnk4dk53WGR3UnNpTUMrVi8weHhlYlFDMWoy?=
 =?utf-8?B?Sy82dDBYYzYvd0lvME1JMjcvSDhFRkpCNEtIZ1Ywc05mOHlYWEgvNjRlSFds?=
 =?utf-8?B?KzRvY1lnTXFHUWxGR3R0enJHY1E5TXN6LzRubTJ2WUhlY3J3MmRjdGtzVTcr?=
 =?utf-8?B?WnlUK1JDV1MrS0sxb21ML3RuWVBkUmRtd2JHc3phdDVXSlk3REZ2MGJQZVdP?=
 =?utf-8?B?eDJXYjEvV1JPWFdDNXRHWVNwckFLdndzUGlkQk9neFpXMmkwSjJJWXJDeVJ0?=
 =?utf-8?B?ai9qemVDdUZXWENmYTZ0K0ZZTnp5aVdVbm92bFg2YkJrbWRyajE5Rkp1SUxN?=
 =?utf-8?B?TE1JRG1DK2xyOURkeUNoeGpLdjRJMWZwNEhoKzl6bXllSkQ0Y2hkVzV2Sy8v?=
 =?utf-8?B?SXpQa1drZ2JvSVZ0Qy9RTUF5M1pJcUphTVJ6bDNYSW9CSlZpcm9UazlXc29H?=
 =?utf-8?B?SkRaRU5zUURTNElFVDFFTGJ5MzVmTUwwS1pmUmpJQ0dxWkhwMDNTUHBaQm5W?=
 =?utf-8?B?aE04c3E5WU9MNmpCYmJLc1BoR2p1L3gycEYxM2M1Z1R1NXovRngwU1c4Qkxy?=
 =?utf-8?B?ZnRpdmhtU2lRYkNmSVFEdHpHcWpvc1hXYlFJclpiTW10dVBZZ001SS9YSlJt?=
 =?utf-8?B?SlBUVlRlVWlLTFdpdkJtaXdEYm5SMmVKOGFXVVNsNjd3ZXBpWDJoOEE5Tlk4?=
 =?utf-8?Q?wxm/5J93FbRDNoRLbyd++XtqEc25T4KW?=
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)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NWFKdWdvc0VGcVpoc04vdlpOVUp5RkRrd3BUajFvdUN5Z3o1QnUvcnRUNEIz?=
 =?utf-8?B?MW5mSmxiaHY0ZEVYbnE1RWdFZTdZSWdKa0dSMVZrUEtyRDR2UUdtLzE1cDhC?=
 =?utf-8?B?dlRhQVBMZlJLZFZtaC8zY3NLbkhWbW9QMkZ4U3QvTWxjS0JkN2xrVnRJM3Nn?=
 =?utf-8?B?MndlK3gzOGVVb2p0TjU0TzF1UzEyQXVWckgwYlRBM2owU1ZiMmVyemtJdnFk?=
 =?utf-8?B?VVc1QVBMUDF0WTJSKytrNDBISnFVWlBtVm5WZ0d2NEsrSThnRWdveG9xUVdo?=
 =?utf-8?B?eFFzbUpzOXA4SUgrM0p6czlVQ3I3cHV1bGlWZ29MaDZ6cEN5N0VTUFNNYUdr?=
 =?utf-8?B?Wm1taVg2SWZTaXdDdFE4L1FuWCtuRWRFaCtxSk9GRGthOEVOQU8vbTFJd21s?=
 =?utf-8?B?VmlhdGtPS1h2d1hOZGk1Snp2eU5VazlucEY4V2xhR25OQzAvOEo1ZDlaRmJ5?=
 =?utf-8?B?YTA3aEd3S0xwTFYwL000NzhiV0VzVHhsVFlUSVBiR1QzRFhSQnF2OVltUmRp?=
 =?utf-8?B?Ykg1bi9wQTFiWVFuWkxrUER6cVVMYjh2REM3OVFiR2s3NnNJWjg5dkNRRDVH?=
 =?utf-8?B?Vk8veGpIWGczcDhqblZOUmRLVFgwVzJLRFM3Y0k1ZXZPZlpqMWhxOVhsNktP?=
 =?utf-8?B?dTRabHRVTTh4M3dudUpwRHJaZmJLL3hyYS9aOENUS1huVVZnd0EzV1N1cEFj?=
 =?utf-8?B?YkZ5bG5WN3Bwb1BLMGd1Z2tiWlFjMEd1OXk0aGxKQWp3ek41S08vVFBGZW0y?=
 =?utf-8?B?eWZEbzNjUURmOXJFdXdObHNQcWZPeHM4d2loRm56UTQrUjUxSHVDQkx1VkM0?=
 =?utf-8?B?M21RMG8vTGNvVk1pQ1JyYzJid3hqODBoek9DTnBzNHFMaTFwbG1tNDlQWC9u?=
 =?utf-8?B?d25VRVJlTU9LUm1wN1NONTJlUDlnMWdWN3loT3FqMWFtcGpHZ3V0WWQ5T3ZC?=
 =?utf-8?B?R0NMbGs2WGVzZFY3WE9wNnJkSnFwWEQ4eDJEWlNEWmUvak5mVnJEZVAxTk9i?=
 =?utf-8?B?WjR2ekwzYVRNOUFGaXhBbndwV3NjdURxTEdYdy9NdDArTGFQdjJMdjBLbW8y?=
 =?utf-8?B?NTBUcjd1dnBEeDdlc2ErYklFQU1oT2pSUUZFQjEyN0U0RkMxQTA2Y2hiRXZY?=
 =?utf-8?B?cGZucEgzMDhBR0lvODNReUhjSU54SGt6bE9pTG1UdXRNTFlZSnZleHBvTlZl?=
 =?utf-8?B?TWthdGQ3WGM0a3BBSC9FWUc4bXpOZC8xWmJ6Y1hhM1pyVEo2SFEwWlpDZVdF?=
 =?utf-8?B?ek90WHdnNVdtYjhaamhWNGJ5QzBpNytCZnhhOWlyeUo2SGpBaE0yb2NlUlZw?=
 =?utf-8?B?KzZnb0NRZkRZSXk1dmFxa3k4WDZEaTA4c2pqQW9jSHdJdnREeFg0a0JEbDRn?=
 =?utf-8?B?QTU2SVpsWGF6T2J5Q2lCRlZzVFN0U2tnR1lEa0gwN0N6VTFGVjJJVnhyUzZx?=
 =?utf-8?B?ZFhlSkRjdStQUWdrS0VBckRCTlhEUHQ2Tk9tRFB2YjcydklXd1FJS25mSitw?=
 =?utf-8?B?Z3ZyY1FKaXBZZEdFSWptZXd5MWg3aC9DTS9lS1JrSTROQ1lPdkFlakdpMUNI?=
 =?utf-8?B?cUtCWTRwbGhGRDREMG9KNzhwdjFBM3Z5cThRdkxCU0NjU1czL1IxWnJBaURU?=
 =?utf-8?B?VVJETmpFMFVwQURUTnRTdW1nTFlibFNrazYyaDNzTkNJbTdYRm5lUUxIK2JJ?=
 =?utf-8?B?eDlmL3hrbExBTXVOU242SGlWUHpXS2QwVm52U3c4Wm14Z215RmVORmVvaWtU?=
 =?utf-8?B?NjBQbDVKT2xkbjhhVGtmUDhnYnIrZmNJMFk3RjRXcGNCRytjc013UGtBNFR3?=
 =?utf-8?B?N3A1cTYvdTNhS01hVVVGNHlOdFdGM2xWV0JnTzVhRjN2V284YXBVeEloclFG?=
 =?utf-8?B?N3VXbHIxTmtkc0RLT1dNU1d5UmRzZXF2ck9RT1VES21hVE9vd2laTzIwKzlv?=
 =?utf-8?B?R2s5c2xaSmVTcFp4Si9GQWtqTGhSMDg4RnB3MU9HWTJUcDd3M21IVGM1YlV3?=
 =?utf-8?B?Y3pKQ1o4a0F6aXJCVmErZXVUTU5VeUtWSVZvWGc3UUNGNlBydGV5d293YVVi?=
 =?utf-8?B?bzQ4cDNwaGh0TkxkZGl6TWY3UkdMVWJ4andHTEFsRmdJbGxYZm9QTGJDNzZ3?=
 =?utf-8?Q?FfQ4=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <53D4FEAA38E13C42976404ED499C13B7@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: 99ccd438-98e1-4f44-d5fe-08dd7036e515
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 09:32:03.0278
 (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: PdKc925OPQLl2a+JcrtKbeoc9ICTKfH4Z/wh8aucPHscUR38A7DOso6nlEe7egOa86HDEJ8qJy+CX2KQ6Mi/og==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6193

T24gMjAyNS8zLzMxIDE2OjQzLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBNb24sIE1h
ciAzMSwgMjAyNSBhdCAwNzoyNjoyMEFNICswMDAwLCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+PiBP
biAyMDI1LzMvMjcgMTc6MjUsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+Pj4gT24gVGh1LCBN
YXIgMjcsIDIwMjUgYXQgMDM6MzI6MTJQTSArMDgwMCwgSmlxaWFuIENoZW4gd3JvdGU6IA0KPj4+
PiAgI2VuZGlmIC8qIENPTkZJR19IQVNfVlBDSV9HVUVTVF9TVVBQT1JUICovDQo+Pj4+ICANCj4+
Pj4gK3N0YXRpYyBpbnQgdnBjaV9pbml0X2NhcF93aXRoX3ByaW9yaXR5KHN0cnVjdCBwY2lfZGV2
ICpwZGV2LA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciAqcHJpb3JpdHkpDQo+Pj4+ICt7DQo+Pj4+ICsgICAgZm9yICggdW5zaWduZWQgaW50
IGkgPSAwOyBpIDwgTlVNX1ZQQ0lfSU5JVDsgaSsrICkNCj4+Pj4gKyAgICB7DQo+Pj4+ICsgICAg
ICAgIGNvbnN0IHZwY2lfY2FwYWJpbGl0eV90ICpjYXBhYmlsaXR5ID0gX19zdGFydF92cGNpX2Fy
cmF5W2ldOw0KPj4+PiArICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgY2FwX2lkID0gY2FwYWJp
bGl0eS0+aWQ7DQo+Pj4+ICsgICAgICAgIHVuc2lnbmVkIGludCBwb3M7DQo+Pj4+ICsgICAgICAg
IGludCByYzsNCj4+Pj4gKw0KPj4+PiArICAgICAgICBpZiAoICooY2FwYWJpbGl0eS0+cHJpb3Jp
dHkpICE9ICpwcmlvcml0eSApDQo+Pj4+ICsgICAgICAgICAgICBjb250aW51ZTsNCj4+Pj4gKw0K
Pj4+PiArICAgICAgICBpZiAoICFjYXBhYmlsaXR5LT5pc19leHQgKQ0KPj4+PiArICAgICAgICAg
ICAgcG9zID0gcGNpX2ZpbmRfY2FwX29mZnNldChwZGV2LT5zYmRmLCBjYXBfaWQpOw0KPj4+PiAr
ICAgICAgICBlbHNlDQo+Pj4+ICsgICAgICAgICAgICBwb3MgPSBwY2lfZmluZF9leHRfY2FwYWJp
bGl0eShwZGV2LT5zYmRmLCBjYXBfaWQpOw0KPj4+PiArDQo+Pj4+ICsgICAgICAgIGlmICggIXBv
cyApDQo+Pj4+ICsgICAgICAgICAgICBjb250aW51ZTsNCj4+Pj4gKw0KPj4+PiArICAgICAgICBy
YyA9IGNhcGFiaWxpdHktPmluaXQocGRldik7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAgaWYgKCBy
YyApDQo+Pj4+ICsgICAgICAgIHsNCj4+Pj4gKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FS
TklORyAiJXBkICVwcDogY2FwIGluaXQgZmFpbCByYz0lZCwgdHJ5IHRvIGhpZGVcbiIsDQo+Pj4+
ICsgICAgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLCAmcGRldi0+c2JkZiwgcmMpOw0KPj4+
PiArICAgICAgICAgICAgcmMgPSB2cGNpX2FkZF9yZWdpc3RlcihwZGV2LT52cGNpLCB2cGNpX3Jl
YWRfdmFsLCBOVUxMLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
b3MsIGNhcGFiaWxpdHktPmlzX2V4dCA/IDQgOiAxLCBOVUxMKTsNCj4+Pg0KPj4+IEFyZSB5b3Ug
c3VyZSB0aGlzIHdvcmtzIGFzIGludGVuZGVkPyANCj4+IFllcywgSSB1c2VkIGZhaWx1cmUgdGVz
dCBjYXNlcyBvZiBpbml0X21zaS9yZWJhci4NCj4+IEZyb20gdGhlICJsc3BjaSIgcmVzdWx0LCB0
aGV5IHdlcmUgaGlkZWQgZnJvbSB0aGUgZG9tMC4NCj4+IEJ1dCBJIGZvcmdvdCB0byB0ZXN0IGZv
ciBkb21Vcy4NCj4gDQo+IEkgYXNzdW1lIHRoYXQncyBvbmx5IHRlc3RlZCB3aXRoIExpbnV4PyAg
U2VlIG15IGNvbW1lbnQgYmVsb3cgYWJvdXQNCj4gY2FwYWJpbGl0eSBJRCAwIGJlaW5nIHJlc2Vy
dmVkLCBhbmQgaGVuY2UgSSB0aGluayB3ZSBzaG91bGQgbm90IGtlZXANCj4gY2FwYWJpbGl0aWVz
IHdpdGggSUQgMCBvbiB0aGUgbGlzdCwgYXMgaXQgbWlnaHQgY2F1c2UgbWFsZnVuY3Rpb25zIHRv
DQo+IE9TZXMuDQo+IA0KPj4+IFRoZSBjYXBhYmlsaXR5IElEIDAgaXMgbWFya2VkIGFzICJyZXNl
cnZlZCIgaW4gdGhlIHNwZWMsIHNvIGl0J3MgdW5jbGVhciB0byBtZSBob3cgT1NlcyB3b3VsZCBo
YW5kbGUNCj4+PiBmaW5kaW5nIHN1Y2ggY2FwYWJpbGl0eSBvbiB0aGUgbGlzdCAtIEkgd29uJ3Qg
YmUgc3VycHJpc2VkIGlmIHNvbWUNCj4+PiBpbXBsZW1lbnRhdGlvbnMgZGVjaWRlIHRvIHRlcm1p
bmF0ZSB0aGUgd2Fsay4gIEl0J3MgZmluZSB0byBtYXNrIHRoZQ0KPj4+IGNhcGFiaWxpdHkgSUQg
Zm9yIHRoZSBvbmVzIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBleHBvc2UsIGJ1dCB0aGVyZSdzDQo+
Pj4gZnVydGhlciB3b3JrIHRvIGRvIElNTy4NCj4+Pg0KPj4+IFRoZSB1c3VhbCB3YXkgdG8gZGVh
bCB3aXRoIG1hc2tpbmcgY2FwYWJpbGl0aWVzIGlzIHRvIHNob3J0IGNpcmN1aXQNCj4+PiB0aGUg
Y2FwYWJpbGl0eSBmcm9tIHRoZSBsaW5rZWQgbGlzdCwgYnkgbWFraW5nIHRoZSBwcmV2aW91cyBj
YXBhYmlsaXR5DQo+Pj4gIk5leHQgQ2FwYWJpbGl0eSBPZmZzZXQiIHBvaW50IHRvIHRoZSBuZXh0
IGNhcGFiaWxpdHkgaW4gdGhlIGxpc3QsDQo+Pj4gdGh1cyBza2lwcGluZyB0aGUgY3VycmVudCBv
bmUuIFNvOg0KPj4+DQo+Pj4gY2FwYWJpbGl0eVtuIC0gMV0ubmV4dF9jYXAgPSBjYXBhYmlsaXR5
W25dLm5leHRfY2FwDQo+Pj4NCj4+PiBJT1c6IHlvdSB3aWxsIG5lZWQgdG8gYWRkIHRoZSBoYW5k
bGVyIHRvIHRoZSBwcmV2aW91cyBjYXBhYmlsaXR5IG9uDQo+Pj4gdGhlIGxpc3QuICBUaGF0J3Mg
aG93IGl0J3MgYWxyZWFkeSBkb25lIGluIGluaXRfaGVhZGVyKCkuDQo+PiBPaCwgSSBnb3QgeW91
ciBvcGluaW9uLg0KPj4gQnV0IHdlIG1heSBuZWVkIHRvIGRpc2N1c3MgdGhpcyBtb3JlLg0KPj4g
SW4gbXkgb3BpbmlvbiwgdGhlcmUgc2hvdWxkIGJlIHR3byBzaXR1YXRpb25zOg0KPj4gRmlyc3Qs
IGlmIGRldmljZSBiZWxvbmdzIHRvIGhhcmR3YXJlIGRvbWFpbiwgdGhlcmUgaXMgbm8gZW11bGF0
aW9uIG9mIGxlZ2FjeSBvciBleHRlbmRlZCBjYXBhYmlsaXRpZXMgbGlua2VkIGxpc3QgaWYgSSB1
bmRlcnN0YW5kIGNvZGVzIHJpZ2h0Lg0KPiANCj4gWWVzLCBidXQgdGhhdCBuZWVkcyB0byBiZSBm
aXhlZCwgd2UgbmVlZCB0byBoYXZlIHRoaXMga2luZCBvZg0KPiBlbXVsYXRpb24gdW5pZm9ybWx5
Lg0KPiANCj4+IFNvLCBmb3IgdGhpcyBzaXR1YXRpb24sIEkgdGhpbmsgY3VycmVudCBpbXBsZW1l
bnRhdGlvbiBvZiBteSBwYXRjaCBpcyBlbm91Z2ggZm9yIGhpZGluZyBsZWdhY3kgb3IgZXh0ZW5k
ZWQgY2FwYWJpbGl0aWVzLg0KPiANCj4gSXQgd29ya3MgZ2l2ZW4gdGhlIGN1cnJlbnQgY29kZSBp
biBMaW51eC4gIEFzIHNhaWQgYWJvdmUsIEkgZG9uJ3QNCj4gdGhpbmsgdGhpcyBpcyBmdWxseSBj
b3JyZWN0IGFjY29yZGluZyB0byB0aGUgUENJIHNwZWMuDQo+IA0KPj4gU2Vjb25kLCBpZiBkZXZp
Y2UgYmVsb25ncyB0byBjb21tb24gZG9tYWluLCB3ZSBqdXN0IG5lZWQgdG8gY29uc2lkZXIgbGVn
YWN5IGNhcGFiaWxpdGllcyBzaW5jZSBhbGwgZXh0ZW5kZWQgY2FwYWJpbGl0aWVzIGFyZSBoaWRl
ZCBpbiBpbml0X2hlYWRlcigpLg0KPj4gU28sIGZvciB0aGlzIHNpdHVhdGlvbiwgSSBuZWVkIHRv
IHdoYXQgeW91IHNhaWQgIiBjYXBhYmlsaXR5W24gLSAxXS5uZXh0X2NhcCA9IGNhcGFiaWxpdHlb
bl0ubmV4dF9jYXAgIg0KPiANCj4gSSdtIG5vdCBzdXJlIHdoeSB3b3VsZCB3YW50IHRvIGhhbmRs
ZSB0aGUgaGFyZHdhcmUgZG9tYWluIHZzDQo+IHVucHJpdmlsZWdlZCBkb21haW5zIGRpZmZlcmVu
dGx5IGhlcmUuICBUaGUgd2F5IHRvIGhpZGUgdGhlDQo+IGNhcGFiaWxpdGllcyBzaG91bGQgYWx3
YXlzIGJlIHRoZSBzYW1lLCBsaWtlIGl0J3MgY3VycmVudGx5IGRvbmUgZm9yDQo+IGRvbVVzLg0K
U28sIEkgbmVlZCB0byByZWZhY3RvciB0aGUgZW11bGF0aW5nIFBDSSBjYXBhYmlsaXR5IGxpc3Qg
Y29kZXMgb2YgaW5pdF9oZWFkZXIoKSB0byBzZXJ2ZQ0KZm9yIGFsbCBkb21haW4oZG9tMCtkb21V
cykgZmlyc3RseSwgc2luY2UgY3VycmVudCBjb2RlcyBvbmx5IGVtdWxhdGUgUENJIGNhcGFiaWxp
dHkgbGlzdCBmb3IgZG9tVXMsIHJpZ2h0Pw0KDQo+IA0KPj4gSSBhbSBub3Qgc3VyZSBpZiBhYm92
ZSBhcmUgcmlnaHQuDQo+Pj4NCj4+Pj4gKyAgICAgICAgICAgIGlmICggcmMgKQ0KPj4+PiArICAg
ICAgICAgICAgew0KPj4+PiArICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICIlcGQg
JXBwOiBmYWlsIHRvIGhpZGUgY2FwIHJjPSVkXG4iLA0KPj4+PiArICAgICAgICAgICAgICAgICAg
ICAgICBwZGV2LT5kb21haW4sICZwZGV2LT5zYmRmLCByYyk7DQo+Pj4+ICsgICAgICAgICAgICAg
ICAgcmV0dXJuIHJjOw0KPj4+PiArICAgICAgICAgICAgfQ0KPj4+PiArICAgICAgICB9DQo+Pj4+
ICsgICAgfQ0KPj4+PiArDQo+Pj4+ICsgICAgcmV0dXJuIDA7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+
Pj4gIHZvaWQgdnBjaV9kZWFzc2lnbl9kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+Pj4+
ICB7DQo+Pj4+ICAgICAgdW5zaWduZWQgaW50IGk7DQo+Pj4+IEBAIC0xMjgsNyArMTY5LDYgQEAg
dm9pZCB2cGNpX2RlYXNzaWduX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+Pj4gIA0K
Pj4+PiAgaW50IHZwY2lfYXNzaWduX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+Pj4g
IHsNCj4+Pj4gLSAgICB1bnNpZ25lZCBpbnQgaTsNCj4+Pj4gICAgICBjb25zdCB1bnNpZ25lZCBs
b25nICpyb19tYXA7DQo+Pj4+ICAgICAgaW50IHJjID0gMDsNCj4+Pj4gIA0KPj4+PiBAQCAtMTU5
LDEyICsxOTksMTkgQEAgaW50IHZwY2lfYXNzaWduX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRl
dikNCj4+Pj4gICAgICAgICAgZ290byBvdXQ7DQo+Pj4+ICAjZW5kaWYNCj4+Pj4gIA0KPj4+PiAt
ICAgIGZvciAoIGkgPSAwOyBpIDwgTlVNX1ZQQ0lfSU5JVDsgaSsrICkNCj4+Pj4gLSAgICB7DQo+
Pj4+IC0gICAgICAgIHJjID0gX19zdGFydF92cGNpX2FycmF5W2ldKHBkZXYpOw0KPj4+PiAtICAg
ICAgICBpZiAoIHJjICkNCj4+Pj4gLSAgICAgICAgICAgIGJyZWFrOw0KPj4+PiAtICAgIH0NCj4+
Pj4gKyAgICAvKg0KPj4+PiArICAgICAqIENhcGFiaWxpdGllcyB3aXRoIGhpZ2ggcHJpb3JpdHkg
bGlrZSBNU0ktWCBuZWVkIHRvDQo+Pj4+ICsgICAgICogYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGhl
YWRlcg0KPj4+PiArICAgICAqLw0KPj4+PiArICAgIHJjID0gdnBjaV9pbml0X2NhcF93aXRoX3By
aW9yaXR5KHBkZXYsIFZQQ0lfUFJJT1JJVFlfSElHSCk7DQo+Pj4+ICsgICAgaWYgKCByYyApDQo+
Pj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4+DQo+Pj4gSSB1bmRlcnN0YW5kIHRoaXMgaXMgbm90
IGludHJvZHVjZWQgYnkgdGhpcyBjaGFuZ2UsIGJ1dCBJIHdvbmRlciBpZg0KPj4+IHRoZXJlIGNv
dWxkIGJlIGEgd2F5IHRvIGRpdGNoIHRoZSBwcmlvcml0eSBzdHVmZiBmb3IgY2FwYWJpbGl0aWVz
LA0KPj4+IHNwZWNpYWxseSBub3cgdGhhdCB3ZSBvbmx5IGhhdmUgdHdvICJwcmlvcml0aWVzIjog
YmVmb3JlIG9yIGFmdGVyIFBDSQ0KPj4+IGhlYWRlciBpbml0aWFsaXphdGlvbi4NCj4+IEkgaGF2
ZSBhbiBpZGVhLCBidXQgaXQgc2VlbXMgbGlrZSBhIGhha2UuDQo+PiBDYW4gd2UgYWRkIGEgZmxh
ZyhtYXliZSBuYW1lIGl0ICJtc2l4X2luaXRpYWxpemVkIikgdG8gc3RydWN0IHZwY2l7fT8NCj4+
IFRoZW4gaW4gdnBjaV9tYWtlX21zaXhfaG9sZSgpLCB3ZSBjYW4gZmlyc3QgY2hlY2sgdGhhdCBm
bGFnLCBpZiBpdCBpcyBmYWxzZSwgd2UgcmV0dXJuIGFuIGVycm9yIHRvIGxldCBtb2RpZnlfZGVj
b2RpbmcoKSBkaXJlY3RseSByZXR1cm4gaW4gdGhlIHByb2Nlc3Mgb2YgaW5pdF9oZWFkZXIuDQo+
PiBBbmQgaW4gdGhlIHN0YXJ0IG9mIGluaXRfbXNpeCgpLCB0byBzZXQgbXNpeF9pbml0aWFsaXpl
ZD10cnVlLCBpbiB0aGUgZW5kIG9mIGluaXRfbXNpeCgpLCB0byBjYWxsIG1vZGlmeV9kZWNvZGlu
ZygpIHRvIHNldHVwIHAybS4NCj4+IFRoZW4gd2UgY2FuIHJlbW92ZSB0aGUgcHJpb3JpdGllcy4N
Cj4gDQo+IE1heWJlIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgTVNJLVggY2FwYWJpbGl0eSBj
b3VsZCBiZSBkb25lIGFmdGVyDQo+IHRoZSBoZWFkZXIsIGFuZCBjYWxsIHZwY2lfbWFrZV9tc2l4
X2hvbGUoKT8gIFRoZXJlJ3MgYSBiaXQgb2YNCj4gcmVkdW5kYW5jeSBoZXJlIGluIHRoYXQgdGhl
IEJBUiBpcyBmaXJzdCBmdWxseSBtYXBwZWQsIGFuZCB0aGVuIGEgaG9sZQ0KPiBpcyBwdW5jaGVk
IGluIHBsYWNlIG9mIHRoZSBNU0ktWCByZWxhdGVkIHRhYmxlcy4gIFNlZW1zIGxpa2UgdGhlDQo+
IGVhc2llciBvcHRpb24gdG8gYnJlYWsgdGhlIGRlcGVkZW5jeSBvZiBpbml0X21zaXgoKSBpbiBi
ZWluZyBjYWxsZWQNCj4gYWhlYWQgb2YgaW5pdF9oZWFkZXIoKS4NCllvdSBtZWFuIHRoZSBzZXF1
ZW5jZSBzaG91bGQgYmU6DQp2cGNpX2luaXRfaGVhZGVyKCkNCnZwY2lfaW5pdF9jYXBhYmlsaXR5
KCkgLy8gYWxsIGNhcGFiaWxpdGllcw0KdnBjaV9tYWtlX21zaXhfaG9sZSgpDQoNClJpZ2h0Pw0K
DQo+IA0KPiBDb21wbGV0ZWx5IHVucmVsYXRlZDogbG9va2luZyBhdCB2cGNpX21ha2VfbXNpeF9o
b2xlKCkgSSBzZWUgdGhlIGNhbGwNCj4gaW4gbW9kaWZ5X2RlY29kaW5nKCkgaXMgcmVkdW5kYW50
LCBhcyBtb2RpZnlfYmFycygpIGFscmVhZHkgY3JhdmVzIHRoZQ0KPiBNU0ktWCByZWdpb25zIG91
dCBvZiB0aGUgQkFScy4NCj4gDQo+IFRoYW5rcywgUm9nZXIuDQoNCi0tIA0KQmVzdCByZWdhcmRz
LA0KSmlxaWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 09:43:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 09:43:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932306.1334455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzBfP-00031R-HJ; Mon, 31 Mar 2025 09:42:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932306.1334455; Mon, 31 Mar 2025 09:42: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 1tzBfP-00031K-Ep; Mon, 31 Mar 2025 09:42:51 +0000
Received: by outflank-mailman (input) for mailman id 932306;
 Mon, 31 Mar 2025 09:42: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=3Yzp=WS=desiato.srs.infradead.org=BATV+171935103c4216d80ca0+7890+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1tzBfN-00031E-E6
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 09:42:50 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e629c57-0e14-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 11:42:43 +0200 (CEST)
Received: from [172.31.31.145] (helo=u09cd745991455d.ant.amazon.com)
 by desiato.infradead.org with esmtpsa (Exim 4.98.1 #2 (Red Hat Linux))
 id 1tzBeq-00000006cS5-3h6m; Mon, 31 Mar 2025 09:42: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: 7e629c57-0e14-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; 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=qSbT7gVhavBqCvnIdHN+SsoJQ8QMGEQtBO+4V3PpiDk=; b=TnmWvfnkBylXteILU+DtV8DBPY
	6sFuBqY6SUlmMSrjsD+vIGgRIPW8XbETQievhQp8PPcpohOYQybmOx6BdGqswLsCpmW6ylWydb8vZ
	Bzbw1TvpcCJkUwn+ZCwSf9mU54/2uA23JhsUflODvDy+Z6xb4KDQvjE+bwxRKVk90tZJyp/ypsn2e
	YUnP+ZdrCMEnKMQ9d7ojUt7l0LYlMa1+ERL6ZiT/zq22aB5o1PSM3DL58pN49v9kv9k7boU5MzRvw
	LQJrX1bW5tO6nZKaQHTHpkL3CMPXm4jYcvMCUzC/qAXib8Br6gfGdXUG2IBqrLPDS+BuD38zA2ITk
	YD9LDtLg==;
Message-ID: <1ec5a55bdc828aeb17ecba19e50d45e5a0815ae2.camel@infradead.org>
Subject: Re: Using Restricted DMA for virtio-pci
From: David Woodhouse <dwmw2@infradead.org>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: linuxppc-dev@lists.ozlabs.org, Claire Chang <tientzu@chromium.org>, Rob
 Herring <robh+dt@kernel.org>, mpe@ellerman.id.au, Joerg Roedel
 <joro@8bytes.org>, Will Deacon <will@kernel.org>, Frank Rowand
 <frowand.list@gmail.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 boris.ostrovsky@oracle.com, jgross@suse.com,  Christoph Hellwig
 <hch@lst.de>, Marek Szyprowski <m.szyprowski@samsung.com>, 
 heikki.krogerus@linux.intel.com, peterz@infradead.org,
 benh@kernel.crashing.org,  grant.likely@arm.com, paulus@samba.org,
 mingo@kernel.org, sstabellini@kernel.org,  Saravana Kannan
 <saravanak@google.com>, xypron.glpk@gmx.de, "Rafael J . Wysocki"
 <rafael.j.wysocki@intel.com>,  xen-devel@lists.xenproject.org, Thierry
 Reding <treding@nvidia.com>,  linux-devicetree
 <devicetree@vger.kernel.org>, Nicolas Boichat <drinkcat@chromium.org>, Dan
 Williams <dan.j.williams@intel.com>, Andy Shevchenko
 <andriy.shevchenko@linux.intel.com>,  Greg KH <gregkh@linuxfoundation.org>,
 Randy Dunlap <rdunlap@infradead.org>, lkml <linux-kernel@vger.kernel.org>,
 "list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>, Jim
 Quinlan <james.quinlan@broadcom.com>,  Robin Murphy <robin.murphy@arm.com>,
 hch@infradead.org, Jason Wang <jasowang@redhat.com>, Xuan Zhuo
 <xuanzhuo@linux.alibaba.com>, Eugenio =?ISO-8859-1?Q?P=E9rez?=
 <eperezma@redhat.com>, virtualization@lists.linux.dev, graf@amazon.de
Date: Mon, 31 Mar 2025 10:42:16 +0100
In-Reply-To: <20250330173951-mutt-send-email-mst@kernel.org>
References: <20210209062131.2300005-1-tientzu@chromium.org>
	 <979b6a34ca5724ced1d4871b58bf227065d7da57.camel@infradead.org>
	 <20250321142947-mutt-send-email-mst@kernel.org>
	 <d1382a6ee959f22dc5f6628d8648af77f4702418.camel@infradead.org>
	 <20250330125929-mutt-send-email-mst@kernel.org>
	 <E3EE485D-AD74-457C-BDEC-F8C62DFE4909@infradead.org>
	 <20250330173951-mutt-send-email-mst@kernel.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-EfBIpG9vYqSFcVZ1I3yN"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html


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

On Sun, 2025-03-30 at 17:48 -0400, Michael S. Tsirkin wrote:
> On Sun, Mar 30, 2025 at 10:27:58PM +0100, David Woodhouse wrote:
> > On 30 March 2025 18:06:47 BST, "Michael S. Tsirkin" <mst@redhat.com> wr=
ote:
> > > > It's basically just allowing us to expose through PCI, what I belie=
ve
> > > > we can already do for virtio in DT.
> > >=20
> > > I am not saying I am against this extension.
> > > The idea to restrict DMA has a lot of merit outside pkvm.
> > > For example, with a physical devices, limiting its DMA
> > > to a fixed range can be good for security at a cost of
> > > an extra data copy.
> > >=20
> > > So I am not saying we have to block this specific hack.
> > >=20
> > > what worries me fundamentally is I am not sure it works well
> > > e.g. for physical virtio cards.
> >=20
> > Not sure why it doesn't work for physical cards. They don't need to
> > be bus-mastering; they just take data from a buffer in their own
> > RAM.
>=20
> I mean, it kind of does, it is just that CPU pulling data over the PCI bu=
s
> stalls it so is very expensive. It is not by chance people switched to
> DMA almost exclusively.

Yes. For a physical implementation it would not be the most high-
performance option... unless DMA is somehow blocked as it is in the
pKVM+virt case.

In the case of a virtual implementation, however, the performance is
not an issue because it'll be backed by host memory anyway. (It's just
that because it's presented to the guest and the trusted part of the
hypervisor as PCI BAR space instead of main memory, it's a whole lot
more practical to deal with the fact that it's *shared* with the VMM.)

> > > Attempts to pass data between devices will now also require
> > > extra data copies.
> >=20
> > Yes. I think that's acceptable, but if we really cared we could
> > perhaps extend the capability to refer to a range inside a given
> > BAR on a specific *device*? Or maybe just *function*, and allow
> > sharing of SWIOTLB buffer within a multi-function device?
>=20
> Fundamentally, this is what dmabuf does.

In software, yes. Extending it to hardware is a little harder.

In principle, it might be quite nice to offer a single SWIOTLB buffer
region (in a BAR of one device) and have multiple virtio devices share
it. Not just because of passing data between devices, as you mentioned,
but also because it'll be a more efficient use of memory than each
device having its own buffer and allocation pool.

So how would a device indicate that it can use a SWIOTLB buffer which
is in a BAR of a *different* device?

Not by physical address, because BARs get moved around.
Not even by PCI bus/dev/fn/BAR# because *buses* get renumbered.

You could limit it to sharing within one PCI "bus", and use just
dev/fn/BAR#? Or even within one PCI device and just fn/BAR#? The latter
could theoretically be usable by multi-function physical devices.

The standard struct virtio_pci_cap (which I used for
VIRTIO_PCI_CAP_SWIOTLB) just contains BAR and offset/length. We could
extend it with device + function, using -1 for 'self', to allow for
such sharing?

Still not convinced it isn't overkill, but it's certainly easy enough
to add on the *spec* side. I haven't yet looked at how that sharing
would work in Linux on the guest side; thus far what I'm proposing is
intended to be almost identical to the per-device thing that should
already work with a `restricted-dma-pool' node in device-tree.

> > I think it's overkill though.
> >=20
> > > Did you think about adding an swiotlb mode to virtio-iommu at all?
> > > Much easier than parsing page tables.
> >=20
> > Often the guests which need this will have a real IOMMU for the true
> > pass-through devices.
>=20
> Not sure I understand. You mean with things like stage 2 passthrough?

Yes. AMD's latest IOMMU spec documents it, for example. Exposing a
'vIOMMU' to the guest which handles just stage 1 (IOVA=E2=86=92GPA) while t=
he
hypervisor controls the normal GPA=E2=86=92HPA translation in stage 2.

Then the guest gets an accelerated path *directly* to the hardware for
its IOTLB flushes... which means the hypervisor doesn't get to *see*
those IOTLB flushes so it's a PITA to do device emulation as if it's
covered by that same IOMMU.

(Actually I haven't checked the AMD one in detail for that flaw; most
*other* 2-stage IOMMUs I've seen do have it, and I *bet* AMD does too).

> > Adding a virtio-iommu into the mix (or any other
> > system-wide way of doing something different for certain devices) is
> > problematic.
>=20
> OK... but the issue isn't specific to no DMA devices, is it?

Hm? Allowing virtio devices to operate as "no-DMA devices" is a
*workaround* for the issue.

The issue is that the VMM may not have full access to the guest's
memory for emulating devices. These days, virtio covers a large
proportion of emulated devices.

So I do think the issue is fairly specific to virtio devices, and
suspect that's what you meant to type above?

We pondered teaching the trusted part of the hypervisor (e.g. pKVM) to
snoop on virtqueues enough to 'know' which memory the VMM was genuinely
being *invited* to read/write... and we ran away screaming. (In order
to have sufficient trust, you end up not just snooping but implementing
quite a lot of the emulation on the trusted side. And then complex
enlightenments in the VMM and the untrusted Linux/KVM which hosts it,
to interact with that.)

Then we realised that for existing DT guests it's trivial just to add
the `restricted-dma-pool` node. And wanted to do the same for the
guests who are afflicted with UEFI/ACPI too. So here we are, trying to
add the same capability to virtio-pci.

> > The on-device buffer keeps it nice and simple,
>=20
> I am not saying it is not.
> It's just a little boutique.

Fair. Although with the advent of confidential computing and
restrictions on guest memory access, perhaps becoming less boutique
over time?

And it should also be fairly low-friction; it's a whole lot cleaner in
the spec than the awful VIRTIO_F_ACCESS_PLATFORM legacy, and even in
the Linux guest driver it should work fairly simply given the existing
restricted-dma support (although of course that shouldn't entirely be
our guiding motivation).

> > and even allows us to
> > do device support for operating systems like Windows where it's a lot
> > harder to do anything generic in the core OS.
>=20
> Well we do need virtio iommu windows support sooner or later, anyway.

Heh, good luck with that :)

And actually, doesn't that only support *DMA* remapping? So you still
wouldn't be able to boot a Windows guest with >255 vCPUs without some
further enlightenment (like Windows guests finally supporting the 15-
bit MSI extension that even Hyper-V supports on the host side...)

=20

--=-EfBIpG9vYqSFcVZ1I3yN
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDMzMTA5NDIx
NlowLwYJKoZIhvcNAQkEMSIEIJcN5NIl4yVSF0bj+SQFMx/p6FwYDTZf4b2ZfQZZJwIZMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAyvYxp+QlIsNz
Yvz9vEv1VxBd0WQgSyzQFpHD8W7SezYmEahcfap7IdP/EzCbxXVDgXL994pbIl+s69ECFHqNGCrK
liWDtmdC/0sdBfsDt1DpUNIxEfATQslqs45cc62dhL2gkgBtH5ABg28230T/GYMMg8juE+/lH7gB
sn6rFEuylquLSr9Wq/54SyQkFkNZylqB6q90AeZWhetV4Iv+UapP1xzHaiF6sW7m9lnRY/65EmGl
gAXEHLu5nPsadeD2NR/tL2hazmxsRykYa0ig/FlrtoIUV/QryTB1jltI4PCP1Xf6w4ZbH9UyFYMQ
NmH5TOwmzKLOwh4b1uz+P+5ba+RUL2e+MPKAMrkHXbfA6JZzok0UsKm7/Gk7u3/LcySoqGYFjGuT
RmC9Iv5tN8L2Z0x336qX2xKSKKB+192B0WZYpXlx4vsqZki26zwlV4Z981qmaN6DsHLOQVCcAnn6
wczLQ5ifFEI5y591Oxcz8yST7ZfudaNcv+9GwmBbkXlPIGpqdxyUvHBgTuxAhrM85MrNH8ANS4Mt
X4hAa72Qt5OjDaUWDOnktyE4s1iqaVg6I79czrNLGImW6veRpSzsEEy/8Ee2XUfkIlxxWOZZwSlO
dHV1i/aLqqdlLL2rhyU6Y4CDHddGWLCRN1SKYqoRH4uSvpi6yesrra0I8K1F5cIAAAAAAAA=


--=-EfBIpG9vYqSFcVZ1I3yN--


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 09:43:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 09:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932312.1334466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzBft-0003km-Ov; Mon, 31 Mar 2025 09:43:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932312.1334466; Mon, 31 Mar 2025 09:43: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 1tzBft-0003kf-Lz; Mon, 31 Mar 2025 09:43:21 +0000
Received: by outflank-mailman (input) for mailman id 932312;
 Mon, 31 Mar 2025 09:43: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=S+FP=WS=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1tzBfs-0003P3-8l
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 09:43:20 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20605.outbound.protection.outlook.com
 [2a01:111:f403:240a::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91f12af8-0e14-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 11:43:19 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by IA0PR12MB8228.namprd12.prod.outlook.com (2603:10b6:208:402::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 09:43:12 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%3]) with mapi id 15.20.8534.043; Mon, 31 Mar 2025
 09:43: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: 91f12af8-0e14-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ij3O87n2ApsfXv408FjSvlzg480KHWDFVUQYW3Z416Y6G72FGByF7liY8dGH7ygO3jghqB7MjhU6uUdDmChfS5PHEb6ux8nf0wELKwV9mVo3/kzTMgDPcgzZEoL6Ub+ZzXU6h8FVC+xGjDnqNsk6D3TsojTLYFk8tAq/atrm5KVkucYYcQzt+FKJlVzxqqEy7fMGQE01Tsqb/vYoZf4ITsInn0NHGe+5yc59pdRBf5rqwaKV/Elt7k2Zb88QXBmCQBOW9uH95oEZ6n3DlP+VEOcBbmkiKXy71uFAKVc0xfTRRh/KBjLvxTfNJugozKSQxzF83btipIS/d7cy+v2hHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jeZ+Txou6XM64CbE1kf0KZZnD4drDcm6FvhOFTB4RjI=;
 b=CnIkHvzKhYAljYthjjGCeLuV8ujx004pGEHhB+cgZv8kgYG7b8+SMChWFL1gk4aGrSH6ky23Up9ZveSZRL5C7JoohTRLO93VzwcJTADKMMgrsZHuyhk4JvG8Uf49juGC/4+vkk+w3yY8C5vgcFSIbv+H1tpNXa38LeFd7mWj/zDmofPky0J23V5zgrHGOCEY1iBiWDiKR6XOmN7yqjC2xJDhifpAR75yByUtVvEdqKEGX1jledPoGlXxrSZdvqsqUITINdeGqi1a1Hk9rF53QDOaFhb7z84wKmKMjrNHjQSQ2DII5C7SSPJp94LC1AoeHUJyWjMgDJbDXd9TMfPVPg==
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=jeZ+Txou6XM64CbE1kf0KZZnD4drDcm6FvhOFTB4RjI=;
 b=PBZplwhb2xstbo8jvRESvFEJTkjgcfsa1mD7ZVhi0h3wJdDgPpcp5B6yI/Xap2ndbz2hZR7MaN3RfFK8077wszJd7kn/MSoRCx0NVGlHIo1J8iNaKGJKqOsIK+RKXvf69iibW7Sgy/YzfysOHkKF2lCaRrc6ZaIesVnW8ulf5HU=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "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 v1 3/3] vpci/msi: Remove registers when init_msi() fails
Thread-Topic: [PATCH v1 3/3] vpci/msi: Remove registers when init_msi() fails
Thread-Index: AQHbnup+4g7LdxtjbkeTZtpJleytN7OG7gUAgAZ9hYD//4t/AIAAkUuA
Date: Mon, 31 Mar 2025 09:43:11 +0000
Message-ID:
 <BL1PR12MB58497148061E1287CF9E24CDE7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <20250327073214.158210-3-Jiqian.Chen@amd.com>
 <Z-VIFo7q7-UNsLCt@macbook.local>
 <BL1PR12MB584905BC9966EF9742FF4472E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <Z-pYJNyGieUqkVvl@macbook.local>
In-Reply-To: <Z-pYJNyGieUqkVvl@macbook.local>
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.8534.033)
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_|IA0PR12MB8228:EE_
x-ms-office365-filtering-correlation-id: 2bac095f-33f5-46c5-b3c3-08dd703873cc
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?Tjljd1l1a2xsMDhKMXF2WVFpbU5LenNGS1BxZ2hRZWJ3WlpONU9TK3JIaDQz?=
 =?utf-8?B?RkdXeXpxdjVnemVodFBaMnpsWCtJZXFoSE8wZ25zdHR2a0dLQzloOUFFMS90?=
 =?utf-8?B?aGkrTE8xb2p4K00rZVQwelNraDMrY3dZWm1hNlBHYTZjYUt5b0QrNUhMSHVu?=
 =?utf-8?B?M1dseEdld00xcGIwZmF4Wng4NTFNa1kzSzlyNUZaYTgrUjlDaUp5R3RlcGJk?=
 =?utf-8?B?OEtMSXE5eCtGZkIvVXFpMlEyMUxmdlVCdUFNSWpCaVBLc3FOL0Q3eE1YRjRk?=
 =?utf-8?B?amZyVEtBdGhoelRVc2RqMjdFeHZEMEJjUlFaNFhkaGJ0UGhxOFE3YkQvVVcw?=
 =?utf-8?B?VWJYQWVnNjRSRGw5N2Z4ME5uY250RXdRY0QyMVdPdVdtQXcyYmVSSVNsNkl0?=
 =?utf-8?B?N0g5RjhzUjNTemlmb0g0cXZwd3BCVDl2VXhGck5teG9idzVMVVhWTUNhTXZi?=
 =?utf-8?B?M21EazUydU9BeHhxa2ZXaHE2V3A5OGowNElGVFB5WUdKTHZBWGRkcVFwNmc0?=
 =?utf-8?B?NXZJRXJIYVhHcDNVVG5GNU5JM0VhVzFQemFPdWJyT2laQnhPOHZjSXlxRFNa?=
 =?utf-8?B?aXJpcUpEL1lPR1UzdzZFd010ZG5SVkdHS0R0RGg5ZGMrWDdFZEViZ2tXSEcv?=
 =?utf-8?B?YXBQKy9MUW5PWFZWbVNmK081RkduL3hLcWx5Q2U1KzlNUGFwcXNvbUNQZ0JK?=
 =?utf-8?B?N1pOL0ltNnJyRjhUTTVTYTZFQzA0d0dNMUZ2TTFQNTZrbXNITGtVL3ZCZXp5?=
 =?utf-8?B?QUl1d2svMmN2cE44ekgrNVdDM1pLOEo2NFloQWJkV2dBdW1OVmgwaHg3SDFU?=
 =?utf-8?B?ZWhIMi9IOEJ3SUVxVS9pWWk0aGF0U041clRsK1FoNE9FUmF5SFFCV1czbG9v?=
 =?utf-8?B?RytQbEVldHJ4WktuS1ZHU3FNUDR6OW1UaEdjcXVnQ3QrQ283M09kd1AwQ2tm?=
 =?utf-8?B?QWR0bnNSaldZSlFhWFN3QVUxMC9wTGR1VkhTQitDL2JLeVRsZTRoaGpoTGFC?=
 =?utf-8?B?ZXNYbHZPRTVLWWVseUlJcVRBTGdVcU4vTEdkaGNtYmNTRmtOQ3p2V0R5amMr?=
 =?utf-8?B?VFNWQWNBV01URGFWN0ZvVXJuTUxpdysybHRjckREQ0wyMmQ4SFRzenBEYitw?=
 =?utf-8?B?YXplQXdxYkVKUW1IaVJ5U1ZMajU2YThmWW9KQXpDNkQ5UGlCZmttcHAybzhX?=
 =?utf-8?B?M2tBTGV2MWs5SEVnR2VBRnN6anFNK1JUcG5Mc0I5M2RrMGcxOHE2SjlOdlBV?=
 =?utf-8?B?bHpjUHQxckplTW85YWhWVy9xVDFnWUFuQTE4R0VjOVd3dEliT1oxUWhSeEZW?=
 =?utf-8?B?Z01jYmNsN1Q1TGoyQkQ5dHA3ZHR5bFRmcFFUYnFUdFZ4V0pZaHZwYk8xNWVC?=
 =?utf-8?B?UURFSTNGOHJXV3Y2SHhwTXp6VGpRSDRMbDBUc0RZQi9yaGdsSE5RTUtqNEMv?=
 =?utf-8?B?Wk9OTFliZTJwWFk3U2hUYjlNRWZtZ1QzNG91MDlDbmRWQlFWNHB5anRjeWRk?=
 =?utf-8?B?MlZ5YVZOU0N4Y2hiYW5xN3RHUER1Y0cySlFianVnRHNlbG83L2dONERMQ3I4?=
 =?utf-8?B?dGcvdElRT0RCSXNCSC9FbHkyV2NFSlVtTi9BZ0hoSnB6VjhiUWN5Tlo5RlpW?=
 =?utf-8?B?akxzdHNHTUNIbkFaa1BRYmVMOVJxVnpvUW1qWnpobmlSVTAzZ3laTm9mR1FW?=
 =?utf-8?B?b0gzSFlTRy95Vjg2RXlOQWR6bG0zeXVQbDJXYjNrS2tJUFQyemduNnF5NGRw?=
 =?utf-8?B?bm90TzVCdUh5REdnTmNwT2NsK09kbmQ2dnZtb1MyTFpwdHFZa1lMeThraDFj?=
 =?utf-8?B?YW94WUt1V1JKWDNrejc4RXhuUEVZcUJxWjBEbldjTjlmUktKUEZ3dytGM2h1?=
 =?utf-8?B?UHJPMENtK2tNVkQwdmZEOWhTcjZYYWpHMTExL1R4bUJjdGFUdTM4eSthWE1v?=
 =?utf-8?Q?jszrJzNiJmFQkkA9RxilN5Pjslv2xvK9?=
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)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MElVSmtMOTZmdit6UHFHc3RFcllkU0dHdGZtdWtmV0haVjJGVSsvK0paTnJU?=
 =?utf-8?B?eUpmbzVuNFdwVzlyd0JoUXpUS24rTnN2YVVLanVOR1lVZkhTcGdyQVRPVndW?=
 =?utf-8?B?cDN0Sy9IL3laeGtlVUE5cFR2bFJnbEo0L0ZnTmNGS3FpOHg5QjBFSWNqcm9W?=
 =?utf-8?B?TTVoNHEybml1VGVqZzhDcUJPeEp6VkoxTWFtb25Lc1MvaG1SSThGU1FyeHlD?=
 =?utf-8?B?MllUeWEvemUzM3o3czI5aEVwL25heDQzWDFJam9HUWJVeXllTU1kVGlHa0cz?=
 =?utf-8?B?QTY0ZkV4bGFwVGZIcUV6VWZqMExMRUlpOFNZS1FkOVI5S0NmaDhNbmhZRDFZ?=
 =?utf-8?B?NmZvbTM3S0VRbWkzUUxEejdLS2d0SzhXTDNkQWt5aFR4NGVhcndGbWVWMUxI?=
 =?utf-8?B?VUo0R3dHbGNBSnl3R2RrenRkZmZxcTZUNUZ0ck9UKzFJWXdoeW9waXoweTM3?=
 =?utf-8?B?ckNCaVpTdjJDTm1BNGVQZWJTYTNEbitRVENMdmdodklSTmxRNG1PQmpsSWwv?=
 =?utf-8?B?VGx1MnJ4L3Rld2dGMkg2dFp0d2hDVlRVNlFKSzVVbHFnU0Z5STBNWk9pVVFp?=
 =?utf-8?B?NDFTWU51QjJmRWlHcFVOeXRSWURxeHZGTWlpMXVKWlBlR1NKdzFxNXYxR3Zo?=
 =?utf-8?B?bk10NFdKQ2UzalE5WjlwSEJveEh4Mm1JZUc3ZjRadVRsQmhjd1dEK3NDSFd2?=
 =?utf-8?B?dDhWSks0MUR2SVE0ZFBSdWtQNUFSc2ttZ1d6MUdYdFRQblRJUTFBWHhjalVF?=
 =?utf-8?B?bEVrZzMzc3JKbEdmVWljaW1aeU4weDl6dHFkbmNLZnZQa1VMODA5NHJlTktw?=
 =?utf-8?B?bTJ6d0FNcmNRRDI5dWVrd2ovU2RtSnJwOXhRekNFVTdteG0zUFNpN1lqM0t0?=
 =?utf-8?B?K0RVNkR0VXZQVm52V2I5RDlBTWlRcTdHRytScm9pYm9MRHRMeG1EZ05PS3pj?=
 =?utf-8?B?VXM2S1dRNGp3S05PcVZGTXpSVG1yeXJKQSs5amVYTXJkRmJJQnAra3hvaDBm?=
 =?utf-8?B?WVE1YmVPdW9RaTV4N1A3c3NBNjdXZjNKbzJYL3NMc0RYNWx4YXRHMmMvV3k0?=
 =?utf-8?B?NUI2dmtCV0VnTzdjK3gwK1NXckZZTnlwczRvbkVGb0duWHpFMjVDa2RwVVM0?=
 =?utf-8?B?Z0MzS0sweThzVEJld2RQZ3Y0ZmZuN25RTW80MnZUS1JzY20wd0YzTndETG9n?=
 =?utf-8?B?RGJXaGppMDBRNGhHNzBHOGp6ZzJvQlJtWDlWaXozc0NjUG4vbmQwWU1uWnZn?=
 =?utf-8?B?aURZYUVkMXhOeC9kNXA1b0YwaHZIQ2p0RjhJMmlpazZZdUNSZE1NdFdZK2Rp?=
 =?utf-8?B?TGNZY3BSSGxVanQxU1JLemV4M1B6amVWNlB2NWRLSWwwTmtvaFRxQXQ3aElV?=
 =?utf-8?B?ejcvTlNLZ1J0M01SeGMxTXVPV25lRUlMYnl1VktsZmFzTFp3SUZiNWJWVGxz?=
 =?utf-8?B?MUwvWmw2NDZMb1lVaDRGWDVyM2VRM3Q0eGpXRTgyL0l0OUpwekE3T0ZmWmw0?=
 =?utf-8?B?SUx0RHJjMUlNM3pzZmdsVUJFSHQwU25MK2hOcERFRHQxblBZaHB6RVowT0N4?=
 =?utf-8?B?L2UxOEJZQVFCUzBhOTlUZUdhUDJTZnlad3B1MkV6TnNRbzdua2p5eSs0ZnZk?=
 =?utf-8?B?SDlsYTdhV2dWbGtUNytlUU9IYkNUQUhvWUNTZm5HcmVIL0hjaHg0MGdlaG93?=
 =?utf-8?B?L1RiQUxkWTR4RDhaRmRrU1I1UGxYdHBzS1RWeWU4NkFEZ1VDcERQNW1QQXh0?=
 =?utf-8?B?d2c3ZDc0QWJFWGRKM1QySFV0QXJqME9NcHlOUHFNMDA2aDkyZDhmUmZpK1FF?=
 =?utf-8?B?anNldU5aLzNBeTFaZUNnbGZvZk5jb2VDNHVnSndOa2RhQ2VhMWJPZEVkZGtv?=
 =?utf-8?B?RitVNjl1NW02enNEOGQvbnNtREhTK25KNlE4eE81bGZhU1prUlk0YVUvMWlX?=
 =?utf-8?B?bGdSdFh2NHBaZkFNMXBNM0U3TktuaHJVV1RMblN3cWd1SU9yVFQyOE9sYll2?=
 =?utf-8?B?dFA5VkQwdHZZWTRhZXVHbmQvMS95NG5QWEFIUnMvMENaQitRRjBIeGtmekYv?=
 =?utf-8?B?NmVrWG5LZzQ2SFY3VEk4ZWdIOWJ3WStJeEFjOEJKUzRVb3dXZ1dqOHRNNDVL?=
 =?utf-8?Q?jplY=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <56BFB20AFD84524693111D6C257934E0@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: 2bac095f-33f5-46c5-b3c3-08dd703873cc
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 09:43:11.9267
 (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: W2k9tWBobBB1xlWEBGkWE6j1e8fOCV17F91GOxiDhiu9SNslIXcdEbQIsxWOPIzK1HVFXp/uMzQzhHt3nMHZWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8228

T24gMjAyNS8zLzMxIDE2OjUzLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBNb24sIE1h
ciAzMSwgMjAyNSBhdCAwODoxMzo1MEFNICswMDAwLCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+PiBP
biAyMDI1LzMvMjcgMjA6NDQsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+Pj4gT24gVGh1LCBN
YXIgMjcsIDIwMjUgYXQgMDM6MzI6MTRQTSArMDgwMCwgSmlxaWFuIENoZW4gd3JvdGU6DQo+Pj4+
IFdoZW4gaW5pdF9tc2koKSBmYWlscywgdGhlIG5ldyBjb2RlcyB3aWxsIHRyeSB0byBoaWRlIE1T
SQ0KPj4+PiBjYXBhYmlsaXR5LCBzbyBpdCBjYW4ndCByZWx5IG9uIHZwY2lfZGVhc3NpZ25fZGV2
aWNlKCkgdG8NCj4+Pj4gcmVtb3ZlIGFsbCBNU0kgcmVsYXRlZCByZWdpc3RlcnMgYW55bW9yZSwg
dGhvc2UgcmVnaXN0ZXJzDQo+Pj4+IG11c3QgYmUgY2xlYW5lZCB1cCBpbiBmYWlsdXJlIHBhdGgg
b2YgaW5pdF9tc2kuDQo+Pj4+DQo+Pj4+IFRvIGRvIHRoYXQsIHVzZSBhIHZwY2lfcmVnaXN0ZXIg
YXJyYXkgdG8gcmVjb3JkIGFsbCBNU0kNCj4+Pj4gcmVnaXN0ZXJzIGFuZCBjYWxsIHZwY2lfcmVt
b3ZlX3JlZ2lzdGVyKCkgdG8gcmVtb3ZlIHJlZ2lzdGVycy4NCj4+Pg0KPj4+IEFzIEknbSBqdXN0
IHNlZWluZyAzIHBhdGNoZXMgb24gdGhlIHNlcmllcywgaXNuJ3QgdGhlcmUgb25lIG1pc3NpbmcN
Cj4+PiBmb3IgTVNJLVggYXQgbGVhc3Q/DQo+PiBObywgYmVjYXVzZSBpbml0X21zaXggb25seSBj
YWxsIHZwY2lfYWRkX3JlZ2lzdGVyIG9uY2UsIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVtb3ZlIHJl
Z2lzdGVycyB3aGVuIGl0IGZhaWxzLg0KPiANCj4gU2VlbXMgYSBiaXQgZnJhZ2lsZSwgd2hhdCBh
Ym91dCBpZiB0aGVyZSdzIGZ1cnRoZXIgY29kZSBhZGRlZCB0bw0KPiBpbml0X21zaXgoKSB0aGF0
IGNvdWxkIHJldHVybiBhbiBlcnJvciBhZnRlciB0aGUgdnBjaV9hZGRfcmVnaXN0ZXIoKQ0KPiBj
YWxsPyAgSXQgd291bGQgYmUgc2FmZXIgdG8gaGF2ZSBhIGNsZWFudXAgZnVuY3Rpb24gdGhhdCBy
ZW1vdmVzIHRoZQ0KPiBjb25maWcgc3BhY2UgaGFuZGxlcnMsIHBsdXMgdGhlIE1NSU8gb25lIChz
ZWUgdGhlIGNhbGwgdG8NCj4gcmVnaXN0ZXJfbW1pb19oYW5kbGVyKCkpLCBhbmQgdGhlIGFkZGl0
aW9uIHRvIHRoZQ0KPiBkLT5hcmNoLmh2bS5tc2l4X3RhYmxlcyBsaXN0Lg0KSSBhbSBvbmx5IHRh
bGtpbmcgYWJvdXQgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgaW5pdF9tc2l4KCksIHdo
aWNoIGRvZXMgbm90IG5lZWQgYSBjbGVhbnVwIGZ1bmN0aW9uLg0KQnV0IGlmIHlvdSB3YW50IHN1
Y2ggYSBmdW5jdGlvbiwgZXZlbiBpZiBpdCBpcyBub3QgbmVlZGVkIG5vdywgSSB3aWxsIGFkZCBp
dCBpbiB0aGUgbmV4dCB2ZXJzaW9uLg0KDQo+IA0KPj4+DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEpp
cWlhbiBDaGVuIDxKaXFpYW4uQ2hlbkBhbWQuY29tPg0KPj4+PiAgDQo+Pj4+ICAgICAgaWYgKCBw
ZGV2LT52cGNpLT5tc2ktPm1hc2tpbmcgKQ0KPj4+PiAgICAgIHsNCj4+Pj4gKyAgICAgICAgb2Zm
c2V0ID0gbXNpX21hc2tfYml0c19yZWcocG9zLCBwZGV2LT52cGNpLT5tc2ktPmFkZHJlc3M2NCk7
DQo+Pj4+ICAgICAgICAgIHJldCA9IHZwY2lfYWRkX3JlZ2lzdGVyKHBkZXYtPnZwY2ksIG1hc2tf
cmVhZCwgbWFza193cml0ZSwNCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bXNpX21hc2tfYml0c19yZWcocG9zLA0KPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT52cGNpLT5tc2ktPmFkZHJlc3M2NCksDQo+Pj4+
IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsIHBkZXYtPnZwY2ktPm1zaSk7DQo+
Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCwgNCwgcGRldi0+dnBj
aS0+bXNpKTsNCj4+Pj4gICAgICAgICAgaWYgKCByZXQgKQ0KPj4+PiAtICAgICAgICAgICAgcmV0
dXJuIHJldDsNCj4+Pj4gKyAgICAgICAgICAgIGdvdG8gZmFpbDsNCj4+Pj4gKyAgICAgICAgcmVn
aXN0ZXJzW3JlZ19pbmRleF0ub2Zmc2V0ID0gb2Zmc2V0Ow0KPj4+PiArICAgICAgICByZWdpc3Rl
cnNbcmVnX2luZGV4KytdLnNpemUgPSA0Ow0KPj4+DQo+Pj4gQXMgY29tbWVudGVkIG9uIHRoZSBw
cmV2aW91cyBwYXRjaCwgSSBkb24ndCBsaWtlIG11Y2ggdGhlIHVzYWdlIG9mDQo+Pj4gdGhpcyBy
ZWdpc3RlcnMgYXJyYXkgdG8gc3RvcmUgd2hpY2ggaGFuZGxlcnMgaGF2ZSBiZWVuIGFkZGVkLiAg
SXQNCj4+PiB3b3VsZCBiZSBiZXN0IGlmIHlvdSBqdXN0IHJlbW92ZWQgZXZlcnkgcG9zc2libGUg
aGFuZGxlciB0aGF0IGNvdWxkIGJlDQo+Pj4gYWRkZWQsIHdpdGhvdXQga2VlcGluZyB0cmFjayBv
ZiB0aGVtLg0KPj4gTWFrZSBzZW5zZSwgaXQgd2lsbCBpbmRlZWQgYmUgc2ltcGxlciBpZiBpdCBp
cyBmaW5lIHRvIHJlbW92ZSBhbGwgcG9zc2libGUgcmVnaXN0ZXJzLg0KPj4NCj4+Pg0KPj4+IFRo
aW5raW5nIGFib3V0IGl0LCBkbyB3ZSBtYXliZSBuZWVkIGEgaGVscGVyIHZjcGkgZnVuY3Rpb24g
dGhhdCB3aXBlcw0KPj4+IGFsbCBoYW5kbGVycyBmcm9tIGEgc3BlY2lmaWMgcmFuZ2U/ICBJIHRo
aW5rIGl0IGNvdWxkIGJlIGhlbHBmdWwgaGVyZSwNCj4+PiBhcyB0aGUgc2l6ZSBvZiB0aGUgY2Fw
YWJpbGl0aWVzIGlzIHdlbGwta25vd24sIHNvIG9uIGVycm9yIGl0IHdvdWxkIGJlDQo+Pj4gZWFz
aWVyIHRvIGp1c3QgY2FsbCBzdWNoIGEgZ2VuZXJpYyBoYW5kbGVyIHRvIHdpcGUgYWxsIGhvb2tz
IGFkZGVkIHRvDQo+Pj4gdGhlIHJlZ2lvbiBjb3ZlcmVkIGJ5IHRoZSBmYWlsaW5nIGNhcGFiaWxp
dHkuDQo+PiBCdXQgSSBhbSBub3Qgc3VyZSBpZiB0aGF0IGhlbHBlciBmdW5jdGlvbiBpcyBzdWl0
YWJsZSBmb3IgYWxsIGNhcGFiaWxpdGllcy4NCj4+IExpa2UgUmViYXIsIGl0cyBzdHJ1Y3R1cmUg
Y2FuIHJhbmdlIGZyb20gMTIgYnl0ZXMgbG9uZyhmb3IgYSBzaW5nbGUgQkFSKSB0byA1MiBieXRl
cyBsb25nKGZvciBhbGwgc2l4IEJBUnMpLg0KPj4gSWYgYSBkZXZpY2Ugc3VwcG9ydHMgUmViYXIg
YW5kIG9ubHkgaGFzIGEgc2luZ2xlIHJlc2l6YWJsZSBCQVIsIGRvZXMgaGFyZHdhcmUgc3RpbGwg
cmVzZXJ2ZWQgdGhlIHJhbmdlIGZyb20gMTMgYnl0ZXMgdG8gNTIgYnl0ZXMgZm9yIHRoYXQgZGV2
aWNlPw0KPiANCj4gTm8sIHdlIHdvdWxkIG5lZWQgdG8gZmV0Y2ggdGhlIHNpemUgb2YgdGhlIGNh
cGFiaWxpdHkgaW4gdGhlIGNsZWFudXANCj4gZnVuY3Rpb24sIG9yIGZpZ3VyZSBpdCBvdGhlcndp
c2UuICBOb3RlIHRoZSBzYW1lIGFwcGxpZXMgdG8gTVNJDQo+IGNhcGFiaWxpdHksIHdoaWNoIGhh
cyBhIHZhcmlhYmxlIHNpemUgZGVwZW5kaW5nIG9uIHdoZXRoZXIgNjRiaXQNCj4gYWRkcmVzc2Vz
IGFuZCBtYXNraW5nIGlzIHN1cHBvcnRlZC4NCkdvdCBpdCwgSSBvcmlnaW5hbGx5IHRob3VnaHQg
eW91IHdhbnRlZCBhIGdlbmVyYWwgaGVscGVyIGZ1bmN0aW9uLg0KQnV0IGl0IHNlZW1zIHRoZSBj
YXNlIGlzIGVhY2ggY2FwYWJpbGl0eSB3b3VsZCBoYXZlIGl0cyBvd24gc2VwYXJhdGUgY2xlYW51
cCBmdW5jdGlvbiBpbnN0ZWFkLg0KDQo+IA0KPj4gSSBtZWFuIGlmIEkgcmVtb3ZlIHRoZSByZWdp
c3RlcnMod2l0aCByYW5nZSAxMyB0byA1MiksIGlzIGl0IHBvc3NpYmxlIHRoYXQgSSBkZWxldGVk
IHJlZ2lzdGVycyBiZWxvbmdpbmcgdG8gb3RoZXIgYWJpbGl0aWVzPw0KPiANCj4gSXQgaXMsIGlu
ZGVlZC4gIFlvdSBuZWVkIHRvIGtub3cgb3IgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZQ0KPiBj
YXBhYmlsaXR5IHRvIGJlIHJlbW92ZWQsIGJ1dCB0aGF0J3MgbGlrZWx5IGVhc2llciBhbmQgbW9y
ZSByb2J1c3QNCj4gdGhhdCBrZWVwaW5nIGFuIGFycmF5IHdpdGggdGhlIGxpc3Qgb2YgYWRkZWQg
cmVnaXN0ZXJzPw0KUmlnaHQuDQoNCj4gDQo+IFRoYW5rcywgUm9nZXIuDQoNCi0tIA0KQmVzdCBy
ZWdhcmRzLA0KSmlxaWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 10:14:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 10:14:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932340.1334476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzC9X-0008RG-5r; Mon, 31 Mar 2025 10:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932340.1334476; Mon, 31 Mar 2025 10:13: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 1tzC9X-0008R9-2c; Mon, 31 Mar 2025 10:13:59 +0000
Received: by outflank-mailman (input) for mailman id 932340;
 Mon, 31 Mar 2025 10:13: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=oDqH=WS=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1tzC9V-0008R3-6r
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 10:13:57 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20604.outbound.protection.outlook.com
 [2a01:111:f403:2418::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9745451-0e18-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 12:13:54 +0200 (CEST)
Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22)
 by DS7PR12MB5862.namprd12.prod.outlook.com (2603:10b6:8:79::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8534.44; Mon, 31 Mar 2025 10:13:50 +0000
Received: from BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13]) by BN9PR12MB5273.namprd12.prod.outlook.com
 ([fe80::cf66:58ab:47be:4b13%5]) with mapi id 15.20.8534.045; Mon, 31 Mar 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: d9745451-0e18-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nyI00S8lKWr9Cr1sE0XyHMuCW/X4Wr0BRVbKOa6qRg4eucAQzOY+lXX/QalX59KgzFLMivWH8BCkU7+fn7FSyHBbAyrKl89xWS1lHm3+Q7ZprzKHs13RvsMHQSAuSZz5HBskpALd78Lnz4j0FqogMMoxdMPQcm/ZX7m6LKpzsNF8kFLIagEYTFVPLNsEk0QGosubjPSbSFNEEU0dmfRn2ArJRdOP6ZW0Ex42mPZ2Mc/76mkRVdnEGFl+LH7Trc3w/GksopbNN9AYpo12XROlme0gtkOHwlGyL8Ra14Zlo0BkJU8AJ8OKkltTrWqDSlGvj6GYiU8ORtdeNWDN950Phg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3gnSdGMw+hEkwHuyvweyW+eCweHLS4KYY0CQgsha/2g=;
 b=tqeObmkPLq1eT9neDKDCmBxYSUE9UBcAtiRRGZCAj+fglsF3EQsUF4ESX5doQWtSMAV1fmhq3yKH0ntZirN72C3BaAvoA0iRIpaLUjGXUK2BXmiET6eFjTVvktzFMwGWQYJf1PuX/xb2HhgLqGLBeTyUDxsBZiS8KJK6yjxoF9oIEm+pDYvxiD1LyOmM6SG8UOlqMcVqKNJ9IaVdnA5B9fONsEHMm3ET158YIab3mnbQ6iZXep4dt5Xh7PnYLsjq7bBvhXgB/CKdBI2HTGnshLEJod+Swp1b6ACpBV6h5bVTxJgWj2Omfrzhag+kBLLG+C6mW+PbMLI6IQhtRThakw==
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=3gnSdGMw+hEkwHuyvweyW+eCweHLS4KYY0CQgsha/2g=;
 b=LTylMvHa6VM+GKocIkdPRatetoSq6J/HDu721NUMl/xYPfTx+SncCmcwUCf6pOkNq+Wp1K2mYWlJsX6zRLWBfQ/JVa8zOR/DKdf+vAyWUgiZli4IwnuWSqTm4I49mD5ntT3HjR5RoKEZU5exmVaDHt9L3xlRQA7gKZUoGdxJDS4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ad4eaef1-fb63-4eed-8024-3c234e60c3e2@amd.com>
Date: Mon, 31 Mar 2025 12:13:46 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/5] Enable early bootup of Armv8-R AArch32 systems
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0167.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::8) To BN9PR12MB5273.namprd12.prod.outlook.com
 (2603:10b6:408:11e::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR12MB5273:EE_|DS7PR12MB5862:EE_
X-MS-Office365-Filtering-Correlation-Id: dea2810f-9543-45f1-10dd-08dd703cbb2a
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?cjhZa1R2OW9PaWVRclZoVGNTQzhQRWxpbFI3MFNKaGpGamd4cjVzTmRQbFpi?=
 =?utf-8?B?YUhxMFdoNGtzWUg2US9JWGhXWXVFemVXTlE3WTVnaHpORnBrTm9EYURnQ2RV?=
 =?utf-8?B?MFFtMXJiVDJnSGpES0xxTjN1VndlTjRHeEtTSkQrcEI2QzE4OVBvNFJjOVFT?=
 =?utf-8?B?aGpIc01FY2JlNTFjbndhaUtUKzNLMzJTdjdXeUxxYnlnM0x6WkZSTjVGOHk5?=
 =?utf-8?B?c0dmUDBQM1g1eVFxYlpNWTdFOVBKVk44SUZ6S0RWSU9jdDdpUTFvMUJ0NGZt?=
 =?utf-8?B?UmhLMnhUdU9CVVhkR2pUZ0lEdGJVRzVQUXZhVUtjYTcrSS90VFpNL1l0eWdJ?=
 =?utf-8?B?a1BOZGsweWcwQ2ZTZllHSHNGamtKYy9LSk5ZSG9KOWQ1a1J2QkFtMHJYMnls?=
 =?utf-8?B?L0k3QjdBbEY0bVdYSGgvMGZBWG4zdi9jM1ZOTFNOa3gzeE44MnBjclU2a2N4?=
 =?utf-8?B?NnZQVHZQNHdSem41WlUzUzM2dG5MOTJYOFVZOUJKOGx6dmo0NklRdXVob0JP?=
 =?utf-8?B?Z3l0MTFGeXZuZVFDd3BQYnlsbTdlR3FsUzJvSEU1RTF3T3k2SEFXMnBxK0Mz?=
 =?utf-8?B?VEVJUGFRcjFjWEtGOTNBaVZSYU0rUWQyMnRvODFvcE92STd5NHQydHB3VE9X?=
 =?utf-8?B?cXk5TDBUd0d4RGJ4NTFOYkZ4LzhJM1lUMVV4Z1ZLUVRycXdRWFdUQUliR2xU?=
 =?utf-8?B?UXRBdmFza1pheXp3ZkpZdVlYTCtzTDVVN2VCdkJFQS84dnBCay9hSFFFd3gz?=
 =?utf-8?B?UWR6V0FraWd2VEUxdENqYUU1Sk9nZVFaTTB6MEFxQlpnbERaaHFTMjZNTVlE?=
 =?utf-8?B?T2NHemxzYVRnbllaclp4U2hiZnV0SFBRVWVFenI1MWJZazA4ckRncklyQXAx?=
 =?utf-8?B?K3d3NEtaZExBbGxIbTlyVU1idGNHc21TZVNHck1sMlZPSnUzSjJ0MnEyK0J3?=
 =?utf-8?B?V1NFa3hZM01PN3JWSTl2d1ZRWHh5aHErYVlBZC9CZmd5MndiVDFrRDBIYTJT?=
 =?utf-8?B?WkEzWlZtUlhBbUg3MVhEalRZcG9ub0d4M2VIWU9Zbk0rcExmbjdIVm1FaXl3?=
 =?utf-8?B?VVJBWnFDMm5OMkZpeGNjSE4vOUVMOVhSRlh1NS9mREluSHVEaExYOU9pcys4?=
 =?utf-8?B?NnE2aFE0Z2dUM29xZmpPaWc3ZDBhK1F5MmVNMklrdU53c2UwNDJRUE1WOWdq?=
 =?utf-8?B?aTF5WFZXVVlYMHBJbmdYZnMvaEhnYnJtRzdHYzBkYnZCYzFtM2QxV2NoQkpF?=
 =?utf-8?B?RFUrVjliVGg3dVNacDJrcHJpVDdmSXcwaXh6aVlsSjkyZlVENnVMMUREWENl?=
 =?utf-8?B?NHRGeXJTUlI0Nld6bVp5VjVCcm5ueDlSUzd6bGFqQWNJY1VxMVJyMm5WdHdF?=
 =?utf-8?B?aVVhNW0zeU1XZThBY2NDUUEvZ3hTUGVWL0pKNFcyZkZJUU4yUmtRWlIyY2RI?=
 =?utf-8?B?bzZaSHBacUwxOC8yRDN6MitoUWNDZ2k4UEVpdFFWdjB2SjhFWDBSdE9YYURi?=
 =?utf-8?B?d0RnUFdHejd4YkFkTW9sRGpUSitOSythZlhEaCthRHZUOEx0Vk5HelhUMGFz?=
 =?utf-8?B?bGRaM01reVNjcFVoaWxYY3lBK2tzYTZKd3pIZGt5RlY3TVlINXMrK1BvY1VF?=
 =?utf-8?B?UXduT3ZURFBJWHdhdjBCdlN0K09jWjdkWmFGWFYzaDNuMWRKTWhBL3hRMk1G?=
 =?utf-8?B?OUdvRWN3NjlheWtpSzZweGlDZHBoaG81OFRtVFpKYmNuQ0lONmF4cTdSREQ4?=
 =?utf-8?B?bnNmci91RGZCaGNnZHRKMjZOS1kvQ21xWko5NS83WjRYclBpbloyT0daNXpO?=
 =?utf-8?B?VTdhVDEzL1huWnloTStDaG9XTnA3d0dtNGRqM2dsV2dCd3lzQUkwMG9xNmtT?=
 =?utf-8?Q?CDvLSE8cCyXjY?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5273.namprd12.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?QUJpcHBOSGZheGVkMFRhTW53WUlKamRiU2ptKzFmSncxM1hUYWlicFJqT0NX?=
 =?utf-8?B?bGF5ZUwveGhLbXBuNGgyUzQrQ1NibE1ZdGtva0RCVUR5Qzk3cHlZUCtjcHFy?=
 =?utf-8?B?R3laZDFIQ2pwZmtURVNMYisxZGZ3bTFSRmJLSUpsWHppbzI1YW8rRENkdzFl?=
 =?utf-8?B?WHQ0VDFUNDlpaS9mbjkwQ0hJY2VYNk5MeWNPZER2aUJxcCsrUEtLWFUvakpB?=
 =?utf-8?B?VWhob3FRQ015RkUvZnBnNmFRaE5lVzNCVk9HemY5SW4xVFNRODVHOGhvajJ6?=
 =?utf-8?B?TEl3K25ESmVreko4N2hxNjc0cEhENVJvbHlvVXBKcGEzR2RrdkloNldEa3hr?=
 =?utf-8?B?ZC9rWUQyOGFPR3Z6QnBOVmxRUEI1VmNTZTdZeDB6c0pKTVZ5UUtwQkZuQnpP?=
 =?utf-8?B?TjI2ZkpDVWpsTEp5QmhGZFNIUzZoK1NMRVBRbUpqS0RIMjJnN3h6d1A4K21p?=
 =?utf-8?B?NDF2QVRKNFpSeEJTdTBtWlpodkpDTGUyQm01OGpUWlN3bXc5dkFMUko0NDM3?=
 =?utf-8?B?RnpyKzZod2thQU81U1grK21YendiaTZpRmErdlUxUjJwcm4va28vaUoxSnN1?=
 =?utf-8?B?bXd3bUIzWmU1akxGME56U0U3bUc1eEh0czNUejIxaDI2c1lOcW9PUVg0N3Yw?=
 =?utf-8?B?Mk1OWmxYUVozUUFvMmhQTkZZVDBTekJIMUlaMHp1OHZ1MzZyckx1ejNjdHhJ?=
 =?utf-8?B?SWY5clJXS3pDcm50NHluaFBtS253amtGSit6anFuV1RTRXIrRG1wTG5OdWMx?=
 =?utf-8?B?c0FqN0Z5czBuOGxvNmhzUjVnZWZLZmdKbmZWVjRka0szMlFDTzlHZUc2TWRu?=
 =?utf-8?B?QTRKeXY5L2lXUmxWcHNMb2V1clpuZ3E2MkRmTkNiWER3RXJnNFB2SVVRQXow?=
 =?utf-8?B?djg0eGRHdTl6TzZHUTgzR2pJY2NCY2NGTnVieUNXT1hDK1ZwZVVWRFlCK1Vh?=
 =?utf-8?B?M0xDbzdjZjhsVGtTeC9pU0lhVDJJQ1ZEQ1lCRk95STJuQjBZeEZKSmJMQTF1?=
 =?utf-8?B?ZWY2VERxV1d1SUliNmhLQ0k3N2lieWpzc1Zzd2sxbkJialpJYTBLZHQ5OUtz?=
 =?utf-8?B?SnZSYnA5R0NtbTNnTnVkY0pzMDQ4bTJiZ3hXTWtMVVJpZ0hCR0NHZTljcXBK?=
 =?utf-8?B?SGQrZDhjWHd3UzlkRzZwRFpKYXl5NjBnRHR3amhqYWpGSHdkYjNVZWVKRDEr?=
 =?utf-8?B?MkRTTHNPcEpvOUhXN3dFc0JIQmt2Z1lIRTlkOXlkd1lFa3MzNmZGcWtYK2Qw?=
 =?utf-8?B?RzRDNlRxbCtrUktzbVJDa1ZBWlIzajBlNiszeGJ6di9UTzJLL0p3VDlrc3Fo?=
 =?utf-8?B?TTJUelpKMTVwT2szd09icXk2dmtydU1KVERZNVV4M0krZHAzSHI1akJlZ0x5?=
 =?utf-8?B?MkFlQXhOQ3YrYzBac0ZCdExHM0x1ekFYM2ZIVFdoOFYwZmFvVWNLaElXWHdm?=
 =?utf-8?B?dytwc0U4dXJQak5EZGROdGdBQTNucHFTdXZMVFhMQktZMGszaTU5Q05DVmFq?=
 =?utf-8?B?UmNEWlFnd1hlUDdISExUSjVIemFDM3pEczdoNkx2dEJGcm9BODRNemp3QVB2?=
 =?utf-8?B?K1M0eFJqcFUxbTNmWE1NN2t2OWk0K0o1eldUdDdPYUdOc1Z2OTdBOXhLN2hG?=
 =?utf-8?B?ZkpDeU5UcUxtWHpidUQzcXNwWFp4TVFLSWxhMjV5WFRCMVV3REhiUzJTaW00?=
 =?utf-8?B?L1FKWkVKeEhwc2duaUMrMU4wWmlDTEx6Qk1FNnROMDF5aFJyRWNSdkIrb3VV?=
 =?utf-8?B?Q1FaNlpFRzc3bkRjMndNR09wd2tRdlFoMDlBZnJQS1lGT0NjS0o2b1JMdzBG?=
 =?utf-8?B?SUh5Y290NzVEK05DZXBOWW0zSCtLYmszRWtKS1dKOTdKRFNtbGQrdXZyY2NC?=
 =?utf-8?B?L3YrV0J1RjM4cjdFMDNxTnZ5YXNtZFRKZTQ5Q1E3WU1rRExSZkhGTk1SbU9B?=
 =?utf-8?B?RHoxditQUzRmN2g4ekhGTWI2WFFGK0NkbXhPMUF4L1VMM2ZJYk5sRmY1MWJE?=
 =?utf-8?B?MndsV1RrbHdCczhJNWVNYzFaVnluSWNBc3Q1dTExZi8yWjI3NmdTMHpBM0RH?=
 =?utf-8?B?YzFkMlNvVjVUczlpc0tNdnhScWhJbzdwVDNpWE9RU0ZqZWUvTzJsNGU4Nm1W?=
 =?utf-8?Q?bbX/CR00cF55BTNBtEEyUED65?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dea2810f-9543-45f1-10dd-08dd703cbb2a
X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 10:13:49.8958
 (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: cCejyc59AAaKrwfZplLty4wfMipowVJnKoy9TyfavvvxBPsJuHeEUfXpbFvv9Q0y
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5862



On 30/03/2025 20:03, Ayan Kumar Halder wrote:
> Enabled early booting of Armv8-R AArch32 based systems.
> 
> This patch serie with
> https://patchwork.kernel.org/project/xen-devel/cover/20250316192445.2376484-1-luca.fancellu@arm.com/
> will enable build on Xen on Armv8-R AArch32 for MPU.
> 
> Patches 1-4 can be applied independently.
> Patch 5 depends on Luca's series.
> 
> Changes from :-
> 
> V1, v2 - Added "xen/arm32: mpu: Stubs to build MPU for arm32" to build Xen for
> Armv8-R AArch32 on top of Luca's series.
> 
> Ayan Kumar Halder (4):
>   xen/arm32: Move MM specific registers to enable_mmu
I committed this patch and ...

>   xen/arm: Move some of the functions to common file
>   xen/arm32: Create the same boot-time MPU regions as arm64
>   xen/arm32: mpu: Stubs to build MPU for arm32
> 
> Michal Orzel (1):
>   xen/arm32: Allow ARM_PA_BITS_40 only if !MPU
this one.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 10:17:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 10:17:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932354.1334486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzCDD-0000xY-KY; Mon, 31 Mar 2025 10:17:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932354.1334486; Mon, 31 Mar 2025 10:17: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 1tzCDD-0000xR-Hm; Mon, 31 Mar 2025 10:17:47 +0000
Received: by outflank-mailman (input) for mailman id 932354;
 Mon, 31 Mar 2025 10:17: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=g2Hv=WS=kernel.org=mingo@srs-se1.protection.inumbo.net>)
 id 1tzCDC-0000xL-Ab
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 10:17:46 +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 620e6648-0e19-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 12:17:44 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id EA6C5439BC;
 Mon, 31 Mar 2025 10:17:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 515D5C4CEE3;
 Mon, 31 Mar 2025 10:17:33 +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: 620e6648-0e19-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743416262;
	bh=OnEcQ86N1b/nWwzloNbMBTvRyH+I2tQtz+Iwgl9ovf8=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=N1su6OlesOh1iys2BALYaqexBKG7IcFqHgPaafBKTCbyQo6geGjhLQKz7O0OcoXvT
	 YQIpzmw1tQSWTsF9vwtzrlcdIcF7KcjPFAwykaVs903WQhoAu/+qZ7Ggeiwe7IRAvi
	 Y8aEbjENC3F1wRSXqHhXFrzi6g01c1oFTHI0YEi4v3pDcQrlIYk7ErbPRAXMN1Gvnt
	 gSg2xKJSTtBhyue1C7dnSzI120JEcG6dtEm9tY06MaoOdl/kTFn/fkjNUhbHm5WCdt
	 7HMZ5EnAV1JEKUK7IsVxDNhULSyJAaVCFvsuIggC5RwuFJb0eGVdW8LT9vTHsipJF2
	 GZDbcKOlstJLA==
Date: Mon, 31 Mar 2025 12:17:30 +0200
From: Ingo Molnar <mingo@kernel.org>
To: "Xin Li (Intel)" <xin@zytor.com>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
	linux-edac@vger.kernel.org, kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
	linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev,
	tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
	acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
	alexander.shishkin@linux.intel.com, jolsa@kernel.org,
	irogers@google.com, adrian.hunter@intel.com,
	kan.liang@linux.intel.com, wei.liu@kernel.org,
	ajay.kaher@broadcom.com, alexey.amakhalov@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com, tony.luck@intel.com,
	pbonzini@redhat.com, vkuznets@redhat.com, seanjc@google.com,
	luto@kernel.org, boris.ostrovsky@oracle.com, kys@microsoft.com,
	haiyangz@microsoft.com, decui@microsoft.com
Subject: Re: [RFC PATCH v1 01/15] x86/msr: Replace __wrmsr() with
 native_wrmsrl()
Message-ID: <Z-pruogreCuU66wm@gmail.com>
References: <20250331082251.3171276-1-xin@zytor.com>
 <20250331082251.3171276-2-xin@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250331082251.3171276-2-xin@zytor.com>


* Xin Li (Intel) <xin@zytor.com> wrote:

> -	__wrmsr      (MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3, val >> 32);
> +	native_wrmsrl(MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3);

This is an improvement.

> -	__wrmsr      (MSR_IA32_PQR_ASSOC, rmid_p, plr->closid);
> +	native_wrmsrl(MSR_IA32_PQR_ASSOC, (u64)plr->closid << 32 | rmid_p);

> -	__wrmsr      (MSR_IA32_PQR_ASSOC, rmid_p, closid_p);
> +	native_wrmsrl(MSR_IA32_PQR_ASSOC, (u64)closid_p << 32 | rmid_p);

This is not an improvement.

Please provide a native_wrmsrl() API variant where natural [rmid_p, closid_p]
high/lo parameters can be used, without the shift-uglification...

Thanks,

	Ingo


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 10:26:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 10:26:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932366.1334508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzCLr-0005AF-HI; Mon, 31 Mar 2025 10:26:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932366.1334508; Mon, 31 Mar 2025 10:26: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 1tzCLr-0005A8-EC; Mon, 31 Mar 2025 10:26:43 +0000
Received: by outflank-mailman (input) for mailman id 932366;
 Mon, 31 Mar 2025 10: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=g2Hv=WS=kernel.org=mingo@srs-se1.protection.inumbo.net>)
 id 1tzCLq-0005A2-Ft
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 10:26:42 +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 a1ea79db-0e1a-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 12:26:40 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 5202661120;
 Mon, 31 Mar 2025 10:26:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C478CC4CEE5;
 Mon, 31 Mar 2025 10:26: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: a1ea79db-0e1a-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743416798;
	bh=4YXZdHVM0TkXA+0kc8GIpKW5NQU7AZ4Je/lg8aqKF/Q=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=SNKRTAv+gMnEVEwVPROIdVIANRJxm8LbYKcIVbFb3ADa4Tkur5F2mIuL95LZ7LZb1
	 5fqJ0aBp2v5cFupU9A4gdGZiDQ1FWpWF3RCKNziWJG18GDcV6Jku/oKEjoRuxnV9/n
	 tqlZBxLFrIHJZzvGETM/513c/sebuShZlti7+3NBoNv5JHNxaHW/38O4XPILpzN97I
	 97iuaFpjHX7UB0m+lxE7N2TRS5XllBFMdKrljOLOTYBow7YWoYoVOY+uLAOAiLaGN5
	 pBXF5L41ks0BVBoY1cpe8K/TydBaKSrGHdJwYFT4xSUwiCnyQTV/TVlvgKRxOXMEvV
	 AeHP4P5OJqZDg==
Date: Mon, 31 Mar 2025 12:26:21 +0200
From: Ingo Molnar <mingo@kernel.org>
To: "Xin Li (Intel)" <xin@zytor.com>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
	linux-edac@vger.kernel.org, kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
	linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev,
	tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
	acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
	alexander.shishkin@linux.intel.com, jolsa@kernel.org,
	irogers@google.com, adrian.hunter@intel.com,
	kan.liang@linux.intel.com, wei.liu@kernel.org,
	ajay.kaher@broadcom.com, alexey.amakhalov@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com, tony.luck@intel.com,
	pbonzini@redhat.com, vkuznets@redhat.com, seanjc@google.com,
	luto@kernel.org, boris.ostrovsky@oracle.com, kys@microsoft.com,
	haiyangz@microsoft.com, decui@microsoft.com
Subject: Re: [RFC PATCH v1 02/15] x86/msr: Replace __rdmsr() with
 native_rdmsrl()
Message-ID: <Z-ptzZBePzh05HQI@gmail.com>
References: <20250331082251.3171276-1-xin@zytor.com>
 <20250331082251.3171276-3-xin@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250331082251.3171276-3-xin@zytor.com>


* Xin Li (Intel) <xin@zytor.com> wrote:

> __rdmsr() is the lowest level primitive MSR read API, and its direct 
> use is NOT preferred.  Use its wrapper function native_rdmsrl() 
> instead.

This description is very misleading. As of today, native_rdmsrl() 
doesn't exist in-tree, so it cannot be 'preferred' in any fashion.

We have native_read_msr(), a confusingly similar function name, and 
this changelog doesn't make it clear, at all, why the extra 
native_rdmsrl() indirection is introduced.

Please split this into two changes and explain them properly:

 - x86/msr: Add the native_rdmsrl() helper
 - x86/msr: Convert __rdmsr() uses to native_rdmsrl() uses

For the first patch you should explain why you want an extra layer of 
indirection within these APIs and how it relates to native_read_msr() 
and why there is a _read_msr() and a _rdmsr() variant...

Thanks,

	Ingo


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 10:27:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 10:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932374.1334518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzCMe-0005eO-Ps; Mon, 31 Mar 2025 10:27:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932374.1334518; Mon, 31 Mar 2025 10:27: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 1tzCMe-0005eH-Mb; Mon, 31 Mar 2025 10:27:32 +0000
Received: by outflank-mailman (input) for mailman id 932374;
 Mon, 31 Mar 2025 10:27: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=1Zft=WS=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1tzCMd-0005A2-Cy
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 10:27:31 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20606.outbound.protection.outlook.com
 [2a01:111:f403:2607::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd6a4522-0e1a-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 12:27:26 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by PA4PR03MB6927.eurprd03.prod.outlook.com
 (2603:10a6:102:ee::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 10:27:22 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::35ac:8893:c31c:b971%3]) with mapi id 15.20.8534.043; Mon, 31 Mar 2025
 10:27: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: bd6a4522-0e1a-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DaLZCQ5/e/Ulc1mZEcAJ0+H6rfULdsb0VrvaRVrDDKkBCR0I4jN2K0/QAgP2N8ygFXiKpCfce8R398jjDfKlLBL5p0Mn/Omc8wko+YTzft5xsl6Jfv7cg+oubFf6N9rXl7rYyfZSYQ4I6lTATD1vCfBiHzsCNFYeiUdNGpofa7UiuOsX7fMjg7ghEdtvEAyjLCFOX1yvQIVapTibebdFGVufs9LRpHIqkZWUU6JCmLOlfclA1EeO6TA9+Z+nBztfdWat8sg88qTdYep7W84SHma+FW4UUzQEXSS+lYzPCAwMr08nRud3xincbCFd7gkXdfPa7KS8DgFdaD4lBlRrqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=irRNGvGTrVqo5FaUMm2fPxYwCNrJmfj9Fl8mJ1eHTyc=;
 b=DTHLvJeIyGY+WHNV5CKvwcdPsm+MRG6cuOLFkjiLGLBbhMcSlKyeXCmw3sTEmnkM79RErgLx7WFHNM8tvuESm8mKrv7cLtwcmDRdFVq6vuGyHvXkXvmSCQTOF7gIMGEJn0ivxZRGQIqOG+vKw4rDv8TpOBvQPn+v6D0IJ++OLS4rD64rWioBBKztPhk6lUT2ovtIW0pMmKtgvdgoF5m7n8NvyH8FeVJ3SpsTa0xpdTKFi5YnVvBm5jrKpIHO/7eDDhx8wAiIbGnqRmmBnEqOUXHAHHhjUUtD6bnouE6ieky9i/nXbPRKKrAYmqDVjQBPL+GjRW4XxE03VIYZ/sZKQg==
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=irRNGvGTrVqo5FaUMm2fPxYwCNrJmfj9Fl8mJ1eHTyc=;
 b=bubg1J6VPpaPAVqXrjjTsbFyMKosSX/X/pfLg1DkI5ngqtzI+hiVYSbOZ9xardDfP/gidppl6bBEPl23GAK5AOX033uF/fcywftaR6/mFLljg+S3P6XprrbHppk7EXmk9JAF6Fj+ptwT6ZtnWpkgvnbyA22FJwWLh81uKzqCOHGhrtUBnqHJrtinACKZyVTR7wnURWFvRwfYzISMuLMjqsssZ68x4pGgGsyiLCYXnQ82f9Di4BBTDhxv7JLeJ7BksnRkLUeOWaIKOg3WSxsxcQEz8ByxZ0XEBUIBVrL94yUGxcxUO2z6/r4KqZ20FGAEJB85Db5UT4FlfN+ybiQZBQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Juergen
 Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Topic: [PATCH 2/2] xen/dm: arm: Introduce inject_msi2 DM op
Thread-Index: AQHaRWELmXttIq3ydUeKyfZPAZRMh7DpfE8AgqZH5gA=
Date: Mon, 31 Mar 2025 10:27:21 +0000
Message-ID: <6c6a4ee5-506b-4a49-9749-7518b19809e0@epam.com>
References: <cover.1705066642.git.mykyta_poturai@epam.com>
 <6c551b03796fbf091b22fcde96d894cd5308ff91.1705066642.git.mykyta_poturai@epam.com>
 <a289ae5e-0831-4f7b-8f04-df71af23ae0b@citrix.com>
In-Reply-To: <a289ae5e-0831-4f7b-8f04-df71af23ae0b@citrix.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_|PA4PR03MB6927:EE_
x-ms-office365-filtering-correlation-id: 8d843cfc-81c0-4fca-e06d-08dd703e9f0f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|7416014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?S0VWYUtJRnVCOE16UDN5ZUdBbFFKSHlCR3VtYkJwTjFGNVBUTXY1dFpaa2lR?=
 =?utf-8?B?NitnSXgxeStHSExRWHVnQjBGOHVpa1JPWWJ2QXdXT0tKRzFCcXFHek5lczdI?=
 =?utf-8?B?TE1pREVyQlAxTDc1dXJ5REJDaEhQazNNcGNWNERVcWJqc1NWV2syQ3ZMbGhW?=
 =?utf-8?B?VkhIWmUyUFNXYVNWY1V5bDQ2VnQyWWdtZFVGRm9wazlSaXQ3ak81a3ZrZUdq?=
 =?utf-8?B?Vm0ybThNaTJSejE5Y25DNlpzMkNvZjJmSDU2cEZ4NFhjZWpBSFhvTGxOOERW?=
 =?utf-8?B?SkZIUlVYR21wUjVCRWtHZ2lXRml3QnIwbkFQWE94TUFUbjdxaENTbU4raG5N?=
 =?utf-8?B?UHdXa1BSdTJWcHRudlExVVpweGtlZ3dQMi9OQ2NYT3NRYVE2aU4zUXdYWWx3?=
 =?utf-8?B?UEZNbDVKdXhSNHdFLzZSSEJ3Z2w0TWVxenprMTJqVmw2NWdTZGliTkUwMk5x?=
 =?utf-8?B?VVkrY0Q3cDkxaFJNWGhpeEVUa25iOW9TRFc1eWFvSG5Qd0JPYW1GNC9SM1Q2?=
 =?utf-8?B?OWtIZFZ6eGswRVlGTzVxd1RodDY5bWhYdnBWRitOamozU2JTRU8xbldNWW5V?=
 =?utf-8?B?aUR0N0V4UXk1dHJhaGkwSGV1MkErVTFzUU43ZWZIS1lyeDdMS0l0QUpXWmFm?=
 =?utf-8?B?L0UwczFFUUVRZ2w3WGx5NVB5T2FiVHpsbmZEMlM4WVB3Z1dHOEE1Zlhqc21q?=
 =?utf-8?B?dWRMb0l2dUV0bmxDMjRxRWprUE5reXY2bUpKOGI4c211Mkx6Qk1PTE9hK3l2?=
 =?utf-8?B?Z3RPV1VMV3A3WHAzcmRGVkJJODg4M3dHSHpQblRsbUU1ajlvbFFvWlZwZWlp?=
 =?utf-8?B?dlhNVk9QamJFdmF4TFBVREUvLy9rdHkxRjdySzdndVB6YmEzRXd3RzZrOHo4?=
 =?utf-8?B?MlB1dnZDOHhCRXhvVXRQYUVSN2pvenI5TU1rd1FtVHZjR2dOTGgzRG56TGpD?=
 =?utf-8?B?WFBsblhxdWlKcnh1SGdjSEs4NXh1bm9JQ3RJMlhnZGlnQlRBNENhblZpNGxY?=
 =?utf-8?B?U0NkT29ybGZSZGFnbjdack5aZEZwYWtYUk9TL3YrYmVBenB1bnM1dlZvN3ZL?=
 =?utf-8?B?THFkMDRkNitsdVBMb2d5eklxTmpQUHVOdEs0Q3NtdUEzNjRxZjhUdnRUZk15?=
 =?utf-8?B?ZkxwUXNIL0V4SUg3eFRFaUNWVzFSbXJJQjJvWTBRcml2T2l4UGh6QVVwN0pl?=
 =?utf-8?B?eXBEQ2ttRjhwQWRncXAyVlFIcDhsbElqbFR4Um16N1FWWFlNUE5NbG5UaEZD?=
 =?utf-8?B?azM4WXh0c0Q3OSs1MHFpUS9KNXlOd2tvVXhFL2Q5SHRKWFlwbTIyUVRxWlNj?=
 =?utf-8?B?SjFncTZmSzExeGFqdEdrclMwRjJqRUtZY1BaS2psbHJDeDNDVnZOVzgwNVpu?=
 =?utf-8?B?Uk9LMVIrYnRvb0tVUVFKQVYyang5K0FvMjBSQVI0YjQ2em1wL0pmSFVnZ0t2?=
 =?utf-8?B?d0tEbWhybFljQ3JQZ3VXaUdrT3JCRnNIUkFFVjlmZEljcGdJVklQUUd3NXpj?=
 =?utf-8?B?a2tvTjhjT2lFNWo0bE9jeUxTNjh3cHZuaC85VkRHdkJGOFhTK2JISVVsNEph?=
 =?utf-8?B?dUQ1ZDBOeG5lVUJWa2FpZFpYL0liRzFwTGdtWkRucllEbGdKWGo1RmZBb1Yz?=
 =?utf-8?B?bm8wK0tnV0hXaEg2QTdIUkhMcXo5cG1vK1NNS3V5RUwyYzVQOTlVeEllWElO?=
 =?utf-8?B?a1N5QThWTHZnbHBCdlIyaWQzUlY5cXdJUWo1KzNaUEZMZ3VOVjd0aXdaQVN4?=
 =?utf-8?B?eUpvM0RocEM5cnhVSUpYdHNVQ0xrRjRYL2phQlZUWjhYZExtV1JkU2VaT0kv?=
 =?utf-8?B?MEYyZ3FTTWhiZWxwMm8vVXVZR2xqR3dqclU3Y2dQZFNadGxJNjhBangvQXpL?=
 =?utf-8?B?SlN2RHdvTUJNTDRvVWZ0YkxkdVRnbThjQWQvWkxJSVBCZEp2MFphTHFpeDI0?=
 =?utf-8?Q?9+59mzxGQO+GOP+Od65/tn92wj8en+27?=
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)(376014)(7416014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UEQ2aUgvM1JORFZDTHBJdVRUSmhmUEk2Tmc5dVVLVWp1RU9uQnZsa1Z3c09h?=
 =?utf-8?B?ZEZJWk52Z3J5R1dHK0o2NmVLcndSQWtFcXhpZGdQQUR3NmFZWUJJWHlUUE1J?=
 =?utf-8?B?ZmJFQlVyTU5aN0Z2bTRIS012Tm42bU9xdUFEWlRpZmNFdWtoRmtwNGozMDE2?=
 =?utf-8?B?a3hweGpvZ3ZGUEVXSnVjVWJobDhPbmthbi94QnkxdStlQXRURHg3dU15U0tS?=
 =?utf-8?B?MGF2dlByMGVRMzBpUkNvRE5mcHViNjYzWWg0eE5YUzVYelNxYW43TEN2MjZo?=
 =?utf-8?B?MWhaZmRGVTRSdCtYc0NsYW1FdWV4VldoSnRGRDZvZHA3RXluNiswb0d5WUd0?=
 =?utf-8?B?cmY4STlUN3lZc252MHQ4ajBtTUloY3hXYVBvbXgwazI1RkQyVFEwWVBKZmh2?=
 =?utf-8?B?SlBseHdzNXkvSjFhM1d6OFFCRU1IN1F3WFZJTDZUaEx4ek1yTVI4ZzNzQlM0?=
 =?utf-8?B?RUtxQVBpazdRYS82MGFpZ3YvK3NwUmgyeW05d1JjQzkwWVdrTGluN3NBQ21X?=
 =?utf-8?B?YlRBWFlSNXN3ajd3cDhNZ09lNWpzclgvSjR0YlowQjJSZXgxZWdlRmhxRzE3?=
 =?utf-8?B?RUJQREh4VGRjNkxCM2NYRklPUEhhNWZUWHJJdXV0TUFESWlFTkxiRTFaTTNC?=
 =?utf-8?B?Z1JBSDFad01FYVArYUNkQklreDMyTGpRR05tT2Q5eDFXbDJnN3VSQjZLK29z?=
 =?utf-8?B?K09NR29QVUp0L3NqcHJ1Z21Ob2F0WHU4aU5CVTUvL3BDQkg2OWZMbmlFZ0pl?=
 =?utf-8?B?cllvNkhtZjhMUmgvRUxReWNDUDhhTi9pYzlNZjR4UFNjQkp1a0tzQWNKQ2xX?=
 =?utf-8?B?QURUUGJMVU5QTVVVMTVjYXRCMnRmdnU4QkRFTk5aQnZMUnNpbWtnTVd5a3hj?=
 =?utf-8?B?VWJnNTFyN3JRZGFXOExPSEttM244VDJSVjN1SVV2TWpkNHpjMjZQTTc3dVhJ?=
 =?utf-8?B?cUpRYlJWQmZ3Tll5V3I1LzJVNkRsV1M3bUt4WGNtRWE2SEx2R1N4T2l2S3Qr?=
 =?utf-8?B?SDVUK2tmVHdNZC9hVmpCZnMwUE9JZ21seHJnTTdMNU96Q0dqZllGcjJtbXB0?=
 =?utf-8?B?WkJZMWJ0cHJTNllJVGlLd04yeWQ5YStPV21kQWFwMjJsclBNc2lqNVI4Tkh5?=
 =?utf-8?B?UUNBalg3L0Nwbk5oL2Npb1MraFVvUmpTbVgySjIxTjFBMEFSSHdvMEcrdWgw?=
 =?utf-8?B?Snh4bDlFWXcyNjFyM0ZQOWlpY3BmNGNJLzlXN2N0S1NOU0tPUFVZY09qTkxO?=
 =?utf-8?B?NFVCM2FhdEh6akVRaUc2Q056UURnSnRrNVF4bHJlR25aOUNSWTJNeTlOSDNF?=
 =?utf-8?B?TDMwdFJNcGljbGYwOFo3Q1QwSWxDdTFKMXQrRkVHbERyNWhPYndlK2dkcDdv?=
 =?utf-8?B?T3RkVFpGa29Xak1xN0pxclcvNWYyWWJIaFNzdDMvaktnSE1hUmpDR1BwSkRF?=
 =?utf-8?B?SU9YNTBsWUhscWJoK200Um5EbDI0ZTFEM1hTaHJ1a0NnMHhoMEkxWmNmRTBy?=
 =?utf-8?B?dEdOaG8vcGpVdndmVFNhangzaFdUOUFlRWh2ejI3bFg0ZjJ0WnJINmtOVndz?=
 =?utf-8?B?UnpXVUU3UTZQY1ptdVJJN3FQbkVxNjZqS3JxUVBRZGx6YlJzMVkyTU9BbVpy?=
 =?utf-8?B?Y05ISjE0dStKeC9rL0NpUXpMN3h2VmJraEJMeUtaM3FOdGhkckRKdnRKZzdq?=
 =?utf-8?B?R3lPeVA1NlAwM3dyaFZzSG9Tbi92WEFDUzFYMUEzYTBQUUwvRU8zSW9BV2VH?=
 =?utf-8?B?bERoV3Fqd1YrY21TMDZsaW9qUGRhaDhaQncwR29LN0FSazJ5RjhYY1R3MEl2?=
 =?utf-8?B?NjUwVzZmZ2d0enlZZkhtL1UxSjVnRUxnQVdkUWQ0TzJUd3JBcjZ4enhjMEI1?=
 =?utf-8?B?Vk9qRVI3TlBPSlhIZzlJUFBPYzVMWjdpdk9PVVRXUURWOXBjeGVDY3lpR3Za?=
 =?utf-8?B?Qk40NGVSbHZXNUVqSnlQVkhxeG4ycDdWK1NJZGxQb09VUmVOL1lKSCtteXVV?=
 =?utf-8?B?NGk2UXV4aXIwS2dkbmFvN1dzZ0JJSXJ6dGMwdTVFc3p5UDlKeHlhdFBmM054?=
 =?utf-8?B?YlppWUs2aTl4VUZ6Qk5qVTdEV2tZN3ltNldDQjNURnlFMzJkNStQRWV3OEtz?=
 =?utf-8?B?UzFvWXhUNHlzdis2a0xaZXRRUS9vczRwUFh5dkg1YVo3b3NTT0hoZldTeEow?=
 =?utf-8?B?bVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <457BD4C845E3314FBA7D532DDB0D0E1F@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: 8d843cfc-81c0-4fca-e06d-08dd703e9f0f
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 10:27:21.4812
 (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: GbAZBDY2t+JKGV3OFX4d2SluRrWT1oPZaaKGkERiiPjO2/zm9sjHwK7rcynm5etOP74agz5qZmmc6iF8bhsKEA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB6927

T24gMjQuMDEuMjQgMjI6MjUsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDE0LzAxLzIwMjQg
MTA6MDEgYW0sIE15a3l0YSBQb3R1cmFpIHdyb3RlOg0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2lu
Y2x1ZGUveGVuZGV2aWNlbW9kZWwuaCBiL3Rvb2xzL2luY2x1ZGUveGVuZGV2aWNlbW9kZWwuaA0K
Pj4gaW5kZXggNzk3ZTBjNmIyOS4uNDgzM2U1NWJjZSAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL2lu
Y2x1ZGUveGVuZGV2aWNlbW9kZWwuaA0KPj4gKysrIGIvdG9vbHMvaW5jbHVkZS94ZW5kZXZpY2Vt
b2RlbC5oDQo+PiBAQCAtMjM2LDYgKzIzNiwyMCBAQCBpbnQgeGVuZGV2aWNlbW9kZWxfaW5qZWN0
X21zaSgNCj4+ICAgICAgIHhlbmRldmljZW1vZGVsX2hhbmRsZSAqZG1vZCwgZG9taWRfdCBkb21p
ZCwgdWludDY0X3QgbXNpX2FkZHIsDQo+PiAgICAgICB1aW50MzJfdCBtc2lfZGF0YSk7DQo+PiAg
IA0KPj4gKyAqIEBwYXJtIHNvdXJjZV9pZCB0aGUgUENJIFNCREYgb2YgdGhlIHNvdXJjZSBkZXZp
Y2UNCj4+ICsgKiBAcGFybSBtc2lfZGF0YSB0aGUgTVNJIGRhdGENCj4+ICsgKiBAcmV0dXJuIDAg
b24gc3VjY2VzcywgLTEgb24gZmFpbHVyZS4NCj4+ICsqLw0KPj4gK2ludCB4ZW5kZXZpY2Vtb2Rl
bF9pbmplY3RfbXNpMigNCj4+ICsgICAgeGVuZGV2aWNlbW9kZWxfaGFuZGxlICpkbW9kLCBkb21p
ZF90IGRvbWlkLCB1aW50NjRfdCBtc2lfYWRkciwgdWludDMyX3Qgc291cmNlX2lkLA0KPj4gKyAg
ICB1aW50MzJfdCBtc2lfZGF0YSwgdW5zaWduZWQgaW50IHNvdXJjZV9pZF92YWxpZCk7DQo+IA0K
PiBUaGUgU291cmNlIElEIGlzIGFsd2F5cyB2YWxpZCB3aGVuIG1ha2luZyB0aGlzIGNhbGwuICBJ
dCBpcyBvbmx5IHdpdGhpbg0KPiB0aGUgaHlwZXJ2aXNvciBpdHNlbGYgdGhhdCB3ZSBtYXkgbmVl
ZCB0byB3b3JyeSBhYm91dCB0aGUgc291cmNlIElEDQo+IGJlaW5nIGludmFsaWQuDQo+IA0KPiBU
aGlzIG1lYW5zIHlvdSBkb24ndCBoYXZlIHRoZSBmbGFncyBmaWVsZCwgYW5kIGFzIGEgY29uc2Vx
dWVuY2UsIHRoZXJlJ3MNCj4gbm8gcGFkZGluZyB0byB3b3JyeSBhYm91dC4NCj4gDQoNCkhpIEFu
ZHJldywNCkkgd2FzIHRoaW5raW5nIHRoYXQgdGhlIHBsYW4gaXMgdG8gZXZlbnR1YWxseSBkZXBy
ZWNhdGUgdGhlIGluamVjdF9tc2kgDQpjYWxsIGFuZCBoYXZlIG9ubHkgdGhlIG5ldyBvbmUgd2l0
aCBkaWZmZXJlbnQgYmVoYXZpb3JzIGRlcGVuZGluZyBvbiANCnNvdXJjZV9pZF92YWxpZCBmbGFn
Lg0KRG8geW91IG1lYW4gd2UgYXJlIGxlYXZpbmcgYm90aCBvZiB0aGVtIGluZGVmaW5pdGVseSBh
bmQgc2hvdWxkIHRyZWF0IA0Kc291cmNlIGlkIGFzIGEgdmFsaWQgb25lIGltcGxpY2l0bHkgZnJv
bSB0aGUgZmFjdCB0aGF0IHRoZSBuZXcgY2FsbCBpcyANCmJlaW5nIGlzc3VlZD8NCg0KLS0gDQpN
eWt5dGE=


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 11:05:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 11:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932393.1334527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzCww-0003UG-KI; Mon, 31 Mar 2025 11:05:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932393.1334527; Mon, 31 Mar 2025 11:05: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 1tzCww-0003U9-HZ; Mon, 31 Mar 2025 11:05:02 +0000
Received: by outflank-mailman (input) for mailman id 932393;
 Mon, 31 Mar 2025 11:05: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=FpTe=WS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tzCwu-0003QG-Cg
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 11:05:00 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f86b5e0f-0e1f-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 13:04:53 +0200 (CEST)
Received: by mail-pl1-x62a.google.com with SMTP id
 d9443c01a7336-2254e0b4b79so112097445ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 04:04:53 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-2291eeca374sm66916975ad.29.2025.03.31.04.04.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Mar 2025 04:04: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: f86b5e0f-0e1f-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743419092; x=1744023892; darn=lists.xenproject.org;
        h=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=2k0ZjEg3h/Fziwi/zWlfY/9ChqbyZOoBgTTWlD6T+Mo=;
        b=vShynzDtduwDru62V8OcAp4xwxEgktBrWNKi6iedDDDKZLNNGb2afK45Xmi3UmxPer
         UT6V1qjPwhC2l0lUwQOX5VdWnTC4cGPqqIm5PNnW83jdrTOsCFhRkXy5NvOr6QLHWBhf
         lE4XYALU3yTumfhMXw2S9RzFdRm45iWtKv7oQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743419092; x=1744023892;
        h=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=2k0ZjEg3h/Fziwi/zWlfY/9ChqbyZOoBgTTWlD6T+Mo=;
        b=ThjWymlo2M8t3c0YSWkvvxF0qF+uPlbtMdROhuBTvnAzM6m6zz4Zkp5fiSzpkmUO73
         uabQB6tnBLp2Z2JLysqCwbmaDk0DbJkyYeAYt0Fjf9jtA6wMJ+WlYew5Bhk1PDjvFd3/
         qSIv0Kah04HYTx9inBh6N4PL8u3ibrtz22XOUuSPECwVQdYtkPGgpUyPXlAGsJAJ8ST1
         Ls6GThgvJTTdCKYQ2RMFEMyuhFCjvb+r/3ySu8+7YfXFvqv9yRX3LITgin5/yNg/Y311
         xxC5H6HhaVGpDHc4u86EOPXGKKEn1cUB95sZ5zhkDg/31Y07sN7NiLs9YeC1AGH9hoYm
         hVKQ==
X-Gm-Message-State: AOJu0YzAgDbn47+urBUXtXNWfvLQ86FmMXPUzfhHq7hQ66sKYZhHBbay
	xufwPHc3UwxvIJYXXjpq/I4GT+4oK7fztQwQ0S4AoKDdKdnEXYD4GsI6BJRRa7E=
X-Gm-Gg: ASbGncvn/Z456ArO1HM+XX69isBM0/IVCLVYWXslHmF6m2vTpeMs84o2LR4BZ4jksCC
	FbsOaECPz7Kv3fw1q8Q3NLNe3ybAK946m2xVWjT47GdDhilot6epd6RriUzJbQsWtWXMBG0oejg
	SmmQoABf1ooosE3cAPWD1iiowjYX7j8+rBnGKYIzhXnkt5pG31aD5/whXUb3J9NoLrIresW3tHJ
	YsgW1qkb/ovWITD9L8A5XPtsb5ghPzkWmh9ijI/00L1RjGPkntUOwv3yzbHExgW+lhAm36vRBZG
	L/5/q4TU0H/F+4Gatrrv7/K5iW1KtkOuyoWhCTB2GSXmCqwoFA==
X-Google-Smtp-Source: AGHT+IF5rZoYQyvbPDQM+7qCLjb5MZub/o4hV5WoPfVF1e6FtZIiAk5Cwx0QN62UqoJB7B1R0jxGvg==
X-Received: by 2002:a17:902:f552:b0:224:f12:3734 with SMTP id d9443c01a7336-2292f9e298bmr136002625ad.30.1743419091559;
        Mon, 31 Mar 2025 04:04:51 -0700 (PDT)
Date: Mon, 31 Mar 2025 13:04:46 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [PATCH v1 1/3] vpci: Hide capability when it fails to initialize
Message-ID: <Z-p2zgB2tUtVd7hP@macbook.local>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <Z-UZm5sTIz4nOt4-@macbook.local>
 <BL1PR12MB5849F1134D9E51E6A0F7B4A7E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <Z-pVrGLZTCk1ZXb1@macbook.local>
 <BL1PR12MB5849783E854628DC49F9A609E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BL1PR12MB5849783E854628DC49F9A609E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>

On Mon, Mar 31, 2025 at 09:32:02AM +0000, Chen, Jiqian wrote:
> On 2025/3/31 16:43, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 31, 2025 at 07:26:20AM +0000, Chen, Jiqian wrote:
> >> On 2025/3/27 17:25, Roger Pau MonnĂŠ wrote:
> >>> On Thu, Mar 27, 2025 at 03:32:12PM +0800, Jiqian Chen wrote: 
> >>>>  #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
> >>>>  
> >>>> +static int vpci_init_cap_with_priority(struct pci_dev *pdev,
> >>>> +                                       const char *priority)
> >>>> +{
> >>>> +    for ( unsigned int i = 0; i < NUM_VPCI_INIT; i++ )
> >>>> +    {
> >>>> +        const vpci_capability_t *capability = __start_vpci_array[i];
> >>>> +        const unsigned int cap_id = capability->id;
> >>>> +        unsigned int pos;
> >>>> +        int rc;
> >>>> +
> >>>> +        if ( *(capability->priority) != *priority )
> >>>> +            continue;
> >>>> +
> >>>> +        if ( !capability->is_ext )
> >>>> +            pos = pci_find_cap_offset(pdev->sbdf, cap_id);
> >>>> +        else
> >>>> +            pos = pci_find_ext_capability(pdev->sbdf, cap_id);
> >>>> +
> >>>> +        if ( !pos )
> >>>> +            continue;
> >>>> +
> >>>> +        rc = capability->init(pdev);
> >>>> +
> >>>> +        if ( rc )
> >>>> +        {
> >>>> +            printk(XENLOG_WARNING "%pd %pp: cap init fail rc=%d, try to hide\n",
> >>>> +                   pdev->domain, &pdev->sbdf, rc);
> >>>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> >>>> +                                   pos, capability->is_ext ? 4 : 1, NULL);
> >>>
> >>> Are you sure this works as intended? 
> >> Yes, I used failure test cases of init_msi/rebar.
> >> From the "lspci" result, they were hided from the dom0.
> >> But I forgot to test for domUs.
> > 
> > I assume that's only tested with Linux?  See my comment below about
> > capability ID 0 being reserved, and hence I think we should not keep
> > capabilities with ID 0 on the list, as it might cause malfunctions to
> > OSes.
> > 
> >>> The capability ID 0 is marked as "reserved" in the spec, so it's unclear to me how OSes would handle
> >>> finding such capability on the list - I won't be surprised if some
> >>> implementations decide to terminate the walk.  It's fine to mask the
> >>> capability ID for the ones that we don't want to expose, but there's
> >>> further work to do IMO.
> >>>
> >>> The usual way to deal with masking capabilities is to short circuit
> >>> the capability from the linked list, by making the previous capability
> >>> "Next Capability Offset" point to the next capability in the list,
> >>> thus skipping the current one. So:
> >>>
> >>> capability[n - 1].next_cap = capability[n].next_cap
> >>>
> >>> IOW: you will need to add the handler to the previous capability on
> >>> the list.  That's how it's already done in init_header().
> >> Oh, I got your opinion.
> >> But we may need to discuss this more.
> >> In my opinion, there should be two situations:
> >> First, if device belongs to hardware domain, there is no emulation of legacy or extended capabilities linked list if I understand codes right.
> > 
> > Yes, but that needs to be fixed, we need to have this kind of
> > emulation uniformly.
> > 
> >> So, for this situation, I think current implementation of my patch is enough for hiding legacy or extended capabilities.
> > 
> > It works given the current code in Linux.  As said above, I don't
> > think this is fully correct according to the PCI spec.
> > 
> >> Second, if device belongs to common domain, we just need to consider legacy capabilities since all extended capabilities are hided in init_header().
> >> So, for this situation, I need to what you said " capability[n - 1].next_cap = capability[n].next_cap "
> > 
> > I'm not sure why would want to handle the hardware domain vs
> > unprivileged domains differently here.  The way to hide the
> > capabilities should always be the same, like it's currently done for
> > domUs.
> So, I need to refactor the emulating PCI capability list codes of init_header() to serve
> for all domain(dom0+domUs) firstly, since current codes only emulate PCI capability list for domUs, right?

Yes, that would be my understanding.  The current logic in
init_header() needs to be expanded/generalized so it can be used for
masking random PCI capabilities, plus adapted to work with PCIe
capabilities also.

> > 
> >> I am not sure if above are right.
> >>>
> >>>> +            if ( rc )
> >>>> +            {
> >>>> +                printk(XENLOG_ERR "%pd %pp: fail to hide cap rc=%d\n",
> >>>> +                       pdev->domain, &pdev->sbdf, rc);
> >>>> +                return rc;
> >>>> +            }
> >>>> +        }
> >>>> +    }
> >>>> +
> >>>> +    return 0;
> >>>> +}
> >>>> +
> >>>>  void vpci_deassign_device(struct pci_dev *pdev)
> >>>>  {
> >>>>      unsigned int i;
> >>>> @@ -128,7 +169,6 @@ void vpci_deassign_device(struct pci_dev *pdev)
> >>>>  
> >>>>  int vpci_assign_device(struct pci_dev *pdev)
> >>>>  {
> >>>> -    unsigned int i;
> >>>>      const unsigned long *ro_map;
> >>>>      int rc = 0;
> >>>>  
> >>>> @@ -159,12 +199,19 @@ int vpci_assign_device(struct pci_dev *pdev)
> >>>>          goto out;
> >>>>  #endif
> >>>>  
> >>>> -    for ( i = 0; i < NUM_VPCI_INIT; i++ )
> >>>> -    {
> >>>> -        rc = __start_vpci_array[i](pdev);
> >>>> -        if ( rc )
> >>>> -            break;
> >>>> -    }
> >>>> +    /*
> >>>> +     * Capabilities with high priority like MSI-X need to
> >>>> +     * be initialized before header
> >>>> +     */
> >>>> +    rc = vpci_init_cap_with_priority(pdev, VPCI_PRIORITY_HIGH);
> >>>> +    if ( rc )
> >>>> +        goto out;
> >>>
> >>> I understand this is not introduced by this change, but I wonder if
> >>> there could be a way to ditch the priority stuff for capabilities,
> >>> specially now that we only have two "priorities": before or after PCI
> >>> header initialization.
> >> I have an idea, but it seems like a hake.
> >> Can we add a flag(maybe name it "msix_initialized") to struct vpci{}?
> >> Then in vpci_make_msix_hole(), we can first check that flag, if it is false, we return an error to let modify_decoding() directly return in the process of init_header.
> >> And in the start of init_msix(), to set msix_initialized=true, in the end of init_msix(), to call modify_decoding() to setup p2m.
> >> Then we can remove the priorities.
> > 
> > Maybe the initialization of the MSI-X capability could be done after
> > the header, and call vpci_make_msix_hole()?  There's a bit of
> > redundancy here in that the BAR is first fully mapped, and then a hole
> > is punched in place of the MSI-X related tables.  Seems like the
> > easier option to break the depedency of init_msix() in being called
> > ahead of init_header().
> You mean the sequence should be:
> vpci_init_header()
> vpci_init_capability() // all capabilities
> vpci_make_msix_hole()
> 
> Right?

Yes, I think that would be my preference.  The call to
vpci_make_msix_hole() should be inside of init_msix().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 11:12:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 11:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932411.1334538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzD4N-0007WS-Bc; Mon, 31 Mar 2025 11:12:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932411.1334538; Mon, 31 Mar 2025 11:12: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 1tzD4N-0007WL-8y; Mon, 31 Mar 2025 11:12:43 +0000
Received: by outflank-mailman (input) for mailman id 932411;
 Mon, 31 Mar 2025 11:12: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=FpTe=WS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1tzD4M-0007WF-1y
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 11:12:42 +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 0f38305d-0e21-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 13:12:40 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-ac3b12e8518so834835666b.0
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 04:12:40 -0700 (PDT)
Received: from localhost ([84.78.159.3]) by smtp.gmail.com with UTF8SMTPSA id
 a640c23a62f3a-ac72fbab01fsm469096066b.180.2025.03.31.04.12.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Mar 2025 04:12: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: 0f38305d-0e21-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743419559; x=1744024359; darn=lists.xenproject.org;
        h=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=8OGZkv4VKbS5EAY3Zv/PCRtGeHuPnWGXcZb3hpZ3vX8=;
        b=HOMhWdNNU63/YkIor2KrNosxLNyWbEUiL5Dig7MkTVIdVpIHYluDKAxehRXDQptKxy
         Lznw01776+jda3fUlOVYwIERFoTdI8h6rkO8c9vJd6Cxgmdg70NHkkj+0NZEKz5MDzj/
         /y8RDpwpkIa0aOJlfeJWKR7StvD2qGZEAZltM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743419559; x=1744024359;
        h=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=8OGZkv4VKbS5EAY3Zv/PCRtGeHuPnWGXcZb3hpZ3vX8=;
        b=w5J3jtGQNcSYuc4lK8e4nexg2NlxrvRJ6x1Z7KivdiB2R3Sk7Z89jCMu2/6CNQTR+C
         0CiWybmvi151rosZkCnXQFYIPS1s0d31CvMsxnlHoGIQZ8Mjbs0yJ5KaUBUPtLBSBnrk
         6Zja9bjrz/nzFO1A9KG916A9i+OC67APDyJPO5xPrAT8e4J1S3B9e0FI/RvbaTiAhXBs
         WGMdzTWUZUjo0Smfh4x2qF1v5n5EZHBKzDIKNSh6ywXudaCjLfETtVvZdwn/9SJDw6DS
         NiP3W1DVnGoJn4k4rj21gCF0lbhymMZhYlPpbItJv0civ0jmYhyzacVmik2mcM/oyvj/
         XrQw==
X-Gm-Message-State: AOJu0YxTGa75Ua7zs0BQaVd5eLEU6rBuAjU5VwH7ypYFqR4lEScQ0LBO
	92XjkmqBhCiBF45boU8mZ3APbn6N82rJMdxnR2zVkKyoT4K8cKxUQkk+Yf8Ic2M=
X-Gm-Gg: ASbGncvro4onnGj/9OVEgntKZy/kmwIcYLionLCQo6AdALUcst1Sm+PBFA10Ui9hiu2
	nZrhQn306YXxn+BGThIDEdeXnmrUqgX51+EzRMploEIU6Ds/l0V2oK+AKaUOtbQ1AdnjQI+5IPv
	g7vsIXljJOCb3uV1lbMSihoIlkavB7Guf99xYEk6AAX3IxS0GJB4m0EtB9cXWHrOWATjkLr/O+i
	5qY7hYHYv+mUFTL/j88MI/xAD2tvQLOyjO/rfVqUBJzGKbiAkFWEj+88DxQEYndVWyostkYavh6
	dfnothNI6wNwi3W6nFtnOxzESDQCtMdNMyIwtmPe4AJXUqdQPQ==
X-Google-Smtp-Source: AGHT+IGUJW/CiPl9IgVZ8Bar7GaXEt/lzWeIiRbbPqk49XjnDR5WCxbyBdZw6syGkKP3RtE71GrhmQ==
X-Received: by 2002:a17:907:97c9:b0:ac4:3d0:8bc6 with SMTP id a640c23a62f3a-ac7389e1864mr752576266b.13.1743419559515;
        Mon, 31 Mar 2025 04:12:39 -0700 (PDT)
Date: Mon, 31 Mar 2025 13:12:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [PATCH v1 3/3] vpci/msi: Remove registers when init_msi() fails
Message-ID: <Z-p4NhVD0p7WW23S@macbook.local>
References: <20250327073214.158210-1-Jiqian.Chen@amd.com>
 <20250327073214.158210-3-Jiqian.Chen@amd.com>
 <Z-VIFo7q7-UNsLCt@macbook.local>
 <BL1PR12MB584905BC9966EF9742FF4472E7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <Z-pYJNyGieUqkVvl@macbook.local>
 <BL1PR12MB58497148061E1287CF9E24CDE7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BL1PR12MB58497148061E1287CF9E24CDE7AD2@BL1PR12MB5849.namprd12.prod.outlook.com>

On Mon, Mar 31, 2025 at 09:43:11AM +0000, Chen, Jiqian wrote:
> On 2025/3/31 16:53, Roger Pau MonnĂŠ wrote:
> > On Mon, Mar 31, 2025 at 08:13:50AM +0000, Chen, Jiqian wrote:
> >> On 2025/3/27 20:44, Roger Pau MonnĂŠ wrote:
> >>> On Thu, Mar 27, 2025 at 03:32:14PM +0800, Jiqian Chen wrote:
> >>>> When init_msi() fails, the new codes will try to hide MSI
> >>>> capability, so it can't rely on vpci_deassign_device() to
> >>>> remove all MSI related registers anymore, those registers
> >>>> must be cleaned up in failure path of init_msi.
> >>>>
> >>>> To do that, use a vpci_register array to record all MSI
> >>>> registers and call vpci_remove_register() to remove registers.
> >>>
> >>> As I'm just seeing 3 patches on the series, isn't there one missing
> >>> for MSI-X at least?
> >> No, because init_msix only call vpci_add_register once, there is no need to remove registers when it fails.
> > 
> > Seems a bit fragile, what about if there's further code added to
> > init_msix() that could return an error after the vpci_add_register()
> > call?  It would be safer to have a cleanup function that removes the
> > config space handlers, plus the MMIO one (see the call to
> > register_mmio_handler()), and the addition to the
> > d->arch.hvm.msix_tables list.
> I am only talking about the current implementation of init_msix(), which does not need a cleanup function.
> But if you want such a function, even if it is not needed now, I will add it in the next version.

I think it would be cleaner, so that we could remove the MSI-X
specific logic from vpci_deassign_device().

> > 
> >>>
> >>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> >>>>  
> >>>>      if ( pdev->vpci->msi->masking )
> >>>>      {
> >>>> +        offset = msi_mask_bits_reg(pos, pdev->vpci->msi->address64);
> >>>>          ret = vpci_add_register(pdev->vpci, mask_read, mask_write,
> >>>> -                                msi_mask_bits_reg(pos,
> >>>> -                                                  pdev->vpci->msi->address64),
> >>>> -                                4, pdev->vpci->msi);
> >>>> +                                offset, 4, pdev->vpci->msi);
> >>>>          if ( ret )
> >>>> -            return ret;
> >>>> +            goto fail;
> >>>> +        registers[reg_index].offset = offset;
> >>>> +        registers[reg_index++].size = 4;
> >>>
> >>> As commented on the previous patch, I don't like much the usage of
> >>> this registers array to store which handlers have been added.  It
> >>> would be best if you just removed every possible handler that could be
> >>> added, without keeping track of them.
> >> Make sense, it will indeed be simpler if it is fine to remove all possible registers.
> >>
> >>>
> >>> Thinking about it, do we maybe need a helper vcpi function that wipes
> >>> all handlers from a specific range?  I think it could be helpful here,
> >>> as the size of the capabilities is well-known, so on error it would be
> >>> easier to just call such a generic handler to wipe all hooks added to
> >>> the region covered by the failing capability.
> >> But I am not sure if that helper function is suitable for all capabilities.
> >> Like Rebar, its structure can range from 12 bytes long(for a single BAR) to 52 bytes long(for all six BARs).
> >> If a device supports Rebar and only has a single resizable BAR, does hardware still reserved the range from 13 bytes to 52 bytes for that device?
> > 
> > No, we would need to fetch the size of the capability in the cleanup
> > function, or figure it otherwise.  Note the same applies to MSI
> > capability, which has a variable size depending on whether 64bit
> > addresses and masking is supported.
> Got it, I originally thought you wanted a general helper function.
> But it seems the case is each capability would have its own separate cleanup function instead.

Sorry, maybe that wasn't clear.  The generic function would be a
helper to zap all handlers from a given PCI config space range, ie:

vpci_remove_registers(struct vpci *vpci, unsigned int offset,
                      unsigned int size);

Maybe it's even worth to just convert vpci_remove_register() into
vpci_remove_registers() and allow it to zap multiple registers at
once?  As vpci_remove_register() is just used for the tests harness.

That function would be used by each capability cleanup routine to
clean it's PCI config space.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 12:01:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 12:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932424.1334547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzDpu-0005gN-0b; Mon, 31 Mar 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 932424.1334547; Mon, 31 Mar 2025 12: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 1tzDpt-0005gG-UH; Mon, 31 Mar 2025 12:01:49 +0000
Received: by outflank-mailman (input) for mailman id 932424;
 Mon, 31 Mar 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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzDps-0005Tw-VF
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 12:01:48 +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 ec14b0c9-0e27-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 14:01:47 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43ce70f9afbso45303905e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 05:01: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-39c0b7a42a3sm11251662f8f.91.2025.03.31.05.01.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 05:01: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: ec14b0c9-0e27-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743422507; x=1744027307; 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=ZfuQddb+PyMew2eqQBBtECV4Ps+rVk9z1LijNlqeAJ4=;
        b=U2t38NYev5rDJBRQ8+aPwwv08B2/JUNET4tROhLQnkcbHaSnkdtFALmMkNe6LSOTGL
         gZBMybv4nvcm4XXM37UcjIROAhI1lD9kqoIZwDS8FN5usNx/2lOqki75X1UAcTjF25Ym
         wBXjkATE66ZvLxTysMLtLe36Sbitm4zbkJhbawZDc5bKAlwGI5LC12LgkQoy5HGBI5Oq
         ynqoUA1FBgJdInefvH6GP3q48tifjr9ZE5zFdWqRTuHL6I2knBbO2DXU9llj1YylysLu
         56NpFXmieac3bA1M2k1PUabOAvj5mzHbtdyhhpg76LNwPH3lVPdsMiHsLAVFt3pic679
         QSmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743422507; x=1744027307;
        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=ZfuQddb+PyMew2eqQBBtECV4Ps+rVk9z1LijNlqeAJ4=;
        b=myArukIT6r5LQdHgCYsofXOCHjejOYW8e+5SHX3VNrs4tzHhsboUw+XYj8+mcOj/xr
         9mMiDRrfORuRLPeEGGqLmMMDwVx5YRa4h8kMBRbRopFzqIA1LtqoGcn0wJFJwOSfLnEX
         aeZ05jofXaGutUA/0aiGArB5010n/cytWILzIFNyLlMjlTJz8Qcog0W+1verrouHE0rX
         hefk6gKTJC+5KR+Fd4ZG3x8yjEzbiPPvhj7efuxKEFg5tXLTmc5c3vLircdXMz/C5nXb
         lbvaK9yMBxFSX/kwVvl7L7i9L85l6JPml/AR8lBcB4HYj7NLsR2f1ewgmsNPtc3lpVf6
         jIeg==
X-Gm-Message-State: AOJu0YzhS0eM5Za8lWVQyOFXW9hheTeRJuX6aSgViEQ0o5TLkW8nBOnn
	HG9kRxP1qcjwNiWNfhXX3nSP6rnqGPeUXaY2JEZmzVJPbuXXyO2sC4XK1Fo7zKWdUeplMpcHf3c
	=
X-Gm-Gg: ASbGnctG8uh1JWoD+U3zgJ5TlRViwrvxnLI0KWJTNrUos1w/XnFgBSY0/V41BWKcykQ
	q1VRtzBy7l+w6AEIfMYqw8WClRBMb50dMQl5FIXUXastW9PUceBobiwift1DZdfArrWVKIfRq1D
	1SZuA04gl3I2MM/MaSjG9PrzKBD6mp1vFLx9IS6J8EmpQ7mioCgxvguiW+Bc988APVgiFGYcL6A
	aNMbDIgTA/gMJUGOGvNiCdGrd+o+ay8VvmNwBLhF8TOxg3iBI1ACoUDu7/oNsqXAUmliOYyaoXR
	zf5vehvCT5oFrvRquGNFjDn+d38oM+hB9eJR1aJvqtWDovJ0Dh9uYltiFru7L9CuFh0NJbUcSqe
	X7YWuKvJf+eYWnGL6/E8ZUt8/r1IcAA==
X-Google-Smtp-Source: AGHT+IF487W4FOh5MPtn2POPHQVHa5dw4ujF1P5FkgLi/WxoXxQp4YYuY8uzHw4/fDmwXkUpm/wYtQ==
X-Received: by 2002:a05:6000:42ca:b0:38f:30a3:51fe with SMTP id ffacd0b85a97d-39c12117a99mr5260433f8f.42.1743422506952;
        Mon, 31 Mar 2025 05:01:46 -0700 (PDT)
Message-ID: <03f284a2-cc9b-4950-89b7-f9feaac0e129@suse.com>
Date: Mon, 31 Mar 2025 14:01:45 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] Config.mk: correct gcc5 check
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Passing the -dumpversion option to gcc may only print the major version
(for 4.x.y it printed major and minor, which in nowaday's scheme is then
indeed just 5 for 5.x).

Fixes: 40458f752550 ("Xen: Update compiler baseline checks")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/Config.mk
+++ b/Config.mk
@@ -125,9 +125,9 @@ define cc-ver-check-closure
     endif
 endef
 
-# Require GCC v5.1 as the project global baseline
-check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC 5.1")
+# Require GCC v5 as the project global baseline
+check-$(gcc) = $(call cc-ver-check,CC,0x050000,"Xen requires at least GCC 5")
 $(eval $(check-y))
 
 ld-ver-build-id = $(shell $(1) --build-id 2>&1 | \
 					grep -q build-id && echo n || echo y)


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 12:06:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 12:06:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932450.1334558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzDuR-0007nW-Hb; Mon, 31 Mar 2025 12:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932450.1334558; Mon, 31 Mar 2025 12:06: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 1tzDuR-0007nP-FA; Mon, 31 Mar 2025 12:06:31 +0000
Received: by outflank-mailman (input) for mailman id 932450;
 Mon, 31 Mar 2025 12:06: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzDuP-0007li-Go
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 12:06:29 +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 92eb5435-0e28-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 14:06:27 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so43790625e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 05:06: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-39c0b6588e9sm11405868f8f.14.2025.03.31.05.06.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 05:06: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: 92eb5435-0e28-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743422787; x=1744027587; 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=SoXdx9362lMuWFXm4rmKqTwJvk4L9cvuVpZbFweaOMM=;
        b=gBr3D/NCMJJEeQt4fYmGuMGZIcdosi1UwzuqdAwJOmoIOol7t8vv58IlmpL7Nk9V15
         7sa7/oasccOUABwtCf2kh/RmgOyo62OlH2EjKIAB4ZyFmW2I1LK9kk4ImCY1m466LpGx
         UrcTm1UawDpy28tXJwwSifd8TMR9iU/y6ZdNreQwUTvjDVZ6/9nNaJd5ZpzO98tIfBMu
         ggyIVJYcbsLyiPHAwj4oiPz2tY08lFTV7PI0RRhIkUAYav4zD3EWGJHPnXPtbDTdeJnt
         uPlQB1wmaO5pfiwaAV1gBrtjEW40X59nbAx8PMrTSsQiCVnQsraSjeQJnWRx+x9TGFPa
         a91A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743422787; x=1744027587;
        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=SoXdx9362lMuWFXm4rmKqTwJvk4L9cvuVpZbFweaOMM=;
        b=BoEviVcjUgGCMrZ/fk8zW1Jsn4NcSC4Ma5nS5uNVQYQzSk494HECAqK1/D/A04glQH
         tYnl1v1vHRguFDsDIybK9VvbJ6ls6vU3sZEVtUGCk1YVlH9ONqPkSOk8jjX8iNbWKxTb
         YWNhBcC0P4X4XPpu4awcCR5acL+TkoPp6+hrhUwM+K56rNO0anPujt2kXAdST0zC7ebS
         WgqVTokH7NTsMbxJX2mvMD7FHNESjh5Q1SN4BUuhMAvUvOO9MoqqIZt/RNVh8JFCFtIM
         unx8D85mXDX4zRByw7nQRVNJGuC4GnWtBq5xnXj7T5Iutf2aOXCY3HjQqlX5/t09TgU8
         Os/Q==
X-Gm-Message-State: AOJu0YzX28UpfOpH+apOXJv565tPYLb1eazhWbuZ6HhiF6qo3oor5PZA
	bwgBYDK1J3lve2Yhg45bqb8bMlMqL0uEFsyLxzsUC7FuhqrW5SZaA5umxcY1V1vpdxVi6emeZAQ
	=
X-Gm-Gg: ASbGncv/z2e8rXn+9RUgB+H+t0onwZ+iqLOpDVQtix5zeFD+OM/htlE15BAns+i51wc
	Fz9bIGrfn7wPK5CBxOCKCiQY+GnT+QS1fPYPtIO1YG8YqwRTVZg6RMi6v/8jgDKR39G2sy3t1ws
	iImzfRxbcpuWAA8AwnZaskQUf6NJnC2vNhnEZR1hULQ5g/V9twRpL7mes8rjBD8K0lXDqHpMQC8
	ixEELnJTzP5urjyVLz3yGlimR70WNuKLMo+gGwnOc5UFn9ZGI/5NmiMELyEj0bMzdrcpGcXZrOv
	OR2LdnB8QElg+TEmnxow75eyUKaNLVszq0jAC9qOtsg9Izyu89YeK0S/tY35fU1CyfbnmrffLhn
	wMVDYVqN27kDK7D7+ETs/lULTVyVXSXE27cHNDFVn
X-Google-Smtp-Source: AGHT+IH0YGOBCNj7awZ+RFFLpN/3l/0IlXszoKHnLvmSdQaBSbBhbF4G3OOdtXJb217wy9hNKpqlnA==
X-Received: by 2002:a05:6000:400e:b0:391:2e31:c7e5 with SMTP id ffacd0b85a97d-39c120cc88bmr6709027f8f.6.1743422787068;
        Mon, 31 Mar 2025 05:06:27 -0700 (PDT)
Message-ID: <4042ed88-5921-46a8-877c-81fa96a82b42@suse.com>
Date: Mon, 31 Mar 2025 14:06:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: correct gcc5 check
From: Jan Beulich <jbeulich@suse.com>
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>
References: <03f284a2-cc9b-4950-89b7-f9feaac0e129@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: <03f284a2-cc9b-4950-89b7-f9feaac0e129@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31.03.2025 14:01, Jan Beulich wrote:
> Passing the -dumpversion option to gcc may only print the major version
> (for 4.x.y it printed major and minor, which in nowaday's scheme is then
> indeed just 5 for 5.x).

I meanwhile notice that my self-built compilers print 3 digits, so there
really is a point to doc saying

"Depending on how the compiler has been configured it can be just a single
number (major version), two numbers separated by a dot (major and minor
version) or three numbers separated by dots (major, minor and patchlevel
version)."

I've locally changed the above to

(my system 4.x.y printed major and minor, which in nowaday's scheme is
then indeed just 5 for 5.x, which in turn is what my secondary system
compiler does)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 12:38:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 12:38:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932461.1334567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzEPa-00089M-T0; Mon, 31 Mar 2025 12:38:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932461.1334567; Mon, 31 Mar 2025 12:38: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 1tzEPa-00089F-QJ; Mon, 31 Mar 2025 12:38:42 +0000
Received: by outflank-mailman (input) for mailman id 932461;
 Mon, 31 Mar 2025 12:38: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=41q6=WS=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1tzEPZ-000897-LN
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 12:38:42 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20604.outbound.protection.outlook.com
 [2a01:111:f403:2418::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 112e6096-0e2d-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 14:38:39 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by DM6PR12MB4420.namprd12.prod.outlook.com (2603:10b6:5:2a7::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 12:38:34 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%5]) with mapi id 15.20.8534.045; Mon, 31 Mar 2025
 12:38: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: 112e6096-0e2d-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HcN2+71k+7BZIJs1QZNCwcT/6bx8WyHL9SqVen/471xGMTwjpTOBYsB8JlzZdozo/eRQGHooyoWJ+jlXZq67mk3goPYn5p0XHdLEiYjlBH2ofhoEr2FhJfdYCzn3jVmoDczp3TI26weWsZIyQlCRmfHvhTPz/6dAYPAfWaOT7AaFI1jFmL3dVPUiTpH74WPnMg3z1ESXw1RQ/Axt1+rPE5hqg5lwA07/v/+T4hsZ0wAEAagB/beMR6xrL5RkBnqajCGVvZGxA+HdUbcC9wkUCpkkX0uMT3L+sDhotM4Ml2iM0GV0LLucSieztrUoTAyQlfk9Tq6YlJ4pfa6qdaEpeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x3UGQACn5z4ZnDIPbPEYZTBhIi2Fl+pw5xtcqgngY14=;
 b=FDZpyt6o/Ex/s7GGmNWjWVRVSBRgtb0ihuC/TYKNMj7ROEPH8LGzepZi4bgDs3A3cacsRSq89q2L+n2hvcdXTbkZhYaPtlfirj+m3/6x5OhrZhO5ddKJ0KmqJp5ozcmulyJFAnERszhi0lkCxuvzKWrdtsXH9H3GSd7tzedj3aquC4QZIDSGsv2SXkc/4UBF3hWak52P5RHgQ9PVxgG5UABEuRsSthbuUx7T7Lj4Aw+HzrUFVEqzsO46Qx+tS6BH6NrOcrsHHa5vtVxMshO7FEfhy/01R56z9QSA+N1dp6WiWAm+kzCbJKXdgkWxhW+UplJrYDFXAR1/j0P76ERMtQ==
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=x3UGQACn5z4ZnDIPbPEYZTBhIi2Fl+pw5xtcqgngY14=;
 b=n7+C0XAVfAHQH1i9yKEXVpMcONs5sSnMb1jYbZl5ve43u1cx4pSCJh/Wxkyb81PEC61i90tCNEBG4zBLK7ldfNkE36LjLXlD4eVJIrciiyXZ2/po6Ha5+A1KrKAYoOZyGETNbVnEOIw6DE8QRuU1nlh65+EA5EOXqDUkjJkxA7c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <b67f5e7a-f151-4831-b42e-6db5831728db@amd.com>
Date: Mon, 31 Mar 2025 13:38:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] xen/arm: Move some of the functions to common file
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 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: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
 <20250330180308.2551195-3-ayan.kumar.halder@amd.com>
 <4d57c061-ec16-4467-8bd1-08a40161ab0e@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <4d57c061-ec16-4467-8bd1-08a40161ab0e@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0071.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1::35) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|DM6PR12MB4420:EE_
X-MS-Office365-Filtering-Correlation-Id: 947fa6be-1757-470f-0ed6-08dd7050f386
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?aTJoc3VuTnl3cTN6V3crRXJsMmQvYTRXMENtMjlWL05LaVVadnh2QWE2VGgz?=
 =?utf-8?B?eFBFajllRDZWQzgvN2E2WndqTkVTOXIrQjZsK3NpR2U4OU9TN3E0T3NtOW1R?=
 =?utf-8?B?NWcrUUZJQ2xINW9oWXNvLzU3RFZOTFBZajdyWW9uZHRwSks0ZmtGd3gzQVRW?=
 =?utf-8?B?SEkyTzZNYXd1TjBPQTAwZlUrVHl5NXhIcHNhNlNpUVY4N3hDdE9mN3gwZHhS?=
 =?utf-8?B?MnpYdmRiQ01IdElnMXdzRGRmQjh0R3BaYVdhTmZIN2MwMEx0YkJLVHBDOUdw?=
 =?utf-8?B?VmJsbnJVdVJLdXljcHhyVUJyb1lsVHVqOXIvWnlDT1hhZ280VGd6QWQ1ZVNz?=
 =?utf-8?B?akVtV1hMeks2NHRiQlB2MER4bi9URDBBOVRYU2wvU2tOeUlGRzhnbzA2cFNk?=
 =?utf-8?B?Z2dRdnQ2Y2ZwTG1FdktPekpUVTR1ZlZ5RHhxL2ZlWE1mVEJmK2J4d3I1L0R0?=
 =?utf-8?B?UlJpZHNIRXVQUWpaREp0Y2lkTjJ3VWtSc0NzdzJzK0IxQmdyd3EvNUZnZ2xp?=
 =?utf-8?B?aWhRTzdDTzljZVZGckpjZlpkbDA3QitsYlh3aFJKTHM3MGRpZndrN2tIRERP?=
 =?utf-8?B?L2NIRjFvQVVLdGg2UEtGdGRuT3ZmZDUyWlFLbFpHOTFrOS9OaHdCQWxXNlV2?=
 =?utf-8?B?ejZRZmtHdDZRZGJFT24zYnpScmlrYjBoQ0ExN3FFdVJwWS80dlgvZGxPZXdu?=
 =?utf-8?B?TEVodnVCcmthN1ArTGRLWVdqOUg4UHFQR0VVY292NHE2aFkxS1hjM2RYZU1u?=
 =?utf-8?B?cXpmYW0ySGNuVytRWkVrOWZ0RlFDVy95VTBscGtQekNEaFNFbWRqNFlFdHBQ?=
 =?utf-8?B?Uy8yOG5ZZWxXMTlwVlV2OTVPTjZySEpWSmppQ3VFaVAzOUs5Q3hBSENYSmNU?=
 =?utf-8?B?a251eXJJeGl4QnJKUmRtWnR0WEZWL1pGV3hZbWlXZC9OdTFJeU1TeFV4a3dR?=
 =?utf-8?B?TkZlcVI3OEdVTml0b2p3aUV6R0RReUx2SXJjSm03eEc3WkN0SkVkVWFrcnhV?=
 =?utf-8?B?MU1HMFZIL0hMRFdkR2oxc2xoWm13REt3RTR1bW1ORGJaYjNaRG5NbUJqTVNT?=
 =?utf-8?B?dnJOL0V2K1NLWGJOM2RVQ05LOEtCZ3JaWW1tQXJKMGRUanBMd3Zla0VMYy9p?=
 =?utf-8?B?V3hlS204Zk1qZFB2Nkw3L2lYUE4yZnhCdDVOWnR2QXJVUGZTTFlCZThySHE0?=
 =?utf-8?B?cHF3MlplZHJacGFlbXpBWVJDemNrTXZjZ0hIdkIyVnBuenkvK3lBL0dzbi9i?=
 =?utf-8?B?NjZlZXYzRzZ3b2lIcUdaYmpJdnhQMFM1djhvYTcrUlVxc2hCc2ltS3FiOEZH?=
 =?utf-8?B?RnRiNC9oakZJS0ZEUmkxNlZEdjN1bXZUZ3NOTWJNZks4OUQ0VTdLc3ZEdnYz?=
 =?utf-8?B?bGgvd0pOMGpyMzQyRjgxT2RHaFJFcEl0UHVEU25SbzN5Y05KOXFMbmRQRnZu?=
 =?utf-8?B?RGMzb29oM0pDZDE4NjJ6TVJNWndzMVUrUWJ2NllMOEEzRlVaMERDWkdPWEFB?=
 =?utf-8?B?MFprSG13U1hIQ3oxUEthVDZab2U1MUZtakEzMjUrRUdKQzhUMGxaSkZtUnNP?=
 =?utf-8?B?dERQdzdHQkJXTm9xRnBPYUN0Y1MxMk1UMDR0QzRYMTNkbWlMei9QL1pBbGZX?=
 =?utf-8?B?Tzdid2ZXMlZYOEdjdjNQM3hwVXZrRUpRNFhhblRDSkcwUzlhclE1eS9TN1Qz?=
 =?utf-8?B?N1lMTDlNbFhSM3ZlMWxmdGo5WVRxb2d2V1FTV1pRQlE5VDY0MWVDc3lqY3o1?=
 =?utf-8?B?Y1Jjdi96YjJ6bU5jOGpyR2dsNHk4Qkd0ZEtOUEZoMWVNajJPU0pjdlpoVVVH?=
 =?utf-8?B?M1BuNS9tU1NnTkh0WjRnbm14aE1uRFlwRHNQemEvelN5SHA0SSt4R3lPUkhF?=
 =?utf-8?Q?msAeAlm0bHTSb?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.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?aVBtZE8xR0ZrYXpUU2JDeUNqOE01d0ZpQ2JEcGVPQWVRc005T0UzYVk2clB2?=
 =?utf-8?B?c1VxYnJycERyNGI4NisyZCtXRFZKb1M5UnhLeHJobVZBQkRXMU1la1JFR0VS?=
 =?utf-8?B?YVJITGc0QU9nMjVIeVR3cVZ2dTVKQnV4V1hGT3kzbzZ6Mm9QcDJsSGFIbTU2?=
 =?utf-8?B?UzY5bjRrc2ZoamVtN3dwMWdqNC9CMkZlcVJEbUNJK1hQTzRVODdhRjhubUFy?=
 =?utf-8?B?V2NCdDN4ZXloOHVtUTY1SFB1U1E4dnYwUDd2ZTFBNXQvKzVqR3k1TWpYdi9G?=
 =?utf-8?B?WnNCZ2tpTnlmSGF1Nm4yYkd1QTlDOTVXYnRTTSsrdFptTGVuMm12bjJiYmJn?=
 =?utf-8?B?ei80d3NLMnQ0bzUva0l2OFMzMUhnbGlEMnVzYkNnWjg5YjhLeEJiaDcrN2ZR?=
 =?utf-8?B?dGlETmxhdFpSaXlyMmlYelhLTkhleHVZNitTQW0zUE5pc3R1M0xOcURNNHFs?=
 =?utf-8?B?ZkpJeHNydnJ1NDhhanh1UE9HOFNra2NQNERSKzd2Uk1vZlhGckNEYVgvYitF?=
 =?utf-8?B?dXh4UndPenRRdEdZY3VWOThsRFR4aDljRHg3eXBPNzRTWW5xV2kxTEFFQVRw?=
 =?utf-8?B?VzVYMVBNKzhFTkgwYVVuUnBhNmJhQVhzUEI3WVcrMENRQVJjNUZ2YjhmQW13?=
 =?utf-8?B?RlZMMmY0US9yZ2syZ3g4U2RLd01pNVFQU0xsaGlMNjF4M2o4NDhBbDdOb1ps?=
 =?utf-8?B?LzNRbldId2g2NXoySzYwaVZWOHI4aCs0dmFuWFYwcm5uNitXclJUU3JoN3pu?=
 =?utf-8?B?QlE2SC8venQ0RUhTcjQzMnd3OFZjYVZjZnJnb2lhZ0xCVTY1cmtFQ215L1Br?=
 =?utf-8?B?S1dOZkNYaUdIdVVEaXQrdDBvQU0yNy9FT3BVTXY0YVFsSlV1M1F4SHJpYnRW?=
 =?utf-8?B?djhYUDNkM0M5bGFVNUZzU05OdkFRMTU5L1p6bEVLZ21mL0ppd3BLUFRrZ003?=
 =?utf-8?B?MS8rMnhKS3JyeUg0VEh3RngvNkcvT0lXMlRLNVdMTWtjbk5VRzg2U1lSaGJ5?=
 =?utf-8?B?dU9sUzNZY0lSekNyQUZTMzU2cDMxRk5kNE8yUjVDbTBJVy9nbUpvS1BmNWNL?=
 =?utf-8?B?MWJEdnZCQ1k5bzZRZlJqcldoVElORkZ0MmtvbWJxSHpmcXlQRlp0WkZuT1JJ?=
 =?utf-8?B?aDB5ODhkTDVKckhQd09ydEFxN1ZVOVAzT051ZzlmR2ZTQjRpbzRHS0FHcWxR?=
 =?utf-8?B?N1paMzVPanlMTWl4eXlQay9CR0JGUkVZa2o0dm44bHM3UmhvRDJ4YXdtT3Zq?=
 =?utf-8?B?LzJPZGF3d05tMk92dzM1cFVBQlFRZmFCK1JJMkRmbjBpM3I3VjFQT2NPZVNW?=
 =?utf-8?B?aGZ3V3lkYU4yOXJKTGJaKzhUdERjSmQ5Zno0L1hWczU4c2JIZTNZSU02eUZm?=
 =?utf-8?B?SFNiWnMvcHdvNSt1RXRoMHRHeDM0S052M292eDhSc243WC95RzMvQU0wT1Jr?=
 =?utf-8?B?T1VGWHRmOFF5NzFQdGgwdnE3VklPa2RhMkZPSTNxc1Z5NllpZm5ieUJIZ1lB?=
 =?utf-8?B?Wm9nMHRtNmZoMktxdjB2eTJhaTFLZXdsRFMrTWRPeEVvVTUxMEMvdFg5Ry9i?=
 =?utf-8?B?UWtNY2N6TW8weXJITC9zYVdtMWl0Rm9YOXpCU2VTWHlNY1hnKy9sUTVRZ3dv?=
 =?utf-8?B?TC9JcEFjSk01SEl0cEFwUHBJSHZMSFY5alJwd3ZFSFZRSmdSSFdCczBNT3lj?=
 =?utf-8?B?SDRTNXVLWVdsS0JlaTN3eVRlRFp2cHZrSkRSOSsvTmRUVlpITVJ2K2ZZcFNK?=
 =?utf-8?B?SlFSdk1DZUF0QnNmaFRrL1VrN2s1eFUxLzF5M201aWRRcWRDNmtaVmFBeGVz?=
 =?utf-8?B?ZDQ4Z3ZhYTNqQ3pmOTJ6NVV0MWRiWFJ2UzVQb2RIK01wT2NsUzdYR2N2NzZQ?=
 =?utf-8?B?WXc0U1FOQ1k2VmhnQ1B2a2s5Qk9qZnhzTU9TWUt0NjNnNDFXc2p1eElRZXdX?=
 =?utf-8?B?NXlXYVF3eW0yWHJXUWVYa21WaDVMYU5VZ1VTeGczR2h6aHVNSHJTcHpnRmta?=
 =?utf-8?B?YjRRa3lWRlRjN2JYTjFINlhFZ3pkUngyUFhMN1lFN3oya1dXa3dSTVlMUTFh?=
 =?utf-8?B?UjlYZFlUdjQ4ZitSRUFuNGZDTVZPZ004UVNpaGRWV2c4dTdPRFhhbVZYcU5R?=
 =?utf-8?Q?WKhIXDnKQYlx9cjwrRSBMd/V0?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 947fa6be-1757-470f-0ed6-08dd7050f386
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 12:38:34.5000
 (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: 1vnP2Do0Aj0UzpRuMQnHr4BZcQgJrPe+j4SGkfcEEYwNInzy67l18nMKk9tT243jNUPXPQLmplJywBf0ApWHbw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4420


On 30/03/2025 22:06, Julien Grall wrote:
> Hi Ayan,

Hi Julien/Michal,

Michal - I agree to use {READ/WRTIE}_SYSREG_ASM() instead of LOAD/STORE.

I need your thoughts on the following.

>
> On 30/03/2025 19:03, Ayan Kumar Halder wrote:
>> Added a new file prepare_xen_region.inc to hold the common earlyboot 
>> MPU regions
>> configurations across arm64 and arm32.
>
> While I understand the desire to consolidate the code, I am quite 
> unconvinced this should be done for assembly code. A few examples 
> below why.
>
> I would be interested to hear the view of the other Arm maintainers.
>
>>
>> prepare_xen_region, enable_boot_cpu, fail_insufficient_regions() will 
>> be used by
>> both arm32 and arm64. Thus, they have been moved to 
>> prepare_xen_region.inc.
>>
>> REGION_* are moved to arm64/sysregs.h. Introduced LOAD_SYSREG and 
>> STORE_SYSREG
>> to read/write to the system registers from the common asm file. One 
>> could not
>> reuse READ_SYSREG and WRITE_SYSREG as they have been defined to be 
>> invoked from
>> C files.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from
>>
>> v1 -
>>
>> 1. enable_mpu() now sets HMAIR{0,1} registers. This is similar to 
>> what is
>> being done in enable_mmu(). All the mm related configurations happen 
>> in this
>> function.
>>
>> 2. Fixed some typos.
>>
>> v2 -
>> 1. Extracted the arm64 head.S functions/macros in a common file.
>>
>> Â  xen/arch/arm/arm64/mpu/head.SÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | 132 +-----------------
>> Â  xen/arch/arm/include/asm/arm64/sysregs.hÂ Â Â Â Â  |Â  15 ++
>> Â  .../include/asm/mpu/prepare_xen_region.incÂ Â Â  | 128 +++++++++++++++++
>> Â  3 files changed, 148 insertions(+), 127 deletions(-)
>> Â  create mode 100644 xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
>>
>> diff --git a/xen/arch/arm/arm64/mpu/head.S 
>> b/xen/arch/arm/arm64/mpu/head.S
>> index 4d00de4869..90b4c8c18f 100644
>> --- a/xen/arch/arm/arm64/mpu/head.S
>> +++ b/xen/arch/arm/arm64/mpu/head.S
>> @@ -3,83 +3,7 @@
>> Â Â  * Start-of-day code for an Armv8-R MPU system.
>> Â Â  */
>> Â  -#include <asm/early_printk.h>
>> -#include <asm/mpu.h>
>> -
>> -/* Backgroud region enable/disable */
>> -#define SCTLR_ELx_BRÂ Â Â  BIT(17, UL)
>> -
>> -#define REGION_TEXT_PRBARÂ Â Â Â Â Â  0x38Â Â Â  /* SH=11 AP=10 XN=00 */
>> -#define REGION_RO_PRBARÂ Â Â Â Â Â Â Â  0x3AÂ Â Â  /* SH=11 AP=10 XN=10 */
>> -#define REGION_DATA_PRBARÂ Â Â Â Â Â  0x32Â Â Â  /* SH=11 AP=00 XN=10 */
>> -#define REGION_DEVICE_PRBARÂ Â Â Â  0x22Â Â Â  /* SH=10 AP=00 XN=10 */
>> -
>> -#define REGION_NORMAL_PRLARÂ Â Â Â  0x0fÂ Â Â  /* NS=0 ATTR=111 EN=1 */
>> -#define REGION_DEVICE_PRLARÂ Â Â Â  0x09Â Â Â  /* NS=0 ATTR=100 EN=1 */
>> -
>> -/*
>> - * Macro to prepare and set a EL2 MPU memory region.
>> - * We will also create an according MPU memory region entry, which
>> - * is a structure of pr_t,Â  in table \prmap.
>> - *
>> - * sel:Â Â Â Â Â Â Â Â  region selector
>> - * base:Â Â Â Â Â Â Â  reg storing base address
>> - * limit:Â Â Â Â Â Â  reg storing limit address
>> - * prbar:Â Â Â Â Â Â  store computed PRBAR_EL2 value
>> - * prlar:Â Â Â Â Â Â  store computed PRLAR_EL2 value
>> - * maxcount:Â Â Â  maximum number of EL2 regions supported
>> - * attr_prbar:Â  PRBAR_EL2-related memory attributes. If not 
>> specified it will be
>> - *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_DATA_PRBAR
>> - * attr_prlar:Â  PRLAR_EL2-related memory attributes. If not 
>> specified it will be
>> - *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_NORMAL_PRLAR
>> - *
>> - * Preserves \maxcount
>> - * Output:
>> - *Â  \sel: Next available region selector index.
>> - * Clobbers \base, \limit, \prbar, \prlar
>> - *
>> - * Note that all parameters using registers should be distinct.
>> - */
>> -.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, 
>> attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
>> -Â Â Â  /* Check if the region is empty */
>> -Â Â Â  cmpÂ Â  \base, \limit
>> -Â Â Â  beqÂ Â  1f
>> -
>> -Â Â Â  /* Check if the number of regions exceeded the count specified 
>> in MPUIR_EL2 */
>> -Â Â Â  cmpÂ Â  \sel, \maxcount
>> -Â Â Â  bgeÂ Â  fail_insufficient_regions
>> -
>> -Â Â Â  /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
>> -Â Â Â  andÂ Â  \base, \base, #MPU_REGION_MASK
>> -Â Â Â  movÂ Â  \prbar, #\attr_prbar
>> -Â Â Â  orrÂ Â  \prbar, \prbar, \base
>> -
>> -Â Â Â  /* Limit address should be inclusive */
>> -Â Â Â  subÂ Â  \limit, \limit, #1
>> -Â Â Â  andÂ Â  \limit, \limit, #MPU_REGION_MASK
>> -Â Â Â  movÂ Â  \prlar, #\attr_prlar
>> -Â Â Â  orrÂ Â  \prlar, \prlar, \limit
>> -
>> -Â Â Â  msrÂ Â  PRSELR_EL2, \sel
>> -Â Â Â  isb
>> -Â Â Â  msrÂ Â  PRBAR_EL2, \prbar
>> -Â Â Â  msrÂ Â  PRLAR_EL2, \prlar
>> -Â Â Â  dsbÂ Â  sy
>> -Â Â Â  isb
>> -
>> -Â Â Â  addÂ Â  \sel, \sel, #1
>> -
>> -1:
>> -.endm
>> -
>> -/*
>> - * Failure caused due to insufficient MPU regions.
>> - */
>> -FUNC_LOCAL(fail_insufficient_regions)
>> -Â Â Â  PRINT("- Selected MPU region is above the implemented number in 
>> MPUIR_EL2 -\r\n")
>> -1:Â  wfe
>> -Â Â Â  bÂ Â  1b
>> -END(fail_insufficient_regions)
>> +#include <asm/mpu/prepare_xen_region.inc>
>> Â  Â  /*
>> Â Â  * Enable EL2 MPU and data cache
>> @@ -108,62 +32,16 @@ END(enable_mpu)
>> Â Â  * Maps the various sections of Xen (described in xen.lds.S) as 
>> different MPU
>> Â Â  * regions.
>> Â Â  *
>> - * Clobbers x0 - x5
>> + * Clobbers x0 - x6
>> Â Â  *
>> Â Â  */
>> Â  FUNC(enable_boot_cpu_mm)
>> -Â Â Â  /* Get the number of regions specified in MPUIR_EL2 */
>> -Â Â Â  mrsÂ Â  x5, MPUIR_EL2
>> -Â Â Â  andÂ Â  x5, x5, #NUM_MPU_REGIONS_MASK
>> -
>> -Â Â Â  /* x0: region sel */
>> -Â Â Â  movÂ Â  x0, xzr
>> -Â Â Â  /* Xen text section. */
>> -Â Â Â  ldrÂ Â  x1, =_stext
>> -Â Â Â  ldrÂ Â  x2, =_etext
>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>> attr_prbar=REGION_TEXT_PRBAR
>> -
>> -Â Â Â  /* Xen read-only data section. */
>> -Â Â Â  ldrÂ Â  x1, =_srodata
>> -Â Â Â  ldrÂ Â  x2, =_erodata
>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>> attr_prbar=REGION_RO_PRBAR
>> -
>> -Â Â Â  /* Xen read-only after init and data section. (RW data) */
>> -Â Â Â  ldrÂ Â  x1, =__ro_after_init_start
>> -Â Â Â  ldrÂ Â  x2, =__init_begin
>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5
>> -
>> -Â Â Â  /* Xen code section. */
>> -Â Â Â  ldrÂ Â  x1, =__init_begin
>> -Â Â Â  ldrÂ Â  x2, =__init_data_begin
>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>> attr_prbar=REGION_TEXT_PRBAR
>> -
>> -Â Â Â  /* Xen data and BSS section. */
>> -Â Â Â  ldrÂ Â  x1, =__init_data_begin
>> -Â Â Â  ldrÂ Â  x2, =__bss_end
>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5
>> -
>> -#ifdef CONFIG_EARLY_PRINTK
>> -Â Â Â  /* Xen early UART section. */
>> -Â Â Â  ldrÂ Â  x1, =CONFIG_EARLY_UART_BASE_ADDRESS
>> -Â Â Â  ldrÂ Â  x2, =(CONFIG_EARLY_UART_BASE_ADDRESS + 
>> CONFIG_EARLY_UART_SIZE)
>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>> attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
>> -#endif
>> -
>> -Â Â Â  bÂ Â Â  enable_mpu
>> +Â Â Â  movÂ Â  x6, lr
>
> Aside what I wrote above, why do we need to save/restore lr?

In the case of arm32, there is no 'ret' instruction.

When enable_boot_cpu_mm() ----(invokes)--> enable_mpu(), LR should be 
saved and restored. Otherwise, one cannot return to the caller of 
enable_boot_cpu_mm()

>
>> +Â Â Â  enable_boot_cpu x0, x1, x2, x3, x4, x5
>> +Â Â Â  movÂ Â  lr, x6
>> Â Â Â Â Â  ret
>> Â  END(enable_boot_cpu_mm)
>> Â  -/*
>> - * We don't yet support secondary CPUs bring-up. Implement a dummy 
>> helper to
>> - * please the common code.
>> - */
>> -ENTRY(enable_secondary_cpu_mm)
>> -Â Â Â  PRINT("- SMP not enabled yet -\r\n")
>> -1:Â  wfe
>> -Â Â Â  b 1b
>> -ENDPROC(enable_secondary_cpu_mm)
>> -
>> Â  /*
>> Â Â  * Local variables:
>> Â Â  * mode: ASM
>> diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h 
>> b/xen/arch/arm/include/asm/arm64/sysregs.h
>> index b593e4028b..9b833fe73b 100644
>> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
>> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
>> @@ -462,6 +462,19 @@
>> Â  #define ZCR_ELx_LEN_SIZEÂ Â Â Â Â Â Â Â Â Â Â Â  9
>> Â  #define ZCR_ELx_LEN_MASKÂ Â Â Â Â Â Â Â Â Â Â Â  0x1ff
>> Â  +#define REGION_TEXT_PRBARÂ Â Â Â Â Â  0x38Â Â Â  /* SH=11 AP=10 XN=00 */
>> +#define REGION_RO_PRBARÂ Â Â Â Â Â Â Â  0x3AÂ Â Â  /* SH=11 AP=10 XN=10 */
>> +#define REGION_DATA_PRBARÂ Â Â Â Â Â  0x32Â Â Â  /* SH=11 AP=00 XN=10 */
>> +#define REGION_DEVICE_PRBARÂ Â Â Â  0x22Â Â Â  /* SH=10 AP=00 XN=10 */
>
> While those makes sense in sysreg.h because they are definition based 
> on the Arm Arm. The definition for ...
>
>> +
>> +#define REGION_NORMAL_PRLARÂ Â Â Â  0x0fÂ Â Â  /* NS=0 ATTR=111 EN=1 */
>> +#define REGION_DEVICE_PRLARÂ Â Â Â  0x09Â Â Â  /* NS=0 ATTR=100 EN=1 */
>
> for PRLAR are specific to Xen. So I think they should be moved under 
> mpu/. I would also consider *_PRBAR ones.
>
> Also, are those values truely arm64 specific? Asking because you are 
> using them in common code.

These definitions (like the _PRBAR) are based on Arm Arm as well. The 
only difference is that these two values are common for arm32 and arm64.

I preferred to duplicate these values in both the header files so that 
they stay together with _PRBAR. One needs to use both _PRBAR and _PRLAR 
to set a MPU region. Thus, I don't prefer to split them in separate 
header files.

>
>> +
>> +#define STORE_SYSREG(v, name) "msr " __stringify(name,) #v;
>> +#define LOAD_SYSREG(v, name) "mrs " #v __stringify(,) #name;
>> +
>> +#ifndef __ASSEMBLY__
>> +
>> Â  /* Access to system registers */
>> Â  Â  #define WRITE_SYSREG64(v, name) do {Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
>> @@ -481,6 +494,8 @@
>> Â  #define WRITE_SYSREG_LR(v, index)Â  WRITE_SYSREG(v, ICH_LR_REG(index))
>> Â  #define READ_SYSREG_LR(index) READ_SYSREG(ICH_LR_REG(index))
>> Â  +#endif /* __ASSEMBLY__ */
>> +
>> Â  #endif /* _ASM_ARM_ARM64_SYSREGS_H */
>> Â  Â  /*
>> diff --git a/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc 
>> b/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
>> new file mode 100644
>> index 0000000000..3402ed23da
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
>> @@ -0,0 +1,128 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#include <asm/sysregs.h>
>> +#include <asm/mpu.h>
>> +
>> +/* Backgroud region enable/disable */
>> +#define SCTLR_ELx_BRÂ Â Â  BIT(17, UL)
>> +
>> +/*
>> + * Macro to prepare and set a EL2 MPU memory region.
>> + * We will also create an according MPU memory region entry, which
>> + * is a structure of pr_t,Â  in table \prmap.
>> + *
>> + * sel:Â Â Â Â Â Â Â Â  region selector
>> + * base:Â Â Â Â Â Â Â  reg storing base address
>> + * limit:Â Â Â Â Â Â  reg storing limit address
>> + * prbar:Â Â Â Â Â Â  store computed PRBAR_EL2 value
>> + * prlar:Â Â Â Â Â Â  store computed PRLAR_EL2 value
>> + * maxcount:Â Â Â  maximum number of EL2 regions supported
>> + * attr_prbar:Â  PRBAR_EL2-related memory attributes. If not 
>> specified it will be
>> + *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_DATA_PRBAR
>> + * attr_prlar:Â  PRLAR_EL2-related memory attributes. If not 
>> specified it will be
>> + *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_NORMAL_PRLAR
>> + *
>> + * Preserves maxcount
>> + * Output:
>> + *Â  sel: Next available region selector index.
>> + * Clobbers base, limit, prbar, prlar
>> + *
>> + * Note that all parameters using registers should be distinct.
>> + */
>> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, 
>> attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
>> +Â Â Â  /* Check if the region is empty */
>> +Â Â Â  cmpÂ Â  \base, \limit
>> +Â Â Â  beqÂ Â  1f
>> +
>> +Â Â Â  /* Check if the number of regions exceeded the count specified 
>> in MPUIR_EL2 */
>> +Â Â Â  cmpÂ Â  \sel, \maxcount
>> +Â Â Â  bgeÂ Â  fail_insufficient_regions
>> +
>> +Â Â Â  /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
>> +Â Â Â  andÂ Â  \base, \base, #MPU_REGION_MASK
>> +Â Â Â  movÂ Â  \prbar, #\attr_prbar
>> +Â Â Â  orrÂ Â  \prbar, \prbar, \base
>> +
>> +Â Â Â  /* Limit address should be inclusive */
>> +Â Â Â  subÂ Â  \limit, \limit, #1
>> +Â Â Â  andÂ Â  \limit, \limit, #MPU_REGION_MASK
>> +Â Â Â  movÂ Â  \prlar, #\attr_prlar
>> +Â Â Â  orrÂ Â  \prlar, \prlar, \limit
>> +
>> +Â Â Â  STORE_SYSREG(\sel, PRSELR_EL2)
>> +Â Â Â  isb
>> +Â Â Â  STORE_SYSREG(\prbar, PRBAR_EL2)
>> +Â Â Â  STORE_SYSREG(\prlar, PRLAR_EL2)
>> +Â Â Â  dsbÂ Â  sy
>> +Â Â Â  isb
>> +
>> +Â Â Â  addÂ Â  \sel, \sel, #1
>> +
>> +1:
>> +.endm
>> +
> > +.macro enable_boot_cpu, reg0, reg1, reg2, reg3, reg4, reg5
>
> If we go this approach, this will need some documentation on top 
> (similar to the other macro in this file).
Ack. will do.
>
>> +Â Â Â  /* Get the number of regions specified in MPUIR_EL2 */
>> +Â Â Â  LOAD_SYSREG(\reg5, MPUIR_EL2)
>> +Â Â Â  andÂ Â  \reg5, \reg5, #NUM_MPU_REGIONS_MASK
>> +
>> +Â Â Â  /* reg0: region sel */
>> +Â Â Â  movÂ Â  \reg0, #0
>> +Â Â Â  /* Xen text section. */
>> +Â Â Â  ldrÂ Â  \reg1, =_stext
>
> For instance, on Arm32, this could be replaced with ``mov_w`` which is 
> doesn't involve memory load.

Yes, this is a minor difference. Remember that this code is executed 
only once during boot time. While there is a performance penalty with 
ldr, should we really use mov_w (and as a consequence have a different 
implementation for arm32) where 99% code is the same and we have lesser 
code to mantain.

(Julien/Michal :- need your comments here)

>
>> +Â Â Â  ldrÂ Â  \reg2, =_etext
>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>> attr_prbar=REGION_TEXT_PRBAR
>> +
>> +Â Â Â  /* Xen read-only data section. */
>> +Â Â Â  ldrÂ Â  \reg1, =_srodata
>> +Â Â Â  ldrÂ Â  \reg2, =_erodata
>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>> attr_prbar=REGION_RO_PRBAR
>> +
>> +Â Â Â  /* Xen read-only after init and data section. (RW data) */
>> +Â Â Â  ldrÂ Â  \reg1, =__ro_after_init_start
>> +Â Â Â  ldrÂ Â  \reg2, =__init_begin
>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
>> +
>> +Â Â Â  /* Xen code section. */
>> +Â Â Â  ldrÂ Â  \reg1, =__init_begin
>> +Â Â Â  ldrÂ Â  \reg2, =__init_data_begin
>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>> attr_prbar=REGION_TEXT_PRBAR
>> +
>> +Â Â Â  /* Xen data and BSS section. */
>> +Â Â Â  ldrÂ Â  \reg1, =__init_data_begin
>> +Â Â Â  ldrÂ Â  \reg2, =__bss_end
>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
>> +
>> +#ifdef CONFIG_EARLY_PRINTK
>> +Â Â Â  /* Xen early UART section. */
>> +Â Â Â  ldrÂ Â  \reg1, =CONFIG_EARLY_UART_BASE_ADDRESS
>> +Â Â Â  ldrÂ Â  \reg2, =(CONFIG_EARLY_UART_BASE_ADDRESS + 
>> CONFIG_EARLY_UART_SIZE)
>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>> attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
>> +#endif
>> +
>> +Â Â Â  blÂ Â Â  enable_mpu
>> +.endm
>> +
>> +/* Failure caused due to insufficient MPU regions. */
>> +FUNC_LOCAL(fail_insufficient_regions)
>> +Â Â Â  PRINT("- Selected MPU region is above the implemented number in 
>> MPUIR_EL2 -\r\n")
>> +1:Â  wfe
>> +Â Â Â  bÂ Â  1b
>> +END(fail_insufficient_regions)
>> +
>> +/*
>> + * We don't yet support secondary CPUs bring-up. Implement a dummy 
>> helper to
>> + * please the common code.
>> + */
>> +ENTRY(enable_secondary_cpu_mm)
>
> I really doubt we will be able to keep this function common in the 
> future.

Are you ok if we keep it here for now ?


Looking a bit further ahead, the MPU registers are not core specific 
(unlike MMU). Thus, there is no MPU specific configuration that we 
should be doing for the secondary cores. We can investigate more on this 
when we enable SMP support.

- Ayan

>
>> +Â Â Â  PRINT("- SMP not enabled yet -\r\n")
>> +1:Â  wfe
>> +Â Â Â  b 1b
>> +ENDPROC(enable_secondary_cpu_mm)
>> +
>> +/*
>> + * Local variables:
>> + * mode: ASM
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:05:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932476.1334580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzEow-000860-09; Mon, 31 Mar 2025 13:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932476.1334580; Mon, 31 Mar 2025 13:04: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 1tzEov-00085t-TJ; Mon, 31 Mar 2025 13:04:53 +0000
Received: by outflank-mailman (input) for mailman id 932476;
 Mon, 31 Mar 2025 13:04: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 1tzEou-00085n-95
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:04: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 1tzEot-002MO8-2o;
 Mon, 31 Mar 2025 13:04:51 +0000
Received: from [2a02:8012:3a1:0:4a4:ac1c:109c:a95]
 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 1tzEot-00C2ts-1o;
 Mon, 31 Mar 2025 13:04: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>
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=e94XQNPad4qw2lQR5ZxqwI8pumOeK1nXJBUFvafC3W8=; b=oWkUKr02DVB0lui76Ul9dsCc9/
	con4Gl26IKabOxH7N4dntnsYTEMz2z6sYvn/w/w2mK0MyYz/cDpfF6l5hij3deulnZjICESOB9k6V
	ZpQ36Ft3zN4w2ohmCkWsuHaxVeiJfh5OrixiStmqWIrSIfSQCD9agiwtHpwU8z+bMKYs=;
Message-ID: <ae0ced6a-614b-43f3-a6e4-39404c76b30b@xen.org>
Date: Mon, 31 Mar 2025 14:04:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] xen/arm: Move some of the functions to common file
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 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: <20250330180308.2551195-1-ayan.kumar.halder@amd.com>
 <20250330180308.2551195-3-ayan.kumar.halder@amd.com>
 <4d57c061-ec16-4467-8bd1-08a40161ab0e@xen.org>
 <b67f5e7a-f151-4831-b42e-6db5831728db@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b67f5e7a-f151-4831-b42e-6db5831728db@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ayan,

On 31/03/2025 13:38, Ayan Kumar Halder wrote:
> 
> On 30/03/2025 22:06, Julien Grall wrote:
>> Hi Ayan,
> 
> Hi Julien/Michal,
> 
> Michal - I agree to use {READ/WRTIE}_SYSREG_ASM() instead of LOAD/STORE.
> 
> I need your thoughts on the following.
> 
>>
>> On 30/03/2025 19:03, Ayan Kumar Halder wrote:
>>> Added a new file prepare_xen_region.inc to hold the common earlyboot 
>>> MPU regions
>>> configurations across arm64 and arm32.
>>
>> While I understand the desire to consolidate the code, I am quite 
>> unconvinced this should be done for assembly code. A few examples 
>> below why.
>>
>> I would be interested to hear the view of the other Arm maintainers.
>>
>>>
>>> prepare_xen_region, enable_boot_cpu, fail_insufficient_regions() will 
>>> be used by
>>> both arm32 and arm64. Thus, they have been moved to 
>>> prepare_xen_region.inc.
>>>
>>> REGION_* are moved to arm64/sysregs.h. Introduced LOAD_SYSREG and 
>>> STORE_SYSREG
>>> to read/write to the system registers from the common asm file. One 
>>> could not
>>> reuse READ_SYSREG and WRITE_SYSREG as they have been defined to be 
>>> invoked from
>>> C files.
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>> Changes from
>>>
>>> v1 -
>>>
>>> 1. enable_mpu() now sets HMAIR{0,1} registers. This is similar to 
>>> what is
>>> being done in enable_mmu(). All the mm related configurations happen 
>>> in this
>>> function.
>>>
>>> 2. Fixed some typos.
>>>
>>> v2 -
>>> 1. Extracted the arm64 head.S functions/macros in a common file.
>>>
>>> Â  xen/arch/arm/arm64/mpu/head.SÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | 132 +-----------------
>>> Â  xen/arch/arm/include/asm/arm64/sysregs.hÂ Â Â Â Â  |Â  15 ++
>>> Â  .../include/asm/mpu/prepare_xen_region.incÂ Â Â  | 128 +++++++++++++++++
>>> Â  3 files changed, 148 insertions(+), 127 deletions(-)
>>> Â  create mode 100644 xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
>>>
>>> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/ 
>>> head.S
>>> index 4d00de4869..90b4c8c18f 100644
>>> --- a/xen/arch/arm/arm64/mpu/head.S
>>> +++ b/xen/arch/arm/arm64/mpu/head.S
>>> @@ -3,83 +3,7 @@
>>> Â Â  * Start-of-day code for an Armv8-R MPU system.
>>> Â Â  */
>>> Â  -#include <asm/early_printk.h>
>>> -#include <asm/mpu.h>
>>> -
>>> -/* Backgroud region enable/disable */
>>> -#define SCTLR_ELx_BRÂ Â Â  BIT(17, UL)
>>> -
>>> -#define REGION_TEXT_PRBARÂ Â Â Â Â Â  0x38Â Â Â  /* SH=11 AP=10 XN=00 */
>>> -#define REGION_RO_PRBARÂ Â Â Â Â Â Â Â  0x3AÂ Â Â  /* SH=11 AP=10 XN=10 */
>>> -#define REGION_DATA_PRBARÂ Â Â Â Â Â  0x32Â Â Â  /* SH=11 AP=00 XN=10 */
>>> -#define REGION_DEVICE_PRBARÂ Â Â Â  0x22Â Â Â  /* SH=10 AP=00 XN=10 */
>>> -
>>> -#define REGION_NORMAL_PRLARÂ Â Â Â  0x0fÂ Â Â  /* NS=0 ATTR=111 EN=1 */
>>> -#define REGION_DEVICE_PRLARÂ Â Â Â  0x09Â Â Â  /* NS=0 ATTR=100 EN=1 */
>>> -
>>> -/*
>>> - * Macro to prepare and set a EL2 MPU memory region.
>>> - * We will also create an according MPU memory region entry, which
>>> - * is a structure of pr_t,Â  in table \prmap.
>>> - *
>>> - * sel:Â Â Â Â Â Â Â Â  region selector
>>> - * base:Â Â Â Â Â Â Â  reg storing base address
>>> - * limit:Â Â Â Â Â Â  reg storing limit address
>>> - * prbar:Â Â Â Â Â Â  store computed PRBAR_EL2 value
>>> - * prlar:Â Â Â Â Â Â  store computed PRLAR_EL2 value
>>> - * maxcount:Â Â Â  maximum number of EL2 regions supported
>>> - * attr_prbar:Â  PRBAR_EL2-related memory attributes. If not 
>>> specified it will be
>>> - *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_DATA_PRBAR
>>> - * attr_prlar:Â  PRLAR_EL2-related memory attributes. If not 
>>> specified it will be
>>> - *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_NORMAL_PRLAR
>>> - *
>>> - * Preserves \maxcount
>>> - * Output:
>>> - *Â  \sel: Next available region selector index.
>>> - * Clobbers \base, \limit, \prbar, \prlar
>>> - *
>>> - * Note that all parameters using registers should be distinct.
>>> - */
>>> -.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, 
>>> attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
>>> -Â Â Â  /* Check if the region is empty */
>>> -Â Â Â  cmpÂ Â  \base, \limit
>>> -Â Â Â  beqÂ Â  1f
>>> -
>>> -Â Â Â  /* Check if the number of regions exceeded the count specified 
>>> in MPUIR_EL2 */
>>> -Â Â Â  cmpÂ Â  \sel, \maxcount
>>> -Â Â Â  bgeÂ Â  fail_insufficient_regions
>>> -
>>> -Â Â Â  /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
>>> -Â Â Â  andÂ Â  \base, \base, #MPU_REGION_MASK
>>> -Â Â Â  movÂ Â  \prbar, #\attr_prbar
>>> -Â Â Â  orrÂ Â  \prbar, \prbar, \base
>>> -
>>> -Â Â Â  /* Limit address should be inclusive */
>>> -Â Â Â  subÂ Â  \limit, \limit, #1
>>> -Â Â Â  andÂ Â  \limit, \limit, #MPU_REGION_MASK
>>> -Â Â Â  movÂ Â  \prlar, #\attr_prlar
>>> -Â Â Â  orrÂ Â  \prlar, \prlar, \limit
>>> -
>>> -Â Â Â  msrÂ Â  PRSELR_EL2, \sel
>>> -Â Â Â  isb
>>> -Â Â Â  msrÂ Â  PRBAR_EL2, \prbar
>>> -Â Â Â  msrÂ Â  PRLAR_EL2, \prlar
>>> -Â Â Â  dsbÂ Â  sy
>>> -Â Â Â  isb
>>> -
>>> -Â Â Â  addÂ Â  \sel, \sel, #1
>>> -
>>> -1:
>>> -.endm
>>> -
>>> -/*
>>> - * Failure caused due to insufficient MPU regions.
>>> - */
>>> -FUNC_LOCAL(fail_insufficient_regions)
>>> -Â Â Â  PRINT("- Selected MPU region is above the implemented number in 
>>> MPUIR_EL2 -\r\n")
>>> -1:Â  wfe
>>> -Â Â Â  bÂ Â  1b
>>> -END(fail_insufficient_regions)
>>> +#include <asm/mpu/prepare_xen_region.inc>
>>> Â  Â  /*
>>> Â Â  * Enable EL2 MPU and data cache
>>> @@ -108,62 +32,16 @@ END(enable_mpu)
>>> Â Â  * Maps the various sections of Xen (described in xen.lds.S) as 
>>> different MPU
>>> Â Â  * regions.
>>> Â Â  *
>>> - * Clobbers x0 - x5
>>> + * Clobbers x0 - x6
>>> Â Â  *
>>> Â Â  */
>>> Â  FUNC(enable_boot_cpu_mm)
>>> -Â Â Â  /* Get the number of regions specified in MPUIR_EL2 */
>>> -Â Â Â  mrsÂ Â  x5, MPUIR_EL2
>>> -Â Â Â  andÂ Â  x5, x5, #NUM_MPU_REGIONS_MASK
>>> -
>>> -Â Â Â  /* x0: region sel */
>>> -Â Â Â  movÂ Â  x0, xzr
>>> -Â Â Â  /* Xen text section. */
>>> -Â Â Â  ldrÂ Â  x1, =_stext
>>> -Â Â Â  ldrÂ Â  x2, =_etext
>>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>>> attr_prbar=REGION_TEXT_PRBAR
>>> -
>>> -Â Â Â  /* Xen read-only data section. */
>>> -Â Â Â  ldrÂ Â  x1, =_srodata
>>> -Â Â Â  ldrÂ Â  x2, =_erodata
>>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>>> attr_prbar=REGION_RO_PRBAR
>>> -
>>> -Â Â Â  /* Xen read-only after init and data section. (RW data) */
>>> -Â Â Â  ldrÂ Â  x1, =__ro_after_init_start
>>> -Â Â Â  ldrÂ Â  x2, =__init_begin
>>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5
>>> -
>>> -Â Â Â  /* Xen code section. */
>>> -Â Â Â  ldrÂ Â  x1, =__init_begin
>>> -Â Â Â  ldrÂ Â  x2, =__init_data_begin
>>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>>> attr_prbar=REGION_TEXT_PRBAR
>>> -
>>> -Â Â Â  /* Xen data and BSS section. */
>>> -Â Â Â  ldrÂ Â  x1, =__init_data_begin
>>> -Â Â Â  ldrÂ Â  x2, =__bss_end
>>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5
>>> -
>>> -#ifdef CONFIG_EARLY_PRINTK
>>> -Â Â Â  /* Xen early UART section. */
>>> -Â Â Â  ldrÂ Â  x1, =CONFIG_EARLY_UART_BASE_ADDRESS
>>> -Â Â Â  ldrÂ Â  x2, =(CONFIG_EARLY_UART_BASE_ADDRESS + 
>>> CONFIG_EARLY_UART_SIZE)
>>> -Â Â Â  prepare_xen_region x0, x1, x2, x3, x4, x5, 
>>> attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
>>> -#endif
>>> -
>>> -Â Â Â  bÂ Â Â  enable_mpu
>>> +Â Â Â  movÂ Â  x6, lr
>>
>> Aside what I wrote above, why do we need to save/restore lr?
> 
> In the case of arm32, there is no 'ret' instruction.

There is a macro "ret" in asm/arm42/macros.h that does the same job.

 > > When enable_boot_cpu_mm() ----(invokes)--> enable_mpu(), LR should be
> saved and restored. Otherwise, one cannot return to the caller of 
> enable_boot_cpu_mm()

Oh I didn't notice you were using "bl enable_mpu" rather than the 
existing "b enable_mpu". But then I am confused why we can't use "b"?

[...]

>> While those makes sense in sysreg.h because they are definition based 
>> on the Arm Arm. The definition for ...
>>
>>> +
>>> +#define REGION_NORMAL_PRLARÂ Â Â Â  0x0fÂ Â Â  /* NS=0 ATTR=111 EN=1 */
>>> +#define REGION_DEVICE_PRLARÂ Â Â Â  0x09Â Â Â  /* NS=0 ATTR=100 EN=1 */
>>
>> for PRLAR are specific to Xen. So I think they should be moved under 
>> mpu/. I would also consider *_PRBAR ones.
>>
>> Also, are those values truely arm64 specific? Asking because you are 
>> using them in common code.
> 
> These definitions (like the _PRBAR) are based on Arm Arm as well.

 From my understanding, ATTR is an index in the MAIR and the content is 
Xen specific. Furthermore, the name of the define are based on the value 
in the MAIR. So I disagree this is solely based on the Arm Arm.

> I preferred to duplicate these values in both the header files so that 
> they stay together with _PRBAR. One needs to use both _PRBAR and _PRLAR 
> to set a MPU region. Thus, I don't prefer to split them in separate 
> header files.
> 
>>
>>> +
>>> +#define STORE_SYSREG(v, name) "msr " __stringify(name,) #v;
>>> +#define LOAD_SYSREG(v, name) "mrs " #v __stringify(,) #name;
>>> +
>>> +#ifndef __ASSEMBLY__
>>> +
>>> Â  /* Access to system registers */
>>> Â  Â  #define WRITE_SYSREG64(v, name) do {Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
>>> @@ -481,6 +494,8 @@
>>> Â  #define WRITE_SYSREG_LR(v, index)Â  WRITE_SYSREG(v, ICH_LR_REG(index))
>>> Â  #define READ_SYSREG_LR(index) READ_SYSREG(ICH_LR_REG(index))
>>> Â  +#endif /* __ASSEMBLY__ */
>>> +
>>> Â  #endif /* _ASM_ARM_ARM64_SYSREGS_H */
>>> Â  Â  /*
>>> diff --git a/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc b/ 
>>> xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
>>> new file mode 100644
>>> index 0000000000..3402ed23da
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/mpu/prepare_xen_region.inc
>>> @@ -0,0 +1,128 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +
>>> +#include <asm/sysregs.h>
>>> +#include <asm/mpu.h>
>>> +
>>> +/* Backgroud region enable/disable */
>>> +#define SCTLR_ELx_BRÂ Â Â  BIT(17, UL)
>>> +
>>> +/*
>>> + * Macro to prepare and set a EL2 MPU memory region.
>>> + * We will also create an according MPU memory region entry, which
>>> + * is a structure of pr_t,Â  in table \prmap.
>>> + *
>>> + * sel:Â Â Â Â Â Â Â Â  region selector
>>> + * base:Â Â Â Â Â Â Â  reg storing base address
>>> + * limit:Â Â Â Â Â Â  reg storing limit address
>>> + * prbar:Â Â Â Â Â Â  store computed PRBAR_EL2 value
>>> + * prlar:Â Â Â Â Â Â  store computed PRLAR_EL2 value
>>> + * maxcount:Â Â Â  maximum number of EL2 regions supported
>>> + * attr_prbar:Â  PRBAR_EL2-related memory attributes. If not 
>>> specified it will be
>>> + *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_DATA_PRBAR
>>> + * attr_prlar:Â  PRLAR_EL2-related memory attributes. If not 
>>> specified it will be
>>> + *Â Â Â Â Â Â Â Â Â Â Â Â Â  REGION_NORMAL_PRLAR
>>> + *
>>> + * Preserves maxcount
>>> + * Output:
>>> + *Â  sel: Next available region selector index.
>>> + * Clobbers base, limit, prbar, prlar
>>> + *
>>> + * Note that all parameters using registers should be distinct.
>>> + */
>>> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, maxcount, 
>>> attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
>>> +Â Â Â  /* Check if the region is empty */
>>> +Â Â Â  cmpÂ Â  \base, \limit
>>> +Â Â Â  beqÂ Â  1f
>>> +
>>> +Â Â Â  /* Check if the number of regions exceeded the count specified 
>>> in MPUIR_EL2 */
>>> +Â Â Â  cmpÂ Â  \sel, \maxcount
>>> +Â Â Â  bgeÂ Â  fail_insufficient_regions
>>> +
>>> +Â Â Â  /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
>>> +Â Â Â  andÂ Â  \base, \base, #MPU_REGION_MASK
>>> +Â Â Â  movÂ Â  \prbar, #\attr_prbar
>>> +Â Â Â  orrÂ Â  \prbar, \prbar, \base
>>> +
>>> +Â Â Â  /* Limit address should be inclusive */
>>> +Â Â Â  subÂ Â  \limit, \limit, #1
>>> +Â Â Â  andÂ Â  \limit, \limit, #MPU_REGION_MASK
>>> +Â Â Â  movÂ Â  \prlar, #\attr_prlar
>>> +Â Â Â  orrÂ Â  \prlar, \prlar, \limit
>>> +
>>> +Â Â Â  STORE_SYSREG(\sel, PRSELR_EL2)
>>> +Â Â Â  isb
>>> +Â Â Â  STORE_SYSREG(\prbar, PRBAR_EL2)
>>> +Â Â Â  STORE_SYSREG(\prlar, PRLAR_EL2)
>>> +Â Â Â  dsbÂ Â  sy
>>> +Â Â Â  isb
>>> +
>>> +Â Â Â  addÂ Â  \sel, \sel, #1
>>> +
>>> +1:
>>> +.endm
>>> +
>> > +.macro enable_boot_cpu, reg0, reg1, reg2, reg3, reg4, reg5
>>
>> If we go this approach, this will need some documentation on top 
>> (similar to the other macro in this file).
> Ack. will do.
>>
>>> +Â Â Â  /* Get the number of regions specified in MPUIR_EL2 */
>>> +Â Â Â  LOAD_SYSREG(\reg5, MPUIR_EL2)
>>> +Â Â Â  andÂ Â  \reg5, \reg5, #NUM_MPU_REGIONS_MASK
>>> +
>>> +Â Â Â  /* reg0: region sel */
>>> +Â Â Â  movÂ Â  \reg0, #0
>>> +Â Â Â  /* Xen text section. */
>>> +Â Â Â  ldrÂ Â  \reg1, =_stext
>>
>> For instance, on Arm32, this could be replaced with ``mov_w`` which is 
>> doesn't involve memory load.
> 
> Yes, this is a minor difference. Remember that this code is executed 
> only once during boot time.

I know the code is only executed at boot time (assuming we don't plan 
support suspend/resume...). But I dislike "ldr x, =..." because this is 
introducing a constant pool at the end of the section. Although, I agree 
this is a matter of taste. However...


> While there is a performance penalty with 
> ldr, should we really use mov_w (and as a consequence have a different 
> implementation for arm32) where 99% code is the same and we have lesser 
> code to mantain.

... I disagree with this point. To me, this is not as simple as "Less 
code so more maintainenable. My concern is when reading/updating/... 
this code we have to read the code with both arm32 and arm64 in mind. It 
is much easier if I only know the assembly code applies for one 
architecture.

So I still disagree with trying to make this code common.

[...]

>>
>>> +Â Â Â  ldrÂ Â  \reg2, =_etext
>>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>>> attr_prbar=REGION_TEXT_PRBAR
>>> +
>>> +Â Â Â  /* Xen read-only data section. */
>>> +Â Â Â  ldrÂ Â  \reg1, =_srodata
>>> +Â Â Â  ldrÂ Â  \reg2, =_erodata
>>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>>> attr_prbar=REGION_RO_PRBAR
>>> +
>>> +Â Â Â  /* Xen read-only after init and data section. (RW data) */
>>> +Â Â Â  ldrÂ Â  \reg1, =__ro_after_init_start
>>> +Â Â Â  ldrÂ Â  \reg2, =__init_begin
>>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
>>> +
>>> +Â Â Â  /* Xen code section. */
>>> +Â Â Â  ldrÂ Â  \reg1, =__init_begin
>>> +Â Â Â  ldrÂ Â  \reg2, =__init_data_begin
>>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>>> attr_prbar=REGION_TEXT_PRBAR
>>> +
>>> +Â Â Â  /* Xen data and BSS section. */
>>> +Â Â Â  ldrÂ Â  \reg1, =__init_data_begin
>>> +Â Â Â  ldrÂ Â  \reg2, =__bss_end
>>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5
>>> +
>>> +#ifdef CONFIG_EARLY_PRINTK
>>> +Â Â Â  /* Xen early UART section. */
>>> +Â Â Â  ldrÂ Â  \reg1, =CONFIG_EARLY_UART_BASE_ADDRESS
>>> +Â Â Â  ldrÂ Â  \reg2, =(CONFIG_EARLY_UART_BASE_ADDRESS + 
>>> CONFIG_EARLY_UART_SIZE)
>>> +Â Â Â  prepare_xen_region \reg0, \reg1, \reg2, \reg3, \reg4, \reg5, 
>>> attr_prbar=REGION_DEVICE_PRBAR, attr_prlar=REGION_DEVICE_PRLAR
>>> +#endif
>>> +
>>> +Â Â Â  blÂ Â Â  enable_mpu
>>> +.endm
>>> +
>>> +/* Failure caused due to insufficient MPU regions. */
>>> +FUNC_LOCAL(fail_insufficient_regions)
>>> +Â Â Â  PRINT("- Selected MPU region is above the implemented number in 
>>> MPUIR_EL2 -\r\n")
>>> +1:Â  wfe
>>> +Â Â Â  bÂ Â  1b
>>> +END(fail_insufficient_regions)
>>> +
>>> +/*
>>> + * We don't yet support secondary CPUs bring-up. Implement a dummy 
>>> helper to
>>> + * please the common code.
>>> + */
>>> +ENTRY(enable_secondary_cpu_mm)
>>
>> I really doubt we will be able to keep this function common in the 
>> future.
> 
> Are you ok if we keep it here for now ?
> 
> 
> Looking a bit further ahead, the MPU registers are not core specific 
> (unlike MMU).
> Thus, there is no MPU specific configuration that we 
> should be doing for the secondary cores. We can investigate more on this 
> when we enable SMP support.

Are you sure? Are you saying you don't need to update SCTLR_EL2 nor 
setting up PRLAR_* & co?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:17:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932486.1334590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzF0j-0002oq-0s; Mon, 31 Mar 2025 13:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932486.1334590; Mon, 31 Mar 2025 13: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 1tzF0i-0002oj-UX; Mon, 31 Mar 2025 13:17:04 +0000
Received: by outflank-mailman (input) for mailman id 932486;
 Mon, 31 Mar 2025 13:17: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=qpMN=WS=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tzF0h-0002od-Sm
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:17:03 +0000
Received: from fhigh-a5-smtp.messagingengine.com
 (fhigh-a5-smtp.messagingengine.com [103.168.172.156])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6dd74ebc-0e32-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 15:17:01 +0200 (CEST)
Received: from phl-compute-04.internal (phl-compute-04.phl.internal
 [10.202.2.44])
 by mailfhigh.phl.internal (Postfix) with ESMTP id CA80C11401F6;
 Mon, 31 Mar 2025 09:16:59 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-04.internal (MEProxy); Mon, 31 Mar 2025 09:16:59 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 31 Mar 2025 09:16:58 -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: 6dd74ebc-0e32-11f0-9ea7-5ba50f476ded
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=1743427019;
	 x=1743513419; bh=f6QxzgWXGE671kPVnbp17JXWWheRBfFRLJSxZo/G/jc=; b=
	Nk1gc5uvV7zH3eUex/tGnMLVL3x1BX//vbuRG8IKxabWQr6fCym50f8u9tN+YWYS
	uI67bgTyx+CheoUtLNyPJ+gG12ckSQAnFqqrQCdqh3X13fL+G8Sixz4SzJrhzPkf
	b9afbrNZDPvuNWzhI9r5Ra4KGSiF0e57loHx8b3M2ZNa7YaLQah1oTb3LrgNmsuM
	8oXh+efSCU3VmbZ6Em46NeXctk+EaEANUBwoKBmQetoK/rHMI1hulUYUFOHF3Uhs
	FIBDS9oC7Qm2swQAV4QVIkgcILGryfk7igCn0KzNY8cS7ti5brJqJpcY6qB74MDU
	DYJyiB0Lwq6bu8Sh9szCcw==
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=
	1743427019; x=1743513419; bh=f6QxzgWXGE671kPVnbp17JXWWheRBfFRLJS
	xZo/G/jc=; b=vTbJGNBwYEtAmvX1quS4UfS7zS5FHtUbG8yH2nPfVezJsZFASbo
	LJZ+OGwE8tv99ndquxzADC6osdjRGfFGyClTUw1NbV206wggh9fYc4UjsgZcV4gG
	UiH78opKJnFO98Tg/TeK8y2X1Y2MNC9DYyPtDxdywXjMAxGXxyOyxMZdesGQok0Y
	W5UxoBeF8whpv7poor5NvdCN/cHtavO1MNdVyS7Fe47YXIxz4ngMQUd+PNvHmGh6
	JRGBbTRWG57GP9QAC42C7y14VYoYpY0s8TDa9pNnJf32cZKNbxvgM89OLeoSjrFa
	3JF7lwVWOkwcpkmV/Jy+vxgV0ppuLs7Jp4Q==
X-ME-Sender: <xms:y5XqZ66qjUZqCm_O5oMXJI2xzJ5xX-MPoeueTazCxkgpMV1wwL9fjA>
    <xme:y5XqZz4cCNby5yl3HpljLxLIttpA-IZdHINKylF89lzfn9VEcZz06Oh79nq9l4vST
    7YRPA7NpFVLHg>
X-ME-Received: <xmr:y5XqZ5cSXC_Jm_IKgthORXhdnxCoO-e_itcFLfyVL5gpdZBaz1TyoVX8r00I6KEgdWDhkk8oeVF2R8V2iLqmKEMWy7C9wv9DAA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddukedttdduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepveeujeetgeelleetudeuvefhtefgffejvedtvdfgieevheethe
    elgeeuledvjeevnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeeipdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopehsshhtrggsvghllhhinhhisehkvghrnhgvlh
    drohhrghdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhj
    vggtthdrohhrghdprhgtphhtthhopehjsggvuhhlihgthhesshhushgvrdgtohhmpdhrtg
    hpthhtoheprghnughrvgifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdprhgtphht
    thhopegtrghrughovgestggrrhguohgvrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrph
    gruhestghithhrihigrdgtohhm
X-ME-Proxy: <xmx:y5XqZ3IA_zyrAMwiQX2faArucViRXnnZYFQBa08E8OAcUPlLDZ1aoQ>
    <xmx:y5XqZ-JgVZS_F5ZkaxCx2_2ovoFCAcoLKNM78PPnCNn8ITljFtL26A>
    <xmx:y5XqZ4zoo6rfBrSMYIlzliFtK_kl_lJeaX8ZCFE756fcbLQ9IHAWRw>
    <xmx:y5XqZyJdZSYqu_gw2iYswEf2gXjjP4szkjIfQQYRs_uGRiFYuQjmgQ>
    <xmx:y5XqZ28Xk0fg0Qlark_TwXWZvoOnQx8wJ_TO4vgfNDPk-r4al6DAoM_Q>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 31 Mar 2025 15:16:56 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] ci: add yet another HW runner
Message-ID: <Z-qVyLPnEllLKR7B@mail-itl>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="F2T20v1MgA2kN2/h"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>


--F2T20v1MgA2kN2/h
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 31 Mar 2025 15:16:56 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] ci: add yet another HW runner

On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> On Fri, 14 Mar 2025, Marek Marczykowski-G=C3=B3recki wrote:
> > This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> >=20
> > This one has working S3, so add a test for it here.
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> > Cc: Jan Beulich <jbeulich@suse.com>
> > Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> >=20
> > The suspend test added here currently fails on staging[1], but passes on
> > staging-4.19[2]. So the regression wants fixing before committing this
> > patch.
>=20
> We could commit the patch now without the s3 test.
>=20
> I don't know what the x86 maintainers think about fixing the suspend
> bug, but one idea would be to run a bisection between 4.20 and 4.19.

This passes on staging now:
https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/1744682789

So, the patch is good to commit as is.

> > For this to work, the runner needs to be added to relevant repositories
> > (especially hardware/xen one). Somebody with appropriate access need to
> > go to Settings->CI/CD->Runners and click "enable for this project" on
> > hal9001 runner.
>=20
> I did that now
>=20
>=20
> > [1] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408437140
> > [2] https://gitlab.com/xen-project/people/marmarek/xen/-/jobs/9408943441
> > ---
> >  automation/gitlab-ci/test.yaml | 26 ++++++++++++++++++++++++++
> >  1 file changed, 26 insertions(+)
> >=20
> > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test=
=2Eyaml
> > index 9530e36e9aaa..6b8e1b830e3d 100644
> > --- a/automation/gitlab-ci/test.yaml
> > +++ b/automation/gitlab-ci/test.yaml
> > @@ -155,6 +155,16 @@
> >    tags:
> >      - qubes-hw2
> > =20
> > +.zen2-x86-64:
> > +  # it's really similar to the above
> > +  extends: .adl-x86-64
> > +  variables:
> > +    PCIDEV: "01:00.0"
> > +    PCIDEV_INTR: "MSI-X"
> > +    CONSOLE_OPTS: "console=3Dcom1 com1=3D115200,8n1,pci,msi,04:00.0"
> > +  tags:
> > +    - qubes-hw1
> > +
> >  .zen3p-x86-64:
> >    # it's really similar to the above
> >    extends: .adl-x86-64
> > @@ -301,6 +311,22 @@ adl-tools-tests-pvh-x86-64-gcc-debug:
> >      - *x86-64-test-needs
> >      - alpine-3.18-gcc-debug
> > =20
> > +zen2-smoke-x86-64-gcc-debug:
> > +  extends: .zen2-x86-64
> > +  script:
> > +    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
> > +  needs:
> > +    - *x86-64-test-needs
> > +    - alpine-3.18-gcc-debug
> > +
> > +zen2-suspend-x86-64-gcc-debug:
> > +  extends: .zen2-x86-64
> > +  script:
> > +    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
> > +  needs:
> > +    - *x86-64-test-needs
> > +    - alpine-3.18-gcc-debug
> > +
> >  zen3p-smoke-x86-64-gcc-debug:
> >    extends: .zen3p-x86-64
> >    script:
> > --=20
> > 2.48.1
> >=20


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

--F2T20v1MgA2kN2/h
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfqlcgACgkQ24/THMrX
1ywwZwf/aqG5xdxXERIlf915EHIfqSLqwSiYbPakqNm2FsYPWg97Y4uYz7L6XkZG
QhGDpjT9VT3ZuDduqoMMt4Gl9BDtBz4+KyRvY7i7r1dJpQX8XlGovRY4IWgq/A3W
UhiM0GfjNmGO6CscRDLhfavu2o4ijUaI5xwUx3GdkBHYXFy3X0X0FrUBIoHYD16H
u2uOikbCyGJYjD1d/6jLYM/RZnSSHpAJ3sdFVkw8gyzypx8ufHdpSWr+n203cnEh
C/w2uV7R2IA4Wh/kmwWLMaV237PVacLBBvRp58CVeeKR3XIxI2prPFrksHFAvNpM
lkPzpARoTve2xjgri3ws79B6ug3L5A==
=eCby
-----END PGP SIGNATURE-----

--F2T20v1MgA2kN2/h--


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:45:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:45:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932500.1334604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFRz-0002YY-3X; Mon, 31 Mar 2025 13:45:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932500.1334604; Mon, 31 Mar 2025 13:45: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 1tzFRz-0002YR-0m; Mon, 31 Mar 2025 13:45:15 +0000
Received: by outflank-mailman (input) for mailman id 932500;
 Mon, 31 Mar 2025 13:45: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzFRx-0002YK-3J
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:45:13 +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 5b93fd5a-0e36-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 15:45:07 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-39ac56756f6so3830858f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 06:45:07 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b6588dbsm11161373f8f.2.2025.03.31.06.45.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 06:45: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: 5b93fd5a-0e36-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743428707; x=1744033507; 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=zihNNNleaj78ZkGzQ6qdvrLKWIsG+qZcCQ9d6PezgKw=;
        b=H9Rz4wu8B0iHvANpNlpFYmIYsmrSQPNI0jdHcznfet31DqXGkGfAKPEhCRADXC7tY3
         XqCb6LWZG7WkSCcIqULpVwssKSvTpkLphrNXaVx8ebQnfoDSDO+cgmGaqg7pVI4QIlqr
         o6XqGs0/hUz0O0YtLzV5yZmobEbyKESbSDsbU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743428707; x=1744033507;
        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=zihNNNleaj78ZkGzQ6qdvrLKWIsG+qZcCQ9d6PezgKw=;
        b=osCXgKmcjciy3EYhJeHade6K2xB0YzYEB3e649La+zn4KhGdd8OF2poBDaq+2wcdfd
         U6bv/CEnyB0Vz1voGYWrEFFTQnt8xpn89aJRbilAS/f6Xr/ZX3wY4ZmmsmMMCGywXmbZ
         7oz27TplOp2zJmHcdCkAIqgMaPYWSlvQMt3S93jySToxlME1SHKYqjhfKlGCBEEO2IV4
         tsiGYexa5uXAYfCODYt9AmEmz9HblSkQonEHZnorrDwZnWQrp1JcJArjFRmln7PWS3UI
         9jXQYkCCAjBSeYHfLVQPllsnOpedHVqtTL8lQp8RFmKmcuSzlfuJ7S4yWBjx9T88PcJN
         8xpA==
X-Gm-Message-State: AOJu0Yx6tphSxvARqU63hsUNSZgsTqBP7W5PLeR7F4bMxpcVtgogRbci
	5NwehJgzoWnbRxsiNxn2fv+6UpyAGS3g33dDc4NO7S7nAm17fQokd7StPHfxxo8=
X-Gm-Gg: ASbGncs5QRgZIaX7AMx1/XYHCBFJ6MaeA7i6BKv2dDjsGV2KVrE6O/sW+5nJ3jz/Ddc
	NQHVk4bs6dYZyjOEoS86LlYJclqnN88xUYfzsJaZvq1LyNr3cJP6cjVHyE1SNJ8EthzKdC8E2un
	AOZElfqyxW159lmorUraNR1g7rEytH1k9UAUKpx7XdR67Skqfi/VfLtVJrxpshU6z71hwmmX/vS
	Vr0M09OFsBjMh7yTKT26cOxJk+D6f20NdHVZq1yIJ1kQB+0adR8Nxw/xtRHhFzlcKnBorKG8rHo
	mnjgZMDOb4dnBkRdN9ilym/P4+6K//nivjxR8Y2fgz/mH5MGt+Ep2bTp7qBZK+1HWGug2jXg0f2
	F3NOUL2lrrhaLPBu+2dkc
X-Google-Smtp-Source: AGHT+IE6RK+/4xuuWzJNq4u4HSYWUZVrE4NjcjWY58cs4jLR5F5uow+To5fkSMH/q06fBBztrFZd9g==
X-Received: by 2002:a5d:5f90:0:b0:390:e9e0:5cb3 with SMTP id ffacd0b85a97d-39c120de3c7mr7199043f8f.12.1743428707141;
        Mon, 31 Mar 2025 06:45:07 -0700 (PDT)
Message-ID: <655f5f07-ebbb-46ca-9c56-e7ad4c6e5cdd@citrix.com>
Date: Mon, 31 Mar 2025 14:45:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ci: add yet another HW runner
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Doug Goldstein <cardoe@cardoe.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z-qVyLPnEllLKR7B@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: <Z-qVyLPnEllLKR7B@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31/03/2025 2:16 pm, Marek Marczykowski-GĂłrecki wrote:
> On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
>> On Fri, 14 Mar 2025, Marek Marczykowski-GĂłrecki wrote:
>>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
>>>
>>> This one has working S3, so add a test for it here.
>>>
>>> Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
>>> ---
>>> Cc: Jan Beulich <jbeulich@suse.com>
>>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
>>>
>>> The suspend test added here currently fails on staging[1], but passes on
>>> staging-4.19[2]. So the regression wants fixing before committing this
>>> patch.
>> We could commit the patch now without the s3 test.
>>
>> I don't know what the x86 maintainers think about fixing the suspend
>> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> This passes on staging now:
> https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/1744682789
>
> So, the patch is good to commit as is.

adl and zen3p both have SUT_ADDR.Â  zen2 inherits test-2.testnet from adl.

Presumably it wants to be test-1.testnet to match it's qubes-hw tag ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:45:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932498.1334614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFSS-00033M-Ff; Mon, 31 Mar 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 932498.1334614; Mon, 31 Mar 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 1tzFSS-00033F-CO; Mon, 31 Mar 2025 13:45:44 +0000
Received: by outflank-mailman (input) for mailman id 932498;
 Mon, 31 Mar 2025 13:43:36 +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 1tzFQO-0002X9-75
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:43:36 +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 1tzFQO-002NFa-08
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:43:36 +0000
Received: from mail-oi1-f176.google.com ([209.85.167.176])
 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 1tzFQN-00CBu0-38
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:43:35 +0000
Received: by mail-oi1-f176.google.com with SMTP id
 5614622812f47-3f8ae3ed8f4so2673063b6e.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 06:43: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>
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=U6qntZH4mdHrvVfd8V5RWLnYFbv2gICkmPcx9GEkEmw=; b=tO/4iuf
	ztX/Y13jP1QXtyUgm3VLe8b/Fw45vTmlnjxX6HbQ91RHxRIxXb5tD40gMzoeLivtRoiWQA65wgm0t
	UY8dsyVzdmK8l2Rug3lT5B4Kba3Y9/NhcJaICzr4IhWhW15fZtYWVtnTDM/wRHxvmiljiPGD0Tlue
	G1+TVCy6WA=;
X-Gm-Message-State: AOJu0Yy9bhTYJuxlM8d6kaSpW9KTK2VnGEIvQ278ih39lvioLnhPUF1j
	CYP2nG0iWlNjmRP5J0kGjQxtOmQFGjqWysB8exaHq/HGAY1QrRa1MQDAlRehbDGAhbbGQSq2WLk
	4uNVemQm9jycztH76s2mQf4ufxls=
X-Google-Smtp-Source: AGHT+IH6Wpb3qaMS6HGNZV5xTMlMMBwBymRW3fZuo7k+z+cDIsS7fzhnMYuLLgSC5jP/TbRF/FfDK2zHh8fKzDqjVNQ=
X-Received: by 2002:a05:6808:2f07:b0:3fb:85cc:9f27 with SMTP id
 5614622812f47-3ff0f3f2fb9mr4901549b6e.0.1743428615435; Mon, 31 Mar 2025
 06:43:35 -0700 (PDT)
MIME-Version: 1.0
From: Cody Zuschlag <cody.zuschlag@xenproject.org>
Date: Mon, 31 Mar 2025 15:43:24 +0200
X-Gmail-Original-Message-ID: <CAJbE=KxbXVUOCHr36wbkyYH9aN2ip_6A2OtpqDR13kLA8ejrBA@mail.gmail.com>
X-Gm-Features: AQ5f1JrjQTIDYY9m5DLL8xM_Xgybf0fJ-hSUGO92jDtdOAt7g08WWoyVVQ_d3GM
Message-ID: <CAJbE=KxbXVUOCHr36wbkyYH9aN2ip_6A2OtpqDR13kLA8ejrBA@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items for April 3, 2025 Community Call @
 15:00 UTC
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000005083860631a39bec"

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

Hi everyone,

We=E2=80=99re getting ready for April=E2=80=99s Xen Project Community Call =
on *Thursday, 3
April 2025* at *15:00 UTC* (4 pm UK time). We=E2=80=99d love for you to joi=
n. Feel
free to just observe or jump in! 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/Hy5rqmmTsf+7LKDN2X9vbmIH/
   - If any action items have been resolved or are no longer relevant, feel
   free to remove them from the doc.


*Call Details:*

   - *Date:* Thursday, 3 April 2025
   - *Time:* 15:00 UTC (agenda begins at 15:05 UTC)
      - Find your local timezone here
      <https://www.worldtimebuddy.com/?qm=3D1&lid=3D100,2653941,2988507,536=
8361,5128581&h=3D2988507&date=3D2025-4-3&sln=3D17-17.5&hf=3D0&c=3D1067>
   - *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 Thursday!


Cody Zuschlag
Xen Project - Community Manager

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

<div dir=3D"ltr"><div>Hi everyone,</div><div>





<p class=3D"gmail-p1">We=E2=80=99re getting ready for April=E2=80=99s Xen P=
roject Community Call on <span class=3D"gmail-s1"><b>Thursday, 3 April 2025=
</b></span> at <span class=3D"gmail-s1"><b>15:00 UTC</b></span> (4 pm UK ti=
me). We=E2=80=99d love for you to join. Feel free to just observe or jump i=
n! This call is a great opportunity to see what the community is working on=
, align our various efforts, and share updates. Everyone is welcome!</p><p =
class=3D"gmail-p1"><br></p></div><div><b>Preparation:</b></div><div><ul><li=
>Add any proposed agenda items or missing action items:=C2=A0<a href=3D"htt=
ps://cryptpad.fr/pad/#/2/pad/edit/Hy5rqmmTsf+7LKDN2X9vbmIH/">https://cryptp=
ad.fr/pad/#/2/pad/edit/Hy5rqmmTsf+7LKDN2X9vbmIH/</a></li><li>If any action =
items have been resolved or are no longer relevant, feel free to remove the=
m from the doc.=C2=A0</li></ul></div><div><b><br></b></div><div><b>Call Det=
ails:</b></div><div><ul><li><b>Date:</b> Thursday, 3 April 2025</li><li><b>=
Time:</b> 15:00 UTC (agenda begins at 15:05 UTC)</li><ul><li><a href=3D"htt=
ps://www.worldtimebuddy.com/?qm=3D1&amp;lid=3D100,2653941,2988507,5368361,5=
128581&amp;h=3D2988507&amp;date=3D2025-4-3&amp;sln=3D17-17.5&amp;hf=3D0&amp=
;c=3D1067">Find your local timezone here</a></li></ul><li><b>Link to Join t=
he Call:</b>=C2=A0<a href=3D"https://meet.jit.si/XenProjectCommunityCall">h=
ttps://meet.jit.si/XenProjectCommunityCall</a></li></ul></div><div>





<p class=3D"gmail-p1"><br></p><p class=3D"gmail-p1">We plan to open the mee=
ting room at 15:00 UTC, but to allow time for switching between meetings an=
d handling any technical issues, we=E2=80=99ll officially start discussing =
the agenda at 15:05 UTC.</p>
<p class=3D"gmail-p3"><b><br></b></p><p class=3D"gmail-p3"><b>Want to be CC=
=E2=80=99d on future calls?</b><b></b></p>
<p class=3D"gmail-p1">Add or remove yourself from our <a href=3D"https://cr=
yptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/">Sign-up Sheet</a>.</p=
><p class=3D"gmail-p1"><br></p><ul></ul><div>See you Thursday!</div><br></d=
iv><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_=
signature"><div dir=3D"ltr"><img src=3D"https://ci3.googleusercontent.com/m=
ail-sig/AIorK4x5nkRDCOFJDJAv9aMXdZ0mghItsp3D36JrwBCQtitBSW_0NeDS6mBmJ2F4vZV=
E2oBOqnY6IaJUrl12"><br><div>Cody Zuschlag</div><div>Xen Project - Community=
 Manager</div></div></div></div></div>

--0000000000005083860631a39bec--


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:47:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:47:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932518.1334624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFUJ-0003f3-Pf; Mon, 31 Mar 2025 13:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932518.1334624; Mon, 31 Mar 2025 13: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 1tzFUJ-0003ew-Mu; Mon, 31 Mar 2025 13:47:39 +0000
Received: by outflank-mailman (input) for mailman id 932518;
 Mon, 31 Mar 2025 13: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=qpMN=WS=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tzFUI-0003el-KI
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:47:38 +0000
Received: from fout-a2-smtp.messagingengine.com
 (fout-a2-smtp.messagingengine.com [103.168.172.145])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b422a85b-0e36-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 15:47:37 +0200 (CEST)
Received: from phl-compute-04.internal (phl-compute-04.phl.internal
 [10.202.2.44])
 by mailfout.phl.internal (Postfix) with ESMTP id D33881384427;
 Mon, 31 Mar 2025 09:47:35 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-04.internal (MEProxy); Mon, 31 Mar 2025 09:47:35 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 31 Mar 2025 09:47:34 -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: b422a85b-0e36-11f0-9ea7-5ba50f476ded
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=1743428855;
	 x=1743515255; bh=Ph8eoYDLnFBfOsiI9tRFHRvss0NVnFq52pllNfkSYT8=; b=
	Chne1J98qukWXil8IsIOPvtXtOuUvuHv1Dl+E1BsL6Yc9QpOlc9aVpB1Ihn4FuJf
	vA36tgtNdgd7Wl6cpg00vBIwzjnM/Eceal84vG5ske6bGdpg4nQRHDbWw8vLlu/d
	6R4BxlcXR/fGoSCiWiXAUsUMFr/FR/ZEy2I86ZJcT/uZBPOfW/gEJ9jpm2cqHPK6
	L7yoDmqicb+RILQisbbud+hJQufJjyu5hmKwVQ/V2kvayYP/CBPjGfMjAQ73+ccd
	pJrSDbPCA1l99MR6A7QxzvzUJrAltSzS9Lg18cLg9JnUBo44NXD7Syw7NHJDdssM
	FpcdutLF8YrK0XuD5gW+UA==
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=
	1743428855; x=1743515255; bh=Ph8eoYDLnFBfOsiI9tRFHRvss0NVnFq52pl
	lNfkSYT8=; b=GtGwKZpZ9zGfsoMxg5oLWXazHNXRzh5FyfxGjWV2BFu+qAqvCxr
	NZLSDoV6AZ8sH+ZC4Op1/9QsHP8qvVzoFMhIC9LWP5T9xH7vh51sAtrBab1OFji8
	I20JGTt4yqMoUpxfw/+CriMYy2wQkFWVGfow+UGyQcBK8RB2aOCoZMz9FBXbL+LJ
	20UHZAN+9DVcvIy0fQcxpQDcZJryymbtpVfGlTbpJGhmXo3AW8/2dmY0GTn/DfMC
	LCMRTvehgdFawWNSz+qAkqqesl4Qow0eSbINHfgDglFkDLoqSoGBbeX4pni6WiSn
	4PSD3OmzgAehJf0bAJjz0RQc+dOqjeM1faA==
X-ME-Sender: <xms:95zqZ7v4vZbXWydbeNnCkSbqpwJkKxKgKkhDGoZWeNlVpKwbegglaQ>
    <xme:95zqZ8cFtZqU9q4q0I2o-fgsNScH0MzsuuH3SVEuP_DeoqtglAb3nG0_AQxJNflGb
    z0deJhKQOUuZA>
X-ME-Received: <xmr:95zqZ-yXGF_BJrAYV-Fj6XRNLGTzNr3pbwsFvb-EbnaDu-JI3TWccMaHm65IqVq_mEdhp0SeDDdqOgQEp8eGh12l4aftbXPbUQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddukedttdekucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt
    jeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuc
    eomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecu
    ggftrfgrthhtvghrnhepveeujeetgeelleetudeuvefhtefgffejvedtvdfgieevheethe
    elgeeuledvjeevnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeeipdhmohgu
    vgepshhmthhpohhuthdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghith
    hrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdho
    rhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtg
    htrdhorhhgpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphht
    thhopegtrghrughovgestggrrhguohgvrdgtohhmpdhrtghpthhtoheprhhoghgvrhdrph
    gruhestghithhrihigrdgtohhm
X-ME-Proxy: <xmx:95zqZ6MjapCWqYXseM2cnngpGefLyfRVXpLSiQLsIznNVf9XJxomIA>
    <xmx:95zqZ79ivUmFvM92qawNssUEaxEb-t0Z4eSxMvJqrwz_Gmin-umG_g>
    <xmx:95zqZ6VBVbfwWN_FReX5dmIcQIckxg36RyhVU3Sw1d3-GTU13gpnbw>
    <xmx:95zqZ8fCALXScu_IFY9ZfnQ7GCDO4q7MdbdlxVSb5uyIbMiKKTcA7g>
    <xmx:95zqZ7wCV0KaN-AyFQwhbOLimR0OTwC-AVgEFv0CpxSmu9SYe5oEMcLF>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 31 Mar 2025 15:47:32 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] ci: add yet another HW runner
Message-ID: <Z-qc9Cw5xQq1m4tw@mail-itl>
References: <20250314030628.96166-1-marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2503141417540.3477110@ubuntu-linux-20-04-desktop>
 <Z-qVyLPnEllLKR7B@mail-itl>
 <655f5f07-ebbb-46ca-9c56-e7ad4c6e5cdd@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Wy1CuuroPgg+0/xb"
Content-Disposition: inline
In-Reply-To: <655f5f07-ebbb-46ca-9c56-e7ad4c6e5cdd@citrix.com>


--Wy1CuuroPgg+0/xb
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 31 Mar 2025 15:47:32 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] ci: add yet another HW runner

On Mon, Mar 31, 2025 at 02:45:05PM +0100, Andrew Cooper wrote:
> On 31/03/2025 2:16 pm, Marek Marczykowski-G=C3=B3recki wrote:
> > On Fri, Mar 14, 2025 at 02:19:19PM -0700, Stefano Stabellini wrote:
> >> On Fri, 14 Mar 2025, Marek Marczykowski-G=C3=B3recki wrote:
> >>> This is AMD Zen2 (Ryzen 5 4500U specifically), in a HP Probook 445 G7.
> >>>
> >>> This one has working S3, so add a test for it here.
> >>>
> >>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethi=
ngslab.com>
> >>> ---
> >>> Cc: Jan Beulich <jbeulich@suse.com>
> >>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> >>>
> >>> The suspend test added here currently fails on staging[1], but passes=
 on
> >>> staging-4.19[2]. So the regression wants fixing before committing this
> >>> patch.
> >> We could commit the patch now without the s3 test.
> >>
> >> I don't know what the x86 maintainers think about fixing the suspend
> >> bug, but one idea would be to run a bisection between 4.20 and 4.19.
> > This passes on staging now:
> > https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/17446827=
89
> >
> > So, the patch is good to commit as is.
>=20
> adl and zen3p both have SUT_ADDR.=C2=A0 zen2 inherits test-2.testnet from=
 adl.
>=20
> Presumably it wants to be test-1.testnet to match it's qubes-hw tag ?

Indeed, yes. Right now it's used only for "tools-tests", not added for
this runner, but it wants to be consistent anyway.

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

--Wy1CuuroPgg+0/xb
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmfqnPQACgkQ24/THMrX
1yxKDwf/XpWOs3ZUurIfiLdGPSZSDealj9rkz/8mzutsKXlXXOg2DGUUIa1xJ8Lo
u55Z9MrL6VWtM5DZbauclGL/KWwVwN7GnNZeTKQOeUZZ/eu/M9hUiBwQVV7ROt3r
HKQZk8GiHcxQNDMIb0mfOoYxaW1pCr72TYJ/nETsHWpZvM22rHmzsUymeNskw/Kt
kRyJwvCntx0857B2bYFKrIDy0E/btUu9iaLU2Vz9q1kwZUdiiImvwj8IuChA/7/G
zEfrLhTzAXtDmd9ybgN7tfQ910VvXcooSYQYV7lbD0Mx0jt8KtLwd8KnBqOFhHsl
kRDHddDrNJ9koyMzpUje+i0xLwNzLg==
=Cy+q
-----END PGP SIGNATURE-----

--Wy1CuuroPgg+0/xb--


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932531.1334635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFa4-0006a9-EH; Mon, 31 Mar 2025 13:53:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932531.1334635; Mon, 31 Mar 2025 13:53: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 1tzFa4-0006a2-9u; Mon, 31 Mar 2025 13:53:36 +0000
Received: by outflank-mailman (input) for mailman id 932531;
 Mon, 31 Mar 2025 13:53: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzFa3-0006Zw-DO
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:53:35 +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 88cc5b7f-0e37-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 15:53:33 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3914a5def6bso2508563f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 06: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
 ffacd0b85a97d-39c0b658ab2sm11480760f8f.15.2025.03.31.06.53.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 06: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: 88cc5b7f-0e37-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743429212; x=1744034012; 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=O5gfNlu1e3BmgxSnfDwX3uM9INrfHXH4hzogVViSJQI=;
        b=JMSC42Oo8RdjJokhQ5ODrJUfRb3/OEovGmQWfyrvA89JL59nMp7eMDvncqrc2vsQ/E
         Y0WCfOpe9zHJU4ADXwdvV/+Li9QbAa6u84k4qSk+2oXJ9Pd+3a3v8flFNytqwYiQlKYD
         CqtR4hGGTdonM7DzGOH8bhkrp6Bot2yHQ2NvkjkEG0TAtP2dX+e0uDzRNK8UKxXiyl0K
         5nCto95s74/ohCfc06qGLGM0BNvmuti4WUTgmMRGgt2Vy94z59zoDsdzSpBHxkD4Xtsm
         SQXqz9bZJuzPrA3U1lz3nyCOqTdR934wJe2GSqK0+MoNV9G2uimkmREtu2tdTLwU5E4K
         cEkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743429212; x=1744034012;
        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=O5gfNlu1e3BmgxSnfDwX3uM9INrfHXH4hzogVViSJQI=;
        b=IkAiaTd3MM/hOuVljvCjW4B2TbTi1x7PE9CSFrvBbcutTPsv7yi9LpcQopc6u1gOmV
         k7NxDuchut9RT9foZCunMeA1y4d8ZA2gS2DMBLxlTPnYa47lXHvjZnXek8u48KnasE6u
         u+4nZB7IR/xEKJb+6eyRnbESL/viCf2hgmMejSOyAcfrx6iRuQR+hyb9TaTbiS8HoIxF
         azEx6k9iltqIk+CLeGACFmGGaKQNIoHF8I0gQJxRr7AbNy+M0rMO865hRTb+CTY5MEJU
         UkfUBuc7FHxuOfgoGiGap2StelXZV+kvNvpxmU7g8aWA9833KSInUasTjnwfp8z5ZDzn
         gAjA==
X-Forwarded-Encrypted: i=1; AJvYcCUkfcU1DSALydmbyYuO74y/IToVfApzlmbIHcmq48CDTbpyMwaoSjpWTJZ15WRYFkFzYpvJTqU9/+Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6MGC1X92AfdzEAo6ZyOmOlwsUDdi37ENe+XKixWbsPRO+c4fZ
	s24m5Q3qaDjush01+EQkVg4MuGDgun/0B9rCrPH1fPaelo780kG6YHYG3HC++A==
X-Gm-Gg: ASbGncv4JxlNjkng0yI7+swmJHKomSBcMIWQnMmScmCixUTsdNN9ef2GzWQviDphR3d
	CCKd4murEarxfp0Bx/2DoBpClp8HbeaoX8dye6tO7WRnbmfIzVW1qI/0SCMPlvNbRCDU0UIvThR
	Wj1D5IADvRWynmXMTw2j1GWBIH++JSUDr/YHkvkC5tjuU0gDqsZLxXutTEyIt2bOyi+he2ucJFY
	u0V5oOinQIw8XQZDmuDLfygbBbOzuiTCF5AK3OzsmD4zP6pUZjOOF0v7Nm8zMucDnBN3mh5lCmX
	YHWcqV4+WH1YfhE3r4FbhCgb0uYf6SEY4tS5YwpLxglP9pvQHlltY/ryIRlR/9wPnXc113zrYNf
	lGYkWQfgh/FB8HagOAWb4gYqOZfuoDA==
X-Google-Smtp-Source: AGHT+IHbesReDlu0gp/qqhuF0xHwdwmMc1o7POcd9sh8Vflo293OrLez1+OP4KA/rghmZHqw0yoElA==
X-Received: by 2002:a05:6000:1446:b0:38f:5057:5810 with SMTP id ffacd0b85a97d-39c120e3231mr7275243f8f.25.1743429212605;
        Mon, 31 Mar 2025 06:53:32 -0700 (PDT)
Message-ID: <4f2fbb41-e807-47f2-b8d1-0b44d4cfcdc8@suse.com>
Date: Mon, 31 Mar 2025 15:53:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 07/16] xen/arch: Switch to new byteorder infrastructure
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Lin Liu <lin.liu@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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-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: <20250328134427.874848-8-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> From: Lin Liu <lin.liu@citrix.com>
> 
> This needs to be done in several steps, because of common vs arch issues.
> Start by using the new common infastructure inside the arch infrastructure.
> 
> libelf-private.h is awkward, and the only thing in Xen using swabXX()
> directly.  It needs updating at the same time.
> 
> Signed-off-by: Lin Liu <lin.liu@citrix.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:55:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932539.1334644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFcG-00076e-Od; Mon, 31 Mar 2025 13:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932539.1334644; Mon, 31 Mar 2025 13:55: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 1tzFcG-00076X-M0; Mon, 31 Mar 2025 13:55:52 +0000
Received: by outflank-mailman (input) for mailman id 932539;
 Mon, 31 Mar 2025 13:55: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzFcF-00076R-FC
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:55:51 +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 da13db4d-0e37-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 15:55:49 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso33630045e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 06:55: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-39c0b6656afsm11227933f8f.40.2025.03.31.06.55.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 06:55: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: da13db4d-0e37-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743429349; x=1744034149; 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=UEQksUadJSEBc/4siRJnplZuaChLe0p0a/F+hBy8aC4=;
        b=O5ooDFJGdkZKKTUCdJUjtJhkYG4MK7f5zeGQUqq/XvoZWfgNtC9JeV1BE3k7vuy7k+
         LKs0MxDCcoUh8zxuuG0JKdc5Uwl/rDV/X9WUcXNGZxUYRRBBvBO/t06GfLKtVYnK8pZ/
         pSXZM5wFd+3CFdM+ZhRyXx3Vq6g6b7kIScNtLn3hIG/+WcxvI1yXtvZ1EUM1nyQUNFjf
         Ua5Ra76PxIpoAm8biEXOsV2t81U1xp9Yo8A9mGeEEe9A24nZAFWfHPjCB1ETjIMbx2pN
         IrthIymFjRb6CCl9WlKpz4+XqbTAGuRyGJ2Ij8Up249khzptRoLFd1wTbe6SvGFR81J8
         6EuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743429349; x=1744034149;
        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=UEQksUadJSEBc/4siRJnplZuaChLe0p0a/F+hBy8aC4=;
        b=bWkmY9IwSqSywxA2Bk5CayOPZMFy5Pcmwi8ph0Vr4oufgUlaFXw6eukPKYFNagdjA7
         64kA7dOBO/M/UdbPtUq79bf3xe80cWlmFxCAALMOHaIOFTQ4nz0+M4LrIQRn2OYI9C6e
         Z5c8OkaXXiGkeTdkybbU4ra7xTVWkYgWA+NXyB2D5Vz4ydlO2aYRKBvlHhGt0ZmQnzEt
         U7lQVqPQV4UvcorZR5jyac5589CqNmCG7Bvuoj/9X5KjTppdXhxUysnJrDQo+BRD0FXK
         3npYXDHx+1B1lzu+4YiQkdxqdbYfsh0zEd7GA4dOCRaM9O1QD8pz14Qy2nu1mZkhrvlX
         Zklw==
X-Forwarded-Encrypted: i=1; AJvYcCXCBKZXPpk6Jc95b7zsyLuKZewffi/XXTAYX9KSd58rVe7rBgn9VYg41JzrutpI8Nb2wasRYdRsBQY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YySOT9sZXPaGrEz7YbvSYdwLZ+bMz0z8Mv0QYSjx7OJXcfadM6M
	PiqkmWtJ5zap7/Os7qnxkZ0uBeXxenyecpgE/pLFK66cGbXJpBFLzTyi5V/EQw==
X-Gm-Gg: ASbGncso4ER2NVbjBVFTdWN6l3/UWGH/OO93AIRrfp3GjlogyJU90eROJ8u4zk9LKQY
	uQEN+lHM7uPpFbgmalzhk9NiGGJfnvufzM9rh1TZi8YRTjnVGS96rxLkAk+Ux0Y8iK7Jc/MOmyz
	oPp/hE7E0GHi5fkTFNhu49H3N8A74FI6O7gQHuEEi2aM7CUe4sZ5R5H7o8X165DgneCJ6jM4IrD
	3n48NFzuF+biSKu1svEKcWXC4Hd9zspFZKM6pG5R1GUtquAYM1TA7qxysS4B4LIo5DPnZgXkjP5
	yxr8cjIdPmmo63bZlERisa/ON6aR0vImCUh/hzzAmbiG9gAO6rBr7wFaw/Q1SJlUkbaVwHuxcDD
	hUJFxFThePglG2FHEqjrX6pKfoSBG9w==
X-Google-Smtp-Source: AGHT+IEEvh3M2bAx30AC0KRWfv78VFMSG6xDQNgkDP+E4e+dHOretfYFfv5IJvZc/DCO7Dt/EB1Mig==
X-Received: by 2002:a05:6000:40ce:b0:391:47d8:de3a with SMTP id ffacd0b85a97d-39c1211d34fmr6663766f8f.53.1743429348922;
        Mon, 31 Mar 2025 06:55:48 -0700 (PDT)
Message-ID: <a57e34d0-f51c-4df2-91e6-e82eb3c6003e@suse.com>
Date: Mon, 31 Mar 2025 15:55:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 08/16] xen/decompressors: Use new byteorder
 infrastructure
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Lin Liu <lin.liu@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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-9-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: <20250328134427.874848-9-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> From: Lin Liu <lin.liu@citrix.com>
> 
> unaligned.h already inlcudes byteorder.h, so most can simply be dropped.
> 
> No functional change.
> 
> Signed-off-by: Lin Liu <lin.liu@citrix.com>

Nit: Again missing your own S-o-b?

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:58:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932552.1334654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFeq-0007jq-9r; Mon, 31 Mar 2025 13:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932552.1334654; Mon, 31 Mar 2025 13:58: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 1tzFeq-0007jj-5q; Mon, 31 Mar 2025 13:58:32 +0000
Received: by outflank-mailman (input) for mailman id 932552;
 Mon, 31 Mar 2025 13:58: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzFep-0007jc-Pr
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:58:31 +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 3a55d8cb-0e38-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 15:58:31 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf257158fso32153315e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 06:58: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-39c0b66a991sm11320525f8f.49.2025.03.31.06.58.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 06:58: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: 3a55d8cb-0e38-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743429510; x=1744034310; 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=U+GInvfsN3kjK/Q48BicTf0FkS9B2qd7JemBdXxleTM=;
        b=CWimFhYM8boS6t2gSztpCJgxJ/wNaTKet4dXddIgjblwmt/A/ogafC6MOCfDt5Xrhi
         4LPiybAp0uaR4977gJUytVDSDZ4UqDQS5uDfinhsvoyhzbW+G8n2sf7C1RzhwWS2506W
         r5D5lc2+TkzhIbNUF1Kd/d4oMncqtX8Ttry/6w0IaoJ7tNeclQ15+GD9saV56cPa2sk1
         ZCgg+Z4fl2P40ukmv/vJz2AUbs5LqEbHeD+xwbP7IKzWVdW/BJ1XBENGzrhLkskdBjqu
         4BYR3CWIw/I3xeeXRP3TyqSXVn3S4Sb8mBlVWTqnHnhUiueHIg/QE+bXcJitpbr9tydu
         iXow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743429510; x=1744034310;
        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=U+GInvfsN3kjK/Q48BicTf0FkS9B2qd7JemBdXxleTM=;
        b=RQfH3pHF/6QrOSS5zFaj3ULRjYLow9bZPKL+2HGGH+nEE4M6teDx0RDlYoJj/hvnhV
         YuinPPYiee3i+DpiWHTMK4S4XC3qBDIjO3tIzwK0AU8g8KthKLk/jvKFULYI9GDR3Xal
         GGo9rLVMSgNk2ebeIoEc4pF9nNCM4fduLXWFKGKk98MgW/Q+POAv9d6NRjjohd9LgtQz
         HOzjnTgpYFD4pH18s8/liZkhcQchx9SdheJgeWNvlQHX3facba/wc7jNy8y+nR68ysnJ
         SoAWN3aeBgpcExtzZy4LhBnTtgSR3wWGQIclXbPu2zHLawyIm4XfoTxt4MSh43//fovg
         GMdw==
X-Forwarded-Encrypted: i=1; AJvYcCVCTSgWQBTa9Doq4ZsbwwRbn1pKFEgQhIFL2IzFN+d++ut/9wdDW3o6MKYNgYWrOkIZGTXoP961CHg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyozPKSe/mBucuunwDGkbac/WqH+UYC9VL2Y3HxwKiLArF54Jo7
	oXdpBBNG1oAXgKAOayDAns4/1iYg+hhaBBxvo8rXMdyhnzgAf+ZJGVRYjRdXszRLswILWGKaRGo
	=
X-Gm-Gg: ASbGncubxXfUZcn+5SG+yMvInZTnZAWKzdbumJxls2owSKJ2UlDxxom/uV1d1VLD+q8
	6c7AZHOQwxvaHZ4vQkd3vK9C2AQKrk65mHuC4ERdVjqLkJiojolIi19nNajvQcj2dpE0ZE4Iu5Q
	PdqQMsJ63jXQ9wQKrOTpjZwrP10EvbRnRUPoasN4CIpv+wEabNxQ4cdK4glMeE3NK08f58GUEO0
	RZfgscVh50SeqA9ArYiXnPoKVyN5fnwu9eezIEE5MS+8SJhlCd7mfkgcV4HtCBQsSmwMav6LtS2
	ZLTlGLOr45by381kOC05GQZmxk1tALWyJ4m8PXRVgw/W0/hMeJoHEo2PZpIJdY0y8yP2rG4F4VJ
	itHJX5Nb0ZFeT6Lm/phc8fdpYzGB3vg==
X-Google-Smtp-Source: AGHT+IEAL8XBz/HtYOkWnRD2qd90VwrCCXk2M9WvsbeNjJDx9uNOdWZgtl+1IMYGBOMirBFGaotMYQ==
X-Received: by 2002:a05:600c:c8e:b0:43d:d06:3798 with SMTP id 5b1f17b1804b1-43db62bd2d1mr77590555e9.20.1743429510470;
        Mon, 31 Mar 2025 06:58:30 -0700 (PDT)
Message-ID: <a5c4ed08-89ad-4ee8-8bf5-5d64bc774f32@suse.com>
Date: Mon, 31 Mar 2025 15:58:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 12/16] xen/common: Switch {asm -> xen}/byteorder.h
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Lin Liu <lin.liu@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-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: <20250328134427.874848-13-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> Sort the includes.  Drop useless includes of xen/types.h
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 13:59:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 13:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932562.1334667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFfa-0008Fw-I1; Mon, 31 Mar 2025 13:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932562.1334667; Mon, 31 Mar 2025 13: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 1tzFfa-0008Fp-Ex; Mon, 31 Mar 2025 13:59:18 +0000
Received: by outflank-mailman (input) for mailman id 932562;
 Mon, 31 Mar 2025 13: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzFfZ-0007jc-GP
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 13:59:17 +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 55cf5d51-0e38-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 15:59:17 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39ac8e7688aso3605929f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 06:59:17 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b662736sm11170116f8f.22.2025.03.31.06.59.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 06:59: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: 55cf5d51-0e38-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743429556; x=1744034356; 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=NK5bCIaUu2f9SDl3/ce1spIPDF1ROPef6U9u+7a2F5c=;
        b=d7DzwfFqYSyZS7ZY/qJctYfRXPVdU80TRVM9LjJM96FYBKVq6PlUnVhcbyla0WERbt
         XIbDZQTZYXqu68uf9NQdVVXlj6jJArNHIFCDhN5IlbX9DZzGu0J1p8pZjOG8OytwNF8c
         ekWp4wkXmi04CmWE7QpzqEFPipFIEljnAVK0E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743429556; x=1744034356;
        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=NK5bCIaUu2f9SDl3/ce1spIPDF1ROPef6U9u+7a2F5c=;
        b=miuLOPpVpC9GH4+i48sWRhk/XNAYVUtKETh7Ski1y8EHxFmbah7iS1BXo6GFUdBbk3
         YE5FHQRFdLLVSDMjt2P4DAlEwTVmbBdLRLh2BqfDw1MPES+21IDu05bhvdfYTeLcvFHD
         LK4friPBZyqKosVqr9LA0/QVDrdngkA/GwSkp4wJukslGOIvdEPP3WpmdCwN3pziNT/2
         siHO+9JcL7HYnOGakGdnfE+H0rEb+nw29N070HmW5ZkWjCygIp1fLSiXUgQUGDoWWwOM
         Td8Ck5PmZzQoyVDIEYtFTTLTQJCbOaBzLS6Z2c+IHGTP9uvYtW+D7QMazIbKVoz9XpbJ
         9bHw==
X-Forwarded-Encrypted: i=1; AJvYcCUK7WsDZD64kULFJ2fkAJTRD8Hd/XjOMqL+TQJ4kKtyy13E/LivV2fafZxohLoddUcr9RCubZdkHEQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywg4Yl9vBCtPr5IS9kYAZTMeBLADCAdAj1DazEL7u8M+g99QQ3L
	xnoS4GQgBlNKiUmHBxemvJ3FNyc7s261GsSey+BFOdV7ZIu+PjnuNUbCzbObZ2g=
X-Gm-Gg: ASbGncsapob7TqQU9wtIxy2D9cx9KfXD4gGskBV41hQbVgXc/PKPp+g5bXKIlfPK/DX
	/b+7xqmh3g1+bkdDAYhZdcAX1Lrrm6feVccwyrv2rEMpPeW9MBnWzLrR36i0q4d/KBi3bFXVA9c
	xK2bS1eGBnN71+aywvgJjqIAHCYPQbvV6EteLySogqSvw0ADJ3nGya+nEGT+Z0ozLd9RyUSRMge
	V/KuUAiiQN1NHIbsx7kUb3CPyUXwkP48kX/2UWNiNbDgZL7CoW/6zpvfbOeMEibtiAfjLhZCYXd
	KKMaG2M+ajYkS86O+oAd/7CPf7hZp8EpKqpYQIdb+VlxMm8NWQbMk9+7gsOD+dQqJOR0h//ePWo
	RzttJsdfpwQ==
X-Google-Smtp-Source: AGHT+IEbPZxPnl1PYR6pFAsTEISsCi///ljoq0wIj6FvFOUqKuVfiKoXhKHyF0LrsyCQLcavTv1HJg==
X-Received: by 2002:a05:6000:4014:b0:39c:d05:37d3 with SMTP id ffacd0b85a97d-39c12117d33mr6469405f8f.34.1743429556437;
        Mon, 31 Mar 2025 06:59:16 -0700 (PDT)
Message-ID: <0fafaf3f-ded6-4444-a635-bf32a47b209b@citrix.com>
Date: Mon, 31 Mar 2025 14:59:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 03/16] xen: Implement common byte{order,swap}.h
To: Jan Beulich <jbeulich@suse.com>
Cc: Lin Liu <lin.liu@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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-4-andrew.cooper3@citrix.com>
 <c79d76e2-3e6d-4c2a-a240-ee36daa559e0@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: <c79d76e2-3e6d-4c2a-a240-ee36daa559e0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31/03/2025 9:32 am, Jan Beulich wrote:
> On 28.03.2025 14:44, Andrew Cooper wrote:
>> From: Lin Liu <lin.liu@citrix.com>
>>
>> The current swab??() infrastructure is unecesserily complicated, and can be
>> repated entirely with compiler builtins.
>>
>> All supported compilers provide __BYTE_ORDER__ and __builtin_bswap??().
>>
>> Nothing in Xen cares about the values of __{BIG,LITTLE}_ENDIAN; just that one
>> of them is defined.  Therefore, centralise their definitions in xen/config.h
> And even if we cared somewhere, __ORDER_{BIG,LITTLE}_ENDIAN__ supply them
> just fine.
>
>> Signed-off-by: Lin Liu <lin.liu@citrix.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> with two nits taken care of:
>
>> --- /dev/null
>> +++ b/xen/include/xen/byteorder.h
>> @@ -0,0 +1,44 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#ifndef XEN_BYTEORDER_H
>> +#define XEN_BYTEORDER_H
>> +
>> +#include <xen/byteswap.h>
>> +#include <xen/types.h>
> It's stdint.h that's needed here, not types.h?

Perhaps.

>
>> +#if defined(__LITTLE_ENDIAN)
>> +
>> +# define cpu_to_le64(x) (uint64_t)(x)
>> +# define le64_to_cpu(x) (uint64_t)(x)
>> +# define cpu_to_le32(x) (uint32_t)(x)
>> +# define le32_to_cpu(x) (uint32_t)(x)
>> +# define cpu_to_le16(x) (uint16_t)(x)
>> +# define le16_to_cpu(x) (uint16_t)(x)
> (Not just) for Misra these all need another pair of parentheses around the
> entire expressions.

Why?Â  For both points?Â  Eclair is happy, with this at least.

What does fail is a bit a of a curveball.

https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/andyhhp/xen/ECLAIR_normal/xen-bswap/ARM64/9556392204/PROJECT.ecd;/by_service/MC3A2.R20.6.html

cpu_to_le64() turns from a real function to a macro under ARM, meaning
that the #ifdef __BIG_ENDIAN in the middle of a bunch of constants
becomes UB.

I'll need to fix that separately.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:08:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:08:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932573.1334677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFoA-0002yH-AM; Mon, 31 Mar 2025 14:08:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932573.1334677; Mon, 31 Mar 2025 14:08: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 1tzFoA-0002yA-7F; Mon, 31 Mar 2025 14:08:10 +0000
Received: by outflank-mailman (input) for mailman id 932573;
 Mon, 31 Mar 2025 14:08: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzFo9-0002y4-3b
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:08:09 +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 91fb51d2-0e39-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 16:08:07 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso33786205e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 07:08: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-43d82e6adf6sm164469255e9.15.2025.03.31.07.08.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 07:08: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: 91fb51d2-0e39-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743430087; x=1744034887; 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=/OCOcG6P9mAeJAunhReJkrJSdX+Xzr8EMW/S5KpwgEE=;
        b=XwGm3rJjYFZ95yqjvkZUbqXRUJUSsXammZv6GwLskA49jR+/9grS3q9HzGWaT8c8f1
         m14YYTywpn+N70/nQ7+CRcVMVnCPq4j9/47v/zw6AKQQxp2yE9rHSFlapzXLENKsUcwq
         A+c2EsoE1Q7FKePG6aen9hIxAqrfRZhfPr8GUtjVDELVzmt8d4Tgmj4mTn831RzWLhQ0
         um3H76bAqNY5Nq9jSLEVdYoHkXlK1puT1vMJbKYETRWUouilB9lMt92qfyUGNJ2NeJOt
         NdY+RkZ/l9G/sHCUmwa0wljI4MTiZxsSenUingEOdyvI0CU8k2NRqUB7NYeIOGsLnVX5
         s3IQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743430087; x=1744034887;
        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=/OCOcG6P9mAeJAunhReJkrJSdX+Xzr8EMW/S5KpwgEE=;
        b=kscWU6LYP/0vaq3Z3vNua6gziNV6LIqNzn3jACyTIdeO1rqSJQ03ZLDxdtq6a4Ywl2
         g9QVSHv0olO99jmcWCwismC97pbxrwZsWKDtbx/wb8KF2ns9NeUy+COSzpKb4GrtQWao
         80nerhidFQjXIgC4g5sYNG9tX2Ra35hhtcdtZ+iLINpSzmPlS+In6PKAQjo0utjKN3ai
         CJ+kYoJvzjkifI8U1NQZS3ypAGElvuWBjFmxEIlsA1yy0B4sp89Sv1VEvGzzyQBUIKM+
         mz/3l0BQKARzgfkmbiHTO7ftg4qy94gMZ5YQL7a0nxUs3Ryw+wb4qpLjbj8RBMCdtR+k
         wCCQ==
X-Forwarded-Encrypted: i=1; AJvYcCVqbb4rDsJZPUwXULjn85iv50d0OadPklho65GFnZaFpgJx0nqXvW/esUUoT2yyGSzLNzcz7BcWi6U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwFk9B7DhQqEWbQNcgZsaA9WVt/zytHHbnZVABoD3gPwuQGWHxu
	trJ/zYEAwpAtyTJI0G2K4hvW+lpA9Bwulnpg76rPjxNAmH0HG+Rpaq/jXBabRA==
X-Gm-Gg: ASbGncsgYo/KXse6zEPx2ZQnvz71ZV4JZyDbi9HLzu6IrQ3B4+dJCVuGXmIadJXcF1m
	PnHims+XXAnHgXUVEemBRB9yWlk4ZhQpe0bErFlhrnYGUUrBm6oVQzHPXFGjJUS/MQ714DYj/68
	QtPoDe30K9dHbhx1Vu6pOQND9yCyosWNFf6/jCS7LFqKl3XgapOc0ARqscfLAzlPe/4uyiwBGHz
	yR4GDSknEE9z2PpsHt6P6WCXowN7W3wMw7E7BJO7hhRrJ5dR2OBVIvSC6xZ3JYuGU8eKoa/J5Ko
	dcBiJhoVzUlJPynFi2HsIHkW8+D6qsXI/E5bgS3farUIfg45C+v8nJbH1eo8wW7fmdRKI1nEJWQ
	sHIaPMyc/ATLmdQ/aG1r1INzcuIUI0MfloMQYXisc
X-Google-Smtp-Source: AGHT+IEATkPppot9ETklh5xd0lZWl7gxTRrffJFyHDM0jBgIMzldRQINLO0hslXwzgxpLtssjBZRlw==
X-Received: by 2002:a5d:5f52:0:b0:391:22a9:4408 with SMTP id ffacd0b85a97d-39c120dd71dmr7836683f8f.16.1743430086655;
        Mon, 31 Mar 2025 07:08:06 -0700 (PDT)
Message-ID: <bc87f343-2e75-4f39-907f-0b929bd6308a@suse.com>
Date: Mon, 31 Mar 2025 16:08:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 03/16] xen: Implement common byte{order,swap}.h
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Lin Liu <lin.liu@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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-4-andrew.cooper3@citrix.com>
 <c79d76e2-3e6d-4c2a-a240-ee36daa559e0@suse.com>
 <0fafaf3f-ded6-4444-a635-bf32a47b209b@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: <0fafaf3f-ded6-4444-a635-bf32a47b209b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31.03.2025 15:59, Andrew Cooper wrote:
> On 31/03/2025 9:32 am, Jan Beulich wrote:
>> On 28.03.2025 14:44, Andrew Cooper wrote:
>>> +#if defined(__LITTLE_ENDIAN)
>>> +
>>> +# define cpu_to_le64(x) (uint64_t)(x)
>>> +# define le64_to_cpu(x) (uint64_t)(x)
>>> +# define cpu_to_le32(x) (uint32_t)(x)
>>> +# define le32_to_cpu(x) (uint32_t)(x)
>>> +# define cpu_to_le16(x) (uint16_t)(x)
>>> +# define le16_to_cpu(x) (uint16_t)(x)
>> (Not just) for Misra these all need another pair of parentheses around the
>> entire expressions.
> 
> Why?Â  For both points?Â  Eclair is happy, with this at least.

As was explained to us, Eclair looks at the final, expanded code. Hence it may
well be that right now, in the code Eclair checks, we have no violations. Ones
may start to appear elsewhere or later, though. The fix then would still be to
get these macros into fully parenthesized shape.

That said, I can't think of any "good" code needing these parentheses here. I
can think of bad code though, which would properly fail to compile if the
parentheses were added, e.g.

    le32_to_cpu(a)++;

I fear I can't answer the 2nd question - what do you mean by "For both points?"?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:08:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932582.1334686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFop-0003R8-Hx; Mon, 31 Mar 2025 14:08:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932582.1334686; Mon, 31 Mar 2025 14:08: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 1tzFop-0003R1-FA; Mon, 31 Mar 2025 14:08:51 +0000
Received: by outflank-mailman (input) for mailman id 932582;
 Mon, 31 Mar 2025 14:08: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzFoo-0002y4-BL
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:08:50 +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 aa104eb2-0e39-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 16:08:47 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3913d45a148so3857153f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 07:08:47 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b6588dbsm11213738f8f.2.2025.03.31.07.08.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 07:08: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: aa104eb2-0e39-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743430127; x=1744034927; 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=FGxObq2IxN5p9SAmnNwbMDrvj9l8oAk8lHYVy4oyLZM=;
        b=mlB9RDkCzQPrlS8fwEg1R5qLrpfsLN4p/mbjkGk8uW/LXeJuBcIFWLvSAIyeHUkHsO
         HPlAPAmtbqT5bPigssH19wHXpmGdgoL+t+flZwxeDk6fO4rmkxWrsFk7eRA5Jd4mJBgG
         Fs5xZg4Gd89mnLbR73311vRsvGGj7wkezm0oA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743430127; x=1744034927;
        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=FGxObq2IxN5p9SAmnNwbMDrvj9l8oAk8lHYVy4oyLZM=;
        b=XwTJ7p/+NnaKVhryrYePPUpawwQ2XHLJbCE3XCOyZQ+rqwN8RP94y6RPEkvglBbb/L
         3mmqZ9lAOi3rxz7ALnbEVtqyFSNRsSjYYE3+tYFE0l3JJDu5/k7nAIHzmJpgAls/7Q26
         fo/BIeWd1N2DWL2E1tzL4swintIb7L2dmVRqaVGAxwK09/pE5hSkl919YKT6gzlkHILu
         aYkop6smkosHVX6SpZjgroKmDzM9JmTsJCkLfUqmCiXWeY6zaSFPegTbC5PampBRy52O
         ag/fJo+8TSgE2z7xp6f13uwjO9AFSbEe2UXHy7SJKDBNR9w9givs7umqqHjzS4xwywlx
         sy+Q==
X-Forwarded-Encrypted: i=1; AJvYcCV9g3b0THEWqt18BwJSB4zqpPvvHKHrPd5/8bq+49pUkkEhPxAqDsn4GCoKNUVYpp/jc6/MoncJ0iA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7vK2ywZVgikyiNL+nd2UlFEH7RKiQ/nM7W6kUZ05KoByfd8zh
	zuD6vPPKJ15f1lIeEz+wZ4g17qVhKElFeUoL+ZNm2PFhyaa/qC5BHznKXEL0B/Q=
X-Gm-Gg: ASbGnct/kTXhNh+hLU2ZJRkWTkSujTTe3CEuBksdVzoXtySOs2BBv56uhdOi/1mB37K
	L7HBZfW7uaJUloolJbfGerfSCVN9AszDDPfnJ/KktT3fFSBEK8cWWvML2VnHeeOBXkPXasN/MNq
	h7oVfnA+FDVanaPnFS54tU3cj3Kd5K6DQonr7MMfJZ/CLzW16d2IpZiam4ahSaJBGQHUVlP0Im2
	UJeyNS48zoz1uej8e8k4PJMXDDCbxbYS5FoL3UyqTCt6ijMbIz2w8mrguYc4O65v1FK6pi2vhXf
	8dUaQyKS778G0nisOoaV/41TnM0Z7JThUy6bx+rl5/75kbMCaDHKJx5D+WFiofCTS18pIr3N2dp
	M5cLzTAvUGtdTinmfXrHS
X-Google-Smtp-Source: AGHT+IGB2F+S/hviiytix45DOKQIf1F/WyGdr4X7YnxUqJGbh2BaAxZ2jRpeVAULLNkn6R7nBpbpBQ==
X-Received: by 2002:a05:6000:2d10:b0:391:ba6:c069 with SMTP id ffacd0b85a97d-39c1211501fmr5131646f8f.44.1743430127325;
        Mon, 31 Mar 2025 07:08:47 -0700 (PDT)
Message-ID: <cb5e2b75-b212-4a9b-b4ef-c5960b32a7e3@citrix.com>
Date: Mon, 31 Mar 2025 15:08:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 02/16] xen: Remove __{BIG,LITTLE}_ENDIAN_BITFIELD
To: Jan Beulich <jbeulich@suse.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Lin Liu <lin.liu@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-3-andrew.cooper3@citrix.com>
 <88971ebb-6a58-4d7e-b7e6-2db9b78fa341@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: <88971ebb-6a58-4d7e-b7e6-2db9b78fa341@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/03/2025 8:42 am, Jan Beulich wrote:
> On 28.03.2025 14:44, Andrew Cooper wrote:
>> There is a singular user.  It's unlikely we'll gain a big-endian build of Xen,
>> but it's far more unlikely that bitfields will differ from main endianness.
> Just one point: While endian-ness in general is dictated by hardware, endian-
> ness of bitfields is entirely a psABI thing, aiui. Hence tying both together
> (beyond the latter defaulting to the former) doesn't seem quite appropriate
> to me.
>
>> I'm tempted to simply drop the logic in maptrack_node.  If any big-endian
>> build of Xen came along, that's probably the least of it's worries.
> As long as it's not obviously broken, I'd prefer to keep such. While it may
> not be a primary worry, it's still one less of all the worries then.

Given the way patch 3 has ended up, this is easier to keep than in
earlier revisions.

Still, I think it's of very dubious utility.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:12:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932595.1334697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzFsb-0006UU-4r; Mon, 31 Mar 2025 14:12:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932595.1334697; Mon, 31 Mar 2025 14:12: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 1tzFsb-0006UN-1a; Mon, 31 Mar 2025 14:12:45 +0000
Received: by outflank-mailman (input) for mailman id 932595;
 Mon, 31 Mar 2025 14:12: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzFsZ-0006UH-I4
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:12:43 +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 30730718-0e3a-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:12:33 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-399749152b4so1844529f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 07:12: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-39c0b662c11sm11554645f8f.31.2025.03.31.07.12.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 07:12: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: 30730718-0e3a-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743430353; x=1744035153; 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=PJlWxIq/RM31lJN5kKH1wKooAU9wWHAB4zio/FmhiLo=;
        b=LJwZFPb39ys1JZ95+wUovJqkV3RgPJElSF4Bgjk9Fsu5JEhSEOc/vcHZhZg2rnI3xc
         4rSSJIvxiTqjkZOAZnqZlyShqTZ+R4npKRKy3tCN9lfJ4oq04RYYpixxpozHIF1aqV/V
         8shEH9ID36gr4Mf1zt4VMFLtAn3zeF2973yqLND14MsLufiBl4uz4RiUSA4XRYlf4yJt
         aV22+sQyVOdywX9z4doN8pLeR6bnauoLJ1JLFc79TOpZPQcSmsWwugDqGHtfSzSqtU8C
         k8gp5SuPAWnT5RhmwhR9gX34zgQUf7Yw7OjpirIYEx4d3D5vpebHdIITzuyVDqdd3JkQ
         nTNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743430353; x=1744035153;
        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=PJlWxIq/RM31lJN5kKH1wKooAU9wWHAB4zio/FmhiLo=;
        b=qqClb6Ov7SCCs6xAAVwgs9R8x3wvOcIcLeMAiFKOINuzz9eBDelpUq7yMt+swmfvTv
         6wm9Ug6+ZfR++LohNNCZIDLAVD6lsu7ol+YIPofSWjpuoJtb5wLOW0tHt0bG/r52DFoO
         rhd3llTTKABNB64VbrU5rQ4bY5Jl1oJR9CP7RMIowsqGMR3vqoG4nmHetBVe/YCIKoRM
         uqCRPpdxlOquOAEzxY3kRvDJojp6h4OLozKaRt+NQ7o/ZN7lkZCJh5oVhvGF6HKjvFdf
         VFxxudAw442LgQsJdLJ1bDcMdzn/wK3IfrqFQ0voEr3Gfj83u72jIs5PFm20YpKUEZ0u
         XKVA==
X-Forwarded-Encrypted: i=1; AJvYcCUKp9Y75DqQ3rnMwTEjHWU56zJoLivd4f72d1OcYfRkXkyFi2BJMxnjzpOCwrmtS6VmOKrz9j/+myo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxy3XYadwl/6OXh/GQmdKlMObYY5pipL4048LUJ88nSy489oUMj
	wV7UCbpWXx9on/Nx8fZWtEz4aontMHobatvXPvAk411ESW3z6JZ07s2D714q0A==
X-Gm-Gg: ASbGncs/5EfF4t451YWeSoXiFy8nLc0/tA7G8kpXrmVMkSnMZNX29nRxsm4Pc6LE4SO
	8bbQjS9gqQIYHr32qinBRIuO0r8fBJdzWiUcLhs3VqTfSmTEizQqUOZRjBuSxFEdpWe0dWA/Amh
	z43FqyrYV2Q0oeuSOj8Dd+PvN84ncv2EnX6vLX3NVkdZ8agqzaeR8xzzVEdjgYCn8kIAz739VXd
	FT3rPtg2ctng3VqptM4zDHHJngBSi6K4DzoJ39wmJpvCXE6uo3R1AT+TwSp20fmJQ8yUEZDohC0
	MnyBQyBzbQ8LVYMzRUQBP5Wr5dmBw9cAEO6soxZnCPOStAvXLtVzYXmXhLTbrzDO4wDR4qO5dsS
	ej0konwFBXHI4HVYfOjLSc8MAkRKZUOoodNkeUex/
X-Google-Smtp-Source: AGHT+IE88scW2e5tOXuZem0+UvCSuP/mPRwHx8anXvVRDR6fcO4f5BmDxd0cRuWpXR7b878LOqMGng==
X-Received: by 2002:a05:6000:290f:b0:391:4231:40a with SMTP id ffacd0b85a97d-39c120e30a5mr8558887f8f.33.1743430352844;
        Mon, 31 Mar 2025 07:12:32 -0700 (PDT)
Message-ID: <6523b444-3479-47c6-99d7-16b1b8f0a5c8@suse.com>
Date: Mon, 31 Mar 2025 16:12:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 16/16] x86: Drop asm/byteorder.h
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Lin Liu <lin.liu@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-17-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: <20250328134427.874848-17-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2025 14:44, Andrew Cooper wrote:
> With the common code moved fully onto xen/byteorder.h, clean up the dregs.
> 
> It turns out that msi.h has not needed byteorder.h since the use of
> __{BIG,LITTLE}_ENDIAN_BITFIELD was dropped in commit d58f3941ce3f ("x86/MSI:
> use standard C types in structures/unions").
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:26:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:26:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932604.1334707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzG5k-00015o-5l; Mon, 31 Mar 2025 14:26:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932604.1334707; Mon, 31 Mar 2025 14:26: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 1tzG5k-00015h-2y; Mon, 31 Mar 2025 14:26:20 +0000
Received: by outflank-mailman (input) for mailman id 932604;
 Mon, 31 Mar 2025 14:26: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzG5i-00015Y-0m
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:26:18 +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 13cc87b1-0e3c-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:26:04 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43ea40a6e98so4208235e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 07:26:04 -0700 (PDT)
Received: from [10.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-43d8fba3b13sm127754825e9.3.2025.03.31.07.26.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 07:26: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: 13cc87b1-0e3c-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743431164; x=1744035964; 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=xoZscG+ML7hjpeKtb+hASzDuPGFgYqTnd4rWapiJ2V0=;
        b=Ut7yOvP+gwMhxvIwiRpZn/64fWcGpQBWmoa0fNO18lzzm80enMepWIykT598UbqAb4
         JJBGX1hjy9vbfcFWPK+yK8f5EEG964O04MwJTXccHgHPIe6pp1q1YA2hG3fycd89AqNx
         YZSzABkCBU5j92C+y+vqDmENNq0rgLGZY3X3RiQKvN279m6OUZGPGlCRVbJ3uoMVlYng
         I00XKQuVVsnk6K6sE3DNVkZumTtOY77y+v3H+1x8q66QYwRqfz0JgeQZpcVHtoDMAUkv
         B9aUiTkFCMPE18BXFFk9nPDYvekmdxm4dI7jB1x70eetwORSearS4QHWlIVc0HdctNG1
         8cfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743431164; x=1744035964;
        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=xoZscG+ML7hjpeKtb+hASzDuPGFgYqTnd4rWapiJ2V0=;
        b=X1315/eyOHXsBRR+LUkogDzPmUorzsBgtYQ8x8AHPt+Ff4RaOwN+TFxO/DLJ3tgHoa
         OR9fJAqB3bn8KzTPmwW/4bWZE3v6sDsBFkmk6aAPbrZUCzaAW6Zcq8iTn2R2YQIlh/G8
         V9EEfzl4hNgOK+c+uXj7cQwq5B/3NckAhVg1hS9TioCjD8LwqIUARL6yu5mLtfSQcUWs
         h6QpYj0Bh1vk2Ji4x5L0nopC1vja8CxFn9diQ25EZs20zyOoNDa/MF8dhfHnLZxRq9aF
         RyX/0p5v/yM0u67BNnEUuu0Kqfx0w/ihHZKQc5hJjD/Vq6MyIUhmt7purvAYZWjcjVGW
         9wRg==
X-Gm-Message-State: AOJu0Yxrmhf5q0q+jwkOGvqprNfFW8p7rm9rGuAlsZfLBFqI/nFqb39K
	c30BPJlctqW8mzeJQiDCWoCag4eBd3N1rqQGXvQ2xLJilaj71BSxutmRtfc5EHf6avul5DV4QCg
	=
X-Gm-Gg: ASbGncsk+13SoxdRkxYbI2MTU29yNyQ57/6cvVfr9+li594OjyWdpDhNjfjZiz5dmGS
	2lGVfUfJVuCtnx8upaPTtHCPhmvf8JMY1ZFEDlqoWLpVOxFP6yPy4I9yixVouZF4n3W4nzXl3g/
	m79KgfxGplwRPboi0t2cZltdWloGZwSQ5OHLignxt8M2k1mtYuBCba0GhRQRfABuqbUb8htkDe7
	T7BOKeqr+RVGemWMCPa8h/So1Ftm81raTlgnL6ir9q17qz8rL2vhCIk9zJKAZue7bR8X4mCvqtF
	zY2A8XCnwYdlzhQt/Of8CL5PdWvh4c1XxZOyX4Jsa2y4YS5OkwJ6XittSWVVuvXmeToKGkyfk8+
	xS8FK1ZIrKnkJXjMUt/d3rQgr+g7iRQ==
X-Google-Smtp-Source: AGHT+IHQteaLNcNt65I4dgQ6qDS2Ewm584l+pQbdvqhBBjAGq9rRtpSwV90ZN6CnpL4Beq7D9jCUmA==
X-Received: by 2002:a05:600c:699b:b0:43c:e305:6d50 with SMTP id 5b1f17b1804b1-43db62c034bmr86702825e9.24.1743431163723;
        Mon, 31 Mar 2025 07:26:03 -0700 (PDT)
Message-ID: <e77a48b7-8f26-4b13-8863-615b5fbb7a29@suse.com>
Date: Mon, 31 Mar 2025 16:26:02 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: annotate page tables also with type
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Use infrastructure from xen/linkage.h instead of the custom legacy
macros that we're in the process of phasing out.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I wasn't quite sure whether to also convert __page_tables_{start,end}
right here (to LABEL()).

--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -79,15 +79,18 @@ ENTRY(__high_start)
 .L_bsp:
         tailcall __start_xen
 
+/* Around page tables the fill pattern would better be zero. */
+#undef DATA_FILL
+#define DATA_FILL 0
+
         .section .data.page_aligned, "aw", @progbits
-        .align PAGE_SIZE, 0
 /*
  * Mapping of first 2 megabytes of memory. This is mapped with 4kB mappings
  * to avoid type conflicts with fixed-range MTRRs covering the lowest megabyte
  * of physical memory. In any case the VGA hole should be mapped with type UC.
  * Uses 1x 4k page.
  */
-l1_directmap:
+DATA_LOCAL(l1_directmap, PAGE_SIZE)
         pfn = 0
         .rept L1_PAGETABLE_ENTRIES
         /* VGA hole (0xa0000-0xc0000) should be mapped UC-. */
@@ -98,7 +101,7 @@ l1_directmap:
         .endif
         pfn = pfn + 1
         .endr
-        .size l1_directmap, . - l1_directmap
+END(l1_directmap)
 
 /*
  * __page_tables_{start,end} cover the range of pagetables which need
@@ -111,17 +114,17 @@ GLOBAL(__page_tables_start)
  * Space for 4G worth of 2M mappings, first 2M actually mapped via
  * l1_directmap[].  Uses 4x 4k pages.
  */
-GLOBAL(l2_directmap)
+DATA(l2_directmap, PAGE_SIZE)
         .quad sym_offs(l1_directmap) + __PAGE_HYPERVISOR
         .fill 4 * L2_PAGETABLE_ENTRIES - 1, 8, 0
-        .size l2_directmap, . - l2_directmap
+END(l2_directmap)
 
 /*
  * L2 mapping the Xen text/data/bss region, constructed dynamically.
  * Executable fixmap is hooked up statically.
  * Uses 1x 4k page.
  */
-GLOBAL(l2_xenmap)
+DATA(l2_xenmap, PAGE_SIZE)
         idx = 0
         .rept L2_PAGETABLE_ENTRIES
         .if idx == l2_table_offset(FIXADDR_X_TOP - 1)
@@ -131,10 +134,10 @@ GLOBAL(l2_xenmap)
         .endif
         idx = idx + 1
         .endr
-        .size l2_xenmap, . - l2_xenmap
+END(l2_xenmap)
 
 /* L2 mapping the fixmap.  Uses 1x 4k page. */
-l2_fixmap:
+DATA_LOCAL(l2_fixmap, PAGE_SIZE)
         idx = 0
         .rept L2_PAGETABLE_ENTRIES
         .if idx == l2_table_offset(FIXADDR_TOP - 1)
@@ -144,20 +147,20 @@ l2_fixmap:
         .endif
         idx = idx + 1
         .endr
-        .size l2_fixmap, . - l2_fixmap
+END(l2_fixmap)
 
 /* Direct map, initially covering the 4 l2_directmap tables.  Uses 1x 4k page. */
-l3_directmap:
+DATA_LOCAL(l3_directmap, PAGE_SIZE)
         idx = 0
         .rept 4
         .quad sym_offs(l2_directmap) + (idx << PAGE_SHIFT) + __PAGE_HYPERVISOR
         idx = idx + 1
         .endr
         .fill L3_PAGETABLE_ENTRIES - 4, 8, 0
-        .size l3_directmap, . - l3_directmap
+END(l3_directmap)
 
 /* L3 mapping the fixmap.  Uses 1x 4k page. */
-l3_xenmap:
+DATA_LOCAL(l3_xenmap, PAGE_SIZE)
         idx = 0
         .rept L3_PAGETABLE_ENTRIES
         .if idx == l3_table_offset(XEN_VIRT_START)
@@ -169,10 +172,10 @@ l3_xenmap:
         .endif
         idx = idx + 1
         .endr
-        .size l3_xenmap, . - l3_xenmap
+END(l3_xenmap)
 
 /* Top-level master (and idle-domain) page directory. */
-GLOBAL(idle_pg_table)
+DATA(idle_pg_table, PAGE_SIZE)
         .quad sym_offs(l3_bootmap) + __PAGE_HYPERVISOR
         idx = 1
         .rept L4_PAGETABLE_ENTRIES - 1
@@ -185,22 +188,21 @@ GLOBAL(idle_pg_table)
         .endif
         idx = idx + 1
         .endr
-        .size idle_pg_table, . - idle_pg_table
+END(idle_pg_table)
 
 GLOBAL(__page_tables_end)
 
 /* Init pagetables. Enough page directories to map into 4GB. */
         .section .init.data, "aw", @progbits
-        .align PAGE_SIZE, 0
 
-l1_bootmap:
+DATA_LOCAL(l1_bootmap, PAGE_SIZE)
         .fill L1_PAGETABLE_ENTRIES, 8, 0
-        .size l1_bootmap, . - l1_bootmap
+END(l1_bootmap)
 
-GLOBAL(l2_bootmap)
+DATA(l2_bootmap, PAGE_SIZE)
         .fill 4 * L2_PAGETABLE_ENTRIES, 8, 0
-        .size l2_bootmap, . - l2_bootmap
+END(l2_bootmap)
 
-GLOBAL(l3_bootmap)
+DATA(l3_bootmap, PAGE_SIZE)
         .fill L3_PAGETABLE_ENTRIES, 8, 0
-        .size l3_bootmap, . - l3_bootmap
+END(l3_bootmap)


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:28:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932613.1334716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzG7X-0001d9-Fs; Mon, 31 Mar 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 932613.1334716; Mon, 31 Mar 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 1tzG7X-0001d2-DK; Mon, 31 Mar 2025 14:28:11 +0000
Received: by outflank-mailman (input) for mailman id 932613;
 Mon, 31 Mar 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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzG7W-0001cu-9k
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:28:10 +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 5d95b2b3-0e3c-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:28:08 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso42812825e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 07:28:08 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b79e136sm11470185f8f.67.2025.03.31.07.28.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 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: 5d95b2b3-0e3c-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743431287; x=1744036087; 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=HU9R0s0cMCNnWWgQXk1cRvQ2tCf5Am1r/s+JJTWhLfw=;
        b=M/JqPylOvhdMiYYiRKluTKv6XaIsGLFN1in3abBtk1Bn5C2S9wGRW0jdMAC1uy3kGl
         xKUq2hflxQLOUpSDC/FeA+eJqUFCOM4JvpL0r+zeF9aG2TCyNbXNXXiH2ETY240QiO3j
         MBTYLKh6j8m7Vn2+OcgcD8PrMPytMmeVjbPy4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743431287; x=1744036087;
        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=HU9R0s0cMCNnWWgQXk1cRvQ2tCf5Am1r/s+JJTWhLfw=;
        b=qXkhmNKgKyN14dMQCFRVaMhMfwvMlkLhbCkJu7RNpL+MrGdaTAt3S246/Zfzl8CdvQ
         g1ExHCkqviQQzrmroWZng7gEFwUnJbwpsyvlgWco9CUHgjE8ND2pi5fuMf/P40z+vFKe
         3qGuWLN3y6l+8+zylGDFoohQ3sa7xEnOlIK6hLpYsMr4x0rLhDOvakazGscszpxiq4rh
         4H69qG210NUUaodlZErPhrju/ILKLzBL95wr5tHQUGbgeVJ1eAvj2FaZAiOK67PeGmB8
         DLEl5tiBMgPakXTzTG5XpxB7fSxuX9ffHhAVJsHMyA1mP5bBPLgQeuRdN5tAankou0GA
         aEiQ==
X-Forwarded-Encrypted: i=1; AJvYcCVmpifnK48dDBcqSrBm2eqnYr7h+OicSB1hrKxFXwnd/Hw7yq8ztgEkCDZ2SuTImbSclCDay0cODpQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx3QoZ+6FqWkF83jtORlj1xRoHqb3iBdFkE/eiKKyKz3/8+w8H8
	mnL3Hi8JxQbEC1GXy1qDwD1A8KiC8tPqRAIJnUWziHg1Q1nywFoh6oGLQWt3z0U=
X-Gm-Gg: ASbGncvsEj4WMyIJiRlxULOFiEFRGe8qFrpR6Bn8tnxFWja+l77Wt8ZJMuyFt6M9max
	5Xt4hwxl4NQYPRr+Guu32VndiTy/p79q6DfcXbi+CeYSP8vssEqzASEIWjcEYxSCfrEYG7yzCSa
	PegfWO7l3x76WaJi+Sw4s1aLelG+dYb4HUltj/ukaXLSsrFjhPbCkfTC6MavLlnPdvWkE4OFJh8
	UOvQtj6nx4atdjEsCT2S7Kf/xxT058xeHC3/5ZkR+NicP7xsePAyhPztT7z8SxBPCxdaP/7GXsj
	SL/vKF5wYuk7etgGW0VhRXDF8JY++Fy0lJFXFgyyN/u4JD0FSLkKwqJB+huEhlfz8tRQKPEXvj7
	YDHVJiXVmhg==
X-Google-Smtp-Source: AGHT+IGQ8ol+CWr2ozN5EgYlbinOp89z5JtjGnOVRbtdTuVkjAxhbiU6GZJRdrdQH7nAXcCC1l+byQ==
X-Received: by 2002:a05:600c:4f43:b0:43c:fad6:fa5a with SMTP id 5b1f17b1804b1-43db62b77acmr82203945e9.24.1743431287650;
        Mon, 31 Mar 2025 07:28:07 -0700 (PDT)
Message-ID: <0ca065f3-cc80-4809-892e-40cd70b01b02@citrix.com>
Date: Mon, 31 Mar 2025 15:28:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: annotate page tables also with type
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>
References: <e77a48b7-8f26-4b13-8863-615b5fbb7a29@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: <e77a48b7-8f26-4b13-8863-615b5fbb7a29@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/03/2025 3:26 pm, Jan Beulich wrote:
> Use infrastructure from xen/linkage.h instead of the custom legacy
> macros that we're in the process of phasing out.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:35:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932623.1334726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGE0-0004Vf-4Y; Mon, 31 Mar 2025 14:34:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932623.1334726; Mon, 31 Mar 2025 14:34: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 1tzGE0-0004VY-21; Mon, 31 Mar 2025 14:34:52 +0000
Received: by outflank-mailman (input) for mailman id 932623;
 Mon, 31 Mar 2025 14:34: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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGDy-0004VS-Os
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:34:50 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c2f7509-0e3d-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 16:34:49 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 558615C565B;
 Mon, 31 Mar 2025 14:32:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0AE70C4CEE3;
 Mon, 31 Mar 2025 14:34:45 +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: 4c2f7509-0e3d-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431686;
	bh=xaEMZxbQp1Qr9ivAjB59KF4a/0OwWMSbOUS1BmmeD7w=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=G1CHqkYu8VyQ6OGBy8Dvy9fNGxOKxoF4NMamm0gRnOHuMkJwUrKvSXZuSiT5dN0yo
	 P2XVwyJpWfS7+vyu5woRvafHCbicA2+sKmf55zgj10psIt+6CVu9YesyctLnQuDv2A
	 apcn1zKBbxfRyEiHjXE7PXx/sCftvhwmEptLMxMfvPLKPGvFPf2tGWWd9jQPSc1q3R
	 AUgMA+ED0kH7s0sIP1KyIUN88+mTUxMMvniweT3B2PYudefkDbR4GWqwOD0puvbxrw
	 RcAUApTZu31XXoVEmLU2qQv2X4Lrw61VvZF/02GtLu6amSU8KS2Zv1uOMmel+RhpHd
	 xFPKn3bxFT8xg==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 6.14 15/18] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:34:05 -0400
Message-Id: <20250331143409.1682789-15-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143409.1682789-1-sashal@kernel.org>
References: <20250331143409.1682789-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.14
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 464aa6b3a5f92..1c9afbe8cc260 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -372,7 +372,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:35:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:35:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932632.1334738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGEa-0004yn-EF; Mon, 31 Mar 2025 14:35:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932632.1334738; Mon, 31 Mar 2025 14:35: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 1tzGEa-0004yg-9X; Mon, 31 Mar 2025 14:35:28 +0000
Received: by outflank-mailman (input) for mailman id 932632;
 Mon, 31 Mar 2025 14:35: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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGEY-0004lD-Sq
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:35:26 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61882ce6-0e3d-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:35:24 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id D716EA41DAC;
 Mon, 31 Mar 2025 14:29:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7597AC4CEE3;
 Mon, 31 Mar 2025 14:35: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: 61882ce6-0e3d-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431723;
	bh=xaEMZxbQp1Qr9ivAjB59KF4a/0OwWMSbOUS1BmmeD7w=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=J/nnhhYyj3OQeyhGvZqlY0j0F55GYJDn42J/aSoZf95LdaX2R8vYW9EQYh68w+0r6
	 4juIMWe6/J5OUZ7XUSEM2Uz2FKdSAqIKIr2D5x5uvnYXCp9FwBFGfLh28qkRDCxvQq
	 Nb8nWuwqpFac0/njVvkUic5IBtpNJzj1p9SKOH+GWvbwVZPgDXCt9R21jbpkGted+m
	 nDkT+/RJ5LCLPI58U3ZFJYh7kZ9dtugV0Cpm1hYrZopq3eRlwnalcfGAEIRNuC5qdU
	 AxF3M6s623wHYvwmSylSFBoKnIbB8OuejaJK0MsG1m/ogXCFV94M42KeqCdONBCMa5
	 2DSD3faoTwFRA==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 6.13 13/16] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:34:47 -0400
Message-Id: <20250331143450.1685242-13-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143450.1685242-1-sashal@kernel.org>
References: <20250331143450.1685242-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.13.9
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 464aa6b3a5f92..1c9afbe8cc260 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -372,7 +372,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:36:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:36:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932643.1334746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGF8-0005Xi-Ns; Mon, 31 Mar 2025 14:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932643.1334746; Mon, 31 Mar 2025 14:36: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 1tzGF8-0005XX-Js; Mon, 31 Mar 2025 14:36:02 +0000
Received: by outflank-mailman (input) for mailman id 932643;
 Mon, 31 Mar 2025 14:36: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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGF7-0004VS-21
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:36:01 +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 767ab080-0e3d-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 16:36:00 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id F161843ACE;
 Mon, 31 Mar 2025 14:35:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57EE6C4CEE4;
 Mon, 31 Mar 2025 14:35: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: 767ab080-0e3d-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431758;
	bh=xaEMZxbQp1Qr9ivAjB59KF4a/0OwWMSbOUS1BmmeD7w=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Sx0NObFqw9ERyAE1vCn/HsNjlwsgkMdb8L2j16wvh/liiOvNCvuUUASWEgF3gG7G3
	 A/ZRA+Sn77XYqhjkD/MKA41hO3tdUzqw/N7quS39WBXztywhrjmBV70rJlHlfpWYfH
	 j9i+I8b2Rg6OjJdix/OzYUyRQTFWN19AM/pIjHap45dlHYoJD88QbAFeF8qSh49ugo
	 uoLGzMcQeg+R/VII7LAE2033iKr864CKNgaekwClJY485y3/JTTTO5qSViOFzj2JcS
	 FtpPp+NUbtywtI/dFR+Fe6BL+eSTSJ/MAN6ae2kF5ABljXXb92cgM8JOaB/jaFmxCe
	 YVD2F+Ds2GUFg==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 6.12 11/13] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:35:25 -0400
Message-Id: <20250331143528.1685794-11-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143528.1685794-1-sashal@kernel.org>
References: <20250331143528.1685794-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.12.21
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 464aa6b3a5f92..1c9afbe8cc260 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -372,7 +372,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:37:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932649.1334757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGGE-00068S-WD; Mon, 31 Mar 2025 14:37:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932649.1334757; Mon, 31 Mar 2025 14:37: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 1tzGGE-00068L-TH; Mon, 31 Mar 2025 14:37:10 +0000
Received: by outflank-mailman (input) for mailman id 932649;
 Mon, 31 Mar 2025 14:37: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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGGD-00067y-3I
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:37:09 +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 9eb214a7-0e3d-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 16:37:08 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 0417E448E6;
 Mon, 31 Mar 2025 14:37:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B6F9C4CEE3;
 Mon, 31 Mar 2025 14:37: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: 9eb214a7-0e3d-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431826;
	bh=nel+CNbtIcIbXhGVRK9Wmqiu+JKidiJ+yS/1506Ry7M=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=VvRoCcdKyM1YnC2sLw7PYo9EeSljwzmSUm6IOBs9F51uoW0ikGvvCqMyRi28mgbjE
	 U3JlYr2tYH3GTXGIi5DuBZjp7Wb/pTTV2KO0FWMV+pomjIciJlATP1xL/TEauuoODc
	 pU+QIQOq7EdJ9GF9qKmjyqt8FPxp/OczmZwpryi69pm5yH0erY5lmBOGNjmsLTPISt
	 ZXXS1i/xOJ3AmUUja5vab3TU2tK5xh5pAx/4wYmpAKuo1h6Ec3eg5rIYWFRnytEUwv
	 DopSbC+PFM71ttxarOSHsHaQo3NlPgTFnvnS6sdNWOysyXWb7OOvORjonbTH8Nxalt
	 /NalOVFlD34vA==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 5.15 5/6] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:36:50 -0400
Message-Id: <20250331143652.1686503-5-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143652.1686503-1-sashal@kernel.org>
References: <20250331143652.1686503-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 5.15.179
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 7483a78d24251..20a3b320d1a58 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -371,7 +371,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:40:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:40:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932659.1334767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGJa-0007hG-E3; Mon, 31 Mar 2025 14:40:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932659.1334767; Mon, 31 Mar 2025 14:40: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 1tzGJa-0007h9-A5; Mon, 31 Mar 2025 14:40:38 +0000
Received: by outflank-mailman (input) for mailman id 932659;
 Mon, 31 Mar 2025 14: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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGGk-0004lD-4p
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:37:42 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b27c482f-0e3d-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:37:40 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id D6FCEA41DAC;
 Mon, 31 Mar 2025 14:32:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 737FDC4CEE9;
 Mon, 31 Mar 2025 14:37:38 +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: b27c482f-0e3d-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431859;
	bh=EBUZ7/lyZdvglHul0hI2jt6KLmQWNLkkH/t966Me0jY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=RDY6HbnyXjQoLmyZkPm2+mfwJkco58naAILC2MDsbzt8IB2BnM4aEJpsbbW2pduBX
	 21ZMwTJ8AfcHxqWxb4J7ZATNPL9Ss8xlSIT6z8KTcIqhBGaXRwXFQ0WzhJooNcl7YR
	 qGTkMfmkHWaKjJZWOOnytMB9nEJJQidfqAiQnOvIdAOBU2pmxXrQijAP2h3RlKjWc5
	 buNtXfsalOzE9fNZ8KnBaBnHY2Y4qZuWHlPgDjjlHc4euscoADPu8ZEzY6Wv6h1B37
	 fX/r6H2BUykYWFiXVOKYgFCpCLlrH3VLQkFPZQwSamjuQE5hV+VNpo6+FOHS7r3zRu
	 TBRL+UCzQyprg==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 5.4 4/5] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:37:25 -0400
Message-Id: <20250331143728.1686696-4-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143728.1686696-1-sashal@kernel.org>
References: <20250331143728.1686696-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 5.4.291
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 73a4ea714d937..5db6116cd042c 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -365,7 +365,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:41:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:41:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932684.1334777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGJy-0000Tk-LK; Mon, 31 Mar 2025 14:41:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932684.1334777; Mon, 31 Mar 2025 14:41: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 1tzGJy-0000Tb-I5; Mon, 31 Mar 2025 14:41:02 +0000
Received: by outflank-mailman (input) for mailman id 932684;
 Mon, 31 Mar 2025 14:41: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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGFw-0004lD-2G
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:36:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 944cdb0c-0e3d-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:36:50 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0EBDA5C28BB;
 Mon, 31 Mar 2025 14:34:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 95D72C4CEEE;
 Mon, 31 Mar 2025 14:36:47 +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: 944cdb0c-0e3d-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431808;
	bh=xaEMZxbQp1Qr9ivAjB59KF4a/0OwWMSbOUS1BmmeD7w=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=eN1eq0YtD4BVRafaWoALnEDXnSwnTuH7VOLwWEq/b4QMqGVUQNp48de4M0d4s/5Xb
	 EzSeGLaNg0fEdSTB8xE2rldw9pzhUcYVAyq7Y7RRiug4SBU5+lJ2qYOb4NLCUeV6e6
	 2DckbF+gqjk47QZYDAeHo2mQeG5NUH8UI1pMV3UG96FYRom0EvsN7dfBw4eNh9syFb
	 cjVBMfuYP8Itt0GQd2mdU69TprsqI+xtQLXS7vrwPGxnvUqTDG4wx66sjkG7AHtfZg
	 incyNnNjWco0DVUQMYl1OYqbvqZP0Y216SF+zqx9BDC1PrJThHLyOItk2g7lWo1xdC
	 Aps8Cd/NJeO9Q==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 6.1 5/6] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:36:31 -0400
Message-Id: <20250331143634.1686409-5-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143634.1686409-1-sashal@kernel.org>
References: <20250331143634.1686409-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.1.132
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 464aa6b3a5f92..1c9afbe8cc260 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -372,7 +372,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:41:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:41:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932696.1334786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGKJ-0001HZ-Se; Mon, 31 Mar 2025 14:41:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932696.1334786; Mon, 31 Mar 2025 14:41: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 1tzGKJ-0001HQ-Q8; Mon, 31 Mar 2025 14:41:23 +0000
Received: by outflank-mailman (input) for mailman id 932696;
 Mon, 31 Mar 2025 14:41: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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGGV-0004lD-Hc
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:37:27 +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 a9561413-0e3d-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:37:25 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id E1ED344CAB;
 Mon, 31 Mar 2025 14:37:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 49B6AC4CEE3;
 Mon, 31 Mar 2025 14:37:23 +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: a9561413-0e3d-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431844;
	bh=nel+CNbtIcIbXhGVRK9Wmqiu+JKidiJ+yS/1506Ry7M=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=J0IoV8ebfn91I62ieFegKX7b7/n0ECabbVHdq5Yq3oeNdgm4G63YuXDhZ7CXPRg7H
	 YaQ9EjU2h+ZOU9Vc471/lPYDXcJTsCnFurjf08WEasbfAX+hBi0k9fJwsjsnPx/Qf/
	 H6maW8aNCs5gs1QT+u+irPbrKuhLMW1/EKUYbUdjEVW8UFVVf/Nin4Eg3OPyKELh0K
	 A5EWXbpb2GxoY0FtyMQy+zfjmFNZzh9nsNh9FxY0HjfwCMD7mmcBJaDT8FPgMWC+DR
	 VmwclqxLN/Arnb94caQzYVJ27tN0FkECNnf70p7r3lIQxxIrD61bS6wM2lD6zXzS/N
	 vLOtH15Ah2Gmg==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 5.10 5/6] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:37:07 -0400
Message-Id: <20250331143710.1686600-5-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143710.1686600-1-sashal@kernel.org>
References: <20250331143710.1686600-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 5.10.235
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 7483a78d24251..20a3b320d1a58 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -371,7 +371,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:41:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:41:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932699.1334797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGKL-0001Yz-2e; Mon, 31 Mar 2025 14:41:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932699.1334797; Mon, 31 Mar 2025 14:41: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 1tzGKK-0001Ys-Vz; Mon, 31 Mar 2025 14:41:24 +0000
Received: by outflank-mailman (input) for mailman id 932699;
 Mon, 31 Mar 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=8cRO=WS=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1tzGFa-0004VS-AL
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:36:30 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88235f71-0e3d-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 16:36:29 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 8E1C05C275C;
 Mon, 31 Mar 2025 14:34:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47EE5C4CEE3;
 Mon, 31 Mar 2025 14:36:27 +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: 88235f71-0e3d-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743431788;
	bh=xaEMZxbQp1Qr9ivAjB59KF4a/0OwWMSbOUS1BmmeD7w=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=KFhRV77Umy3pgwfcAW9V7LTG+S7DKCUZpg7OcKaiiGUIDAmh0wzX9H8a5NQkGMXK8
	 UWUfPZQTFbf7kRZmGLP5I3W8X/GIbvm58kn97zERqqUqkPf4GABG3WzditNoociYt7
	 lHAv1MElEMVaFSE5J3jbPrro+xG3QNNJyE+/i8fbo/WTS62/61HUvzohd5t8kLCOcM
	 Cc8CqAhQf6TQMEZC1yZTHKCy99qX/EjU2ecnWmxodPS5GwE4QtG1a49G4ANtP0S3gA
	 pxbWiCA8uK6jii93LJcNp1JUFMIotQyZVSGDjMPnbwUKzXld0cnBMoi/ooUwFOyNJG
	 Sg8SvNg1xPhGg==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Kees Cook <kees@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 6.6 7/9] xen/mcelog: Add __nonstring annotations for unterminated strings
Date: Mon, 31 Mar 2025 10:36:00 -0400
Message-Id: <20250331143605.1686243-7-sashal@kernel.org>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250331143605.1686243-1-sashal@kernel.org>
References: <20250331143605.1686243-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.6.85
Content-Transfer-Encoding: 8bit

From: Kees Cook <kees@kernel.org>

[ Upstream commit 1c3dfc7c6b0f551fdca3f7c1f1e4c73be8adb17d ]

When a character array without a terminating NUL character has a static
initializer, GCC 15's -Wunterminated-string-initialization will only
warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
with __nonstring to and correctly identify the char array as "not a C
string" and thereby eliminate the warning.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Kees Cook <kees@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
Message-ID: <20250310222234.work.473-kees@kernel.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/xen/interface/xen-mca.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 464aa6b3a5f92..1c9afbe8cc260 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -372,7 +372,7 @@ struct xen_mce {
 #define XEN_MCE_LOG_LEN 32
 
 struct xen_mce_log {
-	char signature[12]; /* "MACHINECHECK" */
+	char signature[12] __nonstring; /* "MACHINECHECK" */
 	unsigned len;	    /* = XEN_MCE_LOG_LEN */
 	unsigned next;
 	unsigned flags;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 14:52:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 14:52:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932724.1334807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGV9-00053d-18; Mon, 31 Mar 2025 14:52:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932724.1334807; Mon, 31 Mar 2025 14:52: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 1tzGV8-00053W-UL; Mon, 31 Mar 2025 14:52:34 +0000
Received: by outflank-mailman (input) for mailman id 932724;
 Mon, 31 Mar 2025 14:52: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=Kof6=WS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tzGV7-00053Q-4x
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 14:52:33 +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 c565c32c-0e3f-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 16:52:30 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5e5e8274a74so7240396a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 07:52:31 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac71961f8f0sm633929666b.95.2025.03.31.07.52.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 07:52: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: c565c32c-0e3f-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743432750; x=1744037550; 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=56j89lkfPfxSdGbzQRzqFqwelwa8evuVeQi8eK4fRqA=;
        b=hNzi5PGYm5HRzAos8Yr6o9uC20OslZP/nZKWw2+Cq0dqPhm5v7Gs7lqH6jU7u/6J0J
         1FllGhAWaYSHvlVTN5SnFHy9NPWKJqo0FdEa/MK/ynyj8kGfC34BbCkK/3k0OGn7XVY6
         efeYlRD0CUng50tL8VWAgR/YSB7oEh0caZmQ6UbjyD7lfiR+z43PwHnSktrZNhqFT8eN
         ZZTT2ylxIv8Fki08KeVRF+KFDwtEIzb+CPlyWAObcHPYQZeQSRxXEkv90bpwlN627iER
         3xhQPgIEQ8z2ZSJLIECy+Xr8o7tG6u8PCMMRreV8HrBYkD8NzgVtdxwSEHgngWqCy8uZ
         CfRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743432750; x=1744037550;
        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=56j89lkfPfxSdGbzQRzqFqwelwa8evuVeQi8eK4fRqA=;
        b=kmUFg15EGZCu3VMOPVmtMIhegGE9pgFxJr0SFKQpfcBODXL9u4a35Uf+F/Jckj09Yr
         NNn6dyBUDXXaKQ9p31Xetd3EUcY8kqCgWU779o0toPuq56PctIx4+tZajBcKs7/rhoHw
         h0MPlDLCwcOVuuK1AagegnF33s8oPfwbCSR3xO1g0aNNtsoIFDo3VBGAYEZNFgwFDsdd
         ZtW2c4t3eiLyVjo8D8OP5fq+FRZbM5+ZGphWsz9A+K4qd9JoJXErfDJYEhDWNNozWVBz
         hwHmzSgrYeAfFHT9TA6bptLT3sSj6vxxzTxN5akPjSQ2lIh5tDVu+WLR/QFXtzguR/qc
         oZEQ==
X-Forwarded-Encrypted: i=1; AJvYcCWUkWh541SOU2Zsx7ZuBeeTcCU2rq68UVmB7kwMba30f9BD37s+4Mcsc+50HsF6u+WG38zvRg4H+5A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yza8Tap9rxrXdIo6dc7sjkws39DAyRIaw8qhDigAcf48wbmeeiw
	/t6j3PDS/kHHZMXA077iwyTyV+v2Sw4CCoToO/BVXe4i9zXyZoAY
X-Gm-Gg: ASbGncuzpiexFEabn2WpUa7nsRX3+6coOQB/KgNvp1zMSyqKsOxZKiUT8UUrVN92RSF
	G1PWi1irRfUPCgQugNcj9ntYclmFZDUZ84+BArNAR8Xtx0AmkNhhmi1YABFLa3sD6fUZDFMoSXE
	zSnH2FxwMb0CTYQI9ugr3GCso0/fLFajur9X6UZivHCEQjmthl/xzh4p8R0LpvMC4MOXoGClRpl
	TwpSEhoT4wzFc3Po3jrdhdBG1UiBilxz5yv1j1yl6o1Az3MFLpY+LNC5NCcM8wo82i2y8ZKGw3B
	j3JoLae3NHJZ7Kkl2nOt14Ojp0Dsknr/ln2+g7qF8+yAjXe56uYns88YSkBVEytrzmVqCpKf7KL
	0u5Ui7r/JaIm6HzS0ZwlH
X-Google-Smtp-Source: AGHT+IGiel+6UOkM8sHCVhhK+uGCOL1mG+DNamM7lCeVBXzG7Q+ndfapxQCHRQvG3BGBAvMh4rkRHg==
X-Received: by 2002:a17:907:2ce4:b0:abf:4da0:28e3 with SMTP id a640c23a62f3a-ac7389bb03amr835434866b.18.1743432750170;
        Mon, 31 Mar 2025 07:52:30 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------NOEJoo4c3yVrXwBVlKSVL3pd"
Message-ID: <47abb093-90ed-4661-943f-fa35bcb655c7@gmail.com>
Date: Mon, 31 Mar 2025 16:52:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 15/16] riscv: Remove asm/byteorder.h
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Lin Liu <lin.liu@citrix.com>
References: <20250328134427.874848-1-andrew.cooper3@citrix.com>
 <20250328134427.874848-16-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20250328134427.874848-16-andrew.cooper3@citrix.com>

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


On 3/28/25 2:44 PM, Andrew Cooper wrote:
> With the common code moved fully onto xen/byteorder.h, clean up the dregs.
>
> The use of byteorder.h in io.h appears to have been copy&paste from ARM.  It's
> not needed, but macros and types are.
>
> No functional change.
>
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.com>

Reviewed-by:Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
> 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>
> CC: Volodymyr Babchuk<Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis<bertrand.marquis@arm.com>
> CC: Shawn Anastasio<sanastasio@raptorengineering.com>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> CC: Daniel P. Smith<dpsmith@apertussolutions.com>
> CC: Lin Liu<lin.liu@citrix.com>
>
> v5:
>   * New
> ---
>   xen/arch/riscv/include/asm/byteorder.h | 14 --------------
>   xen/arch/riscv/include/asm/io.h        |  3 ++-
>   2 files changed, 2 insertions(+), 15 deletions(-)
>   delete mode 100644 xen/arch/riscv/include/asm/byteorder.h
>
> diff --git a/xen/arch/riscv/include/asm/byteorder.h b/xen/arch/riscv/include/asm/byteorder.h
> deleted file mode 100644
> index a32bca02df38..000000000000
> --- a/xen/arch/riscv/include/asm/byteorder.h
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -#ifndef ASM__RISCV__BYTEORDER_H
> -#define ASM__RISCV__BYTEORDER_H
> -
> -#include <xen/byteorder.h>
> -
> -#endif /* ASM__RISCV__BYTEORDER_H */
> -/*
> - * Local variables:
> - * mode: C
> - * c-file-style: "BSD"
> - * c-basic-offset: 4
> - * indent-tabs-mode: nil
> - * End:
> - */
> diff --git a/xen/arch/riscv/include/asm/io.h b/xen/arch/riscv/include/asm/io.h
> index 55f329dde321..8bab4ffa0390 100644
> --- a/xen/arch/riscv/include/asm/io.h
> +++ b/xen/arch/riscv/include/asm/io.h
> @@ -38,7 +38,8 @@
>   #ifndef ASM__RISCV__IO_H
>   #define ASM__RISCV__IO_H
>   
> -#include <asm/byteorder.h>
> +#include <xen/macros.h>
> +#include <xen/types.h>
>   
>   /*
>    * The RISC-V ISA doesn't yet specify how to query or modify PMAs, so we can't
--------------NOEJoo4c3yVrXwBVlKSVL3pd
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 3/28/25 2:44 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20250328134427.874848-16-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">With the common code moved fully onto xen/byteorder.h, clean up the dregs.

The use of byteorder.h in io.h appears to have been copy&amp;paste from ARM.  It's
not needed, but macros and types are.

No functional change.

Signed-off-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>Reviewed-by: <span style="white-space: pre-wrap">Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
</span></pre>
    <pre><span style="white-space: pre-wrap">Thanks.</span></pre>
    <pre><span style="white-space: pre-wrap">~ Oleksii</span></pre>
    <blockquote type="cite"
      cite="mid:20250328134427.874848-16-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">
---
CC: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
CC: Michal Orzel <a class="moz-txt-link-rfc2396E" href="mailto:michal.orzel@amd.com">&lt;michal.orzel@amd.com&gt;</a>
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
CC: Julien Grall <a class="moz-txt-link-rfc2396E" href="mailto:julien@xen.org">&lt;julien@xen.org&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: Stefano Stabellini <a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a>
CC: Volodymyr Babchuk <a class="moz-txt-link-rfc2396E" href="mailto:Volodymyr_Babchuk@epam.com">&lt;Volodymyr_Babchuk@epam.com&gt;</a>
CC: Bertrand Marquis <a class="moz-txt-link-rfc2396E" href="mailto:bertrand.marquis@arm.com">&lt;bertrand.marquis@arm.com&gt;</a>
CC: Shawn Anastasio <a class="moz-txt-link-rfc2396E" href="mailto:sanastasio@raptorengineering.com">&lt;sanastasio@raptorengineering.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>
CC: Daniel P. Smith <a class="moz-txt-link-rfc2396E" href="mailto:dpsmith@apertussolutions.com">&lt;dpsmith@apertussolutions.com&gt;</a>
CC: Lin Liu <a class="moz-txt-link-rfc2396E" href="mailto:lin.liu@citrix.com">&lt;lin.liu@citrix.com&gt;</a>

v5:
 * New
---
 xen/arch/riscv/include/asm/byteorder.h | 14 --------------
 xen/arch/riscv/include/asm/io.h        |  3 ++-
 2 files changed, 2 insertions(+), 15 deletions(-)
 delete mode 100644 xen/arch/riscv/include/asm/byteorder.h

diff --git a/xen/arch/riscv/include/asm/byteorder.h b/xen/arch/riscv/include/asm/byteorder.h
deleted file mode 100644
index a32bca02df38..000000000000
--- a/xen/arch/riscv/include/asm/byteorder.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef ASM__RISCV__BYTEORDER_H
-#define ASM__RISCV__BYTEORDER_H
-
-#include &lt;xen/byteorder.h&gt;
-
-#endif /* ASM__RISCV__BYTEORDER_H */
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/riscv/include/asm/io.h b/xen/arch/riscv/include/asm/io.h
index 55f329dde321..8bab4ffa0390 100644
--- a/xen/arch/riscv/include/asm/io.h
+++ b/xen/arch/riscv/include/asm/io.h
@@ -38,7 +38,8 @@
 #ifndef ASM__RISCV__IO_H
 #define ASM__RISCV__IO_H
 
-#include &lt;asm/byteorder.h&gt;
+#include &lt;xen/macros.h&gt;
+#include &lt;xen/types.h&gt;
 
 /*
  * The RISC-V ISA doesn't yet specify how to query or modify PMAs, so we can't
</pre>
    </blockquote>
  </body>
</html>

--------------NOEJoo4c3yVrXwBVlKSVL3pd--


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 15:20:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 15:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932762.1334817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGw1-0003Pw-4W; Mon, 31 Mar 2025 15:20:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932762.1334817; Mon, 31 Mar 2025 15:20: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 1tzGw1-0003Pp-18; Mon, 31 Mar 2025 15:20:21 +0000
Received: by outflank-mailman (input) for mailman id 932762;
 Mon, 31 Mar 2025 15:20: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=Kof6=WS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1tzGw0-0003Pj-Qa
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 15:20:20 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a77c73fb-0e43-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 17:20:18 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ac25520a289so770652966b.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 08:20:18 -0700 (PDT)
Received: from fedora.. (user-109-243-64-225.play-internet.pl.
 [109.243.64.225]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ac71922ba6fsm644280266b.19.2025.03.31.08.20.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Mar 2025 08:20: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: a77c73fb-0e43-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743434418; x=1744039218; 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=zwhXA6mi12VZ957a91yB9GLetoX262m4MEkEn262YHU=;
        b=JP/K4ZzFeFXT9Rkcs8/D75jvPlnaDI+KbNu9pcM15s6me2w4KpilqKyRqS7gOBh+qH
         SGh3mpEFE6hZbu9HYMWyChKGas+l5ARBNlsDANx+UOvBbLXNIw/RLDQORWTtNDoiId1q
         SRj7tr4fd2F1h8xKJ9Z2QF/4Xq99jdbZ/s6H/bI+FkLgdPBI0hDVAkK+Cp5dQvLXpFap
         SzGSWeG3wxsGBq8L+KvnQeTk9BX2eQhPPO2E9+V8SIZ1XT1U8OxkJ5fAdsXAWeXB05Bx
         cJtNc+qX2dBU3YxZ7hyhvq6wVl2e9/bYl83cx+O/p4qGS+taNT6jnzmO+7pCWKrSDUnq
         hQ+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743434418; x=1744039218;
        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=zwhXA6mi12VZ957a91yB9GLetoX262m4MEkEn262YHU=;
        b=u/Ip7JVOGpr8IaCsULcfWxyAiW3nBuaBgU3fR69DxBj+ejEYsBihxCPYRdK6LB3cbD
         EE/9egcW+wl5Igj/3seDuiROWmQoWkhVW9dqvgcr4WWO32ba2EnkEiJbDrVSvGO6Eu11
         M121IkkqKrsmbAj/cAvKvbRNkT8gv7YS0duCMlOinXeGskR0mcLG0Voo31Q20N0yKkl3
         hpdqehNZDy1l3n4s+vuKI3Trbu3qa4oDzHAQHuvj728lgg8z5Wh7xLyIZqfHIWK+Bqyo
         VPa2Hjwof0xfFHamCf3ZpbjT/7Fnk4Ew9e1h6Wtj+A031PntUqxqIykka5NxOnZQUOTd
         kDXA==
X-Gm-Message-State: AOJu0YzsrquseekTOFmsitjBQRAfMTugy6yPCh4/7T55PEahBwEeDEqF
	SfTDNmaymGzRVWgTEWG2iSApNQbQsAkzFIyHujAW8k02gktvCAxHm2yaZg==
X-Gm-Gg: ASbGncszTE49jJF7YA0FC+AfXlszRusWxvf6rZrm3iL9KBE3kjR8FLH6zXp+2abfoCL
	LggE1hVoZEMz+53pYsYfQaF/VTnuGwW9BqUPGGjPT7tN+ir0B0bORJf9k7Fa+Hvte7H6cNYTopI
	RkgTtej2nbsSP6yjmrjWu+0wWJB2juL6S7y+UEJnTuUd4GyZwwnfg3AmbbTNlCYdcwn/g+XWRug
	JPidfNugGA1MpFtzBMl4vJ3ywgaS9AjbfLFCWbMM3jqQh+E5uQqrDh51lFJFl2F2FjXWj5LT6nS
	poLoxHJAja7v6SF9twLKymOzjPriUBRCwPVlA1gJM3non+3NNVZNWyNYUFKEphT83gctQhRK5DP
	LjX92+sD1RxHrVa/hBff32Vqb
X-Google-Smtp-Source: AGHT+IHsMJyTYm/ZBPS0YL1Zu9eDazSXmmFEuQTF9HS8IjRJT93hsTHU6CLUwNH1BOZQ757eimQdmg==
X-Received: by 2002:a17:907:7da7:b0:ac6:ba92:79c9 with SMTP id a640c23a62f3a-ac7389d66e1mr957075966b.18.1743434417932;
        Mon, 31 Mar 2025 08:20: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: [PATCH v1] xen/riscv: Increase XEN_VIRT_SIZE
Date: Mon, 31 Mar 2025 17:20:11 +0200
Message-ID: <e5fa4219ccf43125e2489cc8c49b4404e6ed22ce.1743434164.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A randconfig job failed with the following issue:
  riscv64-linux-gnu-ld: Xen too large for early-boot assumptions

The reason is that enabling the UBSAN config increased the size of
the Xen binary.

Increase XEN_VIRT_SIZE to reserve enough space, allowing both UBSAN
and GCOV to be enabled together, with some slack for future growth.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/config.h |  8 ++++----
 xen/arch/riscv/include/asm/mm.h     | 12 +++++++++---
 xen/arch/riscv/mm.c                 | 11 ++++++-----
 3 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 7141bd9e46..ec73f436e3 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -41,11 +41,11 @@
  * Start addr          | End addr         | Slot       | area description
  * ============================================================================
  *                   .....                 L2 511          Unused
- *  0xffffffffc0a00000  0xffffffffc0bfffff L2 511          Fixmap
+ *  0xffffffffc1000000  0xffffffffc11fffff L2 511          Fixmap
  *                   ..... ( 2 MB gap )
- *  0xffffffffc0400000  0xffffffffc07fffff L2 511          FDT
+ *  0xffffffffc0a00000  0xffffffffc0dfffff L2 511          FDT
  *                   ..... ( 2 MB gap )
- *  0xffffffffc0000000  0xffffffffc01fffff L2 511          Xen
+ *  0xffffffffc0000000  0xffffffffc07fffff L2 511          Xen
  *                   .....                 L2 510          Unused
  *  0x3200000000        0x7f7fffffff       L2 200-509      Direct map
  *                   .....                 L2 199          Unused
@@ -78,7 +78,7 @@
 
 #define GAP_SIZE                MB(2)
 
-#define XEN_VIRT_SIZE           MB(2)
+#define XEN_VIRT_SIZE           MB(8)
 
 #define BOOT_FDT_VIRT_START     (XEN_VIRT_START + XEN_VIRT_SIZE + GAP_SIZE)
 #define BOOT_FDT_VIRT_SIZE      MB(4)
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 4035cd400a..822c21e02a 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -43,13 +43,19 @@ static inline void *maddr_to_virt(paddr_t ma)
  */
 static inline unsigned long virt_to_maddr(unsigned long va)
 {
+    const unsigned int vpn1_shift = PAGETABLE_ORDER + PAGE_SHIFT;
+    const unsigned long va_vpn = va >> vpn1_shift;
+    const unsigned long xen_virt_starn_vpn =
+        _AC(XEN_VIRT_START, UL) >> vpn1_shift;
+    const unsigned long xen_virt_end_vpn =
+        xen_virt_starn_vpn + ((XEN_VIRT_SIZE >> vpn1_shift) - 1);
+
     if ((va >= DIRECTMAP_VIRT_START) &&
         (va <= DIRECTMAP_VIRT_END))
         return directmapoff_to_maddr(va - directmap_virt_start);
 
-    BUILD_BUG_ON(XEN_VIRT_SIZE != MB(2));
-    ASSERT((va >> (PAGETABLE_ORDER + PAGE_SHIFT)) ==
-           (_AC(XEN_VIRT_START, UL) >> (PAGETABLE_ORDER + PAGE_SHIFT)));
+    BUILD_BUG_ON(XEN_VIRT_SIZE != MB(8));
+    ASSERT((va_vpn >= xen_virt_starn_vpn) && (va_vpn <= xen_virt_end_vpn));
 
     /* phys_offset = load_start - XEN_VIRT_START */
     return phys_offset + va;
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index f2bf279bac..dfa86738f2 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -31,20 +31,21 @@ unsigned long __ro_after_init phys_offset; /* = load_start - XEN_VIRT_START */
 #define LOAD_TO_LINK(addr) ((unsigned long)(addr) - phys_offset)
 
 /*
- * It is expected that Xen won't be more then 2 MB.
+ * It is expected that Xen won't be more then 8 MB.
  * The check in xen.lds.S guarantees that.
- * At least 3 page tables (in case of Sv39 ) are needed to cover 2 MB.
+ * At least 6 page tables (in case of Sv39) are needed to cover 8 MB.
  * One for each page level table with PAGE_SIZE = 4 Kb.
  *
- * One L0 page table can cover 2 MB(512 entries of one page table * PAGE_SIZE).
+ * Four L0 page table can cover 8 MB(512 entries of
+ * one page table * PAGE_SIZE).
  *
  * It might be needed one more page table in case when Xen load address
  * isn't 2 MB aligned.
  *
- * CONFIG_PAGING_LEVELS page tables are needed for the identity mapping,
+ * (CONFIG_PAGING_LEVELS + 2) page tables are needed for the identity mapping,
  * except that the root page table is shared with the initial mapping
  */
-#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS - 1) * 2 + 1)
+#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS + 2) * 2 + 1)
 
 pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 stage1_pgtbl_root[PAGETABLE_ENTRIES];
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 15:22:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 15:22:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932771.1334826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzGxr-0005D9-F0; Mon, 31 Mar 2025 15:22:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932771.1334826; Mon, 31 Mar 2025 15:22: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 1tzGxr-0005D2-CM; Mon, 31 Mar 2025 15:22:15 +0000
Received: by outflank-mailman (input) for mailman id 932771;
 Mon, 31 Mar 2025 15:22: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzGxp-0005Cu-UO
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 15:22:14 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eaa5c347-0e43-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 17:22:11 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43cfb6e9031so42220255e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 08:22:11 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d830f5708sm171173915e9.32.2025.03.31.08.22.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 08:22: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: eaa5c347-0e43-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743434531; x=1744039331; 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=d1fbdHQ/q+hF26CG9hyu5qocDg1dLaSEAlJKxV4m+c8=;
        b=BiM5XsM6O32fBC3FYZXXzcU4zwQHyPxrBjyHh8VMYGYqqBBDi4yQb42nm1iYwrmbpf
         mYBjdLOimQQoV0TlzepcGnSh1fNB/fTtAjPpJ9PN7XPD+msg/UsrbsRUgUSfgllIj33s
         sKL0ubLvfvMY1E6m5Vtz7jG1obJpMSEHSHywA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743434531; x=1744039331;
        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=d1fbdHQ/q+hF26CG9hyu5qocDg1dLaSEAlJKxV4m+c8=;
        b=nMn2CJcj3nJt1SEAo4Q/NqVNq806PzALusl2jWW1iNe3g0DLkofqtSJQtFPAlzP5FG
         c3Qb/4cvu/zDyQ6EOP5XY64/EHxhXk87AY2FISLPQEeLjJUqGpxVZuoHss/zN/mN6b65
         U5HIcJw9b8yAuRzIYXsdLE9m5ZU6D1VNY0uwwOXFzIKgePgqV+Qg67niEtwid9VqyT//
         c+SFwbkDN5CVw7lTikvH7G03Ei3F41I8M4RP52PAxvECXV7yULgK/JII1S9dmW2wY+bJ
         TyegDsGy+nx2qSCkDu5/oob3mF9gnrWvaDCsa+R1TQLFTX9lMJ6UqZVt1ew8xuuS0m1I
         stTA==
X-Forwarded-Encrypted: i=1; AJvYcCWcpwM2S7x44pJQC3g7aG0PBLKUnDJXKG7G1GCr+c4SC5MqNXWoEtB/3wu8TZaIdlT9t7vZZw17tL4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxOys0sitxQ9cyEfoLnzG8xW2z90K2w+Wv/qFkLn8+ZXleCAC2
	Fpiesw1oXUB0Pw/ZAraB1Ls/I7O7Df1Gwa6aVmkAtQhJP8Z517Rfz0dRW9rTfB4=
X-Gm-Gg: ASbGncumNEfgkImLAzXi7oiEKQLRCcr/CbSMb7UCumFXZFrEw36FBfLu/T/cjvv47Sp
	FJPrAYxgd97jwEImf7PDtixU1rfB8phpJXYxj3p8+iYz7qyjW4vEMx2nM0t7U5kHP1ns2qZcrbr
	xu0CG+ACQvTmyzSdkVjXv9VxhEIWKZmraaf4GLfjK4YEVcbiY3lWVbfF1E08SsT7MiSwVTLYVvC
	AZFIT9a2EYdo7Yn4+NU3+JA9RYLKoc9PtHHn+h2ddiiM7juu5J36jVHXCVHQhx9jXuv9ZnvLiRM
	VDAX3EvnnVfaPW1GMwiYBNESACdQjHRNMVgoglk0H84G3ggvAAwP3u13kZd8VPvoSUornips282
	0d0TMn8xEvo9JNtd7ffvY
X-Google-Smtp-Source: AGHT+IH133xS9WiJLbRzsnpwPP+k7DJ9Khqxl1xaWOmFIVyWz79JGdDMTBGFufTPIAWkiUznn8kCXQ==
X-Received: by 2002:a05:600c:5119:b0:43c:fa52:7d2d with SMTP id 5b1f17b1804b1-43db62bc109mr58514165e9.20.1743434531024;
        Mon, 31 Mar 2025 08:22:11 -0700 (PDT)
Message-ID: <96beef90-6ed5-42ee-8406-a7f7ef8629ac@citrix.com>
Date: Mon, 31 Mar 2025 16:22:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: correct gcc5 check
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>
References: <03f284a2-cc9b-4950-89b7-f9feaac0e129@suse.com>
 <4042ed88-5921-46a8-877c-81fa96a82b42@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: <4042ed88-5921-46a8-877c-81fa96a82b42@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/03/2025 1:06 pm, Jan Beulich wrote:
> On 31.03.2025 14:01, Jan Beulich wrote:
>> Passing the -dumpversion option to gcc may only print the major version
>> (for 4.x.y it printed major and minor, which in nowaday's scheme is then
>> indeed just 5 for 5.x).
> I meanwhile notice that my self-built compilers print 3 digits, so there
> really is a point to doc saying
>
> "Depending on how the compiler has been configured it can be just a single
> number (major version), two numbers separated by a dot (major and minor
> version) or three numbers separated by dots (major, minor and patchlevel
> version)."
>
> I've locally changed the above to
>
> (my system 4.x.y printed major and minor, which in nowaday's scheme is
> then indeed just 5 for 5.x, which in turn is what my secondary system
> compiler does)

Oh, that's useless.

Do all versions provide __GNUC_MINOR__ correctly?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 15:52:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 15:52:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932786.1334849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzHRF-00046Q-NP; Mon, 31 Mar 2025 15:52:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932786.1334849; Mon, 31 Mar 2025 15:52: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 1tzHRF-00046J-KI; Mon, 31 Mar 2025 15:52:37 +0000
Received: by outflank-mailman (input) for mailman id 932786;
 Mon, 31 Mar 2025 15:52: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzHRE-00046D-K6
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 15:52:36 +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 26823595-0e48-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 17:52:29 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso51620375e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 08:52: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-43d8fbbfebasm125154385e9.10.2025.03.31.08.52.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 08:52: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: 26823595-0e48-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743436349; x=1744041149; 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=W8aDUtkwLW0hb9Nm2CdKBls+FPVW7o7Mh5O1fBHdlds=;
        b=TskB5zVKx8MwmbNyJgywaMsNxdjjkYn0bRS/GKX6kEk0j8Kyxus5yb3hSWc/LClusq
         +UZoRd93lZp482XaxWPIUm3ovh0ysxpaTlCuiEbdnv4U8z0I9c3fKsiHHQUPXBeQ2htl
         jwthBfrzEghI5dhrTt6UonUdjF0SNK5C/IhJk29ZCcyuuA9DjSVKPLkOr2mH1/vXykMd
         2PrAhxckdEItnxNkyfE2I7QeDHOpHIIn/s4euti/kY9OCeDN5XAFAkBh8oDdMGIh/qUr
         xmGHvfU7z8cfe5S/Ht0Quhonq617B1ZWbufhg5yJzP7k/Zpjjr0XOYkzGYj5/8z4gDCs
         0ZhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743436349; x=1744041149;
        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=W8aDUtkwLW0hb9Nm2CdKBls+FPVW7o7Mh5O1fBHdlds=;
        b=lauBTkGvSP6lmbJ0UYY5jZ1AHTn7xHCvBJN12ZUIdUEleoHaxyhUlBfmQurTbMYaHY
         ulgSLxM4h5FTLqhM7KcRcmqENL0Ye+C+UzqculcG6+c9w6jFwRO4WUlcuUOw98yhIyXG
         eTqXxKmltB3DalvkvOUrT/wrBjsLye9kA7Bx/dycF+qdllnT7YeAMfNxPg3eG2byzir7
         ZEDGe1K+zvBXrBxcqEuY5yfS3fDE4DZn4RM6EZbnWkhDI4ZZmSml8+8sJ9LvHGBhJpwm
         9eY6tq7g18fAQthXU5P1M/rCfMHF3A+RSUoHDFHeSDh7NH4LGusTzgl9flViJEFRyIFV
         tjYQ==
X-Gm-Message-State: AOJu0YwND+jZNCepRNvQn3aDXdT9Qqe69czpPPMV1fU8FpZqbnyjjJrn
	+HX55ghPJIcbUUXeUY/OqVvFTQbdUsR9ajIS//nAOxlNKWEX3pJA/cv48yqB01/r/EGHV97as98
	=
X-Gm-Gg: ASbGncvb0Z9ox+vPq65xAOlwKVhUSBnF7YkBA9pDxjuLbYeS02DXaqS+SIY7WmUyD/d
	zVQVOufl/C623Byx7NKLvSQnRK7JxIXTM4ON1tpDe5EErTao8FvydsGBLlZQ4vMsUziWFLI4ygj
	BFZMYoyJcjtDEMZGdgt5QVoHDXmeFw76DJC2p+7nQMiGBEawFJ/pcQBjjHu7GsFc5ue3V4+LY9P
	rmcqJu1eVDRE+KMsvfCcfEWbx+HW3QfcykAh8l9ZjPSZgSmM5TVw2C5GCp1zZGYJT4Zs8/dN3aD
	DvvCiqUGSRRgL1JSAtstZeAofIRVltxeo0pFWGPf3yIRLzMnkHI9shjEibjzq4DR4WMLP3XAn/g
	sKOK/6ABp+mAM2txwu9blm56B6kjQRuk3wIFXoyaO
X-Google-Smtp-Source: AGHT+IGLxKIUJvn+/C1gpUiKAjYZqBDP6ZCapBOSOJwwAHVagmHxanrp3/oVXBgPRKSkoxxfeDsd5Q==
X-Received: by 2002:a05:600c:699b:b0:43c:e305:6d50 with SMTP id 5b1f17b1804b1-43db62c034bmr89947305e9.24.1743436349103;
        Mon, 31 Mar 2025 08:52:29 -0700 (PDT)
Message-ID: <09082f8f-5c1a-43c9-9b84-19d832e0849d@suse.com>
Date: Mon, 31 Mar 2025 17:52: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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul: replace _BYTES_PER_LONG
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

We can now easily use __SIZEOF_LONG__ instead. For this to also work in
the test harness, move hvmloader's STR() to common-macros.h.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Quite likely libxl{,u}_internal.h's STRINGIFY() could then also be
replaced.

--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -633,11 +633,9 @@ amd_like(const struct x86_emulate_ctxt *
 #if defined(__x86_64__)
 #define _LO32 "k"          /* force 32-bit operand */
 #define _STK  "%%rsp"      /* stack pointer */
-#define _BYTES_PER_LONG "8"
 #elif defined(__i386__)
 #define _LO32 ""           /* force 32-bit operand */
 #define _STK  "%%esp"      /* stack pointer */
-#define _BYTES_PER_LONG "4"
 #endif
 
 /* Before executing instruction: restore necessary bits in EFLAGS. */
@@ -651,7 +649,7 @@ amd_like(const struct x86_emulate_ctxt *
 "pushf; "                                                       \
 "notl %"_LO32 _tmp"; "                                          \
 "andl %"_LO32 _tmp",("_STK"); "                                 \
-"andl %"_LO32 _tmp",2*"_BYTES_PER_LONG"("_STK"); "              \
+"andl %"_LO32 _tmp", 2 * " STR(__SIZEOF_LONG__) "("_STK"); "    \
 "pop  %"_tmp"; "                                                \
 "orl  %"_LO32 _tmp",("_STK"); "                                 \
 "popf; "                                                        \
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -21,9 +21,6 @@ enum {
 /* Cause xs_wire.h to give us xsd_errors[]. */
 #define EINVAL EINVAL
 
-#define __STR(...) #__VA_ARGS__
-#define STR(...) __STR(__VA_ARGS__)
-
 /* GDT selector values. */
 #define SEL_CODE16          0x0008
 #define SEL_DATA16          0x0010
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -88,6 +88,9 @@
     (type *)((char *)mptr__ - offsetof(type, member));  \
 })
 
+#define __STR(...) #__VA_ARGS__
+#define STR(...) __STR(__VA_ARGS__)
+
 #define __AC(X, Y)   (X ## Y)
 #define _AC(X, Y)    __AC(X, Y)
 


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 15:54:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 15:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932795.1334858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzHSi-0004bz-0k; Mon, 31 Mar 2025 15:54:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932795.1334858; Mon, 31 Mar 2025 15:54: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 1tzHSh-0004bs-US; Mon, 31 Mar 2025 15:54:07 +0000
Received: by outflank-mailman (input) for mailman id 932795;
 Mon, 31 Mar 2025 15:54: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzHSh-0004bk-0c
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 15:54: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 5f6e586c-0e48-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 17:54:05 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfe574976so31969965e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 08:54:05 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d8fbbfef2sm125957535e9.11.2025.03.31.08.54.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 08: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: 5f6e586c-0e48-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743436444; x=1744041244; 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=FynnFSCloVKD/Si51Mjnsdl7p19Fm7ClUEKps3FTYRA=;
        b=Gj9iUT9+d7lxfdLRcjsrgPUoaLeaM7M2QjNC771f8ZGveg+ElLnht9zTWlb5J784Lh
         pIIuijfHK7N+R+K7jzP8qePKQpURCThAt2UTH/y5tsX1nm7lGHHokYlBQOw1rO2araRU
         cD0H4fChs4q/v6cynKs5zITBRdK3QkVJKMZ5A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743436444; x=1744041244;
        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=FynnFSCloVKD/Si51Mjnsdl7p19Fm7ClUEKps3FTYRA=;
        b=Fd64gDkz75xq+clvre6Vu5E/I0TYBRYqDtkT6+ocxHjnddB2Rlyoi5Ti9muPtndH5F
         XJw5fBwoRXsPoQoJVN0YXyUaSL48vWuk5gU3bDcjqIrQuWuJHuLwfNMf5uxuNNL7JonM
         YpOgSyfAlts7b92pQG4NSjIYbwEAJhHu9601rdoSHZ+6pkj+eJDfdoHToiztaBUCyOkd
         CF7TAajI3hKLP2edfTePbRS+jF2pS6iutK4o64KcLDdFNHDdzj0h0k4iDLEp0oDttCVn
         9IumCk6+9ftHTW7F7D6VkOyZ8+tWT40E+pPiwCMmaXrUBFcrssxbUScYHcDtxDwHhyFr
         Cgug==
X-Forwarded-Encrypted: i=1; AJvYcCXo/I2unlJWmEAh5HgrUGsCn/0g8Y6+Yzc8DwTtAQOlVrHxeEYkj8rkzu7e+f5bqmza1Jm4V8lJLII=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcGVdGqDWyXMpjsAkYKT9KBber8/VXFJhpUnY7nFmEFXu5LRgA
	kFuiTM2VjC2TOZr/z0CRCb8OkH7i6WJvnd8L0yd3qgI+1N8plgeKaxJ3CQiBboE=
X-Gm-Gg: ASbGncsNQ22WTwaf6Ehw+mGZqE7ON++26pQRQFVqQZd7Ovj7+3FjHyj2z4a8wX4qe+v
	W7CnTjRNLLve6PMLJyE/V8oWAApMCCG2RIXwVewuzOBPEt/VTFvvwwqIaBF1zO2VS6KZ3t6rERr
	hBhI8fJZR5Hl0bxE3DvRaDzMizk55470+u0AA0BgX1AT0vD0SmaX6A7NKeaUUGDkEByIAedRsQ/
	3Kop876Oqwg6+TGcCjlwOtt2qdmtLg9HMuBu54jQJsUFq/t37zJgO1XVip9fZPdoR2T86QheRW/
	mBcHPTlPGrMt5gYqU5EstD7SH8TZO67l6mGBbN6ujqJ/bgzaejUOL/lEBju359I1KmVtFOf7j0z
	ZmVyWdoqMvA==
X-Google-Smtp-Source: AGHT+IGnYfdHV4uglTsrx0CY1J6tZQwdlNAE1wOuQ9isbcgP6d/jdmdnnFdX+0XuddQGB9mol5KrkQ==
X-Received: by 2002:a05:600c:5119:b0:43c:fe15:41e1 with SMTP id 5b1f17b1804b1-43db60b7966mr75311495e9.4.1743436444582;
        Mon, 31 Mar 2025 08:54:04 -0700 (PDT)
Message-ID: <a2e24072-07c9-494e-bc88-2c9f4c8b240f@citrix.com>
Date: Mon, 31 Mar 2025 16:54:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul: replace _BYTES_PER_LONG
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>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <09082f8f-5c1a-43c9-9b84-19d832e0849d@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: <09082f8f-5c1a-43c9-9b84-19d832e0849d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/03/2025 4:52 pm, Jan Beulich wrote:
> We can now easily use __SIZEOF_LONG__ instead. For this to also work in
> the test harness, move hvmloader's STR() to common-macros.h.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 15:55:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 15:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932806.1334869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzHTt-0005CG-D5; Mon, 31 Mar 2025 15:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932806.1334869; Mon, 31 Mar 2025 15:55: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 1tzHTt-0005C9-9o; Mon, 31 Mar 2025 15:55:21 +0000
Received: by outflank-mailman (input) for mailman id 932806;
 Mon, 31 Mar 2025 15:55: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzHTr-0005Bu-HX
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 15:55:19 +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 8aa9a069-0e48-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 17:55:17 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf848528aso40953325e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 08:55: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-43d8fbc1889sm125371135e9.16.2025.03.31.08.55.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 08:55: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: 8aa9a069-0e48-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743436517; x=1744041317; 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=DrgN7z1rTdLiHHSoi+g5/iGBD4lyEtsF4XB4ie4GDRs=;
        b=BRMZ/ybC79jy2yjVBeS+Nf5g+iP7s8orEi2Bq17nkKtiaZXVb9f/+J5qwx2Lfj7z2Q
         SPr7jWkDBIZO7+YsT81xT6ivAc/Xrm/Fgp0J2NsRZIHWqGFsg5UoLuDWmVt410v6Pvbk
         +vDtwYu8sPuNDX/MagGbJtE117ZyZQW+9wdvMBwTLrw6Frzl0UC1FbawPG7FeXrLOI4n
         Dubqt2rcDpK8ZFvCRvkQZc45Xyy3xtMCn+yF71EZyUvugf8IqcpnB2nVwjh8dmQuxll3
         3lS/YxzhB3+bhX4kPZnwMIDP8lIqxJcJCzVhVyjYc892rPhQ/Xm3nT3V6SsDT/2jhBGa
         7PEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743436517; x=1744041317;
        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=DrgN7z1rTdLiHHSoi+g5/iGBD4lyEtsF4XB4ie4GDRs=;
        b=fnthUqA6+1R8Opq5oPUFxre4yss6H0TKKi2XnrJpto/RsnTsxit7EYrzNfS+GsnxOd
         jZWyi0kSH2XsKiyY7AGoDsKjj17sByPtiJdjyW09T2daxEhlryGNCZYjt4qx4DKH+WDs
         FJF3A7suVn/SnPafhtHjVRqlCb1GuGKHc6Odcq2r3A9417ou043EtPJeDgswdYvhUzBT
         W2DO1e6zbwbxDN2a6xG1YxK48Z8YTxFkjdt+FLcJVQLqLErz84ZIUMMzBnyCzkpAejQf
         q8cwvCFMgfcdwWzadoEzP+AvBH1Pl21InqCkxhF24bcwjjWzX8kmei8ystjX2GVpOlXL
         biJQ==
X-Gm-Message-State: AOJu0YzbG6ppClUZAvhaejqykIvcbb2TF58uzQqhhVdycnA9dBBeCjFo
	GJBjFd4zqr74dY016+68AuQOccKWFKIqDvPr4pFSWBLOvklUYZN2ojCIdO9g60PPuSTH2Q27cAs
	=
X-Gm-Gg: ASbGncvDrmpxsbjY+kjrMsfCHQqNJ49feW2/Bgusoi3RUtEzg7hNqu3wv9zmAO9yO9d
	hY7sNNJpFHJIGbnBJksv8VMIEN7Nkyf77R1WCgB9YLN8SBxrNJh/JZKWWNcQQ7+iyy5J/T8jSwR
	57p9LwVDRlBRJsGZjNwBmGt/bBrOqUpwgPL8xXfqvv2foxAer5zL5YWh77OFQrcxW7HF6JkduyH
	7Fl9f9M+BTIWT9TyES19yVymZjZNro+YGp/TvFHeKyiDz1Dx/+scM46b/xor7A9v6xVs11zNaai
	oR+tSQVHO+LJjDufwZHxOWbIdhAXZIFUf4eVPHlgGocuSOAisakbiOps4HF3nGm6EBmt0H1WjGT
	Y4XRBFl/Da4ZfVtaC7xMFRIIkqW/PRw==
X-Google-Smtp-Source: AGHT+IG7hOWzO+XEUraYGP7o1/5DmJfdY8dDpr+Y5S1QHLgH70M2f44r85rg7uHWbxPrw0R2cIGPtg==
X-Received: by 2002:a05:600c:34d0:b0:43c:ec0a:ddfd with SMTP id 5b1f17b1804b1-43db61e0308mr77664265e9.6.1743436517120;
        Mon, 31 Mar 2025 08:55:17 -0700 (PDT)
Message-ID: <569f350e-21bc-4fd3-8bba-991d6c34d08a@suse.com>
Date: Mon, 31 Mar 2025 17:55:16 +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>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul: make test harness build again as 32-bit binary
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Adding Q suffixes to FXSAVE/FXRSTOR did break the 32-bit build. Don't go
back though, as the hand-coded 0x48 there weren't quite right either for
the 32-bit case (they might well cause confusion when looking at the
disassembly). Instead arrange for the compiler to DCE respective asm()-s,
by short-circuiting REX_* to zero.

Fixes: 5a33ea2800c1 ("x86emul: drop open-coding of REX.W prefixes")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -110,11 +110,19 @@ struct operand {
     } mem;
 };
 
+#if defined(__x86_64__)
 #define REX_PREFIX 0x40
 #define REX_B 0x01
 #define REX_X 0x02
 #define REX_R 0x04
 #define REX_W 0x08
+#elif defined(__i386__)
+#define REX_PREFIX 0
+#define REX_B 0
+#define REX_X 0
+#define REX_R 0
+#define REX_W 0
+#endif
 
 enum simd_opsize {
     simd_none,


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 16:03:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 16:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932818.1334879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzHbb-00006F-5v; Mon, 31 Mar 2025 16:03:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932818.1334879; Mon, 31 Mar 2025 16:03: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 1tzHbb-000068-1H; Mon, 31 Mar 2025 16:03:19 +0000
Received: by outflank-mailman (input) for mailman id 932818;
 Mon, 31 Mar 2025 16:03: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzHbZ-000060-8b
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 16:03:17 +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 a719eb2f-0e49-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 18:03:14 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso44463175e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 09:03: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-39c0b65b4fcsm11843119f8f.11.2025.03.31.09.03.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 09:03: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: a719eb2f-0e49-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743436994; x=1744041794; 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=DrC7X4a0wx63IcnL8gVpMqOlw0MMRkDb1HgtkmzYBDA=;
        b=IxcaXFgcB8tk5OdbcOLgx91mU4aMHhDeN8qHSmRrJKu0P6Zy7caFzFp1Z4L+oX8Sqx
         ZxjMk11PbE6WTtftXhbVf5u2nn6Ps6c++mpactwW4mzlc9haMaQ6Ml6+uy+welTnnEWC
         /0L1b46euwdt9hb4Pk+Xg6fnXxegwthF69Lw/uInrZRNmGhGnGDLrwCrUYye+iSN1rgT
         8dTYOAwYfoXNBnrnjcNPGfknGIDAEOmqfczcjLH/5WTZsiuL0VGpDd1m3WHTexME/Gam
         puqI8rNKk2vdzy5B4LO+nGCPmrKBhaNl26auAVzu3DuOL7lkbL7acDZmOzPNdmqz1roq
         EMUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743436994; x=1744041794;
        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=DrC7X4a0wx63IcnL8gVpMqOlw0MMRkDb1HgtkmzYBDA=;
        b=Y2xyOETzyNuFEyq3ceK1SKescdSVA3tJ2qJI4/e9qI9WHfU/3p78E5/Htz5v+oYRRC
         mjLs+5918C4ws+uQHW9II3G739M7N0SoIiBXTxGC/bj6otNnaSPjwRPcFXbFUTIEtAs2
         oJcNVdXoJZq89FXavGqh+wV2Kz33owDevQfsYfjyxbEBp2LSf81/bAmGx3qiXR9iWIsq
         I2hZj9ojK9IowfuEPAx6dbT0hh4eIOtbxyrNDGpsY4icFiooMaM17GQzSigAm7mmnwL4
         MmCJO5YmCUGQdwujBDmOxuEYQRsx4wBk6r00/WKtBmlHHpwPILUcL08Cr3ZK+qfO7662
         G1zg==
X-Forwarded-Encrypted: i=1; AJvYcCVmDp39HaZvR1/02bTWaHRH0U9tPd0SH80Nttoh4N7M9EpGXk4wbAIcyagt7z1Cn02rzH6cUlNqmp0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4UuPBoBcYrVgpJWM7o1WsDYSNbiwZ3z5H4lPPxpWLpccGWwQV
	evl9Qq0Tb/r0RbnoefAAjL7+g6PMwBRWHqoR9oAJnpEaHxNZIdCTRyeWdsJREg==
X-Gm-Gg: ASbGncu2rxOLc/O8fzIJPO/VGopmEJEXJIOBcSoshoVaWSp9aa0PeTUA+C7vJQXbFRy
	Txav00g0ZkGBh7T0OL2QouLxYxVf/+GoM7UipwoL6O8EQNJuDJuCnfILwfFjdcDv8K9RFYk+gFy
	UXofysqznYX3KJP6Moz5VYn8OoXlCu2Lk3hb8Ma355qz2q+aJ1G0qU4TDo7jhQZSMs3l0aH+sIb
	CulNPHqZ4CquGR1IkNSGOBlRwnSTSWw9jmeY0uRmsX7h22bSPo/U4B1Rvc59nhB/ox+DlBfDsh9
	nY67qwdiTObxTx/2ewr0WJO71KVqHAlcJeRvQg66ylFJ1pkaQwwf9f1l3C3q9mgDFaZosfnxtvv
	YSLo3UqbBRsNkR3yrLy2TDAT99OVfKA==
X-Google-Smtp-Source: AGHT+IFW9+e+Lx9VCRQ34+NYEzhiWnFow65qzNMYUJbNEWh/G6BW8Kb5ZLIyCnvq6d94wBXYH/2rzg==
X-Received: by 2002:a5d:5985:0:b0:397:3900:ef83 with SMTP id ffacd0b85a97d-39c120e3dcamr6041970f8f.32.1743436994125;
        Mon, 31 Mar 2025 09:03:14 -0700 (PDT)
Message-ID: <028bcea5-3d97-40f2-960e-f865b56bba65@suse.com>
Date: Mon, 31 Mar 2025 18:03:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: correct gcc5 check
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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <03f284a2-cc9b-4950-89b7-f9feaac0e129@suse.com>
 <4042ed88-5921-46a8-877c-81fa96a82b42@suse.com>
 <96beef90-6ed5-42ee-8406-a7f7ef8629ac@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: <96beef90-6ed5-42ee-8406-a7f7ef8629ac@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31.03.2025 17:22, Andrew Cooper wrote:
> On 31/03/2025 1:06 pm, Jan Beulich wrote:
>> On 31.03.2025 14:01, Jan Beulich wrote:
>>> Passing the -dumpversion option to gcc may only print the major version
>>> (for 4.x.y it printed major and minor, which in nowaday's scheme is then
>>> indeed just 5 for 5.x).
>> I meanwhile notice that my self-built compilers print 3 digits, so there
>> really is a point to doc saying
>>
>> "Depending on how the compiler has been configured it can be just a single
>> number (major version), two numbers separated by a dot (major and minor
>> version) or three numbers separated by dots (major, minor and patchlevel
>> version)."
>>
>> I've locally changed the above to
>>
>> (my system 4.x.y printed major and minor, which in nowaday's scheme is
>> then indeed just 5 for 5.x, which in turn is what my secondary system
>> compiler does)
> 
> Oh, that's useless.
> 
> Do all versions provide __GNUC_MINOR__ correctly?

I'm entirely sure they do.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 16:14:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 16:14:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932829.1334889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzHm5-0002uV-0R; Mon, 31 Mar 2025 16:14:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932829.1334889; Mon, 31 Mar 2025 16: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 1tzHm4-0002uO-TR; Mon, 31 Mar 2025 16:14:08 +0000
Received: by outflank-mailman (input) for mailman id 932829;
 Mon, 31 Mar 2025 16:14: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=AhU9=WS=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1tzHm4-0002uI-4Q
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 16:14:08 +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 2b37e04d-0e4b-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 18:14:06 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-39bf44be22fso2339636f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 09:14: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-39c0b66aeaasm11797639f8f.53.2025.03.31.09.14.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 09:14: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: 2b37e04d-0e4b-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1743437645; x=1744042445; 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=VXF5dS3xOnr8BItQn5poZsH936R9nIwkx3u4ZuXLT5U=;
        b=LZMJLwEVih1sqSLxiipFwHXmX8Cmf6xdTJrOjJPfUKF9zErupO36KFC8vw19BFygye
         Us/8kDs0WtKo3IfX2+pxBvqUP1PdRYFKruJxStlypJV5lMTxrzVJVt84lx03mvlUmrlm
         XTrSumFI6IbFNb+rD1VDYgDkMa5f0uZeDA/CUWUJKIb4gw2iQ/8Oqk4nH7VSMqE/5+7G
         iDiZGEJlgkWWLV8bvoWa/YCa+Z57RBkYiHx/d8VnTG2TnUtW0Ej38NaATRfz7FTy5cJO
         rPOsF4Ngqe0uLJAbBwKQqLMMJoaLtgV2p8156ZcaQkrXpQl4C4+LuScxZ1yRIh1pm2Tg
         LpOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743437645; x=1744042445;
        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=VXF5dS3xOnr8BItQn5poZsH936R9nIwkx3u4ZuXLT5U=;
        b=iVyJTeEjx9teFJ6Qn8cXeQSRgKiDI+V3OfbUjpNySgMQAUaDMuHRKzXZ4VyRjc9NFG
         TRu6j+jSFpX19Qrx7bPzJJ1C+mBtmztnW3/2KolaQXWrEHuQ0Gp7HDGxmOM7IibrdyEu
         nojwZ9KcIPfYrAIQ5B7sWEidJCBlJvgDd0HaR2Ktn9ztIP/c9oR24WHkXDQMgs//EKuD
         jN9LzL+mh98o9KfXvp9OeyUIV6o65QpdenOT0GDSXjrKQYd0AX6JGmhRQ/sVOpfJkRUM
         IRnBN4xpm6b0gmnpA9pRVXup7sPkaB0veEuoogsoxGQ/UJQuq8VtABOvDHvP0M6ygPbr
         TnTg==
X-Forwarded-Encrypted: i=1; AJvYcCW2Rv1P8weD18igouyuC1i10DcElSMRDzsnYnKLM0hWK+a8WJXTb7X/ChrpUCJ84+WquNR1aDhCxuI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzyiUzjwD91U4Fmc+WWMGKMivoA5mlsEFzCfDGFU0/PNzuVL3mA
	hRajKUEKjGegA3WI4sf9EjNVkzSJHU07/67L7ranAgi7I59jqn8pY2mLM3D/Cg==
X-Gm-Gg: ASbGncsWaNxQSFH6XnxuWkN6eb95xVjEacLPYKlu8yae0th5tfm4895U1GNBT+W5Zrf
	GKek67YkKCyiw1OqlSgpN3AkjbHOyoSatd0MC3HERr6Vs8B/6r/oAcM+sZ/yic5L+4sDWXDA1iw
	tEri9wUhQDOI1yrTJO27GLh4jcm2+VMznUupRK0M0ONW475z9aAQnW6rD69jGfnLYQdFoxCs4cx
	J/loV+XaYvNc57H4cwvDj1HKPmsCvxEJYyOkiZfl4FgKvgac9wyHsptVHmqZ7sAD++/dABR830O
	z3spoJp1KicIYvfOYJ1f5+HWb+0eupdoaJEeqGn9g8+MSdJ5vHlnK9Pna6NUVsxCplkQ8vqtZRc
	988iaNqLaOYHzgP2RTteUngwGHkAJLw==
X-Google-Smtp-Source: AGHT+IE3mdrzD0utNbyfDMXIQQtWnQrX5za3GNsAx5HoTi1Xn+N26+FhcaojV3XcI7kLUT9zyMMUIw==
X-Received: by 2002:a05:6000:2510:b0:39c:1efb:ec8e with SMTP id ffacd0b85a97d-39c1efbed7fmr2221057f8f.6.1743437645287;
        Mon, 31 Mar 2025 09:14:05 -0700 (PDT)
Message-ID: <54ebdcb7-071f-411f-803a-930dc330a497@suse.com>
Date: Mon, 31 Mar 2025 18:14:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/riscv: Increase XEN_VIRT_SIZE
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: <e5fa4219ccf43125e2489cc8c49b4404e6ed22ce.1743434164.git.oleksii.kurochko@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: <e5fa4219ccf43125e2489cc8c49b4404e6ed22ce.1743434164.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31.03.2025 17:20, Oleksii Kurochko wrote:
> A randconfig job failed with the following issue:
>   riscv64-linux-gnu-ld: Xen too large for early-boot assumptions
> 
> The reason is that enabling the UBSAN config increased the size of
> the Xen binary.
> 
> Increase XEN_VIRT_SIZE to reserve enough space, allowing both UBSAN
> and GCOV to be enabled together, with some slack for future growth.

At some point you may want to use 2M mappings for .text (rx), .rodata
(r), and .data (rw). Together with .init that would then completely
fill those 8Mb afaict. Hence you may want to go a little further right
away, e.g. to 16Mb.

> --- a/xen/arch/riscv/include/asm/mm.h
> +++ b/xen/arch/riscv/include/asm/mm.h
> @@ -43,13 +43,19 @@ static inline void *maddr_to_virt(paddr_t ma)
>   */
>  static inline unsigned long virt_to_maddr(unsigned long va)
>  {
> +    const unsigned int vpn1_shift = PAGETABLE_ORDER + PAGE_SHIFT;
> +    const unsigned long va_vpn = va >> vpn1_shift;
> +    const unsigned long xen_virt_starn_vpn =

s/starn/start/ ?

> +        _AC(XEN_VIRT_START, UL) >> vpn1_shift;
> +    const unsigned long xen_virt_end_vpn =
> +        xen_virt_starn_vpn + ((XEN_VIRT_SIZE >> vpn1_shift) - 1);
> +
>      if ((va >= DIRECTMAP_VIRT_START) &&
>          (va <= DIRECTMAP_VIRT_END))
>          return directmapoff_to_maddr(va - directmap_virt_start);
>  
> -    BUILD_BUG_ON(XEN_VIRT_SIZE != MB(2));
> -    ASSERT((va >> (PAGETABLE_ORDER + PAGE_SHIFT)) ==
> -           (_AC(XEN_VIRT_START, UL) >> (PAGETABLE_ORDER + PAGE_SHIFT)));
> +    BUILD_BUG_ON(XEN_VIRT_SIZE != MB(8));

Is it necessary to be != ? Won't > suffice?

> +    ASSERT((va_vpn >= xen_virt_starn_vpn) && (va_vpn <= xen_virt_end_vpn));

Are you sure about <= on the rhs of the && ?

> --- a/xen/arch/riscv/mm.c
> +++ b/xen/arch/riscv/mm.c
> @@ -31,20 +31,21 @@ unsigned long __ro_after_init phys_offset; /* = load_start - XEN_VIRT_START */
>  #define LOAD_TO_LINK(addr) ((unsigned long)(addr) - phys_offset)
>  
>  /*
> - * It is expected that Xen won't be more then 2 MB.
> + * It is expected that Xen won't be more then 8 MB.
>   * The check in xen.lds.S guarantees that.
> - * At least 3 page tables (in case of Sv39 ) are needed to cover 2 MB.
> + * At least 6 page tables (in case of Sv39) are needed to cover 8 MB.
>   * One for each page level table with PAGE_SIZE = 4 Kb.
>   *
> - * One L0 page table can cover 2 MB(512 entries of one page table * PAGE_SIZE).
> + * Four L0 page table can cover 8 MB(512 entries of
> + * one page table * PAGE_SIZE).
>   *
>   * It might be needed one more page table in case when Xen load address
>   * isn't 2 MB aligned.
>   *
> - * CONFIG_PAGING_LEVELS page tables are needed for the identity mapping,
> + * (CONFIG_PAGING_LEVELS + 2) page tables are needed for the identity mapping,
>   * except that the root page table is shared with the initial mapping
>   */
> -#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS - 1) * 2 + 1)
> +#define PGTBL_INITIAL_COUNT ((CONFIG_PAGING_LEVELS + 2) * 2 + 1)

I'm in trouble fitting the comment updates with the update of the #define. Why
would more tables be needed for the identity mapping? Why does XEN_VIRT_SIZE
not appear anywhere here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 16:18:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 16:18:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932839.1334899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzHpp-0003TT-Ff; Mon, 31 Mar 2025 16:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932839.1334899; Mon, 31 Mar 2025 16:18: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 1tzHpp-0003TM-Cn; Mon, 31 Mar 2025 16:18:01 +0000
Received: by outflank-mailman (input) for mailman id 932839;
 Mon, 31 Mar 2025 16:18:00 +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 1tzHpo-0003TB-My
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 16:18:00 +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 1tzHpk-002RL6-0O;
 Mon, 31 Mar 2025 16:17:56 +0000
Received: from [2a02:8012:3a1:0:4a4:ac1c:109c:a95]
 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 1tzHpj-00CXyY-32;
 Mon, 31 Mar 2025 16:17: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oS3eXU7frhy4tBXFsH87lZkMpMrxmp6W9+vYkfhiNFA=; b=fqs37kGWPzpirUUAq6pvM6oykt
	82zoYVjiWq0uwVPQf7D9f/0aqOsbW7WnsCpFbXkHhM6Bo4XoMksduxgwaJf0OEFolVu1mmMVlYSCG
	J/cgoPe3d5NXDGtRSIfJBv7Gqn6scXsFH6YBHpQKqInRFecvNRYBTAq3ua/KSkOc0KLc=;
Message-ID: <6f0efa9a-876e-4ae1-9367-ccd89f51bab0@xen.org>
Date: Mon, 31 Mar 2025 17:17:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/riscv: Increase XEN_VIRT_SIZE
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <e5fa4219ccf43125e2489cc8c49b4404e6ed22ce.1743434164.git.oleksii.kurochko@gmail.com>
 <54ebdcb7-071f-411f-803a-930dc330a497@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <54ebdcb7-071f-411f-803a-930dc330a497@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 31/03/2025 17:14, Jan Beulich wrote:
> On 31.03.2025 17:20, Oleksii Kurochko wrote:
>> A randconfig job failed with the following issue:
>>    riscv64-linux-gnu-ld: Xen too large for early-boot assumptions
>>
>> The reason is that enabling the UBSAN config increased the size of
>> the Xen binary.
>>
>> Increase XEN_VIRT_SIZE to reserve enough space, allowing both UBSAN
>> and GCOV to be enabled together, with some slack for future growth.
> 
> At some point you may want to use 2M mappings for .text (rx), .rodata
> (r), and .data (rw).

OOI, why would we want to switch to 2MB? At least on Arm, Xen is tiny 
enough that it can fit in less than a couple of MB. I would expect the 
same for RISC-V.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 16:24:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 16:24:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932848.1334908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzHwQ-0006FE-41; Mon, 31 Mar 2025 16:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932848.1334908; Mon, 31 Mar 2025 16:24: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 1tzHwQ-0006F7-1J; Mon, 31 Mar 2025 16:24:50 +0000
Received: by outflank-mailman (input) for mailman id 932848;
 Mon, 31 Mar 2025 16:24: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzHwO-0006F1-NE
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 16:24:48 +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 a953d8e4-0e4c-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 18:24:47 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-43690d4605dso31162755e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 09:24:47 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b79e0dcsm11764414f8f.64.2025.03.31.09.24.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 09:24: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: a953d8e4-0e4c-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743438286; x=1744043086; 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=VXI52+uWTuMaUUw3LTSQ7AmoWQitPZmqz6YhSwfolXk=;
        b=kjuDBY73tv2fYTLyibN2tnLqOMuO8uBA7a+RByGyWVPQe3sbYv5mrLM/34j7igHv13
         Dl96FblLrRbOOn0+u4YWUfnb/yfCNUB95pGJf1KC1cy4Sq8mslK0tA+q/dWQLNCoi148
         y7Xr+Mb82SjUw2VkXfTTKF/XAImZod4t9ykng=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743438286; x=1744043086;
        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=VXI52+uWTuMaUUw3LTSQ7AmoWQitPZmqz6YhSwfolXk=;
        b=bAhOV+E9vCo9ywB1rTPPhTOzLwzJFNLXSGpPeqimKDzozk1J05wPe+4tglguDQL0Fy
         xBrm0DfEojkEbtiFgRBQzLBLVSoVDKX7Rw1XtLXwF4ClHOG/5G38KS1iOn7zmXKOTZiu
         q9tr3BaTt9kSBeAlI1LBLsAArryYMv4YcFC1ZkR0I5b6h02PDneCl7nmYEgnSda5JDAm
         zgmB1roykVkHPPhILX0K8hTiQtBaSSFOO0TJdHOAdH4Yx6cgubDBRs7eOAl+cGZ5W4GY
         f2z6u88/npfkropHZcurxpB9DFXA4y5TAdCO+iLbcEBrUgVShMDvR47jrz4awu73rQif
         tWjQ==
X-Forwarded-Encrypted: i=1; AJvYcCXfgXozB77l8w/2ttYWXKM6wiya51t0VRnHJVEvKddAwJcOOxRBWD1XOnRSIdmtxLSTLRXrHve/3tE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJb7sou/xKDz+pI5DGF1hJ0fE1iDcX+BBG665KngyCy7CeCDlz
	vOzlxGbNhvg6ir27f8aduKyKIqQ0cEvr9ffCknIXw5oIfNmohcXFW2deA6CMwAk=
X-Gm-Gg: ASbGncuF0tIscHbgsmqappUBZ9y7cD8neanVM86+PzyF4ppTH0YKpJSDxIQoCqJaJKX
	Ql0YY+Gp3S1bVTROPGc4+4yiwJ8BYml72GX2Kv3gAbfUy2KA4Ik+O8WW7vgYzfefcZSwbIE5iu+
	n+x06PkBwlnGNm4mEt0+mVItpI6mytGh6STB5yUxjhmm0GxREPQtSsnBxVZdJO4HEb/wz7iGU7d
	twISxd2BzuxEk+xuHcG8sNlZwa03ANG+UORUbe6NzaJqPvqKefn/UjGQVJB3u+Ub2JxDLUr8C5B
	Mt63kyFTi3ehS3frQ3agen7OfZ0ReibYpdeVqpaTMq6MNWl68P1UPmcVEBV+FmP0ZFdKrAGOw8q
	B9/picbNAqE1Q/Zvbhi9G
X-Google-Smtp-Source: AGHT+IEaEh0Vq8VodmxuE7Ns+rg1Ofx+pmEExQHHeEwUqkQLz1Lpe4Cq1H50W30g3qk5iKCrUTbaJw==
X-Received: by 2002:a05:6000:40e1:b0:391:3aaf:1d5f with SMTP id ffacd0b85a97d-39c12119dd8mr7462079f8f.52.1743438286535;
        Mon, 31 Mar 2025 09:24:46 -0700 (PDT)
Message-ID: <004b7ec8-95d4-4f9b-af1e-8011748d5a5a@citrix.com>
Date: Mon, 31 Mar 2025 17:24:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul: make test harness build again as 32-bit binary
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>
References: <569f350e-21bc-4fd3-8bba-991d6c34d08a@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: <569f350e-21bc-4fd3-8bba-991d6c34d08a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/03/2025 4:55 pm, Jan Beulich wrote:
> Adding Q suffixes to FXSAVE/FXRSTOR did break the 32-bit build. Don't go
> back though, as the hand-coded 0x48 there weren't quite right either for
> the 32-bit case (they might well cause confusion when looking at the
> disassembly). Instead arrange for the compiler to DCE respective asm()-s,
> by short-circuiting REX_* to zero.
>
> Fixes: 5a33ea2800c1 ("x86emul: drop open-coding of REX.W prefixes")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 17:29:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 17:29:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932874.1334936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzIx3-00033I-U4; Mon, 31 Mar 2025 17:29:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932874.1334936; Mon, 31 Mar 2025 17:29: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 1tzIx3-00033B-RF; Mon, 31 Mar 2025 17:29:33 +0000
Received: by outflank-mailman (input) for mailman id 932874;
 Mon, 31 Mar 2025 17:29: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzIx1-000335-MI
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 17:29:31 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2418::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0c270b6-0e55-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 19:29:26 +0200 (CEST)
Received: from CH0P221CA0003.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::7)
 by DM3PR12MB9288.namprd12.prod.outlook.com (2603:10b6:0:4a::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 17:29:20 +0000
Received: from CH1PEPF0000AD7B.namprd04.prod.outlook.com
 (2603:10b6:610:11c:cafe::a4) by CH0P221CA0003.outlook.office365.com
 (2603:10b6:610:11c::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8583.39 via Frontend Transport; Mon,
 31 Mar 2025 17:29:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD7B.mail.protection.outlook.com (10.167.244.58) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 17:29:19 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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, 31 Mar
 2025 12:29:19 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 12:29:19 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0c270b6-0e55-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Qt+EufALWn6OX0zOVMkVFBCK4+bdqODBhGUKz9oFnRsAmQ8azv+NsMZ0u+LUVF6Hegc6Ui400J52HdRJL86WD9he6uDKNPAVMi8O7dgdUGwRBhzhibvleDMjxt06H7On0rnnI6YVSfNbSWAO/O56Qy4nhwJTZMky7qtAsljriyyYigMgmRyIm7ZzGsHvBCWwLWVPFDckS0c8oaCu4rCxje7iUzibPVnERQ9/hWd3dhGLHzir88eemgShQjL7sT2w/3YqStM1i8qRdeaDxKA7SbLcYQBWEWZBX1ji4iMc0zOKF1oivH63f1j/xQ9QsJmFFUQgSwrZ3PdiCdIQcGKzUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5lL0Jbs5VXhS7/v5txesVAgBEq43pyq8eEgFTJqznXk=;
 b=YnHbROAT65c4uoGz8JsF5Xvvd4zNgxawjaeRiTuNfK3RB4ufD0vqM5rnZ39lHIwb7hiUu/O18sgiXDPaMQnM6X/ZUzzTZBJt5k60n/7UYATPYumizTf1VdIfmwvUmaSUw5Ri2ENZlZWGb1m/7rDFJRitCpKzeNTVIRwV5GwMLG7kujNnG9Z1EvAPHnQ4ERdmSoxsdTLe7o6jw+vyhWF8UNST62MuqkfnoqbwJDaUsFfh4tnMMwFfz+4bfAnVIKEEPdo8XmIU5OQI6D7JCv7XAtDniEm7/uZ6hMFdKVGLQ52iPdAkcNQXevSCmARSmdv/ifqpBInujPOJ9EZkrvtn5g==
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=5lL0Jbs5VXhS7/v5txesVAgBEq43pyq8eEgFTJqznXk=;
 b=UA2hDYegSVYgyA+M9sWU+T80KLXKj0K1RoAjiQ9Og2GUbDVl4XAiJJpbEDbSVlDNDJFwM7s/yGTw5HOvx8DYIjlxU1W91X18KNnO/jzPH6DiP1pZ8xxz/zvn2qfm0a6kfUZzJelX7aRYKNNHMrM9b21BS18iSswlU13qndDeiCU=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Penny Zheng <penny.zheng@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Jan Beulich <jbeulich@suse.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH] xen: Change xen-acpi-processor dom0 dependency
Date: Mon, 31 Mar 2025 13:29:12 -0400
Message-ID: <20250331172913.51240-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: CH1PEPF0000AD7B:EE_|DM3PR12MB9288:EE_
X-MS-Office365-Filtering-Correlation-Id: 39b15ecf-d049-4bf8-535a-08dd7079920c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013|34020700016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Blz5XQYtI0t6poep2IZ38dsMrZei/gWHtR+5lv6duuqxFrowys4sFiqDUfdR?=
 =?us-ascii?Q?SY28JWtv4JeQ+k9tsMprJfRIoVyKzvPV0OMkOMzMxeGTNn4m8Twdf9pl/E4Y?=
 =?us-ascii?Q?hbsUbEmMuP5xGM1B8PE0p6omLv1SNDTFhIbJmtWP49CPdpm3zbypZEAXF8j4?=
 =?us-ascii?Q?BpA5C87I1apq4Hb5lWWvCZMhSM5dpL7/V0oxclq3SKuehGrvhtctMrBRgaCb?=
 =?us-ascii?Q?qAUGK+e6fvuGD6982rTKw4JYSXUHf9iyIk4NPA/TXPG+lDf3N9YGbZIvEgZW?=
 =?us-ascii?Q?orMnzKqTVjVzxFoZ8gFiElQwEy0/Ktco/82E0WXl6br2J3eogGcB7D+UHtnx?=
 =?us-ascii?Q?0V/qwpcwrBT7SB+PNKdLQ0smTfMGig81uuqLxdxiDULIhtKS1W/PDrWgcgZu?=
 =?us-ascii?Q?ZYGAgiBOfQPyYo1IhlNtEJaZePQ8/wXOq/a/8ULyFP7VR+4t3HDx6Rg08POH?=
 =?us-ascii?Q?RV9mjjg8Q7UCrhSAuR1DYVrf7TVIeB9LmarBl71FMWJLUZ6ubww4jUaeW6j5?=
 =?us-ascii?Q?JRo3oqouOAu9e41H/7MOHYNBvZyTDvPUNdY8vm3oDRfBQ43Bx815BQpe7OeE?=
 =?us-ascii?Q?wx308yryAIHZwZLpS3Q9eeURSUP+hRlRYZxDwz0YSqu6wZP0Xb1ksr0gDGvI?=
 =?us-ascii?Q?3eWQo9H9eqxBvZfJ+HYo8QD8KXwpwp6/8ESRfKUzI21K0YkVY1FJqLMDRB9w?=
 =?us-ascii?Q?LttlyIe5/oK7cNjlS6NLWY+pixQddqBiDeG0yhYccYL8h/QfgxsRd6uu6d3z?=
 =?us-ascii?Q?6QZ9ZTsWjB+e/BXntZDb/7k4z1JvroITTwJgyV7lgjx2qJfWm3m1UMTcBNZZ?=
 =?us-ascii?Q?2L8d55LrYsVG1ziM5s7j+ajxyRS384Fe1ijksR0GrPwbNmamDK1r2BsqreL4?=
 =?us-ascii?Q?zYOdOFhn2VAb0gTkIrovaxTMPHPsKcR3rEiAT0DYk3O/cKuQ7CTgUHLOaVfg?=
 =?us-ascii?Q?cVIhu/yA+ccWieaHwyCwIQOq6i5kuYBo6Yil8G6levGa6f41vRYPo67t9VkC?=
 =?us-ascii?Q?PgAO+OC6/xi5GPR9B4Tru4WQg6dqBqapNEnL1VZZkmvs8c28iO3/xVNMEIIo?=
 =?us-ascii?Q?sakvqOTxkGMml3A95k1uZClKFBQx6SSb7evgwlDQ/VLZVSVFIFApgro1un6e?=
 =?us-ascii?Q?gTUigXFtWjep/rZcXejzyeljdm2qYFXSNzdo2ukcO2mj+kxnZX8FD32RLEvk?=
 =?us-ascii?Q?I+dmMFpg4wQRTK3idEotPk0vT6FjPWy3mw+LtQkfsAXCEjSQd6ZwJhxjBvl+?=
 =?us-ascii?Q?NonzGqLr8YnaA1CsYlU2De67f4KBapw7seTpp5hkQPDzZujrgxU7jZnmJudH?=
 =?us-ascii?Q?O+aiAwV0xEeTZ7f6Cm+xnAVqiXyHG+NcDYnmH8BdUAIvH/kHl5IRGk+9SVTX?=
 =?us-ascii?Q?GRV/diGaYdm9lDfMx/wDfTkGs1hOtEKKmE3+ZZTsv9oj2Ocq94FhVE0usv9h?=
 =?us-ascii?Q?z6JHQCeixDCTP5t2RHAKZHnY+TcL7ccr522uCjau5uDVPB23HPrMmSNHqYbR?=
 =?us-ascii?Q?o3ldW74iemjyFGQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013)(34020700016);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 17:29:19.9488
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 39b15ecf-d049-4bf8-535a-08dd7079920c
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9288

xen-acpi-processor functions under a PVH dom0 with only a
xen_initial_domain() runtime check.  Change the Kconfig dependency from
PV dom0 to generic dom0 to reflect that.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 drivers/xen/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index f7d6f47971fd..24f485827e03 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -278,7 +278,7 @@ config XEN_PRIVCMD_EVENTFD
 
 config XEN_ACPI_PROCESSOR
 	tristate "Xen ACPI processor"
-	depends on XEN && XEN_PV_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ
+	depends on XEN && XEN_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ
 	default m
 	help
 	  This ACPI processor uploads Power Management information to the Xen
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 18:04:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 18:04:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932886.1334947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzJUN-0003YY-IO; Mon, 31 Mar 2025 18:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932886.1334947; Mon, 31 Mar 2025 18: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 1tzJUN-0003YR-Dk; Mon, 31 Mar 2025 18:03:59 +0000
Received: by outflank-mailman (input) for mailman id 932886;
 Mon, 31 Mar 2025 18: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=Diii=WS=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1tzJUL-0003YK-VY
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 18:03:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20612.outbound.protection.outlook.com
 [2a01:111:f403:2612::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83090420-0e5a-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 20:03:56 +0200 (CEST)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by AS2PR03MB8820.eurprd03.prod.outlook.com (2603:10a6:20b:554::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.52; Mon, 31 Mar
 2025 18:03:53 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%4]) with mapi id 15.20.8534.043; Mon, 31 Mar 2025
 18:03: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: 83090420-0e5a-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=P+aNE9v7cllKHpBIyVSH6027mnOwcw2lkx3UCJ71WOEF9GjjCkrYeYLynLlpY/LoZjTn0FBft869gAXY5MLmPau/YW5DqMrXJqfgx2OQoGENMQZd4RFsC7Qn7r5LBV+A8hZC53zk8ftQtWmcLsug+3NV/SffqDpO5/B60Ip7pA/nwGn49orqIK2Ifti4uIDvjClH5wto/TyJiaPyODMNFaigEwzQuxdZi/SczKjpDKB439mD3/iU4f4NepFLscYPLp4xsmmKKVRX/ZMBE9/JDENB2CKbIZ1SH9pENcGuP7oOv7oMa32i1/U8DydEDv31Ah1YAPNpKy24BTfMBZnoOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZPervR16P3Ka9cdaCbf/nOF0qyc/IJMulQNpEMkjNM4=;
 b=gTVvqepmHC9m4H6Y5SqFstO3N6Kj5qSQBHnusLZl/VyEOIhAfauFMjtiCBusxt34UQXu5GTDyp2MYvchIiGWJcN2oDU1J+rBtnaAjn0Jzgp16Is/Z4PAjuGuvmWr1HI6U/vkXjAit6nHbk9ViEUqAtoQHKAfnqAsSS+R6MSr0yiuGaZwaz6Yvq06ZhTShAUpPLLkDYF7bqefeQffnp/+Jk5X3pkkQ2ahg4K41LSqyiUrIw7+g5iLSSgyw62hz/nPWSE0sj0oGlBtRzERfY191hb1+HHJi1fjzE4wDQgWM06LUyXJPzh34vz0hnyevCzMpUfCy1huEBDhwORzz5BJ6w==
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=ZPervR16P3Ka9cdaCbf/nOF0qyc/IJMulQNpEMkjNM4=;
 b=nCaq8EXsvrm6pdIFBtCckIzPbvL+jB+jhdDDO3/v/Qt9iUGujgj04wBvHorD1JDTlDP1chR0heMUMKY3h9SqAeSHxd2W+q6CywuXvc/+mVQj+9iaw3cvgeHi4bBIOsYTIK84WZf4YWOJWkd+DwQvsvdtJJmV7jhM1rOVeW77TVhJOUM6DYsCMn6efJxm1CrYUNKbvc8q17vptTci2YqEB8kIKUsHAus40XNJhiskvcVvUoojsf4l8/B1YZjqJ5dDXH7fGprXHMtK8U1ak+MuMtk/B7viqXTjiX3T1R9bEEvFhe+hsrlk3TEhNxvzAszktWLoI4aUtrKo7dRqua44HQ==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Orzel, Michal"
	<michal.orzel@amd.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Topic: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Index:
 AQHbnZfMrs+h0o/uEkuTNWO41qxIcLOD+IUAgAADaoCAAAM8AIAABQEAgAABHgCAAAyVAIABDTwAgADj8oCAB5BDAA==
Date: Mon, 31 Mar 2025 18:03:53 +0000
Message-ID: <a76408dc-0dbb-4b01-af7c-cd1c96f853d6@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
 <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
 <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
 <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
 <8e19bb8a-ff23-4068-ae48-83e81eda2f20@xen.org>
In-Reply-To: <8e19bb8a-ff23-4068-ae48-83e81eda2f20@xen.org>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|AS2PR03MB8820:EE_
x-ms-office365-filtering-correlation-id: 35e09a6a-5add-4c1c-f40e-08dd707e65fc
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?N1lGckFxdTJXUDBsMDMrc0RhNllwOW14ejJoSWNMc2NET3YzM0NteHh1eDBi?=
 =?utf-8?B?RWJxNXNkS2Yyd29EMi9sTnFiQ2k3Ui91RVBudFNWVVM4bitSNGZ5RXkvem5y?=
 =?utf-8?B?UDhqQm05RUJTc2FQKzFPYXpHdWppTDFoZmRMSVNFZUJtaGxHTlAxVnF5VlRk?=
 =?utf-8?B?VHRpRVE1c0RUK0ZJZDZpbzNFYUZvOTVUUVQvT2txSWlwTk1Fa3ZERTBqVS84?=
 =?utf-8?B?a2Z4aEdiZU9nZSsxeDgxVnB6dXpPVzlUNmNPUGxIL1FjRzdxdjNaT0hnVDJy?=
 =?utf-8?B?TXZDYmExdFBqM2YyNm4ralp0NXlWcHlYa1o0elFVRFhRQk9rcm55Z1Via2Vx?=
 =?utf-8?B?bEhFdkFUN3VFMmgzVExjMVVHVE84RllJM0JvMXNabmRvSjJhNnY4emR0TEtj?=
 =?utf-8?B?bjZSL2gzYnNhWGtsNDA4TklvdGo5YW5hcWdBVXpTVXA5MHVqTk1pNWRzam40?=
 =?utf-8?B?SWpKWHdhcVI2WGcrcEY5UXk5NlZPSXZKUjZWZW9rbEJiZlR3TkNoUXpzNGFD?=
 =?utf-8?B?UHpSSDY4ZTVqWksvYVBqc0Q3RTgySUIrRnFkYUp4aVZiWDNuc2hxZ3ZXbzJT?=
 =?utf-8?B?LzNJdUltamM1NU1uM0FnRDRVVjN6L0ZDVWJDMS9EajJlbzBOMHFicVVkdU1r?=
 =?utf-8?B?cVBkbHlrQmIxcnVNU1RMSGZLMmRQcndxSklLc0ppcXo4R0x0NFBod1pGR3I3?=
 =?utf-8?B?bDIzbFhyT1d5TnhVWHNValVzUXplSWlhcjJVZlE2OHJiS0Nlc3ppVERLbGFz?=
 =?utf-8?B?WWdSQURnZStjb1BxU2s0TGw4WVQxVTlkdS9Dd1FIM0NldDM4am5DRUtLYmxJ?=
 =?utf-8?B?OTJDQTFmNGtmUERyOFpad2RKZ3h3RkNaTlNJVVRTdUNMaW8wT3h5ODh3TmRz?=
 =?utf-8?B?Zi9vYVdlTHArTFcxRnVCS050WHBOZVZlSHlkZWE3K1hzVEIzME5oa2RTdlMr?=
 =?utf-8?B?aWM0eUxMY1NUc2FKdVFjY3hlV29WbERlWmF4L2oxZEhmUU5aRHBLNk5WUEVo?=
 =?utf-8?B?citHN0NqYjZYcDNDd0tEREVaMWpUUllQb2tydWIxRVphVEFXV2F1azREalNK?=
 =?utf-8?B?SlRUOG1QYXBHdFhUSHFKQ1ZhcngxN1ZwMkdQU2ovTDhnayt2WUhiTTByQlM1?=
 =?utf-8?B?MWVyb09oOW5IYzg1aE5adFpDM240WFZ3ODhicDZYSGZOZG9xaDNvaXBjSWtQ?=
 =?utf-8?B?MExBZVl5WTN5ZWNuM3R4TUFFcVg5clpIeVB5TnJsQWNsOEZCR1NMa0ZYVXBp?=
 =?utf-8?B?L3NScmhueStCYkdyK0RQaDdFbm1yZGVHTU5HRDl5YjBVbitoMVNzQS9Db1Rh?=
 =?utf-8?B?Q0wrazZuaXhZVk9veTk3T1VrVnQ2b2lqYVhFeDB1SkFZS0d1SzBqbUovRXJl?=
 =?utf-8?B?ajNWWWtkelVYYzlqSjhiMWVUV3VGMEZEdm5wNFpOREdBS1BqV0huRElIamli?=
 =?utf-8?B?dkNDa1VnYmN6T3ZrUFVNYTlPNXl1S2dTNHJuazEyOHhwaHFrOXJYVEhQUHVl?=
 =?utf-8?B?SVBwU3B6WHNZeXhtcDdNdzhMSFJGRFBKNDlJK1pwR05EYkk4OVQ1Z3B6U25z?=
 =?utf-8?B?dVlCbEhZalkvN0N3bVdzTlNvUnBoL0lnaWRqaVZTaEVwMnBNKzVRUHVSZVVo?=
 =?utf-8?B?WTVteThYRHdZaGtRT0ZWbW90ekkrMTNEU05hYzN2c1JhditFYnN3WTdvZ2xY?=
 =?utf-8?B?UkkzdnU2dVd1bGozNTBpbHhQeHFmSUpHYTdXQkdDcHQ1dzZuRXVSZ0pNRitl?=
 =?utf-8?B?UWd0VmJzZHVvRTFuemNzVjNRME1VSTQ4d2x3N1c3NTdleVNsbmpwZWd5TUpS?=
 =?utf-8?B?WTJIOFBUTC8rK0pTdVVKd2ZCdTdmMWo3Q0hWTVRza09BNm4vSVZEMXhXcXVO?=
 =?utf-8?B?emxiakx1b0ora04wejNaWUZzTTI0M25tSnhzSklMcWxyZ2dTSlJqS2xST2xX?=
 =?utf-8?Q?446EiAgSt1DtwvvODJcSrZxhLR7bP5/p?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bW9vSElHSFhHbXRQa28zVWJqOGVLbFdyams4b1Z2ZUNtZ1cva2JCMXpNNTdl?=
 =?utf-8?B?ME0wL3hLZk1mNDZ4V0pKeGFGZ243OUltWDVDcFErUFhoNG5FU29aRHFwWWtL?=
 =?utf-8?B?SkJxTkFFc3M4TS9JWlJIeHdCRUpsSTdIcFR3MFVvdFYrbkt6ejc1MU56SnFC?=
 =?utf-8?B?Rlg0eUw4WW9nV0R6bUZQeEYrM1FBYWVNY1JzaDIwRU9QdUlvdmdMeG0zY2pS?=
 =?utf-8?B?R1hwQkxGSVRnN1IyWUlUbHdvTzVyR3NBN3hRcUhZSFo0dWJESURJWDRXRnFU?=
 =?utf-8?B?eVZuODdVQ2RBc1VtVGxEUnlHby9QQTdDNXFNQ2N5UVNLNjZTdHI4S0hzUEUv?=
 =?utf-8?B?L1FpelBzVVZwbVZDa1RsOXIrYlVRendCMjkrS0NMczBpMlFOS2tRMHB2SG5x?=
 =?utf-8?B?ck5UVGQ0V3hvT2VjR2pBeW5acDRiQWNGQnZWQmZiaURqclJkTHRjSnh3WWZX?=
 =?utf-8?B?aGFiRTVLR2paQ3NtTUFnL1BkOVUxejFYYzhRWHNpSTlvRHFyaS9wak1nelFW?=
 =?utf-8?B?bWoyTnhqWS9Ja09HbWd6cXhkSTBCZjVvTXZiSU5KcWJNNWhMdXJzY2tGUmkw?=
 =?utf-8?B?RHJBVjRjeGxYTUVIcnFaa2tkZWRiZ2JCcWRWV3pzQXkvbUhEb3BnV01FNGNB?=
 =?utf-8?B?bE16WWd3aFRxeHRwc2YyZFQzbHJZSGUvVmIyakRXSU5YakZLTDRCU0UxNzhm?=
 =?utf-8?B?b00rVlZIcVZzeFFhOW94dE4rYTZIdWVsb00zWittcW9lV3RQcDNkSTVvbFhj?=
 =?utf-8?B?bTc0d1pjZUtiY2duWngwc0l6eWgySFMyUndBWW5tY0FCRW11azQ0Z0RpVlNr?=
 =?utf-8?B?Y3FOVlMxOFBiYkFjd0RaaVFKUXI3enN6eEJBUERvcHkyZzFNUC9kNWQyZnd5?=
 =?utf-8?B?QXk5QlYvNkhBNmlVa2dPNzgyT2tpYlJNdUpza0MwSkY5bTlPUEpCQWlqSG9m?=
 =?utf-8?B?Y0tOR1g5K1RKNEhCckxHYUpiTGU0aDAwYWF1ZkpUSkp3VjNTcE0rZXNkem1V?=
 =?utf-8?B?d2FJdTcyaXJZMSsxMWdYNURmUlREWmQ4aFNMYnNESENXWkZkZkkzM3p6RHZ5?=
 =?utf-8?B?d1gwOVl4bk1ocGkwYmVCVi9wTVprMlBqbFN1UnFpaHBFREtWVVp2NWFaYU9k?=
 =?utf-8?B?WTZ4WnhHQ2lDQ1N1NXhQcHorYTdZbitqTEtaNFdGcVRVMW9vN2JLVTVocVNE?=
 =?utf-8?B?cllaUnc5UklNMVhIZU9pV1dLNHhYM0gxUVhGTlU4OE40a0FIVEdUT1U5WEdS?=
 =?utf-8?B?UTNXUExVbnJyY0pXVCtHd2FnSXViUmVwdTlBV1lBeXpxM3lqenlwVytkd1ZY?=
 =?utf-8?B?aENkSmV2K05QenJDNy8wNFpGNDRMVjYzVG51YkNxT20zMGJ0TkhycEtBVHQ4?=
 =?utf-8?B?NzZueGFHdmZLZzN5dUZmYS92a0QyKzJTbEFodnBWTE9yNXFmNFoyOWZWR2dP?=
 =?utf-8?B?RXZlN3FpMDFJYjRYaEFYSXpMek5UZHhweHFGeEJGNlVTd0VwZERzOEhvVDd3?=
 =?utf-8?B?aXNmdSt2cjlZY1h6cjlMdDdoNTRhSk50Y0V3U29BTkpHdWt4VXc1NHNQdzRZ?=
 =?utf-8?B?REQyaUFMbUxacWVKb1p5emFCMGd5MEFxVFN0Z08wY1JPTmRRYUsvTVlITW9M?=
 =?utf-8?B?eW4zK2p4WGQ3Y1NJL0k1ejFXalliOFVGelBvTXBNeWs0UWgrNFVacUxHMDF1?=
 =?utf-8?B?Wm1zWUNlN3kwU0NFNUJndDJLR0JvTlFxazlDTlJOQUgwcEVrRWZYNGJqendS?=
 =?utf-8?B?WDhrOVdid1Vab2hmK0gvOHl5aVY5cWdLN2tiaGZBSG1nYTdNUk1CWTIzcGNq?=
 =?utf-8?B?Qm8zWGM0eWh6NHJJai9MY3hTdEZidkJ1WWpwYWx5NmJ4RkR5Wm1SUU00NHlP?=
 =?utf-8?B?TTRDR3dQVkN2QkZKd3h4T2lnSTI0eStiWnhaeUQ0UDVkcDUyZWU4M281Mkwx?=
 =?utf-8?B?bXdVYSt4YmZPS0VNU1p6UWhLSUNrSkdXYWJwTVE1WkdRWlJmK3RQSTE1ZG1t?=
 =?utf-8?B?dG5sYktRWUdlaHZZRjd5WVc4UUVwYm1QQlJkNkszWnY4ODVIT0VidXlNRXZP?=
 =?utf-8?B?Z29lbjdvdlVYdFZZZXQyVS9nWWlYM2R6YnFJQithdEtDSUNnYkRQM3BrWE1u?=
 =?utf-8?B?Sk8vUkxWdlFaeCtMazVCSlJXdGtQQktOMFJEZlMvMWpZUDB4b1Y0QVVybHcx?=
 =?utf-8?Q?2DNSAdCxPic+Yiffrlav/0A=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C22FD2777178424B89549CF53DA9A9FD@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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35e09a6a-5add-4c1c-f40e-08dd707e65fc
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 18:03:53.5159
 (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: MH+Y1BJVsFCFrU2y4rMYuIOO/pX/WZqE7JSyQdwVgAbHJSd7Jx9FpVW8R3LJG4MPdYjKe9Ba833a4LcDhhBwMlzROSe1Br7ftfTQe6vKAbw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR03MB8820

DQoNCk9uIDI3LjAzLjI1IDAwOjMzLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQoNCkhlbGxvIEp1bGll
bg0KDQoNCj4gSGksDQo+DQo+IE9uIDI2LzAzLzIwMjUgMDg6NTcsIE9yemVsLCBNaWNoYWwgd3Jv
dGU6DQo+Pg0KPj4NCj4+IE9uIDI1LzAzLzIwMjUgMTc6NTQsIE9sZWtzYW5kciBUeXNoY2hlbmtv
IHdyb3RlOg0KPj4+DQo+Pj4NCj4+PiBPbiAyNS4wMy4yNSAxODowOSwgSnVsaWVuIEdyYWxsIHdy
b3RlOg0KPj4+DQo+Pj4NCj4+Pj4gSGkgT2xla3NhbmRyLA0KPj4+DQo+Pj4gSGVsbG8gSnVsaWVu
DQo+Pj4NCj4+Pj4NCj4+Pj4gT24gMjUvMDMvMjAyNSAxNjowNSwgT2xla3NhbmRyIFR5c2hjaGVu
a28gd3JvdGU6DQo+Pj4+Pj4+PiBGdXJ0aGVybW9yZSwgd2hhdCBoYXBwZW4gaWYgd2UgZGVjaWRl
IHRvIHVzZSBBQ1BJIGFmdGVyd2FyZHM/DQo+Pj4+Pj4+PiBXb3VsZG4ndA0KPj4+Pj4+Pj4gdGhp
cyBtZWFuIHRoYXQgdGhlIHN0YXRpYyByZWdpb25zIHdvdWxkIGJlIHJlc2VydmVkIGV2ZW4gaWYg
QUNQSQ0KPj4+Pj4+Pj4gZG9lc24ndA0KPj4+Pj4+Pj4gdXNlIHN0YXRpYyBtZW1vcnkgKGFsbCB0
aGUgbWVtb3J5IGlzIGV4cGVjdGVkIHRvIGJlIGdpdmVuIHRvIHRoZQ0KPj4+Pj4+Pj4gYWxsb2Nh
dG9yKT8NCj4+Pj4+Pj4gSSBkb24ndCB0aGluayBzdWNoIGh5YnJpZCBjb25maWd1cmF0aW9uIGlz
IHZhbGlkIChib290aW5nIHdpdGgNCj4+Pj4+Pj4gQUNQSSB5ZXQNCj4+Pj4+Pj4gZGVjbGFyaW5n
IHJlc2VydmVkIHJlZ2lvbnMgaW4gRFQpLiBTZWUgY29tbWl0Og0KPj4+Pj4+PiA5YzJiYzBmMjRi
MmJhNzA4MmRmNDA4YjNjMzNlYzlhODZiZjIwY2YwDQo+Pj4+Pj4NCj4+Pj4+PiBJIGRvbid0IHRo
aW5rIHRoZSBjb21taXQgaXMgcHJldmVudGluZyBoeWJyaWQgY29uZmlndXJhdGlvbi4gSXQgaXMN
Cj4+Pj4+PiBqdXN0DQo+Pj4+Pj4gc2F5aW5nIHRoYXQgdGhlIHJlZ2lvbiAod2hpY2ggY291bGQg
YmUgYSBzdGF0aWMgcmVnaW9uIGJlY2F1c2UNCj4+Pj4+PiB0aGlzIGlzDQo+Pj4+Pj4gbm90IHN1
cHBvcnRlZCkgd2lsbCBiZSB1bnJlc2VydmVkLg0KPj4+Pj4+DQo+Pj4+Pj4gSU9XLCB3aGVuIGJv
b3Rpbmcgd2l0aCBEZXZpY2UtVHJlZSB5b3UgbWF5IGJlIGFibGUgdG8gdXNlIHN0YXRpYw0KPj4+
Pj4+IG1lbW9yeS4NCj4+Pj4+PiBCdXQgaWYgeW91IHdlcmUgYm9vdGluZyB3aXRoIEFDUEksIHN0
YXRpYyBtZW1vcnkgaXMgbm90IHN1cHBvcnRlZCBhbmQNCj4+Pj4+PiB0aGVyZWZvcmUgdGhlIHJl
Z2lvbnMgc2hvdWxkIGJlIGZyZWUgZm9yIG90aGVyIHB1cnBvc2UuDQo+Pj4+Pg0KPj4+Pj4NCj4+
Pj4+IEp1bGllbiwgSSBzZWUgeW91ciBwb2ludHMsIGJ1dCB0aGUgY3VycmVudCBwYXRjaCBkb2Vz
IG5vdCBhdHRlbXB0IHRvDQo+Pj4+PiBtYWtlIHN0YXRpYyAocmVzZXJ2ZWQpIG1lbW9yeSBwcm9w
ZXJseSB3b3JrIG9uIEFDUEktYmFzZWQgc3lzdGVtDQo+Pj4+PiAoaWYgaXQNCj4+Pj4+IGlzIGF2
YWlsYWJsZSB0aGVyZSksIGN1cnJlbnQgcGF0Y2ggdHJpZXMgdG8gc29sdmUgdGhlIHJlYWwgaXNz
dWUgb24NCj4+Pj4+IGRldmljZS10cmVlLWJhc2VkIHN5c3RlbSB3aXRoIFhlbiBjb21waWxlZCB3
aXRoIENPTkZJR19BQ1BJPXkgKGF0DQo+Pj4+PiBsZWFzdA0KPj4+Pj4gdW5pbnRlbnRpb25hbGx5
KS4NCj4+Pj4NCj4+Pj4gSSBhbSBub3QgYXNraW5nIHRvIG1ha2UgQUNQSSB3b3JrIHdpdGggc3Rh
dGljIG1lbW9yeS4gSSBhbSBhc2tpbmcgdG8NCj4+Pj4gbm90DQo+Pj4+IGJyZWFrIEFDUEkgaWYg
dGhlIERldmljZS1UcmVlIGlzIHNwZWNpZnlpbmcgc3RhdGljIG1lbW9yeSByZWdpb24uDQo+Pj4+
DQo+Pj4+PiBIb3dldmVyLCBJIHdvbmRlciwgd2h5IGl0IGhhcyBub3QgYmVlbiBub3RpY2VkIHNv
IGZhci4NCj4+Pj4NCj4+Pj4gQUNQSSBpcyBub3QgYSBzdXBwb3J0ZWQgZmVhdHVyZSBhbmQgZ2F0
ZWQgYnkgVU5TVVBQT1JURUQuIFNvIHRoZQ0KPj4+PiBpbXBsaWNhdGlvbiBpcyB5b3UgaGF2ZSBl
bmFibGVkIFVOU1VQUE9SVEVEIGFuZCBhbnl0aGluZyBjYW4gaGFwcGVuDQo+Pj4+IHJlYWxseSA7
KS4NCj4+Pg0KPj4+IEluZGVlZCwgdGhpcyBhbnN3ZXJzIHRoZSBxdWVzdGlvbi4NCj4+Pg0KPj4+
DQo+Pj4+DQo+Pj4+Pg0KPj4+Pj4gSXQgdG9vayBzb21lIHRpbWUgdG8gdW5kZXJzdGFuZCB3aHkg
anVzdCBlbmFibGluZw0KPj4+Pj4gQ09ORklHX1NUQVRJQ19NRU1PUlk9eQ0KPj4+Pj4gdHJpZ2dl
cmVkIGEgQlVHIGluIGNvbW1vbiBjb2RlLiBBbmQgaXQgdHVybmVkIG91dCB0aGF0IGl0IHdhcw0K
Pj4+Pj4gQ09ORklHX0FDUEk9eSBpbiBteSBYZW4ncyAuY29uZmlnIHRoYXQgY2F1c2VkIHRoYXQg
Y29uc2VxdWVuY2UgKEkNCj4+Pj4+IHNwZWNpYWxseSB3cm90ZSBzbyBsb25nIGRlc2NyaXB0aW9u
IHRvIHByb3ZpZGUgZnVsbCBjb250ZXh0KS4NCj4+Pj4NCj4+Pj4gQXMgSSB3cm90ZSBhYm92ZSwg
dGhlIG9ubHkgdGhpbmcgSSBhbSBhc2tpbmcgaXMgdGhhdCBtZW1vcnkgZm9yIHN0YXRpYw0KPj4+
PiByZWdpb25zIHNob3VsZCBiZSB1bnJlc2VydmVkIHdoZW4gQUNQSSBpcyBlbmFibGVkIGxpa2Ug
aXQgaXMgYWxyZWFkeQ0KPj4+PiB0aGUNCj4+Pj4gY2FzZSB0b2RheS4NCj4+Pg0KPj4+IFNvIHRo
ZSBjb25jZXJuIGlzIHRoYXQgbm90IHJlc2VydmluZyBwcm92aWRlZCBieSB0aGUgZGV2aWNlIHRy
ZWUgc3RhdGljDQo+Pj4gbWVtb3J5IHJlZ2lvbiBpcyBnb2luZyB0byBiZSBhIHBvdGVudGlhbCB3
YXN0ZSBvZiB0aGUgbWVtb3J5IG9uIHRoZSByZWFsDQo+Pj4gQUNQSSBzeXN0ZW0/IE9yIEkgbWlz
c2VkIHNvbWV0aGluZz8NCj4+Pg0KPj4+IEkgc2VlIHR3byBvcHRpb25zIHdpdGggdW5yZXNlcnZp
bmcgdGhlIHN0YXRpYyBtZW1vcnkgcmVnaW9ucyBvbiB0aGUgcmVhbA0KPj4+IEFDUEkgc3lzdGVt
LiBJIGFzc3VtZSwgdGhhdCB3ZSBzaG91bGQgdW5yZXNlcnZlIG9ubHkgYWZ0ZXIgd2UgZGVmaW5p
dGVseQ0KPj4+IGtub3cgdGhhdCB3ZSBhcmUgcnVubmluZyB3aXRoIEFDUEkgKGkuZS4gYWZ0ZXIg
YWNwaV9ib290X3RhYmxlX2luaXQoKQ0KPj4+IGNvbXBsZXRlcyBhbmQgYWNwaV9kaXNhYmxlZCBy
ZWZsZWN0cyB0aGUgcmVhbCBzdGF0ZSBvZiB0aGluZ3MpLCByaWdodD8NCj4+Pg0KPj4+IDEuIGVp
dGhlciBjYWxsIGFjcGlfYm9vdF90YWJsZV9pbml0KCkgYmVmb3JlIHNldHVwX21tKCkgaW4gQXJt
NjQncw0KPj4+IHN0YXJ0X3hlbigpLg0KPj4gVGhpcyBjYW5ub3QgYmUgZG9uZS4gYWNwaV9ib290
X3RhYmxlX2luaXQoKSBjYWxscyBBQ1BJIGZ1bmN0aW9ucyB0aGF0DQo+PiBtYWtlIHVzZQ0KPj4g
b2YgVk1BUCBhbmQgYWxsb2NfYm9vdF9wYWdlcywgc28gdGhlIGJvb3QgYWxsb2NhdG9yIGlzIGV4
cGVjdGVkIHRvIGJlDQo+PiBwb3B1bGF0ZWQNCj4+IGF0IHRoaXMgcG9pbnQuDQo+Pg0KPj4+IDIu
IG9yIGdvIHRocm91Z2ggcmVzZXJ2ZWRfbWVtLT5ucl9iYW5rcyBhbmQgdW5yZXNlcnZlIGV2ZXJ5
dGhpbmcgbWFya2VkDQo+Pj4gd2l0aCBNRU1CQU5LX1NUQVRJQ19ET01BSU4gYWZ0ZXIgYWNwaV9i
b290X3RhYmxlX2luaXQoKSBjb21wbGV0ZXMNCj4+IFdoYXQgaWYgd2Ugc3BsaXQgYWNwaV9ib290
X3RhYmxlX2luaXQoKSBpbnRvIDIgcGFydHMsIHdoZXJlIGZpcnN0IGlzDQo+PiB1c2VkIHRvDQo+
PiBkZXRlcm1pbmUgdGhlIHJlYWwgImFjcGlfZGlzYWJsZWQiIHZhbHVlLCBjYWxsZWQgYmVmb3Jl
IHNldHVwX21tIGFuZA0KPj4gc2Vjb25kIHVzZWQNCj4+IHRvIHBhcnNlIHRoZSB0YWJsZXM/DQo+
DQo+IFRoYXQgd291bGQgYmUgZmluZSB3aXRoIG1lIGluIHByaW5jaXBsZS4NCg0KZ29vZA0KDQo+
DQo+PiBUaGVyZSdzIG9uZSBpc3N1ZSB3aXRoIHRoaXMgYXBwcm9hY2guIFRvZGF5LCBldmVuIGFm
dGVyIHdlDQo+PiBldmFsdWF0ZSB0aGF0IHdlIHNob3VsZCBydW4gd2l0aCBBQ1BJIGVuYWJsZWQg
WypdLCBlcnJvciBpbiBBQ1BJIHRhYmxlDQo+PiBwYXJzaW5nDQo+PiBpcyBpZ25vcmVkIGFuZCBB
Q1BJIGlzIHNldCB0byBkaXNhYmxlZC4gVGhhdCdzIG5vdCByZWFsbHkgaW4gdGhlDQo+PiBzcGly
aXQgb2Ygb3VyDQo+PiBjdXJyZW50IG1ldGhvZG9sb2d5LCB3aGVyZSB3ZSBzaG91bGQgcGFuaWMg
aWYgdXNlciByZXF1ZXN0ZWQgc29tZXRoaW5nDQo+PiB0aGF0IGRvZXMNCj4+IG5vdCB3b3JrLiBF
eGFtcGxlOiB0b2RheSwgZXZlbiBhZnRlciBzcGVjaWZ5aW5nICJhY3BpPWZvcmNlIiwgZXJyb3Ig
aW4NCj4+IHRhYmxlDQo+PiBwYXJzaW5nIGJhaWxzIG91dCB0byBEVCBhcHByb2FjaCB3aGljaCBp
cyBub3Qgd2hhdCB1c2VyIHdhbnRlZC4NCj4NCj4gSWYgeW91IHBsYW4gdG8gc2VuZCBzdWNoIHBh
dGNoLCBjYW4geW91IGhhdmUgYSBsb29rIGF0IFsxXT8gVGhpcyB3YXMgYW4NCj4gYXR0ZW1wdCB0
byBwYW5pYyBpZiB3ZSBjYW4ndCBlbmFibGUgQUNQSSBhbmQgdGhlIHVzZXIgcmVxdWVzdGVkIGl0
Lg0KDQoNCkkgYW5hbHl6ZWQgeW91ciBwYXRjaCwgdGhhbmtzIGZvciBwb2ludGluZyB0byBpdC4g
QW5kIGlmIEkgZ2V0DQpldmVyeXRoaW5nIGNvcnJlY3RseSB0aGVuLCBJIHRoaW5rLCB0aGF0IHRo
ZSBwYXRjaCBpbiBpdHMgY3VycmVudCBmb3JtDQooYXMgaXMpIHdpbGwgaW5kZWVkIGhlbHAgZml4
IHRoZSBpc3N1ZSBpbiBvdXIgcGFydGljdWxhciBjYXNlICh0b2dldGhlcg0Kd2l0aCBzcGxpdHRp
bmcgYWNwaV9ib290X3RhYmxlX2luaXQoKSBpbnRvIGFjcGlfcHJlaW5pdCgpIGFuZA0KYWNwaV9i
b290X3RhYmxlX2luaXQoKSBvZiBjb3Vyc2UpLiBXaXRoIHRoZSBleGlzdGluZyBwYXRjaCwgd2Ug
d2lsbCBoYXZlDQp0aGUgZm9sbG93aW5nOg0KICAgICBhY3BpPW9mZjogVHVybmVkIG9mZiBBQ1BJ
IC0+IERUIGlzIHVzZWQsIHN0YXRpYyBtZW1vcnkgaXMgcmVzZXJ2ZWQNCiAgICAgYWNwaT1vbjog
VHVybmVkIG9uIEFDUEkgb25seSBpZiBEVCBpcyBlbXB0eSAtPiBEVCBpcyBub3QgZW1wdHksIHNv
DQogIGlzIHN0aWxsIHVzZWQsIHN0YXRpYyBtZW1vcnkgaXMgcmVzZXJ2ZWQNCiAgICAgYWNwaT1m
b3JjZTogVHVybmVkIG9uIEFDUEkgLT4gYXMgdGhlcmUgaXMgbm8gQUNQSSwganVzdCBwYW5pYw0K
DQpCdXQgSUlVQywgdGhlIGNvbmNsdXNpb24gKGl0IHRoYXQgdGhyZWFkKSB3YXMgdG8gY2hhbmdl
IHRoZSBiZWhhdmlvciBmb3INCiJhY3BpPW9uIiwgaS5lLiB0byBwcmVmZXIgQUNQSSBvdmVyIERU
LCBpbiB3aGljaCBjYXNlLCBJIGFtIG5vdCBzdXJlDQp3aGF0IHRoZSBleGFjdCBYZW4gYmVoYXZp
b3IgZm9yICJhY3BpPW9uIiBzaG91bGQgYmUgYW5kIHdoZXRoZXIgaXQgd2lsbA0KZml4IHRoZSBp
c3N1ZSwgcGxlYXNlIGNsYXJpZnk6DQpObyBtYXR0ZXIgaWYgdGhlIERUIGlzIGVtcHR5IG9yIG5v
dCwgd2UgdHJ5IHRvIGluaXRpYWxpemUgdGhlIEFDUEksIGFuZA0KaWYgQUNQSSBpcyBwcmVzZW50
IChpbml0aWFsaXphdGlvbiBzdWNjZXNzKSwgdGhlbiBpdCBpcyB1c2VkLCByaWdodD8gQW5kDQpp
ZiBBQ1BJIGlzIG5vdCBwcmVzZW50IChpbml0aWFsaXphdGlvbiBmYWlsdXJlKSwgdGhlbiB3ZSBm
YWxsYmFjayB0byBEVA0Kb3IganVzdCBwYW5pYz8gSWYgdGhlIGxhdHRlciwgdGhlbiB3ZSBhcmUg
YWxsIGdvb2QsIGJ1dCBpZiB0aGUgZm9ybWVyLA0KdGhlbiwgSSBhbSBhZnJhaWQsIHdlIHdpbGwg
ZmFjZSB0aGUgc2FtZSBCVUcgKGFzIHdlIHVucmVzZXJ2ZSBzdGF0aWMNCm1lbW9yeSBpZiBhY3Bp
X3ByZWluaXQoKSBzZXRzIGFjcGlfZGlzYWJsZWQgdG8gZmFsc2UpLg0KDQpPciBJIG1pc3NlZCBz
b21ldGhpbmc/DQoNCg0KDQoNCj4NCj4gWzFdDQo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2Fs
bC8xNDg2MTQ5NTM4LTIwNDMyLTYtZ2l0LXNlbmQtZW1haWwtanVsaWVuLmdyYWxsQGFybS5jb20v
DQo+DQo+Pg0KPj4gfk1pY2hhbA0KPj4NCj4NCg==


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 18:11:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 18:11:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932901.1334956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzJbA-0006C0-4k; Mon, 31 Mar 2025 18:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932901.1334956; Mon, 31 Mar 2025 18: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 1tzJbA-0006Bt-2C; Mon, 31 Mar 2025 18:11:00 +0000
Received: by outflank-mailman (input) for mailman id 932901;
 Mon, 31 Mar 2025 18: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=Diii=WS=epam.com=Oleksandr_Tyshchenko@srs-se1.protection.inumbo.net>)
 id 1tzJb9-00069o-D8
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 18:10:59 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20621.outbound.protection.outlook.com
 [2a01:111:f403:260c::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f08204b-0e5b-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 20:10:58 +0200 (CEST)
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com (2603:10a6:102:7d::8)
 by PAVPR03MB9017.eurprd03.prod.outlook.com (2603:10a6:102:2fe::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 18:10:55 +0000
Received: from PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340]) by PR3PR03MB6412.eurprd03.prod.outlook.com
 ([fe80::2887:9068:38f6:8340%4]) with mapi id 15.20.8534.043; Mon, 31 Mar 2025
 18:10: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: 7f08204b-0e5b-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ns7dyX28l4SD8Tcdwn18id3WvotiCeiv8GvmgzBIE/ENzi8YzJ/azfUIPMdSldv40solMgoUEu4pSC3PqYnW6rXZsH12F69rZk3EfJhN+C1tWx7jgaxTT89nVmsM1OhBZ3TMWJLcykpR4pXXlIZxFCGCTqGH8wwrE9V499s+XnPWAqjCITHAfdMmAjPF6hfwbY5lKUlgZq8Rmz8T7z/Mqc8n9XwloD7B8VwfA6QYdWSZh18N6OPXKk17BpduWY1YRPswUn6ULbRTccqXoI7aThOKM+DlRY6Lrv047P3ZxLppb61NYJ4W6AbFW4KfmUaqoRgOfsPRA+xhVZ4wyY9n9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lPJ3QfqLaaMc4q9iByVBD+YBC2j9M93QspyxbXFm49U=;
 b=RedZuFEL+SSA11s6ibj+GBdrPJtE8bkIUhBxVBDhHyXuh3Mv5ShJYk5OJ4PjYIIm3frkbBiFTNl/jPku5E2JGyWuqSSRgWKZasInC2CcYsbmSfu9yo/BnaGaPG+mrGNgDgg6kmPlQKi8RVgxwA19GyhGK5BwMc6lX+CKPBjN7njIm9598Mgf5X2osL9qv2ntBD8BxviGbbHWsumrcgIuT7PKH7qKVRtOsV2dhXlNeWylv3g5vWpizKwMJM4jM+Z4omwGx26J/Exsm+rIcAp6AckAz3OtqBH3dAStEK46kZtJQJ7EDOPyNDqeb3G0LrlA98MKc9vOFjpGsHyxGc7hhw==
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=lPJ3QfqLaaMc4q9iByVBD+YBC2j9M93QspyxbXFm49U=;
 b=rZl3iQ3GG6hWnu6HruW8tAsPoTIiAMXxQj0jkIeo+c1x84AVvyPVEzKDZy8H7Q07AjW9VjvbZApj/EGTB2510trkVvm6GgDqgmxP5EGM+vr/v54EtuJ6dWTBBvSVp0fN0sv2PvFBGg0ygG2MhDwt0u9ogl/rhjHIE+JiV/ylbWJzFzfGKfFvLdfV1YEjlaI3yUggaJ5df4NLbVcLFV5Euz/p5BrU54udwhja0ZQiVJMsuvEAtVwqWjGNrqO6RXa5yDTDozL6eSXvUmTqnbBQBGeagsPv+1ee0MBbBMBcdv69Z6K4WyHR9mxjEZTNQr8LDM/tNllzBxfZSlrbcTwCxA==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Orzel, Michal"
	<michal.orzel@amd.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Topic: [PATCH V2] xen/arm: Initialize acpi_disabled to true during
 declaration
Thread-Index:
 AQHbnZfMrs+h0o/uEkuTNWO41qxIcLOD+IUAgAADaoCAAAM8AIAABQEAgAABHgCAAAyVAIABDTwAgAAu+YCAALafgIAHkJqA
Date: Mon, 31 Mar 2025 18:10:55 +0000
Message-ID: <2f906610-2b6c-4458-b3d5-62f0ce2051fb@epam.com>
References: <20250325150842.2015968-1-oleksandr_tyshchenko@epam.com>
 <9b96395c-ca88-483b-be06-b7768b552983@xen.org>
 <4e048dad-bd12-4526-ae62-f424bdb8271b@amd.com>
 <db47de86-b2c1-4860-9212-49c051e1bebd@xen.org>
 <24809d8d-5d95-4527-89e1-e82889d58e3f@epam.com>
 <180d0f62-cab1-4fb5-a09f-c82b117ff554@xen.org>
 <340d58e8-b4f0-43ce-8925-e509282bccf0@epam.com>
 <48c3c175-8249-4e9c-91b2-babc227f68fc@amd.com>
 <b3a91dc6-0133-4b9a-bc15-7f1e1272f940@epam.com>
 <1f72a6e2-c573-43b1-b1e9-b7bf16e07bd2@xen.org>
In-Reply-To: <1f72a6e2-c573-43b1-b1e9-b7bf16e07bd2@xen.org>
Accept-Language: en-US, 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: PR3PR03MB6412:EE_|PAVPR03MB9017:EE_
x-ms-office365-filtering-correlation-id: 42f94d7e-d1f2-462b-9c8c-08dd707f618a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?WkNmN2pBZVp6Y2lHc1RkUGxFbzdJTUgwZ0RnVGlMV2dtUUx5cTBlWmNVek0y?=
 =?utf-8?B?aVB3MmFTV3FHUWZqZWF3c2pDZHF4dktSV3l4eUZtVmtobjVvdzhvRzhBeE1F?=
 =?utf-8?B?V2FSZTZvVkkrc0Z3Yk50UjNQV25DNWpzbSt0cFJwQTFHa3VLSEFONWthUmkz?=
 =?utf-8?B?cUVCcVdDRnJYMHN6ZDREUXlSR1c3NUpGb1JucGRBVjlucURKWkszbUo3ZXhD?=
 =?utf-8?B?S1lQYXNVOFlweVhmZjNjaFBLRWdocFFwaklCQWVPQVEwcXlNVExXT2swTTdl?=
 =?utf-8?B?dUk0NGtHNzk1WGc0SFpuZWczRlkxOGpDZmVSYnFkMHNuZHdjZHljdW5URlRh?=
 =?utf-8?B?S0grTkdyczJESSt1S09qZkpZR1c2SW5JY1AzTVA3NTJTQklFS3h6NHhOUHpT?=
 =?utf-8?B?WFdONmtEQWV4L3U0eVBiT28veWFhb0RYYk5wTGRISHlQYUhqM1RkMUVqMHBF?=
 =?utf-8?B?RjdJQWM3d0l4T2M0cHhGVVpKTXBEMnl0Q0hRdFF1QU1yN0pTdnRNWVNjRVpG?=
 =?utf-8?B?T0FRRGhXNFFFL0d4S1ozYjVvR1owc3ozSTBiSWtCM0lRcTl2L1JHQnl1bS9y?=
 =?utf-8?B?NWJFL01ZZFNmWVY0VjkxTno3YnVIZWlYZzJycnI3UUxFQTJ6dHN2YXdHSklS?=
 =?utf-8?B?RFVoWVl0OUc4Z0hRMlFjc3RaTDMyaTYrbW5qZEtEdDZUWmxhTmZselFQak5O?=
 =?utf-8?B?Q0NZOUx6Qld6TzhtWG5Fc0VjK1pkNFU5eUMxYUdLSlg1OGpXYXcxWEQ1MmYx?=
 =?utf-8?B?RWFWTklDU3dzdnprYlBOaWpSSk01RXpEblZ0NVh5QTV5cGZHb0dXTy9MYS9j?=
 =?utf-8?B?S3piMTBnSnh3aEZHbUZMZ01jeUZ6MXg5UHpjcGdrcW4zUWdad3NSMEJCRW5T?=
 =?utf-8?B?cTVEVWpUTVVHWHM5dTl2QjYxbDRLeFFOak9QU0V1VmZVR28wNHdTWnFDRFkz?=
 =?utf-8?B?MGErUGJHZldvbmtzaUpRblJCWDhnSHZZcTdnUWlSbnJWL3BuVkdQRlJkU2p2?=
 =?utf-8?B?dUV3MmJXQzhDb2tCM2h1djM4WkQzS1BQLzNieEo5WEJWMFBEQXJNVTE1RGp5?=
 =?utf-8?B?ZzJIY2I0T0ZuUzFINnErL0FQb3o5NkFJMkxrSHR4eDZZb0Y2LzByZGc2YTNQ?=
 =?utf-8?B?Qko2MzZRVlNzb0dSTFBXelkrN0wyQ1p0WDRvUmo1Q1FHZXk4OS9JbDhER2lK?=
 =?utf-8?B?c3k0N3ByRnVqRlUvZG9CS3hwekhoMjBQSXJqMUJheHFPK0dyMWdUVGRNQmk3?=
 =?utf-8?B?NUU5MFhlRnUrTlB1dFM2WGY2T2luQ1ozaTJRNFN6eFhkd25zOW9HeDdUdVN6?=
 =?utf-8?B?cGR1MHZOcGpwZmtQa2NiOVZlcWhONEU0dEFaZE5oSVlpT1JKRkhXaE1nTDVL?=
 =?utf-8?B?VlFLc0dDaTFldURIYStQcDZ6UzBDN0xNK3Nqa09NcVFnb0J4VS9Bc2NlK21I?=
 =?utf-8?B?alFlZnBNUXRTV2h3Y2pRZHVHZEVoS0VwYnRtS05EZ1NlVWY3TC8yL0RNSkNt?=
 =?utf-8?B?dWFuUnZFeUdEdWhDZlhOeGlFWkdjdkF0UzdINXNMeERRRng1Zk84c01BMURS?=
 =?utf-8?B?R2xpQWR3dlAxT0RCYVhJUGdXTkdSV3NqWnJKUnpKTGErTUhjcHhZbXB6ZFFk?=
 =?utf-8?B?ajhpa0VNS08wM2NUWDlGQUNZaUpuay9RZ0VDbkhNVUptZWRkRTJRRUZYbTRY?=
 =?utf-8?B?UHQ4UCtvaGc5b2kvTE5WZHNvVlJSMXNheXRzQTViU0wrWmFseTRGSW1MdnVV?=
 =?utf-8?B?aTlaVmYxakFmWHY0a0M5T0trdVJhWnlwNXM2WW5oWG9SOTVkcytqcnVWZXJQ?=
 =?utf-8?B?dHlTNWJFK1MvTXN0ZzY1RFg1aGJ2Wm9hK2NSR1dWOTZ0YXVyUWtsZ3UzMmw3?=
 =?utf-8?B?Ui9UTGszTElaUkkzOGRwbVFVZjF6b0VoR1hUZ2prUktnSkV0eGUxWHdodHU5?=
 =?utf-8?Q?MNHEsT6Ozd/BMgn6RquPMxzZI39rUdVd?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3PR03MB6412.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?d0w5NHMxVFJJanVhS0xjS3l5eWFNSTdTckVsYVBrN0Q3Z2d2STJQTjhFV2JT?=
 =?utf-8?B?V2M0SnpUSjVCVVlaMCtQd0xib0krUWRPQTdoOG5naDBaWTY3MlZaRjRkQUhR?=
 =?utf-8?B?Vy96d3gzbnlkWkZSbUVjb0Z4V2FnVmlCeElYNGZ3UVE0TVdDb1Zld0NtV2dJ?=
 =?utf-8?B?Tk1pWnAydXByK2Q3Z29zM0poNXR1MkJZYy9PT3F5am93aWpWSE1JcVBMYnNo?=
 =?utf-8?B?MEpGL1YvYm5PUTROUlVKQy9YNklhSnoxbnNvOUlobjRmYnpmMEtSTDJHOGQ2?=
 =?utf-8?B?eGRpcSt3emw5b1V0cGZGMHZXTnpudEpDYTRycEhHQ2FHc2doZHNoZHlaM0FP?=
 =?utf-8?B?UmEwL0xPSTRwZXVMak1tYWlBWTNwUlUwS05kUUpONC9RSitHQk4rR0JxWlNB?=
 =?utf-8?B?cnMxTmw3MkZEcVRxZHZjQVpEZklMQWk0RDJqSkhtZmVGUm14OURZaTA4VGZU?=
 =?utf-8?B?WHVwVUF3a2dGR3EyUFdDa29mRURFRVgrNTMxSE4vdVZsTXBaTDFTa3JCdUZi?=
 =?utf-8?B?a3hlTmVwMGFkdFNyeG05QWRJc2YvV3BEL3ROYnBZV3NJYXpoZzBmdEhhSlBr?=
 =?utf-8?B?dUJiMFloRXZZc3NiN2FTZ3JIQnlpTFpTbnNpTWNmZWQ1bFozVDlhQTlFcjgy?=
 =?utf-8?B?WG1MRG1LYWpiaEsvSE9zUXZsZHFOR2g3eU02RVBxc3BKMlN2UGo5TDVYSXZC?=
 =?utf-8?B?Qy9pQ0ZQZldqMU1uYTRwQXlRdG44SEJGWlppa1hadWNVbGtVQ3pYbzhJZmlQ?=
 =?utf-8?B?ODlPbUtkc2JNT2ZFaWIwdWtBU2FMdFIraGpjcEY0SVZhWE5MWWJWTVpUYzVl?=
 =?utf-8?B?aHhRZDU3TzhCWW1xYnRwUzdpeWlrbVBudWtkSEVad09YMGRZVTU0MkhoWUR2?=
 =?utf-8?B?SUJKL215cnlqUVhCWmZkYmNmWHEyNTI4cGhWK0ltREVEck8rVXZId2grWnBt?=
 =?utf-8?B?aDI2TmZDZC9WU1UxODhxOVhwZDBlbTZrMGpKM3RFRXhjcjVUUG1nL3JMaHFH?=
 =?utf-8?B?dXhEdGMvem1pZVZzUXNTOXBqNVpyUDhxaUJNajl1bFdaSlZLRGJqcjY5Zkxs?=
 =?utf-8?B?aGdGVjdFMmxsMzdYbE1aRktqV0xndCtsaFNsc20wTmc0SlpkVlltRUlzeCtP?=
 =?utf-8?B?cy9Zczc2T3d5Wnk0Z3F2ZXc1ZTY2Kys2eTVESnVJdU9KKzRrMnFMQk5Id1R5?=
 =?utf-8?B?V1JNZmxOV0dnQ2trc2lIWUo1UE5HUTdHT0xIbnVhTjFBUnpCcDg0anlyUWpQ?=
 =?utf-8?B?RC90ckg3VDYwMVVyaXJCcEo3VmpwWGp2MWJnaktqb3Rqc3dlbFFuNTVCcTd1?=
 =?utf-8?B?OUdvTHR5Z3I2ZDh1MkVBU05qYWlZUTRqQ2ZpRUNnU3lCNWdSejhQSWx2eHVi?=
 =?utf-8?B?VFVOTE5Yc2JrcHdNUnhJZUNpcWxYN1ZIQ3pCZVRnQmpIdklYTDFJdEdjcUZy?=
 =?utf-8?B?ZXAvQzUzV2xYRGkwaGp5Sys2N2MrTkExa1NSR1R4THRwSE5zVG16MlVCUlAw?=
 =?utf-8?B?YnRnWTFDWmJQT3lCRjFFOTN3WSswbnNydTEyS3lzL0YyTWVWc2didDRFOEJT?=
 =?utf-8?B?ck5mTmh5WVlneHlTakdPeHFzcW5yTE5yQmYxbVdOSCszeC9mazJoZVI2ZzJN?=
 =?utf-8?B?akdud3Q0SWQycEVKMDBKLzhlVEt6WWxtN2wraFhua2IzdHIvSEpWaXRnS2F6?=
 =?utf-8?B?MDJHR3pEUTdnZ2xGUVJsdFYyUUFiN2tEMytlWEFiYnZpbGdDY3RLbDVFQlls?=
 =?utf-8?B?SFRRWGEzMEt6bGQ1WFFxbFRHWGQ0MnRwYVN5Q0xjM0pVSVRPYUYrQ3dnbE9X?=
 =?utf-8?B?V0lmMG0yN2dBRjdtdC8vM0lMano4MXlSL3Bab2pTU3lFNDhMdXlBNFFnODJi?=
 =?utf-8?B?OFBXM0kwdWdFbFBtcXFsd1dTTWE4Qi9mdStqaFlrQVdvN0tpM2gvdUJ5RmRm?=
 =?utf-8?B?Yng5Y2N5NzIzNlphemE0SmtxWXFIZFBOR0dxa1hWcGRFQmtWZXRleE5oOHNh?=
 =?utf-8?B?ZDhOS0dzejhCaXBJU1crUWZZRlpBVWw0VTJ1Mk5Uc0FkRG9ydlBRNWdSZll4?=
 =?utf-8?B?SUFDdXVjRVdwSzcvY2ljb0w2SmpwTzd6a2l2eStmMWxXeTNlY2hpQjBkSWEx?=
 =?utf-8?B?M1lVWk9uOEJUYUhtRFJQc2IzbC9SWXJVMGFXNkhncUNZZ2pVRVRxdVNRVFVo?=
 =?utf-8?Q?pGv2RFZnn1WSCOxD57qY0N4=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E4C3154433A8E04386E869D8CEC7D3EA@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: PR3PR03MB6412.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42f94d7e-d1f2-462b-9c8c-08dd707f618a
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 18:10:55.5585
 (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: NBWy9jya+ew5lPV4MMh/15g74QSNMUCJw8WlF+CeyCmLTxHleuCwe/qCUpwFfb9OdzlDFvUbxb6Qr+rVoaOy1wz8ZMZuCLUsI0SuRZlbRok=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9017

DQoNCk9uIDI3LjAzLjI1IDAwOjM5LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+IEhpIE9sZWtzYW5k
ciwNCg0KSGVsbG8gSnVsaWVuDQoNCj4gDQo+IE9uIDI2LzAzLzIwMjUgMTE6NDUsIE9sZWtzYW5k
ciBUeXNoY2hlbmtvIHdyb3RlOg0KPj4gQWxzbyBpdCBpcyBub3QgZW50aXJlbHkgY2xlYXIgd2hh
dCB3ZSBzaG91bGQgZG8gd2l0aCBhY3BpX2Rpc2FibGVkPXRydWUNCj4+IGR1cmluZyBkZWNsYXJh
dGlvbiAod2hhdCBjdXJyZW50IHBhdGNoIGRvZXMpLCBldmVuIGlmIHdlIGRlY2lkZWQgdG8gZ28N
Cj4+IHdpdGggc3BsaXR0aW5nIHNob3VsZCB3ZSByZXRhaW4gdGhhdCBjaGFuZ2U/DQo+IA0KPiBJ
dCBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeS4gDQoNClRoYW5rcyBmb3IgdGhlIGNsYXJpZmljYXRp
b24uDQoNCkJ1dCBJIHdpbGwgbGVhdmUgdXAgdG8geW91IHdoZXRoZXIgeW91IHdhbnQNCj4gdG8g
dXBzdHJlYW0gdGhpcyBwYXRjaC4gQWx0aG91Z2gsIEkgd2lsbCBuZWVkIGEgY29tbWl0IHJld29y
ZGluZy4NCg0KSSB3b3VsZCBwcmVmZXIgbm90IHRvIHNwZW5kIHRpbWUgb24gdGhpcy4NCg0KDQo+
IA0KPiBDaGVlcnMsDQo+IA==


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 20:28:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 20:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932920.1334967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzLk6-0000BN-Mq; Mon, 31 Mar 2025 20:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932920.1334967; Mon, 31 Mar 2025 20: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 1tzLk6-0000BG-Ik; Mon, 31 Mar 2025 20:28:22 +0000
Received: by outflank-mailman (input) for mailman id 932920;
 Mon, 31 Mar 2025 20:28: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=B0cG=WS=oracle.com=konrad.wilk@srs-se1.protection.inumbo.net>)
 id 1tzLk4-0000BA-VR
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 20:28:21 +0000
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com
 [205.220.177.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad52ba22-0e6e-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 22:28:17 +0200 (CEST)
Received: from pps.filterd (m0246630.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52VJu6o1023227;
 Mon, 31 Mar 2025 20:27:43 GMT
Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta01.appoci.oracle.com [130.35.100.223])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45p79c42w9-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 31 Mar 2025 20:27:43 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 52VIcFcs004441; Mon, 31 Mar 2025 20:27:43 GMT
Received: from nam12-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 45p7a8d4jb-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 31 Mar 2025 20:27:42 +0000
Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16)
 by CH0PR10MB5145.namprd10.prod.outlook.com (2603:10b6:610:db::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.38; Mon, 31 Mar
 2025 20:27:39 +0000
Received: from DM4PR10MB8218.namprd10.prod.outlook.com
 ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com
 ([fe80::2650:55cf:2816:5f2%7]) with mapi id 15.20.8583.038; Mon, 31 Mar 2025
 20:27: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: ad52ba22-0e6e-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=corp-2023-11-20; bh=5sn6bag12Cw1E//cxi
	ON3BmHAB2v8EoY3MLyEvL2SsQ=; b=ZfefKujykjhzqXKWMyPR2J/gf+fjpD80dH
	N2odIEMoeSUgMpy65Tp0+WF5Z+QLky6s7oS9tvGN5mLxZgNok2MF2JYgn4R9hix2
	b3D7uENRNQ7zdPVe5OVsgB/Oc9wlPVtIud+flcKoEUp0AG8y3JXsATD4rvuBGi77
	90jFHdYKghfE5zDY6lfZb6lf2pwpFuzOimAshIkaY86QllwlD1AAoCRsuGf0Ecz3
	goW5R1yDDEQiTXCMVHTOVeb35PbVPtYDXzCpWzwJMTycszH78Iac4bjjybqUVost
	MqhzRuuVFdGRX+0xPmzIx1PUUp5F8FUxqRL1JddonlBElSFPreig==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cOVxdlq/jIh4RHzCawGdHC7fbCZh/ZUIwrEeHEcl4X7QlwaDIsReKt7H9o/n5DXe3T9iyojDkFkt6JveqpIdgx/u33igG2akqwDz7Pg+FVReSOs6pnwRTSbOSfpGa4U8BpNqj4LEZ0dUhEeMDPdJXrfIDz1DCUpRmWhn46K8MWSzCuaY2DepyjX17KOT+YU82BV7To4jQBtZXjPvniIvOKxpPkgkHtFOOjGZVZQ4I0vZ8mRXrhntHQbw6NjzByYJTjOJaUYDGb3Zas8J+7d2ZFk1xQ0hkRm7rYldDjeuko3OaZW+gTirh852MU1eKww9Ulj6p6AmRM/howioUSM79w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5sn6bag12Cw1E//cxiON3BmHAB2v8EoY3MLyEvL2SsQ=;
 b=t4lekzBL3wtjCeQXTzadaO1k4XhiS2RUUIwQAmrFFr+S8og6CdBBMSy2mOXI9gNrwdyLzbmrvcEpcBgB9tGjDZUsC3CpyvLEBJsu6hpsOUtLWg4iHfVBhzJbRbvGTdm0hBa2wLm+1nd9S5ng9d7218dp6KF3pBEjG7GvtduuqI3zNQt4XqOjjr1/2/xpE4T/5Shbdr9nK+5yb4KpMvCELCfN0Pu+pCvHO0HopO1Q8/SV+O0NLy0nAcJI+R6mF5ylJgkPHfzUBlb9XNB7JXT5YRPMwj6N5UZ/KhzuOe3NOWFtQDgtBRMB5ztVg0RRynZblmkx0ywCv15UrD299RoXTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5sn6bag12Cw1E//cxiON3BmHAB2v8EoY3MLyEvL2SsQ=;
 b=cLHJkdlKlMAK2ZZt9PGM7P3TfgERfhHB/DM/OsDfrGJY4FUmwRqUCy6pc762c5HHXHdAtYWIW2i/+eZpHPsEvhx0qVy8aCpML6ZRNBi91h3XzPCr5z4sbPgmJOmqFL0s/X+/Yjdvm2urO9hhoAf917DQRkC74GiWjolKU7szDvI=
Date: Mon, 31 Mar 2025 16:27:23 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Xin Li (Intel)" <xin@zytor.com>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev,
        tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
        jgross@suse.com, andrew.cooper3@citrix.com, peterz@infradead.org,
        acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: Re: [RFC PATCH v1 10/15] KVM: VMX: Use WRMSRNS or its immediate form
 when available
Message-ID: <Z-r6qxmk7niRssee@char.us.oracle.com>
References: <20250331082251.3171276-1-xin@zytor.com>
 <20250331082251.3171276-11-xin@zytor.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250331082251.3171276-11-xin@zytor.com>
X-ClientProxiedBy: MN2PR12CA0001.namprd12.prod.outlook.com
 (2603:10b6:208:a8::14) To DM4PR10MB8218.namprd10.prod.outlook.com
 (2603:10b6:8:1cc::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|CH0PR10MB5145:EE_
X-MS-Office365-Filtering-Correlation-Id: 61213043-560d-4ef0-0a87-08dd70927b8b
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:
	=?us-ascii?Q?RaA9lzLO6azzf804bthKuHkcCKAwJy2zqdAfTqLvK5hTBKFOrG0z8+gB1HXQ?=
 =?us-ascii?Q?0F0fvSZ2WonUWvrCCrjW7MP8Xz4rJ4dSMXkwioczFLlItS/D5UTkmRe8XzVe?=
 =?us-ascii?Q?P+BpZy+mcNVchfTo5ybScSShjNyY7iUzp974o6MBJPM5G6Ldm4Y1DN782rEn?=
 =?us-ascii?Q?Q7BmCohoqPiLB6E211+W4EBdruPm8hX4t1UXlpBGlGg/ZXr5gf1EtlrodKRq?=
 =?us-ascii?Q?Smndok/YtHGMHybtigVUPme/FSBcN7+EvhMzdi+bF1xxxygPOayThxkYFUcQ?=
 =?us-ascii?Q?gZvcSkb06sda3jtcYNk/gyIxhRXuGaKIoB7mLZw0vrnqLbp6wgw0tYJ3WeL5?=
 =?us-ascii?Q?nsS3QqxDk0yMbPNbHZ6/ERL494LWHBWMR8ngrn6SwDV1gcxzj5Fq4nWOeQ3c?=
 =?us-ascii?Q?857PrAfzBETZOwlpRoalDxmGEr9uIZwx4AFy2R1VqwN7A42hCe/vVj4TZ0uu?=
 =?us-ascii?Q?GfyCI1TyI/hAyyYO+qyQ0c1n8IaIDP1OMRGUzqCMYlSKfFE0eh6fbtFgZLS1?=
 =?us-ascii?Q?iKfK8jVoQqt5pu/qvXmMDGecms8nWBTwx483J2/aUCXde+u6IXX4VZDEW4++?=
 =?us-ascii?Q?/tstSglQOS9bP94XsGTI2sc3/fejqS6plt6B05vSB7HFuBUQPDBcWvzWKDgD?=
 =?us-ascii?Q?71tqWeqNudbjWpOfgXMJLMYBsApnZUUkXapx7ZTrdCCO94xSIVd5/HffSAnw?=
 =?us-ascii?Q?pWjYJgfmRqBqL+BcQO0SZE+YDLhXCZQUiXkFOOoBo3Fh//2fII0wspeUwQ32?=
 =?us-ascii?Q?bKlkdmbSSP/g1SGRFTnYjMFHGxq1j0nocSc5IAK4YL7U0HXD72St+RuD+mTT?=
 =?us-ascii?Q?qzZ5Srg670BJvTgDHGy6rnR5j/1E2nGD3twUA5JT1prWuJ2RamFgWsi1qIY1?=
 =?us-ascii?Q?cFYNM52A1DpwmraZVstYgYj5bIudTnoQtRPM3eRo6GPegTJJIfB7AY7HqK7x?=
 =?us-ascii?Q?H2SPjqdrxme7oQ9WShCAfhdgmmwjP88ivvHjWgD0kfK3ShUNBv+rHMQ2nK9e?=
 =?us-ascii?Q?8dxDMLc9pcH8W1kK3Fo8tq/68hoVObE6hpA1PyGSPTFKqrL9GxsdMz6ESnev?=
 =?us-ascii?Q?ngF85F5DpnxnVg/S4aM2u+kHVVkYXCG9Kt+7u0Eug0ZTrO+bEid1aI0bJ6C7?=
 =?us-ascii?Q?0AKhaMdvRLFZWBSfBZf0DbFB71kpe3G2BJT93W5PXwgaSthDURA+CFPbkN5K?=
 =?us-ascii?Q?1JTFNunaJTbE+RqkyCnKM9/3ET7/UWKRhbaApWDvVh5RjMA7JfIBfTFdkonV?=
 =?us-ascii?Q?NwejlJBG0Hi3IqGr6B5oAfPLtmhIjvEvZllw1TPxzcXGe0nB5HHAzJqGyHJN?=
 =?us-ascii?Q?xALL/tXymYAo+toJvir0OBOpUhxGFIf40n3eZZNkBsX7sc3f0OvlO3SQD3iW?=
 =?us-ascii?Q?hnsEtjCY1WpKmcOxMT1TF6xaSeY1McPuhAHhyTiHZgudWtaqK+COZKZoUjs5?=
 =?us-ascii?Q?G0/LFYyMvVA=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.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:
	=?us-ascii?Q?PMTNP0qma3I/kEWRpmlNIb3otrA4UzL4fQhGqu+H/sCpzd6WRmbnKKTljLjP?=
 =?us-ascii?Q?L9Igx89jpptHxgx19Jklp0PJjZBObuLhIbIZAbXEZiMpkElf8qfiC8MyQB/7?=
 =?us-ascii?Q?o19Oq50//6mcHqUbfHdDQ2B5IWai+qohEYHXN2H5L0eSs5COQvyu3d+NiJO+?=
 =?us-ascii?Q?IN5alTR1aFKL9IY83f/gMT94veXVvG9n6CGyqjlYggw8wY4+SmsatIViwmfi?=
 =?us-ascii?Q?1gs8l/tX7wIjELi2JxIsP2OJtjdijrUhn1RvcMe/AkLZSZSNIpPeW2FGU8hF?=
 =?us-ascii?Q?42nV3pXqRr777Co7YfBFu1H2+jOBfCF7f9j9XqAno7Z0SpljNcSFDqyLcAnE?=
 =?us-ascii?Q?sZV4Q7ZrMlODPnltHhfNVYOI+FUxXAHfzeye2IzMHQbWnbdm+bSKRWP3zp5I?=
 =?us-ascii?Q?3FMkvtfcl4YELeyMlhAAW06oIiUJt8Y/itZR81a/+hNTL9qTuqle1KNBn08L?=
 =?us-ascii?Q?FNLt3veqDVo+tMX3dEkkBrWyqgQ7zVjoFTOxK0ZAbszzr89MTZW39fKLy27G?=
 =?us-ascii?Q?H7uEkyvugNtdx01nWskdB67vaGzFmoCtXcDNTGrQOunRwnKNhxYJ6x3Vhpll?=
 =?us-ascii?Q?SRr2rczsvLdfVUAz9dYz3Dbn4W1RLqgHyrv9520vAdrob/DOGxdk1ozr3pcW?=
 =?us-ascii?Q?OifN6j4cpzwUrH9Ss7L8sxDTX9brwgu3vUIY8hDOzpvsLiWjCIcD4s8tvEZ+?=
 =?us-ascii?Q?jgC9VIvmJAfghAonz5T+oR0CGlklewi4IdSjKUPRMxfSx+x9aINO28wczf0U?=
 =?us-ascii?Q?4cX0cCLOEWZ8ECF2AbZwIzID3ic0l9RI6GFrfm1drjCCZHkOkefL99HvG+dG?=
 =?us-ascii?Q?K09atRwLdtpb7dxWZ1LqTqOXzxenOXW090IaEsbu9PvTQxn35HGAsWfbOT/H?=
 =?us-ascii?Q?ywxPVsI160j+pc2P8fDMNCORij3cB+3fwhYK5mVcxsnkVL+K9C2s0Z3Xdbyf?=
 =?us-ascii?Q?iBEOjH1TZnRq+EOHeHVhXPgN9aiKbBarlmGUt8o5EnoDJUWOZ7hWj3dT3znQ?=
 =?us-ascii?Q?v8A15NX6ODLVXB0hF8RV49r37a5NNZm6s7UPdndKDzKdZIbVJXp1Gqq9wxla?=
 =?us-ascii?Q?+/ulvGvPhKp4WLzc7diQU1b1zzQQVE0xzaURMyr4dWIXzZ+pptNYQxnhTc/p?=
 =?us-ascii?Q?oxYn3kv3/PqP1mPpiWlvNMg0+rMS89g73zzNFgEfPpOKRo8MczPcvXkKbIh3?=
 =?us-ascii?Q?TlyG4yo1KOvzp68dq7Ppci8zMmC5/q5RjUxqFWgwxWJTvI8oQJZfRoXDCWks?=
 =?us-ascii?Q?bqwepocRjcHx3gFElECzrLk/B2/W3M90weBSvenPsGksXVMlGoGm2tTJ+OKE?=
 =?us-ascii?Q?CdF3z4cDU6LbYSRZugQE+JzpGmE1/3m2ObYRv0bWAoSY36r1P5BmxwV71Rq2?=
 =?us-ascii?Q?8h2T5vRxxT69VTbLg0cLI9BgYpFsYiV8dZfY7W1Q6dqL1LEypLjgIVLrJXom?=
 =?us-ascii?Q?gzZ3btbAmL3U4MrULEOn2tWScRibMxsuZRu/s/LX1/mWk6nsm/nku0dkLRBU?=
 =?us-ascii?Q?XgcjfYW6S4KpAUKORsT49kzrrjCesI7IqWi9LP4kVZO7Z4ePgQyMP2QTprVW?=
 =?us-ascii?Q?r2EIt4PEUV8/UFFyNkiM9O5YkMklT+qVuEp0iLq2aqduVzRv2RNmdsb5PPsh?=
 =?us-ascii?Q?yA=3D=3D?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	X8CuATdHrBem+fHACMn/kJ5qp1JE1ZIebgVyLGqViHPeHYhV5ynDz+Dj3NisA8JRo07Fr1DHz54ZQm3RGL3wXFvZUzaaK5q6+j9dKv5gp8Bw79Q5vDFSuF+dqs3UxiZEfWtWp+kxGcNhQBOkW1ufL07cDsU4TlYP4aeTGUuv2Hdji+pXA6csAU7U71uIRm0iT5oPVpkHkJUEft4/dXxYkk5BSRHyqFtFvto8SUErlF0XOTZawLR7+KIKcjxlIldvVk7p5hIltcne2nZN2W96wUUuWkMJngV7b0KfRHzhMiJ367PgpAiMwtKEofSFXu0vRUuRBeT/GtgZkQEMn/0csfX9izPvF68Eq2l5wlstLbOBjpiLDxo6ugKSJQJCxKCKiX/54VYJLS8Q4MRE7Fm/lNsc+lv9X0qdOajikB//OOEBv8YTqaGFCoKNSfD4abtokdK4T1nt9zxniweILMYRdMwI0i6nnRti/uwLkwF8/O0DbRnQNtQmFRFKuz7wrL/ZQIRzQQKC86PUYdfWmXruCDItvaL6D/2FdVS6a0NuX5miFnPUZcW7ccV36Y7SyRz82pYxqveUCxFEH4hgG5QYfA8n1mHSKW2k+AGEhlOVfy8=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61213043-560d-4ef0-0a87-08dd70927b8b
X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 20:27:39.8286
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g0zSyetjWCpIdjI4j51R8bwgwYAnDxcxN/kEI9yZplT+pD4SpjcuFL6Q4sMULEYZImHUbzPXd3NvJNcsdF8ZSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5145
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-03-31_09,2025-03-27_02,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0
 malwarescore=0 mlxlogscore=962 mlxscore=0 bulkscore=0 suspectscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000
 definitions=main-2503310141
X-Proofpoint-GUID: 9H-SV8xEyUY09MXoR_h3HzqO541RBlC8
X-Proofpoint-ORIG-GUID: 9H-SV8xEyUY09MXoR_h3HzqO541RBlC8

On Mon, Mar 31, 2025 at 01:22:46AM -0700, Xin Li (Intel) wrote:
> Signed-off-by: Xin Li (Intel) <xin@zytor.com>
> ---
>  arch/x86/include/asm/msr-index.h |  6 ++++++
>  arch/x86/kvm/vmx/vmenter.S       | 28 ++++++++++++++++++++++++----
>  2 files changed, 30 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
> index e6134ef2263d..04244c3ba374 100644
> --- a/arch/x86/include/asm/msr-index.h
> +++ b/arch/x86/include/asm/msr-index.h
> @@ -1226,4 +1226,10 @@
>  						* a #GP
>  						*/
>  
> +/* Instruction opcode for WRMSRNS supported in binutils >= 2.40 */
> +#define ASM_WRMSRNS		_ASM_BYTES(0x0f,0x01,0xc6)
> +
> +/* Instruction opcode for the immediate form RDMSR/WRMSRNS */
> +#define ASM_WRMSRNS_RAX		_ASM_BYTES(0xc4,0xe7,0x7a,0xf6,0xc0)
> +
>  #endif /* _ASM_X86_MSR_INDEX_H */
> diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
> index f6986dee6f8c..9fae43723c44 100644
> --- a/arch/x86/kvm/vmx/vmenter.S
> +++ b/arch/x86/kvm/vmx/vmenter.S
> @@ -64,6 +64,29 @@
>  	RET
>  .endm
>  
> +/*
> + * Write EAX to MSR_IA32_SPEC_CTRL.
> + *
> + * Choose the best WRMSR instruction based on availability.
> + *
> + * Replace with 'wrmsrns' and 'wrmsrns %rax, $MSR_IA32_SPEC_CTRL' once binutils support them.
> + */
> +.macro WRITE_EAX_TO_MSR_IA32_SPEC_CTRL
> +	ALTERNATIVE_2 __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
> +				  xor %edx, %edx;				\
> +				  mov %edi, %eax;				\
> +				  ds wrmsr),					\
> +		      __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
> +				  xor %edx, %edx;				\
> +				  mov %edi, %eax;				\
> +				  ASM_WRMSRNS),					\
> +		      X86_FEATURE_WRMSRNS,					\
> +		      __stringify(xor %_ASM_AX, %_ASM_AX;			\
> +				  mov %edi, %eax;				\
> +				  ASM_WRMSRNS_RAX; .long MSR_IA32_SPEC_CTRL),	\
> +		      X86_FEATURE_MSR_IMM
> +.endm
> +
>  .section .noinstr.text, "ax"
>  
>  /**
> @@ -123,10 +146,7 @@ SYM_FUNC_START(__vmx_vcpu_run)
>  	movl PER_CPU_VAR(x86_spec_ctrl_current), %esi
>  	cmp %edi, %esi
>  	je .Lspec_ctrl_done
> -	mov $MSR_IA32_SPEC_CTRL, %ecx
> -	xor %edx, %edx
> -	mov %edi, %eax
> -	wrmsr

Is that the right path forward?

That is replace the MSR write to disable speculative execution with a
non-serialized WRMSR? Doesn't that mean the WRMSRNS is speculative?


> +	WRITE_EAX_TO_MSR_IA32_SPEC_CTRL
>  
>  .Lspec_ctrl_done:
>  
> -- 
> 2.49.0
> 
> 


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 20:33:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 20:33:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932931.1334975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzLpI-0002jZ-87; Mon, 31 Mar 2025 20:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932931.1334975; Mon, 31 Mar 2025 20:33: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 1tzLpI-0002jS-5X; Mon, 31 Mar 2025 20:33:44 +0000
Received: by outflank-mailman (input) for mailman id 932931;
 Mon, 31 Mar 2025 20:33: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=F9bB=WS=zytor.com=hpa@srs-se1.protection.inumbo.net>)
 id 1tzLpH-0002jM-7F
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 20:33:43 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e1d9dd6-0e6f-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 22:33:41 +0200 (CEST)
Received: from [127.0.0.1] ([76.133.66.138]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52VKX0M73412381
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
 Mon, 31 Mar 2025 13:33: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: 6e1d9dd6-0e6f-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52VKX0M73412381
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743453183;
	bh=x7/smMOdPkYBe+t7QfoSlZKr+k8BBZp4ioXVR2T0his=;
	h=Date:From:To:CC:Subject:In-Reply-To:References:From;
	b=Z4KFFf201sZydaNbvnLKcIFsMDrRsRhjp8bCSzYq7irlJscPCzdUI+8Dh4pqCCfV4
	 ma0aiKDH5Cg73nGZwNOvjvhtZagcXOcQ9p2pYNsCc45pMH4VWAZVeIr/shFTXOyoJT
	 59zF4BynSpJMyvMuqGTq9ieFHT39HOkA0HdIKxpHd/yvEWkvuEK7rGz99DeXh2OChY
	 Zn0hvSP59z7ec+xOZ7nTecOJAXBz/IE20VtgatRaj322fOCOFRQHF4aywsa6ze8XYD
	 fG5J1+Jt7zMsFRAlcpYJxihjmqzIyqp5Hnp/IhNJbmgWmvn330XKZNgzjeZAZMX0yB
	 LqLmBrw0GOEjQ==
Date: Mon, 31 Mar 2025 13:32:58 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
To: Ingo Molnar <mingo@kernel.org>, "Xin Li (Intel)" <xin@zytor.com>
CC: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev,
        tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, jgross@suse.com,
        andrew.cooper3@citrix.com, peterz@infradead.org, acme@kernel.org,
        namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: =?US-ASCII?Q?Re=3A_=5BRFC_PATCH_v1_01/15=5D_x86/msr=3A_Re?=
 =?US-ASCII?Q?place_=5F=5Fwrmsr=28=29_with_native=5Fwrmsrl=28=29?=
User-Agent: K-9 Mail for Android
In-Reply-To: <Z-pruogreCuU66wm@gmail.com>
References: <20250331082251.3171276-1-xin@zytor.com> <20250331082251.3171276-2-xin@zytor.com> <Z-pruogreCuU66wm@gmail.com>
Message-ID: <9D15DE81-2E68-4FCD-A133-4963602E18C9@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

On March 31, 2025 3:17:30 AM PDT, Ingo Molnar <mingo@kernel=2Eorg> wrote:
>
>* Xin Li (Intel) <xin@zytor=2Ecom> wrote:
>
>> -	__wrmsr      (MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3, val >> 32);
>> +	native_wrmsrl(MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3);
>
>This is an improvement=2E
>
>> -	__wrmsr      (MSR_IA32_PQR_ASSOC, rmid_p, plr->closid);
>> +	native_wrmsrl(MSR_IA32_PQR_ASSOC, (u64)plr->closid << 32 | rmid_p);
>
>> -	__wrmsr      (MSR_IA32_PQR_ASSOC, rmid_p, closid_p);
>> +	native_wrmsrl(MSR_IA32_PQR_ASSOC, (u64)closid_p << 32 | rmid_p);
>
>This is not an improvement=2E
>
>Please provide a native_wrmsrl() API variant where natural [rmid_p, closi=
d_p]
>high/lo parameters can be used, without the shift-uglification=2E=2E=2E
>
>Thanks,
>
>	Ingo

Directing this question primarily to Ingo, who is more than anyone else th=
e namespace consistency guardian:

On the subject of msr function naming =2E=2E=2E *msrl() has always been mi=
sleading=2E The -l suffix usually means 32 bits; sometimes it means the C t=
ype "long" (which in the kernel is used instead of size_t/uintptr_t, which =
might end up being "fun" when 128-bit architectures appear some time this c=
entury), but for a fixed 64-but type we normally use -q=2E

Should we rename the *msrl() functions to *msrq() as part of this overhaul=
?


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 20:39:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 20:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932941.1334986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzLuX-0003Kf-RU; Mon, 31 Mar 2025 20:39:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932941.1334986; Mon, 31 Mar 2025 20:39: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 1tzLuX-0003KY-Ng; Mon, 31 Mar 2025 20:39:09 +0000
Received: by outflank-mailman (input) for mailman id 932941;
 Mon, 31 Mar 2025 20:39: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=KCwA=WS=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1tzLuW-0003KR-4F
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 20:39:08 +0000
Received: from mail.alien8.de (mail.alien8.de [2a01:4f9:3051:3f93::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30b8e6b6-0e70-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 22:39:06 +0200 (CEST)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 8E35D40E0219; 
 Mon, 31 Mar 2025 20:39:04 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id hCZ-tIlyS7we; Mon, 31 Mar 2025 20:39:00 +0000 (UTC)
Received: from zn.tnic (pd95303ce.dip0.t-ipconnect.de [217.83.3.206])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id A5FD540E0215;
 Mon, 31 Mar 2025 20:38: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: 30b8e6b6-0e70-11f0-9ea7-5ba50f476ded
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1743453540; bh=/G/aKVJEvh+BK78jU3R26aPND/GQH52x97woE6DFwhw=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=F8o5RaNF3wWAqRLnTqi/8tHi7xkMgpKiN8syntrCDDi2HsW0ZteAq1vHxftuVDtEM
	 cGldDTW3HAyOII383lFtqZ8kjPjJ4cSMMQfZiMs2i75K92ljQxK+B976L1H8wpzDw3
	 qBq06saJEtD83EHlZGDTbn2Zrkjdn/pwU8XSUo89HvNJ5HrM4jKMmVBY/vqWzOGZAs
	 YMW9m5mTnDMA2/H7Mc2kS6IohGQx9CIGf8UFDrLzc7i1zbdiFLx+LurM0lT0p+r++K
	 xEE/rCcJDi/j7xqbBgk5XLjKmFoXPTIY8xiaG6nY2M2HoVZUHdlffKXc5AXjOsjk3h
	 bXWm4T/N6Gzr7tBdHvVBTC9fABhXTGLNWEaMUMRerH2SrcucWBS7Q76YE/0gGMLqzP
	 CqnJj5s+MxEXI5KS+enCYMAbhBo+MWFpsW8Kykxy0tXn0BVbIXqfGDdwlFwzMacC8O
	 wk0mK5nC05VUHquiE5jhJgdoZX9HEiHuFW4xPMnCFYz2SfZ/QITV5Kj74oo3FyeTUi
	 lHFVgGPccdky6om9VHQjHwlCkorANK8owgOFCwgm7tlqdg27yNAxCe8hVJ6wqynD9T
	 GmKhQh3WsSnbfRxcHEl1wAa+FmSiCk8yZbj+eB5Ssk9ytAfGykALiBs591qReXfIrj
	 SZqE/RALHdS8Q8yfLauzWt/Q=
Date: Mon, 31 Mar 2025 22:38:11 +0200
From: Borislav Petkov <bp@alien8.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: "Xin Li (Intel)" <xin@zytor.com>, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, linux-hyperv@vger.kernel.org,
	virtualization@lists.linux.dev, linux-edac@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-ide@vger.kernel.org, linux-pm@vger.kernel.org,
	bpf@vger.kernel.org, llvm@lists.linux.dev, tglx@linutronix.de,
	mingo@redhat.com, dave.hansen@linux.intel.com, x86@kernel.org,
	hpa@zytor.com, jgross@suse.com, andrew.cooper3@citrix.com,
	peterz@infradead.org, acme@kernel.org, namhyung@kernel.org,
	mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
	jolsa@kernel.org, irogers@google.com, adrian.hunter@intel.com,
	kan.liang@linux.intel.com, wei.liu@kernel.org,
	ajay.kaher@broadcom.com, alexey.amakhalov@broadcom.com,
	bcm-kernel-feedback-list@broadcom.com, tony.luck@intel.com,
	pbonzini@redhat.com, vkuznets@redhat.com, seanjc@google.com,
	luto@kernel.org, boris.ostrovsky@oracle.com, kys@microsoft.com,
	haiyangz@microsoft.com, decui@microsoft.com
Subject: Re: [RFC PATCH v1 10/15] KVM: VMX: Use WRMSRNS or its immediate form
 when available
Message-ID: <20250331203811.GCZ-r9M9Zrww_b7IjJ@fat_crate.local>
References: <20250331082251.3171276-1-xin@zytor.com>
 <20250331082251.3171276-11-xin@zytor.com>
 <Z-r6qxmk7niRssee@char.us.oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <Z-r6qxmk7niRssee@char.us.oracle.com>

On Mon, Mar 31, 2025 at 04:27:23PM -0400, Konrad Rzeszutek Wilk wrote:
> Is that the right path forward?
> 
> That is replace the MSR write to disable speculative execution with a
> non-serialized WRMSR? Doesn't that mean the WRMSRNS is speculative?

Ha, interesting question.

If the WRMSR is non-serializing, when do speculative things like indirect
branches and the like get *actually* cleared and can such a speculation window
be used to leak branch data even if IBRS is actually enabled for example...

Fun.

This change needs to be run by hw folks and I guess until then WRMSRNS should
not get anywhere near mitigation MSRs like SPEC_CTRL or PRED_CMD...

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 20:41:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 20:41:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932950.1334996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzLx5-0005yF-5l; Mon, 31 Mar 2025 20:41:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932950.1334996; Mon, 31 Mar 2025 20: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 1tzLx5-0005y8-38; Mon, 31 Mar 2025 20:41:47 +0000
Received: by outflank-mailman (input) for mailman id 932950;
 Mon, 31 Mar 2025 20:41: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzLx4-0005xn-3z
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 20:41:46 +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 8f0aa4c3-0e70-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 22:41:44 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3965c995151so2623058f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 13:41:44 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39c0b79e0d1sm12187246f8f.70.2025.03.31.13.41.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 13: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: 8f0aa4c3-0e70-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743453704; x=1744058504; 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=rGJAe0UQZxK4zMdJovc/1efMoUHDDD05RrKDXkqIC1k=;
        b=Mf8ZZRlbl5La7SeswemfweYz4XsTkrMiRitgKL12b1i7UjbHnI5BuCPstbF6ZIpaPf
         xp8hFkBxtBZ5fMWPjP6KQLln2kPfKENk9uryrkm9GgWusEhKJn1bxjiDXgUY9L9+juE0
         PBSsDFwaFQ8ZrFhfT72PlSRYdQyAu5k56YNOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743453704; x=1744058504;
        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=rGJAe0UQZxK4zMdJovc/1efMoUHDDD05RrKDXkqIC1k=;
        b=mBUh5jF0GM8LF05g/mzqOoVfFamNIVgnTuhH4cKBSLZpWlPKnUHwO36NkxC2ZCf1P1
         p9Br73YrFtOuzuKoEQIlkNtexF+9+5eZQoFPvGA93JyALTvtrutfAy0WzE9zmZqNqORv
         jWGEx+P51aowFjTo0WpSNytPHdbXpauAYq40jBocv0sjMict4kElOE7raR3K2otvuHv0
         Z6XNghjCVXP3kUpiDvYgixPytx1Ao5anKuRTg3cg+RaxrMwnxZUVnMHMA9IZt8W/QW/s
         37YzebQAmnlAHWJIbByXLgdoTpAvdVAnoLi9dks9lWjKsaa2bMB80bVWkfkMyHjB1OHK
         wlxA==
X-Forwarded-Encrypted: i=1; AJvYcCUyiqaQvWE/++c9ec0qgbCg5TDAz1XUg/A/UHNAjWEQULSLoWNcMP9OROAu7F+zboyLsQUTxsctjPI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw2H24dBGKRJEXQIZXZ4z7IUbaTJ/ctHP100b3HRFCzGVOo/Z0n
	+4YNPwMr1GpD0krBpO1cW86bNpLgHzuyfoTwQTs39QdfVKdOYatSbTedaqZlmn8=
X-Gm-Gg: ASbGncsvPDzhxY0n6Nss8rJf6Svcn/XepEFDgnrGqhO1l7WoVQ5IHOUc61DdkPs+v+X
	VeGARFStW635jxuso02JKYXWh4OYfneJZVR8AjPmKyXwW6VcjDSXhicGcWhDVvx1h38yJbLYVkf
	+n9prsqWsN9zIl8dRikIjMAFhMcogwnxUssRuDEy55EDDiaY/yXe1rkD31LO+dwjBuFNxzmhLPS
	bLC/9lgugvj6feOs2tRJL6Ea0JotXLM3tuiA7tWsBvZ9Yo5gc0LmqzgBnl+Bh3uBU8f/DyX8adL
	6IUO8pLKVzkSlCbCRupxYZ+OCG39bIv4lKNHf2Qc3MviIxDaqvrah2+ZbM/tAvUvvi1HfS6j6VP
	T8MPZfZaz1w==
X-Google-Smtp-Source: AGHT+IELgOL2ZFTcYBUrFSIuo2rwMKxJQe2rD/asVJqxQr19K+w0UzLYi4yoZPeCFXyQFMNepUNBpg==
X-Received: by 2002:a05:6000:420a:b0:391:487f:2828 with SMTP id ffacd0b85a97d-39c120cd1d0mr8781705f8f.10.1743453704261;
        Mon, 31 Mar 2025 13:41:44 -0700 (PDT)
Message-ID: <fde11fbb-4b3f-44f1-90cf-6aaefb6bb7c1@citrix.com>
Date: Mon, 31 Mar 2025 21:41:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v1 10/15] KVM: VMX: Use WRMSRNS or its immediate form
 when available
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 "Xin Li (Intel)" <xin@zytor.com>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
 linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
 linux-edac@vger.kernel.org, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
 linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev,
 tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, jgross@suse.com,
 peterz@infradead.org, acme@kernel.org, namhyung@kernel.org,
 mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org,
 irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
 wei.liu@kernel.org, ajay.kaher@broadcom.com, alexey.amakhalov@broadcom.com,
 bcm-kernel-feedback-list@broadcom.com, tony.luck@intel.com,
 pbonzini@redhat.com, vkuznets@redhat.com, seanjc@google.com,
 luto@kernel.org, boris.ostrovsky@oracle.com, kys@microsoft.com,
 haiyangz@microsoft.com, decui@microsoft.com
References: <20250331082251.3171276-1-xin@zytor.com>
 <20250331082251.3171276-11-xin@zytor.com>
 <Z-r6qxmk7niRssee@char.us.oracle.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: <Z-r6qxmk7niRssee@char.us.oracle.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/03/2025 9:27 pm, Konrad Rzeszutek Wilk wrote:
> On Mon, Mar 31, 2025 at 01:22:46AM -0700, Xin Li (Intel) wrote:
>> Signed-off-by: Xin Li (Intel) <xin@zytor.com>
>> ---
>>  arch/x86/include/asm/msr-index.h |  6 ++++++
>>  arch/x86/kvm/vmx/vmenter.S       | 28 ++++++++++++++++++++++++----
>>  2 files changed, 30 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
>> index e6134ef2263d..04244c3ba374 100644
>> --- a/arch/x86/include/asm/msr-index.h
>> +++ b/arch/x86/include/asm/msr-index.h
>> @@ -1226,4 +1226,10 @@
>>  						* a #GP
>>  						*/
>>  
>> +/* Instruction opcode for WRMSRNS supported in binutils >= 2.40 */
>> +#define ASM_WRMSRNS		_ASM_BYTES(0x0f,0x01,0xc6)
>> +
>> +/* Instruction opcode for the immediate form RDMSR/WRMSRNS */
>> +#define ASM_WRMSRNS_RAX		_ASM_BYTES(0xc4,0xe7,0x7a,0xf6,0xc0)
>> +
>>  #endif /* _ASM_X86_MSR_INDEX_H */
>> diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
>> index f6986dee6f8c..9fae43723c44 100644
>> --- a/arch/x86/kvm/vmx/vmenter.S
>> +++ b/arch/x86/kvm/vmx/vmenter.S
>> @@ -64,6 +64,29 @@
>>  	RET
>>  .endm
>>  
>> +/*
>> + * Write EAX to MSR_IA32_SPEC_CTRL.
>> + *
>> + * Choose the best WRMSR instruction based on availability.
>> + *
>> + * Replace with 'wrmsrns' and 'wrmsrns %rax, $MSR_IA32_SPEC_CTRL' once binutils support them.
>> + */
>> +.macro WRITE_EAX_TO_MSR_IA32_SPEC_CTRL
>> +	ALTERNATIVE_2 __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
>> +				  xor %edx, %edx;				\
>> +				  mov %edi, %eax;				\
>> +				  ds wrmsr),					\
>> +		      __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
>> +				  xor %edx, %edx;				\
>> +				  mov %edi, %eax;				\
>> +				  ASM_WRMSRNS),					\
>> +		      X86_FEATURE_WRMSRNS,					\
>> +		      __stringify(xor %_ASM_AX, %_ASM_AX;			\
>> +				  mov %edi, %eax;				\
>> +				  ASM_WRMSRNS_RAX; .long MSR_IA32_SPEC_CTRL),	\
>> +		      X86_FEATURE_MSR_IMM
>> +.endm
>> +
>>  .section .noinstr.text, "ax"
>>  
>>  /**
>> @@ -123,10 +146,7 @@ SYM_FUNC_START(__vmx_vcpu_run)
>>  	movl PER_CPU_VAR(x86_spec_ctrl_current), %esi
>>  	cmp %edi, %esi
>>  	je .Lspec_ctrl_done
>> -	mov $MSR_IA32_SPEC_CTRL, %ecx
>> -	xor %edx, %edx
>> -	mov %edi, %eax
>> -	wrmsr
> Is that the right path forward?
>
> That is replace the MSR write to disable speculative execution with a
> non-serialized WRMSR? Doesn't that mean the WRMSRNS is speculative?

MSR_SPEC_CTRL is explicitly non-serialising, even with a plain WRMSR.

non-serialising != non-speculative.

Although WRMSRNS's precise statement on the matter of
non-speculativeness is woolly, given an intent to optimise it some more
in the future.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 20:45:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 20:45:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932963.1335006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzM10-0006ao-Pw; Mon, 31 Mar 2025 20:45:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932963.1335006; Mon, 31 Mar 2025 20: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 1tzM10-0006ah-Mc; Mon, 31 Mar 2025 20:45:50 +0000
Received: by outflank-mailman (input) for mailman id 932963;
 Mon, 31 Mar 2025 20:45: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=F9bB=WS=zytor.com=hpa@srs-se1.protection.inumbo.net>)
 id 1tzM0z-0006ab-1x
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 20:45:49 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e3ba6e9-0e71-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 22:45:46 +0200 (CEST)
Received: from [127.0.0.1] ([76.133.66.138]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52VKj9Qn3416775
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
 Mon, 31 Mar 2025 13:45: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: 1e3ba6e9-0e71-11f0-9ffb-bf95429c2676
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52VKj9Qn3416775
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743453911;
	bh=RJdRtnEZs6j9KCHMK9Hs6l8j7NbGQuDD7agHU0tLvBI=;
	h=Date:From:To:CC:Subject:In-Reply-To:References:From;
	b=HxVmo8DkI9aNvRf1hcqEg8jzzMSY2oZD90HufIujscG2rvkncKPrPb+WA+c+g0suh
	 /YcJMxfKUsQ4F8Z6u9d11v2PvN+rc6RDRO7SOLUWmo98Bvi5RoWFOVpeS7LZapdbwg
	 c0VVhZTDrgO4nd1x6fRXi50mF6ODAI4Z//Ff315UAHYo5E30ntta9HQ0dQDI63QbQX
	 wsSBv2EApG/7Wim0LEJBM8iyKUly1+Xe3rkKvAJ5UpMNOF1WweGYeZuv5uWyIfCGo4
	 knMOhY9KwEWpYJOjgr4OeH+Mr6fbgyX9NOi48CwDXIHZNPU8ytifS+R6rnkliZEvxh
	 1eSzBxlfxbOiA==
Date: Mon, 31 Mar 2025 13:45:06 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        "Xin Li (Intel)" <xin@zytor.com>
CC: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev,
        tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, jgross@suse.com,
        andrew.cooper3@citrix.com, peterz@infradead.org, acme@kernel.org,
        namhyung@kernel.org, mark.rutland@arm.com,
        alexander.shishkin@linux.intel.com, jolsa@kernel.org,
        irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
        wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
Subject: =?US-ASCII?Q?Re=3A_=5BRFC_PATCH_v1_10/15=5D_KVM=3A_VMX=3A_Use_WR?=
 =?US-ASCII?Q?MSRNS_or_its_immediate_form_when_available?=
User-Agent: K-9 Mail for Android
In-Reply-To: <Z-r6qxmk7niRssee@char.us.oracle.com>
References: <20250331082251.3171276-1-xin@zytor.com> <20250331082251.3171276-11-xin@zytor.com> <Z-r6qxmk7niRssee@char.us.oracle.com>
Message-ID: <EC243029-B8DE-4526-8869-5FA430DADC16@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

On March 31, 2025 1:27:23 PM PDT, Konrad Rzeszutek Wilk <konrad=2Ewilk@orac=
le=2Ecom> wrote:
>On Mon, Mar 31, 2025 at 01:22:46AM -0700, Xin Li (Intel) wrote:
>> Signed-off-by: Xin Li (Intel) <xin@zytor=2Ecom>
>> ---
>>  arch/x86/include/asm/msr-index=2Eh |  6 ++++++
>>  arch/x86/kvm/vmx/vmenter=2ES       | 28 ++++++++++++++++++++++++----
>>  2 files changed, 30 insertions(+), 4 deletions(-)
>>=20
>> diff --git a/arch/x86/include/asm/msr-index=2Eh b/arch/x86/include/asm/=
msr-index=2Eh
>> index e6134ef2263d=2E=2E04244c3ba374 100644
>> --- a/arch/x86/include/asm/msr-index=2Eh
>> +++ b/arch/x86/include/asm/msr-index=2Eh
>> @@ -1226,4 +1226,10 @@
>>  						* a #GP
>>  						*/
>> =20
>> +/* Instruction opcode for WRMSRNS supported in binutils >=3D 2=2E40 */
>> +#define ASM_WRMSRNS		_ASM_BYTES(0x0f,0x01,0xc6)
>> +
>> +/* Instruction opcode for the immediate form RDMSR/WRMSRNS */
>> +#define ASM_WRMSRNS_RAX		_ASM_BYTES(0xc4,0xe7,0x7a,0xf6,0xc0)
>> +
>>  #endif /* _ASM_X86_MSR_INDEX_H */
>> diff --git a/arch/x86/kvm/vmx/vmenter=2ES b/arch/x86/kvm/vmx/vmenter=2E=
S
>> index f6986dee6f8c=2E=2E9fae43723c44 100644
>> --- a/arch/x86/kvm/vmx/vmenter=2ES
>> +++ b/arch/x86/kvm/vmx/vmenter=2ES
>> @@ -64,6 +64,29 @@
>>  	RET
>>  =2Eendm
>> =20
>> +/*
>> + * Write EAX to MSR_IA32_SPEC_CTRL=2E
>> + *
>> + * Choose the best WRMSR instruction based on availability=2E
>> + *
>> + * Replace with 'wrmsrns' and 'wrmsrns %rax, $MSR_IA32_SPEC_CTRL' once=
 binutils support them=2E
>> + */
>> +=2Emacro WRITE_EAX_TO_MSR_IA32_SPEC_CTRL
>> +	ALTERNATIVE_2 __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
>> +				  xor %edx, %edx;				\
>> +				  mov %edi, %eax;				\
>> +				  ds wrmsr),					\
>> +		      __stringify(mov $MSR_IA32_SPEC_CTRL, %ecx;		\
>> +				  xor %edx, %edx;				\
>> +				  mov %edi, %eax;				\
>> +				  ASM_WRMSRNS),					\
>> +		      X86_FEATURE_WRMSRNS,					\
>> +		      __stringify(xor %_ASM_AX, %_ASM_AX;			\
>> +				  mov %edi, %eax;				\
>> +				  ASM_WRMSRNS_RAX; =2Elong MSR_IA32_SPEC_CTRL),	\
>> +		      X86_FEATURE_MSR_IMM
>> +=2Eendm
>> +
>>  =2Esection =2Enoinstr=2Etext, "ax"
>> =20
>>  /**
>> @@ -123,10 +146,7 @@ SYM_FUNC_START(__vmx_vcpu_run)
>>  	movl PER_CPU_VAR(x86_spec_ctrl_current), %esi
>>  	cmp %edi, %esi
>>  	je =2ELspec_ctrl_done
>> -	mov $MSR_IA32_SPEC_CTRL, %ecx
>> -	xor %edx, %edx
>> -	mov %edi, %eax
>> -	wrmsr
>
>Is that the right path forward?
>
>That is replace the MSR write to disable speculative execution with a
>non-serialized WRMSR? Doesn't that mean the WRMSRNS is speculative?
>
>
>> +	WRITE_EAX_TO_MSR_IA32_SPEC_CTRL
>> =20
>>  =2ELspec_ctrl_done:
>> =20
>> --=20
>> 2=2E49=2E0
>>=20
>>=20

So to clarify the semantics of WRMSRNS: it is an opt-in capability for the=
 OS to allow the hardware to choose the amount of serialization needed on a=
n MSR- or implementation-specific basis=2E

It also allows the OS to set multiple MSRs followed by a SERIALIZE instruc=
tion if full hard serialization is still desired, rather than having each i=
ndividual MSR write do a full hard serialization (killing the full pipe and=
 starting over from instruction fetch=2E)

This will replace the =E2=80=93 architecturally questionable, in my opinio=
n =E2=80=93 practice of introducing non-serializing MSRs which after all ar=
e retroactive changes to the semantics WRMSR instruction with no opt-out (a=
lthough the existence of SERIALIZE improves the situation somewhat=2E)

I agree that we need better documentation as to the semantics of WRMSRNS o=
n critical MSRs like SPEC_CTRL, and especially in that specific case, when =
post-batch SERIALIZE would be called for=2E


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 20:56:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 20:56:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932974.1335016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMAr-00010G-L3; Mon, 31 Mar 2025 20:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932974.1335016; Mon, 31 Mar 2025 20:56: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 1tzMAr-000109-Hx; Mon, 31 Mar 2025 20:56:01 +0000
Received: by outflank-mailman (input) for mailman id 932974;
 Mon, 31 Mar 2025 20:55: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=F9bB=WS=zytor.com=hpa@srs-se1.protection.inumbo.net>)
 id 1tzMAp-000103-JJ
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 20:55:59 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b0070ca-0e72-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 22:55:58 +0200 (CEST)
Received: from [172.27.3.244] ([76.133.66.138]) (authenticated bits=0)
 by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 52VKtBNP3418600
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
 Mon, 31 Mar 2025 13:55: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: 8b0070ca-0e72-11f0-9ea7-5ba50f476ded
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 52VKtBNP3418600
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2025032001; t=1743454520;
	bh=VWL5qq9zWu3cNVnIm7LG7BNkZkCMGz8p/x6Wg1aq0Vk=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=LD97Y7SSrMxEUulSMZu+ff9YU54RyfVQzj+cvjC0nuyPVAEvUTBY9vRHA9kuqRBck
	 zCpoYM2uH/99eIUDQGh5oDFn03Tifu66IeQ3yxFSTx24lBmHWwTojxMeI1feo+cKyk
	 7eP21xGMkfSjHVWZupPDlETH4s1vyAwJDOC+QWi0AcWJErrmD9O7x5BZvgDMta9Uss
	 0c3ftb/ovwly81i9hfmlGacobBgXN1Th2kgo58DJsSRQjb9x/QGkISc7TVQc+0OMDc
	 i/TzJFXz/ephJVSay1Qes3/ceo2JQmIVHTc6M8xH77vra6FcPLxFWWqYEiisToZPWj
	 Zy5DmP5WmybQw==
Message-ID: <1add8de0-8c62-444e-a7d6-5681432d48a9@zytor.com>
Date: Mon, 31 Mar 2025 13:55:11 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v1 10/15] KVM: VMX: Use WRMSRNS or its immediate form
 when available
To: Andrew Cooper <andrew.cooper3@citrix.com>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        "Xin Li (Intel)" <xin@zytor.com>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
        linux-edac@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-ide@vger.kernel.org,
        linux-pm@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev,
        tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
        dave.hansen@linux.intel.com, x86@kernel.org, jgross@suse.com,
        peterz@infradead.org, acme@kernel.org, namhyung@kernel.org,
        mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
        jolsa@kernel.org, irogers@google.com, adrian.hunter@intel.com,
        kan.liang@linux.intel.com, wei.liu@kernel.org, ajay.kaher@broadcom.com,
        alexey.amakhalov@broadcom.com, bcm-kernel-feedback-list@broadcom.com,
        tony.luck@intel.com, pbonzini@redhat.com, vkuznets@redhat.com,
        seanjc@google.com, luto@kernel.org, boris.ostrovsky@oracle.com,
        kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com
References: <20250331082251.3171276-1-xin@zytor.com>
 <20250331082251.3171276-11-xin@zytor.com>
 <Z-r6qxmk7niRssee@char.us.oracle.com>
 <fde11fbb-4b3f-44f1-90cf-6aaefb6bb7c1@citrix.com>
Content-Language: en-US
From: "H. Peter Anvin" <hpa@zytor.com>
In-Reply-To: <fde11fbb-4b3f-44f1-90cf-6aaefb6bb7c1@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/31/25 13:41, Andrew Cooper wrote:
>>
>> That is replace the MSR write to disable speculative execution with a
>> non-serialized WRMSR? Doesn't that mean the WRMSRNS is speculative?
> 
> MSR_SPEC_CTRL is explicitly non-serialising, even with a plain WRMSR.
> 
> non-serialising != non-speculative.
> 
> Although WRMSRNS's precise statement on the matter of
> non-speculativeness is woolly, given an intent to optimise it some more
> in the future.
> 

To be specific, "serializing" is a much harder statement than 
"non-speculative."

For architecturally non-serializing MSRs, WRMSRNS and WRMSR are 
equivalent (or to put it differently, WRMSR acts like WRMSRNS.)

The advantage with making them explicitly WRMSRNS is that it allows for 
the substitution of the upcoming immediate forms.

	-hpa



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:34:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932984.1335025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMmC-0001vP-D9; Mon, 31 Mar 2025 21:34:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932984.1335025; Mon, 31 Mar 2025 21:34: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 1tzMmC-0001vI-AS; Mon, 31 Mar 2025 21:34:36 +0000
Received: by outflank-mailman (input) for mailman id 932984;
 Mon, 31 Mar 2025 21:34: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzMm9-0001vA-9u
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:34:34 +0000
Received: from mail-24417.protonmail.ch (mail-24417.protonmail.ch
 [109.224.244.17]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eda80ebd-0e77-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 23:34:30 +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: eda80ebd-0e77-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743456869; x=1743716069;
	bh=hCk7UPeU4cSqzWxoWMpdZnQsPxbG8g2UltdF25C6YCg=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=iN3r2AEw9qPNkn1aVevo7sG4HSvcus6xrnRymRVWE1H0xRmoKhvRiVhph08mz+JGC
	 NswgsOSG8446hEdJpRMZZWaK5BrAebYyQodD8ABWHTbvp6s8S0sZ3GmFEHheUJ1N/v
	 ygjrJbWRlfTpf/YsszFoX6hMWCUZnBx9c0H8V+kkjTPjO1rCNvAk6OgmXsSlNtyEUm
	 PR8pW7iQKwxQ9aYGo4sOnA+cT68gs2C7FsHw/UoqWAesBpjw8/1rkBSvgqUkFoWs1u
	 JR4QccNRjM0iHo8JYU0VHZAGjXeYKLuljQUnQRZZNCmuGQTzwF5t94l9CNym+7s36T
	 0+jwefxPPkXhQ==
Date: Mon, 31 Mar 2025 21:34:24 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v1] x86/domain: revisit logging in arch_domain_create()
Message-ID: <20250331213406.422725-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 414ba1d83d156b13a002975fe83cb5ff80771cb7
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Use %pd in all logs issued from arch_domain_create().

Also, expand error message in arch_domain_create() under
!emulation_flags_ok() case to help debugging.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
The origin of the patch is:
  https://lore.kernel.org/xen-devel/20250103-vuart-ns8250-v3-v1-6-c5d36b31d=
66c@ford.com/
---
 xen/arch/x86/domain.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index a42fa54805..15c5e2a652 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -798,13 +798,12 @@ int arch_domain_create(struct domain *d,
     {
         if ( !opt_allow_unsafe )
         {
-            printk(XENLOG_G_ERR "Xen does not allow DomU creation on this =
CPU"
-                   " for security reasons.\n");
+            printk(XENLOG_G_ERR "%pd: Xen does not allow DomU creation on =
this CPU"
+                   " for security reasons.\n", d);
             return -EPERM;
         }
         printk(XENLOG_G_WARNING
-               "Dom%d may compromise security on this CPU.\n",
-               d->domain_id);
+               "%pd: domain may compromise security on this CPU.\n", d);
     }
=20
     emflags =3D config->arch.emulation_flags;
@@ -814,16 +813,19 @@ int arch_domain_create(struct domain *d,
=20
     if ( emflags & ~XEN_X86_EMU_ALL )
     {
-        printk(XENLOG_G_ERR "d%d: Invalid emulation bitmap: %#x\n",
-               d->domain_id, emflags);
+        printk(XENLOG_G_ERR "%pd: Invalid emulation bitmap: %#x\n",
+               d, emflags);
         return -EINVAL;
     }
=20
     if ( !emulation_flags_ok(d, emflags) )
     {
-        printk(XENLOG_G_ERR "d%d: Xen does not allow %s domain creation "
+        printk(XENLOG_G_ERR "%pd: Xen does not allow %s %sdomain creation =
"
                "with the current selection of emulators: %#x\n",
-               d->domain_id, is_hvm_domain(d) ? "HVM" : "PV", emflags);
+               d,
+               is_hvm_domain(d) ? "HVM" : "PV",
+               is_hardware_domain(d) ? "(hardware) " : "",
+               emflags);
         return -EOPNOTSUPP;
     }
     d->arch.emulation_flags =3D emflags;
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:43:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:43:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932995.1335036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMuu-0004W4-7k; Mon, 31 Mar 2025 21:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932995.1335036; Mon, 31 Mar 2025 21:43: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 1tzMuu-0004Vx-4S; Mon, 31 Mar 2025 21:43:36 +0000
Received: by outflank-mailman (input) for mailman id 932995;
 Mon, 31 Mar 2025 21:43: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMut-0004Vr-AC
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:43:35 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20614.outbound.protection.outlook.com
 [2a01:111:f403:2408::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3061ae6c-0e79-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 23:43:32 +0200 (CEST)
Received: from MW4PR04CA0245.namprd04.prod.outlook.com (2603:10b6:303:88::10)
 by MW4PR12MB7384.namprd12.prod.outlook.com (2603:10b6:303:22b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 21:43:26 +0000
Received: from SJ1PEPF00002316.namprd03.prod.outlook.com
 (2603:10b6:303:88:cafe::25) by MW4PR04CA0245.outlook.office365.com
 (2603:10b6:303:88::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.53 via Frontend Transport; Mon,
 31 Mar 2025 21:43:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF00002316.mail.protection.outlook.com (10.167.242.170) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:43:25 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 31 Mar
 2025 16:43:24 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:43:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3061ae6c-0e79-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=N0Sg45lmjSjETQVeM12CremgmW4CK0KgJZQAUzfNO6dYDr1D9ab6q2DYxduSxYDQDyFNQ7yCuhqY/vSz0X9L+BDGqGjK6QFcBq+OsdMsJu8dRFoFtDCDypYeFb0XAKLOPkLY2GIGAkvX2hl8g5agbxGhGZcNIoqEsHCW2L8pcHY4jReTHOk11epVUvy9s5loHdN/htGXGVySyijuenwQ+sH838YI/CtSYGkTgvD9FxOrCpQYRhAtMaqzQGCCC3zOVALfSqHOuRTpNiQAkcRjK4mdqLioYQM/rwa55BmQmXQ9PVUhH/VNg5xkrTFpqr7VdlkxVGUY2U4eqX0aZ1pLkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TJ7lXInbhKYWMPqWa9S25QekJEMpcqLlw5cD8U8hdXc=;
 b=zGIvyHB2T7Xco1tfcKwUPRV7HH6BeD3zqMn9onITKW99NVubX3mnS+ZXbRgwXoQNYjjcvOx7ExF17koabrPBoQ45WGqwe/7hOilKGCPy3nS3hu0wFmYcMynQ40S34yvxpMTLtaa83kxhCquQWdqi8be+Ctly+cbm4HJGXDKiqlLeyWa19AnBLr3HH5alikqbKnRs4MDC+mnJ3rA9udqsC9IlVipz1O2h9FW3U9tQuja6mlDpRJwllXP+VGMdAtes5cfeKaWWRZnMfMFlGiYPsipiXToyt1++kxglD+PniEp9xv6LFTx+qxaXrATd7NEuRXSqoB3oiDKurhmk7/HXwQ==
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=TJ7lXInbhKYWMPqWa9S25QekJEMpcqLlw5cD8U8hdXc=;
 b=bDp6BBulESAM4a+9Fqm0/QZTCTrS+bdoRLvZAFu37L5/ZAFIHS4k5DPgPcpHeFtLPiVGsu9Yl6EQggxNgvccnWtVT19H+gm+QYQvQhLsgwGwToR+5OlG6qYRXfQCjVL6FrhK+42+lQhxOvSDGEO+/WFoEsTyfWMTTzv5659uhd8=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH v2 0/6] ARM split hardware and control domains
Date: Mon, 31 Mar 2025 17:43:15 -0400
Message-ID: <20250331214321.205331-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SJ1PEPF00002316:EE_|MW4PR12MB7384:EE_
X-MS-Office365-Filtering-Correlation-Id: 3fb9e207-66e9-4892-780f-08dd709d112f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|34020700016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?8Z6u4VmowRLrNN0qZJTnAeA6GK9kS8TthNmPeYyQD9jV3P0rGq1Z+qukSovT?=
 =?us-ascii?Q?yFC1on+swHz8V7Aeg7JwEegtWC33jTHTixCtJgQ70rTDLPGxit97/TrrUTYB?=
 =?us-ascii?Q?LTNL4UUxdeCzRxeRamfVzBI+buTUimdzS9aUQDPQqM4QWALdWX6Yq2vagjsO?=
 =?us-ascii?Q?XOzZi354pRpOI1H7kRKgQU3545FVjRmz2/MgQOB5hCWiosEoFK9hPlQc+qwS?=
 =?us-ascii?Q?GLXN2wVxfWMflin2hKnmvk9Qt25+2QGD0jB9kb/g5QAd+tcjNwjNubwQ6jgs?=
 =?us-ascii?Q?x74etL/Z6x2Ci6F+q0QnErQY7KGUOblBCAdKfVaxmarBK/ldBEIBJ4ba3oT8?=
 =?us-ascii?Q?LpKzJ4NTxTJgbG5hYCW4/SlFUVTMJwHdgXZ/iOWxO+EVQc6cpfUOR1fKaJ+9?=
 =?us-ascii?Q?yHc9zqS5Ap+tTbz/NeG7f2zGktX1DLzh6sL5HwHdfNrErtCxAokdMe7YMNLO?=
 =?us-ascii?Q?96xx/6Vbn4jw4cXtDyABFvkUWyjSPQHF7FLK3WweWGoaVsCiRfjiLsV10d9E?=
 =?us-ascii?Q?SBAjsoyiL3AgOSqJSwrdXKE2hK+IBwevvDFH4WnWj2DHSmyT/OagRe16/SFj?=
 =?us-ascii?Q?6H6gvZjV/xFORsugrPHSNjSjeve0y+JgKbKPUQavsbAOy2y0K6RSP7o4TfDP?=
 =?us-ascii?Q?VWT51gzsPmOg6uX8IcLUy4zN8z9MTIwO2vEMB8ESiWZV4vdSPIzNuQPnyeyW?=
 =?us-ascii?Q?/910eks4JLYu3bZS0IkYOF1oalnCUcXFgkwF76IsuyeqDBIQapY9nWkM+Oe5?=
 =?us-ascii?Q?JXkL8107d3vwx93ozOVmyJqXX+B3Gle3Owz+FIo3+L/i5mF287J6imyZVl00?=
 =?us-ascii?Q?qp/fTlLWBum9aBZbDuw2MQLd78+HyLClUsTqwVBG5tZguEMDwm/3nwR9iUpa?=
 =?us-ascii?Q?sGtbqSk13/th6PEXF1+002E/wHY47KEJF3WjCzmssQRXBgMObLgPxyMmdc2h?=
 =?us-ascii?Q?Z+ylfSjVkWONj5hwzQm8ZtNQm4Gry0hVUpVNsisjC+PXAk4XRiJ5zFCFbYjr?=
 =?us-ascii?Q?cCSW8PPLKXHOzWoUUdVn5jNSXXCR6CFzSdNPXbCUIMewNrpdJGhR4AArOV6a?=
 =?us-ascii?Q?JZ1YbQiOFDOQSmdd/a5Tqi8PI5QhF0oHEF/CP1rPuwGnaFsF+MimseVpu2IE?=
 =?us-ascii?Q?YeaUtu7eF5SY5KJXJnHGYCP0sjNuBAKYOMW1A7M9VbE2sVMq65G2dAJO3QlF?=
 =?us-ascii?Q?Bc24Bf9LI4TS27awAvIn2Qs5ZLPzB5kUrZXcDzJUnBiLuJpudeLXxOHqQx0m?=
 =?us-ascii?Q?npwIw8d6hLJo8/e9muzSv6hFVyVi1cVDqsUcRiM78uwBLwZlEbflrVI/POHe?=
 =?us-ascii?Q?Ets+7rvvES1w/KrE+7BqJdwUJsCi6HYeuYjGgme6dINN6jS1283Zq1blDQmc?=
 =?us-ascii?Q?ANf2w0iMfdjHaV+6zrn4EkO+Ohnm1+amq4oiy05CxmxNwLc5v7tt35CPhjYa?=
 =?us-ascii?Q?zJGP4JTDgcr6Ty/mQ/iiiWbL21v41L6JLWMen3x9RnR2s8mmrwMRLLVPM1BT?=
 =?us-ascii?Q?u/KJodYeeAggLss=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(34020700016);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:43:25.5572
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3fb9e207-66e9-4892-780f-08dd709d112f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002316.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7384

This series implements separation of dom0 into separate hardware and
control domains.  It uses the capabilities idea from Hyperlaunch -
hardware, control, and xenstore.  It's been tested with  dom1 as
control, dom2 as a domU, and dom3 as hardware and xenstore.

To keep things more managable, this v2 is only the ARM hypervisor changes,
and one associated init-dom0less change.  The series is slightly
re-ordered to move xenstore changes ahead of adding the capabilities.

Setting hardware domain as domid 0 is removed.

I've been unable to run a combined control/xenstore.  Linux console
output stops shortly after the domain determines it should be XS_LOCAL.
I have not investigated further.

Daniel P. Smith (1):
  xen: introduce hardware domain create flag

Jason Andryuk (5):
  xen/arm: dom0less hwdom construction
  xen/arm: dom0less delay xenstore initialization
  xen/arm: dom0less seed xenstore grant table entry
  tools/init-dom0less: Only seed legacy xenstore grants
  xen/arm: Add capabilities to dom0less

 docs/misc/arm/device-tree/booting.txt     |  11 ++
 tools/helpers/init-dom0less.c             |  10 +-
 xen/arch/arm/dom0less-build.c             | 167 ++++++++++++++++------
 xen/arch/arm/domain.c                     |   3 +-
 xen/arch/arm/domain_build.c               |  14 +-
 xen/arch/arm/include/asm/dom0less-build.h |   2 +
 xen/arch/arm/include/asm/domain_build.h   |   3 +-
 xen/arch/x86/setup.c                      |   3 +-
 xen/common/domain.c                       |   6 +-
 xen/common/grant_table.c                  |  15 ++
 xen/include/public/bootfdt.h              |  31 ++++
 xen/include/xen/domain.h                  |   2 +
 xen/include/xen/grant_table.h             |   9 ++
 13 files changed, 221 insertions(+), 55 deletions(-)
 create mode 100644 xen/include/public/bootfdt.h

-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:43:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:43:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932996.1335046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMuv-0004k0-FB; Mon, 31 Mar 2025 21:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932996.1335046; Mon, 31 Mar 2025 21: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 1tzMuv-0004js-Bt; Mon, 31 Mar 2025 21:43:37 +0000
Received: by outflank-mailman (input) for mailman id 932996;
 Mon, 31 Mar 2025 21:43: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMuu-0004aC-PV
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:43:36 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060c.outbound.protection.outlook.com
 [2a01:111:f403:2009::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31c8e539-0e79-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 23:43:34 +0200 (CEST)
Received: from SJ0PR13CA0043.namprd13.prod.outlook.com (2603:10b6:a03:2c2::18)
 by DS0PR12MB6608.namprd12.prod.outlook.com (2603:10b6:8:d0::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 21:43:29 +0000
Received: from SJ1PEPF00002314.namprd03.prod.outlook.com
 (2603:10b6:a03:2c2:cafe::a7) by SJ0PR13CA0043.outlook.office365.com
 (2603:10b6:a03:2c2::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.20 via Frontend Transport; Mon,
 31 Mar 2025 21:43:29 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:43:28 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 31 Mar
 2025 16:43:27 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:43:26 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31c8e539-0e79-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nqq1WQU3eeueK8dcfyvh31KoJB/KwqrRA8bNDZJDYGnbFS0+cOsS6qm4eZUqJpXyIOtLu++HNeX3fG7+bXIEky7ITBs0mM+MsC2TQlQD9teI47AtxZ0QRqsAOJRBrO/jLLUIdYePTBK4mS4IOMB6kxqp8iFh+HhzeCp+lMoZ6qkm+3KjKnh/ybdaqWMZS1/8+UwSo7uSkDn9A81YmRCsuJ8GznL3BFasZgE16YE/vr4P9BZcTnqnJ4yd2CfK05/Luwpd70h4H4SXT5MDKwOMkqhhj4066kFEwdmrGTqzRXUUhKq0eLd5Wzz5+qLHNiT/mYdH6rGaUUGdQw1gNT27Dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q0hX3MCb+pXj1x8o06lhrPKBbpxKlpmGAl267NUETHw=;
 b=QZkLbHDZroI64xHcr+LEXSCGUeM0zv5FmQRu/31riRTi/HJMA0Rh9N/jbSQ3W9sIDHKmKUHZzKq8gBnmzLyCU/O7YmeaspMz7x4Ba+zQX8Wywl+4p/9L5Hq7e1sBegCFk+CAWOLQsaDgPWaUAmMTKTtZYT6lQXKgpVaTECDkVqRVUazw29IxTSrI3DPSgAa2DMwOpocmiXqoYcfPxGl+Dzi6BdbVr7+2o3FMqo3OtUv51NWIlSasNOmd+8u4qumsVvhsnc7jt3d/kBENlK7PfJbn+eEH0DsV5AvOYZFatdGo2DiUR+IpqkRssnUaEWkjzDnNU50XnnJCIlLBLoReKA==
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=Q0hX3MCb+pXj1x8o06lhrPKBbpxKlpmGAl267NUETHw=;
 b=sxyzwyrZfoh03drI/ibdRS5Ozpb6mw0w+FA8TiE+iU00YaQSTg1DGV7WqLFXWBtq0PdCqocxLSXMAHe0GxzHZhgOpupOZeg0kznLvZAfNftATi8qNVVVKBRcdYiydF9mvlRovtUltEVTWFujRdYQFSrp/liDv3erecB8nLDrSrY=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.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>, Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2 1/6] xen: introduce hardware domain create flag
Date: Mon, 31 Mar 2025 17:43:16 -0400
Message-ID: <20250331214321.205331-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331214321.205331-1-jason.andryuk@amd.com>
References: <20250331214321.205331-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SJ1PEPF00002314:EE_|DS0PR12MB6608:EE_
X-MS-Office365-Filtering-Correlation-Id: 02aeb4d3-79d5-41b0-d0bd-08dd709d12eb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|34020700016|36860700013|7416014|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?hvZECFTcQVbns7mR5kGAgcKD1Pd/HNuUci6HIF18OJn20OokqNjMkioEkQrw?=
 =?us-ascii?Q?RWVvGF3fbcr7wdtsgjaWoqmU7qRyG8re6niitceYy4QQsASlnexURItFVnfo?=
 =?us-ascii?Q?Kv5mVu37srDEx+shE6siCjSDOtUB9Ko+NhpmydSCBfIotEMitqqtfbH6ytiz?=
 =?us-ascii?Q?2Dm416SCdTYlH5LhpXwxwHGVBmQsMcdk/0tS2XsjVEstmk8jfWkarA7Zy+d/?=
 =?us-ascii?Q?s5TqRoosuKqURZWc366+DwL0pMkJBMmCFWHXkdhdaoKquCe2NvrocGrlzyv8?=
 =?us-ascii?Q?X43LfIbSA5mVIjsenb2p69a8UMaJg96ZecRYkN6RPCoUMPEuRt1CPjTFY3vn?=
 =?us-ascii?Q?8U3Q6tjbzq2uNIniX/GGrvnCcwUCgOLq1pD2lVIQDhCo/dL6pzm8LYQnnj1b?=
 =?us-ascii?Q?Qg5ifw3YES7Cj+qBu5xQJxhvUG7mqTvgZjoSJU7088aP0NfSisMxZ5mdqGmu?=
 =?us-ascii?Q?sRopcrIhlC6AcjWPjC4pb7njtKSlQ61xuYWm0S4/qSCJY+nWmIy9Hiq1WPVR?=
 =?us-ascii?Q?XBfDbTXEJjdegrT93+LCeN1FmelVDvxghVn6wyHWX+6jVxlHxor8pivYgdpA?=
 =?us-ascii?Q?Xo0thh0bUXvnpsbNS02rI/ooX68dpTQsKxsIXW8PEVqB2c/AUci8tcFkhPOM?=
 =?us-ascii?Q?I1cdxUaPmnzOhqco74czQD7cPtDBbUH1giEhOy4WHHy8SiJLjCeTtqs+CXrd?=
 =?us-ascii?Q?XWvzSUJW5X5BbP1mhoKdBGCQ8dmoHfIcIJjzRM35/1Yvm9Pz/FDZewCZF8lo?=
 =?us-ascii?Q?zY00KG6l+eQGn/POSHN6/uhbanfdIAzEpZJIJvAK/jWxsvpiQppcq+7fc1d7?=
 =?us-ascii?Q?3mKNgUDK3kx9uVBeZ4GW09qTQ7gktC9EYQw+aMtVZAZepW0ZvLnQvU61iel3?=
 =?us-ascii?Q?7tsNRjg8VGjQFNuWw9TTdvhXfDFc7uNjs6GCAWpicnjssrBZYcyrnGNHrPXN?=
 =?us-ascii?Q?aGJwWaYIGbJSCehEmwTA76V95Bv17Jn+VxfoCs39wNYFb5ULUyjfBDUtXUo7?=
 =?us-ascii?Q?cAlOmMuqDeQbzT0+sSMdRN6YhkEo02mUmDys6SJE0TV820+gyNz3yq1R+EeQ?=
 =?us-ascii?Q?SJyne3hBZ+YBFcfaMo4XJ0fp+ylirOcwMMiU4cI0RlSsASBsOBIGCeWOYr0k?=
 =?us-ascii?Q?YKnBXeLotXTtiFvfImKdlwjTjM7gmsOcp9Vp8G4aWnlJRH5tkKoyiShWkNyw?=
 =?us-ascii?Q?RRzWIzOebBvmLjD+r8/YZOJZEUG4Q0S2uLcaaclCNRluBMAWzIlrwjok0QXV?=
 =?us-ascii?Q?PwRGbcUckY2w5sg9ryghLzGpDvqzKNN+hmYhfEOutK4Au8PmGQw0P4EpqraH?=
 =?us-ascii?Q?1fhUUm5Cu4Al4jKO1dQDE47nK9rgRhJcGzGIrs0zpU99+Hdcb2MjZyW9wVyz?=
 =?us-ascii?Q?yXC59RawDoryKj/dRqp0GFHN7DwqE/KID29jGdUpHcSf7WTUbeEsC/jpUOMc?=
 =?us-ascii?Q?mP/zJZeHPTLfBwZIEOlse6xI6Fl+NmnR/8G1HHR+KwSqcEXE8vVf9Q=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(34020700016)(36860700013)(7416014)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:43:28.4536
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 02aeb4d3-79d5-41b0-d0bd-08dd709d12eb
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=[SATLEXMB04.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: DS0PR12MB6608

From: "Daniel P. Smith" <dpsmith@apertussolutions.com>

Add and use a new internal create domain flag to specify the hardware
domain.  This removes the hardcoding of domid 0 as the hardware domain.

This allows more flexibility with domain creation.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
() around binary &
Only allow late_hwdom for dom0
---
 xen/arch/arm/domain_build.c | 2 +-
 xen/arch/x86/setup.c        | 3 ++-
 xen/common/domain.c         | 6 +++++-
 xen/include/xen/domain.h    | 2 ++
 4 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2b5b433183..051c48329a 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2366,7 +2366,7 @@ void __init create_dom0(void)
         .max_maptrack_frames = -1,
         .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
     };
-    unsigned int flags = CDF_privileged;
+    unsigned int flags = CDF_privileged | CDF_hardware;
     int rc;
 
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index d70abb7e0c..67d399c469 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1018,7 +1018,8 @@ static struct domain *__init create_dom0(struct boot_info *bi)
 
     /* Create initial domain.  Not d0 for pvshim. */
     domid = get_initial_domain_id();
-    d = domain_create(domid, &dom0_cfg, pv_shim ? 0 : CDF_privileged);
+    d = domain_create(domid, &dom0_cfg,
+                      pv_shim ? 0 : CDF_privileged | CDF_hardware);
     if ( IS_ERR(d) )
         panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 585fd726a9..b3eb589872 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -820,11 +820,15 @@ struct domain *domain_create(domid_t domid,
     d->is_privileged = flags & CDF_privileged;
 
     /* Sort out our idea of is_hardware_domain(). */
-    if ( domid == 0 || domid == hardware_domid )
+    if ( (flags & CDF_hardware) || domid == hardware_domid )
     {
         if ( hardware_domid < 0 || hardware_domid >= DOMID_FIRST_RESERVED )
             panic("The value of hardware_dom must be a valid domain ID\n");
 
+        /* late_hwdom is only allowed for dom0. */
+        if ( hardware_domain && hardware_domain->domain_id )
+            return ERR_PTR(-EINVAL);
+
         old_hwdom = hardware_domain;
         hardware_domain = d;
     }
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 83069de501..9be18d16b9 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -52,6 +52,8 @@ domid_t get_initial_domain_id(void);
 #else
 #define CDF_staticmem            0
 #endif
+/* This is the hardware domain.  Only 1 allowed. */
+#define CDF_hardware             (1U << 3)
 
 #define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
 #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:43:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:43:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932997.1335056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMuw-0004zG-RS; Mon, 31 Mar 2025 21:43:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932997.1335056; Mon, 31 Mar 2025 21:43: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 1tzMuw-0004z3-OF; Mon, 31 Mar 2025 21:43:38 +0000
Received: by outflank-mailman (input) for mailman id 932997;
 Mon, 31 Mar 2025 21:43: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMuv-0004Vr-CD
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:43:37 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20616.outbound.protection.outlook.com
 [2a01:111:f403:2009::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3255c74c-0e79-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 23:43:35 +0200 (CEST)
Received: from SJ0PR13CA0045.namprd13.prod.outlook.com (2603:10b6:a03:2c2::20)
 by CH3PR12MB7618.namprd12.prod.outlook.com (2603:10b6:610:14c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.47; Mon, 31 Mar
 2025 21:43:30 +0000
Received: from SJ1PEPF00002314.namprd03.prod.outlook.com
 (2603:10b6:a03:2c2:cafe::b9) by SJ0PR13CA0045.outlook.office365.com
 (2603:10b6:a03:2c2::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.20 via Frontend Transport; Mon,
 31 Mar 2025 21:43:30 +0000
Received: from SATLEXMB04.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_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:43:30 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 31 Mar
 2025 16:43:29 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:43:28 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3255c74c-0e79-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OQk1v3sz2qJeiZigHQudTSnn6T6p3Edp2cYSHA+hO9jnlzuOQKrsRNS3pkWUCFNZsVxV+8DKJJ8PD5NXQlBWMMnO8DoUa4YsOnNMGXE85MXGHAgF4XGvgXPCYMk096nTiDizZHuYwEf4ibbQE7uMIGTQOniAcMJ24CmKoiHhdekhXnguFDmixh03CGaTe9E22+SwskSbQJULRK9bLR2X8tjWF8wPLdbEiJ1BTxTYcTwP1Waysd7MDJgUfXPQJzVerf431K0HAaSfES0fFcK/K1oOxCfE6AeDGctYUBDH0+dwa2cuLjQ4qbVH/wlGR9AMmXqRf0pDh4nTMESWkogWUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4vl8Wpz8L2rcI/9x1YYhQCkm3Y97kmSSKSN0YHgP/Xg=;
 b=qyXHnB7Es85tEHpUKRahEpa7RM7Y/WCtX/7nVwKoILTmQ1/bQTVyzo+z1P7FIIStAdBa3mBhIzRAQi4QVwbI14cNvzDl2uCwbgj1TDZXKwvRvJ8zElusV5YXuyORppRJBlJvd5PeFUgH/t3Wdw3wpFI7bNMIFQ67I12PelXywj+0Xb2u3ZzlZCp8Dth9cGRqDS5Z+IIOSnO3HdpcHjWiBtFiQwcA7JyRio23nmZcCUZTClajZz9ZQhTPIYWbVPJDcvOx1KMrdwjbvO4JsoRhjymu028thxaRYmcqARaYPzVB4evcrFFUGlhhu2Np7E0ThtFJTCybk2/7WqlujdGYvQ==
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=4vl8Wpz8L2rcI/9x1YYhQCkm3Y97kmSSKSN0YHgP/Xg=;
 b=3/9h10hMms6wBPtd+Tq4N0ihvbygJe6PikXmCTT35HpkoFAT9YaJtKy3Nm1kOLEVnCIoRl6YDVQzzQ1U+7/2PzmMWkTuL2zehLZHiVYa6ORGTOgapW1R1GrZXtxlVaxXtr5YLpIt19AqaU+nDWP0su7jS3EBbWGDm99mssYTaZ0=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH v2 2/6] xen/arm: dom0less hwdom construction
Date: Mon, 31 Mar 2025 17:43:17 -0400
Message-ID: <20250331214321.205331-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331214321.205331-1-jason.andryuk@amd.com>
References: <20250331214321.205331-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SJ1PEPF00002314:EE_|CH3PR12MB7618:EE_
X-MS-Office365-Filtering-Correlation-Id: e227e2b6-b178-452f-8ae4-08dd709d13e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|34020700016|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?IXbUr6XG58lRFs1ssTvJ9gu3U6jGdNCnbryQKQORAVJ1A5y3fx9cefcnz0vc?=
 =?us-ascii?Q?/nk2Szdmu3AWORSxNSUxnxN44/cNNMPKTbJeodlIkGCUzG4FkCcM8bCvKHxK?=
 =?us-ascii?Q?36maOm8ozG0SMFkIQFZVALQq4f8zBHVwRSGSVUlMeUbTVrWke/S/NSnntiTL?=
 =?us-ascii?Q?TCy4IdKUtuB+NJCXLttzWooQs+CPHXJ+TYDyCqCS7nNSNeD4s9IkczcWPPQ/?=
 =?us-ascii?Q?SpVRCeaO5C5HwkrCft5SJ7/CDh15DIZIleiSf+cPCG3xkJTOyEEQPla2ltVK?=
 =?us-ascii?Q?/4r7THubSpmaFXmVru8XDbHKyfUEEPfq8syID0yeZPqo4FSqQ0S1Yxx0eMEp?=
 =?us-ascii?Q?vGGr05juqApYa24rDvWu/SsyZtpBrcq3M8RS2C6qUXyd2Tzjrio9DJy0iJpk?=
 =?us-ascii?Q?hyNMa2tb+ufIW3UR4enWaI+ySae03FiuBOI58zfl0cvjUK2+AkCpKbRCgSgq?=
 =?us-ascii?Q?ZpTs0aR9IZDeo0ZFrXsPXrsLFn3q9D+1lOfPaoLSgAfRX/6vVVXQAIW6X9JA?=
 =?us-ascii?Q?Rr7zasXVnbHoAyfXaS2PyInVn3RLuHvQlfyxMx2Zk4x3e0BYytkezEQpEmMr?=
 =?us-ascii?Q?2kIvOpNKN1rCbWleaUQneuC5uirsYT81LG8ebYFgsHKFcrFVToSKF0PZsA6S?=
 =?us-ascii?Q?fdzCw6+3inTuW8VGJ+ZZijK5rdLQY4jPLmpEEFkz5mXQZ8MrrMbFJDZgKG6H?=
 =?us-ascii?Q?yimocVIxTFCUTL+9JWSeK9qbvkBjXAgm6fUVG1gy3CdaCPsfikb+vvxp3ejJ?=
 =?us-ascii?Q?MO2FO/KK7DlIDemn/pvWgAcgQPesRJybr+ntGrV4e0pMLGZOzmBWHRD6Q1ew?=
 =?us-ascii?Q?u2R7rEjMg0CzHfjcnwHfFaesLbNYOppi6d51OV+MM79ES7MePN0lD/w9Ccpd?=
 =?us-ascii?Q?cGDKQJqjkudZbicbh+SsEteGSshhiGp2DFYSy5yz1ywUtBWsZ7yPrL6N2L9j?=
 =?us-ascii?Q?sgsH6+Sg7ozPZ1xFSRhqPtu3+eBsgbGB/csttN0ogQBW8ti9AR2zp8Kzd3IT?=
 =?us-ascii?Q?x5nhneeZ1m53PSWrnw9k8NEpfsZPJhbxyaWrsxPzmlF4BzMnucdziSSmyI3/?=
 =?us-ascii?Q?fLkAlfvyDWMwzzl2ZYs5XPvheuRmZXEz3gfCdMWJhX6Bk6SI0CuPPBTOWDkd?=
 =?us-ascii?Q?Gcj3XUaBCSklNcIBLyJa9OyCAMGZmrMO2tV6Q4zRIiBSN0rzC+/Y0iWBAudc?=
 =?us-ascii?Q?z476iGUhOYvCo5rZ4uqI5Jw7GQhsskL3H3pzcWVFV41PiYwhGvvwdE6dW47c?=
 =?us-ascii?Q?y1nXlzPeqEzQR1vNoBlmykZuURdxpNP24bsk5pHKkWA6CKuW0pFU17H1PDq/?=
 =?us-ascii?Q?pxIabmuUOnrEKB704VL1gkgAwdCXWv2ckKdczsZg4VhYXO+iM4KPgzgX8GPE?=
 =?us-ascii?Q?LC7UsxKbvvHaxya2lctLF465oHjTns+mze8hGCcPDSFWObXIy1fyG+9mOuuk?=
 =?us-ascii?Q?6bEGRm4S6XXN5dEmlutzRkk4rvYoW2++n3Vbu2bqVbrho2sV6Ub2PSedG3EN?=
 =?us-ascii?Q?RnPhKixQ50kC59c11wjoip5EuJPLju7FQPXM?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(34020700016)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:43:30.1099
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e227e2b6-b178-452f-8ae4-08dd709d13e8
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=[SATLEXMB04.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: CH3PR12MB7618

When creating a hardware domain, have the dom0less code call
construct_hwdom() which is shared with the dom0 code.  The hardware
domain requires building that best matches the dom0 build path.  Re-use
it to keep them in sync.

The device tree node of the dom0less config is now passed into
construct_hwdom().  dom0 uses /chosen for process_shm while a hwdom will
use the value from its dom0less device tree node.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/dom0less-build.c           | 57 ++++++++++++++-----------
 xen/arch/arm/domain_build.c             | 10 +++--
 xen/arch/arm/include/asm/domain_build.h |  3 +-
 3 files changed, 42 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 573b0d25ae..e25d7bd468 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -911,36 +911,45 @@ static int __init construct_domU(struct domain *d,
     /* type must be set before allocate memory */
     d->arch.type = kinfo.type;
 #endif
-    if ( !dt_find_property(node, "xen,static-mem", NULL) )
-        allocate_memory(d, &kinfo);
-    else if ( !is_domain_direct_mapped(d) )
-        allocate_static_memory(d, &kinfo, node);
-    else
-        assign_static_memory_11(d, &kinfo, node);
-
-    rc = process_shm(d, &kinfo, node);
-    if ( rc < 0 )
-        return rc;
-
-    /*
-     * Base address and irq number are needed when creating vpl011 device
-     * tree node in prepare_dtb_domU, so initialization on related variables
-     * shall be done first.
-     */
-    if ( kinfo.vpl011 )
+    if ( is_hardware_domain(d) )
     {
-        rc = domain_vpl011_init(d, NULL);
+        rc = construct_hwdom(&kinfo, node);
         if ( rc < 0 )
             return rc;
     }
+    else
+    {
+        if ( !dt_find_property(node, "xen,static-mem", NULL) )
+            allocate_memory(d, &kinfo);
+        else if ( !is_domain_direct_mapped(d) )
+            allocate_static_memory(d, &kinfo, node);
+        else
+            assign_static_memory_11(d, &kinfo, node);
 
-    rc = prepare_dtb_domU(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
+        rc = process_shm(d, &kinfo, node);
+        if ( rc < 0 )
+            return rc;
 
-    rc = construct_domain(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
+        /*
+         * Base address and irq number are needed when creating vpl011 device
+         * tree node in prepare_dtb_domU, so initialization on related variables
+         * shall be done first.
+         */
+        if ( kinfo.vpl011 )
+        {
+            rc = domain_vpl011_init(d, NULL);
+            if ( rc < 0 )
+                return rc;
+        }
+
+        rc = prepare_dtb_domU(d, &kinfo);
+        if ( rc < 0 )
+            return rc;
+
+        rc = construct_domain(d, &kinfo);
+        if ( rc < 0 )
+            return rc;
+    }
 
     domain_vcpu_affinity(d, node);
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 051c48329a..b3a396c2fc 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2305,10 +2305,11 @@ static int __init construct_dom0(struct domain *d)
     if ( rc < 0 )
         return rc;
 
-    return construct_hwdom(&kinfo);
+    return construct_hwdom(&kinfo, NULL);
 }
 
-int __init construct_hwdom(struct kernel_info *kinfo)
+int __init construct_hwdom(struct kernel_info *kinfo,
+                           const struct dt_device_node *node)
 {
     struct domain *d = kinfo->d;
     int rc;
@@ -2325,7 +2326,10 @@ int __init construct_hwdom(struct kernel_info *kinfo)
     else
         allocate_memory(d, kinfo);
 
-    rc = process_shm_chosen(d, kinfo);
+    if ( node )
+        rc = process_shm(d, kinfo, node);
+    else
+        rc = process_shm_chosen(d, kinfo);
     if ( rc < 0 )
         return rc;
 
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 134290853c..17619c875d 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -13,7 +13,8 @@ bool allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn,
                           paddr_t tot_size);
 void allocate_memory(struct domain *d, struct kernel_info *kinfo);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
-int construct_hwdom(struct kernel_info *kinfo);
+int construct_hwdom(struct kernel_info *kinfo,
+                    const struct dt_device_node *node);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:43:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.932999.1335066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMv1-0005I4-1X; Mon, 31 Mar 2025 21:43:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 932999.1335066; Mon, 31 Mar 2025 21:43: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 1tzMv0-0005Hv-Ur; Mon, 31 Mar 2025 21:43:42 +0000
Received: by outflank-mailman (input) for mailman id 932999;
 Mon, 31 Mar 2025 21:43: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMuz-0004Vr-3d
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:43:41 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20603.outbound.protection.outlook.com
 [2a01:111:f403:2415::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3444c228-0e79-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 23:43:39 +0200 (CEST)
Received: from BLAPR03CA0008.namprd03.prod.outlook.com (2603:10b6:208:32b::13)
 by PH0PR12MB8051.namprd12.prod.outlook.com (2603:10b6:510:26d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 21:43:33 +0000
Received: from BL6PEPF00022573.namprd02.prod.outlook.com
 (2603:10b6:208:32b:cafe::bc) by BLAPR03CA0008.outlook.office365.com
 (2603:10b6:208:32b::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.54 via Frontend Transport; Mon,
 31 Mar 2025 21:43:32 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF00022573.mail.protection.outlook.com (10.167.249.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:43:32 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 31 Mar
 2025 16:43:31 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 31 Mar
 2025 16:43:31 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:43:30 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3444c228-0e79-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Hqo1KS5nxhXXEPUvAE8o6FqElcZMM72DHlRXlYJlaQHRhfMjCpiUSOk2tO1QCZD+ZgONr6kDYysL9WDStrhhbHQu5tR9SZMgbnP1GrKbCdC7OYz54qTs/EDShVae7G9dwcaNR5UuouNCBg8+/tezNjb5cRpm/86aqeAJ3RPmQMngFOnrvX1BvBC2Vjne3/zXG2dSkKtEw2fBfA8dcfNhT3Tax0sGfJ4tJW1o4qzZlLrmSmd/I+1wVNu5sWucVBPYGtEM0IG24Tf9s/WMSEgK9UEgo75KqXKyy9Za2OPpwfclxqkRF55eNTCjHg8w52H6DQTeFSo6zSMj3kTmO5frJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=obPuKkWxG0z+mEVF9qf+2e+HKAoV+mglU8Qp/Nk6GDI=;
 b=P4f7Ty00OWA/alaYaSpIYmqZZqVV/ZB8xdl8O4+7lWQymYKwFmdV/jrveO57IOSqqz2ohUI6S+IFIBLjZ9NeVVNeotoLE+Mz/EJ0VqFvKfcxQ8WJHYP93hnxASfL2jau5Dcobmf37IlKBNpy9sRH+iT99yPftM727ygE7OHgeBogI7VuzSabDLJ+pSU1FPbbSqSD0Cfjc4S8sIgEvZKtzheOxyQwqHG8LeHRycCZVDAj6NcCmqJ+jnhteoMusOyhawXdcKmh5ibYJTguBaGgsFul2RR7glaMYeftJRX37nu8ZZZBHmKxZDa0TKi/gnEEShnqxwPAqwNTRzyqHAX5JQ==
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=obPuKkWxG0z+mEVF9qf+2e+HKAoV+mglU8Qp/Nk6GDI=;
 b=hLt1WjO2+VpqZTbzzffcgxtzhjGxeJ3ZZ/3c0JA1kIlTKhhCmW/WHuY2yGm8nDyiw6GwjiNuvzJPEjtzgE8MrDMVnGpbr+TXtlfEWW6/c+ob6L3mwWwXUtyZb6i7MHjv87rGr5CKVtiw0UwM/lofRf5L/8oTu1iSTyx051YiR+o=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH v2 3/6] xen/arm: dom0less delay xenstore initialization
Date: Mon, 31 Mar 2025 17:43:18 -0400
Message-ID: <20250331214321.205331-4-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331214321.205331-1-jason.andryuk@amd.com>
References: <20250331214321.205331-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: BL6PEPF00022573:EE_|PH0PR12MB8051:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f280073-b276-4295-8b26-08dd709d1508
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|34020700016|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?KHQdASEBlfybq4TDO0Ghhrx1EijTSmnkl3QjnEVkEhxXepQqvU5GGv3NLn69?=
 =?us-ascii?Q?fwp6mLgM62KIDdw5tV7uP3k8LhfuggBnlkPEAVH7aIZtov4eTFuio1atFe3l?=
 =?us-ascii?Q?BPZIznNpH8jpwv2SBqXPTkoHrUDmARGdzVVHCXg+QKhBkSwG3tdbRDO5LKXx?=
 =?us-ascii?Q?t+Sm0xn3SYBZSjdWSsKk5A3EdQNe3jVrFEgCuNDPf5VJnD4WinUJN5kh2g0A?=
 =?us-ascii?Q?0CZV4Aj5bO4f7HMsc2hunrraiBsUdaWUgErep/t33v3OxmzdOuj+xmmjiOOG?=
 =?us-ascii?Q?YhZ4pEX8LC3T8GXJvfa1q0mRdgxAw0TCwl52lq82IMxnhav1FcFX4CelSsdp?=
 =?us-ascii?Q?DTqzLkro4y2GfQKqV//FiCjyLBIldEbS0X/azbE06f/cy9cMXi7cIuvuU452?=
 =?us-ascii?Q?QuAzqV3Z1mXVBsDWZ2EobWyy15GfYWckoYHPm6X/5J7QXztb734wFJF/S9Bz?=
 =?us-ascii?Q?2ex1A5pxQYYSlvHstZyYtQq0C6Nmw7mb0QXXiKbO1xutHbjmermsDbPR5dsX?=
 =?us-ascii?Q?/QORwyf+dufAAKzJw6OLhHLiP8bdiKa3B4yHPeLifn2PAVgB/cGuz2nvEbKt?=
 =?us-ascii?Q?M1PpUuQms5uccsVcrKu1oWFLw11T00EVQZKT6Pgc2i5NY71uMeaQkLqEQDxe?=
 =?us-ascii?Q?lRfDbFJC0aM9kzgPDM6xC7RV0uEZdVM7nB/NYMSfIYuPWBFNxn7BJlYS8zhp?=
 =?us-ascii?Q?sFCDG0MTJz6vG0VV3uD99UfHL4eLjB5ouBOZPsjzKM5ZQK8TK3wSryI8wpuc?=
 =?us-ascii?Q?nPxS3W1/lVKKSZ13xZSQj6iJrfZs+If5sEg1SRJA3LtUM+77kPaBQdc614ob?=
 =?us-ascii?Q?154pAyZO/7aU6sqhfuvFVgD/iycOxga3rhK7wjobqo6vDVgzN0O2O50NwnuB?=
 =?us-ascii?Q?BM4MUJTVFIuWwDLm27+zq71Vj18+1DP3Iaek03jng1UozUlWv6z8oXZRacbZ?=
 =?us-ascii?Q?vxuc0mCGrZsCvYSw9emDmu0idBqdOS+aO30KGNWYfEQoY9/XkWOJ1nW+Gq2B?=
 =?us-ascii?Q?C8+dKreM80MU4xKCJC3z4ZKjBdg0mKu7bncREyiaYB8Nf2pjd9RZloITIvwx?=
 =?us-ascii?Q?mKpY6qWaSoE345AUDEFjl9Sq97rmrV7pCNpE8YG1MTpt4j+r58uk5k+aNiAI?=
 =?us-ascii?Q?jCjV49MIbDTKef0XffZWIKtQKU9vy/SUGJIiwaNZh3hm0qGosJ58YG4tETpG?=
 =?us-ascii?Q?sQNNwxyFWWCyYI9oJs06uOHGUW/IyxVqDswqQ+3eouSkg2P1Zs7DIbrciarP?=
 =?us-ascii?Q?UmzMtyims9uNxdQhxb1X4tl/CpFO7KO1/OIKZUh88aAJNH5jb6Fh3a/67Dob?=
 =?us-ascii?Q?K1ZFtnzqc+U2fkFyr1s/yuIoQg1IUBPUCT3x1sKqFOq+AcILZUcx5KDVx7Aa?=
 =?us-ascii?Q?GqUpaRh3Kk4sQ3WIR8oH3kFa4UBh6JsHXV9I6yB7cHQUy7zClItDRB5S6pYL?=
 =?us-ascii?Q?A/fb/LikTK7lt84g0e3fQVNgI/vHPjLqw5JhdesZ5xeKb6DHwzFJQgNbyp6H?=
 =?us-ascii?Q?5T283vbTjxLv9j4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(34020700016)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:43:32.1067
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f280073-b276-4295-8b26-08dd709d1508
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022573.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8051

To allocate the xenstore event channel and initialize the grant table
entry, the xenstore domid is neeed.  A dom0 is created before the domUs,
so it is normally available through hardware_domain.  With capabilities
and dom0less, the xenstore domain may not be created first.

Keep the population of the page and HVM_PARAM_STORE_PFN in the normal
domain construction, but delay event channel creation and grant seeding
to after all domUs are created.  HVM_PARAM_STORE_PFN now serves as
indication to setup xenstore since the device tree is no longer
immediately available.  0 means no xenstore.  ~0ULL means legacy so only
the event channel needs setup, and any other value means to seed the
page.

dom0 needs to set xs_domid when it is serving as the xenstore domain.

The domain running xenstored needs to be the handler for VIRQ_DOM_EXC,
so set that as well - it otherwise defaults to hardware domain.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Re-order ahead of seeding.
Fix created type in commit message
Change set_xs_domid to set_xs_domain
Set xenstore domain as VIRQ_DOM_EXC handler

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/arm/dom0less-build.c             | 67 +++++++++++++++++------
 xen/arch/arm/domain_build.c               |  2 +
 xen/arch/arm/include/asm/dom0less-build.h |  2 +
 3 files changed, 53 insertions(+), 18 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index e25d7bd468..a46f292c1f 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -20,6 +20,15 @@
 #include <asm/static-memory.h>
 #include <asm/static-shmem.h>
 
+static domid_t __initdata xs_domid = DOMID_INVALID;
+static bool __initdata need_xenstore;
+
+void __init set_xs_domain(struct domain *d)
+{
+    xs_domid = d->domain_id;
+    set_global_virq_handler(d, VIRQ_DOM_EXC);
+}
+
 bool __init is_dom0less_mode(void)
 {
     struct bootmodules *mods = &bootinfo.modules;
@@ -694,7 +703,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
     int rc;
 
     alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
+    alloc.remote_dom = xs_domid;
     rc = evtchn_alloc_unbound(&alloc, 0);
     if ( rc )
     {
@@ -760,16 +769,10 @@ static int __init alloc_xenstore_params(struct kernel_info *kinfo)
     struct domain *d = kinfo->d;
     int rc = 0;
 
-    if ( kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);
-        if ( rc < 0 )
-            return rc;
+    if ( (kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY))
+                                 == (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
         d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
-    }
-
-    if ( kinfo->dom0less_feature & DOM0LESS_XENSTORE )
+    else if ( kinfo->dom0less_feature & DOM0LESS_XENSTORE )
     {
         rc = alloc_xenstore_page(d);
         if ( rc < 0 )
@@ -841,6 +844,30 @@ static void __init domain_vcpu_affinity(struct domain *d,
     }
 }
 
+static void __init initialize_domU_xenstore(void)
+{
+    struct domain *d;
+
+    if ( xs_domid == DOMID_INVALID )
+        return;
+
+    for_each_domain( d )
+    {
+        unsigned long gfn = d->arch.hvm.params[HVM_PARAM_STORE_PFN];
+        int rc;
+
+        if ( gfn == 0 )
+            continue;
+
+        if ( is_xenstore_domain(d) )
+            continue;
+
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            panic("%pd: Failed to allocate xenstore_evtchn\n", d);
+    }
+}
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -881,17 +908,13 @@ static int __init construct_domU(struct domain *d,
          rc == -ENODATA ||
          (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
     {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
+        need_xenstore = true;
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED;
     }
     else if ( rc == 0 && !strcmp(dom0less_enhanced, "legacy") )
     {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED_LEGACY;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
+        need_xenstore = true;
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED_LEGACY;
     }
     else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
         kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
@@ -1138,7 +1161,15 @@ void __init create_domUs(void)
         if ( rc )
             panic("Could not set up domain %s (rc = %d)\n",
                   dt_node_name(node), rc);
+
+        if ( d_cfg.flags & XEN_DOMCTL_CDF_xs_domain )
+            set_xs_domain(d);
     }
+
+    if ( need_xenstore && xs_domid == DOMID_INVALID )
+        panic("xenstore requested, but xenstore domain not present\n");
+
+    initialize_domU_xenstore();
 }
 
 /*
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b3a396c2fc..d99ca7b43f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2408,6 +2408,8 @@ void __init create_dom0(void)
     rc = construct_dom0(dom0);
     if ( rc )
         panic("Could not set up DOM0 guest OS (rc = %d)\n", rc);
+
+    set_xs_domain(dom0);
 }
 
 /*
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index 5864944bda..b0e41a1954 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -9,6 +9,7 @@
 
 void create_domUs(void);
 bool is_dom0less_mode(void);
+void set_xs_domain(struct domain *d);
 
 #else /* !CONFIG_DOM0LESS_BOOT */
 
@@ -17,6 +18,7 @@ static inline bool is_dom0less_mode(void)
 {
     return false;
 }
+static inline void set_xs_domain(struct domain *d) {}
 
 #endif /* CONFIG_DOM0LESS_BOOT */
 
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:43:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933001.1335076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMv2-0005Y5-CK; Mon, 31 Mar 2025 21:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933001.1335076; Mon, 31 Mar 2025 21:43: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 1tzMv2-0005Xl-7s; Mon, 31 Mar 2025 21:43:44 +0000
Received: by outflank-mailman (input) for mailman id 933001;
 Mon, 31 Mar 2025 21:43: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMv0-0004Vr-6T
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:43:42 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2062e.outbound.protection.outlook.com
 [2a01:111:f403:240a::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34dfc078-0e79-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 23:43:40 +0200 (CEST)
Received: from MW4PR04CA0207.namprd04.prod.outlook.com (2603:10b6:303:86::32)
 by DM4PR12MB7645.namprd12.prod.outlook.com (2603:10b6:8:107::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.46; Mon, 31 Mar
 2025 21:43:35 +0000
Received: from SJ1PEPF00002313.namprd03.prod.outlook.com
 (2603:10b6:303:86:cafe::6f) by MW4PR04CA0207.outlook.office365.com
 (2603:10b6:303:86::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.50 via Frontend Transport; Mon,
 31 Mar 2025 21:43:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF00002313.mail.protection.outlook.com (10.167.242.167) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:43:34 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 31 Mar
 2025 16:43:33 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:43:32 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34dfc078-0e79-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U3gESWeJBZkRXprX9wo8pdSKhjAorlN1HNXGboptiCeNihwvX9bkJA4DDPVeJK7X76eUfAmjgyLlpXtA2ZuKVZ2juLgJG1FJHp1wZmSIAB+3tAocSrazG9w13a+9oH8Gppnduvs6ebOif3ebxCUsSPdG1g3qv4NVN/M3o7wlEdhxLG6usoVCA9EUv91MB+QliwUXcyg/qyjEZr1hFkY0rRk06OjHF6yn6iltKXosaTQNVf4g9F2c/GT9gjBS2bTQ3UEY/8bQx8CHtSOO0VRrdcylF9SgWKM9g6GHquTz3a3OZrtYZn+VUSCPgwi9J7uneQ2PCtr7ZvmP/AohZJWVLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PQhJHw7567ypHQ6EQlLWOtnRHhS4n0cVpMQbZjCkjSA=;
 b=aB7p/9nf/XnIkVxVO63kWJJ8bZ4UdIt8/0AkHFyIgaUvFrqjP6Ok29j9D8E33ZTVTqR6QnbGPnGeVlXlCXwiG8McyEpET+gUSoyNmBrDXuS7Ulg5Mye0PD8HDW8Pq8uIoRnDABRjeSdmoeMWnEXp9Sp4bm3lDC1ApNay6jnz1QEmgjRmXkbh0KrSgXjNz5R5MQ6EnWV+qUI4Pummjvvw19Xo0+U+z25GvwCWgk7cY+EfX23/xV9kxSPUIzExTn61hkZUYcu2gGHe74Z2rtlP0sljOcXcCa2MqvgBlMYxhqaL10Cl78SiMaoNFrw7owkuRfCVFCGdesqlFpn3C2eLmA==
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=PQhJHw7567ypHQ6EQlLWOtnRHhS4n0cVpMQbZjCkjSA=;
 b=oj48K7/ieUMjXESgau6tFU3fl3X9ZIC95uEF3TFZsxKf9taJw4tI47Zm1HxY7+PlQCOLa74OKxJ4J+Xf6a5mWqDeq3YR1iktfW1SbJsrpiR5DUTDYSDsGwu3LFR3RT9JAWOujPMioIR8e9VFa42R9o3PXzsQMjnsj5Pb5scXzkA=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH v2 4/6] xen/arm: dom0less seed xenstore grant table entry
Date: Mon, 31 Mar 2025 17:43:19 -0400
Message-ID: <20250331214321.205331-5-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331214321.205331-1-jason.andryuk@amd.com>
References: <20250331214321.205331-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SJ1PEPF00002313:EE_|DM4PR12MB7645:EE_
X-MS-Office365-Filtering-Correlation-Id: 5fc3ddeb-cc61-4cb9-3ae1-08dd709d1670
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|34020700016|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?j3BLBTyuwp6uFeTJhOIc7dONKeSM5EQ562Nc9zDnPcK1fZwugBWCYLUfG9HA?=
 =?us-ascii?Q?YonQ4B7+VQIa7KujkGV8d7XCgwb397dVcd2lphMDW4FVXdJhFy0FhUHM0XNe?=
 =?us-ascii?Q?9HZYbmXycBhm9vhibIDxmRfDdErmJGHpUm6ieOOoZbHQT7ewGqsoATsxbVMp?=
 =?us-ascii?Q?WXw5tEnR6NEefNpbysNCNVHVk3Z+ZS7l8TT+4Pt5iQIL0ZQ2QkSoAwCntPxQ?=
 =?us-ascii?Q?O5V5YumHPbQXFj7iJ/72fipXdCflMd5W3apt3RkzVxdfO1YK4oCT3BYvsda/?=
 =?us-ascii?Q?YGNWVJSPPmXhzCL8ur6EFJ8a3Yy9eMrA/v9E1eC2u8Z0iGN1uwrkGmmWdQ2G?=
 =?us-ascii?Q?T1XVZ1T9Y0Kqsxj3CJDS7dvNXmIGZ0orjVkdW2PnKNalM5x93fUI/+3cXsCA?=
 =?us-ascii?Q?9ICiW7hjsXLxBMPDmIzcbeXLwA7Jlo6QsP4W9z6iT08G/bewyJUypMoaUbeu?=
 =?us-ascii?Q?Zi4fI0R80vgeSni164sgqZrYoqQuk3n2uFN3wjSi9TvIHapGV0Nbpzw7Xqzm?=
 =?us-ascii?Q?+q3wnhA78mCKRraSo3GZyDZlG3MQXYqoz+2KXyOvT2SVsi3gbEEXAqF/yQ8N?=
 =?us-ascii?Q?wEM4mQtMG0dqP/1ztZEdL6MbR7UQI6QqDaqyL0ZC/6DdgowO3ov+VbtVgJg6?=
 =?us-ascii?Q?VGNmP2wFljTLDOt3tNuBRkWBXIGbPNuOOmgRUo9KnUREerVceKGxd8AFqMCF?=
 =?us-ascii?Q?0u/57jaWZR10Gona4MY3DuP857IEHXQUqfx+R6XfUE1yLT0Frs79Ho6sAk1J?=
 =?us-ascii?Q?50OkXdcfGsemCeaLu7sN7mXwfFFU+IH4IObQaamUrT7ak86TuF/6ipNNuhu3?=
 =?us-ascii?Q?c0O2S2n/riw232ViYIs4OlV7CmS/DM19RvS4Q5SdQq5GotvDOJE88G9yJKDb?=
 =?us-ascii?Q?j4e7DjmP7ygEzJL59Eu2CPnb4LqKQpFolpqfPXBAH7Te89iApYTf6smLo9Cl?=
 =?us-ascii?Q?hloWIc9vW8MfAob3UychjzGnptmNsTVgr2brmmBFMFz1eVT3Vd4zeVCt4Hw+?=
 =?us-ascii?Q?biEP+QYgy92fm+nIWk8jL01y2/M841dco/y2w8uGHPodVFPc+73nZqWHt9Bu?=
 =?us-ascii?Q?ZuFqHAVFHjlbhhQL/n4JzEQfzboSm3Cx6FREgTYLJMS0UMIM+M0WH7h6qui7?=
 =?us-ascii?Q?3c9JkH/2WOGmy8Rhm3bEOlMgRjB2Dae8bbc6SEeEixmB0Q8eEI+D0JXlu3OT?=
 =?us-ascii?Q?8Gxh5kqbdmMZFqJAOYt3mwAakGnSQFMs1dluLVFGzVMyjwycRRNqhUPyUETt?=
 =?us-ascii?Q?+Iiu5GgWI9cYERUjNL3gGFyHxNXlxvv3SyN/A8aqey5jIGZq1jxCVKrnDhAJ?=
 =?us-ascii?Q?RlHTtOOhq7bjG6tqY1B3kjd6LpcrQZLxyM+rb2Cz9343tlJUqp7oYBa6ZDU+?=
 =?us-ascii?Q?P/F+v1IKWeMp7ei1pmJb/e6S03vwzRcc1suyHvjvOGDgFxqqcpBwMlgai/wf?=
 =?us-ascii?Q?YQDo3ipS6eKT+D4uV1KUcpkVx2KIjEGshHYgxeanA2yewu1sLuHOtQ=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(34020700016)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:43:34.3546
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fc3ddeb-cc61-4cb9-3ae1-08dd709d1670
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002313.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7645

xenstored maps other domains' xenstore pages.  Currently this relies on
init-dom0less or xl to seed the grants from Dom0.  With split
hardware/control/xenstore domains, this is problematic since we don't
want the hardware domain to be able to map other domains' resources
without their permission.  Instead have the hypervisor seed the grant
table entry for every dom0less domain.  The grant is then accessible as
normal.

This works with C xenstored.  OCaml xenstored does not use grants and
would fail to foreign map the page.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Tweak commit message
Mark gnttab_seed_entry() __init and put inside CONFIG_DOM0LESS_BOOT
Add ASSERT(!d->creation_finished) and ASSERT(gt->gt_version == 1);
const struct domain & struct grant_table
---
 xen/arch/arm/dom0less-build.c |  4 ++++
 xen/common/grant_table.c      | 15 +++++++++++++++
 xen/include/xen/grant_table.h |  9 +++++++++
 3 files changed, 28 insertions(+)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index a46f292c1f..fc515c9852 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -865,6 +865,10 @@ static void __init initialize_domU_xenstore(void)
         rc = alloc_xenstore_evtchn(d);
         if ( rc < 0 )
             panic("%pd: Failed to allocate xenstore_evtchn\n", d);
+
+        if ( gfn != ~0ULL )
+            gnttab_seed_entry(d, GNTTAB_RESERVED_XENSTORE, xs_domid,
+                              gfn, GTF_permit_access);
     }
 }
 
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 6c77867f8c..2fb3679447 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -4346,6 +4346,21 @@ static void gnttab_usage_print(struct domain *rd)
         printk("no active grant table entries\n");
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
+void __init gnttab_seed_entry(const struct domain *d, unsigned int idx,
+                              domid_t be_domid, uint64_t frame,
+                              unsigned int flags)
+{
+    const struct grant_table *gt = d->grant_table;
+
+    ASSERT(!d->creation_finished);
+    ASSERT(gt->gt_version == 1);
+    shared_entry_v1(gt, idx).flags = flags;
+    shared_entry_v1(gt, idx).domid = be_domid;
+    shared_entry_v1(gt, idx).frame = frame;
+}
+#endif
+
 static void cf_check gnttab_usage_print_all(unsigned char key)
 {
     struct domain *d;
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index 50edfecfb6..a17f1787da 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -45,6 +45,11 @@ void grant_table_destroy(
     struct domain *d);
 void grant_table_init_vcpu(struct vcpu *v);
 
+/* Seed a gnttab entry for Hyperlaunch/dom0less. */
+void __init gnttab_seed_entry(const struct domain *d, unsigned int idx,
+                              domid_t be_domid, uint64_t frame,
+                              unsigned int flags);
+
 /*
  * Check if domain has active grants and log first 10 of them.
  */
@@ -85,6 +90,10 @@ static inline void grant_table_destroy(struct domain *d) {}
 
 static inline void grant_table_init_vcpu(struct vcpu *v) {}
 
+static inline void gnttab_seed_entry(struct domain *d, int idx,
+                                     domid_t be_domid, uint64_t frame,
+                                     unsigned int flags) {}
+
 static inline void grant_table_warn_active_grants(struct domain *d) {}
 
 static inline int gnttab_release_mappings(struct domain *d) { return 0; }
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:43:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933003.1335086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMv3-0005qH-Oy; Mon, 31 Mar 2025 21:43:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933003.1335086; Mon, 31 Mar 2025 21:43: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 1tzMv3-0005q5-KU; Mon, 31 Mar 2025 21:43:45 +0000
Received: by outflank-mailman (input) for mailman id 933003;
 Mon, 31 Mar 2025 21:43: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMv2-0004Vr-1m
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:43:44 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2416::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35fccfc6-0e79-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 23:43:42 +0200 (CEST)
Received: from MW4PR04CA0197.namprd04.prod.outlook.com (2603:10b6:303:86::22)
 by DM4PR12MB6589.namprd12.prod.outlook.com (2603:10b6:8:b4::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 21:43:37 +0000
Received: from SJ1PEPF00002313.namprd03.prod.outlook.com
 (2603:10b6:303:86:cafe::88) by MW4PR04CA0197.outlook.office365.com
 (2603:10b6:303:86::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.52 via Frontend Transport; Mon,
 31 Mar 2025 21:43:37 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF00002313.mail.protection.outlook.com (10.167.242.167) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:43:36 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) 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, 31 Mar
 2025 16:43:35 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 31 Mar
 2025 16:43:35 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:43:34 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35fccfc6-0e79-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=S8Bp+SbkC78F/OT2n6StEgGTYMSr1Ia5vfEZwVOtAHdiMadtJvqBnisQycjlAEMczVN/b2Dk3EjfdHOmaM5kH0NEjMFX9dQXtxQdpBPpT1Etoepvt+UmTe9zG7jUW/cNThzO/BCj3yf05i9rfrD1GsRcUzBWibKuTbmmhpOUYYBChTxNMfyruGW5+aEulRzeJT1i2V9XpeZfdFBNvOlL7BbEPGr2ibjQaqFEfThAavI8oPpX3wAbMNH/7xqCOIEglYSCdyOTbcBWTQuh/ZFLRgIWgvKr3tEqnMqA6YvyTWMfM8EJEWAKWQ7rFmCrnv85zC91g3fp79TTbCsPuMeSRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HIwhjfknntHy51daW0G7gVn2WkUksiIVEhJto7dMW3I=;
 b=KV1z4hKEbfUKBf0h58ZlFmg36JAVekH17HDyqMBOV9OOy+oi57i9d6hTQpHFHBp1e9CqyCwZm5C35/P9JOPZl+CrXiqZmrO6iysu2RR7QmDYgNEzWCyGwc1D0L4ShCWVOTl19xvoXcHruIKDZ0nlOx7ejTZ59O3+iqEgued3BhrAhfxFYt16+0JQy4XROIrTRYn8jhjpllupZ/PkiblnCubU8xjCZ5yWAt8XvBH7ihD9RZDRQrplfdPpOfBhoHB2Fsk4iHeZxK+6HmTdCB0fDbsNIoriCoe2zBWgImFIINpjKOajJkro6a3Z+WdTsY8aLOwfwM/rE0Tqh2JHurj3+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=HIwhjfknntHy51daW0G7gVn2WkUksiIVEhJto7dMW3I=;
 b=W8T+hhcyUgok8FPwkPysexnWOhqTZlmIwt4TwhmlLWr+3EwvvwQHbktFQRQYZCU/cgytuz712yZ7f/VkcNu9IHO7kq8HdEfUBm6v1MDj99QabMpr+P83ANrppCMk55J74yJTED5+kyheO/zKi9Wr0L/Suw4W5LWgjKVjO6r9VWM=
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=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>
Subject: [PATCH v2 5/6] tools/init-dom0less: Only seed legacy xenstore grants
Date: Mon, 31 Mar 2025 17:43:20 -0400
Message-ID: <20250331214321.205331-6-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331214321.205331-1-jason.andryuk@amd.com>
References: <20250331214321.205331-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: SJ1PEPF00002313:EE_|DM4PR12MB6589:EE_
X-MS-Office365-Filtering-Correlation-Id: 7977a475-1e84-496b-0656-08dd709d179f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|34020700016|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?7nX9vEClksZZGT1Bx8VFl9gahrgM7f1odpCEVgZY2C0UXGPduDtP05g89WeV?=
 =?us-ascii?Q?0nOALs1dvHzH8JQxp2ChCRzZXaRsJJgGflytcy7HOJI1DO9gFqXuzYNKbZci?=
 =?us-ascii?Q?JyAZQBveetN30UfQleNIthzsF1zpouAak6uou2m9zxtwcv3i62mzLTWQPNwx?=
 =?us-ascii?Q?mFhuHP1ZC3w0blc5l8b3xHmlbZ37dPnvWLDHXi83haWJaL/PIbOWRJTfnKdf?=
 =?us-ascii?Q?kKgdz8TA+B/QJHI87Thwlr3MhWVzpQEw3e4rowV5vTSkrCIPIsBI6Dm/IXP5?=
 =?us-ascii?Q?uA+jDybv9kBsuR9/TMYNKtyHXQSYxpjH0skSGSdGkL9Bc5uG2QB1BWu5KE8s?=
 =?us-ascii?Q?NljW4jC+EJ2+RtdViavqmAD7mkeoXN408H+w9CZqWY743/hSp6sp2ryaVVWn?=
 =?us-ascii?Q?bpN5vUOHNteyuHUqut0MSu7939QJJk8yhZ47KHf3SAWKEvi6nyHsmrkr7iqx?=
 =?us-ascii?Q?6BIhB+6xdnaScBcjZW9dV2lDKT6RELopM530CWSOVD9M+VEnuBt/073JT/D8?=
 =?us-ascii?Q?ZJkQdZwKuUnIJ7DpX9dYxjPVlmDZKL9Gju2ByBse2iPjIlPUT8VcrF1Amf/U?=
 =?us-ascii?Q?rkRtG0SEgmTU4Hz088sA0YSpoRSYifeqyUJxo9eQBP+cK2z6GKzJGgXaAEHo?=
 =?us-ascii?Q?M30Mxc+2HX9SCKjjknuUg8STQ6VDZlZwAGgpNmQNMHl4q9vXrBU3rEp6dnTZ?=
 =?us-ascii?Q?fSL8qnTnfeteXoJmBB22RTze8t+plhJVAkRDk0kUCos0JkPZS1iPDwyMmWEA?=
 =?us-ascii?Q?nEHtT0qSJISVr8XAbhODSL9JqTV1EEmQm2ePpWPf0Rl6jeT0I3cLk6boeHso?=
 =?us-ascii?Q?4mqCAbtckabvWo7hCdlvLBdnVgNAYplwsHByavG6W+h2Kgt2V9ors9GKYcBQ?=
 =?us-ascii?Q?jCU/Cx8cdEd8HiKMNVludqlmJgvDZk3tdVzGkxPbZj3UyiiNkS8R7AmgUCCi?=
 =?us-ascii?Q?l8e5gvclmsT2OF6IHZUdvxmRS7p+WOE/EHLiX5TLUiOu4ly0/hBaQ2WWkisR?=
 =?us-ascii?Q?b35IchwPgXShvdch0KcCcOvJPuWKG80pFSCpb9gUP7hplT5EpvwsYz0D1OCv?=
 =?us-ascii?Q?VCQ9L9HUiK1GmfPpBYlx9KAil/kDFfuhlv4qiPRt0D3eJjlEZhIr82op7MPa?=
 =?us-ascii?Q?9ZERskrDhlWOoY3H9SuIqb04tyYibfBVdgCKLA38q143z3FYWsI0BbdQsrSA?=
 =?us-ascii?Q?Actx9bOrjqayHtRQMvGmXnv7fZPhMnPYIOpybld8rnoLrVRKnkrMzxF4hiJV?=
 =?us-ascii?Q?xFEjwYr+t5JoxPEKiHgaNAVoaQMjm9CEdutCLeMAo3Ab3RVZNZfbxnYShzPp?=
 =?us-ascii?Q?YYy8FhmJYX+1oCaCNRQuDlJISMqrR1f6TU1BjMz1Q08NqMq4zE/7sfxwhg7I?=
 =?us-ascii?Q?m5PrYnjnXkTJyC2MK5LjDIreszQWAw1Ol3Ws8bAFBVUHd5XS2z3wZZDaOygD?=
 =?us-ascii?Q?1OKcJxZFzROSCCqRZmJWceZeL/qYgs6XdizZT3mP6vvWylqto41nVkHu7elM?=
 =?us-ascii?Q?vi3YZLMOriYd9JY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(34020700016)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:43:36.3546
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7977a475-1e84-496b-0656-08dd709d179f
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=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002313.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6589

The hardware domain is unable to seed a control domain, but we want the
control domain to use xenstore.  Rely on the hypervisor to seed dom0less
grant table entries for Xenstore, so this seeding is unnecessary.

However, that only works for the new xenstore late init.  The legacy
protocol which uses init-dom0less to populate the page still needs to
seed the grant.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 tools/helpers/init-dom0less.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index 17579fe2e8..91edf17b6c 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -286,12 +286,12 @@ static int init_domain(struct xs_handle *xsh,
                 xenstore_pfn);
         if (rc < 0)
             return rc;
-    }
 
-    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");
+        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");
+    }
 
     libxl_uuid_generate(&uuid);
     xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid));
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:43:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:43:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933004.1335096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMv6-00069z-1Q; Mon, 31 Mar 2025 21:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933004.1335096; Mon, 31 Mar 2025 21:43: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 1tzMv5-00069i-TI; Mon, 31 Mar 2025 21:43:47 +0000
Received: by outflank-mailman (input) for mailman id 933004;
 Mon, 31 Mar 2025 21:43: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMv4-0004aC-9s
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:43:46 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20607.outbound.protection.outlook.com
 [2a01:111:f403:200a::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3790d7bf-0e79-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 23:43:45 +0200 (CEST)
Received: from BN8PR15CA0009.namprd15.prod.outlook.com (2603:10b6:408:c0::22)
 by CH1PPF0316D269B.namprd12.prod.outlook.com
 (2603:10b6:61f:fc00::604) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.54; Mon, 31 Mar
 2025 21:43:39 +0000
Received: from BL6PEPF00022571.namprd02.prod.outlook.com
 (2603:10b6:408:c0:cafe::2f) by BN8PR15CA0009.outlook.office365.com
 (2603:10b6:408:c0::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8583.39 via Frontend Transport; Mon,
 31 Mar 2025 21:43:39 +0000
Received: from SATLEXMB03.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_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:43:37 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 31 Mar
 2025 16:43:37 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) 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, 31 Mar
 2025 16:43:37 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:43:36 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3790d7bf-0e79-11f0-9ea7-5ba50f476ded
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EEZW/IDiMen7Y7SuxTPCZ36jQxkhNKDNkqBd9GYuEDf/DfAea0cc7LdgYq1GpSMC1JFxL5l2mptk8VIBFGGejD4riRxpQCf0PZABx4rOJqR0eOk8KJ0sACMKuF/fdiCIcndyUwzuapf//1fB5xwoMGsGYAmoDJgHwgAKD7hylC0TvHjw7aL2UR4GpmUWov/nm2iUxBfy6p7letl0WjmhdroCjlGoBuskeTGaaF/Ly0Yha+dN1Xfmzm11yl1XUQqIbornqQ9KvhWFGLqxL+8t2HQqtqRwMK4P95wlDCBKEYZ+Wfyd0SUjISddh3WH/Lh5/UUnmCQBMCeDJuEh7jTSjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fijYQspdfZFoThhaS1WIWMVtQUseoBzQfmLgz8dnLRI=;
 b=cee9CuueYi5vPoGosF6edylesJ7hSCxKllABUfGyyGNUMmukcWF114Zi+/SbbbdE9IDlpYTHBShuKRgTFTBe992S8nDFDDZdG5I3bmFwjZ9QD5OtxoWHdJPA28wzpnXChA9f3C7ET44pPQBGyHl+3h2Ig2WFggkXR3r3hXBwXq4zp21EopoX2cmmXZey2QggHTZzUQ2LwsGiqJfLv+TYO9W/6AWICMi5YXxwzGjqIzKbX1e+3bGUh1CWLvJVXbRw2EyBXh4GqiM9elTaq1K9SEfnRvVrOvela2PwWyB4ghMsbRQiC7t7vwXy1arqoTdTS6Df5pcMmd+o6NXUok7Ryw==
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=fijYQspdfZFoThhaS1WIWMVtQUseoBzQfmLgz8dnLRI=;
 b=churWQHjrUNOXAa5EJBikr8I4X2Y0nace2HidOaldfdbgKn/rjRm5+x2+t0QYF3Aa+JkYRxVH7oKHhIajvUZqiHu/DG6i9fw3cQG5PPWUFWdpcdyMmflZ+1rG91i8Iyqxo58PnEujIC+nQhvH8FGYcYE8bHhLr1+YlfZai/UcR0=
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=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@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>
Subject: [PATCH v2 6/6] xen/arm: Add capabilities to dom0less
Date: Mon, 31 Mar 2025 17:43:21 -0400
Message-ID: <20250331214321.205331-7-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250331214321.205331-1-jason.andryuk@amd.com>
References: <20250331214321.205331-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: BL6PEPF00022571:EE_|CH1PPF0316D269B:EE_
X-MS-Office365-Filtering-Correlation-Id: 28b1f1d1-62f0-4204-0c6a-08dd709d188c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|34020700016|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?GrGLMk88tUv/ReFrs+v1f/KCTu7Nx2M/+bYZRhvrWrVGVmjV1i14i5tB1Kkd?=
 =?us-ascii?Q?mdODfD67oieEKodUQX5O10u7LDXRHLdVtjBWYYMfe0n6r6b34/OGTke8kRLE?=
 =?us-ascii?Q?0S8eppQLxdRm97xjyMm8NFp+p78uWpDsVhIP1D11CPgo152Xc8NqPX/HAlim?=
 =?us-ascii?Q?W68x9EDzZdwEV0tsr+BPDn/EW1eNsS0S2XB0duWWN7TUKMh/0CpbgMMx/InM?=
 =?us-ascii?Q?mbWJ+tWEwrKeKfC2CzxwCoxPJsP4WQV3aYob6apt8vo6hzfaokeigIgCwTFB?=
 =?us-ascii?Q?Ni1Z8KRloItHbO3RSQ1i4rIVLsYWukEsePnRn+bFFh/tKYd3vVHJ8qu2pbw1?=
 =?us-ascii?Q?P4A+UCWFIrqFLvph+74dNtHX5WkATr5W5YU3jKV9P33yxAelFO6lRhAFat+/?=
 =?us-ascii?Q?ANMAn8g8gmmOEPzdUec3LWaVQuJhxZeZZ+dXDh6rgtNMay/j5NOvfGb0COm9?=
 =?us-ascii?Q?fzRqcsjefU5eRhAUcbrH/24EOrBkfLl9hZEqgkWOhzmxMujpl+fHWQJJ+oLj?=
 =?us-ascii?Q?9ZFnMCg0Blo0chDedOGYVGAkFOjw+b7k+qMMDTzJISIeeXEPzrTbpjW+Sx84?=
 =?us-ascii?Q?HX07vP8+BABsJiWR208EzR2dTDRsiQQVDm11O6zKlKLS7f408JWaJRTBMLFZ?=
 =?us-ascii?Q?Q2zCyQKdtyqFAKfcCbZl06XPwB/KrJExt2k374zJ0imZK3aS59HacE/8V208?=
 =?us-ascii?Q?mqH+4gNRgQaKHoeb7yhrh6iyFXbzQrt1fv7NqhRj/3X3NGSnj+Z6O7rBanXU?=
 =?us-ascii?Q?yknrn26OSjm7i9FmeIno0ArU9Cs7CxG8dKje0T0e38NwlE6IEBaswzCLvAnW?=
 =?us-ascii?Q?TfDULY0amwO/RoV4PTO4L6dWw+JuYwF9MxWgnneic3/VW3gBS2nlmGDOlU/M?=
 =?us-ascii?Q?XEdAo/pzQTNdGP0PmEViCch08atA15F56fHrBIDX2hORQkystq5lk8qjDobt?=
 =?us-ascii?Q?ZSHE8glaFQGZGzWmqfR/SRHcAVYiSaAeVhPliPnenImmztmihuBmiaD0puBZ?=
 =?us-ascii?Q?EFXe4iFnqNMtSsDJnVqGZOuZJet0Ok0jqaQLpr7f1rtTvn3ITsLKnia4/Kxp?=
 =?us-ascii?Q?uf/K8rXxy53E9uUpenJnDjZWUQtTa4rODjJuEWF3QA+LDN/WKUiD/jXS9m9C?=
 =?us-ascii?Q?7iI/jxjMxkmCFuWeP2avVwUFqZ5EM9rle9Mae64wLimN7sIOPAnXWr62Fm6e?=
 =?us-ascii?Q?Xb8SaN1YqFrTXXIi8t8XjkN15mxQ1sevrVeCSGDVjqDyVZnYuHuuDeX3EJ3A?=
 =?us-ascii?Q?L0zeCor0aqEf5Bys1QWo4HT6iIPyUuA96/gg1G1qOoVoS7+fwPVKBBwCR30B?=
 =?us-ascii?Q?Qmp96V/qHvuyAIWllSAQQQbgdvTVLO0T/7avzBx9YVi6Y9j55/KNKOQsScaP?=
 =?us-ascii?Q?GJQdkwChBAJ4nM60kdbkqeC/nYeeHozgs59XiH2xS5SAER/bhYGyeQzqLz6F?=
 =?us-ascii?Q?SNeADNToHgqeDn3EB9EAROw0jvV3c2KQ2lxaOMQPGdHJiG735oKZyR3Ff2dP?=
 =?us-ascii?Q?WK2l2Cnq55o3N3w=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(34020700016)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:43:37.9236
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 28b1f1d1-62f0-4204-0c6a-08dd709d188c
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=[SATLEXMB03.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: CH1PPF0316D269B

Add capabilities property to dom0less to allow building a
disaggregated system.  Only a single hardware domain and single xenstore
domain can be specified.  Multiple control domains are possible.

Introduce bootfdt.h to contain these constants.

When using the hardware or xenstore capabilities, adjust the grant and
event channel limits similar to dom0.

For a hardware domain, require an IOMMU and disallow specifying a vpl011
console or nr_spis.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Fix comment style
Make DOMAIN_CAPS_* unsigned
Remove forced directmap & iommu
Require iommu with use of hardware domain
Limit to a single xenstore domain

There is overlap with hyperlaunch.  The numeric values are the same.
Hyperlaunch doesn't expose the values in a public header as done here.
Is this to be expected for dom0less?  It seems most of dom0less isn't in
a header, but just in docs.

Hyperlaunch uses BUILD_CAPS_, but I chose DOMAIN_CAPS_ since there are
domain-level capabilities.

Only a single xenstore and hardware domain make sense.  Hardware domain
receiving all hardware can only have a single domain.

For Xenstore, the logic latches the single xs_domid and uses that for
all domains.  Also, only a single domain can register for VIRQ_DOM_EXC.
---
 docs/misc/arm/device-tree/booting.txt | 11 ++++++++
 xen/arch/arm/dom0less-build.c         | 39 +++++++++++++++++++++++++++
 xen/arch/arm/domain.c                 |  3 ++-
 xen/include/public/bootfdt.h          | 31 +++++++++++++++++++++
 4 files changed, 83 insertions(+), 1 deletion(-)
 create mode 100644 xen/include/public/bootfdt.h

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index ac781c9cc8..490c792ddf 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -167,6 +167,17 @@ with the following properties:
     Refer to docs/misc/cache_coloring.rst for syntax. This option is applicable
     only to Arm64 guests.
 
+- capabilities
+    Optional.  A bit field of domain capabilities for a disaggregated
+    system.  A traditional dom0 has all all of these capabilities, and a
+    domU has none of them.
+
+    0x1 DOMAIN_CAPS_CONTROL  - A privileged, control domain
+    0x2 DOMAIN_CAPS_HARDWARE - The hardware domain - there can be only 1
+    0x4 DOMAIN_CAPS_XENSTORE - The xenstore domain - there can be only 1
+
+    The default is no capabilities.
+
 - vpl011
 
     An empty property to enable/disable a virtual pl011 for the guest to
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index fc515c9852..1cb6c170a7 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -12,6 +12,7 @@
 #include <xen/sizes.h>
 #include <xen/vmap.h>
 
+#include <public/bootfdt.h>
 #include <public/io/xs_wire.h>
 
 #include <asm/arm64/sve.h>
@@ -906,6 +907,8 @@ static int __init construct_domU(struct domain *d,
            d->max_vcpus, mem);
 
     kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
+    if ( kinfo.vpl011 && is_hardware_domain(d) )
+        panic("hardware domain cannot specify vpl011\n");
 
     rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
     if ( rc == -EILSEQ ||
@@ -1020,6 +1023,40 @@ void __init create_domUs(void)
         if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
             panic("No more domain IDs available\n");
 
+        if ( dt_property_read_u32(node, "capabilities", &val) )
+        {
+            if ( val & ~DOMAIN_CAPS_MASK )
+                panic("Invalid capabilities (%"PRIx32")\n", val);
+
+            if ( val & DOMAIN_CAPS_CONTROL )
+                flags |= CDF_privileged;
+
+            if ( val & DOMAIN_CAPS_HARDWARE )
+            {
+                if ( hardware_domain )
+                    panic("Only 1 hardware domain can be specified! (%pd)\n",
+                           hardware_domain);
+
+                if ( !iommu_enabled )
+                    panic("iommu required for dom0less hardware domain\n");
+
+                d_cfg.max_grant_frames = gnttab_dom0_frames();
+                d_cfg.max_evtchn_port = -1;
+                flags |= CDF_hardware;
+                iommu = true;
+            }
+
+            if ( val & DOMAIN_CAPS_XENSTORE )
+            {
+                if ( xs_domid != DOMID_INVALID )
+                    panic("Only 1 xenstore domain can be specified! (%u)\n",
+                          xs_domid);
+
+                d_cfg.flags |= XEN_DOMCTL_CDF_xs_domain;
+                d_cfg.max_evtchn_port = -1;
+            }
+        }
+
         if ( dt_find_property(node, "xen,static-mem", NULL) )
         {
             if ( llc_coloring_enabled )
@@ -1082,6 +1119,8 @@ void __init create_domUs(void)
                 d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
                                          vpl011_virq - 32 + 1);
         }
+        else if ( flags & CDF_hardware )
+            panic("nr_spis cannot be specified for hardware domain\n");
 
         /* Get the optional property domain-cpupool */
         cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 3ba959f866..dc4b4e84c1 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -608,7 +608,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
 {
     unsigned int max_vcpus;
     unsigned int flags_required = (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap);
-    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu);
+    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu |
+                                   XEN_DOMCTL_CDF_xs_domain );
     unsigned int sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
 
     if ( (config->flags & ~flags_optional) != flags_required )
diff --git a/xen/include/public/bootfdt.h b/xen/include/public/bootfdt.h
new file mode 100644
index 0000000000..86c46b42a9
--- /dev/null
+++ b/xen/include/public/bootfdt.h
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Xen Device Tree boot information
+ *
+ * Information for configuring Xen domains created at boot time.
+ */
+
+#ifndef __XEN_PUBLIC_BOOTFDT_H__
+#define __XEN_PUBLIC_BOOTFDT_H__
+
+/*
+ * Domain Capabilities specified in the "capabilities" property.  Use of
+ * this property allows splitting up the monolithic dom0 into separate,
+ * less privileged components.  A regular domU has no capabilities
+ * (which is the default if nothing is specified).  A traditional dom0
+ * has all three capabilities.
+ */
+
+/* Control/Privileged domain capable of affecting other domains. */
+#define DOMAIN_CAPS_CONTROL  (1U << 0)
+/*
+ * Hardware domain controlling physical hardware.  Typically providing
+ * backends to other domains.
+ */
+#define DOMAIN_CAPS_HARDWARE (1U << 1)
+/* Xenstore domain. */
+#define DOMAIN_CAPS_XENSTORE (1U << 2)
+#define DOMAIN_CAPS_MASK     (DOMAIN_CAPS_CONTROL | DOMAIN_CAPS_HARDWARE | \
+                              DOMAIN_CAPS_XENSTORE)
+
+#endif /* __XEN_PUBLIC_BOOTFDT_H__ */
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:45:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933029.1335106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMx4-0008Ch-E6; Mon, 31 Mar 2025 21:45:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933029.1335106; Mon, 31 Mar 2025 21: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 1tzMx4-0008Ca-B7; Mon, 31 Mar 2025 21:45:50 +0000
Received: by outflank-mailman (input) for mailman id 933029;
 Mon, 31 Mar 2025 21:45: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=sCWu=WS=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1tzMx2-0008CU-Rt
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:45:48 +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 8129fc23-0e79-11f0-9ea7-5ba50f476ded;
 Mon, 31 Mar 2025 23:45:47 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso46171445e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Mar 2025 14:45:47 -0700 (PDT)
Received: from [192.168.1.183] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43d82efeacasm177430295e9.23.2025.03.31.14.45.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Mar 2025 14:45: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: 8129fc23-0e79-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1743457546; x=1744062346; 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=mlR2/wtGl27sbeVJieM7lcGEWWY98/3HknehfYFQ3N0=;
        b=ZA9NUqWd9I/MUp9bl0UjVfTkJmINr0ce4Fqg615lYJ4JHW1x72pBQz8k1JejqrFCBO
         huO+6lJSckiIp59iWN4LWO/x+KWUwlIXvnfc/j/+EERA6H+rZgJftQNkPXrbl4dNWb50
         Jd+gjM7SnTCtgReYRWR5mwsZLEibGwRFEbRmE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743457546; x=1744062346;
        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=mlR2/wtGl27sbeVJieM7lcGEWWY98/3HknehfYFQ3N0=;
        b=dT9iOPkSJQHNnal4btbCfzqqtDuXFvBvyXWBKM+U8060swlo7EF8h3Bt4v4B/yOF7F
         c0fNBG5a9XyjwP8/vrC+BXN1SHZEbEqz6n4Qfh/A8czhERcBqkuW9PtKnD+etvURDpAW
         0MoTlRrN+tfjHwEyFNUF5uXluNlVzndstRTE3LrHMeYhNjnmPnu7NCGXxmcHVQ7hFoiF
         7wJmSfcZHGM9GSd2FkxMZIB6+n3RTQeboSrbD7kK5fnNzcZX7MujHy0TCrdTkTtgCR9e
         /BvIJFXiqz5MTcHDClGUeDQlwf5C6BDEoNaPrOJ8guEjtF4UzCeRMU0C2s/4BkB6ZdV9
         1hIQ==
X-Forwarded-Encrypted: i=1; AJvYcCXHk+tj9QBv6tN6ToDIMDSmKxP7XETkhFl5EjGnYQdF2IFvrGhnTbeMHGbuY5qBSZZqHuZhWtfdtX4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypLUxAU2wZoD1ggBhg8bA0PAwUEoO9ao0tL/WQiDDYor7LvGb/
	11xDQA3rEIgQYRW3dKpfOil25z3RTBdszQtjyVYLJTmraG/FL2aqJRKc/FrUcxE=
X-Gm-Gg: ASbGncvROzW6PtKnACTrJBIJpOxGAGwECEmlgEI5WeDbn3ksUM68ndRmzGOhT7ucO5Y
	hDpUNsup6hhoy9+7cv42ptvE+GXaeky5n0Sunv6KEFTW7e8Iq2+7d0aCRM9Is9omqO8IAYnzBr5
	hoO9P+SaOC4spTCSfhpivgBYIjwpHoXu76+da5dKmyq0B/t6zTqAKCvIpgG1SqDtEHFeh6eKnF9
	jXvwl01ycsBLA2gAT/pX2XnZe9d0vRRWgJsgRmsdqGrlzhc95tknGWiGc67LqPZ34iZnd11M0pj
	alqyyrPJmhiKwone+BCEPD6pfHDT0+LododxxEbPqt1+G/ntCX52BEP3bghAum9+699LkXAVo90
	XJB07tEWTLg==
X-Google-Smtp-Source: AGHT+IEht0ibCOVwapLKQorYkWh1tvEc+BCDGhekq3S+vwpg3hG7nDeUzCkmGMWNB+hguSfQi069kg==
X-Received: by 2002:a05:600c:314b:b0:43c:ea1a:720c with SMTP id 5b1f17b1804b1-43db624b452mr113357845e9.18.1743457546422;
        Mon, 31 Mar 2025 14:45:46 -0700 (PDT)
Message-ID: <0da43a86-81b0-4388-b47b-3a76b15f2a4c@citrix.com>
Date: Mon, 31 Mar 2025 22:45:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v1 01/15] x86/msr: Replace __wrmsr() with
 native_wrmsrl()
To: "Xin Li (Intel)" <xin@zytor.com>, linux-kernel@vger.kernel.org,
 linux-perf-users@vger.kernel.org, linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, linux-edac@vger.kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-ide@vger.kernel.org, linux-pm@vger.kernel.org, bpf@vger.kernel.org,
 llvm@lists.linux.dev
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, jgross@suse.com,
 peterz@infradead.org, acme@kernel.org, namhyung@kernel.org,
 mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org,
 irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com,
 wei.liu@kernel.org, ajay.kaher@broadcom.com, alexey.amakhalov@broadcom.com,
 bcm-kernel-feedback-list@broadcom.com, tony.luck@intel.com,
 pbonzini@redhat.com, vkuznets@redhat.com, seanjc@google.com,
 luto@kernel.org, boris.ostrovsky@oracle.com, kys@microsoft.com,
 haiyangz@microsoft.com, decui@microsoft.com
References: <20250331082251.3171276-1-xin@zytor.com>
 <20250331082251.3171276-2-xin@zytor.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: <20250331082251.3171276-2-xin@zytor.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/03/2025 9:22 am, Xin Li (Intel) wrote:
> __wrmsr() is the lowest level primitive MSR write API, and its direct
> use is NOT preferred.  Use its wrapper function native_wrmsrl() instead.
>
> No functional change intended.
>
> Signed-off-by: Xin Li (Intel) <xin@zytor.com>

The critical piece of information you're missing from the commit message
is that the MSR_IMM instructions take a single u64.

Therefore to use them, you've got to arrange for all callers to provide
a single u64, rather than a split u32 pair.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 21:46:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 21:46:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933046.1335116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzMxn-0000LQ-PC; Mon, 31 Mar 2025 21:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933046.1335116; Mon, 31 Mar 2025 21: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 1tzMxn-0000LJ-Lx; Mon, 31 Mar 2025 21:46:35 +0000
Received: by outflank-mailman (input) for mailman id 933046;
 Mon, 31 Mar 2025 21:46: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=vLSd=WS=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1tzMxm-0008WJ-R4
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 21:46:34 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20606.outbound.protection.outlook.com
 [2a01:111:f403:2412::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b33cf38-0e79-11f0-9ffb-bf95429c2676;
 Mon, 31 Mar 2025 23:46:32 +0200 (CEST)
Received: from MN2PR18CA0008.namprd18.prod.outlook.com (2603:10b6:208:23c::13)
 by SN7PR12MB7105.namprd12.prod.outlook.com (2603:10b6:806:2a0::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Mon, 31 Mar
 2025 21:46:26 +0000
Received: from BL6PEPF00022574.namprd02.prod.outlook.com
 (2603:10b6:208:23c:cafe::ec) by MN2PR18CA0008.outlook.office365.com
 (2603:10b6:208:23c::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.54 via Frontend Transport; Mon,
 31 Mar 2025 21:46:26 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF00022574.mail.protection.outlook.com (10.167.249.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8606.22 via Frontend Transport; Mon, 31 Mar 2025 21:46:25 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 31 Mar
 2025 16:46:25 -0500
Received: from [172.29.45.113] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 31 Mar 2025 16:46:25 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b33cf38-0e79-11f0-9ffb-bf95429c2676
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=baItxbg5OGF01UI4otwk0TX3ekCdYxnO6k2q6oR4TP2G70rYAlvevtqPsDec3vl/7J+UOrBUXhwBCHXytg8PvlkCODRYqxlHpna1To9fyuBB6WSDdBYdEnGnBbnTIYMP2Kx+I/pxelp0ShDDGinBnVNeLzrp6jFDLh8pZAB0l85l/XmpFEyvh5CCmZ2+HlITmrBE1UjAd4sbQLhUpxqjwkURClWVnsCgQ5eIB9WW2QOZV9CDZncQAXfEJeCgPwy2NqhHeV9Zb+iNk1sWkC3cyyHKma0M97cAi6xp0REvmJ/h9B/q3/LLlc7oHbLtqW6+z95i+m21WfXd4J2yfwVb6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1Tvm67qEyl7UzdfTkywajKn7OYP+cZgunlRR4104i8g=;
 b=e6SCt+KABKntLblnSg99VLXPqzvpjvTMnIp6H+qX3Bgj9TcIjl+0yYD2v1bFO0q9QbBv41MBstiAQdz2DI1/UQHkVZDVpkUF2hMQ71liJuT4fA8P1clgwgsira54Y3k/YwEHY27GhJEv/IyLzr9n2g+8saWFHlhlcBm6ch4OooA5EGx+99sB9c+41kUDmAnn4ao7pmiX1zrC7LE4u45rbVlefH+j+UCHaMClrRYYTNJ4xDCdLa0RQmtiGifFqFGlCEh/kUdLxnalaSnz0RfPa4VpW1xdI2tufLQ2ixr6wTz0mXZmmJ3Z3KjBBhocyiHSkmmHiQghmRbUfZV8J41MwQ==
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=1Tvm67qEyl7UzdfTkywajKn7OYP+cZgunlRR4104i8g=;
 b=O1DsZquqfe/nyrfMFpTllsS8q8c53WitaEVPgXORChT1DvB2VRvGAMNn1b5S3k6pJH17kF0ikKwck/xnS0qzgqJ+N0qHim6fSS8SFxsfBwLT0XyCZOcJk0AhpPDNN3UtJxA7RptDwHyT0nJFttVgphh0rrJXNtFf23UB/OeAy94=
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=SATLEXMB03.amd.com; pr=C
Message-ID: <0dd25ebd-34f2-4391-aa08-3d873ec72347@amd.com>
Date: Mon, 31 Mar 2025 17:46:24 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Domain IDs and Capabilities
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00022574:EE_|SN7PR12MB7105:EE_
X-MS-Office365-Filtering-Correlation-Id: 66a3b136-69d4-43a8-ce99-08dd709d7c85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|34020700016|36860700013|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RUNwMW5GVnkzMFd3T0ZPOGNSbHZGSDZ6eUFBVnZabkhTRU51RStSQnFCNXRP?=
 =?utf-8?B?bjVDdTJnYmczQTBubmNqZkJiQWFJNEFaVHhsajVGUXl5QnNBdXBYVGc0OUlT?=
 =?utf-8?B?dkI4eEdmdG55Z3B3RzJ0a2pPaEZISUcrRENtTWlRR3RFeVk2WDAzcjlvVXow?=
 =?utf-8?B?cDcvd09pZDZsdW9nTmFWNVZrdVRGNzlpbldXKzFORGMrYWtSaXBoK3pPTi8w?=
 =?utf-8?B?QnRMdnhWSHFmQ2Zad1RlWmV6NEhsZ0owaVBvYUxLeXpnY1R2RHByK2UyNHpy?=
 =?utf-8?B?d0t0eXRhbDU1cGpJbnBac1B0dHJjbzJaZE1uZjNkSlVoQ29OWGZoKzdTSkhw?=
 =?utf-8?B?eEd4OVJUNDJCN1Y1QXZvaGhRYThvSFhjUmpIL0xqR3RtYlFDMFBlb1A3WmQw?=
 =?utf-8?B?OGhieStjMjAwWFplc2hxREVlRjNva25tRnpyVkZNanNKZTFuemhmNkRYRVI5?=
 =?utf-8?B?VnlxWGgvVW93WlFaQjlzYlJwL1dzVEFJeFdlZWcvSWlsYWpHWlRMZmFLdVQr?=
 =?utf-8?B?RWtlblloMTZGSVdpa3VOb2RGdXhXaUtMVHBMUVhDVllHSGhZN2lac3Y2VDV5?=
 =?utf-8?B?TFBwbVJ0Nm1yQzZWd3ZXdkd5UitRanFrcTB4dWhiV090eVBGVUd6Yk1zNWx2?=
 =?utf-8?B?RFdBOW9OOXpPUi9rNjlrWXdiaEhueUFPQ25NZWF4K1BmK29mZE9vVzRFK3RG?=
 =?utf-8?B?YnZhS08wbGZUaTF5Z1VZZ3lYU3BvL05lZHNPNlplZkpXdzREWjFGcmhRUHUz?=
 =?utf-8?B?TUZvL1hXVHdwTUt6T0dCMUFINkgxSEt3UkZEbkF0cHNLSUpxWGdwZnFzdEp3?=
 =?utf-8?B?YzRqckhDdXd2RWpRaWNBSm90cUdWNjdRWGR4V0RIVkZucmhjZWxhZks0NzIr?=
 =?utf-8?B?QzdnVkg2TFNBOGpTOUpyUUFtd1E4SWs1MW0xejhFY3hJRUM5VWJZOEIrSHky?=
 =?utf-8?B?WUZqZXRRenUxZExuSlpiTDZEd29rUGphQzhIQ1ZLN3Y2T2Q0RHlSa0oxRFdF?=
 =?utf-8?B?NFAxTWlCSWY1c09JSUhRdEh0bFhtdmphdXNWVGpsbEdJYkN6dWtoYThhcGpp?=
 =?utf-8?B?eGdUNzlYUjNOamtTOFdBYm1RbkFLK2xOZERDN2M4YzFUcVVFSXNUOVVSOUQx?=
 =?utf-8?B?QUQySUZTQUlYWnlITkl3ZnhWWVlyRnhVVDE5cmhrWWRpWk5tWllna21JYnZp?=
 =?utf-8?B?aGovS0RsSXVuajN2MUZncVNiL29aUjMwRmZiQ1hKUXRLQlZ0STNyZVF1M0xp?=
 =?utf-8?B?WU54dFh3Y3NZTVo5dTV4V3d6blZQRjRzK0VCUFVVaGJiV2tKcnJwbDJwY2xC?=
 =?utf-8?B?STdzMHljbEtMZ1NMOUxJM2xXTGRFQ0NMSnk1Ti9FZVMvSnRaZ3l5MTE1SFdt?=
 =?utf-8?B?V0E4bE5jWUVKNDlmUUhLVlZhOTRrcks3R2FhYzZMdHdTK0hwdWswUDFoNE51?=
 =?utf-8?B?UWhOYWJvdWxLMGxETXp5cm1TZXRHOVk5SXVDN01YSWdNN2pPSW81ZHN1TkV2?=
 =?utf-8?B?RVJJQUtpUDBodDE2dGhTNHVFUkczSVFGV2NzZzRvR3hIc0I2aDFFNVM2WWFE?=
 =?utf-8?B?OTBObmpOT1R4bjlRckUwRlU4OFZBNXN1amxOalZLT0dTRC9ram5nR1p2SlNS?=
 =?utf-8?B?anNhVkM2a00wekJSeFQvREltWFFkc0VIR0NaY2FFK3J3TGtUSG05eGlLN3NZ?=
 =?utf-8?B?MllYbDBTbXErYzJVWnJyS2hIcVhrVGFZc0VLb3B4dFJEanhWT1NuV1IzVnls?=
 =?utf-8?B?c2FRSTJWOFJxV3R6MStlUWFDVlBTR2YybHk3UHUxNW9TdWRHNVJIRjlETENC?=
 =?utf-8?B?WTdPb2NVWElyUURCUHRpRnFMRXVHMU9JbW9HaFRzeWx5VUFkSmZ2YXNicFRK?=
 =?utf-8?B?Rk1IeTRGRTBDN3lObThQUE1kVGtqRnprbVpGTWZhTEtyY3BNSVJ6ckU0U3h4?=
 =?utf-8?B?eGJTWUlNdFJOMmFjTlNSWEd5R0M4L2RQNEZLeC9OYUtqMytqMHZWU2dmekRs?=
 =?utf-8?Q?HPcGdlLw7twHfvufReYszXuwJ59TlA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(34020700016)(36860700013)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2025 21:46:25.7486
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 66a3b136-69d4-43a8-ce99-08dd709d7c85
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=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022574.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7105

Hi,

I'm finding it necessary to expose a domain's domid and capabilities to 
the domain itself.

On x86, SIF_privileged and SIF_hardware allow a domain to know its 
privileges through start_info.  ARM does not have start_info, and 
xenstore domain status is not exposed.

Xen sets XENFEAT_dom0 for is_hardware_domain(), and then ARM Linux 
creates local xen_start_flags with both SIF_PRIVILEGED (control) and 
SIF_INITDOMAIN (hardware) set.  This is inaccurate with a split hardware 
and control domains.

(This looks like a mis-use of XENFEAT_dom0.  It's present in ELF Notes 
seems more like a flag for a binary to indicate to Xen's ELF loader that 
it is capable of running as dom0.)

xen_start_flags influences Linux kernel behavior and userspace. 
/proc/xen/capabilities control_d is only set for SIF_INITDOMAIN. 
Similarly, the /proc/xen/xsd_{kva,port} keys needed to run xenstored 
locally depend on xen_initial_domain(), which can be incorrect.

It is useful for a domain to know its own domid.  Xenstored has command 
line flags to set --master-domid (the local domid) and --priv-domid, but 
it would be better to autodetect those.  Also, domids are necessary to 
set xenstore permissions - DOMID_SELF is not supported today.

Juergen already implemented a get_domid() function for Mini-OS for a 
xenstore stubdom to query its own domid indirectly through event channel 
games.  That can be re-imlemented in Linux userspace, but it needs the 
unstable xenctrl library to query event channel status.

x86 HVM exposes the domid through a CPUID leaf, so it isn't actually hidden.

Should I add a hypercall to query a domid?  An alternative, for ARM at 
least, is to expose the domid and capabilities in the domain's DT in 
/hypervisor/domid and /hypervisor/caps.  I've tried this out as just 
dumping the domid and caps as uint32_ts.

Reviewing 
https://lore.kernel.org/xen-devel/20231110113435.22609-1-jgross@suse.com/ 
it seems like both a hypercall and an arch specific means might be possible.

XENFEAT could be extended to exposed finer grain capabilities: 
XENFEAT_{control,hwdom,xenstore}.  This is easy.  Seems a little bit 
like a mis-use of XENFEAT to me, but it works.

If generally exposing domids is not desirable, they could be exposed 
only to domains with capabilities since those are not migratable, AFAICT.

I'm open to suggestions.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 22:06:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 22:06:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933099.1335125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzNGk-0005ys-9b; Mon, 31 Mar 2025 22:06:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933099.1335125; Mon, 31 Mar 2025 22:06: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 1tzNGk-0005yl-6m; Mon, 31 Mar 2025 22:06:10 +0000
Received: by outflank-mailman (input) for mailman id 933099;
 Mon, 31 Mar 2025 22:06: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzNGi-0005yf-Jv
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 22:06:09 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 578fc204-0e7c-11f0-9ea7-5ba50f476ded;
 Tue, 01 Apr 2025 00:06: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: 578fc204-0e7c-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743458763; x=1743717963;
	bh=2ITHvXA/jE6BBA/O3peQvbyCBEesTWT9pXAjI2DPzB0=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=FFoT8xJa5ZfjfsW70qUVPPqm7sln3MwCfezZmJqbP8Q06zTqm7z6zwt9ldGjnt1dJ
	 cG5M8wrNiBsHECvUZsvFwpiI5Mm7Nk65AYicNr9+ZMwMMquxg1wWqDJlUtl9Qa20iD
	 JE7QgrVtux+a7Sf+TFIcXeaJFw6t83M+HY5FXLHZmRcv5v3lTTJHly8DbnKQ+nG8xB
	 jY41iHIUTU+9kOhEOdAjfbPGYcpa4gkIAd6MiiQy/Qk06s78c7333qwpDixGfjJFkI
	 f9lRzH3J5X1LBJjSfgP6J7KBAruHhBZOwhlg/b4hHtq/t4c3DsaXG/RB/vjsvOY06s
	 oBDoZG4xGZk7w==
Date: Mon, 31 Mar 2025 22:05:57 +0000
To: Stefano Stabellini <sstabellini@kernel.org>
From: Denis Mukhin <dmkhn@proton.me>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, dmukhin@ford.com
Subject: Re: [PATCH v2] x86/irq: introduce APIC_VECTOR_VALID()
Message-ID: <8SMetgSD1uoMZImiRB3XaYH-5w9kuIQG-nWdEjCYMeNSelRS5Jo1XPmLMNjCiZ_PXnFuz3I_4IJiqZojUzgkordBmaU5kWZgCbN32ol9IaY=@proton.me>
In-Reply-To: <alpine.DEB.2.22.394.2503241630590.2325679@ubuntu-linux-20-04-desktop>
References: <20250320230339.3897874-1-dmukhin@ford.com> <7b16c87d-f2af-451e-a58f-36461a697ad7@citrix.com> <S3vHcnDhAQjiX22Mole-rMLN7kVyt0VJlMkbW8xjdR2IA-iisSKw2vpD5-_gZcxu0cn3UmyOgx8xchOuXUNx4SuhfvL5TrcWCyJOr46ueS8=@proton.me> <alpine.DEB.2.22.394.2503241630590.2325679@ubuntu-linux-20-04-desktop>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 8c6ad6d5d8cfc1485cf90c43e15e73e9ff662529
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Monday, March 24th, 2025 at 4:32 PM, Stefano Stabellini <sstabellini@ker=
nel.org> wrote:

>=20
>=20
> On Mon, 24 Mar 2025, Denis Mukhin wrote:
>=20
> > On Monday, March 24th, 2025 at 6:51 AM, Andrew Cooper andrew.cooper3@ci=
trix.com wrote:
> >=20
> > > On 20/03/2025 11:05 pm, dmkhn@proton.me wrote:
> > >=20
> > > > Add new macro APIC_VECTOR_VALID() to validate the interrupt vector
> > > > range as per [1]. This macro replaces hardcoded checks against the
> > > > open-coded value 16 in LAPIC and virtual LAPIC code and simplifies
> > > > the code a bit.
> > > >=20
> > > > [1] Intel SDM volume 3A
> > > > Chapter "ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER"
> > > > Section "Valid Interrupt Vectors"
> > > >=20
> > > > Signed-off-by: Denis Mukhin dmukhin@ford.com
> > >=20
> > > Would it be possible to adjust your git configuration so committer is
> > > set to Denis Mukhin dmukhin@ford.com ?
> > >=20
> > > Right now, it takes manual fixup to prevent your commits going in as
> > > authored by dmkhn@proton.me, and one already slipped through.
> > > https://xenbits.xen.org/gitweb/?p=3Dxen.git&a=3Dsearch&h=3Drefs%2Fhea=
ds%2Fstaging&st=3Dauthor&s=3Ddmkhn%40proton.me
> >=20
> > I will fix my environment, sorry for inconvenience.
> > Thanks!
>=20
>=20
> Hi Denis,
>=20
> FYI it is suffiecient to add:
>=20
> From: Denis Mukhin dmukhin@ford.com
>=20
>=20
> as part of the body of the email (first line), git will automatically
> pick it up for the Author field. You don't necessarily need to change
> your email setup.

Thanks!



From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:05:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933114.1335146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOCI-0003Wh-IE; Mon, 31 Mar 2025 23:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933114.1335146; Mon, 31 Mar 2025 23:05: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 1tzOCI-0003Wa-Ev; Mon, 31 Mar 2025 23:05:38 +0000
Received: by outflank-mailman (input) for mailman id 933114;
 Mon, 31 Mar 2025 23:05: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOCG-0003Id-St
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:05:36 +0000
Received: from mail-10630.protonmail.ch (mail-10630.protonmail.ch
 [79.135.106.30]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a73f650e-0e84-11f0-9ffb-bf95429c2676;
 Tue, 01 Apr 2025 01:05:35 +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: a73f650e-0e84-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743462333; x=1743721533;
	bh=P4yUAieCFUccYuxlmELh6hErnzZb8oGQtjdxvGGyV3c=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=U5AkLS0wHS8nRunrJiK1WSvCLvTqi5STt2CQoGyx3mfjLu4HoPAFx+Oo0k0D6ABCk
	 8+UNxU2FBVGFQ8KDow16P2GIA3PqOPtnl9tiE829fTjkuuj5j7KxILj17Cti48SMY6
	 HI8meuGCmtYJSQMVBq+evlfKJheOyifr2ou0hRErN7QycD5p3RqoPBMCIx+k7qttRI
	 1MbAuauuwfJ3CbTj0i4kJ+Gnvw15ff03KytfUMlD9jQIWLY8bq8AkC8i0QrIG+J+Wh
	 HvylXdq151ZEqMbNrUj11q73kEXazbV3hk2Lhep5N1aSGHQUbL8ih+iivWvzIaH4ld
	 DsuxI+lYZnVXQ==
Date: Mon, 31 Mar 2025 23:05:29 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 1/7] xen/console: introduce console input permission
Message-ID: <20250331230508.440198-2-dmukhin@ford.com>
In-Reply-To: <20250331230508.440198-1-dmukhin@ford.com>
References: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: d22bea445843c75aa7cd8d61b6b10d7d282769c7
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Add new flag in domain structure for marking permission to intercept
the physical console input by the domain.

Update console input switch logic accordingly.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v1:
- dropped change in __serial_rx()
---
 xen/arch/arm/vpl011.c      |  2 ++
 xen/arch/x86/pv/shim.c     |  2 ++
 xen/common/domain.c        |  2 ++
 xen/drivers/char/console.c | 32 +++++++++++++++++++++++++++-----
 xen/include/xen/sched.h    |  8 +++++++-
 5 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 66047bf33c..147958eee8 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -737,6 +737,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_=
init_info *info)
     register_mmio_handler(d, &vpl011_mmio_handler,
                           vpl011->base_addr, GUEST_PL011_SIZE, NULL);
=20
+    d->console.input_allowed =3D true;
+
     return 0;
=20
 out1:
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index c506cc0bec..bc2a7dd5fa 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -238,6 +238,8 @@ void __init pv_shim_setup_dom(struct domain *d, l4_pgen=
try_t *l4start,
      * guest from depleting the shim memory pool.
      */
     d->max_pages =3D domain_tot_pages(d);
+
+    d->console.input_allowed =3D true;
 }
=20
 static void write_start_info(struct domain *d)
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 585fd726a9..b9f549c617 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -827,6 +827,8 @@ struct domain *domain_create(domid_t domid,
=20
         old_hwdom =3D hardware_domain;
         hardware_domain =3D d;
+
+        d->console.input_allowed =3D true;
     }
=20
     TRACE_TIME(TRC_DOM0_DOM_ADD, d->domain_id);
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index c3150fbdb7..b312a1223e 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -474,11 +474,26 @@ static unsigned int __read_mostly console_rx =3D 0;
=20
 #define max_console_rx (max_init_domid + 1)
=20
+static struct domain *console_get_domain_by_id(domid_t domid)
+{
+    struct domain *d =3D rcu_lock_domain_by_id(domid);
+
+    if ( !d )
+        return NULL;
+
+    if ( d->console.input_allowed )
+        return d;
+
+    rcu_unlock_domain(d);
+
+    return NULL;
+}
+
 struct domain *console_get_domain(void)
 {
     if ( console_rx =3D=3D 0 )
             return NULL;
-    return rcu_lock_domain_by_id(console_rx - 1);
+    return console_get_domain_by_id(console_rx - 1);
 }
=20
 void console_put_domain(struct domain *d)
@@ -487,6 +502,15 @@ void console_put_domain(struct domain *d)
         rcu_unlock_domain(d);
 }
=20
+static bool console_is_input_allowed(domid_t domid)
+{
+    struct domain *d =3D console_get_domain_by_id(domid);
+
+    console_put_domain(d);
+
+    return !!d;
+}
+
 static void switch_serial_input(void)
 {
     unsigned int next_rx =3D console_rx;
@@ -498,7 +522,6 @@ static void switch_serial_input(void)
     for ( ; ; )
     {
         domid_t domid;
-        struct domain *d;
=20
         if ( next_rx++ >=3D max_console_rx )
         {
@@ -511,10 +534,9 @@ static void switch_serial_input(void)
             domid =3D get_initial_domain_id();
         else
             domid =3D next_rx - 1;
-        d =3D rcu_lock_domain_by_id(domid);
-        if ( d )
+
+        if ( console_is_input_allowed(domid) )
         {
-            rcu_unlock_domain(d);
             console_rx =3D next_rx;
             printk("*** Serial input to DOM%u", domid);
             break;
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 559d201e0c..292b1a91f9 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -512,7 +512,7 @@ struct domain
     bool             auto_node_affinity;
     /* Is this guest fully privileged (aka dom0)? */
     bool             is_privileged;
-    /* Can this guest access the Xen console? */
+    /* XSM: permission to use HYPERCALL_console_io hypercall */
     bool             is_console;
     /* Is this guest being debugged by dom0? */
     bool             debugger_attached;
@@ -651,6 +651,12 @@ struct domain
     unsigned int num_llc_colors;
     const unsigned int *llc_colors;
 #endif
+
+    /* Console settings. */
+    struct {
+        /* Permission to own physical console input. */
+        bool input_allowed;
+    } console;
 } __aligned(PAGE_SIZE);
=20
 static inline struct page_list_head *page_to_list(
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:05:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933115.1335155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOCL-0003m2-OQ; Mon, 31 Mar 2025 23:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933115.1335155; Mon, 31 Mar 2025 23: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 1tzOCL-0003lt-LP; Mon, 31 Mar 2025 23:05:41 +0000
Received: by outflank-mailman (input) for mailman id 933115;
 Mon, 31 Mar 2025 23:05: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOCJ-0003Id-Ve
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:05:39 +0000
Received: from mail-24417.protonmail.ch (mail-24417.protonmail.ch
 [109.224.244.17]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8ee703a-0e84-11f0-9ffb-bf95429c2676;
 Tue, 01 Apr 2025 01:05:38 +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: a8ee703a-0e84-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743462337; x=1743721537;
	bh=dyXCUi+vmDLIhO4Pef6I/Jb6d7Tp3JhCzVlgaMYn8zA=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=CVrRv41s7ikszRZ1TD7hqNSvr7SfqUuX4M3w3zdW2qkcrSoWhgHfdDKKwyM1xEoU5
	 0sF2u7EaaT88jd1bXRa2v3uKHgujlUwBa54CGQ4cUvKEH/pPvFnhTkoe17wpyvB42D
	 7p0/9SFfXfVxlnY9mL2NbgW8xOGOddbaARz/Ojj0GFotyWg7RtnEOmjTknL2LnFF9J
	 Ek9ChGaaEx705E6Khbs7zpW59vjrP8usoxs6xZALvql14Hj+n+A+QiXPr2J5m0ik8v
	 4BBdAhF/na64PfZ96GRqUOisQMYdww6g0TamQnZfx831VI7NeacVh+nyK8ZpnYmhGK
	 lLyj1cing/maA==
Date: Mon, 31 Mar 2025 23:05:33 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 2/7] xen/domain: introduce domid_alloc()
Message-ID: <20250331230508.440198-3-dmukhin@ford.com>
In-Reply-To: <20250331230508.440198-1-dmukhin@ford.com>
References: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 34cd198a2bef150aa01177dde758ad9e039cc326
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Move domain ID allocation during domain creation to a dedicated
function domid_alloc().

Allocation algorithm:
- If an explicit domain ID is provided, verify its availability and
  use it if ID is unused;
- Otherwise, perform an exhaustive search for the first available ID
  within the [0..DOMID_FIRST_RESERVED) range, excluding hardware_domid.

This minimizes the use of max_init_domid in the code and, thus, is a
prerequisite change for enabling console input rotation across domains
with console input permission on x86 platforms (which currently is
limited to dom0, PV shim and Xen).

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v1:
- use domid_alloc() during dom0 creation on x86
---
 xen/arch/arm/dom0less-build.c | 15 ++++++------
 xen/arch/arm/domain_build.c   | 19 +++++++++++----
 xen/arch/x86/setup.c          |  8 ++++++-
 xen/common/domain.c           | 45 +++++++++++++++++++++++++++++++++++
 xen/common/domctl.c           | 45 ++++-------------------------------
 xen/include/xen/domain.h      |  3 +++
 6 files changed, 80 insertions(+), 55 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 573b0d25ae..4b9e22039e 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -975,14 +975,18 @@ void __init create_domUs(void)
             .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_versio=
n),
         };
         unsigned int flags =3D 0U;
+        domid_t domid;
         uint32_t val;
         int rc;
=20
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
=20
-        if ( (max_init_domid + 1) >=3D DOMID_FIRST_RESERVED )
-            panic("No more domain IDs available\n");
+        rc =3D domid_alloc(DOMID_AUTO);
+        if ( rc < 0 )
+            panic("cannot allocate domain ID for domain %s (rc =3D %d)\n",
+                  dt_node_name(node), rc);
+        domid =3D rc;
=20
         if ( dt_find_property(node, "xen,static-mem", NULL) )
         {
@@ -1107,12 +1111,7 @@ void __init create_domUs(void)
         if ( !llc_coloring_enabled && llc_colors_str )
             panic("'llc-colors' found, but LLC coloring is disabled\n");
=20
-        /*
-         * The variable max_init_domid is initialized with zero, so here i=
t's
-         * very important to use the pre-increment operator to call
-         * domain_create() with a domid > 0. (domid =3D=3D 0 is reserved f=
or Dom0)
-         */
-        d =3D domain_create(++max_init_domid, &d_cfg, flags);
+        d =3D domain_create(domid, &d_cfg, flags);
         if ( IS_ERR(d) )
             panic("Error creating domain %s (rc =3D %ld)\n",
                   dt_node_name(node), PTR_ERR(d));
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2b5b433183..2d8c2931d6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2367,8 +2367,15 @@ void __init create_dom0(void)
         .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
     };
     unsigned int flags =3D CDF_privileged;
+    domid_t domid;
     int rc;
=20
+    rc =3D domid_alloc(get_initial_domain_id());
+    if ( rc < 0 )
+        panic("Cannot use domain ID %d (rc =3D %d)\n",
+              get_initial_domain_id(), rc);
+    domid =3D rc;
+
     /* The vGIC for DOM0 is exactly emulating the hardware GIC */
     dom0_cfg.arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE;
     dom0_cfg.arch.nr_spis =3D VGIC_DEF_NR_SPIS;
@@ -2391,19 +2398,21 @@ void __init create_dom0(void)
     if ( !llc_coloring_enabled )
         flags |=3D CDF_directmap;
=20
-    dom0 =3D domain_create(0, &dom0_cfg, flags);
+    dom0 =3D domain_create(domid, &dom0_cfg, flags);
     if ( IS_ERR(dom0) )
-        panic("Error creating domain 0 (rc =3D %ld)\n", PTR_ERR(dom0));
+        panic("Error creating domain %d (rc =3D %ld)\n", domid, PTR_ERR(do=
m0));
=20
     if ( llc_coloring_enabled && (rc =3D dom0_set_llc_colors(dom0)) )
-        panic("Error initializing LLC coloring for domain 0 (rc =3D %d)\n"=
, rc);
+        panic("Error initializing LLC coloring for domain %d (rc =3D %d)\n=
",
+              domid, rc);
=20
     if ( alloc_dom0_vcpu0(dom0) =3D=3D NULL )
-        panic("Error creating domain 0 vcpu0\n");
+        panic("Error creating domain %d vcpu0\n", domid);
=20
     rc =3D construct_dom0(dom0);
     if ( rc )
-        panic("Could not set up DOM0 guest OS (rc =3D %d)\n", rc);
+        panic("Could not set up guest OS for domain %d (rc =3D %d)\n",
+              domid, rc);
 }
=20
 /*
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index d70abb7e0c..ad349528ea 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -996,6 +996,7 @@ static struct domain *__init create_dom0(struct boot_in=
fo *bi)
     domid_t domid;
     struct boot_module *image;
     unsigned int idx;
+    int rc;
=20
     idx =3D first_boot_module_index(bi, BOOTMOD_KERNEL);
     if ( idx >=3D bi->nr_modules )
@@ -1003,6 +1004,12 @@ static struct domain *__init create_dom0(struct boot=
_info *bi)
=20
     image =3D &bi->mods[idx];
=20
+    rc =3D domid_alloc(get_initial_domain_id());
+    if ( rc < 0 )
+        panic("Cannot use domain ID %d (rc =3D %d)\n",
+              get_initial_domain_id(), rc);
+    domid =3D rc;
+
     if ( opt_dom0_pvh )
     {
         dom0_cfg.flags |=3D (XEN_DOMCTL_CDF_hvm |
@@ -1017,7 +1024,6 @@ static struct domain *__init create_dom0(struct boot_=
info *bi)
         dom0_cfg.flags |=3D XEN_DOMCTL_CDF_iommu;
=20
     /* Create initial domain.  Not d0 for pvshim. */
-    domid =3D get_initial_domain_id();
     d =3D domain_create(domid, &dom0_cfg, pv_shim ? 0 : CDF_privileged);
     if ( IS_ERR(d) )
         panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
diff --git a/xen/common/domain.c b/xen/common/domain.c
index b9f549c617..b07d70a7e3 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -66,6 +66,51 @@ DEFINE_RCU_READ_LOCK(domlist_read_lock);
 static struct domain *domain_hash[DOMAIN_HASH_SIZE];
 struct domain *domain_list;
=20
+static inline bool is_free_domid(domid_t dom)
+{
+    struct domain *d =3D rcu_lock_domain_by_id(dom);
+
+    if ( d )
+        rcu_unlock_domain(d);
+
+    return !d;
+}
+
+/*
+ * Allocate new domain ID based on the hint.
+ *
+ * If hint is outside of valid [0..DOMID_FIRST_RESERVED] range of IDs,
+ * perform an exhaustive search of the first free domain ID excluding
+ * hardware_domid.
+ */
+int domid_alloc(int hint)
+{
+    domid_t domid;
+
+    if ( hint >=3D 0 && hint < DOMID_FIRST_RESERVED )
+    {
+        if ( !is_free_domid(hint) )
+            return -EEXIST;
+
+        domid =3D hint;
+    }
+    else
+    {
+        for ( domid =3D 0; domid < DOMID_FIRST_RESERVED; domid++ )
+        {
+            if ( domid =3D=3D hardware_domid )
+                continue;
+            if ( is_free_domid(domid) )
+                break;
+        }
+
+        if ( domid =3D=3D DOMID_FIRST_RESERVED )
+            return -ENOMEM;
+    }
+
+    return domid;
+}
+
 /*
  * Insert a domain into the domlist/hash.  This allows the domain to be lo=
oked
  * up by domid, and therefore to be the subject of hypercalls/etc.
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index bfe2e1f9f0..3d21612660 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -49,20 +49,6 @@ static int xenctl_bitmap_to_nodemask(nodemask_t *nodemas=
k,
                                    MAX_NUMNODES);
 }
=20
-static inline int is_free_domid(domid_t dom)
-{
-    struct domain *d;
-
-    if ( dom >=3D DOMID_FIRST_RESERVED )
-        return 0;
-
-    if ( (d =3D rcu_lock_domain_by_id(dom)) =3D=3D NULL )
-        return 1;
-
-    rcu_unlock_domain(d);
-    return 0;
-}
-
 void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info=
)
 {
     struct vcpu *v;
@@ -421,34 +407,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u=
_domctl)
=20
     case XEN_DOMCTL_createdomain:
     {
-        domid_t        dom;
-        static domid_t rover =3D 0;
+        ret =3D domid_alloc(op->domain);
+        if ( ret < 0 )
+            break;
=20
-        dom =3D op->domain;
-        if ( (dom > 0) && (dom < DOMID_FIRST_RESERVED) )
-        {
-            ret =3D -EEXIST;
-            if ( !is_free_domid(dom) )
-                break;
-        }
-        else
-        {
-            for ( dom =3D rover + 1; dom !=3D rover; dom++ )
-            {
-                if ( dom =3D=3D DOMID_FIRST_RESERVED )
-                    dom =3D 1;
-                if ( is_free_domid(dom) )
-                    break;
-            }
-
-            ret =3D -ENOMEM;
-            if ( dom =3D=3D rover )
-                break;
-
-            rover =3D dom;
-        }
-
-        d =3D domain_create(dom, &op->u.createdomain, false);
+        d =3D domain_create(ret, &op->u.createdomain, false);
         if ( IS_ERR(d) )
         {
             ret =3D PTR_ERR(d);
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 83069de501..9b7159a743 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -37,6 +37,9 @@ void arch_get_domain_info(const struct domain *d,
=20
 domid_t get_initial_domain_id(void);
=20
+#define DOMID_AUTO               (-1)
+int domid_alloc(int hint);
+
 /* CDF_* constant. Internal flags for domain creation. */
 /* Is this a privileged domain? */
 #define CDF_privileged           (1U << 0)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:05:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933113.1335135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOCG-0003Iq-Bm; Mon, 31 Mar 2025 23:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933113.1335135; Mon, 31 Mar 2025 23:05: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 1tzOCG-0003Ij-93; Mon, 31 Mar 2025 23:05:36 +0000
Received: by outflank-mailman (input) for mailman id 933113;
 Mon, 31 Mar 2025 23:05: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOCD-0003Id-Fl
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:05:34 +0000
Received: from mail-24418.protonmail.ch (mail-24418.protonmail.ch
 [109.224.244.18]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3c8ebde-0e84-11f0-9ffb-bf95429c2676;
 Tue, 01 Apr 2025 01:05: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: a3c8ebde-0e84-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743462328; x=1743721528;
	bh=bx402NalM9Q9561gDSzMNIBVydfKL7X0jaCGQHifp7Q=;
	h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
	 List-Unsubscribe:List-Unsubscribe-Post;
	b=O+P5iBK2RFFDqIoNVIgO2n8Dujp7YJOJ618PNTq7XBtWz50t8U5QqLnMh8p7VXDN5
	 Z6NJ3IPF2vDnDDXzSuPfc9DzZ3RvrATqB1gqsNnfbcoaK6xjer5jKGiA7JKhbh9DSd
	 aeBSuMdfeihF2uqge484jtikT4yQEcYgTYT3iXopQmkQVVNInZNkQEP25Hoj6BJnMA
	 V5PT0J+b2M84tWq2IW4TRKnusHhnb7l8QUDV7OT+dZcd3RrZqDBA8EUxT5S8++nqbR
	 pD7JAuZZP5f3q1L4iAMqVo56vZPzkRJT+OV/0Ec2uz98UrI1yWAJvAw19xW9PuDkef
	 FCZBrsf1HmTpA==
Date: Mon, 31 Mar 2025 23:05:24 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 0/7] xen/console: cleanup console input switch logic
Message-ID: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: db5457489bbde1121d88189599b6978ebbff108d
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Currently, on x86, console input can be rotated in round-robin manner
only between dom0, PV shim, and Xen itself. On Arm the input rotation
can include domUs with vpl011.
 =20
The patch series introduces the concept of "console focus", which is
defined as the ID of the domain that currently owns the physical console
input.
 =20
The patch series originates from the NS16550 UART emulator series [1]
for x86, which requires ability to switch physical console input to a
PVH/HVM domain with an emulated UART.
=20
The main idea is introducing a per-domain permission flag that is set
during domain initialization and used by the console driver to switch
the input across permitted domains.

Patch 1 introduces a new domain permission flag to mark ownership of the
console input for the console driver.
=20
Patches 2, 3 prepare console driver to allow console input rotation
across multiple domains based on the new permission flag. Patch 3
depends on patch 2.

Patches 4, 5 perform mechanical renames to fit the usage in the code.
=20
Patch 6 cleans up the console input switch logic; depends on patches
3, 4, 5.

Patch 7 simplifies the existing vUART code by using newly introduced APIs,
depends on patch 5.

[1] https://lore.kernel.org/xen-devel/20250103-vuart-ns8250-v3-v1-0-c5d36b3=
1d66c@ford.com/
[2] Link to CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelin=
es/1745537898
[3] Link to v1: https://lore.kernel.org/xen-devel/20250318233617.849903-1-d=
mukhin@ford.com/=20

Denis Mukhin (7):
  xen/console: introduce console input permission
  xen/domain: introduce domid_alloc()
  xen/domain: introduce domid_top()
  xen/console: rename switch_serial_input() to console_switch_input()
  xen/console: rename console_rx to console_focus
  xen/console: introduce console_set_focus()
  xen/console: introduce console_get_focus()

 xen/arch/arm/dom0less-build.c      |  15 ++--
 xen/arch/arm/domain_build.c        |  19 +++--
 xen/arch/arm/include/asm/setup.h   |   2 -
 xen/arch/arm/setup.c               |   2 -
 xen/arch/arm/vpl011.c              |   7 +-
 xen/arch/ppc/include/asm/setup.h   |   2 -
 xen/arch/riscv/include/asm/setup.h |   2 -
 xen/arch/x86/include/asm/setup.h   |   2 -
 xen/arch/x86/pv/shim.c             |   2 +
 xen/arch/x86/setup.c               |   8 +-
 xen/common/domain.c                |  70 +++++++++++++++++
 xen/common/domctl.c                |  45 +----------
 xen/drivers/char/console.c         | 121 ++++++++++++++++-------------
 xen/include/xen/console.h          |   3 +-
 xen/include/xen/domain.h           |   4 +
 xen/include/xen/sched.h            |   8 +-
 16 files changed, 186 insertions(+), 126 deletions(-)

--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:05:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:05:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933118.1335167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOCT-00047p-6n; Mon, 31 Mar 2025 23:05:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933118.1335167; Mon, 31 Mar 2025 23:05: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 1tzOCT-00047S-0j; Mon, 31 Mar 2025 23:05:49 +0000
Received: by outflank-mailman (input) for mailman id 933118;
 Mon, 31 Mar 2025 23:05: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOCR-00041G-N6
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:05:47 +0000
Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae1519ff-0e84-11f0-9ea7-5ba50f476ded;
 Tue, 01 Apr 2025 01:05:47 +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: ae1519ff-0e84-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=qqcmz64trjcffpymyxvqi372ju.protonmail; t=1743462346; x=1743721546;
	bh=4TUVPVTtCJK3dKtje9YIdGrxMpCfMsMEMufsQMdkvLM=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=c1aGoYaMkjjaSPKhN1zoD2OBXJOrZ7tr77WobI/YN7NcZt7ebUpcyEmWXZc709qje
	 ev/D23rGNyzj94Sklkh/HMC1Tr1KN+8CkxGH8T783GOHtOsw91ovPV1CqUyDxDGU4G
	 04EyfLAaPFipJx3EK+2mivsuCvw4J24o62R1PnOi+RZUNYoF1w8pLyxkPbb1fi85g3
	 SydS1kKz7gO4WvnsMNkhRsv4leNqizwQ8/C6IRR1bWroFWP1nh/UB+zAIeTjAfh3Es
	 ApbkZeVjzhIM4qfX0opPBVIK8eqLx+z1D8ZyDaDvAiVcKOlATtbxpGCRDEvwECkvR/
	 ta8EzW7yOQNOg==
Date: Mon, 31 Mar 2025 23:05:39 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 3/7] xen/domain: introduce domid_top()
Message-ID: <20250331230508.440198-4-dmukhin@ford.com>
In-Reply-To: <20250331230508.440198-1-dmukhin@ford.com>
References: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: e8cabdd52b024f1f8877b00cfc5c255bdba045e5
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Introduce domid_top() in architecture-independent location to retrieve
the highest non-system domain ID for use in console input switch logic.

Replace max_init_domid with domid_top(), which obsoletes max_init_domid
in the code base.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v1:
- promote domid_top to a function which walks through the list of domains
  to identify the highest non-system domain ID which should be considered
  for console input rotation
- elimitate use of max_init_domid
---
 xen/arch/arm/include/asm/setup.h   |  2 --
 xen/arch/arm/setup.c               |  2 --
 xen/arch/ppc/include/asm/setup.h   |  2 --
 xen/arch/riscv/include/asm/setup.h |  2 --
 xen/arch/x86/include/asm/setup.h   |  2 --
 xen/common/domain.c                | 23 +++++++++++++++++++++++
 xen/drivers/char/console.c         |  2 +-
 xen/include/xen/domain.h           |  1 +
 8 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/se=
tup.h
index 6cf272c160..f107e8eebb 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -25,8 +25,6 @@ struct map_range_data
     struct rangeset *irq_ranges;
 };
=20
-extern domid_t max_init_domid;
-
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
=20
 size_t estimate_efi_size(unsigned int mem_nr_banks);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index bf39d41e9b..143808f592 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -60,8 +60,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
 bool __read_mostly acpi_disabled;
 #endif
=20
-domid_t __read_mostly max_init_domid;
-
 static __used void init_done(void)
 {
     int rc;
diff --git a/xen/arch/ppc/include/asm/setup.h b/xen/arch/ppc/include/asm/se=
tup.h
index e4f64879b6..956fa6985a 100644
--- a/xen/arch/ppc/include/asm/setup.h
+++ b/xen/arch/ppc/include/asm/setup.h
@@ -1,6 +1,4 @@
 #ifndef __ASM_PPC_SETUP_H__
 #define __ASM_PPC_SETUP_H__
=20
-#define max_init_domid (0)
-
 #endif /* __ASM_PPC_SETUP_H__ */
diff --git a/xen/arch/riscv/include/asm/setup.h b/xen/arch/riscv/include/as=
m/setup.h
index c9d69cdf51..d1fc64b673 100644
--- a/xen/arch/riscv/include/asm/setup.h
+++ b/xen/arch/riscv/include/asm/setup.h
@@ -5,8 +5,6 @@
=20
 #include <xen/types.h>
=20
-#define max_init_domid (0)
-
 void setup_mm(void);
=20
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/se=
tup.h
index 5c2391a868..296348655b 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -69,6 +69,4 @@ extern bool opt_dom0_verbose;
 extern bool opt_dom0_cpuid_faulting;
 extern bool opt_dom0_msr_relaxed;
=20
-#define max_init_domid (0)
-
 #endif
diff --git a/xen/common/domain.c b/xen/common/domain.c
index b07d70a7e3..8e8e784b46 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -111,6 +111,29 @@ int domid_alloc(int hint)
     return domid;
 }
=20
+/*
+ * Retrieve the highest known non-system domain ID.
+ */
+domid_t domid_top(void)
+{
+    struct domain *d;
+    domid_t i =3D 0;
+
+    spin_lock(&domlist_update_lock);
+
+    for ( d =3D domain_list;
+          d && (d->domain_id < DOMID_FIRST_RESERVED);
+          d =3D d->next_in_list )
+    {
+        if ( i < d->domain_id )
+            i =3D d->domain_id;
+    }
+
+    spin_unlock(&domlist_update_lock);
+
+    return i;
+}
+
 /*
  * Insert a domain into the domlist/hash.  This allows the domain to be lo=
oked
  * up by domid, and therefore to be the subject of hypercalls/etc.
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index b312a1223e..54163e93fb 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -472,7 +472,7 @@ static void cf_check dump_console_ring_key(unsigned cha=
r key)
  */
 static unsigned int __read_mostly console_rx =3D 0;
=20
-#define max_console_rx (max_init_domid + 1)
+#define max_console_rx (domid_top() + 1)
=20
 static struct domain *console_get_domain_by_id(domid_t domid)
 {
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 9b7159a743..c3dda8edf2 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -35,6 +35,7 @@ void getdomaininfo(struct domain *d, struct xen_domctl_ge=
tdomaininfo *info);
 void arch_get_domain_info(const struct domain *d,
                           struct xen_domctl_getdomaininfo *info);
=20
+domid_t domid_top(void);
 domid_t get_initial_domain_id(void);
=20
 #define DOMID_AUTO               (-1)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:05:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933131.1335176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOCc-0004me-Bj; Mon, 31 Mar 2025 23:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933131.1335176; Mon, 31 Mar 2025 23:05: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 1tzOCc-0004mX-8F; Mon, 31 Mar 2025 23:05:58 +0000
Received: by outflank-mailman (input) for mailman id 933131;
 Mon, 31 Mar 2025 23:05: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOCb-00041G-3f
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:05:57 +0000
Received: from mail-10629.protonmail.ch (mail-10629.protonmail.ch
 [79.135.106.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3c3c743-0e84-11f0-9ea7-5ba50f476ded;
 Tue, 01 Apr 2025 01:05: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: b3c3c743-0e84-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743462355; x=1743721555;
	bh=fFhCvlB/1zqro9CkPetkZk3bqFHwLxMCAaqoQPXzqBA=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=DO7B4oP0DNoI1UvAj5bAZiTIh7kMYXc3vLUqJ9nqfYR/csV+ncsFsmY4gM534ZmOi
	 78v2Pl5aD02A6GLFWbc4O0e3o1Ndww8GR2YbkyiGKFbxrP+t6bjiXk3ZR6IruHdoSV
	 oMJru/PfOz0z7Wq4RS77N+T/E7vWEQHfPgfC9+sb6DBOUEd9afQHx5wXmHByHirtTY
	 mW4R5u6OKRJyucHgJmuOc9nDX0vD2II0Qjvoou60m9ipRW1+bu8xr+NLxKXE+Nk3Xt
	 VM6z/7AhKrb9c2nv1wCrjfLmOKjTiCTlTRA1zOz/qSP0DesLgkT1J4wbTVq/hlxfBN
	 gV1H5OSsydC5A==
Date: Mon, 31 Mar 2025 23:05:48 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 4/7] xen/console: rename switch_serial_input() to console_switch_input()
Message-ID: <20250331230508.440198-5-dmukhin@ford.com>
In-Reply-To: <20250331230508.440198-1-dmukhin@ford.com>
References: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: b14ccfa3a58e4e78b6fca6b051d930587e309221
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Update the name to emphasize the physical console input switch to a
new owner domain following the naming notation in the console driver.

No functional change.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v1:
- rename console_switch_focus() to console_switch_input()
---
 xen/drivers/char/console.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 54163e93fb..48da4e5838 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -511,7 +511,7 @@ static bool console_is_input_allowed(domid_t domid)
     return !!d;
 }
=20
-static void switch_serial_input(void)
+static void console_switch_input(void)
 {
     unsigned int next_rx =3D console_rx;
=20
@@ -603,7 +603,7 @@ static void cf_check serial_rx(char c)
         /* We eat CTRL-<switch_char> in groups of 3 to switch console inpu=
t. */
         if ( ++switch_code_count =3D=3D 3 )
         {
-            switch_serial_input();
+            console_switch_input();
             switch_code_count =3D 0;
         }
         return;
@@ -1147,7 +1147,7 @@ void __init console_endboot(void)
                             "toggle host/guest log level adjustment", 0);
=20
     /* Serial input is directed to DOM0 by default. */
-    switch_serial_input();
+    console_switch_input();
 }
=20
 int __init console_has(const char *device)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:10:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:10:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933159.1335187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOHA-0007Te-Ss; Mon, 31 Mar 2025 23:10:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933159.1335187; Mon, 31 Mar 2025 23:10: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 1tzOHA-0007TX-OX; Mon, 31 Mar 2025 23:10:40 +0000
Received: by outflank-mailman (input) for mailman id 933159;
 Mon, 31 Mar 2025 23:10: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOCv-0003Id-9M
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:06:17 +0000
Received: from mail-10629.protonmail.ch (mail-10629.protonmail.ch
 [79.135.106.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf3b71f5-0e84-11f0-9ffb-bf95429c2676;
 Tue, 01 Apr 2025 01:06:15 +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: bf3b71f5-0e84-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743462374; x=1743721574;
	bh=nA0e2TwhrmernoJeWCrYjCUgWR7cF87XdlQEarMxjlo=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=C6nqmLNoL0nngaACQE0eRKjc2s9vhF7zfdMbcxNdvETuI/R0oRSeLe64aXvCDwrD2
	 BgLS/D3PTGou0OmQiTiNy+IwITGqtVHncvV4+gAQlBk+ReMDJ4S0lKmKjjI19k5AuD
	 IEKZ1VldXSX7+cI8WYC7ZQnB6Civpc+fDs0IgoOwCmWAgdcOK53FkEjNLkSLtea+TR
	 pjPID1RgMXiTv5Mzd2bXewXe0IiLJylQ0rJ4EkiOA6gkc/zwnTeRZAsMvoqWGE3Br2
	 jW0/aLBr0HBMYjMyeW356e1i/9p7J66NTpdsMBDLXq+3+2LUSTZdqxq01IjNc3Lb2a
	 MBRdli7mNQ4wg==
Date: Mon, 31 Mar 2025 23:06:05 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 6/7] xen/console: introduce console_set_focus()
Message-ID: <20250331230508.440198-7-dmukhin@ford.com>
In-Reply-To: <20250331230508.440198-1-dmukhin@ford.com>
References: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 9cf4c79d70e4712c1505e0ff6c87326deab81cd4
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Switch console_focus address space from integers mapped to domain IDs to
direct domain IDs, simplifying the console input switching code.

Introduce console_set_focus() to set the console owner domain identifier.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v1:
- update console_focus description
---
 xen/drivers/char/console.c | 88 ++++++++++++++++----------------------
 1 file changed, 37 insertions(+), 51 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 42974c0af7..9905ffd6b9 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -462,17 +462,12 @@ static void cf_check dump_console_ring_key(unsigned c=
har key)
=20
 /*
  * CTRL-<switch_char> changes input direction, rotating among Xen, Dom0,
- * and the DomUs started from Xen at boot.
+ * and the DomUs.
  */
 #define switch_code (opt_conswitch[0]-'a'+1)
-/*
- * console_rx=3D0 =3D> input to xen
- * console_rx=3D1 =3D> input to dom0 (or the sole shim domain)
- * console_rx=3DN =3D> input to dom(N-1)
- */
-static unsigned int __read_mostly console_focus =3D 0;
=20
-#define max_console_rx (domid_top() + 1)
+/* Console owner domain identifier. */
+static domid_t __read_mostly console_focus =3D DOMID_XEN;
=20
 static struct domain *console_get_domain_by_id(domid_t domid)
 {
@@ -491,9 +486,7 @@ static struct domain *console_get_domain_by_id(domid_t =
domid)
=20
 struct domain *console_get_domain(void)
 {
-    if ( console_focus =3D=3D 0 )
-            return NULL;
-    return console_get_domain_by_id(console_focus - 1);
+    return console_get_domain_by_id(console_focus);
 }
=20
 void console_put_domain(struct domain *d)
@@ -511,42 +504,43 @@ static bool console_is_input_allowed(domid_t domid)
     return !!d;
 }
=20
-static void console_switch_input(void)
+/*
+ * Set owner of the physical console input.
+ */
+static bool cf_check console_set_focus(domid_t domid)
 {
-    unsigned int next_rx =3D console_focus;
+    if ( domid =3D=3D DOMID_XEN )
+        printk("*** Serial input to Xen");
+    else if ( console_is_input_allowed(domid) )
+        printk("*** Serial input to DOM%u", domid);
+    else
+        return false;
=20
-    /*
-     * Rotate among Xen, dom0 and boot-time created domUs while skipping
-     * switching serial input to non existing domains.
-     */
-    for ( ; ; )
-    {
-        domid_t domid;
-
-        if ( next_rx++ >=3D max_console_rx )
-        {
-            console_focus =3D 0;
-            printk("*** Serial input to Xen");
-            break;
-        }
-
-        if ( consoled_is_enabled() && next_rx =3D=3D 1 )
-            domid =3D get_initial_domain_id();
-        else
-            domid =3D next_rx - 1;
-
-        if ( console_is_input_allowed(domid) )
-        {
-            console_focus =3D next_rx;
-            printk("*** Serial input to DOM%u", domid);
-            break;
-        }
-    }
+    console_focus =3D domid;
=20
     if ( switch_code )
         printk(" (type 'CTRL-%c' three times to switch input)",
                opt_conswitch[0]);
     printk("\n");
+
+    return true;
+}
+
+/*
+ * Switch console focus.
+ * Rotates input focus among Xen and domains with console input permission=
.
+ */
+static void console_switch_input(void)
+{
+    const domid_t n =3D domid_top() + 1;
+    domid_t i =3D ( console_focus =3D=3D DOMID_XEN )
+                ? get_initial_domain_id() : console_focus + 1;
+
+    for ( ; i < n; i++ )
+        if ( console_set_focus(i) )
+            return;
+
+    ASSERT(console_set_focus(DOMID_XEN));
 }
=20
 static void __serial_rx(char c)
@@ -554,7 +548,7 @@ static void __serial_rx(char c)
     struct domain *d;
     int rc =3D 0;
=20
-    if ( console_focus =3D=3D 0 )
+    if ( console_focus =3D=3D DOMID_XEN )
         return handle_keypress(c, false);
=20
     d =3D console_get_domain();
@@ -1129,14 +1123,6 @@ void __init console_endboot(void)
=20
     video_endboot();
=20
-    /*
-     * If user specifies so, we fool the switch routine to redirect input
-     * straight back to Xen. I use this convoluted method so we still prin=
t
-     * a useful 'how to switch' message.
-     */
-    if ( opt_conswitch[1] =3D=3D 'x' )
-        console_focus =3D max_console_rx;
-
     register_keyhandler('w', dump_console_ring_key,
                         "synchronously dump console ring buffer (dmesg)", =
0);
     register_irq_keyhandler('+', &do_inc_thresh,
@@ -1146,8 +1132,8 @@ void __init console_endboot(void)
     register_irq_keyhandler('G', &do_toggle_guest,
                             "toggle host/guest log level adjustment", 0);
=20
-    /* Serial input is directed to DOM0 by default. */
-    console_switch_input();
+    if ( opt_conswitch[1] !=3D 'x' )
+        (void)console_set_focus(get_initial_domain_id());
 }
=20
 int __init console_has(const char *device)
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:10:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:10:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933160.1335196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOHG-0007wJ-3c; Mon, 31 Mar 2025 23:10:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933160.1335196; Mon, 31 Mar 2025 23:10: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 1tzOHG-0007vk-05; Mon, 31 Mar 2025 23:10:46 +0000
Received: by outflank-mailman (input) for mailman id 933160;
 Mon, 31 Mar 2025 23: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOD2-0003Id-KJ
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:06:24 +0000
Received: from mail-24418.protonmail.ch (mail-24418.protonmail.ch
 [109.224.244.18]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3a4c86b-0e84-11f0-9ffb-bf95429c2676;
 Tue, 01 Apr 2025 01:06:23 +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: c3a4c86b-0e84-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743462382; x=1743721582;
	bh=SdBSfazbTf7ETSXxJ/9/JRpjBT4nbA/cZZmRLe9iXXo=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=ZkAT7aY9ciihxoUHuqNbDsECqz/6oeK0GS+Ea9FjR7UOYZdrhg3xTBaiqGYIjIlGn
	 JHSFxZ7iJMHKiCD2KZEsOWmZMUSsfcBv7RiZvIJx80Gho2Vtdu7HtHFPe73RXHaTrd
	 Tju9z/N53Db7VVeOiaZDeBCq4aGXs9NWmzfn/SiIded4iMzYv7E5dcmztHbAhB6eE/
	 BjSZPf8ifImIX3dFxxWrupHfpXbjBcL8j4OdHATpFBxfWs6YXq/1GgfzCd782xHZen
	 2cQ3uFWC2O6BXbuLRDQxC+UR948M6u0Unkou2czPgsOidzEjM1pOVazeZOaOtRPAtX
	 XddxIzjF506Sg==
Date: Mon, 31 Mar 2025 23:06:16 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 7/7] xen/console: introduce console_get_focus()
Message-ID: <20250331230508.440198-8-dmukhin@ford.com>
In-Reply-To: <20250331230508.440198-1-dmukhin@ford.com>
References: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 1ffe553bbbf65e1147056fde733ce3781ed5df05
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Add console_get_focus() as a console public API to the retrieve current
console owner domain ID.

Make console_{get,put}_domain() private and simplify vpl011 code a bit.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
 xen/arch/arm/vpl011.c      | 5 +----
 xen/drivers/char/console.c | 9 +++++++--
 xen/include/xen/console.h  | 3 +--
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 147958eee8..9ce6151c2a 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -78,12 +78,11 @@ static void vpl011_write_data_xen(struct domain *d, uin=
t8_t data)
     unsigned long flags;
     struct vpl011 *vpl011 =3D &d->arch.vpl011;
     struct vpl011_xen_backend *intf =3D vpl011->backend.xen;
-    struct domain *input =3D console_get_domain();
=20
     VPL011_LOCK(d, flags);
=20
     intf->out[intf->out_prod++] =3D data;
-    if ( d =3D=3D input )
+    if ( d->domain_id =3D=3D console_get_focus() )
     {
         if ( intf->out_prod =3D=3D 1 )
         {
@@ -123,8 +122,6 @@ static void vpl011_write_data_xen(struct domain *d, uin=
t8_t data)
     vpl011_update_interrupt_status(d);
=20
     VPL011_UNLOCK(d, flags);
-
-    console_put_domain(input);
 }
=20
 /*
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 9905ffd6b9..888dabe8af 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -484,12 +484,12 @@ static struct domain *console_get_domain_by_id(domid_=
t domid)
     return NULL;
 }
=20
-struct domain *console_get_domain(void)
+static struct domain *console_get_domain(void)
 {
     return console_get_domain_by_id(console_focus);
 }
=20
-void console_put_domain(struct domain *d)
+static void console_put_domain(struct domain *d)
 {
     if ( d )
         rcu_unlock_domain(d);
@@ -526,6 +526,11 @@ static bool cf_check console_set_focus(domid_t domid)
     return true;
 }
=20
+domid_t console_get_focus(void)
+{
+    return console_focus;
+}
+
 /*
  * Switch console focus.
  * Rotates input focus among Xen and domains with console input permission=
.
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index 83cbc9fbda..19da2b755c 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -32,8 +32,7 @@ void console_end_sync(void);
 void console_start_log_everything(void);
 void console_end_log_everything(void);
=20
-struct domain *console_get_domain(void);
-void console_put_domain(struct domain *d);
+domid_t console_get_focus(void);
=20
 /*
  * Steal output from the console. Returns +ve identifier, else -ve error.
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:10:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933164.1335206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOHI-0008Kw-Ac; Mon, 31 Mar 2025 23:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933164.1335206; Mon, 31 Mar 2025 23:10: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 1tzOHI-0008Kn-7c; Mon, 31 Mar 2025 23:10:48 +0000
Received: by outflank-mailman (input) for mailman id 933164;
 Mon, 31 Mar 2025 23:10: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=MI1n=WS=proton.me=dmkhn@srs-se1.protection.inumbo.net>)
 id 1tzOCl-00041G-Dc
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:06:07 +0000
Received: from mail-10628.protonmail.ch (mail-10628.protonmail.ch
 [79.135.106.28]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9f7c1f9-0e84-11f0-9ea7-5ba50f476ded;
 Tue, 01 Apr 2025 01:06: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: b9f7c1f9-0e84-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1743462364; x=1743721564;
	bh=yUXhOIFrBvxndgTJ0FE4JLOgaaCgGWn626ZFG9p4vGE=;
	h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
	 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
	 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
	b=cLVgyW5rQdC5hksr9jOmetIysG9h/yWKWnlzJNGbZ314rk2Ev1DxPXxxmSaNcb91C
	 cJnX19m9NLm9q3LFPK9FCwi4wGmEAPWIa8bNZC4GSWNgmnUZwZbBCOodMsBis83HOu
	 q6jAbEHEIn80ltllHeW4F/TbAN5UuiSOZW6W9RvkqQauIGEaJk0oHziTsi6EC8gqkm
	 te2T1frqQlxW4muz+1TMmwauBAxw9jrZiVgVxfXO/pLAEqsW8LD1CuyAKiQr9kz3/u
	 TfBTusKWaM3AXLaUqpVGHOl7hQdiWTiTdJtJWQuawC/mlor03+U1dZXEdodDtC4Ciy
	 55KyOCOcsJtYw==
Date: Mon, 31 Mar 2025 23:05:57 +0000
To: xen-devel@lists.xenproject.org
From: dmkhn@proton.me
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, dmukhin@ford.com
Subject: [PATCH v2 5/7] xen/console: rename console_rx to console_focus
Message-ID: <20250331230508.440198-6-dmukhin@ford.com>
In-Reply-To: <20250331230508.440198-1-dmukhin@ford.com>
References: <20250331230508.440198-1-dmukhin@ford.com>
Feedback-ID: 123220910:user:proton
X-Pm-Message-ID: 3f33fe318213ab227d7b2ccdc0f8d1b8cf3eb1db
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

From: Denis Mukhin <dmukhin@ford.com>

Update the symbol name in preparation for the semantic change
to the physical console input owner domain identifier.

No functional change.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v1:
- keep the original console_focus description
---
 xen/drivers/char/console.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 48da4e5838..42974c0af7 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -470,7 +470,7 @@ static void cf_check dump_console_ring_key(unsigned cha=
r key)
  * console_rx=3D1 =3D> input to dom0 (or the sole shim domain)
  * console_rx=3DN =3D> input to dom(N-1)
  */
-static unsigned int __read_mostly console_rx =3D 0;
+static unsigned int __read_mostly console_focus =3D 0;
=20
 #define max_console_rx (domid_top() + 1)
=20
@@ -491,9 +491,9 @@ static struct domain *console_get_domain_by_id(domid_t =
domid)
=20
 struct domain *console_get_domain(void)
 {
-    if ( console_rx =3D=3D 0 )
+    if ( console_focus =3D=3D 0 )
             return NULL;
-    return console_get_domain_by_id(console_rx - 1);
+    return console_get_domain_by_id(console_focus - 1);
 }
=20
 void console_put_domain(struct domain *d)
@@ -513,7 +513,7 @@ static bool console_is_input_allowed(domid_t domid)
=20
 static void console_switch_input(void)
 {
-    unsigned int next_rx =3D console_rx;
+    unsigned int next_rx =3D console_focus;
=20
     /*
      * Rotate among Xen, dom0 and boot-time created domUs while skipping
@@ -525,7 +525,7 @@ static void console_switch_input(void)
=20
         if ( next_rx++ >=3D max_console_rx )
         {
-            console_rx =3D 0;
+            console_focus =3D 0;
             printk("*** Serial input to Xen");
             break;
         }
@@ -537,7 +537,7 @@ static void console_switch_input(void)
=20
         if ( console_is_input_allowed(domid) )
         {
-            console_rx =3D next_rx;
+            console_focus =3D next_rx;
             printk("*** Serial input to DOM%u", domid);
             break;
         }
@@ -554,7 +554,7 @@ static void __serial_rx(char c)
     struct domain *d;
     int rc =3D 0;
=20
-    if ( console_rx =3D=3D 0 )
+    if ( console_focus =3D=3D 0 )
         return handle_keypress(c, false);
=20
     d =3D console_get_domain();
@@ -1135,7 +1135,7 @@ void __init console_endboot(void)
      * a useful 'how to switch' message.
      */
     if ( opt_conswitch[1] =3D=3D 'x' )
-        console_rx =3D max_console_rx;
+        console_focus =3D max_console_rx;
=20
     register_keyhandler('w', dump_console_ring_key,
                         "synchronously dump console ring buffer (dmesg)", =
0);
--=20
2.34.1




From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:42:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:42:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933216.1335216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOlQ-0007ES-Ic; Mon, 31 Mar 2025 23:41:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933216.1335216; Mon, 31 Mar 2025 23:41: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 1tzOlQ-0007EL-Fa; Mon, 31 Mar 2025 23:41:56 +0000
Received: by outflank-mailman (input) for mailman id 933216;
 Mon, 31 Mar 2025 23:41: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=qpMN=WS=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tzOlO-0007E9-Tn
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:41:55 +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 b7d53e00-0e89-11f0-9ea7-5ba50f476ded;
 Tue, 01 Apr 2025 01:41:52 +0200 (CEST)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfout.stl.internal (Postfix) with ESMTP id F02E611400DD;
 Mon, 31 Mar 2025 19:41:49 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-08.internal (MEProxy); Mon, 31 Mar 2025 19:41:50 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 31 Mar 2025 19:41:48 -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: b7d53e00-0e89-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:message-id:mime-version:reply-to:subject:subject:to:to; s=fm2;
	 t=1743464509; x=1743550909; bh=Vq0skPtc/7Zfqd0ocMyIzSaA5Qdeex4t
	/et4JtP4mmc=; b=hUtYJmxDrT2VgIOjlaZIP1t2sBW/E8TsSjDzZI5FbiZUBe9V
	VJVVVFioGRUqGaBGYQoDPwclo0YO2hUyqjeFpd+bEJ/z9L/cvdc6jq8olD6sKkTY
	hlA9icfLl+lq/L4x3nA0GSdoUYYgN2sdSVa3S/HzxEQCvF2v3UY1GJrjuodE6hIP
	Yp+jSFPgWwKCeD4x6Q9BK92YfGSrVN6FEQwc0yW7+oqIAQufzJel5abGJd4yOVCr
	K6sRIUQRmLyYzUF/HrP/vbH9aGh5fq1si4n/N+ngrPMClgL/o7807IPjaJh0csZV
	Viv1bqU/C7F0xxhFXcFNAEkEclnkoUSGZLvvhA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=1743464509; x=1743550909; bh=Vq0skPtc/7Zfqd0ocMyIzSaA5Qde
	ex4t/et4JtP4mmc=; b=banBgAyLK+XtzOpv0OCEbStKDKXoM5NAnk++tdD4hBP7
	7rfN1Txwe+66oSHpX35iD19xArVla4afwoxDvIe5Y5TaktoFgq+7RynfPyoZI5h2
	L7oAUJ8YjUSiMB/oO7U/Pwwq5JXEDS4jJLfbm01CcC3F5F0lD5d/6rNqpfp15RC+
	tYipFiFrmUU3ECNfYioUM3J0r9n1kRpEZi9qqv9/Mcg5k8QXnVrRC+tuO7+zdE2V
	15H2TsQMhPpTKnj8EfSYHlE+bvmqBzOxA5WdUtIOR+KF+KFj4TjfTScID7t0Cus2
	j8bKf1WY1uQMpHvGuTymiWWSEeDY2ZhmucfY7isWNA==
X-ME-Sender: <xms:PSjrZ-aMF4l7T1Q9prwvg7pIoETSS-hYwlawWtboymSTF4djUGYUZw>
    <xme:PSjrZxa-myd1mH9ICEWwhvU4Ryor8CBLPjbjYwndgsQaLHXkK3kp1zXViUNGBNA7K
    lb5V-mw3HGOqw>
X-ME-Received: <xmr:PSjrZ48LwBHmb6fB4uaF1gmWDLe7IZB6OTBC4UZPOufk6KU8VxfzyK-SAtUbd6RN8A7Tdd-8nPALHmA4KXs4enJQ-Mi02rSOHg8I5RnBo4VkGBEDr7Y>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddukeduvdeiucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf
    evufffkffogggtgfesthekredtredtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiih
    khhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvihhsihgslhgvth
    hhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepleekhfduleetleelleet
    teevfeefteffkeetteejheelgfegkeelgeehhfdthedvnecuvehluhhsthgvrhfuihiivg
    eptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgs
    lhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmh
    htphhouhhtpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhho
    jhgvtghtrdhorhhgpdhrtghpthhtohepmhgrrhhmrghrvghksehinhhvihhsihgslhgvth
    hhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:PSjrZwrS3geBNpWe6hl8yB5cEhK_QriVX2JHVaNS52rKfJ_hcYt_2Q>
    <xmx:PSjrZ5ouEBQOtOGI0NTaYWSf82IJ4DofLQFnXzzGlZj64xEsPpczxA>
    <xmx:PSjrZ-TPoBegkw1delqkAzrIyXNq_e8MBfWuDaJSWOCE5kac5nD39w>
    <xmx:PSjrZ5rtDFt-tXixDLwd_FO77GHCibaY6UsV-pbpxGo-TLp0QQNBsA>
    <xmx:PSjrZw21FMKrXOrA8z35pa9yTrXBbZxJHBxmK0ZRQk7so0eVP3gPBgB->
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH 0/2] CI: add another hw runner - KabyLake this time
Date: Tue,  1 Apr 2025 01:41:34 +0200
Message-ID: <cover.c37f01ae6ae3cbc9c0897f39de9037d7225d2c94.1743464494.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As usual, besides the patches, somebody need to click on "hal9003" runner in
the relevant projects.

Marek Marczykowski-GĂłrecki (2):
  ci: create boot.ipxe for legacy boot
  ci: add Intel KabyLake HW runner

 automation/gitlab-ci/test.yaml     | 89 +++++++++++++++++++++++++++++++-
 automation/scripts/qubes-x86-64.sh |  8 +++-
 2 files changed, 97 insertions(+)

base-commit: debe8bf537ec2c69a4734393cd2b0c7f57f74c0c
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:42:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:42:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933218.1335236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOlS-0007gM-71; Mon, 31 Mar 2025 23:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933218.1335236; Mon, 31 Mar 2025 23:41: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 1tzOlS-0007gF-3Y; Mon, 31 Mar 2025 23:41:58 +0000
Received: by outflank-mailman (input) for mailman id 933218;
 Mon, 31 Mar 2025 23:41: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=qpMN=WS=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tzOlQ-0007EK-MP
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:41:56 +0000
Received: from fhigh-b7-smtp.messagingengine.com
 (fhigh-b7-smtp.messagingengine.com [202.12.124.158])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b87e1ca0-0e89-11f0-9ffb-bf95429c2676;
 Tue, 01 Apr 2025 01:41:52 +0200 (CEST)
Received: from phl-compute-02.internal (phl-compute-02.phl.internal
 [10.202.2.42])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 5EA6625400CC;
 Mon, 31 Mar 2025 19:41:51 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Mon, 31 Mar 2025 19:41:51 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 31 Mar 2025 19:41:50 -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: b87e1ca0-0e89-11f0-9ffb-bf95429c2676
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	: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=1743464511; x=1743550911; bh=/CKM8n07sr
	qu1dURNdhOJvraxhra2/MXqD4MBPinp7g=; b=mdUhm3k9NR8qMGy+r3rKjJPMs3
	D+6SyDD2vPw8fj5aM5wsBYn2EWxuiP/PcYytSLzvtDwZiboyrMxKzsTBXY1VP32X
	FSXUAiC8DU0vbr8L/59dMeEKYun6V10XI0G/yfGWwgUtuOmJLGiFS4j2e+MB8gtI
	Ltg+xEZ4jtY37HwUJWDmr0/CxVopyDKG2mlaMdErbMyX/myg54BfQvN1hno0HRVC
	yIgcdQ4Wt0vnwaGi/wcpXDPVH41DOBqMiGy8Z7pF2tmAvi/zm3oTYzV4IzBHdn7R
	u+qJRqqfqk9/r7NA9fKDjyz5nfl7IBT8Sgb4wMnlHlh2YH+ZiWxuFWZPhz9Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=1743464511; x=
	1743550911; bh=/CKM8n07srqu1dURNdhOJvraxhra2/MXqD4MBPinp7g=; b=C
	5SJPCGSKqv/fLWkWp9UOsLAXQNydB+gynr9lVNU+8loAPcpcbRT0F0y2604tobYP
	qcS0g985TlETvbDYzMhIvo00/cjM7r+mVnS8xCgEbc7VWhJIQXw5TR7hM0vcyq2/
	Pzqqut/c8PpsQoAUKHGL46ECD2T3XfxgKH1zjuD02OAZlrDkAypzNv1pzZxfUULl
	NRo79AoudtrLmDK5GucB1YyDSpKipbJ59ZeHWB/QdT9bcHU4WnwdLiY5vN6/X+5C
	Idu/5DEwu+KOnb7Lg9G+ZQRKU7Q2OAktw4O1/r15R8bqQR5zwSpF00/zaJwP8TkB
	wmXGjCnusJEzkdmeaI6gA==
X-ME-Sender: <xms:PyjrZ0GivDjYsPG-kBLwS1stp-jMhwxbBKwNiioWnbF1vkpJ0EePBQ>
    <xme:PyjrZ9WX-dtmUgYIxwjWhedtxhrM1pg5UoDiBUJMPjiPBlIBAnvpXj1KwYv8RLm1W
    N-5CQp0i-1WNg>
X-ME-Received: <xmr:PyjrZ-Jba409QubaaAH80oqDqM7e7l_W1WU9pvfF7rJNtTfntoG8nOdEP0Kjl6ezDTa94f7mMBphBMm-YxS_e_L3YoQz-0p1HaS0Kt9lFoNLKYQHw3Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddukeduvdeiucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhggtgfgsehtkeertder
    tdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkih
    cuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeen
    ucggtffrrghtthgvrhhnpefgueduhefgvdefheehudejheefudevueeghfekhfehleegve
    duteeuiedugffgffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl
    fhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmpdhnsggprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeig
    vghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphhtth
    hopehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhr
    tghpthhtoheptggrrhguohgvsegtrghrughovgdrtghomhdprhgtphhtthhopehsshhtrg
    gsvghllhhinhhisehkvghrnhgvlhdrohhrgh
X-ME-Proxy: <xmx:PyjrZ2GXfqBMLS8j0bvps95i5bAUyfbwjUQRsLjOsblT6IBEaP33Gw>
    <xmx:PyjrZ6Vel_lloMThiDLtpuK0DlELyBmJWyo_vwEYG4QJaG17VnvF-Q>
    <xmx:PyjrZ5Mmfhtl6_OobU8b2D5hHVwlBMFD3W7anVjbeJs--BCsMKLwmg>
    <xmx:PyjrZx0QgIfIyLyJ_cMiodoJl6SJ515kYcgsc95LI_iDGFLBhyYBbw>
    <xmx:PyjrZ4ylpq07UhvNZUNouRJkN__4KaY5da4H89kdvuq6W3NCLxLQiVz_>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/2] ci: create boot.ipxe for legacy boot
Date: Tue,  1 Apr 2025 01:41:35 +0200
Message-ID: <d9443966db489ac14081d26ddb34f5d2f03f310b.1743464494.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <cover.c37f01ae6ae3cbc9c0897f39de9037d7225d2c94.1743464494.git-series.marmarek@invisiblethingslab.com>
References: <cover.c37f01ae6ae3cbc9c0897f39de9037d7225d2c94.1743464494.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hardware runners that use legacy boot use iPXE instead of grub2. Create
boot.ipxe for those too - with exact same options.

Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
---
Right now this applies to KBL (hw3) runner. And not many more, as newer
systems support UEFI network boot.
---
 automation/scripts/qubes-x86-64.sh | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index 7c80e0c23318..f27296445901 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -251,6 +251,14 @@ module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
 module2 (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
+module /gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen || reboot
+module /gitlab-ci/initrd-dom0 || reboot
+boot
+" > $TFTP/boot.ipxe
+
 cp -f binaries/xen $TFTP/xen
 cp -f binaries/bzImage $TFTP/vmlinuz
 cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:42:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:42:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933217.1335223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOlR-0007Lc-11; Mon, 31 Mar 2025 23:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933217.1335223; Mon, 31 Mar 2025 23:41: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 1tzOlQ-0007Jw-RC; Mon, 31 Mar 2025 23:41:56 +0000
Received: by outflank-mailman (input) for mailman id 933217;
 Mon, 31 Mar 2025 23:41: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=qpMN=WS=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1tzOlP-0007E9-Gz
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:41:55 +0000
Received: from fhigh-b7-smtp.messagingengine.com
 (fhigh-b7-smtp.messagingengine.com [202.12.124.158])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9ba9069-0e89-11f0-9ea7-5ba50f476ded;
 Tue, 01 Apr 2025 01:41:54 +0200 (CEST)
Received: from phl-compute-11.internal (phl-compute-11.phl.internal
 [10.202.2.51])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 64CE425401C1;
 Mon, 31 Mar 2025 19:41:53 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-11.internal (MEProxy); Mon, 31 Mar 2025 19:41:53 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 31 Mar 2025 19:41:51 -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: b9ba9069-0e89-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	: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=1743464513; x=1743550913; bh=6taB5AKLCg
	AteYa5L4VQBlP/oIhsp6KAWxosy/Sm+y0=; b=OQHs5WfC243oIFQLh65vLu1NtN
	F+/HUO+p67VZ0+g8v88/XVvqkioO+hhv73yg6rDCQ7OIdujgHILQvo6lU2xDPu3d
	9sM4//ptpVX2bCJC3CLtK6C4Srk9paqmCIMD8M9ztUU9OKLR4BZCAXxP8TXPqcmr
	0u3rlcmM8vgglxmvyIqJdwJB2ZVLhUXMUSoWzIwkhw7CZJ8QD6AiUc1S0Scj/9dh
	P3XI5dt5PxRDJPV7pXDwQivPhO91a0QH9+CR25bHg1JuyaYhFPekxPTEh4D5haA0
	WRgVWp/ZCPuk5zihO+IBjyh8veFgKFxwEMV3wL9vf1W3dVEpOMm1IFTUBYBg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	: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=1743464513; x=
	1743550913; bh=6taB5AKLCgAteYa5L4VQBlP/oIhsp6KAWxosy/Sm+y0=; b=p
	XM8ZrDcl3LXlyIUmMWrgUFyPvI5CnEYp3ZmtubhtCSrTnUVztZ8jtkC4yHw3inBw
	ceavDFGfvyg7YVA/5njyjyGcA7DN1VpojtbELloF3YLm973qOiwN0B1zvI/G6pa9
	KG1OmNbN48v/syFf8Tp4nolC2cG4NLa4tCXFEeTZw1ApTyiGzlMvZknIgFHDH99E
	mpaUCq+tEKcljF/7cCsxgY0k7d90WmrV9TPQi+ZwG4kulj1SqysQDolCSOTZdPjd
	vUHZRqtoz/oKhAicsGz23q/VWbH5FiXIsnr4IOxBmjv4wwBoI7BMB4Bv3X7HLdbc
	4hcseVZFdptMHex6XTZ+w==
X-ME-Sender: <xms:QCjrZ72Lkh0ds7V-AVw3h419LF_WM80kQqOaq4huBF-lwHuhrpbQPQ>
    <xme:QCjrZ6FpI0FP3vUxDbEnX-eCQYDCrm0ZXG-r9C5oUpGJJZ06nYUCoa201yx6VZzgN
    4lDeTMltY2fqg>
X-ME-Received: <xmr:QCjrZ773xoIGg-tB-VwvXl4bFh4IPjulsqWE4v-8bk2j5LJRPfBAj9PyR1kTbt0YjOToLsSlEmmS9VVP_Yo9EUKLQd8zTsCOYzf78hb8n_ACShAQqJ0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddukeduvdeiucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhggtgfgsehtkeertder
    tdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkih
    cuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeen
    ucggtffrrghtthgvrhhnpefgueduhefgvdefheehudejheefudevueeghfekhfehleegve
    duteeuiedugffgffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl
    fhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmpdhnsggprhgtphhtthhopeeipdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeig
    vghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphhtth
    hopehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhr
    tghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurh
    gvfidrtghoohhpvghrfeestghithhrihigrdgtohhmpdhrtghpthhtoheptggrrhguohgv
    segtrghrughovgdrtghomhdprhgtphhtthhopehsshhtrggsvghllhhinhhisehkvghrnh
    gvlhdrohhrgh
X-ME-Proxy: <xmx:QCjrZw2cV93WmeQzAAK-ah9ptLlfmjpiKsk9diFEAGHS2WXbx7BGLg>
    <xmx:QCjrZ-HjwFI7e8UrRtQg2kpcBHe_qUw3iwFGo4xRdqnA_W8Sq7sj2A>
    <xmx:QCjrZx_JLzsSTNM-MEF50EPIxsfnesVsasdwAe8vMcLMcZgfXRWAgQ>
    <xmx:QCjrZ7kNPN_wgNmjOFSLtfAQr1wphgWds7AIKbY1r7hU57XXVtDrWQ>
    <xmx:QSjrZz5aXoTHndbBmfDKm2SPQT_ZY0aLkYAoTIkfSonrEFzM-SK51SLW>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/2] ci: add Intel KabyLake HW runner
Date: Tue,  1 Apr 2025 01:41:36 +0200
Message-ID: <c92c7baeb09883dbbfc493c0abc1e9576533cffa.1743464494.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <cover.c37f01ae6ae3cbc9c0897f39de9037d7225d2c94.1743464494.git-series.marmarek@invisiblethingslab.com>
References: <cover.c37f01ae6ae3cbc9c0897f39de9037d7225d2c94.1743464494.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is Intel i7-7567U in NUC 7i7BNH. This one is an older one, with no
firmware updates (last update from 2023) and no microcode udpates
either. While this firmware supports UEFI, network boot works only in
legacy mode - thus legacy is used here (via iPXE, instead of grub2.efi).
Testing legacy boot path may be a useful thing on its own.

Add the same set of tests as on ADL runner.

Signed-off-by: Marek Marczykowski-GĂłrecki <marmarek@invisiblethingslab.com>
---
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>

Not sure if duplicating pvshim test makes sense? Others do look like may
have hardware-sensitive parts.
---
 automation/gitlab-ci/test.yaml | 89 +++++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 225eb4399807..d05b9a98afa6 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -155,6 +155,17 @@
   tags:
     - qubes-hw2
 
+.kbl-x86-64:
+  # it's really similar to the ADL one
+  extends: .adl-x86-64
+  variables:
+    PCIDEV: "00:1f.6"
+    PCIDEV_INTR: "MSI"
+    CONSOLE_OPTS: "console=com1 com1=115200,8n1,pci,msi"
+    SUT_ADDR: test-3.testnet
+  tags:
+    - qubes-hw3
+
 .zen2-x86-64:
   # it's really similar to the above
   extends: .adl-x86-64
@@ -312,6 +323,84 @@ adl-tools-tests-pvh-x86-64-gcc-debug:
     - *x86-64-test-needs
     - alpine-3.18-gcc-debug
 
+kbl-smoke-x86-64-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-smoke-x86-64-dom0pvh-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-suspend-x86-64-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-pci-pv-x86-64-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-pci-hvm-x86-64-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-pvshim-x86-64-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-tools-tests-pv-x86-64-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
+  artifacts:
+    reports:
+      junit: tests-junit.xml
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
+kbl-tools-tests-pvh-x86-64-gcc-debug:
+  extends: .kbl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh tools-tests-pvh 2>&1 | tee ${LOGFILE}
+  artifacts:
+    reports:
+      junit: tests-junit.xml
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-debug
+
 zen2-smoke-x86-64-gcc-debug:
   extends: .zen2-x86-64
   script:
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 31 23:56:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Mar 2025 23:56:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.933254.1335246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1tzOzY-0002ht-D9; Mon, 31 Mar 2025 23:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 933254.1335246; Mon, 31 Mar 2025 23: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 1tzOzY-0002hm-AA; Mon, 31 Mar 2025 23:56:32 +0000
Received: by outflank-mailman (input) for mailman id 933254;
 Mon, 31 Mar 2025 23: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=gXwC=WS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1tzOzW-0002he-VE
 for xen-devel@lists.xenproject.org; Mon, 31 Mar 2025 23:56:30 +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 c3036042-0e8b-11f0-9ea7-5ba50f476ded;
 Tue, 01 Apr 2025 01:56:29 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 43A8561161;
 Mon, 31 Mar 2025 23:56:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C171C4CEE3;
 Mon, 31 Mar 2025 23:56:26 +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: c3036042-0e8b-11f0-9ea7-5ba50f476ded
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1743465387;
	bh=/PT4CScjMTzjF20rM8VreHABVZnX/Sw61nigYjSrUcI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nm5EnslJ1FdxlVNbndIPW673O8vgLZmyH+JSbBRLJO9OB97G5CTnLcvsxOZMVoXTL
	 dHtomgNqx82jP90qXrT32gF9cCdZCLqTHXXpXQIMNjrZ8pH00BbktOKwtmAlPBhBMP
	 809Yo3c7NuB8N91kJah34LulTiVG9DXVzfZTNTpGQSNatfHbe0UE9mM4UBYa0kqXfK
	 oJBGDVX2UkASBspVG1cQE1xLcA3Dr7qUPStPl+8CwkdIlB//+9wGI6xT8NidbWk2kH
	 M1ODOGJebouW9/gQSpmplvZjn4e/pqCMybXa5KPBsjIHdrb9wpeMvNi9XYWC76ygPe
	 y1epQGgIwMspg==
Date: Mon, 31 Mar 2025 16:56:24 -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, julien@xen.org, 
    michal.orzel@amd.com, bertrand.marquis@arm.com, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] xen: simplify bitmap_to_xenctl_bitmap for little
 endian
In-Reply-To: <217ed304-ca5d-4422-a187-da5493cecb5e@suse.com>
Message-ID: <alpine.DEB.2.22.394.2503311656190.563920@ubuntu-linux-20-04-desktop>
References: <20250327233419.1119763-1-stefano.stabellini@amd.com> <217ed304-ca5d-4422-a187-da5493cecb5e@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII



On Mon, 31 Mar 2025, Jan Beulich wrote:

> On 28.03.2025 00:34, Stefano Stabellini wrote:
> > --- a/xen/common/bitmap.c
> > +++ b/xen/common/bitmap.c
> > @@ -52,7 +52,7 @@ static void clamp_last_byte(uint8_t *bp, unsigned int nbits)
> >  	unsigned int remainder = nbits % 8;
> >  
> >  	if (remainder)
> > -		bp[nbits/8] &= (1U << remainder) - 1;
> > +		*bp &= (1U << remainder) - 1;
> >  }
> 
> Technically there's nothing wrong with dropping the if(), I think. Even more
> so then than now, ...
> 
> > @@ -338,7 +338,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
> >  			nbits -= 8;
> >  		}
> >  	}
> > -	clamp_last_byte(bp, nbits);
> >  }
> >  
> >  static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
> > @@ -363,7 +362,6 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
> >  				unsigned int nbits)
> >  {
> >  	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
> > -	clamp_last_byte(bp, nbits);
> >  }
> 
> ... with the two prior call sites now shrunk to ...
> 
> > @@ -384,21 +382,41 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
> >      uint8_t zero = 0;
> >      int err = 0;
> >      unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
> > -    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> > -
> > -    if ( !bytemap )
> > -        return -ENOMEM;
> > +    uint8_t last;
> >  
> >      guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
> >      copy_bytes  = min(guest_bytes, xen_bytes);
> >  
> > -    bitmap_long_to_byte(bytemap, bitmap, nbits);
> > +    if ( IS_ENABLED(__BIG_ENDIAN) )
> > +    {
> > +        uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
> >  
> > -    if ( copy_bytes &&
> > -         copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes) )
> > -        err = -EFAULT;
> > +        if ( !bytemap )
> > +            return -ENOMEM;
> >  
> > -    xfree(bytemap);
> > +        bitmap_long_to_byte(bytemap, bitmap, nbits);
> > +        last = bytemap[nbits / 8];
> > +
> > +        if ( copy_bytes > 1 &&
> > +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> > +            err = -EFAULT;
> > +
> > +        xfree(bytemap);
> > +    }
> > +    else
> > +    {
> > +        const uint8_t *bytemap = (const uint8_t *)bitmap;
> > +        last = bytemap[nbits / 8];
> > +
> > +        if ( copy_bytes > 1 &&
> > +             copy_to_guest(xenctl_bitmap->bitmap, bytemap, copy_bytes - 1) )
> > +            err = -EFAULT;
> > +    }
> > +
> > +    clamp_last_byte(&last, nbits);
> 
> ... just one, I wonder if that being a separate function is actually still
> necessary.
> 
> As indicated before, I think it would be nice if the two identical copy-out
> operations could also be folded.
 
Please see: https://marc.info/?l=xen-devel&m=174319650100975

Other than that, I addressed all the other points


